ZGlmZiAtLWdpdCBhL0NIQU5HRVMgYi9DSEFOR0VTCmluZGV4IDM1OWUxMGQuLjg0ZTFkYmQgMTAwNjQ0Ci0tLSBhL0NIQU5HRVMKKysrIGIvQ0hBTkdFUwpAQCAtMSwzICsxLDM4OCBAQAorVGhpcyBkb2N1bWVudCBkZXRhaWxzIHRoZSBjaGFuZ2VzIGJldHdlZW4gdGhpcyB2ZXJzaW9uLCBiYXNoLTQuMi1yZWxlYXNlLAorYW5kIHRoZSBwcmV2aW91cyB2ZXJzaW9uLCBiYXNoLTQuMi1yYzIuCisKKzEuICBDaGFuZ2VzIHRvIEJhc2gKKworYS4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHNvbWUgdmFyaWFibGVzIHRvIGJlIGNsb2JiZXJlZCBieSBhIGxvbmdqbXAsCisgICAgcmVzdWx0aW5nIGluIHN0YWNrIGNvcnJ1cHRpb24uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVGhpcyBkb2N1bWVudCBkZXRhaWxzIHRoZSBjaGFuZ2VzIGJldHdlZW4gdGhpcyB2ZXJzaW9uLCBiYXNoLTQuMi1yYzIsCithbmQgdGhlIHByZXZpb3VzIHZlcnNpb24sIGJhc2gtNC4yLXJjMS4KKworMS4gIENoYW5nZXMgdG8gQmFzaAorCithLiAgQ2hhbmdlcyB0byBiYXNoX2RpcmVjdG9yeV9jb21wbGV0aW9uX2hvb2sgc28gdGhhdCBpdCdzIGFzc2lnbmVkIHRvIHRoZQorICAgIHJlYWRsaW5lIHJsX2RpcmVjdG9yeV9yZXdyaXRlX2hvb2sgdmFyaWFibGUsIHdoaWNoIG1vZGlmaWVzIHRoZSBkaXJlY3RvcnkKKyAgICBuYW1lIHBhc3NlZCB0byBvcGVuZGlyIHdpdGhvdXQgbW9kaWZ5aW5nIHRoZSBkaXJlY3RvcnkgbmFtZSB0aGUgdXNlcgorICAgIHR5cGVkLgorCitiLiAgRml4ZWQgYnVnIGluIHNlbGVjdCBidWlsdGluIHRoYXQgY2F1c2VkIGl0IHRvIG5vdCB0ZXJtaW5hdGUgY29ycmVjdGx5IGlmCisgICAgdGhlIHJlYWQgdGltZWQgb3V0IGR1ZSB0byAkVE1PVVQuCisKK2MuICBGaXhlZCBhIHByb2JsZW0gdGhhdCByZXN1bHRlZCBpbiBub24tcmVwZWF0YWJsZSBzZXF1ZW5jZXMgb2YgcmFuZG9tCisgICAgbnVtYmVycyB3aGVuIFJBTkRPTT0wLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RoaXMgZG9jdW1lbnQgZGV0YWlscyB0aGUgY2hhbmdlcyBiZXR3ZWVuIHRoaXMgdmVyc2lvbiwgYmFzaC00LjItcmMxLAorYW5kIHRoZSBwcmV2aW91cyB2ZXJzaW9uLCBiYXNoLTQuMi1iZXRhLgorCisxLiAgQ2hhbmdlcyB0byBCYXNoCisKK2EuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBzb21lIHJlZGlyZWN0aW9uIGVycm9ycyB0byBsZWFrIGZpbGUgZGVzY3JpcHRvcnMuCisKK2IuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB1bmFyeSBgKycgYW5kIGAtJyBhcml0aG1ldGljIG9wZXJhdG9ycyB0byBoYXZlIGEKKyAgICBoaWdoZXIgcHJlY2VkZW5jZSB0aGFuIHVuYXJ5IGAhJyBhbmQgYH4nLgorCitjLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgc2ltcGxlIGNvbW1hbmRzIGluIGEgcGlwZWxpbmUgdG8gYWZmZWN0IHRoZSBleGl0CisgICAgc3RhdHVzICgkPykgc2VlbiBieSBzdWJzZXF1ZW50IHBpcGVsaW5lIGNvbW1hbmRzLgorCitkLiAgQSBudW1iZXIgb2YgY3lnd2luLXNwZWNpZmljIGNoYW5nZXMgdG8gYXZvaWQgdGhlIHVzZSBvZiB0ZXh0LW1vZGUgZmlsZXMKKyAgICBhbmQgZmlsZSBhY2Nlc3MsIGFuZCB0byBtYWtlIHN1cmUgdGhhdCBcciBpcyBoYW5kbGVkIGNvcnJlY3RseS4KKworZS4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHRoZSByZWFkIGJ1aWx0aW4gdG8gbm90IHJldHVybiBmYWlsdXJlIGlmIGFuCisgICAgYXR0ZW1wdCBpcyBtYWRlIHRvIGFzc2lnbiB0byBhIHJlYWRvbmx5IHZhcmlhYmxlLgorCitmLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgc29tZSBidWlsdGluIHVzYWdlIG1lc3NhZ2VzIHRvIG5vdCBiZSB0cmFuc2xhdGVkLgorCitnLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdGhlIGdldG9wdHMgYnVpbHRpbiB0byBub3QgcmV0dXJuIGZhaWx1cmUgaWYgYW4KKyAgICBhdHRlbXB0IGlzIG1hZGUgdG8gYXNzaWduIHRvIGEgcmVhZG9ubHkgdmFyaWFibGUuICBOb3cgaXQgcmV0dXJucyAyLgorCitoLiAgRml4ZWQgdGhlIGNkIGFuZCBwd2QgYnVpbHRpbnMgdG8gcmV0dXJuIGZhaWx1cmUgaWYgUFdEIGlzIHJlYWRvbmx5IGFuZAorICAgIGNhbm5vdCBiZSBhc3NpZ25lZCB0by4KKworaS4gIEFkZGVkIGNvZGUgdG8gY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBvZiBhY2Nlc3MoMikgb24gU29sYXJpcyBzeXN0ZW1zLAorICAgIHNpbmNlIGl0IHJldHVybnMgc3VjY2VzcyBmb3IgZXhlY3V0YWJsZSB0ZXN0cyAoZS5nLiwgYHRlc3QgLXgnKSB3aGVuCisgICAgcnVuIGJ5IHJvb3QsIGV2ZW4gaWYgdGhlIGZpbGUgcGVybWlzc2lvbnMgZG9uJ3QgYWxsb3cgZXhlY3V0aW9uLgorCisyLiAgQ2hhbmdlcyB0byBSZWFkbGluZQorCithLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgZGlyZWN0b3J5IG5hbWVzIGluIHdvcmRzIHRvIGJlIGNvbXBsZXRlZCB0byBub3QKKyAgICBiZSBkZXF1b3RlZCBjb3JyZWN0bHkuCisKKzMuICBOZXcgRmVhdHVyZXMgaW4gQmFzaAorCis0LiAgTmV3IEZlYXR1cmVzIGluIFJlYWRsaW5lCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVGhpcyBkb2N1bWVudCBkZXRhaWxzIHRoZSBjaGFuZ2VzIGJldHdlZW4gdGhpcyB2ZXJzaW9uLCBiYXNoLTQuMi1iZXRhLAorYW5kIHRoZSBwcmV2aW91cyB2ZXJzaW9uLCBiYXNoLTQuMi1hbHBoYS4KKworMS4gIENoYW5nZXMgdG8gQmFzaAorCithLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdGhlIFxXIHByb21wdCBzdHJpbmcgZXNjYXBlIHRvIG5vdCBhZGQgYSBjbG9zaW5nCisgICAgTlVMTC4KKworYi4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHBhcnRpYWxseS1xdW90ZWQgd29yZHMgdGhhdCB3ZXJlIG5vdCBzdWJqZWN0IHRvCisgICAgd29yZCBzcGxpdHRpbmcgdG8gcmV0YWluZWQgcXVvdGVkIE5VTExzLgorCitjLiAgQWRkZWQgY29uc2lkZXJhYmxlIGVmZmljaWVuY3kgc3BlZWR1cHMgd2hlbiBwYXR0ZXJuIG1hdGNoaW5nIGluIG11bHRpYnl0ZQorICAgIGxvY2FsZXMgYnkgc2tpcHBpbmcgbXVsdGlieXRlIGNoYXJhY3RlciBmdW5jdGlvbnMgd2hlcmUgcG9zc2libGUuCisKK2QuICBBZGRlZCBjb25zaWRlcmFibGUgc3BlZWR1cHMgdG8gdmFyaWFibGUgZXhwYW5zaW9uIHdoZW4gaW4gbXVsdGlieXRlIGxvY2FsZXMuCisKK2UuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgZXhwYW5zaW9uIG9mICQqIHdoZW4gdGhlcmUgYXJlIG5vIHBvc2l0aW9uYWwKKyAgICBwYXJhbWV0ZXJzIHRvIGNhdXNlIHRoZSBzaGVsbCB0byBkdW1wIGNvcmUgd2hlbiB1c2VkIGluIGEgcGF0dGVybgorICAgIG1hdGNoaW5nIGNvbnRleHQuCisKK2YuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB2YXJpYWJsZSBleHBhbnNpb25zIHByZWNlZGluZyByZWd1bGFyIGJ1aWx0aW5zIHRvCisgICAgbm90IGNoYW5nZSB0aGUgc2hlbGwgZW52aXJvbm1lbnQgZHVyaW5nIHRoZWlyIGV4ZWN1dGlvbi4KKworMi4gIENoYW5nZXMgdG8gUmVhZGxpbmUKKworYS4gIEZpeGVkIGEgYnVnIHRoYXQgbWFkZSBhbiBleHBsaWNpdCBhcmd1bWVudCBvZiAwIHRvIHlhbmstbGFzdC1hcmcgYmVoYXZlCisgICAgYXMgaWYgaXQgd2VyZSBhIG5lZ2F0aXZlIGFyZ3VtZW50LgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK1RoaXMgZG9jdW1lbnQgZGV0YWlscyB0aGUgY2hhbmdlcyBiZXR3ZWVuIHRoaXMgdmVyc2lvbiwgYmFzaC00LjItYWxwaGEsCithbmQgdGhlIHByZXZpb3VzIHZlcnNpb24sIGJhc2gtNC4xLXJlbGVhc2UuCisKKzEuICBDaGFuZ2VzIHRvIEJhc2gKKworYS4gIEZpeGVkIGEgYnVnIGluIHRoZSBwYXJzZXIgd2hlbiBwcm9jZXNzaW5nIGFsaWFzIGV4cGFuc2lvbnMgY29udGFpbmluZworICAgIHF1b3RlZCBuZXdsaW5lcy4KKworYi4gIEZpeGVkIGEgbWVtb3J5IGxlYWsgaW4gYXNzb2NpYXRpdmUgYXJyYXkgZXhwYW5zaW9uLgorCitjLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgcXVvdGVkIGhlcmUtc3RyaW5ncyB0byBiZSByZXF1b3RlZCB3aGVuIHByaW50ZWQuCisKK2QuICBGaXhlZCBhIGJ1ZyBpbiBhcml0aG1ldGljIGV4cGFuc2lvbiB0aGF0IGNhdXNlZCB0aGUgaW5kZXggaW4gYW4gYXJyYXkKKyAgICBleHBhbnNpb24gdG8gYmUgZXZhbHVhdGVkIHR3aWNlIHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcy4KKworZS4gIEZpeGVkIHNldmVyYWwgYnVncyB3aXRoIHRoZSBleHBhbnNpb24gYW5kIGRpc3BsYXkgb2YgdmFyaWFibGVzIHRoYXQgaGF2ZQorICAgIGJlZW4gZ2l2ZW4gYXR0cmlidXRlcyBidXQgbm90IHZhbHVlcyBhbmQgYXJlIHRlY2huaWNhbGx5IHVuc2V0LgorCitmLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgY29yZSBkdW1wcyB3aGVuIHVzaW5nIGZpbGVuYW1lIGNvbXBsZXRpb24gdGhhdAorICAgIGV4cGFuZHMgdG8gYSBmaWxlbmFtZSBjb250YWluaW5nIGEgZ2xvYmJpbmcgY2hhcmFjdGVyLgorCitnLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgYXNzaWdubWVudCBzdGF0ZW1lbnRzIHByZWNlZGluZyBhIHNwZWNpYWwgYnVpbHRpbgorICAgIHdoZW4gcnVubmluZyBpbiBQb3NpeCBtb2RlIHRvIG5vdCBwZXJzaXN0IGFmdGVyIHRoZSBidWlsdGluIGNvbXBsZXRlZAorICAgIHdoZW4gdGhlIHNwZWNpYWwgYnVpbHRpbiB3YXMgZXhlY3V0ZWQgaW4gYSBzaGVsbCBmdW5jdGlvbiB3aXRob3V0IGFueQorICAgIGxvY2FsIHZhcmlhYmxlcy4KKworaC4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIGEgY29tbWFuZCB0byByZW1haW4gaW4gdGhlIGhhc2ggdGFibGUgZXZlbiBhZnRlcgorICAgIGBoYXNoIGNvbW1hbmQnIGRpZCBub3QgZmluZCBhbnl0aGluZyBpZiB0aGVyZSB3YXMgYWxyZWFkeSBhbiBleGlzdGluZworICAgIGhhc2hlZCBwYXRobmFtZS4KKworaS4gIEZpeGVkIHNldmVyYWwgYnVncyBjYXVzZWQgYnkgZXhlY3V0aW5nIHVuc2FmZSBmdW5jdGlvbnMgZnJvbSBhIHNpZ25hbAorICAgIGhhbmRsZXIgaW4gdGhlIGNhc2VzIHdoZXJlIGEgc2lnbmFsIGhhbmRsZXIgaXMgZXhlY3V0ZWQgaW1tZWRpYXRlbHkKKyAgICByYXRoZXIgdGhhbiBzZXR0aW5nIGEgZmxhZyBmb3IgbGF0ZXIgZXhlY3V0aW9uLgorCitqLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgc29tZSBpbnRlcm5hbCBmbGFnIHZhcmlhYmxlcyB0byBiZSBzZXQKKyAgICBpbmNvcnJlY3RseSBpZiBgcmVhZCAtdCcgdGltZWQgb3V0LgorCitrLiAgRml4ZWQgYSBQb3NpeCBjb21wYXRpYmlsaXR5IGlzc3VlIGJ5IG1ha2luZyBzdXJlIHRoYXQgYSBiYWNrc2xhc2ggZXNjYXBpbmcKKyAgICBhIGB9JyB3aXRoaW4gYSBkb3VibGUtcXVvdGVkICR7Li4ufSBwYXJhbWV0ZXIgZXhwYW5zaW9uIGlzIHJlbW92ZWQgYXMgcGFydAorICAgIG9mIHRoZSBwYXJhbWV0ZXIgZXhwYW5zaW9uLgorCitsLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgZXhlY3V0aW9uIG9mIGEgdHJhcCB0byBvdmVyd3JpdGUgUElQRVNUQVRVUy4KKworbS4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIGhlcmUgZG9jdW1lbnRzIHRvIG5vdCBiZSBkaXNwbGF5ZWQgY29ycmVjdGx5CisgICAgd2hlbiBhdHRhY2hlZCB0byBjb21tYW5kcyBpbnNpZGUgY29tcG91bmQgY29tbWFuZHMuCisKK24uICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgcHJpbnRmIGJ1aWx0aW4gdG8gdXNlIHRoZSB3cm9uZyBwcmVjaXNpb24KKyAgICB3aGVuIHVzaW5nIHRoZSBgKicgbW9kaWZpZXIuCisKK28uICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBhbiBhcnJpdmluZyBTSUdDSExEIHRvIGludGVycnVwdCBvdXRwdXQgZnVuY3Rpb25zCisgICAgbGlrZSB0aG9zZSBpbnZva2VkIGJ5IGVjaG8gb3IgcHJpbnRmLgorCitwLiAgQ2hhbmdlZCB0byB1c2UgYSBtb3JlIHJvYnVzdCBtZWNoYW5pc20gdGhhbiBlYWNjZXNzKDIpIHdoZW4gdGVzdCBpcworICAgIGNoZWNraW5nIGZpbGVuYW1lcyBmb3IgZXhlY3V0aW9uIHBlcm1pc3Npb24uCisKK3EuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBzcHVyaW91cyBzZW1pY29sb25zIHRvIGJlIGFkZGVkIGludG8gdGhlIGNvbW1hbmQKKyAgICBoaXN0b3J5IGluIGNlcnRhaW4gY2FzZXMuCisKK3IuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgc2hlbGwgdG8gZnJlZSBub24tYWxsb2NhdGVkIG1lbW9yeSB3aGVuCisgICAgdW5zZXR0aW5nIGVsZW1lbnQgMCBvZiBhbiBhc3NvY2lhdGl2ZSBhcnJheSBhZnRlciBpdCB3YXMgYXNzaWduZWQKKyAgICBpbXBsaWNpdGx5LgorCitzLiAgRml4ZWQgYSBidWcgdGhhdCBjb3VsZCBjYXVzZSB0aGUgc2hlbGwgdG8gZHVtcCBjb3JlIGlmIHVzaW5nIHRoZSBgdicKKyAgICB2aSBlZGl0aW5nIGNvbW1hbmQgb24gYSBtdWx0aS1saW5lIGNvbW1hbmQuCisKK3QuICBGaXhlZCBhIGJ1ZyB0aGF0IGxlZnQgRklGT3Mgb3BlbmVkIGJ5IHByb2Nlc3Mgc3Vic3RpdHV0aW9ucyBvcGVuIGxvbmcKKyAgICBlbm91Z2ggdG8gcG90ZW50aWFsbHkgY2F1c2UgZmlsZSBkZXNjcmlwdG9yIGV4aGF1c3Rpb24gd2hlbiBydW5uaW5nIGEKKyAgICBzaGVsbCBmdW5jdGlvbiBvciBzaGVsbCBidWlsdGluLgorCit1LiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdGhlIGhpc3RvcnkgZXhwYW5zaW9uIGZ1bmN0aW9ucyB0byBub3QgcmVjb2duaXplCisgICAgcHJvY2VzcyBzdWJzdGl0dXRpb24gb3IgZXh0ZW5kZWQgZ2xvYiBwYXR0ZXJucyBhcyBzaW5nbGUgd29yZHMuCisKK3YuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCByZXN0cmljdGVkIHNoZWxscyB0byBzZXQgYSByZXN0cmljdGVkIGNvbW1hbmQncworICAgIGV4aXQgc3RhdHVzIGluY29ycmVjdGx5LgorCit3LiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgYmFzaCB0byBpZ25vcmUgdGhlIHdyb25nIHNldCBvZiBmaWxlbmFtZXMgd2hlbgorICAgIGNvbXBsZXRpbmcgYSBjb21tYW5kIHVzaW5nIHRoZSBgY29tcGxldGUtZmlsZW5hbWUnIHJlYWRsaW5lIGNvbW1hbmQuCisKK3guICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBhIC1QSUQgYXJndW1lbnQgZm9sbG93aW5nIGEgLXMgc2lnIG9yIC1uIHNpZyB0bworICAgIG5vdCBiZSBpbnRlcnByZXRlZCBhcyBhIHNpZ25hbCBzcGVjaWZpY2F0aW9uLgorCit5LiAgQ2hhbmdlZCBwb3NpeC1tb2RlIGJlaGF2aW9yIG9mIGEgcGFyc2UgZXJyb3IgaW4gYSBgLicgc2NyaXB0IG9yIGBldmFsJworICAgIGNvbW1hbmQgdG8gZXhpdCB0aGUgc2hlbGwgdW5kZXIgUG9zaXgtc3BlY2lmaWVkIGNvbmRpdGlvbnMuICBQcmV2aW91cworICAgIHZlcnNpb25zIHByaW50ZWQgYSB3YXJuaW5nLgorCit6LiAgRml4ZWQgYSBidWcgaW4gXFcgcHJvbXB0IGV4cGFuc2lvbiB0aGF0IHJlc3VsdGVkIGluIGluY29ycmVjdCBleHBhbnNpb24KKyAgICBpbiB0aGUgZXZlbnQgb2Ygb3ZlcmxhcHBpbmcgc3RyaW5ncy4KKworYWEuIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHRoZSA6PSBwYXJhbWV0ZXIgZXhwYW5zaW9uIG9wZXJhdG9yIHRvIHJldHVybiB0aGUKKyAgICB3cm9uZyB2YWx1ZSBhcyB0aGUgcmVzdWx0IG9mIHRoZSBleHBhbnNpb24uCisKK2JiLiBXaGVuIGluIFBvc2l4IG1vZGUsIGEgc2luZ2xlIHF1b3RlIGlzIG5vdCB0cmVhdGVkIHNwZWNpYWxseSBpbiBhCisgICAgZG91YmxlLXF1b3RlZCAkey4uLn0gZXhwYW5zaW9uLCB1bmxlc3MgdGhlIGV4cGFuc2lvbiBvcGVyYXRvciBpcworICAgICMgb3IgJSBvciB0aGUgbm9uLVBvc2l4IGAvLycsIGBeJywgYW5kIGAsJy4gIEluIHBhcnRpY3VsYXIsIGl0IGRvZXMKKyAgICBub3QgZGVmaW5lIGEgbmV3IHF1b3RpbmcgY29udGV4dC4gIFRoaXMgaXMgZnJvbSBQb3NpeCBpbnRlcnByZXRhdGlvbiAyMjEuCisKK2NjLiBGaXhlZCBhIGJ1ZyB0aGF0IGluYWR2ZXJ0ZW50bHkgYWxsb3dlZCBwcm9ncmFtIG5hbWVzIGNvbnRhaW5pbmcgc2xhc2hlcworICAgIHRvIGJlIGVudGVyZWQgaW50byB0aGUgY29tbWFuZCBoYXNoIHRhYmxlLgorCitkZC4gRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgdGhlIHNlbGVjdCBidWlsdGluIHRvIGluY29ycmVjdGx5IGNvbXB1dGUgdGhlCisgICAgZGlzcGxheSB3aWR0aCBvZiB0aGUgYXJndW1lbnRzIGluIHRoZSBwcmVzZW5jZSBvZiBtdWx0aWJ5dGUgY2hhcmFjdGVycy4KKworZWUuIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIGJhc2ggdG8gbm90IGNoYW5nZSB0aGUgeHRyYWNlIGZpbGUgZGVzY3JpcHRvciBpZgorICAgIEJBU0hfWFRSQUNFRkQgd2FzIGZvdW5kIGluIHRoZSBzaGVsbCBlbnZpcm9ubWVudCBhdCBzdGFydHVwLgorCitmZi4gRml4ZWQgYSBtZW1vcnkgbGVhayBpbiB0aGUgcGF0dGVybiByZW1vdmFsIHBhcmFtZXRlciBleHBhbnNpb24uCisKK2dnLiBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBTSUdJTlQgdG8gZmFpbCB0byBpbnRlcnJ1cHQgYSBuZXN0ZWQgbG9vcCBpZiB0aGUKKyAgICBsb29wIHdhcyBpbiBhIHBpcGVsaW5lLgorCitoaC4gRml4ZWQgYSBwcm9ibGVtIGluICQoLi4uKSBwYXJzaW5nIHRoYXQgY2F1c2VkIHRoZSBwYXJzZXIgdG8gYWRkIGFuIGV4dHJhCisgICAgc3BhY2UgdG8gYSBoZXJlLWRvY3VtZW50IGRlbGltaXRlciBpZiB0aGUgZmlyc3Qgd29yZCBjb250YWluZWQgYSBgLycuCisKK2lpLiBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBmdW5jdGlvbnMgZGVmaW5lZCB3aXRoIHRoZSBgZnVuY3Rpb24nIHJlc2VydmVkCisgICAgd29yZCB0byByZXF1aXJlIGJyYWNlcyBhcm91bmQgdGhlIGZ1bmN0aW9uIGJvZHkuCisKK2pqLiBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBiYXNoIHRvIGR1bXAgY29yZSB3aGVuIGEgdmFyaWFibGUgZXhwYW5zaW9uIGJlaW5nCisgICAgdXNlZCBhcyBhbiBhcnJheSBzdWJzY3JpcHQgZmFpbGVkLgorCitray4gRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgYmFzaCB0byBkdW1wIGNvcmUgaWYgdGhlIGNhc2UtbW9kaWZpY2F0aW9uCisgICAgZXhwYW5zaW9ucyB3ZXJlIHVzZWQgb24gYSB2YXJpYWJsZSB3aXRoIGEgbnVsbCB2YWx1ZS4KKworbGwuIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHBhcnRpYWxseS1xdW90ZWQgc3RyaW5ncyB0byBiZSBzcGxpdCBpbmNvcnJlY3RseQorICAgIGlmIGEgdmFyaWFibGUgd2l0aCBhIG51bGwgdmFsdWUgd2FzIGV4cGFuZGVkIHdpdGhpbiBkb3VibGUgcXVvdGVzLgorCittbS4gVGhlIHBhdHRlcm4gc3Vic3RpdHV0aW9uIHdvcmQgZXhwYW5zaW9uIGhhcyBiZWVuIHNwZWQgdXAgZHJhbWF0aWNhbGx5CisgICAgd2hlbiBydW5uaW5nIGluIGEgbG9jYWxlIHdpdGggbXVsdGlieXRlIGNoYXJhY3RlcnMuCisKK25uLiBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBoaXN0b3J5IC1hIHRvIG5vdCB3cml0ZSB0aGUgY29ycmVjdCBsaW5lcyB0bworICAgIHRoZSBoaXN0b3J5IGZpbGUgaWYgYWxsIHRoZSBuZXcgbGluZXMgaW4gdGhlIGhpc3RvcnkgbGlzdCB3ZXJlIGFkZGVkCisgICAgc2luY2UgdGhlIGxhc3QgdGltZSB0aGUgaGlzdG9yeSBmaWxlIHdhcyByZWFkIG9yIHdyaXR0ZW4uCisKK29vLiBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBjb21wbGV0aW9uIG9mIGEgd29yZCB3aXRoIGFuIHVuY2xvc2VkIGBgIGNvbW1hbmQKKyAgICBzdWJzdGl0dXRpb24gdG8gc2V0IHRoZSBwcm9tcHQgaW5jb3JyZWN0bHkuCisKK3BwLiBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBleHRlbmRlZCBnbG9iYmluZyBwYXR0ZXJucyBpbiAkSElTVElHTk9SRSBvcgorICAgICRHTE9CSUdOT1JFIHRvIGJlIGluY29ycmVjdGx5IHNjYW5uZWQuCisKK3FxLiBGaXhlZCBhIGJ1ZyBjYXVzZWQgYnkgY2xvc2luZyBmaWxlIGRlc2NyaXB0b3JzIDMtMjAgb24gc2hlbGwgc3RhcnR1cC4gIFRoZQorICAgIHNoZWxsIG5vdyBzZXRzIHRoZW0gdG8gY2xvc2Utb24tZXhlYy4KKworcnIuIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHRoZSBleGl0IHN0YXR1cyBvZiBgZXhlYyBmaWxlJyB0byBiZSBzZXQgaW5jb3JyZWN0bHkKKyAgICBpZiBgZmlsZScgd2FzIGEgZGlyZWN0b3J5LgorCitzcy4gRml4ZWQgYSBidWcgaW4gdGhlIGAuJyBidWlsdGluIHRvIG1ha2UgYSBub24taW50ZXJhY3RpdmUgcG9zaXgtbW9kZSBzaGVsbAorICAgIGV4aXQgaWYgdGhlIGZpbGUgYXJndW1lbnQgdG8gYC4nIGlzIG5vdCBmb3VuZC4gIFByZWZpeGluZyBleGVjIHdpdGggCisgICAgYGNvbW1hbmQnIG1ha2VzIHRoZSBzaGVsbCBub3QgZXhpdC4gUG9zaXggcmVxdWlyZXMgdGhpcyBiZWhhdmlvci4KKwordHQuIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIGBzaCAtYyAnY29tbWFuZCBleGVjOyBleGl0IDEnIHRvIGhhbmcuCisKK3V1LiBGaXhlZCBhIGJ1ZyBpbiAkKC4uLikgY29tbWFuZCBzdWJzdGl0dXRpb24gcGFyc2luZyB0aGF0IGNhdXNlZCB0aGUgc2hlbGwKKyAgICB0byB0cmVhdCBiYWNrc2xhc2gtbmV3bGluZSBpbmNvcnJlY3RseSB3aGVuIHBhcnNpbmcgYSBjb21tZW50LgorCit2di4gRml4ZWQgYnVnIHRoYXQgY2F1c2VkIGJyYWNlIGV4cGFuc2lvbiBzZXF1ZW5jZSBnZW5lcmF0aW9uIHRvIG1pc2JlaGF2ZQorICAgIHdoZW4gc3VwcGxpZWQgaW50ZWdlcnMgZ3JlYXRlciB0aGFuIDIqKjMxIC0gMS4KKword3cuIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIGZhaWx1cmUgdG8gc2F2ZSBmaWxlIGRlc2NyaXB0b3JzIGZvciByZWRpcmVjdGlvbnMKKyAgICB0byBjb3JydXB0IHNoZWxsIGZpbGUgZGVzY3JpcHRvcnMuCisKK3h4LiBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCBiYXNoLWZvcndhcmQtc2hlbGx3b3JkIHRvIG5vdCBjb3JyZWN0bHkgaGFuZGxlCisgICAgcXVvdGVkIHN0cmluZ3MuCisKKzIuICBDaGFuZ2VzIHRvIFJlYWRsaW5lCisKK2EuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgdW5jb252ZXJ0ZWQgZmlsZW5hbWUgdG8gYmUgYWRkZWQgdG8gdGhlIGxpc3Qgb2YKKyAgICBjb21wbGV0aW9ucyB3aGVuIHRoZSBhcHBsaWNhdGlvbiBzcGVjaWZpZWQgZmlsZW5hbWUgY29udmVyc2lvbiBmdW5jdGlvbnMuCisKK2IuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB0aGUgd3JvbmcgZmlsZW5hbWUgdG8gYmUgcGFzc2VkIHRvIG9wZW5kaXIgd2hlbiB0aGUKKyAgICBhcHBsaWNhdGlvbiBoYXMgc3BlY2lmaWVkIGEgZmlsZW5hbWUgZGVxdW90aW5nIGZ1bmN0aW9uLgorCitjLiAgRml4ZWQgYSBidWcgd2hlbiByZXBlYXRpbmcgYSBjaGFyYWN0ZXIgc2VhcmNoIGluIHZpIG1vZGUgaW4gdGhlIGNhc2Ugd2hlcmUKKyAgICB0aGVyZSB3YXMgbm8gc2VhcmNoIHRvIHJlcGVhdC4KKworZC4gIFdoZW4gc2hvdy1hbGwtaWYtYW1iaWd1b3VzIGlzIHNldCwgdGhlIGNvbXBsZXRpb24gcm91dGluZXMgbm8gbG9uZ2VyIGluc2VydAorICAgIGEgY29tbW9uIG1hdGNoIHByZWZpeCB0aGF0IGlzIHNob3J0ZXIgdGhhbiB0aGUgdGV4dCBiZWluZyBjb21wbGV0ZWQuCisKK2UuICBUaGUgZnVsbCBzZXQgb2YgdmkgZWRpdGluZyBjb21tYW5kcyBtYXkgbm93IGJlIHVzZWQgaW4gY2FsbGJhY2sgbW9kZS4KKworZi4gIEZpeGVkIGEgYnVnIHRoYXQgY2F1c2VkIHJlYWRsaW5lIHRvIG5vdCB1cGRhdGUgaXRzIGlkZWEgb2YgdGhlIHRlcm1pbmFsCisgICAgZGltZW5zaW9ucyB3aGlsZSBydW5uaW5nIGluIGBuby1lY2hvJyBtb2RlLgorCitoLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgcmVhZGxpbmUgdG8gZHVtcCBjb3JlIGlmIGFuIGFwcGxpY2F0aW9uIGNhbGxlZAorICAgIHJsX3ByZXBfdGVybWluYWwgd2l0aG91dCBzZXR0aW5nIHJsX2luc3RyZWFtLgorCitpLiAgRml4ZWQgYSBidWcgdGhhdCBjYXVzZWQgbWV0YS1wcmVmaXhlZCBjaGFyYWN0ZXJzIGJvdW5kIHRvIGluY3JlbWVudGFsCisgICAgc2VhcmNoIGZvcndhcmQgb3IgYmFja3dhcmQgdG8gbm90IGJlIHJlY29nbml6ZWQgaWYgdGhleSB3ZXJlIHR5cGVkCisgICAgc3Vic2VxdWVudGx5LgorCitqLiAgVGhlIGluY3JlbWVudGFsIHNlYXJjaCBjb2RlIHRyZWF0cyBrZXkgc2VxdWVuY2VzIHRoYXQgbWFwIHRvIHRoZSBzYW1lCisgICAgZnVuY3Rpb25zIGFzIChkZWZhdWx0KSBeRywgXlcsIGFuZCBeWSBhcyBlcXVpdmFsZW50IHRvIHRob3NlIGNoYXJhY3RlcnMuCisKK2suICBGaXhlZCBhIGJ1ZyBpbiBtZW51LWNvbXBsZXRlIHRoYXQgY2F1c2VkIGl0IHRvIG1pc2JlaGF2ZSB3aXRoIGxhcmdlCisgICAgbmVnYXRpdmUgYXJndW1lbnQuCisKK2wuICBGaXhlZCBhIGJ1ZyB0aGF0IGNhdXNlZCB2aS1tb2RlIHlhbmstbGFzdC1hcmcgdG8gcmluZyB0aGUgYmVsbCB3aGVuIGludm9rZWQKKyAgICBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLgorCiszLiAgTmV3IEZlYXR1cmVzIGluIEJhc2gKKworYS4gIGBleGVjIC1hIGZvbycgbm93IHNldHMgJDAgdG8gYGZvbycgaW4gYW4gZXhlY3V0YWJsZSBzaGVsbCBzY3JpcHQgd2l0aG91dCBhCisgICAgbGVhZGluZyAjIS4KKworYi4gIFN1YnNoZWxscyBiZWd1biB0byBleGVjdXRlIGNvbW1hbmQgc3Vic3RpdHV0aW9ucyBvciBydW4gc2hlbGwgZnVuY3Rpb25zIG9yCisgICAgYnVpbHRpbnMgaW4gc3Vic2hlbGxzIGRvIG5vdCByZXNldCB0cmFwIHN0cmluZ3MgdW50aWwgYSBuZXcgdHJhcCBpcworICAgIHNwZWNpZmllZC4gIFRoaXMgYWxsb3dzICQodHJhcCkgdG8gZGlzcGxheSB0aGUgY2FsbGVyJ3MgdHJhcHMgYW5kIHRoZQorICAgIHRyYXAgc3RyaW5ncyB0byBwZXJzaXN0IHVudGlsIGEgbmV3IHRyYXAgaXMgc2V0LgorCitjLiAgYHRyYXAgLXAnIHdpbGwgbm93IHNob3cgc2lnbmFscyBpZ25vcmVkIGF0IHNoZWxsIHN0YXJ0dXAsIHRob3VnaCB0aGVpcgorICAgIGRpc3Bvc2l0aW9uIHN0aWxsIGNhbm5vdCBiZSBtb2RpZmllZC4KKworZC4gICQnLi4uJywgZWNobywgYW5kIHByaW50ZiB1bmRlcnN0YW5kIFx1WFhYWCBhbmQgXFVYWFhYWFhYWCBlc2NhcGUgc2VxdWVuY2VzLgorCitlLiAgZGVjbGFyZS90eXBlc2V0IGhhcyBhIG5ldyBgLWcnIG9wdGlvbiwgd2hpY2ggY3JlYXRlcyB2YXJpYWJsZXMgaW4gdGhlCisgICAgZ2xvYmFsIHNjb3BlIGV2ZW4gd2hlbiBydW4gaW4gYSBzaGVsbCBmdW5jdGlvbi4KKworZi4gIHRlc3QvWy9bWyBoYXZlIGEgbmV3IC12IHZhcmlhYmxlIHVuYXJ5IG9wZXJhdG9yLCB3aGljaCByZXR1cm5zIHN1Y2Nlc3MgaWYKKyAgICBgdmFyaWFibGUnIGhhcyBiZWVuIHNldC4KKworZy4gIFBvc2l4IHBhcnNpbmcgY2hhbmdlcyB0byBhbGxvdyBgISB0aW1lIGNvbW1hbmQnIGFuZCBtdWx0aXBsZSBjb25zZWN1dGl2ZQorICAgIGluc3RhbmNlcyBvZiBgIScgKHdoaWNoIHRvZ2dsZSkgYW5kIGB0aW1lJyAod2hpY2ggaGF2ZSBubyBjdW11bGF0aXZlCisgICAgZWZmZWN0KS4KKworaC4gIFBvc2l4IGNoYW5nZSB0byBhbGxvdyBgdGltZScgYXMgYSBjb21tYW5kIGJ5IGl0c2VsZiB0byBwcmludCB0aGUgZWxhcHNlZAorICAgIHVzZXIsIHN5c3RlbSwgYW5kIHJlYWwgdGltZXMgZm9yIHRoZSBzaGVsbCBhbmQgaXRzIGNoaWxkcmVuLgorCitqLiAgJCgoLi4uKSkgaXMgYWx3YXlzIHBhcnNlZCBhcyBhbiBhcml0aG1ldGljIGV4cGFuc2lvbiBmaXJzdCwgaW5zdGVhZCBvZiBhcworICAgIGEgcG90ZW50aWFsIG5lc3RlZCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYXMgUG9zaXggcmVxdWlyZXMuCisKK2suICBBIG5ldyBGVU5DTkVTVCB2YXJpYWJsZSB0byBhbGxvdyB0aGUgdXNlciB0byBjb250cm9sIHRoZSBtYXhpbXVtIHNoZWxsCisgICAgZnVuY3Rpb24gbmVzdGluZyAocmVjdXJzaXZlIGV4ZWN1dGlvbikgbGV2ZWwuCisKK2wuICBUaGUgbWFwZmlsZSBidWlsdGluIG5vdyBzdXBwbGllcyBhIHRoaXJkIGFyZ3VtZW50IHRvIHRoZSBjYWxsYmFjayBjb21tYW5kOgorICAgIHRoZSBsaW5lIGFib3V0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSBzdXBwbGllZCBhcnJheSBpbmRleC4KKworbS4gIFRoZSBwcmludGYgYnVpbHRpbiBoYXMgYSBuZXcgJShmbXQpVCBzcGVjaWZpZXIsIHdoaWNoIGFsbG93cyB0aW1lIHZhbHVlcworICAgIHRvIHVzZSBzdHJmdGltZS1saWtlIGZvcm1hdHRpbmcuCisKK24uICBUaGVyZSBpcyBhIG5ldyBgY29tcGF0NDEnIHNoZWxsIG9wdGlvbi4KKworby4gIFRoZSBjZCBidWlsdGluIGhhcyBhIG5ldyBQb3NpeC1tYW5kYXRlZCBgLWUnIG9wdGlvbi4KKworcC4gIE5lZ2F0aXZlIHN1YnNjcmlwdHMgdG8gaW5kZXhlZCBhcnJheXMsIHByZXZpb3VzbHkgZXJyb3JzLCBub3cgYXJlIHRyZWF0ZWQKKyAgICBhcyBvZmZzZXRzIGZyb20gdGhlIG1heGltdW0gYXNzaWduZWQgaW5kZXggKyAxLgorCitxLiAgTmVnYXRpdmUgbGVuZ3RoIHNwZWNpZmljYXRpb25zIGluIHRoZSAke3ZhcjpvZmZzZXQ6bGVuZ3RofSBleHBhbnNpb24sCisgICAgcHJldmlvdXNseSBlcnJvcnMsIGFyZSBub3cgdHJlYXRlZCBhcyBvZmZzZXRzIGZyb20gdGhlIGVuZCBvZiB0aGUgdmFyaWFibGUuCisKK3IuICBQYXJzaW5nIGNoYW5nZSB0byBhbGxvdyBgdGltZSAtcCAtLScuCisKK3MuICBQb3NpeC1tb2RlIHBhcnNpbmcgY2hhbmdlIHRvIG5vdCByZWNvZ25pemUgYHRpbWUnIGFzIGEga2V5d29yZCBpZiB0aGUKKyAgICBmb2xsb3dpbmcgdG9rZW4gYmVnaW5zIHdpdGggYSBgLScuICBUaGlzIG1lYW5zIG5vIG1vcmUgUG9zaXgtbW9kZQorICAgIGB0aW1lIC1wJy4gIFBvc2l4IGludGVycHJldGF0aW9uIDI2Ny4KKwordC4gIFRoZXJlIGlzIGEgbmV3IGBsYXN0cGlwZScgc2hlbGwgb3B0aW9uIHRoYXQgcnVucyB0aGUgbGFzdCBjb21tYW5kIG9mIGEKKyAgICBwaXBlbGluZSBpbiB0aGUgY3VycmVudCBzaGVsbCBjb250ZXh0LiAgVGhlIGxhc3RwaXBlIG9wdGlvbiBoYXMgbm8KKyAgICBlZmZlY3QgaWYgam9iIGNvbnRyb2wgaXMgZW5hYmxlZC4KKwordS4gIEhpc3RvcnkgZXhwYW5zaW9uIG5vIGxvbmdlciBleHBhbmRzIHRoZSBgJCEnIHZhcmlhYmxlIGV4cGFuc2lvbi4KKwordi4gIFBvc2l4IG1vZGUgc2hlbGxzIG5vIGxvbmdlciBleGl0IGlmIGEgdmFyaWFibGUgYXNzaWdubWVudCBlcnJvciBvY2N1cnMKKyAgICB3aXRoIGFuIGFzc2lnbm1lbnQgcHJlY2VkaW5nIGEgY29tbWFuZCB0aGF0IGlzIG5vdCBhIHNwZWNpYWwgYnVpbHRpbi4KKwordy4gIE5vbi1pbnRlcmFjdGl2ZSBtb2RlIHNoZWxscyBleGl0IGlmIC11IGlzIGVuYWJsZWQgYW5kIGFuIGF0dGVtcHQgaXMgbWFkZQorICAgIHRvIHVzZSBhbiB1bnNldCB2YXJpYWJsZSB3aXRoIHRoZSAlIG9yICMgZXhwYW5zaW9ucywgdGhlIGAvLycsIGBeJywgb3IKKyAgICBgLCcgZXhwYW5zaW9ucywgb3IgdGhlIHBhcmFtZXRlciBsZW5ndGggZXhwYW5zaW9uLgorCit4LiAgUG9zaXgtbW9kZSBzaGVsbHMgdXNlIHRoZSBhcmd1bWVudCBwYXNzZWQgdG8gYC4nIGFzLWlzIGlmIGEgJFBBVEggc2VhcmNoCisgICAgZmFpbHMsIGVmZmVjdGl2ZWx5IHNlYXJjaGluZyB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBQb3NpeC0yMDA4IGNoYW5nZS4KKworNC4gIE5ldyBGZWF0dXJlcyBpbiBSZWFkbGluZQorCithLiAgVGhlIGhpc3RvcnkgbGlicmFyeSBkb2VzIG5vdCB0cnkgdG8gd3JpdGUgdGhlIGhpc3RvcnkgZmlsZW5hbWUgaW4gdGhlCisgICAgY3VycmVudCBkaXJlY3RvcnkgaWYgJEhPTUUgaXMgdW5zZXQuICBUaGlzIGNsb3NlcyBhIHBvdGVudGlhbCBzZWN1cml0eQorICAgIHByb2JsZW0gaWYgdGhlIGFwcGxpY2F0aW9uIGRvZXMgbm90IHNwZWNpZnkgYSBoaXN0b3J5IGZpbGVuYW1lLgorCitiLiAgTmV3IGJpbmRhYmxlIHZhcmlhYmxlIGBjb21wbGV0aW9uLWRpc3BsYXktd2lkdGgnIHRvIHNldCB0aGUgbnVtYmVyIG9mCisgICAgY29sdW1ucyB1c2VkIHdoZW4gZGlzcGxheWluZyBjb21wbGV0aW9ucy4KKworYy4gIE5ldyBiaW5kYWJsZSB2YXJpYWJsZSBgY29tcGxldGlvbi1jYXNlLW1hcCcgdG8gY2F1c2UgY2FzZS1pbnNlbnNpdGl2ZQorICAgIGNvbXBsZXRpb24gdG8gdHJlYXQgYC0nIGFuZCBgXycgYXMgaWRlbnRpY2FsLgorCitkLiAgVGhlcmUgYXJlIG5ldyBiaW5kYWJsZSB2aS1tb2RlIGNvbW1hbmQgbmFtZXMgdG8gYXZvaWQgcmVhZGxpbmUncyBjYXNlLQorICAgIGluc2Vuc2l0aXZlIG1hdGNoaW5nIG5vdCBhbGxvd2luZyB0aGVtIHRvIGJlIGJvdW5kIHNlcGFyYXRlbHkuCisKK2UuICBOZXcgYmluZGFibGUgdmFyaWFibGUgYG1lbnUtY29tcGxldGUtZGlzcGxheS1wcmVmaXgnIGNhdXNlcyB0aGUgbWVudQorICAgIGNvbXBsZXRpb24gY29kZSB0byBkaXNwbGF5IHRoZSBjb21tb24gcHJlZml4IG9mIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucworICAgIGJlZm9yZSBjeWNsaW5nIHRocm91Z2ggdGhlIGxpc3QsIGluc3RlYWQgb2YgYWZ0ZXIuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogVGhpcyBkb2N1bWVudCBkZXRhaWxzIHRoZSBjaGFuZ2VzIGJldHdlZW4gdGhpcyB2ZXJzaW9uLCBiYXNoLTQuMS1yYywKIGFuZCB0aGUgcHJldmlvdXMgdmVyc2lvbiwgYmFzaC00LjEtYmV0YS4KIApkaWZmIC0tZ2l0IGEvQ09NUEFUIGIvQ09NUEFUCmluZGV4IDMyMTBjY2EuLjViNjNiOWMgMTAwNjQ0Ci0tLSBhL0NPTVBBVAorKysgYi9DT01QQVQKQEAgLTI5NSw3ICsyOTUsOCBAQAogCiAzNy4gQmFzaC00LjAgbm93IGFsbG93cyBTSUdDSExEIHRvIGludGVycnVwdCB0aGUgd2FpdCBidWlsdGluLCBhcyBQb3NpeAogICAgIHNwZWNpZmllcywgc28gdGhlIFNJR0NITEQgdHJhcCBpcyBubyBsb25nZXIgYWx3YXlzIGludm9rZWQgb25jZSBwZXIKLSAgICBleGl0aW5nIGNoaWxkIGlmIHlvdSBhcmUgdXNpbmcgYHdhaXQnIHRvIHdhaXQgZm9yIGFsbCBjaGlsZHJlbi4KKyAgICBleGl0aW5nIGNoaWxkIGlmIHlvdSBhcmUgdXNpbmcgYHdhaXQnIHRvIHdhaXQgZm9yIGFsbCBjaGlsZHJlbi4gIEFzCisgICAgb2YgYmFzaC00LjIsIHRoaXMgaXMgdGhlIHN0YXR1cyBxdW8gb25seSB3aGVuIGluIHBvc2l4IG1vZGUuCiAKIDM4LiBTaW5jZSBiYXNoLTQuMCBub3cgZm9sbG93cyBQb3NpeCBydWxlcyBmb3IgZmluZGluZyB0aGUgY2xvc2luZyBkZWxpbWl0ZXIKICAgICBvZiBhICQoKSBjb21tYW5kIHN1YnN0aXR1dGlvbiwgaXQgd2lsbCBub3QgYmVoYXZlIGFzIHByZXZpb3VzIHZlcnNpb25zCkBAIC0zMzAsMzUgKzMzMSw1OCBAQAogCiA0NC4gQmFzaC00LjEgdXNlcyB0aGUgY3VycmVudCBsb2NhbGUgd2hlbiBjb21wYXJpbmcgc3RyaW5ncyB1c2luZyB0aGUgPCBhbmQKICAgICA+IG9wZXJhdG9ycyB0byB0aGUgYFtbJyBjb21tYW5kLiAgVGhpcyBjYW4gYmUgcmV2ZXJ0ZWQgdG8gdGhlIHByZXZpb3VzCi0gICAgYmVoYXZpb3IgYnkgc2V0dGluZyBvbmUgb2YgdGhlIGBjb21wYXROTicgc2hvcHQgb3B0aW9ucy4KKyAgICBiZWhhdmlvciAoQVNDSUkgY29sbGF0aW5nIGFuZCBzdHJjbXAoMykpIGJ5IHNldHRpbmcgb25lIG9mIHRoZQorICAgIGBjb21wYXROTicgc2hvcHQgb3B0aW9ucywgd2hlcmUgTk4gaXMgbGVzcyB0aGFuIDQxLgorCis0NS4gQ29tbWFuZCBzdWJzdGl0dXRpb25zIG5vdyByZW1vdmUgdGhlIGNhbGxlcidzIHRyYXAgc3RyaW5ncyB3aGVuIHRyYXAgaXMKKyAgICBydW4gdG8gc2V0IGEgbmV3IHRyYXAgaW4gdGhlIHN1YnNoZWxsLiAgUHJldmlvdXMgdG8gYmFzaC00LjIsIHRoZSBvbGQKKyAgICB0cmFwIHN0cmluZ3MgcGVyc2lzdGVkIGV2ZW4gdGhvdWdoIHRoZSBhY3R1YWwgc2lnbmFsIGhhbmRsZXJzIHdlcmUgcmVzZXQuCisKKzQ2LiBXaGVuIGluIFBvc2l4IG1vZGUsIGEgc2luZ2xlIHF1b3RlIGlzIG5vdCB0cmVhdGVkIHNwZWNpYWxseSBpbiBhCisgICAgZG91YmxlLXF1b3RlZCAkey4uLn0gZXhwYW5zaW9uLCB1bmxlc3MgdGhlIGV4cGFuc2lvbiBvcGVyYXRvciBpcworICAgICMgb3IgJSBvciB0aGUgbmV3IGAvLycsIGBeJywgb3IgYCwnIGV4cGFuc2lvbnMuICBJbiBwYXJ0aWN1bGFyLCBpdAorICAgIGRvZXMgbm90IGRlZmluZSBhIG5ldyBxdW90aW5nIGNvbnRleHQuICBUaGlzIGlzIGZyb20gUG9zaXggaW50ZXJwcmV0YXRpb24KKyAgICAyMjEuCisKKzQ3LiBQb3NpeCBtb2RlIHNoZWxscyBubyBsb25nZXIgZXhpdCBpZiBhIHZhcmlhYmxlIGFzc2lnbm1lbnQgZXJyb3Igb2NjdXJzCisgICAgd2l0aCBhbiBhc3NpZ25tZW50IHByZWNlZGluZyBhIGNvbW1hbmQgdGhhdCBpcyBub3QgYSBzcGVjaWFsIGJ1aWx0aW4uCisKIAogU2hlbGwgQ29tcGF0aWJpbGl0eSBMZXZlbAogPT09PT09PT09PT09PT09PT09PT09PT09PQogCiBCYXNoLTQuMCBpbnRyb2R1Y2VkIHRoZSBjb25jZXB0IG9mIGEgYHNoZWxsIGNvbXBhdGliaWxpdHkgbGV2ZWwnLCBzcGVjaWZpZWQKLWFzIGEgc2V0IG9mIG9wdGlvbnMgdG8gdGhlIHNob3B0IGJ1aWx0aW4gKGNvbXBhdDMxLCBjb21wYXQzMiwgY29tcGF0NDAgYXQKLXRoaXMgd3JpdGluZykuICBUaGVyZSBpcyBvbmx5IG9uZSBjdXJyZW50IGNvbXBhdGliaWxpdHkgbGV2ZWwgLS0gZWFjaAotb3B0aW9uIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFRoaXMgbGlzdCBkb2VzIG5vdCBtZW50aW9uIGJlaGF2aW9yIHRoYXQgaXMKLXN0YW5kYXJkIGZvciBhIHBhcnRpY3VsYXIgdmVyc2lvbiAoZS5nLiwgc2V0dGluZyBjb21wYXQzMiBtZWFucyB0aGF0IHF1b3RpbmcKLXRoZSByaHMgb2YgdGhlIHJlZ2V4cCBtYXRjaGluZyBvcGVyYXRvciBxdW90ZXMgc3BlY2lhbCByZWdleHAgY2hhcmFjdGVycyBpbgotdGhlIHdvcmQsIHdoaWNoIGlzIGRlZmF1bHQgYmVoYXZpb3IgaW4gYmFzaC0zLjIgYW5kIGFib3ZlKS4KK2FzIGEgc2V0IG9mIG9wdGlvbnMgdG8gdGhlIHNob3B0IGJ1aWx0aW4gKGNvbXBhdDMxLCBjb21wYXQzMiwgY29tcGF0NDAsIGFuZAorY29tcGF0NDEgYXQgdGhpcyB3cml0aW5nKS4gIFRoZXJlIGlzIG9ubHkgb25lIGN1cnJlbnQgY29tcGF0aWJpbGl0eSBsZXZlbCAtLQorZWFjaCBvcHRpb24gaXMgbXV0dWFsbHkgZXhjbHVzaXZlLiAgVGhpcyBsaXN0IGRvZXMgbm90IG1lbnRpb24gYmVoYXZpb3IKK3RoYXQgaXMgc3RhbmRhcmQgZm9yIGEgcGFydGljdWxhciB2ZXJzaW9uIChlLmcuLCBzZXR0aW5nIGNvbXBhdDMyIG1lYW5zIHRoYXQKK3F1b3RpbmcgdGhlIHJocyBvZiB0aGUgcmVnZXhwIG1hdGNoaW5nIG9wZXJhdG9yIHF1b3RlcyBzcGVjaWFsIHJlZ2V4cAorY2hhcmFjdGVycyBpbiB0aGUgd29yZCwgd2hpY2ggaXMgZGVmYXVsdCBiZWhhdmlvciBpbiBiYXNoLTMuMiBhbmQgYWJvdmUpLgogCiBjb21wYXQzMSBzZXQKIAktIHRoZSA8IGFuZCA+IG9wZXJhdG9ycyB0byB0aGUgW1sgY29tbWFuZCBkbyBub3QgY29uc2lkZXIgdGhlIGN1cnJlbnQKLQkgIGxvY2FsZSB3aGVuIGNvbXBhcmluZyBzdHJpbmdzCisJICBsb2NhbGUgd2hlbiBjb21wYXJpbmcgc3RyaW5nczsgdGhleSB1c2UgQVNDSUkgb3JkZXJpbmcKIAktIHF1b3RpbmcgdGhlIHJocyBvZiB0aGUgcmVnZXhwIG1hdGNoaW5nIG9wZXJhdG9yICg9fikgaGFzIG5vCiAJICBzcGVjaWFsIGVmZmVjdAogCiBjb21wYXQzMiBzZXQKIAktIHRoZSA8IGFuZCA+IG9wZXJhdG9ycyB0byB0aGUgW1sgY29tbWFuZCBkbyBub3QgY29uc2lkZXIgdGhlIGN1cnJlbnQKLQkgIGxvY2FsZSB3aGVuIGNvbXBhcmluZyBzdHJpbmdzCisJICBsb2NhbGUgd2hlbiBjb21wYXJpbmcgc3RyaW5nczsgdGhleSB1c2UgQVNDSUkgb3JkZXJpbmcKIAogY29tcGF0NDAgc2V0CiAJLSB0aGUgPCBhbmQgPiBvcGVyYXRvcnMgdG8gdGhlIFtbIGNvbW1hbmQgZG8gbm90IGNvbnNpZGVyIHRoZSBjdXJyZW50Ci0JICBsb2NhbGUgd2hlbiBjb21wYXJpbmcgc3RyaW5ncworCSAgbG9jYWxlIHdoZW4gY29tcGFyaW5nIHN0cmluZ3M7IHRoZXkgdXNlIEFTQ0lJIG9yZGVyaW5nCiAJLSBpbnRlcnJ1cHRpbmcgYSBjb21tYW5kIGxpc3Qgc3VjaCBhcyAiYSA7IGIgOyBjIiBjYXVzZXMgdGhlIGV4ZWN1dGlvbgotCSAgb2YgdGhlIGVudGlyZSBsaXN0IHRvIGJlIGFib3J0ZWQKKwkgIG9mIHRoZSBlbnRpcmUgbGlzdCB0byBiZSBhYm9ydGVkIChpbiB2ZXJzaW9ucyBiZWZvcmUgYmFzaC00LjAsCisJICBpbnRlcnJ1cHRpbmcgb25lIGNvbW1hbmQgaW4gYSBsaXN0IGNhdXNlZCB0aGUgbmV4dCB0byBiZSBleGVjdXRlZCkKIAorY29tcGF0NDEgc2V0CisJLSBpbnRlcnJ1cHRpbmcgYSBjb21tYW5kIGxpc3Qgc3VjaCBhcyAiYSA7IGIgOyBjIiBjYXVzZXMgdGhlIGV4ZWN1dGlvbgorCSAgb2YgdGhlIGVudGlyZSBsaXN0IHRvIGJlIGFib3J0ZWQgKGluIHZlcnNpb25zIGJlZm9yZSBiYXNoLTQuMCwKKwkgIGludGVycnVwdGluZyBvbmUgY29tbWFuZCBpbiBhIGxpc3QgY2F1c2VkIHRoZSBuZXh0IHRvIGJlIGV4ZWN1dGVkKQorCS0gd2hlbiBpbiBwb3NpeCBtb2RlLCBzaW5nbGUgcXVvdGVzIGluIHRoZSBgd29yZCcgcG9ydGlvbiBvZiBhCisJICBkb3VibGUtcXVvdGVkIHBhcmFtZXRlciBleHBhbnNpb24gZGVmaW5lIGEgbmV3IHF1b3RpbmcgY29udGV4dCBhbmQKKwkgIGFyZSB0cmVhdGVkIHNwZWNpYWxseQogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBDb3B5aW5nIGFuZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLApkaWZmIC0tZ2l0IGEvQ1dSVS9jaGFuZ2Vsb2cgYi9DV1JVL2NoYW5nZWxvZwppbmRleCAwODVmZGJkLi5iY2M2NjU3IDEwMDY0NAotLS0gYS9DV1JVL2NoYW5nZWxvZworKysgYi9DV1JVL2NoYW5nZWxvZwpAQCAtNjA4OCw3ICs2MDg4LDggQEAKIAktIG5ldyB2YXJpYWJsZSwgcmxfbWVudV9jb21wbGV0aW9uX2VudHJ5X2Z1bmN0aW9uLCBnZW5lcmF0b3IgZm9yCiAJICBybF9tZW51X2NvbXBsZXRlCiAJLSBuZXcgbWVudSBjb21wbGV0aW9uIGBicm93c2luZycgaW1wbGVtZW50YXRpb24sIHdpdGggc2V2ZXJhbAotCSAgaW1wcm92ZW1lbnRzIG92ZXIgdGhlIG9sZCBjb2RlLiAgSW5zcGlyZWQgYnkgU2FtaQorCSAgaW1wcm92ZW1lbnRzIG92ZXIgdGhlIG9sZCBjb2RlLiAgSW5zcGlyZWQgYnkgU2FtaSBQaWV0aWxhCisJICA8c2FtaS5waWV0aWxhQGdtYWlsLmNvbT4KIAogbGliL3JlYWRsaW5lL3JlYWRsaW5lLmgKIAktIGV4dGVybiBkZWNsYXJhdGlvbiBmb3IgcmxfbWVudV9jb21wbGV0aW9uX2VudHJ5X2Z1bmN0aW9uCkBAIC05MzI0LDMgKzkzMjUsMTQ4NyBAQAogCSAgPGRva29AZGViaWFuLm9yZz4KIAogW2Jhc2gtNC4xIGZyb3plbl0KKworCQkJCSAgIDEyLzMxCisJCQkJICAgLS0tLS0KK1tiYXNoLTQuMSByZWxlYXNlZF0KKworCQkJCSAxLzUvMjAxMAorCQkJCSAtLS0tLS0tLQorZG9jL2Jhc2hyZWYudGV4aQorCS0gZG9jdW1lbnQgY29tcGF0MzIgYW5kIGNvbXBhdDQwIHNob3B0IG9wdGlvbnMuICBPbWlzc2lvbiBwb2ludGVkIG91dAorCSAgYnkgRGlseWFuIFBhbGF1em92IDxEaWx5YW4uUGFsYXV6b3ZAYWVnZWUub3JnPgorCisJCQkJICAgIDEvNgorCQkJCSAgICAtLS0KK2xpYi9yZWFkbGluZS9jb21wbGV0ZS5jCisJLSB1c2UgYGNvbnZmbicgKGNvbnZlcnRlZCBmaWxlbmFtZSkgaW5zdGVhZCBvZiBlbnRyeS0+ZF9uYW1lIChmaWxlbmFtZQorCSAgcmVhZCBmcm9tIGZpbGUgc3lzdGVtKSB3aGVuIGFkZGluZyBwYXJ0aWFsIG9yIGZ1bGwgY29tcGxldGlvbnMgdG8KKwkgIHRoZSBjb21tYW5kIGxpbmUuICBCdWcgYW5kIGZpeCBmcm9tIEd1aWxsYXVtZSBPdXR0ZXJzCisJICA8Z3VpbGxhdW1lLm91dHRlcnNAZnJlZS5mcj4KKworCQkJCSAgICAxLzcKKwkJCQkgICAgLS0tCitidWlsdGlucy9wcmludGYuZGVmCisJLSBmaXggcHJvdG90eXBlIGluIGV4dGVybiBkZWNsYXJhdGlvbiBmb3IgdnNucHJpbnRmLiAgRml4IGZvciBidWcKKwkgIHJlcG9ydGVkIGJ5IFlhbm4gUm91aWxsYXJkIDx5YW5uQHBsZWlhZGVzLmZyLmV1Lm9yZz4KKworCQkJCSAgICAxLzkKKwkJCQkgICAgLS0tCitwYXJzZS55CisJLSBmaXggc2hlbGxfZ2V0YyB0byBoYW5kbGUgYWxpYXMgZXhwYW5zaW9ucyBjb250YWluaW5nIHF1b3RlZAorCSAgbmV3bGluZXMuICBQcm9ibGVtcyBpbiBiYXNoLTQuMSB3aXRoIGFsaWFzZXMgY29udGFpbmluZyBxdW90ZWQKKwkgIG5ld2xpbmVzIGluIHRoZSBtaWRkbGUgb2YgYW5kIGF0IHRoZSBlbmQgb2YgdGhlaXIgZXhwYW5zaW9uLgorCSAgRml4IGZvciBidWcgcmVwb3J0ZWQgYnkgSm9uYXRoYW4gQ2xhZ2dldHQKKwkgIDxqb25hdGhhbkBjbGFnZ2V0dC5vcmc+CisJLSBjaGFuZ2UgbWtfYWxleHBhbnNpb24gdG8gbm90IGFwcGVuZCBhIHNwYWNlIHRvIGFuIGFsaWFzCisJICBleHBhbnNpb24gZW5kaW5nIHdpdGggYSBuZXdsaW5lLiAgV29ya3Mgd2l0aCBzaGVsbF9nZXRjCisKKwkJCQkgICAxLzExCisJCQkJICAgLS0tLQorbGliL2dsb2IvTWFrZWZpbGUuaW4KKwktIGFkZCBkZXBlbmRlbmNpZXMgb24gc2hlbGwuaCBhbmQgcGF0aG5hbWVzLmguICBGcm9tIE1pa2UgRnJ5c2luZ2VyCisJICA8dmFwaWVyQGdlbnRvby5vcmc+CisKKwkJCQkgICAxLzE1CisJCQkJICAgLS0tLQorZG9jL3tiYXNoLjEse2Jhc2hyZWYsdmVyc2lvbn0udGV4aX0sbGliL3JlYWRpbmUvZG9jL3JsdXNlci50ZXhpCisJLSBzb21lIHR5cG8gZml4ZXMgZnJvbSBBaGFyb24gUm9iYmlucyA8YXJub2xkQHNrZWV2ZS5jb20+CisJLSBhZGRlZCBkZXNjcmlwdGlvbnMgb2YgRU5WLCBDT1BST0MsIGFuZCBNQVBGSUxFIHZhcmlhYmxlcworCS0gYWRkZWQgZGVzY3JpcHRpb25zIG9mIFJFQURMSU5FX0xJTkUgYW5kIFJFQURMSU5FX1BPSU5UCisKKwkJCQkgICAxLzIxCisJCQkJICAgLS0tLQorYXJyYXlmdW5jLmMKKwktIGZyZWUgYGFrZXknLCB0aGUgd29yZC1leHBhbmRlZCBpbmRleCBpbnRvIHRoZSBhc3NvYyBhcnJheSB0byBhdm9pZAorCSAgbWVtIGxlYWsgaW4gYXJyYXlfdmFsdWVfaW50ZXJuYWwKKwktIGZyZWUgaW5kZXggaW50byBhc3NvYyBhcnJheSBpbiB1bmJpbmRfYXJyYXlfZWxlbWVudAorCS0gY2hhbmdlIGFycmF5X3ZhbHVlX2ludGVybmFsIHRvIHRha2UgYW4gYWRkaXRpb25hbCBhcmd1bWVudDogYW4KKwkgIGFycmF5aW5kX3QgKi4gIElmIG5vdCBudWxsLCBhbiBpbmRleCB0byBhbiBpbmRleGVkIGFycmF5IGlzCisJICByZXR1cm5lZCB0aGVyZS4gIElmIG5vdCBhbiBpbmRleGVkIGFycmF5IG9yIHN1YnNjcmlwdCBpcyBAIG9yCisJICAqLCB0aGUgdmFsdWUgaXMgdW5jaGFuZ2VkCisKKwkJCQkgICAxLzIyCisJCQkJICAgLS0tLQorYnVpbHRpbnMvdWxpbWl0LmRlZgorCS0gaW5jbHVkZSA8dWxpbWl0Lmg+IGlmIHdlIGZvdW5kIGl0IGR1cmluZyBjb25maWd1cmUgYW5kIHdlIGRvbid0CisJICBoYXZlIHJlc291cmNlcy4gIEZpeGVzIG9taXNzaW9uIHJlcG9ydGVkIGJ5IEpvYWNoaW0gU2NobWl0egorCSAgPGpvam9Ac2NobWl0ei1kaWdpdGFsLmRlPgorCit7Y29uZmlndXJlLGNvbmZpZy5ofS5pbgorCS0gY2hlY2sgZm9yIDx1bGltaXQuaD4sIGRlZmluZSBIQVZFX1VMSU1JVF9IIGlmIGZvdW5kCisKK2xpYi9zaC9vc2xpYi5jCisJLSBpbmNsdWRlIDxzaWduYWwuaD4gZm9yIGV4dGVybiBkZWNsYXJhdGlvbiBmb3Iga2lsbCgyKSBpZgorCSAgSEFWRV9LSUxMUEcgbm90IGRlZmluZWQKKworam9icy5jCisJLSBpZiBIQVZFX0tJTExQRyBpcyBub3QgZGVmaW5lZCwgYWRkIGFuIGV4dGVybiBwcm90b3R5cGUgZGVjbCBmb3IKKwkgIGtpbGxwZygpCisKKwkJCQkgICAxLzI0CisJCQkJICAgLS0tLQorcHJpbnRfY21kLmMKKwktIHdoZW4gcHJpbnRpbmcgaGVyZS1zdHJpbmcgcmVkaXJlY3Rpb25zLCBkb24ndCBxdW90ZSB0aGUgc3RyaW5nLiAgVGhlCisJICBvcmlnaW5hbCBxdW90ZXMsIGlmIGFueSwgYXJlIHN0aWxsIGluIHBsYWNlIGFuZCBkb24ndCBuZWVkIHRvIGJlCisJICByZXF1b3RlZC4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBBcmZyZXZlciBGcmVodGVzIFRhaWZlcnNhciBBcmFoZXNpcworCSAgPGFyZnJldmVyLmZ0YUBnbWFpbC5jb20+CisKK3N1YnN0LmMKKwktIGZpeCBhcnJheV9sZW5ndGhfcmVmZXJlbmNlIHRvIHJldHVybiAwIGZvciB2YXJpYWJsZXMgdGhhdCBoYXZlIG5vdAorCSAgYmVlbiBhc3NpZ25lZCBhIHZhbHVlLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IE1hcnQgRnJhdWVubGFiCisJICA8bWFydC5mcmF1ZW5sb2JAY2hlbGxvLmF0PiwgYnV0IGlzIG5vdCBiYWNrd2FyZHMgY29tcGF0aWJsZQorCithcnJheWZ1bmMuW2NoXQorCS0gY2hhbmdlIGFycmF5X3ZhbHVlIHRvIHRha2UgYSBuZXcgYXJyYXlpbmRfdCAqaW5kcCBwYXJhbWV0ZXIgbGlrZQorCSAgZ2V0X2FycmF5X3ZhbHVlOyBjaGFuZ2VkIGV4dGVybiBwcm90b3R5cGUgZGVjbGFyYXRpb24KKworc3Vic3QuYworCS0gY2hhbmdlZCBjYWxsZXJzIG9mIGFycmF5X3ZhbHVlIHRvIGFkZCBleHRyYSBwYXJhbWV0ZXIKKworZXhwci5jCisJLSBjaGFuZ2UgZXhwcl9zdHJldmFsIHRvIHNldCBhIG5ldyBgbHZhbHVlJyBwYXJhbWV0ZXIgd2l0aCBpbmZvcm1hdGlvbgorCSAgYWJvdXQgdGhlIHN0cmluZyBiZWluZyBldmFsdWF0ZWQ6IHN0cmluZywgdmFsdWUsIGFycmF5IGluZGV4IChpZgorCSAgYW55KSwgdmFyaWFibGUgZXZhbHVhdGVkIChpZiBzZXQpLgorCS0gc2F2aW5nIGFuZCByZXN0b3JpbmcgY3VycmVudCBjb250ZXh0IG5vdyBzYXZlcyBhbmQgcmVzdG9yZXMgdGhlCisJICBjdXJyZW50IGBsdmFsdWUnCisJLSBuZXcgZnVuY3Rpb24gZXhwcl9iaW5kX2FycmF5X2VsZW1lbnQsIGJpbmRzIGFuIGFycmF5IGVsZW1lbnQgd2l0aCBhbgorCSAgYWxyZWFkeS1jb21wdXRlZCBpbmRleCB0byBhIHNwZWNpZmllZCB2YWx1ZQorCS0gYW55d2hlcmUgd2Ugc2V0IHRoZSBjdXJyZW50IHRva2VuIHRvIGEgc3RyaW5nIChTVFIpLCBzYXZlIGFuZCBzZXQKKwkgIHRoZSBjdXJyZW50IGx2YWx1ZQorCS0gY2hhbmdlIGNhbGxzIHRvIGV4cHJfYmluZF92YXJpYWJsZSB0byBjaGVjayB3aGV0aGVyIG9yIG5vdCB0aGUKKwkgIGN1cnJlbnQgbHZhbHVlIGluZGljYXRlcyBhbiBpbmRleGVkIGFycmF5IHdhcyBldmFsdWF0ZWQsIGFuZCwgaWYgc28sCisJICBjYWxsIGV4cHJfYmluZF9hcnJheV9lbGVtZW50IHVzaW5nIHRoZSBhbHJlYWR5LWNvbXB1dGVkIGluZGV4CisJICAoY3VybHZhbC5pbmQpLiAgRml4ZXMgcHJvYmxlbXMgd2l0aCBkeW5hbWljIHZhcmlhYmxlcyAoZS5nLiwgUkFORE9NKQorCSAgaW4gYXJyYXkgaW5kaWNlcyB3aXRoIHtwcmUscG9zdH0te2luYyxkZWN9cmVtZW50IGFuZCBvcD0KKwkgIG9wZXJhdG9ycyByZXBvcnRlZCBieSA8ZGVubmlzQG5ldHN0cmF0YS5jb20+CisKKwkJCQkgICAxLzI1CisJCQkJICAgLS0tLQorZXhwci5jCisJLSBmaXggc3ViZXhwcigpIHRvIGluaXRpYWxpemUgY3VybHZhbCBhbmQgbGFzdGx2YWwgd2hlbiByZXNldHRpbmcgYWxsCisJICBvZiB0aGUgcmVzdCBvZiB0aGUgZXhwcmVzc2lvbi1wYXJzaW5nIHZhcmlhYmxlcworCisJCQkJICAgMS8yNgorCQkJCSAgIC0tLS0KK2J1aWx0aW5zL3NldGF0dHIuZGVmCisJLSBpbiBzaG93X3Zhcl9hdHRyaWJ1dGVzLCBpZiB0aGUgdmFyaWFibGUgaXMgbm90IHNldCAodmFsdWUgPT0gMCksCisJICBkb24ndCBwcmludCBgbmFtZT0iIicsIGp1c3QgcHJpbnQgYG5hbWUnLiAgUG9pbnRlZCBvdXQgYnkKKwkgIE1hcnQgRnJhdWVubGFiIDxtYXJ0LmZyYXVlbmxvYkBjaGVsbG8uYXQ+CisKK2FycmF5ZnVuYy5jCisJLSBmaXggYXJyYXlfa2V5cyB0byByZXR1cm4gTlVMTCBpZiB0aGUgdmFyaWFibGUgaXMgbm90IHNldCBvcgorCSAgaW52aXNpYmxlLiAgUG9pbnRlZCBvdXQgYnkgTWFydCBGcmF1ZW5sYWIgPG1hcnQuZnJhdWVubG9iQGNoZWxsby5hdD4KKwktIGNoYW5nZSBhcnJheV92YWx1ZV9pbnRlcm5hbCB0byByZXR1cm4gTlVMTCBmb3IgdmFyaWFibGUgd2hpY2ggaGFzCisJICBub3QgYmVlbiBzZXQKKworCQkJCSAgIDEvMzAKKwkJCQkgICAtLS0tCitiYXNobGluZS5jCisJLSBpbiBjb21tYW5kX3dvcmRfY29tcGxldGlvbl9mdW5jdGlvbiwgZG9uJ3QgY2FsbCBnbG9iX3BhdHRlcm5fcAorCSAgb24gaGludCAtLSB1c2UgdGhlIGFscmVhZHktY29tcHV0ZWQgYGdsb2JwYXQnLiAgQXQgdGhpcyBwb2ludCwKKwkgIGhpbnQgbWlnaHQgY29udGFpbiBhbiBhbHJlYWR5LWRlcXVvdGVkIGdsb2JiaW5nIGNoYXJhY3RlciwgYnV0CisJICBnbG9iX21hdGNoZXMgd2lsbCBiZSBOVUxMLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5CisJICBjb3lvdGVAd2FyaWF0Lm9yZy5wbAorCisJCQkJICAgIDIvNQorCQkJCSAgICAtLS0KK2J1aWx0aW5zL2V4ZWMuZGVmCisJLSBzZXQgZXh0ZXJuIHZhcmlhYmxlICJleGVjX2FyZ3YwIiB0byB0aGUgYXJndW1lbnQgdG8gLWEKKworc2hlbGwuYworCS0gaWYgZXhlY19hcmd2MCBpcyBzZXQsIHNldCBkb2xsYXJfdmFyc1swXSB0byBpdCBhbmQgc2V0IGl0IHRvIE5VTEwsCisJICBhc3N1bWluZyBpdCB3YXMgc2V0IGJ5IGBleGVjIC1hJy4gIGBleGVjIC1hIGZvbycgbm93IHNldHMgJDAgdG8KKwkgIGZvbyBpbiBhbiBleGVjdXRhYmxlIHNoZWxsIHNjcmlwdCB3aXRob3V0IGEgbGVhZGluZyBgIyEnIChmaXhlcworCSAgbG9uZ3N0YW5kaW5nIGJ1ZykKKworCQkJCSAgICAyLzgKKwkJCQkgICAgLS0tCit2YXJpYWJsZXMuYworCS0gaW4gcHVzaF9mdW5jX3ZhciwgaWYgYSB2YXJpYWJsZSBpcyBpbiBhIHNwZWNpYWwgYnVpbHRpbidzIHRlbXBvcmFyeQorCSAgZW52aXJvbm1lbnQgYW5kIG5lZWRzIHRvIGJlIHByb3BhZ2F0ZWQgYmVjYXVzZSB3ZSdyZSBpbiBQb3NpeCBtb2RlLAorCSAgb3Igd2UganVzdCBuZWVkIHRvIHByb3BhZ2F0ZSBhIHZhcmlhYmxlLCBhbmQgd2UgYXJlIGV4ZWN1dGluZyBpbiBhCisJICBmdW5jdGlvbiB3aXRob3V0IGFueSBsb2NhbCB2YXJpYWJsZXMgKHNvIHRoZSBmdW5jdGlvbi1sb2NhbCB2YXJpYWJsZQorCSAgY29udGV4dCBoYXMgbm8gdmFyaWFibGUgaGFzaCB0YWJsZSksIG1ha2Ugc3VyZSB3ZSBjcmVhdGUgYSBoYXNoCisJICB0YWJsZSBzbyB3ZSBoYXZlIGEgcGxhY2UgdG8gc2F2ZSB0aGUgdmFyaWFibGUgdG8gYmUgcHJvcGFnYXRlZC4KKwkgIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBDcmVzdGV6IERhbiBMZW9uYXJkIDxjZGxlb25hcmRAZ21haWwuY29tPi4KKworCQkJCSAgIDIvMTgKKwkJCQkgICAtLS0tCitidWlsdGlucy9oYXNoLmRlZgorCS0gY2hhbmdlIGFkZF9oYXNoZWRfY29tbWFuZCB0byByZW1vdmUgdGhlIGNvbW1hbmQgYmVpbmcgbG9va2VkIHVwIGZyb20KKwkgIHRoZSBoYXNoIHRhYmxlIGJlZm9yZSB0cnlpbmcgdG8gYWRkIGl0LiAgVGhhdCB3YXksIGlmIGl0J3Mgbm90IGZvdW5kLAorCSAgdGhlcmUgd29uJ3QgYmUgYW55dGhpbmcgcmVtYWluaW5nIGluIHRoZSBoYXNoIHRhYmxlCisKKwkJCQkgICAyLzI2CisJCQkJICAgLS0tLQordHJhcC5bY2hdCisJLSBtb3ZlIElNUE9TU0lCTEVfVFJBUF9IQU5ETEVSIGRlZmluZSB0byB0cmFwLmggc28gb3RoZXIgcGFydHMgb2YgdGhlCisJICBzaGVsbCBjYW4gdXNlIGl0CisKK3BhcnNlLnkKKwktIGNoYW5nZSB5eV9yZWFkbGluZV9nZXQgdG8gdXNlIElNUE9TU0lCTEVfVFJBUF9IQU5ERVIgaW5zdGVhZCBvZiBOVUxMCisJICBhcyBhIHNlbnRpbmVsIHZhbHVlIGZvciB0aGUgU0lHSU5UIHNpZ25hbCBoYW5kbGVyCisJLSBtYWtlIHN1cmUgeXlfcmVhZGxpbmVfZ2V0IHJlc2V0cyBpbnRlcnJ1cHRfaW1tZWRpYXRlbHkgdG8gMCBhZnRlcgorCSAgY2FsbGluZyByZWFkbGluZSgpIHVzaW5nIHRoZSBzYW1lIGNyaXRlcmlhIGl0IHVzZWQgdG8gc2V0IGl0IHRvIDEKKwkgIGJlZm9yZSB0aGUgY2FsbCAtLSBtYWtlIHRoZSBjb2RlIHN5bW1ldHJpYy4gIFN1Z2dlc3RlZCBieSBXZXJuZXIKKwkgIEZpbmsgPHdlcm5lckBzdXNlLmRlPgorCitidWlsdGlucy9yZWFkLmRlZgorCS0gbW92ZSBhc3NpZ25tZW50IHRvIGByZXR2YWwnIGJlZm9yZSBkZWNyZW1lbnQgb2YgaW50ZXJydXB0X2ltbWVkaWF0ZWx5CisJICBhbmQgdGVybWluYXRlX2ltbWVkaWF0ZWx5IGFuZCBjYWxsIHRvIGRpc2NhcmRfdW53aW5kX2ZyYW1lCisJLSBtb3ZlIGFzc2lnbl92YXJzIGxhYmVsIGJlZm9yZSBkZWNyZW1lbnQgb2YgaW50ZXJydXB0X2ltbWVkaWF0ZWx5IGFuZAorCSAgdGVybWluYXRlX2ltbWVkaWF0ZWx5IHNvIHRob3NlIHZhcmlhYmxlcyBnZXQgcmVzZXQgYXBwcm9wcmlhdGVseQorCSAgaWYgcmVhZCAtdCB0aW1lcyBvdXQKKworc3Vic3QuaAorCS0gbmV3IGRlZmluZSBmb3IgUV9ET0xCUkFDRSwgaW5kaWNhdGVzIGRvdWJsZS1xdW90ZWQgJHsuLi59CisKK3N1YnN0LmMKKwktIGluIHBhcmFtZXRlcl9icmFjZV9leHBhbmQsIGJlZm9yZSBjYWxsaW5nIHBhcmFtZXRlcl9icmFjZV9leHBhbmRfcmhzLAorCSAgYWRkIFFfRE9MQlJBQ0UgdG8gYHF1b3RlZCcgaWYgd2UncmUgd2l0aGluIGRvdWJsZSBxdW90ZXMuCisJLSBpbiBleHBhbmRfd29yZF9pbnRlcm5hbCwgaWYgdGhlIFFfRE9MQlJBQ0UgZmxhZyBpcyBzZXQsIHJlbW92ZSBhCisJICBiYWNrc2xhc2ggZXNjYXBpbmcgYSB9LiAgUmVzdWx0IG9mIGEgUG9zaXggZGlzY3Vzc2lvbiBvbiB0aGUKKwkgIGF1c3Rpbi1ncm91cCBsaXN0CisKKwkJCQkgICAyLzI3CisJCQkJICAgLS0tLQordmFyaWFibGVzLmMKKwktIG5ldyBmdW5jdGlvbnMgdG8gc2F2ZSBhbmQgcmVzdG9yZSB0aGUgUElQRVNUQVRVUyB2YXJpYWJsZSdzIGludGVybmFsCisJICBhcnJheTogc2F2ZV9waXBlc3RhdHVzX2FycmF5IGFuZCByZXN0b3JlX3BpcGVzdGF0dXNfYXJyYXkKKwordmFyaWFibGVzLmgKKwktIG5ldyBleHRlcm4gZGVjbGFyYXRpb25zIGZvciBzYXZlX3BpcGVzdGF0dXNfYXJyYXkgYW5kCisJICByZXN0b3JlX3BpcGVzdGF0dXNfYXJyYXkKKwordHJhcC5jCisJLSBpbiBydW5fcGVuZGluZ190cmFwcywgX3J1bl90cmFwX2ludGVybmFsLCBhbmQgcnVuX2V4aXRfdHJhcCwgc2F2ZQorCSAgYW5kIHJlc3RvcmUgJFBJUEVTVEFUVVMgd2hpbGUgdHJhcHMgYXJlIHJ1bm5pbmcuICBGaXhlcyBidWcKKwkgIHJlcG9ydGVkIGJ5IEZsb3JpYW4gQnJ1aGluIDxtZUB0aGUtY29tcGlsZXIub3JnPgorCitwYXJzZS55CisJLSB1c2Ugc2F2ZV9waXBlc3RhdHVzX2FycmF5IGFuZCByZXN0b3JlX3BpcGVzdGF0dXNfYXJyYXkgaW4KKwkgIHNhdmVfcGFyc2VyX3N0YXRlIGFuZCByZXN0b3JlX3BhcnNlcl9zdGF0ZSwgcmVzcGVjdGl2ZWx5LCByZXBsYWNpbmcKKwkgIGlubGluZSBjb2RlCisKK2xpYi9yZWFkbGluZS9oaXN0ZmlsZS5jCisJLSBmaXggY2FsbGVycyBvZiBoaXN0b3J5X2ZpbGVuYW1lIHRvIGJlIHByZXBhcmVkIHRvIGNvcGUgd2l0aCBpdAorCSAgcmV0dXJuaW5nIE5VTEwKKwktIGNoYW5nZSBoaXN0b3J5X2ZpbGVuYW1lIHRvIHJldHVybiBOVUxMIGlmICRIT01FIGlzIG5vdCBzZXQsIHJhdGhlcgorCSAgdGhhbiB0cnlpbmcgdG8gd3JpdGUgdGhlIGhpc3RvcnkgZmlsZSBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuCisJICBUaGlzIGlzIHRoZSBkZWZhdWx0IGRpcmVjdG9yeSwgdXNlZCBvbmx5IGlmIHRoZSBhcHBsaWNhdGlvbiBkb2VzCisJICBub3Qgc3BlY2lmeSBhIGhpc3RvcnkgZmlsZW5hbWUuICBDaGFuZ2VkIGR1ZSB0byBsb25nLWFnbyAodW5zZW50KQorCSAgYnVnIHJlcG9ydCBmcm9tIE9wZW5CU0QKKwore01ha2VmaWxlLGNvbmZpZy5oLGNvbmZpZ3VyZX0uaW4sZXh0ZXJucy5oLGxpYi9zaC97ZHByaW50Zi5jLE1ha2VmaWxlLmlufQorCS0gY2hhbmdlIGZkcHJpbnRmIHRvIGRwcmludGYsIHdoaWNoIGlzIHRoZSBQb3NpeCBzdGFuZGFyZCBpbnRlcmZhY2UsCisJICBsb29rIGZvciBpdCB3aXRoIGNvbmZpZ3VyZSwgcmVwbGFjZSBpdCBpZiBub3QgYXZhaWxhYmxlCisKKwkJCQkgICAyLzI4CisJCQkJICAgLS0tLQorY29tbWFuZC5oCisJLSBhZGQgbmV3IHN1YnNoZWxsIGZsYWcsIFNVQlNIRUxMX1JFU0VUVFJBUC4gIEluZGljYXRlcyB0byB0aGUgdHJhcAorCSAgYnVpbHRpbiB0aGF0IHRoZSBzaGVsbCBpcyBleGVjdXRpbmcgYSBjb21tYW5kIHN1YnN0aXR1dGlvbiBhbmQKKwkgIHNob3VsZCBmcmVlIHRoZSB0cmFwIHN0cmluZ3Mgd2UgbGVmdCB1bmZyZWVkIGJ5IHJlc2V0X3NpZ25hbF9oYW5kbGVycygpCisKK3RyYXAuYworCS0gZnJlZV90cmFwX3N0cmluZygpIGFuZCBmcmVlX3RyYXBfc3RyaW5ncygpIGFyZSBub3cgY29tcGlsZWQgaW4KKworYnVpbHRpbnMvdHJhcC5kZWYKKwktIGlmIGNoYW5naW5nIGEgc2lnbmFsIGRpc3Bvc2l0aW9uIGFuZCB0aGUgU1VCU0hFTExfUkVTRVRUUkFQIGZsYWcgaXMKKwkgIHNldCBpbiBzdWJzaGVsbF9lbnZpcm9ubWVudCwgZnJlZSB0aGUgdHJhcCBzdHJpbmdzIGxlZnQgdW5mcmVlZCBieQorCSAgcmVzZXRfc2lnbmFsX2hhbmRsZXJzCisKK3N1YnN0LmMKKwktIGluIGNvbW1hbmRfc3Vic3RpdHV0ZSwgc2V0IHRoZSBTVUJTSEVMTF9SRVNFVFRSQVAgZmxhZy4gIFRoaXMgY2hhbmdlCisJICBpcyBmb3IgQXVzdGluIEdyb3VwIFBvc2l4IGludGVycHJldGF0aW9uIDUzCisJICAoaHR0cDovL2F1c3Rpbmdyb3VwYnVncy5uZXQvdmlldy5waHA/aWQ9NTMpCisKKwkJCQkgICAgMy83CisJCQkJICAgIC0tLQorbGliL3NoL3tNYWtlZmlsZS5pbixzdHJjaHJudWwuY30sTWFrZWZpbGUuaW4KKwktIGltcGxlbWVudGF0aW9uIG9mIHN0cmNocm51bCwgZnJvbSBnbnVsaWIKKworY29uZmlndXJlLmluLGNvbmZpZy5oLmluCisJLSBsb29rIGZvciBzdHJjaHJudWwgYW5kIGNvbXBpbGUgaW4gdmVyc2lvbiBpbiBsaWIvc2gvc3RyY2hybnVsLmMgaWYKKwkgIG5vdCBhdmFpbGFibGUKKwktIGxvb2sgZm9yIG1ic25ydG93Y3MgYW5kIGRlZmluZSBIQVZFX01CU05SVE9XQ1MgaWYgYXZhaWxhYmxlCisKK2xpYi9zaC94bWJzcnRvd2NzLmMKKwktIG5ldyBmdW5jdGlvbiwgeGR1cG1ic3Rvd2NzMiwgZmFzdCB2ZXJzaW9uIG9mIHhkdXBtYnN0b3djcyB1c2VkIHdoZW4KKwkgIG1ic25ydG93Y3MgaXMgYXZhaWxhYmxlIGFuZCB0aGUgaW5kaWNlcyBhcmUgbm90IHJlcXVpcmVkLiAgQ2FsbGVkCisJICBmcm9tIHhkdXBtYnN0b3djcyBhcyByZXF1aXJlZC4gIEluaXRpYWwgcGF0Y2ggZnJvbQorCSAgPDB4ZTIuMHg5YS4weDliQGdtYWlsLmNvbT4KKworCQkJCSAgIDMvMjIKKwkJCQkgICAtLS0tCitwcmludF9jbWQuYworCS0gY2FsbCBwcmludF9kZWZlcnJlZF9oZXJlZG9jcyB2aXJ0dWFsbHkgZXZlcnkgdGltZSBhIHJlY3Vyc2l2ZSBjYWxsCisJICB0byBtYWtlX2NvbW1hbmRfc3RyaW5nX2ludGVybmFsIGlzIG1hZGUgc28gaGVyZSBkb2N1bWVudHMgZ2V0CisJICBwcmludGVkIGNvcnJlY3RseSB3aGVuIHRoZXkgYXJlIGF0dGFjaGVkIHRvIGNvbW1hbmRzIGluc2lkZSBjb21wb3VuZAorCSAgY29tbWFuZHMgc3VjaCBhcyBmb3IgYW5kIHdoaWxlLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IE1pa2UKKwkgIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisKKwkJCQkgICAzLzI1CisJCQkJICAgLS0tLQorYnVpbHRpbnMvcHJpbnRmLmRlZgorCS0gZml4IGhhdmVfcHJlY2lzaW9uIGNhc2UgaW4gUEYgbWFjcm8gdG8gY2FsbCBwcmludGYgd2l0aCBwcmVjaXNpb24KKwkgIGluc3RlYWQgb2YgZmllbGR3aWR0aCBhcmd1bWVudC4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBSb2IgUm9iYXNvbgorCSAgPHJvYkByb2Jhc29uLm5ldD4KKworCQkJCSAgIDMvMjYKKwkJCQkgICAtLS0tCit0cmFwLltjaF0KKwktIG5ldyBmdW5jdGlvbiwgc2lnbmFsX2lzX2hhcmRfaWdub3JlZCwgcmV0dXJucyB0cnVlIGlmIHRoZSBzaGVsbAorCSAgaW5oZXJpdGVkIFNJR19JR04gYXMgYSBzaWduYWwncyBkaXNwb3NpdGlvbgorCS0gbmV3IGZ1bmN0aW9uLCBzZXRfb3JpZ2luYWxfc2lnbmFsIChzaWcsIGhhbmRsZXIpLCBwcm92aWRlcyBpbnRlcmZhY2UKKwkgIGZvciByZXN0IG9mIHNoZWxsIHRvIHNldCBvcmlnaW5hbF9zaWduYWxzW3NpZ10gPSBoYW5kbGVyCisKK2V4ZWN1dGVfY21kLmMKKwktIGV4ZWN1dGVfZGlza19jb21tYW5kIG5lZWRzIHRvIGNhbGwgcmVzZXRfdGVybWluYXRpbmdfc2lnbmFscyBpbiB0aGUKKwkgIGNoaWxkIHByb2Nlc3MgYmVmb3JlIHJlc2V0dGluZyB0cmFwcyB3aXRoIHJlc3RvcmVfb3JpZ2luYWxfc2lnbmFscworCitidWlsdGlucy90cmFwLmRlZgorCS0gY2FsbCBpbml0aWFsaXplX3Rlcm1pbmF0aW5nX3NpZ25hbHMgYmVmb3JlIGNhbGxpbmcgZGlzcGxheV90cmFwcyBmb3IKKwkgIHRyYXAgLXAgb3IgdHJhcCB3aXRob3V0IGFueSBvdGhlciBhcmd1bWVudHMuICBQb3NzaWJsZSBmdXR1cmUgdXNlCisKK2xpYi9yZWFkbGluZS9jb21wbGV0ZS5jCisJLSBybF9maWxlbmFtZV9jb21wbGV0aW9uX2Z1bmN0aW9uIG5lZWRzIHRvIGNhbGwKKwkgIHJsX2ZpbGVuYW1lX2RlcXVvdGluZ19mdW5jdGlvbiB3aXRoIGBkaXJuYW1lJyAod2hpY2ggaGFzIGFscmVhZHkKKwkgIGJlZW4gdGlsZGUtZXhwYW5kZWQpIGluc3RlYWQgb2YgYHVzZXJzX2Rpcm5hbWUnLCBiZWNhdXNlIGl0IGNhbGxzCisJICBvcGVuZGlyIHdpdGggYGRpcm5hbWUnLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IFN0ZWZhbiBILiBIb2xlayAKKwkgIDxzdGVmYW5AamFybi5jb20+CisKKwkJCQkgICAzLzI3CisJCQkJICAgLS0tLQorc2lnLmMKKwktIGV4cGVyaW1lbnRhbCBjaGFuZ2UgdG8gc2V0X3NpZ25hbF9oYW5kbGVyOiB3aGVuIHNldHRpbmcgdGhlIFNJR0NITEQKKwkgIGhhbmRsZXIsIHNldCB0aGUgU0FfUkVTVEFSVCBmbGFnIHNvIHRoYXQgaW50ZXJydXB0aWJsZSBzeXN0ZW0gY2FsbHMKKwkgIGdldCByZXN0YXJ0ZWQgYWZ0ZXIgYSBjaGlsZCBkaWVzLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IFRvbWFzCisJICBUcm5rYSA8dG9tYXN0cm5rYUBnbXguY29tPiwgYnV0IG5lZWRzIGZ1cnRoZXIgZXZhbHVhdGlvbgorCitsaWIvc2gvZWFjY2Vzcy5jCisJLSBlYWNjZXNzKDIpIGFwcGFyZW50bHkgZG9lcyBvbmx5IGhhbGYgdGhlIGpvYjogaXQgZG9lcyBub3QgY2hlY2sgdGhhdAorCSAgdGhlIHBlcm1pc3Npb24gYml0cyBvbiBhIGZpbGUgYWN0dWFsbHkgYWxsb3csIGZvciBpbnN0YW5jZSwgZXhlY3V0aW9uLgorCSAgTmVlZCB0byBhdWdtZW50IHdpdGggYSBjYWxsIHRvIHNoX3N0YXRhY2Nlc3MgaWYgZWFjY2VzcyByZXR1cm5zCisJICBzdWNjZXNzIG9uIEZyZWVCU0QuICBGaXhlcyBGcmVlQlNEIHByb2JsZW0gcmVwb3J0ZWQgYnkgSm9uYW4gSGF0dG5lCisJICA8am9oYW4uaGF0dG5lQHV0c291dGh3ZXN0ZXJuLmVkdT4KKworCQkJCSAgIDMvMjgKKwkJCQkgICAtLS0tCitwYXJzZS55LGJhc2hsaW5lLmMsZXh0ZXJucy5oCisJLSBoaXN0b3J5X2RlbGltaXRpbmdfY2hhcnMgbm93IHRha2VzIGEgY29uc3QgY2hhciAqIGFzIGFuIGFyZ3VtZW50OgorCSAgdGhlIGxpbmUgYmVpbmcgYWRkZWQgdG8gdGhlIGhpc3RvcnkuICBDaGFuZ2VkIGNhbGxlcnMKKworcGFyc2UueQorCS0gYmFzaF9hZGRfaGlzdG9yeSBzaG91bGQgbm90IGFkZCBhIHNlbWljb2xvbiBzZXBhcmF0b3IgaWYgdGhlIGN1cnJlbnQKKwkgIGhpc3RvcnkgZW50cnkgYWxyZWFkeSBlbmRzIGluIGEgbmV3bGluZS4gIEl0IGNhbiBpbnRyb2R1Y2Ugc3ludGF4CisJICBlcnJvcnMgKGUuZy4sIHdoZW4gaXQgcmVzdWx0cyBpbiBhIG51bGwgY29tbWFuZCBiZWZvcmUgYSBjbG9zZSBicmFjZSkuCisJICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgQW5kcmVhcyBTY2h3YWIgPHNjaHdhYkBsaW51eC1tNjhrLm9yZz4KKworcGFyc2UueQorCS0gaGlzdG9yeV9kZWxpbWl0aW5nX2NoYXJzIG5lZWRzIHRvIHJldHVybiBhIG5ld2xpbmUgaW5zdGVhZCBvZiBhCisJICBzZW1pY29sb24gaWYgaXQgdGhpbmtzIHRoZSBjdXJyZW50IGxpbmUgc3RhcnRzIGEgaGVyZSBkb2N1bWVudAorCSAgKGlmIGl0IGNvbnRhaW5zIGA8PCcpLiAgQWxzbyBrZWVwcyB0cmFjayBvZiB0aGUgZmFjdCB3aXRoIGEgbmV3CisJICBzdGF0aWMgdmFyaWFibGUsIExBU1RfV0FTX0hFUkVET0MsIHNvIGl0IGNhbiByZXR1cm4gdGhlIHJpZ2h0CisJICBzZXF1ZW5jZSBvZiBuZXdsaW5lcyBsYXRlciBmb3IgdGhlIGhlcmUtZG9jdW1lbnQgYm9keS4gIEZpeGVzIGJ1ZworCSAgcmVwb3J0ZWQgYnkgQW5kcmVhcyBTY2h3YWIgPHNjaHdhYkBsaW51eC1tNjhrLm9yZz4KKworCQkJCSAgIDMvMjkKKwkJCQkgICAtLS0tCitsaWIvc2gvZWFjY2Vzcy5jCisJLSBpZiB0aGUgc3lzdGVtIGhhcyBmYWNjZXNzYXQsIHNoX2VhY2Nlc3Mgd2lsbCBub3cgdXNlIGl0IGluCisJICBwcmVmZXJlbmNlIHRvIGFsbCBvdGhlciBvcHRpb25zCisKKwkJCQkgICAzLzMwCisJCQkJICAgLS0tLQorc3Vic3QuaAorCS0gbmV3IHN0cmluZ19leHRyYWN0IGFuZCBleHRyYWN0X2RvbGxhcl9icmFjZV9zdHJpbmcgZmxhZyB2YWx1ZToKKwkgIFNYX1BPU0lYRVhQLCBzZXQgaWYgdGhlIHNoZWxsIGlzIGV4cGFuZGluZyBvbmUgb2YgdGhlIG5ldyBQb3NpeAorCSAgcGF0dGVybiByZW1vdmFsIHdvcmQgZXhwYW5zaW9ucworCitwYXJzZXIuaAorCS0gbmV3IGRlZmluaXRpb25zIGZvciAid29yZCBleHBhbnNpb24gc3RhdGUiLCBzaGFyZWQgYmV0d2VlbiBwYXJzZS55CisJICBhbmQgc3Vic3QuYworCitzdWJzdC5jCisJLSBpbmNsdWRlIHBhcnNlci5oCisKKwkJCQkgICAgNC85CisJCQkJICAgIC0tLQorYnVpbHRpbnMvZGVjbGFyZS5kZWYKKwktIG1ha2Ugc3VyZSBkZWNsYXJlX2ludGVybmFsIGNhbGxzIGJpbmRfYXNzb2NfdmFyaWFibGUgd2l0aCBuZXdseS0KKwkgIGFsbG9jYXRlZCBtZW1vcnkgZm9yIHRoZSBrZXkgYXJndW1lbnQgd2hlbiB1c2luZyBhbiBpbXBsaWNpdCBrZXkKKwkgIG9mICIwIi4gIEJ1ZyByZXBvcnQgYW5kIGZpeCBmcm9tIEFuZHJlYXMgU2Nod2FiCisJICA8c2Nod2FiQGxpbnV4LW02OGsub3JnPgorCisJCQkJICAgNC8xNAorCQkJCSAgIC0tLS0KK2xpYi9yZWFkbGluZS9pbnB1dC5jCisJLSByZXN0cnVjdHVyZSB0aGUgcmxfZXZlbnRfaG9vayBsb29wIGluIHJsX3JlYWRfa2V5IHRvIGNhbGwgdGhlCisJICBldmVudCBob29rIGFmdGVyIHJsX2dhdGhlcl90eWkoKSByZXR1cm5zIGFuZCBybF9nZXRfY2hhciBoYXMKKwkgIGEgY2hhbmNlIHRvIGNvbGxlY3QgdGhlIGlucHV0LiAgUHJldmlvdXMgYmVoYXZpb3Igd2FzIHRvIGNhbGwKKwkgIHRoZSBldmVudCBob29rIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHJlYWQgaW5wdXQuICBQcm9ibGVtCisJICByZXBvcnRlZCBieSBBbmFudCBTaGFua2FyIDxhbmFudHNoYW5rYXIxN0BnbWFpbC5jb20+CisKKwkJCQkgICA0LzE1CisJCQkJICAgLS0tLQorYnVpbHRpbnMvZmMuZGVmCisJLSBmY19idWlsdGluIG5lZWRzIHRvIGNoZWNrIHdoZXRoZXIgdGhlIGNhbGN1bGF0aW9uIG9mIGxhc3RfaGlzdAorCSAgbGVhdmVzIGhsaXN0W2xhc3RfaGlzdF0gPT0gMCwgYW5kIGtlZXAgZGVjcmVtZW50aW5nIGl0IHVudGlsIGl0CisJICBsZWF2ZXMgYSBub24tbnVsbCBoaXN0b3J5IGVudHJ5IG9yIGdvZXMgPCAwLiAgQ3VycmVudGx5IG9ubHkKKwkgIGRvZXMgdGhpcyBpZiBzYXZlZF9jb21tYW5kX2xpbmVfY291bnQgPiAwLCBpbmRpY2F0aW5nIHdlJ3JlCisJICB0cnlpbmcgdG8gZWRpdCBhIG11bHRpLWxpbmUgY29tbWFuZC4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieQorCSAgUm9tYW4gUmFrdXMgPHJyYWt1c0ByZWRoYXQuY29tPgorCisJCQkJICAgNC8xNworCQkJCSAgIC0tLS0KK3N1YnN0LmMKKwktIG5ldyBwcm9jZXNzIHN1YnN0aXR1dGlvbiBoZWxwZXIgZnVuY3Rpb25zOgorCQl1bmxpbmtfZmlmbyAtIGNsb3NlcyBhIHNpbmdsZSBGRCBvciBGSUZPCisJCW51bV9maWZvcyAtIHJldHVybnMgbnVtYmVyIG9mIG9wZW4gRkRzIG9yIGFjdGl2ZSBGSUZPcworCQljb3B5X2ZpZm9fbGlzdCAtIHJldHVybnMgYSBiaXRtYXAgb2Ygb3BlbiBGRHMgb3IgYWN0aXZlIEZJRk9zCisJCSAgYnkgaW5kZXggaW50byBhcHByb3ByaWF0ZSBsaXN0IChkZXZfZmRfbGlzdCBvciBmaWZvX2xpc3QpCisJCWNsb3NlX25ld19maWZvcyAtIHRha2UgYSBiaXRtYXAgc2F2ZWQgYnkgY29weV9maWZvX2xpc3QgYW5kCisJCSAgY2FsbCB1bmxpbmtfZmlmbyBvbiBhbnkgRkQgb3IgRklGTyBvcGVuIGF0IHRoZSB0aW1lIG9mIHRoZQorCQkgIGNhbGwgdGhhdCBpcyBub3QgbWFya2VkIGFzIGFjdGl2ZSBpbiBsaXN0CisKK2V4ZWN1dGVfY21kLmMKKwktIGV4ZWN1dGVfYnVpbHRpbl9vcl9mdW5jdGlvbjogdXNlIG5ldyBmcmFtZXdvcmsgdG8gY2xvc2UgcHJvY2VzcworCSAgc3Vic3RpdHV0aW9uIEZEcyBvciBGSUZPcyBjcmVhdGVkIGJ5IGEgc2hlbGwgYnVpbHRpbiBvciBzaGVsbAorCSAgZnVuY3Rpb24uICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgQ2hhcmxlcyBEdWZmeSA8Y2hhcmxlc0BkeWZpcy5uZXQ+CisKK2RvYy97YmFzaC4xLGJhc2hyZWYudGV4aX0KKwktIGRvY3VtZW50ICdDIGFuZCAiQyBjb25zdGFudHMgZm9yIHByaW50ZiBidWlsdGluCisKKwkJCQkgICA0LzIyCisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL2NvbXBsZXRlLmMKKwktIG5ldyBmdW5jdGlvbiB0byByZXR1cm4gc2NyZWVud2lkdGggZm9yIHVzZSB3aGVuIGRpc3BsYXlpbmcgcG9zc2libGUKKwkgIG1hdGNoZXM6IGNvbXBsZXRlX2dldF9zY3JlZW53aWR0aDsgY2hhbmdlZCB1c2VzIG9mIF9ybF9zY3JlZW53aWR0aAorCSAgdG8gdXNlIGNvbXBsZXRlX2dldF9zY3JlZW53aWR0aCgpLgorCS0gY2hhbmdlIGNvbXBsZXRlX2dldF9zY3JlZW53aWR0aCB0byBxdWVyeSAocmVhZGxpbmUtcHJpdmF0ZSkKKwkgIF9ybF9jb21wbGV0aW9uX2NvbHVtcywgJENPTFVNTlMsIHRoZW4gX3JsX3NjcmVlbndpZHRoIGluIHRoYXQgb3JkZXIKKwktIGNoYW5nZSBybF9kaXNwbGF5X21hdGNoX2xpc3QgdG8gZGVhbCB3aXRoIGxpbWl0IDwgMCAod2hpY2ggaW1wbGllcworCSAgdGhhdCBjb2xzID09IDApIHdoZW4gX3JsX3NjcmVlbndpZHRoID4gMAorCitsaWIvcmVhZGxpbmUvYmluZC5jCisJLSBuZXcgYmluZGFibGUgdmFyaWFibGU6IGNvbXBsZXRpb24tZGlzcGxheS13aWR0aCwgY29udHJvbHMgdGhlCisJICBudW1iZXIgb2YgY29sdW1ucyB1c2VkIHdoZW4gZGlzcGxheWluZyBjb21wbGV0aW9ucyB3aXRoIG5ldworCSAgc3ZfY29tcHdpZHRoIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiB2YWx1ZSBpcyBzZXQgb3IgdW5zZXQKKworbGliL3JlYWRsaW5lL2RvYy97cmVhZGxpbmUuMyxybHRlY2gudGV4aX0KKwktIGRvY3VtZW50ZWQgY29tcGxldGlvbi1kaXNwbGF5LXdpZHRoIHZhcmlhYmxlCisKKwkJCQkgICA0LzIzCisJCQkJICAgLS0tLQorZXhlY3V0ZV9jbWQuYworCS0gY2hhbmdlIGV4ZWN1dGVfaW5fc3Vic2hlbGwgdG8gcmVzZXQgdHJhcCBoYW5kbGVycyB3aXRob3V0IGZyZWVpbmcKKwkgIHRoZSB0cmFwIHN0cmluZ3MgYW5kIHNldCBTVUJTSEVMTF9SRVNFVFRSQVAuICBJbiBsaW5lIHdpdGggQXVzdGluCisJICBHcm91cCBpbnRlcnAgIzUzICh0cmFwIGluIGEgc3Vic2hlbGwpLgorCS0gZGl0dG8gZm9yIGV4ZWN1dGVfc2ltcGxlX2NvbW1hbmQgd2hlcmUgaXQgY2FuIGJlIGRldGVybWluZWQgdGhhdAorCSAgdGhlIHNoZWxsIGlzIGdvaW5nIHRvIHJ1biBhIGJ1aWx0aW4gb3IgZnVuY3Rpb24gaW4gYSBzdWJzaGVsbAorCit0cmFwLmMKKwktIG5ldyBmdW5jdGlvbiwgZ2V0X2FsbF9vcmlnaW5hbF9zaWduYWxzLCByZXRyaWV2ZXMgdGhlIG9yaWdpbmFsCisJICBzaWduYWwgZGlzcG9zaXRpb24gZm9yIGFsbCBzaWduYWxzCisKK3RyYXAuaAorCS0gZXh0ZXJuIGRlY2xhcmF0aW9uIGZvciBnZXRfYWxsX29yaWdpbmFsX3NpZ25hbHMKKworYnVpbHRpbnMvdHJhcC5kZWYKKwktIGNoYW5nZSBzaG93dHJhcCB0byBkaXNwbGF5IHNpZ25hbHMgdGhhdCBhcmUgImhhcmQgaWdub3JlZCIgYXMKKwkgIHRyYXAgY29tbWFuZHMgdG8gaWdub3JlIHRoZW0sIGV2ZW4gdGhvdWdoIHRoYXQgdHJhcCBjb21tYW5kIHdvdWxkCisJICBiZSBhIG5vLW9wLiAgUGFydGlhbCBmaXggZm9yIGZlYXR1cmUgcmVxdWVzdCBmcm9tIFNpZGRoZXNoCisJICBQb3lhcmVrYXIgPHNpZGRoZXNoLnBveWFyZWthckBnbWFpbC5jb20+CisJLSBjaGFuZ2UgdHJhcF9idWlsdGluIHRvIGNhbGwgZ2V0X2FsbF9vcmlnaW5hbF9zaWduYWxzIGJlZm9yZSBkaXNwbGF5aW5nCisJICB0cmFwcy4gIFRoaXMgd2lsbCBzaG93IGluaGVyaXRlZCBpZ25vcmVkIHNpZ25hbHMuICBSZXN0IG9mIGZlYXR1cmUKKwkgIHJlcXVlc3QgZnJvbSBTaWRkaGVzaCBQb3lhcmVrYXIgPHNpZGRoZXNoLnBveWFyZWthckBnbWFpbC5jb20+CisKK2xpYi9yZWFkbGluZS9oaXN0ZXhwYW5kLmMKKwktIGZpeCBoaXN0b3J5X3Rva2VuaXplX3dvcmQgc28gdGhhdCBpdCB1bmRlcnN0YW5kcyAkKC4uLikgYW5kIHRoZQorCSAgIDwoLi4uKSBhbmQgPiguLi4pIGV4cGFuc2lvbnMgYXMgYSBzaW5nbGUgd29yZAorCS0gY2hhbmdlIGhpc3RvcnlfdG9rZW5pemVfd29yZCBzbyB0aGF0IGl0IHVuZGVyc3RhbmRzIGV4dGVuZGVkIHNoZWxsCisJICBnbG9iYmluZyBwYXR0ZXJucyBhcyBhIHNpbmdsZSB3b3JkLiAgQ29kZSBpcyB2ZXJ5IHNpbWlsYXIgdG8KKwkgICQoLi4uKSBjb2RlIGFib3ZlLiAgQnVnIHJlcG9ydGVkIGJ5IFJhamVldiBWLiBQaWxsYWkKKwkgIDxyYWplZXZ2cEBnbWFpbC5jb20+CisKKwkJCQkgICA0LzI0CisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL3ZpX21vZGUuYworCS0gYWRkIGNoZWNrcyB0byBybF92aV9jaGFyX3NlYXJjaCB0byBtYWtlIHN1cmUgd2UndmUgYWxyZWFkeSBkb25lIGEKKwkgIHNlYXJjaCBpZiB0aGUgY29tbWFuZCBpcyBgOycgb3IgYCwnLCBhbmQgcmV0dXJuIGltbWVkaWF0ZWx5IGlmIHdlCisJICBoYXZlIG5vdC4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBFcmljIEhvIDxlcmljbWhvQHNoYXcuY2E+CisKK2xpYi9yZWFkbGluZS90ZXh0LmMKKwktIG1ha2Ugc3VyZSBgZGlyJyBpcyBpbiB0aGUgdmFsaWQgcmFuZ2UgYmVmb3JlIHNlYXJjaGluZyBpbgorCSAgX3JsX2NoYXJfc2VhcmNoX2ludGVybmFsLiAgUmFuZ2UgY2hlY2tzIGluIHRoZSBjb2RlIGRlcGVuZCBvbiBpdAorCSAgYmVpbmcgbm9uLXplcm8KKworCQkJCSAgICA1LzMKKwkJCQkgICAgLS0tCitsaWIvcmVhZGxpbmUvY29tcGxldGUuYworCS0gaW4gcmxfY29tcGxldGVfaW50ZXJuYWwsIGlmIHNob3ctYWxsLWlmLWFtYmlndW91cyBvcgorCSAgc2hvdy1hbGwtaWYtdW5tb2RpZmllZCBhcmUgc2V0ICh3aGF0X3RvX2RvID09ICchJyBvciAnQCcsCisJICByZXNwZWN0aXZlbHkpLCBhbmQgdGhlIGNvbW1vbiBtYXRjaCBwcmVmaXggaXMgc2hvcnRlciB0aGFuIHRoZQorCSAgdGV4dCBiZWluZyBjb21wbGV0ZWQsIGluaGliaXQgaW5zZXJ0aW5nIHRoZSBtYXRjaC4KKwkgIFRoZSBndWVzcyBpcyB0aGF0IHJlcGxhY2luZyB0ZXh0IHdpdGggYSBzaG9ydGVyIG1hdGNoIHdpbGwgbm90CisJICBiZSB3YW50ZWQKKworCQkJCSAgIDUvMjAKKwkJCQkgICAtLS0tCitsaWIvc2gvdW5pY29kZS5jCisJLSBuZXcgZmlsZSwgd2l0aCB1bmljb2RlIGNoYXJhY3RlciBjb252ZXJzaW9uLXJlbGF0ZWQgY29kZS4gIFdpbGwgYmUKKwkgIHVzZWQgdG8gaW1wbGVtZW50IFx1IGFuZCBcVSBlc2NhcGVzIHdoZXJlIGFwcHJvcHJpYXRlLCBhbmQgZm9yCisJICBvdGhlciB1bmljb2RlLXJlbGF0ZWQgZnVuY3Rpb25zIGluIHRoZSBmdXR1cmUKKworCQkJCSAgIDUvMjEKKwkJCQkgICAtLS0tCitidWlsdGlucy9wcmludGYuZGVmCisJLSBhZGQgY29kZSB0byBoYW5kbGUgXHUgYW5kIFxVIGVzY2FwZXMgaW4gZm9ybWF0IHN0cmluZ3MgYW5kIGFyZ3VtZW50cworCSAgcHJvY2Vzc2VkIGJ5IHRoZSAlYiBmb3JtYXQgc3BlY2lmaWVyCisKK2xpYi9zaC9zdHJ0cmFucy5jCisJLSBhZGQgY29kZSB0byBoYW5kbGUgXHUgYW5kIFxVIGVzY2FwZXMgYXMgdW5pY29kZSBjaGFyYWN0ZXJzLCB3b3JrcyBmb3IKKwkgIGJvdGggYGVjaG8gLWUnIGFuZCAkJy4uLicKKworZG9jL3tiYXNoLjEsYmFzaHJlZi50ZXhpfQorCS0gZG9jdW1lbnQgbmV3IFx1IGFuZCBcVSBlc2NhcGUgc2VxdWVuY2VzIGZvciAkJy4uLicgYW5kIGVjaG8gKHByaW50ZgorCSAgZGVmZXJzIHRvIHRoZSBzeXN0ZW0ncyBtYW4gcGFnZSBvciBQb3NpeCkKKworCQkJCSAgIDUvMjQKKwkJCQkgICAtLS0tCitleGVjdXRlX2NtZC5jCisJLSBjaGFuZ2UgZXhlY3V0ZV9kaXNrX2NvbW1hbmQgdG8gcmV0dXJuIGEgc3RhdHVzLCBpbnN0ZWFkIG9mIGp1c3QKKwkgIGxlYXZpbmcgaXQgaW4gYGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlJywgc2luY2UgdGhlIHBhcmVudCdzIHJldHVybgorCSAgdmFsdWUgaXMgc29tZXRpbWVzIHVzZWQgKGUuZy4sIHdoZW4gYSByZXN0cmljdGVkIHNoZWxsIHJlZnVzZXMgdG8KKwkgIHJ1biBhIGNvbW1hbmQgd2l0aCBhIGAvJykuICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgRGF2aWQgUGl0dAorCSAgPERhdmlkLlBpdHRAYW56LmNvbT4KKworCQkJCSAgIDUvMjUKKwkJCQkgICAtLS0tCitiYXNobGluZS5jCisJLSBjaGFuZ2UgYmFzaCBjb21wbGV0aW9uIGZ1bmN0aW9ucyB0byBzYXZlIGFuZCByZXN0b3JlIHRoZSB2YWx1ZSBvZgorCSAgcmxfaWdub3JlX3NvbWVfY29tcGxldGlvbnNfZnVuY3Rpb24sIGFuZCBzZXQgaXQgdG8gdGhlIGJhc2ggZGVmYXVsdAorCSAgb2YgZmlsZW5hbWVfY29tcGxldGlvbl9pZ25vcmUgd2hlcmUgYXBwcm9wcmlhdGUuICBGaXhlcyBidWcKKwkgIHJlcG9ydGVkIGJ5IEhlbm5pbmcgQmVrZWwgPGguYmVrZWxAZ29vZ2xlbWFpbC5jb20+CisKK3ZhcmlhYmxlcy5jCisJLSBuZXcgY29udmVuaWVuY2UgZnVuY3Rpb246IGZpbmRfZ2xvYmFsX3ZhcmlhYmxlIChuYW1lKS4gIExvb2tzIGZvcgorCSAgTkFNRSBpbiB0aGUgZ2xvYmFsIHZhcmlhYmxlcyB0YWJsZSwgc2tpcHBpbmcgYW55IGxvY2FsIGFuZAorCSAgdGVtcG9yYXJ5IGVudmlyb25tZW50IHZhcmlhYmxlcworCitidWlsdGlucy9kZWNsYXJlLmRlZgorCS0gYWRkIG5ldyAtZyBvcHRpb24gdG8gZGVjbGFyZS90eXBlc2V0L2xvY2FsLCBmb3JjZXMgdmFyaWFibGVzIHRvIGJlCisJICBjcmVhdGVkIG9yIG1vZGlmaWVkIGF0IHRoZSBnbG9iYWwgc2NvcGUgd2hlbiBleGVjdXRpbmcgaW5zaWRlIGEKKwkgIHNoZWxsIGZ1bmN0aW9uLiAgUmVxdWVzdGVkIGJ5IG1hbnksIG1vc3QgcmVjZW50bHkgYnkKKwkgIGtvbnNvbGVib3hAZ21haWwuY29tCisKKwkJCQkgICA1LzI3CisJCQkJICAgLS0tLQordGVzdC5jCisJLSBhZGRlZCBuZXcgYC12IHZhcicgdW5hcnkgdGVzdCBvcGVyYXRvcjsgcmV0dXJucyBUUlVFIGlmIHZhciBpcyBzZXQKKwkgIChpLmUuLCBoYXMgYmVlbiBhc3NpZ25lZCBhIHZhbHVlKS4gIFdvcmtzIGluIGJvdGggdGVzdCBidWlsdGluIGFuZAorCSAgW1sgY29uZGl0aW9uYWwgY29tbWFuZAorCitkb2Mve2Jhc2guMSxiYXNocmVmLnRleGl9CisJLSBkb2N1bWVudGVkIG5ldyBgLXYgdmFyJyB1bmFyeSBjb25kaXRpb25hbCBvcGVyYXRvcgorCit0ZXN0cy90ZXN0LnRlc3RzCisJLSBhZGRlZCB0ZXN0cyBmb3IgbmV3IC12IHZhciBvcGVyYXRvcgorCitidWlsdGlucy9raWxsLmRlZgorCS0gY2hhbmdlIGtpbGwgYnVpbHRpbiBzbyAtUElEIChwZ3JwIHNwZWNpZmljYXRpb24pIGZvbGxvd2luZyBhCisJICAtcyBzaWcgb3IgLW4gc2lnIG9wdGlvbiBpcyBub3QgaW50ZXJwcmV0ZWQgYXMgYSBzaWduYWwgc3BlY2lmaWNhdGlvbi4KKwkgIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBSb21hbiBSYWt1cyA8cnJha3VzQHJlZGhhdC5jb20+CisKK2J1aWx0aW5zL2V2YWxzdHJpbmcuYworCS0gaW4gcGFyc2VfYW5kX2V4ZWN1dGUsIGlmIHBhcnNlX2NvbW1hbmQoKSByZXR1cm5zIG5vbi16ZXJvLAorCSAgaW5kaWNhdGluZyBhIHBhcnNlIGVycm9yLCBleGl0IHRoZSBzaGVsbCBpZiB0aGUgY29uZGl0aW9ucyByZXF1aXJlCisJICBhIHBvc2l4LW1vZGUgbm9uLWludGVyYWN0aXZlIHNoZWxsIHRvIGFib3J0IChwYXJzZSBlcnJvciBpbiBhIGAuJworCSAgc2NyaXB0IG9yIGV2YWwgc3RyaW5nKS4gIEJhc2gtNC4xIG9ubHkgcHJpbnRlZCBhIHdhcm5pbmcuICBUaGlzIGlzCisJICBmcm9tIEF1c3RpbiBHcm91cCBpbnRlcnAgMTE0CisKK2RvYy9iYXNocmVmLnRleGkKKwktIGFkZCBub3RlIHRvIHRoZSBwb3NpeCBtb2RlIHNlY3Rpb24gb2YgdGhlIHRleGluZm8gbWFudWFsIG5vdGluZworCSAgdGhlIGNoYW5nZWQgYmVoYXZpb3IgZm9yIGAuJyBhbmQgYGV2YWwnCisKK3BhcnNlLnkKKwktIGNoYW5nZSB0aW1lX2NvbW1hbmRfYWNjZXB0YWJsZSB0byBhbGxvdyBUSU1FIHRva2VuIHRvIGFwcGVhciBhZnRlcgorCSAgQkFORyB0b2tlbiAodG8gYWxsb3cgYCEgdGltZSBmb28nLCB3aGljaCBpcyBzdXBwb3NlZCB0byBiZSB2YWxpZCkKKwktIGNoYW5nZSBwaXBlbGluZV9jb21tYW5kIHByb2R1Y3Rpb24gdG8gYWxsb3cgbXVsdGlwbGUgaW5zdGFuY2VzIG9mCisJICBgIScgKHdoaWNoIHRvZ2dsZSBpbnZlcnRpbmcgdGhlIHJldHVybiBzdGF0dXMpIGFuZCBgdGltZScgKHdoaWNoCisJICBoYXZlIG5vIGVmZmVjdCkKKworZXhlY3V0ZV9jbWQuYworCS0gSW4gcG9zaXggbW9kZSwgYHRpbWUnIHdpdGhvdXQgYSBmb2xsb3dpbmcgcGlwZWxpbmUgcHJpbnRzIHRoZQorCSAgZWxhcHNlZCB1c2VyLCBzeXN0ZW0sIGFuZCByZWFsIHRpbWUgZm9yIHRoZSBzaGVsbCBhbmQgaXRzCisJICBjaGlsZHJlbiBzaW5jZSB0aGUgc2hlbGwgd2FzIGludm9rZWQuCisJICBJdCdzIGxpa2UgYHRpbWVzJyBidXQgb2JleXMgdGhlIHNldHRpbmcgb2YgVElNRUZPUk1BVC4gIEEgZnV0dXJlCisJICByZXZpc2lvbiBvZiBQb3NpeCB3aWxsIHJlcXVpcmUgdGhpcworCitkb2Mve2Jhc2hyZWYudGV4aSxiYXNoLjF9CisJLSBkb2N1bWVudCBuZXcgcG9zaXggbW9kZSB1c2Ugb2YgYHRpbWUnIAorCitwYXJzZS55CisJLSBhZGQgcHJvZHVjdGlvbiB0byBwaXBlbGluZV9jb21tYW5kIHRoYXQgcGVybWl0cyBgIScgYnkgaXRzZWxmIHRvCisJICBiZSBlcXVpdmFsZW50IHRvIGBmYWxzZScgKGFuZCwgd2l0aCB0aGUgY2hhbmdlcyBhYm92ZSwgcGVybWl0cworCSAgYCEgIScgdG8gYmUgcm91Z2hseSBlcXVpdmFsZW50IHRvIGB0cnVlJykuICBBIGZ1dHVyZSByZXZpc2lvbiBvZgorCSAgUG9zaXggd2lsbCByZXF1aXJlIHRoaXMKKworCQkJCSAgIDUvMjgKKwkJCQkgICAtLS0tCitwYXJzZS55CisJLSBmaXggXFcgcHJvbXB0IGV4cGFuc2lvbiB0byB1c2UgbWVtbW92ZSBpbnN0ZWFkIG9mIHN0cmNweSwgc2luY2UgdGhlCisJICBzb3VyY2UgYW5kIHRhcmdldCBzdHJpbmdzIG92ZXJsYXAgKHRob3VnaCB5b3UgdGhpbmsgaXQgd291bGRuJ3QKKwkgIG1hdHRlciwgc2luY2UgdGhlIG92ZXJsYXBwaW5nIHJlZ2lvbnMgYXJlIG5ldmVyIHRvdWNoZWQgYXQgdGhlIHNhbWUKKwkgIHRpbWUpLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IFN0w6lwaGFuZSBKb3VyZG9pCisJICA8c2pvdXJkb2lzQGdtYWlsLmNvbT4KKworcGFyc2UueQorCS0gUG9zaXggaW50ZXJwIDIxNyBzdGF0ZXMgdGhhdCAkKCggbXVzdCBiZSBwYXJzZWQgZmlyc3QgYXMgYW4KKwkgIGFyaXRobWV0aWMgZXhwYW5zaW9uLCBzbyBhdm9pZCBhdHRlbXB0aW5nIHRvIHBhcnNlIGl0IGFzIGEgbmVzdGVkCisJICBjb21tYW5kIHN1YnN0aXR1dGlvbi4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBzZXZlcmFsLCBtb3N0IHJlY2VudGx5CisJICA8andtQGhvcmRlLm5ldD4KKworc3Vic3QuYworCS0gY2hhbmdlIGV4dHJhY3RfZGVsaW1pdGVkX3N0cmluZyB0byBwcm9jZXNzIG5lc3RlZCAkKCBhcyBhIHBvc3NpYmxlCisJICBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYnV0IG9ubHkgaWYgYWxyZWFkeSBwYXJzaW5nIGFuIGFyaXRobWV0aWMKKwkgIGV4cGFuc2lvbi4gIFJlc3Qgb2YgZml4IGZvciBQb3NpeCBpbnRlcnAgMjE3CisJLSBjaGFuZ2UgcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF9yaHMgdG8gbWFrZSB0aGUgOj0gZXhwYW5zaW9uIG9wZXJhdG9yCisJICBwZXJmb3JtIHF1b3RlIHJlbW92YWwgYW5kIGJvdGggYXNzaWduIHRoZSByZXN1bHQgdG8gdGhlIHZhcmlhYmxlIGFuZAorCSAgcmV0dXJuIGl0IGFzIHRoZSByZXN1bHQgb2YgdGhlIGV4cGFuc2lvbiwgcmF0aGVyIHRoYW4gYXNzaWduIHRoZQorCSAgdmFsdWUgYWZ0ZXIgcXVvdGUgcmVtb3ZhbCBidXQgcmV0dXJuIHRoZSB2YWx1ZSBiZWZvcmUgcXVvdGUgcmVtb3ZhbC4KKwkgIFBvc2l4IGludGVycCAyMjEKKwktIGludHJvZHVjZSBuZXcgaW50ZXJuYWwgcXVvdGluZyBmbGFnOiBRX0RPTEJSQUNFLiAgRGVub3RlcyBhIGRvdWJsZS0KKwkgIHF1b3RlZCAkey4uLn0gZXhwYW5zaW9uLiAgSW4gdGhpcyBjYXNlLCBQb3NpeCBpbnRlcnAgMjIxIHJlcXVpcmVzCisJICB0aGF0IGEgYmFja3NsYXNoIHF1b3RpbmcgYW4gZW1iZWRkZWQgYH0nIGJlIHJlbW92ZWQsIGV2ZW4gdGhvdWdoIGl0J3MKKwkgIG5vdCBvbmUgb2YgdGhlIGNoYXJhY3RlcnMgbWFya2VkIGFzIHNwZWNpYWwgaW5zaWRlIGRvdWJsZSBxdW90ZXMuCisJICBTZXQgaW4gcGFyYW1ldGVyX2JyYWNlX2V4cGFuZCwgdXNlZCBieSBleHBhbmRfd29yZF9pbnRlcm5hbC4KKworcGFyc2UueQorCS0gaW50cm9kdWNlIG5ldyBwYXJzaW5nIHN0YXRlLCBQX0RPTEJSQUNFLCBzZXQgd2hlbiBwYXJzaW5nIGEgJHsuLi59CisJICBleHBhbnNpb24KKwktIHNldCBhICJkb2xicmFjZSBvcGVyYXRvciBzdGF0ZSIgaW4gcGFyc2VfbWF0Y2hlZF9wYWlyIHRvIGRlY2lkZQorCSAgd2hldGhlciB0aGUgbGV4ZXIgaXMgcmVhZGluZyB0aGUgcGFyYW0sIG9wLCBvciB3b3JkIGluCisJICAke3BhcmFtT1B3b3JkfS4gIFdpbGwgYmUgdXNlZCB0byBkZWNpZGUgd2hldGhlciBvciBub3QgdG8gdHJlYXQKKwkgIHNpbmdsZSBxdW90ZXMgc3BlY2lhbGx5IGluIGEgZG91YmxlLXF1b3RlZCAiJHsuLi59CisKKwkJCQkgICA1LzI5CisJCQkJICAgLS0tLQorcGFyc2UueQorCS0gY2hhbmdlIHBhcnNlX21hdGNoZWRfcGFpciBzbyB0aGF0IGEgc2luZ2xlIHF1b3RlIGFwcGVhcmluZyBpbiBhCisJICBkb3VibGUtcXVvdGVkICR7Li4ufSBleHBhbnNpb24gaXMgbm90IHNwZWNpYWwgdW5sZXNzIHRoZSBleHBhbnNpb24KKwkgIG9wZXJhdG9yIGlzIGAjWyNdJyBvciBgJVslXScuICBQb3NpeCBpbnRlcnAgMjIxCisKK3N1YnN0LmMKKwktIGNoYW5nZSBzdHJpbmdfZXh0cmFjdF9kb3VibGVfcXVvdGVkIHNvIHRoYXQgYSBzaW5nbGUgcXVvdGUgYXBwZWFyaW5nCisJICBpbiBhIGRvdWJsZS1xdW90ZWQgJHsuLi59IGV4cGFuc2lvbiBpcyBub3Qgc3BlY2lhbCB1bmxlc3MgdGhlCisJICBleHBhbnNpb24gb3BlcmF0b3IgaXMgYCNbI10nIG9yIGAlWyVdJy4gIFBvc2l4IGludGVycCAyMjEKKworZG9jL2Jhc2hyZWYudGV4aQorCS0gZG9jdW1lbnQgcG9zaXgtbW9kZSBlZmZlY3RzIG9mIFBvc2l4IGludGVycCAyMjEKKwktIGFkZCBzZWN0aW9uIGRlc2NyaWJpbmcgR05VIHBhcmFsbGVsIGFzIHJlcXVlc3RlZCBieSBTdGFsbG1hbgorCitsaWIvcmVhZGxpbmUvY29tcGxldGUuYworCS0gYnJva2UgY29kZSB0aGF0IGNvbXBhcmVzIGZpbGVuYW1lcyByZWFkIGZyb20gdGhlIGZpbGUgc3lzdGVtIChhbmQKKwkgIHBvc3NpYmx5IGNvbnZlcnRlZCkgdG8gd29yZHMgYmVpbmcgY29tcGxldGVkIG91dCBpbnRvIGEgc2VwYXJhdGUKKwkgIGZ1bmN0aW9uOiBjb21wbGV0ZV9mbmNtcAorCS0gYXVnbWVudCBjb21wbGV0ZV9mbmNtcCB0byB0cmVhdCBoeXBoZW4gYW5kIHVuZGVyc2NvcmUgYXMgZXF1aXZhbGVudAorCSAgd2hlbiBjb21wYXJpbmcgZmlsZW5hbWVzIGlmIF9ybF9jb21wbGV0aW9uX2Nhc2VfbWFwIGlzIHNldAorCitsaWIvcmVhZGxpbmUvcmxwcml2YXRlLmgKKwktIG5ldyBleHRlcm4gZGVjbGFyYXRpb24gZm9yIF9ybF9jb21wbGV0aW9uX2Nhc2VfbWFwCisKK2xpYi9yZWFkbGluZS91dGlsLmMKKwktIGNoYW5nZSBfcmxfc3RybmljbXAgdG8gcmV0dXJuIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGNoYXJhY3RlcnMsCisJICBsaWtlIHN0cmNhc2VjbXAsIGFuZCBub3QgbW9kaWZ5IHRoZSBwb2ludGVycyBpdCBpcyBwYXNzZWQKKwktIGNoYW5nZSBfcmxfc3RyaWNtcCB0byBub3QgbW9kaWZ5IHRoZSBwb2ludGVycyBpdCBpcyBwYXNzZWQKKworbGliL3JlYWRsaW5lL2JpbmQuYworCS0gbmV3IGJpbmRhYmxlIHZhcmlhYmxlLCAiY29tcGxldGlvbi1jYXNlLW1hcCIsIHRvZ2dsZXMgdmFsdWUgb2YKKwkgIF9ybF9jb21wbGV0aW9uX2Nhc2VfbWFwCisKK2xpYi9yZWFkbGluZS9kb2Mve3JsdXNlci50ZXhpLHJlYWRsaW5lLjN9CisJLSBkb2N1bWVudCBuZXcgYmluZGFibGUgcmVhZGxpbmUgdmFyaWFibGUgImNvbXBsZXRpb24tY2FzZS1tYXAiCisKK2V4ZWN1dGVfY21kLmMKKwktIGNoYW5nZSBleGVjdXRlX2Z1bmN0aW9uIHRvIHJlc2V0IGZ1bmNuZXN0IGFuZCBqdW1wIGJhY2sgdG8gdG9wIGxldmVsCisJICBpZiBmdW5jbmVzdCBleGNlZWRzIGZ1bmNuZXN0X21heAorCS0gdXNlIGZ1bmNuZXN0X21heCBhcyBhIG1heCBmdW5jdGlvbiBuZXN0aW5nIGxldmVsLCBpZiBzZXQgdG8gbnVtZXJpYworCSAgdmFsdWUgZ3JlYXRlciB0aGFuIDAgKGRlZmF1bHRzIHRvIDAsIHNvIGluYWN0aXZlKQorCit2YXJpYWJsZXMuYworCS0gbmV3IHZhcmlhYmxlIEZVTkNORVNULCBjb250cm9scyBmdW5jbmVzdF9tYXggdmFsdWUgaWYgc2V0IHRvIG51bWVyaWMKKwkgIHZhbHVlID4gMAorc2lnLmMKKwktIHJlc2V0IGZ1bmNuZXN0IHRvIDAgd2hlbiB0aHJvd190b190b3BfbGV2ZWwgb2NjdXJzCisKK2RvYy97YmFzaC4xLGJhc2hyZWYudGV4aX0KKwktIGRvY3VtZW50IEZVTkNORVNUIHZhcmlhYmxlIGFuZCBpdHMgZWZmZWN0IG9uIGZ1bmN0aW9uIGV4ZWN1dGlvbgorCitsaWIvcmVhZGxpbmUvZnVubWFwLmMKKwktIGFkZCBuZXcgYmluZGFibGUgY29tbWFuZCBuYW1lcyB0byBhdm9pZCBjYXNlLWluc2Vuc2l0aXZlIG1hdGNoaW5nCisJICBwcm9ibGVtcyBiZXR3ZWVuLCBmb3IgaW5zdGFuY2UsIHZpLWZ3b3JkIGFuZCB2aS1mV29yZDoKKworCQl2aS1mb3J3YXJkLXdvcmQKKwkJdmktZm9yd2FyZC1iaWd3b3JkCisJCXZpLWJhY2t3YXJkLXdvcmQKKwkJdmktYmFja3dhcmQtYmlnd29yZAorCQl2aS1lbmQtd29yZAorCQl2aS1lbmQtYmlnd29yZAorCisJICBTdWdnZXN0ZWQgaW4gYSBkaWZmZXJlbnQgZm9ybSBpbiAyMDA2ICghKSBieSBTZXJ2YXRpdXMgQnJhbmR0CisJICA8c2VydmF0aXVzLmJyYW5kdEBhcmNvci5kZT4KKworYnVpbHRpbnMvbWFwZmlsZS5kZWYKKwktIHJ1bl9jYWxsYmFjayBub3cgdGFrZXMgYSBuZXcgdGhpcmQgYXJndW1lbnQ6IGN1cmxpbmUsIHRoZSBsaW5lCisJICBjdXJyZW50bHkgYmVpbmcgcmVhZCBhbmQgYWJvdXQgdG8gYmUgYXNzaWduZWQKKwktIHRoZSBjYWxsYmFjayBmdW5jdGlvbi9jb21tYW5kIG5vdyB0YWtlcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50OgorCSAgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhlIGFycmF5IGluZGV4LiAgRmVhdHVyZSBzdWdnZXN0ZWQgYnkKKwkgIERlbm5pcyBXaWxsaWFtc29uIDxkZW5uaXN0d2lsbGlhbXNvbkBnbWFpbC5jb20+CisKK2RvYy97YmFzaC4xLGJhc2hyZWYudGV4aX0KKwktIGRvY3VtZW50IG5ldyBhZGRpdGlvbmFsIGBsaW5lJyBhcmd1bWVudCB0byBtYXBmaWxlIGNhbGxiYWNrCisKKwkJCQkgICA1LzMwCisJCQkJICAgLS0tLQorYnVpbHRpbnMvcHJpbnRmLmRlZgorCS0gYWRkIG5ldyAlKGZtdClUIGZvcm1hdCBzcGVjaWZpZXIsIHdoZXJlIEZNVCBpcyBhIHN0cmZ0aW1lIGZvcm1hdC4KKwkgIEFyZ3VtZW50IGlzIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaCwgd2l0aCAtMSBtZWFuaW5nCisJICBjdXJyZW50IHRpbWUgKHJvdWdobHkgZGF0ZSArJXMpIGFuZCAtMiBtZWFuaW5nIHNoZWxsIHN0YXJ0IHRpbWUKKwkgIChyb3VnaGx5ICRTRUNPTkRTLCB1bmxlc3MgaXQncyBiZWVuIGFzc2lnbmVkIGEgdmFsdWUgb3IgdW5zZXQpLgorCSAgRmllbGR3aWR0aCBhbmQgcHJlY2lzaW9uIGFyZSBwcmVzZXJ2ZWQsIHN0cmZ0aW1lIHJlc3VsdCBpcyBwcmludGVkCisJICBhcyB3aXRoICVbLV1bW2ZpZWxkd2lkdGhdWy5bcHJlY2lzaW9uXV1dcworCitkb2Mve2Jhc2guMSxiYXNocmVmLnRleGl9CisJLSBkb2N1bWVudCBuZXcgJShkYXRlZm10KVQgcHJpbnRmIGZvcm1hdCBzcGVjaWZpZXIgYW5kIHNwZWNpYWwKKwkgIGFyZ3VtZW50cworCitidWlsdGlucy9oYXNoLmRlZgorCS0gZG9uJ3QgcGVybWl0IHByb2dyYW1zIHdpdGggc2xhc2hlcyB0byBiZSBlbnRlcmVkIGludG8gdGhlIGhhc2ggdGFibGUKKwkgIGF0IGFsbCwgZXZlbiB3aXRoIHRoZSAtcCBvcHRpb24uICBJbmNvbnNpc3RlbmN5IHBvaW50ZWQgb3V0IGJ5CisJICBKYW4gU2NoYW1wZXJhIDxqYW4uc2NoYW1wZXJhQHdlYi5kZT4KKworYnVpbHRpbnMvc2hvcHQuZGVmCisJLSBhZGQgYGNvbXBhdDQxJyBvcHRpb24gaW4gcHJlcGFyYXRpb24gZm9yIGJhc2gtNC4yCisKKwkJCQkgICAgNi82CisJCQkJICAgIC0tLQorbGliL3JlYWRsaW5lL3ZpX21vZGUuYworCS0gZmluaXNoIHJlc3RydWN0dXJpbmcgcmxfdmlfZG9tb3ZlIGFuZCB0aGUgZnVuY3Rpb25zIHRoYXQgY2FsbCBpdCBzbworCSAgaXQgd29ya3MgaW4gY2FsbGJhY2sgbW9kZSwgaW5jbHVkaW5nIG51bWVyaWMgYXJndW1lbnRzLiAgUmVxdWVzdGVkCisJICBhIGxvbmcgdGltZSBhZ28gYnkgQm9iIFJvc3NpIAorCitsaWIvcmVhZGxpbmUvY2FsbGJhY2suYworCS0gYXJyYW5nZSB0byBjYWxsIGFwcHJvcHJpYXRlIGNhbGxiYWNrIHdoZW4gcmVhZGxpbmUgc3RhdGUgaW5kaWNhdGVzCisJICBSTF9TVEFURV9WSU1PVElPTiwgc28gdmkgbW90aW9uIGNvbW1hbmRzIGxpa2UgYGN3JyBhbmQgYGQydycgYXJlCisJICBoYW5kbGVkIGluIGNhbGxiYWNrIG1vZGUKKworbGliL3NoL3djc3dpZHRoLmMKKwktIHJlcGxhY2VtZW50IHdjc3dpZHRoIGltcGxlbWVudGF0aW9uCisKK2FjbG9jYWwubTQKKwktIGFkZCBSRVBMQUNFX0ZVTkNTKHdjc3dpZHRoKSB0byBCQVNIX0NIRUNLX01VTFRJQllURQorCitleGVjdXRlX2NtZC5jCisJLSBmaXggc2VsZWN0X3F1ZXJ5IGFuZCBwcmludF9pbmRleF9hbmRfZWxlbWVudCB0byBjb21wdXRlIGNvcnJlY3QKKwkgIGRpc3BsYXkgd2lkdGggb2Ygc2VsZWN0IGxpc3QgZWxlbWVudHMgaW4gcHJlc2VuY2Ugb2YgbXVsdGlieXRlCisJICBjaGFyYWN0ZXJzLiAgQnVnIHJlcG9ydGVkIGJ5IEJlcm5kIEVnZ2luayA8bW9ub3BlZEBzdWRyYWxhLmRlPgorCitidWlsdGlucy9jZC5kZWYKKwktIGFkZCBwb3NpeC1tYW5kYXRlZCAtZSBvcHRpb247IGN1cnJlbnRseSBpZ25vcmVkIGluIG1vc3QgY2lyY3Vtc3RhbmNlcworCitkb2Mve2Jhc2guMSxiYXNocmVmLnRleGl9CisJLSBkb2N1bWVudCBuZXcgYGNkIC1lJyBvcHRpb24KKworCQkJCSAgIDYvMTIKKwkJCQkgICAtLS0tCithcnJheWZ1bmMuYworCS0gY2hhbmdlIGFycmF5X3ZhbHVlX2ludGVybmFsIHRvIHRyZWF0IG5lZ2F0aXZlIHN1YnNjcmlwdHMgdG8gaW5kZXhlZAorCSAgYXJyYXlzLCBvZmZzZXQgZnJvbSBhcnJheV9tYXhfaW5kZXgoeCkgKyAxLCBzbyBmb29bLTFdIGlzIHRoZSBsYXN0CisJICBlbGVtZW50IG9mICRmb28KKworc3Vic3QuYworCS0gQ2hhbmdlIHZlcmlmeV9zdWJzdHJpbmdfdmFsdWVzIHRvIGFsbG93IG5lZ2F0aXZlIGxlbmd0aCBzcGVjaWZpY2F0aW9ucworCSAgd2hlbiB1c2luZyBzdHJpbmcgdmFyaWFibGVzIG9yIGFycmF5IG1lbWJlcnMuICBOZWdhdGl2ZSBsZW5ndGhzCisJICBtZWFuIHRvIHJldHVybiBjaGFyYWN0ZXJzIGZyb20gT0ZGU0VUIHVudGlsICgkeyN2YXJ9IC0gTikgZm9yCisJICB7dmFyOm9mZnNldDotTn0uICBGZWF0dXJlIHJlcXVlc3RlZCBieSBSaWNoYXJkIE5laWxsCisJICA8cm4yMTRAaGVybWVzLmNhbS5hYy51az4KKworZG9jL3tiYXNoLjEsYmFzaHJlZi50ZXhpfQorCS0gZG9jdW1lbnQgbmV3IGJlaGF2aW9yIG9mIG5lZ2F0aXZlIHN1YnNjcmlwdHMgdG8gaW5kZXhlZCBhcnJheXMKKwktIGRvY3VtZW50IG5ldyBiZWhhdmlvciBvZiBuZWdhdGl2ZSBMRU5HVEggaW4gc3Vic3RyaW5nIGV4cGFuc2lvbgorCitjb25maWd1cmUuaW4KKwktIGNoYW5nZSB2ZXJzaW9uIHRvIGJhc2gtNC4yLWRldmVsCisKK3ZhcmlhYmxlcy5jCisJLSBtYWtlIHN1cmUgaW5pdGlhbGl6ZV9zaGVsbF92YXJpYWJsZXMgY2FsbHMgc3ZfeHRyYWNlZmQgaWYKKwkgIEJBU0hfWFRSQUNFRkQgaXMgaW5oZXJpdGVkIGluIHRoZSBzaGVsbCBlbnZpcm9ubWVudC4gIEZpeGVzIGJ1dAorCSAgcmVwb3J0ZWQgYnkgPGpzdW54MUBiZWxsc291dGgubmV0PgorCisJCQkJICAgNi8xMworCQkJCSAgIC0tLS0KK2xpYi9yZWFkbGluZS9jb21wbGV0ZS5jCisJLSBjaGFuZ2UgZ2V0X3lfb3JfbiB0byBhbHdheXMgcmV0dXJuIDEgd2hlbiBpbiBjYWxsYmFjayBtb2RlLCBzbyB3ZQorCSAgZG9uJ3QgZG8gYSBibG9ja2luZyByZWFkLiAgSGF2ZSB0byB3YWl0IHVudGlsIHJlYWRsaW5lLTcuMCB0byBhZGQKKwkgIGEgc3RhdGUgc28gd2UgY2FuIHVzZSBjYWxsYmFja3MsIHNpbmNlIHRoYXQgd2lsbCBjaGFuZ2UgcHVibGljCisJICBpbnRlcmZhY2UKKworCQkJCSAgIDYvMTcKKwkJCQkgICAtLS0tCitzdWJzdC5jCisJLSBmaXggbWVtb3J5IGxlYWsgaW4gcGFyYW1ldGVyX2JyYWNlX2V4cGFuZDogd2hlbiBwZXJmb3JtaW5nIHBhdHRlcm4KKwkgIHJlbW92YWwgd2l0aCBwYXJhbWV0ZXJfYnJhY2VfcmVtb3ZlX3BhdHRlcm4sIG1ha2Ugc3VyZSBgbmFtZScgaXMKKwkgIGZyZWVkLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IG95dmluZGhAZGhhbXBpci5ubworCisJCQkJICAgNi8yMworCQkJCSAgIC0tLS0KK3twYXJzZS55LHN1YnN0LmN9CisJLSBtYWtlIHRoZSAke3BhcmFtLy9wYXQvcmVwfSwgJHtwYXJhbV5wYXR9LCBhbmQgJHtwYXJhbSxwYXR9IGV4cGFuc2lvbnMKKwkgIHJlcXVpcmUgc2luZ2xlIHF1b3RlcyBhbmQgZG91YmxlIHF1b3RlcyB0byBtYXRjaCB3aGVuIHdpdGhpbiBkb3VibGUKKwkgIHF1b3Rlcy4gIFRoaXMgd2F5IGV2ZXJ5IGV4cGFuc2lvbiBleGNlcHQgdGhlIFBvc2l4IG9uZXMgYmVoYXZlcyBhcworCSAgYmFzaCBoYXMgYWx3YXlzIGJlaGF2ZWQKKworc3Vic3QuYworCS0gY2hhbmdlIHJlbW92ZV91cGF0dGVybiBhbmQgcmVtb3ZlX3dwYXR0ZXJuIHRvIHJldHVybiB0aGVpciBmaXJzdAorCSAgYXJndW1lbnQgaWYgbm90aGluZyBtYXRjaGVzLCBjaGFuZ2UgY2FsbGVycyB0byBhbGxvY2F0ZSBtZW1vcnkKKwkgIGFwcHJvcHJpYXRlbHkKKwktIGNoYW5nZSByZW1vdmVfcGF0dGVybiB0byBzaG9ydC1jaXJjdWl0IGFuZCByZXR1cm4gY29weSBvZiBQQVJBTQorCSAgaWYgcmVtb3ZlX3dwYXR0ZXJuIHJldHVybnMgaXRzIGZpcnN0IGFyZ3VtZW50IChpbmRpY2F0aW5nIG5vIG1hdGNoKQorCSAgcmF0aGVyIHRoYW4gY29udmVydCBiYWNrIHRvIG11bHRpYnl0ZSBzdHJpbmcsIGFsbG9jYXRpbmcgbmV3IG1lbW9yeQorCSAgdHdpY2UgYW5kIGNhbGxpbmcgd2NzcnRvbWJzCisKKwkJCQkgICA2LzI0CisJCQkJICAgLS0tLQorZXhlY3V0ZV9jbWQuYworCS0gYWRkIG1pc3NpbmcgaW5pdGlhbGl6ZXJzIGZvciBzaF9jb3Byb2MgdG8gZWxpbWluYXRlIGEgY29tcGlsZXIKKwkgIHdhcm5pbmcuICBQYXRjaCBmcm9tIFdlcm5lciBGaW5rIDx3ZXJuZXJAc3VzZS5kZT4KKworCQkJCSAgIDYvMjcKKwkJCQkgICAtLS0tCitwYXJzZS55CisJLSBhZGQgYFRJTUVJR04nIHRva2VuIHRvIGhhbmRsZSBgdGltZSAtcCAtLSAuLi4nLiAgUG9pbnRlZCBvdXQgYnkKKwkgIExhc3psbyBFcnNlayA8bGFjb3NAY2Flc2FyLmVsdGUuaHU+IG9uIGF1c3Rpbi1ncm91cCBsaXN0CisKKwkJCQkgICA2LzI4CisJCQkJICAgLS0tLQoram9icy5jCisJLSB0cmVhdCBhIHNoZWxsIHdpdGggKHN1YnNoZWxsX2Vudmlyb25tZW50JlNVQlNIRUxMX1BJUEUpICE9IDAgbGlrZQorCSAgYSBjb21tYW5kIHN1YnN0aXR1dGlvbiBpbiB3YWl0X2ZvciBhbmQgYWN0IGxpa2Ugd2UgcmVjZWl2ZWQgYQorCSAgU0lHSU5UIGlmIGEgam9iIHdlJ3JlIHdhaXRpbmcgZm9yIGRpZXMgb2YgU0lHSU5ULiAgRml4ZXMgYnVnCisJICByZXBvcnRlZCBieSBJbHlhIEJhc2luIDxiYXNpbmlseWFAZ21haWwuY29tPgorCisJCQkJICAgIDcvMgorCQkJCSAgICAtLS0KK2pvYnMuYworCS0gaWYgZm9yaygpIGZhaWxzIGluIG1ha2VfY2hpbGQsIHRyeSB0byByZWFwIHNvbWUgZGVhZCBjaGlsZHJlbiBiZWZvcmUKKwkgIHJldHJ5aW5nCisKK2V4ZWN1dGVfY21kLmMKKwktIGNoYW5nZSBleGVjdXRlX3BpcGVsaW5lIHRvIHJ1biB0aGUgbGFzdCBjb21tYW5kIG9mIGEgbm9uLWFzeW5jaHJvbm91cworCSAgcGlwZWxpbmUgaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW52aXJvbm1lbnQgaWYgdGhlIGBsYXN0cGlwZScgc2hlbGwKKwkgIG9wdGlvbiBpcyBlbmFibGVkIGFuZCBqb2IgY29udHJvbCBpcyBub3QgYWN0aXZlLiAgQ29kZSBmcm9tCisJICBXZXJuZXIgRmluayA8d2VybmVyQHN1c2UuZGU+CisKK3BhcnNlLnkKKwktIFBvc2l4IHNheXMgKGlzc3VlIDI2NykgdGhhdCB0aW1lIGlzIG5vdCByZWNvZ25pemVkIGFzIGEga2V5d29yZAorCSAgaWYgdGhlIG5leHQgdG9rZW4gYmVnaW5zIHdpdGggYSBgLScKKworZG9jL3tiYXNoLjEsYmFzaHJlZi50ZXhpfQorCS0gY2hhbmdlZCB0aGUgZGVzY3JpcHRpb25zIG9mIEJBU0hfU09VUkNFLCBCQVNIX0xJTkVOTywgYW5kIEZVTkNOQU1FCisJICBhcyBwcm9wb3NlZCBpbiBVYnVudHUgYnVnIDU5MTY3Ny4KKwktIGRvY3VtZW50IG5ldyBgbGFzdHBpcGUnIHNoZWxsIG9wdGlvbiB0aGF0IHJ1bnMgbGFzdCBjb21tYW5kIG9mIGEKKwkgIHBpcGVsaW5lIGluIHRoZSBjdXJyZW50IHNoZWxsIGVudmlyb25tZW50CisJLSBkb2N1bWVudCBuZXcgcG9zaXgtbW9kZSBiZWhhdmlvciB3aXRoIGB0aW1lIC1wJworCisJCQkJICAgIDcvNQorCQkJCSAgICAtLS0KK2FjbG9jYWwubTQKKwktIG5ldyBhdXRvY29uZiB0ZXN0IFdFWElUU1RBVFVTX09GRlNFVCwgYml0IG9mZnNldCBpbiBzdGF0dXMgd29yZAorCSAgcmV0dXJuZWQgYnkgd2FpdCgpIG9mIHRoZSBwcm9jZXNzJ3MgZXhpdCBzdGF0dXMKKworam9icy5bY2hdCisJLSBjaGFuZ2Ugc3RvcF9waXBlbGluZSB0byByZXR1cm4gdGhlIGFjdHVhbCBpbmRleCBvZiB0aGUgam9iIGp1c3QKKwkgIGNyZWF0ZWQgYW5kIGFkZGVkIHRvIHRoZSBqb2JzIHRhYmxlLCBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGpvYgorCS0gam9iX2V4aXRfc3RhdHVzIGFuZCBqb2JfZXhpdF9zaWduYWwgYXJlIG5vdyBnbG9iYWwgZnVuY3Rpb25zLCB3aXRoCisJICBleHRlcm4gZGVjbGFyYXRpb25zIGluIGpvYnMuaAorCS0gYXBwZW5kX3Byb2Nlc3M6IG5ldyB1dGlsaXR5IGZ1bmN0aW9uIGZvciB1c2UgYnkgdGhlIGxhc3RwaXBlIGNvZGUsCisJICB0YWtlcyBpbmZvLCBjcmVhdGVzIGEgUFJPQ0VTUyBmcm9tIHRoZW0sIGFuZCBhZGRzIGl0IHRvIHRoZSBlbmQgb2YKKwkgIHRoZSBwYXNzZWQgam9iIGlkJ3MgcGlwZWxpbmUuICBsYXN0cGlwZSBjb2RlIHVzZXMgaXQgdG8gYWRkIGEgZHVtbXkKKwkgIHByb2Nlc3MgZm9yIHRoZSBsYXN0IGNvbW1hbmQgaW4gdGhlIHBpcGVsaW5lCisJLSBmcmVlemVfam9ic19saXN0OiBuZXcgdXRpbGl0eSBmdW5jdGlvbiBzbyByZXN0IG9mIHNoZWxsIGNhbiBmcmVlemUKKwkgIHRoZSBqb2JzIGxpc3QuICBVc2VkIGJ5IHRoZSBsYXN0cGlwZSBjb2RlCisKK2V4ZWN1dGVfY21kLmMKKwktIGNoYW5nZXMgdG8gbGFzdHBpcGUgY29kZSB0byBtYWtlIGBwaXBlZmFpbCcgb3B0aW9uLCAkUElQRVNUQVRVUywgYW5kCisJICAkPyB3b3JrIGNvcnJlY3RseS4gIFVzZXMgYXBwZW5kX3Byb2Nlc3MgYW5kIGpvYl9leGl0X3N0YXR1cworCisJCQkJICAgNy8xMAorCQkJCSAgIC0tLS0KK3N1YnN0LmMKKwktIHdoZW4gcGVyZm9ybWluZyBwYXR0ZXJuIHN1YnN0aXR1dGlvbiB3b3JkIGV4cGFuc2lvbnMsIGEgYCYnIGluIHRoZQorCSAgcmVwbGFjZW1lbnQgc3RyaW5nIGlzIHJlcGxhY2VkIGJ5IHRoZSB0ZXh0IG1hdGNoZWQgYnkgdGhlIHBhdHRlcm4uCisJICBUaGUgYCYnIGNhbiBiZSBxdW90ZWQgd2l0aCBhIGJhY2tzbGFzaCB0byBpbmhpYml0IHRoZSBleHBhbnNpb24uCisJICBDVVJSRU5UTFkgRElTQUJMRUQKKworCQkJCSAgIDcvMTMKKwkJCQkgICAtLS0tCitwY29tcGxpYi5bY2hdCisJLSBuZXcgbWVtYmVyIGZvciBzdHJ1Y3QgY29tcHNwZWM6IGxjb21tYW5kLiAgZm9yIGZ1dHVyZSB1c2UKKworCQkJCSAgIDcvMTUKKwkJCQkgICAtLS0tCitwYXJzZS55CisJLSBmaXggcHJvYmxlbSBpbiBwYXJzZV9jb21zdWIgd2hlcmUgZXh0cmEgc3BhY2Ugd2FzIGFkZGVkIHRvIGhlcmUtZG9jCisJICBkZWxpbWl0ZXIgaWYgdGhlIGZpcnN0IHdvcmQgaW4gdGhlIGNvbXN1YiBjb250YWluZWQgYSBgLycuICBGaXhlcworCSAgYnVnIHJlcG9ydGVkIGJ5IEFsZXggS2hlc2luIDxhbGV4a0Bnb29nbGUuY29tPgorCisJCQkJICAgNy8yMAorCQkJCSAgIC0tLS0KK3BhcnNlLnkKKwktIGNoYW5nZSByZXNlcnZlZF93b3JkX2FjY2VwdGFibGUgdG8gcmV0dXJuIHN1Y2Nlc3MgaWYgdGhlIGxhc3QgdHdvCisJICB0b2tlbnMgcmVhZCB3ZXJlIGBmdW5jdGlvbiBXT1JEJy4gIEFsbG93cyBmdW5jdGlvbiBkZWZpbml0aW9ucyBsaWtlCisJICBmdW5jdGlvbiBnb29kIFtbIC14IGZvbyBdXTsuICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgTGluZGEgV2Fsc2gKKwkgIDxiYXNoQHRsaW54Lm9yZz4KKworZG9jL3tiYXNoLjEsYmFzaHJlZi50ZXhpfQorCS0gY2hhbmdlIGZ1bmN0aW9uIGRlZmluaXRpb24gbWV0YS1zeW50YXggdG8gbWFrZSBpdCBjbGVhcmVyLCByYXRoZXIKKwkgIHRoYW4gbGV0IHRoZSB0ZXh0IG5vdGUgdGhlIG9wdGlvbmFsIHBvcnRpb25zCisKKwkJCQkgICA3LzI0CisJCQkJICAgLS0tLQorYmFzaGhpc3QuYworCS0gY2hhbmdlIGJhc2hfaGlzdG9yeV9pbmhpYml0X2V4cGFuc2lvbigpIHRvIHN1cHByZXNzIGhpc3RvcnkgZXhwYW5zaW9uCisJICBmb3IgJCEgcGFyYW1ldGVyIGV4cGFuc2lvbi4gIEZpeGVzIGRlYmlhbiBidWcgIzU4OTc0NSBzdWJtaXR0ZWQgYnkKKwkgIEZyYW5rIEhlY2tlbmJhY2ggPGYuaGVja2VuYmFjaEBmaC1zb2Z0LmRlPgorCitsaWIvcmVhZGxpbmUvdGVybWluYWwuYworCS0gY2hhbmdlIHJsX3Jlc2l6ZV90ZXJtaW5hbCB0byBhbHdheXMgZmV0Y2ggdGhlIG5ldyB0ZXJtaW5hbCBzaXplIGFuZAorCSAgb25seSBmb3JjZSB0aGUgcmVkaXNwbGF5IGlmIF9ybF9lY2hvaW5nX3AgaXMgbm9uLXplcm8uICBGaXhlcyBidWcKKwkgIHJlcG9ydGVkIGJ5IEJhbGF6cyBLZXplcyA8cmxibGFzdGVyQGdtYWlsLmNvbT4KKworCQkJCSAgIDcvMjUKKwkJCQkgICAtLS0tCitsaWIvcmVhZGxpbmUveGZyZWUuYworCS0gbmV3IGZpbGUsIGNvbnRhaW5zIGRlZmluaXRpb24gb2YgeGZyZWUgbW92ZWQgZnJvbSB4bWFsbG9jLmMKKworCQkJCSAgIDcvMjgKKwkJCQkgICAtLS0tCit2YXJpYWJsZXMuYworCS0gY2hlY2sgc3VzcGVjdCByZXR1cm4gdmFsdWVzIGZyb20gYmluZF92YXJpYWJsZSBiZWZvcmUgdHJ5aW5nIHRvIHVzZQorCSAgdGhlIHJldHVybmVkIFNIRUxMX1ZBUiAqLiAgQ2hhbmdlcyB0bzogaW5pdGlhbGl6ZV9zaGVsbF92YXJpYWJsZXMsCisJICBiaW5kX2ludF92YXJpYWJsZSwgRklORF9PUl9NQUtFX1ZBUklBQkxFLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5CisJICBSb21hbiBSYWt1cyA8cnJha3VzQHJlZGhhdC5jb20+CisKKwkJCQkgICA3LzMxCisJCQkJICAgLS0tLQorbGliL3JlYWRsaW5lL3JsdHR5LmMKKwktIGZpeCBybF9wcmVwX3Rlcm1pbmFsIGFuZCBybF9kZXByZXBfdGVybWluYWwgdG8gdXNlIGZpbGVubyhzdGRvdXQpCisJICBpZiBybF9pbnN0cmVhbSBpcyBOVUxMLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IE90dG8gQWxsbWVuZGluZ2VyCisJICBvdHRvLmFsbG1lbmRpbmdlckBnb29nbGVtYWlsLmNvbQorCisJCQkJICAgIDgvMgorCQkJCSAgICAtLS0KK2xpYi9zaC9jYXNlbW9kLmMKKwktIGlmIHRoZSBwYXNzZWQgc3RyaW5nIGlzIE5VTEwgb3IgZW1wdHksIHJldHVybiBpdCBpbW1lZGlhdGVseS4gIEZpeGVzCisJICBidWcgcmVwb3J0ZWQgYnkgRGVubmlzIFdpbGxpYW1zb24gPGRlbm5pc3R3aWxsaWFtc29uQGdtYWlsLmNvbT4KKworc3Vic3QuYworCS0gZml4IHBhdF9zdWJzdCB0byBjb3BlIHdpdGggdGhlIHBhc3NlZCBzdHJpbmcgYmVpbmcgTlVMTAorCithcnJheWZ1bmMuaAorCS0gYWRkZWQgZmxhZyB2YWx1ZXMgZm9yIGFycmF5X3ZhbHVlX2ludGVybmFsIGFuZCBpdHMgY2FsbGVyczsgY29udmVydGVkCisJICBhcnJheV92YWx1ZV9pbnRlcm5hbCBgYWxsb3dfYWxsJyBwYXJhbWV0ZXIgaW50byBhIGdlbmVyYWwgZmxhZ3Mgd29yZAorCS0gZ2V0X2FycmF5X3ZhbHVlIG5vdyB0YWtlcyBhIGZsYWdzIHZhbHVlCisJLSBjaGFuZ2VkIGFycmF5X3ZhbHVlIGludGVybmFsIHRvIHVzZSAqaW5kcCBhcyBhbiBpbmRleCB0byB1c2UgaWYgdGhlCisJICBBVl9VU0VJTkQgZmxhZyBpcyBzZXQsIHJhdGhlciB0aGFuIHJlY29tcHV0aW5nIGl0CisKK3N1YnN0LmMKKwktIGdldF92YXJfYW5kX3R5cGUgdGFrZXMgdHdvIG5ldyBwYXJhbWV0ZXJzOiBhIGZsYWdzIHdvcmQgYW5kIGFuIGluZGV4CisJICB0aGF0IHJlcHJlc2VudHMgYW4gYWxyZWFkeS1jb21wdXRlZCBpbmRleCBmb3IgYW4gYXJyYXkgcmVmZXJlbmNlCisJICAoanVzdCBpbmRleGVkIGFycmF5cyBzbyBmYXIpLiAgSW5kZXggaXMgdXNlZCBhbmQgcGFzc2VkIHRvIGFycmF5X3ZhbHVlCisJICBpZiBmbGFncyBpbmNsdWRlcyBBVl9VU0VJTkQKKwktIHBhcmFtZXRlcl9icmFjZV9leHBhbmRfd29yZCB0YWtlcyBhIG5ldyBhcmd1bWVudDogdGhlIGFscmVhZHktCisJICBjb21wdXRlZCBpbmRleDsgcmV0dXJucyBXX0FSUkFZSU5EIGlmIHdvcmQgZXhwYW5kZWQgaXMgYmVpbmcgdXNlZAorCSAgYXMgYW4gYXJyYXkgaW5kZXgKKwktIGNoYW5nZWQgcGFyYW1ldGVyX2JyYWNlX2Nhc2Vtb2QsIHBhcmFtZXRlcl9icmFjZV9wYXRzdWIsCisJICBwYXJhbWV0ZXJfYnJhY2Vfc3Vic3RyaW5nLCBwYXJhbWV0ZXJfYnJhY2VfcmVtb3ZlX3BhdHRlcm4gdG8gdGFrZSBuZXcKKwkgIGZsYWdzIGFuZCBpbmRleCBhcmd1bWVudHMgZnJvbSBwYXJhbWV0ZXJfYnJhY2VfZXhwYW5kX3dvcmQuICBUaGV5CisJICBwYXNzIHRoZSBuZXcgcGFyYW1ldGVycyBhbG9uZyB0byBnZXRfdmFyX2FuZF90eXBlIHRvIHVzZSBhbgorCSAgYWxyZWFkeS1jb21wdXRlZCBhcnJheSBpbmRleCBpZiBuZWNlc3NhcnkuICBGaXhlcyBidWcgd2hlcmUgYXJyYXkKKwkgIGluZGV4ZXMgYXJlIGNvbXB1dGVkIHR3aWNlIHJlcG9ydGVkIGJ5IEFuZHJldyBCZW50b24KKwkgIDxiM250b25AZ21haWwuY29tPgorCitkb2MvYmFzaC4xLGxpYi9yZWFkbGluZS9kb2Mve2hpc3RvcnkuMyxoc3VzZXIudGV4aX0KKwktIG1vZGlmaWVkIGRlc2NyaXB0aW9uIG9mIGhpc3RvcnkgZXZlbnQgZGVzaWduYXRvcnMgdG8gY2xhcmlmeSB0aGF0CisJICBhbGwgbm9uLWFic29sdXRlIGV2ZW50IGRlc2lnbmF0b3JzIGFyZSByZWxhdGl2ZSB0byB0aGUgY3VycmVudAorCSAgcG9zaXRpb24gaW4gdGhlIGhpc3RvcnkgbGlzdC4gIFF1ZXN0aW9uIHJhaXNlZCBieSBGcmFuaworCSAgSGVja2VuYmFjaCA8Zi5oZWNrZW5iYWNoQGZoLXNvZnQuZGU+IGFzIGRlYmlhbiBiYXNoIGJ1ZyA1OTAwMTIKKworCQkJCSAgICA4LzUKKwkJCQkgICAgLS0tCitzdWJzdC5jCisJLSByZW1vdmUgY29kZSB0aGF0IGRvZXMgbm90IGFkZCBhIHF1b3RlZCBudWxsIHdoZW4gdGhlIGlucHV0IHN0cmluZworCSAgaXMgcGFydGlhbGx5IHF1b3RlZDsgc3Vic2VxdWVudCB3b3JkIHNwbGl0dGluZyBtYXkgcmVxdWlyZSBpdC4KKwkgIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBFcmljIEJsYWtlIDxlYmxha2VAcmVkaGF0LmNvbT4KKworCQkJCSAgIDgvMTIKKwkJCQkgICAtLS0tCitsaWIvZ2xvYi9nbWlzYy5jCisJLSBtb3ZlIG1hdGNoX3BhdHRlcm5fd2NoYXIgYW5kIG1hdGNoX3BhdHRlcm5fY2hhciB0byBuZXcgZmlsZSBpbgorCSAgZ2xvYiBsaWJyYXJ5CisJLSBuZXcgZnVuY3Rpb25zOiB3bWF0Y2hsZW4ocGF0LCBtYXgpIGFuZCB1bWF0Y2hsZW4ocGF0LCBtYXgpLCBjb21wdXRlcworCSAgbnVtYmVyIG9mIGNoYXJhY3RlcnMgUEFUIHdpbGwgbWF0Y2guICBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY2hhcnMKKwkgIHRoYXQgd2lsbCBiZSBtYXRjaGVkIG9yIC0xIGlmIHRoZSBtYXRjaCBsZW5ndGggaXMgaW5kZXRlcm1pbmF0ZQorCSAgKGkuZS4sIGNvbnRhaW5zIGEgYConKQorCitzdWJzdC5jCisJLSB1c2UgdW1hdGNobGVuL3dtYXRjaGxlbiBpbiBtYXRjaF91cGF0dGVybi9tYXRjaF93cGF0dGVybiB0byBib3VuZAorCSAgdGhlIG51bWJlciBvZiBtYXRjaCBhdHRlbXB0cyBpbiBsYXJnZSBzdHJpbmdzIHRvICh1c3VhbGx5KSBvbmUsCisJICBkZXBlbmRpbmcgb24gbWF0Y2ggbGVuZ3RoLiAgRml4ZXMgcGVyZm9ybWFuY2UgcHJvYmxlbXMgd2l0aAorCSAgcGF0dGVybiBzdWJzdGl0dXRpb24gaW4gbGFyZ2Ugc3RyaW5ncyBub3RlZCBieSBZaSBZYW4KKwkgIDx5aXlhbjk3QGhvdG1haWwuY29tPi4gIENhbiBiZSBhcHBsaWVkIHRvIHJlbW92ZV9bdXddcGF0dGVybiBhbHNvCisKKwkJCQkgICA4LzEzCisJCQkJICAgLS0tLQorYmFzaGhpc3QuYworCS0gaW4gbWF5YmVfYXBwZW5kX2hpc3RvcnksIGNoYW5nZSBjaGVjayBmb3IgaGlzdG9yeV9saW5lc190aGlzX3Nlc3Npb24KKwkgIHNvIHRoYXQgd2UgYXBwZW5kIHRoZSBsaW5lcyB0byB0aGUgZmlsZSBpZiBpdCdzIGVxdWFsIHRvIHRoZSB2YWx1ZQorCSAgcmV0dXJuZWQgYnkgd2hlcmVfaGlzdG9yeSgpLiAgVGhpcyBtZWFucyB0aGF0IHdpdGhvdXQgdGhpcyBjaGFuZ2UsCisJICB0aGUgaGlzdG9yeSB3b24ndCBiZSBhcHBlbmRlZCBpZiBhbGwgdGhlIGxpbmVzIGluIHRoZSBoaXN0b3J5IGxpc3QKKwkgIHdlcmUgYWRkZWQgaW4gdGhlIGN1cnJlbnQgc2Vzc2lvbiBzaW5jZSB0aGUgbGFzdCB0aW1lIHRoZSBoaXN0b3J5CisJICBmaWxlIHdhcyByZWFkIG9yIHdyaXR0ZW4uICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgQnJ1Y2UgS29yYgorCSAgPGJydWNlLmtvcmJAZ21haWwuY29tPgorCitzaGVsbC5oLHBhcnNlLnkKKwktIGFkZCBwcm9tcHRfc3RyaW5nX3BvaW50ZXIgdG8gdGhlIHBhcnNlcl9zdGF0ZSBzdHJ1Y3Qgc2F2ZWQgYW5kCisJICByZXN0b3JlZCBieSB7c2F2ZSxyZXN0b3JlfV9wYXJzZXJfc3RhdGUuICBGaXhlcyBib3RoIGJ1Z3MgZXhwb3NlZAorCSAgYnkgYmFzaF9jb21wbGV0aW9uIGFuZCBjb21wbGV0aW9uIG9mIG9wZW4gYmFja3F1b3RlcyByZXBvcnRlZCBieQorCSAgRWdtb250IEtvYmxpbmdlciA8ZWdtb250QGdtYWlsLmNvbT4KKworc3Vic3QuaAorCS0gbmV3IGZsYWcgZm9yIHNraXBfdG9fZGVsaW06IFNEX0VYVEdMT0IuICBTa2lwIGV4dGVuZGVkIGdsb2JiaW5nCisJICBwYXR0ZXJucyB3aGlsZSBsb29raW5nIGZvciBlbmRpbmcgZGVsaW1pdGVyCisKK3N1YnN0LmMKKwktIHdoZW4gcGFzc2VkIHRoZSBTRF9FWFRHTE9CIGZsYWcsIHNraXBfdG9fZGVsaW0gc2tpcHMgb3ZlciBleHRlbmRlZAorCSAgZ2xvYmJpbmcgcGF0dGVybnMgKHdoZW4gZXh0ZW5kZWRfZ2xvYiBpcyBzZXQpIHdoaWxlIGxvb2tpbmcgZm9yIGEKKwkgIGNoYXJhY3RlciBpbiB0aGUgZGVsaW1pdGVyIHNldAorCitwYXRoZXhwLmMKKwktIHNwbGl0X2lnbm9yZXNwZWM6IG5ldyBmdW5jdGlvbiB0byByZXBsYWNlIGNhbGxzIHRvIGV4dHJhY3RfY29sb25fdW5pdAorCSAgaW4gc2V0dXBfaWdub3JlX3BhdHRlcm5zLiAgdXNlcyBza2lwX3RvX2RlbGltIHdpdGggdGhlIFNEX0VYVEdMT0IKKwkgIGZsYWcgdG8gc2tpcCBvdmVyIGV4dGVuZGVkIGdsb2JiaW5nIHBhdHRlcm5zIGluIHZhcmlhYmxlcyBsaWtlCisJICBISVNUSUdOT1JFIGFuZCBHTE9CSUdOT1JFLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IERpbWl0YXIgRElNSVRST1YKKwkgIDxtaXRrb2ZyQHlhaG9vLmZyPiBhbmQgR3JlZyBXb29sZWRnZSA8d29vbGVkZ0BlZWcuY2NmLm9yZz4KKworCQkJCSAgIDgvMjgKKwkJCQkgICAtLS0tCitsaWIvcmVhZGxpbmUvcmxwcml2YXRlLmgKKwktIGFkZCBtZW1iZXJzIHRvIHNlYXJjaF9jeHQgdG8gc2F2ZSBfcmxfa2V5bWFwCisJLSBuZXcgZmxhZyBmb3IgaXNlYXJjaCBjb250ZXh0OiBTRl9DSEdLTUFQLCBzZXQgaWYgd2UgY2hhbmdlZCB0aGUKKwkgIGtleW1hcCB3aGlsZSByZWFkaW5nIGEgY2hhcmFjdGVyIGZvciB0aGUgc2VhcmNoIHN0cmluZyB0aGF0CisJICB0cmFuc2xhdGVkIHRvIGEgY29tbWFuZAorCitsaWIvcmVhZGxpbmUvaXNlYXJjaC5jCisJLSBzYXZlIGN1cnJlbnQgcmVhZGxpbmUga2V5bWFwIGluIGN4dC0+a2V5bWFwIGFuZCBjeHQtPm9rZXltYXAKKwkgIGluIF9ybF9zY3h0X2FsbG9jCisJLSBpbiBfcmxfaXNlYXJjaF9kaXNwYXRjaCwgb25seSBjaGVjayBmb3IgY3h0LT5sYXN0YyBhcyBhIG1lbWJlciBvZgorCSAgY3h0LT5zZWFyY2hfdGVybWluYXRvcnMgaWYgaXQncyA+IDAgKGkuZS4sIG5vdCBhbiBpc2VhcmNoIG9wY29kZSkKKworCQkJCSAgICA5LzMKKwkJCQkgICAgLS0tCitzdXBwb3J0L3NpZ25hbWVzLmMKKwktIGFkZCBTb2xhcmlzIFNJR0pWTTEgYW5kIFNJR0pWTTIuICBVcGRhdGUgZnJvbSBTdGVmYW4gVGVsZW1hbgorCSAgPHN0ZWZhbi50ZWxlbWFuQG9yYWNsZS5jb20+CisKK3NoZWxsLmMKKwktIGluc3RlYWQgb2YgY2xvc2luZyBhbGwgZmRzIDMtMjAgYXQgc2hlbGwgc3RhcnR1cCwganVzdCBzZXQgdGhlbSB0bworCSAgYmUgY2xvc2Utb24tZXhlYy4gIFJlcG9ydCBmcm9tIFJhaW5lciBNw7xsbGVyPHJhaW11ZUBtYWNwb3J0cy5vcmc+CisKK2xpYi9yZWFkbGluZS9pc2VhcmNoLmMKKwktIGluIF9ybF9pc2VhcmNoX2Rpc3BhdGNoLCBpZiB0aGUgY3VycmVudCBjaGFyYWN0ZXIgbWFwcyB0byBJU0tNQVAsCisJICBtb3ZlIHRvIHRoZSBpbmRpY2F0ZWQga2V5bWFwICh1c2luZyBjeHQtPmtleW1hcCkgYW5kIGdvIG9uIHRvCisJICByZWFkIGFub3RoZXIgY2hhcmFjdGVyLiAgRml4ZXMgcHJvYmxlbSByZXBvcnRlZCBieSBEYXZvcgorCSAgQ3VicmFuaWMgPGN1YnJhbmljQHN0YXQudWJjLmNhPgorCS0gaW4gX3JsX2lzZWFyY2hfZGlzcGF0Y2gsIGFmdGVyIHRyYW5zbGF0aW5nIGtleSB0byBwb3NzaWJsZSBvcGNvZGUsCisJICByZXN0b3JlIF9ybF9rZXltYXAgZnJvbSBjeHQtPm9rZXltYXAgaWYgbmVjZXNzYXJ5CisJLSBpbiBfcmxfaXNlYXJjaF9kaXNwYXRjaCwgdXNlIGtleSBzZXF1ZW5jZXMgdGhhdCBtYXAgdG8gZGVmYXVsdAorCSAgZnVuY3Rpb25zIHRoYXQgXkcsIF5XLCBhbmQgXlkgbWFwIHRvIGFzIGVxdWl2YWxlbnQgdG8gdGhvc2UgY2hhcnMKKworbGliL3JlYWRsaW5lL2NvbXBsZXRlLmMKKwktIG5ldyB2YXJpYWJsZSwgX3JsX21lbnVfY29tcGxldGVfcHJlZml4X2ZpcnN0LCB6ZXJvIGJ5IGRlZmF1bHQKKwktIGNoYW5nZSBtZW51X2NvbXBsZXRlIHRvIGRpc3BsYXkgY29tbW9uIHByZWZpeCAobWF0Y2hlc1swXSkgZmlyc3QKKwkgIGJlZm9yZSBjeWNsaW5nIHRocm91Z2ggcmVzdCBvZiBtYXRjaCBsaXN0IGlmCisJICBfcmxfbWVudV9jb21wbGV0ZV9wcmVmaXhfZmlyc3QgaXMgbm9uLXplcm8uICBTdWdnZXN0ZWQgYnkgU2FtaQorCSAgUGlldGlsYSA8c2FtaS5waWV0aWxhQGdtYWlsLmNvbT4KKworbGliL3JlYWRsaW5lL2JpbmQuYworCS0gbmV3IGJpbmRhYmxlIHJlYWRsaW5lIHZhcmlhYmxlLCAibWVudS1jb21wbGV0ZS1kaXNwbGF5LXByZWZpeCIsCisJICBjb250cm9scyBzZXR0aW5nIG9mIF9ybF9tZW51X2NvbXBsZXRlX3ByZWZpeF9maXJzdAorCitkb2Mve2Jhc2guMSxiYXNocmVmLnRleGl9LGxpYi9yZWFkbGluZS9kb2Mve3JlYWRsaW5lLjMscmx1c2VyLnRleGl9CisJLSBhZGRlZCBkZXNjcmlwdGlvbiBvZiBtZW51LWNvbXBsZXRlLWRpc3BsYXktcHJlZml4IGJpbmRhYmxlCisJICByZWFkbGluZSB2YXJpYWJsZQorCisJCQkJICAgOS8xNworCQkJCSAgIC0tLS0KK2NvbmZpZ3VyZS5pbgorCS0gcmVtb3ZlIEFNX1BBVEhfTElTUERJUiBjYWxsIHNpbmNlIHdlIGRvbid0IHVzZSB0aGF0IGJhc2ggZGVidWdnZXIKKwkgIGFueSBtb3JlLiAgU3VnZ2VzdGVkIGJ5IE1pa2UgRnJ5c2luZ2VyIDx2YXBpZXJAZ2VudG9vLm9yZz4KKworCQkJCSAgIDEwLzYKKwkJCQkgICAtLS0tCitmaW5kY21kLmMKKwktIGNoYW5nZSBleGVjdXRhYmxlX2ZpbGUgdG8gc2V0IGVycm5vIHRvIEVJU0RJUiBpZiB0aGUgcGFzc2VkIG5hbWUKKwkgIGlzIGEgZGlyZWN0b3J5CisKK2J1aWx0aW5zL2V4ZWMuZGVmCisJLSBjaGFuZ2UgZXhlY19idWlsdGluIHRvIHJlcG9ydCBhcHByb3ByaWF0ZSBlcnJvciBtZXNzYWdlIGlmIHRoZQorCSAgZmlsZSBhcmd1bWVudCBpcyBhIGRpcmVjdG9yeS4gIE5vdGVkIGJ5IEVyaWMgQmxha2UgPGVibGFrZUByZWRoYXQuY29tPgorCSAgaW4gYSBtZXNzYWdlIHRvIGF1c3Rpbi1ncm91cAorCitidWlsdGlucy9zb3VyY2UuZGVmCisJLSBjaGFuZ2Ugc291cmNlX2J1aWx0aW4gdG8gbWFrZSBzdXJlIHRoZSBzaGVsbCBleGl0cyBpZiB0aGUgZmlsZSBpcworCSAgbm90IGZvdW5kIHdoZW4gaW4gYSBub24taW50ZXJhY3RpdmUgc2hlbGwgcnVubmluZyBpbiAgcG9zaXggbW9kZQorCSAgYW5kIHNvdXJjZV9zZWFyY2hlc19jd2QgPT0gMCAoYXMgcG9zaXggbW9kZSBtYWtlcyBpdCBieSBkZWZhdWx0KS4KKwkgIFBvaW50ZWQgb3V0IGluIGh0dHA6Ly90aHJlYWQuZ21hbmUub3JnL2dtYW5lLmNvbXAuc2hlbGxzLmRhc2gvMjkxL2ZvY3VzPTM5MgorCSAgYnkgSmlsbGVzIFRqb2Vsa2VyIDxqaWxsZXNAc3RhY2submw+CisKK2V4ZWN1dGVfY21kLmMKKwktIHNldCBleGVjdXRpbmdfY29tbWFuZF9idWlsdGluIGluIGV4ZWN1dGVfYnVpbHRpbiBpZiB0aGUgYnVpbHRpbiBpcworCSAgY29tbWFuZF9idWlsdGluLiAgVW53aW5kLXByb3RlY3RlZCBpbiBleGVjdXRlX2Z1bmN0aW9uX29yX2J1aWx0aW4KKwkgIChsaWtlIGV4ZWN1dGluZ19idWlsdGluIHZhcmlhYmxlKS4gIEF2YWlsYWJsZSBmb3IgcmVzdCBvZiBzaGVsbAorCitidWlsdGlucy97c291cmNlLmRlZixldmFsZmlsZS5jfQorCS0gbWFrZSBzdXJlIHRoYXQgbm9uLWludGVyYWN0aXZlIHBvc2l4IG1vZGUgc2hlbGxzIGV4aXQgaWYgdGhlIGZpbGUKKwkgIGFyZ3VtZW50IHRvIGAuJyBpcyBub3QgZm91bmQgb25seSBpZiB0aGV5IGFyZSBub3QgYmVpbmcgZXhlY3V0ZWQKKwkgIGJ5IHRoZSBjb21tYW5kIGJ1aWx0aW4gKGV4ZWN1dGluZ19jb21tYW5kX2J1aWx0aW4gPT0gMCkuICBUaGlzIGlzCisJICBob3cgYGNvbW1hbmQnIGNhbiBjYW5jZWwgZWZmZWN0cyBvZiBzcGVjaWFsIGJ1aWx0aW4gZXhpdCBwcm9wZXJ0aWVzCisJICBpbiB0aGUgY2FzZSBvZiBgZG90IGZpbGUgbm90IGZvdW5kJworCisJCQkJICAgMTAvMTMKKwkJCQkgICAtLS0tLQorbGliL3NoL3N0cnRyYW5zLmMKKwktIHBhc3MgXGMgdGhyb3VnaCB1bmNoYW5nZWQgaWYgbm90IGVzY2FwaW5nIGZvciBgZWNobyAtZScgYW5kIHRoZXkgYXJlCisJICB0aGUgZmluYWwgdHdvIGNoYXJhY3RlcnMgaW4gdGhlIHN0cmluZworCisJCQkJICAgMTAvMTUKKwkJCQkgICAtLS0tLQorc3Vic3QuYworCS0gZXh0cmFjdF9kb2xsYXJfYnJhY2Vfc3RyaW5nOiBmaXggcHJvYmxlbSB3aXRoIHNpbmdsZSBxdW90ZXMKKwkgIGluIHVucXVvdGVkICR7Li4ufSBmb3IgUG9zaXggY29tcGxpYW5jZQorCisJCQkJICAgMTAvMTYKKwkJCQkgICAtLS0tLQorYnVpbHRpbnMvZXhlYy5kZWYKKwktIGNhdGNoIHJldHVybiB2YWx1ZSBmcm9tIHNoZWxsX2V4ZWN2ZTsgZG9uJ3QgcHJpbnQgZHVwbGljYXRlIGVycm9yCisJICBtZXNzYWdlIGlmIHJldHVybiB2YWx1ZSBpcyBFWF9OT1RGT1VORC4gIE1ha2Ugc3VyZSBleGl0IHN0YXR1cworCSAgZnJvbSBleGVjIGlzIDEyNyBpZiBjb21tYW5kIGlzIG5vdCBmb3VuZAorCitleGVjdXRlX2NtZC5jCisJLSBmaXggdHlwbyAoYHNhdmVkX3JlZGlyZWN0cycgc2hvdWxkIGJlIGBzYXZlZCByZWRpcmVjdHMnKSBpbgorCSAgZXhlY3V0ZV9mdW5jdGlvbl9vcl9idWlsdGluIGBjb21tYW5kIGV4ZWMnIGNhc2UuICBUeXBvIGNhdXNlZAorCSAgdG9vIG11Y2ggb2YgdGhlIHVud2luZC1wcm90ZWN0IHN0YWNrIHRvIGJlIGRpc2NhcmRlZAorCS0gaW4gc2FtZSBleGVjdXRlX2Z1bmN0aW9uX29yX2J1aWx0aW4gY2FzZSwgZG9uJ3QgZGlzY2FyZCB0aGUKKwkgIGBzYXZlZCByZWRpcmVjdHMnIGZyYW1lIHVuY29uZGl0aW9uYWxseTsgb25seSBkaXNjYXJkIGl0IGlmCisJICBzYXZlZF9yZWRpcmVjdHMgaXMgbm9uLW51bGwgaW4gdGhlIGBjb21tYW5kIGV4ZWMnIGNhc2UuICBGaXhlcworCSAgc2ggLWMgJ2NvbW1hbmQgZXhlYzsgZXhpdCAxJyBoYW5naW5nIGJ1ZyB1bmNvdmVyZWQgYnkgRnJlZUJTRAorCSAgc2ggdGVzdCBjYXNlcworCisJCQkJICAgMTAvMTgKKwkJCQkgICAtLS0tLQorc3Vic3QuYworCS0gd2hlbiBpbiBwb3NpeCBtb2RlLCBzaGVsbCBzaG91bGQgbm90IGV4aXQgaWYgYSB2YXJpYWJsZSBhc3NpZ25tZW50CisJICBlcnJvciAoZS5nLiwgYXNzaWduaW5nIHRvIHJlYWRvbmx5IHZhcmlhYmxlKSBvY2N1cnMgcHJlY2VkaW5nIGEKKwkgIGNvbW1hbmQgdGhhdCBpcyBub3QgYSBzcGVjaWFsIGJ1aWx0aW4uICBGaXhlcyBidWcgdW5jb3ZlcmVkIGJ5CisJICBGcmVlQlNEIHNoIHRlc3QgY2FzZXMKKwktIHdoZW4gaW4gcG9zaXggbW9kZSwgdGhlICR7IT99IGFuZCAkeyEjfSBleHBhbnNpb25zIGFyZSBub3QgaW5kaXJlY3QKKwkgIGV4cGFuc2lvbnMsIGJ1dCBwb3NpeCB3b3JkIGV4cGFuc2lvbnMgaW52b2x2aW5nIHRoZSBgIScgdmFyaWFibGUKKworcGFyc2UueQorCS0gZml4IHBhcnNlX2NvbXN1YiBzbyB0aGF0IGl0IGRvZXMgbm90IHNraXAgYmFja3NsYXNoLW5ld2xpbmUgd2hlbgorCSAgcGFyc2luZyBhIGNvbW1lbnQKKworCQkJCSAgIDEwLzE5CisJCQkJICAgLS0tLS0KK3N1YnN0LmMKKwktIGZpeCBwYXJhbWV0ZXJfYnJhY2VfZXhwYW5kIHNvIHRoYXQgYW4gYXR0ZW1wdCB0byB1c2UgdGhlICUgb3IgIworCSAgZXhwYW5zaW9ucyBvbiBhbiB1bnNldCB2YXJpYWJsZSB3aXRoIC11IHNldCB3aWxsIGNhdXNlIGEgbm9uLQorCSAgaW50ZXJhY3RpdmUgc2hlbGwgdG8gYWJvcnQuICBQb3NpeCBjaGFuZ2UKKwktIGZpeCBwYXJhbWV0ZXJfYnJhY2VfZXhwYW5kIHNvIHRoYXQgYW4gYXR0ZW1wdCB0byB1c2UgcGF0dGVybgorCSAgc3Vic3RpdHV0aW9uIG9yIGNhc2UgbW9kaWZpY2F0aW9uIGV4cGFuc2lvbnMgb24gYW4gdW5zZXQgdmFyaWFibGUKKwkgIHdpdGggLXUgc2V0IHdpbGwgY2F1c2UgYW5kIHVuYm91bmQgdmFyaWFibGUgZXJyb3IgYW5kIG1ha2UgYQorCSAgbm9uLWludGVyYWN0aXZlIHNoZWxsIGFib3J0CisJLSBjaGFuZ2UgcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF9sZW5ndGggdG8gcmV0dXJuIElOVE1BWF9NSU4gaWYgYQorCSAgcG9zaXRpb25hbCBwYXJhbWV0ZXIgaXMgdW5zZXQgYW5kIC11IGlzIHNldAorCS0gaWYgcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF9sZW5ndGggcmV0dXJucyBJTlRNQVhfTUlOIHdoZW4gLXUgaXMgc2V0LAorCSAgdHJlYXQgaXQgYXMgYW4gdW5ib3VuZCB2YXJpYWJsZSBlcnJvciBhbmQgbWFrZSBhIG5vbi1pbnRlcmFjdGl2ZQorCSAgc2hlbGwgYWJvcnQuICBQb3NpeCBjaGFuZ2UKKwktIGNoYW5nZSBwYXJhbWV0ZXJfYnJhY2VfZXhwYW5kX2xlbmd0aCB0byByZXR1cm4gSU5UTUFYX01JTiBpZiBhbgorCSAgaW1wbGljaXQgcmVmZXJlbmNlIHRvIGFycmF5WzBdIGlzIG1hZGUgJHsjYXJyYXl9IGFuZCBhcnJheVswXSBpcworCSAgbm90IHNldCB3aGVuIC11IGlzIHNldAorCisJCQkJICAgMTAvMjAKKwkJCQkgICAtLS0tLQorYnVpbHRpbnMvY2QuZGVmCisJLSBQb3NpeCAyMDA4IHNheXMgdGhhdCBpZiBubyBtYXRjaGluZyBkaXJlY3RvcmllcyBhcmUgZm91bmQgaW4gJENEUEFUSCwKKwkgIHVzZSB0aGUgZGlyZWN0b3J5IG5hbWUgcGFzc2VkIGFzIGFuIG9wZXJhbmQgYW5kIGdvIG9uLiAgUG9zaXggY2hhbmdlCisKK2RvYy9iYXNocmVmLnRleGkKKwktIGNoYW5nZSBQb3NpeCBtb2RlIHNlY3Rpb24gd2l0aCBsYXRlc3QgYWRkaXRpb25zIGFuZCByZW1vdmFscworCisJCQkJICAgMTEvNAorCQkJCSAgIC0tLS0KK2xpYi9yZWFkbGluZS9jb21wbGV0ZS5jCisJLSBmaXggcmxfbWVudV9jb21wbGV0ZSBhbmQgcmxfb2xkX21lbnVfY29tcGxldGUgdG8ga2VlcCBpbmNyZW1lbnRpbmcKKwkgIG1hdGNoX2xpc3RfaW5kZXggYnkgbWF0Y2hfbGlzdF9zaXplIGFzIGxvbmcgYXMgaXQncyA8IDAuICBGaXhlcworCSAgYnVnIHJlcG9ydGVkIGJ5IGplZW51dkBnbWFpbC5jb20KKworYnJhY2VzLmMKKwktIG1ha2UgbWtzZXEoKSB0YWtlIGludG1heF90IGFyZ3VtZW50cyBmb3Igc2VxdWVuY2Ugc3RhcnQgYW5kIGVuZAorCSAgYW5kIG1ha2Ugc3VyZSBpdCdzIHBhc3NlZCBpbnRtYXhfdCB2YWx1ZXMuICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkKKwkgIFBldGUgR3JlZ29yeSA8cGdAYnVzaGxpdHQub3JnPgorCitzaWcuYworCS0gaWYgdGVybXNpZ19oYW5kbGVyIGlzIGNhbGxlZCB3aGVuIHRlcm1pbmF0ZV9pbW1lZGlhdGVseSA9PSAxLAorCSAgYXNzdW1lIHdlJ3JlIGJlaW5nIGNhbGxlZCBhcyBhIHNpZ25hbCBoYW5kbGVyIGFuZCBzZXQKKwkgIGhpc3RvcnlfbGluZXNfdGhpc19zZXNzaW9uIHRvIDAgdG8gaW5oaWJpdCBoaXN0b3J5IGZpbGUgYmVpbmcKKwkgIHdyaXR0ZW4gb24gc2hlbGwgZXhpdC4gIEZpeGVzIGxvbmctc3RhbmRpbmcgYnVnIG1vc3QgcmVjZW50bHkKKwkgIG9ic2VydmVkIGJ5IEFuZHJlYXMgU2Nod2FiIDxzY2h3YWJAbGludXgtbTY4ay5vcmc+CisKKwkJCQkgICAxMS81CisJCQkJICAgLS0tLQorcmVkaXIuYworCS0gYWRkX3VuZG9fY2xvc2VfcmVkaXJlY3Qgbm93IHJldHVybnMgaW50LCAwIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvIG9uCisJICBmYWlsdXJlLiAgQ3VycmVudGx5IGFsd2F5cyBzdWNjZWVkcworCS0gbmV3IG1hY3JvIFJFRElSRUNUSU9OX0VSUk9SIHRvIG1ha2UgZG9fcmVkaXJlY3Rpb25faW50ZXJuYWwgcmV0dXJuCisJICB2YWx1ZSBvZiBlcnJubworCS0gY2hhbmdlIGRvX3JlZGlyZWN0aW9uX2ludGVybmFsIHRvIGNhbGwgUkVESVJFQ1RJT05fRVJST1IgYWZ0ZXIKKwkgIHNhdmluZyBmaWxlIGRlc2NyaXB0b3IgYW5kIG1ha2UgZG9fcmVkaXJlY3Rpb25faW50ZXJuYWwgcmV0dXJuIGVycm9yCisJICBpZiBhZGRfdW5kb19yZWRpcmVjdCBvciBhZGRfdW5kb19jbG9zZSByZWRpcmVjdCBmYWlscy4gIFRoaXMgbWFrZXMKKwkgIGZhaWx1cmUgdG8gc2F2ZSBhIGZpbGUgZGVzY3JpcHRvciBhIHJlZGlyZWN0aW9uIGVycm9yIGFuZCB0aGUgc2hlbGwKKwkgIGJlaGF2ZXMgYXBwcm9wcmlhdGVseS4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBFcmljIEJsYWtlCisJICA8ZWJsYWtlQHJlZGhhdC5jb20+CisKK2Jhc2hsaW5lLmMKKwktIG1vZGlmeSBiYXNoX2ZvcndhcmRfc2hlbGx3b3JkIHRvIGNvcnJlY3RseSBoYW5kbGUgcXVvdGVkIHN0cmluZ3MsCisJICBlc3BlY2lhbGx5IGlmIHBvaW50IGlzIGluIGEgcXVvdGVkIHN0cmluZyB3aGVuIGZ1bmN0aW9uIGlzIGludm9rZWQuCisJICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgRGFuaWVsIENvbGFzY2lvbmUgPGRhbi5jb2xhc2Npb25lQGdtYWlsLmNvbT4KKworY29uZmlndXJlLmluCisJLSBjaGFuZ2UgdmVyc2lvbiB0byA0LjItYWxwaGEKKworCQkJCSAgIDExLzcKKwkJCQkgICAtLS0tCitsaWIvcmVhZGxpbmUvdGV4dC5jCisJLSBpbiBybF9pbnNlcnQsIGlmIHdlJ3JlIG5vdCBpbiB0aGUgbXVsdGlieXRlIGNvZGUgcGF0aCwgZG9uJ3QgdHJ5IHRvCisJICBvcHRpbWl6ZSBhbmQgaW5zZXJ0IGFsbCBvZiB0aGUgYXZhaWxhYmxlIHR5cGVhaGVhZCBpbnB1dCBpZiB3ZSdyZQorCSAgcmVhZGluZyBpbnB1dCBmcm9tIGEgbWFjcm8uICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgQW5kcmUgTWFqb3JlbAorCSAgPGF5bS11bmdAdGVhc2VyLmZyPgorCitsaWIvcmVhZGxpbmUvdGV4dC5jCisJLSBicmVhayBvdXQgbXVsdGlieXRlIGd1dHMgb2YgcmxfZm9yd2FyZF9jaGFyIGludG8gYSBzZXBhcmF0ZSBmdW5jdGlvbgorCSAgX3JsX2ZvcndhcmRfY2hhcl9pbnRlcm5hbCB0aGF0IGRvZXMgbm90aGluZyBidXQgY2FsY3VsYXRlIHRoZSBuZXcKKwkgIHZhbHVlIG9mIHBvaW50CisJLSBjaGFuZ2UgcmxfZm9yd2FyZF9jaGFyIHRvIGNhbGwgX3JsX2ZvcndhcmRfY2hhcl9pbnRlcm5hbCBpbnN0ZWFkIG9mCisJICBoYXZpbmcgZXF1aXZhbGVudCBjb2RlIGlubGluZQorCitsaWIvcmVhZGxpbmUvcmxwcml2YXRlLmgKKwktIG5ldyBleHRlcm4gZGVjbGFyYXRpb24gZm9yIF9ybF9mb3J3YXJkX2NoYXJfaW50ZXJuYWwKKworbGliL3JlYWRsaW5lL3ZpX21vZGUuYworCS0gY2hhbmdlIF9ybF92aV9hcHBlbmRfZm9yd2FyZCB0byBjYWxsIF9ybF9mb3J3YXJkX2NoYXJfaW50ZXJuYWwgdG8KKwkgIHNldCBybF9wb2ludCwgaW5zdGVhZCBvZiBjYWxsaW5nIHJsX2ZvcndhcmRfY2hhci4gIFdoZW4gYXQgdGhlIGVuZAorCSAgb2YgdGhlIGxpbmUsIHJsX2ZvcndhcmRfY2hhciB3aWxsIHJpbmcgdGhlIGJlbGwuICBGaXhlcyBkZWJpYW4KKwkgIGJhc2ggYnVnIDYwMTA0MiwgcmVwb3J0ZWQgYnkgQWxhbiBKLiBHcmVlbmJlcmdlciA8YWxhbmpnQHB0ZC5uZXQ+CisKKwkJCQkgICAxMS8xNAorCQkJCSAgIC0tLS0tCitzdWJzdC5jCisJLSBmaXggbWF0Y2hfdXBhdHRlcm4gdG8gdXNlIGNvcnJlY3QgdGVzdCB0byBpbW1lZGlhdGVseSBicmVhayBvdXQgb2YKKwkgIGxvb3AgKHdoZW4gcG90ZW50aWFsIG1hdGNoIGxlbmd0aCBpcyBncmVhdGVyIHRoYW4gbnVtYmVyIG9mIGNoYXJzCisJICByZW1haW5pbmcgaW4gdGhlIHN0cmluZykgaW4gTUFUQ0hfQU5ZIGNhc2UKKworCQkJCSAgIDExLzE1CisJCQkJICAgLS0tLS0KK3N1YnN0LmMKKwktIGluY2x1ZGUgInR5cGVtYXguaCIgdG8gbWFrZSBzdXJlIHdlIGhhdmUgYSBkZWZpbml0aW9uIG9mIElOVE1BWF9NSU4KKworCQkJCSAgIDExLzE2CisJCQkJICAgLS0tLS0KK2xpYi9zaC91bmljb2RlLmMKKwktIG1ha2Ugc3VyZSBgbG9jYWxjb252JyBpc24ndCBkZWNsYXJlZCBvbiBtYWNoaW5lcyB3aXRob3V0IGljb252CisJLSBhZGQgc3R1Yl9jaGFyc2V0IGZvciBzeXN0ZW1zIHRoYXQgZG9uJ3QgaGF2ZSBsb2NhbGVfY2hhcnNldDogbG9va3MKKwkgIHVwIExDX0NUWVBFLCByZXR1cm5zIGV2ZXJ5dGhpbmcgYWZ0ZXIgbGFzdCBgLicsICJVVEYtOCIgaWYgdGhlCisJICB2YWx1ZSBpcyBleGFjdGx5ICJVVEYtOCIsIGFuZCAiQVNDSUkiIG90aGVyd2lzZQorCisJCQkJICAgMTEvMjAKKwkJCQkgICAtLS0tLQorbGliL3JlYWRsaW5lL3ZpX21vZGUuYworCS0gaW4gcmxfZG9tb3ZlX21vdGlvbl9jYWxsYmFjaywgbWFrZSBzdXJlIHRvIHVzZSBtLT5rZXkgaW5zdGVhZCBvZgorCSAga2V5LCB3aGljaCBpcyBub3QgaW5pdGlhbGl6ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZC4gIEJ1ZyByZXBvcnQKKwkgIGZyb20gQW5kcmVhcyBTY2h3YWIgPHNjaHdhYkBsaW51eC1tNjhrLm9yZz4KKwktIGluIHJsX3ZpX2RvbW92ZSwgbWFrZSBhc3NpZ25tZW50IHRvIGBtJyBleHBsaWNpdCBpbnN0ZWFkIG9mCisJICByZWx5aW5nIG9uIGV2YWx1YXRpb24gb3JkZXIgc2VtYW50aWNzLCBzaW5jZSB0aGUgQyBzdGFuZGFyZCBsZWF2ZXMKKwkgIHRoZW0gdW5zcGVjaWZpZWQuICBCdWcgcmVwb3J0IGZyb20gQW5kcmVhcyBTY2h3YWIKKwkgIDxzY2h3YWJAbGludXgtbTY4ay5vcmc+CisKKwkJCQkgICAxMS8yMQorCQkJCSAgIC0tLS0tCitsaWIvc2gvc2hxdW90ZS5jCisJLSBzaF9zaW5nbGVfcXVvdGUgYW5kIHNoX2RvdWJsZV9xdW90ZSBub3cgdGFrZSBhIGNvbnN0IGNoYXIgKgorCSAgYXJndW1lbnQuICBGaXhlcyBwcm9ibGVtIHBvaW50ZWQgb3V0IGJ5IEpvYWNoaW0gU2NobWl0egorCSAgPGpvam9Ac2NobWl0ei1kaWdpdGFsLmRlPgorCitleHRlcm5zLmgKKwktIGNoYW5nZSBleHRlcm4gZGVjbGFyYXRpb25zIGZvciBzaF9zaW5nbGVfcXVvdGUgYW5kIHNoX2RvdWJsZV9xdW90ZQorCitsaWIvc2gvc3RyY2hybnVsLmMKKwktIG1ha2Ugc3VyZSB0aGF0IHJldHVybiB2YWx1ZSBpcyBjYXN0IHRvIChjaGFyICopIGlmIHdlJ3JlIHVzaW5nIGEKKwkgIHBhcnQgb2YgdGhlIHBhc3NlZCAoY29uc3QgY2hhciAqKSBhcmd1bWVudC4gIEZpeGVzIHByb2JsZW0gcG9pbnRlZAorCSAgb3V0IGJ5IEpvYWNoaW0gU2NobWl0eiA8am9qb0BzY2htaXR6LWRpZ2l0YWwuZGU+CisKK2xpYi9nbG9iL2dtaXNjLmMKKwktIGZpeCBhIHR5cG8gdGhhdCBtaXhlZCB1cCBkZWZpbmVzIGZvciBMUEFSRU4gYW5kIFJQQVJFTi4gIEJ1ZyBhbmQKKwkgIGZpeCBmcm9tIEFuZHJlYXMgU2Nod2FiIDxzY2h3YWJAbGludXgtbTY4ay5vcmc+CisJLSB1c2UgV0xQQVJFTiBhbmQgV1JQQVJFTiBpbiBtdWx0aWJ5dGUgY2hhcmFjdGVyIGVudmlyb25tZW50cworCS0gZml4ZWQgdHlwb3MgdXNpbmcgTCdjYycgaW4gYSBub24td2lkZS1jaGFyIGVudmlyb25tZW50CisKK2xpYi9yZWFkbGluZS9jb21wbGV0ZS5jCisJLSBmaXggcmxfZmlsZW5hbWVfY29tcGxldGlvbl9mdW5jdGlvbiB0byBkZXF1b3RlIHVzZXJzX2Rpcm5hbWUgaWYKKwkgIHRoZXJlIGlzIGEgZmlsZW5hbWUgZGVxdW90aW5nIGZ1bmN0aW9uIChhcyB3ZWxsIGFzIGRpcm5hbWUpLCBzaW5jZQorCSAgdXNlcnNfZGlybmFtZSBnZXRzIHRhY2tlZCBiYWNrIG9udG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgcG9zc2libGUKKwkgIGNvbXBsZXRpb25zIGFuZCB0aGVuIHJlcXVvdGVkLiAgQnVnIHJlcG9ydGVkIGJ5IEFuZHJlYXMgU2Nod2FiCisJICA8c2Nod2FiQGxpbnV4LW02OGsub3JnPgorCisJCQkJICAgMTEvMjIKKwkJCQkgICAtLS0tLQorbGliL3JlYWRsaW5lL3BhcmVucy5jCisJLSB0aGUgYGJsaW5rLW1hdGNoaW5nLXBhcmVuJyB2YXJpYWJsZSBzaG91bGQgZGVmYXVsdCB0byBvZmYKKworCQkJCSAgIDExLzIzCisJCQkJICAgLS0tLS0KK3N1YnN0LmgKKwktIGFkZCBleHRlcm4gZGVjbGFyYXRpb24gZm9yIGNsb3NlX25ld19maWZvcygpCisKK2xpYi9zaC9mbnhmb3JtLmMKKwktIGZpeCBjdXJlbmNvZGluZyB0byByZXR1cm4gdGhlIGNoYXJhY3RlciBwYXN0IHRoZSBgLicsIG5vdCBhIHN0cmluZworCSAgYmVnaW5uaW5nIHdpdGggYC4nCisKK2xpYi9zaC91bmljb2RlLmMKKwktIGZpeCBzdHViX2NoYXJzZXQgdG8gZG8gdGhlIHNhbWUgY3V0LW9mZiBhdCBgQCcgYXMgY3VyZW5jb2RpbmcoKS4KKwkgIFRoZXNlIHR3byBmdW5jdGlvbnMgc2hvdWxkIGJlIGNvbWJpbmVkCisKK2J1aWx0aW5zL3ByaW50Zi5kZWYKKwktIGRvY3VtZW50IG5ldyAlKGRhdGVmbXQpVCBtb2RpZmllciBpbiBoZWxwIHRleHQKKworCQkJCSAgIDExLzI0CisJCQkJICAgLS0tLS0KK3BhcnNlLnkKKwktIGZpeCBgVycgY2FzZSBpbiBkZWNvZGVfcHJvbXB0X3N0cmluZzogbWVtbW92ZSB3YXMgY29weWluZyBvbmUgdG9vCisJICBmZXcgYnl0ZXMgYW5kIG1pc3NlZCB0aGUgY2xvc2luZyBOVUwuICBCdWcgcmVwb3J0IGZyb20gVGltIE1vb25leQorCSAgPFRpbS5Nb29uZXlAbmRzdS5lZHU+CisKKwkJCQkgICAxMS8yNgorCQkJCSAgIC0tLS0tCitzdWJzdC5jCisJLSBpbiBleHBhbmRfd29yZF9pbnRlcm5hbCwgZG9uJ3QgYWRkIHF1b3RlZCBudWxscyB0byBwYXJ0aWFsbHktCisJICBxdW90ZWQgc3RyaW5ncyBpZiB0aGUgd29yZCB3aWxsIG5vdCBiZSBzdWJqZWN0ZWQgdG8gd29yZCBzcGxpdHRpbmcKKwkgIGxhdGVyICh3aGljaCB3aWxsIHJlbW92ZSB0aGUgcXVvdGVkIG51bGwpLiAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5CisJICBSb2NreSBCZXJuc3RlaW4gPHJvY2t5LmJlcm5zdGVpbkBnbWFpbC5jb20+CisKKwkJCQkgICAxMS8yOAorCQkJCSAgIC0tLS0tCitzdWJzdC5jCisJLSBjaGFuZ2UgbXVsdGlieXRlIGNhc2Ugb2YgbWF0Y2hfcGF0dGVybiB0byByZXZlcnQgdG8gbWF0Y2hfdXBhdHRlcm4KKwkgIGlmIG5laXRoZXIgdGhlIHBhdHRlcm4gbm9yIHRoZSBzdHJpbmcgaGFzIGFueSBtdWx0aWJ5dGUgY2hhcmFjdGVycworCithbGlhcy5jCisJLSBmaXggdGVzdHMgb2YgYmFja3NsYXNoLWVzY2FwZWQgY2hhcmFjdGVycyBpbiBza2lwcXVvdGVzLCBza2lwd3MsCisJICByZF90b2tlbiB0byBjaGVjayBmb3IgYmFja3NsYXNoIGF0IEVPUyBhbmQgbm90IGdvIHBhc3QgdGhlIGVuZC4KKwkgIEZpeGVzIGRlYmlhbiBidWcgNjAzNjk2IHJlcG9ydGVkIGJ5IFRpbSBTbWFsbCA8dGltQGJ1dHRlcnNpZGV1cC5jb20+CisKK2luY2x1ZGUvc2htYmNoYXIuaAorCS0gbmV3IGZpbGUsIG1iY2hhci5oIGZyb20gZ251bGliIG1pbnVzIHRoZSA8c3RkYm9vbC5oPiBpbmNsdWRlCisKK2xpYi9zaC9zaG1iY2hhci5jCisJLSBuZXcgZmlsZSwgbWJjaGFyLmMgZnJvbSBnbnVsaWIgd2l0aCBhZGRpdGlvbnMKKwktIG1vdmVkIG1ic3RybGVuIGZyb20gc3Vic3QuYyB0byBoZXJlLCBjaGFuZ2VkIGluaXRpYWxpemF0aW9uIG9mIG1icworCS0gY2hhbmdlIG1ic3RybGVuIHRvIHVzZSBpc19iYXNpYyB0byBhdm9pZCBjYWxscyB0byBtYnJsZW4gZm9yIEFTQ0lJCisJICBjaGFyczsgY29kZSBoaW50cyBmcm9tIGdudWxpYgorCS0gZG9uJ3QgY29weSBtYnMgYW5kIG1ic2JhayBpZiB3ZSdyZSBub3QgY2FsbGluZyBtYnJsZW4KKworCQkJCSAgIDExLzI5CisJCQkJICAgLS0tLS0KK2xpYi9nbG9iL3NtYXRjaC5jCisJLSBjaGFuZ2UgeHN0cm1hdGNoIHRvIHVzZSBpbnRlcm5hbF9zdHJtYXRjaCgpIGlmIHRoZSBwYXR0ZXJuIGFuZAorCSAgc3RyaW5nIGRvbid0IGhhdmUgYW55IG11bHRpYnl0ZSBjaGFyYWN0ZXJzCisKKwkJCQkgICAxMS8zMAorCQkJCSAgIC0tLS0tCitpbmNsdWRlL3NobWJ1dGlsLmgKKwktIGNoYW5nZSBBRFZBTkNFX0NIQVIgYW5kIEFEVkFOQ0VfQ0hBUl9QIG1hY3JvcyB0byB1c2UgaXNfYmFzaWMgYW5kCisJICBvbmx5IGNhbGwgbWJybGVuIGFuZCBjb3B5IHN0YXRlIGFuZCBzdGF0ZV9iYWsgaWYgaXNfYmFzaWMgcmV0dXJucworCSAgZmFsc2UgKG5vbi1BU0NJSSkuICBDYWxsZWQgYWxsIG92ZXIgdGhlIHBsYWNlLgorCS0gY2hhbmdlIHJlc3Qgb2YgbWFjcm9zIGV4Y2VwdCBCQUNLVVBfQ0hBUiBhbmQgQkFDS1VQX0NIQVJfUCBpbiB0aGUKKwkgIHNhbWUgd2F5CisKKwkJCQkgICAxMi8yCisJCQkJICAgLS0tLQorc3Vic3QuYworCS0gYXVkaXQgYWxsIGNhbGxzIHRvIHN0cmluZ19saXN0IGFuZCBtYWtlIHN1cmUgY2FsbGVyIGNhbiBoYW5kbGUgYQorCSAgTlVMTCByZXR1cm4gdmFsdWUuICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgRGF2aWQgUm9jaGJlcmcKKwkgIDxyb2NoYmVyZ0Bnb29nbGUuY29tPgorCitnZW5lcmFsLmgKKwktIGNoYW5nZSBzaF93YXNzaWduX2Z1bmNfdCB0byB0YWtlIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQ6IGFuIGludAorCSAgZmxhZ3Mgd29yZAorCitzdWJzdC5jCisJLSBjaGFuZ2UgZG9fd29yZF9hc3NpZ25tZW50IHRvIHRha2UgYW4gYWRkaXRpb25hbCBhcmd1bWVudCB0byBtYXRjaAorCSAgd2Fzc2lnbl9mdW5jX3Q7IGNoYW5nZSBjYWxsZXJzCisJLSBjaGFuZ2UgY2FsbCB0byAoKmFzc2lnbl9mdW5jKSBpbiBleHBhbmRfd29yZF9saXN0X2ludGVybmFsIHRvIG1hdGNoCisJICBuZXcgd2Fzc2lnbl9mdW5jX3QgcHJvdG90eXBlCisJLSAoKmFzc2lnbl9mdW5jKSBwYXNzZXMgMSBhcyBhZGRpdGlvbmFsIGFyZyBpZiB0aGUgc2ltcGxlIGNvbW1hbmQgaXMKKwkgIGEgYnVpbHRpbiBvciBmdW5jdGlvbiwgaW4gd2hpY2ggY2FzZSB0aGUgYXNzaWdubWVudCB0byB0aGUKKwkgIHRlbXBvcmFyeSBlbnYgc2hvdWxkIHRha2UgZWZmZWN0CisKK3ZhcmlhYmxlcy5jCisJLSBjaGFuZ2UgYXNzaWduX2luX2VudiB0byB0YWtlIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQgdG8gbWF0Y2gKKwkgIHdhc3NpZ25fZnVuY190OyBjaGFuZ2UgY2FsbGVycworCS0gbW92ZSBjYWxsIHRvIHN2X2lmcyBmcm9tIGRpc3Bvc2VfdGVtcG9yYXJ5X2VudiB0bworCSAgZGlzcG9zZV91c2VkX2Vudl92YXJzOyB3ZSBkb24ndCBuZWVkIHRvIGRvIGl0IGlmIGNhbGxlZCBmcm9tCisJICBtZXJnZV90ZW1wb3JhcnlfZW52CisKKwkJCQkgICAxMi8zCisJCQkJICAgLS0tLQordmFyaWFibGVzLmMKKwktIGNoYW5nZSBkaXNwb3NlX3RlbXBvcmFyeV9lbnYgdG8gbWFpbnRhaW4gYSBsaXN0ICh0ZW1wdmFyX2xpc3QpIG9mCisJICB2YXJpYWJsZXMgdGhhdCBuZWVkIHRvIGJlIGhhbmRsZWQgc3BlY2lhbGx5LiAgSWYgYSB2YXJpYWJsZSB0aGF0CisJICBnZXRzIGZyZWVkIGJ5IHB1c2hfdGVtcF92YXIgb3IgcHJvcGFnYXRlX3RlbXBfdmFyIGlzIG9uZSBvZiB0aGUKKwkgIHZhcmlhYmxlcyB0aGF0IHRoZSBzaGVsbCBoYW5kbGVzIHNwZWNpYWxseSAoSUZTLCBMQU5HLCBldGMuKSwgaXQncworCSAgc3RvcmVkIG9uIHRoZSBsaXN0LiAgRm9yIGVhY2ggdmFyaWFibGUgaW4gdGhpcyBsaXN0LAorCSAgZGlzcG9zZV90ZW1wX3ZhciBjYWxscyBzdHVwaWRseV9oYWNrX3NwZWNpYWxfdmFyaWFibGVzLgorCS0gYXNzaWduX2luX2VudiBjYWxscyBzdHVwaWRseV9oYWNrX3NwZWNpYWxfdmFyaWFibGVzIGlmIGZsYWdzIGFyZworCSAgaXMgbm9uLXplcm8sIHNvIHZhcmlhYmxlIGFzc2lnbm1lbnRzIGFmZmVjdCBjdXJyZW50IHNoZWxsCisJICBleGVjdXRpb24gZW52aXJvbm1lbnQgaWYgYSBidWlsdGluIG9yIGZ1bmN0aW9uIGlzIGJlaW5nIGV4ZWN1dGVkLgorCSAgRml4ZXMgYnVnIHJlcG9ydGVkIGJ5IEJydW5vIEhhaWJsZSA8YnJ1bm9AY2xpc3Aub3JnPgorCisJCQkJICAgMTIvNQorCQkJCSAgIC0tLS0KK3N1YnN0LmMKKwktIHVzZSBtYnNtYmNoYXIgb24gYm90aCBzdHJpbmcgYW5kIHBhdHRlcm4gaW4gbWF0Y2hfcGF0dGVybiBpbnN0ZWFkCisJICBvZiBzdHJsZW4gYW5kIG1ic3RybGVuOyBvbmx5IGdvIHRocm91Z2ggdGhlIHN0cmluZ3Mgb25jZQorCisJCQkJICAgMTIvNgorCQkJCSAgIC0tLS0KK2xpYi9yZWFkbGluZS9raWxsLmMKKwktIGluIHJsX3lhbmtfbGFzdF9hcmcsIG9ubHkgc3dpdGNoIGRpcmVjdGlvbnMgaWYgdGhlIGBjb3VudCcKKwkgIGFyZ3VtZW50IGlzIDwgMCwgbm90IDwgMS4gIFRoaXMgbWFrZXMgZXhwbGljaXQgY291bnQgYXJndW1lbnRzIG9mCisJICAwIHdvcmsgYXMgZXhwZWN0ZWQuICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgRGVubmlzIFdpbGxpYW1zb24KKwkgIDxkZW5uaXN0d2lsbGlhbXNvbkBnbWFpbC5jb20+CisKK2RvYy9iYXNoLjEsbGliL3JlYWRsaW5lL2RvYy97cmVhZGxpbmUuMyxybHVzZXIudGV4aX0KKwktIGZpeCBkb2N1bWVudGF0aW9uIGZvciB5YW5rLWxhc3QtYXJnIHRvIG1ha2UgaXQgY2xlYXIgaG93IHRoZSBjb3VudAorCSAgYXJndW1lbnQgaXMgc2V0IGFuZCBob3cgc2Vjb25kIGFuZCBzdWJzZXF1ZW50IGNhbGxzIHRyZWF0IGFueQorCSAgbnVtZXJpYyBhcmd1bWVudAorCitkb2Mve2Jhc2guMSxiYXNocmVmLnRleGl9CisJLSBzbGlnaHQgY2hhbmdlcyB0byB0aGUgZGVzY3JpcHRpb24gb2YgdGVzdAorCS0gY2hhbmdlIFwoYnYgdG8gYHwnOyBpdCBzZWVtcyB0aGF0IG1hbnkgYGludGVybmF0aW9uYWxpemVkJyB2ZXJzaW9ucworCSAgb2YgZ3JvZmYgZG9uJ3QgcmVuZGVyIHRoYXQgYXMgYSB2ZXJ0aWNhbCBiYXIuICBGaXhlcyBEZWJpYW4gYnVnCisJICA2MDM4MDUKKworCQkJCSAgIDEyLzEwCisJCQkJICAgLS0tLS0KK2NvbmZpZ3VyZS5pbgorCS0gY2hhbmdlZCByZWxlYXNlIHN0YXR1cyB0byA0LjItYmV0YQorCitbYmFzaC00LjItYmV0YSBmcm96ZW5dCisKKwkJCQkgICAxMi8xOAorCQkJCSAgIC0tLS0tCityZWRpci5jCisJLSBjaGFuZ2UgUkVESVJFQ1RJT05fRVJST1IgbWFjcm8gdG8gYWNjZXB0IGEgdGhpcmQgYXJndW1lbnQ6IGFuCisJICBhZGRpdGlvbmFsIGZpbGUgZGVzY3JpcHRvciB0byBjbG9zZSBiZWZvcmUgcmV0dXJuaW5nIGFuZCBlcnJvciAocGFzcworCSAgLTEgdG8gZG8gbm90aGluZykKKwktIGNoYW5nZSBjYWxscyB0byBSRURJUkVDVElPTl9FUlJPUiB0byBjbG9zZSBhcHByb3ByaWF0ZSBmaWxlCisJICBkZXNjcmlwdG9ycy4gIEZpeGVzIGJ1ZyByZXBvcnRlZCBieSBBbmRyZWFzIFNjaHdhYgorCSAgPHNjaHdhYkBsaW51eC1tNjhrLm9yZz4KKwktIG1ha2Ugc3VyZSB0byBjbG9zZSBhbnkgZmlsZSBkZXNjcmlwdG9ycyBvcGVuZWQgZm9yIFJFRElSX1ZBUkFTU0lHTgorCSAgYmVmb3JlIHJldHVybmluZyBhbiBlcnJvcgorCisJCQkJICAgMTIvMTkKKwkJCQkgICAtLS0tLQorZXhwci5jCisJLSBtb3ZlIHByb2Nlc3Npbmcgb2YgdW5hcnkgYC0nIGFuZCBgKycgdG8gZXhwMSBmcm9tIGV4cDAgdG8gYXZvaWQKKwkgIHByZWNlZGVuY2UgcHJvYmxlbXMuICBGaXhlcyBidWcgcmVwb3J0ZWQgYnkgPDEyYnJpY0BnbWFpbC5jb20+CisKKwkJCQkgICAxMi8yMQorCQkJCSAgIC0tLS0tCitsaWIvc2gvdW5pY29kZS5jCisJLSBmaXhlZCByZXZlcnNlZCBhcmd1bWVudHMgdG8gd2N0b21iLiAgUmVwb3J0ZWQgYnkgQW5kcmVhcyBTY2h3YWIKKwkgIDxzY2h3YWJAbGludXgtbTY4ay5vcmc+CmRpZmYgLS1naXQgYS9DV1JVL21pc2Mvc2lncy5jIGIvQ1dSVS9taXNjL3NpZ3MuYwppbmRleCAwOTdhYjMxLi5iYWU5M2Y4IDEwMDY0NAotLS0gYS9DV1JVL21pc2Mvc2lncy5jCisrKyBiL0NXUlUvbWlzYy9zaWdzLmMKQEAgLTEsNiArMSw2IEBACiAvKiBzaWdzIC0gcHJpbnQgc2lnbmFsIGRpc3Bvc2l0aW9ucyBmb3IgYSBwcm9jZXNzICovCiAKLS8qIENvcHlyaWdodCAoQykgMTk5MC0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTkwLTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC0yMSw3ICsyMSw3IEBACiAjaW5jbHVkZSA8c2lnbmFsLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KIAotZXh0ZXJuIGNoYXIJKnN5c19zaWdsaXN0W107CitleHRlcm4gY29uc3QgY2hhcgkqIGNvbnN0IHN5c19zaWdsaXN0W107CiAKIHR5cGVkZWYgdm9pZAlzaWdoYW5kbGVyKCk7CiAKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwpuZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwLi4xMmM5YTI4Ci0tLSAvZGV2L251bGwKKysrIGIvQ2hhbmdlTG9nCkBAIC0wLDAgKzEgQEAKK0NXUlUvY2hhbmdlbG9nClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvSU5TVEFMTCBiL0lOU1RBTEwKaW5kZXggYjYyOTNmYy4uMTZmYTY4NSAxMDA2NDQKLS0tIGEvSU5TVEFMTAorKysgYi9JTlNUQUxMCkBAIC0zNzYsOCArMzc2LDggQEAKICAgICAgVGhlIFJlc3RyaWN0ZWQgU2hlbGw6OiwgZm9yIGEgZGVzY3JpcHRpb24gb2YgcmVzdHJpY3RlZCBtb2RlLgogCiBgLS1lbmFibGUtc2VsZWN0JwotICAgICBJbmNsdWRlIHRoZSBgc2VsZWN0JyBidWlsdGluLCB3aGljaCBhbGxvd3MgdGhlIGdlbmVyYXRpb24gb2Ygc2ltcGxlCi0gICAgIG1lbnVzICgqbm90ZSBDb25kaXRpb25hbCBDb25zdHJ1Y3RzOjopLgorICAgICBJbmNsdWRlIHRoZSBgc2VsZWN0JyBjb21wb3VuZCBjb21tYW5kLCB3aGljaCBhbGxvd3MgdGhlIGdlbmVyYXRpb24KKyAgICAgb2Ygc2ltcGxlIG1lbnVzICgqbm90ZSBDb25kaXRpb25hbCBDb25zdHJ1Y3RzOjopLgogCiBgLS1lbmFibGUtc2VwYXJhdGUtaGVscGZpbGVzJwogICAgICBVc2UgZXh0ZXJuYWwgZmlsZXMgZm9yIHRoZSBkb2N1bWVudGF0aW9uIGRpc3BsYXllZCBieSB0aGUgYGhlbHAnCmRpZmYgLS1naXQgYS9NQU5JRkVTVCBiL01BTklGRVNUCmluZGV4IGU0MmQ3ZDcuLjExZmQyNzUgMTAwNjQ0Ci0tLSBhL01BTklGRVNUCisrKyBiL01BTklGRVNUCkBAIC0yMjAsNiArMjIwLDcgQEAKIGluY2x1ZGUvcG9zaXhzdGF0LmgJZgogaW5jbHVkZS9wb3NpeHRpbWUuaAlmCiBpbmNsdWRlL3Bvc2l4d2FpdC5oCWYKK2luY2x1ZGUvc2htYmNoYXIuaAlmCiBpbmNsdWRlL3NobWJ1dGlsLmgJZgogaW5jbHVkZS9zaHR0eS5oCQlmCiBpbmNsdWRlL3N0ZGMuaAkJZgpAQCAtMjM0LDYgKzIzNSw3IEBACiBsaWIvZ2xvYi9nbG9iLmMJCWYKIGxpYi9nbG9iL2dsb2IuaAkJZgogbGliL2dsb2IvZ2xvYl9sb29wLmMJZgorbGliL2dsb2IvZ21pc2MuYwlmCiBsaWIvZ2xvYi94bWJzcnRvd2NzLmMJZgogbGliL2dsb2IvY29sbHN5bXMuaAlmCiBsaWIvZ2xvYi9kb2MvTWFrZWZpbGUJZgpAQCAtMzE1LDYgKzMxNyw3IEBACiBsaWIvcmVhZGxpbmUva2V5bWFwcy5jCWYKIGxpYi9yZWFkbGluZS91dGlsLmMJZgogbGliL3JlYWRsaW5lL3Rlcm1pbmFsLmMJZgorbGliL3JlYWRsaW5lL3hmcmVlLmMJZgogbGliL3JlYWRsaW5lL3htYWxsb2MuYwlmCiBsaWIvcmVhZGxpbmUvc2VhcmNoLmMJZgogbGliL3JlYWRsaW5lL2lzZWFyY2guYwlmCkBAIC0zODIsOCArMzg1LDggQEAKIGxpYi9zaC9jYXNlbW9kLmMJZgogbGliL3NoL2Nsa3Rjay5jCQlmCiBsaWIvc2gvY2xvY2suYwkJZgorbGliL3NoL2RwcmludGYuYwlmCiBsaWIvc2gvZWFjY2Vzcy5jCWYKLWxpYi9zaC9mZHByaW50Zi5jCWYKIGxpYi9zaC9mbXR1bGxvbmcuYwlmCiBsaWIvc2gvZm10dWxvbmcuYwlmCiBsaWIvc2gvZm10dW1heC5jCWYKQEAgLTQwOSwxMiArNDEyLDE0IEBACiBsaWIvc2gvcmVuYW1lLmMJCWYKIGxpYi9zaC9zZXRsaW5lYnVmLmMJZgogbGliL3NoL3NobWF0Y2guYwlmCitsaWIvc2gvc2htYmNoYXIuYwlmCiBsaWIvc2gvc2hxdW90ZS5jCWYKIGxpYi9zaC9zaHR0eS5jCQlmCiBsaWIvc2gvc25wcmludGYuYwlmCiBsaWIvc2gvc3BlbGwuYwkJZgogbGliL3NoL3N0cmNhc2VjbXAuYwlmCiBsaWIvc2gvc3RyY2FzZXN0ci5jCWYKK2xpYi9zaC9zdHJjaHJudWwuYwlmCiBsaWIvc2gvc3RyZXJyb3IuYwlmCiBsaWIvc2gvc3RyZnRpbWUuYwlmCiBsaWIvc2gvc3RyaW5nbGlzdC5jCWYKQEAgLTQzNSw4ICs0NDAsMTAgQEAKIGxpYi9zaC90bXBmaWxlLmMJZgogbGliL3NoL3Vjb252ZXJ0LmMJZgogbGliL3NoL3VmdW5jcy5jCQlmCitsaWIvc2gvdW5pY29kZS5jCWYKIGxpYi9zaC92cHJpbnQuYwkJZgogbGliL3NoL3djc2R1cC5jCQlmCitsaWIvc2gvd2Nzd2lkdGguYwlmCiBsaWIvc2gvd2luc2l6ZS5jCWYKIGxpYi9zaC96Y2F0ZmQuYwkJZgogbGliL3NoL3pnZXRsaW5lLmMJZgpAQCAtNTE1LDggKzUyMiwxMiBAQAogcG8vc3YucG8JCWYKIHBvL3RyLmdtbwkJZgogcG8vdHIucG8JCWYKK3BvL3VrLmdtbwkJZgorcG8vdWsucG8JCWYKIHBvL3ZpLmdtbwkJZgogcG8vdmkucG8JCWYKK3BvL3poX0NOLmdtbwkJZgorcG8vemhfQ04ucG8JCWYKIHBvL3poX1RXLmdtbwkJZgogcG8vemhfVFcucG8JCWYKIHBvL2luc2VydC1oZWFkZXIuc2luCWYKQEAgLTY4NSw2ICs2OTYsNyBAQAogZXhhbXBsZXMvZnVuY3Rpb25zL3hhbGlhcy5iYXNoCWYKIGV4YW1wbGVzL2Z1bmN0aW9ucy94ZmluZC5iYXNoCWYKIGV4YW1wbGVzL3NjcmlwdHMvYWR2ZW50dXJlLnNoCWYKK2V4YW1wbGVzL3NjcmlwdHMvYmFzaC1oZXhkdW1wLnNoCWYKIGV4YW1wbGVzL3NjcmlwdHMvYmNzaC5zaAlmCiBleGFtcGxlcy9zY3JpcHRzL2NhdC5zaAkJZgogZXhhbXBsZXMvc2NyaXB0cy9jZW50ZXIJCWYKQEAgLTc0Miw2ICs3NTQsOCBAQAogdGVzdHMvYXJpdGgucmlnaHQJZgogdGVzdHMvYXJpdGgxLnN1YglmCiB0ZXN0cy9hcml0aDIuc3ViCWYKK3Rlc3RzL2FyaXRoMy5zdWIJZgordGVzdHMvYXJpdGg0LnN1YglmCiB0ZXN0cy9hcnJheS50ZXN0cwlmCiB0ZXN0cy9hcnJheS5yaWdodAlmCiB0ZXN0cy9hcnJheTEuc3ViCWYKQEAgLTc1Myw2ICs3NjcsNyBAQAogdGVzdHMvYXJyYXk3LnN1YglmCiB0ZXN0cy9hcnJheTguc3ViCWYKIHRlc3RzL2FycmF5OS5zdWIJZgordGVzdHMvYXJyYXkxMC5zdWIJZgogdGVzdHMvYXJyYXktYXQtc3RhcglmCiB0ZXN0cy9hcnJheTIucmlnaHQJZgogdGVzdHMvYXNzb2MudGVzdHMJZgpAQCAtNzY5LDYgKzc4NCw3IEBACiB0ZXN0cy9idWlsdGlucy5yaWdodAlmCiB0ZXN0cy9idWlsdGluczEuc3ViCWYKIHRlc3RzL2J1aWx0aW5zMi5zdWIJZgordGVzdHMvYnVpbHRpbnMzLnN1YglmCiB0ZXN0cy9zb3VyY2UxLnN1YglmCiB0ZXN0cy9zb3VyY2UyLnN1YglmCiB0ZXN0cy9zb3VyY2UzLnN1YglmCkBAIC03OTMsNiArODA5LDggQEAKIHRlc3RzL2NvbXN1Yi1wb3NpeC50ZXN0cwlmCiB0ZXN0cy9jb21zdWItcG9zaXgucmlnaHQJZgogdGVzdHMvY29tc3ViLXBvc2l4MS5zdWIJZgordGVzdHMvY29tc3ViLXBvc2l4Mi5zdWIJZgordGVzdHMvY29tc3ViLXBvc2l4My5zdWIJZgogdGVzdHMvY29uZC50ZXN0cwlmCiB0ZXN0cy9jb25kLnJpZ2h0CWYKIHRlc3RzL2NvbmQtcmVnZXhwLnN1YglmCkBAIC04MzIsMTEgKzg1MCwxMyBAQAogdGVzdHMvZXhlYzYuc3ViCQlmCiB0ZXN0cy9leGVjNy5zdWIJCWYKIHRlc3RzL2V4ZWM4LnN1YgkJZgordGVzdHMvZXhlYzkuc3ViCQlmCiB0ZXN0cy9leHAudGVzdHMJCWYKIHRlc3RzL2V4cC5yaWdodAkJZgogdGVzdHMvZXhwMS5zdWIJCWYKIHRlc3RzL2V4cDIuc3ViCQlmCiB0ZXN0cy9leHAzLnN1YgkJZgordGVzdHMvZXhwNC5zdWIJCWYKIHRlc3RzL2V4dGdsb2IudGVzdHMJZgogdGVzdHMvZXh0Z2xvYi5yaWdodAlmCiB0ZXN0cy9leHRnbG9iMS5zdWIJZgpAQCAtODQ5LDYgKzg2OSw3IEBACiB0ZXN0cy9mdW5jMS5zdWIJCWYKIHRlc3RzL2Z1bmMyLnN1YgkJZgogdGVzdHMvZnVuYzMuc3ViCQlmCit0ZXN0cy9mdW5jNC5zdWIJCWYKIHRlc3RzL2dldG9wdHMudGVzdHMJZgogdGVzdHMvZ2V0b3B0cy5yaWdodAlmCiB0ZXN0cy9nZXRvcHRzMS5zdWIJZgpAQCAtODg1LDYgKzkwNiw3IEBACiB0ZXN0cy9pbnB1dC5yaWdodAlmCiB0ZXN0cy9pbnRsLnRlc3RzCWYKIHRlc3RzL2ludGwxLnN1YgkJZgordGVzdHMvaW50bDIuc3ViCQlmCiB0ZXN0cy9pbnRsLnJpZ2h0CWYKIHRlc3RzL2lxdW90ZS50ZXN0cwlmCiB0ZXN0cy9pcXVvdGUucmlnaHQJZgpAQCAtODk2LDYgKzkxOCw5IEBACiB0ZXN0cy9qb2JzMy5zdWIJCWYKIHRlc3RzL2pvYnM0LnN1YgkJZgogdGVzdHMvam9icy5yaWdodAlmCit0ZXN0cy9sYXN0cGlwZS5yaWdodAlmCit0ZXN0cy9sYXN0cGlwZS50ZXN0cwlmCit0ZXN0cy9sYXN0cGlwZTEuc3ViCWYKIHRlc3RzL21hcGZpbGUuZGF0YQlmCiB0ZXN0cy9tYXBmaWxlLnJpZ2h0CWYKIHRlc3RzL21hcGZpbGUudGVzdHMJZgpAQCAtOTEwLDYgKzkzNSw3IEBACiB0ZXN0cy9uZXctZXhwNS5zdWIJZgogdGVzdHMvbmV3LWV4cDYuc3ViCWYKIHRlc3RzL25ldy1leHA3LnN1YglmCit0ZXN0cy9uZXctZXhwOC5zdWIJZgogdGVzdHMvbmV3LWV4cC5yaWdodAlmCiB0ZXN0cy9ucXVvdGUudGVzdHMJZgogdGVzdHMvbnF1b3RlLnJpZ2h0CWYKQEAgLTkyNiwxMyArOTUyLDIzIEBACiB0ZXN0cy9ucXVvdGU1LnJpZ2h0CWYKIHRlc3RzL3Bvc2l4Mi50ZXN0cwlmCiB0ZXN0cy9wb3NpeDIucmlnaHQJZgordGVzdHMvcG9zaXhleHAudGVzdHMJZgordGVzdHMvcG9zaXhleHAucmlnaHQJZgordGVzdHMvcG9zaXhleHAxLnN1YglmCit0ZXN0cy9wb3NpeGV4cDIuc3ViCWYKK3Rlc3RzL3Bvc2l4ZXhwMi50ZXN0cwlmCit0ZXN0cy9wb3NpeGV4cDIucmlnaHQJZgogdGVzdHMvcG9zaXhwYXQudGVzdHMJZgogdGVzdHMvcG9zaXhwYXQucmlnaHQJZgordGVzdHMvcG9zaXhwaXBlLnRlc3RzCWYKK3Rlc3RzL3Bvc2l4cGlwZS5yaWdodAlmCiB0ZXN0cy9wcmVjLnJpZ2h0CWYKIHRlc3RzL3ByZWNlZGVuY2UJZgogdGVzdHMvcHJpbnRmLnRlc3RzCWYKIHRlc3RzL3ByaW50Zi5yaWdodAlmCit0ZXN0cy9wcmludGYxLnN1YglmCiB0ZXN0cy9wcmludGYyLnN1YglmCit0ZXN0cy9wcmludGYzLnN1YglmCiB0ZXN0cy9xdW90ZS50ZXN0cwlmCiB0ZXN0cy9xdW90ZS5yaWdodAlmCiB0ZXN0cy9yZWFkLnRlc3RzCWYKQEAgLTEwMDUsNiArMTA0MSw3IEBACiB0ZXN0cy9ydW4taXF1b3RlCWYKIHRlc3RzL3J1bi1pbnZlcnQJZgogdGVzdHMvcnVuLWpvYnMJCWYKK3Rlc3RzL3J1bi1sYXN0cGlwZQlmCiB0ZXN0cy9ydW4tbWFwZmlsZQlmCiB0ZXN0cy9ydW4tbW9yZS1leHAJZgogdGVzdHMvcnVuLW5ldy1leHAJZgpAQCAtMTAxNSw3ICsxMDUyLDEwIEBACiB0ZXN0cy9ydW4tbnF1b3RlNAlmCiB0ZXN0cy9ydW4tbnF1b3RlNQlmCiB0ZXN0cy9ydW4tcG9zaXgyCWYKK3Rlc3RzL3J1bi1wb3NpeGV4cAlmCit0ZXN0cy9ydW4tcG9zaXhleHAyCWYKIHRlc3RzL3J1bi1wb3NpeHBhdAlmCit0ZXN0cy9ydW4tcG9zaXhwaXBlCWYKIHRlc3RzL3J1bi1wcmVjZWRlbmNlCWYKIHRlc3RzL3J1bi1wcmludGYJZgogdGVzdHMvcnVuLXF1b3RlCQlmCkBAIC0xMDYxLDYgKzExMDEsNyBAQAogdGVzdHMvdHlwZS5yaWdodAlmCiB0ZXN0cy90eXBlMS5zdWIJCWYKIHRlc3RzL3R5cGUyLnN1YgkJZgordGVzdHMvdHlwZTMuc3ViCQlmCiB0ZXN0cy92YXJlbnYucmlnaHQJZgogdGVzdHMvdmFyZW52LnNoCQlmCiB0ZXN0cy92YXJlbnYxLnN1YglmCkBAIC0xMDc0LDYgKzExMTUsNyBAQAogdGVzdHMvdnJlZGlyMy5zdWIJZgogdGVzdHMvdnJlZGlyNC5zdWIJZgogdGVzdHMvdnJlZGlyNS5zdWIJZgordGVzdHMvdnJlZGlyNi5zdWIJZgogdGVzdHMvbWlzYy9kZXYtdGNwLnRlc3RzCWYKIHRlc3RzL21pc2MvcGVyZi1zY3JpcHQJZgogdGVzdHMvbWlzYy9wZXJmdGVzdAlmCmRpZmYgLS1naXQgYS9NYWtlZmlsZS5pbiBiL01ha2VmaWxlLmluCmluZGV4IGYwMWQ0OWMuLjlmOTI3NmQgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlLmluCisrKyBiL01ha2VmaWxlLmluCkBAIC0xLDYgKzEsNiBAQAotIyBNYWtlZmlsZSBmb3IgYmFzaC00LjAsIHZlcnNpb24gMy41CisjIE1ha2VmaWxlIGZvciBiYXNoLTQuMiwgdmVyc2lvbiA0LjQKICMKLSMgQ29weXJpZ2h0IChDKSAxOTk2LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMTk5Ni0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICMgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpAQCAtMTg1LDcgKzE4NSw3IEBACiAKIFNITElCX1NPVVJDRSA9CSR7U0hfTElCU1JDfS9jbGt0Y2suYyAke1NIX0xJQlNSQ30vZ2V0Y3dkLmMgXAogCQkke1NIX0xJQlNSQ30vZ2V0ZW52LmMgJHtTSF9MSUJTUkN9L29zbGliLmMgXAotCQkke1NIX0xJQlNSQ30vc2V0bGluZWJ1Zi5jIFwKKwkJJHtTSF9MSUJTUkN9L3NldGxpbmVidWYuYyAke1NIX0xJQlNSQ30vc3RyY2hybnVsLmMgXAogCQkke1NIX0xJQlNSQ30vc3RyY2FzZWNtcC5jICR7U0hfTElCU1JDfS9zdHJlcnJvci5jIFwKIAkJJHtTSF9MSUJTUkN9L3N0cnRvZC5jICR7U0hfTElCU1JDfS9zdHJ0b2wuYyBcCiAJCSR7U0hfTElCU1JDfS9zdHJ0b3VsLmMgJHtTSF9MSUJTUkN9L3ZwcmludC5jIFwKQEAgLTIxMiw5ICsyMTIsMTAgQEAKIAkJJHtTSF9MSUJTUkN9L3ptYXBmZC5jICR7U0hfTElCU1JDfS9mcHVyZ2UuYyBcCiAJCSR7U0hfTElCU1JDfS96Z2V0bGluZS5jICR7U0hfTElCU1JDfS9tYnNjbXAuYyBcCiAJCSR7U0hfTElCU1JDfS9jYXNlbW9kLmMgJHtTSF9MSUJTUkN9L3Vjb252ZXJ0LmMgXAotCQkke1NIX0xJQlNSQ30vdWZ1bmNzLmMgJHtTSF9MSUJTUkN9L2ZkcHJpbnRmLmMgXAorCQkke1NIX0xJQlNSQ30vdWZ1bmNzLmMgJHtTSF9MSUJTUkN9L2RwcmludGYuYyBcCiAJCSR7U0hfTElCU1JDfS9pbnB1dF9hdmFpbC5jICR7U0hfTElCU1JDfS9tYnNjYXNlY21wLmMgXAotCQkke1NIX0xJQlNSQ30vZm54Zm9ybS5jCisJCSR7U0hfTElCU1JDfS9mbnhmb3JtLmMgJHtTSF9MSUJTUkN9L3VuaWNvZGUuYyBcCisJCSR7U0hfTElCU1JDfS93Y3N3aWR0aC5jICR7U0hfTElCU1JDfS9zaG1iY2hhci5jCiAKIFNITElCX0xJQiA9IC1sc2gKIFNITElCX0xJQk5BTUUgPSBsaWJzaC5hCkBAIC0zMTgsOSArMzE5LDExIEBACiBHTE9CX1NPVVJDRSA9ICQoR0xPQl9MSUJTUkMpL2dsb2IuYyAkKEdMT0JfTElCU1JDKS9zdHJtYXRjaC5jIFwKIAkgICAgICAkKEdMT0JfTElCU1JDKS9zbWF0Y2guYyAkKEdMT0JfTElCU1JDKS94bWJzcnRvd2NzLmMgXAogCSAgICAgICQoR0xPQl9MSUJTUkMpL2dsb2JfbG9vcC5jICQoR0xPQl9MSUJTUkMpL3NtX2xvb3AuYyBcCisJICAgICAgJChHTE9CX0xJQlNSQykvZ21pc2MuYyBcCiAJICAgICAgJChHTE9CX0xJQlNSQykvZ2xvYi5oICQoR0xPQl9MSUJTUkMpL3N0cm1hdGNoLmgKIEdMT0JfT0JKICAgID0gJChHTE9CX0xJQkRJUikvZ2xvYi5vICQoR0xPQl9MSUJESVIpL3N0cm1hdGNoLm8gXAotCSAgICAgICQoR0xPQl9MSUJESVIpL3NtYXRjaC5vICQoR0xPQl9MSUJESVIpL3htYnNydG93Y3MubworCSAgICAgICQoR0xPQl9MSUJESVIpL3NtYXRjaC5vICQoR0xPQl9MSUJESVIpL3htYnNydG93Y3MubyBcCisJICAgICAgJChHTE9CX0xJQkRJUikvZ21pc2MubwogCiAjIFRoZSBzb3VyY2UsIG9iamVjdCBhbmQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEdOVSBUaWxkZSBsaWJyYXJ5LgogVElMREVfTElCU1JDID0gJChMSUJTUkMpL3RpbGRlCkBAIC01MTksNyArNTIyLDcgQEAKIAkJICBta3N5bnRheCR7RVhFRVhUfSBzeW50YXguYyAkKFZFUlNQUk9HKSAkKFZFUlNPQkopIFwKIAkJICBidWlsZHZlcnNpb24ubyBta3NpZ25hbWVzLm8gc2lnbmFtZXMubyBidWlsZHNpZ25hbWVzLm8KIENSRUFURURfQ09ORklHVVJFID0gY29uZmlnLmggY29uZmlnLmNhY2hlIGNvbmZpZy5zdGF0dXMgY29uZmlnLmxvZyBcCi0JCSAgICBzdGFtcC1oIHBvL1BPVEZJTEVTCisJCSAgICBzdGFtcC1oIHBvL1BPVEZJTEVTIGNvbmZpZy5zdGF0dXMubGluZW5vCiBDUkVBVEVEX01BS0VGSUxFUyA9IE1ha2VmaWxlIGJ1aWx0aW5zL01ha2VmaWxlIGRvYy9NYWtlZmlsZSBcCiAJCSAgICBsaWIvcmVhZGxpbmUvTWFrZWZpbGUgbGliL2dsb2IvTWFrZWZpbGUgXAogCQkgICAgbGliL3NoL01ha2VmaWxlIGxpYi90aWxkZS9NYWtlZmlsZSBsaWIvbWFsbG9jL01ha2VmaWxlIFwKQEAgLTU2NCw3ICs1NjcsNyBAQAogbGludDoKIAkke01BS0V9ICR7TUZMQUdTfSBDRkxBR1M9JyR7R0NDX0xJTlRfRkxBR1N9JyAubWFkZQogCi12ZXJzaW9uLmg6ICAkKFNPVVJDRVMpIGNvbmZpZy5oIE1ha2VmaWxlIAordmVyc2lvbi5oOiAgJChTT1VSQ0VTKSBjb25maWcuaCBNYWtlZmlsZSBwYXRjaGxldmVsLmgKIAkkKFNIRUxMKSAkKFNVUFBPUlRfU1JDKW1rdmVyc2lvbi5zaCAtYiAtUyAke3RvcGRpcn0gLXMgJChSRUxTVEFUVVMpIC1kICQoVmVyc2lvbikgLW8gbmV3dmVyc2lvbi5oIFwKIAkJJiYgbXYgbmV3dmVyc2lvbi5oIHZlcnNpb24uaAogCkBAIC05NjksOCArOTcyLDggQEAKIG1ha2VfY21kLm86IGNvbmZpZy5oIGJhc2h0eXBlcy5oICR7QkFTSElOQ0RJUn0vZmlsZWNudGwuaCBiYXNoYW5zaS5oCiBtYWtlX2NtZC5vOiBjb21tYW5kLmggJHtCQVNISU5DRElSfS9zdGRjLmggZ2VuZXJhbC5oIHhtYWxsb2MuaCBlcnJvci5oIGZsYWdzLmggbWFrZV9jbWQuaAogbWFrZV9jbWQubzogdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggYXJyYXkuaCBoYXNobGliLmggc3Vic3QuaCBpbnB1dC5oIGV4dGVybnMuaAotbWFrZV9jbWQubzogam9icy5oIHF1aXQuaCBzaWdsaXN0Lmggc3ludGF4LmggZGlzcG9zZV9jbWQuaAotbWFrZV9jbWQubzogJHtCQVNISU5DRElSfS9zaG1idXRpbC5oICR7QkFTSElOQ0RJUn0vb2NhY2hlLmgKK21ha2VfY21kLm86IGpvYnMuaCBxdWl0Lmggc2lnbGlzdC5oIHN5bnRheC5oIGRpc3Bvc2VfY21kLmggcGFyc2VyLmgKK21ha2VfY21kLm86ICR7QkFTSElOQ0RJUn0vc2htYnV0aWwuaCAke0JBU0hJTkNESVJ9L3NobWJjaGFyLmggJHtCQVNISU5DRElSfS9vY2FjaGUuaAogeS50YWIubzogY29uZmlnLmggYmFzaHR5cGVzLmggYmFzaGFuc2kuaCAke0JBU0hJTkNESVJ9L2Fuc2lfc3RkbGliLmggJHtCQVNISU5DRElSfS9tZW1hbGxvYy5oCiB5LnRhYi5vOiBzaGVsbC5oIHN5bnRheC5oIGNvbmZpZy5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmggY29tbWFuZC5oICR7QkFTSElOQ0RJUn0vc3RkYy5oIGVycm9yLmgKIHkudGFiLm86IGdlbmVyYWwuaCB4bWFsbG9jLmggYmFzaHR5cGVzLmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggYXJyYXkuaCBoYXNobGliLmgKQEAgLTk4NSw3ICs5ODgsNyBAQAogcGF0aGV4cC5vOiBtYWtlX2NtZC5oIHN1YnN0Lmggc2lnLmggcGF0aG5hbWVzLmggZXh0ZXJucy5oCiBwYXRoZXhwLm86IHBhdGhleHAuaCBmbGFncy5oIAogcGF0aGV4cC5vOiAkKEdMT0JfTElCU1JDKS9nbG9iLmggJChHTE9CX0xJQlNSQykvc3RybWF0Y2guaAotcGF0aGV4cC5vOiAke0JBU0hJTkNESVJ9L3NobWJ1dGlsLmgKK3BhdGhleHAubzogJHtCQVNISU5DRElSfS9zaG1idXRpbC5oICR7QkFTSElOQ0RJUn0vc2htYmNoYXIuaAogcHJpbnRfY21kLm86IGNvbmZpZy5oIGJhc2hhbnNpLmggJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oCiBwcmludF9jbWQubzogc2hlbGwuaCBzeW50YXguaCBjb25maWcuaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBlcnJvci5oCiBwcmludF9jbWQubzogZ2VuZXJhbC5oIHhtYWxsb2MuaCBiYXNodHlwZXMuaCB2YXJpYWJsZXMuaCBhcnJheWZ1bmMuaCBjb25mdHlwZXMuaCBhcnJheS5oIGhhc2hsaWIuaApAQCAtMTAyMiwxMiArMTAyNSwxMiBAQAogc3Vic3Qubzogc2hlbGwuaCBzeW50YXguaCBjb25maWcuaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBlcnJvci5oCiBzdWJzdC5vOiBnZW5lcmFsLmggeG1hbGxvYy5oIGJhc2h0eXBlcy5oIHZhcmlhYmxlcy5oIGFycmF5ZnVuYy5oIGNvbmZ0eXBlcy5oIGFycmF5LmggaGFzaGxpYi5oCiBzdWJzdC5vOiBxdWl0LmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmggdW53aW5kX3Byb3QuaCBkaXNwb3NlX2NtZC5oCi1zdWJzdC5vOiBtYWtlX2NtZC5oIHN1YnN0Lmggc2lnLmggcGF0aG5hbWVzLmggZXh0ZXJucy5oIAorc3Vic3QubzogbWFrZV9jbWQuaCBzdWJzdC5oIHNpZy5oIHBhdGhuYW1lcy5oIGV4dGVybnMuaCBwYXJzZXIuaAogc3Vic3QubzogZmxhZ3MuaCBqb2JzLmggc2lnbGlzdC5oIGV4ZWN1dGVfY21kLmggJHtCQVNISU5DRElSfS9maWxlY250bC5oIHRyYXAuaCBwYXRoZXhwLmgKIHN1YnN0Lm86IG1haWxjaGVjay5oIGlucHV0LmggJChERUZTUkMpL2dldG9wdC5oICQoREVGU1JDKS9jb21tb24uaAogc3Vic3QubzogYmFzaGxpbmUuaCBiYXNoaGlzdC5oICR7R0xPQl9MSUJTUkN9L3N0cm1hdGNoLmgKIHN1YnN0Lm86ICR7QkFTSElOQ0RJUn0vY2hhcnR5cGVzLmgKLXN1YnN0Lm86ICR7QkFTSElOQ0RJUn0vc2htYnV0aWwuaAorc3Vic3QubzogJHtCQVNISU5DRElSfS9zaG1idXRpbC5oICR7QkFTSElOQ0RJUn0vc2htYmNoYXIuaAogc3Vic3QubzogJHtERUZESVJ9L2J1aWx0ZXh0LmgKIHRlc3QubzogYmFzaHR5cGVzLmggJHtCQVNISU5DRElSfS9wb3NpeHN0YXQuaCAke0JBU0hJTkNESVJ9L2ZpbGVjbnRsLmgKIHRlc3Qubzogc2hlbGwuaCBzeW50YXguaCBjb25maWcuaCBiYXNoam1wLmggJHtCQVNISU5DRElSfS9wb3NpeGptcC5oIGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBlcnJvci5oCkBAIC0xMDg2LDcgKzEwODksNyBAQAogYXJyYXlmdW5jLm86IHF1aXQuaCAke0JBU0hJTkNESVJ9L21heHBhdGguaCB1bndpbmRfcHJvdC5oIGRpc3Bvc2VfY21kLmgKIGFycmF5ZnVuYy5vOiBtYWtlX2NtZC5oIHN1YnN0Lmggc2lnLmggcGF0aG5hbWVzLmggZXh0ZXJucy5oIHBhdGhleHAuaAogYXJyYXlmdW5jLm86ICQoREVGU1JDKS9jb21tb24uaAotYXJyYXlmdW5jLm86ICR7QkFTSElOQ0RJUn0vc2htYnV0aWwuaAorYXJyYXlmdW5jLm86ICR7QkFTSElOQ0RJUn0vc2htYnV0aWwuaCAke0JBU0hJTkNESVJ9L3NobWJjaGFyLmgKIGFzc29jLm86IGNvbmZpZy5oIGJhc2hhbnNpLmggJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oCiBhc3NvYy5vOiBzaGVsbC5oIHN5bnRheC5oIGNvbmZpZy5oIGJhc2hqbXAuaCAke0JBU0hJTkNESVJ9L3Bvc2l4am1wLmgKIGFzc29jLm86IGNvbW1hbmQuaCAke0JBU0hJTkNESVJ9L3N0ZGMuaCBlcnJvci5oCkBAIC0xMTAwLDcgKzExMDMsNyBAQAogYnJhY2VzLm86IGdlbmVyYWwuaCB4bWFsbG9jLmggYmFzaHR5cGVzLmggdmFyaWFibGVzLmggYXJyYXlmdW5jLmggY29uZnR5cGVzLmggYXJyYXkuaCBoYXNobGliLmgKIGJyYWNlcy5vOiBxdWl0LmggJHtCQVNISU5DRElSfS9tYXhwYXRoLmggdW53aW5kX3Byb3QuaCBkaXNwb3NlX2NtZC5oCiBicmFjZXMubzogbWFrZV9jbWQuaCBzdWJzdC5oIHNpZy5oIHBhdGhuYW1lcy5oIGV4dGVybnMuaCAKLWJyYWNlcy5vOiAke0JBU0hJTkNESVJ9L3NobWJ1dGlsLmgKK2JyYWNlcy5vOiAke0JBU0hJTkNESVJ9L3NobWJ1dGlsLmggJHtCQVNISU5DRElSfS9zaG1iY2hhci5oCiBhbGlhcy5vOiBjb25maWcuaCBiYXNoYW5zaS5oICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaCBjb21tYW5kLmggJHtCQVNISU5DRElSfS9zdGRjLmgKIGFsaWFzLm86IGdlbmVyYWwuaCB4bWFsbG9jLmggYmFzaHR5cGVzLmggZXh0ZXJucy5oIGFsaWFzLmgKIGFsaWFzLm86IHBjb21wbGV0ZS5oIApAQCAtMTE4NCw3ICsxMTg3LDcgQEAKIG1haWxjaGVjay5vOiBiYXNoaW50bC5oICR7TElCSU5UTF9IfSAkKEJBU0hJTkNESVIpL2dldHRleHQuaAogbWFrZV9jbWQubzogYmFzaGludGwuaCAke0xJQklOVExfSH0gJChCQVNISU5DRElSKS9nZXR0ZXh0LmgKIG5vam9icy5vOiBiYXNoaW50bC5oICR7TElCSU5UTF9IfSAkKEJBU0hJTkNESVIpL2dldHRleHQuaAotcGFyc2UueTogYmFzaGludGwuaCAke0xJQklOVExfSH0gJChCQVNISU5DRElSKS9nZXR0ZXh0LmgKK3kudGFiLm86IGJhc2hpbnRsLmggJHtMSUJJTlRMX0h9ICQoQkFTSElOQ0RJUikvZ2V0dGV4dC5oCiBwY29tcGxldGUubzogYmFzaGludGwuaCAke0xJQklOVExfSH0gJChCQVNISU5DRElSKS9nZXR0ZXh0LmgKIHBjb21wbGliLm86IGJhc2hpbnRsLmggJHtMSUJJTlRMX0h9ICQoQkFTSElOQ0RJUikvZ2V0dGV4dC5oCiBwcmludF9jbWQubzogYmFzaGludGwuaCAke0xJQklOVExfSH0gJChCQVNISU5DRElSKS9nZXR0ZXh0LmgKZGlmZiAtLWdpdCBhL05FV1MgYi9ORVdTCmluZGV4IDhiMWI3YmMuLjAyOGJhNDIgMTAwNjQ0Ci0tLSBhL05FV1MKKysrIGIvTkVXUwpAQCAtMSwzICsxLDk5IEBACitUaGlzIGlzIGEgdGVyc2UgZGVzY3JpcHRpb24gb2YgdGhlIG5ldyBmZWF0dXJlcyBhZGRlZCB0byBiYXNoLTQuMiBzaW5jZQordGhlIHJlbGVhc2Ugb2YgYmFzaC00LjEuICBBcyBhbHdheXMsIHRoZSBtYW51YWwgcGFnZSAoZG9jL2Jhc2guMSkgaXMKK3RoZSBwbGFjZSB0byBsb29rIGZvciBjb21wbGV0ZSBkZXNjcmlwdGlvbnMuCisKKzEuICBOZXcgRmVhdHVyZXMgaW4gQmFzaAorCithLiAgYGV4ZWMgLWEgZm9vJyBub3cgc2V0cyAkMCB0byBgZm9vJyBpbiBhbiBleGVjdXRhYmxlIHNoZWxsIHNjcmlwdCB3aXRob3V0IGEKKyAgICBsZWFkaW5nICMhLgorCitiLiAgU3Vic2hlbGxzIGJlZ3VuIHRvIGV4ZWN1dGUgY29tbWFuZCBzdWJzdGl0dXRpb25zIG9yIHJ1biBzaGVsbCBmdW5jdGlvbnMgb3IKKyAgICBidWlsdGlucyBpbiBzdWJzaGVsbHMgZG8gbm90IHJlc2V0IHRyYXAgc3RyaW5ncyB1bnRpbCBhIG5ldyB0cmFwIGlzCisgICAgc3BlY2lmaWVkLiAgVGhpcyBhbGxvd3MgJCh0cmFwKSB0byBkaXNwbGF5IHRoZSBjYWxsZXIncyB0cmFwcyBhbmQgdGhlCisgICAgdHJhcCBzdHJpbmdzIHRvIHBlcnNpc3QgdW50aWwgYSBuZXcgdHJhcCBpcyBzZXQuCisKK2MuICBgdHJhcCAtcCcgd2lsbCBub3cgc2hvdyBzaWduYWxzIGlnbm9yZWQgYXQgc2hlbGwgc3RhcnR1cCwgdGhvdWdoIHRoZWlyCisgICAgZGlzcG9zaXRpb24gc3RpbGwgY2Fubm90IGJlIG1vZGlmaWVkLgorCitkLiAgJCcuLi4nLCBlY2hvLCBhbmQgcHJpbnRmIHVuZGVyc3RhbmQgXHVYWFhYIGFuZCBcVVhYWFhYWFhYIGVzY2FwZSBzZXF1ZW5jZXMuCisKK2UuICBkZWNsYXJlL3R5cGVzZXQgaGFzIGEgbmV3IGAtZycgb3B0aW9uLCB3aGljaCBjcmVhdGVzIHZhcmlhYmxlcyBpbiB0aGUKKyAgICBnbG9iYWwgc2NvcGUgZXZlbiB3aGVuIHJ1biBpbiBhIHNoZWxsIGZ1bmN0aW9uLgorCitmLiAgdGVzdC9bL1tbIGhhdmUgYSBuZXcgLXYgdmFyaWFibGUgdW5hcnkgb3BlcmF0b3IsIHdoaWNoIHJldHVybnMgc3VjY2VzcyBpZgorICAgIGB2YXJpYWJsZScgaGFzIGJlZW4gc2V0LgorCitnLiAgUG9zaXggcGFyc2luZyBjaGFuZ2VzIHRvIGFsbG93IGAhIHRpbWUgY29tbWFuZCcgYW5kIG11bHRpcGxlIGNvbnNlY3V0aXZlCisgICAgaW5zdGFuY2VzIG9mIGAhJyAod2hpY2ggdG9nZ2xlKSBhbmQgYHRpbWUnICh3aGljaCBoYXZlIG5vIGN1bXVsYXRpdmUKKyAgICBlZmZlY3QpLgorCitoLiAgUG9zaXggY2hhbmdlIHRvIGFsbG93IGB0aW1lJyBhcyBhIGNvbW1hbmQgYnkgaXRzZWxmIHRvIHByaW50IHRoZSBlbGFwc2VkCisgICAgdXNlciwgc3lzdGVtLCBhbmQgcmVhbCB0aW1lcyBmb3IgdGhlIHNoZWxsIGFuZCBpdHMgY2hpbGRyZW4uCisKK2ouICAkKCguLi4pKSBpcyBhbHdheXMgcGFyc2VkIGFzIGFuIGFyaXRobWV0aWMgZXhwYW5zaW9uIGZpcnN0LCBpbnN0ZWFkIG9mIGFzCisgICAgYSBwb3RlbnRpYWwgbmVzdGVkIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcyBQb3NpeCByZXF1aXJlcy4KKworay4gIEEgbmV3IEZVTkNORVNUIHZhcmlhYmxlIHRvIGFsbG93IHRoZSB1c2VyIHRvIGNvbnRyb2wgdGhlIG1heGltdW0gc2hlbGwKKyAgICBmdW5jdGlvbiBuZXN0aW5nIChyZWN1cnNpdmUgZXhlY3V0aW9uKSBsZXZlbC4KKworbC4gIFRoZSBtYXBmaWxlIGJ1aWx0aW4gbm93IHN1cHBsaWVzIGEgdGhpcmQgYXJndW1lbnQgdG8gdGhlIGNhbGxiYWNrIGNvbW1hbmQ6CisgICAgdGhlIGxpbmUgYWJvdXQgdG8gYmUgYXNzaWduZWQgdG8gdGhlIHN1cHBsaWVkIGFycmF5IGluZGV4LgorCittLiAgVGhlIHByaW50ZiBidWlsdGluIGhhcyBhIG5ldyAlKGZtdClUIHNwZWNpZmllciwgd2hpY2ggYWxsb3dzIHRpbWUgdmFsdWVzCisgICAgdG8gdXNlIHN0cmZ0aW1lLWxpa2UgZm9ybWF0dGluZy4KKworbi4gIFRoZXJlIGlzIGEgbmV3IGBjb21wYXQ0MScgc2hlbGwgb3B0aW9uLgorCitvLiAgVGhlIGNkIGJ1aWx0aW4gaGFzIGEgbmV3IFBvc2l4LW1hbmRhdGVkIGAtZScgb3B0aW9uLgorCitwLiAgTmVnYXRpdmUgc3Vic2NyaXB0cyB0byBpbmRleGVkIGFycmF5cywgcHJldmlvdXNseSBlcnJvcnMsIG5vdyBhcmUgdHJlYXRlZAorICAgIGFzIG9mZnNldHMgZnJvbSB0aGUgbWF4aW11bSBhc3NpZ25lZCBpbmRleCArIDEuCisKK3EuICBOZWdhdGl2ZSBsZW5ndGggc3BlY2lmaWNhdGlvbnMgaW4gdGhlICR7dmFyOm9mZnNldDpsZW5ndGh9IGV4cGFuc2lvbiwKKyAgICBwcmV2aW91c2x5IGVycm9ycywgYXJlIG5vdyB0cmVhdGVkIGFzIG9mZnNldHMgZnJvbSB0aGUgZW5kIG9mIHRoZSB2YXJpYWJsZS4KKworci4gIFBhcnNpbmcgY2hhbmdlIHRvIGFsbG93IGB0aW1lIC1wIC0tJy4KKworcy4gIFBvc2l4LW1vZGUgcGFyc2luZyBjaGFuZ2UgdG8gbm90IHJlY29nbml6ZSBgdGltZScgYXMgYSBrZXl3b3JkIGlmIHRoZQorICAgIGZvbGxvd2luZyB0b2tlbiBiZWdpbnMgd2l0aCBhIGAtJy4gIFRoaXMgbWVhbnMgbm8gbW9yZSBQb3NpeC1tb2RlCisgICAgYHRpbWUgLXAnLiAgUG9zaXggaW50ZXJwcmV0YXRpb24gMjY3LgorCit0LiAgVGhlcmUgaXMgYSBuZXcgYGxhc3RwaXBlJyBzaGVsbCBvcHRpb24gdGhhdCBydW5zIHRoZSBsYXN0IGNvbW1hbmQgb2YgYQorICAgIHBpcGVsaW5lIGluIHRoZSBjdXJyZW50IHNoZWxsIGNvbnRleHQuICBUaGUgbGFzdHBpcGUgb3B0aW9uIGhhcyBubworICAgIGVmZmVjdCBpZiBqb2IgY29udHJvbCBpcyBlbmFibGVkLgorCit1LiAgSGlzdG9yeSBleHBhbnNpb24gbm8gbG9uZ2VyIGV4cGFuZHMgdGhlIGAkIScgdmFyaWFibGUgZXhwYW5zaW9uLgorCit2LiAgUG9zaXggbW9kZSBzaGVsbHMgbm8gbG9uZ2VyIGV4aXQgaWYgYSB2YXJpYWJsZSBhc3NpZ25tZW50IGVycm9yIG9jY3VycworICAgIHdpdGggYW4gYXNzaWdubWVudCBwcmVjZWRpbmcgYSBjb21tYW5kIHRoYXQgaXMgbm90IGEgc3BlY2lhbCBidWlsdGluLgorCit3LiAgTm9uLWludGVyYWN0aXZlIG1vZGUgc2hlbGxzIGV4aXQgaWYgLXUgaXMgZW5hYmxlZCBhbmQgYW4gYXR0ZW1wdCBpcyBtYWRlCisgICAgdG8gdXNlIGFuIHVuc2V0IHZhcmlhYmxlIHdpdGggdGhlICUgb3IgIyBleHBhbnNpb25zLCB0aGUgYC8vJywgYF4nLCBvcgorICAgIGAsJyBleHBhbnNpb25zLCBvciB0aGUgcGFyYW1ldGVyIGxlbmd0aCBleHBhbnNpb24uCisKK3guICBQb3NpeC1tb2RlIHNoZWxscyB1c2UgdGhlIGFyZ3VtZW50IHBhc3NlZCB0byBgLicgYXMtaXMgaWYgYSAkUEFUSCBzZWFyY2gKKyAgICBmYWlscywgZWZmZWN0aXZlbHkgc2VhcmNoaW5nIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gIFBvc2l4LTIwMDggY2hhbmdlLgorCisyLiAgTmV3IEZlYXR1cmVzIGluIFJlYWRsaW5lCisKK2EuICBUaGUgaGlzdG9yeSBsaWJyYXJ5IGRvZXMgbm90IHRyeSB0byB3cml0ZSB0aGUgaGlzdG9yeSBmaWxlbmFtZSBpbiB0aGUKKyAgICBjdXJyZW50IGRpcmVjdG9yeSBpZiAkSE9NRSBpcyB1bnNldC4gIFRoaXMgY2xvc2VzIGEgcG90ZW50aWFsIHNlY3VyaXR5CisgICAgcHJvYmxlbSBpZiB0aGUgYXBwbGljYXRpb24gZG9lcyBub3Qgc3BlY2lmeSBhIGhpc3RvcnkgZmlsZW5hbWUuCisKK2IuICBOZXcgYmluZGFibGUgdmFyaWFibGUgYGNvbXBsZXRpb24tZGlzcGxheS13aWR0aCcgdG8gc2V0IHRoZSBudW1iZXIgb2YKKyAgICBjb2x1bW5zIHVzZWQgd2hlbiBkaXNwbGF5aW5nIGNvbXBsZXRpb25zLgorCitjLiAgTmV3IGJpbmRhYmxlIHZhcmlhYmxlIGBjb21wbGV0aW9uLWNhc2UtbWFwJyB0byBjYXVzZSBjYXNlLWluc2Vuc2l0aXZlCisgICAgY29tcGxldGlvbiB0byB0cmVhdCBgLScgYW5kIGBfJyBhcyBpZGVudGljYWwuCisKK2QuICBUaGVyZSBhcmUgbmV3IGJpbmRhYmxlIHZpLW1vZGUgY29tbWFuZCBuYW1lcyB0byBhdm9pZCByZWFkbGluZSdzIGNhc2UtCisgICAgaW5zZW5zaXRpdmUgbWF0Y2hpbmcgbm90IGFsbG93aW5nIHRoZW0gdG8gYmUgYm91bmQgc2VwYXJhdGVseS4KKworZS4gIE5ldyBiaW5kYWJsZSB2YXJpYWJsZSBgbWVudS1jb21wbGV0ZS1kaXNwbGF5LXByZWZpeCcgY2F1c2VzIHRoZSBtZW51CisgICAgY29tcGxldGlvbiBjb2RlIHRvIGRpc3BsYXkgdGhlIGNvbW1vbiBwcmVmaXggb2YgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zCisgICAgYmVmb3JlIGN5Y2xpbmcgdGhyb3VnaCB0aGUgbGlzdCwgaW5zdGVhZCBvZiBhZnRlci4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogVGhpcyBpcyBhIHRlcnNlIGRlc2NyaXB0aW9uIG9mIHRoZSBuZXcgZmVhdHVyZXMgYWRkZWQgdG8gYmFzaC00LjEgc2luY2UKIHRoZSByZWxlYXNlIG9mIGJhc2gtNC4wLiAgQXMgYWx3YXlzLCB0aGUgbWFudWFsIHBhZ2UgKGRvYy9iYXNoLjEpIGlzCiB0aGUgcGxhY2UgdG8gbG9vayBmb3IgY29tcGxldGUgZGVzY3JpcHRpb25zLgpkaWZmIC0tZ2l0IGEvUE9TSVggYi9QT1NJWAppbmRleCA2YzU3Yjg3Li40MDY2NzZlIDEwMDY0NAotLS0gYS9QT1NJWAorKysgYi9QT1NJWApAQCAtNTUsMTE2ICs1NSwxMjkgQEAKICAxMy4gTm9uLWludGVyYWN0aXZlIHNoZWxscyBleGl0IGlmIGEgc3ludGF4IGVycm9yIGluIGFuIGFyaXRobWV0aWMKICAgICAgZXhwYW5zaW9uIHJlc3VsdHMgaW4gYW4gaW52YWxpZCBleHByZXNzaW9uLgogCi0gMTQuIFJlZGlyZWN0aW9uIG9wZXJhdG9ycyBkbyBub3QgcGVyZm9ybSBmaWxlbmFtZSBleHBhbnNpb24gb24gdGhlIHdvcmQKKyAxNC4gTm9uLWludGVyYWN0aXZlIHNoZWxscyBleGl0IGlmIHRoZXJlIGlzIGEgc3ludGF4IGVycm9yIGluIGEgc2NyaXB0CisgICAgIHJlYWQgd2l0aCB0aGUgYC4nIG9yIGBzb3VyY2UnIGJ1aWx0aW5zLCBvciBpbiBhIHN0cmluZyBwcm9jZXNzZWQgYnkKKyAgICAgdGhlIGBldmFsJyBidWlsdGluLgorCisgMTUuIFJlZGlyZWN0aW9uIG9wZXJhdG9ycyBkbyBub3QgcGVyZm9ybSBmaWxlbmFtZSBleHBhbnNpb24gb24gdGhlIHdvcmQKICAgICAgaW4gdGhlIHJlZGlyZWN0aW9uIHVubGVzcyB0aGUgc2hlbGwgaXMgaW50ZXJhY3RpdmUuCiAKLSAxNS4gUmVkaXJlY3Rpb24gb3BlcmF0b3JzIGRvIG5vdCBwZXJmb3JtIHdvcmQgc3BsaXR0aW5nIG9uIHRoZSB3b3JkIGluCisgMTYuIFJlZGlyZWN0aW9uIG9wZXJhdG9ycyBkbyBub3QgcGVyZm9ybSB3b3JkIHNwbGl0dGluZyBvbiB0aGUgd29yZCBpbgogICAgICB0aGUgcmVkaXJlY3Rpb24uCiAKLSAxNi4gRnVuY3Rpb24gbmFtZXMgbXVzdCBiZSB2YWxpZCBzaGVsbCBgbmFtZSdzLiAgVGhhdCBpcywgdGhleSBtYXkgbm90CisgMTcuIEZ1bmN0aW9uIG5hbWVzIG11c3QgYmUgdmFsaWQgc2hlbGwgYG5hbWUncy4gIFRoYXQgaXMsIHRoZXkgbWF5IG5vdAogICAgICBjb250YWluIGNoYXJhY3RlcnMgb3RoZXIgdGhhbiBsZXR0ZXJzLCBkaWdpdHMsIGFuZCB1bmRlcnNjb3JlcywgYW5kCiAgICAgIG1heSBub3Qgc3RhcnQgd2l0aCBhIGRpZ2l0LiAgRGVjbGFyaW5nIGEgZnVuY3Rpb24gd2l0aCBhbiBpbnZhbGlkCiAgICAgIG5hbWUgY2F1c2VzIGEgZmF0YWwgc3ludGF4IGVycm9yIGluIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbHMuCiAKLSAxNy4gUE9TSVggc3BlY2lhbCBidWlsdGlucyBhcmUgZm91bmQgYmVmb3JlIHNoZWxsIGZ1bmN0aW9ucyBkdXJpbmcKKyAxOC4gUE9TSVggc3BlY2lhbCBidWlsdGlucyBhcmUgZm91bmQgYmVmb3JlIHNoZWxsIGZ1bmN0aW9ucyBkdXJpbmcKICAgICAgY29tbWFuZCBsb29rdXAuCiAKLSAxOC4gSWYgYSBQT1NJWCBzcGVjaWFsIGJ1aWx0aW4gcmV0dXJucyBhbiBlcnJvciBzdGF0dXMsIGEKKyAxOS4gVGhlIGB0aW1lJyByZXNlcnZlZCB3b3JkIG1heSBiZSB1c2VkIGJ5IGl0c2VsZiBhcyBhIGNvbW1hbmQuICBXaGVuCisgICAgIHVzZWQgaW4gdGhpcyB3YXksIGl0IGRpc3BsYXlzIHRpbWluZyBzdGF0aXN0aWNzIGZvciB0aGUgc2hlbGwgYW5kCisgICAgIGl0cyBjb21wbGV0ZWQgY2hpbGRyZW4uICBUaGUgYFRJTUVGT1JNQVQnIHZhcmlhYmxlIGNvbnRyb2xzIHRoZQorICAgICBmb3JtYXQgb2YgdGhlIHRpbWluZyBpbmZvcm1hdGlvbi4KKworIDIwLiBXaGVuIHBhcnNpbmcgYW5kIGV4cGFuZGluZyBhICR7Li4ufSBleHBhbnNpb24gdGhhdCBhcHBlYXJzIHdpdGhpbgorICAgICBkb3VibGUgcXVvdGVzLCBzaW5nbGUgcXVvdGVzIGFyZSBubyBsb25nZXIgc3BlY2lhbCBhbmQgY2Fubm90IGJlCisgICAgIHVzZWQgdG8gcXVvdGUgYSBjbG9zaW5nIGJyYWNlIG9yIG90aGVyIHNwZWNpYWwgY2hhcmFjdGVyLCB1bmxlc3MKKyAgICAgdGhlIG9wZXJhdG9yIGlzIG9uZSBvZiB0aG9zZSBkZWZpbmVkIHRvIHBlcmZvcm0gcGF0dGVybiByZW1vdmFsLgorICAgICBJbiB0aGlzIGNhc2UsIHRoZXkgZG8gbm90IGhhdmUgdG8gYXBwZWFyIGFzIG1hdGNoZWQgcGFpcnMuCisKKyAyMS4gVGhlIHBhcnNlciBkb2VzIG5vdCByZWNvZ25pemUgYHRpbWUnIGFzIGEgcmVzZXJ2ZWQgd29yZCBpZiB0aGUgbmV4dAorICAgICB0b2tlbiBiZWdpbnMgd2l0aCBhIGAtJy4KKworIDIyLiBJZiBhIFBPU0lYIHNwZWNpYWwgYnVpbHRpbiByZXR1cm5zIGFuIGVycm9yIHN0YXR1cywgYQogICAgICBub24taW50ZXJhY3RpdmUgc2hlbGwgZXhpdHMuICBUaGUgZmF0YWwgZXJyb3JzIGFyZSB0aG9zZSBsaXN0ZWQgaW4KICAgICAgdGhlIFBPU0lYIHN0YW5kYXJkLCBhbmQgaW5jbHVkZSB0aGluZ3MgbGlrZSBwYXNzaW5nIGluY29ycmVjdAogICAgICBvcHRpb25zLCByZWRpcmVjdGlvbiBlcnJvcnMsIHZhcmlhYmxlIGFzc2lnbm1lbnQgZXJyb3JzIGZvcgogICAgICBhc3NpZ25tZW50cyBwcmVjZWRpbmcgdGhlIGNvbW1hbmQgbmFtZSwgYW5kIHNvIG9uLgogCi0gMTkuIElmIGBDRFBBVEgnIGlzIHNldCwgdGhlIGBjZCcgYnVpbHRpbiB3aWxsIG5vdCBpbXBsaWNpdGx5IGFwcGVuZAotICAgICB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8gaXQuICBUaGlzIG1lYW5zIHRoYXQgYGNkJyB3aWxsIGZhaWwgaWYgbm8KLSAgICAgdmFsaWQgZGlyZWN0b3J5IG5hbWUgY2FuIGJlIGNvbnN0cnVjdGVkIGZyb20gYW55IG9mIHRoZSBlbnRyaWVzIGluCi0gICAgIGAkQ0RQQVRIJywgZXZlbiBpZiB0aGUgYSBkaXJlY3Rvcnkgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIHRoZSBuYW1lCi0gICAgIGdpdmVuIGFzIGFuIGFyZ3VtZW50IHRvIGBjZCcgZXhpc3RzIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KLQotIDIwLiBBIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbCBleGl0cyB3aXRoIGFuIGVycm9yIHN0YXR1cyBpZiBhIHZhcmlhYmxlCisgMjMuIEEgbm9uLWludGVyYWN0aXZlIHNoZWxsIGV4aXRzIHdpdGggYW4gZXJyb3Igc3RhdHVzIGlmIGEgdmFyaWFibGUKICAgICAgYXNzaWdubWVudCBlcnJvciBvY2N1cnMgd2hlbiBubyBjb21tYW5kIG5hbWUgZm9sbG93cyB0aGUgYXNzaWdubWVudAogICAgICBzdGF0ZW1lbnRzLiAgQSB2YXJpYWJsZSBhc3NpZ25tZW50IGVycm9yIG9jY3VycywgZm9yIGV4YW1wbGUsIHdoZW4KICAgICAgdHJ5aW5nIHRvIGFzc2lnbiBhIHZhbHVlIHRvIGEgcmVhZG9ubHkgdmFyaWFibGUuCiAKLSAyMS4gQSBub24taW50ZXJhY3RpdmUgc2hlbGwgZXhpdHMgd2l0aCBhbiBlcnJvciBzdGF0dXMgaWYgdGhlIGl0ZXJhdGlvbgorIDI0LiBBIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbCBleGlzdHMgd2l0aCBhbiBlcnJvciBzdGF0dXMgaWYgYSB2YXJpYWJsZQorICAgICBhc3NpZ25tZW50IGVycm9yIG9jY3VycyBpbiBhbiBhc3NpZ25tZW50IHN0YXRlbWVudCBwcmVjZWRpbmcgYQorICAgICBzcGVjaWFsIGJ1aWx0aW4sIGJ1dCBub3Qgd2l0aCBhbnkgb3RoZXIgc2ltcGxlIGNvbW1hbmQuCisKKyAyNS4gQSBub24taW50ZXJhY3RpdmUgc2hlbGwgZXhpdHMgd2l0aCBhbiBlcnJvciBzdGF0dXMgaWYgdGhlIGl0ZXJhdGlvbgogICAgICB2YXJpYWJsZSBpbiBhIGBmb3InIHN0YXRlbWVudCBvciB0aGUgc2VsZWN0aW9uIHZhcmlhYmxlIGluIGEKICAgICAgYHNlbGVjdCcgc3RhdGVtZW50IGlzIGEgcmVhZG9ubHkgdmFyaWFibGUuCiAKLSAyMi4gUHJvY2VzcyBzdWJzdGl0dXRpb24gaXMgbm90IGF2YWlsYWJsZS4KKyAyNi4gUHJvY2VzcyBzdWJzdGl0dXRpb24gaXMgbm90IGF2YWlsYWJsZS4KIAotIDIzLiBBc3NpZ25tZW50IHN0YXRlbWVudHMgcHJlY2VkaW5nIFBPU0lYIHNwZWNpYWwgYnVpbHRpbnMgcGVyc2lzdCBpbgorIDI3LiBBc3NpZ25tZW50IHN0YXRlbWVudHMgcHJlY2VkaW5nIFBPU0lYIHNwZWNpYWwgYnVpbHRpbnMgcGVyc2lzdCBpbgogICAgICB0aGUgc2hlbGwgZW52aXJvbm1lbnQgYWZ0ZXIgdGhlIGJ1aWx0aW4gY29tcGxldGVzLgogCi0gMjQuIEFzc2lnbm1lbnQgc3RhdGVtZW50cyBwcmVjZWRpbmcgc2hlbGwgZnVuY3Rpb24gY2FsbHMgcGVyc2lzdCBpbiB0aGUKKyAyOC4gQXNzaWdubWVudCBzdGF0ZW1lbnRzIHByZWNlZGluZyBzaGVsbCBmdW5jdGlvbiBjYWxscyBwZXJzaXN0IGluIHRoZQogICAgICBzaGVsbCBlbnZpcm9ubWVudCBhZnRlciB0aGUgZnVuY3Rpb24gcmV0dXJucywgYXMgaWYgYSBQT1NJWAogICAgICBzcGVjaWFsIGJ1aWx0aW4gY29tbWFuZCBoYWQgYmVlbiBleGVjdXRlZC4KIAotIDI1LiBUaGUgYGV4cG9ydCcgYW5kIGByZWFkb25seScgYnVpbHRpbiBjb21tYW5kcyBkaXNwbGF5IHRoZWlyIG91dHB1dAorIDI5LiBUaGUgYGV4cG9ydCcgYW5kIGByZWFkb25seScgYnVpbHRpbiBjb21tYW5kcyBkaXNwbGF5IHRoZWlyIG91dHB1dAogICAgICBpbiB0aGUgZm9ybWF0IHJlcXVpcmVkIGJ5IFBPU0lYLgogCi0gMjYuIFRoZSBgdHJhcCcgYnVpbHRpbiBkaXNwbGF5cyBzaWduYWwgbmFtZXMgd2l0aG91dCB0aGUgbGVhZGluZyBgU0lHJy4KKyAzMC4gVGhlIGB0cmFwJyBidWlsdGluIGRpc3BsYXlzIHNpZ25hbCBuYW1lcyB3aXRob3V0IHRoZSBsZWFkaW5nIGBTSUcnLgogCi0gMjcuIFRoZSBgdHJhcCcgYnVpbHRpbiBkb2Vzbid0IGNoZWNrIHRoZSBmaXJzdCBhcmd1bWVudCBmb3IgYSBwb3NzaWJsZQorIDMxLiBUaGUgYHRyYXAnIGJ1aWx0aW4gZG9lc24ndCBjaGVjayB0aGUgZmlyc3QgYXJndW1lbnQgZm9yIGEgcG9zc2libGUKICAgICAgc2lnbmFsIHNwZWNpZmljYXRpb24gYW5kIHJldmVydCB0aGUgc2lnbmFsIGhhbmRsaW5nIHRvIHRoZSBvcmlnaW5hbAogICAgICBkaXNwb3NpdGlvbiBpZiBpdCBpcywgdW5sZXNzIHRoYXQgYXJndW1lbnQgY29uc2lzdHMgc29sZWx5IG9mCiAgICAgIGRpZ2l0cyBhbmQgaXMgYSB2YWxpZCBzaWduYWwgbnVtYmVyLiAgSWYgdXNlcnMgd2FudCB0byByZXNldCB0aGUKICAgICAgaGFuZGxlciBmb3IgYSBnaXZlbiBzaWduYWwgdG8gdGhlIG9yaWdpbmFsIGRpc3Bvc2l0aW9uLCB0aGV5CiAgICAgIHNob3VsZCB1c2UgYC0nIGFzIHRoZSBmaXJzdCBhcmd1bWVudC4KIAotIDI4LiBUaGUgYC4nIGFuZCBgc291cmNlJyBidWlsdGlucyBkbyBub3Qgc2VhcmNoIHRoZSBjdXJyZW50IGRpcmVjdG9yeQorIDMyLiBUaGUgYC4nIGFuZCBgc291cmNlJyBidWlsdGlucyBkbyBub3Qgc2VhcmNoIHRoZSBjdXJyZW50IGRpcmVjdG9yeQogICAgICBmb3IgdGhlIGZpbGVuYW1lIGFyZ3VtZW50IGlmIGl0IGlzIG5vdCBmb3VuZCBieSBzZWFyY2hpbmcgYFBBVEgnLgogCi0gMjkuIFN1YnNoZWxscyBzcGF3bmVkIHRvIGV4ZWN1dGUgY29tbWFuZCBzdWJzdGl0dXRpb25zIGluaGVyaXQgdGhlCisgMzMuIFN1YnNoZWxscyBzcGF3bmVkIHRvIGV4ZWN1dGUgY29tbWFuZCBzdWJzdGl0dXRpb25zIGluaGVyaXQgdGhlCiAgICAgIHZhbHVlIG9mIHRoZSBgLWUnIG9wdGlvbiBmcm9tIHRoZSBwYXJlbnQgc2hlbGwuICBXaGVuIG5vdCBpbiBQT1NJWAogICAgICBtb2RlLCBCYXNoIGNsZWFycyB0aGUgYC1lJyBvcHRpb24gaW4gc3VjaCBzdWJzaGVsbHMuCiAKLSAzMC4gQWxpYXMgZXhwYW5zaW9uIGlzIGFsd2F5cyBlbmFibGVkLCBldmVuIGluIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbHMuCisgMzQuIEFsaWFzIGV4cGFuc2lvbiBpcyBhbHdheXMgZW5hYmxlZCwgZXZlbiBpbiBub24taW50ZXJhY3RpdmUgc2hlbGxzLgogCi0gMzEuIFdoZW4gdGhlIGBhbGlhcycgYnVpbHRpbiBkaXNwbGF5cyBhbGlhcyBkZWZpbml0aW9ucywgaXQgZG9lcyBub3QKKyAzNS4gV2hlbiB0aGUgYGFsaWFzJyBidWlsdGluIGRpc3BsYXlzIGFsaWFzIGRlZmluaXRpb25zLCBpdCBkb2VzIG5vdAogICAgICBkaXNwbGF5IHRoZW0gd2l0aCBhIGxlYWRpbmcgYGFsaWFzICcgdW5sZXNzIHRoZSBgLXAnIG9wdGlvbiBpcwogICAgICBzdXBwbGllZC4KIAotIDMyLiBXaGVuIHRoZSBgc2V0JyBidWlsdGluIGlzIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBpdCBkb2VzIG5vdAorIDM2LiBXaGVuIHRoZSBgc2V0JyBidWlsdGluIGlzIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBpdCBkb2VzIG5vdAogICAgICBkaXNwbGF5IHNoZWxsIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9ucy4KIAotIDMzLiBXaGVuIHRoZSBgc2V0JyBidWlsdGluIGlzIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBpdCBkaXNwbGF5cworIDM3LiBXaGVuIHRoZSBgc2V0JyBidWlsdGluIGlzIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBpdCBkaXNwbGF5cwogICAgICB2YXJpYWJsZSB2YWx1ZXMgd2l0aG91dCBxdW90ZXMsIHVubGVzcyB0aGV5IGNvbnRhaW4gc2hlbGwKICAgICAgbWV0YWNoYXJhY3RlcnMsIGV2ZW4gaWYgdGhlIHJlc3VsdCBjb250YWlucyBub25wcmludGluZyBjaGFyYWN0ZXJzLgogCi0gMzQuIFdoZW4gdGhlIGBjZCcgYnVpbHRpbiBpcyBpbnZva2VkIGluIExPR0lDQUwgbW9kZSwgYW5kIHRoZSBwYXRobmFtZQorIDM4LiBXaGVuIHRoZSBgY2QnIGJ1aWx0aW4gaXMgaW52b2tlZCBpbiBMT0dJQ0FMIG1vZGUsIGFuZCB0aGUgcGF0aG5hbWUKICAgICAgY29uc3RydWN0ZWQgZnJvbSBgJFBXRCcgYW5kIHRoZSBkaXJlY3RvcnkgbmFtZSBzdXBwbGllZCBhcyBhbgogICAgICBhcmd1bWVudCBkb2VzIG5vdCByZWZlciB0byBhbiBleGlzdGluZyBkaXJlY3RvcnksIGBjZCcgd2lsbCBmYWlsCiAgICAgIGluc3RlYWQgb2YgZmFsbGluZyBiYWNrIHRvIFBIWVNJQ0FMIG1vZGUuCiAKLSAzNS4gV2hlbiB0aGUgYHB3ZCcgYnVpbHRpbiBpcyBzdXBwbGllZCB0aGUgYC1QJyBvcHRpb24sIGl0IHJlc2V0cwotICAgICBgJFBXRCcgdG8gYSBwYXRobmFtZSBjb250YWluaW5nIG5vIHN5bWxpbmtzLgotCi0gMzYuIFRoZSBgcHdkJyBidWlsdGluIHZlcmlmaWVzIHRoYXQgdGhlIHZhbHVlIGl0IHByaW50cyBpcyB0aGUgc2FtZSBhcworIDM5LiBUaGUgYHB3ZCcgYnVpbHRpbiB2ZXJpZmllcyB0aGF0IHRoZSB2YWx1ZSBpdCBwcmludHMgaXMgdGhlIHNhbWUgYXMKICAgICAgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LCBldmVuIGlmIGl0IGlzIG5vdCBhc2tlZCB0byBjaGVjayB0aGUgZmlsZQogICAgICBzeXN0ZW0gd2l0aCB0aGUgYC1QJyBvcHRpb24uCiAKLSAzNy4gV2hlbiBsaXN0aW5nIHRoZSBoaXN0b3J5LCB0aGUgYGZjJyBidWlsdGluIGRvZXMgbm90IGluY2x1ZGUgYW4KKyA0MC4gV2hlbiBsaXN0aW5nIHRoZSBoaXN0b3J5LCB0aGUgYGZjJyBidWlsdGluIGRvZXMgbm90IGluY2x1ZGUgYW4KICAgICAgaW5kaWNhdGlvbiBvZiB3aGV0aGVyIG9yIG5vdCBhIGhpc3RvcnkgZW50cnkgaGFzIGJlZW4gbW9kaWZpZWQuCiAKLSAzOC4gVGhlIGRlZmF1bHQgZWRpdG9yIHVzZWQgYnkgYGZjJyBpcyBgZWQnLgorIDQxLiBUaGUgZGVmYXVsdCBlZGl0b3IgdXNlZCBieSBgZmMnIGlzIGBlZCcuCiAKLSAzOS4gVGhlIGB0eXBlJyBhbmQgYGNvbW1hbmQnIGJ1aWx0aW5zIHdpbGwgbm90IHJlcG9ydCBhIG5vbi1leGVjdXRhYmxlCisgNDIuIFRoZSBgdHlwZScgYW5kIGBjb21tYW5kJyBidWlsdGlucyB3aWxsIG5vdCByZXBvcnQgYSBub24tZXhlY3V0YWJsZQogICAgICBmaWxlIGFzIGhhdmluZyBiZWVuIGZvdW5kLCB0aG91Z2ggdGhlIHNoZWxsIHdpbGwgYXR0ZW1wdCB0bwogICAgICBleGVjdXRlIHN1Y2ggYSBmaWxlIGlmIGl0IGlzIHRoZSBvbmx5IHNvLW5hbWVkIGZpbGUgZm91bmQgaW4KICAgICAgYCRQQVRIJy4KIAotIDQwLiBUaGUgYHZpJyBlZGl0aW5nIG1vZGUgd2lsbCBpbnZva2UgdGhlIGB2aScgZWRpdG9yIGRpcmVjdGx5IHdoZW4KKyA0My4gVGhlIGB2aScgZWRpdGluZyBtb2RlIHdpbGwgaW52b2tlIHRoZSBgdmknIGVkaXRvciBkaXJlY3RseSB3aGVuCiAgICAgIHRoZSBgdicgY29tbWFuZCBpcyBydW4sIGluc3RlYWQgb2YgY2hlY2tpbmcgYCRWSVNVQUwnIGFuZAogICAgICBgJEVESVRPUicuCiAKLSA0MS4gV2hlbiB0aGUgYHhwZ19lY2hvJyBvcHRpb24gaXMgZW5hYmxlZCwgQmFzaCBkb2VzIG5vdCBhdHRlbXB0IHRvCisgNDQuIFdoZW4gdGhlIGB4cGdfZWNobycgb3B0aW9uIGlzIGVuYWJsZWQsIEJhc2ggZG9lcyBub3QgYXR0ZW1wdCB0bwogICAgICBpbnRlcnByZXQgYW55IGFyZ3VtZW50cyB0byBgZWNobycgYXMgb3B0aW9ucy4gIEVhY2ggYXJndW1lbnQgaXMKICAgICAgZGlzcGxheWVkLCBhZnRlciBlc2NhcGUgY2hhcmFjdGVycyBhcmUgY29udmVydGVkLgogCi0gNDIuIFRoZSBgdWxpbWl0JyBidWlsdGluIHVzZXMgYSBibG9jayBzaXplIG9mIDUxMiBieXRlcyBmb3IgdGhlIGAtYycKKyA0NS4gVGhlIGB1bGltaXQnIGJ1aWx0aW4gdXNlcyBhIGJsb2NrIHNpemUgb2YgNTEyIGJ5dGVzIGZvciB0aGUgYC1jJwogICAgICBhbmQgYC1mJyBvcHRpb25zLgogCi0gNDMuIFRoZSBhcnJpdmFsIG9mIGBTSUdDSExEJyAgd2hlbiBhIHRyYXAgaXMgc2V0IG9uIGBTSUdDSExEJyBkb2VzIG5vdAorIDQ2LiBUaGUgYXJyaXZhbCBvZiBgU0lHQ0hMRCcgIHdoZW4gYSB0cmFwIGlzIHNldCBvbiBgU0lHQ0hMRCcgZG9lcyBub3QKICAgICAgaW50ZXJydXB0IHRoZSBgd2FpdCcgYnVpbHRpbiBhbmQgY2F1c2UgaXQgdG8gcmV0dXJuIGltbWVkaWF0ZWx5LgogICAgICBUaGUgdHJhcCBjb21tYW5kIGlzIHJ1biBvbmNlIGZvciBlYWNoIGNoaWxkIHRoYXQgZXhpdHMuCiAKZGlmZiAtLWdpdCBhL1JFQURNRSBiL1JFQURNRQppbmRleCBjNWM3MTU5Li44ZDg2YzU3IDEwMDY0NAotLS0gYS9SRUFETUUKKysrIGIvUkVBRE1FCkBAIC0xLDggKzEsOCBAQAogSW50cm9kdWN0aW9uCiA9PT09PT09PT09PT0KIAotVGhpcyBpcyBHTlUgQmFzaCwgdmVyc2lvbiA0LjEuICBCYXNoIGlzIHRoZSBHTlUgUHJvamVjdCdzIEJvdXJuZQotQWdhaW4gU0hlbGwsIGEgY29tcGxldGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIFBPU0lYLjIgc2hlbGwgc3BlYywKK1RoaXMgaXMgR05VIEJhc2gsIHZlcnNpb24gNC4yLiAgQmFzaCBpcyB0aGUgR05VIFByb2plY3QncyBCb3VybmUKK0FnYWluIFNIZWxsLCBhIGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBQT1NJWCBzaGVsbCBzcGVjLAogYnV0IGFsc28gd2l0aCBpbnRlcmFjdGl2ZSBjb21tYW5kIGxpbmUgZWRpdGluZywgam9iIGNvbnRyb2wgb24KIGFyY2hpdGVjdHVyZXMgdGhhdCBzdXBwb3J0IGl0LCBjc2gtbGlrZSBmZWF0dXJlcyBzdWNoIGFzIGhpc3RvcnkKIHN1YnN0aXR1dGlvbiBhbmQgYnJhY2UgZXhwYW5zaW9uLCBhbmQgYSBzbGV3IG9mIG90aGVyIGZlYXR1cmVzLiAKQEAgLTEyLDExICsxMiwxMSBAQAogb2YgdGhlIHNoZWxsJ3MgZmVhdHVyZXMuIAogCiBTZWUgdGhlIGZpbGUgUE9TSVggZm9yIGEgZGlzY3Vzc2lvbiBvZiBob3cgdGhlIEJhc2ggZGVmYXVsdHMgZGlmZmVyCi1mcm9tIHRoZSBQT1NJWC4yIHNwZWMgYW5kIGEgZGVzY3JpcHRpb24gb2YgdGhlIEJhc2ggYHBvc2l4IG1vZGUnLgorZnJvbSB0aGUgUE9TSVggc3BlYyBhbmQgYSBkZXNjcmlwdGlvbiBvZiB0aGUgQmFzaCBgcG9zaXggbW9kZScuCiAKIFRoZXJlIGFyZSBzb21lIHVzZXItdmlzaWJsZSBpbmNvbXBhdGliaWxpdGllcyBiZXR3ZWVuIHRoaXMgdmVyc2lvbgotb2YgQmFzaCBhbmQgcHJldmlvdXMgd2lkZWx5LWRpc3RyaWJ1dGVkIHZlcnNpb25zLCBiYXNoLTMuMiBhbmQKLWJhc2gtNC4wLiAgRm9yIGRldGFpbHMsIHNlZSB0aGUgZmlsZSBDT01QQVQuICBUaGUgTkVXUyBmaWxlIHRlcnNlbHkKK29mIEJhc2ggYW5kIHByZXZpb3VzIHdpZGVseS1kaXN0cmlidXRlZCB2ZXJzaW9ucywgYmFzaC00LjAgYW5kCitiYXNoLTQuMS4gIEZvciBkZXRhaWxzLCBzZWUgdGhlIGZpbGUgQ09NUEFULiAgVGhlIE5FV1MgZmlsZSB0ZXJzZWx5CiBsaXN0cyBmZWF0dXJlcyB0aGF0IGFyZSBuZXcgaW4gdGhpcyByZWxlYXNlLiAKIAogQmFzaCBpcyBmcmVlIHNvZnR3YXJlLCBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIFtHTlVdIEdlbmVyYWwKQEAgLTI3LDEwICsyNywxMCBAQAogQSBudW1iZXIgb2YgZnJlcXVlbnRseS1hc2tlZCBxdWVzdGlvbnMgYXJlIGFuc3dlcmVkIGluIHRoZSBmaWxlCiBgZG9jL0ZBUScuCiAKLVRvIGNvbXBpbGUgQmFzaCwgdHJ5IHR5cGluZyBgLi9jb25maWd1cmUnLCB0aGVuIGBtYWtlJy4gIEJhc2gKLWF1dG8tY29uZmlndXJlcyB0aGUgYnVpbGQgcHJvY2Vzcywgc28gbm8gZnVydGhlciBpbnRlcnZlbnRpb24KLXNob3VsZCBiZSBuZWNlc3NhcnkuICBCYXNoIGJ1aWxkcyB3aXRoIGBnY2MnIGJ5IGRlZmF1bHQgaWYgaXQgaXMKLWF2YWlsYWJsZS4gIElmIHlvdSB3YW50IHRvIHVzZSBgY2MnIGluc3RlYWQsIHR5cGUKK1RvIGNvbXBpbGUgQmFzaCwgdHlwZSBgLi9jb25maWd1cmUnLCB0aGVuIGBtYWtlJy4gIEJhc2ggYXV0by1jb25maWd1cmVzCit0aGUgYnVpbGQgcHJvY2Vzcywgc28gbm8gZnVydGhlciBpbnRlcnZlbnRpb24gc2hvdWxkIGJlIG5lY2Vzc2FyeS4gIEJhc2gKK2J1aWxkcyB3aXRoIGBnY2MnIGJ5IGRlZmF1bHQgaWYgaXQgaXMgYXZhaWxhYmxlLiAgSWYgeW91IHdhbnQgdG8gdXNlIGBjYycKK2luc3RlYWQsIHR5cGUKIAogCUNDPWNjIC4vY29uZmlndXJlCiAKZGlmZiAtLWdpdCBhL2FjbG9jYWwubTQgYi9hY2xvY2FsLm00CmluZGV4IDEwYTQ3NDEuLjcxNmEwNDMgMTAwNjQ0Ci0tLSBhL2FjbG9jYWwubTQKKysrIGIvYWNsb2NhbC5tNApAQCAtMTY5NSw4ICsxNjk1LDEwIEBACiBBQ19DSEVDS19GVU5DKG1icmxlbiwgQUNfREVGSU5FKEhBVkVfTUJSTEVOKSkKIEFDX0NIRUNLX0ZVTkMobWJzY2FzZWNtcCwgQUNfREVGSU5FKEhBVkVfTUJTQ01QKSkKIEFDX0NIRUNLX0ZVTkMobWJzY21wLCBBQ19ERUZJTkUoSEFWRV9NQlNDTVApKQorQUNfQ0hFQ0tfRlVOQyhtYnNucnRvd2NzLCBBQ19ERUZJTkUoSEFWRV9NQlNOUlRPV0NTKSkKIEFDX0NIRUNLX0ZVTkMobWJzcnRvd2NzLCBBQ19ERUZJTkUoSEFWRV9NQlNSVE9XQ1MpKQogCisKIEFDX1JFUExBQ0VfRlVOQ1MobWJzY2hyKQogCiBBQ19DSEVDS19GVU5DKHdjcnRvbWIsIEFDX0RFRklORShIQVZFX1dDUlRPTUIpKQpAQCAtMTcwNSw2ICsxNzA3LDggQEAKIEFDX0NIRUNLX0ZVTkMod2N3aWR0aCwgQUNfREVGSU5FKEhBVkVfV0NXSURUSCkpCiBBQ19DSEVDS19GVU5DKHdjdHlwZSwgQUNfREVGSU5FKEhBVkVfV0NUWVBFKSkKIAorQUNfUkVQTEFDRV9GVU5DUyh3Y3N3aWR0aCkKKwogZG5sIGNoZWNrcyBmb3IgYm90aCBtYnJ0b3djIGFuZCBtYnN0YXRlX3QKIEFDX0ZVTkNfTUJSVE9XQwogaWYgdGVzdCAkYWNfY3ZfZnVuY19tYnJ0b3djID0geWVzOyB0aGVuCkBAIC00MTE1LDMgKzQxMTksNTEgQEAKICAgICAgIFtEZWZpbmUgaWYgeW91IGhhdmUgYSBzdGFuZGFyZC1jb25mb3JtYW50IHZzbnByaW50ZiBmdW5jdGlvbi5dKQogICBmaQogXSkKKworQUNfREVGVU4oQkFTSF9TVFJVQ1RfV0VYSVRTVEFUVVNfT0ZGU0VULAorW0FDX01TR19DSEVDS0lORyhmb3Igb2Zmc2V0IG9mIGV4aXQgc3RhdHVzIGluIHJldHVybiBzdGF0dXMgZnJvbSB3YWl0KQorQUNfQ0FDSEVfVkFMKGJhc2hfY3Zfd2V4aXRzdGF0dXNfb2Zmc2V0LAorW0FDX1JVTl9JRkVMU0UoWworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKworbWFpbihjLCB2KQorICAgICBpbnQgYzsKKyAgICAgY2hhciAqKnY7Cit7CisgIHBpZF90IHBpZCwgcDsKKyAgaW50IHMsIGksIG47CisKKyAgcyA9IDA7CisgIHBpZCA9IGZvcmsoKTsKKyAgaWYgKHBpZCA9PSAwKQorICAgIGV4aXQgKDQyKTsKKworICAvKiB3YWl0IGZvciB0aGUgcHJvY2VzcyAqLworICBwID0gd2FpdCgmcyk7CisgIGlmIChwICE9IHBpZCkKKyAgICBleGl0ICgyNTUpOworCisgIC8qIGNyYWNrIHMgKi8KKyAgZm9yIChpID0gMDsgaSA8IChzaXplb2YocykgLSA4KTsgaSsrKQorICAgIHsKKyAgICAgIG4gPSAocyA+PiBpKSAmIDB4ZmY7CisgICAgICBpZiAobiA9PSA0MikKKwlleGl0IChpKTsKKyAgICB9CisKKyAgZXhpdCAoMjU0KTsKK30KK10sIGJhc2hfY3Zfd2V4aXRzdGF0dXNfb2Zmc2V0PTAsIGJhc2hfY3Zfd2V4aXRzdGF0dXNfb2Zmc2V0PSQ/LAorICAgW0FDX01TR19XQVJOKGNhbm5vdCBjaGVjayBXRVhJVFNUQVRVUyBvZmZzZXQgaWYgY3Jvc3MgY29tcGlsaW5nIC0tIGRlZmF1bHRpbmcgdG8gMCkKKyAgICBiYXNoX2N2X3dleGl0c3RhdHVzX29mZnNldD0wXQorKV0pCitpZiB0ZXN0ICIkYmFzaF9jdl93ZXhpdHN0YXR1c19vZmZzZXQiIC1ndCAzMiA7IHRoZW4KKyAgQUNfTVNHX1dBUk4oYmFkIGV4aXQgc3RhdHVzIGZyb20gdGVzdCBwcm9ncmFtIC0tIGRlZmF1bHRpbmcgdG8gMCkKKyAgYmFzaF9jdl93ZXhpdHN0YXR1c19vZmZzZXQ9MAorZmkKK0FDX01TR19SRVNVTFQoJGJhc2hfY3Zfd2V4aXRzdGF0dXNfb2Zmc2V0KQorQUNfREVGSU5FX1VOUVVPVEVEKFtXRVhJVFNUQVRVU19PRkZTRVRdLCBbJGJhc2hfY3Zfd2V4aXRzdGF0dXNfb2Zmc2V0XSwgW09mZnNldCBvZiBleGl0IHN0YXR1cyBpbiB3YWl0IHN0YXR1cyB3b3JkXSkKK10pCmRpZmYgLS1naXQgYS9hbGlhcy5jIGIvYWxpYXMuYwppbmRleCA1NTg2NjVlLi42Yzk1Mzc2IDEwMDY0NAotLS0gYS9hbGlhcy5jCisrKyBiL2FsaWFzLmMKQEAgLTMxOSw2ICszMTksOCBAQAogICAgICAgaWYgKHN0cmluZ1tpXSA9PSAnXFwnKQogCXsKIAkgIGkrKzsJCS8qIHNraXAgYmFja3NsYXNoLXF1b3RlZCBxdW90ZSBjaGFyYWN0ZXJzLCB0b28gKi8KKwkgIGlmIChzdHJpbmdbaV0gPT0gMCkKKwkgICAgYnJlYWs7CiAJICBjb250aW51ZTsKIAl9CiAKQEAgLTM2NCw2ICszNjYsOCBAQAogICAgICAgaWYgKHN0cmluZ1tpXSA9PSAnXFwnKQogCXsKIAkgIHBlZWtjID0gc3RyaW5nW2krMV07CisJICBpZiAocGVla2MgPT0gMCkKKwkgICAgYnJlYWs7CiAJICBpZiAoSVNMRVRURVIgKHBlZWtjKSkKIAkgICAgYmFja3NsYXNoX3F1b3RlZF93b3JkKys7CS8qIHRoaXMgaXMgYSBiYWNrc2xhc2gtcXVvdGVkIHdvcmQgKi8KIAkgIGVsc2UKQEAgLTQyOSw2ICs0MzMsOCBAQAogICAgICAgaWYgKHN0cmluZ1tpXSA9PSAnXFwnKQogCXsKIAkgIGkrKzsJLyogc2tpcCBiYWNrc2xhc2gtZXNjYXBlZCBjaGFyYWN0ZXIgKi8KKwkgIGlmIChzdHJpbmdbaV0gPT0gMCkKKwkgICAgYnJlYWs7CiAJICBjb250aW51ZTsKIAl9CiAKZGlmZiAtLWdpdCBhL2FycmF5ZnVuYy5jIGIvYXJyYXlmdW5jLmMKaW5kZXggMjE4ZmFmMy4uMjFlYjRjZCAxMDA2NDQKLS0tIGEvYXJyYXlmdW5jLmMKKysrIGIvYXJyYXlmdW5jLmMKQEAgLTEsNiArMSw2IEBACiAvKiBhcnJheWZ1bmMuYyAtLSBIaWdoLWxldmVsIGFycmF5IGZ1bmN0aW9ucyB1c2VkIGJ5IG90aGVyIHBhcnRzIG9mIHRoZSBzaGVsbC4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAyMDAxLTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDIwMDEtMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTQ0LDcgKzQ0LDcgQEAKIAogc3RhdGljIGNoYXIgKnF1b3RlX2Fzc2lnbiBfX1AoKGNvbnN0IGNoYXIgKikpOwogc3RhdGljIHZvaWQgcXVvdGVfYXJyYXlfYXNzaWdubWVudF9jaGFycyBfX1AoKFdPUkRfTElTVCAqKSk7Ci1zdGF0aWMgY2hhciAqYXJyYXlfdmFsdWVfaW50ZXJuYWwgX19QKChjaGFyICosIGludCwgaW50LCBpbnQgKikpOworc3RhdGljIGNoYXIgKmFycmF5X3ZhbHVlX2ludGVybmFsIF9fUCgoY2hhciAqLCBpbnQsIGludCwgaW50ICosIGFycmF5aW5kX3QgKikpOwogCiAvKiBTdGFuZGFyZCBlcnJvciBtZXNzYWdlIHRvIHVzZSB3aGVuIGVuY291bnRlcmluZyBhbiBpbnZhbGlkIGFycmF5IHN1YnNjcmlwdCAqLwogY29uc3QgY2hhciAqIGNvbnN0IGJhc2hfYmFkc3ViX2Vycm1zZyA9IE5fKCJiYWQgYXJyYXkgc3Vic2NyaXB0Iik7CkBAIC02NTgsNiArNjU4LDcgQEAKIAkgIHJldHVybiAtMTsKIAl9CiAgICAgICBhc3NvY19yZW1vdmUgKGFzc29jX2NlbGwgKHZhciksIGFrZXkpOworICAgICAgZnJlZSAoYWtleSk7CiAgICAgfQogICBlbHNlCiAgICAgewpAQCAtODQyLDE1ICs4NDMsMzEgQEAKICAgcmV0dXJuICh2YXIgPT0gMCB8fCBpbnZpc2libGVfcCAodmFyKSkgPyAoU0hFTExfVkFSICopMCA6IHZhcjsKIH0KIAorI2RlZmluZSBJTkRFWF9FUlJPUigpIFwKKyAgZG8gXAorICAgIHsgXAorICAgICAgaWYgKHZhcikgXAorCWVycl9iYWRhcnJheXN1YiAodmFyLT5uYW1lKTsgXAorICAgICAgZWxzZSBcCisJeyBcCisJICB0Wy0xXSA9ICdcMCc7IFwKKwkgIGVycl9iYWRhcnJheXN1YiAocyk7IFwKKwkgIHRbLTFdID0gJ1snOwkvKiBdICovXAorCX0gXAorICAgICAgcmV0dXJuICgoY2hhciAqKU5VTEwpOyBcCisgICAgfSBcCisgIHdoaWxlICgwKQorCiAvKiBSZXR1cm4gYSBzdHJpbmcgY29udGFpbmluZyB0aGUgZWxlbWVudHMgaW4gdGhlIGFycmF5IGFuZCBzdWJzY3JpcHQKICAgIGRlc2NyaWJlZCBieSBTLiAgSWYgdGhlIHN1YnNjcmlwdCBpcyAqIG9yIEAsIG9iZXlzIHF1b3RpbmcgcnVsZXMgYWtpbgogICAgdG8gdGhlIGV4cGFuc2lvbiBvZiAkKiBhbmQgJEAgaW5jbHVkaW5nIGRvdWJsZSBxdW90aW5nLiAgSWYgUlRZUEUKICAgIGlzIG5vbi1udWxsIGl0IGdldHMgMSBpZiB0aGUgYXJyYXkgcmVmZXJlbmNlIGlzIG5hbWVbKl0sIDIgaWYgdGhlCiAgICByZWZlcmVuY2UgaXMgbmFtZVtAXSwgYW5kIDAgb3RoZXJ3aXNlLiAqLwogc3RhdGljIGNoYXIgKgotYXJyYXlfdmFsdWVfaW50ZXJuYWwgKHMsIHF1b3RlZCwgYWxsb3dfYWxsLCBydHlwZSkKK2FycmF5X3ZhbHVlX2ludGVybmFsIChzLCBxdW90ZWQsIGZsYWdzLCBydHlwZSwgaW5kcCkKICAgICAgY2hhciAqczsKLSAgICAgaW50IHF1b3RlZCwgYWxsb3dfYWxsLCAqcnR5cGU7CisgICAgIGludCBxdW90ZWQsIGZsYWdzLCAqcnR5cGU7CisgICAgIGFycmF5aW5kX3QgKmluZHA7CiB7CiAgIGludCBsZW47CiAgIGFycmF5aW5kX3QgaW5kOwpAQCAtODc2LDEyICs4OTMsMTIgQEAKICAgICB7CiAgICAgICBpZiAocnR5cGUpCiAJKnJ0eXBlID0gKHRbMF0gPT0gJyonKSA/IDEgOiAyOwotICAgICAgaWYgKGFsbG93X2FsbCA9PSAwKQorICAgICAgaWYgKChmbGFncyAmIEFWX0FMTE9XQUxMKSA9PSAwKQogCXsKIAkgIGVycl9iYWRhcnJheXN1YiAocyk7CiAJICByZXR1cm4gKChjaGFyICopTlVMTCk7CiAJfQotICAgICAgZWxzZSBpZiAodmFyID09IDAgfHwgdmFsdWVfY2VsbCAodmFyKSA9PSAwKQorICAgICAgZWxzZSBpZiAodmFyID09IDAgfHwgdmFsdWVfY2VsbCAodmFyKSA9PSAwKQkvKiBYWFggLSBjaGVjayBmb3IgaW52aXNpYmxlX3AodmFyKSA/ICovCiAJcmV0dXJuICgoY2hhciAqKU5VTEwpOwogICAgICAgZWxzZSBpZiAoYXJyYXlfcCAodmFyKSA9PSAwICYmIGFzc29jX3AgKHZhcikgPT0gMCkKIAlsID0gYWRkX3N0cmluZ190b19saXN0ICh2YWx1ZV9jZWxsICh2YXIpLCAoV09SRF9MSVNUICopTlVMTCk7CkBAIC05MTUsMjAgKzkzMiwyMiBAQAogCSpydHlwZSA9IDA7CiAgICAgICBpZiAodmFyID09IDAgfHwgYXJyYXlfcCAodmFyKSB8fCBhc3NvY19wICh2YXIpID09IDApCiAJewotCSAgaW5kID0gYXJyYXlfZXhwYW5kX2luZGV4ICh0LCBsZW4pOwotCSAgaWYgKGluZCA8IDApCisJICBpZiAoKGZsYWdzICYgQVZfVVNFSU5EKSA9PSAwIHx8IGluZHAgPT0gMCkKIAkgICAgewotaW5kZXhfZXJyb3I6Ci0JICAgICAgaWYgKHZhcikKLQkJZXJyX2JhZGFycmF5c3ViICh2YXItPm5hbWUpOwotCSAgICAgIGVsc2UKKwkgICAgICBpbmQgPSBhcnJheV9leHBhbmRfaW5kZXggKHQsIGxlbik7CisJICAgICAgaWYgKGluZCA8IDApCiAJCXsKLQkJICB0Wy0xXSA9ICdcMCc7Ci0JCSAgZXJyX2JhZGFycmF5c3ViIChzKTsKLQkJICB0Wy0xXSA9ICdbJzsJLyogXSAqLworCQkgIC8qIG5lZ2F0aXZlIHN1YnNjcmlwdHMgdG8gaW5kZXhlZCBhcnJheXMgY291bnQgYmFjayBmcm9tIGVuZCAqLworCQkgIGlmICh2YXIgJiYgYXJyYXlfcCAodmFyKSkKKwkJICAgIGluZCA9IGFycmF5X21heF9pbmRleCAoYXJyYXlfY2VsbCAodmFyKSkgKyAxICsgaW5kOworCQkgIGlmIChpbmQgPCAwKQorCQkgICAgSU5ERVhfRVJST1IoKTsKIAkJfQotCSAgICAgIHJldHVybiAoKGNoYXIgKilOVUxMKTsKKwkgICAgICBpZiAoaW5kcCkKKwkJKmluZHAgPSBpbmQ7CiAJICAgIH0KKwkgIGVsc2UgaWYgKGluZHApCisJICAgIGluZCA9ICppbmRwOwogCX0KICAgICAgIGVsc2UgaWYgKGFzc29jX3AgKHZhcikpCiAJewpAQCAtOTM2LDE1ICs5NTUsMTggQEAKIAkgIGFrZXkgPSBleHBhbmRfYXNzaWdubWVudF9zdHJpbmdfdG9fc3RyaW5nICh0LCAwKTsJLyogWyAqLwogCSAgdFtsZW4gLSAxXSA9ICddJzsKIAkgIGlmIChha2V5ID09IDAgfHwgKmFrZXkgPT0gMCkKLQkgICAgZ290byBpbmRleF9lcnJvcjsKKwkgICAgSU5ERVhfRVJST1IoKTsKIAl9CiAgICAgIAotICAgICAgaWYgKHZhciA9PSAwKQorICAgICAgaWYgKHZhciA9PSAwIHx8IHZhbHVlX2NlbGwgKHZhcikgPT0gMCkJLyogWFhYIC0gY2hlY2sgaW52aXNpYmxlX3AodmFyKSA/ICovCiAJcmV0dXJuICgoY2hhciAqKU5VTEwpOwogICAgICAgaWYgKGFycmF5X3AgKHZhcikgPT0gMCAmJiBhc3NvY19wICh2YXIpID09IDApCiAJcmV0dXJuIChpbmQgPT0gMCA/IHZhbHVlX2NlbGwgKHZhcikgOiAoY2hhciAqKU5VTEwpOwogICAgICAgZWxzZSBpZiAoYXNzb2NfcCAodmFyKSkKLQlyZXR2YWwgPSBhc3NvY19yZWZlcmVuY2UgKGFzc29jX2NlbGwgKHZhciksIGFrZXkpOworICAgICAgICB7CisJICByZXR2YWwgPSBhc3NvY19yZWZlcmVuY2UgKGFzc29jX2NlbGwgKHZhciksIGFrZXkpOworCSAgZnJlZSAoYWtleSk7CisgICAgICAgIH0KICAgICAgIGVsc2UKIAlyZXR2YWwgPSBhcnJheV9yZWZlcmVuY2UgKGFycmF5X2NlbGwgKHZhciksIGluZCk7CiAgICAgfQpAQCAtOTU1LDIzICs5NzcsMjUgQEAKIC8qIFJldHVybiBhIHN0cmluZyBjb250YWluaW5nIHRoZSBlbGVtZW50cyBkZXNjcmliZWQgYnkgdGhlIGFycmF5IGFuZAogICAgc3Vic2NyaXB0IGNvbnRhaW5lZCBpbiBTLCBvYmV5aW5nIHF1b3RpbmcgZm9yIHN1YnNjcmlwdHMgKiBhbmQgQC4gKi8KIGNoYXIgKgotYXJyYXlfdmFsdWUgKHMsIHF1b3RlZCwgcnR5cGUpCithcnJheV92YWx1ZSAocywgcXVvdGVkLCBmbGFncywgcnR5cGUsIGluZHApCiAgICAgIGNoYXIgKnM7Ci0gICAgIGludCBxdW90ZWQsICpydHlwZTsKKyAgICAgaW50IHF1b3RlZCwgZmxhZ3MsICpydHlwZTsKKyAgICAgYXJyYXlpbmRfdCAqaW5kcDsKIHsKLSAgcmV0dXJuIChhcnJheV92YWx1ZV9pbnRlcm5hbCAocywgcXVvdGVkLCAxLCBydHlwZSkpOworICByZXR1cm4gKGFycmF5X3ZhbHVlX2ludGVybmFsIChzLCBxdW90ZWQsIGZsYWdzfEFWX0FMTE9XQUxMLCBydHlwZSwgaW5kcCkpOwogfQogCiAvKiBSZXR1cm4gdGhlIHZhbHVlIG9mIHRoZSBhcnJheSBpbmRleGluZyBleHByZXNzaW9uIFMgYXMgYSBzaW5nbGUgc3RyaW5nLgotICAgSWYgQUxMT1dfQUxMIGlzIDAsIGRvIG5vdCBhbGxvdyBgQCcgYW5kIGAqJyBzdWJzY3JpcHRzLiAgVGhpcyBpcyB1c2VkCi0gICBieSBvdGhlciBwYXJ0cyBvZiB0aGUgc2hlbGwgc3VjaCBhcyB0aGUgYXJpdGhtZXRpYyBleHByZXNzaW9uIGV2YWx1YXRvcgotICAgaW4gZXhwci5jLiAqLworICAgSWYgKEZMQUdTICYgQVZfQUxMT1dBTEwpIGlzIDAsIGRvIG5vdCBhbGxvdyBgQCcgYW5kIGAqJyBzdWJzY3JpcHRzLiAgVGhpcworICAgaXMgdXNlZCBieSBvdGhlciBwYXJ0cyBvZiB0aGUgc2hlbGwgc3VjaCBhcyB0aGUgYXJpdGhtZXRpYyBleHByZXNzaW9uCisgICBldmFsdWF0b3IgaW4gZXhwci5jLiAqLwogY2hhciAqCi1nZXRfYXJyYXlfdmFsdWUgKHMsIGFsbG93X2FsbCwgcnR5cGUpCitnZXRfYXJyYXlfdmFsdWUgKHMsIGZsYWdzLCBydHlwZSwgaW5kcCkKICAgICAgY2hhciAqczsKLSAgICAgaW50IGFsbG93X2FsbCwgKnJ0eXBlOworICAgICBpbnQgZmxhZ3MsICpydHlwZTsKKyAgICAgYXJyYXlpbmRfdCAqaW5kcDsKIHsKLSAgcmV0dXJuIChhcnJheV92YWx1ZV9pbnRlcm5hbCAocywgMCwgYWxsb3dfYWxsLCBydHlwZSkpOworICByZXR1cm4gKGFycmF5X3ZhbHVlX2ludGVybmFsIChzLCAwLCBmbGFncywgcnR5cGUsIGluZHApKTsKIH0KIAogY2hhciAqCkBAIC05OTAsNiArMTAxNCw5IEBACiAgIGlmICh2YXIgPT0gMCB8fCBBTExfRUxFTUVOVF9TVUIgKHRbMF0pID09IDAgfHwgdFsxXSAhPSAnXScpCiAgICAgcmV0dXJuIChjaGFyICopTlVMTDsKIAorICBpZiAodmFyX2lzc2V0ICh2YXIpID09IDAgfHwgaW52aXNpYmxlX3AgKHZhcikpCisgICAgcmV0dXJuIChjaGFyICopTlVMTDsKKwogICBpZiAoYXJyYXlfcCAodmFyKSA9PSAwICYmIGFzc29jX3AgKHZhcikgPT0gMCkKICAgICBsID0gYWRkX3N0cmluZ190b19saXN0ICgiMCIsIChXT1JEX0xJU1QgKilOVUxMKTsKICAgZWxzZSBpZiAoYXNzb2NfcCAodmFyKSkKZGlmZiAtLWdpdCBhL2FycmF5ZnVuYy5oIGIvYXJyYXlmdW5jLmgKaW5kZXggYzEyZmM5OS4uODM2M2QxNiAxMDA2NDQKLS0tIGEvYXJyYXlmdW5jLmgKKysrIGIvYXJyYXlmdW5jLmgKQEAgLTEsNiArMSw2IEBACiAvKiBhcnJheWZ1bmMuaCAtLSBkZWNsYXJhdGlvbnMgZm9yIG1pc2NlbGxhbmVvdXMgYXJyYXkgZnVuY3Rpb25zIGluIGFycmF5ZnVuYy5jICovCiAKLS8qIENvcHlyaWdodCAoQykgMjAwMS0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAyMDAxLTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC0yNSw2ICsyNSwxMSBAQAogCiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKIAorLyogRmxhZ3MgZm9yIGFycmF5X3ZhbHVlX2ludGVybmFsIGFuZCBjYWxsZXJzIGFycmF5X3ZhbHVlL2dldF9hcnJheV92YWx1ZSAqLworI2RlZmluZSBBVl9BTExPV0FMTAkweDAwMQorI2RlZmluZSBBVl9RVU9URUQJMHgwMDIKKyNkZWZpbmUgQVZfVVNFSU5ECTB4MDA0CisKIGV4dGVybiBTSEVMTF9WQVIgKmNvbnZlcnRfdmFyX3RvX2FycmF5IF9fUCgoU0hFTExfVkFSICopKTsKIGV4dGVybiBTSEVMTF9WQVIgKmNvbnZlcnRfdmFyX3RvX2Fzc29jIF9fUCgoU0hFTExfVkFSICopKTsKIApAQCAtNTEsOCArNTYsOCBAQAogCiBleHRlcm4gYXJyYXlpbmRfdCBhcnJheV9leHBhbmRfaW5kZXggX19QKChjaGFyICosIGludCkpOwogZXh0ZXJuIGludCB2YWxpZF9hcnJheV9yZWZlcmVuY2UgX19QKChjaGFyICopKTsKLWV4dGVybiBjaGFyICphcnJheV92YWx1ZSBfX1AoKGNoYXIgKiwgaW50LCBpbnQgKikpOwotZXh0ZXJuIGNoYXIgKmdldF9hcnJheV92YWx1ZSBfX1AoKGNoYXIgKiwgaW50LCBpbnQgKikpOworZXh0ZXJuIGNoYXIgKmFycmF5X3ZhbHVlIF9fUCgoY2hhciAqLCBpbnQsIGludCwgaW50ICosIGFycmF5aW5kX3QgKikpOworZXh0ZXJuIGNoYXIgKmdldF9hcnJheV92YWx1ZSBfX1AoKGNoYXIgKiwgaW50LCBpbnQgKiwgYXJyYXlpbmRfdCAqKSk7CiAKIGV4dGVybiBjaGFyICphcnJheV9rZXlzIF9fUCgoY2hhciAqLCBpbnQpKTsKIApkaWZmIC0tZ2l0IGEvYXV0b200dGUuY2FjaGUvb3V0cHV0LjAgYi9hdXRvbTR0ZS5jYWNoZS9vdXRwdXQuMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGRhYWE2Ci0tLSAvZGV2L251bGwKKysrIGIvYXV0b200dGUuY2FjaGUvb3V0cHV0LjAKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvYXV0b200dGUuY2FjaGUvcmVxdWVzdHMgYi9hdXRvbTR0ZS5jYWNoZS9yZXF1ZXN0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTVlMDhjCi0tLSAvZGV2L251bGwKKysrIGIvYXV0b200dGUuY2FjaGUvcmVxdWVzdHMKQEAgLTAsMCArMSw2NyBAQAorIyBUaGlzIGZpbGUgd2FzIGdlbmVyYXRlZC4KKyMgSXQgY29udGFpbnMgdGhlIGxpc3RzIG9mIG1hY3JvcyB3aGljaCBoYXZlIGJlZW4gdHJhY2VkLgorIyBJdCBjYW4gYmUgc2FmZWx5IHJlbW92ZWQuCisKK0ByZXF1ZXN0ID0gKAorICAgICAgICAgICAgIGJsZXNzKCBbCisgICAgICAgICAgICAgICAgICAgICAgJzAnLAorICAgICAgICAgICAgICAgICAgICAgIDEsCisgICAgICAgICAgICAgICAgICAgICAgWworICAgICAgICAgICAgICAgICAgICAgICAgJy9zdy9zaGFyZS9hdXRvY29uZicKKyAgICAgICAgICAgICAgICAgICAgICBdLAorICAgICAgICAgICAgICAgICAgICAgIFsKKyAgICAgICAgICAgICAgICAgICAgICAgICcvc3cvc2hhcmUvYXV0b2NvbmYvYXV0b2NvbmYvYXV0b2NvbmYubTRmJywKKyAgICAgICAgICAgICAgICAgICAgICAgICdhY2xvY2FsLm00JywKKyAgICAgICAgICAgICAgICAgICAgICAgICdjb25maWd1cmUuaW4nCisgICAgICAgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAnX0xUX0FDX1RBR0NPTkZJRycgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBTV9QUk9HX0Y3N19DX08nID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAnQUNfSU5JVCcgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdtNF9wYXR0ZXJuX2ZvcmJpZCcgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdfQU1fQ09ORF9JRicgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBQ19DQU5PTklDQUxfVEFSR0VUJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0FDX1NVQlNUJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0FDX0NPTkZJR19MSUJPQkpfRElSJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0FDX0ZDX1NSQ0VYVCcgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBQ19DQU5PTklDQUxfSE9TVCcgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBQ19QUk9HX0xJQlRPT0wnID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAnQU1fSU5JVF9BVVRPTUFLRScgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBQ19DT05GSUdfU1VCRElSUycgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBTV9BVVRPTUFLRV9WRVJTSU9OJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0xUX0NPTkZJR19MVERMX0RJUicgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBQ19SRVFVSVJFX0FVWF9GSUxFJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0FDX0NPTkZJR19MSU5LUycgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdtNF9zaW5jbHVkZScgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdMVF9TVVBQT1JURURfVEFHJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0FNX01BSU5UQUlORVJfTU9ERScgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBTV9HTlVfR0VUVEVYVF9JTlRMX1NVQkRJUicgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdfbTRfd2FybicgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBTV9QUk9HX0NYWF9DX08nID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAnX0FNX0NPTkRfRU5ESUYnID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAnQU1fRU5BQkxFX01VTFRJTElCJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0FDX0NPTkZJR19GSUxFUycgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdpbmNsdWRlJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0xUX0lOSVQnID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAnQU1fR05VX0dFVFRFWFQnID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAnQUNfTElCU09VUkNFJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0FNX1BST0dfRkNfQ19PJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0FDX0NBTk9OSUNBTF9CVUlMRCcgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBQ19GQ19GUkVFRk9STScgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBSF9PVVRQVVQnID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAnX0FNX1NVQlNUX05PVE1BS0UnID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAnQUNfQ09ORklHX0FVWF9ESVInID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAnc2luY2x1ZGUnID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAnbTRfcGF0dGVybl9hbGxvdycgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBTV9QUk9HX0NDX0NfTycgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBQ19DQU5PTklDQUxfU1lTVEVNJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0FNX0NPTkRJVElPTkFMJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0FDX0NPTkZJR19IRUFERVJTJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ0FDX0RFRklORV9UUkFDRV9MSVRFUkFMJyA9PiAxLAorICAgICAgICAgICAgICAgICAgICAgICAgJ200X2luY2x1ZGUnID0+IDEsCisgICAgICAgICAgICAgICAgICAgICAgICAnX0FNX0NPTkRfRUxTRScgPT4gMSwKKyAgICAgICAgICAgICAgICAgICAgICAgICdBQ19TVUJTVF9UUkFDRScgPT4gMQorICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgXSwgJ0F1dG9tNHRlOjpSZXF1ZXN0JyApCisgICAgICAgICAgICk7CisKZGlmZiAtLWdpdCBhL2F1dG9tNHRlLmNhY2hlL3RyYWNlcy4wIGIvYXV0b200dGUuY2FjaGUvdHJhY2VzLjAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBkYTUxZQotLS0gL2Rldi9udWxsCisrKyBiL2F1dG9tNHRlLmNhY2hlL3RyYWNlcy4wCkBAIC0wLDAgKzEsMjUxNSBAQAorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19JTklUKFtiYXNoXSwgWzQuMC1yZWxlYXNlXSwgW2J1Zy1iYXNoQGdudS5vcmddKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2ZvcmJpZChbXl8/QVtDSFVNXV9dKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2ZvcmJpZChbX0FDX10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fZm9yYmlkKFteTElCT0JKUyRdLCBbZG8gbm90IHVzZSBMSUJPQkpTIGRpcmVjdGx5LCB1c2UgQUNfTElCT0JKIChzZWUgc2VjdGlvbiBgQUNfTElCT0JKIHZzIExJQk9CSlMnXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkFTX0ZMQUdTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fZm9yYmlkKFteXz9tNF9dKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2ZvcmJpZChbXmRubCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2ZvcmJpZChbXl8/QVNfXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1QoW1NIRUxMXSwgWyR7Q09ORklHX1NIRUxMLS9iaW4vc2h9XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1NIRUxMXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNIRUxMJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtQQVRIX1NFUEFSQVRPUl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtQQVRIX1NFUEFSQVRPUl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15QQVRIX1NFUEFSQVRPUiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbUEFDS0FHRV9OQU1FXSwgW200X2lmZGVmKFtBQ19QQUNLQUdFX05BTUVdLCAgICAgIFsnQUNfUEFDS0FHRV9OQU1FJ10pXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1BBQ0tBR0VfTkFNRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15QQUNLQUdFX05BTUUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1QoW1BBQ0tBR0VfVEFSTkFNRV0sIFttNF9pZmRlZihbQUNfUEFDS0FHRV9UQVJOQU1FXSwgICBbJ0FDX1BBQ0tBR0VfVEFSTkFNRSddKV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtQQUNLQUdFX1RBUk5BTUVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUEFDS0FHRV9UQVJOQU1FJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtQQUNLQUdFX1ZFUlNJT05dLCBbbTRfaWZkZWYoW0FDX1BBQ0tBR0VfVkVSU0lPTl0sICAgWydBQ19QQUNLQUdFX1ZFUlNJT04nXSldKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbUEFDS0FHRV9WRVJTSU9OXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlBBQ0tBR0VfVkVSU0lPTiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbUEFDS0FHRV9TVFJJTkddLCBbbTRfaWZkZWYoW0FDX1BBQ0tBR0VfU1RSSU5HXSwgICAgWydBQ19QQUNLQUdFX1NUUklORyddKV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtQQUNLQUdFX1NUUklOR10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15QQUNLQUdFX1NUUklORyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbUEFDS0FHRV9CVUdSRVBPUlRdLCBbbTRfaWZkZWYoW0FDX1BBQ0tBR0VfQlVHUkVQT1JUXSwgWydBQ19QQUNLQUdFX0JVR1JFUE9SVCddKV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtQQUNLQUdFX0JVR1JFUE9SVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15QQUNLQUdFX0JVR1JFUE9SVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbZXhlY19wcmVmaXhdLCBbTk9ORV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtleGVjX3ByZWZpeF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15leGVjX3ByZWZpeCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbcHJlZml4XSwgW05PTkVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbcHJlZml4XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnByZWZpeCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZV0sIFtzLHgseCxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbcHJvZ3JhbV90cmFuc2Zvcm1fbmFtZV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15wcm9ncmFtX3RyYW5zZm9ybV9uYW1lJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtiaW5kaXJdLCBbJyR7ZXhlY19wcmVmaXh9L2JpbiddKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbYmluZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmJpbmRpciRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbc2JpbmRpcl0sIFsnJHtleGVjX3ByZWZpeH0vc2JpbiddKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbc2JpbmRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15zYmluZGlyJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtsaWJleGVjZGlyXSwgWycke2V4ZWNfcHJlZml4fS9saWJleGVjJ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtsaWJleGVjZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmxpYmV4ZWNkaXIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1QoW2RhdGFyb290ZGlyXSwgWycke3ByZWZpeH0vc2hhcmUnXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW2RhdGFyb290ZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmRhdGFyb290ZGlyJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtkYXRhZGlyXSwgWycke2RhdGFyb290ZGlyfSddKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbZGF0YWRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15kYXRhZGlyJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtzeXNjb25mZGlyXSwgWycke3ByZWZpeH0vZXRjJ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtzeXNjb25mZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnN5c2NvbmZkaXIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1QoW3NoYXJlZHN0YXRlZGlyXSwgWycke3ByZWZpeH0vY29tJ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtzaGFyZWRzdGF0ZWRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15zaGFyZWRzdGF0ZWRpciRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbbG9jYWxzdGF0ZWRpcl0sIFsnJHtwcmVmaXh9L3ZhciddKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbbG9jYWxzdGF0ZWRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15sb2NhbHN0YXRlZGlyJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtpbmNsdWRlZGlyXSwgWycke3ByZWZpeH0vaW5jbHVkZSddKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbaW5jbHVkZWRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15pbmNsdWRlZGlyJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtvbGRpbmNsdWRlZGlyXSwgWycvdXNyL2luY2x1ZGUnXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW29sZGluY2x1ZGVkaXJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteb2xkaW5jbHVkZWRpciRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbZG9jZGlyXSwgW200X2lmc2V0KFtBQ19QQUNLQUdFX1RBUk5BTUVdLAorCQkJCSAgICAgWycke2RhdGFyb290ZGlyfS9kb2MvJHtQQUNLQUdFX1RBUk5BTUV9J10sCisJCQkJICAgICBbJyR7ZGF0YXJvb3RkaXJ9L2RvYy8ke1BBQ0tBR0V9J10pXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW2RvY2Rpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15kb2NkaXIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1QoW2luZm9kaXJdLCBbJyR7ZGF0YXJvb3RkaXJ9L2luZm8nXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW2luZm9kaXJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteaW5mb2RpciRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbaHRtbGRpcl0sIFsnJHtkb2NkaXJ9J10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtodG1sZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmh0bWxkaXIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1QoW2R2aWRpcl0sIFsnJHtkb2NkaXJ9J10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtkdmlkaXJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteZHZpZGlyJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtwZGZkaXJdLCBbJyR7ZG9jZGlyfSddKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbcGRmZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnBkZmRpciRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbcHNkaXJdLCBbJyR7ZG9jZGlyfSddKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbcHNkaXJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtecHNkaXIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1QoW2xpYmRpcl0sIFsnJHtleGVjX3ByZWZpeH0vbGliJ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtsaWJkaXJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtebGliZGlyJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtsb2NhbGVkaXJdLCBbJyR7ZGF0YXJvb3RkaXJ9L2xvY2FsZSddKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbbG9jYWxlZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmxvY2FsZWRpciRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbbWFuZGlyXSwgWycke2RhdGFyb290ZGlyfS9tYW4nXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW21hbmRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15tYW5kaXIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1BBQ0tBR0VfTkFNRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15QQUNLQUdFX05BTUUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUhfT1VUUFVUKFtQQUNLQUdFX05BTUVdLCBbLyogRGVmaW5lIHRvIHRoZSBmdWxsIG5hbWUgb2YgdGhpcyBwYWNrYWdlLiAqLworI3VuZGVmIFBBQ0tBR0VfTkFNRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtQQUNLQUdFX1RBUk5BTUVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUEFDS0FHRV9UQVJOQU1FJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFIX09VVFBVVChbUEFDS0FHRV9UQVJOQU1FXSwgWy8qIERlZmluZSB0byB0aGUgb25lIHN5bWJvbCBzaG9ydCBuYW1lIG9mIHRoaXMgcGFja2FnZS4gKi8KKyN1bmRlZiBQQUNLQUdFX1RBUk5BTUVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbUEFDS0FHRV9WRVJTSU9OXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlBBQ0tBR0VfVkVSU0lPTiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBSF9PVVRQVVQoW1BBQ0tBR0VfVkVSU0lPTl0sIFsvKiBEZWZpbmUgdG8gdGhlIHZlcnNpb24gb2YgdGhpcyBwYWNrYWdlLiAqLworI3VuZGVmIFBBQ0tBR0VfVkVSU0lPTl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtQQUNLQUdFX1NUUklOR10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15QQUNLQUdFX1NUUklORyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBSF9PVVRQVVQoW1BBQ0tBR0VfU1RSSU5HXSwgWy8qIERlZmluZSB0byB0aGUgZnVsbCBuYW1lIGFuZCB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KKyN1bmRlZiBQQUNLQUdFX1NUUklOR10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtQQUNLQUdFX0JVR1JFUE9SVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15QQUNLQUdFX0JVR1JFUE9SVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBSF9PVVRQVVQoW1BBQ0tBR0VfQlVHUkVQT1JUXSwgWy8qIERlZmluZSB0byB0aGUgYWRkcmVzcyB3aGVyZSBidWcgcmVwb3J0cyBmb3IgdGhpcyBwYWNrYWdlIHNob3VsZCBiZSBzZW50LiAqLworI3VuZGVmIFBBQ0tBR0VfQlVHUkVQT1JUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1QoW0RFRlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbREVGU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15ERUZTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtFQ0hPX0NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbRUNIT19DXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkVDSE9fQyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbRUNIT19OXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0VDSE9fTl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15FQ0hPX04kXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1QoW0VDSE9fVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtFQ0hPX1RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteRUNIT19UJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFtMSUJTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xJQlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteTElCUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVChbYnVpbGRfYWxpYXNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbYnVpbGRfYWxpYXNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteYnVpbGRfYWxpYXMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gQUNfU1VCU1QoW2hvc3RfYWxpYXNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbaG9zdF9hbGlhc10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15ob3N0X2FsaWFzJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyOTogLTEtIEFDX1NVQlNUKFt0YXJnZXRfYWxpYXNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk6IC0xLSBBQ19TVUJTVF9UUkFDRShbdGFyZ2V0X2FsaWFzXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnRhcmdldF9hbGlhcyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzY6IC0xLSBBQ19DT05GSUdfQVVYX0RJUihbLi9zdXBwb3J0XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM3OiAtMS0gQUNfQ09ORklHX0hFQURFUlMoW2NvbmZpZy5oXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjUxOiAtMS0gQUNfQ0FOT05JQ0FMX0hPU1QKK200dHJhY2U6Y29uZmlndXJlLmluOjUxOiAtMS0gQUNfQ0FOT05JQ0FMX0JVSUxECittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1MTogLTEtIEFDX1JFUVVJUkVfQVVYX0ZJTEUoW2NvbmZpZy5zdWJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTE6IC0xLSBBQ19SRVFVSVJFX0FVWF9GSUxFKFtjb25maWcuZ3Vlc3NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTE6IC0xLSBBQ19TVUJTVChbYnVpbGRdLCBbJGFjX2N2X2J1aWxkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjUxOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW2J1aWxkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjUxOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmJ1aWxkJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1MTogLTEtIEFDX1NVQlNUKFtidWlsZF9jcHVdLCBbJFsxXV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1MTogLTEtIEFDX1NVQlNUX1RSQUNFKFtidWlsZF9jcHVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteYnVpbGRfY3B1JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1MTogLTEtIEFDX1NVQlNUKFtidWlsZF92ZW5kb3JdLCBbJFsyXV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1MTogLTEtIEFDX1NVQlNUX1RSQUNFKFtidWlsZF92ZW5kb3JdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteYnVpbGRfdmVuZG9yJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1MTogLTEtIEFDX1NVQlNUKFtidWlsZF9vc10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1MTogLTEtIEFDX1NVQlNUX1RSQUNFKFtidWlsZF9vc10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1MTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15idWlsZF9vcyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTE6IC0xLSBBQ19TVUJTVChbaG9zdF0sIFskYWNfY3ZfaG9zdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1MTogLTEtIEFDX1NVQlNUX1RSQUNFKFtob3N0XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjUxOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmhvc3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjUxOiAtMS0gQUNfU1VCU1QoW2hvc3RfY3B1XSwgWyRbMV1dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTE6IC0xLSBBQ19TVUJTVF9UUkFDRShbaG9zdF9jcHVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteaG9zdF9jcHUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjUxOiAtMS0gQUNfU1VCU1QoW2hvc3RfdmVuZG9yXSwgWyRbMl1dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTE6IC0xLSBBQ19TVUJTVF9UUkFDRShbaG9zdF92ZW5kb3JdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteaG9zdF92ZW5kb3IkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjUxOiAtMS0gQUNfU1VCU1QoW2hvc3Rfb3NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTE6IC0xLSBBQ19TVUJTVF9UUkFDRShbaG9zdF9vc10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1MTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15ob3N0X29zJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDE6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTk1OTogQU1fUEFUSF9MSVNQRElSIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoxMDE6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTAxOiAtMS0gQUNfU1VCU1QoW0VNQUNTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwMTogLTEtIEFDX1NVQlNUX1RSQUNFKFtFTUFDU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteRU1BQ1MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwMTogLTEtIEFDX1NVQlNUKFtsaXNwZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwMTogLTEtIEFDX1NVQlNUX1RSQUNFKFtsaXNwZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwMTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15saXNwZGlyJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDI6IC0xLSBBQ19TVUJTVChbREVCVUdHRVJfU1RBUlRfRklMRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDI6IC0xLSBBQ19TVUJTVF9UUkFDRShbREVCVUdHRVJfU1RBUlRfRklMRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDI6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteREVCVUdHRVJfU1RBUlRfRklMRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTA2OiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MTA2OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwNzogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjEwNzogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDg6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoxMDg6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTA5OiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MTA5OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMDogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjExMDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTE6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoxMTE6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEyOiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MTEyOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEyMzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtVU0lOR19CQVNIX01BTExPQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMjM6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteVVNJTkdfQkFTSF9NQUxMT0MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEzMzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtESVNBQkxFX01BTExPQ19XUkFQUEVSU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMzM6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteRElTQUJMRV9NQUxMT0NfV1JBUFBFUlMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjE0MzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtBRlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTQzOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkFGUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTk0OiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MTk0OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjIxMDogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjIxMDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyMTE6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyMTE6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjEyOiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MjEyOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjIxMzogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjIxMzogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyMTQ6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyMTQ6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjE1OiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MjE1OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjIxNjogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjIxNjogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyMTc6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyMTc6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjE4OiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MjE4OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjIxOTogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjIxOTogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyMjA6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyMjA6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjIxOiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MjIxOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjIyMjogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjIyMjogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyMjM6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyMjM6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjI0OiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MjI0OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjIyNTogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjIyNTogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyMjY6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyMjY6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjI3OiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MjI3OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjIyODogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjIyODogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyMjk6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyMjk6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjMwOiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MjMwOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjIzMTogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjIzMTogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyMzI6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyMzI6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjMzOiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MjMzOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjIzNDogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjIzNDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyMzU6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyMzU6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjM2OiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MjM2OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjIzNzogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjIzNzogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyMzg6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyMzg6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjM5OiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MjM5OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI0MDogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjI0MDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyNDE6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyNDE6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjQ0OiAtMi0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfSEVMUF9TVFJJTkcnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjA5OiBBQ19IRUxQX1NUUklORyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46MjQ0OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI0NTogLTItIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX0hFTFBfU1RSSU5HJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjIwOTogQUNfSEVMUF9TVFJJTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjI0NTogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyNDY6IC0yLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19IRUxQX1NUUklORycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyMDk6IEFDX0hFTFBfU1RSSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjoyNDY6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjU1OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0FMSUFTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI1NTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15BTElBUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjU4OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1BVU0hEX0FORF9QT1BEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI1ODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15QVVNIRF9BTkRfUE9QRCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjYxOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1JFU1RSSUNURURfU0hFTExdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjYxOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlJFU1RSSUNURURfU0hFTEwkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI2NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtQUk9DRVNTX1NVQlNUSVRVVElPTl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyNjQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUFJPQ0VTU19TVUJTVElUVVRJT04kXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI2NzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtQUk9NUFRfU1RSSU5HX0RFQ09ERV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyNjc6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUFJPTVBUX1NUUklOR19ERUNPREUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI3MDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtTRUxFQ1RfQ09NTUFORF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyNzA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteU0VMRUNUX0NPTU1BTkQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI3MzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIRUxQX0JVSUxUSU5dKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjczOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhFTFBfQlVJTFRJTiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjc2OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0FSUkFZX1ZBUlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjc2OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkFSUkFZX1ZBUlMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI3OTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtEUEFSRU5fQVJJVEhNRVRJQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoyNzk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteRFBBUkVOX0FSSVRITUVUSUMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI4MjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtCUkFDRV9FWFBBTlNJT05dKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjgyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkJSQUNFX0VYUEFOU0lPTiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjg1OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0RJU0FCTEVEX0JVSUxUSU5TXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI4NTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15ESVNBQkxFRF9CVUlMVElOUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjg4OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0NPTU1BTkRfVElNSU5HXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI4ODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15DT01NQU5EX1RJTUlORyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjkxOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0RFRkFVTFRfRUNIT19UT19YUEddKQorbTR0cmFjZTpjb25maWd1cmUuaW46MjkxOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkRFRkFVTFRfRUNIT19UT19YUEckXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjI5NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtTVFJJQ1RfUE9TSVhdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNUUklDVF9QT1NJWCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk3OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0VYVEVOREVEX0dMT0JdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mjk3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkVYVEVOREVEX0dMT0IkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjMwMDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtDT05EX0NPTU1BTkRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzAwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkNPTkRfQ09NTUFORCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzAzOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0NPTkRfUkVHRVhQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjMwMzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15DT05EX1JFR0VYUCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzA2OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0NPUFJPQ0VTU19TVVBQT1JUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjMwNjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15DT1BST0NFU1NfU1VQUE9SVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzA5OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0FSSVRIX0ZPUl9DT01NQU5EXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjMwOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15BUklUSF9GT1JfQ09NTUFORCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzEyOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW05FVFdPUktfUkVESVJFQ1RJT05TXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjMxMjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15ORVRXT1JLX1JFRElSRUNUSU9OUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzE1OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1BST0dSQU1NQUJMRV9DT01QTEVUSU9OXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjMxNTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15QUk9HUkFNTUFCTEVfQ09NUExFVElPTiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzE4OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW05PX01VTFRJQllURV9TVVBQT1JUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjMxODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15OT19NVUxUSUJZVEVfU1VQUE9SVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzIxOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0RFQlVHR0VSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjMyMTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15ERUJVR0dFUiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzI0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0NBU0VNT0RfQVRUUlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzI0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkNBU0VNT0RfQVRUUlMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjMyNzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtDQVNFTU9EX0VYUEFOU0lPTlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzI3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkNBU0VNT0RfRVhQQU5TSU9OUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzMxOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW01FTVNDUkFNQkxFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjMzMTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15NRU1TQ1JBTUJMRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzU2OiAtMS0gQUNfU1VCU1QoW1RFU1RTQ1JJUFRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzU2OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1RFU1RTQ1JJUFRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzU2OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlRFU1RTQ1JJUFQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM1NzogLTEtIEFDX1NVQlNUKFtQVVJJRlldKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzU3OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1BVUklGWV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozNTc6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUFVSSUZZJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozNTg6IC0xLSBBQ19TVUJTVChbTUFMTE9DX1RBUkdFVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozNTg6IC0xLSBBQ19TVUJTVF9UUkFDRShbTUFMTE9DX1RBUkdFVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozNTg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteTUFMTE9DX1RBUkdFVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzU5OiAtMS0gQUNfU1VCU1QoW01BTExPQ19TUkNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzU5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW01BTExPQ19TUkNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzU5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXk1BTExPQ19TUkMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM2MTogLTEtIEFDX1NVQlNUKFtNQUxMT0NfTElCXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM2MTogLTEtIEFDX1NVQlNUX1RSQUNFKFtNQUxMT0NfTElCXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM2MTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15NQUxMT0NfTElCJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozNjI6IC0xLSBBQ19TVUJTVChbTUFMTE9DX0xJQlJBUlldKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzYyOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW01BTExPQ19MSUJSQVJZXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM2MjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15NQUxMT0NfTElCUkFSWSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzYzOiAtMS0gQUNfU1VCU1QoW01BTExPQ19MREZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM2MzogLTEtIEFDX1NVQlNUX1RSQUNFKFtNQUxMT0NfTERGTEFHU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozNjM6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteTUFMTE9DX0xERkxBR1MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM2NDogLTEtIEFDX1NVQlNUKFtNQUxMT0NfREVQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM2NDogLTEtIEFDX1NVQlNUX1RSQUNFKFtNQUxMT0NfREVQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM2NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15NQUxMT0NfREVQJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozNjY6IC0xLSBBQ19TVUJTVChbaHRtbGRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozNjY6IC0xLSBBQ19TVUJTVF9UUkFDRShbaHRtbGRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozNjY6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteaHRtbGRpciRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzY4OiAtMS0gQUNfU1VCU1QoW0hFTFBESVJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzY4OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0hFTFBESVJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzY4OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhFTFBESVIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM2OTogLTEtIEFDX1NVQlNUKFtIRUxQRElSREVGSU5FXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM2OTogLTEtIEFDX1NVQlNUX1RSQUNFKFtIRUxQRElSREVGSU5FXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM2OTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IRUxQRElSREVGSU5FJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozNzA6IC0xLSBBQ19TVUJTVChbSEVMUElOU1RBTExdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzcwOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0hFTFBJTlNUQUxMXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM3MDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IRUxQSU5TVEFMTCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzcxOiAtMS0gQUNfU1VCU1QoW0hFTFBTVFJJTkdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM3MTogLTEtIEFDX1NVQlNUX1RSQUNFKFtIRUxQU1RSSU5HU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozNzE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEVMUFNUUklOR1MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4MDogLTEtIEFDX1NVQlNUKFtDQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBBQ19TVUJTVF9UUkFDRShbQ0NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkNDJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBBQ19TVUJTVChbQ0ZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4MDogLTEtIEFDX1NVQlNUX1RSQUNFKFtDRkxBR1NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkNGTEFHUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gQUNfU1VCU1QoW0xERkxBR1NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xERkxBR1NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkxERkxBR1MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4MDogLTEtIEFDX1NVQlNUKFtMSUJTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4MDogLTEtIEFDX1NVQlNUX1RSQUNFKFtMSUJTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4MDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MSUJTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBBQ19TVUJTVChbQ1BQRkxBR1NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0NQUEZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4MDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15DUFBGTEFHUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gQUNfU1VCU1QoW0NDXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4MDogLTEtIEFDX1NVQlNUX1RSQUNFKFtDQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQ0MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4MDogLTEtIEFDX1NVQlNUKFtDQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBBQ19TVUJTVF9UUkFDRShbQ0NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkNDJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBBQ19TVUJTVChbQ0NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0NDXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4MDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15DQyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gQUNfU1VCU1QoW0NDXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4MDogLTEtIEFDX1NVQlNUX1RSQUNFKFtDQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQ0MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4MDogLTEtIEFDX1NVQlNUKFthY19jdF9DQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBBQ19TVUJTVF9UUkFDRShbYWNfY3RfQ0NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmFjX2N0X0NDJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBBQ19TVUJTVChbRVhFRVhUXSwgWyRhY19jdl9leGVleHRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0VYRUVYVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteRVhFRVhUJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBBQ19TVUJTVChbT0JKRVhUXSwgWyRhY19jdl9vYmpleHRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MzgwOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW09CSkVYVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteT0JKRVhUJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19NSU5JWCcgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvc3BlY2lmaWMubTQ6NDU5OiBBQ19NSU5JWCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46Mzg0OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIEFDX1NVQlNUKFtDUFBdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0NQUF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQ1BQJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBBQ19TVUJTVChbQ1BQRkxBR1NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0NQUEZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15DUFBGTEFHUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUNfU1VCU1QoW0NQUF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBBQ19TVUJTVF9UUkFDRShbQ1BQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15DUFAkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIEFDX1NVQlNUKFtHUkVQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIEFDX1NVQlNUX1RSQUNFKFtHUkVQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15HUkVQJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBBQ19TVUJTVChbRUdSRVBdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0VHUkVQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15FR1JFUCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1NURENfSEVBREVSU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteU1REQ19IRUFERVJTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBBSF9PVVRQVVQoW1NURENfSEVBREVSU10sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgQU5TSSBDIGhlYWRlciBmaWxlcy4gKi8KKyN1bmRlZiBTVERDX0hFQURFUlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NZU19UWVBFU19IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1RZUEVTX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NZU19TVEFUX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc3RhdC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU19TVEFUX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NURExJQl9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkbGliLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1RETElCX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUklOR19IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5nLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1RSSU5HX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX01FTU9SWV9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWVtb3J5Lmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTUVNT1JZX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUklOR1NfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0cmluZ3MuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TVFJJTkdTX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0lOVFRZUEVTX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxpbnR0eXBlcy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0lOVFRZUEVTX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NURElOVF9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkaW50Lmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1RESU5UX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1VOSVNURF9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfVU5JU1REX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW19QT1NJWF9TT1VSQ0VdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXl9QT1NJWF9TT1VSQ0UkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIEFIX09VVFBVVChbX1BPU0lYX1NPVVJDRV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgbmVlZCB0byBpbiBvcmRlciBmb3IgYHN0YXRcJyBhbmQgb3RoZXIgdGhpbmdzIHRvIHdvcmsuICovCisjdW5kZWYgX1BPU0lYX1NPVVJDRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbX1BPU0lYXzFfU09VUkNFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15fUE9TSVhfMV9TT1VSQ0UkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIEFIX09VVFBVVChbX1BPU0lYXzFfU09VUkNFXSwgWy8qIERlZmluZSB0byAyIGlmIHRoZSBzeXN0ZW0gZG9lcyBub3QgcHJvdmlkZSBQT1NJWC4xIGZlYXR1cmVzIGV4Y2VwdCB3aXRoCisgICB0aGlzIGRlZmluZWQuICovCisjdW5kZWYgX1BPU0lYXzFfU09VUkNFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtfTUlOSVhdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXl9NSU5JWCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gQUhfT1VUUFVUKFtfTUlOSVhdLCBbLyogRGVmaW5lIHRvIDEgaWYgb24gTUlOSVguICovCisjdW5kZWYgX01JTklYXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIEFIX09VVFBVVChbVVNFX1NZU1RFTV9FWFRFTlNJT05TXSwgWy8qIEVuYWJsZSBleHRlbnNpb25zIG9uIEFJWCAzLCBJbnRlcml4LiAgKi8KKyNpZm5kZWYgX0FMTF9TT1VSQ0UKKyMgdW5kZWYgX0FMTF9TT1VSQ0UKKyNlbmRpZgorLyogRW5hYmxlIEdOVSBleHRlbnNpb25zIG9uIHN5c3RlbXMgdGhhdCBoYXZlIHRoZW0uICAqLworI2lmbmRlZiBfR05VX1NPVVJDRQorIyB1bmRlZiBfR05VX1NPVVJDRQorI2VuZGlmCisvKiBFbmFibGUgdGhyZWFkaW5nIGV4dGVuc2lvbnMgb24gU29sYXJpcy4gICovCisjaWZuZGVmIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUworIyB1bmRlZiBfUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MKKyNlbmRpZgorLyogRW5hYmxlIGV4dGVuc2lvbnMgb24gSFAgTm9uU3RvcC4gICovCisjaWZuZGVmIF9UQU5ERU1fU09VUkNFCisjIHVuZGVmIF9UQU5ERU1fU09VUkNFCisjZW5kaWYKKy8qIEVuYWJsZSBnZW5lcmFsIGV4dGVuc2lvbnMgb24gU29sYXJpcy4gICovCisjaWZuZGVmIF9fRVhURU5TSU9OU19fCisjIHVuZGVmIF9fRVhURU5TSU9OU19fCisjZW5kaWYKK10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbX19FWFRFTlNJT05TX19dKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXl9fRVhURU5TSU9OU19fJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbX0FMTF9TT1VSQ0VdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXl9BTExfU09VUkNFJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbX0dOVV9TT1VSQ0VdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Mzg0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXl9HTlVfU09VUkNFJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15fUE9TSVhfUFRIUkVBRF9TRU1BTlRJQ1MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtfVEFOREVNX1NPVVJDRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteX1RBTkRFTV9TT1VSQ0UkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtfRklMRV9PRkZTRVRfQklUU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODY6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteX0ZJTEVfT0ZGU0VUX0JJVFMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NjogLTEtIEFIX09VVFBVVChbX0ZJTEVfT0ZGU0VUX0JJVFNdLCBbLyogTnVtYmVyIG9mIGJpdHMgaW4gYSBmaWxlIG9mZnNldCwgb24gaG9zdHMgd2hlcmUgdGhpcyBpcyBzZXR0YWJsZS4gKi8KKyN1bmRlZiBfRklMRV9PRkZTRVRfQklUU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjozODY6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbX0xBUkdFX0ZJTEVTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15fTEFSR0VfRklMRVMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjM4NjogLTEtIEFIX09VVFBVVChbX0xBUkdFX0ZJTEVTXSwgWy8qIERlZmluZSBmb3IgbGFyZ2UgZmlsZXMsIG9uIEFJWC1zdHlsZSBob3N0cy4gKi8KKyN1bmRlZiBfTEFSR0VfRklMRVNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDIzOiAtMS0gQUNfU1VCU1QoW0NST1NTX0NPTVBJTEVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDIzOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0NST1NTX0NPTVBJTEVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDIzOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkNST1NTX0NPTVBJTEUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQyNTogLTEtIEFDX1NVQlNUKFtTSUdOQU1FU19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQyNTogLTEtIEFDX1NVQlNUX1RSQUNFKFtTSUdOQU1FU19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQyNTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TSUdOQU1FU19IJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0MjY6IC0xLSBBQ19TVUJTVChbU0lHTkFNRVNfT10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0MjY6IC0xLSBBQ19TVUJTVF9UUkFDRShbU0lHTkFNRVNfT10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0MjY6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteU0lHTkFNRVNfTyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDM1OiAtMS0gQUNfU1VCU1QoW0NDX0ZPUl9CVUlMRF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0MzU6IC0xLSBBQ19TVUJTVF9UUkFDRShbQ0NfRk9SX0JVSUxEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQzNTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15DQ19GT1JfQlVJTEQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ1ODogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYGFjX2N2X3Byb2dfZ2NjJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9jLm00OjUzODogYWNfY3ZfcHJvZ19nY2MgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjQ1ODogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0Nzc6IC0xLSBBQ19TVUJTVChbQ0ZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ3NzogLTEtIEFDX1NVQlNUX1RSQUNFKFtDRkxBR1NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDc3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkNGTEFHUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDc4OiAtMS0gQUNfU1VCU1QoW0NQUEZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ3ODogLTEtIEFDX1NVQlNUX1RSQUNFKFtDUFBGTEFHU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0Nzg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQ1BQRkxBR1MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ3OTogLTEtIEFDX1NVQlNUKFtMREZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ3OTogLTEtIEFDX1NVQlNUX1RSQUNFKFtMREZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ3OTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MREZMQUdTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0ODA6IC0xLSBBQ19TVUJTVChbU1RBVElDX0xEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ4MDogLTEtIEFDX1NVQlNUX1RSQUNFKFtTVEFUSUNfTERdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDgwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNUQVRJQ19MRCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDgyOiAtMS0gQUNfU1VCU1QoW0NGTEFHU19GT1JfQlVJTERdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDgyOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0NGTEFHU19GT1JfQlVJTERdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDgyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkNGTEFHU19GT1JfQlVJTEQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ4MzogLTEtIEFDX1NVQlNUKFtDUFBGTEFHU19GT1JfQlVJTERdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDgzOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0NQUEZMQUdTX0ZPUl9CVUlMRF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0ODM6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQ1BQRkxBR1NfRk9SX0JVSUxEJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0ODQ6IC0xLSBBQ19TVUJTVChbTERGTEFHU19GT1JfQlVJTERdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDg0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xERkxBR1NfRk9SX0JVSUxEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ4NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MREZMQUdTX0ZPUl9CVUlMRCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDk4OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX1JVTicgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTkyOiBBQ19UUllfUlVOIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoxNzYzOiBSTF9MSUJfUkVBRExJTkVfVkVSU0lPTiBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46NDk4OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ5ODogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtSTF9SRUFETElORV9WRVJTSU9OXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ5ODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15STF9SRUFETElORV9WRVJTSU9OJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0OTg6IC0xLSBBSF9PVVRQVVQoW1JMX1JFQURMSU5FX1ZFUlNJT05dLCBbLyogZW5jb2RlZCB2ZXJzaW9uIG9mIHRoZSBpbnN0YWxsZWQgcmVhZGxpbmUgbGlicmFyeSAqLworI3VuZGVmIFJMX1JFQURMSU5FX1ZFUlNJT05dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDk4OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1JMX1ZFUlNJT05fTUFKT1JdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDk4OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlJMX1ZFUlNJT05fTUFKT1IkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ5ODogLTEtIEFIX09VVFBVVChbUkxfVkVSU0lPTl9NQUpPUl0sIFsvKiBtYWpvciB2ZXJzaW9uIG9mIGluc3RhbGxlZCByZWFkbGluZSBsaWJyYXJ5ICovCisjdW5kZWYgUkxfVkVSU0lPTl9NQUpPUl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0OTg6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbUkxfVkVSU0lPTl9NSU5PUl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0OTg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUkxfVkVSU0lPTl9NSU5PUiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDk4OiAtMS0gQUhfT1VUUFVUKFtSTF9WRVJTSU9OX01JTk9SXSwgWy8qIG1pbm9yIHZlcnNpb24gb2YgaW5zdGFsbGVkIHJlYWRsaW5lIGxpYnJhcnkgKi8KKyN1bmRlZiBSTF9WRVJTSU9OX01JTk9SXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ5ODogLTEtIEFDX1NVQlNUKFtSTF9WRVJTSU9OXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ5ODogLTEtIEFDX1NVQlNUX1RSQUNFKFtSTF9WRVJTSU9OXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ5ODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15STF9WRVJTSU9OJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0OTg6IC0xLSBBQ19TVUJTVChbUkxfTUFKT1JdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDk4OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1JMX01BSk9SXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ5ODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15STF9NQUpPUiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NDk4OiAtMS0gQUNfU1VCU1QoW1JMX01JTk9SXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjQ5ODogLTEtIEFDX1NVQlNUX1RSQUNFKFtSTF9NSU5PUl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo0OTg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUkxfTUlOT1IkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjUxMTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtSRUFETElORV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1MTE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUkVBRExJTkUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU0NjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtISVNUT1JZXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU0NjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15ISVNUT1JZJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1NDk6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbQkFOR19ISVNUT1JZXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU0OTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15CQU5HX0hJU1RPUlkkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU3OTogLTEtIEFDX1NVQlNUKFtSRUFETElORV9MSUJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTc5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1JFQURMSU5FX0xJQl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1Nzk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUkVBRExJTkVfTElCJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1ODA6IC0xLSBBQ19TVUJTVChbUkVBRExJTkVfREVQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU4MDogLTEtIEFDX1NVQlNUX1RSQUNFKFtSRUFETElORV9ERVBdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTgwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlJFQURMSU5FX0RFUCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTgxOiAtMS0gQUNfU1VCU1QoW1JMX0xJQkRJUl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1ODE6IC0xLSBBQ19TVUJTVF9UUkFDRShbUkxfTElCRElSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU4MTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15STF9MSUJESVIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU4MjogLTEtIEFDX1NVQlNUKFtSTF9JTkNMVURFRElSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU4MjogLTEtIEFDX1NVQlNUX1RSQUNFKFtSTF9JTkNMVURFRElSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU4MjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15STF9JTkNMVURFRElSJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1ODM6IC0xLSBBQ19TVUJTVChbUkxfSU5DTFVERV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1ODM6IC0xLSBBQ19TVUJTVF9UUkFDRShbUkxfSU5DTFVERV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1ODM6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUkxfSU5DTFVERSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTg0OiAtMS0gQUNfU1VCU1QoW0hJU1RPUllfTElCXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU4NDogLTEtIEFDX1NVQlNUX1RSQUNFKFtISVNUT1JZX0xJQl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1ODQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSElTVE9SWV9MSUIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU4NTogLTEtIEFDX1NVQlNUKFtISVNUT1JZX0RFUF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1ODU6IC0xLSBBQ19TVUJTVF9UUkFDRShbSElTVE9SWV9ERVBdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTg1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhJU1RPUllfREVQJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1ODY6IC0xLSBBQ19TVUJTVChbSElTVF9MSUJESVJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTg2OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0hJU1RfTElCRElSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU4NjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15ISVNUX0xJQkRJUiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTg3OiAtMS0gQUNfU1VCU1QoW1RJTERFX0xJQl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1ODc6IC0xLSBBQ19TVUJTVF9UUkFDRShbVElMREVfTElCXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU4NzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15USUxERV9MSUIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU5MjogLTEtIEFDX1JFUVVJUkVfQVVYX0ZJTEUoW2luc3RhbGwtc2hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTkyOiAtMS0gQUNfU1VCU1QoW0lOU1RBTExfUFJPR1JBTV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1OTI6IC0xLSBBQ19TVUJTVF9UUkFDRShbSU5TVEFMTF9QUk9HUkFNXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU5MjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15JTlNUQUxMX1BST0dSQU0kXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU5MjogLTEtIEFDX1NVQlNUKFtJTlNUQUxMX1NDUklQVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1OTI6IC0xLSBBQ19TVUJTVF9UUkFDRShbSU5TVEFMTF9TQ1JJUFRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTkyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXklOU1RBTExfU0NSSVBUJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1OTI6IC0xLSBBQ19TVUJTVChbSU5TVEFMTF9EQVRBXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU5MjogLTEtIEFDX1NVQlNUX1RSQUNFKFtJTlNUQUxMX0RBVEFdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTkyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXklOU1RBTExfREFUQSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTkzOiAtMS0gQUNfU1VCU1QoW0FSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU5MzogLTEtIEFDX1NVQlNUX1RSQUNFKFtBUl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1OTM6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQVIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU5NzogLTEtIEFDX1NVQlNUKFtSQU5MSUJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTk3OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1JBTkxJQl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1OTc6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUkFOTElCJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1OTg6IC0xLSBBQ19TVUJTVChbWUFDQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1OTg6IC0xLSBBQ19TVUJTVF9UUkFDRShbWUFDQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1OTg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteWUFDQyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTk4OiAtMS0gQUNfU1VCU1QoW1lBQ0NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTk4OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1lBQ0NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTk4OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXllBQ0MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU5ODogLTEtIEFDX1NVQlNUKFtZRkxBR1NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTk4OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1lGTEFHU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1OTg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteWUZMQUdTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo1OTk6IC0xLSBBQ19TVUJTVChbU0VUX01BS0VdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NTk5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1NFVF9NQUtFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjU5OTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TRVRfTUFLRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjA1OiAtMS0gQUNfU1VCU1QoW01BS0VfU0hFTExdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjA1OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW01BS0VfU0hFTExdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjA1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXk1BS0VfU0hFTEwkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYyNzogLTEtIEFDX1NVQlNUKFtTSVpFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYyNzogLTEtIEFDX1NVQlNUX1RSQUNFKFtTSVpFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYyNzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TSVpFJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2MzA6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbX0dOVV9TT1VSQ0VdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjMwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXl9HTlVfU09VUkNFJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2MzM6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbY29uc3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjMzOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmNvbnN0JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2MzM6IC0xLSBBSF9PVVRQVVQoW2NvbnN0XSwgWy8qIERlZmluZSB0byBlbXB0eSBpZiBgY29uc3RcJyBkb2VzIG5vdCBjb25mb3JtIHRvIEFOU0kgQy4gKi8KKyN1bmRlZiBjb25zdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2MzQ6IC0xLSBBSF9PVVRQVVQoW2lubGluZV0sIFsvKiBEZWZpbmUgdG8gYF9faW5saW5lX19cJyBvciBgX19pbmxpbmVcJyBpZiB0aGF0XCdzIHdoYXQgdGhlIEMgY29tcGlsZXIKKyAgIGNhbGxzIGl0LCBvciB0byBub3RoaW5nIGlmIFwnaW5saW5lXCcgaXMgbm90IHN1cHBvcnRlZCB1bmRlciBhbnkgbmFtZS4gICovCisjaWZuZGVmIF9fY3BsdXNwbHVzCisjdW5kZWYgaW5saW5lCisjZW5kaWZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjM1OiAtMS0gQUhfT1VUUFVUKFtXT1JEU19CSUdFTkRJQU5dLCBbLyogRGVmaW5lIFdPUkRTX0JJR0VORElBTiB0byAxIGlmIHlvdXIgcHJvY2Vzc29yIHN0b3JlcyB3b3JkcyB3aXRoIHRoZSBtb3N0CisgICBzaWduaWZpY2FudCBieXRlIGZpcnN0IChsaWtlIE1vdG9yb2xhIGFuZCBTUEFSQywgdW5saWtlIEludGVsKS4gKi8KKyNpZiBkZWZpbmVkIEFDX0FQUExFX1VOSVZFUlNBTF9CVUlMRAorIyBpZiBkZWZpbmVkIF9fQklHX0VORElBTl9fCisjICBkZWZpbmUgV09SRFNfQklHRU5ESUFOIDEKKyMgZW5kaWYKKyNlbHNlCisjIGlmbmRlZiBXT1JEU19CSUdFTkRJQU4KKyMgIHVuZGVmIFdPUkRTX0JJR0VORElBTgorIyBlbmRpZgorI2VuZGlmXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYzNTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtXT1JEU19CSUdFTkRJQU5dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjM1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXldPUkRTX0JJR0VORElBTiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjM1OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0FDX0FQUExFX1VOSVZFUlNBTF9CVUlMRF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2MzU6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQUNfQVBQTEVfVU5JVkVSU0FMX0JVSUxEJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2MzU6IC0xLSBBSF9PVVRQVVQoW0FDX0FQUExFX1VOSVZFUlNBTF9CVUlMRF0sIFsvKiBEZWZpbmUgaWYgYnVpbGRpbmcgdW5pdmVyc2FsIChpbnRlcm5hbCBoZWxwZXIgbWFjcm8pICovCisjdW5kZWYgQUNfQVBQTEVfVU5JVkVSU0FMX0JVSUxEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYzNjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1NUUklOR0laRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2MzY6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9TVFJJTkdJWkUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYzNjogLTEtIEFIX09VVFBVVChbSEFWRV9TVFJJTkdJWkVdLCBbLyogRGVmaW5lIHRvIDEgaWYgY3BwIHN1cHBvcnRzIHRoZSBBTlNJIEAlOkAgc3RyaW5naXppbmcgb3BlcmF0b3IuICovCisjdW5kZWYgSEFWRV9TVFJJTkdJWkVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjM3OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfQ19MT05HX0RPVUJMRScgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvdHlwZXMubTQ6NDU1OiBBQ19DX0xPTkdfRE9VQkxFIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo2Mzc6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjM3OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfTE9OR19ET1VCTEVfV0lERVJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjM3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfTE9OR19ET1VCTEVfV0lERVIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYzNzogLTEtIEFIX09VVFBVVChbSEFWRV9MT05HX0RPVUJMRV9XSURFUl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB0aGUgdHlwZSBgbG9uZyBkb3VibGVcJyB3b3JrcyBhbmQgaGFzIG1vcmUgcmFuZ2Ugb3IgcHJlY2lzaW9uCisgICB0aGFuIGBkb3VibGVcJy4gKi8KKyN1bmRlZiBIQVZFX0xPTkdfRE9VQkxFX1dJREVSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYzNzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0xPTkdfRE9VQkxFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYzNzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0xPTkdfRE9VQkxFJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Mzc6IC0xLSBBSF9PVVRQVVQoW0hBVkVfTE9OR19ET1VCTEVdLCBbLyogRGVmaW5lIHRvIDEgaWYgdGhlIHR5cGUgYGxvbmcgZG91YmxlXCcgd29ya3MgYW5kIGhhcyBtb3JlIHJhbmdlIG9yIHByZWNpc2lvbgorICAgdGhhbiBgZG91YmxlXCcuICovCisjdW5kZWYgSEFWRV9MT05HX0RPVUJMRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Mzg6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbUFJPVE9UWVBFU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Mzg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUFJPVE9UWVBFUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjM4OiAtMS0gQUhfT1VUUFVUKFtQUk9UT1RZUEVTXSwgWy8qIERlZmluZSB0byAxIGlmIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRzIGZ1bmN0aW9uIHByb3RvdHlwZXMuICovCisjdW5kZWYgUFJPVE9UWVBFU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Mzg6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbX19QUk9UT1RZUEVTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYzODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15fX1BST1RPVFlQRVMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYzODogLTEtIEFIX09VVFBVVChbX19QUk9UT1RZUEVTXSwgWy8qIERlZmluZSBsaWtlIFBST1RPVFlQRVM7IHRoaXMgY2FuIGJlIHVzZWQgYnkgc3lzdGVtIGhlYWRlcnMuICovCisjdW5kZWYgX19QUk9UT1RZUEVTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYzOTogLTEtIEFIX09VVFBVVChbX19DSEFSX1VOU0lHTkVEX19dLCBbLyogRGVmaW5lIHRvIDEgaWYgdHlwZSBgY2hhclwnIGlzIHVuc2lnbmVkIGFuZCB5b3UgYXJlIG5vdCB1c2luZyBnY2MuICAqLworI2lmbmRlZiBfX0NIQVJfVU5TSUdORURfXworIyB1bmRlZiBfX0NIQVJfVU5TSUdORURfXworI2VuZGlmXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjYzOTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtfX0NIQVJfVU5TSUdORURfX10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Mzk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteX19DSEFSX1VOU0lHTkVEX18kXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0MDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFt2b2xhdGlsZV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtedm9sYXRpbGUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0MDogLTEtIEFIX09VVFBVVChbdm9sYXRpbGVdLCBbLyogRGVmaW5lIHRvIGVtcHR5IGlmIHRoZSBrZXl3b3JkIGB2b2xhdGlsZVwnIGRvZXMgbm90IHdvcmsuIFdhcm5pbmc6IHZhbGlkCisgICBjb2RlIHVzaW5nIGB2b2xhdGlsZVwnIGNhbiBiZWNvbWUgaW5jb3JyZWN0IHdpdGhvdXQuIERpc2FibGUgd2l0aCBjYXJlLiAqLworI3VuZGVmIHZvbGF0aWxlXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0MTogLTEtIEFIX09VVFBVVChbcmVzdHJpY3RdLCBbLyogRGVmaW5lIHRvIHRoZSBlcXVpdmFsZW50IG9mIHRoZSBDOTkgXCdyZXN0cmljdFwnIGtleXdvcmQsIG9yIHRvCisgICBub3RoaW5nIGlmIHRoaXMgaXMgbm90IHN1cHBvcnRlZC4gIERvIG5vdCBkZWZpbmUgaWYgcmVzdHJpY3QgaXMKKyAgIHN1cHBvcnRlZCBkaXJlY3RseS4gICovCisjdW5kZWYgcmVzdHJpY3QKKy8qIFdvcmsgYXJvdW5kIGEgYnVnIGluIFN1biBDKys6IGl0IGRvZXMgbm90IHN1cHBvcnQgX1Jlc3RyaWN0LCBldmVuCisgICB0aG91Z2ggdGhlIGNvcnJlc3BvbmRpbmcgU3VuIEMgY29tcGlsZXIgZG9lcywgd2hpY2ggY2F1c2VzCisgICAiI2RlZmluZSByZXN0cmljdCBfUmVzdHJpY3QiIGluIHRoZSBwcmV2aW91cyBsaW5lLiAgUGVyaGFwcyBzb21lIGZ1dHVyZQorICAgdmVyc2lvbiBvZiBTdW4gQysrIHdpbGwgd29yayB3aXRoIF9SZXN0cmljdDsgaWYgc28sIGl0XCdsbCBwcm9iYWJseQorICAgZGVmaW5lIF9fUkVTVFJJQ1QsIGp1c3QgYXMgU3VuIEMgZG9lcy4gICovCisjaWYgZGVmaW5lZCBfX1NVTlBST19DQyAmJiAhZGVmaW5lZCBfX1JFU1RSSUNUCisjIGRlZmluZSBfUmVzdHJpY3QKKyNlbmRpZl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDE6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbcmVzdHJpY3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQxOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnJlc3RyaWN0JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDE6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbcmVzdHJpY3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQxOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnJlc3RyaWN0JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBTV9HTlVfR0VUVEVYVChbbm8tbGlidG9vbF0sIFtuZWVkLW5nZXR0ZXh0XSwgW2xpYi9pbnRsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUKFtNS0lOU1RBTExESVJTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUX1RSQUNFKFtNS0lOU1RBTExESVJTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15NS0lOU1RBTExESVJTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVChbVVNFX05MU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVF9UUkFDRShbVVNFX05MU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteVVNFX05MUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1QoW01TR0ZNVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVF9UUkFDRShbTVNHRk1UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15NU0dGTVQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUKFtHTVNHRk1UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUX1RSQUNFKFtHTVNHRk1UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15HTVNHRk1UJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVChbWEdFVFRFWFRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1hHRVRURVhUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15YR0VUVEVYVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1QoW01TR01FUkdFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUX1RSQUNFKFtNU0dNRVJHRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteTVNHTUVSR0UkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX09VVFBVVF9DT01NQU5EUycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvc3RhdHVzLm00OjEwMjI6IEFDX09VVFBVVF9DT01NQU5EUyBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjM2NjQ6IEFNX1BPX1NVQkRJUlMgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyMDY4OiBBTV9HTlVfR0VUVEVYVCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46NjQ0OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtvZmZfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteb2ZmX3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbb2ZmX3RdLCBbLyogRGVmaW5lIHRvIGBsb25nIGludFwnIGlmIDxzeXMvdHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLworI3VuZGVmIG9mZl90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtzaXplX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnNpemVfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtzaXplX3RdLCBbLyogRGVmaW5lIHRvIGB1bnNpZ25lZCBpbnRcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiBzaXplX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfQUxMT0NBX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfQUxMT0NBX0gkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9BTExPQ0FfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSA8YWxsb2NhLmg+IGFuZCBpdCBzaG91bGQgYmUgdXNlZCAobm90IG9uIFVsdHJpeCkuCisgICAqLworI3VuZGVmIEhBVkVfQUxMT0NBX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfQUxMT0NBXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0FMTE9DQSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0FMTE9DQV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBgYWxsb2NhXCcsIGFzIGEgZnVuY3Rpb24gb3IgbWFjcm8uICovCisjdW5kZWYgSEFWRV9BTExPQ0FdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfTElCU09VUkNFKFthbGxvY2EuY10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVChbQUxMT0NBXSwgW1wke0xJQk9CSkRJUn1hbGxvY2EuJGFjX29iamV4dF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVF9UUkFDRShbQUxMT0NBXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15BTExPQ0EkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtDX0FMTE9DQV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQ19BTExPQ0EkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbQ19BTExPQ0FdLCBbLyogRGVmaW5lIHRvIDEgaWYgdXNpbmcgYGFsbG9jYS5jXCcuICovCisjdW5kZWYgQ19BTExPQ0FdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0NSQVlfU1RBQ0tTRUdfRU5EXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15DUkFZX1NUQUNLU0VHX0VORCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtDUkFZX1NUQUNLU0VHX0VORF0sIFsvKiBEZWZpbmUgdG8gb25lIG9mIGBfZ2V0YjY3XCcsIGBHRVRCNjdcJywgYGdldGI2N1wnIGZvciBDcmF5LTIgYW5kIENyYXktWU1QCisgICBzeXN0ZW1zLiBUaGlzIGZ1bmN0aW9uIGlzIHJlcXVpcmVkIGZvciBgYWxsb2NhLmNcJyBzdXBwb3J0IG9uIHRob3NlIHN5c3RlbXMuCisgICAqLworI3VuZGVmIENSQVlfU1RBQ0tTRUdfRU5EXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbU1RBQ0tfRElSRUNUSU9OXSwgWy8qIElmIHVzaW5nIHRoZSBDIGltcGxlbWVudGF0aW9uIG9mIGFsbG9jYSwgZGVmaW5lIGlmIHlvdSBrbm93IHRoZQorICAgZGlyZWN0aW9uIG9mIHN0YWNrIGdyb3d0aCBmb3IgeW91ciBzeXN0ZW07IG90aGVyd2lzZSBpdCB3aWxsIGJlCisgICBhdXRvbWF0aWNhbGx5IGRlZHVjZWQgYXQgcnVudGltZS4KKwlTVEFDS19ESVJFQ1RJT04gPiAwID0+IGdyb3dzIHRvd2FyZCBoaWdoZXIgYWRkcmVzc2VzCisJU1RBQ0tfRElSRUNUSU9OIDwgMCA9PiBncm93cyB0b3dhcmQgbG93ZXIgYWRkcmVzc2VzCisJU1RBQ0tfRElSRUNUSU9OID0gMCA9PiBkaXJlY3Rpb24gb2YgZ3Jvd3RoIHVua25vd24gKi8KK0AlOkB1bmRlZiBTVEFDS19ESVJFQ1RJT05dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1NUQUNLX0RJUkVDVElPTl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteU1RBQ0tfRElSRUNUSU9OJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU1RETElCX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRsaWIuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TVERMSUJfSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfVU5JU1REX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx1bmlzdGQuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9VTklTVERfSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfR0VUUEFHRVNJWkVdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRwYWdlc2l6ZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUUEFHRVNJWkVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfTU1BUF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9NTUFQJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfTU1BUF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSBhIHdvcmtpbmcgYG1tYXBcJyBzeXN0ZW0gY2FsbC4gKi8KKyN1bmRlZiBIQVZFX01NQVBdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1QoW0dMSUJDMjFdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0dMSUJDMjFdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkdMSUJDMjEkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9SVU4nIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjU5MjogQUNfVFJZX1JVTiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MjU3MDogZ3RfSU5URElWMCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjIzNTY6IEFNX0lOVExfU1VCRElSIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MjA2ODogQU1fR05VX0dFVFRFWFQgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjY0NDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSU5URElWMF9SQUlTRVNfU0lHRlBFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15JTlRESVYwX1JBSVNFU19TSUdGUEUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSU5URElWMF9SQUlTRVNfU0lHRlBFXSwgWy8qIERlZmluZSBpZiBpbnRlZ2VyIGRpdmlzaW9uIGJ5IHplcm8gcmFpc2VzIHNpZ25hbCBTSUdGUEUuICovCisjdW5kZWYgSU5URElWMF9SQUlTRVNfU0lHRlBFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9DT01QSUxFJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI0NzA6IEFDX1RSWV9DT01QSUxFIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk5NDogQUNfQ0FDSEVfQ0hFQ0sgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyNjcyOiBqbV9BQ19IRUFERVJfSU5UVFlQRVNfSCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjM5NzM6IGptX0FDX1RZUEVfVUlOVE1BWF9UIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MjM1NjogQU1fSU5UTF9TVUJESVIgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyMDY4OiBBTV9HTlVfR0VUVEVYVCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46NjQ0OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0lOVFRZUEVTX0hfV0lUSF9VSU5UTUFYXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0lOVFRZUEVTX0hfV0lUSF9VSU5UTUFYJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfSU5UVFlQRVNfSF9XSVRIX1VJTlRNQVhdLCBbLyogRGVmaW5lIGlmIDxpbnR0eXBlcy5oPiBleGlzdHMsIGRvZXNuXCd0IGNsYXNoIHdpdGggPHN5cy90eXBlcy5oPiwgYW5kCisgICBkZWNsYXJlcyB1aW50bWF4X3QuICovCisjdW5kZWYgSEFWRV9JTlRUWVBFU19IX1dJVEhfVUlOVE1BWF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfQ09NUElMRScgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDcwOiBBQ19UUllfQ09NUElMRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6Mzk0Mzogam1fQUNfSEVBREVSX1NURElOVF9IIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6Mzk3Mzogam1fQUNfVFlQRV9VSU5UTUFYX1QgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyMzU2OiBBTV9JTlRMX1NVQkRJUiBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjIwNjg6IEFNX0dOVV9HRVRURVhUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo2NDQ6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfU1RESU5UX0hfV0lUSF9VSU5UTUFYXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1NURElOVF9IX1dJVEhfVUlOVE1BWCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NURElOVF9IX1dJVEhfVUlOVE1BWF0sIFsvKiBEZWZpbmUgaWYgPHN0ZGludC5oPiBleGlzdHMsIGRvZXNuXCd0IGNsYXNoIHdpdGggPHN5cy90eXBlcy5oPiwgYW5kIGRlY2xhcmVzCisgICB1aW50bWF4X3QuICovCisjdW5kZWYgSEFWRV9TVERJTlRfSF9XSVRIX1VJTlRNQVhdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0xJTksnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjUyNzogQUNfVFJZX0xJTksgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTk0OiBBQ19DQUNIRV9DSEVDSyBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjQwMDA6IGptX0FDX1RZUEVfVU5TSUdORURfTE9OR19MT05HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6Mzk3Mzogam1fQUNfVFlQRV9VSU5UTUFYX1QgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyMzU2OiBBTV9JTlRMX1NVQkRJUiBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjIwNjg6IEFNX0dOVV9HRVRURVhUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo2NDQ6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfVU5TSUdORURfTE9OR19MT05HXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1VOU0lHTkVEX0xPTkdfTE9ORyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1VOU0lHTkVEX0xPTkdfTE9OR10sIFsvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHVuc2lnbmVkIGxvbmcgbG9uZyB0eXBlLiAqLworI3VuZGVmIEhBVkVfVU5TSUdORURfTE9OR19MT05HXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFt1aW50bWF4X3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnVpbnRtYXhfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFt1aW50bWF4X3RdLCBbLyogRGVmaW5lIHRvIHVuc2lnbmVkIGxvbmcgb3IgdW5zaWduZWQgbG9uZyBsb25nIGlmIDxzdGRpbnQuaD4gYW5kCisgICA8aW50dHlwZXMuaD4gZG9uXCd0IGRlZmluZS4gKi8KKyN1bmRlZiB1aW50bWF4X3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfVUlOVE1BWF9UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1VJTlRNQVhfVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1VJTlRNQVhfVF0sIFsvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIFwndWludG1heF90XCcgdHlwZSBpbiA8c3RkaW50Lmg+IG9yIDxpbnR0eXBlcy5oPi4gKi8KKyN1bmRlZiBIQVZFX1VJTlRNQVhfVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfQ09NUElMRScgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDcwOiBBQ19UUllfQ09NUElMRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MjY0NTogZ3RfSEVBREVSX0lOVFRZUEVTX0ggaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyMzU2OiBBTV9JTlRMX1NVQkRJUiBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjIwNjg6IEFNX0dOVV9HRVRURVhUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo2NDQ6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfSU5UVFlQRVNfSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9JTlRUWVBFU19IJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfSU5UVFlQRVNfSF0sIFsvKiBEZWZpbmUgaWYgPGludHR5cGVzLmg+IGV4aXN0cyBhbmQgZG9lc25cJ3QgY2xhc2ggd2l0aCA8c3lzL3R5cGVzLmg+LiAqLworI3VuZGVmIEhBVkVfSU5UVFlQRVNfSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfQ09NUElMRScgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDcwOiBBQ19UUllfQ09NUElMRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MjcwMDogZ3RfSU5UVFlQRVNfUFJJIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MjM1NjogQU1fSU5UTF9TVUJESVIgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyMDY4OiBBTV9HTlVfR0VUVEVYVCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46NjQ0OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtQUklfTUFDUk9TX0JST0tFTl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUFJJX01BQ1JPU19CUk9LRU4kXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbUFJJX01BQ1JPU19CUk9LRU5dLCBbLyogRGVmaW5lIGlmIDxpbnR0eXBlcy5oPiBleGlzdHMgYW5kIGRlZmluZXMgdW51c2FibGUgUFJJKiBtYWNyb3MuICovCisjdW5kZWYgUFJJX01BQ1JPU19CUk9LRU5dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0FSR1pfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFyZ3ouaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9BUkdaX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0xJTUlUU19IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGltaXRzLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTElNSVRTX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0xPQ0FMRV9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bG9jYWxlLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTE9DQUxFX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX05MX1RZUEVTX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxubF90eXBlcy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX05MX1RZUEVTX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX01BTExPQ19IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWFsbG9jLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTUFMTE9DX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NURERFRl9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkZGVmLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1REREVGX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NURExJQl9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkbGliLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1RETElCX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUklOR19IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5nLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1RSSU5HX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1VOSVNURF9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfVU5JU1REX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NZU19QQVJBTV9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3BhcmFtLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1BBUkFNX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0ZFT0ZfVU5MT0NLRURdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmZW9mX3VubG9ja2VkXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9GRU9GX1VOTE9DS0VEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9GR0VUU19VTkxPQ0tFRF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZnZXRzX3VubG9ja2VkXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9GR0VUU19VTkxPQ0tFRF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfR0VUQ19VTkxPQ0tFRF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldGNfdW5sb2NrZWRcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0dFVENfVU5MT0NLRURdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0dFVENXRF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldGN3ZFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUQ1dEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9HRVRFR0lEXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0ZWdpZFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VURUdJRF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfR0VURVVJRF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldGV1aWRcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0dFVEVVSURdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0dFVEdJRF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldGdpZFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUR0lEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9HRVRVSURdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXR1aWRcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0dFVFVJRF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfTUVNUENQWV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1lbXBjcHlcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX01FTVBDUFldKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX01VTk1BUF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG11bm1hcFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfTVVOTUFQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9QVVRFTlZdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwdXRlbnZcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1BVVEVOVl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU0VURU5WXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0ZW52XCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TRVRFTlZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NFVExPQ0FMRV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldGxvY2FsZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU0VUTE9DQUxFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9MT0NBTEVDT05WXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbG9jYWxlY29udlwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfTE9DQUxFQ09OVl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU1RQQ1BZXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RwY3B5XCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFBDUFldKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUkNBU0VDTVBdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJjYXNlY21wXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFJDQVNFQ01QXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9TVFJEVVBdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJkdXBcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NUUkRVUF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU1RSVE9VTF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cnRvdWxcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NUUlRPVUxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1RTRUFSQ0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB0c2VhcmNoXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9UU0VBUkNIXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9fX0FSR1pfQ09VTlRdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBfX2FyZ3pfY291bnRcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX19fQVJHWl9DT1VOVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfX19BUkdaX1NUUklOR0lGWV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYF9fYXJnel9zdHJpbmdpZnlcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX19fQVJHWl9TVFJJTkdJRlldKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX19fQVJHWl9ORVhUXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgX19hcmd6X25leHRcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX19fQVJHWl9ORVhUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9fX0ZTRVRMT0NLSU5HXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgX19mc2V0bG9ja2luZ1wnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfX19GU0VUTE9DS0lOR10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MjQ3ODogQU1fSUNPTlZfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjI1MzM6IEFNX0lDT05WIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MjM1NjogQU1fSU5UTF9TVUJESVIgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyMDY4OiBBTV9HTlVfR0VUVEVYVCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46NjQ0OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9MSU5LJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1Mjc6IEFDX1RSWV9MSU5LIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk5NDogQUNfQ0FDSEVfQ0hFQ0sgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyNDc4OiBBTV9JQ09OVl9MSU5LIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MjUzMzogQU1fSUNPTlYgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyMzU2OiBBTV9JTlRMX1NVQkRJUiBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjIwNjg6IEFNX0dOVV9HRVRURVhUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo2NDQ6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfSUNPTlZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfSUNPTlYkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9JQ09OVl0sIFsvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGljb252KCkgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9JQ09OVl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVChbTElCSUNPTlZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xJQklDT05WXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MSUJJQ09OViRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1QoW0xUTElCSUNPTlZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xUTElCSUNPTlZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkxUTElCSUNPTlYkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9DT01QSUxFJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI0NzA6IEFDX1RSWV9DT01QSUxFIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyNTMzOiBBTV9JQ09OViBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjIzNTY6IEFNX0lOVExfU1VCRElSIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MjA2ODogQU1fR05VX0dFVFRFWFQgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjY0NDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSUNPTlZfQ09OU1RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXklDT05WX0NPTlNUJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0lDT05WX0NPTlNUXSwgWy8qIERlZmluZSBhcyBjb25zdCBpZiB0aGUgZGVjbGFyYXRpb24gb2YgaWNvbnYoKSBuZWVkcyBjb25zdC4gKi8KKyN1bmRlZiBJQ09OVl9DT05TVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTk5NzogQU1fTEFOR0lORk9fQ09ERVNFVCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjIzNTY6IEFNX0lOVExfU1VCRElSIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MjA2ODogQU1fR05VX0dFVFRFWFQgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjY0NDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9MQU5HSU5GT19DT0RFU0VUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0xBTkdJTkZPX0NPREVTRVQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9MQU5HSU5GT19DT0RFU0VUXSwgWy8qIERlZmluZSBpZiB5b3UgaGF2ZSA8bGFuZ2luZm8uaD4gYW5kIG5sX2xhbmdpbmZvKENPREVTRVQpLiAqLworI3VuZGVmIEhBVkVfTEFOR0lORk9fQ09ERVNFVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6Mjc2NzogQU1fTENfTUVTU0FHRVMgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyMzU2OiBBTV9JTlRMX1NVQkRJUiBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjIwNjg6IEFNX0dOVV9HRVRURVhUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo2NDQ6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfTENfTUVTU0FHRVNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfTENfTUVTU0FHRVMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbSEFWRV9MQ19NRVNTQUdFU10sIFsvKiBEZWZpbmUgaWYgeW91ciA8bG9jYWxlLmg+IGZpbGUgZGVmaW5lcyBMQ19NRVNTQUdFUy4gKi8KKyN1bmRlZiBIQVZFX0xDX01FU1NBR0VTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUKFtJTlRMQklTT05dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0lOVExCSVNPTl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSU5UTEJJU09OJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVChbVVNFX05MU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVF9UUkFDRShbVVNFX05MU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteVVNFX05MUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0xJTksnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjUyNzogQUNfVFJZX0xJTksgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTk0OiBBQ19DQUNIRV9DSEVDSyBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjIwNjg6IEFNX0dOVV9HRVRURVhUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo2NDQ6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0xJTksnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjUyNzogQUNfVFJZX0xJTksgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTk0OiBBQ19DQUNIRV9DSEVDSyBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjIwNjg6IEFNX0dOVV9HRVRURVhUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo2NDQ6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0xJTksnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjUyNzogQUNfVFJZX0xJTksgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTk0OiBBQ19DQUNIRV9DSEVDSyBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjIwNjg6IEFNX0dOVV9HRVRURVhUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo2NDQ6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0VOQUJMRV9OTFNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkVOQUJMRV9OTFMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFIX09VVFBVVChbRU5BQkxFX05MU10sIFsvKiBEZWZpbmUgdG8gMSBpZiB0cmFuc2xhdGlvbiBvZiBwcm9ncmFtIG1lc3NhZ2VzIHRvIHRoZSB1c2VyXCdzIG5hdGl2ZQorICAgbGFuZ3VhZ2UgaXMgcmVxdWVzdGVkLiAqLworI3VuZGVmIEVOQUJMRV9OTFNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfR0VUVEVYVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9HRVRURVhUJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBSF9PVVRQVVQoW0hBVkVfR0VUVEVYVF0sIFsvKiBEZWZpbmUgaWYgdGhlIEdOVSBnZXR0ZXh0KCkgZnVuY3Rpb24gaXMgYWxyZWFkeSBwcmVzZW50IG9yIHByZWluc3RhbGxlZC4gKi8KKyN1bmRlZiBIQVZFX0dFVFRFWFRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfRENHRVRURVhUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0RDR0VUVEVYVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0RDR0VUVEVYVF0sIFsvKiBEZWZpbmUgaWYgdGhlIEdOVSBkY2dldHRleHQoKSBmdW5jdGlvbiBpcyBhbHJlYWR5IHByZXNlbnQgb3IgcHJlaW5zdGFsbGVkLgorICAgKi8KKyN1bmRlZiBIQVZFX0RDR0VUVEVYVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVChbQlVJTERfSU5DTFVERURfTElCSU5UTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVF9UUkFDRShbQlVJTERfSU5DTFVERURfTElCSU5UTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQlVJTERfSU5DTFVERURfTElCSU5UTCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1QoW1VTRV9JTkNMVURFRF9MSUJJTlRMXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUX1RSQUNFKFtVU0VfSU5DTFVERURfTElCSU5UTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteVVNFX0lOQ0xVREVEX0xJQklOVEwkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUKFtDQVRPQkpFWFRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0NBVE9CSkVYVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQ0FUT0JKRVhUJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVChbREFUQURJUk5BTUVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0RBVEFESVJOQU1FXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15EQVRBRElSTkFNRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1QoW0lOU1RPQkpFWFRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0lOU1RPQkpFWFRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXklOU1RPQkpFWFQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUKFtHRU5DQVRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0dFTkNBVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteR0VOQ0FUJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVChbSU5UTE9CSlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0lOVExPQkpTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15JTlRMT0JKUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1QoW0lOVExfTElCVE9PTF9TVUZGSVhfUFJFRklYXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUX1RSQUNFKFtJTlRMX0xJQlRPT0xfU1VGRklYX1BSRUZJWF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSU5UTF9MSUJUT09MX1NVRkZJWF9QUkVGSVgkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUKFtJTlRMTElCU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVF9UUkFDRShbSU5UTExJQlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXklOVExMSUJTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVChbTElCSU5UTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVF9UUkFDRShbTElCSU5UTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteTElCSU5UTCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gQUNfU1VCU1QoW0xUTElCSU5UTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVF9UUkFDRShbTFRMSUJJTlRMXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MVExJQklOVEwkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0NDogLTEtIEFDX1NVQlNUKFtQT1NVQl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDQ6IC0xLSBBQ19TVUJTVF9UUkFDRShbUE9TVUJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlBPU1VCJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDc6IC0xLSBBSF9PVVRQVVQoW0hBVkVfRElSRU5UX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxkaXJlbnQuaD4gaGVhZGVyIGZpbGUsIGFuZCBpdCBkZWZpbmVzIGBESVJcJy4KKyAgICovCisjdW5kZWYgSEFWRV9ESVJFTlRfSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDc6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU1lTX05ESVJfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9uZGlyLmg+IGhlYWRlciBmaWxlLCBhbmQgaXQgZGVmaW5lcyBgRElSXCcuCisgICAqLworI3VuZGVmIEhBVkVfU1lTX05ESVJfSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDc6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU1lTX0RJUl9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2Rpci5oPiBoZWFkZXIgZmlsZSwgYW5kIGl0IGRlZmluZXMgYERJUlwnLgorICAgKi8KKyN1bmRlZiBIQVZFX1NZU19ESVJfSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NDc6IC0xLSBBSF9PVVRQVVQoW0hBVkVfTkRJUl9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmRpci5oPiBoZWFkZXIgZmlsZSwgYW5kIGl0IGRlZmluZXMgYERJUlwnLiAqLworI3VuZGVmIEhBVkVfTkRJUl9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY0ODogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtUSU1FX1dJVEhfU1lTX1RJTUVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ4OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlRJTUVfV0lUSF9TWVNfVElNRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjQ4OiAtMS0gQUhfT1VUUFVUKFtUSU1FX1dJVEhfU1lTX1RJTUVdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGNhbiBzYWZlbHkgaW5jbHVkZSBib3RoIDxzeXMvdGltZS5oPiBhbmQgPHRpbWUuaD4uICovCisjdW5kZWYgVElNRV9XSVRIX1NZU19USU1FXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MDogLTEtIEFIX09VVFBVVChbSEFWRV9JTlRUWVBFU19IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8aW50dHlwZXMuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9JTlRUWVBFU19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9VTklTVERfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHVuaXN0ZC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1VOSVNURF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9TVERMSUJfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGxpYi5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NURExJQl9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9TVERBUkdfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGFyZy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NUREFSR19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9WQVJBUkdTX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx2YXJhcmdzLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfVkFSQVJHU19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9MSU1JVFNfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbWl0cy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0xJTUlUU19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9TVFJJTkdfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0cmluZy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NUUklOR19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9NRU1PUllfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG1lbW9yeS5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX01FTU9SWV9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9MT0NBTEVfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxvY2FsZS5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0xPQ0FMRV9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9URVJNQ0FQX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx0ZXJtY2FwLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfVEVSTUNBUF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9URVJNSU9fSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHRlcm1pby5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1RFUk1JT19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9URVJNSU9TX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx0ZXJtaW9zLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfVEVSTUlPU19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9ETEZDTl9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZGxmY24uaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9ETEZDTl9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9TVERERUZfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGRlZi5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NURERFRl9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9TVERJTlRfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGludC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NURElOVF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9ORVREQl9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmV0ZGIuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9ORVREQl9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9QV0RfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHB3ZC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1BXRF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9HUlBfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGdycC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0dSUF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9TVFJJTkdTX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdHJpbmdzLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1RSSU5HU19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1MjogLTEtIEFIX09VVFBVVChbSEFWRV9SRUdFWF9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8cmVnZXguaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9SRUdFWF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfUFRFX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvcHRlLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1BURV9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfU1RSRUFNX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc3RyZWFtLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1NUUkVBTV9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfU0VMRUNUX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc2VsZWN0Lmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1NFTEVDVF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfRklMRV9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2ZpbGUuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfRklMRV9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfUkVTT1VSQ0VfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9yZXNvdXJjZS5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU19SRVNPVVJDRV9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfUEFSQU1fSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9wYXJhbS5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU19QQVJBTV9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfU09DS0VUX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc29ja2V0Lmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1NPQ0tFVF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfU1RBVF9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3N0YXQuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfU1RBVF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfVElNRV9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3RpbWUuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfVElNRV9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfVElNRVNfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90aW1lcy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU19USU1FU19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfVFlQRVNfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90eXBlcy5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1NZU19UWVBFU19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1NTogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNfV0FJVF9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3dhaXQuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9TWVNfV0FJVF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1ODogLTEtIEFIX09VVFBVVChbSEFWRV9ORVRJTkVUX0lOX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuZXRpbmV0L2luLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTkVUSU5FVF9JTl9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY1ODogLTEtIEFIX09VVFBVVChbSEFWRV9BUlBBX0lORVRfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFycGEvaW5ldC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0FSUEFfSU5FVF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY2OTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0FMTE9DQV9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY2OTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0FMTE9DQV9IJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Njk6IC0xLSBBSF9PVVRQVVQoW0hBVkVfQUxMT0NBX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgPGFsbG9jYS5oPiBhbmQgaXQgc2hvdWxkIGJlIHVzZWQgKG5vdCBvbiBVbHRyaXgpLgorICAgKi8KKyN1bmRlZiBIQVZFX0FMTE9DQV9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY2OTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0FMTE9DQV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Njk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9BTExPQ0EkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY2OTogLTEtIEFIX09VVFBVVChbSEFWRV9BTExPQ0FdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgYGFsbG9jYVwnLCBhcyBhIGZ1bmN0aW9uIG9yIG1hY3JvLiAqLworI3VuZGVmIEhBVkVfQUxMT0NBXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY2OTogLTEtIEFDX0xJQlNPVVJDRShbYWxsb2NhLmNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjY5OiAtMS0gQUNfU1VCU1QoW0FMTE9DQV0sIFtcJHtMSUJPQkpESVJ9YWxsb2NhLiRhY19vYmpleHRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjY5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0FMTE9DQV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Njk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQUxMT0NBJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Njk6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbQ19BTExPQ0FdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjY5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkNfQUxMT0NBJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Njk6IC0xLSBBSF9PVVRQVVQoW0NfQUxMT0NBXSwgWy8qIERlZmluZSB0byAxIGlmIHVzaW5nIGBhbGxvY2EuY1wnLiAqLworI3VuZGVmIENfQUxMT0NBXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY2OTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtDUkFZX1NUQUNLU0VHX0VORF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Njk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQ1JBWV9TVEFDS1NFR19FTkQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY2OTogLTEtIEFIX09VVFBVVChbQ1JBWV9TVEFDS1NFR19FTkRdLCBbLyogRGVmaW5lIHRvIG9uZSBvZiBgX2dldGI2N1wnLCBgR0VUQjY3XCcsIGBnZXRiNjdcJyBmb3IgQ3JheS0yIGFuZCBDcmF5LVlNUAorICAgc3lzdGVtcy4gVGhpcyBmdW5jdGlvbiBpcyByZXF1aXJlZCBmb3IgYGFsbG9jYS5jXCcgc3VwcG9ydCBvbiB0aG9zZSBzeXN0ZW1zLgorICAgKi8KKyN1bmRlZiBDUkFZX1NUQUNLU0VHX0VORF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2Njk6IC0xLSBBSF9PVVRQVVQoW1NUQUNLX0RJUkVDVElPTl0sIFsvKiBJZiB1c2luZyB0aGUgQyBpbXBsZW1lbnRhdGlvbiBvZiBhbGxvY2EsIGRlZmluZSBpZiB5b3Uga25vdyB0aGUKKyAgIGRpcmVjdGlvbiBvZiBzdGFjayBncm93dGggZm9yIHlvdXIgc3lzdGVtOyBvdGhlcndpc2UgaXQgd2lsbCBiZQorICAgYXV0b21hdGljYWxseSBkZWR1Y2VkIGF0IHJ1bnRpbWUuCisJU1RBQ0tfRElSRUNUSU9OID4gMCA9PiBncm93cyB0b3dhcmQgaGlnaGVyIGFkZHJlc3NlcworCVNUQUNLX0RJUkVDVElPTiA8IDAgPT4gZ3Jvd3MgdG93YXJkIGxvd2VyIGFkZHJlc3NlcworCVNUQUNLX0RJUkVDVElPTiA9IDAgPT4gZGlyZWN0aW9uIG9mIGdyb3d0aCB1bmtub3duICovCitAJTpAdW5kZWYgU1RBQ0tfRElSRUNUSU9OXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY2OTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtTVEFDS19ESVJFQ1RJT05dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjY5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNUQUNLX0RJUkVDVElPTiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjcwOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0dFVFBHUlBfVk9JRF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NzA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteR0VUUEdSUF9WT0lEJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NzA6IC0xLSBBSF9PVVRQVVQoW0dFVFBHUlBfVk9JRF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB0aGUgYGdldHBncnBcJyBmdW5jdGlvbiByZXF1aXJlcyB6ZXJvIGFyZ3VtZW50cy4gKi8KKyN1bmRlZiBHRVRQR1JQX1ZPSURdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjcxOiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfRlVOQ19TRVRWQlVGX1JFVkVSU0VEJyBpcyBvYnNvbGV0ZS4gIFJlbW92ZSBpdCBhbmQgYWxsIHJlZmVyZW5jZXMgdG8gU0VUVkJVRl9SRVZFUlNFRC5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2Z1bmN0aW9ucy5tNDoxNjgwOiBBQ19GVU5DX1NFVFZCVUZfUkVWRVJTRUQgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjY3MTogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2NzI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfVlBSSU5URl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHZwcmludGZcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1ZQUklOVEZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjcyOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfRE9QUk5UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY3MjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0RPUFJOVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjcyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX0RPUFJOVF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgZG9uXCd0IGhhdmUgYHZwcmludGZcJyBidXQgZG8gaGF2ZSBgX2RvcHJudC5cJyAqLworI3VuZGVmIEhBVkVfRE9QUk5UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY3MzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1NUUkNPTExdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjczOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfU1RSQ09MTCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NjczOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUkNPTExdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJjb2xsXCcgZnVuY3Rpb24gYW5kIGl0IGlzIHByb3Blcmx5IGRlZmluZWQuCisgICAqLworI3VuZGVmIEhBVkVfU1RSQ09MTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2OTQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9WUFJJTlRGXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY5NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1ZQUklOVEYkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY5OTogLTEtIEFDX0xJQlNPVVJDRShbdnByaW50LmNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Njk5OiAtMS0gQUNfU1VCU1QoW0xJQkAmdEBPQkpTXSwgWyIkTElCQCZ0QE9CSlMgdnByaW50LiRhY19vYmpleHQiXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjY5OTogLTEtIEFDX1NVQlNUX1RSQUNFKFtMSUJAJnRAT0JKU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo2OTk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteTElCQCZ0QE9CSlMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcwMzogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RZUEVfU0lHTkFMJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi90eXBlcy5tNDo2OTk6IEFDX1RZUEVfU0lHTkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo3MDM6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzAzOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1JFVFNJR1RZUEVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzAzOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlJFVFNJR1RZUEUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcwMzogLTEtIEFIX09VVFBVVChbUkVUU0lHVFlQRV0sIFsvKiBEZWZpbmUgYXMgdGhlIHJldHVybiB0eXBlIG9mIHNpZ25hbCBoYW5kbGVycyAoYGludFwnIG9yIGB2b2lkXCcpLiAqLworI3VuZGVmIFJFVFNJR1RZUEVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzA2OiAtMi0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfU0VUT1NUWVBFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcwNjogLTItIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1NFVE9TVFlQRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzA3OiAtMi0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfV0FJVDNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzA3OiAtMi0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfV0FJVDMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcwODogLTItIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0lTSU5GX0lOX0xJQkNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzA4OiAtMi0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfSVNJTkZfSU5fTElCQyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzA5OiAtMi0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfSVNOQU5fSU5fTElCQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MDk6IC0yLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9JU05BTl9JTl9MSUJDJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MTI6IC0yLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9NS0ZJRk9dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzEyOiAtMi0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfTUtGSUZPJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MTI6IC0yLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbTUtGSUZPX01JU1NJTkddKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzEyOiAtMi0gbTRfcGF0dGVybl9hbGxvdyhbXk1LRklGT19NSVNTSU5HJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfRFVQMl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGR1cDJcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0RVUDJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzE1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0VBQ0NFU1NdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBlYWNjZXNzXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9FQUNDRVNTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcxNTogLTEtIEFIX09VVFBVVChbSEFWRV9GQ05UTF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZjbnRsXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9GQ05UTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfR0VURFRBQkxFU0laRV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldGR0YWJsZXNpemVcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0dFVERUQUJMRVNJWkVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzE1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0dFVEdST1VQU10sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldGdyb3Vwc1wnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUR1JPVVBTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcxNTogLTEtIEFIX09VVFBVVChbSEFWRV9HRVRIT1NUTkFNRV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldGhvc3RuYW1lXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9HRVRIT1NUTkFNRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfR0VUUEFHRVNJWkVdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRwYWdlc2l6ZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUUEFHRVNJWkVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzE1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0dFVFBFRVJOQU1FXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0cGVlcm5hbWVcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0dFVFBFRVJOQU1FXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcxNTogLTEtIEFIX09VVFBVVChbSEFWRV9HRVRSTElNSVRdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRybGltaXRcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0dFVFJMSU1JVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfR0VUUlVTQUdFXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0cnVzYWdlXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9HRVRSVVNBR0VdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzE1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0dFVFRJTUVPRkRBWV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldHRpbWVvZmRheVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUVElNRU9GREFZXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcxNTogLTEtIEFIX09VVFBVVChbSEFWRV9LSUxMXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBga2lsbFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfS0lMTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfS0lMTFBHXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBga2lsbHBnXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9LSUxMUEddKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzE1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0xTVEFUXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbHN0YXRcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0xTVEFUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcxNTogLTEtIEFIX09VVFBVVChbSEFWRV9SRUFETElOS10sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHJlYWRsaW5rXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9SRUFETElOS10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU0JSS10sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNicmtcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NCUktdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzE1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NFTEVDVF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNlbGVjdFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU0VMRUNUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcxNTogLTEtIEFIX09VVFBVVChbSEFWRV9TRVREVEFCTEVTSVpFXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0ZHRhYmxlc2l6ZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU0VURFRBQkxFU0laRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU0VUSVRJTUVSXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0aXRpbWVyXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TRVRJVElNRVJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzE1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1RDR0VUUEdSUF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHRjZ2V0cGdycFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfVENHRVRQR1JQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcxNTogLTEtIEFIX09VVFBVVChbSEFWRV9VTkFNRV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHVuYW1lXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9VTkFNRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfVUxJTUlUXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdWxpbWl0XCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9VTElNSVRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzE1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1dBSVRQSURdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB3YWl0cGlkXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9XQUlUUElEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcxOTogLTEtIEFDX0xJQlNPVVJDRShbcmVuYW1lLmNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzE5OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1JFTkFNRV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHJlbmFtZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfUkVOQU1FXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcxOTogLTEtIEFDX1NVQlNUKFtMSUJAJnRAT0JKU10sIFsiJExJQkAmdEBPQkpTICRhY19mdW5jLiRhY19vYmpleHQiXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcxOTogLTEtIEFDX1NVQlNUX1RSQUNFKFtMSUJAJnRAT0JKU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MTk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteTElCQCZ0QE9CSlMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyMjogLTEtIEFIX09VVFBVVChbSEFWRV9CQ09QWV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGJjb3B5XCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9CQ09QWV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MjI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfQlpFUk9dLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBiemVyb1wnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfQlpFUk9dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzIyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX0NPTkZTVFJdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjb25mc3RyXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9DT05GU1RSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyMjogLTEtIEFIX09VVFBVVChbSEFWRV9GTk1BVENIXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZm5tYXRjaFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfRk5NQVRDSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MjI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfR0VUQUREUklORk9dLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRhZGRyaW5mb1wnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUQUREUklORk9dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzIyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX0dFVEhPU1RCWU5BTUVdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRob3N0YnluYW1lXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9HRVRIT1NUQllOQU1FXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyMjogLTEtIEFIX09VVFBVVChbSEFWRV9HRVRTRVJWQllOQU1FXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0c2VydmJ5bmFtZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUU0VSVkJZTkFNRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MjI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfR0VUU0VSVkVOVF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldHNlcnZlbnRcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0dFVFNFUlZFTlRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzIyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX0lORVRfQVRPTl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGluZXRfYXRvblwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfSU5FVF9BVE9OXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyMjogLTEtIEFIX09VVFBVVChbSEFWRV9NRU1NT1ZFXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbWVtbW92ZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfTUVNTU9WRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MjI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfUEFUSENPTkZdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwYXRoY29uZlwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfUEFUSENPTkZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzIyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1BVVEVOVl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHB1dGVudlwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfUFVURU5WXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyMjogLTEtIEFIX09VVFBVVChbSEFWRV9SQUlTRV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHJhaXNlXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9SQUlTRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MjI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfUkVHQ09NUF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHJlZ2NvbXBcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1JFR0NPTVBdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzIyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1JFR0VYRUNdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGByZWdleGVjXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9SRUdFWEVDXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyMjogLTEtIEFIX09VVFBVVChbSEFWRV9TRVRFTlZdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzZXRlbnZcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NFVEVOVl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MjI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU0VUTElORUJVRl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldGxpbmVidWZcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NFVExJTkVCVUZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzIyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NFVExPQ0FMRV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldGxvY2FsZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU0VUTE9DQUxFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyMjogLTEtIEFIX09VVFBVVChbSEFWRV9TRVRWQlVGXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0dmJ1ZlwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU0VUVkJVRl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MjI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU0lHSU5URVJSVVBUXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2lnaW50ZXJydXB0XCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TSUdJTlRFUlJVUFRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzIyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUkNIUl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cmNoclwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1RSQ0hSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyMjogLTEtIEFIX09VVFBVVChbSEFWRV9TWVNDT05GXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3lzY29uZlwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1lTQ09ORl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MjI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfVENHRVRBVFRSXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdGNnZXRhdHRyXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9UQ0dFVEFUVFJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzIyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1RJTUVTXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdGltZXNcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1RJTUVTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyMjogLTEtIEFIX09VVFBVVChbSEFWRV9UVFlOQU1FXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdHR5bmFtZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfVFRZTkFNRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MjI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfVFpTRVRdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB0enNldFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfVFpTRVRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzIyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1VOU0VURU5WXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdW5zZXRlbnZcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1VOU0VURU5WXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyODogLTEtIEFIX09VVFBVVChbSEFWRV9WU05QUklOVEZdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB2c25wcmludGZcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1ZTTlBSSU5URl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Mjg6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU05QUklOVEZdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzbnByaW50ZlwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU05QUklOVEZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzI4OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1ZBU1BSSU5URl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHZhc3ByaW50ZlwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfVkFTUFJJTlRGXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyODogLTEtIEFIX09VVFBVVChbSEFWRV9BU1BSSU5URl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGFzcHJpbnRmXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9BU1BSSU5URl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Mjk6IC0xLSBBSF9PVVRQVVQoW0hBVkVfSVNBU0NJSV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGlzYXNjaWlcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0lTQVNDSUldKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzI5OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0lTQkxBTktdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBpc2JsYW5rXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9JU0JMQU5LXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyOTogLTEtIEFIX09VVFBVVChbSEFWRV9JU0dSQVBIXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgaXNncmFwaFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfSVNHUkFQSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Mjk6IC0xLSBBSF9PVVRQVVQoW0hBVkVfSVNQUklOVF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGlzcHJpbnRcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0lTUFJJTlRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzI5OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0lTU1BBQ0VdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBpc3NwYWNlXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9JU1NQQUNFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjcyOTogLTEtIEFIX09VVFBVVChbSEFWRV9JU1hESUdJVF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGlzeGRpZ2l0XCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9JU1hESUdJVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzA6IC0xLSBBSF9PVVRQVVQoW0hBVkVfR0VUUFdFTlRdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRwd2VudFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfR0VUUFdFTlRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMwOiAtMS0gQUhfT1VUUFVUKFtIQVZFX0dFVFBXTkFNXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0cHduYW1cJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0dFVFBXTkFNXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMDogLTEtIEFIX09VVFBVVChbSEFWRV9HRVRQV1VJRF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldHB3dWlkXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9HRVRQV1VJRF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzE6IC0xLSBBQ19MSUJTT1VSQ0UoW2dldGN3ZC5jXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMTogLTEtIEFDX0xJQlNPVVJDRShbbWVtc2V0LmNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMxOiAtMS0gQUNfTElCU09VUkNFKFtzdHJjYXNlY21wLmNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMxOiAtMS0gQUNfTElCU09VUkNFKFtzdHJlcnJvci5jXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMTogLTEtIEFDX0xJQlNPVVJDRShbc3RyZnRpbWUuY10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzE6IC0xLSBBQ19MSUJTT1VSQ0UoW3N0cm5sZW4uY10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzE6IC0xLSBBQ19MSUJTT1VSQ0UoW3N0cnBicmsuY10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzE6IC0xLSBBQ19MSUJTT1VSQ0UoW3N0cnN0ci5jXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMTogLTEtIEFIX09VVFBVVChbSEFWRV9HRVRDV0RdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRjd2RcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0dFVENXRF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzE6IC0xLSBBSF9PVVRQVVQoW0hBVkVfTUVNU0VUXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbWVtc2V0XCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9NRU1TRVRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMxOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUkNBU0VDTVBdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJjYXNlY21wXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFJDQVNFQ01QXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMTogLTEtIEFIX09VVFBVVChbSEFWRV9TVFJFUlJPUl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cmVycm9yXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFJFUlJPUl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzE6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU1RSRlRJTUVdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJmdGltZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1RSRlRJTUVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMxOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUk5MRU5dLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJubGVuXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFJOTEVOXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMTogLTEtIEFIX09VVFBVVChbSEFWRV9TVFJQQlJLXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RycGJya1wnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1RSUEJSS10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzE6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU1RSU1RSXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3Ryc3RyXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFJTVFJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMxOiAtMS0gQUNfU1VCU1QoW0xJQkAmdEBPQkpTXSwgWyIkTElCQCZ0QE9CSlMgJGFjX2Z1bmMuJGFjX29iamV4dCJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMxOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xJQkAmdEBPQkpTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MSUJAJnRAT0JKUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMyOiAtMS0gQUNfTElCU09VUkNFKFtzdHJ0b2QuY10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzI6IC0xLSBBQ19MSUJTT1VSQ0UoW3N0cnRvbC5jXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMjogLTEtIEFDX0xJQlNPVVJDRShbc3RydG91bC5jXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMjogLTEtIEFDX0xJQlNPVVJDRShbc3RydG9sbC5jXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMjogLTEtIEFDX0xJQlNPVVJDRShbc3RydG91bGwuY10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzI6IC0xLSBBQ19MSUJTT1VSQ0UoW3N0cnRvaW1heC5jXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMjogLTEtIEFDX0xJQlNPVVJDRShbc3RydG91bWF4LmNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUlRPRF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cnRvZFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1RSVE9EXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMjogLTEtIEFIX09VVFBVVChbSEFWRV9TVFJUT0xdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJ0b2xcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NUUlRPTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU1RSVE9VTF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cnRvdWxcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NUUlRPVUxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUlRPTExdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHJ0b2xsXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFJUT0xMXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMjogLTEtIEFIX09VVFBVVChbSEFWRV9TVFJUT1VMTF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cnRvdWxsXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFJUT1VMTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzI6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU1RSVE9JTUFYXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RydG9pbWF4XCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9TVFJUT0lNQVhdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMyOiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUlRPVU1BWF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cnRvdW1heFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1RSVE9VTUFYXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMjogLTEtIEFDX1NVQlNUKFtMSUJAJnRAT0JKU10sIFsiJExJQkAmdEBPQkpTICRhY19mdW5jLiRhY19vYmpleHQiXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMjogLTEtIEFDX1NVQlNUX1RSQUNFKFtMSUJAJnRAT0JKU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzI6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteTElCQCZ0QE9CSlMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMzogLTEtIEFDX0xJQlNPVVJDRShbZmRwcmludGYuY10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3MzM6IC0xLSBBSF9PVVRQVVQoW0hBVkVfRkRQUklOVEZdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmZHByaW50ZlwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfRkRQUklOVEZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMzOiAtMS0gQUNfU1VCU1QoW0xJQkAmdEBPQkpTXSwgWyIkTElCQCZ0QE9CSlMgJGFjX2Z1bmMuJGFjX29iamV4dCJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzMzOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xJQkAmdEBPQkpTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczMzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MSUJAJnRAT0JKUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzM1OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfREVDTF9DT05GU1RSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczNTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0RFQ0xfQ09ORlNUUiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzM1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0RFQ0xfQ09ORlNUUl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYGNvbmZzdHJcJywgYW5kIHRvIDAgaWYgeW91CisgICBkb25cJ3QuICovCisjdW5kZWYgSEFWRV9ERUNMX0NPTkZTVFJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzM1OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfREVDTF9DT05GU1RSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczNTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0RFQ0xfQ09ORlNUUiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzM2OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfREVDTF9QUklOVEZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzM2OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfREVDTF9QUklOVEYkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczNjogLTEtIEFIX09VVFBVVChbSEFWRV9ERUNMX1BSSU5URl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYHByaW50ZlwnLCBhbmQgdG8gMCBpZiB5b3UgZG9uXCd0LgorICAgKi8KKyN1bmRlZiBIQVZFX0RFQ0xfUFJJTlRGXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczNjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0RFQ0xfUFJJTlRGXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczNjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0RFQ0xfUFJJTlRGJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Mzc6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9ERUNMX1NCUktdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzM3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfREVDTF9TQlJLJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Mzc6IC0xLSBBSF9PVVRQVVQoW0hBVkVfREVDTF9TQlJLXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgc2Jya1wnLCBhbmQgdG8gMCBpZiB5b3UgZG9uXCd0LgorICAgKi8KKyN1bmRlZiBIQVZFX0RFQ0xfU0JSS10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Mzc6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9ERUNMX1NCUktdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzM3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfREVDTF9TQlJLJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Mzg6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9ERUNMX1NFVFJFR0lEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0RFQ0xfU0VUUkVHSUQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczODogLTEtIEFIX09VVFBVVChbSEFWRV9ERUNMX1NFVFJFR0lEXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgc2V0cmVnaWRcJywgYW5kIHRvIDAgaWYgeW91CisgICBkb25cJ3QuICovCisjdW5kZWYgSEFWRV9ERUNMX1NFVFJFR0lEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczODogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0RFQ0xfU0VUUkVHSURdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzM4OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfREVDTF9TRVRSRUdJRCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzM5OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfREVDTF9TVFJDUFldKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzM5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfREVDTF9TVFJDUFkkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczOTogLTEtIEFIX09VVFBVVChbSEFWRV9ERUNMX1NUUkNQWV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYHN0cmNweVwnLCBhbmQgdG8gMCBpZiB5b3UgZG9uXCd0LgorICAgKi8KKyN1bmRlZiBIQVZFX0RFQ0xfU1RSQ1BZXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczOTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0RFQ0xfU1RSQ1BZXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjczOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0RFQ0xfU1RSQ1BZJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3NDA6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9ERUNMX1NUUlNJR05BTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3NDA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9ERUNMX1NUUlNJR05BTCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzQwOiAtMS0gQUhfT1VUUFVUKFtIQVZFX0RFQ0xfU1RSU0lHTkFMXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgc3Ryc2lnbmFsXCcsIGFuZCB0byAwIGlmIHlvdQorICAgZG9uXCd0LiAqLworI3VuZGVmIEhBVkVfREVDTF9TVFJTSUdOQUxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzQwOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfREVDTF9TVFJTSUdOQUxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzQwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfREVDTF9TVFJTSUdOQUwkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc0MzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0RFQ0xfU1RSVE9MRF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3NDM6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9ERUNMX1NUUlRPTEQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc0MzogLTEtIEFIX09VVFBVVChbSEFWRV9ERUNMX1NUUlRPTERdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGBzdHJ0b2xkXCcsIGFuZCB0byAwIGlmIHlvdQorICAgZG9uXCd0LiAqLworI3VuZGVmIEhBVkVfREVDTF9TVFJUT0xEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc0MzogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9DT01QSUxFJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI0NzA6IEFDX1RSWV9DT01QSUxFIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI2NDQ6IEFDX0NIRUNLX0RFQ0wgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjY2NjogQUNfQ0hFQ0tfREVDTFMgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjc0MzogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3NDM6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbU1RSVE9MRF9CUk9LRU5dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzQzOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNUUlRPTERfQlJPS0VOJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3NDM6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9ERUNMX1NUUlRPTERdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzQzOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfREVDTF9TVFJUT0xEJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3NjA6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTAwOiBCQVNIX0NIRUNLX0RFQ0wgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjc2MDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3NjE6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTAwOiBCQVNIX0NIRUNLX0RFQ0wgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjc2MTogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3NjI6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTAwOiBCQVNIX0NIRUNLX0RFQ0wgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjc2MjogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3NjM6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTAwOiBCQVNIX0NIRUNLX0RFQ0wgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjc2MzogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3NjQ6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTAwOiBCQVNIX0NIRUNLX0RFQ0wgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjc2NDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3NjU6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTAwOiBCQVNIX0NIRUNLX0RFQ0wgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjc2NTogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Njc6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU1lTX1RJTUVfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90aW1lLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1lTX1RJTUVfSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Njc6IC0xLSBBSF9PVVRQVVQoW0hBVkVfVU5JU1REX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDx1bmlzdGQuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9VTklTVERfSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Njc6IC0xLSBBSF9PVVRQVVQoW0hBVkVfQUxBUk1dLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBhbGFybVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfQUxBUk1dKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzY3OiAtMS0gQUNfTElCU09VUkNFKFtta3RpbWUuY10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Njc6IC0xLSBBQ19TVUJTVChbTElCQCZ0QE9CSlNdLCBbIiRMSUJAJnRAT0JKUyBta3RpbWUuJGFjX29iamV4dCJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46NzY3OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xJQkAmdEBPQkpTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc2NzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MSUJAJnRAT0JKUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0FSR1pfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFyZ3ouaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9BUkdaX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0VSUk5PX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxlcnJuby5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0VSUk5PX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0ZDTlRMX0hdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxmY250bC5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX0ZDTlRMX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX01BTExPQ19IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bWFsbG9jLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfTUFMTE9DX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc0OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NURElPX0VYVF9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkaW9fZXh0Lmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1RESU9fRVhUX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc3OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NURExJQl9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkbGliLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfU1RETElCX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc3OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1VOSVNURF9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dW5pc3RkLmg+IGhlYWRlciBmaWxlLiAqLworI3VuZGVmIEhBVkVfVU5JU1REX0hdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc3OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0dFVFBBR0VTSVpFXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0cGFnZXNpemVcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0dFVFBBR0VTSVpFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc3NzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX01NQVBdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfTU1BUCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc3OiAtMS0gQUhfT1VUUFVUKFtIQVZFX01NQVBdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgYSB3b3JraW5nIGBtbWFwXCcgc3lzdGVtIGNhbGwuICovCisjdW5kZWYgSEFWRV9NTUFQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc3ODogLTEtIEFIX09VVFBVVChbSEFWRV9fX0FSR1pfQ09VTlRdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBfX2FyZ3pfY291bnRcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX19fQVJHWl9DT1VOVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Nzg6IC0xLSBBSF9PVVRQVVQoW0hBVkVfX19BUkdaX05FWFRdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBfX2FyZ3pfbmV4dFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfX19BUkdaX05FWFRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc4OiAtMS0gQUhfT1VUUFVUKFtIQVZFX19fQVJHWl9TVFJJTkdJRlldLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBfX2FyZ3pfc3RyaW5naWZ5XCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9fX0FSR1pfU1RSSU5HSUZZXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc3ODogLTEtIEFIX09VVFBVVChbSEFWRV9EQ0dFVFRFWFRdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBkY2dldHRleHRcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0RDR0VUVEVYVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Nzg6IC0xLSBBSF9PVVRQVVQoW0hBVkVfTUVNUENQWV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1lbXBjcHlcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX01FTVBDUFldKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc4OiAtMS0gQUhfT1VUUFVUKFtIQVZFX01VTk1BUF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG11bm1hcFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfTVVOTUFQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc3ODogLTEtIEFIX09VVFBVVChbSEFWRV9TVFBDUFldLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdHBjcHlcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NUUENQWV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3Nzg6IC0xLSBBSF9PVVRQVVQoW0hBVkVfU1RSQ1NQTl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cmNzcG5cJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1NUUkNTUE5dKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzc4OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUkRVUF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN0cmR1cFwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfU1RSRFVQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc4NzogLTEtIEFDX1NVQlNUKFtJTlRMX0RFUF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3ODc6IC0xLSBBQ19TVUJTVF9UUkFDRShbSU5UTF9ERVBdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzg3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXklOVExfREVQJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3ODg6IC0xLSBBQ19TVUJTVChbSU5UTF9JTkNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzg4OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0lOVExfSU5DXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc4ODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15JTlRMX0lOQyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzg5OiAtMS0gQUNfU1VCU1QoW0xJQklOVExfSF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3ODk6IC0xLSBBQ19TVUJTVF9UUkFDRShbTElCSU5UTF9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc4OTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MSUJJTlRMX0gkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIEFIX09VVFBVVChbSEFWRV9XQ1RZUEVfSF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHdjdHlwZS5oPiBoZWFkZXIgZmlsZS4gKi8KKyN1bmRlZiBIQVZFX1dDVFlQRV9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIEFIX09VVFBVVChbSEFWRV9XQ0hBUl9IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8d2NoYXIuaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9XQ0hBUl9IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIEFIX09VVFBVVChbSEFWRV9MQU5HSU5GT19IXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGFuZ2luZm8uaD4gaGVhZGVyIGZpbGUuICovCisjdW5kZWYgSEFWRV9MQU5HSU5GT19IXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTItIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX01CUkxFTl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0yLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9NQlJMRU4kXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTItIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX01CU0NNUF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0yLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9NQlNDTVAkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTItIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX01CU1JUT1dDU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0yLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9NQlNSVE9XQ1MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTItIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1dDUlRPTUJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzk1OiAtMi0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfV0NSVE9NQiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzk1OiAtMi0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfV0NTQ09MTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0yLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9XQ1NDT0xMJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0yLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9XQ1NEVVBdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzk1OiAtMi0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfV0NTRFVQJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0yLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9XQ1dJRFRIXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTItIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1dDV0lEVEgkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTItIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1dDVFlQRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0yLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9XQ1RZUEUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX01CUlRPV0NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzk1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfTUJSVE9XQyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzk1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX01CUlRPV0NdLCBbLyogRGVmaW5lIHRvIDEgaWYgbWJydG93YyBhbmQgbWJzdGF0ZV90IGFyZSBwcm9wZXJseSBkZWNsYXJlZC4gKi8KKyN1bmRlZiBIQVZFX01CUlRPV0NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzk1OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfTUJTVEFURV9UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX01CU1RBVEVfVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzk1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0lTV0xPV0VSXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgaXN3bG93ZXJcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0lTV0xPV0VSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIEFIX09VVFBVVChbSEFWRV9JU1dVUFBFUl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGlzd3VwcGVyXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9JU1dVUFBFUl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfVE9XTE9XRVJdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB0b3dsb3dlclwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfVE9XTE9XRVJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzk1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1RPV1VQUEVSXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdG93dXBwZXJcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX1RPV1VQUEVSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIEFIX09VVFBVVChbSEFWRV9JU1dDVFlQRV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGlzd2N0eXBlXCcgZnVuY3Rpb24uICovCisjdW5kZWYgSEFWRV9JU1dDVFlQRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTY4NjogQkFTSF9DSEVDS19NVUxUSUJZVEUgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjc5NTogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9MQU5HSU5GT19DT0RFU0VUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0xBTkdJTkZPX0NPREVTRVQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9DT01QSUxFJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI0NzA6IEFDX1RSWV9DT01QSUxFIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk5NDogQUNfQ0FDSEVfQ0hFQ0sgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoxNjg2OiBCQVNIX0NIRUNLX01VTFRJQllURSBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46Nzk1OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1dDSEFSX1RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzk1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfV0NIQVJfVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzk1OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1dDSEFSX1RdLCBbLyogc3lzdGVtcyBzaG91bGQgZGVmaW5lIHRoaXMgdHlwZSBoZXJlICovCisjdW5kZWYgSEFWRV9XQ0hBUl9UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9DT01QSUxFJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI0NzA6IEFDX1RSWV9DT01QSUxFIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk5NDogQUNfQ0FDSEVfQ0hFQ0sgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoxNjg2OiBCQVNIX0NIRUNLX01VTFRJQllURSBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46Nzk1OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1dDVFlQRV9UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5NTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1dDVFlQRV9UJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfV0NUWVBFX1RdLCBbLyogc3lzdGVtcyBzaG91bGQgZGVmaW5lIHRoaXMgdHlwZSBoZXJlICovCisjdW5kZWYgSEFWRV9XQ1RZUEVfVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfQ09NUElMRScgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDcwOiBBQ19UUllfQ09NUElMRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTY4NjogQkFTSF9DSEVDS19NVUxUSUJZVEUgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjc5NTogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9XSU5UX1RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46Nzk1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfV0lOVF9UJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfV0lOVF9UXSwgWy8qIHN5c3RlbXMgc2hvdWxkIGRlZmluZSB0aGlzIHR5cGUgaGVyZSAqLworI3VuZGVmIEhBVkVfV0lOVF9UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjc5OTogLTEtIEFIX09VVFBVVChbSEFWRV9MSUJETF0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGRsXCcgbGlicmFyeSAoLWxkbCkuICovCisjdW5kZWYgSEFWRV9MSUJETF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTk6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9MSUJETF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo3OTk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9MSUJETCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODAwOiAtMS0gQUhfT1VUUFVUKFtIQVZFX0RMT1BFTl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGRsb3BlblwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfRExPUEVOXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgwMDogLTEtIEFIX09VVFBVVChbSEFWRV9ETENMT1NFXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGxjbG9zZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfRExDTE9TRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4MDA6IC0xLSBBSF9PVVRQVVQoW0hBVkVfRExTWU1dLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBkbHN5bVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfRExTWU1dKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODA0OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfREVDTF9TWVNfU0lHTElTVCcgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvc3BlY2lmaWMubTQ6NjM6IEFDX0RFQ0xfU1lTX1NJR0xJU1QgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjgwNDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4MDQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9ERUNMX1NZU19TSUdMSVNUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgwNDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0RFQ0xfU1lTX1NJR0xJU1QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgwNDogLTEtIEFIX09VVFBVVChbSEFWRV9ERUNMX1NZU19TSUdMSVNUXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgc3lzX3NpZ2xpc3RcJywgYW5kIHRvIDAgaWYgeW91CisgICBkb25cJ3QuICovCisjdW5kZWYgSEFWRV9ERUNMX1NZU19TSUdMSVNUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgwNDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0RFQ0xfU1lTX1NJR0xJU1RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODA0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfREVDTF9TWVNfU0lHTElTVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODA4OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0xJTksnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjUyNzogQUNfVFJZX0xJTksgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTk0OiBBQ19DQUNIRV9DSEVDSyBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjU2MDogQkFTSF9GVU5DX0lORVRfQVRPTiBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46ODA4OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgwODogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0lORVRfQVRPTl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4MDg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9JTkVUX0FUT04kXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgwODogLTEtIEFDX0xJQlNPVVJDRShbaW5ldF9hdG9uLmNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODA4OiAtMS0gQUNfU1VCU1QoW0xJQkAmdEBPQkpTXSwgWyIkTElCQCZ0QE9CSlMgaW5ldF9hdG9uLiRhY19vYmpleHQiXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgwODogLTEtIEFDX1NVQlNUX1RSQUNFKFtMSUJAJnRAT0JKU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4MDg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteTElCQCZ0QE9CSlMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgxNDogLTEtIEFIX09VVFBVVChbSEFWRV9MSUJTVU5dLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzdW5cJyBsaWJyYXJ5ICgtbHN1bikuICovCisjdW5kZWYgSEFWRV9MSUJTVU5dKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODE0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfTElCU1VOXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgxNDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0xJQlNVTiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODE5OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfTElCU09DS0VUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgxOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0xJQlNPQ0tFVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODE5OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfR0VUUEVFUk5BTUVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODE5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfR0VUUEVFUk5BTUUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgyMzogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9MSU5LJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1Mjc6IEFDX1RSWV9MSU5LIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDo3Mjk6IEJBU0hfRlVOQ19HRVRIT1NUQllOQU1FIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo4MjM6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODIzOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfR0VUSE9TVEJZTkFNRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4MjM6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9HRVRIT1NUQllOQU1FJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Mjc6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbdWlkX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODI3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnVpZF90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Mjc6IC0xLSBBSF9PVVRQVVQoW3VpZF90XSwgWy8qIERlZmluZSB0byBgaW50XCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzblwndCBkZWZpbmUuICovCisjdW5kZWYgdWlkX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODI3OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW2dpZF90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgyNzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15naWRfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODI3OiAtMS0gQUhfT1VUUFVUKFtnaWRfdF0sIFsvKiBEZWZpbmUgdG8gYGludFwnIGlmIDxzeXMvdHlwZXMuaD4gZG9lc25cJ3QgZGVmaW5lLiAqLworI3VuZGVmIGdpZF90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgyNzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtHRVRHUk9VUFNfVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Mjc6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteR0VUR1JPVVBTX1QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgyNzogLTEtIEFIX09VVFBVVChbR0VUR1JPVVBTX1RdLCBbLyogRGVmaW5lIHRvIHRoZSB0eXBlIG9mIGVsZW1lbnRzIGluIHRoZSBhcnJheSBzZXQgYnkgYGdldGdyb3Vwc1wnLiBVc3VhbGx5CisgICB0aGlzIGlzIGVpdGhlciBgaW50XCcgb3IgYGdpZF90XCcuICovCisjdW5kZWYgR0VUR1JPVVBTX1RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODI4OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW29mZl90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgyODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15vZmZfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODI4OiAtMS0gQUhfT1VUUFVUKFtvZmZfdF0sIFsvKiBEZWZpbmUgdG8gYGxvbmcgaW50XCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzIG5vdCBkZWZpbmUuICovCisjdW5kZWYgb2ZmX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODI5OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW21vZGVfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Mjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtebW9kZV90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Mjk6IC0xLSBBSF9PVVRQVVQoW21vZGVfdF0sIFsvKiBEZWZpbmUgdG8gYGludFwnIGlmIDxzeXMvdHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLworI3VuZGVmIG1vZGVfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4MzA6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbdWlkX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODMwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnVpZF90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4MzA6IC0xLSBBSF9PVVRQVVQoW3VpZF90XSwgWy8qIERlZmluZSB0byBgaW50XCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzblwndCBkZWZpbmUuICovCisjdW5kZWYgdWlkX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODMwOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW2dpZF90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgzMDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15naWRfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODMwOiAtMS0gQUhfT1VUUFVUKFtnaWRfdF0sIFsvKiBEZWZpbmUgdG8gYGludFwnIGlmIDxzeXMvdHlwZXMuaD4gZG9lc25cJ3QgZGVmaW5lLiAqLworI3VuZGVmIGdpZF90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgzMTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtwaWRfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4MzE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtecGlkX3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgzMTogLTEtIEFIX09VVFBVVChbcGlkX3RdLCBbLyogRGVmaW5lIHRvIGBpbnRcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiBwaWRfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4MzI6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbc2l6ZV90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgzMjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15zaXplX3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgzMjogLTEtIEFIX09VVFBVVChbc2l6ZV90XSwgWy8qIERlZmluZSB0byBgdW5zaWduZWQgaW50XCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzIG5vdCBkZWZpbmUuICovCisjdW5kZWYgc2l6ZV90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgzMzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtzc2l6ZV90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgzMzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15zc2l6ZV90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4MzM6IC0xLSBBSF9PVVRQVVQoW3NzaXplX3RdLCBbLyogRGVmaW5lIHRvIGBpbnRcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiBzc2l6ZV90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgzNDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFt0aW1lX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODM0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnRpbWVfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODM0OiAtMS0gQUhfT1VUUFVUKFt0aW1lX3RdLCBbLyogRGVmaW5lIHRvIGBsb25nXCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzIG5vdCBkZWZpbmUuICovCisjdW5kZWYgdGltZV90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgzNjogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9MSU5LJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1Mjc6IEFDX1RSWV9MSU5LIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk5NDogQUNfQ0FDSEVfQ0hFQ0sgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDo0Njk6IEJBU0hfVFlQRV9MT05HX0xPTkcgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjgzNjogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4MzY6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9MT05HX0xPTkddKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODM2OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfTE9OR19MT05HJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Mzc6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6NDgzOiBCQVNIX1RZUEVfVU5TSUdORURfTE9OR19MT05HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo4Mzc6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODM3OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfVU5TSUdORURfTE9OR19MT05HXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjgzNzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1VOU0lHTkVEX0xPTkdfTE9ORyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODM5OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFlQRV9TSUdOQUwnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL3R5cGVzLm00OjY5OTogQUNfVFlQRV9TSUdOQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjgzOTogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Mzk6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbUkVUU0lHVFlQRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Mzk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUkVUU0lHVFlQRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODM5OiAtMS0gQUhfT1VUUFVUKFtSRVRTSUdUWVBFXSwgWy8qIERlZmluZSBhcyB0aGUgcmV0dXJuIHR5cGUgb2Ygc2lnbmFsIGhhbmRsZXJzIChgaW50XCcgb3IgYHZvaWRcJykuICovCisjdW5kZWYgUkVUU0lHVFlQRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDA6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfTElOSycgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5OTQ6IEFDX0NBQ0hFX0NIRUNLIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6NTM0OiBCQVNIX1RZUEVfU0lHX0FUT01JQ19UIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo4NDA6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODQwOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW3NpZ19hdG9taWNfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtec2lnX2F0b21pY190JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDA6IC0xLSBBSF9PVVRQVVQoW3NpZ19hdG9taWNfdF0sIFsvKiBEZWZpbmUgdG8gYGludFwnIGlmIDxzeXMvdHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLworI3VuZGVmIHNpZ19hdG9taWNfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDI6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbU0laRU9GX0NIQVJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODQyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNJWkVPRl9DSEFSJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDI6IC0xLSBBSF9PVVRQVVQoW1NJWkVPRl9DSEFSXSwgWy8qIFRoZSBzaXplIG9mIGBjaGFyXCcsIGFzIGNvbXB1dGVkIGJ5IHNpemVvZi4gKi8KKyN1bmRlZiBTSVpFT0ZfQ0hBUl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDM6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbU0laRU9GX1NIT1JUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg0MzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TSVpFT0ZfU0hPUlQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg0MzogLTEtIEFIX09VVFBVVChbU0laRU9GX1NIT1JUXSwgWy8qIFRoZSBzaXplIG9mIGBzaG9ydFwnLCBhcyBjb21wdXRlZCBieSBzaXplb2YuICovCisjdW5kZWYgU0laRU9GX1NIT1JUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg0NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtTSVpFT0ZfSU5UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg0NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TSVpFT0ZfSU5UJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDQ6IC0xLSBBSF9PVVRQVVQoW1NJWkVPRl9JTlRdLCBbLyogVGhlIHNpemUgb2YgYGludFwnLCBhcyBjb21wdXRlZCBieSBzaXplb2YuICovCisjdW5kZWYgU0laRU9GX0lOVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDU6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbU0laRU9GX0xPTkddKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODQ1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNJWkVPRl9MT05HJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDU6IC0xLSBBSF9PVVRQVVQoW1NJWkVPRl9MT05HXSwgWy8qIFRoZSBzaXplIG9mIGBsb25nXCcsIGFzIGNvbXB1dGVkIGJ5IHNpemVvZi4gKi8KKyN1bmRlZiBTSVpFT0ZfTE9OR10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDY6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbU0laRU9GX0NIQVJfUF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDY6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteU0laRU9GX0NIQVJfUCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODQ2OiAtMS0gQUhfT1VUUFVUKFtTSVpFT0ZfQ0hBUl9QXSwgWy8qIFRoZSBzaXplIG9mIGBjaGFyICpcJywgYXMgY29tcHV0ZWQgYnkgc2l6ZW9mLiAqLworI3VuZGVmIFNJWkVPRl9DSEFSX1BdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODQ3OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1NJWkVPRl9ET1VCTEVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODQ3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNJWkVPRl9ET1VCTEUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg0NzogLTEtIEFIX09VVFBVVChbU0laRU9GX0RPVUJMRV0sIFsvKiBUaGUgc2l6ZSBvZiBgZG91YmxlXCcsIGFzIGNvbXB1dGVkIGJ5IHNpemVvZi4gKi8KKyN1bmRlZiBTSVpFT0ZfRE9VQkxFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg0ODogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtTSVpFT0ZfTE9OR19MT05HXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg0ODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TSVpFT0ZfTE9OR19MT05HJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NDg6IC0xLSBBSF9PVVRQVVQoW1NJWkVPRl9MT05HX0xPTkddLCBbLyogVGhlIHNpemUgb2YgYGxvbmcgbG9uZ1wnLCBhcyBjb21wdXRlZCBieSBzaXplb2YuICovCisjdW5kZWYgU0laRU9GX0xPTkdfTE9OR10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTA6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbdV9pbnRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODUwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnVfaW50JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTA6IC0xLSBBSF9PVVRQVVQoW3VfaW50XSwgWy8qIERlZmluZSB0byBgdW5zaWduZWQgaW50XCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzIG5vdCBkZWZpbmUuICovCisjdW5kZWYgdV9pbnRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODUxOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW3VfbG9uZ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtedV9sb25nJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTE6IC0xLSBBSF9PVVRQVVQoW3VfbG9uZ10sIFsvKiBEZWZpbmUgdG8gYHVuc2lnbmVkIGxvbmdcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiB1X2xvbmddKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODUzOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW2JpdHMxNl90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1MzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15iaXRzMTZfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODUzOiAtMS0gQUhfT1VUUFVUKFtiaXRzMTZfdF0sIFsvKiBEZWZpbmUgdG8gYHNob3J0XCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzIG5vdCBkZWZpbmUuICovCisjdW5kZWYgYml0czE2X3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODUzOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW2JpdHMxNl90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1MzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15iaXRzMTZfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODUzOiAtMS0gQUhfT1VUUFVUKFtiaXRzMTZfdF0sIFsvKiBEZWZpbmUgdG8gYGNoYXJcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiBiaXRzMTZfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTM6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbYml0czE2X3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODUzOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmJpdHMxNl90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTM6IC0xLSBBSF9PVVRQVVQoW2JpdHMxNl90XSwgWy8qIERlZmluZSB0byBgc2hvcnRcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiBiaXRzMTZfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbdV9iaXRzMTZfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtedV9iaXRzMTZfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU0OiAtMS0gQUhfT1VUUFVUKFt1X2JpdHMxNl90XSwgWy8qIERlZmluZSB0byBgdW5zaWduZWQgc2hvcnRcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiB1X2JpdHMxNl90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFt1X2JpdHMxNl90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW151X2JpdHMxNl90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTQ6IC0xLSBBSF9PVVRQVVQoW3VfYml0czE2X3RdLCBbLyogRGVmaW5lIHRvIGB1bnNpZ25lZCBjaGFyXCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzIG5vdCBkZWZpbmUuICovCisjdW5kZWYgdV9iaXRzMTZfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbdV9iaXRzMTZfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtedV9iaXRzMTZfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU0OiAtMS0gQUhfT1VUUFVUKFt1X2JpdHMxNl90XSwgWy8qIERlZmluZSB0byBgdW5zaWduZWQgc2hvcnRcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiB1X2JpdHMxNl90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1NTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtiaXRzMzJfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTU6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteYml0czMyX3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1NTogLTEtIEFIX09VVFBVVChbYml0czMyX3RdLCBbLyogRGVmaW5lIHRvIGBpbnRcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiBiaXRzMzJfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTU6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbYml0czMyX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmJpdHMzMl90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTU6IC0xLSBBSF9PVVRQVVQoW2JpdHMzMl90XSwgWy8qIERlZmluZSB0byBgbG9uZ1wnIGlmIDxzeXMvdHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLworI3VuZGVmIGJpdHMzMl90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1NTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtiaXRzMzJfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTU6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteYml0czMyX3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1NTogLTEtIEFIX09VVFBVVChbYml0czMyX3RdLCBbLyogRGVmaW5lIHRvIGBpbnRcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiBiaXRzMzJfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTY6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbdV9iaXRzMzJfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTY6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtedV9iaXRzMzJfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU2OiAtMS0gQUhfT1VUUFVUKFt1X2JpdHMzMl90XSwgWy8qIERlZmluZSB0byBgdW5zaWduZWQgaW50XCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzIG5vdCBkZWZpbmUuICovCisjdW5kZWYgdV9iaXRzMzJfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTY6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbdV9iaXRzMzJfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTY6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtedV9iaXRzMzJfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU2OiAtMS0gQUhfT1VUUFVUKFt1X2JpdHMzMl90XSwgWy8qIERlZmluZSB0byBgdW5zaWduZWQgbG9uZ1wnIGlmIDxzeXMvdHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLworI3VuZGVmIHVfYml0czMyX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU2OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW3VfYml0czMyX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU2OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnVfYml0czMyX3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1NjogLTEtIEFIX09VVFBVVChbdV9iaXRzMzJfdF0sIFsvKiBEZWZpbmUgdG8gYHVuc2lnbmVkIGludFwnIGlmIDxzeXMvdHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLworI3VuZGVmIHVfYml0czMyX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU3OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW2JpdHM2NF90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1NzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15iaXRzNjRfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU3OiAtMS0gQUhfT1VUUFVUKFtiaXRzNjRfdF0sIFsvKiBEZWZpbmUgdG8gYGNoYXIgKlwnIGlmIDxzeXMvdHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLworI3VuZGVmIGJpdHM2NF90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1NzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtiaXRzNjRfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTc6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteYml0czY0X3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1NzogLTEtIEFIX09VVFBVVChbYml0czY0X3RdLCBbLyogRGVmaW5lIHRvIGBkb3VibGVcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiBiaXRzNjRfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTc6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbYml0czY0X3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmJpdHM2NF90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTc6IC0xLSBBSF9PVVRQVVQoW2JpdHM2NF90XSwgWy8qIERlZmluZSB0byBgbG9uZyBsb25nXCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzIG5vdCBkZWZpbmUuICovCisjdW5kZWYgYml0czY0X3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU3OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW2JpdHM2NF90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1NzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15iaXRzNjRfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU3OiAtMS0gQUhfT1VUUFVUKFtiaXRzNjRfdF0sIFsvKiBEZWZpbmUgdG8gYGxvbmdcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiBiaXRzNjRfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTc6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbYml0czY0X3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmJpdHM2NF90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTc6IC0xLSBBSF9PVVRQVVQoW2JpdHM2NF90XSwgWy8qIERlZmluZSB0byBgZG91YmxlXCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzIG5vdCBkZWZpbmUuICovCisjdW5kZWYgYml0czY0X3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU5OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW3B0cmRpZmZfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtecHRyZGlmZl90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTk6IC0xLSBBSF9PVVRQVVQoW3B0cmRpZmZfdF0sIFsvKiBEZWZpbmUgdG8gYGludFwnIGlmIDxzeXMvdHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLworI3VuZGVmIHB0cmRpZmZfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTk6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbcHRyZGlmZl90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1OTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15wdHJkaWZmX3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1OTogLTEtIEFIX09VVFBVVChbcHRyZGlmZl90XSwgWy8qIERlZmluZSB0byBgbG9uZ1wnIGlmIDxzeXMvdHlwZXMuaD4gZG9lcyBub3QgZGVmaW5lLiAqLworI3VuZGVmIHB0cmRpZmZfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NTk6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbcHRyZGlmZl90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1OTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15wdHJkaWZmX3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1OTogLTEtIEFIX09VVFBVVChbcHRyZGlmZl90XSwgWy8qIERlZmluZSB0byBgbG9uZyBsb25nXCcgaWYgPHN5cy90eXBlcy5oPiBkb2VzIG5vdCBkZWZpbmUuICovCisjdW5kZWYgcHRyZGlmZl90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg1OTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtwdHJkaWZmX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnB0cmRpZmZfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODU5OiAtMS0gQUhfT1VUUFVUKFtwdHJkaWZmX3RdLCBbLyogRGVmaW5lIHRvIGBpbnRcJyBpZiA8c3lzL3R5cGVzLmg+IGRvZXMgbm90IGRlZmluZS4gKi8KKyN1bmRlZiBwdHJkaWZmX3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODYyOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1NUQVRfTUFDUk9TX0JST0tFTl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NjI6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteU1RBVF9NQUNST1NfQlJPS0VOJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NjI6IC0xLSBBSF9PVVRQVVQoW1NUQVRfTUFDUk9TX0JST0tFTl0sIFsvKiBEZWZpbmUgdG8gMSBpZiB0aGUgYFNfSVMqXCcgbWFjcm9zIGluIDxzeXMvc3RhdC5oPiBkbyBub3Qgd29yayBwcm9wZXJseS4gKi8KKyN1bmRlZiBTVEFUX01BQ1JPU19CUk9LRU5dKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODY3OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfSEFTSF9CQU5HX0VYRUNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODY3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfSEFTSF9CQU5HX0VYRUMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg3MjogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9MSU5LJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1Mjc6IEFDX1RSWV9MSU5LIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk5NDogQUNfQ0FDSEVfQ0hFQ0sgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDo1NDY6IEJBU0hfRlVOQ19MU1RBVCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46ODcyOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg3MjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0xTVEFUXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg3MjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0xTVEFUJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4NzY6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfUlVOJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1OTI6IEFDX1RSWV9SVU4gaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjE4Nzc6IEJBU0hfRlVOQ19DVFlQRV9OT05BU0NJSSBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46ODc2OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg3NjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtDVFlQRV9OT05fQVNDSUldKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODc2OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkNUWVBFX05PTl9BU0NJSSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODc3OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX1JVTicgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTkyOiBBQ19UUllfUlVOIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyNjc6IEJBU0hfRlVOQ19EVVAyX0NMT0VYRUNfQ0hFQ0sgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjg3NzogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Nzc6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbRFVQMl9CUk9LRU5dKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODc3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkRVUDJfQlJPS0VOJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Nzg6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfUlVOJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1OTI6IEFDX1RSWV9SVU4gaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjEyMzI6IEJBU0hfU1lTX1BHUlBfU1lOQyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46ODc4OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg3ODogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtQR1JQX1BJUEVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODc4OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlBHUlBfUElQRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODc5OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0xJTksnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjUyNzogQUNfVFJZX0xJTksgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjExOTI6IEJBU0hfU1lTX1NJR05BTF9WSU5UQUdFIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo4Nzk6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODc5OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0xJTksnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjUyNzogQUNfVFJZX0xJTksgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1MTg6IEFDX0xJTktfSUZFTFNFIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1Mjc6IEFDX1RSWV9MSU5LIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoxMTkyOiBCQVNIX1NZU19TSUdOQUxfVklOVEFHRSBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46ODc5OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg3OTogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9MSU5LJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1Mjc6IEFDX1RSWV9MSU5LIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTE4OiBBQ19MSU5LX0lGRUxTRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTI3OiBBQ19UUllfTElOSyBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjUxODogQUNfTElOS19JRkVMU0UgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjUyNzogQUNfVFJZX0xJTksgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjExOTI6IEJBU0hfU1lTX1NJR05BTF9WSU5UQUdFIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo4Nzk6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODc5OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfUE9TSVhfU0lHTkFMU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Nzk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9QT1NJWF9TSUdOQUxTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Nzk6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9CU0RfU0lHTkFMU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4Nzk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9CU0RfU0lHTkFMUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODc5OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfVVNHX1NJR0hPTERdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODc5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfVVNHX1NJR0hPTEQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg4MjogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9MSU5LJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1Mjc6IEFDX1RSWV9MSU5LIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyNTA6IEJBU0hfU1lTX0VSUkxJU1QgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjg4MjogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4ODI6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9TWVNfRVJSTElTVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4ODI6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9TWVNfRVJSTElTVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODgzOiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX1JVTicgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTkyOiBBQ19UUllfUlVOIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoyMDg6IEJBU0hfU1lTX1NJR0xJU1QgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjg4MzogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4ODM6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9TWVNfU0lHTElTVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4ODM6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9TWVNfU0lHTElTVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODg0OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0NPTVBJTEUnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjQ3MDogQUNfVFJZX0NPTVBJTEUgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjE2NDogQkFTSF9ERUNMX1VOREVSX1NZU19TSUdMSVNUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTgxOiBCQVNIX1VOREVSX1NZU19TSUdMSVNUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo4ODQ6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODg0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1VOREVSX1NZU19TSUdMSVNUX0RFQ0xBUkVEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg4NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15VTkRFUl9TWVNfU0lHTElTVF9ERUNMQVJFRCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODg0OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX1JVTicgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTkyOiBBQ19UUllfUlVOIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoxODE6IEJBU0hfVU5ERVJfU1lTX1NJR0xJU1QgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjg4NDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4ODQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9VTkRFUl9TWVNfU0lHTElTVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4ODQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9VTkRFUl9TWVNfU0lHTElTVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODg3OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0NPTVBJTEUnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjQ3MDogQUNfVFJZX0NPTVBJTEUgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjM2MzogQkFTSF9UWVBFX1NJR0hBTkRMRVIgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjg4NzogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4ODc6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbVk9JRF9TSUdIQU5ETEVSXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg4NzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15WT0lEX1NJR0hBTkRMRVIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg4ODogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtjbG9ja190XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg4ODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15jbG9ja190JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4ODk6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbc2lnc2V0X3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODg5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnNpZ3NldF90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4OTA6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9RVUFEX1RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODkwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfUVVBRF9UJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4OTA6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbcXVhZF90XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg5MDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15xdWFkX3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg5MTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtpbnRtYXhfdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4OTE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteaW50bWF4X3QkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg5MjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFt1aW50bWF4X3RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODkyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXnVpbnRtYXhfdCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODk0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfU09DS0xFTl9UXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg5NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1NPQ0tMRU5fVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODk0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW3NvY2tsZW5fdF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4OTQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFtec29ja2xlbl90JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo4OTY6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfQ09NUElMRScgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDcwOiBBQ19UUllfQ09NUElMRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6NTA0OiBCQVNIX1RZUEVfUkxJTUlUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo4OTY6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODk2OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX1JVTicgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTkyOiBBQ19UUllfUlVOIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDYyOiBBQ19DT01QSUxFX0lGRUxTRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDcwOiBBQ19UUllfQ09NUElMRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6NTA0OiBCQVNIX1RZUEVfUkxJTUlUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo4OTY6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODk2OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1JMSU1UWVBFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg5NjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15STElNVFlQRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODk2OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1JMSU1UWVBFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjg5NjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15STElNVFlQRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODk5OiAtMi0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1RFUk1JT1NfTERJU0NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46ODk5OiAtMi0gbTRfcGF0dGVybl9hbGxvdyhbXlRFUk1JT1NfTERJU0MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwMDogLTItIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtURVJNSU9fTERJU0NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTAwOiAtMi0gbTRfcGF0dGVybl9hbGxvdyhbXlRFUk1JT19MRElTQyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTAxOiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0NPTVBJTEUnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjQ3MDogQUNfVFJZX0NPTVBJTEUgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjEwMzk6IEJBU0hfU1RSVUNUX0RJUkVOVF9EX0lOTyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTAxOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwMTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1NUUlVDVF9ESVJFTlRfRF9JTk9dKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTAxOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfU1RSVUNUX0RJUkVOVF9EX0lOTyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTAyOiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0NPTVBJTEUnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjQ3MDogQUNfVFJZX0NPTVBJTEUgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjEwNzI6IEJBU0hfU1RSVUNUX0RJUkVOVF9EX0ZJTEVOTyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTAyOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwMjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1NUUlVDVF9ESVJFTlRfRF9GSUxFTk9dKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTAyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfU1RSVUNUX0RJUkVOVF9EX0ZJTEVOTyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTAzOiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0NPTVBJTEUnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjQ3MDogQUNfVFJZX0NPTVBJTEUgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjExMDU6IEJBU0hfU1RSVUNUX0RJUkVOVF9EX05BTUxFTiBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTAzOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwMzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1NUUlVDVF9ESVJFTlRfRF9OQU1MRU5dKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTAzOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfU1RSVUNUX0RJUkVOVF9EX05BTUxFTiRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTA0OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0NPTVBJTEUnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjQ3MDogQUNfVFJZX0NPTVBJTEUgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjExNzA6IEJBU0hfU1RSVUNUX1dJTlNJWkUgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjkwNDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MDQ6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfQ09NUElMRScgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDcwOiBBQ19UUllfQ09NUElMRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjQ2MjogQUNfQ09NUElMRV9JRkVMU0UgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjQ3MDogQUNfVFJZX0NPTVBJTEUgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjExNzA6IEJBU0hfU1RSVUNUX1dJTlNJWkUgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjkwNDogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MDQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbU1RSVUNUX1dJTlNJWkVfSU5fU1lTX0lPQ1RMXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwNDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TVFJVQ1RfV0lOU0laRV9JTl9TWVNfSU9DVEwkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwNDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtTVFJVQ1RfV0lOU0laRV9JTl9URVJNSU9TXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwNDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TVFJVQ1RfV0lOU0laRV9JTl9URVJNSU9TJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MDU6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9USU1FVkFMXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwNTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1RJTUVWQUwkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwNjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1NUUlVDVF9TVEFUX1NUX0JMT0NLU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MDY6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwNjogLTEtIEFIX09VVFBVVChbSEFWRV9TVFJVQ1RfU1RBVF9TVF9CTE9DS1NdLCBbLyogRGVmaW5lIHRvIDEgaWYgYHN0X2Jsb2Nrc1wnIGlzIG1lbWJlciBvZiBgc3RydWN0IHN0YXRcJy4gKi8KKyN1bmRlZiBIQVZFX1NUUlVDVF9TVEFUX1NUX0JMT0NLU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MDc6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbVE1fSU5fU1lTX1RJTUVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTA3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlRNX0lOX1NZU19USU1FJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MDc6IC0xLSBBSF9PVVRQVVQoW1RNX0lOX1NZU19USU1FXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdXIgPHN5cy90aW1lLmg+IGRlY2xhcmVzIGBzdHJ1Y3QgdG1cJy4gKi8KKyN1bmRlZiBUTV9JTl9TWVNfVElNRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MDg6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MDg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTA4OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1NUUlVDVF9UTV9UTV9aT05FXSwgWy8qIERlZmluZSB0byAxIGlmIGB0bV96b25lXCcgaXMgbWVtYmVyIG9mIGBzdHJ1Y3QgdG1cJy4gKi8KKyN1bmRlZiBIQVZFX1NUUlVDVF9UTV9UTV9aT05FXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwODogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1RNX1pPTkVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTA4OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfVE1fWk9ORSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTA4OiAtMS0gQUhfT1VUUFVUKFtIQVZFX1RNX1pPTkVdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91ciBgc3RydWN0IHRtXCcgaGFzIGB0bV96b25lXCcuIERlcHJlY2F0ZWQsIHVzZQorICAgYEhBVkVfU1RSVUNUX1RNX1RNX1pPTkVcJyBpbnN0ZWFkLiAqLworI3VuZGVmIEhBVkVfVE1fWk9ORV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MDg6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9ERUNMX1RaTkFNRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MDg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9ERUNMX1RaTkFNRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTA4OiAtMS0gQUhfT1VUUFVUKFtIQVZFX0RFQ0xfVFpOQU1FXSwgWy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBkZWNsYXJhdGlvbiBvZiBgdHpuYW1lXCcsIGFuZCB0byAwIGlmIHlvdSBkb25cJ3QuCisgICAqLworI3VuZGVmIEhBVkVfREVDTF9UWk5BTUVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTA4OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfREVDTF9UWk5BTUVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTA4OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfREVDTF9UWk5BTUUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwODogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1RaTkFNRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MDg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9UWk5BTUUkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwODogLTEtIEFIX09VVFBVVChbSEFWRV9UWk5BTUVdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGRvblwndCBoYXZlIGB0bV96b25lXCcgYnV0IGRvIGhhdmUgdGhlIGV4dGVybmFsIGFycmF5CisgICBgdHpuYW1lXCcuICovCisjdW5kZWYgSEFWRV9UWk5BTUVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTA5OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfU1RSVUNUX1RJTUVaT05FXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkwOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1NUUlVDVF9USU1FWk9ORSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTEyOiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0xJTksnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjUyNzogQUNfVFJZX0xJTksgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjI5NjogQkFTSF9GVU5DX1NUUlNJR05BTCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTEyOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxMjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1NUUlNJR05BTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MTI6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9TVFJTSUdOQUwkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxMzogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9SVU4nIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjU5MjogQUNfVFJZX1JVTiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MzEwOiBCQVNIX0ZVTkNfT1BFTkRJUl9DSEVDSyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTEzOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxMzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtPUEVORElSX05PVF9ST0JVU1RdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTEzOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXk9QRU5ESVJfTk9UX1JPQlVTVCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTE0OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX1JVTicgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTkyOiBBQ19UUllfUlVOIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDo2ODA6IEJBU0hfRlVOQ19VTElNSVRfTUFYRkRTIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo5MTQ6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTE0OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1VMSU1JVF9NQVhGRFNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTE0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlVMSU1JVF9NQVhGRFMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxNTogLTEtIEFIX09VVFBVVChbSEFWRV9GUFVSR0VdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBmcHVyZ2VcJyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX0ZQVVJHRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MTU6IC0xLSBBSF9PVVRQVVQoW0hBVkVfX19GUFVSR0VdLCBbLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBfX2ZwdXJnZVwnIGZ1bmN0aW9uLiAqLworI3VuZGVmIEhBVkVfX19GUFVSR0VdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTE1OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfREVDTF9GUFVSR0VdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTE1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfREVDTF9GUFVSR0UkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxNTogLTEtIEFIX09VVFBVVChbSEFWRV9ERUNMX0ZQVVJHRV0sIFsvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYGZwdXJnZVwnLCBhbmQgdG8gMCBpZiB5b3UgZG9uXCd0LgorICAgKi8KKyN1bmRlZiBIQVZFX0RFQ0xfRlBVUkdFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxNTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0RFQ0xfRlBVUkdFXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxNTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0RFQ0xfRlBVUkdFJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MTY6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfUlVOJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1OTI6IEFDX1RSWV9SVU4gaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjU3NjogQkFTSF9GVU5DX0dFVEVOViBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTE2OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxNjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtDQU5fUkVERUZJTkVfR0VURU5WXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxNjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15DQU5fUkVERUZJTkVfR0VURU5WJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MTg6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfUlVOJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1OTI6IEFDX1RSWV9SVU4gaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjY5OTogQkFTSF9GVU5DX0dFVENXRCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTE4OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxODogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtHRVRDV0RfQlJPS0VOXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxODogLTEtIG00X3BhdHRlcm5fYWxsb3coW15HRVRDV0RfQlJPS0VOJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MTg6IC0xLSBBQ19MSUJTT1VSQ0UoW2dldGN3ZC5jXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkxODogLTEtIEFDX1NVQlNUKFtMSUJAJnRAT0JKU10sIFsiJExJQkAmdEBPQkpTIGdldGN3ZC4kYWNfb2JqZXh0Il0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MTg6IC0xLSBBQ19TVUJTVF9UUkFDRShbTElCQCZ0QE9CSlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTE4OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkxJQkAmdEBPQkpTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MjA6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfUlVOJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1OTI6IEFDX1RSWV9SVU4gaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00Ojc3NTogQkFTSF9GVU5DX1BPU0lYX1NFVEpNUCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTIwOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkyMDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1BPU0lYX1NJR1NFVEpNUF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MjA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9QT1NJWF9TSUdTRVRKTVAkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkyMTogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9SVU4nIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjU5MjogQUNfVFJZX1JVTiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6ODI2OiBCQVNIX0ZVTkNfU1RSQ09MTCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTIxOiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkyMTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtTVFJDT0xMX0JST0tFTl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MjE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteU1RSQ09MTF9CUk9LRU4kXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkyNzogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9MSU5LJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1Mjc6IEFDX1RSWV9MSU5LIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk5NDogQUNfQ0FDSEVfQ0hFQ0sgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDo2MjE6IEJBU0hfRlVOQ19TVERfUFVURU5WIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo5Mjc6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTI3OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfU1REX1BVVEVOVl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5Mjc6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9TVERfUFVURU5WJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5Mjk6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9TVERfUFVURU5WXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX1NURF9QVVRFTlYkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkzMjogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9MSU5LJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1Mjc6IEFDX1RSWV9MSU5LIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk5NDogQUNfQ0FDSEVfQ0hFQ0sgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDo2NTE6IEJBU0hfRlVOQ19TVERfVU5TRVRFTlYgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjkzMjogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MzI6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9TVERfVU5TRVRFTlZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTMyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfU1REX1VOU0VURU5WJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5MzQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9TVERfVU5TRVRFTlZdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTM0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfU1REX1VOU0VURU5WJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5Mzc6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfUlVOJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1OTI6IEFDX1RSWV9SVU4gaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00Ojg3NTogQkFTSF9GVU5DX1BSSU5URl9BX0ZPUk1BVCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTM3OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjkzNzogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX1BSSU5URl9BX0ZPUk1BVF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5Mzc6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9QUklOVEZfQV9GT1JNQVQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk0MDogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9SVU4nIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjU5MjogQUNfVFJZX1JVTiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTI5NDogQkFTSF9TWVNfUkVJTlNUQUxMX1NJR0hBTkRMRVJTIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo5NDA6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTQwOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW01VU1RfUkVJTlNUQUxMX1NJR0hBTkRMRVJTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk0MDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15NVVNUX1JFSU5TVEFMTF9TSUdIQU5ETEVSUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTQxOiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX1JVTicgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTkyOiBBQ19UUllfUlVOIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoxMzUzOiBCQVNIX1NZU19KT0JfQ09OVFJPTF9NSVNTSU5HIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo5NDE6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTQxOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0pPQl9DT05UUk9MX01JU1NJTkddKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTQxOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkpPQl9DT05UUk9MX01JU1NJTkckXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk0MjogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9SVU4nIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjU5MjogQUNfVFJZX1JVTiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTQxMjogQkFTSF9TWVNfTkFNRURfUElQRVMgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjk0MjogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NDI6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbTkFNRURfUElQRVNfTUlTU0lOR10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NDI6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteTkFNRURfUElQRVNfTUlTU0lORyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTQ1OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0dXSU5TWl9JTl9TWVNfSU9DVExdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTQ1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkdXSU5TWl9JTl9TWVNfSU9DVEwkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk0NTogLTEtIEFIX09VVFBVVChbR1dJTlNaX0lOX1NZU19JT0NUTF0sIFsvKiBEZWZpbmUgdG8gMSBpZiBgVElPQ0dXSU5TWlwnIHJlcXVpcmVzIDxzeXMvaW9jdGwuaD4uICovCisjdW5kZWYgR1dJTlNaX0lOX1NZU19JT0NUTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NDY6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfQ09NUElMRScgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDcwOiBBQ19UUllfQ09NUElMRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTQ5MzogQkFTSF9IQVZFX1RJT0NTVEFUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo5NDY6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTQ2OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1RJT0NTVEFUX0lOX1NZU19JT0NUTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NDY6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteVElPQ1NUQVRfSU5fU1lTX0lPQ1RMJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NDc6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfQ09NUElMRScgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDcwOiBBQ19UUllfQ09NUElMRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTUwNTogQkFTSF9IQVZFX0ZJT05SRUFEIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo5NDc6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTQ3OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0ZJT05SRUFEX0lOX1NZU19JT0NUTF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NDc6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteRklPTlJFQURfSU5fU1lTX0lPQ1RMJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NDk6IC0xLSBfbTRfd2Fybihbb2Jzb2xldGVdLCBbVGhlIG1hY3JvIGBBQ19UUllfUlVOJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI1OTI6IEFDX1RSWV9SVU4gaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjE5MjE6IEJBU0hfQ0hFQ0tfV0NPTlRJTlVFRCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTQ5OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk0OTogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtXQ09OVElOVUVEX0JST0tFTl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NDk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteV0NPTlRJTlVFRF9CUk9LRU4kXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk1MjogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9DT01QSUxFJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI0NzA6IEFDX1RSWV9DT01QSUxFIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoxNTIzOiBCQVNIX0NIRUNLX1NQRUVEX1QgaXMgZXhwYW5kZWQgZnJvbS4uLgorY29uZmlndXJlLmluOjk1MjogdGhlIHRvcCBsZXZlbF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NTI6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbU1BFRURfVF9JTl9TWVNfVFlQRVNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTUyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNQRUVEX1RfSU5fU1lTX1RZUEVTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NTM6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9HRVRQV19ERUNMU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NTM6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9HRVRQV19ERUNMUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTU0OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX1JVTicgaXMgb2Jzb2xldGUuCitZb3Ugc2hvdWxkIHJ1biBhdXRvdXBkYXRlLl0sIFsuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNTkyOiBBQ19UUllfUlVOIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoxOTc0OiBBQ19DQUNIRV9WQUwgaXMgZXhwYW5kZWQgZnJvbS4uLgorYWNsb2NhbC5tNDoxNjUwOiBCQVNIX0NIRUNLX1JUU0lHUyBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTU0OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk1NDogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtVTlVTQUJMRV9SVF9TSUdOQUxTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk1NDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15VTlVTQUJMRV9SVF9TSUdOQUxTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NTU6IC0xLSBBQ19TVUJTVChbU0lHTElTVF9PXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk1NTogLTEtIEFDX1NVQlNUX1RSQUNFKFtTSUdMSVNUX09dKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTU1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNJR0xJU1RfTyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTU5OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW1RoZSBtYWNybyBgQUNfVFJZX0NPTVBJTEUnIGlzIG9ic29sZXRlLgorWW91IHNob3VsZCBydW4gYXV0b3VwZGF0ZS5dLCBbLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MjQ3MDogQUNfVFJZX0NPTVBJTEUgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL200c3VnYXIvbTRzaC5tNDo1MDU6IEFTX0lGIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjE5NzQ6IEFDX0NBQ0hFX1ZBTCBpcyBleHBhbmRlZCBmcm9tLi4uCithY2xvY2FsLm00OjE2MDI6IEJBU0hfQ0hFQ0tfS0VSTkVMX1JMSU1JVCBpcyBleHBhbmRlZCBmcm9tLi4uCitjb25maWd1cmUuaW46OTU5OiB0aGUgdG9wIGxldmVsXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk1OTogLTEtIF9tNF93YXJuKFtvYnNvbGV0ZV0sIFtUaGUgbWFjcm8gYEFDX1RSWV9DT01QSUxFJyBpcyBvYnNvbGV0ZS4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgWy4uLy4uL2xpYi9hdXRvY29uZi9nZW5lcmFsLm00OjI0NzA6IEFDX1RSWV9DT01QSUxFIGlzIGV4cGFuZGVkIGZyb20uLi4KKy4uLy4uL2xpYi9tNHN1Z2FyL200c2gubTQ6NTA1OiBBU19JRiBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDYyOiBBQ19DT01QSUxFX0lGRUxTRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvYXV0b2NvbmYvZ2VuZXJhbC5tNDoyNDcwOiBBQ19UUllfQ09NUElMRSBpcyBleHBhbmRlZCBmcm9tLi4uCisuLi8uLi9saWIvbTRzdWdhci9tNHNoLm00OjUwNTogQVNfSUYgaXMgZXhwYW5kZWQgZnJvbS4uLgorLi4vLi4vbGliL2F1dG9jb25mL2dlbmVyYWwubTQ6MTk3NDogQUNfQ0FDSEVfVkFMIGlzIGV4cGFuZGVkIGZyb20uLi4KK2FjbG9jYWwubTQ6MTYwMjogQkFTSF9DSEVDS19LRVJORUxfUkxJTUlUIGlzIGV4cGFuZGVkIGZyb20uLi4KK2NvbmZpZ3VyZS5pbjo5NTk6IHRoZSB0b3AgbGV2ZWxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTU5OiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1JMSU1JVF9ORUVEU19LRVJORUxdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTU5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlJMSU1JVF9ORUVEU19LRVJORUwkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk2OTogLTEtIEFDX1NVQlNUKFtURVJNQ0FQX0xJQl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5Njk6IC0xLSBBQ19TVUJTVF9UUkFDRShbVEVSTUNBUF9MSUJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTY5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlRFUk1DQVBfTElCJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NzA6IC0xLSBBQ19TVUJTVChbVEVSTUNBUF9ERVBdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTcwOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1RFUk1DQVBfREVQXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk3MDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15URVJNQ0FQX0RFUCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTcyOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0hBVkVfREVWX0ZEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk3MjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15IQVZFX0RFVl9GRCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTcyOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0RFVl9GRF9QUkVGSVhdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTcyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkRFVl9GRF9QUkVGSVgkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk3MjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtIQVZFX0RFVl9GRF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NzI6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteSEFWRV9ERVZfRkQkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk3MjogLTEtIEFDX0RFRklORV9UUkFDRV9MSVRFUkFMKFtERVZfRkRfUFJFRklYXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk3MjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15ERVZfRkRfUFJFRklYJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NzM6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbSEFWRV9ERVZfU1RESU5dKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTczOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkhBVkVfREVWX1NURElOJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NzQ6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbREVGQVVMVF9NQUlMX0RJUkVDVE9SWV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5NzQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteREVGQVVMVF9NQUlMX0RJUkVDVE9SWSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTgxOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW0pPQl9DT05UUk9MXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk4MTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15KT0JfQ09OVFJPTCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46OTg3OiAtMS0gQUNfU1VCU1QoW0pPQlNfT10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjo5ODc6IC0xLSBBQ19TVUJTVF9UUkFDRShbSk9CU19PXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjk4NzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15KT0JTX08kXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwMDA6IC0xLSBBQ19ERUZJTkVfVFJBQ0VfTElURVJBTChbU1ZSNF8yXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwMDA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteU1ZSNF8yJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDAxOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1NWUjRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTAwMTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TVlI0JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDAyOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1NWUjRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTAwMjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TVlI0JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDAzOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1NWUjVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTAwMzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TVlI1JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDIyOiAtMS0gQUNfREVGSU5FX1RSQUNFX0xJVEVSQUwoW1BHUlBfUElQRV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDIyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlBHUlBfUElQRSRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTA2OTogLTEtIEFDX1NVQlNUKFtTSE9CSl9DQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDY5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1NIT0JKX0NDXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwNjk6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteU0hPQkpfQ0MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwNzA6IC0xLSBBQ19TVUJTVChbU0hPQkpfQ0ZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwNzA6IC0xLSBBQ19TVUJTVF9UUkFDRShbU0hPQkpfQ0ZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwNzA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteU0hPQkpfQ0ZMQUdTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDcxOiAtMS0gQUNfU1VCU1QoW1NIT0JKX0xEXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwNzE6IC0xLSBBQ19TVUJTVF9UUkFDRShbU0hPQkpfTERdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTA3MTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TSE9CSl9MRCRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTA3MjogLTEtIEFDX1NVQlNUKFtTSE9CSl9MREZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwNzI6IC0xLSBBQ19TVUJTVF9UUkFDRShbU0hPQkpfTERGTEFHU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDcyOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNIT0JKX0xERkxBR1MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwNzM6IC0xLSBBQ19TVUJTVChbU0hPQkpfWExERkxBR1NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTA3MzogLTEtIEFDX1NVQlNUX1RSQUNFKFtTSE9CSl9YTERGTEFHU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDczOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXlNIT0JKX1hMREZMQUdTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMDc0OiAtMS0gQUNfU1VCU1QoW1NIT0JKX0xJQlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTA3NDogLTEtIEFDX1NVQlNUX1RSQUNFKFtTSE9CSl9MSUJTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjEwNzQ6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteU0hPQkpfTElCUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTA3NTogLTEtIEFDX1NVQlNUKFtTSE9CSl9TVEFUVVNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTA3NTogLTEtIEFDX1NVQlNUX1RSQUNFKFtTSE9CSl9TVEFUVVNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTA3NTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15TSE9CSl9TVEFUVVMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMDc6IC0xLSBBQ19TVUJTVChbUFJPRklMRV9GTEFHU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTA3OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW1BST0ZJTEVfRkxBR1NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEwNzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15QUk9GSUxFX0ZMQUdTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTA5OiAtMS0gQUNfU1VCU1QoW2luY2Rpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTA5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW2luY2Rpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTA5OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmluY2RpciRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTExMDogLTEtIEFDX1NVQlNUKFtCVUlMRF9ESVJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTExMDogLTEtIEFDX1NVQlNUX1RSQUNFKFtCVUlMRF9ESVJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTExMDogLTEtIG00X3BhdHRlcm5fYWxsb3coW15CVUlMRF9ESVIkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMTM6IC0xLSBBQ19TVUJTVChbZGF0YXJvb3RkaXJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTExMzogLTEtIEFDX1NVQlNUX1RSQUNFKFtkYXRhcm9vdGRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTEzOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmRhdGFyb290ZGlyJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTE0OiAtMS0gQUNfU1VCU1QoW2xvY2FsZWRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTE0OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW2xvY2FsZWRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTE0OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmxvY2FsZWRpciRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTExNjogLTEtIEFDX1NVQlNUKFtZQUNDXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMTY6IC0xLSBBQ19TVUJTVF9UUkFDRShbWUFDQ10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTE2OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXllBQ0MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMTc6IC0xLSBBQ19TVUJTVChbQVJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTExNzogLTEtIEFDX1NVQlNUX1RSQUNFKFtBUl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTE3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkFSJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTE4OiAtMS0gQUNfU1VCU1QoW0FSRkxBR1NdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTExODogLTEtIEFDX1NVQlNUX1RSQUNFKFtBUkZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMTg6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQVJGTEFHUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEyMDogLTEtIEFDX1NVQlNUKFtCQVNIVkVSU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTIwOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0JBU0hWRVJTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMjA6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteQkFTSFZFUlMkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMjE6IC0xLSBBQ19TVUJTVChbUkVMU1RBVFVTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMjE6IC0xLSBBQ19TVUJTVF9UUkFDRShbUkVMU1RBVFVTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMjE6IC0xLSBtNF9wYXR0ZXJuX2FsbG93KFteUkVMU1RBVFVTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTIyOiAtMS0gQUNfU1VCU1QoW0RFQlVHXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMjI6IC0xLSBBQ19TVUJTVF9UUkFDRShbREVCVUddKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEyMjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15ERUJVRyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEyMzogLTEtIEFDX1NVQlNUKFtNQUxMT0NfREVCVUddKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEyMzogLTEtIEFDX1NVQlNUX1RSQUNFKFtNQUxMT0NfREVCVUddKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEyMzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15NQUxMT0NfREVCVUckXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMjU6IC0xLSBBQ19TVUJTVChbaG9zdF9jcHVdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEyNTogLTEtIEFDX1NVQlNUX1RSQUNFKFtob3N0X2NwdV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTI1OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmhvc3RfY3B1JF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTI2OiAtMS0gQUNfU1VCU1QoW2hvc3RfdmVuZG9yXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMjY6IC0xLSBBQ19TVUJTVF9UUkFDRShbaG9zdF92ZW5kb3JdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEyNjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15ob3N0X3ZlbmRvciRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEyNzogLTEtIEFDX1NVQlNUKFtob3N0X29zXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMjc6IC0xLSBBQ19TVUJTVF9UUkFDRShbaG9zdF9vc10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTI3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXmhvc3Rfb3MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMjk6IC0xLSBBQ19TVUJTVChbTE9DQUxfTElCU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTI5OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xPQ0FMX0xJQlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEyOTogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MT0NBTF9MSUJTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTMwOiAtMS0gQUNfU1VCU1QoW0xPQ0FMX0NGTEFHU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTMwOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xPQ0FMX0NGTEFHU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTMwOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkxPQ0FMX0NGTEFHUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEzMTogLTEtIEFDX1NVQlNUKFtMT0NBTF9MREZMQUdTXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMzE6IC0xLSBBQ19TVUJTVF9UUkFDRShbTE9DQUxfTERGTEFHU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTMxOiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkxPQ0FMX0xERkxBR1MkXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMzI6IC0xLSBBQ19TVUJTVChbTE9DQUxfREVGU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTMyOiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xPQ0FMX0RFRlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEzMjogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MT0NBTF9ERUZTJF0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTM3OiAtMS0gQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZSBidWlsdGlucy9NYWtlZmlsZSBsaWIvcmVhZGxpbmUvTWFrZWZpbGUgbGliL2dsb2IvTWFrZWZpbGUgXAorCSAgbGliL2ludGwvTWFrZWZpbGUgXAorCSAgbGliL21hbGxvYy9NYWtlZmlsZSBsaWIvc2gvTWFrZWZpbGUgbGliL3Rlcm1jYXAvTWFrZWZpbGUgXAorCSAgbGliL3RpbGRlL01ha2VmaWxlIGRvYy9NYWtlZmlsZSBzdXBwb3J0L01ha2VmaWxlIHBvL01ha2VmaWxlLmluIFwKKwkgIGV4YW1wbGVzL2xvYWRhYmxlcy9NYWtlZmlsZSBleGFtcGxlcy9sb2FkYWJsZXMvcGVybC9NYWtlZmlsZV0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTM3OiAtMS0gX200X3dhcm4oW29ic29sZXRlXSwgW0FDX09VVFBVVCBzaG91bGQgYmUgdXNlZCB3aXRob3V0IGFyZ3VtZW50cy4KK1lvdSBzaG91bGQgcnVuIGF1dG91cGRhdGUuXSwgW10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTM3OiAtMS0gQUNfU1VCU1QoW0xJQkAmdEBPQkpTXSwgWyRhY19saWJvYmpzXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMzc6IC0xLSBBQ19TVUJTVF9UUkFDRShbTElCQCZ0QE9CSlNdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEzNzogLTEtIG00X3BhdHRlcm5fYWxsb3coW15MSUJAJnRAT0JKUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEzNzogLTEtIEFDX1NVQlNUKFtMVExJQk9CSlNdLCBbJGFjX2x0bGlib2Jqc10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTM3OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0xUTElCT0JKU10pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTM3OiAtMS0gbTRfcGF0dGVybl9hbGxvdyhbXkxUTElCT0JKUyRdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEzNzogLTEtIEFDX1NVQlNUX1RSQUNFKFt0b3BfYnVpbGRkaXJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEzNzogLTEtIEFDX1NVQlNUX1RSQUNFKFt0b3BfYnVpbGRfcHJlZml4XSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMzc6IC0xLSBBQ19TVUJTVF9UUkFDRShbc3JjZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMzc6IC0xLSBBQ19TVUJTVF9UUkFDRShbYWJzX3NyY2Rpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTM3OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW3RvcF9zcmNkaXJdKQorbTR0cmFjZTpjb25maWd1cmUuaW46MTEzNzogLTEtIEFDX1NVQlNUX1RSQUNFKFthYnNfdG9wX3NyY2Rpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTM3OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW2J1aWxkZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMzc6IC0xLSBBQ19TVUJTVF9UUkFDRShbYWJzX2J1aWxkZGlyXSkKK200dHJhY2U6Y29uZmlndXJlLmluOjExMzc6IC0xLSBBQ19TVUJTVF9UUkFDRShbYWJzX3RvcF9idWlsZGRpcl0pCittNHRyYWNlOmNvbmZpZ3VyZS5pbjoxMTM3OiAtMS0gQUNfU1VCU1RfVFJBQ0UoW0lOU1RBTExdKQpkaWZmIC0tZ2l0IGEvYmFzaGhpc3QuYyBiL2Jhc2hoaXN0LmMKaW5kZXggYTgwOTY4Zi4uNzI0MGE1YiAxMDA2NDQKLS0tIGEvYmFzaGhpc3QuYworKysgYi9iYXNoaGlzdC5jCkBAIC0xLDYgKzEsNiBAQAogLyogYmFzaGhpc3QuYyAtLSBiYXNoIGludGVyZmFjZSB0byB0aGUgR05VIGhpc3RvcnkgbGlicmFyeS4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTkzLTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5OTMtMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTE4NCw2ICsxODQsNyBAQAogZXh0ZXJuIGludCBjdXJyZW50X2NvbW1hbmRfbGluZV9jb3VudDsKIAogZXh0ZXJuIHN0cnVjdCBkc3RhY2sgZHN0YWNrOworZXh0ZXJuIGludCBwYXJzZXJfc3RhdGU7CiAKIHN0YXRpYyBpbnQgYmFzaF9oaXN0b3J5X2luaGliaXRfZXhwYW5zaW9uIF9fUCgoY2hhciAqLCBpbnQpKTsKICNpZiBkZWZpbmVkIChSRUFETElORSkKQEAgLTIxMiw2ICsyMTMsOSBAQAogICBlbHNlIGlmIChpID4gMSAmJiBzdHJpbmdbaSAtIDFdID09ICd7JyAmJiBzdHJpbmdbaSAtIDJdID09ICckJyAmJgogCSAgICAgbWVtYmVyICgnfScsIHN0cmluZyArIGkgKyAxKSkKICAgICByZXR1cm4gKDEpOworICAvKiBUaGUgc2hlbGwgdXNlcyAkISBhcyBhIGRlZmluZWQgcGFyYW1ldGVyIGV4cGFuc2lvbi4gKi8KKyAgZWxzZSBpZiAoaSA+IDEgJiYgc3RyaW5nW2kgLSAxXSA9PSAnJCcgJiYgc3RyaW5nW2ldID09ICchJykKKyAgICByZXR1cm4gKDEpOwogI2lmIGRlZmluZWQgKEVYVEVOREVEX0dMT0IpCiAgIGVsc2UgaWYgKGV4dGVuZGVkX2dsb2IgJiYgaSA+IDEgJiYgc3RyaW5nW2krMV0gPT0gJygnICYmIG1lbWJlciAoJyknLCBzdHJpbmcgKyBpICsgMikpCiAgICAgcmV0dXJuICgxKTsKQEAgLTM1NSw3ICszNTksNyBAQAogCSB0aGUgaGlzdG9yeSBmaWxlLiAqLwogICAgICAgdXNpbmdfaGlzdG9yeSAoKTsKIAotICAgICAgaWYgKGhpc3RvcnlfbGluZXNfdGhpc19zZXNzaW9uIDwgd2hlcmVfaGlzdG9yeSAoKSB8fCBmb3JjZV9hcHBlbmRfaGlzdG9yeSkKKyAgICAgIGlmIChoaXN0b3J5X2xpbmVzX3RoaXNfc2Vzc2lvbiA8PSB3aGVyZV9oaXN0b3J5ICgpIHx8IGZvcmNlX2FwcGVuZF9oaXN0b3J5KQogCWFwcGVuZF9oaXN0b3J5IChoaXN0b3J5X2xpbmVzX3RoaXNfc2Vzc2lvbiwgaGYpOwogICAgICAgZWxzZQogCXdyaXRlX2hpc3RvcnkgKGhmKTsKQEAgLTM3Miw3ICszNzYsNyBAQAogICBzdHJ1Y3Qgc3RhdCBidWY7CiAKICAgcmVzdWx0ID0gRVhFQ1VUSU9OX1NVQ0NFU1M7Ci0gIGlmIChoaXN0b3J5X2xpbmVzX3RoaXNfc2Vzc2lvbiAmJiAoaGlzdG9yeV9saW5lc190aGlzX3Nlc3Npb24gPCB3aGVyZV9oaXN0b3J5ICgpKSkKKyAgaWYgKGhpc3RvcnlfbGluZXNfdGhpc19zZXNzaW9uICYmIChoaXN0b3J5X2xpbmVzX3RoaXNfc2Vzc2lvbiA8PSB3aGVyZV9oaXN0b3J5ICgpKSkKICAgICB7CiAgICAgICAvKiBJZiB0aGUgZmlsZW5hbWUgd2FzIHN1cHBsaWVkLCB0aGVuIGNyZWF0ZSBpdCBpZiBuZWNlc3NhcnkuICovCiAgICAgICBpZiAoc3RhdCAoZmlsZW5hbWUsICZidWYpID09IC0xICYmIGVycm5vID09IEVOT0VOVCkKQEAgLTczMSw3ICs3MzUsNyBAQAogICBhZGRfaXQgPSAxOwogICBpZiAoY29tbWFuZF9vcmllbnRlZF9oaXN0b3J5ICYmIGN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50ID4gMSkKICAgICB7Ci0gICAgICBjaGFyc190b19hZGQgPSBsaXRlcmFsX2hpc3RvcnkgPyAiXG4iIDogaGlzdG9yeV9kZWxpbWl0aW5nX2NoYXJzICgpOworICAgICAgY2hhcnNfdG9fYWRkID0gbGl0ZXJhbF9oaXN0b3J5ID8gIlxuIiA6IGhpc3RvcnlfZGVsaW1pdGluZ19jaGFycyAobGluZSk7CiAKICAgICAgIHVzaW5nX2hpc3RvcnkgKCk7CiAgICAgICBjdXJyZW50ID0gcHJldmlvdXNfaGlzdG9yeSAoKTsKQEAgLTc1MSw2ICs3NTUsMTMgQEAKIAkgICAgICBjaGFyc190b19hZGQgPSAiIjsKIAkgICAgfQogCisJICAvKiBJZiB3ZSdyZSBub3QgaW4gc29tZSBraW5kIG9mIHF1b3RlZCBjb25zdHJ1Y3QsIHRoZSBjdXJyZW50IGhpc3RvcnkKKwkgICAgIGVudHJ5IGVuZHMgd2l0aCBhIG5ld2xpbmUsIGFuZCB3ZSdyZSBnb2luZyB0byBhZGQgYSBzZW1pY29sb24sCisJICAgICBkb24ndC4gIEluIHNvbWUgY2FzZXMsIGl0IHJlc3VsdHMgaW4gYSBzeW50YXggZXJyb3IgKGUuZy4sIGJlZm9yZQorCSAgICAgYSBjbG9zZSBicmFjZSksIGFuZCBpdCBzaG91bGQgbm90IGJlIG5lZWRlZC4gKi8KKwkgIGlmIChkc3RhY2suZGVsaW1pdGVyX2RlcHRoID09IDAgJiYgY3VycmVudC0+bGluZVtjdXJsZW4gLSAxXSA9PSAnXG4nICYmICpjaGFyc190b19hZGQgPT0gJzsnKQorCSAgICBjaGFyc190b19hZGQrKzsKKwogCSAgbmV3X2xpbmUgPSAoY2hhciAqKXhtYWxsb2MgKDEKIAkJCQkgICAgICArIGN1cmxlbgogCQkJCSAgICAgICsgc3RybGVuIChsaW5lKQpkaWZmIC0tZ2l0IGEvYmFzaGxpbmUuYyBiL2Jhc2hsaW5lLmMKaW5kZXggOWI0OWQwYi4uNTJjNmRlNiAxMDA2NDQKLS0tIGEvYmFzaGxpbmUuYworKysgYi9iYXNobGluZS5jCkBAIC0xLDYgKzEsNiBAQAogLyogYmFzaGxpbmUuYyAtLSBCYXNoJ3MgaW50ZXJmYWNlIHRvIHRoZSByZWFkbGluZSBsaWJyYXJ5LiAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDE5ODctMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtMTc1LDcgKzE3NSw4IEBACiBleHRlcm4gaW50IGhpc3RfdmVyaWZ5OwogI2VuZGlmCiAKLWV4dGVybiBpbnQgY3VycmVudF9jb21tYW5kX2xpbmVfY291bnQsIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlOworZXh0ZXJuIGludCBjdXJyZW50X2NvbW1hbmRfbGluZV9jb3VudCwgc2F2ZWRfY29tbWFuZF9saW5lX2NvdW50OworZXh0ZXJuIGludCBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZTsKIGV4dGVybiBpbnQgYXJyYXlfbmVlZHNfbWFraW5nOwogZXh0ZXJuIGludCBwb3NpeGx5X2NvcnJlY3QsIG5vX3N5bWJvbGljX2xpbmtzOwogZXh0ZXJuIGNoYXIgKmN1cnJlbnRfcHJvbXB0X3N0cmluZywgKnBzMV9wcm9tcHQ7CkBAIC01MDAsNyArNTAxLDcgQEAKIAogICAvKiBUZWxsIHRoZSBjb21wbGV0ZXIgdGhhdCB3ZSBtaWdodCB3YW50IHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcyBvcgogICAgICBkbyBvdGhlciBleHBhbnNpb24gb24gZGlyZWN0b3J5IG5hbWVzLiAqLwotICBybF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rID0gYmFzaF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rOworICBybF9kaXJlY3RvcnlfcmV3cml0ZV9ob29rID0gYmFzaF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rOwogCiAgIHJsX2ZpbGVuYW1lX3Jld3JpdGVfaG9vayA9IGJhc2hfZmlsZW5hbWVfcmV3cml0ZV9ob29rOwogCkBAIC01MjgsMTEgKzUyOSw4IEBACiAgIGVuYWJsZV9ob3N0bmFtZV9jb21wbGV0aW9uIChwZXJmb3JtX2hvc3RuYW1lX2NvbXBsZXRpb24pOwogCiAgIC8qIGNoYXJhY3RlcnMgdGhhdCBuZWVkIHRvIGJlIHF1b3RlZCB3aGVuIGFwcGVhcmluZyBpbiBmaWxlbmFtZXMuICovCi0jaWYgMAotICBybF9maWxlbmFtZV9xdW90ZV9jaGFyYWN0ZXJzID0gIiBcdFxuXFxcIidAPD49O3wmKCkjJGA/KlshOnsiOwkvKn0qLwotI2Vsc2UKICAgcmxfZmlsZW5hbWVfcXVvdGVfY2hhcmFjdGVycyA9ICIgXHRcblxcXCInQDw+PTt8JigpIyRgPypbITp7fiI7CS8qfSovCi0jZW5kaWYKKwogICBybF9maWxlbmFtZV9xdW90aW5nX2Z1bmN0aW9uID0gYmFzaF9xdW90ZV9maWxlbmFtZTsKICAgcmxfZmlsZW5hbWVfZGVxdW90aW5nX2Z1bmN0aW9uID0gYmFzaF9kZXF1b3RlX2ZpbGVuYW1lOwogICBybF9jaGFyX2lzX3F1b3RlZF9wID0gY2hhcl9pc19xdW90ZWQ7CkBAIC01NjYsNyArNTY0LDcgQEAKICAgdGlsZGVfaW5pdGlhbGl6ZSAoKTsKICAgcmxfYXR0ZW1wdGVkX2NvbXBsZXRpb25fZnVuY3Rpb24gPSBhdHRlbXB0X3NoZWxsX2NvbXBsZXRpb247CiAgIHJsX2NvbXBsZXRpb25fZW50cnlfZnVuY3Rpb24gPSBOVUxMOwotICBybF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rID0gYmFzaF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rOworICBybF9kaXJlY3RvcnlfcmV3cml0ZV9ob29rID0gYmFzaF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rOwogICBybF9pZ25vcmVfc29tZV9jb21wbGV0aW9uc19mdW5jdGlvbiA9IGZpbGVuYW1lX2NvbXBsZXRpb25faWdub3JlOwogfQogCkBAIC04NjIsMTAgKzg2MCwxMSBAQAogICAgICBjaGFyICplZGl0X2NvbW1hbmQ7CiB7CiAgIGNoYXIgKmNvbW1hbmQsICptZXRhdmFsOwotICBpbnQgciwgY2NsYywgcnJzLCBtZXRhZmxhZzsKKyAgaW50IHIsIHJycywgbWV0YWZsYWc7CisgIHNoX3BhcnNlcl9zdGF0ZV90IHBzOwogCiAgIHJycyA9IHJsX3JlYWRsaW5lX3N0YXRlOwotICBjY2xjID0gY3VycmVudF9jb21tYW5kX2xpbmVfY291bnQ7CisgIHNhdmVkX2NvbW1hbmRfbGluZV9jb3VudCA9IGN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50OwogCiAgIC8qIEFjY2VwdCB0aGUgY3VycmVudCBsaW5lLiAqLwogICBybF9uZXdsaW5lICgxLCBjKTsKQEAgLTg4MSw2ICs4ODAsOCBAQAogCSB0aGVuIGNhbGwgZmMgdG8gb3BlcmF0ZSBvbiBpdC4gIFdlIGhhdmUgdG8gYWRkIGEgZHVtbXkgY29tbWFuZCB0bwogCSB0aGUgZW5kIG9mIHRoZSBoaXN0b3J5IGJlY2F1c2UgZmMgaWdub3JlcyB0aGUgbGFzdCBjb21tYW5kIChhc3N1bWVzCiAJIGl0J3Mgc3VwcG9zZWQgdG8gZGVhbCB3aXRoIHRoZSBjb21tYW5kIGJlZm9yZSB0aGUgYGZjJykuICovCisgICAgICAvKiBUaGlzIGJyZWFrcyBkb3duIHdoZW4gdXNpbmcgY29tbWFuZC1vcmllbnRlZCBoaXN0b3J5IGFuZCBhcmUgbm90CisJIGZpbmlzaGVkIHdpdGggdGhlIGNvbW1hbmQsIHNvIHdlIHNob3VsZCBub3QgaWdub3JlIHRoZSBsYXN0IGNvbW1hbmQgKi8KICAgICAgIHVzaW5nX2hpc3RvcnkgKCk7CiAgICAgICBiYXNoX2FkZF9oaXN0b3J5IChybF9saW5lX2J1ZmZlcik7CiAgICAgICBiYXNoX2FkZF9oaXN0b3J5ICgiIik7CkBAIC04OTcsMTEgKzg5OCwxMyBAQAogICAgICB5ZXQuICovCiAgIGlmIChybF9kZXByZXBfdGVybV9mdW5jdGlvbikKICAgICAoKnJsX2RlcHJlcF90ZXJtX2Z1bmN0aW9uKSAoKTsKKyAgc2F2ZV9wYXJzZXJfc3RhdGUgKCZwcyk7CiAgIHIgPSBwYXJzZV9hbmRfZXhlY3V0ZSAoY29tbWFuZCwgKGVkaXRpbmdfbW9kZSA9PSBWSV9FRElUSU5HX01PREUpID8gInYiIDogIkMteEMtZSIsIFNFVkFMX05PSElTVCk7CisgIHJlc3RvcmVfcGFyc2VyX3N0YXRlICgmcHMpOwogICBpZiAocmxfcHJlcF90ZXJtX2Z1bmN0aW9uKQogICAgICgqcmxfcHJlcF90ZXJtX2Z1bmN0aW9uKSAobWV0YWZsYWcpOwogCi0gIGN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50ID0gY2NsYzsKKyAgY3VycmVudF9jb21tYW5kX2xpbmVfY291bnQgPSBzYXZlZF9jb21tYW5kX2xpbmVfY291bnQ7CiAKICAgLyogTm93IGVyYXNlIHRoZSBjb250ZW50cyBvZiB0aGUgY3VycmVudCBsaW5lIGFuZCB1bmRvIHRoZSBlZmZlY3RzIG9mIHRoZQogICAgICBybF9hY2NlcHRfbGluZSgpIGFib3ZlLiAgV2UgZG9uJ3QgZXZlbiB3YW50IHRvIG1ha2UgdGhlIHRleHQgd2UganVzdApAQCAtOTkwLDYgKzk5MywyMCBAQAogCSAgcmV0dXJuIDA7CiAJfQogCisgICAgICAvKiBBcmUgd2UgaW4gYSBxdW90ZWQgc3RyaW5nPyAgSWYgd2UgYXJlLCBtb3ZlIHRvIHRoZSBlbmQgb2YgdGhlIHF1b3RlZAorICAgICAgICAgc3RyaW5nIGFuZCBjb250aW51ZSB0aGUgb3V0ZXIgbG9vcC4gV2Ugb25seSB3YW50IHF1b3RlZCBzdHJpbmdzLCBub3QKKyAgICAgICAgIGJhY2tzbGFzaC1lc2NhcGVkIGNoYXJhY3RlcnMsIGJ1dCBjaGFyX2lzX3F1b3RlZCBkb2Vzbid0CisgICAgICAgICBkaWZmZXJlbnRpYXRlLiAqLworICAgICAgaWYgKGNoYXJfaXNfcXVvdGVkIChybF9saW5lX2J1ZmZlciwgcCkgJiYgcCA+IDAgJiYgcmxfbGluZV9idWZmZXJbcC0xXSAhPSAnXFwnKQorCXsKKwkgIGRvCisJICAgIEFEVkFOQ0VfQ0hBUiAocmxfbGluZV9idWZmZXIsIHNsZW4sIHApOworCSAgd2hpbGUgKHAgPCBybF9lbmQgJiYgY2hhcl9pc19xdW90ZWQgKHJsX2xpbmVfYnVmZmVyLCBwKSk7CisJICBjb3VudC0tOworCSAgY29udGludWU7CisJfQorCisgICAgICAvKiBSZXN0IG9mIGNvZGUgYXNzdW1lcyB3ZSBhcmUgbm90IGluIGEgcXVvdGVkIHN0cmluZy4gKi8KICAgICAgIC8qIE1vdmUgZm9yd2FyZCB1bnRpbCB3ZSBoaXQgYSBub24tbWV0YWNoYXJhY3Rlci4gKi8KICAgICAgIHdoaWxlIChwIDwgcmxfZW5kICYmIChjID0gcmxfbGluZV9idWZmZXJbcF0pICYmIFdPUkRERUxJTSAoYykpCiAJewpAQCAtMTM5NywxMiArMTQxNCwxMiBAQAogCiAgIC8qIElmIHRoZSB3b3JkIHN0YXJ0cyBpbiBgficsIGFuZCB0aGVyZSBpcyBubyBzbGFzaCBpbiB0aGUgd29yZCwgdGhlbgogICAgICB0cnkgY29tcGxldGluZyB0aGlzIHdvcmQgYXMgYSB1c2VybmFtZS4gKi8KLSAgaWYgKG1hdGNoZXMgPT0wICYmICp0ZXh0ID09ICd+JyAmJiBtYnNjaHIgKHRleHQsICcvJykgPT0gMCkKKyAgaWYgKG1hdGNoZXMgPT0gMCAmJiAqdGV4dCA9PSAnficgJiYgbWJzY2hyICh0ZXh0LCAnLycpID09IDApCiAgICAgbWF0Y2hlcyA9IHJsX2NvbXBsZXRpb25fbWF0Y2hlcyAodGV4dCwgcmxfdXNlcm5hbWVfY29tcGxldGlvbl9mdW5jdGlvbik7CiAKICAgLyogQW5vdGhlciBvbmUuICBXaHkgbm90PyAgSWYgdGhlIHdvcmQgc3RhcnRzIGluICdAJywgdGhlbiBsb29rIHRocm91Z2gKICAgICAgdGhlIHdvcmxkIG9mIGtub3duIGhvc3RuYW1lcyBmb3IgY29tcGxldGlvbiBmaXJzdC4gKi8KLSAgaWYgKCFtYXRjaGVzICYmIHBlcmZvcm1faG9zdG5hbWVfY29tcGxldGlvbiAmJiAqdGV4dCA9PSAnQCcpCisgIGlmIChtYXRjaGVzID09IDAgJiYgcGVyZm9ybV9ob3N0bmFtZV9jb21wbGV0aW9uICYmICp0ZXh0ID09ICdAJykKICAgICBtYXRjaGVzID0gcmxfY29tcGxldGlvbl9tYXRjaGVzICh0ZXh0LCBob3N0bmFtZV9jb21wbGV0aW9uX2Z1bmN0aW9uKTsKIAogICAvKiBBbmQgbGFzdCwgKGJ1dCBub3QgbGVhc3QpIGlmIHRoaXMgd29yZCBpcyBpbiBhIGNvbW1hbmQgcG9zaXRpb24sIHRoZW4KQEAgLTI2NDgsOCArMjY2NSw3IEBACiAKICAgaWYgKHJsX2RpcmVjdG9yeV9yZXdyaXRlX2hvb2spCiAgICAgKCpybF9kaXJlY3RvcnlfcmV3cml0ZV9ob29rKSAoJmQpOwotCi0gIGlmIChybF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rICYmICgqcmxfZGlyZWN0b3J5X2NvbXBsZXRpb25faG9vaykgKCZkKSkKKyAgZWxzZSBpZiAocmxfZGlyZWN0b3J5X2NvbXBsZXRpb25faG9vayAmJiAoKnJsX2RpcmVjdG9yeV9jb21wbGV0aW9uX2hvb2spICgmZCkpCiAgICAgewogICAgICAgZnJlZSAoKmRpcm5hbWUpOwogICAgICAgKmRpcm5hbWUgPSBkOwpAQCAtMjY3OCw3ICsyNjk0LDkgQEAKIH0KIAogLyogSGFuZGxlIHN5bWJvbGljIGxpbmsgcmVmZXJlbmNlcyBhbmQgb3RoZXIgZGlyZWN0b3J5IG5hbWUKLSAgIGV4cGFuc2lvbnMgd2hpbGUgaGFja2luZyBjb21wbGV0aW9uLiAqLworICAgZXhwYW5zaW9ucyB3aGlsZSBoYWNraW5nIGNvbXBsZXRpb24uICBUaGlzIHNob3VsZCByZXR1cm4gMSBpZiBpdCBtb2RpZmllcworICAgdGhlIERJUk5BTUUgYXJndW1lbnQsIDAgb3RoZXJ3aXNlLiAgSXQgc2hvdWxkIG1ha2Ugc3VyZSBub3QgdG8gbW9kaWZ5CisgICBESVJOQU1FIGlmIGl0IHJldHVybnMgMC4gKi8KIHN0YXRpYyBpbnQKIGJhc2hfZGlyZWN0b3J5X2NvbXBsZXRpb25faG9vayAoZGlybmFtZSkKICAgICAgY2hhciAqKmRpcm5hbWU7CkBAIC0yNzM1LDYgKzI3NTMsNyBAQAogICAgIHsKICAgICAgIC8qIERlcXVvdGUgdGhlIGZpbGVuYW1lIGV2ZW4gaWYgd2UgZG9uJ3QgZXhwYW5kIGl0LiAqLwogICAgICAgbmV3X2Rpcm5hbWUgPSBiYXNoX2RlcXVvdGVfZmlsZW5hbWUgKGxvY2FsX2Rpcm5hbWUsIHJsX2NvbXBsZXRpb25fcXVvdGVfY2hhcmFjdGVyKTsKKyAgICAgIHJldHVybl92YWx1ZSA9IFNUUkVRIChsb2NhbF9kaXJuYW1lLCBuZXdfZGlybmFtZSkgPT0gMDsKICAgICAgIGZyZWUgKGxvY2FsX2Rpcm5hbWUpOwogICAgICAgbG9jYWxfZGlybmFtZSA9ICpkaXJuYW1lID0gbmV3X2Rpcm5hbWU7CiAgICAgfQpAQCAtMjc1OCwxNCArMjc3NywxNCBAQAogCSAgICAgIGZyZWUgKHRlbXAxKTsKIAkgICAgICB0ZW1wMSA9IHRlbXAyOwogCSAgICAgIHRlbXAyID0gc2hfY2Fub25wYXRoICh0ZW1wMSwgUEFUSF9DSEVDS0RPVERPVHxQQVRIX0NIRUNLRVhJU1RTKTsKLQkgICAgICByZXR1cm5fdmFsdWUgPSB0ZW1wMiAhPSAwOworCSAgICAgIHJldHVybl92YWx1ZSB8PSB0ZW1wMiAhPSAwOwogCSAgICB9CiAJfQogICAgICAgLyogSWYgd2UgY2FuJ3QgY2Fub25pY2FsaXplLCBiYWlsLiAqLwogICAgICAgaWYgKHRlbXAyID09IDApCiAJewogCSAgZnJlZSAodGVtcDEpOwotCSAgcmV0dXJuIDE7CisJICByZXR1cm4gcmV0dXJuX3ZhbHVlOwogCX0KICAgICAgIGxlbjEgPSBzdHJsZW4gKHRlbXAxKTsKICAgICAgIGlmICh0ZW1wMVtsZW4xIC0gMV0gPT0gJy8nKQpAQCAtMjc3OCwxMCArMjc5NywxMiBAQAogCSAgICAgIHRlbXAyW2xlbjIgKyAxXSA9ICdcMCc7CiAJICAgIH0KIAl9CisgICAgICByZXR1cm5fdmFsdWUgfD0gU1RSRVEgKGxvY2FsX2Rpcm5hbWUsIHRlbXAyKSA9PSAwOwogICAgICAgZnJlZSAobG9jYWxfZGlybmFtZSk7CiAgICAgICAqZGlybmFtZSA9IHRlbXAyOwogICAgICAgZnJlZSAodGVtcDEpOwogICAgIH0KKwogICByZXR1cm4gKHJldHVybl92YWx1ZSk7CiB9CiAKQEAgLTI4NzAsMTIgKzI4OTEsMTUgQEAKICAgaW50IHI7CiAgIHJsX2NvbXBlbnRyeV9mdW5jX3QgKm9yaWdfZnVuYzsKICAgcmxfY29tcGxldGlvbl9mdW5jX3QgKm9yaWdfYXR0ZW1wdF9mdW5jOworICBybF9jb21waWdub3JlX2Z1bmNfdCAqb3JpZ19pZ25vcmVfZnVuYzsKIAogICBvcmlnX2Z1bmMgPSBybF9jb21wbGV0aW9uX2VudHJ5X2Z1bmN0aW9uOwogICBvcmlnX2F0dGVtcHRfZnVuYyA9IHJsX2F0dGVtcHRlZF9jb21wbGV0aW9uX2Z1bmN0aW9uOworICBvcmlnX2lnbm9yZV9mdW5jID0gcmxfaWdub3JlX3NvbWVfY29tcGxldGlvbnNfZnVuY3Rpb247CiAKICAgcmxfY29tcGxldGlvbl9lbnRyeV9mdW5jdGlvbiA9IGhpc3RvcnlfY29tcGxldGlvbl9nZW5lcmF0b3I7CiAgIHJsX2F0dGVtcHRlZF9jb21wbGV0aW9uX2Z1bmN0aW9uID0gKHJsX2NvbXBsZXRpb25fZnVuY190ICopTlVMTDsKKyAgcmxfaWdub3JlX3NvbWVfY29tcGxldGlvbnNfZnVuY3Rpb24gPSBmaWxlbmFtZV9jb21wbGV0aW9uX2lnbm9yZTsKIAogICAvKiBYWFggLSB1c2UgcmxfY29tcGxldGlvbl9tb2RlIGhlcmU/ICovCiAgIGlmIChybF9sYXN0X2Z1bmMgPT0gZHluYW1pY19jb21wbGV0ZV9oaXN0b3J5KQpAQCAtMjg4NSw2ICsyOTA5LDggQEAKIAogICBybF9jb21wbGV0aW9uX2VudHJ5X2Z1bmN0aW9uID0gb3JpZ19mdW5jOwogICBybF9hdHRlbXB0ZWRfY29tcGxldGlvbl9mdW5jdGlvbiA9IG9yaWdfYXR0ZW1wdF9mdW5jOworICBybF9pZ25vcmVfc29tZV9jb21wbGV0aW9uc19mdW5jdGlvbiA9IG9yaWdfaWdub3JlX2Z1bmM7CisKICAgcmV0dXJuIHI7CiB9CiAKQEAgLTI4OTUsMTQgKzI5MjEsMTcgQEAKICAgaW50IHIsIG9yaWdfc3VwcHJlc3MsIG9yaWdfc29ydDsKICAgcmxfY29tcGVudHJ5X2Z1bmNfdCAqb3JpZ19mdW5jOwogICBybF9jb21wbGV0aW9uX2Z1bmNfdCAqb3JpZ19hdHRlbXB0X2Z1bmM7CisgIHJsX2NvbXBpZ25vcmVfZnVuY190ICpvcmlnX2lnbm9yZV9mdW5jOwogCiAgIG9yaWdfZnVuYyA9IHJsX21lbnVfY29tcGxldGlvbl9lbnRyeV9mdW5jdGlvbjsKICAgb3JpZ19hdHRlbXB0X2Z1bmMgPSBybF9hdHRlbXB0ZWRfY29tcGxldGlvbl9mdW5jdGlvbjsKKyAgb3JpZ19pZ25vcmVfZnVuYyA9IHJsX2lnbm9yZV9zb21lX2NvbXBsZXRpb25zX2Z1bmN0aW9uOwogICBvcmlnX3N1cHByZXNzID0gcmxfY29tcGxldGlvbl9zdXBwcmVzc19hcHBlbmQ7CiAgIG9yaWdfc29ydCA9IHJsX3NvcnRfY29tcGxldGlvbl9tYXRjaGVzOwogCiAgIHJsX21lbnVfY29tcGxldGlvbl9lbnRyeV9mdW5jdGlvbiA9IGhpc3RvcnlfY29tcGxldGlvbl9nZW5lcmF0b3I7CiAgIHJsX2F0dGVtcHRlZF9jb21wbGV0aW9uX2Z1bmN0aW9uID0gKHJsX2NvbXBsZXRpb25fZnVuY190ICopTlVMTDsKKyAgcmxfaWdub3JlX3NvbWVfY29tcGxldGlvbnNfZnVuY3Rpb24gPSBmaWxlbmFtZV9jb21wbGV0aW9uX2lnbm9yZTsKICAgcmxfZmlsZW5hbWVfY29tcGxldGlvbl9kZXNpcmVkID0gMDsKICAgcmxfY29tcGxldGlvbl9zdXBwcmVzc19hcHBlbmQgPSAxOwogICBybF9zb3J0X2NvbXBsZXRpb25fbWF0Y2hlcyA9IDA7CkBAIC0yOTE3LDYgKzI5NDYsNyBAQAogICBybF9sYXN0X2Z1bmMgPSBiYXNoX2RhYmJyZXZfZXhwYW5kOwogICBybF9tZW51X2NvbXBsZXRpb25fZW50cnlfZnVuY3Rpb24gPSBvcmlnX2Z1bmM7CiAgIHJsX2F0dGVtcHRlZF9jb21wbGV0aW9uX2Z1bmN0aW9uID0gb3JpZ19hdHRlbXB0X2Z1bmM7CisgIHJsX2lnbm9yZV9zb21lX2NvbXBsZXRpb25zX2Z1bmN0aW9uID0gb3JpZ19pZ25vcmVfZnVuYzsKICAgcmxfY29tcGxldGlvbl9zdXBwcmVzc19hcHBlbmQgPSBvcmlnX3N1cHByZXNzOwogICBybF9zb3J0X2NvbXBsZXRpb25fbWF0Y2hlcyA9IG9yaWdfc29ydDsKIApAQCAtMjk2NiwyMyArMjk5NiwyNyBAQAogICBybF9jb21wZW50cnlfZnVuY190ICpvcmlnX2Z1bmM7CiAgIHJsX2NvbXBsZXRpb25fZnVuY190ICpvcmlnX2F0dGVtcHRfZnVuYzsKICAgcmxfaWNwcGZ1bmNfdCAqb3JpZ19kaXJfZnVuYzsKKyAgcmxfY29tcGlnbm9yZV9mdW5jX3QgKm9yaWdfaWdub3JlX2Z1bmM7CiAgIC8qY29uc3QqLyBjaGFyICpvcmlnX3JsX2NvbXBsZXRlcl93b3JkX2JyZWFrX2NoYXJhY3RlcnM7CiAgIGludCByOwogCiAgIG9yaWdfZnVuYyA9IHJsX2NvbXBsZXRpb25fZW50cnlfZnVuY3Rpb247CiAgIG9yaWdfYXR0ZW1wdF9mdW5jID0gcmxfYXR0ZW1wdGVkX2NvbXBsZXRpb25fZnVuY3Rpb247Ci0gIG9yaWdfZGlyX2Z1bmMgPSBybF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rOworICBvcmlnX2Rpcl9mdW5jID0gcmxfZGlyZWN0b3J5X3Jld3JpdGVfaG9vazsKKyAgb3JpZ19pZ25vcmVfZnVuYyA9IHJsX2lnbm9yZV9zb21lX2NvbXBsZXRpb25zX2Z1bmN0aW9uOwogICBvcmlnX3JsX2NvbXBsZXRlcl93b3JkX2JyZWFrX2NoYXJhY3RlcnMgPSBybF9jb21wbGV0ZXJfd29yZF9icmVha19jaGFyYWN0ZXJzOwogICBybF9jb21wbGV0aW9uX2VudHJ5X2Z1bmN0aW9uID0gcmxfZmlsZW5hbWVfY29tcGxldGlvbl9mdW5jdGlvbjsKICAgcmxfYXR0ZW1wdGVkX2NvbXBsZXRpb25fZnVuY3Rpb24gPSAocmxfY29tcGxldGlvbl9mdW5jX3QgKilOVUxMOwotICBybF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rID0gKHJsX2ljcHBmdW5jX3QgKilOVUxMOworICBybF9kaXJlY3RvcnlfcmV3cml0ZV9ob29rID0gKHJsX2ljcHBmdW5jX3QgKilOVUxMOworICBybF9pZ25vcmVfc29tZV9jb21wbGV0aW9uc19mdW5jdGlvbiA9IGZpbGVuYW1lX2NvbXBsZXRpb25faWdub3JlOwogICBybF9jb21wbGV0ZXJfd29yZF9icmVha19jaGFyYWN0ZXJzID0gIiBcdFxuXCJcJyI7CiAKICAgciA9IHJsX2NvbXBsZXRlX2ludGVybmFsICh3aGF0X3RvX2RvKTsKIAogICBybF9jb21wbGV0aW9uX2VudHJ5X2Z1bmN0aW9uID0gb3JpZ19mdW5jOwogICBybF9hdHRlbXB0ZWRfY29tcGxldGlvbl9mdW5jdGlvbiA9IG9yaWdfYXR0ZW1wdF9mdW5jOwotICBybF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rID0gb3JpZ19kaXJfZnVuYzsKKyAgcmxfZGlyZWN0b3J5X3Jld3JpdGVfaG9vayA9IG9yaWdfZGlyX2Z1bmM7CisgIHJsX2lnbm9yZV9zb21lX2NvbXBsZXRpb25zX2Z1bmN0aW9uID0gb3JpZ19pZ25vcmVfZnVuYzsKICAgcmxfY29tcGxldGVyX3dvcmRfYnJlYWtfY2hhcmFjdGVycyA9IG9yaWdfcmxfY29tcGxldGVyX3dvcmRfYnJlYWtfY2hhcmFjdGVyczsKIAogICByZXR1cm4gcjsKQEAgLTMxNjAsMTcgKzMxOTQsMjEgQEAKIHsKICAgcmxfY29tcGVudHJ5X2Z1bmNfdCAqb3JpZ19mdW5jOwogICBybF9jb21wbGV0aW9uX2Z1bmNfdCAqb3JpZ19hdHRlbXB0X2Z1bmM7CisgIHJsX2NvbXBpZ25vcmVfZnVuY190ICpvcmlnX2lnbm9yZV9mdW5jOwogICBpbnQgcjsKIAogICBvcmlnX2Z1bmMgPSBybF9jb21wbGV0aW9uX2VudHJ5X2Z1bmN0aW9uOwogICBvcmlnX2F0dGVtcHRfZnVuYyA9IHJsX2F0dGVtcHRlZF9jb21wbGV0aW9uX2Z1bmN0aW9uOworICBvcmlnX2lnbm9yZV9mdW5jID0gcmxfaWdub3JlX3NvbWVfY29tcGxldGlvbnNfZnVuY3Rpb247CiAgIHJsX2NvbXBsZXRpb25fZW50cnlfZnVuY3Rpb24gPSBnZW5lcmF0b3I7CiAgIHJsX2F0dGVtcHRlZF9jb21wbGV0aW9uX2Z1bmN0aW9uID0gTlVMTDsKKyAgcmxfaWdub3JlX3NvbWVfY29tcGxldGlvbnNfZnVuY3Rpb24gPSBvcmlnX2lnbm9yZV9mdW5jOwogCiAgIHIgPSBybF9jb21wbGV0ZV9pbnRlcm5hbCAod2hhdF90b19kbyk7CiAKICAgcmxfY29tcGxldGlvbl9lbnRyeV9mdW5jdGlvbiA9IG9yaWdfZnVuYzsKICAgcmxfYXR0ZW1wdGVkX2NvbXBsZXRpb25fZnVuY3Rpb24gPSBvcmlnX2F0dGVtcHRfZnVuYzsKKyAgcmxfaWdub3JlX3NvbWVfY29tcGxldGlvbnNfZnVuY3Rpb24gPSBvcmlnX2lnbm9yZV9mdW5jOwogCiAgIHJldHVybiByOwogfQpAQCAtMzQyMSw3ICszNDU5LDEwIEBACiBwdXR4KGMpCiAgICAgIGludCBjOwogewotICBwdXRjIChjLCBybF9vdXRzdHJlYW0pOworICBpbnQgeDsKKworICB4ID0gcHV0YyAoYywgcmxfb3V0c3RyZWFtKTsKKyAgcmV0dXJuICh4KTsKIH0KICAgCiBzdGF0aWMgaW50CmRpZmYgLS1naXQgYS9icmFjZXMuYyBiL2JyYWNlcy5jCmluZGV4IDQ1YWJlNDUuLjJmZWJlZDcgMTAwNjQ0Ci0tLSBhL2JyYWNlcy5jCisrKyBiL2JyYWNlcy5jCkBAIC02Myw3ICs2Myw3IEBACiBzdGF0aWMgaW50IGJyYWNlX2dvYmJsZXIgX19QKChjaGFyICosIHNpemVfdCwgaW50ICosIGludCkpOwogc3RhdGljIGNoYXIgKipleHBhbmRfYW1ibGUgX19QKChjaGFyICosIHNpemVfdCwgaW50KSk7CiBzdGF0aWMgY2hhciAqKmV4cGFuZF9zZXF0ZXJtIF9fUCgoY2hhciAqLCBzaXplX3QpKTsKLXN0YXRpYyBjaGFyICoqbWtzZXEgX19QKChpbnQsIGludCwgaW50LCBpbnQsIGludCkpOworc3RhdGljIGNoYXIgKipta3NlcSBfX1AoKGludG1heF90LCBpbnRtYXhfdCwgaW50LCBpbnQsIGludCkpOwogc3RhdGljIGNoYXIgKiphcnJheV9jb25jYXQgX19QKChjaGFyICoqLCBjaGFyICoqKSk7CiAjZWxzZQogc3RhdGljIGludCBicmFjZV9nb2JibGVyICgpOwpAQCAtMzA3LDEzICszMDcsMTUgQEAKIAogc3RhdGljIGNoYXIgKioKIG1rc2VxIChzdGFydCwgZW5kLCBpbmNyLCB0eXBlLCB3aWR0aCkKLSAgICAgaW50IHN0YXJ0LCBlbmQsIGluY3IsIHR5cGUsIHdpZHRoOworICAgICBpbnRtYXhfdCBzdGFydCwgZW5kOworICAgICBpbnQgaW5jciwgdHlwZSwgd2lkdGg7CiB7Ci0gIGludCBuLCBpOworICBpbnRtYXhfdCBuOworICBpbnQgaTsKICAgY2hhciAqKnJlc3VsdCwgKnQ7CiAKLSAgbiA9IGFicyAoZW5kIC0gc3RhcnQpICsgMTsKLSAgcmVzdWx0ID0gc3RydmVjX2NyZWF0ZSAobiArIDEpOworICBpID0gYWJzIChlbmQgLSBzdGFydCkgKyAxOworICByZXN1bHQgPSBzdHJ2ZWNfY3JlYXRlIChpICsgMSk7CiAKICAgaWYgKGluY3IgPT0gMCkKICAgICBpbmNyID0gMTsKQEAgLTMzNSw4ICszMzcsOSBAQAogCXJlc3VsdFtpKytdID0gaXRvcyAobik7CiAgICAgICBlbHNlIGlmICh0eXBlID09IFNUX1pJTlQpCiAJewotCSAgaW50IGxlbjsKLQkgIGxlbiA9IGFzcHJpbnRmICgmdCwgIiUwKmQiLCB3aWR0aCwgbik7CisJICBpbnQgbGVuLCBhcmc7CisJICBhcmcgPSBuOworCSAgbGVuID0gYXNwcmludGYgKCZ0LCAiJTAqZCIsIHdpZHRoLCBhcmcpOwogCSAgcmVzdWx0W2krK10gPSB0OwogCX0KICAgICAgIGVsc2UKQEAgLTM2Miw3ICszNjUsOCBAQAogICAgICBzaXplX3QgdGxlbjsKIHsKICAgY2hhciAqdCwgKmxocywgKnJoczsKLSAgaW50IGksIGxoc190LCByaHNfdCwgbGhzX3YsIHJoc192LCBpbmNyLCBsaHNfbCwgcmhzX2wsIHdpZHRoOworICBpbnQgaSwgbGhzX3QsIHJoc190LCBpbmNyLCBsaHNfbCwgcmhzX2wsIHdpZHRoOworICBpbnRtYXhfdCBsaHNfdiwgcmhzX3Y7CiAgIGludG1heF90IHRsLCB0cjsKICAgY2hhciAqKnJlc3VsdCwgKmVwLCAqb2VwOwogCmRpZmYgLS1naXQgYS9idWlsdGlucy9NYWtlZmlsZS5pbiBiL2J1aWx0aW5zL01ha2VmaWxlLmluCmluZGV4IDQyZjhjYjguLjNkOGJhZDQgMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL01ha2VmaWxlLmluCisrKyBiL2J1aWx0aW5zL01ha2VmaWxlLmluCkBAIC0zMzQsNiArMzM0LDcgQEAKIGV2YWxzdHJpbmcubzogJCh0b3BkaXIpL2ZsYWdzLmggJCh0b3BkaXIpL2lucHV0LmggJCh0b3BkaXIpL2V4ZWN1dGVfY21kLmgKIGV2YWxzdHJpbmcubzogJCh0b3BkaXIpL2Jhc2hoaXN0LmggJChzcmNkaXIpL2NvbW1vbi5oCiBldmFsc3RyaW5nLm86ICQodG9wZGlyKS90cmFwLmggJCh0b3BkaXIpL3JlZGlyLmggLi4vcGF0aG5hbWVzLmgKKyNldmFsc3RyaW5nLm86ICQodG9wZGlyKS95LnRhYi5oCiBnZXRvcHQubzogLi4vY29uZmlnLmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oCiBnZXRvcHQubzogJCh0b3BkaXIpL3NoZWxsLmggJCh0b3BkaXIpL3N5bnRheC5oICQodG9wZGlyKS9iYXNoam1wLmggJCh0b3BkaXIpL2NvbW1hbmQuaAogZ2V0b3B0Lm86ICQodG9wZGlyKS9nZW5lcmFsLmggJCh0b3BkaXIpL3htYWxsb2MuaCAkKHRvcGRpcikvZXJyb3IuaCAkKHRvcGRpcikvdmFyaWFibGVzLmggJCh0b3BkaXIpL2NvbmZ0eXBlcy5oCmRpZmYgLS1naXQgYS9idWlsdGlucy9jZC5kZWYgYi9idWlsdGlucy9jZC5kZWYKaW5kZXggZDUzYjI1OC4uYjFhYWUyNiAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvY2QuZGVmCisrKyBiL2J1aWx0aW5zL2NkLmRlZgpAQCAtMSw3ICsxLDcgQEAKIFRoaXMgZmlsZSBpcyBjZC5kZWYsIGZyb20gd2hpY2ggaXMgY3JlYXRlZCBjZC5jLiAgSXQgaW1wbGVtZW50cyB0aGUKIGJ1aWx0aW5zICJjZCIgYW5kICJwd2QiIGluIEJhc2guCiAKLUNvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQ29weXJpZ2h0IChDKSAxOTg3LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC01OCw3ICs1OCw3IEBACiBleHRlcm4gY29uc3QgY2hhciAqIGNvbnN0IGJhc2hfZ2V0Y3dkX2VycnN0cjsKIAogc3RhdGljIGludCBiaW5kcHdkIF9fUCgoaW50KSk7Ci1zdGF0aWMgdm9pZCBzZXRwd2QgX19QKChjaGFyICopKTsKK3N0YXRpYyBpbnQgc2V0cHdkIF9fUCgoY2hhciAqKSk7CiBzdGF0aWMgY2hhciAqcmVzZXRwd2QgX19QKChjaGFyICopKTsKIHN0YXRpYyBpbnQgY2hhbmdlX3RvX2RpcmVjdG9yeSBfX1AoKGNoYXIgKiwgaW50KSk7CiAKQEAgLTY3LDkgKzY3LDExIEBACiAKIGludCBjZGFibGVfdmFyczsKIAorc3RhdGljIGludCBlZmxhZzsJLyogZmlsZSBzY29wZSBzbyBiaW5kcHdkKCkgY2FuIHNlZSBpdCAqLworCiAkQlVJTFRJTiBjZAogJEZVTkNUSU9OIGNkX2J1aWx0aW4KLSRTSE9SVF9ET0MgY2QgWy1MfC1QXSBbZGlyXQorJFNIT1JUX0RPQyBjZCBbLUx8Wy1QIFstZV1dXSBbZGlyXQogQ2hhbmdlIHRoZSBzaGVsbCB3b3JraW5nIGRpcmVjdG9yeS4KIAogQ2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0byBESVIuICBUaGUgZGVmYXVsdCBESVIgaXMgdGhlIHZhbHVlIG9mIHRoZQpAQCAtODgsMTUgKzkwLDE4IEBACiAgICAgLUwJZm9yY2Ugc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG93ZWQKICAgICAtUAl1c2UgdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWMKIAlsaW5rcworICAgIC1lCWlmIHRoZSAtUCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeQorCWNhbm5vdCBiZSBkZXRlcm1pbmVkIHN1Y2Nlc3NmdWxseSwgZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzCiAKIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC4KIAogRXhpdCBTdGF0dXM6Ci1SZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkOyBub24temVybyBvdGhlcndpc2UuCitSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5IHdoZW4KKy1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4KICRFTkQKIAogLyogSnVzdCBzZXQgJFBXRCwgZG9uJ3QgY2hhbmdlIE9MRFBXRC4gIFVzZWQgYnkgYHB3ZCAtUCcgaW4gcG9zaXggbW9kZS4gKi8KLXN0YXRpYyB2b2lkCitzdGF0aWMgaW50CiBzZXRwd2QgKGRpcm5hbWUpCiAgICAgIGNoYXIgKmRpcm5hbWU7CiB7CkBAIC0xMDUsMTEgKzExMCwxNCBAQAogCiAgIG9sZF9hbm0gPSBhcnJheV9uZWVkc19tYWtpbmc7CiAgIHR2YXIgPSBiaW5kX3ZhcmlhYmxlICgiUFdEIiwgZGlybmFtZSA/IGRpcm5hbWUgOiAiIiwgMCk7Ci0gIGlmIChvbGRfYW5tID09IDAgJiYgYXJyYXlfbmVlZHNfbWFraW5nICYmIGV4cG9ydGVkX3AgKHR2YXIpKQorICBpZiAodHZhciAmJiByZWFkb25seV9wICh0dmFyKSkKKyAgICByZXR1cm4gRVhFQ1VUSU9OX0ZBSUxVUkU7CisgIGlmICh0dmFyICYmIG9sZF9hbm0gPT0gMCAmJiBhcnJheV9uZWVkc19tYWtpbmcgJiYgZXhwb3J0ZWRfcCAodHZhcikpCiAgICAgewogICAgICAgdXBkYXRlX2V4cG9ydF9lbnZfaW5wbGFjZSAoIlBXRD0iLCA0LCBkaXJuYW1lID8gZGlybmFtZSA6ICIiKTsKICAgICAgIGFycmF5X25lZWRzX21ha2luZyA9IDA7CiAgICAgfQorICByZXR1cm4gRVhFQ1VUSU9OX1NVQ0NFU1M7CiB9CiAKIHN0YXRpYyBpbnQKQEAgLTEzMSwxMyArMTM5LDE5IEBACiAgIHB3ZHZhciA9IGdldF9zdHJpbmdfdmFsdWUgKCJQV0QiKTsKIAogICB0dmFyID0gYmluZF92YXJpYWJsZSAoIk9MRFBXRCIsIHB3ZHZhciwgMCk7CisgIGlmICh0dmFyICYmIHJlYWRvbmx5X3AgKHR2YXIpKQorICAgIHIgPSBFWEVDVVRJT05fRkFJTFVSRTsKKwogICBpZiAob2xkX2FubSA9PSAwICYmIGFycmF5X25lZWRzX21ha2luZyAmJiBleHBvcnRlZF9wICh0dmFyKSkKICAgICB7CiAgICAgICB1cGRhdGVfZXhwb3J0X2Vudl9pbnBsYWNlICgiT0xEUFdEPSIsIDcsIHB3ZHZhcik7CiAgICAgICBhcnJheV9uZWVkc19tYWtpbmcgPSAwOwogICAgIH0KIAotICBzZXRwd2QgKGRpcm5hbWUpOworICBpZiAoc2V0cHdkIChkaXJuYW1lKSA9PSBFWEVDVVRJT05fRkFJTFVSRSkKKyAgICByID0gRVhFQ1VUSU9OX0ZBSUxVUkU7CisgIGlmIChkaXJuYW1lID09IDAgJiYgZWZsYWcpCisgICAgciA9IEVYRUNVVElPTl9GQUlMVVJFOwogCiAgIGlmIChkaXJuYW1lICYmIGRpcm5hbWUgIT0gdGhlX2N1cnJlbnRfd29ya2luZ19kaXJlY3RvcnkpCiAgICAgZnJlZSAoZGlybmFtZSk7CkBAIC0xNjIsNyArMTc2LDcgQEAKICNkZWZpbmUgTENEX0RPVkFSUwkweDAwMQogI2RlZmluZSBMQ0RfRE9TUEVMTAkweDAwMgogI2RlZmluZSBMQ0RfUFJJTlRQQVRICTB4MDA0Ci0jZGVmaW5lIExDRF9GUkVFRElSTkFNRQkweDAxMAorI2RlZmluZSBMQ0RfRlJFRURJUk5BTUUJMHgwMDgKIAogLyogVGhpcyBidWlsdGluIGlzIHVsdGltYXRlbHkgdGhlIHdheSB0aGF0IGFsbCB1c2VyLXZpc2libGUgY29tbWFuZHMgc2hvdWxkCiAgICBjaGFuZ2UgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuICBJdCBpcyBjYWxsZWQgYnkgY2RfdG9fc3RyaW5nICgpLApAQCAtMTgzLDYgKzE5Nyw3IEBACiAgICAgfQogI2VuZGlmIC8qIFJFU1RSSUNURURfU0hFTEwgKi8KIAorICBlZmxhZyA9IDA7CiAgIG5vX3N5bWxpbmtzID0gbm9fc3ltYm9saWNfbGlua3M7CiAgIHJlc2V0X2ludGVybmFsX2dldG9wdCAoKTsKICAgd2hpbGUgKChvcHQgPSBpbnRlcm5hbF9nZXRvcHQgKGxpc3QsICJMUCIpKSAhPSAtMSkKQEAgLTE5NSw2ICsyMTAsOSBAQAogCWNhc2UgJ0wnOgogCSAgbm9fc3ltbGlua3MgPSAwOwogCSAgYnJlYWs7CisJY2FzZSAnZSc6CisJICBlZmxhZyA9IDE7CisJICBicmVhazsKIAlkZWZhdWx0OgogCSAgYnVpbHRpbl91c2FnZSAoKTsKIAkgIHJldHVybiAoRVhFQ1VUSU9OX0ZBSUxVUkUpOwpAQCAtMjA0LDYgKzIyMiw4IEBACiAKICAgbGZsYWcgPSAoY2RhYmxlX3ZhcnMgPyBMQ0RfRE9WQVJTIDogMCkgfAogCSAgKChpbnRlcmFjdGl2ZSAmJiBjZHNwZWxsaW5nKSA/IExDRF9ET1NQRUxMIDogMCk7CisgIGlmIChlZmxhZyAmJiBub19zeW1saW5rcyA9PSAwKQorICAgIGVmbGFnID0gMDsKIAogICBpZiAobGlzdCA9PSAwKQogICAgIHsKQEAgLTI3MCw2ICsyOTAsNyBAQAogCSAgICBmcmVlICh0ZW1wKTsKIAl9CiAKKyNpZiAwCS8qIGNoYW5nZWQgZm9yIGJhc2gtNC4yIFBvc2l4IGNkIGRlc2NyaXB0aW9uIHN0ZXBzIDUtNiAqLwogICAgICAgLyogUE9TSVguMiBzYXlzIHRoYXQgaWYgYC4nIGRvZXMgbm90IGFwcGVhciBpbiAkQ0RQQVRILCB3ZSBkb24ndAogCSB0cnkgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LCBzbyB3ZSBqdXN0IHB1bnQgbm93IHdpdGggYW4gZXJyb3IKIAkgbWVzc2FnZSBpZiBQT1NJWExZX0NPUlJFQ1QgaXMgbm9uLXplcm8uICBUaGUgY2hlY2sgZm9yIGNkcGF0aFswXQpAQCAtMjgwLDYgKzMwMSw3IEBACiAJICBidWlsdGluX2Vycm9yICgiJXM6ICVzIiwgZGlybmFtZSwgc3RyZXJyb3IgKEVOT0VOVCkpOwogCSAgcmV0dXJuIChFWEVDVVRJT05fRkFJTFVSRSk7CiAJfQorI2VuZGlmCiAgICAgfQogICBlbHNlCiAgICAgZGlybmFtZSA9IGxpc3QtPndvcmQtPndvcmQ7CkBAIC0zODksMTMgKzQxMSwxNCBAQAogCiAgIGlmIChkaXJlY3RvcnkpCiAgICAgeworICAgICAgb3B0ID0gRVhFQ1VUSU9OX1NVQ0NFU1M7CiAgICAgICBwcmludGYgKCIlc1xuIiwgZGlyZWN0b3J5KTsKICAgICAgIC8qIFRoaXMgaXMgZHVtYiBidXQgcG9zaXgtbWFuZGF0ZWQuICovCiAgICAgICBpZiAocG9zaXhseV9jb3JyZWN0ICYmIHBmbGFnKQotCXNldHB3ZCAoZGlyZWN0b3J5KTsKKwlvcHQgPSBzZXRwd2QgKGRpcmVjdG9yeSk7CiAgICAgICBpZiAoZGlyZWN0b3J5ICE9IHRoZV9jdXJyZW50X3dvcmtpbmdfZGlyZWN0b3J5KQogCWZyZWUgKGRpcmVjdG9yeSk7Ci0gICAgICByZXR1cm4gKHNoX2Noa3dyaXRlIChFWEVDVVRJT05fU1VDQ0VTUykpOworICAgICAgcmV0dXJuIChzaF9jaGt3cml0ZSAob3B0KSk7CiAgICAgfQogICBlbHNlCiAgICAgcmV0dXJuIChFWEVDVVRJT05fRkFJTFVSRSk7CmRpZmYgLS1naXQgYS9idWlsdGlucy9jb21tb24uYyBiL2J1aWx0aW5zL2NvbW1vbi5jCmluZGV4IGYwMmU5OWMuLjczN2FjZTIgMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL2NvbW1vbi5jCisrKyBiL2J1aWx0aW5zL2NvbW1vbi5jCkBAIC0xLDYgKzEsNiBAQAogLyogY29tbW9uLmMgLSB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgYWxsIGJ1aWx0aW5zICovCiAKLS8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC0xNTEsNyArMTUxLDcgQEAKIHsKICAgaWYgKHRoaXNfY29tbWFuZF9uYW1lICYmICp0aGlzX2NvbW1hbmRfbmFtZSkKICAgICBmcHJpbnRmIChzdGRlcnIsIF8oIiVzOiB1c2FnZTogIiksIHRoaXNfY29tbWFuZF9uYW1lKTsKLSAgZnByaW50ZiAoc3RkZXJyLCAiJXNcbiIsIGN1cnJlbnRfYnVpbHRpbi0+c2hvcnRfZG9jKTsKKyAgZnByaW50ZiAoc3RkZXJyLCAiJXNcbiIsIF8oY3VycmVudF9idWlsdGluLT5zaG9ydF9kb2MpKTsKICAgZmZsdXNoIChzdGRlcnIpOwogfQogCkBAIC0zNjcsNyArMzY3LDcgQEAKICAgcmV0dXJuIGFyZ3Y7CiB9CiAKLS8qIFJlbWVtYmVyIExJU1QgaW4gJDAgLi4uICQ5LCBhbmQgUkVTVF9PRl9BUkdTLiAgSWYgREVTVFJVQ1RJVkUgaXMKKy8qIFJlbWVtYmVyIExJU1QgaW4gJDEgLi4uICQ5LCBhbmQgUkVTVF9PRl9BUkdTLiAgSWYgREVTVFJVQ1RJVkUgaXMKICAgIG5vbi16ZXJvLCB0aGVuIGRpc2NhcmQgd2hhdGV2ZXIgdGhlIGV4aXN0aW5nIGFyZ3VtZW50cyBhcmUsIGVsc2UKICAgIG9ubHkgZGlzY2FyZCB0aGUgb25lcyB0aGF0IGFyZSB0byBiZSByZXBsYWNlZC4gKi8KIHZvaWQKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL2NvbW1vbi5oIGIvYnVpbHRpbnMvY29tbW9uLmgKaW5kZXggZWZiYjA3OC4uY2FlZWZlYSAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvY29tbW9uLmgKKysrIGIvYnVpbHRpbnMvY29tbW9uLmgKQEAgLTEsNiArMSw2IEBACiAvKiBjb21tb24uaCAtLSBleHRlcm4gZGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBjb21tb24uYy4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTkzLTIwMDQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5OTMtMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL2NvbXBsZXRlLmRlZiBiL2J1aWx0aW5zL2NvbXBsZXRlLmRlZgppbmRleCAyMjY3Nzk0Li5iOWYwYTEzIDEwMDY0NAotLS0gYS9idWlsdGlucy9jb21wbGV0ZS5kZWYKKysrIGIvYnVpbHRpbnMvY29tcGxldGUuZGVmCkBAIC0xLDcgKzEsNyBAQAogVGhpcyBmaWxlIGlzIGNvbXBsZXRlLmRlZiwgZnJvbSB3aGljaCBpcyBjcmVhdGVkIGNvbXBsZXRlLmMuCiBJdCBpbXBsZW1lbnRzIHRoZSBidWlsdGlucyAiY29tcGxldGUiLCAiY29tcGdlbiIsIGFuZCAiY29tcG9wdCIgaW4gQmFzaC4KIAotQ29weXJpZ2h0IChDKSAxOTk5LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitDb3B5cmlnaHQgKEMpIDE5OTktMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTc1Myw3ICs3NTMsNyBAQAogTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLgogCiBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlIHN1cHBsaWVkLAotdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCBwcmludAordGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlaW5nIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW4sIHByaW50CiB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUgb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uLgogCiBPcHRpb25zOgpkaWZmIC0tZ2l0IGEvYnVpbHRpbnMvZGVjbGFyZS5kZWYgYi9idWlsdGlucy9kZWNsYXJlLmRlZgppbmRleCA4MTFkOGU2Li41NTIwNmZhIDEwMDY0NAotLS0gYS9idWlsdGlucy9kZWNsYXJlLmRlZgorKysgYi9idWlsdGlucy9kZWNsYXJlLmRlZgpAQCAtMSw3ICsxLDcgQEAKIFRoaXMgZmlsZSBpcyBkZWNsYXJlLmRlZiwgZnJvbSB3aGljaCBpcyBjcmVhdGVkIGRlY2xhcmUuYy4KIEl0IGltcGxlbWVudHMgdGhlIGJ1aWx0aW5zICJkZWNsYXJlIiBhbmQgImxvY2FsIiBpbiBCYXNoLgogCi1Db3B5cmlnaHQgKEMpIDE5ODctMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK0NvcHlyaWdodCAoQykgMTk4Ny0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtMjIsNyArMjIsNyBAQAogCiAkQlVJTFRJTiBkZWNsYXJlCiAkRlVOQ1RJT04gZGVjbGFyZV9idWlsdGluCi0kU0hPUlRfRE9DIGRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXQorJFNIT1JUX0RPQyBkZWNsYXJlIFstYUFmRmdpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dCiBTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLgogCiBEZWNsYXJlIHZhcmlhYmxlcyBhbmQgZ2l2ZSB0aGVtIGF0dHJpYnV0ZXMuICBJZiBubyBOQU1FcyBhcmUgZ2l2ZW4sCkBAIC0zMiw2ICszMiw4IEBACiAgIC1mCXJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9ucwogICAtRglyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kCiAJc291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpCisgIC1nCWNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2UKKwlpZ25vcmVkCiAgIC1wCWRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRQogCiBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOgpAQCAtNTAsNyArNTIsNyBAQAogdGhlIGBsZXQnIGNvbW1hbmQpIHBlcmZvcm1lZCB3aGVuIHRoZSB2YXJpYWJsZSBpcyBhc3NpZ25lZCBhIHZhbHVlLgogCiBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSBgbG9jYWwnCi1jb21tYW5kLgorY29tbWFuZC4gIFRoZSBgLWcnIG9wdGlvbiBzdXBwcmVzc2VzIHRoaXMgYmVoYXZpb3IuCiAKIEV4aXQgU3RhdHVzOgogUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuCkBAIC01OCw3ICs2MCw3IEBACiAKICRCVUlMVElOIHR5cGVzZXQKICRGVU5DVElPTiBkZWNsYXJlX2J1aWx0aW4KLSRTSE9SVF9ET0MgdHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLgorJFNIT1JUX0RPQyB0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLgogU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy4KIAogT2Jzb2xldGUuICBTZWUgYGhlbHAgZGVjbGFyZScuCkBAIC0xMjUsOSArMTI3LDkgQEAKIH0KIAogI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCi0jICBkZWZpbmUgREVDTEFSRV9PUFRTCSIrYWNmaWxwcnR1eEFGIgorIyAgZGVmaW5lIERFQ0xBUkVfT1BUUwkiK2FjZmdpbHBydHV4QUYiCiAjZWxzZQotIyAgZGVmaW5lIERFQ0xBUkVfT1BUUwkiK2NmaWxwcnR1eEYiCisjICBkZWZpbmUgREVDTEFSRV9PUFRTCSIrY2ZnaWxwcnR1eEYiCiAjZW5kaWYKIAogLyogVGhlIHdvcmtob3JzZSBmdW5jdGlvbi4gKi8KQEAgLTEzNywxMiArMTM5LDEyIEBACiAgICAgIGludCBsb2NhbF92YXI7CiB7CiAgIGludCBmbGFnc19vbiwgZmxhZ3Nfb2ZmLCAqZmxhZ3M7Ci0gIGludCBhbnlfZmFpbGVkLCBhc3NpZ25fZXJyb3IsIHBmbGFnLCBub2RlZnMsIG9wdDsKKyAgaW50IGFueV9mYWlsZWQsIGFzc2lnbl9lcnJvciwgcGZsYWcsIG5vZGVmcywgb3B0LCBta2dsb2JhbDsKICAgY2hhciAqdCwgKnN1YnNjcmlwdF9zdGFydDsKICAgU0hFTExfVkFSICp2YXI7CiAgIEZVTkNUSU9OX0RFRiAqc2hlbGxfZm47CiAKLSAgZmxhZ3Nfb24gPSBmbGFnc19vZmYgPSBhbnlfZmFpbGVkID0gYXNzaWduX2Vycm9yID0gcGZsYWcgPSBub2RlZnMgPSAwOworICBmbGFnc19vbiA9IGZsYWdzX29mZiA9IGFueV9mYWlsZWQgPSBhc3NpZ25fZXJyb3IgPSBwZmxhZyA9IG5vZGVmcyA9IG1rZ2xvYmFsID0gMDsKICAgcmVzZXRfaW50ZXJuYWxfZ2V0b3B0ICgpOwogICB3aGlsZSAoKG9wdCA9IGludGVybmFsX2dldG9wdCAobGlzdCwgREVDTEFSRV9PUFRTKSkgIT0gRU9GKQogICAgIHsKQEAgLTE3Nyw2ICsxNzksMTAgQEAKIAljYXNlICdmJzoKIAkgICpmbGFncyB8PSBhdHRfZnVuY3Rpb247CiAJICBicmVhazsKKwljYXNlICdnJzoKKwkgIGlmIChmbGFncyA9PSAmZmxhZ3Nfb24pCisJICAgIG1rZ2xvYmFsID0gMTsKKwkgIGJyZWFrOwogCWNhc2UgJ2knOgogCSAgKmZsYWdzIHw9IGF0dF9pbnRlZ2VyOwogCSAgYnJlYWs7CkBAIC0zMjgsNyArMzM0LDcgQEAKICAgICAgIC8qIFhYWCAtIHRoaXMgaGFzIGNvbnNlcXVlbmNlcyB3aGVuIHdlJ3JlIG1ha2luZyBhIGxvY2FsIGNvcHkgb2YgYQogCSAgICAgICB2YXJpYWJsZSB0aGF0IHdhcyBpbiB0aGUgdGVtcG9yYXJ5IGVudmlyb25tZW50LiAgV2F0Y2ggb3V0CiAJICAgICAgIGZvciB0aGlzLiAqLwotICAgICAgaWYgKHZhcmlhYmxlX2NvbnRleHQgJiYgKChmbGFnc19vbiAmIGF0dF9mdW5jdGlvbikgPT0gMCkpCisgICAgICBpZiAodmFyaWFibGVfY29udGV4dCAmJiBta2dsb2JhbCA9PSAwICYmICgoZmxhZ3Nfb24gJiBhdHRfZnVuY3Rpb24pID09IDApKQogCXsKICNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQogCSAgaWYgKGZsYWdzX29uICYgYXR0X2Fzc29jKQpAQCAtNDEwLDcgKzQxNiw3IEBACiAJewogCSAgLyogTm9uLW51bGwgaWYgd2UganVzdCBjcmVhdGVkIG9yIGZldGNoZWQgYSBsb2NhbCB2YXJpYWJsZS4gKi8KIAkgIGlmICh2YXIgPT0gMCkKLQkgICAgdmFyID0gZmluZF92YXJpYWJsZSAobmFtZSk7CisJICAgIHZhciA9IG1rZ2xvYmFsID8gZmluZF9nbG9iYWxfdmFyaWFibGUgKG5hbWUpIDogZmluZF92YXJpYWJsZSAobmFtZSk7CiAKIAkgIGlmICh2YXIgPT0gMCkKIAkgICAgewpkaWZmIC0tZ2l0IGEvYnVpbHRpbnMvZXZhbGZpbGUuYyBiL2J1aWx0aW5zL2V2YWxmaWxlLmMKaW5kZXggOTcyZDAzOS4uNGQ2OWFjYiAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvZXZhbGZpbGUuYworKysgYi9idWlsdGlucy9ldmFsZmlsZS5jCkBAIC03MCw2ICs3MCw3IEBACiBleHRlcm4gaW50IGluZGlyZWN0aW9uX2xldmVsLCBzdWJzaGVsbF9lbnZpcm9ubWVudDsKIGV4dGVybiBpbnQgcmV0dXJuX2NhdGNoX2ZsYWcsIHJldHVybl9jYXRjaF92YWx1ZTsKIGV4dGVybiBpbnQgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWU7CitleHRlcm4gaW50IGV4ZWN1dGluZ19jb21tYW5kX2J1aWx0aW47CiAKIC8qIEhvdyBtYW55IGBsZXZlbHMnIG9mIHNvdXJjZWQgZmlsZXMgd2UgaGF2ZS4gKi8KIGludCBzb3VyY2VsZXZlbCA9IDA7CkBAIC0xNDgsMTAgKzE0OSw2IEBACiAgICAgICByZXR1cm4gKChmbGFncyAmIEZFVkFMX0JVSUxUSU4pID8gRVhFQ1VUSU9OX0ZBSUxVUkUgOiAtMSk7CiAgICAgfSAgICAgIAogCi0jaWYgZGVmaW5lZCAoX19DWUdXSU5fXykgJiYgZGVmaW5lZCAoT19URVhUKQotICBzZXRtb2RlIChmZCwgT19URVhUKTsKLSNlbmRpZgotCiAgIGlmIChTX0lTUkVHIChmaW5mby5zdF9tb2RlKSAmJiBmaWxlX3NpemUgPD0gU1NJWkVfTUFYKQogICAgIHsKICAgICAgIHN0cmluZyA9IChjaGFyICopeG1hbGxvYyAoMSArIGZpbGVfc2l6ZSk7CkBAIC0zNDIsNyArMzM5LDcgQEAKICAgaWYgKHNmbGFncykKICAgICBmbGFncyB8PSBGRVZBTF9OT1BVU0hBUkdTOwogICAvKiBQT1NJWCBzaGVsbHMgZXhpdCBpZiBub24taW50ZXJhY3RpdmUgYW5kIGZpbGUgZXJyb3IuICovCi0gIGlmIChwb3NpeGx5X2NvcnJlY3QgJiYgIWludGVyYWN0aXZlX3NoZWxsKQorICBpZiAocG9zaXhseV9jb3JyZWN0ICYmIGludGVyYWN0aXZlX3NoZWxsID09IDAgJiYgZXhlY3V0aW5nX2NvbW1hbmRfYnVpbHRpbiA9PSAwKQogICAgIGZsYWdzIHw9IEZFVkFMX0xPTkdKTVA7CiAgIHJ2YWwgPSBfZXZhbGZpbGUgKGZpbGVuYW1lLCBmbGFncyk7CiAKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL2V2YWxzdHJpbmcuYyBiL2J1aWx0aW5zL2V2YWxzdHJpbmcuYwppbmRleCA0MGFiZTAwLi4zMzNhNTZlIDEwMDY0NAotLS0gYS9idWlsdGlucy9ldmFsc3RyaW5nLmMKKysrIGIvYnVpbHRpbnMvZXZhbHN0cmluZy5jCkBAIC0xLDYgKzEsNiBAQAotLyogZXZhbHN0cmluZy5jIC0gZXZhbHVhdGUgYSBzdHJpbmcgYXMgb25lIG9yIG1vcmUgc2hlbGwgY29tbWFuZHMuIAorLyogZXZhbHN0cmluZy5jIC0gZXZhbHVhdGUgYSBzdHJpbmcgYXMgb25lIG9yIG1vcmUgc2hlbGwgY29tbWFuZHMuICovCiAKLS8qIENvcHlyaWdodCAoQykgMTk5Ni0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTk2LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC0zMzEsMTMgKzMzMSw5IEBACiAJICAgICAgKHRoaXNfc2hlbGxfYnVpbHRpbiA9PSBzb3VyY2VfYnVpbHRpbiB8fCB0aGlzX3NoZWxsX2J1aWx0aW4gPT0gZXZhbF9idWlsdGluKSAmJgogCSAgICAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID09IEVYX0JBRFNZTlRBWCAmJiBwb3NpeGx5X2NvcnJlY3QpCiAJICAgIHsKLSNpZiAwCS8qIFhYWCAtIGZvciBiYXNoLTQuMiAqLwogCSAgICAgIHNob3VsZF9qdW1wX3RvX3RvcF9sZXZlbCA9IDE7CiAJICAgICAgY29kZSA9IEVSUkVYSVQ7CiAJICAgICAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBFWF9CQURVU0FHRTsKLSNlbHNlCi0JICAgICAgaW50ZXJuYWxfd2FybmluZyAoXygic3ludGF4IGVycm9ycyBpbiAuIG9yIGV2YWwgd2lsbCBjYXVzZSBmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHRvIGFib3J0IGFzIFBvc2l4IHJlcXVpcmVzIikpOwotI2VuZGlmCiAJICAgIH0KIAogCSAgLyogU2luY2Ugd2UgYXJlIHNoZWxsIGNvbXBhdGlibGUsIHN5bnRheCBlcnJvcnMgaW4gYSBzY3JpcHQKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL2V4ZWMuZGVmIGIvYnVpbHRpbnMvZXhlYy5kZWYKaW5kZXggMDgzN2E5OC4uNWQxZTYyNSAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvZXhlYy5kZWYKKysrIGIvYnVpbHRpbnMvZXhlYy5kZWYKQEAgLTEsNyArMSw3IEBACiBUaGlzIGZpbGUgaXMgZXhlYy5kZWYsIGZyb20gd2hpY2ggaXMgY3JlYXRlZCBleGVjLmMuCiBJdCBpbXBsZW1lbnRzIHRoZSBidWlsdGluICJleGVjIiBpbiBCYXNoLgogCi1Db3B5cmlnaHQgKEMpIDE5ODctMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK0NvcHlyaWdodCAoQykgMTk4Ny0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtNzYsNiArNzYsNyBAQAogCiBleHRlcm4gaW50IHN1YnNoZWxsX2Vudmlyb25tZW50OwogZXh0ZXJuIFJFRElSRUNUICpyZWRpcmVjdGlvbl91bmRvX2xpc3Q7CitleHRlcm4gY2hhciAqZXhlY19hcmd2MDsKIAogaW50IG5vX2V4aXRfb25fZmFpbGVkX2V4ZWM7CiAKQEAgLTEwMiw3ICsxMDMsNyBAQAogICBjaGFyICphcmd2MCwgKmNvbW1hbmQsICoqYXJncywgKiplbnYsICpuZXduYW1lLCAqY29tMjsKIAogICBjbGVhbmVudiA9IGxvZ2luID0gMDsKLSAgYXJndjAgPSAoY2hhciAqKU5VTEw7CisgIGV4ZWNfYXJndjAgPSBhcmd2MCA9IChjaGFyICopTlVMTDsKIAogICByZXNldF9pbnRlcm5hbF9nZXRvcHQgKCk7CiAgIHdoaWxlICgob3B0ID0gaW50ZXJuYWxfZ2V0b3B0IChsaXN0LCAiY2xhOiIpKSAhPSAtMSkKQEAgLTE0Nyw4ICsxNDgsMjAgQEAKIAogICBpZiAoY29tbWFuZCA9PSAwKQogICAgIHsKLSAgICAgIHNoX25vdGZvdW5kIChhcmdzWzBdKTsKLSAgICAgIGV4aXRfdmFsdWUgPSBFWF9OT1RGT1VORDsJLyogQXMgcGVyIFBvc2l4LjIsIDMuMTQuNiAqLworICAgICAgaWYgKGZpbGVfaXNkaXIgKGFyZ3NbMF0pKQorCXsKKyNpZiBkZWZpbmVkIChFSVNESVIpCisJICBidWlsdGluX2Vycm9yIChfKCIlczogY2Fubm90IGV4ZWN1dGU6ICVzIiksIGFyZ3NbMF0sIHN0cmVycm9yIChFSVNESVIpKTsKKyNlbHNlCisJICBidWlsdGluX2Vycm9yIChfKCIlczogY2Fubm90IGV4ZWN1dGU6ICVzIiksIGFyZ3NbMF0sIHN0cmVycm9yIChlcnJubykpOworI2VuZGlmCisJICBleGl0X3ZhbHVlID0gRVhfTk9FWEVDOworCX0KKyAgICAgIGVsc2UKKwl7CisJICBzaF9ub3Rmb3VuZCAoYXJnc1swXSk7CisJICBleGl0X3ZhbHVlID0gRVhfTk9URk9VTkQ7CS8qIEFzIHBlciBQb3NpeC4yLCAzLjE0LjYgKi8KKwl9CiAgICAgICBnb3RvIGZhaWxlZF9leGVjOwogICAgIH0KIApAQCAtMTY0LDYgKzE3Nyw3IEBACiAgICAgewogICAgICAgZnJlZSAoYXJnc1swXSk7CiAgICAgICBhcmdzWzBdID0gbG9naW4gPyBta2Rhc2huYW1lIChhcmd2MCkgOiBzYXZlc3RyaW5nIChhcmd2MCk7CisgICAgICBleGVjX2FyZ3YwID0gc2F2ZXN0cmluZyAoYXJnc1swXSk7CiAgICAgfQogICBlbHNlIGlmIChsb2dpbikKICAgICB7CkBAIC0xOTgsNyArMjEyLDcgQEAKICAgICBlbmRfam9iX2NvbnRyb2wgKCk7CiAjZW5kaWYgLyogSk9CX0NPTlRST0wgKi8KIAotICBzaGVsbF9leGVjdmUgKGNvbW1hbmQsIGFyZ3MsIGVudik7CisgIGV4aXRfdmFsdWUgPSBzaGVsbF9leGVjdmUgKGNvbW1hbmQsIGFyZ3MsIGVudik7CiAKICAgLyogV2UgaGF2ZSB0byBzZXQgdGhpcyB0byBOVUxMIGJlY2F1c2Ugc2hlbGxfZXhlY3ZlIGhhcyBjYWxsZWQgcmVhbGxvYygpCiAgICAgIHRvIHN0dWZmIG1vcmUgaXRlbXMgYXQgdGhlIGZyb250IG9mIHRoZSBhcnJheSwgd2hpY2ggbWF5IGhhdmUgY2F1c2VkCkBAIC0yMDcsNyArMjIxLDkgQEAKICAgaWYgKGNsZWFuZW52ID09IDApCiAgICAgYWRqdXN0X3NoZWxsX2xldmVsICgxKTsKIAotICBpZiAoZXhlY3V0YWJsZV9maWxlIChjb21tYW5kKSA9PSAwKQorICBpZiAoZXhpdF92YWx1ZSA9PSBFWF9OT1RGT1VORCkJLyogbm8gZHVwbGljYXRlIGVycm9yIG1lc3NhZ2UgKi8KKyAgICBnb3RvIGZhaWxlZF9leGVjOworICBlbHNlIGlmIChleGVjdXRhYmxlX2ZpbGUgKGNvbW1hbmQpID09IDApCiAgICAgewogICAgICAgYnVpbHRpbl9lcnJvciAoXygiJXM6IGNhbm5vdCBleGVjdXRlOiAlcyIpLCBjb21tYW5kLCBzdHJlcnJvciAoZXJybm8pKTsKICAgICAgIGV4aXRfdmFsdWUgPSBFWF9OT0VYRUM7CS8qIEFzIHBlciBQb3NpeC4yLCAzLjE0LjYgKi8KZGlmZiAtLWdpdCBhL2J1aWx0aW5zL2ZjLmRlZiBiL2J1aWx0aW5zL2ZjLmRlZgppbmRleCA3MWY0NjhmLi4yNTcwMjlkIDEwMDY0NAotLS0gYS9idWlsdGlucy9mYy5kZWYKKysrIGIvYnVpbHRpbnMvZmMuZGVmCkBAIC0xLDcgKzEsNyBAQAogVGhpcyBmaWxlIGlzIGZjLmRlZiwgZnJvbSB3aGljaCBpcyBjcmVhdGVkIGZjLmMuCiBJdCBpbXBsZW1lbnRzIHRoZSBidWlsdGluICJmYyIgaW4gQmFzaC4KIAotQ29weXJpZ2h0IChDKSAxOTg3LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitDb3B5cmlnaHQgKEMpIDE5ODctMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTg1LDcgKzg1LDcgQEAKIGV4dGVybiBpbnQgZXJybm87CiAjZW5kaWYgLyogIWVycm5vICovCiAKLWV4dGVybiBpbnQgY3VycmVudF9jb21tYW5kX2xpbmVfY291bnQ7CitleHRlcm4gaW50IGN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50LCBzYXZlZF9jb21tYW5kX2xpbmVfY291bnQ7CiBleHRlcm4gaW50IGxpdGVyYWxfaGlzdG9yeTsKIGV4dGVybiBpbnQgcG9zaXhseV9jb3JyZWN0OwogZXh0ZXJuIGludCBzdWJzaGVsbF9lbnZpcm9ubWVudCwgaW50ZXJhY3RpdmVfc2hlbGw7CkBAIC0zMDQsNyArMzA0LDcgQEAKICAgbGFzdF9oaXN0ID0gaSAtIHJoIC0gaGlzdF9sYXN0X2xpbmVfYWRkZWQ7CiAKICAgLyogWFhYICovCi0gIGlmIChpID09IGxhc3RfaGlzdCAmJiBobGlzdFtsYXN0X2hpc3RdID09IDApCisgIGlmIChzYXZlZF9jb21tYW5kX2xpbmVfY291bnQgPiAwICYmIGkgPT0gbGFzdF9oaXN0ICYmIGhsaXN0W2xhc3RfaGlzdF0gPT0gMCkKICAgICB3aGlsZSAobGFzdF9oaXN0ID49IDAgJiYgaGxpc3RbbGFzdF9oaXN0XSA9PSAwKQogICAgICAgbGFzdF9oaXN0LS07CiAgIGlmIChsYXN0X2hpc3QgPCAwKQpAQCAtNDc1LDcgKzQ3NSw3IEBACiAgICAgIEhJU1RfRU5UUlkgKipobGlzdDsKIHsKICAgaW50IHNpZ24sIG4sIGNsZW4sIHJoOwotICByZWdpc3RlciBpbnQgaSwgaiwgbGFzdF9oaXN0OworICByZWdpc3RlciBpbnQgaSwgajsKICAgcmVnaXN0ZXIgY2hhciAqczsKIAogICBzaWduID0gMTsKQEAgLTQ5NSwxNSArNDk1LDcgQEAKICAgICAgaGFzIGJlZW4gZW5hYmxlZCAoaW50ZXJhY3RpdmUgb3Igbm90KSBzaG91bGQgdXNlIGl0IGluIHRoZSBsYXN0X2hpc3QKICAgICAgY2FsY3VsYXRpb24gYXMgaWYgaXQgd2VyZSBvbi4gKi8KICAgcmggPSByZW1lbWJlcl9vbl9oaXN0b3J5IHx8ICgoc3Vic2hlbGxfZW52aXJvbm1lbnQgJiBTVUJTSEVMTF9DT01TVUIpICYmIGVuYWJsZV9oaXN0b3J5X2xpc3QpOwotICBsYXN0X2hpc3QgPSBpIC0gcmggLSBoaXN0X2xhc3RfbGluZV9hZGRlZDsKLQotICBpZiAoaSA9PSBsYXN0X2hpc3QgJiYgaGxpc3RbbGFzdF9oaXN0XSA9PSAwKQotICAgIHdoaWxlIChsYXN0X2hpc3QgPj0gMCAmJiBobGlzdFtsYXN0X2hpc3RdID09IDApCi0gICAgICBsYXN0X2hpc3QtLTsKLSAgaWYgKGxhc3RfaGlzdCA8IDApCi0gICAgcmV0dXJuICgtMSk7Ci0KLSAgaSA9IGxhc3RfaGlzdDsKKyAgaSAtPSByaCArIGhpc3RfbGFzdF9saW5lX2FkZGVkOwogCiAgIC8qIE5vIHNwZWNpZmljYXRpb24gZGVmYXVsdHMgdG8gbW9zdCByZWNlbnQgY29tbWFuZC4gKi8KICAgaWYgKGNvbW1hbmQgPT0gTlVMTCkKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL2dldG9wdHMuZGVmIGIvYnVpbHRpbnMvZ2V0b3B0cy5kZWYKaW5kZXggYzA3N2M4ZS4uMWQyYTY4YSAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvZ2V0b3B0cy5kZWYKKysrIGIvYnVpbHRpbnMvZ2V0b3B0cy5kZWYKQEAgLTEwOCw3ICsxMDgsOSBAQAogICBpZiAobGVnYWxfaWRlbnRpZmllciAobmFtZSkpCiAgICAgewogICAgICAgdiA9IGJpbmRfdmFyaWFibGUgKG5hbWUsIHZhbHVlLCAwKTsKLSAgICAgIHJldHVybiAodiAmJiAocmVhZG9ubHlfcCAodikgPT0gMCkpID8gRVhFQ1VUSU9OX1NVQ0NFU1MgOiBFWEVDVVRJT05fRkFJTFVSRTsKKyAgICAgIGlmICh2ICYmIChyZWFkb25seV9wICh2KSB8fCBub2Fzc2lnbl9wICh2KSkpCisJcmV0dXJuIChFWF9NSVNDRVJST1IpOworICAgICAgcmV0dXJuICh2ID8gRVhFQ1VUSU9OX1NVQ0NFU1MgOiBFWEVDVVRJT05fRkFJTFVSRSk7CiAgICAgfQogICBlbHNlCiAgICAgewpkaWZmIC0tZ2l0IGEvYnVpbHRpbnMvaGFzaC5kZWYgYi9idWlsdGlucy9oYXNoLmRlZgppbmRleCA3YThhY2VkLi42NzI0YWQxIDEwMDY0NAotLS0gYS9idWlsdGlucy9oYXNoLmRlZgorKysgYi9idWlsdGlucy9oYXNoLmRlZgpAQCAtMSw3ICsxLDcgQEAKIFRoaXMgZmlsZSBpcyBoYXNoLmRlZiwgZnJvbSB3aGljaCBpcyBjcmVhdGVkIGhhc2guYy4KIEl0IGltcGxlbWVudHMgdGhlIGJ1aWx0aW4gImhhc2giIGluIEJhc2guCiAKLUNvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQ29weXJpZ2h0IChDKSAxOTg3LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC0xNTksNyArMTU5LDkgQEAKICAgICB7CiAgICAgICAvKiBBZGQsIHJlbW92ZSBvciByZWhhc2ggdGhlIHNwZWNpZmllZCBjb21tYW5kcy4gKi8KICAgICAgIHcgPSBsaXN0LT53b3JkLT53b3JkOwotICAgICAgaWYgKHBhdGhuYW1lKQorICAgICAgaWYgKGFic29sdXRlX3Byb2dyYW0gKHcpKQorCWNvbnRpbnVlOworICAgICAgZWxzZSBpZiAocGF0aG5hbWUpCiAJewogCSAgaWYgKGlzX2RpcmVjdG9yeSAocGF0aG5hbWUpKQogCSAgICB7CkBAIC0xNzMsOCArMTc1LDYgQEAKIAkgIGVsc2UKIAkgICAgcGhhc2hfaW5zZXJ0ICh3LCBwYXRobmFtZSwgMCwgMCk7CiAJfQotICAgICAgZWxzZSBpZiAoYWJzb2x1dGVfcHJvZ3JhbSAodykpCi0JY29udGludWU7CiAgICAgICBlbHNlIGlmIChkZWxldGUpCiAJewogCSAgaWYgKHBoYXNoX3JlbW92ZSAodykpCkBAIC0yMDIsNiArMjAyLDcgQEAKICAgcnYgPSAwOwogICBpZiAoZmluZF9mdW5jdGlvbiAodykgPT0gMCAmJiBmaW5kX3NoZWxsX2J1aWx0aW4gKHcpID09IDApCiAgICAgeworICAgICAgcGhhc2hfcmVtb3ZlICh3KTsKICAgICAgIGZ1bGxfcGF0aCA9IGZpbmRfdXNlcl9jb21tYW5kICh3KTsKICAgICAgIGlmIChmdWxsX3BhdGggJiYgZXhlY3V0YWJsZV9maWxlIChmdWxsX3BhdGgpKQogCXBoYXNoX2luc2VydCAodywgZnVsbF9wYXRoLCBkb3RfZm91bmRfaW5fc2VhcmNoLCAwKTsKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL2hlbHAuZGVmIGIvYnVpbHRpbnMvaGVscC5kZWYKaW5kZXggZjg1N2FmOS4uOGZiMGUyYiAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvaGVscC5kZWYKKysrIGIvYnVpbHRpbnMvaGVscC5kZWYKQEAgLTE1NSw3ICsxNTUsNyBAQAogCQkgIGNvbnRpbnVlOwogCQl9CiAKLQkgICAgICBwcmludGYgKCIlczogJXNcbiIsIG5hbWUsIHNoZWxsX2J1aWx0aW5zW2ldLnNob3J0X2RvYyk7CisJICAgICAgcHJpbnRmICgiJXM6ICVzXG4iLCBuYW1lLCBfKHNoZWxsX2J1aWx0aW5zW2ldLnNob3J0X2RvYykpOwogCiAJICAgICAgaWYgKHNmbGFnID09IDApCiAJCXNob3dfbG9uZ2RvYyAoaSk7CkBAIC0yODgsNyArMjg4LDcgQEAKIAogICAvKiBTWU5PUFNJUyAqLwogICBwcmludGYgKCJTWU5PUFNJU1xuIik7Ci0gIHByaW50ZiAoIiUqcyVzXG5cbiIsIEJBU0VfSU5ERU5ULCAiICIsIHNoZWxsX2J1aWx0aW5zW2ldLnNob3J0X2RvYyk7CisgIHByaW50ZiAoIiUqcyVzXG5cbiIsIEJBU0VfSU5ERU5ULCAiICIsIF8oc2hlbGxfYnVpbHRpbnNbaV0uc2hvcnRfZG9jKSk7CiAKICAgLyogREVTQ1JJUFRJT04gKi8KICAgcHJpbnRmICgiREVTQ1JJUFRJT05cbiIpOwpAQCAtMzYwLDcgKzM2MCw3IEBACiAKICAgICAgIC8qIGZpcnN0IGNvbHVtbiAqLwogICAgICAgYmx1cmJbMF0gPSAoc2hlbGxfYnVpbHRpbnNbaV0uZmxhZ3MgJiBCVUlMVElOX0VOQUJMRUQpID8gJyAnIDogJyonOwotICAgICAgc3RybmNweSAoYmx1cmIgKyAxLCBzaGVsbF9idWlsdGluc1tpXS5zaG9ydF9kb2MsIHdpZHRoIC0gMik7CisgICAgICBzdHJuY3B5IChibHVyYiArIDEsIF8oc2hlbGxfYnVpbHRpbnNbaV0uc2hvcnRfZG9jKSwgd2lkdGggLSAyKTsKICAgICAgIGJsdXJiW3dpZHRoIC0gMl0gPSAnPic7CQkvKiBpbmRpY2F0ZSB0cnVuY2F0aW9uICovCiAgICAgICBibHVyYlt3aWR0aCAtIDFdID0gJ1wwJzsKICAgICAgIHByaW50ZiAoIiVzIiwgYmx1cmIpOwpAQCAtMzc2LDcgKzM3Niw3IEBACiAKICAgICAgIC8qIHNlY29uZCBjb2x1bW4gKi8KICAgICAgIGJsdXJiWzBdID0gKHNoZWxsX2J1aWx0aW5zW2kraGVpZ2h0XS5mbGFncyAmIEJVSUxUSU5fRU5BQkxFRCkgPyAnICcgOiAnKic7Ci0gICAgICBzdHJuY3B5IChibHVyYiArIDEsIHNoZWxsX2J1aWx0aW5zW2kraGVpZ2h0XS5zaG9ydF9kb2MsIHdpZHRoIC0gMyk7CisgICAgICBzdHJuY3B5IChibHVyYiArIDEsIF8oc2hlbGxfYnVpbHRpbnNbaStoZWlnaHRdLnNob3J0X2RvYyksIHdpZHRoIC0gMyk7CiAgICAgICBibHVyYlt3aWR0aCAtIDNdID0gJz4nOwkJLyogaW5kaWNhdGUgdHJ1bmNhdGlvbiAqLwogICAgICAgYmx1cmJbd2lkdGggLSAyXSA9ICdcMCc7CiAgICAgICBwcmludGYgKCIlc1xuIiwgYmx1cmIpOwpkaWZmIC0tZ2l0IGEvYnVpbHRpbnMva2lsbC5kZWYgYi9idWlsdGlucy9raWxsLmRlZgppbmRleCAxOGMzNjY3Li5hZGYwMjJjIDEwMDY0NAotLS0gYS9idWlsdGlucy9raWxsLmRlZgorKysgYi9idWlsdGlucy9raWxsLmRlZgpAQCAtMSw3ICsxLDcgQEAKIFRoaXMgZmlsZSBpcyBraWxsLmRlZiwgZnJvbSB3aGljaCBpcyBjcmVhdGVkIGtpbGwuYy4KIEl0IGltcGxlbWVudHMgdGhlIGJ1aWx0aW4gImtpbGwiIGluIEJhc2guCiAKLUNvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQ29weXJpZ2h0IChDKSAxOTg3LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC0xMjEsOSArMTIxLDcgQEAKIAkgICAgICBlbHNlCiAJCXNpZyA9IGRlY29kZV9zaWduYWwgKHNpZ3NwZWMsIGRmbGFncyk7CiAJICAgICAgbGlzdCA9IGxpc3QtPm5leHQ7Ci0jaWYgMAotCSAgICAgIHNhd19zaWduYWwrKzsJLyogWFhYIC0gZm9yIGJhc2gtNC4yICovCi0jZW5kaWYKKwkgICAgICBzYXdfc2lnbmFsKys7CiAJICAgIH0KIAkgIGVsc2UKIAkgICAgewpkaWZmIC0tZ2l0IGEvYnVpbHRpbnMvbGV0LmRlZiBiL2J1aWx0aW5zL2xldC5kZWYKaW5kZXggMjYwMWZiOS4uODExNTM0ZSAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvbGV0LmRlZgorKysgYi9idWlsdGlucy9sZXQuZGVmCkBAIC02MSw3ICs2MSw3IEBACiBydWxlcyBhYm92ZS4KIAogRXhpdCBTdGF0dXM6Ci1JZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4KK0lmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuCiAkRU5ECiAKICNpbmNsdWRlIDxjb25maWcuaD4KZGlmZiAtLWdpdCBhL2J1aWx0aW5zL21hcGZpbGUuZGVmIGIvYnVpbHRpbnMvbWFwZmlsZS5kZWYKaW5kZXggMDk0NmRlMy4uZWMxZTMyZSAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvbWFwZmlsZS5kZWYKKysrIGIvYnVpbHRpbnMvbWFwZmlsZS5kZWYKQEAgLTIsNyArMiw3IEBACiBJdCBpbXBsZW1lbnRzIHRoZSBidWlsdGluICJtYXBmaWxlIiBpbiBCYXNoLgogCiBDb3B5cmlnaHQgKEMpIDIwMDUtMjAwNiBSb2NreSBCZXJuc3RlaW4gZm9yIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotQ29weXJpZ2h0IChDKSAyMDA4LDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitDb3B5cmlnaHQgKEMpIDIwMDgtMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTQ0LDcgKzQ0LDggQEAKIAogSWYgLUMgaXMgc3VwcGxpZWQgd2l0aG91dCAtYywgdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLiAgV2hlbgogQ0FMTEJBQ0sgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJyYXkKLWVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC4KK2VsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudAorYXMgYWRkaXRpb25hbCBhcmd1bWVudHMuCiAKIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZIGJlZm9yZQogYXNzaWduaW5nIHRvIGl0LgpAQCAtODgsNyArODksMTAgQEAKIAogI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCiAKK3N0YXRpYyBpbnQgcnVuX2NhbGxiYWNrIF9fUCgoY29uc3QgY2hhciAqLCB1bnNpZ25lZCBpbnQsIGNvbnN0IGNoYXIgKikpOworCiAjZGVmaW5lIERFRkFVTFRfQVJSQVlfTkFNRQkiTUFQRklMRSIKKyNkZWZpbmUgREVGQVVMVF9WQVJJQUJMRV9OQU1FCSJNQVBMSU5FIgkvKiBub3QgdXNlZCByaWdodCBub3cgKi8KIAogLyogVGhlIHZhbHVlIHNwZWNpZnlpbmcgaG93IGZyZXF1ZW50bHkgYG1hcGZpbGUnICBjYWxscyB0aGUgY2FsbGJhY2suICovCiAjZGVmaW5lIERFRkFVTFRfUVVBTlRVTSA1MDAwCkBAIC05OCwxOCArMTAyLDIwIEBACiAjZGVmaW5lIE1BUEZfQ0hPUAkweDAyCiAKIHN0YXRpYyBpbnQKLXJ1bl9jYWxsYmFjayhjYWxsYmFjaywgY3VycmVudF9pbmRleCkKK3J1bl9jYWxsYmFjayAoY2FsbGJhY2ssIGN1cmluZGV4LCBjdXJsaW5lKQogICAgICBjb25zdCBjaGFyICpjYWxsYmFjazsKLSAgICAgdW5zaWduZWQgaW50IGN1cnJlbnRfaW5kZXg7CisgICAgIHVuc2lnbmVkIGludCBjdXJpbmRleDsKKyAgICAgY29uc3QgY2hhciAqY3VybGluZTsKIHsKICAgdW5zaWduZWQgaW50IGV4ZWNsZW47Ci0gIGNoYXIgICpleGVjc3RyOworICBjaGFyICAqZXhlY3N0ciwgKnFsaW5lOwogICBpbnQgZmxhZ3M7CiAKLSAgZXhlY2xlbiA9IHN0cmxlbiAoY2FsbGJhY2spICsgMTA7Ci0gIC8qIDEgZm9yIHNwYWNlIGJldHdlZW4gJXMgYW5kICVkLAorICBxbGluZSA9IHNoX3NpbmdsZV9xdW90ZSAoY3VybGluZSk7CisgIGV4ZWNsZW4gPSBzdHJsZW4gKGNhbGxiYWNrKSArIHN0cmxlbiAocWxpbmUpICsgMTA7CisgIC8qIDEgZm9yIGVhY2ggc3BhY2UgYmV0d2VlbiAlcyBhbmQgJWQsCiAgICAgIGFub3RoZXIgMSBmb3IgdGhlIGxhc3QgbnVsIGNoYXIgZm9yIEMgc3RyaW5nLiAqLwotICBleGVjbGVuICs9IDI7CisgIGV4ZWNsZW4gKz0gMzsKICAgZXhlY3N0ciA9IHhtYWxsb2MgKGV4ZWNsZW4pOwogCiAgIGZsYWdzID0gU0VWQUxfTk9ISVNUOwpAQCAtMTE3LDggKzEyMyw5IEBACiAgIGlmIChpbnRlcmFjdGl2ZSkKICAgICBmbGFncyB8PSBTRVZBTF9JTlRFUkFDVDsKICNlbmRpZgotICBzbnByaW50ZiAoZXhlY3N0ciwgZXhlY2xlbiwgIiVzICVkIiwgY2FsbGJhY2ssIGN1cnJlbnRfaW5kZXgpOwotICByZXR1cm4gcGFyc2VfYW5kX2V4ZWN1dGUoZXhlY3N0ciwgTlVMTCwgZmxhZ3MpOworICBzbnByaW50ZiAoZXhlY3N0ciwgZXhlY2xlbiwgIiVzICVkICVzIiwgY2FsbGJhY2ssIGN1cmluZGV4LCBxbGluZSk7CisgIGZyZWUgKHFsaW5lKTsKKyAgcmV0dXJuIHBhcnNlX2FuZF9leGVjdXRlIChleGVjc3RyLCBOVUxMLCBmbGFncyk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0yMDIsNyArMjA5LDcgQEAKICAgICAgIC8qIEhhcyBhIGNhbGxiYWNrIGJlZW4gcmVnaXN0ZXJlZCBhbmQgaWYgc28gaXMgaXQgdGltZSB0byBjYWxsIGl0PyAqLwogICAgICAgaWYgKGNhbGxiYWNrICYmIGxpbmVfY291bnQgJiYgKGxpbmVfY291bnQgJSBjYWxsYmFja19xdWFudHVtKSA9PSAwKSAKIAl7Ci0JICBydW5fY2FsbGJhY2sgKGNhbGxiYWNrLCBhcnJheV9pbmRleCk7CisJICBydW5fY2FsbGJhY2sgKGNhbGxiYWNrLCBhcnJheV9pbmRleCwgbGluZSk7CiAKIAkgIC8qIFJlc2V0IHRoZSBidWZmZXIgZm9yIGJhc2ggb3duIHN0cmVhbS4gKi8KIAkgIGlmICh1bmJ1ZmZlcmVkX3JlYWQgPT0gMCkKZGlmZiAtLWdpdCBhL2J1aWx0aW5zL21rYnVpbHRpbnMuYyBiL2J1aWx0aW5zL21rYnVpbHRpbnMuYwppbmRleCBjZGQ0NWU0Li5jZGZkZmIxIDEwMDY0NAotLS0gYS9idWlsdGlucy9ta2J1aWx0aW5zLmMKKysrIGIvYnVpbHRpbnMvbWtidWlsdGlucy5jCkBAIC0xLDcgKzEsNyBAQAogLyogbWtidWlsdGlucy5jIC0gQ3JlYXRlIGJ1aWx0aW5zLmMsIGJ1aWx0ZXh0LmgsIGFuZCBidWlsdGRvYy5jIGZyb20KICAgIGEgc2luZ2xlIHNvdXJjZSBmaWxlIGNhbGxlZCBidWlsdGlucy5kZWYuICovCiAKLS8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC0xMTI3LDcgKzExMjcsNyBAQAogICB9OwogCiBjaGFyICpzdHJ1Y3RmaWxlX2Zvb3RlcltdID0gewotICAiICB7IChjaGFyICopMHgwLCAoc2hfYnVpbHRpbl9mdW5jX3QgKikweDAsIDAsIChjaGFyICoqKTB4MCwgKGNoYXIgKikweDAgfSIsCisgICIgIHsgKGNoYXIgKikweDAsIChzaF9idWlsdGluX2Z1bmNfdCAqKTB4MCwgMCwgKGNoYXIgKiopMHgwLCAoY2hhciAqKTB4MCwgKGNoYXIgKikweDAgfSIsCiAgICJ9OyIsCiAgICIiLAogICAic3RydWN0IGJ1aWx0aW4gKnNoZWxsX2J1aWx0aW5zID0gc3RhdGljX3NoZWxsX2J1aWx0aW5zOyIsCkBAIC0xMzgwLDcgKzEzODAsNyBAQAogewogICByZWdpc3RlciBpbnQgaSwgajsKICAgcmVnaXN0ZXIgY2hhciAqbGluZTsKLSAgaW50IHN0cmluZ19hcnJheSwgdGV4aW5mbywgYmFzZV9pbmRlbnQsIGxhc3RfY3BwLCBmaWxlbmFtZV9wOworICBpbnQgc3RyaW5nX2FycmF5LCB0ZXhpbmZvLCBiYXNlX2luZGVudCwgZmlsZW5hbWVfcDsKIAogICBpZiAoc3RyZWFtID09IDApCiAgICAgcmV0dXJuOwpAQCAtMTQwNyw3ICsxNDA3LDcgQEAKIAogICBiYXNlX2luZGVudCA9IChzdHJpbmdfYXJyYXkgJiYgc2luZ2xlX2xvbmdkb2Nfc3RyaW5ncyAmJiBmaWxlbmFtZV9wID09IDApID8gQkFTRV9JTkRFTlQgOiAwOwogCi0gIGZvciAoaSA9IGxhc3RfY3BwID0gMCwgdGV4aW5mbyA9IChmbGFncyAmIFRFWElORk8pOyBsaW5lID0gZG9jdW1lbnRhdGlvbltpXTsgaSsrKQorICBmb3IgKGkgPSAwLCB0ZXhpbmZvID0gKGZsYWdzICYgVEVYSU5GTyk7IGxpbmUgPSBkb2N1bWVudGF0aW9uW2ldOyBpKyspCiAgICAgewogICAgICAgLyogQWxsb3cgI2lmZGVmJ3MgdG8gYmUgd3JpdHRlbiBvdXQgdmVyYmF0aW0sIGJ1dCBkb24ndCBwdXQgdGhlbSBpbnRvCiAJIHNlcGFyYXRlIGhlbHAgZmlsZXMuICovCkBAIC0xNDE1LDExICsxNDE1LDggQEAKIAl7CiAJICBpZiAoc3RyaW5nX2FycmF5ICYmIGZpbGVuYW1lX3AgPT0gMCAmJiBzaW5nbGVfbG9uZ2RvY19zdHJpbmdzID09IDApCiAJICAgIGZwcmludGYgKHN0cmVhbSwgIiVzXG4iLCBsaW5lKTsKLQkgIGxhc3RfY3BwID0gMTsKIAkgIGNvbnRpbnVlOwogCX0KLSAgICAgIGVsc2UKLQlsYXN0X2NwcCA9IDA7CiAKICAgICAgIC8qIHByZWZpeCB3aXRoIE5fKCBmb3IgZ2V0dGV4dCAqLwogICAgICAgaWYgKHN0cmluZ19hcnJheSAmJiBzaW5nbGVfbG9uZ2RvY19zdHJpbmdzID09IDApCmRpZmYgLS1naXQgYS9idWlsdGlucy9wcmludGYuZGVmIGIvYnVpbHRpbnMvcHJpbnRmLmRlZgppbmRleCAyNzc1NjZmLi43ODkyY2I1IDEwMDY0NAotLS0gYS9idWlsdGlucy9wcmludGYuZGVmCisrKyBiL2J1aWx0aW5zL3ByaW50Zi5kZWYKQEAgLTEsNyArMSw3IEBACiBUaGlzIGZpbGUgaXMgcHJpbnRmLmRlZiwgZnJvbSB3aGljaCBpcyBjcmVhdGVkIHByaW50Zi5jLgogSXQgaW1wbGVtZW50cyB0aGUgYnVpbHRpbiAicHJpbnRmIiBpbiBCYXNoLgogCi1Db3B5cmlnaHQgKEMpIDE5OTctMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK0NvcHlyaWdodCAoQykgMTk5Ny0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtNDAsNiArNDAsOCBAQAogCiAgICViCWV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudAogICAlcQlxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0CisgICUoZm10KVQgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nIEZNVCBhcyBhIGZvcm1hdAorICAgICAgICBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpCiAKIEV4aXQgU3RhdHVzOgogUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIHdyaXRlIG9yIGFzc2lnbm1lbnQKQEAgLTcyLDkgKzc0LDEyIEBACiAjICBpbmNsdWRlIDxpbnR0eXBlcy5oPgogI2VuZGlmCiAKKyNpbmNsdWRlICJwb3NpeHRpbWUuaCIKICNpbmNsdWRlICIuLi9iYXNoYW5zaS5oIgogI2luY2x1ZGUgIi4uL2Jhc2hpbnRsLmgiCiAKKyNkZWZpbmUgTkVFRF9TVFJGVElNRV9ERUNMCisKICNpbmNsdWRlICIuLi9zaGVsbC5oIgogI2luY2x1ZGUgInNobWJ1dGlsLmgiCiAjaW5jbHVkZSAic3RkYy5oIgpAQCAtMTY3LDYgKzE3Miw4IEBACiAjZGVmaW5lIFNLSVAxICIjJy0rIDAiCiAjZGVmaW5lIExFTk1PRFMgImhqbEx0eiIKIAorZXh0ZXJuIHRpbWVfdCBzaGVsbF9zdGFydF90aW1lOworCiAjaWYgIUhBVkVfQVNQUklOVEYKIGV4dGVybiBpbnQgYXNwcmludGYgX19QKChjaGFyICoqLCBjb25zdCBjaGFyICosIC4uLikpIF9fYXR0cmlidXRlX18oKF9fZm9ybWF0X18gKHByaW50ZiwgMiwgMykpKTsKICNlbmRpZgpAQCAtMTc3LDcgKzE4NCw3IEBACiAKIHN0YXRpYyB2b2lkIHByaW50Zl9lcmFuZ2UgX19QKChjaGFyICopKTsKIHN0YXRpYyBpbnQgcHJpbnRzdHIgX19QKChjaGFyICosIGNoYXIgKiwgaW50LCBpbnQsIGludCkpOwotc3RhdGljIGludCB0ZXNjYXBlIF9fUCgoY2hhciAqLCBjaGFyICosIGludCAqKSk7CitzdGF0aWMgaW50IHRlc2NhcGUgX19QKChjaGFyICosIGNoYXIgKiwgaW50ICosIGludCAqKSk7CiBzdGF0aWMgY2hhciAqYmV4cGFuZCBfX1AoKGNoYXIgKiwgaW50LCBpbnQgKiwgaW50ICopKTsKIHN0YXRpYyBjaGFyICp2YmFkZCBfX1AoKGNoYXIgKiwgaW50KSk7CiBzdGF0aWMgaW50IHZicHJpbnRmIF9fUCgoY29uc3QgY2hhciAqLCAuLi4pKSBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fIChwcmludGYsIDEsIDIpKSk7CkBAIC0yMjQsNiArMjMxLDEwIEBACiAgIGludCBjaCwgZmllbGR3aWR0aCwgcHJlY2lzaW9uOwogICBpbnQgaGF2ZV9maWVsZHdpZHRoLCBoYXZlX3ByZWNpc2lvbjsKICAgY2hhciBjb252Y2gsIHRoaXNjaCwgbmV4dGNoLCAqZm9ybWF0LCAqbW9kc3RhcnQsICpmbXQsICpzdGFydDsKKyNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorICBjaGFyIG1iY2hbMjVdOwkJLyogMjUgPiBNQl9MRU5fTUFYLCBwbHVzIGNhbiBoYW5kbGUgNC1ieXRlIFVURi04IGFuZCBsYXJnZSBVbmljb2RlIGNoYXJhY3RlcnMqLworICBpbnQgbWJpbmQsIG1ibGVuOworI2VuZGlmCiAKICAgY29udmVyc2lvbl9lcnJvciA9IDA7CiAgIHJldHZhbCA9IEVYRUNVVElPTl9TVUNDRVNTOwpAQCAtMzAxLDggKzMxMiwxNyBAQAogCSAgICAgIGZtdCsrOwogCSAgICAgIC8qIEEgTlVMTCB0aGlyZCBhcmd1bWVudCB0byB0ZXNjYXBlIG1lYW5zIHRvIGJ5cGFzcyB0aGUKIAkJIHNwZWNpYWwgcHJvY2Vzc2luZyBmb3IgYXJndW1lbnRzIHRvICViLiAqLwotCSAgICAgIGZtdCArPSB0ZXNjYXBlIChmbXQsICZuZXh0Y2gsIChpbnQgKilOVUxMKTsKKyNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorCSAgICAgIC8qIEFjY29tbW9kYXRlIHBvc3NpYmxlIHVzZSBvZiBcdSBvciBcVSwgd2hpY2ggY2FuIHJlc3VsdCBpbgorCQkgbXVsdGlieXRlIGNoYXJhY3RlcnMgKi8KKwkgICAgICBtZW1zZXQgKG1iY2gsICdcMCcsIHNpemVvZiAobWJjaCkpOworCSAgICAgIGZtdCArPSB0ZXNjYXBlIChmbXQsIG1iY2gsICZtYmxlbiwgKGludCAqKU5VTEwpOworCSAgICAgIGZvciAobWJpbmQgPSAwOyBtYmluZCA8IG1ibGVuOyBtYmluZCsrKQorCSAgICAgICAgUEMgKG1iY2hbbWJpbmRdKTsKKyNlbHNlCisJICAgICAgZm10ICs9IHRlc2NhcGUgKGZtdCwgJm5leHRjaCwgKGludCAqKU5VTEwsIChpbnQgKilOVUxMKTsKIAkgICAgICBQQyAobmV4dGNoKTsKKyNlbmRpZgogCSAgICAgIGZtdC0tOwkvKiBmb3IgbG9vcCB3aWxsIGluY3JlbWVudCBpdCBmb3IgdXMgYWdhaW4gKi8KIAkgICAgICBjb250aW51ZTsKIAkgICAgfQpAQCAtNDAxLDYgKzQyMSw3MCBAQAogCQlicmVhazsKIAkgICAgICB9CiAKKwkgICAgY2FzZSAnKCc6CisJICAgICAgeworCQljaGFyICp0aW1lZm10LCB0aW1lYnVmWzEyOF0sICp0OworCQlpbnQgbjsKKwkJaW50bWF4X3QgYXJnOworCQl0aW1lX3Qgc2VjczsKKwkJc3RydWN0IHRtICp0bTsKKworCQltb2RzdGFydFsxXSA9IG5leHRjaDsJLyogcmVzdG9yZSBjaGFyIGFmdGVyIGxlZnQgcGFyZW4gKi8KKwkJdGltZWZtdCA9IHhtYWxsb2MgKHN0cmxlbiAoZm10KSArIDMpOworCQlmbXQrKzsJLyogc2tpcCBvdmVyIGxlZnQgcGFyZW4gKi8KKwkJZm9yICh0ID0gdGltZWZtdCwgbiA9IDE7ICpmbXQ7ICkKKwkJICB7CisJCSAgICBpZiAoKmZtdCA9PSAnKCcpCisJCSAgICAgIG4rKzsKKwkJICAgIGVsc2UgaWYgKCpmbXQgPT0gJyknKQorCQkgICAgICBuLS07CisJCSAgICBpZiAobiA9PSAwKQorCQkgICAgICBicmVhazsKKwkJICAgICp0KysgPSAqZm10Kys7CisJCSAgfQorCQkqdCA9ICdcMCc7CisJCWlmICgqKytmbXQgIT0gJ1QnKQorCQkgIHsKKwkJICAgIGJ1aWx0aW5fd2FybmluZyAoXygiYCVjJzogaW52YWxpZCB0aW1lIGZvcm1hdCBzcGVjaWZpY2F0aW9uIiksICpmbXQpOworCQkgICAgZm10ID0gc3RhcnQ7CisJCSAgICBmcmVlICh0aW1lZm10KTsKKwkJICAgIFBDICgqZm10KTsKKwkJICAgIGNvbnRpbnVlOworCQkgIH0KKwkJaWYgKHRpbWVmbXRbMF0gPT0gJ1wwJykKKwkJICB7CisJCSAgICB0aW1lZm10WzBdID0gJyUnOworCQkgICAgdGltZWZtdFsxXSA9ICdYJzsJLyogbG9jYWxlLXNwZWNpZmljIGN1cnJlbnQgdGltZSAtIHNob3VsZCB3ZSB1c2UgYCsnPyAqLworCQkgICAgdGltZWZtdFsyXSA9ICdcMCc7CisJCSAgfQorCQkvKiBhcmd1bWVudCBpcyBzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaCB3aXRoIHNwZWNpYWwgLTEgYW5kIC0yICovCisJCWFyZyA9IGdldGludG1heCAoKTsKKwkJaWYgKGFyZyA9PSAtMSkKKwkJICBzZWNzID0gTk9XOwkJLyogcm91Z2hseSBkYXRlICslcyAqLworCQllbHNlIGlmIChhcmcgPT0gLTIpCisJCSAgc2VjcyA9IHNoZWxsX3N0YXJ0X3RpbWU7CS8qIHJvdWdobHkgJFNFQ09ORFMgKi8KKwkJZWxzZQorCQkgIHNlY3MgPSBhcmc7CisJCXRtID0gbG9jYWx0aW1lICgmc2Vjcyk7CisJCW4gPSBzdHJmdGltZSAodGltZWJ1Ziwgc2l6ZW9mICh0aW1lYnVmKSwgdGltZWZtdCwgdG0pOworCQlmcmVlICh0aW1lZm10KTsKKwkJaWYgKG4gPT0gMCkKKwkJICB0aW1lYnVmWzBdID0gJ1wwJzsKKwkJZWxzZQorCQkgIHRpbWVidWZbc2l6ZW9mKHRpbWVidWYpIC0gMV0gPSAnXDAnOworCQkvKiBjb252ZXJ0IHRvICVzIGZvcm1hdCB0aGF0IHByZXNlcnZlcyBmaWVsZHdpZHRoIGFuZCBwcmVjaXNpb24gKi8KKwkJbW9kc3RhcnRbMF0gPSAncyc7CisJCW1vZHN0YXJ0WzFdID0gJ1wwJzsKKwkJbiA9IHByaW50c3RyIChzdGFydCwgdGltZWJ1Ziwgc3RybGVuICh0aW1lYnVmKSwgZmllbGR3aWR0aCwgcHJlY2lzaW9uKTsJLyogWFhYIC0gJXMgZm9yIG5vdyAqLworCQlpZiAobiA8IDApCisJCSAgeworCQkgICAgc2hfd3JlcnJvciAoKTsKKwkJICAgIGNsZWFyZXJyIChzdGRvdXQpOworCQkgICAgUFJFVFVSTiAoRVhFQ1VUSU9OX0ZBSUxVUkUpOworCQkgIH0KKwkJYnJlYWs7CisJICAgICAgfQorCiAJICAgIGNhc2UgJ24nOgogCSAgICAgIHsKIAkJY2hhciAqdmFyOwpAQCAtNjk5LDE1ICs3ODMsMTggQEAKICAgIGRvIHRoZSBcYyBzaG9ydC1jaXJjdWl0aW5nLCBhbmQgXGMgaXMgdHJlYXRlZCBhcyBhbiB1bnJlY29nbml6ZWQgZXNjYXBlCiAgICBzZXF1ZW5jZTsgd2UgYWxzbyBieXBhc3MgdGhlIG90aGVyIHByb2Nlc3Npbmcgc3BlY2lmaWMgdG8gJWIgYXJndW1lbnRzLiAgKi8KIHN0YXRpYyBpbnQKLXRlc2NhcGUgKGVzdGFydCwgY3AsIHNhd2MpCit0ZXNjYXBlIChlc3RhcnQsIGNwLCBsZW5wLCBzYXdjKQogICAgICBjaGFyICplc3RhcnQ7CiAgICAgIGNoYXIgKmNwOwotICAgICBpbnQgKnNhd2M7CisgICAgIGludCAqbGVucCwgKnNhd2M7CiB7CiAgIHJlZ2lzdGVyIGNoYXIgKnA7CiAgIGludCB0ZW1wLCBjLCBldmFsdWU7CisgIHVuc2lnbmVkIGxvbmcgdXZhbHVlOwogCiAgIHAgPSBlc3RhcnQ7CisgIGlmIChsZW5wKQorICAgICpsZW5wID0gMTsKIAogICBzd2l0Y2ggKGMgPSAqcCsrKQogICAgIHsKQEAgLTc0MywxNCArODMwLDEwIEBACiAJKmNwID0gZXZhbHVlICYgMHhGRjsKIAlicmVhazsKIAotICAgICAgLyogQW5kLCBhcyBhbm90aGVyIGV4dGVuc2lvbiwgd2UgYWxsb3cgXHhOTk4sIHdoZXJlIGVhY2ggTiBpcyBhCisgICAgICAvKiBBbmQsIGFzIGFub3RoZXIgZXh0ZW5zaW9uLCB3ZSBhbGxvdyBceE5OLCB3aGVyZSBlYWNoIE4gaXMgYQogCSBoZXggZGlnaXQuICovCiAgICAgICBjYXNlICd4JzoKLSNpZiAwCi0JZm9yIChldmFsdWUgPSAwOyBJU1hESUdJVCAoKHVuc2lnbmVkIGNoYXIpKnApOyBwKyspCi0jZWxzZQogCWZvciAodGVtcCA9IDIsIGV2YWx1ZSA9IDA7IElTWERJR0lUICgodW5zaWduZWQgY2hhcikqcCkgJiYgdGVtcC0tOyBwKyspCi0jZW5kaWYKIAkgIGV2YWx1ZSA9IChldmFsdWUgKiAxNikgKyBIRVhWQUxVRSAoKnApOwogCWlmIChwID09IGVzdGFydCArIDEpCiAJICB7CkBAIC03NjEsNiArODQ0LDMwIEBACiAJKmNwID0gZXZhbHVlICYgMHhGRjsKIAlicmVhazsKIAorI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUpCisgICAgICBjYXNlICd1JzoKKyAgICAgIGNhc2UgJ1UnOgorCXRlbXAgPSAoYyA9PSAndScpID8gNCA6IDg7CS8qIFx1Tk5OTiBcVU5OTk5OTk5OICovCisJZm9yICh1dmFsdWUgPSAwOyBJU1hESUdJVCAoKHVuc2lnbmVkIGNoYXIpKnApICYmIHRlbXAtLTsgcCsrKQorCSAgdXZhbHVlID0gKHV2YWx1ZSAqIDE2KSArIEhFWFZBTFVFICgqcCk7CisJaWYgKHAgPT0gZXN0YXJ0ICsgMSkKKwkgIHsKKwkgICAgYnVpbHRpbl9lcnJvciAoXygibWlzc2luZyB1bmljb2RlIGRpZ2l0IGZvciBcXCVjIiksIGMpOworCSAgICAqY3AgPSAnXFwnOworCSAgICByZXR1cm4gMDsKKwkgIH0KKwlpZiAodXZhbHVlIDw9IFVDSEFSX01BWCkKKwkgICpjcCA9IHV2YWx1ZTsKKwllbHNlCisJICB7CisJICAgIHRlbXAgPSB1MzJjY29udiAodXZhbHVlLCBjcCk7CisJICAgIGNwW3RlbXBdID0gJ1wwJzsKKwkgICAgaWYgKGxlbnApCisJICAgICAgKmxlbnAgPSB0ZW1wOworCSAgfQorCWJyZWFrOworI2VuZGlmCisJCiAgICAgICBjYXNlICdcXCc6CS8qIFxcIC0+IFwgKi8KIAkqY3AgPSBjOwogCWJyZWFrOwpAQCAtNzk5LDEyICs5MDYsMTIgQEAKIHsKICAgaW50IHRlbXA7CiAgIGNoYXIgKnJldCwgKnIsICpzLCBjOwotCi0jaWYgMAotICBpZiAoc3RyaW5nID09IDAgfHwgKnN0cmluZyA9PSAnXDAnKQotI2Vsc2UKLSAgaWYgKHN0cmluZyA9PSAwIHx8IGxlbiA9PSAwKQorI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUpCisgIGNoYXIgbWJjaFsyNV07CisgIGludCBtYmluZCwgbWJsZW47CiAjZW5kaWYKKworICBpZiAoc3RyaW5nID09IDAgfHwgbGVuID09IDApCiAgICAgewogICAgICAgaWYgKHNhd2MpCiAJKnNhd2MgPSAwOwpAQCAtODIzLDcgKzkzMCwxMiBAQAogCSAgY29udGludWU7CiAJfQogICAgICAgdGVtcCA9IDA7Ci0gICAgICBzICs9IHRlc2NhcGUgKHMsICZjLCAmdGVtcCk7CisjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKKyAgICAgIG1lbXNldCAobWJjaCwgJ1wwJywgc2l6ZW9mIChtYmNoKSk7CisgICAgICBzICs9IHRlc2NhcGUgKHMsIG1iY2gsICZtYmxlbiwgJnRlbXApOworI2Vsc2UKKyAgICAgIHMgKz0gdGVzY2FwZSAocywgJmMsIChpbnQgKilOVUxMLCAmdGVtcCk7CisjZW5kaWYKICAgICAgIGlmICh0ZW1wKQogCXsKIAkgIGlmIChzYXdjKQpAQCAtODMxLDcgKzk0MywxMiBAQAogCSAgYnJlYWs7CiAJfQogCisjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKKyAgICAgIGZvciAobWJpbmQgPSAwOyBtYmluZCA8IG1ibGVuOyBtYmluZCsrKQorCSpyKysgPSBtYmNoW21iaW5kXTsKKyNlbHNlCiAgICAgICAqcisrID0gYzsKKyNlbmRpZiAgICAgIAogICAgIH0KIAogICAqciA9ICdcMCc7CmRpZmYgLS1naXQgYS9idWlsdGlucy9yZWFkLmRlZiBiL2J1aWx0aW5zL3JlYWQuZGVmCmluZGV4IDIwODYwYmUuLmM0YTY2OGEgMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL3JlYWQuZGVmCisrKyBiL2J1aWx0aW5zL3JlYWQuZGVmCkBAIC0xLDcgKzEsNyBAQAogVGhpcyBmaWxlIGlzIHJlYWQuZGVmLCBmcm9tIHdoaWNoIGlzIGNyZWF0ZWQgcmVhZC5jLgogSXQgaW1wbGVtZW50cyB0aGUgYnVpbHRpbiAicmVhZCIgaW4gQmFzaC4KIAotQ29weXJpZ2h0IChDKSAxOTg3LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitDb3B5cmlnaHQgKEMpIDE5ODctMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTc5MywxMSArNzkzLDE2IEBACiAgICAgfQogICBlbHNlCiAgICAgdmFyID0gYmluZF9yZWFkX3ZhcmlhYmxlIChsaXN0LT53b3JkLT53b3JkLCBpbnB1dF9zdHJpbmcpOwotICBzdHVwaWRseV9oYWNrX3NwZWNpYWxfdmFyaWFibGVzIChsaXN0LT53b3JkLT53b3JkKTsKLSAgRlJFRSAodG9mcmVlKTsKIAogICBpZiAodmFyKQotICAgIFZVTlNFVEFUVFIgKHZhciwgYXR0X2ludmlzaWJsZSk7CisgICAgeworICAgICAgc3R1cGlkbHlfaGFja19zcGVjaWFsX3ZhcmlhYmxlcyAobGlzdC0+d29yZC0+d29yZCk7CisgICAgICBWVU5TRVRBVFRSICh2YXIsIGF0dF9pbnZpc2libGUpOworICAgIH0KKyAgZWxzZQorICAgIHJldHZhbCA9IEVYRUNVVElPTl9GQUlMVVJFOworCisgIEZSRUUgKHRvZnJlZSk7CiAgIHhmcmVlIChvcmlnX2lucHV0X3N0cmluZyk7CiAKICAgcmV0dXJuIChyZXR2YWwpOwpAQCAtODA3LDE0ICs4MTIsMTcgQEAKIGJpbmRfcmVhZF92YXJpYWJsZSAobmFtZSwgdmFsdWUpCiAgICAgIGNoYXIgKm5hbWUsICp2YWx1ZTsKIHsKKyAgU0hFTExfVkFSICp2OwogI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCiAgIGlmICh2YWxpZF9hcnJheV9yZWZlcmVuY2UgKG5hbWUpID09IDApCi0gICAgcmV0dXJuIChiaW5kX3ZhcmlhYmxlIChuYW1lLCB2YWx1ZSwgMCkpOworICAgIHYgPSBiaW5kX3ZhcmlhYmxlIChuYW1lLCB2YWx1ZSwgMCk7CiAgIGVsc2UKLSAgICByZXR1cm4gKGFzc2lnbl9hcnJheV9lbGVtZW50IChuYW1lLCB2YWx1ZSwgMCkpOworICAgIHYgPSBhc3NpZ25fYXJyYXlfZWxlbWVudCAobmFtZSwgdmFsdWUsIDApOwogI2Vsc2UgLyogIUFSUkFZX1ZBUlMgKi8KLSAgcmV0dXJuIGJpbmRfdmFyaWFibGUgKG5hbWUsIHZhbHVlLCAwKTsKKyAgdiA9IGJpbmRfdmFyaWFibGUgKG5hbWUsIHZhbHVlLCAwKTsKICNlbmRpZiAvKiAhQVJSQVlfVkFSUyAqLworICByZXR1cm4gKHYgPT0gMCA/IHYKKwkJIDogKChyZWFkb25seV9wICh2KSB8fCBub2Fzc2lnbl9wICh2KSkgPyAoU0hFTExfVkFSICopTlVMTCA6IHYpKTsKIH0KIAogI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUpCmRpZmYgLS1naXQgYS9idWlsdGlucy9zZXQuZGVmIGIvYnVpbHRpbnMvc2V0LmRlZgppbmRleCA1ZTU1MGNiLi42ZTY5ZWI2IDEwMDY0NAotLS0gYS9idWlsdGlucy9zZXQuZGVmCisrKyBiL2J1aWx0aW5zL3NldC5kZWYKQEAgLTU5LDcgKzU5LDcgQEAKIAogJEJVSUxUSU4gc2V0CiAkRlVOQ1RJT04gc2V0X2J1aWx0aW4KLSRTSE9SVF9ET0Mgc2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXQorJFNIT1JUX0RPQyBzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXQogU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuCiAKIENoYW5nZSB0aGUgdmFsdWUgb2Ygc2hlbGwgYXR0cmlidXRlcyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBvcgpAQCAtMTM4LDYgKzEzOCw5IEBACiAgIC1QICBJZiBzZXQsIGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3Mgd2hlbiBleGVjdXRpbmcgY29tbWFuZHMKICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy4KKyAgLS0gIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLgorICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMKKyAgICAgIGFyZSB1bnNldC4KICAgLSAgIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLgogICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLgogCmRpZmYgLS1naXQgYS9idWlsdGlucy9zZXRhdHRyLmRlZiBiL2J1aWx0aW5zL3NldGF0dHIuZGVmCmluZGV4IDhiNGNkZjcuLmIzY2EzMTcgMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL3NldGF0dHIuZGVmCisrKyBiL2J1aWx0aW5zL3NldGF0dHIuZGVmCkBAIC0xLDcgKzEsNyBAQAogVGhpcyBmaWxlIGlzIHNldGF0dHIuZGVmLCBmcm9tIHdoaWNoIGlzIGNyZWF0ZWQgc2V0YXR0ci5jLgogSXQgaW1wbGVtZW50cyB0aGUgYnVpbHRpbnMgImV4cG9ydCIgYW5kICJyZWFkb25seSIsIGluIEJhc2guCiAKLUNvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQ29weXJpZ2h0IChDKSAxOTg3LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC04Miw3ICs4Miw3IEBACiAKICRCVUlMVElOIHJlYWRvbmx5CiAkRlVOQ1RJT04gcmVhZG9ubHlfYnVpbHRpbgotJFNIT1JUX0RPQyByZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAKKyRTSE9SVF9ET0MgcmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcAogTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLgogCiBNYXJrIGVhY2ggTkFNRSBhcyByZWFkLW9ubHk7IHRoZSB2YWx1ZXMgb2YgdGhlc2UgTkFNRXMgbWF5IG5vdCBiZQpAQCAtNDMzLDExICs0MzMsMTEgQEAKICAgICBwcmludGYgKCIlc1xuIiwgdmFyLT5uYW1lKTsKICAgZWxzZSBpZiAoZnVuY3Rpb25fcCAodmFyKSkKICAgICBwcmludGYgKCIlc1xuIiwgbmFtZWRfZnVuY3Rpb25fc3RyaW5nICh2YXItPm5hbWUsIGZ1bmN0aW9uX2NlbGwgKHZhciksIEZVTkNfTVVMVElMSU5FfEZVTkNfRVhURVJOQUwpKTsKLSAgZWxzZSBpZiAoaW52aXNpYmxlX3AgKHZhcikpCisgIGVsc2UgaWYgKGludmlzaWJsZV9wICh2YXIpIHx8IHZhcl9pc3NldCAodmFyKSA9PSAwKQogICAgIHByaW50ZiAoIiVzXG4iLCB2YXItPm5hbWUpOwogICBlbHNlCiAgICAgewotICAgICAgeCA9IHNoX2RvdWJsZV9xdW90ZSAodmFyX2lzc2V0ICh2YXIpID8gdmFsdWVfY2VsbCAodmFyKSA6ICIiKTsKKyAgICAgIHggPSBzaF9kb3VibGVfcXVvdGUgKHZhbHVlX2NlbGwgKHZhcikpOwogICAgICAgcHJpbnRmICgiJXM9JXNcbiIsIHZhci0+bmFtZSwgeCk7CiAgICAgICBmcmVlICh4KTsKICAgICB9CmRpZmYgLS1naXQgYS9idWlsdGlucy9zaG9wdC5kZWYgYi9idWlsdGlucy9zaG9wdC5kZWYKaW5kZXggNjhjNzI0NS4uMjc2ODVhYSAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvc2hvcHQuZGVmCisrKyBiL2J1aWx0aW5zL3Nob3B0LmRlZgpAQCAtMSw3ICsxLDcgQEAKIFRoaXMgZmlsZSBpcyBzaG9wdC5kZWYsIGZyb20gd2hpY2ggaXMgY3JlYXRlZCBzaG9wdC5jLgogSXQgaW1wbGVtZW50cyB0aGUgQmFzaCBgc2hvcHQnIGJ1aWx0aW4uCiAKLUNvcHlyaWdodCAoQykgMTk5NC0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQ29weXJpZ2h0IChDKSAxOTk0LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC04NCw2ICs4NCw3IEBACiBleHRlcm4gaW50IGNoZWNrX2pvYnNfYXRfZXhpdDsKIGV4dGVybiBpbnQgYXV0b2NkOwogZXh0ZXJuIGludCBnbG9iX3N0YXI7CitleHRlcm4gaW50IGxhc3RwaXBlX29wdDsKIAogI2lmIGRlZmluZWQgKEVYVEVOREVEX0dMT0IpCiBleHRlcm4gaW50IGV4dGVuZGVkX2dsb2I7CkBAIC0xMjQsNiArMTI1LDcgQEAKIHN0YXRpYyBpbnQgc2hvcHRfY29tcGF0MzE7CiBzdGF0aWMgaW50IHNob3B0X2NvbXBhdDMyOwogc3RhdGljIGludCBzaG9wdF9jb21wYXQ0MDsKK3N0YXRpYyBpbnQgc2hvcHRfY29tcGF0NDE7CiAKIHR5cGVkZWYgaW50IHNob3B0X3NldF9mdW5jX3QgX19QKChjaGFyICosIGludCkpOwogCkBAIC0xNDYsNiArMTQ4LDcgQEAKICAgeyAiY29tcGF0MzEiLCAmc2hvcHRfY29tcGF0MzEsIHNldF9jb21wYXRpYmlsaXR5X2xldmVsIH0sCiAgIHsgImNvbXBhdDMyIiwgJnNob3B0X2NvbXBhdDMyLCBzZXRfY29tcGF0aWJpbGl0eV9sZXZlbCB9LAogICB7ICJjb21wYXQ0MCIsICZzaG9wdF9jb21wYXQ0MCwgc2V0X2NvbXBhdGliaWxpdHlfbGV2ZWwgfSwKKyAgeyAiY29tcGF0NDEiLCAmc2hvcHRfY29tcGF0NDEsIHNldF9jb21wYXRpYmlsaXR5X2xldmVsIH0sCiAjaWYgZGVmaW5lZCAoUkVBRExJTkUpCiAgIHsgImRpcnNwZWxsIiwgJmRpcmNvbXBsZXRlX3NwZWxsaW5nLCAoc2hvcHRfc2V0X2Z1bmNfdCAqKU5VTEwgfSwKICNlbmRpZgpAQCAtMTc1LDYgKzE3OCw3IEBACiAjZW5kaWYKICAgeyAiaHVwb25leGl0IiwgJmh1cF9vbl9leGl0LCAoc2hvcHRfc2V0X2Z1bmNfdCAqKU5VTEwgfSwKICAgeyAiaW50ZXJhY3RpdmVfY29tbWVudHMiLCAmaW50ZXJhY3RpdmVfY29tbWVudHMsIHNldF9zaGVsbG9wdHNfYWZ0ZXJfY2hhbmdlIH0sCisgIHsgImxhc3RwaXBlIiwgJmxhc3RwaXBlX29wdCwgKHNob3B0X3NldF9mdW5jX3QgKilOVUxMIH0sCiAjaWYgZGVmaW5lZCAoSElTVE9SWSkKICAgeyAibGl0aGlzdCIsICZsaXRlcmFsX2hpc3RvcnksIChzaG9wdF9zZXRfZnVuY190ICopTlVMTCB9LAogI2VuZGlmCmRpZmYgLS1naXQgYS9idWlsdGlucy9zb3VyY2UuZGVmIGIvYnVpbHRpbnMvc291cmNlLmRlZgppbmRleCA3MjYyN2RiLi43MTkwOGI4IDEwMDY0NAotLS0gYS9idWlsdGlucy9zb3VyY2UuZGVmCisrKyBiL2J1aWx0aW5zL3NvdXJjZS5kZWYKQEAgLTgwLDYgKzgwLDggQEAKICNlbmRpZiAvKiAhZXJybm8gKi8KIAogZXh0ZXJuIGludCBwb3NpeGx5X2NvcnJlY3Q7CitleHRlcm4gaW50IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlOworZXh0ZXJuIGludCBleGVjdXRpbmdfY29tbWFuZF9idWlsdGluOwogCiBzdGF0aWMgdm9pZCBtYXliZV9wb3BfZG9sbGFyX3ZhcnMgX19QKCh2b2lkKSk7CiAKQEAgLTE1MSw2ICsxNTMsMTEgQEAKICAgICAgIGlmIChzb3VyY2Vfc2VhcmNoZXNfY3dkID09IDApCiAJewogCSAgYnVpbHRpbl9lcnJvciAoXygiJXM6IGZpbGUgbm90IGZvdW5kIiksIGxpc3QtPndvcmQtPndvcmQpOworCSAgaWYgKHBvc2l4bHlfY29ycmVjdCAmJiBpbnRlcmFjdGl2ZV9zaGVsbCA9PSAwICYmIGV4ZWN1dGluZ19jb21tYW5kX2J1aWx0aW4gPT0gMCkKKwkgICAgeworCSAgICAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gMTsKKwkgICAgICBqdW1wX3RvX3RvcF9sZXZlbCAoRVhJVFBST0cpOworCSAgICB9CiAJICByZXR1cm4gKEVYRUNVVElPTl9GQUlMVVJFKTsKIAl9CiAgICAgICBlbHNlCmRpZmYgLS1naXQgYS9idWlsdGlucy90ZXN0LmRlZiBiL2J1aWx0aW5zL3Rlc3QuZGVmCmluZGV4IDRhZGZmOTMuLjFlYmM4MTggMTAwNjQ0Ci0tLSBhL2J1aWx0aW5zL3Rlc3QuZGVmCisrKyBiL2J1aWx0aW5zL3Rlc3QuZGVmCkBAIC0xLDcgKzEsNyBAQAogVGhpcyBmaWxlIGlzIHRlc3QuZGVmLCBmcm9tIHdoaWNoIGlzIGNyZWF0ZWQgdGVzdC5jLgogSXQgaW1wbGVtZW50cyB0aGUgYnVpbHRpbiAidGVzdCIgaW4gQmFzaC4KIAotQ29weXJpZ2h0IChDKSAxOTg3LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitDb3B5cmlnaHQgKEMpIDE5ODctMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTI4LDcgKzI4LDEwIEBACiBFeGl0cyB3aXRoIGEgc3RhdHVzIG9mIDAgKHRydWUpIG9yIDEgKGZhbHNlKSBkZXBlbmRpbmcgb24KIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnkKIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZQotYXJlIHN0cmluZyBvcGVyYXRvcnMgYXMgd2VsbCwgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMuCithcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLgorCitUaGUgYmVoYXZpb3Igb2YgdGVzdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzLiAgUmVhZCB0aGUKK2Jhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLgogCiBGaWxlIG9wZXJhdG9yczoKIApAQCAtODAsNiArODMsNyBAQAogT3RoZXIgb3BlcmF0b3JzOgogCiAgIC1vIE9QVElPTiAgICAgIFRydWUgaWYgdGhlIHNoZWxsIG9wdGlvbiBPUFRJT04gaXMgZW5hYmxlZC4KKyAgLXYgVkFSCSBUcnVlIGlmIHRoZSBzaGVsbCB2YXJpYWJsZSBWQVIgaXMgc2V0CiAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS4KICAgRVhQUjEgLWEgRVhQUjIgVHJ1ZSBpZiBib3RoIGV4cHIxIEFORCBleHByMiBhcmUgdHJ1ZS4KICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS4KZGlmZiAtLWdpdCBhL2J1aWx0aW5zL3RyYXAuZGVmIGIvYnVpbHRpbnMvdHJhcC5kZWYKaW5kZXggYThkYTcxZC4uMjExOWY1YiAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvdHJhcC5kZWYKKysrIGIvYnVpbHRpbnMvdHJhcC5kZWYKQEAgLTEsNyArMSw3IEBACiBUaGlzIGZpbGUgaXMgdHJhcC5kZWYsIGZyb20gd2hpY2ggaXMgY3JlYXRlZCB0cmFwLmMuCiBJdCBpbXBsZW1lbnRzIHRoZSBidWlsdGluICJ0cmFwIiBpbiBCYXNoLgogCi1Db3B5cmlnaHQgKEMpIDE5ODctMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK0NvcHlyaWdodCAoQykgMTk4Ny0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtMzUsNyArMzUsMTEgQEAKIHNoZWxsIGFuZCBieSB0aGUgY29tbWFuZHMgaXQgaW52b2tlcy4KIAogSWYgYSBTSUdOQUxfU1BFQyBpcyBFWElUICgwKSBBUkcgaXMgZXhlY3V0ZWQgb24gZXhpdCBmcm9tIHRoZSBzaGVsbC4gIElmCi1hIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLgorYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gIElmCithIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yIGEKK3NjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgU0lHTkFMX1NQRUMKK29mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSB0aGUKK3NoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuCiAKIElmIG5vIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQsIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzIGFzc29jaWF0ZWQKIHdpdGggZWFjaCBzaWduYWwuCkBAIC05Myw3ICs5Nyw3IEBACiAjZGVmaW5lIFJFVkVSVCAxCQkvKiBSZXZlcnQgdG8gdGhpcyBzaWduYWxzIG9yaWdpbmFsIHZhbHVlLiAqLwogI2RlZmluZSBJR05PUkUgMgkJLyogSWdub3JlIHRoaXMgc2lnbmFsLiAqLwogCi1leHRlcm4gaW50IHBvc2l4bHlfY29ycmVjdDsKK2V4dGVybiBpbnQgcG9zaXhseV9jb3JyZWN0LCBzdWJzaGVsbF9lbnZpcm9ubWVudDsKIAogaW50CiB0cmFwX2J1aWx0aW4gKGxpc3QpCkBAIC0xMDMsNiArMTA3LDcgQEAKIAogICBsaXN0X3NpZ25hbF9uYW1lcyA9IGRpc3BsYXkgPSAwOwogICByZXN1bHQgPSBFWEVDVVRJT05fU1VDQ0VTUzsKKwogICByZXNldF9pbnRlcm5hbF9nZXRvcHQgKCk7CiAgIHdoaWxlICgob3B0ID0gaW50ZXJuYWxfZ2V0b3B0IChsaXN0LCAibHAiKSkgIT0gLTEpCiAgICAgewpAQCAtMTI2LDcgKzEzMSwxMSBAQAogICBpZiAobGlzdF9zaWduYWxfbmFtZXMpCiAgICAgcmV0dXJuIChzaF9jaGt3cml0ZSAoZGlzcGxheV9zaWduYWxfbGlzdCAoKFdPUkRfTElTVCAqKU5VTEwsIDEpKSk7CiAgIGVsc2UgaWYgKGRpc3BsYXkgfHwgbGlzdCA9PSAwKQotICAgIHJldHVybiAoc2hfY2hrd3JpdGUgKGRpc3BsYXlfdHJhcHMgKGxpc3QpKSk7CisgICAgeworICAgICAgaW5pdGlhbGl6ZV90ZXJtaW5hdGluZ19zaWduYWxzICgpOworICAgICAgZ2V0X2FsbF9vcmlnaW5hbF9zaWduYWxzICgpOworICAgICAgcmV0dXJuIChzaF9jaGt3cml0ZSAoZGlzcGxheV90cmFwcyAobGlzdCkpKTsKKyAgICB9CiAgIGVsc2UKICAgICB7CiAgICAgICBjaGFyICpmaXJzdF9hcmc7CkBAIC0xNjMsNiArMTcyLDE2IEBACiAJICAgIG9wZXJhdGlvbiA9IFJFVkVSVDsKIAl9CiAKKyAgICAgIC8qIElmIHdlJ3JlIGluIGEgY29tbWFuZCBzdWJzdGl0dXRpb24sIHdlIGhhdmVuJ3QgZnJlZWQgdGhlIHRyYXAgc3RyaW5ncworCSAodGhvdWdoIHdlIHJlc2V0IHRoZSBzaWduYWwgaGFuZGxlcnMpLiAgSWYgd2UncmUgc2V0dGluZyBhIHRyYXAgdG8KKwkgaGFuZGxlIGEgc2lnbmFsIGhlcmUsIGZyZWUgdGhlIHJlc3Qgb2YgdGhlIHRyYXAgc3RyaW5ncyBzaW5jZSB0aGV5CisJIGRvbid0IGFwcGx5IGFueSBtb3JlLiAqLworICAgICAgaWYgKHN1YnNoZWxsX2Vudmlyb25tZW50ICYgU1VCU0hFTExfUkVTRVRUUkFQKQorCXsKKwkgIGZyZWVfdHJhcF9zdHJpbmdzICgpOworCSAgc3Vic2hlbGxfZW52aXJvbm1lbnQgJj0gflNVQlNIRUxMX1JFU0VUVFJBUDsKKwl9CisKICAgICAgIHdoaWxlIChsaXN0KQogCXsKIAkgIHNpZyA9IGRlY29kZV9zaWduYWwgKGxpc3QtPndvcmQtPndvcmQsIG9wdCk7CkBAIC0xODgsNiArMjA3LDggQEAKIAkJICAgIHN3aXRjaCAoc2lnKQogCQkgICAgICB7CiAJCSAgICAgIGNhc2UgU0lHSU5UOgorCQkJLyogWFhYIC0gc2hvdWxkIHdlIGRvIHRoaXMgaWYgb3JpZ2luYWwgZGlzcG9zaXRpb24KKwkJCSAgIHdhcyBTSUdfSUdOPyAqLwogCQkJaWYgKGludGVyYWN0aXZlKQogCQkJICBzZXRfc2lnbmFsX2hhbmRsZXIgKFNJR0lOVCwgc2lnaW50X3NpZ2hhbmRsZXIpOwogCQkJZWxzZQpAQCAtMjI5LDEwICsyNTAsMTMgQEAKICAgY2hhciAqdCwgKnAsICpzbjsKIAogICBwID0gdHJhcF9saXN0W2ldOwotICBpZiAocCA9PSAoY2hhciAqKURFRkFVTFRfU0lHKQorICBpZiAocCA9PSAoY2hhciAqKURFRkFVTFRfU0lHICYmIHNpZ25hbF9pc19oYXJkX2lnbm9yZWQgKGkpID09IDApCiAgICAgcmV0dXJuOworICBlbHNlIGlmIChzaWduYWxfaXNfaGFyZF9pZ25vcmVkIChpKSkKKyAgICB0ID0gKGNoYXIgKilOVUxMOworICBlbHNlCisgICAgdCA9IChwID09IChjaGFyICopSUdOT1JFX1NJRykgPyAoY2hhciAqKU5VTEwgOiBzaF9zaW5nbGVfcXVvdGUgKHApOwogCi0gIHQgPSAocCA9PSAoY2hhciAqKUlHTk9SRV9TSUcpID8gKGNoYXIgKilOVUxMIDogc2hfc2luZ2xlX3F1b3RlIChwKTsKICAgc24gPSBzaWduYWxfbmFtZSAoaSk7CiAgIC8qIE1ha2Ugc3VyZSB0aGF0IHNpZ25hbHMgd2hvc2UgbmFtZXMgYXJlIHVua25vd24gKGZvciB3aGF0ZXZlciByZWFzb24pCiAgICAgIGFyZSBwcmludGVkIGFzIHNpZ25hbCBudW1iZXJzLiAqLwpkaWZmIC0tZ2l0IGEvYnVpbHRpbnMvdWxpbWl0LmRlZiBiL2J1aWx0aW5zL3VsaW1pdC5kZWYKaW5kZXggN2MxZTI1Ni4uMDNjYmU4YSAxMDA2NDQKLS0tIGEvYnVpbHRpbnMvdWxpbWl0LmRlZgorKysgYi9idWlsdGlucy91bGltaXQuZGVmCkBAIC0xLDcgKzEsNyBAQAogVGhpcyBmaWxlIGlzIHVsaW1pdC5kZWYsIGZyb20gd2hpY2ggaXMgY3JlYXRlZCB1bGltaXQuYy4KIEl0IGltcGxlbWVudHMgdGhlIGJ1aWx0aW4gInVsaW1pdCIgaW4gQmFzaC4KIAotQ29weXJpZ2h0IChDKSAxOTg3LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitDb3B5cmlnaHQgKEMpIDE5ODctMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTExOCw2ICsxMTgsMTAgQEAKICMgIHVuZGVmIEhBVkVfUkVTT1VSQ0UKICNlbmRpZgogCisjaWYgIWRlZmluZWQgKEhBVkVfUkVTT1VSQ0UpICYmIGRlZmluZWQgKEhBVkVfVUxJTUlUX0gpCisjICBpbmNsdWRlIDx1bGltaXQuaD4KKyNlbmRpZgorCiAjaWYgIWRlZmluZWQgKFJMSU1UWVBFKQogIyAgZGVmaW5lIFJMSU1UWVBFIGxvbmcKICMgIGRlZmluZSBzdHJpbmdfdG9fcmxpbXR5cGUocykgc3RydG9sKHMsIChjaGFyICoqKU5VTEwsIDEwKQpkaWZmIC0tZ2l0IGEvY29tbWFuZC5oIGIvY29tbWFuZC5oCmluZGV4IDQ3MDc4MTIuLjVkNjIwNDYgMTAwNjQ0Ci0tLSBhL2NvbW1hbmQuaAorKysgYi9jb21tYW5kLmgKQEAgLTEsNyArMSw3IEBACiAvKiBjb21tYW5kLmggLS0gVGhlIHN0cnVjdHVyZXMgdXNlZCBpbnRlcm5hbGx5IHRvIHJlcHJlc2VudCBjb21tYW5kcywgYW5kCiAgICB0aGUgZXh0ZXJuIGRlY2xhcmF0aW9ucyBvZiB0aGUgZnVuY3Rpb25zIHVzZWQgdG8gY3JlYXRlIHRoZW0uICovCiAKLS8qIENvcHlyaWdodCAoQykgMTk5My0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTkzLTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC05Niw2ICs5Niw3IEBACiAjZGVmaW5lIFdfTk9QUk9DU1VCCTB4MTAwMDAwCS8qIGRvbid0IHBlcmZvcm0gcHJvY2VzcyBzdWJzdGl0dXRpb24gKi8KICNkZWZpbmUgV19IQVNDVExFU0MJMHgyMDAwMDAJLyogd29yZCBjb250YWlucyBsaXRlcmFsIENUTEVTQyBjaGFyYWN0ZXJzICovCiAjZGVmaW5lIFdfQVNTSUdOQVNTT0MJMHg0MDAwMDAJLyogd29yZCBsb29rcyBsaWtlIGFzc29jaWF0aXZlIGFycmF5IGFzc2lnbm1lbnQgKi8KKyNkZWZpbmUgV19BUlJBWUlORAkweDgwMDAwMAkvKiB3b3JkIGlzIGFuIGFycmF5IGluZGV4IGJlaW5nIGV4cGFuZGVkICovCiAKIC8qIFBvc3NpYmxlIHZhbHVlcyBmb3Igc3Vic2hlbGxfZW52aXJvbm1lbnQgKi8KICNkZWZpbmUgU1VCU0hFTExfQVNZTkMJMHgwMQkvKiBzdWJzaGVsbCBjYXVzZWQgYnkgYGNvbW1hbmQgJicgKi8KQEAgLTEwNSw2ICsxMDYsNyBAQAogI2RlZmluZSBTVUJTSEVMTF9QSVBFCTB4MTAJLyogc3Vic2hlbGwgZnJvbSBhIHBpcGVsaW5lIGVsZW1lbnQgKi8KICNkZWZpbmUgU1VCU0hFTExfUFJPQ1NVQiAweDIwCS8qIHN1YnNoZWxsIGNhdXNlZCBieSA8KGNvbW1hbmQpIG9yID4oY29tbWFuZCkgKi8KICNkZWZpbmUgU1VCU0hFTExfQ09QUk9DCTB4NDAJLyogc3Vic2hlbGwgZnJvbSBhIGNvcHJvYyBwaXBlbGluZSAqLworI2RlZmluZSBTVUJTSEVMTF9SRVNFVFRSQVAgMHg4MAkvKiBzdWJzaGVsbCBuZWVkcyB0byByZXNldCB0cmFwIHN0cmluZ3Mgb24gZmlyc3QgY2FsbCB0byB0cmFwICovCiAKIC8qIEEgc3RydWN0dXJlIHdoaWNoIHJlcHJlc2VudHMgYSB3b3JkLiAqLwogdHlwZWRlZiBzdHJ1Y3Qgd29yZF9kZXNjIHsKQEAgLTE2OCw2ICsxNzAsNyBAQAogI2RlZmluZSBDTURfU1RESU5fUkVESVIJICAgMHg0MDAgLyogYXN5bmMgY29tbWFuZCBuZWVkcyBpbXBsaWNpdCA8L2Rldi9udWxsICovCiAjZGVmaW5lIENNRF9DT01NQU5EX0JVSUxUSU4gMHgwODAwIC8qIGNvbW1hbmQgZXhlY3V0ZWQgYnkgYGNvbW1hbmQnIGJ1aWx0aW4gKi8KICNkZWZpbmUgQ01EX0NPUFJPQ19TVUJTSEVMTCAweDEwMDAKKyNkZWZpbmUgQ01EX0xBU1RQSVBFCSAgICAweDIwMDAKIAogLyogV2hhdCBhIGNvbW1hbmQgbG9va3MgbGlrZS4gKi8KIHR5cGVkZWYgc3RydWN0IGNvbW1hbmQgewpkaWZmIC0tZ2l0IGEvY29uZmlnLmguaW4gYi9jb25maWcuaC5pbgppbmRleCAwNzM1MmRkLi42YjFmYzRhIDEwMDY0NAotLS0gYS9jb25maWcuaC5pbgorKysgYi9jb25maWcuaC5pbgpAQCAtMjE1LDYgKzIxNSw5IEBACiAvKiBUaGUgbnVtYmVyIG9mIGJ5dGVzIGluIGEgZG91YmxlIChob3BlZnVsbHkgOCkuICovCiAjdW5kZWYgU0laRU9GX0RPVUJMRQogCisvKiBUaGUgbnVtYmVyIG9mIGJ5dGVzIGluIGFuIGBpbnRtYXhfdCcuICovCisjdW5kZWYgU0laRU9GX0lOVE1BWF9UCisKIC8qIFRoZSBudW1iZXIgb2YgYnl0ZXMgaW4gYSBgbG9uZyBsb25nJywgaWYgd2UgaGF2ZSBvbmUuICovCiAjdW5kZWYgU0laRU9GX0xPTkdfTE9ORwogCkBAIC00MTUsNiArNDE4LDggQEAKIAogI3VuZGVmIEhBVkVfU1RSVUNUX1RJTUVaT05FCiAKKyN1bmRlZiBXRVhJVFNUQVRVU19PRkZTRVQKKwogLyogQ2hhcmFjdGVyaXN0aWNzIG9mIGRlZmluaXRpb25zIGluIHRoZSBzeXN0ZW0gaGVhZGVyIGZpbGVzLiAqLwogCiAjdW5kZWYgSEFWRV9HRVRQV19ERUNMUwpAQCAtNTQ2LDE4ICs1NTEsMjEgQEAKIC8qIERlZmluZSBpZiB5b3UgZG9uJ3QgaGF2ZSB2cHJpbnRmIGJ1dCBkbyBoYXZlIF9kb3BybnQuICAqLwogI3VuZGVmIEhBVkVfRE9QUk5UCiAKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZHByaW50ZiBmdW5jdGlvbi4gICovCisjdW5kZWYgSEFWRV9EUFJJTlRGCisKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZHVwMiBmdW5jdGlvbi4gICovCiAjdW5kZWYgSEFWRV9EVVAyCiAKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZWFjY2VzcyBmdW5jdGlvbi4gICovCiAjdW5kZWYgSEFWRV9FQUNDRVNTCiAKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZmFjY2Vzc2F0IGZ1bmN0aW9uLiAgKi8KKyN1bmRlZiBIQVZFX0ZBQ0NFU1NBVAorCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGZjbnRsIGZ1bmN0aW9uLiAgKi8KICN1bmRlZiBIQVZFX0ZDTlRMCiAKLS8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgZmRwcmludGYgZnVuY3Rpb24uICovCi0jdW5kZWYgSEFWRV9GRFBSSU5URgotCiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIGZwdXJnZS9fX2ZwdXJnZSBmdW5jdGlvbi4gICovCiAjdW5kZWYgSEFWRV9GUFVSR0UKICN1bmRlZiBIQVZFX19fRlBVUkdFCkBAIC02ODAsNiArNjg4LDkgQEAKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgbWJzY21wIGZ1bmN0aW9uLiAqLwogI3VuZGVmIEhBVkVfTUJTQ01QCiAKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgbWJzbnJ0b3djcyBmdW5jdGlvbi4gKi8KKyN1bmRlZiBIQVZFX01CU05SVE9XQ1MKKwogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBtYnNydG93Y3MgZnVuY3Rpb24uICovCiAjdW5kZWYgSEFWRV9NQlNSVE9XQ1MKIApAQCAtNzYyLDYgKzc3Myw5IEBACiAvKiBEZWZpbmUgaWYgeW91IGhhdmUgdGhlIHN0cmNociBmdW5jdGlvbi4gICovCiAjdW5kZWYgSEFWRV9TVFJDSFIKIAorLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSBzdHJjaHJudWwgZnVuY3Rpb24uICAqLworI3VuZGVmIEhBVkVfU1RSQ0hSTlVMCisKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgc3RyY29sbCBmdW5jdGlvbi4gICovCiAjdW5kZWYgSEFWRV9TVFJDT0xMCiAKQEAgLTg2Nyw2ICs4ODEsOSBAQAogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSB3Y3R5cGUgZnVuY3Rpb24uICAqLwogI3VuZGVmIEhBVkVfV0NUWVBFCiAKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgd2Nzd2lkdGggZnVuY3Rpb24uICAqLworI3VuZGVmIEhBVkVfV0NTV0lEVEgKKwogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSB3Y3dpZHRoIGZ1bmN0aW9uLiAgKi8KICN1bmRlZiBIQVZFX1dDV0lEVEgKIApAQCAtOTk0LDYgKzEwMTEsOSBAQAogLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8dGVybWlvcy5oPiBoZWFkZXIgZmlsZS4gICovCiAjdW5kZWYgSEFWRV9URVJNSU9TX0gKIAorLyogRGVmaW5lIGlmIHlvdSBoYXZlIHRoZSA8dWxpbWl0Lmg+IGhlYWRlciBmaWxlLiAgKi8KKyN1bmRlZiBIQVZFX1VMSU1JVF9ICisKIC8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgPHVuaXN0ZC5oPiBoZWFkZXIgZmlsZS4gICovCiAjdW5kZWYgSEFWRV9VTklTVERfSAogCmRpZmYgLS1naXQgYS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggODc1YmJiZi4uN2VjNzJmZSAxMDA3NTUKLS0tIGEvY29uZmlndXJlCisrKyBiL2NvbmZpZ3VyZQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4gYi9jb25maWd1cmUuaW4KaW5kZXggODQzYmQ3MC4uZDdlMDk5OCAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmluCisrKyBiL2NvbmZpZ3VyZS5pbgpAQCAtMSwxMSArMSwxMSBAQAogZG5sCi1kbmwgQ29uZmlndXJlIHNjcmlwdCBmb3IgYmFzaC00LjEKK2RubCBDb25maWd1cmUgc2NyaXB0IGZvciBiYXNoLTQuMgogZG5sCiBkbmwgcmVwb3J0IGJ1Z3MgdG8gY2hldEBwby5jd3J1LmVkdQogZG5sCiBkbmwgUHJvY2VzcyB0aGlzIGZpbGUgd2l0aCBhdXRvY29uZiB0byBwcm9kdWNlIGEgY29uZmlndXJlIHNjcmlwdC4KIAotIyBDb3B5cmlnaHQgKEMpIDE5ODctMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQ29weXJpZ2h0IChDKSAxOTg3LTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICMKICMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQpAQCAtMjEsOSArMjEsOSBAQAogIyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiAjICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCiAKLUFDX1JFVklTSU9OKFtmb3IgQmFzaCA0LjEsIHZlcnNpb24gNC4wMTldKWRubAorQUNfUkVWSVNJT04oW2ZvciBCYXNoIDQuMiwgdmVyc2lvbiA0LjAzN10pZG5sCiAKLWRlZmluZShiYXNodmVycywgNC4xKQorZGVmaW5lKGJhc2h2ZXJzLCA0LjIpCiBkZWZpbmUocmVsc3RhdHVzLCByZWxlYXNlKQogCiBBQ19JTklUKFtiYXNoXSwgYmFzaHZlcnMtcmVsc3RhdHVzLCBbYnVnLWJhc2hAZ251Lm9yZ10pCkBAIC05OCw3ICs5OCw3IEBACiBkbmwKIGRubCBtYWNyb3MgZm9yIHRoZSBiYXNoIGRlYnVnZ2VyCiBkbmwKLUFNX1BBVEhfTElTUERJUgorZG5sIEFNX1BBVEhfTElTUERJUgogQUNfQVJHX1ZBUihERUJVR0dFUl9TVEFSVF9GSUxFLCBbbG9jYXRpb24gb2YgYmFzaCBkZWJ1Z2dlciBpbml0aWFsaXphdGlvbiBmaWxlXSkKIAogZG5sIGFyZ3VtZW50cyB0byBjb25maWd1cmUKQEAgLTY1OSw3ICs2NTksNyBAQAogQUNfQ0hFQ0tfSEVBREVSUyh1bmlzdGQuaCBzdGRsaWIuaCBzdGRhcmcuaCB2YXJhcmdzLmggbGltaXRzLmggc3RyaW5nLmggXAogCQkgbWVtb3J5LmggbG9jYWxlLmggdGVybWNhcC5oIHRlcm1pby5oIHRlcm1pb3MuaCBkbGZjbi5oIFwKIAkJIHN0ZGRlZi5oIHN0ZGludC5oIG5ldGRiLmggcHdkLmggZ3JwLmggc3RyaW5ncy5oIHJlZ2V4LmggXAotCQkgc3lzbG9nLmgpCisJCSBzeXNsb2cuaCB1bGltaXQuaCkKIEFDX0NIRUNLX0hFQURFUlMoc3lzL3B0ZS5oIHN5cy9zdHJlYW0uaCBzeXMvc2VsZWN0Lmggc3lzL2ZpbGUuaCBcCiAJCSBzeXMvcmVzb3VyY2UuaCBzeXMvcGFyYW0uaCBzeXMvc29ja2V0Lmggc3lzL3N0YXQuaCBcCiAJCSBzeXMvdGltZS5oIHN5cy90aW1lcy5oIHN5cy90eXBlcy5oIHN5cy93YWl0LmgpCkBAIC03MjcsNyArNzI3LDcgQEAKIEFDX1JFUExBQ0VfRlVOQ1MocmVuYW1lKQogCiBkbmwgY2hlY2tzIGZvciBjIGxpYnJhcnkgZnVuY3Rpb25zCi1BQ19DSEVDS19GVU5DUyhiY29weSBiemVybyBjb25mc3RyIGZubWF0Y2ggXAorQUNfQ0hFQ0tfRlVOQ1MoYmNvcHkgYnplcm8gY29uZnN0ciBmYWNjZXNzYXQgZm5tYXRjaCBcCiAJCWdldGFkZHJpbmZvIGdldGhvc3RieW5hbWUgZ2V0c2VydmJ5bmFtZSBnZXRzZXJ2ZW50IGluZXRfYXRvbiBcCiAJCW1lbW1vdmUgcGF0aGNvbmYgcHV0ZW52IHJhaXNlIHJlZ2NvbXAgcmVnZXhlYyBcCiAJCXNldGVudiBzZXRsaW5lYnVmIHNldGxvY2FsZSBzZXR2YnVmIHNpZ2ludGVycnVwdCBzdHJjaHIgXApAQCAtNzM5LDcgKzczOSw4IEBACiBBQ19SRVBMQUNFX0ZVTkNTKGdldGN3ZCBtZW1zZXQpCiBBQ19SRVBMQUNFX0ZVTkNTKHN0cmNhc2VjbXAgc3RyY2FzZXN0ciBzdHJlcnJvciBzdHJmdGltZSBzdHJubGVuIHN0cnBicmsgc3Ryc3RyKQogQUNfUkVQTEFDRV9GVU5DUyhzdHJ0b2Qgc3RydG9sIHN0cnRvdWwgc3RydG9sbCBzdHJ0b3VsbCBzdHJ0b2ltYXggc3RydG91bWF4KQotQUNfUkVQTEFDRV9GVU5DUyhmZHByaW50ZikKK0FDX1JFUExBQ0VfRlVOQ1MoZHByaW50ZikKK0FDX1JFUExBQ0VfRlVOQ1Moc3RyY2hybnVsKQogCiBBQ19DSEVDS19ERUNMUyhbY29uZnN0cl0pCiBBQ19DSEVDS19ERUNMUyhbcHJpbnRmXSkKQEAgLTkwNCw2ICs5MDUsOCBAQAogZmkKIEJBU0hfVFlQRV9STElNSVQKIAorQUNfQ0hFQ0tfU0laRU9GKGludG1heF90LCA4KQorCiBkbmwgcHJlc2VuY2UgYW5kIGNvbnRlbnRzIG9mIHN0cnVjdHVyZXMgdXNlZCBieSBzeXN0ZW0gY2FsbHMKIEJBU0hfU1RSVUNUX1RFUk1JT1NfTERJU0MKIEJBU0hfU1RSVUNUX1RFUk1JT19MRElTQwpAQCAtOTE3LDYgKzkyMCw4IEBACiBBQ19TVFJVQ1RfVElNRVpPTkUKIEJBU0hfU1RSVUNUX1RJTUVaT05FCiAKK0JBU0hfU1RSVUNUX1dFWElUU1RBVFVTX09GRlNFVAorCiBkbmwgcHJlc2VuY2UgYW5kIGJlaGF2aW9yIG9mIEMgbGlicmFyeSBmdW5jdGlvbnMKIEJBU0hfRlVOQ19TVFJTSUdOQUwKIEJBU0hfRlVOQ19PUEVORElSX0NIRUNLCmRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4uYmFzaDQwIGIvY29uZmlndXJlLmluLmJhc2g0MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmQyYmY3Ci0tLSAvZGV2L251bGwKKysrIGIvY29uZmlndXJlLmluLmJhc2g0MApAQCAtMCwwICsxLDExNDUgQEAKK2RubAorZG5sIENvbmZpZ3VyZSBzY3JpcHQgZm9yIGJhc2gtNC4wCitkbmwKK2RubCByZXBvcnQgYnVncyB0byBjaGV0QHBvLmN3cnUuZWR1CitkbmwKK2RubCBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9jb25mIHRvIHByb2R1Y2UgYSBjb25maWd1cmUgc2NyaXB0LgorCisjIENvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisjCisjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKK0FDX1JFVklTSU9OKFtmb3IgQmFzaCA0LjAsIHZlcnNpb24gNC4wMTNdKWRubAorCitkZWZpbmUoYmFzaHZlcnMsIDQuMCkKK2RlZmluZShyZWxzdGF0dXMsIHJlbGVhc2UpCisKK0FDX0lOSVQoW2Jhc2hdLCBiYXNodmVycy1yZWxzdGF0dXMsIFtidWctYmFzaEBnbnUub3JnXSkKKworZG5sIG1ha2Ugc3VyZSB3ZSBhcmUgdXNpbmcgYSByZWNlbnQgYXV0b2NvbmYgdmVyc2lvbgorQUNfUFJFUkVRKDIuNTApCisKK0FDX0NPTkZJR19TUkNESVIoc2hlbGwuaCkKK2RubCB3aGVyZSB0byBmaW5kIGluc3RhbGwuc2gsIGNvbmZpZy5zdWIsIGFuZCBjb25maWcuZ3Vlc3MKK0FDX0NPTkZJR19BVVhfRElSKC4vc3VwcG9ydCkKK0FDX0NPTkZJR19IRUFERVJTKGNvbmZpZy5oKQorCitkbmwgY2hlY2tzIGZvciB2ZXJzaW9uIGluZm8KK0JBU0hWRVJTPWJhc2h2ZXJzCitSRUxTVEFUVVM9cmVsc3RhdHVzCisKK2RubCBkZWZhdWx0cyBmb3IgZGVidWcgc2V0dGluZ3MKK2Nhc2UgIiRSRUxTVEFUVVMiIGluCithbHAqfGJldCp8ZGV2KnxyYyp8bWFpbnQqKQlERUJVRz0nLURERUJVRycgTUFMTE9DX0RFQlVHPSctRE1BTExPQ19ERUJVRycgOzsKKyopCURFQlVHPSBNQUxMT0NfREVCVUc9IDs7Citlc2FjCisKK2RubCBjYW5vbmljYWxpemUgdGhlIGhvc3QgYW5kIG9zIHNvIHdlIGNhbiBkbyBzb21lIHRyaWNreSB0aGluZ3MgYmVmb3JlCitkbmwgcGFyc2luZyBvcHRpb25zCitBQ19DQU5PTklDQUxfSE9TVAorCitkbmwgY29uZmlndXJlIGRlZmF1bHRzCitvcHRfYmFzaF9tYWxsb2M9eWVzCitvcHRfcHVyaWZ5PW5vCitvcHRfcHVyZWNvdj1ubworb3B0X2Fmcz1ubworb3B0X2N1cnNlcz1ubworb3B0X3dpdGhfaW5zdGFsbGVkX3JlYWRsaW5lPW5vCisKKyNodG1sZGlyPQorCitkbmwgc29tZSBzeXN0ZW1zIHNob3VsZCBiZSBjb25maWd1cmVkIHdpdGhvdXQgdGhlIGJhc2ggbWFsbG9jIGJ5IGRlZmF1bHQKK2RubCBhbmQgc29tZSBuZWVkIGEgc3BlY2lhbCBjb21waWxlciBvciBsb2FkZXIKK2RubCBsb29rIGluIHRoZSBOT1RFUyBmaWxlIGZvciBtb3JlCitjYXNlICIke2hvc3RfY3B1fS0ke2hvc3Rfb3N9IiBpbgorYWxwaGEqLSopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIGFscGhhIHJ1bm5pbmcgb3NmLzEgb3IgbGludXgKKypbW0NjXV1yYXkqLSopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIENyYXlzCisqLW9zZjEqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBvdGhlciBvc2YvMSBtYWNoaW5lcworc3BhcmMtc3ZyNCopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIHNwYXJjIFNWUjQsIFNWUjQuMgorc3BhcmMtbmV0YnNkKikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgbmVlZHMgOC1ieXRlIGFsaWdubWVudAorbWlwcy1pcml4NiopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIG5lZWRzIDgtYnl0ZSBhbGlnbm1lbnQKK202OGstc3lzdikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgZml4ZXMgZmlsZSBkZXNjcmlwdG9yIGxlYWsgaW4gY2xvc2VkaXIKK3NwYXJjLWxpbnV4KikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgc3BhcmMgcnVubmluZyBsaW51eDsgcmVxdWlyZXMgRUxGCisjKi1mcmVlYnNkKi1nbnUpCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIHRoZXJlJ3Mgc29tZSB1bmRldGVybWluZWQgcHJvYmxlbSBoZXJlCisjKi1mcmVlYnNkKikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgdGhleSBjbGFpbSBpdCdzIGJldHRlcjsgSSBkaXNhZ3JlZQorKi1vcGVuYnNkKikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgdGhleSBjbGFpbSBpdCBuZWVkcyBlaWdodC1iaXQgYWxpZ25tZW50CisqLWFpeCopCQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBBSVggbWFjaGluZXMKKyotbmV4dHN0ZXAqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBOZVhUIG1hY2hpbmVzIHJ1bm5pbmcgTmVYVHN0ZXAKKyotbWFjb3MqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBBcHBsZSBNYWNPUyBYCisqLXJoYXBzb2R5KikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgQXBwbGUgUmhhcHNvZHkgKE1hY09TIFgpCisqLWRhcndpbiopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIEFwcGxlIERhcndpbiAoTWFjT1MgWCkKKyotZGd1eCopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIERHL1VYIG1hY2hpbmVzCisqLXFueCopCQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBRTlggNC4yLCBRTlggNi54CisqLW1hY2h0ZW40KQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBNYWNoVGVuIDQueAorKi1ic2RpMi4xfCotYnNkaTMuPykJb3B0X2Jhc2hfbWFsbG9jPW5vIDsgOiAke0NDOj1zaGxpY2MyfSA7OyAjIGZvciBsb2FkYWJsZSBidWlsdGlucworKi1iZW9zKikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgdGhleSBzYXkgaXQncyBzdWl0YWJsZQorKi1jeWd3aW4qKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBDeWdudXMncyBDWUdXSU4gZW52aXJvbm1lbnQKKyotb3Blbm50KnwqLWludGVyaXgqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBJbnRlcml4LCBub3cgb3duZWQgYnkgTWljcm9zb2Z0Citlc2FjCisKKyMgbWVtb3J5IHNjcmFtYmxpbmcgb24gZnJlZSgpCitjYXNlICIke2hvc3Rfb3N9IiBpbgorc2NvMy4ydjUqfHNjbzMuMnY0KikJb3B0X21lbXNjcmFtYmxlPW5vIDs7CisqKQkJCW9wdF9tZW1zY3JhbWJsZT15ZXMgOzsKK2VzYWMKKworZG5sCitkbmwgbWFjcm9zIGZvciB0aGUgYmFzaCBkZWJ1Z2dlcgorZG5sCitBTV9QQVRIX0xJU1BESVIKK0FDX0FSR19WQVIoREVCVUdHRVJfU1RBUlRfRklMRSwgW2xvY2F0aW9uIG9mIGJhc2ggZGVidWdnZXIgaW5pdGlhbGl6YXRpb24gZmlsZV0pCisKK2RubCBhcmd1bWVudHMgdG8gY29uZmlndXJlCitkbmwgcGFja2FnZXMKK0FDX0FSR19XSVRIKGFmcywgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1hZnNdLCBbaWYgeW91IGFyZSBydW5uaW5nIEFGU10pLCBvcHRfYWZzPSR3aXRodmFsKQorQUNfQVJHX1dJVEgoYmFzaC1tYWxsb2MsIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtYmFzaC1tYWxsb2NdLCBbdXNlIHRoZSBCYXNoIHZlcnNpb24gb2YgbWFsbG9jXSksIG9wdF9iYXNoX21hbGxvYz0kd2l0aHZhbCkKK0FDX0FSR19XSVRIKGN1cnNlcywgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1jdXJzZXNdLCBbdXNlIHRoZSBjdXJzZXMgbGlicmFyeSBpbnN0ZWFkIG9mIHRoZSB0ZXJtY2FwIGxpYnJhcnldKSwgb3B0X2N1cnNlcz0kd2l0aHZhbCkKK0FDX0FSR19XSVRIKGdudS1tYWxsb2MsIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtZ251LW1hbGxvY10sIFtzeW5vbnltIGZvciAtLXdpdGgtYmFzaC1tYWxsb2NdKSwgb3B0X2Jhc2hfbWFsbG9jPSR3aXRodmFsKQorQUNfQVJHX1dJVEgoaW5zdGFsbGVkLXJlYWRsaW5lLCBBQ19IRUxQX1NUUklORyhbLS13aXRoLWluc3RhbGxlZC1yZWFkbGluZV0sIFt1c2UgYSB2ZXJzaW9uIG9mIHRoZSByZWFkbGluZSBsaWJyYXJ5IHRoYXQgaXMgYWxyZWFkeSBpbnN0YWxsZWRdKSwgb3B0X3dpdGhfaW5zdGFsbGVkX3JlYWRsaW5lPSR3aXRodmFsKQorQUNfQVJHX1dJVEgocHVyZWNvdiwgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1wdXJlY292XSwgW2NvbmZpZ3VyZSB0byBwb3N0cHJvY2VzcyB3aXRoIHB1cmUgY292ZXJhZ2VdKSwgb3B0X3B1cmVjb3Y9JHdpdGh2YWwpCitBQ19BUkdfV0lUSChwdXJpZnksIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtcHVyaWZ5XSwgW2NvbmZpZ3VyZSB0byBwb3N0cHJvY2VzcyB3aXRoIHB1cmlmeV0pLCBvcHRfcHVyaWZ5PSR3aXRodmFsKQorCitpZiB0ZXN0ICIkb3B0X2Jhc2hfbWFsbG9jIiA9IHllczsgdGhlbgorCU1BTExPQ19UQVJHRVQ9bWFsbG9jCisJTUFMTE9DX1NSQz1tYWxsb2MuYworCisJTUFMTE9DX0xJQj0nLWxtYWxsb2MnCisJTUFMTE9DX0xJQlJBUlk9JyQoQUxMT0NfTElCRElSKS9saWJtYWxsb2MuYScKKwlNQUxMT0NfTERGTEFHUz0nLUwkKEFMTE9DX0xJQkRJUiknCisJTUFMTE9DX0RFUD0nJChNQUxMT0NfTElCUkFSWSknCisKKwlBQ19ERUZJTkUoVVNJTkdfQkFTSF9NQUxMT0MpCitlbHNlCisJTUFMTE9DX0xJQj0KKwlNQUxMT0NfTElCUkFSWT0KKwlNQUxMT0NfTERGTEFHUz0KKwlNQUxMT0NfREVQPQkKK2ZpCisKK2lmIHRlc3QgIiRvcHRfcHVyaWZ5IiA9IHllczsgdGhlbgorCVBVUklGWT0icHVyaWZ5ICIKKwlBQ19ERUZJTkUoRElTQUJMRV9NQUxMT0NfV1JBUFBFUlMpCitlbHNlCisJUFVSSUZZPQorZmkKKworaWYgdGVzdCAiJG9wdF9wdXJlY292IiA9IHllczsgdGhlbgorCVBVUklGWT0iJHtQVVJJRll9cHVyZWNvdiIKK2ZpCisKK2lmIHRlc3QgIiRvcHRfYWZzIiA9IHllczsgdGhlbgorCUFDX0RFRklORShBRlMpCitmaQorCitpZiB0ZXN0ICIkb3B0X2N1cnNlcyIgPSB5ZXM7IHRoZW4KKwlwcmVmZXJfY3Vyc2VzPXllcworZmkKKworaWYgdGVzdCAteiAiJHtERUJVR0dFUl9TVEFSVF9GSUxFfSI7IHRoZW4KKwlERUJVR0dFUl9TVEFSVF9GSUxFPScke2RhdGFkaXJ9L2Jhc2hkYi9iYXNoZGItbWFpbi5pbmMnCitmaQorCitkbmwgb3B0aW9uYWwgc2hlbGwgZmVhdHVyZXMgaW4gY29uZmlnLmguaW4KK29wdF9taW5pbWFsX2NvbmZpZz1ubworCitvcHRfam9iX2NvbnRyb2w9eWVzCitvcHRfYWxpYXM9eWVzCitvcHRfcmVhZGxpbmU9eWVzCitvcHRfaGlzdG9yeT15ZXMKK29wdF9iYW5nX2hpc3Rvcnk9eWVzCitvcHRfZGlyc3RhY2s9eWVzCitvcHRfcmVzdHJpY3RlZD15ZXMKK29wdF9wcm9jZXNzX3N1YnN0PXllcworb3B0X3Byb21wdF9kZWNvZGluZz15ZXMKK29wdF9zZWxlY3Q9eWVzCitvcHRfaGVscD15ZXMKK29wdF9hcnJheV92YXJpYWJsZXM9eWVzCitvcHRfZHBhcmVuX2FyaXRoPXllcworb3B0X2V4dGVuZGVkX2dsb2I9eWVzCitvcHRfYnJhY2VfZXhwYW5zaW9uPXllcworb3B0X2Rpc2FibGVkX2J1aWx0aW5zPW5vCitvcHRfY29tbWFuZF90aW1pbmc9eWVzCitvcHRfeHBnX2VjaG89bm8KK29wdF9zdHJpY3RfcG9zaXg9bm8KK29wdF9jb25kX2NvbW1hbmQ9eWVzCitvcHRfY29uZF9yZWdleHA9eWVzCitvcHRfY29wcm9jPXllcworb3B0X2FyaXRoX2Zvcl9jb21tYW5kPXllcworb3B0X25ldF9yZWRpcnM9eWVzCitvcHRfcHJvZ2NvbXA9eWVzCitvcHRfc2VwYXJhdGVfaGVscD1ubworb3B0X211bHRpYnl0ZT15ZXMKK29wdF9kZWJ1Z2dlcj15ZXMKK29wdF9zaW5nbGVfbG9uZ2RvY19zdHJpbmdzPXllcworb3B0X2Nhc2Vtb2RfYXR0cnM9eWVzCitvcHRfY2FzZW1vZF9leHBhbnNpb25zPXllcworCitkbmwgb3B0aW9ucyB0aGF0IGFmZmVjdCBob3cgYmFzaCBpcyBjb21waWxlZCBhbmQgbGlua2VkCitvcHRfc3RhdGljX2xpbms9bm8KK29wdF9wcm9maWxpbmc9bm8KKworZG5sIGFyZ3VtZW50IHBhcnNpbmcgZm9yIG9wdGlvbmFsIGZlYXR1cmVzCitBQ19BUkdfRU5BQkxFKG1pbmltYWwtY29uZmlnLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtbWluaW1hbC1jb25maWddLCBbYSBtaW5pbWFsIHNoLWxpa2UgY29uZmlndXJhdGlvbl0pLCBvcHRfbWluaW1hbF9jb25maWc9JGVuYWJsZXZhbCkKKworZG5sIGEgbWluaW1hbCBjb25maWd1cmF0aW9uIHR1cm5zIGV2ZXJ5dGhpbmcgb2ZmLCBidXQgZmVhdHVyZXMgY2FuIGJlCitkbmwgYWRkZWQgaW5kaXZpZHVhbGx5CitpZiB0ZXN0ICRvcHRfbWluaW1hbF9jb25maWcgPSB5ZXM7IHRoZW4KKwlvcHRfam9iX2NvbnRyb2w9bm8gb3B0X2FsaWFzPW5vIG9wdF9yZWFkbGluZT1ubworCW9wdF9oaXN0b3J5PW5vIG9wdF9iYW5nX2hpc3Rvcnk9bm8gb3B0X2RpcnN0YWNrPW5vCisJb3B0X3Jlc3RyaWN0ZWQ9bm8gb3B0X3Byb2Nlc3Nfc3Vic3Q9bm8gb3B0X3Byb21wdF9kZWNvZGluZz1ubworCW9wdF9zZWxlY3Q9bm8gb3B0X2hlbHA9bm8gb3B0X2FycmF5X3ZhcmlhYmxlcz1ubyBvcHRfZHBhcmVuX2FyaXRoPW5vCisJb3B0X2JyYWNlX2V4cGFuc2lvbj1ubyBvcHRfZGlzYWJsZWRfYnVpbHRpbnM9bm8gb3B0X2NvbW1hbmRfdGltaW5nPW5vCisJb3B0X2V4dGVuZGVkX2dsb2I9bm8gb3B0X2NvbmRfY29tbWFuZD1ubyBvcHRfYXJpdGhfZm9yX2NvbW1hbmQ9bm8KKwlvcHRfbmV0X3JlZGlycz1ubyBvcHRfcHJvZ2NvbXA9bm8gb3B0X3NlcGFyYXRlX2hlbHA9bm8KKwlvcHRfbXVsdGlieXRlPXllcyBvcHRfY29uZF9yZWdleHA9bm8gb3B0X2NvcHJvYz1ubworCW9wdF9jYXNlbW9kX2F0dHJzPW5vIG9wdF9jYXNlbW9kX2V4cGFuc2lvbnM9bm8KK2ZpCisKK0FDX0FSR19FTkFCTEUoYWxpYXMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hbGlhc10sIFtlbmFibGUgc2hlbGwgYWxpYXNlc10pLCBvcHRfYWxpYXM9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoYXJpdGgtZm9yLWNvbW1hbmQsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hcml0aC1mb3ItY29tbWFuZF0sIFtlbmFibGUgYXJpdGhtZXRpYyBmb3IgY29tbWFuZF0pLCBvcHRfYXJpdGhfZm9yX2NvbW1hbmQ9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoYXJyYXktdmFyaWFibGVzLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtYXJyYXktdmFyaWFibGVzXSwgW2luY2x1ZGUgc2hlbGwgYXJyYXkgdmFyaWFibGVzXSksIG9wdF9hcnJheV92YXJpYWJsZXM9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoYmFuZy1oaXN0b3J5LCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtYmFuZy1oaXN0b3J5XSwgW3R1cm4gb24gY3NoLXN0eWxlIGhpc3Rvcnkgc3Vic3RpdHV0aW9uXSksIG9wdF9iYW5nX2hpc3Rvcnk9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoYnJhY2UtZXhwYW5zaW9uLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtYnJhY2UtZXhwYW5zaW9uXSwgW2luY2x1ZGUgYnJhY2UgZXhwYW5zaW9uXSksIG9wdF9icmFjZV9leHBhbnNpb249JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoY2FzZW1vZC1hdHRyaWJ1dGVzLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtY2FzZW1vZC1hdHRyaWJ1dGVzXSwgW2luY2x1ZGUgY2FzZS1tb2RpZnlpbmcgdmFyaWFibGUgYXR0cmlidXRlc10pLCBvcHRfY2FzZW1vZF9hdHRycz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShjYXNlbW9kLWV4cGFuc2lvbnMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jYXNlbW9kLWV4cGFuc2lvbnNdLCBbaW5jbHVkZSBjYXNlLW1vZGlmeWluZyB3b3JkIGV4cGFuc2lvbnNdKSwgb3B0X2Nhc2Vtb2RfZXhwYW5zaW9ucz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShjb21tYW5kLXRpbWluZywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWNvbW1hbmQtdGltaW5nXSwgW2VuYWJsZSB0aGUgdGltZSByZXNlcnZlZCB3b3JkIGFuZCBjb21tYW5kIHRpbWluZ10pLCBvcHRfY29tbWFuZF90aW1pbmc9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoY29uZC1jb21tYW5kLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtY29uZC1jb21tYW5kXSwgW2VuYWJsZSB0aGUgY29uZGl0aW9uYWwgY29tbWFuZF0pLCBvcHRfY29uZF9jb21tYW5kPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGNvbmQtcmVnZXhwLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtY29uZC1yZWdleHBdLCBbZW5hYmxlIGV4dGVuZGVkIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGluZyBpbiBjb25kaXRpb25hbCBjb21tYW5kc10pLCBvcHRfY29uZF9yZWdleHA9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoY29wcm9jZXNzZXMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jb3Byb2Nlc3Nlc10sIFtlbmFibGUgY29wcm9jZXNzIHN1cHBvcnQgYW5kIHRoZSBjb3Byb2MgcmVzZXJ2ZWQgd29yZF0pLCBvcHRfY29wcm9jPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGRlYnVnZ2VyLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZGVidWdnZXJdLCBbZW5hYmxlIHN1cHBvcnQgZm9yIGJhc2ggZGVidWdnZXJdKSwgb3B0X2RlYnVnZ2VyPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGRpcmVjdG9yeS1zdGFjaywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWRpcmVjdG9yeS1zdGFja10sIFtlbmFibGUgYnVpbHRpbnMgcHVzaGQvcG9wZC9kaXJzXSksIG9wdF9kaXJzdGFjaz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShkaXNhYmxlZC1idWlsdGlucywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWRpc2FibGVkLWJ1aWx0aW5zXSwgW2FsbG93IGRpc2FibGVkIGJ1aWx0aW5zIHRvIHN0aWxsIGJlIGludm9rZWRdKSwgb3B0X2Rpc2FibGVkX2J1aWx0aW5zPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGRwYXJlbi1hcml0aG1ldGljLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZHBhcmVuLWFyaXRobWV0aWNdLCBbaW5jbHVkZSAoKC4uLikpIGNvbW1hbmRdKSwgb3B0X2RwYXJlbl9hcml0aD0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShleHRlbmRlZC1nbG9iLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZXh0ZW5kZWQtZ2xvYl0sIFtpbmNsdWRlIGtzaC1zdHlsZSBleHRlbmRlZCBwYXR0ZXJuIG1hdGNoaW5nXSksIG9wdF9leHRlbmRlZF9nbG9iPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGhlbHAtYnVpbHRpbiwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWhlbHAtYnVpbHRpbl0sIFtpbmNsdWRlIHRoZSBoZWxwIGJ1aWx0aW5dKSwgb3B0X2hlbHA9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoaGlzdG9yeSwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWhpc3RvcnldLCBbdHVybiBvbiBjb21tYW5kIGhpc3RvcnldKSwgb3B0X2hpc3Rvcnk9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoam9iLWNvbnRyb2wsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1qb2ItY29udHJvbF0sIFtlbmFibGUgam9iIGNvbnRyb2wgZmVhdHVyZXNdKSwgb3B0X2pvYl9jb250cm9sPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKG11bHRpYnl0ZSwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLW11bHRpYnl0ZV0sIFtlbmFibGUgbXVsdGlieXRlIGNoYXJhY3RlcnMgaWYgT1Mgc3VwcG9ydHMgdGhlbV0pLCBvcHRfbXVsdGlieXRlPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKG5ldC1yZWRpcmVjdGlvbnMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1uZXQtcmVkaXJlY3Rpb25zXSwgW2VuYWJsZSAvZGV2L3RjcC9ob3N0L3BvcnQgcmVkaXJlY3Rpb25dKSwgb3B0X25ldF9yZWRpcnM9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUocHJvY2Vzcy1zdWJzdGl0dXRpb24sIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1wcm9jZXNzLXN1YnN0aXR1dGlvbl0sIFtlbmFibGUgcHJvY2VzcyBzdWJzdGl0dXRpb25dKSwgb3B0X3Byb2Nlc3Nfc3Vic3Q9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUocHJvZ2NvbXAsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1wcm9nY29tcF0sIFtlbmFibGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gYW5kIHRoZSBjb21wbGV0ZSBidWlsdGluXSksIG9wdF9wcm9nY29tcD0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShwcm9tcHQtc3RyaW5nLWRlY29kaW5nLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtcHJvbXB0LXN0cmluZy1kZWNvZGluZ10sIFt0dXJuIG9uIGVzY2FwZSBjaGFyYWN0ZXIgZGVjb2RpbmcgaW4gcHJvbXB0c10pLCBvcHRfcHJvbXB0X2RlY29kaW5nPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKHJlYWRsaW5lLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtcmVhZGxpbmVdLCBbdHVybiBvbiBjb21tYW5kIGxpbmUgZWRpdGluZ10pLCBvcHRfcmVhZGxpbmU9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUocmVzdHJpY3RlZCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXJlc3RyaWN0ZWRdLCBbZW5hYmxlIGEgcmVzdHJpY3RlZCBzaGVsbF0pLCBvcHRfcmVzdHJpY3RlZD0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShzZWxlY3QsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zZWxlY3RdLCBbaW5jbHVkZSBzZWxlY3QgY29tbWFuZF0pLCBvcHRfc2VsZWN0PSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKHNlcGFyYXRlLWhlbHBmaWxlcywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXNlcGFyYXRlLWhlbHBmaWxlc10sIFt1c2UgZXh0ZXJuYWwgZmlsZXMgZm9yIGhlbHAgYnVpbHRpbiBkb2N1bWVudGF0aW9uXSksIG9wdF9zZXBhcmF0ZV9oZWxwPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKHNpbmdsZS1oZWxwLXN0cmluZ3MsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zaW5nbGUtaGVscC1zdHJpbmdzXSwgW3N0b3JlIGhlbHAgZG9jdW1lbnRhdGlvbiBhcyBhIHNpbmdsZSBzdHJpbmcgdG8gZWFzZSB0cmFuc2xhdGlvbl0pLCBvcHRfc2luZ2xlX2xvbmdkb2Nfc3RyaW5ncz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShzdHJpY3QtcG9zaXgtZGVmYXVsdCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXN0cmljdC1wb3NpeC1kZWZhdWx0XSwgW2NvbmZpZ3VyZSBiYXNoIHRvIGJlIHBvc2l4LWNvbmZvcm1hbnQgYnkgZGVmYXVsdF0pLCBvcHRfc3RyaWN0X3Bvc2l4PSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKHVzZy1lY2hvLWRlZmF1bHQsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS11c2ctZWNoby1kZWZhdWx0XSwgW2Egc3lub255bSBmb3IgLS1lbmFibGUteHBnLWVjaG8tZGVmYXVsdF0pLCBvcHRfeHBnX2VjaG89JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoeHBnLWVjaG8tZGVmYXVsdCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXhwZy1lY2hvLWRlZmF1bHRdLCBbbWFrZSB0aGUgZWNobyBidWlsdGluIGV4cGFuZCBlc2NhcGUgc2VxdWVuY2VzIGJ5IGRlZmF1bHRdKSwgb3B0X3hwZ19lY2hvPSRlbmFibGV2YWwpCisKK2RubCBvcHRpb25zIHRoYXQgYWx0ZXIgaG93IGJhc2ggaXMgY29tcGlsZWQgYW5kIGxpbmtlZAorQUNfQVJHX0VOQUJMRShtZW0tc2NyYW1ibGUsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1tZW0tc2NyYW1ibGVdLCBbc2NyYW1ibGUgbWVtb3J5IG9uIGNhbGxzIHRvIG1hbGxvYyBhbmQgZnJlZV0pLCBvcHRfbWVtc2NyYW1ibGU9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUocHJvZmlsaW5nLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtcHJvZmlsaW5nXSwgW2FsbG93IHByb2ZpbGluZyB3aXRoIGdwcm9mXSksIG9wdF9wcm9maWxpbmc9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoc3RhdGljLWxpbmssIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zdGF0aWMtbGlua10sIFtsaW5rIGJhc2ggc3RhdGljYWxseSwgZm9yIHVzZSBhcyBhIHJvb3Qgc2hlbGxdKSwgb3B0X3N0YXRpY19saW5rPSRlbmFibGV2YWwpCisKK2RubCBvcHRfam9iX2NvbnRyb2wgaXMgaGFuZGxlZCBsYXRlciwgYWZ0ZXIgQkFTSF9KT0JfQ09OVFJPTF9NSVNTSU5HIHJ1bnMKKworZG5sIG9wdF9yZWFkbGluZSBhbmQgb3B0X2hpc3RvcnkgYXJlIGhhbmRsZWQgbGF0ZXIsIGJlY2F1c2UgQUNfUFJPR19DQyBuZWVkcworZG5sIHRvIGJlIHJ1biBiZWZvcmUgd2UgY2FuIGNoZWNrIHRoZSB2ZXJzaW9uIG9mIGFuIGFscmVhZHktaW5zdGFsbGVkIHJlYWRsaW5lCitkbmwgbGlicmFyeQorCitpZiB0ZXN0ICRvcHRfYWxpYXMgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShBTElBUykKK2ZpCitpZiB0ZXN0ICRvcHRfZGlyc3RhY2sgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShQVVNIRF9BTkRfUE9QRCkKK2ZpCitpZiB0ZXN0ICRvcHRfcmVzdHJpY3RlZCA9IHllczsgdGhlbgorQUNfREVGSU5FKFJFU1RSSUNURURfU0hFTEwpCitmaQoraWYgdGVzdCAkb3B0X3Byb2Nlc3Nfc3Vic3QgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShQUk9DRVNTX1NVQlNUSVRVVElPTikKK2ZpCitpZiB0ZXN0ICRvcHRfcHJvbXB0X2RlY29kaW5nID0geWVzOyB0aGVuCitBQ19ERUZJTkUoUFJPTVBUX1NUUklOR19ERUNPREUpCitmaQoraWYgdGVzdCAkb3B0X3NlbGVjdCA9IHllczsgdGhlbgorQUNfREVGSU5FKFNFTEVDVF9DT01NQU5EKQorZmkKK2lmIHRlc3QgJG9wdF9oZWxwID0geWVzOyB0aGVuCitBQ19ERUZJTkUoSEVMUF9CVUlMVElOKQorZmkKK2lmIHRlc3QgJG9wdF9hcnJheV92YXJpYWJsZXMgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShBUlJBWV9WQVJTKQorZmkKK2lmIHRlc3QgJG9wdF9kcGFyZW5fYXJpdGggPSB5ZXM7IHRoZW4KK0FDX0RFRklORShEUEFSRU5fQVJJVEhNRVRJQykKK2ZpCitpZiB0ZXN0ICRvcHRfYnJhY2VfZXhwYW5zaW9uID0geWVzOyB0aGVuCitBQ19ERUZJTkUoQlJBQ0VfRVhQQU5TSU9OKQorZmkKK2lmIHRlc3QgJG9wdF9kaXNhYmxlZF9idWlsdGlucyA9IHllczsgdGhlbgorQUNfREVGSU5FKERJU0FCTEVEX0JVSUxUSU5TKQorZmkKK2lmIHRlc3QgJG9wdF9jb21tYW5kX3RpbWluZyA9IHllczsgdGhlbgorQUNfREVGSU5FKENPTU1BTkRfVElNSU5HKQorZmkKK2lmIHRlc3QgJG9wdF94cGdfZWNobyA9IHllcyA7IHRoZW4KK0FDX0RFRklORShERUZBVUxUX0VDSE9fVE9fWFBHKQorZmkKK2lmIHRlc3QgJG9wdF9zdHJpY3RfcG9zaXggPSB5ZXM7IHRoZW4KK0FDX0RFRklORShTVFJJQ1RfUE9TSVgpCitmaQoraWYgdGVzdCAkb3B0X2V4dGVuZGVkX2dsb2IgPSB5ZXMgOyB0aGVuCitBQ19ERUZJTkUoRVhURU5ERURfR0xPQikKK2ZpCitpZiB0ZXN0ICRvcHRfY29uZF9jb21tYW5kID0geWVzIDsgdGhlbgorQUNfREVGSU5FKENPTkRfQ09NTUFORCkKK2ZpCitpZiB0ZXN0ICRvcHRfY29uZF9yZWdleHAgPSB5ZXMgOyB0aGVuCitBQ19ERUZJTkUoQ09ORF9SRUdFWFApCitmaQoraWYgdGVzdCAkb3B0X2NvcHJvYyA9IHllczsgdGhlbgorQUNfREVGSU5FKENPUFJPQ0VTU19TVVBQT1JUKQorZmkKK2lmIHRlc3QgJG9wdF9hcml0aF9mb3JfY29tbWFuZCA9IHllczsgdGhlbgorQUNfREVGSU5FKEFSSVRIX0ZPUl9DT01NQU5EKQorZmkKK2lmIHRlc3QgJG9wdF9uZXRfcmVkaXJzID0geWVzOyB0aGVuCitBQ19ERUZJTkUoTkVUV09SS19SRURJUkVDVElPTlMpCitmaQoraWYgdGVzdCAkb3B0X3Byb2djb21wID0geWVzOyB0aGVuCitBQ19ERUZJTkUoUFJPR1JBTU1BQkxFX0NPTVBMRVRJT04pCitmaQoraWYgdGVzdCAkb3B0X211bHRpYnl0ZSA9IG5vOyB0aGVuCitBQ19ERUZJTkUoTk9fTVVMVElCWVRFX1NVUFBPUlQpCitmaQoraWYgdGVzdCAkb3B0X2RlYnVnZ2VyID0geWVzOyB0aGVuCitBQ19ERUZJTkUoREVCVUdHRVIpCitmaQoraWYgdGVzdCAkb3B0X2Nhc2Vtb2RfYXR0cnMgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShDQVNFTU9EX0FUVFJTKQorZmkKK2lmIHRlc3QgJG9wdF9jYXNlbW9kX2V4cGFuc2lvbnMgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShDQVNFTU9EX0VYUEFOU0lPTlMpCitmaQorCitpZiB0ZXN0ICRvcHRfbWVtc2NyYW1ibGUgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShNRU1TQ1JBTUJMRSkKK2ZpCisKK2lmIHRlc3QgIiRvcHRfbWluaW1hbF9jb25maWciID0geWVzOyB0aGVuCisJVEVTVFNDUklQVD1ydW4tbWluaW1hbAorZWxzZQorCVRFU1RTQ1JJUFQ9cnVuLWFsbAorZmkKKworSEVMUERJUj0gSEVMUERJUkRFRklORT0gSEVMUElOU1RBTEw9CitpZiB0ZXN0ICIkb3B0X3NlcGFyYXRlX2hlbHAiICE9IG5vOyB0aGVuCisJaWYgdGVzdCAiJG9wdF9zZXBhcmF0ZV9oZWxwIiA9ICJ5ZXMiIDsgdGhlbgorCQlIRUxQRElSPScke2RhdGFkaXJ9L2Jhc2gnCisJZWxzZQorCQlIRUxQRElSPSRvcHRfc2VwYXJhdGVfaGVscAorCWZpCisJSEVMUERJUkRFRklORT0nLUggJHtIRUxQRElSfScKKwlIRUxQSU5TVEFMTD0naW5zdGFsbC1oZWxwJworZmkKK0hFTFBTVFJJTkdTPQoraWYgdGVzdCAiJG9wdF9zaW5nbGVfbG9uZ2RvY19zdHJpbmdzIiAhPSAieWVzIjsgdGhlbgorCUhFTFBTVFJJTkdTPSctUycKK2ZpCisKK2RubCBub3cgc3Vic3RpdHV0ZSBpbiB0aGUgdmFsdWVzIGdlbmVyYXRlZCBieSBhcmd1bWVudHMKK0FDX1NVQlNUKFRFU1RTQ1JJUFQpCitBQ19TVUJTVChQVVJJRlkpCitBQ19TVUJTVChNQUxMT0NfVEFSR0VUKQorQUNfU1VCU1QoTUFMTE9DX1NSQykKKworQUNfU1VCU1QoTUFMTE9DX0xJQikKK0FDX1NVQlNUKE1BTExPQ19MSUJSQVJZKQorQUNfU1VCU1QoTUFMTE9DX0xERkxBR1MpCitBQ19TVUJTVChNQUxMT0NfREVQKQorCitBQ19TVUJTVChodG1sZGlyKQorCitBQ19TVUJTVChIRUxQRElSKQorQUNfU1VCU1QoSEVMUERJUkRFRklORSkKK0FDX1NVQlNUKEhFTFBJTlNUQUxMKQorQUNfU1VCU1QoSEVMUFNUUklOR1MpCisKK2VjaG8gIiIKK2VjaG8gIkJlZ2lubmluZyBjb25maWd1cmF0aW9uIGZvciBiYXNoLSRCQVNIVkVSUy0kUkVMU1RBVFVTIGZvciAke2hvc3RfY3B1fS0ke2hvc3RfdmVuZG9yfS0ke2hvc3Rfb3N9IgorZWNobyAiIgorCitkbmwgY29tcGlsYXRpb24gY2hlY2tzCitkbmwgQUNfUFJPR19DQyBzZXRzICRjcm9zc19jb21waWxpbmcgdG8gYHllcycgaWYgY3Jvc3MtY29tcGlsaW5nIGZvciBhCitkbmwgZGlmZmVyZW50IGVudmlyb25tZW50CitBQ19QUk9HX0NDCisKK2RubCB0ZXN0IGZvciBVbml4IHZhcmlhbnRzCitBQ19JU0NfUE9TSVgKK0FDX01JTklYCisKK0FDX1NZU19MQVJHRUZJTEUKKworZG5sIEJFR0lOIGNoYW5nZXMgZm9yIGNyb3NzLWJ1aWxkaW5nIChjdXJyZW50bHkgY3lnd2luLCBtaW5HVywgYW5kCitkbmwgKG9ic29sZXRlKSBCZU9TKQorCitTSUdOQU1FU19PPQorU0lHTkFNRVNfSD1sc2lnbmFtZXMuaAorCitkbmwgbG9hZCB1cCB0aGUgY3Jvc3MtYnVpbGRpbmcgY2FjaGUgZmlsZSAtLSBhZGQgbW9yZSBjYXNlcyBhbmQgY2FjaGUKK2RubCBmaWxlcyBhcyBuZWNlc3NhcnkKKworZG5sIE5vdGUgdGhhdCBob3N0IGFuZCB0YXJnZXQgbWFjaGluZSBhcmUgdGhlIHNhbWUsIGFuZCBkaWZmZXJlbnQgdGhhbiB0aGUKK2RubCBidWlsZCBtYWNoaW5lLgorZG5sIFNldCBTSUdOQU1FU19IIGJhc2VkIG9uIHdoZXRoZXIgb3Igbm90IHdlJ3JlIGNyb3NzLWNvbXBpbGluZy4KKworQ1JPU1NfQ09NUElMRT0KK2lmIHRlc3QgIngkY3Jvc3NfY29tcGlsaW5nIiA9ICJ4eWVzIjsgdGhlbgorICAgIGNhc2UgIiR7aG9zdH0iIGluCisgICAgKi1jeWd3aW4qKQorCWNyb3NzX2NhY2hlPSR7c3JjZGlyfS9jcm9zcy1idWlsZC9jeWd3aW4zMi5jYWNoZQorCTs7CisgICAgKi1taW5ndyopCisJY3Jvc3NfY2FjaGU9JHtzcmNkaXJ9L2Nyb3NzLWJ1aWxkL2N5Z3dpbjMyLmNhY2hlCisJOzsKKyAgICBpW1szNDU2XV04Ni0qLWJlb3MqKQorCWNyb3NzX2NhY2hlPSR7c3JjZGlyfS9jcm9zcy1idWlsZC94ODYtYmVvcy5jYWNoZQorCTs7CisgICAgKikJZWNobyAiY29uZmlndXJlOiBjcm9zcy1jb21waWxpbmcgZm9yICRob3N0IGlzIG5vdCBzdXBwb3J0ZWQiID4mMgorCTs7CisgICAgZXNhYworICAgIGlmIHRlc3QgLW4gIiR7Y3Jvc3NfY2FjaGV9IiAmJiB0ZXN0IC1yICIke2Nyb3NzX2NhY2hlfSI7IHRoZW4KKwllY2hvICJsb2FkaW5nIGNyb3NzLWJ1aWxkIGNhY2hlIGZpbGUgJHtjcm9zc19jYWNoZX0iCisJLiAke2Nyb3NzX2NhY2hlfQorICAgIGZpCisgICAgdW5zZXQgY3Jvc3NfY2FjaGUKKyAgICBTSUdOQU1FU19PPSdzaWduYW1lcy5vJworICAgIENST1NTX0NPTVBJTEU9Jy1EQ1JPU1NfQ09NUElMSU5HJworICAgIEFDX1NVQlNUKENST1NTX0NPTVBJTEUpCitmaQorQUNfU1VCU1QoU0lHTkFNRVNfSCkKK0FDX1NVQlNUKFNJR05BTUVTX08pCisKK2lmIHRlc3QgLXogIiRDQ19GT1JfQlVJTEQiOyB0aGVuCisgICAgaWYgdGVzdCAieCRjcm9zc19jb21waWxpbmciID0gInhubyI7IHRoZW4KKwlDQ19GT1JfQlVJTEQ9JyQoQ0MpJworICAgIGVsc2UKKwlDQ19GT1JfQlVJTEQ9Z2NjCisgICAgZmkKK2ZpCitBQ19TVUJTVChDQ19GT1JfQlVJTEQpCisKK2RubCBFTkQgY2hhbmdlcyBmb3IgY3Jvc3MtYnVpbGRpbmcKKworZG5sIFdlIHdhbnQgdGhlc2UgYmVmb3JlIHRoZSBjaGVja3MsIHNvIHRoZSBjaGVja3MgY2FuIG1vZGlmeSB0aGVpciB2YWx1ZXMuCit0ZXN0IC16ICIkQ0ZMQUdTIiAmJiBDRkxBR1M9LWcgYXV0b19jZmxhZ3M9MQorCitkbmwgSWYgd2UncmUgdXNpbmcgZ2NjIGFuZCB0aGUgdXNlciBoYXNuJ3Qgc3BlY2lmaWVkIENGTEFHUywgYWRkIC1PMiB0byBDRkxBR1MuCit0ZXN0IC1uICIkR0NDIiAmJiB0ZXN0IC1uICIkYXV0b19jZmxhZ3MiICYmIENGTEFHUz0iJENGTEFHUyAtTzIiCisKK2RubCBoYW5kbGUgb3B0aW9ucyB0aGF0IGFsdGVyIGhvdyBiYXNoIGlzIGNvbXBpbGVkIGFuZCBsaW5rZWQKK2RubCB0aGVzZSBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHRlc3QgZm9yIGNjL2djYworaWYgdGVzdCAiJG9wdF9wcm9maWxpbmciID0gInllcyI7IHRoZW4KKwlQUk9GSUxFX0ZMQUdTPS1wZworCWNhc2UgIiRob3N0X29zIiBpbgorCXNvbGFyaXMyKikJOzsKKwkqKQkJb3B0X3N0YXRpY19saW5rPXllcyA7OworCWVzYWMKKwlERUJVRz0gTUFMTE9DX0RFQlVHPQorZmkKKworaWYgdGVzdCAiJG9wdF9zdGF0aWNfbGluayIgPSB5ZXM7IHRoZW4KKwkjIGlmIHdlJ3JlIHVzaW5nIGdjYywgYWRkIGAtc3RhdGljJyB0byBMREZMQUdTLCBleGNlcHQgb24gU29sYXJpcyA+PSAyCisJaWYgdGVzdCAtbiAiJEdDQyIgfHwgdGVzdCAiJGFjX2N2X3Byb2dfZ2NjIiA9ICJ5ZXMiOyB0aGVuCisJCVNUQVRJQ19MRD0iLXN0YXRpYyIgCisJCWNhc2UgIiRob3N0X29zIiBpbgorCQlzb2xhcmlzMiopCTs7CisJCSopCQlMREZMQUdTPSIkTERGTEFHUyAtc3RhdGljIiA7OwkjIFhYWCBleHBlcmltZW50YWwKKwkJZXNhYworCWZpCitmaQorCitpZiB0ZXN0ICJYJGNyb3NzX2NvbXBpbGluZyIgPSAiWG5vIjsgdGhlbgorCUNQUEZMQUdTX0ZPUl9CVUlMRD0ke0NQUEZMQUdTX0ZPUl9CVUlMRC0iJENQUEZMQUdTIn0KKwlMREZMQUdTX0ZPUl9CVUlMRD0ke0xERkxBR1NfRk9SX0JVSUxELSckKExERkxBR1MpJ30KK2Vsc2UKKwlDUFBGTEFHU19GT1JfQlVJTEQ9JHtDUFBGTEFHU19GT1JfQlVJTEQtIiJ9CisJTERGTEFHU19GT1JfQlVJTEQ9JHtMREZMQUdTX0ZPUl9CVUlMRC0iIn0KK2ZpCisKK3Rlc3QgLXogIiRDRkxBR1NfRk9SX0JVSUxEIiAmJiBDRkxBR1NfRk9SX0JVSUxEPSItZyIKKworQUNfU1VCU1QoQ0ZMQUdTKQorQUNfU1VCU1QoQ1BQRkxBR1MpCitBQ19TVUJTVChMREZMQUdTKQorQUNfU1VCU1QoU1RBVElDX0xEKQorCitBQ19TVUJTVChDRkxBR1NfRk9SX0JVSUxEKQorQUNfU1VCU1QoQ1BQRkxBR1NfRk9SX0JVSUxEKQorQUNfU1VCU1QoTERGTEFHU19GT1JfQlVJTEQpCisKK0FDX1BST0dfR0NDX1RSQURJVElPTkFMCisKK2RubCBCRUdJTiBSRUFETElORSBhbmQgSElTVE9SWSBMSUJSQVJZIFNFQ1RJT04KK2RubCBwcmVwYXJlIHRvIGFsbG93IGJhc2ggdG8gYmUgbGlua2VkIGFnYWluc3QgYW4gYWxyZWFkeS1pbnN0YWxsZWQgcmVhZGxpbmUKKworZG5sIGZpcnN0IHRlc3QgdGhhdCB0aGUgcmVhZGxpbmUgdmVyc2lvbiBpcyBuZXcgZW5vdWdoIHRvIGxpbmsgYmFzaCBhZ2FpbnN0CitpZiB0ZXN0ICIkb3B0X3JlYWRsaW5lIiA9IHllcyAmJiB0ZXN0ICIkb3B0X3dpdGhfaW5zdGFsbGVkX3JlYWRsaW5lIiAhPSAibm8iCit0aGVuCisJIyBJZiB0aGUgdXNlciBzcGVjaWZpZWQgLS13aXRoLWluc3RhbGxlZC1yZWFkbGluZT1QUkVGSVggYW5kIFBSRUZJWAorCSMgaXMgbm90IGB5ZXMnLCBzZXQgYWNfY3ZfcmxfcHJlZml4IHRvIFBSRUZJWAorCXRlc3QgJG9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZSAhPSAieWVzIiAmJiBhY19jdl9ybF9wcmVmaXg9JG9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZQorCisJUkxfTElCX1JFQURMSU5FX1ZFUlNJT04KKworCWNhc2UgIiRhY19jdl9ybF92ZXJzaW9uIiBpbgorCTUqfDYqfDcqfDgqfDkqKQk7OworCSopCW9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZT1ubyAKKwkJQUNfTVNHX1dBUk4oaW5zdGFsbGVkIHJlYWRsaW5lIGxpYnJhcnkgaXMgdG9vIG9sZCB0byBiZSBsaW5rZWQgd2l0aCBiYXNoKQorCQlBQ19NU0dfV0FSTih1c2luZyBwcml2YXRlIGJhc2ggdmVyc2lvbikKKwkJOzsKKwllc2FjCitmaQorCitUSUxERV9MSUI9LWx0aWxkZQoraWYgdGVzdCAkb3B0X3JlYWRsaW5lID0geWVzOyB0aGVuCisJQUNfREVGSU5FKFJFQURMSU5FKQorCWlmIHRlc3QgIiRvcHRfd2l0aF9pbnN0YWxsZWRfcmVhZGxpbmUiICE9ICJubyIgOyB0aGVuCisJCWNhc2UgIiRvcHRfd2l0aF9pbnN0YWxsZWRfcmVhZGxpbmUiIGluCisJCXllcykJUkxfSU5DTFVERT0gOzsKKwkJKikJY2FzZSAiJFJMX0lOQ0xVREVESVIiIGluCisJCQkvdXNyL2luY2x1ZGUpCTs7CisJCQkqKQkJUkxfSU5DTFVERT0nLUkke1JMX0lOQ0xVREVESVJ9JyA7OworCQkJZXNhYworCQkJOzsKKwkJZXNhYworCQlSRUFETElORV9ERVA9CisJCVJFQURMSU5FX0xJQj0tbHJlYWRsaW5lCisJCSMgc2VjdGlvbiBmb3IgT1MgdmVyc2lvbnMgdGhhdCBkb24ndCBhbGxvdyB1bnJlc29sdmVkIHN5bWJvbHMKKwkJIyB0byBiZSBjb21waWxlZCBpbnRvIGR5bmFtaWMgbGlicmFyaWVzLgorCQljYXNlICIkaG9zdF9vcyIgaW4KKwkJY3lnd2luKikJVElMREVfTElCPSA7OworCQllc2FjCisJZWxzZQorCQlSTF9MSUJESVI9JyQoZG90KS8kKExJQlNVQkRJUikvcmVhZGxpbmUnCisJCVJFQURMSU5FX0RFUD0nJChSRUFETElORV9MSUJSQVJZKScKKwkJIyBzZWN0aW9uIGZvciBPUyB2ZXJzaW9ucyB0aGF0IHNoaXAgYW4gb2xkZXIvYnJva2VuIHZlcnNpb24gb2YKKwkJIyByZWFkbGluZSBhcyBhIHN0YW5kYXJkIGR5bmFtaWMgbGlicmFyeSBhbmQgZG9uJ3QgYWxsb3cgYQorCQkjIHN0YXRpYyB2ZXJzaW9uIHNwZWNpZmllZCBhcyAtbGxpYm5hbWUgdG8gb3ZlcnJpZGUgdGhlCisJCSMgZHluYW1pYyB2ZXJzaW9uCisJCWNhc2UgIiR7aG9zdF9vc30iIGluCisJCWRhcndpbltbODldXSopCVJFQURMSU5FX0xJQj0nJHtSRUFETElORV9MSUJSQVJZfScgOzsKKwkJKikJCVJFQURMSU5FX0xJQj0tbHJlYWRsaW5lIDs7CisJCWVzYWMKKwlmaQorZWxzZQorCVJMX0xJQkRJUj0nJChkb3QpLyQoTElCU1VCRElSKS9yZWFkbGluZScKKwlSRUFETElORV9MSUI9IFJFQURMSU5FX0RFUD0KK2ZpCitpZiB0ZXN0ICRvcHRfaGlzdG9yeSA9IHllcyB8fCB0ZXN0ICRvcHRfYmFuZ19oaXN0b3J5ID0geWVzOyB0aGVuCisJaWYgdGVzdCAkb3B0X2hpc3RvcnkgPSB5ZXM7IHRoZW4KKwkJQUNfREVGSU5FKEhJU1RPUlkpCisJZmkKKwlpZiB0ZXN0ICRvcHRfYmFuZ19oaXN0b3J5ID0geWVzOyB0aGVuCisJCUFDX0RFRklORShCQU5HX0hJU1RPUlkpCisJZmkKKyAJaWYgdGVzdCAiJG9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZSIgIT0gIm5vIjsgdGhlbgorCQlISVNUX0xJQkRJUj0kUkxfTElCRElSCisJCUhJU1RPUllfREVQPQorCQlISVNUT1JZX0xJQj0tbGhpc3RvcnkKKwkJY2FzZSAiJG9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZSIgaW4KKwkJeWVzKQlSTF9JTkNMVURFPSA7OworCQkqKQljYXNlICIkUkxfSU5DTFVERURJUiIgaW4KKwkJCS91c3IvaW5jbHVkZSkJOzsKKwkJCSopCQlSTF9JTkNMVURFPSctSSR7UkxfSU5DTFVERURJUn0nIDs7CisJCQllc2FjCisJCQk7OworCQllc2FjCisJZWxzZQorCQlISVNUX0xJQkRJUj0nJChkb3QpLyQoTElCU1VCRElSKS9yZWFkbGluZScKKwkJSElTVE9SWV9ERVA9JyQoSElTVE9SWV9MSUJSQVJZKScKKwkJIyBzZWN0aW9uIGZvciBPUyB2ZXJzaW9ucyB0aGF0IHNoaXAgYW4gb2xkZXIgdmVyc2lvbiBvZgorCQkjIHJlYWRsaW5lIGFzIGEgc3RhbmRhcmQgZHluYW1pYyBsaWJyYXJ5IGFuZCBkb24ndCBhbGxvdyBhCisJCSMgc3RhdGljIHZlcnNpb24gc3BlY2lmaWVkIGFzIC1sbGlibmFtZSB0byBvdmVycmlkZSB0aGUKKwkJIyBkeW5hbWljIHZlcnNpb24KKwkJY2FzZSAiJHtob3N0X29zfSIgaW4KKwkJZGFyd2luW1s4OV1dKikJSElTVE9SWV9MSUI9JyR7SElTVE9SWV9MSUJSQVJZfScgOzsKKwkJKikJCUhJU1RPUllfTElCPS1saGlzdG9yeSA7OworCQllc2FjCisJZmkKK2Vsc2UKKwlISVNUX0xJQkRJUj0nJChkb3QpLyQoTElCU1VCRElSKS9yZWFkbGluZScKKwlISVNUT1JZX0xJQj0gSElTVE9SWV9ERVA9CitmaQorQUNfU1VCU1QoUkVBRExJTkVfTElCKQorQUNfU1VCU1QoUkVBRExJTkVfREVQKQorQUNfU1VCU1QoUkxfTElCRElSKQorQUNfU1VCU1QoUkxfSU5DTFVERURJUikKK0FDX1NVQlNUKFJMX0lOQ0xVREUpCitBQ19TVUJTVChISVNUT1JZX0xJQikKK0FDX1NVQlNUKEhJU1RPUllfREVQKQorQUNfU1VCU1QoSElTVF9MSUJESVIpCitBQ19TVUJTVChUSUxERV9MSUIpCisKK2RubCBFTkQgUkVBRExJTkUgYW5kIEhJU1RPUlkgTElCUkFSWSBTRUNUSU9OCisKK2RubCBwcm9ncmFtcyBuZWVkZWQgYnkgdGhlIGJ1aWxkIGFuZCBpbnN0YWxsIHByb2Nlc3MKK0FDX1BST0dfSU5TVEFMTAorQUNfQ0hFQ0tfUFJPRyhBUiwgYXIsICwgYXIpCitkbmwgU2V0IGRlZmF1bHQgZm9yIEFSRkxBR1MsIHNpbmNlIGF1dG9jb25mIGRvZXMgbm90IGhhdmUgYSBtYWNybyBmb3IgaXQuCitkbmwgVGhpcyBhbGxvd3MgcGVvcGxlIHRvIHNldCBpdCB3aGVuIHJ1bm5pbmcgY29uZmlndXJlIG9yIG1ha2UKK3Rlc3QgLW4gIiRBUkZMQUdTIiB8fCBBUkZMQUdTPSJjciIKK0FDX1BST0dfUkFOTElCCitBQ19QUk9HX1lBQ0MKK0FDX1BST0dfTUFLRV9TRVQKKworY2FzZSAiJGhvc3Rfb3MiIGluCitvcGVubnQqfGludGVyaXgqKQlNQUtFX1NIRUxMPSIkSU5URVJJWF9ST09UL2Jpbi9zaCIgOzsKKyopCQkJTUFLRV9TSEVMTD0vYmluL3NoIDs7Citlc2FjCitBQ19TVUJTVChNQUtFX1NIRUxMKQorCitkbmwgdGhpcyBpcyBzaW1pbGFyIHRvIHRoZSBleHBhbmRlZCBBQ19QUk9HX1JBTkxJQgoraWYgdGVzdCB4JFNJWkUgPSB4OyB0aGVuCisJaWYgdGVzdCB4JGFjX3Rvb2xfcHJlZml4ID0geDsgdGhlbgorCQlTSVpFPXNpemUKKwllbHNlCisJCVNJWkU9JHthY190b29sX3ByZWZpeH1zaXplCisJCXNhdmVfSUZTPSRJRlMgOyBJRlM9OgorCQlzaXplX2ZvdW5kPTAKKwkJZm9yIGRpciBpbiAkUEFUSDsgZG8KKwkJCWlmIHRlc3QgLXggJGRpci8kU0laRSA7IHRoZW4KKwkJCQlzaXplX2ZvdW5kPTEKKwkJCQlicmVhaworCQkJZmkKKwkJZG9uZQorCQlpZiB0ZXN0ICRzaXplX2ZvdW5kIC1lcSAwOyB0aGVuCisJCQlTSVpFPToKKwkJZmkKKwkJSUZTPSRzYXZlX0lGUworCWZpCitmaQorQUNfU1VCU1QoU0laRSkKKworZG5sIFR1cm4gb24gYW55IGV4dGVuc2lvbnMgYXZhaWxhYmxlIGluIHRoZSBHTlUgQyBsaWJyYXJ5LgorQUNfREVGSU5FKF9HTlVfU09VUkNFLCAxKQorCitkbmwgQyBjb21waWxlciBjaGFyYWN0ZXJpc3RpY3MKK0FDX0NfQ09OU1QKK0FDX0NfSU5MSU5FCitBQ19DX0JJR0VORElBTgorQUNfQ19TVFJJTkdJWkUKK0FDX0NfTE9OR19ET1VCTEUKK0FDX0NfUFJPVE9UWVBFUworQUNfQ19DSEFSX1VOU0lHTkVECitBQ19DX1ZPTEFUSUxFCitBQ19DX1JFU1RSSUNUCisKK2RubCBpbml0aWFsaXplIEdOVSBnZXR0ZXh0CitBTV9HTlVfR0VUVEVYVChbbm8tbGlidG9vbF0sIFtuZWVkLW5nZXR0ZXh0XSwgW2xpYi9pbnRsXSkKKworZG5sIGhlYWRlciBmaWxlcworQUNfSEVBREVSX0RJUkVOVAorQUNfSEVBREVSX1RJTUUKKworQkFTSF9IRUFERVJfSU5UVFlQRVMKKworQUNfQ0hFQ0tfSEVBREVSUyh1bmlzdGQuaCBzdGRsaWIuaCBzdGRhcmcuaCB2YXJhcmdzLmggbGltaXRzLmggc3RyaW5nLmggXAorCQkgbWVtb3J5LmggbG9jYWxlLmggdGVybWNhcC5oIHRlcm1pby5oIHRlcm1pb3MuaCBkbGZjbi5oIFwKKwkJIHN0ZGRlZi5oIHN0ZGludC5oIG5ldGRiLmggcHdkLmggZ3JwLmggc3RyaW5ncy5oIHJlZ2V4LmgpCitBQ19DSEVDS19IRUFERVJTKHN5cy9wdGUuaCBzeXMvc3RyZWFtLmggc3lzL3NlbGVjdC5oIHN5cy9maWxlLmggXAorCQkgc3lzL3Jlc291cmNlLmggc3lzL3BhcmFtLmggc3lzL3NvY2tldC5oIHN5cy9zdGF0LmggXAorCQkgc3lzL3RpbWUuaCBzeXMvdGltZXMuaCBzeXMvdHlwZXMuaCBzeXMvd2FpdC5oKQorQUNfQ0hFQ0tfSEVBREVSUyhuZXRpbmV0L2luLmggYXJwYS9pbmV0LmgpCisKK2RubCBzeXMvcHRlbS5oIHJlcXVpcmVzIGRlZmluaXRpb25zIGZyb20gc3lzL3N0cmVhbS5oIG9uIHN5c3RlbXMgd2hlcmUgaXQKK2RubCBleGlzdHMKK0FDX0NIRUNLX0hFQURFUihzeXMvcHRlbS5oLCAsICxbWworI2lmIEhBVkVfU1lTX1NUUkVBTV9ICisjICBpbmNsdWRlIDxzeXMvc3RyZWFtLmg+CisjZW5kaWYKK11dKQorCitkbmwgc3BlY2lhbCBjaGVja3MgZm9yIGxpYmMgZnVuY3Rpb25zCitBQ19GVU5DX0FMTE9DQQorQUNfRlVOQ19HRVRQR1JQCitBQ19GVU5DX1NFVFZCVUZfUkVWRVJTRUQKK0FDX0ZVTkNfVlBSSU5URgorQUNfRlVOQ19TVFJDT0xMCisKK2RubCBpZiB3ZSdyZSBub3QgdXNpbmcgdGhlIGJhc2ggbWFsbG9jIGJ1dCByZXF1aXJlIHRoZSBDIGFsbG9jYSwgc2V0IHRoaW5ncworZG5sIHVwIHRvIGJ1aWxkIGEgbGlibWFsbG9jLmEgY29udGFpbmluZyBvbmx5IGFsbG9jYS5vCisKK2lmIHRlc3QgIiRhY19jdl9mdW5jX2FsbG9jYV93b3JrcyIgPSAibm8iICYmIHRlc3QgIiRvcHRfYmFzaF9tYWxsb2MiID0gIm5vIjsgdGhlbgorCU1BTExPQ19UQVJHRVQ9YWxsb2NhCisJTUFMTE9DX1NSQz1hbGxvY2EuYworCisJTUFMTE9DX0xJQj0nLWxtYWxsb2MnCisJTUFMTE9DX0xJQlJBUlk9JyQoQUxMT0NfTElCRElSKS9saWJtYWxsb2MuYScKKwlNQUxMT0NfTERGTEFHUz0nLUwkKEFMTE9DX0xJQkRJUiknCisJTUFMTE9DX0RFUD0nJChNQUxMT0NfTElCUkFSWSknCitmaQorCitkbmwgaWYgdnByaW50ZiBpcyBub3QgaW4gbGliYywgc2VlIGlmIGl0J3MgZGVmaW5lZCBpbiBzdGRpby5oCitpZiB0ZXN0ICIkYWNfY3ZfZnVuY192cHJpbnRmIiA9IG5vOyB0aGVuCisgICAgQUNfTVNHX0NIRUNLSU5HKGZvciBkZWNsYXJhdGlvbiBvZiB2cHJpbnRmIGluIHN0ZGlvLmgpCisgICAgQUNfRUdSRVBfSEVBREVSKFtbaW50WyAJXSp2cHJpbnRmW15hLXpBLVowLTldXV0sc3RkaW8uaCxhY19jdl9mdW5jX3ZwcmludGY9eWVzKQorICAgIEFDX01TR19SRVNVTFQoJGFjX2N2X2Z1bmNfdnByaW50ZikKKyAgICBpZiB0ZXN0ICRhY19jdl9mdW5jX3ZwcmludGYgPSB5ZXM7IHRoZW4KKwlBQ19ERUZJTkUoSEFWRV9WUFJJTlRGKQorICAgIGZpCitmaQorCitpZiB0ZXN0ICIkYWNfY3ZfZnVuY192cHJpbnRmIiA9IG5vICYmIHRlc3QgIiRhY19jdl9mdW5jX19kb3BybnQiID0gInllcyI7IHRoZW4KKyAgQUNfTElCT0JKKHZwcmludCkKK2ZpCisKK2RubCBzaWduYWwgc3R1ZmYKK0FDX1RZUEVfU0lHTkFMCisKK2RubCBjaGVja3MgZm9yIGNlcnRhaW4gdmVyc2lvbi1zcGVjaWZpYyBzeXN0ZW0gY2FsbHMgYW5kIGxpYmMgZnVuY3Rpb25zCitBQ19DSEVDS19GVU5DKF9fc2V0b3N0eXBlLCBBQ19ERUZJTkUoSEFWRV9TRVRPU1RZUEUpKQorQUNfQ0hFQ0tfRlVOQyh3YWl0MywgQUNfREVGSU5FKEhBVkVfV0FJVDMpKQorQUNfQ0hFQ0tfRlVOQyhpc2luZiwgQUNfREVGSU5FKEhBVkVfSVNJTkZfSU5fTElCQykpCitBQ19DSEVDS19GVU5DKGlzbmFuLCBBQ19ERUZJTkUoSEFWRV9JU05BTl9JTl9MSUJDKSkKKworZG5sIGNoZWNrcyBmb3IgbWlzc2luZyBsaWJjIGZ1bmN0aW9ucworQUNfQ0hFQ0tfRlVOQyhta2ZpZm8sQUNfREVGSU5FKEhBVkVfTUtGSUZPKSxBQ19ERUZJTkUoTUtGSUZPX01JU1NJTkcpKQorCitkbmwgY2hlY2tzIGZvciBzeXN0ZW0gY2FsbHMKK0FDX0NIRUNLX0ZVTkNTKGR1cDIgZWFjY2VzcyBmY250bCBnZXRkdGFibGVzaXplIGdldGdyb3VwcyBnZXRob3N0bmFtZSBcCisJCWdldHBhZ2VzaXplIGdldHBlZXJuYW1lIGdldHJsaW1pdCBnZXRydXNhZ2UgZ2V0dGltZW9mZGF5IFwKKwkJa2lsbCBraWxscGcgbHN0YXQgcmVhZGxpbmsgc2JyayBzZWxlY3Qgc2V0ZHRhYmxlc2l6ZSBcCisJCXNldGl0aW1lciB0Y2dldHBncnAgdW5hbWUgdWxpbWl0IHdhaXRwaWQpCitBQ19SRVBMQUNFX0ZVTkNTKHJlbmFtZSkKKworZG5sIGNoZWNrcyBmb3IgYyBsaWJyYXJ5IGZ1bmN0aW9ucworQUNfQ0hFQ0tfRlVOQ1MoYmNvcHkgYnplcm8gY29uZnN0ciBmbm1hdGNoIFwKKwkJZ2V0YWRkcmluZm8gZ2V0aG9zdGJ5bmFtZSBnZXRzZXJ2YnluYW1lIGdldHNlcnZlbnQgaW5ldF9hdG9uIFwKKwkJbWVtbW92ZSBwYXRoY29uZiBwdXRlbnYgcmFpc2UgcmVnY29tcCByZWdleGVjIFwKKwkJc2V0ZW52IHNldGxpbmVidWYgc2V0bG9jYWxlIHNldHZidWYgc2lnaW50ZXJydXB0IHN0cmNociBcCisJCXN5c2NvbmYgdGNnZXRhdHRyIHRpbWVzIHR0eW5hbWUgdHpzZXQgdW5zZXRlbnYpCisKK0FDX0NIRUNLX0ZVTkNTKHZzbnByaW50ZiBzbnByaW50ZiB2YXNwcmludGYgYXNwcmludGYpCitBQ19DSEVDS19GVU5DUyhpc2FzY2lpIGlzYmxhbmsgaXNncmFwaCBpc3ByaW50IGlzc3BhY2UgaXN4ZGlnaXQpCitBQ19DSEVDS19GVU5DUyhnZXRwd2VudCBnZXRwd25hbSBnZXRwd3VpZCkKK0FDX1JFUExBQ0VfRlVOQ1MoZ2V0Y3dkIG1lbXNldCBzdHJjYXNlY21wIHN0cmVycm9yIHN0cmZ0aW1lIHN0cm5sZW4gc3RycGJyayBzdHJzdHIpCitBQ19SRVBMQUNFX0ZVTkNTKHN0cnRvZCBzdHJ0b2wgc3RydG91bCBzdHJ0b2xsIHN0cnRvdWxsIHN0cnRvaW1heCBzdHJ0b3VtYXgpCitBQ19SRVBMQUNFX0ZVTkNTKGZkcHJpbnRmKQorCitBQ19DSEVDS19ERUNMUyhbY29uZnN0cl0pCitBQ19DSEVDS19ERUNMUyhbcHJpbnRmXSkKK0FDX0NIRUNLX0RFQ0xTKFtzYnJrXSkKK0FDX0NIRUNLX0RFQ0xTKFtzZXRyZWdpZF0pCitBQ19DSEVDS19ERUNMUyhbc3RyY3B5XSkKK0FDX0NIRUNLX0RFQ0xTKFtzdHJzaWduYWxdKQorCitkbmwgRXh0cmEgdGVzdCB0byBkZXRlY3QgdGhlIGhvcnJpYmx5IGJyb2tlbiBIUC9VWCAxMS4wMCBzdHJ0b2xkKDMpCitBQ19DSEVDS19ERUNMUyhbc3RydG9sZF0sIFsKKyAgICBBQ19NU0dfQ0hFQ0tJTkcoW2ZvciBicm9rZW4gc3RydG9sZF0pCisgICAgQUNfQ0FDSEVfVkFMKGJhc2hfY3Zfc3RydG9sZF9icm9rZW4sCisJW0FDX1RSWV9DT01QSUxFKAorCSAgICBbI2luY2x1ZGUgPHN0ZGxpYi5oPl0sCisJICAgIFtpbnQgbWFpbigpIHsgbG9uZyBkb3VibGUgcjsgY2hhciAqZm9vLCBiYXI7IHIgPSBzdHJ0b2xkKGZvbywgJmJhcik7fV0sCisJICAgIGJhc2hfY3Zfc3RydG9sZF9icm9rZW49bm8sIGJhc2hfY3Zfc3RydG9sZF9icm9rZW49eWVzLAorCSAgICBbQUNfTVNHX1dBUk4oY2Fubm90IGNoZWNrIGZvciBicm9rZW4gc3RydG9sZCBpZiBjcm9zcy1jb21waWxpbmcsIGRlZmF1bHRpbmcgdG8gbm8pXSkKKwldCisgICAgKQorICAgIEFDX01TR19SRVNVTFQoJGJhc2hfY3Zfc3RydG9sZF9icm9rZW4pCisgICAgaWYgdGVzdCAiJGJhc2hfY3Zfc3RydG9sZF9icm9rZW4iID0gInllcyIgOyB0aGVuCisJQUNfREVGSU5FKFNUUlRPTERfQlJPS0VOKQorICAgIGZpCitdKQorICAgIAorCitCQVNIX0NIRUNLX0RFQ0woc3RydG9pbWF4KQorQkFTSF9DSEVDS19ERUNMKHN0cnRvbCkKK0JBU0hfQ0hFQ0tfREVDTChzdHJ0b2xsKQorQkFTSF9DSEVDS19ERUNMKHN0cnRvdWwpCitCQVNIX0NIRUNLX0RFQ0woc3RydG91bGwpCitCQVNIX0NIRUNLX0RFQ0woc3RydG91bWF4KQorCitBQ19GVU5DX01LVElNRQorCitkbmwKK2RubCBDaGVja3MgZm9yIGxpYi9pbnRsIGFuZCByZWxhdGVkIGNvZGUgKHVzZXMgc29tZSBvZiB0aGUgb3V0cHV0IGZyb20KK2RubCBBTV9HTlVfR0VUVEVYVCkKK2RubAorCitBQ19DSEVDS19IRUFERVJTKFthcmd6LmggZXJybm8uaCBmY250bC5oIG1hbGxvYy5oIHN0ZGlvX2V4dC5oXSkKKworZG5sIEFDX0ZVTkNfTUFMTE9DCitBQ19GVU5DX01NQVAKK0FDX0NIRUNLX0ZVTkNTKFtfX2FyZ3pfY291bnQgX19hcmd6X25leHQgX19hcmd6X3N0cmluZ2lmeSBkY2dldHRleHQgbWVtcGNweSBcCisJCW11bm1hcCBzdHBjcHkgc3RyY3NwbiBzdHJkdXBdKQorCitJTlRMX0RFUD0gSU5UTF9JTkM9IExJQklOVExfSD0KK2lmIHRlc3QgIngkVVNFX0lOQ0xVREVEX0xJQklOVEwiID0gInh5ZXMiOyB0aGVuCisJSU5UTF9ERVA9JyR7SU5UTF9MSUJESVJ9L2xpYmludGwuYScKKwlJTlRMX0lOQz0nLUkke0lOVExfTElCU1JDfSAtSSR7SU5UTF9CVUlMRERJUn0nCisJTElCSU5UTF9IPScke0lOVExfQlVJTERESVJ9L2xpYmludGwuaCcKK2ZpCitBQ19TVUJTVChJTlRMX0RFUCkKK0FDX1NVQlNUKElOVExfSU5DKQorQUNfU1VCU1QoTElCSU5UTF9IKQorCitkbmwKK2RubCBFbmQgb2YgY2hlY2tzIG5lZWRlZCBieSBmaWxlcyBpbiBsaWIvaW50bAorZG5sCisKK0JBU0hfQ0hFQ0tfTVVMVElCWVRFCisKK2RubCBjaGVja3MgZm9yIHRoZSBkeW5hbWljIGxvYWRpbmcgbGlicmFyeSBmdW5jdGlvbnMgaW4gbGliYyBhbmQgbGliZGwKK2lmIHRlc3QgIiRvcHRfc3RhdGljX2xpbmsiICE9IHllczsgdGhlbgorQUNfQ0hFQ0tfTElCKGRsLCBkbG9wZW4pCitBQ19DSEVDS19GVU5DUyhkbG9wZW4gZGxjbG9zZSBkbHN5bSkKK2ZpCisKK2RubCB0aGlzIGRlZmluZXMgSEFWRV9ERUNMX1NZU19TSUdMSVNUCitBQ19ERUNMX1NZU19TSUdMSVNUCisKK2RubCBuZXR3b3JrIGZ1bmN0aW9ucyAtLSBjaGVjayBmb3IgaW5ldF9hdG9uIGFnYWluCitpZiB0ZXN0ICIkYWNfY3ZfZnVuY19pbmV0X2F0b24iICE9ICd5ZXMnOyB0aGVuCitCQVNIX0ZVTkNfSU5FVF9BVE9OCitmaQorCitkbmwgbGlicmFyaWVzCitkbmwgdGhpcyBpcyByZXBvcnRlZGx5IG5vIGxvbmdlciBuZWNlc3NhcnkgZm9yIGlyaXhbNTZdLj8KK2Nhc2UgIiRob3N0X29zIiBpbgoraXJpeDQqKQlBQ19DSEVDS19MSUIoc3VuLCBnZXRwd2VudCkgOzsKK2VzYWMKKworZG5sIGNoZWNrIGZvciBnZXRwZWVybmFtZSBpbiB0aGUgc29ja2V0IGxpYnJhcnkgb25seSBpZiBpdCdzIG5vdCBpbiBsaWJjCitpZiB0ZXN0ICIkYWNfY3ZfZnVuY19nZXRwZWVybmFtZSIgPSBubzsgdGhlbgorCUJBU0hfQ0hFQ0tfTElCX1NPQ0tFVAorZmkKK2RubCBjaGVjayBmb3IgZ2V0aG9zdGJ5bmFtZSBpbiBzb2NrZXQgbGlicmFyaWVzIGlmIGl0J3Mgbm90IGluIGxpYmMKK2lmIHRlc3QgIiRhY19jdl9mdW5jX2dldGhvc3RieW5hbWUiID0gbm87IHRoZW4KKwlCQVNIX0ZVTkNfR0VUSE9TVEJZTkFNRQorZmkKKworZG5sIHN5c3RlbSB0eXBlcworQUNfVFlQRV9HRVRHUk9VUFMKK0FDX1RZUEVfT0ZGX1QKK0FDX1RZUEVfTU9ERV9UCitBQ19UWVBFX1VJRF9UCitBQ19UWVBFX1BJRF9UCitBQ19UWVBFX1NJWkVfVAorQUNfQ0hFQ0tfVFlQRShzc2l6ZV90LCBpbnQpCitBQ19DSEVDS19UWVBFKHRpbWVfdCwgbG9uZykKKworQkFTSF9UWVBFX0xPTkdfTE9ORworQkFTSF9UWVBFX1VOU0lHTkVEX0xPTkdfTE9ORworCitBQ19UWVBFX1NJR05BTAorQkFTSF9UWVBFX1NJR19BVE9NSUNfVAorCitBQ19DSEVDS19TSVpFT0YoY2hhciwgMSkKK0FDX0NIRUNLX1NJWkVPRihzaG9ydCwgMikKK0FDX0NIRUNLX1NJWkVPRihpbnQsIDQpCitBQ19DSEVDS19TSVpFT0YobG9uZywgNCkKK0FDX0NIRUNLX1NJWkVPRihjaGFyICosIDQpCitBQ19DSEVDS19TSVpFT0YoZG91YmxlLCA4KQorQUNfQ0hFQ0tfU0laRU9GKFtsb25nIGxvbmddLCA4KQorCitBQ19DSEVDS19UWVBFKHVfaW50LCBbdW5zaWduZWQgaW50XSkKK0FDX0NIRUNLX1RZUEUodV9sb25nLCBbdW5zaWduZWQgbG9uZ10pCisKK0JBU0hfVFlQRV9CSVRTMTZfVAorQkFTSF9UWVBFX1VfQklUUzE2X1QKK0JBU0hfVFlQRV9CSVRTMzJfVAorQkFTSF9UWVBFX1VfQklUUzMyX1QKK0JBU0hfVFlQRV9CSVRTNjRfVAorCitCQVNIX1RZUEVfUFRSRElGRl9UCisKK2RubCBzdHJ1Y3R1cmVzCitBQ19IRUFERVJfU1RBVAorCitkbmwgc3lzdGVtIHNlcnZpY2VzCitBQ19TWVNfSU5URVJQUkVURVIKK2lmIHRlc3QgJGFjX2N2X3N5c19pbnRlcnByZXRlciA9IHllczsgdGhlbgorQUNfREVGSU5FKEhBVkVfSEFTSF9CQU5HX0VYRUMpCitmaQorCitkbmwgTWlzY2VsbGFuZW91cyBCYXNoIHRlc3RzCitpZiB0ZXN0ICIkYWNfY3ZfZnVuY19sc3RhdCIgPSAibm8iOyB0aGVuCitCQVNIX0ZVTkNfTFNUQVQKK2ZpCisKK2RubCBiZWhhdmlvciBvZiBzeXN0ZW0gY2FsbHMgYW5kIGxpYnJhcnkgZnVuY3Rpb25zCitCQVNIX0ZVTkNfQ1RZUEVfTk9OQVNDSUkKK0JBU0hfRlVOQ19EVVAyX0NMT0VYRUNfQ0hFQ0sKK0JBU0hfU1lTX1BHUlBfU1lOQworQkFTSF9TWVNfU0lHTkFMX1ZJTlRBR0UKKworZG5sIGNoZWNraW5nIGZvciB0aGUgcHJlc2VuY2Ugb2YgY2VydGFpbiBsaWJyYXJ5IHN5bWJvbHMKK0JBU0hfU1lTX0VSUkxJU1QKK0JBU0hfU1lTX1NJR0xJU1QKK0JBU0hfVU5ERVJfU1lTX1NJR0xJU1QKKworZG5sIHZhcmlvdXMgc3lzdGVtIHR5cGVzCitCQVNIX1RZUEVfU0lHSEFORExFUgorQkFTSF9DSEVDS19UWVBFKGNsb2NrX3QsIFsjaW5jbHVkZSA8c3lzL3RpbWVzLmg+XSwgbG9uZykKK0JBU0hfQ0hFQ0tfVFlQRShzaWdzZXRfdCwgWyNpbmNsdWRlIDxzaWduYWwuaD5dLCBpbnQpCitCQVNIX0NIRUNLX1RZUEUocXVhZF90LCAsIGxvbmcsIEhBVkVfUVVBRF9UKQorQkFTSF9DSEVDS19UWVBFKGludG1heF90LCAsICRiYXNoX2N2X3R5cGVfbG9uZ19sb25nKQorQkFTSF9DSEVDS19UWVBFKHVpbnRtYXhfdCwgLCAkYmFzaF9jdl90eXBlX3Vuc2lnbmVkX2xvbmdfbG9uZykKK2lmIHRlc3QgIiRhY19jdl9oZWFkZXJfc3lzX3NvY2tldF9oIiA9ICJ5ZXMiOyB0aGVuCitCQVNIX0NIRUNLX1RZUEUoc29ja2xlbl90LCBbI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD5dLCBpbnQsIEhBVkVfU09DS0xFTl9UKQorZmkKK0JBU0hfVFlQRV9STElNSVQKKworZG5sIHByZXNlbmNlIGFuZCBjb250ZW50cyBvZiBzdHJ1Y3R1cmVzIHVzZWQgYnkgc3lzdGVtIGNhbGxzCitCQVNIX1NUUlVDVF9URVJNSU9TX0xESVNDCitCQVNIX1NUUlVDVF9URVJNSU9fTERJU0MKK0JBU0hfU1RSVUNUX0RJUkVOVF9EX0lOTworQkFTSF9TVFJVQ1RfRElSRU5UX0RfRklMRU5PCitCQVNIX1NUUlVDVF9ESVJFTlRfRF9OQU1MRU4KK0JBU0hfU1RSVUNUX1dJTlNJWkUKK0JBU0hfU1RSVUNUX1RJTUVWQUwKK0FDX0NIRUNLX01FTUJFUlMoW3N0cnVjdCBzdGF0LnN0X2Jsb2Nrc10pCitBQ19TVFJVQ1RfVE0KK0FDX1NUUlVDVF9USU1FWk9ORQorQkFTSF9TVFJVQ1RfVElNRVpPTkUKKworZG5sIHByZXNlbmNlIGFuZCBiZWhhdmlvciBvZiBDIGxpYnJhcnkgZnVuY3Rpb25zCitCQVNIX0ZVTkNfU1RSU0lHTkFMCitCQVNIX0ZVTkNfT1BFTkRJUl9DSEVDSworQkFTSF9GVU5DX1VMSU1JVF9NQVhGRFMKK0JBU0hfRlVOQ19GUFVSR0UKK0JBU0hfRlVOQ19HRVRFTlYKK2lmIHRlc3QgIiRhY19jdl9mdW5jX2dldGN3ZCIgPSAieWVzIjsgdGhlbgorQkFTSF9GVU5DX0dFVENXRAorZmkKK0JBU0hfRlVOQ19QT1NJWF9TRVRKTVAKK0JBU0hfRlVOQ19TVFJDT0xMCisKK2RubCBJZiBwdXRlbnYgb3IgdW5zZXRlbnYgaXMgbm90IHByZXNlbnQsIHNldCB0aGUgcmlnaHQgZGVmaW5lIHNvIHRoZQorZG5sIHByb3RvdHlwZSBhbmQgZGVjbGFyYXRpb24gaW4gbGliL3NoL2dldGVudi5jIHdpbGwgYmUgc3RhbmRhcmQtY29uZm9ybWFudAorCitpZiB0ZXN0ICIkYWNfY3ZfZnVuY19wdXRlbnYiID0gInllcyI7IHRoZW4KK0JBU0hfRlVOQ19TVERfUFVURU5WCitlbHNlCitBQ19ERUZJTkUoSEFWRV9TVERfUFVURU5WKQorZmkKK2lmIHRlc3QgIiRhY19jdl9mdW5jX3Vuc2V0ZW52IiA9ICJ5ZXMiOyB0aGVuCitCQVNIX0ZVTkNfU1REX1VOU0VURU5WCitlbHNlCitBQ19ERUZJTkUoSEFWRV9TVERfVU5TRVRFTlYpCitmaQorCitCQVNIX0ZVTkNfUFJJTlRGX0FfRk9STUFUCisKK2RubCBwcmVzZW5jZSBhbmQgYmVoYXZpb3Igb2YgT1MgZnVuY3Rpb25zCitCQVNIX1NZU19SRUlOU1RBTExfU0lHSEFORExFUlMKK0JBU0hfU1lTX0pPQl9DT05UUk9MX01JU1NJTkcKK0JBU0hfU1lTX05BTUVEX1BJUEVTCisKK2RubCBwcmVzZW5jZSBvZiBjZXJ0YWluIENQUCBkZWZpbmVzCitBQ19IRUFERVJfVElPQ0dXSU5TWgorQkFTSF9IQVZFX1RJT0NTVEFUCitCQVNIX0hBVkVfRklPTlJFQUQKKworQkFTSF9DSEVDS19XQ09OVElOVUVECisKK2RubCBtaXNjZWxsYW5lb3VzCitCQVNIX0NIRUNLX1NQRUVEX1QKK0JBU0hfQ0hFQ0tfR0VUUFdfRlVOQ1MKK0JBU0hfQ0hFQ0tfUlRTSUdTCitCQVNIX0NIRUNLX1NZU19TSUdMSVNUCisKK2RubCBzcGVjaWFsIGNoZWNrcworY2FzZSAiJGhvc3Rfb3MiIGluCitocHV4KikJQkFTSF9DSEVDS19LRVJORUxfUkxJTUlUIDs7Citlc2FjCisKK2lmIHRlc3QgIiRvcHRfcmVhZGxpbmUiID0geWVzOyB0aGVuCitkbmwgeXVjaworY2FzZSAiJGhvc3Rfb3MiIGluCithaXgqKQlwcmVmZXJfY3Vyc2VzPXllcyA7OworZXNhYworQkFTSF9DSEVDS19MSUJfVEVSTUNBUAorZmkKK0FDX1NVQlNUKFRFUk1DQVBfTElCKQorQUNfU1VCU1QoVEVSTUNBUF9ERVApCisKK0JBU0hfQ0hFQ0tfREVWX0ZECitCQVNIX0NIRUNLX0RFVl9TVERJTgorQkFTSF9TWVNfREVGQVVMVF9NQUlMX0RJUgorCitpZiB0ZXN0ICIkYmFzaF9jdl9qb2JfY29udHJvbF9taXNzaW5nIiA9IG1pc3Npbmc7IHRoZW4KKwlvcHRfam9iX2NvbnRyb2w9bm8KK2ZpCisKK2lmIHRlc3QgIiRvcHRfam9iX2NvbnRyb2wiID0geWVzOyB0aGVuCitBQ19ERUZJTkUoSk9CX0NPTlRST0wpCitKT0JTX089am9icy5vCitlbHNlCitKT0JTX089bm9qb2JzLm8KK2ZpCisKK0FDX1NVQlNUKEpPQlNfTykKKworZG5sIERlZmluZXMgdGhhdCB3ZSB3YW50IHRvIHByb3BhZ2F0ZSB0byB0aGUgTWFrZWZpbGVzIGluIHN1YmRpcmVjdG9yaWVzLAorZG5sIGxpa2UgZ2xvYiBhbmQgcmVhZGxpbmUKKworTE9DQUxfREVGUz0tRFNIRUxMCisKK2RubCB1c2UgdGhpcyBzZWN0aW9uIHRvIHBvc3NpYmx5IGRlZmluZSBtb3JlIGNwcCB2YXJpYWJsZXMsIHNwZWNpZnkgbG9jYWwKK2RubCBsaWJyYXJpZXMsIGFuZCBzcGVjaWZ5IGFueSBhZGRpdGlvbmFsIGxvY2FsIGNjIG9yIGxkIGZsYWdzCitkbmwKK2RubCB0aGlzIHNob3VsZCByZWFsbHkgZ28gYXdheSBzb21lZGF5CisKK2Nhc2UgIiR7aG9zdF9vc30iIGluCitzeXN2NC4yKikJQUNfREVGSU5FKFNWUjRfMikKKwkJQUNfREVGSU5FKFNWUjQpIDs7CitzeXN2NCopCQlBQ19ERUZJTkUoU1ZSNCkgOzsKK3N5c3Y1KikJCUFDX0RFRklORShTVlI1KSA7OworaHB1eDkqKQkJTE9DQUxfQ0ZMQUdTPSItREhQVVg5IC1ESFBVWCIgOzsKK2hwdXgqKQkJTE9DQUxfQ0ZMQUdTPS1ESFBVWCA7OworZGd1eCopCQlMT0NBTF9DRkxBR1M9LURfREdVWF9TT1VSQ0U7IExPQ0FMX0xJQlM9LWxkZ2MgOzsKK2lzYyopCQlMT0NBTF9DRkxBR1M9LURpc2MzODYgOzsKK3JoYXBzb2R5KikJTE9DQUxfQ0ZMQUdTPS1EUkhBUFNPRFkgOzsKK2RhcndpbiopCUxPQ0FMX0NGTEFHUz0tRE1BQ09TWCA7Oworc2NvMy4ydjUqKQlMT0NBTF9DRkxBR1M9Ii1iIGVsZiAtRFdBSVRQSURfQlJPS0VOIC1EUEFUSF9NQVg9MTAyNCIgOzsKK3NjbzMuMnY0KikJTE9DQUxfQ0ZMQUdTPSItRE1VU1RfVU5CTE9DS19DSExEIC1EUEFUSF9NQVg9MTAyNCIgOzsKK3NjbzMuMiopCUxPQ0FMX0NGTEFHUz0tRE1VU1RfVU5CTE9DS19DSExEIDs7CitzdW5vczQqKQlMT0NBTF9DRkxBR1M9LURTdW5PUzQgOzsKK3NvbGFyaXMyLjUqKQlMT0NBTF9DRkxBR1M9Ii1EU3VuT1M1IC1EU09MQVJJUyIgOzsKK3NvbGFyaXMyLjgqKQlMT0NBTF9DRkxBR1M9LURTT0xBUklTICA7Oworc29sYXJpczIuOSopCUxPQ0FMX0NGTEFHUz0tRFNPTEFSSVMgIDs7Citzb2xhcmlzMi4xMCopCUxPQ0FMX0NGTEFHUz0tRFNPTEFSSVMgIDs7Citzb2xhcmlzMiopCUxPQ0FMX0NGTEFHUz0tRFNPTEFSSVMgOzsKK2x5bnhvcyopCUxPQ0FMX0NGTEFHUz0tRFJFQ1lDTEVTX1BJRFMgOzsKK2xpbnV4KikJCUxPQ0FMX0xERkxBR1M9LXJkeW5hbWljCQkgIyBhbGxvdyBkeW5hbWljIGxvYWRpbmcKKwkJY2FzZSAiYHVuYW1lIC1yYCIgaW4KKwkJMi5bWzQ1Njc4OV1dKnwzKikJQUNfREVGSU5FKFBHUlBfUElQRSkgOzsKKwkJZXNhYyA7OworKnFueDYqKQkJTE9DQUxfQ0ZMQUdTPSItRHFueCAtRHFueDYiIExPQ0FMX0xJQlM9Ii1sbmN1cnNlcyIgOzsKKypxbngqKQkJTE9DQUxfQ0ZMQUdTPSItRHFueCAtRiAtM3MiIExPQ0FMX0xERkxBR1M9Ii0zcyIgTE9DQUxfTElCUz0iLWx1bml4IC1sbmN1cnNlcyIgOzsKK3Bvd2VydXgqKQlMT0NBTF9MSUJTPSItbGdlbiIgOzsKK2N5Z3dpbiopCUxPQ0FMX0NGTEFHUz0tRFJFQ1lDTEVTX1BJRFMgOzsKK29wZW5udCp8aW50ZXJpeCopIExPQ0FMX0NGTEFHUz0iLUROT19NQUlOX0VOVl9BUkcgLURCUk9LRU5fRElSRU5UX0RfSU5PIC1EX1BPU0lYX1NPVVJDRSIgOzsKK2VzYWMKKworZG5sIFN0YW56YSBmb3IgT1MvY29tcGlsZXIgcGFpci1zcGVjaWZpYyBmbGFncworY2FzZSAiJHtob3N0X29zfS0ke0NDfSIgaW4KK2FpeDQuMiotKmdjYyopCUxPQ0FMX0xERkxBR1M9Ii1YbGlua2VyIC1iZXhwYWxsIC1YbGlua2VyIC1icnRsIiA7OworYWl4NC4yKikJTE9DQUxfTERGTEFHUz0iLWJleHBhbGwgLWJydGwiIDs7Citic2RpNCotKmdjYyopCUxPQ0FMX0xERkxBR1M9Ii1yZHluYW1pYyIgOzsJIyBhbGxvdyBkeW5hbWljIGxvYWRpbmcsIGxpa2UgTGludXgKK2VzYWMKKworZG5sIEZyZWVCU0QtMy54IGNhbiBoYXZlIGVpdGhlciBhLm91dCBvciBFTEYKK2Nhc2UgIiR7aG9zdF9vc30iIGluCitmcmVlYnNkW1szLTldXSopCisJCWlmIHRlc3QgLXggL3Vzci9iaW4vb2JqZm9ybWF0ICYmIHRlc3QgImAvdXNyL2Jpbi9vYmpmb3JtYXRgIiA9ICJlbGYiIDsgdGhlbgorCQkJTE9DQUxfTERGTEFHUz0tcmR5bmFtaWMgIyBhbGxvdyBkeW5hbWljIGxvYWRpbmcKKwkJZmkgOzsKK2ZyZWVic2RlbGYqKQlMT0NBTF9MREZMQUdTPS1yZHluYW1pYyA7OwkjIGFsbG93IGR5bmFtaWMgbG9hZGluZworZHJhZ29uZmx5KikJTE9DQUxfTERGTEFHUz0tcmR5bmFtaWMgOzsJIyBhbGxvdyBkeW5hbWljIGxvYWRpbmcKK2VzYWMKKworY2FzZSAiJGhvc3RfY3B1IiBpbgorKmNyYXkqKQkJTE9DQUxfQ0ZMQUdTPSItRENSQVkiIDs7ICMgc2hlbGwgdmFyIHNvIGNvbmZpZy5oIGNhbiB1c2UgaXQKK2VzYWMKKworY2FzZSAiJGhvc3RfY3B1LSRob3N0X29zIiBpbgoraWJtcnQtKmJzZDQqKQlMT0NBTF9DRkxBR1M9Ii1tYSAtVV9fU1REQ19fIiA7OworZXNhYworCitjYXNlICIkaG9zdF9jcHUtJGhvc3RfdmVuZG9yLSRob3N0X29zIiBpbgorbTg4ay1tb3Rvcm9sYS1zeXN2MykJTE9DQUxfQ0ZMQUdTPS1EV0FJVFBJRF9CUk9LRU4gOzsKK21pcHMtcHlyYW1pZC1zeXN2NCkJTE9DQUxfQ0ZMQUdTPS1YYSA7OworZXNhYworCisjCisjIFNoYXJlZCBvYmplY3QgY29uZmlndXJhdGlvbiBzZWN0aW9uLiAgVGhlc2UgdmFsdWVzIGFyZSBnZW5lcmF0ZWQgYnkKKyMgJHtzcmNkaXJ9L3N1cHBvcnQvc2hvYmotY29uZgorIworaWYgdGVzdCAiJGFjX2N2X2Z1bmNfZGxvcGVuIiA9ICJ5ZXMiICYmIHRlc3QgLWYgJHtzcmNkaXJ9L3N1cHBvcnQvc2hvYmotY29uZgordGhlbgorCUFDX01TR19DSEVDS0lORyhzaGFyZWQgb2JqZWN0IGNvbmZpZ3VyYXRpb24gZm9yIGxvYWRhYmxlIGJ1aWx0aW5zKQorCWV2YWwgYCR7Q09ORklHX1NIRUxMLS9iaW4vc2h9ICR7c3JjZGlyfS9zdXBwb3J0L3Nob2JqLWNvbmYgLUMgIiR7Q0N9IiAtYyAiJHtob3N0X2NwdX0iIC1vICIke2hvc3Rfb3N9IiAtdiAiJHtob3N0X3ZlbmRvcn0iYAorCUFDX1NVQlNUKFNIT0JKX0NDKQorCUFDX1NVQlNUKFNIT0JKX0NGTEFHUykKKwlBQ19TVUJTVChTSE9CSl9MRCkKKwlBQ19TVUJTVChTSE9CSl9MREZMQUdTKQorCUFDX1NVQlNUKFNIT0JKX1hMREZMQUdTKQorCUFDX1NVQlNUKFNIT0JKX0xJQlMpCisJQUNfU1VCU1QoU0hPQkpfU1RBVFVTKQorCUFDX01TR19SRVNVTFQoJFNIT0JKX1NUQVRVUykKK2ZpCisKKyMgdHJ5IHRvIGNyZWF0ZSBhIGRpcmVjdG9yeSB0cmVlIGlmIHRoZSBzb3VyY2UgaXMgZWxzZXdoZXJlCisjIHRoaXMgc2hvdWxkIGJlIHBhY2thZ2VkIGludG8gYSBzY3JpcHQgYWNjZXNzaWJsZSB2aWEgJHtzcmNkaXJ9L3N1cHBvcnQKK2Nhc2UgIiRzcmNkaXIiIGluCisuKQk7OworKikJZm9yIGQgaW4gZG9jIHRlc3RzIHN1cHBvcnQgbGliIGV4YW1wbGVzOyBkbwkjIGRpcnMKKwkJdGVzdCAtZCAkZCB8fCBta2RpciAkZAorCWRvbmUKKwlmb3IgbGQgaW4gcmVhZGxpbmUgZ2xvYiB0aWxkZSBtYWxsb2Mgc2ggdGVybWNhcDsgZG8JIyBsaWJkaXJzCisJCXRlc3QgLWQgbGliLyRsZCB8fCBta2RpciBsaWIvJGxkCisJZG9uZQorCXRlc3QgLWQgZXhhbXBsZXMvbG9hZGFibGVzIHx8IG1rZGlyIGV4YW1wbGVzL2xvYWRhYmxlcwkjIGxvYWRhYmxlIGJ1aWx0aW5zCisJdGVzdCAtZCBleGFtcGxlcy9sb2FkYWJsZXMvcGVybCB8fCBta2RpciBleGFtcGxlcy9sb2FkYWJsZXMvcGVybAorCTs7Citlc2FjCisKK0JVSUxEX0RJUj1gcHdkYAorY2FzZSAiJEJVSUxEX0RJUiIgaW4KKypcICopCUJVSUxEX0RJUj1gZWNobyAiJEJVSUxEX0RJUiIgfCBzZWQgJ3M6IDpcXFxcIDpnJ2AgOzsKKyopCTs7Citlc2FjCisKK2lmIHRlc3QgLXogIiRsb2NhbGVkaXIiOyB0aGVuCisJbG9jYWxlZGlyPScke2RhdGFyb290ZGlyfS9sb2NhbGUnCitmaQoraWYgdGVzdCAteiAiJGRhdGFyb290ZGlyIjsgdGhlbgorCWRhdGFyb290ZGlyPScke3ByZWZpeH0vc2hhcmUnCitmaQorCitBQ19TVUJTVChQUk9GSUxFX0ZMQUdTKQorCitBQ19TVUJTVChpbmNkaXIpCitBQ19TVUJTVChCVUlMRF9ESVIpCisKKyMgU29tZSB2ZXJzaW9ucyBvZiBhdXRvY29uZiBkb24ndCBzdWJzdGl0dXRlIHRoZXNlIGF1dG9tYXRpY2FsbHkKK0FDX1NVQlNUKGRhdGFyb290ZGlyKQorQUNfU1VCU1QobG9jYWxlZGlyKQorCitBQ19TVUJTVChZQUNDKQorQUNfU1VCU1QoQVIpCitBQ19TVUJTVChBUkZMQUdTKQorCitBQ19TVUJTVChCQVNIVkVSUykKK0FDX1NVQlNUKFJFTFNUQVRVUykKK0FDX1NVQlNUKERFQlVHKQorQUNfU1VCU1QoTUFMTE9DX0RFQlVHKQorCitBQ19TVUJTVChob3N0X2NwdSkKK0FDX1NVQlNUKGhvc3RfdmVuZG9yKQorQUNfU1VCU1QoaG9zdF9vcykKKworQUNfU1VCU1QoTE9DQUxfTElCUykKK0FDX1NVQlNUKExPQ0FMX0NGTEFHUykKK0FDX1NVQlNUKExPQ0FMX0xERkxBR1MpCitBQ19TVUJTVChMT0NBTF9ERUZTKQorCisjQUNfU1VCU1QoQUxMT0NBX1NPVVJDRSkKKyNBQ19TVUJTVChBTExPQ0FfT0JKRUNUKQorCitBQ19PVVRQVVQoW01ha2VmaWxlIGJ1aWx0aW5zL01ha2VmaWxlIGxpYi9yZWFkbGluZS9NYWtlZmlsZSBsaWIvZ2xvYi9NYWtlZmlsZSBcCisJICBsaWIvaW50bC9NYWtlZmlsZSBcCisJICBsaWIvbWFsbG9jL01ha2VmaWxlIGxpYi9zaC9NYWtlZmlsZSBsaWIvdGVybWNhcC9NYWtlZmlsZSBcCisJICBsaWIvdGlsZGUvTWFrZWZpbGUgZG9jL01ha2VmaWxlIHN1cHBvcnQvTWFrZWZpbGUgcG8vTWFrZWZpbGUuaW4gXAorCSAgZXhhbXBsZXMvbG9hZGFibGVzL01ha2VmaWxlIGV4YW1wbGVzL2xvYWRhYmxlcy9wZXJsL01ha2VmaWxlXSwKK1sKKyMgTWFrZWZpbGUgdXNlcyB0aGlzIHRpbWVzdGFtcCBmaWxlIHRvIHJlY29yZCB3aGV0aGVyIGNvbmZpZy5oIGlzIHVwIHRvIGRhdGUuCitlY2hvIHRpbWVzdGFtcCA+IHN0YW1wLWgKK10pCmRpZmYgLS1naXQgYS9jb25maWd1cmUuaW4ub3JpZyBiL2NvbmZpZ3VyZS5pbi5vcmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmMzAxMmUKLS0tIC9kZXYvbnVsbAorKysgYi9jb25maWd1cmUuaW4ub3JpZwpAQCAtMCwwICsxLDExNDUgQEAKK2RubAorZG5sIENvbmZpZ3VyZSBzY3JpcHQgZm9yIGJhc2gtNC4wCitkbmwKK2RubCByZXBvcnQgYnVncyB0byBjaGV0QHBvLmN3cnUuZWR1CitkbmwKK2RubCBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9jb25mIHRvIHByb2R1Y2UgYSBjb25maWd1cmUgc2NyaXB0LgorCisjIENvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisjCisjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisKK0FDX1JFVklTSU9OKFtmb3IgQmFzaCA0LjAsIHZlcnNpb24gNC4wMTNdKWRubAorCitkZWZpbmUoYmFzaHZlcnMsIDQuMCkKK2RlZmluZShyZWxzdGF0dXMsIHJlbGVhc2UpCisKK0FDX0lOSVQoW2Jhc2hdLCBiYXNodmVycy1yZWxzdGF0dXMsIFtidWctYmFzaEBnbnUub3JnXSkKKworZG5sIG1ha2Ugc3VyZSB3ZSBhcmUgdXNpbmcgYSByZWNlbnQgYXV0b2NvbmYgdmVyc2lvbgorQUNfUFJFUkVRKDIuNTApCisKK0FDX0NPTkZJR19TUkNESVIoc2hlbGwuaCkKK2RubCB3aGVyZSB0byBmaW5kIGluc3RhbGwuc2gsIGNvbmZpZy5zdWIsIGFuZCBjb25maWcuZ3Vlc3MKK0FDX0NPTkZJR19BVVhfRElSKC4vc3VwcG9ydCkKK0FDX0NPTkZJR19IRUFERVJTKGNvbmZpZy5oKQorCitkbmwgY2hlY2tzIGZvciB2ZXJzaW9uIGluZm8KK0JBU0hWRVJTPWJhc2h2ZXJzCitSRUxTVEFUVVM9cmVsc3RhdHVzCisKK2RubCBkZWZhdWx0cyBmb3IgZGVidWcgc2V0dGluZ3MKK2Nhc2UgIiRSRUxTVEFUVVMiIGluCithbHAqfGJldCp8ZGV2KnxyYyp8bWFpbnQqKQlERUJVRz0nLURERUJVRycgTUFMTE9DX0RFQlVHPSctRE1BTExPQ19ERUJVRycgOzsKKyopCURFQlVHPSBNQUxMT0NfREVCVUc9IDs7Citlc2FjCisKK2RubCBjYW5vbmljYWxpemUgdGhlIGhvc3QgYW5kIG9zIHNvIHdlIGNhbiBkbyBzb21lIHRyaWNreSB0aGluZ3MgYmVmb3JlCitkbmwgcGFyc2luZyBvcHRpb25zCitBQ19DQU5PTklDQUxfSE9TVAorCitkbmwgY29uZmlndXJlIGRlZmF1bHRzCitvcHRfYmFzaF9tYWxsb2M9eWVzCitvcHRfcHVyaWZ5PW5vCitvcHRfcHVyZWNvdj1ubworb3B0X2Fmcz1ubworb3B0X2N1cnNlcz1ubworb3B0X3dpdGhfaW5zdGFsbGVkX3JlYWRsaW5lPW5vCisKKyNodG1sZGlyPQorCitkbmwgc29tZSBzeXN0ZW1zIHNob3VsZCBiZSBjb25maWd1cmVkIHdpdGhvdXQgdGhlIGJhc2ggbWFsbG9jIGJ5IGRlZmF1bHQKK2RubCBhbmQgc29tZSBuZWVkIGEgc3BlY2lhbCBjb21waWxlciBvciBsb2FkZXIKK2RubCBsb29rIGluIHRoZSBOT1RFUyBmaWxlIGZvciBtb3JlCitjYXNlICIke2hvc3RfY3B1fS0ke2hvc3Rfb3N9IiBpbgorYWxwaGEqLSopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIGFscGhhIHJ1bm5pbmcgb3NmLzEgb3IgbGludXgKKypbW0NjXV1yYXkqLSopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIENyYXlzCisqLW9zZjEqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBvdGhlciBvc2YvMSBtYWNoaW5lcworc3BhcmMtc3ZyNCopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIHNwYXJjIFNWUjQsIFNWUjQuMgorc3BhcmMtbmV0YnNkKikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgbmVlZHMgOC1ieXRlIGFsaWdubWVudAorbWlwcy1pcml4NiopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIG5lZWRzIDgtYnl0ZSBhbGlnbm1lbnQKK202OGstc3lzdikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgZml4ZXMgZmlsZSBkZXNjcmlwdG9yIGxlYWsgaW4gY2xvc2VkaXIKK3NwYXJjLWxpbnV4KikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgc3BhcmMgcnVubmluZyBsaW51eDsgcmVxdWlyZXMgRUxGCisjKi1mcmVlYnNkKi1nbnUpCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIHRoZXJlJ3Mgc29tZSB1bmRldGVybWluZWQgcHJvYmxlbSBoZXJlCisjKi1mcmVlYnNkKikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgdGhleSBjbGFpbSBpdCdzIGJldHRlcjsgSSBkaXNhZ3JlZQorKi1vcGVuYnNkKikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgdGhleSBjbGFpbSBpdCBuZWVkcyBlaWdodC1iaXQgYWxpZ25tZW50CisqLWFpeCopCQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBBSVggbWFjaGluZXMKKyotbmV4dHN0ZXAqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBOZVhUIG1hY2hpbmVzIHJ1bm5pbmcgTmVYVHN0ZXAKKyotbWFjb3MqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBBcHBsZSBNYWNPUyBYCisqLXJoYXBzb2R5KikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgQXBwbGUgUmhhcHNvZHkgKE1hY09TIFgpCisqLWRhcndpbiopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIEFwcGxlIERhcndpbiAoTWFjT1MgWCkKKyotZGd1eCopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIERHL1VYIG1hY2hpbmVzCisqLXFueCopCQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBRTlggNC4yLCBRTlggNi54CisqLW1hY2h0ZW40KQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBNYWNoVGVuIDQueAorKi1ic2RpMi4xfCotYnNkaTMuPykJb3B0X2Jhc2hfbWFsbG9jPW5vIDsgOiAke0NDOj1zaGxpY2MyfSA7OyAjIGZvciBsb2FkYWJsZSBidWlsdGlucworKi1iZW9zKikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgdGhleSBzYXkgaXQncyBzdWl0YWJsZQorKi1jeWd3aW4qKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBDeWdudXMncyBDWUdXSU4gZW52aXJvbm1lbnQKKyotb3Blbm50KnwqLWludGVyaXgqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBJbnRlcml4LCBub3cgb3duZWQgYnkgTWljcm9zb2Z0Citlc2FjCisKKyMgbWVtb3J5IHNjcmFtYmxpbmcgb24gZnJlZSgpCitjYXNlICIke2hvc3Rfb3N9IiBpbgorc2NvMy4ydjUqfHNjbzMuMnY0KikJb3B0X21lbXNjcmFtYmxlPW5vIDs7CisqKQkJCW9wdF9tZW1zY3JhbWJsZT15ZXMgOzsKK2VzYWMKKworZG5sCitkbmwgbWFjcm9zIGZvciB0aGUgYmFzaCBkZWJ1Z2dlcgorZG5sCitBTV9QQVRIX0xJU1BESVIKK0FDX0FSR19WQVIoREVCVUdHRVJfU1RBUlRfRklMRSwgW2xvY2F0aW9uIG9mIGJhc2ggZGVidWdnZXIgaW5pdGlhbGl6YXRpb24gZmlsZV0pCisKK2RubCBhcmd1bWVudHMgdG8gY29uZmlndXJlCitkbmwgcGFja2FnZXMKK0FDX0FSR19XSVRIKGFmcywgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1hZnNdLCBbaWYgeW91IGFyZSBydW5uaW5nIEFGU10pLCBvcHRfYWZzPSR3aXRodmFsKQorQUNfQVJHX1dJVEgoYmFzaC1tYWxsb2MsIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtYmFzaC1tYWxsb2NdLCBbdXNlIHRoZSBCYXNoIHZlcnNpb24gb2YgbWFsbG9jXSksIG9wdF9iYXNoX21hbGxvYz0kd2l0aHZhbCkKK0FDX0FSR19XSVRIKGN1cnNlcywgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1jdXJzZXNdLCBbdXNlIHRoZSBjdXJzZXMgbGlicmFyeSBpbnN0ZWFkIG9mIHRoZSB0ZXJtY2FwIGxpYnJhcnldKSwgb3B0X2N1cnNlcz0kd2l0aHZhbCkKK0FDX0FSR19XSVRIKGdudS1tYWxsb2MsIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtZ251LW1hbGxvY10sIFtzeW5vbnltIGZvciAtLXdpdGgtYmFzaC1tYWxsb2NdKSwgb3B0X2Jhc2hfbWFsbG9jPSR3aXRodmFsKQorQUNfQVJHX1dJVEgoaW5zdGFsbGVkLXJlYWRsaW5lLCBBQ19IRUxQX1NUUklORyhbLS13aXRoLWluc3RhbGxlZC1yZWFkbGluZV0sIFt1c2UgYSB2ZXJzaW9uIG9mIHRoZSByZWFkbGluZSBsaWJyYXJ5IHRoYXQgaXMgYWxyZWFkeSBpbnN0YWxsZWRdKSwgb3B0X3dpdGhfaW5zdGFsbGVkX3JlYWRsaW5lPSR3aXRodmFsKQorQUNfQVJHX1dJVEgocHVyZWNvdiwgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1wdXJlY292XSwgW2NvbmZpZ3VyZSB0byBwb3N0cHJvY2VzcyB3aXRoIHB1cmUgY292ZXJhZ2VdKSwgb3B0X3B1cmVjb3Y9JHdpdGh2YWwpCitBQ19BUkdfV0lUSChwdXJpZnksIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtcHVyaWZ5XSwgW2NvbmZpZ3VyZSB0byBwb3N0cHJvY2VzcyB3aXRoIHB1cmlmeV0pLCBvcHRfcHVyaWZ5PSR3aXRodmFsKQorCitpZiB0ZXN0ICIkb3B0X2Jhc2hfbWFsbG9jIiA9IHllczsgdGhlbgorCU1BTExPQ19UQVJHRVQ9bWFsbG9jCisJTUFMTE9DX1NSQz1tYWxsb2MuYworCisJTUFMTE9DX0xJQj0nLWxtYWxsb2MnCisJTUFMTE9DX0xJQlJBUlk9JyQoQUxMT0NfTElCRElSKS9saWJtYWxsb2MuYScKKwlNQUxMT0NfTERGTEFHUz0nLUwkKEFMTE9DX0xJQkRJUiknCisJTUFMTE9DX0RFUD0nJChNQUxMT0NfTElCUkFSWSknCisKKwlBQ19ERUZJTkUoVVNJTkdfQkFTSF9NQUxMT0MpCitlbHNlCisJTUFMTE9DX0xJQj0KKwlNQUxMT0NfTElCUkFSWT0KKwlNQUxMT0NfTERGTEFHUz0KKwlNQUxMT0NfREVQPQkKK2ZpCisKK2lmIHRlc3QgIiRvcHRfcHVyaWZ5IiA9IHllczsgdGhlbgorCVBVUklGWT0icHVyaWZ5ICIKKwlBQ19ERUZJTkUoRElTQUJMRV9NQUxMT0NfV1JBUFBFUlMpCitlbHNlCisJUFVSSUZZPQorZmkKKworaWYgdGVzdCAiJG9wdF9wdXJlY292IiA9IHllczsgdGhlbgorCVBVUklGWT0iJHtQVVJJRll9cHVyZWNvdiIKK2ZpCisKK2lmIHRlc3QgIiRvcHRfYWZzIiA9IHllczsgdGhlbgorCUFDX0RFRklORShBRlMpCitmaQorCitpZiB0ZXN0ICIkb3B0X2N1cnNlcyIgPSB5ZXM7IHRoZW4KKwlwcmVmZXJfY3Vyc2VzPXllcworZmkKKworaWYgdGVzdCAteiAiJHtERUJVR0dFUl9TVEFSVF9GSUxFfSI7IHRoZW4KKwlERUJVR0dFUl9TVEFSVF9GSUxFPScke2RhdGFkaXJ9L2Jhc2hkYi9iYXNoZGItbWFpbi5pbmMnCitmaQorCitkbmwgb3B0aW9uYWwgc2hlbGwgZmVhdHVyZXMgaW4gY29uZmlnLmguaW4KK29wdF9taW5pbWFsX2NvbmZpZz1ubworCitvcHRfam9iX2NvbnRyb2w9eWVzCitvcHRfYWxpYXM9eWVzCitvcHRfcmVhZGxpbmU9eWVzCitvcHRfaGlzdG9yeT15ZXMKK29wdF9iYW5nX2hpc3Rvcnk9eWVzCitvcHRfZGlyc3RhY2s9eWVzCitvcHRfcmVzdHJpY3RlZD15ZXMKK29wdF9wcm9jZXNzX3N1YnN0PXllcworb3B0X3Byb21wdF9kZWNvZGluZz15ZXMKK29wdF9zZWxlY3Q9eWVzCitvcHRfaGVscD15ZXMKK29wdF9hcnJheV92YXJpYWJsZXM9eWVzCitvcHRfZHBhcmVuX2FyaXRoPXllcworb3B0X2V4dGVuZGVkX2dsb2I9eWVzCitvcHRfYnJhY2VfZXhwYW5zaW9uPXllcworb3B0X2Rpc2FibGVkX2J1aWx0aW5zPW5vCitvcHRfY29tbWFuZF90aW1pbmc9eWVzCitvcHRfeHBnX2VjaG89bm8KK29wdF9zdHJpY3RfcG9zaXg9bm8KK29wdF9jb25kX2NvbW1hbmQ9eWVzCitvcHRfY29uZF9yZWdleHA9eWVzCitvcHRfY29wcm9jPXllcworb3B0X2FyaXRoX2Zvcl9jb21tYW5kPXllcworb3B0X25ldF9yZWRpcnM9eWVzCitvcHRfcHJvZ2NvbXA9eWVzCitvcHRfc2VwYXJhdGVfaGVscD1ubworb3B0X211bHRpYnl0ZT15ZXMKK29wdF9kZWJ1Z2dlcj15ZXMKK29wdF9zaW5nbGVfbG9uZ2RvY19zdHJpbmdzPXllcworb3B0X2Nhc2Vtb2RfYXR0cnM9eWVzCitvcHRfY2FzZW1vZF9leHBhbnNpb25zPXllcworCitkbmwgb3B0aW9ucyB0aGF0IGFmZmVjdCBob3cgYmFzaCBpcyBjb21waWxlZCBhbmQgbGlua2VkCitvcHRfc3RhdGljX2xpbms9bm8KK29wdF9wcm9maWxpbmc9bm8KKworZG5sIGFyZ3VtZW50IHBhcnNpbmcgZm9yIG9wdGlvbmFsIGZlYXR1cmVzCitBQ19BUkdfRU5BQkxFKG1pbmltYWwtY29uZmlnLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtbWluaW1hbC1jb25maWddLCBbYSBtaW5pbWFsIHNoLWxpa2UgY29uZmlndXJhdGlvbl0pLCBvcHRfbWluaW1hbF9jb25maWc9JGVuYWJsZXZhbCkKKworZG5sIGEgbWluaW1hbCBjb25maWd1cmF0aW9uIHR1cm5zIGV2ZXJ5dGhpbmcgb2ZmLCBidXQgZmVhdHVyZXMgY2FuIGJlCitkbmwgYWRkZWQgaW5kaXZpZHVhbGx5CitpZiB0ZXN0ICRvcHRfbWluaW1hbF9jb25maWcgPSB5ZXM7IHRoZW4KKwlvcHRfam9iX2NvbnRyb2w9bm8gb3B0X2FsaWFzPW5vIG9wdF9yZWFkbGluZT1ubworCW9wdF9oaXN0b3J5PW5vIG9wdF9iYW5nX2hpc3Rvcnk9bm8gb3B0X2RpcnN0YWNrPW5vCisJb3B0X3Jlc3RyaWN0ZWQ9bm8gb3B0X3Byb2Nlc3Nfc3Vic3Q9bm8gb3B0X3Byb21wdF9kZWNvZGluZz1ubworCW9wdF9zZWxlY3Q9bm8gb3B0X2hlbHA9bm8gb3B0X2FycmF5X3ZhcmlhYmxlcz1ubyBvcHRfZHBhcmVuX2FyaXRoPW5vCisJb3B0X2JyYWNlX2V4cGFuc2lvbj1ubyBvcHRfZGlzYWJsZWRfYnVpbHRpbnM9bm8gb3B0X2NvbW1hbmRfdGltaW5nPW5vCisJb3B0X2V4dGVuZGVkX2dsb2I9bm8gb3B0X2NvbmRfY29tbWFuZD1ubyBvcHRfYXJpdGhfZm9yX2NvbW1hbmQ9bm8KKwlvcHRfbmV0X3JlZGlycz1ubyBvcHRfcHJvZ2NvbXA9bm8gb3B0X3NlcGFyYXRlX2hlbHA9bm8KKwlvcHRfbXVsdGlieXRlPXllcyBvcHRfY29uZF9yZWdleHA9bm8gb3B0X2NvcHJvYz1ubworCW9wdF9jYXNlbW9kX2F0dHJzPW5vIG9wdF9jYXNlbW9kX2V4cGFuc2lvbnM9bm8KK2ZpCisKK0FDX0FSR19FTkFCTEUoYWxpYXMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hbGlhc10sIFtlbmFibGUgc2hlbGwgYWxpYXNlc10pLCBvcHRfYWxpYXM9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoYXJpdGgtZm9yLWNvbW1hbmQsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hcml0aC1mb3ItY29tbWFuZF0sIFtlbmFibGUgYXJpdGhtZXRpYyBmb3IgY29tbWFuZF0pLCBvcHRfYXJpdGhfZm9yX2NvbW1hbmQ9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoYXJyYXktdmFyaWFibGVzLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtYXJyYXktdmFyaWFibGVzXSwgW2luY2x1ZGUgc2hlbGwgYXJyYXkgdmFyaWFibGVzXSksIG9wdF9hcnJheV92YXJpYWJsZXM9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoYmFuZy1oaXN0b3J5LCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtYmFuZy1oaXN0b3J5XSwgW3R1cm4gb24gY3NoLXN0eWxlIGhpc3Rvcnkgc3Vic3RpdHV0aW9uXSksIG9wdF9iYW5nX2hpc3Rvcnk9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoYnJhY2UtZXhwYW5zaW9uLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtYnJhY2UtZXhwYW5zaW9uXSwgW2luY2x1ZGUgYnJhY2UgZXhwYW5zaW9uXSksIG9wdF9icmFjZV9leHBhbnNpb249JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoY2FzZW1vZC1hdHRyaWJ1dGVzLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtY2FzZW1vZC1hdHRyaWJ1dGVzXSwgW2luY2x1ZGUgY2FzZS1tb2RpZnlpbmcgdmFyaWFibGUgYXR0cmlidXRlc10pLCBvcHRfY2FzZW1vZF9hdHRycz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShjYXNlbW9kLWV4cGFuc2lvbnMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jYXNlbW9kLWV4cGFuc2lvbnNdLCBbaW5jbHVkZSBjYXNlLW1vZGlmeWluZyB3b3JkIGV4cGFuc2lvbnNdKSwgb3B0X2Nhc2Vtb2RfZXhwYW5zaW9ucz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShjb21tYW5kLXRpbWluZywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWNvbW1hbmQtdGltaW5nXSwgW2VuYWJsZSB0aGUgdGltZSByZXNlcnZlZCB3b3JkIGFuZCBjb21tYW5kIHRpbWluZ10pLCBvcHRfY29tbWFuZF90aW1pbmc9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoY29uZC1jb21tYW5kLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtY29uZC1jb21tYW5kXSwgW2VuYWJsZSB0aGUgY29uZGl0aW9uYWwgY29tbWFuZF0pLCBvcHRfY29uZF9jb21tYW5kPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGNvbmQtcmVnZXhwLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtY29uZC1yZWdleHBdLCBbZW5hYmxlIGV4dGVuZGVkIHJlZ3VsYXIgZXhwcmVzc2lvbiBtYXRjaGluZyBpbiBjb25kaXRpb25hbCBjb21tYW5kc10pLCBvcHRfY29uZF9yZWdleHA9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoY29wcm9jZXNzZXMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jb3Byb2Nlc3Nlc10sIFtlbmFibGUgY29wcm9jZXNzIHN1cHBvcnQgYW5kIHRoZSBjb3Byb2MgcmVzZXJ2ZWQgd29yZF0pLCBvcHRfY29wcm9jPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGRlYnVnZ2VyLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZGVidWdnZXJdLCBbZW5hYmxlIHN1cHBvcnQgZm9yIGJhc2ggZGVidWdnZXJdKSwgb3B0X2RlYnVnZ2VyPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGRpcmVjdG9yeS1zdGFjaywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWRpcmVjdG9yeS1zdGFja10sIFtlbmFibGUgYnVpbHRpbnMgcHVzaGQvcG9wZC9kaXJzXSksIG9wdF9kaXJzdGFjaz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShkaXNhYmxlZC1idWlsdGlucywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWRpc2FibGVkLWJ1aWx0aW5zXSwgW2FsbG93IGRpc2FibGVkIGJ1aWx0aW5zIHRvIHN0aWxsIGJlIGludm9rZWRdKSwgb3B0X2Rpc2FibGVkX2J1aWx0aW5zPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGRwYXJlbi1hcml0aG1ldGljLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZHBhcmVuLWFyaXRobWV0aWNdLCBbaW5jbHVkZSAoKC4uLikpIGNvbW1hbmRdKSwgb3B0X2RwYXJlbl9hcml0aD0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShleHRlbmRlZC1nbG9iLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZXh0ZW5kZWQtZ2xvYl0sIFtpbmNsdWRlIGtzaC1zdHlsZSBleHRlbmRlZCBwYXR0ZXJuIG1hdGNoaW5nXSksIG9wdF9leHRlbmRlZF9nbG9iPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGhlbHAtYnVpbHRpbiwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWhlbHAtYnVpbHRpbl0sIFtpbmNsdWRlIHRoZSBoZWxwIGJ1aWx0aW5dKSwgb3B0X2hlbHA9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoaGlzdG9yeSwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWhpc3RvcnldLCBbdHVybiBvbiBjb21tYW5kIGhpc3RvcnldKSwgb3B0X2hpc3Rvcnk9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoam9iLWNvbnRyb2wsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1qb2ItY29udHJvbF0sIFtlbmFibGUgam9iIGNvbnRyb2wgZmVhdHVyZXNdKSwgb3B0X2pvYl9jb250cm9sPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKG11bHRpYnl0ZSwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLW11bHRpYnl0ZV0sIFtlbmFibGUgbXVsdGlieXRlIGNoYXJhY3RlcnMgaWYgT1Mgc3VwcG9ydHMgdGhlbV0pLCBvcHRfbXVsdGlieXRlPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKG5ldC1yZWRpcmVjdGlvbnMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1uZXQtcmVkaXJlY3Rpb25zXSwgW2VuYWJsZSAvZGV2L3RjcC9ob3N0L3BvcnQgcmVkaXJlY3Rpb25dKSwgb3B0X25ldF9yZWRpcnM9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUocHJvY2Vzcy1zdWJzdGl0dXRpb24sIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1wcm9jZXNzLXN1YnN0aXR1dGlvbl0sIFtlbmFibGUgcHJvY2VzcyBzdWJzdGl0dXRpb25dKSwgb3B0X3Byb2Nlc3Nfc3Vic3Q9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUocHJvZ2NvbXAsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1wcm9nY29tcF0sIFtlbmFibGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gYW5kIHRoZSBjb21wbGV0ZSBidWlsdGluXSksIG9wdF9wcm9nY29tcD0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShwcm9tcHQtc3RyaW5nLWRlY29kaW5nLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtcHJvbXB0LXN0cmluZy1kZWNvZGluZ10sIFt0dXJuIG9uIGVzY2FwZSBjaGFyYWN0ZXIgZGVjb2RpbmcgaW4gcHJvbXB0c10pLCBvcHRfcHJvbXB0X2RlY29kaW5nPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKHJlYWRsaW5lLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtcmVhZGxpbmVdLCBbdHVybiBvbiBjb21tYW5kIGxpbmUgZWRpdGluZ10pLCBvcHRfcmVhZGxpbmU9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUocmVzdHJpY3RlZCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXJlc3RyaWN0ZWRdLCBbZW5hYmxlIGEgcmVzdHJpY3RlZCBzaGVsbF0pLCBvcHRfcmVzdHJpY3RlZD0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShzZWxlY3QsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zZWxlY3RdLCBbaW5jbHVkZSBzZWxlY3QgY29tbWFuZF0pLCBvcHRfc2VsZWN0PSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKHNlcGFyYXRlLWhlbHBmaWxlcywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXNlcGFyYXRlLWhlbHBmaWxlc10sIFt1c2UgZXh0ZXJuYWwgZmlsZXMgZm9yIGhlbHAgYnVpbHRpbiBkb2N1bWVudGF0aW9uXSksIG9wdF9zZXBhcmF0ZV9oZWxwPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKHNpbmdsZS1oZWxwLXN0cmluZ3MsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zaW5nbGUtaGVscC1zdHJpbmdzXSwgW3N0b3JlIGhlbHAgZG9jdW1lbnRhdGlvbiBhcyBhIHNpbmdsZSBzdHJpbmcgdG8gZWFzZSB0cmFuc2xhdGlvbl0pLCBvcHRfc2luZ2xlX2xvbmdkb2Nfc3RyaW5ncz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShzdHJpY3QtcG9zaXgtZGVmYXVsdCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXN0cmljdC1wb3NpeC1kZWZhdWx0XSwgW2NvbmZpZ3VyZSBiYXNoIHRvIGJlIHBvc2l4LWNvbmZvcm1hbnQgYnkgZGVmYXVsdF0pLCBvcHRfc3RyaWN0X3Bvc2l4PSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKHVzZy1lY2hvLWRlZmF1bHQsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS11c2ctZWNoby1kZWZhdWx0XSwgW2Egc3lub255bSBmb3IgLS1lbmFibGUteHBnLWVjaG8tZGVmYXVsdF0pLCBvcHRfeHBnX2VjaG89JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoeHBnLWVjaG8tZGVmYXVsdCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXhwZy1lY2hvLWRlZmF1bHRdLCBbbWFrZSB0aGUgZWNobyBidWlsdGluIGV4cGFuZCBlc2NhcGUgc2VxdWVuY2VzIGJ5IGRlZmF1bHRdKSwgb3B0X3hwZ19lY2hvPSRlbmFibGV2YWwpCisKK2RubCBvcHRpb25zIHRoYXQgYWx0ZXIgaG93IGJhc2ggaXMgY29tcGlsZWQgYW5kIGxpbmtlZAorQUNfQVJHX0VOQUJMRShtZW0tc2NyYW1ibGUsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1tZW0tc2NyYW1ibGVdLCBbc2NyYW1ibGUgbWVtb3J5IG9uIGNhbGxzIHRvIG1hbGxvYyBhbmQgZnJlZV0pLCBvcHRfbWVtc2NyYW1ibGU9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUocHJvZmlsaW5nLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtcHJvZmlsaW5nXSwgW2FsbG93IHByb2ZpbGluZyB3aXRoIGdwcm9mXSksIG9wdF9wcm9maWxpbmc9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoc3RhdGljLWxpbmssIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zdGF0aWMtbGlua10sIFtsaW5rIGJhc2ggc3RhdGljYWxseSwgZm9yIHVzZSBhcyBhIHJvb3Qgc2hlbGxdKSwgb3B0X3N0YXRpY19saW5rPSRlbmFibGV2YWwpCisKK2RubCBvcHRfam9iX2NvbnRyb2wgaXMgaGFuZGxlZCBsYXRlciwgYWZ0ZXIgQkFTSF9KT0JfQ09OVFJPTF9NSVNTSU5HIHJ1bnMKKworZG5sIG9wdF9yZWFkbGluZSBhbmQgb3B0X2hpc3RvcnkgYXJlIGhhbmRsZWQgbGF0ZXIsIGJlY2F1c2UgQUNfUFJPR19DQyBuZWVkcworZG5sIHRvIGJlIHJ1biBiZWZvcmUgd2UgY2FuIGNoZWNrIHRoZSB2ZXJzaW9uIG9mIGFuIGFscmVhZHktaW5zdGFsbGVkIHJlYWRsaW5lCitkbmwgbGlicmFyeQorCitpZiB0ZXN0ICRvcHRfYWxpYXMgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShBTElBUykKK2ZpCitpZiB0ZXN0ICRvcHRfZGlyc3RhY2sgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShQVVNIRF9BTkRfUE9QRCkKK2ZpCitpZiB0ZXN0ICRvcHRfcmVzdHJpY3RlZCA9IHllczsgdGhlbgorQUNfREVGSU5FKFJFU1RSSUNURURfU0hFTEwpCitmaQoraWYgdGVzdCAkb3B0X3Byb2Nlc3Nfc3Vic3QgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShQUk9DRVNTX1NVQlNUSVRVVElPTikKK2ZpCitpZiB0ZXN0ICRvcHRfcHJvbXB0X2RlY29kaW5nID0geWVzOyB0aGVuCitBQ19ERUZJTkUoUFJPTVBUX1NUUklOR19ERUNPREUpCitmaQoraWYgdGVzdCAkb3B0X3NlbGVjdCA9IHllczsgdGhlbgorQUNfREVGSU5FKFNFTEVDVF9DT01NQU5EKQorZmkKK2lmIHRlc3QgJG9wdF9oZWxwID0geWVzOyB0aGVuCitBQ19ERUZJTkUoSEVMUF9CVUlMVElOKQorZmkKK2lmIHRlc3QgJG9wdF9hcnJheV92YXJpYWJsZXMgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShBUlJBWV9WQVJTKQorZmkKK2lmIHRlc3QgJG9wdF9kcGFyZW5fYXJpdGggPSB5ZXM7IHRoZW4KK0FDX0RFRklORShEUEFSRU5fQVJJVEhNRVRJQykKK2ZpCitpZiB0ZXN0ICRvcHRfYnJhY2VfZXhwYW5zaW9uID0geWVzOyB0aGVuCitBQ19ERUZJTkUoQlJBQ0VfRVhQQU5TSU9OKQorZmkKK2lmIHRlc3QgJG9wdF9kaXNhYmxlZF9idWlsdGlucyA9IHllczsgdGhlbgorQUNfREVGSU5FKERJU0FCTEVEX0JVSUxUSU5TKQorZmkKK2lmIHRlc3QgJG9wdF9jb21tYW5kX3RpbWluZyA9IHllczsgdGhlbgorQUNfREVGSU5FKENPTU1BTkRfVElNSU5HKQorZmkKK2lmIHRlc3QgJG9wdF94cGdfZWNobyA9IHllcyA7IHRoZW4KK0FDX0RFRklORShERUZBVUxUX0VDSE9fVE9fWFBHKQorZmkKK2lmIHRlc3QgJG9wdF9zdHJpY3RfcG9zaXggPSB5ZXM7IHRoZW4KK0FDX0RFRklORShTVFJJQ1RfUE9TSVgpCitmaQoraWYgdGVzdCAkb3B0X2V4dGVuZGVkX2dsb2IgPSB5ZXMgOyB0aGVuCitBQ19ERUZJTkUoRVhURU5ERURfR0xPQikKK2ZpCitpZiB0ZXN0ICRvcHRfY29uZF9jb21tYW5kID0geWVzIDsgdGhlbgorQUNfREVGSU5FKENPTkRfQ09NTUFORCkKK2ZpCitpZiB0ZXN0ICRvcHRfY29uZF9yZWdleHAgPSB5ZXMgOyB0aGVuCitBQ19ERUZJTkUoQ09ORF9SRUdFWFApCitmaQoraWYgdGVzdCAkb3B0X2NvcHJvYyA9IHllczsgdGhlbgorQUNfREVGSU5FKENPUFJPQ0VTU19TVVBQT1JUKQorZmkKK2lmIHRlc3QgJG9wdF9hcml0aF9mb3JfY29tbWFuZCA9IHllczsgdGhlbgorQUNfREVGSU5FKEFSSVRIX0ZPUl9DT01NQU5EKQorZmkKK2lmIHRlc3QgJG9wdF9uZXRfcmVkaXJzID0geWVzOyB0aGVuCitBQ19ERUZJTkUoTkVUV09SS19SRURJUkVDVElPTlMpCitmaQoraWYgdGVzdCAkb3B0X3Byb2djb21wID0geWVzOyB0aGVuCitBQ19ERUZJTkUoUFJPR1JBTU1BQkxFX0NPTVBMRVRJT04pCitmaQoraWYgdGVzdCAkb3B0X211bHRpYnl0ZSA9IG5vOyB0aGVuCitBQ19ERUZJTkUoTk9fTVVMVElCWVRFX1NVUFBPUlQpCitmaQoraWYgdGVzdCAkb3B0X2RlYnVnZ2VyID0geWVzOyB0aGVuCitBQ19ERUZJTkUoREVCVUdHRVIpCitmaQoraWYgdGVzdCAkb3B0X2Nhc2Vtb2RfYXR0cnMgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShDQVNFTU9EX0FUVFJTKQorZmkKK2lmIHRlc3QgJG9wdF9jYXNlbW9kX2V4cGFuc2lvbnMgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShDQVNFTU9EX0VYUEFOU0lPTlMpCitmaQorCitpZiB0ZXN0ICRvcHRfbWVtc2NyYW1ibGUgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShNRU1TQ1JBTUJMRSkKK2ZpCisKK2lmIHRlc3QgIiRvcHRfbWluaW1hbF9jb25maWciID0geWVzOyB0aGVuCisJVEVTVFNDUklQVD1ydW4tbWluaW1hbAorZWxzZQorCVRFU1RTQ1JJUFQ9cnVuLWFsbAorZmkKKworSEVMUERJUj0gSEVMUERJUkRFRklORT0gSEVMUElOU1RBTEw9CitpZiB0ZXN0ICIkb3B0X3NlcGFyYXRlX2hlbHAiICE9IG5vOyB0aGVuCisJaWYgdGVzdCAiJG9wdF9zZXBhcmF0ZV9oZWxwIiA9ICJ5ZXMiIDsgdGhlbgorCQlIRUxQRElSPScke2RhdGFkaXJ9L2Jhc2gnCisJZWxzZQorCQlIRUxQRElSPSRvcHRfc2VwYXJhdGVfaGVscAorCWZpCisJSEVMUERJUkRFRklORT0nLUggJHtIRUxQRElSfScKKwlIRUxQSU5TVEFMTD0naW5zdGFsbC1oZWxwJworZmkKK0hFTFBTVFJJTkdTPQoraWYgdGVzdCAiJG9wdF9zaW5nbGVfbG9uZ2RvY19zdHJpbmdzIiAhPSAieWVzIjsgdGhlbgorCUhFTFBTVFJJTkdTPSctUycKK2ZpCisKK2RubCBub3cgc3Vic3RpdHV0ZSBpbiB0aGUgdmFsdWVzIGdlbmVyYXRlZCBieSBhcmd1bWVudHMKK0FDX1NVQlNUKFRFU1RTQ1JJUFQpCitBQ19TVUJTVChQVVJJRlkpCitBQ19TVUJTVChNQUxMT0NfVEFSR0VUKQorQUNfU1VCU1QoTUFMTE9DX1NSQykKKworQUNfU1VCU1QoTUFMTE9DX0xJQikKK0FDX1NVQlNUKE1BTExPQ19MSUJSQVJZKQorQUNfU1VCU1QoTUFMTE9DX0xERkxBR1MpCitBQ19TVUJTVChNQUxMT0NfREVQKQorCitBQ19TVUJTVChodG1sZGlyKQorCitBQ19TVUJTVChIRUxQRElSKQorQUNfU1VCU1QoSEVMUERJUkRFRklORSkKK0FDX1NVQlNUKEhFTFBJTlNUQUxMKQorQUNfU1VCU1QoSEVMUFNUUklOR1MpCisKK2VjaG8gIiIKK2VjaG8gIkJlZ2lubmluZyBjb25maWd1cmF0aW9uIGZvciBiYXNoLSRCQVNIVkVSUy0kUkVMU1RBVFVTIGZvciAke2hvc3RfY3B1fS0ke2hvc3RfdmVuZG9yfS0ke2hvc3Rfb3N9IgorZWNobyAiIgorCitkbmwgY29tcGlsYXRpb24gY2hlY2tzCitkbmwgQUNfUFJPR19DQyBzZXRzICRjcm9zc19jb21waWxpbmcgdG8gYHllcycgaWYgY3Jvc3MtY29tcGlsaW5nIGZvciBhCitkbmwgZGlmZmVyZW50IGVudmlyb25tZW50CitBQ19QUk9HX0NDCisKK2RubCB0ZXN0IGZvciBVbml4IHZhcmlhbnRzCitBQ19JU0NfUE9TSVgKK0FDX01JTklYCisKK0FDX1NZU19MQVJHRUZJTEUKKworZG5sIEJFR0lOIGNoYW5nZXMgZm9yIGNyb3NzLWJ1aWxkaW5nIChjdXJyZW50bHkgY3lnd2luLCBtaW5HVywgYW5kCitkbmwgKG9ic29sZXRlKSBCZU9TKQorCitTSUdOQU1FU19PPQorU0lHTkFNRVNfSD1sc2lnbmFtZXMuaAorCitkbmwgbG9hZCB1cCB0aGUgY3Jvc3MtYnVpbGRpbmcgY2FjaGUgZmlsZSAtLSBhZGQgbW9yZSBjYXNlcyBhbmQgY2FjaGUKK2RubCBmaWxlcyBhcyBuZWNlc3NhcnkKKworZG5sIE5vdGUgdGhhdCBob3N0IGFuZCB0YXJnZXQgbWFjaGluZSBhcmUgdGhlIHNhbWUsIGFuZCBkaWZmZXJlbnQgdGhhbiB0aGUKK2RubCBidWlsZCBtYWNoaW5lLgorZG5sIFNldCBTSUdOQU1FU19IIGJhc2VkIG9uIHdoZXRoZXIgb3Igbm90IHdlJ3JlIGNyb3NzLWNvbXBpbGluZy4KKworQ1JPU1NfQ09NUElMRT0KK2lmIHRlc3QgIngkY3Jvc3NfY29tcGlsaW5nIiA9ICJ4eWVzIjsgdGhlbgorICAgIGNhc2UgIiR7aG9zdH0iIGluCisgICAgKi1jeWd3aW4qKQorCWNyb3NzX2NhY2hlPSR7c3JjZGlyfS9jcm9zcy1idWlsZC9jeWd3aW4zMi5jYWNoZQorCTs7CisgICAgKi1taW5ndyopCisJY3Jvc3NfY2FjaGU9JHtzcmNkaXJ9L2Nyb3NzLWJ1aWxkL2N5Z3dpbjMyLmNhY2hlCisJOzsKKyAgICBpW1szNDU2XV04Ni0qLWJlb3MqKQorCWNyb3NzX2NhY2hlPSR7c3JjZGlyfS9jcm9zcy1idWlsZC94ODYtYmVvcy5jYWNoZQorCTs7CisgICAgKikJZWNobyAiY29uZmlndXJlOiBjcm9zcy1jb21waWxpbmcgZm9yICRob3N0IGlzIG5vdCBzdXBwb3J0ZWQiID4mMgorCTs7CisgICAgZXNhYworICAgIGlmIHRlc3QgLW4gIiR7Y3Jvc3NfY2FjaGV9IiAmJiB0ZXN0IC1yICIke2Nyb3NzX2NhY2hlfSI7IHRoZW4KKwllY2hvICJsb2FkaW5nIGNyb3NzLWJ1aWxkIGNhY2hlIGZpbGUgJHtjcm9zc19jYWNoZX0iCisJLiAke2Nyb3NzX2NhY2hlfQorICAgIGZpCisgICAgdW5zZXQgY3Jvc3NfY2FjaGUKKyAgICBTSUdOQU1FU19PPSdzaWduYW1lcy5vJworICAgIENST1NTX0NPTVBJTEU9Jy1EQ1JPU1NfQ09NUElMSU5HJworICAgIEFDX1NVQlNUKENST1NTX0NPTVBJTEUpCitmaQorQUNfU1VCU1QoU0lHTkFNRVNfSCkKK0FDX1NVQlNUKFNJR05BTUVTX08pCisKK2lmIHRlc3QgLXogIiRDQ19GT1JfQlVJTEQiOyB0aGVuCisgICAgaWYgdGVzdCAieCRjcm9zc19jb21waWxpbmciID0gInhubyI7IHRoZW4KKwlDQ19GT1JfQlVJTEQ9JyQoQ0MpJworICAgIGVsc2UKKwlDQ19GT1JfQlVJTEQ9Z2NjCisgICAgZmkKK2ZpCitBQ19TVUJTVChDQ19GT1JfQlVJTEQpCisKK2RubCBFTkQgY2hhbmdlcyBmb3IgY3Jvc3MtYnVpbGRpbmcKKworZG5sIFdlIHdhbnQgdGhlc2UgYmVmb3JlIHRoZSBjaGVja3MsIHNvIHRoZSBjaGVja3MgY2FuIG1vZGlmeSB0aGVpciB2YWx1ZXMuCit0ZXN0IC16ICIkQ0ZMQUdTIiAmJiBDRkxBR1M9LWcgYXV0b19jZmxhZ3M9MQorCitkbmwgSWYgd2UncmUgdXNpbmcgZ2NjIGFuZCB0aGUgdXNlciBoYXNuJ3Qgc3BlY2lmaWVkIENGTEFHUywgYWRkIC1PMiB0byBDRkxBR1MuCit0ZXN0IC1uICIkR0NDIiAmJiB0ZXN0IC1uICIkYXV0b19jZmxhZ3MiICYmIENGTEFHUz0iJENGTEFHUyAtTzIiCisKK2RubCBoYW5kbGUgb3B0aW9ucyB0aGF0IGFsdGVyIGhvdyBiYXNoIGlzIGNvbXBpbGVkIGFuZCBsaW5rZWQKK2RubCB0aGVzZSBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHRlc3QgZm9yIGNjL2djYworaWYgdGVzdCAiJG9wdF9wcm9maWxpbmciID0gInllcyI7IHRoZW4KKwlQUk9GSUxFX0ZMQUdTPS1wZworCWNhc2UgIiRob3N0X29zIiBpbgorCXNvbGFyaXMyKikJOzsKKwkqKQkJb3B0X3N0YXRpY19saW5rPXllcyA7OworCWVzYWMKKwlERUJVRz0gTUFMTE9DX0RFQlVHPQorZmkKKworaWYgdGVzdCAiJG9wdF9zdGF0aWNfbGluayIgPSB5ZXM7IHRoZW4KKwkjIGlmIHdlJ3JlIHVzaW5nIGdjYywgYWRkIGAtc3RhdGljJyB0byBMREZMQUdTLCBleGNlcHQgb24gU29sYXJpcyA+PSAyCisJaWYgdGVzdCAtbiAiJEdDQyIgfHwgdGVzdCAiJGFjX2N2X3Byb2dfZ2NjIiA9ICJ5ZXMiOyB0aGVuCisJCVNUQVRJQ19MRD0iLXN0YXRpYyIgCisJCWNhc2UgIiRob3N0X29zIiBpbgorCQlzb2xhcmlzMiopCTs7CisJCSopCQlMREZMQUdTPSIkTERGTEFHUyAtc3RhdGljIiA7OwkjIFhYWCBleHBlcmltZW50YWwKKwkJZXNhYworCWZpCitmaQorCitpZiB0ZXN0ICJYJGNyb3NzX2NvbXBpbGluZyIgPSAiWG5vIjsgdGhlbgorCUNQUEZMQUdTX0ZPUl9CVUlMRD0ke0NQUEZMQUdTX0ZPUl9CVUlMRC0iJENQUEZMQUdTIn0KKwlMREZMQUdTX0ZPUl9CVUlMRD0ke0xERkxBR1NfRk9SX0JVSUxELSckKExERkxBR1MpJ30KK2Vsc2UKKwlDUFBGTEFHU19GT1JfQlVJTEQ9JHtDUFBGTEFHU19GT1JfQlVJTEQtIiJ9CisJTERGTEFHU19GT1JfQlVJTEQ9JHtMREZMQUdTX0ZPUl9CVUlMRC0iIn0KK2ZpCisKK3Rlc3QgLXogIiRDRkxBR1NfRk9SX0JVSUxEIiAmJiBDRkxBR1NfRk9SX0JVSUxEPSItZyIKKworQUNfU1VCU1QoQ0ZMQUdTKQorQUNfU1VCU1QoQ1BQRkxBR1MpCitBQ19TVUJTVChMREZMQUdTKQorQUNfU1VCU1QoU1RBVElDX0xEKQorCitBQ19TVUJTVChDRkxBR1NfRk9SX0JVSUxEKQorQUNfU1VCU1QoQ1BQRkxBR1NfRk9SX0JVSUxEKQorQUNfU1VCU1QoTERGTEFHU19GT1JfQlVJTEQpCisKK0FDX1BST0dfR0NDX1RSQURJVElPTkFMCisKK2RubCBCRUdJTiBSRUFETElORSBhbmQgSElTVE9SWSBMSUJSQVJZIFNFQ1RJT04KK2RubCBwcmVwYXJlIHRvIGFsbG93IGJhc2ggdG8gYmUgbGlua2VkIGFnYWluc3QgYW4gYWxyZWFkeS1pbnN0YWxsZWQgcmVhZGxpbmUKKworZG5sIGZpcnN0IHRlc3QgdGhhdCB0aGUgcmVhZGxpbmUgdmVyc2lvbiBpcyBuZXcgZW5vdWdoIHRvIGxpbmsgYmFzaCBhZ2FpbnN0CitpZiB0ZXN0ICIkb3B0X3JlYWRsaW5lIiA9IHllcyAmJiB0ZXN0ICIkb3B0X3dpdGhfaW5zdGFsbGVkX3JlYWRsaW5lIiAhPSAibm8iCit0aGVuCisJIyBJZiB0aGUgdXNlciBzcGVjaWZpZWQgLS13aXRoLWluc3RhbGxlZC1yZWFkbGluZT1QUkVGSVggYW5kIFBSRUZJWAorCSMgaXMgbm90IGB5ZXMnLCBzZXQgYWNfY3ZfcmxfcHJlZml4IHRvIFBSRUZJWAorCXRlc3QgJG9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZSAhPSAieWVzIiAmJiBhY19jdl9ybF9wcmVmaXg9JG9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZQorCisJUkxfTElCX1JFQURMSU5FX1ZFUlNJT04KKworCWNhc2UgIiRhY19jdl9ybF92ZXJzaW9uIiBpbgorCTUqfDYqfDcqfDgqfDkqKQk7OworCSopCW9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZT1ubyAKKwkJQUNfTVNHX1dBUk4oaW5zdGFsbGVkIHJlYWRsaW5lIGxpYnJhcnkgaXMgdG9vIG9sZCB0byBiZSBsaW5rZWQgd2l0aCBiYXNoKQorCQlBQ19NU0dfV0FSTih1c2luZyBwcml2YXRlIGJhc2ggdmVyc2lvbikKKwkJOzsKKwllc2FjCitmaQorCitUSUxERV9MSUI9LWx0aWxkZQoraWYgdGVzdCAkb3B0X3JlYWRsaW5lID0geWVzOyB0aGVuCisJQUNfREVGSU5FKFJFQURMSU5FKQorCWlmIHRlc3QgIiRvcHRfd2l0aF9pbnN0YWxsZWRfcmVhZGxpbmUiICE9ICJubyIgOyB0aGVuCisJCWNhc2UgIiRvcHRfd2l0aF9pbnN0YWxsZWRfcmVhZGxpbmUiIGluCisJCXllcykJUkxfSU5DTFVERT0gOzsKKwkJKikJY2FzZSAiJFJMX0lOQ0xVREVESVIiIGluCisJCQkvdXNyL2luY2x1ZGUpCTs7CisJCQkqKQkJUkxfSU5DTFVERT0nLUkke1JMX0lOQ0xVREVESVJ9JyA7OworCQkJZXNhYworCQkJOzsKKwkJZXNhYworCQlSRUFETElORV9ERVA9CisJCVJFQURMSU5FX0xJQj0tbHJlYWRsaW5lCisJCSMgc2VjdGlvbiBmb3IgT1MgdmVyc2lvbnMgdGhhdCBkb24ndCBhbGxvdyB1bnJlc29sdmVkIHN5bWJvbHMKKwkJIyB0byBiZSBjb21waWxlZCBpbnRvIGR5bmFtaWMgbGlicmFyaWVzLgorCQljYXNlICIkaG9zdF9vcyIgaW4KKwkJY3lnd2luKikJVElMREVfTElCPSA7OworCQllc2FjCisJZWxzZQorCQlSTF9MSUJESVI9JyQoZG90KS8kKExJQlNVQkRJUikvcmVhZGxpbmUnCisJCVJFQURMSU5FX0RFUD0nJChSRUFETElORV9MSUJSQVJZKScKKwkJIyBzZWN0aW9uIGZvciBPUyB2ZXJzaW9ucyB0aGF0IHNoaXAgYW4gb2xkZXIvYnJva2VuIHZlcnNpb24gb2YKKwkJIyByZWFkbGluZSBhcyBhIHN0YW5kYXJkIGR5bmFtaWMgbGlicmFyeSBhbmQgZG9uJ3QgYWxsb3cgYQorCQkjIHN0YXRpYyB2ZXJzaW9uIHNwZWNpZmllZCBhcyAtbGxpYm5hbWUgdG8gb3ZlcnJpZGUgdGhlCisJCSMgZHluYW1pYyB2ZXJzaW9uCisJCWNhc2UgIiR7aG9zdF9vc30iIGluCisJCWRhcndpbltbODldXSp8ZGFyd2luMTAqKQlSRUFETElORV9MSUI9JyR7UkVBRExJTkVfTElCUkFSWX0nIDs7CisJCSopCQlSRUFETElORV9MSUI9LWxyZWFkbGluZSA7OworCQllc2FjCisJZmkKK2Vsc2UKKwlSTF9MSUJESVI9JyQoZG90KS8kKExJQlNVQkRJUikvcmVhZGxpbmUnCisJUkVBRExJTkVfTElCPSBSRUFETElORV9ERVA9CitmaQoraWYgdGVzdCAkb3B0X2hpc3RvcnkgPSB5ZXMgfHwgdGVzdCAkb3B0X2JhbmdfaGlzdG9yeSA9IHllczsgdGhlbgorCWlmIHRlc3QgJG9wdF9oaXN0b3J5ID0geWVzOyB0aGVuCisJCUFDX0RFRklORShISVNUT1JZKQorCWZpCisJaWYgdGVzdCAkb3B0X2JhbmdfaGlzdG9yeSA9IHllczsgdGhlbgorCQlBQ19ERUZJTkUoQkFOR19ISVNUT1JZKQorCWZpCisgCWlmIHRlc3QgIiRvcHRfd2l0aF9pbnN0YWxsZWRfcmVhZGxpbmUiICE9ICJubyI7IHRoZW4KKwkJSElTVF9MSUJESVI9JFJMX0xJQkRJUgorCQlISVNUT1JZX0RFUD0KKwkJSElTVE9SWV9MSUI9LWxoaXN0b3J5CisJCWNhc2UgIiRvcHRfd2l0aF9pbnN0YWxsZWRfcmVhZGxpbmUiIGluCisJCXllcykJUkxfSU5DTFVERT0gOzsKKwkJKikJY2FzZSAiJFJMX0lOQ0xVREVESVIiIGluCisJCQkvdXNyL2luY2x1ZGUpCTs7CisJCQkqKQkJUkxfSU5DTFVERT0nLUkke1JMX0lOQ0xVREVESVJ9JyA7OworCQkJZXNhYworCQkJOzsKKwkJZXNhYworCWVsc2UKKwkJSElTVF9MSUJESVI9JyQoZG90KS8kKExJQlNVQkRJUikvcmVhZGxpbmUnCisJCUhJU1RPUllfREVQPSckKEhJU1RPUllfTElCUkFSWSknCisJCSMgc2VjdGlvbiBmb3IgT1MgdmVyc2lvbnMgdGhhdCBzaGlwIGFuIG9sZGVyIHZlcnNpb24gb2YKKwkJIyByZWFkbGluZSBhcyBhIHN0YW5kYXJkIGR5bmFtaWMgbGlicmFyeSBhbmQgZG9uJ3QgYWxsb3cgYQorCQkjIHN0YXRpYyB2ZXJzaW9uIHNwZWNpZmllZCBhcyAtbGxpYm5hbWUgdG8gb3ZlcnJpZGUgdGhlCisJCSMgZHluYW1pYyB2ZXJzaW9uCisJCWNhc2UgIiR7aG9zdF9vc30iIGluCisJCWRhcndpbltbODldXSp8ZGFyd2luMTAqKQlISVNUT1JZX0xJQj0nJHtISVNUT1JZX0xJQlJBUll9JyA7OworCQkqKQkJSElTVE9SWV9MSUI9LWxoaXN0b3J5IDs7CisJCWVzYWMKKwlmaQorZWxzZQorCUhJU1RfTElCRElSPSckKGRvdCkvJChMSUJTVUJESVIpL3JlYWRsaW5lJworCUhJU1RPUllfTElCPSBISVNUT1JZX0RFUD0KK2ZpCitBQ19TVUJTVChSRUFETElORV9MSUIpCitBQ19TVUJTVChSRUFETElORV9ERVApCitBQ19TVUJTVChSTF9MSUJESVIpCitBQ19TVUJTVChSTF9JTkNMVURFRElSKQorQUNfU1VCU1QoUkxfSU5DTFVERSkKK0FDX1NVQlNUKEhJU1RPUllfTElCKQorQUNfU1VCU1QoSElTVE9SWV9ERVApCitBQ19TVUJTVChISVNUX0xJQkRJUikKK0FDX1NVQlNUKFRJTERFX0xJQikKKworZG5sIEVORCBSRUFETElORSBhbmQgSElTVE9SWSBMSUJSQVJZIFNFQ1RJT04KKworZG5sIHByb2dyYW1zIG5lZWRlZCBieSB0aGUgYnVpbGQgYW5kIGluc3RhbGwgcHJvY2VzcworQUNfUFJPR19JTlNUQUxMCitBQ19DSEVDS19QUk9HKEFSLCBhciwgLCBhcikKK2RubCBTZXQgZGVmYXVsdCBmb3IgQVJGTEFHUywgc2luY2UgYXV0b2NvbmYgZG9lcyBub3QgaGF2ZSBhIG1hY3JvIGZvciBpdC4KK2RubCBUaGlzIGFsbG93cyBwZW9wbGUgdG8gc2V0IGl0IHdoZW4gcnVubmluZyBjb25maWd1cmUgb3IgbWFrZQordGVzdCAtbiAiJEFSRkxBR1MiIHx8IEFSRkxBR1M9ImNyIgorQUNfUFJPR19SQU5MSUIKK0FDX1BST0dfWUFDQworQUNfUFJPR19NQUtFX1NFVAorCitjYXNlICIkaG9zdF9vcyIgaW4KK29wZW5udCp8aW50ZXJpeCopCU1BS0VfU0hFTEw9IiRJTlRFUklYX1JPT1QvYmluL3NoIiA7OworKikJCQlNQUtFX1NIRUxMPS9iaW4vc2ggOzsKK2VzYWMKK0FDX1NVQlNUKE1BS0VfU0hFTEwpCisKK2RubCB0aGlzIGlzIHNpbWlsYXIgdG8gdGhlIGV4cGFuZGVkIEFDX1BST0dfUkFOTElCCitpZiB0ZXN0IHgkU0laRSA9IHg7IHRoZW4KKwlpZiB0ZXN0IHgkYWNfdG9vbF9wcmVmaXggPSB4OyB0aGVuCisJCVNJWkU9c2l6ZQorCWVsc2UKKwkJU0laRT0ke2FjX3Rvb2xfcHJlZml4fXNpemUKKwkJc2F2ZV9JRlM9JElGUyA7IElGUz06CisJCXNpemVfZm91bmQ9MAorCQlmb3IgZGlyIGluICRQQVRIOyBkbworCQkJaWYgdGVzdCAteCAkZGlyLyRTSVpFIDsgdGhlbgorCQkJCXNpemVfZm91bmQ9MQorCQkJCWJyZWFrCisJCQlmaQorCQlkb25lCisJCWlmIHRlc3QgJHNpemVfZm91bmQgLWVxIDA7IHRoZW4KKwkJCVNJWkU9OgorCQlmaQorCQlJRlM9JHNhdmVfSUZTCisJZmkKK2ZpCitBQ19TVUJTVChTSVpFKQorCitkbmwgVHVybiBvbiBhbnkgZXh0ZW5zaW9ucyBhdmFpbGFibGUgaW4gdGhlIEdOVSBDIGxpYnJhcnkuCitBQ19ERUZJTkUoX0dOVV9TT1VSQ0UsIDEpCisKK2RubCBDIGNvbXBpbGVyIGNoYXJhY3RlcmlzdGljcworQUNfQ19DT05TVAorQUNfQ19JTkxJTkUKK0FDX0NfQklHRU5ESUFOCitBQ19DX1NUUklOR0laRQorQUNfQ19MT05HX0RPVUJMRQorQUNfQ19QUk9UT1RZUEVTCitBQ19DX0NIQVJfVU5TSUdORUQKK0FDX0NfVk9MQVRJTEUKK0FDX0NfUkVTVFJJQ1QKKworZG5sIGluaXRpYWxpemUgR05VIGdldHRleHQKK0FNX0dOVV9HRVRURVhUKFtuby1saWJ0b29sXSwgW25lZWQtbmdldHRleHRdLCBbbGliL2ludGxdKQorCitkbmwgaGVhZGVyIGZpbGVzCitBQ19IRUFERVJfRElSRU5UCitBQ19IRUFERVJfVElNRQorCitCQVNIX0hFQURFUl9JTlRUWVBFUworCitBQ19DSEVDS19IRUFERVJTKHVuaXN0ZC5oIHN0ZGxpYi5oIHN0ZGFyZy5oIHZhcmFyZ3MuaCBsaW1pdHMuaCBzdHJpbmcuaCBcCisJCSBtZW1vcnkuaCBsb2NhbGUuaCB0ZXJtY2FwLmggdGVybWlvLmggdGVybWlvcy5oIGRsZmNuLmggXAorCQkgc3RkZGVmLmggc3RkaW50LmggbmV0ZGIuaCBwd2QuaCBncnAuaCBzdHJpbmdzLmggcmVnZXguaCkKK0FDX0NIRUNLX0hFQURFUlMoc3lzL3B0ZS5oIHN5cy9zdHJlYW0uaCBzeXMvc2VsZWN0Lmggc3lzL2ZpbGUuaCBcCisJCSBzeXMvcmVzb3VyY2UuaCBzeXMvcGFyYW0uaCBzeXMvc29ja2V0Lmggc3lzL3N0YXQuaCBcCisJCSBzeXMvdGltZS5oIHN5cy90aW1lcy5oIHN5cy90eXBlcy5oIHN5cy93YWl0LmgpCitBQ19DSEVDS19IRUFERVJTKG5ldGluZXQvaW4uaCBhcnBhL2luZXQuaCkKKworZG5sIHN5cy9wdGVtLmggcmVxdWlyZXMgZGVmaW5pdGlvbnMgZnJvbSBzeXMvc3RyZWFtLmggb24gc3lzdGVtcyB3aGVyZSBpdAorZG5sIGV4aXN0cworQUNfQ0hFQ0tfSEVBREVSKHN5cy9wdGVtLmgsICwgLFtbCisjaWYgSEFWRV9TWVNfU1RSRUFNX0gKKyMgIGluY2x1ZGUgPHN5cy9zdHJlYW0uaD4KKyNlbmRpZgorXV0pCisKK2RubCBzcGVjaWFsIGNoZWNrcyBmb3IgbGliYyBmdW5jdGlvbnMKK0FDX0ZVTkNfQUxMT0NBCitBQ19GVU5DX0dFVFBHUlAKK0FDX0ZVTkNfU0VUVkJVRl9SRVZFUlNFRAorQUNfRlVOQ19WUFJJTlRGCitBQ19GVU5DX1NUUkNPTEwKKworZG5sIGlmIHdlJ3JlIG5vdCB1c2luZyB0aGUgYmFzaCBtYWxsb2MgYnV0IHJlcXVpcmUgdGhlIEMgYWxsb2NhLCBzZXQgdGhpbmdzCitkbmwgdXAgdG8gYnVpbGQgYSBsaWJtYWxsb2MuYSBjb250YWluaW5nIG9ubHkgYWxsb2NhLm8KKworaWYgdGVzdCAiJGFjX2N2X2Z1bmNfYWxsb2NhX3dvcmtzIiA9ICJubyIgJiYgdGVzdCAiJG9wdF9iYXNoX21hbGxvYyIgPSAibm8iOyB0aGVuCisJTUFMTE9DX1RBUkdFVD1hbGxvY2EKKwlNQUxMT0NfU1JDPWFsbG9jYS5jCisKKwlNQUxMT0NfTElCPSctbG1hbGxvYycKKwlNQUxMT0NfTElCUkFSWT0nJChBTExPQ19MSUJESVIpL2xpYm1hbGxvYy5hJworCU1BTExPQ19MREZMQUdTPSctTCQoQUxMT0NfTElCRElSKScKKwlNQUxMT0NfREVQPSckKE1BTExPQ19MSUJSQVJZKScKK2ZpCisKK2RubCBpZiB2cHJpbnRmIGlzIG5vdCBpbiBsaWJjLCBzZWUgaWYgaXQncyBkZWZpbmVkIGluIHN0ZGlvLmgKK2lmIHRlc3QgIiRhY19jdl9mdW5jX3ZwcmludGYiID0gbm87IHRoZW4KKyAgICBBQ19NU0dfQ0hFQ0tJTkcoZm9yIGRlY2xhcmF0aW9uIG9mIHZwcmludGYgaW4gc3RkaW8uaCkKKyAgICBBQ19FR1JFUF9IRUFERVIoW1tpbnRbIAldKnZwcmludGZbXmEtekEtWjAtOV1dXSxzdGRpby5oLGFjX2N2X2Z1bmNfdnByaW50Zj15ZXMpCisgICAgQUNfTVNHX1JFU1VMVCgkYWNfY3ZfZnVuY192cHJpbnRmKQorICAgIGlmIHRlc3QgJGFjX2N2X2Z1bmNfdnByaW50ZiA9IHllczsgdGhlbgorCUFDX0RFRklORShIQVZFX1ZQUklOVEYpCisgICAgZmkKK2ZpCisKK2lmIHRlc3QgIiRhY19jdl9mdW5jX3ZwcmludGYiID0gbm8gJiYgdGVzdCAiJGFjX2N2X2Z1bmNfX2RvcHJudCIgPSAieWVzIjsgdGhlbgorICBBQ19MSUJPQkoodnByaW50KQorZmkKKworZG5sIHNpZ25hbCBzdHVmZgorQUNfVFlQRV9TSUdOQUwKKworZG5sIGNoZWNrcyBmb3IgY2VydGFpbiB2ZXJzaW9uLXNwZWNpZmljIHN5c3RlbSBjYWxscyBhbmQgbGliYyBmdW5jdGlvbnMKK0FDX0NIRUNLX0ZVTkMoX19zZXRvc3R5cGUsIEFDX0RFRklORShIQVZFX1NFVE9TVFlQRSkpCitBQ19DSEVDS19GVU5DKHdhaXQzLCBBQ19ERUZJTkUoSEFWRV9XQUlUMykpCitBQ19DSEVDS19GVU5DKGlzaW5mLCBBQ19ERUZJTkUoSEFWRV9JU0lORl9JTl9MSUJDKSkKK0FDX0NIRUNLX0ZVTkMoaXNuYW4sIEFDX0RFRklORShIQVZFX0lTTkFOX0lOX0xJQkMpKQorCitkbmwgY2hlY2tzIGZvciBtaXNzaW5nIGxpYmMgZnVuY3Rpb25zCitBQ19DSEVDS19GVU5DKG1rZmlmbyxBQ19ERUZJTkUoSEFWRV9NS0ZJRk8pLEFDX0RFRklORShNS0ZJRk9fTUlTU0lORykpCisKK2RubCBjaGVja3MgZm9yIHN5c3RlbSBjYWxscworQUNfQ0hFQ0tfRlVOQ1MoZHVwMiBlYWNjZXNzIGZjbnRsIGdldGR0YWJsZXNpemUgZ2V0Z3JvdXBzIGdldGhvc3RuYW1lIFwKKwkJZ2V0cGFnZXNpemUgZ2V0cGVlcm5hbWUgZ2V0cmxpbWl0IGdldHJ1c2FnZSBnZXR0aW1lb2ZkYXkgXAorCQlraWxsIGtpbGxwZyBsc3RhdCByZWFkbGluayBzYnJrIHNlbGVjdCBzZXRkdGFibGVzaXplIFwKKwkJc2V0aXRpbWVyIHRjZ2V0cGdycCB1bmFtZSB1bGltaXQgd2FpdHBpZCkKK0FDX1JFUExBQ0VfRlVOQ1MocmVuYW1lKQorCitkbmwgY2hlY2tzIGZvciBjIGxpYnJhcnkgZnVuY3Rpb25zCitBQ19DSEVDS19GVU5DUyhiY29weSBiemVybyBjb25mc3RyIGZubWF0Y2ggXAorCQlnZXRhZGRyaW5mbyBnZXRob3N0YnluYW1lIGdldHNlcnZieW5hbWUgZ2V0c2VydmVudCBpbmV0X2F0b24gXAorCQltZW1tb3ZlIHBhdGhjb25mIHB1dGVudiByYWlzZSByZWdjb21wIHJlZ2V4ZWMgXAorCQlzZXRlbnYgc2V0bGluZWJ1ZiBzZXRsb2NhbGUgc2V0dmJ1ZiBzaWdpbnRlcnJ1cHQgc3RyY2hyIFwKKwkJc3lzY29uZiB0Y2dldGF0dHIgdGltZXMgdHR5bmFtZSB0enNldCB1bnNldGVudikKKworQUNfQ0hFQ0tfRlVOQ1ModnNucHJpbnRmIHNucHJpbnRmIHZhc3ByaW50ZiBhc3ByaW50ZikKK0FDX0NIRUNLX0ZVTkNTKGlzYXNjaWkgaXNibGFuayBpc2dyYXBoIGlzcHJpbnQgaXNzcGFjZSBpc3hkaWdpdCkKK0FDX0NIRUNLX0ZVTkNTKGdldHB3ZW50IGdldHB3bmFtIGdldHB3dWlkKQorQUNfUkVQTEFDRV9GVU5DUyhnZXRjd2QgbWVtc2V0IHN0cmNhc2VjbXAgc3RyZXJyb3Igc3RyZnRpbWUgc3RybmxlbiBzdHJwYnJrIHN0cnN0cikKK0FDX1JFUExBQ0VfRlVOQ1Moc3RydG9kIHN0cnRvbCBzdHJ0b3VsIHN0cnRvbGwgc3RydG91bGwgc3RydG9pbWF4IHN0cnRvdW1heCkKK0FDX1JFUExBQ0VfRlVOQ1MoZmRwcmludGYpCisKK0FDX0NIRUNLX0RFQ0xTKFtjb25mc3RyXSkKK0FDX0NIRUNLX0RFQ0xTKFtwcmludGZdKQorQUNfQ0hFQ0tfREVDTFMoW3NicmtdKQorQUNfQ0hFQ0tfREVDTFMoW3NldHJlZ2lkXSkKK0FDX0NIRUNLX0RFQ0xTKFtzdHJjcHldKQorQUNfQ0hFQ0tfREVDTFMoW3N0cnNpZ25hbF0pCisKK2RubCBFeHRyYSB0ZXN0IHRvIGRldGVjdCB0aGUgaG9ycmlibHkgYnJva2VuIEhQL1VYIDExLjAwIHN0cnRvbGQoMykKK0FDX0NIRUNLX0RFQ0xTKFtzdHJ0b2xkXSwgWworICAgIEFDX01TR19DSEVDS0lORyhbZm9yIGJyb2tlbiBzdHJ0b2xkXSkKKyAgICBBQ19DQUNIRV9WQUwoYmFzaF9jdl9zdHJ0b2xkX2Jyb2tlbiwKKwlbQUNfVFJZX0NPTVBJTEUoCisJICAgIFsjaW5jbHVkZSA8c3RkbGliLmg+XSwKKwkgICAgW2ludCBtYWluKCkgeyBsb25nIGRvdWJsZSByOyBjaGFyICpmb28sIGJhcjsgciA9IHN0cnRvbGQoZm9vLCAmYmFyKTt9XSwKKwkgICAgYmFzaF9jdl9zdHJ0b2xkX2Jyb2tlbj1ubywgYmFzaF9jdl9zdHJ0b2xkX2Jyb2tlbj15ZXMsCisJICAgIFtBQ19NU0dfV0FSTihjYW5ub3QgY2hlY2sgZm9yIGJyb2tlbiBzdHJ0b2xkIGlmIGNyb3NzLWNvbXBpbGluZywgZGVmYXVsdGluZyB0byBubyldKQorCV0KKyAgICApCisgICAgQUNfTVNHX1JFU1VMVCgkYmFzaF9jdl9zdHJ0b2xkX2Jyb2tlbikKKyAgICBpZiB0ZXN0ICIkYmFzaF9jdl9zdHJ0b2xkX2Jyb2tlbiIgPSAieWVzIiA7IHRoZW4KKwlBQ19ERUZJTkUoU1RSVE9MRF9CUk9LRU4pCisgICAgZmkKK10pCisgICAgCisKK0JBU0hfQ0hFQ0tfREVDTChzdHJ0b2ltYXgpCitCQVNIX0NIRUNLX0RFQ0woc3RydG9sKQorQkFTSF9DSEVDS19ERUNMKHN0cnRvbGwpCitCQVNIX0NIRUNLX0RFQ0woc3RydG91bCkKK0JBU0hfQ0hFQ0tfREVDTChzdHJ0b3VsbCkKK0JBU0hfQ0hFQ0tfREVDTChzdHJ0b3VtYXgpCisKK0FDX0ZVTkNfTUtUSU1FCisKK2RubAorZG5sIENoZWNrcyBmb3IgbGliL2ludGwgYW5kIHJlbGF0ZWQgY29kZSAodXNlcyBzb21lIG9mIHRoZSBvdXRwdXQgZnJvbQorZG5sIEFNX0dOVV9HRVRURVhUKQorZG5sCisKK0FDX0NIRUNLX0hFQURFUlMoW2FyZ3ouaCBlcnJuby5oIGZjbnRsLmggbWFsbG9jLmggc3RkaW9fZXh0LmhdKQorCitkbmwgQUNfRlVOQ19NQUxMT0MKK0FDX0ZVTkNfTU1BUAorQUNfQ0hFQ0tfRlVOQ1MoW19fYXJnel9jb3VudCBfX2FyZ3pfbmV4dCBfX2FyZ3pfc3RyaW5naWZ5IGRjZ2V0dGV4dCBtZW1wY3B5IFwKKwkJbXVubWFwIHN0cGNweSBzdHJjc3BuIHN0cmR1cF0pCisKK0lOVExfREVQPSBJTlRMX0lOQz0gTElCSU5UTF9IPQoraWYgdGVzdCAieCRVU0VfSU5DTFVERURfTElCSU5UTCIgPSAieHllcyI7IHRoZW4KKwlJTlRMX0RFUD0nJHtJTlRMX0xJQkRJUn0vbGliaW50bC5hJworCUlOVExfSU5DPSctSSR7SU5UTF9MSUJTUkN9IC1JJHtJTlRMX0JVSUxERElSfScKKwlMSUJJTlRMX0g9JyR7SU5UTF9CVUlMRERJUn0vbGliaW50bC5oJworZmkKK0FDX1NVQlNUKElOVExfREVQKQorQUNfU1VCU1QoSU5UTF9JTkMpCitBQ19TVUJTVChMSUJJTlRMX0gpCisKK2RubAorZG5sIEVuZCBvZiBjaGVja3MgbmVlZGVkIGJ5IGZpbGVzIGluIGxpYi9pbnRsCitkbmwKKworQkFTSF9DSEVDS19NVUxUSUJZVEUKKworZG5sIGNoZWNrcyBmb3IgdGhlIGR5bmFtaWMgbG9hZGluZyBsaWJyYXJ5IGZ1bmN0aW9ucyBpbiBsaWJjIGFuZCBsaWJkbAoraWYgdGVzdCAiJG9wdF9zdGF0aWNfbGluayIgIT0geWVzOyB0aGVuCitBQ19DSEVDS19MSUIoZGwsIGRsb3BlbikKK0FDX0NIRUNLX0ZVTkNTKGRsb3BlbiBkbGNsb3NlIGRsc3ltKQorZmkKKworZG5sIHRoaXMgZGVmaW5lcyBIQVZFX0RFQ0xfU1lTX1NJR0xJU1QKK0FDX0RFQ0xfU1lTX1NJR0xJU1QKKworZG5sIG5ldHdvcmsgZnVuY3Rpb25zIC0tIGNoZWNrIGZvciBpbmV0X2F0b24gYWdhaW4KK2lmIHRlc3QgIiRhY19jdl9mdW5jX2luZXRfYXRvbiIgIT0gJ3llcyc7IHRoZW4KK0JBU0hfRlVOQ19JTkVUX0FUT04KK2ZpCisKK2RubCBsaWJyYXJpZXMKK2RubCB0aGlzIGlzIHJlcG9ydGVkbHkgbm8gbG9uZ2VyIG5lY2Vzc2FyeSBmb3IgaXJpeFs1Nl0uPworY2FzZSAiJGhvc3Rfb3MiIGluCitpcml4NCopCUFDX0NIRUNLX0xJQihzdW4sIGdldHB3ZW50KSA7OworZXNhYworCitkbmwgY2hlY2sgZm9yIGdldHBlZXJuYW1lIGluIHRoZSBzb2NrZXQgbGlicmFyeSBvbmx5IGlmIGl0J3Mgbm90IGluIGxpYmMKK2lmIHRlc3QgIiRhY19jdl9mdW5jX2dldHBlZXJuYW1lIiA9IG5vOyB0aGVuCisJQkFTSF9DSEVDS19MSUJfU09DS0VUCitmaQorZG5sIGNoZWNrIGZvciBnZXRob3N0YnluYW1lIGluIHNvY2tldCBsaWJyYXJpZXMgaWYgaXQncyBub3QgaW4gbGliYworaWYgdGVzdCAiJGFjX2N2X2Z1bmNfZ2V0aG9zdGJ5bmFtZSIgPSBubzsgdGhlbgorCUJBU0hfRlVOQ19HRVRIT1NUQllOQU1FCitmaQorCitkbmwgc3lzdGVtIHR5cGVzCitBQ19UWVBFX0dFVEdST1VQUworQUNfVFlQRV9PRkZfVAorQUNfVFlQRV9NT0RFX1QKK0FDX1RZUEVfVUlEX1QKK0FDX1RZUEVfUElEX1QKK0FDX1RZUEVfU0laRV9UCitBQ19DSEVDS19UWVBFKHNzaXplX3QsIGludCkKK0FDX0NIRUNLX1RZUEUodGltZV90LCBsb25nKQorCitCQVNIX1RZUEVfTE9OR19MT05HCitCQVNIX1RZUEVfVU5TSUdORURfTE9OR19MT05HCisKK0FDX1RZUEVfU0lHTkFMCitCQVNIX1RZUEVfU0lHX0FUT01JQ19UCisKK0FDX0NIRUNLX1NJWkVPRihjaGFyLCAxKQorQUNfQ0hFQ0tfU0laRU9GKHNob3J0LCAyKQorQUNfQ0hFQ0tfU0laRU9GKGludCwgNCkKK0FDX0NIRUNLX1NJWkVPRihsb25nLCA0KQorQUNfQ0hFQ0tfU0laRU9GKGNoYXIgKiwgNCkKK0FDX0NIRUNLX1NJWkVPRihkb3VibGUsIDgpCitBQ19DSEVDS19TSVpFT0YoW2xvbmcgbG9uZ10sIDgpCisKK0FDX0NIRUNLX1RZUEUodV9pbnQsIFt1bnNpZ25lZCBpbnRdKQorQUNfQ0hFQ0tfVFlQRSh1X2xvbmcsIFt1bnNpZ25lZCBsb25nXSkKKworQkFTSF9UWVBFX0JJVFMxNl9UCitCQVNIX1RZUEVfVV9CSVRTMTZfVAorQkFTSF9UWVBFX0JJVFMzMl9UCitCQVNIX1RZUEVfVV9CSVRTMzJfVAorQkFTSF9UWVBFX0JJVFM2NF9UCisKK0JBU0hfVFlQRV9QVFJESUZGX1QKKworZG5sIHN0cnVjdHVyZXMKK0FDX0hFQURFUl9TVEFUCisKK2RubCBzeXN0ZW0gc2VydmljZXMKK0FDX1NZU19JTlRFUlBSRVRFUgoraWYgdGVzdCAkYWNfY3Zfc3lzX2ludGVycHJldGVyID0geWVzOyB0aGVuCitBQ19ERUZJTkUoSEFWRV9IQVNIX0JBTkdfRVhFQykKK2ZpCisKK2RubCBNaXNjZWxsYW5lb3VzIEJhc2ggdGVzdHMKK2lmIHRlc3QgIiRhY19jdl9mdW5jX2xzdGF0IiA9ICJubyI7IHRoZW4KK0JBU0hfRlVOQ19MU1RBVAorZmkKKworZG5sIGJlaGF2aW9yIG9mIHN5c3RlbSBjYWxscyBhbmQgbGlicmFyeSBmdW5jdGlvbnMKK0JBU0hfRlVOQ19DVFlQRV9OT05BU0NJSQorQkFTSF9GVU5DX0RVUDJfQ0xPRVhFQ19DSEVDSworQkFTSF9TWVNfUEdSUF9TWU5DCitCQVNIX1NZU19TSUdOQUxfVklOVEFHRQorCitkbmwgY2hlY2tpbmcgZm9yIHRoZSBwcmVzZW5jZSBvZiBjZXJ0YWluIGxpYnJhcnkgc3ltYm9scworQkFTSF9TWVNfRVJSTElTVAorQkFTSF9TWVNfU0lHTElTVAorQkFTSF9VTkRFUl9TWVNfU0lHTElTVAorCitkbmwgdmFyaW91cyBzeXN0ZW0gdHlwZXMKK0JBU0hfVFlQRV9TSUdIQU5ETEVSCitCQVNIX0NIRUNLX1RZUEUoY2xvY2tfdCwgWyNpbmNsdWRlIDxzeXMvdGltZXMuaD5dLCBsb25nKQorQkFTSF9DSEVDS19UWVBFKHNpZ3NldF90LCBbI2luY2x1ZGUgPHNpZ25hbC5oPl0sIGludCkKK0JBU0hfQ0hFQ0tfVFlQRShxdWFkX3QsICwgbG9uZywgSEFWRV9RVUFEX1QpCitCQVNIX0NIRUNLX1RZUEUoaW50bWF4X3QsICwgJGJhc2hfY3ZfdHlwZV9sb25nX2xvbmcpCitCQVNIX0NIRUNLX1RZUEUodWludG1heF90LCAsICRiYXNoX2N2X3R5cGVfdW5zaWduZWRfbG9uZ19sb25nKQoraWYgdGVzdCAiJGFjX2N2X2hlYWRlcl9zeXNfc29ja2V0X2giID0gInllcyI7IHRoZW4KK0JBU0hfQ0hFQ0tfVFlQRShzb2NrbGVuX3QsIFsjaW5jbHVkZSA8c3lzL3NvY2tldC5oPl0sIGludCwgSEFWRV9TT0NLTEVOX1QpCitmaQorQkFTSF9UWVBFX1JMSU1JVAorCitkbmwgcHJlc2VuY2UgYW5kIGNvbnRlbnRzIG9mIHN0cnVjdHVyZXMgdXNlZCBieSBzeXN0ZW0gY2FsbHMKK0JBU0hfU1RSVUNUX1RFUk1JT1NfTERJU0MKK0JBU0hfU1RSVUNUX1RFUk1JT19MRElTQworQkFTSF9TVFJVQ1RfRElSRU5UX0RfSU5PCitCQVNIX1NUUlVDVF9ESVJFTlRfRF9GSUxFTk8KK0JBU0hfU1RSVUNUX0RJUkVOVF9EX05BTUxFTgorQkFTSF9TVFJVQ1RfV0lOU0laRQorQkFTSF9TVFJVQ1RfVElNRVZBTAorQUNfQ0hFQ0tfTUVNQkVSUyhbc3RydWN0IHN0YXQuc3RfYmxvY2tzXSkKK0FDX1NUUlVDVF9UTQorQUNfU1RSVUNUX1RJTUVaT05FCitCQVNIX1NUUlVDVF9USU1FWk9ORQorCitkbmwgcHJlc2VuY2UgYW5kIGJlaGF2aW9yIG9mIEMgbGlicmFyeSBmdW5jdGlvbnMKK0JBU0hfRlVOQ19TVFJTSUdOQUwKK0JBU0hfRlVOQ19PUEVORElSX0NIRUNLCitCQVNIX0ZVTkNfVUxJTUlUX01BWEZEUworQkFTSF9GVU5DX0ZQVVJHRQorQkFTSF9GVU5DX0dFVEVOVgoraWYgdGVzdCAiJGFjX2N2X2Z1bmNfZ2V0Y3dkIiA9ICJ5ZXMiOyB0aGVuCitCQVNIX0ZVTkNfR0VUQ1dECitmaQorQkFTSF9GVU5DX1BPU0lYX1NFVEpNUAorQkFTSF9GVU5DX1NUUkNPTEwKKworZG5sIElmIHB1dGVudiBvciB1bnNldGVudiBpcyBub3QgcHJlc2VudCwgc2V0IHRoZSByaWdodCBkZWZpbmUgc28gdGhlCitkbmwgcHJvdG90eXBlIGFuZCBkZWNsYXJhdGlvbiBpbiBsaWIvc2gvZ2V0ZW52LmMgd2lsbCBiZSBzdGFuZGFyZC1jb25mb3JtYW50CisKK2lmIHRlc3QgIiRhY19jdl9mdW5jX3B1dGVudiIgPSAieWVzIjsgdGhlbgorQkFTSF9GVU5DX1NURF9QVVRFTlYKK2Vsc2UKK0FDX0RFRklORShIQVZFX1NURF9QVVRFTlYpCitmaQoraWYgdGVzdCAiJGFjX2N2X2Z1bmNfdW5zZXRlbnYiID0gInllcyI7IHRoZW4KK0JBU0hfRlVOQ19TVERfVU5TRVRFTlYKK2Vsc2UKK0FDX0RFRklORShIQVZFX1NURF9VTlNFVEVOVikKK2ZpCisKK0JBU0hfRlVOQ19QUklOVEZfQV9GT1JNQVQKKworZG5sIHByZXNlbmNlIGFuZCBiZWhhdmlvciBvZiBPUyBmdW5jdGlvbnMKK0JBU0hfU1lTX1JFSU5TVEFMTF9TSUdIQU5ETEVSUworQkFTSF9TWVNfSk9CX0NPTlRST0xfTUlTU0lORworQkFTSF9TWVNfTkFNRURfUElQRVMKKworZG5sIHByZXNlbmNlIG9mIGNlcnRhaW4gQ1BQIGRlZmluZXMKK0FDX0hFQURFUl9USU9DR1dJTlNaCitCQVNIX0hBVkVfVElPQ1NUQVQKK0JBU0hfSEFWRV9GSU9OUkVBRAorCitCQVNIX0NIRUNLX1dDT05USU5VRUQKKworZG5sIG1pc2NlbGxhbmVvdXMKK0JBU0hfQ0hFQ0tfU1BFRURfVAorQkFTSF9DSEVDS19HRVRQV19GVU5DUworQkFTSF9DSEVDS19SVFNJR1MKK0JBU0hfQ0hFQ0tfU1lTX1NJR0xJU1QKKworZG5sIHNwZWNpYWwgY2hlY2tzCitjYXNlICIkaG9zdF9vcyIgaW4KK2hwdXgqKQlCQVNIX0NIRUNLX0tFUk5FTF9STElNSVQgOzsKK2VzYWMKKworaWYgdGVzdCAiJG9wdF9yZWFkbGluZSIgPSB5ZXM7IHRoZW4KK2RubCB5dWNrCitjYXNlICIkaG9zdF9vcyIgaW4KK2FpeCopCXByZWZlcl9jdXJzZXM9eWVzIDs7Citlc2FjCitCQVNIX0NIRUNLX0xJQl9URVJNQ0FQCitmaQorQUNfU1VCU1QoVEVSTUNBUF9MSUIpCitBQ19TVUJTVChURVJNQ0FQX0RFUCkKKworQkFTSF9DSEVDS19ERVZfRkQKK0JBU0hfQ0hFQ0tfREVWX1NURElOCitCQVNIX1NZU19ERUZBVUxUX01BSUxfRElSCisKK2lmIHRlc3QgIiRiYXNoX2N2X2pvYl9jb250cm9sX21pc3NpbmciID0gbWlzc2luZzsgdGhlbgorCW9wdF9qb2JfY29udHJvbD1ubworZmkKKworaWYgdGVzdCAiJG9wdF9qb2JfY29udHJvbCIgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShKT0JfQ09OVFJPTCkKK0pPQlNfTz1qb2JzLm8KK2Vsc2UKK0pPQlNfTz1ub2pvYnMubworZmkKKworQUNfU1VCU1QoSk9CU19PKQorCitkbmwgRGVmaW5lcyB0aGF0IHdlIHdhbnQgdG8gcHJvcGFnYXRlIHRvIHRoZSBNYWtlZmlsZXMgaW4gc3ViZGlyZWN0b3JpZXMsCitkbmwgbGlrZSBnbG9iIGFuZCByZWFkbGluZQorCitMT0NBTF9ERUZTPS1EU0hFTEwKKworZG5sIHVzZSB0aGlzIHNlY3Rpb24gdG8gcG9zc2libHkgZGVmaW5lIG1vcmUgY3BwIHZhcmlhYmxlcywgc3BlY2lmeSBsb2NhbAorZG5sIGxpYnJhcmllcywgYW5kIHNwZWNpZnkgYW55IGFkZGl0aW9uYWwgbG9jYWwgY2Mgb3IgbGQgZmxhZ3MKK2RubAorZG5sIHRoaXMgc2hvdWxkIHJlYWxseSBnbyBhd2F5IHNvbWVkYXkKKworY2FzZSAiJHtob3N0X29zfSIgaW4KK3N5c3Y0LjIqKQlBQ19ERUZJTkUoU1ZSNF8yKQorCQlBQ19ERUZJTkUoU1ZSNCkgOzsKK3N5c3Y0KikJCUFDX0RFRklORShTVlI0KSA7Oworc3lzdjUqKQkJQUNfREVGSU5FKFNWUjUpIDs7CitocHV4OSopCQlMT0NBTF9DRkxBR1M9Ii1ESFBVWDkgLURIUFVYIiA7OworaHB1eCopCQlMT0NBTF9DRkxBR1M9LURIUFVYIDs7CitkZ3V4KikJCUxPQ0FMX0NGTEFHUz0tRF9ER1VYX1NPVVJDRTsgTE9DQUxfTElCUz0tbGRnYyA7OworaXNjKikJCUxPQ0FMX0NGTEFHUz0tRGlzYzM4NiA7OworcmhhcHNvZHkqKQlMT0NBTF9DRkxBR1M9LURSSEFQU09EWSA7OworZGFyd2luKikJTE9DQUxfQ0ZMQUdTPS1ETUFDT1NYIDs7CitzY28zLjJ2NSopCUxPQ0FMX0NGTEFHUz0iLWIgZWxmIC1EV0FJVFBJRF9CUk9LRU4gLURQQVRIX01BWD0xMDI0IiA7Oworc2NvMy4ydjQqKQlMT0NBTF9DRkxBR1M9Ii1ETVVTVF9VTkJMT0NLX0NITEQgLURQQVRIX01BWD0xMDI0IiA7Oworc2NvMy4yKikJTE9DQUxfQ0ZMQUdTPS1ETVVTVF9VTkJMT0NLX0NITEQgOzsKK3N1bm9zNCopCUxPQ0FMX0NGTEFHUz0tRFN1bk9TNCA7Oworc29sYXJpczIuNSopCUxPQ0FMX0NGTEFHUz0iLURTdW5PUzUgLURTT0xBUklTIiA7Oworc29sYXJpczIuOCopCUxPQ0FMX0NGTEFHUz0tRFNPTEFSSVMgIDs7Citzb2xhcmlzMi45KikJTE9DQUxfQ0ZMQUdTPS1EU09MQVJJUyAgOzsKK3NvbGFyaXMyLjEwKikJTE9DQUxfQ0ZMQUdTPS1EU09MQVJJUyAgOzsKK3NvbGFyaXMyKikJTE9DQUxfQ0ZMQUdTPS1EU09MQVJJUyA7OworbHlueG9zKikJTE9DQUxfQ0ZMQUdTPS1EUkVDWUNMRVNfUElEUyA7OworbGludXgqKQkJTE9DQUxfTERGTEFHUz0tcmR5bmFtaWMJCSAjIGFsbG93IGR5bmFtaWMgbG9hZGluZworCQljYXNlICJgdW5hbWUgLXJgIiBpbgorCQkyLltbNDU2Nzg5XV0qfDMqKQlBQ19ERUZJTkUoUEdSUF9QSVBFKSA7OworCQllc2FjIDs7CisqcW54NiopCQlMT0NBTF9DRkxBR1M9Ii1EcW54IC1EcW54NiIgTE9DQUxfTElCUz0iLWxuY3Vyc2VzIiA7OworKnFueCopCQlMT0NBTF9DRkxBR1M9Ii1EcW54IC1GIC0zcyIgTE9DQUxfTERGTEFHUz0iLTNzIiBMT0NBTF9MSUJTPSItbHVuaXggLWxuY3Vyc2VzIiA7OworcG93ZXJ1eCopCUxPQ0FMX0xJQlM9Ii1sZ2VuIiA7OworY3lnd2luKikJTE9DQUxfQ0ZMQUdTPS1EUkVDWUNMRVNfUElEUyA7Oworb3Blbm50KnxpbnRlcml4KikgTE9DQUxfQ0ZMQUdTPSItRE5PX01BSU5fRU5WX0FSRyAtREJST0tFTl9ESVJFTlRfRF9JTk8gLURfUE9TSVhfU09VUkNFIiA7OworZXNhYworCitkbmwgU3RhbnphIGZvciBPUy9jb21waWxlciBwYWlyLXNwZWNpZmljIGZsYWdzCitjYXNlICIke2hvc3Rfb3N9LSR7Q0N9IiBpbgorYWl4NC4yKi0qZ2NjKikJTE9DQUxfTERGTEFHUz0iLVhsaW5rZXIgLWJleHBhbGwgLVhsaW5rZXIgLWJydGwiIDs7CithaXg0LjIqKQlMT0NBTF9MREZMQUdTPSItYmV4cGFsbCAtYnJ0bCIgOzsKK2JzZGk0Ki0qZ2NjKikJTE9DQUxfTERGTEFHUz0iLXJkeW5hbWljIiA7OwkjIGFsbG93IGR5bmFtaWMgbG9hZGluZywgbGlrZSBMaW51eAorZXNhYworCitkbmwgRnJlZUJTRC0zLnggY2FuIGhhdmUgZWl0aGVyIGEub3V0IG9yIEVMRgorY2FzZSAiJHtob3N0X29zfSIgaW4KK2ZyZWVic2RbWzMtOV1dKikKKwkJaWYgdGVzdCAteCAvdXNyL2Jpbi9vYmpmb3JtYXQgJiYgdGVzdCAiYC91c3IvYmluL29iamZvcm1hdGAiID0gImVsZiIgOyB0aGVuCisJCQlMT0NBTF9MREZMQUdTPS1yZHluYW1pYyAjIGFsbG93IGR5bmFtaWMgbG9hZGluZworCQlmaSA7OworZnJlZWJzZGVsZiopCUxPQ0FMX0xERkxBR1M9LXJkeW5hbWljIDs7CSMgYWxsb3cgZHluYW1pYyBsb2FkaW5nCitkcmFnb25mbHkqKQlMT0NBTF9MREZMQUdTPS1yZHluYW1pYyA7OwkjIGFsbG93IGR5bmFtaWMgbG9hZGluZworZXNhYworCitjYXNlICIkaG9zdF9jcHUiIGluCisqY3JheSopCQlMT0NBTF9DRkxBR1M9Ii1EQ1JBWSIgOzsgIyBzaGVsbCB2YXIgc28gY29uZmlnLmggY2FuIHVzZSBpdAorZXNhYworCitjYXNlICIkaG9zdF9jcHUtJGhvc3Rfb3MiIGluCitpYm1ydC0qYnNkNCopCUxPQ0FMX0NGTEFHUz0iLW1hIC1VX19TVERDX18iIDs7Citlc2FjCisKK2Nhc2UgIiRob3N0X2NwdS0kaG9zdF92ZW5kb3ItJGhvc3Rfb3MiIGluCittODhrLW1vdG9yb2xhLXN5c3YzKQlMT0NBTF9DRkxBR1M9LURXQUlUUElEX0JST0tFTiA7OworbWlwcy1weXJhbWlkLXN5c3Y0KQlMT0NBTF9DRkxBR1M9LVhhIDs7Citlc2FjCisKKyMKKyMgU2hhcmVkIG9iamVjdCBjb25maWd1cmF0aW9uIHNlY3Rpb24uICBUaGVzZSB2YWx1ZXMgYXJlIGdlbmVyYXRlZCBieQorIyAke3NyY2Rpcn0vc3VwcG9ydC9zaG9iai1jb25mCisjCitpZiB0ZXN0ICIkYWNfY3ZfZnVuY19kbG9wZW4iID0gInllcyIgJiYgdGVzdCAtZiAke3NyY2Rpcn0vc3VwcG9ydC9zaG9iai1jb25mCit0aGVuCisJQUNfTVNHX0NIRUNLSU5HKHNoYXJlZCBvYmplY3QgY29uZmlndXJhdGlvbiBmb3IgbG9hZGFibGUgYnVpbHRpbnMpCisJZXZhbCBgJHtDT05GSUdfU0hFTEwtL2Jpbi9zaH0gJHtzcmNkaXJ9L3N1cHBvcnQvc2hvYmotY29uZiAtQyAiJHtDQ30iIC1jICIke2hvc3RfY3B1fSIgLW8gIiR7aG9zdF9vc30iIC12ICIke2hvc3RfdmVuZG9yfSJgCisJQUNfU1VCU1QoU0hPQkpfQ0MpCisJQUNfU1VCU1QoU0hPQkpfQ0ZMQUdTKQorCUFDX1NVQlNUKFNIT0JKX0xEKQorCUFDX1NVQlNUKFNIT0JKX0xERkxBR1MpCisJQUNfU1VCU1QoU0hPQkpfWExERkxBR1MpCisJQUNfU1VCU1QoU0hPQkpfTElCUykKKwlBQ19TVUJTVChTSE9CSl9TVEFUVVMpCisJQUNfTVNHX1JFU1VMVCgkU0hPQkpfU1RBVFVTKQorZmkKKworIyB0cnkgdG8gY3JlYXRlIGEgZGlyZWN0b3J5IHRyZWUgaWYgdGhlIHNvdXJjZSBpcyBlbHNld2hlcmUKKyMgdGhpcyBzaG91bGQgYmUgcGFja2FnZWQgaW50byBhIHNjcmlwdCBhY2Nlc3NpYmxlIHZpYSAke3NyY2Rpcn0vc3VwcG9ydAorY2FzZSAiJHNyY2RpciIgaW4KKy4pCTs7CisqKQlmb3IgZCBpbiBkb2MgdGVzdHMgc3VwcG9ydCBsaWIgZXhhbXBsZXM7IGRvCSMgZGlycworCQl0ZXN0IC1kICRkIHx8IG1rZGlyICRkCisJZG9uZQorCWZvciBsZCBpbiByZWFkbGluZSBnbG9iIHRpbGRlIG1hbGxvYyBzaCB0ZXJtY2FwOyBkbwkjIGxpYmRpcnMKKwkJdGVzdCAtZCBsaWIvJGxkIHx8IG1rZGlyIGxpYi8kbGQKKwlkb25lCisJdGVzdCAtZCBleGFtcGxlcy9sb2FkYWJsZXMgfHwgbWtkaXIgZXhhbXBsZXMvbG9hZGFibGVzCSMgbG9hZGFibGUgYnVpbHRpbnMKKwl0ZXN0IC1kIGV4YW1wbGVzL2xvYWRhYmxlcy9wZXJsIHx8IG1rZGlyIGV4YW1wbGVzL2xvYWRhYmxlcy9wZXJsCisJOzsKK2VzYWMKKworQlVJTERfRElSPWBwd2RgCitjYXNlICIkQlVJTERfRElSIiBpbgorKlwgKikJQlVJTERfRElSPWBlY2hvICIkQlVJTERfRElSIiB8IHNlZCAnczogOlxcXFwgOmcnYCA7OworKikJOzsKK2VzYWMKKworaWYgdGVzdCAteiAiJGxvY2FsZWRpciI7IHRoZW4KKwlsb2NhbGVkaXI9JyR7ZGF0YXJvb3RkaXJ9L2xvY2FsZScKK2ZpCitpZiB0ZXN0IC16ICIkZGF0YXJvb3RkaXIiOyB0aGVuCisJZGF0YXJvb3RkaXI9JyR7cHJlZml4fS9zaGFyZScKK2ZpCisKK0FDX1NVQlNUKFBST0ZJTEVfRkxBR1MpCisKK0FDX1NVQlNUKGluY2RpcikKK0FDX1NVQlNUKEJVSUxEX0RJUikKKworIyBTb21lIHZlcnNpb25zIG9mIGF1dG9jb25mIGRvbid0IHN1YnN0aXR1dGUgdGhlc2UgYXV0b21hdGljYWxseQorQUNfU1VCU1QoZGF0YXJvb3RkaXIpCitBQ19TVUJTVChsb2NhbGVkaXIpCisKK0FDX1NVQlNUKFlBQ0MpCitBQ19TVUJTVChBUikKK0FDX1NVQlNUKEFSRkxBR1MpCisKK0FDX1NVQlNUKEJBU0hWRVJTKQorQUNfU1VCU1QoUkVMU1RBVFVTKQorQUNfU1VCU1QoREVCVUcpCitBQ19TVUJTVChNQUxMT0NfREVCVUcpCisKK0FDX1NVQlNUKGhvc3RfY3B1KQorQUNfU1VCU1QoaG9zdF92ZW5kb3IpCitBQ19TVUJTVChob3N0X29zKQorCitBQ19TVUJTVChMT0NBTF9MSUJTKQorQUNfU1VCU1QoTE9DQUxfQ0ZMQUdTKQorQUNfU1VCU1QoTE9DQUxfTERGTEFHUykKK0FDX1NVQlNUKExPQ0FMX0RFRlMpCisKKyNBQ19TVUJTVChBTExPQ0FfU09VUkNFKQorI0FDX1NVQlNUKEFMTE9DQV9PQkpFQ1QpCisKK0FDX09VVFBVVChbTWFrZWZpbGUgYnVpbHRpbnMvTWFrZWZpbGUgbGliL3JlYWRsaW5lL01ha2VmaWxlIGxpYi9nbG9iL01ha2VmaWxlIFwKKwkgIGxpYi9pbnRsL01ha2VmaWxlIFwKKwkgIGxpYi9tYWxsb2MvTWFrZWZpbGUgbGliL3NoL01ha2VmaWxlIGxpYi90ZXJtY2FwL01ha2VmaWxlIFwKKwkgIGxpYi90aWxkZS9NYWtlZmlsZSBkb2MvTWFrZWZpbGUgc3VwcG9ydC9NYWtlZmlsZSBwby9NYWtlZmlsZS5pbiBcCisJICBleGFtcGxlcy9sb2FkYWJsZXMvTWFrZWZpbGUgZXhhbXBsZXMvbG9hZGFibGVzL3BlcmwvTWFrZWZpbGVdLAorWworIyBNYWtlZmlsZSB1c2VzIHRoaXMgdGltZXN0YW1wIGZpbGUgdG8gcmVjb3JkIHdoZXRoZXIgY29uZmlnLmggaXMgdXAgdG8gZGF0ZS4KK2VjaG8gdGltZXN0YW1wID4gc3RhbXAtaAorXSkKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5pbi5zYXZlIGIvY29uZmlndXJlLmluLnNhdmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmYzMDEyZQotLS0gL2Rldi9udWxsCisrKyBiL2NvbmZpZ3VyZS5pbi5zYXZlCkBAIC0wLDAgKzEsMTE0NSBAQAorZG5sCitkbmwgQ29uZmlndXJlIHNjcmlwdCBmb3IgYmFzaC00LjAKK2RubAorZG5sIHJlcG9ydCBidWdzIHRvIGNoZXRAcG8uY3dydS5lZHUKK2RubAorZG5sIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b2NvbmYgdG8gcHJvZHVjZSBhIGNvbmZpZ3VyZSBzY3JpcHQuCisKKyMgQ29weXJpZ2h0IChDKSAxOTg3LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyMKKyMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworQUNfUkVWSVNJT04oW2ZvciBCYXNoIDQuMCwgdmVyc2lvbiA0LjAxM10pZG5sCisKK2RlZmluZShiYXNodmVycywgNC4wKQorZGVmaW5lKHJlbHN0YXR1cywgcmVsZWFzZSkKKworQUNfSU5JVChbYmFzaF0sIGJhc2h2ZXJzLXJlbHN0YXR1cywgW2J1Zy1iYXNoQGdudS5vcmddKQorCitkbmwgbWFrZSBzdXJlIHdlIGFyZSB1c2luZyBhIHJlY2VudCBhdXRvY29uZiB2ZXJzaW9uCitBQ19QUkVSRVEoMi41MCkKKworQUNfQ09ORklHX1NSQ0RJUihzaGVsbC5oKQorZG5sIHdoZXJlIHRvIGZpbmQgaW5zdGFsbC5zaCwgY29uZmlnLnN1YiwgYW5kIGNvbmZpZy5ndWVzcworQUNfQ09ORklHX0FVWF9ESVIoLi9zdXBwb3J0KQorQUNfQ09ORklHX0hFQURFUlMoY29uZmlnLmgpCisKK2RubCBjaGVja3MgZm9yIHZlcnNpb24gaW5mbworQkFTSFZFUlM9YmFzaHZlcnMKK1JFTFNUQVRVUz1yZWxzdGF0dXMKKworZG5sIGRlZmF1bHRzIGZvciBkZWJ1ZyBzZXR0aW5ncworY2FzZSAiJFJFTFNUQVRVUyIgaW4KK2FscCp8YmV0KnxkZXYqfHJjKnxtYWludCopCURFQlVHPSctRERFQlVHJyBNQUxMT0NfREVCVUc9Jy1ETUFMTE9DX0RFQlVHJyA7OworKikJREVCVUc9IE1BTExPQ19ERUJVRz0gOzsKK2VzYWMKKworZG5sIGNhbm9uaWNhbGl6ZSB0aGUgaG9zdCBhbmQgb3Mgc28gd2UgY2FuIGRvIHNvbWUgdHJpY2t5IHRoaW5ncyBiZWZvcmUKK2RubCBwYXJzaW5nIG9wdGlvbnMKK0FDX0NBTk9OSUNBTF9IT1NUCisKK2RubCBjb25maWd1cmUgZGVmYXVsdHMKK29wdF9iYXNoX21hbGxvYz15ZXMKK29wdF9wdXJpZnk9bm8KK29wdF9wdXJlY292PW5vCitvcHRfYWZzPW5vCitvcHRfY3Vyc2VzPW5vCitvcHRfd2l0aF9pbnN0YWxsZWRfcmVhZGxpbmU9bm8KKworI2h0bWxkaXI9CisKK2RubCBzb21lIHN5c3RlbXMgc2hvdWxkIGJlIGNvbmZpZ3VyZWQgd2l0aG91dCB0aGUgYmFzaCBtYWxsb2MgYnkgZGVmYXVsdAorZG5sIGFuZCBzb21lIG5lZWQgYSBzcGVjaWFsIGNvbXBpbGVyIG9yIGxvYWRlcgorZG5sIGxvb2sgaW4gdGhlIE5PVEVTIGZpbGUgZm9yIG1vcmUKK2Nhc2UgIiR7aG9zdF9jcHV9LSR7aG9zdF9vc30iIGluCithbHBoYSotKikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgYWxwaGEgcnVubmluZyBvc2YvMSBvciBsaW51eAorKltbQ2NdXXJheSotKikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgQ3JheXMKKyotb3NmMSopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIG90aGVyIG9zZi8xIG1hY2hpbmVzCitzcGFyYy1zdnI0KikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgc3BhcmMgU1ZSNCwgU1ZSNC4yCitzcGFyYy1uZXRic2QqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBuZWVkcyA4LWJ5dGUgYWxpZ25tZW50CittaXBzLWlyaXg2KikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgbmVlZHMgOC1ieXRlIGFsaWdubWVudAorbTY4ay1zeXN2KQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBmaXhlcyBmaWxlIGRlc2NyaXB0b3IgbGVhayBpbiBjbG9zZWRpcgorc3BhcmMtbGludXgqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBzcGFyYyBydW5uaW5nIGxpbnV4OyByZXF1aXJlcyBFTEYKKyMqLWZyZWVic2QqLWdudSkJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgdGhlcmUncyBzb21lIHVuZGV0ZXJtaW5lZCBwcm9ibGVtIGhlcmUKKyMqLWZyZWVic2QqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyB0aGV5IGNsYWltIGl0J3MgYmV0dGVyOyBJIGRpc2FncmVlCisqLW9wZW5ic2QqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyB0aGV5IGNsYWltIGl0IG5lZWRzIGVpZ2h0LWJpdCBhbGlnbm1lbnQKKyotYWl4KikJCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIEFJWCBtYWNoaW5lcworKi1uZXh0c3RlcCopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIE5lWFQgbWFjaGluZXMgcnVubmluZyBOZVhUc3RlcAorKi1tYWNvcyopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIEFwcGxlIE1hY09TIFgKKyotcmhhcHNvZHkqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyBBcHBsZSBSaGFwc29keSAoTWFjT1MgWCkKKyotZGFyd2luKikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgQXBwbGUgRGFyd2luIChNYWNPUyBYKQorKi1kZ3V4KikJb3B0X2Jhc2hfbWFsbG9jPW5vIDs7CSMgREcvVVggbWFjaGluZXMKKyotcW54KikJCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIFFOWCA0LjIsIFFOWCA2LngKKyotbWFjaHRlbjQpCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIE1hY2hUZW4gNC54CisqLWJzZGkyLjF8Ki1ic2RpMy4/KQlvcHRfYmFzaF9tYWxsb2M9bm8gOyA6ICR7Q0M6PXNobGljYzJ9IDs7ICMgZm9yIGxvYWRhYmxlIGJ1aWx0aW5zCisqLWJlb3MqKQlvcHRfYmFzaF9tYWxsb2M9bm8gOzsJIyB0aGV5IHNheSBpdCdzIHN1aXRhYmxlCisqLWN5Z3dpbiopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIEN5Z251cydzIENZR1dJTiBlbnZpcm9ubWVudAorKi1vcGVubnQqfCotaW50ZXJpeCopCW9wdF9iYXNoX21hbGxvYz1ubyA7OwkjIEludGVyaXgsIG5vdyBvd25lZCBieSBNaWNyb3NvZnQKK2VzYWMKKworIyBtZW1vcnkgc2NyYW1ibGluZyBvbiBmcmVlKCkKK2Nhc2UgIiR7aG9zdF9vc30iIGluCitzY28zLjJ2NSp8c2NvMy4ydjQqKQlvcHRfbWVtc2NyYW1ibGU9bm8gOzsKKyopCQkJb3B0X21lbXNjcmFtYmxlPXllcyA7OworZXNhYworCitkbmwKK2RubCBtYWNyb3MgZm9yIHRoZSBiYXNoIGRlYnVnZ2VyCitkbmwKK0FNX1BBVEhfTElTUERJUgorQUNfQVJHX1ZBUihERUJVR0dFUl9TVEFSVF9GSUxFLCBbbG9jYXRpb24gb2YgYmFzaCBkZWJ1Z2dlciBpbml0aWFsaXphdGlvbiBmaWxlXSkKKworZG5sIGFyZ3VtZW50cyB0byBjb25maWd1cmUKK2RubCBwYWNrYWdlcworQUNfQVJHX1dJVEgoYWZzLCBBQ19IRUxQX1NUUklORyhbLS13aXRoLWFmc10sIFtpZiB5b3UgYXJlIHJ1bm5pbmcgQUZTXSksIG9wdF9hZnM9JHdpdGh2YWwpCitBQ19BUkdfV0lUSChiYXNoLW1hbGxvYywgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1iYXNoLW1hbGxvY10sIFt1c2UgdGhlIEJhc2ggdmVyc2lvbiBvZiBtYWxsb2NdKSwgb3B0X2Jhc2hfbWFsbG9jPSR3aXRodmFsKQorQUNfQVJHX1dJVEgoY3Vyc2VzLCBBQ19IRUxQX1NUUklORyhbLS13aXRoLWN1cnNlc10sIFt1c2UgdGhlIGN1cnNlcyBsaWJyYXJ5IGluc3RlYWQgb2YgdGhlIHRlcm1jYXAgbGlicmFyeV0pLCBvcHRfY3Vyc2VzPSR3aXRodmFsKQorQUNfQVJHX1dJVEgoZ251LW1hbGxvYywgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1nbnUtbWFsbG9jXSwgW3N5bm9ueW0gZm9yIC0td2l0aC1iYXNoLW1hbGxvY10pLCBvcHRfYmFzaF9tYWxsb2M9JHdpdGh2YWwpCitBQ19BUkdfV0lUSChpbnN0YWxsZWQtcmVhZGxpbmUsIEFDX0hFTFBfU1RSSU5HKFstLXdpdGgtaW5zdGFsbGVkLXJlYWRsaW5lXSwgW3VzZSBhIHZlcnNpb24gb2YgdGhlIHJlYWRsaW5lIGxpYnJhcnkgdGhhdCBpcyBhbHJlYWR5IGluc3RhbGxlZF0pLCBvcHRfd2l0aF9pbnN0YWxsZWRfcmVhZGxpbmU9JHdpdGh2YWwpCitBQ19BUkdfV0lUSChwdXJlY292LCBBQ19IRUxQX1NUUklORyhbLS13aXRoLXB1cmVjb3ZdLCBbY29uZmlndXJlIHRvIHBvc3Rwcm9jZXNzIHdpdGggcHVyZSBjb3ZlcmFnZV0pLCBvcHRfcHVyZWNvdj0kd2l0aHZhbCkKK0FDX0FSR19XSVRIKHB1cmlmeSwgQUNfSEVMUF9TVFJJTkcoWy0td2l0aC1wdXJpZnldLCBbY29uZmlndXJlIHRvIHBvc3Rwcm9jZXNzIHdpdGggcHVyaWZ5XSksIG9wdF9wdXJpZnk9JHdpdGh2YWwpCisKK2lmIHRlc3QgIiRvcHRfYmFzaF9tYWxsb2MiID0geWVzOyB0aGVuCisJTUFMTE9DX1RBUkdFVD1tYWxsb2MKKwlNQUxMT0NfU1JDPW1hbGxvYy5jCisKKwlNQUxMT0NfTElCPSctbG1hbGxvYycKKwlNQUxMT0NfTElCUkFSWT0nJChBTExPQ19MSUJESVIpL2xpYm1hbGxvYy5hJworCU1BTExPQ19MREZMQUdTPSctTCQoQUxMT0NfTElCRElSKScKKwlNQUxMT0NfREVQPSckKE1BTExPQ19MSUJSQVJZKScKKworCUFDX0RFRklORShVU0lOR19CQVNIX01BTExPQykKK2Vsc2UKKwlNQUxMT0NfTElCPQorCU1BTExPQ19MSUJSQVJZPQorCU1BTExPQ19MREZMQUdTPQorCU1BTExPQ19ERVA9CQorZmkKKworaWYgdGVzdCAiJG9wdF9wdXJpZnkiID0geWVzOyB0aGVuCisJUFVSSUZZPSJwdXJpZnkgIgorCUFDX0RFRklORShESVNBQkxFX01BTExPQ19XUkFQUEVSUykKK2Vsc2UKKwlQVVJJRlk9CitmaQorCitpZiB0ZXN0ICIkb3B0X3B1cmVjb3YiID0geWVzOyB0aGVuCisJUFVSSUZZPSIke1BVUklGWX1wdXJlY292IgorZmkKKworaWYgdGVzdCAiJG9wdF9hZnMiID0geWVzOyB0aGVuCisJQUNfREVGSU5FKEFGUykKK2ZpCisKK2lmIHRlc3QgIiRvcHRfY3Vyc2VzIiA9IHllczsgdGhlbgorCXByZWZlcl9jdXJzZXM9eWVzCitmaQorCitpZiB0ZXN0IC16ICIke0RFQlVHR0VSX1NUQVJUX0ZJTEV9IjsgdGhlbgorCURFQlVHR0VSX1NUQVJUX0ZJTEU9JyR7ZGF0YWRpcn0vYmFzaGRiL2Jhc2hkYi1tYWluLmluYycKK2ZpCisKK2RubCBvcHRpb25hbCBzaGVsbCBmZWF0dXJlcyBpbiBjb25maWcuaC5pbgorb3B0X21pbmltYWxfY29uZmlnPW5vCisKK29wdF9qb2JfY29udHJvbD15ZXMKK29wdF9hbGlhcz15ZXMKK29wdF9yZWFkbGluZT15ZXMKK29wdF9oaXN0b3J5PXllcworb3B0X2JhbmdfaGlzdG9yeT15ZXMKK29wdF9kaXJzdGFjaz15ZXMKK29wdF9yZXN0cmljdGVkPXllcworb3B0X3Byb2Nlc3Nfc3Vic3Q9eWVzCitvcHRfcHJvbXB0X2RlY29kaW5nPXllcworb3B0X3NlbGVjdD15ZXMKK29wdF9oZWxwPXllcworb3B0X2FycmF5X3ZhcmlhYmxlcz15ZXMKK29wdF9kcGFyZW5fYXJpdGg9eWVzCitvcHRfZXh0ZW5kZWRfZ2xvYj15ZXMKK29wdF9icmFjZV9leHBhbnNpb249eWVzCitvcHRfZGlzYWJsZWRfYnVpbHRpbnM9bm8KK29wdF9jb21tYW5kX3RpbWluZz15ZXMKK29wdF94cGdfZWNobz1ubworb3B0X3N0cmljdF9wb3NpeD1ubworb3B0X2NvbmRfY29tbWFuZD15ZXMKK29wdF9jb25kX3JlZ2V4cD15ZXMKK29wdF9jb3Byb2M9eWVzCitvcHRfYXJpdGhfZm9yX2NvbW1hbmQ9eWVzCitvcHRfbmV0X3JlZGlycz15ZXMKK29wdF9wcm9nY29tcD15ZXMKK29wdF9zZXBhcmF0ZV9oZWxwPW5vCitvcHRfbXVsdGlieXRlPXllcworb3B0X2RlYnVnZ2VyPXllcworb3B0X3NpbmdsZV9sb25nZG9jX3N0cmluZ3M9eWVzCitvcHRfY2FzZW1vZF9hdHRycz15ZXMKK29wdF9jYXNlbW9kX2V4cGFuc2lvbnM9eWVzCisKK2RubCBvcHRpb25zIHRoYXQgYWZmZWN0IGhvdyBiYXNoIGlzIGNvbXBpbGVkIGFuZCBsaW5rZWQKK29wdF9zdGF0aWNfbGluaz1ubworb3B0X3Byb2ZpbGluZz1ubworCitkbmwgYXJndW1lbnQgcGFyc2luZyBmb3Igb3B0aW9uYWwgZmVhdHVyZXMKK0FDX0FSR19FTkFCTEUobWluaW1hbC1jb25maWcsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1taW5pbWFsLWNvbmZpZ10sIFthIG1pbmltYWwgc2gtbGlrZSBjb25maWd1cmF0aW9uXSksIG9wdF9taW5pbWFsX2NvbmZpZz0kZW5hYmxldmFsKQorCitkbmwgYSBtaW5pbWFsIGNvbmZpZ3VyYXRpb24gdHVybnMgZXZlcnl0aGluZyBvZmYsIGJ1dCBmZWF0dXJlcyBjYW4gYmUKK2RubCBhZGRlZCBpbmRpdmlkdWFsbHkKK2lmIHRlc3QgJG9wdF9taW5pbWFsX2NvbmZpZyA9IHllczsgdGhlbgorCW9wdF9qb2JfY29udHJvbD1ubyBvcHRfYWxpYXM9bm8gb3B0X3JlYWRsaW5lPW5vCisJb3B0X2hpc3Rvcnk9bm8gb3B0X2JhbmdfaGlzdG9yeT1ubyBvcHRfZGlyc3RhY2s9bm8KKwlvcHRfcmVzdHJpY3RlZD1ubyBvcHRfcHJvY2Vzc19zdWJzdD1ubyBvcHRfcHJvbXB0X2RlY29kaW5nPW5vCisJb3B0X3NlbGVjdD1ubyBvcHRfaGVscD1ubyBvcHRfYXJyYXlfdmFyaWFibGVzPW5vIG9wdF9kcGFyZW5fYXJpdGg9bm8KKwlvcHRfYnJhY2VfZXhwYW5zaW9uPW5vIG9wdF9kaXNhYmxlZF9idWlsdGlucz1ubyBvcHRfY29tbWFuZF90aW1pbmc9bm8KKwlvcHRfZXh0ZW5kZWRfZ2xvYj1ubyBvcHRfY29uZF9jb21tYW5kPW5vIG9wdF9hcml0aF9mb3JfY29tbWFuZD1ubworCW9wdF9uZXRfcmVkaXJzPW5vIG9wdF9wcm9nY29tcD1ubyBvcHRfc2VwYXJhdGVfaGVscD1ubworCW9wdF9tdWx0aWJ5dGU9eWVzIG9wdF9jb25kX3JlZ2V4cD1ubyBvcHRfY29wcm9jPW5vCisJb3B0X2Nhc2Vtb2RfYXR0cnM9bm8gb3B0X2Nhc2Vtb2RfZXhwYW5zaW9ucz1ubworZmkKKworQUNfQVJHX0VOQUJMRShhbGlhcywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWFsaWFzXSwgW2VuYWJsZSBzaGVsbCBhbGlhc2VzXSksIG9wdF9hbGlhcz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShhcml0aC1mb3ItY29tbWFuZCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWFyaXRoLWZvci1jb21tYW5kXSwgW2VuYWJsZSBhcml0aG1ldGljIGZvciBjb21tYW5kXSksIG9wdF9hcml0aF9mb3JfY29tbWFuZD0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShhcnJheS12YXJpYWJsZXMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hcnJheS12YXJpYWJsZXNdLCBbaW5jbHVkZSBzaGVsbCBhcnJheSB2YXJpYWJsZXNdKSwgb3B0X2FycmF5X3ZhcmlhYmxlcz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShiYW5nLWhpc3RvcnksIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1iYW5nLWhpc3RvcnldLCBbdHVybiBvbiBjc2gtc3R5bGUgaGlzdG9yeSBzdWJzdGl0dXRpb25dKSwgb3B0X2JhbmdfaGlzdG9yeT0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShicmFjZS1leHBhbnNpb24sIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1icmFjZS1leHBhbnNpb25dLCBbaW5jbHVkZSBicmFjZSBleHBhbnNpb25dKSwgb3B0X2JyYWNlX2V4cGFuc2lvbj0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShjYXNlbW9kLWF0dHJpYnV0ZXMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jYXNlbW9kLWF0dHJpYnV0ZXNdLCBbaW5jbHVkZSBjYXNlLW1vZGlmeWluZyB2YXJpYWJsZSBhdHRyaWJ1dGVzXSksIG9wdF9jYXNlbW9kX2F0dHJzPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGNhc2Vtb2QtZXhwYW5zaW9ucywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWNhc2Vtb2QtZXhwYW5zaW9uc10sIFtpbmNsdWRlIGNhc2UtbW9kaWZ5aW5nIHdvcmQgZXhwYW5zaW9uc10pLCBvcHRfY2FzZW1vZF9leHBhbnNpb25zPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGNvbW1hbmQtdGltaW5nLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtY29tbWFuZC10aW1pbmddLCBbZW5hYmxlIHRoZSB0aW1lIHJlc2VydmVkIHdvcmQgYW5kIGNvbW1hbmQgdGltaW5nXSksIG9wdF9jb21tYW5kX3RpbWluZz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShjb25kLWNvbW1hbmQsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jb25kLWNvbW1hbmRdLCBbZW5hYmxlIHRoZSBjb25kaXRpb25hbCBjb21tYW5kXSksIG9wdF9jb25kX2NvbW1hbmQ9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoY29uZC1yZWdleHAsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jb25kLXJlZ2V4cF0sIFtlbmFibGUgZXh0ZW5kZWQgcmVndWxhciBleHByZXNzaW9uIG1hdGNoaW5nIGluIGNvbmRpdGlvbmFsIGNvbW1hbmRzXSksIG9wdF9jb25kX3JlZ2V4cD0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShjb3Byb2Nlc3NlcywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWNvcHJvY2Vzc2VzXSwgW2VuYWJsZSBjb3Byb2Nlc3Mgc3VwcG9ydCBhbmQgdGhlIGNvcHJvYyByZXNlcnZlZCB3b3JkXSksIG9wdF9jb3Byb2M9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoZGVidWdnZXIsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1kZWJ1Z2dlcl0sIFtlbmFibGUgc3VwcG9ydCBmb3IgYmFzaCBkZWJ1Z2dlcl0pLCBvcHRfZGVidWdnZXI9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoZGlyZWN0b3J5LXN0YWNrLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZGlyZWN0b3J5LXN0YWNrXSwgW2VuYWJsZSBidWlsdGlucyBwdXNoZC9wb3BkL2RpcnNdKSwgb3B0X2RpcnN0YWNrPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGRpc2FibGVkLWJ1aWx0aW5zLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtZGlzYWJsZWQtYnVpbHRpbnNdLCBbYWxsb3cgZGlzYWJsZWQgYnVpbHRpbnMgdG8gc3RpbGwgYmUgaW52b2tlZF0pLCBvcHRfZGlzYWJsZWRfYnVpbHRpbnM9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoZHBhcmVuLWFyaXRobWV0aWMsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1kcGFyZW4tYXJpdGhtZXRpY10sIFtpbmNsdWRlICgoLi4uKSkgY29tbWFuZF0pLCBvcHRfZHBhcmVuX2FyaXRoPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKGV4dGVuZGVkLWdsb2IsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1leHRlbmRlZC1nbG9iXSwgW2luY2x1ZGUga3NoLXN0eWxlIGV4dGVuZGVkIHBhdHRlcm4gbWF0Y2hpbmddKSwgb3B0X2V4dGVuZGVkX2dsb2I9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoaGVscC1idWlsdGluLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtaGVscC1idWlsdGluXSwgW2luY2x1ZGUgdGhlIGhlbHAgYnVpbHRpbl0pLCBvcHRfaGVscD0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShoaXN0b3J5LCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtaGlzdG9yeV0sIFt0dXJuIG9uIGNvbW1hbmQgaGlzdG9yeV0pLCBvcHRfaGlzdG9yeT0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShqb2ItY29udHJvbCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWpvYi1jb250cm9sXSwgW2VuYWJsZSBqb2IgY29udHJvbCBmZWF0dXJlc10pLCBvcHRfam9iX2NvbnRyb2w9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUobXVsdGlieXRlLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtbXVsdGlieXRlXSwgW2VuYWJsZSBtdWx0aWJ5dGUgY2hhcmFjdGVycyBpZiBPUyBzdXBwb3J0cyB0aGVtXSksIG9wdF9tdWx0aWJ5dGU9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUobmV0LXJlZGlyZWN0aW9ucywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLW5ldC1yZWRpcmVjdGlvbnNdLCBbZW5hYmxlIC9kZXYvdGNwL2hvc3QvcG9ydCByZWRpcmVjdGlvbl0pLCBvcHRfbmV0X3JlZGlycz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShwcm9jZXNzLXN1YnN0aXR1dGlvbiwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXByb2Nlc3Mtc3Vic3RpdHV0aW9uXSwgW2VuYWJsZSBwcm9jZXNzIHN1YnN0aXR1dGlvbl0pLCBvcHRfcHJvY2Vzc19zdWJzdD0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShwcm9nY29tcCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXByb2djb21wXSwgW2VuYWJsZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBhbmQgdGhlIGNvbXBsZXRlIGJ1aWx0aW5dKSwgb3B0X3Byb2djb21wPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKHByb21wdC1zdHJpbmctZGVjb2RpbmcsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1wcm9tcHQtc3RyaW5nLWRlY29kaW5nXSwgW3R1cm4gb24gZXNjYXBlIGNoYXJhY3RlciBkZWNvZGluZyBpbiBwcm9tcHRzXSksIG9wdF9wcm9tcHRfZGVjb2Rpbmc9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUocmVhZGxpbmUsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1yZWFkbGluZV0sIFt0dXJuIG9uIGNvbW1hbmQgbGluZSBlZGl0aW5nXSksIG9wdF9yZWFkbGluZT0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShyZXN0cmljdGVkLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtcmVzdHJpY3RlZF0sIFtlbmFibGUgYSByZXN0cmljdGVkIHNoZWxsXSksIG9wdF9yZXN0cmljdGVkPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKHNlbGVjdCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXNlbGVjdF0sIFtpbmNsdWRlIHNlbGVjdCBjb21tYW5kXSksIG9wdF9zZWxlY3Q9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoc2VwYXJhdGUtaGVscGZpbGVzLCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtc2VwYXJhdGUtaGVscGZpbGVzXSwgW3VzZSBleHRlcm5hbCBmaWxlcyBmb3IgaGVscCBidWlsdGluIGRvY3VtZW50YXRpb25dKSwgb3B0X3NlcGFyYXRlX2hlbHA9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUoc2luZ2xlLWhlbHAtc3RyaW5ncywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXNpbmdsZS1oZWxwLXN0cmluZ3NdLCBbc3RvcmUgaGVscCBkb2N1bWVudGF0aW9uIGFzIGEgc2luZ2xlIHN0cmluZyB0byBlYXNlIHRyYW5zbGF0aW9uXSksIG9wdF9zaW5nbGVfbG9uZ2RvY19zdHJpbmdzPSRlbmFibGV2YWwpCitBQ19BUkdfRU5BQkxFKHN0cmljdC1wb3NpeC1kZWZhdWx0LCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtc3RyaWN0LXBvc2l4LWRlZmF1bHRdLCBbY29uZmlndXJlIGJhc2ggdG8gYmUgcG9zaXgtY29uZm9ybWFudCBieSBkZWZhdWx0XSksIG9wdF9zdHJpY3RfcG9zaXg9JGVuYWJsZXZhbCkKK0FDX0FSR19FTkFCTEUodXNnLWVjaG8tZGVmYXVsdCwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXVzZy1lY2hvLWRlZmF1bHRdLCBbYSBzeW5vbnltIGZvciAtLWVuYWJsZS14cGctZWNoby1kZWZhdWx0XSksIG9wdF94cGdfZWNobz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRSh4cGctZWNoby1kZWZhdWx0LCBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUteHBnLWVjaG8tZGVmYXVsdF0sIFttYWtlIHRoZSBlY2hvIGJ1aWx0aW4gZXhwYW5kIGVzY2FwZSBzZXF1ZW5jZXMgYnkgZGVmYXVsdF0pLCBvcHRfeHBnX2VjaG89JGVuYWJsZXZhbCkKKworZG5sIG9wdGlvbnMgdGhhdCBhbHRlciBob3cgYmFzaCBpcyBjb21waWxlZCBhbmQgbGlua2VkCitBQ19BUkdfRU5BQkxFKG1lbS1zY3JhbWJsZSwgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLW1lbS1zY3JhbWJsZV0sIFtzY3JhbWJsZSBtZW1vcnkgb24gY2FsbHMgdG8gbWFsbG9jIGFuZCBmcmVlXSksIG9wdF9tZW1zY3JhbWJsZT0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShwcm9maWxpbmcsIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1wcm9maWxpbmddLCBbYWxsb3cgcHJvZmlsaW5nIHdpdGggZ3Byb2ZdKSwgb3B0X3Byb2ZpbGluZz0kZW5hYmxldmFsKQorQUNfQVJHX0VOQUJMRShzdGF0aWMtbGluaywgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXN0YXRpYy1saW5rXSwgW2xpbmsgYmFzaCBzdGF0aWNhbGx5LCBmb3IgdXNlIGFzIGEgcm9vdCBzaGVsbF0pLCBvcHRfc3RhdGljX2xpbms9JGVuYWJsZXZhbCkKKworZG5sIG9wdF9qb2JfY29udHJvbCBpcyBoYW5kbGVkIGxhdGVyLCBhZnRlciBCQVNIX0pPQl9DT05UUk9MX01JU1NJTkcgcnVucworCitkbmwgb3B0X3JlYWRsaW5lIGFuZCBvcHRfaGlzdG9yeSBhcmUgaGFuZGxlZCBsYXRlciwgYmVjYXVzZSBBQ19QUk9HX0NDIG5lZWRzCitkbmwgdG8gYmUgcnVuIGJlZm9yZSB3ZSBjYW4gY2hlY2sgdGhlIHZlcnNpb24gb2YgYW4gYWxyZWFkeS1pbnN0YWxsZWQgcmVhZGxpbmUKK2RubCBsaWJyYXJ5CisKK2lmIHRlc3QgJG9wdF9hbGlhcyA9IHllczsgdGhlbgorQUNfREVGSU5FKEFMSUFTKQorZmkKK2lmIHRlc3QgJG9wdF9kaXJzdGFjayA9IHllczsgdGhlbgorQUNfREVGSU5FKFBVU0hEX0FORF9QT1BEKQorZmkKK2lmIHRlc3QgJG9wdF9yZXN0cmljdGVkID0geWVzOyB0aGVuCitBQ19ERUZJTkUoUkVTVFJJQ1RFRF9TSEVMTCkKK2ZpCitpZiB0ZXN0ICRvcHRfcHJvY2Vzc19zdWJzdCA9IHllczsgdGhlbgorQUNfREVGSU5FKFBST0NFU1NfU1VCU1RJVFVUSU9OKQorZmkKK2lmIHRlc3QgJG9wdF9wcm9tcHRfZGVjb2RpbmcgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShQUk9NUFRfU1RSSU5HX0RFQ09ERSkKK2ZpCitpZiB0ZXN0ICRvcHRfc2VsZWN0ID0geWVzOyB0aGVuCitBQ19ERUZJTkUoU0VMRUNUX0NPTU1BTkQpCitmaQoraWYgdGVzdCAkb3B0X2hlbHAgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShIRUxQX0JVSUxUSU4pCitmaQoraWYgdGVzdCAkb3B0X2FycmF5X3ZhcmlhYmxlcyA9IHllczsgdGhlbgorQUNfREVGSU5FKEFSUkFZX1ZBUlMpCitmaQoraWYgdGVzdCAkb3B0X2RwYXJlbl9hcml0aCA9IHllczsgdGhlbgorQUNfREVGSU5FKERQQVJFTl9BUklUSE1FVElDKQorZmkKK2lmIHRlc3QgJG9wdF9icmFjZV9leHBhbnNpb24gPSB5ZXM7IHRoZW4KK0FDX0RFRklORShCUkFDRV9FWFBBTlNJT04pCitmaQoraWYgdGVzdCAkb3B0X2Rpc2FibGVkX2J1aWx0aW5zID0geWVzOyB0aGVuCitBQ19ERUZJTkUoRElTQUJMRURfQlVJTFRJTlMpCitmaQoraWYgdGVzdCAkb3B0X2NvbW1hbmRfdGltaW5nID0geWVzOyB0aGVuCitBQ19ERUZJTkUoQ09NTUFORF9USU1JTkcpCitmaQoraWYgdGVzdCAkb3B0X3hwZ19lY2hvID0geWVzIDsgdGhlbgorQUNfREVGSU5FKERFRkFVTFRfRUNIT19UT19YUEcpCitmaQoraWYgdGVzdCAkb3B0X3N0cmljdF9wb3NpeCA9IHllczsgdGhlbgorQUNfREVGSU5FKFNUUklDVF9QT1NJWCkKK2ZpCitpZiB0ZXN0ICRvcHRfZXh0ZW5kZWRfZ2xvYiA9IHllcyA7IHRoZW4KK0FDX0RFRklORShFWFRFTkRFRF9HTE9CKQorZmkKK2lmIHRlc3QgJG9wdF9jb25kX2NvbW1hbmQgPSB5ZXMgOyB0aGVuCitBQ19ERUZJTkUoQ09ORF9DT01NQU5EKQorZmkKK2lmIHRlc3QgJG9wdF9jb25kX3JlZ2V4cCA9IHllcyA7IHRoZW4KK0FDX0RFRklORShDT05EX1JFR0VYUCkKK2ZpCitpZiB0ZXN0ICRvcHRfY29wcm9jID0geWVzOyB0aGVuCitBQ19ERUZJTkUoQ09QUk9DRVNTX1NVUFBPUlQpCitmaQoraWYgdGVzdCAkb3B0X2FyaXRoX2Zvcl9jb21tYW5kID0geWVzOyB0aGVuCitBQ19ERUZJTkUoQVJJVEhfRk9SX0NPTU1BTkQpCitmaQoraWYgdGVzdCAkb3B0X25ldF9yZWRpcnMgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShORVRXT1JLX1JFRElSRUNUSU9OUykKK2ZpCitpZiB0ZXN0ICRvcHRfcHJvZ2NvbXAgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShQUk9HUkFNTUFCTEVfQ09NUExFVElPTikKK2ZpCitpZiB0ZXN0ICRvcHRfbXVsdGlieXRlID0gbm87IHRoZW4KK0FDX0RFRklORShOT19NVUxUSUJZVEVfU1VQUE9SVCkKK2ZpCitpZiB0ZXN0ICRvcHRfZGVidWdnZXIgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShERUJVR0dFUikKK2ZpCitpZiB0ZXN0ICRvcHRfY2FzZW1vZF9hdHRycyA9IHllczsgdGhlbgorQUNfREVGSU5FKENBU0VNT0RfQVRUUlMpCitmaQoraWYgdGVzdCAkb3B0X2Nhc2Vtb2RfZXhwYW5zaW9ucyA9IHllczsgdGhlbgorQUNfREVGSU5FKENBU0VNT0RfRVhQQU5TSU9OUykKK2ZpCisKK2lmIHRlc3QgJG9wdF9tZW1zY3JhbWJsZSA9IHllczsgdGhlbgorQUNfREVGSU5FKE1FTVNDUkFNQkxFKQorZmkKKworaWYgdGVzdCAiJG9wdF9taW5pbWFsX2NvbmZpZyIgPSB5ZXM7IHRoZW4KKwlURVNUU0NSSVBUPXJ1bi1taW5pbWFsCitlbHNlCisJVEVTVFNDUklQVD1ydW4tYWxsCitmaQorCitIRUxQRElSPSBIRUxQRElSREVGSU5FPSBIRUxQSU5TVEFMTD0KK2lmIHRlc3QgIiRvcHRfc2VwYXJhdGVfaGVscCIgIT0gbm87IHRoZW4KKwlpZiB0ZXN0ICIkb3B0X3NlcGFyYXRlX2hlbHAiID0gInllcyIgOyB0aGVuCisJCUhFTFBESVI9JyR7ZGF0YWRpcn0vYmFzaCcKKwllbHNlCisJCUhFTFBESVI9JG9wdF9zZXBhcmF0ZV9oZWxwCisJZmkKKwlIRUxQRElSREVGSU5FPSctSCAke0hFTFBESVJ9JworCUhFTFBJTlNUQUxMPSdpbnN0YWxsLWhlbHAnCitmaQorSEVMUFNUUklOR1M9CitpZiB0ZXN0ICIkb3B0X3NpbmdsZV9sb25nZG9jX3N0cmluZ3MiICE9ICJ5ZXMiOyB0aGVuCisJSEVMUFNUUklOR1M9Jy1TJworZmkKKworZG5sIG5vdyBzdWJzdGl0dXRlIGluIHRoZSB2YWx1ZXMgZ2VuZXJhdGVkIGJ5IGFyZ3VtZW50cworQUNfU1VCU1QoVEVTVFNDUklQVCkKK0FDX1NVQlNUKFBVUklGWSkKK0FDX1NVQlNUKE1BTExPQ19UQVJHRVQpCitBQ19TVUJTVChNQUxMT0NfU1JDKQorCitBQ19TVUJTVChNQUxMT0NfTElCKQorQUNfU1VCU1QoTUFMTE9DX0xJQlJBUlkpCitBQ19TVUJTVChNQUxMT0NfTERGTEFHUykKK0FDX1NVQlNUKE1BTExPQ19ERVApCisKK0FDX1NVQlNUKGh0bWxkaXIpCisKK0FDX1NVQlNUKEhFTFBESVIpCitBQ19TVUJTVChIRUxQRElSREVGSU5FKQorQUNfU1VCU1QoSEVMUElOU1RBTEwpCitBQ19TVUJTVChIRUxQU1RSSU5HUykKKworZWNobyAiIgorZWNobyAiQmVnaW5uaW5nIGNvbmZpZ3VyYXRpb24gZm9yIGJhc2gtJEJBU0hWRVJTLSRSRUxTVEFUVVMgZm9yICR7aG9zdF9jcHV9LSR7aG9zdF92ZW5kb3J9LSR7aG9zdF9vc30iCitlY2hvICIiCisKK2RubCBjb21waWxhdGlvbiBjaGVja3MKK2RubCBBQ19QUk9HX0NDIHNldHMgJGNyb3NzX2NvbXBpbGluZyB0byBgeWVzJyBpZiBjcm9zcy1jb21waWxpbmcgZm9yIGEKK2RubCBkaWZmZXJlbnQgZW52aXJvbm1lbnQKK0FDX1BST0dfQ0MKKworZG5sIHRlc3QgZm9yIFVuaXggdmFyaWFudHMKK0FDX0lTQ19QT1NJWAorQUNfTUlOSVgKKworQUNfU1lTX0xBUkdFRklMRQorCitkbmwgQkVHSU4gY2hhbmdlcyBmb3IgY3Jvc3MtYnVpbGRpbmcgKGN1cnJlbnRseSBjeWd3aW4sIG1pbkdXLCBhbmQKK2RubCAob2Jzb2xldGUpIEJlT1MpCisKK1NJR05BTUVTX089CitTSUdOQU1FU19IPWxzaWduYW1lcy5oCisKK2RubCBsb2FkIHVwIHRoZSBjcm9zcy1idWlsZGluZyBjYWNoZSBmaWxlIC0tIGFkZCBtb3JlIGNhc2VzIGFuZCBjYWNoZQorZG5sIGZpbGVzIGFzIG5lY2Vzc2FyeQorCitkbmwgTm90ZSB0aGF0IGhvc3QgYW5kIHRhcmdldCBtYWNoaW5lIGFyZSB0aGUgc2FtZSwgYW5kIGRpZmZlcmVudCB0aGFuIHRoZQorZG5sIGJ1aWxkIG1hY2hpbmUuCitkbmwgU2V0IFNJR05BTUVTX0ggYmFzZWQgb24gd2hldGhlciBvciBub3Qgd2UncmUgY3Jvc3MtY29tcGlsaW5nLgorCitDUk9TU19DT01QSUxFPQoraWYgdGVzdCAieCRjcm9zc19jb21waWxpbmciID0gInh5ZXMiOyB0aGVuCisgICAgY2FzZSAiJHtob3N0fSIgaW4KKyAgICAqLWN5Z3dpbiopCisJY3Jvc3NfY2FjaGU9JHtzcmNkaXJ9L2Nyb3NzLWJ1aWxkL2N5Z3dpbjMyLmNhY2hlCisJOzsKKyAgICAqLW1pbmd3KikKKwljcm9zc19jYWNoZT0ke3NyY2Rpcn0vY3Jvc3MtYnVpbGQvY3lnd2luMzIuY2FjaGUKKwk7OworICAgIGlbWzM0NTZdXTg2LSotYmVvcyopCisJY3Jvc3NfY2FjaGU9JHtzcmNkaXJ9L2Nyb3NzLWJ1aWxkL3g4Ni1iZW9zLmNhY2hlCisJOzsKKyAgICAqKQllY2hvICJjb25maWd1cmU6IGNyb3NzLWNvbXBpbGluZyBmb3IgJGhvc3QgaXMgbm90IHN1cHBvcnRlZCIgPiYyCisJOzsKKyAgICBlc2FjCisgICAgaWYgdGVzdCAtbiAiJHtjcm9zc19jYWNoZX0iICYmIHRlc3QgLXIgIiR7Y3Jvc3NfY2FjaGV9IjsgdGhlbgorCWVjaG8gImxvYWRpbmcgY3Jvc3MtYnVpbGQgY2FjaGUgZmlsZSAke2Nyb3NzX2NhY2hlfSIKKwkuICR7Y3Jvc3NfY2FjaGV9CisgICAgZmkKKyAgICB1bnNldCBjcm9zc19jYWNoZQorICAgIFNJR05BTUVTX089J3NpZ25hbWVzLm8nCisgICAgQ1JPU1NfQ09NUElMRT0nLURDUk9TU19DT01QSUxJTkcnCisgICAgQUNfU1VCU1QoQ1JPU1NfQ09NUElMRSkKK2ZpCitBQ19TVUJTVChTSUdOQU1FU19IKQorQUNfU1VCU1QoU0lHTkFNRVNfTykKKworaWYgdGVzdCAteiAiJENDX0ZPUl9CVUlMRCI7IHRoZW4KKyAgICBpZiB0ZXN0ICJ4JGNyb3NzX2NvbXBpbGluZyIgPSAieG5vIjsgdGhlbgorCUNDX0ZPUl9CVUlMRD0nJChDQyknCisgICAgZWxzZQorCUNDX0ZPUl9CVUlMRD1nY2MKKyAgICBmaQorZmkKK0FDX1NVQlNUKENDX0ZPUl9CVUlMRCkKKworZG5sIEVORCBjaGFuZ2VzIGZvciBjcm9zcy1idWlsZGluZworCitkbmwgV2Ugd2FudCB0aGVzZSBiZWZvcmUgdGhlIGNoZWNrcywgc28gdGhlIGNoZWNrcyBjYW4gbW9kaWZ5IHRoZWlyIHZhbHVlcy4KK3Rlc3QgLXogIiRDRkxBR1MiICYmIENGTEFHUz0tZyBhdXRvX2NmbGFncz0xCisKK2RubCBJZiB3ZSdyZSB1c2luZyBnY2MgYW5kIHRoZSB1c2VyIGhhc24ndCBzcGVjaWZpZWQgQ0ZMQUdTLCBhZGQgLU8yIHRvIENGTEFHUy4KK3Rlc3QgLW4gIiRHQ0MiICYmIHRlc3QgLW4gIiRhdXRvX2NmbGFncyIgJiYgQ0ZMQUdTPSIkQ0ZMQUdTIC1PMiIKKworZG5sIGhhbmRsZSBvcHRpb25zIHRoYXQgYWx0ZXIgaG93IGJhc2ggaXMgY29tcGlsZWQgYW5kIGxpbmtlZAorZG5sIHRoZXNlIG11c3QgY29tZSBhZnRlciB0aGUgdGVzdCBmb3IgY2MvZ2NjCitpZiB0ZXN0ICIkb3B0X3Byb2ZpbGluZyIgPSAieWVzIjsgdGhlbgorCVBST0ZJTEVfRkxBR1M9LXBnCisJY2FzZSAiJGhvc3Rfb3MiIGluCisJc29sYXJpczIqKQk7OworCSopCQlvcHRfc3RhdGljX2xpbms9eWVzIDs7CisJZXNhYworCURFQlVHPSBNQUxMT0NfREVCVUc9CitmaQorCitpZiB0ZXN0ICIkb3B0X3N0YXRpY19saW5rIiA9IHllczsgdGhlbgorCSMgaWYgd2UncmUgdXNpbmcgZ2NjLCBhZGQgYC1zdGF0aWMnIHRvIExERkxBR1MsIGV4Y2VwdCBvbiBTb2xhcmlzID49IDIKKwlpZiB0ZXN0IC1uICIkR0NDIiB8fCB0ZXN0ICIkYWNfY3ZfcHJvZ19nY2MiID0gInllcyI7IHRoZW4KKwkJU1RBVElDX0xEPSItc3RhdGljIiAKKwkJY2FzZSAiJGhvc3Rfb3MiIGluCisJCXNvbGFyaXMyKikJOzsKKwkJKikJCUxERkxBR1M9IiRMREZMQUdTIC1zdGF0aWMiIDs7CSMgWFhYIGV4cGVyaW1lbnRhbAorCQllc2FjCisJZmkKK2ZpCisKK2lmIHRlc3QgIlgkY3Jvc3NfY29tcGlsaW5nIiA9ICJYbm8iOyB0aGVuCisJQ1BQRkxBR1NfRk9SX0JVSUxEPSR7Q1BQRkxBR1NfRk9SX0JVSUxELSIkQ1BQRkxBR1MifQorCUxERkxBR1NfRk9SX0JVSUxEPSR7TERGTEFHU19GT1JfQlVJTEQtJyQoTERGTEFHUyknfQorZWxzZQorCUNQUEZMQUdTX0ZPUl9CVUlMRD0ke0NQUEZMQUdTX0ZPUl9CVUlMRC0iIn0KKwlMREZMQUdTX0ZPUl9CVUlMRD0ke0xERkxBR1NfRk9SX0JVSUxELSIifQorZmkKKwordGVzdCAteiAiJENGTEFHU19GT1JfQlVJTEQiICYmIENGTEFHU19GT1JfQlVJTEQ9Ii1nIgorCitBQ19TVUJTVChDRkxBR1MpCitBQ19TVUJTVChDUFBGTEFHUykKK0FDX1NVQlNUKExERkxBR1MpCitBQ19TVUJTVChTVEFUSUNfTEQpCisKK0FDX1NVQlNUKENGTEFHU19GT1JfQlVJTEQpCitBQ19TVUJTVChDUFBGTEFHU19GT1JfQlVJTEQpCitBQ19TVUJTVChMREZMQUdTX0ZPUl9CVUlMRCkKKworQUNfUFJPR19HQ0NfVFJBRElUSU9OQUwKKworZG5sIEJFR0lOIFJFQURMSU5FIGFuZCBISVNUT1JZIExJQlJBUlkgU0VDVElPTgorZG5sIHByZXBhcmUgdG8gYWxsb3cgYmFzaCB0byBiZSBsaW5rZWQgYWdhaW5zdCBhbiBhbHJlYWR5LWluc3RhbGxlZCByZWFkbGluZQorCitkbmwgZmlyc3QgdGVzdCB0aGF0IHRoZSByZWFkbGluZSB2ZXJzaW9uIGlzIG5ldyBlbm91Z2ggdG8gbGluayBiYXNoIGFnYWluc3QKK2lmIHRlc3QgIiRvcHRfcmVhZGxpbmUiID0geWVzICYmIHRlc3QgIiRvcHRfd2l0aF9pbnN0YWxsZWRfcmVhZGxpbmUiICE9ICJubyIKK3RoZW4KKwkjIElmIHRoZSB1c2VyIHNwZWNpZmllZCAtLXdpdGgtaW5zdGFsbGVkLXJlYWRsaW5lPVBSRUZJWCBhbmQgUFJFRklYCisJIyBpcyBub3QgYHllcycsIHNldCBhY19jdl9ybF9wcmVmaXggdG8gUFJFRklYCisJdGVzdCAkb3B0X3dpdGhfaW5zdGFsbGVkX3JlYWRsaW5lICE9ICJ5ZXMiICYmIGFjX2N2X3JsX3ByZWZpeD0kb3B0X3dpdGhfaW5zdGFsbGVkX3JlYWRsaW5lCisKKwlSTF9MSUJfUkVBRExJTkVfVkVSU0lPTgorCisJY2FzZSAiJGFjX2N2X3JsX3ZlcnNpb24iIGluCisJNSp8Nip8Nyp8OCp8OSopCTs7CisJKikJb3B0X3dpdGhfaW5zdGFsbGVkX3JlYWRsaW5lPW5vIAorCQlBQ19NU0dfV0FSTihpbnN0YWxsZWQgcmVhZGxpbmUgbGlicmFyeSBpcyB0b28gb2xkIHRvIGJlIGxpbmtlZCB3aXRoIGJhc2gpCisJCUFDX01TR19XQVJOKHVzaW5nIHByaXZhdGUgYmFzaCB2ZXJzaW9uKQorCQk7OworCWVzYWMKK2ZpCisKK1RJTERFX0xJQj0tbHRpbGRlCitpZiB0ZXN0ICRvcHRfcmVhZGxpbmUgPSB5ZXM7IHRoZW4KKwlBQ19ERUZJTkUoUkVBRExJTkUpCisJaWYgdGVzdCAiJG9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZSIgIT0gIm5vIiA7IHRoZW4KKwkJY2FzZSAiJG9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZSIgaW4KKwkJeWVzKQlSTF9JTkNMVURFPSA7OworCQkqKQljYXNlICIkUkxfSU5DTFVERURJUiIgaW4KKwkJCS91c3IvaW5jbHVkZSkJOzsKKwkJCSopCQlSTF9JTkNMVURFPSctSSR7UkxfSU5DTFVERURJUn0nIDs7CisJCQllc2FjCisJCQk7OworCQllc2FjCisJCVJFQURMSU5FX0RFUD0KKwkJUkVBRExJTkVfTElCPS1scmVhZGxpbmUKKwkJIyBzZWN0aW9uIGZvciBPUyB2ZXJzaW9ucyB0aGF0IGRvbid0IGFsbG93IHVucmVzb2x2ZWQgc3ltYm9scworCQkjIHRvIGJlIGNvbXBpbGVkIGludG8gZHluYW1pYyBsaWJyYXJpZXMuCisJCWNhc2UgIiRob3N0X29zIiBpbgorCQljeWd3aW4qKQlUSUxERV9MSUI9IDs7CisJCWVzYWMKKwllbHNlCisJCVJMX0xJQkRJUj0nJChkb3QpLyQoTElCU1VCRElSKS9yZWFkbGluZScKKwkJUkVBRExJTkVfREVQPSckKFJFQURMSU5FX0xJQlJBUlkpJworCQkjIHNlY3Rpb24gZm9yIE9TIHZlcnNpb25zIHRoYXQgc2hpcCBhbiBvbGRlci9icm9rZW4gdmVyc2lvbiBvZgorCQkjIHJlYWRsaW5lIGFzIGEgc3RhbmRhcmQgZHluYW1pYyBsaWJyYXJ5IGFuZCBkb24ndCBhbGxvdyBhCisJCSMgc3RhdGljIHZlcnNpb24gc3BlY2lmaWVkIGFzIC1sbGlibmFtZSB0byBvdmVycmlkZSB0aGUKKwkJIyBkeW5hbWljIHZlcnNpb24KKwkJY2FzZSAiJHtob3N0X29zfSIgaW4KKwkJZGFyd2luW1s4OV1dKnxkYXJ3aW4xMCopCVJFQURMSU5FX0xJQj0nJHtSRUFETElORV9MSUJSQVJZfScgOzsKKwkJKikJCVJFQURMSU5FX0xJQj0tbHJlYWRsaW5lIDs7CisJCWVzYWMKKwlmaQorZWxzZQorCVJMX0xJQkRJUj0nJChkb3QpLyQoTElCU1VCRElSKS9yZWFkbGluZScKKwlSRUFETElORV9MSUI9IFJFQURMSU5FX0RFUD0KK2ZpCitpZiB0ZXN0ICRvcHRfaGlzdG9yeSA9IHllcyB8fCB0ZXN0ICRvcHRfYmFuZ19oaXN0b3J5ID0geWVzOyB0aGVuCisJaWYgdGVzdCAkb3B0X2hpc3RvcnkgPSB5ZXM7IHRoZW4KKwkJQUNfREVGSU5FKEhJU1RPUlkpCisJZmkKKwlpZiB0ZXN0ICRvcHRfYmFuZ19oaXN0b3J5ID0geWVzOyB0aGVuCisJCUFDX0RFRklORShCQU5HX0hJU1RPUlkpCisJZmkKKyAJaWYgdGVzdCAiJG9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZSIgIT0gIm5vIjsgdGhlbgorCQlISVNUX0xJQkRJUj0kUkxfTElCRElSCisJCUhJU1RPUllfREVQPQorCQlISVNUT1JZX0xJQj0tbGhpc3RvcnkKKwkJY2FzZSAiJG9wdF93aXRoX2luc3RhbGxlZF9yZWFkbGluZSIgaW4KKwkJeWVzKQlSTF9JTkNMVURFPSA7OworCQkqKQljYXNlICIkUkxfSU5DTFVERURJUiIgaW4KKwkJCS91c3IvaW5jbHVkZSkJOzsKKwkJCSopCQlSTF9JTkNMVURFPSctSSR7UkxfSU5DTFVERURJUn0nIDs7CisJCQllc2FjCisJCQk7OworCQllc2FjCisJZWxzZQorCQlISVNUX0xJQkRJUj0nJChkb3QpLyQoTElCU1VCRElSKS9yZWFkbGluZScKKwkJSElTVE9SWV9ERVA9JyQoSElTVE9SWV9MSUJSQVJZKScKKwkJIyBzZWN0aW9uIGZvciBPUyB2ZXJzaW9ucyB0aGF0IHNoaXAgYW4gb2xkZXIgdmVyc2lvbiBvZgorCQkjIHJlYWRsaW5lIGFzIGEgc3RhbmRhcmQgZHluYW1pYyBsaWJyYXJ5IGFuZCBkb24ndCBhbGxvdyBhCisJCSMgc3RhdGljIHZlcnNpb24gc3BlY2lmaWVkIGFzIC1sbGlibmFtZSB0byBvdmVycmlkZSB0aGUKKwkJIyBkeW5hbWljIHZlcnNpb24KKwkJY2FzZSAiJHtob3N0X29zfSIgaW4KKwkJZGFyd2luW1s4OV1dKnxkYXJ3aW4xMCopCUhJU1RPUllfTElCPScke0hJU1RPUllfTElCUkFSWX0nIDs7CisJCSopCQlISVNUT1JZX0xJQj0tbGhpc3RvcnkgOzsKKwkJZXNhYworCWZpCitlbHNlCisJSElTVF9MSUJESVI9JyQoZG90KS8kKExJQlNVQkRJUikvcmVhZGxpbmUnCisJSElTVE9SWV9MSUI9IEhJU1RPUllfREVQPQorZmkKK0FDX1NVQlNUKFJFQURMSU5FX0xJQikKK0FDX1NVQlNUKFJFQURMSU5FX0RFUCkKK0FDX1NVQlNUKFJMX0xJQkRJUikKK0FDX1NVQlNUKFJMX0lOQ0xVREVESVIpCitBQ19TVUJTVChSTF9JTkNMVURFKQorQUNfU1VCU1QoSElTVE9SWV9MSUIpCitBQ19TVUJTVChISVNUT1JZX0RFUCkKK0FDX1NVQlNUKEhJU1RfTElCRElSKQorQUNfU1VCU1QoVElMREVfTElCKQorCitkbmwgRU5EIFJFQURMSU5FIGFuZCBISVNUT1JZIExJQlJBUlkgU0VDVElPTgorCitkbmwgcHJvZ3JhbXMgbmVlZGVkIGJ5IHRoZSBidWlsZCBhbmQgaW5zdGFsbCBwcm9jZXNzCitBQ19QUk9HX0lOU1RBTEwKK0FDX0NIRUNLX1BST0coQVIsIGFyLCAsIGFyKQorZG5sIFNldCBkZWZhdWx0IGZvciBBUkZMQUdTLCBzaW5jZSBhdXRvY29uZiBkb2VzIG5vdCBoYXZlIGEgbWFjcm8gZm9yIGl0LgorZG5sIFRoaXMgYWxsb3dzIHBlb3BsZSB0byBzZXQgaXQgd2hlbiBydW5uaW5nIGNvbmZpZ3VyZSBvciBtYWtlCit0ZXN0IC1uICIkQVJGTEFHUyIgfHwgQVJGTEFHUz0iY3IiCitBQ19QUk9HX1JBTkxJQgorQUNfUFJPR19ZQUNDCitBQ19QUk9HX01BS0VfU0VUCisKK2Nhc2UgIiRob3N0X29zIiBpbgorb3Blbm50KnxpbnRlcml4KikJTUFLRV9TSEVMTD0iJElOVEVSSVhfUk9PVC9iaW4vc2giIDs7CisqKQkJCU1BS0VfU0hFTEw9L2Jpbi9zaCA7OworZXNhYworQUNfU1VCU1QoTUFLRV9TSEVMTCkKKworZG5sIHRoaXMgaXMgc2ltaWxhciB0byB0aGUgZXhwYW5kZWQgQUNfUFJPR19SQU5MSUIKK2lmIHRlc3QgeCRTSVpFID0geDsgdGhlbgorCWlmIHRlc3QgeCRhY190b29sX3ByZWZpeCA9IHg7IHRoZW4KKwkJU0laRT1zaXplCisJZWxzZQorCQlTSVpFPSR7YWNfdG9vbF9wcmVmaXh9c2l6ZQorCQlzYXZlX0lGUz0kSUZTIDsgSUZTPToKKwkJc2l6ZV9mb3VuZD0wCisJCWZvciBkaXIgaW4gJFBBVEg7IGRvCisJCQlpZiB0ZXN0IC14ICRkaXIvJFNJWkUgOyB0aGVuCisJCQkJc2l6ZV9mb3VuZD0xCisJCQkJYnJlYWsKKwkJCWZpCisJCWRvbmUKKwkJaWYgdGVzdCAkc2l6ZV9mb3VuZCAtZXEgMDsgdGhlbgorCQkJU0laRT06CisJCWZpCisJCUlGUz0kc2F2ZV9JRlMKKwlmaQorZmkKK0FDX1NVQlNUKFNJWkUpCisKK2RubCBUdXJuIG9uIGFueSBleHRlbnNpb25zIGF2YWlsYWJsZSBpbiB0aGUgR05VIEMgbGlicmFyeS4KK0FDX0RFRklORShfR05VX1NPVVJDRSwgMSkKKworZG5sIEMgY29tcGlsZXIgY2hhcmFjdGVyaXN0aWNzCitBQ19DX0NPTlNUCitBQ19DX0lOTElORQorQUNfQ19CSUdFTkRJQU4KK0FDX0NfU1RSSU5HSVpFCitBQ19DX0xPTkdfRE9VQkxFCitBQ19DX1BST1RPVFlQRVMKK0FDX0NfQ0hBUl9VTlNJR05FRAorQUNfQ19WT0xBVElMRQorQUNfQ19SRVNUUklDVAorCitkbmwgaW5pdGlhbGl6ZSBHTlUgZ2V0dGV4dAorQU1fR05VX0dFVFRFWFQoW25vLWxpYnRvb2xdLCBbbmVlZC1uZ2V0dGV4dF0sIFtsaWIvaW50bF0pCisKK2RubCBoZWFkZXIgZmlsZXMKK0FDX0hFQURFUl9ESVJFTlQKK0FDX0hFQURFUl9USU1FCisKK0JBU0hfSEVBREVSX0lOVFRZUEVTCisKK0FDX0NIRUNLX0hFQURFUlModW5pc3RkLmggc3RkbGliLmggc3RkYXJnLmggdmFyYXJncy5oIGxpbWl0cy5oIHN0cmluZy5oIFwKKwkJIG1lbW9yeS5oIGxvY2FsZS5oIHRlcm1jYXAuaCB0ZXJtaW8uaCB0ZXJtaW9zLmggZGxmY24uaCBcCisJCSBzdGRkZWYuaCBzdGRpbnQuaCBuZXRkYi5oIHB3ZC5oIGdycC5oIHN0cmluZ3MuaCByZWdleC5oKQorQUNfQ0hFQ0tfSEVBREVSUyhzeXMvcHRlLmggc3lzL3N0cmVhbS5oIHN5cy9zZWxlY3QuaCBzeXMvZmlsZS5oIFwKKwkJIHN5cy9yZXNvdXJjZS5oIHN5cy9wYXJhbS5oIHN5cy9zb2NrZXQuaCBzeXMvc3RhdC5oIFwKKwkJIHN5cy90aW1lLmggc3lzL3RpbWVzLmggc3lzL3R5cGVzLmggc3lzL3dhaXQuaCkKK0FDX0NIRUNLX0hFQURFUlMobmV0aW5ldC9pbi5oIGFycGEvaW5ldC5oKQorCitkbmwgc3lzL3B0ZW0uaCByZXF1aXJlcyBkZWZpbml0aW9ucyBmcm9tIHN5cy9zdHJlYW0uaCBvbiBzeXN0ZW1zIHdoZXJlIGl0CitkbmwgZXhpc3RzCitBQ19DSEVDS19IRUFERVIoc3lzL3B0ZW0uaCwgLCAsW1sKKyNpZiBIQVZFX1NZU19TVFJFQU1fSAorIyAgaW5jbHVkZSA8c3lzL3N0cmVhbS5oPgorI2VuZGlmCitdXSkKKworZG5sIHNwZWNpYWwgY2hlY2tzIGZvciBsaWJjIGZ1bmN0aW9ucworQUNfRlVOQ19BTExPQ0EKK0FDX0ZVTkNfR0VUUEdSUAorQUNfRlVOQ19TRVRWQlVGX1JFVkVSU0VECitBQ19GVU5DX1ZQUklOVEYKK0FDX0ZVTkNfU1RSQ09MTAorCitkbmwgaWYgd2UncmUgbm90IHVzaW5nIHRoZSBiYXNoIG1hbGxvYyBidXQgcmVxdWlyZSB0aGUgQyBhbGxvY2EsIHNldCB0aGluZ3MKK2RubCB1cCB0byBidWlsZCBhIGxpYm1hbGxvYy5hIGNvbnRhaW5pbmcgb25seSBhbGxvY2EubworCitpZiB0ZXN0ICIkYWNfY3ZfZnVuY19hbGxvY2Ffd29ya3MiID0gIm5vIiAmJiB0ZXN0ICIkb3B0X2Jhc2hfbWFsbG9jIiA9ICJubyI7IHRoZW4KKwlNQUxMT0NfVEFSR0VUPWFsbG9jYQorCU1BTExPQ19TUkM9YWxsb2NhLmMKKworCU1BTExPQ19MSUI9Jy1sbWFsbG9jJworCU1BTExPQ19MSUJSQVJZPSckKEFMTE9DX0xJQkRJUikvbGlibWFsbG9jLmEnCisJTUFMTE9DX0xERkxBR1M9Jy1MJChBTExPQ19MSUJESVIpJworCU1BTExPQ19ERVA9JyQoTUFMTE9DX0xJQlJBUlkpJworZmkKKworZG5sIGlmIHZwcmludGYgaXMgbm90IGluIGxpYmMsIHNlZSBpZiBpdCdzIGRlZmluZWQgaW4gc3RkaW8uaAoraWYgdGVzdCAiJGFjX2N2X2Z1bmNfdnByaW50ZiIgPSBubzsgdGhlbgorICAgIEFDX01TR19DSEVDS0lORyhmb3IgZGVjbGFyYXRpb24gb2YgdnByaW50ZiBpbiBzdGRpby5oKQorICAgIEFDX0VHUkVQX0hFQURFUihbW2ludFsgCV0qdnByaW50ZlteYS16QS1aMC05XV1dLHN0ZGlvLmgsYWNfY3ZfZnVuY192cHJpbnRmPXllcykKKyAgICBBQ19NU0dfUkVTVUxUKCRhY19jdl9mdW5jX3ZwcmludGYpCisgICAgaWYgdGVzdCAkYWNfY3ZfZnVuY192cHJpbnRmID0geWVzOyB0aGVuCisJQUNfREVGSU5FKEhBVkVfVlBSSU5URikKKyAgICBmaQorZmkKKworaWYgdGVzdCAiJGFjX2N2X2Z1bmNfdnByaW50ZiIgPSBubyAmJiB0ZXN0ICIkYWNfY3ZfZnVuY19fZG9wcm50IiA9ICJ5ZXMiOyB0aGVuCisgIEFDX0xJQk9CSih2cHJpbnQpCitmaQorCitkbmwgc2lnbmFsIHN0dWZmCitBQ19UWVBFX1NJR05BTAorCitkbmwgY2hlY2tzIGZvciBjZXJ0YWluIHZlcnNpb24tc3BlY2lmaWMgc3lzdGVtIGNhbGxzIGFuZCBsaWJjIGZ1bmN0aW9ucworQUNfQ0hFQ0tfRlVOQyhfX3NldG9zdHlwZSwgQUNfREVGSU5FKEhBVkVfU0VUT1NUWVBFKSkKK0FDX0NIRUNLX0ZVTkMod2FpdDMsIEFDX0RFRklORShIQVZFX1dBSVQzKSkKK0FDX0NIRUNLX0ZVTkMoaXNpbmYsIEFDX0RFRklORShIQVZFX0lTSU5GX0lOX0xJQkMpKQorQUNfQ0hFQ0tfRlVOQyhpc25hbiwgQUNfREVGSU5FKEhBVkVfSVNOQU5fSU5fTElCQykpCisKK2RubCBjaGVja3MgZm9yIG1pc3NpbmcgbGliYyBmdW5jdGlvbnMKK0FDX0NIRUNLX0ZVTkMobWtmaWZvLEFDX0RFRklORShIQVZFX01LRklGTyksQUNfREVGSU5FKE1LRklGT19NSVNTSU5HKSkKKworZG5sIGNoZWNrcyBmb3Igc3lzdGVtIGNhbGxzCitBQ19DSEVDS19GVU5DUyhkdXAyIGVhY2Nlc3MgZmNudGwgZ2V0ZHRhYmxlc2l6ZSBnZXRncm91cHMgZ2V0aG9zdG5hbWUgXAorCQlnZXRwYWdlc2l6ZSBnZXRwZWVybmFtZSBnZXRybGltaXQgZ2V0cnVzYWdlIGdldHRpbWVvZmRheSBcCisJCWtpbGwga2lsbHBnIGxzdGF0IHJlYWRsaW5rIHNicmsgc2VsZWN0IHNldGR0YWJsZXNpemUgXAorCQlzZXRpdGltZXIgdGNnZXRwZ3JwIHVuYW1lIHVsaW1pdCB3YWl0cGlkKQorQUNfUkVQTEFDRV9GVU5DUyhyZW5hbWUpCisKK2RubCBjaGVja3MgZm9yIGMgbGlicmFyeSBmdW5jdGlvbnMKK0FDX0NIRUNLX0ZVTkNTKGJjb3B5IGJ6ZXJvIGNvbmZzdHIgZm5tYXRjaCBcCisJCWdldGFkZHJpbmZvIGdldGhvc3RieW5hbWUgZ2V0c2VydmJ5bmFtZSBnZXRzZXJ2ZW50IGluZXRfYXRvbiBcCisJCW1lbW1vdmUgcGF0aGNvbmYgcHV0ZW52IHJhaXNlIHJlZ2NvbXAgcmVnZXhlYyBcCisJCXNldGVudiBzZXRsaW5lYnVmIHNldGxvY2FsZSBzZXR2YnVmIHNpZ2ludGVycnVwdCBzdHJjaHIgXAorCQlzeXNjb25mIHRjZ2V0YXR0ciB0aW1lcyB0dHluYW1lIHR6c2V0IHVuc2V0ZW52KQorCitBQ19DSEVDS19GVU5DUyh2c25wcmludGYgc25wcmludGYgdmFzcHJpbnRmIGFzcHJpbnRmKQorQUNfQ0hFQ0tfRlVOQ1MoaXNhc2NpaSBpc2JsYW5rIGlzZ3JhcGggaXNwcmludCBpc3NwYWNlIGlzeGRpZ2l0KQorQUNfQ0hFQ0tfRlVOQ1MoZ2V0cHdlbnQgZ2V0cHduYW0gZ2V0cHd1aWQpCitBQ19SRVBMQUNFX0ZVTkNTKGdldGN3ZCBtZW1zZXQgc3RyY2FzZWNtcCBzdHJlcnJvciBzdHJmdGltZSBzdHJubGVuIHN0cnBicmsgc3Ryc3RyKQorQUNfUkVQTEFDRV9GVU5DUyhzdHJ0b2Qgc3RydG9sIHN0cnRvdWwgc3RydG9sbCBzdHJ0b3VsbCBzdHJ0b2ltYXggc3RydG91bWF4KQorQUNfUkVQTEFDRV9GVU5DUyhmZHByaW50ZikKKworQUNfQ0hFQ0tfREVDTFMoW2NvbmZzdHJdKQorQUNfQ0hFQ0tfREVDTFMoW3ByaW50Zl0pCitBQ19DSEVDS19ERUNMUyhbc2Jya10pCitBQ19DSEVDS19ERUNMUyhbc2V0cmVnaWRdKQorQUNfQ0hFQ0tfREVDTFMoW3N0cmNweV0pCitBQ19DSEVDS19ERUNMUyhbc3Ryc2lnbmFsXSkKKworZG5sIEV4dHJhIHRlc3QgdG8gZGV0ZWN0IHRoZSBob3JyaWJseSBicm9rZW4gSFAvVVggMTEuMDAgc3RydG9sZCgzKQorQUNfQ0hFQ0tfREVDTFMoW3N0cnRvbGRdLCBbCisgICAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgYnJva2VuIHN0cnRvbGRdKQorICAgIEFDX0NBQ0hFX1ZBTChiYXNoX2N2X3N0cnRvbGRfYnJva2VuLAorCVtBQ19UUllfQ09NUElMRSgKKwkgICAgWyNpbmNsdWRlIDxzdGRsaWIuaD5dLAorCSAgICBbaW50IG1haW4oKSB7IGxvbmcgZG91YmxlIHI7IGNoYXIgKmZvbywgYmFyOyByID0gc3RydG9sZChmb28sICZiYXIpO31dLAorCSAgICBiYXNoX2N2X3N0cnRvbGRfYnJva2VuPW5vLCBiYXNoX2N2X3N0cnRvbGRfYnJva2VuPXllcywKKwkgICAgW0FDX01TR19XQVJOKGNhbm5vdCBjaGVjayBmb3IgYnJva2VuIHN0cnRvbGQgaWYgY3Jvc3MtY29tcGlsaW5nLCBkZWZhdWx0aW5nIHRvIG5vKV0pCisJXQorICAgICkKKyAgICBBQ19NU0dfUkVTVUxUKCRiYXNoX2N2X3N0cnRvbGRfYnJva2VuKQorICAgIGlmIHRlc3QgIiRiYXNoX2N2X3N0cnRvbGRfYnJva2VuIiA9ICJ5ZXMiIDsgdGhlbgorCUFDX0RFRklORShTVFJUT0xEX0JST0tFTikKKyAgICBmaQorXSkKKyAgICAKKworQkFTSF9DSEVDS19ERUNMKHN0cnRvaW1heCkKK0JBU0hfQ0hFQ0tfREVDTChzdHJ0b2wpCitCQVNIX0NIRUNLX0RFQ0woc3RydG9sbCkKK0JBU0hfQ0hFQ0tfREVDTChzdHJ0b3VsKQorQkFTSF9DSEVDS19ERUNMKHN0cnRvdWxsKQorQkFTSF9DSEVDS19ERUNMKHN0cnRvdW1heCkKKworQUNfRlVOQ19NS1RJTUUKKworZG5sCitkbmwgQ2hlY2tzIGZvciBsaWIvaW50bCBhbmQgcmVsYXRlZCBjb2RlICh1c2VzIHNvbWUgb2YgdGhlIG91dHB1dCBmcm9tCitkbmwgQU1fR05VX0dFVFRFWFQpCitkbmwKKworQUNfQ0hFQ0tfSEVBREVSUyhbYXJnei5oIGVycm5vLmggZmNudGwuaCBtYWxsb2MuaCBzdGRpb19leHQuaF0pCisKK2RubCBBQ19GVU5DX01BTExPQworQUNfRlVOQ19NTUFQCitBQ19DSEVDS19GVU5DUyhbX19hcmd6X2NvdW50IF9fYXJnel9uZXh0IF9fYXJnel9zdHJpbmdpZnkgZGNnZXR0ZXh0IG1lbXBjcHkgXAorCQltdW5tYXAgc3RwY3B5IHN0cmNzcG4gc3RyZHVwXSkKKworSU5UTF9ERVA9IElOVExfSU5DPSBMSUJJTlRMX0g9CitpZiB0ZXN0ICJ4JFVTRV9JTkNMVURFRF9MSUJJTlRMIiA9ICJ4eWVzIjsgdGhlbgorCUlOVExfREVQPScke0lOVExfTElCRElSfS9saWJpbnRsLmEnCisJSU5UTF9JTkM9Jy1JJHtJTlRMX0xJQlNSQ30gLUkke0lOVExfQlVJTERESVJ9JworCUxJQklOVExfSD0nJHtJTlRMX0JVSUxERElSfS9saWJpbnRsLmgnCitmaQorQUNfU1VCU1QoSU5UTF9ERVApCitBQ19TVUJTVChJTlRMX0lOQykKK0FDX1NVQlNUKExJQklOVExfSCkKKworZG5sCitkbmwgRW5kIG9mIGNoZWNrcyBuZWVkZWQgYnkgZmlsZXMgaW4gbGliL2ludGwKK2RubAorCitCQVNIX0NIRUNLX01VTFRJQllURQorCitkbmwgY2hlY2tzIGZvciB0aGUgZHluYW1pYyBsb2FkaW5nIGxpYnJhcnkgZnVuY3Rpb25zIGluIGxpYmMgYW5kIGxpYmRsCitpZiB0ZXN0ICIkb3B0X3N0YXRpY19saW5rIiAhPSB5ZXM7IHRoZW4KK0FDX0NIRUNLX0xJQihkbCwgZGxvcGVuKQorQUNfQ0hFQ0tfRlVOQ1MoZGxvcGVuIGRsY2xvc2UgZGxzeW0pCitmaQorCitkbmwgdGhpcyBkZWZpbmVzIEhBVkVfREVDTF9TWVNfU0lHTElTVAorQUNfREVDTF9TWVNfU0lHTElTVAorCitkbmwgbmV0d29yayBmdW5jdGlvbnMgLS0gY2hlY2sgZm9yIGluZXRfYXRvbiBhZ2FpbgoraWYgdGVzdCAiJGFjX2N2X2Z1bmNfaW5ldF9hdG9uIiAhPSAneWVzJzsgdGhlbgorQkFTSF9GVU5DX0lORVRfQVRPTgorZmkKKworZG5sIGxpYnJhcmllcworZG5sIHRoaXMgaXMgcmVwb3J0ZWRseSBubyBsb25nZXIgbmVjZXNzYXJ5IGZvciBpcml4WzU2XS4/CitjYXNlICIkaG9zdF9vcyIgaW4KK2lyaXg0KikJQUNfQ0hFQ0tfTElCKHN1biwgZ2V0cHdlbnQpIDs7Citlc2FjCisKK2RubCBjaGVjayBmb3IgZ2V0cGVlcm5hbWUgaW4gdGhlIHNvY2tldCBsaWJyYXJ5IG9ubHkgaWYgaXQncyBub3QgaW4gbGliYworaWYgdGVzdCAiJGFjX2N2X2Z1bmNfZ2V0cGVlcm5hbWUiID0gbm87IHRoZW4KKwlCQVNIX0NIRUNLX0xJQl9TT0NLRVQKK2ZpCitkbmwgY2hlY2sgZm9yIGdldGhvc3RieW5hbWUgaW4gc29ja2V0IGxpYnJhcmllcyBpZiBpdCdzIG5vdCBpbiBsaWJjCitpZiB0ZXN0ICIkYWNfY3ZfZnVuY19nZXRob3N0YnluYW1lIiA9IG5vOyB0aGVuCisJQkFTSF9GVU5DX0dFVEhPU1RCWU5BTUUKK2ZpCisKK2RubCBzeXN0ZW0gdHlwZXMKK0FDX1RZUEVfR0VUR1JPVVBTCitBQ19UWVBFX09GRl9UCitBQ19UWVBFX01PREVfVAorQUNfVFlQRV9VSURfVAorQUNfVFlQRV9QSURfVAorQUNfVFlQRV9TSVpFX1QKK0FDX0NIRUNLX1RZUEUoc3NpemVfdCwgaW50KQorQUNfQ0hFQ0tfVFlQRSh0aW1lX3QsIGxvbmcpCisKK0JBU0hfVFlQRV9MT05HX0xPTkcKK0JBU0hfVFlQRV9VTlNJR05FRF9MT05HX0xPTkcKKworQUNfVFlQRV9TSUdOQUwKK0JBU0hfVFlQRV9TSUdfQVRPTUlDX1QKKworQUNfQ0hFQ0tfU0laRU9GKGNoYXIsIDEpCitBQ19DSEVDS19TSVpFT0Yoc2hvcnQsIDIpCitBQ19DSEVDS19TSVpFT0YoaW50LCA0KQorQUNfQ0hFQ0tfU0laRU9GKGxvbmcsIDQpCitBQ19DSEVDS19TSVpFT0YoY2hhciAqLCA0KQorQUNfQ0hFQ0tfU0laRU9GKGRvdWJsZSwgOCkKK0FDX0NIRUNLX1NJWkVPRihbbG9uZyBsb25nXSwgOCkKKworQUNfQ0hFQ0tfVFlQRSh1X2ludCwgW3Vuc2lnbmVkIGludF0pCitBQ19DSEVDS19UWVBFKHVfbG9uZywgW3Vuc2lnbmVkIGxvbmddKQorCitCQVNIX1RZUEVfQklUUzE2X1QKK0JBU0hfVFlQRV9VX0JJVFMxNl9UCitCQVNIX1RZUEVfQklUUzMyX1QKK0JBU0hfVFlQRV9VX0JJVFMzMl9UCitCQVNIX1RZUEVfQklUUzY0X1QKKworQkFTSF9UWVBFX1BUUkRJRkZfVAorCitkbmwgc3RydWN0dXJlcworQUNfSEVBREVSX1NUQVQKKworZG5sIHN5c3RlbSBzZXJ2aWNlcworQUNfU1lTX0lOVEVSUFJFVEVSCitpZiB0ZXN0ICRhY19jdl9zeXNfaW50ZXJwcmV0ZXIgPSB5ZXM7IHRoZW4KK0FDX0RFRklORShIQVZFX0hBU0hfQkFOR19FWEVDKQorZmkKKworZG5sIE1pc2NlbGxhbmVvdXMgQmFzaCB0ZXN0cworaWYgdGVzdCAiJGFjX2N2X2Z1bmNfbHN0YXQiID0gIm5vIjsgdGhlbgorQkFTSF9GVU5DX0xTVEFUCitmaQorCitkbmwgYmVoYXZpb3Igb2Ygc3lzdGVtIGNhbGxzIGFuZCBsaWJyYXJ5IGZ1bmN0aW9ucworQkFTSF9GVU5DX0NUWVBFX05PTkFTQ0lJCitCQVNIX0ZVTkNfRFVQMl9DTE9FWEVDX0NIRUNLCitCQVNIX1NZU19QR1JQX1NZTkMKK0JBU0hfU1lTX1NJR05BTF9WSU5UQUdFCisKK2RubCBjaGVja2luZyBmb3IgdGhlIHByZXNlbmNlIG9mIGNlcnRhaW4gbGlicmFyeSBzeW1ib2xzCitCQVNIX1NZU19FUlJMSVNUCitCQVNIX1NZU19TSUdMSVNUCitCQVNIX1VOREVSX1NZU19TSUdMSVNUCisKK2RubCB2YXJpb3VzIHN5c3RlbSB0eXBlcworQkFTSF9UWVBFX1NJR0hBTkRMRVIKK0JBU0hfQ0hFQ0tfVFlQRShjbG9ja190LCBbI2luY2x1ZGUgPHN5cy90aW1lcy5oPl0sIGxvbmcpCitCQVNIX0NIRUNLX1RZUEUoc2lnc2V0X3QsIFsjaW5jbHVkZSA8c2lnbmFsLmg+XSwgaW50KQorQkFTSF9DSEVDS19UWVBFKHF1YWRfdCwgLCBsb25nLCBIQVZFX1FVQURfVCkKK0JBU0hfQ0hFQ0tfVFlQRShpbnRtYXhfdCwgLCAkYmFzaF9jdl90eXBlX2xvbmdfbG9uZykKK0JBU0hfQ0hFQ0tfVFlQRSh1aW50bWF4X3QsICwgJGJhc2hfY3ZfdHlwZV91bnNpZ25lZF9sb25nX2xvbmcpCitpZiB0ZXN0ICIkYWNfY3ZfaGVhZGVyX3N5c19zb2NrZXRfaCIgPSAieWVzIjsgdGhlbgorQkFTSF9DSEVDS19UWVBFKHNvY2tsZW5fdCwgWyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+XSwgaW50LCBIQVZFX1NPQ0tMRU5fVCkKK2ZpCitCQVNIX1RZUEVfUkxJTUlUCisKK2RubCBwcmVzZW5jZSBhbmQgY29udGVudHMgb2Ygc3RydWN0dXJlcyB1c2VkIGJ5IHN5c3RlbSBjYWxscworQkFTSF9TVFJVQ1RfVEVSTUlPU19MRElTQworQkFTSF9TVFJVQ1RfVEVSTUlPX0xESVNDCitCQVNIX1NUUlVDVF9ESVJFTlRfRF9JTk8KK0JBU0hfU1RSVUNUX0RJUkVOVF9EX0ZJTEVOTworQkFTSF9TVFJVQ1RfRElSRU5UX0RfTkFNTEVOCitCQVNIX1NUUlVDVF9XSU5TSVpFCitCQVNIX1NUUlVDVF9USU1FVkFMCitBQ19DSEVDS19NRU1CRVJTKFtzdHJ1Y3Qgc3RhdC5zdF9ibG9ja3NdKQorQUNfU1RSVUNUX1RNCitBQ19TVFJVQ1RfVElNRVpPTkUKK0JBU0hfU1RSVUNUX1RJTUVaT05FCisKK2RubCBwcmVzZW5jZSBhbmQgYmVoYXZpb3Igb2YgQyBsaWJyYXJ5IGZ1bmN0aW9ucworQkFTSF9GVU5DX1NUUlNJR05BTAorQkFTSF9GVU5DX09QRU5ESVJfQ0hFQ0sKK0JBU0hfRlVOQ19VTElNSVRfTUFYRkRTCitCQVNIX0ZVTkNfRlBVUkdFCitCQVNIX0ZVTkNfR0VURU5WCitpZiB0ZXN0ICIkYWNfY3ZfZnVuY19nZXRjd2QiID0gInllcyI7IHRoZW4KK0JBU0hfRlVOQ19HRVRDV0QKK2ZpCitCQVNIX0ZVTkNfUE9TSVhfU0VUSk1QCitCQVNIX0ZVTkNfU1RSQ09MTAorCitkbmwgSWYgcHV0ZW52IG9yIHVuc2V0ZW52IGlzIG5vdCBwcmVzZW50LCBzZXQgdGhlIHJpZ2h0IGRlZmluZSBzbyB0aGUKK2RubCBwcm90b3R5cGUgYW5kIGRlY2xhcmF0aW9uIGluIGxpYi9zaC9nZXRlbnYuYyB3aWxsIGJlIHN0YW5kYXJkLWNvbmZvcm1hbnQKKworaWYgdGVzdCAiJGFjX2N2X2Z1bmNfcHV0ZW52IiA9ICJ5ZXMiOyB0aGVuCitCQVNIX0ZVTkNfU1REX1BVVEVOVgorZWxzZQorQUNfREVGSU5FKEhBVkVfU1REX1BVVEVOVikKK2ZpCitpZiB0ZXN0ICIkYWNfY3ZfZnVuY191bnNldGVudiIgPSAieWVzIjsgdGhlbgorQkFTSF9GVU5DX1NURF9VTlNFVEVOVgorZWxzZQorQUNfREVGSU5FKEhBVkVfU1REX1VOU0VURU5WKQorZmkKKworQkFTSF9GVU5DX1BSSU5URl9BX0ZPUk1BVAorCitkbmwgcHJlc2VuY2UgYW5kIGJlaGF2aW9yIG9mIE9TIGZ1bmN0aW9ucworQkFTSF9TWVNfUkVJTlNUQUxMX1NJR0hBTkRMRVJTCitCQVNIX1NZU19KT0JfQ09OVFJPTF9NSVNTSU5HCitCQVNIX1NZU19OQU1FRF9QSVBFUworCitkbmwgcHJlc2VuY2Ugb2YgY2VydGFpbiBDUFAgZGVmaW5lcworQUNfSEVBREVSX1RJT0NHV0lOU1oKK0JBU0hfSEFWRV9USU9DU1RBVAorQkFTSF9IQVZFX0ZJT05SRUFECisKK0JBU0hfQ0hFQ0tfV0NPTlRJTlVFRAorCitkbmwgbWlzY2VsbGFuZW91cworQkFTSF9DSEVDS19TUEVFRF9UCitCQVNIX0NIRUNLX0dFVFBXX0ZVTkNTCitCQVNIX0NIRUNLX1JUU0lHUworQkFTSF9DSEVDS19TWVNfU0lHTElTVAorCitkbmwgc3BlY2lhbCBjaGVja3MKK2Nhc2UgIiRob3N0X29zIiBpbgoraHB1eCopCUJBU0hfQ0hFQ0tfS0VSTkVMX1JMSU1JVCA7OworZXNhYworCitpZiB0ZXN0ICIkb3B0X3JlYWRsaW5lIiA9IHllczsgdGhlbgorZG5sIHl1Y2sKK2Nhc2UgIiRob3N0X29zIiBpbgorYWl4KikJcHJlZmVyX2N1cnNlcz15ZXMgOzsKK2VzYWMKK0JBU0hfQ0hFQ0tfTElCX1RFUk1DQVAKK2ZpCitBQ19TVUJTVChURVJNQ0FQX0xJQikKK0FDX1NVQlNUKFRFUk1DQVBfREVQKQorCitCQVNIX0NIRUNLX0RFVl9GRAorQkFTSF9DSEVDS19ERVZfU1RESU4KK0JBU0hfU1lTX0RFRkFVTFRfTUFJTF9ESVIKKworaWYgdGVzdCAiJGJhc2hfY3Zfam9iX2NvbnRyb2xfbWlzc2luZyIgPSBtaXNzaW5nOyB0aGVuCisJb3B0X2pvYl9jb250cm9sPW5vCitmaQorCitpZiB0ZXN0ICIkb3B0X2pvYl9jb250cm9sIiA9IHllczsgdGhlbgorQUNfREVGSU5FKEpPQl9DT05UUk9MKQorSk9CU19PPWpvYnMubworZWxzZQorSk9CU19PPW5vam9icy5vCitmaQorCitBQ19TVUJTVChKT0JTX08pCisKK2RubCBEZWZpbmVzIHRoYXQgd2Ugd2FudCB0byBwcm9wYWdhdGUgdG8gdGhlIE1ha2VmaWxlcyBpbiBzdWJkaXJlY3RvcmllcywKK2RubCBsaWtlIGdsb2IgYW5kIHJlYWRsaW5lCisKK0xPQ0FMX0RFRlM9LURTSEVMTAorCitkbmwgdXNlIHRoaXMgc2VjdGlvbiB0byBwb3NzaWJseSBkZWZpbmUgbW9yZSBjcHAgdmFyaWFibGVzLCBzcGVjaWZ5IGxvY2FsCitkbmwgbGlicmFyaWVzLCBhbmQgc3BlY2lmeSBhbnkgYWRkaXRpb25hbCBsb2NhbCBjYyBvciBsZCBmbGFncworZG5sCitkbmwgdGhpcyBzaG91bGQgcmVhbGx5IGdvIGF3YXkgc29tZWRheQorCitjYXNlICIke2hvc3Rfb3N9IiBpbgorc3lzdjQuMiopCUFDX0RFRklORShTVlI0XzIpCisJCUFDX0RFRklORShTVlI0KSA7Oworc3lzdjQqKQkJQUNfREVGSU5FKFNWUjQpIDs7CitzeXN2NSopCQlBQ19ERUZJTkUoU1ZSNSkgOzsKK2hwdXg5KikJCUxPQ0FMX0NGTEFHUz0iLURIUFVYOSAtREhQVVgiIDs7CitocHV4KikJCUxPQ0FMX0NGTEFHUz0tREhQVVggOzsKK2RndXgqKQkJTE9DQUxfQ0ZMQUdTPS1EX0RHVVhfU09VUkNFOyBMT0NBTF9MSUJTPS1sZGdjIDs7Citpc2MqKQkJTE9DQUxfQ0ZMQUdTPS1EaXNjMzg2IDs7CityaGFwc29keSopCUxPQ0FMX0NGTEFHUz0tRFJIQVBTT0RZIDs7CitkYXJ3aW4qKQlMT0NBTF9DRkxBR1M9LURNQUNPU1ggOzsKK3NjbzMuMnY1KikJTE9DQUxfQ0ZMQUdTPSItYiBlbGYgLURXQUlUUElEX0JST0tFTiAtRFBBVEhfTUFYPTEwMjQiIDs7CitzY28zLjJ2NCopCUxPQ0FMX0NGTEFHUz0iLURNVVNUX1VOQkxPQ0tfQ0hMRCAtRFBBVEhfTUFYPTEwMjQiIDs7CitzY28zLjIqKQlMT0NBTF9DRkxBR1M9LURNVVNUX1VOQkxPQ0tfQ0hMRCA7Oworc3Vub3M0KikJTE9DQUxfQ0ZMQUdTPS1EU3VuT1M0IDs7Citzb2xhcmlzMi41KikJTE9DQUxfQ0ZMQUdTPSItRFN1bk9TNSAtRFNPTEFSSVMiIDs7Citzb2xhcmlzMi44KikJTE9DQUxfQ0ZMQUdTPS1EU09MQVJJUyAgOzsKK3NvbGFyaXMyLjkqKQlMT0NBTF9DRkxBR1M9LURTT0xBUklTICA7Oworc29sYXJpczIuMTAqKQlMT0NBTF9DRkxBR1M9LURTT0xBUklTICA7Oworc29sYXJpczIqKQlMT0NBTF9DRkxBR1M9LURTT0xBUklTIDs7CitseW54b3MqKQlMT0NBTF9DRkxBR1M9LURSRUNZQ0xFU19QSURTIDs7CitsaW51eCopCQlMT0NBTF9MREZMQUdTPS1yZHluYW1pYwkJICMgYWxsb3cgZHluYW1pYyBsb2FkaW5nCisJCWNhc2UgImB1bmFtZSAtcmAiIGluCisJCTIuW1s0NTY3ODldXSp8MyopCUFDX0RFRklORShQR1JQX1BJUEUpIDs7CisJCWVzYWMgOzsKKypxbng2KikJCUxPQ0FMX0NGTEFHUz0iLURxbnggLURxbng2IiBMT0NBTF9MSUJTPSItbG5jdXJzZXMiIDs7CisqcW54KikJCUxPQ0FMX0NGTEFHUz0iLURxbnggLUYgLTNzIiBMT0NBTF9MREZMQUdTPSItM3MiIExPQ0FMX0xJQlM9Ii1sdW5peCAtbG5jdXJzZXMiIDs7Citwb3dlcnV4KikJTE9DQUxfTElCUz0iLWxnZW4iIDs7CitjeWd3aW4qKQlMT0NBTF9DRkxBR1M9LURSRUNZQ0xFU19QSURTIDs7CitvcGVubnQqfGludGVyaXgqKSBMT0NBTF9DRkxBR1M9Ii1ETk9fTUFJTl9FTlZfQVJHIC1EQlJPS0VOX0RJUkVOVF9EX0lOTyAtRF9QT1NJWF9TT1VSQ0UiIDs7Citlc2FjCisKK2RubCBTdGFuemEgZm9yIE9TL2NvbXBpbGVyIHBhaXItc3BlY2lmaWMgZmxhZ3MKK2Nhc2UgIiR7aG9zdF9vc30tJHtDQ30iIGluCithaXg0LjIqLSpnY2MqKQlMT0NBTF9MREZMQUdTPSItWGxpbmtlciAtYmV4cGFsbCAtWGxpbmtlciAtYnJ0bCIgOzsKK2FpeDQuMiopCUxPQ0FMX0xERkxBR1M9Ii1iZXhwYWxsIC1icnRsIiA7OworYnNkaTQqLSpnY2MqKQlMT0NBTF9MREZMQUdTPSItcmR5bmFtaWMiIDs7CSMgYWxsb3cgZHluYW1pYyBsb2FkaW5nLCBsaWtlIExpbnV4Citlc2FjCisKK2RubCBGcmVlQlNELTMueCBjYW4gaGF2ZSBlaXRoZXIgYS5vdXQgb3IgRUxGCitjYXNlICIke2hvc3Rfb3N9IiBpbgorZnJlZWJzZFtbMy05XV0qKQorCQlpZiB0ZXN0IC14IC91c3IvYmluL29iamZvcm1hdCAmJiB0ZXN0ICJgL3Vzci9iaW4vb2JqZm9ybWF0YCIgPSAiZWxmIiA7IHRoZW4KKwkJCUxPQ0FMX0xERkxBR1M9LXJkeW5hbWljICMgYWxsb3cgZHluYW1pYyBsb2FkaW5nCisJCWZpIDs7CitmcmVlYnNkZWxmKikJTE9DQUxfTERGTEFHUz0tcmR5bmFtaWMgOzsJIyBhbGxvdyBkeW5hbWljIGxvYWRpbmcKK2RyYWdvbmZseSopCUxPQ0FMX0xERkxBR1M9LXJkeW5hbWljIDs7CSMgYWxsb3cgZHluYW1pYyBsb2FkaW5nCitlc2FjCisKK2Nhc2UgIiRob3N0X2NwdSIgaW4KKypjcmF5KikJCUxPQ0FMX0NGTEFHUz0iLURDUkFZIiA7OyAjIHNoZWxsIHZhciBzbyBjb25maWcuaCBjYW4gdXNlIGl0Citlc2FjCisKK2Nhc2UgIiRob3N0X2NwdS0kaG9zdF9vcyIgaW4KK2libXJ0LSpic2Q0KikJTE9DQUxfQ0ZMQUdTPSItbWEgLVVfX1NURENfXyIgOzsKK2VzYWMKKworY2FzZSAiJGhvc3RfY3B1LSRob3N0X3ZlbmRvci0kaG9zdF9vcyIgaW4KK204OGstbW90b3JvbGEtc3lzdjMpCUxPQ0FMX0NGTEFHUz0tRFdBSVRQSURfQlJPS0VOIDs7CittaXBzLXB5cmFtaWQtc3lzdjQpCUxPQ0FMX0NGTEFHUz0tWGEgOzsKK2VzYWMKKworIworIyBTaGFyZWQgb2JqZWN0IGNvbmZpZ3VyYXRpb24gc2VjdGlvbi4gIFRoZXNlIHZhbHVlcyBhcmUgZ2VuZXJhdGVkIGJ5CisjICR7c3JjZGlyfS9zdXBwb3J0L3Nob2JqLWNvbmYKKyMKK2lmIHRlc3QgIiRhY19jdl9mdW5jX2Rsb3BlbiIgPSAieWVzIiAmJiB0ZXN0IC1mICR7c3JjZGlyfS9zdXBwb3J0L3Nob2JqLWNvbmYKK3RoZW4KKwlBQ19NU0dfQ0hFQ0tJTkcoc2hhcmVkIG9iamVjdCBjb25maWd1cmF0aW9uIGZvciBsb2FkYWJsZSBidWlsdGlucykKKwlldmFsIGAke0NPTkZJR19TSEVMTC0vYmluL3NofSAke3NyY2Rpcn0vc3VwcG9ydC9zaG9iai1jb25mIC1DICIke0NDfSIgLWMgIiR7aG9zdF9jcHV9IiAtbyAiJHtob3N0X29zfSIgLXYgIiR7aG9zdF92ZW5kb3J9ImAKKwlBQ19TVUJTVChTSE9CSl9DQykKKwlBQ19TVUJTVChTSE9CSl9DRkxBR1MpCisJQUNfU1VCU1QoU0hPQkpfTEQpCisJQUNfU1VCU1QoU0hPQkpfTERGTEFHUykKKwlBQ19TVUJTVChTSE9CSl9YTERGTEFHUykKKwlBQ19TVUJTVChTSE9CSl9MSUJTKQorCUFDX1NVQlNUKFNIT0JKX1NUQVRVUykKKwlBQ19NU0dfUkVTVUxUKCRTSE9CSl9TVEFUVVMpCitmaQorCisjIHRyeSB0byBjcmVhdGUgYSBkaXJlY3RvcnkgdHJlZSBpZiB0aGUgc291cmNlIGlzIGVsc2V3aGVyZQorIyB0aGlzIHNob3VsZCBiZSBwYWNrYWdlZCBpbnRvIGEgc2NyaXB0IGFjY2Vzc2libGUgdmlhICR7c3JjZGlyfS9zdXBwb3J0CitjYXNlICIkc3JjZGlyIiBpbgorLikJOzsKKyopCWZvciBkIGluIGRvYyB0ZXN0cyBzdXBwb3J0IGxpYiBleGFtcGxlczsgZG8JIyBkaXJzCisJCXRlc3QgLWQgJGQgfHwgbWtkaXIgJGQKKwlkb25lCisJZm9yIGxkIGluIHJlYWRsaW5lIGdsb2IgdGlsZGUgbWFsbG9jIHNoIHRlcm1jYXA7IGRvCSMgbGliZGlycworCQl0ZXN0IC1kIGxpYi8kbGQgfHwgbWtkaXIgbGliLyRsZAorCWRvbmUKKwl0ZXN0IC1kIGV4YW1wbGVzL2xvYWRhYmxlcyB8fCBta2RpciBleGFtcGxlcy9sb2FkYWJsZXMJIyBsb2FkYWJsZSBidWlsdGlucworCXRlc3QgLWQgZXhhbXBsZXMvbG9hZGFibGVzL3BlcmwgfHwgbWtkaXIgZXhhbXBsZXMvbG9hZGFibGVzL3BlcmwKKwk7OworZXNhYworCitCVUlMRF9ESVI9YHB3ZGAKK2Nhc2UgIiRCVUlMRF9ESVIiIGluCisqXCAqKQlCVUlMRF9ESVI9YGVjaG8gIiRCVUlMRF9ESVIiIHwgc2VkICdzOiA6XFxcXCA6ZydgIDs7CisqKQk7OworZXNhYworCitpZiB0ZXN0IC16ICIkbG9jYWxlZGlyIjsgdGhlbgorCWxvY2FsZWRpcj0nJHtkYXRhcm9vdGRpcn0vbG9jYWxlJworZmkKK2lmIHRlc3QgLXogIiRkYXRhcm9vdGRpciI7IHRoZW4KKwlkYXRhcm9vdGRpcj0nJHtwcmVmaXh9L3NoYXJlJworZmkKKworQUNfU1VCU1QoUFJPRklMRV9GTEFHUykKKworQUNfU1VCU1QoaW5jZGlyKQorQUNfU1VCU1QoQlVJTERfRElSKQorCisjIFNvbWUgdmVyc2lvbnMgb2YgYXV0b2NvbmYgZG9uJ3Qgc3Vic3RpdHV0ZSB0aGVzZSBhdXRvbWF0aWNhbGx5CitBQ19TVUJTVChkYXRhcm9vdGRpcikKK0FDX1NVQlNUKGxvY2FsZWRpcikKKworQUNfU1VCU1QoWUFDQykKK0FDX1NVQlNUKEFSKQorQUNfU1VCU1QoQVJGTEFHUykKKworQUNfU1VCU1QoQkFTSFZFUlMpCitBQ19TVUJTVChSRUxTVEFUVVMpCitBQ19TVUJTVChERUJVRykKK0FDX1NVQlNUKE1BTExPQ19ERUJVRykKKworQUNfU1VCU1QoaG9zdF9jcHUpCitBQ19TVUJTVChob3N0X3ZlbmRvcikKK0FDX1NVQlNUKGhvc3Rfb3MpCisKK0FDX1NVQlNUKExPQ0FMX0xJQlMpCitBQ19TVUJTVChMT0NBTF9DRkxBR1MpCitBQ19TVUJTVChMT0NBTF9MREZMQUdTKQorQUNfU1VCU1QoTE9DQUxfREVGUykKKworI0FDX1NVQlNUKEFMTE9DQV9TT1VSQ0UpCisjQUNfU1VCU1QoQUxMT0NBX09CSkVDVCkKKworQUNfT1VUUFVUKFtNYWtlZmlsZSBidWlsdGlucy9NYWtlZmlsZSBsaWIvcmVhZGxpbmUvTWFrZWZpbGUgbGliL2dsb2IvTWFrZWZpbGUgXAorCSAgbGliL2ludGwvTWFrZWZpbGUgXAorCSAgbGliL21hbGxvYy9NYWtlZmlsZSBsaWIvc2gvTWFrZWZpbGUgbGliL3Rlcm1jYXAvTWFrZWZpbGUgXAorCSAgbGliL3RpbGRlL01ha2VmaWxlIGRvYy9NYWtlZmlsZSBzdXBwb3J0L01ha2VmaWxlIHBvL01ha2VmaWxlLmluIFwKKwkgIGV4YW1wbGVzL2xvYWRhYmxlcy9NYWtlZmlsZSBleGFtcGxlcy9sb2FkYWJsZXMvcGVybC9NYWtlZmlsZV0sCitbCisjIE1ha2VmaWxlIHVzZXMgdGhpcyB0aW1lc3RhbXAgZmlsZSB0byByZWNvcmQgd2hldGhlciBjb25maWcuaCBpcyB1cCB0byBkYXRlLgorZWNobyB0aW1lc3RhbXAgPiBzdGFtcC1oCitdKQpkaWZmIC0tZ2l0IGEvZG9jL0ZBUSBiL2RvYy9GQVEKaW5kZXggYmVmODEwNi4uMzNjYTNkMyAxMDA2NDQKLS0tIGEvZG9jL0ZBUQorKysgYi9kb2MvRkFRCkBAIC0xLDQgKzEsNCBAQAotVGhpcyBpcyB0aGUgQmFzaCBGQVEsIHZlcnNpb24gNC4xMSwgZm9yIEJhc2ggdmVyc2lvbiA0LjEuCitUaGlzIGlzIHRoZSBCYXNoIEZBUSwgdmVyc2lvbiA0LjEyLCBmb3IgQmFzaCB2ZXJzaW9uIDQuMi4KIAogVGhpcyBkb2N1bWVudCBjb250YWlucyBhIHNldCBvZiBmcmVxdWVudGx5LWFza2VkIHF1ZXN0aW9ucyBjb25jZXJuaW5nCiBCYXNoLCB0aGUgR05VIEJvdXJuZS1BZ2FpbiBTaGVsbC4gIEJhc2ggaXMgYSBmcmVlbHktYXZhaWxhYmxlIGNvbW1hbmQKQEAgLTM2LDggKzM2LDggQEAKIAogU2VjdGlvbiBCOiAgVGhlIGxhdGVzdCB2ZXJzaW9uCiAKLUIxKSBXaGF0J3MgbmV3IGluIHZlcnNpb24gNC4xPwotQjIpIEFyZSB0aGVyZSBhbnkgdXNlci12aXNpYmxlIGluY29tcGF0aWJpbGl0aWVzIGJldHdlZW4gYmFzaC00LjEgYW5kCitCMSkgV2hhdCdzIG5ldyBpbiB2ZXJzaW9uIDQuMj8KK0IyKSBBcmUgdGhlcmUgYW55IHVzZXItdmlzaWJsZSBpbmNvbXBhdGliaWxpdGllcyBiZXR3ZWVuIGJhc2gtNC4yIGFuZAogICAgIHByZXZpb3VzIGJhc2ggdmVyc2lvbnM/CiAKIFNlY3Rpb24gQzogIERpZmZlcmVuY2VzIGZyb20gb3RoZXIgVW5peCBzaGVsbHMKQEAgLTE0NCwyNiArMTQ0LDI2IEBACiAKIEEyKSAgV2hhdCdzIHRoZSBsYXRlc3QgdmVyc2lvbj8KIAotVGhlIGxhdGVzdCB2ZXJzaW9uIGlzIDQuMSwgZmlyc3QgbWFkZSBhdmFpbGFibGUgb24gMzEgRGVjZW1iZXIsIDIwMDkuCitUaGUgbGF0ZXN0IHZlcnNpb24gaXMgNC4yLCBmaXJzdCBtYWRlIGF2YWlsYWJsZSBvbiAxNCBGZWJydWFyeSwgMjAxMS4KIAogQTMpICBXaGVyZSBjYW4gSSBnZXQgaXQ/CiAKIEJhc2ggaXMgdGhlIEdOVSBwcm9qZWN0J3Mgc2hlbGwsIGFuZCBzbyBpcyBhdmFpbGFibGUgZnJvbSB0aGUKIG1hc3RlciBHTlUgYXJjaGl2ZSBzaXRlLCBmdHAuZ251Lm9yZywgYW5kIGl0cyBtaXJyb3JzLiAgVGhlCiBsYXRlc3QgdmVyc2lvbiBpcyBhbHNvIGF2YWlsYWJsZSBmb3IgRlRQIGZyb20gZnRwLmN3cnUuZWR1LgotVGhlIGZvbGxvd2luZyBVUkxzIHRlbGwgaG93IHRvIGdldCB2ZXJzaW9uIDQuMToKK1RoZSBmb2xsb3dpbmcgVVJMcyB0ZWxsIGhvdyB0byBnZXQgdmVyc2lvbiA0LjI6CiAKLWZ0cDovL2Z0cC5nbnUub3JnL3B1Yi9nbnUvYmFzaC9iYXNoLTQuMS50YXIuZ3oKLWZ0cDovL2Z0cC5jd3J1LmVkdS9wdWIvYmFzaC9iYXNoLTQuMS50YXIuZ3oKK2Z0cDovL2Z0cC5nbnUub3JnL3B1Yi9nbnUvYmFzaC9iYXNoLTQuMi50YXIuZ3oKK2Z0cDovL2Z0cC5jd3J1LmVkdS9wdWIvYmFzaC9iYXNoLTQuMi50YXIuZ3oKIAogRm9ybWF0dGVkIHZlcnNpb25zIG9mIHRoZSBkb2N1bWVudGF0aW9uIGFyZSBhdmFpbGFibGUgd2l0aCB0aGUgVVJMczoKIAotZnRwOi8vZnRwLmdudS5vcmcvcHViL2dudS9iYXNoL2Jhc2gtZG9jLTQuMS50YXIuZ3oKLWZ0cDovL2Z0cC5jd3J1LmVkdS9wdWIvYmFzaC9iYXNoLWRvYy00LjEudGFyLmd6CitmdHA6Ly9mdHAuZ251Lm9yZy9wdWIvZ251L2Jhc2gvYmFzaC1kb2MtNC4yLnRhci5negorZnRwOi8vZnRwLmN3cnUuZWR1L3B1Yi9iYXNoL2Jhc2gtZG9jLTQuMi50YXIuZ3oKIAogQW55IHBhdGNoZXMgZm9yIHRoZSBjdXJyZW50IHZlcnNpb24gYXJlIGF2YWlsYWJsZSB3aXRoIHRoZSBVUkw6CiAKLWZ0cDovL2Z0cC5jd3J1LmVkdS9wdWIvYmFzaC9iYXNoLTQuMS1wYXRjaGVzLworZnRwOi8vZnRwLmN3cnUuZWR1L3B1Yi9iYXNoL2Jhc2gtNC4yLXBhdGNoZXMvCiAKIEE0KSAgT24gd2hhdCBtYWNoaW5lcyB3aWxsIGJhc2ggcnVuPwogCkBAIC0yMTksNyArMjE5LDcgQEAKIAogQmFzaC0zLjAgY29tcGlsZXMgYW5kIHJ1bnMgd2l0aCBubyBtb2RpZmljYXRpb25zIHVuZGVyIE1pY3Jvc29mdCdzIFNlcnZpY2VzCiBmb3IgVW5peCAoU0ZVKSwgb25jZSBrbm93biBhcyBJbnRlcml4LiAgSSBkbyBub3QgYW50aWNpcGF0ZSBhbnkgcHJvYmxlbXMKLXdpdGggYnVpbGRpbmcgYmFzaC00LjEsIGJ1dCB3aWxsIGdsYWRseSBhY2NlcHQgYW55IHBhdGNoZXMgdGhhdCBhcmUgbmVlZGVkLgord2l0aCBidWlsZGluZyBiYXNoLTQuMiwgYnV0IHdpbGwgZ2xhZGx5IGFjY2VwdCBhbnkgcGF0Y2hlcyB0aGF0IGFyZSBuZWVkZWQuCiAKIEE2KSBIb3cgY2FuIEkgYnVpbGQgYmFzaCB3aXRoIGdjYz8gCiAKQEAgLTM4OCwxNCArMzg4LDg4IEBACiAKIFNlY3Rpb24gQjogIFRoZSBsYXRlc3QgdmVyc2lvbgogCi1CMSkgV2hhdCdzIG5ldyBpbiB2ZXJzaW9uIDQuMT8KK0IxKSBXaGF0J3MgbmV3IGluIHZlcnNpb24gNC4yPwogCi1CYXNoLTQuMSBpcyB0aGUgZmlyc3QgcmV2aXNpb24gdG8gdGhlIGZvdXJ0aCBtYWpvciByZWxlYXNlIG9mIGJhc2guCitCYXNoLTQuMiBpcyB0aGUgc2Vjb25kIHJldmlzaW9uIHRvIHRoZSBmb3VydGggbWFqb3IgcmVsZWFzZSBvZiBiYXNoLgogCi1CYXNoLTQuMSBjb250YWlucyB0aGUgZm9sbG93aW5nIG5ldyBmZWF0dXJlcyAoc2VlIHRoZSBtYW51YWwgcGFnZSBmb3IKLWNvbXBsZXRlIGRlc2NyaXB0aW9ucyBhbmQgdGhlIENIQU5HRVMgYW5kIE5FV1MgZmlsZXMgaW4gdGhlIGJhc2gtNC4xCitCYXNoLTQuMiBjb250YWlucyB0aGUgZm9sbG93aW5nIG5ldyBmZWF0dXJlcyAoc2VlIHRoZSBtYW51YWwgcGFnZSBmb3IKK2NvbXBsZXRlIGRlc2NyaXB0aW9ucyBhbmQgdGhlIENIQU5HRVMgYW5kIE5FV1MgZmlsZXMgaW4gdGhlIGJhc2gtNC4yCiBkaXN0cmlidXRpb24pOgogCitvICAgYGV4ZWMgLWEgZm9vJyBub3cgc2V0cyAkMCB0byBgZm9vJyBpbiBhbiBleGVjdXRhYmxlIHNoZWxsIHNjcmlwdCB3aXRob3V0IGEKKyAgICBsZWFkaW5nICMhLgorCitvICAgU3Vic2hlbGxzIGJlZ3VuIHRvIGV4ZWN1dGUgY29tbWFuZCBzdWJzdGl0dXRpb25zIG9yIHJ1biBzaGVsbCBmdW5jdGlvbnMgb3IKKyAgICBidWlsdGlucyBpbiBzdWJzaGVsbHMgZG8gbm90IHJlc2V0IHRyYXAgc3RyaW5ncyB1bnRpbCBhIG5ldyB0cmFwIGlzCisgICAgc3BlY2lmaWVkLiAgVGhpcyBhbGxvd3MgJCh0cmFwKSB0byBkaXNwbGF5IHRoZSBjYWxsZXIncyB0cmFwcyBhbmQgdGhlCisgICAgdHJhcCBzdHJpbmdzIHRvIHBlcnNpc3QgdW50aWwgYSBuZXcgdHJhcCBpcyBzZXQuCisKK28gICBgdHJhcCAtcCcgd2lsbCBub3cgc2hvdyBzaWduYWxzIGlnbm9yZWQgYXQgc2hlbGwgc3RhcnR1cCwgdGhvdWdoIHRoZWlyCisgICAgZGlzcG9zaXRpb24gc3RpbGwgY2Fubm90IGJlIG1vZGlmaWVkLgorCitvICAgJCcuLi4nLCBlY2hvLCBhbmQgcHJpbnRmIHVuZGVyc3RhbmQgXHVYWFhYIGFuZCBcVVhYWFhYWFhYIGVzY2FwZSBzZXF1ZW5jZXMuCisKK28gICBkZWNsYXJlL3R5cGVzZXQgaGFzIGEgbmV3IGAtZycgb3B0aW9uLCB3aGljaCBjcmVhdGVzIHZhcmlhYmxlcyBpbiB0aGUKKyAgICBnbG9iYWwgc2NvcGUgZXZlbiB3aGVuIHJ1biBpbiBhIHNoZWxsIGZ1bmN0aW9uLgorCitvICAgdGVzdC9bL1tbIGhhdmUgYSBuZXcgLXYgdmFyaWFibGUgdW5hcnkgb3BlcmF0b3IsIHdoaWNoIHJldHVybnMgc3VjY2VzcyBpZgorICAgIGB2YXJpYWJsZScgaGFzIGJlZW4gc2V0LgorCitvICAgUG9zaXggcGFyc2luZyBjaGFuZ2VzIHRvIGFsbG93IGAhIHRpbWUgY29tbWFuZCcgYW5kIG11bHRpcGxlIGNvbnNlY3V0aXZlCisgICAgaW5zdGFuY2VzIG9mIGAhJyAod2hpY2ggdG9nZ2xlKSBhbmQgYHRpbWUnICh3aGljaCBoYXZlIG5vIGN1bXVsYXRpdmUKKyAgICBlZmZlY3QpLgorCitvICAgUG9zaXggY2hhbmdlIHRvIGFsbG93IGB0aW1lJyBhcyBhIGNvbW1hbmQgYnkgaXRzZWxmIHRvIHByaW50IHRoZSBlbGFwc2VkCisgICAgdXNlciwgc3lzdGVtLCBhbmQgcmVhbCB0aW1lcyBmb3IgdGhlIHNoZWxsIGFuZCBpdHMgY2hpbGRyZW4uCisKK28gICAkKCguLi4pKSBpcyBhbHdheXMgcGFyc2VkIGFzIGFuIGFyaXRobWV0aWMgZXhwYW5zaW9uIGZpcnN0LCBpbnN0ZWFkIG9mIGFzCisgICAgYSBwb3RlbnRpYWwgbmVzdGVkIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcyBQb3NpeCByZXF1aXJlcy4KKworbyAgIEEgbmV3IEZVTkNORVNUIHZhcmlhYmxlIHRvIGFsbG93IHRoZSB1c2VyIHRvIGNvbnRyb2wgdGhlIG1heGltdW0gc2hlbGwKKyAgICBmdW5jdGlvbiBuZXN0aW5nIChyZWN1cnNpdmUgZXhlY3V0aW9uKSBsZXZlbC4KKworbyAgIFRoZSBtYXBmaWxlIGJ1aWx0aW4gbm93IHN1cHBsaWVzIGEgdGhpcmQgYXJndW1lbnQgdG8gdGhlIGNhbGxiYWNrIGNvbW1hbmQ6CisgICAgdGhlIGxpbmUgYWJvdXQgdG8gYmUgYXNzaWduZWQgdG8gdGhlIHN1cHBsaWVkIGFycmF5IGluZGV4LgorCitvICAgVGhlIHByaW50ZiBidWlsdGluIGhhcyBhcyBuZXcgJShmbXQpVCBzcGVjaWZpZXIsIHdoaWNoIGFsbG93cyB0aW1lIHZhbHVlcworICAgIHRvIHVzZSBzdHJmdGltZS1saWtlIGZvcm1hdHRpbmcuCisKK28gICBUaGVyZSBpcyBhIG5ldyBgY29tcGF0NDEnIHNoZWxsIG9wdGlvbi4KKworbyAgIFRoZSBjZCBidWlsdGluIGhhcyBhIG5ldyBQb3NpeC1tYW5kYXRlZCBgLWUnIG9wdGlvbi4KKworbyAgIE5lZ2F0aXZlIHN1YnNjcmlwdHMgdG8gaW5kZXhlZCBhcnJheXMsIHByZXZpb3VzbHkgZXJyb3JzLCBub3cgYXJlIHRyZWF0ZWQKKyAgICBhcyBvZmZzZXRzIGZyb20gdGhlIG1heGltdW0gYXNzaWduZWQgaW5kZXggKyAxLgorCitvICAgTmVnYXRpdmUgbGVuZ3RoIHNwZWNpZmljYXRpb25zIGluIHRoZSAke3ZhcjpvZmZzZXQ6bGVuZ3RofSBleHBhbnNpb24sCisgICAgcHJldmlvdXNseSBlcnJvcnMsIGFyZSBub3cgdHJlYXRlZCBhcyBvZmZzZXRzIGZyb20gdGhlIGVuZCBvZiB0aGUgdmFyaWFibGUuCisKK28gICBQYXJzaW5nIGNoYW5nZSB0byBhbGxvdyBgdGltZSAtcCAtLScuCisKK28gICBQb3NpeC1tb2RlIHBhcnNpbmcgY2hhbmdlIHRvIG5vdCByZWNvZ25pemUgYHRpbWUnIGFzIGEga2V5d29yZCBpZiB0aGUKKyAgICBmb2xsb3dpbmcgdG9rZW4gYmVnaW5zIHdpdGggYSBgLScuICBUaGlzIG1lYW5zIG5vIG1vcmUgUG9zaXgtbW9kZQorICAgIGB0aW1lIC1wJy4gIFBvc2l4IGludGVycHJldGF0aW9uIDI2Ny4KKworbyAgIFRoZXJlIGlzIGEgbmV3IGBsYXN0cGlwZScgc2hlbGwgb3B0aW9uIHRoYXQgcnVucyB0aGUgbGFzdCBjb21tYW5kIG9mIGEKKyAgICBwaXBlbGluZSBpbiB0aGUgY3VycmVudCBzaGVsbCBjb250ZXh0LiAgVGhlIGxhc3RwaXBlIG9wdGlvbiBoYXMgbm8KKyAgICBlZmZlY3QgaWYgam9iIGNvbnRyb2wgaXMgZW5hYmxlZC4KKworbyAgIEhpc3RvcnkgZXhwYW5zaW9uIG5vIGxvbmdlciBleHBhbmRzIHRoZSBgJCEnIHZhcmlhYmxlIGV4cGFuc2lvbi4KKworbyAgIFBvc2l4IG1vZGUgc2hlbGxzIG5vIGxvbmdlciBleGl0IGlmIGEgdmFyaWFibGUgYXNzaWdubWVudCBlcnJvciBvY2N1cnMKKyAgICB3aXRoIGFuIGFzc2lnbm1lbnQgcHJlY2VkaW5nIGEgY29tbWFuZCB0aGF0IGlzIG5vdCBhIHNwZWNpYWwgYnVpbHRpbi4KKworbyAgIE5vbi1pbnRlcmFjdGl2ZSBtb2RlIHNoZWxscyBleGl0IGlmIC11IGlzIGVuYWJsZWQgYW4gYW4gYXR0ZW1wdCBpcyBtYWRlCisgICAgdG8gdXNlIGFuIHVuc2V0IHZhcmlhYmxlIHdpdGggdGhlICUgb3IgIyBleHBhbnNpb25zLCB0aGUgYC8vJywgYF4nLCBvcgorICAgIGAsJyBleHBhbnNpb25zLCBvciB0aGUgcGFyYW1ldGVyIGxlbmd0aCBleHBhbnNpb24uCisKK28gICBQb3NpeC1tb2RlIHNoZWxscyB1c2UgdGhlIGFyZ3VtZW50IHBhc3NlZCB0byBgLicgYXMtaXMgaWYgYSAkUEFUSCBzZWFyY2gKKyAgICBmYWlscywgZWZmZWN0aXZlbHkgc2VhcmNoaW5nIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gIFBvc2l4LTIwMDggY2hhbmdlLgorCitBIHNob3J0IGZlYXR1cmUgaGlzdG9yeSBkYXRpbmcgYmFjayB0byBCYXNoLTIuMDoKKworQmFzaC00LjEgY29udGFpbmVkIHRoZSBmb2xsb3dpbmcgbmV3IGZlYXR1cmVzOgorCiBvICAgSGVyZS1kb2N1bWVudHMgd2l0aGluICQoLi4uKSBjb21tYW5kIHN1YnN0aXR1dGlvbnMgbWF5IG9uY2UgbW9yZSBiZQogICAgIGRlbGltaXRlZCBieSB0aGUgY2xvc2luZyByaWdodCBwYXJlbiwgaW5zdGVhZCBvZiByZXF1aXJpbmcgYSBuZXdsaW5lLgogCkBAIC01MDIsOCArNTc2LDYgQEAKICAgICByZWFkbGluZSBzZW5kcyB0aGUgc21tL3JtbSBzZXF1ZW5jZXMgaWYgdGhlIHRlcm1pbmFsIGluZGljYXRlcyBpdCBoYXMgYQogICAgIG1ldGEga2V5IHRoYXQgZW5hYmxlcyBlaWdodC1iaXQgY2hhcmFjdGVycy4KIAotQSBzaG9ydCBmZWF0dXJlIGhpc3RvcnkgZGF0aW5nIGZyb20gQmFzaC0yLjA6Ci0KIEJhc2gtNC4wIGNvbnRhaW5lZCB0aGUgZm9sbG93aW5nIG5ldyBmZWF0dXJlczoKIAogbyAgIFdoZW4gdXNpbmcgc3Vic3RyaW5nIGV4cGFuc2lvbiBvbiB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBhIHN0YXJ0aW5nCkBAIC05MDEsMTQgKzk3MywxNCBAQAogbG90cyBvZiBjb2RlIG5vdyBzbWFsbGVyIGFuZCBmYXN0ZXIKIHRlc3Qgc3VpdGUgZ3JlYXRseSBleHBhbmRlZAogCi1CMikgQXJlIHRoZXJlIGFueSB1c2VyLXZpc2libGUgaW5jb21wYXRpYmlsaXRpZXMgYmV0d2VlbiBiYXNoLTQuMSBhbmQKK0IyKSBBcmUgdGhlcmUgYW55IHVzZXItdmlzaWJsZSBpbmNvbXBhdGliaWxpdGllcyBiZXR3ZWVuIGJhc2gtNC4yIGFuZAogICAgIHByZXZpb3VzIGJhc2ggdmVyc2lvbnM/CiAKLVRoZXJlIGFyZSBhIGZldyBpbmNvbXBhdGliaWxpdGllcyBiZXR3ZWVuIHZlcnNpb24gNC4xIGFuZCBwcmV2aW91cworVGhlcmUgYXJlIGEgZmV3IGluY29tcGF0aWJpbGl0aWVzIGJldHdlZW4gdmVyc2lvbiA0LjIgYW5kIHByZXZpb3VzCiB2ZXJzaW9ucy4gIFRoZXkgYXJlIGRldGFpbGVkIGluIHRoZSBmaWxlIENPTVBBVCBpbiB0aGUgYmFzaCBkaXN0cmlidXRpb24uCiBUaGF0IGZpbGUgaXMgbm90IG1lYW50IHRvIGJlIGFsbC1lbmNvbXBhc3Npbmc7IHNlbmQgbWFpbCB0bwogYmFzaC1tYWludGFpbmVyc0BnbnUub3JnIChvciBidWctYmFzaEBnbnUub3JnIGlmIHlvdSB3b3VsZCBsaWtlCi1jb21tdW5pdHkgZGlzY3Vzc2lvbikgaWYgaWYgeW91IGZpbmQgc29tZXRoaW5nIHRoYXQncyBub3QgbWVudGlvbmVkIHRoZXJlLgorY29tbXVuaXR5IGRpc2N1c3Npb24pIGlmIHlvdSBmaW5kIHNvbWV0aGluZyB0aGF0J3Mgbm90IG1lbnRpb25lZCB0aGVyZS4KIAogU2VjdGlvbiBDOiAgRGlmZmVyZW5jZXMgZnJvbSBvdGhlciBVbml4IHNoZWxscwogCkBAIC0xMTE4LDcgKzExOTAsNyBAQAogCiBUaGlzIGxpc3QgaXMgY3VycmVudCB0aHJvdWdoIGtzaDkzdCsgKDA1LzA1LzIwMDkpCiAKLU5ldyB0aGluZ3MgaW4ga3NoLTkzIG5vdCBpbiBiYXNoLTQuMToKK05ldyB0aGluZ3MgaW4ga3NoLTkzIG5vdCBpbiBiYXNoLTQuMjoKIAlmbG9hdGluZyBwb2ludCBhcml0aG1ldGljIGFuZCB2YXJpYWJsZXMKIAltYXRoIGxpYnJhcnkgZnVuY3Rpb25zCiAJJHshbmFtZVtzdWJdfSBuYW1lIG9mIHN1YnNjcmlwdCBmb3IgYXNzb2NpYXRpdmUgYXJyYXkKQEAgLTExNDAsNyArMTIxMiw3IEBACiAJYGZjJyBoYXMgYmVlbiByZW5hbWVkIHRvIGBoaXN0JwogCWAuJyBjYW4gZXhlY3V0ZSBzaGVsbCBmdW5jdGlvbnMKIAlnZXRvcHRzIC1hCi0JcHJpbnRmICVCLCAlSCwgJVAsICVSLCAlVCwgJVogbW9kaWZpZXJzLCBvdXRwdXQgYmFzZSBmb3IgJWQsIGA9JyBmbGFnCisJcHJpbnRmICVCLCAlSCwgJVAsICVSLCAlWiBtb2RpZmllcnMsIG91dHB1dCBiYXNlIGZvciAlZCwgYD0nIGZsYWcKIAlyZWFkIC1uLy1OIGRpZmZlci8tdgogCXNldCAtbyBzaG93bWUvLW8gbXVsdGlsaW5lIChiYXNoIGRlZmF1bHQpCiAJYHNsZWVwJyBhbmQgYGdldGNvbmYnIGJ1aWx0aW5zIChiYXNoIGhhcyBsb2FkYWJsZSB2ZXJzaW9ucykKQEAgLTExNDgsMTYgKzEyMjAsMTQgQEAKIAlbWyAtUiBuYW1lIF1dIChjaGVja3Mgd2hldGhlciBvciBub3QgbmFtZSBpcyBhIG5hbWVyZWYpCiAJdHlwZXNldCAtQy8tUy8tVC8tWC8taC8tcwogCWV4cGVyaW1lbnRhbCBgdHlwZScgZGVmaW5pdGlvbnMgKGEgbGEgdHlwZWRlZikgdXNpbmcgdHlwZXNldAotCW5lZ2F0aXZlIHN1YnNjcmlwdHMgZm9yIGluZGV4ZWQgYXJyYXkgdmFyaWFibGVzCiAJYXJyYXkgZXhwYW5zaW9ucyAke2FycmF5W3N1YjEuLnN1YjJdfSBhbmQgJHshYXJyYXlbc3ViMS4uc3ViMl19CiAJYXNzb2NpYXRpdmUgYXJyYXkgYXNzaWdubWVudHMgdXNpbmcgYDsnIGFzIGVsZW1lbnQgc2VwYXJhdG9yCiAJY29tbWFuZCBzdWJzdGl0dXRpb24gJChuPCMpIGV4cGFuZHMgdG8gY3VycmVudCBieXRlIG9mZnNldCBmb3IgZmQgTgogCW5ldyAnJHsgJyBmb3JtIG9mIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBleGVjdXRlZCBpbiBjdXJyZW50IHNoZWxsCiAJbmV3ID47Lzw+Oy88I3BhdC88IyNwYXQvPCMvPiMgcmVkaXJlY3Rpb25zCiAJYnJhY2UgZXhwYW5zaW9uIHByaW50Zi1saWtlIGZvcm1hdHMgCi0JW1sgLXYgdmFyIF1dIG9wZXJhdG9ycyAoY2hlY2tzIHdoZXRoZXIgb3Igbm90IHZhciBpcyBzZXQpCiAKLU5ldyB0aGluZ3MgaW4ga3NoLTkzIHByZXNlbnQgaW4gYmFzaC00LjE6CitOZXcgdGhpbmdzIGluIGtzaC05MyBwcmVzZW50IGluIGJhc2gtNC4yOgogCWFzc29jaWF0aXZlIGFycmF5cwogCVtuXTwmd29yZC0gYW5kIFtuXT4md29yZC0gcmVkaXJlY3Rpb25zIChjb21iaW5hdGlvbiBkdXAgYW5kIGNsb3NlKQogICAgICAgICBmb3IgKCggZXhwcjE7IGV4cHIyOyBleHByMyApKSA7IGRvIGxpc3Q7IGRvbmUgLSBhcml0aG1ldGljIGZvciBjb21tYW5kCkBAIC0xMTY1LDYgKzEyMzUsNyBAQAogCWV4cGFuc2lvbnM6ICR7IXBhcmFtfSwgJHtwYXJhbTpvZmZzZXRbOmxlbl19LCAke3BhcmFtL3BhdFsvc3RyXX0sCiAJCSAgICAkeyFwYXJhbSp9CiAJY29tcG91bmQgYXJyYXkgYXNzaWdubWVudAorCW5lZ2F0aXZlIHN1YnNjcmlwdHMgZm9yIGluZGV4ZWQgYXJyYXkgdmFyaWFibGVzCiAJdGhlIGAhJyByZXNlcnZlZCB3b3JkCiAJbG9hZGFibGUgYnVpbHRpbnMgLS0gYnV0IGtzaCB1c2VzIGBidWlsdGluJyB3aGlsZSBiYXNoIHVzZXMgYGVuYWJsZScKIAluZXcgJCcuLi4nIGFuZCAkIi4uLiIgcXVvdGluZwpAQCAtMTE3NCw2ICsxMjQ1LDcgQEAKIAlgY29tbWFuZCcsIGBidWlsdGluJywgYGRpc293bicgYnVpbHRpbnMKIAllY2hvIC1lCiAJZXhlYyAtYy8tYQorCXByaW50ZiAlVCBtb2RpZmllcgogCXJlYWQgLUEgKGJhc2ggdXNlcyByZWFkIC1hKQogICAgICAgICByZWFkIC10Ly1kCiAJdHJhcCAtcApAQCAtMTE5Myw2ICsxMjY1LDcgQEAKIAluZWdhdGl2ZSBvZmZzZXRzIGluICR7cGFyYW06b2Zmc2V0Omxlbmd0aH0KIAlyZWRpcmVjdGlvbiBvcGVyYXRvcnMgcHJlY2VkZWQgd2l0aCB7dmFybmFtZX0gdG8gc3RvcmUgZmQgbnVtYmVyIGluIHZhcm5hbWUKIAlERUJVRyBjYW4gZm9yY2Ugc2tpcHBpbmcgZm9sbG93aW5nIGNvbW1hbmQKKwlbWyAtdiB2YXIgXV0gb3BlcmF0b3IgKGNoZWNrcyB3aGV0aGVyIG9yIG5vdCB2YXIgaXMgc2V0KQogCiBTZWN0aW9uIEQ6ICBXaHkgZG9lcyBiYXNoIGRvIHNvbWUgdGhpbmdzIGRpZmZlcmVudGx5IHRoYW4gb3RoZXIgVW5peCBzaGVsbHM/CiAKQEAgLTE3NzgsNyArMTg1MSw4IEBACiAJLSB0aGUgPCBhbmQgPiBvcGVyYXRvcnMgdG8gdGhlIFtbIGNvbW1hbmQgZG8gbm90IGNvbnNpZGVyIHRoZSBjdXJyZW50CiAJICBsb2NhbGUgd2hlbiBjb21wYXJpbmcgc3RyaW5ncwogCS0gaW50ZXJydXB0aW5nIGEgY29tbWFuZCBsaXN0IHN1Y2ggYXMgImEgOyBiIDsgYyIgY2F1c2VzIHRoZSBleGVjdXRpb24KLQkgIG9mIHRoZSBlbnRpcmUgbGlzdCB0byBiZSBhYm9ydGVkCisJICBvZiB0aGUgZW50aXJlIGxpc3QgdG8gYmUgYWJvcnRlZCAoaW4gdmVyc2lvbnMgYmVmb3JlIGJhc2gtNC4wLAorCSAgaW50ZXJydXB0aW5nIG9uZSBjb21tYW5kIGluIGEgbGlzdCBjYXVzZWQgdGhlIG5leHQgdG8gYmUgZXhlY3V0ZWQpCiAKIFNlY3Rpb24gRjogIFRoaW5ncyB0byB3YXRjaCBvdXQgZm9yIG9uIGNlcnRhaW4gVW5peCB2ZXJzaW9ucwogCmRpZmYgLS1naXQgYS9kb2MvTWFrZWZpbGUuaW4gYi9kb2MvTWFrZWZpbGUuaW4KaW5kZXggM2UwZTY4Yi4uNDkzOTg1YiAxMDA2NDQKLS0tIGEvZG9jL01ha2VmaWxlLmluCisrKyBiL2RvYy9NYWtlZmlsZS5pbgpAQCAtMTYxLDcgKzE2MSw3IEBACiBwZGY6ICR7UERGRklMRVN9CiAKIGJhc2hyZWYuZHZpOiAkKEJBU0hSRUZfRklMRVMpICQoSFNVU0VSKSAkKFJMVVNFUikKLQkke1NFVF9URVhJTlBVVFN9ICQoVEVYSTJEVkkpICQoc3JjZGlyKS9iYXNocmVmLnRleGkKKwkke1NFVF9URVhJTlBVVFN9ICQoVEVYSTJEVkkpICQoc3JjZGlyKS9iYXNocmVmLnRleGkgfHwgeyAke1JNfSAkQCA7IGV4aXQgMTsgfQogCiBiYXNocmVmLmluZm86ICQoQkFTSFJFRl9GSUxFUykgJChIU1VTRVIpICQoUkxVU0VSKQogCSQoTUFLRUlORk8pIC0tbm8tc3BsaXQgLUkkKFRFWElOUFVURElSKSAkKHNyY2RpcikvYmFzaHJlZi50ZXhpCmRpZmYgLS1naXQgYS9kb2MvYmFzaC4wIGIvZG9jL2Jhc2guMAppbmRleCA2NzVjZDJmLi44NmQ4YjcwIDEwMDY0NAotLS0gYS9kb2MvYmFzaC4wCisrKyBiL2RvYy9iYXNoLjAKQEAgLTksNyArOSw3IEBACiAgICAgICAgYghiYQhhcwhzaAhoIFtvcHRpb25zXSBbZmlsZV0KIAogQwhDTwhPUAhQWQhZUghSSQhJRwhHSAhIVAhUCi0gICAgICAgQmFzaCBpcyBDb3B5cmlnaHQgKEMpIDE5ODktMjAwOSBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICAgICAgQmFzaCBpcyBDb3B5cmlnaHQgKEMpIDE5ODktMjAxMCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKIEQIREUIRVMIU0MIQ1IIUkkISVAIUFQIVEkISU8IT04ITgogICAgICAgIEIIQmEIYXMIc2gIaCAgaXMgIGFuICBzCHNoCGgtY29tcGF0aWJsZSAgY29tbWFuZCBsYW5ndWFnZSBpbnRlcnByZXRlciB0aGF0IGV4ZWN1dGVzCkBAIC0yMSw4MiArMjEsODEgQEAKICAgICAgICAxMDAzLjEpLiAgQghCYQhhcwhzaAhoIGNhbiBiZSBjb25maWd1cmVkIHRvIGJlIFBPU0lYLWNvbmZvcm1hbnQgYnkgZGVmYXVsdC4KIAogTwhPUAhQVAhUSQhJTwhPTghOUwhTCi0gICAgICAgSW4gIGFkZGl0aW9uICB0byAgdGhlICBzaW5nbGUtY2hhcmFjdGVyIHNoZWxsIG9wdGlvbnMgZG9jdW1lbnRlZCBpbiB0aGUKLSAgICAgICBkZXNjcmlwdGlvbiBvZiB0aGUgcwhzZQhldAh0IGJ1aWx0aW4gY29tbWFuZCwgYghiYQhhcwhzaAhoIGludGVycHJldHMgIHRoZSAgZm9sbG93aW5nCi0gICAgICAgb3B0aW9ucyB3aGVuIGl0IGlzIGludm9rZWQ6CisgICAgICAgQWxsICBvZiAgdGhlICBzaW5nbGUtY2hhcmFjdGVyIHNoZWxsIG9wdGlvbnMgZG9jdW1lbnRlZCBpbiB0aGUgZGVzY3JpcC0KKyAgICAgICB0aW9uIG9mIHRoZSBzCHNlCGV0CHQgYnVpbHRpbiBjb21tYW5kIGNhbiBiZSB1c2VkIGFzIG9wdGlvbnMgd2hlbiAgdGhlICBzaGVsbAorICAgICAgIGlzIGludm9rZWQuICBJbiBhZGRpdGlvbiwgYghiYQhhcwhzaAhoIGludGVycHJldHMgdGhlIGZvbGxvd2luZyBvcHRpb25zIHdoZW4gaXQKKyAgICAgICBpcyBpbnZva2VkOgogCi0gICAgICAgLQgtYwhjIF8Ic18IdF8Icl8IaV8Ibl8IZyBJZiAgdGhlICAtCC1jCGMgIG9wdGlvbiAgaXMgIHByZXNlbnQsIHRoZW4gY29tbWFuZHMgYXJlIHJlYWQgZnJvbQotICAgICAgICAgICAgICAgICBfCHNfCHRfCHJfCGlfCG5fCGcuICBJZiB0aGVyZSBhcmUgYXJndW1lbnRzIGFmdGVyIHRoZSAgXwhzXwh0XwhyXwhpXwhuXwhnLCAgdGhleSAgYXJlCisgICAgICAgLQgtYwhjIF8Ic18IdF8Icl8IaV8Ibl8IZyBJZiB0aGUgLQgtYwhjIG9wdGlvbiBpcyBwcmVzZW50LCAgdGhlbiAgY29tbWFuZHMgIGFyZSAgcmVhZCAgZnJvbQorICAgICAgICAgICAgICAgICBfCHNfCHRfCHJfCGlfCG5fCGcuICAgSWYgIHRoZXJlICBhcmUgYXJndW1lbnRzIGFmdGVyIHRoZSBfCHNfCHRfCHJfCGlfCG5fCGcsIHRoZXkgYXJlCiAgICAgICAgICAgICAgICAgIGFzc2lnbmVkIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsIHN0YXJ0aW5nIHdpdGggJAgkMAgwLgogICAgICAgIC0ILWkIaSAgICAgICAgSWYgdGhlIC0ILWkIaSBvcHRpb24gaXMgcHJlc2VudCwgdGhlIHNoZWxsIGlzIF8IaV8Ibl8IdF8IZV8Icl8IYV8IY18IdF8IaV8Idl8IZS4KICAgICAgICAtCC1sCGwgICAgICAgIE1ha2UgYghiYQhhcwhzaAhoIGFjdCBhcyBpZiBpdCBoYWQgYmVlbiBpbnZva2VkIGFzIGEgbG9naW4gc2hlbGwgKHNlZQogICAgICAgICAgICAgICAgICBJCElOCE5WCFZPCE9DCENBCEFUCFRJCElPCE9OCE4gYmVsb3cpLgotICAgICAgIC0ILXIIciAgICAgICAgSWYgdGhlIC0ILXIIciBvcHRpb24gaXMgcHJlc2VudCwgIHRoZSAgc2hlbGwgIGJlY29tZXMgIF8Icl8IZV8Ic18IdF8Icl8IaV8IY18IdF8IZV8IZAorICAgICAgIC0ILXIIciAgICAgICAgSWYgIHRoZSAgLQgtcghyICBvcHRpb24gIGlzIHByZXNlbnQsIHRoZSBzaGVsbCBiZWNvbWVzIF8Icl8IZV8Ic18IdF8Icl8IaV8IY18IdF8IZV8IZAogICAgICAgICAgICAgICAgICAoc2VlIFIIUkUIRVMIU1QIVFIIUkkISUMIQ1QIVEUIRUQIRCBTCFNICEhFCEVMCExMCEwgYmVsb3cpLgotICAgICAgIC0ILXMIcyAgICAgICAgSWYgIHRoZSAtCC1zCHMgb3B0aW9uIGlzIHByZXNlbnQsIG9yIGlmIG5vIGFyZ3VtZW50cyByZW1haW4gYWZ0ZXIKLSAgICAgICAgICAgICAgICAgb3B0aW9uIHByb2Nlc3NpbmcsIHRoZW4gY29tbWFuZHMgYXJlIHJlYWQgZnJvbSAgdGhlICBzdGFuZGFyZAotICAgICAgICAgICAgICAgICBpbnB1dC4gICBUaGlzICBvcHRpb24gIGFsbG93cyB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlCisgICAgICAgLQgtcwhzICAgICAgICBJZiB0aGUgLQgtcwhzIG9wdGlvbiBpcyBwcmVzZW50LCBvciBpZiBubyBhcmd1bWVudHMgcmVtYWluICBhZnRlcgorICAgICAgICAgICAgICAgICBvcHRpb24gIHByb2Nlc3NpbmcsICB0aGVuIGNvbW1hbmRzIGFyZSByZWFkIGZyb20gdGhlIHN0YW5kYXJkCisgICAgICAgICAgICAgICAgIGlucHV0LiAgVGhpcyBvcHRpb24gYWxsb3dzIHRoZSBwb3NpdGlvbmFsICBwYXJhbWV0ZXJzICB0byAgYmUKICAgICAgICAgICAgICAgICAgc2V0IHdoZW4gaW52b2tpbmcgYW4gaW50ZXJhY3RpdmUgc2hlbGwuCi0gICAgICAgLQgtRAhEICAgICAgICBBIGxpc3Qgb2YgYWxsIGRvdWJsZS1xdW90ZWQgc3RyaW5ncyBwcmVjZWRlZCBieSAkCCQgaXMgIHByaW50ZWQKLSAgICAgICAgICAgICAgICAgb24gIHRoZSBzdGFuZGFyZCBvdXRwdXQuICBUaGVzZSBhcmUgdGhlIHN0cmluZ3MgdGhhdCBhcmUgc3ViLQorICAgICAgIC0ILUQIRCAgICAgICAgQSAgbGlzdCBvZiBhbGwgZG91YmxlLXF1b3RlZCBzdHJpbmdzIHByZWNlZGVkIGJ5ICQIJCBpcyBwcmludGVkCisgICAgICAgICAgICAgICAgIG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQuICBUaGVzZSBhcmUgdGhlIHN0cmluZ3MgdGhhdCBhcmUgIHN1Yi0KICAgICAgICAgICAgICAgICAgamVjdCB0byBsYW5ndWFnZSB0cmFuc2xhdGlvbiB3aGVuIHRoZSBjdXJyZW50IGxvY2FsZSBpcyBub3QgQwhDCi0gICAgICAgICAgICAgICAgIG9yICBQCFBPCE9TCFNJCElYCFguICAgVGhpcyAgaW1wbGllcyB0aGUgLQgtbghuIG9wdGlvbjsgbm8gY29tbWFuZHMgd2lsbCBiZQorICAgICAgICAgICAgICAgICBvciBQCFBPCE9TCFNJCElYCFguICBUaGlzIGltcGxpZXMgdGhlIC0ILW4IbiBvcHRpb247IG5vICBjb21tYW5kcyAgd2lsbCAgYmUKICAgICAgICAgICAgICAgICAgZXhlY3V0ZWQuCiAgICAgICAgWwhbLQgtKwgrXQhdTwhPIFsIW18Ic18IaF8Ib18IcF8IdF8IX18Ib18IcF8IdF8IaV8Ib18Ibl0IXQotICAgICAgICAgICAgICAgICBfCHNfCGhfCG9fCHBfCHRfCF9fCG9fCHBfCHRfCGlfCG9fCG4gaXMgb25lIG9mIHRoZSAgc2hlbGwgIG9wdGlvbnMgIGFjY2VwdGVkICBieSAgdGhlCi0gICAgICAgICAgICAgICAgIHMIc2gIaG8Ib3AIcHQIdCAgIGJ1aWx0aW4gIChzZWUgIFMIU0gISEUIRUwITEwITCAgQghCVQhVSQhJTAhMVAhUSQhJTghOICBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgIGJlbG93KS4gICBJZgorICAgICAgICAgICAgICAgICBfCHNfCGhfCG9fCHBfCHRfCF9fCG9fCHBfCHRfCGlfCG9fCG4gIGlzICBvbmUgIG9mICB0aGUgIHNoZWxsIG9wdGlvbnMgYWNjZXB0ZWQgYnkgdGhlCisgICAgICAgICAgICAgICAgIHMIc2gIaG8Ib3AIcHQIdCAgYnVpbHRpbiAgKHNlZSAgUwhTSAhIRQhFTAhMTAhMICBCCEJVCFVJCElMCExUCFRJCElOCE4gIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyAgYmVsb3cpLiAgICBJZgogICAgICAgICAgICAgICAgICBfCHNfCGhfCG9fCHBfCHRfCF9fCG9fCHBfCHRfCGlfCG9fCG4gaXMgcHJlc2VudCwgLQgtTwhPIHNldHMgdGhlIHZhbHVlIG9mIHRoYXQgb3B0aW9uOyArCCtPCE8KLSAgICAgICAgICAgICAgICAgdW5zZXRzICBpdC4gICBJZiAgXwhzXwhoXwhvXwhwXwh0XwhfXwhvXwhwXwh0XwhpXwhvXwhuIGlzIG5vdCBzdXBwbGllZCwgdGhlIG5hbWVzIGFuZAotICAgICAgICAgICAgICAgICB2YWx1ZXMgb2YgdGhlIHNoZWxsIG9wdGlvbnMgYWNjZXB0ZWQgYnkgcwhzaAhobwhvcAhwdAh0IGFyZSBwcmludGVkICBvbgotICAgICAgICAgICAgICAgICB0aGUgIHN0YW5kYXJkICBvdXRwdXQuICAgSWYgIHRoZSBpbnZvY2F0aW9uIG9wdGlvbiBpcyArCCtPCE8sIHRoZQotICAgICAgICAgICAgICAgICBvdXRwdXQgaXMgZGlzcGxheWVkIGluIGEgZm9ybWF0IHRoYXQgbWF5IGJlIHJldXNlZCBhcyAgaW5wdXQuCi0gICAgICAgLQgtLQgtICAgICAgICBBICAtCC0tCC0gIHNpZ25hbHMgdGhlIGVuZCBvZiBvcHRpb25zIGFuZCBkaXNhYmxlcyBmdXJ0aGVyIG9wdGlvbgotICAgICAgICAgICAgICAgICBwcm9jZXNzaW5nLiAgQW55IGFyZ3VtZW50cyBhZnRlciB0aGUgLQgtLQgtIGFyZSB0cmVhdGVkIGFzICBmaWxlLQorICAgICAgICAgICAgICAgICB1bnNldHMgaXQuICBJZiBfCHNfCGhfCG9fCHBfCHRfCF9fCG9fCHBfCHRfCGlfCG9fCG4gaXMgbm90IHN1cHBsaWVkLCAgdGhlICBuYW1lcyAgYW5kCisgICAgICAgICAgICAgICAgIHZhbHVlcyAgb2YgdGhlIHNoZWxsIG9wdGlvbnMgYWNjZXB0ZWQgYnkgcwhzaAhobwhvcAhwdAh0IGFyZSBwcmludGVkIG9uCisgICAgICAgICAgICAgICAgIHRoZSBzdGFuZGFyZCBvdXRwdXQuICBJZiB0aGUgaW52b2NhdGlvbiAgb3B0aW9uICBpcyAgKwgrTwhPLCAgdGhlCisgICAgICAgICAgICAgICAgIG91dHB1dCAgaXMgZGlzcGxheWVkIGluIGEgZm9ybWF0IHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4KKyAgICAgICAtCC0tCC0gICAgICAgIEEgLQgtLQgtIHNpZ25hbHMgdGhlIGVuZCBvZiBvcHRpb25zIGFuZCBkaXNhYmxlcyAgZnVydGhlciAgb3B0aW9uCisgICAgICAgICAgICAgICAgIHByb2Nlc3NpbmcuICAgQW55IGFyZ3VtZW50cyBhZnRlciB0aGUgLQgtLQgtIGFyZSB0cmVhdGVkIGFzIGZpbGUtCiAgICAgICAgICAgICAgICAgIG5hbWVzIGFuZCBhcmd1bWVudHMuICBBbiBhcmd1bWVudCBvZiAtCC0gaXMgZXF1aXZhbGVudCB0byAtCC0tCC0uCiAKLSAgICAgICBCCEJhCGFzCHNoCGggIGFsc28gIGludGVycHJldHMgIGEgIG51bWJlciAgb2YgIG11bHRpLWNoYXJhY3RlciAgb3B0aW9ucy4gIFRoZXNlCi0gICAgICAgb3B0aW9ucyBtdXN0IGFwcGVhciBvbiB0aGUgY29tbWFuZCAgbGluZSAgYmVmb3JlICB0aGUgIHNpbmdsZS1jaGFyYWN0ZXIKKyAgICAgICBCCEJhCGFzCHNoCGggYWxzbyAgaW50ZXJwcmV0cyAgYSAgbnVtYmVyICBvZiAgbXVsdGktY2hhcmFjdGVyICBvcHRpb25zLiAgIFRoZXNlCisgICAgICAgb3B0aW9ucyAgbXVzdCAgYXBwZWFyICBvbiAgdGhlIGNvbW1hbmQgbGluZSBiZWZvcmUgdGhlIHNpbmdsZS1jaGFyYWN0ZXIKICAgICAgICBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWQuCiAKICAgICAgICAtCC0tCC1kCGRlCGViCGJ1CHVnCGdnCGdlCGVyCHIKICAgICAgICAgICAgICAgQXJyYW5nZSBmb3IgdGhlIGRlYnVnZ2VyIHByb2ZpbGUgdG8gYmUgZXhlY3V0ZWQgYmVmb3JlIHRoZSBzaGVsbAotICAgICAgICAgICAgICBzdGFydHMuICBUdXJucyBvbiBleHRlbmRlZCBkZWJ1Z2dpbmcgbW9kZSAoc2VlICB0aGUgIGRlc2NyaXB0aW9uCi0gICAgICAgICAgICAgIG9mICB0aGUgIGUIZXgIeHQIdGQIZGUIZWIIYnUIdWcIZyAgb3B0aW9uICB0byB0aGUgcwhzaAhobwhvcAhwdAh0IGJ1aWx0aW4gYmVsb3cpIGFuZCBzaGVsbAotICAgICAgICAgICAgICBmdW5jdGlvbiB0cmFjaW5nIChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSAtCC1vCG8gZghmdQh1bghuYwhjdAh0cghyYQhhYwhjZQhlIG9wdGlvbgotICAgICAgICAgICAgICB0byB0aGUgcwhzZQhldAh0IGJ1aWx0aW4gYmVsb3cpLgorICAgICAgICAgICAgICBzdGFydHMuICAgVHVybnMgIG9uIGV4dGVuZGVkIGRlYnVnZ2luZyBtb2RlIChzZWUgdGhlIGRlc2NyaXB0aW9uCisgICAgICAgICAgICAgIG9mIHRoZSBlCGV4CHh0CHRkCGRlCGViCGJ1CHVnCGcgb3B0aW9uIHRvIHRoZSBzCHNoCGhvCG9wCHB0CHQgYnVpbHRpbiBiZWxvdykuCiAgICAgICAgLQgtLQgtZAhkdQh1bQhtcAhwLQgtcAhwbwhvLQgtcwhzdAh0cghyaQhpbghuZwhncwhzCi0gICAgICAgICAgICAgIEVxdWl2YWxlbnQgIHRvIC0ILUQIRCwgYnV0IHRoZSBvdXRwdXQgaXMgaW4gdGhlIEdOVSBfCGdfCGVfCHRfCHRfCGVfCHhfCHQgcAhwbwhvIChwb3ItCisgICAgICAgICAgICAgIEVxdWl2YWxlbnQgdG8gLQgtRAhELCBidXQgdGhlIG91dHB1dCBpcyBpbiB0aGUgR05VIF8IZ18IZV8IdF8IdF8IZV8IeF8IdCBwCHBvCG8gIChwb3ItCiAgICAgICAgICAgICAgIHRhYmxlIG9iamVjdCkgZmlsZSBmb3JtYXQuCiAgICAgICAgLQgtLQgtZAhkdQh1bQhtcAhwLQgtcwhzdAh0cghyaQhpbghuZwhncwhzCiAgICAgICAgICAgICAgIEVxdWl2YWxlbnQgdG8gLQgtRAhELgotICAgICAgIC0ILS0ILWgIaGUIZWwIbHAIcCBEaXNwbGF5IGEgdXNhZ2UgbWVzc2FnZSBvbiBzdGFuZGFyZCAgb3V0cHV0ICBhbmQgIGV4aXQgIHN1Y2Nlc3MtCisgICAgICAgLQgtLQgtaAhoZQhlbAhscAhwIERpc3BsYXkgIGEgIHVzYWdlICBtZXNzYWdlICBvbiBzdGFuZGFyZCBvdXRwdXQgYW5kIGV4aXQgc3VjY2Vzcy0KICAgICAgICAgICAgICAgZnVsbHkuCiAgICAgICAgLQgtLQgtaQhpbghuaQhpdAh0LQgtZghmaQhpbAhsZQhlIF8IZl8IaV8IbF8IZQogICAgICAgIC0ILS0ILXIIcmMIY2YIZmkIaWwIbGUIZSBfCGZfCGlfCGxfCGUKICAgICAgICAgICAgICAgRXhlY3V0ZSBjb21tYW5kcyBmcm9tIF8IZl8IaV8IbF8IZSBpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCBwZXJzb25hbCBpbmktCi0gICAgICAgICAgICAgIHRpYWxpemF0aW9uIGZpbGUgXwh+XwgvXwguXwhiXwhhXwhzXwhoXwhyXwhjIGlmICB0aGUgIHNoZWxsICBpcyAgaW50ZXJhY3RpdmUgIChzZWUKKyAgICAgICAgICAgICAgdGlhbGl6YXRpb24gIGZpbGUgIF8Ifl8IL18ILl8IYl8IYV8Ic18IaF8Icl8IYyAgaWYgIHRoZSAgc2hlbGwgaXMgaW50ZXJhY3RpdmUgKHNlZQogICAgICAgICAgICAgICBJCElOCE5WCFZPCE9DCENBCEFUCFRJCElPCE9OCE4gYmVsb3cpLgogCiAgICAgICAgLQgtLQgtbAhsbwhvZwhnaQhpbghuCiAgICAgICAgICAgICAgIEVxdWl2YWxlbnQgdG8gLQgtbAhsLgogCiAgICAgICAgLQgtLQgtbghubwhvZQhlZAhkaQhpdAh0aQhpbghuZwhnCi0gICAgICAgICAgICAgIERvICBub3QgIHVzZSB0aGUgR05VIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZSBsaWJyYXJ5IHRvIHJlYWQgY29tbWFuZCBsaW5lcyB3aGVuCisgICAgICAgICAgICAgIERvIG5vdCB1c2UgdGhlIEdOVSByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgbGlicmFyeSB0byByZWFkIGNvbW1hbmQgIGxpbmVzICB3aGVuCiAgICAgICAgICAgICAgIHRoZSBzaGVsbCBpcyBpbnRlcmFjdGl2ZS4KIAogICAgICAgIC0ILS0ILW4Ibm8Ib3AIcHIIcm8Ib2YIZmkIaWwIbGUIZQotICAgICAgICAgICAgICBEbyBub3QgcmVhZCBlaXRoZXIgdGhlIHN5c3RlbS13aWRlIHN0YXJ0dXAgZmlsZSBfCC9fCGVfCHRfCGNfCC9fCHBfCHJfCG9fCGZfCGlfCGxfCGUgIG9yCi0gICAgICAgICAgICAgIGFueSAgIG9mICB0aGUgIHBlcnNvbmFsICBpbml0aWFsaXphdGlvbiAgZmlsZXMgIF8Ifl8IL18ILl8IYl8IYV8Ic18IaF8IX18IcF8Icl8Ib18IZl8IaV8IbF8IZSwKLSAgICAgICAgICAgICAgXwh+XwgvXwguXwhiXwhhXwhzXwhoXwhfXwhsXwhvXwhnXwhpXwhuLCBvciBfCH5fCC9fCC5fCHBfCHJfCG9fCGZfCGlfCGxfCGUuICAgQnkgIGRlZmF1bHQsICBiCGJhCGFzCHNoCGggIHJlYWRzICB0aGVzZQotICAgICAgICAgICAgICBmaWxlcyAgd2hlbiAgaXQgIGlzICBpbnZva2VkICBhcyAgYSAgbG9naW4gc2hlbGwgKHNlZSBJCElOCE5WCFZPCE9DCENBCEFUCFRJCElPCE9OCE4KKyAgICAgICAgICAgICAgRG8gIG5vdCByZWFkIGVpdGhlciB0aGUgc3lzdGVtLXdpZGUgc3RhcnR1cCBmaWxlIF8IL18IZV8IdF8IY18IL18IcF8Icl8Ib18IZl8IaV8IbF8IZSBvcgorICAgICAgICAgICAgICBhbnkgIG9mICB0aGUgIHBlcnNvbmFsICBpbml0aWFsaXphdGlvbiAgZmlsZXMgICBfCH5fCC9fCC5fCGJfCGFfCHNfCGhfCF9fCHBfCHJfCG9fCGZfCGlfCGxfCGUsCisgICAgICAgICAgICAgIF8Ifl8IL18ILl8IYl8IYV8Ic18IaF8IX18IbF8Ib18IZ18IaV8IbiwgIG9yICBfCH5fCC9fCC5fCHBfCHJfCG9fCGZfCGlfCGxfCGUuICAgQnkgIGRlZmF1bHQsICBiCGJhCGFzCHNoCGggcmVhZHMgdGhlc2UKKyAgICAgICAgICAgICAgZmlsZXMgd2hlbiBpdCBpcyAgaW52b2tlZCAgYXMgIGEgIGxvZ2luICBzaGVsbCAgKHNlZSAgSQhJTghOVghWTwhPQwhDQQhBVAhUSQhJTwhPTghOCiAgICAgICAgICAgICAgIGJlbG93KS4KIAogICAgICAgIC0ILS0ILW4Ibm8Ib3IIcmMIYyBEbyAgbm90ICByZWFkICBhbmQgIGV4ZWN1dGUgIHRoZSAgcGVyc29uYWwgIGluaXRpYWxpemF0aW9uICBmaWxlCi0gICAgICAgICAgICAgIF8Ifl8IL18ILl8IYl8IYV8Ic18IaF8Icl8IYyAgaWYgIHRoZSAgc2hlbGwgIGlzIGludGVyYWN0aXZlLiAgVGhpcyBvcHRpb24gaXMgb24gYnkKKyAgICAgICAgICAgICAgXwh+XwgvXwguXwhiXwhhXwhzXwhoXwhyXwhjIGlmIHRoZSBzaGVsbCBpcyBpbnRlcmFjdGl2ZS4gIFRoaXMgIG9wdGlvbiAgaXMgIG9uICBieQogICAgICAgICAgICAgICBkZWZhdWx0IGlmIHRoZSBzaGVsbCBpcyBpbnZva2VkIGFzIHMIc2gIaC4KIAogICAgICAgIC0ILS0ILXAIcG8Ib3MIc2kIaXgIeAotICAgICAgICAgICAgICBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGIIYmEIYXMIc2gIaCB3aGVyZSB0aGUgZGVmYXVsdCBvcGVyYXRpb24gIGRpZmZlcnMKKyAgICAgICAgICAgICAgQ2hhbmdlICB0aGUgYmVoYXZpb3Igb2YgYghiYQhhcwhzaAhoIHdoZXJlIHRoZSBkZWZhdWx0IG9wZXJhdGlvbiBkaWZmZXJzCiAgICAgICAgICAgICAgIGZyb20gdGhlIFBPU0lYIHN0YW5kYXJkIHRvIG1hdGNoIHRoZSBzdGFuZGFyZCAoXwhwXwhvXwhzXwhpXwh4IF8IbV8Ib18IZF8IZSkuCiAKICAgICAgICAtCC0tCC1yCHJlCGVzCHN0CHRyCHJpCGljCGN0CHRlCGVkCGQKQEAgLTEwNiwxMTMgKzEwNSwxMTMgQEAKICAgICAgICAgICAgICAgRXF1aXZhbGVudCB0byAgLQgtdgh2LgogCiAgICAgICAgLQgtLQgtdgh2ZQhlcghycwhzaQhpbwhvbghuCi0gICAgICAgICAgICAgIFNob3cgIHZlcnNpb24gaW5mb3JtYXRpb24gZm9yIHRoaXMgaW5zdGFuY2Ugb2YgYghiYQhhcwhzaAhoIG9uIHRoZSBzdGFuLQorICAgICAgICAgICAgICBTaG93IHZlcnNpb24gaW5mb3JtYXRpb24gZm9yIHRoaXMgaW5zdGFuY2Ugb2YgYghiYQhhcwhzaAhoIG9uIHRoZSAgc3Rhbi0KICAgICAgICAgICAgICAgZGFyZCBvdXRwdXQgYW5kIGV4aXQgc3VjY2Vzc2Z1bGx5LgogCiBBCEFSCFJHCEdVCFVNCE1FCEVOCE5UCFRTCFMKICAgICAgICBJZiBhcmd1bWVudHMgcmVtYWluIGFmdGVyIG9wdGlvbiBwcm9jZXNzaW5nLCBhbmQgbmVpdGhlciB0aGUgLQgtYwhjIG5vciB0aGUKLSAgICAgICAtCC1zCHMgIG9wdGlvbiAgaGFzICBiZWVuIHN1cHBsaWVkLCB0aGUgZmlyc3QgYXJndW1lbnQgaXMgYXNzdW1lZCB0byBiZSB0aGUKLSAgICAgICBuYW1lIG9mIGEgZmlsZSBjb250YWluaW5nIHNoZWxsIGNvbW1hbmRzLiAgSWYgYghiYQhhcwhzaAhoIGlzIGludm9rZWQgIGluICB0aGlzCi0gICAgICAgZmFzaGlvbiwgICQIJDAIMCBpcyBzZXQgdG8gdGhlIG5hbWUgb2YgdGhlIGZpbGUsIGFuZCB0aGUgcG9zaXRpb25hbCBwYXJhbWUtCi0gICAgICAgdGVycyBhcmUgc2V0IHRvIHRoZSByZW1haW5pbmcgYXJndW1lbnRzLiAgQghCYQhhcwhzaAhoIHJlYWRzIGFuZCBleGVjdXRlcyAgY29tLQotICAgICAgIG1hbmRzICBmcm9tIHRoaXMgZmlsZSwgdGhlbiBleGl0cy4gIEIIQmEIYXMIc2gIaCdzIGV4aXQgc3RhdHVzIGlzIHRoZSBleGl0IHN0YS0KLSAgICAgICB0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCBpbiB0aGUgc2NyaXB0LiAgIElmICBubyAgY29tbWFuZHMgIGFyZQotICAgICAgIGV4ZWN1dGVkLCAgdGhlICBleGl0IHN0YXR1cyBpcyAwLiAgQW4gYXR0ZW1wdCBpcyBmaXJzdCBtYWRlIHRvIG9wZW4gdGhlCisgICAgICAgLQgtcwhzIG9wdGlvbiBoYXMgYmVlbiBzdXBwbGllZCwgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGFzc3VtZWQgIHRvICBiZSAgdGhlCisgICAgICAgbmFtZSAgb2YgIGEgZmlsZSBjb250YWluaW5nIHNoZWxsIGNvbW1hbmRzLiAgSWYgYghiYQhhcwhzaAhoIGlzIGludm9rZWQgaW4gdGhpcworICAgICAgIGZhc2hpb24sICQIJDAIMCBpcyBzZXQgdG8gdGhlIG5hbWUgb2YgdGhlIGZpbGUsIGFuZCB0aGUgcG9zaXRpb25hbCAgcGFyYW1lLQorICAgICAgIHRlcnMgIGFyZSBzZXQgdG8gdGhlIHJlbWFpbmluZyBhcmd1bWVudHMuICBCCEJhCGFzCHNoCGggcmVhZHMgYW5kIGV4ZWN1dGVzIGNvbS0KKyAgICAgICBtYW5kcyBmcm9tIHRoaXMgZmlsZSwgdGhlbiBleGl0cy4gIEIIQmEIYXMIc2gIaCdzIGV4aXQgc3RhdHVzIGlzIHRoZSBleGl0ICBzdGEtCisgICAgICAgdHVzICBvZiAgdGhlICBsYXN0ICBjb21tYW5kIGV4ZWN1dGVkIGluIHRoZSBzY3JpcHQuICBJZiBubyBjb21tYW5kcyBhcmUKKyAgICAgICBleGVjdXRlZCwgdGhlIGV4aXQgc3RhdHVzIGlzIDAuICBBbiBhdHRlbXB0IGlzIGZpcnN0IG1hZGUgdG8gIG9wZW4gIHRoZQogICAgICAgIGZpbGUgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LCBhbmQsIGlmIG5vIGZpbGUgaXMgZm91bmQsIHRoZW4gdGhlIHNoZWxsCiAgICAgICAgc2VhcmNoZXMgdGhlIGRpcmVjdG9yaWVzIGluIFAIUEEIQVQIVEgISCBmb3IgdGhlIHNjcmlwdC4KIAogSQhJTghOVghWTwhPQwhDQQhBVAhUSQhJTwhPTghOCi0gICAgICAgQSAgXwhsXwhvXwhnXwhpXwhuIF8Ic18IaF8IZV8IbF8IbCBpcyBvbmUgd2hvc2UgZmlyc3QgY2hhcmFjdGVyIG9mIGFyZ3VtZW50IHplcm8gaXMgYSAtCC0sIG9yCisgICAgICAgQSBfCGxfCG9fCGdfCGlfCG4gXwhzXwhoXwhlXwhsXwhsIGlzIG9uZSB3aG9zZSBmaXJzdCBjaGFyYWN0ZXIgb2YgYXJndW1lbnQgemVybyBpcyBhIC0ILSwgIG9yCiAgICAgICAgb25lIHN0YXJ0ZWQgd2l0aCB0aGUgLQgtLQgtbAhsbwhvZwhnaQhpbghuIG9wdGlvbi4KIAotICAgICAgIEFuIF8IaV8Ibl8IdF8IZV8Icl8IYV8IY18IdF8IaV8Idl8IZSBzaGVsbCBpcyBvbmUgc3RhcnRlZCB3aXRob3V0ICBub24tb3B0aW9uICBhcmd1bWVudHMgIGFuZAorICAgICAgIEFuICBfCGlfCG5fCHRfCGVfCHJfCGFfCGNfCHRfCGlfCHZfCGUgIHNoZWxsICBpcyBvbmUgc3RhcnRlZCB3aXRob3V0IG5vbi1vcHRpb24gYXJndW1lbnRzIGFuZAogICAgICAgIHdpdGhvdXQgdGhlIC0ILWMIYyBvcHRpb24gd2hvc2Ugc3RhbmRhcmQgaW5wdXQgYW5kIGVycm9yIGFyZSBib3RoIGNvbm5lY3RlZAotICAgICAgIHRvIHRlcm1pbmFscyAoYXMgZGV0ZXJtaW5lZCBieSBfCGlfCHNfCGFfCHRfCHRfCHkoMykpLCBvciBvbmUgc3RhcnRlZCB3aXRoICB0aGUgIC0ILWkIaQotICAgICAgIG9wdGlvbi4gICBQCFBTCFMxCDEgaXMgc2V0IGFuZCAkCCQtCC0gaW5jbHVkZXMgaQhpIGlmIGIIYmEIYXMIc2gIaCBpcyBpbnRlcmFjdGl2ZSwgYWxsb3dpbmcKKyAgICAgICB0byAgdGVybWluYWxzICAoYXMgZGV0ZXJtaW5lZCBieSBfCGlfCHNfCGFfCHRfCHRfCHkoMykpLCBvciBvbmUgc3RhcnRlZCB3aXRoIHRoZSAtCC1pCGkKKyAgICAgICBvcHRpb24uICBQCFBTCFMxCDEgaXMgc2V0IGFuZCAkCCQtCC0gaW5jbHVkZXMgaQhpIGlmIGIIYmEIYXMIc2gIaCBpcyBpbnRlcmFjdGl2ZSwgIGFsbG93aW5nCiAgICAgICAgYSBzaGVsbCBzY3JpcHQgb3IgYSBzdGFydHVwIGZpbGUgdG8gdGVzdCB0aGlzIHN0YXRlLgogCi0gICAgICAgVGhlIGZvbGxvd2luZyBwYXJhZ3JhcGhzIGRlc2NyaWJlIGhvdyBiCGJhCGFzCHNoCGggZXhlY3V0ZXMgaXRzIHN0YXJ0dXAgIGZpbGVzLgotICAgICAgIElmICBhbnkgIG9mICB0aGUgZmlsZXMgZXhpc3QgYnV0IGNhbm5vdCBiZSByZWFkLCBiCGJhCGFzCHNoCGggcmVwb3J0cyBhbiBlcnJvci4KKyAgICAgICBUaGUgIGZvbGxvd2luZyBwYXJhZ3JhcGhzIGRlc2NyaWJlIGhvdyBiCGJhCGFzCHNoCGggZXhlY3V0ZXMgaXRzIHN0YXJ0dXAgZmlsZXMuCisgICAgICAgSWYgYW55IG9mIHRoZSBmaWxlcyBleGlzdCBidXQgY2Fubm90IGJlIHJlYWQsIGIIYmEIYXMIc2gIaCAgcmVwb3J0cyAgYW4gIGVycm9yLgogICAgICAgIFRpbGRlcyBhcmUgZXhwYW5kZWQgaW4gZmlsZSBuYW1lcyBhcyBkZXNjcmliZWQgYmVsb3cgdW5kZXIgVAhUaQhpbAhsZAhkZQhlIEUIRXgIeHAIcGEIYW4Ibi0ILQogICAgICAgIHMIc2kIaW8Ib24IbiBpbiB0aGUgRQhFWAhYUAhQQQhBTghOUwhTSQhJTwhPTghOIHNlY3Rpb24uCiAKLSAgICAgICBXaGVuICBiCGJhCGFzCHNoCGggaXMgaW52b2tlZCBhcyBhbiBpbnRlcmFjdGl2ZSBsb2dpbiBzaGVsbCwgb3IgYXMgYSBub24taW50ZXItCi0gICAgICAgYWN0aXZlIHNoZWxsIHdpdGggdGhlIC0ILS0ILWwIbG8Ib2cIZ2kIaW4IbiBvcHRpb24sIGl0IGZpcnN0IHJlYWRzIGFuZCBleGVjdXRlcyAgY29tLQotICAgICAgIG1hbmRzICBmcm9tICB0aGUgZmlsZSBfCC9fCGVfCHRfCGNfCC9fCHBfCHJfCG9fCGZfCGlfCGxfCGUsIGlmIHRoYXQgZmlsZSBleGlzdHMuICBBZnRlciByZWFkaW5nCisgICAgICAgV2hlbiBiCGJhCGFzCHNoCGggaXMgaW52b2tlZCBhcyBhbiBpbnRlcmFjdGl2ZSBsb2dpbiBzaGVsbCwgb3IgYXMgYSAgbm9uLWludGVyLQorICAgICAgIGFjdGl2ZSAgc2hlbGwgd2l0aCB0aGUgLQgtLQgtbAhsbwhvZwhnaQhpbghuIG9wdGlvbiwgaXQgZmlyc3QgcmVhZHMgYW5kIGV4ZWN1dGVzIGNvbS0KKyAgICAgICBtYW5kcyBmcm9tIHRoZSBmaWxlIF8IL18IZV8IdF8IY18IL18IcF8Icl8Ib18IZl8IaV8IbF8IZSwgaWYgdGhhdCBmaWxlIGV4aXN0cy4gICBBZnRlciAgcmVhZGluZwogICAgICAgIHRoYXQgZmlsZSwgaXQgbG9va3MgZm9yIF8Ifl8IL18ILl8IYl8IYV8Ic18IaF8IX18IcF8Icl8Ib18IZl8IaV8IbF8IZSwgXwh+XwgvXwguXwhiXwhhXwhzXwhoXwhfXwhsXwhvXwhnXwhpXwhuLCBhbmQgXwh+XwgvXwguXwhwXwhyXwhvXwhmXwhpXwhsXwhlLAotICAgICAgIGluICB0aGF0IG9yZGVyLCBhbmQgcmVhZHMgYW5kIGV4ZWN1dGVzIGNvbW1hbmRzIGZyb20gdGhlIGZpcnN0IG9uZSB0aGF0Ci0gICAgICAgZXhpc3RzIGFuZCBpcyByZWFkYWJsZS4gIFRoZSAtCC0tCC1uCG5vCG9wCHByCHJvCG9mCGZpCGlsCGxlCGUgb3B0aW9uIG1heSBiZSAgdXNlZCAgd2hlbiAgdGhlCisgICAgICAgaW4gdGhhdCBvcmRlciwgYW5kIHJlYWRzIGFuZCBleGVjdXRlcyBjb21tYW5kcyBmcm9tIHRoZSBmaXJzdCBvbmUgIHRoYXQKKyAgICAgICBleGlzdHMgIGFuZCAgaXMgIHJlYWRhYmxlLiAgVGhlIC0ILS0ILW4Ibm8Ib3AIcHIIcm8Ib2YIZmkIaWwIbGUIZSBvcHRpb24gbWF5IGJlIHVzZWQgd2hlbiB0aGUKICAgICAgICBzaGVsbCBpcyBzdGFydGVkIHRvIGluaGliaXQgdGhpcyBiZWhhdmlvci4KIAotICAgICAgIFdoZW4gIGEgIGxvZ2luICBzaGVsbCAgZXhpdHMsIGIIYmEIYXMIc2gIaCByZWFkcyBhbmQgZXhlY3V0ZXMgY29tbWFuZHMgZnJvbSB0aGUKKyAgICAgICBXaGVuIGEgbG9naW4gc2hlbGwgZXhpdHMsIGIIYmEIYXMIc2gIaCByZWFkcyBhbmQgIGV4ZWN1dGVzICBjb21tYW5kcyAgZnJvbSAgdGhlCiAgICAgICAgZmlsZSBfCH5fCC9fCC5fCGJfCGFfCHNfCGhfCF9fCGxfCG9fCGdfCG9fCHVfCHQsIGlmIGl0IGV4aXN0cy4KIAotICAgICAgIFdoZW4gYW4gaW50ZXJhY3RpdmUgc2hlbGwgdGhhdCBpcyBub3QgYSBsb2dpbiBzaGVsbCAgaXMgIHN0YXJ0ZWQsICBiCGJhCGFzCHNoCGgKLSAgICAgICByZWFkcyAgYW5kIGV4ZWN1dGVzIGNvbW1hbmRzIGZyb20gXwh+XwgvXwguXwhiXwhhXwhzXwhoXwhyXwhjLCBpZiB0aGF0IGZpbGUgZXhpc3RzLiAgVGhpcwotICAgICAgIG1heSBiZSBpbmhpYml0ZWQgYnkgdXNpbmcgdGhlIC0ILS0ILW4Ibm8Ib3IIcmMIYyBvcHRpb24uICBUaGUgLQgtLQgtcghyYwhjZghmaQhpbAhsZQhlIF8IZl8IaV8IbF8IZSAgb3B0aW9uCi0gICAgICAgd2lsbCAgZm9yY2UgIGIIYmEIYXMIc2gIaCAgdG8gIHJlYWQgIGFuZCAgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIF8IZl8IaV8IbF8IZSBpbnN0ZWFkIG9mCisgICAgICAgV2hlbiAgYW4gIGludGVyYWN0aXZlICBzaGVsbCB0aGF0IGlzIG5vdCBhIGxvZ2luIHNoZWxsIGlzIHN0YXJ0ZWQsIGIIYmEIYXMIc2gIaAorICAgICAgIHJlYWRzIGFuZCBleGVjdXRlcyBjb21tYW5kcyBmcm9tIF8Ifl8IL18ILl8IYl8IYV8Ic18IaF8Icl8IYywgaWYgdGhhdCBmaWxlIGV4aXN0cy4gICBUaGlzCisgICAgICAgbWF5ICBiZSBpbmhpYml0ZWQgYnkgdXNpbmcgdGhlIC0ILS0ILW4Ibm8Ib3IIcmMIYyBvcHRpb24uICBUaGUgLQgtLQgtcghyYwhjZghmaQhpbAhsZQhlIF8IZl8IaV8IbF8IZSBvcHRpb24KKyAgICAgICB3aWxsIGZvcmNlIGIIYmEIYXMIc2gIaCB0byByZWFkIGFuZCAgZXhlY3V0ZSAgY29tbWFuZHMgIGZyb20gIF8IZl8IaV8IbF8IZSAgaW5zdGVhZCAgb2YKICAgICAgICBfCH5fCC9fCC5fCGJfCGFfCHNfCGhfCHJfCGMuCiAKLSAgICAgICBXaGVuIGIIYmEIYXMIc2gIaCBpcyBzdGFydGVkIG5vbi1pbnRlcmFjdGl2ZWx5LCB0byAgcnVuICBhICBzaGVsbCAgc2NyaXB0LCAgZm9yCisgICAgICAgV2hlbiAgYghiYQhhcwhzaAhoICBpcyAgc3RhcnRlZCAgbm9uLWludGVyYWN0aXZlbHksICB0byBydW4gYSBzaGVsbCBzY3JpcHQsIGZvcgogICAgICAgIGV4YW1wbGUsIGl0IGxvb2tzIGZvciB0aGUgdmFyaWFibGUgQghCQQhBUwhTSAhIXwhfRQhFTghOVghWIGluIHRoZSBlbnZpcm9ubWVudCwgZXhwYW5kcwotICAgICAgIGl0cyB2YWx1ZSBpZiBpdCBhcHBlYXJzIHRoZXJlLCBhbmQgdXNlcyB0aGUgZXhwYW5kZWQgdmFsdWUgYXMgdGhlICBuYW1lCi0gICAgICAgb2YgIGEgIGZpbGUgdG8gcmVhZCBhbmQgZXhlY3V0ZS4gIEIIQmEIYXMIc2gIaCBiZWhhdmVzIGFzIGlmIHRoZSBmb2xsb3dpbmcgY29tLQorICAgICAgIGl0cyAgdmFsdWUgaWYgaXQgYXBwZWFycyB0aGVyZSwgYW5kIHVzZXMgdGhlIGV4cGFuZGVkIHZhbHVlIGFzIHRoZSBuYW1lCisgICAgICAgb2YgYSBmaWxlIHRvIHJlYWQgYW5kIGV4ZWN1dGUuICBCCEJhCGFzCHNoCGggYmVoYXZlcyBhcyBpZiB0aGUgIGZvbGxvd2luZyAgY29tLQogICAgICAgIG1hbmQgd2VyZSBleGVjdXRlZDoKICAgICAgICAgICAgICAgaWYgWyAtbiAiJEJBU0hfRU5WIiBdOyB0aGVuIC4gIiRCQVNIX0VOViI7IGZpCi0gICAgICAgYnV0IHRoZSB2YWx1ZSBvZiB0aGUgUAhQQQhBVAhUSAhIIHZhcmlhYmxlIGlzIG5vdCB1c2VkIHRvIHNlYXJjaCBmb3IgIHRoZSAgZmlsZQorICAgICAgIGJ1dCAgdGhlICB2YWx1ZSBvZiB0aGUgUAhQQQhBVAhUSAhIIHZhcmlhYmxlIGlzIG5vdCB1c2VkIHRvIHNlYXJjaCBmb3IgdGhlIGZpbGUKICAgICAgICBuYW1lLgogCi0gICAgICAgSWYgIGIIYmEIYXMIc2gIaCAgaXMgIGludm9rZWQgIHdpdGggIHRoZSBuYW1lIHMIc2gIaCwgaXQgdHJpZXMgdG8gbWltaWMgdGhlIHN0YXJ0dXAKLSAgICAgICBiZWhhdmlvciBvZiBoaXN0b3JpY2FsIHZlcnNpb25zIG9mIHMIc2gIaCBhcyAgY2xvc2VseSAgYXMgIHBvc3NpYmxlLCAgd2hpbGUKLSAgICAgICBjb25mb3JtaW5nICB0byB0aGUgUE9TSVggc3RhbmRhcmQgYXMgd2VsbC4gIFdoZW4gaW52b2tlZCBhcyBhbiBpbnRlcmFjLQotICAgICAgIHRpdmUgbG9naW4gc2hlbGwsIG9yIGEgbm9uLWludGVyYWN0aXZlIHNoZWxsIHdpdGggdGhlICAtCC0tCC1sCGxvCG9nCGdpCGluCG4gIG9wdGlvbiwKLSAgICAgICBpdCAgZmlyc3QgIGF0dGVtcHRzICB0byByZWFkIGFuZCBleGVjdXRlIGNvbW1hbmRzIGZyb20gXwgvXwhlXwh0XwhjXwgvXwhwXwhyXwhvXwhmXwhpXwhsXwhlIGFuZAotICAgICAgIF8Ifl8IL18ILl8IcF8Icl8Ib18IZl8IaV8IbF8IZSwgaW4gdGhhdCBvcmRlci4gIFRoZSAgLQgtLQgtbghubwhvcAhwcghybwhvZghmaQhpbAhsZQhlICBvcHRpb24gIG1heSAgYmUgIHVzZWQgIHRvCi0gICAgICAgaW5oaWJpdCAgdGhpcyAgYmVoYXZpb3IuICBXaGVuIGludm9rZWQgYXMgYW4gaW50ZXJhY3RpdmUgc2hlbGwgd2l0aCB0aGUKLSAgICAgICBuYW1lIHMIc2gIaCwgYghiYQhhcwhzaAhoIGxvb2tzIGZvciB0aGUgdmFyaWFibGUgRQhFTghOVghWLCBleHBhbmRzIGl0cyB2YWx1ZSAgaWYgIGl0ICBpcwotICAgICAgIGRlZmluZWQsICBhbmQgdXNlcyB0aGUgZXhwYW5kZWQgdmFsdWUgYXMgdGhlIG5hbWUgb2YgYSBmaWxlIHRvIHJlYWQgYW5kCisgICAgICAgSWYgYghiYQhhcwhzaAhoIGlzIGludm9rZWQgd2l0aCB0aGUgbmFtZSBzCHNoCGgsIGl0ICB0cmllcyAgdG8gIG1pbWljICB0aGUgIHN0YXJ0dXAKKyAgICAgICBiZWhhdmlvciAgb2YgIGhpc3RvcmljYWwgIHZlcnNpb25zICBvZiBzCHNoCGggYXMgY2xvc2VseSBhcyBwb3NzaWJsZSwgd2hpbGUKKyAgICAgICBjb25mb3JtaW5nIHRvIHRoZSBQT1NJWCBzdGFuZGFyZCBhcyB3ZWxsLiAgV2hlbiBpbnZva2VkIGFzIGFuICBpbnRlcmFjLQorICAgICAgIHRpdmUgIGxvZ2luICBzaGVsbCwgb3IgYSBub24taW50ZXJhY3RpdmUgc2hlbGwgd2l0aCB0aGUgLQgtLQgtbAhsbwhvZwhnaQhpbghuIG9wdGlvbiwKKyAgICAgICBpdCBmaXJzdCBhdHRlbXB0cyB0byByZWFkIGFuZCBleGVjdXRlIGNvbW1hbmRzICBmcm9tICBfCC9fCGVfCHRfCGNfCC9fCHBfCHJfCG9fCGZfCGlfCGxfCGUgIGFuZAorICAgICAgIF8Ifl8IL18ILl8IcF8Icl8Ib18IZl8IaV8IbF8IZSwgIGluICB0aGF0ICBvcmRlci4gICBUaGUgIC0ILS0ILW4Ibm8Ib3AIcHIIcm8Ib2YIZmkIaWwIbGUIZSAgb3B0aW9uIG1heSBiZSB1c2VkIHRvCisgICAgICAgaW5oaWJpdCB0aGlzIGJlaGF2aW9yLiAgV2hlbiBpbnZva2VkIGFzIGFuIGludGVyYWN0aXZlIHNoZWxsICB3aXRoICB0aGUKKyAgICAgICBuYW1lICBzCHNoCGgsICBiCGJhCGFzCHNoCGggIGxvb2tzIGZvciB0aGUgdmFyaWFibGUgRQhFTghOVghWLCBleHBhbmRzIGl0cyB2YWx1ZSBpZiBpdCBpcworICAgICAgIGRlZmluZWQsIGFuZCB1c2VzIHRoZSBleHBhbmRlZCB2YWx1ZSBhcyB0aGUgbmFtZSBvZiBhIGZpbGUgdG8gcmVhZCAgYW5kCiAgICAgICAgZXhlY3V0ZS4gIFNpbmNlIGEgc2hlbGwgaW52b2tlZCBhcyBzCHNoCGggZG9lcyBub3QgYXR0ZW1wdCB0byByZWFkIGFuZCBleGUtCi0gICAgICAgY3V0ZSAgY29tbWFuZHMgZnJvbSBhbnkgb3RoZXIgc3RhcnR1cCBmaWxlcywgdGhlIC0ILS0ILXIIcmMIY2YIZmkIaWwIbGUIZSBvcHRpb24gaGFzIG5vCi0gICAgICAgZWZmZWN0LiAgQSBub24taW50ZXJhY3RpdmUgc2hlbGwgaW52b2tlZCB3aXRoICB0aGUgIG5hbWUgIHMIc2gIaCAgZG9lcyAgbm90Ci0gICAgICAgYXR0ZW1wdCAgdG8gIHJlYWQgIGFueSAgb3RoZXIgIHN0YXJ0dXAgZmlsZXMuICBXaGVuIGludm9rZWQgYXMgcwhzaAhoLCBiCGJhCGFzCHNoCGgKKyAgICAgICBjdXRlIGNvbW1hbmRzIGZyb20gYW55IG90aGVyIHN0YXJ0dXAgZmlsZXMsIHRoZSAtCC0tCC1yCHJjCGNmCGZpCGlsCGxlCGUgb3B0aW9uIGhhcyAgbm8KKyAgICAgICBlZmZlY3QuICAgQSAgbm9uLWludGVyYWN0aXZlICBzaGVsbCAgaW52b2tlZCAgd2l0aCB0aGUgbmFtZSBzCHNoCGggZG9lcyBub3QKKyAgICAgICBhdHRlbXB0IHRvIHJlYWQgYW55IG90aGVyIHN0YXJ0dXAgZmlsZXMuICAgV2hlbiAgaW52b2tlZCAgYXMgIHMIc2gIaCwgIGIIYmEIYXMIc2gIaAogICAgICAgIGVudGVycyBfCHBfCG9fCHNfCGlfCHggbW9kZSBhZnRlciB0aGUgc3RhcnR1cCBmaWxlcyBhcmUgcmVhZC4KIAotICAgICAgIFdoZW4gYghiYQhhcwhzaAhoIGlzIHN0YXJ0ZWQgaW4gXwhwXwhvXwhzXwhpXwh4IG1vZGUsIGFzIHdpdGggdGhlICAtCC0tCC1wCHBvCG9zCHNpCGl4CHggIGNvbW1hbmQgIGxpbmUKKyAgICAgICBXaGVuICBiCGJhCGFzCHNoCGggIGlzICBzdGFydGVkIGluIF8IcF8Ib18Ic18IaV8IeCBtb2RlLCBhcyB3aXRoIHRoZSAtCC0tCC1wCHBvCG9zCHNpCGl4CHggY29tbWFuZCBsaW5lCiAgICAgICAgb3B0aW9uLCBpdCBmb2xsb3dzIHRoZSBQT1NJWCBzdGFuZGFyZCBmb3Igc3RhcnR1cCBmaWxlcy4gIEluIHRoaXMgbW9kZSwKLSAgICAgICBpbnRlcmFjdGl2ZSBzaGVsbHMgZXhwYW5kIHRoZSBFCEVOCE5WCFYgdmFyaWFibGUgYW5kIGNvbW1hbmRzICBhcmUgIHJlYWQgIGFuZAotICAgICAgIGV4ZWN1dGVkICBmcm9tICB0aGUgIGZpbGUgIHdob3NlICBuYW1lIGlzIHRoZSBleHBhbmRlZCB2YWx1ZS4gIE5vIG90aGVyCisgICAgICAgaW50ZXJhY3RpdmUgIHNoZWxscyAgZXhwYW5kICB0aGUgRQhFTghOVghWIHZhcmlhYmxlIGFuZCBjb21tYW5kcyBhcmUgcmVhZCBhbmQKKyAgICAgICBleGVjdXRlZCBmcm9tIHRoZSBmaWxlIHdob3NlIG5hbWUgaXMgIHRoZSAgZXhwYW5kZWQgIHZhbHVlLiAgIE5vICBvdGhlcgogICAgICAgIHN0YXJ0dXAgZmlsZXMgYXJlIHJlYWQuCiAKICAgICAgICBCCEJhCGFzCHNoCGggYXR0ZW1wdHMgdG8gZGV0ZXJtaW5lIHdoZW4gaXQgaXMgYmVpbmcgcnVuIHdpdGggaXRzIHN0YW5kYXJkIGlucHV0Ci0gICAgICAgY29ubmVjdGVkICB0byBhIGEgbmV0d29yayBjb25uZWN0aW9uLCBhcyBpZiBieSB0aGUgcmVtb3RlIHNoZWxsIGRhZW1vbiwKLSAgICAgICB1c3VhbGx5IF8Icl8Ic18IaF8IZCwgb3IgdGhlIHNlY3VyZSBzaGVsbCBkYWVtb24gXwhzXwhzXwhoXwhkLiAgSWYgYghiYQhhcwhzaAhoICBkZXRlcm1pbmVzICBpdAotICAgICAgIGlzICBiZWluZyAgcnVuICBpbiAgdGhpcyAgZmFzaGlvbiwgIGl0IHJlYWRzIGFuZCBleGVjdXRlcyBjb21tYW5kcyBmcm9tCi0gICAgICAgXwh+XwgvXwguXwhiXwhhXwhzXwhoXwhyXwhjLCBpZiB0aGF0IGZpbGUgZXhpc3RzIGFuZCBpcyByZWFkYWJsZS4gIEl0IHdpbGwgbm90IGRvIHRoaXMgaWYKLSAgICAgICBpbnZva2VkIGFzIHMIc2gIaC4gIFRoZSAtCC0tCC1uCG5vCG9yCHJjCGMgb3B0aW9uIG1heSBiZSB1c2VkIHRvIGluaGliaXQgdGhpcyBiZWhhdmlvciwKLSAgICAgICBhbmQgdGhlIC0ILS0ILXIIcmMIY2YIZmkIaWwIbGUIZSBvcHRpb24gbWF5IGJlIHVzZWQgdG8gZm9yY2UgYW5vdGhlciBmaWxlIHRvICBiZSAgcmVhZCwKLSAgICAgICBidXQgIF8Icl8Ic18IaF8IZCAgZG9lcyAgbm90ICBnZW5lcmFsbHkgIGludm9rZSB0aGUgc2hlbGwgd2l0aCB0aG9zZSBvcHRpb25zIG9yCi0gICAgICAgYWxsb3cgdGhlbSB0byBiZSBzcGVjaWZpZWQuCisgICAgICAgY29ubmVjdGVkIHRvIGEgbmV0d29yayBjb25uZWN0aW9uLCBhcyB3aGVuIGV4ZWN1dGVkIGJ5IHRoZSByZW1vdGUgc2hlbGwKKyAgICAgICBkYWVtb24sICB1c3VhbGx5IF8Icl8Ic18IaF8IZCwgb3IgdGhlIHNlY3VyZSBzaGVsbCBkYWVtb24gXwhzXwhzXwhoXwhkLiAgSWYgYghiYQhhcwhzaAhoIGRldGVyLQorICAgICAgIG1pbmVzIGl0IGlzIGJlaW5nIHJ1biBpbiB0aGlzIGZhc2hpb24sIGl0IHJlYWRzIGFuZCAgZXhlY3V0ZXMgIGNvbW1hbmRzCisgICAgICAgZnJvbSAgXwh+XwgvXwguXwhiXwhhXwhzXwhoXwhyXwhjLCAgaWYgIHRoYXQgZmlsZSBleGlzdHMgYW5kIGlzIHJlYWRhYmxlLiAgSXQgd2lsbCBub3QgZG8KKyAgICAgICB0aGlzIGlmIGludm9rZWQgYXMgcwhzaAhoLiAgVGhlIC0ILS0ILW4Ibm8Ib3IIcmMIYyBvcHRpb24gbWF5IGJlIHVzZWQgdG8gIGluaGliaXQgIHRoaXMKKyAgICAgICBiZWhhdmlvciwgIGFuZCB0aGUgLQgtLQgtcghyYwhjZghmaQhpbAhsZQhlIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBmb3JjZSBhbm90aGVyIGZpbGUgdG8KKyAgICAgICBiZSByZWFkLCBidXQgXwhyXwhzXwhoXwhkIGRvZXMgIG5vdCAgZ2VuZXJhbGx5ICBpbnZva2UgIHRoZSAgc2hlbGwgIHdpdGggIHRob3NlCisgICAgICAgb3B0aW9ucyBvciBhbGxvdyB0aGVtIHRvIGJlIHNwZWNpZmllZC4KIAogICAgICAgIElmIHRoZSBzaGVsbCBpcyBzdGFydGVkIHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIChncm91cCkgaWQgbm90IGVxdWFsIHRvCiAgICAgICAgdGhlIHJlYWwgdXNlciAoZ3JvdXApIGlkLCBhbmQgdGhlIC0ILXAIcCBvcHRpb24gaXMgbm90IHN1cHBsaWVkLCBubyBzdGFydHVwCiAgICAgICAgZmlsZXMgYXJlIHJlYWQsIHNoZWxsIGZ1bmN0aW9ucyBhcmUgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBlbnZpcm9ubWVudCwKLSAgICAgICB0aGUgIFMIU0gISEUIRUwITEwITE8IT1AIUFQIVFMIUywgIEIIQkEIQVMIU0gISE8IT1AIUFQIVFMIUywgIEMIQ0QIRFAIUEEIQVQIVEgISCwgIGFuZCAgRwhHTAhMTwhPQghCSQhJRwhHTghOTwhPUghSRQhFIHZhcmlhYmxlcywgaWYgdGhleQotICAgICAgIGFwcGVhciBpbiB0aGUgZW52aXJvbm1lbnQsIGFyZSBpZ25vcmVkLCBhbmQgdGhlIGVmZmVjdGl2ZSAgdXNlciAgaWQgIGlzCi0gICAgICAgc2V0ICB0byAgdGhlIHJlYWwgdXNlciBpZC4gIElmIHRoZSAtCC1wCHAgb3B0aW9uIGlzIHN1cHBsaWVkIGF0IGludm9jYXRpb24sCi0gICAgICAgdGhlIHN0YXJ0dXAgYmVoYXZpb3IgaXMgdGhlIHNhbWUsIGJ1dCB0aGUgIGVmZmVjdGl2ZSAgdXNlciAgaWQgIGlzICBub3QKKyAgICAgICB0aGUgUwhTSAhIRQhFTAhMTAhMTwhPUAhQVAhUUwhTLCBCCEJBCEFTCFNICEhPCE9QCFBUCFRTCFMsIEMIQ0QIRFAIUEEIQVQIVEgISCwgIGFuZCAgRwhHTAhMTwhPQghCSQhJRwhHTghOTwhPUghSRQhFICB2YXJpYWJsZXMsICBpZiAgdGhleQorICAgICAgIGFwcGVhciAgaW4gIHRoZSAgZW52aXJvbm1lbnQsIGFyZSBpZ25vcmVkLCBhbmQgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkIGlzCisgICAgICAgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuICBJZiB0aGUgLQgtcAhwIG9wdGlvbiBpcyBzdXBwbGllZCAgYXQgIGludm9jYXRpb24sCisgICAgICAgdGhlICBzdGFydHVwICBiZWhhdmlvciAgaXMgIHRoZSAgc2FtZSwgYnV0IHRoZSBlZmZlY3RpdmUgdXNlciBpZCBpcyBub3QKICAgICAgICByZXNldC4KIAogRAhERQhFRghGSQhJTghOSQhJVAhUSQhJTwhPTghOUwhTCi0gICAgICAgVGhlICBmb2xsb3dpbmcgIGRlZmluaXRpb25zICBhcmUgdXNlZCB0aHJvdWdob3V0IHRoZSByZXN0IG9mIHRoaXMgZG9jdS0KKyAgICAgICBUaGUgZm9sbG93aW5nIGRlZmluaXRpb25zIGFyZSB1c2VkIHRocm91Z2hvdXQgdGhlIHJlc3QgIG9mICB0aGlzICBkb2N1LQogICAgICAgIG1lbnQuCiAgICAgICAgYghibAhsYQhhbghuawhrICBBIHNwYWNlIG9yIHRhYi4KLSAgICAgICB3CHdvCG9yCHJkCGQgICBBIHNlcXVlbmNlIG9mIGNoYXJhY3RlcnMgY29uc2lkZXJlZCBhcyAgYSAgc2luZ2xlICB1bml0ICBieSAgdGhlCisgICAgICAgdwh3bwhvcghyZAhkICAgQSAgc2VxdWVuY2UgIG9mICBjaGFyYWN0ZXJzICBjb25zaWRlcmVkICBhcyBhIHNpbmdsZSB1bml0IGJ5IHRoZQogICAgICAgICAgICAgICBzaGVsbC4gIEFsc28ga25vd24gYXMgYSB0CHRvCG9rCGtlCGVuCG4uCi0gICAgICAgbghuYQhhbQhtZQhlICAgQSAgXwh3XwhvXwhyXwhkICBjb25zaXN0aW5nICBvbmx5ICBvZiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhbmQgdW5kZXItCi0gICAgICAgICAgICAgIHNjb3JlcywgYW5kIGJlZ2lubmluZyB3aXRoIGFuIGFscGhhYmV0aWMgY2hhcmFjdGVyIG9yIGFuICB1bmRlci0KKyAgICAgICBuCG5hCGFtCG1lCGUgICBBIF8Id18Ib18Icl8IZCBjb25zaXN0aW5nIG9ubHkgb2YgIGFscGhhbnVtZXJpYyAgY2hhcmFjdGVycyAgYW5kICB1bmRlci0KKyAgICAgICAgICAgICAgc2NvcmVzLCAgYW5kIGJlZ2lubmluZyB3aXRoIGFuIGFscGhhYmV0aWMgY2hhcmFjdGVyIG9yIGFuIHVuZGVyLQogICAgICAgICAgICAgICBzY29yZS4gIEFsc28gcmVmZXJyZWQgdG8gYXMgYW4gaQhpZAhkZQhlbghudAh0aQhpZghmaQhpZQhlcghyLgogICAgICAgIG0IbWUIZXQIdGEIYWMIY2gIaGEIYXIIcmEIYWMIY3QIdGUIZXIIcgotICAgICAgICAgICAgICBBICBjaGFyYWN0ZXIgIHRoYXQsICB3aGVuIHVucXVvdGVkLCBzZXBhcmF0ZXMgd29yZHMuICBPbmUgb2YgdGhlCisgICAgICAgICAgICAgIEEgY2hhcmFjdGVyIHRoYXQsIHdoZW4gdW5xdW90ZWQsIHNlcGFyYXRlcyB3b3Jkcy4gICBPbmUgIG9mICB0aGUKICAgICAgICAgICAgICAgZm9sbG93aW5nOgogICAgICAgICAgICAgICB8CHwgICYIJiA7CDsgKAgoICkIKSA8CDwgPgg+IHMIc3AIcGEIYWMIY2UIZSB0CHRhCGFiCGIKICAgICAgICBjCGNvCG9uCG50CHRyCHJvCG9sCGwgbwhvcAhwZQhlcghyYQhhdAh0bwhvcghyCkBAIC0yMjMsNTIgKzIyMiw1OSBAQAogUghSRQhFUwhTRQhFUghSVghWRQhFRAhEIFcIV08IT1IIUkQIRFMIUwogICAgICAgIF8IUl8IZV8Ic18IZV8Icl8Idl8IZV8IZCBfCHdfCG9fCHJfCGRfCHMgYXJlIHdvcmRzIHRoYXQgaGF2ZSBhIHNwZWNpYWwgbWVhbmluZyB0byB0aGUgc2hlbGwuICBUaGUKICAgICAgICBmb2xsb3dpbmcgd29yZHMgYXJlIHJlY29nbml6ZWQgYXMgcmVzZXJ2ZWQgd2hlbiB1bnF1b3RlZCBhbmQgZWl0aGVyIHRoZQotICAgICAgIGZpcnN0ICB3b3JkICBvZiBhIHNpbXBsZSBjb21tYW5kIChzZWUgUwhTSAhIRQhFTAhMTAhMIEcIR1IIUkEIQU0ITU0ITUEIQVIIUiBiZWxvdykgb3IgdGhlIHRoaXJkCisgICAgICAgZmlyc3Qgd29yZCBvZiBhIHNpbXBsZSBjb21tYW5kIChzZWUgUwhTSAhIRQhFTAhMTAhMIEcIR1IIUkEIQU0ITU0ITUEIQVIIUiBiZWxvdykgb3IgIHRoZSAgdGhpcmQKICAgICAgICB3b3JkIG9mIGEgYwhjYQhhcwhzZQhlIG9yIGYIZm8Ib3IIciBjb21tYW5kOgogCi0gICAgICAgIQghIGMIY2EIYXMIc2UIZSAgZAhkbwhvIGQIZG8Ib24IbmUIZSBlCGVsCGxpCGlmCGYgZQhlbAhscwhzZQhlIGUIZXMIc2EIYWMIYyBmCGZpCGkgZghmbwhvcghyIGYIZnUIdW4IbmMIY3QIdGkIaW8Ib24IbiBpCGlmCGYgaQhpbghuIHMIc2UIZWwIbGUIZWMIY3QIdCB0CHRoCGhlCGVuCG4gIHUIdW4IbnQIdGkIaWwIbAorICAgICAgICEIISAgYwhjYQhhcwhzZQhlICBkCGRvCG8gZAhkbwhvbghuZQhlIGUIZWwIbGkIaWYIZiBlCGVsCGxzCHNlCGUgZQhlcwhzYQhhYwhjIGYIZmkIaSBmCGZvCG9yCHIgZghmdQh1bghuYwhjdAh0aQhpbwhvbghuIGkIaWYIZiBpCGluCG4gcwhzZQhlbAhsZQhlYwhjdAh0IHQIdGgIaGUIZW4IbiB1CHVuCG50CHRpCGlsCGwKICAgICAgICB3CHdoCGhpCGlsCGxlCGUgewh7IH0IfSB0CHRpCGltCG1lCGUgWwhbWwhbIF0IXV0IXQogCiBTCFNICEhFCEVMCExMCEwgRwhHUghSQQhBTQhNTQhNQQhBUghSCiAgICBTCFNpCGltCG1wCHBsCGxlCGUgQwhDbwhvbQhtbQhtYQhhbghuZAhkcwhzCi0gICAgICAgQSAgXwhzXwhpXwhtXwhwXwhsXwhlICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgIGlzIGEgc2VxdWVuY2Ugb2Ygb3B0aW9uYWwgdmFyaWFibGUgYXNzaWdubWVudHMgZm9sLQotICAgICAgIGxvd2VkIGJ5IGIIYmwIbGEIYW4IbmsIay1zZXBhcmF0ZWQgd29yZHMgYW5kIHJlZGlyZWN0aW9ucywgYW5kICB0ZXJtaW5hdGVkICBieSAgYQorICAgICAgIEEgXwhzXwhpXwhtXwhwXwhsXwhlIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBhIHNlcXVlbmNlIG9mIG9wdGlvbmFsICB2YXJpYWJsZSAgYXNzaWdubWVudHMgIGZvbC0KKyAgICAgICBsb3dlZCAgYnkgIGIIYmwIbGEIYW4IbmsIay1zZXBhcmF0ZWQgIHdvcmRzIGFuZCByZWRpcmVjdGlvbnMsIGFuZCB0ZXJtaW5hdGVkIGJ5IGEKICAgICAgICBfCGNfCG9fCG5fCHRfCHJfCG9fCGwgXwhvXwhwXwhlXwhyXwhhXwh0XwhvXwhyLiAgVGhlIGZpcnN0IHdvcmQgc3BlY2lmaWVzIHRoZSBjb21tYW5kIHRvIGJlIGV4ZWN1dGVkLAotICAgICAgIGFuZCBpcyBwYXNzZWQgYXMgYXJndW1lbnQgemVyby4gIFRoZSAgcmVtYWluaW5nICB3b3JkcyAgYXJlICBwYXNzZWQgIGFzCisgICAgICAgYW5kICBpcyAgcGFzc2VkICBhcyAgYXJndW1lbnQgIHplcm8uICBUaGUgcmVtYWluaW5nIHdvcmRzIGFyZSBwYXNzZWQgYXMKICAgICAgICBhcmd1bWVudHMgdG8gdGhlIGludm9rZWQgY29tbWFuZC4KIAotICAgICAgIFRoZSAgcmV0dXJuICB2YWx1ZSAgb2YgYSBfCHNfCGlfCG1fCHBfCGxfCGUgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIGlzIGl0cyBleGl0IHN0YXR1cywgb3IgMTI4K18IbiBpZgorICAgICAgIFRoZSByZXR1cm4gdmFsdWUgb2YgYSBfCHNfCGlfCG1fCHBfCGxfCGUgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIGlzIGl0cyBleGl0IHN0YXR1cywgIG9yICAxMjgrXwhuICBpZgogICAgICAgIHRoZSBjb21tYW5kIGlzIHRlcm1pbmF0ZWQgYnkgc2lnbmFsIF8Ibi4KIAogICAgUAhQaQhpcAhwZQhlbAhsaQhpbghuZQhlcwhzCi0gICAgICAgQSBfCHBfCGlfCHBfCGVfCGxfCGlfCG5fCGUgaXMgYSBzZXF1ZW5jZSBvZiBvbmUgb3IgbW9yZSBjb21tYW5kcyBzZXBhcmF0ZWQgIGJ5ICBvbmUgIG9mCisgICAgICAgQSAgXwhwXwhpXwhwXwhlXwhsXwhpXwhuXwhlICBpcyAgYSBzZXF1ZW5jZSBvZiBvbmUgb3IgbW9yZSBjb21tYW5kcyBzZXBhcmF0ZWQgYnkgb25lIG9mCiAgICAgICAgdGhlIGNvbnRyb2wgb3BlcmF0b3JzIHwIfCBvciB8CHwmCCYuICBUaGUgZm9ybWF0IGZvciBhIHBpcGVsaW5lIGlzOgogCiAgICAgICAgICAgICAgIFt0CHRpCGltCG1lCGUgWy0ILXAIcF1dIFsgISBdIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBbIFt8CHx8fAh8JggmXSBfCGNfCG9fCG1fCG1fCGFfCG5fCGRfCDIgLi4uIF0KIAotICAgICAgIFRoZSAgc3RhbmRhcmQgb3V0cHV0IG9mIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBjb25uZWN0ZWQgdmlhIGEgcGlwZSB0byB0aGUgc3RhbmRhcmQKLSAgICAgICBpbnB1dCBvZiBfCGNfCG9fCG1fCG1fCGFfCG5fCGRfCDIuICBUaGlzIGNvbm5lY3Rpb24gaXMgcGVyZm9ybWVkICBiZWZvcmUgIGFueSAgcmVkaXJlYy0KKyAgICAgICBUaGUgc3RhbmRhcmQgb3V0cHV0IG9mIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBjb25uZWN0ZWQgdmlhIGEgcGlwZSB0byB0aGUgIHN0YW5kYXJkCisgICAgICAgaW5wdXQgIG9mICBfCGNfCG9fCG1fCG1fCGFfCG5fCGRfCDIuICAgVGhpcyBjb25uZWN0aW9uIGlzIHBlcmZvcm1lZCBiZWZvcmUgYW55IHJlZGlyZWMtCiAgICAgICAgdGlvbnMgc3BlY2lmaWVkIGJ5IHRoZSBjb21tYW5kIChzZWUgUghSRQhFRAhESQhJUghSRQhFQwhDVAhUSQhJTwhPTghOIGJlbG93KS4gIElmIHwIfCYIJiBpcyB1c2VkLAogICAgICAgIHRoZSBzdGFuZGFyZCBlcnJvciBvZiBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgaXMgY29ubmVjdGVkIHRvIF8IY18Ib18IbV8IbV8IYV8Ibl8IZF8IMidzIHN0YW5kYXJkIGlucHV0Ci0gICAgICAgdGhyb3VnaCAgdGhlIHBpcGU7IGl0IGlzIHNob3J0aGFuZCBmb3IgMggyPgg+JggmMQgxIHwIfC4gIFRoaXMgaW1wbGljaXQgcmVkaXJlY3QtCisgICAgICAgdGhyb3VnaCB0aGUgcGlwZTsgaXQgaXMgc2hvcnRoYW5kIGZvciAyCDI+CD4mCCYxCDEgfAh8LiAgVGhpcyBpbXBsaWNpdCAgcmVkaXJlY3QtCiAgICAgICAgaW9uIG9mIHRoZSBzdGFuZGFyZCBlcnJvciBpcyBwZXJmb3JtZWQgYWZ0ZXIgYW55IHJlZGlyZWN0aW9ucyBzcGVjaWZpZWQKICAgICAgICBieSB0aGUgY29tbWFuZC4KIAogICAgICAgIFRoZSByZXR1cm4gc3RhdHVzIG9mIGEgcGlwZWxpbmUgaXMgdGhlIGV4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQsCi0gICAgICAgdW5sZXNzIHRoZSBwCHBpCGlwCHBlCGVmCGZhCGFpCGlsCGwgb3B0aW9uIGlzIGVuYWJsZWQuICBJZiAgcAhwaQhpcAhwZQhlZghmYQhhaQhpbAhsICBpcyAgZW5hYmxlZCwgIHRoZQotICAgICAgIHBpcGVsaW5lJ3MgIHJldHVybiAgc3RhdHVzIGlzIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCAocmlnaHRtb3N0KSBjb21tYW5kCi0gICAgICAgdG8gZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLCBvciB6ZXJvIGlmIGFsbCBjb21tYW5kcyAgZXhpdCAgc3VjY2Vzcy0KKyAgICAgICB1bmxlc3MgIHRoZSAgcAhwaQhpcAhwZQhlZghmYQhhaQhpbAhsICBvcHRpb24gIGlzIGVuYWJsZWQuICBJZiBwCHBpCGlwCHBlCGVmCGZhCGFpCGlsCGwgaXMgZW5hYmxlZCwgdGhlCisgICAgICAgcGlwZWxpbmUncyByZXR1cm4gc3RhdHVzIGlzIHRoZSB2YWx1ZSBvZiB0aGUgbGFzdCAgKHJpZ2h0bW9zdCkgIGNvbW1hbmQKKyAgICAgICB0byAgZXhpdCAgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cywgb3IgemVybyBpZiBhbGwgY29tbWFuZHMgZXhpdCBzdWNjZXNzLQogICAgICAgIGZ1bGx5LiAgSWYgdGhlIHJlc2VydmVkIHdvcmQgIQghICBwcmVjZWRlcyBhIHBpcGVsaW5lLCB0aGUgZXhpdCBzdGF0dXMgb2YKLSAgICAgICB0aGF0IHBpcGVsaW5lIGlzIHRoZSBsb2dpY2FsIG5lZ2F0aW9uIG9mIHRoZSBleGl0IHN0YXR1cyAgYXMgIGRlc2NyaWJlZAotICAgICAgIGFib3ZlLiAgIFRoZSAgc2hlbGwgd2FpdHMgZm9yIGFsbCBjb21tYW5kcyBpbiB0aGUgcGlwZWxpbmUgdG8gdGVybWluYXRlCisgICAgICAgdGhhdCAgcGlwZWxpbmUgIGlzIHRoZSBsb2dpY2FsIG5lZ2F0aW9uIG9mIHRoZSBleGl0IHN0YXR1cyBhcyBkZXNjcmliZWQKKyAgICAgICBhYm92ZS4gIFRoZSBzaGVsbCB3YWl0cyBmb3IgYWxsIGNvbW1hbmRzIGluIHRoZSBwaXBlbGluZSAgdG8gIHRlcm1pbmF0ZQogICAgICAgIGJlZm9yZSByZXR1cm5pbmcgYSB2YWx1ZS4KIAotICAgICAgIElmIHRoZSB0CHRpCGltCG1lCGUgcmVzZXJ2ZWQgd29yZCBwcmVjZWRlcyBhIHBpcGVsaW5lLCB0aGUgZWxhcHNlZCBhcyAgd2VsbCAgYXMKLSAgICAgICB1c2VyICBhbmQgIHN5c3RlbSAgdGltZSBjb25zdW1lZCBieSBpdHMgZXhlY3V0aW9uIGFyZSByZXBvcnRlZCB3aGVuIHRoZQotICAgICAgIHBpcGVsaW5lIHRlcm1pbmF0ZXMuICBUaGUgLQgtcAhwIG9wdGlvbiBjaGFuZ2VzIHRoZSBvdXRwdXQgZm9ybWF0ICB0byAgdGhhdAotICAgICAgIHNwZWNpZmllZCAgYnkgIFBPU0lYLiAgIFRoZSAgVAhUSQhJTQhNRQhFRghGTwhPUghSTQhNQQhBVAhUIHZhcmlhYmxlIG1heSBiZSBzZXQgdG8gYSBmb3JtYXQKLSAgICAgICBzdHJpbmcgdGhhdCBzcGVjaWZpZXMgaG93IHRoZSB0aW1pbmcgaW5mb3JtYXRpb24gc2hvdWxkICBiZSAgZGlzcGxheWVkOwotICAgICAgIHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgVAhUSQhJTQhNRQhFRghGTwhPUghSTQhNQQhBVAhUIHVuZGVyIFMIU2gIaGUIZWwIbGwIbCBWCFZhCGFyCHJpCGlhCGFiCGJsCGxlCGVzCHMgYmVsb3cuCisgICAgICAgSWYgIHRoZSAgdAh0aQhpbQhtZQhlIHJlc2VydmVkIHdvcmQgcHJlY2VkZXMgYSBwaXBlbGluZSwgdGhlIGVsYXBzZWQgYXMgd2VsbCBhcworICAgICAgIHVzZXIgYW5kIHN5c3RlbSB0aW1lIGNvbnN1bWVkIGJ5IGl0cyBleGVjdXRpb24gYXJlICByZXBvcnRlZCAgd2hlbiAgdGhlCisgICAgICAgcGlwZWxpbmUgIHRlcm1pbmF0ZXMuICAgVGhlIC0ILXAIcCBvcHRpb24gY2hhbmdlcyB0aGUgb3V0cHV0IGZvcm1hdCB0byB0aGF0CisgICAgICAgc3BlY2lmaWVkIGJ5IFBPU0lYLiAgV2hlbiB0aGUgc2hlbGwgaXMgaW4gXwhwXwhvXwhzXwhpXwh4IF8IbV8Ib18IZF8IZSwgaXQgZG9lcyBub3QgIHJlYy0KKyAgICAgICBvZ25pemUgIHQIdGkIaW0IbWUIZSAgYXMgIGEgIHJlc2VydmVkIHdvcmQgaWYgdGhlIG5leHQgdG9rZW4gYmVnaW5zIHdpdGggYSBgLScuCisgICAgICAgVGhlIFQIVEkISU0ITUUIRUYIRk8IT1IIUk0ITUEIQVQIVCB2YXJpYWJsZSBtYXkgYmUgc2V0IHRvIGEgZm9ybWF0ICBzdHJpbmcgIHRoYXQgIHNwZWNpZmllcworICAgICAgIGhvdyAgdGhlIHRpbWluZyBpbmZvcm1hdGlvbiBzaG91bGQgYmUgZGlzcGxheWVkOyBzZWUgdGhlIGRlc2NyaXB0aW9uIG9mCisgICAgICAgVAhUSQhJTQhNRQhFRghGTwhPUghSTQhNQQhBVAhUIHVuZGVyIFMIU2gIaGUIZWwIbGwIbCBWCFZhCGFyCHJpCGlhCGFiCGJsCGxlCGVzCHMgYmVsb3cuCisKKyAgICAgICBXaGVuIHRoZSBzaGVsbCBpcyBpbiBfCHBfCG9fCHNfCGlfCHggXwhtXwhvXwhkXwhlLCB0CHRpCGltCG1lCGUgbWF5IGJlIGZvbGxvd2VkIGJ5IGEgbmV3bGluZS4gIEluCisgICAgICAgdGhpcyAgY2FzZSwgIHRoZSBzaGVsbCBkaXNwbGF5cyB0aGUgdG90YWwgdXNlciBhbmQgc3lzdGVtIHRpbWUgY29uc3VtZWQKKyAgICAgICBieSB0aGUgc2hlbGwgYW5kIGl0cyBjaGlsZHJlbi4gIFRoZSBUCFRJCElNCE1FCEVGCEZPCE9SCFJNCE1BCEFUCFQgdmFyaWFibGUgbWF5IGJlIHVzZWQgIHRvCisgICAgICAgc3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSB0aW1lIGluZm9ybWF0aW9uLgogCiAgICAgICAgRWFjaCAgY29tbWFuZCBpbiBhIHBpcGVsaW5lIGlzIGV4ZWN1dGVkIGFzIGEgc2VwYXJhdGUgcHJvY2VzcyAoaS5lLiwgaW4KICAgICAgICBhIHN1YnNoZWxsKS4KQEAgLTM0NSw3ICszNTEsNyBAQAogICAgICAgICAgICAgICB0aW9uYWwgb3BlcmF0b3JzIHN1Y2ggYXMgLQgtZghmIG11c3QgYmUgdW5xdW90ZWQgdG8gYmUgcmVjb2duaXplZCBhcwogICAgICAgICAgICAgICBwcmltYXJpZXMuCiAKLSAgICAgICAgICAgICAgV2hlbiB1c2VkIHdpdGggWwhbWwhbLCBUaGUgPAg8IGFuZCA+CD4gb3BlcmF0b3JzIHNvcnQgIGxleGljb2dyYXBoaWNhbGx5CisgICAgICAgICAgICAgIFdoZW4gdXNlZCB3aXRoIFsIW1sIWywgdGhlIDwIPCBhbmQgPgg+IG9wZXJhdG9ycyBzb3J0ICBsZXhpY29ncmFwaGljYWxseQogICAgICAgICAgICAgICB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuCiAKICAgICAgICAgICAgICAgV2hlbiAgdGhlICA9CD09CD0gYW5kICEIIT0IPSBvcGVyYXRvcnMgYXJlIHVzZWQsIHRoZSBzdHJpbmcgdG8gdGhlIHJpZ2h0CkBAIC00NTgsMTE3ICs0NjQsMTE5IEBACiAgICAgICAgICAgICAgIHR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLCBvciB6ZXJvIGlmIG5vIGNvbmRpdGlvbiB0ZXN0ZWQKICAgICAgICAgICAgICAgdHJ1ZS4KIAotICAgICAgIHcId2gIaGkIaWwIbGUIZSBfCGxfCGlfCHNfCHQ7IGQIZG8IbyBfCGxfCGlfCHNfCHQ7IGQIZG8Ib24IbmUIZQotICAgICAgIHUIdW4IbnQIdGkIaWwIbCBfCGxfCGlfCHNfCHQ7IGQIZG8IbyBfCGxfCGlfCHNfCHQ7IGQIZG8Ib24IbmUIZQotICAgICAgICAgICAgICBUaGUgIHcId2gIaGkIaWwIbGUIZSAgY29tbWFuZCBjb250aW51b3VzbHkgZXhlY3V0ZXMgdGhlIGQIZG8IbyBfCGxfCGlfCHNfCHQgYXMgbG9uZyBhcwotICAgICAgICAgICAgICB0aGUgbGFzdCBjb21tYW5kIGluIF8IbF8IaV8Ic18IdCByZXR1cm5zIGFuIGV4aXQgc3RhdHVzICBvZiAgemVyby4gICBUaGUKLSAgICAgICAgICAgICAgdQh1bghudAh0aQhpbAhsIGNvbW1hbmQgaXMgaWRlbnRpY2FsIHRvIHRoZSB3CHdoCGhpCGlsCGxlCGUgY29tbWFuZCwgZXhjZXB0IHRoYXQgdGhlCi0gICAgICAgICAgICAgIHRlc3QgaXMgbmVnYXRlZDsgdGhlIGQIZG8IbyBfCGxfCGlfCHNfCHQgaXMgZXhlY3V0ZWQgYXMgIGxvbmcgIGFzICB0aGUgIGxhc3QKLSAgICAgICAgICAgICAgY29tbWFuZCBpbiBfCGxfCGlfCHNfCHQgcmV0dXJucyBhIG5vbi16ZXJvIGV4aXQgc3RhdHVzLiAgVGhlIGV4aXQgc3RhdHVzCi0gICAgICAgICAgICAgIG9mIHRoZSB3CHdoCGhpCGlsCGxlCGUgYW5kIHUIdW4IbnQIdGkIaWwIbCBjb21tYW5kcyBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgIHRoZSAgbGFzdAotICAgICAgICAgICAgICBkCGRvCG8gXwhsXwhpXwhzXwh0IGNvbW1hbmQgZXhlY3V0ZWQsIG9yIHplcm8gaWYgbm9uZSB3YXMgZXhlY3V0ZWQuCisgICAgICAgdwh3aAhoaQhpbAhsZQhlIF8IbF8IaV8Ic18IdF8ILV8IMTsgZAhkbwhvIF8IbF8IaV8Ic18IdF8ILV8IMjsgZAhkbwhvbghuZQhlCisgICAgICAgdQh1bghudAh0aQhpbAhsIF8IbF8IaV8Ic18IdF8ILV8IMTsgZAhkbwhvIF8IbF8IaV8Ic18IdF8ILV8IMjsgZAhkbwhvbghuZQhlCisgICAgICAgICAgICAgIFRoZSAgdwh3aAhoaQhpbAhsZQhlIGNvbW1hbmQgY29udGludW91c2x5IGV4ZWN1dGVzIHRoZSBsaXN0IF8IbF8IaV8Ic18IdF8ILV8IMiBhcyBsb25nCisgICAgICAgICAgICAgIGFzIHRoZSBsYXN0IGNvbW1hbmQgaW4gdGhlIGxpc3QgXwhsXwhpXwhzXwh0XwgtXwgxIHJldHVybnMgYW4gZXhpdCBzdGF0dXMgb2YKKyAgICAgICAgICAgICAgemVyby4gICBUaGUgIHUIdW4IbnQIdGkIaWwIbCAgY29tbWFuZCAgaXMgIGlkZW50aWNhbCB0byB0aGUgdwh3aAhoaQhpbAhsZQhlIGNvbW1hbmQsCisgICAgICAgICAgICAgIGV4Y2VwdCB0aGF0IHRoZSB0ZXN0IGlzIG5lZ2F0ZWQ7IF8IbF8IaV8Ic18IdF8ILV8IMiBpcyBleGVjdXRlZCBhcyAgbG9uZyAgYXMKKyAgICAgICAgICAgICAgdGhlICBsYXN0IGNvbW1hbmQgaW4gXwhsXwhpXwhzXwh0XwgtXwgxIHJldHVybnMgYSBub24temVybyBleGl0IHN0YXR1cy4gIFRoZQorICAgICAgICAgICAgICBleGl0IHN0YXR1cyBvZiB0aGUgdwh3aAhoaQhpbAhsZQhlIGFuZCB1CHVuCG50CHRpCGlsCGwgY29tbWFuZHMgaXMgdGhlICBleGl0ICBzdGF0dXMKKyAgICAgICAgICAgICAgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCBpbiBfCGxfCGlfCHNfCHRfCC1fCDIsIG9yIHplcm8gaWYgbm9uZSB3YXMgZXhlLQorICAgICAgICAgICAgICBjdXRlZC4KIAogICAgQwhDbwhvcAhwcghybwhvYwhjZQhlcwhzcwhzZQhlcwhzCiAgICAgICAgQSBfCGNfCG9fCHBfCHJfCG9fCGNfCGVfCHNfCHMgaXMgYSBzaGVsbCBjb21tYW5kIHByZWNlZGVkIGJ5IHRoZSBjCGNvCG9wCHByCHJvCG9jCGMgcmVzZXJ2ZWQgd29yZC4gIEEKLSAgICAgICBjb3Byb2Nlc3MgaXMgZXhlY3V0ZWQgYXN5bmNocm9ub3VzbHkgaW4gYSBzdWJzaGVsbCwgYXMgaWYgIHRoZSAgY29tbWFuZAotICAgICAgIGhhZCAgYmVlbiAgdGVybWluYXRlZCAgd2l0aCB0aGUgJggmIGNvbnRyb2wgb3BlcmF0b3IsIHdpdGggYSB0d28td2F5IHBpcGUKKyAgICAgICBjb3Byb2Nlc3MgIGlzICBleGVjdXRlZCBhc3luY2hyb25vdXNseSBpbiBhIHN1YnNoZWxsLCBhcyBpZiB0aGUgY29tbWFuZAorICAgICAgIGhhZCBiZWVuIHRlcm1pbmF0ZWQgd2l0aCB0aGUgJggmIGNvbnRyb2wgb3BlcmF0b3IsIHdpdGggIGEgIHR3by13YXkgIHBpcGUKICAgICAgICBlc3RhYmxpc2hlZCBiZXR3ZWVuIHRoZSBleGVjdXRpbmcgc2hlbGwgYW5kIHRoZSBjb3Byb2Nlc3MuCiAKICAgICAgICBUaGUgZm9ybWF0IGZvciBhIGNvcHJvY2VzcyBpczoKIAogICAgICAgICAgICAgICBjCGNvCG9wCHByCHJvCG9jCGMgW18ITl8IQV8ITV8IRV0gXwhjXwhvXwhtXwhtXwhhXwhuXwhkIFtfCHJfCGVfCGRfCGlfCHJfCGVfCGNfCHRfCGlfCG9fCG5fCHNdCiAKLSAgICAgICBUaGlzIGNyZWF0ZXMgYSBjb3Byb2Nlc3MgbmFtZWQgXwhOXwhBXwhNXwhFLiAgSWYgIF8ITl8IQV8ITV8IRSAgaXMgIG5vdCAgc3VwcGxpZWQsICB0aGUKKyAgICAgICBUaGlzICBjcmVhdGVzICBhICBjb3Byb2Nlc3MgIG5hbWVkICBfCE5fCEFfCE1fCEUuICBJZiBfCE5fCEFfCE1fCEUgaXMgbm90IHN1cHBsaWVkLCB0aGUKICAgICAgICBkZWZhdWx0IG5hbWUgaXMgXwhDXwhPXwhQXwhSXwhPXwhDLiAgXwhOXwhBXwhNXwhFIG11c3Qgbm90IGJlIHN1cHBsaWVkIGlmIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBhIF8Ic18IaV8IbV8ILQogICAgICAgIF8IcF8IbF8IZSBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgKHNlZSBhYm92ZSk7IG90aGVyd2lzZSwgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgdGhlIGZpcnN0IHdvcmQKLSAgICAgICBvZiAgdGhlIHNpbXBsZSBjb21tYW5kLiAgV2hlbiB0aGUgY29wcm9jIGlzIGV4ZWN1dGVkLCB0aGUgc2hlbGwgY3JlYXRlcwotICAgICAgIGFuIGFycmF5IHZhcmlhYmxlIChzZWUgQQhBcghycghyYQhheQh5cwhzIGJlbG93KSBuYW1lZCBfCE5fCEFfCE1fCEUgaW4gdGhlIGNvbnRleHQgIG9mICB0aGUKLSAgICAgICBleGVjdXRpbmcgIHNoZWxsLiAgIFRoZSAgc3RhbmRhcmQgIG91dHB1dCBvZiBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgaXMgY29ubmVjdGVkIHZpYSBhCi0gICAgICAgcGlwZSB0byBhIGZpbGUgIGRlc2NyaXB0b3IgIGluICB0aGUgIGV4ZWN1dGluZyAgc2hlbGwsICBhbmQgIHRoYXQgIGZpbGUKLSAgICAgICBkZXNjcmlwdG9yICBpcyAgYXNzaWduZWQgIHRvIF8ITl8IQV8ITV8IRVswXS4gIFRoZSBzdGFuZGFyZCBpbnB1dCBvZiBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgaXMKLSAgICAgICBjb25uZWN0ZWQgdmlhIGEgcGlwZSB0byBhIGZpbGUgZGVzY3JpcHRvciBpbiB0aGUgZXhlY3V0aW5nICBzaGVsbCwgIGFuZAotICAgICAgIHRoYXQgIGZpbGUgZGVzY3JpcHRvciBpcyBhc3NpZ25lZCB0byBfCE5fCEFfCE1fCEVbMV0uICBUaGlzIHBpcGUgaXMgZXN0YWJsaXNoZWQKLSAgICAgICBiZWZvcmUgYW55IHJlZGlyZWN0aW9ucyAgc3BlY2lmaWVkICBieSAgdGhlICBjb21tYW5kICAoc2VlICBSCFJFCEVECERJCElSCFJFCEVDCENUCFRJCElPCE9OCE4KLSAgICAgICBiZWxvdykuICAgVGhlICBmaWxlICBkZXNjcmlwdG9ycyAgY2FuIGJlIHV0aWxpemVkIGFzIGFyZ3VtZW50cyB0byBzaGVsbAotICAgICAgIGNvbW1hbmRzIGFuZCByZWRpcmVjdGlvbnMgdXNpbmcgc3RhbmRhcmQgd29yZCBleHBhbnNpb25zLiAgVGhlICBwcm9jZXNzCi0gICAgICAgaWQgIG9mICB0aGUgIHNoZWxsIHNwYXduZWQgdG8gZXhlY3V0ZSB0aGUgY29wcm9jZXNzIGlzIGF2YWlsYWJsZSBhcyB0aGUKLSAgICAgICB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgXwhOXwhBXwhNXwhFX1BJRC4gIFRoZSB3CHdhCGFpCGl0CHQgYnVpbHRpbiBjb21tYW5kIG1heSAgYmUgIHVzZWQKKyAgICAgICBvZiB0aGUgc2ltcGxlIGNvbW1hbmQuICBXaGVuIHRoZSBjb3Byb2MgaXMgZXhlY3V0ZWQsIHRoZSBzaGVsbCAgY3JlYXRlcworICAgICAgIGFuICBhcnJheSAgdmFyaWFibGUgKHNlZSBBCEFyCHJyCHJhCGF5CHlzCHMgYmVsb3cpIG5hbWVkIF8ITl8IQV8ITV8IRSBpbiB0aGUgY29udGV4dCBvZiB0aGUKKyAgICAgICBleGVjdXRpbmcgc2hlbGwuICBUaGUgc3RhbmRhcmQgb3V0cHV0IG9mIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCAgaXMgIGNvbm5lY3RlZCAgdmlhICBhCisgICAgICAgcGlwZSAgdG8gIGEgIGZpbGUgIGRlc2NyaXB0b3IgIGluICB0aGUgIGV4ZWN1dGluZyAgc2hlbGwsIGFuZCB0aGF0IGZpbGUKKyAgICAgICBkZXNjcmlwdG9yIGlzIGFzc2lnbmVkIHRvIF8ITl8IQV8ITV8IRVswXS4gIFRoZSBzdGFuZGFyZCBpbnB1dCAgb2YgIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCAgaXMKKyAgICAgICBjb25uZWN0ZWQgIHZpYSAgYSBwaXBlIHRvIGEgZmlsZSBkZXNjcmlwdG9yIGluIHRoZSBleGVjdXRpbmcgc2hlbGwsIGFuZAorICAgICAgIHRoYXQgZmlsZSBkZXNjcmlwdG9yIGlzIGFzc2lnbmVkIHRvIF8ITl8IQV8ITV8IRVsxXS4gIFRoaXMgcGlwZSBpcyAgZXN0YWJsaXNoZWQKKyAgICAgICBiZWZvcmUgIGFueSAgcmVkaXJlY3Rpb25zICBzcGVjaWZpZWQgIGJ5ICB0aGUgIGNvbW1hbmQgKHNlZSBSCFJFCEVECERJCElSCFJFCEVDCENUCFRJCElPCE9OCE4KKyAgICAgICBiZWxvdykuICBUaGUgZmlsZSBkZXNjcmlwdG9ycyBjYW4gYmUgdXRpbGl6ZWQgIGFzICBhcmd1bWVudHMgIHRvICBzaGVsbAorICAgICAgIGNvbW1hbmRzICBhbmQgcmVkaXJlY3Rpb25zIHVzaW5nIHN0YW5kYXJkIHdvcmQgZXhwYW5zaW9ucy4gIFRoZSBwcm9jZXNzCisgICAgICAgSUQgb2YgdGhlIHNoZWxsIHNwYXduZWQgdG8gZXhlY3V0ZSB0aGUgY29wcm9jZXNzIGlzICBhdmFpbGFibGUgIGFzICB0aGUKKyAgICAgICB2YWx1ZSAgb2YgIHRoZSB2YXJpYWJsZSBfCE5fCEFfCE1fCEVfUElELiAgVGhlIHcId2EIYWkIaXQIdCBidWlsdGluIGNvbW1hbmQgbWF5IGJlIHVzZWQKICAgICAgICB0byB3YWl0IGZvciB0aGUgY29wcm9jZXNzIHRvIHRlcm1pbmF0ZS4KIAogICAgICAgIFRoZSByZXR1cm4gc3RhdHVzIG9mIGEgY29wcm9jZXNzIGlzIHRoZSBleGl0IHN0YXR1cyBvZiBfCGNfCG9fCG1fCG1fCGFfCG5fCGQuCiAKICAgIFMIU2gIaGUIZWwIbGwIbCBGCEZ1CHVuCG5jCGN0CHRpCGlvCG9uCG4gRAhEZQhlZghmaQhpbghuaQhpdAh0aQhpbwhvbghucwhzCi0gICAgICAgQSAgc2hlbGwgZnVuY3Rpb24gaXMgYW4gb2JqZWN0IHRoYXQgaXMgY2FsbGVkIGxpa2UgYSBzaW1wbGUgY29tbWFuZCBhbmQKLSAgICAgICBleGVjdXRlcyBhIGNvbXBvdW5kIGNvbW1hbmQgd2l0aCBhIG5ldyBzZXQgIG9mICBwb3NpdGlvbmFsICBwYXJhbWV0ZXJzLgorICAgICAgIEEgc2hlbGwgZnVuY3Rpb24gaXMgYW4gb2JqZWN0IHRoYXQgaXMgY2FsbGVkIGxpa2UgYSBzaW1wbGUgY29tbWFuZCAgYW5kCisgICAgICAgZXhlY3V0ZXMgIGEgIGNvbXBvdW5kICBjb21tYW5kIHdpdGggYSBuZXcgc2V0IG9mIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4KICAgICAgICBTaGVsbCBmdW5jdGlvbnMgYXJlIGRlY2xhcmVkIGFzIGZvbGxvd3M6CiAKLSAgICAgICBbIGYIZnUIdW4IbmMIY3QIdGkIaW8Ib24IbiBdIF8Ibl8IYV8IbV8IZSAoKSBfCGNfCG9fCG1fCHBfCG9fCHVfCG5fCGRfCC1fCGNfCG9fCG1fCG1fCGFfCG5fCGQgW18Icl8IZV8IZF8IaV8Icl8IZV8IY18IdF8IaV8Ib18Ibl0KLSAgICAgICAgICAgICAgVGhpcyAgZGVmaW5lcyBhIGZ1bmN0aW9uIG5hbWVkIF8Ibl8IYV8IbV8IZS4gIFRoZSByZXNlcnZlZCB3b3JkIGYIZnUIdW4IbmMIY3QIdGkIaW8Ib24IbgotICAgICAgICAgICAgICBpcyBvcHRpb25hbC4gIElmIHRoZSBmCGZ1CHVuCG5jCGN0CHRpCGlvCG9uCG4gcmVzZXJ2ZWQgIHdvcmQgIGlzICBzdXBwbGllZCwgIHRoZQotICAgICAgICAgICAgICBwYXJlbnRoZXNlcyAgYXJlIG9wdGlvbmFsLiAgVGhlIF8IYl8Ib18IZF8IeSBvZiB0aGUgZnVuY3Rpb24gaXMgdGhlIGNvbS0KLSAgICAgICAgICAgICAgcG91bmQgY29tbWFuZCBfCGNfCG9fCG1fCHBfCG9fCHVfCG5fCGRfCC1fCGNfCG9fCG1fCG1fCGFfCG5fCGQgKHNlZSAgQwhDbwhvbQhtcAhwbwhvdQh1bghuZAhkICBDCENvCG9tCG1tCG1hCGFuCG5kCGRzCHMgIGFib3ZlKS4KLSAgICAgICAgICAgICAgVGhhdCAgY29tbWFuZCBpcyB1c3VhbGx5IGEgXwhsXwhpXwhzXwh0IG9mIGNvbW1hbmRzIGJldHdlZW4geyBhbmQgfSwgYnV0Ci0gICAgICAgICAgICAgIG1heSBiZSBhbnkgY29tbWFuZCBsaXN0ZWQgdW5kZXIgQwhDbwhvbQhtcAhwbwhvdQh1bghuZAhkIEMIQ28Ib20IbW0IbWEIYW4IbmQIZHMIcyAgYWJvdmUuICAgXwhjXwhvXwhtXwgtCisgICAgICAgXwhuXwhhXwhtXwhlICgpIF8IY18Ib18IbV8IcF8Ib18IdV8Ibl8IZF8ILV8IY18Ib18IbV8IbV8IYV8Ibl8IZCBbXwhyXwhlXwhkXwhpXwhyXwhlXwhjXwh0XwhpXwhvXwhuXQorICAgICAgIGYIZnUIdW4IbmMIY3QIdGkIaW8Ib24IbiBfCG5fCGFfCG1fCGUgWygpXSBfCGNfCG9fCG1fCHBfCG9fCHVfCG5fCGRfCC1fCGNfCG9fCG1fCG1fCGFfCG5fCGQgW18Icl8IZV8IZF8IaV8Icl8IZV8IY18IdF8IaV8Ib18Ibl0KKyAgICAgICAgICAgICAgVGhpcyBkZWZpbmVzIGEgZnVuY3Rpb24gbmFtZWQgXwhuXwhhXwhtXwhlLiAgVGhlIHJlc2VydmVkIHdvcmQgIGYIZnUIdW4IbmMIY3QIdGkIaW8Ib24IbgorICAgICAgICAgICAgICBpcyAgb3B0aW9uYWwuICAgSWYgIHRoZSAgZghmdQh1bghuYwhjdAh0aQhpbwhvbghuIHJlc2VydmVkIHdvcmQgaXMgc3VwcGxpZWQsIHRoZQorICAgICAgICAgICAgICBwYXJlbnRoZXNlcyBhcmUgb3B0aW9uYWwuICBUaGUgXwhiXwhvXwhkXwh5IG9mIHRoZSBmdW5jdGlvbiBpcyB0aGUgIGNvbS0KKyAgICAgICAgICAgICAgcG91bmQgIGNvbW1hbmQgIF8IY18Ib18IbV8IcF8Ib18IdV8Ibl8IZF8ILV8IY18Ib18IbV8IbV8IYV8Ibl8IZCAgKHNlZSBDCENvCG9tCG1wCHBvCG91CHVuCG5kCGQgQwhDbwhvbQhtbQhtYQhhbghuZAhkcwhzIGFib3ZlKS4KKyAgICAgICAgICAgICAgVGhhdCBjb21tYW5kIGlzIHVzdWFsbHkgYSBfCGxfCGlfCHNfCHQgb2YgY29tbWFuZHMgYmV0d2VlbiB7IGFuZCB9LCAgYnV0CisgICAgICAgICAgICAgIG1heSAgYmUgIGFueSBjb21tYW5kIGxpc3RlZCB1bmRlciBDCENvCG9tCG1wCHBvCG91CHVuCG5kCGQgQwhDbwhvbQhtbQhtYQhhbghuZAhkcwhzIGFib3ZlLiAgXwhjXwhvXwhtXwgtCiAgICAgICAgICAgICAgIF8IcF8Ib18IdV8Ibl8IZF8ILV8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBleGVjdXRlZCB3aGVuZXZlciBfCG5fCGFfCG1fCGUgaXMgc3BlY2lmaWVkIGFzIHRoZSBuYW1lCi0gICAgICAgICAgICAgIG9mIGEgc2ltcGxlIGNvbW1hbmQuICBBbnkgcmVkaXJlY3Rpb25zIChzZWUgIFIIUkUIRUQIREkISVIIUkUIRUMIQ1QIVEkISU8IT04ITiAgYmVsb3cpCi0gICAgICAgICAgICAgIHNwZWNpZmllZCAgd2hlbiAgYSAgZnVuY3Rpb24gIGlzICBkZWZpbmVkIGFyZSBwZXJmb3JtZWQgd2hlbiB0aGUKLSAgICAgICAgICAgICAgZnVuY3Rpb24gaXMgZXhlY3V0ZWQuICBUaGUgZXhpdCBzdGF0dXMgb2YgYSBmdW5jdGlvbiAgZGVmaW5pdGlvbgorICAgICAgICAgICAgICBvZiAgYSAgc2ltcGxlIGNvbW1hbmQuICBBbnkgcmVkaXJlY3Rpb25zIChzZWUgUghSRQhFRAhESQhJUghSRQhFQwhDVAhUSQhJTwhPTghOIGJlbG93KQorICAgICAgICAgICAgICBzcGVjaWZpZWQgd2hlbiBhIGZ1bmN0aW9uIGlzICBkZWZpbmVkICBhcmUgIHBlcmZvcm1lZCAgd2hlbiAgdGhlCisgICAgICAgICAgICAgIGZ1bmN0aW9uICBpcyBleGVjdXRlZC4gIFRoZSBleGl0IHN0YXR1cyBvZiBhIGZ1bmN0aW9uIGRlZmluaXRpb24KICAgICAgICAgICAgICAgaXMgemVybyB1bmxlc3MgYSBzeW50YXggZXJyb3Igb2NjdXJzIG9yIGEgcmVhZG9ubHkgZnVuY3Rpb24gd2l0aAogICAgICAgICAgICAgICB0aGUgc2FtZSBuYW1lIGFscmVhZHkgZXhpc3RzLiAgV2hlbiBleGVjdXRlZCwgdGhlIGV4aXQgc3RhdHVzIG9mCi0gICAgICAgICAgICAgIGEgIGZ1bmN0aW9uICBpcyAgdGhlIGV4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQgaW4KKyAgICAgICAgICAgICAgYSBmdW5jdGlvbiBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgIGNvbW1hbmQgIGV4ZWN1dGVkICBpbgogICAgICAgICAgICAgICB0aGUgYm9keS4gIChTZWUgRghGVQhVTghOQwhDVAhUSQhJTwhPTghOUwhTIGJlbG93LikKIAogQwhDTwhPTQhNTQhNRQhFTghOVAhUUwhTCiAgICAgICAgSW4gYSBub24taW50ZXJhY3RpdmUgc2hlbGwsIG9yIGFuIGludGVyYWN0aXZlIHNoZWxsIGluIHdoaWNoIHRoZSBpCGluCG50CHRlCGVyCHItCC0KLSAgICAgICBhCGFjCGN0CHRpCGl2CHZlCGVfCF9jCGNvCG9tCG1tCG1lCGVuCG50CHRzCHMgIG9wdGlvbiAgdG8gIHRoZSAgcwhzaAhobwhvcAhwdAh0ICBidWlsdGluICBpcyBlbmFibGVkIChzZWUgUwhTSAhIRQhFTAhMTAhMCi0gICAgICAgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyBiZWxvdyksIGEgd29yZCBiZWdpbm5pbmcgd2l0aCAjCCMgY2F1c2VzIHRoYXQgIHdvcmQgIGFuZAotICAgICAgIGFsbCAgcmVtYWluaW5nICBjaGFyYWN0ZXJzICBvbiB0aGF0IGxpbmUgdG8gYmUgaWdub3JlZC4gIEFuIGludGVyYWN0aXZlCi0gICAgICAgc2hlbGwgd2l0aG91dCB0aGUgaQhpbghudAh0ZQhlcghyYQhhYwhjdAh0aQhpdgh2ZQhlXwhfYwhjbwhvbQhtbQhtZQhlbghudAh0cwhzIG9wdGlvbiBlbmFibGVkICBkb2VzICBub3QgIGFsbG93CisgICAgICAgYQhhYwhjdAh0aQhpdgh2ZQhlXwhfYwhjbwhvbQhtbQhtZQhlbghudAh0cwhzIG9wdGlvbiB0byB0aGUgIHMIc2gIaG8Ib3AIcHQIdCAgYnVpbHRpbiAgaXMgIGVuYWJsZWQgIChzZWUgIFMIU0gISEUIRUwITEwITAorICAgICAgIEIIQlUIVUkISUwITFQIVEkISU4ITiAgQwhDTwhPTQhNTQhNQQhBTghORAhEUwhTICBiZWxvdyksIGEgd29yZCBiZWdpbm5pbmcgd2l0aCAjCCMgY2F1c2VzIHRoYXQgd29yZCBhbmQKKyAgICAgICBhbGwgcmVtYWluaW5nIGNoYXJhY3RlcnMgb24gdGhhdCBsaW5lIHRvIGJlICBpZ25vcmVkLiAgIEFuICBpbnRlcmFjdGl2ZQorICAgICAgIHNoZWxsICB3aXRob3V0ICB0aGUgIGkIaW4IbnQIdGUIZXIIcmEIYWMIY3QIdGkIaXYIdmUIZV8IX2MIY28Ib20IbW0IbWUIZW4IbnQIdHMIcyBvcHRpb24gZW5hYmxlZCBkb2VzIG5vdCBhbGxvdwogICAgICAgIGNvbW1lbnRzLiAgVGhlIGkIaW4IbnQIdGUIZXIIcmEIYWMIY3QIdGkIaXYIdmUIZV8IX2MIY28Ib20IbW0IbWUIZW4IbnQIdHMIcyBvcHRpb24gaXMgb24gYnkgZGVmYXVsdCBpbiBpbnRlcmFjLQogICAgICAgIHRpdmUgc2hlbGxzLgogCiBRCFFVCFVPCE9UCFRJCElOCE5HCEcKLSAgICAgICBfCFFfCHVfCG9fCHRfCGlfCG5fCGcgaXMgdXNlZCB0byByZW1vdmUgdGhlIHNwZWNpYWwgbWVhbmluZyBvZiBjZXJ0YWluIGNoYXJhY3RlcnMgIG9yCi0gICAgICAgd29yZHMgIHRvICB0aGUgc2hlbGwuICBRdW90aW5nIGNhbiBiZSB1c2VkIHRvIGRpc2FibGUgc3BlY2lhbCB0cmVhdG1lbnQKKyAgICAgICBfCFFfCHVfCG9fCHRfCGlfCG5fCGcgIGlzIHVzZWQgdG8gcmVtb3ZlIHRoZSBzcGVjaWFsIG1lYW5pbmcgb2YgY2VydGFpbiBjaGFyYWN0ZXJzIG9yCisgICAgICAgd29yZHMgdG8gdGhlIHNoZWxsLiAgUXVvdGluZyBjYW4gYmUgdXNlZCB0byBkaXNhYmxlICBzcGVjaWFsICB0cmVhdG1lbnQKICAgICAgICBmb3Igc3BlY2lhbCBjaGFyYWN0ZXJzLCB0byBwcmV2ZW50IHJlc2VydmVkIHdvcmRzIGZyb20gYmVpbmcgcmVjb2duaXplZAogICAgICAgIGFzIHN1Y2gsIGFuZCB0byBwcmV2ZW50IHBhcmFtZXRlciBleHBhbnNpb24uCiAKLSAgICAgICBFYWNoICBvZiAgdGhlIF8IbV8IZV8IdF8IYV8IY18IaF8IYV8Icl8IYV8IY18IdF8IZV8Icl8IcyBsaXN0ZWQgYWJvdmUgdW5kZXIgRAhERQhFRghGSQhJTghOSQhJVAhUSQhJTwhPTghOUwhTIGhhcyBzcGVjaWFsCisgICAgICAgRWFjaCBvZiB0aGUgXwhtXwhlXwh0XwhhXwhjXwhoXwhhXwhyXwhhXwhjXwh0XwhlXwhyXwhzIGxpc3RlZCBhYm92ZSB1bmRlciBECERFCEVGCEZJCElOCE5JCElUCFRJCElPCE9OCE5TCFMgIGhhcyAgc3BlY2lhbAogICAgICAgIG1lYW5pbmcgdG8gdGhlIHNoZWxsIGFuZCBtdXN0IGJlIHF1b3RlZCBpZiBpdCBpcyB0byByZXByZXNlbnQgaXRzZWxmLgogCi0gICAgICAgV2hlbiB0aGUgY29tbWFuZCBoaXN0b3J5IGV4cGFuc2lvbiBmYWNpbGl0aWVzIGFyZSBiZWluZyB1c2VkIChzZWUgIEgISEkISVMIUy0ILQorICAgICAgIFdoZW4gIHRoZSBjb21tYW5kIGhpc3RvcnkgZXhwYW5zaW9uIGZhY2lsaXRpZXMgYXJlIGJlaW5nIHVzZWQgKHNlZSBICEhJCElTCFMtCC0KICAgICAgICBUCFRPCE9SCFJZCFkgRQhFWAhYUAhQQQhBTghOUwhTSQhJTwhPTghOIGJlbG93KSwgdGhlIF8IaF8IaV8Ic18IdF8Ib18Icl8IeSBfCGVfCHhfCHBfCGFfCG5fCHNfCGlfCG9fCG4gY2hhcmFjdGVyLCB1c3VhbGx5ICEIISwgbXVzdAogICAgICAgIGJlIHF1b3RlZCB0byBwcmV2ZW50IGhpc3RvcnkgZXhwYW5zaW9uLgogCi0gICAgICAgVGhlcmUgYXJlICB0aHJlZSAgcXVvdGluZyAgbWVjaGFuaXNtczogIHRoZSAgXwhlXwhzXwhjXwhhXwhwXwhlICBfCGNfCGhfCGFfCHJfCGFfCGNfCHRfCGVfCHIsICBzaW5nbGUKKyAgICAgICBUaGVyZSAgYXJlICB0aHJlZSAgcXVvdGluZyAgbWVjaGFuaXNtczogIHRoZSAgXwhlXwhzXwhjXwhhXwhwXwhlICBfCGNfCGhfCGFfCHJfCGFfCGNfCHRfCGVfCHIsIHNpbmdsZQogICAgICAgIHF1b3RlcywgYW5kIGRvdWJsZSBxdW90ZXMuCiAKLSAgICAgICBBICBub24tcXVvdGVkICBiYWNrc2xhc2ggKFwIXCkgaXMgdGhlIF8IZV8Ic18IY18IYV8IcF8IZSBfCGNfCGhfCGFfCHJfCGFfCGNfCHRfCGVfCHIuICBJdCBwcmVzZXJ2ZXMgdGhlCisgICAgICAgQSBub24tcXVvdGVkIGJhY2tzbGFzaCAoXAhcKSBpcyB0aGUgXwhlXwhzXwhjXwhhXwhwXwhlIF8IY18IaF8IYV8Icl8IYV8IY18IdF8IZV8Ici4gIEl0ICBwcmVzZXJ2ZXMgIHRoZQogICAgICAgIGxpdGVyYWwgdmFsdWUgb2YgdGhlIG5leHQgY2hhcmFjdGVyIHRoYXQgZm9sbG93cywgd2l0aCB0aGUgZXhjZXB0aW9uIG9mCi0gICAgICAgPG5ld2xpbmU+LiAgIElmICBhICBcCFw8bmV3bGluZT4gIHBhaXIgIGFwcGVhcnMsIGFuZCB0aGUgYmFja3NsYXNoIGlzIG5vdAotICAgICAgIGl0c2VsZiBxdW90ZWQsIHRoZSBcCFw8bmV3bGluZT4gaXMgdHJlYXRlZCBhcyBhIGxpbmUgIGNvbnRpbnVhdGlvbiAgKHRoYXQKKyAgICAgICA8bmV3bGluZT4uICBJZiBhIFwIXDxuZXdsaW5lPiBwYWlyIGFwcGVhcnMsICBhbmQgIHRoZSAgYmFja3NsYXNoICBpcyAgbm90CisgICAgICAgaXRzZWxmICBxdW90ZWQsICB0aGUgXAhcPG5ld2xpbmU+IGlzIHRyZWF0ZWQgYXMgYSBsaW5lIGNvbnRpbnVhdGlvbiAodGhhdAogICAgICAgIGlzLCBpdCBpcyByZW1vdmVkIGZyb20gdGhlIGlucHV0IHN0cmVhbSBhbmQgZWZmZWN0aXZlbHkgaWdub3JlZCkuCiAKLSAgICAgICBFbmNsb3NpbmcgIGNoYXJhY3RlcnMgIGluICBzaW5nbGUgcXVvdGVzIHByZXNlcnZlcyB0aGUgbGl0ZXJhbCB2YWx1ZSBvZgorICAgICAgIEVuY2xvc2luZyBjaGFyYWN0ZXJzIGluIHNpbmdsZSBxdW90ZXMgcHJlc2VydmVzIHRoZSAgbGl0ZXJhbCAgdmFsdWUgIG9mCiAgICAgICAgZWFjaCBjaGFyYWN0ZXIgd2l0aGluIHRoZSBxdW90ZXMuICBBIHNpbmdsZSBxdW90ZSBtYXkgbm90IG9jY3VyIGJldHdlZW4KICAgICAgICBzaW5nbGUgcXVvdGVzLCBldmVuIHdoZW4gcHJlY2VkZWQgYnkgYSBiYWNrc2xhc2guCiAKLSAgICAgICBFbmNsb3NpbmcgIGNoYXJhY3RlcnMgIGluICBkb3VibGUgcXVvdGVzIHByZXNlcnZlcyB0aGUgbGl0ZXJhbCB2YWx1ZSBvZgotICAgICAgIGFsbCBjaGFyYWN0ZXJzIHdpdGhpbiB0aGUgcXVvdGVzLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgJAgkLCBgCGAsICBcCFwsICBhbmQsCi0gICAgICAgd2hlbiAgaGlzdG9yeSAgZXhwYW5zaW9uICBpcyBlbmFibGVkLCAhCCEuICBUaGUgY2hhcmFjdGVycyAkCCQgYW5kIGAIYCByZXRhaW4KLSAgICAgICB0aGVpciBzcGVjaWFsIG1lYW5pbmcgd2l0aGluIGRvdWJsZSBxdW90ZXMuICBUaGUgYmFja3NsYXNoIHJldGFpbnMgIGl0cwotICAgICAgIHNwZWNpYWwgIG1lYW5pbmcgb25seSB3aGVuIGZvbGxvd2VkIGJ5IG9uZSBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6Ci0gICAgICAgJAgkLCBgCGAsICIIIiwgXAhcLCBvciA8CDxuCG5lCGV3CHdsCGxpCGluCG5lCGU+CD4uICBBIGRvdWJsZSBxdW90ZSBtYXkgYmUgcXVvdGVkICB3aXRoaW4gIGRvdWJsZQorICAgICAgIEVuY2xvc2luZyBjaGFyYWN0ZXJzIGluIGRvdWJsZSBxdW90ZXMgcHJlc2VydmVzIHRoZSAgbGl0ZXJhbCAgdmFsdWUgIG9mCisgICAgICAgYWxsICBjaGFyYWN0ZXJzICB3aXRoaW4gdGhlIHF1b3Rlcywgd2l0aCB0aGUgZXhjZXB0aW9uIG9mICQIJCwgYAhgLCBcCFwsIGFuZCwKKyAgICAgICB3aGVuIGhpc3RvcnkgZXhwYW5zaW9uIGlzIGVuYWJsZWQsICEIIS4gIFRoZSBjaGFyYWN0ZXJzICQIJCAgYW5kICBgCGAgIHJldGFpbgorICAgICAgIHRoZWlyICBzcGVjaWFsIG1lYW5pbmcgd2l0aGluIGRvdWJsZSBxdW90ZXMuICBUaGUgYmFja3NsYXNoIHJldGFpbnMgaXRzCisgICAgICAgc3BlY2lhbCBtZWFuaW5nIG9ubHkgd2hlbiBmb2xsb3dlZCBieSBvbmUgb2YgdGhlIGZvbGxvd2luZyAgY2hhcmFjdGVyczoKKyAgICAgICAkCCQsICBgCGAsICAiCCIsIFwIXCwgb3IgPAg8bghuZQhldwh3bAhsaQhpbghuZQhlPgg+LiAgQSBkb3VibGUgcXVvdGUgbWF5IGJlIHF1b3RlZCB3aXRoaW4gZG91YmxlCiAgICAgICAgcXVvdGVzIGJ5IHByZWNlZGluZyBpdCB3aXRoIGEgYmFja3NsYXNoLiAgSWYgZW5hYmxlZCwgaGlzdG9yeSBleHBhbnNpb24KLSAgICAgICB3aWxsIGJlIHBlcmZvcm1lZCB1bmxlc3MgYW4gIQghICBhcHBlYXJpbmcgaW4gZG91YmxlICBxdW90ZXMgIGlzICBlc2NhcGVkCisgICAgICAgd2lsbCAgYmUgIHBlcmZvcm1lZCAgdW5sZXNzIGFuICEIISAgYXBwZWFyaW5nIGluIGRvdWJsZSBxdW90ZXMgaXMgZXNjYXBlZAogICAgICAgIHVzaW5nIGEgYmFja3NsYXNoLiAgVGhlIGJhY2tzbGFzaCBwcmVjZWRpbmcgdGhlICEIISAgaXMgbm90IHJlbW92ZWQuCiAKLSAgICAgICBUaGUgIHNwZWNpYWwgIHBhcmFtZXRlcnMgICoIKiAgYW5kICBACEAgaGF2ZSBzcGVjaWFsIG1lYW5pbmcgd2hlbiBpbiBkb3VibGUKKyAgICAgICBUaGUgc3BlY2lhbCBwYXJhbWV0ZXJzICoIKiBhbmQgQAhAIGhhdmUgIHNwZWNpYWwgIG1lYW5pbmcgIHdoZW4gIGluICBkb3VibGUKICAgICAgICBxdW90ZXMgKHNlZSBQCFBBCEFSCFJBCEFNCE1FCEVUCFRFCEVSCFJTCFMgYmVsb3cpLgogCiAgICAgICAgV29yZHMgb2YgdGhlIGZvcm0gJAgkJ18Ic18IdF8Icl8IaV8Ibl8IZycgYXJlIHRyZWF0ZWQgc3BlY2lhbGx5LiAgVGhlIHdvcmQgZXhwYW5kcyB0bwotICAgICAgIF8Ic18IdF8Icl8IaV8Ibl8IZywgIHdpdGggYmFja3NsYXNoLWVzY2FwZWQgY2hhcmFjdGVycyByZXBsYWNlZCBhcyBzcGVjaWZpZWQgYnkgdGhlCi0gICAgICAgQU5TSSBDIHN0YW5kYXJkLiAgQmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMsIGlmIHByZXNlbnQsICBhcmUgIGRlY29kZWQKKyAgICAgICBfCHNfCHRfCHJfCGlfCG5fCGcsIHdpdGggYmFja3NsYXNoLWVzY2FwZWQgY2hhcmFjdGVycyByZXBsYWNlZCBhcyBzcGVjaWZpZWQgYnkgIHRoZQorICAgICAgIEFOU0kgIEMgIHN0YW5kYXJkLiAgQmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMsIGlmIHByZXNlbnQsIGFyZSBkZWNvZGVkCiAgICAgICAgYXMgZm9sbG93czoKICAgICAgICAgICAgICAgXAhcYQhhICAgICBhbGVydCAoYmVsbCkKICAgICAgICAgICAgICAgXAhcYghiICAgICBiYWNrc3BhY2UKQEAgLTU4MiwxNzggKzU5MCwxODIgQEAKICAgICAgICAgICAgICAgXAhcXAhcICAgICBiYWNrc2xhc2gKICAgICAgICAgICAgICAgXAhcJwgnICAgICBzaW5nbGUgcXVvdGUKICAgICAgICAgICAgICAgXAhcIggiICAgICBkb3VibGUgcXVvdGUKLSAgICAgICAgICAgICAgXAhcXwhuXwhuXwhuICAgdGhlICBlaWdodC1iaXQgIGNoYXJhY3RlciAgd2hvc2UgdmFsdWUgaXMgdGhlIG9jdGFsIHZhbHVlCisgICAgICAgICAgICAgIFwIXF8Ibl8Ibl8IbiAgIHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzICB0aGUgIG9jdGFsICB2YWx1ZQogICAgICAgICAgICAgICAgICAgICAgXwhuXwhuXwhuIChvbmUgdG8gdGhyZWUgZGlnaXRzKQotICAgICAgICAgICAgICBcCFx4CHhfCEhfCEggICB0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2YWx1ZSAgaXMgIHRoZSAgaGV4YWRlY2ltYWwKKyAgICAgICAgICAgICAgXAhceAh4XwhIXwhIICAgdGhlICBlaWdodC1iaXQgIGNoYXJhY3RlciAgd2hvc2UgdmFsdWUgaXMgdGhlIGhleGFkZWNpbWFsCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBfCEhfCEggKG9uZSBvciB0d28gaGV4IGRpZ2l0cykKKyAgICAgICAgICAgICAgXAhcdQh1XwhIXwhIXwhIXwhIIHRoZSBVbmljb2RlIChJU08vSUVDIDEwNjQ2KSBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgIHRoZQorICAgICAgICAgICAgICAgICAgICAgaGV4YWRlY2ltYWwgdmFsdWUgXwhIXwhIXwhIXwhIIChvbmUgdG8gZm91ciBoZXggZGlnaXRzKQorICAgICAgICAgICAgICBcCFxVCFVfCEhfCEhfCEhfCEhfCEhfCEhfCEhfCEgKKyAgICAgICAgICAgICAgICAgICAgIHRoZSAgVW5pY29kZSAoSVNPL0lFQyAxMDY0NikgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIHRoZQorICAgICAgICAgICAgICAgICAgICAgaGV4YWRlY2ltYWwgdmFsdWUgXwhIXwhIXwhIXwhIXwhIXwhIXwhIXwhIIChvbmUgdG8gZWlnaHQgaGV4IGRpZ2l0cykKICAgICAgICAgICAgICAgXAhcYwhjXwh4ICAgIGEgY29udHJvbC1fCHggY2hhcmFjdGVyCiAKLSAgICAgICBUaGUgIGV4cGFuZGVkICByZXN1bHQgIGlzICBzaW5nbGUtcXVvdGVkLCBhcyBpZiB0aGUgZG9sbGFyIHNpZ24gaGFkIG5vdAorICAgICAgIFRoZSBleHBhbmRlZCByZXN1bHQgaXMgc2luZ2xlLXF1b3RlZCwgYXMgaWYgdGhlICBkb2xsYXIgIHNpZ24gIGhhZCAgbm90CiAgICAgICAgYmVlbiBwcmVzZW50LgogCiAgICAgICAgQSBkb3VibGUtcXVvdGVkIHN0cmluZyBwcmVjZWRlZCBieSBhIGRvbGxhciBzaWduICgkCCQiXwhzXwh0XwhyXwhpXwhuXwhnIikgd2lsbCBjYXVzZQotICAgICAgIHRoZSAgc3RyaW5nICB0byAgYmUgdHJhbnNsYXRlZCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlLiAgSWYgdGhlCi0gICAgICAgY3VycmVudCBsb2NhbGUgaXMgQwhDIG9yIFAIUE8IT1MIU0kISVgIWCwgdGhlICBkb2xsYXIgIHNpZ24gIGlzICBpZ25vcmVkLiAgIElmICB0aGUKKyAgICAgICB0aGUgc3RyaW5nIHRvIGJlIHRyYW5zbGF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50ICBsb2NhbGUuICAgSWYgIHRoZQorICAgICAgIGN1cnJlbnQgIGxvY2FsZSAgaXMgIEMIQyAgb3IgIFAIUE8IT1MIU0kISVgIWCwgIHRoZSBkb2xsYXIgc2lnbiBpcyBpZ25vcmVkLiAgSWYgdGhlCiAgICAgICAgc3RyaW5nIGlzIHRyYW5zbGF0ZWQgYW5kIHJlcGxhY2VkLCB0aGUgcmVwbGFjZW1lbnQgaXMgZG91YmxlLXF1b3RlZC4KIAogUAhQQQhBUghSQQhBTQhNRQhFVAhURQhFUghSUwhTCi0gICAgICAgQSAgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIGlzIGFuIGVudGl0eSB0aGF0IHN0b3JlcyB2YWx1ZXMuICBJdCBjYW4gYmUgYSBfCG5fCGFfCG1fCGUsIGEgbnVtLQorICAgICAgIEEgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIGlzIGFuIGVudGl0eSB0aGF0IHN0b3JlcyB2YWx1ZXMuICBJdCBjYW4gYmUgYSBfCG5fCGFfCG1fCGUsIGEgIG51bS0KICAgICAgICBiZXIsIG9yIG9uZSBvZiB0aGUgc3BlY2lhbCBjaGFyYWN0ZXJzIGxpc3RlZCBiZWxvdyB1bmRlciBTCFNwCHBlCGVjCGNpCGlhCGFsCGwgUAhQYQhhcghyYQhhbQhtLQgtCi0gICAgICAgZQhldAh0ZQhlcghycwhzLiAgIEEgXwh2XwhhXwhyXwhpXwhhXwhiXwhsXwhlIGlzIGEgcGFyYW1ldGVyIGRlbm90ZWQgYnkgYSBfCG5fCGFfCG1fCGUuICBBIHZhcmlhYmxlIGhhcyBhCi0gICAgICAgXwh2XwhhXwhsXwh1XwhlIGFuZCB6ZXJvIG9yIG1vcmUgXwhhXwh0Xwh0XwhyXwhpXwhiXwh1Xwh0XwhlXwhzLiAgQXR0cmlidXRlcyBhcmUgYXNzaWduZWQgIHVzaW5nICB0aGUKLSAgICAgICBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgIGJ1aWx0aW4gY29tbWFuZCAoc2VlIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSBiZWxvdyBpbiBTCFNICEhFCEVMCExMCEwgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUykuCisgICAgICAgZQhldAh0ZQhlcghycwhzLiAgQSBfCHZfCGFfCHJfCGlfCGFfCGJfCGxfCGUgaXMgYSBwYXJhbWV0ZXIgZGVub3RlZCBieSBhIF8Ibl8IYV8IbV8IZS4gIEEgdmFyaWFibGUgaGFzICBhCisgICAgICAgXwh2XwhhXwhsXwh1XwhlICBhbmQgIHplcm8gb3IgbW9yZSBfCGFfCHRfCHRfCHJfCGlfCGJfCHVfCHRfCGVfCHMuICBBdHRyaWJ1dGVzIGFyZSBhc3NpZ25lZCB1c2luZyB0aGUKKyAgICAgICBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgYnVpbHRpbiBjb21tYW5kIChzZWUgZAhkZQhlYwhjbAhsYQhhcghyZQhlIGJlbG93IGluIFMIU0gISEUIRUwITEwITCBCCEJVCFVJCElMCExUCFRJCElOCE4gIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUykuCiAKICAgICAgICBBIHBhcmFtZXRlciBpcyBzZXQgaWYgaXQgaGFzIGJlZW4gYXNzaWduZWQgYSB2YWx1ZS4gIFRoZSBudWxsIHN0cmluZyBpcwotICAgICAgIGEgIHZhbGlkICB2YWx1ZS4gIE9uY2UgYSB2YXJpYWJsZSBpcyBzZXQsIGl0IG1heSBiZSB1bnNldCBvbmx5IGJ5IHVzaW5nCisgICAgICAgYSB2YWxpZCB2YWx1ZS4gIE9uY2UgYSB2YXJpYWJsZSBpcyBzZXQsIGl0IG1heSBiZSB1bnNldCBvbmx5ICBieSAgdXNpbmcKICAgICAgICB0aGUgdQh1bghucwhzZQhldAh0IGJ1aWx0aW4gY29tbWFuZCAoc2VlIFMIU0gISEUIRUwITEwITCBCCEJVCFVJCElMCExUCFRJCElOCE4gQwhDTwhPTQhNTQhNQQhBTghORAhEUwhTIGJlbG93KS4KIAogICAgICAgIEEgXwh2XwhhXwhyXwhpXwhhXwhiXwhsXwhlIG1heSBiZSBhc3NpZ25lZCB0byBieSBhIHN0YXRlbWVudCBvZiB0aGUgZm9ybQogCiAgICAgICAgICAgICAgIF8Ibl8IYV8IbV8IZT1bXwh2XwhhXwhsXwh1XwhlXQogCi0gICAgICAgSWYgXwh2XwhhXwhsXwh1XwhlIGlzIG5vdCBnaXZlbiwgdGhlIHZhcmlhYmxlIGlzIGFzc2lnbmVkIHRoZSBudWxsICBzdHJpbmcuICAgQWxsCi0gICAgICAgXwh2XwhhXwhsXwh1XwhlXwhzICB1bmRlcmdvIHRpbGRlIGV4cGFuc2lvbiwgcGFyYW1ldGVyIGFuZCB2YXJpYWJsZSBleHBhbnNpb24sIGNvbS0KLSAgICAgICBtYW5kIHN1YnN0aXR1dGlvbiwgYXJpdGhtZXRpYyBleHBhbnNpb24sIGFuZCBxdW90ZSByZW1vdmFsIChzZWUgIEUIRVgIWFAIUEEIQU4ITi0ILQorICAgICAgIElmICBfCHZfCGFfCGxfCHVfCGUgIGlzIG5vdCBnaXZlbiwgdGhlIHZhcmlhYmxlIGlzIGFzc2lnbmVkIHRoZSBudWxsIHN0cmluZy4gIEFsbAorICAgICAgIF8Idl8IYV8IbF8IdV8IZV8IcyB1bmRlcmdvIHRpbGRlIGV4cGFuc2lvbiwgcGFyYW1ldGVyIGFuZCB2YXJpYWJsZSBleHBhbnNpb24sICBjb20tCisgICAgICAgbWFuZCAgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljIGV4cGFuc2lvbiwgYW5kIHF1b3RlIHJlbW92YWwgKHNlZSBFCEVYCFhQCFBBCEFOCE4tCC0KICAgICAgICBTCFNJCElPCE9OCE4gYmVsb3cpLiAgSWYgdGhlIHZhcmlhYmxlIGhhcyBpdHMgaQhpbghudAh0ZQhlZwhnZQhlcghyIGF0dHJpYnV0ZSBzZXQsIHRoZW4gXwh2XwhhXwhsXwh1XwhlCiAgICAgICAgaXMgZXZhbHVhdGVkIGFzIGFuIGFyaXRobWV0aWMgZXhwcmVzc2lvbiBldmVuIGlmIHRoZSAkKCguLi4pKSBleHBhbnNpb24KLSAgICAgICBpcyAgbm90ICB1c2VkICAoc2VlIEEIQXIIcmkIaXQIdGgIaG0IbWUIZXQIdGkIaWMIYyBFCEV4CHhwCHBhCGFuCG5zCHNpCGlvCG9uCG4gYmVsb3cpLiAgV29yZCBzcGxpdHRpbmcgaXMgbm90Ci0gICAgICAgcGVyZm9ybWVkLCB3aXRoIHRoZSBleGNlcHRpb24gb2YgIggiJAgkQAhAIggiIGFzIGV4cGxhaW5lZCBiZWxvdyB1bmRlciAgUwhTcAhwZQhlYwhjaQhpYQhhbAhsCi0gICAgICAgUAhQYQhhcghyYQhhbQhtZQhldAh0ZQhlcghycwhzLiAgIFBhdGhuYW1lICBleHBhbnNpb24gIGlzIG5vdCBwZXJmb3JtZWQuICBBc3NpZ25tZW50IHN0YXRlLQotICAgICAgIG1lbnRzIG1heSBhbHNvIGFwcGVhciBhcyBhcmd1bWVudHMgIHRvICB0aGUgIGEIYWwIbGkIaWEIYXMIcywgIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSwgIHQIdHkIeXAIcGUIZXMIc2UIZXQIdCwKKyAgICAgICBpcyBub3QgdXNlZCAoc2VlIEEIQXIIcmkIaXQIdGgIaG0IbWUIZXQIdGkIaWMIYyBFCEV4CHhwCHBhCGFuCG5zCHNpCGlvCG9uCG4gYmVsb3cpLiAgV29yZCAgc3BsaXR0aW5nICBpcyAgbm90CisgICAgICAgcGVyZm9ybWVkLCAgd2l0aCB0aGUgZXhjZXB0aW9uIG9mICIIIiQIJEAIQCIIIiBhcyBleHBsYWluZWQgYmVsb3cgdW5kZXIgUwhTcAhwZQhlYwhjaQhpYQhhbAhsCisgICAgICAgUAhQYQhhcghyYQhhbQhtZQhldAh0ZQhlcghycwhzLiAgUGF0aG5hbWUgZXhwYW5zaW9uIGlzIG5vdCAgcGVyZm9ybWVkLiAgIEFzc2lnbm1lbnQgIHN0YXRlLQorICAgICAgIG1lbnRzICBtYXkgIGFsc28gIGFwcGVhciAgYXMgIGFyZ3VtZW50cyB0byB0aGUgYQhhbAhsaQhpYQhhcwhzLCBkCGRlCGVjCGNsCGxhCGFyCHJlCGUsIHQIdHkIeXAIcGUIZXMIc2UIZXQIdCwKICAgICAgICBlCGV4CHhwCHBvCG9yCHJ0CHQsIHIIcmUIZWEIYWQIZG8Ib24IbmwIbHkIeSwgYW5kIGwIbG8Ib2MIY2EIYWwIbCBidWlsdGluIGNvbW1hbmRzLgogCi0gICAgICAgSW4gIHRoZSBjb250ZXh0IHdoZXJlIGFuIGFzc2lnbm1lbnQgc3RhdGVtZW50IGlzIGFzc2lnbmluZyBhIHZhbHVlIHRvIGEKKyAgICAgICBJbiB0aGUgY29udGV4dCB3aGVyZSBhbiBhc3NpZ25tZW50IHN0YXRlbWVudCBpcyBhc3NpZ25pbmcgYSB2YWx1ZSB0byAgYQogICAgICAgIHNoZWxsIHZhcmlhYmxlIG9yIGFycmF5IGluZGV4LCB0aGUgKz0gb3BlcmF0b3IgY2FuIGJlIHVzZWQgdG8gYXBwZW5kIHRvCiAgICAgICAgb3IgYWRkIHRvIHRoZSB2YXJpYWJsZSdzIHByZXZpb3VzIHZhbHVlLiAgV2hlbiArPSBpcyBhcHBsaWVkIHRvIGEgdmFyaS0KLSAgICAgICBhYmxlIGZvciB3aGljaCB0aGUgaW50ZWdlciBhdHRyaWJ1dGUgaGFzIGJlZW4gc2V0LCBfCHZfCGFfCGxfCHVfCGUgIGlzICBldmFsdWF0ZWQKLSAgICAgICBhcyAgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uIGFuZCBhZGRlZCB0byB0aGUgdmFyaWFibGUncyBjdXJyZW50IHZhbHVlLAorICAgICAgIGFibGUgIGZvciAgd2hpY2ggdGhlIF8IaV8Ibl8IdF8IZV8IZ18IZV8IciBhdHRyaWJ1dGUgaGFzIGJlZW4gc2V0LCBfCHZfCGFfCGxfCHVfCGUgaXMgZXZhbHVhdGVkCisgICAgICAgYXMgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uIGFuZCBhZGRlZCB0byB0aGUgdmFyaWFibGUncyBjdXJyZW50ICB2YWx1ZSwKICAgICAgICB3aGljaCBpcyBhbHNvIGV2YWx1YXRlZC4gIFdoZW4gKz0gaXMgYXBwbGllZCB0byBhbiBhcnJheSB2YXJpYWJsZSB1c2luZwotICAgICAgIGNvbXBvdW5kICBhc3NpZ25tZW50ICAoc2VlICBBCEFyCHJyCHJhCGF5CHlzCHMgIGJlbG93KSwgdGhlIHZhcmlhYmxlJ3MgdmFsdWUgaXMgbm90CisgICAgICAgY29tcG91bmQgYXNzaWdubWVudCAoc2VlIEEIQXIIcnIIcmEIYXkIeXMIcyBiZWxvdyksIHRoZSAgdmFyaWFibGUncyAgdmFsdWUgIGlzICBub3QKICAgICAgICB1bnNldCAoYXMgaXQgaXMgd2hlbiB1c2luZyA9KSwgYW5kIG5ldyB2YWx1ZXMgYXJlIGFwcGVuZGVkIHRvIHRoZSBhcnJheQotICAgICAgIGJlZ2lubmluZyAgYXQgIG9uZSAgZ3JlYXRlciB0aGFuIHRoZSBhcnJheSdzIG1heGltdW0gaW5kZXggKGZvciBpbmRleGVkCisgICAgICAgYmVnaW5uaW5nIGF0IG9uZSBncmVhdGVyIHRoYW4gdGhlIGFycmF5J3MgbWF4aW11bSAgaW5kZXggIChmb3IgIGluZGV4ZWQKICAgICAgICBhcnJheXMpIG9yIGFkZGVkIGFzIGFkZGl0aW9uYWwga2V5LXZhbHVlIHBhaXJzIGluIGFuIGFzc29jaWF0aXZlIGFycmF5LgotICAgICAgIFdoZW4gIGFwcGxpZWQgIHRvICBhICBzdHJpbmctdmFsdWVkICB2YXJpYWJsZSwgIF8Idl8IYV8IbF8IdV8IZSAgaXMgIGV4cGFuZGVkIGFuZAorICAgICAgIFdoZW4gYXBwbGllZCAgdG8gIGEgIHN0cmluZy12YWx1ZWQgIHZhcmlhYmxlLCAgXwh2XwhhXwhsXwh1XwhlICBpcyAgZXhwYW5kZWQgIGFuZAogICAgICAgIGFwcGVuZGVkIHRvIHRoZSB2YXJpYWJsZSdzIHZhbHVlLgogCiAgICBQCFBvCG9zCHNpCGl0CHRpCGlvCG9uCG5hCGFsCGwgUAhQYQhhcghyYQhhbQhtZQhldAh0ZQhlcghycwhzCi0gICAgICAgQSBfCHBfCG9fCHNfCGlfCHRfCGlfCG9fCG5fCGFfCGwgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIGlzIGEgcGFyYW1ldGVyIGRlbm90ZWQgYnkgb25lICBvciAgbW9yZSAgZGlnaXRzLAorICAgICAgIEEgIF8IcF8Ib18Ic18IaV8IdF8IaV8Ib18Ibl8IYV8IbCAgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyICBpcyBhIHBhcmFtZXRlciBkZW5vdGVkIGJ5IG9uZSBvciBtb3JlIGRpZ2l0cywKICAgICAgICBvdGhlciB0aGFuIHRoZSBzaW5nbGUgZGlnaXQgMC4gIFBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgYXNzaWduZWQgZnJvbQotICAgICAgIHRoZSBzaGVsbCdzIGFyZ3VtZW50cyB3aGVuIGl0IGlzIGludm9rZWQsIGFuZCBtYXkgYmUgIHJlYXNzaWduZWQgIHVzaW5nCi0gICAgICAgdGhlICBzCHNlCGV0CHQgYnVpbHRpbiBjb21tYW5kLiAgUG9zaXRpb25hbCBwYXJhbWV0ZXJzIG1heSBub3QgYmUgYXNzaWduZWQgdG8KLSAgICAgICB3aXRoIGFzc2lnbm1lbnQgc3RhdGVtZW50cy4gIFRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlICB0ZW1wb3JhcmlseQorICAgICAgIHRoZSAgc2hlbGwncyAgYXJndW1lbnRzIHdoZW4gaXQgaXMgaW52b2tlZCwgYW5kIG1heSBiZSByZWFzc2lnbmVkIHVzaW5nCisgICAgICAgdGhlIHMIc2UIZXQIdCBidWlsdGluIGNvbW1hbmQuICBQb3NpdGlvbmFsIHBhcmFtZXRlcnMgbWF5IG5vdCBiZSBhc3NpZ25lZCAgdG8KKyAgICAgICB3aXRoICBhc3NpZ25tZW50IHN0YXRlbWVudHMuICBUaGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSB0ZW1wb3JhcmlseQogICAgICAgIHJlcGxhY2VkIHdoZW4gYSBzaGVsbCBmdW5jdGlvbiBpcyBleGVjdXRlZCAoc2VlIEYIRlUIVU4ITkMIQ1QIVEkISU8IT04ITlMIUyBiZWxvdykuCiAKLSAgICAgICBXaGVuICBhICBwb3NpdGlvbmFsIHBhcmFtZXRlciBjb25zaXN0aW5nIG9mIG1vcmUgdGhhbiBhIHNpbmdsZSBkaWdpdCBpcworICAgICAgIFdoZW4gYSBwb3NpdGlvbmFsIHBhcmFtZXRlciBjb25zaXN0aW5nIG9mIG1vcmUgdGhhbiBhIHNpbmdsZSAgZGlnaXQgIGlzCiAgICAgICAgZXhwYW5kZWQsIGl0IG11c3QgYmUgZW5jbG9zZWQgaW4gYnJhY2VzIChzZWUgRQhFWAhYUAhQQQhBTghOUwhTSQhJTwhPTghOIGJlbG93KS4KIAogICAgUwhTcAhwZQhlYwhjaQhpYQhhbAhsIFAIUGEIYXIIcmEIYW0IbWUIZXQIdGUIZXIIcnMIcwotICAgICAgIFRoZSBzaGVsbCB0cmVhdHMgc2V2ZXJhbCBwYXJhbWV0ZXJzIHNwZWNpYWxseS4gICBUaGVzZSAgcGFyYW1ldGVycyAgbWF5CisgICAgICAgVGhlICBzaGVsbCAgdHJlYXRzICBzZXZlcmFsIHBhcmFtZXRlcnMgc3BlY2lhbGx5LiAgVGhlc2UgcGFyYW1ldGVycyBtYXkKICAgICAgICBvbmx5IGJlIHJlZmVyZW5jZWQ7IGFzc2lnbm1lbnQgdG8gdGhlbSBpcyBub3QgYWxsb3dlZC4KLSAgICAgICAqCCogICAgICBFeHBhbmRzICB0byAgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgc3RhcnRpbmcgZnJvbSBvbmUuICBXaGVuCi0gICAgICAgICAgICAgIHRoZSBleHBhbnNpb24gb2NjdXJzIHdpdGhpbiBkb3VibGUgcXVvdGVzLCBpdCBleHBhbmRzIHRvIGEgIHNpbi0KKyAgICAgICAqCCogICAgICBFeHBhbmRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsIHN0YXJ0aW5nIGZyb20gIG9uZS4gICBXaGVuCisgICAgICAgICAgICAgIHRoZSAgZXhwYW5zaW9uIG9jY3VycyB3aXRoaW4gZG91YmxlIHF1b3RlcywgaXQgZXhwYW5kcyB0byBhIHNpbi0KICAgICAgICAgICAgICAgZ2xlIHdvcmQgd2l0aCB0aGUgdmFsdWUgb2YgZWFjaCBwYXJhbWV0ZXIgc2VwYXJhdGVkIGJ5IHRoZSBmaXJzdAogICAgICAgICAgICAgICBjaGFyYWN0ZXIgb2YgdGhlIEkISUYIRlMIUyBzcGVjaWFsIHZhcmlhYmxlLiAgVGhhdCBpcywgIiQIJCoIKiIgaXMgZXF1aXZhLQogICAgICAgICAgICAgICBsZW50IHRvICIkCCQxCDFfCGMkCCQyCDJfCGMuCC4uCC4uCC4iLCB3aGVyZSBfCGMgaXMgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgdmFsdWUKLSAgICAgICAgICAgICAgb2YgdGhlIEkISUYIRlMIUyB2YXJpYWJsZS4gIElmIEkISUYIRlMIUyBpcyB1bnNldCwgdGhlIHBhcmFtZXRlcnMgYXJlICBzZXBhLQotICAgICAgICAgICAgICByYXRlZCAgYnkgIHNwYWNlcy4gICBJZiAgSQhJRghGUwhTICBpcyBudWxsLCB0aGUgcGFyYW1ldGVycyBhcmUgam9pbmVkCisgICAgICAgICAgICAgIG9mICB0aGUgSQhJRghGUwhTIHZhcmlhYmxlLiAgSWYgSQhJRghGUwhTIGlzIHVuc2V0LCB0aGUgcGFyYW1ldGVycyBhcmUgc2VwYS0KKyAgICAgICAgICAgICAgcmF0ZWQgYnkgc3BhY2VzLiAgSWYgSQhJRghGUwhTIGlzICBudWxsLCAgdGhlICBwYXJhbWV0ZXJzICBhcmUgIGpvaW5lZAogICAgICAgICAgICAgICB3aXRob3V0IGludGVydmVuaW5nIHNlcGFyYXRvcnMuCi0gICAgICAgQAhAICAgICAgRXhwYW5kcyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBzdGFydGluZyBmcm9tICBvbmUuICAgV2hlbgorICAgICAgIEAIQCAgICAgIEV4cGFuZHMgIHRvICB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBzdGFydGluZyBmcm9tIG9uZS4gIFdoZW4KICAgICAgICAgICAgICAgdGhlICBleHBhbnNpb24gIG9jY3VycyAgd2l0aGluICBkb3VibGUgIHF1b3RlcywgIGVhY2ggIHBhcmFtZXRlcgogICAgICAgICAgICAgICBleHBhbmRzIHRvIGEgc2VwYXJhdGUgd29yZC4gIFRoYXQgaXMsICIkCCRACEAiIGlzIGVxdWl2YWxlbnQgdG8gIiQIJDEIMSIKLSAgICAgICAgICAgICAgIiQIJDIIMiIgIC4uLiAgIElmIHRoZSBkb3VibGUtcXVvdGVkIGV4cGFuc2lvbiBvY2N1cnMgd2l0aGluIGEgd29yZCwKLSAgICAgICAgICAgICAgdGhlIGV4cGFuc2lvbiBvZiB0aGUgZmlyc3QgcGFyYW1ldGVyIGlzIGpvaW5lZCB3aXRoICB0aGUgIGJlZ2luLQotICAgICAgICAgICAgICBuaW5nICBwYXJ0ICBvZiAgdGhlIG9yaWdpbmFsIHdvcmQsIGFuZCB0aGUgZXhwYW5zaW9uIG9mIHRoZSBsYXN0Ci0gICAgICAgICAgICAgIHBhcmFtZXRlciBpcyBqb2luZWQgd2l0aCB0aGUgbGFzdCBwYXJ0ICBvZiAgdGhlICBvcmlnaW5hbCAgd29yZC4KLSAgICAgICAgICAgICAgV2hlbiAgdGhlcmUgIGFyZSBubyBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsICIkCCRACEAiIGFuZCAkCCRACEAgZXhwYW5kIHRvCisgICAgICAgICAgICAgICIkCCQyCDIiIC4uLiAgSWYgdGhlIGRvdWJsZS1xdW90ZWQgZXhwYW5zaW9uIG9jY3VycyB3aXRoaW4gIGEgIHdvcmQsCisgICAgICAgICAgICAgIHRoZSAgZXhwYW5zaW9uICBvZiB0aGUgZmlyc3QgcGFyYW1ldGVyIGlzIGpvaW5lZCB3aXRoIHRoZSBiZWdpbi0KKyAgICAgICAgICAgICAgbmluZyBwYXJ0IG9mIHRoZSBvcmlnaW5hbCB3b3JkLCBhbmQgdGhlIGV4cGFuc2lvbiAgb2YgIHRoZSAgbGFzdAorICAgICAgICAgICAgICBwYXJhbWV0ZXIgIGlzICBqb2luZWQgIHdpdGggIHRoZSBsYXN0IHBhcnQgb2YgdGhlIG9yaWdpbmFsIHdvcmQuCisgICAgICAgICAgICAgIFdoZW4gdGhlcmUgYXJlIG5vIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgIiQIJEAIQCIgYW5kICQIJEAIQCAgZXhwYW5kICB0bwogICAgICAgICAgICAgICBub3RoaW5nIChpLmUuLCB0aGV5IGFyZSByZW1vdmVkKS4KICAgICAgICAjCCMgICAgICBFeHBhbmRzIHRvIHRoZSBudW1iZXIgb2YgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGluIGRlY2ltYWwuCi0gICAgICAgPwg/ICAgICAgRXhwYW5kcyB0byB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlIG1vc3QgcmVjZW50bHkgIGV4ZWN1dGVkICBmb3JlLQorICAgICAgID8IPyAgICAgIEV4cGFuZHMgIHRvICB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlIG1vc3QgcmVjZW50bHkgZXhlY3V0ZWQgZm9yZS0KICAgICAgICAgICAgICAgZ3JvdW5kIHBpcGVsaW5lLgotICAgICAgIC0ILSAgICAgIEV4cGFuZHMgIHRvICB0aGUgIGN1cnJlbnQgb3B0aW9uIGZsYWdzIGFzIHNwZWNpZmllZCB1cG9uIGludm9jYS0KLSAgICAgICAgICAgICAgdGlvbiwgYnkgdGhlIHMIc2UIZXQIdCBidWlsdGluIGNvbW1hbmQsIG9yICB0aG9zZSAgc2V0ICBieSAgdGhlICBzaGVsbAorICAgICAgIC0ILSAgICAgIEV4cGFuZHMgdG8gdGhlIGN1cnJlbnQgb3B0aW9uIGZsYWdzIGFzICBzcGVjaWZpZWQgIHVwb24gIGludm9jYS0KKyAgICAgICAgICAgICAgdGlvbiwgIGJ5ICB0aGUgIHMIc2UIZXQIdCAgYnVpbHRpbiAgY29tbWFuZCwgb3IgdGhvc2Ugc2V0IGJ5IHRoZSBzaGVsbAogICAgICAgICAgICAgICBpdHNlbGYgKHN1Y2ggYXMgdGhlIC0ILWkIaSBvcHRpb24pLgotICAgICAgICQIJCAgICAgIEV4cGFuZHMgIHRvICB0aGUgIHByb2Nlc3MgSUQgb2YgdGhlIHNoZWxsLiAgSW4gYSAoKSBzdWJzaGVsbCwgaXQKLSAgICAgICAgICAgICAgZXhwYW5kcyB0byB0aGUgcHJvY2VzcyBJRCBvZiB0aGUgY3VycmVudCAgc2hlbGwsICBub3QgIHRoZSAgc3ViLQorICAgICAgICQIJCAgICAgIEV4cGFuZHMgdG8gdGhlIHByb2Nlc3MgSUQgb2YgdGhlIHNoZWxsLiAgSW4gYSAgKCkgIHN1YnNoZWxsLCAgaXQKKyAgICAgICAgICAgICAgZXhwYW5kcyAgdG8gIHRoZSAgcHJvY2VzcyAgSUQgb2YgdGhlIGN1cnJlbnQgc2hlbGwsIG5vdCB0aGUgc3ViLQogICAgICAgICAgICAgICBzaGVsbC4KLSAgICAgICAhCCEgICAgICBFeHBhbmRzICB0byAgdGhlICBwcm9jZXNzIElEIG9mIHRoZSBtb3N0IHJlY2VudGx5IGV4ZWN1dGVkIGJhY2stCisgICAgICAgIQghICAgICAgRXhwYW5kcyB0byB0aGUgcHJvY2VzcyBJRCBvZiB0aGUgbW9zdCAgcmVjZW50bHkgIGV4ZWN1dGVkICBiYWNrLQogICAgICAgICAgICAgICBncm91bmQgKGFzeW5jaHJvbm91cykgY29tbWFuZC4KLSAgICAgICAwCDAgICAgICBFeHBhbmRzIHRvIHRoZSBuYW1lIG9mIHRoZSBzaGVsbCBvciBzaGVsbCBzY3JpcHQuICBUaGlzICBpcyAgc2V0CisgICAgICAgMAgwICAgICAgRXhwYW5kcyAgdG8gIHRoZSBuYW1lIG9mIHRoZSBzaGVsbCBvciBzaGVsbCBzY3JpcHQuICBUaGlzIGlzIHNldAogICAgICAgICAgICAgICBhdCBzaGVsbCBpbml0aWFsaXphdGlvbi4gIElmIGIIYmEIYXMIc2gIaCBpcyBpbnZva2VkIHdpdGggYSBmaWxlIG9mIGNvbS0KLSAgICAgICAgICAgICAgbWFuZHMsICQIJDAIMCBpcyBzZXQgdG8gdGhlIG5hbWUgb2YgdGhhdCBmaWxlLiAgSWYgYghiYQhhcwhzaAhoICBpcyAgc3RhcnRlZAotICAgICAgICAgICAgICB3aXRoICB0aGUgIC0ILWMIYyBvcHRpb24sIHRoZW4gJAgkMAgwIGlzIHNldCB0byB0aGUgZmlyc3QgYXJndW1lbnQgYWZ0ZXIKLSAgICAgICAgICAgICAgdGhlIHN0cmluZyB0byBiZSBleGVjdXRlZCwgaWYgb25lIGlzIHByZXNlbnQuICBPdGhlcndpc2UsIGl0ICBpcwotICAgICAgICAgICAgICBzZXQgIHRvICB0aGUgZmlsZSBuYW1lIHVzZWQgdG8gaW52b2tlIGIIYmEIYXMIc2gIaCwgYXMgZ2l2ZW4gYnkgYXJndW1lbnQKKyAgICAgICAgICAgICAgbWFuZHMsICAkCCQwCDAgIGlzIHNldCB0byB0aGUgbmFtZSBvZiB0aGF0IGZpbGUuICBJZiBiCGJhCGFzCHNoCGggaXMgc3RhcnRlZAorICAgICAgICAgICAgICB3aXRoIHRoZSAtCC1jCGMgb3B0aW9uLCB0aGVuICQIJDAIMCBpcyBzZXQgdG8gdGhlIGZpcnN0ICBhcmd1bWVudCAgYWZ0ZXIKKyAgICAgICAgICAgICAgdGhlICBzdHJpbmcgdG8gYmUgZXhlY3V0ZWQsIGlmIG9uZSBpcyBwcmVzZW50LiAgT3RoZXJ3aXNlLCBpdCBpcworICAgICAgICAgICAgICBzZXQgdG8gdGhlIGZpbGUgbmFtZSB1c2VkIHRvIGludm9rZSBiCGJhCGFzCHNoCGgsIGFzIGdpdmVuICBieSAgYXJndW1lbnQKICAgICAgICAgICAgICAgemVyby4KLSAgICAgICBfCF8gICAgICBBdCBzaGVsbCBzdGFydHVwLCBzZXQgdG8gdGhlIGFic29sdXRlIHBhdGhuYW1lICB1c2VkICB0byAgaW52b2tlCi0gICAgICAgICAgICAgIHRoZSAgc2hlbGwgb3Igc2hlbGwgc2NyaXB0IGJlaW5nIGV4ZWN1dGVkIGFzIHBhc3NlZCBpbiB0aGUgZW52aS0KLSAgICAgICAgICAgICAgcm9ubWVudCBvciBhcmd1bWVudCBsaXN0LiAgU3Vic2VxdWVudGx5LCAgZXhwYW5kcyAgdG8gIHRoZSAgbGFzdAotICAgICAgICAgICAgICBhcmd1bWVudCAgdG8gdGhlIHByZXZpb3VzIGNvbW1hbmQsIGFmdGVyIGV4cGFuc2lvbi4gIEFsc28gc2V0IHRvCi0gICAgICAgICAgICAgIHRoZSBmdWxsIHBhdGhuYW1lIHVzZWQgIHRvICBpbnZva2UgIGVhY2ggIGNvbW1hbmQgIGV4ZWN1dGVkICBhbmQKKyAgICAgICBfCF8gICAgICBBdCAgc2hlbGwgIHN0YXJ0dXAsICBzZXQgdG8gdGhlIGFic29sdXRlIHBhdGhuYW1lIHVzZWQgdG8gaW52b2tlCisgICAgICAgICAgICAgIHRoZSBzaGVsbCBvciBzaGVsbCBzY3JpcHQgYmVpbmcgZXhlY3V0ZWQgYXMgcGFzc2VkIGluIHRoZSAgZW52aS0KKyAgICAgICAgICAgICAgcm9ubWVudCAgb3IgIGFyZ3VtZW50ICBsaXN0LiAgIFN1YnNlcXVlbnRseSwgZXhwYW5kcyB0byB0aGUgbGFzdAorICAgICAgICAgICAgICBhcmd1bWVudCB0byB0aGUgcHJldmlvdXMgY29tbWFuZCwgYWZ0ZXIgZXhwYW5zaW9uLiAgQWxzbyBzZXQgIHRvCisgICAgICAgICAgICAgIHRoZSAgZnVsbCAgcGF0aG5hbWUgIHVzZWQgIHRvICBpbnZva2UgIGVhY2ggY29tbWFuZCBleGVjdXRlZCBhbmQKICAgICAgICAgICAgICAgcGxhY2VkIGluIHRoZSBlbnZpcm9ubWVudCBleHBvcnRlZCB0byB0aGF0IGNvbW1hbmQuICBXaGVuIGNoZWNrLQotICAgICAgICAgICAgICBpbmcgbWFpbCwgdGhpcyBwYXJhbWV0ZXIgaG9sZHMgdGhlIG5hbWUgb2YgdGhlICBtYWlsICBmaWxlICBjdXItCisgICAgICAgICAgICAgIGluZyAgbWFpbCwgIHRoaXMgIHBhcmFtZXRlciBob2xkcyB0aGUgbmFtZSBvZiB0aGUgbWFpbCBmaWxlIGN1ci0KICAgICAgICAgICAgICAgcmVudGx5IGJlaW5nIGNoZWNrZWQuCiAKICAgIFMIU2gIaGUIZWwIbGwIbCBWCFZhCGFyCHJpCGlhCGFiCGJsCGxlCGVzCHMKICAgICAgICBUaGUgZm9sbG93aW5nIHZhcmlhYmxlcyBhcmUgc2V0IGJ5IHRoZSBzaGVsbDoKIAotICAgICAgIEIIQkEIQVMIU0gISCAgIEV4cGFuZHMgIHRvICB0aGUgIGZ1bGwgZmlsZSBuYW1lIHVzZWQgdG8gaW52b2tlIHRoaXMgaW5zdGFuY2Ugb2YKKyAgICAgICBCCEJBCEFTCFNICEggICBFeHBhbmRzIHRvIHRoZSBmdWxsIGZpbGUgbmFtZSB1c2VkIHRvIGludm9rZSAgdGhpcyAgaW5zdGFuY2UgIG9mCiAgICAgICAgICAgICAgIGIIYmEIYXMIc2gIaC4KICAgICAgICBCCEJBCEFTCFNICEhPCE9QCFBUCFRTCFMKLSAgICAgICAgICAgICAgQSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBlbmFibGVkIHNoZWxsIG9wdGlvbnMuICBFYWNoICB3b3JkICBpbgotICAgICAgICAgICAgICB0aGUgIGxpc3QgIGlzICBhICB2YWxpZCAgYXJndW1lbnQgZm9yIHRoZSAtCC1zCHMgb3B0aW9uIHRvIHRoZSBzCHNoCGhvCG9wCHB0CHQKKyAgICAgICAgICAgICAgQSAgY29sb24tc2VwYXJhdGVkICBsaXN0IG9mIGVuYWJsZWQgc2hlbGwgb3B0aW9ucy4gIEVhY2ggd29yZCBpbgorICAgICAgICAgICAgICB0aGUgbGlzdCBpcyBhIHZhbGlkIGFyZ3VtZW50IGZvciB0aGUgIC0ILXMIcyAgb3B0aW9uICB0byAgdGhlICBzCHNoCGhvCG9wCHB0CHQKICAgICAgICAgICAgICAgYnVpbHRpbiBjb21tYW5kIChzZWUgUwhTSAhIRQhFTAhMTAhMIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpLiAgVGhlIG9wdGlvbnMKLSAgICAgICAgICAgICAgYXBwZWFyaW5nICBpbiAgQghCQQhBUwhTSAhITwhPUAhQVAhUUwhTICBhcmUgIHRob3NlIHJlcG9ydGVkIGFzIF8Ib18IbiBieSBzCHNoCGhvCG9wCHB0CHQuICBJZgotICAgICAgICAgICAgICB0aGlzIHZhcmlhYmxlIGlzIGluIHRoZSBlbnZpcm9ubWVudCB3aGVuIGIIYmEIYXMIc2gIaCAgc3RhcnRzICB1cCwgIGVhY2gKLSAgICAgICAgICAgICAgc2hlbGwgIG9wdGlvbiAgaW4gIHRoZSAgbGlzdCAgd2lsbCBiZSBlbmFibGVkIGJlZm9yZSByZWFkaW5nIGFueQorICAgICAgICAgICAgICBhcHBlYXJpbmcgaW4gQghCQQhBUwhTSAhITwhPUAhQVAhUUwhTIGFyZSB0aG9zZSByZXBvcnRlZCBhcyAgXwhvXwhuICBieSAgcwhzaAhobwhvcAhwdAh0LiAgIElmCisgICAgICAgICAgICAgIHRoaXMgIHZhcmlhYmxlICBpcyAgaW4gdGhlIGVudmlyb25tZW50IHdoZW4gYghiYQhhcwhzaAhoIHN0YXJ0cyB1cCwgZWFjaAorICAgICAgICAgICAgICBzaGVsbCBvcHRpb24gaW4gdGhlIGxpc3Qgd2lsbCAgYmUgIGVuYWJsZWQgIGJlZm9yZSAgcmVhZGluZyAgYW55CiAgICAgICAgICAgICAgIHN0YXJ0dXAgZmlsZXMuICBUaGlzIHZhcmlhYmxlIGlzIHJlYWQtb25seS4KICAgICAgICBCCEJBCEFTCFNICEhQCFBJCElECEQKLSAgICAgICAgICAgICAgRXhwYW5kcyB0byB0aGUgcHJvY2VzcyBpZCBvZiB0aGUgIGN1cnJlbnQgIGIIYmEIYXMIc2gIaCAgcHJvY2Vzcy4gICBUaGlzCi0gICAgICAgICAgICAgIGRpZmZlcnMgIGZyb20gICQIJCQIJCB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMsIHN1Y2ggYXMgc3Vic2hlbGxzCisgICAgICAgICAgICAgIEV4cGFuZHMgIHRvICB0aGUgIHByb2Nlc3MgIElEIG9mIHRoZSBjdXJyZW50IGIIYmEIYXMIc2gIaCBwcm9jZXNzLiAgVGhpcworICAgICAgICAgICAgICBkaWZmZXJzIGZyb20gJAgkJAgkIHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcywgc3VjaCAgYXMgIHN1YnNoZWxscwogICAgICAgICAgICAgICB0aGF0IGRvIG5vdCByZXF1aXJlIGIIYmEIYXMIc2gIaCB0byBiZSByZS1pbml0aWFsaXplZC4KICAgICAgICBCCEJBCEFTCFNICEhfCF9BCEFMCExJCElBCEFTCFNFCEVTCFMKLSAgICAgICAgICAgICAgQW4gYXNzb2NpYXRpdmUgYXJyYXkgdmFyaWFibGUgd2hvc2UgbWVtYmVycyAgY29ycmVzcG9uZCAgdG8gIHRoZQotICAgICAgICAgICAgICBpbnRlcm5hbCBsaXN0IG9mIGFsaWFzZXMgYXMgbWFpbnRhaW5lZCBieSB0aGUgYQhhbAhsaQhpYQhhcwhzIGJ1aWx0aW4gRWxlLQotICAgICAgICAgICAgICBtZW50cyBhZGRlZCB0byB0aGlzIGFycmF5IGFwcGVhciBpbiB0aGUgIGFsaWFzICBsaXN0OyAgdW5zZXR0aW5nCi0gICAgICAgICAgICAgIGFycmF5ICBlbGVtZW50cyBjYXVzZSBhbGlhc2VzIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgYWxpYXMgbGlzdC4KKyAgICAgICAgICAgICAgQW4gIGFzc29jaWF0aXZlICBhcnJheSAgdmFyaWFibGUgd2hvc2UgbWVtYmVycyBjb3JyZXNwb25kIHRvIHRoZQorICAgICAgICAgICAgICBpbnRlcm5hbCBsaXN0IG9mIGFsaWFzZXMgYXMgbWFpbnRhaW5lZCAgYnkgIHRoZSAgYQhhbAhsaQhpYQhhcwhzICBidWlsdGluLgorICAgICAgICAgICAgICBFbGVtZW50cyBhZGRlZCB0byB0aGlzIGFycmF5IGFwcGVhciBpbiB0aGUgYWxpYXMgbGlzdDsgdW5zZXR0aW5nCisgICAgICAgICAgICAgIGFycmF5IGVsZW1lbnRzIGNhdXNlIGFsaWFzZXMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBhbGlhcyAgbGlzdC4KICAgICAgICBCCEJBCEFTCFNICEhfCF9BCEFSCFJHCEdDCEMKLSAgICAgICAgICAgICAgQW4gYXJyYXkgdmFyaWFibGUgd2hvc2UgdmFsdWVzIGFyZSB0aGUgbnVtYmVyIG9mICBwYXJhbWV0ZXJzICBpbgorICAgICAgICAgICAgICBBbiAgYXJyYXkgIHZhcmlhYmxlIHdob3NlIHZhbHVlcyBhcmUgdGhlIG51bWJlciBvZiBwYXJhbWV0ZXJzIGluCiAgICAgICAgICAgICAgIGVhY2ggZnJhbWUgb2YgdGhlIGN1cnJlbnQgYghiYQhhcwhzaAhoIGV4ZWN1dGlvbiBjYWxsIHN0YWNrLiAgVGhlIG51bWJlcgotICAgICAgICAgICAgICBvZiBwYXJhbWV0ZXJzIHRvICB0aGUgIGN1cnJlbnQgIHN1YnJvdXRpbmUgIChzaGVsbCAgZnVuY3Rpb24gIG9yCi0gICAgICAgICAgICAgIHNjcmlwdCAgZXhlY3V0ZWQgIHdpdGggIC4ILiBvciBzCHNvCG91CHVyCHJjCGNlCGUpIGlzIGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrLgotICAgICAgICAgICAgICBXaGVuIGEgc3Vicm91dGluZSBpcyBleGVjdXRlZCwgdGhlIG51bWJlciBvZiAgcGFyYW1ldGVycyAgcGFzc2VkCisgICAgICAgICAgICAgIG9mICBwYXJhbWV0ZXJzICB0byAgdGhlICBjdXJyZW50ICBzdWJyb3V0aW5lICAoc2hlbGwgZnVuY3Rpb24gb3IKKyAgICAgICAgICAgICAgc2NyaXB0IGV4ZWN1dGVkIHdpdGggLgguIG9yIHMIc28Ib3UIdXIIcmMIY2UIZSkgaXMgYXQgdGhlIHRvcCAgb2YgIHRoZSAgc3RhY2suCisgICAgICAgICAgICAgIFdoZW4gIGEgIHN1YnJvdXRpbmUgaXMgZXhlY3V0ZWQsIHRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyBwYXNzZWQKICAgICAgICAgICAgICAgaXMgcHVzaGVkIG9udG8gQghCQQhBUwhTSAhIXwhfQQhBUghSRwhHQwhDLiAgVGhlIHNoZWxsIHNldHMgQghCQQhBUwhTSAhIXwhfQQhBUghSRwhHQwhDIG9ubHkgd2hlbiBpbgotICAgICAgICAgICAgICBleHRlbmRlZCBkZWJ1Z2dpbmcgbW9kZSAoc2VlIHRoZSAgZGVzY3JpcHRpb24gIG9mICB0aGUgIGUIZXgIeHQIdGQIZGUIZWIIYnUIdWcIZworICAgICAgICAgICAgICBleHRlbmRlZCAgZGVidWdnaW5nICBtb2RlICAoc2VlICB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIGUIZXgIeHQIdGQIZGUIZWIIYnUIdWcIZwogICAgICAgICAgICAgICBvcHRpb24gdG8gdGhlIHMIc2gIaG8Ib3AIcHQIdCBidWlsdGluIGJlbG93KQogICAgICAgIEIIQkEIQVMIU0gISF8IX0EIQVIIUkcIR1YIVgotICAgICAgICAgICAgICBBbiAgYXJyYXkgIHZhcmlhYmxlIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBwYXJhbWV0ZXJzIGluIHRoZSBjdXItCisgICAgICAgICAgICAgIEFuIGFycmF5IHZhcmlhYmxlIGNvbnRhaW5pbmcgYWxsIG9mIHRoZSBwYXJhbWV0ZXJzIGluICB0aGUgIGN1ci0KICAgICAgICAgICAgICAgcmVudCBiCGJhCGFzCHNoCGggZXhlY3V0aW9uIGNhbGwgc3RhY2suICBUaGUgZmluYWwgcGFyYW1ldGVyIG9mIHRoZSBsYXN0Ci0gICAgICAgICAgICAgIHN1YnJvdXRpbmUgIGNhbGwgaXMgYXQgdGhlIHRvcCBvZiB0aGUgc3RhY2s7IHRoZSBmaXJzdCBwYXJhbWV0ZXIKKyAgICAgICAgICAgICAgc3Vicm91dGluZSBjYWxsIGlzIGF0IHRoZSB0b3Agb2YgdGhlIHN0YWNrOyB0aGUgZmlyc3QgIHBhcmFtZXRlcgogICAgICAgICAgICAgICBvZiB0aGUgaW5pdGlhbCBjYWxsIGlzIGF0IHRoZSBib3R0b20uICBXaGVuIGEgc3Vicm91dGluZSBpcyBleGUtCi0gICAgICAgICAgICAgIGN1dGVkLCAgdGhlICBwYXJhbWV0ZXJzIHN1cHBsaWVkIGFyZSBwdXNoZWQgb250byBCCEJBCEFTCFNICEhfCF9BCEFSCFJHCEdWCFYuICBUaGUKLSAgICAgICAgICAgICAgc2hlbGwgc2V0cyBCCEJBCEFTCFNICEhfCF9BCEFSCFJHCEdWCFYgb25seSB3aGVuIGluIGV4dGVuZGVkIGRlYnVnZ2luZyAgbW9kZSAgKHNlZQotICAgICAgICAgICAgICB0aGUgIGRlc2NyaXB0aW9uICBvZiAgdGhlICBlCGV4CHh0CHRkCGRlCGViCGJ1CHVnCGcgIG9wdGlvbiB0byB0aGUgcwhzaAhobwhvcAhwdAh0IGJ1aWx0aW4KKyAgICAgICAgICAgICAgY3V0ZWQsIHRoZSBwYXJhbWV0ZXJzIHN1cHBsaWVkIGFyZSBwdXNoZWQgb250byAgQghCQQhBUwhTSAhIXwhfQQhBUghSRwhHVghWLiAgIFRoZQorICAgICAgICAgICAgICBzaGVsbCAgc2V0cyAgQghCQQhBUwhTSAhIXwhfQQhBUghSRwhHVghWIG9ubHkgd2hlbiBpbiBleHRlbmRlZCBkZWJ1Z2dpbmcgbW9kZSAoc2VlCisgICAgICAgICAgICAgIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZQhleAh4dAh0ZAhkZQhlYghidQh1ZwhnICBvcHRpb24gIHRvICB0aGUgIHMIc2gIaG8Ib3AIcHQIdCAgYnVpbHRpbgogICAgICAgICAgICAgICBiZWxvdykKICAgICAgICBCCEJBCEFTCFNICEhfCF9DCENNCE1ECERTCFMKLSAgICAgICAgICAgICAgQW4gYXNzb2NpYXRpdmUgYXJyYXkgdmFyaWFibGUgd2hvc2UgbWVtYmVycyAgY29ycmVzcG9uZCAgdG8gIHRoZQotICAgICAgICAgICAgICBpbnRlcm5hbCAgaGFzaCAgdGFibGUgIG9mICBjb21tYW5kcyAgYXMgIG1haW50YWluZWQgIGJ5IHRoZSBoCGhhCGFzCHNoCGgKKyAgICAgICAgICAgICAgQW4gIGFzc29jaWF0aXZlICBhcnJheSAgdmFyaWFibGUgd2hvc2UgbWVtYmVycyBjb3JyZXNwb25kIHRvIHRoZQorICAgICAgICAgICAgICBpbnRlcm5hbCBoYXNoIHRhYmxlICBvZiAgY29tbWFuZHMgIGFzICBtYWludGFpbmVkICBieSAgdGhlICBoCGhhCGFzCHNoCGgKICAgICAgICAgICAgICAgYnVpbHRpbi4gIEVsZW1lbnRzIGFkZGVkIHRvIHRoaXMgYXJyYXkgYXBwZWFyIGluIHRoZSBoYXNoIHRhYmxlOwotICAgICAgICAgICAgICB1bnNldHRpbmcgIGFycmF5ICBlbGVtZW50cyBjYXVzZSBjb21tYW5kcyB0byBiZSByZW1vdmVkIGZyb20gdGhlCisgICAgICAgICAgICAgIHVuc2V0dGluZyBhcnJheSBlbGVtZW50cyBjYXVzZSBjb21tYW5kcyB0byBiZSByZW1vdmVkICBmcm9tICB0aGUKICAgICAgICAgICAgICAgaGFzaCB0YWJsZS4KICAgICAgICBCCEJBCEFTCFNICEhfCF9DCENPCE9NCE1NCE1BCEFOCE5ECEQKLSAgICAgICAgICAgICAgVGhlIGNvbW1hbmQgY3VycmVudGx5IGJlaW5nIGV4ZWN1dGVkIG9yIGFib3V0ICB0byAgYmUgIGV4ZWN1dGVkLAorICAgICAgICAgICAgICBUaGUgIGNvbW1hbmQgIGN1cnJlbnRseSAgYmVpbmcgZXhlY3V0ZWQgb3IgYWJvdXQgdG8gYmUgZXhlY3V0ZWQsCiAgICAgICAgICAgICAgIHVubGVzcyB0aGUgc2hlbGwgaXMgZXhlY3V0aW5nIGEgY29tbWFuZCBhcyB0aGUgcmVzdWx0IG9mIGEgdHJhcCwKLSAgICAgICAgICAgICAgaW4gd2hpY2ggY2FzZSBpdCBpcyB0aGUgY29tbWFuZCBleGVjdXRpbmcgYXQgIHRoZSAgdGltZSAgb2YgIHRoZQorICAgICAgICAgICAgICBpbiAgd2hpY2ggIGNhc2UgIGl0ICBpcyB0aGUgY29tbWFuZCBleGVjdXRpbmcgYXQgdGhlIHRpbWUgb2YgdGhlCiAgICAgICAgICAgICAgIHRyYXAuCiAgICAgICAgQghCQQhBUwhTSAhIXwhfRQhFWAhYRQhFQwhDVQhVVAhUSQhJTwhPTghOXwhfUwhTVAhUUghSSQhJTghORwhHCiAgICAgICAgICAgICAgIFRoZSBjb21tYW5kIGFyZ3VtZW50IHRvIHRoZSAtCC1jCGMgaW52b2NhdGlvbiBvcHRpb24uCiAgICAgICAgQghCQQhBUwhTSAhIXwhfTAhMSQhJTghORQhFTghOTwhPCi0gICAgICAgICAgICAgIEFuICBhcnJheSAgdmFyaWFibGUgd2hvc2UgbWVtYmVycyBhcmUgdGhlIGxpbmUgbnVtYmVycyBpbiBzb3VyY2UKLSAgICAgICAgICAgICAgZmlsZXMgICBjb3JyZXNwb25kaW5nICAgIHRvICAgIGVhY2ggICAgbWVtYmVyICAgIG9mICAgIEYIRlUIVU4ITkMIQ04ITkEIQU0ITUUIRS4KLSAgICAgICAgICAgICAgJAgkewh7QghCQQhBUwhTSAhIXwhfTAhMSQhJTghORQhFTghOTwhPWwhbXwgkXwhpXQhdfQh9ICBpcyAgdGhlIGxpbmUgbnVtYmVyIGluIHRoZSBzb3VyY2UgZmlsZSB3aGVyZQotICAgICAgICAgICAgICAkCCR7CHtGCEZVCFVOCE5DCENOCE5BCEFNCE1FCEVbCFtfCCRfCGldCF19CH0gd2FzIGNhbGxlZCAob3IgICQIJHsIe0IIQkEIQVMIU0gISF8IX0wITEkISU4ITkUIRU4ITk8IT1sIW18IJF8IaV8ILV8IMV0IXX0IfSAgaWYgIHJlZmVyLQotICAgICAgICAgICAgICBlbmNlZCAgd2l0aGluIGFub3RoZXIgc2hlbGwgZnVuY3Rpb24pLiAgVGhlIGNvcnJlc3BvbmRpbmcgc291cmNlCi0gICAgICAgICAgICAgIGZpbGUgbmFtZSBpcyAkCCR7CHtCCEJBCEFTCFNICEhfCF9TCFNPCE9VCFVSCFJDCENFCEVbCFtfCCRfCGldCF19CH0uICBVc2UgTAhMSQhJTghORQhFTghOTwhPIHRvIG9idGFpbiB0aGUgIGN1ci0KLSAgICAgICAgICAgICAgcmVudCBsaW5lIG51bWJlci4KKyAgICAgICAgICAgICAgQW4gYXJyYXkgdmFyaWFibGUgd2hvc2UgbWVtYmVycyBhcmUgdGhlIGxpbmUgbnVtYmVycyAgaW4gIHNvdXJjZQorICAgICAgICAgICAgICBmaWxlcyAgd2hlcmUgIGVhY2ggY29ycmVzcG9uZGluZyBtZW1iZXIgb2YgRghGVQhVTghOQwhDTghOQQhBTQhNRQhFIHdhcyBpbnZva2VkLgorICAgICAgICAgICAgICAkCCR7CHtCCEJBCEFTCFNICEhfCF9MCExJCElOCE5FCEVOCE5PCE9bCFtfCCRfCGldCF19CH0gIGlzICB0aGUgIGxpbmUgIG51bWJlciAgaW4gIHRoZSAgc291cmNlICBmaWxlCisgICAgICAgICAgICAgICgkCCR7CHtCCEJBCEFTCFNICEhfCF9TCFNPCE9VCFVSCFJDCENFCEVbCFtfCCRfCGlfCCtfCDFdCF19CH0pICB3aGVyZSAgJAgkewh7RghGVQhVTghOQwhDTghOQQhBTQhNRQhFWwhbXwgkXwhpXQhdfQh9ICB3YXMgIGNhbGxlZCAgKG9yCisgICAgICAgICAgICAgICQIJHsIe0IIQkEIQVMIU0gISF8IX0wITEkISU4ITkUIRU4ITk8IT1sIW18IJF8IaV8ILV8IMV0IXX0IfSBpZiByZWZlcmVuY2VkIHdpdGhpbiAgYW5vdGhlciAgc2hlbGwgIGZ1bmMtCisgICAgICAgICAgICAgIHRpb24pLiAgVXNlIEwITEkISU4ITkUIRU4ITk8ITyB0byBvYnRhaW4gdGhlIGN1cnJlbnQgbGluZSBudW1iZXIuCiAgICAgICAgQghCQQhBUwhTSAhIXwhfUghSRQhFTQhNQQhBVAhUQwhDSAhICiAgICAgICAgICAgICAgIEFuICBhcnJheSAgdmFyaWFibGUgIHdob3NlIG1lbWJlcnMgYXJlIGFzc2lnbmVkIGJ5IHRoZSA9CD1+CH4gYmluYXJ5CiAgICAgICAgICAgICAgIG9wZXJhdG9yIHRvIHRoZSBbCFtbCFsgY29uZGl0aW9uYWwgY29tbWFuZC4gIFRoZSBlbGVtZW50IHdpdGggIGluZGV4CkBAIC03NjIsMzAgKzc3NCwzMyBAQAogICAgICAgICAgICAgICBzdHJpbmcgbWF0Y2hpbmcgdGhlIF8IbnRoIHBhcmVudGhlc2l6ZWQgc3ViZXhwcmVzc2lvbi4gIFRoaXMgdmFyaS0KICAgICAgICAgICAgICAgYWJsZSBpcyByZWFkLW9ubHkuCiAgICAgICAgQghCQQhBUwhTSAhIXwhfUwhTTwhPVQhVUghSQwhDRQhFCi0gICAgICAgICAgICAgIEFuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBzb3VyY2UgZmlsZW5hbWVzICBjb3JyZS0KLSAgICAgICAgICAgICAgc3BvbmRpbmcgdG8gdGhlIGVsZW1lbnRzIGluIHRoZSBGCEZVCFVOCE5DCENOCE5BCEFNCE1FCEUgYXJyYXkgdmFyaWFibGUuCisgICAgICAgICAgICAgIEFuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBzb3VyY2UgIGZpbGVuYW1lcyAgd2hlcmUKKyAgICAgICAgICAgICAgdGhlICBjb3JyZXNwb25kaW5nICBzaGVsbCAgZnVuY3Rpb24gIG5hbWVzIGluIHRoZSBGCEZVCFVOCE5DCENOCE5BCEFNCE1FCEUgYXJyYXkKKyAgICAgICAgICAgICAgdmFyaWFibGUgYXJlIGRlZmluZWQuICBUaGUgIHNoZWxsICBmdW5jdGlvbiAgJAgkewh7RghGVQhVTghOQwhDTghOQQhBTQhNRQhFWwhbXwgkXwhpXQhdfQh9ICBpcworICAgICAgICAgICAgICBkZWZpbmVkICAgaW4gICB0aGUgICBmaWxlICAkCCR7CHtCCEJBCEFTCFNICEhfCF9TCFNPCE9VCFVSCFJDCENFCEVbCFtfCCRfCGldCF19CH0gIGFuZCAgY2FsbGVkICBmcm9tCisgICAgICAgICAgICAgICQIJHsIe0IIQkEIQVMIU0gISF8IX1MIU08IT1UIVVIIUkMIQ0UIRVsIW18IJF8IaV8IK18IMV0IXX0IfS4KICAgICAgICBCCEJBCEFTCFNICEhfCF9TCFNVCFVCCEJTCFNICEhFCEVMCExMCEwKLSAgICAgICAgICAgICAgSW5jcmVtZW50ZWQgIGJ5IG9uZSBlYWNoIHRpbWUgYSBzdWJzaGVsbCBvciBzdWJzaGVsbCBlbnZpcm9ubWVudAorICAgICAgICAgICAgICBJbmNyZW1lbnRlZCBieSBvbmUgZWFjaCB0aW1lIGEgc3Vic2hlbGwgb3Igc3Vic2hlbGwgIGVudmlyb25tZW50CiAgICAgICAgICAgICAgIGlzIHNwYXduZWQuICBUaGUgaW5pdGlhbCB2YWx1ZSBpcyAwLgogICAgICAgIEIIQkEIQVMIU0gISF8IX1YIVkUIRVIIUlMIU0kISU4ITkYIRk8ITwogICAgICAgICAgICAgICBBIHJlYWRvbmx5IGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgaG9sZCB2ZXJzaW9uIGluZm9ybWF0aW9uCi0gICAgICAgICAgICAgIGZvciAgdGhpcyAgaW5zdGFuY2UgIG9mICBiCGJhCGFzCHNoCGguICBUaGUgdmFsdWVzIGFzc2lnbmVkIHRvIHRoZSBhcnJheQorICAgICAgICAgICAgICBmb3IgdGhpcyBpbnN0YW5jZSBvZiBiCGJhCGFzCHNoCGguICBUaGUgdmFsdWVzICBhc3NpZ25lZCAgdG8gIHRoZSAgYXJyYXkKICAgICAgICAgICAgICAgbWVtYmVycyBhcmUgYXMgZm9sbG93czoKLSAgICAgICAgICAgICAgQghCQQhBUwhTSAhIXwhfVghWRQhFUghSUwhTSQhJTghORghGTwhPWwhbMF0IXSAgICAgICAgVGhlIG1ham9yIHZlcnNpb24gbnVtYmVyICh0aGUgIF8Icl8IZV8IbF8IZV8IYV8Ic18IZSkuCi0gICAgICAgICAgICAgIEIIQkEIQVMIU0gISF8IX1YIVkUIRVIIUlMIU0kISU4ITkYIRk8IT1sIWzFdCF0gICAgICAgIFRoZSAgbWlub3IgdmVyc2lvbiBudW1iZXIgKHRoZSBfCHZfCGVfCHJfCHNfCGlfCG9fCG4pLgorICAgICAgICAgICAgICBCCEJBCEFTCFNICEhfCF9WCFZFCEVSCFJTCFNJCElOCE5GCEZPCE9bCFswXQhdICAgICAgICBUaGUgIG1ham9yIHZlcnNpb24gbnVtYmVyICh0aGUgXwhyXwhlXwhsXwhlXwhhXwhzXwhlKS4KKyAgICAgICAgICAgICAgQghCQQhBUwhTSAhIXwhfVghWRQhFUghSUwhTSQhJTghORghGTwhPWwhbMV0IXSAgICAgICAgVGhlIG1pbm9yIHZlcnNpb24gbnVtYmVyICh0aGUgIF8Idl8IZV8Icl8Ic18IaV8Ib18IbikuCiAgICAgICAgICAgICAgIEIIQkEIQVMIU0gISF8IX1YIVkUIRVIIUlMIU0kISU4ITkYIRk8IT1sIWzJdCF0gICAgICAgIFRoZSBwYXRjaCBsZXZlbC4KICAgICAgICAgICAgICAgQghCQQhBUwhTSAhIXwhfVghWRQhFUghSUwhTSQhJTghORghGTwhPWwhbM10IXSAgICAgICAgVGhlIGJ1aWxkIHZlcnNpb24uCiAgICAgICAgICAgICAgIEIIQkEIQVMIU0gISF8IX1YIVkUIRVIIUlMIU0kISU4ITkYIRk8IT1sIWzRdCF0gICAgICAgIFRoZSByZWxlYXNlIHN0YXR1cyAoZS5nLiwgXwhiXwhlXwh0XwhhXwgxKS4KICAgICAgICAgICAgICAgQghCQQhBUwhTSAhIXwhfVghWRQhFUghSUwhTSQhJTghORghGTwhPWwhbNV0IXSAgICAgICAgVGhlIHZhbHVlIG9mIE0ITUEIQUMIQ0gISFQIVFkIWVAIUEUIRS4KIAogICAgICAgIEIIQkEIQVMIU0gISF8IX1YIVkUIRVIIUlMIU0kISU8IT04ITgotICAgICAgICAgICAgICBFeHBhbmRzIHRvIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIHZlcnNpb24gb2YgdGhpcyAgaW5zdGFuY2UgIG9mCisgICAgICAgICAgICAgIEV4cGFuZHMgIHRvICBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSB2ZXJzaW9uIG9mIHRoaXMgaW5zdGFuY2Ugb2YKICAgICAgICAgICAgICAgYghiYQhhcwhzaAhoLgogCiAgICAgICAgQwhDTwhPTQhNUAhQXwhfQwhDVwhXTwhPUghSRAhECi0gICAgICAgICAgICAgIEFuICBpbmRleCAgaW50byAkCCR7CHtDCENPCE9NCE1QCFBfCF9XCFdPCE9SCFJECERTCFN9CH0gb2YgdGhlIHdvcmQgY29udGFpbmluZyB0aGUgY3VycmVudAorICAgICAgICAgICAgICBBbiBpbmRleCBpbnRvICQIJHsIe0MIQ08IT00ITVAIUF8IX1cIV08IT1IIUkQIRFMIU30IfSBvZiB0aGUgd29yZCBjb250YWluaW5nICB0aGUgIGN1cnJlbnQKICAgICAgICAgICAgICAgY3Vyc29yIHBvc2l0aW9uLiAgVGhpcyB2YXJpYWJsZSBpcyBhdmFpbGFibGUgb25seSBpbiBzaGVsbCBmdW5jLQotICAgICAgICAgICAgICB0aW9ucyAgaW52b2tlZCAgYnkgIHRoZSAgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZmFjaWxpdGllcyAoc2VlCisgICAgICAgICAgICAgIHRpb25zIGludm9rZWQgYnkgdGhlICBwcm9ncmFtbWFibGUgIGNvbXBsZXRpb24gIGZhY2lsaXRpZXMgIChzZWUKICAgICAgICAgICAgICAgUAhQcghybwhvZwhncghyYQhhbQhtbQhtYQhhYghibAhsZQhlIEMIQ28Ib20IbXAIcGwIbGUIZXQIdGkIaW8Ib24IbiBiZWxvdykuCiAKICAgICAgICBDCENPCE9NCE1QCFBfCF9LCEtFCEVZCFkKQEAgLTc5Myw5OCArODA4LDExNSBAQAogICAgICAgICAgICAgICByZW50IGNvbXBsZXRpb24gZnVuY3Rpb24uCiAKICAgICAgICBDCENPCE9NCE1QCFBfCF9MCExJCElOCE5FCEUKLSAgICAgICAgICAgICAgVGhlICBjdXJyZW50ICBjb21tYW5kICBsaW5lLiAgVGhpcyB2YXJpYWJsZSBpcyBhdmFpbGFibGUgb25seSBpbgotICAgICAgICAgICAgICBzaGVsbCBmdW5jdGlvbnMgIGFuZCAgZXh0ZXJuYWwgIGNvbW1hbmRzICBpbnZva2VkICBieSAgdGhlICBwcm8tCi0gICAgICAgICAgICAgIGdyYW1tYWJsZSAgY29tcGxldGlvbiAgZmFjaWxpdGllcyAgKHNlZSAgUAhQcghybwhvZwhncghyYQhhbQhtbQhtYQhhYghibAhsZQhlIEMIQ28Ib20IbXAIcGwIbGUIZXQIdGkIaW8Ib24IbgorICAgICAgICAgICAgICBUaGUgY3VycmVudCBjb21tYW5kIGxpbmUuICBUaGlzIHZhcmlhYmxlIGlzICBhdmFpbGFibGUgIG9ubHkgIGluCisgICAgICAgICAgICAgIHNoZWxsICBmdW5jdGlvbnMgIGFuZCAgZXh0ZXJuYWwgIGNvbW1hbmRzICBpbnZva2VkICBieSAgdGhlIHByby0KKyAgICAgICAgICAgICAgZ3JhbW1hYmxlIGNvbXBsZXRpb24gIGZhY2lsaXRpZXMgIChzZWUgIFAIUHIIcm8Ib2cIZ3IIcmEIYW0IbW0IbWEIYWIIYmwIbGUIZSAgQwhDbwhvbQhtcAhwbAhsZQhldAh0aQhpbwhvbghuCiAgICAgICAgICAgICAgIGJlbG93KS4KIAogICAgICAgIEMIQ08IT00ITVAIUF8IX1AIUE8IT0kISU4ITlQIVAotICAgICAgICAgICAgICBUaGUgaW5kZXggb2YgdGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSAgYmVnaW4tCi0gICAgICAgICAgICAgIG5pbmcgIG9mIHRoZSBjdXJyZW50IGNvbW1hbmQuICBJZiB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gaXMKKyAgICAgICAgICAgICAgVGhlICBpbmRleCBvZiB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gcmVsYXRpdmUgdG8gdGhlIGJlZ2luLQorICAgICAgICAgICAgICBuaW5nIG9mIHRoZSBjdXJyZW50IGNvbW1hbmQuICBJZiB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gIGlzCiAgICAgICAgICAgICAgIGF0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgY29tbWFuZCwgdGhlIHZhbHVlIG9mIHRoaXMgdmFyaWFibGUgaXMKLSAgICAgICAgICAgICAgZXF1YWwgIHRvICAkCCR7CHsjCCNDCENPCE9NCE1QCFBfCF9MCExJCElOCE5FCEV9CH0uICAgVGhpcyAgdmFyaWFibGUgIGlzIGF2YWlsYWJsZSBvbmx5IGluCi0gICAgICAgICAgICAgIHNoZWxsIGZ1bmN0aW9ucyAgYW5kICBleHRlcm5hbCAgY29tbWFuZHMgIGludm9rZWQgIGJ5ICB0aGUgIHByby0KLSAgICAgICAgICAgICAgZ3JhbW1hYmxlICBjb21wbGV0aW9uICBmYWNpbGl0aWVzICAoc2VlICBQCFByCHJvCG9nCGdyCHJhCGFtCG1tCG1hCGFiCGJsCGxlCGUgQwhDbwhvbQhtcAhwbAhsZQhldAh0aQhpbwhvbghuCisgICAgICAgICAgICAgIGVxdWFsIHRvICQIJHsIeyMII0MIQ08IT00ITVAIUF8IX0wITEkISU4ITkUIRX0IfS4gIFRoaXMgIHZhcmlhYmxlICBpcyAgYXZhaWxhYmxlICBvbmx5ICBpbgorICAgICAgICAgICAgICBzaGVsbCAgZnVuY3Rpb25zICBhbmQgIGV4dGVybmFsICBjb21tYW5kcyAgaW52b2tlZCAgYnkgIHRoZSBwcm8tCisgICAgICAgICAgICAgIGdyYW1tYWJsZSBjb21wbGV0aW9uICBmYWNpbGl0aWVzICAoc2VlICBQCFByCHJvCG9nCGdyCHJhCGFtCG1tCG1hCGFiCGJsCGxlCGUgIEMIQ28Ib20IbXAIcGwIbGUIZXQIdGkIaW8Ib24IbgogICAgICAgICAgICAgICBiZWxvdykuCiAKICAgICAgICBDCENPCE9NCE1QCFBfCF9UCFRZCFlQCFBFCEUKLSAgICAgICAgICAgICAgU2V0IHRvIGFuIGludGVnZXIgdmFsdWUgY29ycmVzcG9uZGluZyB0byB0aGUgdHlwZSBvZiAgY29tcGxldGlvbgotICAgICAgICAgICAgICBhdHRlbXB0ZWQgIHRoYXQgIGNhdXNlZCBhIGNvbXBsZXRpb24gZnVuY3Rpb24gdG8gYmUgY2FsbGVkOiBfCFRfCEFfCEIsCi0gICAgICAgICAgICAgIGZvciBub3JtYWwgY29tcGxldGlvbiwgXwg/LCBmb3IgbGlzdGluZyBjb21wbGV0aW9ucyBhZnRlciAgc3VjY2VzLQotICAgICAgICAgICAgICBzaXZlICB0YWJzLCAgXwghLCBmb3IgbGlzdGluZyBhbHRlcm5hdGl2ZXMgb24gcGFydGlhbCB3b3JkIGNvbXBsZS0KLSAgICAgICAgICAgICAgdGlvbiwgXwhALCB0byBsaXN0IGNvbXBsZXRpb25zIGlmIHRoZSB3b3JkIGlzIG5vdCAgdW5tb2RpZmllZCwgIG9yCi0gICAgICAgICAgICAgIF8IJSwgIGZvciAgbWVudSAgY29tcGxldGlvbi4gICBUaGlzICB2YXJpYWJsZSBpcyBhdmFpbGFibGUgb25seSBpbgotICAgICAgICAgICAgICBzaGVsbCBmdW5jdGlvbnMgIGFuZCAgZXh0ZXJuYWwgIGNvbW1hbmRzICBpbnZva2VkICBieSAgdGhlICBwcm8tCi0gICAgICAgICAgICAgIGdyYW1tYWJsZSAgY29tcGxldGlvbiAgZmFjaWxpdGllcyAgKHNlZSAgUAhQcghybwhvZwhncghyYQhhbQhtbQhtYQhhYghibAhsZQhlIEMIQ28Ib20IbXAIcGwIbGUIZXQIdGkIaW8Ib24IbgorICAgICAgICAgICAgICBTZXQgIHRvIGFuIGludGVnZXIgdmFsdWUgY29ycmVzcG9uZGluZyB0byB0aGUgdHlwZSBvZiBjb21wbGV0aW9uCisgICAgICAgICAgICAgIGF0dGVtcHRlZCB0aGF0IGNhdXNlZCBhIGNvbXBsZXRpb24gZnVuY3Rpb24gdG8gYmUgIGNhbGxlZDogIF8IVF8IQV8IQiwKKyAgICAgICAgICAgICAgZm9yICBub3JtYWwgY29tcGxldGlvbiwgXwg/LCBmb3IgbGlzdGluZyBjb21wbGV0aW9ucyBhZnRlciBzdWNjZXMtCisgICAgICAgICAgICAgIHNpdmUgdGFicywgXwghLCBmb3IgbGlzdGluZyBhbHRlcm5hdGl2ZXMgb24gcGFydGlhbCAgd29yZCAgY29tcGxlLQorICAgICAgICAgICAgICB0aW9uLCAgXwhALCAgdG8gbGlzdCBjb21wbGV0aW9ucyBpZiB0aGUgd29yZCBpcyBub3QgdW5tb2RpZmllZCwgb3IKKyAgICAgICAgICAgICAgXwglLCBmb3IgbWVudSBjb21wbGV0aW9uLiAgVGhpcyAgdmFyaWFibGUgIGlzICBhdmFpbGFibGUgIG9ubHkgIGluCisgICAgICAgICAgICAgIHNoZWxsICBmdW5jdGlvbnMgIGFuZCAgZXh0ZXJuYWwgIGNvbW1hbmRzICBpbnZva2VkICBieSAgdGhlIHByby0KKyAgICAgICAgICAgICAgZ3JhbW1hYmxlIGNvbXBsZXRpb24gIGZhY2lsaXRpZXMgIChzZWUgIFAIUHIIcm8Ib2cIZ3IIcmEIYW0IbW0IbWEIYWIIYmwIbGUIZSAgQwhDbwhvbQhtcAhwbAhsZQhldAh0aQhpbwhvbghuCiAgICAgICAgICAgICAgIGJlbG93KS4KIAogICAgICAgIEMIQ08IT00ITVAIUF8IX1cIV08IT1IIUkQIREIIQlIIUkUIRUEIQUsIS1MIUwotICAgICAgICAgICAgICBUaGUgc2V0IG9mIGNoYXJhY3RlcnMgdGhhdCB0aGUgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlIGxpYnJhcnkgdHJlYXRzICBhcyAgd29yZAotICAgICAgICAgICAgICBzZXBhcmF0b3JzICB3aGVuIHBlcmZvcm1pbmcgd29yZCBjb21wbGV0aW9uLiAgSWYgQwhDTwhPTQhNUAhQXwhfVwhXTwhPUghSRAhEQghCUghSRQhFQQhBSwhLUwhTCi0gICAgICAgICAgICAgIGlzIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLCBldmVuIGlmIGl0IGlzICBzdWJzZS0KKyAgICAgICAgICAgICAgVGhlICBzZXQgIG9mIGNoYXJhY3RlcnMgdGhhdCB0aGUgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlIGxpYnJhcnkgdHJlYXRzIGFzIHdvcmQKKyAgICAgICAgICAgICAgc2VwYXJhdG9ycyB3aGVuIHBlcmZvcm1pbmcgd29yZCBjb21wbGV0aW9uLiAgSWYgIEMIQ08IT00ITVAIUF8IX1cIV08IT1IIUkQIREIIQlIIUkUIRUEIQUsIS1MIUworICAgICAgICAgICAgICBpcyAgdW5zZXQsIGl0IGxvc2VzIGl0cyBzcGVjaWFsIHByb3BlcnRpZXMsIGV2ZW4gaWYgaXQgaXMgc3Vic2UtCiAgICAgICAgICAgICAgIHF1ZW50bHkgcmVzZXQuCiAKICAgICAgICBDCENPCE9NCE1QCFBfCF9XCFdPCE9SCFJECERTCFMKLSAgICAgICAgICAgICAgQW4gIGFycmF5IHZhcmlhYmxlIChzZWUgQQhBcghycghyYQhheQh5cwhzIGJlbG93KSBjb25zaXN0aW5nIG9mIHRoZSBpbmRpdmlkLQotICAgICAgICAgICAgICB1YWwgd29yZHMgaW4gdGhlIGN1cnJlbnQgY29tbWFuZCBsaW5lLiAgVGhlIGxpbmUgaXMgIHNwbGl0ICBpbnRvCi0gICAgICAgICAgICAgIHdvcmRzICBhcyAgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlICB3b3VsZCAgc3BsaXQgIGl0LCAgdXNpbmcgQwhDTwhPTQhNUAhQXwhfVwhXTwhPUghSRAhEQghCUghSRQhFQQhBSwhLUwhTIGFzCisgICAgICAgICAgICAgIEFuIGFycmF5IHZhcmlhYmxlIChzZWUgQQhBcghycghyYQhheQh5cwhzIGJlbG93KSBjb25zaXN0aW5nIG9mIHRoZSAgaW5kaXZpZC0KKyAgICAgICAgICAgICAgdWFsICB3b3JkcyAgaW4gdGhlIGN1cnJlbnQgY29tbWFuZCBsaW5lLiAgVGhlIGxpbmUgaXMgc3BsaXQgaW50bworICAgICAgICAgICAgICB3b3JkcyBhcyByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgIHdvdWxkICBzcGxpdCAgaXQsICB1c2luZyAgQwhDTwhPTQhNUAhQXwhfVwhXTwhPUghSRAhEQghCUghSRQhFQQhBSwhLUwhTICBhcwogICAgICAgICAgICAgICBkZXNjcmliZWQgYWJvdmUuICBUaGlzIHZhcmlhYmxlIGlzIGF2YWlsYWJsZSBvbmx5IGluIHNoZWxsIGZ1bmMtCi0gICAgICAgICAgICAgIHRpb25zICBpbnZva2VkICBieSAgdGhlICBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUKKyAgICAgICAgICAgICAgdGlvbnMgaW52b2tlZCBieSB0aGUgIHByb2dyYW1tYWJsZSAgY29tcGxldGlvbiAgZmFjaWxpdGllcyAgKHNlZQogICAgICAgICAgICAgICBQCFByCHJvCG9nCGdyCHJhCGFtCG1tCG1hCGFiCGJsCGxlCGUgQwhDbwhvbQhtcAhwbAhsZQhldAh0aQhpbwhvbghuIGJlbG93KS4KIAorICAgICAgIEMIQ08IT1AIUFIIUk8IT0MIQyBBbiAgYXJyYXkgIHZhcmlhYmxlICAoc2VlIEEIQXIIcnIIcmEIYXkIeXMIcyBiZWxvdykgY3JlYXRlZCB0byBob2xkIHRoZSBmaWxlCisgICAgICAgICAgICAgIGRlc2NyaXB0b3JzIGZvciBvdXRwdXQgZnJvbSBhbmQgaW5wdXQgdG8gIGFuICB1bm5hbWVkICBjb3Byb2Nlc3MKKyAgICAgICAgICAgICAgKHNlZSBDCENvCG9wCHByCHJvCG9jCGNlCGVzCHNzCHNlCGVzCHMgYWJvdmUpLgorCiAgICAgICAgRAhESQhJUghSUwhTVAhUQQhBQwhDSwhLCiAgICAgICAgICAgICAgIEFuIGFycmF5IHZhcmlhYmxlIChzZWUgQQhBcghycghyYQhheQh5cwhzIGJlbG93KSBjb250YWluaW5nIHRoZSBjdXJyZW50IGNvbi0KLSAgICAgICAgICAgICAgdGVudHMgIG9mICB0aGUgZGlyZWN0b3J5IHN0YWNrLiAgRGlyZWN0b3JpZXMgYXBwZWFyIGluIHRoZSBzdGFjawotICAgICAgICAgICAgICBpbiB0aGUgb3JkZXIgdGhleSBhcmUgZGlzcGxheWVkIGJ5IHRoZSBkCGRpCGlyCHJzCHMgYnVpbHRpbi4gICBBc3NpZ25pbmcKKyAgICAgICAgICAgICAgdGVudHMgb2YgdGhlIGRpcmVjdG9yeSBzdGFjay4gIERpcmVjdG9yaWVzIGFwcGVhciBpbiAgdGhlICBzdGFjaworICAgICAgICAgICAgICBpbiAgdGhlIG9yZGVyIHRoZXkgYXJlIGRpc3BsYXllZCBieSB0aGUgZAhkaQhpcghycwhzIGJ1aWx0aW4uICBBc3NpZ25pbmcKICAgICAgICAgICAgICAgdG8gbWVtYmVycyBvZiB0aGlzIGFycmF5IHZhcmlhYmxlIG1heSBiZSB1c2VkIHRvIG1vZGlmeSBkaXJlY3RvLQotICAgICAgICAgICAgICByaWVzIGFscmVhZHkgaW4gdGhlIHN0YWNrLCBidXQgdGhlIHAIcHUIdXMIc2gIaGQIZCBhbmQgcAhwbwhvcAhwZAhkIGJ1aWx0aW5zICBtdXN0CisgICAgICAgICAgICAgIHJpZXMgIGFscmVhZHkgaW4gdGhlIHN0YWNrLCBidXQgdGhlIHAIcHUIdXMIc2gIaGQIZCBhbmQgcAhwbwhvcAhwZAhkIGJ1aWx0aW5zIG11c3QKICAgICAgICAgICAgICAgYmUgdXNlZCB0byBhZGQgYW5kIHJlbW92ZSBkaXJlY3Rvcmllcy4gIEFzc2lnbm1lbnQgdG8gdGhpcyB2YXJpLQotICAgICAgICAgICAgICBhYmxlIHdpbGwgbm90IGNoYW5nZSB0aGUgIGN1cnJlbnQgIGRpcmVjdG9yeS4gICBJZiAgRAhESQhJUghSUwhTVAhUQQhBQwhDSwhLICBpcwotICAgICAgICAgICAgICB1bnNldCwgIGl0ICBsb3NlcyAgaXRzICBzcGVjaWFsIHByb3BlcnRpZXMsIGV2ZW4gaWYgaXQgaXMgc3Vic2UtCisgICAgICAgICAgICAgIGFibGUgIHdpbGwgIG5vdCAgY2hhbmdlICB0aGUgIGN1cnJlbnQgZGlyZWN0b3J5LiAgSWYgRAhESQhJUghSUwhTVAhUQQhBQwhDSwhLIGlzCisgICAgICAgICAgICAgIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLCBldmVuICBpZiAgaXQgIGlzICBzdWJzZS0KICAgICAgICAgICAgICAgcXVlbnRseSByZXNldC4KIAotICAgICAgIEUIRVUIVUkISUQIRCAgIEV4cGFuZHMgdG8gdGhlIGVmZmVjdGl2ZSB1c2VyIElEIG9mIHRoZSBjdXJyZW50ICB1c2VyLCAgaW5pdGlhbC0KKyAgICAgICBFCEVVCFVJCElECEQgICBFeHBhbmRzICB0byAgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIG9mIHRoZSBjdXJyZW50IHVzZXIsIGluaXRpYWwtCiAgICAgICAgICAgICAgIGl6ZWQgYXQgc2hlbGwgc3RhcnR1cC4gIFRoaXMgdmFyaWFibGUgaXMgcmVhZG9ubHkuCiAKICAgICAgICBGCEZVCFVOCE5DCENOCE5BCEFNCE1FCEUKLSAgICAgICAgICAgICAgQW4gIGFycmF5ICB2YXJpYWJsZSAgY29udGFpbmluZyB0aGUgbmFtZXMgb2YgYWxsIHNoZWxsIGZ1bmN0aW9ucworICAgICAgICAgICAgICBBbiBhcnJheSB2YXJpYWJsZSBjb250YWluaW5nIHRoZSBuYW1lcyBvZiAgYWxsICBzaGVsbCAgZnVuY3Rpb25zCiAgICAgICAgICAgICAgIGN1cnJlbnRseSBpbiB0aGUgZXhlY3V0aW9uIGNhbGwgc3RhY2suICBUaGUgZWxlbWVudCB3aXRoIGluZGV4IDAKICAgICAgICAgICAgICAgaXMgdGhlIG5hbWUgb2YgYW55IGN1cnJlbnRseS1leGVjdXRpbmcgc2hlbGwgZnVuY3Rpb24uICBUaGUgYm90LQotICAgICAgICAgICAgICB0b20tbW9zdCBlbGVtZW50IGlzICJtYWluIi4gIFRoaXMgdmFyaWFibGUgZXhpc3RzICBvbmx5ICB3aGVuICBhCi0gICAgICAgICAgICAgIHNoZWxsICBmdW5jdGlvbiAgaXMgIGV4ZWN1dGluZy4gIEFzc2lnbm1lbnRzIHRvIEYIRlUIVU4ITkMIQ04ITkEIQU0ITUUIRSBoYXZlIG5vCi0gICAgICAgICAgICAgIGVmZmVjdCBhbmQgcmV0dXJuIGFuIGVycm9yIHN0YXR1cy4gIElmICBGCEZVCFVOCE5DCENOCE5BCEFNCE1FCEUgIGlzICB1bnNldCwgIGl0Ci0gICAgICAgICAgICAgIGxvc2VzICBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLCBldmVuIGlmIGl0IGlzIHN1YnNlcXVlbnRseSByZXNldC4KKyAgICAgICAgICAgICAgdG9tLW1vc3QgIGVsZW1lbnQgICh0aGUgIG9uZSAgd2l0aCB0aGUgaGlnaGVzdCBpbmRleCkgaXMgIm1haW4iLgorICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlIGV4aXN0cyBvbmx5IHdoZW4gYSBzaGVsbCAgZnVuY3Rpb24gIGlzICBleGVjdXRpbmcuCisgICAgICAgICAgICAgIEFzc2lnbm1lbnRzICB0byBGCEZVCFVOCE5DCENOCE5BCEFNCE1FCEUgaGF2ZSBubyBlZmZlY3QgYW5kIHJldHVybiBhbiBlcnJvciBzdGEtCisgICAgICAgICAgICAgIHR1cy4gIElmIEYIRlUIVU4ITkMIQ04ITkEIQU0ITUUIRSBpcyB1bnNldCwgaXQgIGxvc2VzICBpdHMgIHNwZWNpYWwgIHByb3BlcnRpZXMsCisgICAgICAgICAgICAgIGV2ZW4gaWYgaXQgaXMgc3Vic2VxdWVudGx5IHJlc2V0LgogCi0gICAgICAgRwhHUghSTwhPVQhVUAhQUwhTIEFuIGFycmF5IHZhcmlhYmxlIGNvbnRhaW5pbmcgdGhlIGxpc3Qgb2YgIGdyb3VwcyAgb2YgIHdoaWNoICB0aGUKLSAgICAgICAgICAgICAgY3VycmVudCAgdXNlciBpcyBhIG1lbWJlci4gIEFzc2lnbm1lbnRzIHRvIEcIR1IIUk8IT1UIVVAIUFMIUyBoYXZlIG5vIGVmZmVjdAotICAgICAgICAgICAgICBhbmQgcmV0dXJuIGFuIGVycm9yIHN0YXR1cy4gIElmIEcIR1IIUk8IT1UIVVAIUFMIUyBpcyB1bnNldCwgIGl0ICBsb3NlcyAgaXRzCisgICAgICAgICAgICAgIFRoaXMgIHZhcmlhYmxlICBjYW4gIGJlICB1c2VkICB3aXRoIEIIQkEIQVMIU0gISF8IX0wITEkISU4ITkUIRU4ITk8ITyBhbmQgQghCQQhBUwhTSAhIXwhfUwhTTwhPVQhVUghSQwhDRQhFLgorICAgICAgICAgICAgICBFYWNoICBlbGVtZW50ICBvZiAgRghGVQhVTghOQwhDTghOQQhBTQhNRQhFICBoYXMgICBjb3JyZXNwb25kaW5nICAgZWxlbWVudHMgICBpbgorICAgICAgICAgICAgICBCCEJBCEFTCFNICEhfCF9MCExJCElOCE5FCEVOCE5PCE8gIGFuZCAgQghCQQhBUwhTSAhIXwhfUwhTTwhPVQhVUghSQwhDRQhFICB0byAgZGVzY3JpYmUgdGhlIGNhbGwgc3RhY2suICBGb3IKKyAgICAgICAgICAgICAgaW5zdGFuY2UsICAgJAgkewh7RghGVQhVTghOQwhDTghOQQhBTQhNRQhFWwhbXwgkXwhpXQhdfQh9ICAgd2FzICAgY2FsbGVkICAgZnJvbSAgICB0aGUgICAgZmlsZQorICAgICAgICAgICAgICAkCCR7CHtCCEJBCEFTCFNICEhfCF9TCFNPCE9VCFVSCFJDCENFCEVbCFtfCCRfCGlfCCtfCDFdCF19CH0gIGF0ICBsaW5lICBudW1iZXIgICQIJHsIe0IIQkEIQVMIU0gISF8IX0wITEkISU4ITkUIRU4ITk8IT1sIW18IJF8IaV0IXX0IfS4gIFRoZQorICAgICAgICAgICAgICBjCGNhCGFsCGxsCGxlCGVyCHIgYnVpbHRpbiBkaXNwbGF5cyB0aGUgY3VycmVudCBjYWxsIHN0YWNrIHVzaW5nIHRoaXMgaW5mb3ItCisgICAgICAgICAgICAgIG1hdGlvbi4KKworICAgICAgIEcIR1IIUk8IT1UIVVAIUFMIUyBBbiAgYXJyYXkgIHZhcmlhYmxlICBjb250YWluaW5nICB0aGUgbGlzdCBvZiBncm91cHMgb2Ygd2hpY2ggdGhlCisgICAgICAgICAgICAgIGN1cnJlbnQgdXNlciBpcyBhIG1lbWJlci4gIEFzc2lnbm1lbnRzIHRvIEcIR1IIUk8IT1UIVVAIUFMIUyBoYXZlIG5vICBlZmZlY3QKKyAgICAgICAgICAgICAgYW5kICByZXR1cm4gIGFuICBlcnJvciBzdGF0dXMuICBJZiBHCEdSCFJPCE9VCFVQCFBTCFMgaXMgdW5zZXQsIGl0IGxvc2VzIGl0cwogICAgICAgICAgICAgICBzcGVjaWFsIHByb3BlcnRpZXMsIGV2ZW4gaWYgaXQgaXMgc3Vic2VxdWVudGx5IHJlc2V0LgogCiAgICAgICAgSAhISQhJUwhTVAhUQwhDTQhNRAhECiAgICAgICAgICAgICAgIFRoZSBoaXN0b3J5IG51bWJlciwgb3IgaW5kZXggaW4gdGhlIGhpc3RvcnkgbGlzdCwgb2YgdGhlIGN1cnJlbnQKLSAgICAgICAgICAgICAgY29tbWFuZC4gIElmIEgISEkISVMIU1QIVEMIQ00ITUQIRCBpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZWNpYWwgIHByb3BlcnRpZXMsCisgICAgICAgICAgICAgIGNvbW1hbmQuICAgSWYgSAhISQhJUwhTVAhUQwhDTQhNRAhEIGlzIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLAogICAgICAgICAgICAgICBldmVuIGlmIGl0IGlzIHN1YnNlcXVlbnRseSByZXNldC4KIAogICAgICAgIEgISE8IT1MIU1QIVE4ITkEIQU0ITUUIRQogICAgICAgICAgICAgICBBdXRvbWF0aWNhbGx5IHNldCB0byB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBob3N0LgogCiAgICAgICAgSAhITwhPUwhTVAhUVAhUWQhZUAhQRQhFCi0gICAgICAgICAgICAgIEF1dG9tYXRpY2FsbHkgIHNldCAgdG8gYSBzdHJpbmcgdGhhdCB1bmlxdWVseSBkZXNjcmliZXMgdGhlIHR5cGUKLSAgICAgICAgICAgICAgb2YgbWFjaGluZSBvbiB3aGljaCBiCGJhCGFzCHNoCGggaXMgZXhlY3V0aW5nLiAgVGhlIGRlZmF1bHQgIGlzICBzeXN0ZW0tCisgICAgICAgICAgICAgIEF1dG9tYXRpY2FsbHkgc2V0IHRvIGEgc3RyaW5nIHRoYXQgdW5pcXVlbHkgZGVzY3JpYmVzICB0aGUgIHR5cGUKKyAgICAgICAgICAgICAgb2YgIG1hY2hpbmUgIG9uIHdoaWNoIGIIYmEIYXMIc2gIaCBpcyBleGVjdXRpbmcuICBUaGUgZGVmYXVsdCBpcyBzeXN0ZW0tCiAgICAgICAgICAgICAgIGRlcGVuZGVudC4KIAotICAgICAgIEwITEkISU4ITkUIRU4ITk8ITyBFYWNoICB0aW1lIHRoaXMgcGFyYW1ldGVyIGlzIHJlZmVyZW5jZWQsIHRoZSBzaGVsbCBzdWJzdGl0dXRlcyBhCi0gICAgICAgICAgICAgIGRlY2ltYWwgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCBzZXF1ZW50aWFsICBsaW5lICBudW1iZXIKLSAgICAgICAgICAgICAgKHN0YXJ0aW5nICB3aXRoICAxKSAgd2l0aGluIGEgc2NyaXB0IG9yIGZ1bmN0aW9uLiAgV2hlbiBub3QgaW4gYQotICAgICAgICAgICAgICBzY3JpcHQgb3IgZnVuY3Rpb24sIHRoZSB2YWx1ZSBzdWJzdGl0dXRlZCBpcyBub3QgIGd1YXJhbnRlZWQgIHRvCisgICAgICAgTAhMSQhJTghORQhFTghOTwhPIEVhY2ggdGltZSB0aGlzIHBhcmFtZXRlciBpcyByZWZlcmVuY2VkLCB0aGUgc2hlbGwgc3Vic3RpdHV0ZXMgIGEKKyAgICAgICAgICAgICAgZGVjaW1hbCAgbnVtYmVyICByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgc2VxdWVudGlhbCBsaW5lIG51bWJlcgorICAgICAgICAgICAgICAoc3RhcnRpbmcgd2l0aCAxKSB3aXRoaW4gYSBzY3JpcHQgb3IgZnVuY3Rpb24uICBXaGVuICBub3QgIGluICBhCisgICAgICAgICAgICAgIHNjcmlwdCAgb3IgIGZ1bmN0aW9uLCB0aGUgdmFsdWUgc3Vic3RpdHV0ZWQgaXMgbm90IGd1YXJhbnRlZWQgdG8KICAgICAgICAgICAgICAgYmUgbWVhbmluZ2Z1bC4gIElmIEwITEkISU4ITkUIRU4ITk8ITyBpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZWNpYWwgcHJvcGVyLQogICAgICAgICAgICAgICB0aWVzLCBldmVuIGlmIGl0IGlzIHN1YnNlcXVlbnRseSByZXNldC4KIAogICAgICAgIE0ITUEIQUMIQ0gISFQIVFkIWVAIUEUIRQotICAgICAgICAgICAgICBBdXRvbWF0aWNhbGx5IHNldCB0byBhIHN0cmluZyB0aGF0IGZ1bGx5ICBkZXNjcmliZXMgIHRoZSAgc3lzdGVtCi0gICAgICAgICAgICAgIHR5cGUgIG9uICB3aGljaCAgYghiYQhhcwhzaAhoIGlzIGV4ZWN1dGluZywgaW4gdGhlIHN0YW5kYXJkIEdOVSBfCGNfCHBfCHVfCC1fCGNfCG9fCG1fCC0KKyAgICAgICAgICAgICAgQXV0b21hdGljYWxseSAgc2V0ICB0byAgYSBzdHJpbmcgdGhhdCBmdWxseSBkZXNjcmliZXMgdGhlIHN5c3RlbQorICAgICAgICAgICAgICB0eXBlIG9uIHdoaWNoIGIIYmEIYXMIc2gIaCBpcyBleGVjdXRpbmcsIGluIHRoZSAgc3RhbmRhcmQgIEdOVSAgXwhjXwhwXwh1XwgtXwhjXwhvXwhtXwgtCiAgICAgICAgICAgICAgIF8IcF8IYV8Ibl8IeV8ILV8Ic18IeV8Ic18IdF8IZV8IbSBmb3JtYXQuICBUaGUgZGVmYXVsdCBpcyBzeXN0ZW0tZGVwZW5kZW50LgogCisgICAgICAgTQhNQQhBUAhQRghGSQhJTAhMRQhFCisgICAgICAgICAgICAgIEFuICBhcnJheSAgdmFyaWFibGUgIChzZWUgQQhBcghycghyYQhheQh5cwhzIGJlbG93KSBjcmVhdGVkIHRvIGhvbGQgdGhlIHRleHQKKyAgICAgICAgICAgICAgcmVhZCBieSB0aGUgbQhtYQhhcAhwZghmaQhpbAhsZQhlIGJ1aWx0aW4gd2hlbiBubyB2YXJpYWJsZSBuYW1lIGlzIHN1cHBsaWVkLgorCiAgICAgICAgTwhPTAhMRAhEUAhQVwhXRAhEIFRoZSBwcmV2aW91cyB3b3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkgdGhlIGMIY2QIZCBjb21tYW5kLgogCiAgICAgICAgTwhPUAhQVAhUQQhBUghSRwhHIFRoZSB2YWx1ZSBvZiB0aGUgbGFzdCBvcHRpb24gYXJndW1lbnQgcHJvY2Vzc2VkIGJ5ICB0aGUgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcwpAQCAtOTEzLDYgKzk0NSwxNCBAQAogICAgICAgICAgICAgICBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLCAgZXZlbiAgaWYgIGl0ICBpcyAgc3Vic2VxdWVudGx5CiAgICAgICAgICAgICAgIHJlc2V0LgogCisgICAgICAgUghSRQhFQQhBRAhETAhMSQhJTghORQhFXwhfTAhMSQhJTghORQhFCisgICAgICAgICAgICAgIFRoZSBjb250ZW50cyBvZiB0aGUgcghyZQhlYQhhZAhkbAhsaQhpbghuZQhlIGxpbmUgYnVmZmVyLCBmb3IgdXNlIHdpdGggImJpbmQgLXgiCisgICAgICAgICAgICAgIChzZWUgUwhTSAhIRQhFTAhMTAhMIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpLgorCisgICAgICAgUghSRQhFQQhBRAhETAhMSQhJTghORQhFXwhfUAhQTwhPSQhJTghOVAhUCisgICAgICAgICAgICAgIFRoZSBwb3NpdGlvbiBvZiB0aGUgaW5zZXJ0aW9uIHBvaW50IGluIHRoZSByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgbGluZSBidWZmZXIsCisgICAgICAgICAgICAgIGZvciB1c2Ugd2l0aCAiYmluZCAteCIgKHNlZSBTCFNICEhFCEVMCExMCEwgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyBiZWxvdykuCisKICAgICAgICBSCFJFCEVQCFBMCExZCFkgIFNldCAgdG8gIHRoZSBsaW5lIG9mIGlucHV0IHJlYWQgYnkgdGhlIHIIcmUIZWEIYWQIZCBidWlsdGluIGNvbW1hbmQgd2hlbgogICAgICAgICAgICAgICBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLgogCkBAIC05NDgsMTQ0ICs5ODgsMTUxIEBACiAgICAgICAgICAgICAgIHN1YmplY3RlZCB0byAgcGFyYW1ldGVyICBleHBhbnNpb24sICBjb21tYW5kICBzdWJzdGl0dXRpb24sICBhbmQKICAgICAgICAgICAgICAgYXJpdGhtZXRpYyAgZXhwYW5zaW9uICBiZWZvcmUgIGJlaW5nIGludGVycHJldGVkIGFzIGEgZmlsZSBuYW1lLgogICAgICAgICAgICAgICBQCFBBCEFUCFRICEggaXMgbm90IHVzZWQgdG8gc2VhcmNoIGZvciB0aGUgcmVzdWx0YW50IGZpbGUgbmFtZS4KLSAgICAgICBDCENECERQCFBBCEFUCFRICEggVGhlIHNlYXJjaCBwYXRoIGZvciB0aGUgYwhjZAhkIGNvbW1hbmQuICBUaGlzIGlzICBhICBjb2xvbi1zZXBhcmF0ZWQKLSAgICAgICAgICAgICAgbGlzdCAgb2YgIGRpcmVjdG9yaWVzICBpbiAgd2hpY2ggdGhlIHNoZWxsIGxvb2tzIGZvciBkZXN0aW5hdGlvbgotICAgICAgICAgICAgICBkaXJlY3RvcmllcyBzcGVjaWZpZWQgYnkgdGhlIGMIY2QIZCAgY29tbWFuZC4gICBBICBzYW1wbGUgIHZhbHVlICBpcwotICAgICAgICAgICAgICAiLjp+Oi91c3IiLgogICAgICAgIEIIQkEIQVMIU0gISF8IX1gIWFQIVFIIUkEIQUMIQ0UIRUYIRkQIRAotICAgICAgICAgICAgICBJZiAgc2V0ICB0byBhbiBpbnRlZ2VyIGNvcnJlc3BvbmRpbmcgdG8gYSB2YWxpZCBmaWxlIGRlc2NyaXB0b3IsCi0gICAgICAgICAgICAgIGIIYmEIYXMIc2gIaCB3aWxsIHdyaXRlIHRoZSAgdHJhY2UgIG91dHB1dCAgZ2VuZXJhdGVkICB3aGVuICBfCHNfCGVfCHQgIF8ILV8IeCAgaXMKLSAgICAgICAgICAgICAgZW5hYmxlZCAgdG8gdGhhdCBmaWxlIGRlc2NyaXB0b3IuICBUaGUgZmlsZSBkZXNjcmlwdG9yIGlzIGNsb3NlZAotICAgICAgICAgICAgICB3aGVuIEIIQkEIQVMIU0gISF8IX1gIWFQIVFIIUkEIQUMIQ0UIRUYIRkQIRCBpcyB1bnNldCBvciBhc3NpZ25lZCBhIG5ldyB2YWx1ZS4gICBVbnNldHRpbmcKLSAgICAgICAgICAgICAgQghCQQhBUwhTSAhIXwhfWAhYVAhUUghSQQhBQwhDRQhFRghGRAhEICBvciBhc3NpZ25pbmcgaXQgdGhlIGVtcHR5IHN0cmluZyBjYXVzZXMgdGhlIHRyYWNlCi0gICAgICAgICAgICAgIG91dHB1dCB0byBiZSBzZW50IHRvIHRoZSAgc3RhbmRhcmQgIGVycm9yLiAgIE5vdGUgIHRoYXQgIHNldHRpbmcKKyAgICAgICAgICAgICAgSWYgc2V0IHRvIGFuIGludGVnZXIgY29ycmVzcG9uZGluZyB0byBhIHZhbGlkICBmaWxlICBkZXNjcmlwdG9yLAorICAgICAgICAgICAgICBiCGJhCGFzCHNoCGggIHdpbGwgIHdyaXRlICB0aGUgIHRyYWNlICBvdXRwdXQgIGdlbmVyYXRlZCAgd2hlbiBfCHNfCGVfCHQgXwgtXwh4IGlzCisgICAgICAgICAgICAgIGVuYWJsZWQgdG8gdGhhdCBmaWxlIGRlc2NyaXB0b3IuICBUaGUgZmlsZSBkZXNjcmlwdG9yIGlzICBjbG9zZWQKKyAgICAgICAgICAgICAgd2hlbiAgQghCQQhBUwhTSAhIXwhfWAhYVAhUUghSQQhBQwhDRQhFRghGRAhEIGlzIHVuc2V0IG9yIGFzc2lnbmVkIGEgbmV3IHZhbHVlLiAgVW5zZXR0aW5nCisgICAgICAgICAgICAgIEIIQkEIQVMIU0gISF8IX1gIWFQIVFIIUkEIQUMIQ0UIRUYIRkQIRCBvciBhc3NpZ25pbmcgaXQgdGhlIGVtcHR5IHN0cmluZyBjYXVzZXMgdGhlICB0cmFjZQorICAgICAgICAgICAgICBvdXRwdXQgIHRvICBiZSAgc2VudCAgdG8gIHRoZSBzdGFuZGFyZCBlcnJvci4gIE5vdGUgdGhhdCBzZXR0aW5nCiAgICAgICAgICAgICAgIEIIQkEIQVMIU0gISF8IX1gIWFQIVFIIUkEIQUMIQ0UIRUYIRkQIRCB0byAyICh0aGUgc3RhbmRhcmQgZXJyb3IgZmlsZSBkZXNjcmlwdG9yKSBhbmQgdGhlbgogICAgICAgICAgICAgICB1bnNldHRpbmcgaXQgd2lsbCByZXN1bHQgaW4gdGhlIHN0YW5kYXJkIGVycm9yIGJlaW5nIGNsb3NlZC4KKyAgICAgICBDCENECERQCFBBCEFUCFRICEggVGhlICBzZWFyY2ggIHBhdGggZm9yIHRoZSBjCGNkCGQgY29tbWFuZC4gIFRoaXMgaXMgYSBjb2xvbi1zZXBhcmF0ZWQKKyAgICAgICAgICAgICAgbGlzdCBvZiBkaXJlY3RvcmllcyBpbiB3aGljaCB0aGUgIHNoZWxsICBsb29rcyAgZm9yICBkZXN0aW5hdGlvbgorICAgICAgICAgICAgICBkaXJlY3RvcmllcyAgc3BlY2lmaWVkICBieSAgdGhlICBjCGNkCGQgIGNvbW1hbmQuICBBIHNhbXBsZSB2YWx1ZSBpcworICAgICAgICAgICAgICAiLjp+Oi91c3IiLgogICAgICAgIEMIQ08IT0wITFUIVU0ITU4ITlMIUwotICAgICAgICAgICAgICBVc2VkIGJ5IHRoZSBzCHNlCGVsCGxlCGVjCGN0CHQgYnVpbHRpbiBjb21tYW5kICB0byAgZGV0ZXJtaW5lICB0aGUgIHRlcm1pbmFsCisgICAgICAgICAgICAgIFVzZWQgYnkgdGhlIHMIc2UIZWwIbGUIZWMIY3QIdCBjb21wb3VuZCBjb21tYW5kIHRvICBkZXRlcm1pbmUgIHRoZSAgdGVybWluYWwKICAgICAgICAgICAgICAgd2lkdGggIHdoZW4gIHByaW50aW5nICBzZWxlY3Rpb24gIGxpc3RzLiAgQXV0b21hdGljYWxseSBzZXQgdXBvbgotICAgICAgICAgICAgICByZWNlaXB0IG9mIGEgU0lHV0lOQ0guCisgICAgICAgICAgICAgIHJlY2VpcHQgb2YgYSBTCFNJCElHCEdXCFdJCElOCE5DCENICEguCiAgICAgICAgQwhDTwhPTQhNUAhQUghSRQhFUAhQTAhMWQhZCiAgICAgICAgICAgICAgIEFuIGFycmF5IHZhcmlhYmxlIGZyb20gd2hpY2ggYghiYQhhcwhzaAhoIHJlYWRzIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucwogICAgICAgICAgICAgICBnZW5lcmF0ZWQgIGJ5ICBhIHNoZWxsIGZ1bmN0aW9uIGludm9rZWQgYnkgdGhlIHByb2dyYW1tYWJsZSBjb20tCiAgICAgICAgICAgICAgIHBsZXRpb24gZmFjaWxpdHkgKHNlZSBQCFByCHJvCG9nCGdyCHJhCGFtCG1tCG1hCGFiCGJsCGxlCGUgQwhDbwhvbQhtcAhwbAhsZQhldAh0aQhpbwhvbghuIGJlbG93KS4KICAgICAgICBFCEVNCE1BCEFDCENTCFMgIElmIGIIYmEIYXMIc2gIaCBmaW5kcyB0aGlzIHZhcmlhYmxlIGluIHRoZSBlbnZpcm9ubWVudCAgd2hlbiAgdGhlICBzaGVsbAogICAgICAgICAgICAgICBzdGFydHMgIHdpdGggIHZhbHVlICJ0IiwgaXQgYXNzdW1lcyB0aGF0IHRoZSBzaGVsbCBpcyBydW5uaW5nIGluCi0gICAgICAgICAgICAgIGFuIGVtYWNzIHNoZWxsIGJ1ZmZlciBhbmQgZGlzYWJsZXMgbGluZSBlZGl0aW5nLgorICAgICAgICAgICAgICBhbiBFbWFjcyBzaGVsbCBidWZmZXIgYW5kIGRpc2FibGVzIGxpbmUgZWRpdGluZy4KKyAgICAgICBFCEVOCE5WCFYgICAgU2ltaWxhciB0byBCCEJBCEFTCFNICEhfCF9FCEVOCE5WCFY7IHVzZWQgd2hlbiB0aGUgc2hlbGwgIGlzICBpbnZva2VkICBpbiAgUE9TSVgKKyAgICAgICAgICAgICAgbW9kZS4KICAgICAgICBGCEZDCENFCEVECERJCElUCFQgVGhlIGRlZmF1bHQgZWRpdG9yIGZvciB0aGUgZghmYwhjIGJ1aWx0aW4gY29tbWFuZC4KICAgICAgICBGCEZJCElHCEdOCE5PCE9SCFJFCEUKLSAgICAgICAgICAgICAgQSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBzdWZmaXhlcyAgdG8gIGlnbm9yZSAgd2hlbiAgcGVyZm9ybWluZworICAgICAgICAgICAgICBBICBjb2xvbi1zZXBhcmF0ZWQgIGxpc3QgIG9mICBzdWZmaXhlcyB0byBpZ25vcmUgd2hlbiBwZXJmb3JtaW5nCiAgICAgICAgICAgICAgIGZpbGVuYW1lIGNvbXBsZXRpb24gKHNlZSBSCFJFCEVBCEFECERMCExJCElOCE5FCEUgYmVsb3cpLiAgQSBmaWxlbmFtZSB3aG9zZSBzdWYtCi0gICAgICAgICAgICAgIGZpeCBtYXRjaGVzIG9uZSBvZiB0aGUgZW50cmllcyBpbiBGCEZJCElHCEdOCE5PCE9SCFJFCEUgaXMgZXhjbHVkZWQgIGZyb20gIHRoZQorICAgICAgICAgICAgICBmaXggIG1hdGNoZXMgIG9uZSBvZiB0aGUgZW50cmllcyBpbiBGCEZJCElHCEdOCE5PCE9SCFJFCEUgaXMgZXhjbHVkZWQgZnJvbSB0aGUKICAgICAgICAgICAgICAgbGlzdCBvZiBtYXRjaGVkIGZpbGVuYW1lcy4gIEEgc2FtcGxlIHZhbHVlIGlzICIubzp+Ii4KKyAgICAgICBGCEZVCFVOCE5DCENOCE5FCEVTCFNUCFQKKyAgICAgICAgICAgICAgSWYgc2V0IHRvIGEgbnVtZXJpYyB2YWx1ZSBncmVhdGVyICB0aGFuICAwLCAgZGVmaW5lcyAgYSAgbWF4aW11bQorICAgICAgICAgICAgICBmdW5jdGlvbiAgbmVzdGluZyAgbGV2ZWwuICBGdW5jdGlvbiBpbnZvY2F0aW9ucyB0aGF0IGV4Y2VlZCB0aGlzCisgICAgICAgICAgICAgIG5lc3RpbmcgbGV2ZWwgd2lsbCBjYXVzZSB0aGUgY3VycmVudCBjb21tYW5kIHRvIGFib3J0LgogICAgICAgIEcIR0wITE8IT0IIQkkISUcIR04ITk8IT1IIUkUIRQogICAgICAgICAgICAgICBBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIGRlZmluaW5nIHRoZSBzZXQgb2YgZmlsZW5hbWVzCiAgICAgICAgICAgICAgIHRvIGJlIGlnbm9yZWQgYnkgcGF0aG5hbWUgZXhwYW5zaW9uLiAgSWYgYSBmaWxlbmFtZSBtYXRjaGVkIGJ5IGEKLSAgICAgICAgICAgICAgcGF0aG5hbWUgIGV4cGFuc2lvbiAgcGF0dGVybiBhbHNvIG1hdGNoZXMgb25lIG9mIHRoZSBwYXR0ZXJucyBpbgorICAgICAgICAgICAgICBwYXRobmFtZSBleHBhbnNpb24gcGF0dGVybiBhbHNvIG1hdGNoZXMgb25lIG9mIHRoZSAgcGF0dGVybnMgIGluCiAgICAgICAgICAgICAgIEcIR0wITE8IT0IIQkkISUcIR04ITk8IT1IIUkUIRSwgaXQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBsaXN0IG9mIG1hdGNoZXMuCiAgICAgICAgSAhISQhJUwhTVAhUQwhDTwhPTghOVAhUUghSTwhPTAhMCi0gICAgICAgICAgICAgIEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgdmFsdWVzIGNvbnRyb2xsaW5nICBob3cgIGNvbW1hbmRzICBhcmUKLSAgICAgICAgICAgICAgc2F2ZWQgIG9uICB0aGUgIGhpc3RvcnkgIGxpc3QuICAgSWYgIHRoZSBsaXN0IG9mIHZhbHVlcyBpbmNsdWRlcwotICAgICAgICAgICAgICBfCGlfCGdfCG5fCG9fCHJfCGVfCHNfCHBfCGFfCGNfCGUsIGxpbmVzIHdoaWNoIGJlZ2luIHdpdGggYSBzCHNwCHBhCGFjCGNlCGUgIGNoYXJhY3RlciAgYXJlICBub3QKLSAgICAgICAgICAgICAgc2F2ZWQgIGluICB0aGUgaGlzdG9yeSBsaXN0LiAgQSB2YWx1ZSBvZiBfCGlfCGdfCG5fCG9fCHJfCGVfCGRfCHVfCHBfCHMgY2F1c2VzIGxpbmVzCisgICAgICAgICAgICAgIEEgIGNvbG9uLXNlcGFyYXRlZCAgbGlzdCAgb2YgdmFsdWVzIGNvbnRyb2xsaW5nIGhvdyBjb21tYW5kcyBhcmUKKyAgICAgICAgICAgICAgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC4gICBJZiAgdGhlICBsaXN0ICBvZiAgdmFsdWVzICBpbmNsdWRlcworICAgICAgICAgICAgICBfCGlfCGdfCG5fCG9fCHJfCGVfCHNfCHBfCGFfCGNfCGUsICBsaW5lcyAgd2hpY2ggIGJlZ2luIHdpdGggYSBzCHNwCHBhCGFjCGNlCGUgY2hhcmFjdGVyIGFyZSBub3QKKyAgICAgICAgICAgICAgc2F2ZWQgaW4gdGhlIGhpc3RvcnkgbGlzdC4gIEEgdmFsdWUgb2YgXwhpXwhnXwhuXwhvXwhyXwhlXwhkXwh1XwhwXwhzICBjYXVzZXMgIGxpbmVzCiAgICAgICAgICAgICAgIG1hdGNoaW5nIHRoZSBwcmV2aW91cyBoaXN0b3J5IGVudHJ5IHRvIG5vdCBiZSBzYXZlZC4gIEEgdmFsdWUgb2YKICAgICAgICAgICAgICAgXwhpXwhnXwhuXwhvXwhyXwhlXwhiXwhvXwh0XwhoIGlzIHNob3J0aGFuZCBmb3IgXwhpXwhnXwhuXwhvXwhyXwhlXwhzXwhwXwhhXwhjXwhlIGFuZCBfCGlfCGdfCG5fCG9fCHJfCGVfCGRfCHVfCHBfCHMuICBBIHZhbHVlCiAgICAgICAgICAgICAgIG9mIF8IZV8Icl8IYV8Ic18IZV8IZF8IdV8IcF8IcyBjYXVzZXMgYWxsIHByZXZpb3VzIGxpbmVzIG1hdGNoaW5nIHRoZSBjdXJyZW50IGxpbmUKLSAgICAgICAgICAgICAgdG8gIGJlICByZW1vdmVkIGZyb20gdGhlIGhpc3RvcnkgbGlzdCBiZWZvcmUgdGhhdCBsaW5lIGlzIHNhdmVkLgotICAgICAgICAgICAgICBBbnkgdmFsdWUgbm90IGluIHRoZSBhYm92ZSBsaXN0IGlzIGlnbm9yZWQuICBJZiAgSAhISQhJUwhTVAhUQwhDTwhPTghOVAhUUghSTwhPTAhMICBpcwotICAgICAgICAgICAgICB1bnNldCwgIG9yIGRvZXMgbm90IGluY2x1ZGUgYSB2YWxpZCB2YWx1ZSwgYWxsIGxpbmVzIHJlYWQgYnkgdGhlCisgICAgICAgICAgICAgIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgaGlzdG9yeSBsaXN0IGJlZm9yZSB0aGF0IGxpbmUgIGlzICBzYXZlZC4KKyAgICAgICAgICAgICAgQW55ICB2YWx1ZSAgbm90IGluIHRoZSBhYm92ZSBsaXN0IGlzIGlnbm9yZWQuICBJZiBICEhJCElTCFNUCFRDCENPCE9OCE5UCFRSCFJPCE9MCEwgaXMKKyAgICAgICAgICAgICAgdW5zZXQsIG9yIGRvZXMgbm90IGluY2x1ZGUgYSB2YWxpZCB2YWx1ZSwgYWxsIGxpbmVzIHJlYWQgYnkgIHRoZQogICAgICAgICAgICAgICBzaGVsbCBwYXJzZXIgYXJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QsIHN1YmplY3QgdG8gdGhlIHZhbHVlCi0gICAgICAgICAgICAgIG9mICBICEhJCElTCFNUCFRJCElHCEdOCE5PCE9SCFJFCEUuICBUaGUgc2Vjb25kIGFuZCBzdWJzZXF1ZW50IGxpbmVzIG9mIGEgbXVsdGktbGluZQotICAgICAgICAgICAgICBjb21wb3VuZCBjb21tYW5kIGFyZSBub3QgdGVzdGVkLCBhbmQgYXJlIGFkZGVkICB0byAgdGhlICBoaXN0b3J5CisgICAgICAgICAgICAgIG9mIEgISEkISVMIU1QIVEkISUcIR04ITk8IT1IIUkUIRS4gIFRoZSBzZWNvbmQgYW5kIHN1YnNlcXVlbnQgbGluZXMgb2YgYSAgbXVsdGktbGluZQorICAgICAgICAgICAgICBjb21wb3VuZCAgY29tbWFuZCAgYXJlICBub3QgdGVzdGVkLCBhbmQgYXJlIGFkZGVkIHRvIHRoZSBoaXN0b3J5CiAgICAgICAgICAgICAgIHJlZ2FyZGxlc3Mgb2YgdGhlIHZhbHVlIG9mIEgISEkISVMIU1QIVEMIQ08IT04ITlQIVFIIUk8IT0wITC4KICAgICAgICBICEhJCElTCFNUCFRGCEZJCElMCExFCEUKICAgICAgICAgICAgICAgVGhlIG5hbWUgb2YgdGhlIGZpbGUgaW4gd2hpY2ggY29tbWFuZCBoaXN0b3J5IGlzIHNhdmVkIChzZWUgSAhISQhJUwhTLQgtCi0gICAgICAgICAgICAgIFQIVE8IT1IIUlkIWSBiZWxvdykuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBfCH5fCC9fCC5fCGJfCGFfCHNfCGhfCF9fCGhfCGlfCHNfCHRfCG9fCHJfCHkuICAgSWYgIHVuc2V0LAotICAgICAgICAgICAgICB0aGUgIGNvbW1hbmQgIGhpc3RvcnkgIGlzICBub3QgIHNhdmVkICB3aGVuIGFuIGludGVyYWN0aXZlIHNoZWxsCisgICAgICAgICAgICAgIFQIVE8IT1IIUlkIWSAgYmVsb3cpLiAgIFRoZSBkZWZhdWx0IHZhbHVlIGlzIF8Ifl8IL18ILl8IYl8IYV8Ic18IaF8IX18IaF8IaV8Ic18IdF8Ib18Icl8IeS4gIElmIHVuc2V0LAorICAgICAgICAgICAgICB0aGUgY29tbWFuZCBoaXN0b3J5IGlzICBub3QgIHNhdmVkICB3aGVuICBhbiAgaW50ZXJhY3RpdmUgIHNoZWxsCiAgICAgICAgICAgICAgIGV4aXRzLgogICAgICAgIEgISEkISVMIU1QIVEYIRkkISUwITEUIRVMIU0kISVoIWkUIRQogICAgICAgICAgICAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgY29udGFpbmVkIGluIHRoZSBoaXN0b3J5IGZpbGUuICBXaGVuCi0gICAgICAgICAgICAgIHRoaXMgIHZhcmlhYmxlICBpcyAgYXNzaWduZWQgIGEgdmFsdWUsIHRoZSBoaXN0b3J5IGZpbGUgaXMgdHJ1bi0KLSAgICAgICAgICAgICAgY2F0ZWQsIGlmIG5lY2Vzc2FyeSwgYnkgcmVtb3ZpbmcgdGhlIG9sZGVzdCBlbnRyaWVzLCB0byAgY29udGFpbgotICAgICAgICAgICAgICBubyAgbW9yZSAgdGhhbiAgdGhhdCBudW1iZXIgb2YgbGluZXMuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyA1MDAuCisgICAgICAgICAgICAgIHRoaXMgdmFyaWFibGUgaXMgYXNzaWduZWQgYSB2YWx1ZSwgdGhlICBoaXN0b3J5ICBmaWxlICBpcyAgdHJ1bi0KKyAgICAgICAgICAgICAgY2F0ZWQsICBpZiBuZWNlc3NhcnksIGJ5IHJlbW92aW5nIHRoZSBvbGRlc3QgZW50cmllcywgdG8gY29udGFpbgorICAgICAgICAgICAgICBubyBtb3JlIHRoYW4gdGhhdCBudW1iZXIgb2YgbGluZXMuICBUaGUgZGVmYXVsdCAgdmFsdWUgIGlzICA1MDAuCiAgICAgICAgICAgICAgIFRoZSBoaXN0b3J5IGZpbGUgaXMgYWxzbyB0cnVuY2F0ZWQgdG8gdGhpcyBzaXplIGFmdGVyIHdyaXRpbmcgaXQKICAgICAgICAgICAgICAgd2hlbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbCBleGl0cy4KICAgICAgICBICEhJCElTCFNUCFRJCElHCEdOCE5PCE9SCFJFCEUKLSAgICAgICAgICAgICAgQSAgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgdXNlZCB0byBkZWNpZGUgd2hpY2ggY29tbWFuZAotICAgICAgICAgICAgICBsaW5lcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlICBoaXN0b3J5ICBsaXN0LiAgIEVhY2ggIHBhdHRlcm4gIGlzCi0gICAgICAgICAgICAgIGFuY2hvcmVkICBhdCAgdGhlICBiZWdpbm5pbmcgb2YgdGhlIGxpbmUgYW5kIG11c3QgbWF0Y2ggdGhlIGNvbS0KLSAgICAgICAgICAgICAgcGxldGUgbGluZSAobm8gaW1wbGljaXQgIGAqCConICBpcyAgYXBwZW5kZWQpLiAgIEVhY2ggIHBhdHRlcm4gIGlzCi0gICAgICAgICAgICAgIHRlc3RlZCAgYWdhaW5zdCAgdGhlIGxpbmUgYWZ0ZXIgdGhlIGNoZWNrcyBzcGVjaWZpZWQgYnkgSAhISQhJUwhTVAhUQwhDTwhPTghOLQgtCi0gICAgICAgICAgICAgIFQIVFIIUk8IT0wITCBhcmUgYXBwbGllZC4gIEluICBhZGRpdGlvbiAgdG8gIHRoZSAgbm9ybWFsICBzaGVsbCAgcGF0dGVybgorICAgICAgICAgICAgICBBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIHVzZWQgdG8gZGVjaWRlIHdoaWNoICBjb21tYW5kCisgICAgICAgICAgICAgIGxpbmVzICBzaG91bGQgIGJlICBzYXZlZCAgb24gIHRoZSBoaXN0b3J5IGxpc3QuICBFYWNoIHBhdHRlcm4gaXMKKyAgICAgICAgICAgICAgYW5jaG9yZWQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGluZSBhbmQgbXVzdCAgbWF0Y2ggIHRoZSAgY29tLQorICAgICAgICAgICAgICBwbGV0ZSAgbGluZSAgKG5vICBpbXBsaWNpdCAgYCoIKicgIGlzICBhcHBlbmRlZCkuICBFYWNoIHBhdHRlcm4gaXMKKyAgICAgICAgICAgICAgdGVzdGVkIGFnYWluc3QgdGhlIGxpbmUgYWZ0ZXIgdGhlIGNoZWNrcyBzcGVjaWZpZWQgIGJ5ICBICEhJCElTCFNUCFRDCENPCE9OCE4tCC0KKyAgICAgICAgICAgICAgVAhUUghSTwhPTAhMICBhcmUgIGFwcGxpZWQuICAgSW4gIGFkZGl0aW9uICB0byAgdGhlIG5vcm1hbCBzaGVsbCBwYXR0ZXJuCiAgICAgICAgICAgICAgIG1hdGNoaW5nIGNoYXJhY3RlcnMsIGAmCCYnIG1hdGNoZXMgdGhlIHByZXZpb3VzIGhpc3RvcnkgbGluZS4gIGAmCCYnCi0gICAgICAgICAgICAgIG1heSBiZSBlc2NhcGVkIHVzaW5nICBhICBiYWNrc2xhc2g7ICB0aGUgIGJhY2tzbGFzaCAgaXMgIHJlbW92ZWQKKyAgICAgICAgICAgICAgbWF5ICBiZSAgZXNjYXBlZCAgdXNpbmcgIGEgIGJhY2tzbGFzaDsgIHRoZSBiYWNrc2xhc2ggaXMgcmVtb3ZlZAogICAgICAgICAgICAgICBiZWZvcmUgYXR0ZW1wdGluZyBhIG1hdGNoLiAgVGhlIHNlY29uZCBhbmQgc3Vic2VxdWVudCBsaW5lcyBvZiBhCiAgICAgICAgICAgICAgIG11bHRpLWxpbmUgY29tcG91bmQgY29tbWFuZCBhcmUgbm90IHRlc3RlZCwgYW5kIGFyZSBhZGRlZCB0byB0aGUKICAgICAgICAgICAgICAgaGlzdG9yeSByZWdhcmRsZXNzIG9mIHRoZSB2YWx1ZSBvZiBICEhJCElTCFNUCFRJCElHCEdOCE5PCE9SCFJFCEUuCiAgICAgICAgSAhISQhJUwhTVAhUUwhTSQhJWghaRQhFCi0gICAgICAgICAgICAgIFRoZSAgbnVtYmVyICBvZiBjb21tYW5kcyB0byByZW1lbWJlciBpbiB0aGUgY29tbWFuZCBoaXN0b3J5IChzZWUKKyAgICAgICAgICAgICAgVGhlIG51bWJlciBvZiBjb21tYW5kcyB0byByZW1lbWJlciBpbiB0aGUgY29tbWFuZCAgaGlzdG9yeSAgKHNlZQogICAgICAgICAgICAgICBICEhJCElTCFNUCFRPCE9SCFJZCFkgYmVsb3cpLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgNTAwLgogICAgICAgIEgISEkISVMIU1QIVFQIVEkISU0ITUUIRUYIRk8IT1IIUk0ITUEIQVQIVAotICAgICAgICAgICAgICBJZiB0aGlzIHZhcmlhYmxlIGlzIHNldCBhbmQgbm90IG51bGwsIGl0cyB2YWx1ZSAgaXMgIHVzZWQgIGFzICBhCisgICAgICAgICAgICAgIElmICB0aGlzICB2YXJpYWJsZSAgaXMgIHNldCBhbmQgbm90IG51bGwsIGl0cyB2YWx1ZSBpcyB1c2VkIGFzIGEKICAgICAgICAgICAgICAgZm9ybWF0IHN0cmluZyBmb3IgXwhzXwh0XwhyXwhmXwh0XwhpXwhtXwhlKDMpIHRvIHByaW50IHRoZSB0aW1lIHN0YW1wIGFzc29jaWF0ZWQKLSAgICAgICAgICAgICAgd2l0aCBlYWNoIGhpc3RvcnkgZW50cnkgZGlzcGxheWVkIGJ5IHRoZSAgaAhoaQhpcwhzdAh0bwhvcghyeQh5ICBidWlsdGluLiAgIElmCi0gICAgICAgICAgICAgIHRoaXMgIHZhcmlhYmxlICBpcyAgc2V0LCAgdGltZSBzdGFtcHMgYXJlIHdyaXR0ZW4gdG8gdGhlIGhpc3RvcnkKLSAgICAgICAgICAgICAgZmlsZSBzbyB0aGV5IG1heSBiZSBwcmVzZXJ2ZWQgYWNyb3NzIHNoZWxsIHNlc3Npb25zLiAgVGhpcyAgdXNlcwotICAgICAgICAgICAgICB0aGUgIGhpc3RvcnkgIGNvbW1lbnQgIGNoYXJhY3RlciAgdG8gZGlzdGluZ3Vpc2ggdGltZXN0YW1wcyBmcm9tCisgICAgICAgICAgICAgIHdpdGggIGVhY2ggIGhpc3RvcnkgIGVudHJ5IGRpc3BsYXllZCBieSB0aGUgaAhoaQhpcwhzdAh0bwhvcghyeQh5IGJ1aWx0aW4uICBJZgorICAgICAgICAgICAgICB0aGlzIHZhcmlhYmxlIGlzIHNldCwgdGltZSBzdGFtcHMgYXJlICB3cml0dGVuICB0byAgdGhlICBoaXN0b3J5CisgICAgICAgICAgICAgIGZpbGUgIHNvIHRoZXkgbWF5IGJlIHByZXNlcnZlZCBhY3Jvc3Mgc2hlbGwgc2Vzc2lvbnMuICBUaGlzIHVzZXMKKyAgICAgICAgICAgICAgdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIgIHRvICBkaXN0aW5ndWlzaCAgdGltZXN0YW1wcyAgZnJvbQogICAgICAgICAgICAgICBvdGhlciBoaXN0b3J5IGxpbmVzLgogICAgICAgIEgISE8IT00ITUUIRSAgIFRoZSBob21lIGRpcmVjdG9yeSBvZiB0aGUgY3VycmVudCB1c2VyOyB0aGUgZGVmYXVsdCBhcmd1bWVudCBmb3IKICAgICAgICAgICAgICAgdGhlIGMIY2QIZCBidWlsdGluIGNvbW1hbmQuICBUaGUgdmFsdWUgb2YgdGhpcyB2YXJpYWJsZSBpcyBhbHNvIHVzZWQKICAgICAgICAgICAgICAgd2hlbiBwZXJmb3JtaW5nIHRpbGRlIGV4cGFuc2lvbi4KICAgICAgICBICEhPCE9TCFNUCFRGCEZJCElMCExFCEUKLSAgICAgICAgICAgICAgQ29udGFpbnMgdGhlIG5hbWUgb2YgYSBmaWxlIGluIHRoZSAgc2FtZSAgZm9ybWF0ICBhcyAgXwgvXwhlXwh0XwhjXwgvXwhoXwhvXwhzXwh0XwhzCisgICAgICAgICAgICAgIENvbnRhaW5zICB0aGUgIG5hbWUgIG9mICBhIGZpbGUgaW4gdGhlIHNhbWUgZm9ybWF0IGFzIF8IL18IZV8IdF8IY18IL18IaF8Ib18Ic18IdF8IcwogICAgICAgICAgICAgICB0aGF0IHNob3VsZCBiZSByZWFkIHdoZW4gdGhlIHNoZWxsIG5lZWRzIHRvIGNvbXBsZXRlIGEgaG9zdG5hbWUuCi0gICAgICAgICAgICAgIFRoZSBsaXN0IG9mIHBvc3NpYmxlIGhvc3RuYW1lIGNvbXBsZXRpb25zIG1heSBiZSAgY2hhbmdlZCAgd2hpbGUKLSAgICAgICAgICAgICAgdGhlICBzaGVsbCAgaXMgIHJ1bm5pbmc7ICB0aGUgIG5leHQgIHRpbWUgaG9zdG5hbWUgY29tcGxldGlvbiBpcwotICAgICAgICAgICAgICBhdHRlbXB0ZWQgYWZ0ZXIgdGhlIHZhbHVlIGlzIGNoYW5nZWQsIGIIYmEIYXMIc2gIaCBhZGRzIHRoZSBjb250ZW50cyAgb2YKLSAgICAgICAgICAgICAgdGhlICBuZXcgZmlsZSB0byB0aGUgZXhpc3RpbmcgbGlzdC4gIElmIEgISE8IT1MIU1QIVEYIRkkISUwITEUIRSBpcyBzZXQsIGJ1dCBoYXMKLSAgICAgICAgICAgICAgbm8gdmFsdWUsIG9yIGRvZXMgbm90IG5hbWUgYSByZWFkYWJsZSAgZmlsZSwgIGIIYmEIYXMIc2gIaCAgYXR0ZW1wdHMgIHRvCi0gICAgICAgICAgICAgIHJlYWQgIF8IL18IZV8IdF8IY18IL18IaF8Ib18Ic18IdF8IcyB0byBvYnRhaW4gdGhlIGxpc3Qgb2YgcG9zc2libGUgaG9zdG5hbWUgY29tcGxlLQorICAgICAgICAgICAgICBUaGUgIGxpc3QgIG9mIHBvc3NpYmxlIGhvc3RuYW1lIGNvbXBsZXRpb25zIG1heSBiZSBjaGFuZ2VkIHdoaWxlCisgICAgICAgICAgICAgIHRoZSBzaGVsbCBpcyBydW5uaW5nOyAgdGhlICBuZXh0ICB0aW1lICBob3N0bmFtZSAgY29tcGxldGlvbiAgaXMKKyAgICAgICAgICAgICAgYXR0ZW1wdGVkICBhZnRlciB0aGUgdmFsdWUgaXMgY2hhbmdlZCwgYghiYQhhcwhzaAhoIGFkZHMgdGhlIGNvbnRlbnRzIG9mCisgICAgICAgICAgICAgIHRoZSBuZXcgZmlsZSB0byB0aGUgZXhpc3RpbmcgbGlzdC4gIElmIEgISE8IT1MIU1QIVEYIRkkISUwITEUIRSBpcyBzZXQsIGJ1dCAgaGFzCisgICAgICAgICAgICAgIG5vICB2YWx1ZSwgIG9yICBkb2VzICBub3QgbmFtZSBhIHJlYWRhYmxlIGZpbGUsIGIIYmEIYXMIc2gIaCBhdHRlbXB0cyB0bworICAgICAgICAgICAgICByZWFkIF8IL18IZV8IdF8IY18IL18IaF8Ib18Ic18IdF8IcyB0byBvYnRhaW4gdGhlIGxpc3Qgb2YgcG9zc2libGUgaG9zdG5hbWUgIGNvbXBsZS0KICAgICAgICAgICAgICAgdGlvbnMuICBXaGVuIEgISE8IT1MIU1QIVEYIRkkISUwITEUIRSBpcyB1bnNldCwgdGhlIGhvc3RuYW1lIGxpc3QgaXMgY2xlYXJlZC4KLSAgICAgICBJCElGCEZTCFMgICAgVGhlIF8ISV8Ibl8IdF8IZV8Icl8Ibl8IYV8IbCBfCEZfCGlfCGVfCGxfCGQgXwhTXwhlXwhwXwhhXwhyXwhhXwh0XwhvXwhyIHRoYXQgaXMgIHVzZWQgIGZvciAgd29yZCAgc3BsaXR0aW5nCi0gICAgICAgICAgICAgIGFmdGVyICBleHBhbnNpb24gIGFuZCAgdG8gIHNwbGl0ICBsaW5lcyBpbnRvIHdvcmRzIHdpdGggdGhlIHIIcmUIZWEIYWQIZAorICAgICAgIEkISUYIRlMIUyAgICBUaGUgIF8ISV8Ibl8IdF8IZV8Icl8Ibl8IYV8IbCAgXwhGXwhpXwhlXwhsXwhkICBfCFNfCGVfCHBfCGFfCHJfCGFfCHRfCG9fCHIgIHRoYXQgaXMgdXNlZCBmb3Igd29yZCBzcGxpdHRpbmcKKyAgICAgICAgICAgICAgYWZ0ZXIgZXhwYW5zaW9uIGFuZCB0byBzcGxpdCBsaW5lcyAgaW50byAgd29yZHMgIHdpdGggIHRoZSAgcghyZQhlYQhhZAhkCiAgICAgICAgICAgICAgIGJ1aWx0aW4gIGNvbW1hbmQuICAgVGhlICBkZWZhdWx0ICB2YWx1ZSAgaXMgIGBgPHNwYWNlPjx0YWI+PG5ldy0KICAgICAgICAgICAgICAgbGluZT4nJy4KICAgICAgICBJCElHCEdOCE5PCE9SCFJFCEVFCEVPCE9GCEYKICAgICAgICAgICAgICAgQ29udHJvbHMgdGhlIGFjdGlvbiBvZiBhbiBpbnRlcmFjdGl2ZSBzaGVsbCBvbiByZWNlaXB0IG9mIGFuIEUIRU8IT0YIRgogICAgICAgICAgICAgICBjaGFyYWN0ZXIgYXMgdGhlIHNvbGUgaW5wdXQuICBJZiBzZXQsIHRoZSB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mCi0gICAgICAgICAgICAgIGNvbnNlY3V0aXZlICBFCEVPCE9GCEYgIGNoYXJhY3RlcnMgIHdoaWNoICBtdXN0ICBiZSB0eXBlZCBhcyB0aGUgZmlyc3QKLSAgICAgICAgICAgICAgY2hhcmFjdGVycyBvbiBhbiBpbnB1dCBsaW5lIGJlZm9yZSBiCGJhCGFzCHNoCGggZXhpdHMuICBJZiB0aGUgIHZhcmlhYmxlCi0gICAgICAgICAgICAgIGV4aXN0cyAgYnV0ICBkb2VzIG5vdCBoYXZlIGEgbnVtZXJpYyB2YWx1ZSwgb3IgaGFzIG5vIHZhbHVlLCB0aGUKLSAgICAgICAgICAgICAgZGVmYXVsdCB2YWx1ZSBpcyAxMC4gIElmIGl0IGRvZXMgbm90IGV4aXN0LCAgRQhFTwhPRghGICBzaWduaWZpZXMgIHRoZQorICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBFCEVPCE9GCEYgY2hhcmFjdGVycyB3aGljaCBtdXN0ICBiZSAgdHlwZWQgIGFzICB0aGUgIGZpcnN0CisgICAgICAgICAgICAgIGNoYXJhY3RlcnMgIG9uIGFuIGlucHV0IGxpbmUgYmVmb3JlIGIIYmEIYXMIc2gIaCBleGl0cy4gIElmIHRoZSB2YXJpYWJsZQorICAgICAgICAgICAgICBleGlzdHMgYnV0IGRvZXMgbm90IGhhdmUgYSBudW1lcmljIHZhbHVlLCBvciBoYXMgbm8gIHZhbHVlLCAgdGhlCisgICAgICAgICAgICAgIGRlZmF1bHQgIHZhbHVlICBpcyAgMTAuICBJZiBpdCBkb2VzIG5vdCBleGlzdCwgRQhFTwhPRghGIHNpZ25pZmllcyB0aGUKICAgICAgICAgICAgICAgZW5kIG9mIGlucHV0IHRvIHRoZSBzaGVsbC4KICAgICAgICBJCElOCE5QCFBVCFVUCFRSCFJDCEMKLSAgICAgICAgICAgICAgVGhlICBmaWxlbmFtZSAgZm9yICB0aGUgIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZSAgc3RhcnR1cCAgZmlsZSwgb3ZlcnJpZGluZyB0aGUKKyAgICAgICAgICAgICAgVGhlIGZpbGVuYW1lIGZvciAgdGhlICByCHJlCGVhCGFkCGRsCGxpCGluCG5lCGUgIHN0YXJ0dXAgIGZpbGUsICBvdmVycmlkaW5nICB0aGUKICAgICAgICAgICAgICAgZGVmYXVsdCBvZiBfCH5fCC9fCC5fCGlfCG5fCHBfCHVfCHRfCHJfCGMgKHNlZSBSCFJFCEVBCEFECERMCExJCElOCE5FCEUgYmVsb3cpLgotICAgICAgIEwITEEIQU4ITkcIRyAgIFVzZWQgdG8gZGV0ZXJtaW5lIHRoZSAgbG9jYWxlICBjYXRlZ29yeSAgZm9yICBhbnkgIGNhdGVnb3J5ICBub3QKKyAgICAgICBMCExBCEFOCE5HCEcgICBVc2VkICB0byAgZGV0ZXJtaW5lICB0aGUgIGxvY2FsZSAgY2F0ZWdvcnkgIGZvciBhbnkgY2F0ZWdvcnkgbm90CiAgICAgICAgICAgICAgIHNwZWNpZmljYWxseSBzZWxlY3RlZCB3aXRoIGEgdmFyaWFibGUgc3RhcnRpbmcgd2l0aCBMCExDCENfCF8uCi0gICAgICAgTAhMQwhDXwhfQQhBTAhMTAhMIFRoaXMgIHZhcmlhYmxlICBvdmVycmlkZXMgIHRoZSAgdmFsdWUgIG9mIEwITEEIQU4ITkcIRyBhbmQgYW55IG90aGVyIEwITEMIQ18IXworICAgICAgIEwITEMIQ18IX0EIQUwITEwITCBUaGlzIHZhcmlhYmxlIG92ZXJyaWRlcyB0aGUgdmFsdWUgb2YgIEwITEEIQU4ITkcIRyAgYW5kICBhbnkgIG90aGVyICBMCExDCENfCF8KICAgICAgICAgICAgICAgdmFyaWFibGUgc3BlY2lmeWluZyBhIGxvY2FsZSBjYXRlZ29yeS4KICAgICAgICBMCExDCENfCF9DCENPCE9MCExMCExBCEFUCFRFCEUKLSAgICAgICAgICAgICAgVGhpcyB2YXJpYWJsZSBkZXRlcm1pbmVzIHRoZSBjb2xsYXRpb24gb3JkZXIgdXNlZCAgd2hlbiAgc29ydGluZwotICAgICAgICAgICAgICB0aGUgIHJlc3VsdHMgIG9mIHBhdGhuYW1lIGV4cGFuc2lvbiwgYW5kIGRldGVybWluZXMgdGhlIGJlaGF2aW9yCi0gICAgICAgICAgICAgIG9mICByYW5nZSAgZXhwcmVzc2lvbnMsICBlcXVpdmFsZW5jZSAgY2xhc3NlcywgICBhbmQgICBjb2xsYXRpbmcKKyAgICAgICAgICAgICAgVGhpcyAgdmFyaWFibGUgIGRldGVybWluZXMgdGhlIGNvbGxhdGlvbiBvcmRlciB1c2VkIHdoZW4gc29ydGluZworICAgICAgICAgICAgICB0aGUgcmVzdWx0cyBvZiBwYXRobmFtZSBleHBhbnNpb24sIGFuZCBkZXRlcm1pbmVzICB0aGUgIGJlaGF2aW9yCisgICAgICAgICAgICAgIG9mICAgcmFuZ2UgICBleHByZXNzaW9ucywgIGVxdWl2YWxlbmNlICBjbGFzc2VzLCAgYW5kICBjb2xsYXRpbmcKICAgICAgICAgICAgICAgc2VxdWVuY2VzIHdpdGhpbiBwYXRobmFtZSBleHBhbnNpb24gYW5kIHBhdHRlcm4gbWF0Y2hpbmcuCiAgICAgICAgTAhMQwhDXwhfQwhDVAhUWQhZUAhQRQhFCi0gICAgICAgICAgICAgIFRoaXMgIHZhcmlhYmxlICBkZXRlcm1pbmVzICB0aGUgaW50ZXJwcmV0YXRpb24gb2YgY2hhcmFjdGVycyBhbmQKLSAgICAgICAgICAgICAgdGhlIGJlaGF2aW9yIG9mIGNoYXJhY3RlciBjbGFzc2VzIHdpdGhpbiBwYXRobmFtZSBleHBhbnNpb24gIGFuZAorICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlIGRldGVybWluZXMgdGhlIGludGVycHJldGF0aW9uICBvZiAgY2hhcmFjdGVycyAgYW5kCisgICAgICAgICAgICAgIHRoZSAgYmVoYXZpb3Igb2YgY2hhcmFjdGVyIGNsYXNzZXMgd2l0aGluIHBhdGhuYW1lIGV4cGFuc2lvbiBhbmQKICAgICAgICAgICAgICAgcGF0dGVybiBtYXRjaGluZy4KICAgICAgICBMCExDCENfCF9NCE1FCEVTCFNTCFNBCEFHCEdFCEVTCFMKLSAgICAgICAgICAgICAgVGhpcyAgdmFyaWFibGUgIGRldGVybWluZXMgIHRoZSBsb2NhbGUgdXNlZCB0byB0cmFuc2xhdGUgZG91YmxlLQorICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlIGRldGVybWluZXMgdGhlIGxvY2FsZSB1c2VkICB0byAgdHJhbnNsYXRlICBkb3VibGUtCiAgICAgICAgICAgICAgIHF1b3RlZCBzdHJpbmdzIHByZWNlZGVkIGJ5IGEgJAgkLgogICAgICAgIEwITEMIQ18IX04ITlUIVU0ITUUIRVIIUkkISUMIQwotICAgICAgICAgICAgICBUaGlzIHZhcmlhYmxlIGRldGVybWluZXMgdGhlIGxvY2FsZSAgY2F0ZWdvcnkgIHVzZWQgIGZvciAgbnVtYmVyCisgICAgICAgICAgICAgIFRoaXMgIHZhcmlhYmxlICBkZXRlcm1pbmVzICB0aGUgIGxvY2FsZSBjYXRlZ29yeSB1c2VkIGZvciBudW1iZXIKICAgICAgICAgICAgICAgZm9ybWF0dGluZy4KLSAgICAgICBMCExJCElOCE5FCEVTCFMgIFVzZWQgIGJ5ICB0aGUgIHMIc2UIZWwIbGUIZWMIY3QIdCAgYnVpbHRpbiAgY29tbWFuZCAgdG8gZGV0ZXJtaW5lIHRoZSBjb2x1bW4KLSAgICAgICAgICAgICAgbGVuZ3RoIGZvciBwcmludGluZyBzZWxlY3Rpb24gIGxpc3RzLiAgIEF1dG9tYXRpY2FsbHkgIHNldCAgdXBvbgorICAgICAgIEwITEkISU4ITkUIRVMIUyAgVXNlZCBieSB0aGUgcwhzZQhlbAhsZQhlYwhjdAh0IGNvbXBvdW5kICBjb21tYW5kICB0byAgZGV0ZXJtaW5lICB0aGUgIGNvbHVtbgorICAgICAgICAgICAgICBsZW5ndGggIGZvciAgcHJpbnRpbmcgIHNlbGVjdGlvbiAgbGlzdHMuICBBdXRvbWF0aWNhbGx5IHNldCB1cG9uCiAgICAgICAgICAgICAgIHJlY2VpcHQgb2YgYSBTCFNJCElHCEdXCFdJCElOCE5DCENICEguCi0gICAgICAgTQhNQQhBSQhJTAhMICAgSWYgIHRoaXMgIHBhcmFtZXRlciBpcyBzZXQgdG8gYSBmaWxlIG5hbWUgYW5kIHRoZSBNCE1BCEFJCElMCExQCFBBCEFUCFRICEggdmFyaS0KLSAgICAgICAgICAgICAgYWJsZSBpcyBub3Qgc2V0LCBiCGJhCGFzCHNoCGggaW5mb3JtcyB0aGUgdXNlciBvZiB0aGUgYXJyaXZhbCBvZiBtYWlsIGluCi0gICAgICAgICAgICAgIHRoZSBzcGVjaWZpZWQgZmlsZS4KKyAgICAgICBNCE1BCEFJCElMCEwgICBJZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgdG8gYSBmaWxlIG9yICBkaXJlY3RvcnkgIG5hbWUgIGFuZCAgdGhlCisgICAgICAgICAgICAgIE0ITUEIQUkISUwITFAIUEEIQVQIVEgISCAgdmFyaWFibGUgIGlzICBub3QgIHNldCwgIGIIYmEIYXMIc2gIaCAgaW5mb3JtcyB0aGUgdXNlciBvZiB0aGUKKyAgICAgICAgICAgICAgYXJyaXZhbCBvZiBtYWlsIGluIHRoZSBzcGVjaWZpZWQgZmlsZSBvciAgTWFpbGRpci1mb3JtYXQgIGRpcmVjLQorICAgICAgICAgICAgICB0b3J5LgogICAgICAgIE0ITUEIQUkISUwITEMIQ0gISEUIRUMIQ0sISwogICAgICAgICAgICAgICBTcGVjaWZpZXMgIGhvdyAgb2Z0ZW4gIChpbiAgc2Vjb25kcykgIGIIYmEIYXMIc2gIaCBjaGVja3MgZm9yIG1haWwuICBUaGUKICAgICAgICAgICAgICAgZGVmYXVsdCBpcyA2MCBzZWNvbmRzLiAgV2hlbiBpdCBpcyB0aW1lIHRvIGNoZWNrIGZvciAgbWFpbCwgIHRoZQpAQCAtMTE4MSw4ICsxMjI4LDggQEAKICAgICAgICAgICAgICAgaXNzdWluZyAgdGhlICBwcmltYXJ5IHByb21wdC4gIEIIQmEIYXMIc2gIaCB0ZXJtaW5hdGVzIGFmdGVyIHdhaXRpbmcgZm9yCiAgICAgICAgICAgICAgIHRoYXQgbnVtYmVyIG9mIHNlY29uZHMgaWYgaW5wdXQgZG9lcyBub3QgYXJyaXZlLgogCi0gICAgICAgVAhUTQhNUAhQRAhESQhJUghSIElmIHNldCwgQghCYQhhcwhzaAhoIHVzZXMgaXRzIHZhbHVlIGFzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5IGluICB3aGljaAotICAgICAgICAgICAgICBCCEJhCGFzCHNoCGggY3JlYXRlcyB0ZW1wb3JhcnkgZmlsZXMgZm9yIHRoZSBzaGVsbCdzIHVzZS4KKyAgICAgICBUCFRNCE1QCFBECERJCElSCFIgSWYgc2V0LCBiCGJhCGFzCHNoCGggdXNlcyBpdHMgdmFsdWUgYXMgdGhlIG5hbWUgb2YgYSBkaXJlY3RvcnkgaW4gIHdoaWNoCisgICAgICAgICAgICAgIGIIYmEIYXMIc2gIaCBjcmVhdGVzIHRlbXBvcmFyeSBmaWxlcyBmb3IgdGhlIHNoZWxsJ3MgdXNlLgogCiAgICAgICAgYQhhdQh1dAh0bwhvXwhfcghyZQhlcwhzdQh1bQhtZQhlCiAgICAgICAgICAgICAgIFRoaXMgdmFyaWFibGUgY29udHJvbHMgaG93IHRoZSBzaGVsbCBpbnRlcmFjdHMgd2l0aCB0aGUgdXNlciBhbmQKQEAgLTEyMjcsMTAgKzEyNzQsMTIgQEAKIAogICAgICAgIEFuICBpbmRleGVkICBhcnJheSBpcyBjcmVhdGVkIGF1dG9tYXRpY2FsbHkgaWYgYW55IHZhcmlhYmxlIGlzIGFzc2lnbmVkCiAgICAgICAgdG8gdXNpbmcgdGhlIHN5bnRheCBfCG5fCGFfCG1fCGVbXwhzXwh1XwhiXwhzXwhjXwhyXwhpXwhwXwh0XT1fCHZfCGFfCGxfCHVfCGUuICBUaGUgXwhzXwh1XwhiXwhzXwhjXwhyXwhpXwhwXwh0IGlzIHRyZWF0ZWQgYXMKLSAgICAgICBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gdGhhdCBtdXN0IGV2YWx1YXRlIHRvIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiBvcgotICAgICAgIGVxdWFsIHRvIHplcm8uICBUbyBleHBsaWNpdGx5IGRlY2xhcmUgYW4gaW5kZXhlZCBhcnJheSwgdXNlIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSAgLQgtYQhhCi0gICAgICAgXwhuXwhhXwhtXwhlIChzZWUgUwhTSAhIRQhFTAhMTAhMIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpLiAgZAhkZQhlYwhjbAhsYQhhcghyZQhlIC0ILWEIYSBfCG5fCGFfCG1fCGVbCFtfCHNfCHVfCGJfCHNfCGNfCHJfCGlfCHBfCHRdCF0gaXMKLSAgICAgICBhbHNvIGFjY2VwdGVkOyB0aGUgXwhzXwh1XwhiXwhzXwhjXwhyXwhpXwhwXwh0IGlzIGlnbm9yZWQuCisgICAgICAgYW4gIGFyaXRobWV0aWMgZXhwcmVzc2lvbiB0aGF0IG11c3QgZXZhbHVhdGUgdG8gYSBudW1iZXIuICBJZiBfCHNfCHVfCGJfCHNfCGNfCHJfCGlfCHBfCHQKKyAgICAgICBldmFsdWF0ZXMgdG8gYSBudW1iZXIgbGVzcyB0aGFuIHplcm8sIGl0IGlzIHVzZWQgYXMgYW4gb2Zmc2V0IGZyb20gIG9uZQorICAgICAgIGdyZWF0ZXIgIHRoYW4gIHRoZSBhcnJheSdzIG1heGltdW0gaW5kZXggKHNvIGEgc3ViY3JpcHQgb2YgLTEgcmVmZXJzIHRvCisgICAgICAgdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgIGFycmF5KS4gICBUbyAgZXhwbGljaXRseSAgZGVjbGFyZSAgYW4gIGluZGV4ZWQKKyAgICAgICBhcnJheSwgdXNlIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSAtCC1hCGEgXwhuXwhhXwhtXwhlIChzZWUgUwhTSAhIRQhFTAhMTAhMIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpLiAgZAhkZQhlYwhjbAhsYQhhcghyZQhlCisgICAgICAgLQgtYQhhIF8Ibl8IYV8IbV8IZVsIW18Ic18IdV8IYl8Ic18IY18Icl8IaV8IcF8IdF0IXSBpcyBhbHNvIGFjY2VwdGVkOyB0aGUgXwhzXwh1XwhiXwhzXwhjXwhyXwhpXwhwXwh0IGlzIGlnbm9yZWQuCiAKICAgICAgICBBc3NvY2lhdGl2ZSBhcnJheXMgYXJlIGNyZWF0ZWQgdXNpbmcgZAhkZQhlYwhjbAhsYQhhcghyZQhlIC0ILUEIQSBfCG5fCGFfCG1fCGUuCiAKQEAgLTE0MTQsOSArMTQ2Myw5IEBACiAgICAgICAgYWJsZTsgdGhpcyB2YXJpYWJsZSBpcyB0aGVuIGV4cGFuZGVkIGFuZCB0aGF0IHZhbHVlIGlzIHVzZWQgaW4gdGhlIHJlc3QKICAgICAgICBvZiB0aGUgc3Vic3RpdHV0aW9uLCByYXRoZXIgdGhhbiB0aGUgdmFsdWUgb2YgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyICBpdHNlbGYuICAgVGhpcwogICAgICAgIGlzICBrbm93biBhcyBfCGlfCG5fCGRfCGlfCHJfCGVfCGNfCHQgXwhlXwh4XwhwXwhhXwhuXwhzXwhpXwhvXwhuLiAgVGhlIGV4Y2VwdGlvbnMgdG8gdGhpcyBhcmUgdGhlIGV4cGFuLQotICAgICAgIHNpb25zIG9mICR7IV8IcF8Icl8IZV8IZl8IaV8IeCp9IGFuZCAkeyEIIV8Ibl8IYV8IbV8IZVtfCEBdfSBkZXNjcmliZWQgYmVsb3cuICBUaGUgIGV4Y2xhbWF0aW9uCi0gICAgICAgcG9pbnQgIG11c3QgIGltbWVkaWF0ZWx5ICBmb2xsb3cgIHRoZSAgbGVmdCBicmFjZSBpbiBvcmRlciB0byBpbnRyb2R1Y2UKLSAgICAgICBpbmRpcmVjdGlvbi4KKyAgICAgICBzaW9ucyBvZiAkeyEIIVwIXGYIZlAIUGYIZkkISXAIcHIIcmUIZWYIZmkIaXgIeCoIKn0gYW5kICR7IQghXwhuXwhhXwhtXwhlW18IQF19IGRlc2NyaWJlZCBiZWxvdy4gIFRoZSAgZXhjbGEtCisgICAgICAgbWF0aW9uICBwb2ludCBtdXN0IGltbWVkaWF0ZWx5IGZvbGxvdyB0aGUgbGVmdCBicmFjZSBpbiBvcmRlciB0byBpbnRyby0KKyAgICAgICBkdWNlIGluZGlyZWN0aW9uLgogCiAgICAgICAgSW4gZWFjaCBvZiB0aGUgY2FzZXMgYmVsb3csIF8Id18Ib18Icl8IZCBpcyBzdWJqZWN0IHRvIHRpbGRlIGV4cGFuc2lvbiwgcGFyYW1lLQogICAgICAgIHRlciBleHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhbmQgYXJpdGhtZXRpYyBleHBhbnNpb24uCkBAIC0xNDQ1LDExMyArMTQ5NCwxMTcgQEAKICAgICAgICAgICAgICAgc3Vic3RpdHV0ZWQsIG90aGVyd2lzZSB0aGUgZXhwYW5zaW9uIG9mIF8Id18Ib18Icl8IZCBpcyBzdWJzdGl0dXRlZC4KICAgICAgICAke18IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IcjoIOl8Ib18IZl8IZl8Ic18IZV8IdH0KICAgICAgICAke18IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IcjoIOl8Ib18IZl8IZl8Ic18IZV8IdDoIOl8IbF8IZV8Ibl8IZ18IdF8IaH0KLSAgICAgICAgICAgICAgUwhTdQh1YghicwhzdAh0cghyaQhpbghuZwhnICBFCEV4CHhwCHBhCGFuCG5zCHNpCGlvCG9uCG4uCC4gICBFeHBhbmRzICB0byAgdXAgIHRvIF8IbF8IZV8Ibl8IZ18IdF8IaCBjaGFyYWN0ZXJzIG9mCisgICAgICAgICAgICAgIFMIU3UIdWIIYnMIc3QIdHIIcmkIaW4IbmcIZyAgRQhFeAh4cAhwYQhhbghucwhzaQhpbwhvbghuLiAgIEV4cGFuZHMgIHRvICB1cCAgdG8gXwhsXwhlXwhuXwhnXwh0XwhoIGNoYXJhY3RlcnMgb2YKICAgICAgICAgICAgICAgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIHN0YXJ0aW5nIGF0IHRoZSBjaGFyYWN0ZXIgIHNwZWNpZmllZCAgYnkgIF8Ib18IZl8IZl8Ic18IZV8IdC4gICBJZgogICAgICAgICAgICAgICBfCGxfCGVfCG5fCGdfCHRfCGggIGlzIG9taXR0ZWQsIGV4cGFuZHMgdG8gdGhlIHN1YnN0cmluZyBvZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgc3RhcnQtCiAgICAgICAgICAgICAgIGluZyBhdCB0aGUgY2hhcmFjdGVyIHNwZWNpZmllZCBieSBfCG9fCGZfCGZfCHNfCGVfCHQuICBfCGxfCGVfCG5fCGdfCHRfCGggYW5kIF8Ib18IZl8IZl8Ic18IZV8IdCBhcmUKLSAgICAgICAgICAgICAgYXJpdGhtZXRpYyAgIGV4cHJlc3Npb25zICAgKHNlZSAgQQhBUghSSQhJVAhUSAhITQhNRQhFVAhUSQhJQwhDICBFCEVWCFZBCEFMCExVCFVBCEFUCFRJCElPCE9OCE4gIGJlbG93KS4KLSAgICAgICAgICAgICAgXwhsXwhlXwhuXwhnXwh0XwhoIG11c3QgZXZhbHVhdGUgdG8gYSBudW1iZXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICB6ZXJvLgotICAgICAgICAgICAgICBJZiAgXwhvXwhmXwhmXwhzXwhlXwh0ICBldmFsdWF0ZXMgIHRvICBhIG51bWJlciBsZXNzIHRoYW4gemVybywgdGhlIHZhbHVlIGlzCi0gICAgICAgICAgICAgIHVzZWQgYXMgYW4gb2Zmc2V0IGZyb20gdGhlIGVuZCBvZiB0aGUgdmFsdWUgIG9mICBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIuICAgSWYKLSAgICAgICAgICAgICAgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyICBpcyAgQAhALCAgdGhlICByZXN1bHQgIGlzICBfCGxfCGVfCG5fCGdfCHRfCGggcG9zaXRpb25hbCBwYXJhbWV0ZXJzCi0gICAgICAgICAgICAgIGJlZ2lubmluZyBhdCBfCG9fCGZfCGZfCHNfCGVfCHQuICBJZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgaXMgYW4gaW5kZXhlZCBhcnJheSBuYW1lIHN1Yi0KLSAgICAgICAgICAgICAgc2NyaXB0ZWQgIGJ5ICBAICBvciAgKiwgIHRoZSByZXN1bHQgaXMgdGhlIF8IbF8IZV8Ibl8IZ18IdF8IaCBtZW1iZXJzIG9mIHRoZQotICAgICAgICAgICAgICBhcnJheSBiZWdpbm5pbmcgd2l0aCAke18IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IcltfCG9fCGZfCGZfCHNfCGVfCHRdfS4gIEEgbmVnYXRpdmUgXwhvXwhmXwhmXwhzXwhlXwh0IGlzCi0gICAgICAgICAgICAgIHRha2VuICByZWxhdGl2ZSAgdG8gIG9uZSAgZ3JlYXRlciAgdGhhbiB0aGUgbWF4aW11bSBpbmRleCBvZiB0aGUKLSAgICAgICAgICAgICAgc3BlY2lmaWVkIGFycmF5LiAgU3Vic3RyaW5nIGV4cGFuc2lvbiBhcHBsaWVkIHRvIGFuICBhc3NvY2lhdGl2ZQotICAgICAgICAgICAgICBhcnJheSAgcHJvZHVjZXMgIHVuZGVmaW5lZCByZXN1bHRzLiAgTm90ZSB0aGF0IGEgbmVnYXRpdmUgb2Zmc2V0Ci0gICAgICAgICAgICAgIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gdGhlIGNvbG9uIGJ5IGF0IGxlYXN0IG9uZSBzcGFjZSB0byAgYXZvaWQKLSAgICAgICAgICAgICAgYmVpbmcgIGNvbmZ1c2VkICB3aXRoICB0aGUgIDotIGV4cGFuc2lvbi4gIFN1YnN0cmluZyBpbmRleGluZyBpcwotICAgICAgICAgICAgICB6ZXJvLWJhc2VkIHVubGVzcyB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSB1c2VkLCAgaW4gIHdoaWNoCi0gICAgICAgICAgICAgIGNhc2UgIHRoZSAgaW5kZXhpbmcgc3RhcnRzIGF0IDEgYnkgZGVmYXVsdC4gIElmIF8Ib18IZl8IZl8Ic18IZV8IdCBpcyAwLCBhbmQKLSAgICAgICAgICAgICAgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgdXNlZCwgJAgkMAgwIGlzIHByZWZpeGVkIHRvIHRoZSAgbGlzdC4KKyAgICAgICAgICAgICAgYXJpdGhtZXRpYyAgZXhwcmVzc2lvbnMgIChzZWUgIEEIQVIIUkkISVQIVEgISE0ITUUIRVQIVEkISUMIQyBFCEVWCFZBCEFMCExVCFVBCEFUCFRJCElPCE9OCE4gYmVsb3cpLiAgSWYKKyAgICAgICAgICAgICAgXwhvXwhmXwhmXwhzXwhlXwh0IGV2YWx1YXRlcyB0byBhIG51bWJlciBsZXNzIHRoYW4gemVybywgdGhlIHZhbHVlICBpcyAgdXNlZAorICAgICAgICAgICAgICBhcyAgYW4gb2Zmc2V0IGZyb20gdGhlIGVuZCBvZiB0aGUgdmFsdWUgb2YgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyLiAgSWYgXwhsXwhlXwhuXwhnXwh0XwhoCisgICAgICAgICAgICAgIGV2YWx1YXRlcyB0byBhIG51bWJlciBsZXNzIHRoYW4gemVybywgYW5kIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciBpcyBub3QgQAhAIGFuZAorICAgICAgICAgICAgICBub3QgIGFuICBpbmRleGVkICBvciAgYXNzb2NpYXRpdmUgYXJyYXksIGl0IGlzIGludGVycHJldGVkIGFzIGFuCisgICAgICAgICAgICAgIG9mZnNldCBmcm9tIHRoZSBlbmQgb2YgdGhlIHZhbHVlIG9mIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciByYXRoZXIgdGhhbiBhIG51bS0KKyAgICAgICAgICAgICAgYmVyICBvZiAgY2hhcmFjdGVycywgYW5kIHRoZSBleHBhbnNpb24gaXMgdGhlIGNoYXJhY3RlcnMgYmV0d2VlbgorICAgICAgICAgICAgICB0aGUgdHdvIG9mZnNldHMuICBJZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgaXMgQAhALCB0aGUgcmVzdWx0IGlzIF8IbF8IZV8Ibl8IZ18IdF8IaCAgcG9zaS0KKyAgICAgICAgICAgICAgdGlvbmFsICBwYXJhbWV0ZXJzICBiZWdpbm5pbmcgIGF0ICBfCG9fCGZfCGZfCHNfCGVfCHQuICAgSWYgIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciBpcyBhbgorICAgICAgICAgICAgICBpbmRleGVkIGFycmF5IG5hbWUgc3Vic2NyaXB0ZWQgYnkgQCBvciAgKiwgIHRoZSAgcmVzdWx0ICBpcyAgdGhlCisgICAgICAgICAgICAgIF8IbF8IZV8Ibl8IZ18IdF8IaCBtZW1iZXJzIG9mIHRoZSBhcnJheSBiZWdpbm5pbmcgd2l0aCAke18IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IcltfCG9fCGZfCGZfCHNfCGVfCHRdfS4KKyAgICAgICAgICAgICAgQSBuZWdhdGl2ZSBfCG9fCGZfCGZfCHNfCGVfCHQgaXMgdGFrZW4gcmVsYXRpdmUgdG8gb25lIGdyZWF0ZXIgdGhhbiB0aGUgbWF4LQorICAgICAgICAgICAgICBpbXVtICBpbmRleCBvZiB0aGUgc3BlY2lmaWVkIGFycmF5LiAgU3Vic3RyaW5nIGV4cGFuc2lvbiBhcHBsaWVkCisgICAgICAgICAgICAgIHRvIGFuIGFzc29jaWF0aXZlIGFycmF5IHByb2R1Y2VzIHVuZGVmaW5lZCByZXN1bHRzLiAgTm90ZSB0aGF0IGEKKyAgICAgICAgICAgICAgbmVnYXRpdmUgb2Zmc2V0IG11c3QgYmUgc2VwYXJhdGVkIGZyb20gdGhlIGNvbG9uIGJ5IGF0IGxlYXN0IG9uZQorICAgICAgICAgICAgICBzcGFjZSB0byBhdm9pZCBiZWluZyBjb25mdXNlZCB3aXRoIHRoZSA6LSBleHBhbnNpb24uICAgU3Vic3RyaW5nCisgICAgICAgICAgICAgIGluZGV4aW5nICBpcyAgemVyby1iYXNlZCAgdW5sZXNzICB0aGUgIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUKKyAgICAgICAgICAgICAgdXNlZCwgaW4gd2hpY2ggY2FzZSB0aGUgaW5kZXhpbmcgc3RhcnRzIGF0ICAxICBieSAgZGVmYXVsdC4gICBJZgorICAgICAgICAgICAgICBfCG9fCGZfCGZfCHNfCGVfCHQgIGlzIDAsIGFuZCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSB1c2VkLCAkCCQwCDAgaXMgcHJlLQorICAgICAgICAgICAgICBmaXhlZCB0byB0aGUgbGlzdC4KIAogICAgICAgICR7IQghXwhwXwhyXwhlXwhmXwhpXwh4KggqfQogICAgICAgICR7IQghXwhwXwhyXwhlXwhmXwhpXwh4QAhAfQotICAgICAgICAgICAgICBOCE5hCGFtCG1lCGVzCHMgIG0IbWEIYXQIdGMIY2gIaGkIaW4IbmcIZyBwCHByCHJlCGVmCGZpCGl4CHguCC4gIEV4cGFuZHMgdG8gdGhlIG5hbWVzIG9mIHZhcmlhYmxlcyB3aG9zZQorICAgICAgICAgICAgICBOCE5hCGFtCG1lCGVzCHMgbQhtYQhhdAh0YwhjaAhoaQhpbghuZwhnIHAIcHIIcmUIZWYIZmkIaXgIeC4gIEV4cGFuZHMgdG8gdGhlIG5hbWVzIG9mIHZhcmlhYmxlcyAgd2hvc2UKICAgICAgICAgICAgICAgbmFtZXMgYmVnaW4gd2l0aCBfCHBfCHJfCGVfCGZfCGlfCHgsIHNlcGFyYXRlZCBieSB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZQotICAgICAgICAgICAgICBJCElGCEZTCFMgIHNwZWNpYWwgdmFyaWFibGUuICBXaGVuIF8IQCBpcyB1c2VkIGFuZCB0aGUgZXhwYW5zaW9uIGFwcGVhcnMKLSAgICAgICAgICAgICAgd2l0aGluIGRvdWJsZSBxdW90ZXMsIGVhY2ggdmFyaWFibGUgbmFtZSBleHBhbmRzIHRvICBhICBzZXBhcmF0ZQorICAgICAgICAgICAgICBJCElGCEZTCFMgc3BlY2lhbCB2YXJpYWJsZS4gIFdoZW4gXwhAIGlzIHVzZWQgYW5kIHRoZSBleHBhbnNpb24gIGFwcGVhcnMKKyAgICAgICAgICAgICAgd2l0aGluICBkb3VibGUgIHF1b3RlcywgZWFjaCB2YXJpYWJsZSBuYW1lIGV4cGFuZHMgdG8gYSBzZXBhcmF0ZQogICAgICAgICAgICAgICB3b3JkLgogCiAgICAgICAgJHshCCFfCG5fCGFfCG1fCGVbXwhAXX0KICAgICAgICAkeyEIIV8Ibl8IYV8IbV8IZVtfCCpdfQotICAgICAgICAgICAgICBMCExpCGlzCHN0CHQgIG8Ib2YIZiAgYQhhcghycghyYQhheQh5ICBrCGtlCGV5CHlzCHMuCC4gIElmIF8Ibl8IYV8IbV8IZSBpcyBhbiBhcnJheSB2YXJpYWJsZSwgZXhwYW5kcyB0bwotICAgICAgICAgICAgICB0aGUgbGlzdCBvZiBhcnJheSBpbmRpY2VzIChrZXlzKSBhc3NpZ25lZCBpbiBfCG5fCGFfCG1fCGUuICBJZiAgXwhuXwhhXwhtXwhlICBpcwotICAgICAgICAgICAgICBub3QgIGFuICBhcnJheSwgIGV4cGFuZHMgdG8gMCBpZiBfCG5fCGFfCG1fCGUgaXMgc2V0IGFuZCBudWxsIG90aGVyd2lzZS4KLSAgICAgICAgICAgICAgV2hlbiBfCEAgaXMgdXNlZCBhbmQgdGhlIGV4cGFuc2lvbiBhcHBlYXJzIHdpdGhpbiAgZG91YmxlICBxdW90ZXMsCisgICAgICAgICAgICAgIEwITGkIaXMIc3QIdCBvCG9mCGYgYQhhcghycghyYQhheQh5IGsIa2UIZXkIeXMIcy4gIElmIF8Ibl8IYV8IbV8IZSBpcyBhbiBhcnJheSAgdmFyaWFibGUsICBleHBhbmRzICB0bworICAgICAgICAgICAgICB0aGUgIGxpc3QgIG9mIGFycmF5IGluZGljZXMgKGtleXMpIGFzc2lnbmVkIGluIF8Ibl8IYV8IbV8IZS4gIElmIF8Ibl8IYV8IbV8IZSBpcworICAgICAgICAgICAgICBub3QgYW4gYXJyYXksIGV4cGFuZHMgdG8gMCBpZiBfCG5fCGFfCG1fCGUgaXMgc2V0ICBhbmQgIG51bGwgIG90aGVyd2lzZS4KKyAgICAgICAgICAgICAgV2hlbiAgXwhAICBpcyB1c2VkIGFuZCB0aGUgZXhwYW5zaW9uIGFwcGVhcnMgd2l0aGluIGRvdWJsZSBxdW90ZXMsCiAgICAgICAgICAgICAgIGVhY2gga2V5IGV4cGFuZHMgdG8gYSBzZXBhcmF0ZSB3b3JkLgogCiAgICAgICAgJHsjCCNfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHJ9Ci0gICAgICAgICAgICAgIFAIUGEIYXIIcmEIYW0IbWUIZXQIdGUIZXIIciAgbAhsZQhlbghuZwhndAh0aAhoLgguICAgVGhlICBsZW5ndGggIGluICBjaGFyYWN0ZXJzIG9mIHRoZSB2YWx1ZSBvZgotICAgICAgICAgICAgICBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgaXMgc3Vic3RpdHV0ZWQuICBJZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgaXMgKggqICBvciAgQAhALCAgdGhlICB2YWx1ZQotICAgICAgICAgICAgICBzdWJzdGl0dXRlZCAgaXMgdGhlIG51bWJlciBvZiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuICBJZiBfCHBfCGFfCHJfCGFfCG1fCGVfCC0KLSAgICAgICAgICAgICAgXwh0XwhlXwhyIGlzIGFuIGFycmF5IG5hbWUgc3Vic2NyaXB0ZWQgYnkgKggqIG9yIEAIQCwgIHRoZSAgdmFsdWUgIHN1YnN0aS0KKyAgICAgICAgICAgICAgUAhQYQhhcghyYQhhbQhtZQhldAh0ZQhlcghyIGwIbGUIZW4IbmcIZ3QIdGgIaC4gIFRoZSBsZW5ndGggaW4gIGNoYXJhY3RlcnMgIG9mICB0aGUgIHZhbHVlICBvZgorICAgICAgICAgICAgICBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgIGlzICBzdWJzdGl0dXRlZC4gICBJZiAgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIGlzICoIKiBvciBACEAsIHRoZSB2YWx1ZQorICAgICAgICAgICAgICBzdWJzdGl0dXRlZCBpcyB0aGUgbnVtYmVyIG9mIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4gIElmICBfCHBfCGFfCHJfCGFfCG1fCGVfCC0KKyAgICAgICAgICAgICAgXwh0XwhlXwhyICBpcyAgYW4gIGFycmF5IG5hbWUgc3Vic2NyaXB0ZWQgYnkgKggqIG9yIEAIQCwgdGhlIHZhbHVlIHN1YnN0aS0KICAgICAgICAgICAgICAgdHV0ZWQgaXMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGUgYXJyYXkuCiAKICAgICAgICAke18IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciMII18Id18Ib18Icl8IZH0KICAgICAgICAke18IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciMIIyMII18Id18Ib18Icl8IZH0KLSAgICAgICAgICAgICAgUghSZQhlbQhtbwhvdgh2ZQhlIG0IbWEIYXQIdGMIY2gIaGkIaW4IbmcIZyBwCHByCHJlCGVmCGZpCGl4CHggcAhwYQhhdAh0dAh0ZQhlcghybghuLgguICBUaGUgXwh3XwhvXwhyXwhkIGlzIGV4cGFuZGVkIHRvIHByb2R1Y2UKKyAgICAgICAgICAgICAgUghSZQhlbQhtbwhvdgh2ZQhlIG0IbWEIYXQIdGMIY2gIaGkIaW4IbmcIZyBwCHByCHJlCGVmCGZpCGl4CHggcAhwYQhhdAh0dAh0ZQhlcghybghuLiAgVGhlIF8Id18Ib18Icl8IZCBpcyBleHBhbmRlZCB0byBwcm9kdWNlCiAgICAgICAgICAgICAgIGEgcGF0dGVybiBqdXN0IGFzIGluIHBhdGhuYW1lIGV4cGFuc2lvbi4gIElmIHRoZSBwYXR0ZXJuIG1hdGNoZXMKLSAgICAgICAgICAgICAgdGhlICBiZWdpbm5pbmcgb2YgdGhlIHZhbHVlIG9mIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciwgdGhlbiB0aGUgcmVzdWx0IG9mIHRoZQotICAgICAgICAgICAgICBleHBhbnNpb24gaXMgdGhlIGV4cGFuZGVkIHZhbHVlIG9mIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciB3aXRoICB0aGUgIHNob3J0ZXN0Ci0gICAgICAgICAgICAgIG1hdGNoaW5nICBwYXR0ZXJuICAodGhlIGBgIwgjJycgY2FzZSkgb3IgdGhlIGxvbmdlc3QgbWF0Y2hpbmcgcGF0LQotICAgICAgICAgICAgICB0ZXJuICh0aGUgYGAjCCMjCCMnJyBjYXNlKSBkZWxldGVkLiAgSWYgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIGlzICBACEAgIG9yICAqCCosICB0aGUKLSAgICAgICAgICAgICAgcGF0dGVybiAgcmVtb3ZhbCBvcGVyYXRpb24gaXMgYXBwbGllZCB0byBlYWNoIHBvc2l0aW9uYWwgcGFyYW1lLQorICAgICAgICAgICAgICB0aGUgYmVnaW5uaW5nIG9mIHRoZSB2YWx1ZSBvZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIsIHRoZW4gdGhlIHJlc3VsdCBvZiAgdGhlCisgICAgICAgICAgICAgIGV4cGFuc2lvbiAgaXMgIHRoZSBleHBhbmRlZCB2YWx1ZSBvZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgd2l0aCB0aGUgc2hvcnRlc3QKKyAgICAgICAgICAgICAgbWF0Y2hpbmcgcGF0dGVybiAodGhlIGBgIwgjJycgY2FzZSkgb3IgdGhlIGxvbmdlc3QgIG1hdGNoaW5nICBwYXQtCisgICAgICAgICAgICAgIHRlcm4gICh0aGUgIGBgIwgjIwgjJycgIGNhc2UpICBkZWxldGVkLiAgSWYgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIGlzIEAIQCBvciAqCCosIHRoZQorICAgICAgICAgICAgICBwYXR0ZXJuIHJlbW92YWwgb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaCBwb3NpdGlvbmFsICBwYXJhbWUtCiAgICAgICAgICAgICAgIHRlciBpbiB0dXJuLCBhbmQgdGhlIGV4cGFuc2lvbiBpcyB0aGUgcmVzdWx0YW50IGxpc3QuICBJZiBfCHBfCGFfCHJfCGFfCG1fCC0KLSAgICAgICAgICAgICAgXwhlXwh0XwhlXwhyICBpcyAgYW4gYXJyYXkgdmFyaWFibGUgc3Vic2NyaXB0ZWQgd2l0aCBACEAgb3IgKggqLCB0aGUgcGF0dGVybgotICAgICAgICAgICAgICByZW1vdmFsIG9wZXJhdGlvbiBpcyBhcHBsaWVkIHRvIGVhY2ggIG1lbWJlciAgb2YgIHRoZSAgYXJyYXkgIGluCisgICAgICAgICAgICAgIF8IZV8IdF8IZV8IciBpcyBhbiBhcnJheSB2YXJpYWJsZSBzdWJzY3JpcHRlZCB3aXRoIEAIQCBvciAqCCosICB0aGUgIHBhdHRlcm4KKyAgICAgICAgICAgICAgcmVtb3ZhbCAgb3BlcmF0aW9uICBpcyAgYXBwbGllZCAgdG8gIGVhY2ggbWVtYmVyIG9mIHRoZSBhcnJheSBpbgogICAgICAgICAgICAgICB0dXJuLCBhbmQgdGhlIGV4cGFuc2lvbiBpcyB0aGUgcmVzdWx0YW50IGxpc3QuCiAKICAgICAgICAke18IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciUIJV8Id18Ib18Icl8IZH0KICAgICAgICAke18IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciUIJSUIJV8Id18Ib18Icl8IZH0KLSAgICAgICAgICAgICAgUghSZQhlbQhtbwhvdgh2ZQhlIG0IbWEIYXQIdGMIY2gIaGkIaW4IbmcIZyBzCHN1CHVmCGZmCGZpCGl4CHggcAhwYQhhdAh0dAh0ZQhlcghybghuLgguICBUaGUgXwh3XwhvXwhyXwhkIGlzIGV4cGFuZGVkIHRvIHByb2R1Y2UKKyAgICAgICAgICAgICAgUghSZQhlbQhtbwhvdgh2ZQhlIG0IbWEIYXQIdGMIY2gIaGkIaW4IbmcIZyBzCHN1CHVmCGZmCGZpCGl4CHggcAhwYQhhdAh0dAh0ZQhlcghybghuLiAgVGhlIF8Id18Ib18Icl8IZCBpcyBleHBhbmRlZCB0byBwcm9kdWNlCiAgICAgICAgICAgICAgIGEgcGF0dGVybiBqdXN0IGFzIGluIHBhdGhuYW1lIGV4cGFuc2lvbi4gIElmIHRoZSBwYXR0ZXJuIG1hdGNoZXMKLSAgICAgICAgICAgICAgYSAgdHJhaWxpbmcgcG9ydGlvbiBvZiB0aGUgZXhwYW5kZWQgdmFsdWUgb2YgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyLCB0aGVuIHRoZQotICAgICAgICAgICAgICByZXN1bHQgb2YgdGhlIGV4cGFuc2lvbiBpcyB0aGUgZXhwYW5kZWQgdmFsdWUgb2YgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyICB3aXRoCi0gICAgICAgICAgICAgIHRoZSAgc2hvcnRlc3QgIG1hdGNoaW5nICBwYXR0ZXJuICh0aGUgYGAlCCUnJyBjYXNlKSBvciB0aGUgbG9uZ2VzdAotICAgICAgICAgICAgICBtYXRjaGluZyBwYXR0ZXJuICh0aGUgYGAlCCUlCCUnJyBjYXNlKSBkZWxldGVkLiAgSWYgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyICBpcyAgQAhACi0gICAgICAgICAgICAgIG9yICAqCCosICB0aGUgIHBhdHRlcm4gIHJlbW92YWwgb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaCBwb3NpLQotICAgICAgICAgICAgICB0aW9uYWwgcGFyYW1ldGVyIGluIHR1cm4sIGFuZCB0aGUgIGV4cGFuc2lvbiAgaXMgIHRoZSAgcmVzdWx0YW50Ci0gICAgICAgICAgICAgIGxpc3QuICAgSWYgIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciBpcyBhbiBhcnJheSB2YXJpYWJsZSBzdWJzY3JpcHRlZCB3aXRoIEAIQCBvcgotICAgICAgICAgICAgICAqCCosIHRoZSBwYXR0ZXJuIHJlbW92YWwgb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gIGVhY2ggIG1lbWJlciAgb2YKKyAgICAgICAgICAgICAgYSB0cmFpbGluZyBwb3J0aW9uIG9mIHRoZSBleHBhbmRlZCB2YWx1ZSBvZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIsIHRoZW4gIHRoZQorICAgICAgICAgICAgICByZXN1bHQgIG9mIHRoZSBleHBhbnNpb24gaXMgdGhlIGV4cGFuZGVkIHZhbHVlIG9mIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciB3aXRoCisgICAgICAgICAgICAgIHRoZSBzaG9ydGVzdCBtYXRjaGluZyBwYXR0ZXJuICh0aGUgYGAlCCUnJyBjYXNlKSAgb3IgIHRoZSAgbG9uZ2VzdAorICAgICAgICAgICAgICBtYXRjaGluZyAgcGF0dGVybiAgKHRoZSBgYCUIJSUIJScnIGNhc2UpIGRlbGV0ZWQuICBJZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgaXMgQAhACisgICAgICAgICAgICAgIG9yICoIKiwgdGhlIHBhdHRlcm4gcmVtb3ZhbCBvcGVyYXRpb24gaXMgIGFwcGxpZWQgIHRvICBlYWNoICBwb3NpLQorICAgICAgICAgICAgICB0aW9uYWwgIHBhcmFtZXRlciAgaW4gIHR1cm4sICBhbmQgdGhlIGV4cGFuc2lvbiBpcyB0aGUgcmVzdWx0YW50CisgICAgICAgICAgICAgIGxpc3QuICBJZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgaXMgYW4gYXJyYXkgdmFyaWFibGUgc3Vic2NyaXB0ZWQgd2l0aCAgQAhAICBvcgorICAgICAgICAgICAgICAqCCosICB0aGUgIHBhdHRlcm4gIHJlbW92YWwgb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaCBtZW1iZXIgb2YKICAgICAgICAgICAgICAgdGhlIGFycmF5IGluIHR1cm4sIGFuZCB0aGUgZXhwYW5zaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4KIAogICAgICAgICR7XwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyLwgvXwhwXwhhXwh0Xwh0XwhlXwhyXwhuLwgvXwhzXwh0XwhyXwhpXwhuXwhnfQotICAgICAgICAgICAgICBQCFBhCGF0CHR0CHRlCGVyCHJuCG4gcwhzdQh1YghicwhzdAh0aQhpdAh0dQh1dAh0aQhpbwhvbghuLgguICBUaGUgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuIGlzIGV4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXQtCi0gICAgICAgICAgICAgIHRlcm4ganVzdCBhcyBpbiBwYXRobmFtZSBleHBhbnNpb24uICBfCFBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgaXMgIGV4cGFuZGVkICBhbmQKLSAgICAgICAgICAgICAgdGhlICBsb25nZXN0IG1hdGNoIG9mIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiBhZ2FpbnN0IGl0cyB2YWx1ZSBpcyByZXBsYWNlZCB3aXRoCi0gICAgICAgICAgICAgIF8Ic18IdF8Icl8IaV8Ibl8IZy4gIElmIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiBiZWdpbnMgd2l0aCAvCC8sIGFsbCBtYXRjaGVzICBvZiAgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuICBhcmUKLSAgICAgICAgICAgICAgcmVwbGFjZWQgICB3aXRoICBfCHNfCHRfCHJfCGlfCG5fCGcuICAgTm9ybWFsbHkgIG9ubHkgIHRoZSAgZmlyc3QgIG1hdGNoICBpcworICAgICAgICAgICAgICBQCFBhCGF0CHR0CHRlCGVyCHJuCG4gcwhzdQh1YghicwhzdAh0aQhpdAh0dQh1dAh0aQhpbwhvbghuLiAgVGhlIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiBpcyBleHBhbmRlZCB0byBwcm9kdWNlIGEgcGF0LQorICAgICAgICAgICAgICB0ZXJuICBqdXN0ICBhcyBpbiBwYXRobmFtZSBleHBhbnNpb24uICBfCFBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgaXMgZXhwYW5kZWQgYW5kCisgICAgICAgICAgICAgIHRoZSBsb25nZXN0IG1hdGNoIG9mIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiBhZ2FpbnN0IGl0cyB2YWx1ZSBpcyByZXBsYWNlZCAgd2l0aAorICAgICAgICAgICAgICBfCHNfCHRfCHJfCGlfCG5fCGcuICAgSWYgIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiAgYmVnaW5zIHdpdGggLwgvLCBhbGwgbWF0Y2hlcyBvZiBfCHBfCGFfCHRfCHRfCGVfCHJfCG4gYXJlCisgICAgICAgICAgICAgIHJlcGxhY2VkICB3aXRoICBfCHNfCHRfCHJfCGlfCG5fCGcuICAgTm9ybWFsbHkgIG9ubHkgIHRoZSAgZmlyc3QgIG1hdGNoICAgaXMKICAgICAgICAgICAgICAgcmVwbGFjZWQuICBJZiBfCHBfCGFfCHRfCHRfCGVfCHJfCG4gYmVnaW5zIHdpdGggIwgjLCBpdCBtdXN0IG1hdGNoIGF0IHRoZSBiZWdpbi0KICAgICAgICAgICAgICAgbmluZyBvZiB0aGUgZXhwYW5kZWQgdmFsdWUgb2YgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyLiAgSWYgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuIGJlZ2lucyB3aXRoCi0gICAgICAgICAgICAgICUIJSwgaXQgbXVzdCBtYXRjaCBhdCB0aGUgZW5kIG9mIHRoZSBleHBhbmRlZCB2YWx1ZSBvZiAgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyLgorICAgICAgICAgICAgICAlCCUsICBpdCBtdXN0IG1hdGNoIGF0IHRoZSBlbmQgb2YgdGhlIGV4cGFuZGVkIHZhbHVlIG9mIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8Ici4KICAgICAgICAgICAgICAgSWYgXwhzXwh0XwhyXwhpXwhuXwhnIGlzIG51bGwsIG1hdGNoZXMgb2YgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuIGFyZSBkZWxldGVkIGFuZCB0aGUgLwgvIGZvbC0KICAgICAgICAgICAgICAgbG93aW5nIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiBtYXkgYmUgb21pdHRlZC4gIElmIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciBpcyBACEAgb3IgKggqLCB0aGUgc3ViLQotICAgICAgICAgICAgICBzdGl0dXRpb24gIG9wZXJhdGlvbiAgaXMgYXBwbGllZCB0byBlYWNoIHBvc2l0aW9uYWwgcGFyYW1ldGVyIGluCi0gICAgICAgICAgICAgIHR1cm4sIGFuZCB0aGUgZXhwYW5zaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4gIElmIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciAgaXMKLSAgICAgICAgICAgICAgYW4gIGFycmF5ICB2YXJpYWJsZSAgc3Vic2NyaXB0ZWQgIHdpdGggIEAIQCBvciAqCCosIHRoZSBzdWJzdGl0dXRpb24KLSAgICAgICAgICAgICAgb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaCBtZW1iZXIgb2YgdGhlIGFycmF5ICBpbiAgdHVybiwgIGFuZAorICAgICAgICAgICAgICBzdGl0dXRpb24gb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaCBwb3NpdGlvbmFsICBwYXJhbWV0ZXIgIGluCisgICAgICAgICAgICAgIHR1cm4sICBhbmQgdGhlIGV4cGFuc2lvbiBpcyB0aGUgcmVzdWx0YW50IGxpc3QuICBJZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgaXMKKyAgICAgICAgICAgICAgYW4gYXJyYXkgdmFyaWFibGUgc3Vic2NyaXB0ZWQgd2l0aCAgQAhAICBvciAgKggqLCAgdGhlICBzdWJzdGl0dXRpb24KKyAgICAgICAgICAgICAgb3BlcmF0aW9uICBpcyAgYXBwbGllZCAgdG8gZWFjaCBtZW1iZXIgb2YgdGhlIGFycmF5IGluIHR1cm4sIGFuZAogICAgICAgICAgICAgICB0aGUgZXhwYW5zaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4KIAogICAgICAgICR7XwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyXgheXwhwXwhhXwh0Xwh0XwhlXwhyXwhufQogICAgICAgICR7XwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyXgheXgheXwhwXwhhXwh0Xwh0XwhlXwhyXwhufQogICAgICAgICR7XwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyLAgsXwhwXwhhXwh0Xwh0XwhlXwhyXwhufQogICAgICAgICR7XwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyLAgsLAgsXwhwXwhhXwh0Xwh0XwhlXwhyXwhufQotICAgICAgICAgICAgICBDCENhCGFzCHNlCGUgIG0IbW8Ib2QIZGkIaWYIZmkIaWMIY2EIYXQIdGkIaW8Ib24Ibi4ILiAgIFRoaXMgZXhwYW5zaW9uIG1vZGlmaWVzIHRoZSBjYXNlIG9mIGFscGhhLQotICAgICAgICAgICAgICBiZXRpYyBjaGFyYWN0ZXJzIGluIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8Ici4gIFRoZSBfCHBfCGFfCHRfCHRfCGVfCHJfCG4gaXMgZXhwYW5kZWQgdG8gIHByby0KLSAgICAgICAgICAgICAgZHVjZSAgYSAgcGF0dGVybiAganVzdCBhcyBpbiBwYXRobmFtZSBleHBhbnNpb24uICBUaGUgXgheIG9wZXJhdG9yCi0gICAgICAgICAgICAgIGNvbnZlcnRzIGxvd2VyY2FzZSBsZXR0ZXJzIG1hdGNoaW5nIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiB0byB1cHBlcmNhc2U7IHRoZSAgLAgsCi0gICAgICAgICAgICAgIG9wZXJhdG9yICBjb252ZXJ0cyBtYXRjaGluZyB1cHBlcmNhc2UgbGV0dGVycyB0byBsb3dlcmNhc2UuICBUaGUKLSAgICAgICAgICAgICAgXgheXgheIGFuZCAsCCwsCCwgZXhwYW5zaW9ucyAgY29udmVydCAgZWFjaCAgbWF0Y2hlZCAgY2hhcmFjdGVyICBpbiAgdGhlCi0gICAgICAgICAgICAgIGV4cGFuZGVkICB2YWx1ZTsgIHRoZSAgXgheIGFuZCAsCCwgZXhwYW5zaW9ucyBtYXRjaCBhbmQgY29udmVydCBvbmx5Ci0gICAgICAgICAgICAgIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaW4gdGhlIGV4cGFuZGVkIHZhbHVlLi4gIElmIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiBpcyBvbWl0LQotICAgICAgICAgICAgICB0ZWQsICBpdCBpcyB0cmVhdGVkIGxpa2UgYSA/CD8sIHdoaWNoIG1hdGNoZXMgZXZlcnkgY2hhcmFjdGVyLiAgSWYKLSAgICAgICAgICAgICAgXwhwXwhhXwhyXwhhXwhtXwhlXwh0XwhlXwhyIGlzIEAIQCBvciAqCCosIHRoZSBjYXNlIG1vZGlmaWNhdGlvbiBvcGVyYXRpb24gaXMgIGFwcGxpZWQKLSAgICAgICAgICAgICAgdG8gIGVhY2ggIHBvc2l0aW9uYWwgcGFyYW1ldGVyIGluIHR1cm4sIGFuZCB0aGUgZXhwYW5zaW9uIGlzIHRoZQotICAgICAgICAgICAgICByZXN1bHRhbnQgbGlzdC4gIElmIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8IciBpcyBhbiBhcnJheSAgdmFyaWFibGUgIHN1YnNjcmlwdGVkCi0gICAgICAgICAgICAgIHdpdGggIEAIQCBvciAqCCosIHRoZSBjYXNlIG1vZGlmaWNhdGlvbiBvcGVyYXRpb24gaXMgYXBwbGllZCB0byBlYWNoCi0gICAgICAgICAgICAgIG1lbWJlciBvZiB0aGUgYXJyYXkgaW4gdHVybiwgYW5kIHRoZSBleHBhbnNpb24gaXMgdGhlICByZXN1bHRhbnQKKyAgICAgICAgICAgICAgQwhDYQhhcwhzZQhlIG0IbW8Ib2QIZGkIaWYIZmkIaWMIY2EIYXQIdGkIaW8Ib24Ibi4gIFRoaXMgZXhwYW5zaW9uIG1vZGlmaWVzIHRoZSBjYXNlICBvZiAgYWxwaGEtCisgICAgICAgICAgICAgIGJldGljICBjaGFyYWN0ZXJzIGluIF8IcF8IYV8Icl8IYV8IbV8IZV8IdF8IZV8Ici4gIFRoZSBfCHBfCGFfCHRfCHRfCGVfCHJfCG4gaXMgZXhwYW5kZWQgdG8gcHJvLQorICAgICAgICAgICAgICBkdWNlIGEgcGF0dGVybiBqdXN0IGFzIGluIHBhdGhuYW1lIGV4cGFuc2lvbi4gICBUaGUgIF4IXiAgb3BlcmF0b3IKKyAgICAgICAgICAgICAgY29udmVydHMgIGxvd2VyY2FzZSBsZXR0ZXJzIG1hdGNoaW5nIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiB0byB1cHBlcmNhc2U7IHRoZSAsCCwKKyAgICAgICAgICAgICAgb3BlcmF0b3IgY29udmVydHMgbWF0Y2hpbmcgdXBwZXJjYXNlIGxldHRlcnMgdG8gbG93ZXJjYXNlLiAgIFRoZQorICAgICAgICAgICAgICBeCF5eCF4gIGFuZCAgLAgsLAgsICBleHBhbnNpb25zICBjb252ZXJ0ICBlYWNoICBtYXRjaGVkIGNoYXJhY3RlciBpbiB0aGUKKyAgICAgICAgICAgICAgZXhwYW5kZWQgdmFsdWU7IHRoZSBeCF4gYW5kICwILCBleHBhbnNpb25zIG1hdGNoICBhbmQgIGNvbnZlcnQgIG9ubHkKKyAgICAgICAgICAgICAgdGhlICBmaXJzdCBjaGFyYWN0ZXIgaW4gdGhlIGV4cGFuZGVkIHZhbHVlLiAgSWYgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuIGlzIG9taXQtCisgICAgICAgICAgICAgIHRlZCwgaXQgaXMgdHJlYXRlZCBsaWtlIGEgPwg/LCB3aGljaCBtYXRjaGVzIGV2ZXJ5IGNoYXJhY3Rlci4gICBJZgorICAgICAgICAgICAgICBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgIGlzIEAIQCBvciAqCCosIHRoZSBjYXNlIG1vZGlmaWNhdGlvbiBvcGVyYXRpb24gaXMgYXBwbGllZAorICAgICAgICAgICAgICB0byBlYWNoIHBvc2l0aW9uYWwgcGFyYW1ldGVyIGluIHR1cm4sIGFuZCB0aGUgZXhwYW5zaW9uICBpcyAgdGhlCisgICAgICAgICAgICAgIHJlc3VsdGFudCAgbGlzdC4gICBJZiBfCHBfCGFfCHJfCGFfCG1fCGVfCHRfCGVfCHIgaXMgYW4gYXJyYXkgdmFyaWFibGUgc3Vic2NyaXB0ZWQKKyAgICAgICAgICAgICAgd2l0aCBACEAgb3IgKggqLCB0aGUgY2FzZSBtb2RpZmljYXRpb24gb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gIGVhY2gKKyAgICAgICAgICAgICAgbWVtYmVyICBvZiB0aGUgYXJyYXkgaW4gdHVybiwgYW5kIHRoZSBleHBhbnNpb24gaXMgdGhlIHJlc3VsdGFudAogICAgICAgICAgICAgICBsaXN0LgogCiAgICBDCENvCG9tCG1tCG1hCGFuCG5kCGQgUwhTdQh1YghicwhzdAh0aQhpdAh0dQh1dAh0aQhpbwhvbghuCkBAIC0xNTY0LDE2MCArMTYxNywxNjIgQEAKICAgICAgICAgICAgICAgYAhgXwhjXwhvXwhtXwhtXwhhXwhuXwhkYAhgCiAKICAgICAgICBCCEJhCGFzCHNoCGggcGVyZm9ybXMgdGhlIGV4cGFuc2lvbiBieSBleGVjdXRpbmcgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIGFuZCByZXBsYWNpbmcgdGhlIGNvbS0KLSAgICAgICBtYW5kICBzdWJzdGl0dXRpb24gIHdpdGggIHRoZSAgc3RhbmRhcmQgb3V0cHV0IG9mIHRoZSBjb21tYW5kLCB3aXRoIGFueQorICAgICAgIG1hbmQgc3Vic3RpdHV0aW9uIHdpdGggdGhlIHN0YW5kYXJkIG91dHB1dCBvZiAgdGhlICBjb21tYW5kLCAgd2l0aCAgYW55CiAgICAgICAgdHJhaWxpbmcgbmV3bGluZXMgZGVsZXRlZC4gIEVtYmVkZGVkIG5ld2xpbmVzIGFyZSBub3QgZGVsZXRlZCwgYnV0IHRoZXkKLSAgICAgICBtYXkgIGJlICByZW1vdmVkIGR1cmluZyB3b3JkIHNwbGl0dGluZy4gIFRoZSBjb21tYW5kIHN1YnN0aXR1dGlvbiAkCCQoCChjCGNhCGF0CHQKKyAgICAgICBtYXkgYmUgcmVtb3ZlZCBkdXJpbmcgd29yZCBzcGxpdHRpbmcuICBUaGUgY29tbWFuZCAgc3Vic3RpdHV0aW9uICAkCCQoCChjCGNhCGF0CHQKICAgICAgICBfCGZfCGlfCGxfCGUpCCkgY2FuIGJlIHJlcGxhY2VkIGJ5IHRoZSBlcXVpdmFsZW50IGJ1dCBmYXN0ZXIgJAgkKAgoPAg8IF8IZl8IaV8IbF8IZSkIKS4KIAotICAgICAgIFdoZW4gdGhlIG9sZC1zdHlsZSBiYWNrcXVvdGUgZm9ybSBvZiBzdWJzdGl0dXRpb24gIGlzICB1c2VkLCAgYmFja3NsYXNoCi0gICAgICAgcmV0YWlucyAgaXRzICBsaXRlcmFsICBtZWFuaW5nIGV4Y2VwdCB3aGVuIGZvbGxvd2VkIGJ5ICQIJCwgYAhgLCBvciBcCFwuICBUaGUKKyAgICAgICBXaGVuICB0aGUgIG9sZC1zdHlsZSAgYmFja3F1b3RlIGZvcm0gb2Ygc3Vic3RpdHV0aW9uIGlzIHVzZWQsIGJhY2tzbGFzaAorICAgICAgIHJldGFpbnMgaXRzIGxpdGVyYWwgbWVhbmluZyBleGNlcHQgd2hlbiBmb2xsb3dlZCBieSAkCCQsIGAIYCwgIG9yICBcCFwuICAgVGhlCiAgICAgICAgZmlyc3QgYmFja3F1b3RlIG5vdCBwcmVjZWRlZCBieSBhIGJhY2tzbGFzaCB0ZXJtaW5hdGVzIHRoZSBjb21tYW5kIHN1Yi0KLSAgICAgICBzdGl0dXRpb24uICAgV2hlbiB1c2luZyB0aGUgJChfCGNfCG9fCG1fCG1fCGFfCG5fCGQpIGZvcm0sIGFsbCBjaGFyYWN0ZXJzIGJldHdlZW4gdGhlCisgICAgICAgc3RpdHV0aW9uLiAgV2hlbiB1c2luZyB0aGUgJChfCGNfCG9fCG1fCG1fCGFfCG5fCGQpIGZvcm0sIGFsbCBjaGFyYWN0ZXJzIGJldHdlZW4gIHRoZQogICAgICAgIHBhcmVudGhlc2VzIG1ha2UgdXAgdGhlIGNvbW1hbmQ7IG5vbmUgYXJlIHRyZWF0ZWQgc3BlY2lhbGx5LgogCiAgICAgICAgQ29tbWFuZCBzdWJzdGl0dXRpb25zIG1heSBiZSBuZXN0ZWQuICBUbyBuZXN0IHdoZW4gdXNpbmcgdGhlIGJhY2txdW90ZWQKICAgICAgICBmb3JtLCBlc2NhcGUgdGhlIGlubmVyIGJhY2txdW90ZXMgd2l0aCBiYWNrc2xhc2hlcy4KIAotICAgICAgIElmICB0aGUgIHN1YnN0aXR1dGlvbiAgYXBwZWFycyB3aXRoaW4gZG91YmxlIHF1b3Rlcywgd29yZCBzcGxpdHRpbmcgYW5kCisgICAgICAgSWYgdGhlIHN1YnN0aXR1dGlvbiBhcHBlYXJzIHdpdGhpbiBkb3VibGUgcXVvdGVzLCAgd29yZCAgc3BsaXR0aW5nICBhbmQKICAgICAgICBwYXRobmFtZSBleHBhbnNpb24gYXJlIG5vdCBwZXJmb3JtZWQgb24gdGhlIHJlc3VsdHMuCiAKICAgIEEIQXIIcmkIaXQIdGgIaG0IbWUIZXQIdGkIaWMIYyBFCEV4CHhwCHBhCGFuCG5zCHNpCGlvCG9uCG4KLSAgICAgICBBcml0aG1ldGljIGV4cGFuc2lvbiBhbGxvd3MgdGhlIGV2YWx1YXRpb24gb2YgYW4gYXJpdGhtZXRpYyAgZXhwcmVzc2lvbgotICAgICAgIGFuZCAgdGhlICBzdWJzdGl0dXRpb24gb2YgdGhlIHJlc3VsdC4gIFRoZSBmb3JtYXQgZm9yIGFyaXRobWV0aWMgZXhwYW4tCisgICAgICAgQXJpdGhtZXRpYyAgZXhwYW5zaW9uIGFsbG93cyB0aGUgZXZhbHVhdGlvbiBvZiBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24KKyAgICAgICBhbmQgdGhlIHN1YnN0aXR1dGlvbiBvZiB0aGUgcmVzdWx0LiAgVGhlIGZvcm1hdCBmb3IgIGFyaXRobWV0aWMgIGV4cGFuLQogICAgICAgIHNpb24gaXM6CiAKICAgICAgICAgICAgICAgJAgkKAgoKAgoXwhlXwh4XwhwXwhyXwhlXwhzXwhzXwhpXwhvXwhuKQgpKQgpCiAKLSAgICAgICBUaGUgXwhlXwh4XwhwXwhyXwhlXwhzXwhzXwhpXwhvXwhuIGlzIHRyZWF0ZWQgYXMgaWYgaXQgd2VyZSB3aXRoaW4gIGRvdWJsZSAgcXVvdGVzLCAgYnV0ICBhCi0gICAgICAgZG91YmxlICBxdW90ZSAgaW5zaWRlICB0aGUgIHBhcmVudGhlc2VzICBpcyBub3QgdHJlYXRlZCBzcGVjaWFsbHkuICBBbGwKKyAgICAgICBUaGUgIF8IZV8IeF8IcF8Icl8IZV8Ic18Ic18IaV8Ib18IbiAgaXMgIHRyZWF0ZWQgIGFzIGlmIGl0IHdlcmUgd2l0aGluIGRvdWJsZSBxdW90ZXMsIGJ1dCBhCisgICAgICAgZG91YmxlIHF1b3RlIGluc2lkZSB0aGUgcGFyZW50aGVzZXMgIGlzICBub3QgIHRyZWF0ZWQgIHNwZWNpYWxseS4gICBBbGwKICAgICAgICB0b2tlbnMgaW4gdGhlIGV4cHJlc3Npb24gdW5kZXJnbyBwYXJhbWV0ZXIgZXhwYW5zaW9uLCBzdHJpbmcgZXhwYW5zaW9uLAotICAgICAgIGNvbW1hbmQgIHN1YnN0aXR1dGlvbiwgYW5kIHF1b3RlIHJlbW92YWwuICBBcml0aG1ldGljIGV4cGFuc2lvbnMgbWF5IGJlCisgICAgICAgY29tbWFuZCBzdWJzdGl0dXRpb24sIGFuZCBxdW90ZSByZW1vdmFsLiAgQXJpdGhtZXRpYyBleHBhbnNpb25zIG1heSAgYmUKICAgICAgICBuZXN0ZWQuCiAKLSAgICAgICBUaGUgZXZhbHVhdGlvbiBpcyBwZXJmb3JtZWQgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBsaXN0ZWQgIGJlbG93ICB1bmRlcgorICAgICAgIFRoZSAgZXZhbHVhdGlvbiAgaXMgcGVyZm9ybWVkIGFjY29yZGluZyB0byB0aGUgcnVsZXMgbGlzdGVkIGJlbG93IHVuZGVyCiAgICAgICAgQQhBUghSSQhJVAhUSAhITQhNRQhFVAhUSQhJQwhDIEUIRVYIVkEIQUwITFUIVUEIQVQIVEkISU8IT04ITi4gIElmIF8IZV8IeF8IcF8Icl8IZV8Ic18Ic18IaV8Ib18IbiBpcyBpbnZhbGlkLCBiCGJhCGFzCHNoCGggcHJpbnRzIGEgbWVzc2FnZQogICAgICAgIGluZGljYXRpbmcgZmFpbHVyZSBhbmQgbm8gc3Vic3RpdHV0aW9uIG9jY3Vycy4KIAogICAgUAhQcghybwhvYwhjZQhlcwhzcwhzIFMIU3UIdWIIYnMIc3QIdGkIaXQIdHUIdXQIdGkIaW8Ib24IbgotICAgICAgIF8IUF8Icl8Ib18IY18IZV8Ic18IcyBfCHNfCHVfCGJfCHNfCHRfCGlfCHRfCHVfCHRfCGlfCG9fCG4gaXMgc3VwcG9ydGVkIG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0ICBuYW1lZCAgcGlwZXMKLSAgICAgICAoXwhGXwhJXwhGXwhPXwhzKSAgb3IgdGhlIC8IL2QIZGUIZXYIdi8IL2YIZmQIZCBtZXRob2Qgb2YgbmFtaW5nIG9wZW4gZmlsZXMuICBJdCB0YWtlcyB0aGUgZm9ybQotICAgICAgIG9mIDwIPCgIKF8IbF8IaV8Ic18IdCkIKSBvciA+CD4oCChfCGxfCGlfCHNfCHQpCCkuICBUaGUgcHJvY2VzcyBfCGxfCGlfCHNfCHQgaXMgcnVuIHdpdGggaXRzIGlucHV0IG9yICBvdXQtCisgICAgICAgXwhQXwhyXwhvXwhjXwhlXwhzXwhzICBfCHNfCHVfCGJfCHNfCHRfCGlfCHRfCHVfCHRfCGlfCG9fCG4gIGlzIHN1cHBvcnRlZCBvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCBuYW1lZCBwaXBlcworICAgICAgIChfCEZfCElfCEZfCE9fCHMpIG9yIHRoZSAvCC9kCGRlCGV2CHYvCC9mCGZkCGQgbWV0aG9kIG9mIG5hbWluZyBvcGVuIGZpbGVzLiAgSXQgdGFrZXMgdGhlICBmb3JtCisgICAgICAgb2YgIDwIPCgIKF8IbF8IaV8Ic18IdCkIKSBvciA+CD4oCChfCGxfCGlfCHNfCHQpCCkuICBUaGUgcHJvY2VzcyBfCGxfCGlfCHNfCHQgaXMgcnVuIHdpdGggaXRzIGlucHV0IG9yIG91dC0KICAgICAgICBwdXQgY29ubmVjdGVkIHRvIGEgXwhGXwhJXwhGXwhPIG9yIHNvbWUgZmlsZSBpbiAvCC9kCGRlCGV2CHYvCC9mCGZkCGQuICBUaGUgbmFtZSBvZiB0aGlzIGZpbGUKLSAgICAgICBpcyBwYXNzZWQgYXMgYW4gYXJndW1lbnQgdG8gdGhlIGN1cnJlbnQgY29tbWFuZCBhcyB0aGUgIHJlc3VsdCAgb2YgIHRoZQotICAgICAgIGV4cGFuc2lvbi4gICBJZiB0aGUgPgg+KAgoXwhsXwhpXwhzXwh0KQgpIGZvcm0gaXMgdXNlZCwgd3JpdGluZyB0byB0aGUgZmlsZSB3aWxsIHByby0KLSAgICAgICB2aWRlIGlucHV0IGZvciBfCGxfCGlfCHNfCHQuICBJZiB0aGUgPAg8KAgoXwhsXwhpXwhzXwh0KQgpIGZvcm0gaXMgdXNlZCwgdGhlIGZpbGUgIHBhc3NlZCAgYXMKKyAgICAgICBpcyAgcGFzc2VkICBhcyAgYW4gYXJndW1lbnQgdG8gdGhlIGN1cnJlbnQgY29tbWFuZCBhcyB0aGUgcmVzdWx0IG9mIHRoZQorICAgICAgIGV4cGFuc2lvbi4gIElmIHRoZSA+CD4oCChfCGxfCGlfCHNfCHQpCCkgZm9ybSBpcyB1c2VkLCB3cml0aW5nIHRvIHRoZSBmaWxlIHdpbGwgIHByby0KKyAgICAgICB2aWRlICBpbnB1dCAgZm9yIF8IbF8IaV8Ic18IdC4gIElmIHRoZSA8CDwoCChfCGxfCGlfCHNfCHQpCCkgZm9ybSBpcyB1c2VkLCB0aGUgZmlsZSBwYXNzZWQgYXMKICAgICAgICBhbiBhcmd1bWVudCBzaG91bGQgYmUgcmVhZCB0byBvYnRhaW4gdGhlIG91dHB1dCBvZiBfCGxfCGlfCHNfCHQuCiAKLSAgICAgICBXaGVuICBhdmFpbGFibGUsICBwcm9jZXNzIHN1YnN0aXR1dGlvbiBpcyBwZXJmb3JtZWQgc2ltdWx0YW5lb3VzbHkgd2l0aAotICAgICAgIHBhcmFtZXRlciBhbmQgdmFyaWFibGUgZXhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kICBhcml0aG1ldGljCisgICAgICAgV2hlbiBhdmFpbGFibGUsIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIGlzIHBlcmZvcm1lZCAgc2ltdWx0YW5lb3VzbHkgIHdpdGgKKyAgICAgICBwYXJhbWV0ZXIgIGFuZCB2YXJpYWJsZSBleHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhbmQgYXJpdGhtZXRpYwogICAgICAgIGV4cGFuc2lvbi4KIAogICAgVwhXbwhvcghyZAhkIFMIU3AIcGwIbGkIaXQIdHQIdGkIaW4IbmcIZwotICAgICAgIFRoZSAgc2hlbGwgIHNjYW5zIHRoZSByZXN1bHRzIG9mIHBhcmFtZXRlciBleHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHUtCi0gICAgICAgdGlvbiwgYW5kIGFyaXRobWV0aWMgZXhwYW5zaW9uIHRoYXQgZGlkIG5vdCBvY2N1ciB3aXRoaW4gZG91YmxlICBxdW90ZXMKKyAgICAgICBUaGUgc2hlbGwgc2NhbnMgdGhlIHJlc3VsdHMgb2YgcGFyYW1ldGVyIGV4cGFuc2lvbiwgIGNvbW1hbmQgIHN1YnN0aXR1LQorICAgICAgIHRpb24sICBhbmQgYXJpdGhtZXRpYyBleHBhbnNpb24gdGhhdCBkaWQgbm90IG9jY3VyIHdpdGhpbiBkb3VibGUgcXVvdGVzCiAgICAgICAgZm9yIF8Id18Ib18Icl8IZCBfCHNfCHBfCGxfCGlfCHRfCHRfCGlfCG5fCGcuCiAKLSAgICAgICBUaGUgIHNoZWxsICB0cmVhdHMgZWFjaCBjaGFyYWN0ZXIgb2YgSQhJRghGUwhTIGFzIGEgZGVsaW1pdGVyLCBhbmQgc3BsaXRzIHRoZQorICAgICAgIFRoZSBzaGVsbCB0cmVhdHMgZWFjaCBjaGFyYWN0ZXIgb2YgSQhJRghGUwhTIGFzIGEgZGVsaW1pdGVyLCBhbmQgIHNwbGl0cyAgdGhlCiAgICAgICAgcmVzdWx0cyBvZiB0aGUgb3RoZXIgZXhwYW5zaW9ucyBpbnRvIHdvcmRzIG9uIHRoZXNlIGNoYXJhY3RlcnMuICBJZiBJCElGCEZTCFMKLSAgICAgICBpcyAgdW5zZXQsICBvciBpdHMgdmFsdWUgaXMgZXhhY3RseSA8CDxzCHNwCHBhCGFjCGNlCGU+CD48CDx0CHRhCGFiCGI+CD48CDxuCG5lCGV3CHdsCGxpCGluCG5lCGU+CD4sIHRoZSBkZWZhdWx0LAotICAgICAgIHRoZW4gc2VxdWVuY2VzIG9mIDwIPHMIc3AIcGEIYWMIY2UIZT4IPiwgPAg8dAh0YQhhYghiPgg+LCBhbmQgPAg8bghuZQhldwh3bAhsaQhpbghuZQhlPgg+IGF0ICB0aGUgIGJlZ2lubmluZyAgYW5kCi0gICAgICAgZW5kICBvZiAgdGhlICByZXN1bHRzICBvZiAgdGhlIHByZXZpb3VzIGV4cGFuc2lvbnMgYXJlIGlnbm9yZWQsIGFuZCBhbnkKLSAgICAgICBzZXF1ZW5jZSBvZiBJCElGCEZTCFMgY2hhcmFjdGVycyBub3QgIGF0ICB0aGUgIGJlZ2lubmluZyAgb3IgIGVuZCAgc2VydmVzICB0bwotICAgICAgIGRlbGltaXQgIHdvcmRzLiAgIElmICBJCElGCEZTCFMgIGhhcyAgYSAgdmFsdWUgIG90aGVyICB0aGFuIHRoZSBkZWZhdWx0LCB0aGVuCisgICAgICAgaXMgdW5zZXQsIG9yIGl0cyB2YWx1ZSBpcyBleGFjdGx5IDwIPHMIc3AIcGEIYWMIY2UIZT4IPjwIPHQIdGEIYWIIYj4IPjwIPG4IbmUIZXcId2wIbGkIaW4IbmUIZT4IPiwgIHRoZSAgZGVmYXVsdCwKKyAgICAgICB0aGVuICBzZXF1ZW5jZXMgIG9mICA8CDxzCHNwCHBhCGFjCGNlCGU+CD4sIDwIPHQIdGEIYWIIYj4IPiwgYW5kIDwIPG4IbmUIZXcId2wIbGkIaW4IbmUIZT4IPiBhdCB0aGUgYmVnaW5uaW5nIGFuZAorICAgICAgIGVuZCBvZiB0aGUgcmVzdWx0cyBvZiB0aGUgcHJldmlvdXMgIGV4cGFuc2lvbnMgIGFyZSAgaWdub3JlZCwgIGFuZCAgYW55CisgICAgICAgc2VxdWVuY2UgIG9mICBJCElGCEZTCFMgIGNoYXJhY3RlcnMgIG5vdCAgYXQgIHRoZSAgYmVnaW5uaW5nIG9yIGVuZCBzZXJ2ZXMgdG8KKyAgICAgICBkZWxpbWl0IHdvcmRzLiAgSWYgSQhJRghGUwhTICBoYXMgIGEgIHZhbHVlICBvdGhlciAgdGhhbiAgdGhlICBkZWZhdWx0LCAgdGhlbgogICAgICAgIHNlcXVlbmNlcyBvZiB0aGUgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzIHMIc3AIcGEIYWMIY2UIZSBhbmQgdAh0YQhhYghiIGFyZSBpZ25vcmVkIGF0IHRoZQotICAgICAgIGJlZ2lubmluZyAgYW5kICBlbmQgb2YgdGhlIHdvcmQsIGFzIGxvbmcgYXMgdGhlIHdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzCi0gICAgICAgaW4gdGhlIHZhbHVlIG9mIEkISUYIRlMIUyAoYW4gSQhJRghGUwhTIHdoaXRlc3BhY2UgY2hhcmFjdGVyKS4gICBBbnkgIGNoYXJhY3RlciAgaW4KLSAgICAgICBJCElGCEZTCFMgIHRoYXQgaXMgbm90IEkISUYIRlMIUyB3aGl0ZXNwYWNlLCBhbG9uZyB3aXRoIGFueSBhZGphY2VudCBJCElGCEZTCFMgd2hpdGVzcGFjZQotICAgICAgIGNoYXJhY3RlcnMsIGRlbGltaXRzIGEgZmllbGQuICBBIHNlcXVlbmNlIG9mIEkISUYIRlMIUyB3aGl0ZXNwYWNlICBjaGFyYWN0ZXJzCi0gICAgICAgaXMgIGFsc28gIHRyZWF0ZWQgYXMgYSBkZWxpbWl0ZXIuICBJZiB0aGUgdmFsdWUgb2YgSQhJRghGUwhTIGlzIG51bGwsIG5vIHdvcmQKKyAgICAgICBiZWdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgd29yZCwgYXMgbG9uZyBhcyB0aGUgd2hpdGVzcGFjZSAgY2hhcmFjdGVyICBpcworICAgICAgIGluICB0aGUgIHZhbHVlICBvZiBJCElGCEZTCFMgKGFuIEkISUYIRlMIUyB3aGl0ZXNwYWNlIGNoYXJhY3RlcikuICBBbnkgY2hhcmFjdGVyIGluCisgICAgICAgSQhJRghGUwhTIHRoYXQgaXMgbm90IEkISUYIRlMIUyB3aGl0ZXNwYWNlLCBhbG9uZyB3aXRoIGFueSBhZGphY2VudCBJCElGCEZTCFMgIHdoaXRlc3BhY2UKKyAgICAgICBjaGFyYWN0ZXJzLCAgZGVsaW1pdHMgYSBmaWVsZC4gIEEgc2VxdWVuY2Ugb2YgSQhJRghGUwhTIHdoaXRlc3BhY2UgY2hhcmFjdGVycworICAgICAgIGlzIGFsc28gdHJlYXRlZCBhcyBhIGRlbGltaXRlci4gIElmIHRoZSB2YWx1ZSBvZiBJCElGCEZTCFMgaXMgbnVsbCwgIG5vICB3b3JkCiAgICAgICAgc3BsaXR0aW5nIG9jY3Vycy4KIAotICAgICAgIEV4cGxpY2l0IG51bGwgYXJndW1lbnRzICgiCCIiCCIgb3IgJwgnJwgnKSAgYXJlICByZXRhaW5lZC4gICBVbnF1b3RlZCAgaW1wbGljaXQKKyAgICAgICBFeHBsaWNpdCAgbnVsbCAgYXJndW1lbnRzICAoIggiIggiICBvciAnCCcnCCcpIGFyZSByZXRhaW5lZC4gIFVucXVvdGVkIGltcGxpY2l0CiAgICAgICAgbnVsbCBhcmd1bWVudHMsIHJlc3VsdGluZyBmcm9tIHRoZSBleHBhbnNpb24gb2YgcGFyYW1ldGVycyB0aGF0IGhhdmUgbm8KLSAgICAgICB2YWx1ZXMsIGFyZSByZW1vdmVkLiAgSWYgYSBwYXJhbWV0ZXIgd2l0aCBubyB2YWx1ZSBpcyAgZXhwYW5kZWQgIHdpdGhpbgorICAgICAgIHZhbHVlcywgIGFyZSAgcmVtb3ZlZC4gIElmIGEgcGFyYW1ldGVyIHdpdGggbm8gdmFsdWUgaXMgZXhwYW5kZWQgd2l0aGluCiAgICAgICAgZG91YmxlIHF1b3RlcywgYSBudWxsIGFyZ3VtZW50IHJlc3VsdHMgYW5kIGlzIHJldGFpbmVkLgogCiAgICAgICAgTm90ZSB0aGF0IGlmIG5vIGV4cGFuc2lvbiBvY2N1cnMsIG5vIHNwbGl0dGluZyBpcyBwZXJmb3JtZWQuCiAKICAgIFAIUGEIYXQIdGgIaG4IbmEIYW0IbWUIZSBFCEV4CHhwCHBhCGFuCG5zCHNpCGlvCG9uCG4KLSAgICAgICBBZnRlciAgd29yZCAgc3BsaXR0aW5nLCAgdW5sZXNzICB0aGUgLQgtZghmIG9wdGlvbiBoYXMgYmVlbiBzZXQsIGIIYmEIYXMIc2gIaCBzY2FucwotICAgICAgIGVhY2ggd29yZCBmb3IgdGhlIGNoYXJhY3RlcnMgKggqLCA/CD8sIGFuZCBbCFsuICBJZiBvbmUgb2YgIHRoZXNlICBjaGFyYWN0ZXJzCi0gICAgICAgYXBwZWFycywgIHRoZW4gIHRoZSB3b3JkIGlzIHJlZ2FyZGVkIGFzIGEgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuLCBhbmQgcmVwbGFjZWQgd2l0aCBhbgotICAgICAgIGFscGhhYmV0aWNhbGx5IHNvcnRlZCBsaXN0IG9mIGZpbGUgbmFtZXMgbWF0Y2hpbmcgdGhlIHBhdHRlcm4uICAgSWYgIG5vCi0gICAgICAgbWF0Y2hpbmcgIGZpbGUgIG5hbWVzICBhcmUgIGZvdW5kLCBhbmQgdGhlIHNoZWxsIG9wdGlvbiBuCG51CHVsCGxsCGxnCGdsCGxvCG9iCGIgaXMgbm90Ci0gICAgICAgZW5hYmxlZCwgdGhlIHdvcmQgaXMgbGVmdCB1bmNoYW5nZWQuICBJZiB0aGUgbghudQh1bAhsbAhsZwhnbAhsbwhvYghiICBvcHRpb24gIGlzICBzZXQsCi0gICAgICAgYW5kICBubyAgbWF0Y2hlcyBhcmUgZm91bmQsIHRoZSB3b3JkIGlzIHJlbW92ZWQuICBJZiB0aGUgZghmYQhhaQhpbAhsZwhnbAhsbwhvYghiIHNoZWxsCi0gICAgICAgb3B0aW9uIGlzIHNldCwgYW5kIG5vIG1hdGNoZXMgYXJlIGZvdW5kLCBhbiBlcnJvciAgbWVzc2FnZSAgaXMgIHByaW50ZWQKLSAgICAgICBhbmQgIHRoZSAgY29tbWFuZCAgaXMgIG5vdCBleGVjdXRlZC4gIElmIHRoZSBzaGVsbCBvcHRpb24gbghubwhvYwhjYQhhcwhzZQhlZwhnbAhsbwhvYghiIGlzCi0gICAgICAgZW5hYmxlZCwgdGhlIG1hdGNoIGlzIHBlcmZvcm1lZCB3aXRob3V0IHJlZ2FyZCB0byB0aGUgIGNhc2UgIG9mICBhbHBoYS0KLSAgICAgICBiZXRpYyAgY2hhcmFjdGVycy4gICBXaGVuIGEgcGF0dGVybiBpcyB1c2VkIGZvciBwYXRobmFtZSBleHBhbnNpb24sIHRoZQotICAgICAgIGNoYXJhY3RlciBgCGBgCGAuCC4nCCcnCCcgIGF0IHRoZSBzdGFydCBvZiBhICBuYW1lICBvciAgaW1tZWRpYXRlbHkgIGZvbGxvd2luZyAgYQotICAgICAgIHNsYXNoICBtdXN0ICBiZSAgbWF0Y2hlZCBleHBsaWNpdGx5LCB1bmxlc3MgdGhlIHNoZWxsIG9wdGlvbiBkCGRvCG90CHRnCGdsCGxvCG9iCGIgaXMKLSAgICAgICBzZXQuICBXaGVuIG1hdGNoaW5nIGEgcGF0aG5hbWUsIHRoZSAgc2xhc2ggIGNoYXJhY3RlciAgbXVzdCAgYWx3YXlzICBiZQotICAgICAgIG1hdGNoZWQgIGV4cGxpY2l0bHkuICAgSW4gIG90aGVyICBjYXNlcywgIHRoZSAgYAhgYAhgLgguJwgnJwgnICAgY2hhcmFjdGVyIGlzIG5vdAotICAgICAgIHRyZWF0ZWQgc3BlY2lhbGx5LiAgU2VlIHRoZSBkZXNjcmlwdGlvbiAgb2YgIHMIc2gIaG8Ib3AIcHQIdCAgYmVsb3cgIHVuZGVyICBTCFNICEhFCEVMCExMCEwKLSAgICAgICBCCEJVCFVJCElMCExUCFRJCElOCE4gIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyAgZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIG4Ibm8Ib2MIY2EIYXMIc2UIZWcIZ2wIbG8Ib2IIYiwgbghudQh1bAhsbAhsZwhnbAhsbwhvYghiLCBmCGZhCGFpCGlsCGwtCC0KKyAgICAgICBBZnRlciB3b3JkIHNwbGl0dGluZywgdW5sZXNzIHRoZSAtCC1mCGYgb3B0aW9uIGhhcyAgYmVlbiAgc2V0LCAgYghiYQhhcwhzaAhoICBzY2FucworICAgICAgIGVhY2ggIHdvcmQgIGZvciB0aGUgY2hhcmFjdGVycyAqCCosID8IPywgYW5kIFsIWy4gIElmIG9uZSBvZiB0aGVzZSBjaGFyYWN0ZXJzCisgICAgICAgYXBwZWFycywgdGhlbiB0aGUgd29yZCBpcyByZWdhcmRlZCBhcyBhIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiwgYW5kIHJlcGxhY2VkICB3aXRoICBhbgorICAgICAgIGFscGhhYmV0aWNhbGx5ICBzb3J0ZWQgIGxpc3Qgb2YgZmlsZSBuYW1lcyBtYXRjaGluZyB0aGUgcGF0dGVybi4gIElmIG5vCisgICAgICAgbWF0Y2hpbmcgZmlsZSBuYW1lcyBhcmUgZm91bmQsIGFuZCB0aGUgc2hlbGwgIG9wdGlvbiAgbghudQh1bAhsbAhsZwhnbAhsbwhvYghiICBpcyAgbm90CisgICAgICAgZW5hYmxlZCwgIHRoZSAgd29yZCAgaXMgbGVmdCB1bmNoYW5nZWQuICBJZiB0aGUgbghudQh1bAhsbAhsZwhnbAhsbwhvYghiIG9wdGlvbiBpcyBzZXQsCisgICAgICAgYW5kIG5vIG1hdGNoZXMgYXJlIGZvdW5kLCB0aGUgd29yZCBpcyByZW1vdmVkLiAgSWYgdGhlICBmCGZhCGFpCGlsCGxnCGdsCGxvCG9iCGIgIHNoZWxsCisgICAgICAgb3B0aW9uICBpcyAgc2V0LCAgYW5kIG5vIG1hdGNoZXMgYXJlIGZvdW5kLCBhbiBlcnJvciBtZXNzYWdlIGlzIHByaW50ZWQKKyAgICAgICBhbmQgdGhlIGNvbW1hbmQgaXMgbm90IGV4ZWN1dGVkLiAgSWYgdGhlICBzaGVsbCAgb3B0aW9uICBuCG5vCG9jCGNhCGFzCHNlCGVnCGdsCGxvCG9iCGIgIGlzCisgICAgICAgZW5hYmxlZCwgIHRoZSAgbWF0Y2ggIGlzIHBlcmZvcm1lZCB3aXRob3V0IHJlZ2FyZCB0byB0aGUgY2FzZSBvZiBhbHBoYS0KKyAgICAgICBiZXRpYyBjaGFyYWN0ZXJzLiAgV2hlbiBhIHBhdHRlcm4gaXMgdXNlZCBmb3IgcGF0aG5hbWUgIGV4cGFuc2lvbiwgIHRoZQorICAgICAgIGNoYXJhY3RlciAgYAhgYAhgLgguJwgnJwgnICAgYXQgIHRoZSAgc3RhcnQgIG9mIGEgbmFtZSBvciBpbW1lZGlhdGVseSBmb2xsb3dpbmcgYQorICAgICAgIHNsYXNoIG11c3QgYmUgbWF0Y2hlZCBleHBsaWNpdGx5LCB1bmxlc3MgdGhlIHNoZWxsICBvcHRpb24gIGQIZG8Ib3QIdGcIZ2wIbG8Ib2IIYiAgaXMKKyAgICAgICBzZXQuICAgV2hlbiAgbWF0Y2hpbmcgIGEgIHBhdGhuYW1lLCAgdGhlIHNsYXNoIGNoYXJhY3RlciBtdXN0IGFsd2F5cyBiZQorICAgICAgIG1hdGNoZWQgZXhwbGljaXRseS4gIEluICBvdGhlciAgY2FzZXMsICB0aGUgIGAIYGAIYC4ILicIJycIJyAgIGNoYXJhY3RlciAgaXMgIG5vdAorICAgICAgIHRyZWF0ZWQgIHNwZWNpYWxseS4gICBTZWUgIHRoZSAgZGVzY3JpcHRpb24gIG9mIHMIc2gIaG8Ib3AIcHQIdCBiZWxvdyB1bmRlciBTCFNICEhFCEVMCExMCEwKKyAgICAgICBCCEJVCFVJCElMCExUCFRJCElOCE4gQwhDTwhPTQhNTQhNQQhBTghORAhEUwhTIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBuCG5vCG9jCGNhCGFzCHNlCGVnCGdsCGxvCG9iCGIsICBuCG51CHVsCGxsCGxnCGdsCGxvCG9iCGIsICBmCGZhCGFpCGlsCGwtCC0KICAgICAgICBnCGdsCGxvCG9iCGIsIGFuZCBkCGRvCG90CHRnCGdsCGxvCG9iCGIgc2hlbGwgb3B0aW9ucy4KIAotICAgICAgIFRoZSBHCEdMCExPCE9CCEJJCElHCEdOCE5PCE9SCFJFCEUgc2hlbGwgdmFyaWFibGUgbWF5IGJlIHVzZWQgdG8gcmVzdHJpY3QgdGhlIHNldCAgb2YgIGZpbGUKLSAgICAgICBuYW1lcyAgbWF0Y2hpbmcgIGEgIF8IcF8IYV8IdF8IdF8IZV8Icl8Ibi4gICBJZiBHCEdMCExPCE9CCEJJCElHCEdOCE5PCE9SCFJFCEUgaXMgc2V0LCBlYWNoIG1hdGNoaW5nIGZpbGUKLSAgICAgICBuYW1lIHRoYXQgYWxzbyBtYXRjaGVzIG9uZSBvZiB0aGUgcGF0dGVybnMgIGluICBHCEdMCExPCE9CCEJJCElHCEdOCE5PCE9SCFJFCEUgIGlzICByZW1vdmVkCisgICAgICAgVGhlICBHCEdMCExPCE9CCEJJCElHCEdOCE5PCE9SCFJFCEUgIHNoZWxsIHZhcmlhYmxlIG1heSBiZSB1c2VkIHRvIHJlc3RyaWN0IHRoZSBzZXQgb2YgZmlsZQorICAgICAgIG5hbWVzIG1hdGNoaW5nIGEgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuLiAgSWYgRwhHTAhMTwhPQghCSQhJRwhHTghOTwhPUghSRQhFIGlzICBzZXQsICBlYWNoICBtYXRjaGluZyAgZmlsZQorICAgICAgIG5hbWUgIHRoYXQgIGFsc28gIG1hdGNoZXMgIG9uZSBvZiB0aGUgcGF0dGVybnMgaW4gRwhHTAhMTwhPQghCSQhJRwhHTghOTwhPUghSRQhFIGlzIHJlbW92ZWQKICAgICAgICBmcm9tIHRoZSBsaXN0IG9mIG1hdGNoZXMuICBUaGUgZmlsZSBuYW1lcyBgCGBgCGAuCC4nCCcnCCcgIGFuZCBgCGBgCGAuCC4uCC4nCCcnCCcgIGFyZSBhbHdheXMKLSAgICAgICBpZ25vcmVkIHdoZW4gRwhHTAhMTwhPQghCSQhJRwhHTghOTwhPUghSRQhFIGlzIHNldCBhbmQgbm90IG51bGwuICBIb3dldmVyLCBzZXR0aW5nICBHCEdMCExPCE9CCEJJCElHCEctCC0KLSAgICAgICBOCE5PCE9SCFJFCEUgIHRvICBhIG5vbi1udWxsIHZhbHVlIGhhcyB0aGUgZWZmZWN0IG9mIGVuYWJsaW5nIHRoZSBkCGRvCG90CHRnCGdsCGxvCG9iCGIgc2hlbGwKKyAgICAgICBpZ25vcmVkICB3aGVuIEcIR0wITE8IT0IIQkkISUcIR04ITk8IT1IIUkUIRSBpcyBzZXQgYW5kIG5vdCBudWxsLiAgSG93ZXZlciwgc2V0dGluZyBHCEdMCExPCE9CCEJJCElHCEctCC0KKyAgICAgICBOCE5PCE9SCFJFCEUgdG8gYSBub24tbnVsbCB2YWx1ZSBoYXMgdGhlIGVmZmVjdCBvZiBlbmFibGluZyB0aGUgIGQIZG8Ib3QIdGcIZ2wIbG8Ib2IIYiAgc2hlbGwKICAgICAgICBvcHRpb24sIHNvIGFsbCBvdGhlciBmaWxlIG5hbWVzIGJlZ2lubmluZyB3aXRoIGEgYAhgYAhgLgguJwgnJwgnICB3aWxsIG1hdGNoLiAgVG8KLSAgICAgICBnZXQgIHRoZSAgb2xkICBiZWhhdmlvciAgb2YgaWdub3JpbmcgZmlsZSBuYW1lcyBiZWdpbm5pbmcgd2l0aCBhIGAIYGAIYC4ILicIJycIJywKLSAgICAgICBtYWtlIGAIYGAIYC4ILioIKicIJycIJyAgb25lIG9mIHRoZSBwYXR0ZXJucyBpbiBHCEdMCExPCE9CCEJJCElHCEdOCE5PCE9SCFJFCEUuICBUaGUgZAhkbwhvdAh0ZwhnbAhsbwhvYghiIG9wdGlvbiAgaXMKKyAgICAgICBnZXQgdGhlIG9sZCBiZWhhdmlvciBvZiBpZ25vcmluZyBmaWxlIG5hbWVzICBiZWdpbm5pbmcgIHdpdGggIGEgIGAIYGAIYC4ILicIJycIJywKKyAgICAgICBtYWtlICBgCGBgCGAuCC4qCConCCcnCCcgIG9uZSBvZiB0aGUgcGF0dGVybnMgaW4gRwhHTAhMTwhPQghCSQhJRwhHTghOTwhPUghSRQhFLiAgVGhlIGQIZG8Ib3QIdGcIZ2wIbG8Ib2IIYiBvcHRpb24gaXMKICAgICAgICBkaXNhYmxlZCB3aGVuIEcIR0wITE8IT0IIQkkISUcIR04ITk8IT1IIUkUIRSBpcyB1bnNldC4KIAogICAgICAgIFAIUGEIYXQIdHQIdGUIZXIIcm4IbiBNCE1hCGF0CHRjCGNoCGhpCGluCG5nCGcKIAogICAgICAgIEFueSBjaGFyYWN0ZXIgdGhhdCBhcHBlYXJzIGluIGEgcGF0dGVybiwgb3RoZXIgdGhhbiB0aGUgc3BlY2lhbCBwYXR0ZXJuCi0gICAgICAgY2hhcmFjdGVycyBkZXNjcmliZWQgYmVsb3csIG1hdGNoZXMgaXRzZWxmLiAgVGhlIE5VTCBjaGFyYWN0ZXIgbWF5ICBub3QKLSAgICAgICBvY2N1ciAgaW4gIGEgcGF0dGVybi4gIEEgYmFja3NsYXNoIGVzY2FwZXMgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXI7IHRoZQotICAgICAgIGVzY2FwaW5nIGJhY2tzbGFzaCBpcyBkaXNjYXJkZWQgd2hlbiAgbWF0Y2hpbmcuICAgVGhlICBzcGVjaWFsICBwYXR0ZXJuCisgICAgICAgY2hhcmFjdGVycyAgZGVzY3JpYmVkIGJlbG93LCBtYXRjaGVzIGl0c2VsZi4gIFRoZSBOVUwgY2hhcmFjdGVyIG1heSBub3QKKyAgICAgICBvY2N1ciBpbiBhIHBhdHRlcm4uICBBIGJhY2tzbGFzaCBlc2NhcGVzIHRoZSBmb2xsb3dpbmcgIGNoYXJhY3RlcjsgIHRoZQorICAgICAgIGVzY2FwaW5nICBiYWNrc2xhc2ggIGlzICBkaXNjYXJkZWQgIHdoZW4gbWF0Y2hpbmcuICBUaGUgc3BlY2lhbCBwYXR0ZXJuCiAgICAgICAgY2hhcmFjdGVycyBtdXN0IGJlIHF1b3RlZCBpZiB0aGV5IGFyZSB0byBiZSBtYXRjaGVkIGxpdGVyYWxseS4KIAogICAgICAgIFRoZSBzcGVjaWFsIHBhdHRlcm4gY2hhcmFjdGVycyBoYXZlIHRoZSBmb2xsb3dpbmcgbWVhbmluZ3M6CiAKLSAgICAgICAqCCogICAgICBNYXRjaGVzICBhbnkgIHN0cmluZywgaW5jbHVkaW5nIHRoZSBudWxsIHN0cmluZy4gIFdoZW4gdGhlIGcIZ2wIbG8Ib2IIYi0ILQotICAgICAgICAgICAgICBzCHN0CHRhCGFyCHIgc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQsIGFuZCAqCCogaXMgdXNlZCBpbiBhIHBhdGhuYW1lIGV4cGFuLQotICAgICAgICAgICAgICBzaW9uICBjb250ZXh0LCAgdHdvICBhZGphY2VudCAgKggqcyAgdXNlZCBhcyBhIHNpbmdsZSBwYXR0ZXJuIHdpbGwKLSAgICAgICAgICAgICAgbWF0Y2ggYWxsIGZpbGVzIGFuZCB6ZXJvIG9yIG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLgotICAgICAgICAgICAgICBJZiAgZm9sbG93ZWQgYnkgYSAvCC8sIHR3byBhZGphY2VudCAqCCpzIHdpbGwgbWF0Y2ggb25seSBkaXJlY3RvcmllcwotICAgICAgICAgICAgICBhbmQgc3ViZGlyZWN0b3JpZXMuCi0gICAgICAgPwg/ICAgICAgTWF0Y2hlcyBhbnkgc2luZ2xlIGNoYXJhY3Rlci4KLSAgICAgICBbCFsuCC4uCC4uCC5dCF0gIE1hdGNoZXMgYW55IG9uZSBvZiB0aGUgZW5jbG9zZWQgY2hhcmFjdGVycy4gIEEgcGFpciAgb2YgIGNoYXJhYy0KLSAgICAgICAgICAgICAgdGVycyBzZXBhcmF0ZWQgYnkgYSBoeXBoZW4gZGVub3RlcyBhIF8Icl8IYV8Ibl8IZ18IZSBfCGVfCHhfCHBfCHJfCGVfCHNfCHNfCGlfCG9fCG47IGFueSBjaGFyLQotICAgICAgICAgICAgICBhY3RlciB0aGF0IHNvcnRzIGJldHdlZW4gdGhvc2UgdHdvIGNoYXJhY3RlcnMsIGluY2x1c2l2ZSwgIHVzaW5nCi0gICAgICAgICAgICAgIHRoZSAgY3VycmVudCAgbG9jYWxlJ3MgIGNvbGxhdGluZyBzZXF1ZW5jZSBhbmQgY2hhcmFjdGVyIHNldCwgaXMKLSAgICAgICAgICAgICAgbWF0Y2hlZC4gIElmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgZm9sbG93aW5nIHRoZSBbCFsgaXMgYSAhCCEgIG9yIGEgIF4IXgotICAgICAgICAgICAgICB0aGVuICBhbnkgIGNoYXJhY3RlciBub3QgZW5jbG9zZWQgaXMgbWF0Y2hlZC4gIFRoZSBzb3J0aW5nIG9yZGVyCi0gICAgICAgICAgICAgIG9mIGNoYXJhY3RlcnMgaW4gcmFuZ2UgZXhwcmVzc2lvbnMgaXMgZGV0ZXJtaW5lZCBieSB0aGUgIGN1cnJlbnQKLSAgICAgICAgICAgICAgbG9jYWxlICBhbmQgIHRoZSB2YWx1ZSBvZiB0aGUgTAhMQwhDXwhfQwhDTwhPTAhMTAhMQQhBVAhURQhFIHNoZWxsIHZhcmlhYmxlLCBpZiBzZXQuCi0gICAgICAgICAgICAgIEEgLQgtIG1heSBiZSBtYXRjaGVkIGJ5IGluY2x1ZGluZyBpdCBhcyB0aGUgZmlyc3Qgb3IgbGFzdCAgY2hhcmFjLQotICAgICAgICAgICAgICB0ZXIgaW4gdGhlIHNldC4gIEEgXQhdIG1heSBiZSBtYXRjaGVkIGJ5IGluY2x1ZGluZyBpdCBhcyB0aGUgZmlyc3QKLSAgICAgICAgICAgICAgY2hhcmFjdGVyIGluIHRoZSBzZXQuCisgICAgICAgICAgICAgICoIKiAgICAgIE1hdGNoZXMgYW55IHN0cmluZywgaW5jbHVkaW5nIHRoZSBudWxsIHN0cmluZy4gIFdoZW4gIHRoZQorICAgICAgICAgICAgICAgICAgICAgZwhnbAhsbwhvYghicwhzdAh0YQhhcghyICBzaGVsbCAgb3B0aW9uICBpcyAgZW5hYmxlZCwgIGFuZCAqCCogaXMgdXNlZCBpbiBhCisgICAgICAgICAgICAgICAgICAgICBwYXRobmFtZSBleHBhbnNpb24gY29udGV4dCwgdHdvIGFkamFjZW50ICAqCCpzICB1c2VkICBhcyAgYQorICAgICAgICAgICAgICAgICAgICAgc2luZ2xlICBwYXR0ZXJuICB3aWxsICBtYXRjaCAgYWxsICBmaWxlcyBhbmQgemVybyBvciBtb3JlCisgICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuICBJZiBmb2xsb3dlZCBieSBhIC8ILywgIHR3bworICAgICAgICAgICAgICAgICAgICAgYWRqYWNlbnQgICoIKnMgIHdpbGwgbWF0Y2ggb25seSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0by0KKyAgICAgICAgICAgICAgICAgICAgIHJpZXMuCisgICAgICAgICAgICAgID8IPyAgICAgIE1hdGNoZXMgYW55IHNpbmdsZSBjaGFyYWN0ZXIuCisgICAgICAgICAgICAgIFsIWy4ILi4ILi4ILl0IXSAgTWF0Y2hlcyBhbnkgb25lIG9mIHRoZSBlbmNsb3NlZCBjaGFyYWN0ZXJzLiAgIEEgIHBhaXIgIG9mCisgICAgICAgICAgICAgICAgICAgICBjaGFyYWN0ZXJzICBzZXBhcmF0ZWQgYnkgYSBoeXBoZW4gZGVub3RlcyBhIF8Icl8IYV8Ibl8IZ18IZSBfCGVfCHhfCHBfCHJfCGVfCHNfCC0KKyAgICAgICAgICAgICAgICAgICAgIF8Ic18IaV8Ib18IbjsgYW55IGNoYXJhY3RlciB0aGF0IHNvcnRzIGJldHdlZW4gdGhvc2UgdHdvICBjaGFyYWMtCisgICAgICAgICAgICAgICAgICAgICB0ZXJzLCAgaW5jbHVzaXZlLCAgdXNpbmcgIHRoZSAgY3VycmVudCBsb2NhbGUncyBjb2xsYXRpbmcKKyAgICAgICAgICAgICAgICAgICAgIHNlcXVlbmNlIGFuZCBjaGFyYWN0ZXIgc2V0LCBpcyAgbWF0Y2hlZC4gICBJZiAgdGhlICBmaXJzdAorICAgICAgICAgICAgICAgICAgICAgY2hhcmFjdGVyIGZvbGxvd2luZyB0aGUgWwhbIGlzIGEgIQghICBvciBhIF4IXiB0aGVuIGFueSBjaGFyYWMtCisgICAgICAgICAgICAgICAgICAgICB0ZXIgbm90IGVuY2xvc2VkIGlzIG1hdGNoZWQuICBUaGUgc29ydGluZyBvcmRlciBvZiAgY2hhci0KKyAgICAgICAgICAgICAgICAgICAgIGFjdGVycyAgaW4gcmFuZ2UgZXhwcmVzc2lvbnMgaXMgZGV0ZXJtaW5lZCBieSB0aGUgY3VycmVudAorICAgICAgICAgICAgICAgICAgICAgbG9jYWxlIGFuZCB0aGUgdmFsdWUgb2YgdGhlIEwITEMIQ18IX0MIQ08IT0wITEwITEEIQVQIVEUIRSBzaGVsbCB2YXJpYWJsZSwgaWYKKyAgICAgICAgICAgICAgICAgICAgIHNldC4gICBBIC0ILSBtYXkgYmUgbWF0Y2hlZCBieSBpbmNsdWRpbmcgaXQgYXMgdGhlIGZpcnN0IG9yCisgICAgICAgICAgICAgICAgICAgICBsYXN0IGNoYXJhY3RlciBpbiB0aGUgc2V0LiAgQSBdCF0gbWF5IGJlIG1hdGNoZWQgYnkgaW5jbHVkLQorICAgICAgICAgICAgICAgICAgICAgaW5nIGl0IGFzIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaW4gdGhlIHNldC4KIAotICAgICAgICAgICAgICBXaXRoaW4gWwhbIGFuZCBdCF0sIF8IY18IaF8IYV8Icl8IYV8IY18IdF8IZV8IciBfCGNfCGxfCGFfCHNfCHNfCGVfCHMgY2FuICBiZSAgc3BlY2lmaWVkICB1c2luZyAgdGhlCi0gICAgICAgICAgICAgIHN5bnRheCAgWwhbOgg6XwhjXwhsXwhhXwhzXwhzOgg6XQhdLCAgd2hlcmUgIF8IY18IbF8IYV8Ic18IcyBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZyBjbGFzc2VzCi0gICAgICAgICAgICAgIGRlZmluZWQgaW4gdGhlIFBPU0lYIHN0YW5kYXJkOgotICAgICAgICAgICAgICBhCGFsCGxuCG51CHVtCG0gYQhhbAhscAhwaAhoYQhhIGEIYXMIc2MIY2kIaWkIaSBiCGJsCGxhCGFuCG5rCGsgYwhjbghudAh0cghybAhsICBkCGRpCGlnCGdpCGl0CHQgIGcIZ3IIcmEIYXAIcGgIaCAgbAhsbwhvdwh3ZQhlcghyICBwCHByCHJpCGluCG50CHQgIHAIcHUIdW4IbmMIY3QIdAotICAgICAgICAgICAgICBzCHNwCHBhCGFjCGNlCGUgdQh1cAhwcAhwZQhlcghyIHcId28Ib3IIcmQIZCB4CHhkCGRpCGlnCGdpCGl0CHQKLSAgICAgICAgICAgICAgQSBjaGFyYWN0ZXIgY2xhc3MgbWF0Y2hlcyBhbnkgY2hhcmFjdGVyIGJlbG9uZ2luZyB0byB0aGF0IGNsYXNzLgotICAgICAgICAgICAgICBUaGUgdwh3bwhvcghyZAhkIGNoYXJhY3RlciBjbGFzcyBtYXRjaGVzIGxldHRlcnMsIGRpZ2l0cywgYW5kIHRoZSAgY2hhci0KLSAgICAgICAgICAgICAgYWN0ZXIgXy4KKyAgICAgICAgICAgICAgICAgICAgIFdpdGhpbiAgWwhbIGFuZCBdCF0sIF8IY18IaF8IYV8Icl8IYV8IY18IdF8IZV8IciBfCGNfCGxfCGFfCHNfCHNfCGVfCHMgY2FuIGJlIHNwZWNpZmllZCB1c2luZworICAgICAgICAgICAgICAgICAgICAgdGhlIHN5bnRheCBbCFs6CDpfCGNfCGxfCGFfCHNfCHM6CDpdCF0sIHdoZXJlIF8IY18IbF8IYV8Ic18IcyBpcyBvbmUgb2YgdGhlIGZvbGxvd2luZworICAgICAgICAgICAgICAgICAgICAgY2xhc3NlcyBkZWZpbmVkIGluIHRoZSBQT1NJWCBzdGFuZGFyZDoKKyAgICAgICAgICAgICAgICAgICAgIGEIYWwIbG4IbnUIdW0IbSAgYQhhbAhscAhwaAhoYQhhICBhCGFzCHNjCGNpCGlpCGkgIGIIYmwIbGEIYW4IbmsIayAgYwhjbghudAh0cghybAhsIGQIZGkIaWcIZ2kIaXQIdCBnCGdyCHJhCGFwCHBoCGggbAhsbwhvdwh3ZQhlcghyIHAIcHIIcmkIaW4IbnQIdAorICAgICAgICAgICAgICAgICAgICAgcAhwdQh1bghuYwhjdAh0IHMIc3AIcGEIYWMIY2UIZSB1CHVwCHBwCHBlCGVyCHIgdwh3bwhvcghyZAhkIHgIeGQIZGkIaWcIZ2kIaXQIdAorICAgICAgICAgICAgICAgICAgICAgQSBjaGFyYWN0ZXIgY2xhc3MgbWF0Y2hlcyBhbnkgY2hhcmFjdGVyIGJlbG9uZ2luZyB0byB0aGF0CisgICAgICAgICAgICAgICAgICAgICBjbGFzcy4gIFRoZSB3CHdvCG9yCHJkCGQgY2hhcmFjdGVyIGNsYXNzIG1hdGNoZXMgbGV0dGVycywgZGlnaXRzLAorICAgICAgICAgICAgICAgICAgICAgYW5kIHRoZSBjaGFyYWN0ZXIgXy4KIAotICAgICAgICAgICAgICBXaXRoaW4gIFsIWyBhbmQgXQhdLCBhbiBfCGVfCHFfCHVfCGlfCHZfCGFfCGxfCGVfCG5fCGNfCGUgXwhjXwhsXwhhXwhzXwhzIGNhbiBiZSBzcGVjaWZpZWQgdXNpbmcgdGhlCi0gICAgICAgICAgICAgIHN5bnRheCBbCFs9CD1fCGM9CD1dCF0sIHdoaWNoIG1hdGNoZXMgYWxsIGNoYXJhY3RlcnMgd2l0aCB0aGUgc2FtZSAgY29sbGEtCi0gICAgICAgICAgICAgIHRpb24gIHdlaWdodCAoYXMgZGVmaW5lZCBieSB0aGUgY3VycmVudCBsb2NhbGUpIGFzIHRoZSBjaGFyYWN0ZXIKLSAgICAgICAgICAgICAgXwhjLgorICAgICAgICAgICAgICAgICAgICAgV2l0aGluIFsIWyBhbmQgXQhdLCBhbiBfCGVfCHFfCHVfCGlfCHZfCGFfCGxfCGVfCG5fCGNfCGUgIF8IY18IbF8IYV8Ic18IcyAgY2FuICBiZSAgc3BlY2lmaWVkCisgICAgICAgICAgICAgICAgICAgICB1c2luZyB0aGUgc3ludGF4IFsIWz0IPV8IYz0IPV0IXSwgd2hpY2ggbWF0Y2hlcyBhbGwgY2hhcmFjdGVycyB3aXRoCisgICAgICAgICAgICAgICAgICAgICB0aGUgc2FtZSBjb2xsYXRpb24gd2VpZ2h0ICAoYXMgIGRlZmluZWQgIGJ5ICB0aGUgIGN1cnJlbnQKKyAgICAgICAgICAgICAgICAgICAgIGxvY2FsZSkgYXMgdGhlIGNoYXJhY3RlciBfCGMuCiAKLSAgICAgICAgICAgICAgV2l0aGluIFsIWyBhbmQgXQhdLCB0aGUgc3ludGF4IFsIWy4ILl8Ic18IeV8IbV8IYl8Ib18IbC4ILl0IXSBtYXRjaGVzIHRoZSBjb2xsYXRpbmcgc3ltLQotICAgICAgICAgICAgICBib2wgXwhzXwh5XwhtXwhiXwhvXwhsLgorICAgICAgICAgICAgICAgICAgICAgV2l0aGluIFsIWyBhbmQgXQhdLCB0aGUgc3ludGF4IFsIWy4ILl8Ic18IeV8IbV8IYl8Ib18IbC4ILl0IXSBtYXRjaGVzIHRoZSBjb2xsYXQtCisgICAgICAgICAgICAgICAgICAgICBpbmcgc3ltYm9sIF8Ic18IeV8IbV8IYl8Ib18IbC4KIAogICAgICAgIElmIHRoZSBlCGV4CHh0CHRnCGdsCGxvCG9iCGIgc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgdXNpbmcgdGhlIHMIc2gIaG8Ib3AIcHQIdCBidWlsdGluLCBzZXZlcmFsCi0gICAgICAgZXh0ZW5kZWQgcGF0dGVybiBtYXRjaGluZyBvcGVyYXRvcnMgYXJlIHJlY29nbml6ZWQuICBJbiAgdGhlICBmb2xsb3dpbmcKKyAgICAgICBleHRlbmRlZCAgcGF0dGVybiAgbWF0Y2hpbmcgb3BlcmF0b3JzIGFyZSByZWNvZ25pemVkLiAgSW4gdGhlIGZvbGxvd2luZwogICAgICAgIGRlc2NyaXB0aW9uLCBhIF8IcF8IYV8IdF8IdF8IZV8Icl8Ibl8ILV8IbF8IaV8Ic18IdCBpcyBhIGxpc3Qgb2Ygb25lIG9yIG1vcmUgcGF0dGVybnMgc2VwYXJhdGVkCiAgICAgICAgYnkgYSB8CHwuICBDb21wb3NpdGUgcGF0dGVybnMgbWF5IGJlIGZvcm1lZCB1c2luZyBvbmUgb3IgbW9yZSBvZiB0aGUgZm9sLQogICAgICAgIGxvd2luZyBzdWItcGF0dGVybnM6CkBAIC0xNzM1LDU1ICsxNzkwLDU1IEBACiAKICAgIFEIUXUIdW8Ib3QIdGUIZSBSCFJlCGVtCG1vCG92CHZhCGFsCGwKICAgICAgICBBZnRlciB0aGUgcHJlY2VkaW5nIGV4cGFuc2lvbnMsIGFsbCB1bnF1b3RlZCBvY2N1cnJlbmNlcyBvZiB0aGUgY2hhcmFjLQotICAgICAgIHRlcnMgXAhcLCAnCCcsIGFuZCAiCCIgdGhhdCBkaWQgbm90IHJlc3VsdCBmcm9tIG9uZSBvZiB0aGUgIGFib3ZlICBleHBhbnNpb25zCisgICAgICAgdGVycyAgXAhcLCAgJwgnLCBhbmQgIggiIHRoYXQgZGlkIG5vdCByZXN1bHQgZnJvbSBvbmUgb2YgdGhlIGFib3ZlIGV4cGFuc2lvbnMKICAgICAgICBhcmUgcmVtb3ZlZC4KIAogUghSRQhFRAhESQhJUghSRQhFQwhDVAhUSQhJTwhPTghOCi0gICAgICAgQmVmb3JlICBhICBjb21tYW5kICBpcyBleGVjdXRlZCwgaXRzIGlucHV0IGFuZCBvdXRwdXQgbWF5IGJlIF8Icl8IZV8IZF8IaV8Icl8IZV8IY18IdF8IZV8IZAotICAgICAgIHVzaW5nIGEgc3BlY2lhbCBub3RhdGlvbiBpbnRlcnByZXRlZCBieSAgdGhlICBzaGVsbC4gICBSZWRpcmVjdGlvbiAgbWF5Ci0gICAgICAgYWxzbyAgYmUgIHVzZWQgIHRvIG9wZW4gYW5kIGNsb3NlIGZpbGVzIGZvciB0aGUgY3VycmVudCBzaGVsbCBleGVjdXRpb24KKyAgICAgICBCZWZvcmUgYSBjb21tYW5kIGlzIGV4ZWN1dGVkLCBpdHMgaW5wdXQgYW5kIG91dHB1dCAgbWF5ICBiZSAgXwhyXwhlXwhkXwhpXwhyXwhlXwhjXwh0XwhlXwhkCisgICAgICAgdXNpbmcgIGEgIHNwZWNpYWwgIG5vdGF0aW9uICBpbnRlcnByZXRlZCBieSB0aGUgc2hlbGwuICBSZWRpcmVjdGlvbiBtYXkKKyAgICAgICBhbHNvIGJlIHVzZWQgdG8gb3BlbiBhbmQgY2xvc2UgZmlsZXMgZm9yIHRoZSAgY3VycmVudCAgc2hlbGwgIGV4ZWN1dGlvbgogICAgICAgIGVudmlyb25tZW50LiAgVGhlIGZvbGxvd2luZyByZWRpcmVjdGlvbiBvcGVyYXRvcnMgbWF5IHByZWNlZGUgb3IgYXBwZWFyCiAgICAgICAgYW55d2hlcmUgd2l0aGluIGEgXwhzXwhpXwhtXwhwXwhsXwhlIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBvciBtYXkgZm9sbG93IGEgXwhjXwhvXwhtXwhtXwhhXwhuXwhkLiAgUmVkaXJlY3Rpb25zCiAgICAgICAgYXJlIHByb2Nlc3NlZCBpbiB0aGUgb3JkZXIgdGhleSBhcHBlYXIsIGZyb20gbGVmdCB0byByaWdodC4KIAotICAgICAgIEVhY2ggcmVkaXJlY3Rpb24gdGhhdCBtYXkgYmUgcHJlY2VkZWQgYnkgYSBmaWxlIGRlc2NyaXB0b3IgIG51bWJlciAgbWF5CisgICAgICAgRWFjaCAgcmVkaXJlY3Rpb24gIHRoYXQgbWF5IGJlIHByZWNlZGVkIGJ5IGEgZmlsZSBkZXNjcmlwdG9yIG51bWJlciBtYXkKICAgICAgICBpbnN0ZWFkIGJlIHByZWNlZGVkIGJ5IGEgd29yZCBvZiB0aGUgZm9ybSB7Xwh2XwhhXwhyXwhuXwhhXwhtXwhlfS4gIEluIHRoaXMgY2FzZSwgZm9yCiAgICAgICAgZWFjaCByZWRpcmVjdGlvbiBvcGVyYXRvciBleGNlcHQgPiYtIGFuZCA8Ji0sIHRoZSBzaGVsbCB3aWxsIGFsbG9jYXRlIGEKLSAgICAgICBmaWxlICBkZXNjcmlwdG9yICBncmVhdGVyICB0aGFuIDEwIGFuZCBhc3NpZ24gaXQgdG8gXwh2XwhhXwhyXwhuXwhhXwhtXwhlLiAgSWYgPiYtIG9yCi0gICAgICAgPCYtIGlzIHByZWNlZGVkIGJ5IHtfCHZfCGFfCHJfCG5fCGFfCG1fCGV9LCB0aGUgdmFsdWUgb2YgIF8Idl8IYV8Icl8Ibl8IYV8IbV8IZSAgZGVmaW5lcyAgdGhlICBmaWxlCisgICAgICAgZmlsZSBkZXNjcmlwdG9yIGdyZWF0ZXIgdGhhbiAxMCBhbmQgYXNzaWduIGl0IHRvIF8Idl8IYV8Icl8Ibl8IYV8IbV8IZS4gICBJZiAgPiYtICBvcgorICAgICAgIDwmLSAgaXMgIHByZWNlZGVkICBieSAge18Idl8IYV8Icl8Ibl8IYV8IbV8IZX0sIHRoZSB2YWx1ZSBvZiBfCHZfCGFfCHJfCG5fCGFfCG1fCGUgZGVmaW5lcyB0aGUgZmlsZQogICAgICAgIGRlc2NyaXB0b3IgdG8gY2xvc2UuCiAKLSAgICAgICBJbiAgdGhlICBmb2xsb3dpbmcgZGVzY3JpcHRpb25zLCBpZiB0aGUgZmlsZSBkZXNjcmlwdG9yIG51bWJlciBpcyBvbWl0LQotICAgICAgIHRlZCwgYW5kIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGlzIDwIPCwgdGhlICByZS0KLSAgICAgICBkaXJlY3Rpb24gIHJlZmVycyAgdG8gIHRoZSAgc3RhbmRhcmQgaW5wdXQgKGZpbGUgZGVzY3JpcHRvciAwKS4gIElmIHRoZQotICAgICAgIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgIHJlZGlyZWN0aW9uICBvcGVyYXRvciAgaXMgID4IPiwgIHRoZSAgcmVkaXJlY3Rpb24KKyAgICAgICBJbiB0aGUgZm9sbG93aW5nIGRlc2NyaXB0aW9ucywgaWYgdGhlIGZpbGUgZGVzY3JpcHRvciBudW1iZXIgIGlzICBvbWl0LQorICAgICAgIHRlZCwgIGFuZCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcyA8CDwsIHRoZSByZS0KKyAgICAgICBkaXJlY3Rpb24gcmVmZXJzIHRvIHRoZSBzdGFuZGFyZCBpbnB1dCAoZmlsZSAgZGVzY3JpcHRvciAgMCkuICAgSWYgIHRoZQorICAgICAgIGZpcnN0ICBjaGFyYWN0ZXIgIG9mICB0aGUgIHJlZGlyZWN0aW9uICBvcGVyYXRvciAgaXMgPgg+LCB0aGUgcmVkaXJlY3Rpb24KICAgICAgICByZWZlcnMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dCAoZmlsZSBkZXNjcmlwdG9yIDEpLgogCi0gICAgICAgVGhlICB3b3JkICBmb2xsb3dpbmcgdGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGluIHRoZSBmb2xsb3dpbmcgZGVzY3JpcC0KLSAgICAgICB0aW9ucywgdW5sZXNzIG90aGVyd2lzZSBub3RlZCwgaXMgc3ViamVjdGVkIHRvIGJyYWNlICBleHBhbnNpb24sICB0aWxkZQorICAgICAgIFRoZSB3b3JkIGZvbGxvd2luZyB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaW4gdGhlICBmb2xsb3dpbmcgIGRlc2NyaXAtCisgICAgICAgdGlvbnMsICB1bmxlc3MgIG90aGVyd2lzZSBub3RlZCwgaXMgc3ViamVjdGVkIHRvIGJyYWNlIGV4cGFuc2lvbiwgdGlsZGUKICAgICAgICBleHBhbnNpb24sIHBhcmFtZXRlciBleHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljIGV4cGFuLQotICAgICAgIHNpb24sIHF1b3RlIHJlbW92YWwsIHBhdGhuYW1lIGV4cGFuc2lvbiwgYW5kICB3b3JkICBzcGxpdHRpbmcuICAgSWYgIGl0CisgICAgICAgc2lvbiwgIHF1b3RlICByZW1vdmFsLCAgcGF0aG5hbWUgIGV4cGFuc2lvbiwgYW5kIHdvcmQgc3BsaXR0aW5nLiAgSWYgaXQKICAgICAgICBleHBhbmRzIHRvIG1vcmUgdGhhbiBvbmUgd29yZCwgYghiYQhhcwhzaAhoIHJlcG9ydHMgYW4gZXJyb3IuCiAKLSAgICAgICBOb3RlICB0aGF0ICB0aGUgb3JkZXIgb2YgcmVkaXJlY3Rpb25zIGlzIHNpZ25pZmljYW50LiAgRm9yIGV4YW1wbGUsIHRoZQorICAgICAgIE5vdGUgdGhhdCB0aGUgb3JkZXIgb2YgcmVkaXJlY3Rpb25zIGlzIHNpZ25pZmljYW50LiAgRm9yICBleGFtcGxlLCAgdGhlCiAgICAgICAgY29tbWFuZAogCiAgICAgICAgICAgICAgIGxzID4IPiBkaXJsaXN0IDI+CD4mCCYxCiAKLSAgICAgICBkaXJlY3RzIGJvdGggc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZCBlcnJvciB0byAgdGhlICBmaWxlICBfCGRfCGlfCHJfCGxfCGlfCHNfCHQsCisgICAgICAgZGlyZWN0cyAgYm90aCAgc3RhbmRhcmQgIG91dHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgdG8gdGhlIGZpbGUgXwhkXwhpXwhyXwhsXwhpXwhzXwh0LAogICAgICAgIHdoaWxlIHRoZSBjb21tYW5kCiAKICAgICAgICAgICAgICAgbHMgMj4IPiYIJjEgPgg+IGRpcmxpc3QKIAotICAgICAgIGRpcmVjdHMgIG9ubHkgdGhlIHN0YW5kYXJkIG91dHB1dCB0byBmaWxlIF8IZF8IaV8Icl8IbF8IaV8Ic18IdCwgYmVjYXVzZSB0aGUgc3RhbmRhcmQKLSAgICAgICBlcnJvciB3YXMgZHVwbGljYXRlZCBmcm9tIHRoZSBzdGFuZGFyZCBvdXRwdXQgYmVmb3JlIHRoZSBzdGFuZGFyZCAgb3V0LQorICAgICAgIGRpcmVjdHMgb25seSB0aGUgc3RhbmRhcmQgb3V0cHV0IHRvIGZpbGUgXwhkXwhpXwhyXwhsXwhpXwhzXwh0LCBiZWNhdXNlIHRoZSAgc3RhbmRhcmQKKyAgICAgICBlcnJvciAgd2FzIGR1cGxpY2F0ZWQgZnJvbSB0aGUgc3RhbmRhcmQgb3V0cHV0IGJlZm9yZSB0aGUgc3RhbmRhcmQgb3V0LQogICAgICAgIHB1dCB3YXMgcmVkaXJlY3RlZCB0byBfCGRfCGlfCHJfCGxfCGlfCHNfCHQuCiAKICAgICAgICBCCEJhCGFzCHNoCGggaGFuZGxlcyBzZXZlcmFsIGZpbGVuYW1lcyBzcGVjaWFsbHkgd2hlbiB0aGV5IGFyZSB1c2VkIGluIHJlZGlyZWMtCiAgICAgICAgdGlvbnMsIGFzIGRlc2NyaWJlZCBpbiB0aGUgZm9sbG93aW5nIHRhYmxlOgogCiAgICAgICAgICAgICAgIC8IL2QIZGUIZXYIdi8IL2YIZmQIZC8IL18IZl8IZAotICAgICAgICAgICAgICAgICAgICAgSWYgXwhmXwhkIGlzIGEgdmFsaWQgaW50ZWdlciwgZmlsZSBkZXNjcmlwdG9yICBfCGZfCGQgIGlzICBkdXBsaS0KKyAgICAgICAgICAgICAgICAgICAgIElmICBfCGZfCGQgIGlzICBhIHZhbGlkIGludGVnZXIsIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQgaXMgZHVwbGktCiAgICAgICAgICAgICAgICAgICAgICBjYXRlZC4KICAgICAgICAgICAgICAgLwgvZAhkZQhldgh2LwgvcwhzdAh0ZAhkaQhpbghuCiAgICAgICAgICAgICAgICAgICAgICBGaWxlIGRlc2NyaXB0b3IgMCBpcyBkdXBsaWNhdGVkLgpAQCAtMTc5MywyMiArMTg0OCwyMiBAQAogICAgICAgICAgICAgICAgICAgICAgRmlsZSBkZXNjcmlwdG9yIDIgaXMgZHVwbGljYXRlZC4KICAgICAgICAgICAgICAgLwgvZAhkZQhldgh2LwgvdAh0YwhjcAhwLwgvXwhoXwhvXwhzXwh0LwgvXwhwXwhvXwhyXwh0CiAgICAgICAgICAgICAgICAgICAgICBJZiBfCGhfCG9fCHNfCHQgaXMgYSB2YWxpZCBob3N0bmFtZSBvciBJbnRlcm5ldCBhZGRyZXNzLCBhbmQgXwhwXwhvXwhyXwh0Ci0gICAgICAgICAgICAgICAgICAgICBpcyBhbiBpbnRlZ2VyIHBvcnQgbnVtYmVyIG9yIHNlcnZpY2UgbmFtZSwgYghiYQhhcwhzaAhoICBhdHRlbXB0cworICAgICAgICAgICAgICAgICAgICAgaXMgIGFuIGludGVnZXIgcG9ydCBudW1iZXIgb3Igc2VydmljZSBuYW1lLCBiCGJhCGFzCHNoCGggYXR0ZW1wdHMKICAgICAgICAgICAgICAgICAgICAgIHRvIG9wZW4gYSBUQ1AgY29ubmVjdGlvbiB0byB0aGUgY29ycmVzcG9uZGluZyBzb2NrZXQuCiAgICAgICAgICAgICAgIC8IL2QIZGUIZXYIdi8IL3UIdWQIZHAIcC8IL18IaF8Ib18Ic18IdC8IL18IcF8Ib18Icl8IdAogICAgICAgICAgICAgICAgICAgICAgSWYgXwhoXwhvXwhzXwh0IGlzIGEgdmFsaWQgaG9zdG5hbWUgb3IgSW50ZXJuZXQgYWRkcmVzcywgYW5kIF8IcF8Ib18Icl8IdAotICAgICAgICAgICAgICAgICAgICAgaXMgYW4gaW50ZWdlciBwb3J0IG51bWJlciBvciBzZXJ2aWNlIG5hbWUsIGIIYmEIYXMIc2gIaCAgYXR0ZW1wdHMKKyAgICAgICAgICAgICAgICAgICAgIGlzICBhbiBpbnRlZ2VyIHBvcnQgbnVtYmVyIG9yIHNlcnZpY2UgbmFtZSwgYghiYQhhcwhzaAhoIGF0dGVtcHRzCiAgICAgICAgICAgICAgICAgICAgICB0byBvcGVuIGEgVURQIGNvbm5lY3Rpb24gdG8gdGhlIGNvcnJlc3BvbmRpbmcgc29ja2V0LgogCiAgICAgICAgQSBmYWlsdXJlIHRvIG9wZW4gb3IgY3JlYXRlIGEgZmlsZSBjYXVzZXMgdGhlIHJlZGlyZWN0aW9uIHRvIGZhaWwuCiAKLSAgICAgICBSZWRpcmVjdGlvbnMgIHVzaW5nIGZpbGUgZGVzY3JpcHRvcnMgZ3JlYXRlciB0aGFuIDkgc2hvdWxkIGJlIHVzZWQgd2l0aAotICAgICAgIGNhcmUsIGFzIHRoZXkgbWF5IGNvbmZsaWN0IHdpdGggZmlsZSBkZXNjcmlwdG9ycyB0aGUgc2hlbGwgdXNlcyAgaW50ZXItCisgICAgICAgUmVkaXJlY3Rpb25zIHVzaW5nIGZpbGUgZGVzY3JpcHRvcnMgZ3JlYXRlciB0aGFuIDkgc2hvdWxkIGJlIHVzZWQgIHdpdGgKKyAgICAgICBjYXJlLCAgYXMgdGhleSBtYXkgY29uZmxpY3Qgd2l0aCBmaWxlIGRlc2NyaXB0b3JzIHRoZSBzaGVsbCB1c2VzIGludGVyLQogICAgICAgIG5hbGx5LgogCiAgICBSCFJlCGVkCGRpCGlyCHJlCGVjCGN0CHRpCGluCG5nCGcgSQhJbghucAhwdQh1dAh0CiAgICAgICAgUmVkaXJlY3Rpb24gb2YgaW5wdXQgY2F1c2VzIHRoZSBmaWxlIHdob3NlIG5hbWUgcmVzdWx0cyBmcm9tIHRoZSBleHBhbi0KLSAgICAgICBzaW9uIG9mIF8Id18Ib18Icl8IZCB0byBiZSBvcGVuZWQgZm9yIHJlYWRpbmcgb24gIGZpbGUgIGRlc2NyaXB0b3IgIF8IbiwgIG9yICB0aGUKKyAgICAgICBzaW9uICBvZiAgXwh3XwhvXwhyXwhkICB0byAgYmUgIG9wZW5lZCBmb3IgcmVhZGluZyBvbiBmaWxlIGRlc2NyaXB0b3IgXwhuLCBvciB0aGUKICAgICAgICBzdGFuZGFyZCBpbnB1dCAoZmlsZSBkZXNjcmlwdG9yIDApIGlmIF8IbiBpcyBub3Qgc3BlY2lmaWVkLgogCiAgICAgICAgVGhlIGdlbmVyYWwgZm9ybWF0IGZvciByZWRpcmVjdGluZyBpbnB1dCBpczoKQEAgLTE4MTYsMjcgKzE4NzEsMjcgQEAKICAgICAgICAgICAgICAgW18Ibl08CDxfCHdfCG9fCHJfCGQKIAogICAgUghSZQhlZAhkaQhpcghyZQhlYwhjdAh0aQhpbghuZwhnIE8IT3UIdXQIdHAIcHUIdXQIdAotICAgICAgIFJlZGlyZWN0aW9uICBvZiAgb3V0cHV0ICBjYXVzZXMgIHRoZSAgZmlsZSAgd2hvc2UgbmFtZSByZXN1bHRzIGZyb20gdGhlCisgICAgICAgUmVkaXJlY3Rpb24gb2Ygb3V0cHV0IGNhdXNlcyB0aGUgIGZpbGUgIHdob3NlICBuYW1lICByZXN1bHRzICBmcm9tICB0aGUKICAgICAgICBleHBhbnNpb24gb2YgXwh3XwhvXwhyXwhkIHRvIGJlIG9wZW5lZCBmb3Igd3JpdGluZyBvbiBmaWxlIGRlc2NyaXB0b3IgXwhuLCBvciB0aGUKICAgICAgICBzdGFuZGFyZCBvdXRwdXQgKGZpbGUgZGVzY3JpcHRvciAxKSBpZiBfCG4gaXMgbm90IHNwZWNpZmllZC4gIElmIHRoZSBmaWxlCi0gICAgICAgZG9lcyBub3QgZXhpc3QgaXQgaXMgY3JlYXRlZDsgaWYgaXQgZG9lcyBleGlzdCBpdCBpcyB0cnVuY2F0ZWQgdG8gIHplcm8KKyAgICAgICBkb2VzICBub3QgZXhpc3QgaXQgaXMgY3JlYXRlZDsgaWYgaXQgZG9lcyBleGlzdCBpdCBpcyB0cnVuY2F0ZWQgdG8gemVybwogICAgICAgIHNpemUuCiAKICAgICAgICBUaGUgZ2VuZXJhbCBmb3JtYXQgZm9yIHJlZGlyZWN0aW5nIG91dHB1dCBpczoKIAogICAgICAgICAgICAgICBbXwhuXT4IPl8Id18Ib18Icl8IZAogCi0gICAgICAgSWYgIHRoZSAgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaXMgPgg+LCBhbmQgdGhlIG4Ibm8Ib2MIY2wIbG8Ib2IIYmIIYmUIZXIIciBvcHRpb24gdG8gdGhlIHMIc2UIZXQIdAotICAgICAgIGJ1aWx0aW4gaGFzIGJlZW4gZW5hYmxlZCwgdGhlIHJlZGlyZWN0aW9uIHdpbGwgZmFpbCBpZiB0aGUgIGZpbGUgIHdob3NlCi0gICAgICAgbmFtZSAgcmVzdWx0cyAgZnJvbSB0aGUgZXhwYW5zaW9uIG9mIF8Id18Ib18Icl8IZCBleGlzdHMgYW5kIGlzIGEgcmVndWxhciBmaWxlLgorICAgICAgIElmIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcyA+CD4sIGFuZCB0aGUgbghubwhvYwhjbAhsbwhvYghiYghiZQhlcghyIG9wdGlvbiB0byAgdGhlICBzCHNlCGV0CHQKKyAgICAgICBidWlsdGluICBoYXMgIGJlZW4gZW5hYmxlZCwgdGhlIHJlZGlyZWN0aW9uIHdpbGwgZmFpbCBpZiB0aGUgZmlsZSB3aG9zZQorICAgICAgIG5hbWUgcmVzdWx0cyBmcm9tIHRoZSBleHBhbnNpb24gb2YgXwh3XwhvXwhyXwhkIGV4aXN0cyBhbmQgaXMgYSAgcmVndWxhciAgZmlsZS4KICAgICAgICBJZiB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaXMgPgg+fAh8LCBvciB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaXMgPgg+IGFuZAogICAgICAgIHRoZSBuCG5vCG9jCGNsCGxvCG9iCGJiCGJlCGVyCHIgb3B0aW9uIHRvIHRoZSBzCHNlCGV0CHQgYnVpbHRpbiBjb21tYW5kIGlzIG5vdCBlbmFibGVkLCB0aGUgcmUtCiAgICAgICAgZGlyZWN0aW9uIGlzIGF0dGVtcHRlZCBldmVuIGlmIHRoZSBmaWxlIG5hbWVkIGJ5IF8Id18Ib18Icl8IZCBleGlzdHMuCiAKICAgIEEIQXAIcHAIcGUIZW4IbmQIZGkIaW4IbmcIZyBSCFJlCGVkCGRpCGlyCHJlCGVjCGN0CHRlCGVkCGQgTwhPdQh1dAh0cAhwdQh1dAh0Ci0gICAgICAgUmVkaXJlY3Rpb24gb2Ygb3V0cHV0IGluICB0aGlzICBmYXNoaW9uICBjYXVzZXMgIHRoZSAgZmlsZSAgd2hvc2UgIG5hbWUKLSAgICAgICByZXN1bHRzICBmcm9tICB0aGUgZXhwYW5zaW9uIG9mIF8Id18Ib18Icl8IZCB0byBiZSBvcGVuZWQgZm9yIGFwcGVuZGluZyBvbiBmaWxlCi0gICAgICAgZGVzY3JpcHRvciBfCG4sIG9yIHRoZSBzdGFuZGFyZCBvdXRwdXQgKGZpbGUgZGVzY3JpcHRvciAxKSBpZiAgXwhuICBpcyAgbm90CisgICAgICAgUmVkaXJlY3Rpb24gIG9mICBvdXRwdXQgIGluICB0aGlzICBmYXNoaW9uICBjYXVzZXMgIHRoZSBmaWxlIHdob3NlIG5hbWUKKyAgICAgICByZXN1bHRzIGZyb20gdGhlIGV4cGFuc2lvbiBvZiBfCHdfCG9fCHJfCGQgdG8gYmUgb3BlbmVkIGZvciBhcHBlbmRpbmcgIG9uICBmaWxlCisgICAgICAgZGVzY3JpcHRvciAgXwhuLCAgb3IgIHRoZSBzdGFuZGFyZCBvdXRwdXQgKGZpbGUgZGVzY3JpcHRvciAxKSBpZiBfCG4gaXMgbm90CiAgICAgICAgc3BlY2lmaWVkLiAgSWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QgaXQgaXMgY3JlYXRlZC4KIAogICAgICAgIFRoZSBnZW5lcmFsIGZvcm1hdCBmb3IgYXBwZW5kaW5nIG91dHB1dCBpczoKQEAgLTE4NDUsMTEgKzE5MDAsMTEgQEAKIAogCiAgICBSCFJlCGVkCGRpCGlyCHJlCGVjCGN0CHRpCGluCG5nCGcgUwhTdAh0YQhhbghuZAhkYQhhcghyZAhkIE8IT3UIdXQIdHAIcHUIdXQIdCBhCGFuCG5kCGQgUwhTdAh0YQhhbghuZAhkYQhhcghyZAhkIEUIRXIIcnIIcm8Ib3IIcgotICAgICAgIFRoaXMgIGNvbnN0cnVjdCBhbGxvd3MgYm90aCB0aGUgc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgYW5kCi0gICAgICAgdGhlIHN0YW5kYXJkIGVycm9yIG91dHB1dCAoZmlsZSBkZXNjcmlwdG9yIDIpIHRvIGJlIHJlZGlyZWN0ZWQgIHRvICB0aGUKKyAgICAgICBUaGlzIGNvbnN0cnVjdCBhbGxvd3MgYm90aCB0aGUgc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgIGFuZAorICAgICAgIHRoZSAgc3RhbmRhcmQgIGVycm9yIG91dHB1dCAoZmlsZSBkZXNjcmlwdG9yIDIpIHRvIGJlIHJlZGlyZWN0ZWQgdG8gdGhlCiAgICAgICAgZmlsZSB3aG9zZSBuYW1lIGlzIHRoZSBleHBhbnNpb24gb2YgXwh3XwhvXwhyXwhkLgogCi0gICAgICAgVGhlcmUgIGFyZSAgdHdvICBmb3JtYXRzICBmb3IgIHJlZGlyZWN0aW5nIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQKKyAgICAgICBUaGVyZSBhcmUgdHdvIGZvcm1hdHMgZm9yICByZWRpcmVjdGluZyAgc3RhbmRhcmQgIG91dHB1dCAgYW5kICBzdGFuZGFyZAogICAgICAgIGVycm9yOgogCiAgICAgICAgICAgICAgICYIJj4IPl8Id18Ib18Icl8IZApAQCAtMTg2Myw4ICsxOTE4LDggQEAKIAogCiAgICBBCEFwCHBwCHBlCGVuCG5kCGRpCGluCG5nCGcgUwhTdAh0YQhhbghuZAhkYQhhcghyZAhkIE8IT3UIdXQIdHAIcHUIdXQIdCBhCGFuCG5kCGQgUwhTdAh0YQhhbghuZAhkYQhhcghyZAhkIEUIRXIIcnIIcm8Ib3IIcgotICAgICAgIFRoaXMgIGNvbnN0cnVjdCBhbGxvd3MgYm90aCB0aGUgc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgYW5kCi0gICAgICAgdGhlIHN0YW5kYXJkIGVycm9yIG91dHB1dCAoZmlsZSBkZXNjcmlwdG9yIDIpIHRvICBiZSAgYXBwZW5kZWQgIHRvICB0aGUKKyAgICAgICBUaGlzIGNvbnN0cnVjdCBhbGxvd3MgYm90aCB0aGUgc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgIGFuZAorICAgICAgIHRoZSAgc3RhbmRhcmQgIGVycm9yICBvdXRwdXQgIChmaWxlIGRlc2NyaXB0b3IgMikgdG8gYmUgYXBwZW5kZWQgdG8gdGhlCiAgICAgICAgZmlsZSB3aG9zZSBuYW1lIGlzIHRoZSBleHBhbnNpb24gb2YgXwh3XwhvXwhyXwhkLgogCiAgICAgICAgVGhlIGZvcm1hdCBmb3IgYXBwZW5kaW5nIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgaXM6CkBAIC0xODc2LDkgKzE5MzEsOSBAQAogICAgICAgICAgICAgICA+CD4+CD5fCHdfCG9fCHJfCGQgMj4IPiYIJjEKIAogICAgSAhIZQhlcghyZQhlIEQIRG8Ib2MIY3UIdW0IbWUIZW4IbnQIdHMIcwotICAgICAgIFRoaXMgIHR5cGUgIG9mICByZWRpcmVjdGlvbiAgaW5zdHJ1Y3RzIHRoZSBzaGVsbCB0byByZWFkIGlucHV0IGZyb20gdGhlCisgICAgICAgVGhpcyB0eXBlIG9mIHJlZGlyZWN0aW9uIGluc3RydWN0cyB0aGUgc2hlbGwgdG8gIHJlYWQgIGlucHV0ICBmcm9tICB0aGUKICAgICAgICBjdXJyZW50IHNvdXJjZSB1bnRpbCBhIGxpbmUgY29udGFpbmluZyBvbmx5IF8IZF8IZV8IbF8IaV8IbV8IaV8IdF8IZV8IciAod2l0aCBubyB0cmFpbGluZwotICAgICAgIGJsYW5rcykgIGlzIHNlZW4uICBBbGwgb2YgdGhlIGxpbmVzIHJlYWQgdXAgdG8gdGhhdCBwb2ludCBhcmUgdGhlbiB1c2VkCisgICAgICAgYmxhbmtzKSBpcyBzZWVuLiAgQWxsIG9mIHRoZSBsaW5lcyByZWFkIHVwIHRvIHRoYXQgcG9pbnQgYXJlIHRoZW4gIHVzZWQKICAgICAgICBhcyB0aGUgc3RhbmRhcmQgaW5wdXQgZm9yIGEgY29tbWFuZC4KIAogICAgICAgIFRoZSBmb3JtYXQgb2YgaGVyZS1kb2N1bWVudHMgaXM6CkBAIC0xODg3LDE4ICsxOTQyLDE4IEBACiAgICAgICAgICAgICAgICAgICAgICAgXwhoXwhlXwhyXwhlXwgtXwhkXwhvXwhjXwh1XwhtXwhlXwhuXwh0CiAgICAgICAgICAgICAgIF8IZF8IZV8IbF8IaV8IbV8IaV8IdF8IZV8IcgogCi0gICAgICAgTm8gcGFyYW1ldGVyIGV4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGl0dXRpb24sIGFyaXRobWV0aWMgZXhwYW5zaW9uLCAgb3IKKyAgICAgICBObyAgcGFyYW1ldGVyIGV4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGl0dXRpb24sIGFyaXRobWV0aWMgZXhwYW5zaW9uLCBvcgogICAgICAgIHBhdGhuYW1lIGV4cGFuc2lvbiBpcyBwZXJmb3JtZWQgb24gXwh3XwhvXwhyXwhkLiAgSWYgYW55IGNoYXJhY3RlcnMgaW4gXwh3XwhvXwhyXwhkIGFyZQotICAgICAgIHF1b3RlZCwgdGhlIF8IZF8IZV8IbF8IaV8IbV8IaV8IdF8IZV8IciBpcyB0aGUgcmVzdWx0IG9mIHF1b3RlIHJlbW92YWwgb24gXwh3XwhvXwhyXwhkLCAgYW5kICB0aGUKLSAgICAgICBsaW5lcyAgaW4gdGhlIGhlcmUtZG9jdW1lbnQgYXJlIG5vdCBleHBhbmRlZC4gIElmIF8Id18Ib18Icl8IZCBpcyB1bnF1b3RlZCwgYWxsCi0gICAgICAgbGluZXMgb2YgdGhlIGhlcmUtZG9jdW1lbnQgYXJlIHN1YmplY3RlZCB0byBwYXJhbWV0ZXIgIGV4cGFuc2lvbiwgIGNvbS0KLSAgICAgICBtYW5kICBzdWJzdGl0dXRpb24sICBhbmQgYXJpdGhtZXRpYyBleHBhbnNpb24uICBJbiB0aGUgbGF0dGVyIGNhc2UsIHRoZQotICAgICAgIGNoYXJhY3RlciBzZXF1ZW5jZSBcCFw8CDxuCG5lCGV3CHdsCGxpCGluCG5lCGU+CD4gaXMgaWdub3JlZCwgYW5kIFwIXCBtdXN0IGJlIHVzZWQgIHRvICBxdW90ZQorICAgICAgIHF1b3RlZCwgIHRoZSAgXwhkXwhlXwhsXwhpXwhtXwhpXwh0XwhlXwhyIGlzIHRoZSByZXN1bHQgb2YgcXVvdGUgcmVtb3ZhbCBvbiBfCHdfCG9fCHJfCGQsIGFuZCB0aGUKKyAgICAgICBsaW5lcyBpbiB0aGUgaGVyZS1kb2N1bWVudCBhcmUgbm90IGV4cGFuZGVkLiAgSWYgXwh3XwhvXwhyXwhkIGlzIHVucXVvdGVkLCAgYWxsCisgICAgICAgbGluZXMgIG9mICB0aGUgaGVyZS1kb2N1bWVudCBhcmUgc3ViamVjdGVkIHRvIHBhcmFtZXRlciBleHBhbnNpb24sIGNvbS0KKyAgICAgICBtYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRobWV0aWMgZXhwYW5zaW9uLiAgSW4gdGhlIGxhdHRlciAgY2FzZSwgIHRoZQorICAgICAgIGNoYXJhY3RlciAgc2VxdWVuY2UgIFwIXDwIPG4IbmUIZXcId2wIbGkIaW4IbmUIZT4IPiBpcyBpZ25vcmVkLCBhbmQgXAhcIG11c3QgYmUgdXNlZCB0byBxdW90ZQogICAgICAgIHRoZSBjaGFyYWN0ZXJzIFwIXCwgJAgkLCBhbmQgYAhgLgogCiAgICAgICAgSWYgdGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGlzIDwIPDwIPC0ILSwgdGhlbiBhbGwgbGVhZGluZyB0YWIgY2hhcmFjdGVycyBhcmUKLSAgICAgICBzdHJpcHBlZCBmcm9tIGlucHV0IGxpbmVzIGFuZCAgdGhlICBsaW5lICBjb250YWluaW5nICBfCGRfCGVfCGxfCGlfCG1fCGlfCHRfCGVfCHIuICAgVGhpcwotICAgICAgIGFsbG93cyAgaGVyZS1kb2N1bWVudHMgd2l0aGluIHNoZWxsIHNjcmlwdHMgdG8gYmUgaW5kZW50ZWQgaW4gYSBuYXR1cmFsCisgICAgICAgc3RyaXBwZWQgIGZyb20gIGlucHV0ICBsaW5lcyAgYW5kICB0aGUgbGluZSBjb250YWluaW5nIF8IZF8IZV8IbF8IaV8IbV8IaV8IdF8IZV8Ici4gIFRoaXMKKyAgICAgICBhbGxvd3MgaGVyZS1kb2N1bWVudHMgd2l0aGluIHNoZWxsIHNjcmlwdHMgdG8gYmUgaW5kZW50ZWQgaW4gYSAgbmF0dXJhbAogICAgICAgIGZhc2hpb24uCiAKICAgIEgISGUIZXIIcmUIZSBTCFN0CHRyCHJpCGluCG5nCGdzCHMKQEAgLTE5MTQsMjAgKzE5NjksMjAgQEAKICAgICAgICAgICAgICAgW18Ibl08CDwmCCZfCHdfCG9fCHJfCGQKIAogICAgICAgIGlzIHVzZWQgdG8gZHVwbGljYXRlIGlucHV0IGZpbGUgZGVzY3JpcHRvcnMuICBJZiBfCHdfCG9fCHJfCGQgZXhwYW5kcyB0byBvbmUgb3IKLSAgICAgICBtb3JlIGRpZ2l0cywgdGhlIGZpbGUgZGVzY3JpcHRvciBkZW5vdGVkIGJ5IF8IbiBpcyBtYWRlIHRvIGJlIGEgIGNvcHkgIG9mCi0gICAgICAgdGhhdCAgZmlsZSAgZGVzY3JpcHRvci4gICBJZiAgdGhlICBkaWdpdHMgaW4gXwh3XwhvXwhyXwhkIGRvIG5vdCBzcGVjaWZ5IGEgZmlsZQotICAgICAgIGRlc2NyaXB0b3Igb3BlbiBmb3IgaW5wdXQsIGEgcmVkaXJlY3Rpb24gZXJyb3Igb2NjdXJzLiAgSWYgXwh3XwhvXwhyXwhkICBldmFsdS0KLSAgICAgICBhdGVzICB0byAgLQgtLCAgZmlsZSAgZGVzY3JpcHRvciBfCG4gaXMgY2xvc2VkLiAgSWYgXwhuIGlzIG5vdCBzcGVjaWZpZWQsIHRoZQorICAgICAgIG1vcmUgIGRpZ2l0cywgIHRoZSBmaWxlIGRlc2NyaXB0b3IgZGVub3RlZCBieSBfCG4gaXMgbWFkZSB0byBiZSBhIGNvcHkgb2YKKyAgICAgICB0aGF0IGZpbGUgZGVzY3JpcHRvci4gIElmIHRoZSBkaWdpdHMgaW4gXwh3XwhvXwhyXwhkICBkbyAgbm90ICBzcGVjaWZ5ICBhICBmaWxlCisgICAgICAgZGVzY3JpcHRvciAgb3BlbiBmb3IgaW5wdXQsIGEgcmVkaXJlY3Rpb24gZXJyb3Igb2NjdXJzLiAgSWYgXwh3XwhvXwhyXwhkIGV2YWx1LQorICAgICAgIGF0ZXMgdG8gLQgtLCBmaWxlIGRlc2NyaXB0b3IgXwhuIGlzIGNsb3NlZC4gIElmIF8IbiAgaXMgIG5vdCAgc3BlY2lmaWVkLCAgdGhlCiAgICAgICAgc3RhbmRhcmQgaW5wdXQgKGZpbGUgZGVzY3JpcHRvciAwKSBpcyB1c2VkLgogCiAgICAgICAgVGhlIG9wZXJhdG9yCiAKICAgICAgICAgICAgICAgW18Ibl0+CD4mCCZfCHdfCG9fCHJfCGQKIAotICAgICAgIGlzIHVzZWQgc2ltaWxhcmx5IHRvIGR1cGxpY2F0ZSBvdXRwdXQgZmlsZSBkZXNjcmlwdG9ycy4gIElmICBfCG4gIGlzICBub3QKLSAgICAgICBzcGVjaWZpZWQsICB0aGUgIHN0YW5kYXJkICBvdXRwdXQgIChmaWxlIGRlc2NyaXB0b3IgMSkgaXMgdXNlZC4gIElmIHRoZQotICAgICAgIGRpZ2l0cyBpbiBfCHdfCG9fCHJfCGQgZG8gbm90IHNwZWNpZnkgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiBmb3Igb3V0cHV0LCBhICByZS0KLSAgICAgICBkaXJlY3Rpb24gIGVycm9yICBvY2N1cnMuICBBcyBhIHNwZWNpYWwgY2FzZSwgaWYgXwhuIGlzIG9taXR0ZWQsIGFuZCBfCHdfCG9fCHJfCGQKKyAgICAgICBpcyAgdXNlZCAgc2ltaWxhcmx5ICB0byBkdXBsaWNhdGUgb3V0cHV0IGZpbGUgZGVzY3JpcHRvcnMuICBJZiBfCG4gaXMgbm90CisgICAgICAgc3BlY2lmaWVkLCB0aGUgc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgIGlzICB1c2VkLiAgIElmICB0aGUKKyAgICAgICBkaWdpdHMgIGluIF8Id18Ib18Icl8IZCBkbyBub3Qgc3BlY2lmeSBhIGZpbGUgZGVzY3JpcHRvciBvcGVuIGZvciBvdXRwdXQsIGEgcmUtCisgICAgICAgZGlyZWN0aW9uIGVycm9yIG9jY3Vycy4gIEFzIGEgc3BlY2lhbCBjYXNlLCBpZiBfCG4gaXMgb21pdHRlZCwgIGFuZCAgXwh3XwhvXwhyXwhkCiAgICAgICAgZG9lcyBub3QgZXhwYW5kIHRvIG9uZSBvciBtb3JlIGRpZ2l0cywgdGhlIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQKICAgICAgICBlcnJvciBhcmUgcmVkaXJlY3RlZCBhcyBkZXNjcmliZWQgcHJldmlvdXNseS4KIApAQCAtMTkzNiw3ICsxOTkxLDcgQEAKIAogICAgICAgICAgICAgICBbXwhuXTwIPCYIJl8IZF8IaV8IZ18IaV8IdC0ILQogCi0gICAgICAgbW92ZXMgIHRoZSAgZmlsZSBkZXNjcmlwdG9yIF8IZF8IaV8IZ18IaV8IdCB0byBmaWxlIGRlc2NyaXB0b3IgXwhuLCBvciB0aGUgc3RhbmRhcmQKKyAgICAgICBtb3ZlcyB0aGUgZmlsZSBkZXNjcmlwdG9yIF8IZF8IaV8IZ18IaV8IdCB0byBmaWxlIGRlc2NyaXB0b3IgXwhuLCBvciAgdGhlICBzdGFuZGFyZAogICAgICAgIGlucHV0IChmaWxlIGRlc2NyaXB0b3IgMCkgaWYgXwhuIGlzIG5vdCBzcGVjaWZpZWQuICBfCGRfCGlfCGdfCGlfCHQgaXMgY2xvc2VkIGFmdGVyCiAgICAgICAgYmVpbmcgZHVwbGljYXRlZCB0byBfCG4uCiAKQEAgLTE5NDQsNyArMTk5OSw3IEBACiAKICAgICAgICAgICAgICAgW18Ibl0+CD4mCCZfCGRfCGlfCGdfCGlfCHQtCC0KIAotICAgICAgIG1vdmVzICB0aGUgIGZpbGUgZGVzY3JpcHRvciBfCGRfCGlfCGdfCGlfCHQgdG8gZmlsZSBkZXNjcmlwdG9yIF8Ibiwgb3IgdGhlIHN0YW5kYXJkCisgICAgICAgbW92ZXMgdGhlIGZpbGUgZGVzY3JpcHRvciBfCGRfCGlfCGdfCGlfCHQgdG8gZmlsZSBkZXNjcmlwdG9yIF8Ibiwgb3IgIHRoZSAgc3RhbmRhcmQKICAgICAgICBvdXRwdXQgKGZpbGUgZGVzY3JpcHRvciAxKSBpZiBfCG4gaXMgbm90IHNwZWNpZmllZC4KIAogICAgTwhPcAhwZQhlbghuaQhpbghuZwhnIEYIRmkIaWwIbGUIZSBECERlCGVzCHNjCGNyCHJpCGlwCHB0CHRvCG9yCHJzCHMgZghmbwhvcghyIFIIUmUIZWEIYWQIZGkIaW4IbmcIZyBhCGFuCG5kCGQgVwhXcghyaQhpdAh0aQhpbghuZwhnCkBAIC0xOTUyLDExMSArMjAwNywxMTcgQEAKIAogICAgICAgICAgICAgICBbXwhuXTwIPD4IPl8Id18Ib18Icl8IZAogCi0gICAgICAgY2F1c2VzIHRoZSBmaWxlIHdob3NlIG5hbWUgaXMgdGhlIGV4cGFuc2lvbiBvZiBfCHdfCG9fCHJfCGQgdG8gIGJlICBvcGVuZWQgIGZvcgotICAgICAgIGJvdGggIHJlYWRpbmcgYW5kIHdyaXRpbmcgb24gZmlsZSBkZXNjcmlwdG9yIF8Ibiwgb3Igb24gZmlsZSBkZXNjcmlwdG9yIDAKKyAgICAgICBjYXVzZXMgIHRoZSAgZmlsZSAgd2hvc2UgbmFtZSBpcyB0aGUgZXhwYW5zaW9uIG9mIF8Id18Ib18Icl8IZCB0byBiZSBvcGVuZWQgZm9yCisgICAgICAgYm90aCByZWFkaW5nIGFuZCB3cml0aW5nIG9uIGZpbGUgZGVzY3JpcHRvciBfCG4sIG9yIG9uIGZpbGUgZGVzY3JpcHRvciAgMAogICAgICAgIGlmIF8IbiBpcyBub3Qgc3BlY2lmaWVkLiAgSWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QsIGl0IGlzIGNyZWF0ZWQuCiAKIEEIQUwITEkISUEIQVMIU0UIRVMIUwotICAgICAgIF8IQV8IbF8IaV8IYV8Ic18IZV8IcyBhbGxvdyBhIHN0cmluZyB0byBiZSBzdWJzdGl0dXRlZCBmb3IgYSB3b3JkIHdoZW4gaXQgaXMgdXNlZCAgYXMKLSAgICAgICB0aGUgIGZpcnN0ICB3b3JkICBvZiAgYSAgc2ltcGxlIGNvbW1hbmQuICBUaGUgc2hlbGwgbWFpbnRhaW5zIGEgbGlzdCBvZgotICAgICAgIGFsaWFzZXMgdGhhdCBtYXkgYmUgc2V0IGFuZCB1bnNldCB3aXRoIHRoZSBhCGFsCGxpCGlhCGFzCHMgIGFuZCAgdQh1bghuYQhhbAhsaQhpYQhhcwhzICBidWlsdGluCi0gICAgICAgY29tbWFuZHMgIChzZWUgIFMIU0gISEUIRUwITEwITCAgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyBiZWxvdykuICBUaGUgZmlyc3Qgd29yZCBvZiBlYWNoCi0gICAgICAgc2ltcGxlIGNvbW1hbmQsIGlmIHVucXVvdGVkLCBpcyBjaGVja2VkIHRvIHNlZSBpZiBpdCBoYXMgYW4gYWxpYXMuICAgSWYKLSAgICAgICBzbywgIHRoYXQgd29yZCBpcyByZXBsYWNlZCBieSB0aGUgdGV4dCBvZiB0aGUgYWxpYXMuICBUaGUgY2hhcmFjdGVycyAvCC8sCi0gICAgICAgJAgkLCBgCGAsIGFuZCA9CD0gYW5kIGFueSBvZiB0aGUgc2hlbGwgXwhtXwhlXwh0XwhhXwhjXwhoXwhhXwhyXwhhXwhjXwh0XwhlXwhyXwhzIG9yICBxdW90aW5nICBjaGFyYWN0ZXJzCisgICAgICAgXwhBXwhsXwhpXwhhXwhzXwhlXwhzICBhbGxvdyBhIHN0cmluZyB0byBiZSBzdWJzdGl0dXRlZCBmb3IgYSB3b3JkIHdoZW4gaXQgaXMgdXNlZCBhcworICAgICAgIHRoZSBmaXJzdCB3b3JkIG9mIGEgc2ltcGxlIGNvbW1hbmQuICBUaGUgIHNoZWxsICBtYWludGFpbnMgIGEgIGxpc3QgIG9mCisgICAgICAgYWxpYXNlcyAgdGhhdCAgbWF5ICBiZSBzZXQgYW5kIHVuc2V0IHdpdGggdGhlIGEIYWwIbGkIaWEIYXMIcyBhbmQgdQh1bghuYQhhbAhsaQhpYQhhcwhzIGJ1aWx0aW4KKyAgICAgICBjb21tYW5kcyAoc2VlIFMIU0gISEUIRUwITEwITCBCCEJVCFVJCElMCExUCFRJCElOCE4gQwhDTwhPTQhNTQhNQQhBTghORAhEUwhTIGJlbG93KS4gIFRoZSBmaXJzdCAgd29yZCAgb2YgIGVhY2gKKyAgICAgICBzaW1wbGUgIGNvbW1hbmQsIGlmIHVucXVvdGVkLCBpcyBjaGVja2VkIHRvIHNlZSBpZiBpdCBoYXMgYW4gYWxpYXMuICBJZgorICAgICAgIHNvLCB0aGF0IHdvcmQgaXMgcmVwbGFjZWQgYnkgdGhlIHRleHQgb2YgdGhlIGFsaWFzLiAgVGhlIGNoYXJhY3RlcnMgIC8ILywKKyAgICAgICAkCCQsICBgCGAsICBhbmQgPQg9IGFuZCBhbnkgb2YgdGhlIHNoZWxsIF8IbV8IZV8IdF8IYV8IY18IaF8IYV8Icl8IYV8IY18IdF8IZV8Icl8IcyBvciBxdW90aW5nIGNoYXJhY3RlcnMKICAgICAgICBsaXN0ZWQgYWJvdmUgbWF5IG5vdCBhcHBlYXIgaW4gYW4gYWxpYXMgbmFtZS4gIFRoZSByZXBsYWNlbWVudCB0ZXh0IG1heQotICAgICAgIGNvbnRhaW4gYW55IHZhbGlkIHNoZWxsIGlucHV0LCAgaW5jbHVkaW5nICBzaGVsbCAgbWV0YWNoYXJhY3RlcnMuICAgVGhlCi0gICAgICAgZmlyc3QgIHdvcmQgIG9mICB0aGUgcmVwbGFjZW1lbnQgdGV4dCBpcyB0ZXN0ZWQgZm9yIGFsaWFzZXMsIGJ1dCBhIHdvcmQKLSAgICAgICB0aGF0IGlzIGlkZW50aWNhbCB0byBhbiBhbGlhcyBiZWluZyBleHBhbmRlZCBpcyBub3QgZXhwYW5kZWQgIGEgIHNlY29uZAotICAgICAgIHRpbWUuICAgVGhpcyAgbWVhbnMgIHRoYXQgIG9uZSBtYXkgYWxpYXMgbAhscwhzIHRvIGwIbHMIcyAtCC1GCEYsIGZvciBpbnN0YW5jZSwgYW5kCi0gICAgICAgYghiYQhhcwhzaAhoIGRvZXMgbm90IHRyeSB0byByZWN1cnNpdmVseSBleHBhbmQgdGhlIHJlcGxhY2VtZW50IHRleHQuICAgSWYgIHRoZQotICAgICAgIGxhc3QgIGNoYXJhY3RlciAgb2YgIHRoZSAgYWxpYXMgdmFsdWUgaXMgYSBfCGJfCGxfCGFfCG5fCGssIHRoZW4gdGhlIG5leHQgY29tbWFuZAorICAgICAgIGNvbnRhaW4gIGFueSAgdmFsaWQgIHNoZWxsICBpbnB1dCwgaW5jbHVkaW5nIHNoZWxsIG1ldGFjaGFyYWN0ZXJzLiAgVGhlCisgICAgICAgZmlyc3Qgd29yZCBvZiB0aGUgcmVwbGFjZW1lbnQgdGV4dCBpcyB0ZXN0ZWQgZm9yIGFsaWFzZXMsICBidXQgIGEgIHdvcmQKKyAgICAgICB0aGF0ICBpcyAgaWRlbnRpY2FsIHRvIGFuIGFsaWFzIGJlaW5nIGV4cGFuZGVkIGlzIG5vdCBleHBhbmRlZCBhIHNlY29uZAorICAgICAgIHRpbWUuICBUaGlzIG1lYW5zIHRoYXQgb25lIG1heSBhbGlhcyBsCGxzCHMgdG8gbAhscwhzICAtCC1GCEYsICBmb3IgIGluc3RhbmNlLCAgYW5kCisgICAgICAgYghiYQhhcwhzaAhoICBkb2VzICBub3QgdHJ5IHRvIHJlY3Vyc2l2ZWx5IGV4cGFuZCB0aGUgcmVwbGFjZW1lbnQgdGV4dC4gIElmIHRoZQorICAgICAgIGxhc3QgY2hhcmFjdGVyIG9mIHRoZSBhbGlhcyB2YWx1ZSBpcyBhIF8IYl8IbF8IYV8Ibl8IaywgIHRoZW4gIHRoZSAgbmV4dCAgY29tbWFuZAogICAgICAgIHdvcmQgZm9sbG93aW5nIHRoZSBhbGlhcyBpcyBhbHNvIGNoZWNrZWQgZm9yIGFsaWFzIGV4cGFuc2lvbi4KIAogICAgICAgIEFsaWFzZXMgYXJlIGNyZWF0ZWQgYW5kIGxpc3RlZCB3aXRoIHRoZSBhCGFsCGxpCGlhCGFzCHMgY29tbWFuZCwgYW5kIHJlbW92ZWQgd2l0aAogICAgICAgIHRoZSB1CHVuCG5hCGFsCGxpCGlhCGFzCHMgY29tbWFuZC4KIAotICAgICAgIFRoZXJlICBpcyBubyBtZWNoYW5pc20gZm9yIHVzaW5nIGFyZ3VtZW50cyBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dC4gIElmCi0gICAgICAgYXJndW1lbnRzIGFyZSBuZWVkZWQsIGEgc2hlbGwgZnVuY3Rpb24gc2hvdWxkIGJlICB1c2VkICAoc2VlICBGCEZVCFVOCE5DCENUCFRJCElPCE9OCE5TCFMKKyAgICAgICBUaGVyZSBpcyBubyBtZWNoYW5pc20gZm9yIHVzaW5nIGFyZ3VtZW50cyBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dC4gICBJZgorICAgICAgIGFyZ3VtZW50cyAgYXJlICBuZWVkZWQsICBhIHNoZWxsIGZ1bmN0aW9uIHNob3VsZCBiZSB1c2VkIChzZWUgRghGVQhVTghOQwhDVAhUSQhJTwhPTghOUwhTCiAgICAgICAgYmVsb3cpLgogCi0gICAgICAgQWxpYXNlcyAgYXJlIG5vdCBleHBhbmRlZCB3aGVuIHRoZSBzaGVsbCBpcyBub3QgaW50ZXJhY3RpdmUsIHVubGVzcyB0aGUKLSAgICAgICBlCGV4CHhwCHBhCGFuCG5kCGRfCF9hCGFsCGxpCGlhCGFzCHNlCGVzCHMgc2hlbGwgb3B0aW9uIGlzIHNldCB1c2luZyBzCHNoCGhvCG9wCHB0CHQgKHNlZSB0aGUgZGVzY3JpcHRpb24gIG9mCisgICAgICAgQWxpYXNlcyBhcmUgbm90IGV4cGFuZGVkIHdoZW4gdGhlIHNoZWxsIGlzIG5vdCBpbnRlcmFjdGl2ZSwgdW5sZXNzICB0aGUKKyAgICAgICBlCGV4CHhwCHBhCGFuCG5kCGRfCF9hCGFsCGxpCGlhCGFzCHNlCGVzCHMgIHNoZWxsIG9wdGlvbiBpcyBzZXQgdXNpbmcgcwhzaAhobwhvcAhwdAh0IChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mCiAgICAgICAgcwhzaAhobwhvcAhwdAh0IHVuZGVyIFMIU0gISEUIRUwITEwITCBCCEJVCFVJCElMCExUCFRJCElOCE4gQwhDTwhPTQhNTQhNQQhBTghORAhEUwhTIGJlbG93KS4KIAotICAgICAgIFRoZSAgcnVsZXMgIGNvbmNlcm5pbmcgIHRoZSAgZGVmaW5pdGlvbiBhbmQgdXNlIG9mIGFsaWFzZXMgYXJlIHNvbWV3aGF0Ci0gICAgICAgY29uZnVzaW5nLiAgQghCYQhhcwhzaAhoIGFsd2F5cyByZWFkcyBhdCAgbGVhc3QgIG9uZSAgY29tcGxldGUgIGxpbmUgIG9mICBpbnB1dAotICAgICAgIGJlZm9yZSAgZXhlY3V0aW5nICBhbnkgIG9mICB0aGUgIGNvbW1hbmRzICBvbiAgdGhhdCAgbGluZS4gIEFsaWFzZXMgYXJlCi0gICAgICAgZXhwYW5kZWQgd2hlbiBhIGNvbW1hbmQgaXMgcmVhZCwgbm90IHdoZW4gaXQgaXMgIGV4ZWN1dGVkLiAgIFRoZXJlZm9yZSwKLSAgICAgICBhbiAgYWxpYXMgZGVmaW5pdGlvbiBhcHBlYXJpbmcgb24gdGhlIHNhbWUgbGluZSBhcyBhbm90aGVyIGNvbW1hbmQgZG9lcwotICAgICAgIG5vdCB0YWtlIGVmZmVjdCB1bnRpbCB0aGUgbmV4dCBsaW5lIG9mIGlucHV0ICBpcyAgcmVhZC4gICBUaGUgIGNvbW1hbmRzCisgICAgICAgVGhlIHJ1bGVzIGNvbmNlcm5pbmcgdGhlIGRlZmluaXRpb24gYW5kIHVzZSAgb2YgIGFsaWFzZXMgIGFyZSAgc29tZXdoYXQKKyAgICAgICBjb25mdXNpbmcuICAgQghCYQhhcwhzaAhoICBhbHdheXMgIHJlYWRzICBhdCAgbGVhc3QgIG9uZSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0CisgICAgICAgYmVmb3JlIGV4ZWN1dGluZyBhbnkgIG9mICB0aGUgIGNvbW1hbmRzICBvbiAgdGhhdCAgbGluZS4gICBBbGlhc2VzICBhcmUKKyAgICAgICBleHBhbmRlZCAgd2hlbiAgYSBjb21tYW5kIGlzIHJlYWQsIG5vdCB3aGVuIGl0IGlzIGV4ZWN1dGVkLiAgVGhlcmVmb3JlLAorICAgICAgIGFuIGFsaWFzIGRlZmluaXRpb24gYXBwZWFyaW5nIG9uIHRoZSBzYW1lIGxpbmUgYXMgYW5vdGhlciBjb21tYW5kICBkb2VzCisgICAgICAgbm90ICB0YWtlICBlZmZlY3QgIHVudGlsICB0aGUgbmV4dCBsaW5lIG9mIGlucHV0IGlzIHJlYWQuICBUaGUgY29tbWFuZHMKICAgICAgICBmb2xsb3dpbmcgdGhlIGFsaWFzIGRlZmluaXRpb24gb24gdGhhdCBsaW5lIGFyZSBub3QgYWZmZWN0ZWQgYnkgdGhlIG5ldwotICAgICAgIGFsaWFzLiAgVGhpcyBiZWhhdmlvciBpcyBhbHNvIGFuIGlzc3VlICB3aGVuICBmdW5jdGlvbnMgIGFyZSAgZXhlY3V0ZWQuCi0gICAgICAgQWxpYXNlcyAgYXJlICBleHBhbmRlZCB3aGVuIGEgZnVuY3Rpb24gZGVmaW5pdGlvbiBpcyByZWFkLCBub3Qgd2hlbiB0aGUKLSAgICAgICBmdW5jdGlvbiBpcyBleGVjdXRlZCwgYmVjYXVzZSBhIGZ1bmN0aW9uIGRlZmluaXRpb24gaXMgIGl0c2VsZiAgYSAgY29tLQorICAgICAgIGFsaWFzLiAgIFRoaXMgIGJlaGF2aW9yICBpcyAgYWxzbyBhbiBpc3N1ZSB3aGVuIGZ1bmN0aW9ucyBhcmUgZXhlY3V0ZWQuCisgICAgICAgQWxpYXNlcyBhcmUgZXhwYW5kZWQgd2hlbiBhIGZ1bmN0aW9uIGRlZmluaXRpb24gaXMgcmVhZCwgbm90ICB3aGVuICB0aGUKKyAgICAgICBmdW5jdGlvbiAgaXMgIGV4ZWN1dGVkLCAgYmVjYXVzZSBhIGZ1bmN0aW9uIGRlZmluaXRpb24gaXMgaXRzZWxmIGEgY29tLQogICAgICAgIHBvdW5kIGNvbW1hbmQuICBBcyBhIGNvbnNlcXVlbmNlLCBhbGlhc2VzIGRlZmluZWQgaW4gYSBmdW5jdGlvbiBhcmUgbm90Ci0gICAgICAgYXZhaWxhYmxlIHVudGlsIGFmdGVyIHRoYXQgZnVuY3Rpb24gaXMgZXhlY3V0ZWQuICBUbyAgYmUgIHNhZmUsICBhbHdheXMKLSAgICAgICBwdXQgIGFsaWFzIGRlZmluaXRpb25zIG9uIGEgc2VwYXJhdGUgbGluZSwgYW5kIGRvIG5vdCB1c2UgYQhhbAhsaQhpYQhhcwhzIGluIGNvbS0KKyAgICAgICBhdmFpbGFibGUgIHVudGlsICBhZnRlciAgdGhhdCBmdW5jdGlvbiBpcyBleGVjdXRlZC4gIFRvIGJlIHNhZmUsIGFsd2F5cworICAgICAgIHB1dCBhbGlhcyBkZWZpbml0aW9ucyBvbiBhIHNlcGFyYXRlIGxpbmUsIGFuZCBkbyBub3QgdXNlIGEIYWwIbGkIaWEIYXMIcyBpbiAgY29tLQogICAgICAgIHBvdW5kIGNvbW1hbmRzLgogCiAgICAgICAgRm9yIGFsbW9zdCBldmVyeSBwdXJwb3NlLCBhbGlhc2VzIGFyZSBzdXBlcnNlZGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy4KIAogRghGVQhVTghOQwhDVAhUSQhJTwhPTghOUwhTCi0gICAgICAgQSBzaGVsbCBmdW5jdGlvbiwgZGVmaW5lZCAgYXMgIGRlc2NyaWJlZCAgYWJvdmUgIHVuZGVyICBTCFNICEhFCEVMCExMCEwgIEcIR1IIUkEIQU0ITU0ITUEIQVIIUiwKLSAgICAgICBzdG9yZXMgIGEgIHNlcmllcyAgb2YgY29tbWFuZHMgZm9yIGxhdGVyIGV4ZWN1dGlvbi4gIFdoZW4gdGhlIG5hbWUgb2YgYQotICAgICAgIHNoZWxsIGZ1bmN0aW9uIGlzIHVzZWQgYXMgYSBzaW1wbGUgY29tbWFuZCBuYW1lLCB0aGUgbGlzdCAgb2YgIGNvbW1hbmRzCisgICAgICAgQSAgc2hlbGwgIGZ1bmN0aW9uLCAgZGVmaW5lZCAgYXMgIGRlc2NyaWJlZCAgYWJvdmUgdW5kZXIgUwhTSAhIRQhFTAhMTAhMIEcIR1IIUkEIQU0ITU0ITUEIQVIIUiwKKyAgICAgICBzdG9yZXMgYSBzZXJpZXMgb2YgY29tbWFuZHMgZm9yIGxhdGVyIGV4ZWN1dGlvbi4gIFdoZW4gdGhlICBuYW1lICBvZiAgYQorICAgICAgIHNoZWxsICBmdW5jdGlvbiAgaXMgdXNlZCBhcyBhIHNpbXBsZSBjb21tYW5kIG5hbWUsIHRoZSBsaXN0IG9mIGNvbW1hbmRzCiAgICAgICAgYXNzb2NpYXRlZCB3aXRoIHRoYXQgZnVuY3Rpb24gbmFtZSBpcyBleGVjdXRlZC4gIEZ1bmN0aW9ucyBhcmUgZXhlY3V0ZWQKLSAgICAgICBpbiB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzaGVsbDsgIG5vICBuZXcgIHByb2Nlc3MgIGlzICBjcmVhdGVkICB0bwotICAgICAgIGludGVycHJldCAgdGhlbSAgKGNvbnRyYXN0ICB0aGlzIHdpdGggdGhlIGV4ZWN1dGlvbiBvZiBhIHNoZWxsIHNjcmlwdCkuCi0gICAgICAgV2hlbiBhIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkLCB0aGUgYXJndW1lbnRzIHRvIHRoZSBmdW5jdGlvbiAgYmVjb21lICB0aGUKKyAgICAgICBpbiAgdGhlICBjb250ZXh0ICBvZiAgdGhlICBjdXJyZW50ICBzaGVsbDsgbm8gbmV3IHByb2Nlc3MgaXMgY3JlYXRlZCB0bworICAgICAgIGludGVycHJldCB0aGVtIChjb250cmFzdCB0aGlzIHdpdGggdGhlIGV4ZWN1dGlvbiBvZiAgYSAgc2hlbGwgIHNjcmlwdCkuCisgICAgICAgV2hlbiAgYSAgZnVuY3Rpb24gaXMgZXhlY3V0ZWQsIHRoZSBhcmd1bWVudHMgdG8gdGhlIGZ1bmN0aW9uIGJlY29tZSB0aGUKICAgICAgICBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgZHVyaW5nIGl0cyBleGVjdXRpb24uICBUaGUgc3BlY2lhbCBwYXJhbWV0ZXIgIwgjIGlzCi0gICAgICAgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBjaGFuZ2UuICBTcGVjaWFsIHBhcmFtZXRlciAwIGlzIHVuY2hhbmdlZC4gICBUaGUKLSAgICAgICBmaXJzdCAgZWxlbWVudCBvZiB0aGUgRghGVQhVTghOQwhDTghOQQhBTQhNRQhFIHZhcmlhYmxlIGlzIHNldCB0byB0aGUgbmFtZSBvZiB0aGUgZnVuYy0KKyAgICAgICB1cGRhdGVkICB0byByZWZsZWN0IHRoZSBjaGFuZ2UuICBTcGVjaWFsIHBhcmFtZXRlciAwCDAgaXMgdW5jaGFuZ2VkLiAgVGhlCisgICAgICAgZmlyc3QgZWxlbWVudCBvZiB0aGUgRghGVQhVTghOQwhDTghOQQhBTQhNRQhFIHZhcmlhYmxlIGlzIHNldCB0byB0aGUgbmFtZSBvZiB0aGUgIGZ1bmMtCiAgICAgICAgdGlvbiB3aGlsZSB0aGUgZnVuY3Rpb24gaXMgZXhlY3V0aW5nLgogCi0gICAgICAgQWxsIG90aGVyIGFzcGVjdHMgb2YgdGhlICBzaGVsbCAgZXhlY3V0aW9uICBlbnZpcm9ubWVudCAgYXJlICBpZGVudGljYWwKKyAgICAgICBBbGwgIG90aGVyICBhc3BlY3RzICBvZiAgdGhlICBzaGVsbCBleGVjdXRpb24gZW52aXJvbm1lbnQgYXJlIGlkZW50aWNhbAogICAgICAgIGJldHdlZW4gYSBmdW5jdGlvbiBhbmQgaXRzIGNhbGxlciB3aXRoIHRoZXNlIGV4Y2VwdGlvbnM6ICB0aGUgRAhERQhFQghCVQhVRwhHIGFuZAotICAgICAgIFIIUkUIRVQIVFUIVVIIUk4ITiB0cmFwcyAoc2VlIHRoZSBkZXNjcmlwdGlvbiAgb2YgIHRoZSAgdAh0cghyYQhhcAhwICBidWlsdGluICB1bmRlciAgUwhTSAhIRQhFTAhMTAhMCi0gICAgICAgQghCVQhVSQhJTAhMVAhUSQhJTghOICBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpIGFyZSBub3QgaW5oZXJpdGVkIHVubGVzcyB0aGUgZnVuY3Rpb24gaGFzIGJlZW4KLSAgICAgICBnaXZlbiB0aGUgdAh0cghyYQhhYwhjZQhlIGF0dHJpYnV0ZSAoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSAgYnVpbHRpbgotICAgICAgIGJlbG93KSAgb3IgIHRoZSAtCC1vCG8gZghmdQh1bghuYwhjdAh0cghyYQhhYwhjZQhlIHNoZWxsIG9wdGlvbiBoYXMgYmVlbiBlbmFibGVkIHdpdGggdGhlIHMIc2UIZXQIdAotICAgICAgIGJ1aWx0aW4gKGluIHdoaWNoIGNhc2UgYWxsICBmdW5jdGlvbnMgIGluaGVyaXQgIHRoZSAgRAhERQhFQghCVQhVRwhHICBhbmQgIFIIUkUIRVQIVFUIVVIIUk4ITgotICAgICAgIHRyYXBzKSwgIGFuZCB0aGUgRQhFUghSUghSIHRyYXAgaXMgbm90IGluaGVyaXRlZCB1bmxlc3MgdGhlIC0ILW8IbyBlCGVyCHJyCHJ0CHRyCHJhCGFjCGNlCGUgc2hlbGwKKyAgICAgICBSCFJFCEVUCFRVCFVSCFJOCE4gIHRyYXBzICAoc2VlICB0aGUgIGRlc2NyaXB0aW9uICBvZiAgdGhlIHQIdHIIcmEIYXAIcCBidWlsdGluIHVuZGVyIFMIU0gISEUIRUwITEwITAorICAgICAgIEIIQlUIVUkISUwITFQIVEkISU4ITiBDCENPCE9NCE1NCE1BCEFOCE5ECERTCFMgYmVsb3cpIGFyZSBub3QgaW5oZXJpdGVkIHVubGVzcyB0aGUgZnVuY3Rpb24gaGFzICBiZWVuCisgICAgICAgZ2l2ZW4gIHRoZSAgdAh0cghyYQhhYwhjZQhlIGF0dHJpYnV0ZSAoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgZAhkZQhlYwhjbAhsYQhhcghyZQhlIGJ1aWx0aW4KKyAgICAgICBiZWxvdykgb3IgdGhlIC0ILW8IbyBmCGZ1CHVuCG5jCGN0CHRyCHJhCGFjCGNlCGUgc2hlbGwgb3B0aW9uIGhhcyBiZWVuIGVuYWJsZWQgd2l0aCAgdGhlICBzCHNlCGV0CHQKKyAgICAgICBidWlsdGluICAoaW4gIHdoaWNoICBjYXNlICBhbGwgIGZ1bmN0aW9ucyAgaW5oZXJpdCB0aGUgRAhERQhFQghCVQhVRwhHIGFuZCBSCFJFCEVUCFRVCFVSCFJOCE4KKyAgICAgICB0cmFwcyksIGFuZCB0aGUgRQhFUghSUghSIHRyYXAgaXMgbm90IGluaGVyaXRlZCB1bmxlc3MgdGhlIC0ILW8IbyBlCGVyCHJyCHJ0CHRyCHJhCGFjCGNlCGUgIHNoZWxsCiAgICAgICAgb3B0aW9uIGhhcyBiZWVuIGVuYWJsZWQuCiAKLSAgICAgICBWYXJpYWJsZXMgbG9jYWwgdG8gdGhlIGZ1bmN0aW9uIG1heSBiZSBkZWNsYXJlZCB3aXRoIHRoZSBsCGxvCG9jCGNhCGFsCGwgIGJ1aWx0aW4KKyAgICAgICBWYXJpYWJsZXMgIGxvY2FsIHRvIHRoZSBmdW5jdGlvbiBtYXkgYmUgZGVjbGFyZWQgd2l0aCB0aGUgbAhsbwhvYwhjYQhhbAhsIGJ1aWx0aW4KICAgICAgICBjb21tYW5kLiAgT3JkaW5hcmlseSwgdmFyaWFibGVzIGFuZCB0aGVpciB2YWx1ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZQogICAgICAgIGZ1bmN0aW9uIGFuZCBpdHMgY2FsbGVyLgogCi0gICAgICAgSWYgdGhlIGJ1aWx0aW4gY29tbWFuZCByCHJlCGV0CHR1CHVyCHJuCG4gaXMgZXhlY3V0ZWQgaW4gYSBmdW5jdGlvbiwgIHRoZSAgZnVuY3Rpb24KLSAgICAgICBjb21wbGV0ZXMgIGFuZCAgZXhlY3V0aW9uIHJlc3VtZXMgd2l0aCB0aGUgbmV4dCBjb21tYW5kIGFmdGVyIHRoZSBmdW5jLQotICAgICAgIHRpb24gY2FsbC4gIEFueSBjb21tYW5kIGFzc29jaWF0ZWQgd2l0aCB0aGUgIFIIUkUIRVQIVFUIVVIIUk4ITiAgdHJhcCAgaXMgIGV4ZWN1dGVkCisgICAgICAgVGhlICBGCEZVCFVOCE5DCENOCE5FCEVTCFNUCFQgIHZhcmlhYmxlLCAgaWYgIHNldCAgdG8gIGEgIG51bWVyaWMgdmFsdWUgZ3JlYXRlciB0aGFuIDAsCisgICAgICAgZGVmaW5lcyBhIG1heGltdW0gZnVuY3Rpb24gbmVzdGluZyBsZXZlbC4gICBGdW5jdGlvbiAgaW52b2NhdGlvbnMgIHRoYXQKKyAgICAgICBleGNlZWQgdGhlIGxpbWl0IGNhdXNlIHRoZSBlbnRpcmUgY29tbWFuZCB0byBhYm9ydC4KKworICAgICAgIElmICB0aGUgIGJ1aWx0aW4gY29tbWFuZCByCHJlCGV0CHR1CHVyCHJuCG4gaXMgZXhlY3V0ZWQgaW4gYSBmdW5jdGlvbiwgdGhlIGZ1bmN0aW9uCisgICAgICAgY29tcGxldGVzIGFuZCBleGVjdXRpb24gcmVzdW1lcyB3aXRoIHRoZSBuZXh0IGNvbW1hbmQgYWZ0ZXIgIHRoZSAgZnVuYy0KKyAgICAgICB0aW9uICBjYWxsLiAgIEFueSAgY29tbWFuZCAgYXNzb2NpYXRlZCB3aXRoIHRoZSBSCFJFCEVUCFRVCFVSCFJOCE4gdHJhcCBpcyBleGVjdXRlZAogICAgICAgIGJlZm9yZSBleGVjdXRpb24gcmVzdW1lcy4gIFdoZW4gYSBmdW5jdGlvbiBjb21wbGV0ZXMsIHRoZSB2YWx1ZXMgb2YgdGhlCi0gICAgICAgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFuZCB0aGUgc3BlY2lhbCBwYXJhbWV0ZXIgIwgjIGFyZSByZXN0b3JlZCAgdG8gIHRoZQorICAgICAgIHBvc2l0aW9uYWwgIHBhcmFtZXRlcnMgIGFuZCB0aGUgc3BlY2lhbCBwYXJhbWV0ZXIgIwgjIGFyZSByZXN0b3JlZCB0byB0aGUKICAgICAgICB2YWx1ZXMgdGhleSBoYWQgcHJpb3IgdG8gdGhlIGZ1bmN0aW9uJ3MgZXhlY3V0aW9uLgogCi0gICAgICAgRnVuY3Rpb24gIG5hbWVzIGFuZCBkZWZpbml0aW9ucyBtYXkgYmUgbGlzdGVkIHdpdGggdGhlIC0ILWYIZiBvcHRpb24gdG8gdGhlCisgICAgICAgRnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zIG1heSBiZSBsaXN0ZWQgd2l0aCB0aGUgLQgtZghmIG9wdGlvbiB0byAgdGhlCiAgICAgICAgZAhkZQhlYwhjbAhsYQhhcghyZQhlIG9yIHQIdHkIeXAIcGUIZXMIc2UIZXQIdCBidWlsdGluIGNvbW1hbmRzLiAgVGhlIC0ILUYIRiBvcHRpb24gdG8gZAhkZQhlYwhjbAhsYQhhcghyZQhlIG9yIHQIdHkIeXAIcGUIZS0ILQotICAgICAgIHMIc2UIZXQIdCAgd2lsbCAgbGlzdCB0aGUgZnVuY3Rpb24gbmFtZXMgb25seSAoYW5kIG9wdGlvbmFsbHkgdGhlIHNvdXJjZSBmaWxlCi0gICAgICAgYW5kIGxpbmUgbnVtYmVyLCBpZiB0aGUgZQhleAh4dAh0ZAhkZQhlYghidQh1ZwhnIHNoZWxsIG9wdGlvbiBpcyAgZW5hYmxlZCkuICAgRnVuY3Rpb25zCi0gICAgICAgbWF5ICBiZSBleHBvcnRlZCBzbyB0aGF0IHN1YnNoZWxscyBhdXRvbWF0aWNhbGx5IGhhdmUgdGhlbSBkZWZpbmVkIHdpdGgKLSAgICAgICB0aGUgLQgtZghmIG9wdGlvbiB0byB0aGUgZQhleAh4cAhwbwhvcghydAh0IGJ1aWx0aW4uICAgQSAgZnVuY3Rpb24gIGRlZmluaXRpb24gIG1heSAgYmUKLSAgICAgICBkZWxldGVkICB1c2luZyAgdGhlICAtCC1mCGYgIG9wdGlvbiAgdG8gdGhlIHUIdW4IbnMIc2UIZXQIdCBidWlsdGluLiAgTm90ZSB0aGF0IHNoZWxsCisgICAgICAgcwhzZQhldAh0IHdpbGwgbGlzdCB0aGUgZnVuY3Rpb24gbmFtZXMgb25seSAoYW5kIG9wdGlvbmFsbHkgdGhlICBzb3VyY2UgIGZpbGUKKyAgICAgICBhbmQgIGxpbmUgIG51bWJlciwgaWYgdGhlIGUIZXgIeHQIdGQIZGUIZWIIYnUIdWcIZyBzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCkuICBGdW5jdGlvbnMKKyAgICAgICBtYXkgYmUgZXhwb3J0ZWQgc28gdGhhdCBzdWJzaGVsbHMgYXV0b21hdGljYWxseSBoYXZlIHRoZW0gZGVmaW5lZCAgd2l0aAorICAgICAgIHRoZSAgLQgtZghmICBvcHRpb24gIHRvICB0aGUgIGUIZXgIeHAIcG8Ib3IIcnQIdCBidWlsdGluLiAgQSBmdW5jdGlvbiBkZWZpbml0aW9uIG1heSBiZQorICAgICAgIGRlbGV0ZWQgdXNpbmcgdGhlIC0ILWYIZiBvcHRpb24gdG8gdGhlICB1CHVuCG5zCHNlCGV0CHQgIGJ1aWx0aW4uICAgTm90ZSAgdGhhdCAgc2hlbGwKICAgICAgICBmdW5jdGlvbnMgYW5kIHZhcmlhYmxlcyB3aXRoIHRoZSBzYW1lIG5hbWUgbWF5IHJlc3VsdCBpbiBtdWx0aXBsZSBpZGVuLQotICAgICAgIHRpY2FsbHktbmFtZWQgIGVudHJpZXMgIGluICB0aGUgZW52aXJvbm1lbnQgcGFzc2VkIHRvIHRoZSBzaGVsbCdzIGNoaWwtCisgICAgICAgdGljYWxseS1uYW1lZCBlbnRyaWVzIGluIHRoZSBlbnZpcm9ubWVudCBwYXNzZWQgdG8gIHRoZSAgc2hlbGwncyAgY2hpbC0KICAgICAgICBkcmVuLiAgQ2FyZSBzaG91bGQgYmUgdGFrZW4gaW4gY2FzZXMgd2hlcmUgdGhpcyBtYXkgY2F1c2UgYSBwcm9ibGVtLgogCi0gICAgICAgRnVuY3Rpb25zIG1heSBiZSByZWN1cnNpdmUuICBObyBsaW1pdCAgaXMgIGltcG9zZWQgIG9uICB0aGUgIG51bWJlciAgb2YKKyAgICAgICBGdW5jdGlvbnMgbWF5IGJlIHJlY3Vyc2l2ZS4gIFRoZSBGCEZVCFVOCE5DCENOCE5FCEVTCFNUCFQgdmFyaWFibGUgbWF5IGJlIHVzZWQgdG8gbGltaXQKKyAgICAgICB0aGUgZGVwdGggb2YgdGhlIGZ1bmN0aW9uIGNhbGwgc3RhY2sgYW5kIHJlc3RyaWN0IHRoZSBudW1iZXIgIG9mICBmdW5jLQorICAgICAgIHRpb24gIGludm9jYXRpb25zLiAgIEJ5ICBkZWZhdWx0LCAgbm8gbGltaXQgaXMgaW1wb3NlZCBvbiB0aGUgbnVtYmVyIG9mCiAgICAgICAgcmVjdXJzaXZlIGNhbGxzLgogCiBBCEFSCFJJCElUCFRICEhNCE1FCEVUCFRJCElDCEMgRQhFVghWQQhBTAhMVQhVQQhBVAhUSQhJTwhPTghOCi0gICAgICAgVGhlICBzaGVsbCBhbGxvd3MgYXJpdGhtZXRpYyBleHByZXNzaW9ucyB0byBiZSBldmFsdWF0ZWQsIHVuZGVyIGNlcnRhaW4KLSAgICAgICBjaXJjdW1zdGFuY2VzIChzZWUgdGhlIGwIbGUIZXQIdCBhbmQgZAhkZQhlYwhjbAhsYQhhcghyZQhlIGJ1aWx0aW4gY29tbWFuZHMgYW5kICBBCEFyCHJpCGl0CHRoCGhtCG1lCGV0CHRpCGljCGMKLSAgICAgICBFCEV4CHhwCHBhCGFuCG5zCHNpCGlvCG9uCG4pLiAgIEV2YWx1YXRpb24gIGlzIGRvbmUgaW4gZml4ZWQtd2lkdGggaW50ZWdlcnMgd2l0aCBubyBjaGVjawotICAgICAgIGZvciBvdmVyZmxvdywgdGhvdWdoIGRpdmlzaW9uIGJ5IDAgaXMgdHJhcHBlZCBhbmQgZmxhZ2dlZCBhcyBhbiAgZXJyb3IuCi0gICAgICAgVGhlICBvcGVyYXRvcnMgIGFuZCB0aGVpciBwcmVjZWRlbmNlLCBhc3NvY2lhdGl2aXR5LCBhbmQgdmFsdWVzIGFyZSB0aGUKLSAgICAgICBzYW1lIGFzIGluIHRoZSBDIGxhbmd1YWdlLiAgVGhlIGZvbGxvd2luZyBsaXN0IG9mIG9wZXJhdG9ycyBpcyAgZ3JvdXBlZAotICAgICAgIGludG8gIGxldmVscyAgb2YgIGVxdWFsLXByZWNlZGVuY2Ugb3BlcmF0b3JzLiAgVGhlIGxldmVscyBhcmUgbGlzdGVkIGluCisgICAgICAgVGhlIHNoZWxsIGFsbG93cyBhcml0aG1ldGljIGV4cHJlc3Npb25zIHRvIGJlIGV2YWx1YXRlZCwgdW5kZXIgIGNlcnRhaW4KKyAgICAgICBjaXJjdW1zdGFuY2VzICAoc2VlIHRoZSBsCGxlCGV0CHQgYW5kIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSBidWlsdGluIGNvbW1hbmRzIGFuZCBBCEFyCHJpCGl0CHRoCGhtCG1lCGV0CHRpCGljCGMKKyAgICAgICBFCEV4CHhwCHBhCGFuCG5zCHNpCGlvCG9uCG4pLiAgRXZhbHVhdGlvbiBpcyBkb25lIGluIGZpeGVkLXdpZHRoIGludGVnZXJzIHdpdGggIG5vICBjaGVjaworICAgICAgIGZvciAgb3ZlcmZsb3csIHRob3VnaCBkaXZpc2lvbiBieSAwIGlzIHRyYXBwZWQgYW5kIGZsYWdnZWQgYXMgYW4gZXJyb3IuCisgICAgICAgVGhlIG9wZXJhdG9ycyBhbmQgdGhlaXIgcHJlY2VkZW5jZSwgYXNzb2NpYXRpdml0eSwgYW5kIHZhbHVlcyAgYXJlICB0aGUKKyAgICAgICBzYW1lICBhcyBpbiB0aGUgQyBsYW5ndWFnZS4gIFRoZSBmb2xsb3dpbmcgbGlzdCBvZiBvcGVyYXRvcnMgaXMgZ3JvdXBlZAorICAgICAgIGludG8gbGV2ZWxzIG9mIGVxdWFsLXByZWNlZGVuY2Ugb3BlcmF0b3JzLiAgVGhlIGxldmVscyAgYXJlICBsaXN0ZWQgIGluCiAgICAgICAgb3JkZXIgb2YgZGVjcmVhc2luZyBwcmVjZWRlbmNlLgogCiAgICAgICAgXwhpXwhkKwgrKwgrIF8IaV8IZC0ILS0ILQpAQCAtMjA4NCw0NyArMjE0NSw0NyBAQAogICAgICAgIF8IZV8IeF8IcF8Icl8IMSAsCCwgXwhlXwh4XwhwXwhyXwgyCiAgICAgICAgICAgICAgIGNvbW1hCiAKLSAgICAgICBTaGVsbCB2YXJpYWJsZXMgYXJlIGFsbG93ZWQgYXMgb3BlcmFuZHM7IHBhcmFtZXRlciAgZXhwYW5zaW9uICBpcyAgcGVyLQorICAgICAgIFNoZWxsICB2YXJpYWJsZXMgIGFyZSAgYWxsb3dlZCBhcyBvcGVyYW5kczsgcGFyYW1ldGVyIGV4cGFuc2lvbiBpcyBwZXItCiAgICAgICAgZm9ybWVkIGJlZm9yZSB0aGUgZXhwcmVzc2lvbiBpcyBldmFsdWF0ZWQuICBXaXRoaW4gYW4gZXhwcmVzc2lvbiwgc2hlbGwKLSAgICAgICB2YXJpYWJsZXMgbWF5IGFsc28gYmUgcmVmZXJlbmNlZCBieSBuYW1lIHdpdGhvdXQgIHVzaW5nICB0aGUgIHBhcmFtZXRlcgotICAgICAgIGV4cGFuc2lvbiAgc3ludGF4LiAgQSBzaGVsbCB2YXJpYWJsZSB0aGF0IGlzIG51bGwgb3IgdW5zZXQgZXZhbHVhdGVzIHRvCisgICAgICAgdmFyaWFibGVzICBtYXkgIGFsc28gIGJlIHJlZmVyZW5jZWQgYnkgbmFtZSB3aXRob3V0IHVzaW5nIHRoZSBwYXJhbWV0ZXIKKyAgICAgICBleHBhbnNpb24gc3ludGF4LiAgQSBzaGVsbCB2YXJpYWJsZSB0aGF0IGlzIG51bGwgb3IgdW5zZXQgZXZhbHVhdGVzICB0bwogICAgICAgIDAgd2hlbiByZWZlcmVuY2VkIGJ5IG5hbWUgd2l0aG91dCB1c2luZyB0aGUgcGFyYW1ldGVyIGV4cGFuc2lvbiBzeW50YXguCi0gICAgICAgVGhlICB2YWx1ZSAgb2YgYSB2YXJpYWJsZSBpcyBldmFsdWF0ZWQgYXMgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uIHdoZW4KLSAgICAgICBpdCBpcyByZWZlcmVuY2VkLCBvciB3aGVuIGEgdmFyaWFibGUgd2hpY2ggaGFzIGJlZW4gZ2l2ZW4gIHRoZSAgXwhpXwhuXwh0XwhlXwhnXwhlXwhyCisgICAgICAgVGhlIHZhbHVlIG9mIGEgdmFyaWFibGUgaXMgZXZhbHVhdGVkIGFzIGFuIGFyaXRobWV0aWMgIGV4cHJlc3Npb24gIHdoZW4KKyAgICAgICBpdCAgaXMgIHJlZmVyZW5jZWQsIG9yIHdoZW4gYSB2YXJpYWJsZSB3aGljaCBoYXMgYmVlbiBnaXZlbiB0aGUgXwhpXwhuXwh0XwhlXwhnXwhlXwhyCiAgICAgICAgYXR0cmlidXRlIHVzaW5nIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSAtCC1pCGkgaXMgYXNzaWduZWQgYSB2YWx1ZS4gIEEgbnVsbCB2YWx1ZSBldmFsdWF0ZXMKLSAgICAgICB0byAwLiAgQSBzaGVsbCB2YXJpYWJsZSBuZWVkIG5vdCBoYXZlIGl0cyBpbnRlZ2VyIGF0dHJpYnV0ZSAgdHVybmVkICBvbgorICAgICAgIHRvICAwLiAgIEEgc2hlbGwgdmFyaWFibGUgbmVlZCBub3QgaGF2ZSBpdHMgXwhpXwhuXwh0XwhlXwhnXwhlXwhyIGF0dHJpYnV0ZSB0dXJuZWQgb24KICAgICAgICB0byBiZSB1c2VkIGluIGFuIGV4cHJlc3Npb24uCiAKICAgICAgICBDb25zdGFudHMgd2l0aCBhIGxlYWRpbmcgMCBhcmUgaW50ZXJwcmV0ZWQgYXMgb2N0YWwgbnVtYmVycy4gIEEgbGVhZGluZwotICAgICAgIDB4IG9yICAwWCAgZGVub3RlcyAgaGV4YWRlY2ltYWwuICAgT3RoZXJ3aXNlLCAgbnVtYmVycyAgdGFrZSAgdGhlICBmb3JtCi0gICAgICAgW18IYl8IYV8Ic18IZV8II11uLCAgd2hlcmUgXwhiXwhhXwhzXwhlIGlzIGEgZGVjaW1hbCBudW1iZXIgYmV0d2VlbiAyIGFuZCA2NCByZXByZXNlbnRpbmcKLSAgICAgICB0aGUgYXJpdGhtZXRpYyBiYXNlLCBhbmQgXwhuIGlzIGEgbnVtYmVyIGluIHRoYXQgYmFzZS4gIElmIF8IYl8IYV8Ic18IZV8IIyBpcyBvbWl0LQotICAgICAgIHRlZCwgIHRoZW4gIGJhc2UgMTAgaXMgdXNlZC4gIFRoZSBkaWdpdHMgZ3JlYXRlciB0aGFuIDkgYXJlIHJlcHJlc2VudGVkCi0gICAgICAgYnkgdGhlIGxvd2VyY2FzZSBsZXR0ZXJzLCB0aGUgdXBwZXJjYXNlIGxldHRlcnMsICBALCAgYW5kICBfLCAgaW4gIHRoYXQKLSAgICAgICBvcmRlci4gICBJZiAgXwhiXwhhXwhzXwhlICBpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMzYsIGxvd2VyY2FzZSBhbmQgdXBwZXJjYXNlCi0gICAgICAgbGV0dGVycyBtYXkgYmUgdXNlZCBpbnRlcmNoYW5nZWFibHkgdG8gcmVwcmVzZW50IG51bWJlcnMgYmV0d2VlbiAxMCBhbmQKLSAgICAgICAzNS4KKyAgICAgICAweCAgb3IgIDBYICBkZW5vdGVzICBoZXhhZGVjaW1hbC4gICBPdGhlcndpc2UsICBudW1iZXJzICB0YWtlICB0aGUgZm9ybQorICAgICAgIFtfCGJfCGFfCHNfCGVfCCNdbiwgd2hlcmUgdGhlIG9wdGlvbmFsIF8IYl8IYV8Ic18IZSBpcyBhIGRlY2ltYWwgbnVtYmVyIGJldHdlZW4gMiBhbmQgIDY0CisgICAgICAgcmVwcmVzZW50aW5nICB0aGUgIGFyaXRobWV0aWMgYmFzZSwgYW5kIF8IbiBpcyBhIG51bWJlciBpbiB0aGF0IGJhc2UuICBJZgorICAgICAgIF8IYl8IYV8Ic18IZV8IIyBpcyBvbWl0dGVkLCB0aGVuIGJhc2UgMTAgaXMgdXNlZC4gIFRoZSBkaWdpdHMgZ3JlYXRlciB0aGFuIDkgIGFyZQorICAgICAgIHJlcHJlc2VudGVkICBieSB0aGUgbG93ZXJjYXNlIGxldHRlcnMsIHRoZSB1cHBlcmNhc2UgbGV0dGVycywgQCwgYW5kIF8sCisgICAgICAgaW4gdGhhdCBvcmRlci4gIElmIF8IYl8IYV8Ic18IZSBpcyBsZXNzIHRoYW4gb3IgIGVxdWFsICB0byAgMzYsICBsb3dlcmNhc2UgIGFuZAorICAgICAgIHVwcGVyY2FzZSAgbGV0dGVycyAgbWF5ICBiZSAgdXNlZCAgaW50ZXJjaGFuZ2VhYmx5IHRvIHJlcHJlc2VudCBudW1iZXJzCisgICAgICAgYmV0d2VlbiAxMCBhbmQgMzUuCiAKLSAgICAgICBPcGVyYXRvcnMgIGFyZSAgZXZhbHVhdGVkICBpbiAgb3JkZXIgb2YgcHJlY2VkZW5jZS4gIFN1Yi1leHByZXNzaW9ucyBpbgotICAgICAgIHBhcmVudGhlc2VzIGFyZSBldmFsdWF0ZWQgZmlyc3QgYW5kIG1heSBvdmVycmlkZSB0aGUgIHByZWNlZGVuY2UgIHJ1bGVzCisgICAgICAgT3BlcmF0b3JzIGFyZSBldmFsdWF0ZWQgaW4gb3JkZXIgIG9mICBwcmVjZWRlbmNlLiAgIFN1Yi1leHByZXNzaW9ucyAgaW4KKyAgICAgICBwYXJlbnRoZXNlcyAgYXJlICBldmFsdWF0ZWQgZmlyc3QgYW5kIG1heSBvdmVycmlkZSB0aGUgcHJlY2VkZW5jZSBydWxlcwogICAgICAgIGFib3ZlLgogCiBDCENPCE9OCE5ECERJCElUCFRJCElPCE9OCE5BCEFMCEwgRQhFWAhYUAhQUghSRQhFUwhTUwhTSQhJTwhPTghOUwhTCi0gICAgICAgQ29uZGl0aW9uYWwgIGV4cHJlc3Npb25zICBhcmUgIHVzZWQgIGJ5IHRoZSBbCFtbCFsgY29tcG91bmQgY29tbWFuZCBhbmQgdGhlCi0gICAgICAgdAh0ZQhlcwhzdAh0IGFuZCBbCFsgYnVpbHRpbiBjb21tYW5kcyB0byB0ZXN0IGZpbGUgYXR0cmlidXRlcyBhbmQgcGVyZm9ybSAgc3RyaW5nCi0gICAgICAgYW5kICBhcml0aG1ldGljIGNvbXBhcmlzb25zLiAgRXhwcmVzc2lvbnMgYXJlIGZvcm1lZCBmcm9tIHRoZSBmb2xsb3dpbmcKLSAgICAgICB1bmFyeSBvciBiaW5hcnkgcHJpbWFyaWVzLiAgSWYgYW55IF8IZl8IaV8IbF8IZSBhcmd1bWVudCB0byAgb25lICBvZiAgdGhlICBwcmktCisgICAgICAgQ29uZGl0aW9uYWwgZXhwcmVzc2lvbnMgYXJlIHVzZWQgYnkgdGhlIFsIW1sIWyAgY29tcG91bmQgIGNvbW1hbmQgIGFuZCAgdGhlCisgICAgICAgdAh0ZQhlcwhzdAh0ICBhbmQgWwhbIGJ1aWx0aW4gY29tbWFuZHMgdG8gdGVzdCBmaWxlIGF0dHJpYnV0ZXMgYW5kIHBlcmZvcm0gc3RyaW5nCisgICAgICAgYW5kIGFyaXRobWV0aWMgY29tcGFyaXNvbnMuICBFeHByZXNzaW9ucyBhcmUgZm9ybWVkIGZyb20gdGhlICBmb2xsb3dpbmcKKyAgICAgICB1bmFyeSAgb3IgIGJpbmFyeSAgcHJpbWFyaWVzLiAgIElmIGFueSBfCGZfCGlfCGxfCGUgYXJndW1lbnQgdG8gb25lIG9mIHRoZSBwcmktCiAgICAgICAgbWFyaWVzIGlzIG9mIHRoZSBmb3JtIF8IL18IZF8IZV8Idl8IL18IZl8IZF8IL18IbiwgdGhlbiBmaWxlIGRlc2NyaXB0b3IgXwhuIGlzIGNoZWNrZWQuICBJZgotICAgICAgIHRoZSBfCGZfCGlfCGxfCGUgYXJndW1lbnQgdG8gIG9uZSAgb2YgIHRoZSAgcHJpbWFyaWVzICBpcyAgb25lICBvZiAgXwgvXwhkXwhlXwh2XwgvXwhzXwh0XwhkXwhpXwhuLAotICAgICAgIF8IL18IZF8IZV8Idl8IL18Ic18IdF8IZF8Ib18IdV8IdCwgIG9yIF8IL18IZF8IZV8Idl8IL18Ic18IdF8IZF8IZV8Icl8IciwgZmlsZSBkZXNjcmlwdG9yIDAsIDEsIG9yIDIsIHJlc3BlY3RpdmVseSwKKyAgICAgICB0aGUgIF8IZl8IaV8IbF8IZSAgYXJndW1lbnQgIHRvICBvbmUgIG9mICB0aGUgIHByaW1hcmllcyAgaXMgb25lIG9mIF8IL18IZF8IZV8Idl8IL18Ic18IdF8IZF8IaV8IbiwKKyAgICAgICBfCC9fCGRfCGVfCHZfCC9fCHNfCHRfCGRfCG9fCHVfCHQsIG9yIF8IL18IZF8IZV8Idl8IL18Ic18IdF8IZF8IZV8Icl8IciwgZmlsZSBkZXNjcmlwdG9yIDAsIDEsIG9yIDIsICByZXNwZWN0aXZlbHksCiAgICAgICAgaXMgY2hlY2tlZC4KIAogICAgICAgIFVubGVzcyBvdGhlcndpc2Ugc3BlY2lmaWVkLCBwcmltYXJpZXMgdGhhdCBvcGVyYXRlIG9uIGZpbGVzIGZvbGxvdyBzeW0tCiAgICAgICAgYm9saWMgbGlua3MgYW5kIG9wZXJhdGUgb24gdGhlIHRhcmdldCBvZiB0aGUgbGluaywgcmF0aGVyIHRoYW4gdGhlIGxpbmsKICAgICAgICBpdHNlbGYuCiAKLSAgICAgICBXaGVuIHVzZWQgd2l0aCBbCFtbCFssIFRoZSA8CDwgYW5kID4IPiBvcGVyYXRvcnMgc29ydCAgbGV4aWNvZ3JhcGhpY2FsbHkgIHVzaW5nCi0gICAgICAgdGhlIGN1cnJlbnQgbG9jYWxlLgorICAgICAgIFdoZW4gIHVzZWQgIHdpdGggWwhbWwhbLCB0aGUgPAg8IGFuZCA+CD4gb3BlcmF0b3JzIHNvcnQgbGV4aWNvZ3JhcGhpY2FsbHkgdXNpbmcKKyAgICAgICB0aGUgY3VycmVudCBsb2NhbGUuICBUaGUgdAh0ZQhlcwhzdAh0IGNvbW1hbmQgc29ydHMgdXNpbmcgQVNDSUkgb3JkZXJpbmcuCiAKICAgICAgICAtCC1hCGEgXwhmXwhpXwhsXwhlCiAgICAgICAgICAgICAgIFRydWUgaWYgXwhmXwhpXwhsXwhlIGV4aXN0cy4KQEAgLTIxNTcsMzAgKzIyMTgsMzMgQEAKICAgICAgICAgICAgICAgVHJ1ZSBpZiBfCGZfCGlfCGxfCGUgZXhpc3RzIGFuZCBpcyB3cml0YWJsZS4KICAgICAgICAtCC14CHggXwhmXwhpXwhsXwhlCiAgICAgICAgICAgICAgIFRydWUgaWYgXwhmXwhpXwhsXwhlIGV4aXN0cyBhbmQgaXMgZXhlY3V0YWJsZS4KLSAgICAgICAtCC1PCE8gXwhmXwhpXwhsXwhlCi0gICAgICAgICAgICAgIFRydWUgaWYgXwhmXwhpXwhsXwhlIGV4aXN0cyBhbmQgaXMgb3duZWQgYnkgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkLgogICAgICAgIC0ILUcIRyBfCGZfCGlfCGxfCGUKICAgICAgICAgICAgICAgVHJ1ZSBpZiBfCGZfCGlfCGxfCGUgZXhpc3RzIGFuZCBpcyBvd25lZCBieSB0aGUgZWZmZWN0aXZlIGdyb3VwIGlkLgogICAgICAgIC0ILUwITCBfCGZfCGlfCGxfCGUKICAgICAgICAgICAgICAgVHJ1ZSBpZiBfCGZfCGlfCGxfCGUgZXhpc3RzIGFuZCBpcyBhIHN5bWJvbGljIGxpbmsuCisgICAgICAgLQgtTghOIF8IZl8IaV8IbF8IZQorICAgICAgICAgICAgICBUcnVlIGlmIF8IZl8IaV8IbF8IZSBleGlzdHMgYW5kIGhhcyBiZWVuICBtb2RpZmllZCAgc2luY2UgIGl0ICB3YXMgIGxhc3QKKyAgICAgICAgICAgICAgcmVhZC4KKyAgICAgICAtCC1PCE8gXwhmXwhpXwhsXwhlCisgICAgICAgICAgICAgIFRydWUgaWYgXwhmXwhpXwhsXwhlIGV4aXN0cyBhbmQgaXMgb3duZWQgYnkgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkLgogICAgICAgIC0ILVMIUyBfCGZfCGlfCGxfCGUKICAgICAgICAgICAgICAgVHJ1ZSBpZiBfCGZfCGlfCGxfCGUgZXhpc3RzIGFuZCBpcyBhIHNvY2tldC4KLSAgICAgICAtCC1OCE4gXwhmXwhpXwhsXwhlCi0gICAgICAgICAgICAgIFRydWUgIGlmICBfCGZfCGlfCGxfCGUgIGV4aXN0cyAgYW5kICBoYXMgYmVlbiBtb2RpZmllZCBzaW5jZSBpdCB3YXMgbGFzdAotICAgICAgICAgICAgICByZWFkLgorICAgICAgIF8IZl8IaV8IbF8IZV8IMSAtCC1lCGVmCGYgXwhmXwhpXwhsXwhlXwgyCisgICAgICAgICAgICAgIFRydWUgIGlmIF8IZl8IaV8IbF8IZV8IMSBhbmQgXwhmXwhpXwhsXwhlXwgyIHJlZmVyIHRvIHRoZSBzYW1lIGRldmljZSBhbmQgaW5vZGUgbnVtLQorICAgICAgICAgICAgICBiZXJzLgogICAgICAgIF8IZl8IaV8IbF8IZV8IMSAtbghudAh0IF8IZl8IaV8IbF8IZV8IMgogICAgICAgICAgICAgICBUcnVlIGlmIF8IZl8IaV8IbF8IZV8IMSBpcyBuZXdlciAoYWNjb3JkaW5nICB0byAgbW9kaWZpY2F0aW9uICBkYXRlKSAgdGhhbgogICAgICAgICAgICAgICBfCGZfCGlfCGxfCGVfCDIsIG9yIGlmIF8IZl8IaV8IbF8IZV8IMSBleGlzdHMgYW5kIF8IZl8IaV8IbF8IZV8IMiBkb2VzIG5vdC4KICAgICAgICBfCGZfCGlfCGxfCGVfCDEgLW8Ib3QIdCBfCGZfCGlfCGxfCGVfCDIKICAgICAgICAgICAgICAgVHJ1ZSAgaWYgXwhmXwhpXwhsXwhlXwgxIGlzIG9sZGVyIHRoYW4gXwhmXwhpXwhsXwhlXwgyLCBvciBpZiBfCGZfCGlfCGxfCGVfCDIgZXhpc3RzIGFuZCBfCGZfCGlfCGxfCGVfCDEKICAgICAgICAgICAgICAgZG9lcyBub3QuCi0gICAgICAgXwhmXwhpXwhsXwhlXwgxIC0ILWUIZWYIZiBfCGZfCGlfCGxfCGVfCDIKLSAgICAgICAgICAgICAgVHJ1ZSBpZiBfCGZfCGlfCGxfCGVfCDEgYW5kIF8IZl8IaV8IbF8IZV8IMiByZWZlciB0byB0aGUgc2FtZSBkZXZpY2UgYW5kIGlub2RlICBudW0tCi0gICAgICAgICAgICAgIGJlcnMuCiAgICAgICAgLQgtbwhvIF8Ib18IcF8IdF8Ibl8IYV8IbV8IZQotICAgICAgICAgICAgICBUcnVlICBpZiAgc2hlbGwgIG9wdGlvbiAgXwhvXwhwXwh0XwhuXwhhXwhtXwhlICBpcyAgZW5hYmxlZC4gICBTZWUgdGhlIGxpc3Qgb2YKLSAgICAgICAgICAgICAgb3B0aW9ucyB1bmRlciB0aGUgZGVzY3JpcHRpb24gIG9mICB0aGUgIC0ILW8IbyAgb3B0aW9uICB0byAgdGhlICBzCHNlCGV0CHQKKyAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uIF8Ib18IcF8IdF8Ibl8IYV8IbV8IZSBpcyBlbmFibGVkLiAgU2VlICB0aGUgIGxpc3QgIG9mCisgICAgICAgICAgICAgIG9wdGlvbnMgIHVuZGVyICB0aGUgIGRlc2NyaXB0aW9uICBvZiAgdGhlICAtCC1vCG8gIG9wdGlvbiB0byB0aGUgcwhzZQhldAh0CiAgICAgICAgICAgICAgIGJ1aWx0aW4gYmVsb3cuCisgICAgICAgLQgtdgh2IF8Idl8IYV8Icl8Ibl8IYV8IbV8IZQorICAgICAgICAgICAgICBUcnVlIGlmIHRoZSBzaGVsbCB2YXJpYWJsZSBfCHZfCGFfCHJfCG5fCGFfCG1fCGUgaXMgc2V0IChoYXMgYmVlbiAgYXNzaWduZWQgIGEKKyAgICAgICAgICAgICAgdmFsdWUpLgogICAgICAgIC0ILXoIeiBfCHNfCHRfCHJfCGlfCG5fCGcKICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgbGVuZ3RoIG9mIF8Ic18IdF8Icl8IaV8Ibl8IZyBpcyB6ZXJvLgogICAgICAgIF8Ic18IdF8Icl8IaV8Ibl8IZwpAQCAtMjM1NCw3ICsyNDE4LDcgQEAKICAgICAgICByb25tZW50IGNhbm5vdCBhZmZlY3QgdGhlIHNoZWxsJ3MgZXhlY3V0aW9uIGVudmlyb25tZW50LgogCiAgICAgICAgU3Vic2hlbGxzIHNwYXduZWQgdG8gZXhlY3V0ZSBjb21tYW5kIHN1YnN0aXR1dGlvbnMgaW5oZXJpdCB0aGUgdmFsdWUgb2YKLSAgICAgICB0aGUgLQgtZQhlIG9wdGlvbiBmcm9tIHRoZSBwYXJlbnQgc2hlbGwuICBXaGVuICBub3QgIGluICBwb3NpeCAgbW9kZSwgIEJhc2gKKyAgICAgICB0aGUgLQgtZQhlIG9wdGlvbiBmcm9tIHRoZSBwYXJlbnQgc2hlbGwuICBXaGVuICBub3QgIGluICBfCHBfCG9fCHNfCGlfCHggIG1vZGUsICBiCGJhCGFzCHNoCGgKICAgICAgICBjbGVhcnMgdGhlIC0ILWUIZSBvcHRpb24gaW4gc3VjaCBzdWJzaGVsbHMuCiAKICAgICAgICBJZiAgYSAgY29tbWFuZCAgaXMgIGZvbGxvd2VkICBieSBhICYIJiBhbmQgam9iIGNvbnRyb2wgaXMgbm90IGFjdGl2ZSwgdGhlCkBAIC0yNTkzLDcgKzI2NTcsNyBAQAogICAgICAgIFRoaXMgIGlzICB0aGUgbGlicmFyeSB0aGF0IGhhbmRsZXMgcmVhZGluZyBpbnB1dCB3aGVuIHVzaW5nIGFuIGludGVyYWMtCiAgICAgICAgdGl2ZSBzaGVsbCwgdW5sZXNzIHRoZSAtCC0tCC1uCG5vCG9lCGVkCGRpCGl0CHRpCGluCG5nCGcgb3B0aW9uIGlzIGdpdmVuIGF0IHNoZWxsIGludm9jYXRpb24uCiAgICAgICAgTGluZSBlZGl0aW5nIGlzIGFsc28gdXNlZCB3aGVuIHVzaW5nIHRoZSAtCC1lCGUgb3B0aW9uIHRvIHRoZSByCHJlCGVhCGFkCGQgYnVpbHRpbi4KLSAgICAgICBCeSBkZWZhdWx0LCB0aGUgbGluZSBlZGl0aW5nIGNvbW1hbmRzIGFyZSBzaW1pbGFyIHRvIHRob3NlIG9mIGVtYWNzLiAgQQorICAgICAgIEJ5IGRlZmF1bHQsIHRoZSBsaW5lIGVkaXRpbmcgY29tbWFuZHMgYXJlIHNpbWlsYXIgdG8gdGhvc2Ugb2YgRW1hY3MuICBBCiAgICAgICAgdmktc3R5bGUgbGluZSBlZGl0aW5nIGludGVyZmFjZSBpcyBhbHNvIGF2YWlsYWJsZS4gIExpbmUgZWRpdGluZyBjYW4gYmUKICAgICAgICBlbmFibGVkIGF0IGFueSB0aW1lIHVzaW5nIHRoZSAtCC1vCG8gZQhlbQhtYQhhYwhjcwhzIG9yIC0ILW8IbyAgdgh2aQhpICBvcHRpb25zICB0byAgdGhlICBzCHNlCGV0CHQKICAgICAgICBidWlsdGluICAoc2VlICBTCFNICEhFCEVMCExMCEwgQghCVQhVSQhJTAhMVAhUSQhJTghOIEMIQ08IT00ITU0ITUEIQU4ITkQIRFMIUyBiZWxvdykuICBUbyB0dXJuIG9mZiBsaW5lIGVkaXRpbmcKQEAgLTI2MDEsNyArMjY2NSw3IEBACiAgICAgICAgcwhzZQhldAh0IGJ1aWx0aW4uCiAKICAgIFIIUmUIZWEIYWQIZGwIbGkIaW4IbmUIZSBOCE5vCG90CHRhCGF0CHRpCGlvCG9uCG4KLSAgICAgICBJbiB0aGlzIHNlY3Rpb24sIHRoZSBlbWFjcy1zdHlsZSBub3RhdGlvbiBpcyB1c2VkIHRvIGRlbm90ZSBrZXlzdHJva2VzLgorICAgICAgIEluIHRoaXMgc2VjdGlvbiwgdGhlIEVtYWNzLXN0eWxlIG5vdGF0aW9uIGlzIHVzZWQgdG8gZGVub3RlIGtleXN0cm9rZXMuCiAgICAgICAgQ29udHJvbCBrZXlzIGFyZSBkZW5vdGVkIGJ5IEMtXwhrXwhlXwh5LCBlLmcuLCBDLW4gIG1lYW5zICBDb250cm9sLU4uICAgU2ltaS0KICAgICAgICBsYXJseSwgIF8IbV8IZV8IdF8IYSAga2V5cyBhcmUgZGVub3RlZCBieSBNLV8Ia18IZV8IeSwgc28gTS14IG1lYW5zIE1ldGEtWC4gIChPbiBrZXktCiAgICAgICAgYm9hcmRzIHdpdGhvdXQgYSBfCG1fCGVfCHRfCGEga2V5LCBNLV8IeCBtZWFucyBFU0MgXwh4LCBpLmUuLCBwcmVzcyB0aGUgRXNjYXBlICBrZXkKQEAgLTI3NzEsNyArMjgzNSw3IEBACiAgICAgICAgICAgICAgIG1hcHBlZCB0byBzCHNlCGVsCGxmCGYtCC1pCGluCG5zCHNlCGVyCHJ0CHQuCiAgICAgICAgZQhlZAhkaQhpdAh0aQhpbghuZwhnLQgtbQhtbwhvZAhkZQhlICgIKGUIZW0IbWEIYWMIY3MIcykIKQogICAgICAgICAgICAgICBDb250cm9scyB3aGV0aGVyIHJlYWRsaW5lIGJlZ2lucyB3aXRoIGEgc2V0IG9mIGtleSBiaW5kaW5ncyBzaW0tCi0gICAgICAgICAgICAgIGlsYXIgdG8gXwhlXwhtXwhhXwhjXwhzIG9yIF8Idl8IaS4gIGUIZWQIZGkIaXQIdGkIaW4IbmcIZy0ILW0IbW8Ib2QIZGUIZSBjYW4gYmUgc2V0IHRvIGVpdGhlciBlCGVtCG1hCGFjCGNzCHMgb3IKKyAgICAgICAgICAgICAgaWxhciB0byBfCEVfCG1fCGFfCGNfCHMgb3IgXwh2XwhpLiAgZQhlZAhkaQhpdAh0aQhpbghuZwhnLQgtbQhtbwhvZAhkZQhlIGNhbiBiZSBzZXQgdG8gZWl0aGVyIGUIZW0IbWEIYWMIY3MIcyBvcgogICAgICAgICAgICAgICB2CHZpCGkuCiAgICAgICAgZQhlYwhjaAhobwhvLQgtYwhjbwhvbghudAh0cghybwhvbAhsLQgtYwhjaAhoYQhhcghyYQhhYwhjdAh0ZQhlcghycwhzICgIKE8IT24IbikIKQogICAgICAgICAgICAgICBXaGVuIHNldCB0byBPCE9uCG4sIG9uIG9wZXJhdGluZyBzeXN0ZW1zIHRoYXQgaW5kaWNhdGUgdGhleSAgc3VwcG9ydApAQCAtMjc4NiwxMCArMjg1MCwxMCBAQAogICAgICAgICAgICAgICBrZXkgIHRoZSAgdGVybWluYWwgY2xhaW1zIHRvIHN1cHBvcnQgd2hlbiBpdCBpcyBjYWxsZWQuICBPbiBtYW55CiAgICAgICAgICAgICAgIHRlcm1pbmFscywgdGhlIG1ldGEga2V5IGlzIHVzZWQgdG8gc2VuZCBlaWdodC1iaXQgY2hhcmFjdGVycy4KICAgICAgICBlCGV4CHhwCHBhCGFuCG5kCGQtCC10CHRpCGlsCGxkCGRlCGUgKAgoTwhPZghmZghmKQgpCi0gICAgICAgICAgICAgIElmIHNldCAgdG8gIG8Ib24IbiwgIHRpbGRlICBleHBhbnNpb24gIGlzICBwZXJmb3JtZWQgIHdoZW4gIHJlYWRsaW5lCisgICAgICAgICAgICAgIElmIHNldCAgdG8gIE8IT24IbiwgIHRpbGRlICBleHBhbnNpb24gIGlzICBwZXJmb3JtZWQgIHdoZW4gIHJlYWRsaW5lCiAgICAgICAgICAgICAgIGF0dGVtcHRzIHdvcmQgY29tcGxldGlvbi4KICAgICAgICBoCGhpCGlzCHN0CHRvCG9yCHJ5CHktCC1wCHByCHJlCGVzCHNlCGVyCHJ2CHZlCGUtCC1wCHBvCG9pCGluCG50CHQgKAgoTwhPZghmZghmKQgpCi0gICAgICAgICAgICAgIElmICBzZXQgIHRvICBvCG9uCG4sIHRoZSBoaXN0b3J5IGNvZGUgYXR0ZW1wdHMgdG8gcGxhY2UgcG9pbnQgYXQgdGhlCisgICAgICAgICAgICAgIElmICBzZXQgIHRvICBPCE9uCG4sIHRoZSBoaXN0b3J5IGNvZGUgYXR0ZW1wdHMgdG8gcGxhY2UgcG9pbnQgYXQgdGhlCiAgICAgICAgICAgICAgIHNhbWUgbG9jYXRpb24gb24gZWFjaCBoaXN0b3J5IGxpbmUgcmV0cmlldmVkIHdpdGggIHAIcHIIcmUIZXYIdmkIaW8Ib3UIdXMIcy0ILWgIaGkIaXMIcy0ILQogICAgICAgICAgICAgICB0CHRvCG9yCHJ5CHkgb3IgbghuZQhleAh4dAh0LQgtaAhoaQhpcwhzdAh0bwhvcghyeQh5LgogICAgICAgIGgIaGkIaXMIc3QIdG8Ib3IIcnkIeS0ILXMIc2kIaXoIemUIZSAoCCgwCDApCCkKQEAgLTI4MjksOCArMjg5MywxMiBAQAogICAgICAgIG0IbWEIYXQIdGMIY2gIaC0ILWgIaGkIaWQIZGQIZGUIZW4Ibi0ILWYIZmkIaWwIbGUIZXMIcyAoCChPCE9uCG4pCCkKICAgICAgICAgICAgICAgVGhpcyAgdmFyaWFibGUsICB3aGVuICBzZXQgdG8gTwhPbghuLCBjYXVzZXMgcmVhZGxpbmUgdG8gbWF0Y2ggZmlsZXMKICAgICAgICAgICAgICAgd2hvc2UgbmFtZXMgYmVnaW4gd2l0aCBhICBgLicgIChoaWRkZW4gIGZpbGVzKSAgd2hlbiAgcGVyZm9ybWluZwotICAgICAgICAgICAgICBmaWxlbmFtZSAgY29tcGxldGlvbiwgIHVubGVzcyB0aGUgbGVhZGluZyBgLicgaXMgc3VwcGxpZWQgYnkgdGhlCi0gICAgICAgICAgICAgIHVzZXIgaW4gdGhlIGZpbGVuYW1lIHRvIGJlIGNvbXBsZXRlZC4KKyAgICAgICAgICAgICAgZmlsZW5hbWUgIGNvbXBsZXRpb24uICAgSWYgIHNldCAgdG8gTwhPZghmZghmLCB0aGUgbGVhZGluZyBgLicgbXVzdCBiZQorICAgICAgICAgICAgICBzdXBwbGllZCBieSB0aGUgdXNlciBpbiB0aGUgZmlsZW5hbWUgdG8gYmUgY29tcGxldGVkLgorICAgICAgIG0IbWUIZW4IbnUIdS0ILWMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZS0ILWQIZGkIaXMIc3AIcGwIbGEIYXkIeS0ILXAIcHIIcmUIZWYIZmkIaXgIeCAoCChPCE9mCGZmCGYpCCkKKyAgICAgICAgICAgICAgSWYgc2V0IHRvIE8IT24IbiwgbWVudSBjb21wbGV0aW9uIGRpc3BsYXlzIHRoZSBjb21tb24gcHJlZml4IG9mICB0aGUKKyAgICAgICAgICAgICAgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyAod2hpY2ggbWF5IGJlIGVtcHR5KSBiZWZvcmUgY3ljbGluZworICAgICAgICAgICAgICB0aHJvdWdoIHRoZSBsaXN0LgogICAgICAgIG8Ib3UIdXQIdHAIcHUIdXQIdC0ILW0IbWUIZXQIdGEIYSAoCChPCE9mCGZmCGYpCCkKICAgICAgICAgICAgICAgSWYgc2V0IHRvIE8IT24IbiwgcmVhZGxpbmUgd2lsbCBkaXNwbGF5IGNoYXJhY3RlcnMgd2l0aCAgdGhlICBlaWdodGgKICAgICAgICAgICAgICAgYml0IHNldCBkaXJlY3RseSByYXRoZXIgdGhhbiBhcyBhIG1ldGEtcHJlZml4ZWQgZXNjYXBlIHNlcXVlbmNlLgpAQCAtMjg0MiwxOCArMjkxMCwxOCBAQAogICAgICAgICAgICAgICBzb3J0ZWQgaG9yaXpvbnRhbGx5IGluIGFscGhhYmV0aWNhbCBvcmRlciwgcmF0aGVyIHRoYW4gZG93biAgdGhlCiAgICAgICAgICAgICAgIHNjcmVlbi4KICAgICAgICByCHJlCGV2CHZlCGVyCHJ0CHQtCC1hCGFsCGxsCGwtCC1hCGF0CHQtCC1uCG5lCGV3CHdsCGxpCGluCG5lCGUgKAgoTwhPZghmZghmKQgpCi0gICAgICAgICAgICAgIElmICBzZXQgIHRvICBvCG9uCG4sIHJlYWRsaW5lIHdpbGwgdW5kbyBhbGwgY2hhbmdlcyB0byBoaXN0b3J5IGxpbmVzCisgICAgICAgICAgICAgIElmICBzZXQgIHRvICBPCE9uCG4sIHJlYWRsaW5lIHdpbGwgdW5kbyBhbGwgY2hhbmdlcyB0byBoaXN0b3J5IGxpbmVzCiAgICAgICAgICAgICAgIGJlZm9yZSByZXR1cm5pbmcgd2hlbiBhCGFjCGNjCGNlCGVwCHB0CHQtCC1sCGxpCGluCG5lCGUgaXMgZXhlY3V0ZWQuICBCeSBkZWZhdWx0LCBoaXMtCiAgICAgICAgICAgICAgIHRvcnkgIGxpbmVzICBtYXkgIGJlICBtb2RpZmllZCAgYW5kIHJldGFpbiBpbmRpdmlkdWFsIHVuZG8gbGlzdHMKICAgICAgICAgICAgICAgYWNyb3NzIGNhbGxzIHRvIHIIcmUIZWEIYWQIZGwIbGkIaW4IbmUIZS4KICAgICAgICBzCHNoCGhvCG93CHctCC1hCGFsCGxsCGwtCC1pCGlmCGYtCC1hCGFtCG1iCGJpCGlnCGd1CHVvCG91CHVzCHMgKAgoTwhPZghmZghmKQgpCiAgICAgICAgICAgICAgIFRoaXMgYWx0ZXJzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mICB0aGUgIGNvbXBsZXRpb24gIGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAgSWYgc2V0IHRvIG8Ib24Ibiwgd29yZHMgd2hpY2ggaGF2ZSBtb3JlIHRoYW4gb25lIHBvc3NpYmxlIGNvbXBsZXRpb24KKyAgICAgICAgICAgICAgSWYgc2V0IHRvIE8IT24Ibiwgd29yZHMgd2hpY2ggaGF2ZSBtb3JlIHRoYW4gb25lIHBvc3NpYmxlIGNvbXBsZXRpb24KICAgICAgICAgICAgICAgY2F1c2UgdGhlIG1hdGNoZXMgdG8gYmUgbGlzdGVkIGltbWVkaWF0ZWx5ICBpbnN0ZWFkICBvZiAgcmluZ2luZwogICAgICAgICAgICAgICB0aGUgYmVsbC4KICAgICAgICBzCHNoCGhvCG93CHctCC1hCGFsCGxsCGwtCC1pCGlmCGYtCC11CHVuCG5tCG1vCG9kCGRpCGlmCGZpCGllCGVkCGQgKAgoTwhPZghmZghmKQgpCiAgICAgICAgICAgICAgIFRoaXMgIGFsdGVycyB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgY29tcGxldGlvbiBmdW5jdGlvbnMgaW4KLSAgICAgICAgICAgICAgYSBmYXNoaW9uIHNpbWlsYXIgdG8gcwhzaAhobwhvdwh3LQgtYQhhbAhsbAhsLQgtaQhpZghmLQgtYQhhbQhtYghiaQhpZwhndQh1bwhvdQh1cwhzLiAgSWYgc2V0IHRvIG8Ib24Ibiwgd29yZHMKKyAgICAgICAgICAgICAgYSBmYXNoaW9uIHNpbWlsYXIgdG8gcwhzaAhobwhvdwh3LQgtYQhhbAhsbAhsLQgtaQhpZghmLQgtYQhhbQhtYghiaQhpZwhndQh1bwhvdQh1cwhzLiAgSWYgc2V0IHRvIE8IT24Ibiwgd29yZHMKICAgICAgICAgICAgICAgd2hpY2ggIGhhdmUgbW9yZSB0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uIHdpdGhvdXQgYW55IHBvc3NpLQogICAgICAgICAgICAgICBibGUgcGFydGlhbCBjb21wbGV0aW9uICh0aGUgcG9zc2libGUgY29tcGxldGlvbnMgZG9uJ3QgIHNoYXJlICBhCiAgICAgICAgICAgICAgIGNvbW1vbiAgcHJlZml4KSAgY2F1c2UgIHRoZSAgbWF0Y2hlcyAgdG8gIGJlICBsaXN0ZWQgaW1tZWRpYXRlbHkKQEAgLTI5MDQsNyArMjk3Miw3IEBACiAgICAgICAgICAgICAgICAgICAgICB0byBiaW5kIGtleSBzZXF1ZW5jZXMgdG8gZnVuY3Rpb25zIHVzZWZ1bCBmb3IgYSAgc3BlY2lmaWMKICAgICAgICAgICAgICAgICAgICAgIHByb2dyYW0uICAgRm9yIGluc3RhbmNlLCB0aGUgZm9sbG93aW5nIGNvbW1hbmQgYWRkcyBhIGtleQogICAgICAgICAgICAgICAgICAgICAgc2VxdWVuY2UgdGhhdCBxdW90ZXMgdGhlICBjdXJyZW50ICBvciAgcHJldmlvdXMgIHdvcmQgIGluCi0gICAgICAgICAgICAgICAgICAgICBCYXNoOgorICAgICAgICAgICAgICAgICAgICAgYghiYQhhcwhzaAhoOgogCiAgICAgICAgICAgICAgICAgICAgICAkCCRpCGlmCGYgQmFzaAogICAgICAgICAgICAgICAgICAgICAgIyBRdW90ZSB0aGUgY3VycmVudCBvciBwcmV2aW91cyB3b3JkCkBAIC0zMDQzLDEyICszMTExLDE2IEBACiAgICAgICAgICAgICAgICIhXwhuIiBoaXN0b3J5IGV4cGFuc2lvbiBoYWQgYmVlbiBzcGVjaWZpZWQuCiAgICAgICAgeQh5YQhhbghuawhrLQgtbAhsYQhhcwhzdAh0LQgtYQhhcghyZwhnICgIKE0ITS0ILS4ILiwILCBNCE0tCC1fCF8pCCkKICAgICAgICAgICAgICAgSW5zZXJ0ICB0aGUgbGFzdCBhcmd1bWVudCB0byB0aGUgcHJldmlvdXMgY29tbWFuZCAodGhlIGxhc3Qgd29yZAotICAgICAgICAgICAgICBvZiB0aGUgIHByZXZpb3VzICBoaXN0b3J5ICBlbnRyeSkuICAgV2l0aCAgYW4gIGFyZ3VtZW50LCAgYmVoYXZlCisgICAgICAgICAgICAgIG9mIHRoZSBwcmV2aW91cyBoaXN0b3J5IGVudHJ5KS4gIFdpdGggYSBudW1lcmljIGFyZ3VtZW50LCBiZWhhdmUKICAgICAgICAgICAgICAgZXhhY3RseSAgbGlrZSAgeQh5YQhhbghuawhrLQgtbghudAh0aAhoLQgtYQhhcghyZwhnLiAgIFN1Y2Nlc3NpdmUgY2FsbHMgdG8geQh5YQhhbghuawhrLQgtbAhsYQhhcwhzdAh0LQgtYQhhcghyZwhnCi0gICAgICAgICAgICAgIG1vdmUgYmFjayB0aHJvdWdoIHRoZSBoaXN0b3J5IGxpc3QsIGluc2VydGluZyB0aGUgbGFzdCAgYXJndW1lbnQKLSAgICAgICAgICAgICAgb2YgZWFjaCBsaW5lIGluIHR1cm4uICBUaGUgaGlzdG9yeSBleHBhbnNpb24gZmFjaWxpdGllcyBhcmUgdXNlZAotICAgICAgICAgICAgICB0byBleHRyYWN0IHRoZSBsYXN0IGFyZ3VtZW50LCBhcyBpZiB0aGUgIiEkIiAgaGlzdG9yeSAgZXhwYW5zaW9uCi0gICAgICAgICAgICAgIGhhZCBiZWVuIHNwZWNpZmllZC4KKyAgICAgICAgICAgICAgbW92ZSBiYWNrIHRocm91Z2ggdGhlIGhpc3RvcnkgbGlzdCwgaW5zZXJ0aW5nIHRoZSBsYXN0IHdvcmQgIChvcgorICAgICAgICAgICAgICB0aGUgIHdvcmQgIHNwZWNpZmllZCAgYnkgdGhlIGFyZ3VtZW50IHRvIHRoZSBmaXJzdCBjYWxsKSBvZiBlYWNoCisgICAgICAgICAgICAgIGxpbmUgaW4gdHVybi4gIEFueSBudW1lcmljIGFyZ3VtZW50IHN1cHBsaWVkIHRvIHRoZXNlIHN1Y2Nlc3NpdmUKKyAgICAgICAgICAgICAgY2FsbHMgIGRldGVybWluZXMgIHRoZSBkaXJlY3Rpb24gdG8gbW92ZSB0aHJvdWdoIHRoZSBoaXN0b3J5LiAgQQorICAgICAgICAgICAgICBuZWdhdGl2ZSBhcmd1bWVudCBzd2l0Y2hlcyB0aGUgIGRpcmVjdGlvbiAgdGhyb3VnaCAgdGhlICBoaXN0b3J5CisgICAgICAgICAgICAgIChiYWNrIG9yIGZvcndhcmQpLiAgVGhlIGhpc3RvcnkgZXhwYW5zaW9uIGZhY2lsaXRpZXMgYXJlIHVzZWQgdG8KKyAgICAgICAgICAgICAgZXh0cmFjdCB0aGUgbGFzdCBhcmd1bWVudCwgYXMgaWYgdGhlICIhJCIgaGlzdG9yeSBleHBhbnNpb24gIGhhZAorICAgICAgICAgICAgICBiZWVuIHNwZWNpZmllZC4KICAgICAgICBzCHNoCGhlCGVsCGxsCGwtCC1lCGV4CHhwCHBhCGFuCG5kCGQtCC1sCGxpCGluCG5lCGUgKAgoTQhNLQgtQwhDLQgtZQhlKQgpCiAgICAgICAgICAgICAgIEV4cGFuZCB0aGUgbGluZSBhcyB0aGUgc2hlbGwgZG9lcy4gIFRoaXMgcGVyZm9ybXMgYWxpYXMgYW5kIGhpcy0KICAgICAgICAgICAgICAgdG9yeSBleHBhbnNpb24gYXMgd2VsbCBhcyBhbGwgb2YgdGhlIHNoZWxsIHdvcmQgZXhwYW5zaW9ucy4gIFNlZQpAQCAtMzIxNCw5ICszMjg2LDkgQEAKICAgICAgICAgICAgICAgbW92ZXMgIF8IbiAgcG9zaXRpb25zICBmb3J3YXJkICBpbiB0aGUgbGlzdCBvZiBtYXRjaGVzOyBhIG5lZ2F0aXZlCiAgICAgICAgICAgICAgIGFyZ3VtZW50IG1heSBiZSB1c2VkIHRvIG1vdmUgYmFja3dhcmQgdGhyb3VnaCAgdGhlICBsaXN0LiAgIFRoaXMKICAgICAgICAgICAgICAgY29tbWFuZCAgaXMgIGludGVuZGVkICB0byAgYmUgIGJvdW5kICB0byAgVAhUQQhBQghCLCBidXQgaXMgdW5ib3VuZCBieQotICAgICAgICAgICAgICBkZWZhdWx0LghjCGMKLSAgICAgICBtCG1lCGVuCG51CHUtCC1jCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUtCC1rCGtyCHJkCGQKLSAgICAgICAgICAgICAgSWRlbnRpY3cIdwhhbCB0byBtCG1lCGVuCG51CHUtCC1jCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUsIGJ1dCBtb3ZlcyBiYWNrd2FyZCB0aHJvdWdoIHRoZSAgbGlzdAorICAgICAgICAgICAgICBkZWZhdWx0LgorICAgICAgIG0IbWUIZW4IbnUIdS0ILWMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZS0ILWIIYmEIYWMIY2sIa3cId2EIYXIIcmQIZAorICAgICAgICAgICAgICBJZGVudGljYWwgdG8gbQhtZQhlbghudQh1LQgtYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlLCBidXQgbW92ZXMgYmFja3dhcmQgdGhyb3VnaCB0aGUgIGxpc3QKICAgICAgICAgICAgICAgb2YgIHBvc3NpYmxlICBjb21wbGV0aW9ucywgIGFzIGlmIG0IbWUIZW4IbnUIdS0ILWMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZSBoYWQgYmVlbiBnaXZlbiBhCiAgICAgICAgICAgICAgIG5lZ2F0aXZlIGFyZ3VtZW50LiAgVGhpcyBjb21tYW5kIGlzIHVuYm91bmQgYnkgZGVmYXVsdC4KICAgICAgICBkCGRlCGVsCGxlCGV0CHRlCGUtCC1jCGNoCGhhCGFyCHItCC1vCG9yCHItCC1sCGxpCGlzCHN0CHQKQEAgLTMzMTQsNyArMzM4Niw3IEBACiAgICAgICAgICAgICAgIEEgY2hhcmFjdGVyIGlzIHJlYWQgYW5kIHBvaW50IGlzIG1vdmVkIHRvICB0aGUgIHByZXZpb3VzICBvY2N1ci0KICAgICAgICAgICAgICAgcmVuY2UgIG9mICB0aGF0IGNoYXJhY3Rlci4gIEEgbmVnYXRpdmUgY291bnQgc2VhcmNoZXMgZm9yIHN1YnNlLQogICAgICAgICAgICAgICBxdWVudCBvY2N1cnJlbmNlcy4KLSAgICAgICBzCHNrCGtpCGlwCHAtCC1jCGNzCHNpCGktCC1zCHNlCGVxCHF1CHVlCGVuCG5jCGNlCGUgKAgoKQgpCisgICAgICAgcwhzawhraQhpcAhwLQgtYwhjcwhzaQhpLQgtcwhzZQhlcQhxdQh1ZQhlbghuYwhjZQhlCiAgICAgICAgICAgICAgIFJlYWQgZW5vdWdoIGNoYXJhY3RlcnMgdG8gY29uc3VtZSBhIG11bHRpLWtleSBzZXF1ZW5jZSAgc3VjaCAgYXMKICAgICAgICAgICAgICAgdGhvc2UgIGRlZmluZWQgZm9yIGtleXMgbGlrZSBIb21lIGFuZCBFbmQuICBTdWNoIHNlcXVlbmNlcyBiZWdpbgogICAgICAgICAgICAgICB3aXRoIGEgQ29udHJvbCBTZXF1ZW5jZSBJbmRpY2F0b3IgKENTSSksIHVzdWFsbHkgRVNDLVsuICBJZiB0aGlzCkBAIC0zMzgxLDcgKzM0NTMsNyBAQAogICAgICAgIHdvcmQgIGlzICBhIGZ1bGwgcGF0aG5hbWUsIGEgY29tcHNwZWMgZm9yIHRoZSBmdWxsIHBhdGhuYW1lIGlzIHNlYXJjaGVkCiAgICAgICAgZm9yIGZpcnN0LiAgSWYgbm8gY29tcHNwZWMgaXMgZm91bmQgZm9yIHRoZSBmdWxsIHBhdGhuYW1lLCAgYW4gIGF0dGVtcHQKICAgICAgICBpcyAgbWFkZSAgdG8gZmluZCBhIGNvbXBzcGVjIGZvciB0aGUgcG9ydGlvbiBmb2xsb3dpbmcgdGhlIGZpbmFsIHNsYXNoLgotICAgICAgIElmIHRob3NlIHNlYXJjaGVzIHRvIG5vdCByZXN1bHQgaW4gYSAgY29tcHNwZWMsICBhbnkgIGNvbXBzcGVjICBkZWZpbmVkCisgICAgICAgSWYgdGhvc2Ugc2VhcmNoZXMgZG8gbm90IHJlc3VsdCBpbiBhICBjb21wc3BlYywgIGFueSAgY29tcHNwZWMgIGRlZmluZWQKICAgICAgICB3aXRoIHRoZSAtCC1ECEQgb3B0aW9uIHRvIGMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZSBpcyB1c2VkIGFzIHRoZSBkZWZhdWx0LgogCiAgICAgICAgT25jZSAgYSAgY29tcHNwZWMgIGhhcyAgYmVlbiAgZm91bmQsIGl0IGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGxpc3Qgb2YKQEAgLTM0NzYsOCArMzU0OCw4IEBACiAgICAgICAgY2hhbmdlcyB0aGUgY29tcHNwZWMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21tYW5kIG9uIHdoaWNoIGNvbXBsZXRpb24gaXMKICAgICAgICBiZWluZyAgYXR0ZW1wdGVkICAoc3VwcGxpZWQgIGFzIHRoZSBmaXJzdCBhcmd1bWVudCB3aGVuIHRoZSBmdW5jdGlvbiBpcwogICAgICAgIGV4ZWN1dGVkKSwgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gcmVzdGFydHMgZnJvbSB0aGUgYmVnaW5uaW5nLCB3aXRoIGFuCi0gICAgICAgYXR0ZW1wdCB0byBmaW5kIGEgY29tcHNwZWMgZm9yIHRoYXQgY29tbWFuZC4gIFRoaXMgYWxsb3dzIGEgc2V0IG9mIGNvbS0KLSAgICAgICBwbGV0aW9ucyB0byBiZSBidWlsdCBkeW5hbWljYWxseSBhcyAgY29tcGxldGlvbiAgaXMgIGF0dGVtcHRlZCwgIHJhdGhlcgorICAgICAgIGF0dGVtcHQgIHRvIGZpbmQgYSBuZXcgY29tcHNwZWMgZm9yIHRoYXQgY29tbWFuZC4gIFRoaXMgYWxsb3dzIGEgc2V0IG9mCisgICAgICAgY29tcGxldGlvbnMgdG8gYmUgYnVpbHQgZHluYW1pY2FsbHkgYXMgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQsICByYXRoZXIKICAgICAgICB0aGFuIGJlaW5nIGxvYWRlZCBhbGwgYXQgb25jZS4KIAogICAgICAgIEZvciAgaW5zdGFuY2UsIGFzc3VtaW5nIHRoYXQgdGhlcmUgaXMgYSBsaWJyYXJ5IG9mIGNvbXBzcGVjcywgZWFjaCBrZXB0CkBAIC0zNTkzLDI0ICszNjY1LDI2IEBACiAKICAgIEUIRXYIdmUIZW4IbnQIdCBECERlCGVzCHNpCGlnCGduCG5hCGF0CHRvCG9yCHJzCHMKICAgICAgICBBbiAgZXZlbnQgZGVzaWduYXRvciBpcyBhIHJlZmVyZW5jZSB0byBhIGNvbW1hbmQgbGluZSBlbnRyeSBpbiB0aGUgaGlzLQotICAgICAgIHRvcnkgbGlzdC4KKyAgICAgICB0b3J5IGxpc3QuICBVbmxlc3MgdGhlIHJlZmVyZW5jZSBpcyBhYnNvbHV0ZSwgZXZlbnRzICBhcmUgIHJlbGF0aXZlICB0bworICAgICAgIHRoZSBjdXJyZW50IHBvc2l0aW9uIGluIHRoZSBoaXN0b3J5IGxpc3QuCiAKLSAgICAgICAhCCEgICAgICBTdGFydCBhIGhpc3Rvcnkgc3Vic3RpdHV0aW9uLCBleGNlcHQgd2hlbiBmb2xsb3dlZCBieSAgYSAgYghibAhsYQhhbghuawhrLAotICAgICAgICAgICAgICBuZXdsaW5lLCAgY2FycmlhZ2UgcmV0dXJuLCA9IG9yICggKHdoZW4gdGhlIGUIZXgIeHQIdGcIZ2wIbG8Ib2IIYiBzaGVsbCBvcHRpb24KKyAgICAgICAhCCEgICAgICBTdGFydCAgYSAgaGlzdG9yeSBzdWJzdGl0dXRpb24sIGV4Y2VwdCB3aGVuIGZvbGxvd2VkIGJ5IGEgYghibAhsYQhhbghuawhrLAorICAgICAgICAgICAgICBuZXdsaW5lLCBjYXJyaWFnZSByZXR1cm4sID0gb3IgKCAod2hlbiB0aGUgZQhleAh4dAh0ZwhnbAhsbwhvYghiIHNoZWxsICBvcHRpb24KICAgICAgICAgICAgICAgaXMgZW5hYmxlZCB1c2luZyB0aGUgcwhzaAhobwhvcAhwdAh0IGJ1aWx0aW4pLgogICAgICAgICEIIV8IbiAgICAgUmVmZXIgdG8gY29tbWFuZCBsaW5lIF8Ibi4KLSAgICAgICAhCCEtCC1fCG4gICAgUmVmZXIgdG8gdGhlIGN1cnJlbnQgY29tbWFuZCBsaW5lIG1pbnVzIF8Ibi4KKyAgICAgICAhCCEtCC1fCG4gICAgUmVmZXIgdG8gdGhlIGN1cnJlbnQgY29tbWFuZCBtaW51cyBfCG4uCiAgICAgICAgIQghIQghICAgICBSZWZlciB0byB0aGUgcHJldmlvdXMgY29tbWFuZC4gIFRoaXMgaXMgYSBzeW5vbnltIGZvciBgIS0xJy4KICAgICAgICAhCCFfCHNfCHRfCHJfCGlfCG5fCGcKLSAgICAgICAgICAgICAgUmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgc3RhcnRpbmcgd2l0aCBfCHNfCHRfCHJfCGlfCG5fCGcuCisgICAgICAgICAgICAgIFJlZmVyICB0byB0aGUgbW9zdCByZWNlbnQgY29tbWFuZCBwcmVjZWRpbmcgdGhlIGN1cnJlbnQgcG9zaXRpb24KKyAgICAgICAgICAgICAgaW4gdGhlIGhpc3RvcnkgbGlzdCBzdGFydGluZyB3aXRoIF8Ic18IdF8Icl8IaV8Ibl8IZy4KICAgICAgICAhCCE/CD9fCHNfCHRfCHJfCGlfCG5fCGdbCFs/CD9dCF0KLSAgICAgICAgICAgICAgUmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgY29udGFpbmluZyBfCHNfCHRfCHJfCGlfCG5fCGcuICBUaGUgIHRyYWlsLQotICAgICAgICAgICAgICBpbmcgPwg/IG1heSBiZSBvbWl0dGVkIGlmIF8Ic18IdF8Icl8IaV8Ibl8IZyBpcyBmb2xsb3dlZCBpbW1lZGlhdGVseSBieSBhIG5ldy0KLSAgICAgICAgICAgICAgbGluZS4KKyAgICAgICAgICAgICAgUmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgcHJlY2VkaW5nIHRoZSBjdXJyZW50IHBvc3RpdGlvbgorICAgICAgICAgICAgICBpbiAgdGhlICBoaXN0b3J5ICBsaXN0IGNvbnRhaW5pbmcgXwhzXwh0XwhyXwhpXwhuXwhnLiAgVGhlIHRyYWlsaW5nID8IPyBtYXkgYmUKKyAgICAgICAgICAgICAgb21pdHRlZCBpZiBfCHNfCHRfCHJfCGlfCG5fCGcgaXMgZm9sbG93ZWQgaW1tZWRpYXRlbHkgYnkgYSBuZXdsaW5lLgogICAgICAgIF4IXl8Ic18IdF8Icl8IaV8Ibl8IZ18IMV4IXl8Ic18IdF8Icl8IaV8Ibl8IZ18IMl4IXgotICAgICAgICAgICAgICBRdWljayBzdWJzdGl0dXRpb24uICBSZXBlYXQgdGhlIGxhc3QgY29tbWFuZCwgcmVwbGFjaW5nICBfCHNfCHRfCHJfCGlfCG5fCGdfCDEKLSAgICAgICAgICAgICAgd2l0aCBfCHNfCHRfCHJfCGlfCG5fCGdfCDIuICBFcXVpdmFsZW50IHRvIGBgISE6cy9fCHNfCHRfCHJfCGlfCG5fCGdfCDEvXwhzXwh0XwhyXwhpXwhuXwhnXwgyLycnIChzZWUgTQhNbwhvZAhkLQgtCi0gICAgICAgICAgICAgIGkIaWYIZmkIaWUIZXIIcnMIcyBiZWxvdykuCisgICAgICAgICAgICAgIFF1aWNrIHN1YnN0aXR1dGlvbi4gICBSZXBlYXQgIHRoZSAgcHJldmlvdXMgIGNvbW1hbmQsICByZXBsYWNpbmcKKyAgICAgICAgICAgICAgXwhzXwh0XwhyXwhpXwhuXwhnXwgxICB3aXRoICBfCHNfCHRfCHJfCGlfCG5fCGdfCDIuICBFcXVpdmFsZW50IHRvIGBgISE6cy9fCHNfCHRfCHJfCGlfCG5fCGdfCDEvXwhzXwh0XwhyXwhpXwhuXwhnXwgyLycnCisgICAgICAgICAgICAgIChzZWUgTQhNbwhvZAhkaQhpZghmaQhpZQhlcghycwhzIGJlbG93KS4KICAgICAgICAhCCEjCCMgICAgIFRoZSBlbnRpcmUgY29tbWFuZCBsaW5lIHR5cGVkIHNvIGZhci4KIAogICAgVwhXbwhvcghyZAhkIEQIRGUIZXMIc2kIaWcIZ24IbmEIYXQIdG8Ib3IIcnMIcwpAQCAtMzc4NSw3ICszODU5LDcgQEAKIAogICAgICAgIGMIY2EIYWwIbGwIbGUIZXIIciBbXwhlXwh4XwhwXwhyXQogICAgICAgICAgICAgICBSZXR1cm5zIHRoZSBjb250ZXh0IG9mIGFueSBhY3RpdmUgc3Vicm91dGluZSBjYWxsIChhIHNoZWxsIGZ1bmMtCi0gICAgICAgICAgICAgIHRpb24gb3IgYSBzY3JpcHQgZXhlY3V0ZWQgd2l0aCB0aGUgLgguIG9yIHMIc28Ib3UIdXIIcmMIY2UIZSBidWlsdGlucy4gICBXaXRoLQorICAgICAgICAgICAgICB0aW9uIG9yIGEgc2NyaXB0IGV4ZWN1dGVkIHdpdGggdGhlIC4ILiBvciBzCHNvCG91CHVyCHJjCGNlCGUgYnVpbHRpbnMpLiAgV2l0aC0KICAgICAgICAgICAgICAgb3V0IF8IZV8IeF8IcF8IciwgYwhjYQhhbAhsbAhsZQhlcghyIGRpc3BsYXlzIHRoZSBsaW5lIG51bWJlciBhbmQgc291cmNlIGZpbGVuYW1lIG9mCiAgICAgICAgICAgICAgIHRoZSBjdXJyZW50IHN1YnJvdXRpbmUgY2FsbC4gIElmIGEgbm9uLW5lZ2F0aXZlIGludGVnZXIgaXMgIHN1cC0KICAgICAgICAgICAgICAgcGxpZWQgYXMgXwhlXwh4XwhwXwhyLCBjCGNhCGFsCGxsCGxlCGVyCHIgZGlzcGxheXMgdGhlIGxpbmUgbnVtYmVyLCBzdWJyb3V0aW5lIG5hbWUsCkBAIC0zNzk2LDcgKzM4NzAsNyBAQAogICAgICAgICAgICAgICByb3V0aW5lIGNhbGwgb3IgXwhlXwh4XwhwXwhyIGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gYSB2YWxpZCBwb3NpdGlvbiAgaW4KICAgICAgICAgICAgICAgdGhlIGNhbGwgc3RhY2suCiAKLSAgICAgICBjCGNkCGQgWy0ILUwITHwIfC0ILVAIUF0gW18IZF8IaV8Icl0KKyAgICAgICBjCGNkCGQgWy0ILUwITHxbLQgtUAhQIFstCC1lCGVdXV0gW18IZF8IaV8Icl0KICAgICAgICAgICAgICAgQ2hhbmdlICB0aGUgIGN1cnJlbnQgZGlyZWN0b3J5IHRvIF8IZF8IaV8Ici4gIFRoZSB2YXJpYWJsZSBICEhPCE9NCE1FCEUgaXMgdGhlCiAgICAgICAgICAgICAgIGRlZmF1bHQgXwhkXwhpXwhyLiAgVGhlIHZhcmlhYmxlIEMIQ0QIRFAIUEEIQVQIVEgISCBkZWZpbmVzIHRoZSAgc2VhcmNoICBwYXRoICBmb3IKICAgICAgICAgICAgICAgdGhlICBkaXJlY3RvcnkgIGNvbnRhaW5pbmcgIF8IZF8IaV8Ici4gIEFsdGVybmF0aXZlIGRpcmVjdG9yeSBuYW1lcyBpbgpAQCAtMzgwNiwxMDQgKzM4ODAsMTA3IEBACiAgICAgICAgICAgICAgIG9wdGlvbiAgc2F5cyAgdG8gdXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIGluc3RlYWQgb2YKICAgICAgICAgICAgICAgZm9sbG93aW5nIHN5bWJvbGljIGxpbmtzIChzZWUgYWxzbyB0aGUgIC0ILVAIUCAgb3B0aW9uICB0byAgdGhlICBzCHNlCGV0CHQKICAgICAgICAgICAgICAgYnVpbHRpbiBjb21tYW5kKTsgdGhlIC0ILUwITCBvcHRpb24gZm9yY2VzIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbC0KLSAgICAgICAgICAgICAgbG93ZWQuICBBbiBhcmd1bWVudCBvZiAtCC0gaXMgZXF1aXZhbGVudCB0byAkCCRPCE9MCExECERQCFBXCFdECEQuICAgSWYgIGEgIG5vbi0KLSAgICAgICAgICAgICAgZW1wdHkgIGRpcmVjdG9yeSAgbmFtZSBmcm9tIEMIQ0QIRFAIUEEIQVQIVEgISCBpcyB1c2VkLCBvciBpZiAtCC0gaXMgdGhlIGZpcnN0Ci0gICAgICAgICAgICAgIGFyZ3VtZW50LCBhbmQgdGhlIGRpcmVjdG9yeSBjaGFuZ2UgaXMgc3VjY2Vzc2Z1bCwgIHRoZSAgYWJzb2x1dGUKLSAgICAgICAgICAgICAgcGF0aG5hbWUgb2YgdGhlIG5ldyB3b3JraW5nIGRpcmVjdG9yeSBpcyB3cml0dGVuIHRvIHRoZSBzdGFuZGFyZAotICAgICAgICAgICAgICBvdXRwdXQuICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRydWUgaWYgdGhlIGRpcmVjdG9yeSB3YXMgIHN1Y2Nlc3MtCisgICAgICAgICAgICAgIGxvd2VkLiAgSWYgdGhlIC0ILWUIZSBvcHRpb24gaXMgc3VwcGxpZWQgd2l0aCAtCC1QCFAsICBhbmQgIHRoZSAgY3VycmVudAorICAgICAgICAgICAgICB3b3JraW5nIGRpcmVjdG9yeSBjYW5ub3QgYmUgc3VjY2Vzc2Z1bGx5IGRldGVybWluZWQgYWZ0ZXIgYSBzdWMtCisgICAgICAgICAgICAgIGNlc3NmdWwgZGlyZWN0b3J5IGNoYW5nZSwgYwhjZAhkIHdpbGwgcmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCBzdGF0dXMuCisgICAgICAgICAgICAgIEFuICBhcmd1bWVudCAgb2YgIC0ILSAgaXMgIGVxdWl2YWxlbnQgIHRvICQIJE8IT0wITEQIRFAIUFcIV0QIRC4gIElmIGEgbm9uLWVtcHR5CisgICAgICAgICAgICAgIGRpcmVjdG9yeSBuYW1lIGZyb20gQwhDRAhEUAhQQQhBVAhUSAhIIGlzIHVzZWQsIG9yIGlmIC0ILSBpcyB0aGUgIGZpcnN0ICBhcmd1LQorICAgICAgICAgICAgICBtZW50LCBhbmQgdGhlIGRpcmVjdG9yeSBjaGFuZ2UgaXMgc3VjY2Vzc2Z1bCwgdGhlIGFic29sdXRlIHBhdGgtCisgICAgICAgICAgICAgIG5hbWUgb2YgdGhlIG5ldyB3b3JraW5nIGRpcmVjdG9yeSBpcyAgd3JpdHRlbiAgdG8gIHRoZSAgc3RhbmRhcmQKKyAgICAgICAgICAgICAgb3V0cHV0LiAgIFRoZSByZXR1cm4gdmFsdWUgaXMgdHJ1ZSBpZiB0aGUgZGlyZWN0b3J5IHdhcyBzdWNjZXNzLQogICAgICAgICAgICAgICBmdWxseSBjaGFuZ2VkOyBmYWxzZSBvdGhlcndpc2UuCiAKICAgICAgICBjCGNvCG9tCG1tCG1hCGFuCG5kCGQgWy0ILXAIcFYIVnYIdl0gXwhjXwhvXwhtXwhtXwhhXwhuXwhkIFtfCGFfCHJfCGcgLi4uXQotICAgICAgICAgICAgICBSdW4gIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCAgd2l0aCAgXwhhXwhyXwhnXwhzICBzdXBwcmVzc2luZyAgdGhlIG5vcm1hbCBzaGVsbCBmdW5jdGlvbgotICAgICAgICAgICAgICBsb29rdXAuIE9ubHkgYnVpbHRpbiBjb21tYW5kcyBvciBjb21tYW5kcyBmb3VuZCBpbiB0aGUgUAhQQQhBVAhUSAhIICBhcmUKLSAgICAgICAgICAgICAgZXhlY3V0ZWQuICAgSWYgdGhlIC0ILXAIcCBvcHRpb24gaXMgZ2l2ZW4sIHRoZSBzZWFyY2ggZm9yIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcwotICAgICAgICAgICAgICBwZXJmb3JtZWQgdXNpbmcgYSBkZWZhdWx0IHZhbHVlIGZvciBQCFBBCEFUCFRICEggdGhhdCBpcyAgZ3VhcmFudGVlZCAgdG8KLSAgICAgICAgICAgICAgZmluZCAgYWxsICBvZiAgdGhlICBzdGFuZGFyZCAgdXRpbGl0aWVzLiAgSWYgZWl0aGVyIHRoZSAtCC1WCFYgb3IgLQgtdgh2CisgICAgICAgICAgICAgIFJ1biBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgd2l0aCBfCGFfCHJfCGdfCHMgIHN1cHByZXNzaW5nICB0aGUgIG5vcm1hbCAgc2hlbGwgIGZ1bmN0aW9uCisgICAgICAgICAgICAgIGxvb2t1cC4gIE9ubHkgYnVpbHRpbiBjb21tYW5kcyBvciBjb21tYW5kcyBmb3VuZCBpbiB0aGUgUAhQQQhBVAhUSAhIIGFyZQorICAgICAgICAgICAgICBleGVjdXRlZC4gIElmIHRoZSAtCC1wCHAgb3B0aW9uIGlzIGdpdmVuLCB0aGUgc2VhcmNoIGZvciBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgIGlzCisgICAgICAgICAgICAgIHBlcmZvcm1lZCAgdXNpbmcgIGEgZGVmYXVsdCB2YWx1ZSBmb3IgUAhQQQhBVAhUSAhIIHRoYXQgaXMgZ3VhcmFudGVlZCB0bworICAgICAgICAgICAgICBmaW5kIGFsbCBvZiB0aGUgc3RhbmRhcmQgdXRpbGl0aWVzLiAgSWYgIGVpdGhlciAgdGhlICAtCC1WCFYgIG9yICAtCC12CHYKICAgICAgICAgICAgICAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhIGRlc2NyaXB0aW9uIG9mIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBwcmludGVkLiAgVGhlIC0ILXYIdgotICAgICAgICAgICAgICBvcHRpb24gIGNhdXNlcyBhIHNpbmdsZSB3b3JkIGluZGljYXRpbmcgdGhlIGNvbW1hbmQgb3IgZmlsZSBuYW1lCisgICAgICAgICAgICAgIG9wdGlvbiBjYXVzZXMgYSBzaW5nbGUgd29yZCBpbmRpY2F0aW5nIHRoZSBjb21tYW5kIG9yIGZpbGUgIG5hbWUKICAgICAgICAgICAgICAgdXNlZCB0byBpbnZva2UgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIHRvIGJlIGRpc3BsYXllZDsgdGhlIC0ILVYIViBvcHRpb24gcHJvZHVjZXMgYQotICAgICAgICAgICAgICBtb3JlICB2ZXJib3NlICBkZXNjcmlwdGlvbi4gIElmIHRoZSAtCC1WCFYgb3IgLQgtdgh2IG9wdGlvbiBpcyBzdXBwbGllZCwKLSAgICAgICAgICAgICAgdGhlIGV4aXQgc3RhdHVzIGlzIDAgaWYgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIHdhcyBmb3VuZCwgYW5kICAxICBpZiAgbm90LiAgIElmCisgICAgICAgICAgICAgIG1vcmUgdmVyYm9zZSBkZXNjcmlwdGlvbi4gIElmIHRoZSAtCC1WCFYgb3IgLQgtdgh2IG9wdGlvbiAgaXMgIHN1cHBsaWVkLAorICAgICAgICAgICAgICB0aGUgIGV4aXQgIHN0YXR1cyAgaXMgIDAgaWYgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIHdhcyBmb3VuZCwgYW5kIDEgaWYgbm90LiAgSWYKICAgICAgICAgICAgICAgbmVpdGhlciBvcHRpb24gaXMgc3VwcGxpZWQgYW5kIGFuIGVycm9yIG9jY3VycmVkIG9yIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBjYW4tCi0gICAgICAgICAgICAgIG5vdCBiZSBmb3VuZCwgdGhlIGV4aXQgc3RhdHVzIGlzIDEyNy4gIE90aGVyd2lzZSwgdGhlIGV4aXQgIHN0YS0KKyAgICAgICAgICAgICAgbm90ICBiZSBmb3VuZCwgdGhlIGV4aXQgc3RhdHVzIGlzIDEyNy4gIE90aGVyd2lzZSwgdGhlIGV4aXQgc3RhLQogICAgICAgICAgICAgICB0dXMgb2YgdGhlIGMIY28Ib20IbW0IbWEIYW4IbmQIZCBidWlsdGluIGlzIHRoZSBleGl0IHN0YXR1cyBvZiBfCGNfCG9fCG1fCG1fCGFfCG5fCGQuCiAKICAgICAgICBjCGNvCG9tCG1wCHBnCGdlCGVuCG4gW18Ib18IcF8IdF8IaV8Ib18Ibl0gW18Id18Ib18Icl8IZF0KLSAgICAgICAgICAgICAgR2VuZXJhdGUgIHBvc3NpYmxlICBjb21wbGV0aW9uIG1hdGNoZXMgZm9yIF8Id18Ib18Icl8IZCBhY2NvcmRpbmcgdG8gdGhlCi0gICAgICAgICAgICAgIF8Ib18IcF8IdF8IaV8Ib18IbnMsIHdoaWNoIG1heSAgYmUgIGFueSAgb3B0aW9uICBhY2NlcHRlZCAgYnkgIHRoZSAgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlCi0gICAgICAgICAgICAgIGJ1aWx0aW4gIHdpdGggIHRoZSBleGNlcHRpb24gb2YgLQgtcAhwIGFuZCAtCC1yCHIsIGFuZCB3cml0ZSB0aGUgbWF0Y2hlcwotICAgICAgICAgICAgICB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LiAgV2hlbiB1c2luZyB0aGUgLQgtRghGIG9yICAtCC1DCEMgIG9wdGlvbnMsICB0aGUKLSAgICAgICAgICAgICAgdmFyaW91cyAgc2hlbGwgIHZhcmlhYmxlcyAgc2V0ICBieSAgdGhlICBwcm9ncmFtbWFibGUgY29tcGxldGlvbgorICAgICAgICAgICAgICBHZW5lcmF0ZSBwb3NzaWJsZSBjb21wbGV0aW9uIG1hdGNoZXMgZm9yIF8Id18Ib18Icl8IZCBhY2NvcmRpbmcgIHRvICB0aGUKKyAgICAgICAgICAgICAgXwhvXwhwXwh0XwhpXwhvXwhucywgIHdoaWNoICBtYXkgIGJlICBhbnkgIG9wdGlvbiAgYWNjZXB0ZWQgIGJ5IHRoZSBjCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUKKyAgICAgICAgICAgICAgYnVpbHRpbiB3aXRoIHRoZSBleGNlcHRpb24gb2YgLQgtcAhwIGFuZCAtCC1yCHIsIGFuZCB3cml0ZSAgdGhlICBtYXRjaGVzCisgICAgICAgICAgICAgIHRvICB0aGUgIHN0YW5kYXJkICBvdXRwdXQuICBXaGVuIHVzaW5nIHRoZSAtCC1GCEYgb3IgLQgtQwhDIG9wdGlvbnMsIHRoZQorICAgICAgICAgICAgICB2YXJpb3VzIHNoZWxsICB2YXJpYWJsZXMgIHNldCAgYnkgIHRoZSAgcHJvZ3JhbW1hYmxlICBjb21wbGV0aW9uCiAgICAgICAgICAgICAgIGZhY2lsaXRpZXMsIHdoaWxlIGF2YWlsYWJsZSwgd2lsbCBub3QgaGF2ZSB1c2VmdWwgdmFsdWVzLgogCi0gICAgICAgICAgICAgIFRoZSBtYXRjaGVzIHdpbGwgYmUgZ2VuZXJhdGVkIGluIHRoZSBzYW1lIHdheSAgYXMgIGlmICB0aGUgIHByby0KLSAgICAgICAgICAgICAgZ3JhbW1hYmxlICBjb21wbGV0aW9uICBjb2RlICBoYWQgIGdlbmVyYXRlZCB0aGVtIGRpcmVjdGx5IGZyb20gYQorICAgICAgICAgICAgICBUaGUgIG1hdGNoZXMgIHdpbGwgIGJlICBnZW5lcmF0ZWQgaW4gdGhlIHNhbWUgd2F5IGFzIGlmIHRoZSBwcm8tCisgICAgICAgICAgICAgIGdyYW1tYWJsZSBjb21wbGV0aW9uIGNvZGUgaGFkIGdlbmVyYXRlZCAgdGhlbSAgZGlyZWN0bHkgIGZyb20gIGEKICAgICAgICAgICAgICAgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIHdpdGggdGhlIHNhbWUgZmxhZ3MuICBJZiBfCHdfCG9fCHJfCGQgaXMgc3BlY2ktCiAgICAgICAgICAgICAgIGZpZWQsIG9ubHkgdGhvc2UgY29tcGxldGlvbnMgbWF0Y2hpbmcgXwh3XwhvXwhyXwhkIHdpbGwgYmUgZGlzcGxheWVkLgogCi0gICAgICAgICAgICAgIFRoZSAgcmV0dXJuICB2YWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCwKKyAgICAgICAgICAgICAgVGhlIHJldHVybiB2YWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiAgaXMgIHN1cHBsaWVkLAogICAgICAgICAgICAgICBvciBubyBtYXRjaGVzIHdlcmUgZ2VuZXJhdGVkLgogCi0gICAgICAgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlIFstCC1hCGFiCGJjCGNkCGRlCGVmCGZnCGdqCGprCGtzCHN1CHV2CHZdIFstCC1vCG8gXwhjXwhvXwhtXwhwXwgtXwhvXwhwXwh0XwhpXwhvXwhuXSBbLQgtRAhERQhFXSBbLQgtQQhBIF8IYV8IY18IdF8IaV8Ib18Ibl0gIFstCC1HCEcgIF8IZ18IbF8Ib18IYl8ILQorICAgICAgIGMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZSAgWy0ILWEIYWIIYmMIY2QIZGUIZWYIZmcIZ2oIamsIa3MIc3UIdXYIdl0gIFstCC1vCG8gXwhjXwhvXwhtXwhwXwgtXwhvXwhwXwh0XwhpXwhvXwhuXSBbLQgtRAhERQhFXSBbLQgtQQhBIF8IYV8IY18IdF8IaV8Ib18Ibl0gWy0ILUcIRyBfCGdfCGxfCG9fCGJfCC0KICAgICAgICBfCHBfCGFfCHRdIFstCC1XCFcgXwh3XwhvXwhyXwhkXwhsXwhpXwhzXwh0XSBbLQgtRghGIF8IZl8IdV8Ibl8IY18IdF8IaV8Ib18Ibl0gWy0ILUMIQyBfCGNfCG9fCG1fCG1fCGFfCG5fCGRdCiAgICAgICAgICAgICAgIFstCC1YCFggXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0XSBbLQgtUAhQIF8IcF8Icl8IZV8IZl8IaV8IeF0gWy0ILVMIUyBfCHNfCHVfCGZfCGZfCGlfCHhdIF8Ibl8IYV8IbV8IZSBbXwhuXwhhXwhtXwhlIF8ILl8ILl8ILl0KICAgICAgICBjCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUgLQgtcAhwcghyIFstCC1ECERFCEVdIFtfCG5fCGFfCG1fCGUgLi4uXQotICAgICAgICAgICAgICBTcGVjaWZ5IGhvdyBhcmd1bWVudHMgdG8gZWFjaCBfCG5fCGFfCG1fCGUgc2hvdWxkIGJlIGNvbXBsZXRlZC4gIElmICB0aGUKLSAgICAgICAgICAgICAgLQgtcAhwICBvcHRpb24gIGlzIHN1cHBsaWVkLCBvciBpZiBubyBvcHRpb25zIGFyZSBzdXBwbGllZCwgZXhpc3RpbmcKLSAgICAgICAgICAgICAgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBhcmUgcHJpbnRlZCBpbiBhIHdheSB0aGF0IGFsbG93cyAgdGhlbQorICAgICAgICAgICAgICBTcGVjaWZ5ICBob3cgYXJndW1lbnRzIHRvIGVhY2ggXwhuXwhhXwhtXwhlIHNob3VsZCBiZSBjb21wbGV0ZWQuICBJZiB0aGUKKyAgICAgICAgICAgICAgLQgtcAhwIG9wdGlvbiBpcyBzdXBwbGllZCwgb3IgaWYgbm8gb3B0aW9ucyBhcmUgIHN1cHBsaWVkLCAgZXhpc3RpbmcKKyAgICAgICAgICAgICAgY29tcGxldGlvbiAgc3BlY2lmaWNhdGlvbnMgYXJlIHByaW50ZWQgaW4gYSB3YXkgdGhhdCBhbGxvd3MgdGhlbQogICAgICAgICAgICAgICB0byBiZSByZXVzZWQgYXMgaW5wdXQuICBUaGUgLQgtcghyIG9wdGlvbiByZW1vdmVzIGEgY29tcGxldGlvbiBzcGVjLQotICAgICAgICAgICAgICBpZmljYXRpb24gZm9yIGVhY2ggXwhuXwhhXwhtXwhlLCBvciwgaWYgbm8gXwhuXwhhXwhtXwhlcyBhcmUgc3VwcGxpZWQsIGFsbCAgY29tLQorICAgICAgICAgICAgICBpZmljYXRpb24gIGZvciBlYWNoIF8Ibl8IYV8IbV8IZSwgb3IsIGlmIG5vIF8Ibl8IYV8IbV8IZXMgYXJlIHN1cHBsaWVkLCBhbGwgY29tLQogICAgICAgICAgICAgICBwbGV0aW9uICBzcGVjaWZpY2F0aW9ucy4gICBUaGUgIC0ILUQIRCAgb3B0aW9uICBpbmRpY2F0ZXMgIHRoYXQgIHRoZQotICAgICAgICAgICAgICByZW1haW5pbmcgb3B0aW9ucyBhbmQgYWN0aW9ucyBzaG91bGQgYXBwbHkgIHRvICB0aGUgIGBgZGVmYXVsdCcnCi0gICAgICAgICAgICAgIGNvbW1hbmQgIGNvbXBsZXRpb247ICB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGNvbW1hbmQKLSAgICAgICAgICAgICAgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24gaGFzIHByZXZpb3VzbHkgIGJlZW4gIGRlZmluZWQuICAgVGhlICAtCC1FCEUKLSAgICAgICAgICAgICAgb3B0aW9uICBpbmRpY2F0ZXMgIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zIGFuZCBhY3Rpb25zIHNob3VsZAotICAgICAgICAgICAgICBhcHBseSB0byAgYGBlbXB0eScnICBjb21tYW5kICBjb21wbGV0aW9uOyAgdGhhdCAgaXMsICBjb21wbGV0aW9uCisgICAgICAgICAgICAgIHJlbWFpbmluZyAgb3B0aW9ucyAgYW5kICBhY3Rpb25zIHNob3VsZCBhcHBseSB0byB0aGUgYGBkZWZhdWx0JycKKyAgICAgICAgICAgICAgY29tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiAgYSAgY29tbWFuZAorICAgICAgICAgICAgICBmb3IgIHdoaWNoICBubyAgY29tcGxldGlvbiAgaGFzIHByZXZpb3VzbHkgYmVlbiBkZWZpbmVkLiAgVGhlIC0ILUUIRQorICAgICAgICAgICAgICBvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zIGFuZCAgYWN0aW9ucyAgc2hvdWxkCisgICAgICAgICAgICAgIGFwcGx5ICB0byAgYGBlbXB0eScnICBjb21tYW5kICBjb21wbGV0aW9uOyAgdGhhdCAgaXMsIGNvbXBsZXRpb24KICAgICAgICAgICAgICAgYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZS4KIAotICAgICAgICAgICAgICBUaGUgIHByb2Nlc3MgIG9mICBhcHBseWluZyAgdGhlc2UgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyB3aGVuCi0gICAgICAgICAgICAgIHdvcmQgY29tcGxldGlvbiBpcyAgYXR0ZW1wdGVkICBpcyAgZGVzY3JpYmVkICBhYm92ZSAgdW5kZXIgIFAIUHIIcm8Iby0ILQorICAgICAgICAgICAgICBUaGUgcHJvY2VzcyBvZiBhcHBseWluZyAgdGhlc2UgIGNvbXBsZXRpb24gIHNwZWNpZmljYXRpb25zICB3aGVuCisgICAgICAgICAgICAgIHdvcmQgIGNvbXBsZXRpb24gIGlzICBhdHRlbXB0ZWQgIGlzICBkZXNjcmliZWQgIGFib3ZlIHVuZGVyIFAIUHIIcm8Iby0ILQogICAgICAgICAgICAgICBnCGdyCHJhCGFtCG1tCG1hCGFiCGJsCGxlCGUgQwhDbwhvbQhtcAhwbAhsZQhldAh0aQhpbwhvbghuLgogCi0gICAgICAgICAgICAgIE90aGVyICBvcHRpb25zLCAgaWYgc3BlY2lmaWVkLCBoYXZlIHRoZSBmb2xsb3dpbmcgbWVhbmluZ3MuICBUaGUKLSAgICAgICAgICAgICAgYXJndW1lbnRzIHRvIHRoZSAtCC1HCEcsIC0ILVcIVywgYW5kIC0ILVgIWCBvcHRpb25zIChhbmQsIGlmIG5lY2Vzc2FyeSwgIHRoZQotICAgICAgICAgICAgICAtCC1QCFAgIGFuZCAtCC1TCFMgb3B0aW9ucykgc2hvdWxkIGJlIHF1b3RlZCB0byBwcm90ZWN0IHRoZW0gZnJvbSBleHBhbi0KKyAgICAgICAgICAgICAgT3RoZXIgb3B0aW9ucywgaWYgc3BlY2lmaWVkLCBoYXZlIHRoZSBmb2xsb3dpbmcgIG1lYW5pbmdzLiAgIFRoZQorICAgICAgICAgICAgICBhcmd1bWVudHMgIHRvIHRoZSAtCC1HCEcsIC0ILVcIVywgYW5kIC0ILVgIWCBvcHRpb25zIChhbmQsIGlmIG5lY2Vzc2FyeSwgdGhlCisgICAgICAgICAgICAgIC0ILVAIUCBhbmQgLQgtUwhTIG9wdGlvbnMpIHNob3VsZCBiZSBxdW90ZWQgdG8gcHJvdGVjdCB0aGVtIGZyb20gIGV4cGFuLQogICAgICAgICAgICAgICBzaW9uIGJlZm9yZSB0aGUgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlIGJ1aWx0aW4gaXMgaW52b2tlZC4KICAgICAgICAgICAgICAgLQgtbwhvIF8IY18Ib18IbV8IcF8ILV8Ib18IcF8IdF8IaV8Ib18IbgotICAgICAgICAgICAgICAgICAgICAgIFRoZSBfCGNfCG9fCG1fCHBfCC1fCG9fCHBfCHRfCGlfCG9fCG4gY29udHJvbHMgc2V2ZXJhbCBhc3BlY3RzICBvZiAgdGhlICBjb21wLQotICAgICAgICAgICAgICAgICAgICAgIHNwZWMncyAgYmVoYXZpb3IgYmV5b25kIHRoZSBzaW1wbGUgZ2VuZXJhdGlvbiBvZiBjb21wbGUtCisgICAgICAgICAgICAgICAgICAgICAgVGhlICBfCGNfCG9fCG1fCHBfCC1fCG9fCHBfCHRfCGlfCG9fCG4gIGNvbnRyb2xzICBzZXZlcmFsIGFzcGVjdHMgb2YgdGhlIGNvbXAtCisgICAgICAgICAgICAgICAgICAgICAgc3BlYydzIGJlaGF2aW9yIGJleW9uZCB0aGUgc2ltcGxlIGdlbmVyYXRpb24gb2YgIGNvbXBsZS0KICAgICAgICAgICAgICAgICAgICAgICB0aW9ucy4gIF8IY18Ib18IbV8IcF8ILV8Ib18IcF8IdF8IaV8Ib18IbiBtYXkgYmUgb25lIG9mOgogICAgICAgICAgICAgICAgICAgICAgIGIIYmEIYXMIc2gIaGQIZGUIZWYIZmEIYXUIdWwIbHQIdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVyZm9ybSB0aGUgcmVzdCBvZiB0aGUgZGVmYXVsdCBiCGJhCGFzCHNoCGggY29tcGxldGlvbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8gbWF0Y2hlcy4KLSAgICAgICAgICAgICAgICAgICAgICBkCGRlCGVmCGZhCGF1CHVsCGx0CHQgVXNlICByZWFkbGluZSdzICBkZWZhdWx0ICBmaWxlbmFtZSBjb21wbGV0aW9uIGlmCisgICAgICAgICAgICAgICAgICAgICAgZAhkZQhlZghmYQhhdQh1bAhsdAh0IFVzZSByZWFkbGluZSdzIGRlZmF1bHQgIGZpbGVuYW1lICBjb21wbGV0aW9uICBpZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBubyBtYXRjaGVzLgogICAgICAgICAgICAgICAgICAgICAgIGQIZGkIaXIIcm4IbmEIYW0IbWUIZXMIcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVyZm9ybSBkaXJlY3RvcnkgbmFtZSBjb21wbGV0aW9uIGlmICB0aGUgIGNvbXAtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZXJmb3JtICBkaXJlY3RvcnkgIG5hbWUgY29tcGxldGlvbiBpZiB0aGUgY29tcC0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWMgZ2VuZXJhdGVzIG5vIG1hdGNoZXMuCiAgICAgICAgICAgICAgICAgICAgICAgZghmaQhpbAhsZQhlbghuYQhhbQhtZQhlcwhzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZWxsICByZWFkbGluZSB0aGF0IHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgZmlsZS0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzLCBzbyBpdCBjYW4gcGVyZm9ybSAgYW55ICBmaWxlbmFtZS1zcGVjaWZpYwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2luZyAgKGxpa2UgIGFkZGluZyAgYSAgc2xhc2ggdG8gZGlyZWN0b3J5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lcywgcXVvdGluZyBzcGVjaWFsIGNoYXJhY3RlcnMsIG9yICBzdXBwcmVzcy0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZyAgdHJhaWxpbmcgc3BhY2VzKS4gIEludGVuZGVkIHRvIGJlIHVzZWQgd2l0aAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVsbCByZWFkbGluZSB0aGF0IHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgIGZpbGUtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lcywgIHNvICBpdCBjYW4gcGVyZm9ybSBhbnkgZmlsZW5hbWUtc3BlY2lmaWMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NpbmcgKGxpa2UgYWRkaW5nICBhICBzbGFzaCAgdG8gIGRpcmVjdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXMsICBxdW90aW5nIHNwZWNpYWwgY2hhcmFjdGVycywgb3Igc3VwcHJlc3MtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmcgdHJhaWxpbmcgc3BhY2VzKS4gIEludGVuZGVkIHRvIGJlIHVzZWQgIHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoZWxsIGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAgICAgICAgICBuCG5vCG9zCHNwCHBhCGFjCGNlCGUgVGVsbCAgcmVhZGxpbmUgIG5vdCAgdG8gIGFwcGVuZCAgYSAgc3BhY2UgICAodGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0KSAgdG8gIHdvcmRzICBjb21wbGV0ZWQgYXQgdGhlIGVuZCBvZiB0aGUKKyAgICAgICAgICAgICAgICAgICAgICBuCG5vCG9zCHNwCHBhCGFjCGNlCGUgVGVsbCAgIHJlYWRsaW5lICBub3QgIHRvICBhcHBlbmQgIGEgIHNwYWNlICAodGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0KSB0byB3b3JkcyBjb21wbGV0ZWQgYXQgdGhlICBlbmQgIG9mICB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUuCiAgICAgICAgICAgICAgICAgICAgICAgcAhwbAhsdQh1cwhzZAhkaQhpcghycwhzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZnRlciBhbnkgbWF0Y2hlcyBkZWZpbmVkIGJ5ICB0aGUgIGNvbXBzcGVjICBhcmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZCwgICAgZGlyZWN0b3J5ICAgbmFtZSAgIGNvbXBsZXRpb24gICBpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0ZW1wdGVkIGFuZCAgYW55ICBtYXRjaGVzICBhcmUgIGFkZGVkICB0byAgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZnRlciAgYW55ICBtYXRjaGVzICBkZWZpbmVkIGJ5IHRoZSBjb21wc3BlYyBhcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZCwgICBkaXJlY3RvcnkgICBuYW1lICAgY29tcGxldGlvbiAgICBpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0ZW1wdGVkICBhbmQgIGFueSAgbWF0Y2hlcyAgYXJlICBhZGRlZCAgdG8gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzIG9mIHRoZSBvdGhlciBhY3Rpb25zLgogICAgICAgICAgICAgICAtCC1BCEEgXwhhXwhjXwh0XwhpXwhvXwhuCi0gICAgICAgICAgICAgICAgICAgICAgVGhlICBfCGFfCGNfCHRfCGlfCG9fCG4gIG1heSAgYmUgIG9uZSBvZiB0aGUgZm9sbG93aW5nIHRvIGdlbmVyYXRlIGEKKyAgICAgICAgICAgICAgICAgICAgICBUaGUgXwhhXwhjXwh0XwhpXwhvXwhuIG1heSBiZSBvbmUgb2YgdGhlICBmb2xsb3dpbmcgIHRvICBnZW5lcmF0ZSAgYQogICAgICAgICAgICAgICAgICAgICAgIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgYQhhbAhsaQhpYQhhcwhzICAgQWxpYXMgbmFtZXMuICBNYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgLQgtYQhhLgogICAgICAgICAgICAgICAgICAgICAgIGEIYXIIcnIIcmEIYXkIeXYIdmEIYXIIcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkgdmFyaWFibGUgbmFtZXMuCiAgICAgICAgICAgICAgICAgICAgICAgYghiaQhpbghuZAhkaQhpbghuZwhnIFIIUmUIZWEIYWQIZGwIbGkIaW4IbmUIZSBrZXkgYmluZGluZyBuYW1lcy4KLSAgICAgICAgICAgICAgICAgICAgICBiCGJ1CHVpCGlsCGx0CHRpCGluCG4gTmFtZXMgb2Ygc2hlbGwgYnVpbHRpbiBjb21tYW5kcy4gICBNYXkgIGFsc28gIGJlCisgICAgICAgICAgICAgICAgICAgICAgYghidQh1aQhpbAhsdAh0aQhpbghuIE5hbWVzICBvZiAgc2hlbGwgIGJ1aWx0aW4gY29tbWFuZHMuICBNYXkgYWxzbyBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkIGFzIC0ILWIIYi4KICAgICAgICAgICAgICAgICAgICAgICBjCGNvCG9tCG1tCG1hCGFuCG5kCGQgQ29tbWFuZCBuYW1lcy4gIE1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyAtCC1jCGMuCiAgICAgICAgICAgICAgICAgICAgICAgZAhkaQhpcghyZQhlYwhjdAh0bwhvcghyeQh5CkBAIC0zOTExLDcgKzM5ODgsNyBAQAogICAgICAgICAgICAgICAgICAgICAgIGQIZGkIaXMIc2EIYWIIYmwIbGUIZWQIZAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZXMgb2YgZGlzYWJsZWQgc2hlbGwgYnVpbHRpbnMuCiAgICAgICAgICAgICAgICAgICAgICAgZQhlbghuYQhhYghibAhsZQhlZAhkIE5hbWVzIG9mIGVuYWJsZWQgc2hlbGwgYnVpbHRpbnMuCi0gICAgICAgICAgICAgICAgICAgICAgZQhleAh4cAhwbwhvcghydAh0ICBOYW1lcyAgb2YgZXhwb3J0ZWQgc2hlbGwgdmFyaWFibGVzLiAgTWF5IGFsc28gYmUKKyAgICAgICAgICAgICAgICAgICAgICBlCGV4CHhwCHBvCG9yCHJ0CHQgIE5hbWVzIG9mIGV4cG9ydGVkIHNoZWxsIHZhcmlhYmxlcy4gIE1heSBhbHNvICBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkIGFzIC0ILWUIZS4KICAgICAgICAgICAgICAgICAgICAgICBmCGZpCGlsCGxlCGUgICAgRmlsZSBuYW1lcy4gIE1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyAtCC1mCGYuCiAgICAgICAgICAgICAgICAgICAgICAgZghmdQh1bghuYwhjdAh0aQhpbwhvbghuCkBAIC0zOTIwLDE3ICszOTk3LDE3IEBACiAgICAgICAgICAgICAgICAgICAgICAgaAhoZQhlbAhscAhwdAh0bwhvcAhwaQhpYwhjCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWxwIHRvcGljcyBhcyBhY2NlcHRlZCBieSB0aGUgaAhoZQhlbAhscAhwIGJ1aWx0aW4uCiAgICAgICAgICAgICAgICAgICAgICAgaAhobwhvcwhzdAh0bghuYQhhbQhtZQhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIb3N0bmFtZXMsIGFzIHRha2VuIGZyb20gdGhlIGZpbGUgIHNwZWNpZmllZCAgYnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvc3RuYW1lcywgIGFzICB0YWtlbiBmcm9tIHRoZSBmaWxlIHNwZWNpZmllZCBieQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIEgISE8IT1MIU1QIVEYIRkkISUwITEUIRSBzaGVsbCB2YXJpYWJsZS4KLSAgICAgICAgICAgICAgICAgICAgICBqCGpvCG9iCGIgICAgIEpvYiAgbmFtZXMsICBpZiBqb2IgY29udHJvbCBpcyBhY3RpdmUuICBNYXkgYWxzbworICAgICAgICAgICAgICAgICAgICAgIGoIam8Ib2IIYiAgICAgSm9iIG5hbWVzLCBpZiBqb2IgY29udHJvbCBpcyBhY3RpdmUuICAgTWF5ICBhbHNvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZSBzcGVjaWZpZWQgYXMgLQgtaghqLgotICAgICAgICAgICAgICAgICAgICAgIGsIa2UIZXkIeXcId28Ib3IIcmQIZCBTaGVsbCByZXNlcnZlZCB3b3Jkcy4gIE1heSBhbHNvIGJlIHNwZWNpZmllZCAgYXMKKyAgICAgICAgICAgICAgICAgICAgICBrCGtlCGV5CHl3CHdvCG9yCHJkCGQgU2hlbGwgIHJlc2VydmVkIHdvcmRzLiAgTWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtCC1rCGsuCiAgICAgICAgICAgICAgICAgICAgICAgcghydQh1bghubghuaQhpbghuZwhnIE5hbWVzIG9mIHJ1bm5pbmcgam9icywgaWYgam9iIGNvbnRyb2wgaXMgYWN0aXZlLgogICAgICAgICAgICAgICAgICAgICAgIHMIc2UIZXIIcnYIdmkIaWMIY2UIZSBTZXJ2aWNlIG5hbWVzLiAgTWF5IGFsc28gYmUgc3BlY2lmaWVkIGFzIC0ILXMIcy4KLSAgICAgICAgICAgICAgICAgICAgICBzCHNlCGV0CHRvCG9wCHB0CHQgIFZhbGlkIGFyZ3VtZW50cyBmb3IgdGhlIC0ILW8IbyAgb3B0aW9uICB0byAgdGhlICBzCHNlCGV0CHQKKyAgICAgICAgICAgICAgICAgICAgICBzCHNlCGV0CHRvCG9wCHB0CHQgIFZhbGlkICBhcmd1bWVudHMgIGZvciAgdGhlICAtCC1vCG8gb3B0aW9uIHRvIHRoZSBzCHNlCGV0CHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWx0aW4uCi0gICAgICAgICAgICAgICAgICAgICAgcwhzaAhobwhvcAhwdAh0ICAgU2hlbGwgIG9wdGlvbiAgbmFtZXMgIGFzICBhY2NlcHRlZCAgYnkgdGhlIHMIc2gIaG8Ib3AIcHQIdAorICAgICAgICAgICAgICAgICAgICAgIHMIc2gIaG8Ib3AIcHQIdCAgIFNoZWxsIG9wdGlvbiBuYW1lcyAgYXMgIGFjY2VwdGVkICBieSAgdGhlICBzCHNoCGhvCG9wCHB0CHQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWx0aW4uCiAgICAgICAgICAgICAgICAgICAgICAgcwhzaQhpZwhnbghuYQhhbAhsICBTaWduYWwgbmFtZXMuCiAgICAgICAgICAgICAgICAgICAgICAgcwhzdAh0bwhvcAhwcAhwZQhlZAhkIE5hbWVzIG9mIHN0b3BwZWQgam9icywgaWYgam9iIGNvbnRyb2wgaXMgYWN0aXZlLgpAQCAtMzkzOCwxNSArNDAxNSw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgdgh2YQhhcghyaQhpYQhhYghibAhsZQhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lcyBvZiBhbGwgc2hlbGwgdmFyaWFibGVzLiAgTWF5IGFsc28gYmUgc3BlYy0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmaWVkIGFzIC0ILXYIdi4KLSAgICAgICAgICAgICAgLQgtRwhHIF8IZ18IbF8Ib18IYl8IcF8IYV8IdAotICAgICAgICAgICAgICAgICAgICAgIFRoZSBwYXRobmFtZSBleHBhbnNpb24gcGF0dGVybiBfCGdfCGxfCG9fCGJfCHBfCGFfCHQgIGlzICBleHBhbmRlZCAgdG8KLSAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZSB0aGUgcG9zc2libGUgY29tcGxldGlvbnMuCi0gICAgICAgICAgICAgIC0ILVcIVyBfCHdfCG9fCHJfCGRfCGxfCGlfCHNfCHQKLSAgICAgICAgICAgICAgICAgICAgICBUaGUgIF8Id18Ib18Icl8IZF8IbF8IaV8Ic18IdCAgaXMgIHNwbGl0IHVzaW5nIHRoZSBjaGFyYWN0ZXJzIGluIHRoZSBJCElGCEZTCFMKLSAgICAgICAgICAgICAgICAgICAgICBzcGVjaWFsIHZhcmlhYmxlIGFzIGRlbGltaXRlcnMsIGFuZCBlYWNoIHJlc3VsdGFudCAgd29yZAotICAgICAgICAgICAgICAgICAgICAgIGlzICBleHBhbmRlZC4gICBUaGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIHRoZSBtZW1iZXJzCi0gICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIHJlc3VsdGFudCBsaXN0IHdoaWNoIG1hdGNoIHRoZSAgd29yZCAgYmVpbmcgIGNvbS0KLSAgICAgICAgICAgICAgICAgICAgICBwbGV0ZWQuCiAgICAgICAgICAgICAgIC0ILUMIQyBfCGNfCG9fCG1fCG1fCGFfCG5fCGQKICAgICAgICAgICAgICAgICAgICAgICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgIGlzICBleGVjdXRlZCBpbiBhIHN1YnNoZWxsIGVudmlyb25tZW50LCBhbmQgaXRzCiAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0IGlzIHVzZWQgYXMgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zLgpAQCAtMzk1NSw2OSArNDAyMyw4MSBAQAogICAgICAgICAgICAgICAgICAgICAgIHNoZWxsICBlbnZpcm9ubWVudC4gIFdoZW4gaXQgZmluaXNoZXMsIHRoZSBwb3NzaWJsZSBjb20tCiAgICAgICAgICAgICAgICAgICAgICAgcGxldGlvbnMgYXJlIHJldHJpZXZlZCBmcm9tIHRoZSB2YWx1ZSBvZiAgdGhlICBDCENPCE9NCE1QCFBSCFJFCEVQCFBMCExZCFkKICAgICAgICAgICAgICAgICAgICAgICBhcnJheSB2YXJpYWJsZS4KLSAgICAgICAgICAgICAgLQgtWAhYIF8IZl8IaV8IbF8IdF8IZV8Icl8IcF8IYV8IdAotICAgICAgICAgICAgICAgICAgICAgIF8IZl8IaV8IbF8IdF8IZV8Icl8IcF8IYV8IdCAgaXMgIGEgcGF0dGVybiBhcyB1c2VkIGZvciBwYXRobmFtZSBleHBhbnNpb24uCi0gICAgICAgICAgICAgICAgICAgICAgSXQgaXMgYXBwbGllZCB0byB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBnZW5lci0KLSAgICAgICAgICAgICAgICAgICAgICBhdGVkICBieSAgdGhlICBwcmVjZWRpbmcgb3B0aW9ucyBhbmQgYXJndW1lbnRzLCBhbmQgZWFjaAotICAgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb24gbWF0Y2hpbmcgXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0IGlzIHJlbW92ZWQgZnJvbSB0aGUgIGxpc3QuCi0gICAgICAgICAgICAgICAgICAgICAgQSAgbGVhZGluZyAgIQghICBpbiBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQgbmVnYXRlcyB0aGUgcGF0dGVybjsgaW4gdGhpcwotICAgICAgICAgICAgICAgICAgICAgIGNhc2UsIGFueSBjb21wbGV0aW9uIG5vdCBtYXRjaGluZyBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQgaXMgIHJlbW92ZWQuCisgICAgICAgICAgICAgIC0ILUcIRyBfCGdfCGxfCG9fCGJfCHBfCGFfCHQKKyAgICAgICAgICAgICAgICAgICAgICBUaGUgIHBhdGhuYW1lICBleHBhbnNpb24gIHBhdHRlcm4gXwhnXwhsXwhvXwhiXwhwXwhhXwh0IGlzIGV4cGFuZGVkIHRvCisgICAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zLgogICAgICAgICAgICAgICAtCC1QCFAgXwhwXwhyXwhlXwhmXwhpXwh4Ci0gICAgICAgICAgICAgICAgICAgICAgXwhwXwhyXwhlXwhmXwhpXwh4ICBpcyAgYWRkZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoIHBvc3NpYmxlIGNvbS0KKyAgICAgICAgICAgICAgICAgICAgICBfCHBfCHJfCGVfCGZfCGlfCHggaXMgYWRkZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBlYWNoICBwb3NzaWJsZSAgY29tLQogICAgICAgICAgICAgICAgICAgICAgIHBsZXRpb24gYWZ0ZXIgYWxsIG90aGVyIG9wdGlvbnMgaGF2ZSBiZWVuIGFwcGxpZWQuCiAgICAgICAgICAgICAgIC0ILVMIUyBfCHNfCHVfCGZfCGZfCGlfCHgKICAgICAgICAgICAgICAgICAgICAgICBfCHNfCHVfCGZfCGZfCGlfCHggaXMgYXBwZW5kZWQgdG8gZWFjaCBwb3NzaWJsZSBjb21wbGV0aW9uIGFmdGVyIGFsbAogICAgICAgICAgICAgICAgICAgICAgIG90aGVyIG9wdGlvbnMgaGF2ZSBiZWVuIGFwcGxpZWQuCisgICAgICAgICAgICAgIC0ILVcIVyBfCHdfCG9fCHJfCGRfCGxfCGlfCHNfCHQKKyAgICAgICAgICAgICAgICAgICAgICBUaGUgXwh3XwhvXwhyXwhkXwhsXwhpXwhzXwh0IGlzIHNwbGl0IHVzaW5nIHRoZSBjaGFyYWN0ZXJzICBpbiAgdGhlICBJCElGCEZTCFMKKyAgICAgICAgICAgICAgICAgICAgICBzcGVjaWFsICB2YXJpYWJsZSBhcyBkZWxpbWl0ZXJzLCBhbmQgZWFjaCByZXN1bHRhbnQgd29yZAorICAgICAgICAgICAgICAgICAgICAgIGlzIGV4cGFuZGVkLiAgVGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSAgdGhlICBtZW1iZXJzCisgICAgICAgICAgICAgICAgICAgICAgb2YgIHRoZSAgcmVzdWx0YW50ICBsaXN0IHdoaWNoIG1hdGNoIHRoZSB3b3JkIGJlaW5nIGNvbS0KKyAgICAgICAgICAgICAgICAgICAgICBwbGV0ZWQuCisgICAgICAgICAgICAgIC0ILVgIWCBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQKKyAgICAgICAgICAgICAgICAgICAgICBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQgaXMgYSBwYXR0ZXJuIGFzIHVzZWQgZm9yICBwYXRobmFtZSAgZXhwYW5zaW9uLgorICAgICAgICAgICAgICAgICAgICAgIEl0IGlzIGFwcGxpZWQgdG8gdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMgZ2VuZXItCisgICAgICAgICAgICAgICAgICAgICAgYXRlZCBieSB0aGUgcHJlY2VkaW5nIG9wdGlvbnMgYW5kICBhcmd1bWVudHMsICBhbmQgIGVhY2gKKyAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uICBtYXRjaGluZyBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBsaXN0LgorICAgICAgICAgICAgICAgICAgICAgIEEgbGVhZGluZyAhCCEgaW4gXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0IG5lZ2F0ZXMgdGhlICBwYXR0ZXJuOyAgaW4gIHRoaXMKKyAgICAgICAgICAgICAgICAgICAgICBjYXNlLCAgYW55IGNvbXBsZXRpb24gbm90IG1hdGNoaW5nIF8IZl8IaV8IbF8IdF8IZV8Icl8IcF8IYV8IdCBpcyByZW1vdmVkLgogCi0gICAgICAgICAgICAgIFRoZSAgcmV0dXJuICB2YWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCwKLSAgICAgICAgICAgICAgYW4gb3B0aW9uIG90aGVyIHRoYW4gLQgtcAhwIG9yIC0ILXIIciBpcyBzdXBwbGllZCB3aXRob3V0IGEgIF8Ibl8IYV8IbV8IZSAgYXJndS0KLSAgICAgICAgICAgICAgbWVudCwgIGFuICBhdHRlbXB0ICBpcyBtYWRlIHRvIHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbgorICAgICAgICAgICAgICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uICBpcyAgc3VwcGxpZWQsCisgICAgICAgICAgICAgIGFuICBvcHRpb24gIG90aGVyIHRoYW4gLQgtcAhwIG9yIC0ILXIIciBpcyBzdXBwbGllZCB3aXRob3V0IGEgXwhuXwhhXwhtXwhlIGFyZ3UtCisgICAgICAgICAgICAgIG1lbnQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byByZW1vdmUgIGEgIGNvbXBsZXRpb24gIHNwZWNpZmljYXRpb24KICAgICAgICAgICAgICAgZm9yIGEgXwhuXwhhXwhtXwhlIGZvciB3aGljaCBubyBzcGVjaWZpY2F0aW9uIGV4aXN0cywgb3IgYW4gZXJyb3Igb2NjdXJzCiAgICAgICAgICAgICAgIGFkZGluZyBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbi4KIAogICAgICAgIGMIY28Ib20IbXAIcG8Ib3AIcHQIdCBbLQgtbwhvIF8Ib18IcF8IdF8IaV8Ib18Ibl0gWy0ILUQIREUIRV0gWysIK28IbyBfCG9fCHBfCHRfCGlfCG9fCG5dIFtfCG5fCGFfCG1fCGVdCiAgICAgICAgICAgICAgIE1vZGlmeSAgY29tcGxldGlvbiAgb3B0aW9ucyAgZm9yICBlYWNoICBfCG5fCGFfCG1fCGUgIGFjY29yZGluZyAgdG8gIHRoZQotICAgICAgICAgICAgICBfCG9fCHBfCHRfCGlfCG9fCG5zLCBvciBmb3IgdGhlIGN1cnJlbnRseS1leGVjdXRpb24gY29tcGxldGlvbiBpZiAgbm8gIF8Ibl8IYV8IbV8IZXMKLSAgICAgICAgICAgICAgYXJlICBzdXBwbGllZC4gICBJZiBubyBfCG9fCHBfCHRfCGlfCG9fCG5zIGFyZSBnaXZlbiwgZGlzcGxheSB0aGUgY29tcGxldGlvbgotICAgICAgICAgICAgICBvcHRpb25zIGZvciBlYWNoIF8Ibl8IYV8IbV8IZSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uLiAgIFRoZSAgcG9zc2libGUKLSAgICAgICAgICAgICAgdmFsdWVzICBvZiAgXwhvXwhwXwh0XwhpXwhvXwhuICBhcmUgIHRob3NlICB2YWxpZCAgZm9yICB0aGUgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlIGJ1aWx0aW4KLSAgICAgICAgICAgICAgZGVzY3JpYmVkIGFib3ZlLiAgVGhlIC0ILUQIRCBvcHRpb24gIGluZGljYXRlcyAgdGhhdCAgdGhlICByZW1haW5pbmcKKyAgICAgICAgICAgICAgXwhvXwhwXwh0XwhpXwhvXwhucywgIG9yICBmb3IgdGhlIGN1cnJlbnRseS1leGVjdXRpbmcgY29tcGxldGlvbiBpZiBubyBfCG5fCGFfCG1fCGVzCisgICAgICAgICAgICAgIGFyZSBzdXBwbGllZC4gIElmIG5vIF8Ib18IcF8IdF8IaV8Ib18IbnMgYXJlIGdpdmVuLCBkaXNwbGF5ICB0aGUgIGNvbXBsZXRpb24KKyAgICAgICAgICAgICAgb3B0aW9ucyAgZm9yICBlYWNoIF8Ibl8IYV8IbV8IZSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uLiAgVGhlIHBvc3NpYmxlCisgICAgICAgICAgICAgIHZhbHVlcyBvZiBfCG9fCHBfCHRfCGlfCG9fCG4gIGFyZSAgdGhvc2UgIHZhbGlkICBmb3IgIHRoZSAgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlICBidWlsdGluCisgICAgICAgICAgICAgIGRlc2NyaWJlZCAgYWJvdmUuICAgVGhlICAtCC1ECEQgIG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nCiAgICAgICAgICAgICAgIG9wdGlvbnMgc2hvdWxkIGFwcGx5IHRvIHRoZSBgYGRlZmF1bHQnJyBjb21tYW5kIGNvbXBsZXRpb247IHRoYXQKLSAgICAgICAgICAgICAgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgY29tbWFuZCBmb3IgIHdoaWNoICBubyAgY29tcGxldGlvbgotICAgICAgICAgICAgICBoYXMgIHByZXZpb3VzbHkgIGJlZW4gZGVmaW5lZC4gIFRoZSAtCC1FCEUgb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZQotICAgICAgICAgICAgICByZW1haW5pbmcgb3B0aW9ucyBzaG91bGQgYXBwbHkgdG8gYGBlbXB0eScnIGNvbW1hbmQgIGNvbXBsZXRpb247CisgICAgICAgICAgICAgIGlzLCAgY29tcGxldGlvbiAgYXR0ZW1wdGVkICBvbiBhIGNvbW1hbmQgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24KKyAgICAgICAgICAgICAgaGFzIHByZXZpb3VzbHkgYmVlbiBkZWZpbmVkLiAgVGhlIC0ILUUIRSBvcHRpb24gaW5kaWNhdGVzICB0aGF0ICB0aGUKKyAgICAgICAgICAgICAgcmVtYWluaW5nICBvcHRpb25zIHNob3VsZCBhcHBseSB0byBgYGVtcHR5JycgY29tbWFuZCBjb21wbGV0aW9uOwogICAgICAgICAgICAgICB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGJsYW5rIGxpbmUuCiAKLSAgICAgICBUaGUgIHJldHVybiAgdmFsdWUgIGlzICB0cnVlICB1bmxlc3MgIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbgotICAgICAgIGF0dGVtcHQgaXMgbWFkZSB0byBtb2RpZnkgdGhlIG9wdGlvbnMgZm9yIGEgXwhuXwhhXwhtXwhlIGZvciB3aGljaCAgbm8gIGNvbXBsZS0KLSAgICAgICB0aW9uIHNwZWNpZmljYXRpb24gZXhpc3RzLCBvciBhbiBvdXRwdXQgZXJyb3Igb2NjdXJzLgorICAgICAgICAgICAgICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uICBpcyAgc3VwcGxpZWQsCisgICAgICAgICAgICAgIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBtb2RpZnkgdGhlIG9wdGlvbnMgZm9yIGEgXwhuXwhhXwhtXwhlIGZvciB3aGljaCBubworICAgICAgICAgICAgICBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZXhpc3RzLCBvciBhbiBvdXRwdXQgZXJyb3Igb2NjdXJzLgogCiAgICAgICAgYwhjbwhvbghudAh0aQhpbghudQh1ZQhlIFtfCG5dCiAgICAgICAgICAgICAgIFJlc3VtZSB0aGUgbmV4dCBpdGVyYXRpb24gb2YgdGhlIGVuY2xvc2luZyBmCGZvCG9yCHIsIHcId2gIaGkIaWwIbGUIZSwgdQh1bghudAh0aQhpbAhsLCBvcgotICAgICAgICAgICAgICBzCHNlCGVsCGxlCGVjCGN0CHQgbG9vcC4gIElmIF8IbiBpcyBzcGVjaWZpZWQsIHJlc3VtZSAgYXQgIHRoZSAgXwhudGggIGVuY2xvc2luZwotICAgICAgICAgICAgICBsb29wLiAgIF8IbiAgbXVzdCAgYmUgID49ICAxLiAgIElmIF8IbiBpcyBncmVhdGVyIHRoYW4gdGhlIG51bWJlciBvZgotICAgICAgICAgICAgICBlbmNsb3NpbmcgbG9vcHMsIHRoZSAgbGFzdCAgZW5jbG9zaW5nICBsb29wICAodGhlICBgYHRvcC1sZXZlbCcnCisgICAgICAgICAgICAgIHMIc2UIZWwIbGUIZWMIY3QIdCAgbG9vcC4gICBJZiAgXwhuICBpcyBzcGVjaWZpZWQsIHJlc3VtZSBhdCB0aGUgXwhudGggZW5jbG9zaW5nCisgICAgICAgICAgICAgIGxvb3AuICBfCG4gbXVzdCBiZSA+PSAxLiAgSWYgXwhuICBpcyAgZ3JlYXRlciAgdGhhbiAgdGhlICBudW1iZXIgIG9mCisgICAgICAgICAgICAgIGVuY2xvc2luZyAgbG9vcHMsICB0aGUgIGxhc3QgIGVuY2xvc2luZyAgbG9vcCAodGhlIGBgdG9wLWxldmVsJycKICAgICAgICAgICAgICAgbG9vcCkgaXMgcmVzdW1lZC4gIFRoZSByZXR1cm4gdmFsdWUgaXMgMCB1bmxlc3MgXwhuIGlzIG5vdCBncmVhdGVyCiAgICAgICAgICAgICAgIHRoYW4gb3IgZXF1YWwgdG8gMS4KIAotICAgICAgIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSBbLQgtYQhhQQhBZghmRghGaQhpbAhscghydAh0dQh1eAh4XSBbLQgtcAhwXSBbXwhuXwhhXwhtXwhlWz1fCHZfCGFfCGxfCHVfCGVdIC4uLl0KLSAgICAgICB0CHR5CHlwCHBlCGVzCHNlCGV0CHQgWy0ILWEIYUEIQWYIZkYIRmkIaWwIbHIIcnQIdHUIdXgIeF0gWy0ILXAIcF0gW18Ibl8IYV8IbV8IZVs9Xwh2XwhhXwhsXwh1XwhlXSAuLi5dCi0gICAgICAgICAgICAgIERlY2xhcmUgdmFyaWFibGVzIGFuZC9vciBnaXZlIHRoZW0gYXR0cmlidXRlcy4gIElmIG5vIF8Ibl8IYV8IbV8IZXMgIGFyZQotICAgICAgICAgICAgICBnaXZlbiAgdGhlbiBkaXNwbGF5IHRoZSB2YWx1ZXMgb2YgdmFyaWFibGVzLiAgVGhlIC0ILXAIcCBvcHRpb24gd2lsbAorICAgICAgIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSBbLQgtYQhhQQhBZghmRghGZwhnaQhpbAhscghydAh0dQh1eAh4XSBbLQgtcAhwXSBbXwhuXwhhXwhtXwhlWz1fCHZfCGFfCGxfCHVfCGVdIC4uLl0KKyAgICAgICB0CHR5CHlwCHBlCGVzCHNlCGV0CHQgWy0ILWEIYUEIQWYIZkYIRmcIZ2kIaWwIbHIIcnQIdHUIdXgIeF0gWy0ILXAIcF0gW18Ibl8IYV8IbV8IZVs9Xwh2XwhhXwhsXwh1XwhlXSAuLi5dCisgICAgICAgICAgICAgIERlY2xhcmUgIHZhcmlhYmxlcyBhbmQvb3IgZ2l2ZSB0aGVtIGF0dHJpYnV0ZXMuICBJZiBubyBfCG5fCGFfCG1fCGVzIGFyZQorICAgICAgICAgICAgICBnaXZlbiB0aGVuIGRpc3BsYXkgdGhlIHZhbHVlcyBvZiB2YXJpYWJsZXMuICBUaGUgLQgtcAhwIG9wdGlvbiAgd2lsbAogICAgICAgICAgICAgICBkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZXMgb2YgZWFjaCBfCG5fCGFfCG1fCGUuICBXaGVuIC0ILXAIcCBpcyB1c2VkCiAgICAgICAgICAgICAgIHdpdGggXwhuXwhhXwhtXwhlIGFyZ3VtZW50cywgYWRkaXRpb25hbCBvcHRpb25zIGFyZSBpZ25vcmVkLiAgV2hlbiAtCC1wCHAgaXMKLSAgICAgICAgICAgICAgc3VwcGxpZWQgd2l0aG91dCBfCG5fCGFfCG1fCGUgYXJndW1lbnRzLCBpdCB3aWxsIGRpc3BsYXkgdGhlICBhdHRyaWJ1dGVzCi0gICAgICAgICAgICAgIGFuZCAgdmFsdWVzICBvZiBhbGwgdmFyaWFibGVzIGhhdmluZyB0aGUgYXR0cmlidXRlcyBzcGVjaWZpZWQgYnkKLSAgICAgICAgICAgICAgdGhlIGFkZGl0aW9uYWwgb3B0aW9ucy4gIElmIG5vIG90aGVyIG9wdGlvbnMgYXJlICBzdXBwbGllZCAgd2l0aAotICAgICAgICAgICAgICAtCC1wCHAsICBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgd2lsbCBkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZXMgb2YgYWxsIHNoZWxsCi0gICAgICAgICAgICAgIHZhcmlhYmxlcy4gIFRoZSAtCC1mCGYgb3B0aW9uIHdpbGwgcmVzdHJpY3QgIHRoZSAgZGlzcGxheSAgdG8gIHNoZWxsCisgICAgICAgICAgICAgIHN1cHBsaWVkICB3aXRob3V0IF8Ibl8IYV8IbV8IZSBhcmd1bWVudHMsIGl0IHdpbGwgZGlzcGxheSB0aGUgYXR0cmlidXRlcworICAgICAgICAgICAgICBhbmQgdmFsdWVzIG9mIGFsbCB2YXJpYWJsZXMgaGF2aW5nIHRoZSBhdHRyaWJ1dGVzICBzcGVjaWZpZWQgIGJ5CisgICAgICAgICAgICAgIHRoZSAgYWRkaXRpb25hbCAgb3B0aW9ucy4gIElmIG5vIG90aGVyIG9wdGlvbnMgYXJlIHN1cHBsaWVkIHdpdGgKKyAgICAgICAgICAgICAgLQgtcAhwLCBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgd2lsbCBkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZXMgb2YgYWxsICBzaGVsbAorICAgICAgICAgICAgICB2YXJpYWJsZXMuICAgVGhlICAtCC1mCGYgIG9wdGlvbiAgd2lsbCByZXN0cmljdCB0aGUgZGlzcGxheSB0byBzaGVsbAogICAgICAgICAgICAgICBmdW5jdGlvbnMuICBUaGUgLQgtRghGIG9wdGlvbiBpbmhpYml0cyB0aGUgZGlzcGxheSBvZiBmdW5jdGlvbiBkZWZpLQotICAgICAgICAgICAgICBuaXRpb25zOyBvbmx5IHRoZSBmdW5jdGlvbiBuYW1lIGFuZCBhdHRyaWJ1dGVzIGFyZSBwcmludGVkLiAgIElmCi0gICAgICAgICAgICAgIHRoZSAgZQhleAh4dAh0ZAhkZQhlYghidQh1ZwhnICBzaGVsbCAgb3B0aW9uICBpcyBlbmFibGVkIHVzaW5nIHMIc2gIaG8Ib3AIcHQIdCwgdGhlIHNvdXJjZQorICAgICAgICAgICAgICBuaXRpb25zOyAgb25seSB0aGUgZnVuY3Rpb24gbmFtZSBhbmQgYXR0cmlidXRlcyBhcmUgcHJpbnRlZC4gIElmCisgICAgICAgICAgICAgIHRoZSBlCGV4CHh0CHRkCGRlCGViCGJ1CHVnCGcgc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgIHVzaW5nICBzCHNoCGhvCG9wCHB0CHQsICB0aGUgIHNvdXJjZQogICAgICAgICAgICAgICBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyIHdoZXJlIHRoZSBmdW5jdGlvbiBpcyBkZWZpbmVkIGFyZSBkaXMtCi0gICAgICAgICAgICAgIHBsYXllZCAgYXMgIHdlbGwuICAgVGhlICAtCC1GCEYgIG9wdGlvbiAgaW1wbGllcyAgLQgtZghmLiAgVGhlIGZvbGxvd2luZwotICAgICAgICAgICAgICBvcHRpb25zIGNhbiBiZSB1c2VkIHRvIHJlc3RyaWN0IG91dHB1dCAgdG8gIHZhcmlhYmxlcyAgd2l0aCAgdGhlCi0gICAgICAgICAgICAgIHNwZWNpZmllZCBhdHRyaWJ1dGUgb3IgdG8gZ2l2ZSB2YXJpYWJsZXMgYXR0cmlidXRlczoKKyAgICAgICAgICAgICAgcGxheWVkIGFzIHdlbGwuICBUaGUgLQgtRghGIG9wdGlvbiBpbXBsaWVzIC0ILWYIZi4gIFRoZSAtCC1nCGcgb3B0aW9uIGZvcmNlcworICAgICAgICAgICAgICB2YXJpYWJsZXMgIHRvICBiZSAgY3JlYXRlZCBvciBtb2RpZmllZCBhdCB0aGUgZ2xvYmFsIHNjb3BlLCBldmVuCisgICAgICAgICAgICAgIHdoZW4gZAhkZQhlYwhjbAhsYQhhcghyZQhlIGlzIGV4ZWN1dGVkIGluIGEgc2hlbGwgZnVuY3Rpb24uICBJdCBpcyBpZ25vcmVkICBpbgorICAgICAgICAgICAgICBhbGwgIG90aGVyIGNhc2VzLiAgVGhlIGZvbGxvd2luZyBvcHRpb25zIGNhbiBiZSB1c2VkIHRvIHJlc3RyaWN0CisgICAgICAgICAgICAgIG91dHB1dCB0byB2YXJpYWJsZXMgd2l0aCB0aGUgIHNwZWNpZmllZCAgYXR0cmlidXRlICBvciAgdG8gIGdpdmUKKyAgICAgICAgICAgICAgdmFyaWFibGVzIGF0dHJpYnV0ZXM6CiAgICAgICAgICAgICAgIC0ILWEIYSAgICAgRWFjaCAgXwhuXwhhXwhtXwhlICBpcyAgYW4gIGluZGV4ZWQgIGFycmF5ICB2YXJpYWJsZSAgKHNlZSBBCEFyCHJyCHJhCGF5CHlzCHMKICAgICAgICAgICAgICAgICAgICAgIGFib3ZlKS4KICAgICAgICAgICAgICAgLQgtQQhBICAgICBFYWNoIF8Ibl8IYV8IbV8IZSBpcyBhbiBhc3NvY2lhdGl2ZSBhcnJheSAgdmFyaWFibGUgIChzZWUgIEEIQXIIcnIIcmEIYXkIeXMIcwpAQCAtNDA0NCwyMCArNDEyNCwyMCBAQAogICAgICAgICAgICAgICBVc2luZyBgKycgaW5zdGVhZCBvZiBgLScgdHVybnMgb2ZmIHRoZSBhdHRyaWJ1dGUgIGluc3RlYWQsICB3aXRoCiAgICAgICAgICAgICAgIHRoZSBleGNlcHRpb25zIHRoYXQgKwgrYQhhIG1heSBub3QgYmUgdXNlZCB0byBkZXN0cm95IGFuIGFycmF5IHZhcmktCiAgICAgICAgICAgICAgIGFibGUgYW5kICsIK3IIciB3aWxsIG5vdCByZW1vdmUgdGhlIHJlYWRvbmx5IGF0dHJpYnV0ZS4gICBXaGVuICB1c2VkCi0gICAgICAgICAgICAgIGluIGEgZnVuY3Rpb24sIG1ha2VzIGVhY2ggXwhuXwhhXwhtXwhlIGxvY2FsLCBhcyB3aXRoIHRoZSBsCGxvCG9jCGNhCGFsCGwgY29tbWFuZC4KLSAgICAgICAgICAgICAgSWYgYSB2YXJpYWJsZSBuYW1lIGlzIGZvbGxvd2VkIGJ5ID1fCHZfCGFfCGxfCHVfCGUsIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaS0KLSAgICAgICAgICAgICAgYWJsZSAgaXMgIHNldCB0byBfCHZfCGFfCGxfCHVfCGUuICBUaGUgcmV0dXJuIHZhbHVlIGlzIDAgdW5sZXNzIGFuIGludmFsaWQKLSAgICAgICAgICAgICAgb3B0aW9uIGlzIGVuY291bnRlcmVkLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGVmaW5lICBhICBmdW5jdGlvbgotICAgICAgICAgICAgICB1c2luZyAgYGAtZiBmb289YmFyJycsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBhc3NpZ24gYSB2YWx1ZSB0byBhCi0gICAgICAgICAgICAgIHJlYWRvbmx5IHZhcmlhYmxlLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gYXNzaWduIGEgIHZhbHVlICB0byAgYW4KLSAgICAgICAgICAgICAgYXJyYXkgdmFyaWFibGUgd2l0aG91dCB1c2luZyB0aGUgY29tcG91bmQgYXNzaWdubWVudCBzeW50YXggKHNlZQotICAgICAgICAgICAgICBBCEFyCHJyCHJhCGF5CHlzCHMgYWJvdmUpLCBvbmUgb2YgdGhlIF8Ibl8IYV8IbV8IZV8IcyBpcyBub3QgYSAgdmFsaWQgIHNoZWxsICB2YXJpYWJsZQotICAgICAgICAgICAgICBuYW1lLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gdHVybiBvZmYgcmVhZG9ubHkgc3RhdHVzIGZvciBhIHJlYWQtCi0gICAgICAgICAgICAgIG9ubHkgdmFyaWFibGUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIG9mZiBhcnJheSAgc3RhdHVzICBmb3IKLSAgICAgICAgICAgICAgYW4gIGFycmF5IHZhcmlhYmxlLCBvciBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGlzcGxheSBhIG5vbi1leGlzLQotICAgICAgICAgICAgICB0ZW50IGZ1bmN0aW9uIHdpdGggLQgtZghmLgorICAgICAgICAgICAgICBpbiBhIGZ1bmN0aW9uLCBtYWtlcyBlYWNoIF8Ibl8IYV8IbV8IZSBsb2NhbCwgYXMgd2l0aCB0aGUgbAhsbwhvYwhjYQhhbAhsIGNvbW1hbmQsCisgICAgICAgICAgICAgIHVubGVzcyB0aGUgLQgtZwhnUAhQIG8Ib3AIcHQIdGkIaW8Ib24IbiBpCGlzCHMgcwhzdQh1cAhwcAhwbAhsaQhpZQhlZAhkLAgsIEkISWYIZiBhCGEgdgh2YQhhcghyaQhpYQhhYghibAhsZQhlICBuCG5hCGFtCG1lCGUgIGkIaXMIcyAgZghmbwhvbAhsLQgtCisgICAgICAgICAgICAgIGwIbG8Ib3cId2UIZWQIZCBiCGJ5CHkgPQg9Xwh2XwhhXwhsXwh1XwhlLAgsIHQIdGgIaGUIZSB2CHZhCGFsCGx1CHVlCGUgbwhvZghmIHQIdGgIaGUIZSB2CHZhCGFyCHJpCGlhCGFiCGJsCGxlCGUgaQhpcwhzIHMIc2UIZXQIdCB0CHRvCG8gXwh2XwhhXwhsXwh1XwhlLgguICBUCFRoCGhlCGUKKyAgICAgICAgICAgICAgcghyZQhldAh0dQh1cghybghuIHYIdmEIYWwIbHUIdWUIZSBpCGlzCHMgMAgwIHUIdW4IbmwIbGUIZXMIc3MIcyBhCGFuCG4gaQhpbghudgh2YQhhbAhsaQhpZAhkIG8Ib3AIcHQIdGkIaW8Ib24IbiAgaQhpcwhzICBlCGVuCG5jCGNvCG91CHVuCG50CHRlCGVyCHJlCGVkCGQsCCwgIGEIYW4IbgorICAgICAgICAgICAgICBhCGF0CHR0CHRlCGVtCG1wCHB0CHQgIGkIaXMIcyAgbQhtYQhhZAhkZQhlICB0CHRvCG8gZAhkZQhlZghmaQhpbghuZQhlIGEIYSBmCGZ1CHVuCG5jCGN0CHRpCGlvCG9uCG4gdQh1cwhzaQhpbghuZwhnIGAIYGAIYC0ILWYIZiBmCGZvCG9vCG89CD1iCGJhCGFyCHInCCcnCCcsCCwgYQhhbghuCisgICAgICAgICAgICAgIGEIYXQIdHQIdGUIZW0IbXAIcHQIdCBpCGlzCHMgbQhtYQhhZAhkZQhlIHQIdG8IbyBhCGFzCHNzCHNpCGlnCGduCG4gYQhhIHYIdmEIYWwIbHUIdWUIZSB0CHRvCG8gIGEIYSAgcghyZQhlYQhhZAhkbwhvbghubAhseQh5ICB2CHZhCGFyCHJpCGlhCGFiCGJsCGxlCGUsCCwgIGEIYW4IbgorICAgICAgICAgICAgICBhCGF0CHR0CHRlCGVtCG1wCHB0CHQgIGkIaXMIcyAgbQhtYQhhZAhkZQhlIHQIdG8IbyBhCGFzCHNzCHNpCGlnCGduCG4gYQhhIHYIdmEIYWwIbHUIdWUIZSB0CHRvCG8gYQhhbghuIGEIYXIIcnIIcmEIYXkIeSB2CHZhCGFyCHJpCGlhCGFiCGJsCGxlCGUgdwh3aQhpdAh0aAhobwhvdQh1dAh0CisgICAgICAgICAgICAgIHUIdXMIc2kIaW4IbmcIZyB0CHRoCGhlCGUgYwhjbwhvbQhtcAhwbwhvdQh1bghuZAhkIGEIYXMIc3MIc2kIaWcIZ24Ibm0IbWUIZW4IbnQIdCBzCHN5CHluCG50CHRhCGF4CHggKAgocwhzZQhlZQhlIEEIQXIIcnIIcmEIYXkIeXMIcyBhYm92ZSksIG9uZSAgb2YKKyAgICAgICAgICAgICAgdGhlIF8Ibl8IYV8IbV8IZV8IcyBpcyBub3QgYSB2YWxpZCBzaGVsbCB2YXJpYWJsZSBuYW1lLCBhbiBhdHRlbXB0IGlzIG1hZGUKKyAgICAgICAgICAgICAgdG8gdHVybiBvZmYgcmVhZG9ubHkgc3RhdHVzIGZvciBhIHJlYWRvbmx5IHZhcmlhYmxlLCBhbiAgYXR0ZW1wdAorICAgICAgICAgICAgICBpcyAgbWFkZSAgdG8gIHR1cm4gb2ZmIGFycmF5IHN0YXR1cyBmb3IgYW4gYXJyYXkgdmFyaWFibGUsIG9yIGFuCisgICAgICAgICAgICAgIGF0dGVtcHQgaXMgbWFkZSB0byBkaXNwbGF5IGEgbm9uLWV4aXN0ZW50IGZ1bmN0aW9uIHdpdGggLQgtZghmLgogCi0gICAgICAgZAhkaQhpcghycwhzIFsIWysIK18Ibl0IXSBbCFstCC1fCG5dCF0gWwhbLQgtYwhjcAhwbAhsdgh2XQhdCisgICAgICAgZAhkaQhpcghycwhzIFsIWysIK18Ibl0IXSBbCFstCC1fCG5dCF0gWwhbLQgtYwhjbAhscAhwdgh2XQhdCiAgICAgICAgICAgICAgIFdpdGhvdXQgb3B0aW9ucywgIGRpc3BsYXlzICB0aGUgIGxpc3QgIG9mICBjdXJyZW50bHkgIHJlbWVtYmVyZWQKICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMuICAgVGhlICBkZWZhdWx0ICBkaXNwbGF5ICBpcyAgb24gIGEgc2luZ2xlIGxpbmUgd2l0aAogICAgICAgICAgICAgICBkaXJlY3RvcnkgbmFtZXMgc2VwYXJhdGVkIGJ5IHNwYWNlcy4gIERpcmVjdG9yaWVzIGFyZSAgYWRkZWQgIHRvCkBAIC00MTA3LDcgKzQxODcsOCBAQAogICAgICAgICAgICAgICBcCFxhCGEgICAgIGFsZXJ0IChiZWxsKQogICAgICAgICAgICAgICBcCFxiCGIgICAgIGJhY2tzcGFjZQogICAgICAgICAgICAgICBcCFxjCGMgICAgIHN1cHByZXNzIGZ1cnRoZXIgb3V0cHV0Ci0gICAgICAgICAgICAgIFwIXGUIZSAgICAgYW4gZXNjYXBlIGNoYXJhY3RlcgorICAgICAgICAgICAgICBcCFxlCGUKKyAgICAgICAgICAgICAgXAhcRQhFICAgICBhbiBlc2NhcGUgY2hhcmFjdGVyCiAgICAgICAgICAgICAgIFwIXGYIZiAgICAgZm9ybSBmZWVkCiAgICAgICAgICAgICAgIFwIXG4IbiAgICAgbmV3IGxpbmUKICAgICAgICAgICAgICAgXAhccghyICAgICBjYXJyaWFnZSByZXR1cm4KQEAgLTQxMTgsNiArNDE5OSwxMSBAQAogICAgICAgICAgICAgICAgICAgICAgXwhuXwhuXwhuICh6ZXJvIHRvIHRocmVlIG9jdGFsIGRpZ2l0cykKICAgICAgICAgICAgICAgXAhceAh4XwhIXwhIICAgdGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgIGlzICB0aGUgIGhleGFkZWNpbWFsCiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBfCEhfCEggKG9uZSBvciB0d28gaGV4IGRpZ2l0cykKKyAgICAgICAgICAgICAgXAhcdQh1XwhIXwhIXwhIXwhIIHRoZSAgVW5pY29kZSAoSVNPL0lFQyAxMDY0NikgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIHRoZQorICAgICAgICAgICAgICAgICAgICAgaGV4YWRlY2ltYWwgdmFsdWUgXwhIXwhIXwhIXwhIIChvbmUgdG8gZm91ciBoZXggZGlnaXRzKQorICAgICAgICAgICAgICBcCFxVCFVfCEhfCEhfCEhfCEhfCEhfCEhfCEhfCEgKKyAgICAgICAgICAgICAgICAgICAgIHRoZSBVbmljb2RlIChJU08vSUVDIDEwNjQ2KSBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgIHRoZQorICAgICAgICAgICAgICAgICAgICAgaGV4YWRlY2ltYWwgdmFsdWUgXwhIXwhIXwhIXwhIXwhIXwhIXwhIXwhIIChvbmUgdG8gZWlnaHQgaGV4IGRpZ2l0cykKIAogICAgICAgIGUIZW4IbmEIYWIIYmwIbGUIZSBbLQgtYQhhXSBbLQgtZAhkbghucAhwcwhzXSBbLQgtZghmIF8IZl8IaV8IbF8IZV8Ibl8IYV8IbV8IZV0gW18Ibl8IYV8IbV8IZSAuLi5dCiAgICAgICAgICAgICAgIEVuYWJsZSAgYW5kIGRpc2FibGUgYnVpbHRpbiBzaGVsbCBjb21tYW5kcy4gIERpc2FibGluZyBhIGJ1aWx0aW4KQEAgLTQyNDUsNyArNDMzMSw3IEBACiAKICAgICAgICAgICAgICAgV2hlbiB0aGUgZW5kIG9mIG9wdGlvbnMgaXMgZW5jb3VudGVyZWQsICBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgIGV4aXRzICB3aXRoICBhCiAgICAgICAgICAgICAgIHJldHVybiAgdmFsdWUgIGdyZWF0ZXIgdGhhbiB6ZXJvLiAgTwhPUAhQVAhUSQhJTghORAhEIGlzIHNldCB0byB0aGUgaW5kZXggb2YKLSAgICAgICAgICAgICAgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQsIGFuZCBuCG5hCGFtCG1lCGUgaXMgc2V0IHRvID8uCisgICAgICAgICAgICAgIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50LCBhbmQgXwhuXwhhXwhtXwhlIGlzIHNldCB0byA/LgogCiAgICAgICAgICAgICAgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyBub3JtYWxseSBwYXJzZXMgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgYnV0ICBpZiAgbW9yZQogICAgICAgICAgICAgICBhcmd1bWVudHMgYXJlIGdpdmVuIGluIF8IYV8Icl8IZ18IcywgZwhnZQhldAh0bwhvcAhwdAh0cwhzIHBhcnNlcyB0aG9zZSBpbnN0ZWFkLgpAQCAtNDI3MywyNSArNDM1OSwyNiBAQAogICAgICAgICAgICAgICBhbiBlcnJvciBvY2N1cnMuCiAKICAgICAgICBoCGhhCGFzCHNoCGggWy0ILWwIbHIIcl0gWy0ILXAIcCBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGVdIFstCC1kCGR0CHRdIFtfCG5fCGFfCG1fCGVdCi0gICAgICAgICAgICAgIEZvciBlYWNoIF8Ibl8IYV8IbV8IZSwgdGhlIGZ1bGwgZmlsZSBuYW1lIG9mIHRoZSBjb21tYW5kICBpcyAgZGV0ZXJtaW5lZAotICAgICAgICAgICAgICBieSBzZWFyY2hpbmcgdGhlIGRpcmVjdG9yaWVzIGluICQIJFAIUEEIQVQIVEgISCBhbmQgcmVtZW1iZXJlZC4gIElmIHRoZSAtCC1wCHAKLSAgICAgICAgICAgICAgb3B0aW9uIGlzIHN1cHBsaWVkLCBubyBwYXRoIHNlYXJjaCBpcyBwZXJmb3JtZWQsIGFuZCBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGUgaXMKLSAgICAgICAgICAgICAgdXNlZCBhcyB0aGUgZnVsbCBmaWxlIG5hbWUgb2YgdGhlIGNvbW1hbmQuICBUaGUgLQgtcghyIG9wdGlvbiBjYXVzZXMKLSAgICAgICAgICAgICAgdGhlIHNoZWxsIHRvIGZvcmdldCBhbGwgcmVtZW1iZXJlZCAgbG9jYXRpb25zLiAgIFRoZSAgLQgtZAhkICBvcHRpb24KLSAgICAgICAgICAgICAgY2F1c2VzIHRoZSBzaGVsbCB0byBmb3JnZXQgdGhlIHJlbWVtYmVyZWQgbG9jYXRpb24gb2YgZWFjaCBfCG5fCGFfCG1fCGUuCi0gICAgICAgICAgICAgIElmIHRoZSAtCC10CHQgb3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgZnVsbCBwYXRobmFtZSAgdG8gIHdoaWNoICBlYWNoCi0gICAgICAgICAgICAgIF8Ibl8IYV8IbV8IZSAgY29ycmVzcG9uZHMgIGlzICBwcmludGVkLiAgIElmIG11bHRpcGxlIF8Ibl8IYV8IbV8IZSBhcmd1bWVudHMgYXJlCi0gICAgICAgICAgICAgIHN1cHBsaWVkIHdpdGggLQgtdAh0LCB0aGUgXwhuXwhhXwhtXwhlIGlzIHByaW50ZWQgIGJlZm9yZSAgdGhlICBoYXNoZWQgIGZ1bGwKLSAgICAgICAgICAgICAgcGF0aG5hbWUuICBUaGUgLQgtbAhsIG9wdGlvbiBjYXVzZXMgb3V0cHV0IHRvIGJlIGRpc3BsYXllZCBpbiBhIGZvci0KLSAgICAgICAgICAgICAgbWF0IHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4gIElmIG5vIGFyZ3VtZW50cyBhcmUgZ2l2ZW4sICBvcgotICAgICAgICAgICAgICBpZiBvbmx5IC0ILWwIbCBpcyBzdXBwbGllZCwgaW5mb3JtYXRpb24gYWJvdXQgcmVtZW1iZXJlZCBjb21tYW5kcyBpcwotICAgICAgICAgICAgICBwcmludGVkLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgdHJ1ZSB1bmxlc3MgYSBfCG5fCGFfCG1fCGUgaXMgIG5vdCAgZm91bmQKLSAgICAgICAgICAgICAgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQuCisgICAgICAgICAgICAgIEVhY2ggdGltZSBoCGhhCGFzCHNoCGggaXMgaW52b2tlZCwgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGNvbW1hbmQgXwhuXwhhXwhtXwhlCisgICAgICAgICAgICAgIGlzICBkZXRlcm1pbmVkICBieSBzZWFyY2hpbmcgdGhlIGRpcmVjdG9yaWVzIGluICQIJFAIUEEIQVQIVEgISCBhbmQgcmVtZW0tCisgICAgICAgICAgICAgIGJlcmVkLiAgQW55IHByZXZpb3VzbHktcmVtZW1iZXJlZCBwYXRobmFtZSBpcyBkaXNjYXJkZWQuICBJZiB0aGUKKyAgICAgICAgICAgICAgLQgtcAhwIG9wdGlvbiBpcyBzdXBwbGllZCwgbm8gcGF0aCBzZWFyY2ggaXMgcGVyZm9ybWVkLCBhbmQgXwhmXwhpXwhsXwhlXwhuXwhhXwhtXwhlCisgICAgICAgICAgICAgIGlzIHVzZWQgYXMgdGhlIGZ1bGwgZmlsZSBuYW1lIG9mIHRoZSAgY29tbWFuZC4gICBUaGUgIC0ILXIIciAgb3B0aW9uCisgICAgICAgICAgICAgIGNhdXNlcyAgdGhlICBzaGVsbCAgdG8gIGZvcmdldCBhbGwgcmVtZW1iZXJlZCBsb2NhdGlvbnMuICBUaGUgLQgtZAhkCisgICAgICAgICAgICAgIG9wdGlvbiBjYXVzZXMgdGhlIHNoZWxsIHRvIGZvcmdldCAgdGhlICByZW1lbWJlcmVkICBsb2NhdGlvbiAgb2YKKyAgICAgICAgICAgICAgZWFjaCAgXwhuXwhhXwhtXwhlLiAgIElmIHRoZSAtCC10CHQgb3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgZnVsbCBwYXRobmFtZSB0bworICAgICAgICAgICAgICB3aGljaCBlYWNoIF8Ibl8IYV8IbV8IZSBjb3JyZXNwb25kcyBpcyBwcmludGVkLiAgSWYgbXVsdGlwbGUgXwhuXwhhXwhtXwhlICBhcmd1LQorICAgICAgICAgICAgICBtZW50cyAgYXJlICBzdXBwbGllZCAgd2l0aCAgLQgtdAh0LCAgdGhlICBfCG5fCGFfCG1fCGUgaXMgcHJpbnRlZCBiZWZvcmUgdGhlCisgICAgICAgICAgICAgIGhhc2hlZCBmdWxsIHBhdGhuYW1lLiAgVGhlIC0ILWwIbCBvcHRpb24gY2F1c2VzIG91dHB1dCAgdG8gIGJlICBkaXMtCisgICAgICAgICAgICAgIHBsYXllZCBpbiBhIGZvcm1hdCB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuICBJZiBubyBhcmd1bWVudHMKKyAgICAgICAgICAgICAgYXJlIGdpdmVuLCBvciBpZiBvbmx5IC0ILWwIbCBpcyBzdXBwbGllZCwgaW5mb3JtYXRpb24gIGFib3V0ICByZW1lbS0KKyAgICAgICAgICAgICAgYmVyZWQgIGNvbW1hbmRzICBpcyBwcmludGVkLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgdHJ1ZSB1bmxlc3MgYQorICAgICAgICAgICAgICBfCG5fCGFfCG1fCGUgaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLgogCiAgICAgICAgaAhoZQhlbAhscAhwIFstCC1kCGRtCG1zCHNdIFtfCHBfCGFfCHRfCHRfCGVfCHJfCG5dCi0gICAgICAgICAgICAgIERpc3BsYXkgIGhlbHBmdWwgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy4gIElmIF8IcF8IYV8IdF8IdF8IZV8Icl8IbgotICAgICAgICAgICAgICBpcyBzcGVjaWZpZWQsIGgIaGUIZWwIbHAIcCBnaXZlcyBkZXRhaWxlZCBoZWxwIG9uIGFsbCBjb21tYW5kcyAgbWF0Y2hpbmcKLSAgICAgICAgICAgICAgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuOyAgb3RoZXJ3aXNlICBoZWxwIGZvciBhbGwgdGhlIGJ1aWx0aW5zIGFuZCBzaGVsbCBjb250cm9sCisgICAgICAgICAgICAgIERpc3BsYXkgaGVscGZ1bCBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLiAgSWYgIF8IcF8IYV8IdF8IdF8IZV8Icl8IbgorICAgICAgICAgICAgICBpcyAgc3BlY2lmaWVkLCBoCGhlCGVsCGxwCHAgZ2l2ZXMgZGV0YWlsZWQgaGVscCBvbiBhbGwgY29tbWFuZHMgbWF0Y2hpbmcKKyAgICAgICAgICAgICAgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuOyBvdGhlcndpc2UgaGVscCBmb3IgYWxsIHRoZSBidWlsdGlucyBhbmQgIHNoZWxsICBjb250cm9sCiAgICAgICAgICAgICAgIHN0cnVjdHVyZXMgaXMgcHJpbnRlZC4KICAgICAgICAgICAgICAgLQgtZAhkICAgICBEaXNwbGF5IGEgc2hvcnQgZGVzY3JpcHRpb24gb2YgZWFjaCBfCHBfCGFfCHRfCHRfCGVfCHJfCG4KICAgICAgICAgICAgICAgLQgtbQhtICAgICBEaXNwbGF5IHRoZSBkZXNjcmlwdGlvbiBvZiBlYWNoIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiBpbiBhIG1hbnBhZ2UtbGlrZQpAQCAtNDMwNyw0NCArNDM5NCw0NCBAQAogICAgICAgIGgIaGkIaXMIc3QIdG8Ib3IIcnkIeSAtCC1zCHMgXwhhXwhyXwhnIFtfCGFfCHJfCGcgXwguXwguXwguXQogICAgICAgICAgICAgICBXaXRoIG5vIG9wdGlvbnMsIGRpc3BsYXkgdGhlIGNvbW1hbmQgaGlzdG9yeSBsaXN0IHdpdGggbGluZSBudW0tCiAgICAgICAgICAgICAgIGJlcnMuICBMaW5lcyBsaXN0ZWQgd2l0aCBhICoIKiBoYXZlIGJlZW4gbW9kaWZpZWQuICBBbiBhcmd1bWVudCBvZgotICAgICAgICAgICAgICBfCG4gIGxpc3RzIG9ubHkgdGhlIGxhc3QgXwhuIGxpbmVzLiAgSWYgdGhlIHNoZWxsIHZhcmlhYmxlIEgISEkISVMIU1QIVFQIVEkISU0ITUUIRS0ILQotICAgICAgICAgICAgICBGCEZPCE9SCFJNCE1BCEFUCFQgaXMgc2V0IGFuZCBub3QgbnVsbCwgaXQgaXMgdXNlZCBhcyBhICBmb3JtYXQgIHN0cmluZyAgZm9yCi0gICAgICAgICAgICAgIF8Ic18IdF8Icl8IZl8IdF8IaV8IbV8IZSgzKSAgdG8gZGlzcGxheSB0aGUgdGltZSBzdGFtcCBhc3NvY2lhdGVkIHdpdGggZWFjaCBkaXMtCi0gICAgICAgICAgICAgIHBsYXllZCBoaXN0b3J5IGVudHJ5LiAgTm8gaW50ZXJ2ZW5pbmcgYmxhbmsgaXMgIHByaW50ZWQgIGJldHdlZW4KLSAgICAgICAgICAgICAgdGhlICBmb3JtYXR0ZWQgIHRpbWUgc3RhbXAgYW5kIHRoZSBoaXN0b3J5IGxpbmUuICBJZiBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGUgaXMKLSAgICAgICAgICAgICAgc3VwcGxpZWQsIGl0IGlzIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGhpc3RvcnkgIGZpbGU7ICBpZiAgbm90LAotICAgICAgICAgICAgICB0aGUgIHZhbHVlICBvZiBICEhJCElTCFNUCFRGCEZJCElMCExFCEUgaXMgdXNlZC4gIE9wdGlvbnMsIGlmIHN1cHBsaWVkLCBoYXZlIHRoZQorICAgICAgICAgICAgICBfCG4gbGlzdHMgb25seSB0aGUgbGFzdCBfCG4gbGluZXMuICBJZiB0aGUgc2hlbGwgdmFyaWFibGUgIEgISEkISVMIU1QIVFQIVEkISU0ITUUIRS0ILQorICAgICAgICAgICAgICBGCEZPCE9SCFJNCE1BCEFUCFQgIGlzICBzZXQgIGFuZCBub3QgbnVsbCwgaXQgaXMgdXNlZCBhcyBhIGZvcm1hdCBzdHJpbmcgZm9yCisgICAgICAgICAgICAgIF8Ic18IdF8Icl8IZl8IdF8IaV8IbV8IZSgzKSB0byBkaXNwbGF5IHRoZSB0aW1lIHN0YW1wIGFzc29jaWF0ZWQgd2l0aCBlYWNoICBkaXMtCisgICAgICAgICAgICAgIHBsYXllZCAgaGlzdG9yeSAgZW50cnkuICBObyBpbnRlcnZlbmluZyBibGFuayBpcyBwcmludGVkIGJldHdlZW4KKyAgICAgICAgICAgICAgdGhlIGZvcm1hdHRlZCB0aW1lIHN0YW1wIGFuZCB0aGUgaGlzdG9yeSBsaW5lLiAgSWYgIF8IZl8IaV8IbF8IZV8Ibl8IYV8IbV8IZSAgaXMKKyAgICAgICAgICAgICAgc3VwcGxpZWQsICBpdCAgaXMgIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGhpc3RvcnkgZmlsZTsgaWYgbm90LAorICAgICAgICAgICAgICB0aGUgdmFsdWUgb2YgSAhISQhJUwhTVAhURghGSQhJTAhMRQhFIGlzIHVzZWQuICBPcHRpb25zLCBpZiBzdXBwbGllZCwgIGhhdmUgIHRoZQogICAgICAgICAgICAgICBmb2xsb3dpbmcgbWVhbmluZ3M6CiAgICAgICAgICAgICAgIC0ILWMIYyAgICAgQ2xlYXIgdGhlIGhpc3RvcnkgbGlzdCBieSBkZWxldGluZyBhbGwgdGhlIGVudHJpZXMuCiAgICAgICAgICAgICAgIC0ILWQIZCBfCG9fCGZfCGZfCHNfCGVfCHQKICAgICAgICAgICAgICAgICAgICAgIERlbGV0ZSB0aGUgaGlzdG9yeSBlbnRyeSBhdCBwb3NpdGlvbiBfCG9fCGZfCGZfCHNfCGVfCHQuCi0gICAgICAgICAgICAgIC0ILWEIYSAgICAgQXBwZW5kIHRoZSBgYG5ldycnIGhpc3RvcnkgbGluZXMgKGhpc3RvcnkgIGxpbmVzICBlbnRlcmVkCi0gICAgICAgICAgICAgICAgICAgICBzaW5jZSAgdGhlICBiZWdpbm5pbmcgb2YgdGhlIGN1cnJlbnQgYghiYQhhcwhzaAhoIHNlc3Npb24pIHRvIHRoZQorICAgICAgICAgICAgICAtCC1hCGEgICAgIEFwcGVuZCAgdGhlICBgYG5ldycnIGhpc3RvcnkgbGluZXMgKGhpc3RvcnkgbGluZXMgZW50ZXJlZAorICAgICAgICAgICAgICAgICAgICAgc2luY2UgdGhlIGJlZ2lubmluZyBvZiB0aGUgY3VycmVudCBiCGJhCGFzCHNoCGggc2Vzc2lvbikgIHRvICB0aGUKICAgICAgICAgICAgICAgICAgICAgIGhpc3RvcnkgZmlsZS4KLSAgICAgICAgICAgICAgLQgtbghuICAgICBSZWFkIHRoZSBoaXN0b3J5IGxpbmVzIG5vdCBhbHJlYWR5IHJlYWQgZnJvbSB0aGUgIGhpc3RvcnkKLSAgICAgICAgICAgICAgICAgICAgIGZpbGUgIGludG8gIHRoZSAgY3VycmVudCAgaGlzdG9yeSAgbGlzdC4gIFRoZXNlIGFyZSBsaW5lcwotICAgICAgICAgICAgICAgICAgICAgYXBwZW5kZWQgdG8gdGhlIGhpc3RvcnkgZmlsZSBzaW5jZSB0aGUgYmVnaW5uaW5nICBvZiAgdGhlCisgICAgICAgICAgICAgIC0ILW4IbiAgICAgUmVhZCAgdGhlIGhpc3RvcnkgbGluZXMgbm90IGFscmVhZHkgcmVhZCBmcm9tIHRoZSBoaXN0b3J5CisgICAgICAgICAgICAgICAgICAgICBmaWxlIGludG8gdGhlIGN1cnJlbnQgIGhpc3RvcnkgIGxpc3QuICAgVGhlc2UgIGFyZSAgbGluZXMKKyAgICAgICAgICAgICAgICAgICAgIGFwcGVuZGVkICB0byAgdGhlIGhpc3RvcnkgZmlsZSBzaW5jZSB0aGUgYmVnaW5uaW5nIG9mIHRoZQogICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBiCGJhCGFzCHNoCGggc2Vzc2lvbi4KICAgICAgICAgICAgICAgLQgtcghyICAgICBSZWFkIHRoZSBjb250ZW50cyBvZiB0aGUgaGlzdG9yeSBmaWxlIGFuZCB1c2UgdGhlbSBhcyB0aGUKICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgaGlzdG9yeS4KLSAgICAgICAgICAgICAgLQgtdwh3ICAgICBXcml0ZSB0aGUgY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IGZpbGUsICBvdmVyd3JpdC0KKyAgICAgICAgICAgICAgLQgtdwh3ICAgICBXcml0ZSAgdGhlIGN1cnJlbnQgaGlzdG9yeSB0byB0aGUgaGlzdG9yeSBmaWxlLCBvdmVyd3JpdC0KICAgICAgICAgICAgICAgICAgICAgIGluZyB0aGUgaGlzdG9yeSBmaWxlJ3MgY29udGVudHMuCi0gICAgICAgICAgICAgIC0ILXAIcCAgICAgUGVyZm9ybSAgaGlzdG9yeSAgc3Vic3RpdHV0aW9uICBvbiB0aGUgZm9sbG93aW5nIF8IYV8Icl8IZ18IcyBhbmQKLSAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhlIHJlc3VsdCBvbiAgdGhlICBzdGFuZGFyZCAgb3V0cHV0LiAgIERvZXMgIG5vdAotICAgICAgICAgICAgICAgICAgICAgc3RvcmUgIHRoZSByZXN1bHRzIGluIHRoZSBoaXN0b3J5IGxpc3QuICBFYWNoIF8IYV8Icl8IZyBtdXN0IGJlCisgICAgICAgICAgICAgIC0ILXAIcCAgICAgUGVyZm9ybSBoaXN0b3J5IHN1YnN0aXR1dGlvbiBvbiB0aGUgIGZvbGxvd2luZyAgXwhhXwhyXwhnXwhzICBhbmQKKyAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgIHRoZSAgcmVzdWx0ICBvbiAgdGhlICBzdGFuZGFyZCBvdXRwdXQuICBEb2VzIG5vdAorICAgICAgICAgICAgICAgICAgICAgc3RvcmUgdGhlIHJlc3VsdHMgaW4gdGhlIGhpc3RvcnkgbGlzdC4gIEVhY2ggXwhhXwhyXwhnIG11c3QgIGJlCiAgICAgICAgICAgICAgICAgICAgICBxdW90ZWQgdG8gZGlzYWJsZSBub3JtYWwgaGlzdG9yeSBleHBhbnNpb24uCi0gICAgICAgICAgICAgIC0ILXMIcyAgICAgU3RvcmUgdGhlIF8IYV8Icl8IZ18IcyBpbiB0aGUgaGlzdG9yeSBsaXN0ICBhcyAgYSAgc2luZ2xlICBlbnRyeS4KLSAgICAgICAgICAgICAgICAgICAgIFRoZSAgbGFzdCAgY29tbWFuZCAgaW4gdGhlIGhpc3RvcnkgbGlzdCBpcyByZW1vdmVkIGJlZm9yZQorICAgICAgICAgICAgICAtCC1zCHMgICAgIFN0b3JlICB0aGUgIF8IYV8Icl8IZ18IcyAgaW4gIHRoZSBoaXN0b3J5IGxpc3QgYXMgYSBzaW5nbGUgZW50cnkuCisgICAgICAgICAgICAgICAgICAgICBUaGUgbGFzdCBjb21tYW5kIGluIHRoZSBoaXN0b3J5IGxpc3QgIGlzICByZW1vdmVkICBiZWZvcmUKICAgICAgICAgICAgICAgICAgICAgIHRoZSBfCGFfCHJfCGdfCHMgYXJlIGFkZGVkLgogCi0gICAgICAgICAgICAgIElmIHRoZSBICEhJCElTCFNUCFRUCFRJCElNCE1FCEVGCEZPCE9SCFJNCE1BCEFUCFQgdmFyaWFibGUgaXMgc2V0LCB0aGUgdGltZSAgc3RhbXAgIGluZm9ybWEtCi0gICAgICAgICAgICAgIHRpb24gIGFzc29jaWF0ZWQgIHdpdGggZWFjaCBoaXN0b3J5IGVudHJ5IGlzIHdyaXR0ZW4gdG8gdGhlIGhpcy0KLSAgICAgICAgICAgICAgdG9yeSBmaWxlLCBtYXJrZWQgd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3Rlci4gIFdoZW4gIHRoZQotICAgICAgICAgICAgICBoaXN0b3J5ICBmaWxlICBpcyByZWFkLCBsaW5lcyBiZWdpbm5pbmcgd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50Ci0gICAgICAgICAgICAgIGNoYXJhY3RlciBmb2xsb3dlZCBpbW1lZGlhdGVseSBieSBhICBkaWdpdCAgYXJlICBpbnRlcnByZXRlZCAgYXMKKyAgICAgICAgICAgICAgSWYgIHRoZSAgSAhISQhJUwhTVAhUVAhUSQhJTQhNRQhFRghGTwhPUghSTQhNQQhBVAhUIHZhcmlhYmxlIGlzIHNldCwgdGhlIHRpbWUgc3RhbXAgaW5mb3JtYS0KKyAgICAgICAgICAgICAgdGlvbiBhc3NvY2lhdGVkIHdpdGggZWFjaCBoaXN0b3J5IGVudHJ5IGlzIHdyaXR0ZW4gdG8gIHRoZSAgaGlzLQorICAgICAgICAgICAgICB0b3J5ICBmaWxlLCBtYXJrZWQgd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3Rlci4gIFdoZW4gdGhlCisgICAgICAgICAgICAgIGhpc3RvcnkgZmlsZSBpcyByZWFkLCBsaW5lcyBiZWdpbm5pbmcgd2l0aCB0aGUgIGhpc3RvcnkgIGNvbW1lbnQKKyAgICAgICAgICAgICAgY2hhcmFjdGVyICBmb2xsb3dlZCAgaW1tZWRpYXRlbHkgIGJ5ICBhIGRpZ2l0IGFyZSBpbnRlcnByZXRlZCBhcwogICAgICAgICAgICAgICB0aW1lc3RhbXBzIGZvciB0aGUgcHJldmlvdXMgaGlzdG9yeSBsaW5lLiAgVGhlIHJldHVybiB2YWx1ZSBpcyAwCi0gICAgICAgICAgICAgIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgYW4gZXJyb3IgIG9jY3VycyAgd2hpbGUKLSAgICAgICAgICAgICAgcmVhZGluZyAgb3IgIHdyaXRpbmcgdGhlIGhpc3RvcnkgZmlsZSwgYW4gaW52YWxpZCBfCG9fCGZfCGZfCHNfCGVfCHQgaXMgc3VwLQorICAgICAgICAgICAgICB1bmxlc3MgIGFuICBpbnZhbGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgYW4gZXJyb3Igb2NjdXJzIHdoaWxlCisgICAgICAgICAgICAgIHJlYWRpbmcgb3Igd3JpdGluZyB0aGUgaGlzdG9yeSBmaWxlLCBhbiBpbnZhbGlkIF8Ib18IZl8IZl8Ic18IZV8IdCAgaXMgIHN1cC0KICAgICAgICAgICAgICAgcGxpZWQgYXMgYW4gYXJndW1lbnQgdG8gLQgtZAhkLCBvciB0aGUgaGlzdG9yeSBleHBhbnNpb24gc3VwcGxpZWQgYXMKICAgICAgICAgICAgICAgYW4gYXJndW1lbnQgdG8gLQgtcAhwIGZhaWxzLgogCkBAIC00MzUzLDEyNyArNDQ0MCwxNDEgQEAKICAgICAgICAgICAgICAgVGhlIGZpcnN0IGZvcm0gbGlzdHMgdGhlIGFjdGl2ZSBqb2JzLiAgVGhlIG9wdGlvbnMgaGF2ZSB0aGUgZm9sLQogICAgICAgICAgICAgICBsb3dpbmcgbWVhbmluZ3M6CiAgICAgICAgICAgICAgIC0ILWwIbCAgICAgTGlzdCBwcm9jZXNzIElEcyBpbiBhZGRpdGlvbiB0byB0aGUgbm9ybWFsIGluZm9ybWF0aW9uLgotICAgICAgICAgICAgICAtCC1wCHAgICAgIExpc3Qgb25seSB0aGUgcHJvY2VzcyAgSUQgIG9mICB0aGUgIGpvYidzICBwcm9jZXNzICBncm91cAotICAgICAgICAgICAgICAgICAgICAgbGVhZGVyLgogICAgICAgICAgICAgICAtCC1uCG4gICAgIERpc3BsYXkgIGluZm9ybWF0aW9uICBvbmx5ICBhYm91dCAgam9icyB0aGF0IGhhdmUgY2hhbmdlZAogICAgICAgICAgICAgICAgICAgICAgc3RhdHVzIHNpbmNlIHRoZSB1c2VyIHdhcyBsYXN0IG5vdGlmaWVkIG9mIHRoZWlyICBzdGF0dXMuCisgICAgICAgICAgICAgIC0ILXAIcCAgICAgTGlzdCAgb25seSAgdGhlICBwcm9jZXNzICBJRCAgb2YgIHRoZSBqb2IncyBwcm9jZXNzIGdyb3VwCisgICAgICAgICAgICAgICAgICAgICBsZWFkZXIuCiAgICAgICAgICAgICAgIC0ILXIIciAgICAgUmVzdHJpY3Qgb3V0cHV0IHRvIHJ1bm5pbmcgam9icy4KICAgICAgICAgICAgICAgLQgtcwhzICAgICBSZXN0cmljdCBvdXRwdXQgdG8gc3RvcHBlZCBqb2JzLgogCi0gICAgICAgICAgICAgIElmICBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgIGlzIGdpdmVuLCBvdXRwdXQgaXMgcmVzdHJpY3RlZCB0byBpbmZvcm1hdGlvbiBhYm91dAotICAgICAgICAgICAgICB0aGF0IGpvYi4gIFRoZSByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuICBpbnZhbGlkICBvcHRpb24gIGlzCisgICAgICAgICAgICAgIElmIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBpcyBnaXZlbiwgb3V0cHV0IGlzIHJlc3RyaWN0ZWQgdG8gIGluZm9ybWF0aW9uICBhYm91dAorICAgICAgICAgICAgICB0aGF0ICBqb2IuICAgVGhlICByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzCiAgICAgICAgICAgICAgIGVuY291bnRlcmVkIG9yIGFuIGludmFsaWQgXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGlzIHN1cHBsaWVkLgogCiAgICAgICAgICAgICAgIElmIHRoZSAtCC14CHggb3B0aW9uIGlzIHN1cHBsaWVkLCBqCGpvCG9iCGJzCHMgcmVwbGFjZXMgYW55IF8Ial8Ib18IYl8Ic18IcF8IZV8IYyBmb3VuZCBpbgotICAgICAgICAgICAgICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgb3IgXwhhXwhyXwhnXwhzIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgIHByb2Nlc3MgIGdyb3VwICBJRCwgIGFuZAorICAgICAgICAgICAgICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgIG9yICBfCGFfCHJfCGdfCHMgIHdpdGggIHRoZSBjb3JyZXNwb25kaW5nIHByb2Nlc3MgZ3JvdXAgSUQsIGFuZAogICAgICAgICAgICAgICBleGVjdXRlcyBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgcGFzc2luZyBpdCBfCGFfCHJfCGdfCHMsIHJldHVybmluZyBpdHMgZXhpdCBzdGF0dXMuCiAKICAgICAgICBrCGtpCGlsCGxsCGwgWy0ILXMIcyBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgfCAtCC1uCG4gXwhzXwhpXwhnXwhuXwh1XwhtIHwgLQgtXwhzXwhpXwhnXwhzXwhwXwhlXwhjXSBbXwhwXwhpXwhkIHwgXwhqXwhvXwhiXwhzXwhwXwhlXwhjXSAuLi4KICAgICAgICBrCGtpCGlsCGxsCGwgLQgtbAhsIFtfCHNfCGlfCGdfCHNfCHBfCGVfCGMgfCBfCGVfCHhfCGlfCHRfCF9fCHNfCHRfCGFfCHRfCHVfCHNdCi0gICAgICAgICAgICAgIFNlbmQgIHRoZSAgc2lnbmFsICBuYW1lZCAgYnkgIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBvciBfCHNfCGlfCGdfCG5fCHVfCG0gdG8gdGhlIHByb2Nlc3NlcwotICAgICAgICAgICAgICBuYW1lZCBieSBfCHBfCGlfCGQgb3IgXwhqXwhvXwhiXwhzXwhwXwhlXwhjLiAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIGVpdGhlciAgYSAgY2FzZS1pbnNlbnNpdGl2ZQotICAgICAgICAgICAgICBzaWduYWwgIG5hbWUgc3VjaCBhcyBTCFNJCElHCEdLCEtJCElMCExMCEwgKHdpdGggb3Igd2l0aG91dCB0aGUgUwhTSQhJRwhHIHByZWZpeCkgb3IKLSAgICAgICAgICAgICAgYSBzaWduYWwgbnVtYmVyOyBfCHNfCGlfCGdfCG5fCHVfCG0gaXMgYSBzaWduYWwgbnVtYmVyLiAgSWYgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBpcyAgbm90Ci0gICAgICAgICAgICAgIHByZXNlbnQsICB0aGVuICBTCFNJCElHCEdUCFRFCEVSCFJNCE0gaXMgYXNzdW1lZC4gIEFuIGFyZ3VtZW50IG9mIC0ILWwIbCBsaXN0cyB0aGUKLSAgICAgICAgICAgICAgc2lnbmFsIG5hbWVzLiAgSWYgYW55IGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQgd2hlbiAtCC1sCGwgIGlzICBnaXZlbiwKLSAgICAgICAgICAgICAgdGhlICBuYW1lcyAgb2YgIHRoZSAgc2lnbmFscyAgY29ycmVzcG9uZGluZyB0byB0aGUgYXJndW1lbnRzIGFyZQorICAgICAgICAgICAgICBTZW5kIHRoZSBzaWduYWwgbmFtZWQgYnkgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBvciAgXwhzXwhpXwhnXwhuXwh1XwhtICB0byAgdGhlICBwcm9jZXNzZXMKKyAgICAgICAgICAgICAgbmFtZWQgIGJ5ICBfCHBfCGlfCGQgb3IgXwhqXwhvXwhiXwhzXwhwXwhlXwhjLiAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIGVpdGhlciBhIGNhc2UtaW5zZW5zaXRpdmUKKyAgICAgICAgICAgICAgc2lnbmFsIG5hbWUgc3VjaCBhcyBTCFNJCElHCEdLCEtJCElMCExMCEwgKHdpdGggb3Igd2l0aG91dCB0aGUgUwhTSQhJRwhHIHByZWZpeCkgIG9yCisgICAgICAgICAgICAgIGEgIHNpZ25hbCAgbnVtYmVyOyBfCHNfCGlfCGdfCG5fCHVfCG0gaXMgYSBzaWduYWwgbnVtYmVyLiAgSWYgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIG5vdAorICAgICAgICAgICAgICBwcmVzZW50LCB0aGVuIFMIU0kISUcIR1QIVEUIRVIIUk0ITSBpcyBhc3N1bWVkLiAgQW4gYXJndW1lbnQgb2YgLQgtbAhsICBsaXN0cyAgdGhlCisgICAgICAgICAgICAgIHNpZ25hbCAgbmFtZXMuICAgSWYgYW55IGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQgd2hlbiAtCC1sCGwgaXMgZ2l2ZW4sCisgICAgICAgICAgICAgIHRoZSBuYW1lcyBvZiB0aGUgc2lnbmFscyAgY29ycmVzcG9uZGluZyAgdG8gIHRoZSAgYXJndW1lbnRzICBhcmUKICAgICAgICAgICAgICAgbGlzdGVkLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4gIFRoZSBfCGVfCHhfCGlfCHRfCF9fCHNfCHRfCGFfCHRfCHVfCHMgYXJndW1lbnQgdG8KLSAgICAgICAgICAgICAgLQgtbAhsICBpcyAgYSAgbnVtYmVyICBzcGVjaWZ5aW5nIGVpdGhlciBhIHNpZ25hbCBudW1iZXIgb3IgdGhlIGV4aXQKLSAgICAgICAgICAgICAgc3RhdHVzIG9mIGEgcHJvY2VzcyB0ZXJtaW5hdGVkIGJ5IGEgc2lnbmFsLiAgawhraQhpbAhsbAhsICByZXR1cm5zICB0cnVlCi0gICAgICAgICAgICAgIGlmICBhdCAgbGVhc3QgIG9uZSAgc2lnbmFsIHdhcyBzdWNjZXNzZnVsbHkgc2VudCwgb3IgZmFsc2UgaWYgYW4KKyAgICAgICAgICAgICAgLQgtbAhsIGlzIGEgbnVtYmVyIHNwZWNpZnlpbmcgZWl0aGVyIGEgc2lnbmFsICBudW1iZXIgIG9yICB0aGUgIGV4aXQKKyAgICAgICAgICAgICAgc3RhdHVzICBvZiAgYSBwcm9jZXNzIHRlcm1pbmF0ZWQgYnkgYSBzaWduYWwuICBrCGtpCGlsCGxsCGwgcmV0dXJucyB0cnVlCisgICAgICAgICAgICAgIGlmIGF0IGxlYXN0IG9uZSBzaWduYWwgd2FzIHN1Y2Nlc3NmdWxseSBzZW50LCAgb3IgIGZhbHNlICBpZiAgYW4KICAgICAgICAgICAgICAgZXJyb3Igb2NjdXJzIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkLgogCiAgICAgICAgbAhsZQhldAh0IF8IYV8Icl8IZyBbXwhhXwhyXwhnIC4uLl0KICAgICAgICAgICAgICAgRWFjaCBfCGFfCHJfCGcgaXMgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uIHRvIGJlIGV2YWx1YXRlZCAoc2VlIEEIQVIIUkkISVQIVEgISC0ILQotICAgICAgICAgICAgICBNCE1FCEVUCFRJCElDCEMgIEUIRVYIVkEIQUwITFUIVUEIQVQIVEkISU8IT04ITiAgYWJvdmUpLiAgIElmIHRoZSBsYXN0IF8IYV8Icl8IZyBldmFsdWF0ZXMgdG8gMCwgbAhsZQhldAh0CisgICAgICAgICAgICAgIE0ITUUIRVQIVEkISUMIQyBFCEVWCFZBCEFMCExVCFVBCEFUCFRJCElPCE9OCE4gYWJvdmUpLiAgSWYgdGhlIGxhc3QgXwhhXwhyXwhnIGV2YWx1YXRlcyAgdG8gIDAsICBsCGxlCGV0CHQKICAgICAgICAgICAgICAgcmV0dXJucyAxOyAwIGlzIHJldHVybmVkIG90aGVyd2lzZS4KIAogICAgICAgIGwIbG8Ib2MIY2EIYWwIbCBbXwhvXwhwXwh0XwhpXwhvXwhuXSBbXwhuXwhhXwhtXwhlWz1fCHZfCGFfCGxfCHVfCGVdIC4uLl0KLSAgICAgICAgICAgICAgRm9yIGVhY2ggYXJndW1lbnQsIGEgbG9jYWwgdmFyaWFibGUgbmFtZWQgXwhuXwhhXwhtXwhlIGlzICBjcmVhdGVkLCAgYW5kCi0gICAgICAgICAgICAgIGFzc2lnbmVkICBfCHZfCGFfCGxfCHVfCGUuICAgVGhlIF8Ib18IcF8IdF8IaV8Ib18IbiBjYW4gYmUgYW55IG9mIHRoZSBvcHRpb25zIGFjY2VwdGVkCisgICAgICAgICAgICAgIEZvciAgZWFjaCAgYXJndW1lbnQsIGEgbG9jYWwgdmFyaWFibGUgbmFtZWQgXwhuXwhhXwhtXwhlIGlzIGNyZWF0ZWQsIGFuZAorICAgICAgICAgICAgICBhc3NpZ25lZCBfCHZfCGFfCGxfCHVfCGUuICBUaGUgXwhvXwhwXwh0XwhpXwhvXwhuIGNhbiBiZSBhbnkgb2YgdGhlICBvcHRpb25zICBhY2NlcHRlZAogICAgICAgICAgICAgICBieSBkCGRlCGVjCGNsCGxhCGFyCHJlCGUuICBXaGVuIGwIbG8Ib2MIY2EIYWwIbCBpcyB1c2VkIHdpdGhpbiBhIGZ1bmN0aW9uLCBpdCBjYXVzZXMgdGhlCi0gICAgICAgICAgICAgIHZhcmlhYmxlICBfCG5fCGFfCG1fCGUgIHRvIGhhdmUgYSB2aXNpYmxlIHNjb3BlIHJlc3RyaWN0ZWQgdG8gdGhhdCBmdW5jLQorICAgICAgICAgICAgICB2YXJpYWJsZSBfCG5fCGFfCG1fCGUgdG8gaGF2ZSBhIHZpc2libGUgc2NvcGUgcmVzdHJpY3RlZCB0byAgdGhhdCAgZnVuYy0KICAgICAgICAgICAgICAgdGlvbiBhbmQgaXRzIGNoaWxkcmVuLiAgV2l0aCBubyBvcGVyYW5kcywgbAhsbwhvYwhjYQhhbAhsIHdyaXRlcyBhIGxpc3Qgb2YKLSAgICAgICAgICAgICAgbG9jYWwgIHZhcmlhYmxlcyAgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4gIEl0IGlzIGFuIGVycm9yIHRvIHVzZQorICAgICAgICAgICAgICBsb2NhbCB2YXJpYWJsZXMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4gIEl0IGlzIGFuIGVycm9yICB0byAgdXNlCiAgICAgICAgICAgICAgIGwIbG8Ib2MIY2EIYWwIbCB3aGVuIG5vdCB3aXRoaW4gYSBmdW5jdGlvbi4gIFRoZSByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzCi0gICAgICAgICAgICAgIGwIbG8Ib2MIY2EIYWwIbCAgaXMgIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uLCBhbiBpbnZhbGlkIF8Ibl8IYV8IbV8IZSBpcyBzdXBwbGllZCwKKyAgICAgICAgICAgICAgbAhsbwhvYwhjYQhhbAhsIGlzIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uLCBhbiBpbnZhbGlkIF8Ibl8IYV8IbV8IZSAgaXMgIHN1cHBsaWVkLAogICAgICAgICAgICAgICBvciBfCG5fCGFfCG1fCGUgaXMgYSByZWFkb25seSB2YXJpYWJsZS4KIAogICAgICAgIGwIbG8Ib2cIZ28Ib3UIdXQIdCBFeGl0IGEgbG9naW4gc2hlbGwuCiAKLSAgICAgICBtCG1hCGFwCHBmCGZpCGlsCGxlCGUgWy0ILW4IbiBfCGNfCG9fCHVfCG5fCHRdIFstCC1PCE8gXwhvXwhyXwhpXwhnXwhpXwhuXSBbLQgtcwhzIF8IY18Ib18IdV8Ibl8IdF0gWy0ILXQIdF0gWy0ILXUIdSAgXwhmXwhkXSAgWy0ILUMIQyAgXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrXQorICAgICAgIG0IbWEIYXAIcGYIZmkIaWwIbGUIZSAgWy0ILW4IbiAgXwhjXwhvXwh1XwhuXwh0XSAgWy0ILU8ITyBfCG9fCHJfCGlfCGdfCGlfCG5dIFstCC1zCHMgXwhjXwhvXwh1XwhuXwh0XSBbLQgtdAh0XSBbLQgtdQh1IF8IZl8IZF0gWy0ILUMIQyBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGtdCiAgICAgICAgWy0ILWMIYyBfCHFfCHVfCGFfCG5fCHRfCHVfCG1dIFtfCGFfCHJfCHJfCGFfCHldCi0gICAgICAgcghyZQhlYQhhZAhkYQhhcghycghyYQhheQh5IFstCC1uCG4gXwhjXwhvXwh1XwhuXwh0XSBbLQgtTwhPIF8Ib18Icl8IaV8IZ18IaV8Ibl0gWy0ILXMIcyBfCGNfCG9fCHVfCG5fCHRdIFstCC10CHRdIFstCC11CHUgXwhmXwhkXSBbLQgtQwhDICBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGtdCisgICAgICAgcghyZQhlYQhhZAhkYQhhcghycghyYQhheQh5ICBbLQgtbghuIF8IY18Ib18IdV8Ibl8IdF0gWy0ILU8ITyBfCG9fCHJfCGlfCGdfCGlfCG5dIFstCC1zCHMgXwhjXwhvXwh1XwhuXwh0XSBbLQgtdAh0XSBbLQgtdQh1IF8IZl8IZF0gWy0ILUMIQyBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGtdCiAgICAgICAgWy0ILWMIYyBfCHFfCHVfCGFfCG5fCHRfCHVfCG1dIFtfCGFfCHJfCHJfCGFfCHldCi0gICAgICAgICAgICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSAgdmFyaS0KLSAgICAgICAgICAgICAgYWJsZSAgXwhhXwhyXwhyXwhhXwh5LCBvciBmcm9tIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQgaWYgdGhlIC0ILXUIdSBvcHRpb24gaXMgc3VwLQotICAgICAgICAgICAgICBwbGllZC4gIFRoZSB2YXJpYWJsZSBNCE1BCEFQCFBGCEZJCElMCExFCEUgaXMgdGhlIGRlZmF1bHQgXwhhXwhyXwhyXwhhXwh5LiAgT3B0aW9ucywgIGlmCisgICAgICAgICAgICAgIFJlYWQgIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gdGhlIGluZGV4ZWQgYXJyYXkgdmFyaS0KKyAgICAgICAgICAgICAgYWJsZSBfCGFfCHJfCHJfCGFfCHksIG9yIGZyb20gZmlsZSBkZXNjcmlwdG9yIF8IZl8IZCBpZiB0aGUgLQgtdQh1IG9wdGlvbiBpcyAgc3VwLQorICAgICAgICAgICAgICBwbGllZC4gICBUaGUgdmFyaWFibGUgTQhNQQhBUAhQRghGSQhJTAhMRQhFIGlzIHRoZSBkZWZhdWx0IF8IYV8Icl8Icl8IYV8IeS4gIE9wdGlvbnMsIGlmCiAgICAgICAgICAgICAgIHN1cHBsaWVkLCBoYXZlIHRoZSBmb2xsb3dpbmcgbWVhbmluZ3M6Ci0gICAgICAgICAgICAgIC0ILW4IbiAgICAgQ29weSAgYXQgIG1vc3QgXwhjXwhvXwh1XwhuXwh0IGxpbmVzLiAgSWYgXwhjXwhvXwh1XwhuXwh0IGlzIDAsIGFsbCBsaW5lcyBhcmUKKyAgICAgICAgICAgICAgLQgtbghuICAgICBDb3B5IGF0IG1vc3QgXwhjXwhvXwh1XwhuXwh0IGxpbmVzLiAgSWYgXwhjXwhvXwh1XwhuXwh0IGlzIDAsIGFsbCAgbGluZXMgIGFyZQogICAgICAgICAgICAgICAgICAgICAgY29waWVkLgotICAgICAgICAgICAgICAtCC1PCE8gICAgIEJlZ2luIGFzc2lnbmluZyB0byBfCGFfCHJfCHJfCGFfCHkgYXQgaW5kZXggIF8Ib18Icl8IaV8IZ18IaV8Ibi4gICBUaGUgIGRlZmF1bHQKKyAgICAgICAgICAgICAgLQgtTwhPICAgICBCZWdpbiAgYXNzaWduaW5nICB0byAgXwhhXwhyXwhyXwhhXwh5IGF0IGluZGV4IF8Ib18Icl8IaV8IZ18IaV8Ibi4gIFRoZSBkZWZhdWx0CiAgICAgICAgICAgICAgICAgICAgICBpbmRleCBpcyAwLgogICAgICAgICAgICAgICAtCC1zCHMgICAgIERpc2NhcmQgdGhlIGZpcnN0IF8IY18Ib18IdV8Ibl8IdCBsaW5lcyByZWFkLgogICAgICAgICAgICAgICAtCC10CHQgICAgIFJlbW92ZSBhIHRyYWlsaW5nIG5ld2xpbmUgZnJvbSBlYWNoIGxpbmUgcmVhZC4KLSAgICAgICAgICAgICAgLQgtdQh1ICAgICBSZWFkICBsaW5lcyAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgXwhmXwhkIGluc3RlYWQgb2YgdGhlIHN0YW4tCisgICAgICAgICAgICAgIC0ILXUIdSAgICAgUmVhZCBsaW5lcyBmcm9tIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQgaW5zdGVhZCBvZiAgdGhlICBzdGFuLQogICAgICAgICAgICAgICAgICAgICAgZGFyZCBpbnB1dC4KLSAgICAgICAgICAgICAgLQgtQwhDICAgICBFdmFsdWF0ZSBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGsgZWFjaCB0aW1lIF8IcV8IdV8IYV8Ibl8IdF8IdV8IbSBsaW5lcyBhcmUgcmVhZC4gICBUaGUKKyAgICAgICAgICAgICAgLQgtQwhDICAgICBFdmFsdWF0ZSAgXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrIGVhY2ggdGltZSBfCHFfCHVfCGFfCG5fCHRfCHVfCG0gbGluZXMgYXJlIHJlYWQuICBUaGUKICAgICAgICAgICAgICAgICAgICAgIC0ILWMIYyBvcHRpb24gc3BlY2lmaWVzIF8IcV8IdV8IYV8Ibl8IdF8IdV8IbS4KLSAgICAgICAgICAgICAgLQgtYwhjICAgICBTcGVjaWZ5ICB0aGUgIG51bWJlciAgb2YgIGxpbmVzIHJlYWQgYmV0d2VlbiBlYWNoIGNhbGwgdG8KKyAgICAgICAgICAgICAgLQgtYwhjICAgICBTcGVjaWZ5IHRoZSBudW1iZXIgb2YgbGluZXMgcmVhZCAgYmV0d2VlbiAgZWFjaCAgY2FsbCAgdG8KICAgICAgICAgICAgICAgICAgICAgIF8IY18IYV8IbF8IbF8IYl8IYV8IY18Iay4KIAotICAgICAgICAgICAgICBJZiAtCC1DCEMgaXMgc3BlY2lmaWVkIHdpdGhvdXQgLQgtYwhjLCAgdGhlICBkZWZhdWx0ICBxdWFudHVtICBpcyAgNTAwMC4KKyAgICAgICAgICAgICAgSWYgIC0ILUMIQyAgaXMgIHNwZWNpZmllZCAgd2l0aG91dCAgLQgtYwhjLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuCiAgICAgICAgICAgICAgIFdoZW4gXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0Ci0gICAgICAgICAgICAgIGFycmF5IGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCAgYXJndW1lbnQuICAgXwhjXwhhXwhsXwhsXwgtCi0gICAgICAgICAgICAgIF8IYl8IYV8IY18IayAgaXMgIGV2YWx1YXRlZCAgYWZ0ZXIgdGhlIGxpbmUgaXMgcmVhZCBidXQgYmVmb3JlIHRoZSBhcnJheQotICAgICAgICAgICAgICBlbGVtZW50IGlzIGFzc2lnbmVkLgorICAgICAgICAgICAgICBhcnJheSBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0CisgICAgICAgICAgICAgIGVsZW1lbnQgYXMgYWRkaXRpb25hbCBhcmd1bWVudHMuICBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGsgIGlzICBldmFsdWF0ZWQgIGFmdGVyCisgICAgICAgICAgICAgIHRoZSBsaW5lIGlzIHJlYWQgYnV0IGJlZm9yZSB0aGUgYXJyYXkgZWxlbWVudCBpcyBhc3NpZ25lZC4KIAotICAgICAgICAgICAgICBJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiAgZXhwbGljaXQgIG9yaWdpbiwgIG0IbWEIYXAIcGYIZmkIaWwIbGUIZSAgd2lsbCAgY2xlYXIKKyAgICAgICAgICAgICAgSWYgIG5vdCAgc3VwcGxpZWQgIHdpdGggIGFuICBleHBsaWNpdCBvcmlnaW4sIG0IbWEIYXAIcGYIZmkIaWwIbGUIZSB3aWxsIGNsZWFyCiAgICAgICAgICAgICAgIF8IYV8Icl8Icl8IYV8IeSBiZWZvcmUgYXNzaWduaW5nIHRvIGl0LgogCi0gICAgICAgICAgICAgIG0IbWEIYXAIcGYIZmkIaWwIbGUIZSAgcmV0dXJucyBzdWNjZXNzZnVsbHkgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yIG9wdGlvbgotICAgICAgICAgICAgICBhcmd1bWVudCBpcyBzdXBwbGllZCwgXwhhXwhyXwhyXwhhXwh5IGlzIGludmFsaWQgb3IgIHVuYXNzaWduYWJsZSwgIG9yICBpZgorICAgICAgICAgICAgICBtCG1hCGFwCHBmCGZpCGlsCGxlCGUgcmV0dXJucyBzdWNjZXNzZnVsbHkgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yICBvcHRpb24KKyAgICAgICAgICAgICAgYXJndW1lbnQgIGlzICBzdXBwbGllZCwgIF8IYV8Icl8Icl8IYV8IeSBpcyBpbnZhbGlkIG9yIHVuYXNzaWduYWJsZSwgb3IgaWYKICAgICAgICAgICAgICAgXwhhXwhyXwhyXwhhXwh5IGlzIG5vdCBhbiBpbmRleGVkIGFycmF5LgogCiAgICAgICAgcAhwbwhvcAhwZAhkIFstbghuXSBbK18Ibl0gWy1fCG5dCi0gICAgICAgICAgICAgIFJlbW92ZXMgIGVudHJpZXMgIGZyb20gIHRoZSBkaXJlY3Rvcnkgc3RhY2suICBXaXRoIG5vIGFyZ3VtZW50cywKLSAgICAgICAgICAgICAgcmVtb3ZlcyB0aGUgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSBzdGFjaywgYW5kIHBlcmZvcm1zIGEgIGMIY2QIZCAgdG8KKyAgICAgICAgICAgICAgUmVtb3ZlcyBlbnRyaWVzIGZyb20gdGhlIGRpcmVjdG9yeSBzdGFjay4gICBXaXRoICBubyAgYXJndW1lbnRzLAorICAgICAgICAgICAgICByZW1vdmVzICB0aGUgIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUgc3RhY2ssIGFuZCBwZXJmb3JtcyBhIGMIY2QIZCB0bwogICAgICAgICAgICAgICB0aGUgbmV3IHRvcCBkaXJlY3RvcnkuICBBcmd1bWVudHMsIGlmIHN1cHBsaWVkLCBoYXZlIHRoZSBmb2xsb3ctCiAgICAgICAgICAgICAgIGluZyBtZWFuaW5nczoKLSAgICAgICAgICAgICAgLQgtbghuICAgICBTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSAgd2hlbiAgcmVtb3ZpbmcKLSAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yaWVzICBmcm9tICB0aGUgIHN0YWNrLCAgc28gdGhhdCBvbmx5IHRoZSBzdGFjayBpcworICAgICAgICAgICAgICAtCC1uCG4gICAgIFN1cHByZXNzZXMgIHRoZSAgbm9ybWFsIGNoYW5nZSBvZiBkaXJlY3Rvcnkgd2hlbiByZW1vdmluZworICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgZnJvbSB0aGUgc3RhY2ssIHNvIHRoYXQgIG9ubHkgIHRoZSAgc3RhY2sgIGlzCiAgICAgICAgICAgICAgICAgICAgICBtYW5pcHVsYXRlZC4KLSAgICAgICAgICAgICAgKwgrXwhuICAgICBSZW1vdmVzIHRoZSBfCG50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSAgbGlzdAotICAgICAgICAgICAgICAgICAgICAgc2hvd24gIGJ5ICBkCGRpCGlyCHJzCHMsIHN0YXJ0aW5nIHdpdGggemVyby4gIEZvciBleGFtcGxlOiBgYHBvcGQKKyAgICAgICAgICAgICAgKwgrXwhuICAgICBSZW1vdmVzICB0aGUgXwhudGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdAorICAgICAgICAgICAgICAgICAgICAgc2hvd24gYnkgZAhkaQhpcghycwhzLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgIGV4YW1wbGU6ICBgYHBvcGQKICAgICAgICAgICAgICAgICAgICAgICswJycgcmVtb3ZlcyB0aGUgZmlyc3QgZGlyZWN0b3J5LCBgYHBvcGQgKzEnJyB0aGUgc2Vjb25kLgogICAgICAgICAgICAgICAtCC1fCG4gICAgIFJlbW92ZXMgdGhlIF8IbnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICBzaG93biBieSBkCGRpCGlyCHJzCHMsIHN0YXJ0aW5nIHdpdGggemVyby4gIEZvciAgZXhhbXBsZTogIGBgcG9wZAotICAgICAgICAgICAgICAgICAgICAgLTAnJyAgcmVtb3ZlcyB0aGUgbGFzdCBkaXJlY3RvcnksIGBgcG9wZCAtMScnIHRoZSBuZXh0IHRvCisgICAgICAgICAgICAgICAgICAgICBzaG93biAgYnkgIGQIZGkIaXIIcnMIcywgc3RhcnRpbmcgd2l0aCB6ZXJvLiAgRm9yIGV4YW1wbGU6IGBgcG9wZAorICAgICAgICAgICAgICAgICAgICAgLTAnJyByZW1vdmVzIHRoZSBsYXN0IGRpcmVjdG9yeSwgYGBwb3BkIC0xJycgdGhlIG5leHQgIHRvCiAgICAgICAgICAgICAgICAgICAgICBsYXN0LgogCi0gICAgICAgICAgICAgIElmIHRoZSBwCHBvCG9wCHBkCGQgY29tbWFuZCBpcyBzdWNjZXNzZnVsLCBhIGQIZGkIaXIIcnMIcyBpcyBwZXJmb3JtZWQgYXMgIHdlbGwsCi0gICAgICAgICAgICAgIGFuZCAgdGhlICByZXR1cm4gIHN0YXR1cyBpcyAwLiAgcAhwbwhvcAhwZAhkIHJldHVybnMgZmFsc2UgaWYgYW4gaW52YWxpZAorICAgICAgICAgICAgICBJZiAgdGhlIHAIcG8Ib3AIcGQIZCBjb21tYW5kIGlzIHN1Y2Nlc3NmdWwsIGEgZAhkaQhpcghycwhzIGlzIHBlcmZvcm1lZCBhcyB3ZWxsLAorICAgICAgICAgICAgICBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4gIHAIcG8Ib3AIcGQIZCByZXR1cm5zIGZhbHNlICBpZiAgYW4gIGludmFsaWQKICAgICAgICAgICAgICAgb3B0aW9uIGlzIGVuY291bnRlcmVkLCB0aGUgZGlyZWN0b3J5IHN0YWNrIGlzIGVtcHR5LCBhIG5vbi1leGlzLQogICAgICAgICAgICAgICB0ZW50IGRpcmVjdG9yeSBzdGFjayBlbnRyeSBpcyBzcGVjaWZpZWQsIG9yIHRoZSBkaXJlY3RvcnkgY2hhbmdlCiAgICAgICAgICAgICAgIGZhaWxzLgogCiAgICAgICAgcAhwcghyaQhpbghudAh0ZghmIFstCC12CHYgXwh2XwhhXwhyXSBfCGZfCG9fCHJfCG1fCGFfCHQgW18IYV8Icl8IZ18IdV8IbV8IZV8Ibl8IdF8Ic10KLSAgICAgICAgICAgICAgV3JpdGUgdGhlIGZvcm1hdHRlZCBfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHRfCHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dCAgdW5kZXIgIHRoZQotICAgICAgICAgICAgICBjb250cm9sICBvZiAgdGhlIF8IZl8Ib18Icl8IbV8IYV8IdC4gIFRoZSBfCGZfCG9fCHJfCG1fCGFfCHQgaXMgYSBjaGFyYWN0ZXIgc3RyaW5nIHdoaWNoCi0gICAgICAgICAgICAgIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIG9iamVjdHM6ICBwbGFpbiAgY2hhcmFjdGVycywgIHdoaWNoICBhcmUKLSAgICAgICAgICAgICAgc2ltcGx5ICBjb3BpZWQgIHRvICBzdGFuZGFyZCBvdXRwdXQsIGNoYXJhY3RlciBlc2NhcGUgc2VxdWVuY2VzLAotICAgICAgICAgICAgICB3aGljaCBhcmUgY29udmVydGVkIGFuZCBjb3BpZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dCwgYW5kICBmb3ItCi0gICAgICAgICAgICAgIG1hdCAgc3BlY2lmaWNhdGlvbnMsICBlYWNoICBvZiB3aGljaCBjYXVzZXMgcHJpbnRpbmcgb2YgdGhlIG5leHQKLSAgICAgICAgICAgICAgc3VjY2Vzc2l2ZSBfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHQuICBJbiBhZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQgXwhwXwhyXwhpXwhuXwh0XwhmKDEpIGZvci0KLSAgICAgICAgICAgICAgbWF0cywgICUIJWIIYiAgY2F1c2VzIHAIcHIIcmkIaW4IbnQIdGYIZiB0byBleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4KLSAgICAgICAgICAgICAgdGhlIGNvcnJlc3BvbmRpbmcgXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0IChleGNlcHQgdGhhdCAgXAhcYwhjICB0ZXJtaW5hdGVzICBvdXRwdXQsCi0gICAgICAgICAgICAgIGJhY2tzbGFzaGVzIGluIFwIXCcIJywgXAhcIggiLCBhbmQgXAhcPwg/IGFyZSBub3QgcmVtb3ZlZCwgYW5kIG9jdGFsIGVzY2FwZXMKLSAgICAgICAgICAgICAgYmVnaW5uaW5nIHdpdGggXAhcMAgwIG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzKSwgYW5kICUIJXEIcSAgY2F1c2VzCi0gICAgICAgICAgICAgIHAIcHIIcmkIaW4IbnQIdGYIZiB0byBvdXRwdXQgdGhlIGNvcnJlc3BvbmRpbmcgXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0IGluIGEgZm9ybWF0IHRoYXQgY2FuCi0gICAgICAgICAgICAgIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dC4KKyAgICAgICAgICAgICAgV3JpdGUgIHRoZSAgZm9ybWF0dGVkIF8IYV8Icl8IZ18IdV8IbV8IZV8Ibl8IdF8IcyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IHVuZGVyIHRoZQorICAgICAgICAgICAgICBjb250cm9sIG9mIHRoZSBfCGZfCG9fCHJfCG1fCGFfCHQuICBUaGUgLQgtdgh2IG9wdGlvbiBjYXVzZXMgdGhlICBvdXRwdXQgIHRvICBiZQorICAgICAgICAgICAgICBhc3NpZ25lZCAgdG8gIHRoZSAgdmFyaWFibGUgXwh2XwhhXwhyIHJhdGhlciB0aGFuIGJlaW5nIHByaW50ZWQgdG8gdGhlCisgICAgICAgICAgICAgIHN0YW5kYXJkIG91dHB1dC4KIAotICAgICAgICAgICAgICBUaGUgLQgtdgh2IG9wdGlvbiBjYXVzZXMgdGhlIG91dHB1dCB0byBiZSBhc3NpZ25lZCB0byAgdGhlICB2YXJpYWJsZQotICAgICAgICAgICAgICBfCHZfCGFfCHIgcmF0aGVyIHRoYW4gYmVpbmcgcHJpbnRlZCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LgorICAgICAgICAgICAgICBUaGUgXwhmXwhvXwhyXwhtXwhhXwh0IGlzIGEgY2hhcmFjdGVyIHN0cmluZyB3aGljaCBjb250YWlucyB0aHJlZSAgdHlwZXMgIG9mCisgICAgICAgICAgICAgIG9iamVjdHM6ICBwbGFpbiAgY2hhcmFjdGVycywgd2hpY2ggYXJlIHNpbXBseSBjb3BpZWQgdG8gc3RhbmRhcmQKKyAgICAgICAgICAgICAgb3V0cHV0LCBjaGFyYWN0ZXIgZXNjYXBlICBzZXF1ZW5jZXMsICB3aGljaCAgYXJlICBjb252ZXJ0ZWQgIGFuZAorICAgICAgICAgICAgICBjb3BpZWQgIHRvICB0aGUgc3RhbmRhcmQgb3V0cHV0LCBhbmQgZm9ybWF0IHNwZWNpZmljYXRpb25zLCBlYWNoCisgICAgICAgICAgICAgIG9mIHdoaWNoIGNhdXNlcyBwcmludGluZyBvZiB0aGUgbmV4dCAgc3VjY2Vzc2l2ZSAgXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0LiAgIEluCisgICAgICAgICAgICAgIGFkZGl0aW9uIHRvIHRoZSBzdGFuZGFyZCBfCHBfCHJfCGlfCG5fCHRfCGYoMSkgZm9ybWF0IHNwZWNpZmljYXRpb25zLCBwCHByCHJpCGluCG50CHRmCGYKKyAgICAgICAgICAgICAgaW50ZXJwcmV0cyB0aGUgZm9sbG93aW5nIGV4dGVuc2lvbnM6CisgICAgICAgICAgICAgICUIJWIIYiAgICAgY2F1c2VzIHAIcHIIcmkIaW4IbnQIdGYIZiB0byBleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlCisgICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kaW5nIF8IYV8Icl8IZ18IdV8IbV8IZV8Ibl8IdCAoZXhjZXB0IHRoYXQgXAhcYwhjIHRlcm1pbmF0ZXMgb3V0cHV0LAorICAgICAgICAgICAgICAgICAgICAgYmFja3NsYXNoZXMgaW4gXAhcJwgnLCBcCFwiCCIsIGFuZCBcCFw/CD8gYXJlIG5vdCByZW1vdmVkLCBhbmQgIG9jdGFsCisgICAgICAgICAgICAgICAgICAgICBlc2NhcGVzIGJlZ2lubmluZyB3aXRoIFwIXDAIMCBtYXkgY29udGFpbiB1cCB0byBmb3VyIGRpZ2l0cykuCisgICAgICAgICAgICAgICUIJXEIcSAgICAgY2F1c2VzIHAIcHIIcmkIaW4IbnQIdGYIZiB0byBvdXRwdXQgdGhlIGNvcnJlc3BvbmRpbmcgXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0ICBpbiAgYQorICAgICAgICAgICAgICAgICAgICAgZm9ybWF0IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dC4KKyAgICAgICAgICAgICAgJQglKAgoXwhkXwhhXwh0XwhlXwhmXwhtXwh0KQgpVAhUCisgICAgICAgICAgICAgICAgICAgICBjYXVzZXMgIHAIcHIIcmkIaW4IbnQIdGYIZiAgdG8gIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcKKyAgICAgICAgICAgICAgICAgICAgIGZyb20gdXNpbmcgXwhkXwhhXwh0XwhlXwhmXwhtXwh0IGFzIGEgZm9ybWF0ICBzdHJpbmcgIGZvciAgXwhzXwh0XwhyXwhmXwh0XwhpXwhtXwhlKDMpLgorICAgICAgICAgICAgICAgICAgICAgVGhlIGNvcnJlc3BvbmRpbmcgXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0IGlzIGFuIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZQorICAgICAgICAgICAgICAgICAgICAgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgdGhlIGVwb2NoLiAgVHdvIHNwZWNpYWwgIGFyZ3VtZW50CisgICAgICAgICAgICAgICAgICAgICB2YWx1ZXMgIG1heSAgYmUgdXNlZDogLTEgcmVwcmVzZW50cyB0aGUgY3VycmVudCB0aW1lLCBhbmQKKyAgICAgICAgICAgICAgICAgICAgIC0yIHJlcHJlc2VudHMgdGhlIHRpbWUgdGhlIHNoZWxsIHdhcyBpbnZva2VkLgorCisgICAgICAgICAgICAgIEFyZ3VtZW50cyB0byBub24tc3RyaW5nIGZvcm1hdCBzcGVjaWZpZXJzIGFyZSB0cmVhdGVkIGFzIEMgIGNvbi0KKyAgICAgICAgICAgICAgc3RhbnRzLCBleGNlcHQgdGhhdCBhIGxlYWRpbmcgcGx1cyBvciBtaW51cyBzaWduIGlzIGFsbG93ZWQsIGFuZAorICAgICAgICAgICAgICBpZiB0aGUgbGVhZGluZyBjaGFyYWN0ZXIgaXMgYSBzaW5nbGUgb3IgZG91YmxlIHF1b3RlLCB0aGUgIHZhbHVlCisgICAgICAgICAgICAgIGlzIHRoZSBBU0NJSSB2YWx1ZSBvZiB0aGUgZm9sbG93aW5nIGNoYXJhY3Rlci4KIAogICAgICAgICAgICAgICBUaGUgIF8IZl8Ib18Icl8IbV8IYV8IdCAgaXMgIHJldXNlZCBhcyBuZWNlc3NhcnkgdG8gY29uc3VtZSBhbGwgb2YgdGhlIF8IYV8Icl8IZ18IdV8ILQogICAgICAgICAgICAgICBfCG1fCGVfCG5fCHRfCHMuICBJZiB0aGUgXwhmXwhvXwhyXwhtXwhhXwh0IHJlcXVpcmVzIG1vcmUgXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0XwhzIHRoYW4gYXJlIHN1cHBsaWVkLApAQCAtNDYxMiw4ICs0NzEzLDggQEAKICAgICAgICAgICAgICAgc3RhdHVzIGlzIGZhbHNlLiAgQW55IGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIHRoZSBSCFJFCEVUCFRVCFVSCFJOCE4gdHJhcCBpcwogICAgICAgICAgICAgICBleGVjdXRlZCAgYmVmb3JlIGV4ZWN1dGlvbiByZXN1bWVzIGFmdGVyIHRoZSBmdW5jdGlvbiBvciBzY3JpcHQuCiAKLSAgICAgICBzCHNlCGV0CHQgWy0ILS0ILWEIYWIIYmUIZWYIZmgIaGsIa20IbW4IbnAIcHQIdHUIdXYIdngIeEIIQkMIQ0UIRUgISFAIUFQIVF0gWy0ILW8IbyBfCG9fCHBfCHRfCGlfCG9fCG5dIFtfCGFfCHJfCGcgLi4uXQotICAgICAgIHMIc2UIZXQIdCBbKwgrYQhhYghiZQhlZghmaAhoawhrbQhtbghucAhwdAh0dQh1dgh2eAh4QghCQwhDRQhFSAhIUAhQVAhUXSBbKwgrbwhvIF8Ib18IcF8IdF8IaV8Ib18Ibl0gW18IYV8Icl8IZyAuLi5dCisgICAgICAgcwhzZQhldAh0IFstCC0tCC1hCGFiCGJlCGVmCGZoCGhrCGttCG1uCG5wCHB0CHR1CHV2CHZ4CHhCCEJDCENFCEVICEhQCFBUCFRdIFstCC1vCG8gXwhvXwhwXwh0XwhpXwhvXwhuXwgtXwhuXwhhXwhtXwhlXSBbXwhhXwhyXwhnIC4uLl0KKyAgICAgICBzCHNlCGV0CHQgWysIK2EIYWIIYmUIZWYIZmgIaGsIa20IbW4IbnAIcHQIdHUIdXYIdngIeEIIQkMIQ0UIRUgISFAIUFQIVF0gWysIK28IbyBfCG9fCHBfCHRfCGlfCG9fCG5fCC1fCG5fCGFfCG1fCGVdIFtfCGFfCHJfCGcgLi4uXQogICAgICAgICAgICAgICBXaXRob3V0IG9wdGlvbnMsIHRoZSBuYW1lIGFuZCB2YWx1ZSBvZiBlYWNoIHNoZWxsICB2YXJpYWJsZSAgYXJlCiAgICAgICAgICAgICAgIGRpc3BsYXllZCBpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSByZXVzZWQgYXMgaW5wdXQgZm9yIHNldHRpbmcgb3IKICAgICAgICAgICAgICAgcmVzZXR0aW5nIHRoZSBjdXJyZW50bHktc2V0IHZhcmlhYmxlcy4gIFJlYWQtb25seSB2YXJpYWJsZXMgY2FuLQpAQCAtNDg1NiwxNyArNDk1NywyOSBAQAogICAgICAgICAgICAgICAgICAgICAgIGVhc3kgcmUtZWRpdGluZyBvZiBtdWx0aS1saW5lIGNvbW1hbmRzLgogICAgICAgICAgICAgICBjCGNvCG9tCG1wCHBhCGF0CHQzCDMxCDEKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gMy4xCi0gICAgICAgICAgICAgICAgICAgICAgd2l0aCByZXNwZWN0IHRvIHF1b3RlZCBhcmd1bWVudHMgdG8gdGhlIGNvbmRpdGlvbmFsIGNvbS0KLSAgICAgICAgICAgICAgICAgICAgICBtYW5kJ3MgPX4gb3BlcmF0b3IuCisgICAgICAgICAgICAgICAgICAgICAgd2l0aCByZXNwZWN0IHRvIHF1b3RlZCBhcmd1bWVudHMgdG8gdGhlICBbCFtbCFsgIGNvbmRpdGlvbmFsCisgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZCdzID0IPX4IfiBvcGVyYXRvci4KICAgICAgICAgICAgICAgYwhjbwhvbQhtcAhwYQhhdAh0MwgzMggyCiAgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBiCGJhCGFzCHNoCGggY2hhbmdlcyBpdHMgYmVoYXZpb3IgdG8gdGhhdCBvZiB2ZXJzaW9uIDMuMgogICAgICAgICAgICAgICAgICAgICAgIHdpdGggcmVzcGVjdCB0byBsb2NhbGUtc3BlY2lmaWMgc3RyaW5nICBjb21wYXJpc29uICB3aGVuCi0gICAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQncyA8IGFuZCA+IG9wZXJhdG9ycy4KKyAgICAgICAgICAgICAgICAgICAgICB1c2luZyAgdGhlICBbCFtbCFsgIGNvbmRpdGlvbmFsIGNvbW1hbmQncyA8CDwgYW5kID4IPiBvcGVyYXRvcnMuCisgICAgICAgICAgICAgICAgICAgICAgQmFzaCB2ZXJzaW9ucyBwcmlvciB0byBiYXNoLTQuMSB1c2UgQVNDSUkgY29sbGF0aW9uICBhbmQKKyAgICAgICAgICAgICAgICAgICAgICBfCHNfCHRfCHJfCGNfCG1fCHAoMyk7ICBiYXNoLTQuMSAgYW5kIGxhdGVyIHVzZSB0aGUgY3VycmVudCBsb2NhbGUncworICAgICAgICAgICAgICAgICAgICAgIGNvbGxhdGlvbiBzZXF1ZW5jZSBhbmQgXwhzXwh0XwhyXwhjXwhvXwhsXwhsKDMpLgogICAgICAgICAgICAgICBjCGNvCG9tCG1wCHBhCGF0CHQ0CDQwCDAKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gNC4wCi0gICAgICAgICAgICAgICAgICAgICAgd2l0aCByZXNwZWN0IHRvIGxvY2FsZS1zcGVjaWZpYyBzdHJpbmcgIGNvbXBhcmlzb24gIHdoZW4KLSAgICAgICAgICAgICAgICAgICAgICB1c2luZyAgdGhlICBjb25kaXRpb25hbCAgY29tbWFuZCdzIDwgYW5kID4gb3BlcmF0b3JzIGFuZAotICAgICAgICAgICAgICAgICAgICAgIHRoZSBlZmZlY3Qgb2YgaW50ZXJydXB0aW5nIGEgY29tbWFuZCBsaXN0LgorICAgICAgICAgICAgICAgICAgICAgIHdpdGggIHJlc3BlY3QgIHRvIGxvY2FsZS1zcGVjaWZpYyBzdHJpbmcgY29tcGFyaXNvbiB3aGVuCisgICAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlIFsIW1sIWyBjb25kaXRpb25hbCBjb21tYW5kJ3MgIDwIPCAgYW5kICA+CD4gIG9wZXJhdG9ycworICAgICAgICAgICAgICAgICAgICAgIChzZWUgIHByZXZpb3VzICBpdGVtKSAgYW5kICB0aGUgZWZmZWN0IG9mIGludGVycnVwdGluZyBhCisgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZCBsaXN0LgorICAgICAgICAgICAgICBjCGNvCG9tCG1wCHBhCGF0CHQ0CDQxCDEKKyAgICAgICAgICAgICAgICAgICAgICBAaXRlbSBjb21wYXQ0MSBJZiBzZXQsIGIIYmEIYXMIc2gIaCwgd2hlbiBpbiBwb3NpeCBtb2RlLCAgdHJlYXRzCisgICAgICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgcXVvdGUgaW4gYSBkb3VibGUtcXVvdGVkIHBhcmFtZXRlciBleHBhbnNpb24gYXMKKyAgICAgICAgICAgICAgICAgICAgICBhIHNwZWNpYWwgY2hhcmFjdGVyLiAgVGhlIHNpbmdsZSBxdW90ZXMgbXVzdCAgbWF0Y2ggIChhbgorICAgICAgICAgICAgICAgICAgICAgIGV2ZW4gIG51bWJlcikgIGFuZCAgdGhlICBjaGFyYWN0ZXJzICBiZXR3ZWVuICB0aGUgc2luZ2xlCisgICAgICAgICAgICAgICAgICAgICAgcXVvdGVzIGFyZSBjb25zaWRlcmVkIHF1b3RlZC4gIFRoaXMgaXMgdGhlICBiZWhhdmlvciAgb2YKKyAgICAgICAgICAgICAgICAgICAgICBwb3NpeCBtb2RlIHRocm91Z2ggdmVyc2lvbiA0LjEuICBUaGUgZGVmYXVsdCBiYXNoIGJlaGF2LQorICAgICAgICAgICAgICAgICAgICAgIGlvciByZW1haW5zIGFzIGluIHByZXZpb3VzIHZlcnNpb25zLgogICAgICAgICAgICAgICBkCGRpCGlyCHJzCHNwCHBlCGVsCGxsCGwKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCBhdHRlbXB0cyBzcGVsbGluZyBjb3JyZWN0aW9uICBvbiAgZGlyZWN0b3J5CiAgICAgICAgICAgICAgICAgICAgICAgbmFtZXMgIGR1cmluZyB3b3JkIGNvbXBsZXRpb24gaWYgdGhlIGRpcmVjdG9yeSBuYW1lIGluaS0KQEAgLTQ5MDMsNyArNTAxNiw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgIKCBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgKQgpIGluaGVyaXQgdGhlIEQIREUIRUIIQlUIVUcIRyBhbmQgUghSRQhFVAhUVQhVUghSTghOIHRyYXBzLgogICAgICAgICAgICAgICAgICAgICAgIDYINi4ILiAgICAgRXJyb3IgdHJhY2luZyBpcyBlbmFibGVkOiAgY29tbWFuZCAgc3Vic3RpdHV0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVsbCAgZnVuY3Rpb25zLCAgYW5kICBzdWJzaGVsbHMgIGludm9rZWQgd2l0aCAoCCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXwhjXwhvXwhtXwhtXwhhXwhuXwhkICkIKSBpbmhlcml0IHRoZSBFCEVSCFJSCFJPCE9SCFIgdHJhcC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXwhjXwhvXwhtXwhtXwhhXwhuXwhkICkIKSBpbmhlcml0IHRoZSBFCEVSCFJSCFIgdHJhcC4KICAgICAgICAgICAgICAgZQhleAh4dAh0ZwhnbAhsbwhvYghiIElmIHNldCwgdGhlIGV4dGVuZGVkIHBhdHRlcm4gbWF0Y2hpbmcgZmVhdHVyZXMgZGVzY3JpYmVkCiAgICAgICAgICAgICAgICAgICAgICAgYWJvdmUgdW5kZXIgUAhQYQhhdAh0aAhobghuYQhhbQhtZQhlIEUIRXgIeHAIcGEIYW4IbnMIc2kIaW8Ib24IbiBhcmUgZW5hYmxlZC4KICAgICAgICAgICAgICAgZQhleAh4dAh0cQhxdQh1bwhvdAh0ZQhlCkBAIC00OTU0LDYgKzUwNjcsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICBhbmQgIGFsbCByZW1haW5pbmcgY2hhcmFjdGVycyBvbiB0aGF0IGxpbmUgdG8gYmUgaWdub3JlZAogICAgICAgICAgICAgICAgICAgICAgIGluIGFuIGludGVyYWN0aXZlICBzaGVsbCAgKHNlZSAgQwhDTwhPTQhNTQhNRQhFTghOVAhUUwhTICBhYm92ZSkuICAgVGhpcwogICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCisgICAgICAgICAgICAgIGwIbGEIYXMIc3QIdHAIcGkIaXAIcGUIZQorICAgICAgICAgICAgICAgICAgICAgIElmICBzZXQsICBhbmQgIGpvYiBjb250cm9sIGlzIG5vdCBhY3RpdmUsIHRoZSBzaGVsbCBydW5zCisgICAgICAgICAgICAgICAgICAgICAgdGhlIGxhc3QgY29tbWFuZCBvZiBhIHBpcGVsaW5lIG5vdCBleGVjdXRlZCBpbiB0aGUgYmFjay0KKyAgICAgICAgICAgICAgICAgICAgICBncm91bmQgaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW52aXJvbm1lbnQuCiAgICAgICAgICAgICAgIGwIbGkIaXQIdGgIaGkIaXMIc3QIdCBJZiAgc2V0LCAgYW5kICB0aGUgYwhjbQhtZAhkaAhoaQhpcwhzdAh0IG9wdGlvbiBpcyBlbmFibGVkLCBtdWx0aS1saW5lCiAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZHMgYXJlIHNhdmVkIHRvIHRoZSBoaXN0b3J5IHdpdGggZW1iZWRkZWQgbmV3bGluZXMKICAgICAgICAgICAgICAgICAgICAgICByYXRoZXIgdGhhbiB1c2luZyBzZW1pY29sb24gc2VwYXJhdG9ycyB3aGVyZSBwb3NzaWJsZS4KQEAgLTUwMjUsMTAgKzUxNDIsMTEgQEAKIAogICAgICAgICAgICAgICBFeHByZXNzaW9ucyAgbWF5ICBiZSAgY29tYmluZWQgIHVzaW5nICB0aGUgIGZvbGxvd2luZyBvcGVyYXRvcnMsCiAgICAgICAgICAgICAgIGxpc3RlZCAgaW4gIGRlY3JlYXNpbmcgIG9yZGVyICBvZiAgcHJlY2VkZW5jZS4gICBUaGUgIGV2YWx1YXRpb24KLSAgICAgICAgICAgICAgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50czsgc2VlIGJlbG93LgorICAgICAgICAgICAgICBkZXBlbmRzICBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50czsgc2VlIGJlbG93LiAgT3BlcmF0b3IgcHJlY2UtCisgICAgICAgICAgICAgIGRlbmNlIGlzIHVzZWQgd2hlbiB0aGVyZSBhcmUgZml2ZSBvciBtb3JlIGFyZ3VtZW50cy4KICAgICAgICAgICAgICAgIQghIF8IZV8IeF8IcF8IciBUcnVlIGlmIF8IZV8IeF8IcF8IciBpcyBmYWxzZS4KICAgICAgICAgICAgICAgKAgoIF8IZV8IeF8IcF8IciApCCkKLSAgICAgICAgICAgICAgICAgICAgIFJldHVybnMgIHRoZSB2YWx1ZSBvZiBfCGVfCHhfCHBfCHIuICBUaGlzIG1heSBiZSB1c2VkIHRvIG92ZXJyaWRlCisgICAgICAgICAgICAgICAgICAgICBSZXR1cm5zIHRoZSB2YWx1ZSBvZiBfCGVfCHhfCHBfCHIuICBUaGlzIG1heSBiZSB1c2VkIHRvICBvdmVycmlkZQogICAgICAgICAgICAgICAgICAgICAgdGhlIG5vcm1hbCBwcmVjZWRlbmNlIG9mIG9wZXJhdG9ycy4KICAgICAgICAgICAgICAgXwhlXwh4XwhwXwhyXwgxIC1hCGEgXwhlXwh4XwhwXwhyXwgyCiAgICAgICAgICAgICAgICAgICAgICBUcnVlIGlmIGJvdGggXwhlXwh4XwhwXwhyXwgxIGFuZCBfCGVfCHhfCHBfCHJfCDIgYXJlIHRydWUuCkBAIC01MDQ1LDEzICs1MTYzLDE0IEBACiAgICAgICAgICAgICAgICAgICAgICBudWxsLgogICAgICAgICAgICAgICAyIGFyZ3VtZW50cwogICAgICAgICAgICAgICAgICAgICAgSWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlzICEIISwgdGhlIGV4cHJlc3Npb24gaXMgdHJ1ZSBpZiBhbmQKLSAgICAgICAgICAgICAgICAgICAgIG9ubHkgIGlmIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgbnVsbC4gIElmIHRoZSBmaXJzdCBhcmd1LQotICAgICAgICAgICAgICAgICAgICAgbWVudCBpcyBvbmUgb2YgdGhlICB1bmFyeSAgY29uZGl0aW9uYWwgIG9wZXJhdG9ycyAgbGlzdGVkCi0gICAgICAgICAgICAgICAgICAgICBhYm92ZSAgdW5kZXIgIEMIQ08IT04ITkQIREkISVQIVEkISU8IT04ITkEIQUwITCAgRQhFWAhYUAhQUghSRQhFUwhTUwhTSQhJTwhPTghOUwhTLCB0aGUgZXhwcmVzc2lvbiBpcworICAgICAgICAgICAgICAgICAgICAgb25seSBpZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG51bGwuICBJZiB0aGUgZmlyc3QgIGFyZ3UtCisgICAgICAgICAgICAgICAgICAgICBtZW50ICBpcyAgb25lICBvZiAgdGhlIHVuYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9ycyBsaXN0ZWQKKyAgICAgICAgICAgICAgICAgICAgIGFib3ZlIHVuZGVyIEMIQ08IT04ITkQIREkISVQIVEkISU8IT04ITkEIQUwITCBFCEVYCFhQCFBSCFJFCEVTCFNTCFNJCElPCE9OCE5TCFMsICB0aGUgIGV4cHJlc3Npb24gIGlzCiAgICAgICAgICAgICAgICAgICAgICB0cnVlIGlmIHRoZSB1bmFyeSB0ZXN0IGlzIHRydWUuICBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMKICAgICAgICAgICAgICAgICAgICAgIG5vdCBhIHZhbGlkIHVuYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9yLCB0aGUgZXhwcmVzc2lvbiBpcwogICAgICAgICAgICAgICAgICAgICAgZmFsc2UuCiAgICAgICAgICAgICAgIDMgYXJndW1lbnRzCisgICAgICAgICAgICAgICAgICAgICBUaGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIGxpc3RlZC4KICAgICAgICAgICAgICAgICAgICAgIElmIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgb25lIG9mIHRoZSAgYmluYXJ5ICBjb25kaXRpb25hbAogICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JzIGxpc3RlZCBhYm92ZSB1bmRlciBDCENPCE9OCE5ECERJCElUCFRJCElPCE9OCE5BCEFMCEwgRQhFWAhYUAhQUghSRQhFUwhTUwhTSQhJTwhPTghOUwhTLCB0aGUKICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCBvZiB0aGUgZXhwcmVzc2lvbiBpcyB0aGUgcmVzdWx0IG9mIHRoZSBiaW5hcnkgdGVzdApAQCAtNTA3MywzMSArNTE5MiwzNCBAQAogICAgICAgICAgICAgICAgICAgICAgVGhlIGV4cHJlc3Npb24gIGlzICBwYXJzZWQgIGFuZCAgZXZhbHVhdGVkICBhY2NvcmRpbmcgIHRvCiAgICAgICAgICAgICAgICAgICAgICBwcmVjZWRlbmNlIHVzaW5nIHRoZSBydWxlcyBsaXN0ZWQgYWJvdmUuCiAKLSAgICAgICB0CHRpCGltCG1lCGVzCHMgIFByaW50ICB0aGUgIGFjY3VtdWxhdGVkICB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yIHRoZSBzaGVsbCBhbmQKKyAgICAgICAgICAgICAgV2hlbiAgdXNlZCAgd2l0aCAgdAh0ZQhlcwhzdAh0ICBvciBbCFssIHRoZSA8CDwgYW5kID4IPiBvcGVyYXRvcnMgc29ydCBsZXhpY28tCisgICAgICAgICAgICAgIGdyYXBoaWNhbGx5IHVzaW5nIEFTQ0lJIG9yZGVyaW5nLgorCisgICAgICAgdAh0aQhpbQhtZQhlcwhzICBQcmludCB0aGUgYWNjdW11bGF0ZWQgdXNlciBhbmQgc3lzdGVtIHRpbWVzIGZvciAgdGhlICBzaGVsbCAgYW5kCiAgICAgICAgICAgICAgIGZvciBwcm9jZXNzZXMgcnVuIGZyb20gdGhlIHNoZWxsLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgMC4KIAogICAgICAgIHQIdHIIcmEIYXAIcCBbLQgtbAhscAhwXSBbW18IYV8Icl8IZ10gXwhzXwhpXwhnXwhzXwhwXwhlXwhjIC4uLl0KLSAgICAgICAgICAgICAgVGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIHRvICBiZSAgcmVhZCAgYW5kICBleGVjdXRlZCAgd2hlbiAgdGhlICBzaGVsbAotICAgICAgICAgICAgICByZWNlaXZlcyAgc2lnbmFsKHMpICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMuICAgSWYgXwhhXwhyXwhnIGlzIGFic2VudCAoYW5kIHRoZXJlIGlzIGEKLSAgICAgICAgICAgICAgc2luZ2xlIF8Ic18IaV8IZ18Ic18IcF8IZV8IYykgb3IgLQgtLCBlYWNoIHNwZWNpZmllZCAgc2lnbmFsICBpcyAgcmVzZXQgIHRvICBpdHMKLSAgICAgICAgICAgICAgb3JpZ2luYWwgIGRpc3Bvc2l0aW9uICAodGhlICB2YWx1ZSAgaXQgIGhhZCB1cG9uIGVudHJhbmNlIHRvIHRoZQotICAgICAgICAgICAgICBzaGVsbCkuICBJZiBfCGFfCHJfCGcgaXMgdGhlIG51bGwgc3RyaW5nIHRoZSBzaWduYWwgc3BlY2lmaWVkIGJ5ICBlYWNoCi0gICAgICAgICAgICAgIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyAgaXMgaWdub3JlZCBieSB0aGUgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbnZva2VzLgotICAgICAgICAgICAgICBJZiBfCGFfCHJfCGcgaXMgbm90IHByZXNlbnQgYW5kIC0ILXAIcCBoYXMgYmVlbiBzdXBwbGllZCwgIHRoZW4gIHRoZSAgdHJhcAotICAgICAgICAgICAgICBjb21tYW5kcyAgYXNzb2NpYXRlZCAgd2l0aCAgZWFjaCAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBhcmUgZGlzcGxheWVkLiAgSWYgbm8KLSAgICAgICAgICAgICAgYXJndW1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiBvbmx5IC0ILXAIcCBpcyBnaXZlbiwgdAh0cghyYQhhcAhwICBwcmludHMgIHRoZQotICAgICAgICAgICAgICBsaXN0ICBvZiAgY29tbWFuZHMgIGFzc29jaWF0ZWQgIHdpdGggZWFjaCBzaWduYWwuICBUaGUgLQgtbAhsIG9wdGlvbgotICAgICAgICAgICAgICBjYXVzZXMgdGhlIHNoZWxsIHRvIHByaW50IGEgbGlzdCBvZiBzaWduYWwgbmFtZXMgYW5kIHRoZWlyICBjb3ItCi0gICAgICAgICAgICAgIHJlc3BvbmRpbmcgIG51bWJlcnMuICAgRWFjaCAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBpcyAgZWl0aGVyICBhICBzaWduYWwgbmFtZQotICAgICAgICAgICAgICBkZWZpbmVkIGluIDxfCHNfCGlfCGdfCG5fCGFfCGxfCC5fCGg+LCBvciBhIHNpZ25hbCAgbnVtYmVyLiAgIFNpZ25hbCAgbmFtZXMgIGFyZQotICAgICAgICAgICAgICBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUgU0lHIHByZWZpeCBpcyBvcHRpb25hbC4KKyAgICAgICAgICAgICAgVGhlICBjb21tYW5kICBfCGFfCHJfCGcgIGlzICB0byAgYmUgIHJlYWQgIGFuZCBleGVjdXRlZCB3aGVuIHRoZSBzaGVsbAorICAgICAgICAgICAgICByZWNlaXZlcyBzaWduYWwocykgXwhzXwhpXwhnXwhzXwhwXwhlXwhjLiAgSWYgXwhhXwhyXwhnIGlzIGFic2VudCAoYW5kICB0aGVyZSAgaXMgIGEKKyAgICAgICAgICAgICAgc2luZ2xlICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMpICBvciAgLQgtLCAgZWFjaCAgc3BlY2lmaWVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMKKyAgICAgICAgICAgICAgb3JpZ2luYWwgZGlzcG9zaXRpb24gKHRoZSB2YWx1ZSBpdCAgaGFkICB1cG9uICBlbnRyYW5jZSAgdG8gIHRoZQorICAgICAgICAgICAgICBzaGVsbCkuICAgSWYgXwhhXwhyXwhnIGlzIHRoZSBudWxsIHN0cmluZyB0aGUgc2lnbmFsIHNwZWNpZmllZCBieSBlYWNoCisgICAgICAgICAgICAgIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBpZ25vcmVkIGJ5IHRoZSBzaGVsbCBhbmQgYnkgdGhlIGNvbW1hbmRzIGl0ICBpbnZva2VzLgorICAgICAgICAgICAgICBJZiAgXwhhXwhyXwhnICBpcyAgbm90IHByZXNlbnQgYW5kIC0ILXAIcCBoYXMgYmVlbiBzdXBwbGllZCwgdGhlbiB0aGUgdHJhcAorICAgICAgICAgICAgICBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggZWFjaCAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBhcmUgIGRpc3BsYXllZC4gICBJZiAgbm8KKyAgICAgICAgICAgICAgYXJndW1lbnRzICBhcmUgIHN1cHBsaWVkIG9yIGlmIG9ubHkgLQgtcAhwIGlzIGdpdmVuLCB0CHRyCHJhCGFwCHAgcHJpbnRzIHRoZQorICAgICAgICAgICAgICBsaXN0IG9mIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCBlYWNoICBzaWduYWwuICAgVGhlICAtCC1sCGwgIG9wdGlvbgorICAgICAgICAgICAgICBjYXVzZXMgIHRoZSBzaGVsbCB0byBwcmludCBhIGxpc3Qgb2Ygc2lnbmFsIG5hbWVzIGFuZCB0aGVpciBjb3ItCisgICAgICAgICAgICAgIHJlc3BvbmRpbmcgbnVtYmVycy4gICBFYWNoICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgIGlzICBlaXRoZXIgIGEgIHNpZ25hbCAgbmFtZQorICAgICAgICAgICAgICBkZWZpbmVkICBpbiAgPF8Ic18IaV8IZ18Ibl8IYV8IbF8ILl8IaD4sICBvciAgYSBzaWduYWwgbnVtYmVyLiAgU2lnbmFsIG5hbWVzIGFyZQorICAgICAgICAgICAgICBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUgUwhTSQhJRwhHIHByZWZpeCBpcyBvcHRpb25hbC4KIAotICAgICAgICAgICAgICBJZiAgYSAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBpcyAgRQhFWAhYSQhJVAhUICgwKSB0aGUgY29tbWFuZCBfCGFfCHJfCGcgaXMgZXhlY3V0ZWQgb24gZXhpdAotICAgICAgICAgICAgICBmcm9tIHRoZSBzaGVsbC4gIElmIGEgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIEQIREUIRUIIQlUIVUcIRywgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzICBleGUtCi0gICAgICAgICAgICAgIGN1dGVkICBiZWZvcmUgIGV2ZXJ5ICBfCHNfCGlfCG1fCHBfCGxfCGUgXwhjXwhvXwhtXwhtXwhhXwhuXwhkLCBfCGZfCG9fCHIgY29tbWFuZCwgXwhjXwhhXwhzXwhlIGNvbW1hbmQsCi0gICAgICAgICAgICAgIF8Ic18IZV8IbF8IZV8IY18IdCBjb21tYW5kLCBldmVyeSBhcml0aG1ldGljIF8IZl8Ib18IciAgY29tbWFuZCwgIGFuZCAgYmVmb3JlICB0aGUKLSAgICAgICAgICAgICAgZmlyc3QgIGNvbW1hbmQgIGV4ZWN1dGVzICBpbiBhIHNoZWxsIGZ1bmN0aW9uIChzZWUgUwhTSAhIRQhFTAhMTAhMIEcIR1IIUkEIQU0ITU0ITUEIQVIIUgotICAgICAgICAgICAgICBhYm92ZSkuICBSZWZlciB0byB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIGUIZXgIeHQIdGQIZGUIZWIIYnUIdWcIZyBvcHRpb24gdG8gIHRoZQorICAgICAgICAgICAgICBJZiBhIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBFCEVYCFhJCElUCFQgKDApIHRoZSBjb21tYW5kIF8IYV8Icl8IZyAgaXMgIGV4ZWN1dGVkICBvbiAgZXhpdAorICAgICAgICAgICAgICBmcm9tICB0aGUgc2hlbGwuICBJZiBhIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBECERFCEVCCEJVCFVHCEcsIHRoZSBjb21tYW5kIF8IYV8Icl8IZyBpcyBleGUtCisgICAgICAgICAgICAgIGN1dGVkIGJlZm9yZSBldmVyeSBfCHNfCGlfCG1fCHBfCGxfCGUgXwhjXwhvXwhtXwhtXwhhXwhuXwhkLCBfCGZfCG9fCHIgIGNvbW1hbmQsICBfCGNfCGFfCHNfCGUgIGNvbW1hbmQsCisgICAgICAgICAgICAgIF8Ic18IZV8IbF8IZV8IY18IdCAgY29tbWFuZCwgIGV2ZXJ5ICBhcml0aG1ldGljICBfCGZfCG9fCHIgY29tbWFuZCwgYW5kIGJlZm9yZSB0aGUKKyAgICAgICAgICAgICAgZmlyc3QgY29tbWFuZCBleGVjdXRlcyBpbiBhIHNoZWxsIGZ1bmN0aW9uICAoc2VlICBTCFNICEhFCEVMCExMCEwgIEcIR1IIUkEIQU0ITU0ITUEIQVIIUgorICAgICAgICAgICAgICBhYm92ZSkuICAgUmVmZXIgdG8gdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBlCGV4CHh0CHRkCGRlCGViCGJ1CHVnCGcgb3B0aW9uIHRvIHRoZQogICAgICAgICAgICAgICBzCHNoCGhvCG9wCHB0CHQgYnVpbHRpbiBmb3IgZGV0YWlscyBvZiBpdHMgZWZmZWN0IG9uIHRoZSBECERFCEVCCEJVCFVHCEcgdHJhcC4gIElmIGEKICAgICAgICAgICAgICAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIFIIUkUIRVQIVFUIVVIIUk4ITiwgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsCiAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGV4ZWN1dGVkIHdpdGggdGhlIC4ILiBvciBzCHNvCG91CHVyCHJjCGNlCGUgYnVpbHRpbnMgZmluLQpAQCAtNTEwNSw1MyArNTIyNyw1MyBAQAogCiAgICAgICAgICAgICAgIElmIGEgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIEUIRVIIUlIIUiwgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIGV4ZWN1dGVkIHdoZW5ldmVyIGEgc2ltLQogICAgICAgICAgICAgICBwbGUgY29tbWFuZCBoYXMgYSBub24temVybyBleGl0IHN0YXR1cywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nCi0gICAgICAgICAgICAgIGNvbmRpdGlvbnMuICBUaGUgRQhFUghSUghSIHRyYXAgaXMgbm90IGV4ZWN1dGVkIGlmIHRoZSBmYWlsZWQgIGNvbW1hbmQKLSAgICAgICAgICAgICAgaXMgIHBhcnQgIG9mICB0aGUgIGNvbW1hbmQgbGlzdCBpbW1lZGlhdGVseSBmb2xsb3dpbmcgYSB3CHdoCGhpCGlsCGxlCGUgb3IKLSAgICAgICAgICAgICAgdQh1bghudAh0aQhpbAhsIGtleXdvcmQsIHBhcnQgb2YgdGhlIHRlc3QgaW4gYW4gXwhpXwhmIHN0YXRlbWVudCwgIHBhcnQgIG9mICBhCi0gICAgICAgICAgICAgIGNvbW1hbmQgIGV4ZWN1dGVkIGluIGEgJggmJggmIG9yIHwIfHwIfCBsaXN0LCBvciBpZiB0aGUgY29tbWFuZCdzIHJldHVybgotICAgICAgICAgICAgICB2YWx1ZSBpcyBiZWluZyBpbnZlcnRlZCB2aWEgIQghLiAgVGhlc2UgYXJlICB0aGUgIHNhbWUgIGNvbmRpdGlvbnMKKyAgICAgICAgICAgICAgY29uZGl0aW9ucy4gICBUaGUgRQhFUghSUghSIHRyYXAgaXMgbm90IGV4ZWN1dGVkIGlmIHRoZSBmYWlsZWQgY29tbWFuZAorICAgICAgICAgICAgICBpcyBwYXJ0IG9mIHRoZSBjb21tYW5kIGxpc3QgaW1tZWRpYXRlbHkgIGZvbGxvd2luZyAgYSAgdwh3aAhoaQhpbAhsZQhlICBvcgorICAgICAgICAgICAgICB1CHVuCG50CHRpCGlsCGwgIGtleXdvcmQsICBwYXJ0ICBvZiB0aGUgdGVzdCBpbiBhbiBfCGlfCGYgc3RhdGVtZW50LCBwYXJ0IG9mIGEKKyAgICAgICAgICAgICAgY29tbWFuZCBleGVjdXRlZCBpbiBhICYIJiYIJiBvciB8CHx8CHwgbGlzdCwgb3IgaWYgdGhlIGNvbW1hbmQncyAgcmV0dXJuCisgICAgICAgICAgICAgIHZhbHVlICBpcyAgYmVpbmcgIGludmVydGVkIHZpYSAhCCEuICBUaGVzZSBhcmUgdGhlIHNhbWUgY29uZGl0aW9ucwogICAgICAgICAgICAgICBvYmV5ZWQgYnkgdGhlIGUIZXIIcnIIcmUIZXgIeGkIaXQIdCBvcHRpb24uCiAKLSAgICAgICAgICAgICAgU2lnbmFscyAgaWdub3JlZCAgdXBvbiAgZW50cnkgIHRvIHRoZSBzaGVsbCBjYW5ub3QgYmUgdHJhcHBlZCBvcgotICAgICAgICAgICAgICByZXNldC4gIFRyYXBwZWQgc2lnbmFscyB0aGF0IGFyZSBub3QgYmVpbmcgaWdub3JlZCBhcmUgcmVzZXQgIHRvCisgICAgICAgICAgICAgIFNpZ25hbHMgaWdub3JlZCB1cG9uIGVudHJ5IHRvIHRoZSBzaGVsbCAgY2Fubm90ICBiZSAgdHJhcHBlZCAgb3IKKyAgICAgICAgICAgICAgcmVzZXQuICAgVHJhcHBlZCBzaWduYWxzIHRoYXQgYXJlIG5vdCBiZWluZyBpZ25vcmVkIGFyZSByZXNldCB0bwogICAgICAgICAgICAgICB0aGVpciBvcmlnaW5hbCB2YWx1ZXMgaW4gYSBzdWJzaGVsbCBvciBzdWJzaGVsbCBlbnZpcm9ubWVudCB3aGVuCi0gICAgICAgICAgICAgIG9uZSBpcyBjcmVhdGVkLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgZmFsc2UgaWYgIGFueSAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBpcworICAgICAgICAgICAgICBvbmUgIGlzICBjcmVhdGVkLiAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIGZhbHNlIGlmIGFueSBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMKICAgICAgICAgICAgICAgaW52YWxpZDsgb3RoZXJ3aXNlIHQIdHIIcmEIYXAIcCByZXR1cm5zIHRydWUuCiAKICAgICAgICB0CHR5CHlwCHBlCGUgWy0ILWEIYWYIZnQIdHAIcFAIUF0gXwhuXwhhXwhtXwhlIFtfCG5fCGFfCG1fCGUgLi4uXQotICAgICAgICAgICAgICBXaXRoICBubyBvcHRpb25zLCBpbmRpY2F0ZSBob3cgZWFjaCBfCG5fCGFfCG1fCGUgd291bGQgYmUgaW50ZXJwcmV0ZWQgaWYKKyAgICAgICAgICAgICAgV2l0aCBubyBvcHRpb25zLCBpbmRpY2F0ZSBob3cgZWFjaCBfCG5fCGFfCG1fCGUgd291bGQgYmUgaW50ZXJwcmV0ZWQgIGlmCiAgICAgICAgICAgICAgIHVzZWQgYXMgYSBjb21tYW5kIG5hbWUuICBJZiB0aGUgLQgtdAh0IG9wdGlvbiBpcyB1c2VkLCB0CHR5CHlwCHBlCGUgcHJpbnRzIGEKLSAgICAgICAgICAgICAgc3RyaW5nICB3aGljaCAgaXMgIG9uZSAgb2YgXwhhXwhsXwhpXwhhXwhzLCBfCGtfCGVfCHlfCHdfCG9fCHJfCGQsIF8IZl8IdV8Ibl8IY18IdF8IaV8Ib18IbiwgXwhiXwh1XwhpXwhsXwh0XwhpXwhuLCBvcgotICAgICAgICAgICAgICBfCGZfCGlfCGxfCGUgaWYgIF8Ibl8IYV8IbV8IZSAgaXMgIGFuICBhbGlhcywgIHNoZWxsICByZXNlcnZlZCAgd29yZCwgIGZ1bmN0aW9uLAotICAgICAgICAgICAgICBidWlsdGluLCAgb3IgZGlzayBmaWxlLCByZXNwZWN0aXZlbHkuICBJZiB0aGUgXwhuXwhhXwhtXwhlIGlzIG5vdCBmb3VuZCwKLSAgICAgICAgICAgICAgdGhlbiBub3RoaW5nICBpcyAgcHJpbnRlZCwgIGFuZCAgYW4gIGV4aXQgIHN0YXR1cyAgb2YgIGZhbHNlICBpcwotICAgICAgICAgICAgICByZXR1cm5lZC4gICBJZiAgdGhlICAtCC1wCHAgIG9wdGlvbiBpcyB1c2VkLCB0CHR5CHlwCHBlCGUgZWl0aGVyIHJldHVybnMgdGhlCisgICAgICAgICAgICAgIHN0cmluZyB3aGljaCBpcyBvbmUgb2YgXwhhXwhsXwhpXwhhXwhzLCAgXwhrXwhlXwh5Xwh3XwhvXwhyXwhkLCAgXwhmXwh1XwhuXwhjXwh0XwhpXwhvXwhuLCAgXwhiXwh1XwhpXwhsXwh0XwhpXwhuLCAgb3IKKyAgICAgICAgICAgICAgXwhmXwhpXwhsXwhlICBpZiAgXwhuXwhhXwhtXwhlICBpcyAgYW4gIGFsaWFzLCAgc2hlbGwgIHJlc2VydmVkICB3b3JkLCBmdW5jdGlvbiwKKyAgICAgICAgICAgICAgYnVpbHRpbiwgb3IgZGlzayBmaWxlLCByZXNwZWN0aXZlbHkuICBJZiB0aGUgXwhuXwhhXwhtXwhlIGlzIG5vdCAgZm91bmQsCisgICAgICAgICAgICAgIHRoZW4gIG5vdGhpbmcgIGlzICBwcmludGVkLCAgYW5kICBhbiAgZXhpdCAgc3RhdHVzICBvZiAgZmFsc2UgaXMKKyAgICAgICAgICAgICAgcmV0dXJuZWQuICBJZiB0aGUgLQgtcAhwIG9wdGlvbiBpcyB1c2VkLCAgdAh0eQh5cAhwZQhlICBlaXRoZXIgIHJldHVybnMgIHRoZQogICAgICAgICAgICAgICBuYW1lIG9mIHRoZSBkaXNrIGZpbGUgdGhhdCB3b3VsZCBiZSBleGVjdXRlZCBpZiBfCG5fCGFfCG1fCGUgd2VyZSBzcGVjaS0KICAgICAgICAgICAgICAgZmllZCBhcyBhIGNvbW1hbmQgbmFtZSwgb3Igbm90aGluZyBpZiBgYHR5cGUgLXQgbmFtZScnIHdvdWxkIG5vdAotICAgICAgICAgICAgICByZXR1cm4gXwhmXwhpXwhsXwhlLiAgVGhlIC0ILVAIUCBvcHRpb24gZm9yY2VzIGEgUAhQQQhBVAhUSAhIIHNlYXJjaCBmb3IgZWFjaCAgXwhuXwhhXwhtXwhlLAorICAgICAgICAgICAgICByZXR1cm4gIF8IZl8IaV8IbF8IZS4gIFRoZSAtCC1QCFAgb3B0aW9uIGZvcmNlcyBhIFAIUEEIQVQIVEgISCBzZWFyY2ggZm9yIGVhY2ggXwhuXwhhXwhtXwhlLAogICAgICAgICAgICAgICBldmVuIGlmIGBgdHlwZSAtdCBuYW1lJycgd291bGQgbm90IHJldHVybiBfCGZfCGlfCGxfCGUuICBJZiBhIGNvbW1hbmQgaXMKLSAgICAgICAgICAgICAgaGFzaGVkLCAtCC1wCHAgYW5kIC0ILVAIUCBwcmludCB0aGUgaGFzaGVkIHZhbHVlLCAgbm90ICBuZWNlc3NhcmlseSAgdGhlCisgICAgICAgICAgICAgIGhhc2hlZCwgIC0ILXAIcCAgYW5kICAtCC1QCFAgcHJpbnQgdGhlIGhhc2hlZCB2YWx1ZSwgbm90IG5lY2Vzc2FyaWx5IHRoZQogICAgICAgICAgICAgICBmaWxlIHRoYXQgYXBwZWFycyBmaXJzdCBpbiBQCFBBCEFUCFRICEguICBJZiB0aGUgLQgtYQhhIG9wdGlvbiBpcyB1c2VkLCB0CHR5CHlwCHBlCGUKLSAgICAgICAgICAgICAgcHJpbnRzIGFsbCBvZiB0aGUgcGxhY2VzIHRoYXQgY29udGFpbiBhbiBleGVjdXRhYmxlIG5hbWVkICBfCG5fCGFfCG1fCGUuCi0gICAgICAgICAgICAgIFRoaXMgIGluY2x1ZGVzICBhbGlhc2VzICBhbmQgIGZ1bmN0aW9ucywgIGlmICBhbmQgb25seSBpZiB0aGUgLQgtcAhwCi0gICAgICAgICAgICAgIG9wdGlvbiBpcyBub3QgYWxzbyB1c2VkLiAgVGhlIHRhYmxlIG9mIGhhc2hlZCAgY29tbWFuZHMgIGlzICBub3QKLSAgICAgICAgICAgICAgY29uc3VsdGVkICB3aGVuICB1c2luZyAtCC1hCGEuICBUaGUgLQgtZghmIG9wdGlvbiBzdXBwcmVzc2VzIHNoZWxsIGZ1bmMtCi0gICAgICAgICAgICAgIHRpb24gbG9va3VwLCBhcyB3aXRoIHRoZSBjCGNvCG9tCG1tCG1hCGFuCG5kCGQgYnVpbHRpbi4gIHQIdHkIeXAIcGUIZSByZXR1cm5zIHRydWUgIGlmCisgICAgICAgICAgICAgIHByaW50cyAgYWxsIG9mIHRoZSBwbGFjZXMgdGhhdCBjb250YWluIGFuIGV4ZWN1dGFibGUgbmFtZWQgXwhuXwhhXwhtXwhlLgorICAgICAgICAgICAgICBUaGlzIGluY2x1ZGVzIGFsaWFzZXMgYW5kIGZ1bmN0aW9ucywgIGlmICBhbmQgIG9ubHkgIGlmICB0aGUgIC0ILXAIcAorICAgICAgICAgICAgICBvcHRpb24gIGlzICBub3QgIGFsc28gdXNlZC4gIFRoZSB0YWJsZSBvZiBoYXNoZWQgY29tbWFuZHMgaXMgbm90CisgICAgICAgICAgICAgIGNvbnN1bHRlZCB3aGVuIHVzaW5nIC0ILWEIYS4gIFRoZSAtCC1mCGYgb3B0aW9uIHN1cHByZXNzZXMgIHNoZWxsICBmdW5jLQorICAgICAgICAgICAgICB0aW9uICBsb29rdXAsIGFzIHdpdGggdGhlIGMIY28Ib20IbW0IbWEIYW4IbmQIZCBidWlsdGluLiAgdAh0eQh5cAhwZQhlIHJldHVybnMgdHJ1ZSBpZgogICAgICAgICAgICAgICBhbGwgb2YgdGhlIGFyZ3VtZW50cyBhcmUgZm91bmQsIGZhbHNlIGlmIGFueSBhcmUgbm90IGZvdW5kLgogCiAgICAgICAgdQh1bAhsaQhpbQhtaQhpdAh0IFstCC1ICEhTCFNUCFRhCGFiCGJjCGNkCGRlCGVmCGZpCGlsCGxtCG1uCG5wCHBxCHFyCHJzCHN0CHR1CHV2CHZ4CHggW18IbF8IaV8IbV8IaV8IdF1dCi0gICAgICAgICAgICAgIFByb3ZpZGVzICBjb250cm9sICBvdmVyIHRoZSByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIHRoZSBzaGVsbCBhbmQKLSAgICAgICAgICAgICAgdG8gcHJvY2Vzc2VzIHN0YXJ0ZWQgYnkgaXQsIG9uIHN5c3RlbXMgdGhhdCBhbGxvdyBzdWNoICBjb250cm9sLgorICAgICAgICAgICAgICBQcm92aWRlcyBjb250cm9sIG92ZXIgdGhlIHJlc291cmNlcyBhdmFpbGFibGUgdG8gdGhlICBzaGVsbCAgYW5kCisgICAgICAgICAgICAgIHRvICBwcm9jZXNzZXMgc3RhcnRlZCBieSBpdCwgb24gc3lzdGVtcyB0aGF0IGFsbG93IHN1Y2ggY29udHJvbC4KICAgICAgICAgICAgICAgVGhlIC0ILUgISCBhbmQgLQgtUwhTIG9wdGlvbnMgc3BlY2lmeSB0aGF0IHRoZSBoYXJkIG9yIHNvZnQgbGltaXQgaXMgc2V0Ci0gICAgICAgICAgICAgIGZvciB0aGUgZ2l2ZW4gcmVzb3VyY2UuICBBIGhhcmQgbGltaXQgY2Fubm90IGJlIGluY3JlYXNlZCAgYnkgIGEKLSAgICAgICAgICAgICAgbm9uLXJvb3QgIHVzZXIgIG9uY2UgaXQgaXMgc2V0OyBhIHNvZnQgbGltaXQgbWF5IGJlIGluY3JlYXNlZCB1cAotICAgICAgICAgICAgICB0byB0aGUgdmFsdWUgb2YgdGhlIGhhcmQgbGltaXQuICBJZiBuZWl0aGVyIC0ILUgISCBub3IgLQgtUwhTIGlzICBzcGVjaS0KKyAgICAgICAgICAgICAgZm9yICB0aGUgIGdpdmVuIHJlc291cmNlLiAgQSBoYXJkIGxpbWl0IGNhbm5vdCBiZSBpbmNyZWFzZWQgYnkgYQorICAgICAgICAgICAgICBub24tcm9vdCB1c2VyIG9uY2UgaXQgaXMgc2V0OyBhIHNvZnQgbGltaXQgbWF5IGJlICBpbmNyZWFzZWQgIHVwCisgICAgICAgICAgICAgIHRvICB0aGUgdmFsdWUgb2YgdGhlIGhhcmQgbGltaXQuICBJZiBuZWl0aGVyIC0ILUgISCBub3IgLQgtUwhTIGlzIHNwZWNpLQogICAgICAgICAgICAgICBmaWVkLCBib3RoIHRoZSBzb2Z0IGFuZCBoYXJkIGxpbWl0cyBhcmUgc2V0LiAgVGhlIHZhbHVlIG9mIF8IbF8IaV8IbV8IaV8IdAogICAgICAgICAgICAgICBjYW4gYmUgYSBudW1iZXIgaW4gdGhlIHVuaXQgc3BlY2lmaWVkIGZvciB0aGUgcmVzb3VyY2Ugb3Igb25lIG9mCiAgICAgICAgICAgICAgIHRoZSBzcGVjaWFsIHZhbHVlcyBoCGhhCGFyCHJkCGQsIHMIc28Ib2YIZnQIdCwgb3IgdQh1bghubAhsaQhpbQhtaQhpdAh0ZQhlZAhkLCB3aGljaCBzdGFuZCBmb3IgdGhlCi0gICAgICAgICAgICAgIGN1cnJlbnQgaGFyZCBsaW1pdCwgIHRoZSAgY3VycmVudCAgc29mdCAgbGltaXQsICBhbmQgIG5vICBsaW1pdCwKLSAgICAgICAgICAgICAgcmVzcGVjdGl2ZWx5LiAgIElmICBfCGxfCGlfCG1fCGlfCHQgIGlzICBvbWl0dGVkLCB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUKLSAgICAgICAgICAgICAgc29mdCBsaW1pdCBvZiB0aGUgcmVzb3VyY2UgaXMgcHJpbnRlZCwgdW5sZXNzIHRoZSAtCC1ICEggIG9wdGlvbiAgaXMKKyAgICAgICAgICAgICAgY3VycmVudCAgaGFyZCAgbGltaXQsICB0aGUgIGN1cnJlbnQgIHNvZnQgIGxpbWl0LCAgYW5kIG5vIGxpbWl0LAorICAgICAgICAgICAgICByZXNwZWN0aXZlbHkuICBJZiBfCGxfCGlfCG1fCGlfCHQgaXMgb21pdHRlZCwgdGhlICBjdXJyZW50ICB2YWx1ZSAgb2YgIHRoZQorICAgICAgICAgICAgICBzb2Z0ICBsaW1pdCAgb2YgdGhlIHJlc291cmNlIGlzIHByaW50ZWQsIHVubGVzcyB0aGUgLQgtSAhIIG9wdGlvbiBpcwogICAgICAgICAgICAgICBnaXZlbi4gIFdoZW4gbW9yZSB0aGFuIG9uZSByZXNvdXJjZSBpcyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBuYW1lCiAgICAgICAgICAgICAgIGFuZCB1bml0IGFyZSBwcmludGVkIGJlZm9yZSB0aGUgdmFsdWUuICBPdGhlciBvcHRpb25zIGFyZSBpbnRlci0KICAgICAgICAgICAgICAgcHJldGVkIGFzIGZvbGxvd3M6CkBAIC01MTYwLDExICs1MjgyLDExIEBACiAgICAgICAgICAgICAgIC0ILWMIYyAgICAgVGhlIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWQKICAgICAgICAgICAgICAgLQgtZAhkICAgICBUaGUgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudAogICAgICAgICAgICAgICAtCC1lCGUgICAgIFRoZSBtYXhpbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgKCJuaWNlIikKLSAgICAgICAgICAgICAgLQgtZghmICAgICBUaGUgIG1heGltdW0gIHNpemUgIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHNoZWxsIGFuZCBpdHMKKyAgICAgICAgICAgICAgLQgtZghmICAgICBUaGUgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlICBzaGVsbCAgYW5kICBpdHMKICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuCiAgICAgICAgICAgICAgIC0ILWkIaSAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscwogICAgICAgICAgICAgICAtCC1sCGwgICAgIFRoZSBtYXhpbXVtIHNpemUgdGhhdCBtYXkgYmUgbG9ja2VkIGludG8gbWVtb3J5Ci0gICAgICAgICAgICAgIC0ILW0IbSAgICAgVGhlIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemUgKG1hbnkgc3lzdGVtcyBkbyBub3QgIGhvbm9yCisgICAgICAgICAgICAgIC0ILW0IbSAgICAgVGhlICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplIChtYW55IHN5c3RlbXMgZG8gbm90IGhvbm9yCiAgICAgICAgICAgICAgICAgICAgICB0aGlzIGxpbWl0KQogICAgICAgICAgICAgICAtCC1uCG4gICAgIFRoZSBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGUgZGVzY3JpcHRvcnMgKG1vc3Qgc3lzdGVtcwogICAgICAgICAgICAgICAgICAgICAgZG8gbm90IGFsbG93IHRoaXMgdmFsdWUgdG8gYmUgc2V0KQpAQCAtNTE3Myw2NSArNTI5NSw2NSBAQAogICAgICAgICAgICAgICAtCC1yCHIgICAgIFRoZSBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5CiAgICAgICAgICAgICAgIC0ILXMIcyAgICAgVGhlIG1heGltdW0gc3RhY2sgc2l6ZQogICAgICAgICAgICAgICAtCC10CHQgICAgIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBjcHUgdGltZSBpbiBzZWNvbmRzCi0gICAgICAgICAgICAgIC0ILXUIdSAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIHByb2Nlc3NlcyAgYXZhaWxhYmxlICB0byAgYSAgc2luZ2xlCisgICAgICAgICAgICAgIC0ILXUIdSAgICAgVGhlICBtYXhpbXVtICBudW1iZXIgIG9mICBwcm9jZXNzZXMgYXZhaWxhYmxlIHRvIGEgc2luZ2xlCiAgICAgICAgICAgICAgICAgICAgICB1c2VyCi0gICAgICAgICAgICAgIC0ILXYIdiAgICAgVGhlICBtYXhpbXVtICBhbW91bnQgIG9mICB2aXJ0dWFsIG1lbW9yeSBhdmFpbGFibGUgdG8gdGhlCi0gICAgICAgICAgICAgICAgICAgICBzaGVsbAorICAgICAgICAgICAgICAtCC12CHYgICAgIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB2aXJ0dWFsICBtZW1vcnkgIGF2YWlsYWJsZSAgdG8gIHRoZQorICAgICAgICAgICAgICAgICAgICAgc2hlbGwgYW5kLCBvbiBzb21lIHN5c3RlbXMsIHRvIGl0cyBjaGlsZHJlbgogICAgICAgICAgICAgICAtCC14CHggICAgIFRoZSBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzCiAgICAgICAgICAgICAgIC0ILVQIVCAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIHRocmVhZHMKIAogICAgICAgICAgICAgICBJZiBfCGxfCGlfCG1fCGlfCHQgaXMgZ2l2ZW4sIGl0IGlzIHRoZSBuZXcgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCByZXNvdXJjZQogICAgICAgICAgICAgICAodGhlIC0ILWEIYSBvcHRpb24gaXMgZGlzcGxheSBvbmx5KS4gIElmIG5vIG9wdGlvbiBpcyBnaXZlbiwgdGhlbiAtCC1mCGYKLSAgICAgICAgICAgICAgaXMgYXNzdW1lZC4gIFZhbHVlcyBhcmUgaW4gMTAyNC1ieXRlIGluY3JlbWVudHMsIGV4Y2VwdCBmb3IgIC0ILXQIdCwKLSAgICAgICAgICAgICAgd2hpY2ggIGlzICBpbiBzZWNvbmRzLCAtCC1wCHAsIHdoaWNoIGlzIGluIHVuaXRzIG9mIDUxMi1ieXRlIGJsb2NrcywKLSAgICAgICAgICAgICAgYW5kIC0ILVQIVCwgLQgtYghiLCAtCC1uCG4sIGFuZCAtCC11CHUsIHdoaWNoIGFyZSB1bnNjYWxlZCB2YWx1ZXMuICAgVGhlICByZXR1cm4KKyAgICAgICAgICAgICAgaXMgIGFzc3VtZWQuICBWYWx1ZXMgYXJlIGluIDEwMjQtYnl0ZSBpbmNyZW1lbnRzLCBleGNlcHQgZm9yIC0ILXQIdCwKKyAgICAgICAgICAgICAgd2hpY2ggaXMgaW4gc2Vjb25kcywgLQgtcAhwLCB3aGljaCBpcyBpbiB1bml0cyBvZiAgNTEyLWJ5dGUgIGJsb2NrcywKKyAgICAgICAgICAgICAgYW5kICAtCC1UCFQsICAtCC1iCGIsIC0ILW4IbiwgYW5kIC0ILXUIdSwgd2hpY2ggYXJlIHVuc2NhbGVkIHZhbHVlcy4gIFRoZSByZXR1cm4KICAgICAgICAgICAgICAgc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yIGFyZ3VtZW50IGlzIHN1cHBsaWVkLCBvcgogICAgICAgICAgICAgICBhbiBlcnJvciBvY2N1cnMgd2hpbGUgc2V0dGluZyBhIG5ldyBsaW1pdC4KIAogICAgICAgIHUIdW0IbWEIYXMIc2sIayBbLQgtcAhwXSBbLQgtUwhTXSBbXwhtXwhvXwhkXwhlXQogICAgICAgICAgICAgICBUaGUgdXNlciBmaWxlLWNyZWF0aW9uIG1hc2sgaXMgc2V0IHRvIF8IbV8Ib18IZF8IZS4gIElmIF8IbV8Ib18IZF8IZSBiZWdpbnMgd2l0aAotICAgICAgICAgICAgICBhICBkaWdpdCwgIGl0IGlzIGludGVycHJldGVkIGFzIGFuIG9jdGFsIG51bWJlcjsgb3RoZXJ3aXNlIGl0IGlzCi0gICAgICAgICAgICAgIGludGVycHJldGVkIGFzIGEgc3ltYm9saWMgbW9kZSBtYXNrIHNpbWlsYXIgdG8gdGhhdCBhY2NlcHRlZCAgYnkKLSAgICAgICAgICAgICAgXwhjXwhoXwhtXwhvXwhkKDEpLiAgIElmIF8IbV8Ib18IZF8IZSBpcyBvbWl0dGVkLCB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgbWFzayBpcwotICAgICAgICAgICAgICBwcmludGVkLiAgVGhlIC0ILVMIUyBvcHRpb24gY2F1c2VzIHRoZSBtYXNrIHRvIGJlICBwcmludGVkICBpbiAgc3ltLQotICAgICAgICAgICAgICBib2xpYyAgZm9ybTsgIHRoZSAgZGVmYXVsdCBvdXRwdXQgaXMgYW4gb2N0YWwgbnVtYmVyLiAgSWYgdGhlIC0ILXAIcAorICAgICAgICAgICAgICBhIGRpZ2l0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhbiBvY3RhbCBudW1iZXI7IG90aGVyd2lzZSAgaXQgIGlzCisgICAgICAgICAgICAgIGludGVycHJldGVkICBhcyBhIHN5bWJvbGljIG1vZGUgbWFzayBzaW1pbGFyIHRvIHRoYXQgYWNjZXB0ZWQgYnkKKyAgICAgICAgICAgICAgXwhjXwhoXwhtXwhvXwhkKDEpLiAgSWYgXwhtXwhvXwhkXwhlIGlzIG9taXR0ZWQsIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBtYXNrICBpcworICAgICAgICAgICAgICBwcmludGVkLiAgIFRoZSAgLQgtUwhTICBvcHRpb24gY2F1c2VzIHRoZSBtYXNrIHRvIGJlIHByaW50ZWQgaW4gc3ltLQorICAgICAgICAgICAgICBib2xpYyBmb3JtOyB0aGUgZGVmYXVsdCBvdXRwdXQgaXMgYW4gb2N0YWwgbnVtYmVyLiAgIElmICB0aGUgIC0ILXAIcAogICAgICAgICAgICAgICBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCBfCG1fCG9fCGRfCGUgaXMgb21pdHRlZCwgdGhlIG91dHB1dCBpcyBpbiBhIGZvcm0KICAgICAgICAgICAgICAgdGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LiAgVGhlIHJldHVybiBzdGF0dXMgaXMgMCBpZiB0aGUgbW9kZQotICAgICAgICAgICAgICB3YXMgc3VjY2Vzc2Z1bGx5IGNoYW5nZWQgb3IgaWYgbm8gXwhtXwhvXwhkXwhlICBhcmd1bWVudCAgd2FzICBzdXBwbGllZCwKKyAgICAgICAgICAgICAgd2FzICBzdWNjZXNzZnVsbHkgIGNoYW5nZWQgIG9yIGlmIG5vIF8IbV8Ib18IZF8IZSBhcmd1bWVudCB3YXMgc3VwcGxpZWQsCiAgICAgICAgICAgICAgIGFuZCBmYWxzZSBvdGhlcndpc2UuCiAKICAgICAgICB1CHVuCG5hCGFsCGxpCGlhCGFzCHMgWy1hCGFdIFtfCG5fCGFfCG1fCGUgLi4uXQotICAgICAgICAgICAgICBSZW1vdmUgIGVhY2ggIF8Ibl8IYV8IbV8IZSAgZnJvbSAgdGhlIGxpc3Qgb2YgZGVmaW5lZCBhbGlhc2VzLiAgSWYgLQgtYQhhIGlzCi0gICAgICAgICAgICAgIHN1cHBsaWVkLCBhbGwgYWxpYXMgZGVmaW5pdGlvbnMgYXJlIHJlbW92ZWQuICBUaGUgIHJldHVybiAgdmFsdWUKKyAgICAgICAgICAgICAgUmVtb3ZlIGVhY2ggXwhuXwhhXwhtXwhlIGZyb20gdGhlIGxpc3Qgb2YgZGVmaW5lZCAgYWxpYXNlcy4gICBJZiAgLQgtYQhhICBpcworICAgICAgICAgICAgICBzdXBwbGllZCwgIGFsbCAgYWxpYXMgZGVmaW5pdGlvbnMgYXJlIHJlbW92ZWQuICBUaGUgcmV0dXJuIHZhbHVlCiAgICAgICAgICAgICAgIGlzIHRydWUgdW5sZXNzIGEgc3VwcGxpZWQgXwhuXwhhXwhtXwhlIGlzIG5vdCBhIGRlZmluZWQgYWxpYXMuCiAKICAgICAgICB1CHVuCG5zCHNlCGV0CHQgWy1mCGZ2CHZdIFtfCG5fCGFfCG1fCGUgLi4uXQotICAgICAgICAgICAgICBGb3IgIGVhY2ggIF8Ibl8IYV8IbV8IZSwgIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyB2YXJpYWJsZSBvciBmdW5jdGlvbi4KKyAgICAgICAgICAgICAgRm9yIGVhY2ggXwhuXwhhXwhtXwhlLCByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgIHZhcmlhYmxlICBvciAgZnVuY3Rpb24uCiAgICAgICAgICAgICAgIElmIG5vIG9wdGlvbnMgYXJlIHN1cHBsaWVkLCBvciB0aGUgLQgtdgh2IG9wdGlvbiBpcyBnaXZlbiwgZWFjaCBfCG5fCGFfCG1fCGUKLSAgICAgICAgICAgICAgcmVmZXJzICB0byAgYSAgc2hlbGwgIHZhcmlhYmxlLiAgIFJlYWQtb25seSB2YXJpYWJsZXMgbWF5IG5vdCBiZQotICAgICAgICAgICAgICB1bnNldC4gIElmIC0ILWYIZiBpcyBzcGVjaWZpZWQsIGVhY2ggXwhuXwhhXwhtXwhlIHJlZmVycyB0byAgYSAgc2hlbGwgIGZ1bmMtCi0gICAgICAgICAgICAgIHRpb24sICBhbmQgdGhlIGZ1bmN0aW9uIGRlZmluaXRpb24gaXMgcmVtb3ZlZC4gIEVhY2ggdW5zZXQgdmFyaS0KLSAgICAgICAgICAgICAgYWJsZSBvciBmdW5jdGlvbiBpcyByZW1vdmVkIGZyb20gdGhlIGVudmlyb25tZW50IHBhc3NlZCB0byAgc3ViLQotICAgICAgICAgICAgICBzZXF1ZW50ICBjb21tYW5kcy4gICBJZiBhbnkgb2YgQwhDTwhPTQhNUAhQXwhfVwhXTwhPUghSRAhEQghCUghSRQhFQQhBSwhLUwhTLCBSCFJBCEFOCE5ECERPCE9NCE0sIFMIU0UIRUMIQ08IT04ITkQIRFMIUywKLSAgICAgICAgICAgICAgTAhMSQhJTghORQhFTghOTwhPLCBICEhJCElTCFNUCFRDCENNCE1ECEQsIEYIRlUIVU4ITkMIQ04ITkEIQU0ITUUIRSwgRwhHUghSTwhPVQhVUAhQUwhTLCBvciBECERJCElSCFJTCFNUCFRBCEFDCENLCEsgYXJlICB1bnNldCwgIHRoZXkKLSAgICAgICAgICAgICAgbG9zZSAgdGhlaXIgIHNwZWNpYWwgIHByb3BlcnRpZXMsICBldmVuIGlmIHRoZXkgYXJlIHN1YnNlcXVlbnRseQorICAgICAgICAgICAgICByZWZlcnMgdG8gYSBzaGVsbCB2YXJpYWJsZS4gICBSZWFkLW9ubHkgIHZhcmlhYmxlcyAgbWF5ICBub3QgIGJlCisgICAgICAgICAgICAgIHVuc2V0LiAgIElmICAtCC1mCGYgIGlzIHNwZWNpZmllZCwgZWFjaCBfCG5fCGFfCG1fCGUgcmVmZXJzIHRvIGEgc2hlbGwgZnVuYy0KKyAgICAgICAgICAgICAgdGlvbiwgYW5kIHRoZSBmdW5jdGlvbiBkZWZpbml0aW9uIGlzIHJlbW92ZWQuICBFYWNoIHVuc2V0ICB2YXJpLQorICAgICAgICAgICAgICBhYmxlICBvciBmdW5jdGlvbiBpcyByZW1vdmVkIGZyb20gdGhlIGVudmlyb25tZW50IHBhc3NlZCB0byBzdWItCisgICAgICAgICAgICAgIHNlcXVlbnQgY29tbWFuZHMuICBJZiBhbnkgb2YgQwhDTwhPTQhNUAhQXwhfVwhXTwhPUghSRAhEQghCUghSRQhFQQhBSwhLUwhTLCAgUghSQQhBTghORAhETwhPTQhNLCAgUwhTRQhFQwhDTwhPTghORAhEUwhTLAorICAgICAgICAgICAgICBMCExJCElOCE5FCEVOCE5PCE8sICBICEhJCElTCFNUCFRDCENNCE1ECEQsICBGCEZVCFVOCE5DCENOCE5BCEFNCE1FCEUsIEcIR1IIUk8IT1UIVVAIUFMIUywgb3IgRAhESQhJUghSUwhTVAhUQQhBQwhDSwhLIGFyZSB1bnNldCwgdGhleQorICAgICAgICAgICAgICBsb3NlIHRoZWlyIHNwZWNpYWwgcHJvcGVydGllcywgZXZlbiAgaWYgIHRoZXkgIGFyZSAgc3Vic2VxdWVudGx5CiAgICAgICAgICAgICAgIHJlc2V0LiAgVGhlIGV4aXQgc3RhdHVzIGlzIHRydWUgdW5sZXNzIGEgXwhuXwhhXwhtXwhlIGlzIHJlYWRvbmx5LgogCiAgICAgICAgdwh3YQhhaQhpdAh0IFtfCG4gXwguXwguXwguXQotICAgICAgICAgICAgICBXYWl0IGZvciBlYWNoIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXR1cm4gaXRzIHRlcm1pbmF0aW9uICBzdGEtCi0gICAgICAgICAgICAgIHR1cy4gICBFYWNoICBfCG4gIG1heSBiZSBhIHByb2Nlc3MgSUQgb3IgYSBqb2Igc3BlY2lmaWNhdGlvbjsgaWYgYQotICAgICAgICAgICAgICBqb2Igc3BlYyBpcyBnaXZlbiwgYWxsIHByb2Nlc3NlcyAgaW4gIHRoYXQgIGpvYidzICBwaXBlbGluZSAgYXJlCi0gICAgICAgICAgICAgIHdhaXRlZCAgZm9yLiAgSWYgXwhuIGlzIG5vdCBnaXZlbiwgYWxsIGN1cnJlbnRseSBhY3RpdmUgY2hpbGQgcHJvLQotICAgICAgICAgICAgICBjZXNzZXMgYXJlIHdhaXRlZCBmb3IsIGFuZCB0aGUgcmV0dXJuICBzdGF0dXMgIGlzICB6ZXJvLiAgIElmICBfCG4KLSAgICAgICAgICAgICAgc3BlY2lmaWVzICBhICBub24tZXhpc3RlbnQgIHByb2Nlc3Mgb3Igam9iLCB0aGUgcmV0dXJuIHN0YXR1cyBpcwotICAgICAgICAgICAgICAxMjcuICBPdGhlcndpc2UsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSAgZXhpdCAgc3RhdHVzICBvZiAgdGhlCisgICAgICAgICAgICAgIFdhaXQgIGZvciBlYWNoIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXR1cm4gaXRzIHRlcm1pbmF0aW9uIHN0YS0KKyAgICAgICAgICAgICAgdHVzLiAgRWFjaCBfCG4gbWF5IGJlIGEgcHJvY2VzcyBJRCBvciBhIGpvYiAgc3BlY2lmaWNhdGlvbjsgIGlmICBhCisgICAgICAgICAgICAgIGpvYiAgc3BlYyAgaXMgIGdpdmVuLCAgYWxsICBwcm9jZXNzZXMgaW4gdGhhdCBqb2IncyBwaXBlbGluZSBhcmUKKyAgICAgICAgICAgICAgd2FpdGVkIGZvci4gIElmIF8IbiBpcyBub3QgZ2l2ZW4sIGFsbCBjdXJyZW50bHkgYWN0aXZlIGNoaWxkICBwcm8tCisgICAgICAgICAgICAgIGNlc3NlcyAgYXJlICB3YWl0ZWQgIGZvciwgIGFuZCAgdGhlIHJldHVybiBzdGF0dXMgaXMgemVyby4gIElmIF8IbgorICAgICAgICAgICAgICBzcGVjaWZpZXMgYSBub24tZXhpc3RlbnQgcHJvY2VzcyBvciBqb2IsIHRoZSAgcmV0dXJuICBzdGF0dXMgIGlzCisgICAgICAgICAgICAgIDEyNy4gICBPdGhlcndpc2UsICB0aGUgIHJldHVybiAgc3RhdHVzIGlzIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUKICAgICAgICAgICAgICAgbGFzdCBwcm9jZXNzIG9yIGpvYiB3YWl0ZWQgZm9yLgogCiBSCFJFCEVTCFNUCFRSCFJJCElDCENUCFRFCEVECEQgUwhTSAhIRQhFTAhMTAhMCiAgICAgICAgSWYgYghiYQhhcwhzaAhoIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgbmFtZSByCHJiCGJhCGFzCHNoCGgsIG9yIHRoZSAtCC1yCHIgb3B0aW9uIGlzIHN1cHBsaWVkIGF0Ci0gICAgICAgaW52b2NhdGlvbiwgdGhlIHNoZWxsIGJlY29tZXMgcmVzdHJpY3RlZC4gIEEgcmVzdHJpY3RlZCBzaGVsbCAgaXMgIHVzZWQKLSAgICAgICB0byAgc2V0ICB1cCBhbiBlbnZpcm9ubWVudCBtb3JlIGNvbnRyb2xsZWQgdGhhbiB0aGUgc3RhbmRhcmQgc2hlbGwuICBJdAotICAgICAgIGJlaGF2ZXMgaWRlbnRpY2FsbHkgdG8gYghiYQhhcwhzaAhoIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IHRoZSAgZm9sbG93aW5nICBhcmUKKyAgICAgICBpbnZvY2F0aW9uLCAgdGhlICBzaGVsbCBiZWNvbWVzIHJlc3RyaWN0ZWQuICBBIHJlc3RyaWN0ZWQgc2hlbGwgaXMgdXNlZAorICAgICAgIHRvIHNldCB1cCBhbiBlbnZpcm9ubWVudCBtb3JlIGNvbnRyb2xsZWQgdGhhbiB0aGUgc3RhbmRhcmQgIHNoZWxsLiAgIEl0CisgICAgICAgYmVoYXZlcyAgaWRlbnRpY2FsbHkgIHRvIGIIYmEIYXMIc2gIaCB3aXRoIHRoZSBleGNlcHRpb24gdGhhdCB0aGUgZm9sbG93aW5nIGFyZQogICAgICAgIGRpc2FsbG93ZWQgb3Igbm90IHBlcmZvcm1lZDoKIAogICAgICAgICsIbyAgICAgIGNoYW5naW5nIGRpcmVjdG9yaWVzIHdpdGggYwhjZAhkCkBAIC01MjQwLDE2ICs1MzYyLDE2IEBACiAKICAgICAgICArCG8gICAgICBzcGVjaWZ5aW5nIGNvbW1hbmQgbmFtZXMgY29udGFpbmluZyAvCC8KIAotICAgICAgICsIbyAgICAgIHNwZWNpZnlpbmcgYSBmaWxlIG5hbWUgY29udGFpbmluZyBhIC8ILyBhcyBhbiBhcmd1bWVudCAgdG8gIHRoZSAgLgguCisgICAgICAgKwhvICAgICAgc3BlY2lmeWluZyAgYSAgZmlsZSAgbmFtZSBjb250YWluaW5nIGEgLwgvIGFzIGFuIGFyZ3VtZW50IHRvIHRoZSAuCC4KICAgICAgICAgICAgICAgYnVpbHRpbiBjb21tYW5kCiAKLSAgICAgICArCG8gICAgICBTcGVjaWZ5aW5nICBhICBmaWxlbmFtZSBjb250YWluaW5nIGEgc2xhc2ggYXMgYW4gYXJndW1lbnQgdG8gdGhlCisgICAgICAgKwhvICAgICAgc3BlY2lmeWluZyBhIGZpbGVuYW1lIGNvbnRhaW5pbmcgYSBzbGFzaCBhcyBhbiBhcmd1bWVudCAgdG8gIHRoZQogICAgICAgICAgICAgICAtCC1wCHAgb3B0aW9uIHRvIHRoZSBoCGhhCGFzCHNoCGggYnVpbHRpbiBjb21tYW5kCiAKLSAgICAgICArCG8gICAgICBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbnMgZnJvbSAgdGhlICBzaGVsbCAgZW52aXJvbm1lbnQgIGF0CisgICAgICAgKwhvICAgICAgaW1wb3J0aW5nICBmdW5jdGlvbiAgZGVmaW5pdGlvbnMgIGZyb20gIHRoZSBzaGVsbCBlbnZpcm9ubWVudCBhdAogICAgICAgICAgICAgICBzdGFydHVwCiAKLSAgICAgICArCG8gICAgICBwYXJzaW5nICB0aGUgIHZhbHVlICBvZiAgUwhTSAhIRQhFTAhMTAhMTwhPUAhQVAhUUwhTIGZyb20gdGhlIHNoZWxsIGVudmlyb25tZW50IGF0CisgICAgICAgKwhvICAgICAgcGFyc2luZyB0aGUgdmFsdWUgb2YgUwhTSAhIRQhFTAhMTAhMTwhPUAhQVAhUUwhTIGZyb20gIHRoZSAgc2hlbGwgIGVudmlyb25tZW50ICBhdAogICAgICAgICAgICAgICBzdGFydHVwCiAKICAgICAgICArCG8gICAgICByZWRpcmVjdGluZyBvdXRwdXQgdXNpbmcgdGhlID4sID58LCA8PiwgPiYsICY+LCBhbmQgPj4gcmVkaXJlY3QtCkBAIC01MjU4LDEwICs1MzgwLDEwIEBACiAgICAgICAgKwhvICAgICAgdXNpbmcgdGhlIGUIZXgIeGUIZWMIYyBidWlsdGluIGNvbW1hbmQgdG8gcmVwbGFjZSB0aGUgc2hlbGwgd2l0aCBhbm90aGVyCiAgICAgICAgICAgICAgIGNvbW1hbmQKIAotICAgICAgICsIbyAgICAgIGFkZGluZyBvciBkZWxldGluZyBidWlsdGluIGNvbW1hbmRzIHdpdGggdGhlIC0ILWYIZiBhbmQgIC0ILWQIZCAgb3B0aW9ucworICAgICAgICsIbyAgICAgIGFkZGluZyAgb3IgIGRlbGV0aW5nIGJ1aWx0aW4gY29tbWFuZHMgd2l0aCB0aGUgLQgtZghmIGFuZCAtCC1kCGQgb3B0aW9ucwogICAgICAgICAgICAgICB0byB0aGUgZQhlbghuYQhhYghibAhsZQhlIGJ1aWx0aW4gY29tbWFuZAogCi0gICAgICAgKwhvICAgICAgVXNpbmcgIHRoZSAgZQhlbghuYQhhYghibAhsZQhlICBidWlsdGluICBjb21tYW5kICB0byAgZW5hYmxlICBkaXNhYmxlZCBzaGVsbAorICAgICAgICsIbyAgICAgIHVzaW5nIHRoZSAgZQhlbghuYQhhYghibAhsZQhlICBidWlsdGluICBjb21tYW5kICB0byAgZW5hYmxlICBkaXNhYmxlZCAgc2hlbGwKICAgICAgICAgICAgICAgYnVpbHRpbnMKIAogICAgICAgICsIbyAgICAgIHNwZWNpZnlpbmcgdGhlIC0ILXAIcCBvcHRpb24gdG8gdGhlIGMIY28Ib20IbW0IbWEIYW4IbmQIZCBidWlsdGluIGNvbW1hbmQKQEAgLTUyNzEsMTQgKzUzOTMsMTQgQEAKICAgICAgICBUaGVzZSByZXN0cmljdGlvbnMgYXJlIGVuZm9yY2VkIGFmdGVyIGFueSBzdGFydHVwIGZpbGVzIGFyZSByZWFkLgogCiAgICAgICAgV2hlbiBhIGNvbW1hbmQgdGhhdCBpcyBmb3VuZCB0byBiZSBhIHNoZWxsIHNjcmlwdCBpcyBleGVjdXRlZCAoc2VlIEMIQ08IT00ITS0ILQotICAgICAgIE0ITUEIQU4ITkQIRCAgRQhFWAhYRQhFQwhDVQhVVAhUSQhJTwhPTghOICBhYm92ZSksICByCHJiCGJhCGFzCHNoCGggdHVybnMgb2ZmIGFueSByZXN0cmljdGlvbnMgaW4gdGhlIHNoZWxsCisgICAgICAgTQhNQQhBTghORAhEIEUIRVgIWEUIRUMIQ1UIVVQIVEkISU8IT04ITiBhYm92ZSksIHIIcmIIYmEIYXMIc2gIaCB0dXJucyBvZmYgYW55IHJlc3RyaWN0aW9ucyAgaW4gIHRoZSAgc2hlbGwKICAgICAgICBzcGF3bmVkIHRvIGV4ZWN1dGUgdGhlIHNjcmlwdC4KIAogUwhTRQhFRQhFIEEIQUwITFMIU08ITwogICAgICAgIF8IQl8IYV8Ic18IaCBfCFJfCGVfCGZfCGVfCHJfCGVfCG5fCGNfCGUgXwhNXwhhXwhuXwh1XwhhXwhsLCBCcmlhbiBGb3ggYW5kIENoZXQgUmFtZXkKICAgICAgICBfCFRfCGhfCGUgXwhHXwhuXwh1IF8IUl8IZV8IYV8IZF8IbF8IaV8Ibl8IZSBfCExfCGlfCGJfCHJfCGFfCHJfCHksIEJyaWFuIEZveCBhbmQgQ2hldCBSYW1leQogICAgICAgIF8IVF8IaF8IZSBfCEdfCG5fCHUgXwhIXwhpXwhzXwh0XwhvXwhyXwh5IF8ITF8IaV8IYl8Icl8IYV8Icl8IeSwgQnJpYW4gRm94IGFuZCBDaGV0IFJhbWV5Ci0gICAgICAgXwhQXwhvXwhyXwh0XwhhXwhiXwhsXwhlIF8IT18IcF8IZV8Icl8IYV8IdF8IaV8Ibl8IZyBfCFNfCHlfCHNfCHRfCGVfCG0gXwhJXwhuXwh0XwhlXwhyXwhmXwhhXwhjXwhlIF8IKF8IUF8IT18IU18ISV8IWF8IKSBfCFBfCGFfCHJfCHQgXwgyXwg6ICBfCFNfCGhfCGVfCGxfCGwgIF8IYV8Ibl8IZCAgXwhVXwh0XwhpXwhsXwhpXwgtCisgICAgICAgXwhQXwhvXwhyXwh0XwhhXwhiXwhsXwhlICBfCE9fCHBfCGVfCHJfCGFfCHRfCGlfCG5fCGcgIF8IU18IeV8Ic18IdF8IZV8IbSAgXwhJXwhuXwh0XwhlXwhyXwhmXwhhXwhjXwhlIF8IKF8IUF8IT18IU18ISV8IWF8IKSBfCFBfCGFfCHJfCHQgXwgyXwg6IF8IU18IaF8IZV8IbF8IbCBfCGFfCG5fCGQgXwhVXwh0XwhpXwhsXwhpXwgtCiAgICAgICAgXwh0XwhpXwhlXwhzLCBJRUVFCiAgICAgICAgXwhzXwhoKDEpLCBfCGtfCHNfCGgoMSksIF8IY18Ic18IaCgxKQogICAgICAgIF8IZV8IbV8IYV8IY18IcygxKSwgXwh2XwhpKDEpCkBAIC01Mjk0LDcgKzU0MTYsNyBAQAogICAgICAgIF8Ifl8IL18ILl8IYl8IYV8Ic18IaF8Icl8IYwogICAgICAgICAgICAgICBUaGUgaW5kaXZpZHVhbCBwZXItaW50ZXJhY3RpdmUtc2hlbGwgc3RhcnR1cCBmaWxlCiAgICAgICAgXwh+XwgvXwguXwhiXwhhXwhzXwhoXwhfXwhsXwhvXwhnXwhvXwh1Xwh0Ci0gICAgICAgICAgICAgIFRoZSBpbmRpdmlkdWFsIGxvZ2luIHNoZWxsIGNsZWFudXAgZmlsZSwgZXhlY3V0ZWQgd2hlbiAgYSAgbG9naW4KKyAgICAgICAgICAgICAgVGhlICBpbmRpdmlkdWFsICBsb2dpbiBzaGVsbCBjbGVhbnVwIGZpbGUsIGV4ZWN1dGVkIHdoZW4gYSBsb2dpbgogICAgICAgICAgICAgICBzaGVsbCBleGl0cwogICAgICAgIF8Ifl8IL18ILl8IaV8Ibl8IcF8IdV8IdF8Icl8IYwogICAgICAgICAgICAgICBJbmRpdmlkdWFsIF8Icl8IZV8IYV8IZF8IbF8IaV8Ibl8IZSBpbml0aWFsaXphdGlvbiBmaWxlCkBAIC01MzA4LDE0ICs1NDMwLDE0IEBACiAKIEIIQlUIVUcIRyBSCFJFCEVQCFBPCE9SCFJUCFRTCFMKICAgICAgICBJZiB5b3UgZmluZCBhIGJ1ZyBpbiBiCGJhCGFzCHNoCGgsCCwgeW91IHNob3VsZCByZXBvcnQgaXQuICBCdXQgZmlyc3QsIHlvdSBzaG91bGQKLSAgICAgICBtYWtlIHN1cmUgdGhhdCBpdCByZWFsbHkgaXMgYSBidWcsIGFuZCB0aGF0IGl0IGFwcGVhcnMgIGluICB0aGUgIGxhdGVzdAotICAgICAgIHZlcnNpb24gICBvZiAgYghiYQhhcwhzaAhoLiAgIFRoZSAgbGF0ZXN0ICB2ZXJzaW9uICBpcyAgYWx3YXlzICBhdmFpbGFibGUgIGZyb20KLSAgICAgICBfCGZfCHRfCHBfCDpfCC9fCC9fCGZfCHRfCHBfCC5fCGdfCG5fCHVfCC5fCG9fCHJfCGdfCC9fCHBfCHVfCGJfCC9fCGJfCGFfCHNfCGhfCC8uCisgICAgICAgbWFrZSAgc3VyZSAgdGhhdCAgaXQgcmVhbGx5IGlzIGEgYnVnLCBhbmQgdGhhdCBpdCBhcHBlYXJzIGluIHRoZSBsYXRlc3QKKyAgICAgICB2ZXJzaW9uICBvZiAgYghiYQhhcwhzaAhoLiAgIFRoZSAgbGF0ZXN0ICB2ZXJzaW9uICBpcyAgYWx3YXlzICBhdmFpbGFibGUgICBmcm9tCisgICAgICAgXwhmXwh0XwhwXwg6XwgvXwgvXwhmXwh0XwhwXwguXwhnXwhuXwh1XwguXwhvXwhyXwhnXwgvXwhwXwh1XwhiXwgvXwhnXwhuXwh1XwgvXwhiXwhhXwhzXwhoXwgvLgogCi0gICAgICAgT25jZSB5b3UgaGF2ZSBkZXRlcm1pbmVkIHRoYXQgYSBidWcgYWN0dWFsbHkgZXhpc3RzLCAgdXNlICB0aGUgIF8IYl8IYV8Ic18IaF8IYl8IdV8IZwotICAgICAgIGNvbW1hbmQgIHRvIHN1Ym1pdCBhIGJ1ZyByZXBvcnQuICBJZiB5b3UgaGF2ZSBhIGZpeCwgeW91IGFyZSBlbmNvdXJhZ2VkCi0gICAgICAgdG8gbWFpbCB0aGF0IGFzIHdlbGwhICBTdWdnZXN0aW9ucyBhbmQgYHBoaWxvc29waGljYWwnIGJ1ZyByZXBvcnRzICBtYXkKLSAgICAgICBiZSAgbWFpbGVkICB0byAgXwhiXwh1XwhnXwgtXwhiXwhhXwhzXwhoXwhAXwhnXwhuXwh1XwguXwhvXwhyXwhnICBvciAgcG9zdGVkICB0byAgdGhlICBVc2VuZXQgbmV3c2dyb3VwCisgICAgICAgT25jZSAgeW91ICBoYXZlICBkZXRlcm1pbmVkIHRoYXQgYSBidWcgYWN0dWFsbHkgZXhpc3RzLCB1c2UgdGhlIF8IYl8IYV8Ic18IaF8IYl8IdV8IZworICAgICAgIGNvbW1hbmQgdG8gc3VibWl0IGEgYnVnIHJlcG9ydC4gIElmIHlvdSBoYXZlIGEgZml4LCB5b3UgYXJlICBlbmNvdXJhZ2VkCisgICAgICAgdG8gIG1haWwgdGhhdCBhcyB3ZWxsISAgU3VnZ2VzdGlvbnMgYW5kIGBwaGlsb3NvcGhpY2FsJyBidWcgcmVwb3J0cyBtYXkKKyAgICAgICBiZSBtYWlsZWQgIHRvICBfCGJfCHVfCGdfCC1fCGJfCGFfCHNfCGhfCEBfCGdfCG5fCHVfCC5fCG9fCHJfCGcgIG9yICBwb3N0ZWQgIHRvICB0aGUgIFVzZW5ldCAgbmV3c2dyb3VwCiAgICAgICAgZwhnbghudQh1LgguYghiYQhhcwhzaAhoLgguYghidQh1ZwhnLgogCiAgICAgICAgQUxMIGJ1ZyByZXBvcnRzIHNob3VsZCBpbmNsdWRlOgpAQCAtNTMyNiw3ICs1NDQ4LDcgQEAKICAgICAgICBBIGRlc2NyaXB0aW9uIG9mIHRoZSBidWcgYmVoYXZpb3VyCiAgICAgICAgQSBzaG9ydCBzY3JpcHQgb3IgYHJlY2lwZScgd2hpY2ggZXhlcmNpc2VzIHRoZSBidWcKIAotICAgICAgIF8IYl8IYV8Ic18IaF8IYl8IdV8IZyBpbnNlcnRzIHRoZSBmaXJzdCB0aHJlZSBpdGVtcyBhdXRvbWF0aWNhbGx5IGludG8gIHRoZSAgdGVtcGxhdGUKKyAgICAgICBfCGJfCGFfCHNfCGhfCGJfCHVfCGcgIGluc2VydHMgIHRoZSBmaXJzdCB0aHJlZSBpdGVtcyBhdXRvbWF0aWNhbGx5IGludG8gdGhlIHRlbXBsYXRlCiAgICAgICAgaXQgcHJvdmlkZXMgZm9yIGZpbGluZyBhIGJ1ZyByZXBvcnQuCiAKICAgICAgICBDb21tZW50cyBhbmQgYnVnIHJlcG9ydHMgY29uY2VybmluZyB0aGlzIG1hbnVhbCBwYWdlIHNob3VsZCBiZSBkaXJlY3RlZApAQCAtNTM0MywxMCArNTQ2NSwxMCBAQAogICAgICAgIFNoZWxsIGJ1aWx0aW4gY29tbWFuZHMgYW5kIGZ1bmN0aW9ucyBhcmUgbm90IHN0b3BwYWJsZS9yZXN0YXJ0YWJsZS4KIAogICAgICAgIENvbXBvdW5kIGNvbW1hbmRzIGFuZCBjb21tYW5kIHNlcXVlbmNlcyBvZiB0aGUgZm9ybSBgYSA7IGIgOyBjJyBhcmUgbm90Ci0gICAgICAgaGFuZGxlZCBncmFjZWZ1bGx5ICB3aGVuICBwcm9jZXNzICBzdXNwZW5zaW9uICBpcyAgYXR0ZW1wdGVkLiAgIFdoZW4gIGEKLSAgICAgICBwcm9jZXNzICBpcyBzdG9wcGVkLCB0aGUgc2hlbGwgaW1tZWRpYXRlbHkgZXhlY3V0ZXMgdGhlIG5leHQgY29tbWFuZCBpbgotICAgICAgIHRoZSBzZXF1ZW5jZS4gIEl0IHN1ZmZpY2VzIHRvIHBsYWNlIHRoZSBzZXF1ZW5jZSAgb2YgIGNvbW1hbmRzICBiZXR3ZWVuCi0gICAgICAgcGFyZW50aGVzZXMgIHRvICBmb3JjZSAgaXQgIGludG8gIGEgc3Vic2hlbGwsIHdoaWNoIG1heSBiZSBzdG9wcGVkIGFzIGEKKyAgICAgICBoYW5kbGVkICBncmFjZWZ1bGx5ICB3aGVuICBwcm9jZXNzICBzdXNwZW5zaW9uICBpcyAgYXR0ZW1wdGVkLiAgIFdoZW4gYQorICAgICAgIHByb2Nlc3MgaXMgc3RvcHBlZCwgdGhlIHNoZWxsIGltbWVkaWF0ZWx5IGV4ZWN1dGVzIHRoZSBuZXh0IGNvbW1hbmQgIGluCisgICAgICAgdGhlICBzZXF1ZW5jZS4gICBJdCAgc3VmZmljZXMgdG8gcGxhY2UgdGhlIHNlcXVlbmNlIG9mIGNvbW1hbmRzIGJldHdlZW4KKyAgICAgICBwYXJlbnRoZXNlcyB0byBmb3JjZSBpdCBpbnRvIGEgc3Vic2hlbGwsIHdoaWNoICBtYXkgIGJlICBzdG9wcGVkICBhcyAgYQogICAgICAgIHVuaXQuCiAKICAgICAgICBBcnJheSB2YXJpYWJsZXMgbWF5IG5vdCAoeWV0KSBiZSBleHBvcnRlZC4KQEAgLTUzNTUsNCArNTQ3Nyw0IEBACiAKIAogCi1HTlUgQmFzaC00LjEgICAgICAgICAgICAgICAgICAgMjAwOSBEZWNlbWJlciAyOSAgICAgICAgICAgICAgICAgICAgICAgIEJBU0goMSkKK0dOVSBCYXNoLTQuMiAgICAgICAgICAgICAgICAgICAyMDEwIERlY2VtYmVyIDI4ICAgICAgICAgICAgICAgICAgICAgICAgQkFTSCgxKQpkaWZmIC0tZ2l0IGEvZG9jL2Jhc2guMSBiL2RvYy9iYXNoLjEKaW5kZXggMTg5MGIzYy4uMGJhNGY4ZSAxMDA2NDQKLS0tIGEvZG9jL2Jhc2guMQorKysgYi9kb2MvYmFzaC4xCkBAIC01LDEyICs1LDEyIEBACiAuXCIJQ2FzZSBXZXN0ZXJuIFJlc2VydmUgVW5pdmVyc2l0eQogLlwiCWNoZXRAcG8uY3dydS5lZHUKIC5cIgotLlwiCUxhc3QgQ2hhbmdlOiBUdWUgRGVjIDI5IDE1OjM2OjE2IEVTVCAyMDA5CisuXCIJTGFzdCBDaGFuZ2U6IFR1ZSBEZWMgMjggMTM6NDE6NDMgRVNUIDIwMTAKIC5cIgogLlwiIGJhc2hfYnVpbHRpbnMsIHN0cmlwIGFsbCBidXQgQnVpbHQtSW5zIHNlY3Rpb24KIC5pZiBcbih6Wj0xIC5pZyB6WgogLmlmIFxuKHpZPTEgLmlnIHpZCi0uVEggQkFTSCAxICIyMDA5IERlY2VtYmVyIDI5IiAiR05VIEJhc2gtNC4xIgorLlRIIEJBU0ggMSAiMjAxMCBEZWNlbWJlciAyOCIgIkdOVSBCYXNoLTQuMiIKIC5cIgogLlwiIFRoZXJlJ3Mgc29tZSBwcm9ibGVtIHdpdGggaGF2aW5nIGEgYEAnCiAuXCIgaW4gYSB0YWdnZWQgcGFyYWdyYXBoIHdpdGggdGhlIEJTRCBtYW4gbWFjcm9zLgpAQCAtNTAsOCArNTAsOCBAQAogW29wdGlvbnNdCiBbZmlsZV0KIC5TSCBDT1BZUklHSFQKLS5pZiBuIEJhc2ggaXMgQ29weXJpZ2h0IChDKSAxOTg5LTIwMDkgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotLmlmIHQgQmFzaCBpcyBDb3B5cmlnaHQgXChjbyAxOTg5LTIwMDkgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLmlmIG4gQmFzaCBpcyBDb3B5cmlnaHQgKEMpIDE5ODktMjAxMSBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisuaWYgdCBCYXNoIGlzIENvcHlyaWdodCBcKGNvIDE5ODktMjAxMSBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAuU0ggREVTQ1JJUFRJT04KIC5CIEJhc2gKIGlzIGFuIFxmQnNoXGZSLWNvbXBhdGlibGUgY29tbWFuZCBsYW5ndWFnZSBpbnRlcnByZXRlciB0aGF0CkBAIC02Nyw4ICs2NywxMCBAQAogLkIgQmFzaAogY2FuIGJlIGNvbmZpZ3VyZWQgdG8gYmUgUE9TSVgtY29uZm9ybWFudCBieSBkZWZhdWx0LgogLlNIIE9QVElPTlMKLUluIGFkZGl0aW9uIHRvIHRoZSBzaW5nbGUtY2hhcmFjdGVyIHNoZWxsIG9wdGlvbnMgZG9jdW1lbnRlZCBpbiB0aGUKLWRlc2NyaXB0aW9uIG9mIHRoZSBcZkJzZXRcZlIgYnVpbHRpbiBjb21tYW5kLCBcZkJiYXNoXGZSCitBbGwgb2YgdGhlICBzaW5nbGUtY2hhcmFjdGVyIHNoZWxsIG9wdGlvbnMgZG9jdW1lbnRlZCBpbiB0aGUKK2Rlc2NyaXB0aW9uIG9mIHRoZSBcZkJzZXRcZlIgYnVpbHRpbiBjb21tYW5kIGNhbiBiZSB1c2VkIGFzIG9wdGlvbnMKK3doZW4gdGhlIHNoZWxsIGlzIGludm9rZWQuCitJbiBhZGRpdGlvbiwgXGZCYmFzaFxmUgogaW50ZXJwcmV0cyB0aGUgZm9sbG93aW5nIG9wdGlvbnMgd2hlbiBpdCBpcyBpbnZva2VkOgogLlBQCiAuUEQgMApAQCAtMTYxLDEwICsxNjMsNiBAQAogLkIgZXh0ZGVidWcKIG9wdGlvbiB0byB0aGUKIC5CIHNob3B0Ci1idWlsdGluIGJlbG93KQotYW5kIHNoZWxsIGZ1bmN0aW9uIHRyYWNpbmcgKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlCi1cZkJcLW8gZnVuY3RyYWNlXGZQIG9wdGlvbiB0byB0aGUKLS5CIHNldAogYnVpbHRpbiBiZWxvdykuCiAuVFAKIC5CIFwtXC1kdW1wXC1wb1wtc3RyaW5ncwpAQCAtNDEwLDcgKzQwOCw3IEBACiAuUFAKIC5CIEJhc2gKIGF0dGVtcHRzIHRvIGRldGVybWluZSB3aGVuIGl0IGlzIGJlaW5nIHJ1biB3aXRoIGl0cyBzdGFuZGFyZCBpbnB1dAotY29ubmVjdGVkIHRvIGEgYSBuZXR3b3JrIGNvbm5lY3Rpb24sIGFzIGlmIGJ5IHRoZSByZW1vdGUgc2hlbGwKK2Nvbm5lY3RlZCB0byBhIG5ldHdvcmsgY29ubmVjdGlvbiwgYXMgd2hlbiBleGVjdXRlZCBieSB0aGUgcmVtb3RlIHNoZWxsCiBkYWVtb24sIHVzdWFsbHkgXGZJcnNoZFxmUCwgb3IgdGhlIHNlY3VyZSBzaGVsbCBkYWVtb24gXGZJc3NoZFxmUC4KIElmCiAuQiBiYXNoCkBAIC00NzgsNyArNDc2LDcgQEAKIHN5bWJvbHM6CiAuUlMKIC5QUAotLmlmIHQgXGZCXChidlwoYnYgICYgICYmICA7ICA7OyAgKCAgKSAgfCAgfCYgICAgPG5ld2xpbmU+XGZQCisuaWYgdCBcZkJ8fCAgJiAgJiYgIDsgIDs7ICAoICApICB8ICB8JiAgICA8bmV3bGluZT5cZlAKIC5pZiBuIFxmQnx8ICYgJiYgOyA7OyAoICkgfCB8JiA8bmV3bGluZT5cZlAKIC5SRQogLlBECkBAIC01NTYsNiArNTU0LDggQEAKIHN5c3RlbSB0aW1lIGNvbnN1bWVkIGJ5IGl0cyBleGVjdXRpb24gYXJlIHJlcG9ydGVkIHdoZW4gdGhlIHBpcGVsaW5lCiB0ZXJtaW5hdGVzLgogVGhlIFxmQlwtcFxmUCBvcHRpb24gY2hhbmdlcyB0aGUgb3V0cHV0IGZvcm1hdCB0byB0aGF0IHNwZWNpZmllZCBieSBQT1NJWC4KK1doZW4gdGhlIHNoZWxsIGlzIGluIFxmSXBvc2l4IG1vZGVcZlAsIGl0IGRvZXMgbm90IHJlY29nbml6ZQorXGZCdGltZVxmUCBhcyBhIHJlc2VydmVkIHdvcmQgaWYgdGhlIG5leHQgdG9rZW4gYmVnaW5zIHdpdGggYSBgLScuCiBUaGUKIC5TTQogLkIgVElNRUZPUk1BVApAQCAtNTY3LDYgKzU2NywxNSBAQAogLkIgIlNoZWxsIFZhcmlhYmxlcyIKIGJlbG93LgogLlBQCitXaGVuIHRoZSBzaGVsbCBpcyBpbiBcZklwb3NpeCBtb2RlXGZQLCBcZkJ0aW1lXGZQCittYXkgYmUgZm9sbG93ZWQgYnkgYSBuZXdsaW5lLiAgSW4gdGhpcyBjYXNlLCB0aGUgc2hlbGwgZGlzcGxheXMgdGhlCit0b3RhbCB1c2VyIGFuZCBzeXN0ZW0gdGltZSBjb25zdW1lZCBieSB0aGUgc2hlbGwgYW5kIGl0cyBjaGlsZHJlbi4KK1RoZQorLlNNCisuQiBUSU1FRk9STUFUCit2YXJpYWJsZSBtYXkgYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBmb3JtYXQgb2YKK3RoZSB0aW1lIGluZm9ybWF0aW9uLgorLlBQCiBFYWNoIGNvbW1hbmQgaW4gYSBwaXBlbGluZSBpcyBleGVjdXRlZCBhcyBhIHNlcGFyYXRlIHByb2Nlc3MgKGkuZS4sIGluIGEKIHN1YnNoZWxsKS4KIC5TUyBMaXN0cwpAQCAtNTc3LDcgKzU4Niw3IEBACiAuQlIgJiAsCiAuQlIgJiYgLAogb3IKLS5CUiBcKGJ2XChidiAsCisuQlIgfHwgLAogYW5kIG9wdGlvbmFsbHkgdGVybWluYXRlZCBieSBvbmUgb2YKIC5CUiA7ICwKIC5CUiAmICwKQEAgLTU4Nyw3ICs1OTYsNyBAQAogT2YgdGhlc2UgbGlzdCBvcGVyYXRvcnMsCiAuQiAmJgogYW5kCi0uQiBcKGJ2XChidgorLkIgfHwKIGhhdmUgZXF1YWwgcHJlY2VkZW5jZSwgZm9sbG93ZWQgYnkKIC5CIDsKIGFuZApAQCAtNjA4LDcgKzYxNyw3IEBACiBleGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLgogLlBQCiBBTkQgYW5kIE9SIGxpc3RzIGFyZSBzZXF1ZW5jZXMgb2Ygb25lIG9mIG1vcmUgcGlwZWxpbmVzIHNlcGFyYXRlZCBieSB0aGUKLVxmQiYmXGZQIGFuZCBcZkJcKGJ2XChidlxmUCBjb250cm9sIG9wZXJhdG9ycywgcmVzcGVjdGl2ZWx5LgorXGZCJiZcZlAgYW5kIFxmQnx8XGZQIGNvbnRyb2wgb3BlcmF0b3JzLCByZXNwZWN0aXZlbHkuCiBBTkQgYW5kIE9SIGxpc3RzIGFyZSBleGVjdXRlZCB3aXRoIGxlZnQgYXNzb2NpYXRpdml0eS4KIEFuIEFORCBsaXN0IGhhcyB0aGUgZm9ybQogLlJTCkBAIC02MjQsNyArNjMzLDcgQEAKIEFuIE9SIGxpc3QgaGFzIHRoZSBmb3JtCiAuUlMKIC5QUAotXGZJY29tbWFuZDFcZlAgXGZCXChidlwoYnZcZlAgXGZJY29tbWFuZDJcZlAKK1xmSWNvbW1hbmQxXGZQIFxmQnx8XGZQIFxmSWNvbW1hbmQyXGZQCiAuUFAKIC5SRQogLlBQCkBAIC02ODQsNyArNjkzLDcgQEAKIGFzIHByaW1hcmllcy4KIC5pZiB0IC5zcCAwLjUKIC5pZiBuIC5zcCAxCi1XaGVuIHVzZWQgd2l0aCBcZkJbW1xmUCwgVGhlIFxmQjxcZlAgYW5kIFxmQj5cZlAgb3BlcmF0b3JzIHNvcnQKK1doZW4gdXNlZCB3aXRoIFxmQltbXGZQLCB0aGUgXGZCPFxmUCBhbmQgXGZCPlxmUCBvcGVyYXRvcnMgc29ydAogbGV4aWNvZ3JhcGhpY2FsbHkgdXNpbmcgdGhlIGN1cnJlbnQgbG9jYWxlLgogLmlmIHQgLnNwIDAuNQogLmlmIG4gLnNwIDEKQEAgLTc1NCw4ICs3NjMsNyBAQAogLkkgZXhwcmVzc2lvbjIKIGFyZSB0cnVlLgogLlRQCi0uaWYgdCBcZklleHByZXNzaW9uMVxmUCBcZkJcKGJ2XChidlxmUCBcZklleHByZXNzaW9uMlxmUAotLmlmIG4gXGZJZXhwcmVzc2lvbjFcZlAgXGZCfHxcZlAgXGZJZXhwcmVzc2lvbjJcZlAKK1xmSWV4cHJlc3Npb24xXGZQIFxmQnx8XGZQIFxmSWV4cHJlc3Npb24yXGZQCiBUcnVlIGlmIGVpdGhlcgogLkkgZXhwcmVzc2lvbjEKIG9yCkBAIC03NjMsOSArNzcxLDcgQEAKIGlzIHRydWUuCiAuUEQKIC5MUAotVGhlIFxmQiYmXGZQIGFuZAotLmlmIHQgXGZCXChidlwoYnZcZlAKLS5pZiBuIFxmQnx8XGZQCitUaGUgXGZCJiZcZlAgYW5kIFxmQnx8XGZQCiBvcGVyYXRvcnMgZG8gbm90IGV2YWx1YXRlIFxmSWV4cHJlc3Npb24yXGZQIGlmIHRoZSB2YWx1ZSBvZgogXGZJZXhwcmVzc2lvbjFcZlAgaXMgc3VmZmljaWVudCB0byBkZXRlcm1pbmUgdGhlIHJldHVybiB2YWx1ZSBvZgogdGhlIGVudGlyZSBjb25kaXRpb25hbCBleHByZXNzaW9uLgpAQCAtODczLDI0ICs4NzksMjIgQEAKIGV4ZWN1dGVkLCBpZiBwcmVzZW50LiAgVGhlIGV4aXQgc3RhdHVzIGlzIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUKIGxhc3QgY29tbWFuZCBleGVjdXRlZCwgb3IgemVybyBpZiBubyBjb25kaXRpb24gdGVzdGVkIHRydWUuCiAuVFAKLVxmQndoaWxlXGZQIFxmSWxpc3RcZlA7IFxmQmRvXGZQIFxmSWxpc3RcZlA7IFxmQmRvbmVcZlAKK1xmQndoaWxlXGZQIFxmSWxpc3QtMVxmUDsgXGZCZG9cZlAgXGZJbGlzdC0yXGZQOyBcZkJkb25lXGZQCiAuUEQgMAogLlRQCi1cZkJ1bnRpbFxmUCBcZklsaXN0XGZQOyBcZkJkb1xmUCBcZklsaXN0XGZQOyBcZkJkb25lXGZQCitcZkJ1bnRpbFxmUCBcZklsaXN0LTFcZlA7IFxmQmRvXGZQIFxmSWxpc3QtMlxmUDsgXGZCZG9uZVxmUAogLlBECi1UaGUgXGZCd2hpbGVcZlAgY29tbWFuZCBjb250aW51b3VzbHkgZXhlY3V0ZXMgdGhlIFxmQmRvXGZQCi1cZklsaXN0XGZQIGFzIGxvbmcgYXMgdGhlIGxhc3QgY29tbWFuZCBpbiBcZklsaXN0XGZQIHJldHVybnMKK1RoZSBcZkJ3aGlsZVxmUCBjb21tYW5kIGNvbnRpbnVvdXNseSBleGVjdXRlcyB0aGUgbGlzdAorXGZJbGlzdC0yXGZQIGFzIGxvbmcgYXMgdGhlIGxhc3QgY29tbWFuZCBpbiB0aGUgbGlzdCBcZklsaXN0LTFcZlAgcmV0dXJucwogYW4gZXhpdCBzdGF0dXMgb2YgemVyby4gIFRoZSBcZkJ1bnRpbFxmUCBjb21tYW5kIGlzIGlkZW50aWNhbAogdG8gdGhlIFxmQndoaWxlXGZQIGNvbW1hbmQsIGV4Y2VwdCB0aGF0IHRoZSB0ZXN0IGlzIG5lZ2F0ZWQ7Ci10aGUKLS5CIGRvCi0uSSBsaXN0CisuSSBsaXN0LTIKIGlzIGV4ZWN1dGVkIGFzIGxvbmcgYXMgdGhlIGxhc3QgY29tbWFuZCBpbgotLkkgbGlzdAorLkkgbGlzdC0xCiByZXR1cm5zIGEgbm9uLXplcm8gZXhpdCBzdGF0dXMuCiBUaGUgZXhpdCBzdGF0dXMgb2YgdGhlIFxmQndoaWxlXGZQIGFuZCBcZkJ1bnRpbFxmUCBjb21tYW5kcwogaXMgdGhlIGV4aXQgc3RhdHVzCi1vZiB0aGUgbGFzdCBcZkJkb1xmUCBcZklsaXN0XGZQIGNvbW1hbmQgZXhlY3V0ZWQsIG9yIHplcm8gaWYKK29mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQgaW4gXGZJbGlzdC0yXGZQLCBvciB6ZXJvIGlmCiBub25lIHdhcyBleGVjdXRlZC4KIC5TUyBDb3Byb2Nlc3NlcwogLlBQCkBAIC05MjksNyArOTMzLDcgQEAKIGJlbG93KS4KIFRoZSBmaWxlIGRlc2NyaXB0b3JzIGNhbiBiZSB1dGlsaXplZCBhcyBhcmd1bWVudHMgdG8gc2hlbGwgY29tbWFuZHMKIGFuZCByZWRpcmVjdGlvbnMgdXNpbmcgc3RhbmRhcmQgd29yZCBleHBhbnNpb25zLgotVGhlIHByb2Nlc3MgaWQgb2YgdGhlIHNoZWxsIHNwYXduZWQgdG8gZXhlY3V0ZSB0aGUgY29wcm9jZXNzIGlzCitUaGUgcHJvY2VzcyBJRCBvZiB0aGUgc2hlbGwgc3Bhd25lZCB0byBleGVjdXRlIHRoZSBjb3Byb2Nlc3MgaXMKIGF2YWlsYWJsZSBhcyB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIFxmSU5BTUVcZlBfUElELgogVGhlIFxmQndhaXRcZlAKIGJ1aWx0aW4gY29tbWFuZCBtYXkgYmUgdXNlZCB0byB3YWl0IGZvciB0aGUgY29wcm9jZXNzIHRvIHRlcm1pbmF0ZS4KQEAgLTk0MSw3ICs5NDUsMTEgQEAKIGV4ZWN1dGVzIGEgY29tcG91bmQgY29tbWFuZCB3aXRoIGEgbmV3IHNldCBvZiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuCiBTaGVsbCBmdW5jdGlvbnMgYXJlIGRlY2xhcmVkIGFzIGZvbGxvd3M6CiAuVFAKLVsgXGZCZnVuY3Rpb25cZlAgXSBcZkluYW1lXGZQICgpIFxmSWNvbXBvdW5kXC1jb21tYW5kXGZQIFtcZklyZWRpcmVjdGlvblxmUF0KK1xmSW5hbWVcZlAgKCkgXGZJY29tcG91bmRcLWNvbW1hbmRcZlAgW1xmSXJlZGlyZWN0aW9uXGZQXQorLlBEIDAKKy5UUAorXGZCZnVuY3Rpb25cZlAgXGZJbmFtZVxmUCBbKCldIFxmSWNvbXBvdW5kXC1jb21tYW5kXGZQIFtcZklyZWRpcmVjdGlvblxmUF0KKy5QRAogVGhpcyBkZWZpbmVzIGEgZnVuY3Rpb24gbmFtZWQgXGZJbmFtZVxmUC4KIFRoZSByZXNlcnZlZCB3b3JkIFxmQmZ1bmN0aW9uXGZQIGlzIG9wdGlvbmFsLgogSWYgdGhlIFxmQmZ1bmN0aW9uXGZQIHJlc2VydmVkIHdvcmQgaXMgc3VwcGxpZWQsIHRoZSBwYXJlbnRoZXNlcyBhcmUgb3B0aW9uYWwuCkBAIC0xMTA2LDYgKzExMTQsMTQgQEAKIHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIHRoZSBoZXhhZGVjaW1hbCB2YWx1ZSBcZklISFxmUAogKG9uZSBvciB0d28gaGV4IGRpZ2l0cykKIC5UUAorLkIgXGV1XGZJSEhISFxmUAordGhlIFVuaWNvZGUgKElTTy9JRUMgMTA2NDYpIGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUKK1xmSUhISEhcZlAgKG9uZSB0byBmb3VyIGhleCBkaWdpdHMpCisuVFAKKy5CIFxlVVxmSUhISEhISEhIXGZQCit0aGUgVW5pY29kZSAoSVNPL0lFQyAxMDY0NikgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIHRoZSBoZXhhZGVjaW1hbCB2YWx1ZQorXGZJSEhISEhISEhcZlAgKG9uZSB0byBlaWdodCBoZXggZGlnaXRzKQorLlRQCiAuQiBcZWNcZkl4XGZQCiBhIGNvbnRyb2wtXGZJeFxmUCBjaGFyYWN0ZXIKIC5QRApAQCAtMTE5Miw3ICsxMjA4LDcgQEAKIEluIHRoZSBjb250ZXh0IHdoZXJlIGFuIGFzc2lnbm1lbnQgc3RhdGVtZW50IGlzIGFzc2lnbmluZyBhIHZhbHVlCiB0byBhIHNoZWxsIHZhcmlhYmxlIG9yIGFycmF5IGluZGV4LCB0aGUgKz0gb3BlcmF0b3IgY2FuIGJlIHVzZWQgdG8KIGFwcGVuZCB0byBvciBhZGQgdG8gdGhlIHZhcmlhYmxlJ3MgcHJldmlvdXMgdmFsdWUuCi1XaGVuICs9IGlzIGFwcGxpZWQgdG8gYSB2YXJpYWJsZSBmb3Igd2hpY2ggdGhlIGludGVnZXIgYXR0cmlidXRlIGhhcyBiZWVuCitXaGVuICs9IGlzIGFwcGxpZWQgdG8gYSB2YXJpYWJsZSBmb3Igd2hpY2ggdGhlIFxmSWludGVnZXJcZlAgYXR0cmlidXRlIGhhcyBiZWVuCiBzZXQsIFxmSXZhbHVlXGZQIGlzIGV2YWx1YXRlZCBhcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gYW5kIGFkZGVkIHRvIHRoZQogdmFyaWFibGUncyBjdXJyZW50IHZhbHVlLCB3aGljaCBpcyBhbHNvIGV2YWx1YXRlZC4KIFdoZW4gKz0gaXMgYXBwbGllZCB0byBhbiBhcnJheSB2YXJpYWJsZSB1c2luZyBjb21wb3VuZCBhc3NpZ25tZW50IChzZWUKQEAgLTEzNTIsMTMgKzEzNjgsMTMgQEAKIFRoaXMgdmFyaWFibGUgaXMgcmVhZC1vbmx5LgogLlRQCiAuQiBCQVNIUElECi1FeHBhbmRzIHRvIHRoZSBwcm9jZXNzIGlkIG9mIHRoZSBjdXJyZW50IFxmQmJhc2hcZlAgcHJvY2Vzcy4KK0V4cGFuZHMgdG8gdGhlIHByb2Nlc3MgSUQgb2YgdGhlIGN1cnJlbnQgXGZCYmFzaFxmUCBwcm9jZXNzLgogVGhpcyBkaWZmZXJzIGZyb20gXGZCJCRcZlAgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLCBzdWNoIGFzIHN1YnNoZWxscwogdGhhdCBkbyBub3QgcmVxdWlyZSBcZkJiYXNoXGZQIHRvIGJlIHJlLWluaXRpYWxpemVkLgogLlRQCiAuQiBCQVNIX0FMSUFTRVMKIEFuIGFzc29jaWF0aXZlIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgY29ycmVzcG9uZCB0byB0aGUgaW50ZXJuYWwKLWxpc3Qgb2YgYWxpYXNlcyBhcyBtYWludGFpbmVkIGJ5IHRoZSBcZkJhbGlhc1xmUCBidWlsdGluCitsaXN0IG9mIGFsaWFzZXMgYXMgbWFpbnRhaW5lZCBieSB0aGUgXGZCYWxpYXNcZlAgYnVpbHRpbi4KIEVsZW1lbnRzIGFkZGVkIHRvIHRoaXMgYXJyYXkgYXBwZWFyIGluIHRoZSBhbGlhcyBsaXN0OyB1bnNldHRpbmcgYXJyYXkKIGVsZW1lbnRzIGNhdXNlIGFsaWFzZXMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBhbGlhcyBsaXN0LgogLlRQCkBAIC0xNDE0LDE0ICsxNDMwLDE1IEBACiAuVFAKIC5CIEJBU0hfTElORU5PCiBBbiBhcnJheSB2YXJpYWJsZSB3aG9zZSBtZW1iZXJzIGFyZSB0aGUgbGluZSBudW1iZXJzIGluIHNvdXJjZSBmaWxlcwotY29ycmVzcG9uZGluZyB0byBlYWNoIG1lbWJlciBvZgord2hlcmUgZWFjaCBjb3JyZXNwb25kaW5nIG1lbWJlciBvZgogLlNNCi0uQlIgRlVOQ05BTUUgLgorLkIgRlVOQ05BTUUKK3dhcyBpbnZva2VkLgogXGZCJHtCQVNIX0xJTkVOT1tcZlBcZkkkaVxmUFxmQl19XGZQIGlzIHRoZSBsaW5lIG51bWJlciBpbiB0aGUgc291cmNlCi1maWxlIHdoZXJlIFxmQiR7RlVOQ05BTUVbXGZQXGZJJGlcZlBcZkJdfVxmUCB3YXMgY2FsbGVkCitmaWxlIChcZkIke0JBU0hfU09VUkNFW1xmUFxmSSRpKzFcZlBcZkJdfVxmUCkgd2hlcmUKK1xmQiR7RlVOQ05BTUVbXGZQXGZJJGlcZlBcZkJdfVxmUCB3YXMgY2FsbGVkCiAob3IgXGZCJHtCQVNIX0xJTkVOT1tcZlBcZkkkaS0xXGZQXGZCXX1cZlAgaWYgcmVmZXJlbmNlZCB3aXRoaW4gYW5vdGhlcgogc2hlbGwgZnVuY3Rpb24pLgotVGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGZpbGUgbmFtZSBpcyBcZkIke0JBU0hfU09VUkNFW1xmUFxmSSRpXGZQXGZCXX1cZlAuCiBVc2UKIC5TTQogLkIgTElORU5PCkBAIC0xNDM3LDExICsxNDU0LDE1IEBACiBUaGlzIHZhcmlhYmxlIGlzIHJlYWQtb25seS4KIC5UUAogLkIgQkFTSF9TT1VSQ0UKLUFuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBzb3VyY2UgZmlsZW5hbWVzIGNvcnJlc3BvbmRpbmcKLXRvIHRoZSBlbGVtZW50cyBpbiB0aGUKK0FuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBzb3VyY2UgZmlsZW5hbWVzCit3aGVyZSB0aGUgY29ycmVzcG9uZGluZyBzaGVsbCBmdW5jdGlvbiBuYW1lcyBpbiB0aGUKIC5TTQogLkIgRlVOQ05BTUUKLWFycmF5IHZhcmlhYmxlLgorYXJyYXkgdmFyaWFibGUgYXJlIGRlZmluZWQuCitUaGUgc2hlbGwgZnVuY3Rpb24KK1xmQiR7RlVOQ05BTUVbXGZQXGZJJGlcZlBcZkJdfVxmUCBpcyBkZWZpbmVkIGluIHRoZSBmaWxlCitcZkIke0JBU0hfU09VUkNFW1xmUFxmSSRpXGZQXGZCXX1cZlAgYW5kIGNhbGxlZCBmcm9tCitcZkIke0JBU0hfU09VUkNFW1xmUFxmSSRpKzFcZlBcZkJdfVxmUC4KIC5UUAogLkIgQkFTSF9TVUJTSEVMTAogSW5jcmVtZW50ZWQgYnkgb25lIGVhY2ggdGltZSBhIHN1YnNoZWxsIG9yIHN1YnNoZWxsIGVudmlyb25tZW50IGlzIHNwYXduZWQuCkBAIC0xNDU0LDcgKzE0NzUsNiBAQAogVGhlIHZhbHVlcyBhc3NpZ25lZCB0byB0aGUgYXJyYXkgbWVtYmVycyBhcmUgYXMgZm9sbG93czoKIC5zcCAuNQogLlJTCi0uUEQgMAogLlRQIDI0CiAuQiBCQVNIX1ZFUlNJTkZPW1xmUjBcZlBdCiBUaGUgbWFqb3IgdmVyc2lvbiBudW1iZXIgKHRoZSBcZklyZWxlYXNlXGZQKS4KQEAgLTE0NzUsNyArMTQ5NSw2IEBACiBUaGUgdmFsdWUgb2YKIC5TTQogLkJSIE1BQ0hUWVBFIC4KLS5QRAogLlJFCiAuVFAKIC5CIEJBU0hfVkVSU0lPTgpAQCAtMTU0NCw2ICsxNTYzLDExIEBACiBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUgXGZCUHJvZ3JhbW1hYmxlIENvbXBsZXRpb25cZlAKIGJlbG93KS4KIC5UUAorLkIgQ09QUk9DCitBbiBhcnJheSB2YXJpYWJsZSAoc2VlIFxmQkFycmF5c1xmUCBiZWxvdykgY3JlYXRlZCB0byBob2xkIHRoZSBmaWxlIGRlc2NyaXB0b3JzCitmb3Igb3V0cHV0IGZyb20gYW5kIGlucHV0IHRvIGFuIHVubmFtZWQgY29wcm9jZXNzIChzZWUgXGZCQ29wcm9jZXNzZXNcZlAKK2Fib3ZlKS4KKy5UUAogLkIgRElSU1RBQ0sKIEFuIGFycmF5IHZhcmlhYmxlIChzZWUKIC5CIEFycmF5cwpAQCAtMTU3Myw3ICsxNTk3LDcgQEAKIGN1cnJlbnRseSBpbiB0aGUgZXhlY3V0aW9uIGNhbGwgc3RhY2suCiBUaGUgZWxlbWVudCB3aXRoIGluZGV4IDAgaXMgdGhlIG5hbWUgb2YgYW55IGN1cnJlbnRseS1leGVjdXRpbmcKIHNoZWxsIGZ1bmN0aW9uLgotVGhlIGJvdHRvbS1tb3N0IGVsZW1lbnQgaXMKK1RoZSBib3R0b20tbW9zdCBlbGVtZW50ICh0aGUgb25lIHdpdGggdGhlIGhpZ2hlc3QgaW5kZXgpIGlzCiAuaWYgdCBcZihDVyJtYWluIlxmUC4KIC5pZiBuICJtYWluIi4KIFRoaXMgdmFyaWFibGUgZXhpc3RzIG9ubHkgd2hlbiBhIHNoZWxsIGZ1bmN0aW9uIGlzIGV4ZWN1dGluZy4KQEAgLTE1ODYsNiArMTYxMCwxNiBAQAogLkIgRlVOQ05BTUUKIGlzIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLCBldmVuIGlmIGl0IGlzCiBzdWJzZXF1ZW50bHkgcmVzZXQuCisuaWYgdCAuc3AgMC41CisuaWYgbiAuc3AgMQorVGhpcyB2YXJpYWJsZSBjYW4gYmUgdXNlZCB3aXRoIFxmQkJBU0hfTElORU5PXGZQIGFuZCBcZkJCQVNIX1NPVVJDRVxmUC4KK0VhY2ggZWxlbWVudCBvZiBcZkJGVU5DTkFNRVxmUCBoYXMgY29ycmVzcG9uZGluZyBlbGVtZW50cyBpbgorXGZCQkFTSF9MSU5FTk9cZlAgYW5kIFxmQkJBU0hfU09VUkNFXGZQIHRvIGRlc2NyaWJlIHRoZSBjYWxsIHN0YWNrLgorRm9yIGluc3RhbmNlLCBcZkIke0ZVTkNOQU1FW1xmUFxmSSRpXGZQXGZCXX1cZlAgd2FzIGNhbGxlZCBmcm9tIHRoZSBmaWxlCitcZkIke0JBU0hfU09VUkNFW1xmUFxmSSRpKzFcZlBcZkJdfVxmUCBhdCBsaW5lIG51bWJlcgorXGZCJHtCQVNIX0xJTkVOT1tcZlBcZkkkaVxmUFxmQl19XGZQLgorVGhlIFxmQmNhbGxlclxmUCBidWlsdGluIGRpc3BsYXlzIHRoZSBjdXJyZW50IGNhbGwgc3RhY2sgdXNpbmcgdGhpcworaW5mb3JtYXRpb24uCiAuVFAKIC5CIEdST1VQUwogQW4gYXJyYXkgdmFyaWFibGUgY29udGFpbmluZyB0aGUgbGlzdCBvZiBncm91cHMgb2Ygd2hpY2ggdGhlIGN1cnJlbnQKQEAgLTE2MzgsNiArMTY3MiwxMCBAQAogaXMgZXhlY3V0aW5nLCBpbiB0aGUgc3RhbmRhcmQgR05VIFxmSWNwdS1jb21wYW55LXN5c3RlbVxmUCBmb3JtYXQuCiBUaGUgZGVmYXVsdCBpcyBzeXN0ZW0tZGVwZW5kZW50LgogLlRQCisuQiBNQVBGSUxFCitBbiBhcnJheSB2YXJpYWJsZSAoc2VlIFxmQkFycmF5c1xmUCBiZWxvdykgY3JlYXRlZCB0byBob2xkIHRoZSB0ZXh0CityZWFkIGJ5IHRoZSBcZkJtYXBmaWxlXGZQIGJ1aWx0aW4gd2hlbiBubyB2YXJpYWJsZSBuYW1lIGlzIHN1cHBsaWVkLgorLlRQCiAuQiBPTERQV0QKIFRoZSBwcmV2aW91cyB3b3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkgdGhlCiAuQiBjZApAQCAtMTY5NCw2ICsxNzMyLDI4IEBACiBpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZWNpYWwgcHJvcGVydGllcywgZXZlbiBpZiBpdCBpcwogc3Vic2VxdWVudGx5IHJlc2V0LgogLlRQCisuQiBSRUFETElORV9MSU5FCitUaGUgY29udGVudHMgb2YgdGhlCisuQiByZWFkbGluZQorbGluZSBidWZmZXIsIGZvciB1c2Ugd2l0aAorLmlmIHQgXGYoQ1diaW5kIC14XGZQCisuaWYgbiAiYmluZCAteCIKKyhzZWUKKy5TTQorLkIgIlNIRUxMIEJVSUxUSU4gQ09NTUFORFMiCitiZWxvdykuCisuVFAKKy5CIFJFQURMSU5FX1BPSU5UCitUaGUgcG9zaXRpb24gb2YgdGhlIGluc2VydGlvbiBwb2ludCBpbiB0aGUKKy5CIHJlYWRsaW5lCitsaW5lIGJ1ZmZlciwgZm9yIHVzZSB3aXRoCisuaWYgdCBcZihDV2JpbmQgLXhcZlAKKy5pZiBuICJiaW5kIC14IgorKHNlZQorLlNNCisuQiAiU0hFTEwgQlVJTFRJTiBDT01NQU5EUyIKK2JlbG93KS4KKy5UUAogLkIgUkVQTFkKIFNldCB0byB0aGUgbGluZSBvZiBpbnB1dCByZWFkIGJ5IHRoZQogLkIgcmVhZApAQCAtMTc2NiwxOCArMTgyNiw2IEBACiAuQiBQQVRICiBpcyBub3QgdXNlZCB0byBzZWFyY2ggZm9yIHRoZSByZXN1bHRhbnQgZmlsZSBuYW1lLgogLlRQCi0uQiBDRFBBVEgKLVRoZSBzZWFyY2ggcGF0aCBmb3IgdGhlCi0uQiBjZAotY29tbWFuZC4KLVRoaXMgaXMgYSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyBpbiB3aGljaCB0aGUgc2hlbGwgbG9va3MKLWZvciBkZXN0aW5hdGlvbiBkaXJlY3RvcmllcyBzcGVjaWZpZWQgYnkgdGhlCi0uQiBjZAotY29tbWFuZC4KLUEgc2FtcGxlIHZhbHVlIGlzCi0uaWYgdCBcZihDVyIuOn46L3VzciJcZlAuCi0uaWYgbiAiLjp+Oi91c3IiLgotLlRQCiAuQiBCQVNIX1hUUkFDRUZECiBJZiBzZXQgdG8gYW4gaW50ZWdlciBjb3JyZXNwb25kaW5nIHRvIGEgdmFsaWQgZmlsZSBkZXNjcmlwdG9yLCBcZkJiYXNoXGZQCiB3aWxsIHdyaXRlIHRoZSB0cmFjZSBvdXRwdXQgZ2VuZXJhdGVkIHdoZW4KQEAgLTE4MDAsOSArMTg0OCwyMyBAQAogZGVzY3JpcHRvcikgYW5kIHRoZW4gdW5zZXR0aW5nIGl0IHdpbGwgcmVzdWx0IGluIHRoZSBzdGFuZGFyZCBlcnJvcgogYmVpbmcgY2xvc2VkLgogLlRQCisuQiBDRFBBVEgKK1RoZSBzZWFyY2ggcGF0aCBmb3IgdGhlCisuQiBjZAorY29tbWFuZC4KK1RoaXMgaXMgYSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyBpbiB3aGljaCB0aGUgc2hlbGwgbG9va3MKK2ZvciBkZXN0aW5hdGlvbiBkaXJlY3RvcmllcyBzcGVjaWZpZWQgYnkgdGhlCisuQiBjZAorY29tbWFuZC4KK0Egc2FtcGxlIHZhbHVlIGlzCisuaWYgdCBcZihDVyIuOn46L3VzciJcZlAuCisuaWYgbiAiLjp+Oi91c3IiLgorLlRQCiAuQiBDT0xVTU5TCi1Vc2VkIGJ5IHRoZSBcZkJzZWxlY3RcZlAgYnVpbHRpbiBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgdGVybWluYWwgd2lkdGgKLXdoZW4gcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLiAgQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEgU0lHV0lOQ0guCitVc2VkIGJ5IHRoZSBcZkJzZWxlY3RcZlAgY29tcG91bmQgY29tbWFuZCB0byBkZXRlcm1pbmUgdGhlIHRlcm1pbmFsIHdpZHRoCit3aGVuIHByaW50aW5nIHNlbGVjdGlvbiBsaXN0cy4gIEF1dG9tYXRpY2FsbHkgc2V0IHVwb24gcmVjZWlwdCBvZiBhCisuU00KKy5CUiBTSUdXSU5DSCAuCiAuVFAKIC5CIENPTVBSRVBMWQogQW4gYXJyYXkgdmFyaWFibGUgZnJvbSB3aGljaCBcZkJiYXNoXGZQIHJlYWRzIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucwpAQCAtMTgxNCw5ICsxODc2LDE1IEBACiB3aXRoIHZhbHVlCiAuaWYgdCBcZihDV3RcZlAsCiAuaWYgbiAidCIsCi1pdCBhc3N1bWVzIHRoYXQgdGhlIHNoZWxsIGlzIHJ1bm5pbmcgaW4gYW4gZW1hY3Mgc2hlbGwgYnVmZmVyIGFuZCBkaXNhYmxlcworaXQgYXNzdW1lcyB0aGF0IHRoZSBzaGVsbCBpcyBydW5uaW5nIGluIGFuIEVtYWNzIHNoZWxsIGJ1ZmZlciBhbmQgZGlzYWJsZXMKIGxpbmUgZWRpdGluZy4KIC5UUAorLkIgRU5WCitTaW1pbGFyIHRvCisuU00KKy5CUiBCQVNIX0VOViA7Cit1c2VkIHdoZW4gdGhlIHNoZWxsIGlzIGludm9rZWQgaW4gUE9TSVggbW9kZS4KKy5UUAogLkIgRkNFRElUCiBUaGUgZGVmYXVsdCBlZGl0b3IgZm9yIHRoZQogLkIgZmMKQEAgLTE4MzYsNiArMTkwNCwxMSBAQAogLmlmIHQgXGYoQ1ciLm86fiJcZlAuCiAuaWYgbiAiLm86fiIuCiAuVFAKKy5CIEZVTkNORVNUCitJZiBzZXQgdG8gYSBudW1lcmljIHZhbHVlIGdyZWF0ZXIgdGhhbiAwLCBkZWZpbmVzIGEgbWF4aW11bSBmdW5jdGlvbgorbmVzdGluZyBsZXZlbC4gIEZ1bmN0aW9uIGludm9jYXRpb25zIHRoYXQgZXhjZWVkIHRoaXMgbmVzdGluZyBsZXZlbAord2lsbCBjYXVzZSB0aGUgY3VycmVudCBjb21tYW5kIHRvIGFib3J0LgorLlRQCiAuQiBHTE9CSUdOT1JFCiBBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIGRlZmluaW5nIHRoZSBzZXQgb2YgZmlsZW5hbWVzIHRvCiBiZSBpZ25vcmVkIGJ5IHBhdGhuYW1lIGV4cGFuc2lvbi4KQEAgLTIwMjAsMTggKzIwOTMsMTkgQEAKIFRoaXMgdmFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgbG9jYWxlIGNhdGVnb3J5IHVzZWQgZm9yIG51bWJlciBmb3JtYXR0aW5nLgogLlRQCiAuQiBMSU5FUwotVXNlZCBieSB0aGUgXGZCc2VsZWN0XGZQIGJ1aWx0aW4gY29tbWFuZCB0byBkZXRlcm1pbmUgdGhlIGNvbHVtbiBsZW5ndGgKK1VzZWQgYnkgdGhlIFxmQnNlbGVjdFxmUCBjb21wb3VuZCBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgY29sdW1uIGxlbmd0aAogZm9yIHByaW50aW5nIHNlbGVjdGlvbiBsaXN0cy4gIEF1dG9tYXRpY2FsbHkgc2V0IHVwb24gcmVjZWlwdCBvZiBhCiAuU00KIC5CUiBTSUdXSU5DSCAuCiAuVFAKIC5CIE1BSUwKLUlmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIGZpbGUgbmFtZSBhbmQgdGhlCitJZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgdG8gYSBmaWxlIG9yIGRpcmVjdG9yeSBuYW1lIGFuZCB0aGUKIC5TTQogLkIgTUFJTFBBVEgKIHZhcmlhYmxlIGlzIG5vdCBzZXQsCiAuQiBiYXNoCi1pbmZvcm1zIHRoZSB1c2VyIG9mIHRoZSBhcnJpdmFsIG9mIG1haWwgaW4gdGhlIHNwZWNpZmllZCBmaWxlLgoraW5mb3JtcyB0aGUgdXNlciBvZiB0aGUgYXJyaXZhbCBvZiBtYWlsIGluIHRoZSBzcGVjaWZpZWQgZmlsZSBvcgorTWFpbGRpci1mb3JtYXQgZGlyZWN0b3J5LgogLlRQCiAuQiBNQUlMQ0hFQ0sKIFNwZWNpZmllcyBob3cKQEAgLTIyMDAsNiArMjI3NCw3IEBACiB2YWx1ZSBcZkIkXChhcVxlbnJlYWxcZXQlM2xSXGVudXNlclxldCUzbFVcZW5zeXNcdCUzbFNcKGFxXGZQLgogSWYgdGhlIHZhbHVlIGlzIG51bGwsIG5vIHRpbWluZyBpbmZvcm1hdGlvbiBpcyBkaXNwbGF5ZWQuCiBBIHRyYWlsaW5nIG5ld2xpbmUgaXMgYWRkZWQgd2hlbiB0aGUgZm9ybWF0IHN0cmluZyBpcyBkaXNwbGF5ZWQuCisuUEQgMAogLlRQCiAuQiBUTU9VVAogSWYgc2V0IHRvIGEgdmFsdWUgZ3JlYXRlciB0aGFuIHplcm8sCkBAIC0yMjE5LDggKzIyOTQsOCBAQAogbm90IGFycml2ZS4KIC5UUAogLkIgVE1QRElSCi1JZiBzZXQsIFxmQkJhc2hcZlAgdXNlcyBpdHMgdmFsdWUgYXMgdGhlIG5hbWUgb2YgYSBkaXJlY3RvcnkgaW4gd2hpY2gKLVxmQkJhc2hcZlAgY3JlYXRlcyB0ZW1wb3JhcnkgZmlsZXMgZm9yIHRoZSBzaGVsbCdzIHVzZS4KK0lmIHNldCwgXGZCYmFzaFxmUCB1c2VzIGl0cyB2YWx1ZSBhcyB0aGUgbmFtZSBvZiBhIGRpcmVjdG9yeSBpbiB3aGljaAorXGZCYmFzaFxmUCBjcmVhdGVzIHRlbXBvcmFyeSBmaWxlcyBmb3IgdGhlIHNoZWxsJ3MgdXNlLgogLlRQCiAuQiBhdXRvX3Jlc3VtZQogVGhpcyB2YXJpYWJsZSBjb250cm9scyBob3cgdGhlIHNoZWxsIGludGVyYWN0cyB3aXRoIHRoZSB1c2VyIGFuZApAQCAtMjI4NCw5ICsyMzU5LDEzIEBACiBBbiBpbmRleGVkIGFycmF5IGlzIGNyZWF0ZWQgYXV0b21hdGljYWxseSBpZiBhbnkgdmFyaWFibGUgaXMgYXNzaWduZWQgdG8KIHVzaW5nIHRoZSBzeW50YXggXGZJbmFtZVxmUFtcZklzdWJzY3JpcHRcZlBdPVxmSXZhbHVlXGZQLiAgVGhlCiAuSSBzdWJzY3JpcHQKLWlzIHRyZWF0ZWQgYXMgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uIHRoYXQgbXVzdCBldmFsdWF0ZSB0byBhIG51bWJlcgotZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHplcm8uICBUbyBleHBsaWNpdGx5IGRlY2xhcmUgYW4gaW5kZXhlZCBhcnJheSwKLXVzZQoraXMgdHJlYXRlZCBhcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gdGhhdCBtdXN0IGV2YWx1YXRlIHRvIGEgbnVtYmVyLgorSWYKKy5JIHN1YnNjcmlwdAorZXZhbHVhdGVzIHRvIGEgbnVtYmVyIGxlc3MgdGhhbiB6ZXJvLCBpdCBpcyB1c2VkIGFzCithbiBvZmZzZXQgZnJvbSBvbmUgZ3JlYXRlciB0aGFuIHRoZSBhcnJheSdzIG1heGltdW0gaW5kZXggKHNvIGEgc3ViY3JpcHQKK29mIC0xIHJlZmVycyB0byB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBhcnJheSkuCitUbyBleHBsaWNpdGx5IGRlY2xhcmUgYW4gaW5kZXhlZCBhcnJheSwgdXNlCiAuQiBkZWNsYXJlIFwtYSBcZkluYW1lXGZQCiAoc2VlCiAuU00KQEAgLTIzNzEsNiArMjQ1MCw5IEBACiBvcHRpb24gdG8gc3BlY2lmeSBhbiBpbmRleGVkIGFycmF5IGFuZCBhCiAuQiBcLUEKIG9wdGlvbiB0byBzcGVjaWZ5IGFuIGFzc29jaWF0aXZlIGFycmF5LgorSWYgYm90aCBvcHRpb25zIGFyZSBzdXBwbGllZCwgCisuQiBcLUEKK3Rha2VzIHByZWNlZGVuY2UuCiBUaGUKIC5CIHJlYWQKIGJ1aWx0aW4gYWNjZXB0cyBhCkBAIC0yNTk1LDcgKzI2NzcsNyBAQAogZXhwYW5kZWQgYW5kIHRoYXQgdmFsdWUgaXMgdXNlZCBpbiB0aGUgcmVzdCBvZiB0aGUgc3Vic3RpdHV0aW9uLCByYXRoZXIKIHRoYW4gdGhlIHZhbHVlIG9mIFxmSXBhcmFtZXRlclxmUCBpdHNlbGYuCiBUaGlzIGlzIGtub3duIGFzIFxmSWluZGlyZWN0IGV4cGFuc2lvblxmUC4KLVRoZSBleGNlcHRpb25zIHRvIHRoaXMgYXJlIHRoZSBleHBhbnNpb25zIG9mICR7IVxmSXByZWZpeFxmUCp9IGFuZAorVGhlIGV4Y2VwdGlvbnMgdG8gdGhpcyBhcmUgdGhlIGV4cGFuc2lvbnMgb2YgJHtcZkIhXGZQXGZJcHJlZml4XGZQXGZCKlxmUH0gYW5kCiAke1xmQiFcZlBcZkluYW1lXGZQW1xmSUBcZlBdfSBkZXNjcmliZWQgYmVsb3cuCiBUaGUgZXhjbGFtYXRpb24gcG9pbnQgbXVzdCBpbW1lZGlhdGVseSBmb2xsb3cgdGhlIGxlZnQgYnJhY2UgaW4gb3JkZXIgdG8KIGludHJvZHVjZSBpbmRpcmVjdGlvbi4KQEAgLTI2NTUsNyArMjczNyw3IEBACiAuVFAKICR7XGZJcGFyYW1ldGVyXGZQXGZCOlxmUFxmSW9mZnNldFxmUFxmQjpcZlBcZklsZW5ndGhcZlB9CiAuUEQKLVxmQlN1YnN0cmluZyBFeHBhbnNpb24uXGZQCitcZkJTdWJzdHJpbmcgRXhwYW5zaW9uXGZQLgogRXhwYW5kcyB0byB1cCB0byBcZklsZW5ndGhcZlAgY2hhcmFjdGVycyBvZiBcZklwYXJhbWV0ZXJcZlAKIHN0YXJ0aW5nIGF0IHRoZSBjaGFyYWN0ZXIgc3BlY2lmaWVkIGJ5IFxmSW9mZnNldFxmUC4KIElmIFxmSWxlbmd0aFxmUCBpcyBvbWl0dGVkLCBleHBhbmRzIHRvIHRoZSBzdWJzdHJpbmcgb2YKQEAgLTI2NjUsOSArMjc0NywxMyBAQAogLkIKIEFSSVRITUVUSUMgRVZBTFVBVElPTgogYmVsb3cpLgotXGZJbGVuZ3RoXGZQIG11c3QgZXZhbHVhdGUgdG8gYSBudW1iZXIgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHplcm8uCiBJZiBcZklvZmZzZXRcZlAgZXZhbHVhdGVzIHRvIGEgbnVtYmVyIGxlc3MgdGhhbiB6ZXJvLCB0aGUgdmFsdWUKIGlzIHVzZWQgYXMgYW4gb2Zmc2V0IGZyb20gdGhlIGVuZCBvZiB0aGUgdmFsdWUgb2YgXGZJcGFyYW1ldGVyXGZQLgorSWYgXGZJbGVuZ3RoXGZQIGV2YWx1YXRlcyB0byBhIG51bWJlciBsZXNzIHRoYW4gemVybywgYW5kIFxmSXBhcmFtZXRlclxmUAoraXMgbm90IFxmQkBcZlAgYW5kIG5vdCBhbiBpbmRleGVkIG9yIGFzc29jaWF0aXZlIGFycmF5LCBpdCBpcyBpbnRlcnByZXRlZAorYXMgYW4gb2Zmc2V0IGZyb20gdGhlIGVuZCBvZiB0aGUgdmFsdWUgb2YgXGZJcGFyYW1ldGVyXGZQIHJhdGhlciB0aGFuCithIG51bWJlciBvZiBjaGFyYWN0ZXJzLCBhbmQgdGhlIGV4cGFuc2lvbiBpcyB0aGUgY2hhcmFjdGVycyBiZXR3ZWVuIHRoZQordHdvIG9mZnNldHMuCiBJZiBcZklwYXJhbWV0ZXJcZlAgaXMgXGZCQFxmUCwgdGhlIHJlc3VsdCBpcyBcZklsZW5ndGhcZlAgcG9zaXRpb25hbAogcGFyYW1ldGVycyBiZWdpbm5pbmcgYXQgXGZJb2Zmc2V0XGZQLgogSWYgXGZJcGFyYW1ldGVyXGZQIGlzIGFuIGluZGV4ZWQgYXJyYXkgbmFtZSBzdWJzY3JpcHRlZCBieSBAIG9yICosCkBAIC0yNjg5LDcgKzI3NzUsNyBAQAogLlRQCiAke1xmQiFcZlBcZklwcmVmaXhcZlBcZkJAXGZQfQogLlBECi1cZkJOYW1lcyBtYXRjaGluZyBwcmVmaXguXGZQCitcZkJOYW1lcyBtYXRjaGluZyBwcmVmaXhcZlAuCiBFeHBhbmRzIHRvIHRoZSBuYW1lcyBvZiB2YXJpYWJsZXMgd2hvc2UgbmFtZXMgYmVnaW4gd2l0aCBcZklwcmVmaXhcZlAsCiBzZXBhcmF0ZWQgYnkgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUKIC5TTQpAQCAtMjcwMyw3ICsyNzg5LDcgQEAKIC5UUAogJHtcZkIhXGZQXGZJbmFtZVxmUFtcZkkqXGZQXX0KIC5QRAotXGZCTGlzdCBvZiBhcnJheSBrZXlzLlxmUAorXGZCTGlzdCBvZiBhcnJheSBrZXlzXGZQLgogSWYgXGZJbmFtZVxmUCBpcyBhbiBhcnJheSB2YXJpYWJsZSwgZXhwYW5kcyB0byB0aGUgbGlzdCBvZiBhcnJheSBpbmRpY2VzCiAoa2V5cykgYXNzaWduZWQgaW4gXGZJbmFtZVxmUC4KIElmIFxmSW5hbWVcZlAgaXMgbm90IGFuIGFycmF5LCBleHBhbmRzIHRvIDAgaWYgXGZJbmFtZVxmUCBpcyBzZXQgYW5kIG51bGwKQEAgLTI3MTIsNyArMjc5OCw3IEBACiBrZXkgZXhwYW5kcyB0byBhIHNlcGFyYXRlIHdvcmQuCiAuVFAKICR7XGZCI1xmUFxmSXBhcmFtZXRlclxmUH0KLVxmQlBhcmFtZXRlciBsZW5ndGguXGZQCitcZkJQYXJhbWV0ZXIgbGVuZ3RoXGZQLgogVGhlIGxlbmd0aCBpbiBjaGFyYWN0ZXJzIG9mIHRoZSB2YWx1ZSBvZiBcZklwYXJhbWV0ZXJcZlAgaXMgc3Vic3RpdHV0ZWQuCiBJZgogLkkgcGFyYW1ldGVyCkBAIC0yNzM0LDcgKzI4MjAsNyBAQAogLlRQCiAke1xmSXBhcmFtZXRlclxmUFxmQiMjXGZQXGZJd29yZFxmUH0KIC5QRAotXGZCUmVtb3ZlIG1hdGNoaW5nIHByZWZpeCBwYXR0ZXJuLlxmUAorXGZCUmVtb3ZlIG1hdGNoaW5nIHByZWZpeCBwYXR0ZXJuXGZQLgogVGhlIAogLkkgd29yZAogaXMgZXhwYW5kZWQgdG8gcHJvZHVjZSBhIHBhdHRlcm4ganVzdCBhcyBpbiBwYXRobmFtZQpAQCAtMjc2Nyw3ICsyODUzLDcgQEAKIC5UUAogJHtcZklwYXJhbWV0ZXJcZlBcZkIlJVxmUFxmSXdvcmRcZlB9CiAuUEQKLVxmQlJlbW92ZSBtYXRjaGluZyBzdWZmaXggcGF0dGVybi5cZlAKK1xmQlJlbW92ZSBtYXRjaGluZyBzdWZmaXggcGF0dGVyblxmUC4KIFRoZSBcZkl3b3JkXGZQIGlzIGV4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4KIHBhdGhuYW1lIGV4cGFuc2lvbi4KIElmIHRoZSBwYXR0ZXJuIG1hdGNoZXMgYSB0cmFpbGluZyBwb3J0aW9uIG9mIHRoZSBleHBhbmRlZCB2YWx1ZSBvZgpAQCAtMjc5NCw3ICsyODgwLDcgQEAKIGFycmF5IGluIHR1cm4sIGFuZCB0aGUgZXhwYW5zaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4KIC5UUAogJHtcZklwYXJhbWV0ZXJcZlBcZkIvXGZQXGZJcGF0dGVyblxmUFxmQi9cZlBcZklzdHJpbmdcZlB9Ci1cZkJQYXR0ZXJuIHN1YnN0aXR1dGlvbi5cZlAKK1xmQlBhdHRlcm4gc3Vic3RpdHV0aW9uXGZQLgogVGhlIFxmSXBhdHRlcm5cZlAgaXMgZXhwYW5kZWQgdG8gcHJvZHVjZSBhIHBhdHRlcm4ganVzdCBhcyBpbgogcGF0aG5hbWUgZXhwYW5zaW9uLgogXGZJUGFyYW1ldGVyXGZQIGlzIGV4cGFuZGVkIGFuZCB0aGUgbG9uZ2VzdCBtYXRjaCBvZiBcZklwYXR0ZXJuXGZQCkBAIC0yODMzLDcgKzI5MTksNyBAQAogLlRQCiAke1xmSXBhcmFtZXRlclxmUFxmQiwsXGZQXGZJcGF0dGVyblxmUH0KIC5QRAotXGZCQ2FzZSBtb2RpZmljYXRpb24uXGZQCitcZkJDYXNlIG1vZGlmaWNhdGlvblxmUC4KIFRoaXMgZXhwYW5zaW9uIG1vZGlmaWVzIHRoZSBjYXNlIG9mIGFscGhhYmV0aWMgY2hhcmFjdGVycyBpbiBcZklwYXJhbWV0ZXJcZlAuCiBUaGUgXGZJcGF0dGVyblxmUCBpcyBleHBhbmRlZCB0byBwcm9kdWNlIGEgcGF0dGVybiBqdXN0IGFzIGluCiBwYXRobmFtZSBleHBhbnNpb24uCkBAIC0yODQyLDcgKzI5MjgsNyBAQAogdG8gbG93ZXJjYXNlLgogVGhlIFxmQl5eXGZQIGFuZCBcZkIsLFxmUCBleHBhbnNpb25zIGNvbnZlcnQgZWFjaCBtYXRjaGVkIGNoYXJhY3RlciBpbiB0aGUKIGV4cGFuZGVkIHZhbHVlOyB0aGUgXGZCXlxmUCBhbmQgXGZCLFxmUCBleHBhbnNpb25zIG1hdGNoIGFuZCBjb252ZXJ0IG9ubHkKLXRoZSBmaXJzdCBjaGFyYWN0ZXIgaW4gdGhlIGV4cGFuZGVkIHZhbHVlLi4KK3RoZSBmaXJzdCBjaGFyYWN0ZXIgaW4gdGhlIGV4cGFuZGVkIHZhbHVlLgogSWYgXGZJcGF0dGVyblxmUCBpcyBvbWl0dGVkLCBpdCBpcyB0cmVhdGVkIGxpa2UgYSBcZkI/XGZQLCB3aGljaCBtYXRjaGVzCiBldmVyeSBjaGFyYWN0ZXIuCiBJZgpAQCAtMjg2NSw3ICsyOTUxLDYgQEAKIC5QUAogXGZJQ29tbWFuZCBzdWJzdGl0dXRpb25cZlAgYWxsb3dzIHRoZSBvdXRwdXQgb2YgYSBjb21tYW5kIHRvIHJlcGxhY2UKIHRoZSBjb21tYW5kIG5hbWUuICBUaGVyZSBhcmUgdHdvIGZvcm1zOgotLlBQCiAuUlMKIC5QUAogXGZCJChcZlBcZkljb21tYW5kXGZQXHxcZkIpXGZQCkBAIC0zMTMyLDYgKzMyMTcsNyBAQAogVGhlIHNwZWNpYWwgcGF0dGVybiBjaGFyYWN0ZXJzIGhhdmUgdGhlIGZvbGxvd2luZyBtZWFuaW5nczoKIC5QUAogLlBEIDAKKy5SUwogLlRQCiAuQiAqCiBNYXRjaGVzIGFueSBzdHJpbmcsIGluY2x1ZGluZyB0aGUgbnVsbCBzdHJpbmcuCkBAIC0zMjExLDYgKzMyOTcsNyBAQAogdGhlIHN5bnRheCBcZkJbLlxmUFxmSXN5bWJvbFxmUFxmQi5dXGZQIG1hdGNoZXMgdGhlIGNvbGxhdGluZyBzeW1ib2wKIFxmSXN5bWJvbFxmUC4KIC5SRQorLlJFCiAuUEQKIC5QUAogSWYgdGhlIFxmQmV4dGdsb2JcZlAgc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgdXNpbmcgdGhlIFxmQnNob3B0XGZQCkBAIC0zNjk3LDcgKzM3ODQsNyBAQAogZHVyaW5nIGl0cyBleGVjdXRpb24uCiBUaGUgc3BlY2lhbCBwYXJhbWV0ZXIKIC5CICMKLWlzIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgY2hhbmdlLiAgU3BlY2lhbCBwYXJhbWV0ZXIgMAoraXMgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBjaGFuZ2UuICBTcGVjaWFsIHBhcmFtZXRlciBcZkIwXGZQCiBpcyB1bmNoYW5nZWQuCiBUaGUgZmlyc3QgZWxlbWVudCBvZiB0aGUKIC5TTQpAQCAtMzczNiw2ICszODIzLDExIEBACiBidWlsdGluIGNvbW1hbmQuICBPcmRpbmFyaWx5LCB2YXJpYWJsZXMgYW5kIHRoZWlyIHZhbHVlcwogYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBmdW5jdGlvbiBhbmQgaXRzIGNhbGxlci4KIC5QUAorVGhlIFxmQkZVTkNORVNUXGZQIHZhcmlhYmxlLCBpZiBzZXQgdG8gYSBudW1lcmljIHZhbHVlIGdyZWF0ZXIKK3RoYW4gMCwgZGVmaW5lcyBhIG1heGltdW0gZnVuY3Rpb24gbmVzdGluZyBsZXZlbC4gIEZ1bmN0aW9uCitpbnZvY2F0aW9ucyB0aGF0IGV4Y2VlZCB0aGUgbGltaXQgY2F1c2UgdGhlIGVudGlyZSBjb21tYW5kIHRvCithYm9ydC4KKy5QUAogSWYgdGhlIGJ1aWx0aW4gY29tbWFuZAogLkIgcmV0dXJuCiBpcyBleGVjdXRlZCBpbiBhIGZ1bmN0aW9uLCB0aGUgZnVuY3Rpb24gY29tcGxldGVzIGFuZApAQCAtMzc3OSw4ICszODcxLDEwIEBACiBzaGVsbCdzIGNoaWxkcmVuLgogQ2FyZSBzaG91bGQgYmUgdGFrZW4gaW4gY2FzZXMgd2hlcmUgdGhpcyBtYXkgY2F1c2UgYSBwcm9ibGVtLgogLlBQCi1GdW5jdGlvbnMgbWF5IGJlIHJlY3Vyc2l2ZS4gIE5vIGxpbWl0IGlzIGltcG9zZWQgb24gdGhlIG51bWJlcgotb2YgcmVjdXJzaXZlIGNhbGxzLgorRnVuY3Rpb25zIG1heSBiZSByZWN1cnNpdmUuCitUaGUgXGZCRlVOQ05FU1RcZlAgdmFyaWFibGUgbWF5IGJlIHVzZWQgdG8gbGltaXQgdGhlIGRlcHRoIG9mIHRoZQorZnVuY3Rpb24gY2FsbCBzdGFjayBhbmQgcmVzdHJpY3QgdGhlIG51bWJlciBvZiBmdW5jdGlvbiBpbnZvY2F0aW9ucy4KK0J5IGRlZmF1bHQsIG5vIGxpbWl0IGlzIGltcG9zZWQgb24gdGhlIG51bWJlciBvZiByZWN1cnNpdmUgY2FsbHMuCiAuU0ggIkFSSVRITUVUSUMgRVZBTFVBVElPTiIKIFRoZSBzaGVsbCBhbGxvd3MgYXJpdGhtZXRpYyBleHByZXNzaW9ucyB0byBiZSBldmFsdWF0ZWQsIHVuZGVyCiBjZXJ0YWluIGNpcmN1bXN0YW5jZXMgKHNlZSB0aGUgXGZCbGV0XGZQIGFuZCBcZkJkZWNsYXJlXGZQIGJ1aWx0aW4KQEAgLTM4NjAsMTIgKzM5NTQsMTIgQEAKIHdoZW4gaXQgaXMgcmVmZXJlbmNlZCwgb3Igd2hlbiBhIHZhcmlhYmxlIHdoaWNoIGhhcyBiZWVuIGdpdmVuIHRoZQogXGZJaW50ZWdlclxmUCBhdHRyaWJ1dGUgdXNpbmcgXGZCZGVjbGFyZSAtaVxmUCBpcyBhc3NpZ25lZCBhIHZhbHVlLgogQSBudWxsIHZhbHVlIGV2YWx1YXRlcyB0byAwLgotQSBzaGVsbCB2YXJpYWJsZSBuZWVkIG5vdCBoYXZlIGl0cyBpbnRlZ2VyIGF0dHJpYnV0ZQorQSBzaGVsbCB2YXJpYWJsZSBuZWVkIG5vdCBoYXZlIGl0cyBcZklpbnRlZ2VyXGZQIGF0dHJpYnV0ZQogdHVybmVkIG9uIHRvIGJlIHVzZWQgaW4gYW4gZXhwcmVzc2lvbi4KIC5QUAogQ29uc3RhbnRzIHdpdGggYSBsZWFkaW5nIDAgYXJlIGludGVycHJldGVkIGFzIG9jdGFsIG51bWJlcnMuCiBBIGxlYWRpbmcgMHggb3IgMFggZGVub3RlcyBoZXhhZGVjaW1hbC4KLU90aGVyd2lzZSwgbnVtYmVycyB0YWtlIHRoZSBmb3JtIFtcZkliYXNlI1xmUF1uLCB3aGVyZSBcZkliYXNlXGZQCitPdGhlcndpc2UsIG51bWJlcnMgdGFrZSB0aGUgZm9ybSBbXGZJYmFzZSNcZlBdbiwgd2hlcmUgdGhlIG9wdGlvbmFsIFxmSWJhc2VcZlAKIGlzIGEgZGVjaW1hbCBudW1iZXIgYmV0d2VlbiAyIGFuZCA2NCByZXByZXNlbnRpbmcgdGhlIGFyaXRobWV0aWMKIGJhc2UsIGFuZCBcZkluXGZQIGlzIGEgbnVtYmVyIGluIHRoYXQgYmFzZS4KIElmIFxmSWJhc2UjXGZQIGlzIG9taXR0ZWQsIHRoZW4gYmFzZSAxMCBpcyB1c2VkLgpAQCAtMzg5Myw4ICszOTg3LDkgQEAKIGxpbmtzIGFuZCBvcGVyYXRlIG9uIHRoZSB0YXJnZXQgb2YgdGhlIGxpbmssIHJhdGhlciB0aGFuIHRoZSBsaW5rIGl0c2VsZi4KIC5pZiB0IC5zcCAwLjUKIC5pZiBuIC5zcCAxCi1XaGVuIHVzZWQgd2l0aCBcZkJbW1xmUCwgVGhlIFxmQjxcZlAgYW5kIFxmQj5cZlAgb3BlcmF0b3JzIHNvcnQKK1doZW4gdXNlZCB3aXRoIFxmQltbXGZQLCB0aGUgXGZCPFxmUCBhbmQgXGZCPlxmUCBvcGVyYXRvcnMgc29ydAogbGV4aWNvZ3JhcGhpY2FsbHkgdXNpbmcgdGhlIGN1cnJlbnQgbG9jYWxlLgorVGhlIFxmQnRlc3RcZlAgY29tbWFuZCBzb3J0cyB1c2luZyBBU0NJSSBvcmRlcmluZy4KIC5zcCAxCiAuUEQgMAogLlRQCkBAIC0zOTQ4LDIwICs0MDQzLDI0IEBACiAuQiBcLXggXGZJZmlsZVxmUAogVHJ1ZSBpZiBcZklmaWxlXGZQIGV4aXN0cyBhbmQgaXMgZXhlY3V0YWJsZS4KIC5UUAotLkIgXC1PIFxmSWZpbGVcZlAKLVRydWUgaWYgXGZJZmlsZVxmUCBleGlzdHMgYW5kIGlzIG93bmVkIGJ5IHRoZSBlZmZlY3RpdmUgdXNlciBpZC4KLS5UUAogLkIgXC1HIFxmSWZpbGVcZlAKIFRydWUgaWYgXGZJZmlsZVxmUCBleGlzdHMgYW5kIGlzIG93bmVkIGJ5IHRoZSBlZmZlY3RpdmUgZ3JvdXAgaWQuCiAuVFAKIC5CIFwtTCBcZklmaWxlXGZQCiBUcnVlIGlmIFxmSWZpbGVcZlAgZXhpc3RzIGFuZCBpcyBhIHN5bWJvbGljIGxpbmsuCiAuVFAKKy5CIFwtTiBcZklmaWxlXGZQCitUcnVlIGlmIFxmSWZpbGVcZlAgZXhpc3RzIGFuZCBoYXMgYmVlbiBtb2RpZmllZCBzaW5jZSBpdCB3YXMgbGFzdCByZWFkLgorLlRQCisuQiBcLU8gXGZJZmlsZVxmUAorVHJ1ZSBpZiBcZklmaWxlXGZQIGV4aXN0cyBhbmQgaXMgb3duZWQgYnkgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkLgorLlRQCiAuQiBcLVMgXGZJZmlsZVxmUAogVHJ1ZSBpZiBcZklmaWxlXGZQIGV4aXN0cyBhbmQgaXMgYSBzb2NrZXQuCiAuVFAKLS5CIFwtTiBcZklmaWxlXGZQCi1UcnVlIGlmIFxmSWZpbGVcZlAgZXhpc3RzIGFuZCBoYXMgYmVlbiBtb2RpZmllZCBzaW5jZSBpdCB3YXMgbGFzdCByZWFkLgorXGZJZmlsZTFcZlAgXGZCXC1lZlxmUCBcZklmaWxlMlxmUAorVHJ1ZSBpZiBcZklmaWxlMVxmUCBhbmQgXGZJZmlsZTJcZlAgcmVmZXIgdG8gdGhlIHNhbWUgZGV2aWNlIGFuZAoraW5vZGUgbnVtYmVycy4KIC5UUAogXGZJZmlsZTFcZlAgXC1cZkJudFxmUCBcZklmaWxlMlxmUAogVHJ1ZSBpZiBcZklmaWxlMVxmUCBpcyBuZXdlciAoYWNjb3JkaW5nIHRvIG1vZGlmaWNhdGlvbiBkYXRlKSB0aGFuIFxmSWZpbGUyXGZQLApAQCAtMzk3MSwxMiArNDA3MCw4IEBACiBUcnVlIGlmIFxmSWZpbGUxXGZQIGlzIG9sZGVyIHRoYW4gXGZJZmlsZTJcZlAsIG9yIGlmIFxmSWZpbGUyXGZQIGV4aXN0cwogYW5kIFxmSWZpbGUxXGZQIGRvZXMgbm90LgogLlRQCi1cZklmaWxlMVxmUCBcZkJcLWVmXGZQIFxmSWZpbGUyXGZQCi1UcnVlIGlmIFxmSWZpbGUxXGZQIGFuZCBcZklmaWxlMlxmUCByZWZlciB0byB0aGUgc2FtZSBkZXZpY2UgYW5kCi1pbm9kZSBudW1iZXJzLgotLlRQCiAuQiBcLW8gXGZJb3B0bmFtZVxmUAotVHJ1ZSBpZiBzaGVsbCBvcHRpb24KK1RydWUgaWYgdGhlIHNoZWxsIG9wdGlvbgogLkkgb3B0bmFtZQogaXMgZW5hYmxlZC4KIFNlZSB0aGUgbGlzdCBvZiBvcHRpb25zIHVuZGVyIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUKQEAgLTM5ODUsNiArNDA4MCwxMSBAQAogLkIgc2V0CiBidWlsdGluIGJlbG93LgogLlRQCisuQiBcLXYgXGZJdmFybmFtZVxmUAorVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUKKy5JIHZhcm5hbWUKK2lzIHNldCAoaGFzIGJlZW4gYXNzaWduZWQgYSB2YWx1ZSkuCisuVFAKIC5CIFwteiBcZklzdHJpbmdcZlAKIFRydWUgaWYgdGhlIGxlbmd0aCBvZiBcZklzdHJpbmdcZlAgaXMgemVyby4KIC5UUApAQCAtNDE0Myw3ICs0MjQzLDYgQEAKIC5TSCBDT01NQU5EIEVYRUNVVElPTiBFTlZJUk9OTUVOVAogVGhlIHNoZWxsIGhhcyBhbiBcZklleGVjdXRpb24gZW52aXJvbm1lbnRcZlAsIHdoaWNoIGNvbnNpc3RzIG9mIHRoZQogZm9sbG93aW5nOgotLmlmIG4gLnNwIDEKIC5JUCBcKGJ1CiBvcGVuIGZpbGVzIGluaGVyaXRlZCBieSB0aGUgc2hlbGwgYXQgaW52b2NhdGlvbiwgYXMgbW9kaWZpZWQgYnkKIHJlZGlyZWN0aW9ucyBzdXBwbGllZCB0byB0aGUgXGZCZXhlY1xmUCBidWlsdGluCkBAIC00MjA3LDggKzQzMDYsOCBAQAogY2Fubm90IGFmZmVjdCB0aGUgc2hlbGwncyBleGVjdXRpb24gZW52aXJvbm1lbnQuCiAuUFAKIFN1YnNoZWxscyBzcGF3bmVkIHRvIGV4ZWN1dGUgY29tbWFuZCBzdWJzdGl0dXRpb25zIGluaGVyaXQgdGhlIHZhbHVlIG9mCi10aGUgXGZCXC1lXGZQIG9wdGlvbiBmcm9tIHRoZSBwYXJlbnQgc2hlbGwuICBXaGVuIG5vdCBpbiBwb3NpeCBtb2RlLAotQmFzaCBjbGVhcnMgdGhlIFxmQlwtZVxmUCBvcHRpb24gaW4gc3VjaCBzdWJzaGVsbHMuCit0aGUgXGZCXC1lXGZQIG9wdGlvbiBmcm9tIHRoZSBwYXJlbnQgc2hlbGwuICBXaGVuIG5vdCBpbiBcZklwb3NpeFxmUCBtb2RlLAorXGZCYmFzaFxmUCBjbGVhcnMgdGhlIFxmQlwtZVxmUCBvcHRpb24gaW4gc3VjaCBzdWJzaGVsbHMuCiAuUFAKIElmIGEgY29tbWFuZCBpcyBmb2xsb3dlZCBieSBhIFxmQiZcZlAgYW5kIGpvYiBjb250cm9sIGlzIG5vdCBhY3RpdmUsIHRoZQogZGVmYXVsdCBzdGFuZGFyZCBpbnB1dCBmb3IgdGhlIGNvbW1hbmQgaXMgdGhlIGVtcHR5IGZpbGUgXGZJL2Rldi9udWxsXGZQLgpAQCAtNDcwMyw3ICs0ODAyLDcgQEAKIG9wdGlvbiBpcyBnaXZlbiBhdCBzaGVsbCBpbnZvY2F0aW9uLgogTGluZSBlZGl0aW5nIGlzIGFsc28gdXNlZCB3aGVuIHVzaW5nIHRoZSBcZkJcLWVcZlAgb3B0aW9uIHRvIHRoZQogXGZCcmVhZFxmUCBidWlsdGluLgotQnkgZGVmYXVsdCwgdGhlIGxpbmUgZWRpdGluZyBjb21tYW5kcyBhcmUgc2ltaWxhciB0byB0aG9zZSBvZiBlbWFjcy4KK0J5IGRlZmF1bHQsIHRoZSBsaW5lIGVkaXRpbmcgY29tbWFuZHMgYXJlIHNpbWlsYXIgdG8gdGhvc2Ugb2YgRW1hY3MuCiBBIHZpLXN0eWxlIGxpbmUgZWRpdGluZyBpbnRlcmZhY2UgaXMgYWxzbyBhdmFpbGFibGUuCiBMaW5lIGVkaXRpbmcgY2FuIGJlIGVuYWJsZWQgYXQgYW55IHRpbWUgdXNpbmcgdGhlCiAuQiBcLW8gZW1hY3MKQEAgLTQ3MjQsNyArNDgyMyw3IEBACiBidWlsdGluLgogLlNTICJSZWFkbGluZSBOb3RhdGlvbiIKIC5QUAotSW4gdGhpcyBzZWN0aW9uLCB0aGUgZW1hY3Mtc3R5bGUgbm90YXRpb24gaXMgdXNlZCB0byBkZW5vdGUKK0luIHRoaXMgc2VjdGlvbiwgdGhlIEVtYWNzLXN0eWxlIG5vdGF0aW9uIGlzIHVzZWQgdG8gZGVub3RlCiBrZXlzdHJva2VzLiAgQ29udHJvbCBrZXlzIGFyZSBkZW5vdGVkIGJ5IENcLVxmSWtleVxmUiwgZS5nLiwgQ1wtbgogbWVhbnMgQ29udHJvbFwtTi4gIFNpbWlsYXJseSwgCiAuSSBtZXRhCkBAIC01MDQxLDcgKzUxNDAsNyBAQAogLlRQCiAuQiBlZGl0aW5nXC1tb2RlIChlbWFjcykKIENvbnRyb2xzIHdoZXRoZXIgcmVhZGxpbmUgYmVnaW5zIHdpdGggYSBzZXQgb2Yga2V5IGJpbmRpbmdzIHNpbWlsYXIKLXRvIFxmSWVtYWNzXGZQIG9yIFxmSXZpXGZQLgordG8gXGZJRW1hY3NcZlAgb3IgXGZJdmlcZlAuCiAuQiBlZGl0aW5nXC1tb2RlCiBjYW4gYmUgc2V0IHRvIGVpdGhlcgogLkIgZW1hY3MKQEAgLTUwNjQsMTEgKzUxNjMsMTEgQEAKIHRoZSBtZXRhIGtleSBpcyB1c2VkIHRvIHNlbmQgZWlnaHQtYml0IGNoYXJhY3RlcnMuCiAuVFAKIC5CIGV4cGFuZFwtdGlsZGUgKE9mZikKLUlmIHNldCB0byBcZkJvblxmUCwgdGlsZGUgZXhwYW5zaW9uIGlzIHBlcmZvcm1lZCB3aGVuIHJlYWRsaW5lCitJZiBzZXQgdG8gXGZCT25cZlAsIHRpbGRlIGV4cGFuc2lvbiBpcyBwZXJmb3JtZWQgd2hlbiByZWFkbGluZQogYXR0ZW1wdHMgd29yZCBjb21wbGV0aW9uLgogLlRQCiAuQiBoaXN0b3J5XC1wcmVzZXJ2ZVwtcG9pbnQgKE9mZikKLUlmIHNldCB0byBcZkJvblxmUCwgdGhlIGhpc3RvcnkgY29kZSBhdHRlbXB0cyB0byBwbGFjZSBwb2ludCBhdCB0aGUKK0lmIHNldCB0byBcZkJPblxmUCwgdGhlIGhpc3RvcnkgY29kZSBhdHRlbXB0cyB0byBwbGFjZSBwb2ludCBhdCB0aGUKIHNhbWUgbG9jYXRpb24gb24gZWFjaCBoaXN0b3J5IGxpbmUgcmV0cmlldmVkIHdpdGggXGZCcHJldmlvdXMtaGlzdG9yeVxmUAogb3IgXGZCbmV4dC1oaXN0b3J5XGZQLgogLlRQCkBAIC01MTIyLDkgKzUyMjEsMTUgQEAKIC5CIG1hdGNoXC1oaWRkZW5cLWZpbGVzIChPbikKIFRoaXMgdmFyaWFibGUsIHdoZW4gc2V0IHRvIFxmQk9uXGZQLCBjYXVzZXMgcmVhZGxpbmUgdG8gbWF0Y2ggZmlsZXMgd2hvc2UKIG5hbWVzIGJlZ2luIHdpdGggYSBgLicgKGhpZGRlbiBmaWxlcykgd2hlbiBwZXJmb3JtaW5nIGZpbGVuYW1lIAotY29tcGxldGlvbiwgdW5sZXNzIHRoZSBsZWFkaW5nIGAuJyBpcworY29tcGxldGlvbi4KK0lmIHNldCB0byBcZkJPZmZcZlAsIHRoZSBsZWFkaW5nIGAuJyBtdXN0IGJlCiBzdXBwbGllZCBieSB0aGUgdXNlciBpbiB0aGUgZmlsZW5hbWUgdG8gYmUgY29tcGxldGVkLgogLlRQCisuQiBtZW51XC1jb21wbGV0ZVwtZGlzcGxheVwtcHJlZml4IChPZmYpCitJZiBzZXQgdG8gXGZCT25cZlAsIG1lbnUgY29tcGxldGlvbiBkaXNwbGF5cyB0aGUgY29tbW9uIHByZWZpeCBvZiB0aGUKK2xpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMgKHdoaWNoIG1heSBiZSBlbXB0eSkgYmVmb3JlIGN5Y2xpbmcgdGhyb3VnaAordGhlIGxpc3QuCisuVFAKIC5CIG91dHB1dFwtbWV0YSAoT2ZmKQogSWYgc2V0IHRvIFxmQk9uXGZQLCByZWFkbGluZSB3aWxsIGRpc3BsYXkgY2hhcmFjdGVycyB3aXRoIHRoZQogZWlnaHRoIGJpdCBzZXQgZGlyZWN0bHkgcmF0aGVyIHRoYW4gYXMgYSBtZXRhLXByZWZpeGVkIGVzY2FwZQpAQCAtNTEzOSw3ICs1MjQ0LDcgQEAKIHNvcnRlZCBob3Jpem9udGFsbHkgaW4gYWxwaGFiZXRpY2FsIG9yZGVyLCByYXRoZXIgdGhhbiBkb3duIHRoZSBzY3JlZW4uCiAuVFAgCiAuQiByZXZlcnRcLWFsbFwtYXRcLW5ld2xpbmUgKE9mZikKLUlmIHNldCB0byBcZkJvblxmUCwgcmVhZGxpbmUgd2lsbCB1bmRvIGFsbCBjaGFuZ2VzIHRvIGhpc3RvcnkgbGluZXMgCitJZiBzZXQgdG8gXGZCT25cZlAsIHJlYWRsaW5lIHdpbGwgdW5kbyBhbGwgY2hhbmdlcyB0byBoaXN0b3J5IGxpbmVzIAogYmVmb3JlIHJldHVybmluZyB3aGVuIFxmQmFjY2VwdFwtbGluZVxmUCBpcyBleGVjdXRlZC4gIEJ5IGRlZmF1bHQsCiBoaXN0b3J5IGxpbmVzIG1heSBiZSBtb2RpZmllZCBhbmQgcmV0YWluIGluZGl2aWR1YWwgdW5kbyBsaXN0cyBhY3Jvc3MKIGNhbGxzIHRvIFxmQnJlYWRsaW5lXGZQLgpAQCAtNTE0Nyw3ICs1MjUyLDcgQEAKIC5CIHNob3dcLWFsbFwtaWZcLWFtYmlndW91cyAoT2ZmKQogVGhpcyBhbHRlcnMgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGNvbXBsZXRpb24gZnVuY3Rpb25zLiAgSWYKIHNldCB0bwotLkJSIG9uICwKKy5CUiBPbiAsCiB3b3JkcyB3aGljaCBoYXZlIG1vcmUgdGhhbiBvbmUgcG9zc2libGUgY29tcGxldGlvbiBjYXVzZSB0aGUKIG1hdGNoZXMgdG8gYmUgbGlzdGVkIGltbWVkaWF0ZWx5IGluc3RlYWQgb2YgcmluZ2luZyB0aGUgYmVsbC4KIC5UUApAQCAtNTE1NSw3ICs1MjYwLDcgQEAKIFRoaXMgYWx0ZXJzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBjb21wbGV0aW9uIGZ1bmN0aW9ucyBpbgogYSBmYXNoaW9uIHNpbWlsYXIgdG8gXGZCc2hvd1wtYWxsXC1pZlwtYW1iaWd1b3VzXGZQLgogSWYgc2V0IHRvCi0uQlIgb24gLAorLkJSIE9uICwKIHdvcmRzIHdoaWNoIGhhdmUgbW9yZSB0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uIHdpdGhvdXQgYW55CiBwb3NzaWJsZSBwYXJ0aWFsIGNvbXBsZXRpb24gKHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkb24ndCBzaGFyZQogYSBjb21tb24gcHJlZml4KSBjYXVzZSB0aGUgbWF0Y2hlcyB0byBiZSBsaXN0ZWQgaW1tZWRpYXRlbHkgaW5zdGVhZApAQCAtNTIxNSw3ICs1MzIwLDcgQEAKIGZpbGUgY2FuIHRlc3QgZm9yIGEgcGFydGljdWxhciB2YWx1ZS4KIFRoaXMgY291bGQgYmUgdXNlZCB0byBiaW5kIGtleSBzZXF1ZW5jZXMgdG8gZnVuY3Rpb25zIHVzZWZ1bCBmb3IKIGEgc3BlY2lmaWMgcHJvZ3JhbS4gIEZvciBpbnN0YW5jZSwgdGhlIGZvbGxvd2luZyBjb21tYW5kIGFkZHMgYQota2V5IHNlcXVlbmNlIHRoYXQgcXVvdGVzIHRoZSBjdXJyZW50IG9yIHByZXZpb3VzIHdvcmQgaW4gQmFzaDoKK2tleSBzZXF1ZW5jZSB0aGF0IHF1b3RlcyB0aGUgY3VycmVudCBvciBwcmV2aW91cyB3b3JkIGluIFxmQmJhc2hcZlA6CiAuc3AgMQogLlJTCiAubmYKQEAgLTU0MDEsMTAgKzU1MDYsMTQgQEAKIC5CCiB5YW5rXC1sYXN0XC1hcmcgKE1cLS5cXiwgTVwtX1xeKQogSW5zZXJ0IHRoZSBsYXN0IGFyZ3VtZW50IHRvIHRoZSBwcmV2aW91cyBjb21tYW5kICh0aGUgbGFzdCB3b3JkIG9mCi10aGUgcHJldmlvdXMgaGlzdG9yeSBlbnRyeSkuICBXaXRoIGFuIGFyZ3VtZW50LAotYmVoYXZlIGV4YWN0bHkgbGlrZSBcZkJ5YW5rXC1udGhcLWFyZ1xmUC4KK3RoZSBwcmV2aW91cyBoaXN0b3J5IGVudHJ5KS4KK1dpdGggYSBudW1lcmljIGFyZ3VtZW50LCBiZWhhdmUgZXhhY3RseSBsaWtlIFxmQnlhbmtcLW50aFwtYXJnXGZQLgogU3VjY2Vzc2l2ZSBjYWxscyB0byBcZkJ5YW5rXC1sYXN0XC1hcmdcZlAgbW92ZSBiYWNrIHRocm91Z2ggdGhlIGhpc3RvcnkKLWxpc3QsIGluc2VydGluZyB0aGUgbGFzdCBhcmd1bWVudCBvZiBlYWNoIGxpbmUgaW4gdHVybi4KK2xpc3QsIGluc2VydGluZyB0aGUgbGFzdCB3b3JkIChvciB0aGUgd29yZCBzcGVjaWZpZWQgYnkgdGhlIGFyZ3VtZW50IHRvCit0aGUgZmlyc3QgY2FsbCkgb2YgZWFjaCBsaW5lIGluIHR1cm4uCitBbnkgbnVtZXJpYyBhcmd1bWVudCBzdXBwbGllZCB0byB0aGVzZSBzdWNjZXNzaXZlIGNhbGxzIGRldGVybWluZXMKK3RoZSBkaXJlY3Rpb24gdG8gbW92ZSB0aHJvdWdoIHRoZSBoaXN0b3J5LiAgQSBuZWdhdGl2ZSBhcmd1bWVudCBzd2l0Y2hlcwordGhlIGRpcmVjdGlvbiB0aHJvdWdoIHRoZSBoaXN0b3J5IChiYWNrIG9yIGZvcndhcmQpLgogVGhlIGhpc3RvcnkgZXhwYW5zaW9uIGZhY2lsaXRpZXMgYXJlIHVzZWQgdG8gZXh0cmFjdCB0aGUgbGFzdCBhcmd1bWVudCwKIGFzIGlmIHRoZSAiISQiIGhpc3RvcnkgZXhwYW5zaW9uIGhhZCBiZWVuIHNwZWNpZmllZC4KIC5UUApAQCAtNTY1Myw3ICs1NzYyLDcgQEAKIFRoaXMgY29tbWFuZCBpcyBpbnRlbmRlZCB0byBiZSBib3VuZCB0byBcZkJUQUJcZlAsIGJ1dCBpcyB1bmJvdW5kCiBieSBkZWZhdWx0LgogLlRQCi0uQiBtZW51XC1jb21wbGV0ZS1cYmFja3dhcmQKKy5CIG1lbnVcLWNvbXBsZXRlXC1iYWNrd2FyZAogSWRlbnRpY2FsIHRvIFxmQm1lbnVcLWNvbXBsZXRlXGZQLCBidXQgbW92ZXMgYmFja3dhcmQgdGhyb3VnaCB0aGUgbGlzdAogb2YgcG9zc2libGUgY29tcGxldGlvbnMsIGFzIGlmIFxmQm1lbnVcLWNvbXBsZXRlXGZQIGhhZCBiZWVuIGdpdmVuIGEKIG5lZ2F0aXZlIGFyZ3VtZW50LiAgVGhpcyBjb21tYW5kIGlzIHVuYm91bmQgYnkgZGVmYXVsdC4KQEAgLTU3OTAsNyArNTg5OSw3IEBACiBBIGNoYXJhY3RlciBpcyByZWFkIGFuZCBwb2ludCBpcyBtb3ZlZCB0byB0aGUgcHJldmlvdXMgb2NjdXJyZW5jZSBvZiB0aGF0CiBjaGFyYWN0ZXIuICBBIG5lZ2F0aXZlIGNvdW50IHNlYXJjaGVzIGZvciBzdWJzZXF1ZW50IG9jY3VycmVuY2VzLgogLlRQCi0uQiBza2lwXC1jc2lcLXNlcXVlbmNlICgpCisuQiBza2lwXC1jc2lcLXNlcXVlbmNlCiBSZWFkIGVub3VnaCBjaGFyYWN0ZXJzIHRvIGNvbnN1bWUgYSBtdWx0aS1rZXkgc2VxdWVuY2Ugc3VjaCBhcyB0aG9zZQogZGVmaW5lZCBmb3Iga2V5cyBsaWtlIEhvbWUgYW5kIEVuZC4gIFN1Y2ggc2VxdWVuY2VzIGJlZ2luIHdpdGggYQogQ29udHJvbCBTZXF1ZW5jZSBJbmRpY2F0b3IgKENTSSksIHVzdWFsbHkgRVNDXC1bLiAgSWYgdGhpcyBzZXF1ZW5jZSBpcwpAQCAtNTg3NCw3ICs1OTgzLDcgQEAKIHBhdGhuYW1lIGlzIHNlYXJjaGVkIGZvciBmaXJzdC4KIElmIG5vIGNvbXBzcGVjIGlzIGZvdW5kIGZvciB0aGUgZnVsbCBwYXRobmFtZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvCiBmaW5kIGEgY29tcHNwZWMgZm9yIHRoZSBwb3J0aW9uIGZvbGxvd2luZyB0aGUgZmluYWwgc2xhc2guCi1JZiB0aG9zZSBzZWFyY2hlcyB0byBub3QgcmVzdWx0IGluIGEgY29tcHNwZWMsIGFueSBjb21wc3BlYyBkZWZpbmVkIHdpdGgKK0lmIHRob3NlIHNlYXJjaGVzIGRvIG5vdCByZXN1bHQgaW4gYSBjb21wc3BlYywgYW55IGNvbXBzcGVjIGRlZmluZWQgd2l0aAogdGhlIFxmQlwtRFxmUCBvcHRpb24gdG8gXGZCY29tcGxldGVcZlAgaXMgdXNlZCBhcyB0aGUgZGVmYXVsdC4KIC5QUAogT25jZSBhIGNvbXBzcGVjIGhhcyBiZWVuIGZvdW5kLCBpdCBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBsaXN0IG9mCkBAIC02MDE4LDcgKzYxMjcsNyBAQAogdGhlIGNvbXBzcGVjIGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tbWFuZCBvbiB3aGljaCBjb21wbGV0aW9uIGlzIGJlaW5nCiBhdHRlbXB0ZWQgKHN1cHBsaWVkIGFzIHRoZSBmaXJzdCBhcmd1bWVudCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBleGVjdXRlZCksCiBwcm9ncmFtbWFibGUgY29tcGxldGlvbiByZXN0YXJ0cyBmcm9tIHRoZSBiZWdpbm5pbmcsIHdpdGggYW4KLWF0dGVtcHQgdG8gZmluZCBhIGNvbXBzcGVjIGZvciB0aGF0IGNvbW1hbmQuICBUaGlzIGFsbG93cyBhIHNldCBvZgorYXR0ZW1wdCB0byBmaW5kIGEgbmV3IGNvbXBzcGVjIGZvciB0aGF0IGNvbW1hbmQuICBUaGlzIGFsbG93cyBhIHNldCBvZgogY29tcGxldGlvbnMgdG8gYmUgYnVpbHQgZHluYW1pY2FsbHkgYXMgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQsIHJhdGhlciB0aGFuCiBiZWluZyBsb2FkZWQgYWxsIGF0IG9uY2UuCiAuUFAKQEAgLTYyNTUsNiArNjM2NCw4IEBACiAuUFAKIEFuIGV2ZW50IGRlc2lnbmF0b3IgaXMgYSByZWZlcmVuY2UgdG8gYSBjb21tYW5kIGxpbmUgZW50cnkgaW4gdGhlCiBoaXN0b3J5IGxpc3QuCitVbmxlc3MgdGhlIHJlZmVyZW5jZSBpcyBhYnNvbHV0ZSwgZXZlbnRzIGFyZSByZWxhdGl2ZSB0byB0aGUgY3VycmVudAorcG9zaXRpb24gaW4gdGhlIGhpc3RvcnkgbGlzdC4KIC5QUAogLlBEIDAKIC5UUApAQCAtNjI3MCwyNSArNjM4MSwyNyBAQAogLklSIG4gLgogLlRQCiAuQiAhXC1cZkluXGZSCi1SZWZlciB0byB0aGUgY3VycmVudCBjb21tYW5kIGxpbmUgbWludXMKK1JlZmVyIHRvIHRoZSBjdXJyZW50IGNvbW1hbmQgbWludXMKIC5JUiBuIC4KIC5UUAogLkIgISEKIFJlZmVyIHRvIHRoZSBwcmV2aW91cyBjb21tYW5kLiAgVGhpcyBpcyBhIHN5bm9ueW0gZm9yIGAhXC0xJy4KIC5UUAogLkIgIVxmSXN0cmluZ1xmUgotUmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgc3RhcnRpbmcgd2l0aCAKK1JlZmVyIHRvIHRoZSBtb3N0IHJlY2VudCBjb21tYW5kIHByZWNlZGluZyB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUKK2hpc3RvcnkgbGlzdCBzdGFydGluZyB3aXRoCiAuSVIgc3RyaW5nIC4KIC5UUAogLkIgIT9cZklzdHJpbmdcZlJcZkJbP11cZlIKLVJlZmVyIHRvIHRoZSBtb3N0IHJlY2VudCBjb21tYW5kIGNvbnRhaW5pbmcKK1JlZmVyIHRvIHRoZSBtb3N0IHJlY2VudCBjb21tYW5kIHByZWNlZGluZyB0aGUgY3VycmVudCBwb3N0aXRpb24gaW4gdGhlCitoaXN0b3J5IGxpc3QgY29udGFpbmluZwogLklSIHN0cmluZyAuCiBUaGUgdHJhaWxpbmcgXGZCP1xmUCBtYXkgYmUgb21pdHRlZCBpZgogLkkgc3RyaW5nCiBpcyBmb2xsb3dlZCBpbW1lZGlhdGVseSBieSBhIG5ld2xpbmUuCiAuVFAKIC5CIFxkXHMrMl5ccy0yXHVcZklzdHJpbmcxXGZQXGRccysyXlxzLTJcdVxmSXN0cmluZzJcZlBcZFxzKzJeXHMtMlx1Ci1RdWljayBzdWJzdGl0dXRpb24uICBSZXBlYXQgdGhlIGxhc3QgY29tbWFuZCwgcmVwbGFjaW5nCitRdWljayBzdWJzdGl0dXRpb24uICBSZXBlYXQgdGhlIHByZXZpb3VzIGNvbW1hbmQsIHJlcGxhY2luZwogLkkgc3RyaW5nMQogd2l0aAogLklSIHN0cmluZzIgLgpAQCAtNjY1NSw3ICs2NzY4LDcgQEAKIC5UUAogXGZCY2FsbGVyXGZQIFtcZklleHByXGZQXQogUmV0dXJucyB0aGUgY29udGV4dCBvZiBhbnkgYWN0aXZlIHN1YnJvdXRpbmUgY2FsbCAoYSBzaGVsbCBmdW5jdGlvbiBvcgotYSBzY3JpcHQgZXhlY3V0ZWQgd2l0aCB0aGUgXGZCLlxmUCBvciBcZkJzb3VyY2VcZlAgYnVpbHRpbnMuCithIHNjcmlwdCBleGVjdXRlZCB3aXRoIHRoZSBcZkIuXGZQIG9yIFxmQnNvdXJjZVxmUCBidWlsdGlucykuCiBXaXRob3V0IFxmSWV4cHJcZlAsIFxmQmNhbGxlclxmUCBkaXNwbGF5cyB0aGUgbGluZSBudW1iZXIgYW5kIHNvdXJjZQogZmlsZW5hbWUgb2YgdGhlIGN1cnJlbnQgc3Vicm91dGluZSBjYWxsLgogSWYgYSBub24tbmVnYXRpdmUgaW50ZWdlciBpcyBzdXBwbGllZCBhcyBcZklleHByXGZQLCBcZkJjYWxsZXJcZlAgCkBAIC02NjY3LDcgKzY3ODAsNyBAQAogY2FsbCBvciBcZklleHByXGZQIGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gYSB2YWxpZCBwb3NpdGlvbiBpbiB0aGUKIGNhbGwgc3RhY2suCiAuVFAKLVxmQmNkXGZQIFtcZkJcLUx8LVBcZlBdIFtcZklkaXJcZlBdCitcZkJjZFxmUCBbXGZCXC1MXGZQfFtcZkJcLVBcZlAgW1xmQlwtZVxmUF1dXSBbXGZJZGlyXGZQXQogQ2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0byBcZklkaXJcZlAuICBUaGUgdmFyaWFibGUKIC5TTQogLkIgSE9NRQpAQCAtNjcwMCw3ICs2ODEzLDE1IEBACiAuQiBzZXQKIGJ1aWx0aW4gY29tbWFuZCk7IHRoZQogLkIgXC1MCi1vcHRpb24gZm9yY2VzIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkLiAgQW4gYXJndW1lbnQgb2YKK29wdGlvbiBmb3JjZXMgc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG93ZWQuCitJZiB0aGUKKy5CIFwtZQorb3B0aW9uIGlzIHN1cHBsaWVkIHdpdGgKKy5CUiBcLVAgLAorYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGNhbm5vdCBiZSBzdWNjZXNzZnVsbHkgZGV0ZXJtaW5lZAorYWZ0ZXIgYSBzdWNjZXNzZnVsIGRpcmVjdG9yeSBjaGFuZ2UsIFxmQmNkXGZQIHdpbGwgcmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bAorc3RhdHVzLgorQW4gYXJndW1lbnQgb2YKIC5CIFwtCiBpcyBlcXVpdmFsZW50IHRvCiAuU00KQEAgLTY5MjYsMTggKzcwNDcsNiBAQAogTmFtZXMgb2YgYWxsIHNoZWxsIHZhcmlhYmxlcy4gIE1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyBcZkJcLXZcZlAuCiAuUkUKIC5UUCA4Ci1cZkJcLUdcZlAgXGZJZ2xvYnBhdFxmUAotVGhlIHBhdGhuYW1lIGV4cGFuc2lvbiBwYXR0ZXJuIFxmSWdsb2JwYXRcZlAgaXMgZXhwYW5kZWQgdG8gZ2VuZXJhdGUKLXRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucy4KLS5UUCA4Ci1cZkJcLVdcZlAgXGZJd29yZGxpc3RcZlAKLVRoZSBcZkl3b3JkbGlzdFxmUCBpcyBzcGxpdCB1c2luZyB0aGUgY2hhcmFjdGVycyBpbiB0aGUKLS5TTQotLkIgSUZTCi1zcGVjaWFsIHZhcmlhYmxlIGFzIGRlbGltaXRlcnMsIGFuZCBlYWNoIHJlc3VsdGFudCB3b3JkIGlzIGV4cGFuZGVkLgotVGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSB0aGUgbWVtYmVycyBvZiB0aGUgcmVzdWx0YW50IGxpc3Qgd2hpY2gKLW1hdGNoIHRoZSB3b3JkIGJlaW5nIGNvbXBsZXRlZC4KLS5UUCA4CiBcZkJcLUNcZlAgXGZJY29tbWFuZFxmUAogXGZJY29tbWFuZFxmUCBpcyBleGVjdXRlZCBpbiBhIHN1YnNoZWxsIGVudmlyb25tZW50LCBhbmQgaXRzIG91dHB1dCBpcwogdXNlZCBhcyB0aGUgcG9zc2libGUgY29tcGxldGlvbnMuCkBAIC02OTUxLDEzICs3MDYwLDkgQEAKIC5CIENPTVBSRVBMWQogYXJyYXkgdmFyaWFibGUuCiAuVFAgOAotXGZCXC1YXGZQIFxmSWZpbHRlcnBhdFxmUAotXGZJZmlsdGVycGF0XGZQIGlzIGEgcGF0dGVybiBhcyB1c2VkIGZvciBwYXRobmFtZSBleHBhbnNpb24uCi1JdCBpcyBhcHBsaWVkIHRvIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIGdlbmVyYXRlZCBieSB0aGUKLXByZWNlZGluZyBvcHRpb25zIGFuZCBhcmd1bWVudHMsIGFuZCBlYWNoIGNvbXBsZXRpb24gbWF0Y2hpbmcKLVxmSWZpbHRlcnBhdFxmUCBpcyByZW1vdmVkIGZyb20gdGhlIGxpc3QuCi1BIGxlYWRpbmcgXGZCIVxmUCBpbiBcZklmaWx0ZXJwYXRcZlAgbmVnYXRlcyB0aGUgcGF0dGVybjsgaW4gdGhpcwotY2FzZSwgYW55IGNvbXBsZXRpb24gbm90IG1hdGNoaW5nIFxmSWZpbHRlcnBhdFxmUCBpcyByZW1vdmVkLgorXGZCXC1HXGZQIFxmSWdsb2JwYXRcZlAKK1RoZSBwYXRobmFtZSBleHBhbnNpb24gcGF0dGVybiBcZklnbG9icGF0XGZQIGlzIGV4cGFuZGVkIHRvIGdlbmVyYXRlCit0aGUgcG9zc2libGUgY29tcGxldGlvbnMuCiAuVFAgOAogXGZCXC1QXGZQIFxmSXByZWZpeFxmUAogXGZJcHJlZml4XGZQIGlzIGFkZGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBwb3NzaWJsZSBjb21wbGV0aW9uCkBAIC02OTY2LDYgKzcwNzEsMjIgQEAKIFxmQlwtU1xmUCBcZklzdWZmaXhcZlAKIFxmSXN1ZmZpeFxmUCBpcyBhcHBlbmRlZCB0byBlYWNoIHBvc3NpYmxlIGNvbXBsZXRpb24KIGFmdGVyIGFsbCBvdGhlciBvcHRpb25zIGhhdmUgYmVlbiBhcHBsaWVkLgorLlRQIDgKK1xmQlwtV1xmUCBcZkl3b3JkbGlzdFxmUAorVGhlIFxmSXdvcmRsaXN0XGZQIGlzIHNwbGl0IHVzaW5nIHRoZSBjaGFyYWN0ZXJzIGluIHRoZQorLlNNCisuQiBJRlMKK3NwZWNpYWwgdmFyaWFibGUgYXMgZGVsaW1pdGVycywgYW5kIGVhY2ggcmVzdWx0YW50IHdvcmQgaXMgZXhwYW5kZWQuCitUaGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIHRoZSBtZW1iZXJzIG9mIHRoZSByZXN1bHRhbnQgbGlzdCB3aGljaAorbWF0Y2ggdGhlIHdvcmQgYmVpbmcgY29tcGxldGVkLgorLlRQIDgKK1xmQlwtWFxmUCBcZklmaWx0ZXJwYXRcZlAKK1xmSWZpbHRlcnBhdFxmUCBpcyBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgcGF0aG5hbWUgZXhwYW5zaW9uLgorSXQgaXMgYXBwbGllZCB0byB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBnZW5lcmF0ZWQgYnkgdGhlCitwcmVjZWRpbmcgb3B0aW9ucyBhbmQgYXJndW1lbnRzLCBhbmQgZWFjaCBjb21wbGV0aW9uIG1hdGNoaW5nCitcZklmaWx0ZXJwYXRcZlAgaXMgcmVtb3ZlZCBmcm9tIHRoZSBsaXN0LgorQSBsZWFkaW5nIFxmQiFcZlAgaW4gXGZJZmlsdGVycGF0XGZQIG5lZ2F0ZXMgdGhlIHBhdHRlcm47IGluIHRoaXMKK2Nhc2UsIGFueSBjb21wbGV0aW9uIG5vdCBtYXRjaGluZyBcZklmaWx0ZXJwYXRcZlAgaXMgcmVtb3ZlZC4KIC5QRAogLlBQCiBUaGUgcmV0dXJuIHZhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBvcHRpb24KQEAgLTY5NzgsNyArNzA5OSw3IEBACiBcZkJjb21wb3B0XGZQIFtcZkJcLW9cZlAgXGZJb3B0aW9uXGZQXSBbXGZCXC1ERVxmUF0gW1xmQitvXGZQIFxmSW9wdGlvblxmUF0gW1xmSW5hbWVcZlBdCiBNb2RpZnkgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIFxmSW5hbWVcZlAgYWNjb3JkaW5nIHRvIHRoZQogXGZJb3B0aW9uXGZQcywgb3IgZm9yIHRoZQotY3VycmVudGx5LWV4ZWN1dGlvbiBjb21wbGV0aW9uIGlmIG5vIFxmSW5hbWVcZlBzIGFyZSBzdXBwbGllZC4KK2N1cnJlbnRseS1leGVjdXRpbmcgY29tcGxldGlvbiBpZiBubyBcZkluYW1lXGZQcyBhcmUgc3VwcGxpZWQuCiBJZiBubyBcZklvcHRpb25cZlBzIGFyZSBnaXZlbiwgZGlzcGxheSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoCiBcZkluYW1lXGZQIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24uCiBUaGUgcG9zc2libGUgdmFsdWVzIG9mIFxmSW9wdGlvblxmUCBhcmUgdGhvc2UgdmFsaWQgZm9yIHRoZSBcZkJjb21wbGV0ZVxmUApAQCAtNjk4OSw3ICs3MTEwLDcgQEAKIFRoZSBcZkJcLUVcZlAgb3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSByZW1haW5pbmcgb3B0aW9ucyBzaG91bGQKIGFwcGx5IHRvIGBgZW1wdHknJyBjb21tYW5kIGNvbXBsZXRpb247IHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEKIGJsYW5rIGxpbmUuCi0uUFAKKy5zcCAxCiBUaGUgcmV0dXJuIHZhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBhdHRlbXB0CiBpcyBtYWRlIHRvIG1vZGlmeSB0aGUgb3B0aW9ucyBmb3IgYSBcZkluYW1lXGZQIGZvciB3aGljaCBubyBjb21wbGV0aW9uCiBzcGVjaWZpY2F0aW9uIGV4aXN0cywgb3IgYW4gb3V0cHV0IGVycm9yIG9jY3Vycy4KQEAgLTcwMTIsMTAgKzcxMzMsMTAgQEAKICh0aGUgYGB0b3AtbGV2ZWwnJyBsb29wKSBpcyByZXN1bWVkLgogVGhlIHJldHVybiB2YWx1ZSBpcyAwIHVubGVzcyBcZkluXGZQIGlzIG5vdCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4KIC5UUAotXGZCZGVjbGFyZVxmUCBbXGZCXC1hQWZGaWxydHV4XGZQXSBbXGZCXC1wXGZQXSBbXGZJbmFtZVxmUFs9XGZJdmFsdWVcZlBdIC4uLl0KK1xmQmRlY2xhcmVcZlAgW1xmQlwtYUFmRmdpbHJ0dXhcZlBdIFtcZkJcLXBcZlBdIFtcZkluYW1lXGZQWz1cZkl2YWx1ZVxmUF0gLi4uXQogLlBEIDAKIC5UUAotXGZCdHlwZXNldFxmUCBbXGZCXC1hQWZGaWxydHV4XGZQXSBbXGZCXC1wXGZQXSBbXGZJbmFtZVxmUFs9XGZJdmFsdWVcZlBdIC4uLl0KK1xmQnR5cGVzZXRcZlAgW1xmQlwtYUFmRmdpbHJ0dXhcZlBdIFtcZkJcLXBcZlBdIFtcZkluYW1lXGZQWz1cZkl2YWx1ZVxmUF0gLi4uXQogLlBECiBEZWNsYXJlIHZhcmlhYmxlcyBhbmQvb3IgZ2l2ZSB0aGVtIGF0dHJpYnV0ZXMuCiBJZiBubyBcZkluYW1lXGZQcyBhcmUgZ2l2ZW4gdGhlbiBkaXNwbGF5IHRoZSB2YWx1ZXMgb2YgdmFyaWFibGVzLgpAQCAtNzA0NCw2ICs3MTY1LDExIEBACiAuQiBcLUYKIG9wdGlvbiBpbXBsaWVzCiAuQlIgXC1mIC4KK1RoZQorLkIgXC1nCitvcHRpb24gZm9yY2VzIHZhcmlhYmxlcyB0byBiZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGF0IHRoZSBnbG9iYWwgc2NvcGUsCitldmVuIHdoZW4gXGZCZGVjbGFyZVxmUCBpcyBleGVjdXRlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uLgorSXQgaXMgaWdub3JlZCBpbiBhbGwgb3RoZXIgY2FzZXMuCiBUaGUgZm9sbG93aW5nIG9wdGlvbnMgY2FuCiBiZSB1c2VkIHRvIHJlc3RyaWN0IG91dHB1dCB0byB2YXJpYWJsZXMgd2l0aCB0aGUgc3BlY2lmaWVkIGF0dHJpYnV0ZSBvcgogdG8gZ2l2ZSB2YXJpYWJsZXMgYXR0cmlidXRlczoKQEAgLTcwOTgsMTEgKzcyMjQsMTEgQEAKIHdpdGggdGhlIGV4Y2VwdGlvbnMgdGhhdCBcZkIrYVxmUAogbWF5IG5vdCBiZSB1c2VkIHRvIGRlc3Ryb3kgYW4gYXJyYXkgdmFyaWFibGUgYW5kIFxmQityXGZQIHdpbGwgbm90CiByZW1vdmUgdGhlIHJlYWRvbmx5IGF0dHJpYnV0ZS4KLVdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLAotbWFrZXMgZWFjaAotXGZJbmFtZVxmUCBsb2NhbCwgYXMgd2l0aCB0aGUgCitXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgbWFrZXMgZWFjaAorXGZJbmFtZVxmUCBsb2NhbCwgYXMgd2l0aCB0aGUKIC5CIGxvY2FsCi1jb21tYW5kLgorY29tbWFuZCwKK3VubGVzcyB0aGUgXGZCXC1nXGZQIG9wdGlvbiBpcyBzdXBwbGllZCwKIElmIGEgdmFyaWFibGUgbmFtZSBpcyBmb2xsb3dlZCBieSA9XGZJdmFsdWVcZlAsIHRoZSB2YWx1ZSBvZgogdGhlIHZhcmlhYmxlIGlzIHNldCB0byBcZkl2YWx1ZVxmUC4KIFRoZSByZXR1cm4gdmFsdWUgaXMgMCB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsCkBAIC03MTE5LDcgKzcyNDUsNyBAQAogb3IgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGRpc3BsYXkgYSBub24tZXhpc3RlbnQgZnVuY3Rpb24gd2l0aCBcZkJcLWZcZlAuCiAuUkUKIC5UUAotLkIgZGlycyBbK1xmSW5cZlBdIFtcLVxmSW5cZlBdIFtcZkJcLWNwbHZcZlBdCisuQiBkaXJzIFsrXGZJblxmUF0gW1wtXGZJblxmUF0gW1xmQlwtY2xwdlxmUF0KIFdpdGhvdXQgb3B0aW9ucywgZGlzcGxheXMgdGhlIGxpc3Qgb2YgY3VycmVudGx5IHJlbWVtYmVyZWQgZGlyZWN0b3JpZXMuCiBUaGUgZGVmYXVsdCBkaXNwbGF5IGlzIG9uIGEgc2luZ2xlIGxpbmUgd2l0aCBkaXJlY3RvcnkgbmFtZXMgc2VwYXJhdGVkCiBieSBzcGFjZXMuCkBAIC03MjI4LDYgKzczNTQsOCBAQAogc3VwcHJlc3MgZnVydGhlciBvdXRwdXQKIC5UUAogLkIgXGVlCisuVFAKKy5CIFxlRQogYW4gZXNjYXBlIGNoYXJhY3RlcgogLlRQCiAuQiBcZWYKQEAgLTcyNTUsNiArNzM4MywxNCBAQAogLkIgXGV4XGZJSEhcZlAKIHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIHRoZSBoZXhhZGVjaW1hbCB2YWx1ZSBcZklISFxmUAogKG9uZSBvciB0d28gaGV4IGRpZ2l0cykKKy5UUAorLkIgXGV1XGZJSEhISFxmUAordGhlIFVuaWNvZGUgKElTTy9JRUMgMTA2NDYpIGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUKK1xmSUhISEhcZlAgKG9uZSB0byBmb3VyIGhleCBkaWdpdHMpCisuVFAKKy5CIFxlVVxmSUhISEhISEhIXGZQCit0aGUgVW5pY29kZSAoSVNPL0lFQyAxMDY0NikgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIHRoZSBoZXhhZGVjaW1hbCB2YWx1ZQorXGZJSEhISEhISEhcZlAgKG9uZSB0byBlaWdodCBoZXggZGlnaXRzKQogLlBECiAuUkUKIC5UUApAQCAtNzU0MSw3ICs3Njc3LDcgQEAKIC5TTQogLkIgT1BUSU5ECiBpcyBzZXQgdG8gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50LAotYW5kIFxmQm5hbWVcZlAgaXMgc2V0IHRvID8uCithbmQgXGZJbmFtZVxmUCBpcyBzZXQgdG8gPy4KIC5zcCAxCiAuQiBnZXRvcHRzCiBub3JtYWxseSBwYXJzZXMgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgYnV0IGlmIG1vcmUgYXJndW1lbnRzIGFyZQpAQCAtNzYwNSwxMiArNzc0MSwxMyBAQAogZXJyb3Igb2NjdXJzLgogLlRQCiBcZkJoYXNoXGZQIFtcZkJcLWxyXGZQXSBbXGZCXC1wXGZQIFxmSWZpbGVuYW1lXGZQXSBbXGZCXC1kdFxmUF0gW1xmSW5hbWVcZlBdCi1Gb3IgZWFjaAotLklSIG5hbWUgLAotdGhlIGZ1bGwgZmlsZSBuYW1lIG9mIHRoZSBjb21tYW5kIGlzIGRldGVybWluZWQgYnkgc2VhcmNoaW5nCitFYWNoIHRpbWUgXGZCaGFzaFxmUCBpcyBpbnZva2VkLAordGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGNvbW1hbmQgCisuSSBuYW1lCitpcyBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZwogdGhlIGRpcmVjdG9yaWVzIGluCiAuQiAkUEFUSAotYW5kIHJlbWVtYmVyZWQuCithbmQgcmVtZW1iZXJlZC4gIEFueSBwcmV2aW91c2x5LXJlbWVtYmVyZWQgcGF0aG5hbWUgaXMgZGlzY2FyZGVkLgogSWYgdGhlCiAuQiBcLXAKIG9wdGlvbiBpcyBzdXBwbGllZCwgbm8gcGF0aCBzZWFyY2ggaXMgcGVyZm9ybWVkLCBhbmQKQEAgLTc2NTgsOSArNzc5NSwxMCBAQAogLkIgXC1zCiBEaXNwbGF5IG9ubHkgYSBzaG9ydCB1c2FnZSBzeW5vcHNpcyBmb3IgZWFjaCBcZklwYXR0ZXJuXGZQCiAuUEQKLS5SRQorLlBQCiBUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyBubyBjb21tYW5kIG1hdGNoZXMKIC5JUiBwYXR0ZXJuIC4KKy5SRQogLlRQCiBcZkJoaXN0b3J5IFtcZkluXGZQXQogLlBEIDAKQEAgLTc3NjgsMTQgKzc5MDYsMTQgQEAKIExpc3QgcHJvY2VzcyBJRHMKIGluIGFkZGl0aW9uIHRvIHRoZSBub3JtYWwgaW5mb3JtYXRpb24uCiAuVFAKLS5CIFwtcAotTGlzdCBvbmx5IHRoZSBwcm9jZXNzIElEIG9mIHRoZSBqb2IncyBwcm9jZXNzIGdyb3VwCi1sZWFkZXIuCi0uVFAKIC5CIFwtbgogRGlzcGxheSBpbmZvcm1hdGlvbiBvbmx5IGFib3V0IGpvYnMgdGhhdCBoYXZlIGNoYW5nZWQgc3RhdHVzIHNpbmNlCiB0aGUgdXNlciB3YXMgbGFzdCBub3RpZmllZCBvZiB0aGVpciBzdGF0dXMuCiAuVFAKKy5CIFwtcAorTGlzdCBvbmx5IHRoZSBwcm9jZXNzIElEIG9mIHRoZSBqb2IncyBwcm9jZXNzIGdyb3VwCitsZWFkZXIuCisuVFAKIC5CIFwtcgogUmVzdHJpY3Qgb3V0cHV0IHRvIHJ1bm5pbmcgam9icy4KIC5UUApAQCAtNzk0OSw3ICs4MDg3LDggQEAKIC5CUiBcLWMgLAogdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLgogV2hlbiBcZkljYWxsYmFja1xmUCBpcyBldmFsdWF0ZWQsIGl0IGlzIHN1cHBsaWVkIHRoZSBpbmRleCBvZiB0aGUgbmV4dAotYXJyYXkgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50LgorYXJyYXkgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50CithcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy4KIFxmSWNhbGxiYWNrXGZQIGlzIGV2YWx1YXRlZCBhZnRlciB0aGUgbGluZSBpcyByZWFkIGJ1dCBiZWZvcmUgdGhlIAogYXJyYXkgZWxlbWVudCBpcyBhc3NpZ25lZC4KIC5QUApAQCAtODAxMywyNyArODE1Miw0OSBAQAogXGZCcHJpbnRmXGZQIFtcZkJcLXZcZlAgXGZJdmFyXGZQXSBcZklmb3JtYXRcZlAgW1xmSWFyZ3VtZW50c1xmUF0KIFdyaXRlIHRoZSBmb3JtYXR0ZWQgXGZJYXJndW1lbnRzXGZQIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgdW5kZXIgdGhlCiBjb250cm9sIG9mIHRoZSBcZklmb3JtYXRcZlAuCitUaGUgXGZCXC12XGZQIG9wdGlvbiBjYXVzZXMgdGhlIG91dHB1dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgdmFyaWFibGUKK1xmSXZhclxmUCByYXRoZXIgdGhhbiBiZWluZyBwcmludGVkIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuCisuc3AgMQogVGhlIFxmSWZvcm1hdFxmUCBpcyBhIGNoYXJhY3RlciBzdHJpbmcgd2hpY2ggY29udGFpbnMgdGhyZWUgdHlwZXMgb2Ygb2JqZWN0czoKIHBsYWluIGNoYXJhY3RlcnMsIHdoaWNoIGFyZSBzaW1wbHkgY29waWVkIHRvIHN0YW5kYXJkIG91dHB1dCwgY2hhcmFjdGVyCiBlc2NhcGUgc2VxdWVuY2VzLCB3aGljaCBhcmUgY29udmVydGVkIGFuZCBjb3BpZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dCwgYW5kCiBmb3JtYXQgc3BlY2lmaWNhdGlvbnMsIGVhY2ggb2Ygd2hpY2ggY2F1c2VzIHByaW50aW5nIG9mIHRoZSBuZXh0IHN1Y2Nlc3NpdmUKIFxmSWFyZ3VtZW50XGZQLgotSW4gYWRkaXRpb24gdG8gdGhlIHN0YW5kYXJkIFxmSXByaW50ZlxmUCgxKSBmb3JtYXRzLCBcZkIlYlxmUCBjYXVzZXMKK0luIGFkZGl0aW9uIHRvIHRoZSBzdGFuZGFyZCBcZklwcmludGZcZlAoMSkgZm9ybWF0IHNwZWNpZmljYXRpb25zLAorXGZCcHJpbnRmXGZQIGludGVycHJldHMgdGhlIGZvbGxvd2luZyBleHRlbnNpb25zOgorLlJTCisuUEQgMAorLlRQCisuQiAlYgorY2F1c2VzCiBcZkJwcmludGZcZlAgdG8gZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nCiBcZklhcmd1bWVudFxmUCAoZXhjZXB0IHRoYXQgXGZCXGVjXGZQIHRlcm1pbmF0ZXMgb3V0cHV0LCBiYWNrc2xhc2hlcyBpbgogXGZCXGVcKGFxXGZQLCBcZkJcZSJcZlAsIGFuZCBcZkJcZT9cZlAgYXJlIG5vdCByZW1vdmVkLCBhbmQgb2N0YWwgZXNjYXBlcwotYmVnaW5uaW5nIHdpdGggXGZCXGUwXGZQIG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzKSwKLWFuZCBcZkIlcVxmUCBjYXVzZXMgXGZCcHJpbnRmXGZQIHRvIG91dHB1dCB0aGUgY29ycmVzcG9uZGluZworYmVnaW5uaW5nIHdpdGggXGZCXGUwXGZQIG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzKS4KKy5UUAorLkIgJXEKK2NhdXNlcyBcZkJwcmludGZcZlAgdG8gb3V0cHV0IHRoZSBjb3JyZXNwb25kaW5nCiBcZklhcmd1bWVudFxmUCBpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXQuCi0uc3AgMQotVGhlIFxmQlwtdlxmUCBvcHRpb24gY2F1c2VzIHRoZSBvdXRwdXQgdG8gYmUgYXNzaWduZWQgdG8gdGhlIHZhcmlhYmxlCi1cZkl2YXJcZlAgcmF0aGVyIHRoYW4gYmVpbmcgcHJpbnRlZCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LgotLnNwIDEKKy5UUAorLkIgJShcZklkYXRlZm10XGZQKVQKK2NhdXNlcyBcZkJwcmludGZcZlAgdG8gb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nCitcZklkYXRlZm10XGZQIGFzIGEgZm9ybWF0IHN0cmluZyBmb3IgXGZJc3RyZnRpbWVcZlAoMykuICBUaGUgY29ycmVzcG9uZGluZworXGZJYXJndW1lbnRcZlAgaXMgYW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIHRoZQorZXBvY2guICBUd28gc3BlY2lhbCBhcmd1bWVudCB2YWx1ZXMgbWF5IGJlIHVzZWQ6IC0xIHJlcHJlc2VudHMgdGhlIGN1cnJlbnQKK3RpbWUsIGFuZCAtMiByZXByZXNlbnRzIHRoZSB0aW1lIHRoZSBzaGVsbCB3YXMgaW52b2tlZC4KKy5QRAorLlBQCitBcmd1bWVudHMgdG8gbm9uLXN0cmluZyBmb3JtYXQgc3BlY2lmaWVycyBhcmUgdHJlYXRlZCBhcyBDIGNvbnN0YW50cywKK2V4Y2VwdCB0aGF0IGEgbGVhZGluZyBwbHVzIG9yIG1pbnVzIHNpZ24gaXMgYWxsb3dlZCwgYW5kIGlmIHRoZSBsZWFkaW5nCitjaGFyYWN0ZXIgaXMgYSBzaW5nbGUgb3IgZG91YmxlIHF1b3RlLCB0aGUgdmFsdWUgaXMgdGhlIEFTQ0lJIHZhbHVlIG9mCit0aGUgZm9sbG93aW5nIGNoYXJhY3Rlci4KKy5QUAogVGhlIFxmSWZvcm1hdFxmUCBpcyByZXVzZWQgYXMgbmVjZXNzYXJ5IHRvIGNvbnN1bWUgYWxsIG9mIHRoZSBcZklhcmd1bWVudHNcZlAuCiBJZiB0aGUgXGZJZm9ybWF0XGZQIHJlcXVpcmVzIG1vcmUgXGZJYXJndW1lbnRzXGZQIHRoYW4gYXJlIHN1cHBsaWVkLCB0aGUKIGV4dHJhIGZvcm1hdCBzcGVjaWZpY2F0aW9ucyBiZWhhdmUgYXMgaWYgYSB6ZXJvIHZhbHVlIG9yIG51bGwgc3RyaW5nLCBhcwotYXBwcm9wcmlhdGUsIGhhZCBiZWVuIHN1cHBsaWVkLiAgVGhlIHJldHVybiB2YWx1ZSBpcyB6ZXJvIG9uIHN1Y2Nlc3MsCi1ub24temVybyBvbiBmYWlsdXJlLgorYXBwcm9wcmlhdGUsIGhhZCBiZWVuIHN1cHBsaWVkLgorVGhlIHJldHVybiB2YWx1ZSBpcyB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvIG9uIGZhaWx1cmUuCisuUkUKIC5UUAogXGZCcHVzaGRcZlAgW1xmQlwtblxmUF0gWytcZkluXGZQXSBbXC1cZkluXGZQXQogLlBEIDAKQEAgLTgyMTEsNyArODM3Miw3IEBACiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gXGZCXC11XGZQLgogLlJFCiAuVFAKLVxmQnJlYWRvbmx5XGZQIFtcZkJcLWFBcGZcZlBdIFtcZkluYW1lXGZQWz1cZkl3b3JkXGZQXSAuLi5dCitcZkJyZWFkb25seVxmUCBbXGZCXC1hQWZcZlBdIFtcZkJcLXBcZlBdIFtcZkluYW1lXGZQWz1cZkl3b3JkXGZQXSAuLi5dCiAuUEQKIFRoZSBnaXZlbgogXGZJbmFtZXNcZlAgYXJlIG1hcmtlZCByZWFkb25seTsgdGhlIHZhbHVlcyBvZiB0aGVzZQpAQCAtODIyNywxMSArODM4OCwxNiBAQAogb3B0aW9uIHJlc3RyaWN0cyB0aGUgdmFyaWFibGVzIHRvIGluZGV4ZWQgYXJyYXlzOyB0aGUKIC5CIFwtQQogb3B0aW9uIHJlc3RyaWN0cyB0aGUgdmFyaWFibGVzIHRvIGFzc29jaWF0aXZlIGFycmF5cy4KK0lmIGJvdGggb3B0aW9ucyBhcmUgc3VwcGxpZWQsCisuQiBcLUEKK3Rha2VzIHByZWNlZGVuY2UuCiBJZiBubwogLkkgbmFtZQogYXJndW1lbnRzIGFyZSBnaXZlbiwgb3IgaWYgdGhlCiAuQiBcLXAKIG9wdGlvbiBpcyBzdXBwbGllZCwgYSBsaXN0IG9mIGFsbCByZWFkb25seSBuYW1lcyBpcyBwcmludGVkLgorVGhlIG90aGVyIG9wdGlvbnMgbWF5IGJlIHVzZWQgdG8gcmVzdHJpY3QgdGhlIG91dHB1dCB0byBhIHN1YnNldCBvZgordGhlIHNldCBvZiByZWFkb25seSBuYW1lcy4KIFRoZQogLkIgXC1wCiBvcHRpb24gY2F1c2VzIG91dHB1dCB0byBiZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgdGhhdApAQCAtODI2NiwxMCArODQzMiwxMCBAQAogQW55IGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIHRoZSBcZkJSRVRVUk5cZlAgdHJhcCBpcyBleGVjdXRlZAogYmVmb3JlIGV4ZWN1dGlvbiByZXN1bWVzIGFmdGVyIHRoZSBmdW5jdGlvbiBvciBzY3JpcHQuCiAuVFAKLVxmQnNldFxmUCBbXGZCXC1cLWFiZWZoa21ucHR1dnhCQ0VIUFRcZlBdIFtcZkJcLW9cZlAgXGZJb3B0aW9uXGZQXSBbXGZJYXJnXGZQIC4uLl0KK1xmQnNldFxmUCBbXGZCXC1cLWFiZWZoa21ucHR1dnhCQ0VIUFRcZlBdIFtcZkJcLW9cZlAgXGZJb3B0aW9uXC1uYW1lXGZQXSBbXGZJYXJnXGZQIC4uLl0KIC5QRCAwCiAuVFAKLVxmQnNldFxmUCBbXGZCK2FiZWZoa21ucHR1dnhCQ0VIUFRcZlBdIFtcZkIrb1xmUCBcZklvcHRpb25cZlBdIFtcZklhcmdcZlAgLi4uXQorXGZCc2V0XGZQIFtcZkIrYWJlZmhrbW5wdHV2eEJDRUhQVFxmUF0gW1xmQitvXGZQIFxmSW9wdGlvblwtbmFtZVxmUF0gW1xmSWFyZ1xmUCAuLi5dCiAuUEQKIFdpdGhvdXQgb3B0aW9ucywgdGhlIG5hbWUgYW5kIHZhbHVlIG9mIGVhY2ggc2hlbGwgdmFyaWFibGUgYXJlIGRpc3BsYXllZAogaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIGlucHV0CkBAIC04MzE4LDggKzg0ODQsOCBAQAogcmVzZXJ2ZWQgd29yZHMsIHBhcnQgb2YgYW55IGNvbW1hbmQgZXhlY3V0ZWQgaW4gYQogLkIgJiYKIG9yCi0uQiBcKGJ2XChidgotbGlzdCBleGNlcHQgdGhlIGNvbW1hbmQgZm9sbG93aW5nIHRoZSBmaW5hbCBcZkImJlxmUCBvciBcZkJcKGJ2XChidlxmUCwKKy5CIHx8CitsaXN0IGV4Y2VwdCB0aGUgY29tbWFuZCBmb2xsb3dpbmcgdGhlIGZpbmFsIFxmQiYmXGZQIG9yIFxmQnx8XGZQLAogYW55IGNvbW1hbmQgaW4gYSBwaXBlbGluZSBidXQgdGhlIGxhc3QsCiBvciBpZiB0aGUgY29tbWFuZCdzIHJldHVybiB2YWx1ZSBpcwogYmVpbmcgaW52ZXJ0ZWQgd2l0aApAQCAtODc1MSwyMSArODkxNywzNyBAQAogSWYgc2V0LAogLkIgYmFzaAogY2hhbmdlcyBpdHMgYmVoYXZpb3IgdG8gdGhhdCBvZiB2ZXJzaW9uIDMuMSB3aXRoIHJlc3BlY3QgdG8gcXVvdGVkCi1hcmd1bWVudHMgdG8gdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQncyA9fiBvcGVyYXRvci4KK2FyZ3VtZW50cyB0byB0aGUgXGZCW1tcZlAgY29uZGl0aW9uYWwgY29tbWFuZCdzIFxmQj1+XGZQIG9wZXJhdG9yLgogLlRQIDgKIC5CIGNvbXBhdDMyCiBJZiBzZXQsCiAuQiBiYXNoCiBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gMy4yIHdpdGggcmVzcGVjdCB0byBsb2NhbGUtc3BlY2lmaWMKLXN0cmluZyBjb21wYXJpc29uIHdoZW4gdXNpbmcgdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQncyA8IGFuZCA+IG9wZXJhdG9ycy4KK3N0cmluZyBjb21wYXJpc29uIHdoZW4gdXNpbmcgdGhlIFxmQltbXGZQCitjb25kaXRpb25hbCBjb21tYW5kJ3MgXGZCPFxmUCBhbmQgXGZCPlxmUCBvcGVyYXRvcnMuCitCYXNoIHZlcnNpb25zIHByaW9yIHRvIGJhc2gtNC4xIHVzZSBBU0NJSSBjb2xsYXRpb24gYW5kCisuSVIgc3RyY21wICgzKTsKK2Jhc2gtNC4xIGFuZCBsYXRlcgordXNlIHRoZSBjdXJyZW50IGxvY2FsZSdzIGNvbGxhdGlvbiBzZXF1ZW5jZSBhbmQKKy5JUiBzdHJjb2xsICgzKS4KIC5UUCA4CiAuQiBjb21wYXQ0MAogSWYgc2V0LAogLkIgYmFzaAogY2hhbmdlcyBpdHMgYmVoYXZpb3IgdG8gdGhhdCBvZiB2ZXJzaW9uIDQuMCB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpZmljCi1zdHJpbmcgY29tcGFyaXNvbiB3aGVuIHVzaW5nIHRoZSBjb25kaXRpb25hbCBjb21tYW5kJ3MgPCBhbmQgPiBvcGVyYXRvcnMKK3N0cmluZyBjb21wYXJpc29uIHdoZW4gdXNpbmcgdGhlIFxmQltbXGZQCitjb25kaXRpb25hbCBjb21tYW5kJ3MgXGZCPFxmUCBhbmQgXGZCPlxmUCBvcGVyYXRvcnMgKHNlZSBwcmV2aW91cyBpdGVtKQogYW5kIHRoZSBlZmZlY3Qgb2YgaW50ZXJydXB0aW5nIGEgY29tbWFuZCBsaXN0LgogLlRQIDgKKy5CIGNvbXBhdDQxCitJZiBzZXQsCisuQlIgYmFzaCAsCit3aGVuIGluIHBvc2l4IG1vZGUsIHRyZWF0cyBhIHNpbmdsZSBxdW90ZSBpbiBhIGRvdWJsZS1xdW90ZWQKK3BhcmFtZXRlciBleHBhbnNpb24gYXMgYSBzcGVjaWFsIGNoYXJhY3Rlci4gIFRoZSBzaW5nbGUgcXVvdGVzIG11c3QgbWF0Y2gKKyhhbiBldmVuIG51bWJlcikgYW5kIHRoZSBjaGFyYWN0ZXJzIGJldHdlZW4gdGhlIHNpbmdsZSBxdW90ZXMgYXJlIGNvbnNpZGVyZWQKK3F1b3RlZC4gIFRoaXMgaXMgdGhlIGJlaGF2aW9yIG9mIHBvc2l4IG1vZGUgdGhyb3VnaCB2ZXJzaW9uIDQuMS4KK1RoZSBkZWZhdWx0IGJhc2ggYmVoYXZpb3IgcmVtYWlucyBhcyBpbiBwcmV2aW91cyB2ZXJzaW9ucy4KKy5UUCA4CiAuQiBkaXJzcGVsbAogSWYgc2V0LAogLkIgYmFzaApAQCAtODgyNyw3ICs5MDA5LDcgQEAKIC5CIDYuCiBFcnJvciB0cmFjaW5nIGlzIGVuYWJsZWQ6ICBjb21tYW5kIHN1YnN0aXR1dGlvbiwgc2hlbGwgZnVuY3Rpb25zLCBhbmQKIHN1YnNoZWxscyBpbnZva2VkIHdpdGggXGZCKFxmUCBcZkljb21tYW5kXGZQIFxmQilcZlAgaW5oZXJpdCB0aGUKLVxmQkVSUk9SXGZQIHRyYXAuCitcZkJFUlJcZlAgdHJhcC4KIC5SRQogLlRQIDgKIC5CIGV4dGdsb2IKQEAgLTg4NjAsNyArOTA0Miw3IEBACiAuVFAgOAogLkIgZ2xvYnN0YXIKIElmIHNldCwgdGhlIHBhdHRlcm4gXGZCKipcZlAgdXNlZCBpbiBhIHBhdGhuYW1lIGV4cGFuc2lvbiBjb250ZXh0IHdpbGwKLW1hdGNoIGEgZmlsZXMgYW5kIHplcm8gb3IgbW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuCittYXRjaCBhbGwgZmlsZXMgYW5kIHplcm8gb3IgbW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuCiBJZiB0aGUgcGF0dGVybiBpcyBmb2xsb3dlZCBieSBhIFxmQi9cZlAsIG9ubHkgZGlyZWN0b3JpZXMgYW5kCiBzdWJkaXJlY3RvcmllcyBtYXRjaC4KIC5UUCA4CkBAIC04OTE1LDYgKzkwOTcsMTAgQEAKIC5CIENPTU1FTlRTCiBhYm92ZSkuICBUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCiAuVFAgOAorLkIgbGFzdHBpcGUKK0lmIHNldCwgYW5kIGpvYiBjb250cm9sIGlzIG5vdCBhY3RpdmUsIHRoZSBzaGVsbCBydW5zIHRoZSBsYXN0IGNvbW1hbmQgb2YKK2EgcGlwZWxpbmUgbm90IGV4ZWN1dGVkIGluIHRoZSBiYWNrZ3JvdW5kIGluIHRoZSBjdXJyZW50IHNoZWxsIGVudmlyb25tZW50LgorLlRQIDgKIC5CIGxpdGhpc3QKIElmIHNldCwgYW5kIHRoZQogLkIgY21kaGlzdApAQCAtOTAwNyw2ICs5MTkzLDcgQEAKIElmIHNldCwgdGhlIFxmQmVjaG9cZlAgYnVpbHRpbiBleHBhbmRzIGJhY2tzbGFzaC1lc2NhcGUgc2VxdWVuY2VzCiBieSBkZWZhdWx0LgogLlJFCisuUEQKIC5UUAogXGZCc3VzcGVuZFxmUCBbXGZCXC1mXGZQXQogU3VzcGVuZCB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWl2ZXMgYQpAQCAtOTAzNyw2ICs5MjI0LDcgQEAKIEV4cHJlc3Npb25zIG1heSBiZSBjb21iaW5lZCB1c2luZyB0aGUgZm9sbG93aW5nIG9wZXJhdG9ycywgbGlzdGVkCiBpbiBkZWNyZWFzaW5nIG9yZGVyIG9mIHByZWNlZGVuY2UuCiBUaGUgZXZhbHVhdGlvbiBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzOyBzZWUgYmVsb3cuCitPcGVyYXRvciBwcmVjZWRlbmNlIGlzIHVzZWQgd2hlbiB0aGVyZSBhcmUgZml2ZSBvciBtb3JlIGFyZ3VtZW50cy4KIC5SUwogLlBEIDAKIC5UUApAQCAtOTA4OCw2ICs5Mjc2LDcgQEAKIGlzIGZhbHNlLgogLlRQCiAzIGFyZ3VtZW50cworVGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciBsaXN0ZWQuCiBJZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG9uZSBvZiB0aGUgYmluYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9ycyBsaXN0ZWQgYWJvdmUKIHVuZGVyCiAuU00KQEAgLTkxMTIsNiArOTMwMSwxMSBAQAogNSBvciBtb3JlIGFyZ3VtZW50cwogVGhlIGV4cHJlc3Npb24gaXMgcGFyc2VkIGFuZCBldmFsdWF0ZWQgYWNjb3JkaW5nIHRvIHByZWNlZGVuY2UKIHVzaW5nIHRoZSBydWxlcyBsaXN0ZWQgYWJvdmUuCisuaWYgdCAuc3AgMC41CisuaWYgbiAuc3AgMQorLkxQCitXaGVuIHVzZWQgd2l0aCBcZkJ0ZXN0XGZQIG9yIFxmQltcZlAsIHRoZSBcZkI8XGZQIGFuZCBcZkI+XGZQIG9wZXJhdG9ycworc29ydCBsZXhpY29ncmFwaGljYWxseSB1c2luZyBBU0NJSSBvcmRlcmluZy4KIC5SRQogLlBECiAuVFAKQEAgLTkxNTcsNyArOTM1MSwxMCBAQAogLkkgc2lnc3BlYwogaXMgZWl0aGVyCiBhIHNpZ25hbCBuYW1lIGRlZmluZWQgaW4gPFxmSXNpZ25hbC5oXGZQPiwgb3IgYSBzaWduYWwgbnVtYmVyLgotU2lnbmFsIG5hbWVzIGFyZSBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUgU0lHIHByZWZpeCBpcyBvcHRpb25hbC4KK1NpZ25hbCBuYW1lcyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSBhbmQgdGhlCisuU00KKy5CIFNJRworcHJlZml4IGlzIG9wdGlvbmFsLgogLmlmIHQgLnNwIDAuNQogLmlmIG4gLnNwIDEKIElmIGEKQEAgLTkxOTAsOCArOTM4Nyw4IEBACiAuQlIgUkVUVVJOICwKIHRoZSBjb21tYW5kCiAuSSBhcmcKLWlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGV4ZWN1dGVkIHdpdGggdGhlCi1cZkIuXGZQIG9yIFxmQnNvdXJjZVxmUCBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuCitpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBleGVjdXRlZCB3aXRoCit0aGUgXGZCLlxmUCBvciBcZkJzb3VyY2VcZlAgYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLgogLmlmIHQgLnNwIDAuNQogLmlmIG4gLnNwIDEKIElmIGEKQEAgLTkyMTcsNyArOTQxNCw3IEBACiBzdGF0ZW1lbnQsIHBhcnQgb2YgYSBjb21tYW5kIGV4ZWN1dGVkIGluIGEKIC5CICYmCiBvcgotLkIgXChidlwoYnYKKy5CIHx8CiBsaXN0LCBvciBpZiB0aGUgY29tbWFuZCdzIHJldHVybiB2YWx1ZSBpcwogYmVpbmcgaW52ZXJ0ZWQgdmlhCiAuQlIgISAuCkBAIC05Mzg3LDcgKzk1ODQsOCBAQAogVGhlIG1heGltdW0gbnVtYmVyIG9mIHByb2Nlc3NlcyBhdmFpbGFibGUgdG8gYSBzaW5nbGUgdXNlcgogLlRQCiAuQiBcLXYKLVRoZSBtYXhpbXVtIGFtb3VudCBvZiB2aXJ0dWFsIG1lbW9yeSBhdmFpbGFibGUgdG8gdGhlIHNoZWxsCitUaGUgbWF4aW11bSBhbW91bnQgb2YgdmlydHVhbCBtZW1vcnkgYXZhaWxhYmxlIHRvIHRoZSBzaGVsbCBhbmQsIG9uCitzb21lIHN5c3RlbXMsIHRvIGl0cyBjaGlsZHJlbgogLlRQCiAuQiBcLXgKIFRoZSBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzCkBAIC05NTQ5LDcgKzk3NDcsNyBAQAogLkIgLgogYnVpbHRpbiBjb21tYW5kCiAuSVAgXChidQotU3BlY2lmeWluZyBhIGZpbGVuYW1lIGNvbnRhaW5pbmcgYSBzbGFzaCBhcyBhbiBhcmd1bWVudCB0byB0aGUKK3NwZWNpZnlpbmcgYSBmaWxlbmFtZSBjb250YWluaW5nIGEgc2xhc2ggYXMgYW4gYXJndW1lbnQgdG8gdGhlCiAuQiBcLXAKIG9wdGlvbiB0byB0aGUKIC5CIGhhc2gKQEAgLTk1NzYsNyArOTc3NCw3IEBACiAuQiBlbmFibGUKIGJ1aWx0aW4gY29tbWFuZAogLklQIFwoYnUKLVVzaW5nIHRoZSBcZkJlbmFibGVcZlAgYnVpbHRpbiBjb21tYW5kIHRvIGVuYWJsZSBkaXNhYmxlZCBzaGVsbCBidWlsdGlucwordXNpbmcgdGhlIFxmQmVuYWJsZVxmUCBidWlsdGluIGNvbW1hbmQgdG8gZW5hYmxlIGRpc2FibGVkIHNoZWxsIGJ1aWx0aW5zCiAuSVAgXChidQogc3BlY2lmeWluZyB0aGUKIC5CIFwtcApAQCAtOTY1NSw3ICs5ODUzLDcgQEAKIHZlcnNpb24gb2YKIC5CUiBiYXNoIC4KIFRoZSBsYXRlc3QgdmVyc2lvbiBpcyBhbHdheXMgYXZhaWxhYmxlIGZyb20KLVxmSWZ0cDovL2Z0cC5nbnUub3JnL3B1Yi9iYXNoL1xmUC4KK1xmSWZ0cDovL2Z0cC5nbnUub3JnL3B1Yi9nbnUvYmFzaC9cZlAuCiAuUFAKIE9uY2UgeW91IGhhdmUgZGV0ZXJtaW5lZCB0aGF0IGEgYnVnIGFjdHVhbGx5IGV4aXN0cywgdXNlIHRoZQogLkkgYmFzaGJ1ZwpAQCAtOTY4Nyw3ICs5ODg1LDcgQEAKIC5QUAogQ29tbWVudHMgYW5kIGJ1ZyByZXBvcnRzIGNvbmNlcm5pbmcKIHRoaXMgbWFudWFsIHBhZ2Ugc2hvdWxkIGJlIGRpcmVjdGVkIHRvCi0uSVIgY2hldEBwby5jd3J1LmVkdSAuCisuSVIgY2hldC5yYW1leUBjYXNlLmVkdSAuCiAuU0ggQlVHUwogLlBQCiBJdCdzIHRvbyBiaWcgYW5kIHRvbyBzbG93LgpkaWZmIC0tZ2l0IGEvZG9jL2Jhc2guaHRtbCBiL2RvYy9iYXNoLmh0bWwKaW5kZXggMmFhMjgyNS4uZDFiNjQ4OSAxMDA2NDQKLS0tIGEvZG9jL2Jhc2guaHRtbAorKysgYi9kb2MvYmFzaC5odG1sCkBAIC0zLDcgKzMsNyBAQAogPC9IRUFEPgogPEJPRFk+PFRBQkxFIFdJRFRIPTEwMCU+CiA8VFI+Ci08VEggQUxJR049TEVGVCB3aWR0aD0zMyU+QkFTSCgxKTxUSCBBTElHTj1DRU5URVIgd2lkdGg9MzMlPjIwMDkgRGVjZW1iZXIgMjk8VEggQUxJR049UklHSFQgd2lkdGg9MzMlPkJBU0goMSkKKzxUSCBBTElHTj1MRUZUIHdpZHRoPTMzJT5CQVNIKDEpPFRIIEFMSUdOPUNFTlRFUiB3aWR0aD0zMyU+MjAxMCBEZWNlbWJlciAyODxUSCBBTElHTj1SSUdIVCB3aWR0aD0zMyU+QkFTSCgxKQogPC9UUj4KIDwvVEFCTEU+CiA8QlI+PEEgSFJFRj0iI2luZGV4Ij5JbmRleDwvQT4KQEAgLTQyLDcgKzQyLDcgQEAKIDxIMz5DT1BZUklHSFQ8L0gzPgogCiAKLUJhc2ggaXMgQ29weXJpZ2h0ICYjMTY5OyAxOTg5LTIwMDkgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQmFzaCBpcyBDb3B5cmlnaHQgJiMxNjk7IDE5ODktMjAxMCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiA8QSBOQU1FPSJsYkFFIj4mbmJzcDs8L0E+CiA8SDM+REVTQ1JJUFRJT048L0gzPgogCkBAIC02Nyw4ICs2NywxMCBAQAogPEEgTkFNRT0ibGJBRiI+Jm5ic3A7PC9BPgogPEgzPk9QVElPTlM8L0gzPgogCi1JbiBhZGRpdGlvbiB0byB0aGUgc2luZ2xlLWNoYXJhY3RlciBzaGVsbCBvcHRpb25zIGRvY3VtZW50ZWQgaW4gdGhlCi1kZXNjcmlwdGlvbiBvZiB0aGUgPEI+c2V0PC9CPiBidWlsdGluIGNvbW1hbmQsIDxCPmJhc2g8L0I+CitBbGwgb2YgdGhlICBzaW5nbGUtY2hhcmFjdGVyIHNoZWxsIG9wdGlvbnMgZG9jdW1lbnRlZCBpbiB0aGUKK2Rlc2NyaXB0aW9uIG9mIHRoZSA8Qj5zZXQ8L0I+IGJ1aWx0aW4gY29tbWFuZCBjYW4gYmUgdXNlZCBhcyBvcHRpb25zCit3aGVuIHRoZSBzaGVsbCBpcyBpbnZva2VkLgorSW4gYWRkaXRpb24sIDxCPmJhc2g8L0I+CiBpbnRlcnByZXRzIHRoZSBmb2xsb3dpbmcgb3B0aW9ucyB3aGVuIGl0IGlzIGludm9rZWQ6CiA8UD4KIApAQCAtMTk1LDExICsxOTcsNiBAQAogb3B0aW9uIHRvIHRoZQogPEI+c2hvcHQ8L0I+CiAKLWJ1aWx0aW4gYmVsb3cpCi1hbmQgc2hlbGwgZnVuY3Rpb24gdHJhY2luZyAoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUKLTxCPi1vIGZ1bmN0cmFjZTwvQj4gb3B0aW9uIHRvIHRoZQotPEI+c2V0PC9CPgotCiBidWlsdGluIGJlbG93KS4KIDxEVD48Qj4tLWR1bXAtcG8tc3RyaW5nczwvQj4KIApAQCAtNTMzLDcgKzUzMCw3IEBACiA8Qj5CYXNoPC9CPgogCiBhdHRlbXB0cyB0byBkZXRlcm1pbmUgd2hlbiBpdCBpcyBiZWluZyBydW4gd2l0aCBpdHMgc3RhbmRhcmQgaW5wdXQKLWNvbm5lY3RlZCB0byBhIGEgbmV0d29yayBjb25uZWN0aW9uLCBhcyBpZiBieSB0aGUgcmVtb3RlIHNoZWxsCitjb25uZWN0ZWQgdG8gYSBuZXR3b3JrIGNvbm5lY3Rpb24sIGFzIHdoZW4gZXhlY3V0ZWQgYnkgdGhlIHJlbW90ZSBzaGVsbAogZGFlbW9uLCB1c3VhbGx5IDxJPnJzaGQ8L0k+LCBvciB0aGUgc2VjdXJlIHNoZWxsIGRhZW1vbiA8ST5zc2hkPC9JPi4KIElmCiA8Qj5iYXNoPC9CPgpAQCAtNzM5LDYgKzczNiw4IEBACiBzeXN0ZW0gdGltZSBjb25zdW1lZCBieSBpdHMgZXhlY3V0aW9uIGFyZSByZXBvcnRlZCB3aGVuIHRoZSBwaXBlbGluZQogdGVybWluYXRlcy4KIFRoZSA8Qj4tcDwvQj4gb3B0aW9uIGNoYW5nZXMgdGhlIG91dHB1dCBmb3JtYXQgdG8gdGhhdCBzcGVjaWZpZWQgYnkgUE9TSVguCitXaGVuIHRoZSBzaGVsbCBpcyBpbiA8ST5wb3NpeCBtb2RlPC9JPiwgaXQgZG9lcyBub3QgcmVjb2duaXplCis8Qj50aW1lPC9CPiBhcyBhIHJlc2VydmVkIHdvcmQgaWYgdGhlIG5leHQgdG9rZW4gYmVnaW5zIHdpdGggYSBgLScuCiBUaGUKIDxGT05UIFNJWkU9LTE+PEI+VElNRUZPUk1BVDwvQj4KIApAQCAtNzU0LDYgKzc1MywxNyBAQAogYmVsb3cuCiA8UD4KIAorV2hlbiB0aGUgc2hlbGwgaXMgaW4gPEk+cG9zaXggbW9kZTwvST4sIDxCPnRpbWU8L0I+CittYXkgYmUgZm9sbG93ZWQgYnkgYSBuZXdsaW5lLiAgSW4gdGhpcyBjYXNlLCB0aGUgc2hlbGwgZGlzcGxheXMgdGhlCit0b3RhbCB1c2VyIGFuZCBzeXN0ZW0gdGltZSBjb25zdW1lZCBieSB0aGUgc2hlbGwgYW5kIGl0cyBjaGlsZHJlbi4KK1RoZQorPEZPTlQgU0laRT0tMT48Qj5USU1FRk9STUFUPC9CPgorCis8L0ZPTlQ+Cit2YXJpYWJsZSBtYXkgYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBmb3JtYXQgb2YKK3RoZSB0aW1lIGluZm9ybWF0aW9uLgorPFA+CisKIEVhY2ggY29tbWFuZCBpbiBhIHBpcGVsaW5lIGlzIGV4ZWN1dGVkIGFzIGEgc2VwYXJhdGUgcHJvY2VzcyAoaS5lLiwgaW4gYQogc3Vic2hlbGwpLgogPEEgTkFNRT0ibGJBTiI+Jm5ic3A7PC9BPgpAQCAtOTA1LDcgKzkxNSw3IEBACiA8UD4KIAogCi1XaGVuIHVzZWQgd2l0aCA8Qj5bWzwvQj4sIFRoZSA8Qj4mbHQ7PC9CPiBhbmQgPEI+Jmd0OzwvQj4gb3BlcmF0b3JzIHNvcnQKK1doZW4gdXNlZCB3aXRoIDxCPltbPC9CPiwgdGhlIDxCPiZsdDs8L0I+IGFuZCA8Qj4mZ3Q7PC9CPiBvcGVyYXRvcnMgc29ydAogbGV4aWNvZ3JhcGhpY2FsbHkgdXNpbmcgdGhlIGN1cnJlbnQgbG9jYWxlLgogPFA+CiAKQEAgLTk4OCw5ICs5OTgsNyBAQAogPEk+ZXhwcmVzc2lvbjI8L0k+CiAKIGFyZSB0cnVlLgotPERUPjxJPmV4cHJlc3Npb24xPC9JPiA8Qj58fDwvQj4gPEk+ZXhwcmVzc2lvbjI8L0k+Ci08REQ+Ci0KKzxEVD48ST5leHByZXNzaW9uMTwvST4gPEI+fHw8L0I+IDxJPmV4cHJlc3Npb24yPC9JPjxERD4KIFRydWUgaWYgZWl0aGVyCiA8ST5leHByZXNzaW9uMTwvST4KIApAQCAtMTAwMiw5ICsxMDEwLDcgQEAKIDwvREw+CiA8UD4KIAotVGhlIDxCPiZhbXA7JmFtcDs8L0I+IGFuZAotPEI+fHw8L0I+Ci0KK1RoZSA8Qj4mYW1wOyZhbXA7PC9CPiBhbmQgPEI+fHw8L0I+CiBvcGVyYXRvcnMgZG8gbm90IGV2YWx1YXRlIDxJPmV4cHJlc3Npb24yPC9JPiBpZiB0aGUgdmFsdWUgb2YKIDxJPmV4cHJlc3Npb24xPC9JPiBpcyBzdWZmaWNpZW50IHRvIGRldGVybWluZSB0aGUgcmV0dXJuIHZhbHVlIG9mCiB0aGUgZW50aXJlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uCkBAIC0xMTIwLDI2ICsxMTI2LDIzIEBACiBjb21tYW5kIGNvbXBsZXRlcy4gIE90aGVyd2lzZSwgdGhlIDxCPmVsc2U8L0I+IDxJPmxpc3Q8L0k+IGlzCiBleGVjdXRlZCwgaWYgcHJlc2VudC4gIFRoZSBleGl0IHN0YXR1cyBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlCiBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQsIG9yIHplcm8gaWYgbm8gY29uZGl0aW9uIHRlc3RlZCB0cnVlLgotPERUPjxCPndoaWxlPC9CPiA8ST5saXN0PC9JPjsgPEI+ZG88L0I+IDxJPmxpc3Q8L0k+OyA8Qj5kb25lPC9CPjxERD4KKzxEVD48Qj53aGlsZTwvQj4gPEk+bGlzdC0xPC9JPjsgPEI+ZG88L0I+IDxJPmxpc3QtMjwvST47IDxCPmRvbmU8L0I+PEREPgogCi08RFQ+PEI+dW50aWw8L0I+IDxJPmxpc3Q8L0k+OyA8Qj5kbzwvQj4gPEk+bGlzdDwvST47IDxCPmRvbmU8L0I+PEREPgorPERUPjxCPnVudGlsPC9CPiA8ST5saXN0LTE8L0k+OyA8Qj5kbzwvQj4gPEk+bGlzdC0yPC9JPjsgPEI+ZG9uZTwvQj48REQ+CiAKLVRoZSA8Qj53aGlsZTwvQj4gY29tbWFuZCBjb250aW51b3VzbHkgZXhlY3V0ZXMgdGhlIDxCPmRvPC9CPgotPEk+bGlzdDwvST4gYXMgbG9uZyBhcyB0aGUgbGFzdCBjb21tYW5kIGluIDxJPmxpc3Q8L0k+IHJldHVybnMKK1RoZSA8Qj53aGlsZTwvQj4gY29tbWFuZCBjb250aW51b3VzbHkgZXhlY3V0ZXMgdGhlIGxpc3QKKzxJPmxpc3QtMjwvST4gYXMgbG9uZyBhcyB0aGUgbGFzdCBjb21tYW5kIGluIHRoZSBsaXN0IDxJPmxpc3QtMTwvST4gcmV0dXJucwogYW4gZXhpdCBzdGF0dXMgb2YgemVyby4gIFRoZSA8Qj51bnRpbDwvQj4gY29tbWFuZCBpcyBpZGVudGljYWwKIHRvIHRoZSA8Qj53aGlsZTwvQj4gY29tbWFuZCwgZXhjZXB0IHRoYXQgdGhlIHRlc3QgaXMgbmVnYXRlZDsKLXRoZQotPEI+ZG88L0I+Ci0KLTxJPmxpc3Q8L0k+Cis8ST5saXN0LTI8L0k+CiAKIGlzIGV4ZWN1dGVkIGFzIGxvbmcgYXMgdGhlIGxhc3QgY29tbWFuZCBpbgotPEk+bGlzdDwvST4KKzxJPmxpc3QtMTwvST4KIAogcmV0dXJucyBhIG5vbi16ZXJvIGV4aXQgc3RhdHVzLgogVGhlIGV4aXQgc3RhdHVzIG9mIHRoZSA8Qj53aGlsZTwvQj4gYW5kIDxCPnVudGlsPC9CPiBjb21tYW5kcwogaXMgdGhlIGV4aXQgc3RhdHVzCi1vZiB0aGUgbGFzdCA8Qj5kbzwvQj4gPEk+bGlzdDwvST4gY29tbWFuZCBleGVjdXRlZCwgb3IgemVybyBpZgorb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCBpbiA8ST5saXN0LTI8L0k+LCBvciB6ZXJvIGlmCiBub25lIHdhcyBleGVjdXRlZC4KIDwvREw+CiA8QSBOQU1FPSJsYkFQIj4mbmJzcDs8L0E+CkBAIC0xMTkwLDcgKzExOTMsNyBAQAogYmVsb3cpLgogVGhlIGZpbGUgZGVzY3JpcHRvcnMgY2FuIGJlIHV0aWxpemVkIGFzIGFyZ3VtZW50cyB0byBzaGVsbCBjb21tYW5kcwogYW5kIHJlZGlyZWN0aW9ucyB1c2luZyBzdGFuZGFyZCB3b3JkIGV4cGFuc2lvbnMuCi1UaGUgcHJvY2VzcyBpZCBvZiB0aGUgc2hlbGwgc3Bhd25lZCB0byBleGVjdXRlIHRoZSBjb3Byb2Nlc3MgaXMKK1RoZSBwcm9jZXNzIElEIG9mIHRoZSBzaGVsbCBzcGF3bmVkIHRvIGV4ZWN1dGUgdGhlIGNvcHJvY2VzcyBpcwogYXZhaWxhYmxlIGFzIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgPEk+TkFNRTwvST5fUElELgogVGhlIDxCPndhaXQ8L0I+CiBidWlsdGluIGNvbW1hbmQgbWF5IGJlIHVzZWQgdG8gd2FpdCBmb3IgdGhlIGNvcHJvY2VzcyB0byB0ZXJtaW5hdGUuCkBAIC0xMjA2LDcgKzEyMDksMTAgQEAKIGV4ZWN1dGVzIGEgY29tcG91bmQgY29tbWFuZCB3aXRoIGEgbmV3IHNldCBvZiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuCiBTaGVsbCBmdW5jdGlvbnMgYXJlIGRlY2xhcmVkIGFzIGZvbGxvd3M6CiA8REwgQ09NUEFDVD4KLTxEVD5bIDxCPmZ1bmN0aW9uPC9CPiBdIDxJPm5hbWU8L0k+ICgpIDxJPmNvbXBvdW5kLWNvbW1hbmQ8L0k+IFs8ST5yZWRpcmVjdGlvbjwvST5dPEREPgorPERUPjxJPm5hbWU8L0k+ICgpIDxJPmNvbXBvdW5kLWNvbW1hbmQ8L0k+IFs8ST5yZWRpcmVjdGlvbjwvST5dPEREPgorCis8RFQ+PEI+ZnVuY3Rpb248L0I+IDxJPm5hbWU8L0k+IFsoKV0gPEk+Y29tcG91bmQtY29tbWFuZDwvST4gWzxJPnJlZGlyZWN0aW9uPC9JPl08REQ+CisKIFRoaXMgZGVmaW5lcyBhIGZ1bmN0aW9uIG5hbWVkIDxJPm5hbWU8L0k+LgogVGhlIHJlc2VydmVkIHdvcmQgPEI+ZnVuY3Rpb248L0I+IGlzIG9wdGlvbmFsLgogSWYgdGhlIDxCPmZ1bmN0aW9uPC9CPiByZXNlcnZlZCB3b3JkIGlzIHN1cHBsaWVkLCB0aGUgcGFyZW50aGVzZXMgYXJlIG9wdGlvbmFsLgpAQCAtMTQyNiw2ICsxNDMyLDE2IEBACiA8REQ+CiB0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUgPEk+SEg8L0k+CiAob25lIG9yIHR3byBoZXggZGlnaXRzKQorPERUPjxCPlx1PC9CPjxJPkhISEg8L0k+CisKKzxERD4KK3RoZSBVbmljb2RlIChJU08vSUVDIDEwNjQ2KSBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgdGhlIGhleGFkZWNpbWFsIHZhbHVlCis8ST5ISEhIPC9JPiAob25lIHRvIGZvdXIgaGV4IGRpZ2l0cykKKzxEVD48Qj5cVTwvQj48ST5ISEhISEhISDwvST4KKworPEREPgordGhlIFVuaWNvZGUgKElTTy9JRUMgMTA2NDYpIGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUKKzxJPkhISEhISEhIPC9JPiAob25lIHRvIGVpZ2h0IGhleCBkaWdpdHMpCiA8RFQ+PEI+XGM8L0I+PEk+eDwvST4KIAogPEREPgpAQCAtMTU0OSw3ICsxNTY1LDcgQEAKIEluIHRoZSBjb250ZXh0IHdoZXJlIGFuIGFzc2lnbm1lbnQgc3RhdGVtZW50IGlzIGFzc2lnbmluZyBhIHZhbHVlCiB0byBhIHNoZWxsIHZhcmlhYmxlIG9yIGFycmF5IGluZGV4LCB0aGUgKz0gb3BlcmF0b3IgY2FuIGJlIHVzZWQgdG8KIGFwcGVuZCB0byBvciBhZGQgdG8gdGhlIHZhcmlhYmxlJ3MgcHJldmlvdXMgdmFsdWUuCi1XaGVuICs9IGlzIGFwcGxpZWQgdG8gYSB2YXJpYWJsZSBmb3Igd2hpY2ggdGhlIGludGVnZXIgYXR0cmlidXRlIGhhcyBiZWVuCitXaGVuICs9IGlzIGFwcGxpZWQgdG8gYSB2YXJpYWJsZSBmb3Igd2hpY2ggdGhlIDxJPmludGVnZXI8L0k+IGF0dHJpYnV0ZSBoYXMgYmVlbgogc2V0LCA8ST52YWx1ZTwvST4gaXMgZXZhbHVhdGVkIGFzIGFuIGFyaXRobWV0aWMgZXhwcmVzc2lvbiBhbmQgYWRkZWQgdG8gdGhlCiB2YXJpYWJsZSdzIGN1cnJlbnQgdmFsdWUsIHdoaWNoIGlzIGFsc28gZXZhbHVhdGVkLgogV2hlbiArPSBpcyBhcHBsaWVkIHRvIGFuIGFycmF5IHZhcmlhYmxlIHVzaW5nIGNvbXBvdW5kIGFzc2lnbm1lbnQgKHNlZQpAQCAtMTc2MSwxNCArMTc3NywxNCBAQAogPERUPjxCPkJBU0hQSUQ8L0I+CiAKIDxERD4KLUV4cGFuZHMgdG8gdGhlIHByb2Nlc3MgaWQgb2YgdGhlIGN1cnJlbnQgPEI+YmFzaDwvQj4gcHJvY2Vzcy4KK0V4cGFuZHMgdG8gdGhlIHByb2Nlc3MgSUQgb2YgdGhlIGN1cnJlbnQgPEI+YmFzaDwvQj4gcHJvY2Vzcy4KIFRoaXMgZGlmZmVycyBmcm9tIDxCPiQkPC9CPiB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMsIHN1Y2ggYXMgc3Vic2hlbGxzCiB0aGF0IGRvIG5vdCByZXF1aXJlIDxCPmJhc2g8L0I+IHRvIGJlIHJlLWluaXRpYWxpemVkLgogPERUPjxCPkJBU0hfQUxJQVNFUzwvQj4KIAogPEREPgogQW4gYXNzb2NpYXRpdmUgYXJyYXkgdmFyaWFibGUgd2hvc2UgbWVtYmVycyBjb3JyZXNwb25kIHRvIHRoZSBpbnRlcm5hbAotbGlzdCBvZiBhbGlhc2VzIGFzIG1haW50YWluZWQgYnkgdGhlIDxCPmFsaWFzPC9CPiBidWlsdGluCitsaXN0IG9mIGFsaWFzZXMgYXMgbWFpbnRhaW5lZCBieSB0aGUgPEI+YWxpYXM8L0I+IGJ1aWx0aW4uCiBFbGVtZW50cyBhZGRlZCB0byB0aGlzIGFycmF5IGFwcGVhciBpbiB0aGUgYWxpYXMgbGlzdDsgdW5zZXR0aW5nIGFycmF5CiBlbGVtZW50cyBjYXVzZSBhbGlhc2VzIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgYWxpYXMgbGlzdC4KIDxEVD48Qj5CQVNIX0FSR0M8L0I+CkBAIC0xODM4LDE1ICsxODU0LDE2IEBACiAKIDxERD4KIEFuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBsaW5lIG51bWJlcnMgaW4gc291cmNlIGZpbGVzCi1jb3JyZXNwb25kaW5nIHRvIGVhY2ggbWVtYmVyIG9mCi08Rk9OVCBTSVpFPS0xPjxCPkZVTkNOQU1FPC9CPi4KK3doZXJlIGVhY2ggY29ycmVzcG9uZGluZyBtZW1iZXIgb2YKKzxGT05UIFNJWkU9LTE+PEI+RlVOQ05BTUU8L0I+CiAKIDwvRk9OVD4KK3dhcyBpbnZva2VkLgogPEI+JHtCQVNIX0xJTkVOT1s8L0I+PEk+JGk8L0k+PEI+XX08L0I+IGlzIHRoZSBsaW5lIG51bWJlciBpbiB0aGUgc291cmNlCi1maWxlIHdoZXJlIDxCPiR7RlVOQ05BTUVbPC9CPjxJPiRpPC9JPjxCPl19PC9CPiB3YXMgY2FsbGVkCitmaWxlICg8Qj4ke0JBU0hfU09VUkNFWzwvQj48ST4kaSsxPC9JPjxCPl19PC9CPikgd2hlcmUKKzxCPiR7RlVOQ05BTUVbPC9CPjxJPiRpPC9JPjxCPl19PC9CPiB3YXMgY2FsbGVkCiAob3IgPEI+JHtCQVNIX0xJTkVOT1s8L0I+PEk+JGktMTwvST48Qj5dfTwvQj4gaWYgcmVmZXJlbmNlZCB3aXRoaW4gYW5vdGhlcgogc2hlbGwgZnVuY3Rpb24pLgotVGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGZpbGUgbmFtZSBpcyA8Qj4ke0JBU0hfU09VUkNFWzwvQj48ST4kaTwvST48Qj5dfTwvQj4uCiBVc2UKIDxGT05UIFNJWkU9LTE+PEI+TElORU5PPC9CPgogCkBAIC0xODY1LDEyICsxODgyLDE2IEBACiA8RFQ+PEI+QkFTSF9TT1VSQ0U8L0I+CiAKIDxERD4KLUFuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBzb3VyY2UgZmlsZW5hbWVzIGNvcnJlc3BvbmRpbmcKLXRvIHRoZSBlbGVtZW50cyBpbiB0aGUKK0FuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBzb3VyY2UgZmlsZW5hbWVzCit3aGVyZSB0aGUgY29ycmVzcG9uZGluZyBzaGVsbCBmdW5jdGlvbiBuYW1lcyBpbiB0aGUKIDxGT05UIFNJWkU9LTE+PEI+RlVOQ05BTUU8L0I+CiAKIDwvRk9OVD4KLWFycmF5IHZhcmlhYmxlLgorYXJyYXkgdmFyaWFibGUgYXJlIGRlZmluZWQuCitUaGUgc2hlbGwgZnVuY3Rpb24KKzxCPiR7RlVOQ05BTUVbPC9CPjxJPiRpPC9JPjxCPl19PC9CPiBpcyBkZWZpbmVkIGluIHRoZSBmaWxlCis8Qj4ke0JBU0hfU09VUkNFWzwvQj48ST4kaTwvST48Qj5dfTwvQj4gYW5kIGNhbGxlZCBmcm9tCis8Qj4ke0JBU0hfU09VUkNFWzwvQj48ST4kaSsxPC9JPjxCPl19PC9CPi4KIDxEVD48Qj5CQVNIX1NVQlNIRUxMPC9CPgogCiA8REQ+CkBAIC0xOTk1LDYgKzIwMTYsMTIgQEAKIFRoaXMgdmFyaWFibGUgaXMgYXZhaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGludm9rZWQgYnkgdGhlCiBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUgPEI+UHJvZ3JhbW1hYmxlIENvbXBsZXRpb248L0I+CiBiZWxvdykuCis8RFQ+PEI+Q09QUk9DPC9CPgorCis8REQ+CitBbiBhcnJheSB2YXJpYWJsZSAoc2VlIDxCPkFycmF5czwvQj4gYmVsb3cpIGNyZWF0ZWQgdG8gaG9sZCB0aGUgZmlsZSBkZXNjcmlwdG9ycworZm9yIG91dHB1dCBmcm9tIGFuZCBpbnB1dCB0byBhbiB1bm5hbWVkIGNvcHJvY2VzcyAoc2VlIDxCPkNvcHJvY2Vzc2VzPC9CPgorYWJvdmUpLgogPERUPjxCPkRJUlNUQUNLPC9CPgogCiA8REQ+CkBAIC0yMDMzLDcgKzIwNjAsNyBAQAogY3VycmVudGx5IGluIHRoZSBleGVjdXRpb24gY2FsbCBzdGFjay4KIFRoZSBlbGVtZW50IHdpdGggaW5kZXggMCBpcyB0aGUgbmFtZSBvZiBhbnkgY3VycmVudGx5LWV4ZWN1dGluZwogc2hlbGwgZnVuY3Rpb24uCi1UaGUgYm90dG9tLW1vc3QgZWxlbWVudCBpcworVGhlIGJvdHRvbS1tb3N0IGVsZW1lbnQgKHRoZSBvbmUgd2l0aCB0aGUgaGlnaGVzdCBpbmRleCkgaXMKIDxUVD4mcXVvdDttYWluJnF1b3Q7PC9UVD4uCiAKIFRoaXMgdmFyaWFibGUgZXhpc3RzIG9ubHkgd2hlbiBhIHNoZWxsIGZ1bmN0aW9uIGlzIGV4ZWN1dGluZy4KQEAgLTIwNDgsNiArMjA3NSwxNyBAQAogPC9GT05UPgogaXMgdW5zZXQsIGl0IGxvc2VzIGl0cyBzcGVjaWFsIHByb3BlcnRpZXMsIGV2ZW4gaWYgaXQgaXMKIHN1YnNlcXVlbnRseSByZXNldC4KKzxQPgorCisKK1RoaXMgdmFyaWFibGUgY2FuIGJlIHVzZWQgd2l0aCA8Qj5CQVNIX0xJTkVOTzwvQj4gYW5kIDxCPkJBU0hfU09VUkNFPC9CPi4KK0VhY2ggZWxlbWVudCBvZiA8Qj5GVU5DTkFNRTwvQj4gaGFzIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMgaW4KKzxCPkJBU0hfTElORU5PPC9CPiBhbmQgPEI+QkFTSF9TT1VSQ0U8L0I+IHRvIGRlc2NyaWJlIHRoZSBjYWxsIHN0YWNrLgorRm9yIGluc3RhbmNlLCA8Qj4ke0ZVTkNOQU1FWzwvQj48ST4kaTwvST48Qj5dfTwvQj4gd2FzIGNhbGxlZCBmcm9tIHRoZSBmaWxlCis8Qj4ke0JBU0hfU09VUkNFWzwvQj48ST4kaSsxPC9JPjxCPl19PC9CPiBhdCBsaW5lIG51bWJlcgorPEI+JHtCQVNIX0xJTkVOT1s8L0I+PEk+JGk8L0k+PEI+XX08L0I+LgorVGhlIDxCPmNhbGxlcjwvQj4gYnVpbHRpbiBkaXNwbGF5cyB0aGUgY3VycmVudCBjYWxsIHN0YWNrIHVzaW5nIHRoaXMKK2luZm9ybWF0aW9uLgogPERUPjxCPkdST1VQUzwvQj4KIAogPEREPgpAQCAtMjExMSw2ICsyMTQ5LDExIEBACiAKIGlzIGV4ZWN1dGluZywgaW4gdGhlIHN0YW5kYXJkIEdOVSA8ST5jcHUtY29tcGFueS1zeXN0ZW08L0k+IGZvcm1hdC4KIFRoZSBkZWZhdWx0IGlzIHN5c3RlbS1kZXBlbmRlbnQuCis8RFQ+PEI+TUFQRklMRTwvQj4KKworPEREPgorQW4gYXJyYXkgdmFyaWFibGUgKHNlZSA8Qj5BcnJheXM8L0I+IGJlbG93KSBjcmVhdGVkIHRvIGhvbGQgdGhlIHRleHQKK3JlYWQgYnkgdGhlIDxCPm1hcGZpbGU8L0I+IGJ1aWx0aW4gd2hlbiBubyB2YXJpYWJsZSBuYW1lIGlzIHN1cHBsaWVkLgogPERUPjxCPk9MRFBXRDwvQj4KIAogPEREPgpAQCAtMjE4NSw2ICsyMjI4LDM0IEBACiA8L0ZPTlQ+CiBpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZWNpYWwgcHJvcGVydGllcywgZXZlbiBpZiBpdCBpcwogc3Vic2VxdWVudGx5IHJlc2V0LgorPERUPjxCPlJFQURMSU5FX0xJTkU8L0I+CisKKzxERD4KK1RoZSBjb250ZW50cyBvZiB0aGUKKzxCPnJlYWRsaW5lPC9CPgorCitsaW5lIGJ1ZmZlciwgZm9yIHVzZSB3aXRoCis8VFQ+YmluZCAteDwvVFQ+CisKKyhzZWUKKzxGT05UIFNJWkU9LTE+PEI+U0hFTEwgQlVJTFRJTiBDT01NQU5EUzwvQj4KKworPC9GT05UPgorYmVsb3cpLgorPERUPjxCPlJFQURMSU5FX1BPSU5UPC9CPgorCis8REQ+CitUaGUgcG9zaXRpb24gb2YgdGhlIGluc2VydGlvbiBwb2ludCBpbiB0aGUKKzxCPnJlYWRsaW5lPC9CPgorCitsaW5lIGJ1ZmZlciwgZm9yIHVzZSB3aXRoCis8VFQ+YmluZCAteDwvVFQ+CisKKyhzZWUKKzxGT05UIFNJWkU9LTE+PEI+U0hFTEwgQlVJTFRJTiBDT01NQU5EUzwvQj4KKworPC9GT05UPgorYmVsb3cpLgogPERUPjxCPlJFUExZPC9CPgogCiA8REQ+CkBAIC0yMjgxLDIxICsyMzUyLDYgQEAKIAogPC9GT05UPgogaXMgbm90IHVzZWQgdG8gc2VhcmNoIGZvciB0aGUgcmVzdWx0YW50IGZpbGUgbmFtZS4KLTxEVD48Qj5DRFBBVEg8L0I+Ci0KLTxERD4KLVRoZSBzZWFyY2ggcGF0aCBmb3IgdGhlCi08Qj5jZDwvQj4KLQotY29tbWFuZC4KLVRoaXMgaXMgYSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyBpbiB3aGljaCB0aGUgc2hlbGwgbG9va3MKLWZvciBkZXN0aW5hdGlvbiBkaXJlY3RvcmllcyBzcGVjaWZpZWQgYnkgdGhlCi08Qj5jZDwvQj4KLQotY29tbWFuZC4KLUEgc2FtcGxlIHZhbHVlIGlzCi08VFQ+JnF1b3Q7Ljp+Oi91c3ImcXVvdDs8L1RUPi4KLQogPERUPjxCPkJBU0hfWFRSQUNFRkQ8L0I+CiAKIDxERD4KQEAgLTIzMjIsMTEgKzIzNzgsMjkgQEAKIHRvIDIgKHRoZSBzdGFuZGFyZCBlcnJvciBmaWxlCiBkZXNjcmlwdG9yKSBhbmQgdGhlbiB1bnNldHRpbmcgaXQgd2lsbCByZXN1bHQgaW4gdGhlIHN0YW5kYXJkIGVycm9yCiBiZWluZyBjbG9zZWQuCis8RFQ+PEI+Q0RQQVRIPC9CPgorCis8REQ+CitUaGUgc2VhcmNoIHBhdGggZm9yIHRoZQorPEI+Y2Q8L0I+CisKK2NvbW1hbmQuCitUaGlzIGlzIGEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZGlyZWN0b3JpZXMgaW4gd2hpY2ggdGhlIHNoZWxsIGxvb2tzCitmb3IgZGVzdGluYXRpb24gZGlyZWN0b3JpZXMgc3BlY2lmaWVkIGJ5IHRoZQorPEI+Y2Q8L0I+CisKK2NvbW1hbmQuCitBIHNhbXBsZSB2YWx1ZSBpcworPFRUPiZxdW90Oy46fjovdXNyJnF1b3Q7PC9UVD4uCisKIDxEVD48Qj5DT0xVTU5TPC9CPgogCiA8REQ+Ci1Vc2VkIGJ5IHRoZSA8Qj5zZWxlY3Q8L0I+IGJ1aWx0aW4gY29tbWFuZCB0byBkZXRlcm1pbmUgdGhlIHRlcm1pbmFsIHdpZHRoCi13aGVuIHByaW50aW5nIHNlbGVjdGlvbiBsaXN0cy4gIEF1dG9tYXRpY2FsbHkgc2V0IHVwb24gcmVjZWlwdCBvZiBhIFNJR1dJTkNILgorVXNlZCBieSB0aGUgPEI+c2VsZWN0PC9CPiBjb21wb3VuZCBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgdGVybWluYWwgd2lkdGgKK3doZW4gcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLiAgQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEKKzxGT05UIFNJWkU9LTE+PEI+U0lHV0lOQ0g8L0I+LgorCis8L0ZPTlQ+CiA8RFQ+PEI+Q09NUFJFUExZPC9CPgogCiA8REQ+CkBAIC0yMzQwLDggKzI0MTQsMTYgQEAKIHdpdGggdmFsdWUKIDxUVD50PC9UVD4sCiAKLWl0IGFzc3VtZXMgdGhhdCB0aGUgc2hlbGwgaXMgcnVubmluZyBpbiBhbiBlbWFjcyBzaGVsbCBidWZmZXIgYW5kIGRpc2FibGVzCitpdCBhc3N1bWVzIHRoYXQgdGhlIHNoZWxsIGlzIHJ1bm5pbmcgaW4gYW4gRW1hY3Mgc2hlbGwgYnVmZmVyIGFuZCBkaXNhYmxlcwogbGluZSBlZGl0aW5nLgorPERUPjxCPkVOVjwvQj4KKworPEREPgorU2ltaWxhciB0bworPEZPTlQgU0laRT0tMT48Qj5CQVNIX0VOVjwvQj47CisKKzwvRk9OVD4KK3VzZWQgd2hlbiB0aGUgc2hlbGwgaXMgaW52b2tlZCBpbiBQT1NJWCBtb2RlLgogPERUPjxCPkZDRURJVDwvQj4KIAogPEREPgpAQCAtMjM2Niw2ICsyNDQ4LDEyIEBACiBBIHNhbXBsZSB2YWx1ZSBpcwogPFRUPiZxdW90Oy5vOn4mcXVvdDs8L1RUPi4KIAorPERUPjxCPkZVTkNORVNUPC9CPgorCis8REQ+CitJZiBzZXQgdG8gYSBudW1lcmljIHZhbHVlIGdyZWF0ZXIgdGhhbiAwLCBkZWZpbmVzIGEgbWF4aW11bSBmdW5jdGlvbgorbmVzdGluZyBsZXZlbC4gIEZ1bmN0aW9uIGludm9jYXRpb25zIHRoYXQgZXhjZWVkIHRoaXMgbmVzdGluZyBsZXZlbAord2lsbCBjYXVzZSB0aGUgY3VycmVudCBjb21tYW5kIHRvIGFib3J0LgogPERUPjxCPkdMT0JJR05PUkU8L0I+CiAKIDxERD4KQEAgLTI2MDEsNyArMjY4OSw3IEBACiA8RFQ+PEI+TElORVM8L0I+CiAKIDxERD4KLVVzZWQgYnkgdGhlIDxCPnNlbGVjdDwvQj4gYnVpbHRpbiBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgY29sdW1uIGxlbmd0aAorVXNlZCBieSB0aGUgPEI+c2VsZWN0PC9CPiBjb21wb3VuZCBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgY29sdW1uIGxlbmd0aAogZm9yIHByaW50aW5nIHNlbGVjdGlvbiBsaXN0cy4gIEF1dG9tYXRpY2FsbHkgc2V0IHVwb24gcmVjZWlwdCBvZiBhCiA8Rk9OVCBTSVpFPS0xPjxCPlNJR1dJTkNIPC9CPi4KIApAQCAtMjYwOSwxNCArMjY5NywxNSBAQAogPERUPjxCPk1BSUw8L0I+CiAKIDxERD4KLUlmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIGZpbGUgbmFtZSBhbmQgdGhlCitJZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgdG8gYSBmaWxlIG9yIGRpcmVjdG9yeSBuYW1lIGFuZCB0aGUKIDxGT05UIFNJWkU9LTE+PEI+TUFJTFBBVEg8L0I+CiAKIDwvRk9OVD4KIHZhcmlhYmxlIGlzIG5vdCBzZXQsCiA8Qj5iYXNoPC9CPgogCi1pbmZvcm1zIHRoZSB1c2VyIG9mIHRoZSBhcnJpdmFsIG9mIG1haWwgaW4gdGhlIHNwZWNpZmllZCBmaWxlLgoraW5mb3JtcyB0aGUgdXNlciBvZiB0aGUgYXJyaXZhbCBvZiBtYWlsIGluIHRoZSBzcGVjaWZpZWQgZmlsZSBvcgorTWFpbGRpci1mb3JtYXQgZGlyZWN0b3J5LgogPERUPjxCPk1BSUxDSEVDSzwvQj4KIAogPEREPgpAQCAtMjg1Miw4ICsyOTQxLDggQEAKIDxEVD48Qj5UTVBESVI8L0I+CiAKIDxERD4KLUlmIHNldCwgPEI+QmFzaDwvQj4gdXNlcyBpdHMgdmFsdWUgYXMgdGhlIG5hbWUgb2YgYSBkaXJlY3RvcnkgaW4gd2hpY2gKLTxCPkJhc2g8L0I+IGNyZWF0ZXMgdGVtcG9yYXJ5IGZpbGVzIGZvciB0aGUgc2hlbGwncyB1c2UuCitJZiBzZXQsIDxCPmJhc2g8L0I+IHVzZXMgaXRzIHZhbHVlIGFzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5IGluIHdoaWNoCis8Qj5iYXNoPC9CPiBjcmVhdGVzIHRlbXBvcmFyeSBmaWxlcyBmb3IgdGhlIHNoZWxsJ3MgdXNlLgogPERUPjxCPmF1dG9fcmVzdW1lPC9CPgogCiA8REQ+CkBAIC0yOTMzLDkgKzMwMjIsMTQgQEAKIHVzaW5nIHRoZSBzeW50YXggPEk+bmFtZTwvST5bPEk+c3Vic2NyaXB0PC9JPl09PEk+dmFsdWU8L0k+LiAgVGhlCiA8ST5zdWJzY3JpcHQ8L0k+CiAKLWlzIHRyZWF0ZWQgYXMgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uIHRoYXQgbXVzdCBldmFsdWF0ZSB0byBhIG51bWJlcgotZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHplcm8uICBUbyBleHBsaWNpdGx5IGRlY2xhcmUgYW4gaW5kZXhlZCBhcnJheSwKLXVzZQoraXMgdHJlYXRlZCBhcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gdGhhdCBtdXN0IGV2YWx1YXRlIHRvIGEgbnVtYmVyLgorSWYKKzxJPnN1YnNjcmlwdDwvST4KKworZXZhbHVhdGVzIHRvIGEgbnVtYmVyIGxlc3MgdGhhbiB6ZXJvLCBpdCBpcyB1c2VkIGFzCithbiBvZmZzZXQgZnJvbSBvbmUgZ3JlYXRlciB0aGFuIHRoZSBhcnJheSdzIG1heGltdW0gaW5kZXggKHNvIGEgc3ViY3JpcHQKK29mIC0xIHJlZmVycyB0byB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBhcnJheSkuCitUbyBleHBsaWNpdGx5IGRlY2xhcmUgYW4gaW5kZXhlZCBhcnJheSwgdXNlCiA8Qj5kZWNsYXJlIC1hIDwvQj48ST5uYW1lPC9JPgogCiAoc2VlCkBAIC0zMzM4LDcgKzM0MzIsNyBAQAogZXhwYW5kZWQgYW5kIHRoYXQgdmFsdWUgaXMgdXNlZCBpbiB0aGUgcmVzdCBvZiB0aGUgc3Vic3RpdHV0aW9uLCByYXRoZXIKIHRoYW4gdGhlIHZhbHVlIG9mIDxJPnBhcmFtZXRlcjwvST4gaXRzZWxmLgogVGhpcyBpcyBrbm93biBhcyA8ST5pbmRpcmVjdCBleHBhbnNpb248L0k+LgotVGhlIGV4Y2VwdGlvbnMgdG8gdGhpcyBhcmUgdGhlIGV4cGFuc2lvbnMgb2YgJHshPEk+cHJlZml4PC9JPip9IGFuZAorVGhlIGV4Y2VwdGlvbnMgdG8gdGhpcyBhcmUgdGhlIGV4cGFuc2lvbnMgb2YgJHs8Qj4hXGZQZklwcmVmaXg8L0I+PEI+KjwvQj59IGFuZAogJHs8Qj4hPC9CPjxJPm5hbWU8L0k+WzxJPkA8L0k+XX0gZGVzY3JpYmVkIGJlbG93LgogVGhlIGV4Y2xhbWF0aW9uIHBvaW50IG11c3QgaW1tZWRpYXRlbHkgZm9sbG93IHRoZSBsZWZ0IGJyYWNlIGluIG9yZGVyIHRvCiBpbnRyb2R1Y2UgaW5kaXJlY3Rpb24uCkBAIC0zNDA3LDcgKzM1MDEsNyBAQAogCiA8RFQ+JHs8ST5wYXJhbWV0ZXI8L0k+PEI+OjwvQj48ST5vZmZzZXQ8L0k+PEI+OjwvQj48ST5sZW5ndGg8L0k+fTxERD4KIAotPEI+U3Vic3RyaW5nIEV4cGFuc2lvbi48L0I+Cis8Qj5TdWJzdHJpbmcgRXhwYW5zaW9uPC9CPi4KIEV4cGFuZHMgdG8gdXAgdG8gPEk+bGVuZ3RoPC9JPiBjaGFyYWN0ZXJzIG9mIDxJPnBhcmFtZXRlcjwvST4KIHN0YXJ0aW5nIGF0IHRoZSBjaGFyYWN0ZXIgc3BlY2lmaWVkIGJ5IDxJPm9mZnNldDwvST4uCiBJZiA8ST5sZW5ndGg8L0k+IGlzIG9taXR0ZWQsIGV4cGFuZHMgdG8gdGhlIHN1YnN0cmluZyBvZgpAQCAtMzQxNyw5ICszNTExLDEzIEBACiAKIDwvRk9OVD4KIGJlbG93KS4KLTxJPmxlbmd0aDwvST4gbXVzdCBldmFsdWF0ZSB0byBhIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gemVyby4KIElmIDxJPm9mZnNldDwvST4gZXZhbHVhdGVzIHRvIGEgbnVtYmVyIGxlc3MgdGhhbiB6ZXJvLCB0aGUgdmFsdWUKIGlzIHVzZWQgYXMgYW4gb2Zmc2V0IGZyb20gdGhlIGVuZCBvZiB0aGUgdmFsdWUgb2YgPEk+cGFyYW1ldGVyPC9JPi4KK0lmIDxJPmxlbmd0aDwvST4gZXZhbHVhdGVzIHRvIGEgbnVtYmVyIGxlc3MgdGhhbiB6ZXJvLCBhbmQgPEk+cGFyYW1ldGVyPC9JPgoraXMgbm90IDxCPkA8L0I+IGFuZCBub3QgYW4gaW5kZXhlZCBvciBhc3NvY2lhdGl2ZSBhcnJheSwgaXQgaXMgaW50ZXJwcmV0ZWQKK2FzIGFuIG9mZnNldCBmcm9tIHRoZSBlbmQgb2YgdGhlIHZhbHVlIG9mIDxJPnBhcmFtZXRlcjwvST4gcmF0aGVyIHRoYW4KK2EgbnVtYmVyIG9mIGNoYXJhY3RlcnMsIGFuZCB0aGUgZXhwYW5zaW9uIGlzIHRoZSBjaGFyYWN0ZXJzIGJldHdlZW4gdGhlCit0d28gb2Zmc2V0cy4KIElmIDxJPnBhcmFtZXRlcjwvST4gaXMgPEI+QDwvQj4sIHRoZSByZXN1bHQgaXMgPEk+bGVuZ3RoPC9JPiBwb3NpdGlvbmFsCiBwYXJhbWV0ZXJzIGJlZ2lubmluZyBhdCA8ST5vZmZzZXQ8L0k+LgogSWYgPEk+cGFyYW1ldGVyPC9JPiBpcyBhbiBpbmRleGVkIGFycmF5IG5hbWUgc3Vic2NyaXB0ZWQgYnkgQCBvciAqLApAQCAtMzQzOSw3ICszNTM3LDcgQEAKIAogPERUPiR7PEI+ITwvQj48ST5wcmVmaXg8L0k+PEI+QDwvQj59PEREPgogCi08Qj5OYW1lcyBtYXRjaGluZyBwcmVmaXguPC9CPgorPEI+TmFtZXMgbWF0Y2hpbmcgcHJlZml4PC9CPi4KIEV4cGFuZHMgdG8gdGhlIG5hbWVzIG9mIHZhcmlhYmxlcyB3aG9zZSBuYW1lcyBiZWdpbiB3aXRoIDxJPnByZWZpeDwvST4sCiBzZXBhcmF0ZWQgYnkgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUKIDxGT05UIFNJWkU9LTE+PEI+SUZTPC9CPgpAQCAtMzQ1Miw3ICszNTUwLDcgQEAKIAogPERUPiR7PEI+ITwvQj48ST5uYW1lPC9JPls8ST4qPC9JPl19PEREPgogCi08Qj5MaXN0IG9mIGFycmF5IGtleXMuPC9CPgorPEI+TGlzdCBvZiBhcnJheSBrZXlzPC9CPi4KIElmIDxJPm5hbWU8L0k+IGlzIGFuIGFycmF5IHZhcmlhYmxlLCBleHBhbmRzIHRvIHRoZSBsaXN0IG9mIGFycmF5IGluZGljZXMKIChrZXlzKSBhc3NpZ25lZCBpbiA8ST5uYW1lPC9JPi4KIElmIDxJPm5hbWU8L0k+IGlzIG5vdCBhbiBhcnJheSwgZXhwYW5kcyB0byAwIGlmIDxJPm5hbWU8L0k+IGlzIHNldCBhbmQgbnVsbApAQCAtMzQ2MCw3ICszNTU4LDcgQEAKIFdoZW4gPEk+QDwvST4gaXMgdXNlZCBhbmQgdGhlIGV4cGFuc2lvbiBhcHBlYXJzIHdpdGhpbiBkb3VibGUgcXVvdGVzLCBlYWNoCiBrZXkgZXhwYW5kcyB0byBhIHNlcGFyYXRlIHdvcmQuCiA8RFQ+JHs8Qj4jPC9CPjxJPnBhcmFtZXRlcjwvST59PEREPgotPEI+UGFyYW1ldGVyIGxlbmd0aC48L0I+Cis8Qj5QYXJhbWV0ZXIgbGVuZ3RoPC9CPi4KIFRoZSBsZW5ndGggaW4gY2hhcmFjdGVycyBvZiB0aGUgdmFsdWUgb2YgPEk+cGFyYW1ldGVyPC9JPiBpcyBzdWJzdGl0dXRlZC4KIElmCiA8ST5wYXJhbWV0ZXI8L0k+CkBAIC0zNDg2LDcgKzM1ODQsNyBAQAogCiA8RFQ+JHs8ST5wYXJhbWV0ZXI8L0k+PEI+IyM8L0I+PEk+d29yZDwvST59PEREPgogCi08Qj5SZW1vdmUgbWF0Y2hpbmcgcHJlZml4IHBhdHRlcm4uPC9CPgorPEI+UmVtb3ZlIG1hdGNoaW5nIHByZWZpeCBwYXR0ZXJuPC9CPi4KIFRoZSAKIDxJPndvcmQ8L0k+CiAKQEAgLTM1MjYsNyArMzYyNCw3IEBACiAKIDxEVD4kezxJPnBhcmFtZXRlcjwvST48Qj4lJTwvQj48ST53b3JkPC9JPn08REQ+CiAKLTxCPlJlbW92ZSBtYXRjaGluZyBzdWZmaXggcGF0dGVybi48L0I+Cis8Qj5SZW1vdmUgbWF0Y2hpbmcgc3VmZml4IHBhdHRlcm48L0I+LgogVGhlIDxJPndvcmQ8L0k+IGlzIGV4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4KIHBhdGhuYW1lIGV4cGFuc2lvbi4KIElmIHRoZSBwYXR0ZXJuIG1hdGNoZXMgYSB0cmFpbGluZyBwb3J0aW9uIG9mIHRoZSBleHBhbmRlZCB2YWx1ZSBvZgpAQCAtMzU2MCw3ICszNjU4LDcgQEAKIHRoZSBwYXR0ZXJuIHJlbW92YWwgb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaCBtZW1iZXIgb2YgdGhlCiBhcnJheSBpbiB0dXJuLCBhbmQgdGhlIGV4cGFuc2lvbiBpcyB0aGUgcmVzdWx0YW50IGxpc3QuCiA8RFQ+JHs8ST5wYXJhbWV0ZXI8L0k+PEI+LzwvQj48ST5wYXR0ZXJuPC9JPjxCPi88L0I+PEk+c3RyaW5nPC9JPn08REQ+Ci08Qj5QYXR0ZXJuIHN1YnN0aXR1dGlvbi48L0I+Cis8Qj5QYXR0ZXJuIHN1YnN0aXR1dGlvbjwvQj4uCiBUaGUgPEk+cGF0dGVybjwvST4gaXMgZXhwYW5kZWQgdG8gcHJvZHVjZSBhIHBhdHRlcm4ganVzdCBhcyBpbgogcGF0aG5hbWUgZXhwYW5zaW9uLgogPEk+UGFyYW1ldGVyPC9JPiBpcyBleHBhbmRlZCBhbmQgdGhlIGxvbmdlc3QgbWF0Y2ggb2YgPEk+cGF0dGVybjwvST4KQEAgLTM2MDEsNyArMzY5OSw3IEBACiA8RFQ+JHs8ST5wYXJhbWV0ZXI8L0k+PEI+LDwvQj48ST5wYXR0ZXJuPC9JPn08REQ+CiA8RFQ+JHs8ST5wYXJhbWV0ZXI8L0k+PEI+LCw8L0I+PEk+cGF0dGVybjwvST59PEREPgogCi08Qj5DYXNlIG1vZGlmaWNhdGlvbi48L0I+Cis8Qj5DYXNlIG1vZGlmaWNhdGlvbjwvQj4uCiBUaGlzIGV4cGFuc2lvbiBtb2RpZmllcyB0aGUgY2FzZSBvZiBhbHBoYWJldGljIGNoYXJhY3RlcnMgaW4gPEk+cGFyYW1ldGVyPC9JPi4KIFRoZSA8ST5wYXR0ZXJuPC9JPiBpcyBleHBhbmRlZCB0byBwcm9kdWNlIGEgcGF0dGVybiBqdXN0IGFzIGluCiBwYXRobmFtZSBleHBhbnNpb24uCkBAIC0zNjEwLDcgKzM3MDgsNyBAQAogdG8gbG93ZXJjYXNlLgogVGhlIDxCPl5ePC9CPiBhbmQgPEI+LCw8L0I+IGV4cGFuc2lvbnMgY29udmVydCBlYWNoIG1hdGNoZWQgY2hhcmFjdGVyIGluIHRoZQogZXhwYW5kZWQgdmFsdWU7IHRoZSA8Qj5ePC9CPiBhbmQgPEI+LDwvQj4gZXhwYW5zaW9ucyBtYXRjaCBhbmQgY29udmVydCBvbmx5Ci10aGUgZmlyc3QgY2hhcmFjdGVyIGluIHRoZSBleHBhbmRlZCB2YWx1ZS4uCit0aGUgZmlyc3QgY2hhcmFjdGVyIGluIHRoZSBleHBhbmRlZCB2YWx1ZS4KIElmIDxJPnBhdHRlcm48L0k+IGlzIG9taXR0ZWQsIGl0IGlzIHRyZWF0ZWQgbGlrZSBhIDxCPj88L0I+LCB3aGljaCBtYXRjaGVzCiBldmVyeSBjaGFyYWN0ZXIuCiBJZgpAQCAtNDAwMyw2ICs0MTAxLDcgQEAKIDxQPgogCiAKKzxETCBDT01QQUNUPjxEVD48REQ+CiA8REwgQ09NUEFDVD4KIDxEVD48Qj4qPC9CPgogCkBAIC00MTA5LDYgKzQyMDgsOCBAQAogPEk+c3ltYm9sPC9JPi4KIDwvREw+CiAKKzwvREw+CisKIAogPFA+CiAKQEAgLTQ3ODEsNyArNDg4Miw3IEBACiBUaGUgc3BlY2lhbCBwYXJhbWV0ZXIKIDxCPiM8L0I+CiAKLWlzIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgY2hhbmdlLiAgU3BlY2lhbCBwYXJhbWV0ZXIgMAoraXMgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBjaGFuZ2UuICBTcGVjaWFsIHBhcmFtZXRlciA8Qj4wPC9CPgogaXMgdW5jaGFuZ2VkLgogVGhlIGZpcnN0IGVsZW1lbnQgb2YgdGhlCiA8Rk9OVCBTSVpFPS0xPjxCPkZVTkNOQU1FPC9CPgpAQCAtNDgzMSw2ICs0OTMyLDEyIEBACiBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGZ1bmN0aW9uIGFuZCBpdHMgY2FsbGVyLgogPFA+CiAKK1RoZSA8Qj5GVU5DTkVTVDwvQj4gdmFyaWFibGUsIGlmIHNldCB0byBhIG51bWVyaWMgdmFsdWUgZ3JlYXRlcgordGhhbiAwLCBkZWZpbmVzIGEgbWF4aW11bSBmdW5jdGlvbiBuZXN0aW5nIGxldmVsLiAgRnVuY3Rpb24KK2ludm9jYXRpb25zIHRoYXQgZXhjZWVkIHRoZSBsaW1pdCBjYXVzZSB0aGUgZW50aXJlIGNvbW1hbmQgdG8KK2Fib3J0LgorPFA+CisKIElmIHRoZSBidWlsdGluIGNvbW1hbmQKIDxCPnJldHVybjwvQj4KIApAQCAtNDg4Nyw4ICs0OTk0LDEwIEBACiBDYXJlIHNob3VsZCBiZSB0YWtlbiBpbiBjYXNlcyB3aGVyZSB0aGlzIG1heSBjYXVzZSBhIHByb2JsZW0uCiA8UD4KIAotRnVuY3Rpb25zIG1heSBiZSByZWN1cnNpdmUuICBObyBsaW1pdCBpcyBpbXBvc2VkIG9uIHRoZSBudW1iZXIKLW9mIHJlY3Vyc2l2ZSBjYWxscy4KK0Z1bmN0aW9ucyBtYXkgYmUgcmVjdXJzaXZlLgorVGhlIDxCPkZVTkNORVNUPC9CPiB2YXJpYWJsZSBtYXkgYmUgdXNlZCB0byBsaW1pdCB0aGUgZGVwdGggb2YgdGhlCitmdW5jdGlvbiBjYWxsIHN0YWNrIGFuZCByZXN0cmljdCB0aGUgbnVtYmVyIG9mIGZ1bmN0aW9uIGludm9jYXRpb25zLgorQnkgZGVmYXVsdCwgbm8gbGltaXQgaXMgaW1wb3NlZCBvbiB0aGUgbnVtYmVyIG9mIHJlY3Vyc2l2ZSBjYWxscy4KIDxBIE5BTUU9ImxiQlYiPiZuYnNwOzwvQT4KIDxIMz5BUklUSE1FVElDIEVWQUxVQVRJT048L0gzPgogCkBAIC00OTkyLDEzICs1MTAxLDEzIEBACiB3aGVuIGl0IGlzIHJlZmVyZW5jZWQsIG9yIHdoZW4gYSB2YXJpYWJsZSB3aGljaCBoYXMgYmVlbiBnaXZlbiB0aGUKIDxJPmludGVnZXI8L0k+IGF0dHJpYnV0ZSB1c2luZyA8Qj5kZWNsYXJlIC1pPC9CPiBpcyBhc3NpZ25lZCBhIHZhbHVlLgogQSBudWxsIHZhbHVlIGV2YWx1YXRlcyB0byAwLgotQSBzaGVsbCB2YXJpYWJsZSBuZWVkIG5vdCBoYXZlIGl0cyBpbnRlZ2VyIGF0dHJpYnV0ZQorQSBzaGVsbCB2YXJpYWJsZSBuZWVkIG5vdCBoYXZlIGl0cyA8ST5pbnRlZ2VyPC9JPiBhdHRyaWJ1dGUKIHR1cm5lZCBvbiB0byBiZSB1c2VkIGluIGFuIGV4cHJlc3Npb24uCiA8UD4KIAogQ29uc3RhbnRzIHdpdGggYSBsZWFkaW5nIDAgYXJlIGludGVycHJldGVkIGFzIG9jdGFsIG51bWJlcnMuCiBBIGxlYWRpbmcgMHggb3IgMFggZGVub3RlcyBoZXhhZGVjaW1hbC4KLU90aGVyd2lzZSwgbnVtYmVycyB0YWtlIHRoZSBmb3JtIFs8ST5iYXNlIzwvST5dbiwgd2hlcmUgPEk+YmFzZTwvST4KK090aGVyd2lzZSwgbnVtYmVycyB0YWtlIHRoZSBmb3JtIFs8ST5iYXNlIzwvST5dbiwgd2hlcmUgdGhlIG9wdGlvbmFsIDxJPmJhc2U8L0k+CiBpcyBhIGRlY2ltYWwgbnVtYmVyIGJldHdlZW4gMiBhbmQgNjQgcmVwcmVzZW50aW5nIHRoZSBhcml0aG1ldGljCiBiYXNlLCBhbmQgPEk+bjwvST4gaXMgYSBudW1iZXIgaW4gdGhhdCBiYXNlLgogSWYgPEk+YmFzZSM8L0k+IGlzIG9taXR0ZWQsIHRoZW4gYmFzZSAxMCBpcyB1c2VkLgpAQCAtNTAzMSw4ICs1MTQwLDkgQEAKIDxQPgogCiAKLVdoZW4gdXNlZCB3aXRoIDxCPltbPC9CPiwgVGhlIDxCPiZsdDs8L0I+IGFuZCA8Qj4mZ3Q7PC9CPiBvcGVyYXRvcnMgc29ydAorV2hlbiB1c2VkIHdpdGggPEI+W1s8L0I+LCB0aGUgPEI+Jmx0OzwvQj4gYW5kIDxCPiZndDs8L0I+IG9wZXJhdG9ycyBzb3J0CiBsZXhpY29ncmFwaGljYWxseSB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuCitUaGUgPEI+dGVzdDwvQj4gY29tbWFuZCBzb3J0cyB1c2luZyBBU0NJSSBvcmRlcmluZy4KIDxQPgogCiA8REwgQ09NUEFDVD4KQEAgLTUxMDMsMTAgKzUyMTMsNiBAQAogCiA8REQ+CiBUcnVlIGlmIDxJPmZpbGU8L0k+IGV4aXN0cyBhbmQgaXMgZXhlY3V0YWJsZS4KLTxEVD48Qj4tTyA8L0I+PEk+ZmlsZTwvST4KLQotPEREPgotVHJ1ZSBpZiA8ST5maWxlPC9JPiBleGlzdHMgYW5kIGlzIG93bmVkIGJ5IHRoZSBlZmZlY3RpdmUgdXNlciBpZC4KIDxEVD48Qj4tRyA8L0I+PEk+ZmlsZTwvST4KIAogPEREPgpAQCAtNTExNSwyNyArNTIyMSwzMSBAQAogCiA8REQ+CiBUcnVlIGlmIDxJPmZpbGU8L0k+IGV4aXN0cyBhbmQgaXMgYSBzeW1ib2xpYyBsaW5rLgotPERUPjxCPi1TIDwvQj48ST5maWxlPC9JPgotCi08REQ+Ci1UcnVlIGlmIDxJPmZpbGU8L0k+IGV4aXN0cyBhbmQgaXMgYSBzb2NrZXQuCiA8RFQ+PEI+LU4gPC9CPjxJPmZpbGU8L0k+CiAKIDxERD4KIFRydWUgaWYgPEk+ZmlsZTwvST4gZXhpc3RzIGFuZCBoYXMgYmVlbiBtb2RpZmllZCBzaW5jZSBpdCB3YXMgbGFzdCByZWFkLgorPERUPjxCPi1PIDwvQj48ST5maWxlPC9JPgorCis8REQ+CitUcnVlIGlmIDxJPmZpbGU8L0k+IGV4aXN0cyBhbmQgaXMgb3duZWQgYnkgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkLgorPERUPjxCPi1TIDwvQj48ST5maWxlPC9JPgorCis8REQ+CitUcnVlIGlmIDxJPmZpbGU8L0k+IGV4aXN0cyBhbmQgaXMgYSBzb2NrZXQuCis8RFQ+PEk+ZmlsZTE8L0k+IDxCPi1lZjwvQj4gPEk+ZmlsZTI8L0k+PEREPgorVHJ1ZSBpZiA8ST5maWxlMTwvST4gYW5kIDxJPmZpbGUyPC9JPiByZWZlciB0byB0aGUgc2FtZSBkZXZpY2UgYW5kCitpbm9kZSBudW1iZXJzLgogPERUPjxJPmZpbGUxPC9JPiAtPEI+bnQ8L0I+IDxJPmZpbGUyPC9JPjxERD4KIFRydWUgaWYgPEk+ZmlsZTE8L0k+IGlzIG5ld2VyIChhY2NvcmRpbmcgdG8gbW9kaWZpY2F0aW9uIGRhdGUpIHRoYW4gPEk+ZmlsZTI8L0k+LAogb3IgaWYgPEk+ZmlsZTE8L0k+IGV4aXN0cyBhbmQgZmlsZTIgZG9lcyBub3QuCiA8RFQ+PEk+ZmlsZTE8L0k+IC08Qj5vdDwvQj4gPEk+ZmlsZTI8L0k+PEREPgogVHJ1ZSBpZiA8ST5maWxlMTwvST4gaXMgb2xkZXIgdGhhbiA8ST5maWxlMjwvST4sIG9yIGlmIDxJPmZpbGUyPC9JPiBleGlzdHMKIGFuZCA8ST5maWxlMTwvST4gZG9lcyBub3QuCi08RFQ+PEk+ZmlsZTE8L0k+IDxCPi1lZjwvQj4gPEk+ZmlsZTI8L0k+PEREPgotVHJ1ZSBpZiA8ST5maWxlMTwvST4gYW5kIDxJPmZpbGUyPC9JPiByZWZlciB0byB0aGUgc2FtZSBkZXZpY2UgYW5kCi1pbm9kZSBudW1iZXJzLgogPERUPjxCPi1vIDwvQj48ST5vcHRuYW1lPC9JPgogCiA8REQ+Ci1UcnVlIGlmIHNoZWxsIG9wdGlvbgorVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uCiA8ST5vcHRuYW1lPC9JPgogCiBpcyBlbmFibGVkLgpAQCAtNTE0Niw2ICs1MjU2LDEzIEBACiA8Qj5zZXQ8L0I+CiAKIGJ1aWx0aW4gYmVsb3cuCis8RFQ+PEI+LXYgPC9CPjxJPnZhcm5hbWU8L0k+CisKKzxERD4KK1RydWUgaWYgdGhlIHNoZWxsIHZhcmlhYmxlCis8ST52YXJuYW1lPC9JPgorCitpcyBzZXQgKGhhcyBiZWVuIGFzc2lnbmVkIGEgdmFsdWUpLgogPERUPjxCPi16IDwvQj48ST5zdHJpbmc8L0k+CiAKIDxERD4KQEAgLTU0MTEsOCArNTUyOCw4IEBACiA8UD4KIAogU3Vic2hlbGxzIHNwYXduZWQgdG8gZXhlY3V0ZSBjb21tYW5kIHN1YnN0aXR1dGlvbnMgaW5oZXJpdCB0aGUgdmFsdWUgb2YKLXRoZSA8Qj4tZTwvQj4gb3B0aW9uIGZyb20gdGhlIHBhcmVudCBzaGVsbC4gIFdoZW4gbm90IGluIHBvc2l4IG1vZGUsCi1CYXNoIGNsZWFycyB0aGUgPEI+LWU8L0I+IG9wdGlvbiBpbiBzdWNoIHN1YnNoZWxscy4KK3RoZSA8Qj4tZTwvQj4gb3B0aW9uIGZyb20gdGhlIHBhcmVudCBzaGVsbC4gIFdoZW4gbm90IGluIDxJPnBvc2l4PC9JPiBtb2RlLAorPEI+YmFzaDwvQj4gY2xlYXJzIHRoZSA8Qj4tZTwvQj4gb3B0aW9uIGluIHN1Y2ggc3Vic2hlbGxzLgogPFA+CiAKIElmIGEgY29tbWFuZCBpcyBmb2xsb3dlZCBieSBhIDxCPiZhbXA7PC9CPiBhbmQgam9iIGNvbnRyb2wgaXMgbm90IGFjdGl2ZSwgdGhlCkBAIC02MDc3LDcgKzYxOTQsNyBAQAogb3B0aW9uIGlzIGdpdmVuIGF0IHNoZWxsIGludm9jYXRpb24uCiBMaW5lIGVkaXRpbmcgaXMgYWxzbyB1c2VkIHdoZW4gdXNpbmcgdGhlIDxCPi1lPC9CPiBvcHRpb24gdG8gdGhlCiA8Qj5yZWFkPC9CPiBidWlsdGluLgotQnkgZGVmYXVsdCwgdGhlIGxpbmUgZWRpdGluZyBjb21tYW5kcyBhcmUgc2ltaWxhciB0byB0aG9zZSBvZiBlbWFjcy4KK0J5IGRlZmF1bHQsIHRoZSBsaW5lIGVkaXRpbmcgY29tbWFuZHMgYXJlIHNpbWlsYXIgdG8gdGhvc2Ugb2YgRW1hY3MuCiBBIHZpLXN0eWxlIGxpbmUgZWRpdGluZyBpbnRlcmZhY2UgaXMgYWxzbyBhdmFpbGFibGUuCiBMaW5lIGVkaXRpbmcgY2FuIGJlIGVuYWJsZWQgYXQgYW55IHRpbWUgdXNpbmcgdGhlCiA8Qj4tbyBlbWFjczwvQj4KQEAgLTYxMDgsNyArNjIyNSw3IEBACiAKIDxQPgogCi1JbiB0aGlzIHNlY3Rpb24sIHRoZSBlbWFjcy1zdHlsZSBub3RhdGlvbiBpcyB1c2VkIHRvIGRlbm90ZQorSW4gdGhpcyBzZWN0aW9uLCB0aGUgRW1hY3Mtc3R5bGUgbm90YXRpb24gaXMgdXNlZCB0byBkZW5vdGUKIGtleXN0cm9rZXMuICBDb250cm9sIGtleXMgYXJlIGRlbm90ZWQgYnkgQy08ST5rZXk8L0k+LCBlLmcuLCBDLW4KIG1lYW5zIENvbnRyb2wtTi4gIFNpbWlsYXJseSwgCiA8ST5tZXRhPC9JPgpAQCAtNjUzNiw3ICs2NjUzLDcgQEAKIAogPEREPgogQ29udHJvbHMgd2hldGhlciByZWFkbGluZSBiZWdpbnMgd2l0aCBhIHNldCBvZiBrZXkgYmluZGluZ3Mgc2ltaWxhcgotdG8gPEk+ZW1hY3M8L0k+IG9yIDxJPnZpPC9JPi4KK3RvIDxJPkVtYWNzPC9JPiBvciA8ST52aTwvST4uCiA8Qj5lZGl0aW5nLW1vZGU8L0I+CiAKIGNhbiBiZSBzZXQgdG8gZWl0aGVyCkBAIC02NTY2LDEyICs2NjgzLDEyIEBACiA8RFQ+PEI+ZXhwYW5kLXRpbGRlIChPZmYpPC9CPgogCiA8REQ+Ci1JZiBzZXQgdG8gPEI+b248L0I+LCB0aWxkZSBleHBhbnNpb24gaXMgcGVyZm9ybWVkIHdoZW4gcmVhZGxpbmUKK0lmIHNldCB0byA8Qj5PbjwvQj4sIHRpbGRlIGV4cGFuc2lvbiBpcyBwZXJmb3JtZWQgd2hlbiByZWFkbGluZQogYXR0ZW1wdHMgd29yZCBjb21wbGV0aW9uLgogPERUPjxCPmhpc3RvcnktcHJlc2VydmUtcG9pbnQgKE9mZik8L0I+CiAKIDxERD4KLUlmIHNldCB0byA8Qj5vbjwvQj4sIHRoZSBoaXN0b3J5IGNvZGUgYXR0ZW1wdHMgdG8gcGxhY2UgcG9pbnQgYXQgdGhlCitJZiBzZXQgdG8gPEI+T248L0I+LCB0aGUgaGlzdG9yeSBjb2RlIGF0dGVtcHRzIHRvIHBsYWNlIHBvaW50IGF0IHRoZQogc2FtZSBsb2NhdGlvbiBvbiBlYWNoIGhpc3RvcnkgbGluZSByZXRyaWV2ZWQgd2l0aCA8Qj5wcmV2aW91cy1oaXN0b3J5PC9CPgogb3IgPEI+bmV4dC1oaXN0b3J5PC9CPi4KIDxEVD48Qj5oaXN0b3J5LXNpemUgKDApPC9CPgpAQCAtNjYzOCw4ICs2NzU1LDE1IEBACiA8REQ+CiBUaGlzIHZhcmlhYmxlLCB3aGVuIHNldCB0byA8Qj5PbjwvQj4sIGNhdXNlcyByZWFkbGluZSB0byBtYXRjaCBmaWxlcyB3aG9zZQogbmFtZXMgYmVnaW4gd2l0aCBhIGAuJyAoaGlkZGVuIGZpbGVzKSB3aGVuIHBlcmZvcm1pbmcgZmlsZW5hbWUgCi1jb21wbGV0aW9uLCB1bmxlc3MgdGhlIGxlYWRpbmcgYC4nIGlzCitjb21wbGV0aW9uLgorSWYgc2V0IHRvIDxCPk9mZjwvQj4sIHRoZSBsZWFkaW5nIGAuJyBtdXN0IGJlCiBzdXBwbGllZCBieSB0aGUgdXNlciBpbiB0aGUgZmlsZW5hbWUgdG8gYmUgY29tcGxldGVkLgorPERUPjxCPm1lbnUtY29tcGxldGUtZGlzcGxheS1wcmVmaXggKE9mZik8L0I+CisKKzxERD4KK0lmIHNldCB0byA8Qj5PbjwvQj4sIG1lbnUgY29tcGxldGlvbiBkaXNwbGF5cyB0aGUgY29tbW9uIHByZWZpeCBvZiB0aGUKK2xpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMgKHdoaWNoIG1heSBiZSBlbXB0eSkgYmVmb3JlIGN5Y2xpbmcgdGhyb3VnaAordGhlIGxpc3QuCiA8RFQ+PEI+b3V0cHV0LW1ldGEgKE9mZik8L0I+CiAKIDxERD4KQEAgLTY2NTksNyArNjc4Myw3IEBACiA8RFQ+PEI+cmV2ZXJ0LWFsbC1hdC1uZXdsaW5lIChPZmYpPC9CPgogCiA8REQ+Ci1JZiBzZXQgdG8gPEI+b248L0I+LCByZWFkbGluZSB3aWxsIHVuZG8gYWxsIGNoYW5nZXMgdG8gaGlzdG9yeSBsaW5lcyAKK0lmIHNldCB0byA8Qj5PbjwvQj4sIHJlYWRsaW5lIHdpbGwgdW5kbyBhbGwgY2hhbmdlcyB0byBoaXN0b3J5IGxpbmVzIAogYmVmb3JlIHJldHVybmluZyB3aGVuIDxCPmFjY2VwdC1saW5lPC9CPiBpcyBleGVjdXRlZC4gIEJ5IGRlZmF1bHQsCiBoaXN0b3J5IGxpbmVzIG1heSBiZSBtb2RpZmllZCBhbmQgcmV0YWluIGluZGl2aWR1YWwgdW5kbyBsaXN0cyBhY3Jvc3MKIGNhbGxzIHRvIDxCPnJlYWRsaW5lPC9CPi4KQEAgLTY2NjgsNyArNjc5Miw3IEBACiA8REQ+CiBUaGlzIGFsdGVycyB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgY29tcGxldGlvbiBmdW5jdGlvbnMuICBJZgogc2V0IHRvCi08Qj5vbjwvQj4sCis8Qj5PbjwvQj4sCiAKIHdvcmRzIHdoaWNoIGhhdmUgbW9yZSB0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uIGNhdXNlIHRoZQogbWF0Y2hlcyB0byBiZSBsaXN0ZWQgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiByaW5naW5nIHRoZSBiZWxsLgpAQCAtNjY3OCw3ICs2ODAyLDcgQEAKIFRoaXMgYWx0ZXJzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBjb21wbGV0aW9uIGZ1bmN0aW9ucyBpbgogYSBmYXNoaW9uIHNpbWlsYXIgdG8gPEI+c2hvdy1hbGwtaWYtYW1iaWd1b3VzPC9CPi4KIElmIHNldCB0bwotPEI+b248L0I+LAorPEI+T248L0I+LAogCiB3b3JkcyB3aGljaCBoYXZlIG1vcmUgdGhhbiBvbmUgcG9zc2libGUgY29tcGxldGlvbiB3aXRob3V0IGFueQogcG9zc2libGUgcGFydGlhbCBjb21wbGV0aW9uICh0aGUgcG9zc2libGUgY29tcGxldGlvbnMgZG9uJ3Qgc2hhcmUKQEAgLTY3NTIsNyArNjg3Niw3IEBACiBmaWxlIGNhbiB0ZXN0IGZvciBhIHBhcnRpY3VsYXIgdmFsdWUuCiBUaGlzIGNvdWxkIGJlIHVzZWQgdG8gYmluZCBrZXkgc2VxdWVuY2VzIHRvIGZ1bmN0aW9ucyB1c2VmdWwgZm9yCiBhIHNwZWNpZmljIHByb2dyYW0uICBGb3IgaW5zdGFuY2UsIHRoZSBmb2xsb3dpbmcgY29tbWFuZCBhZGRzIGEKLWtleSBzZXF1ZW5jZSB0aGF0IHF1b3RlcyB0aGUgY3VycmVudCBvciBwcmV2aW91cyB3b3JkIGluIEJhc2g6CitrZXkgc2VxdWVuY2UgdGhhdCBxdW90ZXMgdGhlIGN1cnJlbnQgb3IgcHJldmlvdXMgd29yZCBpbiA8Qj5iYXNoPC9CPjoKIDxQPgogPERMIENPTVBBQ1Q+PERUPjxERD4KIDxQUkU+CkBAIC02OTkwLDEwICs3MTE0LDE0IEBACiAKIDxERD4KIEluc2VydCB0aGUgbGFzdCBhcmd1bWVudCB0byB0aGUgcHJldmlvdXMgY29tbWFuZCAodGhlIGxhc3Qgd29yZCBvZgotdGhlIHByZXZpb3VzIGhpc3RvcnkgZW50cnkpLiAgV2l0aCBhbiBhcmd1bWVudCwKLWJlaGF2ZSBleGFjdGx5IGxpa2UgPEI+eWFuay1udGgtYXJnPC9CPi4KK3RoZSBwcmV2aW91cyBoaXN0b3J5IGVudHJ5KS4KK1dpdGggYSBudW1lcmljIGFyZ3VtZW50LCBiZWhhdmUgZXhhY3RseSBsaWtlIDxCPnlhbmstbnRoLWFyZzwvQj4uCiBTdWNjZXNzaXZlIGNhbGxzIHRvIDxCPnlhbmstbGFzdC1hcmc8L0I+IG1vdmUgYmFjayB0aHJvdWdoIHRoZSBoaXN0b3J5Ci1saXN0LCBpbnNlcnRpbmcgdGhlIGxhc3QgYXJndW1lbnQgb2YgZWFjaCBsaW5lIGluIHR1cm4uCitsaXN0LCBpbnNlcnRpbmcgdGhlIGxhc3Qgd29yZCAob3IgdGhlIHdvcmQgc3BlY2lmaWVkIGJ5IHRoZSBhcmd1bWVudCB0bwordGhlIGZpcnN0IGNhbGwpIG9mIGVhY2ggbGluZSBpbiB0dXJuLgorQW55IG51bWVyaWMgYXJndW1lbnQgc3VwcGxpZWQgdG8gdGhlc2Ugc3VjY2Vzc2l2ZSBjYWxscyBkZXRlcm1pbmVzCit0aGUgZGlyZWN0aW9uIHRvIG1vdmUgdGhyb3VnaCB0aGUgaGlzdG9yeS4gIEEgbmVnYXRpdmUgYXJndW1lbnQgc3dpdGNoZXMKK3RoZSBkaXJlY3Rpb24gdGhyb3VnaCB0aGUgaGlzdG9yeSAoYmFjayBvciBmb3J3YXJkKS4KIFRoZSBoaXN0b3J5IGV4cGFuc2lvbiBmYWNpbGl0aWVzIGFyZSB1c2VkIHRvIGV4dHJhY3QgdGhlIGxhc3QgYXJndW1lbnQsCiBhcyBpZiB0aGUgJnF1b3Q7ISQmcXVvdDsgaGlzdG9yeSBleHBhbnNpb24gaGFkIGJlZW4gc3BlY2lmaWVkLgogPERUPjxCPnNoZWxsLWV4cGFuZC1saW5lIChNLUMtZSk8L0I+CkBAIC03MzE1LDcgKzc0NDMsNyBAQAogdGhyb3VnaCB0aGUgbGlzdC4KIFRoaXMgY29tbWFuZCBpcyBpbnRlbmRlZCB0byBiZSBib3VuZCB0byA8Qj5UQUI8L0I+LCBidXQgaXMgdW5ib3VuZAogYnkgZGVmYXVsdC4KLTxEVD48Qj5tZW51LWNvbXBsZXRlLXJkPC9CPgorPERUPjxCPm1lbnUtY29tcGxldGUtYmFja3dhcmQ8L0I+CiAKIDxERD4KIElkZW50aWNhbCB0byA8Qj5tZW51LWNvbXBsZXRlPC9CPiwgYnV0IG1vdmVzIGJhY2t3YXJkIHRocm91Z2ggdGhlIGxpc3QKQEAgLTc0OTcsNyArNzYyNSw3IEBACiA8REQ+CiBBIGNoYXJhY3RlciBpcyByZWFkIGFuZCBwb2ludCBpcyBtb3ZlZCB0byB0aGUgcHJldmlvdXMgb2NjdXJyZW5jZSBvZiB0aGF0CiBjaGFyYWN0ZXIuICBBIG5lZ2F0aXZlIGNvdW50IHNlYXJjaGVzIGZvciBzdWJzZXF1ZW50IG9jY3VycmVuY2VzLgotPERUPjxCPnNraXAtY3NpLXNlcXVlbmNlICgpPC9CPgorPERUPjxCPnNraXAtY3NpLXNlcXVlbmNlPC9CPgogCiA8REQ+CiBSZWFkIGVub3VnaCBjaGFyYWN0ZXJzIHRvIGNvbnN1bWUgYSBtdWx0aS1rZXkgc2VxdWVuY2Ugc3VjaCBhcyB0aG9zZQpAQCAtNzYwMCw3ICs3NzI4LDcgQEAKIHBhdGhuYW1lIGlzIHNlYXJjaGVkIGZvciBmaXJzdC4KIElmIG5vIGNvbXBzcGVjIGlzIGZvdW5kIGZvciB0aGUgZnVsbCBwYXRobmFtZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvCiBmaW5kIGEgY29tcHNwZWMgZm9yIHRoZSBwb3J0aW9uIGZvbGxvd2luZyB0aGUgZmluYWwgc2xhc2guCi1JZiB0aG9zZSBzZWFyY2hlcyB0byBub3QgcmVzdWx0IGluIGEgY29tcHNwZWMsIGFueSBjb21wc3BlYyBkZWZpbmVkIHdpdGgKK0lmIHRob3NlIHNlYXJjaGVzIGRvIG5vdCByZXN1bHQgaW4gYSBjb21wc3BlYywgYW55IGNvbXBzcGVjIGRlZmluZWQgd2l0aAogdGhlIDxCPi1EPC9CPiBvcHRpb24gdG8gPEI+Y29tcGxldGU8L0I+IGlzIHVzZWQgYXMgdGhlIGRlZmF1bHQuCiA8UD4KIApAQCAtNzc3Miw3ICs3OTAwLDcgQEAKIHRoZSBjb21wc3BlYyBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbW1hbmQgb24gd2hpY2ggY29tcGxldGlvbiBpcyBiZWluZwogYXR0ZW1wdGVkIChzdXBwbGllZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgZXhlY3V0ZWQpLAogcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gcmVzdGFydHMgZnJvbSB0aGUgYmVnaW5uaW5nLCB3aXRoIGFuCi1hdHRlbXB0IHRvIGZpbmQgYSBjb21wc3BlYyBmb3IgdGhhdCBjb21tYW5kLiAgVGhpcyBhbGxvd3MgYSBzZXQgb2YKK2F0dGVtcHQgdG8gZmluZCBhIG5ldyBjb21wc3BlYyBmb3IgdGhhdCBjb21tYW5kLiAgVGhpcyBhbGxvd3MgYSBzZXQgb2YKIGNvbXBsZXRpb25zIHRvIGJlIGJ1aWx0IGR5bmFtaWNhbGx5IGFzIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCByYXRoZXIgdGhhbgogYmVpbmcgbG9hZGVkIGFsbCBhdCBvbmNlLgogPFA+CkBAIC04MDc5LDYgKzgyMDcsOCBAQAogCiBBbiBldmVudCBkZXNpZ25hdG9yIGlzIGEgcmVmZXJlbmNlIHRvIGEgY29tbWFuZCBsaW5lIGVudHJ5IGluIHRoZQogaGlzdG9yeSBsaXN0LgorVW5sZXNzIHRoZSByZWZlcmVuY2UgaXMgYWJzb2x1dGUsIGV2ZW50cyBhcmUgcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQKK3Bvc2l0aW9uIGluIHRoZSBoaXN0b3J5IGxpc3QuCiA8UD4KIAogCkBAIC04MTAxLDcgKzgyMzEsNyBAQAogPERUPjxCPiEtPC9CPjxJPm48L0k+CiAKIDxERD4KLVJlZmVyIHRvIHRoZSBjdXJyZW50IGNvbW1hbmQgbGluZSBtaW51cworUmVmZXIgdG8gdGhlIGN1cnJlbnQgY29tbWFuZCBtaW51cwogPEk+bjwvST4uCiAKIDxEVD48Qj4hITwvQj4KQEAgLTgxMTEsMTMgKzgyNDEsMTUgQEAKIDxEVD48Qj4hPC9CPjxJPnN0cmluZzwvST4KIAogPEREPgotUmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgc3RhcnRpbmcgd2l0aCAKK1JlZmVyIHRvIHRoZSBtb3N0IHJlY2VudCBjb21tYW5kIHByZWNlZGluZyB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUKK2hpc3RvcnkgbGlzdCBzdGFydGluZyB3aXRoCiA8ST5zdHJpbmc8L0k+LgogCiA8RFQ+PEI+IT88L0I+PEk+c3RyaW5nPC9JPjxCPls/XTwvQj4KIAogPEREPgotUmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgY29udGFpbmluZworUmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgcHJlY2VkaW5nIHRoZSBjdXJyZW50IHBvc3RpdGlvbiBpbiB0aGUKK2hpc3RvcnkgbGlzdCBjb250YWluaW5nCiA8ST5zdHJpbmc8L0k+LgogCiBUaGUgdHJhaWxpbmcgPEI+PzwvQj4gbWF5IGJlIG9taXR0ZWQgaWYKQEAgLTgxMjcsNyArODI1OSw3IEBACiA8RFQ+PEI+PC9CPjxGT05UIFNJWkU9KzI+PEI+XjwvQj48L0ZPTlQ+PEI+PC9CPjxJPnN0cmluZzE8L0k+PEZPTlQgU0laRT0rMj5ePC9GT05UPjxJPnN0cmluZzI8L0k+PEZPTlQgU0laRT0rMj5ePC9GT05UPgogCiA8REQ+Ci1RdWljayBzdWJzdGl0dXRpb24uICBSZXBlYXQgdGhlIGxhc3QgY29tbWFuZCwgcmVwbGFjaW5nCitRdWljayBzdWJzdGl0dXRpb24uICBSZXBlYXQgdGhlIHByZXZpb3VzIGNvbW1hbmQsIHJlcGxhY2luZwogPEk+c3RyaW5nMTwvST4KIAogd2l0aApAQCAtODU5Niw3ICs4NzI4LDcgQEAKIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gY29tbWFuZC4KIDxEVD48Qj5jYWxsZXI8L0I+IFs8ST5leHByPC9JPl08REQ+CiBSZXR1cm5zIHRoZSBjb250ZXh0IG9mIGFueSBhY3RpdmUgc3Vicm91dGluZSBjYWxsIChhIHNoZWxsIGZ1bmN0aW9uIG9yCi1hIHNjcmlwdCBleGVjdXRlZCB3aXRoIHRoZSA8Qj4uPC9CPiBvciA8Qj5zb3VyY2U8L0I+IGJ1aWx0aW5zLgorYSBzY3JpcHQgZXhlY3V0ZWQgd2l0aCB0aGUgPEI+LjwvQj4gb3IgPEI+c291cmNlPC9CPiBidWlsdGlucykuCiBXaXRob3V0IDxJPmV4cHI8L0k+LCA8Qj5jYWxsZXI8L0I+IGRpc3BsYXlzIHRoZSBsaW5lIG51bWJlciBhbmQgc291cmNlCiBmaWxlbmFtZSBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuCiBJZiBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIGlzIHN1cHBsaWVkIGFzIDxJPmV4cHI8L0k+LCA8Qj5jYWxsZXI8L0I+IApAQCAtODYwNyw3ICs4NzM5LDcgQEAKIFRoZSByZXR1cm4gdmFsdWUgaXMgMCB1bmxlc3MgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBzdWJyb3V0aW5lCiBjYWxsIG9yIDxJPmV4cHI8L0k+IGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gYSB2YWxpZCBwb3NpdGlvbiBpbiB0aGUKIGNhbGwgc3RhY2suCi08RFQ+PEI+Y2Q8L0I+IFs8Qj4tTHwtUDwvQj5dIFs8ST5kaXI8L0k+XTxERD4KKzxEVD48Qj5jZDwvQj4gWzxCPi1MPC9CPnxbPEI+LVA8L0I+IFs8Qj4tZTwvQj5dXV0gWzxJPmRpcjwvST5dPEREPgogQ2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0byA8ST5kaXI8L0k+LiAgVGhlIHZhcmlhYmxlCiA8Rk9OVCBTSVpFPS0xPjxCPkhPTUU8L0I+CiAKQEAgLTg2NTIsNyArODc4NCwxNyBAQAogYnVpbHRpbiBjb21tYW5kKTsgdGhlCiA8Qj4tTDwvQj4KIAotb3B0aW9uIGZvcmNlcyBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZC4gIEFuIGFyZ3VtZW50IG9mCitvcHRpb24gZm9yY2VzIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkLgorSWYgdGhlCis8Qj4tZTwvQj4KKworb3B0aW9uIGlzIHN1cHBsaWVkIHdpdGgKKzxCPi1QPC9CPiwKKworYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGNhbm5vdCBiZSBzdWNjZXNzZnVsbHkgZGV0ZXJtaW5lZAorYWZ0ZXIgYSBzdWNjZXNzZnVsIGRpcmVjdG9yeSBjaGFuZ2UsIDxCPmNkPC9CPiB3aWxsIHJldHVybiBhbiB1bnN1Y2Nlc3NmdWwKK3N0YXR1cy4KK0FuIGFyZ3VtZW50IG9mCiA8Qj4tPC9CPgogCiBpcyBlcXVpdmFsZW50IHRvCkBAIC04OTMxLDE3ICs5MDczLDYgQEAKIE5hbWVzIG9mIGFsbCBzaGVsbCB2YXJpYWJsZXMuICBNYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgPEI+LXY8L0I+LgogPC9ETD48L0RMPgogCi08RFQ+PEI+LUc8L0I+IDxJPmdsb2JwYXQ8L0k+PEREPgotVGhlIHBhdGhuYW1lIGV4cGFuc2lvbiBwYXR0ZXJuIDxJPmdsb2JwYXQ8L0k+IGlzIGV4cGFuZGVkIHRvIGdlbmVyYXRlCi10aGUgcG9zc2libGUgY29tcGxldGlvbnMuCi08RFQ+PEI+LVc8L0I+IDxJPndvcmRsaXN0PC9JPjxERD4KLVRoZSA8ST53b3JkbGlzdDwvST4gaXMgc3BsaXQgdXNpbmcgdGhlIGNoYXJhY3RlcnMgaW4gdGhlCi08Rk9OVCBTSVpFPS0xPjxCPklGUzwvQj4KLQotPC9GT05UPgotc3BlY2lhbCB2YXJpYWJsZSBhcyBkZWxpbWl0ZXJzLCBhbmQgZWFjaCByZXN1bHRhbnQgd29yZCBpcyBleHBhbmRlZC4KLVRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBhcmUgdGhlIG1lbWJlcnMgb2YgdGhlIHJlc3VsdGFudCBsaXN0IHdoaWNoCi1tYXRjaCB0aGUgd29yZCBiZWluZyBjb21wbGV0ZWQuCiA8RFQ+PEI+LUM8L0I+IDxJPmNvbW1hbmQ8L0k+PEREPgogPEk+Y29tbWFuZDwvST4gaXMgZXhlY3V0ZWQgaW4gYSBzdWJzaGVsbCBlbnZpcm9ubWVudCwgYW5kIGl0cyBvdXRwdXQgaXMKIHVzZWQgYXMgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zLgpAQCAtODk1NCw2ICs5MDg1LDIzIEBACiAKIDwvRk9OVD4KIGFycmF5IHZhcmlhYmxlLgorPERUPjxCPi1HPC9CPiA8ST5nbG9icGF0PC9JPjxERD4KK1RoZSBwYXRobmFtZSBleHBhbnNpb24gcGF0dGVybiA8ST5nbG9icGF0PC9JPiBpcyBleHBhbmRlZCB0byBnZW5lcmF0ZQordGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zLgorPERUPjxCPi1QPC9CPiA8ST5wcmVmaXg8L0k+PEREPgorPEk+cHJlZml4PC9JPiBpcyBhZGRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggcG9zc2libGUgY29tcGxldGlvbgorYWZ0ZXIgYWxsIG90aGVyIG9wdGlvbnMgaGF2ZSBiZWVuIGFwcGxpZWQuCis8RFQ+PEI+LVM8L0I+IDxJPnN1ZmZpeDwvST48REQ+Cis8ST5zdWZmaXg8L0k+IGlzIGFwcGVuZGVkIHRvIGVhY2ggcG9zc2libGUgY29tcGxldGlvbgorYWZ0ZXIgYWxsIG90aGVyIG9wdGlvbnMgaGF2ZSBiZWVuIGFwcGxpZWQuCis8RFQ+PEI+LVc8L0I+IDxJPndvcmRsaXN0PC9JPjxERD4KK1RoZSA8ST53b3JkbGlzdDwvST4gaXMgc3BsaXQgdXNpbmcgdGhlIGNoYXJhY3RlcnMgaW4gdGhlCis8Rk9OVCBTSVpFPS0xPjxCPklGUzwvQj4KKworPC9GT05UPgorc3BlY2lhbCB2YXJpYWJsZSBhcyBkZWxpbWl0ZXJzLCBhbmQgZWFjaCByZXN1bHRhbnQgd29yZCBpcyBleHBhbmRlZC4KK1RoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBhcmUgdGhlIG1lbWJlcnMgb2YgdGhlIHJlc3VsdGFudCBsaXN0IHdoaWNoCittYXRjaCB0aGUgd29yZCBiZWluZyBjb21wbGV0ZWQuCiA8RFQ+PEI+LVg8L0I+IDxJPmZpbHRlcnBhdDwvST48REQ+CiA8ST5maWx0ZXJwYXQ8L0k+IGlzIGEgcGF0dGVybiBhcyB1c2VkIGZvciBwYXRobmFtZSBleHBhbnNpb24uCiBJdCBpcyBhcHBsaWVkIHRvIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIGdlbmVyYXRlZCBieSB0aGUKQEAgLTg5NjEsMTIgKzkxMDksNiBAQAogPEk+ZmlsdGVycGF0PC9JPiBpcyByZW1vdmVkIGZyb20gdGhlIGxpc3QuCiBBIGxlYWRpbmcgPEI+ITwvQj4gaW4gPEk+ZmlsdGVycGF0PC9JPiBuZWdhdGVzIHRoZSBwYXR0ZXJuOyBpbiB0aGlzCiBjYXNlLCBhbnkgY29tcGxldGlvbiBub3QgbWF0Y2hpbmcgPEk+ZmlsdGVycGF0PC9JPiBpcyByZW1vdmVkLgotPERUPjxCPi1QPC9CPiA8ST5wcmVmaXg8L0k+PEREPgotPEk+cHJlZml4PC9JPiBpcyBhZGRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIGVhY2ggcG9zc2libGUgY29tcGxldGlvbgotYWZ0ZXIgYWxsIG90aGVyIG9wdGlvbnMgaGF2ZSBiZWVuIGFwcGxpZWQuCi08RFQ+PEI+LVM8L0I+IDxJPnN1ZmZpeDwvST48REQ+Ci08ST5zdWZmaXg8L0k+IGlzIGFwcGVuZGVkIHRvIGVhY2ggcG9zc2libGUgY29tcGxldGlvbgotYWZ0ZXIgYWxsIG90aGVyIG9wdGlvbnMgaGF2ZSBiZWVuIGFwcGxpZWQuCiAKIDwvREw+CiA8UD4KQEAgLTg5ODEsNyArOTEyMyw3IEBACiA8RFQ+PEI+Y29tcG9wdDwvQj4gWzxCPi1vPC9CPiA8ST5vcHRpb248L0k+XSBbPEI+LURFPC9CPl0gWzxCPitvPC9CPiA8ST5vcHRpb248L0k+XSBbPEk+bmFtZTwvST5dPEREPgogTW9kaWZ5IGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCA8ST5uYW1lPC9JPiBhY2NvcmRpbmcgdG8gdGhlCiA8ST5vcHRpb248L0k+cywgb3IgZm9yIHRoZQotY3VycmVudGx5LWV4ZWN1dGlvbiBjb21wbGV0aW9uIGlmIG5vIDxJPm5hbWU8L0k+cyBhcmUgc3VwcGxpZWQuCitjdXJyZW50bHktZXhlY3V0aW5nIGNvbXBsZXRpb24gaWYgbm8gPEk+bmFtZTwvST5zIGFyZSBzdXBwbGllZC4KIElmIG5vIDxJPm9wdGlvbjwvST5zIGFyZSBnaXZlbiwgZGlzcGxheSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoCiA8ST5uYW1lPC9JPiBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uLgogVGhlIHBvc3NpYmxlIHZhbHVlcyBvZiA8ST5vcHRpb248L0k+IGFyZSB0aG9zZSB2YWxpZCBmb3IgdGhlIDxCPmNvbXBsZXRlPC9CPgpAQCAtODk5MiwxMyArOTEzNCwxMCBAQAogVGhlIDxCPi1FPC9CPiBvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zIHNob3VsZAogYXBwbHkgdG8gYGBlbXB0eScnIGNvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYQogYmxhbmsgbGluZS4KLTwvREw+CiA8UD4KLQogVGhlIHJldHVybiB2YWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gYXR0ZW1wdAogaXMgbWFkZSB0byBtb2RpZnkgdGhlIG9wdGlvbnMgZm9yIGEgPEk+bmFtZTwvST4gZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24KIHNwZWNpZmljYXRpb24gZXhpc3RzLCBvciBhbiBvdXRwdXQgZXJyb3Igb2NjdXJzLgotPERMIENPTVBBQ1Q+CiA8RFQ+PEI+Y29udGludWU8L0I+IFs8ST5uPC9JPl08REQ+CiBSZXN1bWUgdGhlIG5leHQgaXRlcmF0aW9uIG9mIHRoZSBlbmNsb3NpbmcKIDxCPmZvcjwvQj4sCkBAIC05MDIzLDkgKzkxNjIsOSBAQAogaXMgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgZW5jbG9zaW5nIGxvb3BzLCB0aGUgbGFzdCBlbmNsb3NpbmcgbG9vcAogKHRoZSBgYHRvcC1sZXZlbCcnIGxvb3ApIGlzIHJlc3VtZWQuCiBUaGUgcmV0dXJuIHZhbHVlIGlzIDAgdW5sZXNzIDxJPm48L0k+IGlzIG5vdCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4KLTxEVD48Qj5kZWNsYXJlPC9CPiBbPEI+LWFBZkZpbHJ0dXg8L0I+XSBbPEI+LXA8L0I+XSBbPEk+bmFtZTwvST5bPTxJPnZhbHVlPC9JPl0gLi4uXTxERD4KKzxEVD48Qj5kZWNsYXJlPC9CPiBbPEI+LWFBZkZnaWxydHV4PC9CPl0gWzxCPi1wPC9CPl0gWzxJPm5hbWU8L0k+Wz08ST52YWx1ZTwvST5dIC4uLl08REQ+CiAKLTxEVD48Qj50eXBlc2V0PC9CPiBbPEI+LWFBZkZpbHJ0dXg8L0I+XSBbPEI+LXA8L0I+XSBbPEk+bmFtZTwvST5bPTxJPnZhbHVlPC9JPl0gLi4uXTxERD4KKzxEVD48Qj50eXBlc2V0PC9CPiBbPEI+LWFBZkZnaWxydHV4PC9CPl0gWzxCPi1wPC9CPl0gWzxJPm5hbWU8L0k+Wz08ST52YWx1ZTwvST5dIC4uLl08REQ+CiAKIERlY2xhcmUgdmFyaWFibGVzIGFuZC9vciBnaXZlIHRoZW0gYXR0cmlidXRlcy4KIElmIG5vIDxJPm5hbWU8L0k+cyBhcmUgZ2l2ZW4gdGhlbiBkaXNwbGF5IHRoZSB2YWx1ZXMgb2YgdmFyaWFibGVzLgpAQCAtOTA2MSw2ICs5MjAwLDEyIEBACiBvcHRpb24gaW1wbGllcwogPEI+LWY8L0I+LgogCitUaGUKKzxCPi1nPC9CPgorCitvcHRpb24gZm9yY2VzIHZhcmlhYmxlcyB0byBiZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGF0IHRoZSBnbG9iYWwgc2NvcGUsCitldmVuIHdoZW4gPEI+ZGVjbGFyZTwvQj4gaXMgZXhlY3V0ZWQgaW4gYSBzaGVsbCBmdW5jdGlvbi4KK0l0IGlzIGlnbm9yZWQgaW4gYWxsIG90aGVyIGNhc2VzLgogVGhlIGZvbGxvd2luZyBvcHRpb25zIGNhbgogYmUgdXNlZCB0byByZXN0cmljdCBvdXRwdXQgdG8gdmFyaWFibGVzIHdpdGggdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGUgb3IKIHRvIGdpdmUgdmFyaWFibGVzIGF0dHJpYnV0ZXM6CkBAIC05MTMwLDEzICs5Mjc1LDEzIEBACiB3aXRoIHRoZSBleGNlcHRpb25zIHRoYXQgPEI+K2E8L0I+CiBtYXkgbm90IGJlIHVzZWQgdG8gZGVzdHJveSBhbiBhcnJheSB2YXJpYWJsZSBhbmQgPEI+K3I8L0I+IHdpbGwgbm90CiByZW1vdmUgdGhlIHJlYWRvbmx5IGF0dHJpYnV0ZS4KLVdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLAotbWFrZXMgZWFjaAorV2hlbiB1c2VkIGluIGEgZnVuY3Rpb24sIG1ha2VzIGVhY2gKIDxJPm5hbWU8L0k+IGxvY2FsLCBhcyB3aXRoIHRoZSAKIDxCPmxvY2FsPC9CPgogCi1jb21tYW5kLgotSWYgYSB2YXJpYWJsZSBuYW1lIGlzIGZvbGxvd2VkIGJ5ID08ST52YWx1ZTwvST4sIHRoZSB2YWx1ZSBvZgorY29tbWFuZCwKK3VubGVzcyB0aGUgPEI+LWdQIG9wdGlvbiBpcyBzdXBwbGllZCwKK0lmIGEgdmFyaWFibGUgbmFtZSBpcyBmb2xsb3dlZCBieSA9PC9CPjxJPnZhbHVlPC9JPiwgdGhlIHZhbHVlIG9mCiB0aGUgdmFyaWFibGUgaXMgc2V0IHRvIDxJPnZhbHVlPC9JPi4KIFRoZSByZXR1cm4gdmFsdWUgaXMgMCB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsCiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGVmaW5lIGEgZnVuY3Rpb24gdXNpbmcKQEAgLTkxNTMsNyArOTI5OCw3IEBACiBvciBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGlzcGxheSBhIG5vbi1leGlzdGVudCBmdW5jdGlvbiB3aXRoIDxCPi1mPC9CPi4KIDwvREw+CiAKLTxEVD48Qj5kaXJzIFsrPC9CPjxJPm48L0k+XSBbLTxJPm48L0k+XSBbPEI+LWNwbHY8L0I+XQorPERUPjxCPmRpcnMgWys8L0I+PEk+bjwvST5dIFstPEk+bjwvST5dIFs8Qj4tY2xwdjwvQj5dCiAKIDxERD4KIFdpdGhvdXQgb3B0aW9ucywgZGlzcGxheXMgdGhlIGxpc3Qgb2YgY3VycmVudGx5IHJlbWVtYmVyZWQgZGlyZWN0b3JpZXMuCkBAIC05MjkzLDYgKzk0MzgsOSBAQAogPERUPjxCPlxlPC9CPgogCiA8REQ+Cis8RFQ+PEI+XEU8L0I+CisKKzxERD4KIGFuIGVzY2FwZSBjaGFyYWN0ZXIKIDxEVD48Qj5cZjwvQj4KIApAQCAtOTMyOCw2ICs5NDc2LDE2IEBACiA8REQ+CiB0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUgPEk+SEg8L0k+CiAob25lIG9yIHR3byBoZXggZGlnaXRzKQorPERUPjxCPlx1PC9CPjxJPkhISEg8L0k+CisKKzxERD4KK3RoZSBVbmljb2RlIChJU08vSUVDIDEwNjQ2KSBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgdGhlIGhleGFkZWNpbWFsIHZhbHVlCis8ST5ISEhIPC9JPiAob25lIHRvIGZvdXIgaGV4IGRpZ2l0cykKKzxEVD48Qj5cVTwvQj48ST5ISEhISEhISDwvST4KKworPEREPgordGhlIFVuaWNvZGUgKElTTy9JRUMgMTA2NDYpIGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUKKzxJPkhISEhISEhIPC9JPiAob25lIHRvIGVpZ2h0IGhleCBkaWdpdHMpCiAKIDwvREw+PC9ETD4KIApAQCAtOTY4MCw3ICs5ODM4LDcgQEAKIAogPC9GT05UPgogaXMgc2V0IHRvIHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCwKLWFuZCA8Qj5uYW1lPC9CPiBpcyBzZXQgdG8gPy4KK2FuZCA8ST5uYW1lPC9JPiBpcyBzZXQgdG8gPy4KIDxQPgogPEI+Z2V0b3B0czwvQj4KIApAQCAtOTc2MywxNCArOTkyMSwxNSBAQAogSXQgcmV0dXJucyBmYWxzZSBpZiB0aGUgZW5kIG9mIG9wdGlvbnMgaXMgZW5jb3VudGVyZWQgb3IgYW4KIGVycm9yIG9jY3Vycy4KIDxEVD48Qj5oYXNoPC9CPiBbPEI+LWxyPC9CPl0gWzxCPi1wPC9CPiA8ST5maWxlbmFtZTwvST5dIFs8Qj4tZHQ8L0I+XSBbPEk+bmFtZTwvST5dPEREPgotRm9yIGVhY2gKLTxJPm5hbWU8L0k+LAorRWFjaCB0aW1lIDxCPmhhc2g8L0I+IGlzIGludm9rZWQsCit0aGUgZnVsbCBwYXRobmFtZSBvZiB0aGUgY29tbWFuZCAKKzxJPm5hbWU8L0k+CiAKLXRoZSBmdWxsIGZpbGUgbmFtZSBvZiB0aGUgY29tbWFuZCBpcyBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZworaXMgZGV0ZXJtaW5lZCBieSBzZWFyY2hpbmcKIHRoZSBkaXJlY3RvcmllcyBpbgogPEI+JFBBVEg8L0I+CiAKLWFuZCByZW1lbWJlcmVkLgorYW5kIHJlbWVtYmVyZWQuICBBbnkgcHJldmlvdXNseS1yZW1lbWJlcmVkIHBhdGhuYW1lIGlzIGRpc2NhcmRlZC4KIElmIHRoZQogPEI+LXA8L0I+CiAKQEAgLTk5NTQsMTYgKzEwMTEzLDE2IEBACiA8REQ+CiBMaXN0IHByb2Nlc3MgSURzCiBpbiBhZGRpdGlvbiB0byB0aGUgbm9ybWFsIGluZm9ybWF0aW9uLgotPERUPjxCPi1wPC9CPgotCi08REQ+Ci1MaXN0IG9ubHkgdGhlIHByb2Nlc3MgSUQgb2YgdGhlIGpvYidzIHByb2Nlc3MgZ3JvdXAKLWxlYWRlci4KIDxEVD48Qj4tbjwvQj4KIAogPEREPgogRGlzcGxheSBpbmZvcm1hdGlvbiBvbmx5IGFib3V0IGpvYnMgdGhhdCBoYXZlIGNoYW5nZWQgc3RhdHVzIHNpbmNlCiB0aGUgdXNlciB3YXMgbGFzdCBub3RpZmllZCBvZiB0aGVpciBzdGF0dXMuCis8RFQ+PEI+LXA8L0I+CisKKzxERD4KK0xpc3Qgb25seSB0aGUgcHJvY2VzcyBJRCBvZiB0aGUgam9iJ3MgcHJvY2VzcyBncm91cAorbGVhZGVyLgogPERUPjxCPi1yPC9CPgogCiA8REQ+CkBAIC0xMDE5Niw3ICsxMDM1NSw4IEBACiAKIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4KIFdoZW4gPEk+Y2FsbGJhY2s8L0k+IGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0Ci1hcnJheSBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuCithcnJheSBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnQKK2FzIGFkZGl0aW9uYWwgYXJndW1lbnRzLgogPEk+Y2FsbGJhY2s8L0k+IGlzIGV2YWx1YXRlZCBhZnRlciB0aGUgbGluZSBpcyByZWFkIGJ1dCBiZWZvcmUgdGhlIAogYXJyYXkgZWxlbWVudCBpcyBhc3NpZ25lZC4KIDxQPgpAQCAtMTAyNzAsMjcgKzEwNDMwLDU3IEBACiA8RFQ+PEI+cHJpbnRmPC9CPiBbPEI+LXY8L0I+IDxJPnZhcjwvST5dIDxJPmZvcm1hdDwvST4gWzxJPmFyZ3VtZW50czwvST5dPEREPgogV3JpdGUgdGhlIGZvcm1hdHRlZCA8ST5hcmd1bWVudHM8L0k+IHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgdW5kZXIgdGhlCiBjb250cm9sIG9mIHRoZSA8ST5mb3JtYXQ8L0k+LgorVGhlIDxCPi12PC9CPiBvcHRpb24gY2F1c2VzIHRoZSBvdXRwdXQgdG8gYmUgYXNzaWduZWQgdG8gdGhlIHZhcmlhYmxlCis8ST52YXI8L0k+IHJhdGhlciB0aGFuIGJlaW5nIHByaW50ZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4KKzxQPgogVGhlIDxJPmZvcm1hdDwvST4gaXMgYSBjaGFyYWN0ZXIgc3RyaW5nIHdoaWNoIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIG9iamVjdHM6CiBwbGFpbiBjaGFyYWN0ZXJzLCB3aGljaCBhcmUgc2ltcGx5IGNvcGllZCB0byBzdGFuZGFyZCBvdXRwdXQsIGNoYXJhY3RlcgogZXNjYXBlIHNlcXVlbmNlcywgd2hpY2ggYXJlIGNvbnZlcnRlZCBhbmQgY29waWVkIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQsIGFuZAogZm9ybWF0IHNwZWNpZmljYXRpb25zLCBlYWNoIG9mIHdoaWNoIGNhdXNlcyBwcmludGluZyBvZiB0aGUgbmV4dCBzdWNjZXNzaXZlCiA8ST5hcmd1bWVudDwvST4uCi1JbiBhZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQgPEk+cHJpbnRmPC9JPigxKSBmb3JtYXRzLCA8Qj4lYjwvQj4gY2F1c2VzCitJbiBhZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQgPEk+cHJpbnRmPC9JPigxKSBmb3JtYXQgc3BlY2lmaWNhdGlvbnMsCis8Qj5wcmludGY8L0I+IGludGVycHJldHMgdGhlIGZvbGxvd2luZyBleHRlbnNpb25zOgorPERMIENPTVBBQ1Q+PERUPjxERD4KKworPERMIENPTVBBQ1Q+Cis8RFQ+PEI+JWI8L0I+CisKKzxERD4KK2NhdXNlcwogPEI+cHJpbnRmPC9CPiB0byBleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcKIDxJPmFyZ3VtZW50PC9JPiAoZXhjZXB0IHRoYXQgPEI+XGM8L0I+IHRlcm1pbmF0ZXMgb3V0cHV0LCBiYWNrc2xhc2hlcyBpbgogPEI+XGFxPC9CPiwgPEI+XCZxdW90OzwvQj4sIGFuZCA8Qj5cPzwvQj4gYXJlIG5vdCByZW1vdmVkLCBhbmQgb2N0YWwgZXNjYXBlcwotYmVnaW5uaW5nIHdpdGggPEI+XDA8L0I+IG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzKSwKLWFuZCA8Qj4lcTwvQj4gY2F1c2VzIDxCPnByaW50ZjwvQj4gdG8gb3V0cHV0IHRoZSBjb3JyZXNwb25kaW5nCitiZWdpbm5pbmcgd2l0aCA8Qj5cMDwvQj4gbWF5IGNvbnRhaW4gdXAgdG8gZm91ciBkaWdpdHMpLgorPERUPjxCPiVxPC9CPgorCis8REQ+CitjYXVzZXMgPEI+cHJpbnRmPC9CPiB0byBvdXRwdXQgdGhlIGNvcnJlc3BvbmRpbmcKIDxJPmFyZ3VtZW50PC9JPiBpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXQuCis8RFQ+PEI+JSg8L0I+PEk+ZGF0ZWZtdDwvST4pVAorCis8REQ+CitjYXVzZXMgPEI+cHJpbnRmPC9CPiB0byBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcKKzxJPmRhdGVmbXQ8L0k+IGFzIGEgZm9ybWF0IHN0cmluZyBmb3IgPEk+c3RyZnRpbWU8L0k+KDMpLiAgVGhlIGNvcnJlc3BvbmRpbmcKKzxJPmFyZ3VtZW50PC9JPiBpcyBhbiBpbnRlZ2VyIHJlcHJlc2VudGluZyB0aGUgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgdGhlCitlcG9jaC4gIFR3byBzcGVjaWFsIGFyZ3VtZW50IHZhbHVlcyBtYXkgYmUgdXNlZDogLTEgcmVwcmVzZW50cyB0aGUgY3VycmVudAordGltZSwgYW5kIC0yIHJlcHJlc2VudHMgdGhlIHRpbWUgdGhlIHNoZWxsIHdhcyBpbnZva2VkLgorCis8L0RMPgogPFA+Ci1UaGUgPEI+LXY8L0I+IG9wdGlvbiBjYXVzZXMgdGhlIG91dHB1dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgdmFyaWFibGUKLTxJPnZhcjwvST4gcmF0aGVyIHRoYW4gYmVpbmcgcHJpbnRlZCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LgorCitBcmd1bWVudHMgdG8gbm9uLXN0cmluZyBmb3JtYXQgc3BlY2lmaWVycyBhcmUgdHJlYXRlZCBhcyBDIGNvbnN0YW50cywKK2V4Y2VwdCB0aGF0IGEgbGVhZGluZyBwbHVzIG9yIG1pbnVzIHNpZ24gaXMgYWxsb3dlZCwgYW5kIGlmIHRoZSBsZWFkaW5nCitjaGFyYWN0ZXIgaXMgYSBzaW5nbGUgb3IgZG91YmxlIHF1b3RlLCB0aGUgdmFsdWUgaXMgdGhlIEFTQ0lJIHZhbHVlIG9mCit0aGUgZm9sbG93aW5nIGNoYXJhY3Rlci4KIDxQPgorCiBUaGUgPEk+Zm9ybWF0PC9JPiBpcyByZXVzZWQgYXMgbmVjZXNzYXJ5IHRvIGNvbnN1bWUgYWxsIG9mIHRoZSA8ST5hcmd1bWVudHM8L0k+LgogSWYgdGhlIDxJPmZvcm1hdDwvST4gcmVxdWlyZXMgbW9yZSA8ST5hcmd1bWVudHM8L0k+IHRoYW4gYXJlIHN1cHBsaWVkLCB0aGUKIGV4dHJhIGZvcm1hdCBzcGVjaWZpY2F0aW9ucyBiZWhhdmUgYXMgaWYgYSB6ZXJvIHZhbHVlIG9yIG51bGwgc3RyaW5nLCBhcwotYXBwcm9wcmlhdGUsIGhhZCBiZWVuIHN1cHBsaWVkLiAgVGhlIHJldHVybiB2YWx1ZSBpcyB6ZXJvIG9uIHN1Y2Nlc3MsCi1ub24temVybyBvbiBmYWlsdXJlLgorYXBwcm9wcmlhdGUsIGhhZCBiZWVuIHN1cHBsaWVkLgorVGhlIHJldHVybiB2YWx1ZSBpcyB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvIG9uIGZhaWx1cmUuCis8L0RMPgorCiA8RFQ+PEI+cHVzaGQ8L0I+IFs8Qj4tbjwvQj5dIFsrPEk+bjwvST5dIFstPEk+bjwvST5dPEREPgogCiA8RFQ+PEI+cHVzaGQ8L0I+IFs8Qj4tbjwvQj5dIFs8ST5kaXI8L0k+XTxERD4KQEAgLTEwNTcyLDkgKzEwNzYyLDkgQEAKIHRoZSByZXR1cm4gc3RhdHVzIGlzIGZhbHNlLgogQW55IGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIHRoZSA8Qj5SRVRVUk48L0I+IHRyYXAgaXMgZXhlY3V0ZWQKIGJlZm9yZSBleGVjdXRpb24gcmVzdW1lcyBhZnRlciB0aGUgZnVuY3Rpb24gb3Igc2NyaXB0LgotPERUPjxCPnNldDwvQj4gWzxCPi0tYWJlZmhrbW5wdHV2eEJDRUhQVDwvQj5dIFs8Qj4tbzwvQj4gPEk+b3B0aW9uPC9JPl0gWzxJPmFyZzwvST4gLi4uXTxERD4KKzxEVD48Qj5zZXQ8L0I+IFs8Qj4tLWFiZWZoa21ucHR1dnhCQ0VIUFQ8L0I+XSBbPEI+LW88L0I+IDxJPm9wdGlvbi1uYW1lPC9JPl0gWzxJPmFyZzwvST4gLi4uXTxERD4KIAotPERUPjxCPnNldDwvQj4gWzxCPithYmVmaGttbnB0dXZ4QkNFSFBUPC9CPl0gWzxCPitvPC9CPiA8ST5vcHRpb248L0k+XSBbPEk+YXJnPC9JPiAuLi5dPEREPgorPERUPjxCPnNldDwvQj4gWzxCPithYmVmaGttbnB0dXZ4QkNFSFBUPC9CPl0gWzxCPitvPC9CPiA8ST5vcHRpb24tbmFtZTwvST5dIFs8ST5hcmc8L0k+IC4uLl08REQ+CiAKIFdpdGhvdXQgb3B0aW9ucywgdGhlIG5hbWUgYW5kIHZhbHVlIG9mIGVhY2ggc2hlbGwgdmFyaWFibGUgYXJlIGRpc3BsYXllZAogaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIGlucHV0CkBAIC0xMTIxMiw3ICsxMTQwMiw3IEBACiA8Qj5iYXNoPC9CPgogCiBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gMy4xIHdpdGggcmVzcGVjdCB0byBxdW90ZWQKLWFyZ3VtZW50cyB0byB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCdzID1+IG9wZXJhdG9yLgorYXJndW1lbnRzIHRvIHRoZSA8Qj5bWzwvQj4gY29uZGl0aW9uYWwgY29tbWFuZCdzIDxCPj1+PC9CPiBvcGVyYXRvci4KIDxEVD48Qj5jb21wYXQzMjwvQj4KIAogPEREPgpAQCAtMTEyMjAsNyArMTE0MTAsMTUgQEAKIDxCPmJhc2g8L0I+CiAKIGNoYW5nZXMgaXRzIGJlaGF2aW9yIHRvIHRoYXQgb2YgdmVyc2lvbiAzLjIgd2l0aCByZXNwZWN0IHRvIGxvY2FsZS1zcGVjaWZpYwotc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCdzICZsdDsgYW5kICZndDsgb3BlcmF0b3JzLgorc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgPEI+W1s8L0I+Citjb25kaXRpb25hbCBjb21tYW5kJ3MgPEI+Jmx0OzwvQj4gYW5kIDxCPiZndDs8L0I+IG9wZXJhdG9ycy4KK0Jhc2ggdmVyc2lvbnMgcHJpb3IgdG8gYmFzaC00LjEgdXNlIEFTQ0lJIGNvbGxhdGlvbiBhbmQKKzxJPnN0cmNtcDwvST4oMyk7CisKK2Jhc2gtNC4xIGFuZCBsYXRlcgordXNlIHRoZSBjdXJyZW50IGxvY2FsZSdzIGNvbGxhdGlvbiBzZXF1ZW5jZSBhbmQKKzxJPnN0cmNvbGw8L0k+KDMpLgorCiA8RFQ+PEI+Y29tcGF0NDA8L0I+CiAKIDxERD4KQEAgLTExMjI4LDggKzExNDI2LDIxIEBACiA8Qj5iYXNoPC9CPgogCiBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gNC4wIHdpdGggcmVzcGVjdCB0byBsb2NhbGUtc3BlY2lmaWMKLXN0cmluZyBjb21wYXJpc29uIHdoZW4gdXNpbmcgdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQncyAmbHQ7IGFuZCAmZ3Q7IG9wZXJhdG9ycworc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgPEI+W1s8L0I+Citjb25kaXRpb25hbCBjb21tYW5kJ3MgPEI+Jmx0OzwvQj4gYW5kIDxCPiZndDs8L0I+IG9wZXJhdG9ycyAoc2VlIHByZXZpb3VzIGl0ZW0pCiBhbmQgdGhlIGVmZmVjdCBvZiBpbnRlcnJ1cHRpbmcgYSBjb21tYW5kIGxpc3QuCis8RFQ+PEI+Y29tcGF0NDE8L0I+CisKKzxERD4KK0BpdGVtIGNvbXBhdDQxCitJZiBzZXQsCis8Qj5iYXNoPC9CPiwKKword2hlbiBpbiBwb3NpeCBtb2RlLCB0cmVhdHMgYSBzaW5nbGUgcXVvdGUgaW4gYSBkb3VibGUtcXVvdGVkCitwYXJhbWV0ZXIgZXhwYW5zaW9uIGFzIGEgc3BlY2lhbCBjaGFyYWN0ZXIuICBUaGUgc2luZ2xlIHF1b3RlcyBtdXN0IG1hdGNoCisoYW4gZXZlbiBudW1iZXIpIGFuZCB0aGUgY2hhcmFjdGVycyBiZXR3ZWVuIHRoZSBzaW5nbGUgcXVvdGVzIGFyZSBjb25zaWRlcmVkCitxdW90ZWQuICBUaGlzIGlzIHRoZSBiZWhhdmlvciBvZiBwb3NpeCBtb2RlIHRocm91Z2ggdmVyc2lvbiA0LjEuCitUaGUgZGVmYXVsdCBiYXNoIGJlaGF2aW9yIHJlbWFpbnMgYXMgaW4gcHJldmlvdXMgdmVyc2lvbnMuCiA8RFQ+PEI+ZGlyc3BlbGw8L0I+CiAKIDxERD4KQEAgLTExMzExLDcgKzExNTIyLDcgQEAKIDxERD4KIEVycm9yIHRyYWNpbmcgaXMgZW5hYmxlZDogIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBzaGVsbCBmdW5jdGlvbnMsIGFuZAogc3Vic2hlbGxzIGludm9rZWQgd2l0aCA8Qj4oPC9CPiA8ST5jb21tYW5kPC9JPiA8Qj4pPC9CPiBpbmhlcml0IHRoZQotPEI+RVJST1I8L0I+IHRyYXAuCis8Qj5FUlI8L0I+IHRyYXAuCiA8L0RMPjwvREw+CiAKIDxEVD48Qj5leHRnbG9iPC9CPgpAQCAtMTE0MjEsNiArMTE2MzIsMTEgQEAKIAogPC9GT05UPgogYWJvdmUpLiAgVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0LgorPERUPjxCPmxhc3RwaXBlPC9CPgorCis8REQ+CitJZiBzZXQsIGFuZCBqb2IgY29udHJvbCBpcyBub3QgYWN0aXZlLCB0aGUgc2hlbGwgcnVucyB0aGUgbGFzdCBjb21tYW5kIG9mCithIHBpcGVsaW5lIG5vdCBleGVjdXRlZCBpbiB0aGUgYmFja2dyb3VuZCBpbiB0aGUgY3VycmVudCBzaGVsbCBlbnZpcm9ubWVudC4KIDxEVD48Qj5saXRoaXN0PC9CPgogCiA8REQ+CkBAIC0xMTU3NSw2ICsxMTc5MSw3IEBACiBFeHByZXNzaW9ucyBtYXkgYmUgY29tYmluZWQgdXNpbmcgdGhlIGZvbGxvd2luZyBvcGVyYXRvcnMsIGxpc3RlZAogaW4gZGVjcmVhc2luZyBvcmRlciBvZiBwcmVjZWRlbmNlLgogVGhlIGV2YWx1YXRpb24gZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50czsgc2VlIGJlbG93LgorT3BlcmF0b3IgcHJlY2VkZW5jZSBpcyB1c2VkIHdoZW4gdGhlcmUgYXJlIGZpdmUgb3IgbW9yZSBhcmd1bWVudHMuCiA8REwgQ09NUEFDVD48RFQ+PEREPgogCiA8REwgQ09NUEFDVD4KQEAgLTExNjMzLDYgKzExODUwLDcgQEAKIElmIHRoZSBmaXJzdCBhcmd1bWVudCBpcyBub3QgYSB2YWxpZCB1bmFyeSBjb25kaXRpb25hbCBvcGVyYXRvciwgdGhlIGV4cHJlc3Npb24KIGlzIGZhbHNlLgogPERUPjMgYXJndW1lbnRzPEREPgorVGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciBsaXN0ZWQuCiBJZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG9uZSBvZiB0aGUgYmluYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9ycyBsaXN0ZWQgYWJvdmUKIHVuZGVyCiA8Rk9OVCBTSVpFPS0xPjxCPkNPTkRJVElPTkFMIEVYUFJFU1NJT05TPC9CPiwKQEAgLTExNjU2LDcgKzExODc0LDE1IEBACiA8RFQ+NSBvciBtb3JlIGFyZ3VtZW50czxERD4KIFRoZSBleHByZXNzaW9uIGlzIHBhcnNlZCBhbmQgZXZhbHVhdGVkIGFjY29yZGluZyB0byBwcmVjZWRlbmNlCiB1c2luZyB0aGUgcnVsZXMgbGlzdGVkIGFib3ZlLgotPC9ETD48L0RMPgorPFA+CisKKworPC9ETD4KKzxQPgorCitXaGVuIHVzZWQgd2l0aCA8Qj50ZXN0PC9CPiBvciA8Qj5bPC9CPiwgdGhlIDxCPiZsdDs8L0I+IGFuZCA8Qj4mZ3Q7PC9CPiBvcGVyYXRvcnMKK3NvcnQgbGV4aWNvZ3JhcGhpY2FsbHkgdXNpbmcgQVNDSUkgb3JkZXJpbmcuCis8L0RMPgogCiAKIDxEVD48Qj50aW1lczwvQj4KQEAgLTExNzE1LDcgKzExOTQxLDExIEBACiAKIGlzIGVpdGhlcgogYSBzaWduYWwgbmFtZSBkZWZpbmVkIGluICZsdDs8ST5zaWduYWwuaDwvST4mZ3Q7LCBvciBhIHNpZ25hbCBudW1iZXIuCi1TaWduYWwgbmFtZXMgYXJlIGNhc2UgaW5zZW5zaXRpdmUgYW5kIHRoZSBTSUcgcHJlZml4IGlzIG9wdGlvbmFsLgorU2lnbmFsIG5hbWVzIGFyZSBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUKKzxGT05UIFNJWkU9LTE+PEI+U0lHPC9CPgorCis8L0ZPTlQ+CitwcmVmaXggaXMgb3B0aW9uYWwuCiA8UD4KIAogCkBAIC0xMTc1OSw4ICsxMTk4OSw4IEBACiB0aGUgY29tbWFuZAogPEk+YXJnPC9JPgogCi1pcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBleGVjdXRlZCB3aXRoIHRoZQotPEI+LjwvQj4gb3IgPEI+c291cmNlPC9CPiBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuCitpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBleGVjdXRlZCB3aXRoCit0aGUgPEI+LjwvQj4gb3IgPEI+c291cmNlPC9CPiBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuCiA8UD4KIAogCkBAIC0xMjAxOCw3ICsxMjI0OCw4IEBACiA8RFQ+PEI+LXY8L0I+CiAKIDxERD4KLVRoZSBtYXhpbXVtIGFtb3VudCBvZiB2aXJ0dWFsIG1lbW9yeSBhdmFpbGFibGUgdG8gdGhlIHNoZWxsCitUaGUgbWF4aW11bSBhbW91bnQgb2YgdmlydHVhbCBtZW1vcnkgYXZhaWxhYmxlIHRvIHRoZSBzaGVsbCBhbmQsIG9uCitzb21lIHN5c3RlbXMsIHRvIGl0cyBjaGlsZHJlbgogPERUPjxCPi14PC9CPgogCiA8REQ+CkBAIC0xMjIzMiw3ICsxMjQ2Myw3IEBACiAKIGJ1aWx0aW4gY29tbWFuZAogPERUPio8REQ+Ci1TcGVjaWZ5aW5nIGEgZmlsZW5hbWUgY29udGFpbmluZyBhIHNsYXNoIGFzIGFuIGFyZ3VtZW50IHRvIHRoZQorc3BlY2lmeWluZyBhIGZpbGVuYW1lIGNvbnRhaW5pbmcgYSBzbGFzaCBhcyBhbiBhcmd1bWVudCB0byB0aGUKIDxCPi1wPC9CPgogCiBvcHRpb24gdG8gdGhlCkBAIC0xMjI2Niw3ICsxMjQ5Nyw3IEBACiAKIGJ1aWx0aW4gY29tbWFuZAogPERUPio8REQ+Ci1Vc2luZyB0aGUgPEI+ZW5hYmxlPC9CPiBidWlsdGluIGNvbW1hbmQgdG8gZW5hYmxlIGRpc2FibGVkIHNoZWxsIGJ1aWx0aW5zCit1c2luZyB0aGUgPEI+ZW5hYmxlPC9CPiBidWlsdGluIGNvbW1hbmQgdG8gZW5hYmxlIGRpc2FibGVkIHNoZWxsIGJ1aWx0aW5zCiA8RFQ+KjxERD4KIHNwZWNpZnlpbmcgdGhlCiA8Qj4tcDwvQj4KQEAgLTEyMzc1LDcgKzEyNjA2LDcgQEAKIDxCPmJhc2g8L0I+LgogCiBUaGUgbGF0ZXN0IHZlcnNpb24gaXMgYWx3YXlzIGF2YWlsYWJsZSBmcm9tCi08ST48QSBIUkVGPSJmdHA6Ly9mdHAuZ251Lm9yZy9wdWIvYmFzaC8iPmZ0cDovL2Z0cC5nbnUub3JnL3B1Yi9iYXNoLzwvQT48L0k+LgorPEk+PEEgSFJFRj0iZnRwOi8vZnRwLmdudS5vcmcvcHViL2dudS9iYXNoLyI+ZnRwOi8vZnRwLmdudS5vcmcvcHViL2dudS9iYXNoLzwvQT48L0k+LgogPFA+CiAKIE9uY2UgeW91IGhhdmUgZGV0ZXJtaW5lZCB0aGF0IGEgYnVnIGFjdHVhbGx5IGV4aXN0cywgdXNlIHRoZQpAQCAtMTI0NjAsNyArMTI2OTEsNyBAQAogPEhSPgogPFRBQkxFIFdJRFRIPTEwMCU+CiA8VFI+Ci08VEggQUxJR049TEVGVCB3aWR0aD0zMyU+R05VIEJhc2gtNC4xPFRIIEFMSUdOPUNFTlRFUiB3aWR0aD0zMyU+MjAwOSBEZWNlbWJlciAyOTxUSCBBTElHTj1SSUdIVCB3aWR0aD0zMyU+QkFTSCgxKQorPFRIIEFMSUdOPUxFRlQgd2lkdGg9MzMlPkdOVSBCYXNoLTQuMjxUSCBBTElHTj1DRU5URVIgd2lkdGg9MzMlPjIwMTAgRGVjZW1iZXIgMjg8VEggQUxJR049UklHSFQgd2lkdGg9MzMlPkJBU0goMSkKIDwvVFI+CiA8L1RBQkxFPgogPEhSPgpAQCAtMTI1NjYsNiArMTI3OTcsNiBAQAogPC9ETD4KIDxIUj4KIFRoaXMgZG9jdW1lbnQgd2FzIGNyZWF0ZWQgYnkgbWFuMmh0bWwgZnJvbSBiYXNoLjEuPEJSPgotVGltZTogMzAgRGVjZW1iZXIgMjAwOSAxMzowNzozOCBFU1QKK1RpbWU6IDI4IERlY2VtYmVyIDIwMTAgMTQ6MzA6MjkgRVNUCiA8L0JPRFk+CiA8L0hUTUw+CmRpZmYgLS1naXQgYS9kb2MvYmFzaC5wZGYgYi9kb2MvYmFzaC5wZGYKaW5kZXggY2IzNmM1ZS4uNWJjYjBjNSAxMDA2NDQKLS0tIGEvZG9jL2Jhc2gucGRmCisrKyBiL2RvYy9iYXNoLnBkZgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9kb2MvYmFzaC5wcyBiL2RvYy9iYXNoLnBzCmluZGV4IDhiNGQ1NzMuLmZiOWFhOGMgMTAwNjQ0Ci0tLSBhL2RvYy9iYXNoLnBzCisrKyBiL2RvYy9iYXNoLnBzCkBAIC0xLDEzICsxLDEzIEBACiAlIVBTLUFkb2JlLTMuMAogJSVDcmVhdG9yOiBncm9mZiB2ZXJzaW9uIDEuMTkuMgotJSVDcmVhdGlvbkRhdGU6IFdlZCBEZWMgMzAgMTM6MDc6MzcgMjAwOQorJSVDcmVhdGlvbkRhdGU6IEZyaSBKYW4gMjggMjI6MDc6MDcgMjAxMQogJSVEb2N1bWVudE5lZWRlZFJlc291cmNlczogZm9udCBUaW1lcy1Sb21hbgogJSUrIGZvbnQgVGltZXMtQm9sZAogJSUrIGZvbnQgVGltZXMtSXRhbGljCiAlJSsgZm9udCBDb3VyaWVyCiAlJSsgZm9udCBTeW1ib2wKICUlRG9jdW1lbnRTdXBwbGllZFJlc291cmNlczogcHJvY3NldCBncm9wcyAxLjE5IDIKLSUlUGFnZXM6IDcwCislJVBhZ2VzOiA3MgogJSVQYWdlT3JkZXI6IEFzY2VuZAogJSVEb2N1bWVudE1lZGlhOiBEZWZhdWx0IDU5NSA4NDIgMCAoKSAoKQogJSVPcmllbnRhdGlvbjogUG9ydHJhaXQKQEAgLTIzOCw3ICsyMzgsNyBAQAogKGJhc2ggXDI1NSBHTlUgQm91cm5lLUFnKTEwOCA5NiBRKGFpbiBTSGVsbCktLjA1IEUgRjEoU1lOT1BTSVMpNzIgMTEyLjgKIFEvRjIgMTAvVGltZXMtQm9sZEAwIFNGKGJhc2gpMTA4IDEyNC44IFEgRjAoW29wdGlvbnNdIFtcMjE0bGVdKTIuNSBFIEYxCiAoQ09QWVJJR0hUKTcyIDE0MS42IFEgRjAoQmFzaCBpcyBDb3ApMTA4IDE1My42IFEKLSh5cmlnaHQgXDI1MSAxOTg5LTIwMDkgYnkgdGhlIEZyZWUgU29mdHcpLS4xIEUoYXJlIEYpLS4xIEUKKyh5cmlnaHQgXDI1MSAxOTg5LTIwMTEgYnkgdGhlIEZyZWUgU29mdHcpLS4xIEUoYXJlIEYpLS4xIEUKIChvdW5kYXRpb24sIEluYy4pLS4xNSBFIEYxKERFU0NSSVBUSU9OKTcyIDE3MC40IFEgRjIoQmFzaCkxMDggMTgyLjQgUSBGMAogLjk3MyhpcyBhbikzLjQ3NCBGIEYyKHNoKTMuNDczIEUgRjAgLjk3MwogKC1jb21wYXRpYmxlIGNvbW1hbmQgbGFuZ3VhZ2UgaW50ZXJwcmV0ZXIgdGhhdCBlKUIgLS4xNSh4ZSktLjE1IEcgLjk3MwpAQCAtMjUwLDc2ICsyNTAsNzUgQEAKIGVsbCBhbmQgVXRpbGl0aWVzIHBvcnRpb24gb2YgdGhlIElFRUUgUE9TSVgpMy4wMjcgRgogKHNwZWNpXDIxNGNhdGlvbiBcKElFRUUgU3RhbmRhcmQgMTAwMy4xXCkuKTEwOCAyMjMuMiBRIEYyKEJhc2gpNSBFIEYwCiAoY2FuIGJlIGNvblwyMTRndXJlZCB0byBiZSBQT1NJWC1jb25mb3JtYW50IGJ5IGRlZikyLjUgRShhdWx0LiktLjEgRSBGMQotKE9QVElPTlMpNzIgMjQwIFEgRjAgLjUyKEluIGFkZGl0aW9uIHRvIHRoZSBzaW5nbGUtY2hhcmFjdGVyIHNoZWxsIG9wdGlcCi1vbnMgZG9jdW1lbnRlZCBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlKTEwOCAyNTIgUiBGMihzZXQpMy4wMiBFIEYwIC0uMgotKGJ1KTMuMDIgRyAuNTIoaWx0aW4gY29tbWFuZCwpLjIgRiBGMihiYXNoKTEwOCAyNjQgUSBGMAotKGludGVycHJldHMgdGhlIGZvbGxvKTIuNSBFKHdpbmcgb3B0aW9ucyB3aGVuIGl0IGlzIGluKS0uMjUgRSAtLjIodm8pLS40Ci1HIC0uMShrZSkuMiBHKGQ6KS4xIEUgRjI8YWQ2Mz4xMDggMjgwLjggUSBGMyhzdHJpbmcpNC4xNjYgRSBGMCAuNzk2Ci0oSWYgdGhlKTEyLjM1NCBGIEYyPGFkNjM+My4yOTYgRSBGMCAuNzk2Ci0ob3B0aW9uIGlzIHByZXNlbnQsIHRoZW4gY29tbWFuZHMgYXJlIHJlYWQgZnJvbSkzLjI5NiBGIEYzKHN0cmluZykzLjI5NgotRSBGMCA1Ljc5NiguSSkuMjIgRyAzLjI5NyhmdCktNS43OTYgRyAuNzk3KGhlcmUgYXJlIGFyKS0zLjI5NyBGIC43OTcKLShndW1lbnRzIGFmdGVyKS0uMTggRih0aGUpMTU4IDI5Mi44IFEgRjMoc3RyaW5nKTIuNSBFIEYwIDIuNSgsdCkuMjIgRworKE9QVElPTlMpNzIgMjQwIFEgRjAgLjYxKEFsbCBvZiB0aGUpMTA4IDI1MiBSIC42MQorKHNpbmdsZS1jaGFyYWN0ZXIgc2hlbGwgb3B0aW9ucyBkb2N1bWVudGVkIGluIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpCis1LjYxIEYgRjIoc2V0KTMuMTEgRSBGMCAtLjIoYnUpMy4xMSBHIC42MShpbHRpbiBjb21tYW5kIGNhbiBiZSkuMiBGCisxLjI4NCh1c2VkIGFzIG9wdGlvbnMgd2hlbiB0aGUgc2hlbGwgaXMgaW4pMTA4IDI2NCBSIC0uMih2byktLjQgRyAtLjEKKyhrZSkuMiBHIDMuNzg1KGQuIEluKS4xIEYoYWRkaXRpb24sKTMuNzg1IEUgRjIoYmFzaCkzLjc4NSBFIEYwIDEuMjg1CisoaW50ZXJwcmV0cyB0aGUgZm9sbG8pMy43ODUgRiAxLjI4NSh3aW5nIG9wdGlvbnMgd2hlbiBpdCBpcyktLjI1IEYoaW4pCisxMDggMjc2IFEgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQ6KS4xIEUgRjI8YWQ2Mz4xMDggMjkyLjggUSBGMworKHN0cmluZyk0LjE2NiBFIEYwIC43OTcoSWYgdGhlKTEyLjM1NCBGIEYyPGFkNjM+My4yOTcgRSBGMCAuNzk2Cisob3B0aW9uIGlzIHByZXNlbnQsIHRoZW4gY29tbWFuZHMgYXJlIHJlYWQgZnJvbSkzLjI5NyBGIEYzKHN0cmluZykzLjI5NgorRSBGMCA1Ljc5NiguSSkuMjIgRyAzLjI5NihmdCktNS43OTYgRyAuNzk2KGhlcmUgYXJlIGFyKS0zLjI5NiBGIC43OTYKKyhndW1lbnRzIGFmdGVyKS0uMTggRih0aGUpMTU4IDMwNC44IFEgRjMoc3RyaW5nKTIuNSBFIEYwIDIuNSgsdCkuMjIgRwogKGhlKS0yLjUgRSAyLjUoeWEpLS4xNSBHCiAocmUgYXNzaWduZWQgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgc3RhcnRpbmcgd2l0aCktMi41IEUgRjIoJDApCi0yLjUgRSBGMCguKUEgRjI8YWQ2OT4xMDggMzA0LjggUSBGMChJZiB0aGUpNDEuNTIgRSBGMjxhZDY5PjIuNSBFIEYwCisyLjUgRSBGMCguKUEgRjI8YWQ2OT4xMDggMzE2LjggUSBGMChJZiB0aGUpNDEuNTIgRSBGMjxhZDY5PjIuNSBFIEYwCiAob3B0aW9uIGlzIHByZXNlbnQsIHRoZSBzaGVsbCBpcykyLjUgRSBGMyhpbnRlcikyLjUgRShhY3RpdmUpLS4xNSBFIEYwCi0oLikuMTggRSBGMjxhZDZjPjEwOCAzMTYuOCBRIEYwKE1hayk0MS41MiBFKGUpLS4xIEUgRjIoYmFzaCkyLjUgRSBGMAorKC4pLjE4IEUgRjI8YWQ2Yz4xMDggMzI4LjggUSBGMChNYWspNDEuNTIgRShlKS0uMSBFIEYyKGJhc2gpMi41IEUgRjAKIChhY3QgYXMgaWYgaXQgaGFkIGJlZW4gaW4pMi41IEUgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNShkYSkuMSBHIDIuNQogKHNhbCktMi41IEcob2dpbiBzaGVsbCBcKHNlZSktMi41IEUvRjQgOS9UaW1lcy1Cb2xkQDAgU0YoSU5WKTIuNSBFKE9DQSkKLS0uNDA1IEUoVElPTiktLjg1NSBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYyPGFkNzI+MTA4IDMyOC44IFEgRjAKKy0uNDA1IEUoVElPTiktLjg1NSBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYyPGFkNzI+MTA4IDM0MC44IFEgRjAKIChJZiB0aGUpMzkuODYgRSBGMjxhZDcyPjIuNSBFIEYwKG9wdGlvbiBpcyBwcmVzZW50LCB0aGUgc2hlbGwgYmVjb21lcykKIDIuNSBFIEYzIC0uMzcocmUpMi41IEcoc3RyaWN0ZWQpLjM3IEUgRjAoXChzZWUpMy4yNyBFIEY0Ci0oUkVTVFJJQ1RFRCBTSEVMTCkyLjUgRSBGMChiZWxvKTIuMjUgRSh3XCkuKS0uMjUgRSBGMjxhZDczPjEwOCAzNDAuOCBRCisoUkVTVFJJQ1RFRCBTSEVMTCkyLjUgRSBGMChiZWxvKTIuMjUgRSh3XCkuKS0uMjUgRSBGMjxhZDczPjEwOCAzNTIuOCBRCiBGMCAuNjAyKElmIHRoZSk0MC40MSBGIEYyPGFkNzM+My4xMDIgRSBGMCAuNjAyCiAob3B0aW9uIGlzIHByZXNlbnQsIG9yIGlmIG5vIGFyKTMuMTAyIEYgLjYwMgotKGd1bWVudHMgcmVtYWluIGFmdGVyIG9wdGlvbiBwcm9jZXNzaW5nLCB0aGVuIGNvbW1hbmRzKS0uMTggRiAuNjE2Ci0oYXJlIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQuKTE1OCAzNTIuOCBSIC42MTcoVGhpcyBvcHRpb24gYWxsbykKLTUuNjE3IEYgLjYxNyh3cyB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIHRvIGJlIHNldCB3aGVuKS0uMjUgRihpbikxNTgKLTM2NC44IFEgLS4yKHZvKS0uNCBHKGtpbmcgYW4gaW50ZXJhY3RpKS4yIEUgLjMgLS4xNSh2ZSBzKS0uMjUgSChoZWxsLikKLS4xNSBFIEYyPGFkNDQ+MTA4IDM3Ni44IFEgRjAgMy4xODQoQWwpMzcuMDggRyAuNjg0Ci0oaXN0IG9mIGFsbCBkb3VibGUtcXVvdGVkIHN0cmluZ3MgcHJlY2VkZWQgYnkpLTMuMTg0IEYgRjIoJCkzLjE4NCBFIEYwCi0uNjg0KGlzIHByaW50ZWQgb24gdGhlIHN0YW5kYXJkIG91dHB1dC4pMy4xODQgRiAuNjgzKFRoZXNlIGFyZSk1LjY4MyBGCisoZ3VtZW50cyByZW1haW4gYWZ0ZXIgb3B0aW9uIHByb2Nlc3NpbmcsIHRoZW4gY29tbWFuZHMpLS4xOCBGIC42MTcKKyhhcmUgcmVhZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dC4pMTU4IDM2NC44IFIgLjYxNyhUaGlzIG9wdGlvbiBhbGxvKQorNS42MTcgRiAuNjE2KHdzIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgdG8gYmUgc2V0IHdoZW4pLS4yNSBGKGluKTE1OAorMzc2LjggUSAtLjIodm8pLS40IEcoa2luZyBhbiBpbnRlcmFjdGkpLjIgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGwuKQorLjE1IEUgRjI8YWQ0ND4xMDggMzg4LjggUSBGMCAzLjE4MyhBbCkzNy4wOCBHIC42ODMKKyhpc3Qgb2YgYWxsIGRvdWJsZS1xdW90ZWQgc3RyaW5ncyBwcmVjZWRlZCBieSktMy4xODMgRiBGMigkKTMuMTg0IEUgRjAKKy42ODQoaXMgcHJpbnRlZCBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0LikzLjE4NCBGIC42ODQoVGhlc2UgYXJlKTUuNjg0IEYKIC40NTgodGhlIHN0cmluZ3MgdGhhdCBhcmUgc3ViamVjdCB0byBsYW5ndWFnZSB0cmFuc2xhdGlvbiB3aGVuIHRoZSBjdXJyXAotZW50IGxvY2FsZSBpcyBub3QpMTU4IDM4OC44IFIgRjIoQykyLjk1OCBFIEYwKG9yKTIuOTU5IEUgRjIoUE9TSVgpMi45NTkKLUUgRjAoLilBKFRoaXMgaW1wbGllcyB0aGUpMTU4IDQwMC44IFEgRjI8YWQ2ZT4yLjUgRSBGMAorZW50IGxvY2FsZSBpcyBub3QpMTU4IDQwMC44IFIgRjIoQykyLjk1OCBFIEYwKG9yKTIuOTU4IEUgRjIoUE9TSVgpMi45NTgKK0UgRjAoLilBKFRoaXMgaW1wbGllcyB0aGUpMTU4IDQxMi44IFEgRjI8YWQ2ZT4yLjUgRSBGMAogKG9wdGlvbjsgbm8gY29tbWFuZHMgd2lsbCBiZSBlKTIuNSBFIC0uMTUoeGUpLS4xNSBHKGN1dGVkLikuMTUgRSBGMgotKFtcMjU1K11PIFspMTA4IDQxMi44IFEgRjMoc2hvcHRfb3B0aW9uKUEgRjIoXSlBIEYzKHNob3B0X29wdGlvbikxNTgKLTQyNC44IFEgRjAgMS4wOTcoaXMgb25lIG9mIHRoZSBzaGVsbCBvcHRpb25zIGFjY2VwdGVkIGJ5IHRoZSkzLjU5NyBGIEYyCi0oc2hvcHQpMy41OTcgRSBGMCAtLjIoYnUpMy41OTcgRyAxLjA5NyhpbHRpbiBcKHNlZSkuMiBGIEY0IDEuMDk2Ci0oU0hFTEwgQikzLjU5NiBGKFVJTCktLjA5IEUoVElOKS0uODI4IEUoQ09NTUFORFMpMTU4IDQzNi44IFEgRjAoYmVsbykKLTMuMDAyIEUgMy4yNTIod1wpLiBJZiktLjI1IEYgRjMoc2hvcHRfb3B0aW9uKTMuMjUzIEUgRjAgLjc1MworKFtcMjU1K11PIFspMTA4IDQyNC44IFEgRjMoc2hvcHRfb3B0aW9uKUEgRjIoXSlBIEYzKHNob3B0X29wdGlvbikxNTgKKzQzNi44IFEgRjAgMS4wOTcoaXMgb25lIG9mIHRoZSBzaGVsbCBvcHRpb25zIGFjY2VwdGVkIGJ5IHRoZSkzLjU5NiBGIEYyCisoc2hvcHQpMy41OTcgRSBGMCAtLjIoYnUpMy41OTcgRyAxLjA5NyhpbHRpbiBcKHNlZSkuMiBGIEY0IDEuMDk3CisoU0hFTEwgQikzLjU5NyBGKFVJTCktLjA5IEUoVElOKS0uODI4IEUoQ09NTUFORFMpMTU4IDQ0OC44IFEgRjAoYmVsbykKKzMuMDAzIEUgMy4yNTMod1wpLiBJZiktLjI1IEYgRjMoc2hvcHRfb3B0aW9uKTMuMjUzIEUgRjAgLjc1MwogKGlzIHByZXNlbnQsKTMuMjUzIEYgRjI8YWQ0Zj4zLjI1MyBFIEYwIC43NTMoc2V0cyB0aGUgdikzLjI1MyBGIC43NTMKLShhbHVlIG9mIHRoYXQgb3B0aW9uOyktLjI1IEYgRjIoK08pMy4yNTMgRSBGMCh1bnNldHMpMy4yNTMgRSAyLjYyNQotKGl0LiBJZikxNTggNDQ4LjggUiBGMyhzaG9wdF9vcHRpb24pMi42MjUgRSBGMCAuMTI1Ci0oaXMgbm90IHN1cHBsaWVkLCB0aGUgbmFtZXMgYW5kIHYpMi42MjUgRiAuMTI0Ci0oYWx1ZXMgb2YgdGhlIHNoZWxsIG9wdGlvbnMgYWNjZXB0ZWQgYnkpLS4yNSBGIEYyKHNob3B0KTIuNjI0IEUgRjAgLjUwNQotKGFyZSBwcmludGVkIG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQuKTE1OCA0NjAuOCBSIC41MDUoSWYgdGhlIGluKTUuNTA1IEYKLS0uMih2byktLjQgRyAuNTA1KGNhdGlvbiBvcHRpb24gaXMpLjIgRiBGMigrTykzLjAwNSBFIEYwIDMuMDA1KCx0KUMgLjUwNgorKGFsdWUgb2YgdGhhdCBvcHRpb247KS0uMjUgRiBGMigrTykzLjI1MiBFIEYwKHVuc2V0cykzLjI1MiBFIDIuNjI0CisoaXQuIElmKTE1OCA0NjAuOCBSIEYzKHNob3B0X29wdGlvbikyLjYyNCBFIEYwIC4xMjQKKyhpcyBub3Qgc3VwcGxpZWQsIHRoZSBuYW1lcyBhbmQgdikyLjYyNCBGIC4xMjUKKyhhbHVlcyBvZiB0aGUgc2hlbGwgb3B0aW9ucyBhY2NlcHRlZCBieSktLjI1IEYgRjIoc2hvcHQpMi42MjUgRSBGMCAuNTA2CisoYXJlIHByaW50ZWQgb24gdGhlIHN0YW5kYXJkIG91dHB1dC4pMTU4IDQ3Mi44IFIgLjUwNShJZiB0aGUgaW4pNS41MDUgRgorLS4yKHZvKS0uNCBHIC41MDUoY2F0aW9uIG9wdGlvbiBpcykuMiBGIEYyKCtPKTMuMDA1IEUgRjAgMy4wMDUoLHQpQyAuNTA1CiAoaGUgb3V0cHV0IGlzIGRpc3BsYXllZCBpbiBhKS0zLjAwNSBGCi0oZm9ybWF0IHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4pMTU4IDQ3Mi44IFEgRjI8YWRhZD4xMDggNDg0LjggUSBGMAotKEEpMzguNiBFIEYyPGFkYWQ+My4zNjQgRSBGMCAuODY0CisoZm9ybWF0IHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4pMTU4IDQ4NC44IFEgRjI8YWRhZD4xMDggNDk2LjggUSBGMAorKEEpMzguNiBFIEYyPGFkYWQ+My4zNjMgRSBGMCAuODY0CiAoc2lnbmFscyB0aGUgZW5kIG9mIG9wdGlvbnMgYW5kIGRpc2FibGVzIGZ1cnRoZXIgb3B0aW9uIHByb2Nlc3NpbmcuKQotMy4zNjQgRihBbik1Ljg2MyBFIDMuMzYzKHlhKS0uMTUgRyAtLjE4KHJnKS0zLjM2MyBHIC44NjModW1lbnRzIGFmdGVyKQotLjE4IEYodGhlKTE1OCA0OTYuOCBRIEYyPGFkYWQ+Mi41IEUgRjAKKzMuMzYzIEYoQW4pNS44NjQgRSAzLjM2NCh5YSktLjE1IEcgLS4xOChyZyktMy4zNjQgRyAuODY0KHVtZW50cyBhZnRlcikKKy4xOCBGKHRoZSkxNTggNTA4LjggUSBGMjxhZGFkPjIuNSBFIEYwCiAoYXJlIHRyZWF0ZWQgYXMgXDIxNGxlbmFtZXMgYW5kIGFyKTIuNSBFIDIuNShndW1lbnRzLiBBbiktLjE4IEYoYXIpMi41IEUKIChndW1lbnQgb2YpLS4xOCBFIEYyPGFkPjIuNSBFIEYwKGlzIGVxdWkpMi41IEUgLS4yNSh2YSktLjI1IEcobGVudCB0bykKLS4yNSBFIEYyPGFkYWQ+Mi41IEUgRjAoLilBIEYyKEJhc2gpMTA4IDUxMy42IFEgRjAgLjMwMwotKGFsc28gaW50ZXJwcmV0cyBhIG51bWJlciBvZiBtdWx0aS1jaGFyYWN0ZXIgb3B0aW9ucy4pMi44MDMgRiAuMzA0CisuMjUgRSBGMjxhZGFkPjIuNSBFIEYwKC4pQSBGMihCYXNoKTEwOCA1MjUuNiBRIEYwIC4zMDQKKyhhbHNvIGludGVycHJldHMgYSBudW1iZXIgb2YgbXVsdGktY2hhcmFjdGVyIG9wdGlvbnMuKTIuODA0IEYgLjMwMwogKFRoZXNlIG9wdGlvbnMgbXVzdCBhcHBlYXIgb24gdGhlIGNvbW1hbmQgbGluZSk1LjMwMyBGCi0oYmVmb3JlIHRoZSBzaW5nbGUtY2hhcmFjdGVyIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZC4pMTA4IDUyNS42IFEgRjIKLTxhZGFkNjQ2NTYyPjEwOCA1NDIuNCBRKHVnZ2VyKS0uMiBFIEYwIC40NzUoQXJyYW5nZSBmb3IgdGhlIGRlYikxNDQKLTU1NC40IFIgLjQ3NSh1Z2dlciBwcm9cMjE0bGUgdG8gYmUgZSktLjIgRiAtLjE1KHhlKS0uMTUgRyAuNDc1Ci0oY3V0ZWQgYmVmb3JlIHRoZSBzaGVsbCBzdGFydHMuKS4xNSBGIC0uNDUoVHUpNS40NzQgRyAuNDc0KHJucyBvbiBlKS40NQotRiAuNDc0KHh0ZW5kZWQgZGViKS0uMTUgRih1Zy0pLS4yIEUgLjQ1MgotKGdpbmcgbW9kZSBcKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlKTE0NCA1NjYuNCBSIEYyKGV4dGRlYikyLjk1MiBFCi0odWcpLS4yIEUgRjAgLjQ1MihvcHRpb24gdG8gdGhlKTIuOTUyIEYgRjIoc2hvcHQpMi45NTIgRSBGMCAtLjIoYnUpMi45NTIKLUcgLjQ1MihpbHRpbiBiZWxvKS4yIEYgLjQ1Mih3XCkgYW5kIHNoZWxsIGZ1bmMtKS0uMjUgRgotKHRpb24gdHJhY2luZyBcKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlKTE0NCA1NzguNCBRIEYyCi0oXDI1NW8gZnVuY3RyYWNlKTIuNSBFIEYwKG9wdGlvbiB0byB0aGUpMi41IEUgRjIoc2V0KTIuNSBFIEYwIC0uMihidSkyLjUKLUcoaWx0aW4gYmVsbykuMiBFKHdcKS4pLS4yNSBFIEYyKFwyNTVcMjU1ZHVtcFwyNTVwb1wyNTVzdHJpbmdzKTEwOCA1OTAuNAotUSBGMChFcXVpKTE0NCA2MDIuNCBRIC0uMjUodmEpLS4yNSBHKGxlbnQgdG8pLjI1IEUgRjI8YWQ0ND4yLjUgRSBGMCAyLjUKLSgsYilDKHV0IHRoZSBvdXRwdXQgaXMgaW4gdGhlIEdOVSktMi43IEUgRjMgLS4xKGdlKTIuNSBHKHR0ZSkuMSBFKHh0KS0uMgotRSBGMihwbykyLjUgRSBGMChcKHBvcnRhYmxlIG9iamVjdFwpIFwyMTRsZSBmb3JtYXQuKTIuNSBFIEYyCisoYmVmb3JlIHRoZSBzaW5nbGUtY2hhcmFjdGVyIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZC4pMTA4IDUzNy42IFEgRjIKKzxhZGFkNjQ2NTYyPjEwOCA1NTQuNCBRKHVnZ2VyKS0uMiBFIEYwIC40NzQoQXJyYW5nZSBmb3IgdGhlIGRlYikxNDQKKzU2Ni40IFIgLjQ3NCh1Z2dlciBwcm9cMjE0bGUgdG8gYmUgZSktLjIgRiAtLjE1KHhlKS0uMTUgRyAuNDc1CisoY3V0ZWQgYmVmb3JlIHRoZSBzaGVsbCBzdGFydHMuKS4xNSBGIC0uNDUoVHUpNS40NzUgRyAuNDc1KHJucyBvbiBlKS40NQorRiAuNDc1KHh0ZW5kZWQgZGViKS0uMTUgRih1Zy0pLS4yIEUKKyhnaW5nIG1vZGUgXChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSkxNDQgNTc4LjQgUSBGMihleHRkZWIpMi41IEUodWcpCistLjIgRSBGMChvcHRpb24gdG8gdGhlKTIuNSBFIEYyKHNob3B0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBiZWxvKQorLjIgRSh3XCkuKS0uMjUgRSBGMihcMjU1XDI1NWR1bXBcMjU1cG9cMjU1c3RyaW5ncykxMDggNTkwLjQgUSBGMChFcXVpKQorMTQ0IDYwMi40IFEgLS4yNSh2YSktLjI1IEcobGVudCB0bykuMjUgRSBGMjxhZDQ0PjIuNSBFIEYwIDIuNSgsYilDCisodXQgdGhlIG91dHB1dCBpcyBpbiB0aGUgR05VKS0yLjcgRSBGMyAtLjEoZ2UpMi41IEcodHRlKS4xIEUoeHQpLS4yIEUgRjIKKyhwbykyLjUgRSBGMChcKHBvcnRhYmxlIG9iamVjdFwpIFwyMTRsZSBmb3JtYXQuKTIuNSBFIEYyCiAoXDI1NVwyNTVkdW1wXDI1NXN0cmluZ3MpMTA4IDYxNC40IFEgRjAoRXF1aSkxNDQgNjI2LjQgUSAtLjI1KHZhKS0uMjUgRwogKGxlbnQgdG8pLjI1IEUgRjI8YWQ0ND4yLjUgRSBGMCguKUEgRjIoXDI1NVwyNTVoZWxwKTEwOCA2MzguNCBRIEYwCiAoRGlzcGxheSBhIHVzYWdlIG1lc3NhZ2Ugb24gc3RhbmRhcmQgb3V0cHV0IGFuZCBlKTYuMjYgRQpAQCAtMzMxLDcgKzMzMCw3IEBACiAxNDQgNjg2LjQgUSAuMyAtLjE1KHZlIFwoKS0uMjUgSChzZWUpLjE1IEUgRjQoSU5WKTIuNSBFKE9DQSktLjQwNSBFCiAoVElPTiktLjg1NSBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYyKFwyNTVcMjU1bG9naW4pMTA4IDcwMy4yIFEgRjAKIChFcXVpKTE0NCA3MTUuMiBRIC0uMjUodmEpLS4yNSBHKGxlbnQgdG8pLjI1IEUgRjI8YWQ2Yz4yLjUgRSBGMCguKUEKLShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMSkxOTAuOTU1IEUgMCBDZyBFUAorKEdOVSBCYXNoLTQuMik3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSgxKTE5MC45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDIgMgogJSVCZWdpblBhZ2VTZXR1cAogQlAKQEAgLTQ1Miw4ICs0NTEsOCBAQAogKGlmIFsgXDI1NW4gIiRCQVNIX0VOViIgXTsgdGhlbiAuICIkQkFTSF9FTlYiOyBmaSkxNDQgNzA5LjIgUSBGMCAtLjIoYnUpCiAxMDggNzI3LjIgUyAyLjUodHQpLjIgRyhoZSB2KS0yLjUgRShhbHVlIG9mIHRoZSktLjI1IEUgRjMgLS42NjYoUEEpMi41IEcKIChUSCktLjE4OSBFIEYwIC0uMjUodmEpMi4yNSBHCi0ocmlhYmxlIGlzIG5vdCB1c2VkIHRvIHNlYXJjaCBmb3IgdGhlIFwyMTRsZSBuYW1lLikuMjUgRShHTlUgQmFzaC00LjEpNzIKLTc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDIpMTkwLjk1NSBFIDAgQ2cgRVAKKyhyaWFibGUgaXMgbm90IHVzZWQgdG8gc2VhcmNoIGZvciB0aGUgXDIxNGxlIG5hbWUuKS4yNSBFKEdOVSBCYXNoLTQuMik3MgorNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoMikxOTAuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAzIDMKICUlQmVnaW5QYWdlU2V0dXAKIEJQCkBAIC01MDIsMjMgKzUwMSwyNCBAQAogRjMoRU5WKTIuODQxIEUgRjAgLS4yNSh2YSkyLjU5MSBHIC4zNDIocmlhYmxlIGFuZCBjb21tYW5kcyBhcmUgcmVhZCBhbmQpCiAuMjUgRiAtLjE1KGV4ZSkxMDggMjIwLjggUyhjdXRlZCBmcm9tIHRoZSBcMjE0bGUgd2hvc2UgbmFtZSBpcyB0aGUgZSkuMTUKIEUoeHBhbmRlZCB2KS0uMTUgRSAyLjUoYWx1ZS4gTm8pLS4yNSBGKG90aGVyIHN0YXJ0dXAgXDIxNGxlcyBhcmUgcmVhZC4pCi0yLjUgRSBGMShCYXNoKTEwOCAyMzcuNiBRIEYwIC42NDQoYXR0ZW1wdHMgdG8gZGV0ZXJtaW5lIHdoZW4gaXQgaXMgYmVpblwKLWcgcnVuIHdpdGggaXRzIHN0YW5kYXJkIGlucHV0IGNvbm5lY3RlZCB0byBhIGEgbmV0dykzLjE0NCBGIC42NDMKLShvcmsgY29ubmVjLSktLjEgRiAuMjI5KHRpb24sIGFzIGlmIGJ5IHRoZSByZW1vdGUgc2hlbGwgZGFlbW9uLCB1c3VhbGx5KQotMTA4IDI0OS42IFIgRjIgLS4xKHJzKTIuNzI5IEcoaGQpLjEgRSBGMCAyLjcyOSgsbylDIDIuNzMocnQpLTIuNzI5IEcgLjIzCi0oaGUgc2VjdXJlIHNoZWxsIGRhZW1vbiktMi43MyBGIEYyKHNzaGQpMi43MyBFIEYwIDUuMjMoLkkpQyhmKS01LjIzIEUgRjEKLShiYXNoKTIuNzMgRSBGMCAuMjMoZGV0ZXJtaW5lcyBpdCkyLjczIEYgLjc0MShpcyBiZWluZyBydW4gaW4gdGhpcyBmKTEwOAotMjYxLjYgUiAuNzQxKGFzaGlvbiwgaXQgcmVhZHMgYW5kIGUpLS4xIEYgLS4xNSh4ZSktLjE1IEcgLjc0MQotKGN1dGVzIGNvbW1hbmRzIGZyb20pLjE1IEYgRjIofi8uYmFzaHIpMy4yNDEgRShjKS0uMzcgRSBGMCAzLjI0MSgsaSlDCi0zLjI0MShmdCktMy4yNDEgRyAuNzQxKGhhdCBcMjE0bGUgZSktMy4yNDEgRiAuNzQxKHhpc3RzIGFuZCBpcyByZWFkLSkKLS0uMTUgRiAyLjk3KGFibGUuIEl0KTEwOCAyNzMuNiBSIC40Nyh3aWxsIG5vdCBkbyB0aGlzIGlmIGluKTIuOTcgRiAtLjIKLSh2byktLjQgRyAtLjEoa2UpLjIgRyAyLjk3KGRhKS4xIEcocyktMi45NyBFIEYxKHNoKTIuOTcgRSBGMCA1LjQ3KC5UKUMKLShoZSktNS40NyBFIEYxPGFkYWQ2ZTZmNzI+Mi45NyBFKGMpLS4xOCBFIEYwIC40NwotKG9wdGlvbiBtYXkgYmUgdXNlZCB0byBpbmhpYml0IHRoaXMgYmVoYSkyLjk3IEYodmlvciktLjIgRSAyLjk3KCxhKS0uNCBHCi0uNDcobmQgdGhlKS0yLjk3IEYgRjE8YWRhZDcyPjEwOCAyODUuNiBRKGNcMjE0bGUpLS4xOCBFIEYwIC44ODYKLShvcHRpb24gbWF5IGJlIHVzZWQgdG8gZm9yY2UgYW5vdGhlciBcMjE0bGUgdG8gYmUgcmVhZCwgYikzLjM4NyBGKHV0KS0uMgotRSBGMiAtLjEocnMpMy4zODYgRyhoZCkuMSBFIEYwIC44ODYoZG9lcyBub3QgZ2VuZXJhbGx5IGluKTMuMzg2IEYgLS4yCi0odm8pLS40IEcgMS4wODYgLS4xKGtlIHQpLjIgSCAuODg2KGhlIHNoZWxsKS4xIEYKKzIuNSBFIEYxKEJhc2gpMTA4IDIzNy42IFEgRjAgLjIyNChhdHRlbXB0cyB0byBkZXRlcm1pbmUgd2hlbiBpdCBpcyBiZWluXAorZyBydW4gd2l0aCBpdHMgc3RhbmRhcmQgaW5wdXQgY29ubmVjdGVkIHRvIGEgbmV0dykyLjcyNCBGIC4yMjMKKyhvcmsgY29ubmVjdGlvbiwpLS4xIEYgLjAyNShhcyB3aGVuIGUpMTA4IDI0OS42IFIgLS4xNSh4ZSktLjE1IEcgLjAyNQorKGN1dGVkIGJ5IHRoZSByZW1vdGUgc2hlbGwgZGFlbW9uLCB1c3VhbGx5KS4xNSBGIEYyIC0uMShycykyLjUyNSBHKGhkKS4xCitFIEYwIDIuNTI1KCxvKUMgMi41MjUocnQpLTIuNTI1IEcgLjAyNShoZSBzZWN1cmUgc2hlbGwgZGFlbW9uKS0yLjUyNSBGCitGMihzc2hkKTIuNTI1IEUgRjAgNS4wMjUoLkkpQyhmKS01LjAyNSBFIEYxKGJhc2gpMi41MjUgRSBGMChkZXRlcikyLjUyNQorRSgtKS0uMiBFIC4xMzQobWluZXMgaXQgaXMgYmVpbmcgcnVuIGluIHRoaXMgZikxMDggMjYxLjYgUiAuMTM0CisoYXNoaW9uLCBpdCByZWFkcyBhbmQgZSktLjEgRiAtLjE1KHhlKS0uMTUgRyAuMTMzKGN1dGVzIGNvbW1hbmRzIGZyb20pCisuMTUgRiBGMih+Ly5iYXNocikyLjYzMyBFKGMpLS4zNyBFIEYwIDIuNjMzKCxpKUMgMi42MzMoZnQpLTIuNjMzIEcgLjEzMworKGhhdCBcMjE0bGUgZSktMi42MzMgRiAuMTMzKHhpc3RzIGFuZCBpcyktLjE1IEYgMi44NjkocmVhZGFibGUuIEl0KTEwOAorMjczLjYgUiAuMzY5KHdpbGwgbm90IGRvIHRoaXMgaWYgaW4pMi44NjkgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcKKzIuODY5KGRhKS4xIEcocyktMi44NjkgRSBGMShzaCkyLjg2OSBFIEYwIDUuMzY5KC5UKUMoaGUpLTUuMzY5IEUgRjEKKzxhZGFkNmU2ZjcyPjIuODY5IEUoYyktLjE4IEUgRjAgLjM2OQorKG9wdGlvbiBtYXkgYmUgdXNlZCB0byBpbmhpYml0IHRoaXMgYmVoYSkyLjg2OSBGKHZpb3IpLS4yIEUgMi44NjkoLGEpLS40CitHKG5kKS0yLjg2OSBFKHRoZSkxMDggMjg1LjYgUSBGMTxhZGFkNzI+Mi42MDYgRShjXDIxNGxlKS0uMTggRSBGMCAuMTA2Cisob3B0aW9uIG1heSBiZSB1c2VkIHRvIGZvcmNlIGFub3RoZXIgXDIxNGxlIHRvIGJlIHJlYWQsIGIpMi42MDYgRih1dCktLjIKK0UgRjIgLS4xKHJzKTIuNjA2IEcoaGQpLjEgRSBGMCAuMTA2KGRvZXMgbm90IGdlbmVyYWxseSBpbikyLjYwNiBGIC0uMgorKHZvKS0uNCBHIC4zMDYgLS4xKGtlIHQpLjIgSCAuMTA2KGhlIHNoZWxsKS4xIEYKICh3aXRoIHRob3NlIG9wdGlvbnMgb3IgYWxsbykxMDggMjk3LjYgUSAyLjUod3QpLS4yNSBHCiAoaGVtIHRvIGJlIHNwZWNpXDIxNGVkLiktMi41IEUgMS4yMDcKIChJZiB0aGUgc2hlbGwgaXMgc3RhcnRlZCB3aXRoIHRoZSBlZikxMDggMzE0LjQgUihmZWN0aSktLjI1IEUgMS41MDcgLS4xNQpAQCAtNTUxLDE2ICs1NTEsMTYgQEAKIChvcmRzLiBPbmUpLS4xIEYob2YgdGhlIGZvbGxvKTIuNSBFKHdpbmc6KS0uMjUgRSBGMSA1KHwmO1woXCk8PnMpMTQ0CiA0NzUuMiBTIDIuNShwYWNlIHRhYiktNSBGKGNvbnRyKTEwOCA0ODcuMiBRKG9sIG9wZXJhdG9yKS0uMTggRSBGMChBKTE0NAogNDk5LjIgUSBGMih0b2spMi41IEUoZW4pLS4xIEUgRjAodGhhdCBwZXJmb3JtcyBhIGNvbnRyb2wgZnVuY3Rpb24uKTIuNSBFCi0oSXQgaXMgb25lIG9mIHRoZSBmb2xsbyk1IEUod2luZyBzeW1ib2xzOiktLjI1IEUvRjYgMTAvU3ltYm9sIFNGPGVmZWY+Ci0xNDQgNTExLjIgUSBGMSA1KCYmKTUgRyA1KCY7OyktNSBHIDUoO1woXCl8fCktNSBHIDEwKCY8KS01IEcobmV3bGluZT4pCi0tMTAgRSBGNShSRVNFUik3MiA1MjggUShWRUQgVyktLjYwMiBFKE9SRFMpLS4xMSBFIEYyIC4zMDcoUmVzZXJ2ZWQgd29yKQotMTA4IDU0MCBSKGRzKS0uMzcgRSBGMCAuMzA3KGFyZSB3KTIuODA3IEYgLjMwNyhvcmRzIHRoYXQgaGEpLS4xIEYgLjYwNwotLS4xNSh2ZSBhIHMpLS4yIEggLjMwNihwZWNpYWwgbWVhbmluZyB0byB0aGUgc2hlbGwuKS4xNSBGIC4zMDYKLShUaGUgZm9sbG8pNS4zMDYgRiAuMzA2KHdpbmcgdyktLjI1IEYgLjMwNihvcmRzIGFyZSByZWNvZ25pemVkIGFzKS0uMSBGCi0ocmVzZXJ2KTEwOCA1NTIgUSAuMjI3KGVkIHdoZW4gdW5xdW90ZWQgYW5kIGVpdGhlciB0aGUgXDIxNHJzdCB3KS0uMTUgRgotLjIyNyhvcmQgb2YgYSBzaW1wbGUgY29tbWFuZCBcKHNlZSktLjEgRiBGMyAuMjI3KFNIRUxMIEdSQU1NQVIpMi43MjcgRgotRjAoYmVsbykyLjQ3NyBFIC4yMjcod1wpIG9yKS0uMjUgRih0aGUgdGhpcmQgdykxMDggNTY0IFEob3JkIG9mIGEpLS4xIEUKLUYxKGNhc2UpMi41IEUgRjAob3IpMi41IEUgRjEgLS4yNShmbykyLjUgRyhyKS4yNSBFIEYwKGNvbW1hbmQ6KTIuNSBFIEYxCisoSXQgaXMgb25lIG9mIHRoZSBmb2xsbyk1IEUod2luZyBzeW1ib2xzOiktLjI1IEUgRjEgMi41CisofHwgJiAmJiA7IDs7IFwoIFwpIHwgfCYpMTQ0IDUxMS4yIFIoPG5ld2xpbmU+KTEwIEUgRjUoUkVTRVIpNzIgNTI4IFEKKyhWRUQgVyktLjYwMiBFKE9SRFMpLS4xMSBFIEYyIC4zMDcoUmVzZXJ2ZWQgd29yKTEwOCA1NDAgUihkcyktLjM3IEUgRjAKKy4zMDcoYXJlIHcpMi44MDcgRiAuMzA3KG9yZHMgdGhhdCBoYSktLjEgRiAuNjA3IC0uMTUodmUgYSBzKS0uMiBIIC4zMDYKKyhwZWNpYWwgbWVhbmluZyB0byB0aGUgc2hlbGwuKS4xNSBGIC4zMDYoVGhlIGZvbGxvKTUuMzA2IEYgLjMwNih3aW5nIHcpCistLjI1IEYgLjMwNihvcmRzIGFyZSByZWNvZ25pemVkIGFzKS0uMSBGKHJlc2VydikxMDggNTUyIFEgLjIyNworKGVkIHdoZW4gdW5xdW90ZWQgYW5kIGVpdGhlciB0aGUgXDIxNHJzdCB3KS0uMTUgRiAuMjI3Cisob3JkIG9mIGEgc2ltcGxlIGNvbW1hbmQgXChzZWUpLS4xIEYgRjMgLjIyNyhTSEVMTCBHUkFNTUFSKTIuNzI3IEYgRjAKKyhiZWxvKTIuNDc3IEUgLjIyNyh3XCkgb3IpLS4yNSBGKHRoZSB0aGlyZCB3KTEwOCA1NjQgUShvcmQgb2YgYSktLjEgRSBGMQorKGNhc2UpMi41IEUgRjAob3IpMi41IEUgRjEgLS4yNShmbykyLjUgRyhyKS4yNSBFIEYwKGNvbW1hbmQ6KTIuNSBFIEYxCiAxMS45MTYoIWMpMTQ0IDU4MC44IFMgOS40MTYoYXNlIGRvIGRvbmUgZWxpZiBlbHNlIGVzYWMgXDIxNCBmKS0xMS45MTYgRgogOS40MTUob3IgZnVuY3Rpb24gaWYgaW4gc2VsZWN0IHRoZW4gdW50aWwpLS4yNSBGIDcuNQogKHdoaWxlIHsgfSB0aW1lIFtbIF1dKTE0NCA1OTIuOCBSIEY1KFNIRUxMIEdSQU1NQVIpNzIgNjA5LjYgUSBGMQpAQCAtNTgwLDggKzU4MCw4IEBACiBGMShQaXBlbGluZXMpODcgNjkxLjIgUSBGMChBKTEwOCA3MDMuMiBRIEYyKHBpcGVsaW5lKTIuOTk2IEUgRjAgLjQ5Nihpc1wKICBhIHNlcXVlbmNlIG9mIG9uZSBvciBtb3JlIGNvbW1hbmRzIHNlcGFyYXRlZCBieSBvbmUgb2YgdGhlIGNvbnRyb2wgb3BlXAogcmF0b3JzKTIuOTk2IEYgRjEofCkyLjk5NiBFIEYwKG9yKTIuOTk2IEUgRjEofCYpMi45OTYgRSBGMCA1LjQ5NiguVClDCi0oaGUpLTUuNDk2IEUoZm9ybWF0IGZvciBhIHBpcGVsaW5lIGlzOikxMDggNzE1LjIgUShHTlUgQmFzaC00LjEpNzIgNzY4IFEKLSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgzKTE5MC45NTUgRSAwIENnIEVQCisoaGUpLTUuNDk2IEUoZm9ybWF0IGZvciBhIHBpcGVsaW5lIGlzOikxMDggNzE1LjIgUShHTlUgQmFzaC00LjIpNzIgNzY4IFEKKygyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSgzKTE5MC45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDQgNAogJSVCZWdpblBhZ2VTZXR1cAogQlAKQEAgLTYyMiw1ODIwICs2MjIsNTk0OCBAQAogZWxsIGFzIHVzZXIgYW5kIHN5c3RlbSB0aW1lIGNvbnN1bWVkIGJ5IGl0cyktLjEgRiAtLjE1KGV4ZSkxMDggMjQyLjQgUwogLjE0KGN1dGlvbiBhcmUgcmVwb3J0ZWQgd2hlbiB0aGUgcGlwZWxpbmUgdGVybWluYXRlcy4pLjE1IEYoVGhlKTUuMTM5IEUKIEYxPGFkNzA+Mi42MzkgRSBGMCAuMTM5KG9wdGlvbiBjaGFuZ2VzIHRoZSBvdXRwdXQgZm9ybWF0IHRvIHRoYXQgc3BlYy0pCi0yLjYzOSBGIC43NzkoaVwyMTRlZCBieSBQT1NJWC4pMTA4IDI1NC40IFIoVGhlKTUuNzc5IEUgRjQoVElNRUZPUk1BKQotMy4yNzkgRShUKS0uODU1IEUgRjAgLS4yNSh2YSkzLjAyOSBHIC43NzkKLShyaWFibGUgbWF5IGJlIHNldCB0byBhIGZvcm1hdCBzdHJpbmcgdGhhdCBzcGVjaVwyMTRlcyBobykuMjUgRiAzLjI4KHd0KQotLS4yNSBHIC43OChoZSB0aW1pbmcpLTMuMjggRgotKGluZm9ybWF0aW9uIHNob3VsZCBiZSBkaXNwbGF5ZWQ7IHNlZSB0aGUgZGVzY3JpcHRpb24gb2YpMTA4IDI2Ni40IFEgRjQKLShUSU1FRk9STUEpMi41IEUoVCktLjg1NSBFIEYwKHVuZGVyKTIuMjUgRSBGMShTaGVsbCBWKTIuNSBFKGFyaWFibGVzKQotLS45MiBFIEYwKGJlbG8pMi41IEUgLS42NSh3LiktLjI1IEcoRWFjaCBjb21tYW5kIGluIGEgcGlwZWxpbmUgaXMgZSkxMDgKLTI4My4yIFEgLS4xNSh4ZSktLjE1IEcKKzIuNjM5IEYgLjMwMihpXDIxNGVkIGJ5IFBPU0lYLikxMDggMjU0LjQgUiAuMzAzKFdoZW4gdGhlIHNoZWxsIGlzIGluKQorNS4zMDIgRiBGMiAuMzAzKHBvc2l4IG1vZGUpMi44MDMgRiBGMCAyLjgwMygsaSlDIDIuODAzKHRkKS0yLjgwMyBHIC4zMDMKKyhvZXMgbm90IHJlY29nbml6ZSktMi44MDMgRiBGMSh0aW1lKTIuODAzIEUgRjAgLjMwMyhhcyBhIHJlc2VydikyLjgwMyBGCisuMzAzKGVkIHcpLS4xNSBGIC4zMDMob3JkIGlmIHRoZSBuZSktLjEgRih4dCktLjE1IEUodG9rKTEwOCAyNjYuNCBRIC43MzYKKyhlbiBiZSktLjEgRiAuNzM2KGdpbnMgd2l0aCBhIGAtJy4pLS4xNSBGKFRoZSk1LjczNiBFIEY0KFRJTUVGT1JNQSkzLjIzNgorRShUKS0uODU1IEUgRjAgLS4yNSh2YSkyLjk4NiBHIC43MzYKKyhyaWFibGUgbWF5IGJlIHNldCB0byBhIGZvcm1hdCBzdHJpbmcgdGhhdCBzcGVjaVwyMTRlcyBobykuMjUgRiAzLjIzNQorKHd0KS0uMjUgRyhoZSktMy4yMzUgRSAyLjIyNQorKHRpbWluZyBpbmZvcm1hdGlvbiBzaG91bGQgYmUgZGlzcGxheWVkOyBzZWUgdGhlIGRlc2NyaXB0aW9uIG9mKTEwOAorMjc4LjQgUiBGNChUSU1FRk9STUEpNC43MjYgRShUKS0uODU1IEUgRjAodW5kZXIpNC40NzYgRSBGMSAyLjIyNgorKFNoZWxsIFYpNC43MjYgRihhcmlhYmxlcyktLjkyIEUgRjAoYmVsbykxMDggMjkwLjQgUSAtLjY1KHcuKS0uMjUgRyAuODUKKyhXaGVuIHRoZSBzaGVsbCBpcyBpbikxMDggMzA3LjIgUiBGMiAuODUocG9zaXggbW9kZSkzLjM1IEYgRjAoLClBIEYxCisodGltZSkzLjM1IEUgRjAgLjg1KG1heSBiZSBmb2xsbykzLjM1IEYgLjg1KHdlZCBieSBhIG5lKS0uMjUgRiAzLjM1Cisod2xpbmUuIEluKS0uMjUgRiAuODUodGhpcyBjYXNlLCB0aGUgc2hlbGwgZGlzcGxheXMgdGhlKTMuMzUgRiAxLjA3MworKHRvdGFsIHVzZXIgYW5kIHN5c3RlbSB0aW1lIGNvbnN1bWVkIGJ5IHRoZSBzaGVsbCBhbmQgaXRzIGNoaWxkcmVuLikxMDgKKzMxOS4yIFIoVGhlKTYuMDc0IEUgRjQoVElNRUZPUk1BKTMuNTc0IEUoVCktLjg1NSBFIEYwIC0uMjUodmEpMy4zMjQgRworMS4wNzQocmlhYmxlIG1heSBiZSkuMjUgRgorKHVzZWQgdG8gc3BlY2lmeSB0aGUgZm9ybWF0IG9mIHRoZSB0aW1lIGluZm9ybWF0aW9uLikxMDggMzMxLjIgUQorKEVhY2ggY29tbWFuZCBpbiBhIHBpcGVsaW5lIGlzIGUpMTA4IDM0OCBRIC0uMTUoeGUpLS4xNSBHCiAoY3V0ZWQgYXMgYSBzZXBhcmF0ZSBwcm9jZXNzIFwoaS5lLiwgaW4gYSBzdWJzaGVsbFwpLikuMTUgRSBGMShMaXN0cyk4NwotMzAwIFEgRjAoQSkxMDggMzEyIFEgRjIobGlzdCkyLjYwMSBFIEYwIC4xMDEoaXMgYSBzZXF1ZW5jZSBvZiBvbmUgb3IgbW9cCi1yZSBwaXBlbGluZXMgc2VwYXJhdGVkIGJ5IG9uZSBvZiB0aGUgb3BlcmF0b3JzKTIuNjAxIEYgRjEoOykyLjYgRSBGMCgsKUEKLUYxKCYpMi42IEUgRjAoLClBIEYxKCYmKTIuNiBFIEYwIDIuNigsbylDKHIpLTIuNiBFIEYzPGVmZWY+Mi42IEUgRjAgMi42Ci0oLGEpQyAuMShuZCBvcHRpb24tKS0yLjYgRihhbGx5IHRlcm1pbmF0ZWQgYnkgb25lIG9mKTEwOCAzMjQgUSBGMSg7KTIuNQotRSBGMCgsKUEgRjEoJikyLjUgRSBGMCAyLjUoLG8pQyhyKS0yLjUgRSBGMSg8bmV3bGluZT4pMi41IEUgRjAoLilBIC42NTYKLShPZiB0aGVzZSBsaXN0IG9wZXJhdG9ycywpMTA4IDM0MC44IFIgRjEoJiYpMy4xNTYgRSBGMChhbmQpMy4xNTYgRSBGMwotPGVmZWY+My4xNTYgRSBGMChoYSkzLjE1NiBFIC45NTYgLS4xNSh2ZSBlKS0uMiBIIC42NTYKLShxdWFsIHByZWNlZGVuY2UsIGZvbGxvKS4xNSBGIC42NTYod2VkIGJ5KS0uMjUgRiBGMSg7KTMuMTU2IEUgRjAoYW5kKQotMy4xNTYgRSBGMSgmKTMuMTU2IEUgRjAgMy4xNTYoLHcpQyAuNjU2KGhpY2ggaGEpLTMuMTU2IEYgLjk1NyAtLjE1KHZlIGUpCi0tLjIgSCAuNjU3KHF1YWwgcHJlY2UtKS4xNSBGKGRlbmNlLikxMDggMzUyLjggUSAyLjUoQXMpMTA4IDM2OS42IFMKLShlcXVlbmNlIG9mIG9uZSBvciBtb3JlIG5lKS0yLjUgRSh3bGluZXMgbWF5IGFwcGVhciBpbiBhKS0uMjUgRSBGMihsaXN0KQotMi41IEUgRjAoaW5zdGVhZCBvZiBhIHNlbWljb2xvbiB0byBkZWxpbWl0IGNvbW1hbmRzLikyLjUgRSAuMDI5Ci0oSWYgYSBjb21tYW5kIGlzIHRlcm1pbmF0ZWQgYnkgdGhlIGNvbnRyb2wgb3BlcmF0b3IpMTA4IDM4Ni40IFIgRjEoJikKKzM2NC44IFEgRjAoQSkxMDggMzc2LjggUSBGMihsaXN0KTIuODUgRSBGMCAuMzUoaXMgYSBzZXF1ZW5jZSBvZiBvbmUgb3IgXAorbW9yZSBwaXBlbGluZXMgc2VwYXJhdGVkIGJ5IG9uZSBvZiB0aGUgb3BlcmF0b3JzKTIuODUgRiBGMSg7KTIuODQ5IEUgRjAKKygsKUEgRjEoJikyLjg0OSBFIEYwKCwpQSBGMSgmJikyLjg0OSBFIEYwIDIuODQ5KCxvKUMociktMi44NDkgRSBGMSh8fCkKKzIuODQ5IEUgRjAgMi44NDkoLGEpQyAuMzQ5KG5kIG9wdGlvbi0pLTIuODQ5IEYKKyhhbGx5IHRlcm1pbmF0ZWQgYnkgb25lIG9mKTEwOCAzODguOCBRIEYxKDspMi41IEUgRjAoLClBIEYxKCYpMi41IEUgRjAKKzIuNSgsbylDKHIpLTIuNSBFIEYxKDxuZXdsaW5lPikyLjUgRSBGMCguKUEgLjk2CisoT2YgdGhlc2UgbGlzdCBvcGVyYXRvcnMsKTEwOCA0MDUuNiBSIEYxKCYmKTMuNDYgRSBGMChhbmQpMy40NiBFIEYxKHx8KQorMy40NiBFIEYwKGhhKTMuNDYgRSAxLjI2IC0uMTUodmUgZSktLjIgSCAuOTYxKHF1YWwgcHJlY2VkZW5jZSwgZm9sbG8pLjE1CitGIC45NjEod2VkIGJ5KS0uMjUgRiBGMSg7KTMuNDYxIEUgRjAoYW5kKTMuNDYxIEUgRjEoJikzLjQ2MSBFIEYwIDMuNDYxCisoLHcpQyAuOTYxKGhpY2ggaGEpLTMuNDYxIEYgMS4yNjEgLS4xNSh2ZSBlKS0uMiBIIC45NjEocXVhbCBwcmVjZS0pLjE1IEYKKyhkZW5jZS4pMTA4IDQxNy42IFEgMi41KEFzKTEwOCA0MzQuNCBTKGVxdWVuY2Ugb2Ygb25lIG9yIG1vcmUgbmUpLTIuNSBFCisod2xpbmVzIG1heSBhcHBlYXIgaW4gYSktLjI1IEUgRjIobGlzdCkyLjUgRSBGMAorKGluc3RlYWQgb2YgYSBzZW1pY29sb24gdG8gZGVsaW1pdCBjb21tYW5kcy4pMi41IEUgLjAyOQorKElmIGEgY29tbWFuZCBpcyB0ZXJtaW5hdGVkIGJ5IHRoZSBjb250cm9sIG9wZXJhdG9yKTEwOCA0NTEuMiBSIEYxKCYpCiAyLjUyOSBFIEYwIDIuNTI5KCx0KUMgLjAyOShoZSBzaGVsbCBlKS0yLjUyOSBGIC0uMTUoeGUpLS4xNSBHIC4wMjkKIChjdXRlcyB0aGUgY29tbWFuZCBpbiB0aGUpLjE1IEYgRjIoYmFjKTIuNTI4IEUoa2dyKS0uMiBFKG91bmQpLS40NSBFIEYwCi0oaW4pMi41MjggRSAyLjg3NShhcykxMDggMzk4LjQgUyAyLjg3NSh1YnNoZWxsLiBUaGUpLTIuODc1IEYgLjM3NQorKGluKTIuNTI4IEUgMi44NzUoYXMpMTA4IDQ2My4yIFMgMi44NzUodWJzaGVsbC4gVGhlKS0yLjg3NSBGIC4zNzUKIChzaGVsbCBkb2VzIG5vdCB3KTIuODc1IEYgLjM3NQogKGFpdCBmb3IgdGhlIGNvbW1hbmQgdG8gXDIxNG5pc2gsIGFuZCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAwLiktLjEgRiAuMzc2Ci0oQ29tbWFuZHMgc2VwYS0pNS4zNzYgRiAuODQ5KHJhdGVkIGJ5IGEpMTA4IDQxMC40IFIgRjEoOykzLjM0OSBFIEYwIC44NDkKKyhDb21tYW5kcyBzZXBhLSk1LjM3NiBGIC44NDkocmF0ZWQgYnkgYSkxMDggNDc1LjIgUiBGMSg7KTMuMzQ5IEUgRjAgLjg0OQogKGFyZSBlKTMuMzQ5IEYgLS4xNSh4ZSktLjE1IEcgLjg0OChjdXRlZCBzZXF1ZW50aWFsbHk7IHRoZSBzaGVsbCB3KS4xNSBGCiAuODQ4KGFpdHMgZm9yIGVhY2ggY29tbWFuZCB0byB0ZXJtaW5hdGUgaW4gdHVybi4pLS4xIEYgLjg0OChUaGUgcmV0dXJuKQotNS44NDggRihzdGF0dXMgaXMgdGhlIGUpMTA4IDQyMi40IFEoeGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpCi0tLjE1IEUgLS4xNSh4ZSktLjE1IEcoY3V0ZWQuKS4xNSBFIC42MzIoQU5EIGFuZCBPUiBsaXN0cyBhcmUgc2VxdWVuY2VzIFwKLW9mIG9uZSBvZiBtb3JlIHBpcGVsaW5lcyBzZXBhcmF0ZWQgYnkgdGhlKTEwOCA0MzkuMiBSIEYxKCYmKTMuMTMyIEUgRjAKLShhbmQpMy4xMzMgRSBGMzxlZmVmPjMuMTMzIEUgRjAgLjYzMyhjb250cm9sIG9wZXJhdG9ycywpMy4xMzMgRgotKHJlc3BlY3RpKTEwOCA0NTEuMiBRIC0uMTUodmUpLS4yNSBHKGx5KS4xNSBFIDUoLkEpLS42NSBHCi0oTkQgYW5kIE9SIGxpc3RzIGFyZSBlKS01IEUgLS4xNSh4ZSktLjE1IEcoY3V0ZWQgd2l0aCBsZWZ0IGFzc29jaWF0aSkuMTUKLUUodml0eSktLjI1IEUgNSguQSktLjY1IEcgMi41KG5BKS01IEcoTkQgbGlzdCBoYXMgdGhlIGZvcm0pLTIuNSBFIEYyCi0oY29tbWFuZDEpMTQ0IDQ2OCBRIEYxKCYmKTIuNSBFIEYyKGNvbW1hbmQyKTIuNSBFKGNvbW1hbmQyKTEwOC4yIDQ4NC44IFEKLUYwKGlzIGUpMi41MiBFIC0uMTUoeGUpLS4xNSBHKGN1dGVkIGlmLCBhbmQgb25seSBpZiwpLjE1IEUgRjIoY29tbWFuZDEpCi0yLjcgRSBGMChyZXR1cm5zIGFuIGUpMi41IEUoeGl0IHN0YXR1cyBvZiB6ZXJvLiktLjE1IEUKLShBbiBPUiBsaXN0IGhhcyB0aGUgZm9ybSkxMDggNTAxLjYgUSBGMihjb21tYW5kMSkxNDQgNTE4LjQgUSBGMzxlZmVmPjIuNQotRSBGMihjb21tYW5kMikyLjUgRShjb21tYW5kMikxMDguMiA1NDAgUSBGMCAuNzI5KGlzIGUpMy4yNDkgRiAtLjE1KHhlKQotLS4xNSBHIC43MjkoY3V0ZWQgaWYgYW5kIG9ubHkgaWYpLjE1IEYgRjIoY29tbWFuZDEpMy40MjkgRSBGMCAuNzI5Ci0ocmV0dXJucyBhIG5vbi16ZXJvIGUpMy4yMjkgRiAuNzI5KHhpdCBzdGF0dXMuKS0uMTUgRiAuNzI4Ci0oVGhlIHJldHVybiBzdGF0dXMgb2YgQU5EKTUuNzI5IEYoYW5kIE9SIGxpc3RzIGlzIHRoZSBlKTEwOCA1NTIgUQotKHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKS0uMTUgRSAtLjE1KHhlKS0uMTUgRwotKGN1dGVkIGluIHRoZSBsaXN0LikuMTUgRSBGMShDb21wb3VuZCBDb21tYW5kcyk4NyA1NjguOCBRIEYwKEEpMTA4IDU4MC44Cis1Ljg0OCBGKHN0YXR1cyBpcyB0aGUgZSkxMDggNDg3LjIgUSh4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZSkKKy0uMTUgRSAtLjE1KHhlKS0uMTUgRyhjdXRlZC4pLjE1IEUgLjkzNyhBTkQgYW5kIE9SIGxpc3RzIGFyZSBzZXF1ZW5jZXMgXAorb2Ygb25lIG9mIG1vcmUgcGlwZWxpbmVzIHNlcGFyYXRlZCBieSB0aGUpMTA4IDUwNCBSIEYxKCYmKTMuNDM3IEUgRjAKKyhhbmQpMy40MzcgRSBGMSh8fCkzLjQzNyBFIEYwIC45MzcoY29udHJvbCBvcGVyYXRvcnMsKTMuNDM3IEYocmVzcGVjdGkpCisxMDggNTE2IFEgLS4xNSh2ZSktLjI1IEcobHkpLjE1IEUgNSguQSktLjY1IEcoTkQgYW5kIE9SIGxpc3RzIGFyZSBlKS01IEUKKy0uMTUoeGUpLS4xNSBHKGN1dGVkIHdpdGggbGVmdCBhc3NvY2lhdGkpLjE1IEUodml0eSktLjI1IEUgNSguQSktLjY1IEcKKzIuNShuQSktNSBHKE5EIGxpc3QgaGFzIHRoZSBmb3JtKS0yLjUgRSBGMihjb21tYW5kMSkxNDQgNTMyLjggUSBGMSgmJikKKzIuNSBFIEYyKGNvbW1hbmQyKTIuNSBFKGNvbW1hbmQyKTEwOC4yIDU0OS42IFEgRjAoaXMgZSkyLjUyIEUgLS4xNSh4ZSkKKy0uMTUgRyhjdXRlZCBpZiwgYW5kIG9ubHkgaWYsKS4xNSBFIEYyKGNvbW1hbmQxKTIuNyBFIEYwKHJldHVybnMgYW4gZSkKKzIuNSBFKHhpdCBzdGF0dXMgb2YgemVyby4pLS4xNSBFKEFuIE9SIGxpc3QgaGFzIHRoZSBmb3JtKTEwOCA1NjYuNCBRIEYyCisoY29tbWFuZDEpMTQ0IDU4My4yIFEgRjEofHwpMi41IEUgRjIoY29tbWFuZDIpMi41IEUoY29tbWFuZDIpMTA4LjIgNjA0LjgKK1EgRjAgLjcyOShpcyBlKTMuMjQ5IEYgLS4xNSh4ZSktLjE1IEcgLjcyOShjdXRlZCBpZiBhbmQgb25seSBpZikuMTUgRiBGMgorKGNvbW1hbmQxKTMuNDI5IEUgRjAgLjcyOShyZXR1cm5zIGEgbm9uLXplcm8gZSkzLjIyOSBGIC43MjkoeGl0IHN0YXR1cy4pCistLjE1IEYgLjcyOChUaGUgcmV0dXJuIHN0YXR1cyBvZiBBTkQpNS43MjkgRihhbmQgT1IgbGlzdHMgaXMgdGhlIGUpMTA4Cis2MTYuOCBRKHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKS0uMTUgRSAtLjE1KHhlKS0uMTUgRworKGN1dGVkIGluIHRoZSBsaXN0LikuMTUgRSBGMShDb21wb3VuZCBDb21tYW5kcyk4NyA2MzMuNiBRIEYwKEEpMTA4IDY0NS42CiBRIEYyKGNvbXBvdW5kIGNvbW1hbmQpMi41IEUgRjAoaXMgb25lIG9mIHRoZSBmb2xsbykyLjUgRSh3aW5nOiktLjI1IEUKLShcKCkxMDggNTk3LjYgUSBGMihsaXN0KUEgRjAoXCkpQSBGMihsaXN0KTE3LjExIEUgRjAgLjAxMShpcyBlKTIuNTExIEYKKyhcKCkxMDggNjYyLjQgUSBGMihsaXN0KUEgRjAoXCkpQSBGMihsaXN0KTE3LjExIEUgRjAgLjAxMShpcyBlKTIuNTExIEYKIC0uMTUoeGUpLS4xNSBHIC4wMTEoY3V0ZWQgaW4gYSBzdWJzaGVsbCBlbikuMTUgRiAuMDExKHZpcm9ubWVudCBcKHNlZSkKIC0uNCBGIEY0IC4wMTEoQ09NTUFORCBFWEVDVVRJT04gRU5WSVIpMi41MTEgRihPTk1FTlQpLS4yNyBFIEYwKGJlbG8pCi0yLjI2MiBFKHdcKS4pLS4yNSBFIC0xLjExKFZhKTE0NCA2MDkuNiBTIDEuMDY0KHJpYWJsZSBhc3NpZ25tZW50cyBhbmQgYikKKzIuMjYyIEUod1wpLiktLjI1IEUgLTEuMTEoVmEpMTQ0IDY3NC40IFMgMS4wNjQocmlhYmxlIGFzc2lnbm1lbnRzIGFuZCBiKQogMS4xMSBGIDEuMDY0KHVpbHRpbiBjb21tYW5kcyB0aGF0IGFmKS0uMiBGIDEuMDY0KGZlY3QgdGhlIHNoZWxsJyktLjI1IEYKIDMuNTY0KHNlKS0uNTUgRyAtLjQobnYpLTMuNTY0IEcgMS4wNjQoaXJvbm1lbnQgZG8gbm90IHJlbWFpbiBpbikuNCBGKGVmKQotMTQ0IDYyMS42IFEoZmVjdCBhZnRlciB0aGUgY29tbWFuZCBjb21wbGV0ZXMuKS0uMjUgRQorMTQ0IDY4Ni40IFEoZmVjdCBhZnRlciB0aGUgY29tbWFuZCBjb21wbGV0ZXMuKS0uMjUgRQogKFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSBlKTUgRSh4aXQgc3RhdHVzIG9mKS0uMTUgRSBGMihsaXN0KTIuNSBFIEYwKC4pCi1BKHspMTA4IDYzOC40IFEgRjIobGlzdCkyLjUgRSBGMCAyLjUoO30pQyBGMihsaXN0KTMuODkgRSBGMCAuNDAxCitBKHspMTA4IDcwMy4yIFEgRjIobGlzdCkyLjUgRSBGMCAyLjUoO30pQyBGMihsaXN0KTMuODkgRSBGMCAuNDAxCiAoaXMgc2ltcGx5IGUpMi45MDEgRiAtLjE1KHhlKS0uMTUgRyAuNDAxKGN1dGVkIGluIHRoZSBjdXJyZW50IHNoZWxsIGVuKQogLjE1IEYodmlyb25tZW50LiktLjQgRSBGMihsaXN0KTUuNDAxIEUgRjAgLjQwMgogKG11c3QgYmUgdGVybWluYXRlZCB3aXRoIGEgbmUpMi45MDEgRiAuNDAyKHdsaW5lIG9yKS0uMjUgRiAzLjIxNQotKHNlbWljb2xvbi4gVGhpcykxNDQgNjUwLjQgUiAuNzE1KGlzIGtubykzLjIxNSBGIC43MTUod24gYXMgYSktLjI1IEYgRjIKKyhzZW1pY29sb24uIFRoaXMpMTQ0IDcxNS4yIFIgLjcxNShpcyBrbm8pMy4yMTUgRiAuNzE1KHduIGFzIGEpLS4yNSBGIEYyCiAoZ3IpMy4yMTUgRSAuNzE1KG91cCBjb21tYW5kKS0uNDUgRiBGMCA1LjcxNSguVClDIC43MTUKIChoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSBlKS01LjcxNSBGIC43MTQoeGl0IHN0YXR1cyBvZiktLjE1IEYgRjIobGlzdCkKLTMuMjE0IEUgRjAgNS43MTQoLk4pQyhvdGUpLTUuNzE0IEUgLjIxOSh0aGF0IHVubGlrKTE0NCA2NjIuNCBSIDIuNzE5KGV0KQorMy4yMTQgRSBGMCA1LjcxNCguTilDKG90ZSktNS43MTQgRSAuMjE5KHRoYXQgdW5saWspMTQ0IDcyNy4yIFIgMi43MTkoZXQpCiAtLjEgRyAuMjE5KGhlIG1ldGFjaGFyYWN0ZXJzKS0yLjcxOSBGIEYxKFwoKTIuNzE5IEUgRjAoYW5kKTIuNzE5IEUgRjEKIChcKSkyLjcxOSBFIEYwKCwpQSBGMSh7KTIuNzE5IEUgRjAoYW5kKTIuNzE5IEUgRjEofSkyLjcxOSBFIEYwKGFyZSkyLjcxOQogRSBGMiAtLjM3KHJlKTIuNzIgRyAuMjIoc2VydmVkIHdvcikuMzcgRihkcyktLjM3IEUgRjAgLjIyCi0oYW5kIG11c3Qgb2NjdXIgd2hlcmUgYSByZXNlcnYpMi43MiBGKGVkKS0uMTUgRSAtLjEod28pMTQ0IDY3NC40IFMgLjI1NwotKHJkIGlzIHBlcm1pdHRlZCB0byBiZSByZWNvZ25pemVkLikuMSBGIC4yNTcoU2luY2UgdGhlKTUuMjU3IEYgMi43NTcoeWQpCi0tLjE1IEcgMi43NTYob24pLTIuNzU3IEcgLjI1NihvdCBjYXVzZSBhIHcpLTIuNzU2IEYgLjI1NihvcmQgYnJlYWssIHRoZSkKLS0uMSBGIDIuNzU2KHltKS0uMTUgRyAuMjU2KHVzdCBiZSBzZXBhcmF0ZWQpLTIuNzU2IEYoZnJvbSkxNDQgNjg2LjQgUSBGMgotKGxpc3QpMi41IEUgRjAoYnkgd2hpdGVzcGFjZSBvciBhbm90aGVyIHNoZWxsIG1ldGFjaGFyYWN0ZXIpMi41IEUoLiktLjU1Ci1FKFwoXCgpMTA4IDcwMy4yIFEgRjIgLS4yKGV4KUMocHIpLjIgRShlc3Npb24pLS4zNyBFIEYwKFwpXCkpQShUaGUpMTQ0Ci03MTUuMiBRIEYyIC0uMihleCkyLjU1MSBHKHByKS4yIEUoZXNzaW9uKS0uMzcgRSBGMCAuMDUxKGlzIGUpMi41NTEgRgotLS4yNSh2YSktLjI1IEcgLjA1MShsdWF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBkZXNjcmliZWQgYmVsbykuMjUgRgotMi41NTIod3UpLS4yNSBHKG5kZXIpLTIuNTUyIEUgRjQgLjA1MihBUklUSE1FVElDIEVWKTIuNTUyIEYoQUxVKS0xLjIxNSBFCi0oQS0pLS41NCBFKFRJT04pMTQ0IDcyNy4yIFEvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAuNDExKElmIHRoZSB2KQotNC45MTEgRiAuNDExKGFsdWUgb2YgdGhlIGUpLS4yNSBGIC40MTEoeHByZXNzaW9uIGlzIG5vbi16ZXJvLCB0aGUgcmV0dXJcCi1uIHN0YXR1cyBpcyAwOyBvdGhlcndpc2UgdGhlIHJldHVybiBzdGF0dXMpLS4xNSBGKEdOVSBCYXNoLTQuMSk3MiA3NjggUQotKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDQpMTkwLjk1NSBFIDAgQ2cgRVAKKyhhbmQgbXVzdCBvY2N1ciB3aGVyZSBhIHJlc2VydikyLjcyIEYoZWQpLS4xNSBFKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDQpMTkwLjk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNSA1CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFKGlzIDEuKTE0NCA4NCBRKFRoaXMgaXMgZSk1IEUoeGFjdGx5IGVxdWkpLS4xNSBFIC0uMjUodmEpLS4yNSBHCi0obGVudCB0bykuMjUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YobGV0ICIpMi41IEUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKLS0uMihleClDKHByKS4yIEUoZXNzaW9uKS0uMzcgRSBGMSgiKUEgRjAoLilBIEYxKFtbKTEwOCAxMDAuOCBRIEYyIC0uMgotKGV4KTIuNSBHKHByKS4yIEUoZXNzaW9uKS0uMzcgRSBGMShdXSkyLjUgRSBGMCAxLjI5OQotKFJldHVybiBhIHN0YXR1cyBvZiAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBlKTE0NCAxMTIuOCBSIC0uMjUodmEpLS4yNSBHCi0xLjMobHVhdGlvbiBvZiB0aGUgY29uZGl0aW9uYWwgZSkuMjUgRih4cHJlc3Npb24pLS4xNSBFIEYyIC0uMihleCkzLjggRworLS4zNSBFIC0uMSh3bykxNDQgODQgUyAuMjU3KHJkIGlzIHBlcm1pdHRlZCB0byBiZSByZWNvZ25pemVkLikuMSBGIC4yNTcKKyhTaW5jZSB0aGUpNS4yNTcgRiAyLjc1Nyh5ZCktLjE1IEcgMi43NTYob24pLTIuNzU3IEcgLjI1NihvdCBjYXVzZSBhIHcpCistMi43NTYgRiAuMjU2KG9yZCBicmVhaywgdGhlKS0uMSBGIDIuNzU2KHltKS0uMTUgRyAuMjU2CisodXN0IGJlIHNlcGFyYXRlZCktMi43NTYgRihmcm9tKTE0NCA5NiBRL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKGxpc3QpCisyLjUgRSBGMChieSB3aGl0ZXNwYWNlIG9yIGFub3RoZXIgc2hlbGwgbWV0YWNoYXJhY3RlcikyLjUgRSguKS0uNTUgRQorKFwoXCgpMTA4IDExMi44IFEgRjEgLS4yKGV4KUMocHIpLjIgRShlc3Npb24pLS4zNyBFIEYwKFwpXCkpQShUaGUpMTQ0CisxMjQuOCBRIEYxIC0uMihleCkyLjU1MSBHKHByKS4yIEUoZXNzaW9uKS0uMzcgRSBGMCAuMDUxKGlzIGUpMi41NTEgRgorLS4yNSh2YSktLjI1IEcgLjA1MShsdWF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBkZXNjcmliZWQgYmVsbykuMjUgRgorMi41NTIod3UpLS4yNSBHKG5kZXIpLTIuNTUyIEUvRjIgOS9UaW1lcy1Cb2xkQDAgU0YgLjA1MihBUklUSE1FVElDIEVWKQorMi41NTIgRihBTFUpLTEuMjE1IEUoQS0pLS41NCBFKFRJT04pMTQ0IDEzNi44IFEvRjMgOS9UaW1lcy1Sb21hbkAwIFNGKC4pCitBIEYwIC40MTEoSWYgdGhlIHYpNC45MTEgRiAuNDExKGFsdWUgb2YgdGhlIGUpLS4yNSBGIC40MTEoeHByZXNzaW9uIGlzIFwKK25vbi16ZXJvLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAwOyBvdGhlcndpc2UgdGhlIHJldHVybiBzdGF0dXMpLS4xNSBGCisoaXMgMS4pMTQ0IDE0OC44IFEoVGhpcyBpcyBlKTUgRSh4YWN0bHkgZXF1aSktLjE1IEUgLS4yNSh2YSktLjI1IEcKKyhsZW50IHRvKS4yNSBFL0Y0IDEwL1RpbWVzLUJvbGRAMCBTRihsZXQgIikyLjUgRSBGMSAtLjIoZXgpQyhwcikuMiBFCisoZXNzaW9uKS0uMzcgRSBGNCgiKUEgRjAoLilBIEY0KFtbKTEwOCAxNjUuNiBRIEYxIC0uMihleCkyLjUgRyhwcikuMiBFCisoZXNzaW9uKS0uMzcgRSBGNChdXSkyLjUgRSBGMCAxLjI5OQorKFJldHVybiBhIHN0YXR1cyBvZiAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBlKTE0NCAxNzcuNiBSIC0uMjUodmEpLS4yNSBHCisxLjMobHVhdGlvbiBvZiB0aGUgY29uZGl0aW9uYWwgZSkuMjUgRih4cHJlc3Npb24pLS4xNSBFIEYxIC0uMihleCkzLjggRwogKHByKS4yIEUoZXNzaW9uKS0uMzcgRSBGMCguKUEgMi4yNzQKLShFeHByZXNzaW9ucyBhcmUgY29tcG9zZWQgb2YgdGhlIHByaW1hcmllcyBkZXNjcmliZWQgYmVsbykxNDQgMTI0LjggUgotNC43NzMod3UpLS4yNSBHKG5kZXIpLTQuNzczIEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoQ09ORElUSU9OKTQuNzczIEUKLTIuMjczKEFMIEVYUFJFUy0pLS4xOCBGKFNJT05TKTE0NCAxMzYuOCBRL0Y0IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAKLS0uOChXbyk1LjYzMiBHIDEuMTMzKHJkIHNwbGl0dGluZyBhbmQgcGF0aG5hbWUgZSkuOCBGIDEuMTMzCisoRXhwcmVzc2lvbnMgYXJlIGNvbXBvc2VkIG9mIHRoZSBwcmltYXJpZXMgZGVzY3JpYmVkIGJlbG8pMTQ0IDE4OS42IFIKKzQuNzczKHd1KS0uMjUgRyhuZGVyKS00Ljc3MyBFIEYyKENPTkRJVElPTik0Ljc3MyBFIDIuMjczKEFMIEVYUFJFUy0pLS4xOAorRihTSU9OUykxNDQgMjAxLjYgUSBGMyguKUEgRjAgLS44KFdvKTUuNjMyIEcgMS4xMzMKKyhyZCBzcGxpdHRpbmcgYW5kIHBhdGhuYW1lIGUpLjggRiAxLjEzMwogKHhwYW5zaW9uIGFyZSBub3QgcGVyZm9ybWVkIG9uIHRoZSB3KS0uMTUgRiAxLjEzMyhvcmRzIGJldHdlZW4gdGhlKS0uMSBGCi1GMShbWykzLjYzMyBFIEYwKGFuZCkxNDQgMTQ4LjggUSBGMShdXSkyLjk2NCBFIEYwIDIuOTY0KDt0KUMgLjQ2NAorRjQoW1spMy42MzMgRSBGMChhbmQpMTQ0IDIxMy42IFEgRjQoXV0pMi45NjQgRSBGMCAyLjk2NCg7dClDIC40NjQKIChpbGRlIGUpLTIuOTY0IEYgLjQ2NCh4cGFuc2lvbiwgcGFyYW1ldGVyIGFuZCB2KS0uMTUgRiAuNDY0KGFyaWFibGUgZSkKIC0uMjUgRiAuNDYzKHhwYW5zaW9uLCBhcml0aG1ldGljIGUpLS4xNSBGIC40NjMKICh4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGktKS0uMTUgRiAxLjA4MQotKHR1dGlvbiwgcHJvY2VzcyBzdWJzdGl0dXRpb24sIGFuZCBxdW90ZSByZW1vKTE0NCAxNjAuOCBSIC0uMjUodmEpLS4xNSBHCisodHV0aW9uLCBwcm9jZXNzIHN1YnN0aXR1dGlvbiwgYW5kIHF1b3RlIHJlbW8pMTQ0IDIyNS42IFIgLS4yNSh2YSktLjE1IEcKIDMuNTgxKGxhKS4yNSBHIDEuMDgxKHJlIHBlcmZvcm1lZC4pLTMuNTgxIEYgMS4wODEKLShDb25kaXRpb25hbCBvcGVyYXRvcnMgc3VjaCBhcyk2LjA4MSBGIEYxPGFkNjY+My41ODEgRSBGMAotKG11c3QgYmUgdW5xdW90ZWQgdG8gYmUgcmVjb2duaXplZCBhcyBwcmltYXJpZXMuKTE0NCAxNzIuOCBRCi0oV2hlbiB1c2VkIHdpdGgpMTQ0IDE5MC44IFEgRjEoW1spMi41IEUgRjAgMi41KCxUKUMoaGUpLTIuNSBFIEYxKDwpMi41IEUKLUYwKGFuZCkyLjUgRSBGMSg+KTIuNSBFIEYwKG9wZXJhdG9ycyBzb3J0IGxlKTIuNSBFCisoQ29uZGl0aW9uYWwgb3BlcmF0b3JzIHN1Y2ggYXMpNi4wODEgRiBGNDxhZDY2PjMuNTgxIEUgRjAKKyhtdXN0IGJlIHVucXVvdGVkIHRvIGJlIHJlY29nbml6ZWQgYXMgcHJpbWFyaWVzLikxNDQgMjM3LjYgUQorKFdoZW4gdXNlZCB3aXRoKTE0NCAyNTUuNiBRIEY0KFtbKTIuNSBFIEYwIDIuNSgsdClDKGhlKS0yLjUgRSBGNCg8KTIuNSBFCitGMChhbmQpMi41IEUgRjQoPikyLjUgRSBGMChvcGVyYXRvcnMgc29ydCBsZSkyLjUgRQogKHhpY29ncmFwaGljYWxseSB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuKS0uMTUgRSAuNTAzKFdoZW4gdGhlKTE0NAotMjA4LjggUiBGMSg9PSkzLjAwMyBFIEYwKGFuZCkzLjAwMiBFIEYxKCE9KTMuMDAyIEUgRjAgLjUwMihvcGVyYXRvcnMgYXJcCisyNzMuNiBSIEY0KD09KTMuMDAzIEUgRjAoYW5kKTMuMDAyIEUgRjQoIT0pMy4wMDIgRSBGMCAuNTAyKG9wZXJhdG9ycyBhclwKIGUgdXNlZCwgdGhlIHN0cmluZyB0byB0aGUgcmlnaHQgb2YgdGhlIG9wZXJhdG9yIGlzIGNvbnNpZGVyZWQgYSBwYXQtKQogMy4wMDIgRiAxLjIyNCh0ZXJuIGFuZCBtYXRjaGVkIGFjY29yZGluZyB0byB0aGUgcnVsZXMgZGVzY3JpYmVkIGJlbG8pMTQ0Ci0yMjAuOCBSIDMuNzI0KHd1KS0uMjUgRyhuZGVyKS0zLjcyNCBFIEYxIC0uMShQYSkzLjcyNCBHKHR0ZXIpLjEgRSAzLjcyNQorMjg1LjYgUiAzLjcyNCh3dSktLjI1IEcobmRlciktMy43MjQgRSBGNCAtLjEoUGEpMy43MjQgRyh0dGVyKS4xIEUgMy43MjUKIChuTSktLjE1IEcoYXRjaGluZyktMy43MjUgRSBGMCA2LjIyNSguSSlDIDMuNzI1KGZ0KS02LjIyNSBHIDEuMjI1Ci0oaGUgc2hlbGwpLTMuNzI1IEYob3B0aW9uKTE0NCAyMzIuOCBRIEYxKG5vY2FzZW1hdGNoKTMuNDA1IEUgRjAgLjkwNAorKGhlIHNoZWxsKS0zLjcyNSBGKG9wdGlvbikxNDQgMjk3LjYgUSBGNChub2Nhc2VtYXRjaCkzLjQwNSBFIEYwIC45MDQKIChpcyBlbmFibGVkLCB0aGUgbWF0Y2ggaXMgcGVyZm9ybWVkIHdpdGhvdXQgcmUpMy40MDUgRiAtLjA1KGdhKS0uMTUgRwotLjkwNChyZCB0byB0aGUgY2FzZSBvZiBhbHBoYWJldGljKS4wNSBGIDIuNzUxKGNoYXJhY3RlcnMuIFRoZSkxNDQgMjQ0LjgKKy45MDQocmQgdG8gdGhlIGNhc2Ugb2YgYWxwaGFiZXRpYykuMDUgRiAyLjc1MShjaGFyYWN0ZXJzLiBUaGUpMTQ0IDMwOS42CiBSIC4yNTEocmV0dXJuIHYpMi43NTEgRiAuMjUxKGFsdWUgaXMgMCBpZiB0aGUgc3RyaW5nIG1hdGNoZXMgXCgpLS4yNSBGCi1GMSg9PSlBIEYwIDIuNzUxKFwpbylDIDIuNzUxKHJkKS0yLjc1MSBHIC4yNTEob2VzIG5vdCBtYXRjaCBcKCktMi43NTEgRgotRjEoIT0pQSBGMCAyLjc1MShcKXQpQyAuMjUyKGhlIHBhdHRlcm4sIGFuZCktMi43NTEgRiAyLjUoMW8pMTQ0IDI1Ni44IFMKK0Y0KD09KUEgRjAgMi43NTEoXClvKUMgMi43NTEocmQpLTIuNzUxIEcgLjI1MShvZXMgbm90IG1hdGNoIFwoKS0yLjc1MSBGCitGNCghPSlBIEYwIDIuNzUxKFwpdClDIC4yNTIoaGUgcGF0dGVybiwgYW5kKS0yLjc1MSBGIDIuNSgxbykxNDQgMzIxLjYgUwogMi41KHRoZXJ3aXNlLiBBbiktMi41IEYgMi41KHlwKS0uMTUgRyhhcnQgb2YgdGhlIHBhdHRlcm4gbWF5IGJlIHF1b3RlZCBcCiB0byBmb3JjZSBpdCB0byBiZSBtYXRjaGVkIGFzIGEgc3RyaW5nLiktMi41IEUgLjI0MwotKEFuIGFkZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yKTE0NCAyNzQuOCBSKCwpLS40IEUgRjEoPX4pMi43NDMgRSBGMAorKEFuIGFkZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yKTE0NCAzMzkuNiBSKCwpLS40IEUgRjQoPX4pMi43NDMgRSBGMAogMi43NDMoLGkpQyAyLjc0MyhzYSktMi43NDMgRyAtLjI1KHZhKS0yLjk0MyBHIC4yNDMKLShpbGFibGUsIHdpdGggdGhlIHNhbWUgcHJlY2VkZW5jZSBhcykuMjUgRiBGMSg9PSkyLjc0MyBFIEYwKGFuZCkyLjc0MyBFCi1GMSghPSkyLjc0MyBFIEYwIDUuMjQzKC5XKUMgLjI0MyhoZW4gaXQgaXMpLTUuMjQzIEYgMS45NTMKKyhpbGFibGUsIHdpdGggdGhlIHNhbWUgcHJlY2VkZW5jZSBhcykuMjUgRiBGNCg9PSkyLjc0MyBFIEYwKGFuZCkyLjc0MyBFCitGNCghPSkyLjc0MyBFIEYwIDUuMjQzKC5XKUMgLjI0MyhoZW4gaXQgaXMpLTUuMjQzIEYgMS45NTMKICh1c2VkLCB0aGUgc3RyaW5nIHRvIHRoZSByaWdodCBvZiB0aGUgb3BlcmF0b3IgaXMgY29uc2lkZXJlZCBhbiBlKTE0NAotMjg2LjggUiAxLjk1NCh4dGVuZGVkIHJlKS0uMTUgRiAxLjk1NChndWxhciBlKS0uMTUgRiAxLjk1NAotKHhwcmVzc2lvbiBhbmQpLS4xNSBGIC4yMDcobWF0Y2hlZCBhY2NvcmRpbmdseSBcKGFzIGluKTE0NCAyOTguOCBSIEYyCiszNTEuNiBSIDEuOTU0KHh0ZW5kZWQgcmUpLS4xNSBGIDEuOTU0KGd1bGFyIGUpLS4xNSBGIDEuOTU0CisoeHByZXNzaW9uIGFuZCktLjE1IEYgLjIwNyhtYXRjaGVkIGFjY29yZGluZ2x5IFwoYXMgaW4pMTQ0IDM2My42IFIgRjEKIC0uMzcocmUpMi43MDcgRyAtLjEoZ2UpLS4wMyBHKHgpLS4xIEUgRjAgMi43MDcoXCgzXClcKS4gVGhlKUIgLjIwNwogKHJldHVybiB2KTIuNzA3IEYgLjIwNwogKGFsdWUgaXMgMCBpZiB0aGUgc3RyaW5nIG1hdGNoZXMgdGhlIHBhdHRlcm4sIGFuZCAxKS0uMjUgRiAzLjM0NQotKG90aGVyd2lzZS4gSWYpMTQ0IDMxMC44IFIgLjg0NSh0aGUgcmUpMy4zNDUgRiAuODQ1KGd1bGFyIGUpLS4xNSBGIC44NDYKKyhvdGhlcndpc2UuIElmKTE0NCAzNzUuNiBSIC44NDUodGhlIHJlKTMuMzQ1IEYgLjg0NShndWxhciBlKS0uMTUgRiAuODQ2CiAoeHByZXNzaW9uIGlzIHN5bnRhY3RpY2FsbHkgaW5jb3JyZWN0LCB0aGUgY29uZGl0aW9uYWwgZSktLjE1IEYKLSh4cHJlc3Npb24nKS0uMTUgRSAzLjM0NihzciktLjU1IEcoZXR1cm4pLTMuMzQ2IEUgLS4yNSh2YSkxNDQgMzIyLjggUwotLjY2NyhsdWUgaXMgMi4pLjI1IEYgLjY2NyhJZiB0aGUgc2hlbGwgb3B0aW9uKTUuNjY3IEYgRjEobm9jYXNlbWF0Y2gpCisoeHByZXNzaW9uJyktLjE1IEUgMy4zNDYoc3IpLS41NSBHKGV0dXJuKS0zLjM0NiBFIC0uMjUodmEpMTQ0IDM4Ny42IFMKKy42NjcobHVlIGlzIDIuKS4yNSBGIC42NjcoSWYgdGhlIHNoZWxsIG9wdGlvbik1LjY2NyBGIEY0KG5vY2FzZW1hdGNoKQogMy4xNjcgRSBGMCAuNjY3KGlzIGVuYWJsZWQsIHRoZSBtYXRjaCBpcyBwZXJmb3JtZWQgd2l0aG91dCByZSkzLjE2NyBGCiAtLjA1KGdhKS0uMTUgRyAuNjY2KHJkIHRvKS4wNSBGIC4zNzgodGhlIGNhc2Ugb2YgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzLikKLTE0NCAzMzQuOCBSKEFuKTUuMzc4IEUgMi44NzgoeXApLS4xNSBHIC4zNzgKKzE0NCAzOTkuNiBSKEFuKTUuMzc4IEUgMi44NzgoeXApLS4xNSBHIC4zNzgKIChhcnQgb2YgdGhlIHBhdHRlcm4gbWF5IGJlIHF1b3RlZCB0byBmb3JjZSBpdCB0byBiZSBtYXRjaGVkKS0yLjg3OCBGCi0uMjY1KGFzIGEgc3RyaW5nLikxNDQgMzQ2LjggUiAuMjY1CisuMjY1KGFzIGEgc3RyaW5nLikxNDQgNDExLjYgUiAuMjY1CiAoU3Vic3RyaW5ncyBtYXRjaGVkIGJ5IHBhcmVudGhlc2l6ZWQgc3ViZSk1LjI2NSBGIC4yNjUKICh4cHJlc3Npb25zIHdpdGhpbiB0aGUgcmUpLS4xNSBGIC4yNjUoZ3VsYXIgZSktLjE1IEYgLjI2NSh4cHJlc3Npb24gYXJlKQotLS4xNSBGKHNhKTE0NCAzNTguOCBRIC0uMTUodmUpLS4yIEcgMy4wOTYoZGkpLjE1IEcgMy4wOTcobnQpLTMuMDk2IEcKLS41OTcoaGUgYXJyYXkgdiktMy4wOTcgRihhcmlhYmxlKS0uMjUgRSBGMyAtLjI3KEJBKTMuMDk3IEcoU0hfUkVNQSkuMjcgRQotKFRDSCktLjg1NSBFIEY0KC4pQSBGMCAuNTk3KFRoZSBlbGVtZW50IG9mKTUuMDk3IEYgRjMgLS4yNyhCQSkzLjA5NyBHCistLjE1IEYoc2EpMTQ0IDQyMy42IFEgLS4xNSh2ZSktLjIgRyAzLjA5NihkaSkuMTUgRyAzLjA5NyhudCktMy4wOTYgRworLjU5NyhoZSBhcnJheSB2KS0zLjA5NyBGKGFyaWFibGUpLS4yNSBFIEYyIC0uMjcoQkEpMy4wOTcgRyhTSF9SRU1BKS4yNyBFCisoVENIKS0uODU1IEUgRjMoLilBIEYwIC41OTcoVGhlIGVsZW1lbnQgb2YpNS4wOTcgRiBGMiAtLjI3KEJBKTMuMDk3IEcKIChTSF9SRU1BKS4yNyBFKFRDSCktLjg1NSBFIEYwIC41OTcod2l0aCBpbmRlKTIuODQ3IEYgMy4wOTcoeDBpKS0uMTUgRyhzKQotLTMuMDk3IEUgLjA0OSh0aGUgcG9ydGlvbiBvZiB0aGUgc3RyaW5nIG1hdGNoaW5nIHRoZSBlbnRpcmUgcmUpMTQ0IDM3MC44CistMy4wOTcgRSAuMDQ5KHRoZSBwb3J0aW9uIG9mIHRoZSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGVudGlyZSByZSkxNDQgNDM1LjYKIFIgLjA0OShndWxhciBlKS0uMTUgRiAyLjU0OSh4cHJlc3Npb24uIFRoZSktLjE1IEYgLjA0OShlbGVtZW50IG9mKTIuNTQ5Ci1GIEYzIC0uMjcoQkEpMi41NDkgRyhTSF9SRU1BKS4yNyBFKFRDSCktLjg1NSBFIEYwKHdpdGggaW5kZSkxNDQgMzgyLjggUQotKHgpLS4xNSBFIEYyKG4pMi41IEUgRjAoaXMgdGhlIHBvcnRpb24gb2YgdGhlIHN0cmluZyBtYXRjaGluZyB0aGUpMi41IEUKLUYyKG4pMi41IEUgRjAodGggcGFyZW50aGVzaXplZCBzdWJlKUEoeHByZXNzaW9uLiktLjE1IEUgLjc4NQotKEV4cHJlc3Npb25zIG1heSBiZSBjb21iaW5lZCB1c2luZyB0aGUgZm9sbG8pMTQ0IDQwMC44IFIgLjc4NgorRiBGMiAtLjI3KEJBKTIuNTQ5IEcoU0hfUkVNQSkuMjcgRShUQ0gpLS44NTUgRSBGMCh3aXRoIGluZGUpMTQ0IDQ0Ny42IFEKKyh4KS0uMTUgRSBGMShuKTIuNSBFIEYwKGlzIHRoZSBwb3J0aW9uIG9mIHRoZSBzdHJpbmcgbWF0Y2hpbmcgdGhlKTIuNSBFCitGMShuKTIuNSBFIEYwKHRoIHBhcmVudGhlc2l6ZWQgc3ViZSlBKHhwcmVzc2lvbi4pLS4xNSBFIC43ODUKKyhFeHByZXNzaW9ucyBtYXkgYmUgY29tYmluZWQgdXNpbmcgdGhlIGZvbGxvKTE0NCA0NjUuNiBSIC43ODYKICh3aW5nIG9wZXJhdG9ycywgbGlzdGVkIGluIGRlY3JlYXNpbmcgb3JkZXIgb2YgcHJlY2UtKS0uMjUgRihkZW5jZTopMTQ0Ci00MTIuOCBRIEYxKFwoKTE0NCA0MzAuOCBRIEYyIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbiktLjM3IEUgRjEoXCkpCi0yLjUgRSBGMCAuNTIzKFJldHVybnMgdGhlIHYpMTgwIDQ0Mi44IFIgLjUyMihhbHVlIG9mKS0uMjUgRiBGMiAtLjIoZXgpCis0NzcuNiBRIEY0KFwoKTE0NCA0OTUuNiBRIEYxIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbiktLjM3IEUgRjQoXCkpCisyLjUgRSBGMCAuNTIzKFJldHVybnMgdGhlIHYpMTgwIDUwNy42IFIgLjUyMihhbHVlIG9mKS0uMjUgRiBGMSAtLjIoZXgpCiAzLjAyMiBHKHByKS4yIEUoZXNzaW9uKS0uMzcgRSBGMCA1LjUyMiguVClDIC41MjIoaGlzIG1heSBiZSB1c2VkIHRvIG8pCiAtNS41MjIgRiAtLjE1KHZlKS0uMTUgRyAuNTIyKHJyaWRlIHRoZSBub3JtYWwgcHJlY2VkZW5jZSBvZikuMTUgRgotKG9wZXJhdG9ycy4pMTgwIDQ1NC44IFEgRjEoISkxNDQgNDY2LjggUSBGMiAtLjIoZXgpMi41IEcocHIpLjIgRShlc3Npb24pCi0tLjM3IEUgRjAgLS4zNShUcikxODAgNDc4LjggUyh1ZSBpZikuMzUgRSBGMiAtLjIoZXgpMi41IEcocHIpLjIgRQotKGVzc2lvbiktLjM3IEUgRjAoaXMgZikyLjc0IEUoYWxzZS4pLS4xIEUgRjIgLS4yKGV4KTE0NCA0OTAuOCBTKHByKS4yIEUKLShlc3Npb24xKS0uMzcgRSBGMSgmJikyLjUgRSBGMiAtLjIoZXgpMi41IEcocHIpLjIgRShlc3Npb24yKS0uMzcgRSBGMAotLS4zNShUcikxODAgNTAyLjggUyh1ZSBpZiBib3RoKS4zNSBFIEYyIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbjEpCi0tLjM3IEUgRjAoYW5kKTIuNSBFIEYyIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbjIpLS4zNyBFIEYwKGFyZSB0cnVlLikKLTIuNTIgRSBGMiAtLjIoZXgpMTQ0IDUxNC44IFMocHIpLjIgRShlc3Npb24xKS0uMzcgRS9GNSAxMC9TeW1ib2wgU0YKLTxlZmVmPjIuNSBFIEYyIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbjIpLS4zNyBFIEYwIC0uMzUoVHIpMTgwIDUyNi44Ci1TKHVlIGlmIGVpdGhlcikuMzUgRSBGMiAtLjIoZXgpMi41IEcocHIpLjIgRShlc3Npb24xKS0uMzcgRSBGMChvcikyLjUgRQotRjIgLS4yKGV4KTIuNSBHKHByKS4yIEUoZXNzaW9uMiktLjM3IEUgRjAoaXMgdHJ1ZS4pMi41MiBFKFRoZSkxNDQgNTQzLjYKLVEgRjEoJiYpMy4yOTggRSBGMChhbmQpMy4yOTggRSBGNTxlZmVmPjMuMjk4IEUgRjAgLjc5OAotKG9wZXJhdG9ycyBkbyBub3QgZSkzLjI5OCBGIC0uMjUodmEpLS4yNSBHKGx1YXRlKS4yNSBFIEYyIC0uMihleCkzLjI5OCBHCi0ocHIpLjIgRShlc3Npb24yKS0uMzcgRSBGMCAuNzk4KGlmIHRoZSB2KTMuMjk4IEYgLjc5OChhbHVlIG9mKS0uMjUgRiBGMgotLS4yKGV4KTMuMjk4IEcocHIpLjIgRShlc3Npb24xKS0uMzcgRSBGMCAuNzk5KGlzIHN1ZikzLjI5OCBGIC43OTkKLShcMjE0Y2llbnQgdG8pLS4yNSBGKGRldGVybWluZSB0aGUgcmV0dXJuIHYpMTQ0IDU1NS42IFEKLShhbHVlIG9mIHRoZSBlbnRpcmUgY29uZGl0aW9uYWwgZSktLjI1IEUoeHByZXNzaW9uLiktLjE1IEUgRjEgLS4yNShmbykKLTEwOCA1NzIuNCBTKHIpLjI1IEUgRjIobmFtZSkyLjUgRSBGMCAyLjUoW1spMi41IEcgRjEoaW4pQSBGMChbKTIuNSBFIEYyCi0od29yKTIuNSBFIDIuNShkLiktLjM3IEcoLi4pLTIuNSBFIEYwIDIuNShdXTtdKTIuNSBHIEYxKGRvKUEgRjIobGlzdCkyLjUKLUUgRjAoOykyLjUgRSBGMShkb25lKTIuNSBFIEYwIC40MjQoVGhlIGxpc3Qgb2YgdykxNDQgNTg0LjQgUiAuNDI0Ci0ob3JkcyBmb2xsbyktLjEgRih3aW5nKS0uMjUgRSBGMShpbikyLjkyNCBFIEYwIC40MjMoaXMgZSkyLjkyNCBGIC40MjMKLSh4cGFuZGVkLCBnZW5lcmF0aW5nIGEgbGlzdCBvZiBpdGVtcy4pLS4xNSBGIC40MjMoVGhlIHYpNS40MjMgRihhcmlhYmxlKQotLS4yNSBFIEYyKG5hbWUpMi45MjMgRSBGMCAuNDIzKGlzIHNldCB0bykyLjkyMyBGIC42NTMKLShlYWNoIGVsZW1lbnQgb2YgdGhpcyBsaXN0IGluIHR1cm4sIGFuZCkxNDQgNTk2LjQgUiBGMihsaXN0KTMuMTUzIEUgRjAKLS42NTMoaXMgZSkzLjE1MyBGIC0uMTUoeGUpLS4xNSBHIC42NTMoY3V0ZWQgZWFjaCB0aW1lLikuMTUgRiAuNjUzCi0oSWYgdGhlKTUuNjUzIEYgRjEoaW4pMy4xNTMgRSBGMih3b3IpMy4xNTMgRShkKS0uMzcgRSBGMCAuNjUzCi0oaXMgb21pdHRlZCwgdGhlKTMuMTUzIEYgRjEgLS4yNShmbykzLjE1MyBHKHIpLjI1IEUgRjAgLjY0OShjb21tYW5kIGUpCi0xNDQgNjA4LjQgUiAtLjE1KHhlKS0uMTUgRyhjdXRlcykuMTUgRSBGMihsaXN0KTMuMTQ5IEUgRjAgLjY0OAotKG9uY2UgZm9yIGVhY2ggcG9zaXRpb25hbCBwYXJhbWV0ZXIgdGhhdCBpcyBzZXQgXChzZWUpMy4xNDggRiBGMyAtLjY2NgorKG9wZXJhdG9ycy4pMTgwIDUxOS42IFEgRjQoISkxNDQgNTMxLjYgUSBGMSAtLjIoZXgpMi41IEcocHIpLjIgRShlc3Npb24pCistLjM3IEUgRjAgLS4zNShUcikxODAgNTQzLjYgUyh1ZSBpZikuMzUgRSBGMSAtLjIoZXgpMi41IEcocHIpLjIgRQorKGVzc2lvbiktLjM3IEUgRjAoaXMgZikyLjc0IEUoYWxzZS4pLS4xIEUgRjEgLS4yKGV4KTE0NCA1NTUuNiBTKHByKS4yIEUKKyhlc3Npb24xKS0uMzcgRSBGNCgmJikyLjUgRSBGMSAtLjIoZXgpMi41IEcocHIpLjIgRShlc3Npb24yKS0uMzcgRSBGMAorLS4zNShUcikxODAgNTY3LjYgUyh1ZSBpZiBib3RoKS4zNSBFIEYxIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbjEpCistLjM3IEUgRjAoYW5kKTIuNSBFIEYxIC0uMihleCkyLjUgRyhwcikuMiBFKGVzc2lvbjIpLS4zNyBFIEYwKGFyZSB0cnVlLikKKzIuNTIgRSBGMSAtLjIoZXgpMTQ0IDU3OS42IFMocHIpLjIgRShlc3Npb24xKS0uMzcgRSBGNCh8fCkyLjUgRSBGMSAtLjIKKyhleCkyLjUgRyhwcikuMiBFKGVzc2lvbjIpLS4zNyBFIEYwIC0uMzUoVHIpMTgwIDU5MS42IFModWUgaWYgZWl0aGVyKS4zNQorRSBGMSAtLjIoZXgpMi41IEcocHIpLjIgRShlc3Npb24xKS0uMzcgRSBGMChvcikyLjUgRSBGMSAtLjIoZXgpMi41IEcocHIpCisuMiBFKGVzc2lvbjIpLS4zNyBFIEYwKGlzIHRydWUuKTIuNTIgRShUaGUpMTQ0IDYwOC40IFEgRjQoJiYpMy42NCBFIEYwCisoYW5kKTMuNjQgRSBGNCh8fCkzLjY0IEUgRjAgMS4xNChvcGVyYXRvcnMgZG8gbm90IGUpMy42NCBGIC0uMjUodmEpLS4yNQorRyhsdWF0ZSkuMjUgRSBGMSAtLjIoZXgpMy42NDEgRyhwcikuMiBFKGVzc2lvbjIpLS4zNyBFIEYwIDEuMTQxCisoaWYgdGhlIHYpMy42NDEgRiAxLjE0MShhbHVlIG9mKS0uMjUgRiBGMSAtLjIoZXgpMy42NDEgRyhwcikuMiBFCisoZXNzaW9uMSktLjM3IEUgRjAgMS4xNDEoaXMgc3VmKTMuNjQxIEYgMS4xNDEoXDIxNGNpZW50IHRvKS0uMjUgRgorKGRldGVybWluZSB0aGUgcmV0dXJuIHYpMTQ0IDYyMC40IFEoYWx1ZSBvZiB0aGUgZW50aXJlIGNvbmRpdGlvbmFsIGUpCistLjI1IEUoeHByZXNzaW9uLiktLjE1IEUgRjQgLS4yNShmbykxMDggNjM3LjIgUyhyKS4yNSBFIEYxKG5hbWUpMi41IEUgRjAKKzIuNShbWykyLjUgRyBGNChpbilBIEYwKFspMi41IEUgRjEod29yKTIuNSBFIDIuNShkLiktLjM3IEcoLi4pLTIuNSBFIEYwCisyLjUoXV07XSkyLjUgRyBGNChkbylBIEYxKGxpc3QpMi41IEUgRjAoOykyLjUgRSBGNChkb25lKTIuNSBFIEYwIC40MjQKKyhUaGUgbGlzdCBvZiB3KTE0NCA2NDkuMiBSIC40MjQob3JkcyBmb2xsbyktLjEgRih3aW5nKS0uMjUgRSBGNChpbikyLjkyNAorRSBGMCAuNDIzKGlzIGUpMi45MjQgRiAuNDIzKHhwYW5kZWQsIGdlbmVyYXRpbmcgYSBsaXN0IG9mIGl0ZW1zLiktLjE1IEYKKy40MjMoVGhlIHYpNS40MjMgRihhcmlhYmxlKS0uMjUgRSBGMShuYW1lKTIuOTIzIEUgRjAgLjQyMyhpcyBzZXQgdG8pCisyLjkyMyBGIC42NTMoZWFjaCBlbGVtZW50IG9mIHRoaXMgbGlzdCBpbiB0dXJuLCBhbmQpMTQ0IDY2MS4yIFIgRjEobGlzdCkKKzMuMTUzIEUgRjAgLjY1MyhpcyBlKTMuMTUzIEYgLS4xNSh4ZSktLjE1IEcgLjY1MyhjdXRlZCBlYWNoIHRpbWUuKS4xNSBGCisuNjUzKElmIHRoZSk1LjY1MyBGIEY0KGluKTMuMTUzIEUgRjEod29yKTMuMTUzIEUoZCktLjM3IEUgRjAgLjY1MworKGlzIG9taXR0ZWQsIHRoZSkzLjE1MyBGIEY0IC0uMjUoZm8pMy4xNTMgRyhyKS4yNSBFIEYwIC42NDkoY29tbWFuZCBlKQorMTQ0IDY3My4yIFIgLS4xNSh4ZSktLjE1IEcoY3V0ZXMpLjE1IEUgRjEobGlzdCkzLjE0OSBFIEYwIC42NDgKKyhvbmNlIGZvciBlYWNoIHBvc2l0aW9uYWwgcGFyYW1ldGVyIHRoYXQgaXMgc2V0IFwoc2VlKTMuMTQ4IEYgRjIgLS42NjYKIChQQSkzLjE0OCBHKFJBTUVURVJTKS42NjYgRSBGMChiZWxvKTIuODk4IEUod1wpLiktLjI1IEUgLjE1MwotKFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSBlKTE0NCA2MjAuNCBSIC4xNTMKKyhUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgZSkxNDQgNjg1LjIgUiAuMTUzCiAoeGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIHRoYXQgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcgMi42NTQKIChjdXRlcy4gSWYpLjE1IEYgLjE1NCh0aGUgZSkyLjY1NCBGIC4xNTQoeHBhbnNpb24gb2YgdGhlIGl0ZW1zKS0uMTUgRgotKGZvbGxvKTE0NCA2MzIuNCBRKHdpbmcpLS4yNSBFIEYxKGluKTIuNSBFIEYwCisoZm9sbG8pMTQ0IDY5Ny4yIFEod2luZyktLjI1IEUgRjQoaW4pMi41IEUgRjAKIChyZXN1bHRzIGluIGFuIGVtcHR5IGxpc3QsIG5vIGNvbW1hbmRzIGFyZSBlKTIuNSBFIC0uMTUoeGUpLS4xNSBHCi0oY3V0ZWQsIGFuZCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAwLikuMTUgRSBGMSAtLjI1KGZvKTEwOCA2NDkuMiBTKHIpLjI1IEUKLUYwKFwoXCgpMi41IEUgRjIgLS4yKGV4KTIuNSBHKHByMSkuMiBFIEYwKDspMi41IEUgRjIgLS4yKGV4KTIuNSBHKHByMikuMgotRSBGMCg7KTIuNSBFIEYyIC0uMihleCkyLjUgRyhwcjMpLjIgRSBGMChcKVwpIDspMi41IEUgRjEoZG8pMi41IEUgRjIKLShsaXN0KTIuNSBFIEYwKDspMi41IEUgRjEoZG9uZSkyLjUgRSBGMCAxLjIzNihGaXJzdCwgdGhlIGFyaXRobWV0aWMgZSkKLTE0NCA2NjEuMiBSKHhwcmVzc2lvbiktLjE1IEUgRjIgLS4yKGV4KTMuNzM2IEcocHIxKS4yIEUgRjAgMS4yMzUoaXMgZSkKLTMuNzM2IEYgLS4yNSh2YSktLjI1IEcgMS4yMzUKLShsdWF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBkZXNjcmliZWQgYmVsbykuMjUgRiAzLjczNSh3dSktLjI1IEcKLShuZGVyKS0zLjczNSBFIEYzIC41NjEoQVJJVEhNRVRJQyBFVikxNDQgNjczLjIgUihBTFUpLTEuMjE1IEUgLS44NTUoQVQpCi0tLjU0IEcoSU9OKS44NTUgRSBGNCguKUEgRjAgLjU2MShUaGUgYXJpdGhtZXRpYyBlKTUuMDYxIEYoeHByZXNzaW9uKS0uMTUKLUUgRjIgLS4yKGV4KTMuMDYxIEcocHIyKS4yIEUgRjAgLjU2MihpcyB0aGVuIGUpMy4wNjIgRiAtLjI1KHZhKS0uMjUgRwotLjU2MihsdWF0ZWQgcmVwZWF0ZWRseSB1bnRpbCkuMjUgRiAuNTkyKGl0IGUpMTQ0IDY4NS4yIFIgLS4yNSh2YSktLjI1IEcKLS41OTIobHVhdGVzIHRvIHplcm8uKS4yNSBGIC41OTIoRWFjaCB0aW1lKTUuNTkyIEYgRjIgLS4yKGV4KTMuMDkyIEcocHIyKQotLjIgRSBGMCAtLjI1KGV2YSkzLjA5MiBHIC41OTIobHVhdGVzIHRvIGEgbm9uLXplcm8gdikuMjUgRihhbHVlLCktLjI1IEUKLUYyKGxpc3QpMy4wOTIgRSBGMCAuNTkxKGlzIGUpMy4wOTIgRiAtLjE1KHhlKS0uMTUgRyAuNTkxCi0oY3V0ZWQgYW5kIHRoZSBhcml0aC0pLjE1IEYgLjIyOChtZXRpYyBlKTE0NCA2OTcuMiBSKHhwcmVzc2lvbiktLjE1IEUgRjIKLS0uMihleCkyLjcyOCBHKHByMykuMiBFIEYwIC4yMjkoaXMgZSkyLjcyOCBGIC0uMjUodmEpLS4yNSBHIDIuNzI5Ci0obHVhdGVkLiBJZikuMjUgRihhbikyLjcyOSBFIDIuNzI5KHllKS0uMTUgRyAuMjI5Ci0oeHByZXNzaW9uIGlzIG9taXR0ZWQsIGl0IGJlaGEpLTIuODc5IEYgLS4xNSh2ZSktLjIgRyAyLjcyOShzYSkuMTUgRwotMi43Mjkoc2kpLTIuNzI5IEcgMi43MjkoZmkpLTIuNzI5IEcgMi43MjkodGUpLTIuNzI5IEcgLS4yNSh2YSktMi45NzkgRwotLjIyOShsdWF0ZXMgdG8gMS4pLjI1IEYgLjIyOChUaGUgcmV0dXJuIHYpMTQ0IDcwOS4yIFIgLjIyOAotKGFsdWUgaXMgdGhlIGUpLS4yNSBGIC4yMjgoeGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGluKS0uMTUgRiBGMgotKGxpc3QpMi43MjggRSBGMCAuMjI3KHRoYXQgaXMgZSkyLjcyOCBGIC0uMTUoeGUpLS4xNSBHIC4yMjcoY3V0ZWQsIG9yIGYpCi0uMTUgRiAuMjI3KGFsc2UgaWYgYW4pLS4xIEYgMi43MjcoeW8pLS4xNSBHIDIuNzI3KGZ0KS0yLjcyNyBHKGhlKS0yLjcyNwotRSAtLjE1KGV4KTE0NCA3MjEuMiBTKHByZXNzaW9ucyBpcyBpbikuMTUgRSAtLjI1KHZhKS0uNCBHKGxpZC4pLjI1IEUKLShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNSkxOTAuOTU1IEUgMCBDZyBFUAorKGN1dGVkLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pLjE1IEUoR05VIEJhc2gtNC4yKTcyIDc2OCBRCisoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoNSkxOTAuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA2IDYKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKHNlbGVjdCkxMDggODQgUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRgotKG5hbWUpMi41IEUgRjAoWykyLjUgRSBGMShpbikyLjUgRSBGMih3b3IpMi41IEUoZCktLjM3IEUgRjAgMi41KF07KTIuNSBHCi1GMShkbylBIEYyKGxpc3QpMi41IEUgRjAoOykyLjUgRSBGMShkb25lKTIuNSBFIEYwIC40MzIoVGhlIGxpc3Qgb2YgdykxNDQKLTk2IFIgLjQzMihvcmRzIGZvbGxvKS0uMSBGKHdpbmcpLS4yNSBFIEYxKGluKTIuOTMyIEUgRjAgLjQzMihpcyBlKTIuOTMyCi1GIC40MzIoeHBhbmRlZCwgZ2VuZXJhdGluZyBhIGxpc3Qgb2YgaXRlbXMuKS0uMTUgRiAuNDMzKFRoZSBzZXQgb2YgZSkKLTUuNDMzIEYgLjQzMyh4cGFuZGVkIHcpLS4xNSBGKG9yZHMpLS4xIEUgLjg0MwotKGlzIHByaW50ZWQgb24gdGhlIHN0YW5kYXJkIGVycm9yKTE0NCAxMDggUiAzLjM0MigsZSktLjQgRyAuODQyCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGIC0uMjUoZm8pMTA4IDg0IFMocikuMjUgRSBGMChcKFwoKTIuNSBFL0YyCisxMC9UaW1lcy1JdGFsaWNAMCBTRiAtLjIoZXgpMi41IEcocHIxKS4yIEUgRjAoOykyLjUgRSBGMiAtLjIoZXgpMi41IEcKKyhwcjIpLjIgRSBGMCg7KTIuNSBFIEYyIC0uMihleCkyLjUgRyhwcjMpLjIgRSBGMChcKVwpIDspMi41IEUgRjEoZG8pMi41CitFIEYyKGxpc3QpMi41IEUgRjAoOykyLjUgRSBGMShkb25lKTIuNSBFIEYwIDEuMjM2CisoRmlyc3QsIHRoZSBhcml0aG1ldGljIGUpMTQ0IDk2IFIoeHByZXNzaW9uKS0uMTUgRSBGMiAtLjIoZXgpMy43MzYgRworKHByMSkuMiBFIEYwIDEuMjM1KGlzIGUpMy43MzYgRiAtLjI1KHZhKS0uMjUgRyAxLjIzNQorKGx1YXRlZCBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIGRlc2NyaWJlZCBiZWxvKS4yNSBGIDMuNzM1KHd1KS0uMjUgRworKG5kZXIpLTMuNzM1IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgLjU2MShBUklUSE1FVElDIEVWKTE0NCAxMDggUihBTFUpCistMS4yMTUgRSAtLjg1NShBVCktLjU0IEcoSU9OKS44NTUgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC41NjEKKyhUaGUgYXJpdGhtZXRpYyBlKTUuMDYxIEYoeHByZXNzaW9uKS0uMTUgRSBGMiAtLjIoZXgpMy4wNjEgRyhwcjIpLjIgRSBGMAorLjU2MihpcyB0aGVuIGUpMy4wNjIgRiAtLjI1KHZhKS0uMjUgRyAuNTYyKGx1YXRlZCByZXBlYXRlZGx5IHVudGlsKS4yNSBGCisuNTkyKGl0IGUpMTQ0IDEyMCBSIC0uMjUodmEpLS4yNSBHIC41OTIobHVhdGVzIHRvIHplcm8uKS4yNSBGIC41OTIKKyhFYWNoIHRpbWUpNS41OTIgRiBGMiAtLjIoZXgpMy4wOTIgRyhwcjIpLjIgRSBGMCAtLjI1KGV2YSkzLjA5MiBHIC41OTIKKyhsdWF0ZXMgdG8gYSBub24temVybyB2KS4yNSBGKGFsdWUsKS0uMjUgRSBGMihsaXN0KTMuMDkyIEUgRjAgLjU5MShpcyBlKQorMy4wOTIgRiAtLjE1KHhlKS0uMTUgRyAuNTkxKGN1dGVkIGFuZCB0aGUgYXJpdGgtKS4xNSBGIC4yMjgobWV0aWMgZSkxNDQKKzEzMiBSKHhwcmVzc2lvbiktLjE1IEUgRjIgLS4yKGV4KTIuNzI4IEcocHIzKS4yIEUgRjAgLjIyOShpcyBlKTIuNzI4IEYKKy0uMjUodmEpLS4yNSBHIDIuNzI5KGx1YXRlZC4gSWYpLjI1IEYoYW4pMi43MjkgRSAyLjcyOSh5ZSktLjE1IEcgLjIyOQorKHhwcmVzc2lvbiBpcyBvbWl0dGVkLCBpdCBiZWhhKS0yLjg3OSBGIC0uMTUodmUpLS4yIEcgMi43Mjkoc2EpLjE1IEcKKzIuNzI5KHNpKS0yLjcyOSBHIDIuNzI5KGZpKS0yLjcyOSBHIDIuNzI5KHRlKS0yLjcyOSBHIC0uMjUodmEpLTIuOTc5IEcKKy4yMjkobHVhdGVzIHRvIDEuKS4yNSBGIC4yMjgoVGhlIHJldHVybiB2KTE0NCAxNDQgUiAuMjI4KGFsdWUgaXMgdGhlIGUpCistLjI1IEYgLjIyOCh4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgaW4pLS4xNSBGIEYyKGxpc3QpMi43MjggRSBGMAorLjIyNyh0aGF0IGlzIGUpMi43MjggRiAtLjE1KHhlKS0uMTUgRyAuMjI3KGN1dGVkLCBvciBmKS4xNSBGIC4yMjcKKyhhbHNlIGlmIGFuKS0uMSBGIDIuNzI3KHlvKS0uMTUgRyAyLjcyNyhmdCktMi43MjcgRyhoZSktMi43MjcgRSAtLjE1KGV4KQorMTQ0IDE1NiBTKHByZXNzaW9ucyBpcyBpbikuMTUgRSAtLjI1KHZhKS0uNCBHKGxpZC4pLjI1IEUgRjEoc2VsZWN0KTEwOAorMTcyLjggUSBGMihuYW1lKTIuNSBFIEYwKFspMi41IEUgRjEoaW4pMi41IEUgRjIod29yKTIuNSBFKGQpLS4zNyBFIEYwCisyLjUoXTspMi41IEcgRjEoZG8pQSBGMihsaXN0KTIuNSBFIEYwKDspMi41IEUgRjEoZG9uZSkyLjUgRSBGMCAuNDMyCisoVGhlIGxpc3Qgb2YgdykxNDQgMTg0LjggUiAuNDMyKG9yZHMgZm9sbG8pLS4xIEYod2luZyktLjI1IEUgRjEoaW4pMi45MzIKK0UgRjAgLjQzMihpcyBlKTIuOTMyIEYgLjQzMih4cGFuZGVkLCBnZW5lcmF0aW5nIGEgbGlzdCBvZiBpdGVtcy4pLS4xNSBGCisuNDMzKFRoZSBzZXQgb2YgZSk1LjQzMyBGIC40MzMoeHBhbmRlZCB3KS0uMTUgRihvcmRzKS0uMSBFIC44NDMKKyhpcyBwcmludGVkIG9uIHRoZSBzdGFuZGFyZCBlcnJvcikxNDQgMTk2LjggUiAzLjM0MigsZSktLjQgRyAuODQyCiAoYWNoIHByZWNlZGVkIGJ5IGEgbnVtYmVyKS0zLjM0MiBGIDUuODQyKC5JKS0uNTUgRyAzLjM0MihmdCktNS44NDIgRyhoZSkKIC0zLjM0MiBFIEYxKGluKTMuMzQyIEUgRjIod29yKTMuMzQyIEUoZCktLjM3IEUgRjAgLjg0MgogKGlzIG9taXR0ZWQsIHRoZSBwb3NpLSkzLjM0MiBGIC4yMDEodGlvbmFsIHBhcmFtZXRlcnMgYXJlIHByaW50ZWQgXChzZWUpCi0xNDQgMTIwIFIvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgLS42NjYoUEEpMi43MDEgRyhSQU1FVEVSUykuNjY2IEUgRjAoYmVsbykKLTIuNDUxIEUgMi43MDEod1wpLiBUaGUpLS4yNSBGIEYzKFBTMykyLjcwMSBFIEYwIC4yMDEKLShwcm9tcHQgaXMgdGhlbiBkaXNwbGF5ZWQgYW5kIGEpMi40NTEgRiAuMjE0Ci0obGluZSByZWFkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LikxNDQgMTMyIFIgLjIxMworMTQ0IDIwOC44IFIgRjMgLS42NjYoUEEpMi43MDEgRyhSQU1FVEVSUykuNjY2IEUgRjAoYmVsbykyLjQ1MSBFIDIuNzAxCisod1wpLiBUaGUpLS4yNSBGIEYzKFBTMykyLjcwMSBFIEYwIC4yMDEocHJvbXB0IGlzIHRoZW4gZGlzcGxheWVkIGFuZCBhKQorMi40NTEgRiAuMjE0KGxpbmUgcmVhZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dC4pMTQ0IDIyMC44IFIgLjIxMwogKElmIHRoZSBsaW5lIGNvbnNpc3RzIG9mIGEgbnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gb25lIG9mIHRoZSBkaXMtKTUuMjE0Ci1GIDEuNTM3KHBsYXllZCB3KTE0NCAxNDQgUiAxLjUzNyhvcmRzLCB0aGVuIHRoZSB2KS0uMSBGIDEuNTM3KGFsdWUgb2YpCitGIDEuNTM3KHBsYXllZCB3KTE0NCAyMzIuOCBSIDEuNTM3KG9yZHMsIHRoZW4gdGhlIHYpLS4xIEYgMS41MzcoYWx1ZSBvZikKIC0uMjUgRiBGMihuYW1lKTQuMzk3IEUgRjAgMS41MzcoaXMgc2V0IHRvIHRoYXQgdyk0LjIxNyBGIDQuMDM3KG9yZC4gSWYpCiAtLjEgRiAxLjUzOCh0aGUgbGluZSBpcyBlbXB0eSk0LjAzOCBGIDQuMDM4KCx0KS0uNjUgRyAxLjUzOChoZSB3KS00LjAzOAotRiAxLjUzOChvcmRzIGFuZCktLjEgRiAuMDY2KHByb21wdCBhcmUgZGlzcGxheWVkIGFnKTE0NCAxNTYgUiAyLjU2NgorRiAxLjUzOChvcmRzIGFuZCktLjEgRiAuMDY2KHByb21wdCBhcmUgZGlzcGxheWVkIGFnKTE0NCAyNDQuOCBSIDIuNTY2CiAoYWluLiBJZiktLjA1IEYgLjA2NShFT0YgaXMgcmVhZCwgdGhlIGNvbW1hbmQgY29tcGxldGVzLikyLjU2NiBGKEFuKQogNS4wNjUgRSAyLjU2NSh5byktLjE1IEcgLjA2NSh0aGVyIHYpLTIuNTY1IEYgLjA2NShhbHVlIHJlYWQgY2F1c2VzKS0uMjUKLUYgRjIobmFtZSkxNDQgMTY4IFEgRjAgLjk3Mih0byBiZSBzZXQgdG8gbnVsbC4pMy42NTIgRiAuOTcyCitGIEYyKG5hbWUpMTQ0IDI1Ni44IFEgRjAgLjk3Mih0byBiZSBzZXQgdG8gbnVsbC4pMy42NTIgRiAuOTcyCiAoVGhlIGxpbmUgcmVhZCBpcyBzYSk1Ljk3MiBGIC0uMTUodmUpLS4yIEcgMy40NzMoZGkpLjE1IEcgMy40NzMobnQpCi0tMy40NzMgRyAuOTczKGhlIHYpLTMuNDczIEYoYXJpYWJsZSktLjI1IEUgRjMoUkVQTCkzLjQ3MyBFKFkpLS44MjggRS9GNAotOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMChUaGUpNS40NzMgRSBGMihsaXN0KTMuNTYzIEUgRjAgLjk3MyhpcyBlKTQuMTUzCi1GIC0uMTUoeGUpLS4xNSBHIC45NzMoY3V0ZWQgYWZ0ZXIpLjE1IEYgLjA3MihlYWNoIHNlbGVjdGlvbiB1bnRpbCBhKTE0NAotMTgwIFIgRjEoYnIpMi41NzEgRShlYWspLS4xOCBFIEYwIC4wNzEoY29tbWFuZCBpcyBlKTIuNTcxIEYgLS4xNSh4ZSktLjE1Ci1HIDIuNTcxKGN1dGVkLiBUaGUpLjE1IEYgLS4xNShleCkyLjU3MSBHIC4wNzEoaXQgc3RhdHVzIG9mKS4xNSBGIEYxCi0oc2VsZWN0KTIuNTcxIEUgRjAgLjA3MShpcyB0aGUgZSkyLjU3MSBGIC4wNzEoeGl0IHN0YXR1cyBvZiB0aGUpLS4xNSBGCi0obGFzdCBjb21tYW5kIGUpMTQ0IDE5MiBRIC0uMTUoeGUpLS4xNSBHKGN1dGVkIGluKS4xNSBFIEYyKGxpc3QpMi41IEUgRjAKLTIuNSgsbykuNjggRyAyLjUocnopLTIuNSBHKGVybyBpZiBubyBjb21tYW5kcyB3ZXJlIGUpLTIuNSBFIC0uMTUoeGUpLS4xNQotRyhjdXRlZC4pLjE1IEUgRjEoY2FzZSkxMDggMjA4LjggUSBGMih3b3IpMi41IEUoZCktLjM3IEUgRjEoaW4pMi41IEUgRjAKLTIuNShbWykyLjUgRyhcKF0pLTIuNSBFIEYyKHBhdHRlcm4pMi41IEUgRjAoWykyLjUgRSBGMSh8KTIuNSBFIEYyCistMy40NzMgRyAuOTczKGhlIHYpLTMuNDczIEYoYXJpYWJsZSktLjI1IEUgRjMoUkVQTCkzLjQ3MyBFKFkpLS44MjggRSBGNAorKC4pQSBGMChUaGUpNS40NzMgRSBGMihsaXN0KTMuNTYzIEUgRjAgLjk3MyhpcyBlKTQuMTUzIEYgLS4xNSh4ZSktLjE1IEcKKy45NzMoY3V0ZWQgYWZ0ZXIpLjE1IEYgLjA3MihlYWNoIHNlbGVjdGlvbiB1bnRpbCBhKTE0NCAyNjguOCBSIEYxKGJyKQorMi41NzEgRShlYWspLS4xOCBFIEYwIC4wNzEoY29tbWFuZCBpcyBlKTIuNTcxIEYgLS4xNSh4ZSktLjE1IEcgMi41NzEKKyhjdXRlZC4gVGhlKS4xNSBGIC0uMTUoZXgpMi41NzEgRyAuMDcxKGl0IHN0YXR1cyBvZikuMTUgRiBGMShzZWxlY3QpCisyLjU3MSBFIEYwIC4wNzEoaXMgdGhlIGUpMi41NzEgRiAuMDcxKHhpdCBzdGF0dXMgb2YgdGhlKS0uMTUgRgorKGxhc3QgY29tbWFuZCBlKTE0NCAyODAuOCBRIC0uMTUoeGUpLS4xNSBHKGN1dGVkIGluKS4xNSBFIEYyKGxpc3QpMi41IEUKK0YwIDIuNSgsbykuNjggRyAyLjUocnopLTIuNSBHKGVybyBpZiBubyBjb21tYW5kcyB3ZXJlIGUpLTIuNSBFIC0uMTUoeGUpCistLjE1IEcoY3V0ZWQuKS4xNSBFIEYxKGNhc2UpMTA4IDI5Ny42IFEgRjIod29yKTIuNSBFKGQpLS4zNyBFIEYxKGluKTIuNQorRSBGMCAyLjUoW1spMi41IEcoXChdKS0yLjUgRSBGMihwYXR0ZXJuKTIuNSBFIEYwKFspMi41IEUgRjEofCkyLjUgRSBGMgogKHBhdHRlcm4pMi41IEUgRjAgMi41KF0uKTIuNSBHKC4uIFwpKS0yLjUgRSBGMihsaXN0KTIuNSBFIEYwKDs7IF0gLi4uKQotMi41IEUgRjEoZXNhYykyLjUgRSBGMChBKTE0NCAyMjAuOCBRIEYxKGNhc2UpMy4yNjQgRSBGMCAuNzY0CisyLjUgRSBGMShlc2FjKTIuNSBFIEYwKEEpMTQ0IDMwOS42IFEgRjEoY2FzZSkzLjI2NCBFIEYwIC43NjQKIChjb21tYW5kIFwyMTRyc3QgZSkzLjI2NCBGKHhwYW5kcyktLjE1IEUgRjIod29yKTMuMjY0IEUoZCktLjM3IEUgRjAKIDMuMjY0KCxhKUMgLjc2NChuZCB0cmllcyB0byBtYXRjaCBpdCBhZyktMy4yNjQgRiAuNzY0KGFpbnN0IGVhY2gpLS4wNSBGCiBGMihwYXR0ZXJuKTMuMjY0IEUgRjAgLjc2NShpbiB0dXJuLCB1c2luZyB0aGUpMy4yNjQgRiAuNTk2Ci0oc2FtZSBtYXRjaGluZyBydWxlcyBhcyBmb3IgcGF0aG5hbWUgZSkxNDQgMjMyLjggUiAuNTk1KHhwYW5zaW9uIFwoc2VlKQorKHNhbWUgbWF0Y2hpbmcgcnVsZXMgYXMgZm9yIHBhdGhuYW1lIGUpMTQ0IDMyMS42IFIgLjU5NSh4cGFuc2lvbiBcKHNlZSkKIC0uMTUgRiBGMSAtLjEoUGEpMy4wOTUgRyAuNTk1KHRobmFtZSBFeHBhbnNpb24pLjEgRiBGMChiZWxvKTMuMDk1IEUKIDMuMDk1KHdcKS4gVGhlKS0uMjUgRiBGMih3b3IpMy4wOTUgRShkKS0uMzcgRSBGMChpcykzLjA5NSBFIC0uMTUoZXgpMTQ0Ci0yNDQuOCBTIDEuMDkyKHBhbmRlZCB1c2luZyB0aWxkZSBlKS4xNSBGIDEuMDkyCiszMzMuNiBTIDEuMDkyKHBhbmRlZCB1c2luZyB0aWxkZSBlKS4xNSBGIDEuMDkyCiAoeHBhbnNpb24sIHBhcmFtZXRlciBhbmQgdiktLjE1IEYgMS4wOTIoYXJpYWJsZSBlKS0uMjUgRiAxLjA5MgogKHhwYW5zaW9uLCBhcml0aG1ldGljIHN1YnN0aXR1dGlvbiwgY29tLSktLjE1IEYgMS4yNjgKLShtYW5kIHN1YnN0aXR1dGlvbiwgcHJvY2VzcyBzdWJzdGl0dXRpb24gYW5kIHF1b3RlIHJlbW8pMTQ0IDI1Ni44IFIgLS4yNQorKG1hbmQgc3Vic3RpdHV0aW9uLCBwcm9jZXNzIHN1YnN0aXR1dGlvbiBhbmQgcXVvdGUgcmVtbykxNDQgMzQ1LjYgUiAtLjI1CiAodmEpLS4xNSBHIDMuNzY4KGwuIEVhY2gpLjI1IEYgRjIocGF0dGVybikzLjc2OCBFIEYwIC0uMTUoZXgpMy43NjggRwotMS4yNjgoYW1pbmVkIGlzIGUpLjE1IEYoeHBhbmRlZCktLjE1IEUgLjM1Myh1c2luZyB0aWxkZSBlKTE0NCAyNjguOCBSCisxLjI2OChhbWluZWQgaXMgZSkuMTUgRih4cGFuZGVkKS0uMTUgRSAuMzUzKHVzaW5nIHRpbGRlIGUpMTQ0IDM1Ny42IFIKIC4zNTMoeHBhbnNpb24sIHBhcmFtZXRlciBhbmQgdiktLjE1IEYgLjM1MyhhcmlhYmxlIGUpLS4yNSBGIC4zNTMKICh4cGFuc2lvbiwgYXJpdGhtZXRpYyBzdWJzdGl0dXRpb24sIGNvbW1hbmQgc3Vic3RpLSktLjE1IEYgMS41MTcKLSh0dXRpb24sIGFuZCBwcm9jZXNzIHN1YnN0aXR1dGlvbi4pMTQ0IDI4MC44IFIgMS41MTcKKyh0dXRpb24sIGFuZCBwcm9jZXNzIHN1YnN0aXR1dGlvbi4pMTQ0IDM2OS42IFIgMS41MTcKIChJZiB0aGUgc2hlbGwgb3B0aW9uKTYuNTE3IEYgRjEobm9jYXNlbWF0Y2gpNC4wMTYgRSBGMCAxLjUxNgogKGlzIGVuYWJsZWQsIHRoZSBtYXRjaCBpcyBwZXIpNC4wMTYgRigtKS0uMiBFIDEuMzQ2KGZvcm1lZCB3aXRob3V0IHJlKQotMTQ0IDI5Mi44IFIgLS4wNShnYSktLjE1IEcgMS4zNDYKKzE0NCAzODEuNiBSIC0uMDUoZ2EpLS4xNSBHIDEuMzQ2CiAocmQgdG8gdGhlIGNhc2Ugb2YgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzLikuMDUgRiAxLjM0NwotKFdoZW4gYSBtYXRjaCBpcyBmb3VuZCwgdGhlIGNvcnJlLSk2LjM0NyBGKHNwb25kaW5nKTE0NCAzMDQuOCBRIEYyKGxpc3QpCisoV2hlbiBhIG1hdGNoIGlzIGZvdW5kLCB0aGUgY29ycmUtKTYuMzQ3IEYoc3BvbmRpbmcpMTQ0IDM5My42IFEgRjIobGlzdCkKIDIuNzc3IEUgRjAgLjI3NyhpcyBlKTIuNzc3IEYgLS4xNSh4ZSktLjE1IEcgMi43NzcoY3V0ZWQuIElmKS4xNSBGKHRoZSkKIDIuNzc3IEUgRjEoOzspMi43NzcgRSBGMCAuMjc3CiAob3BlcmF0b3IgaXMgdXNlZCwgbm8gc3Vic2VxdWVudCBtYXRjaGVzIGFyZSBhdHRlbXB0ZWQgYWZ0ZXIgdGhlKTIuNzc3IEYKLS44NDgoXDIxNHJzdCBwYXR0ZXJuIG1hdGNoLikxNDQgMzE2LjggUihVc2luZyk1Ljg0OCBFIEYxKDsmKTMuMzQ4IEUgRjAKKy44NDgoXDIxNHJzdCBwYXR0ZXJuIG1hdGNoLikxNDQgNDA1LjYgUihVc2luZyk1Ljg0OCBFIEYxKDsmKTMuMzQ4IEUgRjAKIC44NDkoaW4gcGxhY2Ugb2YpMy4zNDkgRiBGMSg7OykzLjM0OSBFIEYwIC44NDkoY2F1c2VzIGUpMy4zNDkgRiAtLjE1KHhlKQogLS4xNSBHIC44NDkoY3V0aW9uIHRvIGNvbnRpbnVlIHdpdGggdGhlKS4xNSBGIEYyKGxpc3QpMy4zNDkgRSBGMAotKGFzc29jaWF0ZWQpMy4zNDkgRSAuMDc4KHdpdGggdGhlIG5lKTE0NCAzMjguOCBSIC4wNzgKKyhhc3NvY2lhdGVkKTMuMzQ5IEUgLjA3OCh3aXRoIHRoZSBuZSkxNDQgNDE3LjYgUiAuMDc4CiAoeHQgc2V0IG9mIHBhdHRlcm5zLiktLjE1IEYoVXNpbmcpNS4wNzggRSBGMSg7OyYpMi41NzggRSBGMCAuMDc4CiAoaW4gcGxhY2Ugb2YpMi41NzggRiBGMSg7OykyLjU3OCBFIEYwIC4wNzcKIChjYXVzZXMgdGhlIHNoZWxsIHRvIHRlc3QgdGhlIG5lKTIuNTc4IEYgLjA3Nyh4dCBwYXR0ZXJuIGxpc3QgaW4pLS4xNSBGCi0uMjI3KHRoZSBzdGF0ZW1lbnQsIGlmIGFuKTE0NCAzNDAuOCBSIDEuNTI3IC0uNjUoeSwgYSktLjE1IEggLjIyNyhuZCBlKQorLjIyNyh0aGUgc3RhdGVtZW50LCBpZiBhbikxNDQgNDI5LjYgUiAxLjUyNyAtLjY1KHksIGEpLS4xNSBIIC4yMjcobmQgZSkKIC42NSBGIC0uMTUoeGUpLS4xNSBHIC4yMjcoY3V0ZSBhbikuMTUgRiAyLjcyNyh5YSktLjE1IEcoc3NvY2lhdGVkKS0yLjcyNwogRSBGMihsaXN0KTIuNzI3IEUgRjAgLjIyNyhvbiBhIHN1Y2Nlc3NmdWwgbWF0Y2guKTIuNzI3IEYgLjIyNyhUaGUgZSkKLTUuMjI3IEYgLjIyNyh4aXQgc3RhdHVzIGlzIHplcm8pLS4xNSBGKGlmIG5vIHBhdHRlcm4gbWF0Y2hlcy4pMTQ0IDM1Mi44Cis1LjIyNyBGIC4yMjcoeGl0IHN0YXR1cyBpcyB6ZXJvKS0uMTUgRihpZiBubyBwYXR0ZXJuIG1hdGNoZXMuKTE0NCA0NDEuNgogUShPdGhlcndpc2UsIGl0IGlzIHRoZSBlKTUgRSh4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZSktLjE1IEUKLS0uMTUoeGUpLS4xNSBHKGN1dGVkIGluKS4xNSBFIEYyKGxpc3QpMi41IEUgRjAoLilBIEYxKGlmKTEwOCAzNjkuNiBRIEYyCistLjE1KHhlKS0uMTUgRyhjdXRlZCBpbikuMTUgRSBGMihsaXN0KTIuNSBFIEYwKC4pQSBGMShpZikxMDggNDU4LjQgUSBGMgogKGxpc3QpMi41IEUgRjAoOylBIEYxKHRoZW4pMi41IEUgRjIobGlzdDspMi41IEUgRjAoWykyLjUgRSBGMShlbGlmKTIuNSBFCiBGMihsaXN0KTIuNSBFIEYwKDspQSBGMSh0aGVuKTIuNSBFIEYyKGxpc3QpMi41IEUgRjAgMi41KDtdLilDKC4uIFspLTIuNQotRSBGMShlbHNlKTIuNSBFIEYyKGxpc3QpMi41IEUgRjAgMi41KDtdKUMgRjE8OGM+QSBGMChUaGUpMTQ0IDM4MS42IFEgRjEKK0UgRjEoZWxzZSkyLjUgRSBGMihsaXN0KTIuNSBFIEYwIDIuNSg7XSlDIEYxPDhjPkEgRjAoVGhlKTE0NCA0NzAuNCBRIEYxCiAoaWYpMi45NzggRSBGMihsaXN0KTMuMDY4IEUgRjAgLjQ3OChpcyBlKTMuNjU4IEYgLS4xNSh4ZSktLjE1IEcgMi45NzgKIChjdXRlZC4gSWYpLjE1IEYgLjQ3OChpdHMgZSkyLjk3OCBGIC40NzgoeGl0IHN0YXR1cyBpcyB6ZXJvLCB0aGUpLS4xNSBGCiBGMSh0aGVuKTIuOTc4IEUgRjIobGlzdCkyLjk3OCBFIEYwIC40NzgoaXMgZSkyLjk3OCBGIC0uMTUoeGUpLS4xNSBHCiAyLjk3OChjdXRlZC4gT3RoZXJ3aXNlLCkuMTUgRihlYWNoKTIuOTc4IEUgRjEoZWxpZikyLjk3NyBFIEYyKGxpc3QpMi45NzcKLUUgRjAgMS4wODcoaXMgZSkxNDQgMzkzLjYgUiAtLjE1KHhlKS0uMTUgRyAxLjA4NworRSBGMCAxLjA4NyhpcyBlKTE0NCA0ODIuNCBSIC0uMTUoeGUpLS4xNSBHIDEuMDg3CiAoY3V0ZWQgaW4gdHVybiwgYW5kIGlmIGl0cyBlKS4xNSBGIDEuMDg3CiAoeGl0IHN0YXR1cyBpcyB6ZXJvLCB0aGUgY29ycmVzcG9uZGluZyktLjE1IEYgRjEodGhlbikzLjU4NyBFIEYyKGxpc3QpCiAzLjU4NyBFIEYwIDEuMDg4KGlzIGUpMy41ODggRiAtLjE1KHhlKS0uMTUgRyAxLjA4OChjdXRlZCBhbmQgdGhlKS4xNSBGCi0uMTA0KGNvbW1hbmQgY29tcGxldGVzLikxNDQgNDA1LjYgUiAuMTAzKE90aGVyd2lzZSwgdGhlKTUuMTA0IEYgRjEoZWxzZSkKKy4xMDQoY29tbWFuZCBjb21wbGV0ZXMuKTE0NCA0OTQuNCBSIC4xMDMoT3RoZXJ3aXNlLCB0aGUpNS4xMDQgRiBGMShlbHNlKQogMi42MDMgRSBGMihsaXN0KTIuNjAzIEUgRjAgLjEwMyhpcyBlKTIuNjAzIEYgLS4xNSh4ZSktLjE1IEcgLjEwMwogKGN1dGVkLCBpZiBwcmVzZW50LikuMTUgRiAuMTAzKFRoZSBlKTUuMTAzIEYgLjEwMyh4aXQgc3RhdHVzIGlzIHRoZSBlKQotLS4xNSBGIC4xMDMoeGl0IHN0YS0pLS4xNSBGKHR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpMTQ0IDQxNy42IFEgLS4xNQorLS4xNSBGIC4xMDMoeGl0IHN0YS0pLS4xNSBGKHR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpMTQ0IDUwNi40IFEgLS4xNQogKHhlKS0uMTUgRyhjdXRlZCwgb3IgemVybyBpZiBubyBjb25kaXRpb24gdGVzdGVkIHRydWUuKS4xNSBFIEYxKHdoaWxlKQotMTA4IDQzNC40IFEgRjIobGlzdCkyLjUgRSBGMCg7KUEgRjEoZG8pMi41IEUgRjIobGlzdCkyLjUgRSBGMCg7KUEgRjEKLShkb25lKTIuNSBFKHVudGlsKTEwOCA0NDYuNCBRIEYyKGxpc3QpMi41IEUgRjAoOylBIEYxKGRvKTIuNSBFIEYyKGxpc3QpCi0yLjUgRSBGMCg7KUEgRjEoZG9uZSkyLjUgRSBGMChUaGUpMTQ0IDQ1OC40IFEgRjEod2hpbGUpMy4xMDMgRSBGMCAuNjAzCi0oY29tbWFuZCBjb250aW51b3VzbHkgZSkzLjEwMyBGIC0uMTUoeGUpLS4xNSBHIC42MDMoY3V0ZXMgdGhlKS4xNSBGIEYxCi0oZG8pMy4xMDMgRSBGMihsaXN0KTMuMTAzIEUgRjAgLjYwMyhhcyBsb25nIGFzIHRoZSBsYXN0IGNvbW1hbmQgaW4pMy4xMDMKLUYgRjIobGlzdCkzLjEwNCBFIEYwKHJldHVybnMpMy4xMDQgRSAuNDcxKGFuIGUpMTQ0IDQ3MC40IFIgLjQ3MQotKHhpdCBzdGF0dXMgb2YgemVyby4pLS4xNSBGKFRoZSk1LjQ3MSBFIEYxKHVudGlsKTIuOTcxIEUgRjAgLjQ3MQotKGNvbW1hbmQgaXMgaWRlbnRpY2FsIHRvIHRoZSkyLjk3MSBGIEYxKHdoaWxlKTIuOTcgRSBGMCAuNDcoY29tbWFuZCwgZSkKLTIuOTcgRiAuNDcoeGNlcHQgdGhhdCB0aGUgdGVzdCktLjE1IEYgLjA5NShpcyBuZSkxNDQgNDgyLjQgUiAtLjA1KGdhKQotLS4xNSBHIC4wOTUodGVkOyB0aGUpLjA1IEYgRjEoZG8pMi41OTUgRSBGMihsaXN0KTIuNjg1IEUgRjAgLjA5NShpcyBlKQotMy4yNzUgRiAtLjE1KHhlKS0uMTUgRyAuMDk1KGN1dGVkIGFzIGxvbmcgYXMgdGhlIGxhc3QgY29tbWFuZCBpbikuMTUgRgotRjIobGlzdCkyLjY4NSBFIEYwIC4wOTYocmV0dXJucyBhIG5vbi16ZXJvIGUpMy4yNzYgRiAuMDk2KHhpdCBzdGF0dXMuKQotLS4xNSBGIDEuMzA3KFRoZSBlKTE0NCA0OTQuNCBSIDEuMzA3KHhpdCBzdGF0dXMgb2YgdGhlKS0uMTUgRiBGMSh3aGlsZSkKLTMuODA3IEUgRjAoYW5kKTMuODA3IEUgRjEodW50aWwpMy44MDcgRSBGMCAxLjMwNyhjb21tYW5kcyBpcyB0aGUgZSkzLjgwNwotRiAxLjMwNih4aXQgc3RhdHVzIG9mIHRoZSBsYXN0KS0uMTUgRiBGMShkbykzLjgwNiBFIEYyKGxpc3QpMy44MDYgRSBGMAotKGNvbW1hbmQpMy44MDYgRSAtLjE1KGV4ZSkxNDQgNTA2LjQgUyhjdXRlZCwgb3IgemVybyBpZiBub25lIHcpLjE1IEUKLShhcyBlKS0uMSBFIC0uMTUoeGUpLS4xNSBHKGN1dGVkLikuMTUgRSBGMShDb3ByKTg3IDUyMy4yIFEob2Nlc3NlcyktLjE4Ci1FIEYwKEEpMTA4IDUzNS4yIFEgRjIoY29wcikzLjcxMiBFKG9jZXNzKS0uNDUgRSBGMCAxLjIxMgorMTA4IDUyMy4yIFEgRjIobGlzdC0xKTIuNSBFIEYwKDspQSBGMShkbykyLjUgRSBGMihsaXN0LTIpMi41IEUgRjAoOylBIEYxCisoZG9uZSkyLjUgRSh1bnRpbCkxMDggNTM1LjIgUSBGMihsaXN0LTEpMi41IEUgRjAoOylBIEYxKGRvKTIuNSBFIEYyCisobGlzdC0yKTIuNSBFIEYwKDspQSBGMShkb25lKTIuNSBFIEYwKFRoZSkxNDQgNTQ3LjIgUSBGMSh3aGlsZSkzLjQ1IEUgRjAKKy45NShjb21tYW5kIGNvbnRpbnVvdXNseSBlKTMuNDUgRiAtLjE1KHhlKS0uMTUgRyAuOTUoY3V0ZXMgdGhlIGxpc3QpLjE1CitGIEYyKGxpc3QtMikzLjQ1IEUgRjAgLjk1KGFzIGxvbmcgYXMgdGhlIGxhc3QgY29tbWFuZCBpbiB0aGUgbGlzdCkzLjQ1IEYKK0YyKGxpc3QtMSkxNDQgNTU5LjIgUSBGMCAuMjA1KHJldHVybnMgYW4gZSkyLjcwNSBGIC4yMDUKKyh4aXQgc3RhdHVzIG9mIHplcm8uKS0uMTUgRihUaGUpNS4yMDUgRSBGMSh1bnRpbCkyLjcwNSBFIEYwIC4yMDUKKyhjb21tYW5kIGlzIGlkZW50aWNhbCB0byB0aGUpMi43MDUgRiBGMSh3aGlsZSkyLjcwNSBFIEYwIC4yMDUKKyhjb21tYW5kLCBlKTIuNzA1IEYoeGNlcHQpLS4xNSBFIC41OTkodGhhdCB0aGUgdGVzdCBpcyBuZSkxNDQgNTcxLjIgUgorLS4wNShnYSktLjE1IEcodGVkOykuMDUgRSBGMihsaXN0LTIpMy4xODkgRSBGMCAuNTk5KGlzIGUpMy4xMTkgRiAtLjE1CisoeGUpLS4xNSBHIC42KGN1dGVkIGFzIGxvbmcgYXMgdGhlIGxhc3QgY29tbWFuZCBpbikuMTUgRiBGMihsaXN0LTEpMy4xOQorRSBGMCAuNihyZXR1cm5zIGEgbm9uLXplcm8pMy4xIEYgLS4xNShleCkxNDQgNTgzLjIgUyAuMjA1KGl0IHN0YXR1cy4pLjE1CitGIC4yMDUoVGhlIGUpNS4yMDUgRiAuMjA1KHhpdCBzdGF0dXMgb2YgdGhlKS0uMTUgRiBGMSh3aGlsZSkyLjcwNSBFIEYwCisoYW5kKTIuNzA1IEUgRjEodW50aWwpMi43MDQgRSBGMCAuMjA0KGNvbW1hbmRzIGlzIHRoZSBlKTIuNzA0IEYgLjIwNAorKHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCktLjE1IEYgLS4xNShleGUpMTQ0IDU5NS4yIFMoY3V0ZWQgaW4pLjE1CitFIEYyKGxpc3QtMikyLjUgRSBGMCAyLjUoLG8pQyAyLjUocnopLTIuNSBHKGVybyBpZiBub25lIHcpLTIuNSBFKGFzIGUpCistLjEgRSAtLjE1KHhlKS0uMTUgRyhjdXRlZC4pLjE1IEUgRjEoQ29wcik4NyA2MTIgUShvY2Vzc2VzKS0uMTggRSBGMChBKQorMTA4IDYyNCBRIEYyKGNvcHIpMy43MTIgRShvY2VzcyktLjQ1IEUgRjAgMS4yMTIKIChpcyBhIHNoZWxsIGNvbW1hbmQgcHJlY2VkZWQgYnkgdGhlKTMuNzEyIEYgRjEoY29wcikzLjcxMyBFKG9jKS0uMTggRSBGMAogKHJlc2VydikzLjcxMyBFIDEuMjEzKGVkIHcpLS4xNSBGIDMuNzEzKG9yZC4gQSktLjEgRiAxLjIxMwogKGNvcHJvY2VzcyBpcyBlKTMuNzEzIEYgLS4xNSh4ZSktLjE1IEcgMS4yMTMoY3V0ZWQgYXN5bi0pLjE1IEYgLjU3NShjaHJcCiBvbm91c2x5IGluIGEgc3Vic2hlbGwsIGFzIGlmIHRoZSBjb21tYW5kIGhhZCBiZWVuIHRlcm1pbmF0ZWQgd2l0aCB0aGUpCi0xMDggNTQ3LjIgUiBGMSgmKTMuMDc0IEUgRjAgLjU3NChjb250cm9sIG9wZXJhdG9yKTMuMDc0IEYgMy4wNzQoLHcpLS40IEcKLS41NzQoaXRoIGEgdHcpLTMuMDc0IEYoby0pLS4xIEUgLS4xKHdhKTEwOCA1NTkuMiBTIDIuNSh5cCkuMSBHCisxMDggNjM2IFIgRjEoJikzLjA3NCBFIEYwIC41NzQoY29udHJvbCBvcGVyYXRvcikzLjA3NCBGIDMuMDc0KCx3KS0uNCBHCisuNTc0KGl0aCBhIHR3KS0zLjA3NCBGKG8tKS0uMSBFIC0uMSh3YSkxMDggNjQ4IFMgMi41KHlwKS4xIEcKIChpcGUgZXN0YWJsaXNoZWQgYmV0d2VlbiB0aGUgZSktMi41IEUgLS4xNSh4ZSktLjE1IEcKIChjdXRpbmcgc2hlbGwgYW5kIHRoZSBjb3Byb2Nlc3MuKS4xNSBFKFRoZSBmb3JtYXQgZm9yIGEgY29wcm9jZXNzIGlzOikKLTEwOCA1NzYgUSBGMShjb3ByKTE0NCA1OTIuOCBRKG9jKS0uMTggRSBGMChbKTIuNSBFIEYyIC0uMjcoTkEpQyhNRSkuMjcgRQotRjAoXSlBIEYyKGNvbW1hbmQpMi41IEUgRjAoWykyLjUgRSBGMiAtLjM3KHJlKUMoZGlyKS4zNyBFKGVjdGlvbnMpLS4zNyBFCi1GMChdKUEgLjkyMihUaGlzIGNyZWF0ZXMgYSBjb3Byb2Nlc3MgbmFtZWQpMTA4IDYwOS42IFIgRjIgLS4yNyhOQSkzLjQyMgotRyhNRSkuMjcgRSBGMCA1LjkyMiguSSlDKGYpLTUuOTIyIEUgRjIgLS4yNyhOQSkzLjQyMiBHKE1FKS4yNyBFIEYwIC45MjMKLShpcyBub3Qgc3VwcGxpZWQsIHRoZSBkZWYpMy40MjIgRiAuOTIzKGF1bHQgbmFtZSBpcyktLjEgRiBGMihDT1BSKTMuNDIzCi1FKE9DKS0uNCBFIEYwKC4pQSBGMiAtLjI3KE5BKTUuOTIzIEcoTUUpLjI3IEUgRjAgLjY0Ci0obXVzdCBub3QgYmUgc3VwcGxpZWQgaWYpMTA4IDYyMS42IFIgRjIoY29tbWFuZCkzLjE0IEUgRjAgLjY0KGlzIGEpMy4xNAorMTA4IDY2NC44IFEgRjEoY29wcikxNDQgNjgxLjYgUShvYyktLjE4IEUgRjAoWykyLjUgRSBGMiAtLjI3KE5BKUMoTUUpLjI3CitFIEYwKF0pQSBGMihjb21tYW5kKTIuNSBFIEYwKFspMi41IEUgRjIgLS4zNyhyZSlDKGRpcikuMzcgRShlY3Rpb25zKS0uMzcKK0UgRjAoXSlBIC45MjIoVGhpcyBjcmVhdGVzIGEgY29wcm9jZXNzIG5hbWVkKTEwOCA2OTguNCBSIEYyIC0uMjcoTkEpCiszLjQyMiBHKE1FKS4yNyBFIEYwIDUuOTIyKC5JKUMoZiktNS45MjIgRSBGMiAtLjI3KE5BKTMuNDIyIEcoTUUpLjI3IEUgRjAKKy45MjMoaXMgbm90IHN1cHBsaWVkLCB0aGUgZGVmKTMuNDIyIEYgLjkyMyhhdWx0IG5hbWUgaXMpLS4xIEYgRjIoQ09QUikKKzMuNDIzIEUoT0MpLS40IEUgRjAoLilBIEYyIC0uMjcoTkEpNS45MjMgRyhNRSkuMjcgRSBGMCAuNjQKKyhtdXN0IG5vdCBiZSBzdXBwbGllZCBpZikxMDggNzEwLjQgUiBGMihjb21tYW5kKTMuMTQgRSBGMCAuNjQoaXMgYSkzLjE0CiBGIEYyIC42NChzaW1wbGUgY29tbWFuZCkzLjE0IEYgRjAgLjY0KFwoc2VlIGFibykzLjE0IEYgLS4xNSh2ZSktLjE1IEcKIC42NChcKTsgb3RoZXJ3aXNlLCBpdCBpcyBpbnRlcnByZXRlZCBhcyB0aGUgXDIxNHJzdCkuMTUgRiAtLjEod28pMTA4Ci02MzMuNiBTIC4xNjMocmQgb2YgdGhlIHNpbXBsZSBjb21tYW5kLikuMSBGIC4xNjMoV2hlbiB0aGUgY29wcm9jIGlzIGUpCis3MjIuNCBTIC4xNjMocmQgb2YgdGhlIHNpbXBsZSBjb21tYW5kLikuMSBGIC4xNjMoV2hlbiB0aGUgY29wcm9jIGlzIGUpCiA1LjE2MyBGIC0uMTUoeGUpLS4xNSBHIC4xNjMoY3V0ZWQsIHRoZSBzaGVsbCBjcmVhdGVzIGFuIGFycmF5IHYpLjE1IEYKLS4xNjMoYXJpYWJsZSBcKHNlZSktLjI1IEYgRjEoQXJyYXlzKTIuNjYzIEUgRjAoYmVsbykxMDggNjQ1LjYgUSAuNTEyCi0od1wpIG5hbWVkKS0uMjUgRiBGMiAtLjI3KE5BKTMuMDEyIEcoTUUpLjI3IEUgRjAgLjUxMihpbiB0aGUgY29udGUpMy4wMTIKLUYgLjUxMSh4dCBvZiB0aGUgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcgLjUxMShjdXRpbmcgc2hlbGwuKS4xNSBGIC41MTEKLShUaGUgc3RhbmRhcmQgb3V0cHV0IG9mKTUuNTExIEYgRjIoY29tbWFuZCkzLjIxMSBFIEYwIC41MTEoaXMgY29ubmVjdGVkKQotMy43ODEgRiAuODEodmlhIGEgcGlwZSB0byBhIFwyMTRsZSBkZXNjcmlwdG9yIGluIHRoZSBlKTEwOCA2NTcuNiBSIC0uMTUKLSh4ZSktLjE1IEcgLjgxMShjdXRpbmcgc2hlbGwsIGFuZCB0aGF0IFwyMTRsZSBkZXNjcmlwdG9yIGlzIGFzc2lnbmVkIHRvKQotLjE1IEYgRjIgLS4yNyhOQSkzLjMxMSBHKE1FKS4yNyBFIEYwIDMuMzExKFswXS4gVGhlKUIgLjcxNwotKHN0YW5kYXJkIGlucHV0IG9mKTEwOCA2NjkuNiBSIEYyKGNvbW1hbmQpMy40MTcgRSBGMCAuNzE2Ci0oaXMgY29ubmVjdGVkIHZpYSBhIHBpcGUgdG8gYSBcMjE0bGUgZGVzY3JpcHRvciBpbiB0aGUgZSkzLjk4NyBGIC0uMTUKLSh4ZSktLjE1IEcgLjcxNihjdXRpbmcgc2hlbGwsIGFuZCB0aGF0IFwyMTRsZSkuMTUgRiAuNzAyCi0oZGVzY3JpcHRvciBpcyBhc3NpZ25lZCB0bykxMDggNjgxLjYgUiBGMiAtLjI3KE5BKTMuMjAyIEcoTUUpLjI3IEUgRjAKLTMuMjAyKFsxXS4gVGhpcylCIC43MDMocGlwZSBpcyBlc3RhYmxpc2hlZCBiZWZvcmUgYW4pMy4yMDMgRiAzLjIwMyh5cikKLS0uMTUgRyAuNzAzKGVkaXJlY3Rpb25zIHNwZWNpXDIxNGVkIGJ5IHRoZSBjb20tKS0zLjIwMyBGIDEuMTg0Ci0obWFuZCBcKHNlZSkxMDggNjkzLjYgUiBGMyhSRURJUkVDVElPTikzLjY4NCBFIEYwKGJlbG8pMy40MzQgRSAzLjY4NAotKHdcKS4gVGhlKS0uMjUgRiAxLjE4MyhcMjE0bGUgZGVzY3JpcHRvcnMgY2FuIGJlIHV0aWxpemVkIGFzIGFyKTMuNjg0IEYKLTEuMTgzKGd1bWVudHMgdG8gc2hlbGwgY29tbWFuZHMpLS4xOCBGIC4wNwotKGFuZCByZWRpcmVjdGlvbnMgdXNpbmcgc3RhbmRhcmQgdykxMDggNzA1LjYgUiAuMDcob3JkIGUpLS4xIEYgMi41NwotKHhwYW5zaW9ucy4gVGhlKS0uMTUgRiAuMDcocHJvY2VzcyBpZCBvZiB0aGUgc2hlbGwgc3BhKTIuNTcgRiAuMDcKLSh3bmVkIHRvIGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHIC4wNyhjdXRlIHRoZSBjb3Byby0pLjE1IEYgLjYzMgotKGNlc3MgaXMgYSkxMDggNzE3LjYgUiAtLjI1KHZhKS0uMiBHIC42MzEoaWxhYmxlIGFzIHRoZSB2KS4yNSBGIC42MzEKLShhbHVlIG9mIHRoZSB2KS0uMjUgRihhcmlhYmxlKS0uMjUgRSBGMiAtLjI3KE5BKTMuMTMxIEcoTUUpLjI3IEUgRjAKLTMuMTMxKF9QSUQuIFRoZSlCIEYxKHdhaXQpMy4xMzEgRSBGMCAtLjIoYnUpMy4xMzEgRyAuNjMxCi0oaWx0aW4gY29tbWFuZCBtYXkgYmUgdXNlZCB0byB3KS4yIEYoYWl0KS0uMSBFCi0oZm9yIHRoZSBjb3Byb2Nlc3MgdG8gdGVybWluYXRlLikxMDggNzI5LjYgUShHTlUgQmFzaC00LjEpNzIgNzY4IFEKLSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg2KTE5MC45NTUgRSAwIENnIEVQCisuMTYzKGFyaWFibGUgXChzZWUpLS4yNSBGIEYxKEFycmF5cykyLjY2MyBFIEYwKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDYpMTkwLjk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNyA3CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFKFRoZSByZXR1cm4gc3RhdHVzIG9mIGEgY29wcm9jZXNzIGlzIHRoZSBlKTEwOCA4NCBRKHhpdCBzdGF0dXMgb2YpCi0tLjE1IEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YoY29tbWFuZCkyLjUgRSBGMCguKUEvRjIgMTAvVGltZXMtQm9sZEAwCi1TRihTaGVsbCBGdW5jdGlvbiBEZVwyMTRuaXRpb25zKTg3IDEwMC44IFEgRjAgMi42OTcoQXMpMTA4IDExMi44IFMgLjE5OAorLS4zNSBFKGJlbG8pMTA4IDg0IFEgLjUxMih3XCkgbmFtZWQpLS4yNSBGL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGIC0uMjcKKyhOQSkzLjAxMiBHKE1FKS4yNyBFIEYwIC41MTIoaW4gdGhlIGNvbnRlKTMuMDEyIEYgLjUxMSh4dCBvZiB0aGUgZSktLjE1CitGIC0uMTUoeGUpLS4xNSBHIC41MTEoY3V0aW5nIHNoZWxsLikuMTUgRiAuNTExKFRoZSBzdGFuZGFyZCBvdXRwdXQgb2YpCis1LjUxMSBGIEYxKGNvbW1hbmQpMy4yMTEgRSBGMCAuNTExKGlzIGNvbm5lY3RlZCkzLjc4MSBGIC44MQorKHZpYSBhIHBpcGUgdG8gYSBcMjE0bGUgZGVzY3JpcHRvciBpbiB0aGUgZSkxMDggOTYgUiAtLjE1KHhlKS0uMTUgRyAuODExCisoY3V0aW5nIHNoZWxsLCBhbmQgdGhhdCBcMjE0bGUgZGVzY3JpcHRvciBpcyBhc3NpZ25lZCB0bykuMTUgRiBGMSAtLjI3CisoTkEpMy4zMTEgRyhNRSkuMjcgRSBGMCAzLjMxMShbMF0uIFRoZSlCIC43MTcoc3RhbmRhcmQgaW5wdXQgb2YpMTA4IDEwOAorUiBGMShjb21tYW5kKTMuNDE3IEUgRjAgLjcxNgorKGlzIGNvbm5lY3RlZCB2aWEgYSBwaXBlIHRvIGEgXDIxNGxlIGRlc2NyaXB0b3IgaW4gdGhlIGUpMy45ODcgRiAtLjE1CisoeGUpLS4xNSBHIC43MTYoY3V0aW5nIHNoZWxsLCBhbmQgdGhhdCBcMjE0bGUpLjE1IEYgLjcwMgorKGRlc2NyaXB0b3IgaXMgYXNzaWduZWQgdG8pMTA4IDEyMCBSIEYxIC0uMjcoTkEpMy4yMDIgRyhNRSkuMjcgRSBGMAorMy4yMDIoWzFdLiBUaGlzKUIgLjcwMyhwaXBlIGlzIGVzdGFibGlzaGVkIGJlZm9yZSBhbikzLjIwMyBGIDMuMjAzKHlyKQorLS4xNSBHIC43MDMoZWRpcmVjdGlvbnMgc3BlY2lcMjE0ZWQgYnkgdGhlIGNvbS0pLTMuMjAzIEYgMS4xODQKKyhtYW5kIFwoc2VlKTEwOCAxMzIgUi9GMiA5L1RpbWVzLUJvbGRAMCBTRihSRURJUkVDVElPTikzLjY4NCBFIEYwKGJlbG8pCiszLjQzNCBFIDMuNjg0KHdcKS4gVGhlKS0uMjUgRiAxLjE4MworKFwyMTRsZSBkZXNjcmlwdG9ycyBjYW4gYmUgdXRpbGl6ZWQgYXMgYXIpMy42ODQgRiAxLjE4MworKGd1bWVudHMgdG8gc2hlbGwgY29tbWFuZHMpLS4xOCBGIDEuNzk2CisoYW5kIHJlZGlyZWN0aW9ucyB1c2luZyBzdGFuZGFyZCB3KTEwOCAxNDQgUiAxLjc5NihvcmQgZSktLjEgRiA0LjI5NworKHhwYW5zaW9ucy4gVGhlKS0uMTUgRiAxLjc5Nyhwcm9jZXNzIElEIG9mIHRoZSBzaGVsbCBzcGEpNC4yOTcgRiAxLjc5NworKHduZWQgdG8gZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcgMS43OTcoY3V0ZSB0aGUpLjE1IEYgLjQ4MworKGNvcHJvY2VzcyBpcyBhKTEwOCAxNTYgUiAtLjI1KHZhKS0uMiBHIC40ODMoaWxhYmxlIGFzIHRoZSB2KS4yNSBGIC40ODMKKyhhbHVlIG9mIHRoZSB2KS0uMjUgRihhcmlhYmxlKS0uMjUgRSBGMSAtLjI3KE5BKTIuOTgzIEcoTUUpLjI3IEUgRjAKKzIuOTgzKF9QSUQuIFRoZSlCL0YzIDEwL1RpbWVzLUJvbGRAMCBTRih3YWl0KTIuOTgzIEUgRjAgLS4yKGJ1KTIuOTgzIEcKKy40ODMoaWx0aW4gY29tbWFuZCBtYXkgYmUgdXNlZCB0bykuMiBGIC0uMSh3YSkxMDggMTY4IFMKKyhpdCBmb3IgdGhlIGNvcHJvY2VzcyB0byB0ZXJtaW5hdGUuKS4xIEUKKyhUaGUgcmV0dXJuIHN0YXR1cyBvZiBhIGNvcHJvY2VzcyBpcyB0aGUgZSkxMDggMTg0LjggUSh4aXQgc3RhdHVzIG9mKQorLS4xNSBFIEYxKGNvbW1hbmQpMi41IEUgRjAoLilBIEYzKFNoZWxsIEZ1bmN0aW9uIERlXDIxNG5pdGlvbnMpODcgMjAxLjYKK1EgRjAgMi42OTcoQXMpMTA4IDIxMy42IFMgLjE5OAogKGhlbGwgZnVuY3Rpb24gaXMgYW4gb2JqZWN0IHRoYXQgaXMgY2FsbGVkIGxpayktMi42OTcgRiAyLjY5OChlYXMpLS4xIEcKIC4xOTgoaW1wbGUgY29tbWFuZCBhbmQgZSktMi42OTggRiAtLjE1KHhlKS0uMTUgRyAuMTk4Ci0oY3V0ZXMgYSBjb21wb3VuZCBjb21tYW5kIHdpdGgpLjE1IEYgMi41KGFuKTEwOCAxMjQuOCBTIC41IC0uMjUoZXcgcykKKyhjdXRlcyBhIGNvbXBvdW5kIGNvbW1hbmQgd2l0aCkuMTUgRiAyLjUoYW4pMTA4IDIyNS42IFMgLjUgLS4yNShldyBzKQogLTIuNSBIKGV0IG9mIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4pLjI1IEUKLShTaGVsbCBmdW5jdGlvbnMgYXJlIGRlY2xhcmVkIGFzIGZvbGxvKTUgRSh3czopLS4yNSBFKFspMTA4IDE0MS42IFEgRjIKLShmdW5jdGlvbikyLjUgRSBGMChdKTIuNSBFIEYxKG5hbWUpMi41IEUgRjAoXChcKSkyLjUgRSBGMQotKGNvbXBvdW5kXDI1NWNvbW1hbmQpMi41IEUgRjAoWykyLjUgRSBGMSAtLjM3KHJlKUMoZGlyKS4zNyBFKGVjdGlvbiktLjM3Ci1FIEYwKF0pQSAxLjQwMyhUaGlzIGRlXDIxNG5lcyBhIGZ1bmN0aW9uIG5hbWVkKTE0NCAxNTMuNiBSIEYxKG5hbWUpMy45MDIKLUUgRjAgNi40MDIoLlQpQyAxLjQwMihoZSByZXNlcnYpLTYuNDAyIEYgMS40MDIoZWQgdyktLjE1IEYob3JkKS0uMSBFIEYyCi0oZnVuY3Rpb24pMy45MDIgRSBGMCAxLjQwMihpcyBvcHRpb25hbC4pMy45MDIgRiAxLjQwMihJZiB0aGUpNi40MDIgRiBGMgotKGZ1bmN0aW9uKTMuOTAyIEUgRjAocmVzZXJ2KTE0NCAxNjUuNiBRIC4xNjIoZWQgdyktLjE1IEYgLjE2MgotKG9yZCBpcyBzdXBwbGllZCwgdGhlIHBhcmVudGhlc2VzIGFyZSBvcHRpb25hbC4pLS4xIEYoVGhlKTUuMTYyIEUgRjEKLShib2R5KTIuNjYyIEUgRjAgLjE2MihvZiB0aGUgZnVuY3Rpb24gaXMgdGhlIGNvbXBvdW5kKTIuNjYyIEYoY29tbWFuZCkKLTE0NCAxNzcuNiBRIEYxKGNvbXBvdW5kXDI1NWNvbW1hbmQpMi43ODQgRSBGMChcKHNlZSkzLjM1NCBFIEYyIC4wODQKLShDb21wb3VuZCBDb21tYW5kcykyLjU4NCBGIEYwKGFibykyLjU4NCBFIC0uMTUodmUpLS4xNSBHIDIuNTg0KFwpLiBUaGF0KQotLjE1IEYgLjA4NChjb21tYW5kIGlzIHVzdWFsbHkgYSkyLjU4NCBGIEYxKGxpc3QpMTQ0IDE4OS42IFEgRjAgLjA0NAotKG9mIGNvbW1hbmRzIGJldHdlZW4geyBhbmQgfSwgYikyLjU0NCBGIC4wNDQodXQgbWF5IGJlIGFuKS0uMiBGIDIuNTQ0Ci0oeWMpLS4xNSBHIC4wNDQob21tYW5kIGxpc3RlZCB1bmRlciktMi41NDQgRiBGMiAuMDQ0KENvbXBvdW5kIENvbW1hbmRzKQotMi41NDQgRiBGMChhYm8pMTQ0IDIwMS42IFEgLS4xNSh2ZSktLjE1IEcoLikuMTUgRSBGMQorKFNoZWxsIGZ1bmN0aW9ucyBhcmUgZGVjbGFyZWQgYXMgZm9sbG8pNSBFKHdzOiktLjI1IEUgRjEobmFtZSkxMDggMjQyLjQKK1EgRjAoXChcKSkyLjUgRSBGMShjb21wb3VuZFwyNTVjb21tYW5kKTIuNSBFIEYwKFspMi41IEUgRjEgLS4zNyhyZSlDCisoZGlyKS4zNyBFKGVjdGlvbiktLjM3IEUgRjAoXSlBIEYzKGZ1bmN0aW9uKTEwOCAyNTQuNCBRIEYxKG5hbWUpMi41IEUgRjAKKyhbXChcKV0pMi41IEUgRjEoY29tcG91bmRcMjU1Y29tbWFuZCkyLjUgRSBGMChbKTIuNSBFIEYxIC0uMzcocmUpQyhkaXIpCisuMzcgRShlY3Rpb24pLS4zNyBFIEYwKF0pQSAxLjQwMyhUaGlzIGRlXDIxNG5lcyBhIGZ1bmN0aW9uIG5hbWVkKTE0NAorMjY2LjQgUiBGMShuYW1lKTMuOTAyIEUgRjAgNi40MDIoLlQpQyAxLjQwMihoZSByZXNlcnYpLTYuNDAyIEYgMS40MDIKKyhlZCB3KS0uMTUgRihvcmQpLS4xIEUgRjMoZnVuY3Rpb24pMy45MDIgRSBGMCAxLjQwMihpcyBvcHRpb25hbC4pMy45MDIgRgorMS40MDIoSWYgdGhlKTYuNDAyIEYgRjMoZnVuY3Rpb24pMy45MDIgRSBGMChyZXNlcnYpMTQ0IDI3OC40IFEgLjE2MgorKGVkIHcpLS4xNSBGIC4xNjIob3JkIGlzIHN1cHBsaWVkLCB0aGUgcGFyZW50aGVzZXMgYXJlIG9wdGlvbmFsLiktLjEgRgorKFRoZSk1LjE2MiBFIEYxKGJvZHkpMi42NjIgRSBGMCAuMTYyKG9mIHRoZSBmdW5jdGlvbiBpcyB0aGUgY29tcG91bmQpCisyLjY2MiBGKGNvbW1hbmQpMTQ0IDI5MC40IFEgRjEoY29tcG91bmRcMjU1Y29tbWFuZCkyLjc4NCBFIEYwKFwoc2VlKQorMy4zNTQgRSBGMyAuMDg0KENvbXBvdW5kIENvbW1hbmRzKTIuNTg0IEYgRjAoYWJvKTIuNTg0IEUgLS4xNSh2ZSktLjE1IEcKKzIuNTg0KFwpLiBUaGF0KS4xNSBGIC4wODQoY29tbWFuZCBpcyB1c3VhbGx5IGEpMi41ODQgRiBGMShsaXN0KTE0NCAzMDIuNAorUSBGMCAuMDQ0KG9mIGNvbW1hbmRzIGJldHdlZW4geyBhbmQgfSwgYikyLjU0NCBGIC4wNDQodXQgbWF5IGJlIGFuKS0uMiBGCisyLjU0NCh5YyktLjE1IEcgLjA0NChvbW1hbmQgbGlzdGVkIHVuZGVyKS0yLjU0NCBGIEYzIC4wNDQKKyhDb21wb3VuZCBDb21tYW5kcykyLjU0NCBGIEYwKGFibykxNDQgMzE0LjQgUSAtLjE1KHZlKS0uMTUgRyguKS4xNSBFIEYxCiAoY29tcG91bmRcMjU1Y29tbWFuZCk2LjY3MSBFIEYwIDEuNjcxKGlzIGUpNC4xNzEgRiAtLjE1KHhlKS0uMTUgRyAxLjY3MQogKGN1dGVkIHdoZW5lKS4xNSBGIC0uMTUodmUpLS4yNSBHKHIpLjE1IEUgRjEobmFtZSk0LjE3MSBFIEYwIDEuNjcxCiAoaXMgc3BlY2lcMjE0ZWQgYXMgdGhlIG5hbWUgb2YgYSBzaW1wbGUpNC4xNzEgRiAzLjAwOChjb21tYW5kLiBBbikxNDQKLTIxMy42IFIgMy4wMDkoeXIpLS4xNSBHIC41MDkoZWRpcmVjdGlvbnMgXChzZWUpLTMuMDA5IEYvRjMgOQotL1RpbWVzLUJvbGRAMCBTRihSRURJUkVDVElPTikzLjAwOSBFIEYwKGJlbG8pMi43NTkgRSAuNTA5CiszMjYuNCBSIDMuMDA5KHlyKS0uMTUgRyAuNTA5KGVkaXJlY3Rpb25zIFwoc2VlKS0zLjAwOSBGIEYyKFJFRElSRUNUSU9OKQorMy4wMDkgRSBGMChiZWxvKTIuNzU5IEUgLjUwOQogKHdcKSBzcGVjaVwyMTRlZCB3aGVuIGEgZnVuY3Rpb24gaXMgZGVcMjE0bmVkIGFyZSktLjI1IEYgLjU4MQotKHBlcmZvcm1lZCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBlKTE0NCAyMjUuNiBSIC0uMTUoeGUpLS4xNSBHIDMuMDgxCisocGVyZm9ybWVkIHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGUpMTQ0IDMzOC40IFIgLS4xNSh4ZSktLjE1IEcgMy4wODEKIChjdXRlZC4gVGhlKS4xNSBGIC0uMTUoZXgpMy4wODEgRyAuNTgKIChpdCBzdGF0dXMgb2YgYSBmdW5jdGlvbiBkZVwyMTRuaXRpb24gaXMgemVybyB1bmxlc3MgYSkuMTUgRiAuMTc3KHN5bnRhXAogeCBlcnJvciBvY2N1cnMgb3IgYSByZWFkb25seSBmdW5jdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUgYWxyZWFkeSBlKTE0NAotMjM3LjYgUiAyLjY3OCh4aXN0cy4gV2hlbiktLjE1IEYgLS4xNShleGUpMi42NzggRyAuMTc4KGN1dGVkLCB0aGUpLjE1IEYKLS0uMTUoZXgpMTQ0IDI0OS42IFMgLjY0KGl0IHN0YXR1cyBvZiBhIGZ1bmN0aW9uIGlzIHRoZSBlKS4xNSBGIC42NAorMzUwLjQgUiAyLjY3OCh4aXN0cy4gV2hlbiktLjE1IEYgLS4xNShleGUpMi42NzggRyAuMTc4KGN1dGVkLCB0aGUpLjE1IEYKKy0uMTUoZXgpMTQ0IDM2Mi40IFMgLjY0KGl0IHN0YXR1cyBvZiBhIGZ1bmN0aW9uIGlzIHRoZSBlKS4xNSBGIC42NAogKHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRyAuNjQKLShjdXRlZCBpbiB0aGUgYm9keSkuMTUgRiA1LjY0KC5cKCktLjY1IEcoU2VlKS01LjY0IEUgRjMoRlVOQy0pMy4xNCBFCi0oVElPTlMpMTQ0IDI2MS42IFEgRjAoYmVsbykyLjI1IEUgLS42NSh3LiktLjI1IEcoXCkpLjY1IEUvRjQgMTAuOTUKLS9UaW1lcy1Cb2xkQDAgU0YoQ09NTUVOVFMpNzIgMjc4LjQgUSBGMCAuOTgyKEluIGEgbm9uLWludGVyYWN0aSkxMDgKLTI5MC40IFIgMS4yODIgLS4xNSh2ZSBzKS0uMjUgSCAuOTgyKGhlbGwsIG9yIGFuIGludGVyYWN0aSkuMTUgRiAxLjI4MgotLS4xNSh2ZSBzKS0uMjUgSCAuOTgyKGhlbGwgaW4gd2hpY2ggdGhlKS4xNSBGIEYyKGludGVyYWN0aSkzLjQ4MiBFIC0uMQotKHZlKS0uMSBHKF9jb21tZW50cykuMSBFIEYwIC45ODIob3B0aW9uIHRvIHRoZSkzLjQ4MiBGIEYyKHNob3B0KTMuNDgyIEUKLUYwIC0uMihidSkxMDggMzAyLjQgUyAuOTUyKGlsdGluIGlzIGVuYWJsZWQgXChzZWUpLjIgRiBGMyAuOTUyKFNIRUxMIEIpCisoY3V0ZWQgaW4gdGhlIGJvZHkpLjE1IEYgNS42NCguXCgpLS42NSBHKFNlZSktNS42NCBFIEYyKEZVTkMtKTMuMTQgRQorKFRJT05TKTE0NCAzNzQuNCBRIEYwKGJlbG8pMi4yNSBFIC0uNjUody4pLS4yNSBHKFwpKS42NSBFL0Y0IDEwLjk1CisvVGltZXMtQm9sZEAwIFNGKENPTU1FTlRTKTcyIDM5MS4yIFEgRjAgLjk4MihJbiBhIG5vbi1pbnRlcmFjdGkpMTA4Cis0MDMuMiBSIDEuMjgyIC0uMTUodmUgcyktLjI1IEggLjk4MihoZWxsLCBvciBhbiBpbnRlcmFjdGkpLjE1IEYgMS4yODIKKy0uMTUodmUgcyktLjI1IEggLjk4MihoZWxsIGluIHdoaWNoIHRoZSkuMTUgRiBGMyhpbnRlcmFjdGkpMy40ODIgRSAtLjEKKyh2ZSktLjEgRyhfY29tbWVudHMpLjEgRSBGMCAuOTgyKG9wdGlvbiB0byB0aGUpMy40ODIgRiBGMyhzaG9wdCkzLjQ4MiBFCitGMCAtLjIoYnUpMTA4IDQxNS4yIFMgLjk1MihpbHRpbiBpcyBlbmFibGVkIFwoc2VlKS4yIEYgRjIgLjk1MihTSEVMTCBCKQogMy40NTIgRihVSUwpLS4wOSBFIC45NTIoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykzLjIwMiBFIC45NTIKLSh3XCksIGEgdyktLjI1IEYgLjk1MihvcmQgYmUpLS4xIEYgLjk1MihnaW5uaW5nIHdpdGgpLS4xNSBGIEYyKCMpMy40NTEgRQorKHdcKSwgYSB3KS0uMjUgRiAuOTUyKG9yZCBiZSktLjEgRiAuOTUyKGdpbm5pbmcgd2l0aCktLjE1IEYgRjMoIykzLjQ1MSBFCiBGMCAuOTUxKGNhdXNlcyB0aGF0IHcpMy40NTEgRihvcmQpLS4xIEUgLjYwNAotKGFuZCBhbGwgcmVtYWluaW5nIGNoYXJhY3RlcnMgb24gdGhhdCBsaW5lIHRvIGJlIGlnbm9yZWQuKTEwOCAzMTQuNCBSCisoYW5kIGFsbCByZW1haW5pbmcgY2hhcmFjdGVycyBvbiB0aGF0IGxpbmUgdG8gYmUgaWdub3JlZC4pMTA4IDQyNy4yIFIKIC42MDUoQW4gaW50ZXJhY3RpKTUuNjA1IEYgLjkwNSAtLjE1KHZlIHMpLS4yNSBIIC42MDUoaGVsbCB3aXRob3V0IHRoZSkKLS4xNSBGIEYyKGludGVyYWN0aSkzLjEwNSBFIC0uMSh2ZSktLjEgRyhfY29tLSkuMSBFKG1lbnRzKTEwOCAzMjYuNCBRIEYwCisuMTUgRiBGMyhpbnRlcmFjdGkpMy4xMDUgRSAtLjEodmUpLS4xIEcoX2NvbS0pLjEgRShtZW50cykxMDggNDM5LjIgUSBGMAogMS4zMzcob3B0aW9uIGVuYWJsZWQgZG9lcyBub3QgYWxsbykzLjgzNyBGIDMuODM3KHdjKS0uMjUgRyAzLjgzNgotKG9tbWVudHMuIFRoZSktMy44MzcgRiBGMihpbnRlcmFjdGkpMy44MzYgRSAtLjEodmUpLS4xIEcoX2NvbW1lbnRzKS4xIEUKKyhvbW1lbnRzLiBUaGUpLTMuODM3IEYgRjMoaW50ZXJhY3RpKTMuODM2IEUgLS4xKHZlKS0uMSBHKF9jb21tZW50cykuMSBFCiBGMCAxLjMzNihvcHRpb24gaXMgb24gYnkgZGVmKTMuODM2IEYgMS4zMzYoYXVsdCBpbiktLjEgRihpbnRlcmFjdGkpMTA4Ci0zMzguNCBRIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFIEY0IC0uMTEoUVUpNzIgMzU1LjIgUyAtLjQzOChPVCkKLS4xMSBHKElORykuNDM4IEUgRjEoUXVvdGluZykxMDggMzY3LjIgUSBGMCAuNDc3KGlzIHVzZWQgdG8gcmVtbykyLjk3NyBGCis0NTEuMiBRIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFIEY0IC0uMTEoUVUpNzIgNDY4IFMgLS40MzgoT1QpCisuMTEgRyhJTkcpLjQzOCBFIEYxKFF1b3RpbmcpMTA4IDQ4MCBRIEYwIC40NzcoaXMgdXNlZCB0byByZW1vKTIuOTc3IEYKIC43NzcgLS4xNSh2ZSB0KS0uMTUgSCAuNDc3CiAoaGUgc3BlY2lhbCBtZWFuaW5nIG9mIGNlcnRhaW4gY2hhcmFjdGVycyBvciB3KS4xNSBGIC40NzcKIChvcmRzIHRvIHRoZSBzaGVsbC4pLS4xIEYgLjQ3OChRdW90aW5nIGNhbiBiZSk1LjQ3OCBGIC4xODUKICh1c2VkIHRvIGRpc2FibGUgc3BlY2lhbCB0cmVhdG1lbnQgZm9yIHNwZWNpYWwgY2hhcmFjdGVycywgdG8gcHJlKTEwOAotMzc5LjIgUiAtLjE1KHZlKS0uMjUgRyAuMTg1KG50IHJlc2VydikuMTUgRiAuMTg0KGVkIHcpLS4xNSBGIC4xODQKLShvcmRzIGZyb20gYmVpbmcgcmVjb2duaXplZCBhcyktLjEgRihzdWNoLCBhbmQgdG8gcHJlKTEwOCAzOTEuMiBRIC0uMTUKLSh2ZSktLjI1IEcobnQgcGFyYW1ldGVyIGUpLjE1IEUoeHBhbnNpb24uKS0uMTUgRSAuMjg4KEVhY2ggb2YgdGhlKTEwOAotNDA4IFIgRjEobWV0YWMpMi43ODggRShoYXIpLS4xNSBFKGFjdGVyKS0uMTUgRShzKS0uMSBFIEYwIC4yODgKLShsaXN0ZWQgYWJvKTIuNzg4IEYgLjU4OCAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjMoREVGSU5JVElPTlMpCi0yLjc4OCBFIEYwIC4yODgoaGFzIHNwZWNpYWwgbWVhbmluZyB0byB0aGUgc2hlbGwgYW5kIG11c3QgYmUpMi41MzggRgotKHF1b3RlZCBpZiBpdCBpcyB0byByZXByZXNlbnQgaXRzZWxmLikxMDggNDIwIFEgMS4zNDUKLShXaGVuIHRoZSBjb21tYW5kIGhpc3RvcnkgZSkxMDggNDM2LjggUiAxLjM0NCh4cGFuc2lvbiBmKS0uMTUgRiAxLjM0NAotKGFjaWxpdGllcyBhcmUgYmVpbmcgdXNlZCBcKHNlZSktLjEgRiBGMyhISVNUKTMuODQ0IEUoT1IpLS4xNjIgRSAzLjU5NAorNDkyIFIgLS4xNSh2ZSktLjI1IEcgLjE4NShudCByZXNlcnYpLjE1IEYgLjE4NChlZCB3KS0uMTUgRiAuMTg0Cisob3JkcyBmcm9tIGJlaW5nIHJlY29nbml6ZWQgYXMpLS4xIEYoc3VjaCwgYW5kIHRvIHByZSkxMDggNTA0IFEgLS4xNSh2ZSkKKy0uMjUgRyhudCBwYXJhbWV0ZXIgZSkuMTUgRSh4cGFuc2lvbi4pLS4xNSBFIC4yODgoRWFjaCBvZiB0aGUpMTA4IDUyMC44CitSIEYxKG1ldGFjKTIuNzg4IEUoaGFyKS0uMTUgRShhY3RlciktLjE1IEUocyktLjEgRSBGMCAuMjg4KGxpc3RlZCBhYm8pCisyLjc4OCBGIC41ODggLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYyKERFRklOSVRJT05TKTIuNzg4IEUgRjAgLjI4OAorKGhhcyBzcGVjaWFsIG1lYW5pbmcgdG8gdGhlIHNoZWxsIGFuZCBtdXN0IGJlKTIuNTM4IEYKKyhxdW90ZWQgaWYgaXQgaXMgdG8gcmVwcmVzZW50IGl0c2VsZi4pMTA4IDUzMi44IFEgMS4zNDUKKyhXaGVuIHRoZSBjb21tYW5kIGhpc3RvcnkgZSkxMDggNTQ5LjYgUiAxLjM0NCh4cGFuc2lvbiBmKS0uMTUgRiAxLjM0NAorKGFjaWxpdGllcyBhcmUgYmVpbmcgdXNlZCBcKHNlZSktLjEgRiBGMihISVNUKTMuODQ0IEUoT1IpLS4xNjIgRSAzLjU5NAogKFlFKS0uMzE1IEcoWFApLTMuNTk0IEUoQU5TSU9OKS0uNjY2IEUgRjAoYmVsbykzLjU5NCBFIDEuMzQ0KHdcKSwgdGhlKQotLS4yNSBGIEYxKGhpc3RvcnkgZSkxMDggNDQ4LjggUSh4cGFuc2lvbiktLjIgRSBGMChjaGFyYWN0ZXIpMi41IEUgMi41Ci0oLHUpLS40IEcoc3VhbGx5KS0yLjUgRSBGMighKTIuNSBFIEYwIDIuNSgsbSlDKHVzdCBiZSBxdW90ZWQgdG8gcHJlKS0yLjUKKy0uMjUgRiBGMShoaXN0b3J5IGUpMTA4IDU2MS42IFEoeHBhbnNpb24pLS4yIEUgRjAoY2hhcmFjdGVyKTIuNSBFIDIuNQorKCx1KS0uNCBHKHN1YWxseSktMi41IEUgRjMoISkyLjUgRSBGMCAyLjUoLG0pQyh1c3QgYmUgcXVvdGVkIHRvIHByZSktMi41CiBFIC0uMTUodmUpLS4yNSBHKG50IGhpc3RvcnkgZSkuMTUgRSh4cGFuc2lvbi4pLS4xNSBFCi0oVGhlcmUgYXJlIHRocmVlIHF1b3RpbmcgbWVjaGFuaXNtczogdGhlKTEwOCA0NjUuNiBRIEYxKGVzY2FwZSBjKTIuNSBFCisoVGhlcmUgYXJlIHRocmVlIHF1b3RpbmcgbWVjaGFuaXNtczogdGhlKTEwOCA1NzguNCBRIEYxKGVzY2FwZSBjKTIuNSBFCiAoaGFyKS0uMTUgRShhY3RlciktLjE1IEUgRjAgMi41KCxzKS43MyBHCi0oaW5nbGUgcXVvdGVzLCBhbmQgZG91YmxlIHF1b3Rlcy4pLTIuNSBFIDIuOTc0KEFuKTEwOCA0ODIuNCBTIC40NzQKLShvbi1xdW90ZWQgYmFja3NsYXNoIFwoKS0yLjk3NCBGIEYyKFxcKUEgRjAgMi45NzQoXClpKUMgMi45NzQoc3QpLTIuOTc0CisoaW5nbGUgcXVvdGVzLCBhbmQgZG91YmxlIHF1b3Rlcy4pLTIuNSBFIDIuOTc0KEFuKTEwOCA1OTUuMiBTIC40NzQKKyhvbi1xdW90ZWQgYmFja3NsYXNoIFwoKS0yLjk3NCBGIEYzKFxcKUEgRjAgMi45NzQoXClpKUMgMi45NzQoc3QpLTIuOTc0CiBHKGhlKS0yLjk3NCBFIEYxIC40NzQoZXNjYXBlIGMpMi45NzQgRihoYXIpLS4xNSBFKGFjdGVyKS0uMTUgRSBGMCA1LjQ3NAogKC5JKS43MyBHIDIuOTc0KHRwKS01LjQ3NCBHKHJlc2VydiktMi45NzQgRSAuNDc0KGVzIHRoZSBsaXRlcmFsIHYpLS4xNSBGCi0uNDc0KGFsdWUgb2YgdGhlIG5lKS0uMjUgRiAuNDc1KHh0IGNoYXJhY3RlciB0aGF0KS0uMTUgRihmb2xsbykxMDggNDk0LjQKKy40NzQoYWx1ZSBvZiB0aGUgbmUpLS4yNSBGIC40NzUoeHQgY2hhcmFjdGVyIHRoYXQpLS4xNSBGKGZvbGxvKTEwOCA2MDcuMgogUSAxLjU1NCh3cywgd2l0aCB0aGUgZSktLjI1IEYgMS41NTMoeGNlcHRpb24gb2YgPG5lKS0uMTUgRiA0LjA1MwotKHdsaW5lPi4gSWYpLS4yNSBGKGEpNC4wNTMgRSBGMihcXCk0LjA1MyBFIEYwKDxuZSlBIDEuNTUzCisod2xpbmU+LiBJZiktLjI1IEYoYSk0LjA1MyBFIEYzKFxcKTQuMDUzIEUgRjAoPG5lKUEgMS41NTMKICh3bGluZT4gcGFpciBhcHBlYXJzLCBhbmQgdGhlIGJhY2tzbGFzaCBpcyBub3QgaXRzZWxmKS0uMjUgRiAxLjEyMgotKHF1b3RlZCwgdGhlKTEwOCA1MDYuNCBSIEYyKFxcKTMuNjIyIEUgRjAoPG5lKUEgMS4xMjIKKyhxdW90ZWQsIHRoZSkxMDggNjE5LjIgUiBGMyhcXCkzLjYyMiBFIEYwKDxuZSlBIDEuMTIyCiAod2xpbmU+IGlzIHRyZWF0ZWQgYXMgYSBsaW5lIGNvbnRpbnVhdGlvbiBcKHRoYXQgaXMsIGl0IGlzIHJlbW8pLS4yNSBGCiAtLjE1KHZlKS0uMTUgRyAzLjYyMihkZikuMTUgRyAxLjEyMyhyb20gdGhlIGlucHV0IHN0cmVhbSBhbmQpLTMuNjIyIEYKLShlZikxMDggNTE4LjQgUShmZWN0aSktLjI1IEUgLS4xNSh2ZSktLjI1IEcobHkgaWdub3JlZFwpLikuMTUgRSAuMjk1Ci0oRW5jbG9zaW5nIGNoYXJhY3RlcnMgaW4gc2luZ2xlIHF1b3RlcyBwcmVzZXJ2KTEwOCA1MzUuMiBSIC4yOTUKKyhlZikxMDggNjMxLjIgUShmZWN0aSktLjI1IEUgLS4xNSh2ZSktLjI1IEcobHkgaWdub3JlZFwpLikuMTUgRSAuMjk1CisoRW5jbG9zaW5nIGNoYXJhY3RlcnMgaW4gc2luZ2xlIHF1b3RlcyBwcmVzZXJ2KTEwOCA2NDggUiAuMjk1CiAoZXMgdGhlIGxpdGVyYWwgdiktLjE1IEYgLjI5NShhbHVlIG9mIGVhY2ggY2hhcmFjdGVyIHdpdGhpbiB0aGUgcXVvdGVzLikKIC0uMjUgRiAyLjc5NShBcyk1LjI5NSBHKGluLSktMi43OTUgRQotKGdsZSBxdW90ZSBtYXkgbm90IG9jY3VyIGJldHdlZW4gc2luZ2xlIHF1b3RlcywgZSkxMDggNTQ3LjIgUSAtLjE1KHZlKQotLS4yNSBHIDIuNShudykuMTUgRyhoZW4gcHJlY2VkZWQgYnkgYSBiYWNrc2xhc2guKS0yLjUgRSAuMDMzCi0oRW5jbG9zaW5nIGNoYXJhY3RlcnMgaW4gZG91YmxlIHF1b3RlcyBwcmVzZXJ2KTEwOCA1NjQgUiAuMDM0CisoZ2xlIHF1b3RlIG1heSBub3Qgb2NjdXIgYmV0d2VlbiBzaW5nbGUgcXVvdGVzLCBlKTEwOCA2NjAgUSAtLjE1KHZlKS0uMjUKK0cgMi41KG53KS4xNSBHKGhlbiBwcmVjZWRlZCBieSBhIGJhY2tzbGFzaC4pLTIuNSBFIC4wMzMKKyhFbmNsb3NpbmcgY2hhcmFjdGVycyBpbiBkb3VibGUgcXVvdGVzIHByZXNlcnYpMTA4IDY3Ni44IFIgLjAzNAogKGVzIHRoZSBsaXRlcmFsIHYpLS4xNSBGIC4wMzQKIChhbHVlIG9mIGFsbCBjaGFyYWN0ZXJzIHdpdGhpbiB0aGUgcXVvdGVzLCB3aXRoIHRoZSktLjI1IEYgLS4xNShleCkxMDgKLTU3NiBTIC44MjgoY2VwdGlvbiBvZikuMTUgRiBGMigkKTMuMzI4IEUgRjAoLClBIEYyPDkyPjMuMzI4IEUgRjAoLClBIEYyCi0oXFwpMy4zMjggRSBGMCAzLjMyOCgsYSlDIC44MjgobmQsIHdoZW4gaGlzdG9yeSBlKS0zLjMyOCBGIC44MjgKLSh4cGFuc2lvbiBpcyBlbmFibGVkLCktLjE1IEYgRjIoISkzLjMyOCBFIEYwIDUuODI4KC5UKUMgLjgyOAotKGhlIGNoYXJhY3RlcnMpLTUuODI4IEYgRjIoJCkzLjMyOCBFIEYwKGFuZCkzLjMyOCBFIEYyPDkyPjMuMzI4IEUgRjAKKzY4OC44IFMgLjgyOChjZXB0aW9uIG9mKS4xNSBGIEYzKCQpMy4zMjggRSBGMCgsKUEgRjM8OTI+My4zMjggRSBGMCgsKUEKK0YzKFxcKTMuMzI4IEUgRjAgMy4zMjgoLGEpQyAuODI4KG5kLCB3aGVuIGhpc3RvcnkgZSktMy4zMjggRiAuODI4CisoeHBhbnNpb24gaXMgZW5hYmxlZCwpLS4xNSBGIEYzKCEpMy4zMjggRSBGMCA1LjgyOCguVClDIC44MjgKKyhoZSBjaGFyYWN0ZXJzKS01LjgyOCBGIEYzKCQpMy4zMjggRSBGMChhbmQpMy4zMjggRSBGMzw5Mj4zLjMyOCBFIEYwCiAuODI3KHJldGFpbiB0aGVpciBzcGVjaWFsKTMuMzI4IEYgLjA3NChtZWFuaW5nIHdpdGhpbiBkb3VibGUgcXVvdGVzLikxMDgKLTU4OCBSIC4wNzQoVGhlIGJhY2tzbGFzaCByZXRhaW5zIGl0cyBzcGVjaWFsIG1lYW5pbmcgb25seSB3aGVuIGZvbGxvKQotNS4wNzQgRiAuMDc1KHdlZCBieSBvbmUgb2YgdGhlKS0uMjUgRihmb2xsbykxMDggNjAwIFEgLjIwNQotKHdpbmcgY2hhcmFjdGVyczopLS4yNSBGIEYyKCQpMi43MDUgRSBGMCgsKUEgRjI8OTI+Mi43MDUgRSBGMCgsKUEgRjIoIikKLTMuNTM4IEUgRjAoLCkuODMzIEUgRjIoXFwpMi43MDUgRSBGMCAyLjcwNSgsbylDKHIpLTIuNzA1IEUgRjIoPG5ld2xpbmU+KQorNzAwLjggUiAuMDc0KFRoZSBiYWNrc2xhc2ggcmV0YWlucyBpdHMgc3BlY2lhbCBtZWFuaW5nIG9ubHkgd2hlbiBmb2xsbykKKzUuMDc0IEYgLjA3NSh3ZWQgYnkgb25lIG9mIHRoZSktLjI1IEYoZm9sbG8pMTA4IDcxMi44IFEgLjIwNQorKHdpbmcgY2hhcmFjdGVyczopLS4yNSBGIEYzKCQpMi43MDUgRSBGMCgsKUEgRjM8OTI+Mi43MDUgRSBGMCgsKUEgRjMoIikKKzMuNTM4IEUgRjAoLCkuODMzIEUgRjMoXFwpMi43MDUgRSBGMCAyLjcwNSgsbylDKHIpLTIuNzA1IEUgRjMoPG5ld2xpbmU+KQogMi43MDUgRSBGMCA1LjIwNSguQSlDIC4yMDQKIChkb3VibGUgcXVvdGUgbWF5IGJlIHF1b3RlZCB3aXRoaW4gZG91YmxlIHF1b3RlcyBieSBwcmUtKS0yLjUgRiAuMDgxCi0oY2VkaW5nIGl0IHdpdGggYSBiYWNrc2xhc2guKTEwOCA2MTIgUiAuMDgyKElmIGVuYWJsZWQsIGhpc3RvcnkgZSk1LjA4MgotRiAuMDgyKHhwYW5zaW9uIHdpbGwgYmUgcGVyZm9ybWVkIHVubGVzcyBhbiktLjE1IEYgRjIoISkyLjU4MiBFIEYwIC4wODIKLShhcHBlYXJpbmcgaW4gZG91YmxlKTUuMDgyIEYocXVvdGVzIGlzIGVzY2FwZWQgdXNpbmcgYSBiYWNrc2xhc2guKTEwOAotNjI0IFEoVGhlIGJhY2tzbGFzaCBwcmVjZWRpbmcgdGhlKTUgRSBGMighKTIuNSBFIEYwKGlzIG5vdCByZW1vKTUgRSAtLjE1Ci0odmUpLS4xNSBHKGQuKS4xNSBFKFRoZSBzcGVjaWFsIHBhcmFtZXRlcnMpMTA4IDY0MC44IFEgRjIoKikyLjUgRSBGMAotKGFuZCkyLjUgRSBGMihAKTIuNSBFIEYwKGhhKTIuNSBFIC4zIC0uMTUodmUgcyktLjIgSAotKHBlY2lhbCBtZWFuaW5nIHdoZW4gaW4gZG91YmxlIHF1b3RlcyBcKHNlZSkuMTUgRSBGMyAtLjY2NihQQSkyLjUgRwotKFJBTUVURVJTKS42NjYgRSBGMChiZWxvKTIuMjUgRSh3XCkuKS0uMjUgRSAtLjgoV28pMTA4IDY1Ny42IFMgLjIxMgotKHJkcyBvZiB0aGUgZm9ybSkuOCBGIEYyKCQpMi43MTIgRSBGMDwwOD5BIEYxKHN0cmluZylBIEYwIDIuNzEyPDA4NjE+QwotLjIxMShyZSB0cmVhdGVkIHNwZWNpYWxseSktMi43MTIgRiA1LjIxMSguVCktLjY1IEcgLjIxMShoZSB3KS01LjIxMSBGCi0uMjExKG9yZCBlKS0uMSBGIC4yMTEoeHBhbmRzIHRvKS0uMTUgRiBGMShzdHJpbmcpMi43MTEgRSBGMCAyLjcxMSgsdylDCi0uMjExKGl0aCBiYWNrc2xhc2gtZXNjYXBlZCBjaGFyKS0yLjcxMSBGKC0pLS4yIEUgLjYwNAotKGFjdGVycyByZXBsYWNlZCBhcyBzcGVjaVwyMTRlZCBieSB0aGUgQU5TSSBDIHN0YW5kYXJkLikxMDggNjY5LjYgUiAuNjA1Ci0oQmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMsIGlmIHByZXNlbnQsIGFyZSBkZWNvZGVkKTUuNjA1IEYoYXMgZm9sbG8pCi0xMDggNjgxLjYgUSh3czopLS4yNSBFIEYyKFxcYSkxNDQgNjkzLjYgUSBGMChhbGVydCBcKGJlbGxcKSkyOC4yMiBFIEYyCi0oXFxiKTE0NCA3MDUuNiBRIEYwKGJhY2tzcGFjZSkyNy42NiBFIEYyKFxcZSkxNDQgNzE3LjYgUSBGMAotKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg3KTE5MC45NTUgRSAwIENnIEVQCisoY2VkaW5nIGl0IHdpdGggYSBiYWNrc2xhc2guKTEwOCA3MjQuOCBSIC4wODIoSWYgZW5hYmxlZCwgaGlzdG9yeSBlKQorNS4wODIgRiAuMDgyKHhwYW5zaW9uIHdpbGwgYmUgcGVyZm9ybWVkIHVubGVzcyBhbiktLjE1IEYgRjMoISkyLjU4MiBFIEYwCisuMDgyKGFwcGVhcmluZyBpbiBkb3VibGUpNS4wODIgRihHTlUgQmFzaC00LjIpNzIgNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkKKzEzNS45NjUgRSg3KTE5MC45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDggOAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoXFxFKTE0NCA4NCBRIEYwKGFuIGVzY2FwZSBjaGFyYWN0ZXIpMjYuNTUgRQotRjEoXFxmKTE0NCA5NiBRIEYwKGZvcm0gZmVlZCkyOS44OSBFIEYxKFxcbikxNDQgMTA4IFEgRjAobmUpMjcuNjYgRSAyLjUKLSh3bCktLjI1IEcoaW5lKS0yLjUgRSBGMShcXHIpMTQ0IDEyMCBRIEYwKGNhcnJpYWdlIHJldHVybikyOC43OCBFIEYxCi0oXFx0KTE0NCAxMzIgUSBGMChob3Jpem9udGFsIHRhYikyOS44OSBFIEYxKFxcdikxNDQgMTQ0IFEgRjAgLS4xNSh2ZSkKLTI4LjIyIEcocnRpY2FsIHRhYikuMTUgRSBGMShcXFxcKTE0NCAxNTYgUSBGMChiYWNrc2xhc2gpMzAuNDQgRSBGMTw1YzA4PgotMTQ0IDE2OCBRIEYwKHNpbmdsZSBxdW90ZSkzMC40NCBFIEYxKFxcIikxNDQgMTgwIFEgRjAoZG91YmxlIHF1b3RlKTI3LjY3Ci1FIEYxKFxcKTE0NCAxOTIgUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihubm4pQSBGMAotKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTguMjIgRShhbHVlIGlzIHRoZSBvY3RhbCB2KS0uMjUgRQotKGFsdWUpLS4yNSBFIEYyKG5ubikyLjUgRSBGMChcKG9uZSB0byB0aHJlZSBkaWdpdHNcKSkyLjUgRSBGMShcXHgpMTQ0Ci0yMDQgUSBGMihISClBIEYwKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTMuNzggRShhbHVlIGlzIHRoZSBoZSkKLS0uMjUgRSh4YWRlY2ltYWwgdiktLjE1IEUoYWx1ZSktLjI1IEUgRjIoSEgpMi41IEUgRjAoXChvbmUgb3IgdHcpMi41IEUKLTIuNShvaCktLjEgRyAuMyAtLjE1KGV4IGQpLTIuNSBIKGlnaXRzXCkpLjE1IEUgRjEoXFxjKTE0NCAyMTYgUSBGMih4KUEKLUYwIDIuNShhYykyNC4zNCBHKG9udHJvbC0pLTIuNSBFIEYyKHgpQSBGMChjaGFyYWN0ZXIpMi41IEUoVGhlIGUpMTA4Ci0yMzIuOCBRKHhwYW5kZWQgcmVzdWx0IGlzIHNpbmdsZS1xdW90ZWQsIGFzIGlmIHRoZSBkb2xsYXIgc2lnbiBoYWQgbm90IFwKLWJlZW4gcHJlc2VudC4pLS4xNSBFIDIuNjQoQWQpMTA4IDI0OS42IFMgLjE0Ci0ob3VibGUtcXVvdGVkIHN0cmluZyBwcmVjZWRlZCBieSBhIGRvbGxhciBzaWduIFwoKS0yLjY0IEYgRjEoJClBIEYwKCIpQQotRjIoc3RyaW5nKUEgRjAgLjE0KCJcKSB3aWxsIGNhdXNlIHRoZSBzdHJpbmcgdG8gYmUgdHJhbnNsYXRlZCBhY2NvcmRpbmcpCi1CIC40OTUodG8gdGhlIGN1cnJlbnQgbG9jYWxlLikxMDggMjYxLjYgUiAuNDk1KElmIHRoZSBjdXJyZW50IGxvY2FsZSBpcykKLTUuNDk1IEYgRjEoQykyLjk5NSBFIEYwKG9yKTIuOTk1IEUgRjEoUE9TSVgpMi45OTUgRSBGMCAyLjk5NSgsdClDIC40OTUKKy0uMzUgRShxdW90ZXMgaXMgZXNjYXBlZCB1c2luZyBhIGJhY2tzbGFzaC4pMTA4IDg0IFEKKyhUaGUgYmFja3NsYXNoIHByZWNlZGluZyB0aGUpNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRighKTIuNSBFIEYwCisoaXMgbm90IHJlbW8pNSBFIC0uMTUodmUpLS4xNSBHKGQuKS4xNSBFKFRoZSBzcGVjaWFsIHBhcmFtZXRlcnMpMTA4CisxMDAuOCBRIEYxKCopMi41IEUgRjAoYW5kKTIuNSBFIEYxKEApMi41IEUgRjAoaGEpMi41IEUgLjMgLS4xNSh2ZSBzKS0uMgorSChwZWNpYWwgbWVhbmluZyB3aGVuIGluIGRvdWJsZSBxdW90ZXMgXChzZWUpLjE1IEUvRjIgOS9UaW1lcy1Cb2xkQDAgU0YKKy0uNjY2KFBBKTIuNSBHKFJBTUVURVJTKS42NjYgRSBGMChiZWxvKTIuMjUgRSh3XCkuKS0uMjUgRSAtLjgoV28pMTA4CisxMTcuNiBTIC4yMTIocmRzIG9mIHRoZSBmb3JtKS44IEYgRjEoJCkyLjcxMiBFIEYwPDA4PkEvRjMgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihzdHJpbmcpQSBGMCAyLjcxMjwwODYxPkMgLjIxMShyZSB0cmVhdGVkIHNwZWNpYWxseSkKKy0yLjcxMiBGIDUuMjExKC5UKS0uNjUgRyAuMjExKGhlIHcpLTUuMjExIEYgLjIxMShvcmQgZSktLjEgRiAuMjExCisoeHBhbmRzIHRvKS0uMTUgRiBGMyhzdHJpbmcpMi43MTEgRSBGMCAyLjcxMSgsdylDIC4yMTEKKyhpdGggYmFja3NsYXNoLWVzY2FwZWQgY2hhciktMi43MTEgRigtKS0uMiBFIC42MDQKKyhhY3RlcnMgcmVwbGFjZWQgYXMgc3BlY2lcMjE0ZWQgYnkgdGhlIEFOU0kgQyBzdGFuZGFyZC4pMTA4IDEyOS42IFIgLjYwNQorKEJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzLCBpZiBwcmVzZW50LCBhcmUgZGVjb2RlZCk1LjYwNSBGKGFzIGZvbGxvKQorMTA4IDE0MS42IFEod3M6KS0uMjUgRSBGMShcXGEpMTQ0IDE1My42IFEgRjAoYWxlcnQgXChiZWxsXCkpMjguMjIgRSBGMQorKFxcYikxNDQgMTY1LjYgUSBGMChiYWNrc3BhY2UpMjcuNjYgRSBGMShcXGUpMTQ0IDE3Ny42IFEoXFxFKTE0NCAxODkuNiBRCitGMChhbiBlc2NhcGUgY2hhcmFjdGVyKTI2LjU1IEUgRjEoXFxmKTE0NCAyMDEuNiBRIEYwKGZvcm0gZmVlZCkyOS44OSBFCitGMShcXG4pMTQ0IDIxMy42IFEgRjAobmUpMjcuNjYgRSAyLjUod2wpLS4yNSBHKGluZSktMi41IEUgRjEoXFxyKTE0NAorMjI1LjYgUSBGMChjYXJyaWFnZSByZXR1cm4pMjguNzggRSBGMShcXHQpMTQ0IDIzNy42IFEgRjAoaG9yaXpvbnRhbCB0YWIpCisyOS44OSBFIEYxKFxcdikxNDQgMjQ5LjYgUSBGMCAtLjE1KHZlKTI4LjIyIEcocnRpY2FsIHRhYikuMTUgRSBGMShcXFxcKQorMTQ0IDI2MS42IFEgRjAoYmFja3NsYXNoKTMwLjQ0IEUgRjE8NWMwOD4xNDQgMjczLjYgUSBGMChzaW5nbGUgcXVvdGUpCiszMC40NCBFIEYxKFxcIikxNDQgMjg1LjYgUSBGMChkb3VibGUgcXVvdGUpMjcuNjcgRSBGMShcXCkxNDQgMjk3LjYgUSBGMworKG5ubilBIEYwKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTguMjIgRShhbHVlIGlzIHRoZSBvY3RhbCB2KQorLS4yNSBFKGFsdWUpLS4yNSBFIEYzKG5ubikyLjUgRSBGMChcKG9uZSB0byB0aHJlZSBkaWdpdHNcKSkyLjUgRSBGMShcXHgpCisxNDQgMzA5LjYgUSBGMyhISClBIEYwKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTMuNzggRQorKGFsdWUgaXMgdGhlIGhlKS0uMjUgRSh4YWRlY2ltYWwgdiktLjE1IEUoYWx1ZSktLjI1IEUgRjMoSEgpMi41IEUgRjAKKyhcKG9uZSBvciB0dykyLjUgRSAyLjUob2gpLS4xIEcgLjMgLS4xNShleCBkKS0yLjUgSChpZ2l0c1wpKS4xNSBFIEYxCisoXFx1KTE0NCAzMjEuNiBRIEYzKEhISEgpQSBGMCAxLjUwNworKHRoZSBVbmljb2RlIFwoSVNPL0lFQyAxMDY0NlwpIGNoYXJhY3RlciB3aG9zZSB2KTE4MCAzMzMuNiBSIDEuNTA2CisoYWx1ZSBpcyB0aGUgaGUpLS4yNSBGIDEuNTA2KHhhZGVjaW1hbCB2KS0uMTUgRihhbHVlKS0uMjUgRSBGMyhISEhIKQorNC4wMDYgRSBGMChcKG9uZSB0byBmb3VyIGhlKTE4MCAzNDUuNiBRIDIuNSh4ZCktLjE1IEcoaWdpdHNcKSktMi41IEUgRjEKKyhcXFUpMTQ0IDM1Ny42IFEgRjMoSEhISEhISEgpQSBGMCAuNTQ3CisodGhlIFVuaWNvZGUgXChJU08vSUVDIDEwNjQ2XCkgY2hhcmFjdGVyIHdob3NlIHYpMTgwIDM2OS42IFIgLjU0NworKGFsdWUgaXMgdGhlIGhlKS0uMjUgRiAuNTQ4KHhhZGVjaW1hbCB2KS0uMTUgRihhbHVlKS0uMjUgRSBGMyhISEhISC0pCiszLjA0OCBFKEhISCkxODAgMzgxLjYgUSBGMChcKG9uZSB0byBlaWdodCBoZSkyLjUgRSAyLjUoeGQpLS4xNSBHCisoaWdpdHNcKSktMi41IEUgRjEoXFxjKTE0NCAzOTMuNiBRIEYzKHgpQSBGMCAyLjUoYWMpMjQuMzQgRyhvbnRyb2wtKS0yLjUKK0UgRjMoeClBIEYwKGNoYXJhY3RlcikyLjUgRShUaGUgZSkxMDggNDEwLjQgUSh4cGFuZGVkIHJlc3VsdCBpcyBzaW5nbGUtXAorcXVvdGVkLCBhcyBpZiB0aGUgZG9sbGFyIHNpZ24gaGFkIG5vdCBiZWVuIHByZXNlbnQuKS0uMTUgRSAyLjY0KEFkKTEwOAorNDI3LjIgUyAuMTQob3VibGUtcXVvdGVkIHN0cmluZyBwcmVjZWRlZCBieSBhIGRvbGxhciBzaWduIFwoKS0yLjY0IEYgRjEKKygkKUEgRjAoIilBIEYzKHN0cmluZylBIEYwIC4xNAorKCJcKSB3aWxsIGNhdXNlIHRoZSBzdHJpbmcgdG8gYmUgdHJhbnNsYXRlZCBhY2NvcmRpbmcpQiAuNDk1CisodG8gdGhlIGN1cnJlbnQgbG9jYWxlLikxMDggNDM5LjIgUiAuNDk1KElmIHRoZSBjdXJyZW50IGxvY2FsZSBpcyk1LjQ5NQorRiBGMShDKTIuOTk1IEUgRjAob3IpMi45OTUgRSBGMShQT1NJWCkyLjk5NSBFIEYwIDIuOTk1KCx0KUMgLjQ5NQogKGhlIGRvbGxhciBzaWduIGlzIGlnbm9yZWQuKS0yLjk5NSBGIC40OTYoSWYgdGhlIHN0cmluZyBpcyB0cmFucy0pNS40OTYKLUYobGF0ZWQgYW5kIHJlcGxhY2VkLCB0aGUgcmVwbGFjZW1lbnQgaXMgZG91YmxlLXF1b3RlZC4pMTA4IDI3My42IFEvRjMKLTEwLjk1L1RpbWVzLUJvbGRAMCBTRiAtLjgxKFBBKTcyIDI5MC40IFMoUkFNRVRFUlMpLjgxIEUgRjAoQSkxMDggMzAyLjQgUQotRjIocGFyKTQuNTkzIEUoYW1ldGVyKS0uMTUgRSBGMCAuODQzKGlzIGFuIGVudGl0eSB0aGF0IHN0b3JlcyB2KTQuMDczIEYKLTMuMzQzKGFsdWVzLiBJdCktLjI1IEYgLjg0MyhjYW4gYmUgYSkzLjM0MyBGIEYyKG5hbWUpMy4zNDIgRSBGMCAzLjM0MgorRihsYXRlZCBhbmQgcmVwbGFjZWQsIHRoZSByZXBsYWNlbWVudCBpcyBkb3VibGUtcXVvdGVkLikxMDggNDUxLjIgUS9GNAorMTAuOTUvVGltZXMtQm9sZEAwIFNGIC0uODEoUEEpNzIgNDY4IFMoUkFNRVRFUlMpLjgxIEUgRjAoQSkxMDggNDgwIFEgRjMKKyhwYXIpNC41OTMgRShhbWV0ZXIpLS4xNSBFIEYwIC44NDMoaXMgYW4gZW50aXR5IHRoYXQgc3RvcmVzIHYpNC4wNzMgRgorMy4zNDMoYWx1ZXMuIEl0KS0uMjUgRiAuODQzKGNhbiBiZSBhKTMuMzQzIEYgRjMobmFtZSkzLjM0MiBFIEYwIDMuMzQyCiAoLGFuKS4xOCBHKHVtYmVyKS0zLjM0MiBFIDMuMzQyKCxvKS0uNCBHIDMuMzQyKHJvKS0zLjM0MiBHIC44NDIKLShuZSBvZiB0aGUgc3BlY2lhbCBjaGFyYWN0ZXJzKS0zLjM0MiBGIC44MjIobGlzdGVkIGJlbG8pMTA4IDMxNC40IFIKLTMuMzIzKHd1KS0uMjUgRyhuZGVyKS0zLjMyMyBFIEYxIC44MjMoU3BlY2lhbCBQKTMuMzIzIEYoYXJhbWV0ZXJzKS0uMSBFCi1GMCA1LjgyMyguQSlDIEYyKHZhcmlhYmxlKS0yLjIxIEUgRjAgLjgyMyhpcyBhIHBhcmFtZXRlciBkZW5vdGVkIGJ5IGEpCi0zLjUwMyBGIEYyKG5hbWUpMy4zMjMgRSBGMCA1LjgyMyguQSkuMTggRyAtLjI1KHZhKS0yLjUgRyAuODIzCi0ocmlhYmxlIGhhcyBhKS4yNSBGIEYyKHZhbHVlKTEwOCAzMjYuNCBRIEYwIC4zNjkoYW5kIHplcm8gb3IgbW9yZSkyLjg2OQotRiBGMihhdHRyaWIpMi44NjkgRSh1dGVzKS0uMiBFIEYwIDUuMzY5KC5BKUModHRyaWIpLTUuMzY5IEUgLjM2OQorKG5lIG9mIHRoZSBzcGVjaWFsIGNoYXJhY3RlcnMpLTMuMzQyIEYgLjgyMihsaXN0ZWQgYmVsbykxMDggNDkyIFIgMy4zMjMKKyh3dSktLjI1IEcobmRlciktMy4zMjMgRSBGMSAuODIzKFNwZWNpYWwgUCkzLjMyMyBGKGFyYW1ldGVycyktLjEgRSBGMAorNS44MjMoLkEpQyBGMyh2YXJpYWJsZSktMi4yMSBFIEYwIC44MjMoaXMgYSBwYXJhbWV0ZXIgZGVub3RlZCBieSBhKTMuNTAzCitGIEYzKG5hbWUpMy4zMjMgRSBGMCA1LjgyMyguQSkuMTggRyAtLjI1KHZhKS0yLjUgRyAuODIzKHJpYWJsZSBoYXMgYSkuMjUKK0YgRjModmFsdWUpMTA4IDUwNCBRIEYwIC4zNjkoYW5kIHplcm8gb3IgbW9yZSkyLjg2OSBGIEYzKGF0dHJpYikyLjg2OSBFCisodXRlcyktLjIgRSBGMCA1LjM2OSguQSlDKHR0cmliKS01LjM2OSBFIC4zNjkKICh1dGVzIGFyZSBhc3NpZ25lZCB1c2luZyB0aGUpLS4yIEYgRjEoZGVjbGFyKTIuODY4IEUoZSktLjE4IEUgRjAgLS4yKGJ1KQogMi44NjggRyAuMzY4KGlsdGluIGNvbW1hbmQgXChzZWUpLjIgRiBGMShkZWNsYXIpMi44NjggRShlKS0uMTggRSBGMAotKGJlbG8pMTA4IDMzOC40IFEgMi41KHdpKS0uMjUgRyhuKS0yLjUgRS9GNCA5L1RpbWVzLUJvbGRAMCBTRihTSEVMTCBCKQotMi41IEUoVUlMKS0uMDkgRShUSU4gQ09NTUFORFMpLS44MjggRS9GNSA5L1RpbWVzLVJvbWFuQDAgU0YoXCkuKUEgRjAKLTIuNzU0KEFwKTEwOCAzNTUuMiBTIC4yNTQoYXJhbWV0ZXIgaXMgc2V0IGlmIGl0IGhhcyBiZWVuIGFzc2lnbmVkIGEgdikKLS0yLjc1NCBGIDIuNzU0KGFsdWUuIFRoZSktLjI1IEYgLjI1NChudWxsIHN0cmluZyBpcyBhIHYpMi43NTQgRiAuMjU1Ci0oYWxpZCB2KS0uMjUgRiAyLjc1NShhbHVlLiBPbmNlKS0uMjUgRiAyLjc1NShhdikyLjc1NSBHIC4yNTUKLShhcmlhYmxlIGlzIHNldCwgaXQpLTMuMDA1IEYobWF5IGJlIHVuc2V0IG9ubHkgYnkgdXNpbmcgdGhlKTEwOCAzNjcuMiBRCi1GMSh1bnNldCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4gY29tbWFuZCBcKHNlZSkuMiBFIEY0KFNIRUxMIEIpMi41IEUKLShVSUwpLS4wOSBFKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFKEEpMTA4IDM4NCBRCi1GMih2YXJpYWJsZSkyLjc5IEUgRjAobWF5IGJlIGFzc2lnbmVkIHRvIGJ5IGEgc3RhdGVtZW50IG9mIHRoZSBmb3JtKTIuNjgKLUUgRjIobmFtZSkxNDQgNDAwLjggUSBGMCg9WylBIEYyKHZhbHVlKUEgRjAoXSlBKElmKTEwOCA0MTcuNiBRIEYyKHZhbHVlKQotMy4wMjMgRSBGMCAuMjMzKGlzIG5vdCBnaSkyLjkxMyBGIC0uMTUodmUpLS4yNSBHIC4yMzMobiwgdGhlIHYpLjE1IEYKLS4yMzIoYXJpYWJsZSBpcyBhc3NpZ25lZCB0aGUgbnVsbCBzdHJpbmcuKS0uMjUgRihBbGwpNS4yMzIgRSBGMih2YWx1ZXMpCi0zLjAyMiBFIEYwKHVuZGVyKTMuMDAyIEUgLjIzMihnbyB0aWxkZSBlKS0uMTggRiAuMjMyCi0oeHBhbnNpb24sIHBhcmFtZXRlciktLjE1IEYgLjUxNShhbmQgdikxMDggNDI5LjYgUiAuNTE1KGFyaWFibGUgZSktLjI1IEYKLS41MTUoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljIGUpLS4xNSBGIC41MTUKKyhiZWxvKTEwOCA1MTYgUSAyLjUod2kpLS4yNSBHKG4pLTIuNSBFIEYyKFNIRUxMIEIpMi41IEUoVUlMKS0uMDkgRQorKFRJTiBDT01NQU5EUyktLjgyOCBFL0Y1IDkvVGltZXMtUm9tYW5AMCBTRihcKS4pQSBGMCAyLjc1NChBcCkxMDggNTMyLjgKK1MgLjI1NChhcmFtZXRlciBpcyBzZXQgaWYgaXQgaGFzIGJlZW4gYXNzaWduZWQgYSB2KS0yLjc1NCBGIDIuNzU0CisoYWx1ZS4gVGhlKS0uMjUgRiAuMjU0KG51bGwgc3RyaW5nIGlzIGEgdikyLjc1NCBGIC4yNTUoYWxpZCB2KS0uMjUgRgorMi43NTUoYWx1ZS4gT25jZSktLjI1IEYgMi43NTUoYXYpMi43NTUgRyAuMjU1KGFyaWFibGUgaXMgc2V0LCBpdCktMy4wMDUKK0YobWF5IGJlIHVuc2V0IG9ubHkgYnkgdXNpbmcgdGhlKTEwOCA1NDQuOCBRIEYxKHVuc2V0KTIuNSBFIEYwIC0uMihidSkKKzIuNSBHKGlsdGluIGNvbW1hbmQgXChzZWUpLjIgRSBGMihTSEVMTCBCKTIuNSBFKFVJTCktLjA5IEUoVElOIENPTU1BTkRTKQorLS44MjggRSBGMChiZWxvKTIuMjUgRSh3XCkuKS0uMjUgRShBKTEwOCA1NjEuNiBRIEYzKHZhcmlhYmxlKTIuNzkgRSBGMAorKG1heSBiZSBhc3NpZ25lZCB0byBieSBhIHN0YXRlbWVudCBvZiB0aGUgZm9ybSkyLjY4IEUgRjMobmFtZSkxNDQgNTc4LjQKK1EgRjAoPVspQSBGMyh2YWx1ZSlBIEYwKF0pQShJZikxMDggNTk1LjIgUSBGMyh2YWx1ZSkzLjAyMyBFIEYwIC4yMzMKKyhpcyBub3QgZ2kpMi45MTMgRiAtLjE1KHZlKS0uMjUgRyAuMjMzKG4sIHRoZSB2KS4xNSBGIC4yMzIKKyhhcmlhYmxlIGlzIGFzc2lnbmVkIHRoZSBudWxsIHN0cmluZy4pLS4yNSBGKEFsbCk1LjIzMiBFIEYzKHZhbHVlcykzLjAyMgorRSBGMCh1bmRlcikzLjAwMiBFIC4yMzIoZ28gdGlsZGUgZSktLjE4IEYgLjIzMih4cGFuc2lvbiwgcGFyYW1ldGVyKS0uMTUKK0YgLjUxNShhbmQgdikxMDggNjA3LjIgUiAuNTE1KGFyaWFibGUgZSktLjI1IEYgLjUxNQorKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYXJpdGhtZXRpYyBlKS0uMTUgRiAuNTE1CiAoeHBhbnNpb24sIGFuZCBxdW90ZSByZW1vKS0uMTUgRiAtLjI1KHZhKS0uMTUgRyAzLjAxNShsXCgpLjI1IEcoc2VlKQotLTMuMDE1IEUgRjQoRVhQKTMuMDE1IEUoQU5TSU9OKS0uNjY2IEUgRjAoYmVsbykxMDggNDQxLjYgUSAyLjY5OQorLTMuMDE1IEUgRjIoRVhQKTMuMDE1IEUoQU5TSU9OKS0uNjY2IEUgRjAoYmVsbykxMDggNjE5LjIgUSAyLjY5OQogKHdcKS4gSWYpLS4yNSBGIC4xOTkodGhlIHYpMi42OTkgRiAuMTk5KGFyaWFibGUgaGFzIGl0cyktLjI1IEYgRjEKLShpbnRlZ2VyKTIuNjk4IEUgRjAoYXR0cmliKTIuNjk4IEUgLjE5OCh1dGUgc2V0LCB0aGVuKS0uMiBGIEYyKHZhbHVlKQorKGludGVnZXIpMi42OTggRSBGMChhdHRyaWIpMi42OTggRSAuMTk4KHV0ZSBzZXQsIHRoZW4pLS4yIEYgRjModmFsdWUpCiAyLjk4OCBFIEYwIC4xOTgoaXMgZSkyLjg3OCBGIC0uMjUodmEpLS4yNSBHIC4xOTgKIChsdWF0ZWQgYXMgYW4gYXJpdGhtZXRpYyBlKS4yNSBGIC4xOTgoeHByZXNzaW9uIGUpLS4xNSBGIC0uMTUodmUpLS4yNSBHCi0obikuMTUgRSAuOTAxKGlmIHRoZSAkXChcKC4uLlwpXCkgZSkxMDggNDUzLjYgUiAuOTAxCisobikuMTUgRSAuOTAxKGlmIHRoZSAkXChcKC4uLlwpXCkgZSkxMDggNjMxLjIgUiAuOTAxCiAoeHBhbnNpb24gaXMgbm90IHVzZWQgXChzZWUpLS4xNSBGIEYxIC45MDEoQXJpdGhtZXRpYyBFeHBhbnNpb24pMy40MDEgRgogRjAoYmVsbykzLjQwMSBFIDMuNDAyKHdcKS4gVyktLjI1IEYgLjkwMgotKG9yZCBzcGxpdHRpbmcgaXMgbm90IHBlcmZvcm1lZCwpLS44IEYgMS4xNzkod2l0aCB0aGUgZSkxMDggNDY1LjYgUgorKG9yZCBzcGxpdHRpbmcgaXMgbm90IHBlcmZvcm1lZCwpLS44IEYgMS4xNzkod2l0aCB0aGUgZSkxMDggNjQzLjIgUgogMS4xNzkoeGNlcHRpb24gb2YpLS4xNSBGIEYxKCIkQCIpMy42NzkgRSBGMCAxLjE3OShhcyBlKTMuNjc5IEYgMS4xNzkKICh4cGxhaW5lZCBiZWxvKS0uMTUgRiAzLjY3OSh3dSktLjI1IEcobmRlciktMy42NzkgRSBGMSAxLjE3OChTcGVjaWFsIFApCiAzLjY3OCBGKGFyYW1ldGVycyktLjEgRSBGMCA2LjE3OCguUClDIDEuMTc4KGF0aG5hbWUgZSktNi4zMjggRiAxLjE3OAotKHhwYW5zaW9uIGlzIG5vdCktLjE1IEYgMy42NDgocGVyZm9ybWVkLiBBc3NpZ25tZW50KTEwOCA0NzcuNiBSIDEuMTQ4CisoeHBhbnNpb24gaXMgbm90KS0uMTUgRiAzLjY0OChwZXJmb3JtZWQuIEFzc2lnbm1lbnQpMTA4IDY1NS4yIFIgMS4xNDgKIChzdGF0ZW1lbnRzIG1heSBhbHNvIGFwcGVhciBhcyBhcikzLjY0OCBGIDEuMTQ5KGd1bWVudHMgdG8gdGhlKS0uMTggRiBGMQogKGFsaWFzKTMuNjQ5IEUgRjAoLClBIEYxKGRlY2xhcikzLjY0OSBFKGUpLS4xOCBFIEYwKCwpQSBGMSh0eXBlc2V0KTMuNjQ5Ci1FIEYwKCwpQSBGMShleHBvcnQpMy42NDkgRSBGMCgsKUEgRjEgLS4xOChyZSkxMDggNDg5LjYgUyhhZG9ubHkpLjE4IEUgRjAKK0UgRjAoLClBIEYxKGV4cG9ydCkzLjY0OSBFIEYwKCwpQSBGMSAtLjE4KHJlKTEwOCA2NjcuMiBTKGFkb25seSkuMTggRSBGMAogMi41KCxhKUMobmQpLTIuNSBFIEYxKGxvY2FsKTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBjb21tYW5kcy4pLjIgRQotLjM3NyhJbiB0aGUgY29udGUpMTA4IDUwNi40IFIgLjM3NworLjM3NyhJbiB0aGUgY29udGUpMTA4IDY4NCBSIC4zNzcKICh4dCB3aGVyZSBhbiBhc3NpZ25tZW50IHN0YXRlbWVudCBpcyBhc3NpZ25pbmcgYSB2KS0uMTUgRiAuMzc2CiAoYWx1ZSB0byBhIHNoZWxsIHYpLS4yNSBGIC4zNzYoYXJpYWJsZSBvciBhcnJheSBpbmRlKS0uMjUgRiAuMzc2CiAoeCwgdGhlICs9KS0uMTUgRiAuMjU3Ci0ob3BlcmF0b3IgY2FuIGJlIHVzZWQgdG8gYXBwZW5kIHRvIG9yIGFkZCB0byB0aGUgdikxMDggNTE4LjQgUihhcmlhYmxlJykKKyhvcGVyYXRvciBjYW4gYmUgdXNlZCB0byBhcHBlbmQgdG8gb3IgYWRkIHRvIHRoZSB2KTEwOCA2OTYgUihhcmlhYmxlJykKIC0uMjUgRSAyLjc1NyhzcCktLjU1IEcocmUpLTIuNzU3IEUgLjI1Nyh2aW91cyB2KS0uMjUgRiAyLjc1NyhhbHVlLiBXaGVuKQotLS4yNSBGIC4yNTcoKz0gaXMgYXBwbGllZCB0byBhIHYpMi43NTcgRihhcmlhYmxlKS0uMjUgRSAuMzczCi0oZm9yIHdoaWNoIHRoZSBpbnRlKTEwOCA1MzAuNCBSIC4zNzMoZ2VyIGF0dHJpYiktLjE1IEYgLjM3MgotKHV0ZSBoYXMgYmVlbiBzZXQsKS0uMiBGIEYyKHZhbHVlKTIuODcyIEUgRjAgLjM3MihpcyBlKTIuODcyIEYgLS4yNSh2YSkKLS0uMjUgRyAuMzcyKGx1YXRlZCBhcyBhbiBhcml0aG1ldGljIGUpLjI1IEYgLjM3MgotKHhwcmVzc2lvbiBhbmQgYWRkZWQgdG8gdGhlKS0uMTUgRiAtLjI1KHZhKTEwOCA1NDIuNCBTKHJpYWJsZScpLjI1IEUKLTIuODg4KHNjKS0uNTUgRyAuMzg4KHVycmVudCB2KS0yLjg4OCBGIC4zODgoYWx1ZSwgd2hpY2ggaXMgYWxzbyBlKS0uMjUgRgotLS4yNSh2YSktLjI1IEcgMi44ODkobHVhdGVkLiBXaGVuKS4yNSBGIC4zODkKLSgrPSBpcyBhcHBsaWVkIHRvIGFuIGFycmF5IHYpMi44ODkgRiAuMzg5KGFyaWFibGUgdXNpbmcgY29tcG91bmQpLS4yNSBGCi0uMTg2KGFzc2lnbm1lbnQgXChzZWUpMTA4IDU1NC40IFIgRjEoQXJyYXlzKTIuNjg2IEUgRjAoYmVsbykyLjY4NiBFIC4xODYKLSh3XCksIHRoZSB2KS0uMjUgRihhcmlhYmxlJyktLjI1IEUgMi42ODUoc3YpLS41NSBHIC4xODUKLShhbHVlIGlzIG5vdCB1bnNldCBcKGFzIGl0IGlzIHdoZW4gdXNpbmcgPVwpLCBhbmQgbmUpLTIuOTM1IEYgMi42ODUod3YpCi0tLjI1IEcgLjE4NShhbHVlcyBhcmUpLTIuOTM1IEYgMS4zODQoYXBwZW5kZWQgdG8gdGhlIGFycmF5IGJlKTEwOCA1NjYuNAotUiAxLjM4NChnaW5uaW5nIGF0IG9uZSBncmVhdGVyIHRoYW4gdGhlIGFycmF5JyktLjE1IEYgMy44ODUoc20pLS41NSBHCi0xLjM4NShheGltdW0gaW5kZSktMy44ODUgRiAzLjg4NSh4XCgpLS4xNSBHIDEuMzg1KGZvciBpbmRlKS0zLjg4NSBGIC0uMTUKLSh4ZSktLjE1IEcgMy44ODUoZGEpLjE1IEcgMS4zODUocnJheXNcKSBvciktMy44ODUgRiAuMTIzCi0oYWRkZWQgYXMgYWRkaXRpb25hbCBrKTEwOCA1NzguNCBSIC0uMTUoZXkpLS4xIEc8YWQ3Nj4uMTUgRSAuMTIzCi0oYWx1ZSBwYWlycyBpbiBhbiBhc3NvY2lhdGkpLS4yNSBGIC40MjMgLS4xNSh2ZSBhKS0uMjUgSChycmF5KS4xNSBFCi01LjEyMyguVyktLjY1IEcgLjEyMihoZW4gYXBwbGllZCB0byBhIHN0cmluZy12KS01LjEyMyBGIC4xMjIoYWx1ZWQgdikKLS0uMjUgRihhcmlhYmxlLCktLjI1IEUgRjIodmFsdWUpMi42MjIgRSBGMChpcyBlKTEwOCA1OTAuNCBRCi0oeHBhbmRlZCBhbmQgYXBwZW5kZWQgdG8gdGhlIHYpLS4xNSBFKGFyaWFibGUnKS0uMjUgRSAyLjUoc3YpLS41NSBHCi0oYWx1ZS4pLTIuNzUgRSBGMSAtLjIoUG8pODcgNjA3LjIgUyhzaXRpb25hbCBQKS4yIEUoYXJhbWV0ZXJzKS0uMSBFIEYwCi0oQSkxMDggNjE5LjIgUSBGMiAuNzA1KHBvc2l0aW9uYWwgcGFyKTQuNDU1IEYoYW1ldGVyKS0uMTUgRSBGMCAuNzA2KGlzIFwKLWEgcGFyYW1ldGVyIGRlbm90ZWQgYnkgb25lIG9yIG1vcmUgZGlnaXRzLCBvdGhlciB0aGFuIHRoZSBzaW5nbGUgZGlnaXQgXAotMC4pMy45MzUgRihQb3NpLSk1LjcwNiBFIC40NDUKLSh0aW9uYWwgcGFyYW1ldGVycyBhcmUgYXNzaWduZWQgZnJvbSB0aGUgc2hlbGwnKTEwOCA2MzEuMiBSIDIuOTQ0KHNhKQotLS41NSBHIC0uMTgocmcpLTIuOTQ0IEcgLjQ0NCh1bWVudHMgd2hlbiBpdCBpcyBpbikuMTggRiAtLjIodm8pLS40IEcgLS4xCi0oa2UpLjIgRyAuNDQ0KGQsIGFuZCBtYXkgYmUgcmVhc3NpZ25lZCB1c2luZykuMSBGKHRoZSkxMDggNjQzLjIgUSBGMQotKHNldCkzLjMzMyBFIEYwIC0uMihidSkzLjMzMyBHIC44MzMoaWx0aW4gY29tbWFuZC4pLjIgRiAuODM0KFBvc2l0aW9uYWxcCi0gcGFyYW1ldGVycyBtYXkgbm90IGJlIGFzc2lnbmVkIHRvIHdpdGggYXNzaWdubWVudCBzdGF0ZW1lbnRzLik1LjgzMyBGCi0oVGhlKTUuODM0IEUgLjMzNChwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHRlbXBvcmFyaWx5IHJlcGxhY2VkIHdoZW4gYVwKLSBzaGVsbCBmdW5jdGlvbiBpcyBlKTEwOCA2NTUuMiBSIC0uMTUoeGUpLS4xNSBHIC4zMzMoY3V0ZWQgXChzZWUpLjE1IEYKLUY0KEZVTkNUSU9OUykyLjgzMyBFIEYwKGJlbG8pMi41ODMgRSh3XCkuKS0uMjUgRSAxLjQwMyhXaGVuIGEgcG9zaXRpb25hXAotbCBwYXJhbWV0ZXIgY29uc2lzdGluZyBvZiBtb3JlIHRoYW4gYSBzaW5nbGUgZGlnaXQgaXMgZSkxMDggNjcyIFIgMS40MDQKLSh4cGFuZGVkLCBpdCBtdXN0IGJlIGVuY2xvc2VkIGluKS0uMTUgRihicmFjZXMgXChzZWUpMTA4IDY4NCBRIEY0KEVYUCkKLTIuNSBFKEFOU0lPTiktLjY2NiBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYxKFNwZWNpYWwgUCk4NyA3MDAuOCBRCi0oYXJhbWV0ZXJzKS0uMSBFIEYwIDEuNjc1KFRoZSBzaGVsbCB0cmVhdHMgc2UpMTA4IDcxMi44IFIgLS4xNSh2ZSktLjI1IEcKLTEuNjc1KHJhbCBwYXJhbWV0ZXJzIHNwZWNpYWxseSkuMTUgRiA2LjY3NSguVCktLjY1IEcgMS42NzQKLShoZXNlIHBhcmFtZXRlcnMgbWF5IG9ubHkgYmUgcmVmZXJlbmNlZDsgYXNzaWdubWVudCB0byktNi42NzUgRgotKHRoZW0gaXMgbm90IGFsbG8pMTA4IDcyNC44IFEod2VkLiktLjI1IEUoR05VIEJhc2gtNC4xKTcyIDc2OCBRCi0oMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoOCkxOTAuOTU1IEUgMCBDZyBFUAorLS4yNSBGIC4yNTcoKz0gaXMgYXBwbGllZCB0byBhIHYpMi43NTcgRihhcmlhYmxlKS0uMjUgRSAuMzYxCisoZm9yIHdoaWNoIHRoZSkxMDggNzA4IFIgRjMoaW50ZSkyLjg2MSBFIC0uMShnZSktLjQgRyhyKS4xIEUgRjAoYXR0cmliKQorMi44NjEgRSAuMzYxKHV0ZSBoYXMgYmVlbiBzZXQsKS0uMiBGIEYzKHZhbHVlKTIuODYxIEUgRjAgLjM2MShpcyBlKTIuODYxCitGIC0uMjUodmEpLS4yNSBHIC4zNihsdWF0ZWQgYXMgYW4gYXJpdGhtZXRpYyBlKS4yNSBGIC4zNgorKHhwcmVzc2lvbiBhbmQgYWRkZWQgdG8gdGhlKS0uMTUgRiAtLjI1KHZhKTEwOCA3MjAgUyhyaWFibGUnKS4yNSBFIDIuODg4Cisoc2MpLS41NSBHIC4zODgodXJyZW50IHYpLTIuODg4IEYgLjM4OChhbHVlLCB3aGljaCBpcyBhbHNvIGUpLS4yNSBGIC0uMjUKKyh2YSktLjI1IEcgMi44ODkobHVhdGVkLiBXaGVuKS4yNSBGIC4zODkoKz0gaXMgYXBwbGllZCB0byBhbiBhcnJheSB2KQorMi44ODkgRiAuMzg5KGFyaWFibGUgdXNpbmcgY29tcG91bmQpLS4yNSBGKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDgpMTkwLjk1NSBFIDAgQ2cgRVAKICUlUGFnZTogOSA5CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRigqKTEwOCA4NCBRIEYwIC42MDUKKy0uMzUgRSAuMTg2KGFzc2lnbm1lbnQgXChzZWUpMTA4IDg0IFIvRjEgMTAvVGltZXMtQm9sZEAwIFNGKEFycmF5cykyLjY4NgorRSBGMChiZWxvKTIuNjg2IEUgLjE4Nih3XCksIHRoZSB2KS0uMjUgRihhcmlhYmxlJyktLjI1IEUgMi42ODUoc3YpLS41NSBHCisuMTg1KGFsdWUgaXMgbm90IHVuc2V0IFwoYXMgaXQgaXMgd2hlbiB1c2luZyA9XCksIGFuZCBuZSktMi45MzUgRiAyLjY4NQorKHd2KS0uMjUgRyAuMTg1KGFsdWVzIGFyZSktMi45MzUgRiAxLjM4NChhcHBlbmRlZCB0byB0aGUgYXJyYXkgYmUpMTA4IDk2CitSIDEuMzg0KGdpbm5pbmcgYXQgb25lIGdyZWF0ZXIgdGhhbiB0aGUgYXJyYXknKS0uMTUgRiAzLjg4NShzbSktLjU1IEcKKzEuMzg1KGF4aW11bSBpbmRlKS0zLjg4NSBGIDMuODg1KHhcKCktLjE1IEcgMS4zODUoZm9yIGluZGUpLTMuODg1IEYgLS4xNQorKHhlKS0uMTUgRyAzLjg4NShkYSkuMTUgRyAxLjM4NShycmF5c1wpIG9yKS0zLjg4NSBGIC4xMjMKKyhhZGRlZCBhcyBhZGRpdGlvbmFsIGspMTA4IDEwOCBSIC0uMTUoZXkpLS4xIEc8YWQ3Nj4uMTUgRSAuMTIzCisoYWx1ZSBwYWlycyBpbiBhbiBhc3NvY2lhdGkpLS4yNSBGIC40MjMgLS4xNSh2ZSBhKS0uMjUgSChycmF5KS4xNSBFCis1LjEyMyguVyktLjY1IEcgLjEyMihoZW4gYXBwbGllZCB0byBhIHN0cmluZy12KS01LjEyMyBGIC4xMjIoYWx1ZWQgdikKKy0uMjUgRihhcmlhYmxlLCktLjI1IEUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YodmFsdWUpMi42MjIgRSBGMChpcyBlKTEwOAorMTIwIFEoeHBhbmRlZCBhbmQgYXBwZW5kZWQgdG8gdGhlIHYpLS4xNSBFKGFyaWFibGUnKS0uMjUgRSAyLjUoc3YpLS41NSBHCisoYWx1ZS4pLTIuNzUgRSBGMSAtLjIoUG8pODcgMTM2LjggUyhzaXRpb25hbCBQKS4yIEUoYXJhbWV0ZXJzKS0uMSBFIEYwCisoQSkxMDggMTQ4LjggUSBGMiAuNzA1KHBvc2l0aW9uYWwgcGFyKTQuNDU1IEYoYW1ldGVyKS0uMTUgRSBGMCAuNzA2KGlzIFwKK2EgcGFyYW1ldGVyIGRlbm90ZWQgYnkgb25lIG9yIG1vcmUgZGlnaXRzLCBvdGhlciB0aGFuIHRoZSBzaW5nbGUgZGlnaXQgXAorMC4pMy45MzUgRihQb3NpLSk1LjcwNiBFIC40NDUKKyh0aW9uYWwgcGFyYW1ldGVycyBhcmUgYXNzaWduZWQgZnJvbSB0aGUgc2hlbGwnKTEwOCAxNjAuOCBSIDIuOTQ0KHNhKQorLS41NSBHIC0uMTgocmcpLTIuOTQ0IEcgLjQ0NCh1bWVudHMgd2hlbiBpdCBpcyBpbikuMTggRiAtLjIodm8pLS40IEcgLS4xCisoa2UpLjIgRyAuNDQ0KGQsIGFuZCBtYXkgYmUgcmVhc3NpZ25lZCB1c2luZykuMSBGKHRoZSkxMDggMTcyLjggUSBGMQorKHNldCkzLjMzMyBFIEYwIC0uMihidSkzLjMzMyBHIC44MzMoaWx0aW4gY29tbWFuZC4pLjIgRiAuODM0KFBvc2l0aW9uYWxcCisgcGFyYW1ldGVycyBtYXkgbm90IGJlIGFzc2lnbmVkIHRvIHdpdGggYXNzaWdubWVudCBzdGF0ZW1lbnRzLik1LjgzMyBGCisoVGhlKTUuODM0IEUgLjMzNChwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHRlbXBvcmFyaWx5IHJlcGxhY2VkIHdoZW4gYVwKKyBzaGVsbCBmdW5jdGlvbiBpcyBlKTEwOCAxODQuOCBSIC0uMTUoeGUpLS4xNSBHIC4zMzMoY3V0ZWQgXChzZWUpLjE1IEYKKy9GMyA5L1RpbWVzLUJvbGRAMCBTRihGVU5DVElPTlMpMi44MzMgRSBGMChiZWxvKTIuNTgzIEUod1wpLiktLjI1IEUKKzEuNDAzKFdoZW4gYSBwb3NpdGlvbmFsIHBhcmFtZXRlciBjb25zaXN0aW5nIG9mIG1vcmUgdGhhbiBhIHNpbmdsZSBkaWdpXAordCBpcyBlKTEwOCAyMDEuNiBSIDEuNDA0KHhwYW5kZWQsIGl0IG11c3QgYmUgZW5jbG9zZWQgaW4pLS4xNSBGCisoYnJhY2VzIFwoc2VlKTEwOCAyMTMuNiBRIEYzKEVYUCkyLjUgRShBTlNJT04pLS42NjYgRSBGMChiZWxvKTIuMjUgRQorKHdcKS4pLS4yNSBFIEYxKFNwZWNpYWwgUCk4NyAyMzAuNCBRKGFyYW1ldGVycyktLjEgRSBGMCAxLjY3NQorKFRoZSBzaGVsbCB0cmVhdHMgc2UpMTA4IDI0Mi40IFIgLS4xNSh2ZSktLjI1IEcgMS42NzUKKyhyYWwgcGFyYW1ldGVycyBzcGVjaWFsbHkpLjE1IEYgNi42NzUoLlQpLS42NSBHIDEuNjc0CisoaGVzZSBwYXJhbWV0ZXJzIG1heSBvbmx5IGJlIHJlZmVyZW5jZWQ7IGFzc2lnbm1lbnQgdG8pLTYuNjc1IEYKKyh0aGVtIGlzIG5vdCBhbGxvKTEwOCAyNTQuNCBRKHdlZC4pLS4yNSBFIEYxKCopMTA4IDI2Ni40IFEgRjAgLjYwNQogKEV4cGFuZHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgc3RhcnRpbmcgZnJvbSBvbmUuKTMxIEYgLjYwNgogKFdoZW4gdGhlIGUpNS42MDUgRiAuNjA2KHhwYW5zaW9uIG9jY3VycyB3aXRoaW4gZG91LSktLjE1IEYgLjA4NAotKGJsZSBxdW90ZXMsIGl0IGUpMTQ0IDk2IFIgLjA4NCh4cGFuZHMgdG8gYSBzaW5nbGUgdyktLjE1IEYgLjA4NAorKGJsZSBxdW90ZXMsIGl0IGUpMTQ0IDI3OC40IFIgLjA4NCh4cGFuZHMgdG8gYSBzaW5nbGUgdyktLjE1IEYgLjA4NAogKG9yZCB3aXRoIHRoZSB2KS0uMSBGIC4wODQKIChhbHVlIG9mIGVhY2ggcGFyYW1ldGVyIHNlcGFyYXRlZCBieSB0aGUgXDIxNHJzdCBjaGFyKS0uMjUgRigtKS0uMiBFCi0uMDAzKGFjdGVyIG9mIHRoZSkxNDQgMTA4IFIvRjIgOS9UaW1lcy1Cb2xkQDAgU0YoSUZTKTIuNTAzIEUgRjAgLjAwMwotKHNwZWNpYWwgdikyLjI1MyBGIDIuNTAzKGFyaWFibGUuIFRoYXQpLS4yNSBGIC4wMDMoaXMsICIpMi41MDMgRiBGMSgkKilBCi1GMCAyLjUwMygiaSlDIDIuNTAzKHNlKS0yLjUwMyBHKHF1aSktMi41MDMgRSAtLjI1KHZhKS0uMjUgRyAuMDAzCi0obGVudCB0byAiKS4yNSBGIEYxKCQxKUEvRjMgMTAvVGltZXMtSXRhbGljQDAgU0YoYylBIEYxKCQyKUEgRjMoYylBIEYxCi0oLi4uKUEgRjAgLjAwMygiLCB3aGVyZSlCIEYzKGMpMi43MDMgRSBGMCAuMDA0KGlzIHRoZSBcMjE0cnN0IGNoYXIpMi44MTMKLUYoLSktLjIgRSAuNzY5KGFjdGVyIG9mIHRoZSB2KTE0NCAxMjAgUiAuNzY5KGFsdWUgb2YgdGhlKS0uMjUgRiBGMihJRlMpCi0zLjI2OSBFIEYwIC0uMjUodmEpMy4wMTkgRyAzLjI2OShyaWFibGUuIElmKS4yNSBGIEYyKElGUykzLjI2OCBFIEYwIC43NjgKLShpcyB1bnNldCwgdGhlIHBhcmFtZXRlcnMgYXJlIHNlcGFyYXRlZCBieSBzcGFjZXMuKTMuMDE4IEYoSWYpNS43NjggRSBGMgotKElGUykxNDQgMTMyIFEgRjAoaXMgbnVsbCwgdGhlIHBhcmFtZXRlcnMgYXJlIGpvaW5lZCB3aXRob3V0IGludGVydikyLjI1Ci1FKGVuaW5nIHNlcGFyYXRvcnMuKS0uMTUgRSBGMShAKTEwOCAxNDQgUSBGMCAuNjA1CisuMDAzKGFjdGVyIG9mIHRoZSkxNDQgMjkwLjQgUiBGMyhJRlMpMi41MDMgRSBGMCAuMDAzKHNwZWNpYWwgdikyLjI1MyBGCisyLjUwMyhhcmlhYmxlLiBUaGF0KS0uMjUgRiAuMDAzKGlzLCAiKTIuNTAzIEYgRjEoJCopQSBGMCAyLjUwMygiaSlDCisyLjUwMyhzZSktMi41MDMgRyhxdWkpLTIuNTAzIEUgLS4yNSh2YSktLjI1IEcgLjAwMyhsZW50IHRvICIpLjI1IEYgRjEKKygkMSlBIEYyKGMpQSBGMSgkMilBIEYyKGMpQSBGMSguLi4pQSBGMCAuMDAzKCIsIHdoZXJlKUIgRjIoYykyLjcwMyBFIEYwCisuMDA0KGlzIHRoZSBcMjE0cnN0IGNoYXIpMi44MTMgRigtKS0uMiBFIC43NjkoYWN0ZXIgb2YgdGhlIHYpMTQ0IDMwMi40IFIKKy43NjkoYWx1ZSBvZiB0aGUpLS4yNSBGIEYzKElGUykzLjI2OSBFIEYwIC0uMjUodmEpMy4wMTkgRyAzLjI2OQorKHJpYWJsZS4gSWYpLjI1IEYgRjMoSUZTKTMuMjY4IEUgRjAgLjc2OAorKGlzIHVuc2V0LCB0aGUgcGFyYW1ldGVycyBhcmUgc2VwYXJhdGVkIGJ5IHNwYWNlcy4pMy4wMTggRihJZik1Ljc2OCBFIEYzCisoSUZTKTE0NCAzMTQuNCBRIEYwKGlzIG51bGwsIHRoZSBwYXJhbWV0ZXJzIGFyZSBqb2luZWQgd2l0aG91dCBpbnRlcnYpCisyLjI1IEUoZW5pbmcgc2VwYXJhdG9ycy4pLS4xNSBFIEYxKEApMTA4IDMyNi40IFEgRjAgLjYwNQogKEV4cGFuZHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgc3RhcnRpbmcgZnJvbSBvbmUuKTI2LjcgRiAuNjA2CiAoV2hlbiB0aGUgZSk1LjYwNSBGIC42MDYoeHBhbnNpb24gb2NjdXJzIHdpdGhpbiBkb3UtKS0uMTUgRiAuMTE0Ci0oYmxlIHF1b3RlcywgZWFjaCBwYXJhbWV0ZXIgZSkxNDQgMTU2IFIgLjExNCh4cGFuZHMgdG8gYSBzZXBhcmF0ZSB3KS0uMTUKLUYgMi42MTQob3JkLiBUaGF0KS0uMSBGIC4xMTMoaXMsICIpMi42MTMgRiBGMSgkQClBIEYwIDIuNjEzKCJpKUMgMi42MTMKLShzZSktMi42MTMgRyhxdWkpLTIuNjEzIEUgLS4yNSh2YSktLjI1IEcgLjExMyhsZW50IHRvICIpLjI1IEYgRjEoJDEpQSBGMAotMi42MTMoIiIpQyBGMSgkMiktMi42MTMgRSBGMCAyLjYxMygiLilDKC4uKS0yLjYxMyBFIC4xMzQKLShJZiB0aGUgZG91YmxlLXF1b3RlZCBlKTE0NCAxNjggUiAuMTM0KHhwYW5zaW9uIG9jY3VycyB3aXRoaW4gYSB3KS0uMTUgRgotLjEzNShvcmQsIHRoZSBlKS0uMSBGIC4xMzUoeHBhbnNpb24gb2YgdGhlIFwyMTRyc3QgcGFyYW1ldGVyIGlzIGpvaW5lZCkKLS0uMTUgRiAuMTUxKHdpdGggdGhlIGJlKTE0NCAxODAgUiAuMTUxKGdpbm5pbmcgcGFydCBvZiB0aGUgb3JpZ2luYWwgdykKLS0uMTUgRiAuMTUxKG9yZCwgYW5kIHRoZSBlKS0uMSBGIC4xNQotKHhwYW5zaW9uIG9mIHRoZSBsYXN0IHBhcmFtZXRlciBpcyBqb2luZWQgd2l0aCktLjE1IEYgLjMzNwotKHRoZSBsYXN0IHBhcnQgb2YgdGhlIG9yaWdpbmFsIHcpMTQ0IDE5MiBSIDIuODM3KG9yZC4gV2hlbiktLjEgRiAuMzM4CisoYmxlIHF1b3RlcywgZWFjaCBwYXJhbWV0ZXIgZSkxNDQgMzM4LjQgUiAuMTE0KHhwYW5kcyB0byBhIHNlcGFyYXRlIHcpCistLjE1IEYgMi42MTQob3JkLiBUaGF0KS0uMSBGIC4xMTMoaXMsICIpMi42MTMgRiBGMSgkQClBIEYwIDIuNjEzKCJpKUMKKzIuNjEzKHNlKS0yLjYxMyBHKHF1aSktMi42MTMgRSAtLjI1KHZhKS0uMjUgRyAuMTEzKGxlbnQgdG8gIikuMjUgRiBGMQorKCQxKUEgRjAgMi42MTMoIiIpQyBGMSgkMiktMi42MTMgRSBGMCAyLjYxMygiLilDKC4uKS0yLjYxMyBFIC4xMzQKKyhJZiB0aGUgZG91YmxlLXF1b3RlZCBlKTE0NCAzNTAuNCBSIC4xMzQoeHBhbnNpb24gb2NjdXJzIHdpdGhpbiBhIHcpLS4xNQorRiAuMTM1KG9yZCwgdGhlIGUpLS4xIEYgLjEzNQorKHhwYW5zaW9uIG9mIHRoZSBcMjE0cnN0IHBhcmFtZXRlciBpcyBqb2luZWQpLS4xNSBGIC4xNTEod2l0aCB0aGUgYmUpMTQ0CiszNjIuNCBSIC4xNTEoZ2lubmluZyBwYXJ0IG9mIHRoZSBvcmlnaW5hbCB3KS0uMTUgRiAuMTUxKG9yZCwgYW5kIHRoZSBlKQorLS4xIEYgLjE1KHhwYW5zaW9uIG9mIHRoZSBsYXN0IHBhcmFtZXRlciBpcyBqb2luZWQgd2l0aCktLjE1IEYgLjMzNworKHRoZSBsYXN0IHBhcnQgb2YgdGhlIG9yaWdpbmFsIHcpMTQ0IDM3NC40IFIgMi44Mzcob3JkLiBXaGVuKS0uMSBGIC4zMzgKICh0aGVyZSBhcmUgbm8gcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCAiKTIuODM3IEYgRjEoJEApQSBGMCAyLjgzOCgiYSlDKG5kKQogLTIuODM4IEUgRjEoJEApMi44MzggRSBGMCAtLjE1KGV4KTIuODM4IEcocGFuZCkuMTUgRQotKHRvIG5vdGhpbmcgXChpLmUuLCB0aGUpMTQ0IDIwNCBRIDIuNSh5YSktLjE1IEcocmUgcmVtbyktMi41IEUgLS4xNSh2ZSkKLS0uMTUgRyhkXCkuKS4xNSBFIEYxKCMpMTA4IDIxNiBRIEYwCisodG8gbm90aGluZyBcKGkuZS4sIHRoZSkxNDQgMzg2LjQgUSAyLjUoeWEpLS4xNSBHKHJlIHJlbW8pLTIuNSBFIC0uMTUKKyh2ZSktLjE1IEcoZFwpLikuMTUgRSBGMSgjKTEwOCAzOTguNCBRIEYwCiAoRXhwYW5kcyB0byB0aGUgbnVtYmVyIG9mIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBpbiBkZWNpbWFsLikzMSBFIEYxKD8pCi0xMDggMjI4IFEgRjAoRXhwYW5kcyB0byB0aGUgZSkzMSBFKHhpdCBzdGF0dXMgb2YgdGhlIG1vc3QgcmVjZW50bHkgZSkKKzEwOCA0MTAuNCBRIEYwKEV4cGFuZHMgdG8gdGhlIGUpMzEgRSh4aXQgc3RhdHVzIG9mIHRoZSBtb3N0IHJlY2VudGx5IGUpCiAtLjE1IEUgLS4xNSh4ZSktLjE1IEcoY3V0ZWQgZm9yZSkuMTUgRShncm91bmQgcGlwZWxpbmUuKS0uMTUgRSBGMTxhZD4xMDgKLTI0MCBRIEYwIC44ODIKKzQyMi40IFEgRjAgLjg4MgogKEV4cGFuZHMgdG8gdGhlIGN1cnJlbnQgb3B0aW9uIFwyMTVhZ3MgYXMgc3BlY2lcMjE0ZWQgdXBvbiBpbikzMC4zIEYgLS4yCiAodm8pLS40IEcgLjg4MShjYXRpb24sIGJ5IHRoZSkuMiBGIEYxKHNldCkzLjM4MSBFIEYwIC0uMihidSkzLjM4MSBHIC44ODEKIChpbHRpbiBjb21tYW5kLCBvcikuMiBGKHRob3NlIHNldCBieSB0aGUgc2hlbGwgaXRzZWxmIFwoc3VjaCBhcyB0aGUpMTQ0Ci0yNTIgUSBGMTxhZDY5PjIuNSBFIEYwKG9wdGlvblwpLikyLjUgRSBGMSgkKTEwOCAyNjQgUSBGMCAuMjE0Cis0MzQuNCBRIEYxPGFkNjk+Mi41IEUgRjAob3B0aW9uXCkuKTIuNSBFIEYxKCQpMTA4IDQ0Ni40IFEgRjAgLjIxNAogKEV4cGFuZHMgdG8gdGhlIHByb2Nlc3MgSUQgb2YgdGhlIHNoZWxsLikzMSBGIC4yMTQKIChJbiBhIFwoXCkgc3Vic2hlbGwsIGl0IGUpNS4yMTQgRiAuMjE0CiAoeHBhbmRzIHRvIHRoZSBwcm9jZXNzIElEIG9mIHRoZSBjdXJyZW50KS0uMTUgRgotKHNoZWxsLCBub3QgdGhlIHN1YnNoZWxsLikxNDQgMjc2IFEgRjEoISkxMDggMjg4IFEgRjAKKyhzaGVsbCwgbm90IHRoZSBzdWJzaGVsbC4pMTQ0IDQ1OC40IFEgRjEoISkxMDggNDcwLjQgUSBGMAogKEV4cGFuZHMgdG8gdGhlIHByb2Nlc3MgSUQgb2YgdGhlIG1vc3QgcmVjZW50bHkgZSkzMi42NyBFIC0uMTUoeGUpLS4xNSBHCi0oY3V0ZWQgYmFja2dyb3VuZCBcKGFzeW5jaHJvbm91c1wpIGNvbW1hbmQuKS4xNSBFIEYxKDApMTA4IDMwMCBRIEYwCisoY3V0ZWQgYmFja2dyb3VuZCBcKGFzeW5jaHJvbm91c1wpIGNvbW1hbmQuKS4xNSBFIEYxKDApMTA4IDQ4Mi40IFEgRjAKIDEuNjkyKEV4cGFuZHMgdG8gdGhlIG5hbWUgb2YgdGhlIHNoZWxsIG9yIHNoZWxsIHNjcmlwdC4pMzEgRiAxLjY5MQogKFRoaXMgaXMgc2V0IGF0IHNoZWxsIGluaXRpYWxpemF0aW9uLik2LjY5MiBGKElmKTYuNjkxIEUgRjEoYmFzaCk0LjE5MSBFCi1GMChpcyk0LjE5MSBFKGluKTE0NCAzMTIgUSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMy4wNzcoZHcpLjEgRyAuNTc3CitGMChpcyk0LjE5MSBFKGluKTE0NCA0OTQuNCBRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAzLjA3NyhkdykuMSBHIC41NzcKIChpdGggYSBcMjE0bGUgb2YgY29tbWFuZHMsKS0zLjA3NyBGIEYxKCQwKTMuMDc3IEUgRjAgLjU3OAogKGlzIHNldCB0byB0aGUgbmFtZSBvZiB0aGF0IFwyMTRsZS4pMy4wNzcgRihJZik1LjU3OCBFIEYxKGJhc2gpMy4wNzggRQogRjAgLjU3OChpcyBzdGFydGVkIHdpdGggdGhlKTMuMDc4IEYgRjE8YWQ2Mz4zLjA3OCBFIEYwIC4zNjkKLShvcHRpb24sIHRoZW4pMTQ0IDMyNCBSIEYxKCQwKTIuODY5IEUgRjAgLjM2OShpcyBzZXQgdG8gdGhlIFwyMTRyc3QgYXIpCi0yLjg2OSBGIC4zNjkoZ3VtZW50IGFmdGVyIHRoZSBzdHJpbmcgdG8gYmUgZSktLjE4IEYgLS4xNSh4ZSktLjE1IEcgLjM2OQotKGN1dGVkLCBpZiBvbmUgaXMgcHJlc2VudC4pLjE1IEYoT3RoZXIpNS4zNjggRSgtKS0uMiBFCi0od2lzZSwgaXQgaXMgc2V0IHRvIHRoZSBcMjE0bGUgbmFtZSB1c2VkIHRvIGluKTE0NCAzMzYgUSAtLjIodm8pLS40IEcKLS0uMShrZSkuMiBHIEYxKGJhc2gpMi42IEUgRjAgMi41KCxhKUMgMi41KHNnKS0yLjUgRyAtMi4xNSAtLjI1KGl2IGUpLTIuNQotSCAyLjUobmIpLjI1IEcgMi41KHlhKS0yLjUgRyAtLjE4KHJnKS0yLjUgRyh1bWVudCB6ZXJvLikuMTggRSBGMShfKTEwOAotMzQ4IFEgRjAgLjA1NChBdCBzaGVsbCBzdGFydHVwLCBzZXQgdG8gdGhlIGFic29sdXRlIHBhdGhuYW1lIHVzZWQgdG8gaW4pCi0zMSBGIC0uMih2byktLjQgRyAuMjU1IC0uMShrZSB0KS4yIEggLjA1NQotKGhlIHNoZWxsIG9yIHNoZWxsIHNjcmlwdCBiZWluZyBlKS4xIEYgLS4xNSh4ZSktLjE1IEcoY3V0ZWQpLjE1IEUgLjY5MgotKGFzIHBhc3NlZCBpbiB0aGUgZW4pMTQ0IDM2MCBSIC42OTIodmlyb25tZW50IG9yIGFyKS0uNCBGIC42OTEKLShndW1lbnQgbGlzdC4pLS4xOCBGKFN1YnNlcXVlbnRseSk1LjY5MSBFIDMuMTkxKCxlKS0uNjUgRyAuNjkxCi0oeHBhbmRzIHRvIHRoZSBsYXN0IGFyKS0zLjM0MSBGIC42OTEoZ3VtZW50IHRvIHRoZSktLjE4IEYocHJlKTE0NCAzNzIgUQotLjU3KHZpb3VzIGNvbW1hbmQsIGFmdGVyIGUpLS4yNSBGIDMuMDcoeHBhbnNpb24uIEFsc28pLS4xNSBGIC41NzEKLShzZXQgdG8gdGhlIGZ1bGwgcGF0aG5hbWUgdXNlZCB0byBpbikzLjA3MSBGIC0uMih2byktLjQgRyAuNzcxIC0uMShrZSBlKQotLjIgSCAuNTcxKGFjaCBjb21tYW5kKS4xIEYgLS4xNShleGUpMTQ0IDM4NCBTIDEuNgotKGN1dGVkIGFuZCBwbGFjZWQgaW4gdGhlIGVuKS4xNSBGIDEuNih2aXJvbm1lbnQgZSktLjQgRiAxLjYKKyhvcHRpb24sIHRoZW4pMTQ0IDUwNi40IFIgRjEoJDApMi44NjkgRSBGMCAuMzY5CisoaXMgc2V0IHRvIHRoZSBcMjE0cnN0IGFyKTIuODY5IEYgLjM2OShndW1lbnQgYWZ0ZXIgdGhlIHN0cmluZyB0byBiZSBlKQorLS4xOCBGIC0uMTUoeGUpLS4xNSBHIC4zNjkoY3V0ZWQsIGlmIG9uZSBpcyBwcmVzZW50LikuMTUgRihPdGhlcik1LjM2OCBFCisoLSktLjIgRSh3aXNlLCBpdCBpcyBzZXQgdG8gdGhlIFwyMTRsZSBuYW1lIHVzZWQgdG8gaW4pMTQ0IDUxOC40IFEgLS4yCisodm8pLS40IEcgLS4xKGtlKS4yIEcgRjEoYmFzaCkyLjYgRSBGMCAyLjUoLGEpQyAyLjUoc2cpLTIuNSBHIC0yLjE1IC0uMjUKKyhpdiBlKS0yLjUgSCAyLjUobmIpLjI1IEcgMi41KHlhKS0yLjUgRyAtLjE4KHJnKS0yLjUgRyh1bWVudCB6ZXJvLikuMTggRQorRjEoXykxMDggNTMwLjQgUSBGMCAuMDU0CisoQXQgc2hlbGwgc3RhcnR1cCwgc2V0IHRvIHRoZSBhYnNvbHV0ZSBwYXRobmFtZSB1c2VkIHRvIGluKTMxIEYgLS4yKHZvKQorLS40IEcgLjI1NSAtLjEoa2UgdCkuMiBIIC4wNTUoaGUgc2hlbGwgb3Igc2hlbGwgc2NyaXB0IGJlaW5nIGUpLjEgRiAtLjE1CisoeGUpLS4xNSBHKGN1dGVkKS4xNSBFIC42OTIoYXMgcGFzc2VkIGluIHRoZSBlbikxNDQgNTQyLjQgUiAuNjkyCisodmlyb25tZW50IG9yIGFyKS0uNCBGIC42OTEoZ3VtZW50IGxpc3QuKS0uMTggRihTdWJzZXF1ZW50bHkpNS42OTEgRQorMy4xOTEoLGUpLS42NSBHIC42OTEoeHBhbmRzIHRvIHRoZSBsYXN0IGFyKS0zLjM0MSBGIC42OTEoZ3VtZW50IHRvIHRoZSkKKy0uMTggRihwcmUpMTQ0IDU1NC40IFEgLjU3KHZpb3VzIGNvbW1hbmQsIGFmdGVyIGUpLS4yNSBGIDMuMDcKKyh4cGFuc2lvbi4gQWxzbyktLjE1IEYgLjU3MShzZXQgdG8gdGhlIGZ1bGwgcGF0aG5hbWUgdXNlZCB0byBpbikzLjA3MSBGCistLjIodm8pLS40IEcgLjc3MSAtLjEoa2UgZSkuMiBIIC41NzEoYWNoIGNvbW1hbmQpLjEgRiAtLjE1KGV4ZSkxNDQgNTY2LjQKK1MgMS42KGN1dGVkIGFuZCBwbGFjZWQgaW4gdGhlIGVuKS4xNSBGIDEuNih2aXJvbm1lbnQgZSktLjQgRiAxLjYKICh4cG9ydGVkIHRvIHRoYXQgY29tbWFuZC4pLS4xNSBGIDEuNihXaGVuIGNoZWNraW5nIG1haWwsIHRoaXMpNi42IEYKIChwYXJhbWV0ZXIgaG9sZHMgdGhlIG5hbWUgb2YgdGhlIG1haWwgXDIxNGxlIGN1cnJlbnRseSBiZWluZyBjaGVjaykxNDQKLTM5NiBRKGVkLiktLjEgRSBGMShTaGVsbCBWKTg3IDQxMi44IFEoYXJpYWJsZXMpLS45MiBFIEYwKFRoZSBmb2xsbykxMDgKLTQyNC44IFEod2luZyB2KS0uMjUgRShhcmlhYmxlcyBhcmUgc2V0IGJ5IHRoZSBzaGVsbDopLS4yNSBFIEYxIC0uMyhCQSkKLTEwOCA0NDEuNiBTKFNIKS4zIEUgRjAoRXhwYW5kcyB0byB0aGUgZnVsbCBcMjE0bGUgbmFtZSB1c2VkIHRvIGluKTkuMDcgRQorNTc4LjQgUShlZC4pLS4xIEUgRjEoU2hlbGwgVik4NyA1OTUuMiBRKGFyaWFibGVzKS0uOTIgRSBGMChUaGUgZm9sbG8pMTA4Cis2MDcuMiBRKHdpbmcgdiktLjI1IEUoYXJpYWJsZXMgYXJlIHNldCBieSB0aGUgc2hlbGw6KS0uMjUgRSBGMSAtLjMoQkEpCisxMDggNjI0IFMoU0gpLjMgRSBGMChFeHBhbmRzIHRvIHRoZSBmdWxsIFwyMTRsZSBuYW1lIHVzZWQgdG8gaW4pOS4wNyBFCiAtLjIodm8pLS40IEcgLjIgLS4xKGtlIHQpLjIgSChoaXMgaW5zdGFuY2Ugb2YpLjEgRSBGMShiYXNoKTIuNSBFIEYwKC4pQQotRjEgLS4zKEJBKTEwOCA0NTMuNiBTKFNIT1BUUykuMyBFIEYwIDIuNTQ4KEFjKTE0NCA0NjUuNiBTIC4wNDkKK0YxIC0uMyhCQSkxMDggNjM2IFMoU0hPUFRTKS4zIEUgRjAgMi41NDgoQWMpMTQ0IDY0OCBTIC4wNDkKIChvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGVuYWJsZWQgc2hlbGwgb3B0aW9ucy4pLTIuNTQ4IEYgLjA0OShFYWNoIHcpCiA1LjA0OSBGIC4wNDkob3JkIGluIHRoZSBsaXN0IGlzIGEgdiktLjEgRiAuMDQ5KGFsaWQgYXIpLS4yNSBGIC4wNDkKLShndW1lbnQgZm9yIHRoZSktLjE4IEYgRjE8YWQ3Mz4yLjU0OSBFIEYwIDEuMzk4KG9wdGlvbiB0byB0aGUpMTQ0IDQ3Ny42Ci1SIEYxKHNob3B0KTMuODk4IEUgRjAgLS4yKGJ1KTMuODk4IEcgMS4zOTgoaWx0aW4gY29tbWFuZCBcKHNlZSkuMiBGIEYyCisoZ3VtZW50IGZvciB0aGUpLS4xOCBGIEYxPGFkNzM+Mi41NDkgRSBGMCAxLjM5OChvcHRpb24gdG8gdGhlKTE0NCA2NjAgUgorRjEoc2hvcHQpMy44OTggRSBGMCAtLjIoYnUpMy44OTggRyAxLjM5OChpbHRpbiBjb21tYW5kIFwoc2VlKS4yIEYgRjMKIDEuMzk4KFNIRUxMIEIpMy44OTggRihVSUwpLS4wOSBFIDEuMzk4KFRJTiBDT01NQU5EUyktLjgyOCBGIEYwKGJlbG8pCi0zLjY0OCBFIDMuODk4KHdcKS4gVGhlKS0uMjUgRihvcHRpb25zKTMuODk4IEUgLjQ3NihhcHBlYXJpbmcgaW4pMTQ0Ci00ODkuNiBSIEYyIC0uMjcoQkEpMi45NzYgRyhTSE9QVFMpLjI3IEUgRjAgLjQ3NihhcmUgdGhvc2UgcmVwb3J0ZWQgYXMpCi0yLjcyNiBGIEYzKG9uKTMuMjA2IEUgRjAoYnkpMy4yMTcgRSBGMShzaG9wdCkyLjk3NyBFIEYwIDUuNDc3KC5JKUMgMi45NzcKLShmdCktNS40NzcgRyAuNDc3KGhpcyB2KS0yLjk3NyBGIC40NzcoYXJpYWJsZSBpcyBpbiB0aGUgZW4pLS4yNSBGCi0odmlyb25tZW50KS0uNCBFKHdoZW4pMTQ0IDUwMS42IFEgRjEoYmFzaCkzLjE0MiBFIEYwIC42NDIoc3RhcnRzIHVwLCBlYVwKLWNoIHNoZWxsIG9wdGlvbiBpbiB0aGUgbGlzdCB3aWxsIGJlIGVuYWJsZWQgYmVmb3JlIHJlYWRpbmcgYW4pMy4xNDIgRgotMy4xNDEoeXMpLS4xNSBHIC42NDEodGFydHVwIFwyMTRsZXMuKS0zLjE0MSBGKFRoaXMgdikxNDQgNTEzLjYgUQotKGFyaWFibGUgaXMgcmVhZC1vbmx5KS0uMjUgRSguKS0uNjUgRSBGMSAtLjMoQkEpMTA4IDUyNS42IFMoU0hQSUQpLjMgRQotRjAgLjM2KEV4cGFuZHMgdG8gdGhlIHByb2Nlc3MgaWQgb2YgdGhlIGN1cnJlbnQpMTQ0IDUzNy42IFIgRjEoYmFzaCkKLTIuODYxIEUgRjAgMi44NjEocHJvY2Vzcy4gVGhpcykyLjg2MSBGKGRpZikyLjg2MSBFIC4zNjEoZmVycyBmcm9tKS0uMjUgRgotRjEoJCQpMi44NjEgRSBGMCAuMzYxKHVuZGVyIGNlcnRhaW4gY2lyY3VtLSkyLjg2MSBGCi0oc3RhbmNlcywgc3VjaCBhcyBzdWJzaGVsbHMgdGhhdCBkbyBub3QgcmVxdWlyZSkxNDQgNTQ5LjYgUSBGMShiYXNoKTIuNQotRSBGMCh0byBiZSByZS1pbml0aWFsaXplZC4pMi41IEUgRjEgLS4zKEJBKTEwOCA1NjEuNiBTKFNIX0FMSUFTRVMpLjMgRQotRjAgMS4xOTUoQW4gYXNzb2NpYXRpKTE0NCA1NzMuNiBSIDEuNDk1IC0uMTUodmUgYSktLjI1IEggMS4xOTUocnJheSB2KQotLjE1IEYgMS4xOTUoYXJpYWJsZSB3aG9zZSBtZW1iZXJzIGNvcnJlc3BvbmQgdG8gdGhlIGludGVybmFsIGxpc3Qgb2YgYWxcCi1pYXNlcyBhcyBtYWluLSktLjI1IEYgLjMxOCh0YWluZWQgYnkgdGhlKTE0NCA1ODUuNiBSIEYxKGFsaWFzKTIuODE4IEUgRjAKLS0uMihidSkyLjgxOCBHIC4zMTgoaWx0aW4gRWxlbWVudHMgYWRkZWQgdG8gdGhpcyBhcnJheSBhcHBlYXIgaW4gdGhlIGFsXAotaWFzIGxpc3Q7IHVuc2V0dGluZyBhcnJheSBlbGUtKS4yIEYobWVudHMgY2F1c2UgYWxpYXNlcyB0byBiZSByZW1vKTE0NAotNTk3LjYgUSAtLjE1KHZlKS0uMTUgRyAyLjUoZGYpLjE1IEcocm9tIHRoZSBhbGlhcyBsaXN0LiktMi41IEUgRjEgLS4zCi0oQkEpMTA4IDYwOS42IFMoU0hfQVJHQykuMyBFIEYwIC45MzUoQW4gYXJyYXkgdikxNDQgNjIxLjYgUiAuOTM1Ci0oYXJpYWJsZSB3aG9zZSB2KS0uMjUgRiAuOTM0Ci0oYWx1ZXMgYXJlIHRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyBpbiBlYWNoIGZyYW1lIG9mIHRoZSBjdXJyZW50KS0uMjUgRgotRjEoYmFzaCkzLjQzNCBFIEYwIC0uMTUoZXhlKTE0NCA2MzMuNiBTIC41MzUoY3V0aW9uIGNhbGwgc3RhY2suKS4xNSBGCi0uNTM1KFRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyB0byB0aGUgY3VycmVudCBzdWJyb3V0aW5lIFwoc2hlbGwgZnVuY3Rpb1wKLW4gb3Igc2NyaXB0KTUuNTM1IEYgLS4xNShleGUpMTQ0IDY0NS42IFMgLjE0MihjdXRlZCB3aXRoKS4xNSBGIEYxKC4pCi0yLjY0MiBFIEYwKG9yKTIuNjQyIEUgRjEoc291cikyLjY0MiBFKGNlKS0uMTggRSBGMCAyLjY0MihcKWkpQyAyLjY0MihzYSkKLS0yLjY0MiBHIDIuNjQyKHR0KS0yLjY0MiBHIC4xNDIoaGUgdG9wIG9mIHRoZSBzdGFjay4pLTIuNjQyIEYgLjE0MQotKFdoZW4gYSBzdWJyb3V0aW5lIGlzIGUpNS4xNDEgRiAtLjE1KHhlKS0uMTUgRyAuMTQxCi0oY3V0ZWQsIHRoZSBudW1iZXIgb2YpLjE1IEYgMi42MyhwYXJhbWV0ZXJzIHBhc3NlZCBpcyBwdXNoZWQgb250bykxNDQKLTY1Ny42IFIgRjIgLS4yNyhCQSk1LjEzIEcoU0hfQVJHQykuMjcgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwCi0yLjYzKFRoZSBzaGVsbCBzZXRzKTcuMTMgRiBGMiAtLjI3KEJBKTUuMTMxIEcoU0hfQVJHQykuMjcgRSBGMCAyLjYzMQotKG9ubHkgd2hlbiBpbik0Ljg4MSBGIC0uMTUoZXgpMTQ0IDY2OS42IFModGVuZGVkIGRlYikuMTUgRQotKHVnZ2luZyBtb2RlIFwoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpLS4yIEUgRjEoZXh0ZGViKTIuNSBFKHVnKS0uMiBFCi1GMChvcHRpb24gdG8gdGhlKTIuNSBFIEYxKHNob3B0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBiZWxvKS4yIEUKLSh3XCkpLS4yNSBFIEYxIC0uMyhCQSkxMDggNjgxLjYgUyhTSF9BUkdWKS4zIEUgRjAgLjk4KEFuIGFycmF5IHYpMTQ0Ci02OTMuNiBSIC45NzkoYXJpYWJsZSBjb250YWluaW5nIGFsbCBvZiB0aGUgcGFyYW1ldGVycyBpbiB0aGUgY3VycmVudCkKLS0uMjUgRiBGMShiYXNoKTMuNDc5IEUgRjAgLS4xNShleGUpMy40NzkgRyAuOTc5KGN1dGlvbiBjYWxsIHN0YWNrLikuMTUgRgotKFRoZSk1Ljk3OSBFIC4yNzUoXDIxNG5hbCBwYXJhbWV0ZXIgb2YgdGhlIGxhc3Qgc3Vicm91dGluZSBjYWxsIGlzIGF0IHRcCi1oZSB0b3Agb2YgdGhlIHN0YWNrOyB0aGUgXDIxNHJzdCBwYXJhbWV0ZXIgb2YgdGhlIGluaXRpYWwpMTQ0IDcwNS42IFIKLTEuNDI0KGNhbGwgaXMgYXQgdGhlIGJvdHRvbS4pMTQ0IDcxNy42IFIgMS40MjQoV2hlbiBhIHN1YnJvdXRpbmUgaXMgZSkKLTYuNDI0IEYgLS4xNSh4ZSktLjE1IEcgMS40MjQKLShjdXRlZCwgdGhlIHBhcmFtZXRlcnMgc3VwcGxpZWQgYXJlIHB1c2hlZCBvbnRvKS4xNSBGIEYyIC0uMjcoQkEpMTQ0Ci03MjkuNiBTKFNIX0FSR1YpLjI3IEUgRjQoLilBIEYwIDIuMTk3KFRoZSBzaGVsbCBzZXRzKTYuNjk3IEYgRjIgLS4yNyhCQSkKLTQuNjk3IEcoU0hfQVJHVikuMjcgRSBGMCAyLjE5Nyhvbmx5IHdoZW4gaW4gZSk0LjQ0NyBGIDIuMTk3KHh0ZW5kZWQgZGViKQotLS4xNSBGIDIuMTk3KHVnZ2luZyBtb2RlIFwoc2VlIHRoZSktLjIgRihHTlUgQmFzaC00LjEpNzIgNzY4IFEKLSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg5KTE5MC45NTUgRSAwIENnIEVQCiszLjY0OCBFIDMuODk4KHdcKS4gVGhlKS0uMjUgRihvcHRpb25zKTMuODk4IEUgLjQ3NihhcHBlYXJpbmcgaW4pMTQ0IDY3MgorUiBGMyAtLjI3KEJBKTIuOTc2IEcoU0hPUFRTKS4yNyBFIEYwIC40NzYoYXJlIHRob3NlIHJlcG9ydGVkIGFzKTIuNzI2IEYKK0YyKG9uKTMuMjA2IEUgRjAoYnkpMy4yMTcgRSBGMShzaG9wdCkyLjk3NyBFIEYwIDUuNDc3KC5JKUMgMi45NzcoZnQpCistNS40NzcgRyAuNDc3KGhpcyB2KS0yLjk3NyBGIC40NzcoYXJpYWJsZSBpcyBpbiB0aGUgZW4pLS4yNSBGKHZpcm9ubWVudCkKKy0uNCBFKHdoZW4pMTQ0IDY4NCBRIEYxKGJhc2gpMy4xNDIgRSBGMCAuNjQyKHN0YXJ0cyB1cCwgZWFjaCBzaGVsbCBvcHRpXAorb24gaW4gdGhlIGxpc3Qgd2lsbCBiZSBlbmFibGVkIGJlZm9yZSByZWFkaW5nIGFuKTMuMTQyIEYgMy4xNDEoeXMpLS4xNSBHCisuNjQxKHRhcnR1cCBcMjE0bGVzLiktMy4xNDEgRihUaGlzIHYpMTQ0IDY5NiBRKGFyaWFibGUgaXMgcmVhZC1vbmx5KS0uMjUKK0UoLiktLjY1IEUoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDkpMTkwLjk1NSBFCiswIENnIEVQCiAlJVBhZ2U6IDEwIDEwCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFKGRlc2NyaXB0aW9uIG9mIHRoZSkxNDQgODQgUS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoZXh0ZGViKTIuNSBFCi0odWcpLS4yIEUgRjAob3B0aW9uIHRvIHRoZSkyLjUgRSBGMShzaG9wdCkyLjUgRSBGMCAtLjIoYnUpMi41IEcKLShpbHRpbiBiZWxvKS4yIEUod1wpKS0uMjUgRSBGMSAtLjMoQkEpMTA4IDk2IFMoU0hfQ01EUykuMyBFIEYwIC42NjgKLShBbiBhc3NvY2lhdGkpMTQ0IDEwOCBSIC45NjggLS4xNSh2ZSBhKS0uMjUgSCAuNjY4KHJyYXkgdikuMTUgRiAuNjY4KGFyXAotaWFibGUgd2hvc2UgbWVtYmVycyBjb3JyZXNwb25kIHRvIHRoZSBpbnRlcm5hbCBoYXNoIHRhYmxlIG9mIGNvbW1hbmRzKQotLS4yNSBGIC4xNDYoYXMgbWFpbnRhaW5lZCBieSB0aGUpMTQ0IDEyMCBSIEYxKGhhc2gpMi42NDYgRSBGMCAtLjIoYnUpCi0yLjY0NiBHIDIuNjQ2KGlsdGluLiBFbGVtZW50cykuMiBGIC4xNDYKLShhZGRlZCB0byB0aGlzIGFycmF5IGFwcGVhciBpbiB0aGUgaGFzaCB0YWJsZTsgdW5zZXR0aW5nKTIuNjQ2IEYKLShhcnJheSBlbGVtZW50cyBjYXVzZSBjb21tYW5kcyB0byBiZSByZW1vKTE0NCAxMzIgUSAtLjE1KHZlKS0uMTUgRyAyLjUKLShkZikuMTUgRyhyb20gdGhlIGhhc2ggdGFibGUuKS0yLjUgRSBGMSAtLjMoQkEpMTA4IDE0NCBTKFNIX0NPTU1BTkQpLjMgRQotRjAgMS4yNDMoVGhlIGNvbW1hbmQgY3VycmVudGx5IGJlaW5nIGUpMTQ0IDE1NiBSIC0uMTUoeGUpLS4xNSBHIDEuMjQzCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGIC0uMyhCQSkxMDggODQgUyhTSFBJRCkuMyBFIEYwIC4xODcKKyhFeHBhbmRzIHRvIHRoZSBwcm9jZXNzIElEIG9mIHRoZSBjdXJyZW50KTE0NCA5NiBSIEYxKGJhc2gpMi42ODcgRSBGMAorMi42ODgocHJvY2Vzcy4gVGhpcykyLjY4OCBGKGRpZikyLjY4OCBFIC4xODgoZmVycyBmcm9tKS0uMjUgRiBGMSgkJCkKKzIuNjg4IEUgRjAgLjE4OCh1bmRlciBjZXJ0YWluIGNpcmN1bS0pMi42ODggRgorKHN0YW5jZXMsIHN1Y2ggYXMgc3Vic2hlbGxzIHRoYXQgZG8gbm90IHJlcXVpcmUpMTQ0IDEwOCBRIEYxKGJhc2gpMi41IEUKK0YwKHRvIGJlIHJlLWluaXRpYWxpemVkLikyLjUgRSBGMSAtLjMoQkEpMTA4IDEyMCBTKFNIX0FMSUFTRVMpLjMgRSBGMAorMS4xOTUoQW4gYXNzb2NpYXRpKTE0NCAxMzIgUiAxLjQ5NSAtLjE1KHZlIGEpLS4yNSBIIDEuMTk1KHJyYXkgdikuMTUgRgorMS4xOTUoYXJpYWJsZSB3aG9zZSBtZW1iZXJzIGNvcnJlc3BvbmQgdG8gdGhlIGludGVybmFsIGxpc3Qgb2YgYWxpYXNlcyBcCithcyBtYWluLSktLjI1IEYgLjAyNCh0YWluZWQgYnkgdGhlKTE0NCAxNDQgUiBGMShhbGlhcykyLjUyNCBFIEYwIC0uMihidSkKKzIuNTI0IEcgMi41MjQoaWx0aW4uIEVsZW1lbnRzKS4yIEYgLjAyNAorKGFkZGVkIHRvIHRoaXMgYXJyYXkgYXBwZWFyIGluIHRoZSBhbGlhcyBsaXN0OyB1bnNldHRpbmcgYXJyYXkgZWxlLSkKKzIuNTI0IEYobWVudHMgY2F1c2UgYWxpYXNlcyB0byBiZSByZW1vKTE0NCAxNTYgUSAtLjE1KHZlKS0uMTUgRyAyLjUoZGYpCisuMTUgRyhyb20gdGhlIGFsaWFzIGxpc3QuKS0yLjUgRSBGMSAtLjMoQkEpMTA4IDE2OCBTKFNIX0FSR0MpLjMgRSBGMAorLjkzNShBbiBhcnJheSB2KTE0NCAxODAgUiAuOTM1KGFyaWFibGUgd2hvc2UgdiktLjI1IEYgLjkzNAorKGFsdWVzIGFyZSB0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgaW4gZWFjaCBmcmFtZSBvZiB0aGUgY3VycmVudCktLjI1IEYKK0YxKGJhc2gpMy40MzQgRSBGMCAtLjE1KGV4ZSkxNDQgMTkyIFMgLjUzNShjdXRpb24gY2FsbCBzdGFjay4pLjE1IEYgLjUzNQorKFRoZSBudW1iZXIgb2YgcGFyYW1ldGVycyB0byB0aGUgY3VycmVudCBzdWJyb3V0aW5lIFwoc2hlbGwgZnVuY3Rpb24gb3JcCisgc2NyaXB0KTUuNTM1IEYgLS4xNShleGUpMTQ0IDIwNCBTIC4xNDIoY3V0ZWQgd2l0aCkuMTUgRiBGMSguKTIuNjQyIEUgRjAKKyhvcikyLjY0MiBFIEYxKHNvdXIpMi42NDIgRShjZSktLjE4IEUgRjAgMi42NDIoXClpKUMgMi42NDIoc2EpLTIuNjQyIEcKKzIuNjQyKHR0KS0yLjY0MiBHIC4xNDIoaGUgdG9wIG9mIHRoZSBzdGFjay4pLTIuNjQyIEYgLjE0MQorKFdoZW4gYSBzdWJyb3V0aW5lIGlzIGUpNS4xNDEgRiAtLjE1KHhlKS0uMTUgRyAuMTQxCisoY3V0ZWQsIHRoZSBudW1iZXIgb2YpLjE1IEYgMi42MyhwYXJhbWV0ZXJzIHBhc3NlZCBpcyBwdXNoZWQgb250bykxNDQKKzIxNiBSL0YyIDkvVGltZXMtQm9sZEAwIFNGIC0uMjcoQkEpNS4xMyBHKFNIX0FSR0MpLjI3IEUvRjMgOQorL1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIDIuNjMoVGhlIHNoZWxsIHNldHMpNy4xMyBGIEYyIC0uMjcoQkEpNS4xMzEgRworKFNIX0FSR0MpLjI3IEUgRjAgMi42MzEob25seSB3aGVuIGluKTQuODgxIEYgLS4xNShleCkxNDQgMjI4IFMKKyh0ZW5kZWQgZGViKS4xNSBFKHVnZ2luZyBtb2RlIFwoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpLS4yIEUgRjEKKyhleHRkZWIpMi41IEUodWcpLS4yIEUgRjAob3B0aW9uIHRvIHRoZSkyLjUgRSBGMShzaG9wdCkyLjUgRSBGMCAtLjIoYnUpCisyLjUgRyhpbHRpbiBiZWxvKS4yIEUod1wpKS0uMjUgRSBGMSAtLjMoQkEpMTA4IDI0MCBTKFNIX0FSR1YpLjMgRSBGMCAuOTgKKyhBbiBhcnJheSB2KTE0NCAyNTIgUiAuOTc5CisoYXJpYWJsZSBjb250YWluaW5nIGFsbCBvZiB0aGUgcGFyYW1ldGVycyBpbiB0aGUgY3VycmVudCktLjI1IEYgRjEoYmFzaCkKKzMuNDc5IEUgRjAgLS4xNShleGUpMy40NzkgRyAuOTc5KGN1dGlvbiBjYWxsIHN0YWNrLikuMTUgRihUaGUpNS45NzkgRQorLjI3NShcMjE0bmFsIHBhcmFtZXRlciBvZiB0aGUgbGFzdCBzdWJyb3V0aW5lIGNhbGwgaXMgYXQgdGhlIHRvcCBvZiB0aGVcCisgc3RhY2s7IHRoZSBcMjE0cnN0IHBhcmFtZXRlciBvZiB0aGUgaW5pdGlhbCkxNDQgMjY0IFIgMS40MjQKKyhjYWxsIGlzIGF0IHRoZSBib3R0b20uKTE0NCAyNzYgUiAxLjQyNChXaGVuIGEgc3Vicm91dGluZSBpcyBlKTYuNDI0IEYKKy0uMTUoeGUpLS4xNSBHIDEuNDI0KGN1dGVkLCB0aGUgcGFyYW1ldGVycyBzdXBwbGllZCBhcmUgcHVzaGVkIG9udG8pLjE1CitGIEYyIC0uMjcoQkEpMTQ0IDI4OCBTKFNIX0FSR1YpLjI3IEUgRjMoLilBIEYwIDIuMTk3KFRoZSBzaGVsbCBzZXRzKQorNi42OTcgRiBGMiAtLjI3KEJBKTQuNjk3IEcoU0hfQVJHVikuMjcgRSBGMCAyLjE5Nyhvbmx5IHdoZW4gaW4gZSk0LjQ0NyBGCisyLjE5Nyh4dGVuZGVkIGRlYiktLjE1IEYgMi4xOTcodWdnaW5nIG1vZGUgXChzZWUgdGhlKS0uMiBGCisoZGVzY3JpcHRpb24gb2YgdGhlKTE0NCAzMDAgUSBGMShleHRkZWIpMi41IEUodWcpLS4yIEUgRjAob3B0aW9uIHRvIHRoZSkKKzIuNSBFIEYxKHNob3B0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBiZWxvKS4yIEUod1wpKS0uMjUgRSBGMSAtLjMKKyhCQSkxMDggMzEyIFMoU0hfQ01EUykuMyBFIEYwIC42NjgoQW4gYXNzb2NpYXRpKTE0NCAzMjQgUiAuOTY4IC0uMTUKKyh2ZSBhKS0uMjUgSCAuNjY4KHJyYXkgdikuMTUgRiAuNjY4KGFyaWFibGUgd2hvc2UgbWVtYmVycyBjb3JyZXNwb25kIHRvXAorIHRoZSBpbnRlcm5hbCBoYXNoIHRhYmxlIG9mIGNvbW1hbmRzKS0uMjUgRiAuMTQ2KGFzIG1haW50YWluZWQgYnkgdGhlKQorMTQ0IDMzNiBSIEYxKGhhc2gpMi42NDYgRSBGMCAtLjIoYnUpMi42NDYgRyAyLjY0NihpbHRpbi4gRWxlbWVudHMpLjIgRgorLjE0NihhZGRlZCB0byB0aGlzIGFycmF5IGFwcGVhciBpbiB0aGUgaGFzaCB0YWJsZTsgdW5zZXR0aW5nKTIuNjQ2IEYKKyhhcnJheSBlbGVtZW50cyBjYXVzZSBjb21tYW5kcyB0byBiZSByZW1vKTE0NCAzNDggUSAtLjE1KHZlKS0uMTUgRyAyLjUKKyhkZikuMTUgRyhyb20gdGhlIGhhc2ggdGFibGUuKS0yLjUgRSBGMSAtLjMoQkEpMTA4IDM2MCBTKFNIX0NPTU1BTkQpLjMgRQorRjAgMS4yNDMoVGhlIGNvbW1hbmQgY3VycmVudGx5IGJlaW5nIGUpMTQ0IDM3MiBSIC0uMTUoeGUpLS4xNSBHIDEuMjQzCiAoY3V0ZWQgb3IgYWJvdXQgdG8gYmUgZSkuMTUgRiAtLjE1KHhlKS0uMTUgRyAxLjI0MgogKGN1dGVkLCB1bmxlc3MgdGhlIHNoZWxsIGlzIGUpLjE1IEYgLS4xNSh4ZSktLjE1IEcgMS4yNDIoY3V0aW5nIGEpLjE1IEYKIChjb21tYW5kIGFzIHRoZSByZXN1bHQgb2YgYSB0cmFwLCBpbiB3aGljaCBjYXNlIGl0IGlzIHRoZSBjb21tYW5kIGUpMTQ0Ci0xNjggUSAtLjE1KHhlKS0uMTUgRyhjdXRpbmcgYXQgdGhlIHRpbWUgb2YgdGhlIHRyYXAuKS4xNSBFIEYxIC0uMyhCQSkxMDgKLTE4MCBTKFNIX0VYRUNVVElPTl9TVFJJTkcpLjMgRSBGMChUaGUgY29tbWFuZCBhcikxNDQgMTkyIFEKKzM4NCBRIC0uMTUoeGUpLS4xNSBHKGN1dGluZyBhdCB0aGUgdGltZSBvZiB0aGUgdHJhcC4pLjE1IEUgRjEgLS4zKEJBKTEwOAorMzk2IFMoU0hfRVhFQ1VUSU9OX1NUUklORykuMyBFIEYwKFRoZSBjb21tYW5kIGFyKTE0NCA0MDggUQogKGd1bWVudCB0byB0aGUpLS4xOCBFIEYxPGFkNjM+Mi41IEUgRjAoaW4pMi41IEUgLS4yKHZvKS0uNCBHCi0oY2F0aW9uIG9wdGlvbi4pLjIgRSBGMSAtLjMoQkEpMTA4IDIwNCBTKFNIX0xJTkVOTykuMyBFIEYwIC4wMzQKLShBbiBhcnJheSB2KTE0NCAyMTYgUiAuMDM0KGFyaWFibGUgd2hvc2UgbWVtYmVycyBhcmUgdGhlIGxpbmUgbnVtYmVycyBpXAotbiBzb3VyY2UgXDIxNGxlcyBjb3JyZXNwb25kaW5nIHRvIGVhY2ggbWVtLSktLjI1IEYgMy40OTEoYmVyIG9mKTE0NCAyMjgKLVIvRjIgOS9UaW1lcy1Cb2xkQDAgU0YoRlVOQ04pNS45OTEgRShBTUUpLS4xOCBFL0YzIDkvVGltZXMtUm9tYW5AMCBTRiguKQotQSBGMSgke0IpNy45OTEgRShBU0hfTElORU5PWyktLjMgRS9GNCAxMC9UaW1lcy1JdGFsaWNAMCBTRigkaSlBIEYxKF19KUEKLUYwIDMuNDkxKGlzIHRoZSBsaW5lIG51bWJlciBpbiB0aGUgc291cmNlIFwyMTRsZSB3aGVyZSk1Ljk5MSBGIEYxCi0oJHtGVU5DTikxNDQgMjQwIFEoQU1FWyktLjIgRSBGNCgkaSlBIEYxKF19KUEgRjAgLS4xKHdhKTMuMzExIEcgMy4zMTEKLShzYykuMSBHIC44MTEoYWxsZWQgXChvciktMy4zMTEgRiBGMSgke0IpMy4zMTEgRShBU0hfTElORU5PWyktLjMgRSBGNAotKCRpLTEpQSBGMShdfSlBIEYwIC44MTEoaWYgcmVmZXJlbmNlZCB3aXRoaW4gYW5vdGhlciBzaGVsbCkzLjMxMSBGIDQuOTg3Ci0oZnVuY3Rpb25cKS4gVGhlKTE0NCAyNTIgUiAyLjQ4Nyhjb3JyZXNwb25kaW5nIHNvdXJjZSBcMjE0bGUgbmFtZSBpcykKLTQuOTg3IEYgRjEoJHtCKTQuOTg2IEUoQVNIX1NPVVJDRVspLS4zIEUgRjQoJGkpQSBGMShdfSlBIEYwIDcuNDg2KC5VKUMKLShzZSktNy40ODYgRSBGMihMSU5FTk8pNC45ODYgRSBGMCh0byk0LjczNiBFCi0ob2J0YWluIHRoZSBjdXJyZW50IGxpbmUgbnVtYmVyKTE0NCAyNjQgUSguKS0uNTUgRSBGMSAtLjMoQkEpMTA4IDI3NiBTCi0oU0hfUkVNQSkuMyBFKFRDSCktLjk1IEUgRjAgLjAwNShBbiBhcnJheSB2KTE0NCAyODggUiAuMDA1Ci0oYXJpYWJsZSB3aG9zZSBtZW1iZXJzIGFyZSBhc3NpZ25lZCBieSB0aGUpLS4yNSBGIEYxKD1+KTIuNTA2IEUgRjAgLjAwNgotKGJpbmFyeSBvcGVyYXRvciB0byB0aGUpMi41MDYgRiBGMShbWykyLjUwNiBFIEYwIC4wMDYoY29uZGl0aW9uYWwgY29tLSkKLTIuNTA2IEYgMi41MDcobWFuZC4gVGhlKTE0NCAzMDAgUiAuMDA3KGVsZW1lbnQgd2l0aCBpbmRlKTIuNTA3IEYgMi41MDcKLSh4MGkpLS4xNSBHIDIuNTA3KHN0KS0yLjUwNyBHIC4wMDcKKyhjYXRpb24gb3B0aW9uLikuMiBFIEYxIC0uMyhCQSkxMDggNDIwIFMoU0hfTElORU5PKS4zIEUgRjAgLjY5MgorKEFuIGFycmF5IHYpMTQ0IDQzMiBSIC42OTIoYXJpYWJsZSB3aG9zZSBtZW1iZXJzIGFyZSB0aGUgbGluZSBudW1iZXJzIGlcCituIHNvdXJjZSBcMjE0bGVzIHdoZXJlIGVhY2ggY29ycmVzcG9uZGluZyktLjI1IEYgLjk3KG1lbWJlciBvZikxNDQgNDQ0IFIKK0YyKEZVTkNOKTMuNDcgRShBTUUpLS4xOCBFIEYwIC0uMSh3YSkzLjIyIEcgMy40NyhzaSkuMSBHIC0xLjkgLS40KG52IG8pCistMy40NyBIIC0uMShrZSkuNCBHKGQuKS4xIEUgRjEoJHtCKTUuOTY5IEUoQVNIX0xJTkVOT1spLS4zIEUvRjQgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRigkaSlBIEYxKF19KUEgRjAgLjk2OQorKGlzIHRoZSBsaW5lIG51bWJlciBpbiB0aGUgc291cmNlKTMuNDY5IEYgMTQuNjcxKFwyMTRsZSBcKCkxNDQgNDU2IFIgRjEKKygke0IpQShBU0hfU09VUkNFWyktLjMgRSBGNCgkaSsxKUEgRjEoXX0pQSBGMCAxNy4xNzEoXCl3KUMoaGVyZSktMTcuMTcxCitFIEYxKCR7RlVOQ04pMTcuMTcyIEUoQU1FWyktLjIgRSBGNCgkaSlBIEYxKF19KUEgRjAgLS4xKHdhKTE3LjE3MiBHCisxNy4xNzIoc2MpLjEgRyAxNC42NzIoYWxsZWQgXChvciktMTcuMTcyIEYgRjEoJHtCKTE0NCA0NjggUShBU0hfTElORU5PWykKKy0uMyBFIEY0KCRpLTEpQSBGMShdfSlBIEYwIC4xMTUKKyhpZiByZWZlcmVuY2VkIHdpdGhpbiBhbm90aGVyIHNoZWxsIGZ1bmN0aW9uXCkuKTIuNjE1IEYoVXNlKTUuMTE1IEUgRjIKKyhMSU5FTk8pMi42MTUgRSBGMCAuMTE1KHRvIG9idGFpbiB0aGUpMi4zNjUgRihjdXJyZW50IGxpbmUgbnVtYmVyKTE0NAorNDgwIFEoLiktLjU1IEUgRjEgLS4zKEJBKTEwOCA0OTIgUyhTSF9SRU1BKS4zIEUoVENIKS0uOTUgRSBGMCAuMDA1CisoQW4gYXJyYXkgdikxNDQgNTA0IFIgLjAwNShhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIGFzc2lnbmVkIGJ5IHRoZSkKKy0uMjUgRiBGMSg9fikyLjUwNiBFIEYwIC4wMDYoYmluYXJ5IG9wZXJhdG9yIHRvIHRoZSkyLjUwNiBGIEYxKFtbKTIuNTA2CitFIEYwIC4wMDYoY29uZGl0aW9uYWwgY29tLSkyLjUwNiBGIDIuNTA3KG1hbmQuIFRoZSkxNDQgNTE2IFIgLjAwNworKGVsZW1lbnQgd2l0aCBpbmRlKTIuNTA3IEYgMi41MDcoeDBpKS0uMTUgRyAyLjUwNyhzdCktMi41MDcgRyAuMDA3CiAoaGUgcG9ydGlvbiBvZiB0aGUgc3RyaW5nIG1hdGNoaW5nIHRoZSBlbnRpcmUgcmUpLTIuNTA3IEYgLjAwNihndWxhciBlKQotLS4xNSBGKHhwcmVzc2lvbi4pLS4xNSBFIC45OTcoVGhlIGVsZW1lbnQgd2l0aCBpbmRlKTE0NCAzMTIgUih4KS0uMTUgRQorLS4xNSBGKHhwcmVzc2lvbi4pLS4xNSBFIC45OTcoVGhlIGVsZW1lbnQgd2l0aCBpbmRlKTE0NCA1MjggUih4KS0uMTUgRQogRjQobikzLjQ5NyBFIEYwIC45OTcoaXMgdGhlIHBvcnRpb24gb2YgdGhlIHN0cmluZyBtYXRjaGluZyB0aGUpMy40OTcgRgogRjQobikzLjQ5OCBFIEYwIC45OTgodGggcGFyZW50aGVzaXplZCBzdWJlKUIoeHByZXMtKS0uMTUgRSAyLjUKLShzaW9uLiBUaGlzKTE0NCAzMjQgUiAtLjI1KHZhKTIuNSBHKHJpYWJsZSBpcyByZWFkLW9ubHkpLjI1IEUoLiktLjY1IEUKLUYxIC0uMyhCQSkxMDggMzM2IFMoU0hfU09VUkNFKS4zIEUgRjAgLjg5KEFuIGFycmF5IHYpMTQ0IDM0OCBSIC44ODkoYXJpXAotYWJsZSB3aG9zZSBtZW1iZXJzIGFyZSB0aGUgc291cmNlIFwyMTRsZW5hbWVzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGVsZW1cCi1lbnRzIGluIHRoZSktLjI1IEYgRjIoRlVOQ04pMTQ0IDM2MCBRKEFNRSktLjE4IEUgRjAoYXJyYXkgdikyLjI1IEUKLShhcmlhYmxlLiktLjI1IEUgRjEgLS4zKEJBKTEwOCAzNzIgUyhTSF9TVUJTSEVMTCkuMyBFIEYwIC40MDEKLShJbmNyZW1lbnRlZCBieSBvbmUgZWFjaCB0aW1lIGEgc3Vic2hlbGwgb3Igc3Vic2hlbGwgZW4pMTQ0IDM4NCBSIC40MDEKLSh2aXJvbm1lbnQgaXMgc3BhKS0uNCBGIDIuOTAyKHduZWQuIFRoZSktLjE1IEYgLjQwMihpbml0aWFsIHYpMi45MDIgRgotLjQwMihhbHVlIGlzKS0uMjUgRigwLikxNDQgMzk2IFEgRjEgLS4zKEJBKTEwOCA0MDggUyhTSF9WRVJTSU5GTykuMyBFIEYwCi0yLjY0NShBcikxNDQgNDIwIFMgLjE0NShlYWRvbmx5IGFycmF5IHYpLTIuNjQ1IEYgLjE0NAorKHNpb24uIFRoaXMpMTQ0IDU0MCBSIC0uMjUodmEpMi41IEcocmlhYmxlIGlzIHJlYWQtb25seSkuMjUgRSguKS0uNjUgRQorRjEgLS4zKEJBKTEwOCA1NTIgUyhTSF9TT1VSQ0UpLjMgRSBGMCAuMTI2KEFuIGFycmF5IHYpMTQ0IDU2NCBSIC4xMjUoYXJcCitpYWJsZSB3aG9zZSBtZW1iZXJzIGFyZSB0aGUgc291cmNlIFwyMTRsZW5hbWVzIHdoZXJlIHRoZSBjb3JyZXNwb25kaW5nIFwKK3NoZWxsIGZ1bmN0aW9uKS0uMjUgRiAuNzgobmFtZXMgaW4gdGhlKTE0NCA1NzYgUiBGMihGVU5DTikzLjI4IEUoQU1FKQorLS4xOCBFIEYwIC43OChhcnJheSB2KTMuMDMgRiAuNzgoYXJpYWJsZSBhcmUgZGVcMjE0bmVkLiktLjI1IEYgLjc4CisoVGhlIHNoZWxsIGZ1bmN0aW9uKTUuNzggRiBGMSgke0ZVTkNOKTMuMjgxIEUoQU1FWyktLjIgRSBGNCgkaSlBIEYxKF19KUEKK0YwKGlzKTMuMjgxIEUoZGVcMjE0bmVkIGluIHRoZSBcMjE0bGUpMTQ0IDU4OCBRIEYxKCR7QikyLjUgRQorKEFTSF9TT1VSQ0VbKS0uMyBFIEY0KCRpKUEgRjEoXX0pQSBGMChhbmQgY2FsbGVkIGZyb20pMi41IEUgRjEoJHtCKTIuNSBFCisoQVNIX1NPVVJDRVspLS4zIEUgRjQoJGkrMSlBIEYxKF19KUEgRjAoLilBIEYxIC0uMyhCQSkxMDggNjAwIFMKKyhTSF9TVUJTSEVMTCkuMyBFIEYwIC40MDIKKyhJbmNyZW1lbnRlZCBieSBvbmUgZWFjaCB0aW1lIGEgc3Vic2hlbGwgb3Igc3Vic2hlbGwgZW4pMTQ0IDYxMiBSIC40MDEKKyh2aXJvbm1lbnQgaXMgc3BhKS0uNCBGIDIuOTAxKHduZWQuIFRoZSktLjE1IEYgLjQwMShpbml0aWFsIHYpMi45MDEgRgorLjQwMShhbHVlIGlzKS0uMjUgRigwLikxNDQgNjI0IFEgRjEgLS4zKEJBKTEwOCA2MzYgUyhTSF9WRVJTSU5GTykuMyBFIEYwCisyLjY0NChBcikxNDQgNjQ4IFMgLjE0NChlYWRvbmx5IGFycmF5IHYpLTIuNjQ0IEYgLjE0NAogKGFyaWFibGUgd2hvc2UgbWVtYmVycyBob2xkIHYpLS4yNSBGIC4xNDQKLShlcnNpb24gaW5mb3JtYXRpb24gZm9yIHRoaXMgaW5zdGFuY2Ugb2YpLS4xNSBGIEYxKGJhc2gpMi42NDQgRSBGMCA1LjE0NAotKC5UKUMoaGUpLTUuMTQ0IEUgLS4yNSh2YSkxNDQgNDMyIFMKKyhlcnNpb24gaW5mb3JtYXRpb24gZm9yIHRoaXMgaW5zdGFuY2Ugb2YpLS4xNSBGIEYxKGJhc2gpMi42NDUgRSBGMCA1LjE0NQorKC5UKUMoaGUpLTUuMTQ1IEUgLS4yNSh2YSkxNDQgNjYwIFMKIChsdWVzIGFzc2lnbmVkIHRvIHRoZSBhcnJheSBtZW1iZXJzIGFyZSBhcyBmb2xsbykuMjUgRSh3czopLS4yNSBFIEYxIC0uMwotKEJBKTE0NCA0NTAgUyhTSF9WRVJTSU5GT1spLjMgRSBGMCgwKUEgRjEoXSlBIEYwKFRoZSBtYWpvciB2KTI0Ljc0IEUKKyhCQSkxNDQgNjc4IFMoU0hfVkVSU0lORk9bKS4zIEUgRjAoMClBIEYxKF0pQSBGMChUaGUgbWFqb3IgdikyNC43NCBFCiAoZXJzaW9uIG51bWJlciBcKHRoZSktLjE1IEUgRjQgLS4zNyhyZSkyLjUgRyhsZWFzZSkuMzcgRSBGMChcKS4pQSBGMSAtLjMKLShCQSkxNDQgNDYyIFMoU0hfVkVSU0lORk9bKS4zIEUgRjAoMSlBIEYxKF0pQSBGMChUaGUgbWlub3IgdikyNC43NCBFCisoQkEpMTQ0IDY5MCBTKFNIX1ZFUlNJTkZPWykuMyBFIEYwKDEpQSBGMShdKUEgRjAoVGhlIG1pbm9yIHYpMjQuNzQgRQogKGVyc2lvbiBudW1iZXIgXCh0aGUpLS4xNSBFIEY0KHZlcikyLjUgRShzaW9uKS0uMSBFIEYwKFwpLilBIEYxIC0uMyhCQSkKLTE0NCA0NzQgUyhTSF9WRVJTSU5GT1spLjMgRSBGMCgyKUEgRjEoXSlBIEYwKFRoZSBwYXRjaCBsZSkyNC43NCBFIC0uMTUKLSh2ZSktLjI1IEcobC4pLjE1IEUgRjEgLS4zKEJBKTE0NCA0ODYgUyhTSF9WRVJTSU5GT1spLjMgRSBGMCgzKUEgRjEoXSlBCi1GMChUaGUgYikyNC43NCBFKHVpbGQgdiktLjIgRShlcnNpb24uKS0uMTUgRSBGMSAtLjMoQkEpMTQ0IDQ5OCBTCi0oU0hfVkVSU0lORk9bKS4zIEUgRjAoNClBIEYxKF0pQSBGMChUaGUgcmVsZWFzZSBzdGF0dXMgXChlLmcuLCkyNC43NCBFCi1GNChiZXRhMSkyLjUgRSBGMChcKS4pQSBGMSAtLjMoQkEpMTQ0IDUxMCBTKFNIX1ZFUlNJTkZPWykuMyBFIEYwKDUpQSBGMQotKF0pQSBGMChUaGUgdikyNC43NCBFKGFsdWUgb2YpLS4yNSBFIEYyKE1BKTIuNSBFKENIVFlQRSktLjQ5NSBFIEYzKC4pQQotRjEgLS4zKEJBKTEwOCA1MjYuOCBTKFNIX1ZFUlNJT04pLjMgRSBGMAotKEV4cGFuZHMgdG8gYSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgdikxNDQgNTM4LjggUQotKGVyc2lvbiBvZiB0aGlzIGluc3RhbmNlIG9mKS0uMTUgRSBGMShiYXNoKTIuNSBFIEYwKC4pQSBGMShDT01QX0NXKTEwOAotNTU1LjYgUShPUkQpLS4xIEUgRjAgLjM5NihBbiBpbmRlKTE0NCA1NjcuNiBSIDIuODk2KHhpKS0uMTUgRyhudG8pLTIuODk2Ci1FIEYxKCR7Q09NUF9XKTIuODk2IEUoT1JEU30pLS4xIEUgRjAgLjM5NihvZiB0aGUgdykyLjg5NiBGIC4zOTYKLShvcmQgY29udGFpbmluZyB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24uKS0uMSBGIC4zOTcoVGhpcyB2KTUuMzk3IEYKLShhcmktKS0uMjUgRSAxLjE4MShhYmxlIGlzIGEpMTQ0IDU3OS42IFIgLS4yNSh2YSktLjIgRyAxLjE4MQotKGlsYWJsZSBvbmx5IGluIHNoZWxsIGZ1bmN0aW9ucyBpbikuMjUgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMy42ODEKLShkYikuMSBHIDMuNjgxKHl0KS0zLjY4MSBHIDEuMTgoaGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZiktMy42ODEgRgotMS4xOChhY2lsaXRpZXMgXChzZWUpLS4xIEYgRjEoUHIpMTQ0IDU5MS42IFEob2dyYW1tYWJsZSBDb21wbGV0aW9uKS0uMTgKLUUgRjAoYmVsbykyLjUgRSh3XCkuKS0uMjUgRSBGMShDT01QX0tFWSkxMDggNjA4LjQgUSBGMChUaGUgaykxNDQgNjIwLjQgUQotLjMgLS4xNShleSBcKCktLjEgSChvciBcMjE0bmFsIGspLjE1IEUgLjMgLS4xNShleSBvKS0uMSBIIDIuNShmYWspLjE1IEcKLS4zIC0uMTUoZXkgcyktMi42IEgoZXF1ZW5jZVwpIHVzZWQgdG8gaW4pLjE1IEUgLS4yKHZvKS0uNCBHIC4yIC0uMShrZSB0KQotLjIgSChoZSBjdXJyZW50IGNvbXBsZXRpb24gZnVuY3Rpb24uKS4xIEUgRjEoQ09NUF9MSU5FKTEwOCA2MzcuMiBRIEYwCi0xLjIwNyhUaGUgY3VycmVudCBjb21tYW5kIGxpbmUuKTE0NCA2NDkuMiBSIDEuMjA4KFRoaXMgdik2LjIwOCBGIDEuMjA4Ci0oYXJpYWJsZSBpcyBhKS0uMjUgRiAtLjI1KHZhKS0uMiBHIDEuMjA4Ci0oaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGFuZCBlKS4yNSBGIDEuMjA4KHh0ZXJuYWwgY29tLSktLjE1IEYKLTIuODQ5KG1hbmRzIGluKTE0NCA2NjEuMiBSIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyA1LjM0OShkYikuMSBHIDUuMzQ5Ci0oeXQpLTUuMzQ5IEcgMi44NDkoaGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZiktNS4zNDkgRiAyLjg0OQotKGFjaWxpdGllcyBcKHNlZSktLjEgRiBGMShQcik1LjM0OSBFIDIuODQ4KG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEYKLUYwKGJlbG8pMTQ0IDY3My4yIFEod1wpLiktLjI1IEUgRjEoQ09NUF9QT0lOVCkxMDggNjkwIFEgRjAgLjY2NgotKFRoZSBpbmRlKTE0NCA3MDIgUiAzLjE2Nih4byktLjE1IEcgMy4xNjYoZnQpLTMuMTY2IEcgLjY2NgotKGhlIGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uIHJlbGF0aSktMy4xNjYgRiAuOTY2IC0uMTUodmUgdCktLjI1IEggMy4xNjYKLShvdCkuMTUgRyAuNjY2KGhlIGJlKS0zLjE2NiBGIC42NjYoZ2lubmluZyBvZiB0aGUgY3VycmVudCBjb21tYW5kLiktLjE1Ci1GIC42NjcoSWYgdGhlKTUuNjY3IEYgLjUzNQotKGN1cnJlbnQgY3Vyc29yIHBvc2l0aW9uIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgY29tbWFuZCwgdGhlIHYpMTQ0Ci03MTQgUiAuNTM0KGFsdWUgb2YgdGhpcyB2KS0uMjUgRiAuNTM0KGFyaWFibGUgaXMgZXF1YWwgdG8pLS4yNSBGIEYxCi0oJHsjQ09NUF9MSU5FfSkxNDQgNzI2IFEgRjAgNy4wMDUoLlQpQyAyLjAwNShoaXMgdiktNy4wMDUgRiAyLjAwNQotKGFyaWFibGUgaXMgYSktLjI1IEYgLS4yNSh2YSktLjIgRyAyLjAwNgotKGlsYWJsZSBvbmx5IGluIHNoZWxsIGZ1bmN0aW9ucyBhbmQgZSkuMjUgRiAyLjAwNih4dGVybmFsIGNvbW1hbmRzKS0uMTUKLUYoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDEwKTE4NS45NTUgRSAwIENnIEVQCisxNDQgNzAyIFMoU0hfVkVSU0lORk9bKS4zIEUgRjAoMilBIEYxKF0pQSBGMChUaGUgcGF0Y2ggbGUpMjQuNzQgRSAtLjE1CisodmUpLS4yNSBHKGwuKS4xNSBFIEYxIC0uMyhCQSkxNDQgNzE0IFMoU0hfVkVSU0lORk9bKS4zIEUgRjAoMylBIEYxKF0pQQorRjAoVGhlIGIpMjQuNzQgRSh1aWxkIHYpLS4yIEUoZXJzaW9uLiktLjE1IEUoR05VIEJhc2gtNC4yKTcyIDc2OCBRCisoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoMTApMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMTEgMTEKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUoaW4pMTQ0IDg0IFEgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNShkYikuMSBHIDIuNSh5dCktMi41IEcKLShoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmKS0yLjUgRShhY2lsaXRpZXMgXChzZWUpLS4xIEUvRjEgMTAKLS9UaW1lcy1Cb2xkQDAgU0YoUHIpMi41IEUob2dyYW1tYWJsZSBDb21wbGV0aW9uKS0uMTggRSBGMChiZWxvKTIuNSBFCi0od1wpLiktLjI1IEUgRjEoQ09NUF9UWVBFKTEwOCAxMDAuOCBRIEYwIC4wNDIoU2V0IHRvIGFuIGludGUpMTQ0IDExMi44IFIKLS4wNDIoZ2VyIHYpLS4xNSBGIC4wNDEoYWx1ZSBjb3JyZXNwb25kaW5nIHRvIHRoZSB0eXBlIG9mIGNvbXBsZXRpb24gYXR0XAotZW1wdGVkIHRoYXQgY2F1c2VkIGEgY29tcGxldGlvbiktLjI1IEYgLjMzNyhmdW5jdGlvbiB0byBiZSBjYWxsZWQ6KTE0NAotMTI0LjggUi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRiAtLjUoVEEpMi44MzcgRyhCKS41IEUgRjAgMi44MzcoLGYpQyAuMzM3Ci0ob3Igbm9ybWFsIGNvbXBsZXRpb24sKS0yLjgzNyBGIEYyKD8pMi44MzcgRSBGMCAyLjgzNygsZilDIC4zMzcKLShvciBsaXN0aW5nIGNvbXBsZXRpb25zIGFmdGVyIHN1Y2Nlc3NpKS0yLjgzNyBGIC42MzggLS4xNSh2ZSB0KS0uMjUgSAotKGFicywpLjE1IEUgRjIoISkxNDQgMTM2LjggUSBGMCA0LjA5MigsZilDIDEuNTkyKG9yIGxpc3RpbmcgYWx0ZXJuYXRpKQotLTQuMDkyIEYgLS4xNSh2ZSktLjI1IEcgNC4wOTIoc28pLjE1IEcgNC4wOTIobnApLTQuMDkyIEcgMS41OTIoYXJ0aWFsIHcpCi0tNC4wOTIgRiAxLjU5MihvcmQgY29tcGxldGlvbiwpLS4xIEYgRjIoQCk0LjA5MiBFIEYwIDQuMDkyKCx0KUMgNC4wOTIKLShvbCktNC4wOTIgRyAxLjU5Mihpc3QgY29tcGxldGlvbnMgaWYgdGhlIHcpLTQuMDkyIEYgMS41OTEob3JkIGlzIG5vdCkKLS0uMSBGIDEuNTUyKHVubW9kaVwyMTRlZCwgb3IpMTQ0IDE0OC44IFIgRjIoJSk0LjA1MiBFIEYwIDQuMDUyKCxmKUMKLTEuNTUyKG9yIG1lbnUgY29tcGxldGlvbi4pLTQuMDUyIEYgMS41NTIoVGhpcyB2KTYuNTUyIEYgMS41NTIKLShhcmlhYmxlIGlzIGEpLS4yNSBGIC0uMjUodmEpLS4yIEcgMS41NTIKLShpbGFibGUgb25seSBpbiBzaGVsbCBmdW5jdGlvbnMgYW5kKS4yNSBGIC0uMTUoZXgpMTQ0IDE2MC44IFMgMi45MjkKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YgLS4zKEJBKTE0NCA4NCBTKFNIX1ZFUlNJTkZPWykuMyBFIEYwKDQpQSBGMQorKF0pQSBGMChUaGUgcmVsZWFzZSBzdGF0dXMgXChlLmcuLCkyNC43NCBFL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCisoYmV0YTEpMi41IEUgRjAoXCkuKUEgRjEgLS4zKEJBKTE0NCA5NiBTKFNIX1ZFUlNJTkZPWykuMyBFIEYwKDUpQSBGMShdKUEKK0YwKFRoZSB2KTI0Ljc0IEUoYWx1ZSBvZiktLjI1IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoTUEpMi41IEUoQ0hUWVBFKQorLS40OTUgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYxIC0uMyhCQSkxMDggMTA4IFMoU0hfVkVSU0lPTikuMyBFIEYwCisoRXhwYW5kcyB0byBhIHN0cmluZyBkZXNjcmliaW5nIHRoZSB2KTE0NCAxMjAgUQorKGVyc2lvbiBvZiB0aGlzIGluc3RhbmNlIG9mKS0uMTUgRSBGMShiYXNoKTIuNSBFIEYwKC4pQSBGMShDT01QX0NXKTEwOAorMTMyIFEoT1JEKS0uMSBFIEYwIC4zOTcoQW4gaW5kZSkxNDQgMTQ0IFIgMi44OTcoeGkpLS4xNSBHKG50byktMi44OTcgRQorRjEoJHtDT01QX1cpMi44OTYgRShPUkRTfSktLjEgRSBGMCAuMzk2KG9mIHRoZSB3KTIuODk2IEYgLjM5NgorKG9yZCBjb250YWluaW5nIHRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbi4pLS4xIEYgLjM5NihUaGlzIHYpNS4zOTYgRgorKGFyaS0pLS4yNSBFIDEuMTgoYWJsZSBpcyBhKTE0NCAxNTYgUiAtLjI1KHZhKS0uMiBHIDEuMTgxCisoaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGluKS4yNSBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAzLjY4MQorKGRiKS4xIEcgMy42ODEoeXQpLTMuNjgxIEcgMS4xODEoaGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZiktMy42ODEgRgorMS4xODEoYWNpbGl0aWVzIFwoc2VlKS0uMSBGIEYxKFByKTE0NCAxNjggUShvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBFCitGMChiZWxvKTIuNSBFKHdcKS4pLS4yNSBFIEYxKENPTVBfS0VZKTEwOCAxODAgUSBGMChUaGUgaykxNDQgMTkyIFEgLjMKKy0uMTUoZXkgXCgpLS4xIEgob3IgXDIxNG5hbCBrKS4xNSBFIC4zIC0uMTUoZXkgbyktLjEgSCAyLjUoZmFrKS4xNSBHIC4zCistLjE1KGV5IHMpLTIuNiBIKGVxdWVuY2VcKSB1c2VkIHRvIGluKS4xNSBFIC0uMih2byktLjQgRyAuMiAtLjEoa2UgdCkuMgorSChoZSBjdXJyZW50IGNvbXBsZXRpb24gZnVuY3Rpb24uKS4xIEUgRjEoQ09NUF9MSU5FKTEwOCAyMDQgUSBGMCAxLjIwOAorKFRoZSBjdXJyZW50IGNvbW1hbmQgbGluZS4pMTQ0IDIxNiBSIDEuMjA4KFRoaXMgdik2LjIwOCBGIDEuMjA4CisoYXJpYWJsZSBpcyBhKS0uMjUgRiAtLjI1KHZhKS0uMiBHIDEuMjA4CisoaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGFuZCBlKS4yNSBGIDEuMjA3KHh0ZXJuYWwgY29tLSktLjE1IEYKKzIuODQ4KG1hbmRzIGluKTE0NCAyMjggUiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgNS4zNDkoZGIpLjEgRyA1LjM0OQorKHl0KS01LjM0OSBHIDIuODQ5KGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGYpLTUuMzQ5IEYgMi44NDkKKyhhY2lsaXRpZXMgXChzZWUpLS4xIEYgRjEoUHIpNS4zNDkgRSAyLjg0OShvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBGCitGMChiZWxvKTE0NCAyNDAgUSh3XCkuKS0uMjUgRSBGMShDT01QX1BPSU5UKTEwOCAyNTIgUSBGMCAuNjY3KFRoZSBpbmRlKQorMTQ0IDI2NCBSIDMuMTY3KHhvKS0uMTUgRyAzLjE2NyhmdCktMy4xNjcgRyAuNjY2CisoaGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gcmVsYXRpKS0zLjE2NyBGIC45NjYgLS4xNSh2ZSB0KS0uMjUgSCAzLjE2NgorKG90KS4xNSBHIC42NjYoaGUgYmUpLTMuMTY2IEYgLjY2NihnaW5uaW5nIG9mIHRoZSBjdXJyZW50IGNvbW1hbmQuKS0uMTUKK0YgLjY2NihJZiB0aGUpNS42NjYgRiAuNTM0CisoY3VycmVudCBjdXJzb3IgcG9zaXRpb24gaXMgYXQgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBjb21tYW5kLCB0aGUgdikxNDQKKzI3NiBSIC41MzUoYWx1ZSBvZiB0aGlzIHYpLS4yNSBGIC41MzUoYXJpYWJsZSBpcyBlcXVhbCB0byktLjI1IEYgRjEKKygkeyNDT01QX0xJTkV9KTE0NCAyODggUSBGMCA3LjAwNiguVClDIDIuMDA2KGhpcyB2KS03LjAwNiBGIDIuMDA2CisoYXJpYWJsZSBpcyBhKS0uMjUgRiAtLjI1KHZhKS0uMiBHIDIuMDA1CisoaWxhYmxlIG9ubHkgaW4gc2hlbGwgZnVuY3Rpb25zIGFuZCBlKS4yNSBGIDIuMDA1KHh0ZXJuYWwgY29tbWFuZHMpLS4xNQorRihpbikxNDQgMzAwIFEgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNShkYikuMSBHIDIuNSh5dCktMi41IEcKKyhoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmKS0yLjUgRShhY2lsaXRpZXMgXChzZWUpLS4xIEUgRjEoUHIpMi41IEUKKyhvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBFIEYwKGJlbG8pMi41IEUod1wpLiktLjI1IEUgRjEoQ09NUF9UWVBFKTEwOAorMzEyIFEgRjAgLjA0MShTZXQgdG8gYW4gaW50ZSkxNDQgMzI0IFIgLjA0MShnZXIgdiktLjE1IEYgLjA0MShhbHVlIGNvcnJcCitlc3BvbmRpbmcgdG8gdGhlIHR5cGUgb2YgY29tcGxldGlvbiBhdHRlbXB0ZWQgdGhhdCBjYXVzZWQgYSBjb21wbGV0aW9uKQorLS4yNSBGIC4zMzgoZnVuY3Rpb24gdG8gYmUgY2FsbGVkOikxNDQgMzM2IFIgRjIgLS41KFRBKTIuODM3IEcoQikuNSBFIEYwCisyLjgzNygsZilDIC4zMzcob3Igbm9ybWFsIGNvbXBsZXRpb24sKS0yLjgzNyBGIEYyKD8pMi44MzcgRSBGMCAyLjgzNygsZikKK0MgLjMzNyhvciBsaXN0aW5nIGNvbXBsZXRpb25zIGFmdGVyIHN1Y2Nlc3NpKS0yLjgzNyBGIC42MzcgLS4xNSh2ZSB0KQorLS4yNSBIKGFicywpLjE1IEUgRjIoISkxNDQgMzQ4IFEgRjAgNC4wOTEoLGYpQyAxLjU5MQorKG9yIGxpc3RpbmcgYWx0ZXJuYXRpKS00LjA5MSBGIC0uMTUodmUpLS4yNSBHIDQuMDkyKHNvKS4xNSBHIDQuMDkyKG5wKQorLTQuMDkyIEcgMS41OTIoYXJ0aWFsIHcpLTQuMDkyIEYgMS41OTIob3JkIGNvbXBsZXRpb24sKS0uMSBGIEYyKEApNC4wOTIKK0UgRjAgNC4wOTIoLHQpQyA0LjA5MihvbCktNC4wOTIgRyAxLjU5Mihpc3QgY29tcGxldGlvbnMgaWYgdGhlIHcpLTQuMDkyCitGIDEuNTkyKG9yZCBpcyBub3QpLS4xIEYgMS41NTModW5tb2RpXDIxNGVkLCBvcikxNDQgMzYwIFIgRjIoJSk0LjA1MyBFCitGMCA0LjA1MigsZilDIDEuNTUyKG9yIG1lbnUgY29tcGxldGlvbi4pLTQuMDUyIEYgMS41NTIoVGhpcyB2KTYuNTUyIEYKKzEuNTUyKGFyaWFibGUgaXMgYSktLjI1IEYgLS4yNSh2YSktLjIgRyAxLjU1MgorKGlsYWJsZSBvbmx5IGluIHNoZWxsIGZ1bmN0aW9ucyBhbmQpLjI1IEYgLS4xNShleCkxNDQgMzcyIFMgMi45MjgKICh0ZXJuYWwgY29tbWFuZHMgaW4pLjE1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDUuNDI5KGRiKS4xIEcgNS40MjkKICh5dCktNS40MjkgRyAyLjkyOShoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmKS01LjQyOSBGIDIuOTI5Ci0oYWNpbGl0aWVzIFwoc2VlKS0uMSBGIEYxKFByKTUuNDI4IEUob2dyYW1tYWJsZSktLjE4IEUoQ29tcGxldGlvbikxNDQKLTE3Mi44IFEgRjAoYmVsbykyLjUgRSh3XCkuKS0uMjUgRSBGMShDT01QX1cpMTA4IDE4OS42IFEoT1JEQlJFQUtTKS0uMSBFCi1GMCAxLjMzNShUaGUgc2V0IG9mIGNoYXJhY3RlcnMgdGhhdCB0aGUpMTQ0IDIwMS42IFIgRjEgLS4xOChyZSkzLjgzNiBHCi0oYWRsaW5lKS4xOCBFIEYwIDEuMzM2KGxpYnJhcnkgdHJlYXRzIGFzIHcpMy44MzYgRiAxLjMzNgotKG9yZCBzZXBhcmF0b3JzIHdoZW4gcGVyZm9ybWluZyB3KS0uMSBGKG9yZCktLjEgRSAzLjEyNihjb21wbGV0aW9uLiBJZikKLTE0NCAyMTMuNiBSL0YzIDkvVGltZXMtQm9sZEAwIFNGKENPTVBfVykzLjEyNiBFKE9SREJSRUFLUyktLjA5IEUgRjAgLjYyNgotKGlzIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLCBlKTIuODc2IEYgLS4xNSh2ZSktLjI1IEcKLTMuMTI1KG5pKS4xNSBHIDMuMTI1KGZpKS0zLjEyNSBHIDMuMTI1KHRpKS0zLjEyNSBHIDMuMTI1KHNzKS0zLjEyNSBHCi0odWJzZS0pLTMuMTI1IEUocXVlbnRseSByZXNldC4pMTQ0IDIyNS42IFEgRjEoQ09NUF9XKTEwOCAyNDIuNCBRKE9SRFMpCi0tLjEgRSBGMCAuNjUzKEFuIGFycmF5IHYpMTQ0IDI1NC40IFIgLjY1MyhhcmlhYmxlIFwoc2VlKS0uMjUgRiBGMQotKEFycmF5cykzLjE1MyBFIEYwKGJlbG8pMy4xNTMgRSAuNjU0KHdcKSBjb25zaXN0aW5nIG9mIHRoZSBpbmRpKS0uMjUgRgotLjY1NCh2aWR1YWwgdyktLjI1IEYgLjY1NChvcmRzIGluIHRoZSBjdXJyZW50IGNvbW1hbmQpLS4xIEYgNC4zMzMKLShsaW5lLiBUaGUpMTQ0IDI2Ni40IFIgMS44MzIobGluZSBpcyBzcGxpdCBpbnRvIHcpNC4zMzIgRiAxLjgzMihvcmRzIGFzKQotLS4xIEYgRjEgLS4xOChyZSk0LjMzMiBHKGFkbGluZSkuMTggRSBGMCAtLjEod28pNC4zMzIgRyAxLjgzMgotKHVsZCBzcGxpdCBpdCwgdXNpbmcpLjEgRiBGMyhDT01QX1cpNC4zMzIgRShPUkRCUkVBS1MpLS4wOSBFIEYwKGFzKTQuMDgyCi1FIC44MzEoZGVzY3JpYmVkIGFibykxNDQgMjc4LjQgUiAtLjE1KHZlKS0uMTUgRyA1LjgzMSguVCkuMTUgRyAuODMxCi0oaGlzIHYpLTUuODMxIEYgLjgzMShhcmlhYmxlIGlzIGEpLS4yNSBGIC0uMjUodmEpLS4yIEcgLjgzMgotKGlsYWJsZSBvbmx5IGluIHNoZWxsIGZ1bmN0aW9ucyBpbikuMjUgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMy4zMzIKLShkYikuMSBHIDMuMzMyKHl0KS0zLjMzMiBHIC44MzIoaGUgcHJvZ3JhbW1hYmxlKS0zLjMzMiBGKGNvbXBsZXRpb24gZikKLTE0NCAyOTAuNCBRKGFjaWxpdGllcyBcKHNlZSktLjEgRSBGMShQcikyLjUgRShvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOAotRSBGMChiZWxvKTIuNSBFKHdcKS4pLS4yNSBFIEYxKERJUlNUKTEwOCAzMDcuMiBRIC0uNTUoQUMpLS45IEcoSykuNTUgRQotRjAgMi4yNihBbiBhcnJheSB2KTE0NCAzMTkuMiBSIDIuMjYoYXJpYWJsZSBcKHNlZSktLjI1IEYgRjEoQXJyYXlzKTQuNzYKLUUgRjAoYmVsbyk0Ljc2IEUgMi4yNgorKGFjaWxpdGllcyBcKHNlZSktLjEgRiBGMShQcik1LjQyOSBFKG9ncmFtbWFibGUpLS4xOCBFKENvbXBsZXRpb24pMTQ0CiszODQgUSBGMChiZWxvKTIuNSBFKHdcKS4pLS4yNSBFIEYxKENPTVBfVykxMDggMzk2IFEoT1JEQlJFQUtTKS0uMSBFIEYwCisxLjMzNihUaGUgc2V0IG9mIGNoYXJhY3RlcnMgdGhhdCB0aGUpMTQ0IDQwOCBSIEYxIC0uMTgocmUpMy44MzYgRworKGFkbGluZSkuMTggRSBGMCAxLjMzNihsaWJyYXJ5IHRyZWF0cyBhcyB3KTMuODM2IEYgMS4zMzUKKyhvcmQgc2VwYXJhdG9ycyB3aGVuIHBlcmZvcm1pbmcgdyktLjEgRihvcmQpLS4xIEUgMy4xMjUoY29tcGxldGlvbi4gSWYpCisxNDQgNDIwIFIgRjMoQ09NUF9XKTMuMTI1IEUoT1JEQlJFQUtTKS0uMDkgRSBGMCAuNjI2CisoaXMgdW5zZXQsIGl0IGxvc2VzIGl0cyBzcGVjaWFsIHByb3BlcnRpZXMsIGUpMi44NzUgRiAtLjE1KHZlKS0uMjUgRworMy4xMjYobmkpLjE1IEcgMy4xMjYoZmkpLTMuMTI2IEcgMy4xMjYodGkpLTMuMTI2IEcgMy4xMjYoc3MpLTMuMTI2IEcKKyh1YnNlLSktMy4xMjYgRShxdWVudGx5IHJlc2V0LikxNDQgNDMyIFEgRjEoQ09NUF9XKTEwOCA0NDQgUShPUkRTKS0uMSBFCitGMCAuNjU0KEFuIGFycmF5IHYpMTQ0IDQ1NiBSIC42NTQoYXJpYWJsZSBcKHNlZSktLjI1IEYgRjEoQXJyYXlzKTMuMTU0IEUKK0YwKGJlbG8pMy4xNTQgRSAuNjU0KHdcKSBjb25zaXN0aW5nIG9mIHRoZSBpbmRpKS0uMjUgRiAuNjUzKHZpZHVhbCB3KQorLS4yNSBGIC42NTMob3JkcyBpbiB0aGUgY3VycmVudCBjb21tYW5kKS0uMSBGIDQuMzMyKGxpbmUuIFRoZSkxNDQgNDY4IFIKKzEuODMyKGxpbmUgaXMgc3BsaXQgaW50byB3KTQuMzMyIEYgMS44MzIob3JkcyBhcyktLjEgRiBGMSAtLjE4KHJlKTQuMzMyCitHKGFkbGluZSkuMTggRSBGMCAtLjEod28pNC4zMzIgRyAxLjgzMih1bGQgc3BsaXQgaXQsIHVzaW5nKS4xIEYgRjMKKyhDT01QX1cpNC4zMzIgRShPUkRCUkVBS1MpLS4wOSBFIEYwKGFzKTQuMDgzIEUgLjgzMihkZXNjcmliZWQgYWJvKTE0NAorNDgwIFIgLS4xNSh2ZSktLjE1IEcgNS44MzIoLlQpLjE1IEcgLjgzMihoaXMgdiktNS44MzIgRiAuODMyCisoYXJpYWJsZSBpcyBhKS0uMjUgRiAtLjI1KHZhKS0uMiBHIC44MzEKKyhpbGFibGUgb25seSBpbiBzaGVsbCBmdW5jdGlvbnMgaW4pLjI1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDMuMzMxCisoZGIpLjEgRyAzLjMzMSh5dCktMy4zMzEgRyAuODMxKGhlIHByb2dyYW1tYWJsZSktMy4zMzEgRihjb21wbGV0aW9uIGYpCisxNDQgNDkyIFEoYWNpbGl0aWVzIFwoc2VlKS0uMSBFIEYxKFByKTIuNSBFKG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEUKK0YwKGJlbG8pMi41IEUod1wpLiktLjI1IEUgRjEoQ09QUikxMDggNTA0IFEoT0MpLS4zIEUgRjAgLjE2OChBbiBhcnJheSB2KQorMTQ0IDUxNiBSIC4xNjgoYXJpYWJsZSBcKHNlZSktLjI1IEYgRjEoQXJyYXlzKTIuNjY4IEUgRjAoYmVsbykyLjY2OSBFCisuMTY5Cisod1wpIGNyZWF0ZWQgdG8gaG9sZCB0aGUgXDIxNGxlIGRlc2NyaXB0b3JzIGZvciBvdXRwdXQgZnJvbSBhbmQgaW5wdXQpCistLjI1IEYodG8gYW4gdW5uYW1lZCBjb3Byb2Nlc3MgXChzZWUpMTQ0IDUyOCBRIEYxKENvcHIpMi41IEUob2Nlc3NlcykKKy0uMTggRSBGMChhYm8pMi41IEUgLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxKERJUlNUKTEwOCA1NDAgUSAtLjU1KEFDKQorLS45IEcoSykuNTUgRSBGMCAyLjI2KEFuIGFycmF5IHYpMTQ0IDU1MiBSIDIuMjYoYXJpYWJsZSBcKHNlZSktLjI1IEYgRjEKKyhBcnJheXMpNC43NiBFIEYwKGJlbG8pNC43NiBFIDIuMjYKICh3XCkgY29udGFpbmluZyB0aGUgY3VycmVudCBjb250ZW50cyBvZiB0aGUgZGlyZWN0b3J5IHN0YWNrLiktLjI1IEYKLTEuMDk0KERpcmVjdG9yaWVzIGFwcGVhciBpbiB0aGUgc3RhY2sgaW4gdGhlIG9yZGVyIHRoZSkxNDQgMzMxLjIgUiAzLjU5NAorMS4wOTQoRGlyZWN0b3JpZXMgYXBwZWFyIGluIHRoZSBzdGFjayBpbiB0aGUgb3JkZXIgdGhlKTE0NCA1NjQgUiAzLjU5NAogKHlhKS0uMTUgRyAxLjA5NShyZSBkaXNwbGF5ZWQgYnkgdGhlKS0zLjU5NCBGIEYxKGRpcnMpMy41OTUgRSBGMCAtLjIoYnUpCiAzLjU5NSBHIDMuNTk1KGlsdGluLiBBc3NpZ25pbmcpLjIgRih0bykzLjU5NSBFIDEuNDMyCi0obWVtYmVycyBvZiB0aGlzIGFycmF5IHYpMTQ0IDM0My4yIFIgMS40MzIKKyhtZW1iZXJzIG9mIHRoaXMgYXJyYXkgdikxNDQgNTc2IFIgMS40MzIKIChhcmlhYmxlIG1heSBiZSB1c2VkIHRvIG1vZGlmeSBkaXJlY3RvcmllcyBhbHJlYWR5IGluIHRoZSBzdGFjaywgYiktLjI1Ci1GIDEuNDMxKHV0IHRoZSktLjIgRiBGMShwdXNoZCkxNDQgMzU1LjIgUSBGMChhbmQpMi43NDYgRSBGMShwb3BkKTIuNzQ2IEUKK0YgMS40MzEodXQgdGhlKS0uMiBGIEYxKHB1c2hkKTE0NCA1ODggUSBGMChhbmQpMi43NDYgRSBGMShwb3BkKTIuNzQ2IEUKIEYwIC0uMihidSkyLjc0NiBHIC4yNDYoaWx0aW5zIG11c3QgYmUgdXNlZCB0byBhZGQgYW5kIHJlbW8pLjIgRiAuNTQ2CiAtLjE1KHZlIGQpLS4xNSBIIDIuNzQ2KGlyZWN0b3JpZXMuIEFzc2lnbm1lbnQpLjE1IEYgLjI0Nih0byB0aGlzIHYpMi43NDYKLUYoYXJpYWJsZSktLjI1IEUgLjM1MSh3aWxsIG5vdCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5KTE0NCAzNjcuMiBSCitGKGFyaWFibGUpLS4yNSBFIC4zNTEod2lsbCBub3QgY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSkxNDQgNjAwIFIKIDUuMzUoLkkpLS42NSBHKGYpLTUuMzUgRSBGMyhESVJTVCkyLjg1IEUgLS40OTUoQUMpLS44MSBHKEspLjQ5NSBFIEYwIC4zNQogKGlzIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLCBlKTIuNiBGIC0uMTUodmUpLS4yNSBHIDIuODUKLShuaSkuMTUgRyhmKS0yLjg1IEUoaXQgaXMgc3Vic2VxdWVudGx5IHJlc2V0LikxNDQgMzc5LjIgUSBGMShFVUlEKTEwOAotMzk2IFEgRjAgMS4xMDMoRXhwYW5kcyB0byB0aGUgZWYpMTEgRihmZWN0aSktLjI1IEUgMS40MDMgLS4xNSh2ZSB1KS0uMjUKLUggMS4xMDMoc2VyIElEIG9mIHRoZSBjdXJyZW50IHVzZXIpLjE1IEYgMy42MDMoLGkpLS40IEcgMS4xMDMKKyhuaSkuMTUgRyhmKS0yLjg1IEUoaXQgaXMgc3Vic2VxdWVudGx5IHJlc2V0LikxNDQgNjEyIFEgRjEoRVVJRCkxMDggNjI0CitRIEYwIDEuMTAzKEV4cGFuZHMgdG8gdGhlIGVmKTExIEYoZmVjdGkpLS4yNSBFIDEuNDAzIC0uMTUodmUgdSktLjI1IEgKKzEuMTAzKHNlciBJRCBvZiB0aGUgY3VycmVudCB1c2VyKS4xNSBGIDMuNjAzKCxpKS0uNCBHIDEuMTAzCiAobml0aWFsaXplZCBhdCBzaGVsbCBzdGFydHVwLiktMy42MDMgRiAxLjEwNChUaGlzIHYpNi4xMDMgRiAxLjEwNAotKGFyaWFibGUgaXMpLS4yNSBGKHJlYWRvbmx5KTE0NCA0MDggUSguKS0uNjUgRSBGMShGVU5DTikxMDggNDI0LjggUShBTUUpCi0tLjIgRSBGMCAuNDc5KEFuIGFycmF5IHYpMTQ0IDQzNi44IFIgLjQ3OQorKGFyaWFibGUgaXMpLS4yNSBGKHJlYWRvbmx5KTE0NCA2MzYgUSguKS0uNjUgRSBGMShGVU5DTikxMDggNjQ4IFEoQU1FKQorLS4yIEUgRjAgLjQ3OShBbiBhcnJheSB2KTE0NCA2NjAgUiAuNDc5CiAoYXJpYWJsZSBjb250YWluaW5nIHRoZSBuYW1lcyBvZiBhbGwgc2hlbGwgZnVuY3Rpb25zIGN1cnJlbnRseSBpbiB0aGUgZSkKIC0uMjUgRiAtLjE1KHhlKS0uMTUgRyAuNDc4KGN1dGlvbiBjYWxsIHN0YWNrLikuMTUgRiAuMjc2Ci0oVGhlIGVsZW1lbnQgd2l0aCBpbmRlKTE0NCA0NDguOCBSIDIuNzc2KHgwaSktLjE1IEcgMi43NzYoc3QpLTIuNzc2IEcKLS4yNzYoaGUgbmFtZSBvZiBhbiktMi43NzYgRiAyLjc3Nyh5YyktLjE1IEcodXJyZW50bHktZSktMi43NzcgRSAtLjE1KHhlKQotLS4xNSBHIC4yNzcoY3V0aW5nIHNoZWxsIGZ1bmN0aW9uLikuMTUgRiAuMjc3KFRoZSBib3R0b20tbW9zdCk1LjI3NyBGCi0uMjUoZWxlbWVudCBpcykxNDQgNDYwLjggUi9GNCAxMC9Db3VyaWVyQDAgU0YoIm1haW4iKTIuNzUgRSBGMCA1LjI1KC5UKUMKLS4yNShoaXMgdiktNS4yNSBGIC4yNShhcmlhYmxlIGUpLS4yNSBGIC4yNQotKHhpc3RzIG9ubHkgd2hlbiBhIHNoZWxsIGZ1bmN0aW9uIGlzIGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHIDIuNzUKLShjdXRpbmcuIEFzc2lnbm1lbnRzKS4xNSBGKHRvKTIuNzUgRSBGMyhGVU5DTikxNDQgNDcyLjggUShBTUUpLS4xOCBFIEYwCi0oaGEpMi42MzQgRSAuNjg0IC0uMTUodmUgbiktLjIgSCAyLjg4NChvZSkuMTUgRyAtLjI1KGZmKS0yLjg4NCBHIC4zODQKLShlY3QgYW5kIHJldHVybiBhbiBlcnJvciBzdGF0dXMuKS4yNSBGKElmKTUuMzg1IEUgRjMoRlVOQ04pMi44ODUgRShBTUUpCi0tLjE4IEUgRjAgLjM4NShpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZWNpYWwpMi42MzUgRihwcm9wZXJ0aWVzLCBlKTE0NAotNDg0LjggUSAtLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcgMi41KGZpKS0yLjUgRyAyLjUodGkpLTIuNSBHIDIuNShzcykKLS0yLjUgRyh1YnNlcXVlbnRseSByZXNldC4pLTIuNSBFIEYxKEdSKTEwOCA1MDEuNiBRKE9VUFMpLS4zIEUgRjAgMS4yMjkKLShBbiBhcnJheSB2KTE0NCA1MTMuNiBSIDEuMjI4KGFyaWFibGUgY29udGFpbmluZyB0aGUgbGlzdCBvZiBncm91cHMgb2YgXAotd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBpcyBhIG1lbWJlciktLjI1IEYgNi4yMjgoLkEpLS41NSBHKHNzaWduLSktNi4yMjgKLUUgLjU5NihtZW50cyB0bykxNDQgNTI1LjYgUiBGMyhHUikzLjA5NiBFKE9VUFMpLS4yNyBFIEYwKGhhKTIuODQ3IEUgLjg5NwotLS4xNSh2ZSBuKS0uMiBIIDMuMDk3KG9lKS4xNSBHIC0uMjUoZmYpLTMuMDk3IEcgLjU5NwotKGVjdCBhbmQgcmV0dXJuIGFuIGVycm9yIHN0YXR1cy4pLjI1IEYoSWYpNS41OTcgRSBGMyhHUikzLjA5NyBFKE9VUFMpCi0tLjI3IEUgRjAgLjU5NyhpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZS0pMi44NDcgRihjaWFsIHByb3BlcnRpZXMsIGUpCi0xNDQgNTM3LjYgUSAtLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcgMi41KGZpKS0yLjUgRyAyLjUodGkpLTIuNSBHIDIuNQotKHNzKS0yLjUgRyh1YnNlcXVlbnRseSByZXNldC4pLTIuNSBFIEYxKEhJU1RDTUQpMTA4IDU1NC40IFEgRjAgLjM1NgotKFRoZSBoaXN0b3J5IG51bWJlcikxNDQgNTY2LjQgUiAyLjg1NigsbyktLjQgRyAyLjg1NihyaSktMi44NTYgRyhuZGUpCi0tMi44NTYgRSAyLjg1Nih4aSktLjE1IEcgMi44NTYobnQpLTIuODU2IEcgLjM1NgotKGhlIGhpc3RvcnkgbGlzdCwgb2YgdGhlIGN1cnJlbnQgY29tbWFuZC4pLTIuODU2IEYoSWYpNS4zNTYgRSBGMwotKEhJU1RDTUQpMi44NTUgRSBGMCAuMzU1KGlzIHVuc2V0LCBpdCkyLjYwNSBGCi0obG9zZXMgaXRzIHNwZWNpYWwgcHJvcGVydGllcywgZSkxNDQgNTc4LjQgUSAtLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcKLTIuNShmaSktMi41IEcgMi41KHRpKS0yLjUgRyAyLjUoc3MpLTIuNSBHKHVic2VxdWVudGx5IHJlc2V0LiktMi41IEUgRjEKLShIT1NUTikxMDggNTk1LjIgUShBTUUpLS4yIEUgRjAKLShBdXRvbWF0aWNhbGx5IHNldCB0byB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBob3N0LikxNDQgNjA3LjIgUSBGMQotKEhPU1RUWVBFKTEwOCA2MjQgUSBGMCAuMjIyKEF1dG9tYXRpY2FsbHkgc2V0IHRvIGEgc3RyaW5nIHRoYXQgdW5pcXVlbHlcCi0gZGVzY3JpYmVzIHRoZSB0eXBlIG9mIG1hY2hpbmUgb24gd2hpY2gpMTQ0IDYzNiBSIEYxKGJhc2gpMi43MjMgRSBGMAotLjIyMyhpcyBlKTIuNzIzIEYgLS4xNSh4ZSktLjE1IEcoY3V0LSkuMTUgRSAyLjUoaW5nLiBUaGUpMTQ0IDY0OCBSKGRlZikKLTIuNSBFKGF1bHQgaXMgc3lzdGVtLWRlcGVuZGVudC4pLS4xIEUgRjEoTElORU5PKTEwOCA2NjQuOCBRIEYwIDEuNDA4KEVhXAotY2ggdGltZSB0aGlzIHBhcmFtZXRlciBpcyByZWZlcmVuY2VkLCB0aGUgc2hlbGwgc3Vic3RpdHV0ZXMgYSBkZWNpbWFsIG5cCi11bWJlciByZXByZXNlbnRpbmcgdGhlKTE0NCA2NzYuOCBSIC4wNzgoY3VycmVudCBzZXF1ZW50aWFsIGxpbmUgbnVtYmVyIFwKLVwoc3RhcnRpbmcgd2l0aCAxXCkgd2l0aGluIGEgc2NyaXB0IG9yIGZ1bmN0aW9uLikxNDQgNjg4LjggUiAuMDc5Ci0oV2hlbiBub3QgaW4gYSBzY3JpcHQgb3IpNS4wNzggRiAuMzA3KGZ1bmN0aW9uLCB0aGUgdikxNDQgNzAwLjggUiAuMzA3Ci0oYWx1ZSBzdWJzdGl0dXRlZCBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBtZWFuaW5nZnVsLiktLjI1IEYoSWYpNS4zMDYgRQotRjMoTElORU5PKTIuODA2IEUgRjAgLjMwNihpcyB1bnNldCwgaXQgbG9zZXMgaXRzKTIuNTU2IEYKLShzcGVjaWFsIHByb3BlcnRpZXMsIGUpMTQ0IDcxMi44IFEgLS4xNSh2ZSktLjI1IEcgMi41KG5pKS4xNSBHIDIuNShmaSkKLS0yLjUgRyAyLjUodGkpLTIuNSBHIDIuNShzcyktMi41IEcodWJzZXF1ZW50bHkgcmVzZXQuKS0yLjUgRQotKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgxMSkxODUuOTU1IEUgMCBDZyBFUAorKFRoZSBlbGVtZW50IHdpdGggaW5kZSkxNDQgNjcyIFIgMi43NzYoeDBpKS0uMTUgRyAyLjc3NihzdCktMi43NzYgRyAuMjc2CisoaGUgbmFtZSBvZiBhbiktMi43NzYgRiAyLjc3Nyh5YyktLjE1IEcodXJyZW50bHktZSktMi43NzcgRSAtLjE1KHhlKS0uMTUKK0cgLjI3NyhjdXRpbmcgc2hlbGwgZnVuY3Rpb24uKS4xNSBGIC4yNzcoVGhlIGJvdHRvbS1tb3N0KTUuMjc3IEYgLjM4NQorKGVsZW1lbnQgXCh0aGUgb25lIHdpdGggdGhlIGhpZ2hlc3QgaW5kZSkxNDQgNjg0IFIgLjM4NCh4XCkgaXMpLS4xNSBGL0Y1CisxMC9Db3VyaWVyQDAgU0YoIm1haW4iKTIuODg0IEUgRjAgNS4zODQoLlQpQyAuMzg0KGhpcyB2KS01LjM4NCBGIC4zODQKKyhhcmlhYmxlIGUpLS4yNSBGIC4zODQoeGlzdHMgb25seSB3aGVuIGEgc2hlbGwgZnVuYy0pLS4xNSBGIC4wMzQKKyh0aW9uIGlzIGUpMTQ0IDY5NiBSIC0uMTUoeGUpLS4xNSBHIDIuNTM0KGN1dGluZy4gQXNzaWdubWVudHMpLjE1IEYodG8pCisyLjUzNSBFIEYzKEZVTkNOKTIuNTM1IEUoQU1FKS0uMTggRSBGMChoYSkyLjI4NSBFIC4zMzUgLS4xNSh2ZSBuKS0uMiBICisyLjUzNShvZSkuMTUgRyAtLjI1KGZmKS0yLjUzNSBHIC4wMzUoZWN0IGFuZCByZXR1cm4gYW4gZXJyb3Igc3RhdHVzLikuMjUKK0YoSWYpNS4wMzUgRSBGMyhGVU5DLSkyLjUzNSBFIC0uMTgoTkEpMTQ0IDcwOCBTKE1FKS4xOCBFIEYwCisoaXMgdW5zZXQsIGl0IGxvc2VzIGl0cyBzcGVjaWFsIHByb3BlcnRpZXMsIGUpMi4yNSBFIC0uMTUodmUpLS4yNSBHIDIuNQorKG5pKS4xNSBHIDIuNShmaSktMi41IEcgMi41KHRpKS0yLjUgRyAyLjUoc3MpLTIuNSBHKHVic2VxdWVudGx5IHJlc2V0LikKKy0yLjUgRSAzLjE3NihUaGlzIHYpMTQ0IDcyNiBSIDMuMTc2KGFyaWFibGUgY2FuIGJlIHVzZWQgd2l0aCktLjI1IEYgRjEKKy0uMyhCQSk1LjY3NSBHKFNIX0xJTkVOTykuMyBFIEYwKGFuZCk1LjY3NSBFIEYxIC0uMyhCQSk1LjY3NSBHCisoU0hfU09VUkNFKS4zIEUgRjAgOC4xNzUoLkUpQyAzLjE3NShhY2ggZWxlbWVudCBvZiktOC4xNzUgRgorKEdOVSBCYXNoLTQuMik3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSgxMSkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAxMiAxMgogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoTUEpMTA4IDg0IFEoQ0hUWVBFKS0uNTUgRSBGMCAuODk4KEF1dG9tYXRpXAotY2FsbHkgc2V0IHRvIGEgc3RyaW5nIHRoYXQgZnVsbHkgZGVzY3JpYmVzIHRoZSBzeXN0ZW0gdHlwZSBvbiB3aGljaCkxNDQKLTk2IFIgRjEoYmFzaCkzLjM5OCBFIEYwIC44OTkoaXMgZSkzLjM5OCBGIC0uMTUoeGUpLS4xNSBHIC44OTkKLShjdXRpbmcsIGluKS4xNSBGKHRoZSBzdGFuZGFyZCBHTlUpMTQ0IDEwOCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKEZVTkNOKTE0NCA4NCBRKEFNRSktLjIgRSBGMCAuMTEKKyhoYXMgY29ycmVzcG9uZGluZyBlbGVtZW50cyBpbikyLjYxIEYgRjEgLS4zKEJBKTIuNjEgRyhTSF9MSU5FTk8pLjMgRSBGMAorKGFuZCkyLjYxIEUgRjEgLS4zKEJBKTIuNjEgRyhTSF9TT1VSQ0UpLjMgRSBGMCAuMTEodG8gZGVzY3JpYmUpMi42MSBGCisxMC4wNTcodGhlIGNhbGwgc3RhY2suKTE0NCA5NiBSIC0uMTUoRm8pMTUuMDU3IEcgMTIuNTU3KHJpKS4xNSBHCisobnN0YW5jZSwpLTEyLjU1NyBFIEYxKCR7RlVOQ04pMTIuNTU3IEUoQU1FWyktLjIgRS9GMiAxMC9UaW1lcy1JdGFsaWNAMAorU0YoJGkpQSBGMShdfSlBIEYwIC0uMSh3YSkxMi41NTcgRyAxMi41NTcoc2MpLjEgRyAxMC4wNTcKKyhhbGxlZCBmcm9tIHRoZSBcMjE0bGUpLTEyLjU1NyBGIEYxKCR7QikxNDQgMTA4IFEoQVNIX1NPVVJDRVspLS4zIEUgRjIKKygkaSsxKUEgRjEoXX0pQSBGMCAxLjA5MShhdCBsaW5lIG51bWJlcikzLjU5MSBGIEYxKCR7QikzLjU5MSBFCisoQVNIX0xJTkVOT1spLS4zIEUgRjIoJGkpQSBGMShdfSlBIEYwIDYuMDkxKC5UKUMoaGUpLTYuMDkxIEUgRjEoY2FsbGVyKQorMy41OTEgRSBGMCAtLjIoYnUpMy41OTIgRyAxLjA5MihpbHRpbiBkaXNwbGF5cykuMiBGCisodGhlIGN1cnJlbnQgY2FsbCBzdGFjayB1c2luZyB0aGlzIGluZm9ybWF0aW9uLikxNDQgMTIwIFEgRjEoR1IpMTA4IDEzMgorUShPVVBTKS0uMyBFIEYwIDEuMjI5KEFuIGFycmF5IHYpMTQ0IDE0NCBSIDEuMjI4KGFyaWFibGUgY29udGFpbmluZyB0aGVcCisgbGlzdCBvZiBncm91cHMgb2Ygd2hpY2ggdGhlIGN1cnJlbnQgdXNlciBpcyBhIG1lbWJlciktLjI1IEYgNi4yMjgoLkEpCistLjU1IEcoc3NpZ24tKS02LjIyOCBFIC41OTYobWVudHMgdG8pMTQ0IDE1NiBSL0YzIDkvVGltZXMtQm9sZEAwIFNGKEdSKQorMy4wOTYgRShPVVBTKS0uMjcgRSBGMChoYSkyLjg0NyBFIC44OTcgLS4xNSh2ZSBuKS0uMiBIIDMuMDk3KG9lKS4xNSBHCistLjI1KGZmKS0zLjA5NyBHIC41OTcoZWN0IGFuZCByZXR1cm4gYW4gZXJyb3Igc3RhdHVzLikuMjUgRihJZik1LjU5NyBFCitGMyhHUikzLjA5NyBFKE9VUFMpLS4yNyBFIEYwIC41OTcoaXMgdW5zZXQsIGl0IGxvc2VzIGl0cyBzcGUtKTIuODQ3IEYKKyhjaWFsIHByb3BlcnRpZXMsIGUpMTQ0IDE2OCBRIC0uMTUodmUpLS4yNSBHIDIuNShuaSkuMTUgRyAyLjUoZmkpLTIuNSBHCisyLjUodGkpLTIuNSBHIDIuNShzcyktMi41IEcodWJzZXF1ZW50bHkgcmVzZXQuKS0yLjUgRSBGMShISVNUQ01EKTEwOCAxODAKK1EgRjAgLjM1NihUaGUgaGlzdG9yeSBudW1iZXIpMTQ0IDE5MiBSIDIuODU2KCxvKS0uNCBHIDIuODU2KHJpKS0yLjg1NiBHCisobmRlKS0yLjg1NiBFIDIuODU2KHhpKS0uMTUgRyAyLjg1NihudCktMi44NTYgRyAuMzU2CisoaGUgaGlzdG9yeSBsaXN0LCBvZiB0aGUgY3VycmVudCBjb21tYW5kLiktMi44NTYgRihJZik1LjM1NiBFIEYzCisoSElTVENNRCkyLjg1NSBFIEYwIC4zNTUoaXMgdW5zZXQsIGl0KTIuNjA1IEYKKyhsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLCBlKTE0NCAyMDQgUSAtLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcKKzIuNShmaSktMi41IEcgMi41KHRpKS0yLjUgRyAyLjUoc3MpLTIuNSBHKHVic2VxdWVudGx5IHJlc2V0LiktMi41IEUgRjEKKyhIT1NUTikxMDggMjE2IFEoQU1FKS0uMiBFIEYwCisoQXV0b21hdGljYWxseSBzZXQgdG8gdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgaG9zdC4pMTQ0IDIyOCBRIEYxCisoSE9TVFRZUEUpMTA4IDI0MCBRIEYwIC4yMjIoQXV0b21hdGljYWxseSBzZXQgdG8gYSBzdHJpbmcgdGhhdCB1bmlxdWVseVwKKyBkZXNjcmliZXMgdGhlIHR5cGUgb2YgbWFjaGluZSBvbiB3aGljaCkxNDQgMjUyIFIgRjEoYmFzaCkyLjcyMyBFIEYwCisuMjIzKGlzIGUpMi43MjMgRiAtLjE1KHhlKS0uMTUgRyhjdXQtKS4xNSBFIDIuNShpbmcuIFRoZSkxNDQgMjY0IFIoZGVmKQorMi41IEUoYXVsdCBpcyBzeXN0ZW0tZGVwZW5kZW50LiktLjEgRSBGMShMSU5FTk8pMTA4IDI3NiBRIEYwIDEuNDA4KEVhY2hcCisgdGltZSB0aGlzIHBhcmFtZXRlciBpcyByZWZlcmVuY2VkLCB0aGUgc2hlbGwgc3Vic3RpdHV0ZXMgYSBkZWNpbWFsIG51bVwKK2JlciByZXByZXNlbnRpbmcgdGhlKTE0NCAyODggUiAuMDc4KGN1cnJlbnQgc2VxdWVudGlhbCBsaW5lIG51bWJlciBcKHN0XAorYXJ0aW5nIHdpdGggMVwpIHdpdGhpbiBhIHNjcmlwdCBvciBmdW5jdGlvbi4pMTQ0IDMwMCBSIC4wNzkKKyhXaGVuIG5vdCBpbiBhIHNjcmlwdCBvcik1LjA3OCBGIC4zMDcoZnVuY3Rpb24sIHRoZSB2KTE0NCAzMTIgUiAuMzA3CisoYWx1ZSBzdWJzdGl0dXRlZCBpcyBub3QgZ3VhcmFudGVlZCB0byBiZSBtZWFuaW5nZnVsLiktLjI1IEYoSWYpNS4zMDYgRQorRjMoTElORU5PKTIuODA2IEUgRjAgLjMwNihpcyB1bnNldCwgaXQgbG9zZXMgaXRzKTIuNTU2IEYKKyhzcGVjaWFsIHByb3BlcnRpZXMsIGUpMTQ0IDMyNCBRIC0uMTUodmUpLS4yNSBHIDIuNShuaSkuMTUgRyAyLjUoZmkpLTIuNQorRyAyLjUodGkpLTIuNSBHIDIuNShzcyktMi41IEcodWJzZXF1ZW50bHkgcmVzZXQuKS0yLjUgRSBGMShNQSkxMDggMzM2IFEKKyhDSFRZUEUpLS41NSBFIEYwIC44OTgoQXV0b21hdGljYWxseSBzZXQgdG8gYSBzdHJpbmcgdGhhdCBmdWxseSBkZXNjcmliXAorZXMgdGhlIHN5c3RlbSB0eXBlIG9uIHdoaWNoKTE0NCAzNDggUiBGMShiYXNoKTMuMzk4IEUgRjAgLjg5OShpcyBlKTMuMzk4CitGIC0uMTUoeGUpLS4xNSBHIC44OTkoY3V0aW5nLCBpbikuMTUgRih0aGUgc3RhbmRhcmQgR05VKTE0NCAzNjAgUSBGMgogKGNwdS1jb21wYW55LXN5c3RlbSkyLjUgRSBGMCAyLjUoZm9ybWF0LiBUaGUpMi41IEYoZGVmKTIuNSBFCi0oYXVsdCBpcyBzeXN0ZW0tZGVwZW5kZW50LiktLjEgRSBGMShPTERQV0QpMTA4IDEyNC44IFEgRjAoVGhlIHByZSkxNDQKLTEzNi44IFEodmlvdXMgdyktLjI1IEUob3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkgdGhlKS0uMSBFIEYxKGNkKTIuNSBFCi1GMChjb21tYW5kLikyLjUgRSBGMShPUFQpMTA4IDE1My42IFEoQVJHKS0uOSBFIEYwIDEuNjI3KFRoZSB2KTE0NCAxNjUuNgotUiAxLjYyNyhhbHVlIG9mIHRoZSBsYXN0IG9wdGlvbiBhciktLjI1IEYgMS42MjcoZ3VtZW50IHByb2Nlc3NlZCBieSB0aGUpCi0tLjE4IEYgRjEoZ2V0b3B0cyk0LjEyNyBFIEYwIC0uMihidSk0LjEyNyBHIDEuNjI2KGlsdGluIGNvbW1hbmQgXChzZWUpLjIKLUYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoU0hFTEwpNC4xMjYgRSAtLjA5KEJVKTE0NCAxNzcuNiBTKElMKS4wOSBFCi0oVElOIENPTU1BTkRTKS0uODI4IEUgRjAoYmVsbykyLjI1IEUod1wpLiktLjI1IEUgRjEoT1BUSU5EKTEwOCAxOTQuNCBRCi1GMCAxLjY1MShUaGUgaW5kZSkxNDQgMjA2LjQgUiA0LjE1MSh4byktLjE1IEcgNC4xNTEoZnQpLTQuMTUxIEcgMS42NTEKLShoZSBuZSktNC4xNTEgRiAxLjY1MSh4dCBhciktLjE1IEYgMS42NTIoZ3VtZW50IHRvIGJlIHByb2Nlc3NlZCBieSB0aGUpCi0tLjE4IEYgRjEoZ2V0b3B0cyk0LjE1MiBFIEYwIC0uMihidSk0LjE1MiBHIDEuNjUyKGlsdGluIGNvbW1hbmQgXChzZWUpLjIKLUYgRjMoU0hFTEwpNC4xNTIgRSAtLjA5KEJVKTE0NCAyMTguNCBTKElMKS4wOSBFKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwCi0oYmVsbykyLjI1IEUod1wpLiktLjI1IEUgRjEoT1NUWVBFKTEwOCAyMzUuMiBRIEYwIC4zMjkoQXV0b21hdGljYWxseSBzZVwKLXQgdG8gYSBzdHJpbmcgdGhhdCBkZXNjcmliZXMgdGhlIG9wZXJhdGluZyBzeXN0ZW0gb24gd2hpY2gpMTQ0IDI0Ny4yIFIKLUYxKGJhc2gpMi44MjkgRSBGMCAuMzI5KGlzIGUpMi44MjkgRiAtLjE1KHhlKS0uMTUgRyAyLjgyOShjdXRpbmcuIFRoZSkKLS4xNSBGKGRlZikxNDQgMjU5LjIgUShhdWx0IGlzIHN5c3RlbS1kZXBlbmRlbnQuKS0uMSBFIEYxKFBJUEVTVCkxMDggMjc2Ci1RIC0uOTUoQVQpLS45IEcoVVMpLjk1IEUgRjAgLjYxKEFuIGFycmF5IHYpMTQ0IDI4OCBSIC42MShhcmlhYmxlIFwoc2VlKQotLS4yNSBGIEYxKEFycmF5cykzLjExIEUgRjAoYmVsbykzLjExIEUgLjYxKHdcKSBjb250YWluaW5nIGEgbGlzdCBvZiBlKQotLS4yNSBGIC42MSh4aXQgc3RhdHVzIHYpLS4xNSBGIC42MShhbHVlcyBmcm9tIHRoZSBwcm9jZXNzZXMgaW4pLS4yNSBGCi0odGhlIG1vc3QtcmVjZW50bHktZSkxNDQgMzAwIFEgLS4xNSh4ZSktLjE1IEcoY3V0ZWQgZm9yZSkuMTUgRQotKGdyb3VuZCBwaXBlbGluZSBcKHdoaWNoIG1heSBjb250YWluIG9ubHkgYSBzaW5nbGUgY29tbWFuZFwpLiktLjE1IEUgRjEKLShQUElEKTEwOCAzMTYuOCBRIEYwKFRoZSBwcm9jZXNzIElEIG9mIHRoZSBzaGVsbCcpMTIuNjcgRSAyLjUoc3ApLS41NSBHCi0yLjUoYXJlbnQuIFRoaXMpLTIuNSBGIC0uMjUodmEpMi41IEcocmlhYmxlIGlzIHJlYWRvbmx5KS4yNSBFKC4pLS42NSBFCi1GMShQV0QpMTA4IDMzMy42IFEgRjAoVGhlIGN1cnJlbnQgdykxMi42NyBFCisoYXVsdCBpcyBzeXN0ZW0tZGVwZW5kZW50LiktLjEgRSBGMShNQVBGSUxFKTEwOCAzNzIgUSBGMCAuMjk0CisoQW4gYXJyYXkgdikxNDQgMzg0IFIgLjI5NChhcmlhYmxlIFwoc2VlKS0uMjUgRiBGMShBcnJheXMpMi43OTQgRSBGMAorKGJlbG8pMi43OTQgRSAuMjk0KHdcKSBjcmVhdGVkIHRvIGhvbGQgdGhlIHRlKS0uMjUgRiAuMjkzCisoeHQgcmVhZCBieSB0aGUpLS4xNSBGIEYxKG1hcFwyMTRsZSkyLjc5MyBFIEYwIC0uMihidSkyLjc5MyBHIC4yOTMKKyhpbHRpbiB3aGVuIG5vKS4yIEYgLS4yNSh2YSkxNDQgMzk2IFMocmlhYmxlIG5hbWUgaXMgc3VwcGxpZWQuKS4yNSBFIEYxCisoT0xEUFdEKTEwOCA0MDggUSBGMChUaGUgcHJlKTE0NCA0MjAgUSh2aW91cyB3KS0uMjUgRQogKG9ya2luZyBkaXJlY3RvcnkgYXMgc2V0IGJ5IHRoZSktLjEgRSBGMShjZCkyLjUgRSBGMChjb21tYW5kLikyLjUgRSBGMQotKFJBTkRPTSkxMDggMzUwLjQgUSBGMCAuNTY2Ci0oRWFjaCB0aW1lIHRoaXMgcGFyYW1ldGVyIGlzIHJlZmVyZW5jZWQsIGEgcmFuZG9tIGludGUpMTQ0IDM2Mi40IFIgLjU2NQotKGdlciBiZXR3ZWVuIDAgYW5kIDMyNzY3IGlzIGdlbmVyYXRlZC4pLS4xNSBGKFRoZSk1LjU2NSBFIC4wMQotKHNlcXVlbmNlIG9mIHJhbmRvbSBudW1iZXJzIG1heSBiZSBpbml0aWFsaXplZCBieSBhc3NpZ25pbmcgYSB2KTE0NAotMzc0LjQgUiAuMDEoYWx1ZSB0byktLjI1IEYgRjMoUkFORE9NKTIuNTEgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwCi0oSWYpNC41MSBFIEYzKFJBTkRPTSkyLjUxIEUgRjAoaXMpMi4yNiBFCi0odW5zZXQsIGl0IGxvc2VzIGl0cyBzcGVjaWFsIHByb3BlcnRpZXMsIGUpMTQ0IDM4Ni40IFEgLS4xNSh2ZSktLjI1IEcKLTIuNShuaSkuMTUgRyAyLjUoZmkpLTIuNSBHIDIuNSh0aSktMi41IEcgMi41KHNzKS0yLjUgRwotKHVic2VxdWVudGx5IHJlc2V0LiktMi41IEUgRjEoUkVQTCkxMDggNDAzLjIgUShZKS0uOTIgRSBGMAotKFNldCB0byB0aGUgbGluZSBvZiBpbnB1dCByZWFkIGJ5IHRoZSkxNDQgNDE1LjIgUSBGMSAtLjE4KHJlKTIuNSBHKGFkKQotLjE4IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQgd2hlbiBubyBhcikuMiBFCi0oZ3VtZW50cyBhcmUgc3VwcGxpZWQuKS0uMTggRSBGMShTRUNPTkRTKTEwOCA0MzIgUSBGMCAuNzk1KEVhY2ggdGltZSB0aFwKLWlzIHBhcmFtZXRlciBpcyByZWZlcmVuY2VkLCB0aGUgbnVtYmVyIG9mIHNlY29uZHMgc2luY2Ugc2hlbGwgaW4pMTQ0IDQ0NAotUiAtLjIodm8pLS40IEcgLjc5NShjYXRpb24gaXMgcmV0dXJuZWQuKS4yIEYgLjcxMihJZiBhIHYpMTQ0IDQ1NiBSIC43MTIKLShhbHVlIGlzIGFzc2lnbmVkIHRvKS0uMjUgRiBGMyhTRUNPTkRTKTMuMjEyIEUgRjQoLClBIEYwIC43MTIodGhlIHYpCi0yLjk2MiBGIC43MTIoYWx1ZSByZXR1cm5lZCB1cG9uIHN1YnNlcXVlbnQgcmVmZXJlbmNlcyBpcyB0aGUgbnVtYmVyKS0uMjUKLUYgLjQwOChvZiBzZWNvbmRzIHNpbmNlIHRoZSBhc3NpZ25tZW50IHBsdXMgdGhlIHYpMTQ0IDQ2OCBSIC40MDgKLShhbHVlIGFzc2lnbmVkLiktLjI1IEYoSWYpNS40MDggRSBGMyhTRUNPTkRTKTIuOTA4IEUgRjAgLjQwNwotKGlzIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCkyLjY1OCBGKHByb3BlcnRpZXMsIGUpMTQ0IDQ4MCBRIC0uMTUodmUpCi0tLjI1IEcgMi41KG5pKS4xNSBHIDIuNShmaSktMi41IEcgMi41KHRpKS0yLjUgRyAyLjUoc3MpLTIuNSBHCi0odWJzZXF1ZW50bHkgcmVzZXQuKS0yLjUgRSBGMShTSEVMTE9QVFMpMTA4IDQ5Ni44IFEgRjAgMy4yNjIoQWMpMTQ0Ci01MDguOCBTIC43NjMob2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBlbmFibGVkIHNoZWxsIG9wdGlvbnMuKS0zLjI2MiBGIC43NjMKLShFYWNoIHcpNS43NjMgRiAuNzYzKG9yZCBpbiB0aGUgbGlzdCBpcyBhIHYpLS4xIEYgLjc2MyhhbGlkIGFyKS0uMjUgRgotLjc2MyhndW1lbnQgZm9yIHRoZSktLjE4IEYgRjE8YWQ2Zj4xNDQgNTIwLjggUSBGMCAxLjE3NChvcHRpb24gdG8gdGhlKQotMy42NzQgRiBGMShzZXQpMy42NzQgRSBGMCAtLjIoYnUpMy42NzQgRyAxLjE3NChpbHRpbiBjb21tYW5kIFwoc2VlKS4yIEYKLUYzIDEuMTczKFNIRUxMIEIpMy42NzMgRihVSUwpLS4wOSBFIDEuMTczKFRJTiBDT01NQU5EUyktLjgyOCBGIEYwKGJlbG8pCi0zLjQyMyBFIDMuNjczKHdcKS4gVGhlKS0uMjUgRihvcHRpb25zKTMuNjczIEUgLjAxOShhcHBlYXJpbmcgaW4pMTQ0Ci01MzIuOCBSIEYzKFNIRUxMT1BUUykyLjUxOSBFIEYwIC4wMTkoYXJlIHRob3NlIHJlcG9ydGVkIGFzKTIuMjY5IEYgRjIKLShvbikyLjc0OSBFIEYwKGJ5KTIuNzU5IEUgRjEgLjAxOShzZXQgXDI1NW8pMi41MTkgRiBGMCA1LjAxOSguSSlDIDIuNTE5Ci0oZnQpLTUuMDE5IEcgLjAxOShoaXMgdiktMi41MTkgRiAuMDIoYXJpYWJsZSBpcyBpbiB0aGUgZW4pLS4yNSBGCi0odmlyb25tZW50KS0uNCBFKHdoZW4pMTQ0IDU0NC44IFEgRjEoYmFzaCkzLjE0MiBFIEYwIC42NDIoc3RhcnRzIHVwLCBlYVwKLWNoIHNoZWxsIG9wdGlvbiBpbiB0aGUgbGlzdCB3aWxsIGJlIGVuYWJsZWQgYmVmb3JlIHJlYWRpbmcgYW4pMy4xNDIgRgotMy4xNDEoeXMpLS4xNSBHIC42NDEodGFydHVwIFwyMTRsZXMuKS0zLjE0MSBGKFRoaXMgdikxNDQgNTU2LjggUQotKGFyaWFibGUgaXMgcmVhZC1vbmx5KS0uMjUgRSguKS0uNjUgRSBGMShTSEwpMTA4IDU3My42IFEoVkwpLS45MiBFIEYwCi0oSW5jcmVtZW50ZWQgYnkgb25lIGVhY2ggdGltZSBhbiBpbnN0YW5jZSBvZikxNDQgNTg1LjYgUSBGMShiYXNoKTIuNSBFCi1GMChpcyBzdGFydGVkLikyLjUgRSBGMShVSUQpMTA4IDYwMi40IFEgRjAKLShFeHBhbmRzIHRvIHRoZSB1c2VyIElEIG9mIHRoZSBjdXJyZW50IHVzZXIpMTcuNjcgRSAyLjUoLGkpLS40IEcKLShuaXRpYWxpemVkIGF0IHNoZWxsIHN0YXJ0dXAuKS0yLjUgRShUaGlzIHYpNSBFKGFyaWFibGUgaXMgcmVhZG9ubHkpLS4yNQotRSguKS0uNjUgRSAuOTkzKFRoZSBmb2xsbykxMDggNjE5LjIgUiAuOTkzKHdpbmcgdiktLjI1IEYgLjk5NAotKGFyaWFibGVzIGFyZSB1c2VkIGJ5IHRoZSBzaGVsbC4pLS4yNSBGIC45OTQoSW4gc29tZSBjYXNlcywpNS45OTQgRiBGMQotKGJhc2gpMy40OTQgRSBGMCAuOTk0KGFzc2lnbnMgYSBkZWYpMy40OTQgRiAuOTk0KGF1bHQgdiktLjEgRiAuOTk0Ci0oYWx1ZSB0byBhIHYpLS4yNSBGKGFyaWFibGU7KS0uMjUgRSh0aGVzZSBjYXNlcyBhcmUgbm90ZWQgYmVsbykxMDggNjMxLjIKLVEgLS42NSh3LiktLjI1IEcgRjEgLS4zKEJBKTEwOCA2NDggUyhTSF9FTlYpLjMgRSBGMCAuNTA2Ci0oSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc2V0IHdoZW4pMTQ0IDY2MCBSIEYxKGJhc2gpMy4wMDYgRSBGMCAuNTA2KGlzIGUpCi0zLjAwNiBGIC0uMTUoeGUpLS4xNSBHIC41MDUoY3V0aW5nIGEgc2hlbGwgc2NyaXB0LCBpdHMgdikuMTUgRiAuNTA1Ci0oYWx1ZSBpcyBpbnRlcnByZXRlZCBhcyBhIFwyMTRsZW5hbWUpLS4yNSBGIC4zNTQKLShjb250YWluaW5nIGNvbW1hbmRzIHRvIGluaXRpYWxpemUgdGhlIHNoZWxsLCBhcyBpbikxNDQgNjcyIFIgRjIKLSh+Ly5iYXNocikyLjg1NSBFKGMpLS4zNyBFIEYwIDUuMzU1KC5UKS4zMSBHIC4zNTUoaGUgdiktNS4zNTUgRiAuMzU1Ci0oYWx1ZSBvZiktLjI1IEYgRjMgLS4yNyhCQSkyLjg1NSBHKFNIX0VOVikuMjcgRSBGMCAuMzU1KGlzIHN1YmplY3RlZCkKLTIuNjA1IEYgLjUyNSh0byBwYXJhbWV0ZXIgZSkxNDQgNjg0IFIgLjUyNQotKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRobWV0aWMgZSktLjE1IEYgLjUyNQotKHhwYW5zaW9uIGJlZm9yZSBiZWluZyBpbnRlcnByZXRlZCktLjE1IEYoYXMgYSBcMjE0bGUgbmFtZS4pMTQ0IDY5NiBRIEYzCi0tLjY2NihQQSk1IEcoVEgpLS4xODkgRSBGMAotKGlzIG5vdCB1c2VkIHRvIHNlYXJjaCBmb3IgdGhlIHJlc3VsdGFudCBcMjE0bGUgbmFtZS4pMi4yNSBFCi0oR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDEyKTE4NS45NTUgRSAwIENnIEVQCisoT1BUKTEwOCA0MzIgUShBUkcpLS45IEUgRjAgMS42MjYoVGhlIHYpMTQ0IDQ0NCBSIDEuNjI3CisoYWx1ZSBvZiB0aGUgbGFzdCBvcHRpb24gYXIpLS4yNSBGIDEuNjI3KGd1bWVudCBwcm9jZXNzZWQgYnkgdGhlKS0uMTggRgorRjEoZ2V0b3B0cyk0LjEyNyBFIEYwIC0uMihidSk0LjEyNyBHIDEuNjI3KGlsdGluIGNvbW1hbmQgXChzZWUpLjIgRiBGMworKFNIRUxMKTQuMTI3IEUgLS4wOShCVSkxNDQgNDU2IFMoSUwpLjA5IEUoVElOIENPTU1BTkRTKS0uODI4IEUgRjAoYmVsbykKKzIuMjUgRSh3XCkuKS0uMjUgRSBGMShPUFRJTkQpMTA4IDQ2OCBRIEYwIDEuNjUyKFRoZSBpbmRlKTE0NCA0ODAgUiA0LjE1MgorKHhvKS0uMTUgRyA0LjE1MihmdCktNC4xNTIgRyAxLjY1MihoZSBuZSktNC4xNTIgRiAxLjY1Mih4dCBhciktLjE1IEYKKzEuNjUyKGd1bWVudCB0byBiZSBwcm9jZXNzZWQgYnkgdGhlKS0uMTggRiBGMShnZXRvcHRzKTQuMTUxIEUgRjAgLS4yKGJ1KQorNC4xNTEgRyAxLjY1MShpbHRpbiBjb21tYW5kIFwoc2VlKS4yIEYgRjMoU0hFTEwpNC4xNTEgRSAtLjA5KEJVKTE0NCA0OTIKK1MoSUwpLjA5IEUoVElOIENPTU1BTkRTKS0uODI4IEUgRjAoYmVsbykyLjI1IEUod1wpLiktLjI1IEUgRjEoT1NUWVBFKTEwOAorNTA0IFEgRjAgLjMyOShBdXRvbWF0aWNhbGx5IHNldCB0byBhIHN0cmluZyB0aGF0IGRlc2NyaWJlcyB0aGUgb3BlcmF0aW5cCitnIHN5c3RlbSBvbiB3aGljaCkxNDQgNTE2IFIgRjEoYmFzaCkyLjgzIEUgRjAgLjMzKGlzIGUpMi44MyBGIC0uMTUoeGUpCistLjE1IEcgMi44MyhjdXRpbmcuIFRoZSkuMTUgRihkZWYpMTQ0IDUyOCBRKGF1bHQgaXMgc3lzdGVtLWRlcGVuZGVudC4pCistLjEgRSBGMShQSVBFU1QpMTA4IDU0MCBRIC0uOTUoQVQpLS45IEcoVVMpLjk1IEUgRjAgLjYxKEFuIGFycmF5IHYpMTQ0Cis1NTIgUiAuNjEoYXJpYWJsZSBcKHNlZSktLjI1IEYgRjEoQXJyYXlzKTMuMTEgRSBGMChiZWxvKTMuMTEgRSAuNjEKKyh3XCkgY29udGFpbmluZyBhIGxpc3Qgb2YgZSktLjI1IEYgLjYxKHhpdCBzdGF0dXMgdiktLjE1IEYgLjYxCisoYWx1ZXMgZnJvbSB0aGUgcHJvY2Vzc2VzIGluKS0uMjUgRih0aGUgbW9zdC1yZWNlbnRseS1lKTE0NCA1NjQgUSAtLjE1CisoeGUpLS4xNSBHKGN1dGVkIGZvcmUpLjE1IEUKKyhncm91bmQgcGlwZWxpbmUgXCh3aGljaCBtYXkgY29udGFpbiBvbmx5IGEgc2luZ2xlIGNvbW1hbmRcKS4pLS4xNSBFIEYxCisoUFBJRCkxMDggNTc2IFEgRjAoVGhlIHByb2Nlc3MgSUQgb2YgdGhlIHNoZWxsJykxMi42NyBFIDIuNShzcCktLjU1IEcKKzIuNShhcmVudC4gVGhpcyktMi41IEYgLS4yNSh2YSkyLjUgRyhyaWFibGUgaXMgcmVhZG9ubHkpLjI1IEUoLiktLjY1IEUKK0YxKFBXRCkxMDggNTg4IFEgRjAoVGhlIGN1cnJlbnQgdykxMi42NyBFCisob3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkgdGhlKS0uMSBFIEYxKGNkKTIuNSBFIEYwKGNvbW1hbmQuKTIuNSBFIEYxCisoUkFORE9NKTEwOCA2MDAgUSBGMCAuNTY1CisoRWFjaCB0aW1lIHRoaXMgcGFyYW1ldGVyIGlzIHJlZmVyZW5jZWQsIGEgcmFuZG9tIGludGUpMTQ0IDYxMiBSIC41NjYKKyhnZXIgYmV0d2VlbiAwIGFuZCAzMjc2NyBpcyBnZW5lcmF0ZWQuKS0uMTUgRihUaGUpNS41NjYgRSAuMDEKKyhzZXF1ZW5jZSBvZiByYW5kb20gbnVtYmVycyBtYXkgYmUgaW5pdGlhbGl6ZWQgYnkgYXNzaWduaW5nIGEgdikxNDQgNjI0CitSIC4wMShhbHVlIHRvKS0uMjUgRiBGMyhSQU5ET00pMi41MSBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAoSWYpCis0LjUxIEUgRjMoUkFORE9NKTIuNTEgRSBGMChpcykyLjI2IEUKKyh1bnNldCwgaXQgbG9zZXMgaXRzIHNwZWNpYWwgcHJvcGVydGllcywgZSkxNDQgNjM2IFEgLS4xNSh2ZSktLjI1IEcgMi41CisobmkpLjE1IEcgMi41KGZpKS0yLjUgRyAyLjUodGkpLTIuNSBHIDIuNShzcyktMi41IEcodWJzZXF1ZW50bHkgcmVzZXQuKQorLTIuNSBFIEYxKFJFQURMSU5FX0xJTkUpMTA4IDY0OCBRIEYwIDEuNTQ2KFRoZSBjb250ZW50cyBvZiB0aGUpMTQ0IDY2MCBSCitGMSAtLjE4KHJlKTQuMDQ3IEcoYWRsaW5lKS4xOCBFIEYwIDEuNTQ3KGxpbmUgYik0LjA0NyBGKHVmKS0uMiBFKGZlcikKKy0uMjUgRSA0LjA0NygsZiktLjQgRyAxLjU0NyhvciB1c2Ugd2l0aCktNC4wNDcgRi9GNSAxMC9Db3VyaWVyQDAgU0YKKzEuNTQ3KGJpbmQgLXgpNC4wNDcgRiBGMChcKHNlZSk0LjA0NyBFIEYzIDEuNTQ3KFNIRUxMIEIpNC4wNDcgRihVSUwpLS4wOQorRSAxLjU0NyhUSU4gQ09NLSktLjgyOCBGKE1BTkRTKTE0NCA2NzIgUSBGMChiZWxvKTIuMjUgRSh3XCkuKS0uMjUgRSBGMQorKFJFQURMSU5FX1BPSU5UKTEwOCA2ODQgUSBGMCAuMzE0CisoVGhlIHBvc2l0aW9uIG9mIHRoZSBpbnNlcnRpb24gcG9pbnQgaW4gdGhlKTE0NCA2OTYgUiBGMSAtLjE4KHJlKTIuODEzIEcKKyhhZGxpbmUpLjE4IEUgRjAgLjMxMyhsaW5lIGIpMi44MTMgRih1ZiktLjIgRShmZXIpLS4yNSBFIDIuODEzKCxmKS0uNCBHCisuMzEzKG9yIHVzZSB3aXRoKS0yLjgxMyBGIEY1IC4zMTMoYmluZCAteCkyLjgxMyBGIEYwKFwoc2VlKTIuODEzIEUgRjMKKyhTSEVMTCkyLjgxMyBFIC0uMDkoQlUpMTQ0IDcwOCBTKElMKS4wOSBFKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwKGJlbG8pCisyLjI1IEUod1wpLiktLjI1IEUoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDEyKQorMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMTMgMTMKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKENEUCkxMDggODQgUSAtLjk1KEFUKS0uNzQgRyhIKS45NSBFIEYwCi0xLjI0NyhUaGUgc2VhcmNoIHBhdGggZm9yIHRoZSkxNDQgOTYgUiBGMShjZCkzLjc0NyBFIEYwIDMuNzQ3Ci0oY29tbWFuZC4gVGhpcykzLjc0NyBGIDEuMjQ4CistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKFJFUEwpMTA4IDg0IFEoWSktLjkyIEUgRjAKKyhTZXQgdG8gdGhlIGxpbmUgb2YgaW5wdXQgcmVhZCBieSB0aGUpMTQ0IDk2IFEgRjEgLS4xOChyZSkyLjUgRyhhZCkuMTggRQorRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQgd2hlbiBubyBhcikuMiBFKGd1bWVudHMgYXJlIHN1cHBsaWVkLiktLjE4CitFIEYxKFNFQ09ORFMpMTA4IDEwOCBRIEYwIC43OTUoRWFjaCB0aW1lIHRoaXMgcGFyYW1ldGVyIGlzIHJlZmVyZW5jZWQsIFwKK3RoZSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSBzaGVsbCBpbikxNDQgMTIwIFIgLS4yKHZvKS0uNCBHIC43OTUKKyhjYXRpb24gaXMgcmV0dXJuZWQuKS4yIEYgLjcxMyhJZiBhIHYpMTQ0IDEzMiBSIC43MTIKKyhhbHVlIGlzIGFzc2lnbmVkIHRvKS0uMjUgRi9GMiA5L1RpbWVzLUJvbGRAMCBTRihTRUNPTkRTKTMuMjEyIEUvRjMgOQorL1RpbWVzLVJvbWFuQDAgU0YoLClBIEYwIC43MTIodGhlIHYpMi45NjIgRiAuNzEyCisoYWx1ZSByZXR1cm5lZCB1cG9uIHN1YnNlcXVlbnQgcmVmZXJlbmNlcyBpcyB0aGUgbnVtYmVyKS0uMjUgRiAuNDA3Cisob2Ygc2Vjb25kcyBzaW5jZSB0aGUgYXNzaWdubWVudCBwbHVzIHRoZSB2KTE0NCAxNDQgUiAuNDA4CisoYWx1ZSBhc3NpZ25lZC4pLS4yNSBGKElmKTUuNDA4IEUgRjIoU0VDT05EUykyLjkwOCBFIEYwIC40MDgKKyhpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZWNpYWwpMi42NTggRihwcm9wZXJ0aWVzLCBlKTE0NCAxNTYgUSAtLjE1KHZlKQorLS4yNSBHIDIuNShuaSkuMTUgRyAyLjUoZmkpLTIuNSBHIDIuNSh0aSktMi41IEcgMi41KHNzKS0yLjUgRworKHVic2VxdWVudGx5IHJlc2V0LiktMi41IEUgRjEoU0hFTExPUFRTKTEwOCAxNjggUSBGMCAzLjI2MyhBYykxNDQgMTgwIFMKKy43NjMob2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBlbmFibGVkIHNoZWxsIG9wdGlvbnMuKS0zLjI2MyBGIC43NjMoRWFjaCB3KQorNS43NjMgRiAuNzYzKG9yZCBpbiB0aGUgbGlzdCBpcyBhIHYpLS4xIEYgLjc2MyhhbGlkIGFyKS0uMjUgRiAuNzYzCisoZ3VtZW50IGZvciB0aGUpLS4xOCBGIEYxPGFkNmY+MTQ0IDE5MiBRIEYwIDEuMTczKG9wdGlvbiB0byB0aGUpMy42NzMgRgorRjEoc2V0KTMuNjczIEUgRjAgLS4yKGJ1KTMuNjczIEcgMS4xNzMoaWx0aW4gY29tbWFuZCBcKHNlZSkuMiBGIEYyIDEuMTc0CisoU0hFTEwgQikzLjY3NCBGKFVJTCktLjA5IEUgMS4xNzQoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykzLjQyNCBFCiszLjY3NCh3XCkuIFRoZSktLjI1IEYob3B0aW9ucykzLjY3NCBFIC4wMihhcHBlYXJpbmcgaW4pMTQ0IDIwNCBSIEYyCisoU0hFTExPUFRTKTIuNTIgRSBGMCAuMDE5KGFyZSB0aG9zZSByZXBvcnRlZCBhcykyLjI3IEYvRjQgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihvbikyLjc0OSBFIEYwKGJ5KTIuNzU5IEUgRjEgLjAxOShzZXQgXDI1NW8pMi41MTkgRiBGMAorNS4wMTkoLkkpQyAyLjUxOShmdCktNS4wMTkgRyAuMDE5KGhpcyB2KS0yLjUxOSBGIC4wMTkKKyhhcmlhYmxlIGlzIGluIHRoZSBlbiktLjI1IEYodmlyb25tZW50KS0uNCBFKHdoZW4pMTQ0IDIxNiBRIEYxKGJhc2gpCiszLjE0MSBFIEYwIC42NDIoc3RhcnRzIHVwLCBlYWNoIHNoZWxsIG9wdGlvbiBpbiB0aGUgbGlzdCB3aWxsIGJlIGVuYWJsZVwKK2QgYmVmb3JlIHJlYWRpbmcgYW4pMy4xNDEgRiAzLjE0Mih5cyktLjE1IEcgLjY0Mih0YXJ0dXAgXDIxNGxlcy4pLTMuMTQyCitGKFRoaXMgdikxNDQgMjI4IFEoYXJpYWJsZSBpcyByZWFkLW9ubHkpLS4yNSBFKC4pLS42NSBFIEYxKFNITCkxMDggMjQwIFEKKyhWTCktLjkyIEUgRjAoSW5jcmVtZW50ZWQgYnkgb25lIGVhY2ggdGltZSBhbiBpbnN0YW5jZSBvZikxNDQgMjUyIFEgRjEKKyhiYXNoKTIuNSBFIEYwKGlzIHN0YXJ0ZWQuKTIuNSBFIEYxKFVJRCkxMDggMjY0IFEgRjAKKyhFeHBhbmRzIHRvIHRoZSB1c2VyIElEIG9mIHRoZSBjdXJyZW50IHVzZXIpMTcuNjcgRSAyLjUoLGkpLS40IEcKKyhuaXRpYWxpemVkIGF0IHNoZWxsIHN0YXJ0dXAuKS0yLjUgRShUaGlzIHYpNSBFKGFyaWFibGUgaXMgcmVhZG9ubHkpLS4yNQorRSguKS0uNjUgRSAuOTk0KFRoZSBmb2xsbykxMDggMjgwLjggUiAuOTk0KHdpbmcgdiktLjI1IEYgLjk5NAorKGFyaWFibGVzIGFyZSB1c2VkIGJ5IHRoZSBzaGVsbC4pLS4yNSBGIC45OTQoSW4gc29tZSBjYXNlcywpNS45OTQgRiBGMQorKGJhc2gpMy40OTQgRSBGMCAuOTk0KGFzc2lnbnMgYSBkZWYpMy40OTQgRiAuOTk0KGF1bHQgdiktLjEgRiAuOTkzCisoYWx1ZSB0byBhIHYpLS4yNSBGKGFyaWFibGU7KS0uMjUgRSh0aGVzZSBjYXNlcyBhcmUgbm90ZWQgYmVsbykxMDggMjkyLjgKK1EgLS42NSh3LiktLjI1IEcgRjEgLS4zKEJBKTEwOCAzMDkuNiBTKFNIX0VOVikuMyBFIEYwIC41MDUKKyhJZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgd2hlbikxNDQgMzIxLjYgUiBGMShiYXNoKTMuMDA1IEUgRjAgLjUwNShpcyBlKQorMy4wMDUgRiAtLjE1KHhlKS0uMTUgRyAuNTA2KGN1dGluZyBhIHNoZWxsIHNjcmlwdCwgaXRzIHYpLjE1IEYgLjUwNgorKGFsdWUgaXMgaW50ZXJwcmV0ZWQgYXMgYSBcMjE0bGVuYW1lKS0uMjUgRiAuMzU1CisoY29udGFpbmluZyBjb21tYW5kcyB0byBpbml0aWFsaXplIHRoZSBzaGVsbCwgYXMgaW4pMTQ0IDMzMy42IFIgRjQKKyh+Ly5iYXNocikyLjg1NSBFKGMpLS4zNyBFIEYwIDUuMzU0KC5UKS4zMSBHIC4zNTQoaGUgdiktNS4zNTQgRiAuMzU0CisoYWx1ZSBvZiktLjI1IEYgRjIgLS4yNyhCQSkyLjg1NCBHKFNIX0VOVikuMjcgRSBGMCAuMzU0KGlzIHN1YmplY3RlZCkKKzIuNjA0IEYgLjUyNSh0byBwYXJhbWV0ZXIgZSkxNDQgMzQ1LjYgUiAuNTI1CisoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhbmQgYXJpdGhtZXRpYyBlKS0uMTUgRiAuNTI1CisoeHBhbnNpb24gYmVmb3JlIGJlaW5nIGludGVycHJldGVkKS0uMTUgRihhcyBhIFwyMTRsZSBuYW1lLikxNDQgMzU3LjYgUQorRjIgLS42NjYoUEEpNSBHKFRIKS0uMTg5IEUgRjAKKyhpcyBub3QgdXNlZCB0byBzZWFyY2ggZm9yIHRoZSByZXN1bHRhbnQgXDIxNGxlIG5hbWUuKTIuMjUgRSBGMSAtLjMoQkEpCisxMDggMzY5LjYgUyhTSF9YVFJBKS4zIEUoQ0VGRCktLjU1IEUgRjAgLjQ4MShJZiBzZXQgdG8gYW4gaW50ZSkxNDQgMzgxLjYKK1IgLjQ4MShnZXIgY29ycmVzcG9uZGluZyB0byBhIHYpLS4xNSBGIC40ODEoYWxpZCBcMjE0bGUgZGVzY3JpcHRvciktLjI1CitGKCwpLS40IEUgRjEoYmFzaCkyLjk4IEUgRjAgLjQ4KHdpbGwgd3JpdGUgdGhlIHRyYWNlIG91dHB1dCBnZW5lcikyLjk4IEYKKygtKS0uMiBFIDMuMTE0KGF0ZWQgd2hlbikxNDQgMzkzLjYgUi9GNSAxMC9Db3VyaWVyQDAgU0YgMy4xMTQoc2V0IC14KQorNS42MTQgRiBGMCAzLjExNChpcyBlbmFibGVkIHRvIHRoYXQgXDIxNGxlIGRlc2NyaXB0b3IpNS42MTQgRiA4LjExNCguVCkKKy0uNTUgRyAzLjExNChoZSBcMjE0bGUgZGVzY3JpcHRvciBpcyBjbG9zZWQgd2hlbiktOC4xMTQgRiBGMiAtLjI3KEJBKTE0NAorNDA1LjYgUyhTSF9YVFJBKS4yNyBFKENFRkQpLS40OTUgRSBGMCAuMTM4KGlzIHVuc2V0IG9yIGFzc2lnbmVkIGEgbmUpCisyLjM4OCBGIDIuNjM4KHd2KS0uMjUgRyAyLjYzOChhbHVlLiBVbnNldHRpbmcpLTIuODg4IEYgRjIgLS4yNyhCQSkyLjYzOAorRyhTSF9YVFJBKS4yNyBFKENFRkQpLS40OTUgRSBGMCAuMTM4KG9yIGFzc2lnbmluZyBpdCkyLjM4OCBGIDIuNTMxKHRoZSBcCitlbXB0eSBzdHJpbmcgY2F1c2VzIHRoZSB0cmFjZSBvdXRwdXQgdG8gYmUgc2VudCB0byB0aGUgc3RhbmRhcmQgZXJyb3IpCisxNDQgNDE3LjYgUiA3LjUzMSguTiktLjU1IEcgMi41MzEob3RlIHRoYXQgc2V0dGluZyktNy41MzEgRiBGMiAtLjI3KEJBKQorMTQ0IDQyOS42IFMoU0hfWFRSQSkuMjcgRShDRUZEKS0uNDk1IEUgRjAgLjc0KHRvIDIgXCh0aGUgc3RhbmRhcmQgZXJyb3JcCisgXDIxNGxlIGRlc2NyaXB0b3JcKSBhbmQgdGhlbiB1bnNldHRpbmcgaXQgd2lsbCByZXN1bHQgaW4gdGhlKTIuOTkxIEYKKyhzdGFuZGFyZCBlcnJvciBiZWluZyBjbG9zZWQuKTE0NCA0NDEuNiBRIEYxKENEUCkxMDggNDUzLjYgUSAtLjk1KEFUKQorLS43NCBHKEgpLjk1IEUgRjAgMS4yNDcoVGhlIHNlYXJjaCBwYXRoIGZvciB0aGUpMTQ0IDQ2NS42IFIgRjEoY2QpMy43NDcKK0UgRjAgMy43NDcoY29tbWFuZC4gVGhpcykzLjc0NyBGIDEuMjQ4CiAoaXMgYSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyBpbiB3aGljaCB0aGUpMy43NDcgRiAzLjc5NgotKHNoZWxsIGxvb2tzIGZvciBkZXN0aW5hdGlvbiBkaXJlY3RvcmllcyBzcGVjaVwyMTRlZCBieSB0aGUpMTQ0IDEwOCBSIEYxCi0oY2QpNi4yOTUgRSBGMCA2LjI5NShjb21tYW5kLiBBKTYuMjk1IEYgMy43OTUoc2FtcGxlIHYpNi4yOTUgRiAzLjc5NQotKGFsdWUgaXMpLS4yNSBGL0YyIDEwL0NvdXJpZXJAMCBTRigiLjp+Oi91c3IiKTE0NCAxMjAgUSBGMCguKUEgRjEgLS4zCi0oQkEpMTA4IDEzMiBTKFNIX1hUUkEpLjMgRShDRUZEKS0uNTUgRSBGMCAuNDgoSWYgc2V0IHRvIGFuIGludGUpMTQ0IDE0NAotUiAuNDgoZ2VyIGNvcnJlc3BvbmRpbmcgdG8gYSB2KS0uMTUgRiAuNDgxKGFsaWQgXDIxNGxlIGRlc2NyaXB0b3IpLS4yNSBGCi0oLCktLjQgRSBGMShiYXNoKTIuOTgxIEUgRjAgLjQ4MSh3aWxsIHdyaXRlIHRoZSB0cmFjZSBvdXRwdXQgZ2VuZXIpMi45ODEKLUYoLSktLjIgRSAzLjExNChhdGVkIHdoZW4pMTQ0IDE1NiBSIEYyIDMuMTE0KHNldCAteCk1LjYxNCBGIEYwIDMuMTE0Ci0oaXMgZW5hYmxlZCB0byB0aGF0IFwyMTRsZSBkZXNjcmlwdG9yKTUuNjE0IEYgOC4xMTQoLlQpLS41NSBHIDMuMTE0Ci0oaGUgXDIxNGxlIGRlc2NyaXB0b3IgaXMgY2xvc2VkIHdoZW4pLTguMTE0IEYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgLS4yNwotKEJBKTE0NCAxNjggUyhTSF9YVFJBKS4yNyBFKENFRkQpLS40OTUgRSBGMCAuMTM4Ci0oaXMgdW5zZXQgb3IgYXNzaWduZWQgYSBuZSkyLjM4OCBGIDIuNjM4KHd2KS0uMjUgRyAyLjYzOAotKGFsdWUuIFVuc2V0dGluZyktMi44ODggRiBGMyAtLjI3KEJBKTIuNjM4IEcoU0hfWFRSQSkuMjcgRShDRUZEKS0uNDk1IEUKLUYwIC4xMzgob3IgYXNzaWduaW5nIGl0KTIuMzg4IEYgMi41MzEodGhlIGVtcHR5IHN0cmluZyBjYXVzZXMgdGhlIHRyYWNlXAotIG91dHB1dCB0byBiZSBzZW50IHRvIHRoZSBzdGFuZGFyZCBlcnJvcikxNDQgMTgwIFIgNy41MyguTiktLjU1IEcgMi41MwotKG90ZSB0aGF0IHNldHRpbmcpLTcuNTMgRiBGMyAtLjI3KEJBKTE0NCAxOTIgUyhTSF9YVFJBKS4yNyBFKENFRkQpLS40OTUKLUUgRjAgLjc0KHRvIDIgXCh0aGUgc3RhbmRhcmQgZXJyb3IgXDIxNGxlIGRlc2NyaXB0b3JcKSBhbmQgdGhlbiB1bnNldHRpXAotbmcgaXQgd2lsbCByZXN1bHQgaW4gdGhlKTIuOTkgRihzdGFuZGFyZCBlcnJvciBiZWluZyBjbG9zZWQuKTE0NCAyMDQgUQotRjEoQ09MVU1OUykxMDggMjE2IFEgRjAgLjQyNShVc2VkIGJ5IHRoZSkxNDQgMjI4IFIgRjEoc2VsZWN0KTIuOTI1IEUgRjAKLS0uMihidSkyLjkyNSBHIC40MjUoaWx0aW4gY29tbWFuZCB0byBkZXRlcm1pbmUgdGhlIHRlcm1pbmFsIHdpZHRoIHdoZW4gXAotcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLikuMiBGCi0oQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEgU0lHV0lOQ0guKTE0NCAyNDAgUSBGMShDT01QUkVQTCkxMDgKLTI1MiBRKFkpLS45MiBFIEYwIC44NDcoQW4gYXJyYXkgdikxNDQgMjY0IFIgLjg0OChhcmlhYmxlIGZyb20gd2hpY2gpLS4yNQotRiBGMShiYXNoKTMuMzQ4IEUgRjAgLjg0OAotKHJlYWRzIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBnZW5lcmF0ZWQgYnkgYSBzaGVsbCBmdW5jdGlvbikzLjM0OCBGCi0oaW4pMTQ0IDI3NiBRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjUoZGIpLjEgRyAyLjUoeXQpLTIuNSBHCi0oaGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZiktMi41IEUoYWNpbGl0eSBcKHNlZSktLjEgRSBGMShQcikyLjUgRQotKG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEUgRjAoYmVsbykyLjUgRSh3XCkuKS0uMjUgRSBGMShFTUEpMTA4IDI4OCBRCi0oQ1MpLS41NSBFIEYwKElmKTE0NCAzMDAgUSBGMShiYXNoKTIuNTM2IEUgRjAgLjAzNihcMjE0bmRzIHRoaXMgdikyLjUzNgotRiAuMDM2KGFyaWFibGUgaW4gdGhlIGVuKS0uMjUgRiAuMDM2Ci0odmlyb25tZW50IHdoZW4gdGhlIHNoZWxsIHN0YXJ0cyB3aXRoIHYpLS40IEYoYWx1ZSktLjI1IEUgRjIodCkyLjUzNSBFCi1GMCAyLjUzNSgsaSlDIDIuNTM1KHRhKS0yLjUzNSBHIC4wMzUoc3N1bWVzIHRoYXQgdGhlKS0yLjUzNSBGCi0oc2hlbGwgaXMgcnVubmluZyBpbiBhbiBlbWFjcyBzaGVsbCBiKTE0NCAzMTIgUSh1ZiktLjIgRQotKGZlciBhbmQgZGlzYWJsZXMgbGluZSBlZGl0aW5nLiktLjI1IEUgRjEoRkNFRElUKTEwOCAzMjQgUSBGMChUaGUgZGVmKQotMTQ0IDMzNiBRKGF1bHQgZWRpdG9yIGZvciB0aGUpLS4xIEUgRjEoZmMpMi41IEUgRjAgLS4yKGJ1KTIuNSBHCi0oaWx0aW4gY29tbWFuZC4pLjIgRSBGMShGSUdOT1JFKTEwOCAzNDggUSBGMCAyLjU5OChBYykxNDQgMzYwIFMgLjA5OAotKG9sb24tc2VwYXJhdGVkIGxpc3Qgb2Ygc3VmKS0yLjU5OCBGPDhjNzg+LS4yNSBFIC4wOTgKLShlcyB0byBpZ25vcmUgd2hlbiBwZXJmb3JtaW5nIFwyMTRsZW5hbWUgY29tcGxldGlvbiBcKHNlZSktLjE1IEYgRjMKLShSRUFETElORSkyLjU5OSBFIEYwKGJlbG8pMTQ0IDM3MiBRIDIuNzA1KHdcKS4gQSktLjI1IEYgLjIwNQotKFwyMTRsZW5hbWUgd2hvc2Ugc3VmKTIuNzA1IEYgLjIwNShcMjE0eCBtYXRjaGVzIG9uZSBvZiB0aGUgZW50cmllcyBpbikKLS0uMjUgRiBGMyhGSUdOT1JFKTIuNzA1IEUgRjAgLjIwNShpcyBlKTIuNDU1IEYgLjIwNAotKHhjbHVkZWQgZnJvbSB0aGUgbGlzdCktLjE1IEYob2YgbWF0Y2hlZCBcMjE0bGVuYW1lcy4pMTQ0IDM4NCBRIDIuNShBcyk1Ci1HKGFtcGxlIHYpLTIuNSBFKGFsdWUgaXMpLS4yNSBFIEYyKCIubzp+IikyLjUgRSBGMCguKUEgRjEoR0xPQklHTk9SRSkxMDgKLTM5NiBRIEYwIDMuMTE4KEFjKTE0NCA0MDggUyAuNjE4KG9sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgZGVcMjE0XAotbmluZyB0aGUgc2V0IG9mIFwyMTRsZW5hbWVzIHRvIGJlIGlnbm9yZWQgYnkgcGF0aG5hbWUgZSktMy4xMTggRih4cGFuLSkKLS0uMTUgRSAzLjEzMihzaW9uLiBJZikxNDQgNDIwIFIgMy4xMzI8NjE4Yz4zLjEzMiBHIC42MzIKLShsZW5hbWUgbWF0Y2hlZCBieSBhIHBhdGhuYW1lIGUpLTMuMTMyIEYgLjYzMgotKHhwYW5zaW9uIHBhdHRlcm4gYWxzbyBtYXRjaGVzIG9uZSBvZiB0aGUgcGF0dGVybnMgaW4pLS4xNSBGIEYzCi0oR0xPQklHTk9SRSkxNDQgNDMyIFEvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMChpdCBpcyByZW1vKTIuMjUgRQotLS4xNSh2ZSktLjE1IEcgMi41KGRmKS4xNSBHKHJvbSB0aGUgbGlzdCBvZiBtYXRjaGVzLiktMi41IEUgRjEKLShISVNUQ09OVFIpMTA4IDQ0NCBRKE9MKS0uMyBFIEYwIDIuNjUzKEFjKTE0NCA0NTYgUyAuMTUzCi0ob2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiB2KS0yLjY1MyBGIC4xNTMoYWx1ZXMgY29udHJvbGxpbmcgaG8pLS4yNSBGCi0yLjY1Myh3YyktLjI1IEcgLjE1MyhvbW1hbmRzIGFyZSBzYSktMi42NTMgRiAtLjE1KHZlKS0uMiBHIDIuNjUzKGRvKS4xNQotRyAyLjY1MyhudCktMi42NTMgRyAuMTUzKGhlIGhpc3RvcnkgbGlzdC4pLTIuNjUzIEYgLjE1NChJZiB0aGUgbGlzdCkKLTUuMTUzIEYgLjQ5MShvZiB2KTE0NCA0NjggUiAuNDkxKGFsdWVzIGluY2x1ZGVzKS0uMjUgRi9GNSAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKGlnbm9yKTIuOTkxIEUoZXNwYWNlKS0uMzcgRSBGMCAyLjk5MSgsbCkuMTggRyAuNDkxCi0oaW5lcyB3aGljaCBiZSktMi45OTEgRiAuNDkxKGdpbiB3aXRoIGEpLS4xNSBGIEYxKHNwYWNlKTIuOTkxIEUgRjAgLjQ5Ci0oY2hhcmFjdGVyIGFyZSBub3Qgc2EpMi45OTEgRiAtLjE1KHZlKS0uMiBHIDIuOTkoZGkpLjE1IEcgMi45OShudCktMi45OQotRyAuNDkoaGUgaGlzLSktMi45OSBGIC41NTcodG9yeSBsaXN0LikxNDQgNDgwIFIgMy4wNTcoQXYpNS41NTcgRyAuNTU3Ci0oYWx1ZSBvZiktMy4zMDcgRiBGNShpZ25vcikzLjA2NyBFKGVkdXBzKS0uMzcgRSBGMCAuNTU3Ci0oY2F1c2VzIGxpbmVzIG1hdGNoaW5nIHRoZSBwcmUpMy4zMjcgRiAuNTU4Ci0odmlvdXMgaGlzdG9yeSBlbnRyeSB0byBub3QgYmUgc2EpLS4yNSBGIC0uMTUodmUpLS4yIEcoZC4pLjE1IEUgMi45NTkKLShBdikxNDQgNDkyIFMgLjQ1OShhbHVlIG9mKS0zLjIwOSBGIEY1KGlnbm9yKTIuOTY5IEUoZWJvdGgpLS4zNyBFIEYwCi0uNDU5KGlzIHNob3J0aGFuZCBmb3IpMy4yMzkgRiBGNShpZ25vcikyLjk1OSBFKGVzcGFjZSktLjM3IEUgRjAoYW5kKQotMi45NTkgRSBGNShpZ25vcikyLjk1OCBFKGVkdXBzKS0uMzcgRSBGMCA1LjQ1OCguQSlDIC0uMjUodmEpLTIuNSBHIC40NTgKLShsdWUgb2YpLjI1IEYgRjUoZXIpMi45NTggRShhc2VkdXBzKS0uMTUgRSBGMChjYXVzZXMpMi45NTggRSAuNjk4Ci0oYWxsIHByZSkxNDQgNTA0IFIgLjY5OAotKHZpb3VzIGxpbmVzIG1hdGNoaW5nIHRoZSBjdXJyZW50IGxpbmUgdG8gYmUgcmVtbyktLjI1IEYgLS4xNSh2ZSktLjE1IEcKLTMuMTk4KGRmKS4xNSBHIC42OTkocm9tIHRoZSBoaXN0b3J5IGxpc3QgYmVmb3JlIHRoYXQgbGluZSBpcyktMy4xOTggRgotKHNhKTE0NCA1MTYgUSAtLjE1KHZlKS0uMiBHIDIuNzY0KGQuIEFuKS4xNSBGIDIuNzY0KHl2KS0uMTUgRyAuMjY0Ci0oYWx1ZSBub3QgaW4gdGhlIGFibyktMy4wMTQgRiAuNTYzIC0uMTUodmUgbCktLjE1IEggLjI2MwotKGlzdCBpcyBpZ25vcmVkLikuMTUgRihJZik1LjI2MyBFIEYzKEhJU1RDT05UUikyLjc2MyBFKE9MKS0uMjcgRSBGMCAuMjYzCi0oaXMgdW5zZXQsIG9yIGRvZXMgbm90IGluY2x1ZGUpMi41MTMgRiAyLjk0MShhdikxNDQgNTI4IFMgLjQ0MShhbGlkIHYpCi0tMy4xOTEgRiAuNDQxKGFsdWUsIGFsbCBsaW5lcyByZWFkIGJ5IHRoZSBzaGVsbCBwYXJzZXIgYXJlIHNhKS0uMjUgRgotLS4xNSh2ZSktLjIgRyAyLjk0MihkbykuMTUgRyAyLjk0MihudCktMi45NDIgRyAuNDQyCi0oaGUgaGlzdG9yeSBsaXN0LCBzdWJqZWN0IHRvIHRoZSB2KS0yLjk0MiBGIC40NDIoYWx1ZSBvZiktLjI1IEYgRjMKLShISVNUSUdOT1JFKTE0NCA1NDAgUSBGNCguKUEgRjAgMS45ODEoVGhlIHNlY29uZCBhbmQgc3Vic2VxdWVudCBsaW5lcyBvXAotZiBhIG11bHRpLWxpbmUgY29tcG91bmQgY29tbWFuZCBhcmUgbm90KTYuNDgyIEYKLSh0ZXN0ZWQsIGFuZCBhcmUgYWRkZWQgdG8gdGhlIGhpc3RvcnkgcmUpMTQ0IDU1MiBRIC0uMDUoZ2EpLS4xNSBHCi0ocmRsZXNzIG9mIHRoZSB2KS4wNSBFKGFsdWUgb2YpLS4yNSBFIEYzKEhJU1RDT05UUikyLjUgRShPTCktLjI3IEUgRjQoLikKLUEgRjEoSElTVEZJTEUpMTA4IDU2NCBRIEYwIC4xODEKLShUaGUgbmFtZSBvZiB0aGUgXDIxNGxlIGluIHdoaWNoIGNvbW1hbmQgaGlzdG9yeSBpcyBzYSkxNDQgNTc2IFIgLS4xNQotKHZlKS0uMiBHIDIuNjgxKGRcKCkuMTUgRyhzZWUpLTIuNjgxIEUgRjMoSElTVCkyLjY4MSBFKE9SKS0uMTYyIEUoWSkKLS0uMzE1IEUgRjAoYmVsbykyLjQzMSBFIDIuNjgyKHdcKS4gVGhlKS0uMjUgRihkZWYpMi42ODIgRSAuMTgyKGF1bHQgdikKLS0uMSBGKGFsdWUpLS4yNSBFKGlzKTE0NCA1ODggUSBGNSh+Ly5iYXNoX2hpc3RvcnkpMi41IEUgRjAgNSguSSlDIDIuNQotKGZ1KS01IEcobnNldCwgdGhlIGNvbW1hbmQgaGlzdG9yeSBpcyBub3Qgc2EpLTIuNSBFIC0uMTUodmUpLS4yIEcgMi41Ci0oZHcpLjE1IEcoaGVuIGFuIGludGVyYWN0aSktMi41IEUgLjMgLS4xNSh2ZSBzKS0uMjUgSChoZWxsIGUpLjE1IEUKLSh4aXRzLiktLjE1IEUgRjEoSElTVEZJTEVTSVpFKTEwOCA2MDAgUSBGMCAxLjYyMwotKFRoZSBtYXhpbXVtIG51bWJlciBvZiBsaW5lcyBjb250YWluZWQgaW4gdGhlIGhpc3RvcnkgXDIxNGxlLikxNDQgNjEyIFIKLTEuNjIyKFdoZW4gdGhpcyB2KTYuNjIzIEYgMS42MjIoYXJpYWJsZSBpcyBhc3NpZ25lZCBhKS0uMjUgRiAtLjI1KHZhKTE0NAotNjI0IFMgLjMwNShsdWUsIHRoZSBoaXN0b3J5IFwyMTRsZSBpcyB0cnVuY2F0ZWQsIGlmIG5lY2Vzc2FyeSkuMjUgRgotMi44MDUoLGIpLS42NSBHIDIuODA1KHlyKS0yLjgwNSBHKGVtbyktMi44MDUgRSAuMzA1Ci0odmluZyB0aGUgb2xkZXN0IGVudHJpZXMsIHRvIGNvbnRhaW4gbm8gbW9yZSktLjE1IEYgLjYwMgotKHRoYW4gdGhhdCBudW1iZXIgb2YgbGluZXMuKTE0NCA2MzYgUiAuNjAyKFRoZSBkZWYpNS42MDIgRiAuNjAyKGF1bHQgdikKLS0uMSBGIC42MDIoYWx1ZSBpcyA1MDAuKS0uMjUgRiAuNjAxCi0oVGhlIGhpc3RvcnkgXDIxNGxlIGlzIGFsc28gdHJ1bmNhdGVkIHRvIHRoaXMgc2l6ZSk1LjYwMiBGCi0oYWZ0ZXIgd3JpdGluZyBpdCB3aGVuIGFuIGludGVyYWN0aSkxNDQgNjQ4IFEgLjMgLS4xNSh2ZSBzKS0uMjUgSAotKGhlbGwgZSkuMTUgRSh4aXRzLiktLjE1IEUgRjEoSElTVElHTk9SRSkxMDggNjYwIFEgRjAgMi42NTcoQWMpMTQ0IDY3MiBTCi0uMTU3KG9sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgdXNlZCB0byBkZWNpZGUgd2hpY2ggY29tbWFuZCBsaW5lc1wKLSBzaG91bGQgYmUgc2EpLTIuNjU3IEYgLS4xNSh2ZSktLjIgRyAyLjY1OChkbykuMTUgRyAyLjY1OChudCktMi42NTggRwotLjE1OChoZSBoaXMtKS0yLjY1OCBGIC43MDgodG9yeSBsaXN0LikxNDQgNjg0IFIgLjcwOAotKEVhY2ggcGF0dGVybiBpcyBhbmNob3JlZCBhdCB0aGUgYmUpNS43MDggRiAuNzA3Ci0oZ2lubmluZyBvZiB0aGUgbGluZSBhbmQgbXVzdCBtYXRjaCB0aGUgY29tcGxldGUgbGluZSktLjE1IEYgLjYyNQotKFwobm8gaW1wbGljaXQgYCkxNDQgNjk2IFIgRjEoKilBIEYwIDMuMTI1KCdpKUMgMy4xMjUoc2EpLTMuMTI1IEcgMy4xMjUKLShwcGVuZGVkXCkuIEVhY2gpLTMuMTI1IEYgLjYyNihwYXR0ZXJuIGlzIHRlc3RlZCBhZykzLjEyNSBGIC42MjYKLShhaW5zdCB0aGUgbGluZSBhZnRlciB0aGUgY2hlY2tzIHNwZWNpXDIxNGVkIGJ5KS0uMDUgRiBGMyhISVNUQ09OVFIpMTQ0Ci03MDggUShPTCktLjI3IEUgRjAgMS43OTMoYXJlIGFwcGxpZWQuKTQuMDQzIEYgMS43OTMKLShJbiBhZGRpdGlvbiB0byB0aGUgbm9ybWFsIHNoZWxsIHBhdHRlcm4gbWF0Y2hpbmcgY2hhcmFjdGVycywgYCk2Ljc5MyBGCi1GMSgmKUEgRjAoJylBIDIuNTE0KG1hdGNoZXMgdGhlIHByZSkxNDQgNzIwIFIgMi41MTQodmlvdXMgaGlzdG9yeSBsaW5lLikKLS0uMjUgRihgKTcuNTE0IEUgRjEoJilBIEYwIDUuMDE0KCdtKUMgMi41MTQKLShheSBiZSBlc2NhcGVkIHVzaW5nIGEgYmFja3NsYXNoOyB0aGUgYmFja3NsYXNoIGlzKS01LjAxNCBGCi0oR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDEzKTE4NS45NTUgRSAwIENnIEVQCisoc2hlbGwgbG9va3MgZm9yIGRlc3RpbmF0aW9uIGRpcmVjdG9yaWVzIHNwZWNpXDIxNGVkIGJ5IHRoZSkxNDQgNDc3LjYgUgorRjEoY2QpNi4yOTUgRSBGMCA2LjI5NShjb21tYW5kLiBBKTYuMjk1IEYgMy43OTUoc2FtcGxlIHYpNi4yOTUgRiAzLjc5NQorKGFsdWUgaXMpLS4yNSBGIEY1KCIuOn46L3VzciIpMTQ0IDQ4OS42IFEgRjAoLilBIEYxKENPTFVNTlMpMTA4IDUwMS42IFEKK0YwIC44MjgoVXNlZCBieSB0aGUpMTQ0IDUxMy42IFIgRjEoc2VsZWN0KTMuMzI4IEUgRjAgLjgyOShjb21wb3VuZCBjb21tXAorYW5kIHRvIGRldGVybWluZSB0aGUgdGVybWluYWwgd2lkdGggd2hlbiBwcmludGluZyBzZWxlY3Rpb24pMy4zMjggRiAyLjUKKyhsaXN0cy4gQXV0b21hdGljYWxseSkxNDQgNTI1LjYgUihzZXQgdXBvbiByZWNlaXB0IG9mIGEpMi41IEUgRjIKKyhTSUdXSU5DSCkyLjUgRSBGMyguKUEgRjEoQ09NUFJFUEwpMTA4IDUzNy42IFEoWSktLjkyIEUgRjAgLjg0OAorKEFuIGFycmF5IHYpMTQ0IDU0OS42IFIgLjg0OChhcmlhYmxlIGZyb20gd2hpY2gpLS4yNSBGIEYxKGJhc2gpMy4zNDggRQorRjAgLjg0OChyZWFkcyB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgZ2VuZXJhdGVkIGJ5IGEgc2hlbGwgZnVuY3Rpb24pCiszLjM0OCBGKGluKTE0NCA1NjEuNiBRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjUoZGIpLjEgRyAyLjUoeXQpLTIuNQorRyhoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmKS0yLjUgRShhY2lsaXR5IFwoc2VlKS0uMSBFIEYxKFByKTIuNSBFCisob2dyYW1tYWJsZSBDb21wbGV0aW9uKS0uMTggRSBGMChiZWxvKTIuNSBFKHdcKS4pLS4yNSBFIEYxKEVNQSkxMDggNTczLjYKK1EoQ1MpLS41NSBFIEYwKElmKTE0NCA1ODUuNiBRIEYxKGJhc2gpMi41MzUgRSBGMCAuMDM1KFwyMTRuZHMgdGhpcyB2KQorMi41MzUgRiAuMDM1KGFyaWFibGUgaW4gdGhlIGVuKS0uMjUgRiAuMDM2Cisodmlyb25tZW50IHdoZW4gdGhlIHNoZWxsIHN0YXJ0cyB3aXRoIHYpLS40IEYoYWx1ZSktLjI1IEUgRjUodCkyLjUzNiBFCitGMCAyLjUzNigsaSlDIDIuNTM2KHRhKS0yLjUzNiBHIC4wMzYoc3N1bWVzIHRoYXQgdGhlKS0yLjUzNiBGCisoc2hlbGwgaXMgcnVubmluZyBpbiBhbiBFbWFjcyBzaGVsbCBiKTE0NCA1OTcuNiBRKHVmKS0uMiBFCisoZmVyIGFuZCBkaXNhYmxlcyBsaW5lIGVkaXRpbmcuKS0uMjUgRSBGMShFTlYpMTA4IDYwOS42IFEgRjAoU2ltaWxhciB0bykKKzE0Ljg5IEUgRjIgLS4yNyhCQSkyLjUgRyhTSF9FTlYpLjI3IEUgRjMoOylBIEYwCisodXNlZCB3aGVuIHRoZSBzaGVsbCBpcyBpbikyLjI1IEUgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNShkaSkuMSBHCisyLjUoblApLTIuNSBHKE9TSVggbW9kZS4pLTIuNSBFIEYxKEZDRURJVCkxMDggNjIxLjYgUSBGMChUaGUgZGVmKTE0NAorNjMzLjYgUShhdWx0IGVkaXRvciBmb3IgdGhlKS0uMSBFIEYxKGZjKTIuNSBFIEYwIC0uMihidSkyLjUgRworKGlsdGluIGNvbW1hbmQuKS4yIEUgRjEoRklHTk9SRSkxMDggNjQ1LjYgUSBGMCAyLjU5OShBYykxNDQgNjU3LjYgUyAuMDk4Cisob2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBzdWYpLTIuNTk5IEY8OGM3OD4tLjI1IEUgLjA5OAorKGVzIHRvIGlnbm9yZSB3aGVuIHBlcmZvcm1pbmcgXDIxNGxlbmFtZSBjb21wbGV0aW9uIFwoc2VlKS0uMTUgRiBGMgorKFJFQURMSU5FKTIuNTk4IEUgRjAoYmVsbykxNDQgNjY5LjYgUSAyLjcwNCh3XCkuIEEpLS4yNSBGIC4yMDQKKyhcMjE0bGVuYW1lIHdob3NlIHN1ZikyLjcwNCBGIC4yMDUoXDIxNHggbWF0Y2hlcyBvbmUgb2YgdGhlIGVudHJpZXMgaW4pCistLjI1IEYgRjIoRklHTk9SRSkyLjcwNSBFIEYwIC4yMDUoaXMgZSkyLjQ1NSBGIC4yMDUKKyh4Y2x1ZGVkIGZyb20gdGhlIGxpc3QpLS4xNSBGKG9mIG1hdGNoZWQgXDIxNGxlbmFtZXMuKTE0NCA2ODEuNiBRIDIuNQorKEFzKTUgRyhhbXBsZSB2KS0yLjUgRShhbHVlIGlzKS0uMjUgRSBGNSgiLm86fiIpMi41IEUgRjAoLilBIEYxCisoRlVOQ05FU1QpMTA4IDY5My42IFEgRjAgMS43OChJZiBzZXQgdG8gYSBudW1lcmljIHYpMTQ0IDcwNS42IFIgMS43OAorKGFsdWUgZ3JlYXRlciB0aGFuIDAsIGRlXDIxNG5lcyBhIG1heGltdW0gZnVuY3Rpb24gbmVzdGluZyBsZSktLjI1IEYKKy0uMTUodmUpLS4yNSBHIDQuMjgobC4gRnVuY3Rpb24pLjE1IEYoaW4pMTQ0IDcxNy42IFEgLS4yKHZvKS0uNCBHCisoY2F0aW9ucyB0aGF0IGUpLjIgRSh4Y2VlZCB0aGlzIG5lc3RpbmcgbGUpLS4xNSBFIC0uMTUodmUpLS4yNSBHIDIuNShsdykKKy4xNSBHKGlsbCBjYXVzZSB0aGUgY3VycmVudCBjb21tYW5kIHRvIGFib3J0LiktMi41IEUoR05VIEJhc2gtNC4yKTcyIDc2OAorUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSgxMykxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAxNCAxNAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRShyZW1vKTE0NCA4NCBRIC0uMTUodmUpLS4xNSBHIDMuMzUzKGRiKS4xNSBHIC44NTMKLShlZm9yZSBhdHRlbXB0aW5nIGEgbWF0Y2guKS0zLjM1MyBGIC44NTIKLShUaGUgc2Vjb25kIGFuZCBzdWJzZXF1ZW50IGxpbmVzIG9mIGEgbXVsdGktbGluZSBjb21wb3VuZCk1Ljg1MiBGCi0oY29tbWFuZCBhcmUgbm90IHRlc3RlZCwgYW5kIGFyZSBhZGRlZCB0byB0aGUgaGlzdG9yeSByZSkxNDQgOTYgUSAtLjA1Ci0oZ2EpLS4xNSBHKHJkbGVzcyBvZiB0aGUgdikuMDUgRShhbHVlIG9mKS0uMjUgRS9GMSA5L1RpbWVzLUJvbGRAMCBTRgotKEhJU1RJR05PUkUpMi41IEUvRjIgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQS9GMyAxMC9UaW1lcy1Cb2xkQDAgU0YKLShISVNUU0laRSkxMDggMTA4IFEgRjAgMS45NDIKLShUaGUgbnVtYmVyIG9mIGNvbW1hbmRzIHRvIHJlbWVtYmVyIGluIHRoZSBjb21tYW5kIGhpc3RvcnkgXChzZWUpMTQ0IDEyMAotUiBGMShISVNUKTQuNDQzIEUoT1IpLS4xNjIgRShZKS0uMzE1IEUgRjAoYmVsbyk0LjE5MyBFIDQuNDQzKHdcKS4gVGhlKQotLS4yNSBGKGRlZikxNDQgMTMyIFEoYXVsdCB2KS0uMSBFKGFsdWUgaXMgNTAwLiktLjI1IEUgRjMoSElTVFRJTUVGT1JNQSkKLTEwOCAxNDQgUShUKS0uOTUgRSBGMCAuOTUyKElmIHRoaXMgdikxNDQgMTU2IFIgLjk1MgorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihHTE9CSUdOT1JFKTEwOCA4NCBRIEYwIDMuMTE4KEFjKTE0NCA5NiBTCisuNjE4KG9sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgZGVcMjE0bmluZyB0aGUgc2V0IG9mIFwyMTRsZW5hbWVzIFwKK3RvIGJlIGlnbm9yZWQgYnkgcGF0aG5hbWUgZSktMy4xMTggRih4cGFuLSktLjE1IEUgMy4xMzIoc2lvbi4gSWYpMTQ0IDEwOAorUiAzLjEzMjw2MThjPjMuMTMyIEcgLjYzMihsZW5hbWUgbWF0Y2hlZCBieSBhIHBhdGhuYW1lIGUpLTMuMTMyIEYgLjYzMgorKHhwYW5zaW9uIHBhdHRlcm4gYWxzbyBtYXRjaGVzIG9uZSBvZiB0aGUgcGF0dGVybnMgaW4pLS4xNSBGL0YyIDkKKy9UaW1lcy1Cb2xkQDAgU0YoR0xPQklHTk9SRSkxNDQgMTIwIFEvRjMgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMAorKGl0IGlzIHJlbW8pMi4yNSBFIC0uMTUodmUpLS4xNSBHIDIuNShkZikuMTUgRyhyb20gdGhlIGxpc3Qgb2YgbWF0Y2hlcy4pCistMi41IEUgRjEoSElTVENPTlRSKTEwOCAxMzIgUShPTCktLjMgRSBGMCAyLjY1MyhBYykxNDQgMTQ0IFMgLjE1MworKG9sb24tc2VwYXJhdGVkIGxpc3Qgb2YgdiktMi42NTMgRiAuMTUzKGFsdWVzIGNvbnRyb2xsaW5nIGhvKS0uMjUgRgorMi42NTMod2MpLS4yNSBHIC4xNTMob21tYW5kcyBhcmUgc2EpLTIuNjUzIEYgLS4xNSh2ZSktLjIgRyAyLjY1MyhkbykuMTUKK0cgMi42NTMobnQpLTIuNjUzIEcgLjE1MyhoZSBoaXN0b3J5IGxpc3QuKS0yLjY1MyBGIC4xNTQoSWYgdGhlIGxpc3QpCis1LjE1MyBGIC40OTEob2YgdikxNDQgMTU2IFIgLjQ5MShhbHVlcyBpbmNsdWRlcyktLjI1IEYvRjQgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihpZ25vcikyLjk5MSBFKGVzcGFjZSktLjM3IEUgRjAgMi45OTEoLGwpLjE4IEcgLjQ5MQorKGluZXMgd2hpY2ggYmUpLTIuOTkxIEYgLjQ5MShnaW4gd2l0aCBhKS0uMTUgRiBGMShzcGFjZSkyLjk5MSBFIEYwIC40OQorKGNoYXJhY3RlciBhcmUgbm90IHNhKTIuOTkxIEYgLS4xNSh2ZSktLjIgRyAyLjk5KGRpKS4xNSBHIDIuOTkobnQpLTIuOTkKK0cgLjQ5KGhlIGhpcy0pLTIuOTkgRiAuNTU3KHRvcnkgbGlzdC4pMTQ0IDE2OCBSIDMuMDU3KEF2KTUuNTU3IEcgLjU1NworKGFsdWUgb2YpLTMuMzA3IEYgRjQoaWdub3IpMy4wNjcgRShlZHVwcyktLjM3IEUgRjAgLjU1NworKGNhdXNlcyBsaW5lcyBtYXRjaGluZyB0aGUgcHJlKTMuMzI3IEYgLjU1OAorKHZpb3VzIGhpc3RvcnkgZW50cnkgdG8gbm90IGJlIHNhKS0uMjUgRiAtLjE1KHZlKS0uMiBHKGQuKS4xNSBFIDIuOTU5CisoQXYpMTQ0IDE4MCBTIC40NTkoYWx1ZSBvZiktMy4yMDkgRiBGNChpZ25vcikyLjk2OSBFKGVib3RoKS0uMzcgRSBGMAorLjQ1OShpcyBzaG9ydGhhbmQgZm9yKTMuMjM5IEYgRjQoaWdub3IpMi45NTkgRShlc3BhY2UpLS4zNyBFIEYwKGFuZCkKKzIuOTU5IEUgRjQoaWdub3IpMi45NTggRShlZHVwcyktLjM3IEUgRjAgNS40NTgoLkEpQyAtLjI1KHZhKS0yLjUgRyAuNDU4CisobHVlIG9mKS4yNSBGIEY0KGVyKTIuOTU4IEUoYXNlZHVwcyktLjE1IEUgRjAoY2F1c2VzKTIuOTU4IEUgLjY5OAorKGFsbCBwcmUpMTQ0IDE5MiBSIC42OTgKKyh2aW91cyBsaW5lcyBtYXRjaGluZyB0aGUgY3VycmVudCBsaW5lIHRvIGJlIHJlbW8pLS4yNSBGIC0uMTUodmUpLS4xNSBHCiszLjE5OChkZikuMTUgRyAuNjk5KHJvbSB0aGUgaGlzdG9yeSBsaXN0IGJlZm9yZSB0aGF0IGxpbmUgaXMpLTMuMTk4IEYKKyhzYSkxNDQgMjA0IFEgLS4xNSh2ZSktLjIgRyAyLjc2NChkLiBBbikuMTUgRiAyLjc2NCh5diktLjE1IEcgLjI2NAorKGFsdWUgbm90IGluIHRoZSBhYm8pLTMuMDE0IEYgLjU2MyAtLjE1KHZlIGwpLS4xNSBIIC4yNjMKKyhpc3QgaXMgaWdub3JlZC4pLjE1IEYoSWYpNS4yNjMgRSBGMihISVNUQ09OVFIpMi43NjMgRShPTCktLjI3IEUgRjAgLjI2MworKGlzIHVuc2V0LCBvciBkb2VzIG5vdCBpbmNsdWRlKTIuNTEzIEYgMi45NDEoYXYpMTQ0IDIxNiBTIC40NDEoYWxpZCB2KQorLTMuMTkxIEYgLjQ0MShhbHVlLCBhbGwgbGluZXMgcmVhZCBieSB0aGUgc2hlbGwgcGFyc2VyIGFyZSBzYSktLjI1IEYKKy0uMTUodmUpLS4yIEcgMi45NDIoZG8pLjE1IEcgMi45NDIobnQpLTIuOTQyIEcgLjQ0MgorKGhlIGhpc3RvcnkgbGlzdCwgc3ViamVjdCB0byB0aGUgdiktMi45NDIgRiAuNDQyKGFsdWUgb2YpLS4yNSBGIEYyCisoSElTVElHTk9SRSkxNDQgMjI4IFEgRjMoLilBIEYwIDEuOTgxKFRoZSBzZWNvbmQgYW5kIHN1YnNlcXVlbnQgbGluZXMgb1wKK2YgYSBtdWx0aS1saW5lIGNvbXBvdW5kIGNvbW1hbmQgYXJlIG5vdCk2LjQ4MiBGCisodGVzdGVkLCBhbmQgYXJlIGFkZGVkIHRvIHRoZSBoaXN0b3J5IHJlKTE0NCAyNDAgUSAtLjA1KGdhKS0uMTUgRworKHJkbGVzcyBvZiB0aGUgdikuMDUgRShhbHVlIG9mKS0uMjUgRSBGMihISVNUQ09OVFIpMi41IEUoT0wpLS4yNyBFIEYzKC4pCitBIEYxKEhJU1RGSUxFKTEwOCAyNTIgUSBGMCAuMTgxCisoVGhlIG5hbWUgb2YgdGhlIFwyMTRsZSBpbiB3aGljaCBjb21tYW5kIGhpc3RvcnkgaXMgc2EpMTQ0IDI2NCBSIC0uMTUKKyh2ZSktLjIgRyAyLjY4MShkXCgpLjE1IEcoc2VlKS0yLjY4MSBFIEYyKEhJU1QpMi42ODEgRShPUiktLjE2MiBFKFkpCistLjMxNSBFIEYwKGJlbG8pMi40MzEgRSAyLjY4Mih3XCkuIFRoZSktLjI1IEYoZGVmKTIuNjgyIEUgLjE4MihhdWx0IHYpCistLjEgRihhbHVlKS0uMjUgRShpcykxNDQgMjc2IFEgRjQofi8uYmFzaF9oaXN0b3J5KTIuNSBFIEYwIDUoLkkpQyAyLjUKKyhmdSktNSBHKG5zZXQsIHRoZSBjb21tYW5kIGhpc3RvcnkgaXMgbm90IHNhKS0yLjUgRSAtLjE1KHZlKS0uMiBHIDIuNQorKGR3KS4xNSBHKGhlbiBhbiBpbnRlcmFjdGkpLTIuNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbCBlKS4xNSBFCisoeGl0cy4pLS4xNSBFIEYxKEhJU1RGSUxFU0laRSkxMDggMjg4IFEgRjAgMS42MjMKKyhUaGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgY29udGFpbmVkIGluIHRoZSBoaXN0b3J5IFwyMTRsZS4pMTQ0IDMwMCBSCisxLjYyMihXaGVuIHRoaXMgdik2LjYyMyBGIDEuNjIyKGFyaWFibGUgaXMgYXNzaWduZWQgYSktLjI1IEYgLS4yNSh2YSkxNDQKKzMxMiBTIC4zMDUobHVlLCB0aGUgaGlzdG9yeSBcMjE0bGUgaXMgdHJ1bmNhdGVkLCBpZiBuZWNlc3NhcnkpLjI1IEYKKzIuODA1KCxiKS0uNjUgRyAyLjgwNSh5ciktMi44MDUgRyhlbW8pLTIuODA1IEUgLjMwNQorKHZpbmcgdGhlIG9sZGVzdCBlbnRyaWVzLCB0byBjb250YWluIG5vIG1vcmUpLS4xNSBGIC42MDIKKyh0aGFuIHRoYXQgbnVtYmVyIG9mIGxpbmVzLikxNDQgMzI0IFIgLjYwMihUaGUgZGVmKTUuNjAyIEYgLjYwMihhdWx0IHYpCistLjEgRiAuNjAyKGFsdWUgaXMgNTAwLiktLjI1IEYgLjYwMQorKFRoZSBoaXN0b3J5IFwyMTRsZSBpcyBhbHNvIHRydW5jYXRlZCB0byB0aGlzIHNpemUpNS42MDIgRgorKGFmdGVyIHdyaXRpbmcgaXQgd2hlbiBhbiBpbnRlcmFjdGkpMTQ0IDMzNiBRIC4zIC0uMTUodmUgcyktLjI1IEgKKyhoZWxsIGUpLjE1IEUoeGl0cy4pLS4xNSBFIEYxKEhJU1RJR05PUkUpMTA4IDM0OCBRIEYwIDIuNjU3KEFjKTE0NCAzNjAgUworLjE1NyhvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIHVzZWQgdG8gZGVjaWRlIHdoaWNoIGNvbW1hbmQgbGluZXNcCisgc2hvdWxkIGJlIHNhKS0yLjY1NyBGIC0uMTUodmUpLS4yIEcgMi42NTgoZG8pLjE1IEcgMi42NTgobnQpLTIuNjU4IEcKKy4xNTgoaGUgaGlzLSktMi42NTggRiAuNzA4KHRvcnkgbGlzdC4pMTQ0IDM3MiBSIC43MDgKKyhFYWNoIHBhdHRlcm4gaXMgYW5jaG9yZWQgYXQgdGhlIGJlKTUuNzA4IEYgLjcwNworKGdpbm5pbmcgb2YgdGhlIGxpbmUgYW5kIG11c3QgbWF0Y2ggdGhlIGNvbXBsZXRlIGxpbmUpLS4xNSBGIC42MjUKKyhcKG5vIGltcGxpY2l0IGApMTQ0IDM4NCBSIEYxKCopQSBGMCAzLjEyNSgnaSlDIDMuMTI1KHNhKS0zLjEyNSBHIDMuMTI1CisocHBlbmRlZFwpLiBFYWNoKS0zLjEyNSBGIC42MjYocGF0dGVybiBpcyB0ZXN0ZWQgYWcpMy4xMjUgRiAuNjI2CisoYWluc3QgdGhlIGxpbmUgYWZ0ZXIgdGhlIGNoZWNrcyBzcGVjaVwyMTRlZCBieSktLjA1IEYgRjIoSElTVENPTlRSKTE0NAorMzk2IFEoT0wpLS4yNyBFIEYwIDEuNzkzKGFyZSBhcHBsaWVkLik0LjA0MyBGIDEuNzkzCisoSW4gYWRkaXRpb24gdG8gdGhlIG5vcm1hbCBzaGVsbCBwYXR0ZXJuIG1hdGNoaW5nIGNoYXJhY3RlcnMsIGApNi43OTMgRgorRjEoJilBIEYwKCcpQSAyLjUxNChtYXRjaGVzIHRoZSBwcmUpMTQ0IDQwOCBSIDIuNTE0KHZpb3VzIGhpc3RvcnkgbGluZS4pCistLjI1IEYoYCk3LjUxNCBFIEYxKCYpQSBGMCA1LjAxNCgnbSlDIDIuNTE0CisoYXkgYmUgZXNjYXBlZCB1c2luZyBhIGJhY2tzbGFzaDsgdGhlIGJhY2tzbGFzaCBpcyktNS4wMTQgRihyZW1vKTE0NCA0MjAKK1EgLS4xNSh2ZSktLjE1IEcgMy4zNTMoZGIpLjE1IEcgLjg1MyhlZm9yZSBhdHRlbXB0aW5nIGEgbWF0Y2guKS0zLjM1MyBGCisuODUyKFRoZSBzZWNvbmQgYW5kIHN1YnNlcXVlbnQgbGluZXMgb2YgYSBtdWx0aS1saW5lIGNvbXBvdW5kKTUuODUyIEYKKyhjb21tYW5kIGFyZSBub3QgdGVzdGVkLCBhbmQgYXJlIGFkZGVkIHRvIHRoZSBoaXN0b3J5IHJlKTE0NCA0MzIgUSAtLjA1CisoZ2EpLS4xNSBHKHJkbGVzcyBvZiB0aGUgdikuMDUgRShhbHVlIG9mKS0uMjUgRSBGMihISVNUSUdOT1JFKTIuNSBFIEYzCisoLilBIEYxKEhJU1RTSVpFKTEwOCA0NDQgUSBGMCAxLjk0MgorKFRoZSBudW1iZXIgb2YgY29tbWFuZHMgdG8gcmVtZW1iZXIgaW4gdGhlIGNvbW1hbmQgaGlzdG9yeSBcKHNlZSkxNDQgNDU2CitSIEYyKEhJU1QpNC40NDMgRShPUiktLjE2MiBFKFkpLS4zMTUgRSBGMChiZWxvKTQuMTkzIEUgNC40NDMod1wpLiBUaGUpCistLjI1IEYoZGVmKTE0NCA0NjggUShhdWx0IHYpLS4xIEUoYWx1ZSBpcyA1MDAuKS0uMjUgRSBGMShISVNUVElNRUZPUk1BKQorMTA4IDQ4MCBRKFQpLS45NSBFIEYwIC45NTIoSWYgdGhpcyB2KTE0NCA0OTIgUiAuOTUyCiAoYXJpYWJsZSBpcyBzZXQgYW5kIG5vdCBudWxsLCBpdHMgdiktLjI1IEYgLjk1MQotKGFsdWUgaXMgdXNlZCBhcyBhIGZvcm1hdCBzdHJpbmcgZm9yKS0uMjUgRi9GNCAxMC9UaW1lcy1JdGFsaWNAMCBTRgotKHN0cmZ0aW1lKTMuNDUxIEUgRjAgLjk1MShcKDNcKSB0byBwcmludCB0aGUpQiAuNjcyCi0odGltZSBzdGFtcCBhc3NvY2lhdGVkIHdpdGggZWFjaCBoaXN0b3J5IGVudHJ5IGRpc3BsYXllZCBieSB0aGUpMTQ0IDE2OAotUiBGMyhoaXN0b3J5KTMuMTczIEUgRjAgLS4yKGJ1KTMuMTczIEcgMy4xNzMoaWx0aW4uIElmKS4yIEYgLjY3Myh0aGlzIHYpCisoYWx1ZSBpcyB1c2VkIGFzIGEgZm9ybWF0IHN0cmluZyBmb3IpLS4yNSBGIEY0KHN0cmZ0aW1lKTMuNDUxIEUgRjAgLjk1MQorKFwoM1wpIHRvIHByaW50IHRoZSlCIC42NzIKKyh0aW1lIHN0YW1wIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGhpc3RvcnkgZW50cnkgZGlzcGxheWVkIGJ5IHRoZSkxNDQgNTA0CitSIEYxKGhpc3RvcnkpMy4xNzMgRSBGMCAtLjIoYnUpMy4xNzMgRyAzLjE3MyhpbHRpbi4gSWYpLjIgRiAuNjczKHRoaXMgdikKIDMuMTczIEYgLjY3MyhhcmlhYmxlIGlzKS0uMjUgRiAuMTQ0Ci0oc2V0LCB0aW1lIHN0YW1wcyBhcmUgd3JpdHRlbiB0byB0aGUgaGlzdG9yeSBcMjE0bGUgc28gdGhlKTE0NCAxODAgUgorKHNldCwgdGltZSBzdGFtcHMgYXJlIHdyaXR0ZW4gdG8gdGhlIGhpc3RvcnkgXDIxNGxlIHNvIHRoZSkxNDQgNTE2IFIKIDIuNjQ0KHltKS0uMTUgRyAuMTQ0KGF5IGJlIHByZXNlcnYpLTIuNjQ0IEYgLjE0NAogKGVkIGFjcm9zcyBzaGVsbCBzZXNzaW9ucy4pLS4xNSBGKFRoaXMpNS4xNDQgRSh1c2VzIHRoZSBoaXN0b3J5IGNvbW1lbnRcCi0gY2hhcmFjdGVyIHRvIGRpc3Rpbmd1aXNoIHRpbWVzdGFtcHMgZnJvbSBvdGhlciBoaXN0b3J5IGxpbmVzLikxNDQgMTkyIFEKLUYzKEhPTUUpMTA4IDIwNCBRIEYwIDEuMjcKLShUaGUgaG9tZSBkaXJlY3Rvcnkgb2YgdGhlIGN1cnJlbnQgdXNlcjsgdGhlIGRlZikxNDQgMjE2IFIgMS4yNyhhdWx0IGFyKQotLS4xIEYgMS4yNyhndW1lbnQgZm9yIHRoZSktLjE4IEYgRjMoY2QpMy43NyBFIEYwIC0uMihidSkzLjc3IEcgMS4yNwotKGlsdGluIGNvbW1hbmQuKS4yIEYoVGhlKTYuMjcgRSAtLjI1KHZhKTE0NCAyMjggUyhsdWUgb2YgdGhpcyB2KS4yNSBFCi0oYXJpYWJsZSBpcyBhbHNvIHVzZWQgd2hlbiBwZXJmb3JtaW5nIHRpbGRlIGUpLS4yNSBFKHhwYW5zaW9uLiktLjE1IEUgRjMKLShIT1NURklMRSkxMDggMjQwIFEgRjAgMS4wMTUKLShDb250YWlucyB0aGUgbmFtZSBvZiBhIFwyMTRsZSBpbiB0aGUgc2FtZSBmb3JtYXQgYXMpMTQ0IDI1MiBSIEY0CisgY2hhcmFjdGVyIHRvIGRpc3Rpbmd1aXNoIHRpbWVzdGFtcHMgZnJvbSBvdGhlciBoaXN0b3J5IGxpbmVzLikxNDQgNTI4IFEKK0YxKEhPTUUpMTA4IDU0MCBRIEYwIDEuMjcKKyhUaGUgaG9tZSBkaXJlY3Rvcnkgb2YgdGhlIGN1cnJlbnQgdXNlcjsgdGhlIGRlZikxNDQgNTUyIFIgMS4yNyhhdWx0IGFyKQorLS4xIEYgMS4yNyhndW1lbnQgZm9yIHRoZSktLjE4IEYgRjEoY2QpMy43NyBFIEYwIC0uMihidSkzLjc3IEcgMS4yNworKGlsdGluIGNvbW1hbmQuKS4yIEYoVGhlKTYuMjcgRSAtLjI1KHZhKTE0NCA1NjQgUyhsdWUgb2YgdGhpcyB2KS4yNSBFCisoYXJpYWJsZSBpcyBhbHNvIHVzZWQgd2hlbiBwZXJmb3JtaW5nIHRpbGRlIGUpLS4yNSBFKHhwYW5zaW9uLiktLjE1IEUgRjEKKyhIT1NURklMRSkxMDggNTc2IFEgRjAgMS4wMTUKKyhDb250YWlucyB0aGUgbmFtZSBvZiBhIFwyMTRsZSBpbiB0aGUgc2FtZSBmb3JtYXQgYXMpMTQ0IDU4OCBSIEY0CiAoL2V0Yy9ob3N0cyk1LjE4MSBFIEYwIDEuMDE1KHRoYXQgc2hvdWxkIGJlIHJlYWQgd2hlbiB0aGUgc2hlbGwpNS4xODEgRgotLjU1KG5lZWRzIHRvIGNvbXBsZXRlIGEgaG9zdG5hbWUuKTE0NCAyNjQgUiAuNTUxCisuNTUobmVlZHMgdG8gY29tcGxldGUgYSBob3N0bmFtZS4pMTQ0IDYwMCBSIC41NTEKIChUaGUgbGlzdCBvZiBwb3NzaWJsZSBob3N0bmFtZSBjb21wbGV0aW9ucyBtYXkgYmUgY2hhbmdlZCB3aGlsZSk1LjU1MSBGCi0xLjA1OSh0aGUgc2hlbGwgaXMgcnVubmluZzsgdGhlIG5lKTE0NCAyNzYgUiAxLjA1OQorMS4wNTkodGhlIHNoZWxsIGlzIHJ1bm5pbmc7IHRoZSBuZSkxNDQgNjEyIFIgMS4wNTkKICh4dCB0aW1lIGhvc3RuYW1lIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIGFmdGVyIHRoZSB2KS0uMTUgRiAxLjA1OAotKGFsdWUgaXMgY2hhbmdlZCwpLS4yNSBGIEYzKGJhc2gpMTQ0IDI4OCBRIEYwIC4xMzgKKyhhbHVlIGlzIGNoYW5nZWQsKS0uMjUgRiBGMShiYXNoKTE0NCA2MjQgUSBGMCAuMTM4CiAoYWRkcyB0aGUgY29udGVudHMgb2YgdGhlIG5lKTIuNjM4IEYgMi42Mzg8Nzc4Yz4tLjI1IEcgLjEzOChsZSB0byB0aGUgZSkKLS0yLjYzOCBGIC4xMzgoeGlzdGluZyBsaXN0LiktLjE1IEYoSWYpNS4xMzggRSBGMShIT1NURklMRSkyLjYzOCBFIEYwCistMi42MzggRiAuMTM4KHhpc3RpbmcgbGlzdC4pLS4xNSBGKElmKTUuMTM4IEUgRjIoSE9TVEZJTEUpMi42MzggRSBGMAogLjEzOChpcyBzZXQsIGIpMi4zODggRiAuMTM5KHV0IGhhcyBubyB2KS0uMiBGIC4xMzkoYWx1ZSwgb3IpLS4yNSBGIC41MTgKLShkb2VzIG5vdCBuYW1lIGEgcmVhZGFibGUgXDIxNGxlLCkxNDQgMzAwIFIgRjMoYmFzaCkzLjAxOCBFIEYwIC41MTgKKyhkb2VzIG5vdCBuYW1lIGEgcmVhZGFibGUgXDIxNGxlLCkxNDQgNjM2IFIgRjEoYmFzaCkzLjAxOCBFIEYwIC41MTgKIChhdHRlbXB0cyB0byByZWFkKTMuMDE4IEYgRjQoL2V0Yy9ob3N0cyk0LjY4MyBFIEYwIC41MTcKLSh0byBvYnRhaW4gdGhlIGxpc3Qgb2YgcG9zc2libGUgaG9zdC0pNC42ODMgRihuYW1lIGNvbXBsZXRpb25zLikxNDQgMzEyCi1RKFdoZW4pNSBFIEYxKEhPU1RGSUxFKTIuNSBFIEYwKGlzIHVuc2V0LCB0aGUgaG9zdG5hbWUgbGlzdCBpcyBjbGVhcmVkLikKLTIuMjUgRSBGMyhJRlMpMTA4IDMyNCBRIEYwKFRoZSkyMC40NCBFIEY0IC41NTUoSW50ZXJuYWwgRikzLjYzNSBGIC41NTUKKyh0byBvYnRhaW4gdGhlIGxpc3Qgb2YgcG9zc2libGUgaG9zdC0pNC42ODMgRihuYW1lIGNvbXBsZXRpb25zLikxNDQgNjQ4CitRKFdoZW4pNSBFIEYyKEhPU1RGSUxFKTIuNSBFIEYwKGlzIHVuc2V0LCB0aGUgaG9zdG5hbWUgbGlzdCBpcyBjbGVhcmVkLikKKzIuMjUgRSBGMShJRlMpMTA4IDY2MCBRIEYwKFRoZSkyMC40NCBFIEY0IC41NTUoSW50ZXJuYWwgRikzLjYzNSBGIC41NTUKIChpZWxkIFNlcGFyKS0uNDUgRihhdG9yKS0uMTUgRSBGMCAuNTU1KHRoYXQgaXMgdXNlZCBmb3IgdykzLjc4NSBGIC41NTYKIChvcmQgc3BsaXR0aW5nIGFmdGVyIGUpLS4xIEYgLjU1Nih4cGFuc2lvbiBhbmQgdG8gc3BsaXQgbGluZXMgaW50byktLjE1Ci1GIC0uMSh3bykxNDQgMzM2IFMocmRzIHdpdGggdGhlKS4xIEUgRjMgLS4xOChyZSkyLjUgRyhhZCkuMTggRSBGMCAtLjIKK0YgLS4xKHdvKTE0NCA2NzIgUyhyZHMgd2l0aCB0aGUpLjEgRSBGMSAtLjE4KHJlKTIuNSBHKGFkKS4xOCBFIEYwIC0uMgogKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQuKS4yIEUoVGhlIGRlZik1IEUoYXVsdCB2KS0uMSBFKGFsdWUgaXMgYCktLjI1IEUKLShgPHNwYWNlPjx0YWI+PG5lKS0uNzQgRSh3bGluZT4nKS0uMjUgRSgnLiktLjc0IEUgRjMoSUdOT1JFRU9GKTEwOCAzNDggUQotRjAgLjUwMyhDb250cm9scyB0aGUgYWN0aW9uIG9mIGFuIGludGVyYWN0aSkxNDQgMzYwIFIgLjgwMyAtLjE1KHZlIHMpCi0tLjI1IEggLjUwMyhoZWxsIG9uIHJlY2VpcHQgb2YgYW4pLjE1IEYgRjEoRU9GKTMuMDAzIEUgRjAgLjUwMworKGA8c3BhY2U+PHRhYj48bmUpLS43NCBFKHdsaW5lPicpLS4yNSBFKCcuKS0uNzQgRSBGMShJR05PUkVFT0YpMTA4IDY4NCBRCitGMCAuNTAzKENvbnRyb2xzIHRoZSBhY3Rpb24gb2YgYW4gaW50ZXJhY3RpKTE0NCA2OTYgUiAuODAzIC0uMTUodmUgcykKKy0uMjUgSCAuNTAzKGhlbGwgb24gcmVjZWlwdCBvZiBhbikuMTUgRiBGMihFT0YpMy4wMDMgRSBGMCAuNTAzCiAoY2hhcmFjdGVyIGFzIHRoZSBzb2xlIGlucHV0LikyLjc1MyBGIC41MDMoSWYgc2V0LCk1LjUwMyBGIC40MjYodGhlIHYpCi0xNDQgMzcyIFIgLjQyNihhbHVlIGlzIHRoZSBudW1iZXIgb2YgY29uc2VjdXRpKS0uMjUgRiAtLjE1KHZlKS0uMjUgRyBGMQorMTQ0IDcwOCBSIC40MjYoYWx1ZSBpcyB0aGUgbnVtYmVyIG9mIGNvbnNlY3V0aSktLjI1IEYgLS4xNSh2ZSktLjI1IEcgRjIKIChFT0YpMy4wNzYgRSBGMCAuNDI2CiAoY2hhcmFjdGVycyB3aGljaCBtdXN0IGJlIHR5cGVkIGFzIHRoZSBcMjE0cnN0IGNoYXJhY3RlcnMpMi42NzYgRiAuMzAzCi0ob24gYW4gaW5wdXQgbGluZSBiZWZvcmUpMTQ0IDM4NCBSIEYzKGJhc2gpMi44MDIgRSBGMCAtLjE1KGV4KTIuODAyIEcKKyhvbiBhbiBpbnB1dCBsaW5lIGJlZm9yZSkxNDQgNzIwIFIgRjEoYmFzaCkyLjgwMiBFIEYwIC0uMTUoZXgpMi44MDIgRwogMi44MDIoaXRzLiBJZikuMTUgRiAuMzAyKHRoZSB2KTIuODAyIEYgLjMwMihhcmlhYmxlIGUpLS4yNSBGIC4zMDIKICh4aXN0cyBiKS0uMTUgRiAuMzAyKHV0IGRvZXMgbm90IGhhKS0uMiBGIC42MDIgLS4xNSh2ZSBhIG4pLS4yIEggLjMwMgotKHVtZXJpYyB2KS4xNSBGIC4zMDIoYWx1ZSwgb3IgaGFzKS0uMjUgRihubyB2KTE0NCAzOTYgUShhbHVlLCB0aGUgZGVmKQotLS4yNSBFKGF1bHQgdiktLjEgRShhbHVlIGlzIDEwLiktLjI1IEUoSWYgaXQgZG9lcyBub3QgZSk1IEUoeGlzdCwpLS4xNSBFCi1GMShFT0YpMi41IEUgRjAoc2lnbmlcMjE0ZXMgdGhlIGVuZCBvZiBpbnB1dCB0byB0aGUgc2hlbGwuKTIuMjUgRSBGMwotKElOUFVUUkMpMTA4IDQwOCBRIEYwIDEuNDM1KFRoZSBcMjE0bGVuYW1lIGZvciB0aGUpMTQ0IDQyMCBSIEYzIC0uMTgocmUpCi0zLjkzNiBHKGFkbGluZSkuMTggRSBGMCAxLjQzNihzdGFydHVwIFwyMTRsZSwgbykzLjkzNiBGIC0uMTUodmUpLS4xNSBHCi0xLjQzNihycmlkaW5nIHRoZSBkZWYpLjE1IEYgMS40MzYoYXVsdCBvZiktLjEgRiBGNCh+Ly5pbnB1dHIpNS42MDIgRShjKQotLS4zNyBFIEYwKFwoc2VlKTUuNjAyIEUgRjEoUkVBRExJTkUpMy45MzYgRSBGMChiZWxvKTE0NCA0MzIgUSh3XCkuKS0uMjUKLUUgRjMoTEFORykxMDggNDQ0IFEgRjAgMS4yNChVc2VkIHRvIGRldGVybWluZSB0aGUgbG9jYWxlIGNhdGUpNy4xMSBGCi0xLjIzOShnb3J5IGZvciBhbiktLjE1IEYgMy43MzkoeWMpLS4xNSBHKGF0ZSktMy43MzkgRSAxLjIzOQotKGdvcnkgbm90IHNwZWNpXDIxNGNhbGx5IHNlbGVjdGVkIHdpdGggYSB2KS0uMTUgRihhcmlhYmxlKS0uMjUgRQotKHN0YXJ0aW5nIHdpdGgpMTQ0IDQ1NiBRIEYzKExDXykyLjUgRSBGMCguKUEgRjMoTENfQUxMKTEwOCA0NjggUSBGMCAuOTczCi0oVGhpcyB2KTE0NCA0ODAgUiAuOTczKGFyaWFibGUgbyktLjI1IEYgLS4xNSh2ZSktLjE1IEcgLjk3MwotKHJyaWRlcyB0aGUgdikuMTUgRiAuOTczKGFsdWUgb2YpLS4yNSBGIEYxKExBTkcpMy40NzMgRSBGMCAuOTczKGFuZCBhbikKLTMuMjIzIEYgMy40NzMoeW8pLS4xNSBHKHRoZXIpLTMuNDczIEUgRjMoTENfKTMuNDczIEUgRjAgLS4yNSh2YSkzLjQ3MyBHCi0uOTc0KHJpYWJsZSBzcGVjaWZ5aW5nIGEgbG9jYWxlIGNhdGUtKS4yNSBGKGdvcnkpMTQ0IDQ5MiBRKC4pLS42NSBFIEYzCi0oTENfQ09MTEEpMTA4IDUwNCBRKFRFKS0uOTUgRSBGMCAuNDEyKFRoaXMgdikxNDQgNTE2IFIgLjQxMihhcmlhYmxlIGRldFwKLWVybWluZXMgdGhlIGNvbGxhdGlvbiBvcmRlciB1c2VkIHdoZW4gc29ydGluZyB0aGUgcmVzdWx0cyBvZiBwYXRobmFtZSBlKQotLS4yNSBGKHhwYW5zaW9uLCktLjE1IEUgMS40NjQoYW5kIGRldGVybWluZXMgdGhlIGJlaGEpMTQ0IDUyOCBSIDEuNDY0Ci0odmlvciBvZiByYW5nZSBlKS0uMiBGIDEuNDY1KHhwcmVzc2lvbnMsIGVxdWkpLS4xNSBGIC0uMjUodmEpLS4yNSBHCi0xLjQ2NShsZW5jZSBjbGFzc2VzLCBhbmQgY29sbGF0aW5nIHNlcXVlbmNlcykuMjUgRih3aXRoaW4gcGF0aG5hbWUgZSkxNDQKLTU0MCBRKHhwYW5zaW9uIGFuZCBwYXR0ZXJuIG1hdGNoaW5nLiktLjE1IEUgRjMoTENfQ1RZUEUpMTA4IDU1MiBRIEYwCi0xLjkzNihUaGlzIHYpMTQ0IDU2NCBSIDEuOTM2Ci0oYXJpYWJsZSBkZXRlcm1pbmVzIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBjaGFyYWN0ZXJzIGFuZCB0aGUgYmVoYSktLjI1IEYKLTEuOTM1KHZpb3Igb2YgY2hhcmFjdGVyIGNsYXNzZXMpLS4yIEYod2l0aGluIHBhdGhuYW1lIGUpMTQ0IDU3NiBRCi0oeHBhbnNpb24gYW5kIHBhdHRlcm4gbWF0Y2hpbmcuKS0uMTUgRSBGMyhMQ19NRVNTQSkxMDggNTg4IFEoR0VTKS0uNTUgRQotRjAoVGhpcyB2KTE0NCA2MDAgUShhcmlhYmxlIGRldGVybWluZXMgdGhlIGxvY2FsZSB1c2VkIHRvIHRyYW5zbGF0ZSBkb3VcCi1ibGUtcXVvdGVkIHN0cmluZ3MgcHJlY2VkZWQgYnkgYSktLjI1IEUgRjMoJCkyLjUgRSBGMCguKUEgRjMoTENfTlVNRVJJQykKLTEwOCA2MTIgUSBGMChUaGlzIHYpMTQ0IDYyNCBRKGFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgbG9jYWxlIGNhdGUpLS4yNSBFCi0oZ29yeSB1c2VkIGZvciBudW1iZXIgZm9ybWF0dGluZy4pLS4xNSBFIEYzKExJTkVTKTEwOCA2MzYgUSBGMCAxLjIxOAotKFVzZWQgYnkgdGhlKTUuOTkgRiBGMyhzZWxlY3QpMy43MTggRSBGMCAtLjIoYnUpMy43MTggRyAxLjIxOShpbHRpbiBjb21cCi1tYW5kIHRvIGRldGVybWluZSB0aGUgY29sdW1uIGxlbmd0aCBmb3IgcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLikuMiBGCi0oQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEpMTQ0IDY0OCBRIEYxKFNJR1dJTkNIKTIuNSBFIEYyKC4pQQotRjMoTUFJTCkxMDggNjYwIFEgRjAgLjE4OAotKElmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIFwyMTRsZSBuYW1lIGFuZCB0aGUpOC43OCBGIEYxKE1BSUxQKTIuNjg3Ci1FIC0uODU1KEFUKS0uNjY2IEcoSCkuODU1IEUgRjAgLS4yNSh2YSkyLjQzNyBHIC4xODcocmlhYmxlIGlzIG5vdCBzZXQsKQotLjI1IEYgRjMoYmFzaCkyLjY4NyBFIEYwIC4xODcoaW5mb3JtcyB0aGUgdXNlcikyLjY4NyBGKG9mIHRoZSBhcnJpKTE0NAotNjcyIFEgLS4yNSh2YSktLjI1IEcgMi41KGxvKS4yNSBHIDIuNShmbSktMi41IEcKLShhaWwgaW4gdGhlIHNwZWNpXDIxNGVkIFwyMTRsZS4pLTIuNSBFIEYzKE1BSUxDSEVDSykxMDggNjg0IFEgRjAgLjA5OAotKFNwZWNpXDIxNGVzIGhvKTE0NCA2OTYgUiAyLjU5OCh3byktLjI1IEcgLjA5OChmdGVuIFwoaW4gc2Vjb25kc1wpKQotLTIuNTk4IEYgRjMoYmFzaCkyLjU5OCBFIEYwIC4wOTgoY2hlY2tzIGZvciBtYWlsLikyLjU5OCBGIC4wOTgoVGhlIGRlZikKLTUuMDk4IEYgLjA5OChhdWx0IGlzIDYwIHNlY29uZHMuKS0uMSBGIC4wOTkoV2hlbiBpdCBpcyB0aW1lKTUuMDk5IEYgLjIyNAotKHRvIGNoZWNrIGZvciBtYWlsLCB0aGUgc2hlbGwgZG9lcyBzbyBiZWZvcmUgZGlzcGxheWluZyB0aGUgcHJpbWFyeSBwcm9cCi1tcHQuKTE0NCA3MDggUiAuMjIzKElmIHRoaXMgdik1LjIyMyBGIC4yMjMoYXJpYWJsZSBpcyB1bnNldCwpLS4yNSBGIC4wNjYKLShvciBzZXQgdG8gYSB2KTE0NCA3MjAgUiAuMDY2KGFsdWUgdGhhdCBpcyBub3QgYSBudW1iZXIgZ3JlYXRlciB0aGFuIG9yXAotIGVxdWFsIHRvIHplcm8sIHRoZSBzaGVsbCBkaXNhYmxlcyBtYWlsIGNoZWNraW5nLiktLjI1IEYoR05VIEJhc2gtNC4xKTcyCi03NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgxNCkxODUuOTU1IEUgMCBDZyBFUAorKHVtZXJpYyB2KS4xNSBGIC4zMDIoYWx1ZSwgb3IgaGFzKS0uMjUgRihHTlUgQmFzaC00LjIpNzIgNzY4IFEKKygyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSgxNCkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAxNSAxNQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoTUFJTFApMTA4IDg0IFEgLS45NShBVCktLjc0IEcoSCkuOTUgRSBGMAotMi44MTUoQWMpMTQ0IDk2IFMgLjMxNChvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIFwyMTRsZSBuYW1lcyB0byBiZSBjaGVjaykKLS0yLjgxNSBGIC4zMTQoZWQgZm9yIG1haWwuKS0uMSBGIC4zMTQKLShUaGUgbWVzc2FnZSB0byBiZSBwcmludGVkIHdoZW4gbWFpbCk1LjMxNCBGKGFycmkpMTQ0IDEwOCBRIC0uMTUodmUpLS4yNQotRyAzLjQyKHNpKS4xNSBHIDMuNDIobmFwKS0zLjQyIEcgLjkyKGFydGljdWxhciBcMjE0bGUgbWF5IGJlIHNwZWNpXDIxNGVcCi1kIGJ5IHNlcGFyYXRpbmcgdGhlIFwyMTRsZSBuYW1lIGZyb20gdGhlIG1lc3NhZ2Ugd2l0aCBhKS0zLjQyIEYgMi44MDgKLShgPycuIFdoZW4pMTQ0IDEyMCBSIC4zMDgodXNlZCBpbiB0aGUgdGUpMi44MDggRiAuMzA4Ci0oeHQgb2YgdGhlIG1lc3NhZ2UsKS0uMTUgRiBGMSgkXykyLjgwOCBFIEYwIC0uMTUoZXgpMi44MDggRyAuMzA4Ci0ocGFuZHMgdG8gdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgbWFpbFwyMTRsZS4pLjE1IEYoRXhhbS0pNS4zMDcgRShwbGU6KQotMTQ0IDEzMiBRIEYxKE1BSUxQKTE0NCAxNDQgUSAtLjk1KEFUKS0uNzQgRyhIKS45NSBFIEYwKD1cMDEwL3YpQQorLS4zNSBFKG5vIHYpMTQ0IDg0IFEoYWx1ZSwgdGhlIGRlZiktLjI1IEUoYXVsdCB2KS0uMSBFKGFsdWUgaXMgMTAuKS0uMjUKK0UoSWYgaXQgZG9lcyBub3QgZSk1IEUoeGlzdCwpLS4xNSBFL0YxIDkvVGltZXMtQm9sZEAwIFNGKEVPRikyLjUgRSBGMAorKHNpZ25pXDIxNGVzIHRoZSBlbmQgb2YgaW5wdXQgdG8gdGhlIHNoZWxsLikyLjI1IEUvRjIgMTAvVGltZXMtQm9sZEAwIFNGCisoSU5QVVRSQykxMDggOTYgUSBGMCAxLjQzNShUaGUgXDIxNGxlbmFtZSBmb3IgdGhlKTE0NCAxMDggUiBGMiAtLjE4KHJlKQorMy45MzYgRyhhZGxpbmUpLjE4IEUgRjAgMS40MzYoc3RhcnR1cCBcMjE0bGUsIG8pMy45MzYgRiAtLjE1KHZlKS0uMTUgRworMS40MzYocnJpZGluZyB0aGUgZGVmKS4xNSBGIDEuNDM2KGF1bHQgb2YpLS4xIEYvRjMgMTAvVGltZXMtSXRhbGljQDAgU0YKKyh+Ly5pbnB1dHIpNS42MDIgRShjKS0uMzcgRSBGMChcKHNlZSk1LjYwMiBFIEYxKFJFQURMSU5FKTMuOTM2IEUgRjAKKyhiZWxvKTE0NCAxMjAgUSh3XCkuKS0uMjUgRSBGMihMQU5HKTEwOCAxMzIgUSBGMCAxLjI0CisoVXNlZCB0byBkZXRlcm1pbmUgdGhlIGxvY2FsZSBjYXRlKTcuMTEgRiAxLjIzOShnb3J5IGZvciBhbiktLjE1IEYgMy43MzkKKyh5YyktLjE1IEcoYXRlKS0zLjczOSBFIDEuMjM5KGdvcnkgbm90IHNwZWNpXDIxNGNhbGx5IHNlbGVjdGVkIHdpdGggYSB2KQorLS4xNSBGKGFyaWFibGUpLS4yNSBFKHN0YXJ0aW5nIHdpdGgpMTQ0IDE0NCBRIEYyKExDXykyLjUgRSBGMCguKUEgRjIKKyhMQ19BTEwpMTA4IDE1NiBRIEYwIC45NzMoVGhpcyB2KTE0NCAxNjggUiAuOTczKGFyaWFibGUgbyktLjI1IEYgLS4xNQorKHZlKS0uMTUgRyAuOTczKHJyaWRlcyB0aGUgdikuMTUgRiAuOTczKGFsdWUgb2YpLS4yNSBGIEYxKExBTkcpMy40NzMgRQorRjAgLjk3MyhhbmQgYW4pMy4yMjMgRiAzLjQ3Myh5byktLjE1IEcodGhlciktMy40NzMgRSBGMihMQ18pMy40NzMgRSBGMAorLS4yNSh2YSkzLjQ3MyBHIC45NzQocmlhYmxlIHNwZWNpZnlpbmcgYSBsb2NhbGUgY2F0ZS0pLjI1IEYoZ29yeSkxNDQgMTgwCitRKC4pLS42NSBFIEYyKExDX0NPTExBKTEwOCAxOTIgUShURSktLjk1IEUgRjAgLjQxMihUaGlzIHYpMTQ0IDIwNCBSIC40MTIKKyhhcmlhYmxlIGRldGVybWluZXMgdGhlIGNvbGxhdGlvbiBvcmRlciB1c2VkIHdoZW4gc29ydGluZyB0aGUgcmVzdWx0cyBvXAorZiBwYXRobmFtZSBlKS0uMjUgRih4cGFuc2lvbiwpLS4xNSBFIDEuNDY0KGFuZCBkZXRlcm1pbmVzIHRoZSBiZWhhKTE0NAorMjE2IFIgMS40NjQodmlvciBvZiByYW5nZSBlKS0uMiBGIDEuNDY1KHhwcmVzc2lvbnMsIGVxdWkpLS4xNSBGIC0uMjUodmEpCistLjI1IEcgMS40NjUobGVuY2UgY2xhc3NlcywgYW5kIGNvbGxhdGluZyBzZXF1ZW5jZXMpLjI1IEYKKyh3aXRoaW4gcGF0aG5hbWUgZSkxNDQgMjI4IFEoeHBhbnNpb24gYW5kIHBhdHRlcm4gbWF0Y2hpbmcuKS0uMTUgRSBGMgorKExDX0NUWVBFKTEwOCAyNDAgUSBGMCAxLjkzNihUaGlzIHYpMTQ0IDI1MiBSIDEuOTM2CisoYXJpYWJsZSBkZXRlcm1pbmVzIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBjaGFyYWN0ZXJzIGFuZCB0aGUgYmVoYSktLjI1IEYKKzEuOTM1KHZpb3Igb2YgY2hhcmFjdGVyIGNsYXNzZXMpLS4yIEYod2l0aGluIHBhdGhuYW1lIGUpMTQ0IDI2NCBRCisoeHBhbnNpb24gYW5kIHBhdHRlcm4gbWF0Y2hpbmcuKS0uMTUgRSBGMihMQ19NRVNTQSkxMDggMjc2IFEoR0VTKS0uNTUgRQorRjAoVGhpcyB2KTE0NCAyODggUShhcmlhYmxlIGRldGVybWluZXMgdGhlIGxvY2FsZSB1c2VkIHRvIHRyYW5zbGF0ZSBkb3VcCitibGUtcXVvdGVkIHN0cmluZ3MgcHJlY2VkZWQgYnkgYSktLjI1IEUgRjIoJCkyLjUgRSBGMCguKUEgRjIoTENfTlVNRVJJQykKKzEwOCAzMDAgUSBGMChUaGlzIHYpMTQ0IDMxMiBRKGFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgbG9jYWxlIGNhdGUpLS4yNSBFCisoZ29yeSB1c2VkIGZvciBudW1iZXIgZm9ybWF0dGluZy4pLS4xNSBFIEYyKExJTkVTKTEwOCAzMjQgUSBGMCAuMDU0CisoVXNlZCBieSB0aGUpNS45OSBGIEYyKHNlbGVjdCkyLjU1NCBFIEYwIC4wNTQoY29tcG91bmQgY29tbWFuZCB0byBkZXRlclwKK21pbmUgdGhlIGNvbHVtbiBsZW5ndGggZm9yIHByaW50aW5nIHNlbGVjdGlvbiBsaXN0cy4pMi41NTQgRgorKEF1dG9tYXRpY2FsbHkgc2V0IHVwb24gcmVjZWlwdCBvZiBhKTE0NCAzMzYgUSBGMShTSUdXSU5DSCkyLjUgRS9GNCA5CisvVGltZXMtUm9tYW5AMCBTRiguKUEgRjIoTUFJTCkxMDggMzQ4IFEgRjAgMS4yMDEKKyhJZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgdG8gYSBcMjE0bGUgb3IgZGlyZWN0b3J5IG5hbWUgYW5kIHRoZSk4Ljc4IEYKK0YxKE1BSUxQKTMuNzAxIEUgLS44NTUoQVQpLS42NjYgRyhIKS44NTUgRSBGMCAtLjI1KHZhKTMuNDUxIEcgMS4yMDEKKyhyaWFibGUgaXMgbm90IHNldCwpLjI1IEYgRjIoYmFzaCkzLjcwMSBFIEYwCisoaW5mb3JtcyB0aGUgdXNlciBvZiB0aGUgYXJyaSkxNDQgMzYwIFEgLS4yNSh2YSktLjI1IEcgMi41KGxvKS4yNSBHIDIuNQorKGZtKS0yLjUgRyhhaWwgaW4gdGhlIHNwZWNpXDIxNGVkIFwyMTRsZSBvciBNYWlsZGlyKS0yLjUgRQorKC1mb3JtYXQgZGlyZWN0b3J5KS0uMiBFKC4pLS42NSBFIEYyKE1BSUxDSEVDSykxMDggMzcyIFEgRjAgLjA5OAorKFNwZWNpXDIxNGVzIGhvKTE0NCAzODQgUiAyLjU5OCh3byktLjI1IEcgLjA5OChmdGVuIFwoaW4gc2Vjb25kc1wpKQorLTIuNTk4IEYgRjIoYmFzaCkyLjU5OCBFIEYwIC4wOTgoY2hlY2tzIGZvciBtYWlsLikyLjU5OCBGIC4wOTgoVGhlIGRlZikKKzUuMDk4IEYgLjA5OChhdWx0IGlzIDYwIHNlY29uZHMuKS0uMSBGIC4wOTkoV2hlbiBpdCBpcyB0aW1lKTUuMDk5IEYgLjIyNAorKHRvIGNoZWNrIGZvciBtYWlsLCB0aGUgc2hlbGwgZG9lcyBzbyBiZWZvcmUgZGlzcGxheWluZyB0aGUgcHJpbWFyeSBwcm9cCittcHQuKTE0NCAzOTYgUiAuMjIzKElmIHRoaXMgdik1LjIyMyBGIC4yMjMoYXJpYWJsZSBpcyB1bnNldCwpLS4yNSBGIC4wNjYKKyhvciBzZXQgdG8gYSB2KTE0NCA0MDggUiAuMDY2KGFsdWUgdGhhdCBpcyBub3QgYSBudW1iZXIgZ3JlYXRlciB0aGFuIG9yXAorIGVxdWFsIHRvIHplcm8sIHRoZSBzaGVsbCBkaXNhYmxlcyBtYWlsIGNoZWNraW5nLiktLjI1IEYgRjIoTUFJTFApMTA4Cis0MjAgUSAtLjk1KEFUKS0uNzQgRyhIKS45NSBFIEYwIDIuODE1KEFjKTE0NCA0MzIgUyAuMzE0Cisob2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBcMjE0bGUgbmFtZXMgdG8gYmUgY2hlY2spLTIuODE1IEYgLjMxNAorKGVkIGZvciBtYWlsLiktLjEgRiAuMzE0KFRoZSBtZXNzYWdlIHRvIGJlIHByaW50ZWQgd2hlbiBtYWlsKTUuMzE0IEYKKyhhcnJpKTE0NCA0NDQgUSAtLjE1KHZlKS0uMjUgRyAzLjQyKHNpKS4xNSBHIDMuNDIobmFwKS0zLjQyIEcgLjkyKGFydGljXAordWxhciBcMjE0bGUgbWF5IGJlIHNwZWNpXDIxNGVkIGJ5IHNlcGFyYXRpbmcgdGhlIFwyMTRsZSBuYW1lIGZyb20gdGhlIG1cCitlc3NhZ2Ugd2l0aCBhKS0zLjQyIEYgMi44MDgoYD8nLiBXaGVuKTE0NCA0NTYgUiAuMzA4KHVzZWQgaW4gdGhlIHRlKQorMi44MDggRiAuMzA4KHh0IG9mIHRoZSBtZXNzYWdlLCktLjE1IEYgRjIoJF8pMi44MDggRSBGMCAtLjE1KGV4KTIuODA4IEcKKy4zMDgocGFuZHMgdG8gdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgbWFpbFwyMTRsZS4pLjE1IEYoRXhhbS0pNS4zMDcgRQorKHBsZTopMTQ0IDQ2OCBRIEYyKE1BSUxQKTE0NCA0ODAgUSAtLjk1KEFUKS0uNzQgRyhIKS45NSBFIEYwKD1cMDEwL3YpQQogKGFyL21haWwvYmZveD8iWSktLjI1IEUob3UgaGEpLTEuMSBFIC4zIC0uMTUodmUgbSktLjIgSAotKGFpbCI6fi9zaGVsbFwyNTVtYWlsPyIkXyBoYXMgbWFpbCEiXDAxMCkuMTUgRSBGMShCYXNoKTE0NCAxNTYgUSBGMCAuMzg4CisoYWlsIjp+L3NoZWxsXDI1NW1haWw/IiRfIGhhcyBtYWlsISJcMDEwKS4xNSBFIEYyKEJhc2gpMTQ0IDQ5MiBRIEYwIC4zODgKIChzdXBwbGllcyBhIGRlZikyLjg4OCBGIC4zODgoYXVsdCB2KS0uMSBGIC4zODgoYWx1ZSBmb3IgdGhpcyB2KS0uMjUgRgogLjM4OChhcmlhYmxlLCBiKS0uMjUgRiAuMzg5CiAodXQgdGhlIGxvY2F0aW9uIG9mIHRoZSB1c2VyIG1haWwgXDIxNGxlcyB0aGF0IGl0IHVzZXMgaXMpLS4yIEYKLShzeXN0ZW0gZGVwZW5kZW50IFwoZS5nLiwgL3YpMTQ0IDE2OCBRKGFyL21haWwvKS0uMjUgRSBGMSgkVVNFUilBIEYwCi0oXCkuKUEgRjEoT1BURVJSKTEwOCAxODAgUSBGMCAuMzkoSWYgc2V0IHRvIHRoZSB2KTE0NCAxOTIgUiAuMzkoYWx1ZSAxLCkKLS0uMjUgRiBGMShiYXNoKTIuODkgRSBGMCAuMzg5KGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzIGdlbmVyYXRlZCBieSB0aGUpCi0yLjg4OSBGIEYxKGdldG9wdHMpMi44ODkgRSBGMCAtLjIoYnUpMi44ODkgRyAuMzg5KGlsdGluIGNvbW1hbmQgXChzZWUpLjIKLUYvRjIgOS9UaW1lcy1Cb2xkQDAgU0YgLjM1OShTSEVMTCBCKTE0NCAyMDQgUihVSUwpLS4wOSBFIC4zNTkKLShUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTIuNjA5IEUod1wpLiktLjI1IEUgRjIoT1BURVJSKTUuMzU5IEUgRjAKLS4zNihpcyBpbml0aWFsaXplZCB0byAxIGVhY2ggdGltZSB0aGUgc2hlbGwgaXMgaW4pMi42MDkgRiAtLjIodm8pLS40IEcKLS0uMShrZSkuMiBHKGQpLjEgRShvciBhIHNoZWxsIHNjcmlwdCBpcyBlKTE0NCAyMTYgUSAtLjE1KHhlKS0uMTUgRwotKGN1dGVkLikuMTUgRSBGMSAtLjc0KFBBKTEwOCAyMjggUyhUSCktLjIxIEUgRjAgLjU4OAorKHN5c3RlbSBkZXBlbmRlbnQgXChlLmcuLCAvdikxNDQgNTA0IFEoYXIvbWFpbC8pLS4yNSBFIEYyKCRVU0VSKUEgRjAKKyhcKS4pQSBGMihPUFRFUlIpMTA4IDUxNiBRIEYwIC4zOShJZiBzZXQgdG8gdGhlIHYpMTQ0IDUyOCBSIC4zOShhbHVlIDEsKQorLS4yNSBGIEYyKGJhc2gpMi44OSBFIEYwIC4zODkoZGlzcGxheXMgZXJyb3IgbWVzc2FnZXMgZ2VuZXJhdGVkIGJ5IHRoZSkKKzIuODg5IEYgRjIoZ2V0b3B0cykyLjg4OSBFIEYwIC0uMihidSkyLjg4OSBHIC4zODkoaWx0aW4gY29tbWFuZCBcKHNlZSkuMgorRiBGMSAuMzU5KFNIRUxMIEIpMTQ0IDU0MCBSKFVJTCktLjA5IEUgLjM1OShUSU4gQ09NTUFORFMpLS44MjggRiBGMAorKGJlbG8pMi42MDkgRSh3XCkuKS0uMjUgRSBGMShPUFRFUlIpNS4zNTkgRSBGMCAuMzYKKyhpcyBpbml0aWFsaXplZCB0byAxIGVhY2ggdGltZSB0aGUgc2hlbGwgaXMgaW4pMi42MDkgRiAtLjIodm8pLS40IEcgLS4xCisoa2UpLjIgRyhkKS4xIEUob3IgYSBzaGVsbCBzY3JpcHQgaXMgZSkxNDQgNTUyIFEgLS4xNSh4ZSktLjE1IEcoY3V0ZWQuKQorLjE1IEUgRjIgLS43NChQQSkxMDggNTY0IFMoVEgpLS4yMSBFIEYwIC41ODgKIChUaGUgc2VhcmNoIHBhdGggZm9yIGNvbW1hbmRzLik5LjkxIEYgLjU4NwogKEl0IGlzIGEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZGlyZWN0b3JpZXMgaW4gd2hpY2ggdGhlIHNoZWxsIGxvb2tzKQotNS41ODggRiAuNDcxKGZvciBjb21tYW5kcyBcKHNlZSkxNDQgMjQwIFIgRjIgLjQ3MShDT01NQU5EIEVYRUNVVElPTikKKzUuNTg4IEYgLjQ3MShmb3IgY29tbWFuZHMgXChzZWUpMTQ0IDU3NiBSIEYxIC40NzEoQ09NTUFORCBFWEVDVVRJT04pCiAyLjk3MSBGIEYwKGJlbG8pMi43MjIgRSAyLjk3Mih3XCkuIEEpLS4yNSBGIC40NzIKLSh6ZXJvLWxlbmd0aCBcKG51bGxcKSBkaXJlY3RvcnkgbmFtZSBpbiB0aGUpMi45NzIgRiAtLjI1KHZhKTE0NCAyNTIgUwotLjUzNihsdWUgb2YpLjI1IEYgRjIgLS42NjYoUEEpMy4wMzYgRyhUSCktLjE4OSBFIEYwIC41MzUKKyh6ZXJvLWxlbmd0aCBcKG51bGxcKSBkaXJlY3RvcnkgbmFtZSBpbiB0aGUpMi45NzIgRiAtLjI1KHZhKTE0NCA1ODggUworLjUzNihsdWUgb2YpLjI1IEYgRjEgLS42NjYoUEEpMy4wMzYgRyhUSCktLjE4OSBFIEYwIC41MzUKIChpbmRpY2F0ZXMgdGhlIGN1cnJlbnQgZGlyZWN0b3J5KTIuNzg2IEYgNS41MzUoLkEpLS42NSBHIC41MzUKIChudWxsIGRpcmVjdG9yeSBuYW1lIG1heSBhcHBlYXIgYXMgdHcpLTIuNSBGIDMuMDM1KG9hKS0uMSBHKGRqYWNlbnQpCi0tMy4wMzUgRSAuODY3KGNvbG9ucywgb3IgYXMgYW4gaW5pdGlhbCBvciB0cmFpbGluZyBjb2xvbi4pMTQ0IDI2NCBSIC44NjgKKy0zLjAzNSBFIC44NjcoY29sb25zLCBvciBhcyBhbiBpbml0aWFsIG9yIHRyYWlsaW5nIGNvbG9uLikxNDQgNjAwIFIgLjg2OAogKFRoZSBkZWYpNS44NjggRiAuODY4KGF1bHQgcGF0aCBpcyBzeXN0ZW0tZGVwZW5kZW50LCBhbmQgaXMgc2V0IGJ5IHRoZSkKLS0uMSBGIDI2LjMyOShhZG1pbmlzdHJhdG9yIHdobyBpbnN0YWxscykxNDQgMjc2IFIgRjEoYmFzaCkyOC44MjkgRSBGMAotMzEuMzI5KC5BKUMgMjYuMzI4KGNvbW1vbiB2KS0yLjUwMSBGIDI2LjMyOChhbHVlIGlzKS0uMjUgRi9GMyAxMAotL0NvdXJpZXJAMCBTRigvdXNyL2dudS9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci91Y2I6L2JpbjovdXNyL2JpbikxNDQgMjg4Ci1RIEYwKC4pQSBGMShQT1NJWEwpMTA4IDMwMCBRKFlfQ09SUkVDVCktLjkyIEUgRjAgLjQ3MShJZiB0aGlzIHYpMTQ0IDMxMgotUiAuNDcxKGFyaWFibGUgaXMgaW4gdGhlIGVuKS0uMjUgRiAuNDcxKHZpcm9ubWVudCB3aGVuKS0uNCBGIEYxKGJhc2gpCi0yLjk3MSBFIEYwIC40NzEoc3RhcnRzLCB0aGUgc2hlbGwgZW50ZXJzKTIuOTcxIEYvRjQgMTAvVGltZXMtSXRhbGljQDAgU0YKLS40NzIocG9zaXggbW9kZSkyLjk3MiBGIEYwIC40NzIoYmVmb3JlIHJlYWRpbmcpMi45NzIgRiAuMDExCi0odGhlIHN0YXJ0dXAgXDIxNGxlcywgYXMgaWYgdGhlKTE0NCAzMjQgUiBGMShcMjU1XDI1NXBvc2l4KTIuNTExIEUgRjAKKy0uMSBGIDI2LjMyOShhZG1pbmlzdHJhdG9yIHdobyBpbnN0YWxscykxNDQgNjEyIFIgRjIoYmFzaCkyOC44MjkgRSBGMAorMzEuMzI5KC5BKUMgMjYuMzI4KGNvbW1vbiB2KS0yLjUwMSBGIDI2LjMyOChhbHVlIGlzKS0uMjUgRi9GNSAxMAorL0NvdXJpZXJAMCBTRigvdXNyL2dudS9iaW46L3Vzci9sb2NhbC9iaW46L3Vzci91Y2I6L2JpbjovdXNyL2JpbikxNDQgNjI0CitRIEYwKC4pQSBGMihQT1NJWEwpMTA4IDYzNiBRKFlfQ09SUkVDVCktLjkyIEUgRjAgLjQ3MShJZiB0aGlzIHYpMTQ0IDY0OAorUiAuNDcxKGFyaWFibGUgaXMgaW4gdGhlIGVuKS0uMjUgRiAuNDcxKHZpcm9ubWVudCB3aGVuKS0uNCBGIEYyKGJhc2gpCisyLjk3MSBFIEYwIC40NzEoc3RhcnRzLCB0aGUgc2hlbGwgZW50ZXJzKTIuOTcxIEYgRjMgLjQ3Mihwb3NpeCBtb2RlKQorMi45NzIgRiBGMCAuNDcyKGJlZm9yZSByZWFkaW5nKTIuOTcyIEYgLjAxMQorKHRoZSBzdGFydHVwIFwyMTRsZXMsIGFzIGlmIHRoZSkxNDQgNjYwIFIgRjIoXDI1NVwyNTVwb3NpeCkyLjUxMSBFIEYwCiAoaW4pMi41MTEgRSAtLjIodm8pLS40IEcgLjAxMShjYXRpb24gb3B0aW9uIGhhZCBiZWVuIHN1cHBsaWVkLikuMiBGIC4wMTEKLShJZiBpdCBpcyBzZXQgd2hpbGUgdGhlIHNoZWxsIGlzKTUuMDExIEYocnVubmluZywpMTQ0IDMzNiBRIEYxKGJhc2gpMi41Ci1FIEYwKGVuYWJsZXMpMi41IEUgRjQocG9zaXggbW9kZSkyLjUgRSBGMCAyLjUoLGEpQyAyLjUoc2kpLTIuNSBHIDIuNShmdCkKLS0yLjUgRyhoZSBjb21tYW5kKS0yLjUgRSBGMyhzZXQgLW8gcG9zaXgpMi41IEUgRjAoaGFkIGJlZW4gZSkyLjUgRSAtLjE1Ci0oeGUpLS4xNSBHKGN1dGVkLikuMTUgRSBGMShQUikxMDggMzQ4IFEoT01QVF9DT01NQU5EKS0uMyBFIEYwCi0oSWYgc2V0LCB0aGUgdikxNDQgMzYwIFEoYWx1ZSBpcyBlKS0uMjUgRSAtLjE1KHhlKS0uMTUgRwotKGN1dGVkIGFzIGEgY29tbWFuZCBwcmlvciB0byBpc3N1aW5nIGVhY2ggcHJpbWFyeSBwcm9tcHQuKS4xNSBFIEYxKFBSKQotMTA4IDM3MiBRKE9NUFRfRElSKS0uMyBFKFRSSU0pLS40IEUgRjAgLjY3NgotKElmIHNldCB0byBhIG51bWJlciBncmVhdGVyIHRoYW4gemVybywgdGhlIHYpMTQ0IDM4NCBSIC42NzYKLShhbHVlIGlzIHVzZWQgYXMgdGhlIG51bWJlciBvZiB0cmFpbGluZyBkaXJlY3RvcnkgY29tcG8tKS0uMjUgRiAuOTIzCi0obmVudHMgdG8gcmV0YWluIHdoZW4gZSkxNDQgMzk2IFIgLjkyMyh4cGFuZGluZyB0aGUpLS4xNSBGIEYxKFxcdykzLjQyMwotRSBGMChhbmQpMy40MjMgRSBGMShcXFcpMy40MjMgRSBGMCAuOTIzKHByb21wdCBzdHJpbmcgZXNjYXBlcyBcKHNlZSkKLTMuNDIzIEYgRjIoUFIpMy40MjMgRShPTVBUSU5HKS0uMjcgRSBGMChiZWxvKTMuMTczIEUod1wpLiktLjI1IEUKLShDaGFyYWN0ZXJzIHJlbW8pMTQ0IDQwOCBRIC0uMTUodmUpLS4xNSBHIDIuNShkYSkuMTUgRwotKHJlIHJlcGxhY2VkIHdpdGggYW4gZWxsaXBzaXMuKS0yLjUgRSBGMShQUzEpMTA4IDQyMCBRIEYwIC4wNjQoVGhlIHYpCi0xOS4zMyBGIC4wNjUoYWx1ZSBvZiB0aGlzIHBhcmFtZXRlciBpcyBlKS0uMjUgRiAuMDY1KHhwYW5kZWQgXChzZWUpLS4xNQotRiBGMihQUikyLjU2NSBFKE9NUFRJTkcpLS4yNyBFIEYwKGJlbG8pMi4zMTUgRSAuMDY1Ci0od1wpIGFuZCB1c2VkIGFzIHRoZSBwcmltYXJ5IHByb21wdCktLjI1IEYgMi41KHN0cmluZy4gVGhlKTE0NCA0MzIgUgotKGRlZikyLjUgRShhdWx0IHYpLS4xIEUoYWx1ZSBpcyBgKS0uMjUgRShgKS0uNzQgRSBGMShcXHNcMjU1XFx2XFwkKUEgRjAKLS0uNzQoJycpMi41IEcoLikuNzQgRSBGMShQUzIpMTA4IDQ0NCBRIEYwIC4xMTgoVGhlIHYpMTkuMzMgRiAuMTE4Ci0oYWx1ZSBvZiB0aGlzIHBhcmFtZXRlciBpcyBlKS0uMjUgRiAuMTE4KHhwYW5kZWQgYXMgd2l0aCktLjE1IEYgRjIoUFMxKQotMi42MTcgRSBGMCAuMTE3KGFuZCB1c2VkIGFzIHRoZSBzZWNvbmRhcnkgcHJvbXB0IHN0cmluZy4pMi4zNjcgRihUaGUpCi01LjExNyBFKGRlZikxNDQgNDU2IFEoYXVsdCBpcyBgKS0uMSBFKGApLS43NCBFIEYxKD4pQSBGMCAtLjc0KCcnKTIuNSBHCi0oLikuNzQgRSBGMShQUzMpMTA4IDQ2OCBRIEYwIDEuMTE1KFRoZSB2KTE5LjMzIEYgMS4xMTUKLShhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIHVzZWQgYXMgdGhlIHByb21wdCBmb3IgdGhlKS0uMjUgRiBGMShzZWxlY3QpCi0zLjYxNSBFIEYwIDEuMTE2KGNvbW1hbmQgXChzZWUpMy42MTYgRiBGMiAxLjExNihTSEVMTCBHUkFNLSkzLjYxNiBGKE1BUikKLTE0NCA0ODAgUSBGMChhYm8pMi4yNSBFIC0uMTUodmUpLS4xNSBHKFwpLikuMTUgRSBGMShQUzQpMTA4IDQ5MiBRIEYwCi0uMTAxKFRoZSB2KTE5LjMzIEYgLjEwMShhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGUpLS4yNSBGIC4xMDEKLSh4cGFuZGVkIGFzIHdpdGgpLS4xNSBGIEYyKFBTMSkyLjYgRSBGMCAuMShhbmQgdGhlIHYpMi4zNSBGIC4xCi0oYWx1ZSBpcyBwcmludGVkIGJlZm9yZSBlYWNoIGNvbW1hbmQpLS4yNSBGIEYxKGJhc2gpMTQ0IDUwNCBRIEYwIC4yOTEKLShkaXNwbGF5cyBkdXJpbmcgYW4gZSkyLjc5MSBGIC0uMTUoeGUpLS4xNSBHIC4yOTIoY3V0aW9uIHRyYWNlLikuMTUgRgotLjI5MihUaGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpNS4yOTIgRiBGMihQUzQpMi43OTIgRSBGMCAuMjkyCi0oaXMgcmVwbGljYXRlZCBtdWx0aXBsZSB0aW1lcywgYXMpMi41NDIgRihuZWNlc3NhcnkpMTQ0IDUxNiBRIDIuNSgsdCkKLS0uNjUgRyAyLjUob2kpLTIuNSBHKG5kaWNhdGUgbXVsdGlwbGUgbGUpLTIuNSBFIC0uMTUodmUpLS4yNSBHCi0obHMgb2YgaW5kaXJlY3Rpb24uKS4xNSBFKFRoZSBkZWYpNSBFKGF1bHQgaXMgYCktLjEgRShgKS0uNzQgRSBGMSgrKUEgRjAKLS0uNzQoJycpMi41IEcoLikuNzQgRSBGMShTSEVMTCkxMDggNTI4IFEgRjAgLjY2NAotKFRoZSBmdWxsIHBhdGhuYW1lIHRvIHRoZSBzaGVsbCBpcyBrKTE0NCA1NDAgUiAuNjY0KGVwdCBpbiB0aGlzIGVuKS0uMSBGCi0uNjY0KHZpcm9ubWVudCB2KS0uNCBGIDMuMTY0KGFyaWFibGUuIElmKS0uMjUgRiAuNjYzCi0oaXQgaXMgbm90IHNldCB3aGVuIHRoZSBzaGVsbCkzLjE2NCBGKHN0YXJ0cywpMTQ0IDU1MiBRIEYxKGJhc2gpMi41IEUgRjAKLShhc3NpZ25zIHRvIGl0IHRoZSBmdWxsIHBhdGhuYW1lIG9mIHRoZSBjdXJyZW50IHVzZXInKTIuNSBFIDIuNShzbCktLjU1Ci1HKG9naW4gc2hlbGwuKS0yLjUgRSBGMShUSU1FRk9STUEpMTA4IDU2NCBRKFQpLS45NSBFIEYwIC44MjYoVGhlIHYpMTQ0Ci01NzYgUiAuODI2Ci0oYWx1ZSBvZiB0aGlzIHBhcmFtZXRlciBpcyB1c2VkIGFzIGEgZm9ybWF0IHN0cmluZyBzcGVjaWZ5aW5nIGhvKS0uMjUgRgotMy4zMjcod3QpLS4yNSBHIC44MjcoaGUgdGltaW5nIGluZm9ybWF0aW9uIGZvciktMy4zMjcgRiAuNjQ5Ci0ocGlwZWxpbmVzIHByZVwyMTR4KTE0NCA1ODggUiAuNjQ5KGVkIHdpdGggdGhlKS0uMTUgRiBGMSh0aW1lKTMuMTQ5IEUgRjAKLShyZXNlcnYpMy4xNDkgRSAuNjQ5KGVkIHcpLS4xNSBGIC42NDgob3JkIHNob3VsZCBiZSBkaXNwbGF5ZWQuKS0uMSBGCi0oVGhlKTUuNjQ4IEUgRjEoJSkzLjE0OCBFIEYwIC42NDgoY2hhcmFjdGVyIGludHJvZHVjZXMpMy4xNDggRiAuNzExCi0oYW4gZXNjYXBlIHNlcXVlbmNlIHRoYXQgaXMgZSkxNDQgNjAwIFIgLjcxMSh4cGFuZGVkIHRvIGEgdGltZSB2KS0uMTUgRgotLjcxMihhbHVlIG9yIG90aGVyIGluZm9ybWF0aW9uLiktLjI1IEYgLjcxMihUaGUgZXNjYXBlIHNlcXVlbmNlcyk1LjcxMiBGCi0oYW5kIHRoZWlyIG1lYW5pbmdzIGFyZSBhcyBmb2xsbykxNDQgNjEyIFEKLSh3czsgdGhlIGJyYWNlcyBkZW5vdGUgb3B0aW9uYWwgcG9ydGlvbnMuKS0uMjUgRSBGMSglJSkxNDQgNjMwIFEgRjAgMi41Ci0oQWwpMzAgRyhpdGVyYWwpLTIuNSBFIEYxKCUpMi41IEUgRjAoLilBIEYxKCVbKTE0NCA2NDIgUSBGNChwKUEgRjEKLShdW2xdUilBIEYwKFRoZSBlbGFwc2VkIHRpbWUgaW4gc2Vjb25kcy4pMTEuNjggRSBGMSglWykxNDQgNjU0IFEgRjQocClBCi1GMShdW2xdVSlBIEYwKFRoZSBudW1iZXIgb2YgQ1BVIHNlY29uZHMgc3BlbnQgaW4gdXNlciBtb2RlLikxMS42OCBFIEYxCi0oJVspMTQ0IDY2NiBRIEY0KHApQSBGMShdW2xdUylBIEYwCi0oVGhlIG51bWJlciBvZiBDUFUgc2Vjb25kcyBzcGVudCBpbiBzeXN0ZW0gbW9kZS4pMTMuMzQgRSBGMSglUCkxNDQgNjc4IFEKLUYwKFRoZSBDUFUgcGVyY2VudGFnZSwgY29tcHV0ZWQgYXMgXCglVSArICVTXCkgLyAlUi4pMzMuODkgRSAuODcKLShUaGUgb3B0aW9uYWwpMTQ0IDY5NC44IFIgRjQocCkzLjM3IEUgRjAgLjg3KGlzIGEgZGlnaXQgc3BlY2lmeWluZyB0aGUpCi0zLjM3IEYgRjQocHIpMy4zNyBFKGVjaXNpb24pLS4zNyBFIEYwIDMuMzcoLHQpQyAuODcKLShoZSBudW1iZXIgb2YgZnJhY3Rpb25hbCBkaWdpdHMgYWZ0ZXIgYSBkZWNpbWFsKS0zLjM3IEYgMi41MjUocG9pbnQuIEEpCi0xNDQgNzA2LjggUiAtLjI1KHZhKTIuNTI1IEcgLjAyNQotKGx1ZSBvZiAwIGNhdXNlcyBubyBkZWNpbWFsIHBvaW50IG9yIGZyYWN0aW9uIHRvIGJlIG91dHB1dC4pLjI1IEYgLjAyNgotKEF0IG1vc3QgdGhyZWUgcGxhY2VzIGFmdGVyIHRoZSk1LjAyNSBGIC41MzgKLShkZWNpbWFsIHBvaW50IG1heSBiZSBzcGVjaVwyMTRlZDsgdikxNDQgNzE4LjggUiAuNTM4KGFsdWVzIG9mKS0uMjUgRiBGNAotKHApMy4wMzggRSBGMCAuNTM3KGdyZWF0ZXIgdGhhbiAzIGFyZSBjaGFuZ2VkIHRvIDMuKTMuMDM3IEYoSWYpNS41MzcgRQotRjQocCkzLjAzNyBFIEYwIC41MzcoaXMgbm90IHNwZWNpXDIxNGVkLCkzLjAzNyBGKHRoZSB2KTE0NCA3MzAuOCBRCi0oYWx1ZSAzIGlzIHVzZWQuKS0uMjUgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUKLSgxNSkxODUuOTU1IEUgMCBDZyBFUAorKElmIGl0IGlzIHNldCB3aGlsZSB0aGUgc2hlbGwgaXMpNS4wMTEgRihydW5uaW5nLCkxNDQgNjcyIFEgRjIoYmFzaCkyLjUKK0UgRjAoZW5hYmxlcykyLjUgRSBGMyhwb3NpeCBtb2RlKTIuNSBFIEYwIDIuNSgsYSlDIDIuNShzaSktMi41IEcgMi41KGZ0KQorLTIuNSBHKGhlIGNvbW1hbmQpLTIuNSBFIEY1KHNldCAtbyBwb3NpeCkyLjUgRSBGMChoYWQgYmVlbiBlKTIuNSBFIC0uMTUKKyh4ZSktLjE1IEcoY3V0ZWQuKS4xNSBFIEYyKFBSKTEwOCA2ODQgUShPTVBUX0NPTU1BTkQpLS4zIEUgRjAKKyhJZiBzZXQsIHRoZSB2KTE0NCA2OTYgUShhbHVlIGlzIGUpLS4yNSBFIC0uMTUoeGUpLS4xNSBHCisoY3V0ZWQgYXMgYSBjb21tYW5kIHByaW9yIHRvIGlzc3VpbmcgZWFjaCBwcmltYXJ5IHByb21wdC4pLjE1IEUKKyhHTlUgQmFzaC00LjIpNzIgNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoMTUpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMTYgMTYKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUgLjY2NyhUaGUgb3B0aW9uYWwpMTQ0IDg0IFIvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGwpMy4xNjcgRSBGMAorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihQUikxMDggODQgUShPTVBUX0RJUiktLjMgRShUUklNKS0uNCBFIEYwCisuNjc2KElmIHNldCB0byBhIG51bWJlciBncmVhdGVyIHRoYW4gemVybywgdGhlIHYpMTQ0IDk2IFIgLjY3NgorKGFsdWUgaXMgdXNlZCBhcyB0aGUgbnVtYmVyIG9mIHRyYWlsaW5nIGRpcmVjdG9yeSBjb21wby0pLS4yNSBGIC45MjMKKyhuZW50cyB0byByZXRhaW4gd2hlbiBlKTE0NCAxMDggUiAuOTIzKHhwYW5kaW5nIHRoZSktLjE1IEYgRjEoXFx3KTMuNDIzCitFIEYwKGFuZCkzLjQyMyBFIEYxKFxcVykzLjQyMyBFIEYwIC45MjMocHJvbXB0IHN0cmluZyBlc2NhcGVzIFwoc2VlKQorMy40MjMgRi9GMiA5L1RpbWVzLUJvbGRAMCBTRihQUikzLjQyMyBFKE9NUFRJTkcpLS4yNyBFIEYwKGJlbG8pMy4xNzMgRQorKHdcKS4pLS4yNSBFKENoYXJhY3RlcnMgcmVtbykxNDQgMTIwIFEgLS4xNSh2ZSktLjE1IEcgMi41KGRhKS4xNSBHCisocmUgcmVwbGFjZWQgd2l0aCBhbiBlbGxpcHNpcy4pLTIuNSBFIEYxKFBTMSkxMDggMTMyIFEgRjAgLjA2NChUaGUgdikKKzE5LjMzIEYgLjA2NShhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGUpLS4yNSBGIC4wNjUoeHBhbmRlZCBcKHNlZSktLjE1CitGIEYyKFBSKTIuNTY1IEUoT01QVElORyktLjI3IEUgRjAoYmVsbykyLjMxNSBFIC4wNjUKKyh3XCkgYW5kIHVzZWQgYXMgdGhlIHByaW1hcnkgcHJvbXB0KS0uMjUgRiAyLjUoc3RyaW5nLiBUaGUpMTQ0IDE0NCBSCisoZGVmKTIuNSBFKGF1bHQgdiktLjEgRShhbHVlIGlzIGApLS4yNSBFKGApLS43NCBFIEYxKFxcc1wyNTVcXHZcXCQpQSBGMAorLS43NCgnJykyLjUgRyguKS43NCBFIEYxKFBTMikxMDggMTU2IFEgRjAgLjExOChUaGUgdikxOS4zMyBGIC4xMTgKKyhhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIGUpLS4yNSBGIC4xMTgoeHBhbmRlZCBhcyB3aXRoKS0uMTUgRiBGMihQUzEpCisyLjYxNyBFIEYwIC4xMTcoYW5kIHVzZWQgYXMgdGhlIHNlY29uZGFyeSBwcm9tcHQgc3RyaW5nLikyLjM2NyBGKFRoZSkKKzUuMTE3IEUoZGVmKTE0NCAxNjggUShhdWx0IGlzIGApLS4xIEUoYCktLjc0IEUgRjEoPilBIEYwIC0uNzQoJycpMi41IEcKKyguKS43NCBFIEYxKFBTMykxMDggMTgwIFEgRjAgMS4xMTUoVGhlIHYpMTkuMzMgRiAxLjExNQorKGFsdWUgb2YgdGhpcyBwYXJhbWV0ZXIgaXMgdXNlZCBhcyB0aGUgcHJvbXB0IGZvciB0aGUpLS4yNSBGIEYxKHNlbGVjdCkKKzMuNjE1IEUgRjAgMS4xMTYoY29tbWFuZCBcKHNlZSkzLjYxNiBGIEYyIDEuMTE2KFNIRUxMIEdSQU0tKTMuNjE2IEYoTUFSKQorMTQ0IDE5MiBRIEYwKGFibykyLjI1IEUgLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxKFBTNCkxMDggMjA0IFEgRjAKKy4xMDEoVGhlIHYpMTkuMzMgRiAuMTAxKGFsdWUgb2YgdGhpcyBwYXJhbWV0ZXIgaXMgZSktLjI1IEYgLjEwMQorKHhwYW5kZWQgYXMgd2l0aCktLjE1IEYgRjIoUFMxKTIuNiBFIEYwIC4xKGFuZCB0aGUgdikyLjM1IEYgLjEKKyhhbHVlIGlzIHByaW50ZWQgYmVmb3JlIGVhY2ggY29tbWFuZCktLjI1IEYgRjEoYmFzaCkxNDQgMjE2IFEgRjAgLjI5MQorKGRpc3BsYXlzIGR1cmluZyBhbiBlKTIuNzkxIEYgLS4xNSh4ZSktLjE1IEcgLjI5MihjdXRpb24gdHJhY2UuKS4xNSBGCisuMjkyKFRoZSBcMjE0cnN0IGNoYXJhY3RlciBvZik1LjI5MiBGIEYyKFBTNCkyLjc5MiBFIEYwIC4yOTIKKyhpcyByZXBsaWNhdGVkIG11bHRpcGxlIHRpbWVzLCBhcykyLjU0MiBGKG5lY2Vzc2FyeSkxNDQgMjI4IFEgMi41KCx0KQorLS42NSBHIDIuNShvaSktMi41IEcobmRpY2F0ZSBtdWx0aXBsZSBsZSktMi41IEUgLS4xNSh2ZSktLjI1IEcKKyhscyBvZiBpbmRpcmVjdGlvbi4pLjE1IEUoVGhlIGRlZik1IEUoYXVsdCBpcyBgKS0uMSBFKGApLS43NCBFIEYxKCspQSBGMAorLS43NCgnJykyLjUgRyguKS43NCBFIEYxKFNIRUxMKTEwOCAyNDAgUSBGMCAuNjY0CisoVGhlIGZ1bGwgcGF0aG5hbWUgdG8gdGhlIHNoZWxsIGlzIGspMTQ0IDI1MiBSIC42NjQoZXB0IGluIHRoaXMgZW4pLS4xIEYKKy42NjQodmlyb25tZW50IHYpLS40IEYgMy4xNjQoYXJpYWJsZS4gSWYpLS4yNSBGIC42NjMKKyhpdCBpcyBub3Qgc2V0IHdoZW4gdGhlIHNoZWxsKTMuMTY0IEYoc3RhcnRzLCkxNDQgMjY0IFEgRjEoYmFzaCkyLjUgRSBGMAorKGFzc2lnbnMgdG8gaXQgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGN1cnJlbnQgdXNlcicpMi41IEUgMi41KHNsKS0uNTUKK0cob2dpbiBzaGVsbC4pLTIuNSBFIEYxKFRJTUVGT1JNQSkxMDggMjc2IFEoVCktLjk1IEUgRjAgLjgyNihUaGUgdikxNDQKKzI4OCBSIC44MjYKKyhhbHVlIG9mIHRoaXMgcGFyYW1ldGVyIGlzIHVzZWQgYXMgYSBmb3JtYXQgc3RyaW5nIHNwZWNpZnlpbmcgaG8pLS4yNSBGCiszLjMyNyh3dCktLjI1IEcgLjgyNyhoZSB0aW1pbmcgaW5mb3JtYXRpb24gZm9yKS0zLjMyNyBGIC42NDkKKyhwaXBlbGluZXMgcHJlXDIxNHgpMTQ0IDMwMCBSIC42NDkoZWQgd2l0aCB0aGUpLS4xNSBGIEYxKHRpbWUpMy4xNDkgRSBGMAorKHJlc2VydikzLjE0OSBFIC42NDkoZWQgdyktLjE1IEYgLjY0OChvcmQgc2hvdWxkIGJlIGRpc3BsYXllZC4pLS4xIEYKKyhUaGUpNS42NDggRSBGMSglKTMuMTQ4IEUgRjAgLjY0OChjaGFyYWN0ZXIgaW50cm9kdWNlcykzLjE0OCBGIC43MTEKKyhhbiBlc2NhcGUgc2VxdWVuY2UgdGhhdCBpcyBlKTE0NCAzMTIgUiAuNzExKHhwYW5kZWQgdG8gYSB0aW1lIHYpLS4xNSBGCisuNzEyKGFsdWUgb3Igb3RoZXIgaW5mb3JtYXRpb24uKS0uMjUgRiAuNzEyKFRoZSBlc2NhcGUgc2VxdWVuY2VzKTUuNzEyIEYKKyhhbmQgdGhlaXIgbWVhbmluZ3MgYXJlIGFzIGZvbGxvKTE0NCAzMjQgUQorKHdzOyB0aGUgYnJhY2VzIGRlbm90ZSBvcHRpb25hbCBwb3J0aW9ucy4pLS4yNSBFIEYxKCUlKTE0NCAzNDIgUSBGMCAyLjUKKyhBbCkzMCBHKGl0ZXJhbCktMi41IEUgRjEoJSkyLjUgRSBGMCguKUEgRjEoJVspMTQ0IDM1NCBRL0YzIDEwCisvVGltZXMtSXRhbGljQDAgU0YocClBIEYxKF1bbF1SKUEgRjAoVGhlIGVsYXBzZWQgdGltZSBpbiBzZWNvbmRzLikxMS42OAorRSBGMSglWykxNDQgMzY2IFEgRjMocClBIEYxKF1bbF1VKUEgRjAKKyhUaGUgbnVtYmVyIG9mIENQVSBzZWNvbmRzIHNwZW50IGluIHVzZXIgbW9kZS4pMTEuNjggRSBGMSglWykxNDQgMzc4IFEKK0YzKHApQSBGMShdW2xdUylBIEYwKFRoZSBudW1iZXIgb2YgQ1BVIHNlY29uZHMgc3BlbnQgaW4gc3lzdGVtIG1vZGUuKQorMTMuMzQgRSBGMSglUCkxNDQgMzkwIFEgRjAKKyhUaGUgQ1BVIHBlcmNlbnRhZ2UsIGNvbXB1dGVkIGFzIFwoJVUgKyAlU1wpIC8gJVIuKTMzLjg5IEUgLjg3CisoVGhlIG9wdGlvbmFsKTE0NCA0MDYuOCBSIEYzKHApMy4zNyBFIEYwIC44NyhpcyBhIGRpZ2l0IHNwZWNpZnlpbmcgdGhlKQorMy4zNyBGIEYzKHByKTMuMzcgRShlY2lzaW9uKS0uMzcgRSBGMCAzLjM3KCx0KUMgLjg3CisoaGUgbnVtYmVyIG9mIGZyYWN0aW9uYWwgZGlnaXRzIGFmdGVyIGEgZGVjaW1hbCktMy4zNyBGIDIuNTI1KHBvaW50LiBBKQorMTQ0IDQxOC44IFIgLS4yNSh2YSkyLjUyNSBHIC4wMjUKKyhsdWUgb2YgMCBjYXVzZXMgbm8gZGVjaW1hbCBwb2ludCBvciBmcmFjdGlvbiB0byBiZSBvdXRwdXQuKS4yNSBGIC4wMjYKKyhBdCBtb3N0IHRocmVlIHBsYWNlcyBhZnRlciB0aGUpNS4wMjUgRiAuNTM4CisoZGVjaW1hbCBwb2ludCBtYXkgYmUgc3BlY2lcMjE0ZWQ7IHYpMTQ0IDQzMC44IFIgLjUzOChhbHVlcyBvZiktLjI1IEYgRjMKKyhwKTMuMDM4IEUgRjAgLjUzNyhncmVhdGVyIHRoYW4gMyBhcmUgY2hhbmdlZCB0byAzLikzLjAzNyBGKElmKTUuNTM3IEUKK0YzKHApMy4wMzcgRSBGMCAuNTM3KGlzIG5vdCBzcGVjaVwyMTRlZCwpMy4wMzcgRih0aGUgdikxNDQgNDQyLjggUQorKGFsdWUgMyBpcyB1c2VkLiktLjI1IEUgLjY2NyhUaGUgb3B0aW9uYWwpMTQ0IDQ1OS42IFIgRjEobCkzLjE2NyBFIEYwCiAuNjY4KHNwZWNpXDIxNGVzIGEgbG9uZ2VyIGZvcm1hdCwgaW5jbHVkaW5nIG1pbnV0ZXMsIG9mIHRoZSBmb3JtKTMuMTY4IEYKLS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihNTSkzLjE2OCBFIEYwKG0pQSBGMihTUylBIEYwKC4pQSBGMihGRilBIEYwCi0zLjE2OChzLiBUaGUpQiAtLjI1KHZhKTMuMTY4IEcobHVlKS4yNSBFKG9mKTE0NCA5NiBRIEYyKHApMi41IEUgRjAKK0YzKE1NKTMuMTY4IEUgRjAobSlBIEYzKFNTKUEgRjAoLilBIEYzKEZGKUEgRjAgMy4xNjgocy4gVGhlKUIgLS4yNSh2YSkKKzMuMTY4IEcobHVlKS4yNSBFKG9mKTE0NCA0NzEuNiBRIEYzKHApMi41IEUgRjAKIChkZXRlcm1pbmVzIHdoZXRoZXIgb3Igbm90IHRoZSBmcmFjdGlvbiBpcyBpbmNsdWRlZC4pMi41IEUgLjAwMQotKElmIHRoaXMgdikxNDQgMTEyLjggUiAuMDAxKGFyaWFibGUgaXMgbm90IHNldCwpLS4yNSBGIEYxKGJhc2gpMi41MDEgRQorKElmIHRoaXMgdikxNDQgNDg4LjQgUiAuMDAxKGFyaWFibGUgaXMgbm90IHNldCwpLS4yNSBGIEYxKGJhc2gpMi41MDEgRQogRjAgLjAwMShhY3RzIGFzIGlmIGl0IGhhZCB0aGUgdikyLjUwMSBGKGFsdWUpLS4yNSBFIEYxKCRcMDEwXFxucikyLjUgRQogKGVhbFxcdCUzbFJcXG51c2VyXFx0JTNsVVxcbnN5cyUzbFNcMDEwKS0uMTggRSBGMCguKUEgLjQ5NChJZiB0aGUgdikxNDQKLTEyNC44IFIgLjQ5NChhbHVlIGlzIG51bGwsIG5vIHRpbWluZyBpbmZvcm1hdGlvbiBpcyBkaXNwbGF5ZWQuKS0uMjUgRgorNTAwLjQgUiAuNDk0KGFsdWUgaXMgbnVsbCwgbm8gdGltaW5nIGluZm9ybWF0aW9uIGlzIGRpc3BsYXllZC4pLS4yNSBGCiAyLjk5NChBdCk1LjQ5NCBHIC40OTQocmFpbGluZyBuZSktMi45OTQgRiAuNDk0CiAod2xpbmUgaXMgYWRkZWQgd2hlbiB0aGUgZm9yKS0uMjUgRigtKS0uMiBFKG1hdCBzdHJpbmcgaXMgZGlzcGxheWVkLikxNDQKLTEzNi44IFEgRjEoVE1PVVQpMTA4IDE1My42IFEgRjAgLjk0MShJZiBzZXQgdG8gYSB2KTE0NCAxNjUuNiBSIC45NDEKLShhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvLCktLjI1IEYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoVE1PVVQpMy40NDEgRSBGMAotLjk0MShpcyB0cmVhdGVkIGFzIHRoZSBkZWYpMy4xOTEgRiAuOTQxKGF1bHQgdGltZW91dCBmb3IgdGhlKS0uMSBGIEYxCi0tLjE4KHJlKTMuNDQxIEcoYWQpLjE4IEUgRjAgLS4yKGJ1KTMuNDQxIEcoaWx0aW4uKS4yIEUoVGhlKTE0NCAxNzcuNiBRCi1GMShzZWxlY3QpMi44MSBFIEYwIC4zMShjb21tYW5kIHRlcm1pbmF0ZXMgaWYgaW5wdXQgZG9lcyBub3QgYXJyaSkyLjgxIEYKLS42MTEgLS4xNSh2ZSBhKS0uMjUgSChmdGVyKS4xNSBFIEYzKFRNT1VUKTIuODExIEUgRjAgLjMxMQotKHNlY29uZHMgd2hlbiBpbnB1dCBpcyBjb20tKTIuNTYxIEYgLjg4NihpbmcgZnJvbSBhIHRlcm1pbmFsLikxNDQgMTg5LjYKKzUxMi40IFEgRjEoVE1PVVQpMTA4IDUyNC40IFEgRjAgLjk0MShJZiBzZXQgdG8gYSB2KTE0NCA1MzYuNCBSIC45NDEKKyhhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvLCktLjI1IEYgRjIoVE1PVVQpMy40NDEgRSBGMCAuOTQxCisoaXMgdHJlYXRlZCBhcyB0aGUgZGVmKTMuMTkxIEYgLjk0MShhdWx0IHRpbWVvdXQgZm9yIHRoZSktLjEgRiBGMSAtLjE4CisocmUpMy40NDEgRyhhZCkuMTggRSBGMCAtLjIoYnUpMy40NDEgRyhpbHRpbi4pLjIgRShUaGUpMTQ0IDU0OC40IFEgRjEKKyhzZWxlY3QpMi44MSBFIEYwIC4zMShjb21tYW5kIHRlcm1pbmF0ZXMgaWYgaW5wdXQgZG9lcyBub3QgYXJyaSkyLjgxIEYKKy42MTEgLS4xNSh2ZSBhKS0uMjUgSChmdGVyKS4xNSBFIEYyKFRNT1VUKTIuODExIEUgRjAgLjMxMQorKHNlY29uZHMgd2hlbiBpbnB1dCBpcyBjb20tKTIuNTYxIEYgLjg4NihpbmcgZnJvbSBhIHRlcm1pbmFsLikxNDQgNTYwLjQKIFIgLjg4NihJbiBhbiBpbnRlcmFjdGkpNS44ODYgRiAxLjE4NSAtLjE1KHZlIHMpLS4yNSBIIC44ODUoaGVsbCwgdGhlIHYpCiAuMTUgRiAuODg1KGFsdWUgaXMgaW50ZXJwcmV0ZWQgYXMgdGhlIG51bWJlciBvZiBzZWNvbmRzIHRvKS0uMjUgRiAtLjEKLSh3YSkxNDQgMjAxLjYgUyAuNTQ2KGl0IGZvciBpbnB1dCBhZnRlciBpc3N1aW5nIHRoZSBwcmltYXJ5IHByb21wdC4pLjEgRgorKHdhKTE0NCA1NzIuNCBTIC41NDYoaXQgZm9yIGlucHV0IGFmdGVyIGlzc3VpbmcgdGhlIHByaW1hcnkgcHJvbXB0LikuMSBGCiBGMShCYXNoKTUuNTQ2IEUgRjAgLjU0Nih0ZXJtaW5hdGVzIGFmdGVyIHcpMy4wNDYgRiAuNTQ2CiAoYWl0aW5nIGZvciB0aGF0IG51bWJlciBvZiktLjEgRihzZWNvbmRzIGlmIGlucHV0IGRvZXMgbm90IGFycmkpMTQ0Ci0yMTMuNiBRIC0uMTUodmUpLS4yNSBHKC4pLjE1IEUgRjEoVE1QRElSKTEwOCAyMzAuNCBRIEYwIC4yNzQoSWYgc2V0LCkxNDQKLTI0Mi40IFIgRjEoQmFzaCkyLjc3NCBFIEYwIC4yNzQodXNlcyBpdHMgdikyLjc3NCBGIC4yNzQKLShhbHVlIGFzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5IGluIHdoaWNoKS0uMjUgRiBGMShCYXNoKTIuNzczIEUgRjAgLjI3MwotKGNyZWF0ZXMgdGVtcG9yYXJ5IFwyMTRsZXMgZm9yIHRoZSkyLjc3MyBGKHNoZWxsJykxNDQgMjU0LjQgUSAyLjUoc3UpCi0tLjU1IEcoc2UuKS0yLjUgRSBGMShhdXRvX3IpMTA4IDI3MS4yIFEoZXN1bWUpLS4xOCBFIEYwIC41MyhUaGlzIHYpMTQ0Ci0yODMuMiBSIC41MyhhcmlhYmxlIGNvbnRyb2xzIGhvKS0uMjUgRiAzLjAzKHd0KS0uMjUgRyAuNTMxCis1ODQuNCBRIC0uMTUodmUpLS4yNSBHKC4pLjE1IEUgRjEoVE1QRElSKTEwOCA1OTYuNCBRIEYwIC4zOTEoSWYgc2V0LCkxNDQKKzYwOC40IFIgRjEoYmFzaCkyLjg5MSBFIEYwIC4zOTEodXNlcyBpdHMgdikyLjg5MSBGIC4zOTEKKyhhbHVlIGFzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5IGluIHdoaWNoKS0uMjUgRiBGMShiYXNoKTIuODkgRSBGMCAuMzkKKyhjcmVhdGVzIHRlbXBvcmFyeSBcMjE0bGVzIGZvciB0aGUpMi44OSBGKHNoZWxsJykxNDQgNjIwLjQgUSAyLjUoc3UpLS41NQorRyhzZS4pLTIuNSBFIEYxKGF1dG9fcikxMDggNjMyLjQgUShlc3VtZSktLjE4IEUgRjAgLjUzKFRoaXMgdikxNDQgNjQ0LjQKK1IgLjUzKGFyaWFibGUgY29udHJvbHMgaG8pLS4yNSBGIDMuMDMod3QpLS4yNSBHIC41MzEKIChoZSBzaGVsbCBpbnRlcmFjdHMgd2l0aCB0aGUgdXNlciBhbmQgam9iIGNvbnRyb2wuKS0zLjAzIEYgLjUzMQotKElmIHRoaXMgdik1LjUzMSBGIC41MzEoYXJpYWJsZSBpcyBzZXQsKS0uMjUgRiAuNTM5KHNpbmdsZSB3KTE0NCAyOTUuMiBSCisoSWYgdGhpcyB2KTUuNTMxIEYgLjUzMShhcmlhYmxlIGlzIHNldCwpLS4yNSBGIC41Mzkoc2luZ2xlIHcpMTQ0IDY1Ni40IFIKIC41Mzgob3JkIHNpbXBsZSBjb21tYW5kcyB3aXRob3V0IHJlZGlyZWN0aW9ucyBhcmUgdHJlYXRlZCBhcyBjYW5kaWRhdGVzXAotIGZvciByZXN1bXB0aW9uIG9mIGFuKS0uMSBGIC0uMTUoZXgpMTQ0IDMwNy4yIFMgLjM2Nihpc3Rpbmcgc3RvcHBlZCBqb2IpCisgZm9yIHJlc3VtcHRpb24gb2YgYW4pLS4xIEYgLS4xNShleCkxNDQgNjY4LjQgUyAuMzY2KGlzdGluZyBzdG9wcGVkIGpvYikKIC4xNSBGIDUuMzY2KC5UKS0uNCBHIC4zNjYoaGVyZSBpcyBubyBhbWJpZ3VpdHkgYWxsbyktNS4zNjYgRiAuMzY2CiAod2VkOyBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGpvYiBiZSktLjI1IEYgLjM2NyhnaW5uaW5nIHdpdGgpLS4xNSBGCiAxLjEyNSh0aGUgc3RyaW5nIHR5cGVkLCB0aGUgam9iIG1vc3QgcmVjZW50bHkgYWNjZXNzZWQgaXMgc2VsZWN0ZWQuKTE0NAotMzE5LjIgUihUaGUpNi4xMjUgRSBGMihuYW1lKTMuOTg1IEUgRjAgMS4xMjQob2YgYSBzdG9wcGVkIGpvYiwgaW4gdGhpcykKLTMuODA1IEYoY29udGUpMTQ0IDMzMS4yIFEgMS4xMzIKKzY4MC40IFIoVGhlKTYuMTI1IEUgRjMobmFtZSkzLjk4NSBFIEYwIDEuMTI0KG9mIGEgc3RvcHBlZCBqb2IsIGluIHRoaXMpCiszLjgwNSBGKGNvbnRlKTE0NCA2OTIuNCBRIDEuMTMyCiAoeHQsIGlzIHRoZSBjb21tYW5kIGxpbmUgdXNlZCB0byBzdGFydCBpdC4pLS4xNSBGIDEuMTMzKElmIHNldCB0byB0aGUgdikKLTYuMTMzIEYoYWx1ZSktLjI1IEUgRjIgLS4yKGV4KTMuNjMzIEcoYWN0KS4yIEUgRjAgMy42MzMoLHQpLjY4IEcgMS4xMzMKKzYuMTMzIEYoYWx1ZSktLjI1IEUgRjMgLS4yKGV4KTMuNjMzIEcoYWN0KS4yIEUgRjAgMy42MzMoLHQpLjY4IEcgMS4xMzMKIChoZSBzdHJpbmcgc3VwcGxpZWQgbXVzdCktMy42MzMgRiAuNjI1Ci0obWF0Y2ggdGhlIG5hbWUgb2YgYSBzdG9wcGVkIGpvYiBlKTE0NCAzNDMuMiBSIC42MjQoeGFjdGx5OyBpZiBzZXQgdG8pCi0tLjE1IEYgRjIoc3Vic3RyaW5nKTMuMTI0IEUgRjAgMy4xMjQoLHQpLjIyIEcgLjYyNAorKG1hdGNoIHRoZSBuYW1lIG9mIGEgc3RvcHBlZCBqb2IgZSkxNDQgNzA0LjQgUiAuNjI0KHhhY3RseTsgaWYgc2V0IHRvKQorLS4xNSBGIEYzKHN1YnN0cmluZykzLjEyNCBFIEYwIDMuMTI0KCx0KS4yMiBHIC42MjQKIChoZSBzdHJpbmcgc3VwcGxpZWQgbmVlZHMgdG8gbWF0Y2ggYSktMy4xMjQgRiAuODg0Ci0oc3Vic3RyaW5nIG9mIHRoZSBuYW1lIG9mIGEgc3RvcHBlZCBqb2IpMTQ0IDM1NS4yIFIgNS44ODQoLlQpLS40IEcoaGUpCi0tNS44ODQgRSBGMihzdWJzdHJpbmcpMy43MjQgRSBGMCAtLjI1KHZhKTMuNjA0IEcgLjg4NShsdWUgcHJvKS4yNSBGIC44ODUKLSh2aWRlcyBmdW5jdGlvbmFsaXR5IGFuYWxvZ291cyB0byktLjE1IEYodGhlKTE0NCAzNjcuMiBRIEYxKCU/KTMuMzM0IEUKLUYwIC44MzQoam9iIGlkZW50aVwyMTRlciBcKHNlZSk1LjgzNCBGIEYzIC44MzQoSk9CIENPTlRSKTMuMzM0IEYoT0wpLS4yNworKHN1YnN0cmluZyBvZiB0aGUgbmFtZSBvZiBhIHN0b3BwZWQgam9iKTE0NCA3MTYuNCBSIDUuODg0KC5UKS0uNCBHKGhlKQorLTUuODg0IEUgRjMoc3Vic3RyaW5nKTMuNzI0IEUgRjAgLS4yNSh2YSkzLjYwNCBHIC44ODUobHVlIHBybykuMjUgRiAuODg1CisodmlkZXMgZnVuY3Rpb25hbGl0eSBhbmFsb2dvdXMgdG8pLS4xNSBGKHRoZSkxNDQgNzI4LjQgUSBGMSglPykzLjMzNCBFCitGMCAuODM0KGpvYiBpZGVudGlcMjE0ZXIgXChzZWUpNS44MzQgRiBGMiAuODM0KEpPQiBDT05UUikzLjMzNCBGKE9MKS0uMjcKIEUgRjAoYmVsbykzLjA4NCBFIDMuMzM0KHdcKS4gSWYpLS4yNSBGIC44MzQoc2V0IHRvIGFuKTMuMzM0IEYgMy4zMzQoeW8pCi0tLjE1IEcgLjgzNCh0aGVyIHYpLTMuMzM0IEYgLjgzMyhhbHVlLCB0aGUgc3VwcGxpZWQgc3RyaW5nKS0uMjUgRiAuMzE1Ci0obXVzdCBiZSBhIHByZVwyMTR4IG9mIGEgc3RvcHBlZCBqb2InKTE0NCAzNzkuMiBSIDIuODE2KHNuKS0uNTUgRyAuMzE2Ci0oYW1lOyB0aGlzIHBybyktMi44MTYgRiAuMzE2KHZpZGVzIGZ1bmN0aW9uYWxpdHkgYW5hbG9nb3VzIHRvIHRoZSktLjE1IEYKLUYxKCUpMi44MTYgRSBGMihzdHJpbmcpQSBGMChqb2IpMi44MTYgRShpZGVudGlcMjE0ZXIpMTQ0IDM5MS4yIFEoLiktLjU1Ci1FIEYxKGhpc3RjaGFycykxMDggNDA4IFEgRjAgMi4wNyhUaGUgdHcpMTQ0IDQyMCBSIDQuNTcob28pLS4xIEcgNC41NyhydCkKLS00LjU3IEcgMi4wNyhocmVlIGNoYXJhY3RlcnMgd2hpY2ggY29udHJvbCBoaXN0b3J5IGUpLTQuNTcgRiAyLjA3Ci0oeHBhbnNpb24gYW5kIHRvayktLjE1IEYgMi4wNyhlbml6YXRpb24gXChzZWUpLS4xIEYgRjMoSElTVCk0LjU2OSBFKE9SKQotLS4xNjIgRShZKS0uMzE1IEUoRVhQKTE0NCA0MzIgUShBTlNJT04pLS42NjYgRSBGMChiZWxvKTMuNDY1IEUgMy43MTUKLSh3XCkuIFRoZSktLjI1IEYgMS4yMTUoXDIxNHJzdCBjaGFyYWN0ZXIgaXMgdGhlKTMuNzE1IEYgRjIgMS4yMTYKLShoaXN0b3J5IGUpMy43MTUgRih4cGFuc2lvbiktLjIgRSBGMChjaGFyYWN0ZXIpMy43MTYgRSAzLjcxNigsdCktLjQgRwotMS4yMTYoaGUgY2hhcmFjdGVyIHdoaWNoKS0zLjcxNiBGIC43OTgoc2lnbmFscyB0aGUgc3RhcnQgb2YgYSBoaXN0b3J5IGUpCi0xNDQgNDQ0IFIgLjc5OCh4cGFuc2lvbiwgbm9ybWFsbHkgYCktLjE1IEYgRjEoISlBIEYwIDMuMjk4KCcuIFRoZSlCIC43OTgKLShzZWNvbmQgY2hhcmFjdGVyIGlzIHRoZSkzLjI5OCBGIEYyKHF1aWMpMy4yOTggRSAzLjI5OChrcyktLjIgRwotKHVic3RpdHUtKS0zLjI5OCBFKHRpb24pMTQ0IDQ1NiBRIEYwKGNoYXJhY3RlcikyLjczOSBFIDIuNzM5KCx3KS0uNCBHCi0uMjM5KGhpY2ggaXMgdXNlZCBhcyBzaG9ydGhhbmQgZm9yIHJlLXJ1bm5pbmcgdGhlIHByZSktMi43MzkgRiAuMjQKLSh2aW91cyBjb21tYW5kIGVudGVyZWQsIHN1YnN0aXR1dC0pLS4yNSBGIC41NzYKLShpbmcgb25lIHN0cmluZyBmb3IgYW5vdGhlciBpbiB0aGUgY29tbWFuZC4pMTQ0IDQ2OCBSIC41NzUoVGhlIGRlZik1LjU3NQotRiAuNTc1KGF1bHQgaXMgYCktLjEgRiBGMSheKUEgRjAgMy4wNzUoJy4gVGhlKUIgLjU3NQotKG9wdGlvbmFsIHRoaXJkIGNoYXJhY3RlciBpcyB0aGUpMy4wNzUgRiAuMjIzKGNoYXJhY3RlciB3aGljaCBpbmRpY2F0ZXNcCi0gdGhhdCB0aGUgcmVtYWluZGVyIG9mIHRoZSBsaW5lIGlzIGEgY29tbWVudCB3aGVuIGZvdW5kIGFzIHRoZSBcMjE0cnN0IFwKLWNoYXIpMTQ0IDQ4MCBSKC0pLS4yIEUgMS4yOTQoYWN0ZXIgb2YgYSB3KTE0NCA0OTIgUiAxLjI5NAotKG9yZCwgbm9ybWFsbHkgYCktLjEgRiBGMSgjKUEgRjAgMy43OTQoJy4gVGhlKUIgMS4yOTMKLShoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyIGNhdXNlcyBoaXN0b3J5IHN1YnN0aXR1dGlvbiB0byBiZSkzLjc5NCBGCi0uMzc5KHNraXBwZWQgZm9yIHRoZSByZW1haW5pbmcgdykxNDQgNTA0IFIgLjM3OShvcmRzIG9uIHRoZSBsaW5lLiktLjEgRgotLjM4KEl0IGRvZXMgbm90IG5lY2Vzc2FyaWx5IGNhdXNlIHRoZSBzaGVsbCBwYXJzZXIgdG8gdHJlYXQpNS4zNzkgRgotKHRoZSByZXN0IG9mIHRoZSBsaW5lIGFzIGEgY29tbWVudC4pMTQ0IDUxNiBRIEYxKEFycmF5cyk4NyA1MzIuOCBRKEJhc2gpCi0xMDggNTQ0LjggUSBGMChwcm8pMy4zOTEgRSAuODkxKHZpZGVzIG9uZS1kaW1lbnNpb25hbCBpbmRlKS0uMTUgRiAtLjE1Ci0oeGUpLS4xNSBHIDMuMzkxKGRhKS4xNSBHIC44OTEobmQgYXNzb2NpYXRpKS0zLjM5MSBGIDEuMTkxIC0uMTUodmUgYSkKLS0uMjUgSCAuODkxKHJyYXkgdikuMTUgRiAzLjM5MShhcmlhYmxlcy4gQW4pLS4yNSBGIDMuMzkxKHl2KS0uMTUgRyAuODkKLShhcmlhYmxlIG1heSBiZSB1c2VkIGFzIGFuKS0zLjY0MSBGKGluZGUpMTA4IDU1Ni44IFEgLS4xNSh4ZSktLjE1IEcKLTIuNTczKGRhKS4xNSBHIC4wNzMocnJheTsgdGhlKS0yLjU3MyBGIEYxKGRlY2xhcikyLjU3MyBFKGUpLS4xOCBFIEYwIC0uMgotKGJ1KTIuNTczIEcgLjA3MyhpbHRpbiB3aWxsIGUpLjIgRiAuMDczKHhwbGljaXRseSBkZWNsYXJlIGFuIGFycmF5KS0uMTUKLUYgNS4wNzMoLlQpLS42NSBHIC4wNzQoaGVyZSBpcyBubyBtYXhpbXVtIGxpbWl0IG9uIHRoZSBzaXplIG9mKS01LjA3MyBGCi0uMzI5KGFuIGFycmF5KTEwOCA1NjguOCBSIDIuODI5KCxuKS0uNjUgRyAuMzI5KG9yIGFuKS0yLjgyOSBGIDIuODI5KHlyKQotLS4xNSBHIC4zMjkoZXF1aXJlbWVudCB0aGF0IG1lbWJlcnMgYmUgaW5kZSktMi44MjkgRiAtLjE1KHhlKS0uMTUgRwotMi44MjkoZG8pLjE1IEcgMi44MjkocmEpLTIuODI5IEcgLjMyOChzc2lnbmVkIGNvbnRpZ3VvdXNseSktMi44MjkgRgotNS4zMjgoLkkpLS42NSBHKG5kZSktNS4zMjggRSAtLjE1KHhlKS0uMTUgRyAyLjgyOChkYSkuMTUgRyAuMzI4Ci0ocnJheXMgYXJlIHJlZmVyKS0yLjgyOCBGKC0pLS4yIEUgMS4zODYoZW5jZWQgdXNpbmcgaW50ZSkxMDggNTgwLjggUgotMS4zODYoZ2VycyBcKGluY2x1ZGluZyBhcml0aG1ldGljIGUpLS4xNSBGIDMuODg3KHhwcmVzc2lvbnNcKSBhbmQpLS4xNSBGCi0xLjM4NyhhcmUgemVyby1iYXNlZDsgYXNzb2NpYXRpKTMuODg3IEYgMS42ODcgLS4xNSh2ZSBhKS0uMjUgSCAxLjM4NwotKHJyYXlzIGFyZSByZWZlcikuMTUgRigtKS0uMiBFKGVuY2VkIHVzaW5nIGFyYml0cmFyeSBzdHJpbmdzLikxMDggNTkyLjgKLVEgMi40NjMoQW4gaW5kZSkxMDggNjA5LjYgUiAtLjE1KHhlKS0uMTUgRyA0Ljk2MyhkYSkuMTUgRyAyLjQ2MwotKHJyYXkgaXMgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IGlmIGFuKS00Ljk2MyBGIDQuOTYzKHl2KS0uMTUgRyAyLjQ2MgotKGFyaWFibGUgaXMgYXNzaWduZWQgdG8gdXNpbmcgdGhlIHN5bnRheCktNS4yMTMgRiBGMihuYW1lKTQuOTYyIEUgRjAoWylBCi1GMihzdWItKUEoc2NyaXB0KTEwOCA2MjEuNiBRIEYwKF09KUEgRjIodmFsdWUpQSBGMCA1LjY4MiguVClDKGhlKS01LjY4MgotRSBGMihzdWJzY3JpcHQpMy41MjIgRSBGMCAuNjgyKGlzIHRyZWF0ZWQgYXMgYW4gYXJpdGhtZXRpYyBlKTMuODYyIEYKLS42ODIoeHByZXNzaW9uIHRoYXQgbXVzdCBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRyAuNjgyCi0obHVhdGUgdG8gYSBudW1iZXIgZ3JlYXRlcikuMjUgRiAuNzUodGhhbiBvciBlcXVhbCB0byB6ZXJvLikxMDggNjMzLjYgUgotMi4zNDkgLS44KFRvIGUpNS43NDkgSCAuNzQ5KHhwbGljaXRseSBkZWNsYXJlIGFuIGluZGUpLjY1IEYgLS4xNSh4ZSktLjE1Ci1HIDMuMjQ5KGRhKS4xNSBHKHJyYXkpLTMuMjQ5IEUgMy4yNDkoLHUpLS42NSBHKHNlKS0zLjI0OSBFIEYxKGRlY2xhcikKLTMuMjQ5IEUgMy4yNDk8NjVhZD4tLjE4IEcoYSktMy4yNDkgRSBGMihuYW1lKTMuMjQ5IEUgRjAoXChzZWUpMy4yNDkgRSBGMwotLjc0OShTSEVMTCBCKTMuMjQ5IEYoVUlMKS0uMDkgRShUSU4pLS44MjggRShDT01NQU5EUykxMDggNjQ1LjYgUSBGMAotKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYxKGRlY2xhcik1IEUgMi41PDY1YWQ+LS4xOCBHKGEpLTIuNSBFIEYyKG5hbWUpCi0yLjUgRSBGMShbKUEgRjIoc3Vic2NyaXB0KUEgRjEoXSlBIEYwKGlzIGFsc28gYWNjZXB0ZWQ7IHRoZSkyLjUgRSBGMgotKHN1YnNjcmlwdCkyLjUgRSBGMChpcyBpZ25vcmVkLikyLjUgRShBc3NvY2lhdGkpMTA4IDY2Mi40IFEgLjMgLS4xNQotKHZlIGEpLS4yNSBIKHJyYXlzIGFyZSBjcmVhdGVkIHVzaW5nKS4xNSBFIEYxKGRlY2xhcikyLjUgRSAyLjU8NjVhZD4tLjE4Ci1HKEEpLTIuNSBFIEYyKG5hbWUpMi41IEUgRjAoLilBKEF0dHJpYikxMDggNjc5LjIgUSAuOTQKLSh1dGVzIG1heSBiZSBzcGVjaVwyMTRlZCBmb3IgYW4gYXJyYXkgdiktLjIgRiAuOTQxKGFyaWFibGUgdXNpbmcgdGhlKQotLS4yNSBGIEYxKGRlY2xhcikzLjQ0MSBFKGUpLS4xOCBFIEYwKGFuZCkzLjQ0MSBFIEYxIC0uMTgocmUpMy40NDEgRwotKGFkb25seSkuMTggRSBGMCAtLjIoYnUpMy40NDEgRyAzLjQ0MShpbHRpbnMuIEVhY2gpLjIgRihhdHRyaWIpMy40NDEgRQotKHV0ZSktLjIgRShhcHBsaWVzIHRvIGFsbCBtZW1iZXJzIG9mIGFuIGFycmF5KTEwOCA2OTEuMiBRKC4pLS42NSBFIDEuNjQ3Ci0oQXJyYXlzIGFyZSBhc3NpZ25lZCB0byB1c2luZyBjb21wb3VuZCBhc3NpZ25tZW50cyBvZiB0aGUgZm9ybSkxMDggNzA4IFIKLUYyKG5hbWUpNC4xNDcgRSBGMCg9KUEgRjEoXCgpQSBGMCAtLjI1KHZhKUMobHVlKS4yNSBFIEYyKDEpQSBGMCAxLjY0NwotKC4uLiB2KTQuMTQ3IEYoYWx1ZSktLjI1IEUgRjIobilBIEYxKFwpKUEgRjAgNC4xNDcoLHcpQyAxLjY0NyhoZXJlIGVhY2gpCi0tNC4xNDcgRiBGMih2YWx1ZSkxMDggNzIwIFEgRjAgLjEyMihpcyBvZiB0aGUgZm9ybSBbKTIuNjIyIEYgRjIKLShzdWJzY3JpcHQpQSBGMChdPSlBIEYyKHN0cmluZylBIEYwIDUuMTIyKC5JKUMobmRlKS01LjEyMiBFIC0uMTUoeGUpLS4xNQotRyAyLjYyMihkYSkuMTUgRyAuMTIyKHJyYXkgYXNzaWdubWVudHMgZG8gbm90IHJlcXVpcmUgdGhlIGJyYWNrKS0yLjYyMiBGCi0uMTIyKGV0IGFuZCBzdWJzY3JpcHQuKS0uMSBGKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KQotMTM1Ljk2NSBFKDE2KTE4NS45NTUgRSAwIENnIEVQCistLjE1IEcgLjgzNCh0aGVyIHYpLTMuMzM0IEYgLjgzMyhhbHVlLCB0aGUgc3VwcGxpZWQgc3RyaW5nKS0uMjUgRgorKEdOVSBCYXNoLTQuMik3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSgxNikxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAxNyAxNwogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSAuMTY0KFdoZW4gYXNzaWduaW5nIHRvIGluZGUpMTA4IDg0IFIgLS4xNSh4ZSktLjE1IEcgMi42NjMoZGEpLjE1Ci1HIC4xNjMocnJheXMsIGlmIHRoZSBvcHRpb25hbCBicmFjayktMi42NjMgRiAuMTYzCi0oZXRzIGFuZCBzdWJzY3JpcHQgYXJlIHN1cHBsaWVkLCB0aGF0IGluZGUpLS4xIEYgMi42NjMoeGkpLS4xNSBHIDIuNjYzCi0oc2EpLTIuNjYzIEcoc3NpZ25lZCktMi42NjMgRSAxLjQxKHRvOyBvdGhlcndpc2UgdGhlIGluZGUpMTA4IDk2IFIgMy45MQotKHhvKS0uMTUgRyAzLjkxKGZ0KS0zLjkxIEcgMS40MShoZSBlbGVtZW50IGFzc2lnbmVkIGlzIHRoZSBsYXN0IGluZGUpCi0tMy45MSBGIDMuOTExKHhhKS0uMTUgRyAxLjQxMShzc2lnbmVkIHRvIGJ5IHRoZSBzdGF0ZW1lbnQgcGx1cyBvbmUuKQotLTMuOTExIEYoSW5kZSkxMDggMTA4IFEoeGluZyBzdGFydHMgYXQgemVyby4pLS4xNSBFCi0oV2hlbiBhc3NpZ25pbmcgdG8gYW4gYXNzb2NpYXRpKTEwOCAxMjQuOCBRIC4zIC0uMTUodmUgYSktLjI1IEgocnJheSkuMTUKLUUgMi41KCx0KS0uNjUgRyhoZSBzdWJzY3JpcHQgaXMgcmVxdWlyZWQuKS0yLjUgRSAuMjQKLShUaGlzIHN5bnRheCBpcyBhbHNvIGFjY2VwdGVkIGJ5IHRoZSkxMDggMTQxLjYgUi9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YKLShkZWNsYXIpMi43NCBFKGUpLS4xOCBFIEYwIC0uMihidSkyLjczOSBHIDIuNzM5KGlsdGluLiBJbmRpKS4yIEYgLjIzOQotKHZpZHVhbCBhcnJheSBlbGVtZW50cyBtYXkgYmUgYXNzaWduZWQgdG8gdXNpbmcgdGhlKS0uMjUgRi9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKG5hbWUpMTA4IDE1My42IFEgRjAoWylBIEYyKHN1YnNjcmlwdClBIEYwKF09KUEgRjIKLSh2YWx1ZSlBIEYwKHN5bnRheCBpbnRyb2R1Y2VkIGFibykyLjUgRSAtLjE1KHZlKS0uMTUgRyguKS4xNSBFKEFuKTEwOAotMTcwLjQgUSAzLjU3NSh5ZSktLjE1IEcgMS4wNzUKLShsZW1lbnQgb2YgYW4gYXJyYXkgbWF5IGJlIHJlZmVyZW5jZWQgdXNpbmcgJHspLTMuNTc1IEYgRjIobmFtZSlBIEYwKFspQQotRjIoc3Vic2NyaXB0KUEgRjAgMy41NzUoXX0uIFRoZSlCIDEuMDc2KGJyYWNlcyBhcmUgcmVxdWlyZWQgdG8gYSkzLjU3NiBGCi0tLjIodm8pLS4yIEcoaWQpLjIgRSAxLjU0Mihjb25cMjE1aWN0cyB3aXRoIHBhdGhuYW1lIGUpMTA4IDE4Mi40IFIgNC4wNDEKLSh4cGFuc2lvbi4gSWYpLS4xNSBGIEYyKHN1YnNjcmlwdCk0LjA0MSBFIEYwKGlzKTQuMDQxIEUgRjEoQCk0LjA0MSBFIEYwCi0ob3IpNC4wNDEgRSBGMSgqKTQuMDQxIEUgRjAgNC4wNDEoLHQpQyAxLjU0MShoZSB3KS00LjA0MSBGIDEuNTQxKG9yZCBlKQotLS4xIEYgMS41NDEoeHBhbmRzIHRvIGFsbCBtZW1iZXJzIG9mKS0uMTUgRiBGMihuYW1lKTQuMDQxIEUgRjAoLilBIDEuMDU2Ci0oVGhlc2Ugc3Vic2NyaXB0cyBkaWYpMTA4IDE5NC40IFIgMS4wNTYoZmVyIG9ubHkgd2hlbiB0aGUgdyktLjI1IEYgMS4wNTcKKy0uMzUgRSAuMzE1KG11c3QgYmUgYSBwcmVcMjE0eCBvZiBhIHN0b3BwZWQgam9iJykxNDQgODQgUiAyLjgxNihzbiktLjU1CitHIC4zMTYoYW1lOyB0aGlzIHBybyktMi44MTYgRiAuMzE2KHZpZGVzIGZ1bmN0aW9uYWxpdHkgYW5hbG9nb3VzIHRvIHRoZSkKKy0uMTUgRi9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoJSkyLjgxNiBFL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKHN0cmluZylBCitGMChqb2IpMi44MTYgRShpZGVudGlcMjE0ZXIpMTQ0IDk2IFEoLiktLjU1IEUgRjEoaGlzdGNoYXJzKTEwOCAxMDggUSBGMAorMi4wNyhUaGUgdHcpMTQ0IDEyMCBSIDQuNTcob28pLS4xIEcgNC41NyhydCktNC41NyBHIDIuMDcKKyhocmVlIGNoYXJhY3RlcnMgd2hpY2ggY29udHJvbCBoaXN0b3J5IGUpLTQuNTcgRiAyLjA3KHhwYW5zaW9uIGFuZCB0b2spCistLjE1IEYgMi4wNyhlbml6YXRpb24gXChzZWUpLS4xIEYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoSElTVCk0LjU2OSBFKE9SKQorLS4xNjIgRShZKS0uMzE1IEUoRVhQKTE0NCAxMzIgUShBTlNJT04pLS42NjYgRSBGMChiZWxvKTMuNDY1IEUgMy43MTUKKyh3XCkuIFRoZSktLjI1IEYgMS4yMTUoXDIxNHJzdCBjaGFyYWN0ZXIgaXMgdGhlKTMuNzE1IEYgRjIgMS4yMTYKKyhoaXN0b3J5IGUpMy43MTUgRih4cGFuc2lvbiktLjIgRSBGMChjaGFyYWN0ZXIpMy43MTYgRSAzLjcxNigsdCktLjQgRworMS4yMTYoaGUgY2hhcmFjdGVyIHdoaWNoKS0zLjcxNiBGIC43OTgoc2lnbmFscyB0aGUgc3RhcnQgb2YgYSBoaXN0b3J5IGUpCisxNDQgMTQ0IFIgLjc5OCh4cGFuc2lvbiwgbm9ybWFsbHkgYCktLjE1IEYgRjEoISlBIEYwIDMuMjk4KCcuIFRoZSlCIC43OTgKKyhzZWNvbmQgY2hhcmFjdGVyIGlzIHRoZSkzLjI5OCBGIEYyKHF1aWMpMy4yOTggRSAzLjI5OChrcyktLjIgRworKHVic3RpdHUtKS0zLjI5OCBFKHRpb24pMTQ0IDE1NiBRIEYwKGNoYXJhY3RlcikyLjczOSBFIDIuNzM5KCx3KS0uNCBHCisuMjM5KGhpY2ggaXMgdXNlZCBhcyBzaG9ydGhhbmQgZm9yIHJlLXJ1bm5pbmcgdGhlIHByZSktMi43MzkgRiAuMjQKKyh2aW91cyBjb21tYW5kIGVudGVyZWQsIHN1YnN0aXR1dC0pLS4yNSBGIC41NzYKKyhpbmcgb25lIHN0cmluZyBmb3IgYW5vdGhlciBpbiB0aGUgY29tbWFuZC4pMTQ0IDE2OCBSIC41NzUoVGhlIGRlZik1LjU3NQorRiAuNTc1KGF1bHQgaXMgYCktLjEgRiBGMSheKUEgRjAgMy4wNzUoJy4gVGhlKUIgLjU3NQorKG9wdGlvbmFsIHRoaXJkIGNoYXJhY3RlciBpcyB0aGUpMy4wNzUgRiAuMjIzKGNoYXJhY3RlciB3aGljaCBpbmRpY2F0ZXNcCisgdGhhdCB0aGUgcmVtYWluZGVyIG9mIHRoZSBsaW5lIGlzIGEgY29tbWVudCB3aGVuIGZvdW5kIGFzIHRoZSBcMjE0cnN0IFwKK2NoYXIpMTQ0IDE4MCBSKC0pLS4yIEUgMS4yOTQoYWN0ZXIgb2YgYSB3KTE0NCAxOTIgUiAxLjI5NAorKG9yZCwgbm9ybWFsbHkgYCktLjEgRiBGMSgjKUEgRjAgMy43OTQoJy4gVGhlKUIgMS4yOTMKKyhoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyIGNhdXNlcyBoaXN0b3J5IHN1YnN0aXR1dGlvbiB0byBiZSkzLjc5NCBGCisuMzc5KHNraXBwZWQgZm9yIHRoZSByZW1haW5pbmcgdykxNDQgMjA0IFIgLjM3OShvcmRzIG9uIHRoZSBsaW5lLiktLjEgRgorLjM4KEl0IGRvZXMgbm90IG5lY2Vzc2FyaWx5IGNhdXNlIHRoZSBzaGVsbCBwYXJzZXIgdG8gdHJlYXQpNS4zNzkgRgorKHRoZSByZXN0IG9mIHRoZSBsaW5lIGFzIGEgY29tbWVudC4pMTQ0IDIxNiBRIEYxKEFycmF5cyk4NyAyMzIuOCBRKEJhc2gpCisxMDggMjQ0LjggUSBGMChwcm8pMy4zOTEgRSAuODkxKHZpZGVzIG9uZS1kaW1lbnNpb25hbCBpbmRlKS0uMTUgRiAtLjE1CisoeGUpLS4xNSBHIDMuMzkxKGRhKS4xNSBHIC44OTEobmQgYXNzb2NpYXRpKS0zLjM5MSBGIDEuMTkxIC0uMTUodmUgYSkKKy0uMjUgSCAuODkxKHJyYXkgdikuMTUgRiAzLjM5MShhcmlhYmxlcy4gQW4pLS4yNSBGIDMuMzkxKHl2KS0uMTUgRyAuODkKKyhhcmlhYmxlIG1heSBiZSB1c2VkIGFzIGFuKS0zLjY0MSBGKGluZGUpMTA4IDI1Ni44IFEgLS4xNSh4ZSktLjE1IEcKKzIuNTczKGRhKS4xNSBHIC4wNzMocnJheTsgdGhlKS0yLjU3MyBGIEYxKGRlY2xhcikyLjU3MyBFKGUpLS4xOCBFIEYwIC0uMgorKGJ1KTIuNTczIEcgLjA3MyhpbHRpbiB3aWxsIGUpLjIgRiAuMDczKHhwbGljaXRseSBkZWNsYXJlIGFuIGFycmF5KS0uMTUKK0YgNS4wNzMoLlQpLS42NSBHIC4wNzQoaGVyZSBpcyBubyBtYXhpbXVtIGxpbWl0IG9uIHRoZSBzaXplIG9mKS01LjA3MyBGCisuMzI5KGFuIGFycmF5KTEwOCAyNjguOCBSIDIuODI5KCxuKS0uNjUgRyAuMzI5KG9yIGFuKS0yLjgyOSBGIDIuODI5KHlyKQorLS4xNSBHIC4zMjkoZXF1aXJlbWVudCB0aGF0IG1lbWJlcnMgYmUgaW5kZSktMi44MjkgRiAtLjE1KHhlKS0uMTUgRworMi44MjkoZG8pLjE1IEcgMi44MjkocmEpLTIuODI5IEcgLjMyOChzc2lnbmVkIGNvbnRpZ3VvdXNseSktMi44MjkgRgorNS4zMjgoLkkpLS42NSBHKG5kZSktNS4zMjggRSAtLjE1KHhlKS0uMTUgRyAyLjgyOChkYSkuMTUgRyAuMzI4CisocnJheXMgYXJlIHJlZmVyKS0yLjgyOCBGKC0pLS4yIEUgMS4zODYoZW5jZWQgdXNpbmcgaW50ZSkxMDggMjgwLjggUgorMS4zODYoZ2VycyBcKGluY2x1ZGluZyBhcml0aG1ldGljIGUpLS4xNSBGIDMuODg3KHhwcmVzc2lvbnNcKSBhbmQpLS4xNSBGCisxLjM4NyhhcmUgemVyby1iYXNlZDsgYXNzb2NpYXRpKTMuODg3IEYgMS42ODcgLS4xNSh2ZSBhKS0uMjUgSCAxLjM4NworKHJyYXlzIGFyZSByZWZlcikuMTUgRigtKS0uMiBFKGVuY2VkIHVzaW5nIGFyYml0cmFyeSBzdHJpbmdzLikxMDggMjkyLjgKK1EgMi40NjMoQW4gaW5kZSkxMDggMzA5LjYgUiAtLjE1KHhlKS0uMTUgRyA0Ljk2MyhkYSkuMTUgRyAyLjQ2MworKHJyYXkgaXMgY3JlYXRlZCBhdXRvbWF0aWNhbGx5IGlmIGFuKS00Ljk2MyBGIDQuOTYzKHl2KS0uMTUgRyAyLjQ2MgorKGFyaWFibGUgaXMgYXNzaWduZWQgdG8gdXNpbmcgdGhlIHN5bnRheCktNS4yMTMgRiBGMihuYW1lKTQuOTYyIEUgRjAoWylBCitGMihzdWItKUEoc2NyaXB0KTEwOCAzMjEuNiBRIEYwKF09KUEgRjIodmFsdWUpQSBGMCA1LjQyNiguVClDKGhlKS01LjQyNgorRSBGMihzdWJzY3JpcHQpMy4yNjYgRSBGMCAuNDI2KGlzIHRyZWF0ZWQgYXMgYW4gYXJpdGhtZXRpYyBlKTMuNjA2IEYKKy40MjYoeHByZXNzaW9uIHRoYXQgbXVzdCBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRyAuNDI3KGx1YXRlIHRvIGEgbnVtYmVyKQorLjI1IEYgNS40MjcoLkkpLS41NSBHKGYpLTUuNDI3IEUgRjIoc3ViLSkzLjI2NyBFKHNjcmlwdCkxMDggMzMzLjYgUSBGMAorLS4yNShldmEpMy45MTMgRyAuNzMzCisobHVhdGVzIHRvIGEgbnVtYmVyIGxlc3MgdGhhbiB6ZXJvLCBpdCBpcyB1c2VkIGFzIGFuIG9mKS4yNSBGIC43MzMKKyhmc2V0IGZyb20gb25lIGdyZWF0ZXIgdGhhbiB0aGUgYXJyYXknKS0uMjUgRiAzLjIzMyhzbSktLjU1IEcoYXhpLSkKKy0zLjIzMyBFIDEuMTA0KG11bSBpbmRlKTEwOCAzNDUuNiBSIDMuNjA0KHhcKCktLjE1IEcgMS4xMDUKKyhzbyBhIHN1YmNyaXB0IG9mIC0xIHJlZmVycyB0byB0aGUgbGFzdCBlbGVtZW50IG9mIHRoZSBhcnJheVwpLiktMy42MDQgRgorMi43MDUgLS44KFRvIGUpNi4xMDUgSCAxLjEwNSh4cGxpY2l0bHkgZGVjbGFyZSBhbiBpbmRlKS42NSBGIC0uMTUoeGUpCistLjE1IEcoZCkuMTUgRShhcnJheSkxMDggMzU3LjYgUSAzLjgyOCgsdSktLjY1IEcoc2UpLTMuODI4IEUgRjEoZGVjbGFyKQorMy44MjggRSAzLjgyODw2NWFkPi0uMTggRyhhKS0zLjgyOCBFIEYyKG5hbWUpMy44MjggRSBGMChcKHNlZSkzLjgyOCBFIEYzCisxLjMyNyhTSEVMTCBCKTMuODI3IEYoVUlMKS0uMDkgRSAxLjMyNyhUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKQorMy41NzcgRSh3XCkuKS0uMjUgRSBGMShkZWNsYXIpNi4zMjcgRSAzLjgyNzw2NWFkPi0uMTggRyhhKS0zLjgyNyBFIEYyCisobmFtZSkzLjgyNyBFIEYxKFspQSBGMihzdWJzY3JpcHQpQSBGMShdKUEgRjAoaXMpMy44MjcgRQorKGFsc28gYWNjZXB0ZWQ7IHRoZSkxMDggMzY5LjYgUSBGMihzdWJzY3JpcHQpMi41IEUgRjAoaXMgaWdub3JlZC4pMi41IEUKKyhBc3NvY2lhdGkpMTA4IDM4Ni40IFEgLjMgLS4xNSh2ZSBhKS0uMjUgSChycmF5cyBhcmUgY3JlYXRlZCB1c2luZykuMTUgRQorRjEoZGVjbGFyKTIuNSBFIDIuNTw2NWFkPi0uMTggRyhBKS0yLjUgRSBGMihuYW1lKTIuNSBFIEYwKC4pQShBdHRyaWIpMTA4Cis0MDMuMiBRIC45NCh1dGVzIG1heSBiZSBzcGVjaVwyMTRlZCBmb3IgYW4gYXJyYXkgdiktLjIgRiAuOTQxCisoYXJpYWJsZSB1c2luZyB0aGUpLS4yNSBGIEYxKGRlY2xhcikzLjQ0MSBFKGUpLS4xOCBFIEYwKGFuZCkzLjQ0MSBFIEYxCistLjE4KHJlKTMuNDQxIEcoYWRvbmx5KS4xOCBFIEYwIC0uMihidSkzLjQ0MSBHIDMuNDQxKGlsdGlucy4gRWFjaCkuMiBGCisoYXR0cmliKTMuNDQxIEUodXRlKS0uMiBFKGFwcGxpZXMgdG8gYWxsIG1lbWJlcnMgb2YgYW4gYXJyYXkpMTA4IDQxNS4yIFEKKyguKS0uNjUgRSAxLjY0NworKEFycmF5cyBhcmUgYXNzaWduZWQgdG8gdXNpbmcgY29tcG91bmQgYXNzaWdubWVudHMgb2YgdGhlIGZvcm0pMTA4IDQzMiBSCitGMihuYW1lKTQuMTQ3IEUgRjAoPSlBIEYxKFwoKUEgRjAgLS4yNSh2YSlDKGx1ZSkuMjUgRSBGMigxKUEgRjAgMS42NDcKKyguLi4gdik0LjE0NyBGKGFsdWUpLS4yNSBFIEYyKG4pQSBGMShcKSlBIEYwIDQuMTQ3KCx3KUMgMS42NDcoaGVyZSBlYWNoKQorLTQuMTQ3IEYgRjIodmFsdWUpMTA4IDQ0NCBRIEYwIC4xMjIoaXMgb2YgdGhlIGZvcm0gWykyLjYyMiBGIEYyCisoc3Vic2NyaXB0KUEgRjAoXT0pQSBGMihzdHJpbmcpQSBGMCA1LjEyMiguSSlDKG5kZSktNS4xMjIgRSAtLjE1KHhlKS0uMTUKK0cgMi42MjIoZGEpLjE1IEcgLjEyMihycmF5IGFzc2lnbm1lbnRzIGRvIG5vdCByZXF1aXJlIHRoZSBicmFjayktMi42MjIgRgorLjEyMihldCBhbmQgc3Vic2NyaXB0LiktLjEgRiAuMTY0KFdoZW4gYXNzaWduaW5nIHRvIGluZGUpMTA4IDQ1NiBSIC0uMTUKKyh4ZSktLjE1IEcgMi42NjMoZGEpLjE1IEcgLjE2MyhycmF5cywgaWYgdGhlIG9wdGlvbmFsIGJyYWNrKS0yLjY2MyBGCisuMTYzKGV0cyBhbmQgc3Vic2NyaXB0IGFyZSBzdXBwbGllZCwgdGhhdCBpbmRlKS0uMSBGIDIuNjYzKHhpKS0uMTUgRworMi42NjMoc2EpLTIuNjYzIEcoc3NpZ25lZCktMi42NjMgRSAxLjQxKHRvOyBvdGhlcndpc2UgdGhlIGluZGUpMTA4IDQ2OCBSCiszLjkxKHhvKS0uMTUgRyAzLjkxKGZ0KS0zLjkxIEcgMS40MQorKGhlIGVsZW1lbnQgYXNzaWduZWQgaXMgdGhlIGxhc3QgaW5kZSktMy45MSBGIDMuOTExKHhhKS0uMTUgRyAxLjQxMQorKHNzaWduZWQgdG8gYnkgdGhlIHN0YXRlbWVudCBwbHVzIG9uZS4pLTMuOTExIEYoSW5kZSkxMDggNDgwIFEKKyh4aW5nIHN0YXJ0cyBhdCB6ZXJvLiktLjE1IEUoV2hlbiBhc3NpZ25pbmcgdG8gYW4gYXNzb2NpYXRpKTEwOCA0OTYuOCBRCisuMyAtLjE1KHZlIGEpLS4yNSBIKHJyYXkpLjE1IEUgMi41KCx0KS0uNjUgRyhoZSBzdWJzY3JpcHQgaXMgcmVxdWlyZWQuKQorLTIuNSBFIC4yNChUaGlzIHN5bnRheCBpcyBhbHNvIGFjY2VwdGVkIGJ5IHRoZSkxMDggNTEzLjYgUiBGMShkZWNsYXIpCisyLjc0IEUoZSktLjE4IEUgRjAgLS4yKGJ1KTIuNzM5IEcgMi43MzkoaWx0aW4uIEluZGkpLjIgRiAuMjM5CisodmlkdWFsIGFycmF5IGVsZW1lbnRzIG1heSBiZSBhc3NpZ25lZCB0byB1c2luZyB0aGUpLS4yNSBGIEYyKG5hbWUpMTA4Cis1MjUuNiBRIEYwKFspQSBGMihzdWJzY3JpcHQpQSBGMChdPSlBIEYyKHZhbHVlKUEgRjAKKyhzeW50YXggaW50cm9kdWNlZCBhYm8pMi41IEUgLS4xNSh2ZSktLjE1IEcoLikuMTUgRShBbikxMDggNTQyLjQgUSAzLjU3NQorKHllKS0uMTUgRyAxLjA3NShsZW1lbnQgb2YgYW4gYXJyYXkgbWF5IGJlIHJlZmVyZW5jZWQgdXNpbmcgJHspLTMuNTc1IEYKK0YyKG5hbWUpQSBGMChbKUEgRjIoc3Vic2NyaXB0KUEgRjAgMy41NzUoXX0uIFRoZSlCIDEuMDc2CisoYnJhY2VzIGFyZSByZXF1aXJlZCB0byBhKTMuNTc2IEYgLS4yKHZvKS0uMiBHKGlkKS4yIEUgMS41NDIKKyhjb25cMjE1aWN0cyB3aXRoIHBhdGhuYW1lIGUpMTA4IDU1NC40IFIgNC4wNDEoeHBhbnNpb24uIElmKS0uMTUgRiBGMgorKHN1YnNjcmlwdCk0LjA0MSBFIEYwKGlzKTQuMDQxIEUgRjEoQCk0LjA0MSBFIEYwKG9yKTQuMDQxIEUgRjEoKik0LjA0MSBFCitGMCA0LjA0MSgsdClDIDEuNTQxKGhlIHcpLTQuMDQxIEYgMS41NDEob3JkIGUpLS4xIEYgMS41NDEKKyh4cGFuZHMgdG8gYWxsIG1lbWJlcnMgb2YpLS4xNSBGIEYyKG5hbWUpNC4wNDEgRSBGMCguKUEgMS4wNTYKKyhUaGVzZSBzdWJzY3JpcHRzIGRpZikxMDggNTY2LjQgUiAxLjA1NihmZXIgb25seSB3aGVuIHRoZSB3KS0uMjUgRiAxLjA1NwogKG9yZCBhcHBlYXJzIHdpdGhpbiBkb3VibGUgcXVvdGVzLiktLjEgRiAxLjA1NyhJZiB0aGUgdyk2LjA1NyBGIDEuMDU3Ci0ob3JkIGlzIGRvdWJsZS1xdW90ZWQsKS0uMSBGKCR7KTEwOCAyMDYuNCBRIEYyKG5hbWUpQSBGMCAuNTIxKFsqXX0gZSlCCisob3JkIGlzIGRvdWJsZS1xdW90ZWQsKS0uMSBGKCR7KTEwOCA1NzguNCBRIEYyKG5hbWUpQSBGMCAuNTIxKFsqXX0gZSlCCiAuNTIxKHhwYW5kcyB0byBhIHNpbmdsZSB3KS0uMTUgRiAuNTIxKG9yZCB3aXRoIHRoZSB2KS0uMSBGIC41MgogKGFsdWUgb2YgZWFjaCBhcnJheSBtZW1iZXIgc2VwYXJhdGVkIGJ5IHRoZSBcMjE0cnN0IGNoYXJhY3RlciktLjI1IEYKLTEuMzc0KG9mIHRoZSkxMDggMjE4LjQgUi9GMyA5L1RpbWVzLUJvbGRAMCBTRihJRlMpMy44NzQgRSBGMCAxLjM3NAotKHNwZWNpYWwgdikzLjYyNCBGIDEuMzc1KGFyaWFibGUsIGFuZCAkeyktLjI1IEYgRjIobmFtZSlBIEYwIDEuMzc1Ci0oW0BdfSBlKUIgMS4zNzUoeHBhbmRzIGVhY2ggZWxlbWVudCBvZiktLjE1IEYgRjIobmFtZSkzLjg3NSBFIEYwIDEuMzc1Ci0odG8gYSBzZXBhcmF0ZSB3KTMuODc1IEYgMy44NzUob3JkLiBXaGVuKS0uMSBGIDIuMDI4Ci0odGhlcmUgYXJlIG5vIGFycmF5IG1lbWJlcnMsICR7KTEwOCAyMzAuNCBSIEYyKG5hbWUpQSBGMCAyLjAyOChbQF19IGUpQgotMi4wMjgoeHBhbmRzIHRvIG5vdGhpbmcuKS0uMTUgRiAyLjAyNyhJZiB0aGUgZG91YmxlLXF1b3RlZCBlKTcuMDI4IEYKLTIuMDI3KHhwYW5zaW9uIG9jY3VycyktLjE1IEYgLjc1OCh3aXRoaW4gYSB3KTEwOCAyNDIuNCBSIC43NTkKLShvcmQsIHRoZSBlKS0uMSBGIC43NTkKKzEuMzc0KG9mIHRoZSkxMDggNTkwLjQgUiBGMyhJRlMpMy44NzQgRSBGMCAxLjM3NChzcGVjaWFsIHYpMy42MjQgRiAxLjM3NQorKGFyaWFibGUsIGFuZCAkeyktLjI1IEYgRjIobmFtZSlBIEYwIDEuMzc1KFtAXX0gZSlCIDEuMzc1CisoeHBhbmRzIGVhY2ggZWxlbWVudCBvZiktLjE1IEYgRjIobmFtZSkzLjg3NSBFIEYwIDEuMzc1KHRvIGEgc2VwYXJhdGUgdykKKzMuODc1IEYgMy44NzUob3JkLiBXaGVuKS0uMSBGIDIuMDI4KHRoZXJlIGFyZSBubyBhcnJheSBtZW1iZXJzLCAkeykxMDgKKzYwMi40IFIgRjIobmFtZSlBIEYwIDIuMDI4KFtAXX0gZSlCIDIuMDI4KHhwYW5kcyB0byBub3RoaW5nLiktLjE1IEYKKzIuMDI3KElmIHRoZSBkb3VibGUtcXVvdGVkIGUpNy4wMjggRiAyLjAyNyh4cGFuc2lvbiBvY2N1cnMpLS4xNSBGIC43NTgKKyh3aXRoaW4gYSB3KTEwOCA2MTQuNCBSIC43NTkob3JkLCB0aGUgZSktLjEgRiAuNzU5CiAoeHBhbnNpb24gb2YgdGhlIFwyMTRyc3QgcGFyYW1ldGVyIGlzIGpvaW5lZCB3aXRoIHRoZSBiZSktLjE1IEYgLjc1OQogKGdpbm5pbmcgcGFydCBvZiB0aGUgb3JpZ2luYWwgdyktLjE1IEYob3JkLCktLjEgRSAuNTE2KGFuZCB0aGUgZSkxMDgKLTI1NC40IFIgLjUxNih4cGFuc2lvbiBvZiB0aGUgbGFzdCBwYXJhbWV0ZXIgaXMgam9pbmVkIHdpdGggdGhlIGxhc3QgcGFyXAorNjI2LjQgUiAuNTE2KHhwYW5zaW9uIG9mIHRoZSBsYXN0IHBhcmFtZXRlciBpcyBqb2luZWQgd2l0aCB0aGUgbGFzdCBwYXJcCiB0IG9mIHRoZSBvcmlnaW5hbCB3KS0uMTUgRiAzLjAxNShvcmQuIFRoaXMpLS4xIEYgLjUxNShpcyBhbmFsb2dvdXMpMy4wMTUKLUYgLjIyNyh0byB0aGUgZSkxMDggMjY2LjQgUiAuMjI4KHhwYW5zaW9uIG9mIHRoZSBzcGVjaWFsIHBhcmFtZXRlcnMpLS4xNQorRiAuMjI3KHRvIHRoZSBlKTEwOCA2MzguNCBSIC4yMjgoeHBhbnNpb24gb2YgdGhlIHNwZWNpYWwgcGFyYW1ldGVycyktLjE1CiBGIEYxKCopMi43MjggRSBGMChhbmQpMi43MjggRSBGMShAKTIuNzI4IEUgRjAoXChzZWUpMi43MjggRSBGMSAuMjI4CiAoU3BlY2lhbCBQKTIuNzI4IEYoYXJhbWV0ZXJzKS0uMSBFIEYwKGFibykyLjcyOCBFIC0uMTUodmUpLS4xNSBHIDIuNzI4Ci0oXCkuICR7IykuMTUgRiBGMihuYW1lKUEgRjAoWylBIEYyKHN1YnNjcmlwdClBIEYwKF19KUEgLS4xNShleCkxMDggMjc4LjQKKyhcKS4gJHsjKS4xNSBGIEYyKG5hbWUpQSBGMChbKUEgRjIoc3Vic2NyaXB0KUEgRjAoXX0pQSAtLjE1KGV4KTEwOCA2NTAuNAogUyAuODg2KHBhbmRzIHRvIHRoZSBsZW5ndGggb2YgJHspLjE1IEYgRjIobmFtZSlBIEYwKFspQSBGMihzdWJzY3JpcHQpQQogRjAgMy4zODYoXX0uIElmKUIgRjIoc3Vic2NyaXB0KTMuMzg2IEUgRjAoaXMpMy4zODYgRSBGMSgqKTMuMzg2IEUgRjAob3IpCiAzLjM4NiBFIEYxKEApMy4zODYgRSBGMCAzLjM4NigsdClDIC44ODYoaGUgZSktMy4zODYgRiAuODg2Ci0oeHBhbnNpb24gaXMgdGhlIG51bWJlciBvZiBlbGUtKS0uMTUgRiAuNDYyKG1lbnRzIGluIHRoZSBhcnJheSkxMDggMjkwLjQKKyh4cGFuc2lvbiBpcyB0aGUgbnVtYmVyIG9mIGVsZS0pLS4xNSBGIC40NjIobWVudHMgaW4gdGhlIGFycmF5KTEwOCA2NjIuNAogUiA1LjQ2MiguUiktLjY1IEcgLjQ2MihlZmVyZW5jaW5nIGFuIGFycmF5IHYpLTUuNDYyIEYgLjQ2MwogKGFyaWFibGUgd2l0aG91dCBhIHN1YnNjcmlwdCBpcyBlcXVpKS0uMjUgRiAtLjI1KHZhKS0uMjUgRyAuNDYzCi0obGVudCB0byByZWZlcmVuY2luZyB0aGUgYXJyYXkpLjI1IEYod2l0aCBhIHN1YnNjcmlwdCBvZiAwLikxMDggMzAyLjQgUQotLjE2OChBbiBhcnJheSB2KTEwOCAzMTkuMiBSIC4xNjgKKyhsZW50IHRvIHJlZmVyZW5jaW5nIHRoZSBhcnJheSkuMjUgRih3aXRoIGEgc3Vic2NyaXB0IG9mIDAuKTEwOCA2NzQuNCBRCisuMTY4KEFuIGFycmF5IHYpMTA4IDY5MS4yIFIgLjE2OAogKGFyaWFibGUgaXMgY29uc2lkZXJlZCBzZXQgaWYgYSBzdWJzY3JpcHQgaGFzIGJlZW4gYXNzaWduZWQgYSB2KS0uMjUgRgogMi42NjgoYWx1ZS4gVGhlKS0uMjUgRiAuMTY4KG51bGwgc3RyaW5nIGlzIGEgdikyLjY2OCBGIC4xNjgoYWxpZCB2KS0uMjUKLUYoYWx1ZS4pLS4yNSBFKFRoZSkxMDggMzM2IFEgRjEodW5zZXQpMi43NjYgRSBGMCAtLjIoYnUpMi43NjYgRyAuMjY3CitGKGFsdWUuKS0uMjUgRShUaGUpMTA4IDcwOCBRIEYxKHVuc2V0KTIuNzY2IEUgRjAgLS4yKGJ1KTIuNzY2IEcgLjI2NwogKGlsdGluIGlzIHVzZWQgdG8gZGVzdHJvKS4yIEYgMi43NjcoeWEpLS4xIEcocnJheXMuKS0yLjc2NyBFIEYxKHVuc2V0KQogNS4yNjcgRSBGMihuYW1lKTIuNzY3IEUgRjAoWylBIEYyKHN1YnNjcmlwdClBIEYwIDIuNzY3KF1kKUMoZXN0cm8pLTIuNzY3CiBFIC4yNjcoeXMgdGhlIGFycmF5IGVsZW1lbnQgYXQgaW5kZSktLjEgRih4KS0uMTUgRSBGMihzdWItKTIuNzY3IEUKLShzY3JpcHQpMTA4IDM0OCBRIEYwIDYuMjA1KC5DKUMgMS4yMDUoYXJlIG11c3QgYmUgdGFrKS02LjIwNSBGIDEuMjA1Cisoc2NyaXB0KTEwOCA3MjAgUSBGMCA2LjIwNSguQylDIDEuMjA1KGFyZSBtdXN0IGJlIHRhayktNi4yMDUgRiAxLjIwNQogKGVuIHRvIGEpLS4xIEYgLS4yKHZvKS0uMiBHIDEuMjA1KGlkIHVudykuMiBGIDEuMjA1KGFudGVkIHNpZGUgZWYpLS4xIEYKIDEuMjA0KGZlY3RzIGNhdXNlZCBieSBwYXRobmFtZSBlKS0uMjUgRih4cGFuc2lvbi4pLS4xNSBFIEYxKHVuc2V0KTYuMjA0Ci1FIEYyKG5hbWUpMy43MDQgRSBGMCgsKUEod2hlcmUpMTA4IDM2MCBRIEYyKG5hbWUpMi41IEUgRjAoaXMgYW4gYXJyYXkpCi0yLjUgRSAyLjUoLG8pLS42NSBHKHIpLTIuNSBFIEYxKHVuc2V0KTIuNSBFIEYyKG5hbWUpMi41IEUgRjAoWylBIEYyCi0oc3Vic2NyaXB0KUEgRjAoXSwgd2hlcmUpQSBGMihzdWJzY3JpcHQpMi41IEUgRjAoaXMpMi41IEUgRjEoKikyLjUgRSBGMAotKG9yKTIuNSBFIEYxKEApMi41IEUgRjAgMi41KCxyKUMoZW1vKS0yLjUgRSAtLjE1KHZlKS0uMTUgRyAyLjUoc3QpLjE1IEcKLShoZSBlbnRpcmUgYXJyYXkpLTIuNSBFKC4pLS42NSBFKFRoZSkxMDggMzc2LjggUSBGMShkZWNsYXIpMy41NzMgRShlKQotLS4xOCBFIEYwKCwpQSBGMShsb2NhbCkzLjU3MyBFIEYwIDMuNTczKCxhKUMobmQpLTMuNTczIEUgRjEgLS4xOChyZSkKLTMuNTczIEcoYWRvbmx5KS4xOCBFIEYwIC0uMihidSkzLjU3MyBHIDEuMDczKGlsdGlucyBlYWNoIGFjY2VwdCBhKS4yIEYKLUYxPGFkNjE+My41NzMgRSBGMCAxLjA3MyhvcHRpb24gdG8gc3BlY2lmeSBhbiBpbmRlKTMuNTczIEYgLS4xNSh4ZSktLjE1Ci1HIDMuNTc0KGRhKS4xNSBHIDEuMDc0KHJyYXkgYW5kIGEpLTMuNTc0IEYgRjE8YWQ0MT4zLjU3NCBFIEYwIC43NTIKLShvcHRpb24gdG8gc3BlY2lmeSBhbiBhc3NvY2lhdGkpMTA4IDM4OC44IFIgMS4wNTIgLS4xNSh2ZSBhKS0uMjUgSChycmF5KQotLjE1IEUgNS43NTIoLlQpLS42NSBHKGhlKS01Ljc1MiBFIEYxIC0uMTgocmUpMy4yNTIgRyhhZCkuMTggRSBGMCAtLjIoYnUpCi0zLjI1MiBHIC43NTIoaWx0aW4gYWNjZXB0cyBhKS4yIEYgRjE8YWQ2MT4zLjI1MiBFIEYwIC43NTEKLShvcHRpb24gdG8gYXNzaWduIGEgbGlzdCBvZiB3KTMuMjUxIEYgLjc1MShvcmRzIHJlYWQpLS4xIEYgLjUwMgotKGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IHRvIGFuIGFycmF5KTEwOCA0MDAuOCBSIDUuNTAyKC5UKS0uNjUgRyhoZSkKLS01LjUwMiBFIEYxKHNldCkzLjAwMiBFIEYwKGFuZCkzLjAwMiBFIEYxKGRlY2xhcikzLjAwMiBFKGUpLS4xOCBFIEYwIC0uMgotKGJ1KTMuMDAyIEcgLjUwMihpbHRpbnMgZGlzcGxheSBhcnJheSB2KS4yIEYgLjUwMihhbHVlcyBpbiBhIHcpLS4yNSBGCi0uNTAzKGF5IHRoYXQgYWxsbyktLjEgRih3cyktLjI1IEUodGhlbSB0byBiZSByZXVzZWQgYXMgYXNzaWdubWVudHMuKTEwOAotNDEyLjggUS9GNCAxMC45NS9UaW1lcy1Cb2xkQDAgU0YoRVhQKTcyIDQyOS42IFEoQU5TSU9OKS0uODEgRSBGMCAuNzYoRXhcCi1wYW5zaW9uIGlzIHBlcmZvcm1lZCBvbiB0aGUgY29tbWFuZCBsaW5lIGFmdGVyIGl0IGhhcyBiZWVuIHNwbGl0IGludG8gdykKLTEwOCA0NDEuNiBSIDMuMjYob3Jkcy4gVGhlcmUpLS4xIEYgLjc2KGFyZSBzZSkzLjI2IEYgLS4xNSh2ZSktLjI1IEcgMy4yNgotKG5rKS4xNSBHIC43NihpbmRzIG9mKS0zLjI2IEYgLS4xNShleCkxMDggNDUzLjYgUyAuMzY5Ci0ocGFuc2lvbiBwZXJmb3JtZWQ6KS4xNSBGIEYyKGJyKTIuODY5IEUgLjM2OShhY2UgZSktLjE1IEYoeHBhbnNpb24pLS4yIEUKLUYwKCwpLjI0IEUgRjIgLjM2OSh0aWxkZSBlKTIuODY5IEYoeHBhbnNpb24pLS4yIEUgRjAoLCkuMjQgRSBGMihwYXIpCi0yLjg2OSBFIC4zNjkoYW1ldGVyIGFuZCB2YXJpYWJsZSBlKS0uMTUgRih4cGFuc2lvbiktLjIgRSBGMCgsKS4yNCBFIEYyCi0uMzcoY29tbWFuZCBzdWItKTIuODY5IEYoc3RpdHV0aW9uKTEwOCA0NjUuNiBRIEYwKCwpLjI0IEUgRjIKLShhcml0aG1ldGljIGUpMi41IEUoeHBhbnNpb24pLS4yIEUgRjAoLCkuMjQgRSBGMih3b3IpMi41IEUgMi41KGRzKS0uMzcgRwotKHBsaXR0aW5nKS0yLjUgRSBGMCAyLjUoLGEpLjIyIEcobmQpLTIuNSBFIEYyKHBhdGhuYW1lIGUpMi41IEUoeHBhbnNpb24pCi0tLjIgRSBGMCguKS4yNCBFIC40NzEoVGhlIG9yZGVyIG9mIGUpMTA4IDQ4Mi40IFIgLjQ3MQotKHhwYW5zaW9ucyBpczogYnJhY2UgZSktLjE1IEYgLjQ3MSh4cGFuc2lvbiwgdGlsZGUgZSktLjE1IEYgLjQ3MQotKHhwYW5zaW9uLCBwYXJhbWV0ZXIpLS4xNSBGIDIuOTcxKCx2KS0uNCBHIC40NyhhcmlhYmxlIGFuZCBhcml0aG1ldGljIGUpCi0tMy4yMjEgRih4cGFuc2lvbiktLjE1IEUKLShhbmQgY29tbWFuZCBzdWJzdGl0dXRpb24gXChkb25lIGluIGEgbGVmdC10by1yaWdodCBmKTEwOCA0OTQuNCBRCi0oYXNoaW9uXCksIHcpLS4xIEUob3JkIHNwbGl0dGluZywgYW5kIHBhdGhuYW1lIGUpLS4xIEUoeHBhbnNpb24uKS0uMTUgRQotKE9uIHN5c3RlbXMgdGhhdCBjYW4gc3VwcG9ydCBpdCwgdGhlcmUgaXMgYW4gYWRkaXRpb25hbCBlKTEwOCA1MTEuMiBRCi0oeHBhbnNpb24gYSktLjE1IEUgLS4yNSh2YSktLjIgRyhpbGFibGU6KS4yNSBFIEYyKHByKTIuNSBFCi0ob2Nlc3Mgc3Vic3RpdHV0aW9uKS0uNDUgRSBGMCguKUEgMS40ODYoT25seSBicmFjZSBlKTEwOCA1MjggUiAxLjQ4NgotKHhwYW5zaW9uLCB3KS0uMTUgRiAxLjQ4NihvcmQgc3BsaXR0aW5nLCBhbmQgcGF0aG5hbWUgZSktLjEgRiAxLjQ4NwotKHhwYW5zaW9uIGNhbiBjaGFuZ2UgdGhlIG51bWJlciBvZiB3KS0uMTUgRiAxLjQ4NyhvcmRzIG9mIHRoZSktLjEgRiAtLjE1Ci0oZXgpMTA4IDU0MCBTIDEuMTY1KHBhbnNpb247IG90aGVyIGUpLjE1IEYgMS4xNjUoeHBhbnNpb25zIGUpLS4xNSBGCi0xLjE2NSh4cGFuZCBhIHNpbmdsZSB3KS0uMTUgRiAxLjE2NShvcmQgdG8gYSBzaW5nbGUgdyktLjEgRiAzLjY2NQotKG9yZC4gVGhlKS0uMSBGIDEuMTY0KG9ubHkgZSkzLjY2NSBGIDEuMTY0KHhjZXB0aW9ucyB0byB0aGlzIGFyZSB0aGUpCi0tLjE1IEYgLS4xNShleCkxMDggNTUyIFMocGFuc2lvbnMgb2YgIikuMTUgRSBGMSgkQClBIEYwIDIuNSgiYSlDKG5kICIpCi0tMi41IEUgRjEoJHspQSBGMihuYW1lKUEgRjEoW0BdfSlBIEYwIDIuNSgiYSlDIDIuNShzZSktMi41IEcKLSh4cGxhaW5lZCBhYm8pLTIuNjUgRSAuMyAtLjE1KHZlIFwoKS0uMTUgSChzZWUpLjE1IEUgRjMgLS42NjYoUEEpMi41IEcKLShSQU1FVEVSUykuNjY2IEUvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKFwpLilBIEYxKEJyYWNlIEV4cGFuc2lvbik4NyA1NjguOAotUSBGMihCcikxMDguNTggNTgwLjggUSAuNjA2KGFjZSBlKS0uMTUgRih4cGFuc2lvbiktLjIgRSBGMCAuNjA2Ci0oaXMgYSBtZWNoYW5pc20gYnkgd2hpY2ggYXJiaXRyYXJ5IHN0cmluZ3MgbWF5IGJlIGdlbmVyYXRlZC4pMy4zNDYgRgotLjYwNihUaGlzIG1lY2hhbmlzbSBpcyBzaW1pbGFyKTUuNjA2IEYodG8pMTA4IDU5Mi44IFEgRjIgLjQxNQotKHBhdGhuYW1lIGUpMi45MTUgRih4cGFuc2lvbiktLjIgRSBGMCAyLjkxNSgsYilDIC40MTUKLSh1dCB0aGUgXDIxNGxlbmFtZXMgZ2VuZXJhdGVkIG5lZWQgbm90IGUpLTMuMTE1IEYgMi45MTUoeGlzdC4gUCktLjE1IEYKLS40MTUoYXR0ZXJucyB0byBiZSBicmFjZSBlKS0uMTUgRiAuNDE1KHhwYW5kZWQgdGFrKS0uMTUgRiAyLjkxNShldCktLjEgRwotKGhlKS0yLjkxNSBFIC4xNTEoZm9ybSBvZiBhbiBvcHRpb25hbCkxMDggNjA0LjggUiBGMihwcikyLjY1MSBFKGVhbWJsZSkKLS0uMzcgRSBGMCAyLjY1MSgsZikuMTggRyhvbGxvKS0yLjY1MSBFIC4xNTEKLSh3ZWQgYnkgZWl0aGVyIGEgc2VyaWVzIG9mIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmdzIG9yIGEgc2VxdWVuY2UgZSktLjI1Ci1GKHhwcmVzLSktLjE1IEUgLjU2MyhzaW9uIGJldHdlZW4gYSBwYWlyIG9mIGJyYWNlcywgZm9sbG8pMTA4IDYxNi44IFIKLS41NjMod2VkIGJ5IGFuIG9wdGlvbmFsKS0uMjUgRiBGMihwb3N0c2NyaXB0KTMuMDYzIEUgRjAgNS41NjMoLlQpLjY4IEcKLS41NjMoaGUgcHJlYW1ibGUgaXMgcHJlXDIxNHgpLTUuNTYzIEYgLjU2MyhlZCB0byBlYWNoIHN0cmluZyktLjE1IEYgLjY1OQotKGNvbnRhaW5lZCB3aXRoaW4gdGhlIGJyYWNlcywgYW5kIHRoZSBwb3N0c2NyaXB0IGlzIHRoZW4gYXBwZW5kZWQgdG8gZWFcCi1jaCByZXN1bHRpbmcgc3RyaW5nLCBlKTEwOCA2MjguOCBSIC42NTkoeHBhbmRpbmcgbGVmdCB0byktLjE1IEYocmlnaHQuKQotMTA4IDY0MC44IFEgLjcxOShCcmFjZSBlKTEwOCA2NTcuNiBSIC43MTkoeHBhbnNpb25zIG1heSBiZSBuZXN0ZWQuKS0uMTUKLUYgLjcxOShUaGUgcmVzdWx0cyBvZiBlYWNoIGUpNS43MTkgRiAuNzE5Ci0oeHBhbmRlZCBzdHJpbmcgYXJlIG5vdCBzb3J0ZWQ7IGxlZnQgdG8gcmlnaHQgb3JkZXIgaXMpLS4xNSBGKHByZXNlcnYpCi0xMDggNjY5LjYgUSAyLjUoZWQuIEYpLS4xNSBGKG9yIGUpLS4xNSBFKHhhbXBsZSwgYSktLjE1IEUgRjEoeylBIEYwCi0oZCxjLGIpQSBGMSh9KUEgRjAgMi41KGVlKUMoeHBhbmRzIGludG8gYGFkZSBhY2UgYWJlJy4pLTIuNjUgRSAzLjI0MihBcykKLTEwOCA2ODYuNCBTIC43NDIoZXF1ZW5jZSBlKS0zLjI0MiBGIC43NDIoeHByZXNzaW9uIHRhayktLjE1IEYgLjc0MgotKGVzIHRoZSBmb3JtKS0uMSBGIEYxKHspMy4yNDIgRSBGMih4KUEgRjEoLi4pQSBGMih5KUEgRjEoWy4uKUEgRjIoaW5jcilBCi1GMShdfSlBIEYwIDMuMjQyKCx3KUMoaGVyZSktMy4yNDIgRSBGMih4KTMuMjQyIEUgRjAoYW5kKTMuMjQzIEUgRjIoeSkKLTMuMjQzIEUgRjAgLjc0MyhhcmUgZWl0aGVyIGludGUpMy4yNDMgRiAuNzQzKGdlcnMgb3Igc2luZ2xlIGNoYXJhY3RlcnMsKQotLS4xNSBGKGFuZCkxMDggNjk4LjQgUSBGMihpbmNyKTMuMDMyIEUgRjAgMy4wMzIoLGEpQyAzLjAzMihubyktMy4wMzIgRwotLjUzMihwdGlvbmFsIGluY3JlbWVudCwgaXMgYW4gaW50ZSktMy4wMzIgRihnZXIpLS4xNSBFIDUuNTMyKC5XKS0uNTUgRwotLjUzMihoZW4gaW50ZSktNS41MzIgRiAuNTMyKGdlcnMgYXJlIHN1cHBsaWVkLCB0aGUgZSktLjE1IEYgLjUzMgotKHhwcmVzc2lvbiBlKS0uMTUgRiAuNTMxKHhwYW5kcyB0byBlYWNoKS0uMTUgRiAuMDc3KG51bWJlciBiZXR3ZWVuKTEwOAotNzEwLjQgUiBGMih4KTIuNTc3IEUgRjAoYW5kKTIuNTc3IEUgRjIoeSkyLjU3NyBFIEYwIDIuNTc3KCxpKUMobmNsdXNpKQotLTIuNTc3IEUgLS4xNSh2ZSktLjI1IEcgNS4wNzcoLlMpLjE1IEcgLjA3Nyh1cHBsaWVkIGludGUpLTUuMDc3IEYgLjA3NwotKGdlcnMgbWF5IGJlIHByZVwyMTR4KS0uMTUgRiAuMDc3KGVkIHdpdGgpLS4xNSBGIEYyKDApMi41NzcgRSBGMCAuMDc4Ci0odG8gZm9yY2UgZWFjaCB0ZXJtIHRvIGhhKTIuNTc4IEYgLjM3OCAtLjE1KHZlIHQpLS4yIEgoaGUpLjE1IEUgLjAxNQotKHNhbWUgd2lkdGguKTEwOCA3MjIuNCBSIC4wMTUoV2hlbiBlaXRoZXIpNS4wMTUgRiBGMih4KTIuNTE1IEUgRjAob3IpCi0yLjUxNSBFIEYyKHkpMi41MTUgRSBGMChiZSkyLjUxNSBFIC4wMTQoZ2lucyB3aXRoIGEgemVybywgdGhlIHNoZWxsIGF0dFwKLWVtcHRzIHRvIGZvcmNlIGFsbCBnZW5lcmF0ZWQgdGVybXMgdG8gY29udGFpbiktLjE1IEYoR05VIEJhc2gtNC4xKTcyIDc2OAotUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgxNykxODUuOTU1IEUgMCBDZyBFUAorRSBGMihuYW1lKTMuNzA0IEUgRjAoLClBKEdOVSBCYXNoLTQuMik3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUKK0UoMTcpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMTggMTgKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUgMS4xNDModGhlIHNhbWUgbnVtYmVyIG9mIGRpZ2l0cywgemVyby1wYWRkaW5nIHdoZXJlIG5lY2Vzc2FyeSkxMDgKLTg0IFIgNi4xNDMoLlcpLS42NSBHIDEuMTQzKGhlbiBjaGFyYWN0ZXJzIGFyZSBzdXBwbGllZCwgdGhlIGUpLTYuMTQzIEYKLSh4cHJlc3Npb24pLS4xNSBFIC0uMTUoZXgpMTA4IDk2IFMgLjU0MihwYW5kcyB0byBlYWNoIGNoYXJhY3RlciBsZSkuMTUgRgotLjU0Mih4aWNvZ3JhcGhpY2FsbHkgYmV0d2VlbiktLjE1IEYvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YoeCkzLjA0MiBFIEYwCi0oYW5kKTMuMDQyIEUgRjEoeSkzLjA0MiBFIEYwIDMuMDQyKCxpKUMobmNsdXNpKS0zLjA0MiBFIC0uMTUodmUpLS4yNSBHCi01LjU0MiguTikuMTUgRyAuNTQyKG90ZSB0aGF0IGJvdGgpLTUuNTQyIEYgRjEoeCkzLjA0MSBFIEYwKGFuZCkzLjA0MSBFCi1GMSh5KTMuMDQxIEUgRjAgLjU0MShtdXN0IGJlIG9mKTMuMDQxIEYgLjE4Mih0aGUgc2FtZSB0eXBlLikxMDggMTA4IFIKLS4xODIoV2hlbiB0aGUgaW5jcmVtZW50IGlzIHN1cHBsaWVkLCBpdCBpcyB1c2VkIGFzIHRoZSBkaWYpNS4xODIgRiAuMTgzCistLjM1IEUod2hlcmUpMTA4IDg0IFEvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YobmFtZSkyLjUgRSBGMChpcyBhbiBhcnJheSkKKzIuNSBFIDIuNSgsbyktLjY1IEcociktMi41IEUvRjIgMTAvVGltZXMtQm9sZEAwIFNGKHVuc2V0KTIuNSBFIEYxKG5hbWUpCisyLjUgRSBGMChbKUEgRjEoc3Vic2NyaXB0KUEgRjAoXSwgd2hlcmUpQSBGMShzdWJzY3JpcHQpMi41IEUgRjAoaXMpMi41IEUKK0YyKCopMi41IEUgRjAob3IpMi41IEUgRjIoQCkyLjUgRSBGMCAyLjUoLHIpQyhlbW8pLTIuNSBFIC0uMTUodmUpLS4xNSBHCisyLjUoc3QpLjE1IEcoaGUgZW50aXJlIGFycmF5KS0yLjUgRSguKS0uNjUgRShUaGUpMTA4IDEwMC44IFEgRjIoZGVjbGFyKQorMy41NzMgRShlKS0uMTggRSBGMCgsKUEgRjIobG9jYWwpMy41NzMgRSBGMCAzLjU3MygsYSlDKG5kKS0zLjU3MyBFIEYyCistLjE4KHJlKTMuNTczIEcoYWRvbmx5KS4xOCBFIEYwIC0uMihidSkzLjU3MyBHIDEuMDczCisoaWx0aW5zIGVhY2ggYWNjZXB0IGEpLjIgRiBGMjxhZDYxPjMuNTczIEUgRjAgMS4wNzMKKyhvcHRpb24gdG8gc3BlY2lmeSBhbiBpbmRlKTMuNTczIEYgLS4xNSh4ZSktLjE1IEcgMy41NzQoZGEpLjE1IEcgMS4wNzQKKyhycmF5IGFuZCBhKS0zLjU3NCBGIEYyPGFkNDE+My41NzQgRSBGMCAuMzM5Cisob3B0aW9uIHRvIHNwZWNpZnkgYW4gYXNzb2NpYXRpKTEwOCAxMTIuOCBSIC42MzggLS4xNSh2ZSBhKS0uMjUgSChycmF5KQorLjE1IEUgNS4zMzgoLkkpLS42NSBHIDIuODM4KGZiKS01LjMzOCBHIC4zMzgob3RoIG9wdGlvbnMgYXJlIHN1cHBsaWVkLCkKKy0yLjgzOCBGIEYyPGFkNDE+Mi44MzggRSBGMCh0YWspMi44MzggRSAuMzM4KGVzIHByZWNlZGVuY2UuKS0uMSBGKFRoZSkKKzUuMzM4IEUgRjIgLS4xOChyZSkyLjgzOCBHKGFkKS4xOCBFIEYwIC0uMihidSkyLjgzOCBHKGlsdGluKS4yIEUgLjQ0CisoYWNjZXB0cyBhKTEwOCAxMjQuOCBSIEYyPGFkNjE+Mi45NDEgRSBGMCAuNDQxCisob3B0aW9uIHRvIGFzc2lnbiBhIGxpc3Qgb2YgdykyLjk0MSBGIC40NDEKKyhvcmRzIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgdG8gYW4gYXJyYXkpLS4xIEYgNS40NDEoLlQpLS42NSBHKGhlKQorLTUuNDQxIEUgRjIoc2V0KTIuOTQxIEUgRjAoYW5kKTIuOTQxIEUgRjIoZGVjbGFyKTIuOTQxIEUoZSktLjE4IEUgRjAgLS4yCisoYnUpMTA4IDEzNi44IFMoaWx0aW5zIGRpc3BsYXkgYXJyYXkgdikuMiBFKGFsdWVzIGluIGEgdyktLjI1IEUKKyhheSB0aGF0IGFsbG8pLS4xIEUod3MgdGhlbSB0byBiZSByZXVzZWQgYXMgYXNzaWdubWVudHMuKS0uMjUgRS9GMyAxMC45NQorL1RpbWVzLUJvbGRAMCBTRihFWFApNzIgMTUzLjYgUShBTlNJT04pLS44MSBFIEYwIC43NihFeHBhbnNpb24gaXMgcGVyZm9cCitybWVkIG9uIHRoZSBjb21tYW5kIGxpbmUgYWZ0ZXIgaXQgaGFzIGJlZW4gc3BsaXQgaW50byB3KTEwOCAxNjUuNiBSIDMuMjYKKyhvcmRzLiBUaGVyZSktLjEgRiAuNzYoYXJlIHNlKTMuMjYgRiAtLjE1KHZlKS0uMjUgRyAzLjI2KG5rKS4xNSBHIC43NgorKGluZHMgb2YpLTMuMjYgRiAtLjE1KGV4KTEwOCAxNzcuNiBTIC4zNjkocGFuc2lvbiBwZXJmb3JtZWQ6KS4xNSBGIEYxCisoYnIpMi44NjkgRSAuMzY5KGFjZSBlKS0uMTUgRih4cGFuc2lvbiktLjIgRSBGMCgsKS4yNCBFIEYxIC4zNjkodGlsZGUgZSkKKzIuODY5IEYoeHBhbnNpb24pLS4yIEUgRjAoLCkuMjQgRSBGMShwYXIpMi44NjkgRSAuMzY5CisoYW1ldGVyIGFuZCB2YXJpYWJsZSBlKS0uMTUgRih4cGFuc2lvbiktLjIgRSBGMCgsKS4yNCBFIEYxIC4zNworKGNvbW1hbmQgc3ViLSkyLjg2OSBGKHN0aXR1dGlvbikxMDggMTg5LjYgUSBGMCgsKS4yNCBFIEYxKGFyaXRobWV0aWMgZSkKKzIuNSBFKHhwYW5zaW9uKS0uMiBFIEYwKCwpLjI0IEUgRjEod29yKTIuNSBFIDIuNShkcyktLjM3IEcocGxpdHRpbmcpLTIuNQorRSBGMCAyLjUoLGEpLjIyIEcobmQpLTIuNSBFIEYxKHBhdGhuYW1lIGUpMi41IEUoeHBhbnNpb24pLS4yIEUgRjAoLikuMjQKK0UgLjQ3MShUaGUgb3JkZXIgb2YgZSkxMDggMjA2LjQgUiAuNDcxKHhwYW5zaW9ucyBpczogYnJhY2UgZSktLjE1IEYgLjQ3MQorKHhwYW5zaW9uLCB0aWxkZSBlKS0uMTUgRiAuNDcxKHhwYW5zaW9uLCBwYXJhbWV0ZXIpLS4xNSBGIDIuOTcxKCx2KS0uNCBHCisuNDcoYXJpYWJsZSBhbmQgYXJpdGhtZXRpYyBlKS0zLjIyMSBGKHhwYW5zaW9uKS0uMTUgRQorKGFuZCBjb21tYW5kIHN1YnN0aXR1dGlvbiBcKGRvbmUgaW4gYSBsZWZ0LXRvLXJpZ2h0IGYpMTA4IDIxOC40IFEKKyhhc2hpb25cKSwgdyktLjEgRShvcmQgc3BsaXR0aW5nLCBhbmQgcGF0aG5hbWUgZSktLjEgRSh4cGFuc2lvbi4pLS4xNSBFCisoT24gc3lzdGVtcyB0aGF0IGNhbiBzdXBwb3J0IGl0LCB0aGVyZSBpcyBhbiBhZGRpdGlvbmFsIGUpMTA4IDIzNS4yIFEKKyh4cGFuc2lvbiBhKS0uMTUgRSAtLjI1KHZhKS0uMiBHKGlsYWJsZTopLjI1IEUgRjEocHIpMi41IEUKKyhvY2VzcyBzdWJzdGl0dXRpb24pLS40NSBFIEYwKC4pQSAxLjQ4NihPbmx5IGJyYWNlIGUpMTA4IDI1MiBSIDEuNDg2CisoeHBhbnNpb24sIHcpLS4xNSBGIDEuNDg2KG9yZCBzcGxpdHRpbmcsIGFuZCBwYXRobmFtZSBlKS0uMSBGIDEuNDg3CisoeHBhbnNpb24gY2FuIGNoYW5nZSB0aGUgbnVtYmVyIG9mIHcpLS4xNSBGIDEuNDg3KG9yZHMgb2YgdGhlKS0uMSBGIC0uMTUKKyhleCkxMDggMjY0IFMgMS4xNjUocGFuc2lvbjsgb3RoZXIgZSkuMTUgRiAxLjE2NSh4cGFuc2lvbnMgZSktLjE1IEYKKzEuMTY1KHhwYW5kIGEgc2luZ2xlIHcpLS4xNSBGIDEuMTY1KG9yZCB0byBhIHNpbmdsZSB3KS0uMSBGIDMuNjY1Cisob3JkLiBUaGUpLS4xIEYgMS4xNjQob25seSBlKTMuNjY1IEYgMS4xNjQoeGNlcHRpb25zIHRvIHRoaXMgYXJlIHRoZSkKKy0uMTUgRiAtLjE1KGV4KTEwOCAyNzYgUyhwYW5zaW9ucyBvZiAiKS4xNSBFIEYyKCRAKUEgRjAgMi41KCJhKUMobmQgIikKKy0yLjUgRSBGMigkeylBIEYxKG5hbWUpQSBGMihbQF19KUEgRjAgMi41KCJhKUMgMi41KHNlKS0yLjUgRworKHhwbGFpbmVkIGFibyktMi42NSBFIC4zIC0uMTUodmUgXCgpLS4xNSBIKHNlZSkuMTUgRS9GNCA5L1RpbWVzLUJvbGRAMAorU0YgLS42NjYoUEEpMi41IEcoUkFNRVRFUlMpLjY2NiBFL0Y1IDkvVGltZXMtUm9tYW5AMCBTRihcKS4pQSBGMgorKEJyYWNlIEV4cGFuc2lvbik4NyAyOTIuOCBRIEYxKEJyKTEwOC41OCAzMDQuOCBRIC42MDYoYWNlIGUpLS4xNSBGCisoeHBhbnNpb24pLS4yIEUgRjAgLjYwNgorKGlzIGEgbWVjaGFuaXNtIGJ5IHdoaWNoIGFyYml0cmFyeSBzdHJpbmdzIG1heSBiZSBnZW5lcmF0ZWQuKTMuMzQ2IEYKKy42MDYoVGhpcyBtZWNoYW5pc20gaXMgc2ltaWxhcik1LjYwNiBGKHRvKTEwOCAzMTYuOCBRIEYxIC40MTUKKyhwYXRobmFtZSBlKTIuOTE1IEYoeHBhbnNpb24pLS4yIEUgRjAgMi45MTUoLGIpQyAuNDE1CisodXQgdGhlIFwyMTRsZW5hbWVzIGdlbmVyYXRlZCBuZWVkIG5vdCBlKS0zLjExNSBGIDIuOTE1KHhpc3QuIFApLS4xNSBGCisuNDE1KGF0dGVybnMgdG8gYmUgYnJhY2UgZSktLjE1IEYgLjQxNSh4cGFuZGVkIHRhayktLjE1IEYgMi45MTUoZXQpLS4xIEcKKyhoZSktMi45MTUgRSAuMTUxKGZvcm0gb2YgYW4gb3B0aW9uYWwpMTA4IDMyOC44IFIgRjEocHIpMi42NTEgRShlYW1ibGUpCistLjM3IEUgRjAgMi42NTEoLGYpLjE4IEcob2xsbyktMi42NTEgRSAuMTUxCisod2VkIGJ5IGVpdGhlciBhIHNlcmllcyBvZiBjb21tYS1zZXBhcmF0ZWQgc3RyaW5ncyBvciBhIHNlcXVlbmNlIGUpLS4yNQorRih4cHJlcy0pLS4xNSBFIC41NjMoc2lvbiBiZXR3ZWVuIGEgcGFpciBvZiBicmFjZXMsIGZvbGxvKTEwOCAzNDAuOCBSCisuNTYzKHdlZCBieSBhbiBvcHRpb25hbCktLjI1IEYgRjEocG9zdHNjcmlwdCkzLjA2MyBFIEYwIDUuNTYzKC5UKS42OCBHCisuNTYzKGhlIHByZWFtYmxlIGlzIHByZVwyMTR4KS01LjU2MyBGIC41NjMoZWQgdG8gZWFjaCBzdHJpbmcpLS4xNSBGIC42NTkKKyhjb250YWluZWQgd2l0aGluIHRoZSBicmFjZXMsIGFuZCB0aGUgcG9zdHNjcmlwdCBpcyB0aGVuIGFwcGVuZGVkIHRvIGVhXAorY2ggcmVzdWx0aW5nIHN0cmluZywgZSkxMDggMzUyLjggUiAuNjU5KHhwYW5kaW5nIGxlZnQgdG8pLS4xNSBGKHJpZ2h0LikKKzEwOCAzNjQuOCBRIC43MTkoQnJhY2UgZSkxMDggMzgxLjYgUiAuNzE5KHhwYW5zaW9ucyBtYXkgYmUgbmVzdGVkLiktLjE1CitGIC43MTkoVGhlIHJlc3VsdHMgb2YgZWFjaCBlKTUuNzE5IEYgLjcxOQorKHhwYW5kZWQgc3RyaW5nIGFyZSBub3Qgc29ydGVkOyBsZWZ0IHRvIHJpZ2h0IG9yZGVyIGlzKS0uMTUgRihwcmVzZXJ2KQorMTA4IDM5My42IFEgMi41KGVkLiBGKS0uMTUgRihvciBlKS0uMTUgRSh4YW1wbGUsIGEpLS4xNSBFIEYyKHspQSBGMAorKGQsYyxiKUEgRjIofSlBIEYwIDIuNShlZSlDKHhwYW5kcyBpbnRvIGBhZGUgYWNlIGFiZScuKS0yLjY1IEUgMy4yNDIoQXMpCisxMDggNDEwLjQgUyAuNzQyKGVxdWVuY2UgZSktMy4yNDIgRiAuNzQyKHhwcmVzc2lvbiB0YWspLS4xNSBGIC43NDIKKyhlcyB0aGUgZm9ybSktLjEgRiBGMih7KTMuMjQyIEUgRjEoeClBIEYyKC4uKUEgRjEoeSlBIEYyKFsuLilBIEYxKGluY3IpQQorRjIoXX0pQSBGMCAzLjI0MigsdylDKGhlcmUpLTMuMjQyIEUgRjEoeCkzLjI0MiBFIEYwKGFuZCkzLjI0MyBFIEYxKHkpCiszLjI0MyBFIEYwIC43NDMoYXJlIGVpdGhlciBpbnRlKTMuMjQzIEYgLjc0MyhnZXJzIG9yIHNpbmdsZSBjaGFyYWN0ZXJzLCkKKy0uMTUgRihhbmQpMTA4IDQyMi40IFEgRjEoaW5jcikzLjAzMiBFIEYwIDMuMDMyKCxhKUMgMy4wMzIobm8pLTMuMDMyIEcKKy41MzIocHRpb25hbCBpbmNyZW1lbnQsIGlzIGFuIGludGUpLTMuMDMyIEYoZ2VyKS0uMTUgRSA1LjUzMiguVyktLjU1IEcKKy41MzIoaGVuIGludGUpLTUuNTMyIEYgLjUzMihnZXJzIGFyZSBzdXBwbGllZCwgdGhlIGUpLS4xNSBGIC41MzIKKyh4cHJlc3Npb24gZSktLjE1IEYgLjUzMSh4cGFuZHMgdG8gZWFjaCktLjE1IEYgLjA3NyhudW1iZXIgYmV0d2VlbikxMDgKKzQzNC40IFIgRjEoeCkyLjU3NyBFIEYwKGFuZCkyLjU3NyBFIEYxKHkpMi41NzcgRSBGMCAyLjU3NygsaSlDKG5jbHVzaSkKKy0yLjU3NyBFIC0uMTUodmUpLS4yNSBHIDUuMDc3KC5TKS4xNSBHIC4wNzcodXBwbGllZCBpbnRlKS01LjA3NyBGIC4wNzcKKyhnZXJzIG1heSBiZSBwcmVcMjE0eCktLjE1IEYgLjA3NyhlZCB3aXRoKS0uMTUgRiBGMSgwKTIuNTc3IEUgRjAgLjA3OAorKHRvIGZvcmNlIGVhY2ggdGVybSB0byBoYSkyLjU3OCBGIC4zNzggLS4xNSh2ZSB0KS0uMiBIKGhlKS4xNSBFIC4wMTUKKyhzYW1lIHdpZHRoLikxMDggNDQ2LjQgUiAuMDE1KFdoZW4gZWl0aGVyKTUuMDE1IEYgRjEoeCkyLjUxNSBFIEYwKG9yKQorMi41MTUgRSBGMSh5KTIuNTE1IEUgRjAoYmUpMi41MTUgRSAuMDE0KGdpbnMgd2l0aCBhIHplcm8sIHRoZSBzaGVsbCBhdHRcCitlbXB0cyB0byBmb3JjZSBhbGwgZ2VuZXJhdGVkIHRlcm1zIHRvIGNvbnRhaW4pLS4xNSBGIDEuMTQzCisodGhlIHNhbWUgbnVtYmVyIG9mIGRpZ2l0cywgemVyby1wYWRkaW5nIHdoZXJlIG5lY2Vzc2FyeSkxMDggNDU4LjQgUgorNi4xNDMoLlcpLS42NSBHIDEuMTQzKGhlbiBjaGFyYWN0ZXJzIGFyZSBzdXBwbGllZCwgdGhlIGUpLTYuMTQzIEYKKyh4cHJlc3Npb24pLS4xNSBFIC0uMTUoZXgpMTA4IDQ3MC40IFMgLjU0MihwYW5kcyB0byBlYWNoIGNoYXJhY3RlciBsZSkKKy4xNSBGIC41NDIoeGljb2dyYXBoaWNhbGx5IGJldHdlZW4pLS4xNSBGIEYxKHgpMy4wNDIgRSBGMChhbmQpMy4wNDIgRSBGMQorKHkpMy4wNDIgRSBGMCAzLjA0MigsaSlDKG5jbHVzaSktMy4wNDIgRSAtLjE1KHZlKS0uMjUgRyA1LjU0MiguTikuMTUgRworLjU0MihvdGUgdGhhdCBib3RoKS01LjU0MiBGIEYxKHgpMy4wNDEgRSBGMChhbmQpMy4wNDEgRSBGMSh5KTMuMDQxIEUgRjAKKy41NDEobXVzdCBiZSBvZikzLjA0MSBGIC4xODIodGhlIHNhbWUgdHlwZS4pMTA4IDQ4Mi40IFIgLjE4MgorKFdoZW4gdGhlIGluY3JlbWVudCBpcyBzdXBwbGllZCwgaXQgaXMgdXNlZCBhcyB0aGUgZGlmKTUuMTgyIEYgLjE4MwogKGZlcmVuY2UgYmV0d2VlbiBlYWNoIHRlcm0uKS0uMjUgRiAuMTgzKFRoZSBkZWYpNS4xODMgRihhdWx0KS0uMSBFCi0oaW5jcmVtZW50IGlzIDEgb3IgLTEgYXMgYXBwcm9wcmlhdGUuKTEwOCAxMjAgUSAuNTgyKEJyYWNlIGUpMTA4IDEzNi44IFIKLS41ODIoeHBhbnNpb24gaXMgcGVyZm9ybWVkIGJlZm9yZSBhbiktLjE1IEYgMy4wODIoeW8pLS4xNSBHIC41ODEodGhlciBlKQotLTMuMDgyIEYgLjU4MSh4cGFuc2lvbnMsIGFuZCBhbiktLjE1IEYgMy4wODEoeWMpLS4xNSBHIC41ODEKKyhpbmNyZW1lbnQgaXMgMSBvciAtMSBhcyBhcHByb3ByaWF0ZS4pMTA4IDQ5NC40IFEgLjU4MihCcmFjZSBlKTEwOCA1MTEuMgorUiAuNTgyKHhwYW5zaW9uIGlzIHBlcmZvcm1lZCBiZWZvcmUgYW4pLS4xNSBGIDMuMDgyKHlvKS0uMTUgRyAuNTgxCisodGhlciBlKS0zLjA4MiBGIC41ODEoeHBhbnNpb25zLCBhbmQgYW4pLS4xNSBGIDMuMDgxKHljKS0uMTUgRyAuNTgxCiAoaGFyYWN0ZXJzIHNwZWNpYWwgdG8gb3RoZXIgZSktMy4wODEgRih4cGFuc2lvbnMpLS4xNSBFIC4wMTUKLShhcmUgcHJlc2VydikxMDggMTQ4LjggUiAuMDE1KGVkIGluIHRoZSByZXN1bHQuKS0uMTUgRiAuMDE1Ci0oSXQgaXMgc3RyaWN0bHkgdGUpNS4wMTUgRih4dHVhbC4pLS4xNSBFL0YyIDEwL1RpbWVzLUJvbGRAMCBTRihCYXNoKQotNS4wMTYgRSBGMCAuMDE2KGRvZXMgbm90IGFwcGx5IGFuKTIuNTE2IEYgMi41MTYoeXMpLS4xNSBHIC4wMTYKLSh5bnRhY3RpYyBpbnRlcnByZXRhdGlvbiB0byB0aGUgY29uLSktMi41MTYgRih0ZSkxMDggMTYwLjggUQorKGFyZSBwcmVzZXJ2KTEwOCA1MjMuMiBSIC4wMTUoZWQgaW4gdGhlIHJlc3VsdC4pLS4xNSBGIC4wMTUKKyhJdCBpcyBzdHJpY3RseSB0ZSk1LjAxNSBGKHh0dWFsLiktLjE1IEUgRjIoQmFzaCk1LjAxNiBFIEYwIC4wMTYKKyhkb2VzIG5vdCBhcHBseSBhbikyLjUxNiBGIDIuNTE2KHlzKS0uMTUgRyAuMDE2CisoeW50YWN0aWMgaW50ZXJwcmV0YXRpb24gdG8gdGhlIGNvbi0pLTIuNTE2IEYodGUpMTA4IDUzNS4yIFEKICh4dCBvZiB0aGUgZSktLjE1IEUoeHBhbnNpb24gb3IgdGhlIHRlKS0uMTUgRSh4dCBiZXR3ZWVuIHRoZSBicmFjZXMuKQotLS4xNSBFIDMuNjMzKEFjKTEwOCAxNzcuNiBTIDEuMTMzKG9ycmVjdGx5LWZvcm1lZCBicmFjZSBlKS0zLjYzMyBGIDEuMTMyCi0oeHBhbnNpb24gbXVzdCBjb250YWluIHVucXVvdGVkIG9wZW5pbmcgYW5kIGNsb3NpbmcgYnJhY2VzLCBhbmQgYXQgbGVhc1wKLXQgb25lKS0uMTUgRiAzLjQ0KHVucXVvdGVkIGNvbW1hIG9yIGEgdikxMDggMTg5LjYgUiAzLjQ0MQotKGFsaWQgc2VxdWVuY2UgZSktLjI1IEYgNS45NDEoeHByZXNzaW9uLiBBbiktLjE1IEYgNS45NDEoeWkpLS4xNSBHIDMuNDQxCistLjE1IEUgMy42MzMoQWMpMTA4IDU1MiBTIDEuMTMzKG9ycmVjdGx5LWZvcm1lZCBicmFjZSBlKS0zLjYzMyBGIDEuMTMyKFwKK3hwYW5zaW9uIG11c3QgY29udGFpbiB1bnF1b3RlZCBvcGVuaW5nIGFuZCBjbG9zaW5nIGJyYWNlcywgYW5kIGF0IGxlYXN0XAorIG9uZSktLjE1IEYgMy40NCh1bnF1b3RlZCBjb21tYSBvciBhIHYpMTA4IDU2NCBSIDMuNDQxKGFsaWQgc2VxdWVuY2UgZSkKKy0uMjUgRiA1Ljk0MSh4cHJlc3Npb24uIEFuKS0uMTUgRiA1Ljk0MSh5aSktLjE1IEcgMy40NDEKIChuY29ycmVjdGx5IGZvcm1lZCBicmFjZSBlKS01Ljk0MSBGIDMuNDQxKHhwYW5zaW9uIGlzIGxlZnQpLS4xNSBGIDIuNzU1Ci0odW5jaGFuZ2VkLiBBKTEwOCAyMDEuNiBSIEYyKHspMi43NTUgRSBGMChvcikyLjc1NSBFIEYyKCwpMi43NTUgRSBGMAotLjI1NShtYXkgYmUgcXVvdGVkIHdpdGggYSBiYWNrc2xhc2ggdG8gcHJlKTIuNzU1IEYgLS4xNSh2ZSktLjI1IEcgLjI1NQorKHVuY2hhbmdlZC4gQSkxMDggNTc2IFIgRjIoeykyLjc1NSBFIEYwKG9yKTIuNzU1IEUgRjIoLCkyLjc1NSBFIEYwIC4yNTUKKyhtYXkgYmUgcXVvdGVkIHdpdGggYSBiYWNrc2xhc2ggdG8gcHJlKTIuNzU1IEYgLS4xNSh2ZSktLjI1IEcgLjI1NQogKG50IGl0cyBiZWluZyBjb25zaWRlcmVkIHBhcnQgb2YgYSBicmFjZSBlKS4xNSBGKHhwcmVzLSktLjE1IEUgMi45MQotKHNpb24uIFQpMTA4IDIxMy42IFIgMi45MShvYSktLjggRyAtLjIodm8pLTMuMTEgRyAuNDEKKyhzaW9uLiBUKTEwOCA1ODggUiAyLjkxKG9hKS0uOCBHIC0uMih2byktMy4xMSBHIC40MQogKGlkIGNvblwyMTVpY3RzIHdpdGggcGFyYW1ldGVyIGUpLjIgRiAuNDExKHhwYW5zaW9uLCB0aGUgc3RyaW5nKS0uMTUgRgogRjIoJHspMi45MTEgRSBGMCAuNDExKGlzIG5vdCBjb25zaWRlcmVkIGVsaWdpYmxlIGZvciBicmFjZSBlKTIuOTExIEYKLSh4cGFuLSktLjE1IEUoc2lvbi4pMTA4IDIyNS42IFEgMS40NzYoVGhpcyBjb25zdHJ1Y3QgaXMgdHlwaWNhbGx5IHVzZWQgXAotYXMgc2hvcnRoYW5kIHdoZW4gdGhlIGNvbW1vbiBwcmVcMjE0eCBvZiB0aGUgc3RyaW5ncyB0byBiZSBnZW5lcmF0ZWQgaXMpCi0xMDggMjQyLjQgUihsb25nZXIgdGhhbiBpbiB0aGUgYWJvKTEwOCAyNTQuNCBRIC4zIC0uMTUodmUgZXgpLS4xNSBICi0oYW1wbGU6KS4xNSBFKG1rZGlyIC91c3IvbG9jYWwvc3JjL2Jhc2gve29sZCxuZSkxNDQgMjcxLjIgUSAtLjY1KHcsKS0uMjUKLUcoZGlzdCxiKS42NSBFKHVnc30pLS4yIEUob3IpMTA4IDI4My4yIFEoY2hvKTE0NCAyOTUuMiBRCisoeHBhbi0pLS4xNSBFKHNpb24uKTEwOCA2MDAgUSAxLjQ3NihUaGlzIGNvbnN0cnVjdCBpcyB0eXBpY2FsbHkgdXNlZCBhc1wKKyBzaG9ydGhhbmQgd2hlbiB0aGUgY29tbW9uIHByZVwyMTR4IG9mIHRoZSBzdHJpbmdzIHRvIGJlIGdlbmVyYXRlZCBpcykKKzEwOCA2MTYuOCBSKGxvbmdlciB0aGFuIGluIHRoZSBhYm8pMTA4IDYyOC44IFEgLjMgLS4xNSh2ZSBleCktLjE1IEgKKyhhbXBsZTopLjE1IEUobWtkaXIgL3Vzci9sb2NhbC9zcmMvYmFzaC97b2xkLG5lKTE0NCA2NDUuNiBRIC0uNjUodywpLS4yNQorRyhkaXN0LGIpLjY1IEUodWdzfSktLjIgRShvcikxMDggNjU3LjYgUShjaG8pMTQ0IDY2OS42IFEKICh3biByb290IC91c3Ive3VjYi97ZSktLjI1IEUoeCxlZGl0fSxsaWIve2UpLS4xNSBFKHg/Lj8qLGhvKS0uMTUgRSh3X2UpCi0tLjI1IEUoeH19KS0uMTUgRSAuNjE4KEJyYWNlIGUpMTA4IDMxMiBSIC42MTgKKy0uMjUgRSh4fX0pLS4xNSBFIC42MTgoQnJhY2UgZSkxMDggNjg2LjQgUiAuNjE4CiAoeHBhbnNpb24gaW50cm9kdWNlcyBhIHNsaWdodCBpbmNvbXBhdGliaWxpdHkgd2l0aCBoaXN0b3JpY2FsIHYpLS4xNSBGCiAuNjE4KGVyc2lvbnMgb2YpLS4xNSBGIEYyKHNoKTMuMTE4IEUgRjAoLilBIEYyKHNoKTUuNjE4IEUgRjAgLjYxOAogKGRvZXMgbm90IHRyZWF0IG9wZW4tKTMuMTE4IEYgLjI0OAotKGluZyBvciBjbG9zaW5nIGJyYWNlcyBzcGVjaWFsbHkgd2hlbiB0aGUpMTA4IDMyNCBSIDIuNzQ4KHlhKS0uMTUgRyAuMjQ3Ci0ocHBlYXIgYXMgcGFydCBvZiBhIHcpLTIuNzQ4IEYgLjI0NyhvcmQsIGFuZCBwcmVzZXJ2KS0uMSBGIC4yNDcKLShlcyB0aGVtIGluIHRoZSBvdXRwdXQuKS0uMTUgRiBGMihCYXNoKTUuMjQ3IEUgRjAocmVtbykxMDggMzM2IFEgLS4xNQorKGluZyBvciBjbG9zaW5nIGJyYWNlcyBzcGVjaWFsbHkgd2hlbiB0aGUpMTA4IDY5OC40IFIgMi43NDgoeWEpLS4xNSBHCisuMjQ3KHBwZWFyIGFzIHBhcnQgb2YgYSB3KS0yLjc0OCBGIC4yNDcob3JkLCBhbmQgcHJlc2VydiktLjEgRiAuMjQ3CisoZXMgdGhlbSBpbiB0aGUgb3V0cHV0LiktLjE1IEYgRjIoQmFzaCk1LjI0NyBFIEYwKHJlbW8pMTA4IDcxMC40IFEgLS4xNQogKHZlKS0uMTUgRyAzLjUzKHNiKS4xNSBHIDEuMDMocmFjZXMgZnJvbSB3KS0zLjUzIEYgMS4wMwogKG9yZHMgYXMgYSBjb25zZXF1ZW5jZSBvZiBicmFjZSBlKS0uMSBGIDMuNTMoeHBhbnNpb24uIEYpLS4xNSBGIDEuMDMKIChvciBlKS0uMTUgRiAxLjAzKHhhbXBsZSwgYSB3KS0uMTUgRiAxLjAzKG9yZCBlbnRlcmVkIHRvKS0uMSBGIEYyKHNoKQotMy41MyBFIEYwKGFzKTMuNTMgRSBGMShcMjE0bGV7MSwyfSkxMDggMzQ4IFEgRjAgLjUxNQorMy41MyBFIEYwKGFzKTMuNTMgRSBGMShcMjE0bGV7MSwyfSkxMDggNzIyLjQgUSBGMCAuNTE1CiAoYXBwZWFycyBpZGVudGljYWxseSBpbiB0aGUgb3V0cHV0LikzLjAxNSBGIC41MTUoVGhlIHNhbWUgdyk1LjUxNSBGIC41MTUKIChvcmQgaXMgb3V0cHV0IGFzKS0uMSBGIEYxIC41MTQoXDIxNGxlMSBcMjE0bGUyKTQuOTI1IEYgRjAgLjUxNChhZnRlciBlKQotMy4wMzQgRiAuNTE0KHhwYW5zaW9uIGJ5KS0uMTUgRiBGMihiYXNoKTMuMDE0IEUgRjAoLilBIC40MzYKLShJZiBzdHJpY3QgY29tcGF0aWJpbGl0eSB3aXRoKTEwOCAzNjAgUiBGMihzaCkyLjkzNiBFIEYwIC40MzYKLShpcyBkZXNpcmVkLCBzdGFydCkyLjkzNiBGIEYyKGJhc2gpMi45MzYgRSBGMCAuNDM2KHdpdGggdGhlKTIuOTM2IEYgRjIKLSgrQikyLjkzNiBFIEYwIC40MzYob3B0aW9uIG9yIGRpc2FibGUgYnJhY2UgZSkyLjkzNiBGIC40MzcKLSh4cGFuc2lvbiB3aXRoIHRoZSktLjE1IEYgRjIoK0IpMTA4IDM3MiBRIEYwKG9wdGlvbiB0byB0aGUpMi41IEUgRjIoc2V0KQotMi41IEUgRjAoY29tbWFuZCBcKHNlZSkyLjUgRS9GMyA5L1RpbWVzLUJvbGRAMCBTRihTSEVMTCBCKTIuNSBFKFVJTCktLjA5Ci1FKFRJTiBDT01NQU5EUyktLjgyOCBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIEYyIC0uMTgoVGkpODcgMzg4LjggUwotKGxkZSBFeHBhbnNpb24pLjE4IEUgRjAgMS4wODcoSWYgYSB3KTEwOCA0MDAuOCBSIDEuMDg3KG9yZCBiZSktLjEgRgotMS4wODcoZ2lucyB3aXRoIGFuIHVucXVvdGVkIHRpbGRlIGNoYXJhY3RlciBcKGApLS4xNSBGIEYyKH4pQSBGMCAxLjA4NgotKCdcKSwgYWxsIG9mIHRoZSBjaGFyYWN0ZXJzIHByZWNlZGluZyB0aGUgXDIxNHJzdCB1bnF1b3RlZClCIC4xODUoc2xhc2hcCi0gXChvciBhbGwgY2hhcmFjdGVycywgaWYgdGhlcmUgaXMgbm8gdW5xdW90ZWQgc2xhc2hcKSBhcmUgY29uc2lkZXJlZCBhKQotMTA4IDQxMi44IFIgRjEodGlsZGUtcHIpMi42ODUgRShlXDIxNHgpLS4zNyBFIEYwIDUuMTg1KC5JKUMgMi42ODUoZm4pCi0tNS4xODUgRyAuMTg1KG9uZSBvZiB0aGUgY2hhcmFjdGVycyktMi42ODUgRiAuNzI2KGluIHRoZSB0aWxkZS1wcmVcMjE0eFwKLSBhcmUgcXVvdGVkLCB0aGUgY2hhcmFjdGVycyBpbiB0aGUgdGlsZGUtcHJlXDIxNHggZm9sbG8pMTA4IDQyNC44IFIgLjcyNQotKHdpbmcgdGhlIHRpbGRlIGFyZSB0cmVhdGVkIGFzIGEgcG9zc2libGUpLS4yNSBGIEYxKGxvKTEwOCA0MzYuOCBRIC41MjIKLShnaW4gbmFtZSktLjEgRiBGMCA1LjUyMiguSSlDIDMuMDIyKGZ0KS01LjUyMiBHIC41MjIKLShoaXMgbG9naW4gbmFtZSBpcyB0aGUgbnVsbCBzdHJpbmcsIHRoZSB0aWxkZSBpcyByZXBsYWNlZCB3aXRoIHRoZSB2KQotLTMuMDIyIEYgLjUyMyhhbHVlIG9mIHRoZSBzaGVsbCBwYXJhbWV0ZXIpLS4yNSBGIEYzKEhPTUUpMTA4IDQ0OC44IFEvRjQKLTkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAoSWYpNC43ODcgRSBGMyhIT01FKTIuNzg3IEUgRjAgLjI4NwotKGlzIHVuc2V0LCB0aGUgaG9tZSBkaXJlY3Rvcnkgb2YgdGhlIHVzZXIgZSkyLjUzNyBGIC0uMTUoeGUpLS4xNSBHIC4yODYKLShjdXRpbmcgdGhlIHNoZWxsIGlzIHN1YnN0aXR1dGVkIGluc3RlYWQuKS4xNSBGKE90aGVyKTUuMjg2IEUoLSktLjIgRSh3XAotaXNlLCB0aGUgdGlsZGUtcHJlXDIxNHggaXMgcmVwbGFjZWQgd2l0aCB0aGUgaG9tZSBkaXJlY3RvcnkgYXNzb2NpYXRlZCBcCi13aXRoIHRoZSBzcGVjaVwyMTRlZCBsb2dpbiBuYW1lLikxMDggNDYwLjggUSAuMDkyCi0oSWYgdGhlIHRpbGRlLXByZVwyMTR4IGlzIGEgYH4rJywgdGhlIHYpMTA4IDQ3Ny42IFIgLjA5MgotKGFsdWUgb2YgdGhlIHNoZWxsIHYpLS4yNSBGKGFyaWFibGUpLS4yNSBFIEYzKFBXRCkyLjU5MiBFIEYwIC4wOTIKLShyZXBsYWNlcyB0aGUgdGlsZGUtcHJlXDIxNHguKTIuMzQyIEYgLjA5MyhJZiB0aGUgdGlsZGUtcHJlXDIxNHggaXMpCi01LjA5MyBGIDMuNDA0KGFgKTEwOCA0ODkuNiBTIC45MDQoflwyNTUnLCB0aGUgdiktMy40MDQgRiAuOTA0Ci0oYWx1ZSBvZiB0aGUgc2hlbGwgdiktLjI1IEYoYXJpYWJsZSktLjI1IEUgRjMoT0xEUFdEKTMuNDA0IEUgRjQoLClBIEYwCi0uOTA0KGlmIGl0IGlzIHNldCwgaXMgc3Vic3RpdHV0ZWQuKTMuMTU0IEYgLjkwMyhJZiB0aGUgY2hhcmFjdGVycyBmb2xsbykKLTUuOTAzIEYgLjkwMyh3aW5nIHRoZSktLjI1IEYgMS42NDEKLSh0aWxkZSBpbiB0aGUgdGlsZGUtcHJlXDIxNHggY29uc2lzdCBvZiBhIG51bWJlcikxMDggNTAxLjYgUiBGMShOKTQuMTQxCi1FIEYwIDQuMTQyKCxvKUMgMS42NDIocHRpb25hbGx5IHByZVwyMTR4KS00LjE0MiBGIDEuNjQyCi0oZWQgYnkgYSBgKycgb3IgYSBgXDI1NScsIHRoZSB0aWxkZS1wcmVcMjE0eCBpcyktLjE1IEYgMS40MzgocmVwbGFjZWQgd1wKLWl0aCB0aGUgY29ycmVzcG9uZGluZyBlbGVtZW50IGZyb20gdGhlIGRpcmVjdG9yeSBzdGFjaywgYXMgaXQgdykxMDgKLTUxMy42IFIgMS40Mzcob3VsZCBiZSBkaXNwbGF5ZWQgYnkgdGhlKS0uMSBGIEYyKGRpcnMpMy45MzcgRSBGMCAtLjIoYnUpCi0xMDggNTI1LjYgUyAuNDU0KGlsdGluIGluKS4yIEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuOTU0KGR3KS4xIEcKLS40NTQoaXRoIHRoZSB0aWxkZS1wcmVcMjE0eCBhcyBhbiBhciktMi45NTQgRiAyLjk1NChndW1lbnQuIElmKS0uMTggRgotLjQ1NCh0aGUgY2hhcmFjdGVycyBmb2xsbykyLjk1NCBGIC40NTUKLSh3aW5nIHRoZSB0aWxkZSBpbiB0aGUgdGlsZGUtcHJlXDIxNHgpLS4yNSBGCi0oY29uc2lzdCBvZiBhIG51bWJlciB3aXRob3V0IGEgbGVhZGluZyBgKycgb3IgYFwyNTUnLCBgKycgaXMgYXNzdW1lZC4pCi0xMDggNTM3LjYgUShJZiB0aGUgbG9naW4gbmFtZSBpcyBpbikxMDggNTU0LjQgUSAtLjI1KHZhKS0uNCBHCi0obGlkLCBvciB0aGUgdGlsZGUgZSkuMjUgRSh4cGFuc2lvbiBmKS0uMTUgRShhaWxzLCB0aGUgdyktLjEgRQotKG9yZCBpcyB1bmNoYW5nZWQuKS0uMSBFIC4xNjcoRWFjaCB2KTEwOCA1NzEuMiBSIC4xNjcKLShhcmlhYmxlIGFzc2lnbm1lbnQgaXMgY2hlY2spLS4yNSBGIC4xNjcoZWQgZm9yIHVucXVvdGVkIHRpbGRlLXByZVwyMTR4KQotLS4xIEYgLjE2NyhlcyBpbW1lZGlhdGVseSBmb2xsbyktLjE1IEYgLjE2Nyh3aW5nIGEpLS4yNSBGIEYyKDopMi42NjcgRQotRjAgLjE2NyhvciB0aGUgXDIxNHJzdCkyLjY2NyBGIEYyKD0pMi42NjYgRSBGMCA1LjE2NiguSSlDKG4pLTUuMTY2IEUKLS4yODEodGhlc2UgY2FzZXMsIHRpbGRlIGUpMTA4IDU4My4yIFIgLjI4Mih4cGFuc2lvbiBpcyBhbHNvIHBlcmZvcm1lZC4pCi0tLjE1IEYoQ29uc2VxdWVudGx5KTUuMjgyIEUgMi43ODIoLG8pLS42NSBHIC4yODIKLShuZSBtYXkgdXNlIFwyMTRsZSBuYW1lcyB3aXRoIHRpbGRlcyBpbiBhc3NpZ24tKS0yLjc4MiBGKG1lbnRzIHRvKTEwOAotNTk1LjIgUSBGMyAtLjY2NihQQSkyLjUgRyhUSCktLjE4OSBFIEY0KCwpQSBGMyhNQUlMUCkyLjI1IEUgLS44NTUoQVQpCi0tLjY2NiBHKEgpLjg1NSBFIEY0KCwpQSBGMChhbmQpMi4yNSBFIEYzKENEUCkyLjUgRSAtLjg1NShBVCktLjY2NiBHKEgpCi0uODU1IEUgRjQoLClBIEYwKGFuZCB0aGUgc2hlbGwgYXNzaWducyB0aGUgZSkyLjI1IEUoeHBhbmRlZCB2KS0uMTUgRQotKGFsdWUuKS0uMjUgRSBGMiAtLjEoUGEpODcgNjEyIFMocmFtZXRlciBFeHBhbnNpb24pLjEgRSBGMCAxLjYwNihUaGUgYCkKLTEwOCA2MjQgUiBGMigkKUEgRjAgNC4xMDYoJ2MpQyAxLjYwNihoYXJhY3RlciBpbnRyb2R1Y2VzIHBhcmFtZXRlciBlKQotLTQuMTA2IEYgMS42MDUoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBvciBhcml0aG1ldGljIGUpLS4xNSBGCi00LjEwNSh4cGFuc2lvbi4gVGhlKS0uMTUgRiAuNDA2KHBhcmFtZXRlciBuYW1lIG9yIHN5bWJvbCB0byBiZSBlKTEwOCA2MzYKLVIgLjQwNyh4cGFuZGVkIG1heSBiZSBlbmNsb3NlZCBpbiBicmFjZXMsIHdoaWNoIGFyZSBvcHRpb25hbCBiKS0uMTUgRgotLjQwNyh1dCBzZXJ2KS0uMiBGIDIuOTA3KGV0KS0uMTUgRyAyLjkwNyhvcCktMi45MDcgRyhyby0pLTIuOTA3IEUgLjAzMwotKHRlY3QgdGhlIHYpMTA4IDY0OCBSIC4wMzMoYXJpYWJsZSB0byBiZSBlKS0uMjUgRiAuMDMzCi0oeHBhbmRlZCBmcm9tIGNoYXJhY3RlcnMgaW1tZWRpYXRlbHkgZm9sbG8pLS4xNSBGIC4wMzIKLSh3aW5nIGl0IHdoaWNoIGNvdWxkIGJlIGludGVycHJldGVkIGFzIHBhcnQpLS4yNSBGKG9mIHRoZSBuYW1lLikxMDggNjYwCi1RIDEuMTg5Ci0oV2hlbiBicmFjZXMgYXJlIHVzZWQsIHRoZSBtYXRjaGluZyBlbmRpbmcgYnJhY2UgaXMgdGhlIFwyMTRyc3QgYCkxMDgKLTY3Ni44IFIgRjIofSlBIEYwIDMuNjkoJ24pQyAxLjE5KG90IGVzY2FwZWQgYnkgYSBiYWNrc2xhc2ggb3Igd2l0aGluIGEpCi0tMy42OSBGIDIuMTUocXVvdGVkIHN0cmluZywgYW5kIG5vdCB3aXRoaW4gYW4gZW1iZWRkZWQgYXJpdGhtZXRpYyBlKTEwOAotNjg4LjggUiAyLjE1KHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgb3IgcGFyYW1ldGVyKS0uMTUgRiAtLjE1Ci0oZXgpMTA4IDcwMC44IFMocGFuc2lvbi4pLjE1IEUoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpCi0xMzUuOTY1IEUoMTgpMTg1Ljk1NSBFIDAgQ2cgRVAKKzMuMDM0IEYgLjUxNCh4cGFuc2lvbiBieSktLjE1IEYgRjIoYmFzaCkzLjAxNCBFIEYwKC4pQShHTlUgQmFzaC00LjIpNzIKKzc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDE4KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDE5IDE5CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFKCR7KTEwOCA4NCBRL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKHBhcilBKGFtZXRlciktLjE1IEUgRjAofSlBCi0xLjIwNChUaGUgdikxNDQgOTYgUiAxLjIwNChhbHVlIG9mKS0uMjUgRiBGMShwYXIpMy43MDQgRShhbWV0ZXIpLS4xNSBFCi1GMCAxLjIwNChpcyBzdWJzdGl0dXRlZC4pMy43MDQgRiAxLjIwNChUaGUgYnJhY2VzIGFyZSByZXF1aXJlZCB3aGVuKQotNi4yMDQgRiBGMShwYXIpNC45NTUgRShhbWV0ZXIpLS4xNSBFIEYwIDEuMjA1KGlzIGEgcG9zaXRpb25hbCk0LjQzNSBGCi0uMjY0KHBhcmFtZXRlciB3aXRoIG1vcmUgdGhhbiBvbmUgZGlnaXQsIG9yIHdoZW4pMTQ0IDEwOCBSIEYxKHBhcik0LjAxNAotRShhbWV0ZXIpLS4xNSBFIEYwIC4yNjQoaXMgZm9sbG8pMy40OTQgRiAuMjY0CistLjM1IEUgLjQzNihJZiBzdHJpY3QgY29tcGF0aWJpbGl0eSB3aXRoKTEwOCA4NCBSL0YxIDEwL1RpbWVzLUJvbGRAMCBTRgorKHNoKTIuOTM2IEUgRjAgLjQzNihpcyBkZXNpcmVkLCBzdGFydCkyLjkzNiBGIEYxKGJhc2gpMi45MzYgRSBGMCAuNDM2Cisod2l0aCB0aGUpMi45MzYgRiBGMSgrQikyLjkzNiBFIEYwIC40MzYob3B0aW9uIG9yIGRpc2FibGUgYnJhY2UgZSkyLjkzNgorRiAuNDM3KHhwYW5zaW9uIHdpdGggdGhlKS0uMTUgRiBGMSgrQikxMDggOTYgUSBGMChvcHRpb24gdG8gdGhlKTIuNSBFIEYxCisoc2V0KTIuNSBFIEYwKGNvbW1hbmQgXChzZWUpMi41IEUvRjIgOS9UaW1lcy1Cb2xkQDAgU0YoU0hFTEwgQikyLjUgRQorKFVJTCktLjA5IEUoVElOIENPTU1BTkRTKS0uODI4IEUgRjAoYmVsbykyLjI1IEUod1wpLiktLjI1IEUgRjEgLS4xOChUaSkKKzg3IDExMi44IFMobGRlIEV4cGFuc2lvbikuMTggRSBGMCAxLjA4NyhJZiBhIHcpMTA4IDEyNC44IFIgMS4wODcob3JkIGJlKQorLS4xIEYgMS4wODcoZ2lucyB3aXRoIGFuIHVucXVvdGVkIHRpbGRlIGNoYXJhY3RlciBcKGApLS4xNSBGIEYxKH4pQSBGMAorMS4wODYoJ1wpLCBhbGwgb2YgdGhlIGNoYXJhY3RlcnMgcHJlY2VkaW5nIHRoZSBcMjE0cnN0IHVucXVvdGVkKUIgLjE4NShcCitzbGFzaCBcKG9yIGFsbCBjaGFyYWN0ZXJzLCBpZiB0aGVyZSBpcyBubyB1bnF1b3RlZCBzbGFzaFwpIGFyZSBjb25zaWRlclwKK2VkIGEpMTA4IDEzNi44IFIvRjMgMTAvVGltZXMtSXRhbGljQDAgU0YodGlsZGUtcHIpMi42ODUgRShlXDIxNHgpLS4zNyBFCitGMCA1LjE4NSguSSlDIDIuNjg1KGZuKS01LjE4NSBHIC4xODUob25lIG9mIHRoZSBjaGFyYWN0ZXJzKS0yLjY4NSBGIC43MjYKKyhpbiB0aGUgdGlsZGUtcHJlXDIxNHggYXJlIHF1b3RlZCwgdGhlIGNoYXJhY3RlcnMgaW4gdGhlIHRpbGRlLXByZVwyMTR4XAorIGZvbGxvKTEwOCAxNDguOCBSIC43MjUod2luZyB0aGUgdGlsZGUgYXJlIHRyZWF0ZWQgYXMgYSBwb3NzaWJsZSktLjI1IEYKK0YzKGxvKTEwOCAxNjAuOCBRIC41MjIoZ2luIG5hbWUpLS4xIEYgRjAgNS41MjIoLkkpQyAzLjAyMihmdCktNS41MjIgRworLjUyMgorKGhpcyBsb2dpbiBuYW1lIGlzIHRoZSBudWxsIHN0cmluZywgdGhlIHRpbGRlIGlzIHJlcGxhY2VkIHdpdGggdGhlIHYpCistMy4wMjIgRiAuNTIzKGFsdWUgb2YgdGhlIHNoZWxsIHBhcmFtZXRlciktLjI1IEYgRjIoSE9NRSkxMDggMTcyLjggUS9GNAorOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMChJZik0Ljc4NyBFIEYyKEhPTUUpMi43ODcgRSBGMCAuMjg3CisoaXMgdW5zZXQsIHRoZSBob21lIGRpcmVjdG9yeSBvZiB0aGUgdXNlciBlKTIuNTM3IEYgLS4xNSh4ZSktLjE1IEcgLjI4NgorKGN1dGluZyB0aGUgc2hlbGwgaXMgc3Vic3RpdHV0ZWQgaW5zdGVhZC4pLjE1IEYoT3RoZXIpNS4yODYgRSgtKS0uMiBFKHdcCitpc2UsIHRoZSB0aWxkZS1wcmVcMjE0eCBpcyByZXBsYWNlZCB3aXRoIHRoZSBob21lIGRpcmVjdG9yeSBhc3NvY2lhdGVkIFwKK3dpdGggdGhlIHNwZWNpXDIxNGVkIGxvZ2luIG5hbWUuKTEwOCAxODQuOCBRIC4wOTIKKyhJZiB0aGUgdGlsZGUtcHJlXDIxNHggaXMgYSBgfisnLCB0aGUgdikxMDggMjAxLjYgUiAuMDkyCisoYWx1ZSBvZiB0aGUgc2hlbGwgdiktLjI1IEYoYXJpYWJsZSktLjI1IEUgRjIoUFdEKTIuNTkyIEUgRjAgLjA5MgorKHJlcGxhY2VzIHRoZSB0aWxkZS1wcmVcMjE0eC4pMi4zNDIgRiAuMDkzKElmIHRoZSB0aWxkZS1wcmVcMjE0eCBpcykKKzUuMDkzIEYgMy40MDQoYWApMTA4IDIxMy42IFMgLjkwNCh+XDI1NScsIHRoZSB2KS0zLjQwNCBGIC45MDQKKyhhbHVlIG9mIHRoZSBzaGVsbCB2KS0uMjUgRihhcmlhYmxlKS0uMjUgRSBGMihPTERQV0QpMy40MDQgRSBGNCgsKUEgRjAKKy45MDQoaWYgaXQgaXMgc2V0LCBpcyBzdWJzdGl0dXRlZC4pMy4xNTQgRiAuOTAzKElmIHRoZSBjaGFyYWN0ZXJzIGZvbGxvKQorNS45MDMgRiAuOTAzKHdpbmcgdGhlKS0uMjUgRiAxLjY0MQorKHRpbGRlIGluIHRoZSB0aWxkZS1wcmVcMjE0eCBjb25zaXN0IG9mIGEgbnVtYmVyKTEwOCAyMjUuNiBSIEYzKE4pNC4xNDEKK0UgRjAgNC4xNDIoLG8pQyAxLjY0MihwdGlvbmFsbHkgcHJlXDIxNHgpLTQuMTQyIEYgMS42NDIKKyhlZCBieSBhIGArJyBvciBhIGBcMjU1JywgdGhlIHRpbGRlLXByZVwyMTR4IGlzKS0uMTUgRiAxLjQzOChyZXBsYWNlZCB3XAoraXRoIHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnQgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLCBhcyBpdCB3KTEwOAorMjM3LjYgUiAxLjQzNyhvdWxkIGJlIGRpc3BsYXllZCBieSB0aGUpLS4xIEYgRjEoZGlycykzLjkzNyBFIEYwIC0uMihidSkKKzEwOCAyNDkuNiBTIC40NTQoaWx0aW4gaW4pLjIgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi45NTQoZHcpLjEgRworLjQ1NChpdGggdGhlIHRpbGRlLXByZVwyMTR4IGFzIGFuIGFyKS0yLjk1NCBGIDIuOTU0KGd1bWVudC4gSWYpLS4xOCBGCisuNDU0KHRoZSBjaGFyYWN0ZXJzIGZvbGxvKTIuOTU0IEYgLjQ1NQorKHdpbmcgdGhlIHRpbGRlIGluIHRoZSB0aWxkZS1wcmVcMjE0eCktLjI1IEYKKyhjb25zaXN0IG9mIGEgbnVtYmVyIHdpdGhvdXQgYSBsZWFkaW5nIGArJyBvciBgXDI1NScsIGArJyBpcyBhc3N1bWVkLikKKzEwOCAyNjEuNiBRKElmIHRoZSBsb2dpbiBuYW1lIGlzIGluKTEwOCAyNzguNCBRIC0uMjUodmEpLS40IEcKKyhsaWQsIG9yIHRoZSB0aWxkZSBlKS4yNSBFKHhwYW5zaW9uIGYpLS4xNSBFKGFpbHMsIHRoZSB3KS0uMSBFCisob3JkIGlzIHVuY2hhbmdlZC4pLS4xIEUgLjE2NyhFYWNoIHYpMTA4IDI5NS4yIFIgLjE2NworKGFyaWFibGUgYXNzaWdubWVudCBpcyBjaGVjayktLjI1IEYgLjE2NyhlZCBmb3IgdW5xdW90ZWQgdGlsZGUtcHJlXDIxNHgpCistLjEgRiAuMTY3KGVzIGltbWVkaWF0ZWx5IGZvbGxvKS0uMTUgRiAuMTY3KHdpbmcgYSktLjI1IEYgRjEoOikyLjY2NyBFCitGMCAuMTY3KG9yIHRoZSBcMjE0cnN0KTIuNjY3IEYgRjEoPSkyLjY2NiBFIEYwIDUuMTY2KC5JKUMobiktNS4xNjYgRQorLjI4MSh0aGVzZSBjYXNlcywgdGlsZGUgZSkxMDggMzA3LjIgUiAuMjgyKHhwYW5zaW9uIGlzIGFsc28gcGVyZm9ybWVkLikKKy0uMTUgRihDb25zZXF1ZW50bHkpNS4yODIgRSAyLjc4MigsbyktLjY1IEcgLjI4MgorKG5lIG1heSB1c2UgXDIxNGxlIG5hbWVzIHdpdGggdGlsZGVzIGluIGFzc2lnbi0pLTIuNzgyIEYobWVudHMgdG8pMTA4CiszMTkuMiBRIEYyIC0uNjY2KFBBKTIuNSBHKFRIKS0uMTg5IEUgRjQoLClBIEYyKE1BSUxQKTIuMjUgRSAtLjg1NShBVCkKKy0uNjY2IEcoSCkuODU1IEUgRjQoLClBIEYwKGFuZCkyLjI1IEUgRjIoQ0RQKTIuNSBFIC0uODU1KEFUKS0uNjY2IEcoSCkKKy44NTUgRSBGNCgsKUEgRjAoYW5kIHRoZSBzaGVsbCBhc3NpZ25zIHRoZSBlKTIuMjUgRSh4cGFuZGVkIHYpLS4xNSBFCisoYWx1ZS4pLS4yNSBFIEYxIC0uMShQYSk4NyAzMzYgUyhyYW1ldGVyIEV4cGFuc2lvbikuMSBFIEYwIDEuNjA2KFRoZSBgKQorMTA4IDM0OCBSIEYxKCQpQSBGMCA0LjEwNignYylDIDEuNjA2KGhhcmFjdGVyIGludHJvZHVjZXMgcGFyYW1ldGVyIGUpCistNC4xMDYgRiAxLjYwNSh4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGl0dXRpb24sIG9yIGFyaXRobWV0aWMgZSktLjE1IEYKKzQuMTA1KHhwYW5zaW9uLiBUaGUpLS4xNSBGIC40MDYocGFyYW1ldGVyIG5hbWUgb3Igc3ltYm9sIHRvIGJlIGUpMTA4IDM2MAorUiAuNDA3KHhwYW5kZWQgbWF5IGJlIGVuY2xvc2VkIGluIGJyYWNlcywgd2hpY2ggYXJlIG9wdGlvbmFsIGIpLS4xNSBGCisuNDA3KHV0IHNlcnYpLS4yIEYgMi45MDcoZXQpLS4xNSBHIDIuOTA3KG9wKS0yLjkwNyBHKHJvLSktMi45MDcgRSAuMDMzCisodGVjdCB0aGUgdikxMDggMzcyIFIgLjAzMyhhcmlhYmxlIHRvIGJlIGUpLS4yNSBGIC4wMzMKKyh4cGFuZGVkIGZyb20gY2hhcmFjdGVycyBpbW1lZGlhdGVseSBmb2xsbyktLjE1IEYgLjAzMgorKHdpbmcgaXQgd2hpY2ggY291bGQgYmUgaW50ZXJwcmV0ZWQgYXMgcGFydCktLjI1IEYob2YgdGhlIG5hbWUuKTEwOCAzODQKK1EgMS4xODkKKyhXaGVuIGJyYWNlcyBhcmUgdXNlZCwgdGhlIG1hdGNoaW5nIGVuZGluZyBicmFjZSBpcyB0aGUgXDIxNHJzdCBgKTEwOAorNDAwLjggUiBGMSh9KUEgRjAgMy42OSgnbilDIDEuMTkob3QgZXNjYXBlZCBieSBhIGJhY2tzbGFzaCBvciB3aXRoaW4gYSkKKy0zLjY5IEYgMi4xNShxdW90ZWQgc3RyaW5nLCBhbmQgbm90IHdpdGhpbiBhbiBlbWJlZGRlZCBhcml0aG1ldGljIGUpMTA4Cis0MTIuOCBSIDIuMTUoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBvciBwYXJhbWV0ZXIpLS4xNSBGIC0uMTUKKyhleCkxMDggNDI0LjggUyhwYW5zaW9uLikuMTUgRSgkeykxMDggNDQxLjYgUSBGMyhwYXIpQShhbWV0ZXIpLS4xNSBFIEYwCisofSlBIDEuMjA0KFRoZSB2KTE0NCA0NTMuNiBSIDEuMjA0KGFsdWUgb2YpLS4yNSBGIEYzKHBhcikzLjcwNCBFKGFtZXRlcikKKy0uMTUgRSBGMCAxLjIwNChpcyBzdWJzdGl0dXRlZC4pMy43MDQgRiAxLjIwNAorKFRoZSBicmFjZXMgYXJlIHJlcXVpcmVkIHdoZW4pNi4yMDQgRiBGMyhwYXIpNC45NTUgRShhbWV0ZXIpLS4xNSBFIEYwCisxLjIwNShpcyBhIHBvc2l0aW9uYWwpNC40MzUgRiAuMjY0CisocGFyYW1ldGVyIHdpdGggbW9yZSB0aGFuIG9uZSBkaWdpdCwgb3Igd2hlbikxNDQgNDY1LjYgUiBGMyhwYXIpNC4wMTQgRQorKGFtZXRlciktLjE1IEUgRjAgLjI2NChpcyBmb2xsbykzLjQ5NCBGIC4yNjQKICh3ZWQgYnkgYSBjaGFyYWN0ZXIgd2hpY2ggaXMgbm90IHRvKS0uMjUgRgotKGJlIGludGVycHJldGVkIGFzIHBhcnQgb2YgaXRzIG5hbWUuKTE0NCAxMjAgUSAuNjg1Ci0oSWYgdGhlIFwyMTRyc3QgY2hhcmFjdGVyIG9mKTEwOCAxMzYuOCBSIEYxKHBhcikzLjE4NSBFKGFtZXRlciktLjE1IEUgRjAKLS42ODUoaXMgYW4gZSkzLjE4NSBGIC42ODUoeGNsYW1hdGlvbiBwb2ludCBcKCktLjE1IEYvRjIgMTAvVGltZXMtQm9sZEAwCi1TRighKUEgRjAgLjY4NShcKSwgYSBsZSlCIC0uMTUodmUpLS4yNSBHIDMuMTg2KGxvKS4xNSBHIDMuMTg2KGZ2KS0zLjE4NgotRyAuNjg2KGFyaWFibGUgaW5kaXJlY3Rpb24gaXMgaW50cm9kdWNlZC4pLTMuNDM2IEYgRjIoQmFzaCkxMDggMTQ4LjggUQotRjAgLjEwNih1c2VzIHRoZSB2KTIuNjA2IEYgLjEwNihhbHVlIG9mIHRoZSB2KS0uMjUgRiAuMTA2Ci0oYXJpYWJsZSBmb3JtZWQgZnJvbSB0aGUgcmVzdCBvZiktLjI1IEYgRjEocGFyKTIuNjA2IEUoYW1ldGVyKS0uMTUgRSBGMAorKGJlIGludGVycHJldGVkIGFzIHBhcnQgb2YgaXRzIG5hbWUuKTE0NCA0NzcuNiBRIC42ODUKKyhJZiB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpMTA4IDQ5NC40IFIgRjMocGFyKTMuMTg1IEUoYW1ldGVyKS0uMTUgRSBGMAorLjY4NShpcyBhbiBlKTMuMTg1IEYgLjY4NSh4Y2xhbWF0aW9uIHBvaW50IFwoKS0uMTUgRiBGMSghKUEgRjAgLjY4NQorKFwpLCBhIGxlKUIgLS4xNSh2ZSktLjI1IEcgMy4xODYobG8pLjE1IEcgMy4xODYoZnYpLTMuMTg2IEcgLjY4NgorKGFyaWFibGUgaW5kaXJlY3Rpb24gaXMgaW50cm9kdWNlZC4pLTMuNDM2IEYgRjEoQmFzaCkxMDggNTA2LjQgUSBGMCAuMTA2CisodXNlcyB0aGUgdikyLjYwNiBGIC4xMDYoYWx1ZSBvZiB0aGUgdiktLjI1IEYgLjEwNgorKGFyaWFibGUgZm9ybWVkIGZyb20gdGhlIHJlc3Qgb2YpLS4yNSBGIEYzKHBhcikyLjYwNiBFKGFtZXRlciktLjE1IEUgRjAKIC4xMDYoYXMgdGhlIG5hbWUgb2YgdGhlIHYpMi42MDYgRiAuMTA2KGFyaWFibGU7IHRoaXMgdiktLjI1IEYoYXJpLSktLjI1Ci1FIC4zNTEoYWJsZSBpcyB0aGVuIGUpMTA4IDE2MC44IFIgLjM1MSh4cGFuZGVkIGFuZCB0aGF0IHYpLS4xNSBGIC4zNTIKK0UgLjM1MShhYmxlIGlzIHRoZW4gZSkxMDggNTE4LjQgUiAuMzUxKHhwYW5kZWQgYW5kIHRoYXQgdiktLjE1IEYgLjM1MgogKGFsdWUgaXMgdXNlZCBpbiB0aGUgcmVzdCBvZiB0aGUgc3Vic3RpdHV0aW9uLCByYXRoZXIgdGhhbiB0aGUgdiktLjI1IEYKLS4zNTIoYWx1ZSBvZiktLjI1IEYgRjEocGFyKTIuODUyIEUoYW1lLSktLjE1IEUodGVyKTEwOCAxNzIuOCBRIEYwIDIuNTIKLShpdHNlbGYuIFRoaXMpMi41MiBGIC4wMihpcyBrbm8pMi41MiBGIC4wMih3biBhcyktLjI1IEYgRjEoaW5kaXIpMi41MiBFCisuMzUyKGFsdWUgb2YpLS4yNSBGIEYzKHBhcikyLjg1MiBFKGFtZS0pLS4xNSBFKHRlcikxMDggNTMwLjQgUSBGMCAyLjUyCisoaXRzZWxmLiBUaGlzKTIuNTIgRiAuMDIoaXMga25vKTIuNTIgRiAuMDIod24gYXMpLS4yNSBGIEYzKGluZGlyKTIuNTIgRQogLjAyKGVjdCBlKS0uMzcgRih4cGFuc2lvbiktLjIgRSBGMCA1LjAxOSguVClDIC4wMTkoaGUgZSktNS4wMTkgRiAuMDE5Ci0oeGNlcHRpb25zIHRvIHRoaXMgYXJlIHRoZSBlKS0uMTUgRiAuMDE5KHhwYW5zaW9ucyBvZiAkeyEpLS4xNSBGIEYxKHByKUEKLShlXDIxNHgpLS4zNyBFIEYwIC4wMTkoKn0gYW5kKUIoJHspMTA4IDE4NC44IFEgRjIoISlBIEYxKG5hbWUpQSBGMChbKUEKLUYxKEApQSBGMCAuNzYyKF19IGRlc2NyaWJlZCBiZWxvKUIgNC41NjMgLS42NSh3LiBUKS0uMjUgSCAuNzYzKGhlIGUpLjY1Ci1GIC43NjMoeGNsYW1hdGlvbiBwb2ludCBtdXN0IGltbWVkaWF0ZWx5IGZvbGxvKS0uMTUgRiAzLjI2Myh3dCktLjI1IEcKLS43NjMoaGUgbGVmdCBicmFjZSBpbiBvcmRlciB0byktMy4yNjMgRihpbnRyb2R1Y2UgaW5kaXJlY3Rpb24uKTEwOCAxOTYuOAotUSAuMzM0KEluIGVhY2ggb2YgdGhlIGNhc2VzIGJlbG8pMTA4IDIxMy42IFIgLS42NSh3LCktLjI1IEcgRjEod29yKTMuNDg0Ci1FKGQpLS4zNyBFIEYwIC4zMzQoaXMgc3ViamVjdCB0byB0aWxkZSBlKTIuODM0IEYgLjMzNAorKHhjZXB0aW9ucyB0byB0aGlzIGFyZSB0aGUgZSktLjE1IEYgLjAxOSh4cGFuc2lvbnMgb2YgJHspLS4xNSBGIEYxKCEpQQorRjMocHIpQShlXDIxNHgpLS4zNyBFIEYxKCopQSBGMCAyLjUxOSh9YSlDKG5kKS0yLjUxOSBFKCR7KTEwOCA1NDIuNCBRIEYxCisoISlBIEYzKG5hbWUpQSBGMChbKUEgRjMoQClBIEYwIC43NjIoXX0gZGVzY3JpYmVkIGJlbG8pQiA0LjU2MyAtLjY1Cisody4gVCktLjI1IEggLjc2MyhoZSBlKS42NSBGIC43NjMKKyh4Y2xhbWF0aW9uIHBvaW50IG11c3QgaW1tZWRpYXRlbHkgZm9sbG8pLS4xNSBGIDMuMjYzKHd0KS0uMjUgRyAuNzYzCisoaGUgbGVmdCBicmFjZSBpbiBvcmRlciB0byktMy4yNjMgRihpbnRyb2R1Y2UgaW5kaXJlY3Rpb24uKTEwOCA1NTQuNCBRCisuMzM0KEluIGVhY2ggb2YgdGhlIGNhc2VzIGJlbG8pMTA4IDU3MS4yIFIgLS42NSh3LCktLjI1IEcgRjMod29yKTMuNDg0IEUKKyhkKS0uMzcgRSBGMCAuMzM0KGlzIHN1YmplY3QgdG8gdGlsZGUgZSkyLjgzNCBGIC4zMzQKICh4cGFuc2lvbiwgcGFyYW1ldGVyIGUpLS4xNSBGIC4zMzQoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCktLjE1Ci1GKGFuZCBhcml0aG1ldGljIGUpMTA4IDIyNS42IFEoeHBhbnNpb24uKS0uMTUgRSAuNjk3Ci0oV2hlbiBub3QgcGVyZm9ybWluZyBzdWJzdHJpbmcgZSkxMDggMjQyLjQgUiAuNjk4Ci0oeHBhbnNpb24sIHVzaW5nIHRoZSBmb3JtcyBkb2N1bWVudGVkIGJlbG8pLS4xNSBGIC0uNjUodywpLS4yNSBHIEYyCitGKGFuZCBhcml0aG1ldGljIGUpMTA4IDU4My4yIFEoeHBhbnNpb24uKS0uMTUgRSAuNjk3CisoV2hlbiBub3QgcGVyZm9ybWluZyBzdWJzdHJpbmcgZSkxMDggNjAwIFIgLjY5OAorKHhwYW5zaW9uLCB1c2luZyB0aGUgZm9ybXMgZG9jdW1lbnRlZCBiZWxvKS0uMTUgRiAtLjY1KHcsKS0uMjUgRyBGMQogKGJhc2gpMy44NDggRSBGMCAuNjk4KHRlc3RzIGZvciBhIHBhcmFtZXRlcikzLjE5OCBGCi0odGhhdCBpcyB1bnNldCBvciBudWxsLikxMDggMjU0LjQgUShPbWl0dGluZyB0aGUgY29sb24gcmVzdWx0cyBpbiBhIHRlc1wKLXQgb25seSBmb3IgYSBwYXJhbWV0ZXIgdGhhdCBpcyB1bnNldC4pNSBFKCR7KTEwOCAyNzEuMiBRIEYxKHBhcilBCi0oYW1ldGVyKS0uMTUgRSBGMjwzYWFkPkEgRjEod29yKUEoZCktLjM3IEUgRjAofSlBIEYyIC43MjMoVXNlIERlZmF1bHQgVikKLTE0NCAyODMuMiBSKGFsdWVzKS0uOTIgRSBGMCA1LjcyMyguSSlDKGYpLTUuNzIzIEUgRjEocGFyKTQuNDczIEUoYW1ldGVyKQotLS4xNSBFIEYwIC43MjMoaXMgdW5zZXQgb3IgbnVsbCwgdGhlIGUpMy45NTMgRiAuNzIyKHhwYW5zaW9uIG9mKS0uMTUgRgotRjEod29yKTMuNTYyIEUoZCktLjM3IEUgRjAgLjcyMihpcyBzdWJzdGl0dXRlZC4pMy45OTIgRihPdGhlcik1LjcyMiBFKC0pCi0tLjIgRSh3aXNlLCB0aGUgdikxNDQgMjk1LjIgUShhbHVlIG9mKS0uMjUgRSBGMShwYXIpMy43NSBFKGFtZXRlciktLjE1IEUKLUYwKGlzIHN1YnN0aXR1dGVkLikzLjIzIEUoJHspMTA4IDMwNy4yIFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMig6PSlBCi1GMSh3b3IpQShkKS0uMzcgRSBGMCh9KUEgRjIgMi4wMDQoQXNzaWduIERlZmF1bHQgVikxNDQgMzE5LjIgUihhbHVlcykKLS0uOTIgRSBGMCA3LjAwNCguSSlDKGYpLTcuMDA0IEUgRjEocGFyKTUuNzU0IEUoYW1ldGVyKS0uMTUgRSBGMCAyLjAwNQotKGlzIHVuc2V0IG9yIG51bGwsIHRoZSBlKTUuMjM0IEYgMi4wMDUoeHBhbnNpb24gb2YpLS4xNSBGIEYxKHdvcik0Ljg0NSBFCi0oZCktLjM3IEUgRjAgMi4wMDUoaXMgYXNzaWduZWQgdG8pNS4yNzUgRiBGMShwYXIpMTQ0IDMzMS4yIFEoYW1ldGVyKS0uMTUKLUUgRjAgNS4yNzkoLlQpLjczIEcgLjI3OShoZSB2KS01LjI3OSBGIC4yNzkoYWx1ZSBvZiktLjI1IEYgRjEocGFyKTQuMDI5CisodGhhdCBpcyB1bnNldCBvciBudWxsLikxMDggNjEyIFEoT21pdHRpbmcgdGhlIGNvbG9uIHJlc3VsdHMgaW4gYSB0ZXN0IFwKK29ubHkgZm9yIGEgcGFyYW1ldGVyIHRoYXQgaXMgdW5zZXQuKTUgRSgkeykxMDggNjI4LjggUSBGMyhwYXIpQShhbWV0ZXIpCistLjE1IEUgRjE8M2FhZD5BIEYzKHdvcilBKGQpLS4zNyBFIEYwKH0pQSBGMSAuNzIzKFVzZSBEZWZhdWx0IFYpMTQ0Cis2NDAuOCBSKGFsdWVzKS0uOTIgRSBGMCA1LjcyMyguSSlDKGYpLTUuNzIzIEUgRjMocGFyKTQuNDczIEUoYW1ldGVyKS0uMTUKK0UgRjAgLjcyMyhpcyB1bnNldCBvciBudWxsLCB0aGUgZSkzLjk1MyBGIC43MjIoeHBhbnNpb24gb2YpLS4xNSBGIEYzCisod29yKTMuNTYyIEUoZCktLjM3IEUgRjAgLjcyMihpcyBzdWJzdGl0dXRlZC4pMy45OTIgRihPdGhlcik1LjcyMiBFKC0pCistLjIgRSh3aXNlLCB0aGUgdikxNDQgNjUyLjggUShhbHVlIG9mKS0uMjUgRSBGMyhwYXIpMy43NSBFKGFtZXRlciktLjE1IEUKK0YwKGlzIHN1YnN0aXR1dGVkLikzLjIzIEUoJHspMTA4IDY2NC44IFEgRjMocGFyKUEoYW1ldGVyKS0uMTUgRSBGMSg6PSlBCitGMyh3b3IpQShkKS0uMzcgRSBGMCh9KUEgRjEgMi4wMDQoQXNzaWduIERlZmF1bHQgVikxNDQgNjc2LjggUihhbHVlcykKKy0uOTIgRSBGMCA3LjAwNCguSSlDKGYpLTcuMDA0IEUgRjMocGFyKTUuNzU0IEUoYW1ldGVyKS0uMTUgRSBGMCAyLjAwNQorKGlzIHVuc2V0IG9yIG51bGwsIHRoZSBlKTUuMjM0IEYgMi4wMDUoeHBhbnNpb24gb2YpLS4xNSBGIEYzKHdvcik0Ljg0NSBFCisoZCktLjM3IEUgRjAgMi4wMDUoaXMgYXNzaWduZWQgdG8pNS4yNzUgRiBGMyhwYXIpMTQ0IDY4OC44IFEoYW1ldGVyKS0uMTUKK0UgRjAgNS4yNzkoLlQpLjczIEcgLjI3OShoZSB2KS01LjI3OSBGIC4yNzkoYWx1ZSBvZiktLjI1IEYgRjMocGFyKTQuMDI5CiBFKGFtZXRlciktLjE1IEUgRjAgLjI3OChpcyB0aGVuIHN1YnN0aXR1dGVkLikzLjUwOCBGIC4yNzgKIChQb3NpdGlvbmFsIHBhcmFtZXRlcnMgYW5kIHNwZWNpYWwgcGFyYW0tKTUuMjc4IEYKLShldGVycyBtYXkgbm90IGJlIGFzc2lnbmVkIHRvIGluIHRoaXMgdykxNDQgMzQzLjIgUShheSktLjEgRSguKS0uNjUgRQotKCR7KTEwOCAzNTUuMiBRIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjIoOj8pQSBGMSh3b3IpQShkKS0uMzcgRSBGMCh9KUEKLUYyIC41MzUoRGlzcGxheSBFcnIpMTQ0IDM2Ny4yIFIgLjUzNShvciBpZiBOdWxsIG9yIFVuc2V0KS0uMTggRiBGMCA1LjUzNQotKC5JKUMoZiktNS41MzUgRSBGMShwYXIpNC4yODUgRShhbWV0ZXIpLS4xNSBFIEYwIC41MzUKLShpcyBudWxsIG9yIHVuc2V0LCB0aGUgZSkzLjc2NSBGIC41MzUoeHBhbnNpb24gb2YpLS4xNSBGIEYxKHdvcikzLjAzNSBFCi0oZCktLjM3IEUgRjAgLjUzNShcKG9yIGEgbWVzLSkzLjAzNSBGIC42NjIoc2FnZSB0byB0aGF0IGVmKTE0NCAzNzkuMiBSCi0uNjYyKGZlY3QgaWYpLS4yNSBGIEYxKHdvcikzLjUwMiBFKGQpLS4zNyBFIEYwIC42NjEoaXMgbm90IHByZXNlbnRcKSBpc1wKLSB3cml0dGVuIHRvIHRoZSBzdGFuZGFyZCBlcnJvciBhbmQgdGhlIHNoZWxsLCBpZiBpdCBpcyBub3QpMy45MzIgRgotKGludGVyYWN0aSkxNDQgMzkxLjIgUSAtLjE1KHZlKS0uMjUgRyAyLjUoLGUpLjE1IEcgMi41KHhpdHMuIE90aGVyd2lzZSwpCi0tMi42NSBGKHRoZSB2KTIuNSBFKGFsdWUgb2YpLS4yNSBFIEYxKHBhcikyLjUgRShhbWV0ZXIpLS4xNSBFIEYwCi0oaXMgc3Vic3RpdHV0ZWQuKTIuNSBFKCR7KTEwOCA0MDMuMiBRIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjIoOispQSBGMQotKHdvcilBKGQpLS4zNyBFIEYwKH0pQSBGMiAuNzQ1KFVzZSBBbHRlcikxNDQgNDE1LjIgUiAuNzQ1KG5hdGUgViktLjE1IEYKLShhbHVlKS0uOTIgRSBGMCA1Ljc0NSguSSlDKGYpLTUuNzQ1IEUgRjEocGFyKTQuNDk1IEUoYW1ldGVyKS0uMTUgRSBGMAotLjc0NShpcyBudWxsIG9yIHVuc2V0LCBub3RoaW5nIGlzIHN1YnN0aXR1dGVkLCBvdGhlcndpc2UgdGhlIGUpMy45NzUgRgotKHhwYW4tKS0uMTUgRShzaW9uIG9mKTE0NCA0MjcuMiBRIEYxKHdvcikyLjg0IEUoZCktLjM3IEUgRjAKLShpcyBzdWJzdGl0dXRlZC4pMy4yNyBFKCR7KTEwOCA0MzkuMiBRIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjIoOilBIEYxCi0ob2YpQShmc2V0KS0uMTggRSBGMCh9KUEoJHspMTA4IDQ1MS4yIFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMig6KUEgRjEKLShvZilBKGZzZXQpLS4xOCBFIEYyKDopQSBGMShsZW5ndGgpQSBGMCh9KUEgRjIgLjc5NwotKFN1YnN0cmluZyBFeHBhbnNpb24uKTE0NCA0NjMuMiBSIEYwIC43OTYoRXhwYW5kcyB0byB1cCB0byk1Ljc5NyBGIEYxCi0obGVuZ3RoKTMuMjk2IEUgRjAgLjc5NihjaGFyYWN0ZXJzIG9mKTMuMjk2IEYgRjEocGFyKTMuMjk2IEUoYW1ldGVyKS0uMTUKLUUgRjAgLjc5NihzdGFydGluZyBhdCB0aGUgY2hhcmFjdGVyKTMuMjk2IEYgLjIyOChzcGVjaVwyMTRlZCBieSkxNDQKLTQ3NS4yIFIgRjEob2YpMi43MjggRShmc2V0KS0uMTggRSBGMCA1LjIyOCguSSlDKGYpLTUuMjI4IEUgRjEobGVuZ3RoKQotMi43MjggRSBGMCAuMjI5KGlzIG9taXR0ZWQsIGUpMi43MjkgRiAuMjI5KHhwYW5kcyB0byB0aGUgc3Vic3RyaW5nIG9mKQotLS4xNSBGIEYxKHBhcikyLjcyOSBFKGFtZXRlciktLjE1IEUgRjAgLjIyOShzdGFydGluZyBhdCB0aGUgY2hhcikyLjcyOSBGCi0oLSktLjIgRSAuNDMzKGFjdGVyIHNwZWNpXDIxNGVkIGJ5KTE0NCA0ODcuMiBSIEYxKG9mKTIuOTMzIEUoZnNldCktLjE4IEUKLUYwKC4pQSBGMShsZW5ndGgpNS40MzMgRSBGMChhbmQpMi45MzMgRSBGMShvZikyLjkzMyBFKGZzZXQpLS4xOCBFIEYwCi0uNDMzKGFyZSBhcml0aG1ldGljIGUpMi45MzMgRiAuNDMzKHhwcmVzc2lvbnMgXChzZWUpLS4xNSBGL0YzIDkKLS9UaW1lcy1Cb2xkQDAgU0YgLjQzMihBUklUSE1FVElDIEVWKTIuOTMzIEYoQUxVLSktMS4yMTUgRSAtLjg1NShBVCkxNDQKLTQ5OS4yIFMoSU9OKS44NTUgRSBGMChiZWxvKTIuNTc2IEUod1wpLiktLjI1IEUgRjEobGVuZ3RoKTUuMzI2IEUgRjAgLjMyNgotKG11c3QgZSkyLjgyNiBGIC0uMjUodmEpLS4yNSBHIC4zMjYKLShsdWF0ZSB0byBhIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gemVyby4pLjI1IEYoSWYpNS4zMjcgRSBGMQotKG9mKTIuODI3IEUoZnNldCktLjE4IEUgRjAgLS4yNShldmEpMi44MjcgRyhsdWF0ZXMpLjI1IEUgLjAxNgotKHRvIGEgbnVtYmVyIGxlc3MgdGhhbiB6ZXJvLCB0aGUgdikxNDQgNTExLjIgUiAuMDE1Ci0oYWx1ZSBpcyB1c2VkIGFzIGFuIG9mKS0uMjUgRiAuMDE1KGZzZXQgZnJvbSB0aGUgZW5kIG9mIHRoZSB2KS0uMjUgRgotLjAxNShhbHVlIG9mKS0uMjUgRiBGMShwYXIpMi41MTUgRShhbWV0ZXIpLS4xNSBFIEYwIDUuMDE1KC5JKUMoZiktNS4wMTUKLUUgRjEocGFyKTE0NCA1MjMuMiBRKGFtZXRlciktLjE1IEUgRjAoaXMpMy4yNSBFIEYyKEApMy4yNSBFIEYwIDMuMjUoLHQpQwotLjc1KGhlIHJlc3VsdCBpcyktMy4yNSBGIEYxKGxlbmd0aCkzLjI1IEUgRjAgLjc1Ci0ocG9zaXRpb25hbCBwYXJhbWV0ZXJzIGJlKTMuMjUgRiAuNzUoZ2lubmluZyBhdCktLjE1IEYgRjEob2YpMy4yNSBFCi0oZnNldCktLjE4IEUgRjAgNS43NSguSSlDKGYpLTUuNzUgRSBGMShwYXIpMy4yNSBFKGFtZXRlciktLjE1IEUgRjAgLjc1Ci0oaXMgYW4pMy4yNSBGKGluZGUpMTQ0IDUzNS4yIFEgLS4xNSh4ZSktLjE1IEcgMi43MDIoZGEpLjE1IEcgLjIwMQotKHJyYXkgbmFtZSBzdWJzY3JpcHRlZCBieSBAIG9yICosIHRoZSByZXN1bHQgaXMgdGhlKS0yLjcwMiBGIEYxKGxlbmd0aCkKLTIuNzAxIEUgRjAgLjIwMShtZW1iZXJzIG9mIHRoZSBhcnJheSBiZSkyLjcwMSBGKGdpbm5pbmcpLS4xNSBFIDEuMjgyCi0od2l0aCAkeykxNDQgNTQ3LjIgUiBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYwKFspQSBGMShvZilBKGZzZXQpLS4xOCBFCi1GMCAzLjc4MihdfS4gQSlCKG5lKTMuNzgyIEUgLS4wNShnYSktLjE1IEcodGkpLjA1IEUgLS4xNSh2ZSktLjI1IEcgRjEKLShvZikzLjkzMiBFKGZzZXQpLS4xOCBFIEYwIDEuMjgyKGlzIHRhaykzLjc4MiBGIDEuMjgyKGVuIHJlbGF0aSktLjEgRgotMS41ODIgLS4xNSh2ZSB0KS0uMjUgSCAzLjc4MihvbykuMTUgRyAxLjI4MyhuZSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0pCi0tMy43ODIgRihpbmRlKTE0NCA1NTkuMiBRIDMuNDM1KHhvKS0uMTUgRyAzLjQzNShmdCktMy40MzUgRyAuOTM1Ci0oaGUgc3BlY2lcMjE0ZWQgYXJyYXkpLTMuNDM1IEYgNS45MzUoLlMpLS42NSBHIC45MzUodWJzdHJpbmcgZSktNS45MzUgRgotLjkzNSh4cGFuc2lvbiBhcHBsaWVkIHRvIGFuIGFzc29jaWF0aSktLjE1IEYgMS4yMzQgLS4xNSh2ZSBhKS0uMjUgSCAuOTM0Ci0ocnJheSBwcm9kdWNlcyB1bmRlLSkuMTUgRiAuMjYxKFwyMTRuZWQgcmVzdWx0cy4pMTQ0IDU3MS4yIFIgLjI2MQotKE5vdGUgdGhhdCBhIG5lKTUuMjYxIEYgLS4wNShnYSktLjE1IEcodGkpLjA1IEUgLjU2MSAtLjE1KHZlIG8pLS4yNSBICi0tLjI1KGZmKS4xNSBHIC4yNjEKLShzZXQgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgY29sb24gYnkgYXQgbGVhc3Qgb25lIHNwYWNlIHRvKS4yNSBGIC0uMgotKGF2bykxNDQgNTgzLjIgUyAuMTU1KGlkIGJlaW5nIGNvbmZ1c2VkIHdpdGggdGhlIDotIGUpLjIgRiAyLjY1NQotKHhwYW5zaW9uLiBTdWJzdHJpbmcpLS4xNSBGKGluZGUpMi42NTUgRSAuMTU0Ci0oeGluZyBpcyB6ZXJvLWJhc2VkIHVubGVzcyB0aGUgcG9zaXRpb25hbCktLjE1IEYgLjUzMgotKHBhcmFtZXRlcnMgYXJlIHVzZWQsIGluIHdoaWNoIGNhc2UgdGhlIGluZGUpMTQ0IDU5NS4yIFIgLjUzMgotKHhpbmcgc3RhcnRzIGF0IDEgYnkgZGVmKS0uMTUgRiAzLjAzMihhdWx0LiBJZiktLjEgRiBGMShvZikzLjAzMiBFKGZzZXQpCi0tLjE4IEUgRjAgLjUzMihpcyAwLCBhbmQgdGhlIHBvc2ktKTMuMDMyIEYodGlvbmFsIHBhcmFtZXRlcnMgYXJlIHVzZWQsKQotMTQ0IDYwNy4yIFEgRjIoJDApMi41IEUgRjAoaXMgcHJlXDIxNHgpMi41IEUoZWQgdG8gdGhlIGxpc3QuKS0uMTUgRSgkeykKLTEwOCA2MjQgUSBGMighKUEgRjEocHIpQShlXDIxNHgpLS4zNyBFIEYyKCopQSBGMCh9KUEoJHspMTA4IDYzNiBRIEYyKCEpQQotRjEocHIpQShlXDIxNHgpLS4zNyBFIEYyKEApQSBGMCh9KUEgRjIgLjA4NShOYW1lcyBtYXRjaGluZyBwcikxNDQgNjQ4IFIKLShlXDIxNHguKS0uMTggRSBGMCAuMDg0KEV4cGFuZHMgdG8gdGhlIG5hbWVzIG9mIHYpNS4wODUgRiAuMDg0Ci0oYXJpYWJsZXMgd2hvc2UgbmFtZXMgYmUpLS4yNSBGIC4wODQoZ2luIHdpdGgpLS4xNSBGIEYxKHByKTIuNTg0IEUKLShlXDIxNHgpLS4zNyBFIEYwIDIuNTg0KCxzKUMoZXBhLSktMi41ODQgRSAuMjU3Ci0ocmF0ZWQgYnkgdGhlIFwyMTRyc3QgY2hhcmFjdGVyIG9mIHRoZSkxNDQgNjYwIFIgRjMoSUZTKTIuNzU3IEUgRjAgLjI1NwotKHNwZWNpYWwgdikyLjUwNyBGIDIuNzU3KGFyaWFibGUuIFdoZW4pLS4yNSBGIEYxKEApMi43NTggRSBGMCAuMjU4Ci0oaXMgdXNlZCBhbmQgdGhlIGUpMi43NTggRiAuMjU4KHhwYW5zaW9uIGFwcGVhcnMpLS4xNSBGCi0od2l0aGluIGRvdWJsZSBxdW90ZXMsIGVhY2ggdikxNDQgNjcyIFEoYXJpYWJsZSBuYW1lIGUpLS4yNSBFCi0oeHBhbmRzIHRvIGEgc2VwYXJhdGUgdyktLjE1IEUob3JkLiktLjEgRSgkeykxMDggNjg4LjggUSBGMighKUEgRjEobmFtZSkKLUEgRjAoWylBIEYxKEApQSBGMChdfSlBKCR7KTEwOCA3MDAuOCBRIEYyKCEpQSBGMShuYW1lKUEgRjAoWylBIEYxKCopQSBGMAotKF19KUEgRjIgMi4wMzYoTGlzdCBvZiBhcnJheSBrKTE0NCA3MTIuOCBSKGV5cy4pLS4xIEUgRjAoSWYpNy4wMzYgRSBGMQotKG5hbWUpNC41MzYgRSBGMCAyLjAzNihpcyBhbiBhcnJheSB2KTQuNTM2IEYgMi4wMzYoYXJpYWJsZSwgZSktLjI1IEYKLTIuMDM2KHhwYW5kcyB0byB0aGUgbGlzdCBvZiBhcnJheSBpbmRpY2VzIFwoayktLjE1IEYgLS4xNShleSktLjEgRyhzXCkpCi0uMTUgRSAuNTk1KGFzc2lnbmVkIGluKTE0NCA3MjQuOCBSIEYxKG5hbWUpMy4wOTUgRSBGMCA1LjU5NSguSSlDKGYpCi0tNS41OTUgRSBGMShuYW1lKTMuMDk1IEUgRjAgLjU5NShpcyBub3QgYW4gYXJyYXkpMy4wOTUgRiAzLjA5NSgsZSktLjY1IEcKLS41OTUoeHBhbmRzIHRvIDAgaWYpLTMuMjQ1IEYgRjEobmFtZSkzLjA5NSBFIEYwIC41OTYKLShpcyBzZXQgYW5kIG51bGwgb3RoZXJ3aXNlLikzLjA5NSBGKFdoZW4pNS41OTYgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEKLSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgxOSkxODUuOTU1IEUgMCBDZyBFUAorKGV0ZXJzIG1heSBub3QgYmUgYXNzaWduZWQgdG8gaW4gdGhpcyB3KTE0NCA3MDAuOCBRKGF5KS0uMSBFKC4pLS42NSBFCisoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDE5KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDIwIDIwCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKEApMTQ0IDg0IFEgRjAoaXMgdXNlZCBhbmQgdGhlIGUpMi41IEUKLSh4cGFuc2lvbiBhcHBlYXJzIHdpdGhpbiBkb3VibGUgcXVvdGVzLCBlYWNoIGspLS4xNSBFIC4zIC0uMTUoZXkgZXgpLS4xCi1IKHBhbmRzIHRvIGEgc2VwYXJhdGUgdykuMTUgRShvcmQuKS0uMSBFKCR7KTEwOCAxMDAuOCBRL0YyIDEwCi0vVGltZXMtQm9sZEAwIFNGKCMpQSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYwKH0pQSBGMiAtLjEoUGEpMTQ0IDExMi44IFMKLS40NzEocmFtZXRlciBsZW5ndGguKS4xIEYgRjAgLjQ3MShUaGUgbGVuZ3RoIGluIGNoYXJhY3RlcnMgb2YgdGhlIHYpCi01LjQ3MSBGIC40NzEoYWx1ZSBvZiktLjI1IEYgRjEocGFyKTIuOTcxIEUoYW1ldGVyKS0uMTUgRSBGMCAuNDcKLShpcyBzdWJzdGl0dXRlZC4pMi45NyBGKElmKTUuNDcgRSBGMShwYXIpNC4yMiBFKGFtZS0pLS4xNSBFKHRlcikxNDQKLTEyNC44IFEgRjAoaXMpNC40MzggRSBGMigqKTMuNzA4IEUgRjAob3IpMy43MDggRSBGMihAKTMuNzA4IEUgRjAgMy43MDgKLSgsdClDIDEuMjA4KGhlIHYpLTMuNzA4IEYgMS4yMDgKKy0uMzUgRSgkeykxMDggODQgUS9GMSAxMC9UaW1lcy1JdGFsaWNAMCBTRihwYXIpQShhbWV0ZXIpLS4xNSBFL0YyIDEwCisvVGltZXMtQm9sZEAwIFNGKDo/KUEgRjEod29yKUEoZCktLjM3IEUgRjAofSlBIEYyIC41MzUoRGlzcGxheSBFcnIpMTQ0Cis5NiBSIC41MzUob3IgaWYgTnVsbCBvciBVbnNldCktLjE4IEYgRjAgNS41MzUoLkkpQyhmKS01LjUzNSBFIEYxKHBhcikKKzQuMjg1IEUoYW1ldGVyKS0uMTUgRSBGMCAuNTM1KGlzIG51bGwgb3IgdW5zZXQsIHRoZSBlKTMuNzY1IEYgLjUzNQorKHhwYW5zaW9uIG9mKS0uMTUgRiBGMSh3b3IpMy4wMzUgRShkKS0uMzcgRSBGMCAuNTM1KFwob3IgYSBtZXMtKTMuMDM1IEYKKy42NjIoc2FnZSB0byB0aGF0IGVmKTE0NCAxMDggUiAuNjYyKGZlY3QgaWYpLS4yNSBGIEYxKHdvcikzLjUwMiBFKGQpLS4zNworRSBGMCAuNjYxKGlzIG5vdCBwcmVzZW50XCkgaXMgd3JpdHRlbiB0byB0aGUgc3RhbmRhcmQgZXJyb3IgYW5kIHRoZSBzaGVcCitsbCwgaWYgaXQgaXMgbm90KTMuOTMyIEYoaW50ZXJhY3RpKTE0NCAxMjAgUSAtLjE1KHZlKS0uMjUgRyAyLjUoLGUpLjE1IEcKKzIuNSh4aXRzLiBPdGhlcndpc2UsKS0yLjY1IEYodGhlIHYpMi41IEUoYWx1ZSBvZiktLjI1IEUgRjEocGFyKTIuNSBFCisoYW1ldGVyKS0uMTUgRSBGMChpcyBzdWJzdGl0dXRlZC4pMi41IEUoJHspMTA4IDEzMiBRIEYxKHBhcilBKGFtZXRlcikKKy0uMTUgRSBGMig6KylBIEYxKHdvcilBKGQpLS4zNyBFIEYwKH0pQSBGMiAuNzQ1KFVzZSBBbHRlcikxNDQgMTQ0IFIgLjc0NQorKG5hdGUgViktLjE1IEYoYWx1ZSktLjkyIEUgRjAgNS43NDUoLkkpQyhmKS01Ljc0NSBFIEYxKHBhcik0LjQ5NSBFCisoYW1ldGVyKS0uMTUgRSBGMCAuNzQ1CisoaXMgbnVsbCBvciB1bnNldCwgbm90aGluZyBpcyBzdWJzdGl0dXRlZCwgb3RoZXJ3aXNlIHRoZSBlKTMuOTc1IEYKKyh4cGFuLSktLjE1IEUoc2lvbiBvZikxNDQgMTU2IFEgRjEod29yKTIuODQgRShkKS0uMzcgRSBGMAorKGlzIHN1YnN0aXR1dGVkLikzLjI3IEUoJHspMTA4IDE2OCBRIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjIoOilBIEYxCisob2YpQShmc2V0KS0uMTggRSBGMCh9KUEoJHspMTA4IDE4MCBRIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjIoOilBIEYxCisob2YpQShmc2V0KS0uMTggRSBGMig6KUEgRjEobGVuZ3RoKUEgRjAofSlBIEYyIC43OTcoU3Vic3RyaW5nIEV4cGFuc2lvbikKKzE0NCAxOTIgUiBGMCA1Ljc5NyguRSlDIC43OTYoeHBhbmRzIHRvIHVwIHRvKS01Ljc5NyBGIEYxKGxlbmd0aCkzLjI5NiBFCitGMCAuNzk2KGNoYXJhY3RlcnMgb2YpMy4yOTYgRiBGMShwYXIpMy4yOTYgRShhbWV0ZXIpLS4xNSBFIEYwIC43OTYKKyhzdGFydGluZyBhdCB0aGUgY2hhcmFjdGVyKTMuMjk2IEYgLjIyOChzcGVjaVwyMTRlZCBieSkxNDQgMjA0IFIgRjEob2YpCisyLjcyOCBFKGZzZXQpLS4xOCBFIEYwIDUuMjI4KC5JKUMoZiktNS4yMjggRSBGMShsZW5ndGgpMi43MjggRSBGMCAuMjI5CisoaXMgb21pdHRlZCwgZSkyLjcyOSBGIC4yMjkoeHBhbmRzIHRvIHRoZSBzdWJzdHJpbmcgb2YpLS4xNSBGIEYxKHBhcikKKzIuNzI5IEUoYW1ldGVyKS0uMTUgRSBGMCAuMjI5KHN0YXJ0aW5nIGF0IHRoZSBjaGFyKTIuNzI5IEYoLSktLjIgRSAuNDMzCisoYWN0ZXIgc3BlY2lcMjE0ZWQgYnkpMTQ0IDIxNiBSIEYxKG9mKTIuOTMzIEUoZnNldCktLjE4IEUgRjAoLilBIEYxCisobGVuZ3RoKTUuNDMzIEUgRjAoYW5kKTIuOTMzIEUgRjEob2YpMi45MzMgRShmc2V0KS0uMTggRSBGMCAuNDMzCisoYXJlIGFyaXRobWV0aWMgZSkyLjkzMyBGIC40MzMoeHByZXNzaW9ucyBcKHNlZSktLjE1IEYvRjMgOS9UaW1lcy1Cb2xkQDAKK1NGIC40MzIoQVJJVEhNRVRJQyBFVikyLjkzMyBGKEFMVS0pLTEuMjE1IEUgLS44NTUoQVQpMTQ0IDIyOCBTKElPTikuODU1CitFIEYwKGJlbG8pMi45MjUgRSAzLjE3NSh3XCkuIElmKS0uMjUgRiBGMShvZikzLjE3NSBFKGZzZXQpLS4xOCBFIEYwIC0uMjUKKyhldmEpMy4xNzUgRyAuNjc2KGx1YXRlcyB0byBhIG51bWJlciBsZXNzIHRoYW4gemVybywgdGhlIHYpLjI1IEYgLjY3NgorKGFsdWUgaXMgdXNlZCBhcyBhbiBvZiktLjI1IEYgLjY3Nihmc2V0IGZyb20pLS4yNSBGIC4xMDMKKyh0aGUgZW5kIG9mIHRoZSB2KTE0NCAyNDAgUiAuMTAzKGFsdWUgb2YpLS4yNSBGIEYxKHBhcikyLjYwMyBFKGFtZXRlcikKKy0uMTUgRSBGMCA1LjEwMyguSSlDKGYpLTUuMTAzIEUgRjEobGVuZ3RoKTIuNjAzIEUgRjAgLS4yNShldmEpMi42MDMgRworLjEwMyhsdWF0ZXMgdG8gYSBudW1iZXIgbGVzcyB0aGFuIHplcm8sIGFuZCkuMjUgRiBGMShwYXIpMi42MDIgRShhbWV0ZXIpCistLjE1IEUgRjAoaXMpMi42MDIgRShub3QpMTQ0IDI1MiBRIEYyKEApMy42NDIgRSBGMCAxLjE0MgorKGFuZCBub3QgYW4gaW5kZSkzLjY0MiBGIC0uMTUoeGUpLS4xNSBHIDMuNjQyKGRvKS4xNSBHIDMuNjQyKHJhKS0zLjY0MiBHCisoc3NvY2lhdGkpLTMuNjQyIEUgMS40NDMgLS4xNSh2ZSBhKS0uMjUgSChycmF5KS4xNSBFIDMuNjQzKCxpKS0uNjUgRworMy42NDModGkpLTMuNjQzIEcgMy42NDMoc2kpLTMuNjQzIEcgMS4xNDMobnRlcnByZXRlZCBhcyBhbiBvZiktMy42NDMgRgorMS4xNDMoZnNldCBmcm9tIHRoZSBlbmQgb2YgdGhlKS0uMjUgRiAtLjI1KHZhKTE0NCAyNjQgUyAuMDM4KGx1ZSBvZikuMjUKK0YgRjEocGFyKTIuNTM4IEUoYW1ldGVyKS0uMTUgRSBGMCAuMDM3CisocmF0aGVyIHRoYW4gYSBudW1iZXIgb2YgY2hhcmFjdGVycywgYW5kIHRoZSBlKTIuNTM4IEYgLjAzNworKHhwYW5zaW9uIGlzIHRoZSBjaGFyYWN0ZXJzIGJldHdlZW4pLS4xNSBGIC4wNzModGhlIHR3KTE0NCAyNzYgUiAyLjU3MworKG9vKS0uMSBHIC0uMjUoZmYpLTIuNTczIEcgMi41NzMoc2V0cy4gSWYpLjI1IEYgRjEocGFyKTIuNTczIEUoYW1ldGVyKQorLS4xNSBFIEYwKGlzKTIuNTc0IEUgRjIoQCkyLjU3NCBFIEYwIDIuNTc0KCx0KUMgLjA3NChoZSByZXN1bHQgaXMpLTIuNTc0CitGIEYxKGxlbmd0aCkyLjU3NCBFIEYwIC4wNzQocG9zaXRpb25hbCBwYXJhbWV0ZXJzIGJlKTIuNTc0IEYgLjA3NAorKGdpbm5pbmcgYXQpLS4xNSBGIEYxKG9mKTIuNTc0IEUoZnNldCktLjE4IEUgRjAgNS4wNzQoLkkpQyhmKS01LjA3NCBFIEYxCisocGFyKTE0NCAyODggUShhbWV0ZXIpLS4xNSBFIEYwIC4yMDUoaXMgYW4gaW5kZSkyLjcwNSBGIC0uMTUoeGUpLS4xNSBHCisyLjcwNShkYSkuMTUgRyAuMjA1KHJyYXkgbmFtZSBzdWJzY3JpcHRlZCBieSBAIG9yICosIHRoZSByZXN1bHQgaXMgdGhlKQorLTIuNzA1IEYgRjEobGVuZ3RoKTIuNzA1IEUgRjAgLjIwNShtZW1iZXJzIG9mIHRoZSkyLjcwNSBGIC42OTYoYXJyYXkgYmUpCisxNDQgMzAwIFIgLjY5NyhnaW5uaW5nIHdpdGggJHspLS4xNSBGIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjAoWylBIEYxCisob2YpQShmc2V0KS0uMTggRSBGMCAzLjE5NyhdfS4gQSlCKG5lKTMuMTk3IEUgLS4wNShnYSktLjE1IEcodGkpLjA1IEUKKy0uMTUodmUpLS4yNSBHIEYxKG9mKTMuMzQ3IEUoZnNldCktLjE4IEUgRjAgLjY5NyhpcyB0YWspMy4xOTcgRiAuNjk3CisoZW4gcmVsYXRpKS0uMSBGIC45OTcgLS4xNSh2ZSB0KS0uMjUgSCAzLjE5NyhvbykuMTUgRyAuNjk3CisobmUgZ3JlYXRlciB0aGFuKS0zLjE5NyBGIDEuNDA0KHRoZSBtYXhpbXVtIGluZGUpMTQ0IDMxMiBSIDMuOTAzKHhvKS0uMTUKK0cgMy45MDMoZnQpLTMuOTAzIEcgMS40MDMoaGUgc3BlY2lcMjE0ZWQgYXJyYXkpLTMuOTAzIEYgNi40MDMoLlMpLS42NSBHCisxLjQwMyh1YnN0cmluZyBlKS02LjQwMyBGIDEuNDAzKHhwYW5zaW9uIGFwcGxpZWQgdG8gYW4gYXNzb2NpYXRpKS0uMTUgRgorMS43MDMgLS4xNSh2ZSBhKS0uMjUgSChycmF5KS4xNSBFIDEuMjk0KHByb2R1Y2VzIHVuZGVcMjE0bmVkIHJlc3VsdHMuKQorMTQ0IDMyNCBSIDEuMjk0KE5vdGUgdGhhdCBhIG5lKTYuMjk0IEYgLS4wNShnYSktLjE1IEcodGkpLjA1IEUgMS41OTUKKy0uMTUodmUgbyktLjI1IEggLS4yNShmZikuMTUgRyAxLjI5NQorKHNldCBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIHRoZSBjb2xvbiBieSBhdCkuMjUgRiAuOTU5CisobGVhc3Qgb25lIHNwYWNlIHRvIGEpMTQ0IDMzNiBSIC0uMih2byktLjIgRyAuOTU5CisoaWQgYmVpbmcgY29uZnVzZWQgd2l0aCB0aGUgOi0gZSkuMiBGIDMuNDU4KHhwYW5zaW9uLiBTdWJzdHJpbmcpLS4xNSBGCisoaW5kZSkzLjQ1OCBFIC45NTgoeGluZyBpcyB6ZXJvLWJhc2VkKS0uMTUgRiAuNDE0CisodW5sZXNzIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHVzZWQsIGluIHdoaWNoIGNhc2UgdGhlIGluZGUpMTQ0CiszNDggUiAuNDE1KHhpbmcgc3RhcnRzIGF0IDEgYnkgZGVmKS0uMTUgRiAyLjkxNShhdWx0LiBJZiktLjEgRiBGMShvZikKKzIuOTE1IEUoZi0pLS4xOCBFKHNldCkxNDQgMzYwIFEgRjAKKyhpcyAwLCBhbmQgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgdXNlZCwpMi41IEUgRjIoJDApMi41IEUgRjAKKyhpcyBwcmVcMjE0eCkyLjUgRShlZCB0byB0aGUgbGlzdC4pLS4xNSBFKCR7KTEwOCAzNzYuOCBRIEYyKCEpQSBGMShwcilBCisoZVwyMTR4KS0uMzcgRSBGMigqKUEgRjAofSlBKCR7KTEwOCAzODguOCBRIEYyKCEpQSBGMShwcilBKGVcMjE0eCktLjM3IEUKK0YyKEApQSBGMCh9KUEgRjIgLjA4NShOYW1lcyBtYXRjaGluZyBwcikxNDQgNDAwLjggUihlXDIxNHgpLS4xOCBFIEYwCis1LjA4NSguRSlDIC4wODQoeHBhbmRzIHRvIHRoZSBuYW1lcyBvZiB2KS01LjA4NSBGIC4wODQKKyhhcmlhYmxlcyB3aG9zZSBuYW1lcyBiZSktLjI1IEYgLjA4NChnaW4gd2l0aCktLjE1IEYgRjEocHIpMi41ODQgRQorKGVcMjE0eCktLjM3IEUgRjAgMi41ODQoLHMpQyhlcGEtKS0yLjU4NCBFIC4yNTcKKyhyYXRlZCBieSB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YgdGhlKTE0NCA0MTIuOCBSIEYzKElGUykyLjc1NyBFIEYwCisuMjU3KHNwZWNpYWwgdikyLjUwNyBGIDIuNzU3KGFyaWFibGUuIFdoZW4pLS4yNSBGIEYxKEApMi43NTggRSBGMCAuMjU4CisoaXMgdXNlZCBhbmQgdGhlIGUpMi43NTggRiAuMjU4KHhwYW5zaW9uIGFwcGVhcnMpLS4xNSBGCisod2l0aGluIGRvdWJsZSBxdW90ZXMsIGVhY2ggdikxNDQgNDI0LjggUShhcmlhYmxlIG5hbWUgZSktLjI1IEUKKyh4cGFuZHMgdG8gYSBzZXBhcmF0ZSB3KS0uMTUgRShvcmQuKS0uMSBFKCR7KTEwOCA0NDEuNiBRIEYyKCEpQSBGMShuYW1lKQorQSBGMChbKUEgRjEoQClBIEYwKF19KUEoJHspMTA4IDQ1My42IFEgRjIoISlBIEYxKG5hbWUpQSBGMChbKUEgRjEoKilBIEYwCisoXX0pQSBGMiAyLjAzNihMaXN0IG9mIGFycmF5IGspMTQ0IDQ2NS42IFIoZXlzKS0uMSBFIEYwIDcuMDM2KC5JKUMoZikKKy03LjAzNiBFIEYxKG5hbWUpNC41MzYgRSBGMCAyLjAzNihpcyBhbiBhcnJheSB2KTQuNTM2IEYgMi4wMzYKKyhhcmlhYmxlLCBlKS0uMjUgRiAyLjAzNih4cGFuZHMgdG8gdGhlIGxpc3Qgb2YgYXJyYXkgaW5kaWNlcyBcKGspLS4xNSBGCistLjE1KGV5KS0uMSBHKHNcKSkuMTUgRSAuNTk1KGFzc2lnbmVkIGluKTE0NCA0NzcuNiBSIEYxKG5hbWUpMy4wOTUgRSBGMAorNS41OTUoLkkpQyhmKS01LjU5NSBFIEYxKG5hbWUpMy4wOTUgRSBGMCAuNTk1KGlzIG5vdCBhbiBhcnJheSkzLjA5NSBGCiszLjA5NSgsZSktLjY1IEcgLjU5NSh4cGFuZHMgdG8gMCBpZiktMy4yNDUgRiBGMShuYW1lKTMuMDk1IEUgRjAgLjU5NgorKGlzIHNldCBhbmQgbnVsbCBvdGhlcndpc2UuKTMuMDk1IEYoV2hlbik1LjU5NiBFIEYxKEApMTQ0IDQ4OS42IFEgRjAKKyhpcyB1c2VkIGFuZCB0aGUgZSkyLjUgRSh4cGFuc2lvbiBhcHBlYXJzIHdpdGhpbiBkb3VibGUgcXVvdGVzLCBlYWNoIGspCistLjE1IEUgLjMgLS4xNShleSBleCktLjEgSChwYW5kcyB0byBhIHNlcGFyYXRlIHcpLjE1IEUob3JkLiktLjEgRSgkeykxMDgKKzUwNi40IFEgRjIoIylBIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjAofSlBIEYyIC0uMShQYSkxNDQgNTE4LjQgUyAuNDcxCisocmFtZXRlciBsZW5ndGgpLjEgRiBGMCA1LjQ3MSguVClDIC40NzEKKyhoZSBsZW5ndGggaW4gY2hhcmFjdGVycyBvZiB0aGUgdiktNS40NzEgRiAuNDcxKGFsdWUgb2YpLS4yNSBGIEYxKHBhcikKKzIuOTcxIEUoYW1ldGVyKS0uMTUgRSBGMCAuNDcoaXMgc3Vic3RpdHV0ZWQuKTIuOTcgRihJZik1LjQ3IEUgRjEocGFyKQorNC4yMiBFKGFtZS0pLS4xNSBFKHRlcikxNDQgNTMwLjQgUSBGMChpcyk0LjQzOCBFIEYyKCopMy43MDggRSBGMChvcikKKzMuNzA4IEUgRjIoQCkzLjcwOCBFIEYwIDMuNzA4KCx0KUMgMS4yMDgoaGUgdiktMy43MDggRiAxLjIwOAogKGFsdWUgc3Vic3RpdHV0ZWQgaXMgdGhlIG51bWJlciBvZiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuKS0uMjUgRihJZikKIDYuMjA5IEUgRjEocGFyKTQuOTU5IEUoYW1ldGVyKS0uMTUgRSBGMCAxLjIwOShpcyBhbik0LjQzOSBGCi0oYXJyYXkgbmFtZSBzdWJzY3JpcHRlZCBieSkxNDQgMTM2LjggUSBGMigqKTIuNSBFIEYwKG9yKTIuNSBFIEYyKEApMi41IEUKKyhhcnJheSBuYW1lIHN1YnNjcmlwdGVkIGJ5KTE0NCA1NDIuNCBRIEYyKCopMi41IEUgRjAob3IpMi41IEUgRjIoQCkyLjUgRQogRjAgMi41KCx0KUMoaGUgdiktMi41IEUKIChhbHVlIHN1YnN0aXR1dGVkIGlzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIGFycmF5KS0uMjUgRSguKS0uNjUgRQotKCR7KTEwOCAxNTMuNiBRIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjIoIylBIEYxKHdvcilBKGQpLS4zNyBFIEYwKH0pQQotKCR7KTEwOCAxNjUuNiBRIEYxKHBhcilBKGFtZXRlciktLjE1IEUgRjIoIyMpQSBGMSh3b3IpQShkKS0uMzcgRSBGMCh9KUEKLUYyKFJlbW8pMTQ0IDE3Ny42IFEgMS4zOTYgLS4xKHZlIG0pLS4xIEggMS4xOTYoYXRjaGluZyBwcikuMSBGIDEuMTk2Ci0oZVwyMTR4IHBhdHRlciktLjE4IEYobi4pLS4xNSBFIEYwKFRoZSk2LjE5NiBFIEYxKHdvcik0LjAzNiBFKGQpLS4zNyBFCi1GMCAxLjE5NihpcyBlKTQuNDY2IEYgMS4xOTYKKygkeykxMDggNTU5LjIgUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYyKCMpQSBGMSh3b3IpQShkKS0uMzcgRSBGMCh9KUEKKygkeykxMDggNTcxLjIgUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYyKCMjKUEgRjEod29yKUEoZCktLjM3IEUgRjAofSlBCitGMihSZW1vKTE0NCA1ODMuMiBRIDEuMzk2IC0uMSh2ZSBtKS0uMSBIIDEuMTk2KGF0Y2hpbmcgcHIpLjEgRiAxLjE5NgorKGVcMjE0eCBwYXR0ZXIpLS4xOCBGKG4pLS4xNSBFIEYwIDYuMTk2KC5UKUMoaGUpLTYuMTk2IEUgRjEod29yKTQuMDM2IEUKKyhkKS0uMzcgRSBGMCAxLjE5NihpcyBlKTQuNDY2IEYgMS4xOTYKICh4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4gcGF0aC0pLS4xNSBGIC4xNTEobmFtZSBlKTE0NAotMTg5LjYgUiAyLjY1MSh4cGFuc2lvbi4gSWYpLS4xNSBGIC4xNTIodGhlIHBhdHRlcm4gbWF0Y2hlcyB0aGUgYmUpMi42NTIKKzU5NS4yIFIgMi42NTEoeHBhbnNpb24uIElmKS0uMTUgRiAuMTUyKHRoZSBwYXR0ZXJuIG1hdGNoZXMgdGhlIGJlKTIuNjUyCiBGIC4xNTIoZ2lubmluZyBvZiB0aGUgdiktLjE1IEYgLjE1MihhbHVlIG9mKS0uMjUgRiBGMShwYXIpMi42NTIgRQogKGFtZXRlciktLjE1IEUgRjAgMi42NTIoLHQpLjczIEcgLjE1MihoZW4gdGhlIHJlc3VsdCBvZiktMi42NTIgRiAxLjQKLSh0aGUgZSkxNDQgMjAxLjYgUiAxLjQoeHBhbnNpb24gaXMgdGhlIGUpLS4xNSBGIDEuNCh4cGFuZGVkIHYpLS4xNSBGIDEuNAorKHRoZSBlKTE0NCA2MDcuMiBSIDEuNCh4cGFuc2lvbiBpcyB0aGUgZSktLjE1IEYgMS40KHhwYW5kZWQgdiktLjE1IEYgMS40CiAoYWx1ZSBvZiktLjI1IEYgRjEocGFyKTUuMTUgRShhbWV0ZXIpLS4xNSBFIEYwIDEuNAogKHdpdGggdGhlIHNob3J0ZXN0IG1hdGNoaW5nIHBhdHRlcm4gXCh0aGUgYCk0LjYzIEYoYCktLjc0IEUgRjIoIylBIEYwCi0tLjc0KCcnKUMgLjI4MShjYXNlXCkgb3IgdGhlIGxvbmdlc3QgbWF0Y2hpbmcgcGF0dGVybiBcKHRoZSBgKTE0NCAyMTMuNgorLS43NCgnJylDIC4yODEoY2FzZVwpIG9yIHRoZSBsb25nZXN0IG1hdGNoaW5nIHBhdHRlcm4gXCh0aGUgYCkxNDQgNjE5LjIKIFIoYCktLjc0IEUgRjIoIyMpQSBGMCAxLjc2MSAtLjc0KCcnIGMpRCAuMjgxKGFzZVwpIGRlbGV0ZWQuKS43NCBGKElmKQogNS4yODEgRSBGMShwYXIpNC4wMzEgRShhbWV0ZXIpLS4xNSBFIEYwKGlzKTMuNTExIEUgRjIoQCkyLjc4MSBFIEYwKG9yKQogMi43ODEgRSBGMigqKTIuNzgyIEUgRjAgMi43ODIoLHQpQyAuMjgyKGhlIHBhdHRlcm4pLTIuNzgyIEYocmVtbykxNDQKLTIyNS42IFEgLS4yNSh2YSktLjE1IEcgMy4yNzQobG8pLjI1IEcgLjc3NAorNjMxLjIgUSAtLjI1KHZhKS0uMTUgRyAzLjI3NChsbykuMjUgRyAuNzc0CiAocGVyYXRpb24gaXMgYXBwbGllZCB0byBlYWNoIHBvc2l0aW9uYWwgcGFyYW1ldGVyIGluIHR1cm4sIGFuZCB0aGUgZSkKLS0zLjI3NCBGIC43NzQoeHBhbnNpb24gaXMgdGhlIHJlc3VsLSktLjE1IEYgLjQwMSh0YW50IGxpc3QuKTE0NCAyMzcuNiBSCistMy4yNzQgRiAuNzc0KHhwYW5zaW9uIGlzIHRoZSByZXN1bC0pLS4xNSBGIC40MDEodGFudCBsaXN0LikxNDQgNjQzLjIgUgogKElmKTUuNDAxIEUgRjEocGFyKTQuMTUxIEUoYW1ldGVyKS0uMTUgRSBGMCAuNDAxKGlzIGFuIGFycmF5IHYpMy42MzEgRgogLjQwMShhcmlhYmxlIHN1YnNjcmlwdGVkIHdpdGgpLS4yNSBGIEYyKEApMi45MDEgRSBGMChvcikyLjkwMSBFIEYyKCopCiAyLjkwMSBFIEYwIDIuOTAyKCx0KUMgLjQwMihoZSBwYXR0ZXJuIHJlbW8pLTIuOTAyIEYgLS4yNSh2YSktLjE1IEcgMi45MDIKIChsbykuMjUgRyhwZXJhdGlvbiktMi45MDIgRQotKGlzIGFwcGxpZWQgdG8gZWFjaCBtZW1iZXIgb2YgdGhlIGFycmF5IGluIHR1cm4sIGFuZCB0aGUgZSkxNDQgMjQ5LjYgUQotKHhwYW5zaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4pLS4xNSBFKCR7KTEwOCAyNjYuNCBRIEYxKHBhcilBKGFtZXRlcikKLS0uMTUgRSBGMiglKUEgRjEod29yKUEoZCktLjM3IEUgRjAofSlBKCR7KTEwOCAyNzguNCBRIEYxKHBhcilBKGFtZXRlcikKLS0uMTUgRSBGMiglJSlBIEYxKHdvcilBKGQpLS4zNyBFIEYwKH0pQSBGMihSZW1vKTE0NCAyOTAuNCBRIC4zNDcgLS4xCi0odmUgbSktLjEgSCAuMTQ3KGF0Y2hpbmcgc3VmXDIxNHggcGF0dGVyKS4xIEYobi4pLS4xNSBFIEYwKFRoZSk1LjE0NyBFCi1GMSh3b3IpMi42NDcgRShkKS0uMzcgRSBGMCAuMTQ3KGlzIGUpMi42NDcgRiAuMTQ2Ci0oeHBhbmRlZCB0byBwcm9kdWNlIGEgcGF0dGVybiBqdXN0IGFzIGluIHBhdGhuYW1lKS0uMTUgRiAtLjE1KGV4KTE0NAotMzAyLjQgUyAzLjA4OChwYW5zaW9uLiBJZikuMTUgRiAuNTg4CisoaXMgYXBwbGllZCB0byBlYWNoIG1lbWJlciBvZiB0aGUgYXJyYXkgaW4gdHVybiwgYW5kIHRoZSBlKTE0NCA2NTUuMiBRCisoeHBhbnNpb24gaXMgdGhlIHJlc3VsdGFudCBsaXN0LiktLjE1IEUoJHspMTA4IDY3MiBRIEYxKHBhcilBKGFtZXRlcikKKy0uMTUgRSBGMiglKUEgRjEod29yKUEoZCktLjM3IEUgRjAofSlBKCR7KTEwOCA2ODQgUSBGMShwYXIpQShhbWV0ZXIpLS4xNQorRSBGMiglJSlBIEYxKHdvcilBKGQpLS4zNyBFIEYwKH0pQSBGMihSZW1vKTE0NCA2OTYgUSAuMzQ3IC0uMSh2ZSBtKS0uMSBICisuMTQ3KGF0Y2hpbmcgc3VmXDIxNHggcGF0dGVyKS4xIEYobiktLjE1IEUgRjAgNS4xNDcoLlQpQyhoZSktNS4xNDcgRSBGMQorKHdvcikyLjY0NyBFKGQpLS4zNyBFIEYwIC4xNDcoaXMgZSkyLjY0NyBGIC4xNDYKKyh4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4gcGF0aG5hbWUpLS4xNSBGIC0uMTUoZXgpMTQ0IDcwOAorUyAzLjA4OChwYW5zaW9uLiBJZikuMTUgRiAuNTg4CiAodGhlIHBhdHRlcm4gbWF0Y2hlcyBhIHRyYWlsaW5nIHBvcnRpb24gb2YgdGhlIGUpMy4wODggRiAuNTg4KHhwYW5kZWQgdikKIC0uMTUgRiAuNTg4KGFsdWUgb2YpLS4yNSBGIEYxKHBhcikzLjA4OCBFKGFtZXRlciktLjE1IEUgRjAgMy4wODgoLHQpLjczCi1HIC41ODgoaGVuIHRoZSktMy4wODggRiAuMjI2KHJlc3VsdCBvZiB0aGUgZSkxNDQgMzE0LjQgUiAuMjI2CitHIC41ODgoaGVuIHRoZSktMy4wODggRiAuMjI2KHJlc3VsdCBvZiB0aGUgZSkxNDQgNzIwIFIgLjIyNgogKHhwYW5zaW9uIGlzIHRoZSBlKS0uMTUgRiAuMjI2KHhwYW5kZWQgdiktLjE1IEYgLjIyNihhbHVlIG9mKS0uMjUgRiBGMQogKHBhcikzLjk3NiBFKGFtZXRlciktLjE1IEUgRjAgLjIyNgotKHdpdGggdGhlIHNob3J0ZXN0IG1hdGNoaW5nIHBhdHRlcm4gXCh0aGUpMy40NTYgRiAtLjc0KGBgKTE0NCAzMjYuNCBTIEYyCi0oJSkuNzQgRSBGMCAxLjUyMSAtLjc0KCcnIGMpRCAuMDQyCi0oYXNlXCkgb3IgdGhlIGxvbmdlc3QgbWF0Y2hpbmcgcGF0dGVybiBcKHRoZSBgKS43NCBGKGApLS43NCBFIEYyKCUlKUEgRjAKLTEuNTIyIC0uNzQoJycgYylEIC4wNDIoYXNlXCkgZGVsZXRlZC4pLjc0IEYoSWYpNS4wNDIgRSBGMShwYXIpMy43OTIgRQotKGFtZXRlciktLjE1IEUgRjAoaXMpMy4yNzIgRSBGMihAKTIuNTQyIEUgRjAob3IpMi41NDIgRSBGMigqKTIuNTQyIEUgRjAKLTIuNTQyKCx0KUMoaGUpLTIuNTQyIEUgLjQ0MShwYXR0ZXJuIHJlbW8pMTQ0IDMzOC40IFIgLS4yNSh2YSktLjE1IEcKLTIuOTQxKGxvKS4yNSBHIC40NDEKLShwZXJhdGlvbiBpcyBhcHBsaWVkIHRvIGVhY2ggcG9zaXRpb25hbCBwYXJhbWV0ZXIgaW4gdHVybiwgYW5kIHRoZSBlKQotLTIuOTQxIEYgLjQ0KHhwYW5zaW9uIGlzIHRoZSktLjE1IEYgLjI0KHJlc3VsdGFudCBsaXN0LikxNDQgMzUwLjQgUihJZikKLTUuMjQgRSBGMShwYXIpMy45OSBFKGFtZXRlciktLjE1IEUgRjAgLjI0KGlzIGFuIGFycmF5IHYpMy40NyBGIC4yNDEKLShhcmlhYmxlIHN1YnNjcmlwdGVkIHdpdGgpLS4yNSBGIEYyKEApMi43NDEgRSBGMChvcikyLjc0MSBFIEYyKCopMi43NDEgRQotRjAgMi43NDEoLHQpQyAuMjQxKGhlIHBhdHRlcm4gcmVtbyktMi43NDEgRiAtLjI1KHZhKS0uMTUgRyAyLjc0MShsbykuMjUKLUcocGVyKS0yLjc0MSBFKC0pLS4yIEUKLShhdGlvbiBpcyBhcHBsaWVkIHRvIGVhY2ggbWVtYmVyIG9mIHRoZSBhcnJheSBpbiB0dXJuLCBhbmQgdGhlIGUpMTQ0Ci0zNjIuNCBRKHhwYW5zaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4pLS4xNSBFKCR7KTEwOCAzNzkuMiBRIEYxKHBhcilBCi0oYW1ldGVyKS0uMTUgRSBGMigvKUEgRjEocGF0dGVybilBIEYyKC8pQSBGMShzdHJpbmcpQSBGMCh9KUEgRjIgLS4xKFBhKQotMTQ0IDM5MS4yIFModHRlcikuMSBFIDMuNjA3KG5zKS0uMTUgRyh1YnN0aXR1dGlvbi4pLTMuNjA3IEUgRjAoVGhlKTYuMTA3Ci1FIEYxKHBhdHRlcm4pMy42MDcgRSBGMCAxLjEwNyhpcyBlKTMuNjA3IEYgMS4xMDYKLSh4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4gcGF0aG5hbWUgZSktLjE1IEYoeHBhbi0pLS4xNSBFCi0oc2lvbi4pMTQ0IDQwMy4yIFEgRjEgLS44KFBhKTYuMDMzIEcgLS4xNShyYSkuOCBHKG1ldGVyKS4xNSBFIEYwIDEuMDMzCi0oaXMgZSkzLjUzMyBGIDEuMDMzKHhwYW5kZWQgYW5kIHRoZSBsb25nZXN0IG1hdGNoIG9mKS0uMTUgRiBGMShwYXR0ZXJuKQotMy41MzMgRSBGMChhZykzLjUzMyBFIDEuMDM0KGFpbnN0IGl0cyB2KS0uMDUgRiAxLjAzNAotKGFsdWUgaXMgcmVwbGFjZWQgd2l0aCktLjI1IEYgRjEoc3RyaW5nKTE0NCA0MTUuMiBRIEYwIDUuMTYxKC5JKUMoZikKLS01LjE2MSBFIEYxKHBhdHRlcm4pMi42NjEgRSBGMChiZSkyLjY2MSBFIC4xNjEoZ2lucyB3aXRoKS0uMTUgRiBGMigvKQotMi42NjEgRSBGMCAyLjY2MSgsYSlDIC4xNjEobGwgbWF0Y2hlcyBvZiktMi42NjEgRiBGMShwYXR0ZXJuKTIuNjYxIEUgRjAKLS4xNihhcmUgcmVwbGFjZWQgd2l0aCkyLjY2MSBGIEYxKHN0cmluZykyLjY2IEUgRjAgNS4xNiguTilDIC4xNgotKG9ybWFsbHkgb25seSB0aGUpLTUuMTYgRiAuODA2KFwyMTRyc3QgbWF0Y2ggaXMgcmVwbGFjZWQuKTE0NCA0MjcuMiBSCi0oSWYpNS44MDYgRSBGMShwYXR0ZXJuKTMuMzA2IEUgRjAoYmUpMy4zMDYgRSAuODA2KGdpbnMgd2l0aCktLjE1IEYgRjIoIykKLTMuMzA2IEUgRjAgMy4zMDYoLGkpQyAzLjMwNyh0bSktMy4zMDYgRyAuODA3KHVzdCBtYXRjaCBhdCB0aGUgYmUpLTMuMzA3Ci1GIC44MDcoZ2lubmluZyBvZiB0aGUgZSktLjE1IEYoeHBhbmRlZCktLjE1IEUgLS4yNSh2YSkxNDQgNDM5LjIgUyAuNjIxCi0obHVlIG9mKS4yNSBGIEYxKHBhcikzLjEyMSBFKGFtZXRlciktLjE1IEUgRjAgNS42MjEoLkkpQyhmKS01LjYyMSBFIEYxCi0ocGF0dGVybikzLjEyMSBFIEYwKGJlKTMuMTIxIEUgLjYyMShnaW5zIHdpdGgpLS4xNSBGIEYyKCUpMy4xMjEgRSBGMAotMy4xMjEoLGkpQyAzLjEyMSh0bSktMy4xMjEgRyAuNjIodXN0IG1hdGNoIGF0IHRoZSBlbmQgb2YgdGhlIGUpLTMuMTIxIEYKLS42Mih4cGFuZGVkIHYpLS4xNSBGIC42MihhbHVlIG9mKS0uMjUgRiBGMShwYXIpMTQ0IDQ1MS4yIFEoYW1ldGVyKS0uMTUgRQotRjAgNi4yNTMoLkkpQyhmKS02LjI1MyBFIEYxKHN0cmluZykzLjc1MyBFIEYwIDEuMjUzKGlzIG51bGwsIG1hdGNoZXMgb2YpCi0zLjc1MyBGIEYxKHBhdHRlcm4pMy43NTMgRSBGMCAxLjI1MyhhcmUgZGVsZXRlZCBhbmQgdGhlKTMuNzUzIEYgRjIoLykKLTMuNzUzIEUgRjAoZm9sbG8pMy43NTMgRSh3aW5nKS0uMjUgRSBGMShwYXR0ZXJuKTMuNzUzIEUgRjAgMS4yNTQobWF5IGJlKQotMy43NTQgRiAyLjY3OShvbWl0dGVkLiBJZikxNDQgNDYzLjIgUiBGMShwYXIpMy45MjkgRShhbWV0ZXIpLS4xNSBFIEYwCi0oaXMpMy40MDkgRSBGMihAKTIuNjc5IEUgRjAob3IpMi42NzkgRSBGMigqKTIuNjc5IEUgRjAgMi42NzkoLHQpQyAuMTc4Ci0oaGUgc3Vic3RpdHV0aW9uIG9wZXJhdGlvbiBpcyBhcHBsaWVkIHRvIGVhY2ggcG9zaXRpb25hbCBwYXJhbWV0ZXIpCi0tMi42NzkgRiAuNjE4KGluIHR1cm4sIGFuZCB0aGUgZSkxNDQgNDc1LjIgUiAuNjE5Ci0oeHBhbnNpb24gaXMgdGhlIHJlc3VsdGFudCBsaXN0LiktLjE1IEYoSWYpNS42MTkgRSBGMShwYXIpNC4zNjkgRQotKGFtZXRlciktLjE1IEUgRjAgLjYxOShpcyBhbiBhcnJheSB2KTMuODQ5IEYgLjYxOQotKGFyaWFibGUgc3Vic2NyaXB0ZWQgd2l0aCktLjI1IEYgRjIoQCkxNDQgNDg3LjIgUSBGMChvcikzLjIyNCBFIEYyKCopCi0zLjIyNCBFIEYwIDMuMjI0KCx0KUMgLjcyMyhoZSBzdWJzdGl0dXRpb24gb3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaFwKLSBtZW1iZXIgb2YgdGhlIGFycmF5IGluIHR1cm4sIGFuZCB0aGUgZSktMy4yMjQgRih4cGFuLSktLjE1IEUKLShzaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4pMTQ0IDQ5OS4yIFEoJHspMTA4IDUxNiBRIEYxKHBhcilBKGFtZXRlcikKLS0uMTUgRSBGMiheKUEgRjEocGF0dGVybilBIEYwKH0pQSgkeykxMDggNTI4IFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMgotKF5eKUEgRjEocGF0dGVybilBIEYwKH0pQSgkeykxMDggNTQwIFEgRjEocGFyKUEoYW1ldGVyKS0uMTUgRSBGMigsKUEgRjEKLShwYXR0ZXJuKUEgRjAofSlBKCR7KTEwOCA1NTIgUSBGMShwYXIpQShhbWV0ZXIpLS4xNSBFIEYyKCwsKUEgRjEKLShwYXR0ZXJuKUEgRjAofSlBIEYyIC40MzcoQ2FzZSBtb2RpXDIxNGNhdGlvbi4pMTQ0IDU2NCBSIEYwIC40MzcoVGhpcyBlKQotNS40MzcgRiAuNDM4KHhwYW5zaW9uIG1vZGlcMjE0ZXMgdGhlIGNhc2Ugb2YgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzIGluKQotLS4xNSBGIEYxKHBhcikyLjkzOCBFKGFtZXRlciktLjE1IEUgRjAgNS40MzgoLlQpQyhoZSktNS40MzggRSBGMQotKHBhdHRlcm4pMTQ0IDU3NiBRIEYwIC44MTQoaXMgZSkzLjMxNCBGIC44MTMKLSh4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4gcGF0aG5hbWUgZSktLjE1IEYgMy4zMTMKLSh4cGFuc2lvbi4gVGhlKS0uMTUgRiBGMiheKTMuMzEzIEUgRjAgLjgxMyhvcGVyYXRvciBjb24pMy4zMTMgRiAtLjE1KHZlKQotLS40IEcocnRzKS4xNSBFKGxvKTE0NCA1ODggUSAuMTgod2VyY2FzZSBsZXR0ZXJzIG1hdGNoaW5nKS0uMjUgRiBGMQotKHBhdHRlcm4pMi42ODEgRSBGMCAuMTgxKHRvIHVwcGVyY2FzZTsgdGhlKTIuNjgxIEYgRjIoLCkyLjY4MSBFIEYwIC4xODEKLShvcGVyYXRvciBjb24pMi42ODEgRiAtLjE1KHZlKS0uNCBHIC4xODEocnRzIG1hdGNoaW5nIHVwcGVyY2FzZSBsZXR0ZXJzKQotLjE1IEYgLjA4NSh0byBsbykxNDQgNjAwIFIgMi41ODUod2VyY2FzZS4gVGhlKS0uMjUgRiBGMiheXikyLjU4NSBFIEYwCi0oYW5kKTIuNTg1IEUgRjIoLCwpMi41ODUgRSBGMCAtLjE1KGV4KTIuNTg1IEcgLjA4NShwYW5zaW9ucyBjb24pLjE1IEYKLS0uMTUodmUpLS40IEcgLjA4NShydCBlYWNoIG1hdGNoZWQgY2hhcmFjdGVyIGluIHRoZSBlKS4xNSBGIC4wODUKLSh4cGFuZGVkIHYpLS4xNSBGIC4wODUoYWx1ZTsgdGhlKS0uMjUgRiBGMiheKTIuNTg1IEUgRjAoYW5kKTE0NCA2MTIgUSBGMgotKCwpMy40MzQgRSBGMCAtLjE1KGV4KTMuNDM0IEcgLjkzNChwYW5zaW9ucyBtYXRjaCBhbmQgY29uKS4xNSBGIC0uMTUodmUpCi0tLjQgRyAuOTM0KHJ0IG9ubHkgdGhlIFwyMTRyc3QgY2hhcmFjdGVyIGluIHRoZSBlKS4xNSBGIC45MzUoeHBhbmRlZCB2KQotLS4xNSBGIDMuNDM1KGFsdWUuLiBJZiktLjI1IEYgRjEocGF0dGVybikzLjQzNSBFIEYwKGlzKTMuNDM1IEUgMS4xMjEKLShvbWl0dGVkLCBpdCBpcyB0cmVhdGVkIGxpaykxNDQgNjI0IFIgMy42MjEoZWEpLS4xIEcgRjIoPylBIEYwIDMuNjIxKCx3KQotQyAxLjEyMShoaWNoIG1hdGNoZXMgZSktMy42MjEgRiAtLjE1KHZlKS0uMjUgRyAxLjEyMShyeSBjaGFyYWN0ZXIpLjE1IEYKLTYuMTIoLkkpLS41NSBHKGYpLTYuMTIgRSBGMShwYXIpNC44NyBFKGFtZXRlciktLjE1IEUgRjAoaXMpNC4zNSBFIEYyKEApCi0zLjYyIEUgRjAob3IpMy42MiBFIEYyKCopMy42MiBFIEYwIDMuNjIoLHQpQyAxLjEyKGhlIGNhc2UpLTMuNjIgRiAxLjMzNQotKG1vZGlcMjE0Y2F0aW9uIG9wZXJhdGlvbiBpcyBhcHBsaWVkIHRvIGVhY2ggcG9zaXRpb25hbCBwYXJhbWV0ZXIgaW4gdHVcCi1ybiwgYW5kIHRoZSBlKTE0NCA2MzYgUiAxLjMzNSh4cGFuc2lvbiBpcyB0aGUpLS4xNSBGIDEuMzA4Ci0ocmVzdWx0YW50IGxpc3QuKTE0NCA2NDggUihJZik2LjMwOCBFIEYxKHBhcik1LjA1OCBFKGFtZXRlciktLjE1IEUgRjAKLTEuMzA4KGlzIGFuIGFycmF5IHYpNC41MzggRiAxLjMwOChhcmlhYmxlIHN1YnNjcmlwdGVkIHdpdGgpLS4yNSBGIEYyKEApCi0zLjgwOCBFIEYwKG9yKTMuODA4IEUgRjIoKikzLjgwOCBFIEYwIDMuODA4KCx0KUMgMS4zMDgKLShoZSBjYXNlIG1vZGlcMjE0Y2F0aW9uKS0zLjgwOCBGCi0ob3BlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaCBtZW1iZXIgb2YgdGhlIGFycmF5IGluIHR1cm4sIGFuZCB0aGUgZSkxNDQKLTY2MCBRKHhwYW5zaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4pLS4xNSBFIEYyKENvbW1hbmQgU3Vic3RpdHV0aW9uKTg3Ci02NzYuOCBRIEYxIDEuNjk3KENvbW1hbmQgc3Vic3RpdHV0aW9uKTEwOCA2ODguOCBSIEYwKGFsbG8pNC4xOTcgRSAxLjY5NwotKHdzIHRoZSBvdXRwdXQgb2YgYSBjb21tYW5kIHRvIHJlcGxhY2UgdGhlIGNvbW1hbmQgbmFtZS4pLS4yNSBGIDEuNjk4Ci0oVGhlcmUgYXJlIHR3KTYuNjk4IEYobyktLjEgRShmb3JtczopMTA4IDcwMC44IFEgRjIoJFwoKTE0NCA3MjIuNCBRIEYxCi0oY29tbWFuZClBIEYyKFwpKTEuNjY2IEUgRjAoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpCi0xMzUuOTY1IEUoMjApMTg1Ljk1NSBFIDAgQ2cgRVAKKyh3aXRoIHRoZSBzaG9ydGVzdCBtYXRjaGluZyBwYXR0ZXJuIFwodGhlKTMuNDU2IEYoR05VIEJhc2gtNC4yKTcyIDc2OCBRCisoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoMjApMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMjEgMjEKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUob3IpMTA4IDg0IFEvRjEgMTAvVGltZXMtQm9sZEAwIFNGPDkyPjE0NCA5NiBRL0YyIDEwCi0vVGltZXMtSXRhbGljQDAgU0YoY29tbWFuZClBIEYxPDkyPkEoQmFzaCkxMDggMTEyLjggUSBGMCAuMDIKLShwZXJmb3JtcyB0aGUgZSkyLjUyIEYgLjAyKHhwYW5zaW9uIGJ5IGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHKGN1dGluZykKLS4xNSBFIEYyKGNvbW1hbmQpMi41MTkgRSBGMCAuMDE5Ci0oYW5kIHJlcGxhY2luZyB0aGUgY29tbWFuZCBzdWJzdGl0dXRpb24gd2l0aCB0aGUgc3Rhbi0pMi41MTkgRiAuNzY4Ci0oZGFyZCBvdXRwdXQgb2YgdGhlIGNvbW1hbmQsIHdpdGggYW4pMTA4IDEyNC44IFIgMy4yNjgoeXQpLS4xNSBHIC43NjgKKy0uMzUgRSAtLjc0KGBgKTE0NCA4NCBTL0YxIDEwL1RpbWVzLUJvbGRAMCBTRiglKS43NCBFIEYwIDEuNTIxIC0uNzQKKygnJyBjKUQgLjA0Mihhc2VcKSBvciB0aGUgbG9uZ2VzdCBtYXRjaGluZyBwYXR0ZXJuIFwodGhlIGApLjc0IEYoYCktLjc0CitFIEYxKCUlKUEgRjAgMS41MjIgLS43NCgnJyBjKUQgLjA0Mihhc2VcKSBkZWxldGVkLikuNzQgRihJZik1LjA0MiBFL0YyCisxMC9UaW1lcy1JdGFsaWNAMCBTRihwYXIpMy43OTIgRShhbWV0ZXIpLS4xNSBFIEYwKGlzKTMuMjcyIEUgRjEoQCkyLjU0MgorRSBGMChvcikyLjU0MiBFIEYxKCopMi41NDIgRSBGMCAyLjU0MigsdClDKGhlKS0yLjU0MiBFIC40NDEKKyhwYXR0ZXJuIHJlbW8pMTQ0IDk2IFIgLS4yNSh2YSktLjE1IEcgMi45NDEobG8pLjI1IEcgLjQ0MQorKHBlcmF0aW9uIGlzIGFwcGxpZWQgdG8gZWFjaCBwb3NpdGlvbmFsIHBhcmFtZXRlciBpbiB0dXJuLCBhbmQgdGhlIGUpCistMi45NDEgRiAuNDQoeHBhbnNpb24gaXMgdGhlKS0uMTUgRiAuMjQocmVzdWx0YW50IGxpc3QuKTE0NCAxMDggUihJZikKKzUuMjQgRSBGMihwYXIpMy45OSBFKGFtZXRlciktLjE1IEUgRjAgLjI0KGlzIGFuIGFycmF5IHYpMy40NyBGIC4yNDEKKyhhcmlhYmxlIHN1YnNjcmlwdGVkIHdpdGgpLS4yNSBGIEYxKEApMi43NDEgRSBGMChvcikyLjc0MSBFIEYxKCopMi43NDEgRQorRjAgMi43NDEoLHQpQyAuMjQxKGhlIHBhdHRlcm4gcmVtbyktMi43NDEgRiAtLjI1KHZhKS0uMTUgRyAyLjc0MShsbykuMjUKK0cocGVyKS0yLjc0MSBFKC0pLS4yIEUKKyhhdGlvbiBpcyBhcHBsaWVkIHRvIGVhY2ggbWVtYmVyIG9mIHRoZSBhcnJheSBpbiB0dXJuLCBhbmQgdGhlIGUpMTQ0IDEyMAorUSh4cGFuc2lvbiBpcyB0aGUgcmVzdWx0YW50IGxpc3QuKS0uMTUgRSgkeykxMDggMTM2LjggUSBGMihwYXIpQShhbWV0ZXIpCistLjE1IEUgRjEoLylBIEYyKHBhdHRlcm4pQSBGMSgvKUEgRjIoc3RyaW5nKUEgRjAofSlBIEYxIC0uMShQYSkxNDQgMTQ4LjgKK1ModHRlcikuMSBFIDMuNjA3KG5zKS0uMTUgRyh1YnN0aXR1dGlvbiktMy42MDcgRSBGMCA2LjEwNyguVClDKGhlKS02LjEwNworRSBGMihwYXR0ZXJuKTMuNjA3IEUgRjAgMS4xMDcoaXMgZSkzLjYwNyBGIDEuMTA2CisoeHBhbmRlZCB0byBwcm9kdWNlIGEgcGF0dGVybiBqdXN0IGFzIGluIHBhdGhuYW1lIGUpLS4xNSBGKHhwYW4tKS0uMTUgRQorKHNpb24uKTE0NCAxNjAuOCBRIEYyIC0uOChQYSk2LjAzMyBHIC0uMTUocmEpLjggRyhtZXRlcikuMTUgRSBGMCAxLjAzMworKGlzIGUpMy41MzMgRiAxLjAzMyh4cGFuZGVkIGFuZCB0aGUgbG9uZ2VzdCBtYXRjaCBvZiktLjE1IEYgRjIocGF0dGVybikKKzMuNTMzIEUgRjAoYWcpMy41MzMgRSAxLjAzNChhaW5zdCBpdHMgdiktLjA1IEYgMS4wMzQKKyhhbHVlIGlzIHJlcGxhY2VkIHdpdGgpLS4yNSBGIEYyKHN0cmluZykxNDQgMTcyLjggUSBGMCA1LjE2MSguSSlDKGYpCistNS4xNjEgRSBGMihwYXR0ZXJuKTIuNjYxIEUgRjAoYmUpMi42NjEgRSAuMTYxKGdpbnMgd2l0aCktLjE1IEYgRjEoLykKKzIuNjYxIEUgRjAgMi42NjEoLGEpQyAuMTYxKGxsIG1hdGNoZXMgb2YpLTIuNjYxIEYgRjIocGF0dGVybikyLjY2MSBFIEYwCisuMTYoYXJlIHJlcGxhY2VkIHdpdGgpMi42NjEgRiBGMihzdHJpbmcpMi42NiBFIEYwIDUuMTYoLk4pQyAuMTYKKyhvcm1hbGx5IG9ubHkgdGhlKS01LjE2IEYgLjgwNihcMjE0cnN0IG1hdGNoIGlzIHJlcGxhY2VkLikxNDQgMTg0LjggUgorKElmKTUuODA2IEUgRjIocGF0dGVybikzLjMwNiBFIEYwKGJlKTMuMzA2IEUgLjgwNihnaW5zIHdpdGgpLS4xNSBGIEYxKCMpCiszLjMwNiBFIEYwIDMuMzA2KCxpKUMgMy4zMDcodG0pLTMuMzA2IEcgLjgwNyh1c3QgbWF0Y2ggYXQgdGhlIGJlKS0zLjMwNworRiAuODA3KGdpbm5pbmcgb2YgdGhlIGUpLS4xNSBGKHhwYW5kZWQpLS4xNSBFIC0uMjUodmEpMTQ0IDE5Ni44IFMgLjYyMQorKGx1ZSBvZikuMjUgRiBGMihwYXIpMy4xMjEgRShhbWV0ZXIpLS4xNSBFIEYwIDUuNjIxKC5JKUMoZiktNS42MjEgRSBGMgorKHBhdHRlcm4pMy4xMjEgRSBGMChiZSkzLjEyMSBFIC42MjEoZ2lucyB3aXRoKS0uMTUgRiBGMSglKTMuMTIxIEUgRjAKKzMuMTIxKCxpKUMgMy4xMjEodG0pLTMuMTIxIEcgLjYyKHVzdCBtYXRjaCBhdCB0aGUgZW5kIG9mIHRoZSBlKS0zLjEyMSBGCisuNjIoeHBhbmRlZCB2KS0uMTUgRiAuNjIoYWx1ZSBvZiktLjI1IEYgRjIocGFyKTE0NCAyMDguOCBRKGFtZXRlciktLjE1IEUKK0YwIDYuMjUzKC5JKUMoZiktNi4yNTMgRSBGMihzdHJpbmcpMy43NTMgRSBGMCAxLjI1MyhpcyBudWxsLCBtYXRjaGVzIG9mKQorMy43NTMgRiBGMihwYXR0ZXJuKTMuNzUzIEUgRjAgMS4yNTMoYXJlIGRlbGV0ZWQgYW5kIHRoZSkzLjc1MyBGIEYxKC8pCiszLjc1MyBFIEYwKGZvbGxvKTMuNzUzIEUod2luZyktLjI1IEUgRjIocGF0dGVybikzLjc1MyBFIEYwIDEuMjU0KG1heSBiZSkKKzMuNzU0IEYgMi42Nzkob21pdHRlZC4gSWYpMTQ0IDIyMC44IFIgRjIocGFyKTMuOTI5IEUoYW1ldGVyKS0uMTUgRSBGMAorKGlzKTMuNDA5IEUgRjEoQCkyLjY3OSBFIEYwKG9yKTIuNjc5IEUgRjEoKikyLjY3OSBFIEYwIDIuNjc5KCx0KUMgLjE3OAorKGhlIHN1YnN0aXR1dGlvbiBvcGVyYXRpb24gaXMgYXBwbGllZCB0byBlYWNoIHBvc2l0aW9uYWwgcGFyYW1ldGVyKQorLTIuNjc5IEYgLjYxOChpbiB0dXJuLCBhbmQgdGhlIGUpMTQ0IDIzMi44IFIgLjYxOQorKHhwYW5zaW9uIGlzIHRoZSByZXN1bHRhbnQgbGlzdC4pLS4xNSBGKElmKTUuNjE5IEUgRjIocGFyKTQuMzY5IEUKKyhhbWV0ZXIpLS4xNSBFIEYwIC42MTkoaXMgYW4gYXJyYXkgdikzLjg0OSBGIC42MTkKKyhhcmlhYmxlIHN1YnNjcmlwdGVkIHdpdGgpLS4yNSBGIEYxKEApMTQ0IDI0NC44IFEgRjAob3IpMy4yMjQgRSBGMSgqKQorMy4yMjQgRSBGMCAzLjIyNCgsdClDIC43MjMoaGUgc3Vic3RpdHV0aW9uIG9wZXJhdGlvbiBpcyBhcHBsaWVkIHRvIGVhY2hcCisgbWVtYmVyIG9mIHRoZSBhcnJheSBpbiB0dXJuLCBhbmQgdGhlIGUpLTMuMjI0IEYoeHBhbi0pLS4xNSBFCisoc2lvbiBpcyB0aGUgcmVzdWx0YW50IGxpc3QuKTE0NCAyNTYuOCBRKCR7KTEwOCAyNzMuNiBRIEYyKHBhcilBKGFtZXRlcikKKy0uMTUgRSBGMSheKUEgRjIocGF0dGVybilBIEYwKH0pQSgkeykxMDggMjg1LjYgUSBGMihwYXIpQShhbWV0ZXIpLS4xNSBFCitGMSheXilBIEYyKHBhdHRlcm4pQSBGMCh9KUEoJHspMTA4IDI5Ny42IFEgRjIocGFyKUEoYW1ldGVyKS0uMTUgRSBGMSgsKUEKK0YyKHBhdHRlcm4pQSBGMCh9KUEoJHspMTA4IDMwOS42IFEgRjIocGFyKUEoYW1ldGVyKS0uMTUgRSBGMSgsLClBIEYyCisocGF0dGVybilBIEYwKH0pQSBGMSAuNDM3KENhc2UgbW9kaVwyMTRjYXRpb24pMTQ0IDMyMS42IFIgRjAgNS40MzcoLlQpQworLjQzNyhoaXMgZSktNS40MzcgRiAuNDM4CisoeHBhbnNpb24gbW9kaVwyMTRlcyB0aGUgY2FzZSBvZiBhbHBoYWJldGljIGNoYXJhY3RlcnMgaW4pLS4xNSBGIEYyKHBhcikKKzIuOTM4IEUoYW1ldGVyKS0uMTUgRSBGMCA1LjQzOCguVClDKGhlKS01LjQzOCBFIEYyKHBhdHRlcm4pMTQ0IDMzMy42IFEKK0YwIC44MTQoaXMgZSkzLjMxNCBGIC44MTMKKyh4cGFuZGVkIHRvIHByb2R1Y2UgYSBwYXR0ZXJuIGp1c3QgYXMgaW4gcGF0aG5hbWUgZSktLjE1IEYgMy4zMTMKKyh4cGFuc2lvbi4gVGhlKS0uMTUgRiBGMSheKTMuMzEzIEUgRjAgLjgxMyhvcGVyYXRvciBjb24pMy4zMTMgRiAtLjE1KHZlKQorLS40IEcocnRzKS4xNSBFKGxvKTE0NCAzNDUuNiBRIC4xOCh3ZXJjYXNlIGxldHRlcnMgbWF0Y2hpbmcpLS4yNSBGIEYyCisocGF0dGVybikyLjY4MSBFIEYwIC4xODEodG8gdXBwZXJjYXNlOyB0aGUpMi42ODEgRiBGMSgsKTIuNjgxIEUgRjAgLjE4MQorKG9wZXJhdG9yIGNvbikyLjY4MSBGIC0uMTUodmUpLS40IEcgLjE4MShydHMgbWF0Y2hpbmcgdXBwZXJjYXNlIGxldHRlcnMpCisuMTUgRiAuMDg1KHRvIGxvKTE0NCAzNTcuNiBSIDIuNTg1KHdlcmNhc2UuIFRoZSktLjI1IEYgRjEoXl4pMi41ODUgRSBGMAorKGFuZCkyLjU4NSBFIEYxKCwsKTIuNTg1IEUgRjAgLS4xNShleCkyLjU4NSBHIC4wODUocGFuc2lvbnMgY29uKS4xNSBGCistLjE1KHZlKS0uNCBHIC4wODUocnQgZWFjaCBtYXRjaGVkIGNoYXJhY3RlciBpbiB0aGUgZSkuMTUgRiAuMDg1CisoeHBhbmRlZCB2KS0uMTUgRiAuMDg1KGFsdWU7IHRoZSktLjI1IEYgRjEoXikyLjU4NSBFIEYwKGFuZCkxNDQgMzY5LjYgUQorRjEoLCkzLjU5IEUgRjAgLS4xNShleCkzLjU5IEcgMS4wOShwYW5zaW9ucyBtYXRjaCBhbmQgY29uKS4xNSBGIC0uMTUodmUpCistLjQgRyAxLjA5MShydCBvbmx5IHRoZSBcMjE0cnN0IGNoYXJhY3RlciBpbiB0aGUgZSkuMTUgRiAxLjA5MQorKHhwYW5kZWQgdiktLjE1IEYgMy41OTEoYWx1ZS4gSWYpLS4yNSBGIEYyKHBhdHRlcm4pMy41OTEgRSBGMChpcykzLjU5MSBFCisxLjEyMShvbWl0dGVkLCBpdCBpcyB0cmVhdGVkIGxpaykxNDQgMzgxLjYgUiAzLjYyMShlYSktLjEgRyBGMSg/KUEgRjAKKzMuNjIxKCx3KUMgMS4xMjEoaGljaCBtYXRjaGVzIGUpLTMuNjIxIEYgLS4xNSh2ZSktLjI1IEcgMS4xMjEKKyhyeSBjaGFyYWN0ZXIpLjE1IEYgNi4xMiguSSktLjU1IEcoZiktNi4xMiBFIEYyKHBhcik0Ljg3IEUoYW1ldGVyKS0uMTUgRQorRjAoaXMpNC4zNSBFIEYxKEApMy42MiBFIEYwKG9yKTMuNjIgRSBGMSgqKTMuNjIgRSBGMCAzLjYyKCx0KUMgMS4xMgorKGhlIGNhc2UpLTMuNjIgRiAxLjMzNShtb2RpXDIxNGNhdGlvbiBvcGVyYXRpb24gaXMgYXBwbGllZCB0byBlYWNoIHBvc2lcCit0aW9uYWwgcGFyYW1ldGVyIGluIHR1cm4sIGFuZCB0aGUgZSkxNDQgMzkzLjYgUiAxLjMzNSh4cGFuc2lvbiBpcyB0aGUpCistLjE1IEYgMS4zMDgocmVzdWx0YW50IGxpc3QuKTE0NCA0MDUuNiBSKElmKTYuMzA4IEUgRjIocGFyKTUuMDU4IEUKKyhhbWV0ZXIpLS4xNSBFIEYwIDEuMzA4KGlzIGFuIGFycmF5IHYpNC41MzggRiAxLjMwOAorKGFyaWFibGUgc3Vic2NyaXB0ZWQgd2l0aCktLjI1IEYgRjEoQCkzLjgwOCBFIEYwKG9yKTMuODA4IEUgRjEoKikzLjgwOCBFCitGMCAzLjgwOCgsdClDIDEuMzA4KGhlIGNhc2UgbW9kaVwyMTRjYXRpb24pLTMuODA4IEYKKyhvcGVyYXRpb24gaXMgYXBwbGllZCB0byBlYWNoIG1lbWJlciBvZiB0aGUgYXJyYXkgaW4gdHVybiwgYW5kIHRoZSBlKTE0NAorNDE3LjYgUSh4cGFuc2lvbiBpcyB0aGUgcmVzdWx0YW50IGxpc3QuKS0uMTUgRSBGMShDb21tYW5kIFN1YnN0aXR1dGlvbikKKzg3IDQzNC40IFEgRjIgMS42OTcoQ29tbWFuZCBzdWJzdGl0dXRpb24pMTA4IDQ0Ni40IFIgRjAoYWxsbyk0LjE5NyBFCisxLjY5Nyh3cyB0aGUgb3V0cHV0IG9mIGEgY29tbWFuZCB0byByZXBsYWNlIHRoZSBjb21tYW5kIG5hbWUuKS0uMjUgRgorMS42OTgoVGhlcmUgYXJlIHR3KTYuNjk4IEYobyktLjEgRShmb3JtczopMTA4IDQ1OC40IFEgRjEoJFwoKTE0NCA0NzUuMiBRCitGMihjb21tYW5kKUEgRjEoXCkpMS42NjYgRSBGMChvcikxMDggNDg3LjIgUSBGMTw5Mj4xNDQgNDk5LjIgUSBGMgorKGNvbW1hbmQpQSBGMTw5Mj5BKEJhc2gpMTA4IDUxNiBRIEYwIC4wMihwZXJmb3JtcyB0aGUgZSkyLjUyIEYgLjAyCisoeHBhbnNpb24gYnkgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcoY3V0aW5nKS4xNSBFIEYyKGNvbW1hbmQpMi41MTkgRSBGMAorLjAxOShhbmQgcmVwbGFjaW5nIHRoZSBjb21tYW5kIHN1YnN0aXR1dGlvbiB3aXRoIHRoZSBzdGFuLSkyLjUxOSBGIC43NjgKKyhkYXJkIG91dHB1dCBvZiB0aGUgY29tbWFuZCwgd2l0aCBhbikxMDggNTI4IFIgMy4yNjgoeXQpLS4xNSBHIC43NjgKIChyYWlsaW5nIG5lKS0zLjI2OCBGIC43Njgod2xpbmVzIGRlbGV0ZWQuKS0uMjUgRiAuNzY4KEVtYmVkZGVkIG5lKTUuNzY4Ci1GIC43Njgod2xpbmVzIGFyZSBub3QgZGVsZXRlZCwgYiktLjI1IEYodXQpLS4yIEUodGhlKTEwOCAxMzYuOCBRIDMuMjE5Ci0oeW0pLS4xNSBHIC43MTkoYXkgYmUgcmVtbyktMy4yMTkgRiAtLjE1KHZlKS0uMTUgRyAzLjIxOShkZCkuMTUgRyAuNzE5CitGIC43Njgod2xpbmVzIGFyZSBub3QgZGVsZXRlZCwgYiktLjI1IEYodXQpLS4yIEUodGhlKTEwOCA1NDAgUSAzLjIxOSh5bSkKKy0uMTUgRyAuNzE5KGF5IGJlIHJlbW8pLTMuMjE5IEYgLS4xNSh2ZSktLjE1IEcgMy4yMTkoZGQpLjE1IEcgLjcxOQogKHVyaW5nIHcpLTMuMjE5IEYgLjcxOShvcmQgc3BsaXR0aW5nLiktLjEgRiAuNzE5CiAoVGhlIGNvbW1hbmQgc3Vic3RpdHV0aW9uKTUuNzE5IEYgRjEoJFwoY2F0KTMuMjE5IEUgRjIoXDIxNGxlKTMuMjE5IEUgRjEKLShcKSlBIEYwIC43MTgoY2FuIGJlIHJlcGxhY2VkIGJ5IHRoZSkzLjIxOSBGKGVxdWkpMTA4IDE0OC44IFEgLS4yNSh2YSkKLS0uMjUgRyhsZW50IGIpLjI1IEUodXQgZiktLjIgRShhc3RlciktLjEgRSBGMSgkXCg8KTIuNSBFIEYyKFwyMTRsZSkyLjUgRQotRjEoXCkpQSBGMCguKUEgMS43MjQoV2hlbiB0aGUgb2xkLXN0eWxlIGJhY2txdW90ZSBmb3JtIG9mIHN1YnN0aXR1dGlvbiBcCi1pcyB1c2VkLCBiYWNrc2xhc2ggcmV0YWlucyBpdHMgbGl0ZXJhbCBtZWFuaW5nIGUpMTA4IDE2NS42IFIoeGNlcHQpLS4xNQotRSAuMzE1KHdoZW4gZm9sbG8pMTA4IDE3Ny42IFIgLjMxNSh3ZWQgYnkpLS4yNSBGIEYxKCQpMi44MTUgRSBGMCgsKUEgRjEKKyhcKSlBIEYwIC43MTgoY2FuIGJlIHJlcGxhY2VkIGJ5IHRoZSkzLjIxOSBGKGVxdWkpMTA4IDU1MiBRIC0uMjUodmEpLS4yNQorRyhsZW50IGIpLjI1IEUodXQgZiktLjIgRShhc3RlciktLjEgRSBGMSgkXCg8KTIuNSBFIEYyKFwyMTRsZSkyLjUgRSBGMQorKFwpKUEgRjAoLilBIDEuNzI0KFdoZW4gdGhlIG9sZC1zdHlsZSBiYWNrcXVvdGUgZm9ybSBvZiBzdWJzdGl0dXRpb24gaXNcCisgdXNlZCwgYmFja3NsYXNoIHJldGFpbnMgaXRzIGxpdGVyYWwgbWVhbmluZyBlKTEwOCA1NjguOCBSKHhjZXB0KS0uMTUgRQorLjMxNSh3aGVuIGZvbGxvKTEwOCA1ODAuOCBSIC4zMTUod2VkIGJ5KS0uMjUgRiBGMSgkKTIuODE1IEUgRjAoLClBIEYxCiA8OTI+Mi44MTUgRSBGMCAyLjgxNSgsbylDKHIpLTIuODE1IEUgRjEoXFwpMi44MTUgRSBGMCA1LjMxNSguVClDIC4zMTQoaFwKIGUgXDIxNHJzdCBiYWNrcXVvdGUgbm90IHByZWNlZGVkIGJ5IGEgYmFja3NsYXNoIHRlcm1pbmF0ZXMgdGhlIGNvbW1hbmQgXAotc3ViLSktNS4zMTUgRiAzLjg4NihzdGl0dXRpb24uIFdoZW4pMTA4IDE4OS42IFIgMS4zODYodXNpbmcgdGhlICRcKCkKK3N1Yi0pLTUuMzE1IEYgMy44ODYoc3RpdHV0aW9uLiBXaGVuKTEwOCA1OTIuOCBSIDEuMzg2KHVzaW5nIHRoZSAkXCgpCiAzLjg4NiBGIEYyKGNvbW1hbmQpLjgzMyBFIEYwIDMuODg2KFwpZikxLjY2NiBHIDEuMzg3CiAob3JtLCBhbGwgY2hhcmFjdGVycyBiZXR3ZWVuIHRoZSBwYXJlbnRoZXNlcyBtYWspLTMuODg2IEYgMy44ODcoZXUpLS4xIEcKIDMuODg3KHB0KS0zLjg4NyBHIDEuMzg3KGhlIGNvbS0pLTMuODg3IEYKLShtYW5kOyBub25lIGFyZSB0cmVhdGVkIHNwZWNpYWxseSkxMDggMjAxLjYgUSguKS0uNjUgRSAuODk0Ci0oQ29tbWFuZCBzdWJzdGl0dXRpb25zIG1heSBiZSBuZXN0ZWQuKTEwOCAyMTguNCBSIDIuNDk0IC0uOChUbyBuKTUuODk0IEgKKyhtYW5kOyBub25lIGFyZSB0cmVhdGVkIHNwZWNpYWxseSkxMDggNjA0LjggUSguKS0uNjUgRSAuODk0CisoQ29tbWFuZCBzdWJzdGl0dXRpb25zIG1heSBiZSBuZXN0ZWQuKTEwOCA2MjEuNiBSIDIuNDk0IC0uOChUbyBuKTUuODk0IEgKIC44OTQoZXN0IHdoZW4gdXNpbmcgdGhlIGJhY2txdW90ZWQgZm9ybSwgZXNjYXBlIHRoZSBpbm5lciBiYWNrLSkuOCBGCi0ocXVvdGVzIHdpdGggYmFja3NsYXNoZXMuKTEwOCAyMzAuNCBRIC40MjIKLShJZiB0aGUgc3Vic3RpdHV0aW9uIGFwcGVhcnMgd2l0aGluIGRvdWJsZSBxdW90ZXMsIHcpMTA4IDI0Ny4yIFIgLjQyMgorKHF1b3RlcyB3aXRoIGJhY2tzbGFzaGVzLikxMDggNjMzLjYgUSAuNDIyCisoSWYgdGhlIHN1YnN0aXR1dGlvbiBhcHBlYXJzIHdpdGhpbiBkb3VibGUgcXVvdGVzLCB3KTEwOCA2NTAuNCBSIC40MjIKIChvcmQgc3BsaXR0aW5nIGFuZCBwYXRobmFtZSBlKS0uMSBGIC40MjMoeHBhbnNpb24gYXJlIG5vdCBwZXJmb3JtZWQpLS4xNQotRihvbiB0aGUgcmVzdWx0cy4pMTA4IDI1OS4yIFEgRjEoQXJpdGhtZXRpYyBFeHBhbnNpb24pODcgMjc2IFEgRjAgMS4wMzUKLShBcml0aG1ldGljIGUpMTA4IDI4OCBSIDEuMDM1KHhwYW5zaW9uIGFsbG8pLS4xNSBGIDEuMDM1KHdzIHRoZSBlKS0uMjUgRgotLS4yNSh2YSktLjI1IEcgMS4wMzQobHVhdGlvbiBvZiBhbiBhcml0aG1ldGljIGUpLjI1IEYgMS4wMzQKLSh4cHJlc3Npb24gYW5kIHRoZSBzdWJzdGl0dXRpb24gb2YgdGhlIHJlc3VsdC4pLS4xNSBGCi0oVGhlIGZvcm1hdCBmb3IgYXJpdGhtZXRpYyBlKTEwOCAzMDAgUSh4cGFuc2lvbiBpczopLS4xNSBFIEYxKCRcKFwoKTE0NAotMzE2LjggUSBGMiAtLjIoZXgpQyhwcikuMiBFKGVzc2lvbiktLjM3IEUgRjEoXClcKSlBIEYwKFRoZSkxMDggMzMzLjYgUQotRjIgLS4yKGV4KTIuNjY1IEcocHIpLjIgRShlc3Npb24pLS4zNyBFIEYwIC4xNjUKLShpcyB0cmVhdGVkIGFzIGlmIGl0IHdlcmUgd2l0aGluIGRvdWJsZSBxdW90ZXMsIGIpMi45MDUgRiAuMTY2Ci0odXQgYSBkb3VibGUgcXVvdGUgaW5zaWRlIHRoZSBwYXJlbnRoZXNlcyBpcyBub3QpLS4yIEYgMS4wNzUKLSh0cmVhdGVkIHNwZWNpYWxseSkxMDggMzQ1LjYgUiA2LjA3NSguQSktLjY1IEcgMS4wNzQobGwgdG9rKS02LjA3NSBGCi0xLjA3NChlbnMgaW4gdGhlIGUpLS4xIEYgMS4wNzQoeHByZXNzaW9uIHVuZGVyKS0uMTUgRiAxLjA3NAotKGdvIHBhcmFtZXRlciBlKS0uMTggRiAxLjA3NCh4cGFuc2lvbiwgc3RyaW5nIGUpLS4xNSBGIDEuMDc0Ci0oeHBhbnNpb24sIGNvbW1hbmQpLS4xNSBGKHN1YnN0aXR1dGlvbiwgYW5kIHF1b3RlIHJlbW8pMTA4IDM1Ny42IFEgLS4yNQotKHZhKS0uMTUgRyAyLjUobC4gQXJpdGhtZXRpYykuMjUgRiAtLjE1KGV4KTIuNSBHCi0ocGFuc2lvbnMgbWF5IGJlIG5lc3RlZC4pLjE1IEUgMS4zNzgoVGhlIGUpMTA4IDM3NC40IFIgLS4yNSh2YSktLjI1IEcKLTEuMzc4KGx1YXRpb24gaXMgcGVyZm9ybWVkIGFjY29yZGluZyB0byB0aGUgcnVsZXMgbGlzdGVkIGJlbG8pLjI1IEYKLTMuODc4KHd1KS0uMjUgRyhuZGVyKS0zLjg3OCBFL0YzIDkvVGltZXMtQm9sZEAwIFNGIDEuMzc4KEFSSVRITUVUSUMgRVYpCi0zLjg3OCBGKEFMVSktMS4yMTUgRSAtLjg1NShBVCktLjU0IEcoSU9OKS44NTUgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLikKLUEgRjAoSWYpNS44NzkgRSBGMiAtLjIoZXgpMTA4IDM4Ni40IFMocHIpLjIgRShlc3Npb24pLS4zNyBFIEYwKGlzIGluKQotMi43NCBFIC0uMjUodmEpLS40IEcobGlkLCkuMjUgRSBGMShiYXNoKTIuNSBFIEYwCi0ocHJpbnRzIGEgbWVzc2FnZSBpbmRpY2F0aW5nIGYpMi41IEUoYWlsdXJlIGFuZCBubyBzdWJzdGl0dXRpb24gb2NjdXJzLikKLS0uMSBFIEYxKFByKTg3IDQwMy4yIFEob2Nlc3MgU3Vic3RpdHV0aW9uKS0uMTggRSBGMihQcikxMDggNDE1LjIgUSAuOTcxCi0ob2Nlc3Mgc3Vic3RpdHV0aW9uKS0uNDUgRiBGMCAuOTcxCi0oaXMgc3VwcG9ydGVkIG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IG5hbWVkIHBpcGVzIFwoKTMuNDcxIEYgRjIoRklGT3MpQQotRjAgMy40NyhcKW8pQyAzLjQ3KHJ0KS0zLjQ3IEcoaGUpLTMuNDcgRSBGMSgvZGUpMy40NyBFKHYvZmQpLS4xNSBFIEYwCi0uOTcobWV0aG9kIG9mKTMuNDcgRiAuMDIxKG5hbWluZyBvcGVuIFwyMTRsZXMuKTEwOCA0MjcuMiBSIC4wMjEoSXQgdGFrKQotNS4wMjEgRiAuMDIxKGVzIHRoZSBmb3JtIG9mKS0uMSBGIEYxKDxcKCkyLjUyMSBFIEYyKGxpc3QpQSBGMShcKSkuODMzIEUKLUYwKG9yKTIuNTIxIEUgRjEoPlwoKTIuNTIxIEUgRjIobGlzdClBIEYxKFwpKS44MzMgRSBGMCA1LjAyMSguVClDIC4wMjEKLShoZSBwcm9jZXNzKS01LjAyMSBGIEYyKGxpc3QpMi41MjEgRSBGMCAuMDIxCi0oaXMgcnVuIHdpdGggaXRzIGlucHV0IG9yIG91dHB1dCBjb24tKTIuNTIxIEYgLjA1OShuZWN0ZWQgdG8gYSkxMDggNDM5LjIKLVIgRjIoRklGTykyLjU1OSBFIEYwIC4wNTgob3Igc29tZSBcMjE0bGUgaW4pMi41NTkgRiBGMSgvZGUpMi41NTggRSh2L2ZkKQotLS4xNSBFIEYwIDUuMDU4KC5UKUMgLjA1OChoZSBuYW1lIG9mIHRoaXMgXDIxNGxlIGlzIHBhc3NlZCBhcyBhbiBhcikKLS01LjA1OCBGIC4wNTgoZ3VtZW50IHRvIHRoZSBjdXJyZW50IGNvbS0pLS4xOCBGIC4xMwotKG1hbmQgYXMgdGhlIHJlc3VsdCBvZiB0aGUgZSkxMDggNDUxLjIgUiAyLjYzKHhwYW5zaW9uLiBJZiktLjE1IEYodGhlKQotMi42MyBFIEYxKD5cKCkyLjYzIEUgRjIobGlzdClBIEYxKFwpKS44MzMgRSBGMCAuMTMKLShmb3JtIGlzIHVzZWQsIHdyaXRpbmcgdG8gdGhlIFwyMTRsZSB3aWxsIHBybykyLjYzIEYgLjEzMQotKHZpZGUgaW5wdXQgZm9yKS0uMTUgRiBGMihsaXN0KTIuNjMxIEUgRjAoLilBKElmIHRoZSkxMDggNDYzLjIgUSBGMSg8XCgpCi0yLjUgRSBGMihsaXN0KUEgRjEoXCkpLjgzMyBFIEYwCi0oZm9ybSBpcyB1c2VkLCB0aGUgXDIxNGxlIHBhc3NlZCBhcyBhbiBhcikyLjUgRQotKGd1bWVudCBzaG91bGQgYmUgcmVhZCB0byBvYnRhaW4gdGhlIG91dHB1dCBvZiktLjE4IEUgRjIobGlzdCkyLjUgRSBGMAotKC4pQSAuODk3KFdoZW4gYSkxMDggNDgwIFIgLS4yNSh2YSktLjIgRyAuODk2KGlsYWJsZSwgcHJvY2VzcyBzdWJzdGl0dXRcCi1pb24gaXMgcGVyZm9ybWVkIHNpbXVsdGFuZW91c2x5IHdpdGggcGFyYW1ldGVyIGFuZCB2KS4yNSBGIC44OTYKLShhcmlhYmxlIGUpLS4yNSBGKHhwYW5zaW9uLCktLjE1IEUKLShjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRobWV0aWMgZSkxMDggNDkyIFEoeHBhbnNpb24uKS0uMTUgRSBGMQotLS43NShXbyk4NyA1MDguOCBTKHJkIFNwbGl0dGluZykuNzUgRSBGMCAxLjE0MgotKFRoZSBzaGVsbCBzY2FucyB0aGUgcmVzdWx0cyBvZiBwYXJhbWV0ZXIgZSkxMDggNTIwLjggUiAxLjE0MwotKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRobWV0aWMgZSktLjE1IEYgMS4xNDMKLSh4cGFuc2lvbiB0aGF0KS0uMTUgRihkaWQgbm90IG9jY3VyIHdpdGhpbiBkb3VibGUgcXVvdGVzIGZvcikxMDggNTMyLjggUQotRjIod29yKTIuNSBFIDIuNShkcyktLjM3IEcocGxpdHRpbmcpLTIuNSBFIEYwKC4pLjIyIEUgLjA2MwotKFRoZSBzaGVsbCB0cmVhdHMgZWFjaCBjaGFyYWN0ZXIgb2YpMTA4IDU0OS42IFIgRjMoSUZTKTIuNTYzIEUgRjAgLjA2MwotKGFzIGEgZGVsaW1pdGVyKTIuMzEzIEYgMi41NjMoLGEpLS40IEcgLjA2MwotKG5kIHNwbGl0cyB0aGUgcmVzdWx0cyBvZiB0aGUgb3RoZXIgZSktMi41NjMgRiAuMDYzKHhwYW5zaW9ucyBpbnRvIHcpCi0tLjE1IEYob3JkcyktLjEgRSAxLjc4OChvbiB0aGVzZSBjaGFyYWN0ZXJzLikxMDggNTYxLjYgUihJZik2Ljc4OCBFIEYzCi0oSUZTKTQuMjg4IEUgRjAgMS43ODgoaXMgdW5zZXQsIG9yIGl0cyB2KTQuMDM4IEYgMS43ODkoYWx1ZSBpcyBlKS0uMjUgRgotKHhhY3RseSktLjE1IEUgRjEoPHNwYWNlPjx0YWI+PG5ld2xpbmU+KTQuMjg5IEUgRjAgNC4yODkoLHQpQyAxLjc4OQotKGhlIGRlZiktNC4yODkgRiAxLjc4OShhdWx0LCB0aGVuKS0uMSBGIC4wMjIoc2VxdWVuY2VzIG9mKTEwOCA1NzMuNiBSIEYxCi0oPHNwYWNlPikyLjUyMiBFIEYwKCwpQSBGMSg8dGFiPikyLjUyMiBFIEYwIDIuNTIxKCxhKUMobmQpLTIuNTIxIEUgRjEKLSg8bmV3bGluZT4pMi41MjEgRSBGMCAuMDIxKGF0IHRoZSBiZSkyLjUyMSBGIC4wMjEKLShnaW5uaW5nIGFuZCBlbmQgb2YgdGhlIHJlc3VsdHMgb2YgdGhlIHByZSktLjE1IEYgLjAyMSh2aW91cyBlKS0uMjUgRgotKHhwYW4tKS0uMTUgRSAuNTg1KHNpb25zIGFyZSBpZ25vcmVkLCBhbmQgYW4pMTA4IDU4NS42IFIgMy4wODYoeXMpLS4xNSBHCi0uNTg2KGVxdWVuY2Ugb2YpLTMuMDg2IEYgRjMoSUZTKTMuMDg2IEUgRjAgLjU4NgotKGNoYXJhY3RlcnMgbm90IGF0IHRoZSBiZSkyLjgzNiBGIC41ODYoZ2lubmluZyBvciBlbmQgc2VydiktLjE1IEYgLjU4NgotKGVzIHRvIGRlbGltaXQgdyktLjE1IEYob3Jkcy4pLS4xIEUoSWYpMTA4IDU5Ny42IFEgRjMoSUZTKTMuNjE3IEUgRjAKLTEuMTE3KGhhcyBhIHYpMy4zNjcgRiAxLjExNyhhbHVlIG90aGVyIHRoYW4gdGhlIGRlZiktLjI1IEYgMS4xMTcKLShhdWx0LCB0aGVuIHNlcXVlbmNlcyBvZiB0aGUgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzKS0uMSBGIEYxKHNwYWNlKTMuNjE3Ci1FIEYwKGFuZCkzLjYxNyBFIEYxKHRhYikzLjYxNyBFIEYwKGFyZSkzLjYxNyBFIC4zMTUoaWdub3JlZCBhdCB0aGUgYmUpCi0xMDggNjA5LjYgUiAuMzE1KGdpbm5pbmcgYW5kIGVuZCBvZiB0aGUgdyktLjE1IEYgLjMxNQotKG9yZCwgYXMgbG9uZyBhcyB0aGUgd2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgaW4gdGhlIHYpLS4xIEYgLjMxNQotKGFsdWUgb2YpLS4yNSBGIEYzKElGUykyLjgxNSBFIEYwKFwoYW4pMi41NjYgRSBGMyhJRlMpMTA4IDYyMS42IFEgRjAKLTEuMDU0KHdoaXRlc3BhY2UgY2hhcmFjdGVyXCkuKTMuMzA0IEYoQW4pNi4wNTQgRSAzLjU1NCh5YyktLjE1IEcgMS4wNTQKLShoYXJhY3RlciBpbiktMy41NTQgRiBGMyhJRlMpMy41NTQgRSBGMCAxLjA1Myh0aGF0IGlzIG5vdCkzLjMwMyBGIEYzCi0oSUZTKTMuNTUzIEUgRjAgMS4wNTMod2hpdGVzcGFjZSwgYWxvbmcgd2l0aCBhbikzLjMwMyBGIDMuNTUzKHlhKS0uMTUgRwotKGRqYWNlbnQpLTMuNTUzIEUgRjMoSUZTKTMuNTUzIEUgRjAgLjMzMQotKHdoaXRlc3BhY2UgY2hhcmFjdGVycywgZGVsaW1pdHMgYSBcMjE0ZWxkLikxMDggNjMzLjYgUiAyLjgzMShBcyk1LjMzMSBHCi0uMzMyKGVxdWVuY2Ugb2YpLTIuODMxIEYgRjMoSUZTKTIuODMyIEUgRjAgLjMzMgotKHdoaXRlc3BhY2UgY2hhcmFjdGVycyBpcyBhbHNvIHRyZWF0ZWQgYXMgYSBkZWxpbS0pMi41ODIgRihpdGVyKTEwOAotNjQ1LjYgUSA1KC5JKS0uNTUgRyAyLjUoZnQpLTUgRyhoZSB2KS0yLjUgRShhbHVlIG9mKS0uMjUgRSBGMyhJRlMpMi41IEUKLUYwKGlzIG51bGwsIG5vIHcpMi4yNSBFKG9yZCBzcGxpdHRpbmcgb2NjdXJzLiktLjEgRSAxLjg3OQotKEV4cGxpY2l0IG51bGwgYXIpMTA4IDY2Mi40IFIgMS44NzkoZ3VtZW50cyBcKCktLjE4IEYgRjEgLjgzMygiIikuODMzIEcKLUYwKG9yKTMuNTQ1IEUgRjEgLjgzMzwwODA4PjUuMjExIEcgRjAgNC4zNzgoXClhKUMgMS44NzgocmUgcmV0YWluZWQuKQotLTQuMzc4IEYgMS44NzgoVW5xdW90ZWQgaW1wbGljaXQgbnVsbCBhcik2Ljg3OCBGIDEuODc4Ci0oZ3VtZW50cywgcmVzdWx0aW5nIGZyb20gdGhlKS0uMTggRiAtLjE1KGV4KTEwOCA2NzQuNCBTIC4xNzYKLShwYW5zaW9uIG9mIHBhcmFtZXRlcnMgdGhhdCBoYSkuMTUgRiAuNDc2IC0uMTUodmUgbiktLjIgSCAyLjY3NihvdikuMTUgRwotLjE3NihhbHVlcywgYXJlIHJlbW8pLTIuOTI2IEYgLS4xNSh2ZSktLjE1IEcgMi42NzYoZC4gSWYpLjE1IEYgMi42NzcoYXApCi0yLjY3NyBHIC4xNzcoYXJhbWV0ZXIgd2l0aCBubyB2KS0yLjY3NyBGIC4xNzcoYWx1ZSBpcyBlKS0uMjUgRiAuMTc3Ci0oeHBhbmRlZCB3aXRoaW4pLS4xNSBGKGRvdWJsZSBxdW90ZXMsIGEgbnVsbCBhcikxMDggNjg2LjQgUQotKGd1bWVudCByZXN1bHRzIGFuZCBpcyByZXRhaW5lZC4pLS4xOCBFKE5vdGUgdGhhdCBpZiBubyBlKTEwOCA3MDMuMiBRCi0oeHBhbnNpb24gb2NjdXJzLCBubyBzcGxpdHRpbmcgaXMgcGVyZm9ybWVkLiktLjE1IEUoR05VIEJhc2gtNC4xKTcyIDc2OAotUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgyMSkxODUuOTU1IEUgMCBDZyBFUAorRihvbiB0aGUgcmVzdWx0cy4pMTA4IDY2Mi40IFEgRjEoQXJpdGhtZXRpYyBFeHBhbnNpb24pODcgNjc5LjIgUSBGMAorMS4wMzUoQXJpdGhtZXRpYyBlKTEwOCA2OTEuMiBSIDEuMDM1KHhwYW5zaW9uIGFsbG8pLS4xNSBGIDEuMDM1Cisod3MgdGhlIGUpLS4yNSBGIC0uMjUodmEpLS4yNSBHIDEuMDM0KGx1YXRpb24gb2YgYW4gYXJpdGhtZXRpYyBlKS4yNSBGCisxLjAzNCh4cHJlc3Npb24gYW5kIHRoZSBzdWJzdGl0dXRpb24gb2YgdGhlIHJlc3VsdC4pLS4xNSBGCisoVGhlIGZvcm1hdCBmb3IgYXJpdGhtZXRpYyBlKTEwOCA3MDMuMiBRKHhwYW5zaW9uIGlzOiktLjE1IEUgRjEoJFwoXCgpCisxNDQgNzIwIFEgRjIgLS4yKGV4KUMocHIpLjIgRShlc3Npb24pLS4zNyBFIEYxKFwpXCkpQSBGMChHTlUgQmFzaC00LjIpNzIKKzc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDIxKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDIyIDIyCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRiAtLjEoUGEpODcgODQgUyh0aG5hbWUgRXhwYW5zaW9uKS4xIEUgRjAKLS4zNzEoQWZ0ZXIgdykxMDggOTYgUiAuMzcxKG9yZCBzcGxpdHRpbmcsIHVubGVzcyB0aGUpLS4xIEYgRjE8YWQ2Nj4yLjg3MQotRSBGMCAuMzcxKG9wdGlvbiBoYXMgYmVlbiBzZXQsKTIuODcxIEYgRjEoYmFzaCkyLjg3MSBFIEYwIC4zNwotKHNjYW5zIGVhY2ggdykyLjg3IEYgLjM3KG9yZCBmb3IgdGhlIGNoYXJhY3RlcnMpLS4xIEYgRjEoKikyLjg3IEUgRjAoLClBCi1GMSg/KTIuODcgRSBGMCAyLjg3KCxhKUMobmQpLTIuODcgRSBGMShbKTIuODcgRSBGMCguKUEgLjY3NwotKElmIG9uZSBvZiB0aGVzZSBjaGFyYWN0ZXJzIGFwcGVhcnMsIHRoZW4gdGhlIHcpMTA4IDEwOCBSIC42NzcKLShvcmQgaXMgcmUpLS4xIEYgLS4wNShnYSktLjE1IEcgLjY3NyhyZGVkIGFzIGEpLjA1IEYvRjIgMTAKLS9UaW1lcy1JdGFsaWNAMCBTRihwYXR0ZXJuKTMuMTc3IEUgRjAgMy4xNzcoLGEpLjI0IEcgLjY3OAotKG5kIHJlcGxhY2VkIHdpdGggYW4gYWxwaGFiZXRpLSktMy4xNzcgRiAxLjQ1NwotKGNhbGx5IHNvcnRlZCBsaXN0IG9mIFwyMTRsZSBuYW1lcyBtYXRjaGluZyB0aGUgcGF0dGVybi4pMTA4IDEyMCBSIDEuNDU2Ci0oSWYgbm8gbWF0Y2hpbmcgXDIxNGxlIG5hbWVzIGFyZSBmb3VuZCwgYW5kIHRoZSBzaGVsbCk2LjQ1NyBGKG9wdGlvbikxMDgKLTEzMiBRIEYxKG51bGxnbG9iKTIuNTM3IEUgRjAgLjAzOChpcyBub3QgZW5hYmxlZCwgdGhlIHcpMi41MzcgRiAuMDM4Ci0ob3JkIGlzIGxlZnQgdW5jaGFuZ2VkLiktLjEgRiAuMDM4KElmIHRoZSk1LjAzOCBGIEYxKG51bGxnbG9iKTIuNTM4IEUgRjAKLS4wMzgob3B0aW9uIGlzIHNldCwgYW5kIG5vIG1hdGNoZXMgYXJlKTIuNTM4IEYgLjMwNihmb3VuZCwgdGhlIHcpMTA4IDE0NAotUiAuMzA2KG9yZCBpcyByZW1vKS0uMSBGIC0uMTUodmUpLS4xNSBHIDIuODA2KGQuIElmKS4xNSBGKHRoZSkyLjgwNSBFIEYxCi0oZmFpbGdsb2IpMi44MDUgRSBGMCAuMzA1CistLjM1IEUoVGhlKTEwOCA4NCBRL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGIC0uMihleCkyLjY2NSBHKHByKS4yIEUKKyhlc3Npb24pLS4zNyBFIEYwIC4xNjUoaXMgdHJlYXRlZCBhcyBpZiBpdCB3ZXJlIHdpdGhpbiBkb3VibGUgcXVvdGVzLCBiKQorMi45MDUgRiAuMTY2KHV0IGEgZG91YmxlIHF1b3RlIGluc2lkZSB0aGUgcGFyZW50aGVzZXMgaXMgbm90KS0uMiBGIDEuMDc1CisodHJlYXRlZCBzcGVjaWFsbHkpMTA4IDk2IFIgNi4wNzUoLkEpLS42NSBHIDEuMDc0KGxsIHRvayktNi4wNzUgRiAxLjA3NAorKGVucyBpbiB0aGUgZSktLjEgRiAxLjA3NCh4cHJlc3Npb24gdW5kZXIpLS4xNSBGIDEuMDc0KGdvIHBhcmFtZXRlciBlKQorLS4xOCBGIDEuMDc0KHhwYW5zaW9uLCBzdHJpbmcgZSktLjE1IEYgMS4wNzQoeHBhbnNpb24sIGNvbW1hbmQpLS4xNSBGCisoc3Vic3RpdHV0aW9uLCBhbmQgcXVvdGUgcmVtbykxMDggMTA4IFEgLS4yNSh2YSktLjE1IEcgMi41CisobC4gQXJpdGhtZXRpYykuMjUgRiAtLjE1KGV4KTIuNSBHKHBhbnNpb25zIG1heSBiZSBuZXN0ZWQuKS4xNSBFIDEuMzc4CisoVGhlIGUpMTA4IDEyNC44IFIgLS4yNSh2YSktLjI1IEcgMS4zNzgKKyhsdWF0aW9uIGlzIHBlcmZvcm1lZCBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIGxpc3RlZCBiZWxvKS4yNSBGIDMuODc4KHd1KQorLS4yNSBHKG5kZXIpLTMuODc4IEUvRjIgOS9UaW1lcy1Cb2xkQDAgU0YgMS4zNzgoQVJJVEhNRVRJQyBFVikzLjg3OCBGCisoQUxVKS0xLjIxNSBFIC0uODU1KEFUKS0uNTQgRyhJT04pLjg1NSBFL0YzIDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAKKyhJZik1Ljg3OSBFIEYxIC0uMihleCkxMDggMTM2LjggUyhwcikuMiBFKGVzc2lvbiktLjM3IEUgRjAoaXMgaW4pMi43NCBFCistLjI1KHZhKS0uNCBHKGxpZCwpLjI1IEUvRjQgMTAvVGltZXMtQm9sZEAwIFNGKGJhc2gpMi41IEUgRjAKKyhwcmludHMgYSBtZXNzYWdlIGluZGljYXRpbmcgZikyLjUgRShhaWx1cmUgYW5kIG5vIHN1YnN0aXR1dGlvbiBvY2N1cnMuKQorLS4xIEUgRjQoUHIpODcgMTUzLjYgUShvY2VzcyBTdWJzdGl0dXRpb24pLS4xOCBFIEYxKFByKTEwOCAxNjUuNiBRIC45NzEKKyhvY2VzcyBzdWJzdGl0dXRpb24pLS40NSBGIEYwIC45NzEKKyhpcyBzdXBwb3J0ZWQgb24gc3lzdGVtcyB0aGF0IHN1cHBvcnQgbmFtZWQgcGlwZXMgXCgpMy40NzEgRiBGMShGSUZPcylBCitGMCAzLjQ3KFwpbylDIDMuNDcocnQpLTMuNDcgRyhoZSktMy40NyBFIEY0KC9kZSkzLjQ3IEUodi9mZCktLjE1IEUgRjAKKy45NyhtZXRob2Qgb2YpMy40NyBGIC4wMjEobmFtaW5nIG9wZW4gXDIxNGxlcy4pMTA4IDE3Ny42IFIgLjAyMShJdCB0YWspCis1LjAyMSBGIC4wMjEoZXMgdGhlIGZvcm0gb2YpLS4xIEYgRjQoPFwoKTIuNTIxIEUgRjEobGlzdClBIEY0KFwpKS44MzMgRQorRjAob3IpMi41MjEgRSBGNCg+XCgpMi41MjEgRSBGMShsaXN0KUEgRjQoXCkpLjgzMyBFIEYwIDUuMDIxKC5UKUMgLjAyMQorKGhlIHByb2Nlc3MpLTUuMDIxIEYgRjEobGlzdCkyLjUyMSBFIEYwIC4wMjEKKyhpcyBydW4gd2l0aCBpdHMgaW5wdXQgb3Igb3V0cHV0IGNvbi0pMi41MjEgRiAuMDU5KG5lY3RlZCB0byBhKTEwOCAxODkuNgorUiBGMShGSUZPKTIuNTU5IEUgRjAgLjA1OChvciBzb21lIFwyMTRsZSBpbikyLjU1OSBGIEY0KC9kZSkyLjU1OCBFKHYvZmQpCistLjE1IEUgRjAgNS4wNTgoLlQpQyAuMDU4KGhlIG5hbWUgb2YgdGhpcyBcMjE0bGUgaXMgcGFzc2VkIGFzIGFuIGFyKQorLTUuMDU4IEYgLjA1OChndW1lbnQgdG8gdGhlIGN1cnJlbnQgY29tLSktLjE4IEYgLjEzCisobWFuZCBhcyB0aGUgcmVzdWx0IG9mIHRoZSBlKTEwOCAyMDEuNiBSIDIuNjMoeHBhbnNpb24uIElmKS0uMTUgRih0aGUpCisyLjYzIEUgRjQoPlwoKTIuNjMgRSBGMShsaXN0KUEgRjQoXCkpLjgzMyBFIEYwIC4xMworKGZvcm0gaXMgdXNlZCwgd3JpdGluZyB0byB0aGUgXDIxNGxlIHdpbGwgcHJvKTIuNjMgRiAuMTMxCisodmlkZSBpbnB1dCBmb3IpLS4xNSBGIEYxKGxpc3QpMi42MzEgRSBGMCguKUEoSWYgdGhlKTEwOCAyMTMuNiBRIEY0KDxcKCkKKzIuNSBFIEYxKGxpc3QpQSBGNChcKSkuODMzIEUgRjAKKyhmb3JtIGlzIHVzZWQsIHRoZSBcMjE0bGUgcGFzc2VkIGFzIGFuIGFyKTIuNSBFCisoZ3VtZW50IHNob3VsZCBiZSByZWFkIHRvIG9idGFpbiB0aGUgb3V0cHV0IG9mKS0uMTggRSBGMShsaXN0KTIuNSBFIEYwCisoLilBIC44OTcoV2hlbiBhKTEwOCAyMzAuNCBSIC0uMjUodmEpLS4yIEcgLjg5NihpbGFibGUsIHByb2Nlc3Mgc3Vic3RpdFwKK3V0aW9uIGlzIHBlcmZvcm1lZCBzaW11bHRhbmVvdXNseSB3aXRoIHBhcmFtZXRlciBhbmQgdikuMjUgRiAuODk2CisoYXJpYWJsZSBlKS0uMjUgRih4cGFuc2lvbiwpLS4xNSBFCisoY29tbWFuZCBzdWJzdGl0dXRpb24sIGFuZCBhcml0aG1ldGljIGUpMTA4IDI0Mi40IFEoeHBhbnNpb24uKS0uMTUgRSBGNAorLS43NShXbyk4NyAyNTkuMiBTKHJkIFNwbGl0dGluZykuNzUgRSBGMCAxLjE0MgorKFRoZSBzaGVsbCBzY2FucyB0aGUgcmVzdWx0cyBvZiBwYXJhbWV0ZXIgZSkxMDggMjcxLjIgUiAxLjE0MworKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRobWV0aWMgZSktLjE1IEYgMS4xNDMKKyh4cGFuc2lvbiB0aGF0KS0uMTUgRihkaWQgbm90IG9jY3VyIHdpdGhpbiBkb3VibGUgcXVvdGVzIGZvcikxMDggMjgzLjIgUQorRjEod29yKTIuNSBFIDIuNShkcyktLjM3IEcocGxpdHRpbmcpLTIuNSBFIEYwKC4pLjIyIEUgLjA2MworKFRoZSBzaGVsbCB0cmVhdHMgZWFjaCBjaGFyYWN0ZXIgb2YpMTA4IDMwMCBSIEYyKElGUykyLjU2MyBFIEYwIC4wNjMKKyhhcyBhIGRlbGltaXRlcikyLjMxMyBGIDIuNTYzKCxhKS0uNCBHIC4wNjMKKyhuZCBzcGxpdHMgdGhlIHJlc3VsdHMgb2YgdGhlIG90aGVyIGUpLTIuNTYzIEYgLjA2Myh4cGFuc2lvbnMgaW50byB3KQorLS4xNSBGKG9yZHMpLS4xIEUgMS43ODgob24gdGhlc2UgY2hhcmFjdGVycy4pMTA4IDMxMiBSKElmKTYuNzg4IEUgRjIKKyhJRlMpNC4yODggRSBGMCAxLjc4OChpcyB1bnNldCwgb3IgaXRzIHYpNC4wMzggRiAxLjc4OShhbHVlIGlzIGUpLS4yNSBGCisoeGFjdGx5KS0uMTUgRSBGNCg8c3BhY2U+PHRhYj48bmV3bGluZT4pNC4yODkgRSBGMCA0LjI4OSgsdClDIDEuNzg5CisoaGUgZGVmKS00LjI4OSBGIDEuNzg5KGF1bHQsIHRoZW4pLS4xIEYgLjAyMihzZXF1ZW5jZXMgb2YpMTA4IDMyNCBSIEY0CisoPHNwYWNlPikyLjUyMiBFIEYwKCwpQSBGNCg8dGFiPikyLjUyMiBFIEYwIDIuNTIxKCxhKUMobmQpLTIuNTIxIEUgRjQKKyg8bmV3bGluZT4pMi41MjEgRSBGMCAuMDIxKGF0IHRoZSBiZSkyLjUyMSBGIC4wMjEKKyhnaW5uaW5nIGFuZCBlbmQgb2YgdGhlIHJlc3VsdHMgb2YgdGhlIHByZSktLjE1IEYgLjAyMSh2aW91cyBlKS0uMjUgRgorKHhwYW4tKS0uMTUgRSAuNTg1KHNpb25zIGFyZSBpZ25vcmVkLCBhbmQgYW4pMTA4IDMzNiBSIDMuMDg2KHlzKS0uMTUgRworLjU4NihlcXVlbmNlIG9mKS0zLjA4NiBGIEYyKElGUykzLjA4NiBFIEYwIC41ODYKKyhjaGFyYWN0ZXJzIG5vdCBhdCB0aGUgYmUpMi44MzYgRiAuNTg2KGdpbm5pbmcgb3IgZW5kIHNlcnYpLS4xNSBGIC41ODYKKyhlcyB0byBkZWxpbWl0IHcpLS4xNSBGKG9yZHMuKS0uMSBFKElmKTEwOCAzNDggUSBGMihJRlMpMy42MTcgRSBGMCAxLjExNworKGhhcyBhIHYpMy4zNjcgRiAxLjExNyhhbHVlIG90aGVyIHRoYW4gdGhlIGRlZiktLjI1IEYgMS4xMTcKKyhhdWx0LCB0aGVuIHNlcXVlbmNlcyBvZiB0aGUgd2hpdGVzcGFjZSBjaGFyYWN0ZXJzKS0uMSBGIEY0KHNwYWNlKTMuNjE3CitFIEYwKGFuZCkzLjYxNyBFIEY0KHRhYikzLjYxNyBFIEYwKGFyZSkzLjYxNyBFIC4zMTUoaWdub3JlZCBhdCB0aGUgYmUpCisxMDggMzYwIFIgLjMxNShnaW5uaW5nIGFuZCBlbmQgb2YgdGhlIHcpLS4xNSBGIC4zMTUKKyhvcmQsIGFzIGxvbmcgYXMgdGhlIHdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIGluIHRoZSB2KS0uMSBGIC4zMTUKKyhhbHVlIG9mKS0uMjUgRiBGMihJRlMpMi44MTUgRSBGMChcKGFuKTIuNTY2IEUgRjIoSUZTKTEwOCAzNzIgUSBGMCAxLjA1NAorKHdoaXRlc3BhY2UgY2hhcmFjdGVyXCkuKTMuMzA0IEYoQW4pNi4wNTQgRSAzLjU1NCh5YyktLjE1IEcgMS4wNTQKKyhoYXJhY3RlciBpbiktMy41NTQgRiBGMihJRlMpMy41NTQgRSBGMCAxLjA1Myh0aGF0IGlzIG5vdCkzLjMwMyBGIEYyCisoSUZTKTMuNTUzIEUgRjAgMS4wNTMod2hpdGVzcGFjZSwgYWxvbmcgd2l0aCBhbikzLjMwMyBGIDMuNTUzKHlhKS0uMTUgRworKGRqYWNlbnQpLTMuNTUzIEUgRjIoSUZTKTMuNTUzIEUgRjAgLjMzMQorKHdoaXRlc3BhY2UgY2hhcmFjdGVycywgZGVsaW1pdHMgYSBcMjE0ZWxkLikxMDggMzg0IFIgMi44MzEoQXMpNS4zMzEgRworLjMzMihlcXVlbmNlIG9mKS0yLjgzMSBGIEYyKElGUykyLjgzMiBFIEYwIC4zMzIKKyh3aGl0ZXNwYWNlIGNoYXJhY3RlcnMgaXMgYWxzbyB0cmVhdGVkIGFzIGEgZGVsaW0tKTIuNTgyIEYoaXRlcikxMDggMzk2CitRIDUoLkkpLS41NSBHIDIuNShmdCktNSBHKGhlIHYpLTIuNSBFKGFsdWUgb2YpLS4yNSBFIEYyKElGUykyLjUgRSBGMAorKGlzIG51bGwsIG5vIHcpMi4yNSBFKG9yZCBzcGxpdHRpbmcgb2NjdXJzLiktLjEgRSAxLjg3OQorKEV4cGxpY2l0IG51bGwgYXIpMTA4IDQxMi44IFIgMS44NzkoZ3VtZW50cyBcKCktLjE4IEYgRjQgLjgzMygiIikuODMzIEcKK0YwKG9yKTMuNTQ1IEUgRjQgLjgzMzwwODA4PjUuMjExIEcgRjAgNC4zNzgoXClhKUMgMS44NzgocmUgcmV0YWluZWQuKQorLTQuMzc4IEYgMS44NzgoVW5xdW90ZWQgaW1wbGljaXQgbnVsbCBhcik2Ljg3OCBGIDEuODc4CisoZ3VtZW50cywgcmVzdWx0aW5nIGZyb20gdGhlKS0uMTggRiAtLjE1KGV4KTEwOCA0MjQuOCBTIC4xNzYKKyhwYW5zaW9uIG9mIHBhcmFtZXRlcnMgdGhhdCBoYSkuMTUgRiAuNDc2IC0uMTUodmUgbiktLjIgSCAyLjY3NihvdikuMTUgRworLjE3NihhbHVlcywgYXJlIHJlbW8pLTIuOTI2IEYgLS4xNSh2ZSktLjE1IEcgMi42NzYoZC4gSWYpLjE1IEYgMi42NzcoYXApCisyLjY3NyBHIC4xNzcoYXJhbWV0ZXIgd2l0aCBubyB2KS0yLjY3NyBGIC4xNzcoYWx1ZSBpcyBlKS0uMjUgRiAuMTc3CisoeHBhbmRlZCB3aXRoaW4pLS4xNSBGKGRvdWJsZSBxdW90ZXMsIGEgbnVsbCBhcikxMDggNDM2LjggUQorKGd1bWVudCByZXN1bHRzIGFuZCBpcyByZXRhaW5lZC4pLS4xOCBFKE5vdGUgdGhhdCBpZiBubyBlKTEwOCA0NTMuNiBRCisoeHBhbnNpb24gb2NjdXJzLCBubyBzcGxpdHRpbmcgaXMgcGVyZm9ybWVkLiktLjE1IEUgRjQgLS4xKFBhKTg3IDQ3MC40IFMKKyh0aG5hbWUgRXhwYW5zaW9uKS4xIEUgRjAgLjM3MShBZnRlciB3KTEwOCA0ODIuNCBSIC4zNzEKKyhvcmQgc3BsaXR0aW5nLCB1bmxlc3MgdGhlKS0uMSBGIEY0PGFkNjY+Mi44NzEgRSBGMCAuMzcxCisob3B0aW9uIGhhcyBiZWVuIHNldCwpMi44NzEgRiBGNChiYXNoKTIuODcxIEUgRjAgLjM3KHNjYW5zIGVhY2ggdykyLjg3IEYKKy4zNyhvcmQgZm9yIHRoZSBjaGFyYWN0ZXJzKS0uMSBGIEY0KCopMi44NyBFIEYwKCwpQSBGNCg/KTIuODcgRSBGMCAyLjg3CisoLGEpQyhuZCktMi44NyBFIEY0KFspMi44NyBFIEYwKC4pQSAuNjc3CisoSWYgb25lIG9mIHRoZXNlIGNoYXJhY3RlcnMgYXBwZWFycywgdGhlbiB0aGUgdykxMDggNDk0LjQgUiAuNjc3Cisob3JkIGlzIHJlKS0uMSBGIC0uMDUoZ2EpLS4xNSBHIC42NzcocmRlZCBhcyBhKS4wNSBGIEYxKHBhdHRlcm4pMy4xNzcgRQorRjAgMy4xNzcoLGEpLjI0IEcgLjY3OChuZCByZXBsYWNlZCB3aXRoIGFuIGFscGhhYmV0aS0pLTMuMTc3IEYgMS40NTcKKyhjYWxseSBzb3J0ZWQgbGlzdCBvZiBcMjE0bGUgbmFtZXMgbWF0Y2hpbmcgdGhlIHBhdHRlcm4uKTEwOCA1MDYuNCBSCisxLjQ1NihJZiBubyBtYXRjaGluZyBcMjE0bGUgbmFtZXMgYXJlIGZvdW5kLCBhbmQgdGhlIHNoZWxsKTYuNDU3IEYKKyhvcHRpb24pMTA4IDUxOC40IFEgRjQobnVsbGdsb2IpMi41MzcgRSBGMCAuMDM4KGlzIG5vdCBlbmFibGVkLCB0aGUgdykKKzIuNTM3IEYgLjAzOChvcmQgaXMgbGVmdCB1bmNoYW5nZWQuKS0uMSBGIC4wMzgoSWYgdGhlKTUuMDM4IEYgRjQKKyhudWxsZ2xvYikyLjUzOCBFIEYwIC4wMzgob3B0aW9uIGlzIHNldCwgYW5kIG5vIG1hdGNoZXMgYXJlKTIuNTM4IEYgLjMwNgorKGZvdW5kLCB0aGUgdykxMDggNTMwLjQgUiAuMzA2KG9yZCBpcyByZW1vKS0uMSBGIC0uMTUodmUpLS4xNSBHIDIuODA2CisoZC4gSWYpLjE1IEYodGhlKTIuODA1IEUgRjQoZmFpbGdsb2IpMi44MDUgRSBGMCAuMzA1CiAoc2hlbGwgb3B0aW9uIGlzIHNldCwgYW5kIG5vIG1hdGNoZXMgYXJlIGZvdW5kLCBhbiBlcnJvciBtZXNzYWdlKTIuODA1IEYKLS45MjgoaXMgcHJpbnRlZCBhbmQgdGhlIGNvbW1hbmQgaXMgbm90IGUpMTA4IDE1NiBSIC0uMTUoeGUpLS4xNSBHIDMuNDI4Ci0oY3V0ZWQuIElmKS4xNSBGIC45MjgodGhlIHNoZWxsIG9wdGlvbikzLjQyOCBGIEYxKG5vY2FzZWdsb2IpMy40MjggRSBGMAotLjkyOShpcyBlbmFibGVkLCB0aGUgbWF0Y2ggaXMgcGVyKTMuNDI5IEYoLSktLjIgRSAuMDMzCi0oZm9ybWVkIHdpdGhvdXQgcmUpMTA4IDE2OCBSIC0uMDUoZ2EpLS4xNSBHIC4wMzMKKy45MjgoaXMgcHJpbnRlZCBhbmQgdGhlIGNvbW1hbmQgaXMgbm90IGUpMTA4IDU0Mi40IFIgLS4xNSh4ZSktLjE1IEcKKzMuNDI4KGN1dGVkLiBJZikuMTUgRiAuOTI4KHRoZSBzaGVsbCBvcHRpb24pMy40MjggRiBGNChub2Nhc2VnbG9iKTMuNDI4CitFIEYwIC45MjkoaXMgZW5hYmxlZCwgdGhlIG1hdGNoIGlzIHBlcikzLjQyOSBGKC0pLS4yIEUgLjAzMworKGZvcm1lZCB3aXRob3V0IHJlKTEwOCA1NTQuNCBSIC0uMDUoZ2EpLS4xNSBHIC4wMzMKIChyZCB0byB0aGUgY2FzZSBvZiBhbHBoYWJldGljIGNoYXJhY3RlcnMuKS4wNSBGIC4wMzIKIChXaGVuIGEgcGF0dGVybiBpcyB1c2VkIGZvciBwYXRobmFtZSBlKTUuMDMyIEYoeHBhbnNpb24sKS0uMTUgRSAuMTA0Ci0odGhlIGNoYXJhY3RlcikxMDggMTgwIFIgRjEgLS42MyhgYCkyLjYwNCBHIC0uNTUoLicpLjYzIEcoJyktLjA4IEUgRjAKKyh0aGUgY2hhcmFjdGVyKTEwOCA1NjYuNCBSIEY0IC0uNjMoYGApMi42MDQgRyAtLjU1KC4nKS42MyBHKCcpLS4wOCBFIEYwCiAuMTA0KGF0IHRoZSBzdGFydCBvZiBhIG5hbWUgb3IgaW1tZWRpYXRlbHkgZm9sbG8pNS4xMDQgRiAuMTA1CiAod2luZyBhIHNsYXNoIG11c3QgYmUgbWF0Y2hlZCBlKS0uMjUgRih4cGxpY2l0bHkpLS4xNSBFIDIuNjA1KCx1KS0uNjUgRwotKG5sZXNzKS0yLjYwNSBFIC44ODgodGhlIHNoZWxsIG9wdGlvbikxMDggMTkyIFIgRjEoZG90Z2xvYikzLjM4OCBFIEYwCisobmxlc3MpLTIuNjA1IEUgLjg4OCh0aGUgc2hlbGwgb3B0aW9uKTEwOCA1NzguNCBSIEY0KGRvdGdsb2IpMy4zODggRSBGMAogLjg4OChpcyBzZXQuKTMuMzg4IEYgLjg4NwogKFdoZW4gbWF0Y2hpbmcgYSBwYXRobmFtZSwgdGhlIHNsYXNoIGNoYXJhY3RlciBtdXN0IGFsKTUuODg4IEYgLS4xKHdhKQotLS4xIEcgLjg4Nyh5cyBiZSBtYXRjaGVkKS4xIEYgLS4xNShleCkxMDggMjA0IFMocGxpY2l0bHkpLjE1IEUgNi4xNjUoLkkpCi0tLjY1IEcgMy42NjUobm8pLTYuMTY1IEcgMS4xNjUodGhlciBjYXNlcywgdGhlKS0zLjY2NSBGIEYxIC0uNjMoYGApMy42NjUKLUcgLS41NSguJykuNjMgRygnKS0uMDggRSBGMCAxLjE2NihjaGFyYWN0ZXIgaXMgbm90IHRyZWF0ZWQgc3BlY2lhbGx5KQotNi4xNjUgRiA2LjE2NiguUyktLjY1IEcgMS4xNjYoZWUgdGhlIGRlc2NyaXB0aW9uIG9mKS02LjE2NiBGIEYxKHNob3B0KQotMy42NjYgRSBGMChiZWxvKTMuNjY2IEUodyktLjI1IEUodW5kZXIpMTA4IDIxNiBRL0YzIDkvVGltZXMtQm9sZEAwIFNGCi0uNDc4KFNIRUxMIEIpMi45NzggRihVSUwpLS4wOSBFIC40NzgoVElOIENPTU1BTkRTKS0uODI4IEYgRjAgLjQ3NwotKGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSkyLjcyOCBGIEYxKG5vY2FzZWdsb2IpMi45NzcgRSBGMCgsKUEgRjEKLShudWxsZ2xvYikyLjk3NyBFIEYwKCwpQSBGMShmYWlsZ2xvYikyLjk3NyBFIEYwIDIuOTc3KCxhKUMobmQpLTIuOTc3IEUKLUYxKGRvdGdsb2IpMi45NzcgRSBGMChzaGVsbCBvcHRpb25zLikxMDggMjI4IFEoVGhlKTEwOCAyNDQuOCBRIEYzCi0oR0xPQklHTk9SRSkyLjYzIEUgRjAgLjEzKHNoZWxsIHYpMi4zOCBGIC4xMzEKKy0uMSBHIC44ODcoeXMgYmUgbWF0Y2hlZCkuMSBGIC0uMTUoZXgpMTA4IDU5MC40IFMocGxpY2l0bHkpLjE1IEUgNi4xNjUKKyguSSktLjY1IEcgMy42NjUobm8pLTYuMTY1IEcgMS4xNjUodGhlciBjYXNlcywgdGhlKS0zLjY2NSBGIEY0IC0uNjMoYGApCiszLjY2NSBHIC0uNTUoLicpLjYzIEcoJyktLjA4IEUgRjAgMS4xNjYKKyhjaGFyYWN0ZXIgaXMgbm90IHRyZWF0ZWQgc3BlY2lhbGx5KTYuMTY1IEYgNi4xNjYoLlMpLS42NSBHIDEuMTY2CisoZWUgdGhlIGRlc2NyaXB0aW9uIG9mKS02LjE2NiBGIEY0KHNob3B0KTMuNjY2IEUgRjAoYmVsbykzLjY2NiBFKHcpLS4yNQorRSh1bmRlcikxMDggNjAyLjQgUSBGMiAuNDc4KFNIRUxMIEIpMi45NzggRihVSUwpLS4wOSBFIC40NzgKKyhUSU4gQ09NTUFORFMpLS44MjggRiBGMCAuNDc3KGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSkyLjcyOCBGIEY0Cisobm9jYXNlZ2xvYikyLjk3NyBFIEYwKCwpQSBGNChudWxsZ2xvYikyLjk3NyBFIEYwKCwpQSBGNChmYWlsZ2xvYikyLjk3NworRSBGMCAyLjk3NygsYSlDKG5kKS0yLjk3NyBFIEY0KGRvdGdsb2IpMi45NzcgRSBGMChzaGVsbCBvcHRpb25zLikxMDgKKzYxNC40IFEoVGhlKTEwOCA2MzEuMiBRIEYyKEdMT0JJR05PUkUpMi42MyBFIEYwIC4xMyhzaGVsbCB2KTIuMzggRiAuMTMxCiAoYXJpYWJsZSBtYXkgYmUgdXNlZCB0byByZXN0cmljdCB0aGUgc2V0IG9mIFwyMTRsZSBuYW1lcyBtYXRjaGluZyBhKS0uMjUKLUYgRjIocGF0dGVybikyLjYzMSBFIEYwIDUuMTMxKC5JKS4yNCBHKGYpLTUuMTMxIEUgRjMoR0xPLSkyLjYzMSBFCi0oQklHTk9SRSkxMDggMjU2LjggUSBGMCAyLjAxNShpcyBzZXQsIGVhY2ggbWF0Y2hpbmcgXDIxNGxlIG5hbWUgdGhhdCBhbFwKLXNvIG1hdGNoZXMgb25lIG9mIHRoZSBwYXR0ZXJucyBpbik0LjI2NSBGIEYzKEdMT0JJR05PUkUpNC41MTUgRSBGMChpcykKLTQuMjY0IEUocmVtbykxMDggMjY4LjggUSAtLjE1KHZlKS0uMTUgRyAyLjUwMyhkZikuMTUgRyAuMDAzCi0ocm9tIHRoZSBsaXN0IG9mIG1hdGNoZXMuKS0yLjUwMyBGIC4wMDMoVGhlIFwyMTRsZSBuYW1lcyk1LjAwMyBGIEYxIC0uNjMKLShgYCkyLjUwMyBHIC0uNTUoLicpLjYzIEcoJyktLjA4IEUgRjAoYW5kKTUuMDAzIEUgRjEgLS42MyhgYCkyLjUwMyBHKC4uKQorRiBGMShwYXR0ZXJuKTIuNjMxIEUgRjAgNS4xMzEoLkkpLjI0IEcoZiktNS4xMzEgRSBGMihHTE8tKTIuNjMxIEUKKyhCSUdOT1JFKTEwOCA2NDMuMiBRIEYwIDIuMDE1KGlzIHNldCwgZWFjaCBtYXRjaGluZyBcMjE0bGUgbmFtZSB0aGF0IGFsXAorc28gbWF0Y2hlcyBvbmUgb2YgdGhlIHBhdHRlcm5zIGluKTQuMjY1IEYgRjIoR0xPQklHTk9SRSk0LjUxNSBFIEYwKGlzKQorNC4yNjQgRShyZW1vKTEwOCA2NTUuMiBRIC0uMTUodmUpLS4xNSBHIDIuNTAzKGRmKS4xNSBHIC4wMDMKKyhyb20gdGhlIGxpc3Qgb2YgbWF0Y2hlcy4pLTIuNTAzIEYgLjAwMyhUaGUgXDIxNGxlIG5hbWVzKTUuMDAzIEYgRjQgLS42MworKGBgKTIuNTAzIEcgLS41NSguJykuNjMgRygnKS0uMDggRSBGMChhbmQpNS4wMDMgRSBGNCAtLjYzKGBgKTIuNTAzIEcoLi4pCiAuNjMgRSAtLjYzKCcnKS0uNTUgRyBGMCAuMDA0KGFyZSBhbCk1LjYzMyBGIC0uMSh3YSktLjEgRyAuMDA0Ci0oeXMgaWdub3JlZCB3aGVuKS4xIEYgRjMoR0xPQklHTk9SRSkyLjUwNCBFIEYwKGlzKTIuMjU0IEUgLjA0NgotKHNldCBhbmQgbm90IG51bGwuKTEwOCAyODAuOCBSKEhvKTUuMDQ2IEUod2UpLS4yNSBFIC0uMTUodmUpLS4yNSBHIC44NDYKLS0uNChyLCBzKS4xNSBIKGV0dGluZykuNCBFIEYzKEdMT0JJR05PUkUpMi41NDYgRSBGMCAuMDQ2CisoeXMgaWdub3JlZCB3aGVuKS4xIEYgRjIoR0xPQklHTk9SRSkyLjUwNCBFIEYwKGlzKTIuMjU0IEUgLjA0NgorKHNldCBhbmQgbm90IG51bGwuKTEwOCA2NjcuMiBSKEhvKTUuMDQ2IEUod2UpLS4yNSBFIC0uMTUodmUpLS4yNSBHIC44NDYKKy0uNChyLCBzKS4xNSBIKGV0dGluZykuNCBFIEYyKEdMT0JJR05PUkUpMi41NDYgRSBGMCAuMDQ2CiAodG8gYSBub24tbnVsbCB2KTIuMjk2IEYgLjA0NShhbHVlIGhhcyB0aGUgZWYpLS4yNSBGIC4wNDUKLShmZWN0IG9mIGVuYWJsaW5nIHRoZSktLjI1IEYgRjEoZG90Z2xvYikyLjU0NSBFIEYwIC42MTMKLShzaGVsbCBvcHRpb24sIHNvIGFsbCBvdGhlciBcMjE0bGUgbmFtZXMgYmUpMTA4IDI5Mi44IFIgLjYxNAotKGdpbm5pbmcgd2l0aCBhKS0uMTUgRiBGMSAtLjYzKGBgKTMuMTE0IEcgLS41NSguJykuNjMgRygnKS0uMDggRSBGMCAuNjE0CisoZmVjdCBvZiBlbmFibGluZyB0aGUpLS4yNSBGIEY0KGRvdGdsb2IpMi41NDUgRSBGMCAuNjEzCisoc2hlbGwgb3B0aW9uLCBzbyBhbGwgb3RoZXIgXDIxNGxlIG5hbWVzIGJlKTEwOCA2NzkuMiBSIC42MTQKKyhnaW5uaW5nIHdpdGggYSktLjE1IEYgRjQgLS42MyhgYCkzLjExNCBHIC0uNTUoLicpLjYzIEcoJyktLjA4IEUgRjAgLjYxNAogKHdpbGwgbWF0Y2guKTUuNjE0IEYgMi4yMTQgLS44KFRvIGcpNS42MTQgSCAuNjE0KGV0IHRoZSBvbGQgYmVoYSkuOCBGCi0uNjE0KHZpb3Igb2YgaWdub3JpbmcpLS4yIEYgLjQ1NyhcMjE0bGUgbmFtZXMgYmUpMTA4IDMwNC44IFIgLjQ1NwotKGdpbm5pbmcgd2l0aCBhKS0uMTUgRiBGMSAtLjYzKGBgKTIuOTU3IEcgLS41NSguJykuNjMgRygnKS0uMDggRSBGMAotMi45NTcoLG0pQyhhayktMi45NTcgRShlKS0uMSBFIEYxIC0uNjMoYGApMi45NTcgRyguKicpLjYzIEUoJyktLjYzIEUgRjAKLS40NTcob25lIG9mIHRoZSBwYXR0ZXJucyBpbik1LjQ1NyBGIEYzKEdMT0JJR05PUkUpMi45NTcgRS9GNCA5Ci0vVGltZXMtUm9tYW5AMCBTRiguKUEgRjAoVGhlKTQuOTU3IEUgRjEoZG90Z2xvYikyLjk1NiBFIEYwIC40NTYKLShvcHRpb24gaXMpMi45NTYgRihkaXNhYmxlZCB3aGVuKTEwOCAzMTYuOCBRIEYzKEdMT0JJR05PUkUpMi41IEUgRjAKLShpcyB1bnNldC4pMi4yNSBFIEYxIC0uMShQYSkxMDggMzMzLjYgUyh0dGVyKS4xIEUgMi41KG5NKS0uMTUgRyhhdGNoaW5nKQotLTIuNSBFIEYwKEFuKTEwOCAzNTAuNCBRIDMuMTM4KHljKS0uMTUgRyAuNjM4KGhhcmFjdGVyIHRoYXQgYXBwZWFycyBpbiBcCi1hIHBhdHRlcm4sIG90aGVyIHRoYW4gdGhlIHNwZWNpYWwgcGF0dGVybiBjaGFyYWN0ZXJzIGRlc2NyaWJlZCBiZWxvKQotLTMuMTM4IEYgMS45MzggLS42NSh3LCBtKS0uMjUgSChhdGNoZXMpLjY1IEUgMy42MihpdHNlbGYuIFRoZSkxMDggMzYyLjQKLVIgMS4xMihOVUwgY2hhcmFjdGVyIG1heSBub3Qgb2NjdXIgaW4gYSBwYXR0ZXJuLikzLjYyIEYgMy42MihBYik2LjEyIEcKLTEuMTIoYWNrc2xhc2ggZXNjYXBlcyB0aGUgZm9sbG8pLTMuNjIgRiAxLjEyKHdpbmcgY2hhcmFjdGVyOyB0aGUpLS4yNSBGCi0uNTc2KGVzY2FwaW5nIGJhY2tzbGFzaCBpcyBkaXNjYXJkZWQgd2hlbiBtYXRjaGluZy4pMTA4IDM3NC40IFIgLjU3NgotKFRoZSBzcGVjaWFsIHBhdHRlcm4gY2hhcmFjdGVycyBtdXN0IGJlIHF1b3RlZCBpZiB0aGUpNS41NzYgRiAzLjA3Nih5YSkKLS0uMTUgRyhyZSktMy4wNzYgRSh0byBiZSBtYXRjaGVkIGxpdGVyYWxseSkxMDggMzg2LjQgUSguKS0uNjUgRQotKFRoZSBzcGVjaWFsIHBhdHRlcm4gY2hhcmFjdGVycyBoYSkxMDggNDAzLjIgUSAuMyAtLjE1KHZlIHQpLS4yIEgKLShoZSBmb2xsbykuMTUgRSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjEoKikxMDggNDIwIFEgRjAgLjQ1NShNYXRjaGVzIGFuKQotMzEgRiAyLjk1NSh5cyktLjE1IEcgLjQ1NSh0cmluZywgaW5jbHVkaW5nIHRoZSBudWxsIHN0cmluZy4pLTIuOTU1IEYKLS40NTUoV2hlbiB0aGUpNS40NTUgRiBGMShnbG9ic3RhcikyLjk1NSBFIEYwIC40NTUKLShzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCwgYW5kKTIuOTU1IEYgRjEoKikyLjk1NSBFIEYwKGlzKTIuOTU1IEUgLjMxNAotKHVzZWQgaW4gYSBwYXRobmFtZSBlKTE0NCA0MzIgUiAuMzE0KHhwYW5zaW9uIGNvbnRlKS0uMTUgRiAuMzE0KHh0LCB0dykKLS0uMTUgRiAyLjgxNChvYSktLjEgRyhkamFjZW50KS0yLjgxNCBFIEYxKCopMi44MTQgRSBGMCAyLjgxNChzdSlDIC4zMTQKLShzZWQgYXMgYSBzaW5nbGUgcGF0dGVybiB3aWxsIG1hdGNoIGFsbCBcMjE0bGVzKS0yLjgxNCBGIDEuMTgzCi0oYW5kIHplcm8gb3IgbW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKTE0NCA0NDQgUiAxLjE4MwotKElmIGZvbGxvKTYuMTgzIEYgMS4xODMod2VkIGJ5IGEpLS4yNSBGIEYxKC8pMy42ODMgRSBGMCAzLjY4MygsdClDIDEuMzgzCi0tLjEod28gYSktMy42ODMgSChkamFjZW50KS4xIEUgRjEoKikzLjY4MyBFIEYwIDMuNjgzKHN3KUMgMS4xODMKLShpbGwgbWF0Y2gpLTMuNjgzIEYob25seSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKTE0NCA0NTYgUSBGMSg/KQotMTA4IDQ2OCBRIEYwKE1hdGNoZXMgYW4pMzEgRSAyLjUoeXMpLS4xNSBHKGluZ2xlIGNoYXJhY3RlciktMi41IEUoLiktLjU1Ci1FIEYxKFsuLi5dKTEwOCA0ODAgUSBGMCAuMjU2KE1hdGNoZXMgYW4pMjEuODQgRiAyLjc1Nih5byktLjE1IEcgLjI1NwotKG5lIG9mIHRoZSBlbmNsb3NlZCBjaGFyYWN0ZXJzLiktMi43NTYgRiAyLjc1NyhBcCk1LjI1NyBHIC4yNTcKLShhaXIgb2YgY2hhcmFjdGVycyBzZXBhcmF0ZWQgYnkgYSBoKS0yLjc1NyBGIC4yNTcoeXBoZW4gZGVub3RlcyBhKS0uMDUgRgotRjIgLS4xNShyYSkxNDQgNDkyIFMobmcpLjE1IEUgMy4yOShlZSktLjEgRyh4cHIpLTMuNDkgRShlc3Npb24pLS4zNyBFIEYwCi0zLjI5KDthKUMgMS4wOSAtLjE1KG55IGMpLTMuMjkgSCAuNzg5Ci0oaGFyYWN0ZXIgdGhhdCBzb3J0cyBiZXR3ZWVuIHRob3NlIHR3KS4xNSBGIDMuMjg5KG9jKS0uMSBHIC43ODkKLShoYXJhY3RlcnMsIGluY2x1c2kpLTMuMjg5IEYgLS4xNSh2ZSktLjI1IEcgMy4yODkoLHUpLjE1IEcgLjc4OQotKHNpbmcgdGhlIGN1ciktMy4yODkgRigtKS0uMiBFIC4zNDkocmVudCBsb2NhbGUnKTE0NCA1MDQgUiAyLjg0OShzYyktLjU1Ci1HIC4zNDkob2xsYXRpbmcgc2VxdWVuY2UgYW5kIGNoYXJhY3RlciBzZXQsIGlzIG1hdGNoZWQuKS0yLjg0OSBGIC4zNQotKElmIHRoZSBcMjE0cnN0IGNoYXJhY3RlciBmb2xsbyk1LjM0OSBGIC4zNSh3aW5nIHRoZSktLjI1IEYgRjEoWykyLjg1IEUKLUYwIC41NjQoaXMgYSkxNDQgNTE2IFIgRjEoISkzLjA2NCBFIEYwIC41NjQob3IgYSk1LjU2NCBGIEYxKF4pMy4wNjQgRSBGMAotLjU2NCh0aGVuIGFuKTMuMDY0IEYgMy4wNjQoeWMpLS4xNSBHIC41NjQKLShoYXJhY3RlciBub3QgZW5jbG9zZWQgaXMgbWF0Y2hlZC4pLTMuMDY0IEYgLjU2MwotKFRoZSBzb3J0aW5nIG9yZGVyIG9mIGNoYXJhY3RlcnMgaW4gcmFuZ2UpNS41NjQgRiAtLjE1KGV4KTE0NCA1MjggUyAuNDY3Ci0ocHJlc3Npb25zIGlzIGRldGVybWluZWQgYnkgdGhlIGN1cnJlbnQgbG9jYWxlIGFuZCB0aGUgdikuMTUgRiAuNDY3Ci0oYWx1ZSBvZiB0aGUpLS4yNSBGIEYzKExDX0NPTExBKTIuOTY3IEUoVEUpLS44NTUgRSBGMCAuNDY3KHNoZWxsIHYpMi43MTcKLUYoYXJpYWJsZSwpLS4yNSBFIDEuMDc3KGlmIHNldC4pMTQ0IDU0MCBSKEEpNi4wNzcgRSBGMTxhZD4zLjU3NyBFIEYwCi0xLjA3NyhtYXkgYmUgbWF0Y2hlZCBieSBpbmNsdWRpbmcgaXQgYXMgdGhlIFwyMTRyc3Qgb3IgbGFzdCBjaGFyYWN0ZXIgaVwKLW4gdGhlIHNldC4pMy41NzcgRihBKTYuMDc2IEUgRjEoXSkzLjU3NiBFIEYwIDEuMDc2KG1heSBiZSkzLjU3NiBGCi0obWF0Y2hlZCBieSBpbmNsdWRpbmcgaXQgYXMgdGhlIFwyMTRyc3QgY2hhcmFjdGVyIGluIHRoZSBzZXQuKTE0NCA1NTIgUQotLS40KFdpKTE0NCA1NzAgUyh0aGluKS40IEUgRjEoWykyLjkxNCBFIEYwKGFuZCkyLjkxNCBFIEYxKF0pMi45MTQgRSBGMAotKCwpQSBGMiAtLjE1KGNoKTIuOTE0IEcoYXIpLjE1IEUgLjQxNChhY3RlciBjbGFzc2VzKS0uMTUgRiBGMCAuNDE1Ci0oY2FuIGJlIHNwZWNpXDIxNGVkIHVzaW5nIHRoZSBzeW50YXgpMi45MTUgRiBGMShbOikyLjkxNSBFIEYyKGNsYXNzKUEgRjEKLSg6XSlBIEYwIDIuOTE1KCx3KUMoaGVyZSktMi45MTUgRSBGMihjbGFzcykyLjkxNSBFIEYwIC40MTUoaXMgb25lIG9mKQotMi45MTUgRih0aGUgZm9sbG8pMTQ0IDU4MiBRCi0od2luZyBjbGFzc2VzIGRlXDIxNG5lZCBpbiB0aGUgUE9TSVggc3RhbmRhcmQ6KS0uMjUgRSBGMSA1LjQyMQotKGFsbnVtIGFscGhhIGFzY2lpIGJsYW5rIGNudHJsIGRpZ2l0IGdyYXBoIGxvKTE0NCA1OTQgUiA1LjQyMQotKHdlciBwcmludCBwdW5jdCBzcGFjZSB1cHBlciB3KS0uMSBGKG9yZCktLjEgRSh4ZGlnaXQpMTQ0IDYwNiBRIEYwIDIuNTE4Ci0oQWMpMTQ0IDYxOCBTIC4wMTgoaGFyYWN0ZXIgY2xhc3MgbWF0Y2hlcyBhbiktMi41MTggRiAyLjUxOCh5YyktLjE1IEcKLS4wMTkoaGFyYWN0ZXIgYmVsb25naW5nIHRvIHRoYXQgY2xhc3MuKS0yLjUxOCBGKFRoZSk1LjAxOSBFIEYxIC0uMSh3bykKLTIuNTE5IEcocmQpLjEgRSBGMCAuMDE5KGNoYXJhY3RlciBjbGFzcyBtYXRjaGVzKTIuNTE5IEYKLShsZXR0ZXJzLCBkaWdpdHMsIGFuZCB0aGUgY2hhcmFjdGVyIF8uKTE0NCA2MzAgUSAtLjQoV2kpMTQ0IDY0OCBTKHRoaW4pCi0uNCBFIEYxKFspMy41NDcgRSBGMChhbmQpMy41NDcgRSBGMShdKTMuNTQ3IEUgRjAgMy41NDcoLGEpQyhuKS0zLjU0NyBFCi1GMiAxLjA0NihlcXVpdmFsZW5jZSBjbGFzcykzLjU0NiBGIEYwIDEuMDQ2Ci0oY2FuIGJlIHNwZWNpXDIxNGVkIHVzaW5nIHRoZSBzeW50YXgpMy41NDYgRiBGMShbPSkzLjU0NiBFIEYyKGMpQSBGMSg9XSkKLUEgRjAgMy41NDYoLHcpQyAxLjA0NihoaWNoIG1hdGNoZXMgYWxsKS0zLjU0NiBGKGNoYXJhY3RlcnMgd2l0aCB0aGUgc2FtXAotZSBjb2xsYXRpb24gd2VpZ2h0IFwoYXMgZGVcMjE0bmVkIGJ5IHRoZSBjdXJyZW50IGxvY2FsZVwpIGFzIHRoZSBjaGFyYWNcCi10ZXIpMTQ0IDY2MCBRIEYyKGMpMi41IEUgRjAoLilBIC0uNChXaSkxNDQgNjc4IFModGhpbikuNCBFIEYxKFspMi41IEUgRjAKLShhbmQpMi41IEUgRjEoXSkyLjUgRSBGMCAyLjUoLHQpQyhoZSBzeW50YXgpLTIuNSBFIEYxKFsuKTIuNSBFIEYyCi0oc3ltYm9sKUEgRjEoLl0pQSBGMChtYXRjaGVzIHRoZSBjb2xsYXRpbmcgc3ltYm9sKTIuNSBFIEYyKHN5bWJvbCkyLjUgRQotRjAoLilBIC43MDQoSWYgdGhlKTEwOCA2OTQuOCBSIEYxKGV4dGdsb2IpMy4yMDQgRSBGMCAuNzA1Ci0oc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgdXNpbmcgdGhlKTMuMjA0IEYgRjEoc2hvcHQpMy4yMDUgRSBGMCAtLjIoYnUpCi0zLjIwNSBHIC43MDUoaWx0aW4sIHNlKS4yIEYgLS4xNSh2ZSktLjI1IEcgLjcwNShyYWwgZSkuMTUgRiAuNzA1Ci0oeHRlbmRlZCBwYXR0ZXJuIG1hdGNoaW5nIG9wZXJhdG9ycyktLjE1IEYgLjI1NihhcmUgcmVjb2duaXplZC4pMTA4Ci03MDYuOCBSIC4yNTYoSW4gdGhlIGZvbGxvKTUuMjU2IEYgLjI1Nih3aW5nIGRlc2NyaXB0aW9uLCBhKS0uMjUgRiBGMgotKHBhdHRlcm4tbGlzdCkyLjc1NSBFIEYwIC4yNTUKLShpcyBhIGxpc3Qgb2Ygb25lIG9yIG1vcmUgcGF0dGVybnMgc2VwYXJhdGVkIGJ5IGEpMi43NTUgRiBGMSh8KTIuNzU1IEUKLUYwKC4pQShDb21wb3NpdGUgcGF0dGVybnMgbWF5IGJlIGZvcm1lZCB1c2luZyBvbmUgb3IgbW9yZSBvZiB0aGUgZm9sbG8pCi0xMDggNzE4LjggUSh3aW5nIHN1Yi1wYXR0ZXJuczopLS4yNSBFKEdOVSBCYXNoLTQuMSk3MiA3NjggUQotKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDIyKTE4NS45NTUgRSAwIENnIEVQCisuNjE0KHZpb3Igb2YgaWdub3JpbmcpLS4yIEYgLjQ1NyhcMjE0bGUgbmFtZXMgYmUpMTA4IDY5MS4yIFIgLjQ1NworKGdpbm5pbmcgd2l0aCBhKS0uMTUgRiBGNCAtLjYzKGBgKTIuOTU3IEcgLS41NSguJykuNjMgRygnKS0uMDggRSBGMAorMi45NTcoLG0pQyhhayktMi45NTcgRShlKS0uMSBFIEY0IC0uNjMoYGApMi45NTcgRyguKicpLjYzIEUoJyktLjYzIEUgRjAKKy40NTcob25lIG9mIHRoZSBwYXR0ZXJucyBpbik1LjQ1NyBGIEYyKEdMT0JJR05PUkUpMi45NTcgRSBGMyguKUEgRjAoVGhlKQorNC45NTcgRSBGNChkb3RnbG9iKTIuOTU2IEUgRjAgLjQ1NihvcHRpb24gaXMpMi45NTYgRihkaXNhYmxlZCB3aGVuKTEwOAorNzAzLjIgUSBGMihHTE9CSUdOT1JFKTIuNSBFIEYwKGlzIHVuc2V0LikyLjI1IEUgRjQgLS4xKFBhKTEwOCA3MjAgUworKHR0ZXIpLjEgRSAyLjUobk0pLS4xNSBHKGF0Y2hpbmcpLTIuNSBFIEYwKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDIyKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDIzIDIzCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRig/XCgpMTQ0IDg0IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKKy0uMzUgRShBbikxMDggODQgUSAzLjEzOCh5YyktLjE1IEcgLjYzOChoYXJhY3RlciB0aGF0IGFwcGVhcnMgaW4gYSBwYXR0XAorZXJuLCBvdGhlciB0aGFuIHRoZSBzcGVjaWFsIHBhdHRlcm4gY2hhcmFjdGVycyBkZXNjcmliZWQgYmVsbyktMy4xMzggRgorMS45MzggLS42NSh3LCBtKS0uMjUgSChhdGNoZXMpLjY1IEUgMy42MihpdHNlbGYuIFRoZSkxMDggOTYgUiAxLjEyCisoTlVMIGNoYXJhY3RlciBtYXkgbm90IG9jY3VyIGluIGEgcGF0dGVybi4pMy42MiBGIDMuNjIoQWIpNi4xMiBHIDEuMTIKKyhhY2tzbGFzaCBlc2NhcGVzIHRoZSBmb2xsbyktMy42MiBGIDEuMTIod2luZyBjaGFyYWN0ZXI7IHRoZSktLjI1IEYgLjU3NgorKGVzY2FwaW5nIGJhY2tzbGFzaCBpcyBkaXNjYXJkZWQgd2hlbiBtYXRjaGluZy4pMTA4IDEwOCBSIC41NzYKKyhUaGUgc3BlY2lhbCBwYXR0ZXJuIGNoYXJhY3RlcnMgbXVzdCBiZSBxdW90ZWQgaWYgdGhlKTUuNTc2IEYgMy4wNzYoeWEpCistLjE1IEcocmUpLTMuMDc2IEUodG8gYmUgbWF0Y2hlZCBsaXRlcmFsbHkpMTA4IDEyMCBRKC4pLS42NSBFCisoVGhlIHNwZWNpYWwgcGF0dGVybiBjaGFyYWN0ZXJzIGhhKTEwOCAxMzYuOCBRIC4zIC0uMTUodmUgdCktLjIgSAorKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KS0uMjUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoKikxNDQgMTUzLjYKK1EgRjAgLjM3NyhNYXRjaGVzIGFuKTMxIEYgMi44NzcoeXMpLS4xNSBHIC4zNzYKKyh0cmluZywgaW5jbHVkaW5nIHRoZSBudWxsIHN0cmluZy4pLTIuODc3IEYgLjM3NihXaGVuIHRoZSk1LjM3NiBGIEYxCisoZ2xvYnN0YXIpMi44NzYgRSBGMCAuMzc2KHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkLCkyLjg3NiBGKGFuZCkxODAgMTY1LjYKK1EgRjEoKikzLjI3NSBFIEYwIC43NzUoaXMgdXNlZCBpbiBhIHBhdGhuYW1lIGUpMy4yNzUgRiAuNzc1CisoeHBhbnNpb24gY29udGUpLS4xNSBGIC43NzUoeHQsIHR3KS0uMTUgRiAzLjI3NShvYSktLjEgRyhkamFjZW50KS0zLjI3NQorRSBGMSgqKTMuMjc1IEUgRjAgMy4yNzUoc3UpQyAuNzc1KHNlZCBhcyBhIHNpbmdsZSBwYXR0ZXJuKS0zLjI3NSBGIDEuMDU4Cisod2lsbCBtYXRjaCBhbGwgXDIxNGxlcyBhbmQgemVybyBvciBtb3JlIGRpcmVjdG9yaWVzIGFuZCBzdWJkaXJlY3Rvcmllc1wKKy4pMTgwIDE3Ny42IFIgMS4wNTgoSWYgZm9sbG8pNi4wNTggRiAxLjA1OCh3ZWQgYnkgYSktLjI1IEYgRjEoLykzLjU1OCBFCitGMCgsKUEodHcpMTgwIDE4OS42IFEgMi41KG9hKS0uMSBHKGRqYWNlbnQpLTIuNSBFIEYxKCopMi41IEUgRjAgMi41KHN3KUMKKyhpbGwgbWF0Y2ggb25seSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKS0yLjUgRSBGMSg/KTE0NCAyMDEuNiBRCitGMChNYXRjaGVzIGFuKTMxIEUgMi41KHlzKS0uMTUgRyhpbmdsZSBjaGFyYWN0ZXIpLTIuNSBFKC4pLS41NSBFIEYxCisoWy4uLl0pMTQ0IDIxMy42IFEgRjAgLjU3OChNYXRjaGVzIGFuKTIxLjg0IEYgMy4wNzgoeW8pLS4xNSBHIC41NzgKKyhuZSBvZiB0aGUgZW5jbG9zZWQgY2hhcmFjdGVycy4pLTMuMDc4IEYgMy4wNzkoQXApNS41NzkgRyAuNTc5CisoYWlyIG9mIGNoYXJhY3RlcnMgc2VwYXJhdGVkIGJ5IGEgaCktMy4wNzkgRih5cGhlbiktLjA1IEUgLjUzNworKGRlbm90ZXMgYSkxODAgMjI1LjYgUi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRiAtLjE1KHJhKTMuMDM3IEcobmcpLjE1IEUKKzMuMDM3KGVlKS0uMSBHKHhwciktMy4yMzcgRShlc3Npb24pLS4zNyBFIEYwIDMuMDM3KDthKUMgLjgzNyAtLjE1KG55IGMpCistMy4wMzcgSCAuNTM3KGhhcmFjdGVyIHRoYXQgc29ydHMgYmV0d2VlbiB0aG9zZSB0dykuMTUgRiAzLjAzNihvYyktLjEgRworLjUzNihoYXJhY3RlcnMsIGluY2x1LSktMy4wMzYgRihzaSkxODAgMjM3LjYgUSAtLjE1KHZlKS0uMjUgRyAzLjcxMigsdSkKKy4xNSBHIDEuMjEyKHNpbmcgdGhlIGN1cnJlbnQgbG9jYWxlJyktMy43MTIgRiAzLjcxMihzYyktLjU1IEcgMS4yMTIKKyhvbGxhdGluZyBzZXF1ZW5jZSBhbmQgY2hhcmFjdGVyIHNldCwgaXMgbWF0Y2hlZC4pLTMuNzEyIEYgMS4yMTMoSWYgdGhlKQorNi4yMTMgRiAxLjEyNChcMjE0cnN0IGNoYXJhY3RlciBmb2xsbykxODAgMjQ5LjYgUiAxLjEyNCh3aW5nIHRoZSktLjI1IEYKK0YxKFspMy42MjQgRSBGMCAxLjEyNChpcyBhKTMuNjI0IEYgRjEoISkzLjYyNCBFIEYwIDEuMTI0KG9yIGEpNi4xMjQgRiBGMQorKF4pMy42MjMgRSBGMCAxLjEyMyh0aGVuIGFuKTMuNjIzIEYgMy42MjMoeWMpLS4xNSBHIDEuMTIzCisoaGFyYWN0ZXIgbm90IGVuY2xvc2VkIGlzIG1hdGNoZWQuKS0zLjYyMyBGIC44OTQKKyhUaGUgc29ydGluZyBvcmRlciBvZiBjaGFyYWN0ZXJzIGluIHJhbmdlIGUpMTgwIDI2MS42IFIgLjg5NQorKHhwcmVzc2lvbnMgaXMgZGV0ZXJtaW5lZCBieSB0aGUgY3VycmVudCBsb2NhbGUpLS4xNSBGIC4yNTgoYW5kIHRoZSB2KQorMTgwIDI3My42IFIgLjI1NyhhbHVlIG9mIHRoZSktLjI1IEYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoTENfQ09MTEEpMi43NTcKK0UoVEUpLS44NTUgRSBGMCAuMjU3KHNoZWxsIHYpMi41MDcgRiAuMjU3KGFyaWFibGUsIGlmIHNldC4pLS4yNSBGKEEpCis1LjI1NyBFIEYxPGFkPjIuNzU3IEUgRjAgLjI1NyhtYXkgYmUgbWF0Y2hlZCBieSBpbmNsdWQtKTIuNzU3IEYgLjc4CisoaW5nIGl0IGFzIHRoZSBcMjE0cnN0IG9yIGxhc3QgY2hhcmFjdGVyIGluIHRoZSBzZXQuKTE4MCAyODUuNiBSKEEpNS43OAorRSBGMShdKTMuMjggRSBGMCAuNzgobWF5IGJlIG1hdGNoZWQgYnkgaW5jbHVkaW5nIGl0IGFzIHRoZSkzLjI4IEYKKyhcMjE0cnN0IGNoYXJhY3RlciBpbiB0aGUgc2V0LikxODAgMjk3LjYgUSAtLjQoV2kpMTgwIDMxNS42IFModGhpbikuNCBFCitGMShbKTMuMDcxIEUgRjAoYW5kKTMuMDcxIEUgRjEoXSkzLjA3MSBFIEYwKCwpQSBGMiAtLjE1KGNoKTMuMDcxIEcoYXIpCisuMTUgRSAuNTcxKGFjdGVyIGNsYXNzZXMpLS4xNSBGIEYwIC41NzEKKyhjYW4gYmUgc3BlY2lcMjE0ZWQgdXNpbmcgdGhlIHN5bnRheCkzLjA3MSBGIEYxKFs6KTMuMDcgRSBGMihjbGFzcylBIEYxCisoOl0pQSBGMCAzLjA3KCx3KUMoaGVyZSktMy4wNyBFIEYyKGNsYXNzKTMuMDcgRSBGMChpcyBvbmUgb2YgdGhlIGZvbGxvKQorMTgwIDMyNy42IFEod2luZyBjbGFzc2VzIGRlXDIxNG5lZCBpbiB0aGUgUE9TSVggc3RhbmRhcmQ6KS0uMjUgRSBGMQorOC4xNzMoYWxudW0gYWxwaGEgYXNjaWkgYmxhbmsgY250cmwgZGlnaXQgZ3JhcGggbG8pMTgwIDMzOS42IFIgOC4xNzMKKyh3ZXIgcHJpbnQgcHVuY3Qgc3BhY2UpLS4xIEYgNSh1cHBlciB3KTE4MCAzNTEuNiBSIDUob3JkIHhkaWdpdCktLjEgRiBGMAorNC4yOShBYykxODAgMzYzLjYgUyAxLjc4OShoYXJhY3RlciBjbGFzcyBtYXRjaGVzIGFuKS00LjI5IEYgNC4yODkoeWMpCistLjE1IEcgMS43ODkoaGFyYWN0ZXIgYmVsb25naW5nIHRvIHRoYXQgY2xhc3MuKS00LjI4OSBGKFRoZSk2Ljc4OSBFIEYxCistLjEod28pNC4yODkgRyhyZCkuMSBFIEYwKGNoYXJhY3Rlcik0LjI4OSBFCisoY2xhc3MgbWF0Y2hlcyBsZXR0ZXJzLCBkaWdpdHMsIGFuZCB0aGUgY2hhcmFjdGVyIF8uKTE4MCAzNzUuNiBRIC0uNChXaSkKKzE4MCAzOTMuNiBTKHRoaW4pLjQgRSBGMShbKTQuNTM2IEUgRjAoYW5kKTQuNTM2IEUgRjEoXSk0LjUzNiBFIEYwIDQuNTM2CisoLGEpQyhuKS00LjUzNiBFIEYyIDIuMDM2KGVxdWl2YWxlbmNlIGNsYXNzKTQuNTM2IEYgRjAgMi4wMzcKKyhjYW4gYmUgc3BlY2lcMjE0ZWQgdXNpbmcgdGhlIHN5bnRheCk0LjUzNiBGIEYxKFs9KTQuNTM3IEUgRjIoYylBIEYxKD1dKQorQSBGMCA0LjUzNygsdylDKGhpY2gpLTQuNTM3IEUgLjEyNShtYXRjaGVzIGFsbCBjaGFyYWN0ZXJzIHdpdGggdGhlIHNhbWVcCisgY29sbGF0aW9uIHdlaWdodCBcKGFzIGRlXDIxNG5lZCBieSB0aGUgY3VycmVudCBsb2NhbGVcKSBhcykxODAgNDA1LjYgUgorKHRoZSBjaGFyYWN0ZXIpMTgwIDQxNy42IFEgRjIoYykyLjUgRSBGMCguKUEgLS40KFdpKTE4MCA0MzUuNiBTKHRoaW4pLjQKK0UgRjEoWykyLjUgRSBGMChhbmQpMi41IEUgRjEoXSkyLjUgRSBGMCAyLjUoLHQpQyhoZSBzeW50YXgpLTIuNSBFIEYxKFsuKQorMi41IEUgRjIoc3ltYm9sKUEgRjEoLl0pQSBGMChtYXRjaGVzIHRoZSBjb2xsYXRpbmcgc3ltYm9sKTIuNSBFIEYyCisoc3ltYm9sKTIuNSBFIEYwKC4pQSAuNzA0KElmIHRoZSkxMDggNDUyLjQgUiBGMShleHRnbG9iKTMuMjA0IEUgRjAgLjcwNQorKHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkIHVzaW5nIHRoZSkzLjIwNCBGIEYxKHNob3B0KTMuMjA1IEUgRjAgLS4yKGJ1KQorMy4yMDUgRyAuNzA1KGlsdGluLCBzZSkuMiBGIC0uMTUodmUpLS4yNSBHIC43MDUocmFsIGUpLjE1IEYgLjcwNQorKHh0ZW5kZWQgcGF0dGVybiBtYXRjaGluZyBvcGVyYXRvcnMpLS4xNSBGIC4yNTYoYXJlIHJlY29nbml6ZWQuKTEwOAorNDY0LjQgUiAuMjU2KEluIHRoZSBmb2xsbyk1LjI1NiBGIC4yNTYod2luZyBkZXNjcmlwdGlvbiwgYSktLjI1IEYgRjIKKyhwYXR0ZXJuLWxpc3QpMi43NTUgRSBGMCAuMjU1CisoaXMgYSBsaXN0IG9mIG9uZSBvciBtb3JlIHBhdHRlcm5zIHNlcGFyYXRlZCBieSBhKTIuNzU1IEYgRjEofCkyLjc1NSBFCitGMCguKUEoQ29tcG9zaXRlIHBhdHRlcm5zIG1heSBiZSBmb3JtZWQgdXNpbmcgb25lIG9yIG1vcmUgb2YgdGhlIGZvbGxvKQorMTA4IDQ3Ni40IFEod2luZyBzdWItcGF0dGVybnM6KS0uMjUgRSBGMSg/XCgpMTQ0IDUwMC40IFEgRjIKIChwYXR0ZXJuLWxpc3QpLjgzMyBFIEYxKFwpKS44MzMgRSBGMAotKE1hdGNoZXMgemVybyBvciBvbmUgb2NjdXJyZW5jZSBvZiB0aGUgZ2kpMTgwIDk2IFEgLS4xNSh2ZSktLjI1IEcgMi41Ci0obnApLjE1IEcoYXR0ZXJucyktMi41IEUgRjEoKlwoKTE0NCAxMDggUSBGMihwYXR0ZXJuLWxpc3QpLjgzMyBFIEYxKFwpKQotLjgzMyBFIEYwKE1hdGNoZXMgemVybyBvciBtb3JlIG9jY3VycmVuY2VzIG9mIHRoZSBnaSkxODAgMTIwIFEgLS4xNSh2ZSkKLS0uMjUgRyAyLjUobnApLjE1IEcoYXR0ZXJucyktMi41IEUgRjEoK1woKTE0NCAxMzIgUSBGMihwYXR0ZXJuLWxpc3QpLjgzMwotRSBGMShcKSkuODMzIEUgRjAoTWF0Y2hlcyBvbmUgb3IgbW9yZSBvY2N1cnJlbmNlcyBvZiB0aGUgZ2kpMTgwIDE0NCBRCi0tLjE1KHZlKS0uMjUgRyAyLjUobnApLjE1IEcoYXR0ZXJucyktMi41IEUgRjEoQFwoKTE0NCAxNTYgUSBGMgotKHBhdHRlcm4tbGlzdCkuODMzIEUgRjEoXCkpLjgzMyBFIEYwKE1hdGNoZXMgb25lIG9mIHRoZSBnaSkxODAgMTY4IFEKLS0uMTUodmUpLS4yNSBHIDIuNShucCkuMTUgRyhhdHRlcm5zKS0yLjUgRSBGMSghXCgpMTQ0IDE4MCBRIEYyCi0ocGF0dGVybi1saXN0KS44MzMgRSBGMShcKSkuODMzIEUgRjAoTWF0Y2hlcyBhbikxODAgMTkyIFEoeXRoaW5nIGUpLS4xNQotRSh4Y2VwdCBvbmUgb2YgdGhlIGdpKS0uMTUgRSAtLjE1KHZlKS0uMjUgRyAyLjUobnApLjE1IEcoYXR0ZXJucyktMi41IEUKLUYxKFF1b3RlIFJlbW8pODcgMjA4LjggUSAtLjEodmEpLS4xIEcobCkuMSBFIEYwIDEuMTEyCi0oQWZ0ZXIgdGhlIHByZWNlZGluZyBlKTEwOCAyMjAuOCBSIDEuMTEyCisoTWF0Y2hlcyB6ZXJvIG9yIG9uZSBvY2N1cnJlbmNlIG9mIHRoZSBnaSkxODAgNTEyLjQgUSAtLjE1KHZlKS0uMjUgRyAyLjUKKyhucCkuMTUgRyhhdHRlcm5zKS0yLjUgRSBGMSgqXCgpMTQ0IDUyNC40IFEgRjIocGF0dGVybi1saXN0KS44MzMgRSBGMQorKFwpKS44MzMgRSBGMChNYXRjaGVzIHplcm8gb3IgbW9yZSBvY2N1cnJlbmNlcyBvZiB0aGUgZ2kpMTgwIDUzNi40IFEKKy0uMTUodmUpLS4yNSBHIDIuNShucCkuMTUgRyhhdHRlcm5zKS0yLjUgRSBGMSgrXCgpMTQ0IDU0OC40IFEgRjIKKyhwYXR0ZXJuLWxpc3QpLjgzMyBFIEYxKFwpKS44MzMgRSBGMAorKE1hdGNoZXMgb25lIG9yIG1vcmUgb2NjdXJyZW5jZXMgb2YgdGhlIGdpKTE4MCA1NjAuNCBRIC0uMTUodmUpLS4yNSBHCisyLjUobnApLjE1IEcoYXR0ZXJucyktMi41IEUgRjEoQFwoKTE0NCA1NzIuNCBRIEYyKHBhdHRlcm4tbGlzdCkuODMzIEUgRjEKKyhcKSkuODMzIEUgRjAoTWF0Y2hlcyBvbmUgb2YgdGhlIGdpKTE4MCA1ODQuNCBRIC0uMTUodmUpLS4yNSBHIDIuNShucCkKKy4xNSBHKGF0dGVybnMpLTIuNSBFIEYxKCFcKCkxNDQgNTk2LjQgUSBGMihwYXR0ZXJuLWxpc3QpLjgzMyBFIEYxKFwpKQorLjgzMyBFIEYwKE1hdGNoZXMgYW4pMTgwIDYwOC40IFEoeXRoaW5nIGUpLS4xNSBFKHhjZXB0IG9uZSBvZiB0aGUgZ2kpCistLjE1IEUgLS4xNSh2ZSktLjI1IEcgMi41KG5wKS4xNSBHKGF0dGVybnMpLTIuNSBFIEYxKFF1b3RlIFJlbW8pODcgNjI1LjIKK1EgLS4xKHZhKS0uMSBHKGwpLjEgRSBGMCAxLjExMihBZnRlciB0aGUgcHJlY2VkaW5nIGUpMTA4IDYzNy4yIFIgMS4xMTIKICh4cGFuc2lvbnMsIGFsbCB1bnF1b3RlZCBvY2N1cnJlbmNlcyBvZiB0aGUgY2hhcmFjdGVycyktLjE1IEYgRjEoXFwpCiAzLjYxMyBFIEYwKCwpQSBGMTwwOD4zLjYxMyBFIEYwIDMuNjEzKCxhKUMobmQpLTMuNjEzIEUgRjEoIik0LjQ0NiBFIEYwCi0xLjExMyh0aGF0IGRpZCBub3QgcmVzdWx0KTQuNDQ2IEYoZnJvbSBvbmUgb2YgdGhlIGFibykxMDggMjMyLjggUSAuMwotLS4xNSh2ZSBleCktLjE1IEgocGFuc2lvbnMgYXJlIHJlbW8pLjE1IEUgLS4xNSh2ZSktLjE1IEcoZC4pLjE1IEUvRjMKLTEwLjk1L1RpbWVzLUJvbGRAMCBTRihSRURJUkVDVElPTik3MiAyNDkuNiBRIEYwIC41NDUKLShCZWZvcmUgYSBjb21tYW5kIGlzIGUpMTA4IDI2MS42IFIgLS4xNSh4ZSktLjE1IEcgLjU0NQorMS4xMTModGhhdCBkaWQgbm90IHJlc3VsdCk0LjQ0NiBGKGZyb20gb25lIG9mIHRoZSBhYm8pMTA4IDY0OS4yIFEgLjMKKy0uMTUodmUgZXgpLS4xNSBIKHBhbnNpb25zIGFyZSByZW1vKS4xNSBFIC0uMTUodmUpLS4xNSBHKGQuKS4xNSBFL0Y0CisxMC45NS9UaW1lcy1Cb2xkQDAgU0YoUkVESVJFQ1RJT04pNzIgNjY2IFEgRjAgLjU0NQorKEJlZm9yZSBhIGNvbW1hbmQgaXMgZSkxMDggNjc4IFIgLS4xNSh4ZSktLjE1IEcgLjU0NQogKGN1dGVkLCBpdHMgaW5wdXQgYW5kIG91dHB1dCBtYXkgYmUpLjE1IEYgRjIgLS4zNyhyZSkzLjA0NSBHKGRpcikuMzcgRQogKGVjdGVkKS0uMzcgRSBGMCAuNTQ1KHVzaW5nIGEgc3BlY2lhbCBub3RhdGlvbiBpbnRlcnByZXRlZCkzLjgxNSBGIC42MTYKLShieSB0aGUgc2hlbGwuKTEwOCAyNzMuNiBSIC42MTcoUmVkaXJlY3Rpb24gbWF5IGFsc28gYmUgdXNlZCB0byBvcGVuIGFuXAotZCBjbG9zZSBcMjE0bGVzIGZvciB0aGUgY3VycmVudCBzaGVsbCBlKTUuNjE2IEYgLS4xNSh4ZSktLjE1IEcgLjYxNwotKGN1dGlvbiBlbikuMTUgRih2aXJvbi0pLS40IEUgMy4yNzUobWVudC4gVGhlKTEwOCAyODUuNiBSKGZvbGxvKTMuMjc1IEUKKyhieSB0aGUgc2hlbGwuKTEwOCA2OTAgUiAuNjE3KFJlZGlyZWN0aW9uIG1heSBhbHNvIGJlIHVzZWQgdG8gb3BlbiBhbmQgXAorY2xvc2UgXDIxNGxlcyBmb3IgdGhlIGN1cnJlbnQgc2hlbGwgZSk1LjYxNiBGIC0uMTUoeGUpLS4xNSBHIC42MTcKKyhjdXRpb24gZW4pLjE1IEYodmlyb24tKS0uNCBFIDMuMjc1KG1lbnQuIFRoZSkxMDggNzAyIFIoZm9sbG8pMy4yNzUgRQogLjc3NCh3aW5nIHJlZGlyZWN0aW9uIG9wZXJhdG9ycyBtYXkgcHJlY2VkZSBvciBhcHBlYXIgYW4pLS4yNSBGIC43NzQKICh5d2hlcmUgd2l0aGluIGEpLS4xNSBGIEYyIC43NzQoc2ltcGxlIGNvbW1hbmQpMy42MTQgRiBGMChvcik0LjA0NCBFCi0obWF5IGZvbGxvKTEwOCAyOTcuNiBRIDIuNSh3YSktLjI1IEcgRjIoY29tbWFuZClBIEYwIDUoLlIpLjc3IEcKKyhtYXkgZm9sbG8pMTA4IDcxNCBRIDIuNSh3YSktLjI1IEcgRjIoY29tbWFuZClBIEYwIDUoLlIpLjc3IEcKIChlZGlyZWN0aW9ucyBhcmUgcHJvY2Vzc2VkIGluIHRoZSBvcmRlciB0aGUpLTUgRSAyLjUoeWEpLS4xNSBHKHBwZWFyKQogLTIuNSBFIDIuNSgsZiktLjQgRyhyb20gbGVmdCB0byByaWdodC4pLTIuNSBFIC43NzEoRWFjaCByZWRpcmVjdGlvbiB0aGFcCiB0IG1heSBiZSBwcmVjZWRlZCBieSBhIFwyMTRsZSBkZXNjcmlwdG9yIG51bWJlciBtYXkgaW5zdGVhZCBiZSBwcmVjZWRlZFwKLSBieSBhIHcpMTA4IDMxNC40IFIgLjc3MihvcmQgb2YpLS4xIEYgLjI5Myh0aGUgZm9ybSB7KTEwOCAzMjYuNCBSIEYyCi0odmFybmFtZSlBIEYwIDIuNzkzKH0uIEluKUIgLjI5MwotKHRoaXMgY2FzZSwgZm9yIGVhY2ggcmVkaXJlY3Rpb24gb3BlcmF0b3IgZSkyLjc5MyBGIC4yOTMKLSh4Y2VwdCA+Ji0gYW5kIDwmLSwgdGhlIHNoZWxsIHdpbGwgYWxsb2NhdGUpLS4xNSBGIDMuNDk4PDYxOGM+MTA4IDMzOC40Ci1TIC45OTkobGUgZGVzY3JpcHRvciBncmVhdGVyIHRoYW4gMTAgYW5kIGFzc2lnbiBpdCB0byktMy40OTggRiBGMgotKHZhcm5hbWUpMy40OTkgRSBGMCA1Ljk5OSguSSlDIDMuNDk5KGY+KS01Ljk5OSBHIC45OTkKLSgmLSBvciA8Ji0gaXMgcHJlY2VkZWQgYnkgeyktMy40OTkgRiBGMih2YXJuYW1lKUEgRjAgLjk5OSh9LCB0aGUpQiAtLjI1Ci0odmEpMTA4IDM1MC40IFMobHVlIG9mKS4yNSBFIEYyKHZhcm5hbWUpMi41IEUgRjAKLShkZVwyMTRuZXMgdGhlIFwyMTRsZSBkZXNjcmlwdG9yIHRvIGNsb3NlLikyLjUgRSAuMjg0KEluIHRoZSBmb2xsbykxMDgKLTM2Ny4yIFIgLjI4Myh3aW5nIGRlc2NyaXB0aW9ucywgaWYgdGhlIFwyMTRsZSBkZXNjcmlwdG9yIG51bWJlciBpcyBvbWl0XAotdGVkLCBhbmQgdGhlIFwyMTRyc3QgY2hhcmFjdGVyIG9mIHRoZSByZWRpcmVjdC0pLS4yNSBGIC41MTIKLShpb24gb3BlcmF0b3IgaXMpMTA4IDM3OS4yIFIgRjEoPCkzLjAxMiBFIEYwIDMuMDEyKCx0KUMgLjUxMgotKGhlIHJlZGlyZWN0aW9uIHJlZmVycyB0byB0aGUgc3RhbmRhcmQgaW5wdXQgXChcMjE0bGUgZGVzY3JpcHRvciAwXCkuKQotLTMuMDEyIEYgLjUxMihJZiB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YgdGhlKTUuNTEyIEYKLShyZWRpcmVjdGlvbiBvcGVyYXRvciBpcykxMDggMzkxLjIgUSBGMSg+KTIuNSBFIEYwIDIuNSgsdClDCi0oaGUgcmVkaXJlY3Rpb24gcmVmZXJzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgXChcMjE0bGUgZGVzY3JpcHRvciAxXCkuKQotLTIuNSBFIC44MjUoVGhlIHcpMTA4IDQwOCBSIC44MjUob3JkIGZvbGxvKS0uMSBGIC44MjQKLSh3aW5nIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpbiB0aGUgZm9sbG8pLS4yNSBGIC44MjQKLSh3aW5nIGRlc2NyaXB0aW9ucywgdW5sZXNzIG90aGVyd2lzZSBub3RlZCwgaXMgc3ViLSktLjI1IEYgLjc3MgotKGplY3RlZCB0byBicmFjZSBlKTEwOCA0MjAgUiAuNzczKHhwYW5zaW9uLCB0aWxkZSBlKS0uMTUgRiAuNzczCi0oeHBhbnNpb24sIHBhcmFtZXRlciBlKS0uMTUgRiAuNzczCi0oeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljIGUpLS4xNSBGKHhwYW4tKS0uMTUgRSAuODQ0Ci0oc2lvbiwgcXVvdGUgcmVtbykxMDggNDMyIFIgLS4yNSh2YSktLjE1IEcgLjg0MyhsLCBwYXRobmFtZSBlKS4yNSBGIC44NDMKLSh4cGFuc2lvbiwgYW5kIHcpLS4xNSBGIC44NDMob3JkIHNwbGl0dGluZy4pLS4xIEYgLjg0MyhJZiBpdCBlKTUuODQzIEYKLS44NDMoeHBhbmRzIHRvIG1vcmUgdGhhbiBvbmUgdyktLjE1IEYob3JkLCktLjEgRSBGMShiYXNoKTMuMzQzIEUgRjAKLShyZXBvcnRzIGFuIGVycm9yKTEwOCA0NDQgUSguKS0uNTUgRQotKE5vdGUgdGhhdCB0aGUgb3JkZXIgb2YgcmVkaXJlY3Rpb25zIGlzIHNpZ25pXDIxNGNhbnQuKTEwOCA0NjAuOCBRIC0uMTUKLShGbyk1IEcgMi41KHJlKS4xNSBHKHhhbXBsZSwgdGhlIGNvbW1hbmQpLTIuNjUgRShscykxNDQgNDc3LjYgUSBGMSg+KTIuNQotRSBGMChkaXJsaXN0IDIpMi41IEUgRjEoPiYpQSBGMCgxKUEKLShkaXJlY3RzIGJvdGggc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZCBlcnJvciB0byB0aGUgXDIxNGxlKTEwOCA0OTQuNAotUSBGMihkaXJsaXN0KTIuNSBFIEYwIDIuNSgsdykuNjggRyhoaWxlIHRoZSBjb21tYW5kKS0yLjUgRShscyAyKTE0NAotNTExLjIgUSBGMSg+JilBIEYwKDEpQSBGMSg+KTIuNSBFIEYwKGRpcmxpc3QpMi41IEUgLjUyNwotKGRpcmVjdHMgb25seSB0aGUgc3RhbmRhcmQgb3V0cHV0IHRvIFwyMTRsZSkxMDggNTI4IFIgRjIoZGlybGlzdCkzLjAyNyBFCi1GMCAzLjAyNygsYikuNjggRyAuNTI3KGVjYXVzZSB0aGUgc3RhbmRhcmQgZXJyb3IgdyktMy4wMjcgRiAuNTI3Ci0oYXMgZHVwbGljYXRlZCBmcm9tIHRoZSBzdGFuZGFyZCktLjEgRgotKG91dHB1dCBiZWZvcmUgdGhlIHN0YW5kYXJkIG91dHB1dCB3KTEwOCA1NDAgUShhcyByZWRpcmVjdGVkIHRvKS0uMSBFIEYyCi0oZGlybGlzdCkyLjUgRSBGMCguKS42OCBFIEYxKEJhc2gpMTA4IDU1Ni44IFEgRjAgLjU5OShoYW5kbGVzIHNlKTMuMDk5IEYKLS0uMTUodmUpLS4yNSBHIC41OTkocmFsIFwyMTRsZW5hbWVzIHNwZWNpYWxseSB3aGVuIHRoZSkuMTUgRiAzLjA5OSh5YSkKLS0uMTUgRyAuNTk4KHJlIHVzZWQgaW4gcmVkaXJlY3Rpb25zLCBhcyBkZXNjcmliZWQgaW4gdGhlIGZvbGxvKS0zLjA5OSBGCi0od2luZyktLjI1IEUodGFibGU6KTEwOCA1NjguOCBRIEYxKC9kZSkxNDQgNTg1LjYgUSh2L2ZkLyktLjE1IEUgRjIoZmQpQQotRjAoSWYpMTgwIDU5Ny42IFEgRjIoZmQpMi41IEUgRjAoaXMgYSB2KTIuNSBFKGFsaWQgaW50ZSktLjI1IEUoZ2VyKS0uMTUKLUUgMi41PDJjOGM+LS40IEcobGUgZGVzY3JpcHRvciktMi41IEUgRjIoZmQpMi41IEUgRjAoaXMgZHVwbGljYXRlZC4pMi41Ci1FIEYxKC9kZSkxNDQgNjA5LjYgUSh2L3N0ZGluKS0uMTUgRSBGMChGaWxlIGRlc2NyaXB0b3IgMCBpcyBkdXBsaWNhdGVkLikKLTE4MCA2MjEuNiBRIEYxKC9kZSkxNDQgNjMzLjYgUSh2L3N0ZG91dCktLjE1IEUgRjAKLShGaWxlIGRlc2NyaXB0b3IgMSBpcyBkdXBsaWNhdGVkLikxODAgNjQ1LjYgUSBGMSgvZGUpMTQ0IDY1Ny42IFEKLSh2L3N0ZGVyciktLjE1IEUgRjAoRmlsZSBkZXNjcmlwdG9yIDIgaXMgZHVwbGljYXRlZC4pMTgwIDY2OS42IFEgRjEoL2RlKQotMTQ0IDY4MS42IFEodi90Y3AvKS0uMTUgRSBGMihob3N0KUEgRjEoLylBIEYyKHBvcnQpQSBGMChJZikxODAgNjkzLjYgUQotRjIoaG9zdCkyLjk5NiBFIEYwIC40OTYoaXMgYSB2KTIuOTk2IEYgLjQ5NgotKGFsaWQgaG9zdG5hbWUgb3IgSW50ZXJuZXQgYWRkcmVzcywgYW5kKS0uMjUgRiBGMihwb3J0KTIuOTk3IEUgRjAgLjQ5NwotKGlzIGFuIGludGUpMi45OTcgRiAuNDk3KGdlciBwb3J0IG51bWJlciBvciBzZXIpLS4xNSBGKC0pLS4yIEUKLSh2aWNlIG5hbWUsKTE4MCA3MDUuNiBRIEYxKGJhc2gpMi41IEUgRjAKLShhdHRlbXB0cyB0byBvcGVuIGEgVENQIGNvbm5lY3Rpb24gdG8gdGhlIGNvcnJlc3BvbmRpbmcgc29jaykyLjUgRShldC4pCi0tLjEgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMjMpMTg1Ljk1NSBFIDAgQ2cKLUVQCisgYnkgYSB3KTEwOCA3MzAuOCBSIC43NzIob3JkIG9mKS0uMSBGKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDIzKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDI0IDI0CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRigvZGUpMTQ0IDg0IFEodi91ZHAvKS0uMTUgRS9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKGhvc3QpQSBGMSgvKUEgRjIocG9ydClBIEYwKElmKTE4MCA5NiBRIEYyKGhvc3QpMi45OTcKLUUgRjAgLjQ5NyhpcyBhIHYpMi45OTcgRiAuNDk3KGFsaWQgaG9zdG5hbWUgb3IgSW50ZXJuZXQgYWRkcmVzcywgYW5kKQotLS4yNSBGIEYyKHBvcnQpMi45OTYgRSBGMCAuNDk2KGlzIGFuIGludGUpMi45OTYgRiAuNDk2Ci0oZ2VyIHBvcnQgbnVtYmVyIG9yIHNlciktLjE1IEYoLSktLjIgRSh2aWNlIG5hbWUsKTE4MCAxMDggUSBGMShiYXNoKTIuNQotRSBGMChhdHRlbXB0cyB0byBvcGVuIGEgVURQIGNvbm5lY3Rpb24gdG8gdGhlIGNvcnJlc3BvbmRpbmcgc29jaykyLjUgRQotKGV0LiktLjEgRSAyLjUoQWYpMTA4IDEyNC44IFMKKy0uMzUgRSAuMjkzKHRoZSBmb3JtIHspMTA4IDg0IFIvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YodmFybmFtZSlBIEYwCisyLjc5Myh9LiBJbilCIC4yOTModGhpcyBjYXNlLCBmb3IgZWFjaCByZWRpcmVjdGlvbiBvcGVyYXRvciBlKTIuNzkzIEYKKy4yOTMoeGNlcHQgPiYtIGFuZCA8Ji0sIHRoZSBzaGVsbCB3aWxsIGFsbG9jYXRlKS0uMTUgRiAzLjQ5ODw2MThjPjEwOCA5NgorUyAuOTk5KGxlIGRlc2NyaXB0b3IgZ3JlYXRlciB0aGFuIDEwIGFuZCBhc3NpZ24gaXQgdG8pLTMuNDk4IEYgRjEKKyh2YXJuYW1lKTMuNDk5IEUgRjAgNS45OTkoLkkpQyAzLjQ5OShmPiktNS45OTkgRyAuOTk5CisoJi0gb3IgPCYtIGlzIHByZWNlZGVkIGJ5IHspLTMuNDk5IEYgRjEodmFybmFtZSlBIEYwIC45OTkofSwgdGhlKUIgLS4yNQorKHZhKTEwOCAxMDggUyhsdWUgb2YpLjI1IEUgRjEodmFybmFtZSkyLjUgRSBGMAorKGRlXDIxNG5lcyB0aGUgXDIxNGxlIGRlc2NyaXB0b3IgdG8gY2xvc2UuKTIuNSBFIC4yODQoSW4gdGhlIGZvbGxvKTEwOAorMTI0LjggUiAuMjgzKHdpbmcgZGVzY3JpcHRpb25zLCBpZiB0aGUgXDIxNGxlIGRlc2NyaXB0b3IgbnVtYmVyIGlzIG9taXRcCit0ZWQsIGFuZCB0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YgdGhlIHJlZGlyZWN0LSktLjI1IEYgLjUxMgorKGlvbiBvcGVyYXRvciBpcykxMDggMTM2LjggUi9GMiAxMC9UaW1lcy1Cb2xkQDAgU0YoPCkzLjAxMiBFIEYwIDMuMDEyCisoLHQpQyAuNTEyCisoaGUgcmVkaXJlY3Rpb24gcmVmZXJzIHRvIHRoZSBzdGFuZGFyZCBpbnB1dCBcKFwyMTRsZSBkZXNjcmlwdG9yIDBcKS4pCistMy4wMTIgRiAuNTEyKElmIHRoZSBcMjE0cnN0IGNoYXJhY3RlciBvZiB0aGUpNS41MTIgRgorKHJlZGlyZWN0aW9uIG9wZXJhdG9yIGlzKTEwOCAxNDguOCBRIEYyKD4pMi41IEUgRjAgMi41KCx0KUMKKyhoZSByZWRpcmVjdGlvbiByZWZlcnMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dCBcKFwyMTRsZSBkZXNjcmlwdG9yIDFcKS4pCistMi41IEUgLjgyNShUaGUgdykxMDggMTY1LjYgUiAuODI1KG9yZCBmb2xsbyktLjEgRiAuODI0Cisod2luZyB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaW4gdGhlIGZvbGxvKS0uMjUgRiAuODI0Cisod2luZyBkZXNjcmlwdGlvbnMsIHVubGVzcyBvdGhlcndpc2Ugbm90ZWQsIGlzIHN1Yi0pLS4yNSBGIC43NzIKKyhqZWN0ZWQgdG8gYnJhY2UgZSkxMDggMTc3LjYgUiAuNzczKHhwYW5zaW9uLCB0aWxkZSBlKS0uMTUgRiAuNzczCisoeHBhbnNpb24sIHBhcmFtZXRlciBlKS0uMTUgRiAuNzczCisoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljIGUpLS4xNSBGKHhwYW4tKS0uMTUgRSAuODQ0Cisoc2lvbiwgcXVvdGUgcmVtbykxMDggMTg5LjYgUiAtLjI1KHZhKS0uMTUgRyAuODQzKGwsIHBhdGhuYW1lIGUpLjI1IEYKKy44NDMoeHBhbnNpb24sIGFuZCB3KS0uMTUgRiAuODQzKG9yZCBzcGxpdHRpbmcuKS0uMSBGIC44NDMoSWYgaXQgZSk1Ljg0MworRiAuODQzKHhwYW5kcyB0byBtb3JlIHRoYW4gb25lIHcpLS4xNSBGKG9yZCwpLS4xIEUgRjIoYmFzaCkzLjM0MyBFIEYwCisocmVwb3J0cyBhbiBlcnJvcikxMDggMjAxLjYgUSguKS0uNTUgRQorKE5vdGUgdGhhdCB0aGUgb3JkZXIgb2YgcmVkaXJlY3Rpb25zIGlzIHNpZ25pXDIxNGNhbnQuKTEwOCAyMTguNCBRIC0uMTUKKyhGbyk1IEcgMi41KHJlKS4xNSBHKHhhbXBsZSwgdGhlIGNvbW1hbmQpLTIuNjUgRShscykxNDQgMjM1LjIgUSBGMig+KTIuNQorRSBGMChkaXJsaXN0IDIpMi41IEUgRjIoPiYpQSBGMCgxKUEKKyhkaXJlY3RzIGJvdGggc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZCBlcnJvciB0byB0aGUgXDIxNGxlKTEwOCAyNTIgUQorRjEoZGlybGlzdCkyLjUgRSBGMCAyLjUoLHcpLjY4IEcoaGlsZSB0aGUgY29tbWFuZCktMi41IEUobHMgMikxNDQgMjY4LjgKK1EgRjIoPiYpQSBGMCgxKUEgRjIoPikyLjUgRSBGMChkaXJsaXN0KTIuNSBFIC41MjcKKyhkaXJlY3RzIG9ubHkgdGhlIHN0YW5kYXJkIG91dHB1dCB0byBcMjE0bGUpMTA4IDI4NS42IFIgRjEoZGlybGlzdCkzLjAyNworRSBGMCAzLjAyNygsYikuNjggRyAuNTI3KGVjYXVzZSB0aGUgc3RhbmRhcmQgZXJyb3IgdyktMy4wMjcgRiAuNTI3CisoYXMgZHVwbGljYXRlZCBmcm9tIHRoZSBzdGFuZGFyZCktLjEgRgorKG91dHB1dCBiZWZvcmUgdGhlIHN0YW5kYXJkIG91dHB1dCB3KTEwOCAyOTcuNiBRKGFzIHJlZGlyZWN0ZWQgdG8pLS4xIEUKK0YxKGRpcmxpc3QpMi41IEUgRjAoLikuNjggRSBGMihCYXNoKTEwOCAzMTQuNCBRIEYwIC41OTkoaGFuZGxlcyBzZSkzLjA5OQorRiAtLjE1KHZlKS0uMjUgRyAuNTk5KHJhbCBcMjE0bGVuYW1lcyBzcGVjaWFsbHkgd2hlbiB0aGUpLjE1IEYgMy4wOTkoeWEpCistLjE1IEcgLjU5OChyZSB1c2VkIGluIHJlZGlyZWN0aW9ucywgYXMgZGVzY3JpYmVkIGluIHRoZSBmb2xsbyktMy4wOTkgRgorKHdpbmcpLS4yNSBFKHRhYmxlOikxMDggMzI2LjQgUSBGMigvZGUpMTQ0IDM0My4yIFEodi9mZC8pLS4xNSBFIEYxKGZkKUEKK0YwKElmKTE4MCAzNTUuMiBRIEYxKGZkKTIuNSBFIEYwKGlzIGEgdikyLjUgRShhbGlkIGludGUpLS4yNSBFKGdlciktLjE1CitFIDIuNTwyYzhjPi0uNCBHKGxlIGRlc2NyaXB0b3IpLTIuNSBFIEYxKGZkKTIuNSBFIEYwKGlzIGR1cGxpY2F0ZWQuKTIuNQorRSBGMigvZGUpMTQ0IDM2Ny4yIFEodi9zdGRpbiktLjE1IEUgRjAoRmlsZSBkZXNjcmlwdG9yIDAgaXMgZHVwbGljYXRlZC4pCisxODAgMzc5LjIgUSBGMigvZGUpMTQ0IDM5MS4yIFEodi9zdGRvdXQpLS4xNSBFIEYwCisoRmlsZSBkZXNjcmlwdG9yIDEgaXMgZHVwbGljYXRlZC4pMTgwIDQwMy4yIFEgRjIoL2RlKTE0NCA0MTUuMiBRCisodi9zdGRlcnIpLS4xNSBFIEYwKEZpbGUgZGVzY3JpcHRvciAyIGlzIGR1cGxpY2F0ZWQuKTE4MCA0MjcuMiBRIEYyKC9kZSkKKzE0NCA0MzkuMiBRKHYvdGNwLyktLjE1IEUgRjEoaG9zdClBIEYyKC8pQSBGMShwb3J0KUEgRjAoSWYpMTgwIDQ1MS4yIFEKK0YxKGhvc3QpMi45OTYgRSBGMCAuNDk2KGlzIGEgdikyLjk5NiBGIC40OTYKKyhhbGlkIGhvc3RuYW1lIG9yIEludGVybmV0IGFkZHJlc3MsIGFuZCktLjI1IEYgRjEocG9ydCkyLjk5NyBFIEYwIC40OTcKKyhpcyBhbiBpbnRlKTIuOTk3IEYgLjQ5NyhnZXIgcG9ydCBudW1iZXIgb3Igc2VyKS0uMTUgRigtKS0uMiBFCisodmljZSBuYW1lLCkxODAgNDYzLjIgUSBGMihiYXNoKTIuNSBFIEYwCisoYXR0ZW1wdHMgdG8gb3BlbiBhIFRDUCBjb25uZWN0aW9uIHRvIHRoZSBjb3JyZXNwb25kaW5nIHNvY2spMi41IEUoZXQuKQorLS4xIEUgRjIoL2RlKTE0NCA0NzUuMiBRKHYvdWRwLyktLjE1IEUgRjEoaG9zdClBIEYyKC8pQSBGMShwb3J0KUEgRjAoSWYpCisxODAgNDg3LjIgUSBGMShob3N0KTIuOTk3IEUgRjAgLjQ5NyhpcyBhIHYpMi45OTcgRiAuNDk3CisoYWxpZCBob3N0bmFtZSBvciBJbnRlcm5ldCBhZGRyZXNzLCBhbmQpLS4yNSBGIEYxKHBvcnQpMi45OTYgRSBGMCAuNDk2CisoaXMgYW4gaW50ZSkyLjk5NiBGIC40OTYoZ2VyIHBvcnQgbnVtYmVyIG9yIHNlciktLjE1IEYoLSktLjIgRQorKHZpY2UgbmFtZSwpMTgwIDQ5OS4yIFEgRjIoYmFzaCkyLjUgRSBGMAorKGF0dGVtcHRzIHRvIG9wZW4gYSBVRFAgY29ubmVjdGlvbiB0byB0aGUgY29ycmVzcG9uZGluZyBzb2NrKTIuNSBFKGV0LikKKy0uMSBFIDIuNShBZikxMDggNTE2IFMKIChhaWx1cmUgdG8gb3BlbiBvciBjcmVhdGUgYSBcMjE0bGUgY2F1c2VzIHRoZSByZWRpcmVjdGlvbiB0byBmKS0yLjYgRQogKGFpbC4pLS4xIEUgLjk0NihSZWRpcmVjdGlvbnMgdXNpbmcgXDIxNGxlIGRlc2NyaXB0b3JzIGdyZWF0ZXIgdGhhbiA5IHNcCi1ob3VsZCBiZSB1c2VkIHdpdGggY2FyZSwgYXMgdGhlKTEwOCAxNDEuNiBSIDMuNDQ3KHltKS0uMTUgRyAuOTQ3Citob3VsZCBiZSB1c2VkIHdpdGggY2FyZSwgYXMgdGhlKTEwOCA1MzIuOCBSIDMuNDQ3KHltKS0uMTUgRyAuOTQ3CiAoYXkgY29uXDIxNWljdCB3aXRoIFwyMTRsZSktMy40NDcgRgotKGRlc2NyaXB0b3JzIHRoZSBzaGVsbCB1c2VzIGludGVybmFsbHkpMTA4IDE1My42IFEoLiktLjY1IEUgRjEoUmVkaXIpODcKLTE3MC40IFEoZWN0aW5nIElucHV0KS0uMTggRSBGMCAuMzkxCisoZGVzY3JpcHRvcnMgdGhlIHNoZWxsIHVzZXMgaW50ZXJuYWxseSkxMDggNTQ0LjggUSguKS0uNjUgRSBGMihSZWRpcik4NworNTYxLjYgUShlY3RpbmcgSW5wdXQpLS4xOCBFIEYwIC4zOTEKIChSZWRpcmVjdGlvbiBvZiBpbnB1dCBjYXVzZXMgdGhlIFwyMTRsZSB3aG9zZSBuYW1lIHJlc3VsdHMgZnJvbSB0aGUgZSkKLTEwOCAxODIuNCBSIC4zOTEoeHBhbnNpb24gb2YpLS4xNSBGIEYyKHdvcikzLjIzMSBFKGQpLS4zNyBFIEYwIC4zOTEKLSh0byBiZSBvcGVuZWQgZm9yIHJlYWQtKTMuNjYxIEYoaW5nIG9uIFwyMTRsZSBkZXNjcmlwdG9yKTEwOCAxOTQuNCBRIEYyCisxMDggNTczLjYgUiAuMzkxKHhwYW5zaW9uIG9mKS0uMTUgRiBGMSh3b3IpMy4yMzEgRShkKS0uMzcgRSBGMCAuMzkxCisodG8gYmUgb3BlbmVkIGZvciByZWFkLSkzLjY2MSBGKGluZyBvbiBcMjE0bGUgZGVzY3JpcHRvcikxMDggNTg1LjYgUSBGMQogKG4pMi41IEUgRjAgMi41KCxvKS4yNCBHIDIuNShydCktMi41IEcKLShoZSBzdGFuZGFyZCBpbnB1dCBcKFwyMTRsZSBkZXNjcmlwdG9yIDBcKSBpZiktMi41IEUgRjIobikyLjg2IEUgRjAKKyhoZSBzdGFuZGFyZCBpbnB1dCBcKFwyMTRsZSBkZXNjcmlwdG9yIDBcKSBpZiktMi41IEUgRjEobikyLjg2IEUgRjAKIChpcyBub3Qgc3BlY2lcMjE0ZWQuKTIuNzQgRQotKFRoZSBnZW5lcmFsIGZvcm1hdCBmb3IgcmVkaXJlY3RpbmcgaW5wdXQgaXM6KTEwOCAyMTEuMiBRKFspMTQ0IDIyOCBRIEYyCi0obilBIEYwKF0pQSBGMSg8KUEgRjIod29yKUEoZCktLjM3IEUgRjEoUmVkaXIpODcgMjQ0LjggUShlY3RpbmcgT3V0cHV0KQorKFRoZSBnZW5lcmFsIGZvcm1hdCBmb3IgcmVkaXJlY3RpbmcgaW5wdXQgaXM6KTEwOCA2MDIuNCBRKFspMTQ0IDYxOS4yIFEKK0YxKG4pQSBGMChdKUEgRjIoPClBIEYxKHdvcilBKGQpLS4zNyBFIEYyKFJlZGlyKTg3IDYzNiBRKGVjdGluZyBPdXRwdXQpCiAtLjE4IEUgRjAgLjE3NAogKFJlZGlyZWN0aW9uIG9mIG91dHB1dCBjYXVzZXMgdGhlIFwyMTRsZSB3aG9zZSBuYW1lIHJlc3VsdHMgZnJvbSB0aGUgZSkKLTEwOCAyNTYuOCBSIC4xNzUoeHBhbnNpb24gb2YpLS4xNSBGIEYyKHdvcikzLjAxNSBFKGQpLS4zNyBFIEYwIC4xNzUKLSh0byBiZSBvcGVuZWQgZm9yIHdyaXQtKTMuNDQ1IEYgLjgyNShpbmcgb24gXDIxNGxlIGRlc2NyaXB0b3IpMTA4IDI2OC44Ci1SIEYyKG4pMy4zMjUgRSBGMCAzLjMyNSgsbykuMjQgRyAzLjMyNShydCktMy4zMjUgRyAuODI0Ci0oaGUgc3RhbmRhcmQgb3V0cHV0IFwoXDIxNGxlIGRlc2NyaXB0b3IgMVwpIGlmKS0zLjMyNSBGIEYyKG4pMy42ODQgRSBGMAorMTA4IDY0OCBSIC4xNzUoeHBhbnNpb24gb2YpLS4xNSBGIEYxKHdvcikzLjAxNSBFKGQpLS4zNyBFIEYwIC4xNzUKKyh0byBiZSBvcGVuZWQgZm9yIHdyaXQtKTMuNDQ1IEYgLjgyNShpbmcgb24gXDIxNGxlIGRlc2NyaXB0b3IpMTA4IDY2MCBSCitGMShuKTMuMzI1IEUgRjAgMy4zMjUoLG8pLjI0IEcgMy4zMjUocnQpLTMuMzI1IEcgLjgyNAorKGhlIHN0YW5kYXJkIG91dHB1dCBcKFwyMTRsZSBkZXNjcmlwdG9yIDFcKSBpZiktMy4zMjUgRiBGMShuKTMuNjg0IEUgRjAKIC44MjQoaXMgbm90IHNwZWNpXDIxNGVkLikzLjU2NCBGIC44MjQoSWYgdGhlIFwyMTRsZSBkb2VzIG5vdCk1LjgyNCBGCi0tLjE1KGV4KTEwOCAyODAuOCBTKGlzdCBpdCBpcyBjcmVhdGVkOyBpZiBpdCBkb2VzIGUpLjE1IEUKKy0uMTUoZXgpMTA4IDY3MiBTKGlzdCBpdCBpcyBjcmVhdGVkOyBpZiBpdCBkb2VzIGUpLjE1IEUKICh4aXN0IGl0IGlzIHRydW5jYXRlZCB0byB6ZXJvIHNpemUuKS0uMTUgRQotKFRoZSBnZW5lcmFsIGZvcm1hdCBmb3IgcmVkaXJlY3Rpbmcgb3V0cHV0IGlzOikxMDggMjk3LjYgUShbKTE0NCAzMTQuNCBRCi1GMihuKUEgRjAoXSlBIEYxKD4pQSBGMih3b3IpQShkKS0uMzcgRSBGMCAuMTU0Ci0oSWYgdGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGlzKTEwOCAzMzEuMiBSIEYxKD4pMi42NTQgRSBGMCAyLjY1NCgsYSlDCi0uMTU0KG5kIHRoZSktMi42NTQgRiBGMShub2Nsb2IpMi42NTQgRShiZXIpLS4xIEUgRjAgLjE1NChvcHRpb24gdG8gdGhlKQotMi42NTQgRiBGMShzZXQpMi42NTUgRSBGMCAtLjIoYnUpMi42NTUgRyAuMTU1Ci0oaWx0aW4gaGFzIGJlZW4gZW5hYmxlZCwgdGhlIHJlZGlyZWN0aW9uKS4yIEYgLjY1OCh3aWxsIGYpMTA4IDM0My4yIFIKLS42NTgoYWlsIGlmIHRoZSBcMjE0bGUgd2hvc2UgbmFtZSByZXN1bHRzIGZyb20gdGhlIGUpLS4xIEYgLjY1OAotKHhwYW5zaW9uIG9mKS0uMTUgRiBGMih3b3IpMy4xNTggRShkKS0uMzcgRSBGMCAtLjE1KGV4KTMuMTU4IEcgLjY1NwotKGlzdHMgYW5kIGlzIGEgcmUpLjE1IEYgLjY1NyhndWxhciBcMjE0bGUuKS0uMTUgRiAuNjU3KElmIHRoZSByZWRpLSkKLTUuNjU3IEYgLjQwOChyZWN0aW9uIG9wZXJhdG9yIGlzKTEwOCAzNTUuMiBSIEYxKD58KTIuOTA5IEUgRjAgMi45MDkoLG8pQwotMi45MDkocnQpLTIuOTA5IEcgLjQwOShoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcyktMi45MDkgRiBGMSg+KTIuOTA5IEUKLUYwIC40MDkoYW5kIHRoZSkyLjkwOSBGIEYxKG5vY2xvYikyLjkwOSBFKGJlciktLjEgRSBGMCAuNDA5Ci0ob3B0aW9uIHRvIHRoZSkyLjkwOSBGIEYxKHNldCkyLjkwOSBFIEYwIC0uMihidSkyLjkwOSBHIC40MDkKLShpbHRpbiBjb21tYW5kKS4yIEYoaXMgbm90IGVuYWJsZWQsIHRoZSByZWRpcmVjdGlvbiBpcyBhdHRlbXB0ZWQgZSkxMDgKLTM2Ny4yIFEgLS4xNSh2ZSktLjI1IEcgMi41KG5pKS4xNSBHIDIuNShmdCktMi41IEcoaGUgXDIxNGxlIG5hbWVkIGJ5KQotLTIuNSBFIEYyKHdvcikyLjUgRShkKS0uMzcgRSBGMCAtLjE1KGV4KTIuNSBHKGlzdHMuKS4xNSBFIEYxIC0uMjUoQXApODcKLTM4NCBTKHBlbmRpbmcgUmVkaXIpLjI1IEUoZWN0ZWQgT3V0cHV0KS0uMTggRSBGMCAuNjQyCi0oUmVkaXJlY3Rpb24gb2Ygb3V0cHV0IGluIHRoaXMgZikxMDggMzk2IFIgLjY0MgotKGFzaGlvbiBjYXVzZXMgdGhlIFwyMTRsZSB3aG9zZSBuYW1lIHJlc3VsdHMgZnJvbSB0aGUgZSktLjEgRiAuNjQxCi0oeHBhbnNpb24gb2YpLS4xNSBGIEYyKHdvcikzLjQ4MSBFKGQpLS4zNyBFIEYwIC42NDEodG8gYmUpMy45MTEgRiAuNDczCi0ob3BlbmVkIGZvciBhcHBlbmRpbmcgb24gXDIxNGxlIGRlc2NyaXB0b3IpMTA4IDQwOCBSIEYyKG4pMi45NzMgRSBGMAotMi45NzQoLG8pLjI0IEcgMi45NzQocnQpLTIuOTc0IEcgLjQ3NAotKGhlIHN0YW5kYXJkIG91dHB1dCBcKFwyMTRsZSBkZXNjcmlwdG9yIDFcKSBpZiktMi45NzQgRiBGMihuKTMuMzM0IEUgRjAKLS40NzQoaXMgbm90IHNwZWNpXDIxNGVkLikzLjIxNCBGKElmKTUuNDc0IEUodGhlIFwyMTRsZSBkb2VzIG5vdCBlKTEwOAotNDIwIFEoeGlzdCBpdCBpcyBjcmVhdGVkLiktLjE1IEUKLShUaGUgZ2VuZXJhbCBmb3JtYXQgZm9yIGFwcGVuZGluZyBvdXRwdXQgaXM6KTEwOCA0MzYuOCBRKFspMTQ0IDQ1My42IFEKLUYyKG4pQSBGMChdKUEgRjEoPj4pQSBGMih3b3IpQShkKS0uMzcgRSBGMShSZWRpcik4NyA0NzUuMiBRCi0oZWN0aW5nIFN0YW5kYXJkIE91dHB1dCBhbmQgU3RhbmRhcmQgRXJyKS0uMTggRShvciktLjE4IEUgRjAgLjI0OQotKFRoaXMgY29uc3RydWN0IGFsbG8pMTA4IDQ4Ny4yIFIgLjI0OSh3cyBib3RoIHRoZSBzdGFuZGFyZCBvdXRwdXQgXChcCi1cMjE0bGUgZGVzY3JpcHRvciAxXCkgYW5kIHRoZSBzdGFuZGFyZCBlcnJvciBvdXRwdXQgXChcMjE0bGUgZGVzY3JpcC0pCi0tLjI1IEYodG9yIDJcKSB0byBiZSByZWRpcmVjdGVkIHRvIHRoZSBcMjE0bGUgd2hvc2UgbmFtZSBpcyB0aGUgZSkxMDgKLTQ5OS4yIFEoeHBhbnNpb24gb2YpLS4xNSBFIEYyKHdvcikyLjUgRShkKS0uMzcgRSBGMCguKS43NyBFCi0oVGhlcmUgYXJlIHR3KTEwOCA1MTYgUSAyLjUob2YpLS4xIEcKLShvcm1hdHMgZm9yIHJlZGlyZWN0aW5nIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQgZXJyb3I6KS0yLjUgRSBGMQotKCY+KTE0NCA1MzIuOCBRIEYyKHdvcilBKGQpLS4zNyBFIEYwKGFuZCkxMDggNTQ0LjggUSBGMSg+JikxNDQgNTU2LjggUQotRjIod29yKUEoZCktLjM3IEUgRjAoT2YgdGhlIHR3KTEwOCA1NzMuNiBRIDIuNShvZiktLjEgRwotKG9ybXMsIHRoZSBcMjE0cnN0IGlzIHByZWZlcnJlZC4pLTIuNSBFKFRoaXMgaXMgc2VtYW50aWNhbGx5IGVxdWkpNSBFCi0tLjI1KHZhKS0uMjUgRyhsZW50IHRvKS4yNSBFIEYxKD4pMTQ0IDU5MC40IFEgRjIod29yKUEoZCktLjM3IEUgRjAoMikyLjUKLUUgRjEoPiYpQSBGMCgxKUEgRjEgLS4yNShBcCk4NyA2MTIgUwotKHBlbmRpbmcgU3RhbmRhcmQgT3V0cHV0IGFuZCBTdGFuZGFyZCBFcnIpLjI1IEUob3IpLS4xOCBFIEYwIC4yNDgKLShUaGlzIGNvbnN0cnVjdCBhbGxvKTEwOCA2MjQgUiAuMjQ5KHdzIGJvdGggdGhlIHN0YW5kYXJkIG91dHB1dCBcKFwyMTRsXAotZSBkZXNjcmlwdG9yIDFcKSBhbmQgdGhlIHN0YW5kYXJkIGVycm9yIG91dHB1dCBcKFwyMTRsZSBkZXNjcmlwLSktLjI1IEYKLSh0b3IgMlwpIHRvIGJlIGFwcGVuZGVkIHRvIHRoZSBcMjE0bGUgd2hvc2UgbmFtZSBpcyB0aGUgZSkxMDggNjM2IFEKLSh4cGFuc2lvbiBvZiktLjE1IEUgRjIod29yKTIuNSBFKGQpLS4zNyBFIEYwKC4pLjc3IEUKLShUaGUgZm9ybWF0IGZvciBhcHBlbmRpbmcgc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZCBlcnJvciBpczopMTA4Ci02NTIuOCBRIEYxKCY+PikxNDQgNjY5LjYgUSBGMih3b3IpQShkKS0uMzcgRSBGMAotKFRoaXMgaXMgc2VtYW50aWNhbGx5IGVxdWkpMTA4IDY4Ni40IFEgLS4yNSh2YSktLjI1IEcobGVudCB0bykuMjUgRSBGMQotKD4+KTE0NCA3MDMuMiBRIEYyKHdvcilBKGQpLS4zNyBFIEYwKDIpMi41IEUgRjEoPiYpQSBGMCgxKUEKLShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMjQpMTg1Ljk1NSBFIDAgQ2cgRVAKKyhUaGUgZ2VuZXJhbCBmb3JtYXQgZm9yIHJlZGlyZWN0aW5nIG91dHB1dCBpczopMTA4IDY4OC44IFEoWykxNDQgNzA1LjYgUQorRjEobilBIEYwKF0pQSBGMig+KUEgRjEod29yKUEoZCktLjM3IEUgRjAgLjE1NAorKElmIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvciBpcykxMDggNzIyLjQgUiBGMig+KTIuNjU0IEUgRjAgMi42NTQoLGEpQworLjE1NChuZCB0aGUpLTIuNjU0IEYgRjIobm9jbG9iKTIuNjU0IEUoYmVyKS0uMSBFIEYwIC4xNTQob3B0aW9uIHRvIHRoZSkKKzIuNjU0IEYgRjIoc2V0KTIuNjU1IEUgRjAgLS4yKGJ1KTIuNjU1IEcgLjE1NQorKGlsdGluIGhhcyBiZWVuIGVuYWJsZWQsIHRoZSByZWRpcmVjdGlvbikuMiBGKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDI0KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDI1IDI1CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihIZXIpODcgODQgUSAyLjUoZUQpLS4xOCBHKG9jdW1lbnRzKS0yLjUgRQotRjAgLjMzKFRoaXMgdHlwZSBvZiByZWRpcmVjdGlvbiBpbnN0cnVjdHMgdGhlIHNoZWxsIHRvIHJlYWQgaW5wdXQgZnJvbSBcCi10aGUgY3VycmVudCBzb3VyY2UgdW50aWwgYSBsaW5lIGNvbnRhaW5pbmcgb25seSkxMDggOTYgUi9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKGRlbGltaXRlcikxMDguMzUgMTA4IFEgRjAgLjYxNAorLS4zNSBFIC42NTgod2lsbCBmKTEwOCA4NCBSIC42NTgKKyhhaWwgaWYgdGhlIFwyMTRsZSB3aG9zZSBuYW1lIHJlc3VsdHMgZnJvbSB0aGUgZSktLjEgRiAuNjU4KHhwYW5zaW9uIG9mKQorLS4xNSBGL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKHdvcikzLjE1OCBFKGQpLS4zNyBFIEYwIC0uMTUoZXgpMy4xNTggRworLjY1Nyhpc3RzIGFuZCBpcyBhIHJlKS4xNSBGIC42NTcoZ3VsYXIgXDIxNGxlLiktLjE1IEYgLjY1NyhJZiB0aGUgcmVkaS0pCis1LjY1NyBGIC40MDgocmVjdGlvbiBvcGVyYXRvciBpcykxMDggOTYgUi9GMiAxMC9UaW1lcy1Cb2xkQDAgU0YoPnwpMi45MDkKK0UgRjAgMi45MDkoLG8pQyAyLjkwOShydCktMi45MDkgRyAuNDA5KGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yIGlzKS0yLjkwOQorRiBGMig+KTIuOTA5IEUgRjAgLjQwOShhbmQgdGhlKTIuOTA5IEYgRjIobm9jbG9iKTIuOTA5IEUoYmVyKS0uMSBFIEYwCisuNDA5KG9wdGlvbiB0byB0aGUpMi45MDkgRiBGMihzZXQpMi45MDkgRSBGMCAtLjIoYnUpMi45MDkgRyAuNDA5CisoaWx0aW4gY29tbWFuZCkuMiBGKGlzIG5vdCBlbmFibGVkLCB0aGUgcmVkaXJlY3Rpb24gaXMgYXR0ZW1wdGVkIGUpMTA4CisxMDggUSAtLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcgMi41KGZ0KS0yLjUgRyhoZSBcMjE0bGUgbmFtZWQgYnkpLTIuNQorRSBGMSh3b3IpMi41IEUoZCktLjM3IEUgRjAgLS4xNShleCkyLjUgRyhpc3RzLikuMTUgRSBGMiAtLjI1KEFwKTg3IDEyNC44CitTKHBlbmRpbmcgUmVkaXIpLjI1IEUoZWN0ZWQgT3V0cHV0KS0uMTggRSBGMCAuNjQyCisoUmVkaXJlY3Rpb24gb2Ygb3V0cHV0IGluIHRoaXMgZikxMDggMTM2LjggUiAuNjQyCisoYXNoaW9uIGNhdXNlcyB0aGUgXDIxNGxlIHdob3NlIG5hbWUgcmVzdWx0cyBmcm9tIHRoZSBlKS0uMSBGIC42NDEKKyh4cGFuc2lvbiBvZiktLjE1IEYgRjEod29yKTMuNDgxIEUoZCktLjM3IEUgRjAgLjY0MSh0byBiZSkzLjkxMSBGIC40NzMKKyhvcGVuZWQgZm9yIGFwcGVuZGluZyBvbiBcMjE0bGUgZGVzY3JpcHRvcikxMDggMTQ4LjggUiBGMShuKTIuOTczIEUgRjAKKzIuOTc0KCxvKS4yNCBHIDIuOTc0KHJ0KS0yLjk3NCBHIC40NzQKKyhoZSBzdGFuZGFyZCBvdXRwdXQgXChcMjE0bGUgZGVzY3JpcHRvciAxXCkgaWYpLTIuOTc0IEYgRjEobikzLjMzNCBFIEYwCisuNDc0KGlzIG5vdCBzcGVjaVwyMTRlZC4pMy4yMTQgRihJZik1LjQ3NCBFKHRoZSBcMjE0bGUgZG9lcyBub3QgZSkxMDgKKzE2MC44IFEoeGlzdCBpdCBpcyBjcmVhdGVkLiktLjE1IEUKKyhUaGUgZ2VuZXJhbCBmb3JtYXQgZm9yIGFwcGVuZGluZyBvdXRwdXQgaXM6KTEwOCAxNzcuNiBRKFspMTQ0IDE5NC40IFEKK0YxKG4pQSBGMChdKUEgRjIoPj4pQSBGMSh3b3IpQShkKS0uMzcgRSBGMihSZWRpcik4NyAyMTYgUQorKGVjdGluZyBTdGFuZGFyZCBPdXRwdXQgYW5kIFN0YW5kYXJkIEVyciktLjE4IEUob3IpLS4xOCBFIEYwIC4yNDkKKyhUaGlzIGNvbnN0cnVjdCBhbGxvKTEwOCAyMjggUiAuMjQ5KHdzIGJvdGggdGhlIHN0YW5kYXJkIG91dHB1dCBcKFwyMTRsXAorZSBkZXNjcmlwdG9yIDFcKSBhbmQgdGhlIHN0YW5kYXJkIGVycm9yIG91dHB1dCBcKFwyMTRsZSBkZXNjcmlwLSktLjI1IEYKKyh0b3IgMlwpIHRvIGJlIHJlZGlyZWN0ZWQgdG8gdGhlIFwyMTRsZSB3aG9zZSBuYW1lIGlzIHRoZSBlKTEwOCAyNDAgUQorKHhwYW5zaW9uIG9mKS0uMTUgRSBGMSh3b3IpMi41IEUoZCktLjM3IEUgRjAoLikuNzcgRShUaGVyZSBhcmUgdHcpMTA4CisyNTYuOCBRIDIuNShvZiktLjEgRworKG9ybWF0cyBmb3IgcmVkaXJlY3Rpbmcgc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZCBlcnJvcjopLTIuNSBFIEYyCisoJj4pMTQ0IDI3My42IFEgRjEod29yKUEoZCktLjM3IEUgRjAoYW5kKTEwOCAyODUuNiBRIEYyKD4mKTE0NCAyOTcuNiBRCitGMSh3b3IpQShkKS0uMzcgRSBGMChPZiB0aGUgdHcpMTA4IDMxNC40IFEgMi41KG9mKS0uMSBHCisob3JtcywgdGhlIFwyMTRyc3QgaXMgcHJlZmVycmVkLiktMi41IEUoVGhpcyBpcyBzZW1hbnRpY2FsbHkgZXF1aSk1IEUKKy0uMjUodmEpLS4yNSBHKGxlbnQgdG8pLjI1IEUgRjIoPikxNDQgMzMxLjIgUSBGMSh3b3IpQShkKS0uMzcgRSBGMCgyKTIuNQorRSBGMig+JilBIEYwKDEpQSBGMiAtLjI1KEFwKTg3IDM1Mi44IFMKKyhwZW5kaW5nIFN0YW5kYXJkIE91dHB1dCBhbmQgU3RhbmRhcmQgRXJyKS4yNSBFKG9yKS0uMTggRSBGMCAuMjQ4CisoVGhpcyBjb25zdHJ1Y3QgYWxsbykxMDggMzY0LjggUiAuMjQ5KHdzIGJvdGggdGhlIHN0YW5kYXJkIG91dHB1dCBcKFwKK1wyMTRsZSBkZXNjcmlwdG9yIDFcKSBhbmQgdGhlIHN0YW5kYXJkIGVycm9yIG91dHB1dCBcKFwyMTRsZSBkZXNjcmlwLSkKKy0uMjUgRih0b3IgMlwpIHRvIGJlIGFwcGVuZGVkIHRvIHRoZSBcMjE0bGUgd2hvc2UgbmFtZSBpcyB0aGUgZSkxMDgKKzM3Ni44IFEoeHBhbnNpb24gb2YpLS4xNSBFIEYxKHdvcikyLjUgRShkKS0uMzcgRSBGMCguKS43NyBFCisoVGhlIGZvcm1hdCBmb3IgYXBwZW5kaW5nIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgaXM6KTEwOAorMzkzLjYgUSBGMigmPj4pMTQ0IDQxMC40IFEgRjEod29yKUEoZCktLjM3IEUgRjAKKyhUaGlzIGlzIHNlbWFudGljYWxseSBlcXVpKTEwOCA0MjcuMiBRIC0uMjUodmEpLS4yNSBHKGxlbnQgdG8pLjI1IEUgRjIKKyg+PikxNDQgNDQ0IFEgRjEod29yKUEoZCktLjM3IEUgRjAoMikyLjUgRSBGMig+JilBIEYwKDEpQSBGMihIZXIpODcKKzQ2MC44IFEgMi41KGVEKS0uMTggRyhvY3VtZW50cyktMi41IEUgRjAgLjMzKFRoaXMgdHlwZSBvZiByZWRpcmVjdGlvbiBpXAorbnN0cnVjdHMgdGhlIHNoZWxsIHRvIHJlYWQgaW5wdXQgZnJvbSB0aGUgY3VycmVudCBzb3VyY2UgdW50aWwgYSBsaW5lIGNcCitvbnRhaW5pbmcgb25seSkxMDggNDcyLjggUiBGMShkZWxpbWl0ZXIpMTA4LjM1IDQ4NC44IFEgRjAgLjYxNAogKFwod2l0aCBubyB0cmFpbGluZyBibGFua3NcKSBpcyBzZWVuLikzLjg0NCBGIC42MTUKIChBbGwgb2YgdGhlIGxpbmVzIHJlYWQgdXAgdG8gdGhhdCBwb2ludCBhcmUgdGhlbiB1c2VkIGFzIHRoZSBzdGFuLSk1LjYxNQotRihkYXJkIGlucHV0IGZvciBhIGNvbW1hbmQuKTEwOCAxMjAgUShUaGUgZm9ybWF0IG9mIGhlcmUtZG9jdW1lbnRzIGlzOikKLTEwOCAxMzYuOCBRIEYxKDw8KTE0NCAxNTMuNiBRIEYwKFspQSBGMTxhZD5BIEYwKF0pQSBGMih3b3IpQShkKS0uMzcgRQotKGhlcikxNjQgMTY1LjYgUShlLWRvY3VtZW50KS0uMzcgRShkZWxpbWl0ZXIpMTQ0IDE3Ny42IFEgRjAgLjEyOAotKE5vIHBhcmFtZXRlciBlKTEwOCAxOTQuNCBSIC4xMjcKK0YoZGFyZCBpbnB1dCBmb3IgYSBjb21tYW5kLikxMDggNDk2LjggUQorKFRoZSBmb3JtYXQgb2YgaGVyZS1kb2N1bWVudHMgaXM6KTEwOCA1MTMuNiBRIEYyKDw8KTE0NCA1MzAuNCBRIEYwKFspQQorRjI8YWQ+QSBGMChdKUEgRjEod29yKUEoZCktLjM3IEUoaGVyKTE2NCA1NDIuNCBRKGUtZG9jdW1lbnQpLS4zNyBFCisoZGVsaW1pdGVyKTE0NCA1NTQuNCBRIEYwIC4xMjgoTm8gcGFyYW1ldGVyIGUpMTA4IDU3MS4yIFIgLjEyNwogKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYXJpdGhtZXRpYyBlKS0uMTUgRiAuMTI3CiAoeHBhbnNpb24sIG9yIHBhdGhuYW1lIGUpLS4xNSBGIC4xMjcoeHBhbnNpb24gaXMgcGVyZm9ybWVkKS0uMTUgRihvbikxMDgKLTIwNi40IFEgRjIod29yKTMuMjc0IEUoZCktLjM3IEUgRjAgNS43NzQoLkkpLjc3IEcgMy4yNzQoZmEpLTUuNzc0IEcKLTEuMDc0IC0uMTUobnkgYyktMy4yNzQgSCAuNzc0KGhhcmFjdGVycyBpbikuMTUgRiBGMih3b3IpMy42MTQgRShkKS0uMzcgRQotRjAgLjc3NChhcmUgcXVvdGVkLCB0aGUpNC4wNDQgRiBGMihkZWxpbWl0ZXIpMy42MjQgRSBGMCAuNzc0Cis1ODMuMiBRIEYxKHdvcikzLjI3NCBFKGQpLS4zNyBFIEYwIDUuNzc0KC5JKS43NyBHIDMuMjc0KGZhKS01Ljc3NCBHCisxLjA3NCAtLjE1KG55IGMpLTMuMjc0IEggLjc3NChoYXJhY3RlcnMgaW4pLjE1IEYgRjEod29yKTMuNjE0IEUoZCktLjM3IEUKK0YwIC43NzQoYXJlIHF1b3RlZCwgdGhlKTQuMDQ0IEYgRjEoZGVsaW1pdGVyKTMuNjI0IEUgRjAgLjc3NAogKGlzIHRoZSByZXN1bHQgb2YgcXVvdGUgcmVtbyk0LjAwNCBGIC0uMjUodmEpLS4xNSBHIDMuMjc1KGxvKS4yNSBHKG4pCi0tMy4yNzUgRSBGMih3b3IpMy4yNzUgRShkKS0uMzcgRSBGMCAzLjI3NSgsYSkuNzcgRyhuZCktMy4yNzUgRSAuOTA1Ci0odGhlIGxpbmVzIGluIHRoZSBoZXJlLWRvY3VtZW50IGFyZSBub3QgZSkxMDggMjE4LjQgUiAzLjQwNSh4cGFuZGVkLiBJZikKLS0uMTUgRiBGMih3b3IpMy40MDUgRShkKS0uMzcgRSBGMCAuOTA0CistMy4yNzUgRSBGMSh3b3IpMy4yNzUgRShkKS0uMzcgRSBGMCAzLjI3NSgsYSkuNzcgRyhuZCktMy4yNzUgRSAuOTA1CisodGhlIGxpbmVzIGluIHRoZSBoZXJlLWRvY3VtZW50IGFyZSBub3QgZSkxMDggNTk1LjIgUiAzLjQwNSh4cGFuZGVkLiBJZikKKy0uMTUgRiBGMSh3b3IpMy40MDUgRShkKS0uMzcgRSBGMCAuOTA0CiAoaXMgdW5xdW90ZWQsIGFsbCBsaW5lcyBvZiB0aGUgaGVyZS1kb2N1bWVudCBhcmUpMy40MDUgRiAuNjk0Ci0oc3ViamVjdGVkIHRvIHBhcmFtZXRlciBlKTEwOCAyMzAuNCBSIC42OTUKKyhzdWJqZWN0ZWQgdG8gcGFyYW1ldGVyIGUpMTA4IDYwNy4yIFIgLjY5NQogKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRobWV0aWMgZSktLjE1IEYgMy4xOTUKICh4cGFuc2lvbi4gSW4pLS4xNSBGIC42OTUodGhlIGxhdHRlciBjYXNlLCB0aGUpMy4xOTUgRgotKGNoYXJhY3RlciBzZXF1ZW5jZSkxMDggMjQyLjQgUSBGMShcXDxuZXdsaW5lPikyLjUgRSBGMChpcyBpZ25vcmVkLCBhbmQpCi0yLjUgRSBGMShcXCkyLjUgRSBGMChtdXN0IGJlIHVzZWQgdG8gcXVvdGUgdGhlIGNoYXJhY3RlcnMpMi41IEUgRjEoXFwpCi0yLjUgRSBGMCgsKUEgRjEoJCkyLjUgRSBGMCAyLjUoLGEpQyhuZCktMi41IEUgRjE8OTI+Mi41IEUgRjAoLilBIC42MDIKLShJZiB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaXMpMTA4IDI1OS4yIFIgRjEoPDxcMjU1KTMuMTAxIEUgRjAgMy4xMDEKLSgsdClDIC42MDEoaGVuIGFsbCBsZWFkaW5nIHRhYiBjaGFyYWN0ZXJzIGFyZSBzdHJpcHBlZCBmcm9tIGlucHV0IGxpbmVzXAotIGFuZCB0aGUgbGluZSktMy4xMDEgRihjb250YWluaW5nKTEwOCAyNzEuMiBRIEYyKGRlbGltaXRlcikyLjUgRSBGMCA1Ci0oLlQpLjczIEcoaGlzIGFsbG8pLTUgRQorKGNoYXJhY3RlciBzZXF1ZW5jZSkxMDggNjE5LjIgUSBGMihcXDxuZXdsaW5lPikyLjUgRSBGMChpcyBpZ25vcmVkLCBhbmQpCisyLjUgRSBGMihcXCkyLjUgRSBGMChtdXN0IGJlIHVzZWQgdG8gcXVvdGUgdGhlIGNoYXJhY3RlcnMpMi41IEUgRjIoXFwpCisyLjUgRSBGMCgsKUEgRjIoJCkyLjUgRSBGMCAyLjUoLGEpQyhuZCktMi41IEUgRjI8OTI+Mi41IEUgRjAoLilBIC42MDIKKyhJZiB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IgaXMpMTA4IDYzNiBSIEYyKDw8XDI1NSkzLjEwMSBFIEYwIDMuMTAxKCx0KQorQyAuNjAxKGhlbiBhbGwgbGVhZGluZyB0YWIgY2hhcmFjdGVycyBhcmUgc3RyaXBwZWQgZnJvbSBpbnB1dCBsaW5lcyBhbmRcCisgdGhlIGxpbmUpLTMuMTAxIEYoY29udGFpbmluZykxMDggNjQ4IFEgRjEoZGVsaW1pdGVyKTIuNSBFIEYwIDUoLlQpLjczIEcKKyhoaXMgYWxsbyktNSBFCiAod3MgaGVyZS1kb2N1bWVudHMgd2l0aGluIHNoZWxsIHNjcmlwdHMgdG8gYmUgaW5kZW50ZWQgaW4gYSBuYXR1cmFsIGYpCi0tLjI1IEUoYXNoaW9uLiktLjEgRSBGMShIZXIpODcgMjg4IFEgMi41KGVTKS0uMTggRyh0cmluZ3MpLTIuNSBFIEYwIDIuNQotKEF2KTEwOCAzMDAgUyhhcmlhbnQgb2YgaGVyZSBkb2N1bWVudHMsIHRoZSBmb3JtYXQgaXM6KS0yLjc1IEUgRjEoPDw8KQotMTQ0IDMxNi44IFEgRjIod29yKUEoZCktLjM3IEUgRjAoVGhlKTEwOCAzMzMuNiBRIEYyKHdvcikyLjUgRShkKS0uMzcgRQotRjAoaXMgZSkyLjUgRQotKHhwYW5kZWQgYW5kIHN1cHBsaWVkIHRvIHRoZSBjb21tYW5kIG9uIGl0cyBzdGFuZGFyZCBpbnB1dC4pLS4xNSBFIEYxCi0oRHVwbGljYXRpbmcgRmlsZSBEZXNjcmlwdG9ycyk4NyAzNTAuNCBRIEYwKFRoZSByZWRpcmVjdGlvbiBvcGVyYXRvcikxMDgKLTM2Mi40IFEoWykxNDQgMzc5LjIgUSBGMihuKUEgRjAoXSlBIEYxKDwmKUEgRjIod29yKUEoZCktLjM3IEUgRjAgLjEyNgotKGlzIHVzZWQgdG8gZHVwbGljYXRlIGlucHV0IFwyMTRsZSBkZXNjcmlwdG9ycy4pMTA4IDM5NiBSKElmKTUuMTI3IEUgRjIKLSh3b3IpMi45NjcgRShkKS0uMzcgRSBGMCAtLjE1KGV4KTMuMzk3IEcgLjEyNwotKHBhbmRzIHRvIG9uZSBvciBtb3JlIGRpZ2l0cywgdGhlIFwyMTRsZSBkZXNjcmlwdG9yIGRlbm90ZWQpLjE1IEYoYnkpMTA4Ci00MDggUSBGMihuKTMuMzE4IEUgRjAgLjQ1OChpcyBtYWRlIHRvIGJlIGEgY29wKTMuMTk4IEYgMi45NTgoeW8pLS4xIEcKLTIuOTU4KGZ0KS0yLjk1OCBHIC40NTcoaGF0IFwyMTRsZSBkZXNjcmlwdG9yKS0yLjk1OCBGIDUuNDU3KC5JKS0uNTUgRwotMi45NTcoZnQpLTUuNDU3IEcgLjQ1NyhoZSBkaWdpdHMgaW4pLTIuOTU3IEYgRjIod29yKTMuMjk3IEUoZCktLjM3IEUgRjAKLS40NTcoZG8gbm90IHNwZWNpZnkgYSBcMjE0bGUgZGVzY3JpcHRvciBvcGVuKTMuNzI3IEYgLjE0OQotKGZvciBpbnB1dCwgYSByZWRpcmVjdGlvbiBlcnJvciBvY2N1cnMuKTEwOCA0MjAgUihJZik1LjE0OSBFIEYyKHdvcikKLTIuOTg5IEUoZCktLjM3IEUgRjAgLS4yNShldmEpMy40MTkgRyAuMTQ5KGx1YXRlcyB0bykuMjUgRiBGMTxhZD4yLjY0OSBFCi1GMCAyLjY1PDJjOGM+QyAuMTUobGUgZGVzY3JpcHRvciktMi42NSBGIEYyKG4pMy4wMSBFIEYwIC4xNShpcyBjbG9zZWQuKQotMi44OSBGKElmKTUuMTUgRSBGMihuKTMuMDEgRSBGMCAuMTUoaXMgbm90IHNwZWNpXDIxNGVkLCkyLjg5IEYKLSh0aGUgc3RhbmRhcmQgaW5wdXQgXChcMjE0bGUgZGVzY3JpcHRvciAwXCkgaXMgdXNlZC4pMTA4IDQzMiBRCi0oVGhlIG9wZXJhdG9yKTEwOCA0NDguOCBRKFspMTQ0IDQ2NS42IFEgRjIobilBIEYwKF0pQSBGMSg+JilBIEYyKHdvcilBCi0oZCktLjM3IEUgRjAgLjQ0NAotKGlzIHVzZWQgc2ltaWxhcmx5IHRvIGR1cGxpY2F0ZSBvdXRwdXQgXDIxNGxlIGRlc2NyaXB0b3JzLikxMDggNDgyLjQgUgotKElmKTUuNDQ0IEUgRjIobikzLjMwNCBFIEYwIC40NDMKLShpcyBub3Qgc3BlY2lcMjE0ZWQsIHRoZSBzdGFuZGFyZCBvdXRwdXQgXChcMjE0bGUgZGVzY3JpcC0pMy4xODMgRiAxLjM1NwotKHRvciAxXCkgaXMgdXNlZC4pMTA4IDQ5NC40IFIgMS4zNTcoSWYgdGhlIGRpZ2l0cyBpbik2LjM1NyBGIEYyKHdvcikKLTQuMTk3IEUoZCktLjM3IEUgRjAgMS4zNTgoZG8gbm90IHNwZWNpZnkgYSBcMjE0bGUgZGVzY3JpcHRvciBvcGVuIGZvciBvXAotdXRwdXQsIGEgcmVkaXJlY3Rpb24gZXJyb3IpNC42MjcgRiAyLjU5NyhvY2N1cnMuIEFzKTEwOCA1MDYuNCBSIDIuNTk3Ci0oYXMpMi41OTcgRyAuMDk3KHBlY2lhbCBjYXNlLCBpZiktMi41OTcgRiBGMihuKTIuNTk2IEUgRjAgLjA5NgotKGlzIG9taXR0ZWQsIGFuZCkyLjU5NiBGIEYyKHdvcikyLjU5NiBFKGQpLS4zNyBFIEYwIC4wOTYoZG9lcyBub3QgZSkKLTIuNTk2IEYgLjA5Nih4cGFuZCB0byBvbmUgb3IgbW9yZSBkaWdpdHMsIHRoZSBzdGFuZGFyZCBvdXQtKS0uMTUgRgotKHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgYXJlIHJlZGlyZWN0ZWQgYXMgZGVzY3JpYmVkIHByZSkxMDggNTE4LjQgUQotKHZpb3VzbHkpLS4yNSBFKC4pLS42NSBFIEYxKE1vKTg3IDUzNS4yIFEodmluZyBGaWxlIERlc2NyaXB0b3JzKS0uMSBFIEYwCi0oVGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yKTEwOCA1NDcuMiBRKFspMTQ0IDU2NCBRIEYyKG4pQSBGMChdKUEgRjEoPCYpQQotRjIoZGlnaXQpQSBGMTxhZD5BIEYwKG1vKTEwOCA1ODAuOCBRIC0uMTUodmUpLS4xNSBHIDMuMDM1KHN0KS4xNSBHIC41MzUKLShoZSBcMjE0bGUgZGVzY3JpcHRvciktMy4wMzUgRiBGMihkaWdpdCkzLjAzNSBFIEYwIC41MzUKLSh0byBcMjE0bGUgZGVzY3JpcHRvcikzLjAzNSBGIEYyKG4pMy4wMzUgRSBGMCAzLjAzNSgsbykuMjQgRyAzLjAzNShydCkKLS0zLjAzNSBHIC41MzYoaGUgc3RhbmRhcmQgaW5wdXQgXChcMjE0bGUgZGVzY3JpcHRvciAwXCkgaWYpLTMuMDM1IEYgRjIKLShuKTMuMDM2IEUgRjAgLjUzNihpcyBub3Qgc3BlY2ktKTMuMDM2IEYoXDIxNGVkLikxMDggNTkyLjggUSBGMihkaWdpdCk1Ci1FIEYwKGlzIGNsb3NlZCBhZnRlciBiZWluZyBkdXBsaWNhdGVkIHRvKTIuNSBFIEYyKG4pMi41IEUgRjAoLilBCi0oU2ltaWxhcmx5KTEwOCA2MDkuNiBRIDIuNSgsdCktLjY1IEcoaGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IpLTIuNSBFKFspCi0xNDQgNjI2LjQgUSBGMihuKUEgRjAoXSlBIEYxKD4mKUEgRjIoZGlnaXQpQSBGMTxhZD5BIEYwKG1vKTEwOCA2NDMuMiBRCi0tLjE1KHZlKS0uMTUgRyAyLjc4NihzdCkuMTUgRyAuMjg2KGhlIFwyMTRsZSBkZXNjcmlwdG9yKS0yLjc4NiBGIEYyCi0oZGlnaXQpMi43ODYgRSBGMCAuMjg2KHRvIFwyMTRsZSBkZXNjcmlwdG9yKTIuNzg2IEYgRjIobikyLjc4NiBFIEYwCi0yLjc4NigsbykuMjQgRyAyLjc4NihydCktMi43ODYgRyAuMjg1Ci0oaGUgc3RhbmRhcmQgb3V0cHV0IFwoXDIxNGxlIGRlc2NyaXB0b3IgMVwpIGlmKS0yLjc4NiBGIEYyKG4pMi43ODUgRSBGMAotLjI4NShpcyBub3Qgc3BlY2ktKTIuNzg1IEYoXDIxNGVkLikxMDggNjU1LjIgUSBGMQotKE9wZW5pbmcgRmlsZSBEZXNjcmlwdG9ycyBmKTg3IDY3MiBRKG9yIFJlYWRpbmcgYW5kIFdyaXRpbmcpLS4yNSBFIEYwCi0oVGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yKTEwOCA2ODQgUShbKTE0NCA3MDAuOCBRIEYyKG4pQSBGMChdKUEgRjEoPD4pQQotRjIod29yKUEoZCktLjM3IEUgRjAgMS4zNDkoY2F1c2VzIHRoZSBcMjE0bGUgd2hvc2UgbmFtZSBpcyB0aGUgZSkxMDgKLTcxNy42IFIgMS4zNDkoeHBhbnNpb24gb2YpLS4xNSBGIEYyKHdvcik0LjE4OSBFKGQpLS4zNyBFIEYwIDEuMzQ5Ci0odG8gYmUgb3BlbmVkIGZvciBib3RoIHJlYWRpbmcgYW5kIHdyaXRpbmcgb24gXDIxNGxlKTQuNjE5IEYoZGVzY3JpcHRvcikKLTEwOCA3MjkuNiBRIEYyKG4pMi41IEUgRjAgMi41KCxvKS4yNCBHIDIuNShybyktMi41IEcgMi41PDZlOGM+LTIuNSBHCi0obGUgZGVzY3JpcHRvciAwIGlmKS0yLjUgRSBGMihuKTIuODYgRSBGMChpcyBub3Qgc3BlY2lcMjE0ZWQuKTIuNzQgRQotKElmIHRoZSBcMjE0bGUgZG9lcyBub3QgZSk1IEUoeGlzdCwgaXQgaXMgY3JlYXRlZC4pLS4xNSBFKEdOVSBCYXNoLTQuMSkKLTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDI1KTE4NS45NTUgRSAwIENnIEVQCistLjI1IEUoYXNoaW9uLiktLjEgRSBGMihIZXIpODcgNjY0LjggUSAyLjUoZVMpLS4xOCBHKHRyaW5ncyktMi41IEUgRjAKKzIuNShBdikxMDggNjc2LjggUyhhcmlhbnQgb2YgaGVyZSBkb2N1bWVudHMsIHRoZSBmb3JtYXQgaXM6KS0yLjc1IEUgRjIKKyg8PDwpMTQ0IDY5My42IFEgRjEod29yKUEoZCktLjM3IEUgRjAoVGhlKTEwOCA3MTAuNCBRIEYxKHdvcikyLjUgRShkKQorLS4zNyBFIEYwKGlzIGUpMi41IEUKKyh4cGFuZGVkIGFuZCBzdXBwbGllZCB0byB0aGUgY29tbWFuZCBvbiBpdHMgc3RhbmRhcmQgaW5wdXQuKS0uMTUgRQorKEdOVSBCYXNoLTQuMik3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSgyNSkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAyNiAyNgogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC45NS9UaW1lcy1Cb2xkQDAgU0YoQUxJQVNFUyk3MiA4NCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCi0oQWxpYXNlcykxMDggOTYgUSBGMChhbGxvKTMuMTc0IEUgMy4xNzQod2FzKS0uMjUgRyAuNjc0Ci0odHJpbmcgdG8gYmUgc3Vic3RpdHV0ZWQgZm9yIGEgdyktMy4xNzQgRiAuNjc0CistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKER1cGxpY2F0aW5nIEZpbGUgRGVzY3JpcHRvcnMpODcgODQgUSBGMAorKFRoZSByZWRpcmVjdGlvbiBvcGVyYXRvcikxMDggOTYgUShbKTE0NCAxMTIuOCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCisobilBIEYwKF0pQSBGMSg8JilBIEYyKHdvcilBKGQpLS4zNyBFIEYwIC4xMjYKKyhpcyB1c2VkIHRvIGR1cGxpY2F0ZSBpbnB1dCBcMjE0bGUgZGVzY3JpcHRvcnMuKTEwOCAxMjkuNiBSKElmKTUuMTI3IEUKK0YyKHdvcikyLjk2NyBFKGQpLS4zNyBFIEYwIC0uMTUoZXgpMy4zOTcgRyAuMTI3CisocGFuZHMgdG8gb25lIG9yIG1vcmUgZGlnaXRzLCB0aGUgXDIxNGxlIGRlc2NyaXB0b3IgZGVub3RlZCkuMTUgRihieSkxMDgKKzE0MS42IFEgRjIobikzLjMxOCBFIEYwIC40NTgoaXMgbWFkZSB0byBiZSBhIGNvcCkzLjE5OCBGIDIuOTU4KHlvKS0uMSBHCisyLjk1OChmdCktMi45NTggRyAuNDU3KGhhdCBcMjE0bGUgZGVzY3JpcHRvciktMi45NTggRiA1LjQ1NyguSSktLjU1IEcKKzIuOTU3KGZ0KS01LjQ1NyBHIC40NTcoaGUgZGlnaXRzIGluKS0yLjk1NyBGIEYyKHdvcikzLjI5NyBFKGQpLS4zNyBFIEYwCisuNDU3KGRvIG5vdCBzcGVjaWZ5IGEgXDIxNGxlIGRlc2NyaXB0b3Igb3BlbikzLjcyNyBGIC4xNDkKKyhmb3IgaW5wdXQsIGEgcmVkaXJlY3Rpb24gZXJyb3Igb2NjdXJzLikxMDggMTUzLjYgUihJZik1LjE0OSBFIEYyKHdvcikKKzIuOTg5IEUoZCktLjM3IEUgRjAgLS4yNShldmEpMy40MTkgRyAuMTQ5KGx1YXRlcyB0bykuMjUgRiBGMTxhZD4yLjY0OSBFCitGMCAyLjY1PDJjOGM+QyAuMTUobGUgZGVzY3JpcHRvciktMi42NSBGIEYyKG4pMy4wMSBFIEYwIC4xNShpcyBjbG9zZWQuKQorMi44OSBGKElmKTUuMTUgRSBGMihuKTMuMDEgRSBGMCAuMTUoaXMgbm90IHNwZWNpXDIxNGVkLCkyLjg5IEYKKyh0aGUgc3RhbmRhcmQgaW5wdXQgXChcMjE0bGUgZGVzY3JpcHRvciAwXCkgaXMgdXNlZC4pMTA4IDE2NS42IFEKKyhUaGUgb3BlcmF0b3IpMTA4IDE4Mi40IFEoWykxNDQgMTk5LjIgUSBGMihuKUEgRjAoXSlBIEYxKD4mKUEgRjIod29yKUEKKyhkKS0uMzcgRSBGMCAuNDQ0CisoaXMgdXNlZCBzaW1pbGFybHkgdG8gZHVwbGljYXRlIG91dHB1dCBcMjE0bGUgZGVzY3JpcHRvcnMuKTEwOCAyMTYgUihJZikKKzUuNDQ0IEUgRjIobikzLjMwNCBFIEYwIC40NDMKKyhpcyBub3Qgc3BlY2lcMjE0ZWQsIHRoZSBzdGFuZGFyZCBvdXRwdXQgXChcMjE0bGUgZGVzY3JpcC0pMy4xODMgRiAxLjM1NworKHRvciAxXCkgaXMgdXNlZC4pMTA4IDIyOCBSIDEuMzU3KElmIHRoZSBkaWdpdHMgaW4pNi4zNTcgRiBGMih3b3IpNC4xOTcKK0UoZCktLjM3IEUgRjAgMS4zNTgoZG8gbm90IHNwZWNpZnkgYSBcMjE0bGUgZGVzY3JpcHRvciBvcGVuIGZvciBvdXRwdXQsXAorIGEgcmVkaXJlY3Rpb24gZXJyb3IpNC42MjcgRiAyLjU5NyhvY2N1cnMuIEFzKTEwOCAyNDAgUiAyLjU5NyhhcykyLjU5NyBHCisuMDk3KHBlY2lhbCBjYXNlLCBpZiktMi41OTcgRiBGMihuKTIuNTk2IEUgRjAgLjA5NihpcyBvbWl0dGVkLCBhbmQpMi41OTYKK0YgRjIod29yKTIuNTk2IEUoZCktLjM3IEUgRjAgLjA5Nihkb2VzIG5vdCBlKTIuNTk2IEYgLjA5NgorKHhwYW5kIHRvIG9uZSBvciBtb3JlIGRpZ2l0cywgdGhlIHN0YW5kYXJkIG91dC0pLS4xNSBGCisocHV0IGFuZCBzdGFuZGFyZCBlcnJvciBhcmUgcmVkaXJlY3RlZCBhcyBkZXNjcmliZWQgcHJlKTEwOCAyNTIgUQorKHZpb3VzbHkpLS4yNSBFKC4pLS42NSBFIEYxKE1vKTg3IDI2OC44IFEodmluZyBGaWxlIERlc2NyaXB0b3JzKS0uMSBFIEYwCisoVGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yKTEwOCAyODAuOCBRKFspMTQ0IDI5Ny42IFEgRjIobilBIEYwKF0pQSBGMSg8JikKK0EgRjIoZGlnaXQpQSBGMTxhZD5BIEYwKG1vKTEwOCAzMTQuNCBRIC0uMTUodmUpLS4xNSBHIDMuMDM1KHN0KS4xNSBHCisuNTM1KGhlIFwyMTRsZSBkZXNjcmlwdG9yKS0zLjAzNSBGIEYyKGRpZ2l0KTMuMDM1IEUgRjAgLjUzNQorKHRvIFwyMTRsZSBkZXNjcmlwdG9yKTMuMDM1IEYgRjIobikzLjAzNSBFIEYwIDMuMDM1KCxvKS4yNCBHIDMuMDM1KHJ0KQorLTMuMDM1IEcgLjUzNihoZSBzdGFuZGFyZCBpbnB1dCBcKFwyMTRsZSBkZXNjcmlwdG9yIDBcKSBpZiktMy4wMzUgRiBGMgorKG4pMy4wMzYgRSBGMCAuNTM2KGlzIG5vdCBzcGVjaS0pMy4wMzYgRihcMjE0ZWQuKTEwOCAzMjYuNCBRIEYyKGRpZ2l0KTUKK0UgRjAoaXMgY2xvc2VkIGFmdGVyIGJlaW5nIGR1cGxpY2F0ZWQgdG8pMi41IEUgRjIobikyLjUgRSBGMCguKUEKKyhTaW1pbGFybHkpMTA4IDM0My4yIFEgMi41KCx0KS0uNjUgRyhoZSByZWRpcmVjdGlvbiBvcGVyYXRvciktMi41IEUoWykKKzE0NCAzNjAgUSBGMihuKUEgRjAoXSlBIEYxKD4mKUEgRjIoZGlnaXQpQSBGMTxhZD5BIEYwKG1vKTEwOCAzNzYuOCBRCistLjE1KHZlKS0uMTUgRyAyLjc4NihzdCkuMTUgRyAuMjg2KGhlIFwyMTRsZSBkZXNjcmlwdG9yKS0yLjc4NiBGIEYyCisoZGlnaXQpMi43ODYgRSBGMCAuMjg2KHRvIFwyMTRsZSBkZXNjcmlwdG9yKTIuNzg2IEYgRjIobikyLjc4NiBFIEYwCisyLjc4NigsbykuMjQgRyAyLjc4NihydCktMi43ODYgRyAuMjg1CisoaGUgc3RhbmRhcmQgb3V0cHV0IFwoXDIxNGxlIGRlc2NyaXB0b3IgMVwpIGlmKS0yLjc4NiBGIEYyKG4pMi43ODUgRSBGMAorLjI4NShpcyBub3Qgc3BlY2ktKTIuNzg1IEYoXDIxNGVkLikxMDggMzg4LjggUSBGMQorKE9wZW5pbmcgRmlsZSBEZXNjcmlwdG9ycyBmKTg3IDQwNS42IFEob3IgUmVhZGluZyBhbmQgV3JpdGluZyktLjI1IEUgRjAKKyhUaGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IpMTA4IDQxNy42IFEoWykxNDQgNDM0LjQgUSBGMihuKUEgRjAoXSlBIEYxKDw+KQorQSBGMih3b3IpQShkKS0uMzcgRSBGMCAxLjM0OShjYXVzZXMgdGhlIFwyMTRsZSB3aG9zZSBuYW1lIGlzIHRoZSBlKTEwOAorNDUxLjIgUiAxLjM0OSh4cGFuc2lvbiBvZiktLjE1IEYgRjIod29yKTQuMTg5IEUoZCktLjM3IEUgRjAgMS4zNDkKKyh0byBiZSBvcGVuZWQgZm9yIGJvdGggcmVhZGluZyBhbmQgd3JpdGluZyBvbiBcMjE0bGUpNC42MTkgRihkZXNjcmlwdG9yKQorMTA4IDQ2My4yIFEgRjIobikyLjUgRSBGMCAyLjUoLG8pLjI0IEcgMi41KHJvKS0yLjUgRyAyLjU8NmU4Yz4tMi41IEcKKyhsZSBkZXNjcmlwdG9yIDAgaWYpLTIuNSBFIEYyKG4pMi44NiBFIEYwKGlzIG5vdCBzcGVjaVwyMTRlZC4pMi43NCBFCisoSWYgdGhlIFwyMTRsZSBkb2VzIG5vdCBlKTUgRSh4aXN0LCBpdCBpcyBjcmVhdGVkLiktLjE1IEUvRjMgMTAuOTUKKy9UaW1lcy1Cb2xkQDAgU0YoQUxJQVNFUyk3MiA0ODAgUSBGMihBbGlhc2VzKTEwOCA0OTIgUSBGMChhbGxvKTMuMTc0IEUKKzMuMTc0KHdhcyktLjI1IEcgLjY3NCh0cmluZyB0byBiZSBzdWJzdGl0dXRlZCBmb3IgYSB3KS0zLjE3NCBGIC42NzQKIChvcmQgd2hlbiBpdCBpcyB1c2VkIGFzIHRoZSBcMjE0cnN0IHcpLS4xIEYgLjY3MwogKG9yZCBvZiBhIHNpbXBsZSBjb21tYW5kLiktLjEgRiAuMzk0KFRoZSBzaGVsbCBtYWludGFpbnMgYSBsaXN0IG9mIGFsaWFcCi1zZXMgdGhhdCBtYXkgYmUgc2V0IGFuZCB1bnNldCB3aXRoIHRoZSkxMDggMTA4IFIvRjMgMTAvVGltZXMtQm9sZEAwIFNGCi0oYWxpYXMpMi44OTQgRSBGMChhbmQpMi44OTQgRSBGMyh1bmFsaWFzKTIuODk0IEUgRjAgLS4yKGJ1KTIuODk0IEcgLjM5NAotKGlsdGluIGNvbW1hbmRzKS4yIEYoXChzZWUpMTA4IDEyMCBRL0Y0IDkvVGltZXMtQm9sZEAwIFNGIDEuOTgoU0hFTEwgQikKLTQuNDggRihVSUwpLS4wOSBFIDEuOTgoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbyk0LjIzIEUgNC40OAotKHdcKS4gVGhlKS0uMjUgRiAxLjk4KFwyMTRyc3Qgdyk0LjQ4IEYgMS45NzkKLShvcmQgb2YgZWFjaCBzaW1wbGUgY29tbWFuZCwgaWYgdW5xdW90ZWQsIGlzKS0uMSBGKGNoZWNrKTEwOCAxMzIgUSAuNDcyCi0oZWQgdG8gc2VlIGlmIGl0IGhhcyBhbiBhbGlhcy4pLS4xIEYgLjQ3MihJZiBzbywgdGhhdCB3KTUuNDcyIEYgLjQ3MwotKG9yZCBpcyByZXBsYWNlZCBieSB0aGUgdGUpLS4xIEYgLjQ3Myh4dCBvZiB0aGUgYWxpYXMuKS0uMTUgRiAuNDczCi0oVGhlIGNoYXJhY3RlcnMpNS40NzMgRiBGMygvKTIuOTczIEUgRjAoLClBIEYzKCQpMi45NzMgRSBGMCgsKUEgRjM8OTI+Ci0yLjk3MyBFIEYwKCwpQShhbmQpMTA4IDE0NCBRIEYzKD0pMy42MTIgRSBGMCAxLjExMihhbmQgYW4pMy42MTIgRiAzLjYxMgotKHlvKS0uMTUgRyAzLjYxMihmdCktMy42MTIgRyAxLjExMihoZSBzaGVsbCktMy42MTIgRiBGMihtZXRhYykzLjYxMiBFCi0oaGFyKS0uMTUgRShhY3RlciktLjE1IEUocyktLjEgRSBGMCAxLjExMgorc2VzIHRoYXQgbWF5IGJlIHNldCBhbmQgdW5zZXQgd2l0aCB0aGUpMTA4IDUwNCBSIEYxKGFsaWFzKTIuODk0IEUgRjAKKyhhbmQpMi44OTQgRSBGMSh1bmFsaWFzKTIuODk0IEUgRjAgLS4yKGJ1KTIuODk0IEcgLjM5NChpbHRpbiBjb21tYW5kcykuMgorRihcKHNlZSkxMDggNTE2IFEvRjQgOS9UaW1lcy1Cb2xkQDAgU0YgMS45OChTSEVMTCBCKTQuNDggRihVSUwpLS4wOSBFCisxLjk4KFRJTiBDT01NQU5EUyktLjgyOCBGIEYwKGJlbG8pNC4yMyBFIDQuNDgod1wpLiBUaGUpLS4yNSBGIDEuOTgKKyhcMjE0cnN0IHcpNC40OCBGIDEuOTc5KG9yZCBvZiBlYWNoIHNpbXBsZSBjb21tYW5kLCBpZiB1bnF1b3RlZCwgaXMpLS4xCitGKGNoZWNrKTEwOCA1MjggUSAuNDcyKGVkIHRvIHNlZSBpZiBpdCBoYXMgYW4gYWxpYXMuKS0uMSBGIC40NzIKKyhJZiBzbywgdGhhdCB3KTUuNDcyIEYgLjQ3MyhvcmQgaXMgcmVwbGFjZWQgYnkgdGhlIHRlKS0uMSBGIC40NzMKKyh4dCBvZiB0aGUgYWxpYXMuKS0uMTUgRiAuNDczKFRoZSBjaGFyYWN0ZXJzKTUuNDczIEYgRjEoLykyLjk3MyBFIEYwKCwpQQorRjEoJCkyLjk3MyBFIEYwKCwpQSBGMTw5Mj4yLjk3MyBFIEYwKCwpQShhbmQpMTA4IDU0MCBRIEYxKD0pMy42MTIgRSBGMAorMS4xMTIoYW5kIGFuKTMuNjEyIEYgMy42MTIoeW8pLS4xNSBHIDMuNjEyKGZ0KS0zLjYxMiBHIDEuMTEyKGhlIHNoZWxsKQorLTMuNjEyIEYgRjIobWV0YWMpMy42MTIgRShoYXIpLS4xNSBFKGFjdGVyKS0uMTUgRShzKS0uMSBFIEYwIDEuMTEyCiAob3IgcXVvdGluZyBjaGFyYWN0ZXJzIGxpc3RlZCBhYm8pMy42MTIgRiAxLjQxMSAtLjE1KHZlIG0pLS4xNSBIIDEuMTExCi0oYXkgbm90IGFwcGVhciBpbiBhbiBhbGlhcykuMTUgRiAzLjYxOShuYW1lLiBUaGUpMTA4IDE1NiBSIDEuMTE5CisoYXkgbm90IGFwcGVhciBpbiBhbiBhbGlhcykuMTUgRiAzLjYxOShuYW1lLiBUaGUpMTA4IDU1MiBSIDEuMTE5CiAocmVwbGFjZW1lbnQgdGUpMy42MTkgRiAxLjExOSh4dCBtYXkgY29udGFpbiBhbiktLjE1IEYgMy42MTkoeXYpLS4xNSBHCiAxLjExOShhbGlkIHNoZWxsIGlucHV0LCBpbmNsdWRpbmcgc2hlbGwgbWV0YWNoYXJhY3RlcnMuKS0zLjg2OSBGIDEuMTIKLShUaGUgXDIxNHJzdCk2LjEyIEYgLS4xKHdvKTEwOCAxNjggUyAuNTE0KHJkIG9mIHRoZSByZXBsYWNlbWVudCB0ZSkuMSBGCisoVGhlIFwyMTRyc3QpNi4xMiBGIC0uMSh3bykxMDggNTY0IFMgLjUxNChyZCBvZiB0aGUgcmVwbGFjZW1lbnQgdGUpLjEgRgogLjUxNCh4dCBpcyB0ZXN0ZWQgZm9yIGFsaWFzZXMsIGIpLS4xNSBGIC41MTQodXQgYSB3KS0uMiBGIC41MTMKIChvcmQgdGhhdCBpcyBpZGVudGljYWwgdG8gYW4gYWxpYXMgYmVpbmcgZSktLjEgRiAuNTEzKHhwYW5kZWQgaXMpLS4xNSBGCi0uMjk1KG5vdCBlKTEwOCAxODAgUiAuMjk1KHhwYW5kZWQgYSBzZWNvbmQgdGltZS4pLS4xNSBGIC4yOTYKLShUaGlzIG1lYW5zIHRoYXQgb25lIG1heSBhbGlhcyk1LjI5NSBGIEYzKGxzKTIuNzk2IEUgRjAodG8pMi43OTYgRSBGMwotLjI5NihscyBcMjU1RikyLjc5NiBGIEYwIDIuNzk2KCxmKUMgLjI5NihvciBpbnN0YW5jZSwgYW5kKS0yLjc5NiBGIEYzCi0oYmFzaCkyLjc5NiBFIEYwIC4yOTYoZG9lcyBub3QgdHJ5KTIuNzk2IEYgLjU0Myh0byByZWN1cnNpKTEwOCAxOTIgUgorLjI5NShub3QgZSkxMDggNTc2IFIgLjI5NSh4cGFuZGVkIGEgc2Vjb25kIHRpbWUuKS0uMTUgRiAuMjk2CisoVGhpcyBtZWFucyB0aGF0IG9uZSBtYXkgYWxpYXMpNS4yOTUgRiBGMShscykyLjc5NiBFIEYwKHRvKTIuNzk2IEUgRjEKKy4yOTYobHMgXDI1NUYpMi43OTYgRiBGMCAyLjc5NigsZilDIC4yOTYob3IgaW5zdGFuY2UsIGFuZCktMi43OTYgRiBGMQorKGJhc2gpMi43OTYgRSBGMCAuMjk2KGRvZXMgbm90IHRyeSkyLjc5NiBGIC41NDModG8gcmVjdXJzaSkxMDggNTg4IFIKIC0uMTUodmUpLS4yNSBHIC41NDMobHkgZSkuMTUgRiAuNTQzKHhwYW5kIHRoZSByZXBsYWNlbWVudCB0ZSktLjE1IEYKIDMuMDQzKHh0LiBJZiktLjE1IEYgLjU0Myh0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgdGhlIGFsaWFzIHYpMy4wNDMgRiAuNTQyCiAoYWx1ZSBpcyBhKS0uMjUgRiBGMihibGFuaykzLjA0MiBFIEYwIDMuMDQyKCx0KS42NyBHIC41NDIoaGVuIHRoZSBuZSkKLS0zLjA0MiBGKHh0KS0uMTUgRShjb21tYW5kIHcpMTA4IDIwNCBRKG9yZCBmb2xsbyktLjEgRQorLTMuMDQyIEYoeHQpLS4xNSBFKGNvbW1hbmQgdykxMDggNjAwIFEob3JkIGZvbGxvKS0uMSBFCiAod2luZyB0aGUgYWxpYXMgaXMgYWxzbyBjaGVjayktLjI1IEUoZWQgZm9yIGFsaWFzIGUpLS4xIEUoeHBhbnNpb24uKS0uMTUKLUUoQWxpYXNlcyBhcmUgY3JlYXRlZCBhbmQgbGlzdGVkIHdpdGggdGhlKTEwOCAyMjAuOCBRIEYzKGFsaWFzKTIuNSBFIEYwCi0oY29tbWFuZCwgYW5kIHJlbW8pMi41IEUgLS4xNSh2ZSktLjE1IEcgMi41KGR3KS4xNSBHKGl0aCB0aGUpLTIuNSBFIEYzCitFKEFsaWFzZXMgYXJlIGNyZWF0ZWQgYW5kIGxpc3RlZCB3aXRoIHRoZSkxMDggNjE2LjggUSBGMShhbGlhcykyLjUgRSBGMAorKGNvbW1hbmQsIGFuZCByZW1vKTIuNSBFIC0uMTUodmUpLS4xNSBHIDIuNShkdykuMTUgRyhpdGggdGhlKS0yLjUgRSBGMQogKHVuYWxpYXMpMi41IEUgRjAoY29tbWFuZC4pMi41IEUgLjI4NAotKFRoZXJlIGlzIG5vIG1lY2hhbmlzbSBmb3IgdXNpbmcgYXIpMTA4IDIzNy42IFIgLjI4NAorKFRoZXJlIGlzIG5vIG1lY2hhbmlzbSBmb3IgdXNpbmcgYXIpMTA4IDYzMy42IFIgLjI4NAogKGd1bWVudHMgaW4gdGhlIHJlcGxhY2VtZW50IHRlKS0uMTggRiAyLjc4NCh4dC4gSWYpLS4xNSBGKGFyKTIuNzg0IEUKIC4yODQoZ3VtZW50cyBhcmUgbmVlZGVkLCBhIHNoZWxsIGZ1bmMtKS0uMTggRih0aW9uIHNob3VsZCBiZSB1c2VkIFwoc2VlKQotMTA4IDI0OS42IFEgRjQoRlVOQ1RJT05TKTIuNSBFIEYwKGJlbG8pMi4yNSBFKHdcKS4pLS4yNSBFIDEuMjIKLShBbGlhc2VzIGFyZSBub3QgZSkxMDggMjY2LjQgUiAxLjIyCisxMDggNjQ1LjYgUSBGNChGVU5DVElPTlMpMi41IEUgRjAoYmVsbykyLjI1IEUod1wpLiktLjI1IEUgMS4yMgorKEFsaWFzZXMgYXJlIG5vdCBlKTEwOCA2NjIuNCBSIDEuMjIKICh4cGFuZGVkIHdoZW4gdGhlIHNoZWxsIGlzIG5vdCBpbnRlcmFjdGkpLS4xNSBGIC0uMTUodmUpLS4yNSBHIDMuNzIoLHUpCi0uMTUgRyAxLjIyKG5sZXNzIHRoZSktMy43MiBGIEYzKGV4cGFuZF9hbGlhc2VzKTMuNzIgRSBGMCAxLjIyCi0oc2hlbGwgb3B0aW9uIGlzIHNldCkzLjcyIEYodXNpbmcpMTA4IDI3OC40IFEgRjMoc2hvcHQpMi41IEUgRjAKLShcKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YpMi41IEUgRjMoc2hvcHQpMi41IEUgRjAodW5kZXIpMi41IEUgRjQKKy4xNSBHIDEuMjIobmxlc3MgdGhlKS0zLjcyIEYgRjEoZXhwYW5kX2FsaWFzZXMpMy43MiBFIEYwIDEuMjIKKyhzaGVsbCBvcHRpb24gaXMgc2V0KTMuNzIgRih1c2luZykxMDggNjc0LjQgUSBGMShzaG9wdCkyLjUgRSBGMAorKFwoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZikyLjUgRSBGMShzaG9wdCkyLjUgRSBGMCh1bmRlcikyLjUgRSBGNAogKFNIRUxMIEIpMi41IEUoVUlMKS0uMDkgRShUSU4gQ09NTUFORFMpLS44MjggRSBGMChiZWxvKTIuMjUgRSh3XCkuKS0uMjUKIEUgLjQzNQogKFRoZSBydWxlcyBjb25jZXJuaW5nIHRoZSBkZVwyMTRuaXRpb24gYW5kIHVzZSBvZiBhbGlhc2VzIGFyZSBzb21lKTEwOAotMjk1LjIgUiAuNDM2KHdoYXQgY29uZnVzaW5nLiktLjI1IEYgRjMoQmFzaCk1LjQzNiBFIEYwKGFsKTIuOTM2IEUgLS4xCis2OTEuMiBSIC40MzYod2hhdCBjb25mdXNpbmcuKS0uMjUgRiBGMShCYXNoKTUuNDM2IEUgRjAoYWwpMi45MzYgRSAtLjEKICh3YSktLjEgRyAuNDM2KHlzIHJlYWRzIGF0IGxlYXN0KS4xIEYgLjMzOAotKG9uZSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0IGJlZm9yZSBlKTEwOCAzMDcuMiBSIC0uMTUoeGUpLS4xNSBHIC4zMzgKKyhvbmUgY29tcGxldGUgbGluZSBvZiBpbnB1dCBiZWZvcmUgZSkxMDggNzAzLjIgUiAtLjE1KHhlKS0uMTUgRyAuMzM4CiAoY3V0aW5nIGFuKS4xNSBGIDIuODM4KHlvKS0uMTUgRyAyLjgzOChmdCktMi44MzggRyAuMzM4CiAoaGUgY29tbWFuZHMgb24gdGhhdCBsaW5lLiktMi44MzggRiAuMzM3KEFsaWFzZXMgYXJlIGUpNS4zMzcgRiAuMzM3Ci0oeHBhbmRlZCB3aGVuKS0uMTUgRiAzLjQwMyhhYykxMDggMzE5LjIgUyAuOTA0CisoeHBhbmRlZCB3aGVuKS0uMTUgRiAzLjQwMyhhYykxMDggNzE1LjIgUyAuOTA0CiAob21tYW5kIGlzIHJlYWQsIG5vdCB3aGVuIGl0IGlzIGUpLTMuNDAzIEYgLS4xNSh4ZSktLjE1IEcgMy40MDQKIChjdXRlZC4gVGhlcmVmb3JlLCkuMTUgRiAuOTA0CiAoYW4gYWxpYXMgZGVcMjE0bml0aW9uIGFwcGVhcmluZyBvbiB0aGUgc2FtZSBsaW5lIGFzKTMuNDA0IEYgMS4xNjIKLShhbm90aGVyIGNvbW1hbmQgZG9lcyBub3QgdGFrKTEwOCAzMzEuMiBSIDMuNjYyKGVlKS0uMSBHIC0uMjUoZmYpLTMuNjYyCisoYW5vdGhlciBjb21tYW5kIGRvZXMgbm90IHRhaykxMDggNzI3LjIgUiAzLjY2MihlZSktLjEgRyAtLjI1KGZmKS0zLjY2MgogRyAxLjE2MihlY3QgdW50aWwgdGhlIG5lKS4yNSBGIDEuMTYyKHh0IGxpbmUgb2YgaW5wdXQgaXMgcmVhZC4pLS4xNSBGCi0xLjE2MShUaGUgY29tbWFuZHMgZm9sbG8pNi4xNjEgRiAxLjE2MSh3aW5nIHRoZSktLjI1IEYgLjI3NwotKGFsaWFzIGRlXDIxNG5pdGlvbiBvbiB0aGF0IGxpbmUgYXJlIG5vdCBhZikxMDggMzQzLjIgUiAuMjc3Ci0oZmVjdGVkIGJ5IHRoZSBuZSktLjI1IEYgMi43Nzcod2EpLS4yNSBHIDIuNzc3KGxpYXMuIFRoaXMpLTIuNzc3IEYoYmVoYSkKLTIuNzc3IEUgLjI3Nyh2aW9yIGlzIGFsc28gYW4gaXNzdWUgd2hlbiBmdW5jdGlvbnMpLS4yIEYgLjY5OShhcmUgZSkxMDgKLTM1NS4yIFIgLS4xNSh4ZSktLjE1IEcgMy4xOTkoY3V0ZWQuIEFsaWFzZXMpLjE1IEYgLjY5OShhcmUgZSkzLjE5OSBGCi0uNjk5KHhwYW5kZWQgd2hlbiBhIGZ1bmN0aW9uIGRlXDIxNG5pdGlvbiBpcyByZWFkLCBub3Qgd2hlbiB0aGUgZnVuY3Rpb1wKLW4gaXMgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcoY3V0ZWQsKS4xNSBFIC40OTQKLShiZWNhdXNlIGEgZnVuY3Rpb24gZGVcMjE0bml0aW9uIGlzIGl0c2VsZiBhIGNvbXBvdW5kIGNvbW1hbmQuKTEwOCAzNjcuMgotUiAuNDk1KEFzIGEgY29uc2VxdWVuY2UsIGFsaWFzZXMgZGVcMjE0bmVkIGluIGEgZnVuYy0pNS40OTQgRiAuMDg1Ci0odGlvbiBhcmUgbm90IGEpMTA4IDM3OS4yIFIgLS4yNSh2YSktLjIgRyAuMDg0Ci0oaWxhYmxlIHVudGlsIGFmdGVyIHRoYXQgZnVuY3Rpb24gaXMgZSkuMjUgRiAtLjE1KHhlKS0uMTUgRyAyLjU4NAotKGN1dGVkLiBUKS4xNSBGIDIuNTg0KG9iKS0uOCBHIDIuNTg0KGVzKS0yLjU4NCBHIC4wODQoYWZlLCBhbCktMi41ODQgRgotLS4xKHdhKS0uMSBHIC4wODQoeXMgcHV0IGFsaWFzIGRlXDIxNG5pdGlvbnMgb24gYSBzZXBhLSkuMSBGCi0ocmF0ZSBsaW5lLCBhbmQgZG8gbm90IHVzZSkxMDggMzkxLjIgUSBGMyhhbGlhcykyLjUgRSBGMAotKGluIGNvbXBvdW5kIGNvbW1hbmRzLikyLjUgRSAtLjE1KEZvKTEwOCA0MDggUyAyLjUocmEpLjE1IEcobG1vc3QgZSktMi41Ci1FIC0uMTUodmUpLS4yNSBHKHJ5IHB1cnBvc2UsIGFsaWFzZXMgYXJlIHN1cGVyc2VkZWQgYnkgc2hlbGwgZnVuY3Rpb25zLikKLS4xNSBFIEYxKEZVTkNUSU9OUyk3MiA0MjQuOCBRIEYwIDMuNDY3KEFzKTEwOCA0MzYuOCBTIC45NjcKLShoZWxsIGZ1bmN0aW9uLCBkZVwyMTRuZWQgYXMgZGVzY3JpYmVkIGFibyktMy40NjcgRiAxLjI2NyAtLjE1KHZlIHUpLS4xNQotSChuZGVyKS4xNSBFIEY0IC45NjcoU0hFTEwgR1JBTU1BUikzLjQ2NyBGL0Y1IDkvVGltZXMtUm9tYW5AMCBTRigsKUEgRjAKLS45Njgoc3RvcmVzIGEgc2VyaWVzIG9mIGNvbW1hbmRzIGZvcikzLjIxNyBGIDEuMDAyKGxhdGVyIGUpMTA4IDQ0OC44IFIKLS0uMTUoeGUpLS4xNSBHIDMuNTAyKGN1dGlvbi4gV2hlbikuMTUgRiAxLjAwMih0aGUgbmFtZSBvZiBhIHNoZWxsIGZ1bmN0XAotaW9uIGlzIHVzZWQgYXMgYSBzaW1wbGUgY29tbWFuZCBuYW1lLCB0aGUgbGlzdCBvZiBjb20tKTMuNTAyIEYgLjMxNQotKG1hbmRzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGZ1bmN0aW9uIG5hbWUgaXMgZSkxMDggNDYwLjggUiAtLjE1KHhlKS0uMTUKLUcgMi44MTYoY3V0ZWQuIEZ1bmN0aW9ucykuMTUgRiAuMzE2KGFyZSBlKTIuODE2IEYgLS4xNSh4ZSktLjE1IEcgLjMxNgotKGN1dGVkIGluIHRoZSBjb250ZSkuMTUgRiAuMzE2KHh0IG9mIHRoZSBjdXJyZW50KS0uMTUgRiAuMDM2Ci0oc2hlbGw7IG5vIG5lKTEwOCA0NzIuOCBSIDIuNTM2KHdwKS0uMjUgRyAuMDM2Ci0ocm9jZXNzIGlzIGNyZWF0ZWQgdG8gaW50ZXJwcmV0IHRoZW0gXChjb250cmFzdCB0aGlzIHdpdGggdGhlIGUpLTIuNTM2IEYKLS0uMTUoeGUpLS4xNSBHIC4wMzYoY3V0aW9uIG9mIGEgc2hlbGwgc2NyaXB0XCkuKS4xNSBGIC4wMzUoV2hlbiBhKTUuMDM1Ci1GIC42MzkoZnVuY3Rpb24gaXMgZSkxMDggNDg0LjggUiAtLjE1KHhlKS0uMTUgRyAuNjM5KGN1dGVkLCB0aGUgYXIpLjE1IEYKLS42MzkKLShndW1lbnRzIHRvIHRoZSBmdW5jdGlvbiBiZWNvbWUgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBkdXJpbmcgaXRzIGUpCi0tLjE4IEYgLS4xNSh4ZSktLjE1IEcoY3V0aW9uLikuMTUgRSAuNTMzKFRoZSBzcGVjaWFsIHBhcmFtZXRlcikxMDggNDk2LjgKLVIgRjMoIykzLjAzMyBFIEYwIC41MzIoaXMgdXBkYXRlZCB0byByZVwyMTVlY3QgdGhlIGNoYW5nZS4pMy4wMzMgRiAuNTMyCi0oU3BlY2lhbCBwYXJhbWV0ZXIgMCBpcyB1bmNoYW5nZWQuKTUuNTMyIEYgLjUzMihUaGUgXDIxNHJzdCBlbGUtKTUuNTMyIEYKLShtZW50IG9mIHRoZSkxMDggNTA4LjggUSBGNChGVU5DTikyLjUgRShBTUUpLS4xOCBFIEYwIC0uMjUodmEpMi4yNSBHCi0ocmlhYmxlIGlzIHNldCB0byB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gd2hpbGUgdGhlIGZ1bmN0aW9uIGlzIGUpLjI1IEUKLS0uMTUoeGUpLS4xNSBHKGN1dGluZy4pLjE1IEUgMS4yNShBbGwgb3RoZXIgYXNwZWN0cyBvZiB0aGUgc2hlbGwgZSkxMDgKLTUyNS42IFIgLS4xNSh4ZSktLjE1IEcgMS4yNShjdXRpb24gZW4pLjE1IEYgMS4yNQotKHZpcm9ubWVudCBhcmUgaWRlbnRpY2FsIGJldHdlZW4gYSBmdW5jdGlvbiBhbmQgaXRzIGNhbGxlciB3aXRoKS0uNCBGCi0xLjA0OSh0aGVzZSBlKTEwOCA1MzcuNiBSIDMuNTQ4KHhjZXB0aW9uczogdGhlKS0uMTUgRiBGNChERUIpMy41NDggRShVRykKLS0uMDkgRSBGMChhbmQpMy4yOTggRSBGMyhSRVRVUk4pMy41NDggRSBGMCAxLjA0OAotKHRyYXBzIFwoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpMy41NDggRiBGMyh0cmFwKTMuNTQ4IEUgRjAgLS4yKGJ1KQotMy41NDggRyAxLjA0OChpbHRpbiB1bmRlcikuMiBGIEY0KFNIRUxMKTMuNTQ4IEUgLS4wOShCVSkxMDggNTQ5LjYgUyhJTCkKLS4wOSBFIC40NzgoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykyLjcyOCBFIC40NzkKLSh3XCkgYXJlIG5vdCBpbmhlcml0ZWQgdW5sZXNzIHRoZSBmdW5jdGlvbiBoYXMgYmVlbiBnaSktLjI1IEYgLS4xNSh2ZSkKLS0uMjUgRyAyLjk3OShudCkuMTUgRyhoZSktMi45NzkgRSBGMyh0cmFjZSkyLjk3OSBFIEYwKGF0dHJpYikyLjk3OSBFCi0uNDc5KHV0ZSBcKHNlZSktLjIgRiAuNDIxKHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpMTA4IDU2MS42IFIgRjQoZGVjbGFyKQotMi45MiBFKGUpLS4xNjIgRSBGMCAtLjIoYnUpMi42NyBHIC40MihpbHRpbiBiZWxvKS4yIEYgLjQyKHdcKSBvciB0aGUpCi0tLjI1IEYgRjMgLjQyKFwyNTVvIGZ1bmN0cmFjZSkyLjkyIEYgRjAgLjQyCi0oc2hlbGwgb3B0aW9uIGhhcyBiZWVuIGVuYWJsZWQgd2l0aCB0aGUpMi45MiBGIEYzKHNldCkyLjkyIEUgRjAgLS4yKGJ1KQotMTA4IDU3My42IFMgLjA3MShpbHRpbiBcKGluIHdoaWNoIGNhc2UgYWxsIGZ1bmN0aW9ucyBpbmhlcml0IHRoZSkuMiBGIEYzCi0oREVCKTIuNTcyIEUoVUcpLS4xIEUgRjAoYW5kKTIuNTcyIEUgRjMoUkVUVVJOKTIuNTcyIEUgRjAgLjA3MgotKHRyYXBzXCksIGFuZCB0aGUpMi41NzIgRiBGNChFUlIpMi41NzIgRSBGMCAuMDcyKHRyYXAgaXMgbm90IGluaGVyKTIuMzIyCi1GKC0pLS4yIEUoaXRlZCB1bmxlc3MgdGhlKTEwOCA1ODUuNiBRIEYzKFwyNTVvIGVycnRyYWNlKTIuNSBFIEYwCi0oc2hlbGwgb3B0aW9uIGhhcyBiZWVuIGVuYWJsZWQuKTIuNSBFIC0xLjExKFZhKTEwOCA2MDIuNCBTIC42NTYKLShyaWFibGVzIGxvY2FsIHRvIHRoZSBmdW5jdGlvbiBtYXkgYmUgZGVjbGFyZWQgd2l0aCB0aGUpMS4xMSBGIEYzKGxvY2FsKQotMy4xNTUgRSBGMCAtLjIoYnUpMy4xNTUgRyAuNjU1KGlsdGluIGNvbW1hbmQuKS4yIEYoT3JkaW5hcmlseSk1LjY1NSBFCi0zLjE1NSgsdiktLjY1IEcgLjY1NShhcmlhYmxlcyBhbmQpLTMuNDA1IEYodGhlaXIgdikxMDggNjE0LjQgUQotKGFsdWVzIGFyZSBzaGFyZWQgYmV0d2VlbiB0aGUgZnVuY3Rpb24gYW5kIGl0cyBjYWxsZXIpLS4yNSBFKC4pLS41NSBFCi0uMDQzKElmIHRoZSBiKTEwOCA2MzEuMiBSIC4wNDModWlsdGluIGNvbW1hbmQpLS4yIEYgRjMgLS4xOChyZSkyLjU0MyBHCi0odHVyKS4xOCBFKG4pLS4xNSBFIEYwIC4wNDMoaXMgZSkyLjU0MyBGIC0uMTUoeGUpLS4xNSBHIC4wNDMKLShjdXRlZCBpbiBhIGZ1bmN0aW9uLCB0aGUgZnVuY3Rpb24gY29tcGxldGVzIGFuZCBlKS4xNSBGIC0uMTUoeGUpLS4xNSBHCi0uMDQ0KGN1dGlvbiByZXN1bWVzIHdpdGgpLjE1IEYgMS4wMTIodGhlIG5lKTEwOCA2NDMuMiBSIDEuMDEyCi0oeHQgY29tbWFuZCBhZnRlciB0aGUgZnVuY3Rpb24gY2FsbC4pLS4xNSBGKEFuKTYuMDExIEUgMy41MTEoeWMpLS4xNSBHCi0xLjAxMShvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIHRoZSktMy41MTEgRiBGMyhSRVRVUk4pMy41MTEgRSBGMCAxLjAxMQotKHRyYXAgaXMgZSkzLjUxMSBGIC0uMTUoeGUpLS4xNSBHKGN1dGVkKS4xNSBFIC4yMTMoYmVmb3JlIGUpMTA4IDY1NS4yIFIKLS0uMTUoeGUpLS4xNSBHIC4yMTMoY3V0aW9uIHJlc3VtZXMuKS4xNSBGIC4yMTMKLShXaGVuIGEgZnVuY3Rpb24gY29tcGxldGVzLCB0aGUgdik1LjIxMyBGIC4yMTQKLShhbHVlcyBvZiB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFuZCB0aGUgc3BlLSktLjI1IEYoY2lhbCBwYXJhbWV0ZXIpCi0xMDggNjY3LjIgUSBGMygjKTIuNSBFIEYwKGFyZSByZXN0b3JlZCB0byB0aGUgdikyLjUgRShhbHVlcyB0aGUpLS4yNSBFCi0yLjUoeWgpLS4xNSBHKGFkIHByaW9yIHRvIHRoZSBmdW5jdGlvbicpLTIuNSBFIDIuNShzZSktLjU1IEcgLS4xNSh4ZSkKLS0yLjY1IEcoY3V0aW9uLikuMTUgRSAxLjM1OQotKEZ1bmN0aW9uIG5hbWVzIGFuZCBkZVwyMTRuaXRpb25zIG1heSBiZSBsaXN0ZWQgd2l0aCB0aGUpMTA4IDY4NCBSIEYzCi08YWQ2Nj4zLjg1OCBFIEYwIDEuMzU4KG9wdGlvbiB0byB0aGUpMy44NTggRiBGMyhkZWNsYXIpMy44NTggRShlKS0uMTggRQotRjAob3IpMy44NTggRSBGMyh0eXBlc2V0KTMuODU4IEUgRjAgLS4yKGJ1KTMuODU4IEcgMS4zNTgoaWx0aW4gY29tLSkuMiBGCi0zLjM5KG1hbmRzLiBUaGUpMTA4IDY5NiBSIEYzPGFkNDY+My4zOSBFIEYwIC44OShvcHRpb24gdG8pMy4zOSBGIEYzCi0oZGVjbGFyKTMuMzkgRShlKS0uMTggRSBGMChvcikzLjM5IEUgRjModHlwZXNldCkzLjM5IEUgRjAgLjg5Ci0od2lsbCBsaXN0IHRoZSBmdW5jdGlvbiBuYW1lcyBvbmx5IFwoYW5kIG9wdGlvbmFsbHkgdGhlIHNvdXJjZSkzLjM5IEYKLS4zMjcoXDIxNGxlIGFuZCBsaW5lIG51bWJlcikxMDggNzA4IFIgMi44MjcoLGkpLS40IEcgMi44MjcoZnQpLTIuODI3IEcKLShoZSktMi44MjcgRSBGMyhleHRkZWIpMi44MjcgRSh1ZyktLjIgRSBGMCAuMzI2Ci0oc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWRcKS4pMi44MjcgRiAuMzI2KEZ1bmN0aW9ucyBtYXkgYmUgZSk1LjMyNiBGIC4zMjYKLSh4cG9ydGVkIHNvIHRoYXQgc3Vic2hlbGxzKS0uMTUgRiAxLjI5NyhhdXRvbWF0aWNhbGx5IGhhKTEwOCA3MjAgUiAxLjU5NwotLS4xNSh2ZSB0KS0uMiBIIDEuMjk3KGhlbSBkZVwyMTRuZWQgd2l0aCB0aGUpLjE1IEYgRjM8YWQ2Nj4zLjc5NyBFIEYwCi0xLjI5NyhvcHRpb24gdG8gdGhlKTMuNzk3IEYgRjMoZXhwb3J0KTMuNzk4IEUgRjAgLS4yKGJ1KTMuNzk4IEcgMy43OTgKLShpbHRpbi4gQSkuMiBGIDEuMjk4KGZ1bmN0aW9uIGRlXDIxNG5pdGlvbiBtYXkgYmUpMy43OTggRihHTlUgQmFzaC00LjEpCi03MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgyNikxODUuOTU1IEUgMCBDZyBFUAorMS4xNjEoVGhlIGNvbW1hbmRzIGZvbGxvKTYuMTYxIEYgMS4xNjEod2luZyB0aGUpLS4yNSBGKEdOVSBCYXNoLTQuMik3MgorNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoMjYpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMjcgMjcKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUgLjE2MShkZWxldGVkIHVzaW5nIHRoZSkxMDggODQgUi9GMSAxMC9UaW1lcy1Cb2xkQDAgU0Y8YWQ2Nj4yLjY2MQotRSBGMCAuMTYxKG9wdGlvbiB0byB0aGUpMi42NjEgRiBGMSh1bnNldCkyLjY2MSBFIEYwIC0uMihidSkyLjY2MSBHIDIuNjYxCi0oaWx0aW4uIE5vdGUpLjIgRiAuMTYodGhhdCBzaGVsbCBmdW5jdGlvbnMgYW5kIHYpMi42NjEgRiAuMTYKLShhcmlhYmxlcyB3aXRoIHRoZSBzYW1lIG5hbWUpLS4yNSBGIDEuMzI1Ci0obWF5IHJlc3VsdCBpbiBtdWx0aXBsZSBpZGVudGljYWxseS1uYW1lZCBlbnRyaWVzIGluIHRoZSBlbikxMDggOTYgUgotMS4zMjUodmlyb25tZW50IHBhc3NlZCB0byB0aGUgc2hlbGwnKS0uNCBGIDMuODI1KHNjKS0uNTUgRyAzLjgyNQotKGhpbGRyZW4uIENhcmUpLTMuODI1IEYoc2hvdWxkIGJlIHRhaykxMDggMTA4IFEKLShlbiBpbiBjYXNlcyB3aGVyZSB0aGlzIG1heSBjYXVzZSBhIHByb2JsZW0uKS0uMSBFCi0oRnVuY3Rpb25zIG1heSBiZSByZWN1cnNpKTEwOCAxMjQuOCBRIC0uMTUodmUpLS4yNSBHIDUoLk4pLjE1IEcgMi41KG9sKQotLTUgRyhpbWl0IGlzIGltcG9zZWQgb24gdGhlIG51bWJlciBvZiByZWN1cnNpKS0yLjUgRSAuMyAtLjE1KHZlIGMpLS4yNSBICi0oYWxscy4pLjE1IEUvRjIgMTAuOTUvVGltZXMtQm9sZEAwIFNGKEFSSVRITUVUSUMgRVYpNzIgMTQxLjYgUShBTFUpCi0tMS40NzggRSAtMS4wNChBVCktLjY1NyBHKElPTikxLjA0IEUgRjAgMi4yOTgoVGhlIHNoZWxsIGFsbG8pMTA4IDE1My42IFIKLTIuMjk3KHdzIGFyaXRobWV0aWMgZSktLjI1IEYgMi4yOTcoeHByZXNzaW9ucyB0byBiZSBlKS0uMTUgRiAtLjI1KHZhKQotLS4yNSBHIDIuMjk3KGx1YXRlZCwgdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzIFwoc2VlIHRoZSkuMjUgRiBGMShsZXQpCi00Ljc5NyBFIEYwKGFuZCk0Ljc5NyBFIEYxKGRlY2xhcikxMDggMTY1LjYgUShlKS0uMTggRSBGMCAtLjIoYnUpMi43MDUgRwotLjIwNShpbHRpbiBjb21tYW5kcyBhbmQpLjIgRiBGMSAuMjA1KEFyaXRobWV0aWMgRXhwYW5zaW9uKTIuNzA1IEYgRjAKLTIuNzA1KFwpLiBFdilCIC4yMDUoYWx1YXRpb24gaXMgZG9uZSBpbiBcMjE0eCktLjI1IEYgLjIwNihlZC13aWR0aCBpbnRlKQotLS4xNSBGIC4yMDYoZ2VycyB3aXRoIG5vKS0uMTUgRiAuNDI5KGNoZWNrIGZvciBvKTEwOCAxNzcuNiBSIC0uMTUodmUpCi0tLjE1IEcoclwyMTVvKS4xNSBFIDEuNzI5IC0uNjUodywgdCktLjI1IEggLjQyOShob3VnaCBkaSkuNjUgRiAuNDI4Ci0odmlzaW9uIGJ5IDAgaXMgdHJhcHBlZCBhbmQgXDIxNWFnZ2VkIGFzIGFuIGVycm9yKS0uMjUgRiA1LjQyOCguVCktLjU1IEcKLS40MjgoaGUgb3BlcmF0b3JzIGFuZCB0aGVpciBwcmVjZS0pLTUuNDI4IEYgMS45MTkoZGVuY2UsIGFzc29jaWF0aSkxMDgKLTE4OS42IFIodml0eSktLjI1IEUgNC40MTkoLGEpLS42NSBHIDEuOTE5KG5kIHYpLTQuNDE5IEYgMS45MTkKLShhbHVlcyBhcmUgdGhlIHNhbWUgYXMgaW4gdGhlIEMgbGFuZ3VhZ2UuKS0uMjUgRiAxLjkyKFRoZSBmb2xsbyk2LjkyIEYKLTEuOTIod2luZyBsaXN0IG9mIG9wZXJhdG9ycyBpcyktLjI1IEYoZ3JvdXBlZCBpbnRvIGxlKTEwOCAyMDEuNiBRIC0uMTUKKy0uMzUgRSAuMjc3KGFsaWFzIGRlXDIxNG5pdGlvbiBvbiB0aGF0IGxpbmUgYXJlIG5vdCBhZikxMDggODQgUiAuMjc3CisoZmVjdGVkIGJ5IHRoZSBuZSktLjI1IEYgMi43Nzcod2EpLS4yNSBHIDIuNzc3KGxpYXMuIFRoaXMpLTIuNzc3IEYoYmVoYSkKKzIuNzc3IEUgLjI3Nyh2aW9yIGlzIGFsc28gYW4gaXNzdWUgd2hlbiBmdW5jdGlvbnMpLS4yIEYgLjY5OShhcmUgZSkxMDgKKzk2IFIgLS4xNSh4ZSktLjE1IEcgMy4xOTkoY3V0ZWQuIEFsaWFzZXMpLjE1IEYgLjY5OShhcmUgZSkzLjE5OSBGIC42OTkoXAoreHBhbmRlZCB3aGVuIGEgZnVuY3Rpb24gZGVcMjE0bml0aW9uIGlzIHJlYWQsIG5vdCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBcCitlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRyhjdXRlZCwpLjE1IEUgLjQ5NAorKGJlY2F1c2UgYSBmdW5jdGlvbiBkZVwyMTRuaXRpb24gaXMgaXRzZWxmIGEgY29tcG91bmQgY29tbWFuZC4pMTA4IDEwOCBSCisuNDk1KEFzIGEgY29uc2VxdWVuY2UsIGFsaWFzZXMgZGVcMjE0bmVkIGluIGEgZnVuYy0pNS40OTQgRiAuMDg1CisodGlvbiBhcmUgbm90IGEpMTA4IDEyMCBSIC0uMjUodmEpLS4yIEcgLjA4NAorKGlsYWJsZSB1bnRpbCBhZnRlciB0aGF0IGZ1bmN0aW9uIGlzIGUpLjI1IEYgLS4xNSh4ZSktLjE1IEcgMi41ODQKKyhjdXRlZC4gVCkuMTUgRiAyLjU4NChvYiktLjggRyAyLjU4NChlcyktMi41ODQgRyAuMDg0KGFmZSwgYWwpLTIuNTg0IEYKKy0uMSh3YSktLjEgRyAuMDg0KHlzIHB1dCBhbGlhcyBkZVwyMTRuaXRpb25zIG9uIGEgc2VwYS0pLjEgRgorKHJhdGUgbGluZSwgYW5kIGRvIG5vdCB1c2UpMTA4IDEzMiBRL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihhbGlhcykyLjUgRQorRjAoaW4gY29tcG91bmQgY29tbWFuZHMuKTIuNSBFIC0uMTUoRm8pMTA4IDE0OC44IFMgMi41KHJhKS4xNSBHKGxtb3N0IGUpCistMi41IEUgLS4xNSh2ZSktLjI1IEcKKyhyeSBwdXJwb3NlLCBhbGlhc2VzIGFyZSBzdXBlcnNlZGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy4pLjE1IEUvRjIgMTAuOTUKKy9UaW1lcy1Cb2xkQDAgU0YoRlVOQ1RJT05TKTcyIDE2NS42IFEgRjAgMy40NjcoQXMpMTA4IDE3Ny42IFMgLjk2NworKGhlbGwgZnVuY3Rpb24sIGRlXDIxNG5lZCBhcyBkZXNjcmliZWQgYWJvKS0zLjQ2NyBGIDEuMjY3IC0uMTUodmUgdSktLjE1CitIKG5kZXIpLjE1IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgLjk2NyhTSEVMTCBHUkFNTUFSKTMuNDY3IEYvRjQgOQorL1RpbWVzLVJvbWFuQDAgU0YoLClBIEYwIC45Njgoc3RvcmVzIGEgc2VyaWVzIG9mIGNvbW1hbmRzIGZvcikzLjIxNyBGCisxLjAwMihsYXRlciBlKTEwOCAxODkuNiBSIC0uMTUoeGUpLS4xNSBHIDMuNTAyKGN1dGlvbi4gV2hlbikuMTUgRiAxLjAwMgorKHRoZSBuYW1lIG9mIGEgc2hlbGwgZnVuY3Rpb24gaXMgdXNlZCBhcyBhIHNpbXBsZSBjb21tYW5kIG5hbWUsIHRoZSBsaXNcCit0IG9mIGNvbS0pMy41MDIgRiAuMzE1KG1hbmRzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGZ1bmN0aW9uIG5hbWUgaXMgZSkxMDgKKzIwMS42IFIgLS4xNSh4ZSktLjE1IEcgMi44MTYoY3V0ZWQuIEZ1bmN0aW9ucykuMTUgRiAuMzE2KGFyZSBlKTIuODE2IEYKKy0uMTUoeGUpLS4xNSBHIC4zMTYoY3V0ZWQgaW4gdGhlIGNvbnRlKS4xNSBGIC4zMTYoeHQgb2YgdGhlIGN1cnJlbnQpLS4xNQorRiAuMDM2KHNoZWxsOyBubyBuZSkxMDggMjEzLjYgUiAyLjUzNih3cCktLjI1IEcgLjAzNgorKHJvY2VzcyBpcyBjcmVhdGVkIHRvIGludGVycHJldCB0aGVtIFwoY29udHJhc3QgdGhpcyB3aXRoIHRoZSBlKS0yLjUzNiBGCistLjE1KHhlKS0uMTUgRyAuMDM2KGN1dGlvbiBvZiBhIHNoZWxsIHNjcmlwdFwpLikuMTUgRiAuMDM1KFdoZW4gYSk1LjAzNQorRiAuNjM5KGZ1bmN0aW9uIGlzIGUpMTA4IDIyNS42IFIgLS4xNSh4ZSktLjE1IEcgLjYzOShjdXRlZCwgdGhlIGFyKS4xNSBGCisuNjM5CisoZ3VtZW50cyB0byB0aGUgZnVuY3Rpb24gYmVjb21lIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgZHVyaW5nIGl0cyBlKQorLS4xOCBGIC0uMTUoeGUpLS4xNSBHKGN1dGlvbi4pLjE1IEUgLjUzMyhUaGUgc3BlY2lhbCBwYXJhbWV0ZXIpMTA4IDIzNy42CitSIEYxKCMpMy4wMzMgRSBGMCAuNTMyKGlzIHVwZGF0ZWQgdG8gcmVcMjE1ZWN0IHRoZSBjaGFuZ2UuKTMuMDMzIEYgLjUzMgorKFNwZWNpYWwgcGFyYW1ldGVyKTUuNTMyIEYgRjEoMCkzLjAzMiBFIEYwIC41MzIoaXMgdW5jaGFuZ2VkLikzLjAzMiBGCisuNTMyKFRoZSBcMjE0cnN0IGVsZS0pNS41MzIgRihtZW50IG9mIHRoZSkxMDggMjQ5LjYgUSBGMyhGVU5DTikyLjUgRQorKEFNRSktLjE4IEUgRjAgLS4yNSh2YSkyLjI1IEcKKyhyaWFibGUgaXMgc2V0IHRvIHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB3aGlsZSB0aGUgZnVuY3Rpb24gaXMgZSkuMjUgRQorLS4xNSh4ZSktLjE1IEcoY3V0aW5nLikuMTUgRSAxLjI1KEFsbCBvdGhlciBhc3BlY3RzIG9mIHRoZSBzaGVsbCBlKTEwOAorMjY2LjQgUiAtLjE1KHhlKS0uMTUgRyAxLjI1KGN1dGlvbiBlbikuMTUgRiAxLjI1Cisodmlyb25tZW50IGFyZSBpZGVudGljYWwgYmV0d2VlbiBhIGZ1bmN0aW9uIGFuZCBpdHMgY2FsbGVyIHdpdGgpLS40IEYKKzEuMDQ5KHRoZXNlIGUpMTA4IDI3OC40IFIgMy41NDgoeGNlcHRpb25zOiB0aGUpLS4xNSBGIEYzKERFQikzLjU0OCBFKFVHKQorLS4wOSBFIEYwKGFuZCkzLjI5OCBFIEYxKFJFVFVSTikzLjU0OCBFIEYwIDEuMDQ4CisodHJhcHMgXChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSkzLjU0OCBGIEYxKHRyYXApMy41NDggRSBGMCAtLjIoYnUpCiszLjU0OCBHIDEuMDQ4KGlsdGluIHVuZGVyKS4yIEYgRjMoU0hFTEwpMy41NDggRSAtLjA5KEJVKTEwOCAyOTAuNCBTKElMKQorLjA5IEUgLjQ3OChUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTIuNzI4IEUgLjQ3OQorKHdcKSBhcmUgbm90IGluaGVyaXRlZCB1bmxlc3MgdGhlIGZ1bmN0aW9uIGhhcyBiZWVuIGdpKS0uMjUgRiAtLjE1KHZlKQorLS4yNSBHIDIuOTc5KG50KS4xNSBHKGhlKS0yLjk3OSBFIEYxKHRyYWNlKTIuOTc5IEUgRjAoYXR0cmliKTIuOTc5IEUKKy40NzkodXRlIFwoc2VlKS0uMiBGIC40MjEodGhlIGRlc2NyaXB0aW9uIG9mIHRoZSkxMDggMzAyLjQgUiBGMyhkZWNsYXIpCisyLjkyIEUoZSktLjE2MiBFIEYwIC0uMihidSkyLjY3IEcgLjQyKGlsdGluIGJlbG8pLjIgRiAuNDIod1wpIG9yIHRoZSkKKy0uMjUgRiBGMSAuNDIoXDI1NW8gZnVuY3RyYWNlKTIuOTIgRiBGMCAuNDIKKyhzaGVsbCBvcHRpb24gaGFzIGJlZW4gZW5hYmxlZCB3aXRoIHRoZSkyLjkyIEYgRjEoc2V0KTIuOTIgRSBGMCAtLjIoYnUpCisxMDggMzE0LjQgUyAuMDcxKGlsdGluIFwoaW4gd2hpY2ggY2FzZSBhbGwgZnVuY3Rpb25zIGluaGVyaXQgdGhlKS4yIEYgRjEKKyhERUIpMi41NzIgRShVRyktLjEgRSBGMChhbmQpMi41NzIgRSBGMShSRVRVUk4pMi41NzIgRSBGMCAuMDcyCisodHJhcHNcKSwgYW5kIHRoZSkyLjU3MiBGIEYzKEVSUikyLjU3MiBFIEYwIC4wNzIodHJhcCBpcyBub3QgaW5oZXIpMi4zMjIKK0YoLSktLjIgRShpdGVkIHVubGVzcyB0aGUpMTA4IDMyNi40IFEgRjEoXDI1NW8gZXJydHJhY2UpMi41IEUgRjAKKyhzaGVsbCBvcHRpb24gaGFzIGJlZW4gZW5hYmxlZC4pMi41IEUgLTEuMTEoVmEpMTA4IDM0My4yIFMgLjY1NgorKHJpYWJsZXMgbG9jYWwgdG8gdGhlIGZ1bmN0aW9uIG1heSBiZSBkZWNsYXJlZCB3aXRoIHRoZSkxLjExIEYgRjEobG9jYWwpCiszLjE1NSBFIEYwIC0uMihidSkzLjE1NSBHIC42NTUoaWx0aW4gY29tbWFuZC4pLjIgRihPcmRpbmFyaWx5KTUuNjU1IEUKKzMuMTU1KCx2KS0uNjUgRyAuNjU1KGFyaWFibGVzIGFuZCktMy40MDUgRih0aGVpciB2KTEwOCAzNTUuMiBRCisoYWx1ZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBmdW5jdGlvbiBhbmQgaXRzIGNhbGxlciktLjI1IEUoLiktLjU1IEUKKyhUaGUpMTA4IDM3MiBRIEYxKEZVTkNORVNUKTMuNTI4IEUgRjAgLS4yNSh2YSkzLjUyOCBHIDEuMDI4CisocmlhYmxlLCBpZiBzZXQgdG8gYSBudW1lcmljIHYpLjI1IEYgMS4wMjgKKyhhbHVlIGdyZWF0ZXIgdGhhbiAwLCBkZVwyMTRuZXMgYSBtYXhpbXVtIGZ1bmN0aW9uIG5lc3RpbmcpLS4yNSBGKGxlKTEwOAorMzg0IFEgLS4xNSh2ZSktLjI1IEcgMi41KGwuIEZ1bmN0aW9uKS4xNSBGKGluKTIuNSBFIC0uMih2byktLjQgRworKGNhdGlvbnMgdGhhdCBlKS4yIEUoeGNlZWQgdGhlIGxpbWl0IGNhdXNlIHRoZSBlbnRpcmUgY29tbWFuZCB0byBhYm9ydC4pCistLjE1IEUgLjA0NChJZiB0aGUgYikxMDggNDAwLjggUiAuMDQzKHVpbHRpbiBjb21tYW5kKS0uMiBGIEYxIC0uMTgocmUpCisyLjU0MyBHKHR1cikuMTggRShuKS0uMTUgRSBGMCAuMDQzKGlzIGUpMi41NDMgRiAtLjE1KHhlKS0uMTUgRyAuMDQzCisoY3V0ZWQgaW4gYSBmdW5jdGlvbiwgdGhlIGZ1bmN0aW9uIGNvbXBsZXRlcyBhbmQgZSkuMTUgRiAtLjE1KHhlKS0uMTUgRworLjA0MyhjdXRpb24gcmVzdW1lcyB3aXRoKS4xNSBGIDEuMDExKHRoZSBuZSkxMDggNDEyLjggUiAxLjAxMQorKHh0IGNvbW1hbmQgYWZ0ZXIgdGhlIGZ1bmN0aW9uIGNhbGwuKS0uMTUgRihBbik2LjAxMSBFIDMuNTExKHljKS0uMTUgRworMS4wMTEob21tYW5kIGFzc29jaWF0ZWQgd2l0aCB0aGUpLTMuNTExIEYgRjEoUkVUVVJOKTMuNTEyIEUgRjAgMS4wMTIKKyh0cmFwIGlzIGUpMy41MTIgRiAtLjE1KHhlKS0uMTUgRyhjdXRlZCkuMTUgRSAuMjE0KGJlZm9yZSBlKTEwOCA0MjQuOCBSCistLjE1KHhlKS0uMTUgRyAuMjE0KGN1dGlvbiByZXN1bWVzLikuMTUgRiAuMjEzCisoV2hlbiBhIGZ1bmN0aW9uIGNvbXBsZXRlcywgdGhlIHYpNS4yMTQgRiAuMjEzCisoYWx1ZXMgb2YgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhbmQgdGhlIHNwZS0pLS4yNSBGKGNpYWwgcGFyYW1ldGVyKQorMTA4IDQzNi44IFEgRjEoIykyLjUgRSBGMChhcmUgcmVzdG9yZWQgdG8gdGhlIHYpMi41IEUoYWx1ZXMgdGhlKS0uMjUgRQorMi41KHloKS0uMTUgRyhhZCBwcmlvciB0byB0aGUgZnVuY3Rpb24nKS0yLjUgRSAyLjUoc2UpLS41NSBHIC0uMTUoeGUpCistMi42NSBHKGN1dGlvbi4pLjE1IEUgMS4zNTgKKyhGdW5jdGlvbiBuYW1lcyBhbmQgZGVcMjE0bml0aW9ucyBtYXkgYmUgbGlzdGVkIHdpdGggdGhlKTEwOCA0NTMuNiBSIEYxCis8YWQ2Nj4zLjg1OCBFIEYwIDEuMzU4KG9wdGlvbiB0byB0aGUpMy44NTggRiBGMShkZWNsYXIpMy44NTggRShlKS0uMTggRQorRjAob3IpMy44NTkgRSBGMSh0eXBlc2V0KTMuODU5IEUgRjAgLS4yKGJ1KTMuODU5IEcgMS4zNTkoaWx0aW4gY29tLSkuMiBGCiszLjM5KG1hbmRzLiBUaGUpMTA4IDQ2NS42IFIgRjE8YWQ0Nj4zLjM5IEUgRjAgLjg5KG9wdGlvbiB0bykzLjM5IEYgRjEKKyhkZWNsYXIpMy4zOSBFKGUpLS4xOCBFIEYwKG9yKTMuMzkgRSBGMSh0eXBlc2V0KTMuMzkgRSBGMCAuODkKKyh3aWxsIGxpc3QgdGhlIGZ1bmN0aW9uIG5hbWVzIG9ubHkgXChhbmQgb3B0aW9uYWxseSB0aGUgc291cmNlKTMuMzkgRgorLjMyNihcMjE0bGUgYW5kIGxpbmUgbnVtYmVyKTEwOCA0NzcuNiBSIDIuODI2KCxpKS0uNCBHIDIuODI2KGZ0KS0yLjgyNiBHCisoaGUpLTIuODI2IEUgRjEoZXh0ZGViKTIuODI2IEUodWcpLS4yIEUgRjAgLjMyNgorKHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkXCkuKTIuODI2IEYgLjMyNyhGdW5jdGlvbnMgbWF5IGJlIGUpNS4zMjcgRiAuMzI3CisoeHBvcnRlZCBzbyB0aGF0IHN1YnNoZWxscyktLjE1IEYgMS4yOTgoYXV0b21hdGljYWxseSBoYSkxMDggNDg5LjYgUgorMS41OTggLS4xNSh2ZSB0KS0uMiBIIDEuMjk4KGhlbSBkZVwyMTRuZWQgd2l0aCB0aGUpLjE1IEYgRjE8YWQ2Nj4zLjc5OCBFCitGMCAxLjI5OChvcHRpb24gdG8gdGhlKTMuNzk4IEYgRjEoZXhwb3J0KTMuNzk3IEUgRjAgLS4yKGJ1KTMuNzk3IEcgMy43OTcKKyhpbHRpbi4gQSkuMiBGIDEuMjk3KGZ1bmN0aW9uIGRlXDIxNG5pdGlvbiBtYXkgYmUpMy43OTcgRiAuMTYKKyhkZWxldGVkIHVzaW5nIHRoZSkxMDggNTAxLjYgUiBGMTxhZDY2PjIuNjYgRSBGMCAuMTYob3B0aW9uIHRvIHRoZSkyLjY2CitGIEYxKHVuc2V0KTIuNjYgRSBGMCAtLjIoYnUpMi42NiBHIDIuNjYxKGlsdGluLiBOb3RlKS4yIEYgLjE2MQorKHRoYXQgc2hlbGwgZnVuY3Rpb25zIGFuZCB2KTIuNjYxIEYgLjE2MShhcmlhYmxlcyB3aXRoIHRoZSBzYW1lIG5hbWUpCistLjI1IEYgMS4zMjUobWF5IHJlc3VsdCBpbiBtdWx0aXBsZSBpZGVudGljYWxseS1uYW1lZCBlbnRyaWVzIGluIHRoZSBlbikKKzEwOCA1MTMuNiBSIDEuMzI1KHZpcm9ubWVudCBwYXNzZWQgdG8gdGhlIHNoZWxsJyktLjQgRiAzLjgyNShzYyktLjU1IEcKKzMuODI1KGhpbGRyZW4uIENhcmUpLTMuODI1IEYoc2hvdWxkIGJlIHRhaykxMDggNTI1LjYgUQorKGVuIGluIGNhc2VzIHdoZXJlIHRoaXMgbWF5IGNhdXNlIGEgcHJvYmxlbS4pLS4xIEUgLjM3MQorKEZ1bmN0aW9ucyBtYXkgYmUgcmVjdXJzaSkxMDggNTQyLjQgUiAtLjE1KHZlKS0uMjUgRyA1LjM3MSguVCkuMTUgRyhoZSkKKy01LjM3MSBFIEYxKEZVTkNORVNUKTIuODcxIEUgRjAgLS4yNSh2YSkyLjg3MSBHIC4zNzEKKyhyaWFibGUgbWF5IGJlIHVzZWQgdG8gbGltaXQgdGhlIGRlcHRoIG9mIHRoZSBmdW5jdGlvbiBjYWxsKS4yNSBGIDEuMTQxCisoc3RhY2sgYW5kIHJlc3RyaWN0IHRoZSBudW1iZXIgb2YgZnVuY3Rpb24gaW4pMTA4IDU1NC40IFIgLS4yKHZvKS0uNCBHCiszLjY0MShjYXRpb25zLiBCeSkuMiBGKGRlZikzLjY0MSBFIDEuMTQxCisoYXVsdCwgbm8gbGltaXQgaXMgaW1wb3NlZCBvbiB0aGUgbnVtYmVyIG9mKS0uMSBGKHJlY3Vyc2kpMTA4IDU2Ni40IFEgLjMKKy0uMTUodmUgYyktLjI1IEgoYWxscy4pLjE1IEUgRjIoQVJJVEhNRVRJQyBFVik3MiA1ODMuMiBRKEFMVSktMS40NzggRQorLTEuMDQoQVQpLS42NTcgRyhJT04pMS4wNCBFIEYwIDIuMjk3KFRoZSBzaGVsbCBhbGxvKTEwOCA1OTUuMiBSIDIuMjk3Cisod3MgYXJpdGhtZXRpYyBlKS0uMjUgRiAyLjI5Nyh4cHJlc3Npb25zIHRvIGJlIGUpLS4xNSBGIC0uMjUodmEpLS4yNSBHCisyLjI5NyhsdWF0ZWQsIHVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcyBcKHNlZSB0aGUpLjI1IEYgRjEobGV0KTQuNzk4IEUKK0YwKGFuZCk0Ljc5OCBFIEYxKGRlY2xhcikxMDggNjA3LjIgUShlKS0uMTggRSBGMCAtLjIoYnUpMi43MDYgRyAuMjA2CisoaWx0aW4gY29tbWFuZHMgYW5kKS4yIEYgRjEgLjIwNihBcml0aG1ldGljIEV4cGFuc2lvbikyLjcwNiBGIEYwIDIuNzA1CisoXCkuIEV2KUIgLjIwNShhbHVhdGlvbiBpcyBkb25lIGluIFwyMTR4KS0uMjUgRiAuMjA1KGVkLXdpZHRoIGludGUpLS4xNQorRiAuMjA1KGdlcnMgd2l0aCBubyktLjE1IEYgLjQyOChjaGVjayBmb3IgbykxMDggNjE5LjIgUiAtLjE1KHZlKS0uMTUgRworKHJcMjE1bykuMTUgRSAxLjcyOCAtLjY1KHcsIHQpLS4yNSBIIC40MjgoaG91Z2ggZGkpLjY1IEYgLjQyOAorKHZpc2lvbiBieSAwIGlzIHRyYXBwZWQgYW5kIFwyMTVhZ2dlZCBhcyBhbiBlcnJvciktLjI1IEYgNS40MjkoLlQpLS41NSBHCisuNDI5KGhlIG9wZXJhdG9ycyBhbmQgdGhlaXIgcHJlY2UtKS01LjQyOSBGIDEuOTIoZGVuY2UsIGFzc29jaWF0aSkxMDgKKzYzMS4yIFIodml0eSktLjI1IEUgNC40MigsYSktLjY1IEcgMS45MihuZCB2KS00LjQyIEYgMS45MgorKGFsdWVzIGFyZSB0aGUgc2FtZSBhcyBpbiB0aGUgQyBsYW5ndWFnZS4pLS4yNSBGIDEuOTE5KFRoZSBmb2xsbyk2LjkxOSBGCisxLjkxOSh3aW5nIGxpc3Qgb2Ygb3BlcmF0b3JzIGlzKS0uMjUgRihncm91cGVkIGludG8gbGUpMTA4IDY0My4yIFEgLS4xNQogKHZlKS0uMjUgRyhscyBvZiBlcXVhbC1wcmVjZWRlbmNlIG9wZXJhdG9ycy4pLjE1IEUoVGhlIGxlKTUgRSAtLjE1KHZlKQotLS4yNSBHKGxzIGFyZSBsaXN0ZWQgaW4gb3JkZXIgb2YgZGVjcmVhc2luZyBwcmVjZWRlbmNlLikuMTUgRS9GMyAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKGlkKTEwOCAyMTguNCBRIEYxKCsrKUEgRjMoaWQpMi41IEUgRjE8YWRhZD5BIEYwIC0uMjUKLSh2YSkxNDQgMjMwLjQgUyhyaWFibGUgcG9zdC1pbmNyZW1lbnQgYW5kIHBvc3QtZGVjcmVtZW50KS4yNSBFIEYxKCsrKTEwOAotMjQyLjQgUSBGMyhpZClBIEYxPGFkYWQ+Mi41IEUgRjMoaWQpQSBGMCAtLjI1KHZhKTE0NCAyNTQuNCBTCi0ocmlhYmxlIHByZS1pbmNyZW1lbnQgYW5kIHByZS1kZWNyZW1lbnQpLjI1IEUgRjEgMi41PGFkMmI+MTA4IDI2Ni40IFMgRjAKLSh1bmFyeSBtaW51cyBhbmQgcGx1cykxOS42IEUgRjEgMi41KCF+KTEwOCAyNzguNCBTIEYwCi0obG9naWNhbCBhbmQgYml0d2lzZSBuZSkyNC4zNCBFIC0uMDUoZ2EpLS4xNSBHKHRpb24pLjA1IEUgRjEoKiopMTA4Ci0yOTAuNCBRIEYwIC0uMTUoZXgpMjYgRyhwb25lbnRpYXRpb24pLjE1IEUgRjEgMi41KCovJSkxMDggMzAyLjQgUyBGMAotKG11bHRpcGxpY2F0aW9uLCBkaSkxMC43MiBFKHZpc2lvbiwgcmVtYWluZGVyKS0uMjUgRSBGMSAyLjU8MmJhZD4xMDgKLTMxNC40IFMgRjAoYWRkaXRpb24sIHN1YnRyYWN0aW9uKTE5LjYgRSBGMSg8PCA+PikxMDggMzI2LjQgUSBGMAotKGxlZnQgYW5kIHJpZ2h0IGJpdHdpc2Ugc2hpZnRzKTEwLjcgRSBGMSg8PSA+PSA8ID4pMTA4IDMzOC40IFEgRjAKLShjb21wYXJpc29uKTE0NCAzNTAuNCBRIEYxKD09ICE9KTEwOCAzNjIuNCBRIEYwKGVxdWFsaXR5IGFuZCBpbmVxdWFsaXR5KQotMTMuMDcgRSBGMSgmKTEwOCAzNzQuNCBRIEYwKGJpdHdpc2UgQU5EKTI3LjY3IEUgRjEoXikxMDggMzg2LjQgUSBGMAotKGJpdHdpc2UgZSkzMi42NyBFKHhjbHVzaSktLjE1IEUgLjMgLS4xNSh2ZSBPKS0uMjUgSChSKS4xNSBFIEYxKHwpMTA4Ci0zOTguNCBRIEYwKGJpdHdpc2UgT1IpMzMuOCBFIEYxKCYmKTEwOCA0MTAuNCBRIEYwKGxvZ2ljYWwgQU5EKTE5LjM0IEUgRjEKLSh8fCkxMDggNDIyLjQgUSBGMChsb2dpY2FsIE9SKTMxLjYgRSBGMyAtLjIoZXgpMTA4IDQzNC40IFMocHIpLjIgRSBGMSg/KQotQSBGMyAtLjIoZXgpQyhwcikuMiBFIEYxKDopQSBGMyAtLjIoZXgpQyhwcikuMiBFIEYwCi0oY29uZGl0aW9uYWwgb3BlcmF0b3IpMTQ0IDQ0Ni40IFEgRjEgMi41KD0qKTEwOCA0NTguNCBTIDIuNSg9LyktMi41IEcKLTIuNSg9JSktMi41IEcgMi41KD0rKS0yLjUgRyAyLjU8M2RhZD4tMi41IEcgMi41KD08KS0yLjUgRwotKDw9ID4+PSAmPSBePSB8PSktMi41IEUgRjAoYXNzaWdubWVudCkxNDQgNDcwLjQgUSBGMyAtLjIoZXgpMTA4IDQ4Mi40IFMKLShwcjEpLjIgRSBGMSgsKTIuNSBFIEYzIC0uMihleCkyLjUgRyhwcjIpLjIgRSBGMChjb21tYSkxNDQgNDk0LjQgUSAuNjgKLShTaGVsbCB2KTEwOCA1MTEuMiBSIC42OChhcmlhYmxlcyBhcmUgYWxsbyktLjI1IEYgLjY4Ci0od2VkIGFzIG9wZXJhbmRzOyBwYXJhbWV0ZXIgZSktLjI1IEYgLjY4Ci0oeHBhbnNpb24gaXMgcGVyZm9ybWVkIGJlZm9yZSB0aGUgZSktLjE1IEYgLjY4KHhwcmVzc2lvbiBpcyBlKS0uMTUgRgotLS4yNSh2YSktLjI1IEcobHUtKS4yNSBFIDMuNTA3KGF0ZWQuIFcpMTA4IDUyMy4yIFIgMS4wMDcoaXRoaW4gYW4gZSktLjQKLUYgMS4wMDcoeHByZXNzaW9uLCBzaGVsbCB2KS0uMTUgRiAxLjAwNwotKGFyaWFibGVzIG1heSBhbHNvIGJlIHJlZmVyZW5jZWQgYnkgbmFtZSB3aXRob3V0IHVzaW5nIHRoZSBwYXJhbWV0ZXIpCi0tLjI1IEYgLS4xNShleCkxMDggNTM1LjIgUyAxLjA0MShwYW5zaW9uIHN5bnRheC4pLjE1IEYgMy41NDEoQXMpNi4wNDEgRwotMS4wNDEoaGVsbCB2KS0zLjU0MSBGIDEuMDQxKGFyaWFibGUgdGhhdCBpcyBudWxsIG9yIHVuc2V0IGUpLS4yNSBGIC0uMjUKLSh2YSktLjI1IEcgMS4wNChsdWF0ZXMgdG8gMCB3aGVuIHJlZmVyZW5jZWQgYnkgbmFtZSB3aXRob3V0KS4yNSBGIDEuNDY2Ci0odXNpbmcgdGhlIHBhcmFtZXRlciBlKTEwOCA1NDcuMiBSIDEuNDY2KHhwYW5zaW9uIHN5bnRheC4pLS4xNSBGIDEuNDY3Ci0oVGhlIHYpNi40NjYgRiAxLjQ2NyhhbHVlIG9mIGEgdiktLjI1IEYgMS40NjcoYXJpYWJsZSBpcyBlKS0uMjUgRiAtLjI1Ci0odmEpLS4yNSBHIDEuNDY3KGx1YXRlZCBhcyBhbiBhcml0aG1ldGljIGUpLjI1IEYoeHByZXNzaW9uKS0uMTUgRSAxLjM5Ci0od2hlbiBpdCBpcyByZWZlcmVuY2VkLCBvciB3aGVuIGEgdikxMDggNTU5LjIgUiAxLjM4OQotKGFyaWFibGUgd2hpY2ggaGFzIGJlZW4gZ2kpLS4yNSBGIC0uMTUodmUpLS4yNSBHIDMuODg5KG50KS4xNSBHKGhlKQotLTMuODg5IEUgRjMoaW50ZSkzLjg4OSBFIC0uMShnZSktLjQgRyhyKS4xIEUgRjAoYXR0cmliKTMuODg5IEUgMS4zODkKLSh1dGUgdXNpbmcpLS4yIEYgRjEoZGVjbGFyKTMuODg5IEUgMy44ODkoZS0pLS4xOCBHKGkpLTMuODg5IEUgRjAoaXMpCi0zLjg4OSBFIC4zNDMoYXNzaWduZWQgYSB2KTEwOCA1NzEuMiBSIDIuODQzKGFsdWUuIEEpLS4yNSBGIC4zNDMobnVsbCB2KQotMi44NDMgRiAuMzQzKGFsdWUgZSktLjI1IEYgLS4yNSh2YSktLjI1IEcgLjM0MyhsdWF0ZXMgdG8gMC4pLjI1IEYgMi44NDMKLShBcyk1LjM0MyBHIC4zNDMoaGVsbCB2KS0yLjg0MyBGIC4zNDMoYXJpYWJsZSBuZWVkIG5vdCBoYSktLjI1IEYgLjY0MwotLS4xNSh2ZSBpKS0uMiBIIC4zNDModHMgaW50ZSkuMTUgRiAuMzQ0KGdlciBhdHRyaWIpLS4xNSBGIC4zNDQKLSh1dGUgdHVybmVkIG9uKS0uMiBGKHRvIGJlIHVzZWQgaW4gYW4gZSkxMDggNTgzLjIgUSh4cHJlc3Npb24uKS0uMTUgRQotMS40MDYoQ29uc3RhbnRzIHdpdGggYSBsZWFkaW5nIDAgYXJlIGludGVycHJldGVkIGFzIG9jdGFsIG51bWJlcnMuKTEwOAotNjAwIFIgMy45MDYoQWwpNi40MDYgRyAxLjQwNihlYWRpbmcgMHggb3IgMFggZGVub3RlcyBoZSktMy45MDYgRgotKHhhZGVjaW1hbC4pLS4xNSBFIC41ODkoT3RoZXJ3aXNlLCBudW1iZXJzIHRhaykxMDggNjEyIFIgMy4wODkoZXQpLS4xIEcKLS41ODkoaGUgZm9ybSBbKS0zLjA4OSBGIEYzKGJhc2UjKUEgRjAgLjU4OShdbiwgd2hlcmUpQiBGMyhiYXNlKTMuMDg5IEUKLUYwIC41OShpcyBhIGRlY2ltYWwgbnVtYmVyIGJldHdlZW4gMiBhbmQgNjQgcmVwcmVzZW50LSkzLjA4OSBGIC4wOTMKLShpbmcgdGhlIGFyaXRobWV0aWMgYmFzZSwgYW5kKTEwOCA2MjQgUiBGMyhuKTIuNTkzIEUgRjAgLjA5MwotKGlzIGEgbnVtYmVyIGluIHRoYXQgYmFzZS4pMi41OTMgRihJZik1LjA5MyBFIEYzKGJhc2UjKTIuNTkzIEUgRjAgLjA5MgotKGlzIG9taXR0ZWQsIHRoZW4gYmFzZSAxMCBpcyB1c2VkLikyLjU5MyBGIC4wOTIoVGhlIGRpZ2l0cyk1LjA5MiBGIC4wNjQKLShncmVhdGVyIHRoYW4gOSBhcmUgcmVwcmVzZW50ZWQgYnkgdGhlIGxvKTEwOCA2MzYgUiAuMDY0Ci0od2VyY2FzZSBsZXR0ZXJzLCB0aGUgdXBwZXJjYXNlIGxldHRlcnMsIEAsIGFuZCBfLCBpbiB0aGF0IG9yZGVyKS0uMjUgRgotNS4wNjUoLkkpLS41NSBHKGYpLTUuMDY1IEUgRjMoYmFzZSkyLjU2NSBFIEYwIC40MzMKLShpcyBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMzYsIGxvKTEwOCA2NDggUiAuNDMyKHdlcmNhc2UgYW5kIHVwcGVyY2FzZSBsXAotZXR0ZXJzIG1heSBiZSB1c2VkIGludGVyY2hhbmdlYWJseSB0byByZXByZXNlbnQgbnVtLSktLjI1IEYKLShiZXJzIGJldHdlZW4gMTAgYW5kIDM1LikxMDggNjYwIFEgLjIzNChPcGVyYXRvcnMgYXJlIGUpMTA4IDY3Ni44IFIgLS4yNQotKHZhKS0uMjUgRyAuMjM0KGx1YXRlZCBpbiBvcmRlciBvZiBwcmVjZWRlbmNlLikuMjUgRihTdWItZSk1LjIzNCBFIC4yMzQKLSh4cHJlc3Npb25zIGluIHBhcmVudGhlc2VzIGFyZSBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRyAuMjM1Ci0obHVhdGVkIFwyMTRyc3QgYW5kIG1heSkuMjUgRiAtLjE1KG92ZSkxMDggNjg4LjggUwotKHJyaWRlIHRoZSBwcmVjZWRlbmNlIHJ1bGVzIGFibykuMTUgRSAtLjE1KHZlKS0uMTUgRyguKS4xNSBFIEYyCi0oQ09ORElUSU9OKTcyIDcwNS42IFEoQUwgRVhQUkVTU0lPTlMpLS4yMTkgRSBGMCAuMjU2KENvbmRpdGlvbmFsIGUpMTA4Ci03MTcuNiBSIC4yNTYoeHByZXNzaW9ucyBhcmUgdXNlZCBieSB0aGUpLS4xNSBGIEYxKFtbKTIuNzU1IEUgRjAgLjI1NQotKGNvbXBvdW5kIGNvbW1hbmQgYW5kIHRoZSkyLjc1NSBGIEYxKHRlc3QpMi43NTUgRSBGMChhbmQpMi43NTUgRSBGMShbKQotMi43NTUgRSBGMCAtLjIoYnUpMi43NTUgRyAuMjU1KGlsdGluIGNvbW1hbmRzIHRvIHRlc3QpLjIgRiAuNzcKLShcMjE0bGUgYXR0cmliKTEwOCA3MjkuNiBSIC43NwotKHV0ZXMgYW5kIHBlcmZvcm0gc3RyaW5nIGFuZCBhcml0aG1ldGljIGNvbXBhcmlzb25zLiktLjIgRiAuNzcKLShFeHByZXNzaW9ucyBhcmUgZm9ybWVkIGZyb20gdGhlIGZvbGxvKTUuNzcgRih3aW5nKS0uMjUgRShHTlUgQmFzaC00LjEpCi03MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgyNykxODUuOTU1IEUgMCBDZyBFUAorLS4yNSBHKGxzIGFyZSBsaXN0ZWQgaW4gb3JkZXIgb2YgZGVjcmVhc2luZyBwcmVjZWRlbmNlLikuMTUgRS9GNSAxMAorL1RpbWVzLUl0YWxpY0AwIFNGKGlkKTEwOCA2NjAgUSBGMSgrKylBIEY1KGlkKTIuNSBFIEYxPGFkYWQ+QSBGMCAtLjI1CisodmEpMTQ0IDY3MiBTKHJpYWJsZSBwb3N0LWluY3JlbWVudCBhbmQgcG9zdC1kZWNyZW1lbnQpLjI1IEUgRjEoKyspMTA4Cis2ODQgUSBGNShpZClBIEYxPGFkYWQ+Mi41IEUgRjUoaWQpQSBGMCAtLjI1KHZhKTE0NCA2OTYgUworKHJpYWJsZSBwcmUtaW5jcmVtZW50IGFuZCBwcmUtZGVjcmVtZW50KS4yNSBFIEYxIDIuNTxhZDJiPjEwOCA3MDggUyBGMAorKHVuYXJ5IG1pbnVzIGFuZCBwbHVzKTE5LjYgRShHTlUgQmFzaC00LjIpNzIgNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkKKzEzNS45NjUgRSgyNykxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiAyOCAyOAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSAxLjA0MSh1bmFyeSBvciBiaW5hcnkgcHJpbWFyaWVzLikxMDggODQgUiAxLjA0MShJZiBhbik2LjA0MSBGKHkpCi0tLjE1IEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YoXDIxNGxlKTMuNTQxIEUgRjAoYXIpMy41NDEgRSAxLjA0Ci0oZ3VtZW50IHRvIG9uZSBvZiB0aGUgcHJpbWFyaWVzIGlzIG9mIHRoZSBmb3JtKS0uMTggRiBGMSgvZGUpMy41NCBFCi0odi9mZC9uKS0uMTUgRSBGMCAzLjU0KCx0KUMgMS4wNChoZW4gXDIxNGxlKS0zLjU0IEYoZGVzY3JpcHRvcikxMDggOTYgUQotRjEobikzLjc4OCBFIEYwIDEuMjg5KGlzIGNoZWNrKTMuNzg4IEYgMy43ODkoZWQuIElmKS0uMSBGKHRoZSkzLjc4OSBFIEYxCi0oXDIxNGxlKTMuNzg5IEUgRjAoYXIpMy43ODkgRSAxLjI4OQotKGd1bWVudCB0byBvbmUgb2YgdGhlIHByaW1hcmllcyBpcyBvbmUgb2YpLS4xOCBGIEYxKC9kZSkzLjc4OSBFKHYvc3RkaW4pCi0tLjE1IEUgRjAoLClBIEYxKC9kZSkzLjc4OSBFKHYvc3Rkb3V0KS0uMTUgRSBGMCAzLjc4OSgsbylDKHIpLTMuNzg5IEUgRjEKLSgvZGUpMTA4IDEwOCBRKHYvc3RkZXJyKS0uMTUgRSBGMCAyLjU8MmM4Yz5DCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGIDIuNSghfikxMDggODQgUyBGMChsb2dpY2FsIGFuZCBiaXR3aXNlIG5lKQorMjQuMzQgRSAtLjA1KGdhKS0uMTUgRyh0aW9uKS4wNSBFIEYxKCoqKTEwOCA5NiBRIEYwIC0uMTUoZXgpMjYgRworKHBvbmVudGlhdGlvbikuMTUgRSBGMSAyLjUoKi8lKTEwOCAxMDggUyBGMChtdWx0aXBsaWNhdGlvbiwgZGkpMTAuNzIgRQorKHZpc2lvbiwgcmVtYWluZGVyKS0uMjUgRSBGMSAyLjU8MmJhZD4xMDggMTIwIFMgRjAKKyhhZGRpdGlvbiwgc3VidHJhY3Rpb24pMTkuNiBFIEYxKDw8ID4+KTEwOCAxMzIgUSBGMAorKGxlZnQgYW5kIHJpZ2h0IGJpdHdpc2Ugc2hpZnRzKTEwLjcgRSBGMSg8PSA+PSA8ID4pMTA4IDE0NCBRIEYwCisoY29tcGFyaXNvbikxNDQgMTU2IFEgRjEoPT0gIT0pMTA4IDE2OCBRIEYwKGVxdWFsaXR5IGFuZCBpbmVxdWFsaXR5KQorMTMuMDcgRSBGMSgmKTEwOCAxODAgUSBGMChiaXR3aXNlIEFORCkyNy42NyBFIEYxKF4pMTA4IDE5MiBRIEYwCisoYml0d2lzZSBlKTMyLjY3IEUoeGNsdXNpKS0uMTUgRSAuMyAtLjE1KHZlIE8pLS4yNSBIKFIpLjE1IEUgRjEofCkxMDgKKzIwNCBRIEYwKGJpdHdpc2UgT1IpMzMuOCBFIEYxKCYmKTEwOCAyMTYgUSBGMChsb2dpY2FsIEFORCkxOS4zNCBFIEYxKHx8KQorMTA4IDIyOCBRIEYwKGxvZ2ljYWwgT1IpMzEuNiBFL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGIC0uMihleCkxMDggMjQwIFMKKyhwcikuMiBFIEYxKD8pQSBGMiAtLjIoZXgpQyhwcikuMiBFIEYxKDopQSBGMiAtLjIoZXgpQyhwcikuMiBFIEYwCisoY29uZGl0aW9uYWwgb3BlcmF0b3IpMTQ0IDI1MiBRIEYxIDIuNSg9KikxMDggMjY0IFMgMi41KD0vKS0yLjUgRyAyLjUKKyg9JSktMi41IEcgMi41KD0rKS0yLjUgRyAyLjU8M2RhZD4tMi41IEcgMi41KD08KS0yLjUgRyg8PSA+Pj0gJj0gXj0gfD0pCistMi41IEUgRjAoYXNzaWdubWVudCkxNDQgMjc2IFEgRjIgLS4yKGV4KTEwOCAyODggUyhwcjEpLjIgRSBGMSgsKTIuNSBFCitGMiAtLjIoZXgpMi41IEcocHIyKS4yIEUgRjAoY29tbWEpMTQ0IDMwMCBRIC42OChTaGVsbCB2KTEwOCAzMTYuOCBSIC42OAorKGFyaWFibGVzIGFyZSBhbGxvKS0uMjUgRiAuNjgod2VkIGFzIG9wZXJhbmRzOyBwYXJhbWV0ZXIgZSktLjI1IEYgLjY4CisoeHBhbnNpb24gaXMgcGVyZm9ybWVkIGJlZm9yZSB0aGUgZSktLjE1IEYgLjY4KHhwcmVzc2lvbiBpcyBlKS0uMTUgRgorLS4yNSh2YSktLjI1IEcobHUtKS4yNSBFIDMuNTA4KGF0ZWQuIFcpMTA4IDMyOC44IFIgMS4wMDgoaXRoaW4gYW4gZSktLjQKK0YgMS4wMDgoeHByZXNzaW9uLCBzaGVsbCB2KS0uMTUgRiAxLjAwNworKGFyaWFibGVzIG1heSBhbHNvIGJlIHJlZmVyZW5jZWQgYnkgbmFtZSB3aXRob3V0IHVzaW5nIHRoZSBwYXJhbWV0ZXIpCistLjI1IEYgLS4xNShleCkxMDggMzQwLjggUyAxLjA0KHBhbnNpb24gc3ludGF4LikuMTUgRiAzLjU0KEFzKTYuMDQgRworMS4wNChoZWxsIHYpLTMuNTQgRiAxLjA0KGFyaWFibGUgdGhhdCBpcyBudWxsIG9yIHVuc2V0IGUpLS4yNSBGIC0uMjUodmEpCistLjI1IEcgMS4wNDEobHVhdGVzIHRvIDAgd2hlbiByZWZlcmVuY2VkIGJ5IG5hbWUgd2l0aG91dCkuMjUgRiAxLjQ2NworKHVzaW5nIHRoZSBwYXJhbWV0ZXIgZSkxMDggMzUyLjggUiAxLjQ2Nyh4cGFuc2lvbiBzeW50YXguKS0uMTUgRiAxLjQ2NworKFRoZSB2KTYuNDY3IEYgMS40NjcoYWx1ZSBvZiBhIHYpLS4yNSBGIDEuNDY3KGFyaWFibGUgaXMgZSktLjI1IEYgLS4yNQorKHZhKS0uMjUgRyAxLjQ2NihsdWF0ZWQgYXMgYW4gYXJpdGhtZXRpYyBlKS4yNSBGKHhwcmVzc2lvbiktLjE1IEUgMS4zODkKKyh3aGVuIGl0IGlzIHJlZmVyZW5jZWQsIG9yIHdoZW4gYSB2KTEwOCAzNjQuOCBSIDEuMzg5CisoYXJpYWJsZSB3aGljaCBoYXMgYmVlbiBnaSktLjI1IEYgLS4xNSh2ZSktLjI1IEcgMy44OShudCkuMTUgRyhoZSktMy44OQorRSBGMihpbnRlKTMuODkgRSAtLjEoZ2UpLS40IEcocikuMSBFIEYwKGF0dHJpYikzLjg5IEUgMS4zOSh1dGUgdXNpbmcpLS4yCitGIEYxKGRlY2xhcikzLjg5IEUgMy44OShlLSktLjE4IEcoaSktMy44OSBFIEYwKGlzKTMuODkgRSAuMzMzCisoYXNzaWduZWQgYSB2KTEwOCAzNzYuOCBSIDIuODMyKGFsdWUuIEEpLS4yNSBGIC4zMzIobnVsbCB2KTIuODMyIEYgLjMzMgorKGFsdWUgZSktLjI1IEYgLS4yNSh2YSktLjI1IEcgLjMzMihsdWF0ZXMgdG8gMC4pLjI1IEYgMi44MzIoQXMpNS4zMzIgRworLjMzMihoZWxsIHYpLTIuODMyIEYgLjMzMihhcmlhYmxlIG5lZWQgbm90IGhhKS0uMjUgRiAuNjMyIC0uMTUodmUgaSktLjIKK0godHMpLjE1IEUgRjIoaW50ZSkyLjgzMiBFIC0uMShnZSktLjQgRyhyKS4xIEUgRjAoYXR0cmliKTIuODMyIEUgLjMzMgorKHV0ZSB0dXJuZWQgb24pLS4yIEYodG8gYmUgdXNlZCBpbiBhbiBlKTEwOCAzODguOCBRKHhwcmVzc2lvbi4pLS4xNSBFCisxLjQwNihDb25zdGFudHMgd2l0aCBhIGxlYWRpbmcgMCBhcmUgaW50ZXJwcmV0ZWQgYXMgb2N0YWwgbnVtYmVycy4pMTA4Cis0MDUuNiBSIDMuOTA2KEFsKTYuNDA2IEcgMS40MDcoZWFkaW5nIDB4IG9yIDBYIGRlbm90ZXMgaGUpLTMuOTA2IEYKKyh4YWRlY2ltYWwuKS0uMTUgRSAuMTEzKE90aGVyd2lzZSwgbnVtYmVycyB0YWspMTA4IDQxNy42IFIgMi42MTMoZXQpLS4xCitHIC4xMTMoaGUgZm9ybSBbKS0yLjYxMyBGIEYyKGJhc2UjKUEgRjAgLjExMihdbiwgd2hlcmUgdGhlIG9wdGlvbmFsKUIgRjIKKyhiYXNlKTIuNjEyIEUgRjAgLjExMihpcyBhIGRlY2ltYWwgbnVtYmVyIGJldHdlZW4gMiBhbmQgNjQpMi42MTIgRiAuNTMzCisocmVwcmVzZW50aW5nIHRoZSBhcml0aG1ldGljIGJhc2UsIGFuZCkxMDggNDI5LjYgUiBGMihuKTMuMDMzIEUgRjAgLjUzMworKGlzIGEgbnVtYmVyIGluIHRoYXQgYmFzZS4pMy4wMzMgRihJZik1LjUzNCBFIEYyKGJhc2UjKTMuMDM0IEUgRjAgLjUzNAorKGlzIG9taXR0ZWQsIHRoZW4gYmFzZSAxMCBpcyB1c2VkLikzLjAzNCBGIC45MTYKKyhUaGUgZGlnaXRzIGdyZWF0ZXIgdGhhbiA5IGFyZSByZXByZXNlbnRlZCBieSB0aGUgbG8pMTA4IDQ0MS42IFIgLjkxNQorKHdlcmNhc2UgbGV0dGVycywgdGhlIHVwcGVyY2FzZSBsZXR0ZXJzLCBALCBhbmQgXywgaW4gdGhhdCktLjI1IEYob3JkZXIpCisxMDggNDUzLjYgUSA1LjY3KC5JKS0uNTUgRyhmKS01LjY3IEUgRjIoYmFzZSkzLjE3IEUgRjAgLjY3CisoaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIDM2LCBsbykzLjE3IEYgLjY3MQorKHdlcmNhc2UgYW5kIHVwcGVyY2FzZSBsZXR0ZXJzIG1heSBiZSB1c2VkIGludGVyY2hhbmdlYWJseSB0byktLjI1IEYKKyhyZXByZXNlbnQgbnVtYmVycyBiZXR3ZWVuIDEwIGFuZCAzNS4pMTA4IDQ2NS42IFEgLjIzNShPcGVyYXRvcnMgYXJlIGUpCisxMDggNDgyLjQgUiAtLjI1KHZhKS0uMjUgRyAuMjM1KGx1YXRlZCBpbiBvcmRlciBvZiBwcmVjZWRlbmNlLikuMjUgRgorKFN1Yi1lKTUuMjM0IEUgLjIzNCh4cHJlc3Npb25zIGluIHBhcmVudGhlc2VzIGFyZSBlKS0uMTUgRiAtLjI1KHZhKS0uMjUKK0cgLjIzNChsdWF0ZWQgXDIxNHJzdCBhbmQgbWF5KS4yNSBGIC0uMTUob3ZlKTEwOCA0OTQuNCBTCisocnJpZGUgdGhlIHByZWNlZGVuY2UgcnVsZXMgYWJvKS4xNSBFIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUvRjMgMTAuOTUKKy9UaW1lcy1Cb2xkQDAgU0YoQ09ORElUSU9OKTcyIDUxMS4yIFEoQUwgRVhQUkVTU0lPTlMpLS4yMTkgRSBGMCAuMjU1CisoQ29uZGl0aW9uYWwgZSkxMDggNTIzLjIgUiAuMjU1KHhwcmVzc2lvbnMgYXJlIHVzZWQgYnkgdGhlKS0uMTUgRiBGMShbWykKKzIuNzU1IEUgRjAgLjI1NShjb21wb3VuZCBjb21tYW5kIGFuZCB0aGUpMi43NTUgRiBGMSh0ZXN0KTIuNzU1IEUgRjAoYW5kKQorMi43NTUgRSBGMShbKTIuNzU2IEUgRjAgLS4yKGJ1KTIuNzU2IEcgLjI1NihpbHRpbiBjb21tYW5kcyB0byB0ZXN0KS4yIEYKKy43NyhcMjE0bGUgYXR0cmliKTEwOCA1MzUuMiBSIC43NworKHV0ZXMgYW5kIHBlcmZvcm0gc3RyaW5nIGFuZCBhcml0aG1ldGljIGNvbXBhcmlzb25zLiktLjIgRiAuNzcKKyhFeHByZXNzaW9ucyBhcmUgZm9ybWVkIGZyb20gdGhlIGZvbGxvKTUuNzcgRih3aW5nKS0uMjUgRSAxLjA0CisodW5hcnkgb3IgYmluYXJ5IHByaW1hcmllcy4pMTA4IDU0Ny4yIFIgMS4wNChJZiBhbik2LjA0IEYoeSktLjE1IEUgRjIKKyhcMjE0bGUpMy41NCBFIEYwKGFyKTMuNTQgRSAxLjA0MQorKGd1bWVudCB0byBvbmUgb2YgdGhlIHByaW1hcmllcyBpcyBvZiB0aGUgZm9ybSktLjE4IEYgRjIoL2RlKTMuNTQxIEUKKyh2L2ZkL24pLS4xNSBFIEYwIDMuNTQxKCx0KUMgMS4wNDEoaGVuIFwyMTRsZSktMy41NDEgRihkZXNjcmlwdG9yKTEwOAorNTU5LjIgUSBGMihuKTMuNzg5IEUgRjAgMS4yODkoaXMgY2hlY2spMy43ODkgRiAzLjc4OShlZC4gSWYpLS4xIEYodGhlKQorMy43ODkgRSBGMihcMjE0bGUpMy43ODkgRSBGMChhcikzLjc4OSBFIDEuMjg5CisoZ3VtZW50IHRvIG9uZSBvZiB0aGUgcHJpbWFyaWVzIGlzIG9uZSBvZiktLjE4IEYgRjIoL2RlKTMuNzg5IEUodi9zdGRpbikKKy0uMTUgRSBGMCgsKUEgRjIoL2RlKTMuNzg4IEUodi9zdGRvdXQpLS4xNSBFIEYwIDMuNzg4KCxvKUMociktMy43ODggRSBGMgorKC9kZSkxMDggNTcxLjIgUSh2L3N0ZGVyciktLjE1IEUgRjAgMi41PDJjOGM+QwogKGxlIGRlc2NyaXB0b3IgMCwgMSwgb3IgMiwgcmVzcGVjdGkpLTIuNSBFIC0uMTUodmUpLS4yNSBHKGx5KS4xNSBFIDIuNQotKCxpKS0uNjUgRyAyLjUoc2MpLTIuNSBHKGhlY2spLTIuNSBFKGVkLiktLjEgRSAuNzIyCisoLGkpLS42NSBHIDIuNShzYyktMi41IEcoaGVjayktMi41IEUoZWQuKS0uMSBFIC43MjEKIChVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpXDIxNGVkLCBwcmltYXJpZXMgdGhhdCBvcGVyYXRlIG9uIFwyMTRsZXMgZm9sbG8pCi0xMDggMTI0LjggUiAzLjIyMSh3cyktLjI1IEcgLjcyMSh5bWJvbGljIGxpbmtzIGFuZCBvcGVyYXRlIG9uIHRoZSB0YXIpCi0tMy4yMjEgRihnZXQpLS4xOCBFKG9mIHRoZSBsaW5rLCByYXRoZXIgdGhhbiB0aGUgbGluayBpdHNlbGYuKTEwOCAxMzYuOAotUShXaGVuIHVzZWQgd2l0aCkxMDggMTU0LjggUS9GMiAxMC9UaW1lcy1Cb2xkQDAgU0YoW1spMi41IEUgRjAgMi41KCxUKUMKLShoZSktMi41IEUgRjIoPCkyLjUgRSBGMChhbmQpMi41IEUgRjIoPikyLjUgRSBGMChvcGVyYXRvcnMgc29ydCBsZSkyLjUgRQotKHhpY29ncmFwaGljYWxseSB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuKS0uMTUgRSBGMjxhZDYxPjEwOCAxNzguOCBRIEYxCi0oXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTAuNTggRyh1ZSBpZikuMzUgRSBGMShcMjE0bGUpMi41IEUgRjAgLS4xNShleCkKLTIuNSBHKGlzdHMuKS4xNSBFIEYyPGFkNjI+MTA4IDE5MC44IFEgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTAuMDIgRwotKHVlIGlmKS4zNSBFIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHCi0oaXN0cyBhbmQgaXMgYSBibG9jayBzcGVjaWFsIFwyMTRsZS4pLjE1IEUgRjI8YWQ2Mz4xMDggMjAyLjggUSBGMQotKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTExLjE0IEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpCi0yLjUgRyhpc3RzIGFuZCBpcyBhIGNoYXJhY3RlciBzcGVjaWFsIFwyMTRsZS4pLjE1IEUgRjI8YWQ2ND4xMDggMjE0LjggUQotRjEoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTAuMDIgRyh1ZSBpZikuMzUgRSBGMShcMjE0bGUpMi41IEUgRjAgLS4xNQotKGV4KTIuNSBHKGlzdHMgYW5kIGlzIGEgZGlyZWN0b3J5KS4xNSBFKC4pLS42NSBFIEYyPGFkNjU+MTA4IDIyNi44IFEgRjEKLShcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMS4xNCBHKHVlIGlmKS4zNSBFIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KQotMi41IEcoaXN0cy4pLjE1IEUgRjI8YWQ2Nj4xMDggMjM4LjggUSBGMShcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMi4yNSBHCi0odWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcoaXN0cyBhbmQgaXMgYSByZSkuMTUgRQotKGd1bGFyIFwyMTRsZS4pLS4xNSBFIEYyPGFkNjc+MTA4IDI1MC44IFEgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpCi0xMC41OCBHKHVlIGlmKS4zNSBFIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHCi0oaXN0cyBhbmQgaXMgc2V0LWdyb3VwLWlkLikuMTUgRSBGMjxhZDY4PjEwOCAyNjIuOCBRIEYxKFwyMTRsZSkyLjUgRSBGMAotLS4zNShUcikxMC4wMiBHKHVlIGlmKS4zNSBFIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHCi0oaXN0cyBhbmQgaXMgYSBzeW1ib2xpYyBsaW5rLikuMTUgRSBGMjxhZDZiPjEwOCAyNzQuOCBRIEYxKFwyMTRsZSkyLjUgRQotRjAgLS4zNShUcikxMC4wMiBHKHVlIGlmKS4zNSBFIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHCi0oaXN0cyBhbmQgaXRzIGApLjE1IEUoYHN0aWNrKS0uNzQgRSh5JyktLjE1IEUgMi41KCdiKS0uNzQgRyhpdCBpcyBzZXQuKQotLTIuNSBFIEYyPGFkNzA+MTA4IDI4Ni44IFEgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTAuMDIgRyh1ZSBpZikuMzUKLUUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcoaXN0cyBhbmQgaXMgYSBuYW1lZCBwaXBlIFwoRklGT1wpLikKLS4xNSBFIEYyPGFkNzI+MTA4IDI5OC44IFEgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTEuMTQgRyh1ZSBpZikuMzUgRQotRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcoaXN0cyBhbmQgaXMgcmVhZGFibGUuKS4xNSBFIEYyPGFkNzM+MTA4Ci0zMTAuOCBRIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTExLjY5IEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFCi1GMCAtLjE1KGV4KTIuNSBHKGlzdHMgYW5kIGhhcyBhIHNpemUgZ3JlYXRlciB0aGFuIHplcm8uKS4xNSBFIEYyPGFkNzQ+Ci0xMDggMzIyLjggUSBGMShmZCkyLjUgRSBGMCAtLjM1KFRyKTE2LjY5IEcodWUgaWYgXDIxNGxlIGRlc2NyaXB0b3IpLjM1IEUKLUYxKGZkKTQuNDcgRSBGMChpcyBvcGVuIGFuZCByZWZlcnMgdG8gYSB0ZXJtaW5hbC4pMy4yNyBFIEYyPGFkNzU+MTA4Ci0zMzQuOCBRIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTEwLjAyIEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFCi1GMCAtLjE1KGV4KTIuNSBHKGlzdHMgYW5kIGl0cyBzZXQtdXNlcikuMTUgRSgtaWQgYml0IGlzIHNldC4pLS4yIEUgRjIKLTxhZDc3PjEwOCAzNDYuOCBRIEYxKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTguMzYgRyh1ZSBpZikuMzUgRSBGMQotKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHKGlzdHMgYW5kIGlzIHdyaXRhYmxlLikuMTUgRSBGMjxhZDc4PjEwOAotMzU4LjggUSBGMShcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMC41OCBHKHVlIGlmKS4zNSBFIEYxKFwyMTRsZSkyLjUgRQotRjAgLS4xNShleCkyLjUgRyhpc3RzIGFuZCBpcyBlKS4xNSBFIC0uMTUoeGUpLS4xNSBHKGN1dGFibGUuKS4xNSBFIEYyCi08YWQ0Zj4xMDggMzcwLjggUSBGMShcMjE0bGUpMi41IEUgRjAgLS4zNShUcik3LjggRyh1ZSBpZikuMzUgRSBGMQotKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHKGlzdHMgYW5kIGlzIG8pLjE1IEUod25lZCBieSB0aGUgZWYpLS4yNSBFCi0oZmVjdGkpLS4yNSBFIC4zIC0uMTUodmUgdSktLjI1IEgoc2VyIGlkLikuMTUgRSBGMjxhZDQ3PjEwOCAzODIuOCBRIEYxCi0oXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpNy44IEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpCi0yLjUgRyhpc3RzIGFuZCBpcyBvKS4xNSBFKHduZWQgYnkgdGhlIGVmKS0uMjUgRShmZWN0aSktLjI1IEUgLjMgLS4xNQotKHZlIGcpLS4yNSBIKHJvdXAgaWQuKS4xNSBFIEYyPGFkNGM+MTA4IDM5NC44IFEgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMzUKLShUcik4LjkxIEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcKLShpc3RzIGFuZCBpcyBhIHN5bWJvbGljIGxpbmsuKS4xNSBFIEYyPGFkNTM+MTA4IDQwNi44IFEgRjEoXDIxNGxlKTIuNSBFCi1GMCAtLjM1KFRyKTEwLjAyIEcodWUgaWYpLjM1IEUgRjEoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcKLShpc3RzIGFuZCBpcyBhIHNvY2spLjE1IEUoZXQuKS0uMSBFIEYyPGFkNGU+MTA4IDQxOC44IFEgRjEoXDIxNGxlKTIuNSBFCi1GMCAtLjM1KFRyKTguMzYgRyh1ZSBpZikuMzUgRSBGMShcMjE0bGUpMi41IEUgRjAgLS4xNShleCkyLjUgRwotKGlzdHMgYW5kIGhhcyBiZWVuIG1vZGlcMjE0ZWQgc2luY2UgaXQgdykuMTUgRShhcyBsYXN0IHJlYWQuKS0uMSBFIEYxCi0oXDIxNGxlMSkxMDggNDMwLjggUSBGMDxhZD4yLjUgRSBGMihudClBIEYxKFwyMTRsZTIpMi41IEUgRjAgLS4zNShUcikxNDQKLTQ0Mi44IFMgLjAzOCh1ZSBpZikuMzUgRiBGMShcMjE0bGUxKTIuNTM4IEUgRjAgLjAzOShpcyBuZSkyLjUzOSBGIC4wMzkKLSh3ZXIgXChhY2NvcmRpbmcgdG8gbW9kaVwyMTRjYXRpb24gZGF0ZVwpIHRoYW4pLS4yNSBGIEYxKFwyMTRsZTIpMi41MzkgRQotRjAgMi41MzkoLG8pQyAyLjUzOShyaSktMi41MzkgRyhmKS0yLjUzOSBFIEYxKFwyMTRsZTEpMi41MzkgRSBGMCAtLjE1Ci0oZXgpMi41MzkgRyAuMDM5KGlzdHMgYW5kKS4xNSBGIEYxKFwyMTRsZTIpMi41MzkgRSBGMCAuMDM5KGRvZXMgbm90LikKLTIuNTM5IEYgRjEoXDIxNGxlMSkxMDggNDU0LjggUSBGMDxhZD4yLjUgRSBGMihvdClBIEYxKFwyMTRsZTIpMi41IEUgRjAKLS0uMzUoVHIpMTQ0IDQ2Ni44IFModWUgaWYpLjM1IEUgRjEoXDIxNGxlMSkyLjUgRSBGMChpcyBvbGRlciB0aGFuKTIuNSBFCi1GMShcMjE0bGUyKTIuNSBFIEYwIDIuNSgsbylDIDIuNShyaSktMi41IEcoZiktMi41IEUgRjEoXDIxNGxlMikyLjUgRSBGMAotLS4xNShleCkyLjUgRyhpc3RzIGFuZCkuMTUgRSBGMShcMjE0bGUxKTIuNSBFIEYwKGRvZXMgbm90LikyLjUgRSBGMQotKFwyMTRsZTEpMTA4IDQ3OC44IFEgRjIoXDI1NWVmKTIuNSBFIEYxKFwyMTRsZTIpMi41IEUgRjAgLS4zNShUcikxNDQKLTQ5MC44IFModWUgaWYpLjM1IEUgRjEoXDIxNGxlMSkyLjUgRSBGMChhbmQpMi41IEUgRjEoXDIxNGxlMikyLjUgRSBGMAotKHJlZmVyIHRvIHRoZSBzYW1lIGRlKTIuNSBFKHZpY2UgYW5kIGlub2RlIG51bWJlcnMuKS0uMjUgRSBGMjxhZDZmPjEwOAotNTAyLjggUSBGMShvcHRuYW1lKTIuNSBFIEYwIC0uMzUoVHIpMTQ0IDUxNC44IFMgMS4xNDQKLSh1ZSBpZiBzaGVsbCBvcHRpb24pLjM1IEYgRjEob3B0bmFtZSkzLjg3NCBFIEYwIDEuMTQ0KGlzIGVuYWJsZWQuKTMuODI0Ci1GIDEuMTQzKFNlZSB0aGUgbGlzdCBvZiBvcHRpb25zIHVuZGVyIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpNi4xNDQgRiBGMgotPGFkNmY+My42NDMgRSBGMChvcHRpb24gdG8gdGhlKTE0NCA1MjYuOCBRIEYyKHNldCkyLjUgRSBGMCAtLjIoYnUpMi41IEcKLShpbHRpbiBiZWxvKS4yIEUgLS42NSh3LiktLjI1IEcgRjI8YWQ3YT4xMDggNTM4LjggUSBGMShzdHJpbmcpMi41IEUgRjAKLS0uMzUoVHIpMTQ0IDU1MC44IFModWUgaWYgdGhlIGxlbmd0aCBvZikuMzUgRSBGMShzdHJpbmcpMi41IEUgRjAKLShpcyB6ZXJvLikyLjUgRSBGMShzdHJpbmcpMTA4IDU2Mi44IFEgRjI8YWQ2ZT4xMDggNTc0LjggUSBGMShzdHJpbmcpMi41Ci1FIEYwIC0uMzUoVHIpMTQ0IDU4Ni44IFModWUgaWYgdGhlIGxlbmd0aCBvZikuMzUgRSBGMShzdHJpbmcpMi44NCBFIEYwCi0oaXMgbm9uLXplcm8uKTIuNzIgRSBGMShzdHJpbmcxKTEwOCA2MDMuNiBRIEYyKD09KTIuNSBFIEYxKHN0cmluZzIpMi41IEUKLShzdHJpbmcxKTEwOCA2MTUuNiBRIEYyKD0pMi41IEUgRjEoc3RyaW5nMikyLjUgRSBGMCAtLjM1KFRyKTE0NCA2MjcuNiBTCi0odWUgaWYgdGhlIHN0cmluZ3MgYXJlIGVxdWFsLikuMzUgRSBGMig9KTUgRSBGMChzaG91bGQgYmUgdXNlZCB3aXRoIHRoZSkKLTIuNSBFIEYyKHRlc3QpMi41IEUgRjAoY29tbWFuZCBmb3IgUE9TSVggY29uZm9ybWFuY2UuKTIuNSBFIEYxKHN0cmluZzEpCi0xMDggNjQ0LjQgUSBGMighPSkyLjUgRSBGMShzdHJpbmcyKTIuNSBFIEYwIC0uMzUoVHIpMTQ0IDY1Ni40IFMKLSh1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgbm90IGVxdWFsLikuMzUgRSBGMShzdHJpbmcxKTEwOCA2NzMuMiBRIEYyKDwpMi41Ci1FIEYxKHN0cmluZzIpMi41IEUgRjAgLS4zNShUcikxNDQgNjg1LjIgUyh1ZSBpZikuMzUgRSBGMShzdHJpbmcxKTIuNSBFCi1GMChzb3J0cyBiZWZvcmUpMi41IEUgRjEoc3RyaW5nMikyLjUgRSBGMChsZSkyLjUgRSh4aWNvZ3JhcGhpY2FsbHkpLS4xNQotRSguKS0uNjUgRSBGMShzdHJpbmcxKTEwOCA3MDIgUSBGMig+KTIuNSBFIEYxKHN0cmluZzIpMi41IEUgRjAgLS4zNShUcikKLTE0NCA3MTQgUyh1ZSBpZikuMzUgRSBGMShzdHJpbmcxKTIuNSBFIEYwKHNvcnRzIGFmdGVyKTIuNSBFIEYxKHN0cmluZzIpCi0yLjUgRSBGMChsZSkyLjUgRSh4aWNvZ3JhcGhpY2FsbHkpLS4xNSBFKC4pLS42NSBFKEdOVSBCYXNoLTQuMSk3MiA3NjggUQotKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDI4KTE4NS45NTUgRSAwIENnIEVQCisxMDggNTg4IFIgMy4yMjEod3MpLS4yNSBHIC43MjIoeW1ib2xpYyBsaW5rcyBhbmQgb3BlcmF0ZSBvbiB0aGUgdGFyKQorLTMuMjIxIEYoZ2V0KS0uMTggRShvZiB0aGUgbGluaywgcmF0aGVyIHRoYW4gdGhlIGxpbmsgaXRzZWxmLikxMDggNjAwIFEKKzEuMDk2KFdoZW4gdXNlZCB3aXRoKTEwOCA2MTggUiBGMShbWykzLjU5NiBFIEYwIDMuNTk2KCx0KUMoaGUpLTMuNTk2IEUKK0YxKDwpMy41OTYgRSBGMChhbmQpMy41OTUgRSBGMSg+KTMuNTk1IEUgRjAgMS4wOTUob3BlcmF0b3JzIHNvcnQgbGUpCiszLjU5NSBGIDEuMDk1KHhpY29ncmFwaGljYWxseSB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuKS0uMTUgRihUaGUpNi4wOTUKK0UgRjEodGVzdCkzLjU5NSBFIEYwKGNvbS0pMy41OTUgRShtYW5kIHNvcnRzIHVzaW5nIEFTQ0lJIG9yZGVyaW5nLikxMDgKKzYzMCBRIEYxPGFkNjE+MTA4IDY1NCBRIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTEwLjU4IEcodWUgaWYpLjM1IEUKK0YyKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHKGlzdHMuKS4xNSBFIEYxPGFkNjI+MTA4IDY2NiBRIEYyCisoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTAuMDIgRyh1ZSBpZikuMzUgRSBGMihcMjE0bGUpMi41IEUgRjAgLS4xNShleCkKKzIuNSBHKGlzdHMgYW5kIGlzIGEgYmxvY2sgc3BlY2lhbCBcMjE0bGUuKS4xNSBFIEYxPGFkNjM+MTA4IDY3OCBRIEYyCisoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpMTEuMTQgRyh1ZSBpZikuMzUgRSBGMihcMjE0bGUpMi41IEUgRjAgLS4xNShleCkKKzIuNSBHKGlzdHMgYW5kIGlzIGEgY2hhcmFjdGVyIHNwZWNpYWwgXDIxNGxlLikuMTUgRSBGMTxhZDY0PjEwOCA2OTAgUSBGMgorKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTEwLjAyIEcodWUgaWYpLjM1IEUgRjIoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpCisyLjUgRyhpc3RzIGFuZCBpcyBhIGRpcmVjdG9yeSkuMTUgRSguKS0uNjUgRSBGMTxhZDY1PjEwOCA3MDIgUSBGMgorKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTExLjE0IEcodWUgaWYpLjM1IEUgRjIoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpCisyLjUgRyhpc3RzLikuMTUgRSBGMTxhZDY2PjEwOCA3MTQgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMi4yNSBHCisodWUgaWYpLjM1IEUgRjIoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcoaXN0cyBhbmQgaXMgYSByZSkuMTUgRQorKGd1bGFyIFwyMTRsZS4pLS4xNSBFKEdOVSBCYXNoLTQuMik3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRQorKDI4KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDI5IDI5CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKGFyKTEwOC4zMyA4NCBRKGcxKS0uMzcgRS9GMiAxMAotL1RpbWVzLUJvbGRAMCBTRihPUCkyLjUgRSBGMShhcikyLjUgRShnMiktLjM3IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoT1ApCi0xNDQgOTYgUSBGMCAuMzg1KGlzIG9uZSBvZikyLjYzNCBGIEYyKFwyNTVlcSkyLjg4NSBFIEYwKCwpQSBGMihcMjU1bmUpCi0yLjg4NSBFIEYwKCwpQSBGMihcMjU1bHQpMi44ODUgRSBGMCgsKUEgRjIoXDI1NWxlKTIuODg1IEUgRjAoLClBIEYyCi0oXDI1NWd0KTIuODg1IEUgRjAgMi44ODUoLG8pQyhyKS0yLjg4NSBFIEYyKFwyNTVnZSkyLjg4NSBFIEYwIDUuMzg1KC5UKUMKLS4zODUoaGVzZSBhcml0aG1ldGljIGJpbmFyeSBvcGVyYXRvcnMgcmV0dXJuIHRydWUgaWYpLTUuMzg1IEYgRjEoYXIpCi0yLjg4NSBFKGcxKS0uMzcgRSBGMCAuODQ1KGlzIGVxdWFsIHRvLCBub3QgZXF1YWwgdG8sIGxlc3MgdGhhbiwgbGVzcyB0aFwKLWFuIG9yIGVxdWFsIHRvLCBncmVhdGVyIHRoYW4sIG9yIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0bykxNDQgMTA4IFIgRjEKLShhcikxNDQgMTIwIFEoZzIpLS4zNyBFIEYwIDIuNSgscilDKGVzcGVjdGkpLTIuNSBFIC0uMTUodmUpLS4yNSBHKGx5KS4xNQotRSguKS0uNjUgRSBGMShBcik2LjAxIEUoZzEpLS4zNyBFIEYwKGFuZCkyLjUgRSBGMShhcikyLjgzIEUoZzIpLS4zNyBFIEYwCi0obWF5IGJlIHBvc2l0aSkyLjUyIEUgLjMgLS4xNSh2ZSBvKS0uMjUgSCAyLjUocm4pLjE1IEcgLTIuMjUgLS4xNShlZyBhKQotLTIuNSBIKHRpKS4xNSBFIC4zIC0uMTUodmUgaSktLjI1IEgobnRlKS4xNSBFKGdlcnMuKS0uMTUgRS9GNCAxMC45NQotL1RpbWVzLUJvbGRAMCBTRihTSU1QTEUgQ09NTUFORCBFWFApNzIgMTM2LjggUShBTlNJT04pLS44MSBFIEYwIC42MTMKLShXaGVuIGEgc2ltcGxlIGNvbW1hbmQgaXMgZSkxMDggMTQ4LjggUiAtLjE1KHhlKS0uMTUgRyAuNjE0CistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGPGFkNjc+MTA4IDg0IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKKyhcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMC41OCBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KQorMi41IEcoaXN0cyBhbmQgaXMgc2V0LWdyb3VwLWlkLikuMTUgRSBGMTxhZDY4PjEwOCA5NiBRIEYyKFwyMTRsZSkyLjUgRQorRjAgLS4zNShUcikxMC4wMiBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHCisoaXN0cyBhbmQgaXMgYSBzeW1ib2xpYyBsaW5rLikuMTUgRSBGMTxhZDZiPjEwOCAxMDggUSBGMihcMjE0bGUpMi41IEUgRjAKKy0uMzUoVHIpMTAuMDIgRyh1ZSBpZikuMzUgRSBGMihcMjE0bGUpMi41IEUgRjAgLS4xNShleCkyLjUgRworKGlzdHMgYW5kIGl0cyBgKS4xNSBFKGBzdGljayktLjc0IEUoeScpLS4xNSBFIDIuNSgnYiktLjc0IEcoaXQgaXMgc2V0LikKKy0yLjUgRSBGMTxhZDcwPjEwOCAxMjAgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMC4wMiBHKHVlIGlmKS4zNSBFCitGMihcMjE0bGUpMi41IEUgRjAgLS4xNShleCkyLjUgRyhpc3RzIGFuZCBpcyBhIG5hbWVkIHBpcGUgXChGSUZPXCkuKS4xNQorRSBGMTxhZDcyPjEwOCAxMzIgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMS4xNCBHKHVlIGlmKS4zNSBFIEYyCisoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcoaXN0cyBhbmQgaXMgcmVhZGFibGUuKS4xNSBFIEYxPGFkNzM+MTA4CisxNDQgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcikxMS42OSBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMAorLS4xNShleCkyLjUgRyhpc3RzIGFuZCBoYXMgYSBzaXplIGdyZWF0ZXIgdGhhbiB6ZXJvLikuMTUgRSBGMTxhZDc0PjEwOAorMTU2IFEgRjIoZmQpMi41IEUgRjAgLS4zNShUcikxNi42OSBHKHVlIGlmIFwyMTRsZSBkZXNjcmlwdG9yKS4zNSBFIEYyCisoZmQpNC40NyBFIEYwKGlzIG9wZW4gYW5kIHJlZmVycyB0byBhIHRlcm1pbmFsLikzLjI3IEUgRjE8YWQ3NT4xMDggMTY4IFEKK0YyKFwyMTRsZSkyLjUgRSBGMCAtLjM1KFRyKTEwLjAyIEcodWUgaWYpLjM1IEUgRjIoXDIxNGxlKTIuNSBFIEYwIC0uMTUKKyhleCkyLjUgRyhpc3RzIGFuZCBpdHMgc2V0LXVzZXIpLjE1IEUoLWlkIGJpdCBpcyBzZXQuKS0uMiBFIEYxPGFkNzc+MTA4CisxODAgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcik4LjM2IEcodWUgaWYpLjM1IEUgRjIoXDIxNGxlKTIuNSBFIEYwCistLjE1KGV4KTIuNSBHKGlzdHMgYW5kIGlzIHdyaXRhYmxlLikuMTUgRSBGMTxhZDc4PjEwOCAxOTIgUSBGMihcMjE0bGUpCisyLjUgRSBGMCAtLjM1KFRyKTEwLjU4IEcodWUgaWYpLjM1IEUgRjIoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpMi41IEcKKyhpc3RzIGFuZCBpcyBlKS4xNSBFIC0uMTUoeGUpLS4xNSBHKGN1dGFibGUuKS4xNSBFIEYxPGFkNDc+MTA4IDIwNCBRIEYyCisoXDIxNGxlKTIuNSBFIEYwIC0uMzUoVHIpNy44IEcodWUgaWYpLjM1IEUgRjIoXDIxNGxlKTIuNSBFIEYwIC0uMTUoZXgpCisyLjUgRyhpc3RzIGFuZCBpcyBvKS4xNSBFKHduZWQgYnkgdGhlIGVmKS0uMjUgRShmZWN0aSktLjI1IEUgLjMgLS4xNQorKHZlIGcpLS4yNSBIKHJvdXAgaWQuKS4xNSBFIEYxPGFkNGM+MTA4IDIxNiBRIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjM1CisoVHIpOC45MSBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHCisoaXN0cyBhbmQgaXMgYSBzeW1ib2xpYyBsaW5rLikuMTUgRSBGMTxhZDRlPjEwOCAyMjggUSBGMihcMjE0bGUpMi41IEUgRjAKKy0uMzUoVHIpOC4zNiBHKHVlIGlmKS4zNSBFIEYyKFwyMTRsZSkyLjUgRSBGMCAtLjE1KGV4KTIuNSBHCisoaXN0cyBhbmQgaGFzIGJlZW4gbW9kaVwyMTRlZCBzaW5jZSBpdCB3KS4xNSBFKGFzIGxhc3QgcmVhZC4pLS4xIEUgRjEKKzxhZDRmPjEwOCAyNDAgUSBGMihcMjE0bGUpMi41IEUgRjAgLS4zNShUcik3LjggRyh1ZSBpZikuMzUgRSBGMihcMjE0bGUpCisyLjUgRSBGMCAtLjE1KGV4KTIuNSBHKGlzdHMgYW5kIGlzIG8pLjE1IEUod25lZCBieSB0aGUgZWYpLS4yNSBFKGZlY3RpKQorLS4yNSBFIC4zIC0uMTUodmUgdSktLjI1IEgoc2VyIGlkLikuMTUgRSBGMTxhZDUzPjEwOCAyNTIgUSBGMihcMjE0bGUpMi41CitFIEYwIC0uMzUoVHIpMTAuMDIgRyh1ZSBpZikuMzUgRSBGMihcMjE0bGUpMi41IEUgRjAgLS4xNShleCkyLjUgRworKGlzdHMgYW5kIGlzIGEgc29jaykuMTUgRShldC4pLS4xIEUgRjIoXDIxNGxlMSkxMDggMjY0IFEgRjEoXDI1NWVmKTIuNSBFCitGMihcMjE0bGUyKTIuNSBFIEYwIC0uMzUoVHIpMTQ0IDI3NiBTKHVlIGlmKS4zNSBFIEYyKFwyMTRsZTEpMi41IEUgRjAKKyhhbmQpMi41IEUgRjIoXDIxNGxlMikyLjUgRSBGMChyZWZlciB0byB0aGUgc2FtZSBkZSkyLjUgRQorKHZpY2UgYW5kIGlub2RlIG51bWJlcnMuKS0uMjUgRSBGMihcMjE0bGUxKTEwOCAyODggUSBGMDxhZD4yLjUgRSBGMShudClBCitGMihcMjE0bGUyKTIuNSBFIEYwIC0uMzUoVHIpMTQ0IDMwMCBTIC4wMzgodWUgaWYpLjM1IEYgRjIoXDIxNGxlMSkyLjUzOAorRSBGMCAuMDM5KGlzIG5lKTIuNTM5IEYgLjAzOQorKHdlciBcKGFjY29yZGluZyB0byBtb2RpXDIxNGNhdGlvbiBkYXRlXCkgdGhhbiktLjI1IEYgRjIoXDIxNGxlMikyLjUzOSBFCitGMCAyLjUzOSgsbylDIDIuNTM5KHJpKS0yLjUzOSBHKGYpLTIuNTM5IEUgRjIoXDIxNGxlMSkyLjUzOSBFIEYwIC0uMTUKKyhleCkyLjUzOSBHIC4wMzkoaXN0cyBhbmQpLjE1IEYgRjIoXDIxNGxlMikyLjUzOSBFIEYwIC4wMzkoZG9lcyBub3QuKQorMi41MzkgRiBGMihcMjE0bGUxKTEwOCAzMTIgUSBGMDxhZD4yLjUgRSBGMShvdClBIEYyKFwyMTRsZTIpMi41IEUgRjAKKy0uMzUoVHIpMTQ0IDMyNCBTKHVlIGlmKS4zNSBFIEYyKFwyMTRsZTEpMi41IEUgRjAoaXMgb2xkZXIgdGhhbikyLjUgRSBGMgorKFwyMTRsZTIpMi41IEUgRjAgMi41KCxvKUMgMi41KHJpKS0yLjUgRyhmKS0yLjUgRSBGMihcMjE0bGUyKTIuNSBFIEYwCistLjE1KGV4KTIuNSBHKGlzdHMgYW5kKS4xNSBFIEYyKFwyMTRsZTEpMi41IEUgRjAoZG9lcyBub3QuKTIuNSBFIEYxCis8YWQ2Zj4xMDggMzM2IFEgRjIob3B0bmFtZSkyLjUgRSBGMCAtLjM1KFRyKTE0NCAzNDggUyAuMjYzCisodWUgaWYgdGhlIHNoZWxsIG9wdGlvbikuMzUgRiBGMihvcHRuYW1lKTIuOTkyIEUgRjAgLjI2MihpcyBlbmFibGVkLikKKzIuOTQyIEYgLjI2MihTZWUgdGhlIGxpc3Qgb2Ygb3B0aW9ucyB1bmRlciB0aGUgZGVzY3JpcHRpb24gb2YgdGhlKTUuMjYyCitGIEYxPGFkNmY+Mi43NjIgRSBGMChvcHRpb24gdG8gdGhlKTE0NCAzNjAgUSBGMShzZXQpMi41IEUgRjAgLS4yKGJ1KTIuNQorRyhpbHRpbiBiZWxvKS4yIEUgLS42NSh3LiktLjI1IEcgRjE8YWQ3Nj4xMDggMzcyIFEgRjIodmFybmFtZSkyLjUgRSBGMAorLS4zNShUcikxNDQgMzg0IFModWUgaWYgdGhlIHNoZWxsIHYpLjM1IEUoYXJpYWJsZSktLjI1IEUgRjIodmFybmFtZSkyLjc5CitFIEYwKGlzIHNldCBcKGhhcyBiZWVuIGFzc2lnbmVkIGEgdikyLjY4IEUoYWx1ZVwpLiktLjI1IEUgRjE8YWQ3YT4xMDgKKzM5NiBRIEYyKHN0cmluZykyLjUgRSBGMCAtLjM1KFRyKTE0NCA0MDggUyh1ZSBpZiB0aGUgbGVuZ3RoIG9mKS4zNSBFIEYyCisoc3RyaW5nKTIuNSBFIEYwKGlzIHplcm8uKTIuNSBFIEYyKHN0cmluZykxMDggNDIwIFEgRjE8YWQ2ZT4xMDggNDMyIFEgRjIKKyhzdHJpbmcpMi41IEUgRjAgLS4zNShUcikxNDQgNDQ0IFModWUgaWYgdGhlIGxlbmd0aCBvZikuMzUgRSBGMihzdHJpbmcpCisyLjg0IEUgRjAoaXMgbm9uLXplcm8uKTIuNzIgRSBGMihzdHJpbmcxKTEwOCA0NjAuOCBRIEYxKD09KTIuNSBFIEYyCisoc3RyaW5nMikyLjUgRShzdHJpbmcxKTEwOCA0NzIuOCBRIEYxKD0pMi41IEUgRjIoc3RyaW5nMikyLjUgRSBGMCAtLjM1CisoVHIpMTQ0IDQ4NC44IFModWUgaWYgdGhlIHN0cmluZ3MgYXJlIGVxdWFsLikuMzUgRSBGMSg9KTUgRSBGMAorKHNob3VsZCBiZSB1c2VkIHdpdGggdGhlKTIuNSBFIEYxKHRlc3QpMi41IEUgRjAKKyhjb21tYW5kIGZvciBQT1NJWCBjb25mb3JtYW5jZS4pMi41IEUgRjIoc3RyaW5nMSkxMDggNTAxLjYgUSBGMSghPSkyLjUgRQorRjIoc3RyaW5nMikyLjUgRSBGMCAtLjM1KFRyKTE0NCA1MTMuNiBTCisodWUgaWYgdGhlIHN0cmluZ3MgYXJlIG5vdCBlcXVhbC4pLjM1IEUgRjIoc3RyaW5nMSkxMDggNTMwLjQgUSBGMSg8KTIuNQorRSBGMihzdHJpbmcyKTIuNSBFIEYwIC0uMzUoVHIpMTQ0IDU0Mi40IFModWUgaWYpLjM1IEUgRjIoc3RyaW5nMSkyLjUgRQorRjAoc29ydHMgYmVmb3JlKTIuNSBFIEYyKHN0cmluZzIpMi41IEUgRjAobGUpMi41IEUoeGljb2dyYXBoaWNhbGx5KS0uMTUKK0UoLiktLjY1IEUgRjIoc3RyaW5nMSkxMDggNTU5LjIgUSBGMSg+KTIuNSBFIEYyKHN0cmluZzIpMi41IEUgRjAgLS4zNQorKFRyKTE0NCA1NzEuMiBTKHVlIGlmKS4zNSBFIEYyKHN0cmluZzEpMi41IEUgRjAoc29ydHMgYWZ0ZXIpMi41IEUgRjIKKyhzdHJpbmcyKTIuNSBFIEYwKGxlKTIuNSBFKHhpY29ncmFwaGljYWxseSktLjE1IEUoLiktLjY1IEUgRjIoYXIpMTA4LjMzCis1ODggUShnMSktLjM3IEUgRjEoT1ApMi41IEUgRjIoYXIpMi41IEUoZzIpLS4zNyBFL0YzIDkvVGltZXMtQm9sZEAwIFNGCisoT1ApMTQ0IDYwMCBRIEYwIC4zODUoaXMgb25lIG9mKTIuNjM0IEYgRjEoXDI1NWVxKTIuODg1IEUgRjAoLClBIEYxCisoXDI1NW5lKTIuODg1IEUgRjAoLClBIEYxKFwyNTVsdCkyLjg4NSBFIEYwKCwpQSBGMShcMjU1bGUpMi44ODUgRSBGMCgsKUEKK0YxKFwyNTVndCkyLjg4NSBFIEYwIDIuODg1KCxvKUMociktMi44ODUgRSBGMShcMjU1Z2UpMi44ODUgRSBGMCA1LjM4NQorKC5UKUMgLjM4NShoZXNlIGFyaXRobWV0aWMgYmluYXJ5IG9wZXJhdG9ycyByZXR1cm4gdHJ1ZSBpZiktNS4zODUgRiBGMgorKGFyKTIuODg1IEUoZzEpLS4zNyBFIEYwIC44NDUoaXMgZXF1YWwgdG8sIG5vdCBlcXVhbCB0bywgbGVzcyB0aGFuLCBsZXNcCitzIHRoYW4gb3IgZXF1YWwgdG8sIGdyZWF0ZXIgdGhhbiwgb3IgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvKTE0NCA2MTIgUgorRjIoYXIpMTQ0IDYyNCBRKGcyKS0uMzcgRSBGMCAyLjUoLHIpQyhlc3BlY3RpKS0yLjUgRSAtLjE1KHZlKS0uMjUgRyhseSkKKy4xNSBFKC4pLS42NSBFIEYyKEFyKTYuMDEgRShnMSktLjM3IEUgRjAoYW5kKTIuNSBFIEYyKGFyKTIuODMgRShnMiktLjM3CitFIEYwKG1heSBiZSBwb3NpdGkpMi41MiBFIC4zIC0uMTUodmUgbyktLjI1IEggMi41KHJuKS4xNSBHIC0yLjI1IC0uMTUKKyhlZyBhKS0yLjUgSCh0aSkuMTUgRSAuMyAtLjE1KHZlIGkpLS4yNSBIKG50ZSkuMTUgRShnZXJzLiktLjE1IEUvRjQKKzEwLjk1L1RpbWVzLUJvbGRAMCBTRihTSU1QTEUgQ09NTUFORCBFWFApNzIgNjQwLjggUShBTlNJT04pLS44MSBFIEYwCisuNjEzKFdoZW4gYSBzaW1wbGUgY29tbWFuZCBpcyBlKTEwOCA2NTIuOCBSIC0uMTUoeGUpLS4xNSBHIC42MTQKIChjdXRlZCwgdGhlIHNoZWxsIHBlcmZvcm1zIHRoZSBmb2xsbykuMTUgRiAuNjE0KHdpbmcgZSktLjI1IEYgLjYxNAogKHhwYW5zaW9ucywgYXNzaWdubWVudHMsIGFuZCByZWRpLSktLjE1IEYocmVjdGlvbnMsIGZyb20gbGVmdCB0byByaWdodC4pCi0xMDggMTYwLjggUSAyNigxLiBUaGUpMTA4IDE3Ny42IFIgLS4xKHdvKTQuMzQ5IEcgMS44NDkKKzEwOCA2NjQuOCBRIDI2KDEuIFRoZSkxMDggNjgxLjYgUiAtLjEod28pNC4zNDkgRyAxLjg0OQogKHJkcyB0aGF0IHRoZSBwYXJzZXIgaGFzIG1hcmspLjEgRiAxLjg0OChlZCBhcyB2KS0uMSBGIDEuODQ4CiAoYXJpYWJsZSBhc3NpZ25tZW50cyBcKHRob3NlIHByZWNlZGluZyB0aGUgY29tbWFuZCktLjI1IEYKLShuYW1lXCkgYW5kIHJlZGlyZWN0aW9ucyBhcmUgc2EpMTQ0IDE4OS42IFEgLS4xNSh2ZSktLjIgRyAyLjUoZGYpLjE1IEcKLShvciBsYXRlciBwcm9jZXNzaW5nLiktMi41IEUgMjYoMi4gVGhlKTEwOCAyMDYuNCBSIC0uMSh3bykzLjY2MyBHIDEuMTYzCisobmFtZVwpIGFuZCByZWRpcmVjdGlvbnMgYXJlIHNhKTE0NCA2OTMuNiBRIC0uMTUodmUpLS4yIEcgMi41KGRmKS4xNSBHCisob3IgbGF0ZXIgcHJvY2Vzc2luZy4pLTIuNSBFIDI2KDIuIFRoZSkxMDggNzEwLjQgUiAtLjEod28pMy42NjMgRyAxLjE2MwogKHJkcyB0aGF0IGFyZSBub3QgdikuMSBGIDEuMTY0CiAoYXJpYWJsZSBhc3NpZ25tZW50cyBvciByZWRpcmVjdGlvbnMgYXJlIGUpLS4yNSBGIDMuNjY0KHhwYW5kZWQuIElmKS0uMTUKIEYoYW4pMy42NjQgRSAzLjY2NCh5dyktLjE1IEcgMS4xNjQob3JkcyByZW1haW4pLTMuNzY0IEYgLjc3NihhZnRlciBlKTE0NAotMjE4LjQgUiAuNzc2KHhwYW5zaW9uLCB0aGUgXDIxNHJzdCB3KS0uMTUgRiAuNzc2KG9yZCBpcyB0YWspLS4xIEYgLjc3NQorNzIyLjQgUiAuNzc2KHhwYW5zaW9uLCB0aGUgXDIxNHJzdCB3KS0uMTUgRiAuNzc2KG9yZCBpcyB0YWspLS4xIEYgLjc3NQogKGVuIHRvIGJlIHRoZSBuYW1lIG9mIHRoZSBjb21tYW5kIGFuZCB0aGUgcmVtYWluaW5nIHcpLS4xIEYob3JkcyktLjEgRQotKGFyZSB0aGUgYXIpMTQ0IDIzMC40IFEoZ3VtZW50cy4pLS4xOCBFIDI2KDMuIFJlZGlyZWN0aW9ucykxMDggMjQ3LjIgUgotKGFyZSBwZXJmb3JtZWQgYXMgZGVzY3JpYmVkIGFibykyLjUgRSAuMyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjMKLShSRURJUkVDVElPTikyLjUgRS9GNSA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIDI2KDQuIFRoZSkxMDggMjY0IFIodGUpCi0zLjIxNiBFIC43MTcoeHQgYWZ0ZXIgdGhlKS0uMTUgRiBGMig9KTMuMjE3IEUgRjAgLjcxNyhpbiBlYWNoIHYpMy4yMTcgRgotLjcxNyhhcmlhYmxlIGFzc2lnbm1lbnQgdW5kZXIpLS4yNSBGIC43MTcoZ29lcyB0aWxkZSBlKS0uMTggRiAuNzE3Ci0oeHBhbnNpb24sIHBhcmFtZXRlciBlKS0uMTUgRih4cGFuc2lvbiwpLS4xNSBFIC4zNAotKGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljIGUpMTQ0IDI3NiBSIC4zMzkKLSh4cGFuc2lvbiwgYW5kIHF1b3RlIHJlbW8pLS4xNSBGIC0uMjUodmEpLS4xNSBHIDIuODM5KGxiKS4yNSBHIC4zMzkKLShlZm9yZSBiZWluZyBhc3NpZ25lZCB0byB0aGUgdiktMi44MzkgRihhcmktKS0uMjUgRShhYmxlLikxNDQgMjg4IFEgLjMzMgotKElmIG5vIGNvbW1hbmQgbmFtZSByZXN1bHRzLCB0aGUgdikxMDggMzA0LjggUiAuMzMyCi0oYXJpYWJsZSBhc3NpZ25tZW50cyBhZiktLjI1IEYgLjMzMihmZWN0IHRoZSBjdXJyZW50IHNoZWxsIGVuKS0uMjUgRgotMi44MzModmlyb25tZW50LiBPdGhlcndpc2UsKS0uNCBGKHRoZSkyLjgzMyBFIC0uMjUodmEpMTA4IDMxNi44IFMgLjc1NwotKHJpYWJsZXMgYXJlIGFkZGVkIHRvIHRoZSBlbikuMjUgRiAuNzU3KHZpcm9ubWVudCBvZiB0aGUgZSktLjQgRiAtLjE1Ci0oeGUpLS4xNSBHIC43NTcoY3V0ZWQgY29tbWFuZCBhbmQgZG8gbm90IGFmKS4xNSBGIC43NTcKLShmZWN0IHRoZSBjdXJyZW50IHNoZWxsIGVuKS0uMjUgRih2aS0pLS40IEUgMy4xNzYocm9ubWVudC4gSWYpMTA4IDMyOC44Ci1SKGFuKTMuMTc2IEUgMy4xNzYoeW8pLS4xNSBHIDMuMTc2KGZ0KS0zLjE3NiBHIC42NzcKLShoZSBhc3NpZ25tZW50cyBhdHRlbXB0cyB0byBhc3NpZ24gYSB2KS0zLjE3NiBGIC42NzcKLShhbHVlIHRvIGEgcmVhZG9ubHkgdiktLjI1IEYgLjY3NyhhcmlhYmxlLCBhbiBlcnJvciBvY2N1cnMsIGFuZCktLjI1IEYKLSh0aGUgY29tbWFuZCBlKTEwOCAzNDAuOCBRKHhpdHMgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy4pLS4xNSBFIC4xNQotKElmIG5vIGNvbW1hbmQgbmFtZSByZXN1bHRzLCByZWRpcmVjdGlvbnMgYXJlIHBlcmZvcm1lZCwgYikxMDggMzU3LjYgUgotLjE0OSh1dCBkbyBub3QgYWYpLS4yIEYgLjE0OShmZWN0IHRoZSBjdXJyZW50IHNoZWxsIGVuKS0uMjUgRiAyLjY0OQotKHZpcm9ubWVudC4gQSktLjQgRihyZWRpcmVjdGlvbiBlcnJvciBjYXVzZXMgdGhlIGNvbW1hbmQgdG8gZSkxMDggMzY5LjYKLVEoeGl0IHdpdGggYSBub24temVybyBzdGF0dXMuKS0uMTUgRSAxLjA2NAotKElmIHRoZXJlIGlzIGEgY29tbWFuZCBuYW1lIGxlZnQgYWZ0ZXIgZSkxMDggMzg2LjQgUiAxLjA2NCh4cGFuc2lvbiwgZSkKLS0uMTUgRiAtLjE1KHhlKS0uMTUgRyAxLjA2NChjdXRpb24gcHJvY2VlZHMgYXMgZGVzY3JpYmVkIGJlbG8pLjE1IEYKLTQuODY0IC0uNjUody4gTyktLjI1IEggMS4wNjQodGhlcndpc2UsIHRoZSkuNjUgRiAuMDY5KGNvbW1hbmQgZSkxMDgKLTM5OC40IFIgMi41NjkoeGl0cy4gSWYpLS4xNSBGIC4wNjkob25lIG9mIHRoZSBlKTIuNTY5IEYgLjA2OQotKHhwYW5zaW9ucyBjb250YWluZWQgYSBjb21tYW5kIHN1YnN0aXR1dGlvbiwgdGhlIGUpLS4xNSBGIC4wNjgKLSh4aXQgc3RhdHVzIG9mIHRoZSBjb21tYW5kKS0uMTUgRiAuNDY2KGlzIHRoZSBlKTEwOCA0MTAuNCBSIC40NjYKLSh4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgc3Vic3RpdHV0aW9uIHBlcmZvcm1lZC4pLS4xNSBGIC40NjcKLShJZiB0aGVyZSB3ZXJlIG5vIGNvbW1hbmQgc3Vic3RpdHV0aW9ucywgdGhlKTUuNDY2IEYoY29tbWFuZCBlKTEwOCA0MjIuNAotUSh4aXRzIHdpdGggYSBzdGF0dXMgb2YgemVyby4pLS4xNSBFIEY0KENPTU1BTkQgRVhFQ1VUSU9OKTcyIDQzOS4yIFEgRjAKLS41NDcoQWZ0ZXIgYSBjb21tYW5kIGhhcyBiZWVuIHNwbGl0IGludG8gdykxMDggNDUxLjIgUiAuNTQ2Ci0ob3JkcywgaWYgaXQgcmVzdWx0cyBpbiBhIHNpbXBsZSBjb21tYW5kIGFuZCBhbiBvcHRpb25hbCBsaXN0IG9mIGFyKS0uMQotRihndS0pLS4xOCBFKG1lbnRzLCB0aGUgZm9sbG8pMTA4IDQ2My4yIFEod2luZyBhY3Rpb25zIGFyZSB0YWspLS4yNSBFCi0oZW4uKS0uMSBFIC4zNzkoSWYgdGhlIGNvbW1hbmQgbmFtZSBjb250YWlucyBubyBzbGFzaGVzLCB0aGUgc2hlbGwgYXR0ZVwKLW1wdHMgdG8gbG9jYXRlIGl0LikxMDggNDgwIFIgLjM3OShJZiB0aGVyZSBlKTUuMzc5IEYgLjM3OQotKHhpc3RzIGEgc2hlbGwgZnVuY3Rpb24gYnkpLS4xNSBGIC4yNDYodGhhdCBuYW1lLCB0aGF0IGZ1bmN0aW9uIGlzIGluKQotMTA4IDQ5MiBSIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjc0NihkYSkuMSBHIDIuNzQ2KHNkKS0yLjc0NiBHIC4yNDYKLShlc2NyaWJlZCBhYm8pLTIuNzQ2IEYgLjU0NiAtLjE1KHZlIGkpLS4xNSBIKG4pLjE1IEUgRjMoRlVOQ1RJT05TKTIuNzQ2Ci1FIEY1KC4pQSBGMCAuMjQ2KElmIHRoZSBuYW1lIGRvZXMgbm90IG1hdGNoIGEgZnVuYy0pNC43NDYgRgotKHRpb24sIHRoZSBzaGVsbCBzZWFyY2hlcyBmb3IgaXQgaW4gdGhlIGxpc3Qgb2Ygc2hlbGwgYikxMDggNTA0IFEgMi41Ci0odWlsdGlucy4gSWYpLS4yIEYgMi41KGFtKTIuNSBHKGF0Y2ggaXMgZm91bmQsIHRoYXQgYiktMi41IEUKLSh1aWx0aW4gaXMgaW4pLS4yIEUgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQuKS4xIEUgLjMwOQotKElmIHRoZSBuYW1lIGlzIG5laXRoZXIgYSBzaGVsbCBmdW5jdGlvbiBub3IgYSBiKTEwOCA1MjAuOCBSIC4zMQotKHVpbHRpbiwgYW5kIGNvbnRhaW5zIG5vIHNsYXNoZXMsKS0uMiBGIEYyKGJhc2gpMi44MSBFIEYwIC4zMQotKHNlYXJjaGVzIGVhY2ggZWxlbWVudCBvZikyLjgxIEYodGhlKTEwOCA1MzIuOCBRIEYzIC0uNjY2KFBBKTMuMTYzIEcoVEgpCi0tLjE4OSBFIEYwIC42NjIoZm9yIGEgZGlyZWN0b3J5IGNvbnRhaW5pbmcgYW4gZSkyLjkxMyBGIC0uMTUoeGUpLS4xNSBHCi0uNjYyKGN1dGFibGUgXDIxNGxlIGJ5IHRoYXQgbmFtZS4pLjE1IEYgRjIoQmFzaCk1LjY2MiBFIEYwIC42NjIKLSh1c2VzIGEgaGFzaCB0YWJsZSB0byByZW1lbWJlcikzLjE2MiBGIDEuOTE0KHRoZSBmdWxsIHBhdGhuYW1lcyBvZiBlKTEwOAotNTQ0LjggUiAtLjE1KHhlKS0uMTUgRyAxLjkxNShjdXRhYmxlIFwyMTRsZXMgXChzZWUpLjE1IEYgRjIoaGFzaCk0LjQxNSBFCi1GMCh1bmRlcik0LjQxNSBFIEYzIDEuOTE1KFNIRUxMIEIpNC40MTUgRihVSUwpLS4wOSBFIDEuOTE1KFRJTiBDT01NQU5EUykKLS0uODI4IEYgRjAoYmVsbyk0LjE2NSBFIDQuNDE1KHdcKS4gQSktLjI1IEYoZnVsbCk0LjQxNSBFIC43MgotKHNlYXJjaCBvZiB0aGUgZGlyZWN0b3JpZXMgaW4pMTA4IDU1Ni44IFIgRjMgLS42NjYoUEEpMy4yMiBHKFRIKS0uMTg5IEUKLUYwIC43MTkKLShpcyBwZXJmb3JtZWQgb25seSBpZiB0aGUgY29tbWFuZCBpcyBub3QgZm91bmQgaW4gdGhlIGhhc2ggdGFibGUuKTIuOTcgRgotLjcxOShJZiB0aGUpNS43MTkgRiAuOTU2KHNlYXJjaCBpcyB1bnN1Y2Nlc3NmdWwsIHRoZSBzaGVsbCBzZWFyY2hlcyBmb3JcCi0gYSBkZVwyMTRuZWQgc2hlbGwgZnVuY3Rpb24gbmFtZWQpMTA4IDU2OC44IFIgRjIoY29tbWFuZF9ub3RfZikzLjQ1NiBFCi0ob3VuZF9oYW4tKS0uMjUgRShkbGUpMTA4IDU4MC44IFEgRjAgNS4yNzgoLkkpQyAyLjc3OChmdCktNS4yNzggRyAuMjc4Ci0oaGF0IGZ1bmN0aW9uIGUpLTIuNzc4IEYgLjI3OCh4aXN0cywgaXQgaXMgaW4pLS4xNSBGIC0uMih2byktLjQgRyAtLjEKLShrZSkuMiBHIDIuNzc4KGR3KS4xIEcgLjI3NwotKGl0aCB0aGUgb3JpZ2luYWwgY29tbWFuZCBhbmQgdGhlIG9yaWdpbmFsIGNvbW1hbmQnKS0yLjc3OCBGIDIuNzc3KHNhKQotLS41NSBHIC0uMTgocmcpLTIuNzc3IEcodW1lbnRzKS4xOCBFIC43NzUoYXMgaXRzIGFyKTEwOCA1OTIuOCBSIC43NzUKLShndW1lbnRzLCBhbmQgdGhlIGZ1bmN0aW9uJyktLjE4IEYgMy4yNzUoc2UpLS41NSBHIC43NzUKLSh4aXQgc3RhdHVzIGJlY29tZXMgdGhlIGUpLTMuNDI1IEYgLjc3NSh4aXQgc3RhdHVzIG9mIHRoZSBzaGVsbC4pLS4xNSBGCi0uNzc2KElmIHRoYXQgZnVuY3Rpb24gaXMgbm90KTUuNzc2IEYKLShkZVwyMTRuZWQsIHRoZSBzaGVsbCBwcmludHMgYW4gZXJyb3IgbWVzc2FnZSBhbmQgcmV0dXJucyBhbiBlKTEwOCA2MDQuOAotUSh4aXQgc3RhdHVzIG9mIDEyNy4pLS4xNSBFIDEuMDg5KElmIHRoZSBzZWFyY2ggaXMgc3VjY2Vzc2Z1bCwgb3IgaWYgdGhcCi1lIGNvbW1hbmQgbmFtZSBjb250YWlucyBvbmUgb3IgbW9yZSBzbGFzaGVzLCB0aGUgc2hlbGwgZSkxMDggNjIxLjYgUgotLS4xNSh4ZSktLjE1IEcgMS4wODkoY3V0ZXMgdGhlKS4xNSBGIC4xOTcobmFtZWQgcHJvZ3JhbSBpbiBhIHNlcGFyYXRlIGUpCi0xMDggNjMzLjYgUiAtLjE1KHhlKS0uMTUgRyAuMTk3KGN1dGlvbiBlbikuMTUgRiAyLjY5OCh2aXJvbm1lbnQuIEFyKS0uNAotRiAuMTk4KGd1bWVudCAwIGlzIHNldCB0byB0aGUgbmFtZSBnaSktLjE4IEYgLS4xNSh2ZSktLjI1IEcgLjE5OAotKG4sIGFuZCB0aGUgcmVtYWluLSkuMTUgRihpbmcgYXIpMTA4IDY0NS42IFEKLShndW1lbnRzIHRvIHRoZSBjb21tYW5kIGFyZSBzZXQgdG8gdGhlIGFyKS0uMTggRShndW1lbnRzIGdpKS0uMTggRSAtLjE1Ci0odmUpLS4yNSBHKG4sIGlmIGFuKS4xNSBFIC0uNjUoeS4pLS4xNSBHIDEuODA5KElmIHRoaXMgZSkxMDggNjYyLjQgUgotLS4xNSh4ZSktLjE1IEcgMS44MDkoY3V0aW9uIGYpLjE1IEYgMS44MDkKLShhaWxzIGJlY2F1c2UgdGhlIFwyMTRsZSBpcyBub3QgaW4gZSktLjEgRiAtLjE1KHhlKS0uMTUgRyAxLjgwOQotKGN1dGFibGUgZm9ybWF0LCBhbmQgdGhlIFwyMTRsZSBpcyBub3QgYSBkaXJlY3RvcnkpLjE1IEYgNC4zMDkoLGkpLS42NSBHCi00LjMwOSh0aSktNC4zMDkgRyhzKS00LjMwOSBFIC42NzcoYXNzdW1lZCB0byBiZSBhKTEwOCA2NzQuNCBSIEYxIC42NzgKLShzaGVsbCBzY3JpcHQpMy4xNzcgRiBGMCAzLjE3OCgsYVwyMTQpQyAuNjc4Ci0obGUgY29udGFpbmluZyBzaGVsbCBjb21tYW5kcy4pLTMuMTc4IEYgMy4xNzgoQXMpNS42NzggRyAuNjc4Ci0odWJzaGVsbCBpcyBzcGEpLTMuMTc4IEYgLjY3OCh3bmVkIHRvIGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHIC42NzgKLShjdXRlIGl0LikuMTUgRihUaGlzKTUuNjc4IEUgLjMzCi0oc3Vic2hlbGwgcmVpbml0aWFsaXplcyBpdHNlbGYsIHNvIHRoYXQgdGhlIGVmKTEwOCA2ODYuNCBSIC4zMwotKGZlY3QgaXMgYXMgaWYgYSBuZSktLjI1IEYgMi44Mjkod3MpLS4yNSBHIC4zMjkoaGVsbCBoYWQgYmVlbiBpbiktMi44MjkKLUYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuODI5KGR0KS4xIEcgMi44Mjkob2gpLTIuODI5IEcgLjMyOQotKGFuZGxlIHRoZSBzY3JpcHQsIHdpdGgpLTIuODI5IEYgMS4yMTkodGhlIGUpMTA4IDY5OC40IFIgMS4yMTkKLSh4Y2VwdGlvbiB0aGF0IHRoZSBsb2NhdGlvbnMgb2YgY29tbWFuZHMgcmVtZW1iZXJlZCBieSB0aGUgcGFyZW50IFwoc2VlKQotLS4xNSBGIEYyKGhhc2gpMy43MTkgRSBGMChiZWxvKTMuNzE5IEUgMy43MTkod3UpLS4yNSBHKG5kZXIpLTMuNzE5IEUgRjMKLShTSEVMTCkzLjcxOSBFIC0uMDkoQlUpMTA4IDcxMC40IFMoSUwpLjA5IEUoVElOIENPTU1BTkRTKS0uODI4IEUgRjUoXCkpQQotRjAoYXJlIHJldGFpbmVkIGJ5IHRoZSBjaGlsZC4pMi4yNSBFIDEuMzc1Ci0oSWYgdGhlIHByb2dyYW0gaXMgYSBcMjE0bGUgYmUpMTA4IDcyNy4yIFIgMS4zNzQoZ2lubmluZyB3aXRoKS0uMTUgRiBGMgotKCMhKTMuODc0IEUgRjAgMy44NzQoLHQpQyAxLjM3NAotKGhlIHJlbWFpbmRlciBvZiB0aGUgXDIxNHJzdCBsaW5lIHNwZWNpXDIxNGVzIGFuIGludGVycHJldGVyIGZvciB0aGUpCi0tMy44NzQgRihHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMjkpMTg1Ljk1NSBFIDAKLUNnIEVQCisoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDI5KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDMwIDMwCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFIDUuNDg1KHByb2dyYW0uIFRoZSkxMDggODQgUiAyLjk4NShzaGVsbCBlKTUuNDg1IEYgLS4xNSh4ZSktLjE1IEcKLTIuOTg2KGN1dGVzIHRoZSBzcGVjaVwyMTRlZCBpbnRlcnByZXRlciBvbiBvcGVyYXRpbmcgc3lzdGVtcyB0aGF0IGRvIG5vXAotdCBoYW5kbGUgdGhpcykuMTUgRiAtLjE1KGV4ZSkxMDggOTYgUyAuNzYyKGN1dGFibGUgZm9ybWF0IHRoZW1zZWx2KS4xNSBGCi0zLjI2Mihlcy4gVGhlKS0uMTUgRihhcikzLjI2MiBFIC43NjEKLShndW1lbnRzIHRvIHRoZSBpbnRlcnByZXRlciBjb25zaXN0IG9mIGEgc2luZ2xlIG9wdGlvbmFsIGFyKS0uMTggRiAuNzYxCi0oZ3VtZW50IGZvbC0pLS4xOCBGKGxvKTEwOCAxMDggUSAuMTU2Ci0od2luZyB0aGUgaW50ZXJwcmV0ZXIgbmFtZSBvbiB0aGUgXDIxNHJzdCBsaW5lIG9mIHRoZSBwcm9ncmFtLCBmb2xsbykKLS0uMjUgRiAuMTU3KHdlZCBieSB0aGUgbmFtZSBvZiB0aGUgcHJvZ3JhbSwgZm9sbG8pLS4yNSBGKHdlZCktLjI1IEUKLShieSB0aGUgY29tbWFuZCBhcikxMDggMTIwIFEoZ3VtZW50cywgaWYgYW4pLS4xOCBFIC0uNjUoeS4pLS4xNSBHL0YxCi0xMC45NS9UaW1lcy1Cb2xkQDAgU0YoQ09NTUFORCBFWEVDVVRJT04gRU5WSVIpNzIgMTM2LjggUShPTk1FTlQpLS4zMjkgRQotRjAoVGhlIHNoZWxsIGhhcyBhbikxMDggMTQ4LjggUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRiAtLjIoZXgpMi41IEcKLShlY3V0aW9uIGVuKS4yIEUodmlyKS0uNCBFKG9ubWVudCktLjQ1IEUgRjAgMi41KCx3KUMKLShoaWNoIGNvbnNpc3RzIG9mIHRoZSBmb2xsbyktMi41IEUod2luZzopLS4yNSBFIDMyLjU8ODM2Zj4xMDggMTY1LjYgUwotMS40MDYocGVuIFwyMTRsZXMgaW5oZXJpdGVkIGJ5IHRoZSBzaGVsbCBhdCBpbiktMzIuNSBGIC0uMih2byktLjQgRwotMS40MDUoY2F0aW9uLCBhcyBtb2RpXDIxNGVkIGJ5IHJlZGlyZWN0aW9ucyBzdXBwbGllZCB0byB0aGUpLjIgRi9GMyAxMAotL1RpbWVzLUJvbGRAMCBTRihleGVjKTMuOTA1IEUgRjAgLS4yKGJ1KTE0NCAxNzcuNiBTKGlsdGluKS4yIEUgMzIuNQotPDgzNzQ+MTA4IDE5NC40IFMoaGUgY3VycmVudCB3KS0zMi41IEUob3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkpLS4xIEUKLUYzKGNkKTIuNSBFIEYwKCwpQSBGMyhwdXNoZCkyLjUgRSBGMCAyLjUoLG8pQyhyKS0yLjUgRSBGMyhwb3BkKTIuNSBFIEYwCi0yLjUoLG8pQyAyLjUocmkpLTIuNSBHKG5oZXJpdGVkIGJ5IHRoZSBzaGVsbCBhdCBpbiktMi41IEUgLS4yKHZvKS0uNCBHCi0oY2F0aW9uKS4yIEUgMzIuNTw4Mzc0PjEwOCAyMTEuMiBTCi0oaGUgXDIxNGxlIGNyZWF0aW9uIG1vZGUgbWFzayBhcyBzZXQgYnkpLTMyLjUgRSBGMyh1bWFzaykyLjUgRSBGMAotKG9yIGluaGVyaXRlZCBmcm9tIHRoZSBzaGVsbCcpMi41IEUgMi41KHNwKS0uNTUgRyhhcmVudCktMi41IEUgMzIuNQotPDgzNjM+MTA4IDIyOCBTKHVycmVudCB0cmFwcyBzZXQgYnkpLTMyLjUgRSBGMyh0cmFwKTIuNSBFIEYwIDMyLjU8ODM3Mz4KLTEwOCAyNDQuOCBTIC4yNTYoaGVsbCBwYXJhbWV0ZXJzIHRoYXQgYXJlIHNldCBieSB2KS0zMi41IEYgLjI1NgotKGFyaWFibGUgYXNzaWdubWVudCBvciB3aXRoKS0uMjUgRiBGMyhzZXQpMi43NTYgRSBGMCAuMjU3Ci0ob3IgaW5oZXJpdGVkIGZyb20gdGhlIHNoZWxsJykyLjc1NiBGIDIuNzU3KHNwKS0uNTUgRyhhcmVudCktMi43NTcgRQotKGluIHRoZSBlbikxNDQgMjU2LjggUSh2aXJvbm1lbnQpLS40IEUgMzIuNTw4MzczPjEwOCAyNzMuNiBTCi0oaGVsbCBmdW5jdGlvbnMgZGVcMjE0bmVkIGR1cmluZyBlKS0zMi41IEUgLS4xNSh4ZSktLjE1IEcKLShjdXRpb24gb3IgaW5oZXJpdGVkIGZyb20gdGhlIHNoZWxsJykuMTUgRSAyLjUoc3ApLS41NSBHCi0oYXJlbnQgaW4gdGhlIGVuKS0yLjUgRSh2aXJvbm1lbnQpLS40IEUgMzIuNTw4MzZmPjEwOCAyOTAuNCBTCi0ocHRpb25zIGVuYWJsZWQgYXQgaW4pLTMyLjUgRSAtLjIodm8pLS40IEcoY2F0aW9uIFwoZWl0aGVyIGJ5IGRlZikuMiBFCi0oYXVsdCBvciB3aXRoIGNvbW1hbmQtbGluZSBhciktLjEgRShndW1lbnRzXCkgb3IgYnkpLS4xOCBFIEYzKHNldCkyLjUgRQotRjAgMzIuNTw4MzZmPjEwOCAzMDcuMiBTKHB0aW9ucyBlbmFibGVkIGJ5KS0zMi41IEUgRjMoc2hvcHQpMi41IEUgRjAKLTMyLjU8ODM3Mz4xMDggMzI0IFMoaGVsbCBhbGlhc2VzIGRlXDIxNG5lZCB3aXRoKS0zMi41IEUgRjMoYWxpYXMpMi41IEUKLUYwIDMyLjU8ODM3Nj4xMDggMzQwLjggUwotKGFyaW91cyBwcm9jZXNzIElEcywgaW5jbHVkaW5nIHRob3NlIG9mIGJhY2tncm91bmQgam9icywgdGhlIHYpLTMyLjc1IEUKLShhbHVlIG9mKS0uMjUgRSBGMygkJCkyLjUgRSBGMCAyLjUoLGEpQyhuZCB0aGUgdiktMi41IEUoYWx1ZSBvZiktLjI1IEUKLS9GNCA5L1RpbWVzLUJvbGRAMCBTRihQUElEKTIuNSBFIEYwIC40MjcKLShXaGVuIGEgc2ltcGxlIGNvbW1hbmQgb3RoZXIgdGhhbiBhIGIpMTA4IDM1Ny42IFIgLjQyNgotKHVpbHRpbiBvciBzaGVsbCBmdW5jdGlvbiBpcyB0byBiZSBlKS0uMiBGIC0uMTUoeGUpLS4xNSBHIC40MjYKLShjdXRlZCwgaXQgaXMgaW4pLjE1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuOTI2KGRpKS4xIEcgMi45MjYobmFzKQotLTIuOTI2IEcoZXBhcmF0ZSktMi45MjYgRSAtLjE1KGV4ZSkxMDggMzY5LjYgUyAuMTMzKGN1dGlvbiBlbikuMTUgRiAuMTMzCi0odmlyb25tZW50IHRoYXQgY29uc2lzdHMgb2YgdGhlIGZvbGxvKS0uNCBGIDIuNjM0KHdpbmcuIFVubGVzcyktLjI1IEYKLS4xMzQob3RoZXJ3aXNlIG5vdGVkLCB0aGUgdikyLjYzNCBGIC4xMzQoYWx1ZXMgYXJlIGluaGVyaXRlZCBmcm9tKS0uMjUgRgotKHRoZSBzaGVsbC4pMTA4IDM4MS42IFEgMzIuNTw4Mzc0PjEwOCAzOTguNCBTIDEuMDU2KGhlIHNoZWxsJyktMzIuNSBGCi0zLjU1NihzbyktLjU1IEcgMS4wNTYocGVuIFwyMTRsZXMsIHBsdXMgYW4pLTMuNTU2IEYgMy41NTYoeW0pLS4xNSBHCi0xLjA1NgotKG9kaVwyMTRjYXRpb25zIGFuZCBhZGRpdGlvbnMgc3BlY2lcMjE0ZWQgYnkgcmVkaXJlY3Rpb25zIHRvIHRoZSBjb20tKQotLTMuNTU2IEYobWFuZCkxNDQgNDEwLjQgUSAzMi41PDgzNzQ+MTA4IDQyNy4yIFMoaGUgY3VycmVudCB3KS0zMi41IEUKLShvcmtpbmcgZGlyZWN0b3J5KS0uMSBFIDMyLjU8ODM3ND4xMDggNDQ0IFMKLShoZSBcMjE0bGUgY3JlYXRpb24gbW9kZSBtYXNrKS0zMi41IEUgMzIuNTw4MzczPjEwOCA0NjAuOCBTIC44NTYoaGVsbCB2KQotLTMyLjUgRiAuODU3KGFyaWFibGVzIGFuZCBmdW5jdGlvbnMgbWFyayktLjI1IEYgLjg1NyhlZCBmb3IgZSktLjEgRiAuODU3Ci0oeHBvcnQsIGFsb25nIHdpdGggdiktLjE1IEYgLjg1NyhhcmlhYmxlcyBlKS0uMjUgRiAuODU3Ci0oeHBvcnRlZCBmb3IgdGhlIGNvbW1hbmQsKS0uMTUgRihwYXNzZWQgaW4gdGhlIGVuKTE0NCA0NzIuOCBRKHZpcm9ubWVudCkKLS0uNCBFIDMyLjU8ODM3ND4xMDggNDg5LjYgUyAuMzA3Ci0ocmFwcyBjYXVnaHQgYnkgdGhlIHNoZWxsIGFyZSByZXNldCB0byB0aGUgdiktMzIuNSBGIC4zMDYKLShhbHVlcyBpbmhlcml0ZWQgZnJvbSB0aGUgc2hlbGwnKS0uMjUgRiAyLjgwNihzcCktLjU1IEcgLjMwNgotKGFyZW50LCBhbmQgdHJhcHMgaWdub3JlZCktMi44MDYgRihieSB0aGUgc2hlbGwgYXJlIGlnbm9yZWQpMTQ0IDUwMS42IFEKLTIuNShBYykxMDggNTE4LjQgUyhvbW1hbmQgaW4pLTIuNSBFIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjUoZGkpLjEgRwotMi41KG50KS0yLjUgRyhoaXMgc2VwYXJhdGUgZW4pLTIuNSBFKHZpcm9ubWVudCBjYW5ub3QgYWYpLS40IEUKLShmZWN0IHRoZSBzaGVsbCcpLS4yNSBFIDIuNShzZSktLjU1IEcgLS4xNSh4ZSktMi42NSBHKGN1dGlvbiBlbikuMTUgRQotKHZpcm9ubWVudC4pLS40IEUgLjU3NyhDb21tYW5kIHN1YnN0aXR1dGlvbiwgY29tbWFuZHMgZ3JvdXBlZCB3aXRoIHBhcmVcCi1udGhlc2VzLCBhbmQgYXN5bmNocm9ub3VzIGNvbW1hbmRzIGFyZSBpbikxMDggNTM1LjIgUiAtLjIodm8pLS40IEcgLS4xCi0oa2UpLjIgRyAzLjA3OChkaSkuMSBHKG4pLTMuMDc4IEUgMi43NDUoYXMpMTA4IDU0Ny4yIFMgLjI0NSh1YnNoZWxsIGVuKQotLTIuNzQ1IEYgLjI0NSh2aXJvbm1lbnQgdGhhdCBpcyBhIGR1cGxpY2F0ZSBvZiB0aGUgc2hlbGwgZW4pLS40IEYgLjI0NAotKHZpcm9ubWVudCwgZSktLjQgRiAuMjQ0KHhjZXB0IHRoYXQgdHJhcHMgY2F1Z2h0IGJ5IHRoZSBzaGVsbCBhcmUpLS4xNSBGCi0uMzU4KHJlc2V0IHRvIHRoZSB2KTEwOCA1NTkuMiBSIC4zNTgKLShhbHVlcyB0aGF0IHRoZSBzaGVsbCBpbmhlcml0ZWQgZnJvbSBpdHMgcGFyZW50IGF0IGluKS0uMjUgRiAtLjIodm8pLS40Ci1HIDIuODU4KGNhdGlvbi4gQnVpbHRpbikuMiBGIC4zNTkoY29tbWFuZHMgdGhhdCBhcmUgaW4pMi44NTkgRiAtLjIodm8pCi0tLjQgRyAtLjEoa2UpLjIgRyhkKS4xIEUgLjg1NyhhcyBwYXJ0IG9mIGEgcGlwZWxpbmUgYXJlIGFsc28gZSkxMDggNTcxLjIKLVIgLS4xNSh4ZSktLjE1IEcgLjg1NihjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNSBGIDMuMzU2Ci0odmlyb25tZW50LiBDaGFuZ2VzKS0uNCBGIC44NTYobWFkZSB0byB0aGUgc3Vic2hlbGwgZW4pMy4zNTYgRih2aXJvbi0pCi0tLjQgRShtZW50IGNhbm5vdCBhZikxMDggNTgzLjIgUShmZWN0IHRoZSBzaGVsbCcpLS4yNSBFIDIuNShzZSktLjU1IEcKLS0uMTUoeGUpLTIuNjUgRyhjdXRpb24gZW4pLjE1IEUodmlyb25tZW50LiktLjQgRSAxLjM3NihTdWJzaGVsbHMgc3BhKTEwOAotNjAwIFIgMS4zNzYod25lZCB0byBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRyAxLjM3NwotKGN1dGUgY29tbWFuZCBzdWJzdGl0dXRpb25zIGluaGVyaXQgdGhlIHYpLjE1IEYgMS4zNzcoYWx1ZSBvZiB0aGUpLS4yNSBGCi1GMzxhZDY1PjMuODc3IEUgRjAgMS4zNzcob3B0aW9uIGZyb20gdGhlIHBhcmVudCkzLjg3NyBGIDIuNShzaGVsbC4gV2hlbikKLTEwOCA2MTIgUihub3QgaW4gcG9zaXggbW9kZSwgQmFzaCBjbGVhcnMgdGhlKTIuNSBFIEYzPGFkNjU+Mi41IEUgRjAKLShvcHRpb24gaW4gc3VjaCBzdWJzaGVsbHMuKTIuNSBFIC40MDUoSWYgYSBjb21tYW5kIGlzIGZvbGxvKTEwOCA2MjguOCBSCi0uNDA1KHdlZCBieSBhKS0uMjUgRiBGMygmKTIuOTA1IEUgRjAgLjQwNChhbmQgam9iIGNvbnRyb2wgaXMgbm90IGFjdGkpCi0yLjkwNSBGIC0uMTUodmUpLS4yNSBHIDIuOTA0KCx0KS4xNSBHIC40MDQoaGUgZGVmKS0yLjkwNCBGIC40MDQKLShhdWx0IHN0YW5kYXJkIGlucHV0IGZvciB0aGUgY29tbWFuZCktLjEgRiAuMTk3KGlzIHRoZSBlbXB0eSBcMjE0bGUpMTA4Ci02NDAuOCBSIEYyKC9kZSkyLjY5NyBFKHYvbnVsbCktLjE1IEUgRjAgNS4xOTcoLk8pQyAuMTk3Ci0odGhlcndpc2UsIHRoZSBpbiktNS4xOTcgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi42OTcoZGMpLjEgRyAuMTk4Ci0ob21tYW5kIGluaGVyaXRzIHRoZSBcMjE0bGUgZGVzY3JpcHRvcnMgb2YgdGhlIGNhbGxpbmcgc2hlbGwpLTIuNjk3IEYKLShhcyBtb2RpXDIxNGVkIGJ5IHJlZGlyZWN0aW9ucy4pMTA4IDY1Mi44IFEgRjEoRU5WSVIpNzIgNjY5LjYgUShPTk1FTlQpCi0tLjMyOSBFIEYwIDIuMzU0KFdoZW4gYSBwcm9ncmFtIGlzIGluKTEwOCA2ODEuNiBSIC0uMih2byktLjQgRyAtLjEoa2UpLjIKLUcgNC44NTMoZGkpLjEgRyA0Ljg1Myh0aSktNC44NTMgRyA0Ljg1MyhzZyktNC44NTMgRyAtMi4xNSAtLjI1KGl2IGUpCi0tNC44NTMgSCA0Ljg1MyhuYSkuMjUgRyA0Ljg1MyhuYSktNC44NTMgRyAyLjM1MwotKHJyYXkgb2Ygc3RyaW5ncyBjYWxsZWQgdGhlKS00Ljg1MyBGIEYyKGVuKTQuODUzIEUodmlyKS0uNCBFKG9ubWVudCktLjQ1Ci1FIEYwIDcuMzUzKC5UKS42OCBHIDIuMzUzKGhpcyBpcyBhIGxpc3Qgb2YpLTcuMzUzIEYgRjIobmFtZSkxMDggNjkzLjYgUQotRjA8YWQ+QSBGMih2YWx1ZSlBIEYwKHBhaXJzLCBvZiB0aGUgZm9ybSkyLjUgRSBGMihuYW1lKTIuNSBFIEYwKD0pQSBGMgotKHZhbHVlKUEgRjAoLikuMTggRSAxLjQ4NShUaGUgc2hlbGwgcHJvKTEwOCA3MTAuNCBSIDEuNDg1KHZpZGVzIHNlKS0uMTUKLUYgLS4xNSh2ZSktLjI1IEcgMS40ODUocmFsIHcpLjE1IEYgMS40ODUoYXlzIHRvIG1hbmlwdWxhdGUgdGhlIGVuKS0uMSBGCi0zLjk4NSh2aXJvbm1lbnQuIE9uKS0uNCBGKGluKTMuOTg1IEUgLS4yKHZvKS0uNCBHIDEuNDg2Ci0oY2F0aW9uLCB0aGUgc2hlbGwgc2NhbnMgaXRzIG8pLjIgRih3biktLjI1IEUoZW4pMTA4IDcyMi40IFEgMS40MzEodmlyb1wKLW5tZW50IGFuZCBjcmVhdGVzIGEgcGFyYW1ldGVyIGZvciBlYWNoIG5hbWUgZm91bmQsIGF1dG9tYXRpY2FsbHkgbWFya2luXAotZyBpdCBmb3IpLS40IEYgRjIgLS4yKGV4KTMuOTMgRyhwb3J0KS4yIEUgRjAgMS40Myh0byBjaGlsZCk0LjYxIEYKLShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMzApMTg1Ljk1NSBFIDAgQ2cgRVAKKy0uMzUgRShhcmUgdGhlIGFyKTE0NCA4NCBRKGd1bWVudHMuKS0uMTggRSAyNigzLiBSZWRpcmVjdGlvbnMpMTA4IDEwMC44CitSKGFyZSBwZXJmb3JtZWQgYXMgZGVzY3JpYmVkIGFibykyLjUgRSAuMyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUvRjEKKzkvVGltZXMtQm9sZEAwIFNGKFJFRElSRUNUSU9OKTIuNSBFL0YyIDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgMjYKKyg0LiBUaGUpMTA4IDExNy42IFIodGUpMy4yMTYgRSAuNzE3KHh0IGFmdGVyIHRoZSktLjE1IEYvRjMgMTAKKy9UaW1lcy1Cb2xkQDAgU0YoPSkzLjIxNyBFIEYwIC43MTcoaW4gZWFjaCB2KTMuMjE3IEYgLjcxNworKGFyaWFibGUgYXNzaWdubWVudCB1bmRlciktLjI1IEYgLjcxNyhnb2VzIHRpbGRlIGUpLS4xOCBGIC43MTcKKyh4cGFuc2lvbiwgcGFyYW1ldGVyIGUpLS4xNSBGKHhwYW5zaW9uLCktLjE1IEUgLjM0CisoY29tbWFuZCBzdWJzdGl0dXRpb24sIGFyaXRobWV0aWMgZSkxNDQgMTI5LjYgUiAuMzM5CisoeHBhbnNpb24sIGFuZCBxdW90ZSByZW1vKS0uMTUgRiAtLjI1KHZhKS0uMTUgRyAyLjgzOShsYikuMjUgRyAuMzM5CisoZWZvcmUgYmVpbmcgYXNzaWduZWQgdG8gdGhlIHYpLTIuODM5IEYoYXJpLSktLjI1IEUoYWJsZS4pMTQ0IDE0MS42IFEKKy4zMzIoSWYgbm8gY29tbWFuZCBuYW1lIHJlc3VsdHMsIHRoZSB2KTEwOCAxNTguNCBSIC4zMzIKKyhhcmlhYmxlIGFzc2lnbm1lbnRzIGFmKS0uMjUgRiAuMzMyKGZlY3QgdGhlIGN1cnJlbnQgc2hlbGwgZW4pLS4yNSBGCisyLjgzMyh2aXJvbm1lbnQuIE90aGVyd2lzZSwpLS40IEYodGhlKTIuODMzIEUgLS4yNSh2YSkxMDggMTcwLjQgUyAuNzU3CisocmlhYmxlcyBhcmUgYWRkZWQgdG8gdGhlIGVuKS4yNSBGIC43NTcodmlyb25tZW50IG9mIHRoZSBlKS0uNCBGIC0uMTUKKyh4ZSktLjE1IEcgLjc1NyhjdXRlZCBjb21tYW5kIGFuZCBkbyBub3QgYWYpLjE1IEYgLjc1NworKGZlY3QgdGhlIGN1cnJlbnQgc2hlbGwgZW4pLS4yNSBGKHZpLSktLjQgRSAzLjE3Nihyb25tZW50LiBJZikxMDggMTgyLjQKK1IoYW4pMy4xNzYgRSAzLjE3Nih5byktLjE1IEcgMy4xNzYoZnQpLTMuMTc2IEcgLjY3NworKGhlIGFzc2lnbm1lbnRzIGF0dGVtcHRzIHRvIGFzc2lnbiBhIHYpLTMuMTc2IEYgLjY3NworKGFsdWUgdG8gYSByZWFkb25seSB2KS0uMjUgRiAuNjc3KGFyaWFibGUsIGFuIGVycm9yIG9jY3VycywgYW5kKS0uMjUgRgorKHRoZSBjb21tYW5kIGUpMTA4IDE5NC40IFEoeGl0cyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLiktLjE1IEUgLjE1CisoSWYgbm8gY29tbWFuZCBuYW1lIHJlc3VsdHMsIHJlZGlyZWN0aW9ucyBhcmUgcGVyZm9ybWVkLCBiKTEwOCAyMTEuMiBSCisuMTQ5KHV0IGRvIG5vdCBhZiktLjIgRiAuMTQ5KGZlY3QgdGhlIGN1cnJlbnQgc2hlbGwgZW4pLS4yNSBGIDIuNjQ5Cisodmlyb25tZW50LiBBKS0uNCBGKHJlZGlyZWN0aW9uIGVycm9yIGNhdXNlcyB0aGUgY29tbWFuZCB0byBlKTEwOCAyMjMuMgorUSh4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy4pLS4xNSBFIDEuMDY0CisoSWYgdGhlcmUgaXMgYSBjb21tYW5kIG5hbWUgbGVmdCBhZnRlciBlKTEwOCAyNDAgUiAxLjA2NCh4cGFuc2lvbiwgZSkKKy0uMTUgRiAtLjE1KHhlKS0uMTUgRyAxLjA2NChjdXRpb24gcHJvY2VlZHMgYXMgZGVzY3JpYmVkIGJlbG8pLjE1IEYKKzQuODY0IC0uNjUody4gTyktLjI1IEggMS4wNjQodGhlcndpc2UsIHRoZSkuNjUgRiAuMDY5KGNvbW1hbmQgZSkxMDggMjUyCitSIDIuNTY5KHhpdHMuIElmKS0uMTUgRiAuMDY5KG9uZSBvZiB0aGUgZSkyLjU2OSBGIC4wNjkKKyh4cGFuc2lvbnMgY29udGFpbmVkIGEgY29tbWFuZCBzdWJzdGl0dXRpb24sIHRoZSBlKS0uMTUgRiAuMDY4CisoeGl0IHN0YXR1cyBvZiB0aGUgY29tbWFuZCktLjE1IEYgLjQ2NihpcyB0aGUgZSkxMDggMjY0IFIgLjQ2NgorKHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBzdWJzdGl0dXRpb24gcGVyZm9ybWVkLiktLjE1IEYgLjQ2NworKElmIHRoZXJlIHdlcmUgbm8gY29tbWFuZCBzdWJzdGl0dXRpb25zLCB0aGUpNS40NjYgRihjb21tYW5kIGUpMTA4IDI3NiBRCisoeGl0cyB3aXRoIGEgc3RhdHVzIG9mIHplcm8uKS0uMTUgRS9GNCAxMC45NS9UaW1lcy1Cb2xkQDAgU0YKKyhDT01NQU5EIEVYRUNVVElPTik3MiAyOTIuOCBRIEYwIC41NDcKKyhBZnRlciBhIGNvbW1hbmQgaGFzIGJlZW4gc3BsaXQgaW50byB3KTEwOCAzMDQuOCBSIC41NDYKKyhvcmRzLCBpZiBpdCByZXN1bHRzIGluIGEgc2ltcGxlIGNvbW1hbmQgYW5kIGFuIG9wdGlvbmFsIGxpc3Qgb2YgYXIpLS4xCitGKGd1LSktLjE4IEUobWVudHMsIHRoZSBmb2xsbykxMDggMzE2LjggUSh3aW5nIGFjdGlvbnMgYXJlIHRhayktLjI1IEUKKyhlbi4pLS4xIEUgLjM3OShJZiB0aGUgY29tbWFuZCBuYW1lIGNvbnRhaW5zIG5vIHNsYXNoZXMsIHRoZSBzaGVsbCBhdHRlXAorbXB0cyB0byBsb2NhdGUgaXQuKTEwOCAzMzMuNiBSIC4zNzkoSWYgdGhlcmUgZSk1LjM3OSBGIC4zNzkKKyh4aXN0cyBhIHNoZWxsIGZ1bmN0aW9uIGJ5KS0uMTUgRiAuMjQ2KHRoYXQgbmFtZSwgdGhhdCBmdW5jdGlvbiBpcyBpbikKKzEwOCAzNDUuNiBSIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjc0NihkYSkuMSBHIDIuNzQ2KHNkKS0yLjc0NiBHCisuMjQ2KGVzY3JpYmVkIGFibyktMi43NDYgRiAuNTQ2IC0uMTUodmUgaSktLjE1IEgobikuMTUgRSBGMShGVU5DVElPTlMpCisyLjc0NiBFIEYyKC4pQSBGMCAuMjQ2KElmIHRoZSBuYW1lIGRvZXMgbm90IG1hdGNoIGEgZnVuYy0pNC43NDYgRgorKHRpb24sIHRoZSBzaGVsbCBzZWFyY2hlcyBmb3IgaXQgaW4gdGhlIGxpc3Qgb2Ygc2hlbGwgYikxMDggMzU3LjYgUSAyLjUKKyh1aWx0aW5zLiBJZiktLjIgRiAyLjUoYW0pMi41IEcoYXRjaCBpcyBmb3VuZCwgdGhhdCBiKS0yLjUgRQorKHVpbHRpbiBpcyBpbiktLjIgRSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcoZC4pLjEgRSAuMzA5CisoSWYgdGhlIG5hbWUgaXMgbmVpdGhlciBhIHNoZWxsIGZ1bmN0aW9uIG5vciBhIGIpMTA4IDM3NC40IFIgLjMxCisodWlsdGluLCBhbmQgY29udGFpbnMgbm8gc2xhc2hlcywpLS4yIEYgRjMoYmFzaCkyLjgxIEUgRjAgLjMxCisoc2VhcmNoZXMgZWFjaCBlbGVtZW50IG9mKTIuODEgRih0aGUpMTA4IDM4Ni40IFEgRjEgLS42NjYoUEEpMy4xNjMgRyhUSCkKKy0uMTg5IEUgRjAgLjY2Mihmb3IgYSBkaXJlY3RvcnkgY29udGFpbmluZyBhbiBlKTIuOTEzIEYgLS4xNSh4ZSktLjE1IEcKKy42NjIoY3V0YWJsZSBcMjE0bGUgYnkgdGhhdCBuYW1lLikuMTUgRiBGMyhCYXNoKTUuNjYyIEUgRjAgLjY2MgorKHVzZXMgYSBoYXNoIHRhYmxlIHRvIHJlbWVtYmVyKTMuMTYyIEYgMS45MTQodGhlIGZ1bGwgcGF0aG5hbWVzIG9mIGUpMTA4CiszOTguNCBSIC0uMTUoeGUpLS4xNSBHIDEuOTE1KGN1dGFibGUgXDIxNGxlcyBcKHNlZSkuMTUgRiBGMyhoYXNoKTQuNDE1IEUKK0YwKHVuZGVyKTQuNDE1IEUgRjEgMS45MTUoU0hFTEwgQik0LjQxNSBGKFVJTCktLjA5IEUgMS45MTUoVElOIENPTU1BTkRTKQorLS44MjggRiBGMChiZWxvKTQuMTY1IEUgNC40MTUod1wpLiBBKS0uMjUgRihmdWxsKTQuNDE1IEUgLjcyCisoc2VhcmNoIG9mIHRoZSBkaXJlY3RvcmllcyBpbikxMDggNDEwLjQgUiBGMSAtLjY2NihQQSkzLjIyIEcoVEgpLS4xODkgRQorRjAgLjcxOQorKGlzIHBlcmZvcm1lZCBvbmx5IGlmIHRoZSBjb21tYW5kIGlzIG5vdCBmb3VuZCBpbiB0aGUgaGFzaCB0YWJsZS4pMi45NyBGCisuNzE5KElmIHRoZSk1LjcxOSBGIC45NTYoc2VhcmNoIGlzIHVuc3VjY2Vzc2Z1bCwgdGhlIHNoZWxsIHNlYXJjaGVzIGZvclwKKyBhIGRlXDIxNG5lZCBzaGVsbCBmdW5jdGlvbiBuYW1lZCkxMDggNDIyLjQgUiBGMyhjb21tYW5kX25vdF9mKTMuNDU2IEUKKyhvdW5kX2hhbi0pLS4yNSBFKGRsZSkxMDggNDM0LjQgUSBGMCA1LjI3OCguSSlDIDIuNzc4KGZ0KS01LjI3OCBHIC4yNzgKKyhoYXQgZnVuY3Rpb24gZSktMi43NzggRiAuMjc4KHhpc3RzLCBpdCBpcyBpbiktLjE1IEYgLS4yKHZvKS0uNCBHIC0uMQorKGtlKS4yIEcgMi43NzgoZHcpLjEgRyAuMjc3CisoaXRoIHRoZSBvcmlnaW5hbCBjb21tYW5kIGFuZCB0aGUgb3JpZ2luYWwgY29tbWFuZCcpLTIuNzc4IEYgMi43Nzcoc2EpCistLjU1IEcgLS4xOChyZyktMi43NzcgRyh1bWVudHMpLjE4IEUgLjc3NShhcyBpdHMgYXIpMTA4IDQ0Ni40IFIgLjc3NQorKGd1bWVudHMsIGFuZCB0aGUgZnVuY3Rpb24nKS0uMTggRiAzLjI3NShzZSktLjU1IEcgLjc3NQorKHhpdCBzdGF0dXMgYmVjb21lcyB0aGUgZSktMy40MjUgRiAuNzc1KHhpdCBzdGF0dXMgb2YgdGhlIHNoZWxsLiktLjE1IEYKKy43NzYoSWYgdGhhdCBmdW5jdGlvbiBpcyBub3QpNS43NzYgRgorKGRlXDIxNG5lZCwgdGhlIHNoZWxsIHByaW50cyBhbiBlcnJvciBtZXNzYWdlIGFuZCByZXR1cm5zIGFuIGUpMTA4IDQ1OC40CitRKHhpdCBzdGF0dXMgb2YgMTI3LiktLjE1IEUgMS4wODkoSWYgdGhlIHNlYXJjaCBpcyBzdWNjZXNzZnVsLCBvciBpZiB0aFwKK2UgY29tbWFuZCBuYW1lIGNvbnRhaW5zIG9uZSBvciBtb3JlIHNsYXNoZXMsIHRoZSBzaGVsbCBlKTEwOCA0NzUuMiBSCistLjE1KHhlKS0uMTUgRyAxLjA4OShjdXRlcyB0aGUpLjE1IEYgLjE5NyhuYW1lZCBwcm9ncmFtIGluIGEgc2VwYXJhdGUgZSkKKzEwOCA0ODcuMiBSIC0uMTUoeGUpLS4xNSBHIC4xOTcoY3V0aW9uIGVuKS4xNSBGIDIuNjk4KHZpcm9ubWVudC4gQXIpLS40CitGIC4xOTgoZ3VtZW50IDAgaXMgc2V0IHRvIHRoZSBuYW1lIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRyAuMTk4CisobiwgYW5kIHRoZSByZW1haW4tKS4xNSBGKGluZyBhcikxMDggNDk5LjIgUQorKGd1bWVudHMgdG8gdGhlIGNvbW1hbmQgYXJlIHNldCB0byB0aGUgYXIpLS4xOCBFKGd1bWVudHMgZ2kpLS4xOCBFIC0uMTUKKyh2ZSktLjI1IEcobiwgaWYgYW4pLjE1IEUgLS42NSh5LiktLjE1IEcgMS44MDkoSWYgdGhpcyBlKTEwOCA1MTYgUiAtLjE1CisoeGUpLS4xNSBHIDEuODA5KGN1dGlvbiBmKS4xNSBGIDEuODA5CisoYWlscyBiZWNhdXNlIHRoZSBcMjE0bGUgaXMgbm90IGluIGUpLS4xIEYgLS4xNSh4ZSktLjE1IEcgMS44MDkKKyhjdXRhYmxlIGZvcm1hdCwgYW5kIHRoZSBcMjE0bGUgaXMgbm90IGEgZGlyZWN0b3J5KS4xNSBGIDQuMzA5KCxpKS0uNjUgRworNC4zMDkodGkpLTQuMzA5IEcocyktNC4zMDkgRSAuNjc3KGFzc3VtZWQgdG8gYmUgYSkxMDggNTI4IFIvRjUgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRiAuNjc4KHNoZWxsIHNjcmlwdCkzLjE3NyBGIEYwIDMuMTc4KCxhXDIxNClDIC42NzgKKyhsZSBjb250YWluaW5nIHNoZWxsIGNvbW1hbmRzLiktMy4xNzggRiAzLjE3OChBcyk1LjY3OCBHIC42NzgKKyh1YnNoZWxsIGlzIHNwYSktMy4xNzggRiAuNjc4KHduZWQgdG8gZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcgLjY3OAorKGN1dGUgaXQuKS4xNSBGKFRoaXMpNS42NzggRSAuMzMKKyhzdWJzaGVsbCByZWluaXRpYWxpemVzIGl0c2VsZiwgc28gdGhhdCB0aGUgZWYpMTA4IDU0MCBSIC4zMworKGZlY3QgaXMgYXMgaWYgYSBuZSktLjI1IEYgMi44Mjkod3MpLS4yNSBHIC4zMjkoaGVsbCBoYWQgYmVlbiBpbiktMi44MjkKK0YgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuODI5KGR0KS4xIEcgMi44Mjkob2gpLTIuODI5IEcgLjMyOQorKGFuZGxlIHRoZSBzY3JpcHQsIHdpdGgpLTIuODI5IEYgMS4yMTkodGhlIGUpMTA4IDU1MiBSIDEuMjE5CisoeGNlcHRpb24gdGhhdCB0aGUgbG9jYXRpb25zIG9mIGNvbW1hbmRzIHJlbWVtYmVyZWQgYnkgdGhlIHBhcmVudCBcKHNlZSkKKy0uMTUgRiBGMyhoYXNoKTMuNzE5IEUgRjAoYmVsbykzLjcxOSBFIDMuNzE5KHd1KS0uMjUgRyhuZGVyKS0zLjcxOSBFIEYxCisoU0hFTEwpMy43MTkgRSAtLjA5KEJVKTEwOCA1NjQgUyhJTCkuMDkgRShUSU4gQ09NTUFORFMpLS44MjggRSBGMihcKSlBCitGMChhcmUgcmV0YWluZWQgYnkgdGhlIGNoaWxkLikyLjI1IEUgLjM0OChJZiB0aGUgcHJvZ3JhbSBpcyBhIFwyMTRsZSBiZSkKKzEwOCA1ODAuOCBSIC4zNDgoZ2lubmluZyB3aXRoKS0uMTUgRiBGMygjISkyLjg0OCBFIEYwIDIuODQ4KCx0KUMgLjM0NyhoXAorZSByZW1haW5kZXIgb2YgdGhlIFwyMTRyc3QgbGluZSBzcGVjaVwyMTRlcyBhbiBpbnRlcnByZXRlciBmb3IgdGhlIHByby0pCistMi44NDggRiAzLjE3OChncmFtLiBUaGUpMTA4IDU5Mi44IFIgLjY3OChzaGVsbCBlKTMuMTc4IEYgLS4xNSh4ZSktLjE1IEcKKy42NzgoY3V0ZXMgdGhlIHNwZWNpXDIxNGVkIGludGVycHJldGVyIG9uIG9wZXJhdGluZyBzeXN0ZW1zIHRoYXQgZG8gbm90XAorIGhhbmRsZSB0aGlzIGUpLjE1IEYgLS4xNSh4ZSktLjE1IEcoY3V0YWJsZSkuMTUgRSAxLjE5Myhmb3JtYXQgdGhlbXNlbHYpCisxMDggNjA0LjggUiAzLjY5Myhlcy4gVGhlKS0uMTUgRihhcikzLjY5MyBFIDEuMTkzCisoZ3VtZW50cyB0byB0aGUgaW50ZXJwcmV0ZXIgY29uc2lzdCBvZiBhIHNpbmdsZSBvcHRpb25hbCBhciktLjE4IEYgMS4xOTIKKyhndW1lbnQgZm9sbG8pLS4xOCBGIDEuMTkyKHdpbmcgdGhlKS0uMjUgRiAxLjEzCisoaW50ZXJwcmV0ZXIgbmFtZSBvbiB0aGUgXDIxNHJzdCBsaW5lIG9mIHRoZSBwcm9ncmFtLCBmb2xsbykxMDggNjE2LjggUgorMS4xMzEod2VkIGJ5IHRoZSBuYW1lIG9mIHRoZSBwcm9ncmFtLCBmb2xsbyktLjI1IEYgMS4xMzEod2VkIGJ5IHRoZSktLjI1CitGKGNvbW1hbmQgYXIpMTA4IDYyOC44IFEoZ3VtZW50cywgaWYgYW4pLS4xOCBFIC0uNjUoeS4pLS4xNSBHIEY0CisoQ09NTUFORCBFWEVDVVRJT04gRU5WSVIpNzIgNjQ1LjYgUShPTk1FTlQpLS4zMjkgRSBGMChUaGUgc2hlbGwgaGFzIGFuKQorMTA4IDY1Ny42IFEgRjUgLS4yKGV4KTIuNSBHKGVjdXRpb24gZW4pLjIgRSh2aXIpLS40IEUob25tZW50KS0uNDUgRSBGMAorMi41KCx3KUMoaGljaCBjb25zaXN0cyBvZiB0aGUgZm9sbG8pLTIuNSBFKHdpbmc6KS0uMjUgRSAzMi41PDgzNmY+MTA4Cis2NzQuNCBTIDEuNDA2KHBlbiBcMjE0bGVzIGluaGVyaXRlZCBieSB0aGUgc2hlbGwgYXQgaW4pLTMyLjUgRiAtLjIodm8pCistLjQgRyAxLjQwNShjYXRpb24sIGFzIG1vZGlcMjE0ZWQgYnkgcmVkaXJlY3Rpb25zIHN1cHBsaWVkIHRvIHRoZSkuMiBGCitGMyhleGVjKTMuOTA1IEUgRjAgLS4yKGJ1KTE0NCA2ODYuNCBTKGlsdGluKS4yIEUgMzIuNTw4Mzc0PjEwOCA3MDMuMiBTCisoaGUgY3VycmVudCB3KS0zMi41IEUob3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkpLS4xIEUgRjMoY2QpMi41IEUgRjAoLCkKK0EgRjMocHVzaGQpMi41IEUgRjAgMi41KCxvKUMociktMi41IEUgRjMocG9wZCkyLjUgRSBGMCAyLjUoLG8pQyAyLjUocmkpCistMi41IEcobmhlcml0ZWQgYnkgdGhlIHNoZWxsIGF0IGluKS0yLjUgRSAtLjIodm8pLS40IEcoY2F0aW9uKS4yIEUKKyhHTlUgQmFzaC00LjIpNzIgNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoMzApMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMzEgMzEKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUgNC4xNzcocHJvY2Vzc2VzLiBFeCkxMDggODQgUiAxLjY3NwotKGVjdXRlZCBjb21tYW5kcyBpbmhlcml0IHRoZSBlbiktLjE1IEYgNC4xNzcodmlyb25tZW50LiBUaGUpLS40IEYvRjEgMTAKLS9UaW1lcy1Cb2xkQDAgU0YoZXhwb3J0KTQuMTc4IEUgRjAoYW5kKTQuMTc4IEUgRjEoZGVjbGFyKTQuMTc4IEUgNC4xNzgKLTw2NWFkPi0uMTggRyh4KS00LjE3OCBFIEYwIDEuNjc4KGNvbW1hbmRzIGFsbG8pNC4xNzggRih3KS0uMjUgRSAuNjQ3Ci0ocGFyYW1ldGVycyBhbmQgZnVuY3Rpb25zIHRvIGJlIGFkZGVkIHRvIGFuZCBkZWxldGVkIGZyb20gdGhlIGVuKTEwOCA5NgotUiAzLjE0Nyh2aXJvbm1lbnQuIElmKS0uNCBGIC42NDYodGhlIHYpMy4xNDYgRiAuNjQ2Ci0oYWx1ZSBvZiBhIHBhcmFtZXRlciBpbiktLjI1IEYgLjUxMyh0aGUgZW4pMTA4IDEwOCBSIC41MTMKLSh2aXJvbm1lbnQgaXMgbW9kaVwyMTRlZCwgdGhlIG5lKS0uNCBGIDMuMDEzKHd2KS0uMjUgRyAuNTEzCi0oYWx1ZSBiZWNvbWVzIHBhcnQgb2YgdGhlIGVuKS0zLjI2MyBGIC41MTMKLSh2aXJvbm1lbnQsIHJlcGxhY2luZyB0aGUgb2xkLiktLjQgRiAuNTE0KFRoZSBlbik1LjUxNCBGKHZpLSktLjQgRSAuNTIzCi0ocm9ubWVudCBpbmhlcml0ZWQgYnkgYW4pMTA4IDEyMCBSIDMuMDIyKHllKS0uMTUgRyAtLjE1KHhlKS0zLjE3MiBHIC41MjIKLShjdXRlZCBjb21tYW5kIGNvbnNpc3RzIG9mIHRoZSBzaGVsbCcpLjE1IEYgMy4wMjIoc2kpLS41NSBHIC41MjIKLShuaXRpYWwgZW4pLTMuMDIyIEYgLjUyMih2aXJvbm1lbnQsIHdob3NlIHYpLS40IEYgLjUyMihhbHVlcyBtYXkpLS4yNSBGCi0uNTc4KGJlIG1vZGlcMjE0ZWQgaW4gdGhlIHNoZWxsLCBsZXNzIGFuKTEwOCAxMzIgUiAzLjA3OCh5cCktLjE1IEcgLjU3OAotKGFpcnMgcmVtbyktMy4wNzggRiAtLjE1KHZlKS0uMTUgRyAzLjA3OChkYikuMTUgRyAzLjA3OCh5dCktMy4wNzggRyhoZSkKLS0zLjA3OCBFIEYxKHVuc2V0KTMuMDc4IEUgRjAgLjU3OShjb21tYW5kLCBwbHVzIGFuKTMuMDc4IEYgMy4wNzkoeWEpLS4xNQotRyAuNTc5KGRkaXRpb25zIHZpYSB0aGUpLTMuMDc5IEYgRjEoZXhwb3J0KTMuMDc5IEUgRjAoYW5kKTEwOCAxNDQgUSBGMQotKGRlY2xhcikyLjUgRSAyLjU8NjVhZD4tLjE4IEcoeCktMi41IEUgRjAoY29tbWFuZHMuKTIuNSBFIC41NjMoVGhlIGVuKQotMTA4IDE2MC44IFIgLjU2Myh2aXJvbm1lbnQgZm9yIGFuKS0uNCBGKHkpLS4xNSBFL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCi0uNTYzKHNpbXBsZSBjb21tYW5kKTMuNDAzIEYgRjAgLjU2MgorLS4zNSBFIDMyLjU8ODM3ND4xMDggODQgUyhoZSBcMjE0bGUgY3JlYXRpb24gbW9kZSBtYXNrIGFzIHNldCBieSktMzIuNSBFCisvRjEgMTAvVGltZXMtQm9sZEAwIFNGKHVtYXNrKTIuNSBFIEYwKG9yIGluaGVyaXRlZCBmcm9tIHRoZSBzaGVsbCcpMi41IEUKKzIuNShzcCktLjU1IEcoYXJlbnQpLTIuNSBFIDMyLjU8ODM2Mz4xMDggMTAwLjggUyh1cnJlbnQgdHJhcHMgc2V0IGJ5KQorLTMyLjUgRSBGMSh0cmFwKTIuNSBFIEYwIDMyLjU8ODM3Mz4xMDggMTE3LjYgUyAuMjU2CisoaGVsbCBwYXJhbWV0ZXJzIHRoYXQgYXJlIHNldCBieSB2KS0zMi41IEYgLjI1NgorKGFyaWFibGUgYXNzaWdubWVudCBvciB3aXRoKS0uMjUgRiBGMShzZXQpMi43NTYgRSBGMCAuMjU3Cisob3IgaW5oZXJpdGVkIGZyb20gdGhlIHNoZWxsJykyLjc1NiBGIDIuNzU3KHNwKS0uNTUgRyhhcmVudCktMi43NTcgRQorKGluIHRoZSBlbikxNDQgMTI5LjYgUSh2aXJvbm1lbnQpLS40IEUgMzIuNTw4MzczPjEwOCAxNDYuNCBTCisoaGVsbCBmdW5jdGlvbnMgZGVcMjE0bmVkIGR1cmluZyBlKS0zMi41IEUgLS4xNSh4ZSktLjE1IEcKKyhjdXRpb24gb3IgaW5oZXJpdGVkIGZyb20gdGhlIHNoZWxsJykuMTUgRSAyLjUoc3ApLS41NSBHCisoYXJlbnQgaW4gdGhlIGVuKS0yLjUgRSh2aXJvbm1lbnQpLS40IEUgMzIuNTw4MzZmPjEwOCAxNjMuMiBTCisocHRpb25zIGVuYWJsZWQgYXQgaW4pLTMyLjUgRSAtLjIodm8pLS40IEcoY2F0aW9uIFwoZWl0aGVyIGJ5IGRlZikuMiBFCisoYXVsdCBvciB3aXRoIGNvbW1hbmQtbGluZSBhciktLjEgRShndW1lbnRzXCkgb3IgYnkpLS4xOCBFIEYxKHNldCkyLjUgRQorRjAgMzIuNTw4MzZmPjEwOCAxODAgUyhwdGlvbnMgZW5hYmxlZCBieSktMzIuNSBFIEYxKHNob3B0KTIuNSBFIEYwIDMyLjUKKzw4MzczPjEwOCAxOTYuOCBTKGhlbGwgYWxpYXNlcyBkZVwyMTRuZWQgd2l0aCktMzIuNSBFIEYxKGFsaWFzKTIuNSBFIEYwCiszMi41PDgzNzY+MTA4IDIxMy42IFMKKyhhcmlvdXMgcHJvY2VzcyBJRHMsIGluY2x1ZGluZyB0aG9zZSBvZiBiYWNrZ3JvdW5kIGpvYnMsIHRoZSB2KS0zMi43NSBFCisoYWx1ZSBvZiktLjI1IEUgRjEoJCQpMi41IEUgRjAgMi41KCxhKUMobmQgdGhlIHYpLTIuNSBFKGFsdWUgb2YpLS4yNSBFCisvRjIgOS9UaW1lcy1Cb2xkQDAgU0YoUFBJRCkyLjUgRSBGMCAuNDI3CisoV2hlbiBhIHNpbXBsZSBjb21tYW5kIG90aGVyIHRoYW4gYSBiKTEwOCAyMzAuNCBSIC40MjYKKyh1aWx0aW4gb3Igc2hlbGwgZnVuY3Rpb24gaXMgdG8gYmUgZSktLjIgRiAtLjE1KHhlKS0uMTUgRyAuNDI2CisoY3V0ZWQsIGl0IGlzIGluKS4xNSBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjkyNihkaSkuMSBHIDIuOTI2KG5hcykKKy0yLjkyNiBHKGVwYXJhdGUpLTIuOTI2IEUgLS4xNShleGUpMTA4IDI0Mi40IFMgLjEzMyhjdXRpb24gZW4pLjE1IEYgLjEzMworKHZpcm9ubWVudCB0aGF0IGNvbnNpc3RzIG9mIHRoZSBmb2xsbyktLjQgRiAyLjYzNCh3aW5nLiBVbmxlc3MpLS4yNSBGCisuMTM0KG90aGVyd2lzZSBub3RlZCwgdGhlIHYpMi42MzQgRiAuMTM0KGFsdWVzIGFyZSBpbmhlcml0ZWQgZnJvbSktLjI1IEYKKyh0aGUgc2hlbGwuKTEwOCAyNTQuNCBRIDMyLjU8ODM3ND4xMDggMjcxLjIgUyAxLjA1NihoZSBzaGVsbCcpLTMyLjUgRgorMy41NTYoc28pLS41NSBHIDEuMDU2KHBlbiBcMjE0bGVzLCBwbHVzIGFuKS0zLjU1NiBGIDMuNTU2KHltKS0uMTUgRworMS4wNTYKKyhvZGlcMjE0Y2F0aW9ucyBhbmQgYWRkaXRpb25zIHNwZWNpXDIxNGVkIGJ5IHJlZGlyZWN0aW9ucyB0byB0aGUgY29tLSkKKy0zLjU1NiBGKG1hbmQpMTQ0IDI4My4yIFEgMzIuNTw4Mzc0PjEwOCAzMDAgUyhoZSBjdXJyZW50IHcpLTMyLjUgRQorKG9ya2luZyBkaXJlY3RvcnkpLS4xIEUgMzIuNTw4Mzc0PjEwOCAzMTYuOCBTCisoaGUgXDIxNGxlIGNyZWF0aW9uIG1vZGUgbWFzayktMzIuNSBFIDMyLjU8ODM3Mz4xMDggMzMzLjYgUyAuODU2KGhlbGwgdikKKy0zMi41IEYgLjg1NyhhcmlhYmxlcyBhbmQgZnVuY3Rpb25zIG1hcmspLS4yNSBGIC44NTcoZWQgZm9yIGUpLS4xIEYgLjg1NworKHhwb3J0LCBhbG9uZyB3aXRoIHYpLS4xNSBGIC44NTcoYXJpYWJsZXMgZSktLjI1IEYgLjg1NworKHhwb3J0ZWQgZm9yIHRoZSBjb21tYW5kLCktLjE1IEYocGFzc2VkIGluIHRoZSBlbikxNDQgMzQ1LjYgUSh2aXJvbm1lbnQpCistLjQgRSAzMi41PDgzNzQ+MTA4IDM2Mi40IFMgLjMwNworKHJhcHMgY2F1Z2h0IGJ5IHRoZSBzaGVsbCBhcmUgcmVzZXQgdG8gdGhlIHYpLTMyLjUgRiAuMzA2CisoYWx1ZXMgaW5oZXJpdGVkIGZyb20gdGhlIHNoZWxsJyktLjI1IEYgMi44MDYoc3ApLS41NSBHIC4zMDYKKyhhcmVudCwgYW5kIHRyYXBzIGlnbm9yZWQpLTIuODA2IEYoYnkgdGhlIHNoZWxsIGFyZSBpZ25vcmVkKTE0NCAzNzQuNCBRCisyLjUoQWMpMTA4IDM5MS4yIFMob21tYW5kIGluKS0yLjUgRSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi41KGRpKS4xIEcKKzIuNShudCktMi41IEcoaGlzIHNlcGFyYXRlIGVuKS0yLjUgRSh2aXJvbm1lbnQgY2Fubm90IGFmKS0uNCBFCisoZmVjdCB0aGUgc2hlbGwnKS0uMjUgRSAyLjUoc2UpLS41NSBHIC0uMTUoeGUpLTIuNjUgRyhjdXRpb24gZW4pLjE1IEUKKyh2aXJvbm1lbnQuKS0uNCBFIC41NzcoQ29tbWFuZCBzdWJzdGl0dXRpb24sIGNvbW1hbmRzIGdyb3VwZWQgd2l0aCBwYXJlXAorbnRoZXNlcywgYW5kIGFzeW5jaHJvbm91cyBjb21tYW5kcyBhcmUgaW4pMTA4IDQwOCBSIC0uMih2byktLjQgRyAtLjEoa2UpCisuMiBHIDMuMDc4KGRpKS4xIEcobiktMy4wNzggRSAyLjc0NShhcykxMDggNDIwIFMgLjI0NSh1YnNoZWxsIGVuKS0yLjc0NQorRiAuMjQ1KHZpcm9ubWVudCB0aGF0IGlzIGEgZHVwbGljYXRlIG9mIHRoZSBzaGVsbCBlbiktLjQgRiAuMjQ0Cisodmlyb25tZW50LCBlKS0uNCBGIC4yNDQoeGNlcHQgdGhhdCB0cmFwcyBjYXVnaHQgYnkgdGhlIHNoZWxsIGFyZSktLjE1IEYKKy4zNTgocmVzZXQgdG8gdGhlIHYpMTA4IDQzMiBSIC4zNTgKKyhhbHVlcyB0aGF0IHRoZSBzaGVsbCBpbmhlcml0ZWQgZnJvbSBpdHMgcGFyZW50IGF0IGluKS0uMjUgRiAtLjIodm8pLS40CitHIDIuODU4KGNhdGlvbi4gQnVpbHRpbikuMiBGIC4zNTkoY29tbWFuZHMgdGhhdCBhcmUgaW4pMi44NTkgRiAtLjIodm8pCistLjQgRyAtLjEoa2UpLjIgRyhkKS4xIEUgLjg1NyhhcyBwYXJ0IG9mIGEgcGlwZWxpbmUgYXJlIGFsc28gZSkxMDggNDQ0IFIKKy0uMTUoeGUpLS4xNSBHIC44NTYoY3V0ZWQgaW4gYSBzdWJzaGVsbCBlbikuMTUgRiAzLjM1NgorKHZpcm9ubWVudC4gQ2hhbmdlcyktLjQgRiAuODU2KG1hZGUgdG8gdGhlIHN1YnNoZWxsIGVuKTMuMzU2IEYodmlyb24tKQorLS40IEUobWVudCBjYW5ub3QgYWYpMTA4IDQ1NiBRKGZlY3QgdGhlIHNoZWxsJyktLjI1IEUgMi41KHNlKS0uNTUgRyAtLjE1CisoeGUpLTIuNjUgRyhjdXRpb24gZW4pLjE1IEUodmlyb25tZW50LiktLjQgRSAxLjM3NihTdWJzaGVsbHMgc3BhKTEwOAorNDcyLjggUiAxLjM3Nih3bmVkIHRvIGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHIDEuMzc3CisoY3V0ZSBjb21tYW5kIHN1YnN0aXR1dGlvbnMgaW5oZXJpdCB0aGUgdikuMTUgRiAxLjM3NyhhbHVlIG9mIHRoZSktLjI1IEYKK0YxPGFkNjU+My44NzcgRSBGMCAxLjM3NyhvcHRpb24gZnJvbSB0aGUgcGFyZW50KTMuODc3IEYgMi41KHNoZWxsLiBXaGVuKQorMTA4IDQ4NC44IFIobm90IGluKTIuNSBFL0YzIDEwL1RpbWVzLUl0YWxpY0AwIFNGKHBvc2l4KTIuNSBFIEYwKG1vZGUsKQorMi41IEUgRjEoYmFzaCkyLjUgRSBGMChjbGVhcnMgdGhlKTIuNSBFIEYxPGFkNjU+Mi41IEUgRjAKKyhvcHRpb24gaW4gc3VjaCBzdWJzaGVsbHMuKTIuNSBFIC40MDUoSWYgYSBjb21tYW5kIGlzIGZvbGxvKTEwOCA1MDEuNiBSCisuNDA1KHdlZCBieSBhKS0uMjUgRiBGMSgmKTIuOTA1IEUgRjAgLjQwNChhbmQgam9iIGNvbnRyb2wgaXMgbm90IGFjdGkpCisyLjkwNSBGIC0uMTUodmUpLS4yNSBHIDIuOTA0KCx0KS4xNSBHIC40MDQoaGUgZGVmKS0yLjkwNCBGIC40MDQKKyhhdWx0IHN0YW5kYXJkIGlucHV0IGZvciB0aGUgY29tbWFuZCktLjEgRiAuMTk3KGlzIHRoZSBlbXB0eSBcMjE0bGUpMTA4Cis1MTMuNiBSIEYzKC9kZSkyLjY5NyBFKHYvbnVsbCktLjE1IEUgRjAgNS4xOTcoLk8pQyAuMTk3CisodGhlcndpc2UsIHRoZSBpbiktNS4xOTcgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi42OTcoZGMpLjEgRyAuMTk4Cisob21tYW5kIGluaGVyaXRzIHRoZSBcMjE0bGUgZGVzY3JpcHRvcnMgb2YgdGhlIGNhbGxpbmcgc2hlbGwpLTIuNjk3IEYKKyhhcyBtb2RpXDIxNGVkIGJ5IHJlZGlyZWN0aW9ucy4pMTA4IDUyNS42IFEvRjQgMTAuOTUvVGltZXMtQm9sZEAwIFNGCisoRU5WSVIpNzIgNTQyLjQgUShPTk1FTlQpLS4zMjkgRSBGMCAyLjM1NChXaGVuIGEgcHJvZ3JhbSBpcyBpbikxMDggNTU0LjQKK1IgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDQuODUzKGRpKS4xIEcgNC44NTModGkpLTQuODUzIEcgNC44NTMoc2cpCistNC44NTMgRyAtMi4xNSAtLjI1KGl2IGUpLTQuODUzIEggNC44NTMobmEpLjI1IEcgNC44NTMobmEpLTQuODUzIEcgMi4zNTMKKyhycmF5IG9mIHN0cmluZ3MgY2FsbGVkIHRoZSktNC44NTMgRiBGMyhlbik0Ljg1MyBFKHZpciktLjQgRShvbm1lbnQpLS40NQorRSBGMCA3LjM1MyguVCkuNjggRyAyLjM1MyhoaXMgaXMgYSBsaXN0IG9mKS03LjM1MyBGIEYzKG5hbWUpMTA4IDU2Ni40IFEKK0YwPGFkPkEgRjModmFsdWUpQSBGMChwYWlycywgb2YgdGhlIGZvcm0pMi41IEUgRjMobmFtZSkyLjUgRSBGMCg9KUEgRjMKKyh2YWx1ZSlBIEYwKC4pLjE4IEUgMS40ODUoVGhlIHNoZWxsIHBybykxMDggNTgzLjIgUiAxLjQ4NSh2aWRlcyBzZSktLjE1CitGIC0uMTUodmUpLS4yNSBHIDEuNDg1KHJhbCB3KS4xNSBGIDEuNDg1KGF5cyB0byBtYW5pcHVsYXRlIHRoZSBlbiktLjEgRgorMy45ODUodmlyb25tZW50LiBPbiktLjQgRihpbikzLjk4NSBFIC0uMih2byktLjQgRyAxLjQ4NgorKGNhdGlvbiwgdGhlIHNoZWxsIHNjYW5zIGl0cyBvKS4yIEYod24pLS4yNSBFKGVuKTEwOCA1OTUuMiBRIC4xNDQodmlyb25cCittZW50IGFuZCBjcmVhdGVzIGEgcGFyYW1ldGVyIGZvciBlYWNoIG5hbWUgZm91bmQsIGF1dG9tYXRpY2FsbHkgbWFya2luZ1wKKyBpdCBmb3IpLS40IEYgRjMgLS4yKGV4KTIuNjQzIEcocG9ydCkuMiBFIEYwIC4xNDModG8gY2hpbGQgcHJvLSkzLjMyMyBGCisyLjcwMyhjZXNzZXMuIEV4KTEwOCA2MDcuMiBSIC4yMDMoZWN1dGVkIGNvbW1hbmRzIGluaGVyaXQgdGhlIGVuKS0uMTUgRgorMi43MDModmlyb25tZW50LiBUaGUpLS40IEYgRjEoZXhwb3J0KTIuNzAzIEUgRjAoYW5kKTIuNzAzIEUgRjEoZGVjbGFyKQorMi43MDMgRSAyLjcwMzw2NWFkPi0uMTggRyh4KS0yLjcwMyBFIEYwIC4yMDMoY29tbWFuZHMgYWxsbykyLjcwMyBGIDIuNzA0Cisod3ApLS4yNSBHKGFyYW0tKS0yLjcwNCBFIDEuMTUzCisoZXRlcnMgYW5kIGZ1bmN0aW9ucyB0byBiZSBhZGRlZCB0byBhbmQgZGVsZXRlZCBmcm9tIHRoZSBlbikxMDggNjE5LjIgUgorMy42NTModmlyb25tZW50LiBJZiktLjQgRiAxLjE1Myh0aGUgdikzLjY1MyBGIDEuMTUzCisoYWx1ZSBvZiBhIHBhcmFtZXRlciBpbiB0aGUpLS4yNSBGKGVuKTEwOCA2MzEuMiBRIC42NAorKHZpcm9ubWVudCBpcyBtb2RpXDIxNGVkLCB0aGUgbmUpLS40IEYgMy4xNCh3diktLjI1IEcgLjY0CisoYWx1ZSBiZWNvbWVzIHBhcnQgb2YgdGhlIGVuKS0zLjM5IEYgLjY0KHZpcm9ubWVudCwgcmVwbGFjaW5nIHRoZSBvbGQuKQorLS40IEYgLjY0KFRoZSBlbik1LjY0IEYodmlyb24tKS0uNCBFIC41OChtZW50IGluaGVyaXRlZCBieSBhbikxMDggNjQzLjIKK1IgMy4wOCh5ZSktLjE1IEcgLS4xNSh4ZSktMy4yMyBHIC41OAorKGN1dGVkIGNvbW1hbmQgY29uc2lzdHMgb2YgdGhlIHNoZWxsJykuMTUgRiAzLjA4KHNpKS0uNTUgRyAuNTgKKyhuaXRpYWwgZW4pLTMuMDggRiAuNTgodmlyb25tZW50LCB3aG9zZSB2KS0uNCBGIC41OChhbHVlcyBtYXkgYmUpLS4yNSBGCisuMyhtb2RpXDIxNGVkIGluIHRoZSBzaGVsbCwgbGVzcyBhbikxMDggNjU1LjIgUiAyLjgoeXApLS4xNSBHIC4zCisoYWlycyByZW1vKS0yLjggRiAtLjE1KHZlKS0uMTUgRyAyLjgoZGIpLjE1IEcgMi44MDEoeXQpLTIuOCBHKGhlKS0yLjgwMQorRSBGMSh1bnNldCkyLjgwMSBFIEYwIC4zMDEoY29tbWFuZCwgcGx1cyBhbikyLjgwMSBGIDIuODAxKHlhKS0uMTUgRyAuMzAxCisoZGRpdGlvbnMgdmlhIHRoZSktMi44MDEgRiBGMShleHBvcnQpMi44MDEgRSBGMChhbmQpMi44MDEgRSBGMShkZWNsYXIpCisxMDggNjY3LjIgUSAyLjU8NjVhZD4tLjE4IEcoeCktMi41IEUgRjAoY29tbWFuZHMuKTIuNSBFIC41NjMoVGhlIGVuKTEwOAorNjg0IFIgLjU2Myh2aXJvbm1lbnQgZm9yIGFuKS0uNCBGKHkpLS4xNSBFIEYzIC41NjMoc2ltcGxlIGNvbW1hbmQpMy40MDMKK0YgRjAgLjU2MgogKG9yIGZ1bmN0aW9uIG1heSBiZSBhdWdtZW50ZWQgdGVtcG9yYXJpbHkgYnkgcHJlXDIxNHhpbmcgaXQgd2l0aCkzLjgzMyBGCi0uMjAyKHBhcmFtZXRlciBhc3NpZ25tZW50cywgYXMgZGVzY3JpYmVkIGFibykxMDggMTcyLjggUiAuNTAyIC0uMTUodmUgaSkKLS0uMTUgSChuKS4xNSBFL0YzIDkvVGltZXMtQm9sZEAwIFNGIC0uNjY2KFBBKTIuNzAyIEcoUkFNRVRFUlMpLjY2NiBFL0Y0Ci05L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC4yMDIoVGhlc2UgYXNzaWdubWVudCBzdGF0ZW1lbnRzIGFmKTQuNzAyIEYKLS4yMDMoZmVjdCBvbmx5IHRoZSktLjI1IEYoZW4pMTA4IDE4NC44IFEKLSh2aXJvbm1lbnQgc2VlbiBieSB0aGF0IGNvbW1hbmQuKS0uNCBFIC44MShJZiB0aGUpMTA4IDIwMS42IFIgRjE8YWQ2Yj4KLTMuMzEgRSBGMCAuODEob3B0aW9uIGlzIHNldCBcKHNlZSB0aGUpMy4zMSBGIEYxKHNldCkzLjMxIEUgRjAgLS4yKGJ1KQotMy4zMSBHIC44MShpbHRpbiBjb21tYW5kIGJlbG8pLjIgRiAuODEod1wpLCB0aGVuKS0uMjUgRiBGMihhbGwpMy42NCBFIEYwCi0uODEocGFyYW1ldGVyIGFzc2lnbm1lbnRzIGFyZSBwbGFjZWQgaW4pMy44MiBGKHRoZSBlbikxMDggMjEzLjYgUQotKHZpcm9ubWVudCBmb3IgYSBjb21tYW5kLCBub3QganVzdCB0aG9zZSB0aGF0IHByZWNlZGUgdGhlIGNvbW1hbmQgbmFtZS4pCi0tLjQgRShXaGVuKTEwOCAyMzAuNCBRIEYxKGJhc2gpMy4zOTYgRSBGMChpbikzLjM5NiBFIC0uMih2byktLjQgRyAtLjEKLShrZSkuMiBHIDMuMzk2KHNhKS4xIEcgMy4zOTcobmUpLTMuMzk2IEcgLjg5Nyh4dGVybmFsIGNvbW1hbmQsIHRoZSB2KQotLTMuNTQ3IEYoYXJpYWJsZSktLjI1IEUgRjEoXykzLjM5NyBFIEYwIC44OTcKLShpcyBzZXQgdG8gdGhlIGZ1bGwgXDIxNGxlIG5hbWUgb2YgdGhlIGNvbW1hbmQgYW5kKTMuMzk3IEYKLShwYXNzZWQgdG8gdGhhdCBjb21tYW5kIGluIGl0cyBlbikxMDggMjQyLjQgUSh2aXJvbm1lbnQuKS0uNCBFL0Y1IDEwLjk1Ci0vVGltZXMtQm9sZEAwIFNGKEVYSVQgU1QpNzIgMjU5LjIgUSAtMS4wNChBVCktLjk4NiBHKFVTKTEuMDQgRSBGMCAuMTUxCi0oVGhlIGUpMTA4IDI3MS4yIFIgLjE1MSh4aXQgc3RhdHVzIG9mIGFuIGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHIC4xNTEKLShjdXRlZCBjb21tYW5kIGlzIHRoZSB2KS4xNSBGIC4xNShhbHVlIHJldHVybmVkIGJ5IHRoZSktLjI1IEYgRjIKLSh3YWl0cGlkKTIuNjUgRSBGMCAuMTUoc3lzdGVtIGNhbGwgb3IgZXF1aSkyLjY1IEYgLS4yNSh2YSktLjI1IEcgLjE1Ci0obGVudCBmdW5jLSkuMjUgRiAyLjg0Nyh0aW9uLiBFeGl0KTEwOCAyODMuMiBSIC4zNDcoc3RhdHVzZXMgZikyLjg0NyBGCi0uMzQ3KGFsbCBiZXR3ZWVuIDAgYW5kIDI1NSwgdGhvdWdoLCBhcyBlKS0uMSBGIC4zNDcoeHBsYWluZWQgYmVsbyktLjE1IEYKLTEuNjQ3IC0uNjUodywgdCktLjI1IEggLjM0NyhoZSBzaGVsbCBtYXkgdXNlIHYpLjY1IEYgLjM0OChhbHVlcyBhYm8pLS4yNQotRiAuNjQ4IC0uMTUodmUgMSktLjE1IEgoMjUpLjE1IEUoc3BlY2lhbGx5KTEwOCAyOTUuMiBRIDUuNjc0KC5FKS0uNjUgRwotLjY3NCh4aXQgc3RhdHVzZXMgZnJvbSBzaGVsbCBiKS01LjY3NCBGIC42NzMKLSh1aWx0aW5zIGFuZCBjb21wb3VuZCBjb21tYW5kcyBhcmUgYWxzbyBsaW1pdGVkIHRvIHRoaXMgcmFuZ2UuIFVuZGVyKS0uMgotRihjZXJ0YWluIGNpcmN1bXN0YW5jZXMsIHRoZSBzaGVsbCB3aWxsIHVzZSBzcGVjaWFsIHYpMTA4IDMwNy4yIFEKLShhbHVlcyB0byBpbmRpY2F0ZSBzcGVjaVwyMTRjIGYpLS4yNSBFKGFpbHVyZSBtb2Rlcy4pLS4xIEUgLS4xNShGbykxMDgKLTMyNCBTIDMuMzcyKHJ0KS4xNSBHIC44NzIoaGUgc2hlbGwnKS0zLjM3MiBGIDMuMzcyKHNwKS0uNTUgRyAuODczCi0odXJwb3NlcywgYSBjb21tYW5kIHdoaWNoIGUpLTMuMzcyIEYgLjg3Myh4aXRzIHdpdGggYSB6ZXJvIGUpLS4xNSBGIC44NzMKLSh4aXQgc3RhdHVzIGhhcyBzdWNjZWVkZWQuKS0uMTUgRiAuODczKEFuIGUpNS44NzMgRiAuODczKHhpdCBzdGF0dXMgb2YpCi0tLjE1IEYgLjA0OSh6ZXJvIGluZGljYXRlcyBzdWNjZXNzLikxMDggMzM2IFIgMi41NDkoQW4pNS4wNDkgRyAuMDQ5Ci0ob24temVybyBlKS0yLjU0OSBGIC4wNDkoeGl0IHN0YXR1cyBpbmRpY2F0ZXMgZiktLjE1IEYgMi41NDkKLShhaWx1cmUuIFdoZW4pLS4xIEYgMi41NDkoYWMpMi41NDkgRyAuMDQ4KG9tbWFuZCB0ZXJtaW5hdGVzIG9uIGEgZikKLS0yLjU0OSBGIC4wNDgoYXRhbCBzaWctKS0uMSBGKG5hbCkxMDggMzQ4IFEgRjIoTikyLjUgRSBGMCgsKUEgRjEoYmFzaCkKLTIuNSBFIEYwKHVzZXMgdGhlIHYpMi41IEUoYWx1ZSBvZiAxMjgrKS0uMjUgRSBGMihOKUEgRjAoYXMgdGhlIGUpMi41IEUKLSh4aXQgc3RhdHVzLiktLjE1IEUgLjQwNAotKElmIGEgY29tbWFuZCBpcyBub3QgZm91bmQsIHRoZSBjaGlsZCBwcm9jZXNzIGNyZWF0ZWQgdG8gZSkxMDggMzY0LjggUgotLS4xNSh4ZSktLjE1IEcgLjQwNChjdXRlIGl0IHJldHVybnMgYSBzdGF0dXMgb2YgMTI3LikuMTUgRiAuNDA1Ci0oSWYgYSBjb21tYW5kIGlzKTUuNDA1IEYoZm91bmQgYikxMDggMzc2LjggUSh1dCBpcyBub3QgZSktLjIgRSAtLjE1KHhlKQotLS4xNSBHKGN1dGFibGUsIHRoZSByZXR1cm4gc3RhdHVzIGlzIDEyNi4pLjE1IEUoSWYgYSBjb21tYW5kIGYpMTA4IDM5My42Ci1RKGFpbHMgYmVjYXVzZSBvZiBhbiBlcnJvciBkdXJpbmcgZSktLjEgRQotKHhwYW5zaW9uIG9yIHJlZGlyZWN0aW9uLCB0aGUgZSktLjE1IEUoeGl0IHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gemVyby4pCi0tLjE1IEUgLjA4MShTaGVsbCBiKTEwOCA0MTAuNCBSIC4wODEKLSh1aWx0aW4gY29tbWFuZHMgcmV0dXJuIGEgc3RhdHVzIG9mIDAgXCgpLS4yIEYgRjIodHJ1ZSlBIEYwIDIuNTgxKFwpaSlDCi0yLjU4MShmcyktMi41ODEgRyAuMDgodWNjZXNzZnVsLCBhbmQgbm9uLXplcm8gXCgpLTIuNTgxIEYgRjIoZmFsc2UpQSBGMAotMi41OChcKWkpQyAyLjU4KGZhKS0yLjU4IEcgMi41OChuZSktMi41OCBHIC4wOChycm9yIG9jY3VycyB3aGlsZSktMi41OCBGCi0odGhlKTEwOCA0MjIuNCBRIDIuNSh5ZSktLjE1IEcgLS4xNSh4ZSktMi42NSBHIDIuNShjdXRlLiBBbGwpLjE1IEYgLS4yCi0oYnUpMi41IEcoaWx0aW5zIHJldHVybiBhbiBlKS4yIEUKLSh4aXQgc3RhdHVzIG9mIDIgdG8gaW5kaWNhdGUgaW5jb3JyZWN0IHVzYWdlLiktLjE1IEUgRjEoQmFzaCkxMDggNDM5LjIgUQotRjAgLjIwMShpdHNlbGYgcmV0dXJucyB0aGUgZSkyLjcwMSBGIC4yMDIKLSh4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcgLjIwMgotKGN1dGVkLCB1bmxlc3MgYSBzeW50YXggZXJyb3Igb2NjdXJzLCBpbiB3aGljaCBjYXNlKS4xNSBGKGl0IGUpMTA4IDQ1MS4yCi1RKHhpdHMgd2l0aCBhIG5vbi16ZXJvIHYpLS4xNSBFIDIuNShhbHVlLiBTZWUpLS4yNSBGKGFsc28gdGhlKTIuNSBFIEYxCi0oZXhpdCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4gY29tbWFuZCBiZWxvKS4yIEUgLS42NSh3LiktLjI1IEcgRjUKLShTSUdOKTcyIDQ2OCBRKEFMUyktLjIxOSBFIEYwKFdoZW4pMTA4IDQ4MCBRIEYxKGJhc2gpMy4xODMgRSBGMCAuNjgzCi0oaXMgaW50ZXJhY3RpKTMuMTgzIEYgLS4xNSh2ZSktLjI1IEcgMy4xODMoLGkpLjE1IEcgMy4xODMobnQpLTMuMTgzIEcKLS42ODMoaGUgYWJzZW5jZSBvZiBhbiktMy4xODMgRiAzLjE4Myh5dCktLjE1IEcgLjY4MyhyYXBzLCBpdCBpZ25vcmVzKQotLTMuMTgzIEYgRjMoU0lHVEVSTSkzLjE4MyBFIEYwIC42ODIoXChzbyB0aGF0KTIuOTMzIEYgRjEgLjY4MihraWxsIDApCi0zLjE4MiBGIEYwIC42ODIoZG9lcyBub3Qga2lsbCBhbikzLjE4MiBGKGludGVyYWN0aSkxMDggNDkyIFEgLjc1NyAtLjE1Ci0odmUgcyktLjI1IEggLjQ1NyhoZWxsXCksIGFuZCkuMTUgRiBGMyhTSUdJTlQpMi45NTcgRSBGMCAuNDU4Ci0oaXMgY2F1Z2h0IGFuZCBoYW5kbGVkIFwoc28gdGhhdCB0aGUpMi43MDcgRiBGMSh3YWl0KTIuOTU4IEUgRjAgLS4yKGJ1KQotMi45NTggRyAuNDU4KGlsdGluIGlzIGludGVycnVwdGlibGVcKS4pLjIgRiAuNDU4KEluIGFsbCBjYXNlcywpNS40NTggRgotRjEoYmFzaCkxMDggNTA0IFEgRjAoaWdub3JlcykyLjUgRSBGMyhTSUdRKTIuNSBFKFVJVCktLjA5IEUgRjQoLilBIEYwCi0oSWYgam9iIGNvbnRyb2wgaXMgaW4gZWYpNC41IEUoZmVjdCwpLS4yNSBFIEYxKGJhc2gpMi41IEUgRjAoaWdub3JlcykyLjUKLUUgRjMoU0lHVFRJTikyLjUgRSBGNCgsKUEgRjMoU0lHVFQpMi4yNSBFKE9VKS0uMTYyIEUgRjQoLClBIEYwKGFuZCkyLjI1Ci1FIEYzKFNJR1RTVFApMi41IEUgRjQoLilBIEYwKE5vbi1iKTEwOCA1MjAuOCBRIDEuMDY1Ci0odWlsdGluIGNvbW1hbmRzIHJ1biBieSktLjIgRiBGMShiYXNoKTMuNTY1IEUgRjAoaGEpMy41NjUgRSAxLjM2NSAtLjE1Ci0odmUgcyktLjIgSCAxLjA2NShpZ25hbCBoYW5kbGVycyBzZXQgdG8gdGhlIHYpLjE1IEYgMS4wNjQKLShhbHVlcyBpbmhlcml0ZWQgYnkgdGhlIHNoZWxsIGZyb20gaXRzKS0uMjUgRiAzLjI0NyhwYXJlbnQuIFdoZW4pMTA4Ci01MzIuOCBSIC43NDcoam9iIGNvbnRyb2wgaXMgbm90IGluIGVmKTMuMjQ3IEYgLjc0NwotKGZlY3QsIGFzeW5jaHJvbm91cyBjb21tYW5kcyBpZ25vcmUpLS4yNSBGIEYzKFNJR0lOVCkzLjI0OCBFIEYwKGFuZCkKLTIuOTk4IEUgRjMoU0lHUSkzLjI0OCBFKFVJVCktLjA5IEUgRjAgLjc0OChpbiBhZGRpLSkyLjk5OCBGIC42NTMKLSh0aW9uIHRvIHRoZXNlIGluaGVyaXRlZCBoYW5kbGVycy4pMTA4IDU0NC44IFIgLjY1MwotKENvbW1hbmRzIHJ1biBhcyBhIHJlc3VsdCBvZiBjb21tYW5kIHN1YnN0aXR1dGlvbiBpZ25vcmUgdGhlIGspNS42NTMgRgotLS4xNShleSktLjEgRyhib2FyZC0pLjE1IEUoZ2VuZXJhdGVkIGpvYiBjb250cm9sIHNpZ25hbHMpMTA4IDU1Ni44IFEgRjMKLShTSUdUVElOKTIuNSBFIEY0KCwpQSBGMyhTSUdUVCkyLjI1IEUoT1UpLS4xNjIgRSBGNCgsKUEgRjAoYW5kKTIuMjUgRSBGMwotKFNJR1RTVFApMi41IEUgRjQoLilBIEYwIDIuMDQ1KFRoZSBzaGVsbCBlKTEwOCA1NzMuNiBSIDIuMDQ1Ci0oeGl0cyBieSBkZWYpLS4xNSBGIDIuMDQ1KGF1bHQgdXBvbiByZWNlaXB0IG9mIGEpLS4xIEYgRjMoU0lHSFVQKTQuNTQ1IEUKLUY0KC4pQSBGMCAyLjA0NShCZWZvcmUgZSk2LjU0NSBGIDIuMDQ1KHhpdGluZywgYW4gaW50ZXJhY3RpKS0uMTUgRiAyLjM0NgotLS4xNSh2ZSBzKS0uMjUgSCAyLjA0NihoZWxsIHJlc2VuZHMgdGhlKS4xNSBGIEYzKFNJR0hVUCkxMDggNTg1LjYgUSBGMAotMS4wMDUodG8gYWxsIGpvYnMsIHJ1bm5pbmcgb3Igc3RvcHBlZC4pMy4yNTUgRiAxLjAwNAotKFN0b3BwZWQgam9icyBhcmUgc2VudCk2LjAwNSBGIEYzKFNJR0NPTlQpMy41MDQgRSBGMCAxLjAwNAotKHRvIGVuc3VyZSB0aGF0IHRoZSkzLjI1NCBGIDMuNTA0KHlyKS0uMTUgRyhlY2VpKS0zLjUwNCBFIDEuMzA0IC0uMTUKLSh2ZSB0KS0uMjUgSChoZSkuMTUgRSBGMyhTSUdIVVApMTA4IDU5Ny42IFEgRjQoLilBIEYwIDIuNTI5IC0uOChUbyBwKQotNS40MjkgSChyZSkuOCBFIC0uMTUodmUpLS4yNSBHIC45MyhudCB0aGUgc2hlbGwgZnJvbSBzZW5kaW5nIHRoZSBzaWduYWxcCi0gdG8gYSBwYXJ0aWN1bGFyIGpvYiwgaXQgc2hvdWxkIGJlIHJlbW8pLjE1IEYgLS4xNSh2ZSktLjE1IEcgMy40MyhkZikuMTUKLUcgLjkzKHJvbSB0aGUpLTMuNDMgRiAxLjM1Nyhqb2JzIHRhYmxlIHdpdGggdGhlKTEwOCA2MDkuNiBSIEYxKGRpc28pCi0zLjg1NyBFKHduKS0uMSBFIEYwIC0uMihidSkzLjg1NyBHIDEuMzU3KGlsdGluIFwoc2VlKS4yIEYgRjMgMS4zNTYKLShTSEVMTCBCKTMuODU2IEYoVUlMKS0uMDkgRSAxLjM1NihUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTMuNjA2IEUKLTEuMzU2KHdcKSBvciBtYXJrKS0uMjUgRiAxLjM1NihlZCB0byBub3QgcmVjZWkpLS4xIEYgLS4xNSh2ZSktLjI1IEcgRjMKLShTSUdIVVApMTA4IDYyMS42IFEgRjAodXNpbmcpMi4yNSBFIEYxKGRpc28pMi41IEUod24gXDI1NWgpLS4xIEUgRjAoLilBCi0uMTY2KElmIHRoZSkxMDggNjM4LjQgUiBGMShodXBvbmV4aXQpMi42NjYgRSBGMCAuMTY2Ci0oc2hlbGwgb3B0aW9uIGhhcyBiZWVuIHNldCB3aXRoKTIuNjY2IEYgRjEoc2hvcHQpMi42NjYgRSBGMCgsKUEgRjEoYmFzaCkKLTIuNjY2IEUgRjAgLjE2NihzZW5kcyBhKTIuNjY2IEYgRjMoU0lHSFVQKTIuNjY2IEUgRjAgLjE2NgotKHRvIGFsbCBqb2JzIHdoZW4gYW4gaW50ZXJhY3RpKTIuNDE2IEYgLS4xNSh2ZSktLjI1IEcobG9naW4gc2hlbGwgZSkxMDgKLTY1MC40IFEoeGl0cy4pLS4xNSBFKElmKTEwOCA2NjcuMiBRIEYxKGJhc2gpMy4wNDcgRSBGMCAuNTQ3KGlzIHcpMy4wNDcgRgotLjU0NihhaXRpbmcgZm9yIGEgY29tbWFuZCB0byBjb21wbGV0ZSBhbmQgcmVjZWkpLS4xIEYgLS4xNSh2ZSktLjI1IEcKLTMuMDQ2KHNhcykuMTUgRyAuNTQ2KGlnbmFsIGZvciB3aGljaCBhIHRyYXAgaGFzIGJlZW4gc2V0LCB0aGUgdHJhcCkKLS0zLjA0NiBGIC42NjIod2lsbCBub3QgYmUgZSkxMDggNjc5LjIgUiAtLjE1KHhlKS0uMTUgRyAuNjYyCi0oY3V0ZWQgdW50aWwgdGhlIGNvbW1hbmQgY29tcGxldGVzLikuMTUgRihXaGVuKTUuNjYzIEUgRjEoYmFzaCkzLjE2MyBFCi1GMCAuNjYzKGlzIHcpMy4xNjMgRiAuNjYzKGFpdGluZyBmb3IgYW4gYXN5bmNocm9ub3VzIGNvbW1hbmQpLS4xIEYgLjk5Ci0odmlhIHRoZSkxMDggNjkxLjIgUiBGMSh3YWl0KTMuNDkgRSBGMCAtLjIoYnUpMy40OSBHIC45OShpbHRpbiwgdGhlIHJlY1wKLWVwdGlvbiBvZiBhIHNpZ25hbCBmb3Igd2hpY2ggYSB0cmFwIGhhcyBiZWVuIHNldCB3aWxsIGNhdXNlIHRoZSkuMiBGIEYxCi0od2FpdCkzLjQ5IEUgRjAgLS4yKGJ1KTMuNDkgRyAuOTkoaWx0aW4gdG8pLjIgRgotKHJldHVybiBpbW1lZGlhdGVseSB3aXRoIGFuIGUpMTA4IDcwMy4yIFEKLSh4aXQgc3RhdHVzIGdyZWF0ZXIgdGhhbiAxMjgsIGltbWVkaWF0ZWx5IGFmdGVyIHdoaWNoIHRoZSB0cmFwIGlzIGUpLS4xNQotRSAtLjE1KHhlKS0uMTUgRyhjdXRlZC4pLjE1IEUoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpCi0xMzUuOTY1IEUoMzEpMTg1Ljk1NSBFIDAgQ2cgRVAKKy4yMDIocGFyYW1ldGVyIGFzc2lnbm1lbnRzLCBhcyBkZXNjcmliZWQgYWJvKTEwOCA2OTYgUiAuNTAyIC0uMTUodmUgaSkKKy0uMTUgSChuKS4xNSBFIEYyIC0uNjY2KFBBKTIuNzAyIEcoUkFNRVRFUlMpLjY2NiBFL0Y1IDkvVGltZXMtUm9tYW5AMCBTRgorKC4pQSBGMCAuMjAyKFRoZXNlIGFzc2lnbm1lbnQgc3RhdGVtZW50cyBhZik0LjcwMiBGIC4yMDMoZmVjdCBvbmx5IHRoZSkKKy0uMjUgRihlbikxMDggNzA4IFEodmlyb25tZW50IHNlZW4gYnkgdGhhdCBjb21tYW5kLiktLjQgRSAuODEoSWYgdGhlKTEwOAorNzI0LjggUiBGMTxhZDZiPjMuMzEgRSBGMCAuODEob3B0aW9uIGlzIHNldCBcKHNlZSB0aGUpMy4zMSBGIEYxKHNldCkzLjMxCitFIEYwIC0uMihidSkzLjMxIEcgLjgxKGlsdGluIGNvbW1hbmQgYmVsbykuMiBGIC44MSh3XCksIHRoZW4pLS4yNSBGIEYzCisoYWxsKTMuNjQgRSBGMCAuODEocGFyYW1ldGVyIGFzc2lnbm1lbnRzIGFyZSBwbGFjZWQgaW4pMy44MiBGCisoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDMxKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDMyIDMyCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwLjk1L1RpbWVzLUJvbGRAMCBTRihKT0IgQ09OVFIpNzIgODQgUShPTCktLjMyOSBFL0YyIDEwCi0vVGltZXMtSXRhbGljQDAgU0YgLS4yNShKbykxMDggOTYgUyA0LjU2NyhiYykuMjUgRyhvbnRyKS00LjU2NyBFKG9sKS0uNDUKLUUgRjAgMi4wNjcocmVmZXJzIHRvIHRoZSBhYmlsaXR5IHRvIHNlbGVjdGkpNS4wNzcgRiAtLjE1KHZlKS0uMjUgRyAyLjA2NwotKGx5IHN0b3AgXCgpLjE1IEYgRjIoc3VzcGVuZClBIEYwIDQuNTY3KFwpdClDIDIuMDY4KGhlIGUpLTQuNTY3IEYgLS4xNQotKHhlKS0uMTUgRyAyLjA2OChjdXRpb24gb2YgcHJvY2Vzc2VzIGFuZCBjb250aW51ZSkuMTUgRihcKCkxMDggMTA4IFEgRjIKLS0uMzcocmUpQyhzdW1lKS4zNyBFIEYwIDMuMjAyKFwpdClDIC43MDIoaGVpciBlKS0zLjIwMiBGIC0uMTUoeGUpLS4xNSBHCi0uNzAyKGN1dGlvbiBhdCBhIGxhdGVyIHBvaW50LikuMTUgRiAzLjIwMihBdSk1LjcwMiBHIC43MDIKKy0uMzUgRSh0aGUgZW4pMTA4IDg0IFEKKyh2aXJvbm1lbnQgZm9yIGEgY29tbWFuZCwgbm90IGp1c3QgdGhvc2UgdGhhdCBwcmVjZWRlIHRoZSBjb21tYW5kIG5hbWUuKQorLS40IEUoV2hlbikxMDggMTAwLjggUS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoYmFzaCkzLjM5NiBFIEYwKGluKTMuMzk2IEUKKy0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAzLjM5NihzYSkuMSBHIDMuMzk3KG5lKS0zLjM5NiBHIC44OTcKKyh4dGVybmFsIGNvbW1hbmQsIHRoZSB2KS0zLjU0NyBGKGFyaWFibGUpLS4yNSBFIEYxKF8pMy4zOTcgRSBGMCAuODk3CisoaXMgc2V0IHRvIHRoZSBmdWxsIFwyMTRsZSBuYW1lIG9mIHRoZSBjb21tYW5kIGFuZCkzLjM5NyBGCisocGFzc2VkIHRvIHRoYXQgY29tbWFuZCBpbiBpdHMgZW4pMTA4IDExMi44IFEodmlyb25tZW50LiktLjQgRS9GMiAxMC45NQorL1RpbWVzLUJvbGRAMCBTRihFWElUIFNUKTcyIDEyOS42IFEgLTEuMDQoQVQpLS45ODYgRyhVUykxLjA0IEUgRjAgLjE1MQorKFRoZSBlKTEwOCAxNDEuNiBSIC4xNTEoeGl0IHN0YXR1cyBvZiBhbiBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRyAuMTUxCisoY3V0ZWQgY29tbWFuZCBpcyB0aGUgdikuMTUgRiAuMTUoYWx1ZSByZXR1cm5lZCBieSB0aGUpLS4yNSBGL0YzIDEwCisvVGltZXMtSXRhbGljQDAgU0Yod2FpdHBpZCkyLjY1IEUgRjAgLjE1KHN5c3RlbSBjYWxsIG9yIGVxdWkpMi42NSBGIC0uMjUKKyh2YSktLjI1IEcgLjE1KGxlbnQgZnVuYy0pLjI1IEYgMi44NDcodGlvbi4gRXhpdCkxMDggMTUzLjYgUiAuMzQ3Cisoc3RhdHVzZXMgZikyLjg0NyBGIC4zNDcoYWxsIGJldHdlZW4gMCBhbmQgMjU1LCB0aG91Z2gsIGFzIGUpLS4xIEYgLjM0NworKHhwbGFpbmVkIGJlbG8pLS4xNSBGIDEuNjQ3IC0uNjUodywgdCktLjI1IEggLjM0NyhoZSBzaGVsbCBtYXkgdXNlIHYpLjY1CitGIC4zNDgoYWx1ZXMgYWJvKS0uMjUgRiAuNjQ4IC0uMTUodmUgMSktLjE1IEgoMjUpLjE1IEUoc3BlY2lhbGx5KTEwOAorMTY1LjYgUSA1LjY3NCguRSktLjY1IEcgLjY3NCh4aXQgc3RhdHVzZXMgZnJvbSBzaGVsbCBiKS01LjY3NCBGIC42NzMKKyh1aWx0aW5zIGFuZCBjb21wb3VuZCBjb21tYW5kcyBhcmUgYWxzbyBsaW1pdGVkIHRvIHRoaXMgcmFuZ2UuIFVuZGVyKS0uMgorRihjZXJ0YWluIGNpcmN1bXN0YW5jZXMsIHRoZSBzaGVsbCB3aWxsIHVzZSBzcGVjaWFsIHYpMTA4IDE3Ny42IFEKKyhhbHVlcyB0byBpbmRpY2F0ZSBzcGVjaVwyMTRjIGYpLS4yNSBFKGFpbHVyZSBtb2Rlcy4pLS4xIEUgLS4xNShGbykxMDgKKzE5NC40IFMgMy4zNzIocnQpLjE1IEcgLjg3MihoZSBzaGVsbCcpLTMuMzcyIEYgMy4zNzIoc3ApLS41NSBHIC44NzMKKyh1cnBvc2VzLCBhIGNvbW1hbmQgd2hpY2ggZSktMy4zNzIgRiAuODczKHhpdHMgd2l0aCBhIHplcm8gZSktLjE1IEYgLjg3MworKHhpdCBzdGF0dXMgaGFzIHN1Y2NlZWRlZC4pLS4xNSBGIC44NzMoQW4gZSk1Ljg3MyBGIC44NzMoeGl0IHN0YXR1cyBvZikKKy0uMTUgRiAuMDQ5KHplcm8gaW5kaWNhdGVzIHN1Y2Nlc3MuKTEwOCAyMDYuNCBSIDIuNTQ5KEFuKTUuMDQ5IEcgLjA0OQorKG9uLXplcm8gZSktMi41NDkgRiAuMDQ5KHhpdCBzdGF0dXMgaW5kaWNhdGVzIGYpLS4xNSBGIDIuNTQ5CisoYWlsdXJlLiBXaGVuKS0uMSBGIDIuNTQ5KGFjKTIuNTQ5IEcgLjA0OChvbW1hbmQgdGVybWluYXRlcyBvbiBhIGYpCistMi41NDkgRiAuMDQ4KGF0YWwgc2lnLSktLjEgRihuYWwpMTA4IDIxOC40IFEgRjMoTikyLjUgRSBGMCgsKUEgRjEoYmFzaCkKKzIuNSBFIEYwKHVzZXMgdGhlIHYpMi41IEUoYWx1ZSBvZiAxMjgrKS0uMjUgRSBGMyhOKUEgRjAoYXMgdGhlIGUpMi41IEUKKyh4aXQgc3RhdHVzLiktLjE1IEUgLjQwNAorKElmIGEgY29tbWFuZCBpcyBub3QgZm91bmQsIHRoZSBjaGlsZCBwcm9jZXNzIGNyZWF0ZWQgdG8gZSkxMDggMjM1LjIgUgorLS4xNSh4ZSktLjE1IEcgLjQwNChjdXRlIGl0IHJldHVybnMgYSBzdGF0dXMgb2YgMTI3LikuMTUgRiAuNDA1CisoSWYgYSBjb21tYW5kIGlzKTUuNDA1IEYoZm91bmQgYikxMDggMjQ3LjIgUSh1dCBpcyBub3QgZSktLjIgRSAtLjE1KHhlKQorLS4xNSBHKGN1dGFibGUsIHRoZSByZXR1cm4gc3RhdHVzIGlzIDEyNi4pLjE1IEUoSWYgYSBjb21tYW5kIGYpMTA4IDI2NCBRCisoYWlscyBiZWNhdXNlIG9mIGFuIGVycm9yIGR1cmluZyBlKS0uMSBFKHhwYW5zaW9uIG9yIHJlZGlyZWN0aW9uLCB0aGUgZSkKKy0uMTUgRSh4aXQgc3RhdHVzIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvLiktLjE1IEUgLjA4MShTaGVsbCBiKTEwOCAyODAuOCBSCisuMDgxKHVpbHRpbiBjb21tYW5kcyByZXR1cm4gYSBzdGF0dXMgb2YgMCBcKCktLjIgRiBGMyh0cnVlKUEgRjAgMi41ODEKKyhcKWkpQyAyLjU4MShmcyktMi41ODEgRyAuMDgodWNjZXNzZnVsLCBhbmQgbm9uLXplcm8gXCgpLTIuNTgxIEYgRjMKKyhmYWxzZSlBIEYwIDIuNTgoXClpKUMgMi41OChmYSktMi41OCBHIDIuNTgobmUpLTIuNTggRyAuMDgKKyhycm9yIG9jY3VycyB3aGlsZSktMi41OCBGKHRoZSkxMDggMjkyLjggUSAyLjUoeWUpLS4xNSBHIC0uMTUoeGUpLTIuNjUgRworMi41KGN1dGUuIEFsbCkuMTUgRiAtLjIoYnUpMi41IEcoaWx0aW5zIHJldHVybiBhbiBlKS4yIEUKKyh4aXQgc3RhdHVzIG9mIDIgdG8gaW5kaWNhdGUgaW5jb3JyZWN0IHVzYWdlLiktLjE1IEUgRjEoQmFzaCkxMDggMzA5LjYgUQorRjAgLjIwMShpdHNlbGYgcmV0dXJucyB0aGUgZSkyLjcwMSBGIC4yMDIKKyh4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcgLjIwMgorKGN1dGVkLCB1bmxlc3MgYSBzeW50YXggZXJyb3Igb2NjdXJzLCBpbiB3aGljaCBjYXNlKS4xNSBGKGl0IGUpMTA4IDMyMS42CitRKHhpdHMgd2l0aCBhIG5vbi16ZXJvIHYpLS4xNSBFIDIuNShhbHVlLiBTZWUpLS4yNSBGKGFsc28gdGhlKTIuNSBFIEYxCisoZXhpdCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4gY29tbWFuZCBiZWxvKS4yIEUgLS42NSh3LiktLjI1IEcgRjIKKyhTSUdOKTcyIDMzOC40IFEoQUxTKS0uMjE5IEUgRjAoV2hlbikxMDggMzUwLjQgUSBGMShiYXNoKTMuMTgzIEUgRjAgLjY4MworKGlzIGludGVyYWN0aSkzLjE4MyBGIC0uMTUodmUpLS4yNSBHIDMuMTgzKCxpKS4xNSBHIDMuMTgzKG50KS0zLjE4MyBHCisuNjgzKGhlIGFic2VuY2Ugb2YgYW4pLTMuMTgzIEYgMy4xODMoeXQpLS4xNSBHIC42ODMocmFwcywgaXQgaWdub3JlcykKKy0zLjE4MyBGL0Y0IDkvVGltZXMtQm9sZEAwIFNGKFNJR1RFUk0pMy4xODMgRSBGMCAuNjgyKFwoc28gdGhhdCkyLjkzMyBGCitGMSAuNjgyKGtpbGwgMCkzLjE4MiBGIEYwIC42ODIoZG9lcyBub3Qga2lsbCBhbikzLjE4MiBGKGludGVyYWN0aSkxMDgKKzM2Mi40IFEgLjc1NyAtLjE1KHZlIHMpLS4yNSBIIC40NTcoaGVsbFwpLCBhbmQpLjE1IEYgRjQoU0lHSU5UKTIuOTU3IEUKK0YwIC40NTgoaXMgY2F1Z2h0IGFuZCBoYW5kbGVkIFwoc28gdGhhdCB0aGUpMi43MDcgRiBGMSh3YWl0KTIuOTU4IEUgRjAKKy0uMihidSkyLjk1OCBHIC40NTgoaWx0aW4gaXMgaW50ZXJydXB0aWJsZVwpLikuMiBGIC40NTgoSW4gYWxsIGNhc2VzLCkKKzUuNDU4IEYgRjEoYmFzaCkxMDggMzc0LjQgUSBGMChpZ25vcmVzKTIuNSBFIEY0KFNJR1EpMi41IEUoVUlUKS0uMDkgRS9GNQorOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMChJZiBqb2IgY29udHJvbCBpcyBpbiBlZik0LjUgRShmZWN0LCktLjI1IEUgRjEKKyhiYXNoKTIuNSBFIEYwKGlnbm9yZXMpMi41IEUgRjQoU0lHVFRJTikyLjUgRSBGNSgsKUEgRjQoU0lHVFQpMi4yNSBFKE9VKQorLS4xNjIgRSBGNSgsKUEgRjAoYW5kKTIuMjUgRSBGNChTSUdUU1RQKTIuNSBFIEY1KC4pQSBGMChOb24tYikxMDggMzkxLjIKK1EgMS4wNjUodWlsdGluIGNvbW1hbmRzIHJ1biBieSktLjIgRiBGMShiYXNoKTMuNTY1IEUgRjAoaGEpMy41NjUgRSAxLjM2NQorLS4xNSh2ZSBzKS0uMiBIIDEuMDY1KGlnbmFsIGhhbmRsZXJzIHNldCB0byB0aGUgdikuMTUgRiAxLjA2NAorKGFsdWVzIGluaGVyaXRlZCBieSB0aGUgc2hlbGwgZnJvbSBpdHMpLS4yNSBGIDMuMjQ3KHBhcmVudC4gV2hlbikxMDgKKzQwMy4yIFIgLjc0Nyhqb2IgY29udHJvbCBpcyBub3QgaW4gZWYpMy4yNDcgRiAuNzQ3CisoZmVjdCwgYXN5bmNocm9ub3VzIGNvbW1hbmRzIGlnbm9yZSktLjI1IEYgRjQoU0lHSU5UKTMuMjQ4IEUgRjAoYW5kKQorMi45OTggRSBGNChTSUdRKTMuMjQ4IEUoVUlUKS0uMDkgRSBGMCAuNzQ4KGluIGFkZGktKTIuOTk4IEYgLjY1MworKHRpb24gdG8gdGhlc2UgaW5oZXJpdGVkIGhhbmRsZXJzLikxMDggNDE1LjIgUiAuNjUzCisoQ29tbWFuZHMgcnVuIGFzIGEgcmVzdWx0IG9mIGNvbW1hbmQgc3Vic3RpdHV0aW9uIGlnbm9yZSB0aGUgayk1LjY1MyBGCistLjE1KGV5KS0uMSBHKGJvYXJkLSkuMTUgRShnZW5lcmF0ZWQgam9iIGNvbnRyb2wgc2lnbmFscykxMDggNDI3LjIgUSBGNAorKFNJR1RUSU4pMi41IEUgRjUoLClBIEY0KFNJR1RUKTIuMjUgRShPVSktLjE2MiBFIEY1KCwpQSBGMChhbmQpMi4yNSBFIEY0CisoU0lHVFNUUCkyLjUgRSBGNSguKUEgRjAgMi4wNDUoVGhlIHNoZWxsIGUpMTA4IDQ0NCBSIDIuMDQ1KHhpdHMgYnkgZGVmKQorLS4xNSBGIDIuMDQ1KGF1bHQgdXBvbiByZWNlaXB0IG9mIGEpLS4xIEYgRjQoU0lHSFVQKTQuNTQ1IEUgRjUoLilBIEYwCisyLjA0NShCZWZvcmUgZSk2LjU0NSBGIDIuMDQ1KHhpdGluZywgYW4gaW50ZXJhY3RpKS0uMTUgRiAyLjM0NiAtLjE1CisodmUgcyktLjI1IEggMi4wNDYoaGVsbCByZXNlbmRzIHRoZSkuMTUgRiBGNChTSUdIVVApMTA4IDQ1NiBRIEYwIDEuMDA1CisodG8gYWxsIGpvYnMsIHJ1bm5pbmcgb3Igc3RvcHBlZC4pMy4yNTUgRiAxLjAwNChTdG9wcGVkIGpvYnMgYXJlIHNlbnQpCis2LjAwNSBGIEY0KFNJR0NPTlQpMy41MDQgRSBGMCAxLjAwNCh0byBlbnN1cmUgdGhhdCB0aGUpMy4yNTQgRiAzLjUwNCh5cikKKy0uMTUgRyhlY2VpKS0zLjUwNCBFIDEuMzA0IC0uMTUodmUgdCktLjI1IEgoaGUpLjE1IEUgRjQoU0lHSFVQKTEwOCA0NjggUQorRjUoLilBIEYwIDIuNTI5IC0uOChUbyBwKTUuNDI5IEgocmUpLjggRSAtLjE1KHZlKS0uMjUgRyAuOTMobnQgdGhlIHNoZWxcCitsIGZyb20gc2VuZGluZyB0aGUgc2lnbmFsIHRvIGEgcGFydGljdWxhciBqb2IsIGl0IHNob3VsZCBiZSByZW1vKS4xNSBGCistLjE1KHZlKS0uMTUgRyAzLjQzKGRmKS4xNSBHIC45Myhyb20gdGhlKS0zLjQzIEYgMS4zNTcKKyhqb2JzIHRhYmxlIHdpdGggdGhlKTEwOCA0ODAgUiBGMShkaXNvKTMuODU3IEUod24pLS4xIEUgRjAgLS4yKGJ1KTMuODU3CitHIDEuMzU3KGlsdGluIFwoc2VlKS4yIEYgRjQgMS4zNTYoU0hFTEwgQikzLjg1NiBGKFVJTCktLjA5IEUgMS4zNTYKKyhUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTMuNjA2IEUgMS4zNTYod1wpIG9yIG1hcmspLS4yNSBGIDEuMzU2CisoZWQgdG8gbm90IHJlY2VpKS0uMSBGIC0uMTUodmUpLS4yNSBHIEY0KFNJR0hVUCkxMDggNDkyIFEgRjAodXNpbmcpMi4yNQorRSBGMShkaXNvKTIuNSBFKHduIFwyNTVoKS0uMSBFIEYwKC4pQSAuMTY2KElmIHRoZSkxMDggNTA4LjggUiBGMQorKGh1cG9uZXhpdCkyLjY2NiBFIEYwIC4xNjYoc2hlbGwgb3B0aW9uIGhhcyBiZWVuIHNldCB3aXRoKTIuNjY2IEYgRjEKKyhzaG9wdCkyLjY2NiBFIEYwKCwpQSBGMShiYXNoKTIuNjY2IEUgRjAgLjE2NihzZW5kcyBhKTIuNjY2IEYgRjQoU0lHSFVQKQorMi42NjYgRSBGMCAuMTY2KHRvIGFsbCBqb2JzIHdoZW4gYW4gaW50ZXJhY3RpKTIuNDE2IEYgLS4xNSh2ZSktLjI1IEcKKyhsb2dpbiBzaGVsbCBlKTEwOCA1MjAuOCBRKHhpdHMuKS0uMTUgRShJZikxMDggNTM3LjYgUSBGMShiYXNoKTMuMDQ3IEUKK0YwIC41NDcoaXMgdykzLjA0NyBGIC41NDYoYWl0aW5nIGZvciBhIGNvbW1hbmQgdG8gY29tcGxldGUgYW5kIHJlY2VpKS0uMQorRiAtLjE1KHZlKS0uMjUgRyAzLjA0NihzYXMpLjE1IEcgLjU0NgorKGlnbmFsIGZvciB3aGljaCBhIHRyYXAgaGFzIGJlZW4gc2V0LCB0aGUgdHJhcCktMy4wNDYgRiAuNjYyCisod2lsbCBub3QgYmUgZSkxMDggNTQ5LjYgUiAtLjE1KHhlKS0uMTUgRyAuNjYyCisoY3V0ZWQgdW50aWwgdGhlIGNvbW1hbmQgY29tcGxldGVzLikuMTUgRihXaGVuKTUuNjYzIEUgRjEoYmFzaCkzLjE2MyBFCitGMCAuNjYzKGlzIHcpMy4xNjMgRiAuNjYzKGFpdGluZyBmb3IgYW4gYXN5bmNocm9ub3VzIGNvbW1hbmQpLS4xIEYgLjk5CisodmlhIHRoZSkxMDggNTYxLjYgUiBGMSh3YWl0KTMuNDkgRSBGMCAtLjIoYnUpMy40OSBHIC45OShpbHRpbiwgdGhlIHJlY1wKK2VwdGlvbiBvZiBhIHNpZ25hbCBmb3Igd2hpY2ggYSB0cmFwIGhhcyBiZWVuIHNldCB3aWxsIGNhdXNlIHRoZSkuMiBGIEYxCisod2FpdCkzLjQ5IEUgRjAgLS4yKGJ1KTMuNDkgRyAuOTkoaWx0aW4gdG8pLjIgRgorKHJldHVybiBpbW1lZGlhdGVseSB3aXRoIGFuIGUpMTA4IDU3My42IFEKKyh4aXQgc3RhdHVzIGdyZWF0ZXIgdGhhbiAxMjgsIGltbWVkaWF0ZWx5IGFmdGVyIHdoaWNoIHRoZSB0cmFwIGlzIGUpLS4xNQorRSAtLjE1KHhlKS0uMTUgRyhjdXRlZC4pLjE1IEUgRjIoSk9CIENPTlRSKTcyIDU5MC40IFEoT0wpLS4zMjkgRSBGMyAtLjI1CisoSm8pMTA4IDYwMi40IFMgNC41NjcoYmMpLjI1IEcob250ciktNC41NjcgRShvbCktLjQ1IEUgRjAgMi4wNjcKKyhyZWZlcnMgdG8gdGhlIGFiaWxpdHkgdG8gc2VsZWN0aSk1LjA3NyBGIC0uMTUodmUpLS4yNSBHIDIuMDY3CisobHkgc3RvcCBcKCkuMTUgRiBGMyhzdXNwZW5kKUEgRjAgNC41NjcoXCl0KUMgMi4wNjgoaGUgZSktNC41NjcgRiAtLjE1CisoeGUpLS4xNSBHIDIuMDY4KGN1dGlvbiBvZiBwcm9jZXNzZXMgYW5kIGNvbnRpbnVlKS4xNSBGKFwoKTEwOCA2MTQuNCBRCitGMyAtLjM3KHJlKUMoc3VtZSkuMzcgRSBGMCAzLjIwMihcKXQpQyAuNzAyKGhlaXIgZSktMy4yMDIgRiAtLjE1KHhlKS0uMTUKK0cgLjcwMihjdXRpb24gYXQgYSBsYXRlciBwb2ludC4pLjE1IEYgMy4yMDIoQXUpNS43MDIgRyAuNzAyCiAoc2VyIHR5cGljYWxseSBlbXBsbyktMy4yMDIgRiAuNzAyKHlzIHRoaXMgZiktLjEgRiAuNzAyCiAoYWNpbGl0eSB2aWEgYW4gaW50ZXJhY3RpKS0uMSBGIDEuMDAxIC0uMTUodmUgaSktLjI1IEgobnRlcmYpLjE1IEUoYWNlKQotLS4xIEUoc3VwcGxpZWQgam9pbnRseSBieSB0aGUgb3BlcmF0aW5nIHN5c3RlbSBrKTEwOCAxMjAgUShlcm5lbCcpLS4xIEUKLTIuNShzdCktLjU1IEcoZXJtaW5hbCBkcmkpLTIuNSBFIC0uMTUodmUpLS4yNSBHIDIuNShyYSkuMTUgRyhuZCktMi41IEUKLS9GMyAxMC9UaW1lcy1Cb2xkQDAgU0YoYmFzaCkyLjUgRSBGMCguKUEgLjc4NChUaGUgc2hlbGwgYXNzb2NpYXRlcyBhKTEwOAotMTM2LjggUiBGMihqb2IpNS4wMjQgRSBGMCAuNzg0KHdpdGggZWFjaCBwaXBlbGluZS4pMy41MTQgRiAuNzg0KEl0IGspCi01Ljc4NCBGIC43ODUoZWVwcyBhIHRhYmxlIG9mIGN1cnJlbnRseSBlKS0uMSBGIC0uMTUoeGUpLS4xNSBHIC43ODUKLShjdXRpbmcgam9icywgd2hpY2ggbWF5IGJlKS4xNSBGIC4zNDEobGlzdGVkIHdpdGggdGhlKTEwOCAxNDguOCBSIEYzCi0oam9icykyLjg0MSBFIEYwIDIuODQxKGNvbW1hbmQuIFdoZW4pMi44NDEgRiBGMyhiYXNoKTIuODQxIEUgRjAgLjM0MQotKHN0YXJ0cyBhIGpvYiBhc3luY2hyb25vdXNseSBcKGluIHRoZSkyLjg0MSBGIEYyKGJhYykyLjg0IEUoa2dyKS0uMiBFCi0ob3VuZCktLjQ1IEUgRjAgLjM0KFwpLCBpdCBwcmludHMgYSBsaW5lKS43NyBGKHRoYXQgbG9va3MgbGlrKTEwOCAxNjAuOAotUShlOiktLjEgRShbMV0gMjU2NDcpMTQ0IDE3Ny42IFEgLjI0MShpbmRpY2F0aW5nIHRoYXQgdGhpcyBqb2IgaXMgam9iIG5cCi11bWJlciAxIGFuZCB0aGF0IHRoZSBwcm9jZXNzIElEIG9mIHRoZSBsYXN0IHByb2Nlc3MgaW4gdGhlIHBpcGVsaW5lIGFzc1wKLW9jaWF0ZWQpMTA4IDE5NC40IFIgLjczMyh3aXRoIHRoaXMgam9iIGlzIDI1NjQ3LikxMDggMjA2LjQgUiAuNzMyCistLjEgRShzdXBwbGllZCBqb2ludGx5IGJ5IHRoZSBvcGVyYXRpbmcgc3lzdGVtIGspMTA4IDYyNi40IFEoZXJuZWwnKS0uMQorRSAyLjUoc3QpLS41NSBHKGVybWluYWwgZHJpKS0yLjUgRSAtLjE1KHZlKS0uMjUgRyAyLjUocmEpLjE1IEcobmQpLTIuNSBFCitGMShiYXNoKTIuNSBFIEYwKC4pQSAuNzg0KFRoZSBzaGVsbCBhc3NvY2lhdGVzIGEpMTA4IDY0My4yIFIgRjMoam9iKQorNS4wMjQgRSBGMCAuNzg0KHdpdGggZWFjaCBwaXBlbGluZS4pMy41MTQgRiAuNzg0KEl0IGspNS43ODQgRiAuNzg1CisoZWVwcyBhIHRhYmxlIG9mIGN1cnJlbnRseSBlKS0uMSBGIC0uMTUoeGUpLS4xNSBHIC43ODUKKyhjdXRpbmcgam9icywgd2hpY2ggbWF5IGJlKS4xNSBGIC4zNDEobGlzdGVkIHdpdGggdGhlKTEwOCA2NTUuMiBSIEYxCisoam9icykyLjg0MSBFIEYwIDIuODQxKGNvbW1hbmQuIFdoZW4pMi44NDEgRiBGMShiYXNoKTIuODQxIEUgRjAgLjM0MQorKHN0YXJ0cyBhIGpvYiBhc3luY2hyb25vdXNseSBcKGluIHRoZSkyLjg0MSBGIEYzKGJhYykyLjg0IEUoa2dyKS0uMiBFCisob3VuZCktLjQ1IEUgRjAgLjM0KFwpLCBpdCBwcmludHMgYSBsaW5lKS43NyBGKHRoYXQgbG9va3MgbGlrKTEwOCA2NjcuMgorUShlOiktLjEgRShbMV0gMjU2NDcpMTQ0IDY4NCBRIC4yNDEoaW5kaWNhdGluZyB0aGF0IHRoaXMgam9iIGlzIGpvYiBudW1cCitiZXIgMSBhbmQgdGhhdCB0aGUgcHJvY2VzcyBJRCBvZiB0aGUgbGFzdCBwcm9jZXNzIGluIHRoZSBwaXBlbGluZSBhc3NvY1wKK2lhdGVkKTEwOCA3MDAuOCBSIC43MzMod2l0aCB0aGlzIGpvYiBpcyAyNTY0Ny4pMTA4IDcxMi44IFIgLjczMgogKEFsbCBvZiB0aGUgcHJvY2Vzc2VzIGluIGEgc2luZ2xlIHBpcGVsaW5lIGFyZSBtZW1iZXJzIG9mIHRoZSBzYW1lIGpvYikKLTUuNzMzIEYoLiktLjQgRSBGMyhCYXNoKTUuNzMyIEUgRjAodXNlcykzLjIzMiBFKHRoZSkxMDggMjE4LjQgUSBGMihqb2IpCi00LjI0IEUgRjAoYWJzdHJhY3Rpb24gYXMgdGhlIGJhc2lzIGZvciBqb2IgY29udHJvbC4pMi43MyBFIDMuMDYyIC0uOAotKFRvIGYpMTA4IDIzNS4yIFQgMS40NjIoYWNpbGl0YXRlIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgdXNlciBpbnRlcmYpCi0uNyBGIDEuNDYzKGFjZSB0byBqb2IgY29udHJvbCwgdGhlIG9wZXJhdGluZyBzeXN0ZW0gbWFpbnRhaW5zIHRoZSktLjEgRgotLjg3MShub3Rpb24gb2YgYSkxMDggMjQ3LjIgUiBGMihjdXJyKTMuMzcxIEUgLjg3MShlbnQgdGVybWluYWwgcHIpLS4zNyBGCi0uODcxKG9jZXNzIGdyKS0uNDUgRiAuODcxKG91cCBJRCktLjQ1IEYgRjAgNS44NzEoLk0pQyAuODcKLShlbWJlcnMgb2YgdGhpcyBwcm9jZXNzIGdyb3VwIFwocHJvY2Vzc2VzIHdob3NlIHByb2Nlc3MpLTUuODcxIEYgLjAyMwotKGdyb3VwIElEIGlzIGVxdWFsIHRvIHRoZSBjdXJyZW50IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgSURcKSByZWNlaSkxMDgKLTI1OS4yIFIgLjMyMyAtLjE1KHZlIGspLS4yNSBIIC0uMTUoZXkpLjA1IEcgLjAyMwotKGJvYXJkLWdlbmVyYXRlZCBzaWduYWxzIHN1Y2ggYXMpLjE1IEYvRjQgOS9UaW1lcy1Cb2xkQDAgU0YoU0lHLSkyLjUyMyBFCi0oSU5UKTEwOCAyNzEuMiBRL0Y1IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgMS4zNDcKLShUaGVzZSBwcm9jZXNzZXMgYXJlIHNhaWQgdG8gYmUgaW4gdGhlKTUuODQ3IEYgRjIoZm9yKTMuODQ2IEUgLS40KGVnKQotLS4zNyBHIC0uNDUocm8pLjQgRyh1bmQpLjQ1IEUgRjAoLikuNzcgRSBGMihCYWMpNi45MjYgRShrZ3IpLS4yIEUob3VuZCkKLS0uNDUgRSBGMCAxLjM0Nihwcm9jZXNzZXMgYXJlIHRob3NlIHdob3NlIHByb2Nlc3MpNC42MTYgRiAuMTQ1Ci0oZ3JvdXAgSUQgZGlmKTEwOCAyODMuMiBSIC4xNDUoZmVycyBmcm9tIHRoZSB0ZXJtaW5hbCcpLS4yNSBGIC4xNDYKLShzOyBzdWNoIHByb2Nlc3NlcyBhcmUgaW1tdW5lIHRvIGspLS41NSBGIC0uMTUoZXkpLS4xIEcgLjE0NgotKGJvYXJkLWdlbmVyYXRlZCBzaWduYWxzLikuMTUgRiAuMTQ2KE9ubHkgZm9yZS0pNS4xNDYgRiAuMTYKLShncm91bmQgcHJvY2Vzc2VzIGFyZSBhbGxvKTEwOCAyOTUuMiBSIC4xNih3ZWQgdG8gcmVhZCBmcm9tIG9yKS0uMjUgRgotMi42NigsaSktLjQgRyAyLjY2KGZ0KS0yLjY2IEcgLjE2KGhlIHVzZXIgc28gc3BlY2lcMjE0ZXMgd2l0aCktMi42NiBGL0Y2Ci0xMC9Db3VyaWVyQDAgU0YgLjE2KHN0dHkgdG9zdG9wKTIuNjYgRiBGMCAyLjY2KCx3KUMgLjE2KHJpdGUgdG8gdGhlIHRlcikKLS0yLjY2IEYoLSktLjIgRSAzLjA1MShtaW5hbC4gQmFja2dyb3VuZCkxMDggMzA3LjIgUiAuNTUxCi0ocHJvY2Vzc2VzIHdoaWNoIGF0dGVtcHQgdG8gcmVhZCBmcm9tIFwod3JpdGUgdG8gd2hlbikzLjA1MSBGIEY2IC41NTEKLShzdHR5IHRvc3RvcCkzLjA1MSBGIEYwIC41NTIoaXMgaW4gZWYpMy4wNTIgRiAuNTUyKGZlY3RcKSB0aGUpLS4yNSBGCi0uNzE4KHRlcm1pbmFsIGFyZSBzZW50IGEpMTA4IDMxOS4yIFIgRjQgLjcxOChTSUdUVElOIFwoU0lHVFQpMy4yMTggRgotKE9VXCkpLS4xNjIgRSBGMCAuNzE4KHNpZ25hbCBieSB0aGUgaykyLjk2OCBGKGVybmVsJyktLjEgRSAzLjIxNyhzdCktLjU1Ci1HIC43MTcoZXJtaW5hbCBkcmkpLTMuMjE3IEYgLS4xNSh2ZSktLjI1IEcgMS41MTcgLS40KHIsIHcpLjE1IEggLjcxNwotKGhpY2gsIHVubGVzcyBjYXVnaHQsIHN1cy0pLjQgRihwZW5kcyB0aGUgcHJvY2Vzcy4pMTA4IDMzMS4yIFEgMS4wODcKLShJZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCkxMDggMzQ4IFIgRjMoYmFzaCkzLjU4NyBFIEYwIDEuMDg4Ci0oaXMgcnVubmluZyBzdXBwb3J0cyBqb2IgY29udHJvbCwpMy41ODggRiBGMyhiYXNoKTMuNTg4IEUgRjAgMS4wODgKLShjb250YWlucyBmKTMuNTg4IEYgMS4wODgoYWNpbGl0aWVzIHRvIHVzZSBpdC4pLS4xIEYgLS44KFR5KTEwOCAzNjAgUwotLjMwMihwaW5nIHRoZSkuOCBGIEYyKHN1c3BlbmQpMy4xNDIgRSBGMCAuMzAyKGNoYXJhY3RlciBcKHR5cGljYWxseSkKLTMuNTcyIEYgRjMoXlopMi44MDEgRSBGMCAyLjgwMSgsQylDIC4zMDEKLShvbnRyb2wtWlwpIHdoaWxlIGEgcHJvY2VzcyBpcyBydW5uaW5nIGNhdXNlcyB0aGF0IHByb2Nlc3MgdG8gYmUpLTIuODAxCi1GIDIuMTQyKHN0b3BwZWQgYW5kIHJldHVybnMgY29udHJvbCB0bykxMDggMzcyIFIgRjMoYmFzaCk0LjY0MiBFIEYwCi03LjE0MiguVClDIDIuMTQyKHlwaW5nIHRoZSktNy45NDIgRiBGMiAyLjE0MihkZWxheWVkIHN1c3BlbmQpNC45OTIgRiBGMAotMi4xNDMoY2hhcmFjdGVyIFwodHlwaWNhbGx5KTUuNDEzIEYgRjMoXlkpNC42NDMgRSBGMCA0LjY0MygsQylDCi0ob250cm9sLVlcKSktNC42NDMgRSAuMDIxKGNhdXNlcyB0aGUgcHJvY2VzcyB0byBiZSBzdG9wcGVkIHdoZW4gaXQgYXR0ZVwKLW1wdHMgdG8gcmVhZCBpbnB1dCBmcm9tIHRoZSB0ZXJtaW5hbCwgYW5kIGNvbnRyb2wgdG8gYmUgcmV0dXJuZWQpMTA4IDM4NAotUih0bykxMDggMzk2IFEgRjMoYmFzaCkzLjM5MiBFIEYwIDUuODkyKC5UKUMgLjg5MgotKGhlIHVzZXIgbWF5IHRoZW4gbWFuaXB1bGF0ZSB0aGUgc3RhdGUgb2YgdGhpcyBqb2IsIHVzaW5nIHRoZSktNS44OTIgRgotRjMoYmcpMy4zOTIgRSBGMCAuODkyKGNvbW1hbmQgdG8gY29udGludWUgaXQgaW4gdGhlKTMuMzkyIEYgLjg5NQotKGJhY2tncm91bmQsIHRoZSkxMDggNDA4IFIgRjMoZmcpMy4zOTUgRSBGMCAuODk1Ci0oY29tbWFuZCB0byBjb250aW51ZSBpdCBpbiB0aGUgZm9yZSkzLjM5NSBGIC44OTUoZ3JvdW5kLCBvciB0aGUpLS4xNSBGCi1GMyhraWxsKTMuMzk1IEUgRjAgLjg5NChjb21tYW5kIHRvIGtpbGwgaXQuKTMuMzk1IEYoQSk1Ljg5NCBFIEYzKF5aKQotMy4zOTQgRSBGMCh0YWspMy4zOTQgRShlcyktLjEgRShlZikxMDggNDIwIFEgLjk0OChmZWN0IGltbWVkaWF0ZWx5KS0uMjUKLUYgMy40NDgoLGEpLS42NSBHIC45NDgobmQgaGFzIHRoZSBhZGRpdGlvbmFsIHNpZGUgZWYpLTMuNDQ4IEYgLjk0OAotKGZlY3Qgb2YgY2F1c2luZyBwZW5kaW5nIG91dHB1dCBhbmQgdHlwZWFoZWFkIHRvIGJlIGRpcy0pLS4yNSBGKGNhcmRlZC4pCi0xMDggNDMyIFEgLjc3NyhUaGVyZSBhcmUgYSBudW1iZXIgb2YgdykxMDggNDQ4LjggUiAuNzc3Ci0oYXlzIHRvIHJlZmVyIHRvIGEgam9iIGluIHRoZSBzaGVsbC4pLS4xIEYgLjc3NyhUaGUgY2hhcmFjdGVyKTUuNzc3IEYgRjMKLSglKTMuMjc3IEUgRjAgLjc3NyhpbnRyb2R1Y2VzIGEgam9iIHNwZWNpXDIxNGNhdGlvbikzLjI3NyBGKFwoKTEwOCA0NjAuOAotUSBGMihqb2JzcGVjKUEgRjAgMy40NTcoXCkuIEpvYilCKG51bWJlcikzLjQ1NyBFIEYyKG4pMy44MTcgRSBGMCAuOTU3Ci0obWF5IGJlIHJlZmVycmVkIHRvIGFzKTMuNjk3IEYgRjMoJW4pMy40NTcgRSBGMCA1Ljk1NyguQSlDIC45NTcKLShqb2IgbWF5IGFsc28gYmUgcmVmZXJyZWQgdG8gdXNpbmcgYSBwcmVcMjE0eCBvZiB0aGUpLTIuNSBGIC41OShuYW1lIHVzXAotZWQgdG8gc3RhcnQgaXQsIG9yIHVzaW5nIGEgc3Vic3RyaW5nIHRoYXQgYXBwZWFycyBpbiBpdHMgY29tbWFuZCBsaW5lLikKLTEwOCA0NzIuOCBSIC0uMTUoRm8pNS41OSBHIDMuMDkocmUpLjE1IEcoeGFtcGxlLCktMy4yNCBFIEYzKCVjZSkzLjA5IEUKLUYwIC41OShyZWZlcnMgdG8gYSkzLjA5IEYoc3RvcHBlZCkxMDggNDg0LjggUSBGMyhjZSkzLjQ2MyBFIEYwKGpvYikzLjQ2MwotRSA1Ljk2MyguSSktLjQgRyAzLjQ2MyhmYXApLTUuOTYzIEcgLjk2MwotKHJlXDIxNHggbWF0Y2hlcyBtb3JlIHRoYW4gb25lIGpvYiwpLTMuNDYzIEYgRjMoYmFzaCkzLjQ2MyBFIEYwIC45NjMKLShyZXBvcnRzIGFuIGVycm9yKTMuNDYzIEYgNS45NjMoLlUpLS41NSBHKHNpbmcpLTUuOTYzIEUgRjMoJT9jZSkzLjQ2MyBFCi1GMCAzLjQ2NCgsbylDIDMuNDY0KG50KS0zLjQ2NCBHIC45NjQoaGUgb3RoZXIpLTMuNDY0IEYgLjA4NwotKGhhbmQsIHJlZmVycyB0byBhbikxMDggNDk2LjggUiAyLjU4Nyh5aiktLjE1IEcgLjA4NwotKG9iIGNvbnRhaW5pbmcgdGhlIHN0cmluZyktMi41ODcgRiBGMyhjZSkyLjU4NyBFIEYwIC4wODcKLShpbiBpdHMgY29tbWFuZCBsaW5lLikyLjU4NyBGIC4wODcKLShJZiB0aGUgc3Vic3RyaW5nIG1hdGNoZXMgbW9yZSB0aGFuIG9uZSk1LjA4NyBGKGpvYiwpMTA4IDUwOC44IFEgRjMKLShiYXNoKTIuNTE4IEUgRjAgLjAxOChyZXBvcnRzIGFuIGVycm9yKTIuNTE4IEYgNS4wMTgoLlQpLS41NSBHIC4wMTgKLShoZSBzeW1ib2xzKS01LjAxOCBGIEYzKCUlKTIuNTE4IEUgRjAoYW5kKTIuNTE4IEUgRjMoJSspMi41MTggRSBGMCAuMDE4Ci0ocmVmZXIgdG8gdGhlIHNoZWxsJykyLjUxOCBGIDIuNTE4KHNuKS0uNTUgRyAuMDE4KG90aW9uIG9mIHRoZSktMi41MTggRgotRjIoY3VycikyLjUxOCBFIC4wMTgoZW50IGpvYiktLjM3IEYgRjAgMi41MTgoLHcpLjIzIEcgLjAxOChoaWNoIGlzKQotLTIuNTE4IEYgLjQ5NSh0aGUgbGFzdCBqb2Igc3RvcHBlZCB3aGlsZSBpdCB3KTEwOCA1MjAuOCBSIC40OTUKLShhcyBpbiB0aGUgZm9yZSktLjEgRiAuNDk1KGdyb3VuZCBvciBzdGFydGVkIGluIHRoZSBiYWNrZ3JvdW5kLiktLjE1IEYKLShUaGUpNS40OTQgRSBGMihwcik0LjI0NCBFIC0uMTUoZXYpLS4zNyBHIC40OTQoaW91cyBqb2IpLjE1IEYgRjAgLjQ5NAotKG1heSBiZSkzLjIyNCBGIC43ODcocmVmZXJlbmNlZCB1c2luZykxMDggNTMyLjggUiBGMzwyNWFkPjMuMjg3IEUgRjAKLTUuNzg3KC5JKUMgMy4yODcoZnQpLTUuNzg3IEcgLjc4NyhoZXJlIGlzIG9ubHkgYSBzaW5nbGUgam9iLCktMy4yODcgRiBGMwotKCUrKTMuMjg3IEUgRjAoYW5kKTMuMjg3IEUgRjM8MjVhZD4zLjI4NyBFIEYwIC43ODgKLShjYW4gYm90aCBiZSB1c2VkIHRvIHJlZmVyIHRvIHRoYXQgam9iKTMuMjg3IEYgNS43ODgoLkkpLS40IEcobiktNS43ODggRQotLjI1NyhvdXRwdXQgcGVydGFpbmluZyB0byBqb2JzIFwoZS5nLiwgdGhlIG91dHB1dCBvZiB0aGUpMTA4IDU0NC44IFIgRjMKLShqb2JzKTIuNzU2IEUgRjAgLjI1Nihjb21tYW5kXCksIHRoZSBjdXJyZW50IGpvYiBpcyBhbCkyLjc1NiBGIC0uMSh3YSkKLS0uMSBHIC4yNTYoeXMgXDIxNWFnZ2VkIHdpdGggYSkuMSBGIEYzKCspMi43NTYgRSBGMCgsKUEgLjQxKGFuZCB0aGUgcHJlKQotMTA4IDU1Ni44IFIgLjQxKHZpb3VzIGpvYiB3aXRoIGEpLS4yNSBGIEYzPGFkPjIuOTEgRSBGMCA1LjQxKC5BKUMgLjQxMQotKHNpbmdsZSAlIFwod2l0aCBubyBhY2NvbXBhbiktMi41IEYgLjQxMQotKHlpbmcgam9iIHNwZWNpXDIxNGNhdGlvblwpIGFsc28gcmVmZXJzIHRvIHRoZSBjdXIpLS4xNSBGKC0pLS4yIEUKLShyZW50IGpvYikxMDggNTY4LjggUSguKS0uNCBFIC40NDQKLShTaW1wbHkgbmFtaW5nIGEgam9iIGNhbiBiZSB1c2VkIHRvIGJyaW5nIGl0IGludG8gdGhlIGZvcmUpMTA4IDU4NS42IFIKLShncm91bmQ6KS0uMTUgRSBGMyglMSkyLjk0MyBFIEYwIC40NDMoaXMgYSBzeW5vbikyLjk0MyBGIC40NDMoeW0gZm9yKQotLS4xNSBGIEYzIC0uNjMoYGApMi45NDMgRyAuNDQzKGZnICUxJykuNjMgRignKS0uNjMgRSBGMCAyLjk0MygsYilDCi0ocmluZ2luZyktMi45NDMgRSAxLjQ3Mihqb2IgMSBmcm9tIHRoZSBiYWNrZ3JvdW5kIGludG8gdGhlIGZvcmUpMTA4Ci01OTcuNiBSIDMuOTcyKGdyb3VuZC4gU2ltaWxhcmx5KS0uMTUgRigsKS0uNjUgRSBGMyAtLjYzKGBgKTMuOTczIEcgMS40NzMKLSglMSAmJykuNjMgRignKS0uNjMgRSBGMCAxLjQ3MyhyZXN1bWVzIGpvYiAxIGluIHRoZSBiYWNrZ3JvdW5kLCkzLjk3MyBGCi0oZXF1aSkxMDggNjA5LjYgUSAtLjI1KHZhKS0uMjUgRyhsZW50IHRvKS4yNSBFIEYzIC0uNjMoYGApMi41IEcoYmcgJTEnKQotLjYzIEUoJyktLjYzIEUgRjAoLilBIC4xMzEoVGhlIHNoZWxsIGxlYXJucyBpbW1lZGlhdGVseSB3aGVuZSkxMDggNjI2LjQKLVIgLS4xNSh2ZSktLjI1IEcgMi42MzEocmFqKS4xNSBHIC4xMzEob2IgY2hhbmdlcyBzdGF0ZS4pLTIuNjMxIEYKLShOb3JtYWxseSk1LjEzMSBFKCwpLS42NSBFIEYzKGJhc2gpMi42MzEgRSBGMCAtLjEod2EpMi42MyBHIC4xMwotKGl0cyB1bnRpbCBpdCBpcyBhYm91dCB0byBwcmludCBhKS4xIEYgLjE1NwotKHByb21wdCBiZWZvcmUgcmVwb3J0aW5nIGNoYW5nZXMgaW4gYSBqb2InKTEwOCA2MzguNCBSIDIuNjU3KHNzKS0uNTUgRwotLjE1Nyh0YXR1cyBzbyBhcyB0byBub3QgaW50ZXJydXB0IGFuKS0yLjY1NyBGIDIuNjU4KHlvKS0uMTUgRyAuMTU4Ci0odGhlciBvdXRwdXQuKS0yLjY1OCBGIC4xNTgoSWYgdGhlKTUuMTU4IEYgRjM8YWQ2Mj4yLjY1OCBFIEYwIC4xNTgKLShvcHRpb24gdG8pMi42NTggRih0aGUpMTA4IDY1MC40IFEgRjMoc2V0KTMuOTUyIEUgRjAgLS4yKGJ1KTMuOTUyIEcKLTEuNDUyKGlsdGluIGNvbW1hbmQgaXMgZW5hYmxlZCwpLjIgRiBGMyhiYXNoKTMuOTUyIEUgRjAgMS40NTEKLShyZXBvcnRzIHN1Y2ggY2hhbmdlcyBpbW1lZGlhdGVseSkzLjk1MiBGIDYuNDUxKC5BKS0uNjUgRyAxLjc1MSAtLjE1Ci0obnkgdCktNi40NTEgSCAxLjQ1MShyYXAgb24pLjE1IEYgRjQoU0lHQ0hMRCkzLjk1MSBFIEYwKGlzKTMuNzAxIEUgLS4xNQotKGV4ZSkxMDggNjYyLjQgUyhjdXRlZCBmb3IgZWFjaCBjaGlsZCB0aGF0IGUpLjE1IEUoeGl0cy4pLS4xNSBFIC4wMzIKLShJZiBhbiBhdHRlbXB0IHRvIGUpMTA4IDY3OS4yIFIoeGl0KS0uMTUgRSBGMyhiYXNoKTIuNTMyIEUgRjAgLjAzMgotKGlzIG1hZGUgd2hpbGUgam9icyBhcmUgc3RvcHBlZCBcKG9yKTIuNTMyIEYgMi41MzMoLGkpLS40IEcgMi41MzMoZnQpCi0tMi41MzMgRyhoZSktMi41MzMgRSBGMyhjaGVja2pvYnMpMi41MzMgRSBGMCAuMDMzCi0oc2hlbGwgb3B0aW9uIGhhcyBiZWVuIGVuYWJsZWQpMi41MzMgRiAyLjAyKHVzaW5nIHRoZSkxMDggNjkxLjIgUiBGMwotKHNob3B0KTQuNTIgRSBGMCAtLjIoYnUpNC41MiBHIDIuMDIKLShpbHRpbiwgcnVubmluZ1wpLCB0aGUgc2hlbGwgcHJpbnRzIGEgdykuMiBGIDIuMDE5Ci0oYXJuaW5nIG1lc3NhZ2UsIGFuZCwgaWYgdGhlKS0uMSBGIEYzKGNoZWNram9icyk0LjUxOSBFIEYwIDIuMDE5Ci0ob3B0aW9uIGlzKTQuNTE5IEYgLjQ1OChlbmFibGVkLCBsaXN0cyB0aGUgam9icyBhbmQgdGhlaXIgc3RhdHVzZXMuKTEwOAotNzAzLjIgUihUaGUpNS40NTggRSBGMyhqb2JzKTIuOTU4IEUgRjAgLjQ1OQotKGNvbW1hbmQgbWF5IHRoZW4gYmUgdXNlZCB0byBpbnNwZWN0IHRoZWlyIHN0YXR1cy4pMi45NTggRiAuNDU5KElmIGEpCi01LjQ1OSBGIC42MDQoc2Vjb25kIGF0dGVtcHQgdG8gZSkxMDggNzE1LjIgUiAuNjA0Ci0oeGl0IGlzIG1hZGUgd2l0aG91dCBhbiBpbnRlcnYpLS4xNSBGIC42MDQKLShlbmluZyBjb21tYW5kLCB0aGUgc2hlbGwgZG9lcyBub3QgcHJpbnQgYW5vdGhlciB3KS0uMTUgRihhcm5pbmcsKS0uMSBFCi0oYW5kIGFuKTEwOCA3MjcuMiBRIDIuNSh5cyktLjE1IEcodG9wcGVkIGpvYnMgYXJlIHRlcm1pbmF0ZWQuKS0yLjUgRQotKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgzMikxODUuOTU1IEUgMCBDZyBFUAorNS43MzMgRiguKS0uNCBFIEYxKEJhc2gpNS43MzIgRSBGMCh1c2VzKTMuMjMyIEUodGhlKTEwOCA3MjQuOCBRIEYzKGpvYikKKzQuMjQgRSBGMChhYnN0cmFjdGlvbiBhcyB0aGUgYmFzaXMgZm9yIGpvYiBjb250cm9sLikyLjczIEUoR05VIEJhc2gtNC4yKQorNzIgNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoMzIpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMzMgMzMKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAuOTUvVGltZXMtQm9sZEAwIFNGKFBSKTcyIDg0IFEoT01QVElORyktLjMyOSBFIEYwIC42NDQKLShXaGVuIGUpMTA4IDk2IFIgLS4xNSh4ZSktLjE1IEcgLjY0NChjdXRpbmcgaW50ZXJhY3RpKS4xNSBGIC0uMTUodmUpLS4yNQotRyhseSkuMTUgRSgsKS0uNjUgRS9GMiAxMC9UaW1lcy1Cb2xkQDAgU0YoYmFzaCkzLjE0NCBFIEYwIC42NDUKLShkaXNwbGF5cyB0aGUgcHJpbWFyeSBwcm9tcHQpMy4xNDUgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihQUzEpMy4xNDUgRSBGMAotLjY0NSh3aGVuIGl0IGlzIHJlYWR5IHRvIHJlYWQgYSBjb21tYW5kLCkyLjg5NSBGIDEuODI2Ci0oYW5kIHRoZSBzZWNvbmRhcnkgcHJvbXB0KTEwOCAxMDggUiBGMyhQUzIpNC4zMjYgRSBGMCAxLjgyNQotKHdoZW4gaXQgbmVlZHMgbW9yZSBpbnB1dCB0byBjb21wbGV0ZSBhIGNvbW1hbmQuKTQuMDc2IEYgRjIoQmFzaCk2LjgyNSBFCistLjM1IEUgMy4wNjIgLS44KFRvIGYpMTA4IDg0IFQgMS40NjIKKyhhY2lsaXRhdGUgdGhlIGltcGxlbWVudGF0aW9uIG9mIHRoZSB1c2VyIGludGVyZikuNyBGIDEuNDYzCisoYWNlIHRvIGpvYiBjb250cm9sLCB0aGUgb3BlcmF0aW5nIHN5c3RlbSBtYWludGFpbnMgdGhlKS0uMSBGIC44NzEKKyhub3Rpb24gb2YgYSkxMDggOTYgUi9GMSAxMC9UaW1lcy1JdGFsaWNAMCBTRihjdXJyKTMuMzcxIEUgLjg3MQorKGVudCB0ZXJtaW5hbCBwciktLjM3IEYgLjg3MShvY2VzcyBnciktLjQ1IEYgLjg3MShvdXAgSUQpLS40NSBGIEYwIDUuODcxCisoLk0pQyAuODcoZW1iZXJzIG9mIHRoaXMgcHJvY2VzcyBncm91cCBcKHByb2Nlc3NlcyB3aG9zZSBwcm9jZXNzKS01Ljg3MQorRiAuMDIzCisoZ3JvdXAgSUQgaXMgZXF1YWwgdG8gdGhlIGN1cnJlbnQgdGVybWluYWwgcHJvY2VzcyBncm91cCBJRFwpIHJlY2VpKTEwOAorMTA4IFIgLjMyMyAtLjE1KHZlIGspLS4yNSBIIC0uMTUoZXkpLjA1IEcgLjAyMworKGJvYXJkLWdlbmVyYXRlZCBzaWduYWxzIHN1Y2ggYXMpLjE1IEYvRjIgOS9UaW1lcy1Cb2xkQDAgU0YoU0lHLSkyLjUyMyBFCisoSU5UKTEwOCAxMjAgUS9GMyA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIDEuMzQ3CisoVGhlc2UgcHJvY2Vzc2VzIGFyZSBzYWlkIHRvIGJlIGluIHRoZSk1Ljg0NyBGIEYxKGZvcikzLjg0NiBFIC0uNChlZykKKy0uMzcgRyAtLjQ1KHJvKS40IEcodW5kKS40NSBFIEYwKC4pLjc3IEUgRjEoQmFjKTYuOTI2IEUoa2dyKS0uMiBFKG91bmQpCistLjQ1IEUgRjAgMS4zNDYocHJvY2Vzc2VzIGFyZSB0aG9zZSB3aG9zZSBwcm9jZXNzKTQuNjE2IEYgLjE0NQorKGdyb3VwIElEIGRpZikxMDggMTMyIFIgLjE0NShmZXJzIGZyb20gdGhlIHRlcm1pbmFsJyktLjI1IEYgLjE0NgorKHM7IHN1Y2ggcHJvY2Vzc2VzIGFyZSBpbW11bmUgdG8gayktLjU1IEYgLS4xNShleSktLjEgRyAuMTQ2CisoYm9hcmQtZ2VuZXJhdGVkIHNpZ25hbHMuKS4xNSBGIC4xNDYoT25seSBmb3JlLSk1LjE0NiBGIC4xNgorKGdyb3VuZCBwcm9jZXNzZXMgYXJlIGFsbG8pMTA4IDE0NCBSIC4xNih3ZWQgdG8gcmVhZCBmcm9tIG9yKS0uMjUgRiAyLjY2CisoLGkpLS40IEcgMi42NihmdCktMi42NiBHIC4xNihoZSB1c2VyIHNvIHNwZWNpXDIxNGVzIHdpdGgpLTIuNjYgRi9GNCAxMAorL0NvdXJpZXJAMCBTRiAuMTYoc3R0eSB0b3N0b3ApMi42NiBGIEYwIDIuNjYoLHcpQyAuMTYocml0ZSB0byB0aGUgdGVyKQorLTIuNjYgRigtKS0uMiBFIDMuMDUxKG1pbmFsLiBCYWNrZ3JvdW5kKTEwOCAxNTYgUiAuNTUxCisocHJvY2Vzc2VzIHdoaWNoIGF0dGVtcHQgdG8gcmVhZCBmcm9tIFwod3JpdGUgdG8gd2hlbikzLjA1MSBGIEY0IC41NTEKKyhzdHR5IHRvc3RvcCkzLjA1MSBGIEYwIC41NTIoaXMgaW4gZWYpMy4wNTIgRiAuNTUyKGZlY3RcKSB0aGUpLS4yNSBGCisuNzE4KHRlcm1pbmFsIGFyZSBzZW50IGEpMTA4IDE2OCBSIEYyIC43MTgoU0lHVFRJTiBcKFNJR1RUKTMuMjE4IEYoT1VcKSkKKy0uMTYyIEUgRjAgLjcxOChzaWduYWwgYnkgdGhlIGspMi45NjggRihlcm5lbCcpLS4xIEUgMy4yMTcoc3QpLS41NSBHCisuNzE3KGVybWluYWwgZHJpKS0zLjIxNyBGIC0uMTUodmUpLS4yNSBHIDEuNTE3IC0uNChyLCB3KS4xNSBIIC43MTcKKyhoaWNoLCB1bmxlc3MgY2F1Z2h0LCBzdXMtKS40IEYocGVuZHMgdGhlIHByb2Nlc3MuKTEwOCAxODAgUSAxLjA4NworKElmIHRoZSBvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoKTEwOCAxOTYuOCBSL0Y1IDEwL1RpbWVzLUJvbGRAMCBTRgorKGJhc2gpMy41ODcgRSBGMCAxLjA4OChpcyBydW5uaW5nIHN1cHBvcnRzIGpvYiBjb250cm9sLCkzLjU4OCBGIEY1KGJhc2gpCiszLjU4OCBFIEYwIDEuMDg4KGNvbnRhaW5zIGYpMy41ODggRiAxLjA4OChhY2lsaXRpZXMgdG8gdXNlIGl0LiktLjEgRiAtLjgKKyhUeSkxMDggMjA4LjggUyAuMzAyKHBpbmcgdGhlKS44IEYgRjEoc3VzcGVuZCkzLjE0MiBFIEYwIC4zMDIKKyhjaGFyYWN0ZXIgXCh0eXBpY2FsbHkpMy41NzIgRiBGNSheWikyLjgwMSBFIEYwIDIuODAxKCxDKUMgLjMwMQorKG9udHJvbC1aXCkgd2hpbGUgYSBwcm9jZXNzIGlzIHJ1bm5pbmcgY2F1c2VzIHRoYXQgcHJvY2VzcyB0byBiZSktMi44MDEKK0YgMi4xNDIoc3RvcHBlZCBhbmQgcmV0dXJucyBjb250cm9sIHRvKTEwOCAyMjAuOCBSIEY1KGJhc2gpNC42NDIgRSBGMAorNy4xNDIoLlQpQyAyLjE0Mih5cGluZyB0aGUpLTcuOTQyIEYgRjEgMi4xNDIoZGVsYXllZCBzdXNwZW5kKTQuOTkyIEYgRjAKKzIuMTQzKGNoYXJhY3RlciBcKHR5cGljYWxseSk1LjQxMyBGIEY1KF5ZKTQuNjQzIEUgRjAgNC42NDMoLEMpQworKG9udHJvbC1ZXCkpLTQuNjQzIEUgLjAyMShjYXVzZXMgdGhlIHByb2Nlc3MgdG8gYmUgc3RvcHBlZCB3aGVuIGl0IGF0dGVcCittcHRzIHRvIHJlYWQgaW5wdXQgZnJvbSB0aGUgdGVybWluYWwsIGFuZCBjb250cm9sIHRvIGJlIHJldHVybmVkKTEwOAorMjMyLjggUih0bykxMDggMjQ0LjggUSBGNShiYXNoKTMuMzkyIEUgRjAgNS44OTIoLlQpQyAuODkyCisoaGUgdXNlciBtYXkgdGhlbiBtYW5pcHVsYXRlIHRoZSBzdGF0ZSBvZiB0aGlzIGpvYiwgdXNpbmcgdGhlKS01Ljg5MiBGCitGNShiZykzLjM5MiBFIEYwIC44OTIoY29tbWFuZCB0byBjb250aW51ZSBpdCBpbiB0aGUpMy4zOTIgRiAuODk1CisoYmFja2dyb3VuZCwgdGhlKTEwOCAyNTYuOCBSIEY1KGZnKTMuMzk1IEUgRjAgLjg5NQorKGNvbW1hbmQgdG8gY29udGludWUgaXQgaW4gdGhlIGZvcmUpMy4zOTUgRiAuODk1KGdyb3VuZCwgb3IgdGhlKS0uMTUgRgorRjUoa2lsbCkzLjM5NSBFIEYwIC44OTQoY29tbWFuZCB0byBraWxsIGl0LikzLjM5NSBGKEEpNS44OTQgRSBGNSheWikKKzMuMzk0IEUgRjAodGFrKTMuMzk0IEUoZXMpLS4xIEUoZWYpMTA4IDI2OC44IFEgLjk0OChmZWN0IGltbWVkaWF0ZWx5KQorLS4yNSBGIDMuNDQ4KCxhKS0uNjUgRyAuOTQ4KG5kIGhhcyB0aGUgYWRkaXRpb25hbCBzaWRlIGVmKS0zLjQ0OCBGIC45NDgKKyhmZWN0IG9mIGNhdXNpbmcgcGVuZGluZyBvdXRwdXQgYW5kIHR5cGVhaGVhZCB0byBiZSBkaXMtKS0uMjUgRihjYXJkZWQuKQorMTA4IDI4MC44IFEgLjc3NyhUaGVyZSBhcmUgYSBudW1iZXIgb2YgdykxMDggMjk3LjYgUiAuNzc3CisoYXlzIHRvIHJlZmVyIHRvIGEgam9iIGluIHRoZSBzaGVsbC4pLS4xIEYgLjc3NyhUaGUgY2hhcmFjdGVyKTUuNzc3IEYgRjUKKyglKTMuMjc3IEUgRjAgLjc3NyhpbnRyb2R1Y2VzIGEgam9iIHNwZWNpXDIxNGNhdGlvbikzLjI3NyBGKFwoKTEwOCAzMDkuNgorUSBGMShqb2JzcGVjKUEgRjAgMy40NTcoXCkuIEpvYilCKG51bWJlcikzLjQ1NyBFIEYxKG4pMy44MTcgRSBGMCAuOTU3CisobWF5IGJlIHJlZmVycmVkIHRvIGFzKTMuNjk3IEYgRjUoJW4pMy40NTcgRSBGMCA1Ljk1NyguQSlDIC45NTcKKyhqb2IgbWF5IGFsc28gYmUgcmVmZXJyZWQgdG8gdXNpbmcgYSBwcmVcMjE0eCBvZiB0aGUpLTIuNSBGIC41OShuYW1lIHVzXAorZWQgdG8gc3RhcnQgaXQsIG9yIHVzaW5nIGEgc3Vic3RyaW5nIHRoYXQgYXBwZWFycyBpbiBpdHMgY29tbWFuZCBsaW5lLikKKzEwOCAzMjEuNiBSIC0uMTUoRm8pNS41OSBHIDMuMDkocmUpLjE1IEcoeGFtcGxlLCktMy4yNCBFIEY1KCVjZSkzLjA5IEUKK0YwIC41OShyZWZlcnMgdG8gYSkzLjA5IEYoc3RvcHBlZCkxMDggMzMzLjYgUSBGNShjZSkzLjQ2MyBFIEYwKGpvYikzLjQ2MworRSA1Ljk2MyguSSktLjQgRyAzLjQ2MyhmYXApLTUuOTYzIEcgLjk2MworKHJlXDIxNHggbWF0Y2hlcyBtb3JlIHRoYW4gb25lIGpvYiwpLTMuNDYzIEYgRjUoYmFzaCkzLjQ2MyBFIEYwIC45NjMKKyhyZXBvcnRzIGFuIGVycm9yKTMuNDYzIEYgNS45NjMoLlUpLS41NSBHKHNpbmcpLTUuOTYzIEUgRjUoJT9jZSkzLjQ2MyBFCitGMCAzLjQ2NCgsbylDIDMuNDY0KG50KS0zLjQ2NCBHIC45NjQoaGUgb3RoZXIpLTMuNDY0IEYgLjA4NworKGhhbmQsIHJlZmVycyB0byBhbikxMDggMzQ1LjYgUiAyLjU4Nyh5aiktLjE1IEcgLjA4NworKG9iIGNvbnRhaW5pbmcgdGhlIHN0cmluZyktMi41ODcgRiBGNShjZSkyLjU4NyBFIEYwIC4wODcKKyhpbiBpdHMgY29tbWFuZCBsaW5lLikyLjU4NyBGIC4wODcKKyhJZiB0aGUgc3Vic3RyaW5nIG1hdGNoZXMgbW9yZSB0aGFuIG9uZSk1LjA4NyBGKGpvYiwpMTA4IDM1Ny42IFEgRjUKKyhiYXNoKTIuNTE4IEUgRjAgLjAxOChyZXBvcnRzIGFuIGVycm9yKTIuNTE4IEYgNS4wMTgoLlQpLS41NSBHIC4wMTgKKyhoZSBzeW1ib2xzKS01LjAxOCBGIEY1KCUlKTIuNTE4IEUgRjAoYW5kKTIuNTE4IEUgRjUoJSspMi41MTggRSBGMCAuMDE4CisocmVmZXIgdG8gdGhlIHNoZWxsJykyLjUxOCBGIDIuNTE4KHNuKS0uNTUgRyAuMDE4KG90aW9uIG9mIHRoZSktMi41MTggRgorRjEoY3VycikyLjUxOCBFIC4wMTgoZW50IGpvYiktLjM3IEYgRjAgMi41MTgoLHcpLjIzIEcgLjAxOChoaWNoIGlzKQorLTIuNTE4IEYgLjQ5NSh0aGUgbGFzdCBqb2Igc3RvcHBlZCB3aGlsZSBpdCB3KTEwOCAzNjkuNiBSIC40OTUKKyhhcyBpbiB0aGUgZm9yZSktLjEgRiAuNDk1KGdyb3VuZCBvciBzdGFydGVkIGluIHRoZSBiYWNrZ3JvdW5kLiktLjE1IEYKKyhUaGUpNS40OTQgRSBGMShwcik0LjI0NCBFIC0uMTUoZXYpLS4zNyBHIC40OTQoaW91cyBqb2IpLjE1IEYgRjAgLjQ5NAorKG1heSBiZSkzLjIyNCBGIC43ODcocmVmZXJlbmNlZCB1c2luZykxMDggMzgxLjYgUiBGNTwyNWFkPjMuMjg3IEUgRjAKKzUuNzg3KC5JKUMgMy4yODcoZnQpLTUuNzg3IEcgLjc4NyhoZXJlIGlzIG9ubHkgYSBzaW5nbGUgam9iLCktMy4yODcgRiBGNQorKCUrKTMuMjg3IEUgRjAoYW5kKTMuMjg3IEUgRjU8MjVhZD4zLjI4NyBFIEYwIC43ODgKKyhjYW4gYm90aCBiZSB1c2VkIHRvIHJlZmVyIHRvIHRoYXQgam9iKTMuMjg3IEYgNS43ODgoLkkpLS40IEcobiktNS43ODggRQorLjI1NyhvdXRwdXQgcGVydGFpbmluZyB0byBqb2JzIFwoZS5nLiwgdGhlIG91dHB1dCBvZiB0aGUpMTA4IDM5My42IFIgRjUKKyhqb2JzKTIuNzU2IEUgRjAgLjI1Nihjb21tYW5kXCksIHRoZSBjdXJyZW50IGpvYiBpcyBhbCkyLjc1NiBGIC0uMSh3YSkKKy0uMSBHIC4yNTYoeXMgXDIxNWFnZ2VkIHdpdGggYSkuMSBGIEY1KCspMi43NTYgRSBGMCgsKUEgLjQxKGFuZCB0aGUgcHJlKQorMTA4IDQwNS42IFIgLjQxKHZpb3VzIGpvYiB3aXRoIGEpLS4yNSBGIEY1PGFkPjIuOTEgRSBGMCA1LjQxKC5BKUMgLjQxMQorKHNpbmdsZSAlIFwod2l0aCBubyBhY2NvbXBhbiktMi41IEYgLjQxMQorKHlpbmcgam9iIHNwZWNpXDIxNGNhdGlvblwpIGFsc28gcmVmZXJzIHRvIHRoZSBjdXIpLS4xNSBGKC0pLS4yIEUKKyhyZW50IGpvYikxMDggNDE3LjYgUSguKS0uNCBFIC40NDQKKyhTaW1wbHkgbmFtaW5nIGEgam9iIGNhbiBiZSB1c2VkIHRvIGJyaW5nIGl0IGludG8gdGhlIGZvcmUpMTA4IDQzNC40IFIKKyhncm91bmQ6KS0uMTUgRSBGNSglMSkyLjk0MyBFIEYwIC40NDMoaXMgYSBzeW5vbikyLjk0MyBGIC40NDMoeW0gZm9yKQorLS4xNSBGIEY1IC0uNjMoYGApMi45NDMgRyAuNDQzKGZnICUxJykuNjMgRignKS0uNjMgRSBGMCAyLjk0MygsYilDCisocmluZ2luZyktMi45NDMgRSAxLjQ3Mihqb2IgMSBmcm9tIHRoZSBiYWNrZ3JvdW5kIGludG8gdGhlIGZvcmUpMTA4Cis0NDYuNCBSIDMuOTcyKGdyb3VuZC4gU2ltaWxhcmx5KS0uMTUgRigsKS0uNjUgRSBGNSAtLjYzKGBgKTMuOTczIEcgMS40NzMKKyglMSAmJykuNjMgRignKS0uNjMgRSBGMCAxLjQ3MyhyZXN1bWVzIGpvYiAxIGluIHRoZSBiYWNrZ3JvdW5kLCkzLjk3MyBGCisoZXF1aSkxMDggNDU4LjQgUSAtLjI1KHZhKS0uMjUgRyhsZW50IHRvKS4yNSBFIEY1IC0uNjMoYGApMi41IEcoYmcgJTEnKQorLjYzIEUoJyktLjYzIEUgRjAoLilBIC4xMzEoVGhlIHNoZWxsIGxlYXJucyBpbW1lZGlhdGVseSB3aGVuZSkxMDggNDc1LjIKK1IgLS4xNSh2ZSktLjI1IEcgMi42MzEocmFqKS4xNSBHIC4xMzEob2IgY2hhbmdlcyBzdGF0ZS4pLTIuNjMxIEYKKyhOb3JtYWxseSk1LjEzMSBFKCwpLS42NSBFIEY1KGJhc2gpMi42MzEgRSBGMCAtLjEod2EpMi42MyBHIC4xMworKGl0cyB1bnRpbCBpdCBpcyBhYm91dCB0byBwcmludCBhKS4xIEYgLjE1NworKHByb21wdCBiZWZvcmUgcmVwb3J0aW5nIGNoYW5nZXMgaW4gYSBqb2InKTEwOCA0ODcuMiBSIDIuNjU3KHNzKS0uNTUgRworLjE1Nyh0YXR1cyBzbyBhcyB0byBub3QgaW50ZXJydXB0IGFuKS0yLjY1NyBGIDIuNjU4KHlvKS0uMTUgRyAuMTU4CisodGhlciBvdXRwdXQuKS0yLjY1OCBGIC4xNTgoSWYgdGhlKTUuMTU4IEYgRjU8YWQ2Mj4yLjY1OCBFIEYwIC4xNTgKKyhvcHRpb24gdG8pMi42NTggRih0aGUpMTA4IDQ5OS4yIFEgRjUoc2V0KTMuOTUyIEUgRjAgLS4yKGJ1KTMuOTUyIEcKKzEuNDUyKGlsdGluIGNvbW1hbmQgaXMgZW5hYmxlZCwpLjIgRiBGNShiYXNoKTMuOTUyIEUgRjAgMS40NTEKKyhyZXBvcnRzIHN1Y2ggY2hhbmdlcyBpbW1lZGlhdGVseSkzLjk1MiBGIDYuNDUxKC5BKS0uNjUgRyAxLjc1MSAtLjE1CisobnkgdCktNi40NTEgSCAxLjQ1MShyYXAgb24pLjE1IEYgRjIoU0lHQ0hMRCkzLjk1MSBFIEYwKGlzKTMuNzAxIEUgLS4xNQorKGV4ZSkxMDggNTExLjIgUyhjdXRlZCBmb3IgZWFjaCBjaGlsZCB0aGF0IGUpLjE1IEUoeGl0cy4pLS4xNSBFIC4wMzIKKyhJZiBhbiBhdHRlbXB0IHRvIGUpMTA4IDUyOCBSKHhpdCktLjE1IEUgRjUoYmFzaCkyLjUzMiBFIEYwIC4wMzIKKyhpcyBtYWRlIHdoaWxlIGpvYnMgYXJlIHN0b3BwZWQgXChvcikyLjUzMiBGIDIuNTMzKCxpKS0uNCBHIDIuNTMzKGZ0KQorLTIuNTMzIEcoaGUpLTIuNTMzIEUgRjUoY2hlY2tqb2JzKTIuNTMzIEUgRjAgLjAzMworKHNoZWxsIG9wdGlvbiBoYXMgYmVlbiBlbmFibGVkKTIuNTMzIEYgMi4wMih1c2luZyB0aGUpMTA4IDU0MCBSIEY1Cisoc2hvcHQpNC41MiBFIEYwIC0uMihidSk0LjUyIEcgMi4wMgorKGlsdGluLCBydW5uaW5nXCksIHRoZSBzaGVsbCBwcmludHMgYSB3KS4yIEYgMi4wMTkKKyhhcm5pbmcgbWVzc2FnZSwgYW5kLCBpZiB0aGUpLS4xIEYgRjUoY2hlY2tqb2JzKTQuNTE5IEUgRjAgMi4wMTkKKyhvcHRpb24gaXMpNC41MTkgRiAuNDU4KGVuYWJsZWQsIGxpc3RzIHRoZSBqb2JzIGFuZCB0aGVpciBzdGF0dXNlcy4pMTA4Cis1NTIgUihUaGUpNS40NTggRSBGNShqb2JzKTIuOTU4IEUgRjAgLjQ1OQorKGNvbW1hbmQgbWF5IHRoZW4gYmUgdXNlZCB0byBpbnNwZWN0IHRoZWlyIHN0YXR1cy4pMi45NTggRiAuNDU5KElmIGEpCis1LjQ1OSBGIC42MDQoc2Vjb25kIGF0dGVtcHQgdG8gZSkxMDggNTY0IFIgLjYwNAorKHhpdCBpcyBtYWRlIHdpdGhvdXQgYW4gaW50ZXJ2KS0uMTUgRiAuNjA0CisoZW5pbmcgY29tbWFuZCwgdGhlIHNoZWxsIGRvZXMgbm90IHByaW50IGFub3RoZXIgdyktLjE1IEYoYXJuaW5nLCktLjEgRQorKGFuZCBhbikxMDggNTc2IFEgMi41KHlzKS0uMTUgRyh0b3BwZWQgam9icyBhcmUgdGVybWluYXRlZC4pLTIuNSBFL0Y2CisxMC45NS9UaW1lcy1Cb2xkQDAgU0YoUFIpNzIgNTkyLjggUShPTVBUSU5HKS0uMzI5IEUgRjAgLjY0NChXaGVuIGUpMTA4Cis2MDQuOCBSIC0uMTUoeGUpLS4xNSBHIC42NDQoY3V0aW5nIGludGVyYWN0aSkuMTUgRiAtLjE1KHZlKS0uMjUgRyhseSkuMTUKK0UoLCktLjY1IEUgRjUoYmFzaCkzLjE0NCBFIEYwIC42NDUoZGlzcGxheXMgdGhlIHByaW1hcnkgcHJvbXB0KTMuMTQ1IEYKK0YyKFBTMSkzLjE0NSBFIEYwIC42NDUod2hlbiBpdCBpcyByZWFkeSB0byByZWFkIGEgY29tbWFuZCwpMi44OTUgRiAxLjgyNgorKGFuZCB0aGUgc2Vjb25kYXJ5IHByb21wdCkxMDggNjE2LjggUiBGMihQUzIpNC4zMjYgRSBGMCAxLjgyNQorKHdoZW4gaXQgbmVlZHMgbW9yZSBpbnB1dCB0byBjb21wbGV0ZSBhIGNvbW1hbmQuKTQuMDc2IEYgRjUoQmFzaCk2LjgyNSBFCiBGMChhbGxvKTQuMzI1IEUgMS44MjUod3MgdGhlc2UpLS4yNSBGIDEuNDk5KHByb21wdCBzdHJpbmdzIHRvIGJlIGN1c3RvbVwKIGl6ZWQgYnkgaW5zZXJ0aW5nIGEgbnVtYmVyIG9mIGJhY2tzbGFzaC1lc2NhcGVkIHNwZWNpYWwgY2hhcmFjdGVycyB0aGF0XAotIGFyZSkxMDggMTIwIFIoZGVjb2RlZCBhcyBmb2xsbykxMDggMTMyIFEod3M6KS0uMjUgRSBGMihcXGEpMTQ0IDE0NCBRIEYwCi0oYW4gQVNDSUkgYmVsbCBjaGFyYWN0ZXIgXCgwN1wpKTI4LjIyIEUgRjIoXFxkKTE0NCAxNTYgUSBGMAorIGFyZSkxMDggNjI4LjggUihkZWNvZGVkIGFzIGZvbGxvKTEwOCA2NDAuOCBRKHdzOiktLjI1IEUgRjUoXFxhKTE0NAorNjUyLjggUSBGMChhbiBBU0NJSSBiZWxsIGNoYXJhY3RlciBcKDA3XCkpMjguMjIgRSBGNShcXGQpMTQ0IDY2NC44IFEgRjAKICh0aGUgZGF0ZSBpbiAiVykyNy42NiBFKGVla2RheSBNb250aCBEYXRlIiBmb3JtYXQgXChlLmcuLCAiVCktLjggRQotKHVlIE1heSAyNiJcKSktLjQ1IEUgRjIoXFxEeykxNDQgMTY4IFEvRjQgMTAvVGltZXMtSXRhbGljQDAgU0YoZm9ybWF0KUEKLUYyKH0pQSBGMCh0aGUpMTgwIDE4MCBRIEY0KGZvcm1hdCkzLjkyNyBFIEYwIDEuNDI3KGlzIHBhc3NlZCB0bykzLjkyNyBGCi1GNChzdHJmdGltZSkzLjkyNyBFIEYwIDEuNDI3CisodWUgTWF5IDI2IlwpKS0uNDUgRSBGNShcXER7KTE0NCA2NzYuOCBRIEYxKGZvcm1hdClBIEY1KH0pQSBGMCh0aGUpMTgwCis2ODguOCBRIEYxKGZvcm1hdCkzLjkyNyBFIEYwIDEuNDI3KGlzIHBhc3NlZCB0bykzLjkyNyBGIEYxKHN0cmZ0aW1lKQorMy45MjcgRSBGMCAxLjQyNwogKFwoM1wpIGFuZCB0aGUgcmVzdWx0IGlzIGluc2VydGVkIGludG8gdGhlIHByb21wdCBzdHJpbmc7IGFuKUIoZW1wdHkpMTgwCi0xOTIgUSBGNChmb3JtYXQpMi41IEUgRjAKKzcwMC44IFEgRjEoZm9ybWF0KTIuNSBFIEYwCiAocmVzdWx0cyBpbiBhIGxvY2FsZS1zcGVjaVwyMTRjIHRpbWUgcmVwcmVzZW50YXRpb24uKTIuNSBFCi0oVGhlIGJyYWNlcyBhcmUgcmVxdWlyZWQpNSBFIEYyKFxcZSkxNDQgMjA0IFEgRjAKLShhbiBBU0NJSSBlc2NhcGUgY2hhcmFjdGVyIFwoMDMzXCkpMjguNzggRSBGMihcXGgpMTQ0IDIxNiBRIEYwCi0odGhlIGhvc3RuYW1lIHVwIHRvIHRoZSBcMjE0cnN0IGAuKTI3LjY2IEUoJyktLjcgRSBGMihcXEgpMTQ0IDIyOCBRIEYwCi0odGhlIGhvc3RuYW1lKTI1LjQ0IEUgRjIoXFxqKTE0NCAyNDAgUSBGMAotKHRoZSBudW1iZXIgb2Ygam9icyBjdXJyZW50bHkgbWFuYWdlZCBieSB0aGUgc2hlbGwpMjkuODkgRSBGMihcXGwpMTQ0Ci0yNTIgUSBGMCh0aGUgYmFzZW5hbWUgb2YgdGhlIHNoZWxsJykzMC40NCBFIDIuNShzdCktLjU1IEcoZXJtaW5hbCBkZSkKLS0yLjUgRSh2aWNlIG5hbWUpLS4yNSBFIEYyKFxcbikxNDQgMjY0IFEgRjAobmUpMjcuNjYgRSh3bGluZSktLjI1IEUgRjIKLShcXHIpMTQ0IDI3NiBRIEYwKGNhcnJpYWdlIHJldHVybikyOC43OCBFIEYyKFxccykxNDQgMjg4IFEgRjAKLSh0aGUgbmFtZSBvZiB0aGUgc2hlbGwsIHRoZSBiYXNlbmFtZSBvZikyOS4zMyBFIEYyKCQwKTIuNSBFIEYwCi0oXCh0aGUgcG9ydGlvbiBmb2xsbykyLjUgRSh3aW5nIHRoZSBcMjE0bmFsIHNsYXNoXCkpLS4yNSBFIEYyKFxcdCkxNDQKLTMwMCBRIEYwKHRoZSBjdXJyZW50IHRpbWUgaW4gMjQtaG91ciBISDpNTTpTUyBmb3JtYXQpMjkuODkgRSBGMihcXFQpMTQ0Ci0zMTIgUSBGMCh0aGUgY3VycmVudCB0aW1lIGluIDEyLWhvdXIgSEg6TU06U1MgZm9ybWF0KTI2LjU1IEUgRjIoXFxAKTE0NAotMzI0IFEgRjAodGhlIGN1cnJlbnQgdGltZSBpbiAxMi1ob3VyIGFtL3BtIGZvcm1hdCkyMy45MiBFIEYyKFxcQSkxNDQgMzM2Ci1RIEYwKHRoZSBjdXJyZW50IHRpbWUgaW4gMjQtaG91ciBISDpNTSBmb3JtYXQpMjYgRSBGMihcXHUpMTQ0IDM0OCBRIEYwCi0odGhlIHVzZXJuYW1lIG9mIHRoZSBjdXJyZW50IHVzZXIpMjcuNjYgRSBGMihcXHYpMTQ0IDM2MCBRIEYwKHRoZSB2KQotMjguMjIgRShlcnNpb24gb2YpLS4xNSBFIEYyKGJhc2gpMi41IEUgRjAoXChlLmcuLCAyLjAwXCkpMi41IEUgRjIoXFxWKQotMTQ0IDM3MiBRIEYwKHRoZSByZWxlYXNlIG9mKTI2IEUgRjIoYmFzaCkyLjUgRSBGMCAyLjUoLHYpQwotKGVyc2lvbiArIHBhdGNoIGxlKS0yLjY1IEUgLS4xNSh2ZSktLjI1IEcgMi41KGxcKCkuMTUgRyhlLmcuLCAyLjAwLjBcKSkKLS0yLjUgRSBGMihcXHcpMTQ0IDM4NCBRIEYwIC4xMTUodGhlIGN1cnJlbnQgdykyNiBGIC4xMTUKLShvcmtpbmcgZGlyZWN0b3J5KS0uMSBGIDIuNjE1KCx3KS0uNjUgRyhpdGgpLTIuNjE1IEUgRjMoJEhPTUUpMi42MTUgRSBGMAotKGFiYnJlKTIuMzY1IEUgLjExNih2aWF0ZWQgd2l0aCBhIHRpbGRlIFwodXNlcyB0aGUgdiktLjI1IEYgLjExNgotKGFsdWUgb2YgdGhlKS0uMjUgRiBGMyhQUikxODAgMzk2IFEoT01QVF9ESVIpLS4yNyBFKFRSSU0pLS4zNiBFIEYwIC0uMjUKLSh2YSkyLjI1IEcocmlhYmxlXCkpLjI1IEUgRjIoXFxXKTE0NCA0MDggUSBGMAotKHRoZSBiYXNlbmFtZSBvZiB0aGUgY3VycmVudCB3KTIzLjIyIEUob3JraW5nIGRpcmVjdG9yeSktLjEgRSAyLjUoLHcpCi0tLjY1IEcoaXRoKS0yLjUgRSBGMygkSE9NRSkyLjUgRSBGMChhYmJyZSkyLjI1IEUodmlhdGVkIHdpdGggYSB0aWxkZSkKLS0uMjUgRSBGMihcXCEpMTQ0IDQyMCBRIEYwKHRoZSBoaXN0b3J5IG51bWJlciBvZiB0aGlzIGNvbW1hbmQpMjkuODkgRSBGMgotKFxcIykxNDQgNDMyIFEgRjAodGhlIGNvbW1hbmQgbnVtYmVyIG9mIHRoaXMgY29tbWFuZCkyOC4yMiBFIEYyKFxcJCkxNDQKLTQ0NCBRIEYwKGlmIHRoZSBlZikyOC4yMiBFKGZlY3RpKS0uMjUgRSAuMyAtLjE1KHZlIFUpLS4yNSBIKElEIGlzIDAsIGEpCi0uMTUgRSBGMigjKTIuNSBFIEYwIDIuNSgsbylDKHRoZXJ3aXNlIGEpLTIuNSBFIEYyKCQpMi41IEUoXFwpMTQ0IDQ1NiBRCi1GNChubm4pQSBGMCh0aGUgY2hhcmFjdGVyIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG9jdGFsIG51bWJlcikxOC4yMiBFIEY0Ci0obm5uKTIuNSBFIEYyKFxcXFwpMTQ0IDQ2OCBRIEYwIDIuNShhYikzMC40NCBHKGFja3NsYXNoKS0yLjUgRSBGMihcXFspCi0xNDQgNDgwIFEgRjAoYmUpMjkuODkgRSAxLjI1NyhnaW4gYSBzZXF1ZW5jZSBvZiBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1wKLSwgd2hpY2ggY291bGQgYmUgdXNlZCB0byBlbWJlZCBhIHRlcm1pbmFsKS0uMTUgRgotKGNvbnRyb2wgc2VxdWVuY2UgaW50byB0aGUgcHJvbXB0KTE4MCA0OTIgUSBGMihcXF0pMTQ0IDUwNCBRIEYwCi0oZW5kIGEgc2VxdWVuY2Ugb2Ygbm9uLXByaW50aW5nIGNoYXJhY3RlcnMpMjkuODkgRSAuMTE5Ci0oVGhlIGNvbW1hbmQgbnVtYmVyIGFuZCB0aGUgaGlzdG9yeSBudW1iZXIgYXJlIHVzdWFsbHkgZGlmKTEwOCA1MjAuOCBSCi0uMTIoZmVyZW50OiB0aGUgaGlzdG9yeSBudW1iZXIgb2YgYSBjb21tYW5kIGlzIGl0cyktLjI1IEYgMS41ODUocG9zaXRpb1wKLW4gaW4gdGhlIGhpc3RvcnkgbGlzdCwgd2hpY2ggbWF5IGluY2x1ZGUgY29tbWFuZHMgcmVzdG9yZWQgZnJvbSB0aGUgaGlzXAotdG9yeSBcMjE0bGUgXChzZWUpMTA4IDUzMi44IFIgRjMoSElTVCk0LjA4NCBFKE9SKS0uMTYyIEUoWSktLjMxNSBFIEYwCi0oYmVsbykxMDggNTQ0LjggUSAuNTQxKHdcKSwgd2hpbGUgdGhlIGNvbW1hbmQgbnVtYmVyIGlzIHRoZSBwb3NpdGlvbiBpblwKLSB0aGUgc2VxdWVuY2Ugb2YgY29tbWFuZHMgZSktLjI1IEYgLS4xNSh4ZSktLjE1IEcgLjU0MQotKGN1dGVkIGR1cmluZyB0aGUgY3VyKS4xNSBGKC0pLS4yIEUgLjU0NihyZW50IHNoZWxsIHNlc3Npb24uKTEwOCA1NTYuOCBSCi0uNTQ2KEFmdGVyIHRoZSBzdHJpbmcgaXMgZGVjb2RlZCwgaXQgaXMgZSk1LjU0NiBGIC41NDYKLSh4cGFuZGVkIHZpYSBwYXJhbWV0ZXIgZSktLjE1IEYgLjU0Nih4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGl0dS0pLS4xNSBGCi0uMzUxKHRpb24sIGFyaXRobWV0aWMgZSkxMDggNTY4LjggUiAuMzUyKHhwYW5zaW9uLCBhbmQgcXVvdGUgcmVtbyktLjE1IEYKLS0uMjUodmEpLS4xNSBHIC4zNTIobCwgc3ViamVjdCB0byB0aGUgdikuMjUgRiAuMzUyKGFsdWUgb2YgdGhlKS0uMjUgRiBGMgotKHByKTIuODUyIEUob21wdHYpLS4xOCBFKGFycyktLjEgRSBGMCAuMzUyKHNoZWxsIG9wdGlvbiBcKHNlZSB0aGUpMi44NTIKLUYoZGVzY3JpcHRpb24gb2YgdGhlKTEwOCA1ODAuOCBRIEYyKHNob3B0KTIuNSBFIEYwKGNvbW1hbmQgdW5kZXIpMi41IEUKLUYzKFNIRUxMIEIpMi41IEUoVUlMKS0uMDkgRShUSU4gQ09NTUFORFMpLS44MjggRSBGMChiZWxvKTIuMjUgRSh3XCkuKQotLS4yNSBFIEYxKFJFQURMSU5FKTcyIDU5Ny42IFEgRjAgLjE1MQotKFRoaXMgaXMgdGhlIGxpYnJhcnkgdGhhdCBoYW5kbGVzIHJlYWRpbmcgaW5wdXQgd2hlbiB1c2luZyBhbiBpbnRlcmFjdGkpCi0xMDggNjA5LjYgUiAuNDUgLS4xNSh2ZSBzKS0uMjUgSCAuMTUoaGVsbCwgdW5sZXNzIHRoZSkuMTUgRiBGMgotKFwyNTVcMjU1bm9lZGl0aW5nKTIuNjUgRSBGMChvcHRpb24pMi42NSBFIDEuMjA4KGlzIGdpKTEwOCA2MjEuNiBSIC0uMTUKLSh2ZSktLjI1IEcgMy43MDgobmEpLjE1IEcgMy43MDgodHMpLTMuNzA4IEcgMS4yMDgoaGVsbCBpbiktMy43MDggRiAtLjIKLSh2byktLjQgRyAzLjcwOChjYXRpb24uIExpbmUpLjIgRiAxLjIwOAotKGVkaXRpbmcgaXMgYWxzbyB1c2VkIHdoZW4gdXNpbmcgdGhlKTMuNzA4IEYgRjI8YWQ2NT4zLjcwOSBFIEYwIDEuMjA5Ci0ob3B0aW9uIHRvIHRoZSkzLjcwOSBGIEYyIC0uMTgocmUpMy43MDkgRyhhZCkuMTggRSBGMCAtLjIoYnUpMy43MDkgRwotMy43MDkoaWx0aW4uIEJ5KS4yIEYoZGVmKTEwOCA2MzMuNiBRIC45NQotKGF1bHQsIHRoZSBsaW5lIGVkaXRpbmcgY29tbWFuZHMgYXJlIHNpbWlsYXIgdG8gdGhvc2Ugb2YgZW1hY3MuKS0uMSBGCi0zLjQ0OShBdik1Ljk0OSBHIC45NDkoaS1zdHlsZSBsaW5lIGVkaXRpbmcgaW50ZXJmKS0zLjQ0OSBGIC45NDkKLShhY2UgaXMgYWxzbyktLjEgRiAtLjIoYXYpMTA4IDY0NS42IFMgMy4zNShhaWxhYmxlLiBMaW5lKS0uMDUgRiAuODUKLShlZGl0aW5nIGNhbiBiZSBlbmFibGVkIGF0IGFuKTMuMzUgRiAzLjM1KHl0KS0uMTUgRyAuODUoaW1lIHVzaW5nIHRoZSkKLS0zLjM1IEYgRjIgLjg1KFwyNTVvIGVtYWNzKTMuMzUgRiBGMChvcikzLjM1IEUgRjIgLjg1KFwyNTVvIHZpKTMuMzUgRiBGMAotLjg1KG9wdGlvbnMgdG8gdGhlKTMuMzUgRiBGMihzZXQpMy4zNSBFIEYwIC0uMihidSkzLjM1IEcoaWx0aW4pLjIgRQotKFwoc2VlKTEwOCA2NTcuNiBRIEYzIC43NjMoU0hFTEwgQikzLjI2MyBGKFVJTCktLjA5IEUgLjc2MyhUSU4gQ09NTUFORFMpCi0tLjgyOCBGIEYwKGJlbG8pMy4wMTMgRSAzLjI2Myh3XCkuIFQpLS4yNSBGIDMuMjYzKG90KS0uOCBHIC43NjModXJuIG9mKQotLTMuMjYzIEYgMy4yNjMoZmwpLS4yNSBHIC43NjMKLShpbmUgZWRpdGluZyBhZnRlciB0aGUgc2hlbGwgaXMgcnVubmluZywgdXNlIHRoZSktMy4yNjMgRiBGMigrbykzLjI2MiBFCi0oZW1hY3MpMTA4IDY2OS42IFEgRjAob3IpMi41IEUgRjIoK28gdmkpMi41IEUgRjAob3B0aW9ucyB0byB0aGUpMi41IEUgRjIKLShzZXQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYyKFJlYWRsaW5lIE5vdGF0aW9uKTg3IDY4Ni40IFEKLUYwIC41NjcoSW4gdGhpcyBzZWN0aW9uLCB0aGUgZW1hY3Mtc3R5bGUgbm90YXRpb24gaXMgdXNlZCB0byBkZW5vdGUgaykKLTEwOCA2OTguNCBSIC0uMTUoZXkpLS4xIEcoc3Ryb2spLjE1IEUgMy4wNjgoZXMuIENvbnRyb2wpLS4xIEYgLS4xKGtlKQotMy4wNjggRyAuNTY4KHlzIGFyZSBkZW5vdGVkIGJ5IENcMjU1KS0uMDUgRiBGNCAtLjEoa2UpQyh5KS0uMiBFIEYwKCwpQQotMS4xNTMoZS5nLiwgQ1wyNTVuIG1lYW5zIENvbnRyb2xcMjU1Ti4pMTA4IDcxMC40IFIoU2ltaWxhcmx5KTYuMTUzIEUoLCkKLS0uNjUgRSBGNChtZXRhKTQuMDMzIEUgRjAgLS4xKGtlKTMuOTEzIEcgMS4xNTMoeXMgYXJlIGRlbm90ZWQgYnkgTVwyNTUpCi0tLjA1IEYgRjQgLS4xKGtlKUMoeSktLjIgRSBGMCAzLjY1MigscylDIDMuNjUyKG9NKS0zLjY1MiBHIDEuMTUyCi0oXDI1NXggbWVhbnMgTWV0YVwyNTVYLiktMy42NTIgRihcKE9uKTYuMTUyIEUgLS4xKGtlKTEwOCA3MjIuNCBTIC44MwotKHlib2FyZHMgd2l0aG91dCBhKS0uMDUgRiBGNChtZXRhKTMuNzEgRSBGMCAtLjEoa2UpMy41OSBHIDIuMTMgLS42NQotKHksIE0pLS4wNSBIPGFkPi42NSBFIEY0KHgpQSBGMCAuODMobWVhbnMgRVNDKTMuMzMgRiBGNCh4KTMuMzMgRSBGMCAzLjMzCi0oLGkpQyAuODMxKC5lLiwgcHJlc3MgdGhlIEVzY2FwZSBrKS0zLjMzIEYgMS4xMzEgLS4xNShleSB0KS0uMSBIIC44MzEKLShoZW4gdGhlKS4xNSBGIEY0KHgpNC4xMDEgRSBGMCAtLjEoa2UpMy44NjEgRyA0LjYzMSAtLjY1KHkuIFQpLS4wNSBICi0uODMxKGhpcyBtYWspLjY1IEYoZXMpLS4xIEUoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpCi0xMzUuOTY1IEUoMzMpMTg1Ljk1NSBFIDAgQ2cgRVAKKyhUaGUgYnJhY2VzIGFyZSByZXF1aXJlZCk1IEUgRjUoXFxlKTE0NCA3MTIuOCBRIEYwCisoYW4gQVNDSUkgZXNjYXBlIGNoYXJhY3RlciBcKDAzM1wpKTI4Ljc4IEUoR05VIEJhc2gtNC4yKTcyIDc2OCBRCisoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoMzMpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMzQgMzQKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUgLjYoRVNDIHRoZSkxMDggODQgUi9GMSAxMC9UaW1lcy1JdGFsaWNAMCBTRiAuNihtZXRhIHByKTMuMSBGCi0oZVwyMTR4KS0uMzcgRSBGMCA1LjYoLlQpQyAuNihoZSBjb21iaW5hdGlvbiBNXDI1NUNcMjU1KS01LjYgRiBGMSh4KUEgRjAKLS41OTkobWVhbnMgRVNDXDI1NUNvbnRyb2xcMjU1KTMuMDk5IEYgRjEoeClBIEYwIDMuMDk5KCxvKUMgMy4wOTkocnApCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKFxcaCkxNDQgODQgUSBGMAorKHRoZSBob3N0bmFtZSB1cCB0byB0aGUgXDIxNHJzdCBgLikyNy42NiBFKCcpLS43IEUgRjEoXFxIKTE0NCA5NiBRIEYwCisodGhlIGhvc3RuYW1lKTI1LjQ0IEUgRjEoXFxqKTE0NCAxMDggUSBGMAorKHRoZSBudW1iZXIgb2Ygam9icyBjdXJyZW50bHkgbWFuYWdlZCBieSB0aGUgc2hlbGwpMjkuODkgRSBGMShcXGwpMTQ0CisxMjAgUSBGMCh0aGUgYmFzZW5hbWUgb2YgdGhlIHNoZWxsJykzMC40NCBFIDIuNShzdCktLjU1IEcoZXJtaW5hbCBkZSkKKy0yLjUgRSh2aWNlIG5hbWUpLS4yNSBFIEYxKFxcbikxNDQgMTMyIFEgRjAobmUpMjcuNjYgRSh3bGluZSktLjI1IEUgRjEKKyhcXHIpMTQ0IDE0NCBRIEYwKGNhcnJpYWdlIHJldHVybikyOC43OCBFIEYxKFxccykxNDQgMTU2IFEgRjAKKyh0aGUgbmFtZSBvZiB0aGUgc2hlbGwsIHRoZSBiYXNlbmFtZSBvZikyOS4zMyBFIEYxKCQwKTIuNSBFIEYwCisoXCh0aGUgcG9ydGlvbiBmb2xsbykyLjUgRSh3aW5nIHRoZSBcMjE0bmFsIHNsYXNoXCkpLS4yNSBFIEYxKFxcdCkxNDQKKzE2OCBRIEYwKHRoZSBjdXJyZW50IHRpbWUgaW4gMjQtaG91ciBISDpNTTpTUyBmb3JtYXQpMjkuODkgRSBGMShcXFQpMTQ0CisxODAgUSBGMCh0aGUgY3VycmVudCB0aW1lIGluIDEyLWhvdXIgSEg6TU06U1MgZm9ybWF0KTI2LjU1IEUgRjEoXFxAKTE0NAorMTkyIFEgRjAodGhlIGN1cnJlbnQgdGltZSBpbiAxMi1ob3VyIGFtL3BtIGZvcm1hdCkyMy45MiBFIEYxKFxcQSkxNDQgMjA0CitRIEYwKHRoZSBjdXJyZW50IHRpbWUgaW4gMjQtaG91ciBISDpNTSBmb3JtYXQpMjYgRSBGMShcXHUpMTQ0IDIxNiBRIEYwCisodGhlIHVzZXJuYW1lIG9mIHRoZSBjdXJyZW50IHVzZXIpMjcuNjYgRSBGMShcXHYpMTQ0IDIyOCBRIEYwKHRoZSB2KQorMjguMjIgRShlcnNpb24gb2YpLS4xNSBFIEYxKGJhc2gpMi41IEUgRjAoXChlLmcuLCAyLjAwXCkpMi41IEUgRjEoXFxWKQorMTQ0IDI0MCBRIEYwKHRoZSByZWxlYXNlIG9mKTI2IEUgRjEoYmFzaCkyLjUgRSBGMCAyLjUoLHYpQworKGVyc2lvbiArIHBhdGNoIGxlKS0yLjY1IEUgLS4xNSh2ZSktLjI1IEcgMi41KGxcKCkuMTUgRyhlLmcuLCAyLjAwLjBcKSkKKy0yLjUgRSBGMShcXHcpMTQ0IDI1MiBRIEYwIC4xMTUodGhlIGN1cnJlbnQgdykyNiBGIC4xMTUKKyhvcmtpbmcgZGlyZWN0b3J5KS0uMSBGIDIuNjE1KCx3KS0uNjUgRyhpdGgpLTIuNjE1IEUvRjIgOS9UaW1lcy1Cb2xkQDAKK1NGKCRIT01FKTIuNjE1IEUgRjAoYWJicmUpMi4zNjUgRSAuMTE2KHZpYXRlZCB3aXRoIGEgdGlsZGUgXCh1c2VzIHRoZSB2KQorLS4yNSBGIC4xMTYoYWx1ZSBvZiB0aGUpLS4yNSBGIEYyKFBSKTE4MCAyNjQgUShPTVBUX0RJUiktLjI3IEUoVFJJTSktLjM2CitFIEYwIC0uMjUodmEpMi4yNSBHKHJpYWJsZVwpKS4yNSBFIEYxKFxcVykxNDQgMjc2IFEgRjAKKyh0aGUgYmFzZW5hbWUgb2YgdGhlIGN1cnJlbnQgdykyMy4yMiBFKG9ya2luZyBkaXJlY3RvcnkpLS4xIEUgMi41KCx3KQorLS42NSBHKGl0aCktMi41IEUgRjIoJEhPTUUpMi41IEUgRjAoYWJicmUpMi4yNSBFKHZpYXRlZCB3aXRoIGEgdGlsZGUpCistLjI1IEUgRjEoXFwhKTE0NCAyODggUSBGMCh0aGUgaGlzdG9yeSBudW1iZXIgb2YgdGhpcyBjb21tYW5kKTI5Ljg5IEUgRjEKKyhcXCMpMTQ0IDMwMCBRIEYwKHRoZSBjb21tYW5kIG51bWJlciBvZiB0aGlzIGNvbW1hbmQpMjguMjIgRSBGMShcXCQpMTQ0CiszMTIgUSBGMChpZiB0aGUgZWYpMjguMjIgRShmZWN0aSktLjI1IEUgLjMgLS4xNSh2ZSBVKS0uMjUgSChJRCBpcyAwLCBhKQorLjE1IEUgRjEoIykyLjUgRSBGMCAyLjUoLG8pQyh0aGVyd2lzZSBhKS0yLjUgRSBGMSgkKTIuNSBFKFxcKTE0NCAzMjQgUQorL0YzIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG5ubilBIEYwCisodGhlIGNoYXJhY3RlciBjb3JyZXNwb25kaW5nIHRvIHRoZSBvY3RhbCBudW1iZXIpMTguMjIgRSBGMyhubm4pMi41IEUgRjEKKyhcXFxcKTE0NCAzMzYgUSBGMCAyLjUoYWIpMzAuNDQgRyhhY2tzbGFzaCktMi41IEUgRjEoXFxbKTE0NCAzNDggUSBGMAorKGJlKTI5Ljg5IEUgMS4yNTcoZ2luIGEgc2VxdWVuY2Ugb2Ygbm9uLXByaW50aW5nIGNoYXJhY3RlcnMsIHdoaWNoIGNvdWxcCitkIGJlIHVzZWQgdG8gZW1iZWQgYSB0ZXJtaW5hbCktLjE1IEYoY29udHJvbCBzZXF1ZW5jZSBpbnRvIHRoZSBwcm9tcHQpCisxODAgMzYwIFEgRjEoXFxdKTE0NCAzNzIgUSBGMChlbmQgYSBzZXF1ZW5jZSBvZiBub24tcHJpbnRpbmcgY2hhcmFjdGVycykKKzI5Ljg5IEUgLjExOShUaGUgY29tbWFuZCBudW1iZXIgYW5kIHRoZSBoaXN0b3J5IG51bWJlciBhcmUgdXN1YWxseSBkaWYpCisxMDggMzg4LjggUiAuMTIoZmVyZW50OiB0aGUgaGlzdG9yeSBudW1iZXIgb2YgYSBjb21tYW5kIGlzIGl0cyktLjI1IEYKKzEuNTg1KHBvc2l0aW9uIGluIHRoZSBoaXN0b3J5IGxpc3QsIHdoaWNoIG1heSBpbmNsdWRlIGNvbW1hbmRzIHJlc3RvcmVkXAorIGZyb20gdGhlIGhpc3RvcnkgXDIxNGxlIFwoc2VlKTEwOCA0MDAuOCBSIEYyKEhJU1QpNC4wODQgRShPUiktLjE2MiBFKFkpCistLjMxNSBFIEYwKGJlbG8pMTA4IDQxMi44IFEgLjU0MSh3XCksIHdoaWxlIHRoZSBjb21tYW5kIG51bWJlciBpcyB0aGUgcFwKK29zaXRpb24gaW4gdGhlIHNlcXVlbmNlIG9mIGNvbW1hbmRzIGUpLS4yNSBGIC0uMTUoeGUpLS4xNSBHIC41NDEKKyhjdXRlZCBkdXJpbmcgdGhlIGN1cikuMTUgRigtKS0uMiBFIC41NDYocmVudCBzaGVsbCBzZXNzaW9uLikxMDggNDI0LjggUgorLjU0NihBZnRlciB0aGUgc3RyaW5nIGlzIGRlY29kZWQsIGl0IGlzIGUpNS41NDYgRiAuNTQ2CisoeHBhbmRlZCB2aWEgcGFyYW1ldGVyIGUpLS4xNSBGIC41NDYoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHUtKS0uMTUgRgorLjM1MSh0aW9uLCBhcml0aG1ldGljIGUpMTA4IDQzNi44IFIgLjM1Mih4cGFuc2lvbiwgYW5kIHF1b3RlIHJlbW8pLS4xNSBGCistLjI1KHZhKS0uMTUgRyAuMzUyKGwsIHN1YmplY3QgdG8gdGhlIHYpLjI1IEYgLjM1MihhbHVlIG9mIHRoZSktLjI1IEYgRjEKKyhwcikyLjg1MiBFKG9tcHR2KS0uMTggRShhcnMpLS4xIEUgRjAgLjM1MihzaGVsbCBvcHRpb24gXChzZWUgdGhlKTIuODUyCitGKGRlc2NyaXB0aW9uIG9mIHRoZSkxMDggNDQ4LjggUSBGMShzaG9wdCkyLjUgRSBGMChjb21tYW5kIHVuZGVyKTIuNSBFCitGMihTSEVMTCBCKTIuNSBFKFVJTCktLjA5IEUoVElOIENPTU1BTkRTKS0uODI4IEUgRjAoYmVsbykyLjI1IEUod1wpLikKKy0uMjUgRS9GNCAxMC45NS9UaW1lcy1Cb2xkQDAgU0YoUkVBRExJTkUpNzIgNDY1LjYgUSBGMCAuMTUxCisoVGhpcyBpcyB0aGUgbGlicmFyeSB0aGF0IGhhbmRsZXMgcmVhZGluZyBpbnB1dCB3aGVuIHVzaW5nIGFuIGludGVyYWN0aSkKKzEwOCA0NzcuNiBSIC40NSAtLjE1KHZlIHMpLS4yNSBIIC4xNShoZWxsLCB1bmxlc3MgdGhlKS4xNSBGIEYxCisoXDI1NVwyNTVub2VkaXRpbmcpMi42NSBFIEYwKG9wdGlvbikyLjY1IEUgMS4yMDgoaXMgZ2kpMTA4IDQ4OS42IFIgLS4xNQorKHZlKS0uMjUgRyAzLjcwOChuYSkuMTUgRyAzLjcwOCh0cyktMy43MDggRyAxLjIwOChoZWxsIGluKS0zLjcwOCBGIC0uMgorKHZvKS0uNCBHIDMuNzA4KGNhdGlvbi4gTGluZSkuMiBGIDEuMjA4CisoZWRpdGluZyBpcyBhbHNvIHVzZWQgd2hlbiB1c2luZyB0aGUpMy43MDggRiBGMTxhZDY1PjMuNzA5IEUgRjAgMS4yMDkKKyhvcHRpb24gdG8gdGhlKTMuNzA5IEYgRjEgLS4xOChyZSkzLjcwOSBHKGFkKS4xOCBFIEYwIC0uMihidSkzLjcwOSBHCiszLjcwOShpbHRpbi4gQnkpLjIgRihkZWYpMTA4IDUwMS42IFEgLjg1MQorKGF1bHQsIHRoZSBsaW5lIGVkaXRpbmcgY29tbWFuZHMgYXJlIHNpbWlsYXIgdG8gdGhvc2Ugb2YgRW1hY3MuKS0uMSBGCiszLjM1MShBdik1Ljg1MSBHIC44NTEoaS1zdHlsZSBsaW5lIGVkaXRpbmcgaW50ZXJmKS0zLjM1MSBGIC44NTEKKyhhY2UgaXMgYWxzbyktLjEgRiAtLjIoYXYpMTA4IDUxMy42IFMgMy4zNShhaWxhYmxlLiBMaW5lKS0uMDUgRiAuODUKKyhlZGl0aW5nIGNhbiBiZSBlbmFibGVkIGF0IGFuKTMuMzUgRiAzLjM1KHl0KS0uMTUgRyAuODUoaW1lIHVzaW5nIHRoZSkKKy0zLjM1IEYgRjEgLjg1KFwyNTVvIGVtYWNzKTMuMzUgRiBGMChvcikzLjM1IEUgRjEgLjg1KFwyNTVvIHZpKTMuMzUgRiBGMAorLjg1KG9wdGlvbnMgdG8gdGhlKTMuMzUgRiBGMShzZXQpMy4zNSBFIEYwIC0uMihidSkzLjM1IEcoaWx0aW4pLjIgRQorKFwoc2VlKTEwOCA1MjUuNiBRIEYyIC43NjMoU0hFTEwgQikzLjI2MyBGKFVJTCktLjA5IEUgLjc2MyhUSU4gQ09NTUFORFMpCistLjgyOCBGIEYwKGJlbG8pMy4wMTMgRSAzLjI2Myh3XCkuIFQpLS4yNSBGIDMuMjYzKG90KS0uOCBHIC43NjModXJuIG9mKQorLTMuMjYzIEYgMy4yNjMoZmwpLS4yNSBHIC43NjMKKyhpbmUgZWRpdGluZyBhZnRlciB0aGUgc2hlbGwgaXMgcnVubmluZywgdXNlIHRoZSktMy4yNjMgRiBGMSgrbykzLjI2MiBFCisoZW1hY3MpMTA4IDUzNy42IFEgRjAob3IpMi41IEUgRjEoK28gdmkpMi41IEUgRjAob3B0aW9ucyB0byB0aGUpMi41IEUgRjEKKyhzZXQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYxKFJlYWRsaW5lIE5vdGF0aW9uKTg3IDU1NC40IFEKK0YwIC40NjMoSW4gdGhpcyBzZWN0aW9uLCB0aGUgRW1hY3Mtc3R5bGUgbm90YXRpb24gaXMgdXNlZCB0byBkZW5vdGUgaykKKzEwOCA1NjYuNCBSIC0uMTUoZXkpLS4xIEcoc3Ryb2spLjE1IEUgMi45NjMoZXMuIENvbnRyb2wpLS4xIEYgLS4xKGtlKQorMi45NjMgRyAuNDYzKHlzIGFyZSBkZW5vdGVkIGJ5IENcMjU1KS0uMDUgRiBGMyAtLjEoa2UpQyh5KS0uMiBFIEYwKCwpQQorMS4xNTMoZS5nLiwgQ1wyNTVuIG1lYW5zIENvbnRyb2xcMjU1Ti4pMTA4IDU3OC40IFIoU2ltaWxhcmx5KTYuMTUzIEUoLCkKKy0uNjUgRSBGMyhtZXRhKTQuMDMzIEUgRjAgLS4xKGtlKTMuOTEzIEcgMS4xNTMoeXMgYXJlIGRlbm90ZWQgYnkgTVwyNTUpCistLjA1IEYgRjMgLS4xKGtlKUMoeSktLjIgRSBGMCAzLjY1MigscylDIDMuNjUyKG9NKS0zLjY1MiBHIDEuMTUyCisoXDI1NXggbWVhbnMgTWV0YVwyNTVYLiktMy42NTIgRihcKE9uKTYuMTUyIEUgLS4xKGtlKTEwOCA1OTAuNCBTIC44MworKHlib2FyZHMgd2l0aG91dCBhKS0uMDUgRiBGMyhtZXRhKTMuNzEgRSBGMCAtLjEoa2UpMy41OSBHIDIuMTMgLS42NQorKHksIE0pLS4wNSBIPGFkPi42NSBFIEYzKHgpQSBGMCAuODMobWVhbnMgRVNDKTMuMzMgRiBGMyh4KTMuMzMgRSBGMCAzLjMzCisoLGkpQyAuODMxKC5lLiwgcHJlc3MgdGhlIEVzY2FwZSBrKS0zLjMzIEYgMS4xMzEgLS4xNShleSB0KS0uMSBIIC44MzEKKyhoZW4gdGhlKS4xNSBGIEYzKHgpNC4xMDEgRSBGMCAtLjEoa2UpMy44NjEgRyA0LjYzMSAtLjY1KHkuIFQpLS4wNSBICisuODMxKGhpcyBtYWspLjY1IEYoZXMpLS4xIEUgLjYoRVNDIHRoZSkxMDggNjAyLjQgUiBGMyAuNihtZXRhIHByKTMuMSBGCisoZVwyMTR4KS0uMzcgRSBGMCA1LjYoLlQpQyAuNihoZSBjb21iaW5hdGlvbiBNXDI1NUNcMjU1KS01LjYgRiBGMyh4KUEgRjAKKy41OTkobWVhbnMgRVNDXDI1NUNvbnRyb2xcMjU1KTMuMDk5IEYgRjMoeClBIEYwIDMuMDk5KCxvKUMgMy4wOTkocnApCiAtMy4wOTkgRyAuNTk5KHJlc3MgdGhlIEVzY2FwZSBrKS0zLjA5OSBGIC44OTkgLS4xNShleSB0KS0uMSBIIC41OTkKLShoZW4gaG9sZCkuMTUgRih0aGUgQ29udHJvbCBrKTEwOCA5NiBRIC4zIC0uMTUoZXkgdyktLjEgSAotKGhpbGUgcHJlc3NpbmcgdGhlKS4xNSBFIEYxKHgpMy4yNyBFIEYwIC0uMShrZSkzLjAzIEcgLS42NSh5LiktLjA1IEcoXCkpCi0uNjUgRSAuNjE5KFJlYWRsaW5lIGNvbW1hbmRzIG1heSBiZSBnaSkxMDggMTEyLjggUiAtLjE1KHZlKS0uMjUgRyAzLjExOQotKG5uKS4xNSBHKHVtZXJpYyktMy4xMTkgRSBGMShhcikzLjExOSBFKGd1bWVudHMpLS4zNyBFIEYwIDMuMTE5KCx3KS4yNyBHCisoaGVuIGhvbGQpLjE1IEYodGhlIENvbnRyb2wgaykxMDggNjE0LjQgUSAuMyAtLjE1KGV5IHcpLS4xIEgKKyhoaWxlIHByZXNzaW5nIHRoZSkuMTUgRSBGMyh4KTMuMjcgRSBGMCAtLjEoa2UpMy4wMyBHIC0uNjUoeS4pLS4wNSBHKFwpKQorLjY1IEUgLjYxOShSZWFkbGluZSBjb21tYW5kcyBtYXkgYmUgZ2kpMTA4IDYzMS4yIFIgLS4xNSh2ZSktLjI1IEcgMy4xMTkKKyhubikuMTUgRyh1bWVyaWMpLTMuMTE5IEUgRjMoYXIpMy4xMTkgRShndW1lbnRzKS0uMzcgRSBGMCAzLjExOSgsdykuMjcgRwogLjYxOShoaWNoIG5vcm1hbGx5IGFjdCBhcyBhIHJlcGVhdCBjb3VudC4pLTMuMTE5IEYoU29tZXRpbWVzLCk1LjYyIEUoaG8pCi0xMDggMTI0LjggUSh3ZSktLjI1IEUgLS4xNSh2ZSktLjI1IEcgMS40MTkgLS40KHIsIGkpLjE1IEggMy4xMTkodGkpLjQgRworMTA4IDY0My4yIFEod2UpLS4yNSBFIC0uMTUodmUpLS4yNSBHIDEuNDE5IC0uNChyLCBpKS4xNSBIIDMuMTE5KHRpKS40IEcKIDMuMTE5KHN0KS0zLjExOSBHIC42MTkoaGUgc2lnbiBvZiB0aGUgYXIpLTMuMTE5IEYgLjYxOQogKGd1bWVudCB0aGF0IGlzIHNpZ25pXDIxNGNhbnQuKS0uMTggRiAtLjE1KFBhKTUuNjE5IEcgLjYxOShzc2luZyBhIG5lKQogLjE1IEYgLS4wNShnYSktLjE1IEcodGkpLjA1IEUgLjkxOSAtLjE1KHZlIGEpLS4yNSBIIC0uMTgocmcpLjE1IEcgLjYxOQotKHVtZW50IHRvIGEgY29tbWFuZCB0aGF0KS4xOCBGIDEuMDE4KGFjdHMgaW4gdGhlIGZvcncpMTA4IDEzNi44IFIgMS4wMTgKLShhcmQgZGlyZWN0aW9uIFwoZS5nLiwpLS4xIEYvRjIgMTAvVGltZXMtQm9sZEAwIFNGKGtpbGxcMjU1bGluZSkzLjUxOCBFCi1GMCAzLjUxOChcKWMpQyAxLjAxOChhdXNlcyB0aGF0IGNvbW1hbmQgdG8gYWN0IGluIGEgYmFja3cpLTMuNTE4IEYgMS4wMTkKLShhcmQgZGlyZWN0aW9uLiktLjEgRihDb20tKTYuMDE5IEUobWFuZHMgd2hvc2UgYmVoYSkxMDggMTQ4LjggUQorKHVtZW50IHRvIGEgY29tbWFuZCB0aGF0KS4xOCBGIDEuMDE4KGFjdHMgaW4gdGhlIGZvcncpMTA4IDY1NS4yIFIgMS4wMTgKKyhhcmQgZGlyZWN0aW9uIFwoZS5nLiwpLS4xIEYgRjEoa2lsbFwyNTVsaW5lKTMuNTE4IEUgRjAgMy41MTgoXCljKUMKKzEuMDE4KGF1c2VzIHRoYXQgY29tbWFuZCB0byBhY3QgaW4gYSBiYWNrdyktMy41MTggRiAxLjAxOQorKGFyZCBkaXJlY3Rpb24uKS0uMSBGKENvbS0pNi4wMTkgRShtYW5kcyB3aG9zZSBiZWhhKTEwOCA2NjcuMiBRCiAodmlvciB3aXRoIGFyKS0uMiBFKGd1bWVudHMgZGUpLS4xOCBFKHZpYXRlcyBmcm9tIHRoaXMgYXJlIG5vdGVkIGJlbG8pCi0tLjI1IEUgLS42NSh3LiktLjI1IEcgLjgxMihXaGVuIGEgY29tbWFuZCBpcyBkZXNjcmliZWQgYXMpMTA4IDE2NS42IFIgRjEKKy0uMjUgRSAtLjY1KHcuKS0uMjUgRyAuODEyKFdoZW4gYSBjb21tYW5kIGlzIGRlc2NyaWJlZCBhcykxMDggNjg0IFIgRjMKIChraWxsaW5nKTMuMzExIEUgRjAodGUpMy4zMTEgRSAuODExKHh0LCB0aGUgdGUpLS4xNSBGIC44MTEKICh4dCBkZWxldGVkIGlzIHNhKS0uMTUgRiAtLjE1KHZlKS0uMiBHIDMuMzExKGRmKS4xNSBHIC44MTEKLShvciBwb3NzaWJsZSBmdXR1cmUgcmV0cmllKS0zLjMxMSBGIC0uMjUodmEpLS4yNSBHIDMuMzExKGxcKCkuMjUgRyBGMQotKHlhbmstKS0zLjMxMSBFKGluZykxMDggMTc3LjYgUSBGMCAyLjUyOShcKS4gVGhlKUIgLjAyOShraWxsZWQgdGUpMi41MjkKLUYgLjAyOSh4dCBpcyBzYSktLjE1IEYgLS4xNSh2ZSktLjIgRyAyLjUyOShkaSkuMTUgRyAyLjUyOShuYSktMi41MjkgRyBGMQorKG9yIHBvc3NpYmxlIGZ1dHVyZSByZXRyaWUpLTMuMzExIEYgLS4yNSh2YSktLjI1IEcgMy4zMTEobFwoKS4yNSBHIEYzCisoeWFuay0pLTMuMzExIEUoaW5nKTEwOCA2OTYgUSBGMCAyLjUyOShcKS4gVGhlKUIgLjAyOShraWxsZWQgdGUpMi41MjkgRgorLjAyOSh4dCBpcyBzYSktLjE1IEYgLS4xNSh2ZSktLjIgRyAyLjUyOShkaSkuMTUgRyAyLjUyOShuYSktMi41MjkgRyBGMwogLjAyOShraWxsIHJpbmcpQiBGMCA1LjAyOSguQylDKG9uc2VjdXRpKS01LjAyOSBFIC4zMjkgLS4xNSh2ZSBrKS0uMjUgSAogLjAyOShpbGxzIGNhdXNlIHRoZSB0ZSkuMTUgRiAuMDI5KHh0IHRvIGJlIGFjY3VtdWxhdGVkIGludG8gb25lIHVuaXQsKQotLS4xNSBGIC41Njcod2hpY2ggY2FuIGJlIHlhbmspMTA4IDE4OS42IFIgLjU2NyhlZCBhbGwgYXQgb25jZS4pLS4xIEYKLS41NjcoQ29tbWFuZHMgd2hpY2ggZG8gbm90IGtpbGwgdGUpNS41NjcgRiAuNTY3CistLjE1IEYgLjU2Nyh3aGljaCBjYW4gYmUgeWFuaykxMDggNzA4IFIgLjU2NyhlZCBhbGwgYXQgb25jZS4pLS4xIEYgLjU2NworKENvbW1hbmRzIHdoaWNoIGRvIG5vdCBraWxsIHRlKTUuNTY3IEYgLjU2NwogKHh0IHNlcGFyYXRlIHRoZSBjaHVua3Mgb2YgdGUpLS4xNSBGIC41NjcoeHQgb24gdGhlIGtpbGwpLS4xNSBGKHJpbmcuKQotMTA4IDIwMS42IFEgRjIoUmVhZGxpbmUgSW5pdGlhbGl6YXRpb24pODcgMjE4LjQgUSBGMCAuMDkxKFJlYWRsaW5lIGlzIGNcCi11c3RvbWl6ZWQgYnkgcHV0dGluZyBjb21tYW5kcyBpbiBhbiBpbml0aWFsaXphdGlvbiBcMjE0bGUgXCh0aGUpMTA4Ci0yMzAuNCBSIEYxKGlucHV0cikyLjU5MSBFKGMpLS4zNyBFIEYwIDIuNTkxKFwyMTRsZVwpLiBUaGUpMi41OTEgRiAuMDkyCi0obmFtZSBvZiB0aGlzIFwyMTRsZSkyLjU5MSBGIC4xOTcoaXMgdGFrKTEwOCAyNDIuNCBSIC4xOTYoZW4gZnJvbSB0aGUgdikKLS0uMSBGIC4xOTYoYWx1ZSBvZiB0aGUpLS4yNSBGL0YzIDkvVGltZXMtQm9sZEAwIFNGKElOUFVUUkMpMi42OTYgRSBGMAotLS4yNSh2YSkyLjQ0NiBHIDIuNjk2KHJpYWJsZS4gSWYpLjI1IEYgLjE5Nih0aGF0IHYpMi42OTYgRiAuMTk2Ci0oYXJpYWJsZSBpcyB1bnNldCwgdGhlIGRlZiktLjI1IEYgLjE5NihhdWx0IGlzKS0uMSBGIEYxKH4vLmlucHV0cikyLjY5NgotRShjKS0uMzcgRSBGMCA1LjE5NiguVykuMzEgRyAuMTk2KGhlbiBhKS01LjE5NiBGIDEuMDM0KHByb2dyYW0gd2hpY2ggdXNcCi1lcyB0aGUgcmVhZGxpbmUgbGlicmFyeSBzdGFydHMgdXAsIHRoZSBpbml0aWFsaXphdGlvbiBcMjE0bGUgaXMgcmVhZCwgYVwKLW5kIHRoZSBrKTEwOCAyNTQuNCBSIDEuMzM1IC0uMTUoZXkgYiktLjEgSCAxLjAzNShpbmRpbmdzIGFuZCkuMTUgRiAtLjI1Ci0odmEpMTA4IDI2Ni40IFMgMS4xNShyaWFibGVzIGFyZSBzZXQuKS4yNSBGIDEuMTUoVGhlcmUgYXJlIG9ubHkgYSBmZSkKLTYuMTUgRiAzLjY0OSh3YiktLjI1IEcgMS4xNDkoYXNpYyBjb25zdHJ1Y3RzIGFsbG8pLTMuNjQ5IEYgMS4xNDkKLSh3ZWQgaW4gdGhlIHJlYWRsaW5lIGluaXRpYWxpemF0aW9uIFwyMTRsZS4pLS4yNSBGKEJsYW5rKTYuMTQ5IEUgLjczNgotKGxpbmVzIGFyZSBpZ25vcmVkLikxMDggMjc4LjQgUiAuNzM3KExpbmVzIGJlKTUuNzM3IEYgLjczNwotKGdpbm5pbmcgd2l0aCBhKS0uMTUgRiBGMigjKTMuMjM3IEUgRjAgLjczNyhhcmUgY29tbWVudHMuKTMuMjM3IEYgLjczNwotKExpbmVzIGJlKTUuNzM3IEYgLjczNyhnaW5uaW5nIHdpdGggYSktLjE1IEYgRjIoJCkzLjIzNyBFIEYwIC43MzcKLShpbmRpY2F0ZSBjb25kaXRpb25hbCkzLjIzNyBGIDIuNShjb25zdHJ1Y3RzLiBPdGhlcikxMDggMjkwLjQgUgotKGxpbmVzIGRlbm90ZSBrKTIuNSBFIC4zIC0uMTUoZXkgYiktLjEgSChpbmRpbmdzIGFuZCB2KS4xNSBFCi0oYXJpYWJsZSBzZXR0aW5ncy4pLS4yNSBFIC45ODcoVGhlIGRlZikxMDggMzA3LjIgUiAuOTg3KGF1bHQgayktLjEgRgotLS4xNShleSktLjEgRyAuOTg3KC1iaW5kaW5ncyBtYXkgYmUgY2hhbmdlZCB3aXRoIGFuKS4xNSBGIEYxKGlucHV0cikKLTMuNDk3IEUoYyktLjM3IEUgRjAgMy40ODcoXDIxNGxlLiBPdGhlcikzLjc5NyBGIC45ODcKLShwcm9ncmFtcyB0aGF0IHVzZSB0aGlzIGxpYnJhcnkgbWF5KTMuNDg3IEYoYWRkIHRoZWlyIG8pMTA4IDMxOS4yIFEKLSh3biBjb21tYW5kcyBhbmQgYmluZGluZ3MuKS0uMjUgRSAtLjE1KEZvKTEwOCAzMzYgUyAyLjUocmUpLjE1IEcKLSh4YW1wbGUsIHBsYWNpbmcpLTIuNjUgRShNXDI1NUNvbnRyb2xcMjU1dTogdW5pKTE0NCAzNTIuOCBRIC0uMTUodmUpLS4yNQotRyhyc2FsXDI1NWFyKS4xNSBFKGd1bWVudCktLjE4IEUob3IpMTA4IDM2NC44IFEoQ1wyNTVNZXRhXDI1NXU6IHVuaSkxNDQKLTM3Ni44IFEgLS4xNSh2ZSktLjI1IEcocnNhbFwyNTVhcikuMTUgRShndW1lbnQpLS4xOCBFKGludG8gdGhlKTEwOCAzODguOAotUSBGMShpbnB1dHIpMi41MSBFKGMpLS4zNyBFIEYwIC0uMSh3bykyLjgxIEcodWxkIG1haykuMSBFIDIuNShlTSktLjEgRwotKFwyNTVDXDI1NXUgZSktMi41IEUgLS4xNSh4ZSktLjE1IEcoY3V0ZSB0aGUgcmVhZGxpbmUgY29tbWFuZCkuMTUgRSBGMQotKHVuaXZlcikyLjUgRShzYWxcMjU1YXIpLS4xIEUoZ3VtZW50KS0uMzcgRSBGMCguKS42OCBFIDEuMjYoVGhlIGZvbGxvKQotMTA4IDQwNS42IFIgMS4yNjEod2luZyBzeW1ib2xpYyBjaGFyYWN0ZXIgbmFtZXMgYXJlIHJlY29nbml6ZWQ6KS0uMjUgRgotRjEgLS40KFJVKTMuNzYxIEcoQk9VVCkuNCBFIEYwKCwpMS4yNyBFIEYxKERFTCkzLjc2MSBFIEYwKCwpLjUzIEUgRjEKLShFU0MpMy43NjEgRSBGMCgsKS43MiBFIEYxKExGRCkzLjc2MSBFIEYwKCwpLjI4IEUgRjEoTkVXTElORSkzLjc2MSBFIEYwCi0oLCkuNzMgRSBGMShSRVQpMy43NjEgRSBGMCgsKTEuMjcgRSBGMShSRVRVUk4pMTA4IDQxNy42IFEgRjAoLCkxLjEgRSBGMQotKFNQQykyLjUgRSBGMCgsKS43MiBFIEYxKFNQKTIuNSBFIC0uMyhBQyktLjkgRyhFKS4zIEUgRjAgMi41KCxhKS43MyBHCi0obmQpLTIuNSBFIEYxIC0uNShUQSkyLjUgRyhCKS41IEUgRjAoLikuMjcgRSAuMjA5Ci0oSW4gYWRkaXRpb24gdG8gY29tbWFuZCBuYW1lcywgcmVhZGxpbmUgYWxsbykxMDggNDM0LjQgUiAuMjA5KHdzIGspLS4yNQotRiAtLjE1KGV5KS0uMSBHIDIuNzA5KHN0KS4xNSBHIDIuNzA5KG9iKS0yLjcwOSBHIDIuNzA5KGViKS0yLjcwOSBHIC4yMDkKLShvdW5kIHRvIGEgc3RyaW5nIHRoYXQgaXMgaW5zZXJ0ZWQgd2hlbiB0aGUgayktMi43MDkgRiAuNTA5IC0uMTUoZXkgaSkKLS0uMSBIKHMpLjE1IEUocHJlc3NlZCBcKGEpMTA4IDQ0Ni40IFEgRjEobWFjcikyLjUgRShvKS0uNDUgRSBGMChcKS4pQSBGMgotKFJlYWRsaW5lIEspODcgNDYzLjIgUShleSBCaW5kaW5ncyktLjI1IEUgRjAgLjM2NgotKFRoZSBzeW50YXggZm9yIGNvbnRyb2xsaW5nIGspMTA4IDQ3NS4yIFIgLjY2NiAtLjE1KGV5IGIpLS4xIEggLjM2NgotKGluZGluZ3MgaW4gdGhlKS4xNSBGIEYxKGlucHV0cikyLjg3NiBFKGMpLS4zNyBFIEYwIC4zNjYKLShcMjE0bGUgaXMgc2ltcGxlLikzLjE3NiBGIC4zNjYoQWxsIHRoYXQgaXMgcmVxdWlyZWQgaXMgdGhlIG5hbWUgb2YgdGhlKQotNS4zNjYgRiAuMzgzKGNvbW1hbmQgb3IgdGhlIHRlKTEwOCA0ODcuMiBSIC4zODMoeHQgb2YgYSBtYWNybyBhbmQgYSBrKQotLS4xNSBGIC42ODMgLS4xNShleSBzKS0uMSBIIC4zODMKLShlcXVlbmNlIHRvIHdoaWNoIGl0IHNob3VsZCBiZSBib3VuZC4gVGhlIG5hbWUgbWF5IGJlIHNwZWNpLSkuMTUgRiAuODUzCi0oXDIxNGVkIGluIG9uZSBvZiB0dykxMDggNDk5LjIgUiAzLjM1MyhvdyktLjEgRyAuODUzCi0oYXlzOiBhcyBhIHN5bWJvbGljIGspLTMuNDUzIEYgMS4xNTMgLS4xNShleSBuKS0uMSBIIC44NTMKLShhbWUsIHBvc3NpYmx5IHdpdGgpLjE1IEYgRjEoTWV0YVwyNTUpMy4zNTMgRSBGMChvcikzLjM1MyBFIEYxKENvbnRyKQotMy4zNTMgRShvbFwyNTUpLS40NSBFIEYwKHByZVwyMTR4KTMuMzUzIEUgLjg1Myhlcywgb3IgYXMgYSBrKS0uMTUgRiAtLjE1Ci0oZXkpLS4xIEcoc2VxdWVuY2UuKTEwOCA1MTEuMiBRIDEuNTQyKFdoZW4gdXNpbmcgdGhlIGZvcm0pMTA4IDUyOCBSIEYyCi0tLjEoa2UpNC4wNDIgRyh5bmFtZSkuMSBFIEYwKDopQSBGMShmdW5jdGlvblwyNTVuYW1lKS44MzMgRSBGMChvcik0LjA0MgotRSBGMShtYWNyKTQuMDQyIEUobyktLjQ1IEUgRjAoLClBIEYxIC0uMShrZSk0LjA0MiBHKHluYW1lKS0uMiBFIEYwIDEuNTQyCi0oaXMgdGhlIG5hbWUgb2YgYSBrKTQuMjIyIEYgMS44NDEgLS4xNShleSBzKS0uMSBIIDEuNTQxKHBlbGxlZCBvdXQgaW4pCi0uMTUgRiAyLjUoRW5nbGlzaC4gRikxMDggNTQwIFIob3IgZSktLjE1IEUoeGFtcGxlOiktLjE1IEUKLShDb250cm9sLXU6IHVuaSkxNDQgNTY0IFEgLS4xNSh2ZSktLjI1IEcocnNhbFwyNTVhcikuMTUgRShndW1lbnQpLS4xOCBFCi0oTWV0YS1SdWJvdXQ6IGJhY2t3KTE0NCA1NzYgUShhcmQta2lsbC13KS0uMSBFKG9yZCktLjEgRQotKENvbnRyb2wtbzogIj4gb3V0cHV0IikxNDQgNTg4IFEgLjY5OChJbiB0aGUgYWJvKTEwOCA2MDQuOCBSIC45OTggLS4xNQotKHZlIGV4KS0uMTUgSChhbXBsZSwpLjE1IEUgRjEoQ1wyNTV1KTMuMDM4IEUgRjAgLjY5OAotKGlzIGJvdW5kIHRvIHRoZSBmdW5jdGlvbikzLjQ0OCBGIEYyKHVuaSkzLjE5OCBFIC0uMSh2ZSktLjEgRwotKHJzYWxcMjU1YXIpLjEgRShndW1lbnQpLS4xIEUgRjAoLClBIEYxKE1cMjU1REVMKTMuODc4IEUgRjAgLjY5OAotKGlzIGJvdW5kIHRvIHRoZSBmdW5jLSkzLjcyOCBGKHRpb24pMTA4IDYxNi44IFEgRjIKLShiYWNrd2FyZFwyNTVraWxsXDI1NXcpMi43NTkgRShvcmQpLS4xIEUgRjAgMi43NTkoLGEpQyhuZCktMi43NTkgRSBGMQotKENcMjU1bykyLjU5OSBFIEYwIC4yNTgoaXMgYm91bmQgdG8gcnVuIHRoZSBtYWNybyBlKTIuOTM5IEYgLjI1OAotKHhwcmVzc2VkIG9uIHRoZSByaWdodCBoYW5kIHNpZGUgXCh0aGF0IGlzLCB0byktLjE1IEYoaW5zZXJ0IHRoZSB0ZSkxMDgKLTYyOC44IFEoeHQpLS4xNSBFL0Y0IDEwL0NvdXJpZXJAMCBTRiA2KD5vKTIuNSBHKHV0cHV0KS02IEUgRjAKLShpbnRvIHRoZSBsaW5lXCkuKTIuNSBFIC4wNTUoSW4gdGhlIHNlY29uZCBmb3JtLCkxMDggNjQ1LjYgUiBGMigiaykyLjU1NQotRShleXNlcSIpLS4xIEUgRjAoOilBIEYxKGZ1bmN0aW9uXDI1NW5hbWUpLjgzMyBFIEYwKG9yKTIuNTU1IEUgRjEobWFjcikKLTIuNTU1IEUobyktLjQ1IEUgRjAoLClBIEYyIC0uMShrZSkyLjU1NSBHKHlzZXEpLjEgRSBGMChkaWYpMi41NTYgRSAuMDU2Ci0oZmVycyBmcm9tKS0uMjUgRiBGMiAtLjEoa2UpMi41NTYgRyh5bmFtZSkuMSBFIEYwKGFibykyLjU1NiBFIC4zNTYgLS4xNQotKHZlIGkpLS4xNSBIIDIuNTU2KG50KS4xNSBHIC4wNTYoaGF0IHN0cmluZ3MpLTIuNTU2IEYgMS4yODQKLShkZW5vdGluZyBhbiBlbnRpcmUgaykxMDggNjU3LjYgUiAxLjU4NCAtLjE1KGV5IHMpLS4xIEggMS4yODQoZXF1ZW5jZSBtXAotYXkgYmUgc3BlY2lcMjE0ZWQgYnkgcGxhY2luZyB0aGUgc2VxdWVuY2Ugd2l0aGluIGRvdWJsZSBxdW90ZXMuKS4xNSBGCi0oU29tZSk2LjI4NCBFIC4zODUoR05VIEVtYWNzIHN0eWxlIGspMTA4IDY2OS42IFIgLjY4NSAtLjE1KGV5IGUpLS4xIEgKLS4zODUoc2NhcGVzIGNhbiBiZSB1c2VkLCBhcyBpbiB0aGUgZm9sbG8pLjE1IEYgLjM4NSh3aW5nIGUpLS4yNSBGIC4zODYKLSh4YW1wbGUsIGIpLS4xNSBGIC4zODYodXQgdGhlIHN5bWJvbGljIGNoYXJhY3RlciBuYW1lcyktLjIgRgotKGFyZSBub3QgcmVjb2duaXplZC4pMTA4IDY4MS42IFEoIlxcQ1wyNTV1IjogdW5pKTE0NCA3MDUuNiBRIC0uMTUodmUpCi0tLjI1IEcocnNhbFwyNTVhcikuMTUgRShndW1lbnQpLS4xOCBFCi0oIlxcQ1wyNTV4XFxDXDI1NXIiOiByZVwyNTVyZWFkXDI1NWluaXRcMjU1XDIxNGxlKTE0NCA3MTcuNiBRCi0oIlxcZVsxMX4iOiAiRnVuY3Rpb24gSykxNDQgNzI5LjYgUSAuMyAtLjE1KGV5IDEpLS4yNSBIKCIpLjE1IEUKLShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMzQpMTg1Ljk1NSBFIDAgQ2cgRVAKKzEwOCA3MjAgUShHTlUgQmFzaC00LjIpNzIgNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoMzQpMTg1Ljk1NSBFCiswIENnIEVQCiAlJVBhZ2U6IDM1IDM1CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFIC4zMTUoSW4gdGhpcyBlKTEwOCA4NCBSKHhhbXBsZSwpLS4xNSBFL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGCi0oQ1wyNTV1KTIuNjU1IEUgRjAgLjMxNShpcyBhZykzLjA2NSBGIC4zMTUoYWluIGJvdW5kIHRvIHRoZSBmdW5jdGlvbikKLS0uMDUgRi9GMiAxMC9UaW1lcy1Cb2xkQDAgU0YodW5pKTIuODE1IEUgLS4xKHZlKS0uMSBHKHJzYWxcMjU1YXIpLjEgRQotKGd1bWVudCktLjEgRSBGMCguKUEgRjEgLjMxNShDXDI1NXggQ1wyNTVyKTUuMTU1IEYgRjAgLjMxNAotKGlzIGJvdW5kIHRvIHRoZSBmdW5jLSkzLjU0NCBGKHRpb24pMTA4IDk2IFEgRjIgLS4xOChyZSkyLjUgRzxhZDcyPi4xOCBFCi0oZWFkXDI1NWluaXRcMjU1XDIxNGxlKS0uMTggRSBGMCAyLjUoLGEpQyhuZCktMi41IEUgRjEoRVNDIFsgMSAxIH4pMy4wMQotRSBGMChpcyBib3VuZCB0byBpbnNlcnQgdGhlIHRlKTMuOTQgRSh4dCktLjE1IEUvRjMgMTAvQ291cmllckAwIFNGCi0oRnVuY3Rpb24gS2V5IDEpMi41IEUgRjAoLilBCi0oVGhlIGZ1bGwgc2V0IG9mIEdOVSBFbWFjcyBzdHlsZSBlc2NhcGUgc2VxdWVuY2VzIGlzKTEwOCAxMTIuOCBRIEYyCi08NWM0M2FkPjE0NCAxMjQuOCBRIEYwKGNvbnRyb2wgcHJlXDIxNHgpMjAuMyBFIEYyPDVjNGRhZD4xNDQgMTM2LjggUSBGMAotKG1ldGEgcHJlXDIxNHgpMTguMDggRSBGMihcXGUpMTQ0IDE0OC44IFEgRjAoYW4gZXNjYXBlIGNoYXJhY3RlcikyOC43OCBFCi1GMihcXFxcKTE0NCAxNjAuOCBRIEYwKGJhY2tzbGFzaCkzMC40NCBFIEYyKFxcIikxNDQgMTcyLjggUSBGMAotKGxpdGVyYWwgIikyNy42NyBFIEYyPDVjMDg+MTQ0IDE4NC44IFEgRjAobGl0ZXJhbCBcMDEwKTMwLjQ0IEUoSW4gYWRkaXRcCi1pb24gdG8gdGhlIEdOVSBFbWFjcyBzdHlsZSBlc2NhcGUgc2VxdWVuY2VzLCBhIHNlY29uZCBzZXQgb2YgYmFja3NsYXNoIFwKLWVzY2FwZXMgaXMgYSkxMDggMjAxLjYgUSAtLjI1KHZhKS0uMiBHKGlsYWJsZTopLjI1IEUgRjIoXFxhKTE0NCAyMTMuNiBRCi1GMChhbGVydCBcKGJlbGxcKSkyOC4yMiBFIEYyKFxcYikxNDQgMjI1LjYgUSBGMChiYWNrc3BhY2UpMjcuNjYgRSBGMgotKFxcZCkxNDQgMjM3LjYgUSBGMChkZWxldGUpMjcuNjYgRSBGMihcXGYpMTQ0IDI0OS42IFEgRjAoZm9ybSBmZWVkKTI5Ljg5Ci1FIEYyKFxcbikxNDQgMjYxLjYgUSBGMChuZSkyNy42NiBFKHdsaW5lKS0uMjUgRSBGMihcXHIpMTQ0IDI3My42IFEgRjAKLShjYXJyaWFnZSByZXR1cm4pMjguNzggRSBGMihcXHQpMTQ0IDI4NS42IFEgRjAoaG9yaXpvbnRhbCB0YWIpMjkuODkgRSBGMgotKFxcdikxNDQgMjk3LjYgUSBGMCAtLjE1KHZlKTI4LjIyIEcocnRpY2FsIHRhYikuMTUgRSBGMihcXCkxNDQgMzA5LjYgUQotRjEobm5uKUEgRjAodGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdikxOC4yMiBFKGFsdWUgaXMgdGhlIG9jdGFsIHYpCi0tLjI1IEUoYWx1ZSktLjI1IEUgRjEobm5uKTIuNSBFIEYwKFwob25lIHRvIHRocmVlIGRpZ2l0c1wpKTIuNSBFIEYyKFxceCkKLTE0NCAzMjEuNiBRIEYxKEhIKUEgRjAodGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdikxMy43OCBFCi0oYWx1ZSBpcyB0aGUgaGUpLS4yNSBFKHhhZGVjaW1hbCB2KS0uMTUgRShhbHVlKS0uMjUgRSBGMShISCkyLjUgRSBGMAotKFwob25lIG9yIHR3KTIuNSBFIDIuNShvaCktLjEgRyAuMyAtLjE1KGV4IGQpLTIuNSBIKGlnaXRzXCkpLjE1IEUgMS4xNDEKLShXaGVuIGVudGVyaW5nIHRoZSB0ZSkxMDggMzM4LjQgUiAxLjE0MSh4dCBvZiBhIG1hY3JvLCBzaW5nbGUgb3IgZG91YmxlXAotIHF1b3RlcyBtdXN0IGJlIHVzZWQgdG8gaW5kaWNhdGUgYSBtYWNybyBkZVwyMTRuaXRpb24uKS0uMTUgRiAuMDkKLShVbnF1b3RlZCB0ZSkxMDggMzUwLjQgUiAuMDkoeHQgaXMgYXNzdW1lZCB0byBiZSBhIGZ1bmN0aW9uIG5hbWUuKS0uMTUgRgotLjA4OShJbiB0aGUgbWFjcm8gYm9keSk1LjA4OSBGIDIuNTg5KCx0KS0uNjUgRyAuMDg5Ci0oaGUgYmFja3NsYXNoIGVzY2FwZXMgZGVzY3JpYmVkIGFibyktMi41ODkgRiAtLjE1KHZlKS0uMTUgRyhhcmUgZSkxMDgKLTM2Mi40IFEgMi41KHhwYW5kZWQuIEJhY2tzbGFzaCktLjE1IEYod2lsbCBxdW90ZSBhbikyLjUgRSAyLjUoeW8pLS4xNSBHCi0odGhlciBjaGFyYWN0ZXIgaW4gdGhlIG1hY3JvIHRlKS0yLjUgRSh4dCwgaW5jbHVkaW5nICIgYW5kIFwwMTAuKS0uMTUgRQotRjIoQmFzaCkxMDggMzc5LjIgUSBGMChhbGxvKTIuOTI5IEUgLjQyOSh3cyB0aGUgY3VycmVudCByZWFkbGluZSBrKS0uMjUKLUYgLjcyOSAtLjE1KGV5IGIpLS4xIEggLjQyOQotKGluZGluZ3MgdG8gYmUgZGlzcGxheWVkIG9yIG1vZGlcMjE0ZWQgd2l0aCB0aGUpLjE1IEYgRjIoYmluZCkyLjkzIEUgRjAKLS0uMihidSkyLjkzIEcgLjQzKGlsdGluIGNvbW1hbmQuKS4yIEYgLjA0NgotKFRoZSBlZGl0aW5nIG1vZGUgbWF5IGJlIHN3aXRjaGVkIGR1cmluZyBpbnRlcmFjdGkpMTA4IDM5MS4yIFIgLjM0NiAtLjE1Ci0odmUgdSktLjI1IEggLjA0NihzZSBieSB1c2luZyB0aGUpLjE1IEYgRjI8YWQ2Zj4yLjU0NSBFIEYwIC4wNDUKLShvcHRpb24gdG8gdGhlKTIuNTQ1IEYgRjIoc2V0KTIuNTQ1IEUgRjAgLS4yKGJ1KTIuNTQ1IEcgLjA0NQotKGlsdGluIGNvbW1hbmQpLjIgRihcKHNlZSkxMDggNDAzLjIgUS9GNCA5L1RpbWVzLUJvbGRAMCBTRihTSEVMTCBCKTIuNSBFCi0oVUlMKS0uMDkgRShUSU4gQ09NTUFORFMpLS44MjggRSBGMChiZWxvKTIuMjUgRSh3XCkuKS0uMjUgRSBGMgotKFJlYWRsaW5lIFYpODcgNDIwIFEoYXJpYWJsZXMpLS45MiBFIEYwIC4wNDMoUmVhZGxpbmUgaGFzIHYpMTA4IDQzMiBSCi0uMDQzKGFyaWFibGVzIHRoYXQgY2FuIGJlIHVzZWQgdG8gZnVydGhlciBjdXN0b21pemUgaXRzIGJlaGEpLS4yNSBGCi0odmlvciktLjIgRSA1LjA0MyguQSktLjU1IEcgLS4yNSh2YSktMi41IEcgLjA0MwotKHJpYWJsZSBtYXkgYmUgc2V0IGluIHRoZSkuMjUgRiBGMShpbnB1LSkyLjU1NCBFKHRyKTEwOCA0NDQgUShjKS0uMzcgRQotRjAoXDIxNGxlIHdpdGggYSBzdGF0ZW1lbnQgb2YgdGhlIGZvcm0pMi44MSBFIEYyKHNldCkxNDQgNDYwLjggUSBGMQotKHZhcmlhYmxlXDI1NW5hbWUgdmFsdWUpMi41IEUgRjAgLjc5KEV4Y2VwdCB3aGVyZSBub3RlZCwgcmVhZGxpbmUgdikxMDgKLTQ3Ny42IFIgLjc5KGFyaWFibGVzIGNhbiB0YWspLS4yNSBGIDMuMjkoZXQpLS4xIEcgLjc5KGhlIHYpLTMuMjkgRgotKGFsdWVzKS0uMjUgRSBGMihPbikzLjI5IEUgRjAob3IpMy4yOSBFIEYyKE9mZikzLjI5IEUgRjAgLjc5Ci0oXCh3aXRob3V0IHJlKTMuMjkgRiAtLjA1KGdhKS0uMTUgRyAuNzkocmQgdG8gY2FzZVwpLikuMDUgRihVbnJlY29nLSkKLTUuNzkgRSAuNDQ4KG5pemVkIHYpMTA4IDQ4OS42IFIgLjQ0OChhcmlhYmxlIG5hbWVzIGFyZSBpZ25vcmVkLiktLjI1IEYKLS40NDgoV2hlbiBhIHYpNS40NDggRiAuNDQ4KGFyaWFibGUgdiktLjI1IEYgLjQ0OAotKGFsdWUgaXMgcmVhZCwgZW1wdHkgb3IgbnVsbCB2KS0uMjUgRiAuNDQ5KGFsdWVzLCAib24iIFwoY2FzZS1pbnNlbnNpLSkKLS0uMjUgRih0aSkxMDggNTAxLjYgUSAtLjE1KHZlKS0uMjUgRyAuNDY4KFwpLCBhbmQgIjEiIGFyZSBlcXVpKS4xNSBGCi0tLjI1KHZhKS0uMjUgRyAuNDY4KGxlbnQgdG8pLjI1IEYgRjIoT24pMi45NjggRSBGMCA1LjQ2OCguQSlDIC40NjgKLShsbCBvdGhlciB2KS01LjQ2OCBGIC40NjgoYWx1ZXMgYXJlIGVxdWkpLS4yNSBGIC0uMjUodmEpLS4yNSBHIC40NjgKLShsZW50IHRvKS4yNSBGIEYyKE9mZikyLjk2OCBFIEYwIDUuNDY4KC5UKUMgLjQ2NyhoZSB2KS01LjQ2OCBGIC40NjcKLShhcmlhYmxlcyBhbmQgdGhlaXIgZGVmKS0uMjUgRihhdWx0KS0uMSBFIC0uMjUodmEpMTA4IDUxMy42IFMobHVlcyBhcmU6KQotLjI1IEUgRjIoYmVsbFwyNTVzdHlsZSBcKGF1ZGlibGVcKSkxMDggNTMwLjQgUSBGMCAuMDEKLShDb250cm9scyB3aGF0IGhhcHBlbnMgd2hlbiByZWFkbGluZSB3KTE0NCA1NDIuNCBSIC4wMTEKLShhbnRzIHRvIHJpbmcgdGhlIHRlcm1pbmFsIGJlbGwuKS0uMSBGIC4wMTEoSWYgc2V0IHRvKTUuMDExIEYgRjIobm9uZSkKLTIuNTExIEUgRjAgMi41MTEoLHIpQyAuMDExKGVhZGxpbmUgbmUpLTIuNTExIEYgLS4xNSh2ZSktLjI1IEcocikuMTUgRQotLjk0KHJpbmdzIHRoZSBiZWxsLikxNDQgNTU0LjQgUiAuOTQoSWYgc2V0IHRvKTUuOTQgRiBGMih2aXNpYmxlKTMuNDQgRQotRjAgMy40NCgscilDIC45NChlYWRsaW5lIHVzZXMgYSB2aXNpYmxlIGJlbGwgaWYgb25lIGlzIGEpLTMuNDQgRiAtLjI1Ci0odmEpLS4yIEcgMy40NChpbGFibGUuIElmKS4yNSBGIC45NChzZXQgdG8pMy40NCBGIEYyKGF1ZGlibGUpMy40NCBFIEYwCi0oLClBKHJlYWRsaW5lIGF0dGVtcHRzIHRvIHJpbmcgdGhlIHRlcm1pbmFsJykxNDQgNTY2LjQgUSAyLjUoc2IpLS41NSBHCi0oZWxsLiktMi41IEUgRjIoYmluZFwyNTV0dHlcMjU1c3BlY2lhbFwyNTVjaGFycyBcKE9uXCkpMTA4IDU3OC40IFEgRjAKLS4wNTUoSWYgc2V0IHRvKTE0NCA1OTAuNCBSIEYyKE9uKTIuNTU1IEUgRjAgMi41NTUoLHIpQyAuMDU2KGVhZGxpbmUgYXR0XAotZW1wdHMgdG8gYmluZCB0aGUgY29udHJvbCBjaGFyYWN0ZXJzIHRyZWF0ZWQgc3BlY2lhbGx5IGJ5IHRoZSBrKS0yLjU1NSBGCi0oZXJuZWwnKS0uMSBFIDIuNTU2KHN0KS0uNTUgRyhlcm1pLSktMi41NTYgRShuYWwgZHJpKTE0NCA2MDIuNCBRIC0uMTUKLSh2ZSktLjI1IEcgMi41KHJ0KS4xNSBHIDIuNShvdCktMi41IEcoaGVpciByZWFkbGluZSBlcXVpKS0yLjUgRSAtLjI1KHZhKQotLS4yNSBHKGxlbnRzLikuMjUgRSBGMihjb21tZW50XDI1NWJlZ2luIFwoYCkxMDggNjE0LjQgUShgIycpLS42MyBFKCdcKSkKLS0uNjMgRSBGMCAuODg1KFRoZSBzdHJpbmcgdGhhdCBpcyBpbnNlcnRlZCB3aGVuIHRoZSByZWFkbGluZSkxNDQgNjI2LjQgUgotRjIoaW5zZXJ0XDI1NWNvbW1lbnQpMy4zODUgRSBGMCAuODg0KGNvbW1hbmQgaXMgZSkzLjM4NCBGIC0uMTUoeGUpLS4xNSBHCi0zLjM4NChjdXRlZC4gVGhpcykuMTUgRihjb20tKTMuMzg0IEUobWFuZCBpcyBib3VuZCB0bykxNDQgNjM4LjQgUSBGMgotKE1cMjU1IykyLjUgRSBGMChpbiBlbWFjcyBtb2RlIGFuZCB0bykyLjUgRSBGMigjKTIuNSBFIEYwCi0oaW4gdmkgY29tbWFuZCBtb2RlLikyLjUgRSBGMihjb21wbGV0aW9uXDI1NWlnbm9yKTEwOCA2NTAuNCBRCi0oZVwyNTVjYXNlIFwoT2ZmXCkpLS4xOCBFIEYwKElmIHNldCB0bykxNDQgNjYyLjQgUSBGMihPbikyLjUgRSBGMCAyLjUKLSgscilDKGVhZGxpbmUgcGVyZm9ybXMgXDIxNGxlbmFtZSBtYXRjaGluZyBhbmQgY29tcGxldGlvbiBpbiBhIGNhc2VcMjU1XAotaW5zZW5zaXRpKS0yLjUgRSAuMyAtLjE1KHZlIGYpLS4yNSBIKGFzaGlvbi4pLjA1IEUgRjIoY29tcGxldGlvblwyNTVwcikKLTEwOCA2NzQuNCBRKGVcMjE0eFwyNTVkaXNwbGF5XDI1NWxlbmd0aCBcKDBcKSktLjE4IEUgRjAgLjgyOShUaGUgbGVuZ3RoXAotIGluIGNoYXJhY3RlcnMgb2YgdGhlIGNvbW1vbiBwcmVcMjE0eCBvZiBhIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnNcCi0gdGhhdCBpcyBkaXNwbGF5ZWQpMTQ0IDY4Ni40IFIgMS4yNzUod2l0aG91dCBtb2RpXDIxNGNhdGlvbi4pMTQ0IDY5OC40IFIKLTEuMjc1KFdoZW4gc2V0IHRvIGEgdik2LjI3NSBGIDEuMjc0Ci0oYWx1ZSBncmVhdGVyIHRoYW4gemVybywgY29tbW9uIHByZVwyMTR4KS0uMjUgRiAxLjI3NAotKGVzIGxvbmdlciB0aGFuIHRoaXMpLS4xNSBGIC0uMjUodmEpMTQ0IDcxMC40IFMobHVlIGFyZSByZXBsYWNlZCB3aXRoIGFcCi1uIGVsbGlwc2lzIHdoZW4gZGlzcGxheWluZyBwb3NzaWJsZSBjb21wbGV0aW9ucy4pLjI1IEUoR05VIEJhc2gtNC4xKTcyCi03NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgzNSkxODUuOTU1IEUgMCBDZyBFUAorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihSZWFkbGluZSBJbml0aWFsaXphdGlvbik4NyA4NCBRIEYwIC4wOTEoUmVcCithZGxpbmUgaXMgY3VzdG9taXplZCBieSBwdXR0aW5nIGNvbW1hbmRzIGluIGFuIGluaXRpYWxpemF0aW9uIFwyMTRsZSBcKFwKK3RoZSkxMDggOTYgUi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihpbnB1dHIpMi41OTEgRShjKS0uMzcgRSBGMCAyLjU5MQorKFwyMTRsZVwpLiBUaGUpMi41OTEgRiAuMDkyKG5hbWUgb2YgdGhpcyBcMjE0bGUpMi41OTEgRiAuMTk3KGlzIHRhaykxMDgKKzEwOCBSIC4xOTYoZW4gZnJvbSB0aGUgdiktLjEgRiAuMTk2KGFsdWUgb2YgdGhlKS0uMjUgRi9GMyA5L1RpbWVzLUJvbGRAMAorU0YoSU5QVVRSQykyLjY5NiBFIEYwIC0uMjUodmEpMi40NDYgRyAyLjY5NihyaWFibGUuIElmKS4yNSBGIC4xOTYKKyh0aGF0IHYpMi42OTYgRiAuMTk2KGFyaWFibGUgaXMgdW5zZXQsIHRoZSBkZWYpLS4yNSBGIC4xOTYoYXVsdCBpcyktLjEgRgorRjIofi8uaW5wdXRyKTIuNjk2IEUoYyktLjM3IEUgRjAgNS4xOTYoLlcpLjMxIEcgLjE5NihoZW4gYSktNS4xOTYgRgorMS4wMzQocHJvZ3JhbSB3aGljaCB1c2VzIHRoZSByZWFkbGluZSBsaWJyYXJ5IHN0YXJ0cyB1cCwgdGhlIGluaXRpYWxpemFcCit0aW9uIFwyMTRsZSBpcyByZWFkLCBhbmQgdGhlIGspMTA4IDEyMCBSIDEuMzM1IC0uMTUoZXkgYiktLjEgSCAxLjAzNQorKGluZGluZ3MgYW5kKS4xNSBGIC0uMjUodmEpMTA4IDEzMiBTIDEuMTUocmlhYmxlcyBhcmUgc2V0LikuMjUgRiAxLjE1CisoVGhlcmUgYXJlIG9ubHkgYSBmZSk2LjE1IEYgMy42NDkod2IpLS4yNSBHIDEuMTQ5KGFzaWMgY29uc3RydWN0cyBhbGxvKQorLTMuNjQ5IEYgMS4xNDkod2VkIGluIHRoZSByZWFkbGluZSBpbml0aWFsaXphdGlvbiBcMjE0bGUuKS0uMjUgRihCbGFuaykKKzYuMTQ5IEUgLjczNihsaW5lcyBhcmUgaWdub3JlZC4pMTA4IDE0NCBSIC43MzcoTGluZXMgYmUpNS43MzcgRiAuNzM3CisoZ2lubmluZyB3aXRoIGEpLS4xNSBGIEYxKCMpMy4yMzcgRSBGMCAuNzM3KGFyZSBjb21tZW50cy4pMy4yMzcgRiAuNzM3CisoTGluZXMgYmUpNS43MzcgRiAuNzM3KGdpbm5pbmcgd2l0aCBhKS0uMTUgRiBGMSgkKTMuMjM3IEUgRjAgLjczNworKGluZGljYXRlIGNvbmRpdGlvbmFsKTMuMjM3IEYgMi41KGNvbnN0cnVjdHMuIE90aGVyKTEwOCAxNTYgUgorKGxpbmVzIGRlbm90ZSBrKTIuNSBFIC4zIC0uMTUoZXkgYiktLjEgSChpbmRpbmdzIGFuZCB2KS4xNSBFCisoYXJpYWJsZSBzZXR0aW5ncy4pLS4yNSBFIC45ODcoVGhlIGRlZikxMDggMTcyLjggUiAuOTg3KGF1bHQgayktLjEgRgorLS4xNShleSktLjEgRyAuOTg3KC1iaW5kaW5ncyBtYXkgYmUgY2hhbmdlZCB3aXRoIGFuKS4xNSBGIEYyKGlucHV0cikKKzMuNDk3IEUoYyktLjM3IEUgRjAgMy40ODcoXDIxNGxlLiBPdGhlcikzLjc5NyBGIC45ODcKKyhwcm9ncmFtcyB0aGF0IHVzZSB0aGlzIGxpYnJhcnkgbWF5KTMuNDg3IEYoYWRkIHRoZWlyIG8pMTA4IDE4NC44IFEKKyh3biBjb21tYW5kcyBhbmQgYmluZGluZ3MuKS0uMjUgRSAtLjE1KEZvKTEwOCAyMDEuNiBTIDIuNShyZSkuMTUgRworKHhhbXBsZSwgcGxhY2luZyktMi42NSBFKE1cMjU1Q29udHJvbFwyNTV1OiB1bmkpMTQ0IDIxOC40IFEgLS4xNSh2ZSktLjI1CitHKHJzYWxcMjU1YXIpLjE1IEUoZ3VtZW50KS0uMTggRShvcikxMDggMjMwLjQgUShDXDI1NU1ldGFcMjU1dTogdW5pKTE0NAorMjQyLjQgUSAtLjE1KHZlKS0uMjUgRyhyc2FsXDI1NWFyKS4xNSBFKGd1bWVudCktLjE4IEUoaW50byB0aGUpMTA4IDI1NC40CitRIEYyKGlucHV0cikyLjUxIEUoYyktLjM3IEUgRjAgLS4xKHdvKTIuODEgRyh1bGQgbWFrKS4xIEUgMi41KGVNKS0uMSBHCisoXDI1NUNcMjU1dSBlKS0yLjUgRSAtLjE1KHhlKS0uMTUgRyhjdXRlIHRoZSByZWFkbGluZSBjb21tYW5kKS4xNSBFIEYyCisodW5pdmVyKTIuNSBFKHNhbFwyNTVhciktLjEgRShndW1lbnQpLS4zNyBFIEYwKC4pLjY4IEUgMS4yNihUaGUgZm9sbG8pCisxMDggMjcxLjIgUiAxLjI2MSh3aW5nIHN5bWJvbGljIGNoYXJhY3RlciBuYW1lcyBhcmUgcmVjb2duaXplZDopLS4yNSBGCitGMiAtLjQoUlUpMy43NjEgRyhCT1VUKS40IEUgRjAoLCkxLjI3IEUgRjIoREVMKTMuNzYxIEUgRjAoLCkuNTMgRSBGMgorKEVTQykzLjc2MSBFIEYwKCwpLjcyIEUgRjIoTEZEKTMuNzYxIEUgRjAoLCkuMjggRSBGMihORVdMSU5FKTMuNzYxIEUgRjAKKygsKS43MyBFIEYyKFJFVCkzLjc2MSBFIEYwKCwpMS4yNyBFIEYyKFJFVFVSTikxMDggMjgzLjIgUSBGMCgsKTEuMSBFIEYyCisoU1BDKTIuNSBFIEYwKCwpLjcyIEUgRjIoU1ApMi41IEUgLS4zKEFDKS0uOSBHKEUpLjMgRSBGMCAyLjUoLGEpLjczIEcKKyhuZCktMi41IEUgRjIgLS41KFRBKTIuNSBHKEIpLjUgRSBGMCguKS4yNyBFIC4yMDkKKyhJbiBhZGRpdGlvbiB0byBjb21tYW5kIG5hbWVzLCByZWFkbGluZSBhbGxvKTEwOCAzMDAgUiAuMjA5KHdzIGspLS4yNSBGCistLjE1KGV5KS0uMSBHIDIuNzA5KHN0KS4xNSBHIDIuNzA5KG9iKS0yLjcwOSBHIDIuNzA5KGViKS0yLjcwOSBHIC4yMDkKKyhvdW5kIHRvIGEgc3RyaW5nIHRoYXQgaXMgaW5zZXJ0ZWQgd2hlbiB0aGUgayktMi43MDkgRiAuNTA5IC0uMTUoZXkgaSkKKy0uMSBIKHMpLjE1IEUocHJlc3NlZCBcKGEpMTA4IDMxMiBRIEYyKG1hY3IpMi41IEUobyktLjQ1IEUgRjAoXCkuKUEgRjEKKyhSZWFkbGluZSBLKTg3IDMyOC44IFEoZXkgQmluZGluZ3MpLS4yNSBFIEYwIC4zNjYKKyhUaGUgc3ludGF4IGZvciBjb250cm9sbGluZyBrKTEwOCAzNDAuOCBSIC42NjYgLS4xNShleSBiKS0uMSBIIC4zNjYKKyhpbmRpbmdzIGluIHRoZSkuMTUgRiBGMihpbnB1dHIpMi44NzYgRShjKS0uMzcgRSBGMCAuMzY2CisoXDIxNGxlIGlzIHNpbXBsZS4pMy4xNzYgRiAuMzY2KEFsbCB0aGF0IGlzIHJlcXVpcmVkIGlzIHRoZSBuYW1lIG9mIHRoZSkKKzUuMzY2IEYgLjM4Myhjb21tYW5kIG9yIHRoZSB0ZSkxMDggMzUyLjggUiAuMzgzKHh0IG9mIGEgbWFjcm8gYW5kIGEgaykKKy0uMTUgRiAuNjgzIC0uMTUoZXkgcyktLjEgSCAuMzgzCisoZXF1ZW5jZSB0byB3aGljaCBpdCBzaG91bGQgYmUgYm91bmQuIFRoZSBuYW1lIG1heSBiZSBzcGVjaS0pLjE1IEYgLjg1MworKFwyMTRlZCBpbiBvbmUgb2YgdHcpMTA4IDM2NC44IFIgMy4zNTMob3cpLS4xIEcgLjg1MworKGF5czogYXMgYSBzeW1ib2xpYyBrKS0zLjQ1MyBGIDEuMTUzIC0uMTUoZXkgbiktLjEgSCAuODUzCisoYW1lLCBwb3NzaWJseSB3aXRoKS4xNSBGIEYyKE1ldGFcMjU1KTMuMzUzIEUgRjAob3IpMy4zNTMgRSBGMihDb250cikKKzMuMzUzIEUob2xcMjU1KS0uNDUgRSBGMChwcmVcMjE0eCkzLjM1MyBFIC44NTMoZXMsIG9yIGFzIGEgayktLjE1IEYgLS4xNQorKGV5KS0uMSBHKHNlcXVlbmNlLikxMDggMzc2LjggUSAxLjU0MihXaGVuIHVzaW5nIHRoZSBmb3JtKTEwOCAzOTMuNiBSIEYxCistLjEoa2UpNC4wNDIgRyh5bmFtZSkuMSBFIEYwKDopQSBGMihmdW5jdGlvblwyNTVuYW1lKS44MzMgRSBGMChvcik0LjA0MgorRSBGMihtYWNyKTQuMDQyIEUobyktLjQ1IEUgRjAoLClBIEYyIC0uMShrZSk0LjA0MiBHKHluYW1lKS0uMiBFIEYwIDEuNTQyCisoaXMgdGhlIG5hbWUgb2YgYSBrKTQuMjIyIEYgMS44NDEgLS4xNShleSBzKS0uMSBIIDEuNTQxKHBlbGxlZCBvdXQgaW4pCisuMTUgRiAyLjUoRW5nbGlzaC4gRikxMDggNDA1LjYgUihvciBlKS0uMTUgRSh4YW1wbGU6KS0uMTUgRQorKENvbnRyb2wtdTogdW5pKTE0NCA0MjkuNiBRIC0uMTUodmUpLS4yNSBHKHJzYWxcMjU1YXIpLjE1IEUoZ3VtZW50KS0uMTgKK0UoTWV0YS1SdWJvdXQ6IGJhY2t3KTE0NCA0NDEuNiBRKGFyZC1raWxsLXcpLS4xIEUob3JkKS0uMSBFCisoQ29udHJvbC1vOiAiPiBvdXRwdXQiKTE0NCA0NTMuNiBRIC42OTgoSW4gdGhlIGFibykxMDggNDcwLjQgUiAuOTk4IC0uMTUKKyh2ZSBleCktLjE1IEgoYW1wbGUsKS4xNSBFIEYyKENcMjU1dSkzLjAzOCBFIEYwIC42OTgKKyhpcyBib3VuZCB0byB0aGUgZnVuY3Rpb24pMy40NDggRiBGMSh1bmkpMy4xOTggRSAtLjEodmUpLS4xIEcKKyhyc2FsXDI1NWFyKS4xIEUoZ3VtZW50KS0uMSBFIEYwKCwpQSBGMihNXDI1NURFTCkzLjg3OCBFIEYwIC42OTgKKyhpcyBib3VuZCB0byB0aGUgZnVuYy0pMy43MjggRih0aW9uKTEwOCA0ODIuNCBRIEYxCisoYmFja3dhcmRcMjU1a2lsbFwyNTV3KTIuNzU5IEUob3JkKS0uMSBFIEYwIDIuNzU5KCxhKUMobmQpLTIuNzU5IEUgRjIKKyhDXDI1NW8pMi41OTkgRSBGMCAuMjU4KGlzIGJvdW5kIHRvIHJ1biB0aGUgbWFjcm8gZSkyLjkzOSBGIC4yNTgKKyh4cHJlc3NlZCBvbiB0aGUgcmlnaHQgaGFuZCBzaWRlIFwodGhhdCBpcywgdG8pLS4xNSBGKGluc2VydCB0aGUgdGUpMTA4Cis0OTQuNCBRKHh0KS0uMTUgRS9GNCAxMC9Db3VyaWVyQDAgU0YgNig+bykyLjUgRyh1dHB1dCktNiBFIEYwCisoaW50byB0aGUgbGluZVwpLikyLjUgRSAuMDU1KEluIHRoZSBzZWNvbmQgZm9ybSwpMTA4IDUxMS4yIFIgRjEoImspMi41NTUKK0UoZXlzZXEiKS0uMSBFIEYwKDopQSBGMihmdW5jdGlvblwyNTVuYW1lKS44MzMgRSBGMChvcikyLjU1NSBFIEYyKG1hY3IpCisyLjU1NSBFKG8pLS40NSBFIEYwKCwpQSBGMSAtLjEoa2UpMi41NTUgRyh5c2VxKS4xIEUgRjAoZGlmKTIuNTU2IEUgLjA1NgorKGZlcnMgZnJvbSktLjI1IEYgRjEgLS4xKGtlKTIuNTU2IEcoeW5hbWUpLjEgRSBGMChhYm8pMi41NTYgRSAuMzU2IC0uMTUKKyh2ZSBpKS0uMTUgSCAyLjU1NihudCkuMTUgRyAuMDU2KGhhdCBzdHJpbmdzKS0yLjU1NiBGIDEuMjg0CisoZGVub3RpbmcgYW4gZW50aXJlIGspMTA4IDUyMy4yIFIgMS41ODQgLS4xNShleSBzKS0uMSBIIDEuMjg0KGVxdWVuY2UgbVwKK2F5IGJlIHNwZWNpXDIxNGVkIGJ5IHBsYWNpbmcgdGhlIHNlcXVlbmNlIHdpdGhpbiBkb3VibGUgcXVvdGVzLikuMTUgRgorKFNvbWUpNi4yODQgRSAuMzg1KEdOVSBFbWFjcyBzdHlsZSBrKTEwOCA1MzUuMiBSIC42ODUgLS4xNShleSBlKS0uMSBICisuMzg1KHNjYXBlcyBjYW4gYmUgdXNlZCwgYXMgaW4gdGhlIGZvbGxvKS4xNSBGIC4zODUod2luZyBlKS0uMjUgRiAuMzg2CisoeGFtcGxlLCBiKS0uMTUgRiAuMzg2KHV0IHRoZSBzeW1ib2xpYyBjaGFyYWN0ZXIgbmFtZXMpLS4yIEYKKyhhcmUgbm90IHJlY29nbml6ZWQuKTEwOCA1NDcuMiBRKCJcXENcMjU1dSI6IHVuaSkxNDQgNTcxLjIgUSAtLjE1KHZlKQorLS4yNSBHKHJzYWxcMjU1YXIpLjE1IEUoZ3VtZW50KS0uMTggRQorKCJcXENcMjU1eFxcQ1wyNTVyIjogcmVcMjU1cmVhZFwyNTVpbml0XDI1NVwyMTRsZSkxNDQgNTgzLjIgUQorKCJcXGVbMTF+IjogIkZ1bmN0aW9uIEspMTQ0IDU5NS4yIFEgLjMgLS4xNShleSAxKS0uMjUgSCgiKS4xNSBFIC4zMTUKKyhJbiB0aGlzIGUpMTA4IDYxMiBSKHhhbXBsZSwpLS4xNSBFIEYyKENcMjU1dSkyLjY1NSBFIEYwIC4zMTUoaXMgYWcpCiszLjA2NSBGIC4zMTUoYWluIGJvdW5kIHRvIHRoZSBmdW5jdGlvbiktLjA1IEYgRjEodW5pKTIuODE1IEUgLS4xKHZlKS0uMQorRyhyc2FsXDI1NWFyKS4xIEUoZ3VtZW50KS0uMSBFIEYwKC4pQSBGMiAuMzE1KENcMjU1eCBDXDI1NXIpNS4xNTUgRiBGMAorLjMxNChpcyBib3VuZCB0byB0aGUgZnVuYy0pMy41NDQgRih0aW9uKTEwOCA2MjQgUSBGMSAtLjE4KHJlKTIuNSBHPGFkNzI+CisuMTggRShlYWRcMjU1aW5pdFwyNTVcMjE0bGUpLS4xOCBFIEYwIDIuNSgsYSlDKG5kKS0yLjUgRSBGMihFU0MgWyAxIDEgfikKKzMuMDEgRSBGMChpcyBib3VuZCB0byBpbnNlcnQgdGhlIHRlKTMuOTQgRSh4dCktLjE1IEUgRjQoRnVuY3Rpb24gS2V5IDEpCisyLjUgRSBGMCguKUEoVGhlIGZ1bGwgc2V0IG9mIEdOVSBFbWFjcyBzdHlsZSBlc2NhcGUgc2VxdWVuY2VzIGlzKTEwOAorNjQwLjggUSBGMTw1YzQzYWQ+MTQ0IDY1Mi44IFEgRjAoY29udHJvbCBwcmVcMjE0eCkyMC4zIEUgRjE8NWM0ZGFkPjE0NAorNjY0LjggUSBGMChtZXRhIHByZVwyMTR4KTE4LjA4IEUgRjEoXFxlKTE0NCA2NzYuOCBRIEYwCisoYW4gZXNjYXBlIGNoYXJhY3RlcikyOC43OCBFIEYxKFxcXFwpMTQ0IDY4OC44IFEgRjAoYmFja3NsYXNoKTMwLjQ0IEUgRjEKKyhcXCIpMTQ0IDcwMC44IFEgRjAobGl0ZXJhbCAiKTI3LjY3IEUgRjE8NWMwOD4xNDQgNzEyLjggUSBGMAorKGxpdGVyYWwgXDAxMCkzMC40NCBFKEluIGFkZGl0aW9uIHRvIHRoZSBHTlUgRW1hY3Mgc3R5bGUgZXNjYXBlIHNlcXVlbmNcCitlcywgYSBzZWNvbmQgc2V0IG9mIGJhY2tzbGFzaCBlc2NhcGVzIGlzIGEpMTA4IDcyOS42IFEgLS4yNSh2YSktLjIgRworKGlsYWJsZTopLjI1IEUoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDM1KQorMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMzYgMzYKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGNvbXBsZXRpb25cMjU1cXVlcnlcMjU1aXRlbXMgXCgxMDBcKSkxMDggODQKLVEgRjAgLjUyOShUaGlzIGRldGVybWluZXMgd2hlbiB0aGUgdXNlciBpcyBxdWVyaWVkIGFib3V0IHZpZSkxNDQgOTYgUgotLjUzKHdpbmcgdGhlIG51bWJlciBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBnZW4tKS0uMjUgRiAuNTYxCi0oZXJhdGVkIGJ5IHRoZSkxNDQgMTA4IFIgRjEocG9zc2libGVcMjU1Y29tcGxldGlvbnMpMy4wNjEgRSBGMCAzLjA2MQotKGNvbW1hbmQuIEl0KTMuMDYxIEYgLjU2MShtYXkgYmUgc2V0IHRvIGFuKTMuMDYxIEYgMy4wNih5aSktLjE1IEcobnRlKQotLTMuMDYgRSAuNTYoZ2VyIHYpLS4xNSBGIC41NihhbHVlIGdyZWF0ZXIgdGhhbiBvciktLjI1IEYgLjc4MgotKGVxdWFsIHRvIHplcm8uKTE0NCAxMjAgUiAuNzgzKElmIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY29tcGxldGlvbnMgaXNcCi0gZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSB2KTUuNzgyIEYgLjc4MyhhbHVlIG9mIHRoaXMpLS4yNSBGIC0uMjUKLSh2YSkxNDQgMTMyIFMgLjIzNyhyaWFibGUsIHRoZSB1c2VyIGlzIGFzaykuMjUgRiAuMjM3Ci0oZWQgd2hldGhlciBvciBub3QgaGUgd2lzaGVzIHRvIHZpZSktLjEgRiAyLjczNyh3dCktLjI1IEcgLjIzNwotKGhlbTsgb3RoZXJ3aXNlIHRoZSktMi43MzcgRiAyLjczNyh5YSktLjE1IEcgLjIzNyhyZSBzaW1wbHkgbGlzdGVkKQotLTIuNzM3IEYob24gdGhlIHRlcm1pbmFsLikxNDQgMTQ0IFEgRjEoY29uKTEwOCAxNTYgUSAtLjEodmUpLS40IEcKLShydFwyNTVtZXRhIFwoT25cKSkuMSBFIEYwIC42MTIoSWYgc2V0IHRvKTE0NCAxNjggUiBGMShPbikzLjExMiBFIEYwCi0zLjExMigscilDIC42MTMoZWFkbGluZSB3aWxsIGNvbiktMy4xMTIgRiAtLjE1KHZlKS0uNCBHIC42MTMKLShydCBjaGFyYWN0ZXJzIHdpdGggdGhlIGVpZ2h0aCBiaXQgc2V0IHRvIGFuIEFTQ0lJIGspLjE1IEYgLjkxMyAtLjE1Ci0oZXkgcyktLjEgSCAuNjEzKGVxdWVuY2UgYnkpLjE1IEYgLjU0MQorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihcXGEpMTQ0IDg0IFEgRjAoYWxlcnQgXChiZWxsXCkpMjguMjIgRSBGMQorKFxcYikxNDQgOTYgUSBGMChiYWNrc3BhY2UpMjcuNjYgRSBGMShcXGQpMTQ0IDEwOCBRIEYwKGRlbGV0ZSkyNy42NiBFIEYxCisoXFxmKTE0NCAxMjAgUSBGMChmb3JtIGZlZWQpMjkuODkgRSBGMShcXG4pMTQ0IDEzMiBRIEYwKG5lKTI3LjY2IEUKKyh3bGluZSktLjI1IEUgRjEoXFxyKTE0NCAxNDQgUSBGMChjYXJyaWFnZSByZXR1cm4pMjguNzggRSBGMShcXHQpMTQ0IDE1NgorUSBGMChob3Jpem9udGFsIHRhYikyOS44OSBFIEYxKFxcdikxNDQgMTY4IFEgRjAgLS4xNSh2ZSkyOC4yMiBHCisocnRpY2FsIHRhYikuMTUgRSBGMShcXCkxNDQgMTgwIFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0Yobm5uKUEgRjAKKyh0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2KTE4LjIyIEUoYWx1ZSBpcyB0aGUgb2N0YWwgdiktLjI1IEUKKyhhbHVlKS0uMjUgRSBGMihubm4pMi41IEUgRjAoXChvbmUgdG8gdGhyZWUgZGlnaXRzXCkpMi41IEUgRjEoXFx4KTE0NAorMTkyIFEgRjIoSEgpQSBGMCh0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2KTEzLjc4IEUoYWx1ZSBpcyB0aGUgaGUpCistLjI1IEUoeGFkZWNpbWFsIHYpLS4xNSBFKGFsdWUpLS4yNSBFIEYyKEhIKTIuNSBFIEYwKFwob25lIG9yIHR3KTIuNSBFCisyLjUob2gpLS4xIEcgLjMgLS4xNShleCBkKS0yLjUgSChpZ2l0c1wpKS4xNSBFIDEuMTQxCisoV2hlbiBlbnRlcmluZyB0aGUgdGUpMTA4IDIwOC44IFIgMS4xNDEoeHQgb2YgYSBtYWNybywgc2luZ2xlIG9yIGRvdWJsZVwKKyBxdW90ZXMgbXVzdCBiZSB1c2VkIHRvIGluZGljYXRlIGEgbWFjcm8gZGVcMjE0bml0aW9uLiktLjE1IEYgLjA5CisoVW5xdW90ZWQgdGUpMTA4IDIyMC44IFIgLjA5KHh0IGlzIGFzc3VtZWQgdG8gYmUgYSBmdW5jdGlvbiBuYW1lLiktLjE1IEYKKy4wODkoSW4gdGhlIG1hY3JvIGJvZHkpNS4wODkgRiAyLjU4OSgsdCktLjY1IEcgLjA4OQorKGhlIGJhY2tzbGFzaCBlc2NhcGVzIGRlc2NyaWJlZCBhYm8pLTIuNTg5IEYgLS4xNSh2ZSktLjE1IEcoYXJlIGUpMTA4CisyMzIuOCBRIDIuNSh4cGFuZGVkLiBCYWNrc2xhc2gpLS4xNSBGKHdpbGwgcXVvdGUgYW4pMi41IEUgMi41KHlvKS0uMTUgRworKHRoZXIgY2hhcmFjdGVyIGluIHRoZSBtYWNybyB0ZSktMi41IEUoeHQsIGluY2x1ZGluZyAiIGFuZCBcMDEwLiktLjE1IEUKK0YxKEJhc2gpMTA4IDI0OS42IFEgRjAoYWxsbykyLjkyOSBFIC40Mjkod3MgdGhlIGN1cnJlbnQgcmVhZGxpbmUgayktLjI1CitGIC43MjkgLS4xNShleSBiKS0uMSBIIC40MjkKKyhpbmRpbmdzIHRvIGJlIGRpc3BsYXllZCBvciBtb2RpXDIxNGVkIHdpdGggdGhlKS4xNSBGIEYxKGJpbmQpMi45MyBFIEYwCistLjIoYnUpMi45MyBHIC40MyhpbHRpbiBjb21tYW5kLikuMiBGIC4wNDYKKyhUaGUgZWRpdGluZyBtb2RlIG1heSBiZSBzd2l0Y2hlZCBkdXJpbmcgaW50ZXJhY3RpKTEwOCAyNjEuNiBSIC4zNDYgLS4xNQorKHZlIHUpLS4yNSBIIC4wNDYoc2UgYnkgdXNpbmcgdGhlKS4xNSBGIEYxPGFkNmY+Mi41NDUgRSBGMCAuMDQ1Cisob3B0aW9uIHRvIHRoZSkyLjU0NSBGIEYxKHNldCkyLjU0NSBFIEYwIC0uMihidSkyLjU0NSBHIC4wNDUKKyhpbHRpbiBjb21tYW5kKS4yIEYoXChzZWUpMTA4IDI3My42IFEvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoU0hFTEwgQikyLjUgRQorKFVJTCktLjA5IEUoVElOIENPTU1BTkRTKS0uODI4IEUgRjAoYmVsbykyLjI1IEUod1wpLiktLjI1IEUgRjEKKyhSZWFkbGluZSBWKTg3IDI5MC40IFEoYXJpYWJsZXMpLS45MiBFIEYwIC4wNDMoUmVhZGxpbmUgaGFzIHYpMTA4IDMwMi40CitSIC4wNDMoYXJpYWJsZXMgdGhhdCBjYW4gYmUgdXNlZCB0byBmdXJ0aGVyIGN1c3RvbWl6ZSBpdHMgYmVoYSktLjI1IEYKKyh2aW9yKS0uMiBFIDUuMDQzKC5BKS0uNTUgRyAtLjI1KHZhKS0yLjUgRyAuMDQzCisocmlhYmxlIG1heSBiZSBzZXQgaW4gdGhlKS4yNSBGIEYyKGlucHUtKTIuNTU0IEUodHIpMTA4IDMxNC40IFEoYyktLjM3IEUKK0YwKFwyMTRsZSB3aXRoIGEgc3RhdGVtZW50IG9mIHRoZSBmb3JtKTIuODEgRSBGMShzZXQpMTQ0IDMzMS4yIFEgRjIKKyh2YXJpYWJsZVwyNTVuYW1lIHZhbHVlKTIuNSBFIEYwIC43OShFeGNlcHQgd2hlcmUgbm90ZWQsIHJlYWRsaW5lIHYpMTA4CiszNDggUiAuNzkoYXJpYWJsZXMgY2FuIHRhayktLjI1IEYgMy4yOShldCktLjEgRyAuNzkoaGUgdiktMy4yOSBGKGFsdWVzKQorLS4yNSBFIEYxKE9uKTMuMjkgRSBGMChvcikzLjI5IEUgRjEoT2ZmKTMuMjkgRSBGMCAuNzkoXCh3aXRob3V0IHJlKTMuMjkKK0YgLS4wNShnYSktLjE1IEcgLjc5KHJkIHRvIGNhc2VcKS4pLjA1IEYoVW5yZWNvZy0pNS43OSBFIC40NDgobml6ZWQgdikKKzEwOCAzNjAgUiAuNDQ4KGFyaWFibGUgbmFtZXMgYXJlIGlnbm9yZWQuKS0uMjUgRiAuNDQ4KFdoZW4gYSB2KTUuNDQ4IEYKKy40NDgoYXJpYWJsZSB2KS0uMjUgRiAuNDQ4KGFsdWUgaXMgcmVhZCwgZW1wdHkgb3IgbnVsbCB2KS0uMjUgRiAuNDQ5CisoYWx1ZXMsICJvbiIgXChjYXNlLWluc2Vuc2ktKS0uMjUgRih0aSkxMDggMzcyIFEgLS4xNSh2ZSktLjI1IEcgLjQ2OAorKFwpLCBhbmQgIjEiIGFyZSBlcXVpKS4xNSBGIC0uMjUodmEpLS4yNSBHIC40NjgobGVudCB0bykuMjUgRiBGMShPbikKKzIuOTY4IEUgRjAgNS40NjgoLkEpQyAuNDY4KGxsIG90aGVyIHYpLTUuNDY4IEYgLjQ2OChhbHVlcyBhcmUgZXF1aSktLjI1CitGIC0uMjUodmEpLS4yNSBHIC40NjgobGVudCB0bykuMjUgRiBGMShPZmYpMi45NjggRSBGMCA1LjQ2OCguVClDIC40NjcKKyhoZSB2KS01LjQ2OCBGIC40NjcoYXJpYWJsZXMgYW5kIHRoZWlyIGRlZiktLjI1IEYoYXVsdCktLjEgRSAtLjI1KHZhKTEwOAorMzg0IFMobHVlcyBhcmU6KS4yNSBFIEYxKGJlbGxcMjU1c3R5bGUgXChhdWRpYmxlXCkpMTA4IDQwMC44IFEgRjAgLjAxCisoQ29udHJvbHMgd2hhdCBoYXBwZW5zIHdoZW4gcmVhZGxpbmUgdykxNDQgNDEyLjggUiAuMDExCisoYW50cyB0byByaW5nIHRoZSB0ZXJtaW5hbCBiZWxsLiktLjEgRiAuMDExKElmIHNldCB0byk1LjAxMSBGIEYxKG5vbmUpCisyLjUxMSBFIEYwIDIuNTExKCxyKUMgLjAxMShlYWRsaW5lIG5lKS0yLjUxMSBGIC0uMTUodmUpLS4yNSBHKHIpLjE1IEUKKy45NChyaW5ncyB0aGUgYmVsbC4pMTQ0IDQyNC44IFIgLjk0KElmIHNldCB0byk1Ljk0IEYgRjEodmlzaWJsZSkzLjQ0IEUKK0YwIDMuNDQoLHIpQyAuOTQoZWFkbGluZSB1c2VzIGEgdmlzaWJsZSBiZWxsIGlmIG9uZSBpcyBhKS0zLjQ0IEYgLS4yNQorKHZhKS0uMiBHIDMuNDQoaWxhYmxlLiBJZikuMjUgRiAuOTQoc2V0IHRvKTMuNDQgRiBGMShhdWRpYmxlKTMuNDQgRSBGMAorKCwpQShyZWFkbGluZSBhdHRlbXB0cyB0byByaW5nIHRoZSB0ZXJtaW5hbCcpMTQ0IDQzNi44IFEgMi41KHNiKS0uNTUgRworKGVsbC4pLTIuNSBFIEYxKGJpbmRcMjU1dHR5XDI1NXNwZWNpYWxcMjU1Y2hhcnMgXChPblwpKTEwOCA0NDguOCBRIEYwCisuMDU1KElmIHNldCB0bykxNDQgNDYwLjggUiBGMShPbikyLjU1NSBFIEYwIDIuNTU1KCxyKUMgLjA1NihlYWRsaW5lIGF0dFwKK2VtcHRzIHRvIGJpbmQgdGhlIGNvbnRyb2wgY2hhcmFjdGVycyB0cmVhdGVkIHNwZWNpYWxseSBieSB0aGUgayktMi41NTUgRgorKGVybmVsJyktLjEgRSAyLjU1NihzdCktLjU1IEcoZXJtaS0pLTIuNTU2IEUobmFsIGRyaSkxNDQgNDcyLjggUSAtLjE1CisodmUpLS4yNSBHIDIuNShydCkuMTUgRyAyLjUob3QpLTIuNSBHKGhlaXIgcmVhZGxpbmUgZXF1aSktMi41IEUgLS4yNSh2YSkKKy0uMjUgRyhsZW50cy4pLjI1IEUgRjEoY29tbWVudFwyNTViZWdpbiBcKGApMTA4IDQ4NC44IFEoYCMnKS0uNjMgRSgnXCkpCistLjYzIEUgRjAgLjg4NShUaGUgc3RyaW5nIHRoYXQgaXMgaW5zZXJ0ZWQgd2hlbiB0aGUgcmVhZGxpbmUpMTQ0IDQ5Ni44IFIKK0YxKGluc2VydFwyNTVjb21tZW50KTMuMzg1IEUgRjAgLjg4NChjb21tYW5kIGlzIGUpMy4zODQgRiAtLjE1KHhlKS0uMTUgRworMy4zODQoY3V0ZWQuIFRoaXMpLjE1IEYoY29tLSkzLjM4NCBFKG1hbmQgaXMgYm91bmQgdG8pMTQ0IDUwOC44IFEgRjEKKyhNXDI1NSMpMi41IEUgRjAoaW4gZW1hY3MgbW9kZSBhbmQgdG8pMi41IEUgRjEoIykyLjUgRSBGMAorKGluIHZpIGNvbW1hbmQgbW9kZS4pMi41IEUgRjEoY29tcGxldGlvblwyNTVpZ25vcikxMDggNTIwLjggUQorKGVcMjU1Y2FzZSBcKE9mZlwpKS0uMTggRSBGMChJZiBzZXQgdG8pMTQ0IDUzMi44IFEgRjEoT24pMi41IEUgRjAgMi41CisoLHIpQyhlYWRsaW5lIHBlcmZvcm1zIFwyMTRsZW5hbWUgbWF0Y2hpbmcgYW5kIGNvbXBsZXRpb24gaW4gYSBjYXNlXDI1NVwKK2luc2Vuc2l0aSktMi41IEUgLjMgLS4xNSh2ZSBmKS0uMjUgSChhc2hpb24uKS4wNSBFIEYxKGNvbXBsZXRpb25cMjU1cHIpCisxMDggNTQ0LjggUShlXDIxNHhcMjU1ZGlzcGxheVwyNTVsZW5ndGggXCgwXCkpLS4xOCBFIEYwIC44MjkoVGhlIGxlbmd0aFwKKyBpbiBjaGFyYWN0ZXJzIG9mIHRoZSBjb21tb24gcHJlXDIxNHggb2YgYSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zXAorIHRoYXQgaXMgZGlzcGxheWVkKTE0NCA1NTYuOCBSIDEuMjc1KHdpdGhvdXQgbW9kaVwyMTRjYXRpb24uKTE0NCA1NjguOCBSCisxLjI3NShXaGVuIHNldCB0byBhIHYpNi4yNzUgRiAxLjI3NAorKGFsdWUgZ3JlYXRlciB0aGFuIHplcm8sIGNvbW1vbiBwcmVcMjE0eCktLjI1IEYgMS4yNzQKKyhlcyBsb25nZXIgdGhhbiB0aGlzKS0uMTUgRiAtLjI1KHZhKTE0NCA1ODAuOCBTKGx1ZSBhcmUgcmVwbGFjZWQgd2l0aCBhXAorbiBlbGxpcHNpcyB3aGVuIGRpc3BsYXlpbmcgcG9zc2libGUgY29tcGxldGlvbnMuKS4yNSBFIEYxCisoY29tcGxldGlvblwyNTVxdWVyeVwyNTVpdGVtcyBcKDEwMFwpKTEwOCA1OTIuOCBRIEYwIC41MjkKKyhUaGlzIGRldGVybWluZXMgd2hlbiB0aGUgdXNlciBpcyBxdWVyaWVkIGFib3V0IHZpZSkxNDQgNjA0LjggUiAuNTMKKyh3aW5nIHRoZSBudW1iZXIgb2YgcG9zc2libGUgY29tcGxldGlvbnMgZ2VuLSktLjI1IEYgLjU2MShlcmF0ZWQgYnkgdGhlKQorMTQ0IDYxNi44IFIgRjEocG9zc2libGVcMjU1Y29tcGxldGlvbnMpMy4wNjEgRSBGMCAzLjA2MShjb21tYW5kLiBJdCkKKzMuMDYxIEYgLjU2MShtYXkgYmUgc2V0IHRvIGFuKTMuMDYxIEYgMy4wNih5aSktLjE1IEcobnRlKS0zLjA2IEUgLjU2CisoZ2VyIHYpLS4xNSBGIC41NihhbHVlIGdyZWF0ZXIgdGhhbiBvciktLjI1IEYgLjc4MihlcXVhbCB0byB6ZXJvLikxNDQKKzYyOC44IFIgLjc4MyhJZiB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIGlzIGdyZWF0ZXIgdGhhbiBvciBlXAorcXVhbCB0byB0aGUgdik1Ljc4MiBGIC43ODMoYWx1ZSBvZiB0aGlzKS0uMjUgRiAtLjI1KHZhKTE0NCA2NDAuOCBTIC4yMzcKKyhyaWFibGUsIHRoZSB1c2VyIGlzIGFzaykuMjUgRiAuMjM3KGVkIHdoZXRoZXIgb3Igbm90IGhlIHdpc2hlcyB0byB2aWUpCistLjEgRiAyLjczNyh3dCktLjI1IEcgLjIzNyhoZW07IG90aGVyd2lzZSB0aGUpLTIuNzM3IEYgMi43MzcoeWEpLS4xNSBHCisuMjM3KHJlIHNpbXBseSBsaXN0ZWQpLTIuNzM3IEYob24gdGhlIHRlcm1pbmFsLikxNDQgNjUyLjggUSBGMShjb24pMTA4Cis2NjQuOCBRIC0uMSh2ZSktLjQgRyhydFwyNTVtZXRhIFwoT25cKSkuMSBFIEYwIC42MTIoSWYgc2V0IHRvKTE0NCA2NzYuOAorUiBGMShPbikzLjExMiBFIEYwIDMuMTEyKCxyKUMgLjYxMyhlYWRsaW5lIHdpbGwgY29uKS0zLjExMiBGIC0uMTUodmUpLS40CitHIC42MTMocnQgY2hhcmFjdGVycyB3aXRoIHRoZSBlaWdodGggYml0IHNldCB0byBhbiBBU0NJSSBrKS4xNSBGIC45MTMKKy0uMTUoZXkgcyktLjEgSCAuNjEzKGVxdWVuY2UgYnkpLjE1IEYgLjU0MQogKHN0cmlwcGluZyB0aGUgZWlnaHRoIGJpdCBhbmQgcHJlXDIxNHhpbmcgYW4gZXNjYXBlIGNoYXJhY3RlciBcKGluIGVmKQotMTQ0IDE4MCBSIC41NDEoZmVjdCwgdXNpbmcgZXNjYXBlIGFzIHRoZSktLjI1IEYvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKLS41NDEobWV0YSBwcikzLjA0MSBGKGUtKS0uMzcgRTw4Yzc4PjE0NCAxOTIgUSBGMChcKS4pQSBGMQotKGRpc2FibGVcMjU1Y29tcGxldGlvbiBcKE9mZlwpKTEwOCAyMDQgUSBGMCAuMDM4KElmIHNldCB0bykxNDQgMjE2IFIgRjEKLShPbikyLjUzOCBFIEYwIDIuNTM4KCxyKUMgLjAzOChlYWRsaW5lIHdpbGwgaW5oaWJpdCB3KS0yLjUzOCBGIC4wMzgKLShvcmQgY29tcGxldGlvbi4pLS4xIEYgLjAzOAotKENvbXBsZXRpb24gY2hhcmFjdGVycyB3aWxsIGJlIGluc2VydGVkIGludG8gdGhlKTUuMDM4IEYobGluZSBhcyBpZiB0aGUpCi0xNDQgMjI4IFEgMi41KHloKS0uMTUgRyhhZCBiZWVuIG1hcHBlZCB0byktMi41IEUgRjEoc2VsZi1pbnNlcnQpMi41IEUgRjAKLSguKUEgRjEoZWRpdGluZ1wyNTVtb2RlIFwoZW1hY3NcKSkxMDggMjQwIFEgRjAgLjI1MwotKENvbnRyb2xzIHdoZXRoZXIgcmVhZGxpbmUgYmUpMTQ0IDI1MiBSIC4yNTMoZ2lucyB3aXRoIGEgc2V0IG9mIGspLS4xNSBGCi0uNTUzIC0uMTUoZXkgYiktLjEgSCAuMjUzKGluZGluZ3Mgc2ltaWxhciB0bykuMTUgRiBGMihlbWFjcykyLjc1MiBFIEYwCi0ob3IpMi43NTIgRSBGMih2aSkyLjc1MiBFIEYwKC4pQSBGMShlZGl0aW5nXDI1NW1vZGUpNS4yNTIgRSBGMAotKGNhbiBiZSBzZXQgdG8gZWl0aGVyKTE0NCAyNjQgUSBGMShlbWFjcykyLjUgRSBGMChvcikyLjUgRSBGMSh2aSkyLjUgRQotRjAoLilBIEYxKGVjaG9cMjU1Y29udHIpMTA4IDI3NiBRKG9sXDI1NWNoYXJhY3RlcnMgXChPblwpKS0uMTggRSBGMCAxLjIxCi0oV2hlbiBzZXQgdG8pMTQ0IDI4OCBSIEYxKE9uKTMuNzEgRSBGMCAzLjcxKCxvKUMgMy43MShubyktMy43MSBHIDEuMjExCi0ocGVyYXRpbmcgc3lzdGVtcyB0aGF0IGluZGljYXRlIHRoZSktMy43MSBGIDMuNzExKHlzKS0uMTUgRyAxLjIxMQotKHVwcG9ydCBpdCwgcmVhZGxpbmUgZWNob2VzIGEgY2hhcmFjdGVyKS0zLjcxMSBGCi0oY29ycmVzcG9uZGluZyB0byBhIHNpZ25hbCBnZW5lcmF0ZWQgZnJvbSB0aGUgaykxNDQgMzAwIFEgLS4xNShleSktLjEgRwotKGJvYXJkLikuMTUgRSBGMShlbmFibGVcMjU1aykxMDggMzEyIFEoZXlwYWQgXChPZmZcKSktLjEgRSBGMCAuODkzCi0oV2hlbiBzZXQgdG8pMTQ0IDMyNCBSIEYxKE9uKTMuMzkzIEUgRjAgMy4zOTMoLHIpQyAuODkzCi0oZWFkbGluZSB3aWxsIHRyeSB0byBlbmFibGUgdGhlIGFwcGxpY2F0aW9uIGspLTMuMzkzIEYgLS4xNShleSktLjEgRwotLjg5MyhwYWQgd2hlbiBpdCBpcyBjYWxsZWQuKS4xNSBGIC44OTIoU29tZSBzeXMtKTUuODkzIEYKLSh0ZW1zIG5lZWQgdGhpcyB0byBlbmFibGUgdGhlIGFycm8pMTQ0IDMzNiBRIDIuNSh3ayktLjI1IEcgLS4xNShleSktMi42Ci1HKHMuKS4xNSBFIEYxKGVuYWJsZVwyNTVtZXRhXDI1NWspMTA4IDM0OCBRKGV5IFwoT25cKSktLjEgRSBGMCAuNjQKLShXaGVuIHNldCB0bykxNDQgMzYwIFIgRjEoT24pMy4xNCBFIEYwIDMuMTQoLHIpQyAuNjQKLShlYWRsaW5lIHdpbGwgdHJ5IHRvIGVuYWJsZSBhbiktMy4xNCBGIDMuMTQoeW0pLS4xNSBHIC42NAotKGV0YSBtb2RpXDIxNGVyIGspLTMuMTQgRiAuOTQgLS4xNShleSB0KS0uMSBIIC42NAotKGhlIHRlcm1pbmFsIGNsYWltcyB0byBzdXBwb3J0KS4xNSBGKHdoZW4gaXQgaXMgY2FsbGVkLikxNDQgMzcyIFEKLShPbiBtYW4pNSBFIDIuNSh5dCktLjE1IEcoZXJtaW5hbHMsIHRoZSBtZXRhIGspLTIuNSBFIC4zIC0uMTUoZXkgaSktLjEgSAotMi41KHN1KS4xNSBHKHNlZCB0byBzZW5kIGVpZ2h0LWJpdCBjaGFyYWN0ZXJzLiktMi41IEUgRjEKLShleHBhbmRcMjU1dGlsZGUgXChPZmZcKSkxMDggMzg0IFEgRjAoSWYgc2V0IHRvKTE0NCAzOTYgUSBGMShvbikyLjUgRSBGMAotMi41KCx0KUMoaWxkZSBlKS0yLjUgRSh4cGFuc2lvbiBpcyBwZXJmb3JtZWQgd2hlbiByZWFkbGluZSBhdHRlbXB0cyB3KQotLS4xNSBFKG9yZCBjb21wbGV0aW9uLiktLjEgRSBGMShoaXN0b3J5XDI1NXByKTEwOCA0MDggUShlc2VyKS0uMTggRSAtLjEKLSh2ZSktLjEgRyhcMjU1cG9pbnQgXChPZmZcKSkuMSBFIEYwIDEuNDkzKElmIHNldCB0bykxNDQgNDIwIFIgRjEob24pCi0zLjk5MyBFIEYwIDMuOTkzKCx0KUMgMS40OTMoaGUgaGlzdG9yeSBjb2RlIGF0dGVtcHRzIHRvIHBsYWNlIHBvaW50IGF0IFwKLXRoZSBzYW1lIGxvY2F0aW9uIG9uIGVhY2ggaGlzdG9yeSBsaW5lKS0zLjk5MyBGKHJldHJpZSkxNDQgNDMyIFEgLS4xNQotKHZlKS0uMjUgRyAyLjUoZHcpLjE1IEcoaXRoKS0yLjUgRSBGMShwcikyLjUgRSAtLjE1KGV2KS0uMTggRwotKGlvdXMtaGlzdG9yeSkuMTUgRSBGMChvcikyLjUgRSBGMShuZXh0LWhpc3RvcnkpMi41IEUgRjAoLilBIEYxCi0oaGlzdG9yeVwyNTVzaXplIFwoMFwpKTEwOCA0NDQgUSBGMCAuNDYyCi0oU2V0IHRoZSBtYXhpbXVtIG51bWJlciBvZiBoaXN0b3J5IGVudHJpZXMgc2EpMTQ0IDQ1NiBSIC0uMTUodmUpLS4yIEcKLTIuOTYzKGRpKS4xNSBHIDIuOTYzKG50KS0yLjk2MyBHIC40NjMoaGUgaGlzdG9yeSBsaXN0LiktMi45NjMgRiAuNDYzCi0oSWYgc2V0IHRvIHplcm8sIHRoZSBudW1iZXIgb2YpNS40NjMgRgotKGVudHJpZXMgaW4gdGhlIGhpc3RvcnkgbGlzdCBpcyBub3QgbGltaXRlZC4pMTQ0IDQ2OCBRIEYxCi0oaG9yaXpvbnRhbFwyNTVzY3IpMTA4IDQ4MCBRKG9sbFwyNTVtb2RlIFwoT2ZmXCkpLS4xOCBFIEYwIC40NDkKLShXaGVuIHNldCB0bykxNDQgNDkyIFIgRjEoT24pMi45NDkgRSBGMCAyLjk0OSgsbSlDKGFrKS0yLjk0OSBFIC40NDgKLShlcyByZWFkbGluZSB1c2UgYSBzaW5nbGUgbGluZSBmb3IgZGlzcGxheSktLjEgRiAyLjk0OCgscyktLjY1IEcgLjQ0OAotKGNyb2xsaW5nIHRoZSBpbnB1dCBob3Jpem9udGFsbHkgb24gYSktMi45NDggRiAxLjE5NChzaW5nbGUgc2NyZWVuIGxpbmVcCi0gd2hlbiBpdCBiZWNvbWVzIGxvbmdlciB0aGFuIHRoZSBzY3JlZW4gd2lkdGggcmF0aGVyIHRoYW4gd3JhcHBpbmcgdG8gYVwKLSBuZSkxNDQgNTA0IFIodyktLjI1IEUobGluZS4pMTQ0IDUxNiBRIEYxKGlucHV0XDI1NW1ldGEgXChPZmZcKSkxMDggNTI4Ci1RIEYwIC4yMjgoSWYgc2V0IHRvKTE0NCA1NDAgUiBGMShPbikyLjcyOCBFIEYwIDIuNzI4KCxyKUMgLjIyNyhlYWRsaW5lIFwKLXdpbGwgZW5hYmxlIGVpZ2h0LWJpdCBpbnB1dCBcKHRoYXQgaXMsIGl0IHdpbGwgbm90IHN0cmlwIHRoZSBoaWdoIGJpdCBmXAotcm9tIHRoZSBjaGFyKS0yLjcyOCBGKC0pLS4yIEUgLjk1NihhY3RlcnMgaXQgcmVhZHNcKSwgcmUpMTQ0IDU1MiBSIC0uMDUKLShnYSktLjE1IEcgLjk1NihyZGxlc3Mgb2Ygd2hhdCB0aGUgdGVybWluYWwgY2xhaW1zIGl0IGNhbiBzdXBwb3J0LikuMDUgRgotLjk1NyhUaGUgbmFtZSk1Ljk1NiBGIEYxKG1ldGFcMjU1XDIxNWFnKTMuNDU3IEUgRjAgLjk1NyhpcyBhKTMuNDU3IEYKLShzeW5vbikxNDQgNTY0IFEoeW0gZm9yIHRoaXMgdiktLjE1IEUoYXJpYWJsZS4pLS4yNSBFIEYxKGlzZWFyKTEwOCA1NzYgUQotKGNoXDI1NXRlcm1pbmF0b3JzIFwoYCktLjE4IEUoYENcMjU1W0NcMjU1SicpLS42MyBFKCdcKSktLjYzIEUgRjAgLjQzOShcCi1UaGUgc3RyaW5nIG9mIGNoYXJhY3RlcnMgdGhhdCBzaG91bGQgdGVybWluYXRlIGFuIGluY3JlbWVudGFsIHNlYXJjaCB3aVwKLXRob3V0IHN1YnNlcXVlbnRseSBlKTE0NCA1ODggUiAtLjE1KHhlKS0uMTUgRyhjdXQtKS4xNSBFIC45MzQKLShpbmcgdGhlIGNoYXJhY3RlciBhcyBhIGNvbW1hbmQuKTE0NCA2MDAgUiAuOTM1KElmIHRoaXMgdik1LjkzNSBGIC45MzUKLShhcmlhYmxlIGhhcyBub3QgYmVlbiBnaSktLjI1IEYgLS4xNSh2ZSktLjI1IEcgMy40MzUobmF2KS4xNSBHIC45MzUKLShhbHVlLCB0aGUgY2hhcmFjdGVycyktMy42ODUgRiBGMihFU0MpMy40MzUgRSBGMChhbmQpMTQ0IDYxMiBRIEYyCi0oQ1wyNTVKKTIuNSBFIEYwKHdpbGwgdGVybWluYXRlIGFuIGluY3JlbWVudGFsIHNlYXJjaC4pMi41IEUgRjEgLS4xKGtlKQotMTA4IDYyNCBTKHltYXAgXChlbWFjc1wpKS4xIEUgRjAgMi4wMjEoU2V0IHRoZSBjdXJyZW50IHJlYWRsaW5lIGspMTQ0Ci02MzYgUiAtLjE1KGV5KS0uMSBHIDQuNTIxKG1hcC4gVGhlKS4xNSBGIDIuMDIxKHNldCBvZiB2KTQuNTIxIEYgMi4wMjEKLShhbGlkIGspLS4yNSBGIC0uMTUoZXkpLS4xIEcgMi4wMjEobWFwIG5hbWVzIGlzKS4xNSBGIEYyIDIuMDIKLShlbWFjcywgZW1hY3NcMjU1c3RhbmRhcik0LjUyIEYoZCwpLS4zNyBFIC4wNjgKLShlbWFjc1wyNTVtZXRhLCBlbWFjc1wyNTVjdGx4LCB2aSwgdmlcMjU1Y29tbWFuZCkxNDQgNjQ4IFIgRjAgMi41NjgoLGEpQwotKG5kKS0yLjU2OCBFIEYyKHZpXDI1NWluc2VydCkyLjU2OCBFIEYwKC4pLjY4IEUgRjIodmkpNS4wNjggRSBGMCAuMDY4Ci0oaXMgZXF1aSkyLjU2OCBGIC0uMjUodmEpLS4yNSBHIC4wNjgobGVudCB0bykuMjUgRiBGMih2aVwyNTVjb21tYW5kKQotMi41NjkgRSBGMCg7KUEgRjIoZW1hY3MpMi41NjkgRSBGMCAxLjU0NChpcyBlcXVpKTE0NCA2NjAgUiAtLjI1KHZhKS0uMjUKLUcgMS41NDQobGVudCB0bykuMjUgRiBGMihlbWFjc1wyNTVzdGFuZGFyKTQuMDQ0IEUoZCktLjM3IEUgRjAgNi41NDQoLlQpQwotMS41NDQoaGUgZGVmKS02LjU0NCBGIDEuNTQ0KGF1bHQgdiktLjEgRiAxLjU0NChhbHVlIGlzKS0uMjUgRiBGMihlbWFjcykKLTQuMDQ0IEUgRjAgNC4wNDQoO3QpLjI3IEcgMS41NDQoaGUgdiktNC4wNDQgRiAxLjU0NChhbHVlIG9mKS0uMjUgRiBGMQotKGVkaXRpbmdcMjU1bW9kZSk0LjA0MyBFIEYwKGFsc28pNC4wNDMgRShhZikxNDQgNjcyIFEoZmVjdHMgdGhlIGRlZiktLjI1Ci1FKGF1bHQgayktLjEgRSAtLjE1KGV5KS0uMSBHKG1hcC4pLjE1IEUgRjEobWFya1wyNTVkaXIpMTA4IDY4NCBRCi0oZWN0b3JpZXMgXChPblwpKS0uMTggRSBGMChJZiBzZXQgdG8pMTQ0IDY5NiBRIEYxKE9uKTIuNSBFIEYwIDIuNSgsYylDCi0ob21wbGV0ZWQgZGlyZWN0b3J5IG5hbWVzIGhhKS0yLjUgRSAuMyAtLjE1KHZlIGEgcyktLjIgSChsYXNoIGFwcGVuZGVkLikKLS4xNSBFKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgzNikxODUuOTU1IEUgMCBDZwotRVAKKzE0NCA2ODguOCBSIC41NDEoZmVjdCwgdXNpbmcgZXNjYXBlIGFzIHRoZSktLjI1IEYgRjIgLjU0MShtZXRhIHByKTMuMDQxCitGKGUtKS0uMzcgRTw4Yzc4PjE0NCA3MDAuOCBRIEYwKFwpLilBKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDM2KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDM3IDM3CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihtYXJrXDI1NW1vZGlcMjE0ZWRcMjU1bGluZXMgXChPZmZcKSkxMDggODQKLVEgRjAoSWYgc2V0IHRvKTE0NCA5NiBRIEYxKE9uKTIuNSBFIEYwIDIuNSgsaClDKGlzdG9yeSBsaW5lcyB0aGF0IGhhKQotLTIuNSBFIC4zIC0uMTUodmUgYiktLjIgSAotKGVlbiBtb2RpXDIxNGVkIGFyZSBkaXNwbGF5ZWQgd2l0aCBhIHByZWNlZGluZyBhc3RlcmlzayBcKCkuMTUgRSBGMSgqKUEKLUYwKFwpLilBIEYxKG1hcmtcMjU1c3ltbGluaykxMDggMTA4IFEoZWRcMjU1ZGlyKS0uMSBFKGVjdG9yaWVzIFwoT2ZmXCkpCi0tLjE4IEUgRjAgLjE3NShJZiBzZXQgdG8pMTQ0IDEyMCBSIEYxKE9uKTIuNjc1IEUgRjAgMi42NzUoLGMpQyAuMTc1CistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGRpc2FibGVcMjU1Y29tcGxldGlvbiBcKE9mZlwpKTEwOCA4NCBRIEYwCisuMDM4KElmIHNldCB0bykxNDQgOTYgUiBGMShPbikyLjUzOCBFIEYwIDIuNTM4KCxyKUMgLjAzOAorKGVhZGxpbmUgd2lsbCBpbmhpYml0IHcpLTIuNTM4IEYgLjAzOChvcmQgY29tcGxldGlvbi4pLS4xIEYgLjAzOAorKENvbXBsZXRpb24gY2hhcmFjdGVycyB3aWxsIGJlIGluc2VydGVkIGludG8gdGhlKTUuMDM4IEYobGluZSBhcyBpZiB0aGUpCisxNDQgMTA4IFEgMi41KHloKS0uMTUgRyhhZCBiZWVuIG1hcHBlZCB0byktMi41IEUgRjEoc2VsZi1pbnNlcnQpMi41IEUgRjAKKyguKUEgRjEoZWRpdGluZ1wyNTVtb2RlIFwoZW1hY3NcKSkxMDggMTIwIFEgRjAgLjE0MgorKENvbnRyb2xzIHdoZXRoZXIgcmVhZGxpbmUgYmUpMTQ0IDEzMiBSIC4xNDEoZ2lucyB3aXRoIGEgc2V0IG9mIGspLS4xNSBGCisuNDQxIC0uMTUoZXkgYiktLjEgSCAuMTQxKGluZGluZ3Mgc2ltaWxhciB0bykuMTUgRi9GMiAxMC9UaW1lcy1JdGFsaWNAMAorU0YoRW1hY3MpMi42NDEgRSBGMChvcikyLjY0MSBFIEYyKHZpKTIuNjQxIEUgRjAoLilBIEYxKGVkaXRpbmdcMjU1bW9kZSkKKzUuMTQxIEUgRjAoY2FuIGJlIHNldCB0byBlaXRoZXIpMTQ0IDE0NCBRIEYxKGVtYWNzKTIuNSBFIEYwKG9yKTIuNSBFIEYxCisodmkpMi41IEUgRjAoLilBIEYxKGVjaG9cMjU1Y29udHIpMTA4IDE1NiBRKG9sXDI1NWNoYXJhY3RlcnMgXChPblwpKS0uMTgKK0UgRjAgMS4yMShXaGVuIHNldCB0bykxNDQgMTY4IFIgRjEoT24pMy43MSBFIEYwIDMuNzEoLG8pQyAzLjcxKG5vKS0zLjcxCitHIDEuMjExKHBlcmF0aW5nIHN5c3RlbXMgdGhhdCBpbmRpY2F0ZSB0aGUpLTMuNzEgRiAzLjcxMSh5cyktLjE1IEcgMS4yMTEKKyh1cHBvcnQgaXQsIHJlYWRsaW5lIGVjaG9lcyBhIGNoYXJhY3RlciktMy43MTEgRgorKGNvcnJlc3BvbmRpbmcgdG8gYSBzaWduYWwgZ2VuZXJhdGVkIGZyb20gdGhlIGspMTQ0IDE4MCBRIC0uMTUoZXkpLS4xIEcKKyhib2FyZC4pLjE1IEUgRjEoZW5hYmxlXDI1NWspMTA4IDE5MiBRKGV5cGFkIFwoT2ZmXCkpLS4xIEUgRjAgLjg5MworKFdoZW4gc2V0IHRvKTE0NCAyMDQgUiBGMShPbikzLjM5MyBFIEYwIDMuMzkzKCxyKUMgLjg5MworKGVhZGxpbmUgd2lsbCB0cnkgdG8gZW5hYmxlIHRoZSBhcHBsaWNhdGlvbiBrKS0zLjM5MyBGIC0uMTUoZXkpLS4xIEcKKy44OTMocGFkIHdoZW4gaXQgaXMgY2FsbGVkLikuMTUgRiAuODkyKFNvbWUgc3lzLSk1Ljg5MyBGCisodGVtcyBuZWVkIHRoaXMgdG8gZW5hYmxlIHRoZSBhcnJvKTE0NCAyMTYgUSAyLjUod2spLS4yNSBHIC0uMTUoZXkpLTIuNgorRyhzLikuMTUgRSBGMShlbmFibGVcMjU1bWV0YVwyNTVrKTEwOCAyMjggUShleSBcKE9uXCkpLS4xIEUgRjAgLjY0CisoV2hlbiBzZXQgdG8pMTQ0IDI0MCBSIEYxKE9uKTMuMTQgRSBGMCAzLjE0KCxyKUMgLjY0CisoZWFkbGluZSB3aWxsIHRyeSB0byBlbmFibGUgYW4pLTMuMTQgRiAzLjE0KHltKS0uMTUgRyAuNjQKKyhldGEgbW9kaVwyMTRlciBrKS0zLjE0IEYgLjk0IC0uMTUoZXkgdCktLjEgSCAuNjQKKyhoZSB0ZXJtaW5hbCBjbGFpbXMgdG8gc3VwcG9ydCkuMTUgRih3aGVuIGl0IGlzIGNhbGxlZC4pMTQ0IDI1MiBRCisoT24gbWFuKTUgRSAyLjUoeXQpLS4xNSBHKGVybWluYWxzLCB0aGUgbWV0YSBrKS0yLjUgRSAuMyAtLjE1KGV5IGkpLS4xIEgKKzIuNShzdSkuMTUgRyhzZWQgdG8gc2VuZCBlaWdodC1iaXQgY2hhcmFjdGVycy4pLTIuNSBFIEYxCisoZXhwYW5kXDI1NXRpbGRlIFwoT2ZmXCkpMTA4IDI2NCBRIEYwKElmIHNldCB0bykxNDQgMjc2IFEgRjEoT24pMi41IEUgRjAKKzIuNSgsdClDKGlsZGUgZSktMi41IEUoeHBhbnNpb24gaXMgcGVyZm9ybWVkIHdoZW4gcmVhZGxpbmUgYXR0ZW1wdHMgdykKKy0uMTUgRShvcmQgY29tcGxldGlvbi4pLS4xIEUgRjEoaGlzdG9yeVwyNTVwcikxMDggMjg4IFEoZXNlciktLjE4IEUgLS4xCisodmUpLS4xIEcoXDI1NXBvaW50IFwoT2ZmXCkpLjEgRSBGMCAxLjMzOShJZiBzZXQgdG8pMTQ0IDMwMCBSIEYxKE9uKQorMy44MzkgRSBGMCAzLjgzOSgsdClDIDEuMzM4KGhlIGhpc3RvcnkgY29kZSBhdHRlbXB0cyB0byBwbGFjZSBwb2ludCBhdCBcCit0aGUgc2FtZSBsb2NhdGlvbiBvbiBlYWNoIGhpc3RvcnkgbGluZSktMy44MzkgRihyZXRyaWUpMTQ0IDMxMiBRIC0uMTUKKyh2ZSktLjI1IEcgMi41KGR3KS4xNSBHKGl0aCktMi41IEUgRjEocHIpMi41IEUgLS4xNShldiktLjE4IEcKKyhpb3VzLWhpc3RvcnkpLjE1IEUgRjAob3IpMi41IEUgRjEobmV4dC1oaXN0b3J5KTIuNSBFIEYwKC4pQSBGMQorKGhpc3RvcnlcMjU1c2l6ZSBcKDBcKSkxMDggMzI0IFEgRjAgLjQ2MgorKFNldCB0aGUgbWF4aW11bSBudW1iZXIgb2YgaGlzdG9yeSBlbnRyaWVzIHNhKTE0NCAzMzYgUiAtLjE1KHZlKS0uMiBHCisyLjk2MyhkaSkuMTUgRyAyLjk2MyhudCktMi45NjMgRyAuNDYzKGhlIGhpc3RvcnkgbGlzdC4pLTIuOTYzIEYgLjQ2MworKElmIHNldCB0byB6ZXJvLCB0aGUgbnVtYmVyIG9mKTUuNDYzIEYKKyhlbnRyaWVzIGluIHRoZSBoaXN0b3J5IGxpc3QgaXMgbm90IGxpbWl0ZWQuKTE0NCAzNDggUSBGMQorKGhvcml6b250YWxcMjU1c2NyKTEwOCAzNjAgUShvbGxcMjU1bW9kZSBcKE9mZlwpKS0uMTggRSBGMCAuNDQ5CisoV2hlbiBzZXQgdG8pMTQ0IDM3MiBSIEYxKE9uKTIuOTQ5IEUgRjAgMi45NDkoLG0pQyhhayktMi45NDkgRSAuNDQ4CisoZXMgcmVhZGxpbmUgdXNlIGEgc2luZ2xlIGxpbmUgZm9yIGRpc3BsYXkpLS4xIEYgMi45NDgoLHMpLS42NSBHIC40NDgKKyhjcm9sbGluZyB0aGUgaW5wdXQgaG9yaXpvbnRhbGx5IG9uIGEpLTIuOTQ4IEYgMS4xOTQoc2luZ2xlIHNjcmVlbiBsaW5lXAorIHdoZW4gaXQgYmVjb21lcyBsb25nZXIgdGhhbiB0aGUgc2NyZWVuIHdpZHRoIHJhdGhlciB0aGFuIHdyYXBwaW5nIHRvIGFcCisgbmUpMTQ0IDM4NCBSKHcpLS4yNSBFKGxpbmUuKTE0NCAzOTYgUSBGMShpbnB1dFwyNTVtZXRhIFwoT2ZmXCkpMTA4IDQwOAorUSBGMCAuMjI4KElmIHNldCB0bykxNDQgNDIwIFIgRjEoT24pMi43MjggRSBGMCAyLjcyOCgscilDIC4yMjcoZWFkbGluZSBcCit3aWxsIGVuYWJsZSBlaWdodC1iaXQgaW5wdXQgXCh0aGF0IGlzLCBpdCB3aWxsIG5vdCBzdHJpcCB0aGUgaGlnaCBiaXQgZlwKK3JvbSB0aGUgY2hhciktMi43MjggRigtKS0uMiBFIC45NTYoYWN0ZXJzIGl0IHJlYWRzXCksIHJlKTE0NCA0MzIgUiAtLjA1CisoZ2EpLS4xNSBHIC45NTYocmRsZXNzIG9mIHdoYXQgdGhlIHRlcm1pbmFsIGNsYWltcyBpdCBjYW4gc3VwcG9ydC4pLjA1IEYKKy45NTcoVGhlIG5hbWUpNS45NTYgRiBGMShtZXRhXDI1NVwyMTVhZykzLjQ1NyBFIEYwIC45NTcoaXMgYSkzLjQ1NyBGCisoc3lub24pMTQ0IDQ0NCBRKHltIGZvciB0aGlzIHYpLS4xNSBFKGFyaWFibGUuKS0uMjUgRSBGMShpc2VhcikxMDggNDU2IFEKKyhjaFwyNTV0ZXJtaW5hdG9ycyBcKGApLS4xOCBFKGBDXDI1NVtDXDI1NUonKS0uNjMgRSgnXCkpLS42MyBFIEYwIC40MzkoXAorVGhlIHN0cmluZyBvZiBjaGFyYWN0ZXJzIHRoYXQgc2hvdWxkIHRlcm1pbmF0ZSBhbiBpbmNyZW1lbnRhbCBzZWFyY2ggd2lcCit0aG91dCBzdWJzZXF1ZW50bHkgZSkxNDQgNDY4IFIgLS4xNSh4ZSktLjE1IEcoY3V0LSkuMTUgRSAuOTM0CisoaW5nIHRoZSBjaGFyYWN0ZXIgYXMgYSBjb21tYW5kLikxNDQgNDgwIFIgLjkzNShJZiB0aGlzIHYpNS45MzUgRiAuOTM1CisoYXJpYWJsZSBoYXMgbm90IGJlZW4gZ2kpLS4yNSBGIC0uMTUodmUpLS4yNSBHIDMuNDM1KG5hdikuMTUgRyAuOTM1CisoYWx1ZSwgdGhlIGNoYXJhY3RlcnMpLTMuNjg1IEYgRjIoRVNDKTMuNDM1IEUgRjAoYW5kKTE0NCA0OTIgUSBGMgorKENcMjU1SikyLjUgRSBGMCh3aWxsIHRlcm1pbmF0ZSBhbiBpbmNyZW1lbnRhbCBzZWFyY2guKTIuNSBFIEYxIC0uMShrZSkKKzEwOCA1MDQgUyh5bWFwIFwoZW1hY3NcKSkuMSBFIEYwIDIuMDIxKFNldCB0aGUgY3VycmVudCByZWFkbGluZSBrKTE0NAorNTE2IFIgLS4xNShleSktLjEgRyA0LjUyMShtYXAuIFRoZSkuMTUgRiAyLjAyMShzZXQgb2Ygdik0LjUyMSBGIDIuMDIxCisoYWxpZCBrKS0uMjUgRiAtLjE1KGV5KS0uMSBHIDIuMDIxKG1hcCBuYW1lcyBpcykuMTUgRiBGMiAyLjAyCisoZW1hY3MsIGVtYWNzXDI1NXN0YW5kYXIpNC41MiBGKGQsKS0uMzcgRSAuMDY4CisoZW1hY3NcMjU1bWV0YSwgZW1hY3NcMjU1Y3RseCwgdmksIHZpXDI1NWNvbW1hbmQpMTQ0IDUyOCBSIEYwIDIuNTY4KCxhKUMKKyhuZCktMi41NjggRSBGMih2aVwyNTVpbnNlcnQpMi41NjggRSBGMCguKS42OCBFIEYyKHZpKTUuMDY4IEUgRjAgLjA2OAorKGlzIGVxdWkpMi41NjggRiAtLjI1KHZhKS0uMjUgRyAuMDY4KGxlbnQgdG8pLjI1IEYgRjIodmlcMjU1Y29tbWFuZCkKKzIuNTY5IEUgRjAoOylBIEYyKGVtYWNzKTIuNTY5IEUgRjAgMS41NDQoaXMgZXF1aSkxNDQgNTQwIFIgLS4yNSh2YSktLjI1CitHIDEuNTQ0KGxlbnQgdG8pLjI1IEYgRjIoZW1hY3NcMjU1c3RhbmRhcik0LjA0NCBFKGQpLS4zNyBFIEYwIDYuNTQ0KC5UKUMKKzEuNTQ0KGhlIGRlZiktNi41NDQgRiAxLjU0NChhdWx0IHYpLS4xIEYgMS41NDQoYWx1ZSBpcyktLjI1IEYgRjIoZW1hY3MpCis0LjA0NCBFIEYwIDQuMDQ0KDt0KS4yNyBHIDEuNTQ0KGhlIHYpLTQuMDQ0IEYgMS41NDQoYWx1ZSBvZiktLjI1IEYgRjEKKyhlZGl0aW5nXDI1NW1vZGUpNC4wNDMgRSBGMChhbHNvKTQuMDQzIEUoYWYpMTQ0IDU1MiBRKGZlY3RzIHRoZSBkZWYpLS4yNQorRShhdWx0IGspLS4xIEUgLS4xNShleSktLjEgRyhtYXAuKS4xNSBFIEYxKG1hcmtcMjU1ZGlyKTEwOCA1NjQgUQorKGVjdG9yaWVzIFwoT25cKSktLjE4IEUgRjAoSWYgc2V0IHRvKTE0NCA1NzYgUSBGMShPbikyLjUgRSBGMCAyLjUoLGMpQworKG9tcGxldGVkIGRpcmVjdG9yeSBuYW1lcyBoYSktMi41IEUgLjMgLS4xNSh2ZSBhIHMpLS4yIEgobGFzaCBhcHBlbmRlZC4pCisuMTUgRSBGMShtYXJrXDI1NW1vZGlcMjE0ZWRcMjU1bGluZXMgXChPZmZcKSkxMDggNTg4IFEgRjAoSWYgc2V0IHRvKTE0NAorNjAwIFEgRjEoT24pMi41IEUgRjAgMi41KCxoKUMoaXN0b3J5IGxpbmVzIHRoYXQgaGEpLTIuNSBFIC4zIC0uMTUodmUgYikKKy0uMiBIKGVlbiBtb2RpXDIxNGVkIGFyZSBkaXNwbGF5ZWQgd2l0aCBhIHByZWNlZGluZyBhc3RlcmlzayBcKCkuMTUgRSBGMQorKCopQSBGMChcKS4pQSBGMShtYXJrXDI1NXN5bWxpbmspMTA4IDYxMiBRKGVkXDI1NWRpciktLjEgRQorKGVjdG9yaWVzIFwoT2ZmXCkpLS4xOCBFIEYwIC4xNzUoSWYgc2V0IHRvKTE0NCA2MjQgUiBGMShPbikyLjY3NSBFIEYwCisyLjY3NSgsYylDIC4xNzUKIChvbXBsZXRlZCBuYW1lcyB3aGljaCBhcmUgc3ltYm9saWMgbGlua3MgdG8gZGlyZWN0b3JpZXMgaGEpLTIuNjc1IEYgLjQ3NQotLS4xNSh2ZSBhIHMpLS4yIEggLjE3NShsYXNoIGFwcGVuZGVkIFwoc3ViLSkuMTUgRihqZWN0IHRvIHRoZSB2KTE0NCAxMzIKKy0uMTUodmUgYSBzKS0uMiBIIC4xNzUobGFzaCBhcHBlbmRlZCBcKHN1Yi0pLjE1IEYoamVjdCB0byB0aGUgdikxNDQgNjM2CiBRKGFsdWUgb2YpLS4yNSBFIEYxKG1hcmtcMjU1ZGlyKTIuNSBFKGVjdG9yaWVzKS0uMTggRSBGMChcKS4pQSBGMQotKG1hdGNoXDI1NWhpZGRlblwyNTVcMjE0bGVzIFwoT25cKSkxMDggMTQ0IFEgRjAgLjE5MyhUaGlzIHYpMTQ0IDE1NiBSCisobWF0Y2hcMjU1aGlkZGVuXDI1NVwyMTRsZXMgXChPblwpKTEwOCA2NDggUSBGMCAuMTkzKFRoaXMgdikxNDQgNjYwIFIKIC4xOTMoYXJpYWJsZSwgd2hlbiBzZXQgdG8pLS4yNSBGIEYxKE9uKTIuNjkzIEUgRjAgMi42OTMoLGMpQyAuMTkyCiAoYXVzZXMgcmVhZGxpbmUgdG8gbWF0Y2ggXDIxNGxlcyB3aG9zZSBuYW1lcyBiZSktMi42OTMgRiAuMTkyCi0oZ2luIHdpdGggYSBgLiktLjE1IEYgMi42OTIoJ1woKS0uNyBHKGhpZGRlbiktMi42OTIgRSAxLjAyMwotKFwyMTRsZXNcKSB3aGVuIHBlcmZvcm1pbmcgXDIxNGxlbmFtZSBjb21wbGV0aW9uLCB1bmxlc3MgdGhlIGxlYWRpbmcgYC4pCi0xNDQgMTY4IFIgMy41MjMoJ2kpLS43IEcgMy41MjMoc3MpLTMuNTIzIEcgMS4wMjQKLSh1cHBsaWVkIGJ5IHRoZSB1c2VyIGluIHRoZSktMy41MjMgRihcMjE0bGVuYW1lIHRvIGJlIGNvbXBsZXRlZC4pMTQ0IDE4MAotUSBGMShvdXRwdXRcMjU1bWV0YSBcKE9mZlwpKTEwOCAxOTIgUSBGMCAuNTA3KElmIHNldCB0bykxNDQgMjA0IFIgRjEoT24pCi0zLjAwNyBFIEYwIDMuMDA3KCxyKUMgLjUwNyhlYWRsaW5lIHdpbGwgZGlzcGxheSBjaGFyYWN0ZXJzIHdpdGggdGhlIGVpZ1wKLWh0aCBiaXQgc2V0IGRpcmVjdGx5IHJhdGhlciB0aGFuIGFzIGEgbWV0YS0pLTMuMDA3IEYocHJlXDIxNHgpMTQ0IDIxNiBRCi0oZWQgZXNjYXBlIHNlcXVlbmNlLiktLjE1IEUgRjEocGFnZVwyNTVjb21wbGV0aW9ucyBcKE9uXCkpMTA4IDIyOCBRIEYwCi0uODA4KElmIHNldCB0bykxNDQgMjQwIFIgRjEoT24pMy4zMDggRSBGMCAzLjMwOCgscilDIC44MDgKLShlYWRsaW5lIHVzZXMgYW4gaW50ZXJuYWwpLTMuMzA4IEYvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YobW9yKTMuMzA4IEUKLShlKS0uMzcgRSBGMCgtbGlrKUEgMy4zMDgoZXApLS4xIEcgLjgwOAotKGFnZXIgdG8gZGlzcGxheSBhIHNjcmVlbmZ1bCBvZiBwb3NzaWJsZSBjb21wbGUtKS0zLjMwOCBGCi0odGlvbnMgYXQgYSB0aW1lLikxNDQgMjUyIFEgRjEKLShwcmludFwyNTVjb21wbGV0aW9uc1wyNTVob3Jpem9udGFsbHkgXChPZmZcKSkxMDggMjY0IFEgRjAgMS4zMTkKLShJZiBzZXQgdG8pMTQ0IDI3NiBSIEYxKE9uKTMuODE5IEUgRjAgMy44MTkoLHIpQyAxLjMxOChlYWRsaW5lIHdpbGwgZGlzXAotcGxheSBjb21wbGV0aW9ucyB3aXRoIG1hdGNoZXMgc29ydGVkIGhvcml6b250YWxseSBpbiBhbHBoYWJldGljYWwpLTMuODE5Ci1GKG9yZGVyKTE0NCAyODggUSAyLjUoLHIpLS40IEcoYXRoZXIgdGhhbiBkbyktMi41IEUod24gdGhlIHNjcmVlbi4pLS4yNQotRSBGMSAtMi4yOSAtLjE4KHJlIHYpMTA4IDMwMCBUKGVydFwyNTVhbGxcMjU1YXRcMjU1bmV3bGluZSBcKE9mZlwpKS4wOCBFCi1GMCAuODcyKElmIHNldCB0bykxNDQgMzEyIFIgRjEob24pMy4zNzIgRSBGMCAzLjM3MigscilDIC44NzMKLShlYWRsaW5lIHdpbGwgdW5kbyBhbGwgY2hhbmdlcyB0byBoaXN0b3J5IGxpbmVzIGJlZm9yZSByZXR1cm5pbmcgd2hlbikKLS0zLjM3MiBGIEYxKGFjY2VwdFwyNTVsaW5lKTMuMzczIEUgRjAoaXMpMy4zNzMgRSAtLjE1KGV4ZSkxNDQgMzI0IFMKLTIuNjg2KGN1dGVkLiBCeSkuMTUgRihkZWYpMi42ODYgRSAuMTg2Ci0oYXVsdCwgaGlzdG9yeSBsaW5lcyBtYXkgYmUgbW9kaVwyMTRlZCBhbmQgcmV0YWluIGluZGkpLS4xIEYgLjE4NgotKHZpZHVhbCB1bmRvIGxpc3RzIGFjcm9zcyBjYWxscyB0byktLjI1IEYgRjEgLS4xOChyZSkxNDQgMzM2IFMoYWRsaW5lKQotLjE4IEUgRjAoLilBIEYxKHNobykxMDggMzQ4IFEod1wyNTVhbGxcMjU1aWZcMjU1YW1iaWd1b3VzIFwoT2ZmXCkpLS4xIEUKLUYwIC40NzcoVGhpcyBhbHRlcnMgdGhlIGRlZikxNDQgMzYwIFIgLjQ3NyhhdWx0IGJlaGEpLS4xIEYgLjQ3NwotKHZpb3Igb2YgdGhlIGNvbXBsZXRpb24gZnVuY3Rpb25zLiktLjIgRiAuNDc4KElmIHNldCB0byk1LjQ3OCBGIEYxKG9uKQotMi45NzggRSBGMCAyLjk3OCgsdylDIC40Nzgob3JkcyB3aGljaCBoYSktMy4wNzggRiAuNzc4IC0uMTUodmUgbSktLjIgSAotKG9yZSkuMTUgRSAxLjI2NCh0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uIGNhdXNlIHRoZSBtYXRjaGVzIHRvIGJlIGxcCi1pc3RlZCBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIHJpbmdpbmcgdGhlKTE0NCAzNzIgUihiZWxsLikxNDQgMzg0IFEgRjEKLShzaG8pMTA4IDM5NiBRKHdcMjU1YWxsXDI1NWlmXDI1NXVubW9kaVwyMTRlZCBcKE9mZlwpKS0uMSBFIEYwIDUuMzQ1Ci0oVGhpcyBhbHRlcnMgdGhlIGRlZikxNDQgNDA4IFIgNS4zNDUoYXVsdCBiZWhhKS0uMSBGIDUuMzQ1Ci0odmlvciBvZiB0aGUgY29tcGxldGlvbiBmdW5jdGlvbnMgaW4gYSBmKS0uMiBGIDUuMzQ2KGFzaGlvbiBzaW1pbGFyIHRvKQotLS4xIEYgRjEoc2hvKTE0NCA0MjAgUSh3XDI1NWFsbFwyNTVpZlwyNTVhbWJpZ3VvdXMpLS4xIEUgRjAgNi45MjMoLkkpQwotNC40MjMoZnMpLTYuOTIzIEcgMS45MjMoZXQgdG8pLTQuNDIzIEYgRjEob24pNC40MjMgRSBGMCA0LjQyMygsdylDIDEuOTIzCi0ob3JkcyB3aGljaCBoYSktNC41MjMgRiAyLjIyMiAtLjE1KHZlIG0pLS4yIEggMS45MjIKLShvcmUgdGhhbiBvbmUgcG9zc2libGUgY29tcGxldGlvbikuMTUgRiAxLjAzOSh3aXRob3V0IGFuKTE0NCA0MzIgUiAzLjUzOQotKHlwKS0uMTUgRyAxLjAzOQotKG9zc2libGUgcGFydGlhbCBjb21wbGV0aW9uIFwodGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGRvbicpLTMuNTM5IEYKLTMuNTM5KHRzKS0uMTggRyAxLjA0KGhhcmUgYSBjb21tb24gcHJlXDIxNHhcKSktMy41MzkgRihjYXVzZSB0aGUgbWF0Y2hlXAotcyB0byBiZSBsaXN0ZWQgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiByaW5naW5nIHRoZSBiZWxsLikxNDQgNDQ0IFEgRjEKLShza2lwXDI1NWNvbXBsZXRlZFwyNTV0ZXh0IFwoT2ZmXCkpMTA4IDQ1NiBRIEYwIC4wOTUoSWYgc2V0IHRvKTE0NCA0NjggUgotRjEoT24pMi41OTUgRSBGMCAyLjU5NSgsdClDIC4wOTUoaGlzIGFsdGVycyB0aGUgZGVmKS0yLjU5NSBGIC4wOTUKLShhdWx0IGNvbXBsZXRpb24gYmVoYSktLjEgRiAuMDk0Ci0odmlvciB3aGVuIGluc2VydGluZyBhIHNpbmdsZSBtYXRjaCBpbnRvIHRoZSBsaW5lLiktLjIgRihJdCcpMTQ0IDQ4MCBRCi0yLjU0NShzbyktLjU1IEcgLjA0NShubHkgYWN0aSktMi41NDUgRiAuMzQ1IC0uMTUodmUgdyktLjI1IEggLjA0NgotKGhlbiBwZXJmb3JtaW5nIGNvbXBsZXRpb24gaW4gdGhlIG1pZGRsZSBvZiBhIHcpLjE1IEYgMi41NDYob3JkLiBJZiktLjEKLUYgLjA0NihlbmFibGVkLCByZWFkbGluZSBkb2VzIG5vdCkyLjU0NiBGIDEuMzk0KGluc2VydCBjaGFyYWN0ZXJzIGZyb20gXAotdGhlIGNvbXBsZXRpb24gdGhhdCBtYXRjaCBjaGFyYWN0ZXJzIGFmdGVyIHBvaW50IGluIHRoZSB3KTE0NCA0OTIgUgotMS4zOTQob3JkIGJlaW5nIGNvbS0pLS4xIEYocGxldGVkLCBzbyBwb3J0aW9ucyBvZiB0aGUgdykxNDQgNTA0IFEKLShvcmQgZm9sbG8pLS4xIEUod2luZyB0aGUgY3Vyc29yIGFyZSBub3QgZHVwbGljYXRlZC4pLS4yNSBFIEYxCi0odmlzaWJsZVwyNTVzdGF0cyBcKE9mZlwpKTEwOCA1MTYgUSBGMCAuODQ2KElmIHNldCB0bykxNDQgNTI4IFIgRjEoT24pCi0zLjM0NiBFIEYwIDMuMzQ2KCxhYylDIC44NDYoaGFyYWN0ZXIgZGVub3RpbmcgYSBcMjE0bGUnKS0zLjM0NiBGIDMuMzQ2Ci0oc3QpLS41NSBHIC44NDYoeXBlIGFzIHJlcG9ydGVkIGJ5KS0zLjM0NiBGIEYyKHN0YXQpMy4zNDYgRSBGMCAuODQ2Ci0oXCgyXCkgaXMgYXBwZW5kZWQgdG8gdGhlIFwyMTRsZW5hbWUpQgotKHdoZW4gbGlzdGluZyBwb3NzaWJsZSBjb21wbGV0aW9ucy4pMTQ0IDU0MCBRIEYxCi0oUmVhZGxpbmUgQ29uZGl0aW9uYWwgQ29uc3RydWN0cyk4NyA1NTYuOCBRIEYwIC4wNQotKFJlYWRsaW5lIGltcGxlbWVudHMgYSBmKTEwOCA1NjguOCBSIC4wNShhY2lsaXR5IHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRcCi1oZSBjb25kaXRpb25hbCBjb21waWxhdGlvbiBmZWF0dXJlcyBvZiB0aGUgQyBwcmVwcm9jZXNzb3IpLS4xIEYgLjA5NgotKHdoaWNoIGFsbG8pMTA4IDU4MC44IFIgLjA5Nih3cyBrKS0uMjUgRiAuMzk2IC0uMTUoZXkgYiktLjEgSCAuMDk2Ci0oaW5kaW5ncyBhbmQgdikuMTUgRiAuMDk2Ci0oYXJpYWJsZSBzZXR0aW5ncyB0byBiZSBwZXJmb3JtZWQgYXMgdGhlIHJlc3VsdCBvZiB0ZXN0cy4pLS4yNSBGIC4wOTcKLShUaGVyZSBhcmUgZm91ciBwYXJzZXIpNS4wOTYgRihkaXJlY3RpKTEwOCA1OTIuOCBRIC0uMTUodmUpLS4yNSBHIDIuNQotKHN1KS4xNSBHKHNlZC4pLTIuNSBFIEYxKCRpZikxMDggNjA5LjYgUSBGMChUaGUpMjQuODkgRSBGMSgkaWYpMi45NjMgRQotRjAgLjQ2Myhjb25zdHJ1Y3QgYWxsbykyLjk2MyBGIC40NjIod3MgYmluZGluZ3MgdG8gYmUgbWFkZSBiYXNlZCBvbiB0aGVcCi0gZWRpdGluZyBtb2RlLCB0aGUgdGVybWluYWwgYmVpbmcgdXNlZCwpLS4yNSBGIC40NzcKLShvciB0aGUgYXBwbGljYXRpb24gdXNpbmcgcmVhZGxpbmUuKTE0NCA2MjEuNiBSIC40NzcoVGhlIHRlKTUuNDc3IEYgLjQ3NwotKHh0IG9mIHRoZSB0ZXN0IGUpLS4xNSBGIC40NzcKLSh4dGVuZHMgdG8gdGhlIGVuZCBvZiB0aGUgbGluZTsgbm8gY2hhcmFjdGVycyktLjE1IEYKLShhcmUgcmVxdWlyZWQgdG8gaXNvbGF0ZSBpdC4pMTQ0IDYzMy42IFEgRjEobW9kZSkxNDQgNjUwLjQgUSBGMChUaGUpCi0xMi42NyBFIEYxKG1vZGU9KTMuNzEyIEUgRjAgMS4yMTIoZm9ybSBvZiB0aGUpMy43MTIgRiBGMSgkaWYpMy43MTEgRSBGMAotKGRpcmVjdGkpMy43MTEgRSAxLjUxMSAtLjE1KHZlIGkpLS4yNSBIIDMuNzExKHN1KS4xNSBHIDEuMjExCi0oc2VkIHRvIHRlc3Qgd2hldGhlciByZWFkbGluZSBpcyBpbiBlbWFjcyBvciB2aSktMy43MTEgRiAzLjA2NQotKG1vZGUuIFRoaXMpMTgwIDY2Mi40IFIgLjU2NShtYXkgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSkzLjA2NSBGCi1GMSAuNTY1KHNldCBrKTMuMDY1IEYoZXltYXApLS4xIEUgRjAgLjU2NShjb21tYW5kLCBmb3IgaW5zdGFuY2UsIHRvKQotMy4wNjUgRiAuNzM1KHNldCBiaW5kaW5ncyBpbiB0aGUpMTgwIDY3NC40IFIgRjIoZW1hY3NcMjU1c3RhbmRhcikzLjIzNSBFCi0oZCktLjM3IEUgRjAoYW5kKTMuMjM1IEUgRjIoZW1hY3NcMjU1Y3RseCkzLjIzNSBFIEYwIC0uMShrZSkzLjIzNSBHIC43MzUKLSh5bWFwcyBvbmx5IGlmIHJlYWRsaW5lIGlzIHN0YXJ0aW5nKS0uMDUgRihvdXQgaW4gZW1hY3MgbW9kZS4pMTgwIDY4Ni40Ci1RIEYxKHRlcm0pMTQ0IDcwMy4yIFEgRjAoVGhlKTE1LjQ2IEUgRjEodGVybT0pMy4xOTYgRSBGMCAuNjk2Ci0oZm9ybSBtYXkgYmUgdXNlZCB0byBpbmNsdWRlIHRlcm1pbmFsLXNwZWNpXDIxNGMgaykzLjE5NiBGIC45OTYgLS4xNQotKGV5IGIpLS4xIEggLjY5NyhpbmRpbmdzLCBwZXJoYXBzIHRvIGJpbmQpLjE1IEYgLjY1NCh0aGUgaykxODAgNzE1LjIgUgotLjk1NCAtLjE1KGV5IHMpLS4xIEggLjY1NChlcXVlbmNlcyBvdXRwdXQgYnkgdGhlIHRlcm1pbmFsJykuMTUgRiAzLjE1NAotKHNmKS0uNTUgRyAuNjU0KHVuY3Rpb24gayktMy4xNTQgRiAtLjE1KGV5KS0uMSBHIDMuMTU0KHMuIFRoZSkuMTUgRiAtLjEKLSh3bykzLjE1NCBHIC42NTQocmQgb24gdGhlIHJpZ2h0IHNpZGUgb2YpLjEgRih0aGUpMTgwIDcyNy4yIFEgRjEoPSkzLjIzMQotRSBGMCAuNzMxKGlzIHRlc3RlZCBhZykzLjIzMSBGIC43MzIoYWluc3QgdGhlIGJvdGggZnVsbCBuYW1lIG9mIHRoZSB0ZXJcCi1taW5hbCBhbmQgdGhlIHBvcnRpb24gb2YgdGhlIHRlcm1pbmFsKS0uMDUgRihHTlUgQmFzaC00LjEpNzIgNzY4IFEKLSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgzNykxODUuOTU1IEUgMCBDZyBFUAorKGdpbiB3aXRoIGEgYC4pLS4xNSBGIDIuNjkyKCdcKCktLjcgRyhoaWRkZW4pLTIuNjkyIEUgLjQ1NgorKFwyMTRsZXNcKSB3aGVuIHBlcmZvcm1pbmcgXDIxNGxlbmFtZSBjb21wbGV0aW9uLikxNDQgNjcyIFIgLjQ1NgorKElmIHNldCB0byk1LjQ1NiBGIEYxKE9mZikyLjk1NiBFIEYwIDIuOTU2KCx0KUMgLjQ1NihoZSBsZWFkaW5nIGAuKQorLTIuOTU2IEYgMi45NTYoJ20pLS43IEcgLjQ1Nyh1c3QgYmUgc3VwcGxpZWQgYnkgdGhlKS0yLjk1NiBGCisodXNlciBpbiB0aGUgXDIxNGxlbmFtZSB0byBiZSBjb21wbGV0ZWQuKTE0NCA2ODQgUSBGMQorKG1lbnVcMjU1Y29tcGxldGVcMjU1ZGlzcGxheVwyNTVwcikxMDggNjk2IFEoZVwyMTR4IFwoT2ZmXCkpLS4xOCBFIEYwCisxLjU4NihJZiBzZXQgdG8pMTQ0IDcwOCBSIEYxKE9uKTQuMDg2IEUgRjAgNC4wODYoLG0pQyAxLjU4NShlbnUgY29tcGxldFwKK2lvbiBkaXNwbGF5cyB0aGUgY29tbW9uIHByZVwyMTR4IG9mIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zKQorLTQuMDg2IEYoXCh3aGljaCBtYXkgYmUgZW1wdHlcKSBiZWZvcmUgYykxNDQgNzIwIFEKKyh5Y2xpbmcgdGhyb3VnaCB0aGUgbGlzdC4pLS4xNSBFKEdOVSBCYXNoLTQuMik3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KQorMTM1Ljk2NSBFKDM3KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDM4IDM4CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFKG5hbWUgYmVmb3JlIHRoZSBcMjE0cnN0KTE4MCA4NCBRL0YxIDEwL1RpbWVzLUJvbGRAMCBTRjxhZD4yLjUgRQotRjAgNSguVClDKGhpcyBhbGxvKS01IEUod3MpLS4yNSBFL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKHN1bikyLjg0IEUgRjAKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0Yob3V0cHV0XDI1NW1ldGEgXChPZmZcKSkxMDggODQgUSBGMCAuNTA2CisoSWYgc2V0IHRvKTE0NCA5NiBSIEYxKE9uKTMuMDA2IEUgRjAgMy4wMDYoLHIpQyAuNTA3KGVhZGxpbmUgd2lsbCBkaXNwbFwKK2F5IGNoYXJhY3RlcnMgd2l0aCB0aGUgZWlnaHRoIGJpdCBzZXQgZGlyZWN0bHkgcmF0aGVyIHRoYW4gYXMgYSBtZXRhLSkKKy0zLjAwNiBGKHByZVwyMTR4KTE0NCAxMDggUShlZCBlc2NhcGUgc2VxdWVuY2UuKS0uMTUgRSBGMQorKHBhZ2VcMjU1Y29tcGxldGlvbnMgXChPblwpKTEwOCAxMjAgUSBGMCAuODA5KElmIHNldCB0bykxNDQgMTMyIFIgRjEoT24pCiszLjMwOCBFIEYwIDMuMzA4KCxyKUMgLjgwOChlYWRsaW5lIHVzZXMgYW4gaW50ZXJuYWwpLTMuMzA4IEYvRjIgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihtb3IpMy4zMDggRShlKS0uMzcgRSBGMCgtbGlrKUEgMy4zMDgoZXApLS4xIEcgLjgwOAorKGFnZXIgdG8gZGlzcGxheSBhIHNjcmVlbmZ1bCBvZiBwb3NzaWJsZSBjb21wbGUtKS0zLjMwOCBGCisodGlvbnMgYXQgYSB0aW1lLikxNDQgMTQ0IFEgRjEKKyhwcmludFwyNTVjb21wbGV0aW9uc1wyNTVob3Jpem9udGFsbHkgXChPZmZcKSkxMDggMTU2IFEgRjAgMS4zMTgKKyhJZiBzZXQgdG8pMTQ0IDE2OCBSIEYxKE9uKTMuODE4IEUgRjAgMy44MTgoLHIpQyAxLjMxOShlYWRsaW5lIHdpbGwgZGlzXAorcGxheSBjb21wbGV0aW9ucyB3aXRoIG1hdGNoZXMgc29ydGVkIGhvcml6b250YWxseSBpbiBhbHBoYWJldGljYWwpLTMuODE4CitGKG9yZGVyKTE0NCAxODAgUSAyLjUoLHIpLS40IEcoYXRoZXIgdGhhbiBkbyktMi41IEUod24gdGhlIHNjcmVlbi4pLS4yNQorRSBGMSAtMi4yOSAtLjE4KHJlIHYpMTA4IDE5MiBUKGVydFwyNTVhbGxcMjU1YXRcMjU1bmV3bGluZSBcKE9mZlwpKS4wOCBFCitGMCAuNjk5KElmIHNldCB0bykxNDQgMjA0IFIgRjEoT24pMy4xOTkgRSBGMCAzLjE5OSgscilDIC42OTkKKyhlYWRsaW5lIHdpbGwgdW5kbyBhbGwgY2hhbmdlcyB0byBoaXN0b3J5IGxpbmVzIGJlZm9yZSByZXR1cm5pbmcgd2hlbikKKy0zLjE5OSBGIEYxKGFjY2VwdFwyNTVsaW5lKTMuMTk4IEUgRjAoaXMpMy4xOTggRSAtLjE1KGV4ZSkxNDQgMjE2IFMKKzIuNjg2KGN1dGVkLiBCeSkuMTUgRihkZWYpMi42ODYgRSAuMTg2CisoYXVsdCwgaGlzdG9yeSBsaW5lcyBtYXkgYmUgbW9kaVwyMTRlZCBhbmQgcmV0YWluIGluZGkpLS4xIEYgLjE4NgorKHZpZHVhbCB1bmRvIGxpc3RzIGFjcm9zcyBjYWxscyB0byktLjI1IEYgRjEgLS4xOChyZSkxNDQgMjI4IFMoYWRsaW5lKQorLjE4IEUgRjAoLilBIEYxKHNobykxMDggMjQwIFEod1wyNTVhbGxcMjU1aWZcMjU1YW1iaWd1b3VzIFwoT2ZmXCkpLS4xIEUKK0YwIC4zMDQoVGhpcyBhbHRlcnMgdGhlIGRlZikxNDQgMjUyIFIgLjMwNChhdWx0IGJlaGEpLS4xIEYgLjMwNAorKHZpb3Igb2YgdGhlIGNvbXBsZXRpb24gZnVuY3Rpb25zLiktLjIgRiAuMzA0KElmIHNldCB0byk1LjMwNCBGIEYxKE9uKQorMi44MDQgRSBGMCAyLjgwMygsdylDIC4zMDMob3JkcyB3aGljaCBoYSktMi45MDMgRiAuNjAzIC0uMTUodmUgbSktLjIgSAorKG9yZSkuMTUgRSAxLjI2NCh0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uIGNhdXNlIHRoZSBtYXRjaGVzIHRvIGJlIGxcCitpc3RlZCBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIHJpbmdpbmcgdGhlKTE0NCAyNjQgUihiZWxsLikxNDQgMjc2IFEgRjEKKyhzaG8pMTA4IDI4OCBRKHdcMjU1YWxsXDI1NWlmXDI1NXVubW9kaVwyMTRlZCBcKE9mZlwpKS0uMSBFIEYwIDUuMzQ2CisoVGhpcyBhbHRlcnMgdGhlIGRlZikxNDQgMzAwIFIgNS4zNDYoYXVsdCBiZWhhKS0uMSBGIDUuMzQ1CisodmlvciBvZiB0aGUgY29tcGxldGlvbiBmdW5jdGlvbnMgaW4gYSBmKS0uMiBGIDUuMzQ1KGFzaGlvbiBzaW1pbGFyIHRvKQorLS4xIEYgRjEoc2hvKTE0NCAzMTIgUSh3XDI1NWFsbFwyNTVpZlwyNTVhbWJpZ3VvdXMpLS4xIEUgRjAgNi42OSguSSlDCis0LjE5KGZzKS02LjY5IEcgMS42OTEoZXQgdG8pLTQuMTkgRiBGMShPbik0LjE5MSBFIEYwIDQuMTkxKCx3KUMgMS42OTEKKyhvcmRzIHdoaWNoIGhhKS00LjI5MSBGIDEuOTkxIC0uMTUodmUgbSktLjIgSCAxLjY5MQorKG9yZSB0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uKS4xNSBGIDEuMDQod2l0aG91dCBhbikxNDQgMzI0IFIgMy41NAorKHlwKS0uMTUgRyAxLjAzOQorKG9zc2libGUgcGFydGlhbCBjb21wbGV0aW9uIFwodGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGRvbicpLTMuNTQgRgorMy41MzkodHMpLS4xOCBHIDEuMDM5KGhhcmUgYSBjb21tb24gcHJlXDIxNHhcKSktMy41MzkgRihjYXVzZSB0aGUgbWF0Y2hcCitlcyB0byBiZSBsaXN0ZWQgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiByaW5naW5nIHRoZSBiZWxsLikxNDQgMzM2IFEgRjEKKyhza2lwXDI1NWNvbXBsZXRlZFwyNTV0ZXh0IFwoT2ZmXCkpMTA4IDM0OCBRIEYwIC4wOTQoSWYgc2V0IHRvKTE0NCAzNjAgUgorRjEoT24pMi41OTQgRSBGMCAyLjU5NCgsdClDIC4wOTUoaGlzIGFsdGVycyB0aGUgZGVmKS0yLjU5NCBGIC4wOTUKKyhhdWx0IGNvbXBsZXRpb24gYmVoYSktLjEgRiAuMDk1CisodmlvciB3aGVuIGluc2VydGluZyBhIHNpbmdsZSBtYXRjaCBpbnRvIHRoZSBsaW5lLiktLjIgRihJdCcpMTQ0IDM3MiBRCisyLjU0NihzbyktLjU1IEcgLjA0NihubHkgYWN0aSktMi41NDYgRiAuMzQ2IC0uMTUodmUgdyktLjI1IEggLjA0NgorKGhlbiBwZXJmb3JtaW5nIGNvbXBsZXRpb24gaW4gdGhlIG1pZGRsZSBvZiBhIHcpLjE1IEYgMi41NDUob3JkLiBJZiktLjEKK0YgLjA0NShlbmFibGVkLCByZWFkbGluZSBkb2VzIG5vdCkyLjU0NSBGIDEuMzk0KGluc2VydCBjaGFyYWN0ZXJzIGZyb20gXAordGhlIGNvbXBsZXRpb24gdGhhdCBtYXRjaCBjaGFyYWN0ZXJzIGFmdGVyIHBvaW50IGluIHRoZSB3KTE0NCAzODQgUgorMS4zOTUob3JkIGJlaW5nIGNvbS0pLS4xIEYocGxldGVkLCBzbyBwb3J0aW9ucyBvZiB0aGUgdykxNDQgMzk2IFEKKyhvcmQgZm9sbG8pLS4xIEUod2luZyB0aGUgY3Vyc29yIGFyZSBub3QgZHVwbGljYXRlZC4pLS4yNSBFIEYxCisodmlzaWJsZVwyNTVzdGF0cyBcKE9mZlwpKTEwOCA0MDggUSBGMCAuODQ3KElmIHNldCB0bykxNDQgNDIwIFIgRjEoT24pCiszLjM0NiBFIEYwIDMuMzQ2KCxhYylDIC44NDYoaGFyYWN0ZXIgZGVub3RpbmcgYSBcMjE0bGUnKS0zLjM0NiBGIDMuMzQ2Cisoc3QpLS41NSBHIC44NDYoeXBlIGFzIHJlcG9ydGVkIGJ5KS0zLjM0NiBGIEYyKHN0YXQpMy4zNDYgRSBGMCAuODQ2CisoXCgyXCkgaXMgYXBwZW5kZWQgdG8gdGhlIFwyMTRsZW5hbWUpQgorKHdoZW4gbGlzdGluZyBwb3NzaWJsZSBjb21wbGV0aW9ucy4pMTQ0IDQzMiBRIEYxCisoUmVhZGxpbmUgQ29uZGl0aW9uYWwgQ29uc3RydWN0cyk4NyA0NDguOCBRIEYwIC4wNQorKFJlYWRsaW5lIGltcGxlbWVudHMgYSBmKTEwOCA0NjAuOCBSIC4wNShhY2lsaXR5IHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRcCitoZSBjb25kaXRpb25hbCBjb21waWxhdGlvbiBmZWF0dXJlcyBvZiB0aGUgQyBwcmVwcm9jZXNzb3IpLS4xIEYgLjA5NworKHdoaWNoIGFsbG8pMTA4IDQ3Mi44IFIgLjA5Nyh3cyBrKS0uMjUgRiAuMzk2IC0uMTUoZXkgYiktLjEgSCAuMDk2CisoaW5kaW5ncyBhbmQgdikuMTUgRiAuMDk2CisoYXJpYWJsZSBzZXR0aW5ncyB0byBiZSBwZXJmb3JtZWQgYXMgdGhlIHJlc3VsdCBvZiB0ZXN0cy4pLS4yNSBGIC4wOTYKKyhUaGVyZSBhcmUgZm91ciBwYXJzZXIpNS4wOTYgRihkaXJlY3RpKTEwOCA0ODQuOCBRIC0uMTUodmUpLS4yNSBHIDIuNQorKHN1KS4xNSBHKHNlZC4pLTIuNSBFIEYxKCRpZikxMDggNTAxLjYgUSBGMChUaGUpMjQuODkgRSBGMSgkaWYpMi45NjIgRQorRjAgLjQ2Mihjb25zdHJ1Y3QgYWxsbykyLjk2MiBGIC40NjMod3MgYmluZGluZ3MgdG8gYmUgbWFkZSBiYXNlZCBvbiB0aGVcCisgZWRpdGluZyBtb2RlLCB0aGUgdGVybWluYWwgYmVpbmcgdXNlZCwpLS4yNSBGIC40NzgKKyhvciB0aGUgYXBwbGljYXRpb24gdXNpbmcgcmVhZGxpbmUuKTE0NCA1MTMuNiBSIC40NzcoVGhlIHRlKTUuNDc3IEYgLjQ3NworKHh0IG9mIHRoZSB0ZXN0IGUpLS4xNSBGIC40NzcKKyh4dGVuZHMgdG8gdGhlIGVuZCBvZiB0aGUgbGluZTsgbm8gY2hhcmFjdGVycyktLjE1IEYKKyhhcmUgcmVxdWlyZWQgdG8gaXNvbGF0ZSBpdC4pMTQ0IDUyNS42IFEgRjEobW9kZSkxNDQgNTQyLjQgUSBGMChUaGUpCisxMi42NyBFIEYxKG1vZGU9KTMuNzExIEUgRjAgMS4yMTEoZm9ybSBvZiB0aGUpMy43MTEgRiBGMSgkaWYpMy43MTEgRSBGMAorKGRpcmVjdGkpMy43MTEgRSAxLjUxMSAtLjE1KHZlIGkpLS4yNSBIIDMuNzExKHN1KS4xNSBHIDEuMjExCisoc2VkIHRvIHRlc3Qgd2hldGhlciByZWFkbGluZSBpcyBpbiBlbWFjcyBvciB2aSktMy43MTEgRiAzLjA2NQorKG1vZGUuIFRoaXMpMTgwIDU1NC40IFIgLjU2NShtYXkgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSkzLjA2NSBGCitGMSAuNTY1KHNldCBrKTMuMDY1IEYoZXltYXApLS4xIEUgRjAgLjU2NShjb21tYW5kLCBmb3IgaW5zdGFuY2UsIHRvKQorMy4wNjUgRiAuNzM1KHNldCBiaW5kaW5ncyBpbiB0aGUpMTgwIDU2Ni40IFIgRjIoZW1hY3NcMjU1c3RhbmRhcikzLjIzNSBFCisoZCktLjM3IEUgRjAoYW5kKTMuMjM1IEUgRjIoZW1hY3NcMjU1Y3RseCkzLjIzNSBFIEYwIC0uMShrZSkzLjIzNSBHIC43MzUKKyh5bWFwcyBvbmx5IGlmIHJlYWRsaW5lIGlzIHN0YXJ0aW5nKS0uMDUgRihvdXQgaW4gZW1hY3MgbW9kZS4pMTgwIDU3OC40CitRIEYxKHRlcm0pMTQ0IDU5NS4yIFEgRjAoVGhlKTE1LjQ2IEUgRjEodGVybT0pMy4xOTcgRSBGMCAuNjk2CisoZm9ybSBtYXkgYmUgdXNlZCB0byBpbmNsdWRlIHRlcm1pbmFsLXNwZWNpXDIxNGMgaykzLjE5NyBGIC45OTYgLS4xNQorKGV5IGIpLS4xIEggLjY5NihpbmRpbmdzLCBwZXJoYXBzIHRvIGJpbmQpLjE1IEYgLjY1NCh0aGUgaykxODAgNjA3LjIgUgorLjk1NCAtLjE1KGV5IHMpLS4xIEggLjY1NChlcXVlbmNlcyBvdXRwdXQgYnkgdGhlIHRlcm1pbmFsJykuMTUgRiAzLjE1NAorKHNmKS0uNTUgRyAuNjU0KHVuY3Rpb24gayktMy4xNTQgRiAtLjE1KGV5KS0uMSBHIDMuMTU0KHMuIFRoZSkuMTUgRiAtLjEKKyh3bykzLjE1NCBHIC42NTQocmQgb24gdGhlIHJpZ2h0IHNpZGUgb2YpLjEgRih0aGUpMTgwIDYxOS4yIFEgRjEoPSkzLjIzMgorRSBGMCAuNzMyKGlzIHRlc3RlZCBhZykzLjIzMiBGIC43MzIoYWluc3QgdGhlIGJvdGggZnVsbCBuYW1lIG9mIHRoZSB0ZXJcCittaW5hbCBhbmQgdGhlIHBvcnRpb24gb2YgdGhlIHRlcm1pbmFsKS0uMDUgRihuYW1lIGJlZm9yZSB0aGUgXDIxNHJzdCkxODAKKzYzMS4yIFEgRjE8YWQ+Mi41IEUgRjAgNSguVClDKGhpcyBhbGxvKS01IEUod3MpLS4yNSBFIEYyKHN1bikyLjg0IEUgRjAKICh0byBtYXRjaCBib3RoKTIuNzQgRSBGMihzdW4pMi44NCBFIEYwKGFuZCkyLjc0IEUgRjIoc3VuXDI1NWNtZCkyLjUgRSBGMAotMi41KCxmKS43NyBHKG9yIGluc3RhbmNlLiktMi41IEUgRjEoYXBwbGljYXRpb24pMTQ0IDEwMC44IFEgRjAoVGhlKTE4MAotMTEyLjggUSBGMShhcHBsaWNhdGlvbikzLjAwMyBFIEYwIC41MDMKKzIuNSgsZikuNzcgRyhvciBpbnN0YW5jZS4pLTIuNSBFIEYxKGFwcGxpY2F0aW9uKTE0NCA2NDggUSBGMChUaGUpMTgwIDY2MAorUSBGMShhcHBsaWNhdGlvbikzLjAwMyBFIEYwIC41MDMKIChjb25zdHJ1Y3QgaXMgdXNlZCB0byBpbmNsdWRlIGFwcGxpY2F0aW9uLXNwZWNpXDIxNGMgc2V0dGluZ3MuKTMuMDAzIEYKIC41MDMoRWFjaCBwcm9ncmFtKTUuNTAzIEYgLjExNCh1c2luZyB0aGUgcmVhZGxpbmUgbGlicmFyeSBzZXRzIHRoZSkxODAKLTEyNC44IFIgRjIgLjExNChhcHBsaWNhdGlvbiBuYW1lKTIuNjE0IEYgRjAgMi42MTQoLGEpQyAuMTE0Ci0obmQgYW4gaW5pdGlhbGl6YXRpb24gXDIxNGxlIGNhbiB0ZXN0IGZvciBhKS0yLjYxNCBGIC41MDEocGFydGljdWxhciB2KQotMTgwIDEzNi44IFIgMy4wMDEoYWx1ZS4gVGhpcyktLjI1IEYgLjUwMShjb3VsZCBiZSB1c2VkIHRvIGJpbmQgaykzLjAwMSBGCi0uODAxIC0uMTUoZXkgcyktLjEgSCAuNShlcXVlbmNlcyB0byBmdW5jdGlvbnMgdXNlZnVsIGZvciBhIHNwZS0pLjE1IEYKLS4zOTYoY2lcMjE0YyBwcm9ncmFtLikxODAgMTQ4LjggUiAtLjE1KEZvKTUuMzk2IEcgMi44OTYocmkpLjE1IEcgLjM5NgorNjcyIFIgRjIgLjExNChhcHBsaWNhdGlvbiBuYW1lKTIuNjE0IEYgRjAgMi42MTQoLGEpQyAuMTE0CisobmQgYW4gaW5pdGlhbGl6YXRpb24gXDIxNGxlIGNhbiB0ZXN0IGZvciBhKS0yLjYxNCBGIC41KHBhcnRpY3VsYXIgdikxODAKKzY4NCBSIDMoYWx1ZS4gVGhpcyktLjI1IEYgLjUwMShjb3VsZCBiZSB1c2VkIHRvIGJpbmQgaykzIEYgLjgwMSAtLjE1CisoZXkgcyktLjEgSCAuNTAxKGVxdWVuY2VzIHRvIGZ1bmN0aW9ucyB1c2VmdWwgZm9yIGEgc3BlLSkuMTUgRiAuMzk3CisoY2lcMjE0YyBwcm9ncmFtLikxODAgNjk2IFIgLS4xNShGbyk1LjM5NyBHIDIuODk2KHJpKS4xNSBHIC4zOTYKIChuc3RhbmNlLCB0aGUgZm9sbG8pLTIuODk2IEYgLjM5Nih3aW5nIGNvbW1hbmQgYWRkcyBhIGspLS4yNSBGIC42OTYgLS4xNQotKGV5IHMpLS4xIEggLjM5NyhlcXVlbmNlIHRoYXQgcXVvdGVzIHRoZSkuMTUgRihjdXJyZW50IG9yIHByZSkxODAgMTYwLjgKLVEodmlvdXMgdyktLjI1IEUob3JkIGluIEJhc2g6KS0uMSBFIEYxKCRpZikxODAgMTg0LjggUSBGMChCYXNoKTIuNSBFIDIuNQotKCNRKTE4MCAxOTYuOCBTKHVvdGUgdGhlIGN1cnJlbnQgb3IgcHJlKS0yLjUgRSh2aW91cyB3KS0uMjUgRShvcmQpLS4xIEUKLSgiXFxDXDI1NXhxIjogIlxcZWJcXCJcXGVmXFwiIikxODAgMjA4LjggUSBGMSgkZW5kaWYpMTgwIDIyMC44IFEoJGVuZGlmKQotMTA4IDIzNy42IFEgRjAoVGhpcyBjb21tYW5kLCBhcyBzZWVuIGluIHRoZSBwcmUpOS4zMyBFKHZpb3VzIGUpLS4yNSBFCi0oeGFtcGxlLCB0ZXJtaW5hdGVzIGFuKS0uMTUgRSBGMSgkaWYpMi41IEUgRjAoY29tbWFuZC4pMi41IEUgRjEoJGVsc2UpCi0xMDggMjU0LjQgUSBGMChDb21tYW5kcyBpbiB0aGlzIGJyYW5jaCBvZiB0aGUpMTUuNDUgRSBGMSgkaWYpMi41IEUgRjAKLShkaXJlY3RpKTIuNSBFIC4zIC0uMTUodmUgYSktLjI1IEgocmUgZSkuMTUgRSAtLjE1KHhlKS0uMTUgRwotKGN1dGVkIGlmIHRoZSB0ZXN0IGYpLjE1IEUoYWlscy4pLS4xIEUgRjEoJGluY2x1ZGUpMTA4IDI3MS4yIFEgRjAgLjM1NwotKFRoaXMgZGlyZWN0aSkxNDQgMjgzLjIgUiAuNjU3IC0uMTUodmUgdCktLjI1IEgoYWspLjE1IEUgLjM1NwotKGVzIGEgc2luZ2xlIFwyMTRsZW5hbWUgYXMgYW4gYXIpLS4xIEYgLjM1NgotKGd1bWVudCBhbmQgcmVhZHMgY29tbWFuZHMgYW5kIGJpbmRpbmdzIGZyb20gdGhhdCktLjE4IEYgMi41KFwyMTRsZS4gRikKLTE0NCAyOTUuMiBSKG9yIGUpLS4xNSBFKHhhbXBsZSwgdGhlIGZvbGxvKS0uMTUgRSh3aW5nIGRpcmVjdGkpLS4yNSBFIC4zCi0tLjE1KHZlIHcpLS4yNSBIKG91bGQgcmVhZCkuMDUgRSBGMigvZXRjL2lucHV0cikyLjUgRShjKS0uMzcgRSBGMCg6KUEgRjEKLSgkaW5jbHVkZSkxNDQgMzE5LjIgUSBGMigvZXRjL2lucHV0cik1LjgzMyBFKGMpLS4zNyBFIEYxKFNlYXIpODcgMzM2IFEKLShjaGluZyktLjE4IEUgRjAgLjgzNChSZWFkbGluZSBwcm8pMTA4IDM0OCBSIC44MzQKLSh2aWRlcyBjb21tYW5kcyBmb3Igc2VhcmNoaW5nIHRocm91Z2ggdGhlIGNvbW1hbmQgaGlzdG9yeSBcKHNlZSktLjE1IEYKLS9GMyA5L1RpbWVzLUJvbGRAMCBTRihISVNUKTMuMzM1IEUoT1IpLS4xNjIgRShZKS0uMzE1IEUgRjAoYmVsbykzLjA4NSBFCi0uODM1KHdcKSBmb3IgbGluZXMpLS4yNSBGKGNvbnRhaW5pbmcgYSBzcGVjaVwyMTRlZCBzdHJpbmcuKTEwOCAzNjAgUQotKFRoZXJlIGFyZSB0dyk1IEUgMi41KG9zKS0uMSBHKGVhcmNoIG1vZGVzOiktMi41IEUgRjIoaW5jcikyLjUxIEUKLShlbWVudGFsKS0uMzcgRSBGMChhbmQpMy4wMSBFIEYyKG5vbi1pbmNyKTIuNSBFKGVtZW50YWwpLS4zNyBFIEYwKC4pLjUxCi1FIC42OTgoSW5jcmVtZW50YWwgc2VhcmNoZXMgYmUpMTA4IDM3Ni44IFIgLjY5OAotKGdpbiBiZWZvcmUgdGhlIHVzZXIgaGFzIFwyMTRuaXNoZWQgdHlwaW5nIHRoZSBzZWFyY2ggc3RyaW5nLiktLjE1IEYKLS42OTcoQXMgZWFjaCBjaGFyYWN0ZXIgb2YgdGhlKTUuNjk3IEYgLjExMgotKHNlYXJjaCBzdHJpbmcgaXMgdHlwZWQsIHJlYWRsaW5lIGRpc3BsYXlzIHRoZSBuZSkxMDggMzg4LjggUiAuMTEyCi0oeHQgZW50cnkgZnJvbSB0aGUgaGlzdG9yeSBtYXRjaGluZyB0aGUgc3RyaW5nIHR5cGVkIHNvIGYpLS4xNSBGKGFyKS0uMQotRSA1LjExMyguQSktLjU1IEcobiktNS4xMTMgRSAuNTQyCi0oaW5jcmVtZW50YWwgc2VhcmNoIHJlcXVpcmVzIG9ubHkgYXMgbWFuKTEwOCA0MDAuOCBSIDMuMDQyKHljKS0uMTUgRwotLjU0MihoYXJhY3RlcnMgYXMgbmVlZGVkIHRvIFwyMTRuZCB0aGUgZGVzaXJlZCBoaXN0b3J5IGVudHJ5KS0zLjA0MiBGCi01LjU0MSguVCktLjY1IEcgLjU0MShoZSBjaGFyKS01LjU0MSBGKC0pLS4yIEUgLjIyNAotKGFjdGVycyBwcmVzZW50IGluIHRoZSB2KTEwOCA0MTIuOCBSIC4yMjQoYWx1ZSBvZiB0aGUpLS4yNSBGIEYxKGlzZWFyKQotMi43MjQgRShjaC10ZXJtaW5hdG9ycyktLjE4IEUgRjAgLS4yNSh2YSkyLjcyNCBHIC4yMjQKLShyaWFibGUgYXJlIHVzZWQgdG8gdGVybWluYXRlIGFuIGluY3JlbWVudGFsIHNlYXJjaC4pLjI1IEYgLjY2Ci0oSWYgdGhhdCB2KTEwOCA0MjQuOCBSIC42NihhcmlhYmxlIGhhcyBub3QgYmVlbiBhc3NpZ25lZCBhIHYpLS4yNSBGIC42NgotKGFsdWUgdGhlIEVzY2FwZSBhbmQgQ29udHJvbC1KIGNoYXJhY3RlcnMgd2lsbCB0ZXJtaW5hdGUgYW4gaW5jcmUtKS0uMjUKLUYgLjA5NihtZW50YWwgc2VhcmNoLikxMDggNDM2LjggUiAuMDk2KENvbnRyb2wtRyB3aWxsIGFib3J0IGFuIGluY3JlbWVuXAotdGFsIHNlYXJjaCBhbmQgcmVzdG9yZSB0aGUgb3JpZ2luYWwgbGluZS4pNS4wOTYgRiAuMDk3Ci0oV2hlbiB0aGUgc2VhcmNoIGlzKTUuMDk3IEYodGVybWluYXRlZCwgdGhlIGhpc3RvcnkgZW50cnkgY29udGFpbmluZyB0aFwKLWUgc2VhcmNoIHN0cmluZyBiZWNvbWVzIHRoZSBjdXJyZW50IGxpbmUuKTEwOCA0NDguOCBRIDIuOTM5IC0uOChUbyBcMjE0KQotMTA4IDQ2NS42IFQgMS4zMzkobmQgb3RoZXIgbWF0Y2hpbmcgZW50cmllcyBpbiB0aGUgaGlzdG9yeSBsaXN0LCB0eXBlIENcCi1vbnRyb2wtUyBvciBDb250cm9sLVIgYXMgYXBwcm9wcmlhdGUuKS44IEYgMS4zMzgoVGhpcyB3aWxsKTYuMzM4IEYgLjY3NAotKHNlYXJjaCBiYWNrdykxMDggNDc3LjYgUiAuNjc0KGFyZCBvciBmb3J3KS0uMSBGIC42NzQKLShhcmQgaW4gdGhlIGhpc3RvcnkgZm9yIHRoZSBuZSktLjEgRiAuNjc1Ci0oeHQgZW50cnkgbWF0Y2hpbmcgdGhlIHNlYXJjaCBzdHJpbmcgdHlwZWQgc28gZiktLjE1IEYoYXIpLS4xIEUgNS42NzUKLSguQSktLjU1IEcgLS4xNShueSktNS42NzUgRyAuMTc1KG90aGVyIGspMTA4IDQ4OS42IFIgLjQ3NSAtLjE1KGV5IHMpLS4xCi1IIC4xNzQKLShlcXVlbmNlIGJvdW5kIHRvIGEgcmVhZGxpbmUgY29tbWFuZCB3aWxsIHRlcm1pbmF0ZSB0aGUgc2VhcmNoIGFuZCBlKS4xNQotRiAtLjE1KHhlKS0uMTUgRyAuMTc0KGN1dGUgdGhhdCBjb21tYW5kLikuMTUgRiAtLjE1KEZvKTUuMTc0IEcocikuMTUgRQotLjU0KGluc3RhbmNlLCBhKTEwOCA1MDEuNiBSIEYyKG5lKTMuMDQgRSh3bGluZSktLjE1IEUgRjAgLjU0MQotKHdpbGwgdGVybWluYXRlIHRoZSBzZWFyY2ggYW5kIGFjY2VwdCB0aGUgbGluZSwgdGhlcmVieSBlKTMuMDQgRiAtLjE1Ci0oeGUpLS4xNSBHIC41NDEoY3V0aW5nIHRoZSBjb21tYW5kIGZyb20gdGhlKS4xNSBGKGhpc3RvcnkgbGlzdC4pMTA4Ci01MTMuNiBRIC42NTMoUmVhZGxpbmUgcmVtZW1iZXJzIHRoZSBsYXN0IGluY3JlbWVudGFsIHNlYXJjaCBzdHJpbmcuKTEwOAotNTMwLjQgUiAuNjUzKElmIHR3KTUuNjUzIEYgMy4xNTMob0MpLS4xIEcgLjY1MwotKG9udHJvbC1ScyBhcmUgdHlwZWQgd2l0aG91dCBhbiktMy4xNTMgRiAzLjE1Mih5aSktLjE1IEcobnRlcnYpLTMuMTUyIEUKLShlbi0pLS4xNSBFKGluZyBjaGFyYWN0ZXJzIGRlXDIxNG5pbmcgYSBuZSkxMDggNTQyLjQgUSAyLjUod3MpLS4yNSBHCi0oZWFyY2ggc3RyaW5nLCBhbiktMi41IEUgMi41KHlyKS0uMTUgRyhlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyBpcyB1c2VkLikKLS0yLjUgRSAuNTY3KE5vbi1pbmNyZW1lbnRhbCBzZWFyY2hlcyByZWFkIHRoZSBlbnRpcmUgc2VhcmNoIHN0cmluZyBiZWZvXAotcmUgc3RhcnRpbmcgdG8gc2VhcmNoIGZvciBtYXRjaGluZyBoaXN0b3J5IGxpbmVzLikxMDggNTU5LjIgUihUaGUgc2VhcmNcCi1oIHN0cmluZyBtYXkgYmUgdHlwZWQgYnkgdGhlIHVzZXIgb3IgYmUgcGFydCBvZiB0aGUgY29udGVudHMgb2YgdGhlIGN1clwKLXJlbnQgbGluZS4pMTA4IDU3MS4yIFEgRjEoUmVhZGxpbmUgQ29tbWFuZCBOYW1lcyk4NyA1ODggUSBGMCAxLjM5MgotKFRoZSBmb2xsbykxMDggNjAwIFIgMS4zOTEKLSh3aW5nIGlzIGEgbGlzdCBvZiB0aGUgbmFtZXMgb2YgdGhlIGNvbW1hbmRzIGFuZCB0aGUgZGVmKS0uMjUgRiAxLjM5MQotKGF1bHQgayktLjEgRiAxLjY5MSAtLjE1KGV5IHMpLS4xIEggMS4zOTEoZXF1ZW5jZXMgdG8gd2hpY2ggdGhlKS4xNSBGCi0zLjg5MSh5YSktLjE1IEcocmUpLTMuODkxIEUgMi42MjEoYm91bmQuIENvbW1hbmQpMTA4IDYxMiBSIC4xMjEKLShuYW1lcyB3aXRob3V0IGFuIGFjY29tcGFuKTIuNjIxIEYgLjEyMSh5aW5nIGspLS4xNSBGIC40MjEgLS4xNShleSBzKS0uMQotSCAuMTIyKGVxdWVuY2UgYXJlIHVuYm91bmQgYnkgZGVmKS4xNSBGIDIuNjIyKGF1bHQuIEluKS0uMSBGIC4xMjIKLSh0aGUgZm9sbG8pMi42MjIgRih3aW5nKS0uMjUgRShkZXNjcmlwdGlvbnMsKTEwOCA2MjQgUSBGMihwb2ludCkzLjQxMSBFCi1GMCAuOTExKHJlZmVycyB0byB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24sIGFuZCkzLjQxMSBGIEYyKG1hcmspMy40MTEKLUUgRjAgLjkxKHJlZmVycyB0byBhIGN1cnNvciBwb3NpdGlvbiBzYSkzLjQxMSBGIC0uMTUodmUpLS4yIEcgMy40MShkYikKLS4xNSBHIDMuNDEoeXQpLTMuNDEgRyhoZSktMy40MSBFIEYxKHNldFwyNTVtYXJrKTEwOCA2MzYgUSBGMCAyLjUKLShjb21tYW5kLiBUaGUpMi41IEYodGUpMi41IEUKLSh4dCBiZXR3ZWVuIHRoZSBwb2ludCBhbmQgbWFyayBpcyByZWZlcnJlZCB0byBhcyB0aGUpLS4xNSBFIEYyIC0uMzcocmUpCi0yLjUgRyhnaW9uKS0uMDMgRSBGMCguKUEgRjEoQ29tbWFuZHMgZik4NyA2NTIuOCBRKG9yIE1vKS0uMjUgRSh2aW5nKS0uMQotRShiZWdpbm5pbmdcMjU1b2ZcMjU1bGluZSBcKENcMjU1YVwpKTEwOCA2NjQuOCBRIEYwKE1vKTE0NCA2NzYuOCBRIC4zCi0tLjE1KHZlIHQpLS4xNSBIIDIuNShvdCkuMTUgRyhoZSBzdGFydCBvZiB0aGUgY3VycmVudCBsaW5lLiktMi41IEUgRjEKLShlbmRcMjU1b2ZcMjU1bGluZSBcKENcMjU1ZVwpKTEwOCA2ODguOCBRIEYwKE1vKTE0NCA3MDAuOCBRIC4zIC0uMTUKLSh2ZSB0KS0uMTUgSCAyLjUob3QpLjE1IEcoaGUgZW5kIG9mIHRoZSBsaW5lLiktMi41IEUoR05VIEJhc2gtNC4xKTcyIDc2OAotUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSgzOCkxODUuOTU1IEUgMCBDZyBFUAorKGV5IHMpLS4xIEggLjM5NihlcXVlbmNlIHRoYXQgcXVvdGVzIHRoZSkuMTUgRihjdXJyZW50IG9yIHByZSkxODAgNzA4IFEKKyh2aW91cyB3KS0uMjUgRShvcmQgaW4pLS4xIEUgRjEoYmFzaCkyLjUgRSBGMCg6KUEoR05VIEJhc2gtNC4yKTcyIDc2OCBRCisoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoMzgpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogMzkgMzkKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGIC0uMjUoZm8pMTA4IDg0IFMocndhcmRcMjU1Y2hhciBcKENcMjU1ZlwpKQotLjI1IEUgRjAoTW8pMTQ0IDk2IFEgLjMgLS4xNSh2ZSBmKS0uMTUgSChvcncpLjE1IEUoYXJkIGEgY2hhcmFjdGVyKS0uMSBFCi0oLiktLjU1IEUgRjEoYmFja3dhcmRcMjU1Y2hhciBcKENcMjU1YlwpKTEwOCAxMDggUSBGMChNbykxNDQgMTIwIFEgLjMKLS0uMTUodmUgYiktLjE1IEgoYWNrIGEgY2hhcmFjdGVyKS4xNSBFKC4pLS41NSBFIEYxIC0uMjUoZm8pMTA4IDEzMiBTCi0ocndhcmRcMjU1dykuMjUgRShvcmQgXChNXDI1NWZcKSktLjEgRSBGMChNbykxNDQgMTQ0IFEgLjgyMiAtLjE1KHZlIGYpCi0tLjE1IEgob3J3KS4xNSBFIC41MjIoYXJkIHRvIHRoZSBlbmQgb2YgdGhlIG5lKS0uMSBGIC41MjMoeHQgdyktLjE1IEYKLTMuMDIzKG9yZC4gVyktLjEgRiAuNTIzCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKCRpZikxODAgODQgUSBGMChCYXNoKTIuNSBFIDIuNSgjUSkxODAgOTYgUworKHVvdGUgdGhlIGN1cnJlbnQgb3IgcHJlKS0yLjUgRSh2aW91cyB3KS0uMjUgRShvcmQpLS4xIEUKKygiXFxDXDI1NXhxIjogIlxcZWJcXCJcXGVmXFwiIikxODAgMTA4IFEgRjEoJGVuZGlmKTE4MCAxMjAgUSgkZW5kaWYpMTA4CisxMzYuOCBRIEYwKFRoaXMgY29tbWFuZCwgYXMgc2VlbiBpbiB0aGUgcHJlKTkuMzMgRSh2aW91cyBlKS0uMjUgRQorKHhhbXBsZSwgdGVybWluYXRlcyBhbiktLjE1IEUgRjEoJGlmKTIuNSBFIEYwKGNvbW1hbmQuKTIuNSBFIEYxKCRlbHNlKQorMTA4IDE1My42IFEgRjAoQ29tbWFuZHMgaW4gdGhpcyBicmFuY2ggb2YgdGhlKTE1LjQ1IEUgRjEoJGlmKTIuNSBFIEYwCisoZGlyZWN0aSkyLjUgRSAuMyAtLjE1KHZlIGEpLS4yNSBIKHJlIGUpLjE1IEUgLS4xNSh4ZSktLjE1IEcKKyhjdXRlZCBpZiB0aGUgdGVzdCBmKS4xNSBFKGFpbHMuKS0uMSBFIEYxKCRpbmNsdWRlKTEwOCAxNzAuNCBRIEYwIC4zNTYKKyhUaGlzIGRpcmVjdGkpMTQ0IDE4Mi40IFIgLjY1NiAtLjE1KHZlIHQpLS4yNSBIKGFrKS4xNSBFIC4zNTYKKyhlcyBhIHNpbmdsZSBcMjE0bGVuYW1lIGFzIGFuIGFyKS0uMSBGIC4zNTcKKyhndW1lbnQgYW5kIHJlYWRzIGNvbW1hbmRzIGFuZCBiaW5kaW5ncyBmcm9tIHRoYXQpLS4xOCBGIDIuNShcMjE0bGUuIEYpCisxNDQgMTk0LjQgUihvciBlKS0uMTUgRSh4YW1wbGUsIHRoZSBmb2xsbyktLjE1IEUod2luZyBkaXJlY3RpKS0uMjUgRSAuMworLS4xNSh2ZSB3KS0uMjUgSChvdWxkIHJlYWQpLjA1IEUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoL2V0Yy9pbnB1dHIpMi41CitFKGMpLS4zNyBFIEYwKDopQSBGMSgkaW5jbHVkZSkxNDQgMjE4LjQgUSBGMigvZXRjL2lucHV0cik1LjgzMyBFKGMpLS4zNworRSBGMShTZWFyKTg3IDIzNS4yIFEoY2hpbmcpLS4xOCBFIEYwIC44MzUoUmVhZGxpbmUgcHJvKTEwOCAyNDcuMiBSIC44MzUKKyh2aWRlcyBjb21tYW5kcyBmb3Igc2VhcmNoaW5nIHRocm91Z2ggdGhlIGNvbW1hbmQgaGlzdG9yeSBcKHNlZSktLjE1IEYKKy9GMyA5L1RpbWVzLUJvbGRAMCBTRihISVNUKTMuMzM0IEUoT1IpLS4xNjIgRShZKS0uMzE1IEUgRjAoYmVsbykzLjA4NCBFCisuODM0KHdcKSBmb3IgbGluZXMpLS4yNSBGKGNvbnRhaW5pbmcgYSBzcGVjaVwyMTRlZCBzdHJpbmcuKTEwOCAyNTkuMiBRCisoVGhlcmUgYXJlIHR3KTUgRSAyLjUob3MpLS4xIEcoZWFyY2ggbW9kZXM6KS0yLjUgRSBGMihpbmNyKTIuNTEgRQorKGVtZW50YWwpLS4zNyBFIEYwKGFuZCkzLjAxIEUgRjIobm9uLWluY3IpMi41IEUoZW1lbnRhbCktLjM3IEUgRjAoLikuNTEKK0UgLjY5NyhJbmNyZW1lbnRhbCBzZWFyY2hlcyBiZSkxMDggMjc2IFIgLjY5NworKGdpbiBiZWZvcmUgdGhlIHVzZXIgaGFzIFwyMTRuaXNoZWQgdHlwaW5nIHRoZSBzZWFyY2ggc3RyaW5nLiktLjE1IEYKKy42OTgoQXMgZWFjaCBjaGFyYWN0ZXIgb2YgdGhlKTUuNjk4IEYgLjExMworKHNlYXJjaCBzdHJpbmcgaXMgdHlwZWQsIHJlYWRsaW5lIGRpc3BsYXlzIHRoZSBuZSkxMDggMjg4IFIgLjExMgorKHh0IGVudHJ5IGZyb20gdGhlIGhpc3RvcnkgbWF0Y2hpbmcgdGhlIHN0cmluZyB0eXBlZCBzbyBmKS0uMTUgRihhciktLjEKK0UgNS4xMTIoLkEpLS41NSBHKG4pLTUuMTEyIEUgLjU0MgorKGluY3JlbWVudGFsIHNlYXJjaCByZXF1aXJlcyBvbmx5IGFzIG1hbikxMDggMzAwIFIgMy4wNDIoeWMpLS4xNSBHIC41NDIKKyhoYXJhY3RlcnMgYXMgbmVlZGVkIHRvIFwyMTRuZCB0aGUgZGVzaXJlZCBoaXN0b3J5IGVudHJ5KS0zLjA0MiBGIDUuNTQyCisoLlQpLS42NSBHIC41NDIoaGUgY2hhciktNS41NDIgRigtKS0uMiBFIC4yMjQoYWN0ZXJzIHByZXNlbnQgaW4gdGhlIHYpCisxMDggMzEyIFIgLjIyNChhbHVlIG9mIHRoZSktLjI1IEYgRjEoaXNlYXIpMi43MjQgRShjaC10ZXJtaW5hdG9ycyktLjE4IEUKK0YwIC0uMjUodmEpMi43MjQgRyAuMjI0CisocmlhYmxlIGFyZSB1c2VkIHRvIHRlcm1pbmF0ZSBhbiBpbmNyZW1lbnRhbCBzZWFyY2guKS4yNSBGIC42NgorKElmIHRoYXQgdikxMDggMzI0IFIgLjY2KGFyaWFibGUgaGFzIG5vdCBiZWVuIGFzc2lnbmVkIGEgdiktLjI1IEYgLjY2CisoYWx1ZSB0aGUgRXNjYXBlIGFuZCBDb250cm9sLUogY2hhcmFjdGVycyB3aWxsIHRlcm1pbmF0ZSBhbiBpbmNyZS0pLS4yNQorRiAuMDk3KG1lbnRhbCBzZWFyY2guKTEwOCAzMzYgUiAuMDk2KENvbnRyb2wtRyB3aWxsIGFib3J0IGFuIGluY3JlbWVudGFcCitsIHNlYXJjaCBhbmQgcmVzdG9yZSB0aGUgb3JpZ2luYWwgbGluZS4pNS4wOTcgRiAuMDk2KFdoZW4gdGhlIHNlYXJjaCBpcykKKzUuMDk2IEYodGVybWluYXRlZCwgdGhlIGhpc3RvcnkgZW50cnkgY29udGFpbmluZyB0aGUgc2VhcmNoIHN0cmluZyBiZWNvXAorbWVzIHRoZSBjdXJyZW50IGxpbmUuKTEwOCAzNDggUSAyLjkzOCAtLjgoVG8gXDIxNCkxMDggMzY0LjggVCAxLjMzOShuZCBcCitvdGhlciBtYXRjaGluZyBlbnRyaWVzIGluIHRoZSBoaXN0b3J5IGxpc3QsIHR5cGUgQ29udHJvbC1TIG9yIENvbnRyb2wtUlwKKyBhcyBhcHByb3ByaWF0ZS4pLjggRiAxLjMzOShUaGlzIHdpbGwpNi4zMzkgRiAuNjc1KHNlYXJjaCBiYWNrdykxMDgKKzM3Ni44IFIgLjY3NShhcmQgb3IgZm9ydyktLjEgRiAuNjc1KGFyZCBpbiB0aGUgaGlzdG9yeSBmb3IgdGhlIG5lKS0uMSBGCisuNjc0KHh0IGVudHJ5IG1hdGNoaW5nIHRoZSBzZWFyY2ggc3RyaW5nIHR5cGVkIHNvIGYpLS4xNSBGKGFyKS0uMSBFCis1LjY3NCguQSktLjU1IEcgLS4xNShueSktNS42NzQgRyAuMTc0KG90aGVyIGspMTA4IDM4OC44IFIgLjQ3NCAtLjE1CisoZXkgcyktLjEgSCAuMTc0CisoZXF1ZW5jZSBib3VuZCB0byBhIHJlYWRsaW5lIGNvbW1hbmQgd2lsbCB0ZXJtaW5hdGUgdGhlIHNlYXJjaCBhbmQgZSkuMTUKK0YgLS4xNSh4ZSktLjE1IEcgLjE3NShjdXRlIHRoYXQgY29tbWFuZC4pLjE1IEYgLS4xNShGbyk1LjE3NSBHKHIpLjE1IEUKKy41NDEoaW5zdGFuY2UsIGEpMTA4IDQwMC44IFIgRjIobmUpMy4wNDEgRSh3bGluZSktLjE1IEUgRjAgLjU0MQorKHdpbGwgdGVybWluYXRlIHRoZSBzZWFyY2ggYW5kIGFjY2VwdCB0aGUgbGluZSwgdGhlcmVieSBlKTMuMDQxIEYgLS4xNQorKHhlKS0uMTUgRyAuNTQoY3V0aW5nIHRoZSBjb21tYW5kIGZyb20gdGhlKS4xNSBGKGhpc3RvcnkgbGlzdC4pMTA4IDQxMi44CitRIC42NTMoUmVhZGxpbmUgcmVtZW1iZXJzIHRoZSBsYXN0IGluY3JlbWVudGFsIHNlYXJjaCBzdHJpbmcuKTEwOCA0MjkuNgorUiAuNjUzKElmIHR3KTUuNjUzIEYgMy4xNTMob0MpLS4xIEcgLjY1MyhvbnRyb2wtUnMgYXJlIHR5cGVkIHdpdGhvdXQgYW4pCistMy4xNTMgRiAzLjE1Myh5aSktLjE1IEcobnRlcnYpLTMuMTUzIEUoZW4tKS0uMTUgRQorKGluZyBjaGFyYWN0ZXJzIGRlXDIxNG5pbmcgYSBuZSkxMDggNDQxLjYgUSAyLjUod3MpLS4yNSBHCisoZWFyY2ggc3RyaW5nLCBhbiktMi41IEUgMi41KHlyKS0uMTUgRyhlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyBpcyB1c2VkLikKKy0yLjUgRSAuNTY3KE5vbi1pbmNyZW1lbnRhbCBzZWFyY2hlcyByZWFkIHRoZSBlbnRpcmUgc2VhcmNoIHN0cmluZyBiZWZvXAorcmUgc3RhcnRpbmcgdG8gc2VhcmNoIGZvciBtYXRjaGluZyBoaXN0b3J5IGxpbmVzLikxMDggNDU4LjQgUihUaGUgc2VhcmNcCitoIHN0cmluZyBtYXkgYmUgdHlwZWQgYnkgdGhlIHVzZXIgb3IgYmUgcGFydCBvZiB0aGUgY29udGVudHMgb2YgdGhlIGN1clwKK3JlbnQgbGluZS4pMTA4IDQ3MC40IFEgRjEoUmVhZGxpbmUgQ29tbWFuZCBOYW1lcyk4NyA0ODcuMiBRIEYwIDEuMzkxCisoVGhlIGZvbGxvKTEwOCA0OTkuMiBSIDEuMzkxCisod2luZyBpcyBhIGxpc3Qgb2YgdGhlIG5hbWVzIG9mIHRoZSBjb21tYW5kcyBhbmQgdGhlIGRlZiktLjI1IEYgMS4zOTEKKyhhdWx0IGspLS4xIEYgMS42OTEgLS4xNShleSBzKS0uMSBIIDEuMzkxKGVxdWVuY2VzIHRvIHdoaWNoIHRoZSkuMTUgRgorMy44OTIoeWEpLS4xNSBHKHJlKS0zLjg5MiBFIDIuNjIyKGJvdW5kLiBDb21tYW5kKTEwOCA1MTEuMiBSIC4xMjIKKyhuYW1lcyB3aXRob3V0IGFuIGFjY29tcGFuKTIuNjIyIEYgLjEyMih5aW5nIGspLS4xNSBGIC40MjEgLS4xNShleSBzKS0uMQorSCAuMTIxKGVxdWVuY2UgYXJlIHVuYm91bmQgYnkgZGVmKS4xNSBGIDIuNjIxKGF1bHQuIEluKS0uMSBGIC4xMjEKKyh0aGUgZm9sbG8pMi42MjEgRih3aW5nKS0uMjUgRShkZXNjcmlwdGlvbnMsKTEwOCA1MjMuMiBRIEYyKHBvaW50KTMuNDEgRQorRjAgLjkxKHJlZmVycyB0byB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24sIGFuZCkzLjQxIEYgRjIobWFyaykzLjQxMSBFCitGMCAuOTExKHJlZmVycyB0byBhIGN1cnNvciBwb3NpdGlvbiBzYSkzLjQxMSBGIC0uMTUodmUpLS4yIEcgMy40MTEoZGIpCisuMTUgRyAzLjQxMSh5dCktMy40MTEgRyhoZSktMy40MTEgRSBGMShzZXRcMjU1bWFyaykxMDggNTM1LjIgUSBGMCAyLjUKKyhjb21tYW5kLiBUaGUpMi41IEYodGUpMi41IEUKKyh4dCBiZXR3ZWVuIHRoZSBwb2ludCBhbmQgbWFyayBpcyByZWZlcnJlZCB0byBhcyB0aGUpLS4xNSBFIEYyIC0uMzcocmUpCisyLjUgRyhnaW9uKS0uMDMgRSBGMCguKUEgRjEoQ29tbWFuZHMgZik4NyA1NTIgUShvciBNbyktLjI1IEUodmluZyktLjEgRQorKGJlZ2lubmluZ1wyNTVvZlwyNTVsaW5lIFwoQ1wyNTVhXCkpMTA4IDU2NCBRIEYwKE1vKTE0NCA1NzYgUSAuMyAtLjE1CisodmUgdCktLjE1IEggMi41KG90KS4xNSBHKGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IGxpbmUuKS0yLjUgRSBGMQorKGVuZFwyNTVvZlwyNTVsaW5lIFwoQ1wyNTVlXCkpMTA4IDU4OCBRIEYwKE1vKTE0NCA2MDAgUSAuMyAtLjE1KHZlIHQpCistLjE1IEggMi41KG90KS4xNSBHKGhlIGVuZCBvZiB0aGUgbGluZS4pLTIuNSBFIEYxIC0uMjUoZm8pMTA4IDYxMiBTCisocndhcmRcMjU1Y2hhciBcKENcMjU1ZlwpKS4yNSBFIEYwKE1vKTE0NCA2MjQgUSAuMyAtLjE1KHZlIGYpLS4xNSBIKG9ydykKKy4xNSBFKGFyZCBhIGNoYXJhY3RlciktLjEgRSguKS0uNTUgRSBGMShiYWNrd2FyZFwyNTVjaGFyIFwoQ1wyNTViXCkpMTA4Cis2MzYgUSBGMChNbykxNDQgNjQ4IFEgLjMgLS4xNSh2ZSBiKS0uMTUgSChhY2sgYSBjaGFyYWN0ZXIpLjE1IEUoLiktLjU1IEUKK0YxIC0uMjUoZm8pMTA4IDY2MCBTKHJ3YXJkXDI1NXcpLjI1IEUob3JkIFwoTVwyNTVmXCkpLS4xIEUgRjAoTW8pMTQ0IDY3MgorUSAuODIzIC0uMTUodmUgZiktLjE1IEgob3J3KS4xNSBFIC41MjMoYXJkIHRvIHRoZSBlbmQgb2YgdGhlIG5lKS0uMSBGCisuNTIzKHh0IHcpLS4xNSBGIDMuMDIzKG9yZC4gVyktLjEgRiAuNTIyCiAob3JkcyBhcmUgY29tcG9zZWQgb2YgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgXChsZXQtKS0uOCBGCi0odGVycyBhbmQgZGlnaXRzXCkuKTE0NCAxNTYgUSBGMShiYWNrd2FyZFwyNTV3KTEwOCAxNjggUShvcmQgXChNXDI1NWJcKSkKLS0uMSBFIEYwKE1vKTE0NCAxODAgUSAxLjcxIC0uMTUodmUgYiktLjE1IEggMS40MQorKHRlcnMgYW5kIGRpZ2l0c1wpLikxNDQgNjg0IFEgRjEoYmFja3dhcmRcMjU1dykxMDggNjk2IFEob3JkIFwoTVwyNTViXCkpCistLjEgRSBGMChNbykxNDQgNzA4IFEgMS43MSAtLjE1KHZlIGIpLS4xNSBIIDEuNDEKIChhY2sgdG8gdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IG9yIHByZSkuMTUgRiAxLjQxKHZpb3VzIHcpLS4yNSBGIDMuOTEKIChvcmQuIFcpLS4xIEYgMS40MShvcmRzIGFyZSBjb21wb3NlZCBvZiBhbHBoYW51bWVyaWMpLS44IEYKLShjaGFyYWN0ZXJzIFwobGV0dGVycyBhbmQgZGlnaXRzXCkuKTE0NCAxOTIgUSBGMShzaGVsbFwyNTVmKTEwOCAyMDQgUQotKG9yd2FyZFwyNTV3KS0uMjUgRShvcmQpLS4xIEUgRjAoTW8pMTQ0IDIxNiBRIC43ODQgLS4xNSh2ZSBmKS0uMTUgSChvcncpCi0uMTUgRSAuNDg0KGFyZCB0byB0aGUgZW5kIG9mIHRoZSBuZSktLjEgRiAuNDg0KHh0IHcpLS4xNSBGIDIuOTg0KG9yZC4gVykKLS0uMSBGIC40ODQob3JkcyBhcmUgZGVsaW1pdGVkIGJ5IG5vbi1xdW90ZWQgc2hlbGwgbWV0YWNoYXJhYy0pLS44IEYKLSh0ZXJzLikxNDQgMjI4IFEgRjEoc2hlbGxcMjU1YmFja3dhcmRcMjU1dykxMDggMjQwIFEob3JkKS0uMSBFIEYwKE1vKTE0NAotMjUyIFEgLjkwOSAtLjE1KHZlIGIpLS4xNSBIIC42MDkoYWNrIHRvIHRoZSBzdGFydCBvZiB0aGUgY3VycmVudCBvciBwcmUpCi0uMTUgRiAuNjA5KHZpb3VzIHcpLS4yNSBGIDMuMTA5KG9yZC4gVyktLjEgRiAuNjA4Ci0ob3JkcyBhcmUgZGVsaW1pdGVkIGJ5IG5vbi1xdW90ZWQgc2hlbGwpLS44IEYobWV0YWNoYXJhY3RlcnMuKTE0NCAyNjQgUQotRjEoY2xlYXJcMjU1c2NyKTEwOCAyNzYgUShlZW4gXChDXDI1NWxcKSktLjE4IEUgRjAgLjk5MwotKENsZWFyIHRoZSBzY3JlZW4gbGVhKTE0NCAyODggUiAuOTkzCi0odmluZyB0aGUgY3VycmVudCBsaW5lIGF0IHRoZSB0b3Agb2YgdGhlIHNjcmVlbi4pLS4yIEYgLS40KFdpKTUuOTkzIEcKLS45OTModGggYW4gYXIpLjQgRiAuOTkzKGd1bWVudCwgcmVmcmVzaCB0aGUpLS4xOCBGCi0oY3VycmVudCBsaW5lIHdpdGhvdXQgY2xlYXJpbmcgdGhlIHNjcmVlbi4pMTQ0IDMwMCBRIEYxIC0uMTgocmUpMTA4IDMxMgotUyhkcmF3XDI1NWN1cnIpLjE4IEUoZW50XDI1NWxpbmUpLS4xOCBFIEYwKFJlZnJlc2ggdGhlIGN1cnJlbnQgbGluZS4pMTQ0Ci0zMjQgUSBGMShDb21tYW5kcyBmKTg3IDM0MC44IFEob3IgTWFuaXB1bGF0aW5nIHRoZSBIaXN0b3J5KS0uMjUgRQotKGFjY2VwdFwyNTVsaW5lIFwoTmV3bGluZSwgUmV0dXIpMTA4IDM1Mi44IFEoblwpKS0uMTUgRSBGMCAuMTU5Ci0oQWNjZXB0IHRoZSBsaW5lIHJlKTE0NCAzNjQuOCBSIC0uMDUoZ2EpLS4xNSBHIC4xNTkKLShyZGxlc3Mgb2Ygd2hlcmUgdGhlIGN1cnNvciBpcy4pLjA1IEYgLjE1OChJZiB0aGlzIGxpbmUgaXMgbm9uLWVtcHR5KQotNS4xNTggRiAyLjY1OCgsYSktLjY1IEcgLjE1OChkZCBpdCB0byB0aGUgaGlzdG9yeSBsaXN0KS0yLjY1OCBGIC42OTkKLShhY2NvcmRpbmcgdG8gdGhlIHN0YXRlIG9mIHRoZSkxNDQgMzc2LjggUi9GMiA5L1RpbWVzLUJvbGRAMCBTRgotKEhJU1RDT05UUikzLjE5OSBFKE9MKS0uMjcgRSBGMCAtLjI1KHZhKTIuOTQ5IEcgMy4xOTkocmlhYmxlLiBJZikuMjUgRgotLjY5OSh0aGUgbGluZSBpcyBhIG1vZGlcMjE0ZWQgaGlzdG9yeSBsaW5lLCB0aGVuKTMuMTk5IEYKLShyZXN0b3JlIHRoZSBoaXN0b3J5IGxpbmUgdG8gaXRzIG9yaWdpbmFsIHN0YXRlLikxNDQgMzg4LjggUSBGMShwcikxMDgKLTQwMC44IFEgLS4xNShldiktLjE4IEcoaW91c1wyNTVoaXN0b3J5IFwoQ1wyNTVwXCkpLjE1IEUgRjAKLShGZXRjaCB0aGUgcHJlKTE0NCA0MTIuOCBRKHZpb3VzIGNvbW1hbmQgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LCBtbyktLjI1Ci1FKHZpbmcgYmFjayBpbiB0aGUgbGlzdC4pLS4xNSBFIEYxKG5leHRcMjU1aGlzdG9yeSBcKENcMjU1blwpKTEwOCA0MjQuOAotUSBGMChGZXRjaCB0aGUgbmUpMTQ0IDQzNi44IFEoeHQgY29tbWFuZCBmcm9tIHRoZSBoaXN0b3J5IGxpc3QsIG1vKS0uMTUKLUUodmluZyBmb3J3KS0uMTUgRShhcmQgaW4gdGhlIGxpc3QuKS0uMSBFIEYxCi0oYmVnaW5uaW5nXDI1NW9mXDI1NWhpc3RvcnkgXChNXDI1NTxcKSkxMDggNDQ4LjggUSBGMChNbykxNDQgNDYwLjggUSAuMwotLS4xNSh2ZSB0KS0uMTUgSCAyLjUob3QpLjE1IEcoaGUgXDIxNHJzdCBsaW5lIGluIHRoZSBoaXN0b3J5KS0yLjUgRSguKQotLS42NSBFIEYxKGVuZFwyNTVvZlwyNTVoaXN0b3J5IFwoTVwyNTU+XCkpMTA4IDQ3Mi44IFEgRjAoTW8pMTQ0IDQ4NC44IFEKLS4zIC0uMTUodmUgdCktLjE1IEggMi41KG90KS4xNSBHKGhlIGVuZCBvZiB0aGUgaW5wdXQgaGlzdG9yeSktMi41IEUgMi41Ci0oLGkpLS42NSBHKC5lLiwgdGhlIGxpbmUgY3VycmVudGx5IGJlaW5nIGVudGVyZWQuKS0yLjUgRSBGMSAtMi4yOSAtLjE4Ci0ocmUgdikxMDggNDk2LjggVChlcnNlXDI1NXNlYXIpLjA4IEUoY2hcMjU1aGlzdG9yeSBcKENcMjU1clwpKS0uMTggRSBGMAotMS40NzEoU2VhcmNoIGJhY2t3KTE0NCA1MDguOCBSIDEuNDcxCi0oYXJkIHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IGxpbmUgYW5kIG1vKS0uMSBGIDEuNDcKLSh2aW5nIGB1cCcgdGhyb3VnaCB0aGUgaGlzdG9yeSBhcyBuZWNlc3NhcnkpLS4xNSBGKC4pLS42NSBFCi0oVGhpcyBpcyBhbiBpbmNyZW1lbnRhbCBzZWFyY2guKTE0NCA1MjAuOCBRIEYxIC0uMjUoZm8pMTA4IDUzMi44IFMKLShyd2FyZFwyNTVzZWFyKS4yNSBFKGNoXDI1NWhpc3RvcnkgXChDXDI1NXNcKSktLjE4IEUgRjAgMS4xMzEKLShTZWFyY2ggZm9ydykxNDQgNTQ0LjggUiAxLjEzMShhcmQgc3RhcnRpbmcgYXQgdGhlIGN1cnJlbnQgbGluZSBhbmQgbW8pCi0tLjEgRiAxLjEzMih2aW5nIGBkbyktLjE1IEYgMS4xMzIod24nIHRocm91Z2ggdGhlIGhpc3RvcnkgYXMgbmVjZXNzYXJ5KQotLS4yNSBGKC4pLS42NSBFKFRoaXMgaXMgYW4gaW5jcmVtZW50YWwgc2VhcmNoLikxNDQgNTU2LjggUSBGMQotKG5vblwyNTVpbmNyKTEwOCA1NjguOCBRKGVtZW50YWxcMjU1ciktLjE4IEUgLTIuMyAtLjE1KGV2IGUpLS4xOCBICi0ocnNlXDI1NXNlYXIpLjE1IEUoY2hcMjU1aGlzdG9yeSBcKE1cMjU1cFwpKS0uMTggRSBGMCAuMTY1KFNlYXJjaCBiYWNrdykKLTE0NCA1ODAuOCBSIC4xNjQoYXJkIHRocm91Z2ggdGhlIGhpc3Rvcnkgc3RhcnRpbmcgYXQgdGhlIGN1cnJlbnQgbGluZSB1XAotc2luZyBhIG5vbi1pbmNyZW1lbnRhbCBzZWFyY2ggZm9yKS0uMSBGIDIuNShhcykxNDQgNTkyLjggUwotKHRyaW5nIHN1cHBsaWVkIGJ5IHRoZSB1c2VyKS0yLjUgRSguKS0uNTUgRSBGMShub25cMjU1aW5jcikxMDggNjA0LjggUQotKGVtZW50YWxcMjU1ZiktLjE4IEUob3J3YXJkXDI1NXNlYXIpLS4yNSBFKGNoXDI1NWhpc3RvcnkgXChNXDI1NW5cKSktLjE4Ci1FIEYwIDEuMzUzKFNlYXJjaCBmb3J3KTE0NCA2MTYuOCBSIDEuMzU0KGFyZCB0aHJvdWdoIHRoZSBoaXN0b3J5IHVzaW5nIFwKLWEgbm9uLWluY3JlbWVudGFsIHNlYXJjaCBmb3IgYSBzdHJpbmcgc3VwcGxpZWQgYnkgdGhlKS0uMSBGKHVzZXIpMTQ0Ci02MjguOCBRKC4pLS41NSBFIEYxKGhpc3RvcnlcMjU1c2VhcikxMDggNjQwLjggUShjaFwyNTVmKS0uMTggRShvcndhcmQpCi0tLjI1IEUgRjAgLjI0OShTZWFyY2ggZm9ydykxNDQgNjUyLjggUiAuMjQ5KGFyZCB0aHJvdWdoIHRoZSBoaXN0b3J5IGZvclwKLSB0aGUgc3RyaW5nIG9mIGNoYXJhY3RlcnMgYmV0d2VlbiB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgbGluZSktLjEgRgotKGFuZCB0aGUgcG9pbnQuKTE0NCA2NjQuOCBRKFRoaXMgaXMgYSBub24taW5jcmVtZW50YWwgc2VhcmNoLik1IEUgRjEKLShoaXN0b3J5XDI1NXNlYXIpMTA4IDY3Ni44IFEoY2hcMjU1YmFja3dhcmQpLS4xOCBFIEYwIC45NShTZWFyY2ggYmFja3cpCi0xNDQgNjg4LjggUiAuOTUxKGFyZCB0aHJvdWdoIHRoZSBoaXN0b3J5IGZvciB0aGUgc3RyaW5nIG9mIGNoYXJhY3RlcnMgYlwKLWV0d2VlbiB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQpLS4xIEYobGluZSBhbmQgdGhlIHBvaW50LikxNDQgNzAwLjggUQotKFRoaXMgaXMgYSBub24taW5jcmVtZW50YWwgc2VhcmNoLik1IEUoR05VIEJhc2gtNC4xKTcyIDc2OCBRCi0oMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoMzkpMTg1Ljk1NSBFIDAgQ2cgRVAKKyhjaGFyYWN0ZXJzIFwobGV0dGVycyBhbmQgZGlnaXRzXCkuKTE0NCA3MjAgUShHTlUgQmFzaC00LjIpNzIgNzY4IFEKKygyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSgzOSkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA0MCA0MAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoeWFua1wyNTVudGhcMjU1YXIpMTA4IDg0IFEgMi41KGdcKCktLjEgRwotPDRkYWQ0M2FkNzkyOT4tMi41IEUgRjAgLjYyMihJbnNlcnQgdGhlIFwyMTRyc3QgYXIpMTQ0IDk2IFIgLjYyMgotKGd1bWVudCB0byB0aGUgcHJlKS0uMTggRiAuNjIyKHZpb3VzIGNvbW1hbmQgXCh1c3VhbGx5IHRoZSBzZWNvbmQgdyktLjI1Ci1GIC42MjIob3JkIG9uIHRoZSBwcmUpLS4xIEYgLjYyMih2aW91cyBsaW5lXCkpLS4yNSBGIC43OTQoYXQgcG9pbnQuKTE0NAotMTA4IFIgLS40KFdpKTUuNzk0IEcgLjc5NCh0aCBhbiBhcikuNCBGKGd1bWVudCktLjE4IEUvRjIgMTAKLS9UaW1lcy1JdGFsaWNAMCBTRihuKTMuMjk0IEUgRjAgMy4yOTQoLGkpLjI0IEcgLjc5NChuc2VydCB0aGUpLTMuMjk0IEYKLUYyKG4pMy4yOTQgRSBGMCAuNzk0KHRoIHcpQiAuNzk0KG9yZCBmcm9tIHRoZSBwcmUpLS4xIEYgLjc5NAotKHZpb3VzIGNvbW1hbmQgXCh0aGUgdyktLjI1IEYgLjc5NShvcmRzIGluIHRoZSktLjEgRihwcmUpMTQ0IDEyMCBRIC4yOTIKLSh2aW91cyBjb21tYW5kIGJlKS0uMjUgRiAuMjkyKGdpbiB3aXRoIHcpLS4xNSBGIC4yOTEob3JkIDBcKS4pLS4xIEYKLTIuNzkxKEFuKTUuMjkxIEcgLTIuMjUgLS4xNShlZyBhKS0yLjc5MSBIKHRpKS4xNSBFIC41OTEgLS4xNSh2ZSBhKS0uMjUgSAotLS4xOChyZykuMTUgRyAuMjkxKHVtZW50IGluc2VydHMgdGhlKS4xOCBGIEYyKG4pMi43OTEgRSBGMCAuMjkxKHRoIHcpQgotLjI5MShvcmQgZnJvbSB0aGUgZW5kIG9mKS0uMSBGIC4yODEodGhlIHByZSkxNDQgMTMyIFIgLjI4MQotKHZpb3VzIGNvbW1hbmQuKS0uMjUgRiAuMjgxKE9uY2UgdGhlIGFyKTUuMjgxIEYoZ3VtZW50KS0uMTggRSBGMihuKTIuNzgxCi1FIEYwIC4yODEoaXMgY29tcHV0ZWQsIHRoZSBhcikyLjc4MSBGIC4yODEoZ3VtZW50IGlzIGUpLS4xOCBGIC4yODIKLSh4dHJhY3RlZCBhcyBpZiB0aGUgIiEpLS4xNSBGIEYyKG4pQSBGMCgiKUEoaGlzdG9yeSBlKTE0NCAxNDQgUQotKHhwYW5zaW9uIGhhZCBiZWVuIHNwZWNpXDIxNGVkLiktLjE1IEUgRjEoeWFua1wyNTVsYXN0XDI1NWFyKTEwOCAxNTYgUQotMi41KGdcKCktLjEgRyAtMS42NjcoTVwyNTUuICwpLTIuNSBGIC0xLjY2NyhNXDI1NV8gXCkpMi41IEYgRjAgMS4zMDgKLShJbnNlcnQgdGhlIGxhc3QgYXIpMTQ0IDE2OCBSIDEuMzA4KGd1bWVudCB0byB0aGUgcHJlKS0uMTggRiAxLjMwNwotKHZpb3VzIGNvbW1hbmQgXCh0aGUgbGFzdCB3KS0uMjUgRiAxLjMwNyhvcmQgb2YgdGhlIHByZSktLjEgRiAxLjMwNwotKHZpb3VzIGhpc3RvcnkgZW50cnlcKS4pLS4yNSBGIC0uNChXaSkxNDQgMTgwIFMgLjczNSh0aCBhbiBhcikuNCBGIC43MzUKLShndW1lbnQsIGJlaGEpLS4xOCBGIDEuMDM1IC0uMTUodmUgZXgpLS4yIEggLjczNShhY3RseSBsaWspLjE1IEYoZSktLjEgRQotRjEoeWFua1wyNTVudGhcMjU1YXIpMy4yMzUgRShnKS0uMSBFIEYwIDUuNzM2KC5TKUModWNjZXNzaSktNS43MzYgRQotMS4wMzYgLS4xNSh2ZSBjKS0uMjUgSCAuNzM2KGFsbHMgdG8pLjE1IEYgRjEoeWFua1wyNTVsYXN0XDI1NWFyKTMuMjM2IEUKLShnKS0uMSBFIEYwKG1vKTMuMjM2IEUgLS4xNSh2ZSktLjE1IEcgLjcyOAotKGJhY2sgdGhyb3VnaCB0aGUgaGlzdG9yeSBsaXN0LCBpbnNlcnRpbmcgdGhlIGxhc3QgYXIpMTQ0IDE5MiBSIC43MjgKLShndW1lbnQgb2YgZWFjaCBsaW5lIGluIHR1cm4uKS0uMTggRiAuNzI4KFRoZSBoaXN0b3J5IGUpNS43MjggRih4cGFuLSkKLS0uMTUgRSAuMTQoc2lvbiBmKTE0NCAyMDQgUiAuMTQoYWNpbGl0aWVzIGFyZSB1c2VkIHRvIGUpLS4xIEYgLjE0Ci0oeHRyYWN0IHRoZSBsYXN0IGFyKS0uMTUgRiAuMTQoZ3VtZW50LCBhcyBpZiB0aGUgIiEkIiBoaXN0b3J5IGUpLS4xOCBGCi0uMTQoeHBhbnNpb24gaGFkIGJlZW4gc3BlY2ktKS0uMTUgRihcMjE0ZWQuKTE0NCAyMTYgUSBGMQotKHNoZWxsXDI1NWV4cGFuZFwyNTVsaW5lIFwoTVwyNTVDXDI1NWVcKSkxMDggMjI4IFEgRjAgLjYyMwotKEV4cGFuZCB0aGUgbGluZSBhcyB0aGUgc2hlbGwgZG9lcy4pMTQ0IDI0MCBSIC42MjIKLShUaGlzIHBlcmZvcm1zIGFsaWFzIGFuZCBoaXN0b3J5IGUpNS42MjIgRiAuNjIyCi0oeHBhbnNpb24gYXMgd2VsbCBhcyBhbGwgb2YgdGhlKS0uMTUgRihzaGVsbCB3KTE0NCAyNTIgUShvcmQgZSktLjEgRSAyLjUKLSh4cGFuc2lvbnMuIFNlZSktLjE1IEYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoSElTVCkyLjUgRShPUiktLjE2MiBFIDIuMjUKLShZRSktLjMxNSBHKFhQKS0yLjI1IEUoQU5TSU9OKS0uNjY2IEUgRjAoYmVsbykyLjI1IEUgMi41KHdmKS0uMjUgRwotKG9yIGEgZGVzY3JpcHRpb24gb2YgaGlzdG9yeSBlKS0yLjUgRSh4cGFuc2lvbi4pLS4xNSBFIEYxCi0oaGlzdG9yeVwyNTVleHBhbmRcMjU1bGluZSBcKE1cMjU1XlwpKTEwOCAyNjQgUSBGMCAuOTM4Ci0oUGVyZm9ybSBoaXN0b3J5IGUpMTQ0IDI3NiBSIC45MzkoeHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZS4pLS4xNSBGCi0oU2VlKTUuOTM5IEUgRjMoSElTVCkzLjQzOSBFKE9SKS0uMTYyIEUgMy4xODkoWUUpLS4zMTUgRyhYUCktMy4xODkgRQotKEFOU0lPTiktLjY2NiBFIEYwKGJlbG8pMy4xODkgRSAzLjQzOSh3ZiktLjI1IEcgLjkzOShvciBhIGRlc2NyaXAtKQotLTMuNDM5IEYodGlvbiBvZiBoaXN0b3J5IGUpMTQ0IDI4OCBRKHhwYW5zaW9uLiktLjE1IEUgRjEobWFnaWNcMjU1c3BhY2UpCi0xMDggMzAwIFEgRjAgMS42MjcoUGVyZm9ybSBoaXN0b3J5IGUpMTQ0IDMxMiBSIDEuNjI3Ci0oeHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZSBhbmQgaW5zZXJ0IGEgc3BhY2UuKS0uMTUgRihTZWUpNi42MjYgRSBGMwotKEhJU1QpNC4xMjYgRShPUiktLjE2MiBFIDMuODc2KFlFKS0uMzE1IEcoWFApLTMuODc2IEUoQU5TSU9OKS0uNjY2IEUgRjAKLShiZWxvKTE0NCAzMjQgUSAyLjUod2YpLS4yNSBHKG9yIGEgZGVzY3JpcHRpb24gb2YgaGlzdG9yeSBlKS0yLjUgRQotKHhwYW5zaW9uLiktLjE1IEUgRjEoYWxpYXNcMjU1ZXhwYW5kXDI1NWxpbmUpMTA4IDMzNiBRIEYwIC4zOTQKLShQZXJmb3JtIGFsaWFzIGUpMTQ0IDM0OCBSIC4zOTQoeHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZS4pLS4xNSBGCi0oU2VlKTUuMzk1IEUgRjMoQUxJQVNFUykyLjg5NSBFIEYwKGFibykyLjY0NSBFIC42OTUgLS4xNSh2ZSBmKS0uMTUgSAotLjM5NShvciBhIGRlc2NyaXB0aW9uIG9mIGFsaWFzIGUpLjE1IEYoeHBhbi0pLS4xNSBFKHNpb24uKTE0NCAzNjAgUSBGMQotKGhpc3RvcnlcMjU1YW5kXDI1NWFsaWFzXDI1NWV4cGFuZFwyNTVsaW5lKTEwOCAzNzIgUSBGMAotKFBlcmZvcm0gaGlzdG9yeSBhbmQgYWxpYXMgZSkxNDQgMzg0IFEoeHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZS4pCi0tLjE1IEUgRjEoaW5zZXJ0XDI1NWxhc3RcMjU1YXIpMTA4IDM5NiBRKGd1bWVudCBcKE1cMjU1LiktLjEgRSAyLjUoLE0pCi0uODMzIEcgLTEuNjY3KFwyNTVfIFwpKS0yLjUgRiBGMCAyLjUoQXMpMTQ0IDQwOCBTKHlub24pLTIuNSBFKHltIGZvcikKLS0uMTUgRSBGMSh5YW5rXDI1NWxhc3RcMjU1YXIpMi41IEUoZyktLjEgRSBGMCguKUEgRjEKLShvcGVyYXRlXDI1NWFuZFwyNTVnZXRcMjU1bmV4dCBcKENcMjU1b1wpKTEwOCA0MjAgUSBGMCAuOTQ4Ci0oQWNjZXB0IHRoZSBjdXJyZW50IGxpbmUgZm9yIGUpMTQ0IDQzMiBSIC0uMTUoeGUpLS4xNSBHIC45NDgKLShjdXRpb24gYW5kIGZldGNoIHRoZSBuZSkuMTUgRiAuOTQ4KHh0IGxpbmUgcmVsYXRpKS0uMTUgRiAxLjI0NyAtLjE1Ci0odmUgdCktLjI1IEggMy40NDcob3QpLjE1IEcgLjk0NyhoZSBjdXJyZW50IGxpbmUgZnJvbSB0aGUpLTMuNDQ3IEYKLShoaXN0b3J5IGZvciBlZGl0aW5nLikxNDQgNDQ0IFEoQW4pNSBFIDIuNSh5YSktLjE1IEcgLS4xOChyZyktMi41IEcKLSh1bWVudCBpcyBpZ25vcmVkLikuMTggRSBGMQotKGVkaXRcMjU1YW5kXDI1NWV4ZWN1dGVcMjU1Y29tbWFuZCBcKENcMjU1eENcMjU1ZVwpKTEwOCA0NTYgUSBGMChJbikxNDQKLTQ2OCBRIC0uMih2byktLjQgRyAxLjIyNiAtLjEoa2UgYSkuMiBIIDMuNTI2KG5lKS4xIEcgMS4wMjYKLShkaXRvciBvbiB0aGUgY3VycmVudCBjb21tYW5kIGxpbmUsIGFuZCBlKS0zLjUyNiBGIC0uMTUoeGUpLS4xNSBHIDEuMDI2Ci0oY3V0ZSB0aGUgcmVzdWx0IGFzIHNoZWxsIGNvbW1hbmRzLikuMTUgRiBGMShCYXNoKTYuMDI2IEUgRjAKLShhdHRlbXB0cyB0byBpbikxNDQgNDgwIFEgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIEYzKCRWSVNVKTIuNiBFKEFMKQotLS41NCBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRigsKUEgRjMoJEVESVQpMi4yNSBFKE9SKS0uMTYyIEUgRjQoLClBIEYwCi0oYW5kKTIuMjUgRSBGMihlbWFjcykyLjUgRSBGMChhcyB0aGUgZWRpdG9yKTIuNSBFIDIuNSgsaSktLjQgRyAyLjUobnQpCi0tMi41IEcoaGF0IG9yZGVyKS0yLjUgRSguKS0uNTUgRSBGMShDb21tYW5kcyBmKTg3IDQ5Ni44IFEob3IgQ2hhbmdpbmcgVCkKLS0uMjUgRShleHQpLS45MiBFKGRlbGV0ZVwyNTVjaGFyIFwoQ1wyNTVkXCkpMTA4IDUwOC44IFEgRjAgLjM1OAotKERlbGV0ZSB0aGUgY2hhcmFjdGVyIGF0IHBvaW50LikxNDQgNTIwLjggUiAuMzU4KElmIHBvaW50IGlzIGF0IHRoZSBiZSkKLTUuMzU4IEYgLjM1OChnaW5uaW5nIG9mIHRoZSBsaW5lLCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVycyBpbiB0aGUpLS4xNSBGCi0obGluZSwgYW5kIHRoZSBsYXN0IGNoYXJhY3RlciB0eXBlZCB3KTE0NCA1MzIuOCBRKGFzIG5vdCBib3VuZCB0byktLjEgRQotRjEoZGVsZXRlXDI1NWNoYXIpMi41IEUgRjAgMi41KCx0KUMoaGVuIHJldHVybiktMi41IEUgRjMoRU9GKTIuNSBFIEY0KC4pCi1BIEYxKGJhY2t3YXJkXDI1NWRlbGV0ZVwyNTVjaGFyIFwoUnVib3V0XCkpMTA4IDU0NC44IFEgRjAgLjU1MgotKERlbGV0ZSB0aGUgY2hhcmFjdGVyIGJlaGluZCB0aGUgY3Vyc29yKTE0NCA1NTYuOCBSIDUuNTUzKC5XKS0uNTUgRyAuNTUzCi0oaGVuIGdpKS01LjU1MyBGIC0uMTUodmUpLS4yNSBHIDMuMDUzKG5hbikuMTUgRyAuNTUzKHVtZXJpYyBhciktMy4wNTMgRgotLjU1MyhndW1lbnQsIHNhKS0uMTggRiAuODUzIC0uMTUodmUgdCktLjIgSCAuNTUzKGhlIGRlbGV0ZWQgdGUpLjE1IEYKLS41NTMoeHQgb24pLS4xNSBGKHRoZSBraWxsIHJpbmcuKTE0NCA1NjguOCBRIEYxIC0uMjUoZm8pMTA4IDU4MC44IFMKLShyd2FyZFwyNTViYWNrd2FyZFwyNTVkZWxldGVcMjU1Y2hhcikuMjUgRSBGMCAuNDc0Ci0oRGVsZXRlIHRoZSBjaGFyYWN0ZXIgdW5kZXIgdGhlIGN1cnNvcikxNDQgNTkyLjggUiAyLjk3NCgsdSktLjQgRyAuNDc0Ci0obmxlc3MgdGhlIGN1cnNvciBpcyBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLCBpbiB3aGljaCBjYXNlIHRoZSktMi45NzQgRgotKGNoYXJhY3RlciBiZWhpbmQgdGhlIGN1cnNvciBpcyBkZWxldGVkLikxNDQgNjA0LjggUSBGMQotKHF1b3RlZFwyNTVpbnNlcnQgXChDXDI1NXEsIENcMjU1dlwpKTEwOCA2MTYuOCBRIEYwIC43NzgoQWRkIHRoZSBuZSkxNDQKLTYyOC44IFIgLjc3OSh4dCBjaGFyYWN0ZXIgdHlwZWQgdG8gdGhlIGxpbmUgdiktLjE1IEYgMy4yNzkKLShlcmJhdGltLiBUaGlzKS0uMTUgRiAuNzc5KGlzIGhvKTMuMjc5IEYgMy4yNzkod3QpLS4yNSBHIDMuMjc5KG9pKS0zLjI3OQotRyAuNzc5KG5zZXJ0IGNoYXJhY3RlcnMgbGlrKS0zLjI3OSBGKGUpLS4xIEUgRjEoQ1wyNTVxKTMuMjc5IEUgRjAgMy4yNzkKLSgsZilDKG9yKS0zLjI3OSBFIC0uMTUoZXgpMTQ0IDY0MC44IFMoYW1wbGUuKS4xNSBFIEYxCi0odGFiXDI1NWluc2VydCBcKENcMjU1diBUKTEwOCA2NTIuOCBRKEFCXCkpLS45IEUgRjAKLShJbnNlcnQgYSB0YWIgY2hhcmFjdGVyKTE0NCA2NjQuOCBRKC4pLS41NSBFIEYxCi0oc2VsZlwyNTVpbnNlcnQgXChhLCBiLCBBLCAxLCAhLCAuLi5cKSkxMDggNjc2LjggUSBGMAotKEluc2VydCB0aGUgY2hhcmFjdGVyIHR5cGVkLikxNDQgNjg4LjggUSBGMQotKHRyYW5zcG9zZVwyNTVjaGFycyBcKENcMjU1dFwpKTEwOCA3MDAuOCBRIEYwIC4zMjIKLShEcmFnIHRoZSBjaGFyYWN0ZXIgYmVmb3JlIHBvaW50IGZvcncpMTQ0IDcxMi44IFIgLjMyMShhcmQgbyktLjEgRiAtLjE1Ci0odmUpLS4xNSBHIDIuODIxKHJ0KS4xNSBHIC4zMjEoaGUgY2hhcmFjdGVyIGF0IHBvaW50LCBtbyktMi44MjEgRiAuMzIxCi0odmluZyBwb2ludCBmb3J3KS0uMTUgRiAuMzIxKGFyZCBhcyB3ZWxsLiktLjEgRiAxLjE4MgotKElmIHBvaW50IGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIHRoZW4gdGhpcyB0cmFuc3Bvc2VzIHRoZSB0dykxNDQKLTcyNC44IFIgMy42ODMob2MpLS4xIEcgMS4xODMoaGFyYWN0ZXJzIGJlZm9yZSBwb2ludC4pLTMuNjgzIEYoTmUpNi4xODMgRQotLS4wNShnYSktLjE1IEcodGkpLjA1IEUgLS4xNSh2ZSktLjI1IEcoR05VIEJhc2gtNC4xKTcyIDc2OCBRCi0oMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNDApMTg1Ljk1NSBFIDAgQ2cgRVAKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0Yoc2hlbGxcMjU1ZikxMDggODQgUShvcndhcmRcMjU1dyktLjI1IEUob3JkKQorLS4xIEUgRjAoTW8pMTQ0IDk2IFEgLjc4NCAtLjE1KHZlIGYpLS4xNSBIKG9ydykuMTUgRSAuNDg0CisoYXJkIHRvIHRoZSBlbmQgb2YgdGhlIG5lKS0uMSBGIC40ODQoeHQgdyktLjE1IEYgMi45ODQob3JkLiBXKS0uMSBGIC40ODQKKyhvcmRzIGFyZSBkZWxpbWl0ZWQgYnkgbm9uLXF1b3RlZCBzaGVsbCBtZXRhY2hhcmFjLSktLjggRih0ZXJzLikxNDQgMTA4CitRIEYxKHNoZWxsXDI1NWJhY2t3YXJkXDI1NXcpMTA4IDEyMCBRKG9yZCktLjEgRSBGMChNbykxNDQgMTMyIFEgLjkwOAorLS4xNSh2ZSBiKS0uMTUgSCAuNjA5KGFjayB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgb3IgcHJlKS4xNSBGIC42MDkKKyh2aW91cyB3KS0uMjUgRiAzLjEwOShvcmQuIFcpLS4xIEYgLjYwOQorKG9yZHMgYXJlIGRlbGltaXRlZCBieSBub24tcXVvdGVkIHNoZWxsKS0uOCBGKG1ldGFjaGFyYWN0ZXJzLikxNDQgMTQ0IFEKK0YxKGNsZWFyXDI1NXNjcikxMDggMTU2IFEoZWVuIFwoQ1wyNTVsXCkpLS4xOCBFIEYwIC45OTMKKyhDbGVhciB0aGUgc2NyZWVuIGxlYSkxNDQgMTY4IFIgLjk5MworKHZpbmcgdGhlIGN1cnJlbnQgbGluZSBhdCB0aGUgdG9wIG9mIHRoZSBzY3JlZW4uKS0uMiBGIC0uNChXaSk1Ljk5MyBHCisuOTkzKHRoIGFuIGFyKS40IEYgLjk5MyhndW1lbnQsIHJlZnJlc2ggdGhlKS0uMTggRgorKGN1cnJlbnQgbGluZSB3aXRob3V0IGNsZWFyaW5nIHRoZSBzY3JlZW4uKTE0NCAxODAgUSBGMSAtLjE4KHJlKTEwOCAxOTIKK1MoZHJhd1wyNTVjdXJyKS4xOCBFKGVudFwyNTVsaW5lKS0uMTggRSBGMChSZWZyZXNoIHRoZSBjdXJyZW50IGxpbmUuKTE0NAorMjA0IFEgRjEoQ29tbWFuZHMgZik4NyAyMjAuOCBRKG9yIE1hbmlwdWxhdGluZyB0aGUgSGlzdG9yeSktLjI1IEUKKyhhY2NlcHRcMjU1bGluZSBcKE5ld2xpbmUsIFJldHVyKTEwOCAyMzIuOCBRKG5cKSktLjE1IEUgRjAgLjE1OAorKEFjY2VwdCB0aGUgbGluZSByZSkxNDQgMjQ0LjggUiAtLjA1KGdhKS0uMTUgRyAuMTU4CisocmRsZXNzIG9mIHdoZXJlIHRoZSBjdXJzb3IgaXMuKS4wNSBGIC4xNTgoSWYgdGhpcyBsaW5lIGlzIG5vbi1lbXB0eSkKKzUuMTU4IEYgMi42NTkoLGEpLS42NSBHIC4xNTkoZGQgaXQgdG8gdGhlIGhpc3RvcnkgbGlzdCktMi42NTkgRiAuNjk5CisoYWNjb3JkaW5nIHRvIHRoZSBzdGF0ZSBvZiB0aGUpMTQ0IDI1Ni44IFIvRjIgOS9UaW1lcy1Cb2xkQDAgU0YKKyhISVNUQ09OVFIpMy4xOTkgRShPTCktLjI3IEUgRjAgLS4yNSh2YSkyLjk0OSBHIDMuMTk5KHJpYWJsZS4gSWYpLjI1IEYKKy42OTkodGhlIGxpbmUgaXMgYSBtb2RpXDIxNGVkIGhpc3RvcnkgbGluZSwgdGhlbikzLjE5OSBGCisocmVzdG9yZSB0aGUgaGlzdG9yeSBsaW5lIHRvIGl0cyBvcmlnaW5hbCBzdGF0ZS4pMTQ0IDI2OC44IFEgRjEocHIpMTA4CisyODAuOCBRIC0uMTUoZXYpLS4xOCBHKGlvdXNcMjU1aGlzdG9yeSBcKENcMjU1cFwpKS4xNSBFIEYwCisoRmV0Y2ggdGhlIHByZSkxNDQgMjkyLjggUSh2aW91cyBjb21tYW5kIGZyb20gdGhlIGhpc3RvcnkgbGlzdCwgbW8pLS4yNQorRSh2aW5nIGJhY2sgaW4gdGhlIGxpc3QuKS0uMTUgRSBGMShuZXh0XDI1NWhpc3RvcnkgXChDXDI1NW5cKSkxMDggMzA0LjgKK1EgRjAoRmV0Y2ggdGhlIG5lKTE0NCAzMTYuOCBRKHh0IGNvbW1hbmQgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LCBtbyktLjE1CitFKHZpbmcgZm9ydyktLjE1IEUoYXJkIGluIHRoZSBsaXN0LiktLjEgRSBGMQorKGJlZ2lubmluZ1wyNTVvZlwyNTVoaXN0b3J5IFwoTVwyNTU8XCkpMTA4IDMyOC44IFEgRjAoTW8pMTQ0IDM0MC44IFEgLjMKKy0uMTUodmUgdCktLjE1IEggMi41KG90KS4xNSBHKGhlIFwyMTRyc3QgbGluZSBpbiB0aGUgaGlzdG9yeSktMi41IEUoLikKKy0uNjUgRSBGMShlbmRcMjU1b2ZcMjU1aGlzdG9yeSBcKE1cMjU1PlwpKTEwOCAzNTIuOCBRIEYwKE1vKTE0NCAzNjQuOCBRCisuMyAtLjE1KHZlIHQpLS4xNSBIIDIuNShvdCkuMTUgRyhoZSBlbmQgb2YgdGhlIGlucHV0IGhpc3RvcnkpLTIuNSBFIDIuNQorKCxpKS0uNjUgRyguZS4sIHRoZSBsaW5lIGN1cnJlbnRseSBiZWluZyBlbnRlcmVkLiktMi41IEUgRjEgLTIuMjkgLS4xOAorKHJlIHYpMTA4IDM3Ni44IFQoZXJzZVwyNTVzZWFyKS4wOCBFKGNoXDI1NWhpc3RvcnkgXChDXDI1NXJcKSktLjE4IEUgRjAKKzEuNDcoU2VhcmNoIGJhY2t3KTE0NCAzODguOCBSIDEuNDcxCisoYXJkIHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IGxpbmUgYW5kIG1vKS0uMSBGIDEuNDcxCisodmluZyBgdXAnIHRocm91Z2ggdGhlIGhpc3RvcnkgYXMgbmVjZXNzYXJ5KS0uMTUgRiguKS0uNjUgRQorKFRoaXMgaXMgYW4gaW5jcmVtZW50YWwgc2VhcmNoLikxNDQgNDAwLjggUSBGMSAtLjI1KGZvKTEwOCA0MTIuOCBTCisocndhcmRcMjU1c2VhcikuMjUgRShjaFwyNTVoaXN0b3J5IFwoQ1wyNTVzXCkpLS4xOCBFIEYwIDEuMTMyCisoU2VhcmNoIGZvcncpMTQ0IDQyNC44IFIgMS4xMzIoYXJkIHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IGxpbmUgYW5kIG1vKQorLS4xIEYgMS4xMzEodmluZyBgZG8pLS4xNSBGIDEuMTMxKHduJyB0aHJvdWdoIHRoZSBoaXN0b3J5IGFzIG5lY2Vzc2FyeSkKKy0uMjUgRiguKS0uNjUgRShUaGlzIGlzIGFuIGluY3JlbWVudGFsIHNlYXJjaC4pMTQ0IDQzNi44IFEgRjEKKyhub25cMjU1aW5jcikxMDggNDQ4LjggUShlbWVudGFsXDI1NXIpLS4xOCBFIC0yLjMgLS4xNShldiBlKS0uMTggSAorKHJzZVwyNTVzZWFyKS4xNSBFKGNoXDI1NWhpc3RvcnkgXChNXDI1NXBcKSktLjE4IEUgRjAgLjE2NChTZWFyY2ggYmFja3cpCisxNDQgNDYwLjggUiAuMTY0KGFyZCB0aHJvdWdoIHRoZSBoaXN0b3J5IHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IGxpbmUgdVwKK3NpbmcgYSBub24taW5jcmVtZW50YWwgc2VhcmNoIGZvciktLjEgRiAyLjUoYXMpMTQ0IDQ3Mi44IFMKKyh0cmluZyBzdXBwbGllZCBieSB0aGUgdXNlciktMi41IEUoLiktLjU1IEUgRjEobm9uXDI1NWluY3IpMTA4IDQ4NC44IFEKKyhlbWVudGFsXDI1NWYpLS4xOCBFKG9yd2FyZFwyNTVzZWFyKS0uMjUgRShjaFwyNTVoaXN0b3J5IFwoTVwyNTVuXCkpLS4xOAorRSBGMCAxLjM1NChTZWFyY2ggZm9ydykxNDQgNDk2LjggUiAxLjM1NChhcmQgdGhyb3VnaCB0aGUgaGlzdG9yeSB1c2luZyBcCithIG5vbi1pbmNyZW1lbnRhbCBzZWFyY2ggZm9yIGEgc3RyaW5nIHN1cHBsaWVkIGJ5IHRoZSktLjEgRih1c2VyKTE0NAorNTA4LjggUSguKS0uNTUgRSBGMShoaXN0b3J5XDI1NXNlYXIpMTA4IDUyMC44IFEoY2hcMjU1ZiktLjE4IEUob3J3YXJkKQorLS4yNSBFIEYwIC4yNDgoU2VhcmNoIGZvcncpMTQ0IDUzMi44IFIgLjI0OShhcmQgdGhyb3VnaCB0aGUgaGlzdG9yeSBmb3JcCisgdGhlIHN0cmluZyBvZiBjaGFyYWN0ZXJzIGJldHdlZW4gdGhlIHN0YXJ0IG9mIHRoZSBjdXJyZW50IGxpbmUpLS4xIEYKKyhhbmQgdGhlIHBvaW50LikxNDQgNTQ0LjggUShUaGlzIGlzIGEgbm9uLWluY3JlbWVudGFsIHNlYXJjaC4pNSBFIEYxCisoaGlzdG9yeVwyNTVzZWFyKTEwOCA1NTYuOCBRKGNoXDI1NWJhY2t3YXJkKS0uMTggRSBGMCAuOTUxKFNlYXJjaCBiYWNrdykKKzE0NCA1NjguOCBSIC45NTEoYXJkIHRocm91Z2ggdGhlIGhpc3RvcnkgZm9yIHRoZSBzdHJpbmcgb2YgY2hhcmFjdGVycyBiXAorZXR3ZWVuIHRoZSBzdGFydCBvZiB0aGUgY3VycmVudCktLjEgRihsaW5lIGFuZCB0aGUgcG9pbnQuKTE0NCA1ODAuOCBRCisoVGhpcyBpcyBhIG5vbi1pbmNyZW1lbnRhbCBzZWFyY2guKTUgRSBGMSh5YW5rXDI1NW50aFwyNTVhcikxMDggNTkyLjggUQorMi41KGdcKCktLjEgRzw0ZGFkNDNhZDc5Mjk+LTIuNSBFIEYwIC42MjIoSW5zZXJ0IHRoZSBcMjE0cnN0IGFyKTE0NAorNjA0LjggUiAuNjIyKGd1bWVudCB0byB0aGUgcHJlKS0uMTggRiAuNjIyCisodmlvdXMgY29tbWFuZCBcKHVzdWFsbHkgdGhlIHNlY29uZCB3KS0uMjUgRiAuNjIyKG9yZCBvbiB0aGUgcHJlKS0uMSBGCisuNjIyKHZpb3VzIGxpbmVcKSktLjI1IEYgLjc5NShhdCBwb2ludC4pMTQ0IDYxNi44IFIgLS40KFdpKTUuNzk1IEcgLjc5NAorKHRoIGFuIGFyKS40IEYoZ3VtZW50KS0uMTggRS9GMyAxMC9UaW1lcy1JdGFsaWNAMCBTRihuKTMuMjk0IEUgRjAgMy4yOTQKKygsaSkuMjQgRyAuNzk0KG5zZXJ0IHRoZSktMy4yOTQgRiBGMyhuKTMuMjk0IEUgRjAgLjc5NCh0aCB3KUIgLjc5NAorKG9yZCBmcm9tIHRoZSBwcmUpLS4xIEYgLjc5NCh2aW91cyBjb21tYW5kIFwodGhlIHcpLS4yNSBGIC43OTQKKyhvcmRzIGluIHRoZSktLjEgRihwcmUpMTQ0IDYyOC44IFEgLjI5MSh2aW91cyBjb21tYW5kIGJlKS0uMjUgRiAuMjkxCisoZ2luIHdpdGggdyktLjE1IEYgLjI5MShvcmQgMFwpLiktLjEgRiAyLjc5MShBbik1LjI5MSBHIC0yLjI1IC0uMTUoZWcgYSkKKy0yLjc5MSBIKHRpKS4xNSBFIC41OTEgLS4xNSh2ZSBhKS0uMjUgSCAtLjE4KHJnKS4xNSBHIC4yOTEKKyh1bWVudCBpbnNlcnRzIHRoZSkuMTggRiBGMyhuKTIuNzkxIEUgRjAgLjI5MSh0aCB3KUIgLjI5MgorKG9yZCBmcm9tIHRoZSBlbmQgb2YpLS4xIEYgLjI4Mih0aGUgcHJlKTE0NCA2NDAuOCBSIC4yODIodmlvdXMgY29tbWFuZC4pCistLjI1IEYgLjI4MihPbmNlIHRoZSBhcik1LjI4MiBGKGd1bWVudCktLjE4IEUgRjMobikyLjc4MSBFIEYwIC4yODEKKyhpcyBjb21wdXRlZCwgdGhlIGFyKTIuNzgxIEYgLjI4MShndW1lbnQgaXMgZSktLjE4IEYgLjI4MQorKHh0cmFjdGVkIGFzIGlmIHRoZSAiISktLjE1IEYgRjMobilBIEYwKCIpQShoaXN0b3J5IGUpMTQ0IDY1Mi44IFEKKyh4cGFuc2lvbiBoYWQgYmVlbiBzcGVjaVwyMTRlZC4pLS4xNSBFIEYxKHlhbmtcMjU1bGFzdFwyNTVhcikxMDggNjY0LjggUQorMi41KGdcKCktLjEgRyAtMS42NjcoTVwyNTUuICwpLTIuNSBGIC0xLjY2NyhNXDI1NV8gXCkpMi41IEYgRjAgMS4zMDcKKyhJbnNlcnQgdGhlIGxhc3QgYXIpMTQ0IDY3Ni44IFIgMS4zMDcoZ3VtZW50IHRvIHRoZSBwcmUpLS4xOCBGIDEuMzA3CisodmlvdXMgY29tbWFuZCBcKHRoZSBsYXN0IHcpLS4yNSBGIDEuMzA4KG9yZCBvZiB0aGUgcHJlKS0uMSBGIDEuMzA4CisodmlvdXMgaGlzdG9yeSBlbnRyeVwpLiktLjI1IEYgLS40KFdpKTE0NCA2ODguOCBTIC4yMDQodGggYSBudW1lcmljIGFyKQorLjQgRiAuMjA0KGd1bWVudCwgYmVoYSktLjE4IEYgLjUwNCAtLjE1KHZlIGV4KS0uMiBIIC4yMDQoYWN0bHkgbGlrKS4xNSBGCisoZSktLjEgRSBGMSh5YW5rXDI1NW50aFwyNTVhcikyLjcwNCBFKGcpLS4xIEUgRjAgNS4yMDMoLlMpQyh1Y2Nlc3NpKQorLTUuMjAzIEUgLjUwMyAtLjE1KHZlIGMpLS4yNSBIIC4yMDMoYWxscyB0bykuMTUgRiBGMSh5YW5rXDI1NWxhc3RcMjU1YXIpCisyLjcwMyBFKGcpLS4xIEUgRjAobW8pMTQ0IDcwMC44IFEgLjgwNiAtLjE1KHZlIGIpLS4xNSBIIC41MDcKKyhhY2sgdGhyb3VnaCB0aGUgaGlzdG9yeSBsaXN0LCBpbnNlcnRpbmcgdGhlIGxhc3QgdykuMTUgRiAuNTA3Cisob3JkIFwob3IgdGhlIHcpLS4xIEYgLjUwNyhvcmQgc3BlY2lcMjE0ZWQgYnkgdGhlIGFyKS0uMSBGKGd1bWVudCktLjE4IEUKKzEuMzk3KHRvIHRoZSBcMjE0cnN0IGNhbGxcKSBvZiBlYWNoIGxpbmUgaW4gdHVybi4pMTQ0IDcxMi44IFIoQW4pNi4zOTYgRQorMy44OTYoeW4pLS4xNSBHIDEuMzk2KHVtZXJpYyBhciktMy44OTYgRiAxLjM5NgorKGd1bWVudCBzdXBwbGllZCB0byB0aGVzZSBzdWNjZXNzaSktLjE4IEYgMS42OTYgLS4xNSh2ZSBjKS0uMjUgSChhbGxzKQorLjE1IEUgLjQ5MShkZXRlcm1pbmVzIHRoZSBkaXJlY3Rpb24gdG8gbW8pMTQ0IDcyNC44IFIgLjc5MSAtLjE1KHZlIHQpCistLjE1IEggLjQ5MShocm91Z2ggdGhlIGhpc3RvcnkpLjE1IEYgNS40OTIoLkEpLS42NSBHKG5lKS0yLjUgRSAtLjA1KGdhKQorLS4xNSBHKHRpKS4wNSBFIC43OTIgLS4xNSh2ZSBhKS0uMjUgSCAtLjE4KHJnKS4xNSBHIC40OTIKKyh1bWVudCBzd2l0Y2hlcyB0aGUgZGlyZWN0aW9uKS4xOCBGKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDQwKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDQxIDQxCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFKGFyKTE0NCA4NCBRKGd1bWVudHMgaGEpLS4xOCBFIC4zIC0uMTUodmUgbiktLjIgSCAyLjUob2UpLjE1IEcKLS0uMjUoZmYpLTIuNSBHKGVjdC4pLjI1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKHRyYW5zcG9zZVwyNTV3KTEwOCA5NiBRCi0ob3JkcyBcKE1cMjU1dFwpKS0uMSBFIEYwIC4wMjQoRHJhZyB0aGUgdykxNDQgMTA4IFIgLjAyNAotKG9yZCBiZWZvcmUgcG9pbnQgcGFzdCB0aGUgdyktLjEgRiAuMDIzKG9yZCBhZnRlciBwb2ludCwgbW8pLS4xIEYgLjAyMwotKHZpbmcgcG9pbnQgbyktLjE1IEYgLS4xNSh2ZSktLjE1IEcgMi41MjMocnQpLjE1IEcgLjAyMyhoYXQgdyktMi41MjMgRgotLjAyMyhvcmQgYXMgd2VsbC4pLS4xIEYgLjAyMyhJZiBwb2ludCk1LjAyMyBGCi0oaXMgYXQgdGhlIGVuZCBvZiB0aGUgbGluZSwgdGhpcyB0cmFuc3Bvc2VzIHRoZSBsYXN0IHR3KTE0NCAxMjAgUSAyLjUKLShvdyktLjEgRyhvcmRzIG9uIHRoZSBsaW5lLiktMi42IEUgRjEodXBjYXNlXDI1NXcpMTA4IDEzMiBRCi0ob3JkIFwoTVwyNTV1XCkpLS4xIEUgRjAgMS42OTgoVXBwZXJjYXNlIHRoZSBjdXJyZW50IFwob3IgZm9sbG8pMTQ0IDE0NAotUiAxLjY5OCh3aW5nXCkgdyktLjI1IEYgNC4xOTgob3JkLiBXKS0uMSBGIDEuNjk4KGl0aCBhIG5lKS0uNCBGIC0uMDUoZ2EpCi0tLjE1IEcodGkpLjA1IEUgMS45OTkgLS4xNSh2ZSBhKS0uMjUgSCAtLjE4KHJnKS4xNSBHIDEuNjk5Ci0odW1lbnQsIHVwcGVyY2FzZSB0aGUgcHJlKS4xOCBGKHZpb3VzKS0uMjUgRSAtLjEod28pMTQ0IDE1NiBTKHJkLCBiKS4xIEUKLSh1dCBkbyBub3QgbW8pLS4yIEUgLjMgLS4xNSh2ZSBwKS0uMTUgSChvaW50LikuMTUgRSBGMShkbykxMDggMTY4IFEKLSh3bmNhc2VcMjU1dyktLjEgRShvcmQgXChNXDI1NWxcKSktLjEgRSBGMChMbykxNDQgMTgwIFEgMS42NDgKLSh3ZXJjYXNlIHRoZSBjdXJyZW50IFwob3IgZm9sbG8pLS4yNSBGIDEuNjQ4KHdpbmdcKSB3KS0uMjUgRiA0LjE0OAotKG9yZC4gVyktLjEgRiAxLjY0NyhpdGggYSBuZSktLjQgRiAtLjA1KGdhKS0uMTUgRyh0aSkuMDUgRSAxLjk0NyAtLjE1Ci0odmUgYSktLjI1IEggLS4xOChyZykuMTUgRyAxLjY0Nyh1bWVudCwgbG8pLjE4IEYgMS42NDcod2VyY2FzZSB0aGUgcHJlKQotLS4yNSBGKHZpb3VzKS0uMjUgRSAtLjEod28pMTQ0IDE5MiBTKHJkLCBiKS4xIEUodXQgZG8gbm90IG1vKS0uMiBFIC4zCi0tLjE1KHZlIHApLS4xNSBIKG9pbnQuKS4xNSBFIEYxKGNhcGl0YWxpemVcMjU1dykxMDggMjA0IFEKLShvcmQgXChNXDI1NWNcKSktLjEgRSBGMCAxLjk3NChDYXBpdGFsaXplIHRoZSBjdXJyZW50IFwob3IgZm9sbG8pMTQ0IDIxNgotUiAxLjk3NCh3aW5nXCkgdyktLjI1IEYgNC40NzQob3JkLiBXKS0uMSBGIDEuOTc0KGl0aCBhIG5lKS0uNCBGIC0uMDUoZ2EpCi0tLjE1IEcodGkpLjA1IEUgMi4yNzQgLS4xNSh2ZSBhKS0uMjUgSCAtLjE4KHJnKS4xNSBHIDEuOTc1Ci0odW1lbnQsIGNhcGl0YWxpemUgdGhlIHByZSkuMTggRih2aW91cyktLjI1IEUgLS4xKHdvKTE0NCAyMjggUyhyZCwgYikuMQotRSh1dCBkbyBub3QgbW8pLS4yIEUgLjMgLS4xNSh2ZSBwKS0uMTUgSChvaW50LikuMTUgRSBGMSAtLjEob3ZlKTEwOCAyNDAKLVMocndyaXRlXDI1NW1vZGUpLjEgRSBGMCAtLjgoVG8pMTQ0IDI1MiBTIC40MzgoZ2dsZSBvKS44IEYgLS4xNSh2ZSktLjE1Ci1HIC40MzgocndyaXRlIG1vZGUuKS4xNSBGIC0uNChXaSk1LjQzOCBHIC40MzgodGggYW4gZSkuNCBGIC40MzgKLSh4cGxpY2l0IHBvc2l0aSktLjE1IEYgLjczNyAtLjE1KHZlIG4pLS4yNSBIIC40MzcodW1lcmljIGFyKS4xNSBGIC40MzcKLShndW1lbnQsIHN3aXRjaGVzIHRvIG8pLS4xOCBGIC0uMTUodmUpLS4xNSBHIC40MzcocndyaXRlIG1vZGUuKS4xNSBGIC0uNAotKFdpKTE0NCAyNjQgUyAuNzgodGggYW4gZSkuNCBGIC43ODEoeHBsaWNpdCBub24tcG9zaXRpKS0uMTUgRiAxLjA4MSAtLjE1Ci0odmUgbiktLjI1IEggLjc4MSh1bWVyaWMgYXIpLjE1IEYgLjc4MShndW1lbnQsIHN3aXRjaGVzIHRvIGluc2VydCBtb2RlLikKLS0uMTggRiAuNzgxKFRoaXMgY29tbWFuZCBhZik1Ljc4MSBGKGZlY3RzKS0uMjUgRShvbmx5KTE0NCAyNzYgUSBGMQotKGVtYWNzKTQuMzk1IEUgRjAobW9kZTspNC4zOTUgRSBGMSh2aSk0LjM5NSBFIEYwIDEuODk0KG1vZGUgZG9lcyBvKTQuMzk1Ci1GIC0uMTUodmUpLS4xNSBHIDEuODk0KHJ3cml0ZSBkaWYpLjE1IEYoZmVyZW50bHkpLS4yNSBFIDYuODk0KC5FKS0uNjUgRwotMS44OTQoYWNoIGNhbGwgdG8pLTYuODk0IEYvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YgLS4zNyhyZSk0LjM5NCBHCi0oYWRsaW5lXChcKSkuMzcgRSBGMCAxLjg5NChzdGFydHMgaW4gaW5zZXJ0KTQuMzk0IEYgMy45NjgobW9kZS4gSW4pMTQ0Ci0yODggUiAtLjE1KG92ZSkzLjk2OCBHIDEuNDY4KHJ3cml0ZSBtb2RlLCBjaGFyYWN0ZXJzIGJvdW5kIHRvKS4xNSBGIEYxCi0oc2VsZlwyNTVpbnNlcnQpMy45NjkgRSBGMCAxLjQ2OShyZXBsYWNlIHRoZSB0ZSkzLjk2OSBGIDEuNDY5Ci0oeHQgYXQgcG9pbnQgcmF0aGVyIHRoYW4pLS4xNSBGIC45NTgocHVzaGluZyB0aGUgdGUpMTQ0IDMwMCBSIC45NTgKLSh4dCB0byB0aGUgcmlnaHQuKS0uMTUgRiAuOTU3KENoYXJhY3RlcnMgYm91bmQgdG8pNS45NTggRiBGMQotKGJhY2t3YXJkXDI1NWRlbGV0ZVwyNTVjaGFyKTMuNDU3IEUgRjAgLjk1NyhyZXBsYWNlIHRoZSBjaGFyYWN0ZXIpMy40NTcKLUYoYmVmb3JlIHBvaW50IHdpdGggYSBzcGFjZS4pMTQ0IDMxMiBRKEJ5IGRlZik1IEUKLShhdWx0LCB0aGlzIGNvbW1hbmQgaXMgdW5ib3VuZC4pLS4xIEUgRjEoS2lsbGluZyBhbmQgWSk4NyAzMjguOCBRCi0oYW5raW5nKS0uODUgRShraWxsXDI1NWxpbmUgXChDXDI1NWtcKSkxMDggMzQwLjggUSBGMChLaWxsIHRoZSB0ZSkxNDQKLTM1Mi44IFEoeHQgZnJvbSBwb2ludCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lLiktLjE1IEUgRjEKLShiYWNrd2FyZFwyNTVraWxsXDI1NWxpbmUgXChDXDI1NXggUnVib3V0XCkpMTA4IDM2NC44IFEgRjAoS2lsbCBiYWNrdykKLTE0NCAzNzYuOCBRKGFyZCB0byB0aGUgYmUpLS4xIEUoZ2lubmluZyBvZiB0aGUgbGluZS4pLS4xNSBFIEYxCi0odW5peFwyNTVsaW5lXDI1NWRpc2NhcmQgXChDXDI1NXVcKSkxMDggMzg4LjggUSBGMChLaWxsIGJhY2t3KTE0NCA0MDAuOAotUShhcmQgZnJvbSBwb2ludCB0byB0aGUgYmUpLS4xIEUoZ2lubmluZyBvZiB0aGUgbGluZS4pLS4xNSBFCi0oVGhlIGtpbGxlZCB0ZSk1IEUoeHQgaXMgc2EpLS4xNSBFIC0uMTUodmUpLS4yIEcgMi41KGRvKS4xNSBHIDIuNShudCkKLS0yLjUgRyhoZSBraWxsLXJpbmcuKS0yLjUgRSBGMShraWxsXDI1NXdob2xlXDI1NWxpbmUpMTA4IDQxMi44IFEgRjAKLShLaWxsIGFsbCBjaGFyYWN0ZXJzIG9uIHRoZSBjdXJyZW50IGxpbmUsIG5vIG1hdHRlciB3aGVyZSBwb2ludCBpcy4pMTQ0Ci00MjQuOCBRIEYxKGtpbGxcMjU1dykxMDggNDM2LjggUShvcmQgXChNXDI1NWRcKSktLjEgRSBGMCAuNzI4Ci0oS2lsbCBmcm9tIHBvaW50IHRvIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgdykxNDQgNDQ4LjggUiAuNzI5Ci0ob3JkLCBvciBpZiBiZXR3ZWVuIHcpLS4xIEYgLjcyOShvcmRzLCB0byB0aGUgZW5kIG9mIHRoZSBuZSktLjEgRiAuNzI5Ci0oeHQgdyktLjE1IEYob3JkLiktLjEgRSAtLjgoV28pMTQ0IDQ2MC44IFMKLShyZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyB0aG9zZSB1c2VkIGJ5KS44IEUgRjEgLS4yNShmbykyLjUgRwotKHJ3YXJkXDI1NXcpLjI1IEUob3JkKS0uMSBFIEYwKC4pQSBGMShiYWNrd2FyZFwyNTVraWxsXDI1NXcpMTA4IDQ3Mi44IFEKLShvcmQgXChNXDI1NVJ1Ym91dFwpKS0uMSBFIEYwKEtpbGwgdGhlIHcpMTQ0IDQ4NC44IFEob3JkIGJlaGluZCBwb2ludC4pCi0tLjEgRSAtLjgoV28pNSBHKHJkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzIHRob3NlIHVzZWQgYnkpLjggRSBGMQotKGJhY2t3YXJkXDI1NXcpMi41IEUob3JkKS0uMSBFIEYwKC4pQSBGMShzaGVsbFwyNTVraWxsXDI1NXcpMTA4IDQ5Ni44IFEKLShvcmQgXChNXDI1NWRcKSktLjEgRSBGMCAuNzI5Ci0oS2lsbCBmcm9tIHBvaW50IHRvIHRoZSBlbmQgb2YgdGhlIGN1cnJlbnQgdykxNDQgNTA4LjggUiAuNzI4Ci0ob3JkLCBvciBpZiBiZXR3ZWVuIHcpLS4xIEYgLjcyOChvcmRzLCB0byB0aGUgZW5kIG9mIHRoZSBuZSktLjEgRiAuNzI4Ci0oeHQgdyktLjE1IEYob3JkLiktLjEgRSAtLjgoV28pMTQ0IDUyMC44IFMKLShyZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyB0aG9zZSB1c2VkIGJ5KS44IEUgRjEoc2hlbGxcMjU1ZikyLjUgRQotKG9yd2FyZFwyNTV3KS0uMjUgRShvcmQpLS4xIEUgRjAoLilBIEYxKHNoZWxsXDI1NWJhY2t3YXJkXDI1NWtpbGxcMjU1dykKLTEwOCA1MzIuOCBRKG9yZCBcKE1cMjU1UnVib3V0XCkpLS4xIEUgRjAgMy4wMjUoS2lsbCB0aGUgdykxNDQgNTQ0LjggUgotMy4wMjUob3JkIGJlaGluZCBwb2ludC4pLS4xIEYgLS44KFdvKTguMDI1IEcgMy4wMjUKLShyZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyB0aG9zZSB1c2VkIGJ5KS44IEYgRjEoc2hlbGxcMjU1YmFjay0pCi01LjUyNSBFKHdhcmRcMjU1dykxNDQgNTU2LjggUShvcmQpLS4xIEUgRjAoLilBIEYxKHVuaXhcMjU1dykxMDggNTY4LjggUQotKG9yZFwyNTVydWJvdXQgXChDXDI1NXdcKSktLjEgRSBGMCAuMzY1KEtpbGwgdGhlIHcpMTQ0IDU4MC44IFIgLjM2NQotKG9yZCBiZWhpbmQgcG9pbnQsIHVzaW5nIHdoaXRlIHNwYWNlIGFzIGEgdyktLjEgRiAuMzY0KG9yZCBib3VuZGFyeSktLjEKLUYgNS4zNjQoLlQpLS42NSBHIC4zNjQoaGUga2lsbGVkIHRlKS01LjM2NCBGIC4zNjQoeHQgaXMgc2EpLS4xNSBGIC0uMTUKLSh2ZSktLjIgRyAyLjg2NChkbykuMTUgRyAyLjg2NChudCktMi44NjQgRyhoZSktMi44NjQgRShraWxsLXJpbmcuKTE0NAotNTkyLjggUSBGMSh1bml4XDI1NVwyMTRsZW5hbWVcMjU1cnVib3V0KTEwOCA2MDQuOCBRIEYwIC4xNjYoS2lsbCB0aGUgdykKLTE0NCA2MTYuOCBSIC4xNjYKLShvcmQgYmVoaW5kIHBvaW50LCB1c2luZyB3aGl0ZSBzcGFjZSBhbmQgdGhlIHNsYXNoIGNoYXJhY3RlciBhcyB0aGUgdykKLS0uMSBGIC4xNjcob3JkIGJvdW5kYXJpZXMuKS0uMSBGKFRoZSk1LjE2NyBFKGtpbGxlZCB0ZSkxNDQgNjI4LjggUQotKHh0IGlzIHNhKS0uMTUgRSAtLjE1KHZlKS0uMiBHIDIuNShkbykuMTUgRyAyLjUobnQpLTIuNSBHKGhlIGtpbGwtcmluZy4pCi0tMi41IEUgRjEoZGVsZXRlXDI1NWhvcml6b250YWxcMjU1c3BhY2UgXChNXDI1NVxcXCkpMTA4IDY0MC44IFEgRjAKLShEZWxldGUgYWxsIHNwYWNlcyBhbmQgdGFicyBhcm91bmQgcG9pbnQuKTE0NCA2NTIuOCBRIEYxKGtpbGxcMjU1cikxMDgKLTY2NC44IFEoZWdpb24pLS4xOCBFIEYwKEtpbGwgdGhlIHRlKTE0NCA2NzYuOCBRKHh0IGluIHRoZSBjdXJyZW50IHJlKQotLS4xNSBFKGdpb24uKS0uMTUgRSBGMShjb3B5XDI1NXIpMTA4IDY4OC44IFEoZWdpb25cMjU1YXNcMjU1a2lsbCktLjE4IEUKLUYwKENvcCkxNDQgNzAwLjggUSAyLjUoeXQpLS4xIEcoaGUgdGUpLTIuNSBFKHh0IGluIHRoZSByZSktLjE1IEUKLShnaW9uIHRvIHRoZSBraWxsIGIpLS4xNSBFKHVmKS0uMiBFKGZlciktLjI1IEUoLiktLjU1IEUoR05VIEJhc2gtNC4xKTcyCi03NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg0MSkxODUuOTU1IEUgMCBDZyBFUAorLS4zNSBFIC40OTQodGhyb3VnaCB0aGUgaGlzdG9yeSBcKGJhY2sgb3IgZm9ydykxNDQgODQgUiAyLjk5NAorKGFyZFwpLiBUaGUpLS4xIEYgLjQ5NChoaXN0b3J5IGUpMi45OTQgRiAuNDk0KHhwYW5zaW9uIGYpLS4xNSBGIC40OTQKKyhhY2lsaXRpZXMgYXJlIHVzZWQgdG8gZSktLjEgRiAuNDk0KHh0cmFjdCB0aGUgbGFzdCktLjE1IEYoYXIpMTQ0IDk2IFEKKyhndW1lbnQsIGFzIGlmIHRoZSAiISQiIGhpc3RvcnkgZSktLjE4IEUoeHBhbnNpb24gaGFkIGJlZW4gc3BlY2lcMjE0ZWQuKQorLS4xNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihzaGVsbFwyNTVleHBhbmRcMjU1bGluZSBcKE1cMjU1Q1wyNTVlXCkpMTA4CisxMDggUSBGMCAuNjIyKEV4cGFuZCB0aGUgbGluZSBhcyB0aGUgc2hlbGwgZG9lcy4pMTQ0IDEyMCBSIC42MjIKKyhUaGlzIHBlcmZvcm1zIGFsaWFzIGFuZCBoaXN0b3J5IGUpNS42MjIgRiAuNjIzCisoeHBhbnNpb24gYXMgd2VsbCBhcyBhbGwgb2YgdGhlKS0uMTUgRihzaGVsbCB3KTE0NCAxMzIgUShvcmQgZSktLjEgRSAyLjUKKyh4cGFuc2lvbnMuIFNlZSktLjE1IEYvRjIgOS9UaW1lcy1Cb2xkQDAgU0YoSElTVCkyLjUgRShPUiktLjE2MiBFIDIuMjUKKyhZRSktLjMxNSBHKFhQKS0yLjI1IEUoQU5TSU9OKS0uNjY2IEUgRjAoYmVsbykyLjI1IEUgMi41KHdmKS0uMjUgRworKG9yIGEgZGVzY3JpcHRpb24gb2YgaGlzdG9yeSBlKS0yLjUgRSh4cGFuc2lvbi4pLS4xNSBFIEYxCisoaGlzdG9yeVwyNTVleHBhbmRcMjU1bGluZSBcKE1cMjU1XlwpKTEwOCAxNDQgUSBGMCAuOTM5CisoUGVyZm9ybSBoaXN0b3J5IGUpMTQ0IDE1NiBSIC45MzkoeHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZS4pLS4xNSBGCisoU2VlKTUuOTM5IEUgRjIoSElTVCkzLjQzOSBFKE9SKS0uMTYyIEUgMy4xODkoWUUpLS4zMTUgRyhYUCktMy4xODkgRQorKEFOU0lPTiktLjY2NiBFIEYwKGJlbG8pMy4xODkgRSAzLjQzOCh3ZiktLjI1IEcgLjkzOChvciBhIGRlc2NyaXAtKQorLTMuNDM4IEYodGlvbiBvZiBoaXN0b3J5IGUpMTQ0IDE2OCBRKHhwYW5zaW9uLiktLjE1IEUgRjEobWFnaWNcMjU1c3BhY2UpCisxMDggMTgwIFEgRjAgMS42MjYoUGVyZm9ybSBoaXN0b3J5IGUpMTQ0IDE5MiBSIDEuNjI2CisoeHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZSBhbmQgaW5zZXJ0IGEgc3BhY2UuKS0uMTUgRihTZWUpNi42MjcgRSBGMgorKEhJU1QpNC4xMjcgRShPUiktLjE2MiBFIDMuODc3KFlFKS0uMzE1IEcoWFApLTMuODc3IEUoQU5TSU9OKS0uNjY2IEUgRjAKKyhiZWxvKTE0NCAyMDQgUSAyLjUod2YpLS4yNSBHKG9yIGEgZGVzY3JpcHRpb24gb2YgaGlzdG9yeSBlKS0yLjUgRQorKHhwYW5zaW9uLiktLjE1IEUgRjEoYWxpYXNcMjU1ZXhwYW5kXDI1NWxpbmUpMTA4IDIxNiBRIEYwIC4zOTUKKyhQZXJmb3JtIGFsaWFzIGUpMTQ0IDIyOCBSIC4zOTUoeHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZS4pLS4xNSBGCisoU2VlKTUuMzk1IEUgRjIoQUxJQVNFUykyLjg5NSBFIEYwKGFibykyLjY0NSBFIC42OTQgLS4xNSh2ZSBmKS0uMTUgSAorLjM5NChvciBhIGRlc2NyaXB0aW9uIG9mIGFsaWFzIGUpLjE1IEYoeHBhbi0pLS4xNSBFKHNpb24uKTE0NCAyNDAgUSBGMQorKGhpc3RvcnlcMjU1YW5kXDI1NWFsaWFzXDI1NWV4cGFuZFwyNTVsaW5lKTEwOCAyNTIgUSBGMAorKFBlcmZvcm0gaGlzdG9yeSBhbmQgYWxpYXMgZSkxNDQgMjY0IFEoeHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZS4pCistLjE1IEUgRjEoaW5zZXJ0XDI1NWxhc3RcMjU1YXIpMTA4IDI3NiBRKGd1bWVudCBcKE1cMjU1LiktLjEgRSAyLjUoLE0pCisuODMzIEcgLTEuNjY3KFwyNTVfIFwpKS0yLjUgRiBGMCAyLjUoQXMpMTQ0IDI4OCBTKHlub24pLTIuNSBFKHltIGZvcikKKy0uMTUgRSBGMSh5YW5rXDI1NWxhc3RcMjU1YXIpMi41IEUoZyktLjEgRSBGMCguKUEgRjEKKyhvcGVyYXRlXDI1NWFuZFwyNTVnZXRcMjU1bmV4dCBcKENcMjU1b1wpKTEwOCAzMDAgUSBGMCAuOTQ3CisoQWNjZXB0IHRoZSBjdXJyZW50IGxpbmUgZm9yIGUpMTQ0IDMxMiBSIC0uMTUoeGUpLS4xNSBHIC45NDgKKyhjdXRpb24gYW5kIGZldGNoIHRoZSBuZSkuMTUgRiAuOTQ4KHh0IGxpbmUgcmVsYXRpKS0uMTUgRiAxLjI0OCAtLjE1CisodmUgdCktLjI1IEggMy40NDgob3QpLjE1IEcgLjk0OChoZSBjdXJyZW50IGxpbmUgZnJvbSB0aGUpLTMuNDQ4IEYKKyhoaXN0b3J5IGZvciBlZGl0aW5nLikxNDQgMzI0IFEoQW4pNSBFIDIuNSh5YSktLjE1IEcgLS4xOChyZyktMi41IEcKKyh1bWVudCBpcyBpZ25vcmVkLikuMTggRSBGMQorKGVkaXRcMjU1YW5kXDI1NWV4ZWN1dGVcMjU1Y29tbWFuZCBcKENcMjU1eENcMjU1ZVwpKTEwOCAzMzYgUSBGMChJbikxNDQKKzM0OCBRIC0uMih2byktLjQgRyAxLjIyNiAtLjEoa2UgYSkuMiBIIDMuNTI2KG5lKS4xIEcgMS4wMjYKKyhkaXRvciBvbiB0aGUgY3VycmVudCBjb21tYW5kIGxpbmUsIGFuZCBlKS0zLjUyNiBGIC0uMTUoeGUpLS4xNSBHIDEuMDI2CisoY3V0ZSB0aGUgcmVzdWx0IGFzIHNoZWxsIGNvbW1hbmRzLikuMTUgRiBGMShCYXNoKTYuMDI2IEUgRjAKKyhhdHRlbXB0cyB0byBpbikxNDQgMzYwIFEgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIEYyKCRWSVNVKTIuNiBFKEFMKQorLS41NCBFL0YzIDkvVGltZXMtUm9tYW5AMCBTRigsKUEgRjIoJEVESVQpMi4yNSBFKE9SKS0uMTYyIEUgRjMoLClBIEYwCisoYW5kKTIuMjUgRS9GNCAxMC9UaW1lcy1JdGFsaWNAMCBTRihlbWFjcykyLjUgRSBGMChhcyB0aGUgZWRpdG9yKTIuNSBFCisyLjUoLGkpLS40IEcgMi41KG50KS0yLjUgRyhoYXQgb3JkZXIpLTIuNSBFKC4pLS41NSBFIEYxKENvbW1hbmRzIGYpODcKKzM3Ni44IFEob3IgQ2hhbmdpbmcgVCktLjI1IEUoZXh0KS0uOTIgRShkZWxldGVcMjU1Y2hhciBcKENcMjU1ZFwpKTEwOAorMzg4LjggUSBGMCAuMzU3KERlbGV0ZSB0aGUgY2hhcmFjdGVyIGF0IHBvaW50LikxNDQgNDAwLjggUiAuMzU4CisoSWYgcG9pbnQgaXMgYXQgdGhlIGJlKTUuMzU4IEYgLjM1OAorKGdpbm5pbmcgb2YgdGhlIGxpbmUsIHRoZXJlIGFyZSBubyBjaGFyYWN0ZXJzIGluIHRoZSktLjE1IEYKKyhsaW5lLCBhbmQgdGhlIGxhc3QgY2hhcmFjdGVyIHR5cGVkIHcpMTQ0IDQxMi44IFEoYXMgbm90IGJvdW5kIHRvKS0uMSBFCitGMShkZWxldGVcMjU1Y2hhcikyLjUgRSBGMCAyLjUoLHQpQyhoZW4gcmV0dXJuKS0yLjUgRSBGMihFT0YpMi41IEUgRjMoLikKK0EgRjEoYmFja3dhcmRcMjU1ZGVsZXRlXDI1NWNoYXIgXChSdWJvdXRcKSkxMDggNDI0LjggUSBGMCAuNTUzCisoRGVsZXRlIHRoZSBjaGFyYWN0ZXIgYmVoaW5kIHRoZSBjdXJzb3IpMTQ0IDQzNi44IFIgNS41NTMoLlcpLS41NSBHIC41NTMKKyhoZW4gZ2kpLTUuNTUzIEYgLS4xNSh2ZSktLjI1IEcgMy4wNTMobmFuKS4xNSBHIC41NTModW1lcmljIGFyKS0zLjA1MyBGCisuNTUyKGd1bWVudCwgc2EpLS4xOCBGIC44NTIgLS4xNSh2ZSB0KS0uMiBIIC41NTIoaGUgZGVsZXRlZCB0ZSkuMTUgRgorLjU1Mih4dCBvbiktLjE1IEYodGhlIGtpbGwgcmluZy4pMTQ0IDQ0OC44IFEgRjEgLS4yNShmbykxMDggNDYwLjggUworKHJ3YXJkXDI1NWJhY2t3YXJkXDI1NWRlbGV0ZVwyNTVjaGFyKS4yNSBFIEYwIC40NzMKKyhEZWxldGUgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yKTE0NCA0NzIuOCBSIDIuOTczKCx1KS0uNCBHIC40NzQKKyhubGVzcyB0aGUgY3Vyc29yIGlzIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIGluIHdoaWNoIGNhc2UgdGhlKS0yLjk3MyBGCisoY2hhcmFjdGVyIGJlaGluZCB0aGUgY3Vyc29yIGlzIGRlbGV0ZWQuKTE0NCA0ODQuOCBRIEYxCisocXVvdGVkXDI1NWluc2VydCBcKENcMjU1cSwgQ1wyNTV2XCkpMTA4IDQ5Ni44IFEgRjAgLjc3OShBZGQgdGhlIG5lKTE0NAorNTA4LjggUiAuNzc5KHh0IGNoYXJhY3RlciB0eXBlZCB0byB0aGUgbGluZSB2KS0uMTUgRiAzLjI3OQorKGVyYmF0aW0uIFRoaXMpLS4xNSBGIC43NzkoaXMgaG8pMy4yNzkgRiAzLjI3OSh3dCktLjI1IEcgMy4yNzkob2kpLTMuMjc5CitHIC43NzkobnNlcnQgY2hhcmFjdGVycyBsaWspLTMuMjc5IEYoZSktLjEgRSBGMShDXDI1NXEpMy4yNzggRSBGMCAzLjI3OAorKCxmKUMob3IpLTMuMjc4IEUgLS4xNShleCkxNDQgNTIwLjggUyhhbXBsZS4pLjE1IEUgRjEKKyh0YWJcMjU1aW5zZXJ0IFwoQ1wyNTV2IFQpMTA4IDUzMi44IFEoQUJcKSktLjkgRSBGMAorKEluc2VydCBhIHRhYiBjaGFyYWN0ZXIpMTQ0IDU0NC44IFEoLiktLjU1IEUgRjEKKyhzZWxmXDI1NWluc2VydCBcKGEsIGIsIEEsIDEsICEsIC4uLlwpKTEwOCA1NTYuOCBRIEYwCisoSW5zZXJ0IHRoZSBjaGFyYWN0ZXIgdHlwZWQuKTE0NCA1NjguOCBRIEYxCisodHJhbnNwb3NlXDI1NWNoYXJzIFwoQ1wyNTV0XCkpMTA4IDU4MC44IFEgRjAgLjMyMQorKERyYWcgdGhlIGNoYXJhY3RlciBiZWZvcmUgcG9pbnQgZm9ydykxNDQgNTkyLjggUiAuMzIxKGFyZCBvKS0uMSBGIC0uMTUKKyh2ZSktLjE1IEcgMi44MjEocnQpLjE1IEcgLjMyMShoZSBjaGFyYWN0ZXIgYXQgcG9pbnQsIG1vKS0yLjgyMSBGIC4zMjIKKyh2aW5nIHBvaW50IGZvcncpLS4xNSBGIC4zMjIoYXJkIGFzIHdlbGwuKS0uMSBGIDEuMTgyCisoSWYgcG9pbnQgaXMgYXQgdGhlIGVuZCBvZiB0aGUgbGluZSwgdGhlbiB0aGlzIHRyYW5zcG9zZXMgdGhlIHR3KTE0NAorNjA0LjggUiAzLjY4MihvYyktLjEgRyAxLjE4MihoYXJhY3RlcnMgYmVmb3JlIHBvaW50LiktMy42ODIgRihOZSk2LjE4MiBFCistLjA1KGdhKS0uMTUgRyh0aSkuMDUgRSAtLjE1KHZlKS0uMjUgRyhhcikxNDQgNjE2LjggUShndW1lbnRzIGhhKS0uMTggRQorLjMgLS4xNSh2ZSBuKS0uMiBIIDIuNShvZSkuMTUgRyAtLjI1KGZmKS0yLjUgRyhlY3QuKS4yNSBFIEYxCisodHJhbnNwb3NlXDI1NXcpMTA4IDYyOC44IFEob3JkcyBcKE1cMjU1dFwpKS0uMSBFIEYwIC4wMjMoRHJhZyB0aGUgdykxNDQKKzY0MC44IFIgLjAyMyhvcmQgYmVmb3JlIHBvaW50IHBhc3QgdGhlIHcpLS4xIEYgLjAyMyhvcmQgYWZ0ZXIgcG9pbnQsIG1vKQorLS4xIEYgLjAyMyh2aW5nIHBvaW50IG8pLS4xNSBGIC0uMTUodmUpLS4xNSBHIDIuNTI0KHJ0KS4xNSBHIC4wMjQoaGF0IHcpCistMi41MjQgRiAuMDI0KG9yZCBhcyB3ZWxsLiktLjEgRiAuMDI0KElmIHBvaW50KTUuMDI0IEYKKyhpcyBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLCB0aGlzIHRyYW5zcG9zZXMgdGhlIGxhc3QgdHcpMTQ0IDY1Mi44IFEgMi41Cisob3cpLS4xIEcob3JkcyBvbiB0aGUgbGluZS4pLTIuNiBFIEYxKHVwY2FzZVwyNTV3KTEwOCA2NjQuOCBRCisob3JkIFwoTVwyNTV1XCkpLS4xIEUgRjAgMS42OTkoVXBwZXJjYXNlIHRoZSBjdXJyZW50IFwob3IgZm9sbG8pMTQ0Cis2NzYuOCBSIDEuNjk4KHdpbmdcKSB3KS0uMjUgRiA0LjE5OChvcmQuIFcpLS4xIEYgMS42OTgoaXRoIGEgbmUpLS40IEYKKy0uMDUoZ2EpLS4xNSBHKHRpKS4wNSBFIDEuOTk4IC0uMTUodmUgYSktLjI1IEggLS4xOChyZykuMTUgRyAxLjY5OAorKHVtZW50LCB1cHBlcmNhc2UgdGhlIHByZSkuMTggRih2aW91cyktLjI1IEUgLS4xKHdvKTE0NCA2ODguOCBTKHJkLCBiKS4xCitFKHV0IGRvIG5vdCBtbyktLjIgRSAuMyAtLjE1KHZlIHApLS4xNSBIKG9pbnQuKS4xNSBFIEYxKGRvKTEwOCA3MDAuOCBRCisod25jYXNlXDI1NXcpLS4xIEUob3JkIFwoTVwyNTVsXCkpLS4xIEUgRjAoTG8pMTQ0IDcxMi44IFEgMS42NDcKKyh3ZXJjYXNlIHRoZSBjdXJyZW50IFwob3IgZm9sbG8pLS4yNSBGIDEuNjQ3KHdpbmdcKSB3KS0uMjUgRiA0LjE0NworKG9yZC4gVyktLjEgRiAxLjY0OChpdGggYSBuZSktLjQgRiAtLjA1KGdhKS0uMTUgRyh0aSkuMDUgRSAxLjk0OCAtLjE1CisodmUgYSktLjI1IEggLS4xOChyZykuMTUgRyAxLjY0OCh1bWVudCwgbG8pLjE4IEYgMS42NDgod2VyY2FzZSB0aGUgcHJlKQorLS4yNSBGKHZpb3VzKS0uMjUgRSAtLjEod28pMTQ0IDcyNC44IFMocmQsIGIpLjEgRSh1dCBkbyBub3QgbW8pLS4yIEUgLjMKKy0uMTUodmUgcCktLjE1IEgob2ludC4pLjE1IEUoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpCisxMzUuOTY1IEUoNDEpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNDIgNDIKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGNvcHlcMjU1YmFja3dhcmRcMjU1dykxMDggODQgUShvcmQpLS4xIEUgRjAKLShDb3ApMTQ0IDk2IFEgNC44MDEoeXQpLS4xIEcgMi4zMDEoaGUgdyktNC44MDEgRiAyLjMwMQotKG9yZCBiZWZvcmUgcG9pbnQgdG8gdGhlIGtpbGwgYiktLjEgRih1ZiktLjIgRShmZXIpLS4yNSBFIDcuMzAxKC5UKS0uNTUKLUcgMi4zMDEoaGUgdyktNy4zMDEgRiAyLjMob3JkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzKS0uMSBGIEYxKGJhY2stKQotNC44IEUod2FyZFwyNTV3KTE0NCAxMDggUShvcmQpLS4xIEUgRjAoLilBIEYxKGNvcHlcMjU1ZikxMDggMTIwIFEKLShvcndhcmRcMjU1dyktLjI1IEUob3JkKS0uMSBFIEYwKENvcCkxNDQgMTMyIFEgNC41MDcoeXQpLS4xIEcgMi4wMDcKLShoZSB3KS00LjUwNyBGIDIuMDA3KG9yZCBmb2xsbyktLjEgRiAyLjAwNyh3aW5nIHBvaW50IHRvIHRoZSBraWxsIGIpLS4yNQotRih1ZiktLjIgRShmZXIpLS4yNSBFIDcuMDA4KC5UKS0uNTUgRyAyLjAwOChoZSB3KS03LjAwOCBGIDIuMDA4Ci0ob3JkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzKS0uMSBGIEYxIC0uMjUoZm8pNC41MDggRyAtLjM3KHItKS4yNSBHCi0od2FyZFwyNTV3KTE0NCAxNDQgUShvcmQpLS4xIEUgRjAoLilBIEYxKHlhbmsgXChDXDI1NXlcKSkxMDggMTU2IFEgRjAgLTEKLShZYSkxNDQgMTY4IFMobmsgdGhlIHRvcCBvZiB0aGUga2lsbCByaW5nIGludG8gdGhlIGIpMSBFKHVmKS0uMiBFCi0oZmVyIGF0IHBvaW50LiktLjI1IEUgRjEoeWFua1wyNTVwb3AgXChNXDI1NXlcKSkxMDggMTgwIFEgRjAKLShSb3RhdGUgdGhlIGtpbGwgcmluZywgYW5kIHlhbmsgdGhlIG5lKTE0NCAxOTIgUSAyLjUod3QpLS4yNSBHIDIuNQorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihjYXBpdGFsaXplXDI1NXcpMTA4IDg0IFEob3JkIFwoTVwyNTVjXCkpLS4xCitFIEYwIDEuOTc1KENhcGl0YWxpemUgdGhlIGN1cnJlbnQgXChvciBmb2xsbykxNDQgOTYgUiAxLjk3NCh3aW5nXCkgdykKKy0uMjUgRiA0LjQ3NChvcmQuIFcpLS4xIEYgMS45NzQoaXRoIGEgbmUpLS40IEYgLS4wNShnYSktLjE1IEcodGkpLjA1IEUKKzIuMjc0IC0uMTUodmUgYSktLjI1IEggLS4xOChyZykuMTUgRyAxLjk3NCh1bWVudCwgY2FwaXRhbGl6ZSB0aGUgcHJlKS4xOAorRih2aW91cyktLjI1IEUgLS4xKHdvKTE0NCAxMDggUyhyZCwgYikuMSBFKHV0IGRvIG5vdCBtbyktLjIgRSAuMyAtLjE1CisodmUgcCktLjE1IEgob2ludC4pLjE1IEUgRjEgLS4xKG92ZSkxMDggMTIwIFMocndyaXRlXDI1NW1vZGUpLjEgRSBGMCAtLjgKKyhUbykxNDQgMTMyIFMgLjQzNyhnZ2xlIG8pLjggRiAtLjE1KHZlKS0uMTUgRyAuNDM3KHJ3cml0ZSBtb2RlLikuMTUgRgorLS40KFdpKTUuNDM3IEcgLjQzNyh0aCBhbiBlKS40IEYgLjQzNyh4cGxpY2l0IHBvc2l0aSktLjE1IEYgLjczOCAtLjE1CisodmUgbiktLjI1IEggLjQzOCh1bWVyaWMgYXIpLjE1IEYgLjQzOChndW1lbnQsIHN3aXRjaGVzIHRvIG8pLS4xOCBGIC0uMTUKKyh2ZSktLjE1IEcgLjQzOChyd3JpdGUgbW9kZS4pLjE1IEYgLS40KFdpKTE0NCAxNDQgUyAuNzgxKHRoIGFuIGUpLjQgRgorLjc4MSh4cGxpY2l0IG5vbi1wb3NpdGkpLS4xNSBGIDEuMDgxIC0uMTUodmUgbiktLjI1IEggLjc4MSh1bWVyaWMgYXIpLjE1CitGIC43ODEoZ3VtZW50LCBzd2l0Y2hlcyB0byBpbnNlcnQgbW9kZS4pLS4xOCBGIC43OChUaGlzIGNvbW1hbmQgYWYpNS43ODEKK0YoZmVjdHMpLS4yNSBFKG9ubHkpMTQ0IDE1NiBRIEYxKGVtYWNzKTQuMzk0IEUgRjAobW9kZTspNC4zOTQgRSBGMSh2aSkKKzQuMzk0IEUgRjAgMS44OTQobW9kZSBkb2VzIG8pNC4zOTQgRiAtLjE1KHZlKS0uMTUgRyAxLjg5NChyd3JpdGUgZGlmKS4xNQorRihmZXJlbnRseSktLjI1IEUgNi44OTQoLkUpLS42NSBHIDEuODk0KGFjaCBjYWxsIHRvKS02Ljg5NCBGL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YgLS4zNyhyZSk0LjM5NSBHKGFkbGluZVwoXCkpLjM3IEUgRjAgMS44OTUKKyhzdGFydHMgaW4gaW5zZXJ0KTQuMzk1IEYgMy45NjkobW9kZS4gSW4pMTQ0IDE2OCBSIC0uMTUob3ZlKTMuOTY5IEcKKzEuNDY5KHJ3cml0ZSBtb2RlLCBjaGFyYWN0ZXJzIGJvdW5kIHRvKS4xNSBGIEYxKHNlbGZcMjU1aW5zZXJ0KTMuOTY5IEUKK0YwIDEuNDY4KHJlcGxhY2UgdGhlIHRlKTMuOTY5IEYgMS40NjgoeHQgYXQgcG9pbnQgcmF0aGVyIHRoYW4pLS4xNSBGCisuOTU3KHB1c2hpbmcgdGhlIHRlKTE0NCAxODAgUiAuOTU3KHh0IHRvIHRoZSByaWdodC4pLS4xNSBGIC45NTgKKyhDaGFyYWN0ZXJzIGJvdW5kIHRvKTUuOTU3IEYgRjEoYmFja3dhcmRcMjU1ZGVsZXRlXDI1NWNoYXIpMy40NTggRSBGMAorLjk1OChyZXBsYWNlIHRoZSBjaGFyYWN0ZXIpMy40NTggRihiZWZvcmUgcG9pbnQgd2l0aCBhIHNwYWNlLikxNDQgMTkyIFEKKyhCeSBkZWYpNSBFKGF1bHQsIHRoaXMgY29tbWFuZCBpcyB1bmJvdW5kLiktLjEgRSBGMShLaWxsaW5nIGFuZCBZKTg3CisyMDguOCBRKGFua2luZyktLjg1IEUoa2lsbFwyNTVsaW5lIFwoQ1wyNTVrXCkpMTA4IDIyMC44IFEgRjAKKyhLaWxsIHRoZSB0ZSkxNDQgMjMyLjggUSh4dCBmcm9tIHBvaW50IHRvIHRoZSBlbmQgb2YgdGhlIGxpbmUuKS0uMTUgRSBGMQorKGJhY2t3YXJkXDI1NWtpbGxcMjU1bGluZSBcKENcMjU1eCBSdWJvdXRcKSkxMDggMjQ0LjggUSBGMChLaWxsIGJhY2t3KQorMTQ0IDI1Ni44IFEoYXJkIHRvIHRoZSBiZSktLjEgRShnaW5uaW5nIG9mIHRoZSBsaW5lLiktLjE1IEUgRjEKKyh1bml4XDI1NWxpbmVcMjU1ZGlzY2FyZCBcKENcMjU1dVwpKTEwOCAyNjguOCBRIEYwKEtpbGwgYmFja3cpMTQ0IDI4MC44CitRKGFyZCBmcm9tIHBvaW50IHRvIHRoZSBiZSktLjEgRShnaW5uaW5nIG9mIHRoZSBsaW5lLiktLjE1IEUKKyhUaGUga2lsbGVkIHRlKTUgRSh4dCBpcyBzYSktLjE1IEUgLS4xNSh2ZSktLjIgRyAyLjUoZG8pLjE1IEcgMi41KG50KQorLTIuNSBHKGhlIGtpbGwtcmluZy4pLTIuNSBFIEYxKGtpbGxcMjU1d2hvbGVcMjU1bGluZSkxMDggMjkyLjggUSBGMAorKEtpbGwgYWxsIGNoYXJhY3RlcnMgb24gdGhlIGN1cnJlbnQgbGluZSwgbm8gbWF0dGVyIHdoZXJlIHBvaW50IGlzLikxNDQKKzMwNC44IFEgRjEoa2lsbFwyNTV3KTEwOCAzMTYuOCBRKG9yZCBcKE1cMjU1ZFwpKS0uMSBFIEYwIC43MjkKKyhLaWxsIGZyb20gcG9pbnQgdG8gdGhlIGVuZCBvZiB0aGUgY3VycmVudCB3KTE0NCAzMjguOCBSIC43MjgKKyhvcmQsIG9yIGlmIGJldHdlZW4gdyktLjEgRiAuNzI4KG9yZHMsIHRvIHRoZSBlbmQgb2YgdGhlIG5lKS0uMSBGIC43MjgKKyh4dCB3KS0uMTUgRihvcmQuKS0uMSBFIC0uOChXbykxNDQgMzQwLjggUworKHJkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzIHRob3NlIHVzZWQgYnkpLjggRSBGMSAtLjI1KGZvKTIuNSBHCisocndhcmRcMjU1dykuMjUgRShvcmQpLS4xIEUgRjAoLilBIEYxKGJhY2t3YXJkXDI1NWtpbGxcMjU1dykxMDggMzUyLjggUQorKG9yZCBcKE1cMjU1UnVib3V0XCkpLS4xIEUgRjAoS2lsbCB0aGUgdykxNDQgMzY0LjggUShvcmQgYmVoaW5kIHBvaW50LikKKy0uMSBFIC0uOChXbyk1IEcocmQgYm91bmRhcmllcyBhcmUgdGhlIHNhbWUgYXMgdGhvc2UgdXNlZCBieSkuOCBFIEYxCisoYmFja3dhcmRcMjU1dykyLjUgRShvcmQpLS4xIEUgRjAoLilBIEYxKHNoZWxsXDI1NWtpbGxcMjU1dykxMDggMzc2LjggUQorKG9yZCBcKE1cMjU1ZFwpKS0uMSBFIEYwIC43MjgKKyhLaWxsIGZyb20gcG9pbnQgdG8gdGhlIGVuZCBvZiB0aGUgY3VycmVudCB3KTE0NCAzODguOCBSIC43MjkKKyhvcmQsIG9yIGlmIGJldHdlZW4gdyktLjEgRiAuNzI5KG9yZHMsIHRvIHRoZSBlbmQgb2YgdGhlIG5lKS0uMSBGIC43MjkKKyh4dCB3KS0uMTUgRihvcmQuKS0uMSBFIC0uOChXbykxNDQgNDAwLjggUworKHJkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzIHRob3NlIHVzZWQgYnkpLjggRSBGMShzaGVsbFwyNTVmKTIuNSBFCisob3J3YXJkXDI1NXcpLS4yNSBFKG9yZCktLjEgRSBGMCguKUEgRjEoc2hlbGxcMjU1YmFja3dhcmRcMjU1a2lsbFwyNTV3KQorMTA4IDQxMi44IFEob3JkIFwoTVwyNTVSdWJvdXRcKSktLjEgRSBGMCAzLjAyNShLaWxsIHRoZSB3KTE0NCA0MjQuOCBSCiszLjAyNShvcmQgYmVoaW5kIHBvaW50LiktLjEgRiAtLjgoV28pOC4wMjUgRyAzLjAyNQorKHJkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzIHRob3NlIHVzZWQgYnkpLjggRiBGMShzaGVsbFwyNTViYWNrLSkKKzUuNTI1IEUod2FyZFwyNTV3KTE0NCA0MzYuOCBRKG9yZCktLjEgRSBGMCguKUEgRjEodW5peFwyNTV3KTEwOCA0NDguOCBRCisob3JkXDI1NXJ1Ym91dCBcKENcMjU1d1wpKS0uMSBFIEYwIC4zNjQoS2lsbCB0aGUgdykxNDQgNDYwLjggUiAuMzY0Cisob3JkIGJlaGluZCBwb2ludCwgdXNpbmcgd2hpdGUgc3BhY2UgYXMgYSB3KS0uMSBGIC4zNjUob3JkIGJvdW5kYXJ5KS0uMQorRiA1LjM2NSguVCktLjY1IEcgLjM2NShoZSBraWxsZWQgdGUpLTUuMzY1IEYgLjM2NSh4dCBpcyBzYSktLjE1IEYgLS4xNQorKHZlKS0uMiBHIDIuODY1KGRvKS4xNSBHIDIuODY1KG50KS0yLjg2NSBHKGhlKS0yLjg2NSBFKGtpbGwtcmluZy4pMTQ0Cis0NzIuOCBRIEYxKHVuaXhcMjU1XDIxNGxlbmFtZVwyNTVydWJvdXQpMTA4IDQ4NC44IFEgRjAgLjE2NyhLaWxsIHRoZSB3KQorMTQ0IDQ5Ni44IFIgLjE2NgorKG9yZCBiZWhpbmQgcG9pbnQsIHVzaW5nIHdoaXRlIHNwYWNlIGFuZCB0aGUgc2xhc2ggY2hhcmFjdGVyIGFzIHRoZSB3KQorLS4xIEYgLjE2NihvcmQgYm91bmRhcmllcy4pLS4xIEYoVGhlKTUuMTY2IEUoa2lsbGVkIHRlKTE0NCA1MDguOCBRCisoeHQgaXMgc2EpLS4xNSBFIC0uMTUodmUpLS4yIEcgMi41KGRvKS4xNSBHIDIuNShudCktMi41IEcoaGUga2lsbC1yaW5nLikKKy0yLjUgRSBGMShkZWxldGVcMjU1aG9yaXpvbnRhbFwyNTVzcGFjZSBcKE1cMjU1XFxcKSkxMDggNTIwLjggUSBGMAorKERlbGV0ZSBhbGwgc3BhY2VzIGFuZCB0YWJzIGFyb3VuZCBwb2ludC4pMTQ0IDUzMi44IFEgRjEoa2lsbFwyNTVyKTEwOAorNTQ0LjggUShlZ2lvbiktLjE4IEUgRjAoS2lsbCB0aGUgdGUpMTQ0IDU1Ni44IFEoeHQgaW4gdGhlIGN1cnJlbnQgcmUpCistLjE1IEUoZ2lvbi4pLS4xNSBFIEYxKGNvcHlcMjU1cikxMDggNTY4LjggUShlZ2lvblwyNTVhc1wyNTVraWxsKS0uMTggRQorRjAoQ29wKTE0NCA1ODAuOCBRIDIuNSh5dCktLjEgRyhoZSB0ZSktMi41IEUoeHQgaW4gdGhlIHJlKS0uMTUgRQorKGdpb24gdG8gdGhlIGtpbGwgYiktLjE1IEUodWYpLS4yIEUoZmVyKS0uMjUgRSguKS0uNTUgRSBGMQorKGNvcHlcMjU1YmFja3dhcmRcMjU1dykxMDggNTkyLjggUShvcmQpLS4xIEUgRjAoQ29wKTE0NCA2MDQuOCBRIDQuOCh5dCkKKy0uMSBHIDIuMyhoZSB3KS00LjggRiAyLjMob3JkIGJlZm9yZSBwb2ludCB0byB0aGUga2lsbCBiKS0uMSBGKHVmKS0uMiBFCisoZmVyKS0uMjUgRSA3LjMwMSguVCktLjU1IEcgMi4zMDEoaGUgdyktNy4zMDEgRiAyLjMwMQorKG9yZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyktLjEgRiBGMShiYWNrLSk0LjgwMSBFKHdhcmRcMjU1dykxNDQKKzYxNi44IFEob3JkKS0uMSBFIEYwKC4pQSBGMShjb3B5XDI1NWYpMTA4IDYyOC44IFEob3J3YXJkXDI1NXcpLS4yNSBFCisob3JkKS0uMSBFIEYwKENvcCkxNDQgNjQwLjggUSA0LjUwOCh5dCktLjEgRyAyLjAwOChoZSB3KS00LjUwOCBGIDIuMDA4Cisob3JkIGZvbGxvKS0uMSBGIDIuMDA4KHdpbmcgcG9pbnQgdG8gdGhlIGtpbGwgYiktLjI1IEYodWYpLS4yIEUoZmVyKS0uMjUKK0UgNy4wMDcoLlQpLS41NSBHIDIuMDA3KGhlIHcpLTcuMDA3IEYgMi4wMDcKKyhvcmQgYm91bmRhcmllcyBhcmUgdGhlIHNhbWUgYXMpLS4xIEYgRjEgLS4yNShmbyk0LjUwNyBHIC0uMzcoci0pLjI1IEcKKyh3YXJkXDI1NXcpMTQ0IDY1Mi44IFEob3JkKS0uMSBFIEYwKC4pQSBGMSh5YW5rIFwoQ1wyNTV5XCkpMTA4IDY2NC44IFEKK0YwIC0xKFlhKTE0NCA2NzYuOCBTKG5rIHRoZSB0b3Agb2YgdGhlIGtpbGwgcmluZyBpbnRvIHRoZSBiKTEgRSh1ZiktLjIgRQorKGZlciBhdCBwb2ludC4pLS4yNSBFIEYxKHlhbmtcMjU1cG9wIFwoTVwyNTV5XCkpMTA4IDY4OC44IFEgRjAKKyhSb3RhdGUgdGhlIGtpbGwgcmluZywgYW5kIHlhbmsgdGhlIG5lKTE0NCA3MDAuOCBRIDIuNSh3dCktLjI1IEcgMi41CiAob3AuIE9ubHkpLTIuNSBGIC0uMSh3bykyLjUgRyhya3MgZm9sbG8pLjEgRSh3aW5nKS0uMjUgRSBGMSh5YW5rKTIuNSBFCi1GMChvcikyLjUgRSBGMSh5YW5rXDI1NXBvcCkyLjUgRSBGMCguKUEgRjEoTnVtZXJpYyBBcik4NyAyMDguOCBRCi0oZ3VtZW50cyktLjEgRShkaWdpdFwyNTVhcikxMDggMjIwLjggUQotKGd1bWVudCBcKE1cMjU1MCwgTVwyNTUxLCAuLi4sIE1cMjU1XDI1NVwpKS0uMSBFIEYwIC42NDIKLShBZGQgdGhpcyBkaWdpdCB0byB0aGUgYXIpMTQ0IDIzMi44IFIgLjY0MQotKGd1bWVudCBhbHJlYWR5IGFjY3VtdWxhdGluZywgb3Igc3RhcnQgYSBuZSktLjE4IEYgMy4xNDEod2EpLS4yNSBHIC0uMTgKLShyZyktMy4xNDEgRyAzLjE0MSh1bWVudC4gTVwyNTVcMjU1KS4xOCBGIC42NDEoc3RhcnRzIGEgbmUpMy4xNDEgRihnLSkKLS0uMTUgRShhdGkpMTQ0IDI0NC44IFEgLjMgLS4xNSh2ZSBhKS0uMjUgSCAtLjE4KHJnKS4xNSBHKHVtZW50LikuMTggRSBGMQotKHVuaSkxMDggMjU2LjggUSAtLjEodmUpLS4xIEcocnNhbFwyNTVhcikuMSBFKGd1bWVudCktLjEgRSBGMCAuNzc4Ci0oVGhpcyBpcyBhbm90aGVyIHcpMTQ0IDI2OC44IFIgLjc3OShheSB0byBzcGVjaWZ5IGFuIGFyKS0uMSBGIDMuMjc5Ci0oZ3VtZW50LiBJZiktLjE4IEYgLjc3OSh0aGlzIGNvbW1hbmQgaXMgZm9sbG8pMy4yNzkgRiAuNzc5Ci0od2VkIGJ5IG9uZSBvciBtb3JlIGRpZ2l0cywpLS4yNSBGIDEuMzc2Ci0ob3B0aW9uYWxseSB3aXRoIGEgbGVhZGluZyBtaW51cyBzaWduLCB0aG9zZSBkaWdpdHMgZGVcMjE0bmUgdGhlIGFyKTE0NAotMjgwLjggUiAzLjg3NihndW1lbnQuIElmKS0uMTggRiAxLjM3Nih0aGUgY29tbWFuZCBpcyBmb2wtKTMuODc2IEYobG8pMTQ0Ci0yOTIuOCBRIDEuMTcod2VkIGJ5IGRpZ2l0cywgZSktLjI1IEYgLS4xNSh4ZSktLjE1IEcoY3V0aW5nKS4xNSBFIEYxKHVuaSkKLTMuNjcgRSAtLjEodmUpLS4xIEcocnNhbFwyNTVhcikuMSBFKGd1bWVudCktLjEgRSBGMChhZykzLjY3IEUgMS4xNwotKGFpbiBlbmRzIHRoZSBudW1lcmljIGFyKS0uMDUgRiAxLjE3KGd1bWVudCwgYiktLjE4IEYgMS4xNyh1dCBpcyBvdGhlcikKLS0uMiBGKC0pLS4yIEUgLjg5OSh3aXNlIGlnbm9yZWQuKTE0NCAzMDQuOCBSIC44OTgKLShBcyBhIHNwZWNpYWwgY2FzZSwgaWYgdGhpcyBjb21tYW5kIGlzIGltbWVkaWF0ZWx5IGZvbGxvKTUuODk5IEYgLjg5OAotKHdlZCBieSBhIGNoYXJhY3RlciB0aGF0IGlzKS0uMjUgRiAuMjQzCi0obmVpdGhlciBhIGRpZ2l0IG9yIG1pbnVzIHNpZ24sIHRoZSBhcikxNDQgMzE2LjggUiAuMjQzCi0oZ3VtZW50IGNvdW50IGZvciB0aGUgbmUpLS4xOCBGIC4yNDMoeHQgY29tbWFuZCBpcyBtdWx0aXBsaWVkIGJ5IGZvdXIpCi0tLjE1IEYgNS4yNDMoLlQpLS41NSBHKGhlKS01LjI0MyBFKGFyKTE0NCAzMjguOCBRIC4zNzgKLShndW1lbnQgY291bnQgaXMgaW5pdGlhbGx5IG9uZSwgc28gZSktLjE4IEYgLS4xNSh4ZSktLjE1IEcgLjM3OAotKGN1dGluZyB0aGlzIGZ1bmN0aW9uIHRoZSBcMjE0cnN0IHRpbWUgbWFrKS4xNSBGIC4zNzgoZXMgdGhlIGFyKS0uMSBGCi0uMzc4KGd1bWVudCBjb3VudCktLjE4IEYoZm91cikxNDQgMzQwLjggUSAyLjUoLGFzKS0uNCBHKGVjb25kIHRpbWUgbWFrKQotLTIuNSBFKGVzIHRoZSBhciktLjEgRShndW1lbnQgY291bnQgc2l4dGVlbiwgYW5kIHNvIG9uLiktLjE4IEUgRjEKLShDb21wbGV0aW5nKTg3IDM1Ny42IFEoY29tcGxldGUgXChUKTEwOCAzNjkuNiBRKEFCXCkpLS45IEUgRjAgMS4xMzcKLShBdHRlbXB0IHRvIHBlcmZvcm0gY29tcGxldGlvbiBvbiB0aGUgdGUpMTQ0IDM4MS42IFIgMS4xMzcKLSh4dCBiZWZvcmUgcG9pbnQuKS0uMTUgRiBGMShCYXNoKTYuMTM3IEUgRjAgMS4xMzcKLShhdHRlbXB0cyBjb21wbGV0aW9uIHRyZWF0aW5nIHRoZSkzLjYzNyBGKHRlKTE0NCAzOTMuNiBRIC41MzMoeHQgYXMgYSB2KQotLS4xNSBGIC41MzMoYXJpYWJsZSBcKGlmIHRoZSB0ZSktLjI1IEYgLjUzMyh4dCBiZSktLjE1IEYgLjUzMyhnaW5zIHdpdGgpCi0tLjE1IEYgRjEoJCkzLjAzMyBFIEYwIC41MzMoXCksIHVzZXJuYW1lIFwoaWYgdGhlIHRlKUIgLjUzMih4dCBiZSktLjE1IEYKLS41MzIoZ2lucyB3aXRoKS0uMTUgRiBGMSh+KTMuMDMyIEUgRjAgLjUzMihcKSwgaG9zdG5hbWUgXChpZiB0aGUpQih0ZSkKLTE0NCA0MDUuNiBRIC43MDEoeHQgYmUpLS4xNSBGIC43MDEoZ2lucyB3aXRoKS0uMTUgRiBGMShAKTMuMjAxIEUgRjAgLjcwMQotKFwpLCBvciBjb21tYW5kIFwoaW5jbHVkaW5nIGFsaWFzZXMgYW5kIGZ1bmN0aW9uc1wpIGluIHR1cm4uKUIgLjcwMgotKElmIG5vbmUgb2YgdGhlc2UgcHJvLSk1LjcwMSBGCi0oZHVjZXMgYSBtYXRjaCwgXDIxNGxlbmFtZSBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZC4pMTQ0IDQxNy42IFEgRjEKLShwb3NzaWJsZVwyNTVjb21wbGV0aW9ucyBcKE1cMjU1P1wpKTEwOCA0MjkuNiBRIEYwCi0oTGlzdCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgb2YgdGhlIHRlKTE0NCA0NDEuNiBRKHh0IGJlZm9yZSBwb2ludC4pCi0tLjE1IEUgRjEoaW5zZXJ0XDI1NWNvbXBsZXRpb25zIFwoTVwyNTUqXCkpMTA4IDQ1My42IFEgRjAgLjc4MwotKEluc2VydCBhbGwgY29tcGxldGlvbnMgb2YgdGhlIHRlKTE0NCA0NjUuNiBSIC43ODMKLSh4dCBiZWZvcmUgcG9pbnQgdGhhdCB3KS0uMTUgRiAuNzgzKG91bGQgaGEpLS4xIEYgMS4wODMgLS4xNSh2ZSBiKS0uMiBICi0uNzgzKGVlbiBnZW5lcmF0ZWQgYnkpLjE1IEYgRjEocG9zc2libGVcMjU1Y29tLSkzLjI4MiBFKHBsZXRpb25zKTE0NAotNDc3LjYgUSBGMCguKUEgRjEobWVudVwyNTVjb21wbGV0ZSkxMDggNDg5LjYgUSBGMCAuOTI4KFNpbWlsYXIgdG8pMTQ0Ci01MDEuNiBSIEYxKGNvbXBsZXRlKTMuNDI4IEUgRjAgMy40MjgoLGIpQyAuOTI5KHV0IHJlcGxhY2VzIHRoZSB3KS0zLjYyOAotRiAuOTI5KG9yZCB0byBiZSBjb21wbGV0ZWQgd2l0aCBhIHNpbmdsZSBtYXRjaCBmcm9tIHRoZSBsaXN0IG9mKS0uMSBGCi0xLjE5NChwb3NzaWJsZSBjb21wbGV0aW9ucy4pMTQ0IDUxMy42IFIgMS4xOTQoUmVwZWF0ZWQgZSk2LjE5NCBGIC0uMTUKLSh4ZSktLjE1IEcgMS4xOTQoY3V0aW9uIG9mKS4xNSBGIEYxKG1lbnVcMjU1Y29tcGxldGUpMy42OTQgRSBGMCAxLjE5MwotKHN0ZXBzIHRocm91Z2ggdGhlIGxpc3Qgb2YgcG9zc2libGUpMy42OTQgRiAuODI4Ci0oY29tcGxldGlvbnMsIGluc2VydGluZyBlYWNoIG1hdGNoIGluIHR1cm4uKTE0NCA1MjUuNiBSIC44MjgKLShBdCB0aGUgZW5kIG9mIHRoZSBsaXN0IG9mIGNvbXBsZXRpb25zLCB0aGUgYmVsbCBpcyBydW5nKTUuODI4IEYgLjcyNwotKFwoc3ViamVjdCB0byB0aGUgc2V0dGluZyBvZikxNDQgNTM3LjYgUiBGMShiZWxsXDI1NXN0eWxlKTMuMjI3IEUgRjAKLTMuMjI3KFwpYSlDIC43MjcobmQgdGhlIG9yaWdpbmFsIHRlKS0zLjIyNyBGIC43MjcoeHQgaXMgcmVzdG9yZWQuKS0uMTUgRgotLjcyNyhBbiBhcik1LjcyNyBGIC43MjcoZ3VtZW50IG9mKS0uMTggRi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihuKTMuMjI3Ci1FIEYwKG1vKTMuMjI3IEUgLS4xNSh2ZSktLjE1IEcocykuMTUgRSBGMihuKTMuMjI3IEUgRjAgMS43MwotKHBvc2l0aW9ucyBmb3J3KTE0NCA1NDkuNiBSIDEuNzMoYXJkIGluIHRoZSBsaXN0IG9mIG1hdGNoZXM7IGEgbmUpLS4xIEYKLS0uMDUoZ2EpLS4xNSBHKHRpKS4wNSBFIDIuMDMgLS4xNSh2ZSBhKS0uMjUgSCAtLjE4KHJnKS4xNSBHIDEuNzMKLSh1bWVudCBtYXkgYmUgdXNlZCB0byBtbykuMTggRiAyLjAzIC0uMTUodmUgYiktLjE1IEgoYWNrdykuMTUgRShhcmQpLS4xCi1FKHRocm91Z2ggdGhlIGxpc3QuKTE0NCA1NjEuNiBRKFRoaXMgY29tbWFuZCBpcyBpbnRlbmRlZCB0byBiZSBib3VuZCB0bykKLTUgRSBGMSAtLjkoVEEpMi41IEcoQikuOSBFIEYwIDIuNSgsYilDKHV0IGlzIHVuYm91bmQgYnkgZGVmKS0yLjcgRQotKGF1bHQuKS0uMSBFIEYxKG1lbnVcMjU1Y29tcGxldGUtKTEwOCA1NzMuNiBRKHcpMTAgSShrKS03LjIyIC0xMCBNKGMpCi0tNS41NiAtMTAgTShyZCkyLjc4IDEwIE0gRjAgLjgyKElkZW50aWNhbCB0bykxNDQgNTg1LjYgUiBGMQotKG1lbnVcMjU1Y29tcGxldGUpMy4zMiBFIEYwIDMuMzIoLGIpQyAuODIodXQgbW8pLTMuNTIgRiAtLjE1KHZlKS0uMTUgRwotMy4zMihzYikuMTUgRyhhY2t3KS0zLjMyIEUgLjgyCi0oYXJkIHRocm91Z2ggdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMsIGFzIGlmKS0uMSBGIEYxCi0obWVudVwyNTVjb21wbGV0ZSkxNDQgNTk3LjYgUSBGMChoYWQgYmVlbiBnaSkyLjUgRSAtLjE1KHZlKS0uMjUgRyAyLjUKLShuYW4pLjE1IEcgLTIuMjUgLS4xNShlZyBhKS0yLjUgSCh0aSkuMTUgRSAuMyAtLjE1KHZlIGEpLS4yNSBIIC0uMTgocmcpCi0uMTUgRyAyLjUodW1lbnQuIFRoaXMpLjE4IEYoY29tbWFuZCBpcyB1bmJvdW5kIGJ5IGRlZikyLjUgRShhdWx0LiktLjEgRQotRjEoZGVsZXRlXDI1NWNoYXJcMjU1b3JcMjU1bGlzdCkxMDggNjA5LjYgUSBGMCAuMjM0Ci0oRGVsZXRlcyB0aGUgY2hhcmFjdGVyIHVuZGVyIHRoZSBjdXJzb3IgaWYgbm90IGF0IHRoZSBiZSkxNDQgNjIxLjYgUgotLjIzNChnaW5uaW5nIG9yIGVuZCBvZiB0aGUgbGluZSBcKGxpayktLjE1IEYoZSktLjEgRSBGMShkZWxldGVcMjU1Y2hhcikKLTIuNzM1IEUgRjAoXCkuKUEgLjQyNShJZiBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLCBiZWhhKTE0NCA2MzMuNiBSIC0uMTUKLSh2ZSktLjIgRyAyLjkyNShzaSkuMTUgRyAuNDI1KGRlbnRpY2FsbHkgdG8pLTIuOTI1IEYgRjEKLShwb3NzaWJsZVwyNTVjb21wbGV0aW9ucykyLjkyNSBFIEYwIDUuNDI1KC5UKUMgLjQyNQotKGhpcyBjb21tYW5kIGlzIHVuYm91bmQpLTUuNDI1IEYoYnkgZGVmKTE0NCA2NDUuNiBRKGF1bHQuKS0uMSBFIEYxCi0oY29tcGxldGVcMjU1XDIxNGxlbmFtZSBcKE1cMjU1L1wpKTEwOCA2NTcuNiBRIEYwCi0oQXR0ZW1wdCBcMjE0bGVuYW1lIGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCA2NjkuNiBRKHh0IGJlZm9yZSBwb2ludC4pCi0tLjE1IEUgRjEocG9zc2libGVcMjU1XDIxNGxlbmFtZVwyNTVjb21wbGV0aW9ucyBcKENcMjU1eCAvXCkpMTA4IDY4MS42IFEKLUYwKExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZSkxNDQgNjkzLjYgUQotKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSBcMjE0bGVuYW1lLiktLjE1IEUgRjEKLShjb21wbGV0ZVwyNTV1c2VyKTEwOCA3MDUuNiBRKG5hbWUgXChNXDI1NX5cKSktLjE1IEUgRjAKLShBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCA3MTcuNiBRCi0oeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIHVzZXJuYW1lLiktLjE1IEUoR05VIEJhc2gtNC4xKTcyIDc2OAotUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg0MikxODUuOTU1IEUgMCBDZyBFUAorRjAob3IpMi41IEUgRjEoeWFua1wyNTVwb3ApMi41IEUgRjAoLilBKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDQyKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDQzIDQzCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihwb3NzaWJsZVwyNTV1c2VyKTEwOCA4NCBRCi0obmFtZVwyNTVjb21wbGV0aW9ucyBcKENcMjU1eCB+XCkpLS4xNSBFIEYwCi0oTGlzdCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgb2YgdGhlIHRlKTE0NCA5NiBRCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKE51bWVyaWMgQXIpODcgODQgUShndW1lbnRzKS0uMSBFCisoZGlnaXRcMjU1YXIpMTA4IDk2IFEoZ3VtZW50IFwoTVwyNTUwLCBNXDI1NTEsIC4uLiwgTVwyNTVcMjU1XCkpLS4xIEUgRjAKKy42NDEoQWRkIHRoaXMgZGlnaXQgdG8gdGhlIGFyKTE0NCAxMDggUiAuNjQxCisoZ3VtZW50IGFscmVhZHkgYWNjdW11bGF0aW5nLCBvciBzdGFydCBhIG5lKS0uMTggRiAzLjE0MSh3YSktLjI1IEcgLS4xOAorKHJnKS0zLjE0MSBHIDMuMTQyKHVtZW50LiBNXDI1NVwyNTUpLjE4IEYgLjY0MihzdGFydHMgYSBuZSkzLjE0MiBGKGctKQorLS4xNSBFKGF0aSkxNDQgMTIwIFEgLjMgLS4xNSh2ZSBhKS0uMjUgSCAtLjE4KHJnKS4xNSBHKHVtZW50LikuMTggRSBGMQorKHVuaSkxMDggMTMyIFEgLS4xKHZlKS0uMSBHKHJzYWxcMjU1YXIpLjEgRShndW1lbnQpLS4xIEUgRjAgLjc3OQorKFRoaXMgaXMgYW5vdGhlciB3KTE0NCAxNDQgUiAuNzc5KGF5IHRvIHNwZWNpZnkgYW4gYXIpLS4xIEYgMy4yNzkKKyhndW1lbnQuIElmKS0uMTggRiAuNzc5KHRoaXMgY29tbWFuZCBpcyBmb2xsbykzLjI3OSBGIC43NzgKKyh3ZWQgYnkgb25lIG9yIG1vcmUgZGlnaXRzLCktLjI1IEYgMS4zNzYKKyhvcHRpb25hbGx5IHdpdGggYSBsZWFkaW5nIG1pbnVzIHNpZ24sIHRob3NlIGRpZ2l0cyBkZVwyMTRuZSB0aGUgYXIpMTQ0CisxNTYgUiAzLjg3NihndW1lbnQuIElmKS0uMTggRiAxLjM3Nih0aGUgY29tbWFuZCBpcyBmb2wtKTMuODc2IEYobG8pMTQ0CisxNjggUSAxLjE3KHdlZCBieSBkaWdpdHMsIGUpLS4yNSBGIC0uMTUoeGUpLS4xNSBHKGN1dGluZykuMTUgRSBGMSh1bmkpCiszLjY3IEUgLS4xKHZlKS0uMSBHKHJzYWxcMjU1YXIpLjEgRShndW1lbnQpLS4xIEUgRjAoYWcpMy42NyBFIDEuMTcKKyhhaW4gZW5kcyB0aGUgbnVtZXJpYyBhciktLjA1IEYgMS4xNyhndW1lbnQsIGIpLS4xOCBGIDEuMTcodXQgaXMgb3RoZXIpCistLjIgRigtKS0uMiBFIC44OTgod2lzZSBpZ25vcmVkLikxNDQgMTgwIFIgLjg5OAorKEFzIGEgc3BlY2lhbCBjYXNlLCBpZiB0aGlzIGNvbW1hbmQgaXMgaW1tZWRpYXRlbHkgZm9sbG8pNS44OTggRiAuODk4Cisod2VkIGJ5IGEgY2hhcmFjdGVyIHRoYXQgaXMpLS4yNSBGIC4yNDMKKyhuZWl0aGVyIGEgZGlnaXQgb3IgbWludXMgc2lnbiwgdGhlIGFyKTE0NCAxOTIgUiAuMjQzCisoZ3VtZW50IGNvdW50IGZvciB0aGUgbmUpLS4xOCBGIC4yNDMoeHQgY29tbWFuZCBpcyBtdWx0aXBsaWVkIGJ5IGZvdXIpCistLjE1IEYgNS4yNDIoLlQpLS41NSBHKGhlKS01LjI0MiBFKGFyKTE0NCAyMDQgUSAuMzc4CisoZ3VtZW50IGNvdW50IGlzIGluaXRpYWxseSBvbmUsIHNvIGUpLS4xOCBGIC0uMTUoeGUpLS4xNSBHIC4zNzgKKyhjdXRpbmcgdGhpcyBmdW5jdGlvbiB0aGUgXDIxNHJzdCB0aW1lIG1haykuMTUgRiAuMzc4KGVzIHRoZSBhciktLjEgRgorLjM3OChndW1lbnQgY291bnQpLS4xOCBGKGZvdXIpMTQ0IDIxNiBRIDIuNSgsYXMpLS40IEcoZWNvbmQgdGltZSBtYWspCistMi41IEUoZXMgdGhlIGFyKS0uMSBFKGd1bWVudCBjb3VudCBzaXh0ZWVuLCBhbmQgc28gb24uKS0uMTggRSBGMQorKENvbXBsZXRpbmcpODcgMjMyLjggUShjb21wbGV0ZSBcKFQpMTA4IDI0NC44IFEoQUJcKSktLjkgRSBGMCAxLjEzNworKEF0dGVtcHQgdG8gcGVyZm9ybSBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgMjU2LjggUiAxLjEzNworKHh0IGJlZm9yZSBwb2ludC4pLS4xNSBGIEYxKEJhc2gpNi4xMzcgRSBGMCAxLjEzNworKGF0dGVtcHRzIGNvbXBsZXRpb24gdHJlYXRpbmcgdGhlKTMuNjM3IEYodGUpMTQ0IDI2OC44IFEgLjUzMih4dCBhcyBhIHYpCistLjE1IEYgLjUzMihhcmlhYmxlIFwoaWYgdGhlIHRlKS0uMjUgRiAuNTMyKHh0IGJlKS0uMTUgRiAuNTMzKGdpbnMgd2l0aCkKKy0uMTUgRiBGMSgkKTMuMDMzIEUgRjAgLjUzMyhcKSwgdXNlcm5hbWUgXChpZiB0aGUgdGUpQiAuNTMzKHh0IGJlKS0uMTUgRgorLjUzMyhnaW5zIHdpdGgpLS4xNSBGIEYxKH4pMy4wMzMgRSBGMCAuNTMzKFwpLCBob3N0bmFtZSBcKGlmIHRoZSlCKHRlKQorMTQ0IDI4MC44IFEgLjcwMih4dCBiZSktLjE1IEYgLjcwMihnaW5zIHdpdGgpLS4xNSBGIEYxKEApMy4yMDIgRSBGMCAuNzAxCisoXCksIG9yIGNvbW1hbmQgXChpbmNsdWRpbmcgYWxpYXNlcyBhbmQgZnVuY3Rpb25zXCkgaW4gdHVybi4pQiAuNzAxCisoSWYgbm9uZSBvZiB0aGVzZSBwcm8tKTUuNzAxIEYKKyhkdWNlcyBhIG1hdGNoLCBcMjE0bGVuYW1lIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLikxNDQgMjkyLjggUSBGMQorKHBvc3NpYmxlXDI1NWNvbXBsZXRpb25zIFwoTVwyNTU/XCkpMTA4IDMwNC44IFEgRjAKKyhMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGUpMTQ0IDMxNi44IFEoeHQgYmVmb3JlIHBvaW50LikKKy0uMTUgRSBGMShpbnNlcnRcMjU1Y29tcGxldGlvbnMgXChNXDI1NSpcKSkxMDggMzI4LjggUSBGMCAuNzgzCisoSW5zZXJ0IGFsbCBjb21wbGV0aW9ucyBvZiB0aGUgdGUpMTQ0IDM0MC44IFIgLjc4MworKHh0IGJlZm9yZSBwb2ludCB0aGF0IHcpLS4xNSBGIC43ODMob3VsZCBoYSktLjEgRiAxLjA4MyAtLjE1KHZlIGIpLS4yIEgKKy43ODMoZWVuIGdlbmVyYXRlZCBieSkuMTUgRiBGMShwb3NzaWJsZVwyNTVjb20tKTMuMjgzIEUocGxldGlvbnMpMTQ0CiszNTIuOCBRIEYwKC4pQSBGMShtZW51XDI1NWNvbXBsZXRlKTEwOCAzNjQuOCBRIEYwIC45MjkoU2ltaWxhciB0bykxNDQKKzM3Ni44IFIgRjEoY29tcGxldGUpMy40MjkgRSBGMCAzLjQyOSgsYilDIC45MjkodXQgcmVwbGFjZXMgdGhlIHcpLTMuNjI5CitGIC45Mjkob3JkIHRvIGJlIGNvbXBsZXRlZCB3aXRoIGEgc2luZ2xlIG1hdGNoIGZyb20gdGhlIGxpc3Qgb2YpLS4xIEYKKzEuMTkzKHBvc3NpYmxlIGNvbXBsZXRpb25zLikxNDQgMzg4LjggUiAxLjE5MyhSZXBlYXRlZCBlKTYuMTkzIEYgLS4xNQorKHhlKS0uMTUgRyAxLjE5MyhjdXRpb24gb2YpLjE1IEYgRjEobWVudVwyNTVjb21wbGV0ZSkzLjY5NCBFIEYwIDEuMTk0Cisoc3RlcHMgdGhyb3VnaCB0aGUgbGlzdCBvZiBwb3NzaWJsZSkzLjY5NCBGIC44MjkKKyhjb21wbGV0aW9ucywgaW5zZXJ0aW5nIGVhY2ggbWF0Y2ggaW4gdHVybi4pMTQ0IDQwMC44IFIgLjgyOAorKEF0IHRoZSBlbmQgb2YgdGhlIGxpc3Qgb2YgY29tcGxldGlvbnMsIHRoZSBiZWxsIGlzIHJ1bmcpNS44MjggRiAuNzI3CisoXChzdWJqZWN0IHRvIHRoZSBzZXR0aW5nIG9mKTE0NCA0MTIuOCBSIEYxKGJlbGxcMjU1c3R5bGUpMy4yMjcgRSBGMAorMy4yMjcoXClhKUMgLjcyNyhuZCB0aGUgb3JpZ2luYWwgdGUpLTMuMjI3IEYgLjcyNyh4dCBpcyByZXN0b3JlZC4pLS4xNSBGCisuNzI3KEFuIGFyKTUuNzI3IEYgLjcyNyhndW1lbnQgb2YpLS4xOCBGL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG4pMy4yMjcKK0UgRjAobW8pMy4yMjcgRSAtLjE1KHZlKS0uMTUgRyhzKS4xNSBFIEYyKG4pMy4yMjggRSBGMCAxLjczCisocG9zaXRpb25zIGZvcncpMTQ0IDQyNC44IFIgMS43MyhhcmQgaW4gdGhlIGxpc3Qgb2YgbWF0Y2hlczsgYSBuZSktLjEgRgorLS4wNShnYSktLjE1IEcodGkpLjA1IEUgMi4wMyAtLjE1KHZlIGEpLS4yNSBIIC0uMTgocmcpLjE1IEcgMS43MworKHVtZW50IG1heSBiZSB1c2VkIHRvIG1vKS4xOCBGIDIuMDMgLS4xNSh2ZSBiKS0uMTUgSChhY2t3KS4xNSBFKGFyZCktLjEKK0UodGhyb3VnaCB0aGUgbGlzdC4pMTQ0IDQzNi44IFEoVGhpcyBjb21tYW5kIGlzIGludGVuZGVkIHRvIGJlIGJvdW5kIHRvKQorNSBFIEYxIC0uOShUQSkyLjUgRyhCKS45IEUgRjAgMi41KCxiKUModXQgaXMgdW5ib3VuZCBieSBkZWYpLTIuNyBFCisoYXVsdC4pLS4xIEUgRjEobWVudVwyNTVjb21wbGV0ZVwyNTViYWNrd2FyZCkxMDggNDQ4LjggUSBGMCAuODIKKyhJZGVudGljYWwgdG8pMTQ0IDQ2MC44IFIgRjEobWVudVwyNTVjb21wbGV0ZSkzLjMyIEUgRjAgMy4zMigsYilDIC44MgorKHV0IG1vKS0zLjUyIEYgLS4xNSh2ZSktLjE1IEcgMy4zMihzYikuMTUgRyhhY2t3KS0zLjMyIEUgLjgyCisoYXJkIHRocm91Z2ggdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMsIGFzIGlmKS0uMSBGIEYxCisobWVudVwyNTVjb21wbGV0ZSkxNDQgNDcyLjggUSBGMChoYWQgYmVlbiBnaSkyLjUgRSAtLjE1KHZlKS0uMjUgRyAyLjUKKyhuYW4pLjE1IEcgLTIuMjUgLS4xNShlZyBhKS0yLjUgSCh0aSkuMTUgRSAuMyAtLjE1KHZlIGEpLS4yNSBIIC0uMTgocmcpCisuMTUgRyAyLjUodW1lbnQuIFRoaXMpLjE4IEYoY29tbWFuZCBpcyB1bmJvdW5kIGJ5IGRlZikyLjUgRShhdWx0LiktLjEgRQorRjEoZGVsZXRlXDI1NWNoYXJcMjU1b3JcMjU1bGlzdCkxMDggNDg0LjggUSBGMCAuMjM0CisoRGVsZXRlcyB0aGUgY2hhcmFjdGVyIHVuZGVyIHRoZSBjdXJzb3IgaWYgbm90IGF0IHRoZSBiZSkxNDQgNDk2LjggUgorLjIzNChnaW5uaW5nIG9yIGVuZCBvZiB0aGUgbGluZSBcKGxpayktLjE1IEYoZSktLjEgRSBGMShkZWxldGVcMjU1Y2hhcikKKzIuNzM0IEUgRjAoXCkuKUEgLjQyNShJZiBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLCBiZWhhKTE0NCA1MDguOCBSIC0uMTUKKyh2ZSktLjIgRyAyLjkyNShzaSkuMTUgRyAuNDI1KGRlbnRpY2FsbHkgdG8pLTIuOTI1IEYgRjEKKyhwb3NzaWJsZVwyNTVjb21wbGV0aW9ucykyLjkyNSBFIEYwIDUuNDI1KC5UKUMgLjQyNQorKGhpcyBjb21tYW5kIGlzIHVuYm91bmQpLTUuNDI1IEYoYnkgZGVmKTE0NCA1MjAuOCBRKGF1bHQuKS0uMSBFIEYxCisoY29tcGxldGVcMjU1XDIxNGxlbmFtZSBcKE1cMjU1L1wpKTEwOCA1MzIuOCBRIEYwCisoQXR0ZW1wdCBcMjE0bGVuYW1lIGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCA1NDQuOCBRKHh0IGJlZm9yZSBwb2ludC4pCistLjE1IEUgRjEocG9zc2libGVcMjU1XDIxNGxlbmFtZVwyNTVjb21wbGV0aW9ucyBcKENcMjU1eCAvXCkpMTA4IDU1Ni44IFEKK0YwKExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZSkxNDQgNTY4LjggUQorKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSBcMjE0bGVuYW1lLiktLjE1IEUgRjEKKyhjb21wbGV0ZVwyNTV1c2VyKTEwOCA1ODAuOCBRKG5hbWUgXChNXDI1NX5cKSktLjE1IEUgRjAKKyhBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCA1OTIuOCBRCisoeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIHVzZXJuYW1lLiktLjE1IEUgRjEocG9zc2libGVcMjU1dXNlcikKKzEwOCA2MDQuOCBRKG5hbWVcMjU1Y29tcGxldGlvbnMgXChDXDI1NXggflwpKS0uMTUgRSBGMAorKExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZSkxNDQgNjE2LjggUQogKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSB1c2VybmFtZS4pLS4xNSBFIEYxKGNvbXBsZXRlXDI1NXYpMTA4Ci0xMDggUShhcmlhYmxlIFwoTVwyNTUkXCkpLS4xIEUgRjAoQXR0ZW1wdCBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgMTIwIFEKKzYyOC44IFEoYXJpYWJsZSBcKE1cMjU1JFwpKS0uMSBFIEYwKEF0dGVtcHQgY29tcGxldGlvbiBvbiB0aGUgdGUpMTQ0Cis2NDAuOCBRKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSBzaGVsbCB2KS0uMTUgRShhcmlhYmxlLiktLjI1IEUKK0YxKHBvc3NpYmxlXDI1NXYpMTA4IDY1Mi44IFEoYXJpYWJsZVwyNTVjb21wbGV0aW9ucyBcKENcMjU1eCAkXCkpLS4xIEUKK0YwKExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZSkxNDQgNjY0LjggUQogKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSBzaGVsbCB2KS0uMTUgRShhcmlhYmxlLiktLjI1IEUgRjEKLShwb3NzaWJsZVwyNTV2KTEwOCAxMzIgUShhcmlhYmxlXDI1NWNvbXBsZXRpb25zIFwoQ1wyNTV4ICRcKSktLjEgRSBGMAotKExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZSkxNDQgMTQ0IFEKLSh4dCBiZWZvcmUgcG9pbnQsIHRyZWF0aW5nIGl0IGFzIGEgc2hlbGwgdiktLjE1IEUoYXJpYWJsZS4pLS4yNSBFIEYxCi0oY29tcGxldGVcMjU1aG9zdG5hbWUgXChNXDI1NUBcKSkxMDggMTU2IFEgRjAKLShBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCAxNjggUQorKGNvbXBsZXRlXDI1NWhvc3RuYW1lIFwoTVwyNTVAXCkpMTA4IDY3Ni44IFEgRjAKKyhBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCA2ODguOCBRCiAoeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIGhvc3RuYW1lLiktLjE1IEUgRjEKLShwb3NzaWJsZVwyNTVob3N0bmFtZVwyNTVjb21wbGV0aW9ucyBcKENcMjU1eCBAXCkpMTA4IDE4MCBRIEYwCi0oTGlzdCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgb2YgdGhlIHRlKTE0NCAxOTIgUQotKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSBob3N0bmFtZS4pLS4xNSBFIEYxCi0oY29tcGxldGVcMjU1Y29tbWFuZCBcKE1cMjU1IVwpKTEwOCAyMDQgUSBGMCAuNTgKLShBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCAyMTYgUiAuNTgxCi0oeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIGNvbW1hbmQgbmFtZS4pLS4xNSBGIC41ODEKLShDb21tYW5kIGNvbXBsZS0pNS41ODEgRiAuNzE1KHRpb24gYXR0ZW1wdHMgdG8gbWF0Y2ggdGhlIHRlKTE0NCAyMjggUgotLjcxNSh4dCBhZyktLjE1IEYgLjcxNShhaW5zdCBhbGlhc2VzLCByZXNlcnYpLS4wNSBGIC43MTUoZWQgdyktLjE1IEYKLS43MTUob3Jkcywgc2hlbGwgZnVuY3Rpb25zLCBzaGVsbCBiKS0uMSBGIC43MTUodWlsdGlucywgYW5kKS0uMiBGCi0oXDIxNG5hbGx5IGUpMTQ0IDI0MCBRIC0uMTUoeGUpLS4xNSBHCi0oY3V0YWJsZSBcMjE0bGVuYW1lcywgaW4gdGhhdCBvcmRlcikuMTUgRSguKS0uNTUgRSBGMQotKHBvc3NpYmxlXDI1NWNvbW1hbmRcMjU1Y29tcGxldGlvbnMgXChDXDI1NXggIVwpKTEwOCAyNTIgUSBGMAotKExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZSkxNDQgMjY0IFEKLSh4dCBiZWZvcmUgcG9pbnQsIHRyZWF0aW5nIGl0IGFzIGEgY29tbWFuZCBuYW1lLiktLjE1IEUgRjEKLShkeW5hbWljXDI1NWNvbXBsZXRlXDI1NWhpc3RvcnkgXChNXDI1NVQpMTA4IDI3NiBRKEFCXCkpLS45IEUgRjAgLjQyNAotKEF0dGVtcHQgY29tcGxldGlvbiBvbiB0aGUgdGUpMTQ0IDI4OCBSIC40MjUKLSh4dCBiZWZvcmUgcG9pbnQsIGNvbXBhcmluZyB0aGUgdGUpLS4xNSBGIC40MjUoeHQgYWcpLS4xNSBGIC40MjUKLShhaW5zdCBsaW5lcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QpLS4wNSBGCi0oZm9yIHBvc3NpYmxlIGNvbXBsZXRpb24gbWF0Y2hlcy4pMTQ0IDMwMCBRIEYxKGRhYikxMDggMzEyIFEoYnIpLS4xIEUKLS0uMTUoZXYpLS4xOCBHKFwyNTVleHBhbmQpLjE1IEUgRjAgLjYxMQotKEF0dGVtcHQgbWVudSBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgMzI0IFIgLjYxMQotKHh0IGJlZm9yZSBwb2ludCwgY29tcGFyaW5nIHRoZSB0ZSktLjE1IEYgLjYxKHh0IGFnKS0uMTUgRiAuNjEKLShhaW5zdCBsaW5lcyBmcm9tIHRoZSBoaXMtKS0uMDUgRgotKHRvcnkgbGlzdCBmb3IgcG9zc2libGUgY29tcGxldGlvbiBtYXRjaGVzLikxNDQgMzM2IFEgRjEKLShjb21wbGV0ZVwyNTVpbnRvXDI1NWJyYWNlcyBcKE1cMjU1e1wpKTEwOCAzNDggUSBGMCAuNChQZXJmb3JtIFwyMTRsZW5hXAotbWUgY29tcGxldGlvbiBhbmQgaW5zZXJ0IHRoZSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIGVuY2xvc2VkIHdpdGhcCi1pbiBicmFjZXMgc28pMTQ0IDM2MCBSKHRoZSBsaXN0IGlzIGEpMTQ0IDM3MiBRIC0uMjUodmEpLS4yIEcKLShpbGFibGUgdG8gdGhlIHNoZWxsIFwoc2VlKS4yNSBFIEYxKEJyYWNlIEV4cGFuc2lvbikyLjUgRSBGMChhYm8pMi41IEUKLS0uMTUodmUpLS4xNSBHKFwpLikuMTUgRSBGMSAtLjI1KEtlKTg3IDM4OC44IFMoeWJvYXJkIE1hY3IpLjI1IEUob3MpLS4xOAotRShzdGFydFwyNTVrYmRcMjU1bWFjcikxMDggNDAwLjggUSAyLjUob1woKS0uMTggRyhDXDI1NXggXCgpLTIuNSBFKFwpKQotLjgzMyBFIEYwKEJlKTE0NCA0MTIuOCBRKGdpbiBzYSktLjE1IEUKLSh2aW5nIHRoZSBjaGFyYWN0ZXJzIHR5cGVkIGludG8gdGhlIGN1cnJlbnQgayktLjIgRSAtLjE1KGV5KS0uMSBHCi0oYm9hcmQgbWFjcm8uKS4xNSBFIEYxKGVuZFwyNTVrYmRcMjU1bWFjcikxMDggNDI0LjggUSAyLjUob1woKS0uMTggRwotKENcMjU1eCBcKSktMi41IEUoXCkpLjgzMyBFIEYwKFN0b3Agc2EpMTQ0IDQzNi44IFEKLSh2aW5nIHRoZSBjaGFyYWN0ZXJzIHR5cGVkIGludG8gdGhlIGN1cnJlbnQgayktLjIgRSAtLjE1KGV5KS0uMSBHCi0oYm9hcmQgbWFjcm8gYW5kIHN0b3JlIHRoZSBkZVwyMTRuaXRpb24uKS4xNSBFIEYxCi0oY2FsbFwyNTVsYXN0XDI1NWtiZFwyNTVtYWNyKTEwOCA0NDguOCBRIDIuNShvXCgpLS4xOCBHKENcMjU1eCBlXCkpLTIuNQotRSBGMChSZS1lKTE0NCA0NjAuOCBRIC0uMTUoeGUpLS4xNSBHIDEoY3V0ZSB0aGUgbGFzdCBrKS4xNSBGIC0uMTUoZXkpLS4xCi1HIC45OTkoYm9hcmQgbWFjcm8gZGVcMjE0bmVkLCBieSBtYWtpbmcgdGhlIGNoYXJhY3RlcnMgaW4gdGhlIG1hY3JvIGFwcFwKLWVhciBhcyBpZikuMTUgRih0eXBlZCBhdCB0aGUgaykxNDQgNDcyLjggUSAtLjE1KGV5KS0uMSBHKGJvYXJkLikuMTUgRSBGMQotKE1pc2NlbGxhbmVvdXMpODcgNDg5LjYgUSAtLjE4KHJlKTEwOCA1MDEuNiBTPGFkNzI+LjE4IEUKLShlYWRcMjU1aW5pdFwyNTVcMjE0bGUgXChDXDI1NXggQ1wyNTVyXCkpLS4xOCBFIEYwIDEuNzc2Ci0oUmVhZCBpbiB0aGUgY29udGVudHMgb2YgdGhlKTE0NCA1MTMuNiBSL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKGlucHV0cikKLTQuMjc2IEUoYyktLjM3IEUgRjAgMS43NzcoXDIxNGxlLCBhbmQgaW5jb3Jwb3JhdGUgYW4pNC4yNzYgRiA0LjI3Nyh5YikKLS0uMTUgRyAxLjc3NyhpbmRpbmdzIG9yIHYpLTQuMjc3IEYgMS43NzcoYXJpYWJsZSBhc3NpZ25tZW50cyktLjI1IEYKLShmb3VuZCB0aGVyZS4pMTQ0IDUyNS42IFEgRjEoYWJvcnQgXChDXDI1NWdcKSkxMDggNTM3LjYgUSBGMCAzLjI0OQotKEFib3J0IHRoZSBjdXJyZW50IGVkaXRpbmcgY29tbWFuZCBhbmQgcmluZyB0aGUgdGVybWluYWwnKTE0NCA1NDkuNiBSCi01Ljc0OChzYiktLjU1IEcgMy4yNDgoZWxsIFwoc3ViamVjdCB0byB0aGUgc2V0dGluZyBvZiktNS43NDggRiBGMQotKGJlbGxcMjU1c3R5bGUpMTQ0IDU2MS42IFEgRjAoXCkuKUEgRjEoZG9cMjU1dXBwZXIpMTA4IDU3My42IFEKLShjYXNlXDI1NXYpLS4xOCBFKGVyc2lvbiBcKE1cMjU1YSwgTVwyNTViLCBNXDI1NSktLjEgRSBGMih4KUEgRjEgMi41KCwuKQotQyguLlwpKS0yLjUgRSBGMCAxLjc1NShJZiB0aGUgbWV0YVwyMTRlZCBjaGFyYWN0ZXIpMTQ0IDU4NS42IFIgRjIoeCkKLTQuMjU1IEUgRjAgMS43NTUoaXMgbG8pNC4yNTUgRiAxLjc1NgotKHdlcmNhc2UsIHJ1biB0aGUgY29tbWFuZCB0aGF0IGlzIGJvdW5kIHRvIHRoZSBjb3JyZXNwb25kaW5nKS0uMjUgRgotKHVwcGVyY2FzZSBjaGFyYWN0ZXIpMTQ0IDU5Ny42IFEoLiktLjU1IEUgRjEocHIpMTA4IDYwOS42IFEKLShlXDIxNHhcMjU1bWV0YSBcKEVTQ1wpKS0uMTggRSBGMChNZXRhZnkgdGhlIG5lKTE0NCA2MjEuNiBRCi0oeHQgY2hhcmFjdGVyIHR5cGVkLiktLjE1IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoRVNDKTUgRSBGMShmKTIuMjUgRSBGMAotKGlzIGVxdWkpMi41IEUgLS4yNSh2YSktLjI1IEcobGVudCB0bykuMjUgRSBGMShNZXRhXDI1NWYpMi41IEUgRjAoLilBIEYxCi0odW5kbyBcKENcMjU1XywgQ1wyNTV4IENcMjU1dVwpKTEwOCA2MzMuNiBRIEYwCi0oSW5jcmVtZW50YWwgdW5kbywgc2VwYXJhdGVseSByZW1lbWJlcmVkIGZvciBlYWNoIGxpbmUuKTE0NCA2NDUuNiBRIEYxCi0tMi4yOSAtLjE4KHJlIHYpMTA4IDY1Ny42IFQoZXJ0XDI1NWxpbmUgXChNXDI1NXJcKSkuMDggRSBGMCAxLjA5NQotKFVuZG8gYWxsIGNoYW5nZXMgbWFkZSB0byB0aGlzIGxpbmUuKTE0NCA2NjkuNiBSIDEuMDk1KFRoaXMgaXMgbGlrKTYuMDk1Ci1GIDMuNTk1KGVlKS0uMSBHIC0uMTUoeGUpLTMuNzQ1IEcgMS4wOTUoY3V0aW5nIHRoZSkuMTUgRiBGMSh1bmRvKTMuNTk1IEUKLUYwIDEuMDk1KGNvbW1hbmQgZW5vdWdoIHRpbWVzIHRvKTMuNTk1IEYKLShyZXR1cm4gdGhlIGxpbmUgdG8gaXRzIGluaXRpYWwgc3RhdGUuKTE0NCA2ODEuNiBRIEYxCi0odGlsZGVcMjU1ZXhwYW5kIFwoTVwyNTUmXCkpMTA4IDY5My42IFEgRjAoUGVyZm9ybSB0aWxkZSBlKTE0NCA3MDUuNiBRCi0oeHBhbnNpb24gb24gdGhlIGN1cnJlbnQgdyktLjE1IEUob3JkLiktLjEgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEKLSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg0MykxODUuOTU1IEUgMCBDZyBFUAorKHBvc3NpYmxlXDI1NWhvc3RuYW1lXDI1NWNvbXBsZXRpb25zIFwoQ1wyNTV4IEBcKSkxMDggNzAwLjggUSBGMAorKExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZSkxNDQgNzEyLjggUQorKHh0IGJlZm9yZSBwb2ludCwgdHJlYXRpbmcgaXQgYXMgYSBob3N0bmFtZS4pLS4xNSBFKEdOVSBCYXNoLTQuMik3MiA3NjgKK1EoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoNDMpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNDQgNDQKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKHNldFwyNTVtYXJrIFwoQ1wyNTVALCBNXDI1NTxzcGFjZT5cKSkxMDggODQKLVEgRjAoU2V0IHRoZSBtYXJrIHRvIHRoZSBwb2ludC4pMTQ0IDk2IFEoSWYgYSBudW1lcmljIGFyKTUgRQorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihjb21wbGV0ZVwyNTVjb21tYW5kIFwoTVwyNTUhXCkpMTA4IDg0IFEgRjAKKy41ODEoQXR0ZW1wdCBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgOTYgUiAuNTgxCisoeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIGNvbW1hbmQgbmFtZS4pLS4xNSBGIC41OAorKENvbW1hbmQgY29tcGxlLSk1LjU4IEYgLjcxNSh0aW9uIGF0dGVtcHRzIHRvIG1hdGNoIHRoZSB0ZSkxNDQgMTA4IFIKKy43MTUoeHQgYWcpLS4xNSBGIC43MTUoYWluc3QgYWxpYXNlcywgcmVzZXJ2KS0uMDUgRiAuNzE1KGVkIHcpLS4xNSBGCisuNzE1KG9yZHMsIHNoZWxsIGZ1bmN0aW9ucywgc2hlbGwgYiktLjEgRiAuNzE1KHVpbHRpbnMsIGFuZCktLjIgRgorKFwyMTRuYWxseSBlKTE0NCAxMjAgUSAtLjE1KHhlKS0uMTUgRworKGN1dGFibGUgXDIxNGxlbmFtZXMsIGluIHRoYXQgb3JkZXIpLjE1IEUoLiktLjU1IEUgRjEKKyhwb3NzaWJsZVwyNTVjb21tYW5kXDI1NWNvbXBsZXRpb25zIFwoQ1wyNTV4ICFcKSkxMDggMTMyIFEgRjAKKyhMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGUpMTQ0IDE0NCBRCisoeHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZyBpdCBhcyBhIGNvbW1hbmQgbmFtZS4pLS4xNSBFIEYxCisoZHluYW1pY1wyNTVjb21wbGV0ZVwyNTVoaXN0b3J5IFwoTVwyNTVUKTEwOCAxNTYgUShBQlwpKS0uOSBFIEYwIC40MjUKKyhBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRlKTE0NCAxNjggUiAuNDI1CisoeHQgYmVmb3JlIHBvaW50LCBjb21wYXJpbmcgdGhlIHRlKS0uMTUgRiAuNDI1KHh0IGFnKS0uMTUgRiAuNDI0CisoYWluc3QgbGluZXMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0KS0uMDUgRgorKGZvciBwb3NzaWJsZSBjb21wbGV0aW9uIG1hdGNoZXMuKTE0NCAxODAgUSBGMShkYWIpMTA4IDE5MiBRKGJyKS0uMSBFCistLjE1KGV2KS0uMTggRyhcMjU1ZXhwYW5kKS4xNSBFIEYwIC42MQorKEF0dGVtcHQgbWVudSBjb21wbGV0aW9uIG9uIHRoZSB0ZSkxNDQgMjA0IFIgLjYxMQorKHh0IGJlZm9yZSBwb2ludCwgY29tcGFyaW5nIHRoZSB0ZSktLjE1IEYgLjYxMSh4dCBhZyktLjE1IEYgLjYxMQorKGFpbnN0IGxpbmVzIGZyb20gdGhlIGhpcy0pLS4wNSBGCisodG9yeSBsaXN0IGZvciBwb3NzaWJsZSBjb21wbGV0aW9uIG1hdGNoZXMuKTE0NCAyMTYgUSBGMQorKGNvbXBsZXRlXDI1NWludG9cMjU1YnJhY2VzIFwoTVwyNTV7XCkpMTA4IDIyOCBRIEYwIC40KFBlcmZvcm0gXDIxNGxlbmFcCittZSBjb21wbGV0aW9uIGFuZCBpbnNlcnQgdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMgZW5jbG9zZWQgd2l0aFwKK2luIGJyYWNlcyBzbykxNDQgMjQwIFIodGhlIGxpc3QgaXMgYSkxNDQgMjUyIFEgLS4yNSh2YSktLjIgRworKGlsYWJsZSB0byB0aGUgc2hlbGwgXChzZWUpLjI1IEUgRjEoQnJhY2UgRXhwYW5zaW9uKTIuNSBFIEYwKGFibykyLjUgRQorLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxIC0uMjUoS2UpODcgMjY4LjggUyh5Ym9hcmQgTWFjcikuMjUgRShvcyktLjE4CitFKHN0YXJ0XDI1NWtiZFwyNTVtYWNyKTEwOCAyODAuOCBRIDIuNShvXCgpLS4xOCBHKENcMjU1eCBcKCktMi41IEUoXCkpCisuODMzIEUgRjAoQmUpMTQ0IDI5Mi44IFEoZ2luIHNhKS0uMTUgRQorKHZpbmcgdGhlIGNoYXJhY3RlcnMgdHlwZWQgaW50byB0aGUgY3VycmVudCBrKS0uMiBFIC0uMTUoZXkpLS4xIEcKKyhib2FyZCBtYWNyby4pLjE1IEUgRjEoZW5kXDI1NWtiZFwyNTVtYWNyKTEwOCAzMDQuOCBRIDIuNShvXCgpLS4xOCBHCisoQ1wyNTV4IFwpKS0yLjUgRShcKSkuODMzIEUgRjAoU3RvcCBzYSkxNDQgMzE2LjggUQorKHZpbmcgdGhlIGNoYXJhY3RlcnMgdHlwZWQgaW50byB0aGUgY3VycmVudCBrKS0uMiBFIC0uMTUoZXkpLS4xIEcKKyhib2FyZCBtYWNybyBhbmQgc3RvcmUgdGhlIGRlXDIxNG5pdGlvbi4pLjE1IEUgRjEKKyhjYWxsXDI1NWxhc3RcMjU1a2JkXDI1NW1hY3IpMTA4IDMyOC44IFEgMi41KG9cKCktLjE4IEcoQ1wyNTV4IGVcKSktMi41CitFIEYwKFJlLWUpMTQ0IDM0MC44IFEgLS4xNSh4ZSktLjE1IEcgLjk5OShjdXRlIHRoZSBsYXN0IGspLjE1IEYgLS4xNShleSkKKy0uMSBHIC45OTkoYm9hcmQgbWFjcm8gZGVcMjE0bmVkLCBieSBtYWtpbmcgdGhlIGNoYXJhY3RlcnMgaW4gdGhlIG1hY3JvXAorIGFwcGVhciBhcyBpZikuMTUgRih0eXBlZCBhdCB0aGUgaykxNDQgMzUyLjggUSAtLjE1KGV5KS0uMSBHKGJvYXJkLikuMTUKK0UgRjEoTWlzY2VsbGFuZW91cyk4NyAzNjkuNiBRIC0uMTgocmUpMTA4IDM4MS42IFM8YWQ3Mj4uMTggRQorKGVhZFwyNTVpbml0XDI1NVwyMTRsZSBcKENcMjU1eCBDXDI1NXJcKSktLjE4IEUgRjAgMS43NzcKKyhSZWFkIGluIHRoZSBjb250ZW50cyBvZiB0aGUpMTQ0IDM5My42IFIvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoaW5wdXRyKQorNC4yNzcgRShjKS0uMzcgRSBGMCAxLjc3NihcMjE0bGUsIGFuZCBpbmNvcnBvcmF0ZSBhbik0LjI3NiBGIDQuMjc2KHliKQorLS4xNSBHIDEuNzc2KGluZGluZ3Mgb3IgdiktNC4yNzYgRiAxLjc3NihhcmlhYmxlIGFzc2lnbm1lbnRzKS0uMjUgRgorKGZvdW5kIHRoZXJlLikxNDQgNDA1LjYgUSBGMShhYm9ydCBcKENcMjU1Z1wpKTEwOCA0MTcuNiBRIEYwIDMuMjQ4CisoQWJvcnQgdGhlIGN1cnJlbnQgZWRpdGluZyBjb21tYW5kIGFuZCByaW5nIHRoZSB0ZXJtaW5hbCcpMTQ0IDQyOS42IFIKKzUuNzQ5KHNiKS0uNTUgRyAzLjI0OShlbGwgXChzdWJqZWN0IHRvIHRoZSBzZXR0aW5nIG9mKS01Ljc0OSBGIEYxCisoYmVsbFwyNTVzdHlsZSkxNDQgNDQxLjYgUSBGMChcKS4pQSBGMShkb1wyNTV1cHBlcikxMDggNDUzLjYgUQorKGNhc2VcMjU1diktLjE4IEUoZXJzaW9uIFwoTVwyNTVhLCBNXDI1NWIsIE1cMjU1KS0uMSBFIEYyKHgpQSBGMSAyLjUoLC4pCitDKC4uXCkpLTIuNSBFIEYwIDEuNzU2KElmIHRoZSBtZXRhXDIxNGVkIGNoYXJhY3RlcikxNDQgNDY1LjYgUiBGMih4KQorNC4yNTYgRSBGMCAxLjc1NShpcyBsbyk0LjI1NiBGIDEuNzU1Cisod2VyY2FzZSwgcnVuIHRoZSBjb21tYW5kIHRoYXQgaXMgYm91bmQgdG8gdGhlIGNvcnJlc3BvbmRpbmcpLS4yNSBGCisodXBwZXJjYXNlIGNoYXJhY3RlcikxNDQgNDc3LjYgUSguKS0uNTUgRSBGMShwcikxMDggNDg5LjYgUQorKGVcMjE0eFwyNTVtZXRhIFwoRVNDXCkpLS4xOCBFIEYwKE1ldGFmeSB0aGUgbmUpMTQ0IDUwMS42IFEKKyh4dCBjaGFyYWN0ZXIgdHlwZWQuKS0uMTUgRS9GMyA5L1RpbWVzLUJvbGRAMCBTRihFU0MpNSBFIEYxKGYpMi4yNSBFIEYwCisoaXMgZXF1aSkyLjUgRSAtLjI1KHZhKS0uMjUgRyhsZW50IHRvKS4yNSBFIEYxKE1ldGFcMjU1ZikyLjUgRSBGMCguKUEgRjEKKyh1bmRvIFwoQ1wyNTVfLCBDXDI1NXggQ1wyNTV1XCkpMTA4IDUxMy42IFEgRjAKKyhJbmNyZW1lbnRhbCB1bmRvLCBzZXBhcmF0ZWx5IHJlbWVtYmVyZWQgZm9yIGVhY2ggbGluZS4pMTQ0IDUyNS42IFEgRjEKKy0yLjI5IC0uMTgocmUgdikxMDggNTM3LjYgVChlcnRcMjU1bGluZSBcKE1cMjU1clwpKS4wOCBFIEYwIDEuMDk1CisoVW5kbyBhbGwgY2hhbmdlcyBtYWRlIHRvIHRoaXMgbGluZS4pMTQ0IDU0OS42IFIgMS4wOTUoVGhpcyBpcyBsaWspNi4wOTUKK0YgMy41OTUoZWUpLS4xIEcgLS4xNSh4ZSktMy43NDUgRyAxLjA5NShjdXRpbmcgdGhlKS4xNSBGIEYxKHVuZG8pMy41OTUgRQorRjAgMS4wOTUoY29tbWFuZCBlbm91Z2ggdGltZXMgdG8pMy41OTUgRgorKHJldHVybiB0aGUgbGluZSB0byBpdHMgaW5pdGlhbCBzdGF0ZS4pMTQ0IDU2MS42IFEgRjEKKyh0aWxkZVwyNTVleHBhbmQgXChNXDI1NSZcKSkxMDggNTczLjYgUSBGMChQZXJmb3JtIHRpbGRlIGUpMTQ0IDU4NS42IFEKKyh4cGFuc2lvbiBvbiB0aGUgY3VycmVudCB3KS0uMTUgRShvcmQuKS0uMSBFIEYxCisoc2V0XDI1NW1hcmsgXChDXDI1NUAsIE1cMjU1PHNwYWNlPlwpKTEwOCA1OTcuNiBRIEYwCisoU2V0IHRoZSBtYXJrIHRvIHRoZSBwb2ludC4pMTQ0IDYwOS42IFEoSWYgYSBudW1lcmljIGFyKTUgRQogKGd1bWVudCBpcyBzdXBwbGllZCwgdGhlIG1hcmsgaXMgc2V0IHRvIHRoYXQgcG9zaXRpb24uKS0uMTggRSBGMQotKGV4Y2hhbmdlXDI1NXBvaW50XDI1NWFuZFwyNTVtYXJrIFwoQ1wyNTV4IENcMjU1eFwpKTEwOCAxMDggUSBGMChTdykxNDQKLTEyMCBRIC4yODIoYXAgdGhlIHBvaW50IHdpdGggdGhlIG1hcmsuKS0uMSBGIC4yODMKKyhleGNoYW5nZVwyNTVwb2ludFwyNTVhbmRcMjU1bWFyayBcKENcMjU1eCBDXDI1NXhcKSkxMDggNjIxLjYgUSBGMChTdykKKzE0NCA2MzMuNiBRIC4yODMoYXAgdGhlIHBvaW50IHdpdGggdGhlIG1hcmsuKS0uMSBGIC4yODMKIChUaGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gaXMgc2V0IHRvIHRoZSBzYSk1LjI4MyBGIC0uMTUodmUpLS4yIEcKLTIuNzgzKGRwKS4xNSBHIC4yODMob3NpdGlvbiwgYW5kIHRoZSBvbGQpLTIuNzgzIEYoY3Vyc29yIHBvc2l0aW9uIGlzIHNhKQotMTQ0IDEzMiBRIC0uMTUodmUpLS4yIEcgMi41KGRhKS4xNSBHIDIuNShzdCktMi41IEcoaGUgbWFyay4pLTIuNSBFIEYxCi0oY2hhcmFjdGVyXDI1NXNlYXIpMTA4IDE0NCBRKGNoIFwoQ1wyNTVdXCkpLS4xOCBFIEYwIDMuMDM2KEFjKTE0NCAxNTYgUwotLjUzNihoYXJhY3RlciBpcyByZWFkIGFuZCBwb2ludCBpcyBtbyktMy4wMzYgRiAtLjE1KHZlKS0uMTUgRyAzLjAzNShkdCkKLS4xNSBHIDMuMDM1KG90KS0zLjAzNSBHIC41MzUoaGUgbmUpLTMuMDM1IEYgLjUzNQotKHh0IG9jY3VycmVuY2Ugb2YgdGhhdCBjaGFyYWN0ZXIpLS4xNSBGIDUuNTM1KC5BKS0uNTUgRyhuZSktMi41IEUgLS4wNQotKGdhKS0uMTUgRyh0aSkuMDUgRSAuODM1IC0uMTUodmUgYyktLjI1IEgob3VudCkuMTUgRShzZWFyY2hlcyBmb3IgcHJlKQotMTQ0IDE2OCBRKHZpb3VzIG9jY3VycmVuY2VzLiktLjI1IEUgRjEoY2hhcmFjdGVyXDI1NXNlYXIpMTA4IDE4MCBRCi0oY2hcMjU1YmFja3dhcmQgXChNXDI1NUNcMjU1XVwpKS0uMTggRSBGMCAzLjU0MyhBYykxNDQgMTkyIFMgMS4wNDMKLShoYXJhY3RlciBpcyByZWFkIGFuZCBwb2ludCBpcyBtbyktMy41NDMgRiAtLjE1KHZlKS0uMTUgRyAzLjU0NChkdCkuMTUgRworMi43ODIoZHApLjE1IEcgLjI4Mihvc2l0aW9uLCBhbmQgdGhlIG9sZCktMi43ODIgRihjdXJzb3IgcG9zaXRpb24gaXMgc2EpCisxNDQgNjQ1LjYgUSAtLjE1KHZlKS0uMiBHIDIuNShkYSkuMTUgRyAyLjUoc3QpLTIuNSBHKGhlIG1hcmsuKS0yLjUgRSBGMQorKGNoYXJhY3RlclwyNTVzZWFyKTEwOCA2NTcuNiBRKGNoIFwoQ1wyNTVdXCkpLS4xOCBFIEYwIDMuMDM1KEFjKTE0NAorNjY5LjYgUyAuNTM1KGhhcmFjdGVyIGlzIHJlYWQgYW5kIHBvaW50IGlzIG1vKS0zLjAzNSBGIC0uMTUodmUpLS4xNSBHCiszLjAzNShkdCkuMTUgRyAzLjAzNShvdCktMy4wMzUgRyAuNTM1KGhlIG5lKS0zLjAzNSBGIC41MzUKKyh4dCBvY2N1cnJlbmNlIG9mIHRoYXQgY2hhcmFjdGVyKS0uMTUgRiA1LjUzNiguQSktLjU1IEcobmUpLTIuNSBFIC0uMDUKKyhnYSktLjE1IEcodGkpLjA1IEUgLjgzNiAtLjE1KHZlIGMpLS4yNSBIKG91bnQpLjE1IEUoc2VhcmNoZXMgZm9yIHByZSkKKzE0NCA2ODEuNiBRKHZpb3VzIG9jY3VycmVuY2VzLiktLjI1IEUgRjEoY2hhcmFjdGVyXDI1NXNlYXIpMTA4IDY5My42IFEKKyhjaFwyNTViYWNrd2FyZCBcKE1cMjU1Q1wyNTVdXCkpLS4xOCBFIEYwIDMuNTQ0KEFjKTE0NCA3MDUuNiBTIDEuMDQ0CisoaGFyYWN0ZXIgaXMgcmVhZCBhbmQgcG9pbnQgaXMgbW8pLTMuNTQ0IEYgLS4xNSh2ZSktLjE1IEcgMy41NDQoZHQpLjE1IEcKIDMuNTQ0KG90KS0zLjU0NCBHIDEuMDQ0KGhlIHByZSktMy41NDQgRiAxLjA0NAotKHZpb3VzIG9jY3VycmVuY2Ugb2YgdGhhdCBjaGFyYWN0ZXIpLS4yNSBGIDYuMDQ0KC5BKS0uNTUgRyhuZSktMi41IEUKKyh2aW91cyBvY2N1cnJlbmNlIG9mIHRoYXQgY2hhcmFjdGVyKS0uMjUgRiA2LjA0MyguQSktLjU1IEcobmUpLTIuNSBFCiAtLjA1KGdhKS0uMTUgRyh0aSkuMDUgRSAtLjE1KHZlKS0uMjUgRwotKGNvdW50IHNlYXJjaGVzIGZvciBzdWJzZXF1ZW50IG9jY3VycmVuY2VzLikxNDQgMjA0IFEgRjEKLShza2lwXDI1NWNzaVwyNTVzZXF1ZW5jZSBcKFwpKTEwOCAyMTYgUSBGMCAxLjgyNwotKFJlYWQgZW5vdWdoIGNoYXJhY3RlcnMgdG8gY29uc3VtZSBhIG11bHRpLWspMTQ0IDIyOCBSIDIuMTI2IC0uMTUoZXkgcykKLS0uMSBIIDEuODI2KGVxdWVuY2Ugc3VjaCBhcyB0aG9zZSBkZVwyMTRuZWQgZm9yIGspLjE1IEYgLS4xNShleSktLjEgRwotNC4zMjYoc2wpLjE1IEcoaWspLTQuMzI2IEUoZSktLjEgRSAuNzkoSG9tZSBhbmQgRW5kLikxNDQgMjQwIFIgLjc5MQotKFN1Y2ggc2VxdWVuY2VzIGJlKTUuNzkgRiAuNzkxCi0oZ2luIHdpdGggYSBDb250cm9sIFNlcXVlbmNlIEluZGljYXRvciBcKENTSVwpLCB1c3VhbGx5IEVTQ1wyNTVbLiktLjE1IEYKLS4zMzIoSWYgdGhpcyBzZXF1ZW5jZSBpcyBib3VuZCB0byAiXFxbIiwgaykxNDQgMjUyIFIgLS4xNShleSktLjEgRyAyLjgzMQotKHNwKS4xNSBHIC4zMzEocm9kdWNpbmcgc3VjaCBzZXF1ZW5jZXMgd2lsbCBoYSktMi44MzEgRiAuNjMxIC0uMTUodmUgbikKLS0uMiBIIDIuODMxKG9lKS4xNSBHIC0uMjUoZmYpLTIuODMxIEcgLjMzMShlY3QgdW5sZXNzIGUpLjI1IEYoeHBsaWMtKQotLS4xNSBFIC4wMjYoaXRseSBib3VuZCB0byBhIHJlYWRsaW5lIGNvbW1hbmQsIGluc3RlYWQgb2YgaW5zZXJ0aW5nIHN0cmFcCi15IGNoYXJhY3RlcnMgaW50byB0aGUgZWRpdGluZyBiKTE0NCAyNjQgUih1ZiktLjIgRShmZXIpLS4yNSBFIDUuMDI2KC5UKQotLS41NSBHKGhpcyktNS4wMjYgRShpcyB1bmJvdW5kIGJ5IGRlZikxNDQgMjc2IFEoYXVsdCwgYiktLjEgRQotKHV0IHVzdWFsbHkgYm91bmQgdG8gRVNDXDI1NVsuKS0uMiBFIEYxKGluc2VydFwyNTVjb21tZW50IFwoTVwyNTUjXCkpMTA4Ci0yODggUSBGMCAtLjQoV2kpMTQ0IDMwMCBTIC40ODEodGhvdXQgYSBudW1lcmljIGFyKS40IEYgLjQ4MQotKGd1bWVudCwgdGhlIHYpLS4xOCBGIC40ODEoYWx1ZSBvZiB0aGUgcmVhZGxpbmUpLS4yNSBGIEYxCi0oY29tbWVudFwyNTViZWdpbikyLjk4MSBFIEYwIC0uMjUodmEpMi45ODEgRyAuNDgKLShyaWFibGUgaXMgaW5zZXJ0ZWQgYXQgdGhlKS4yNSBGKGJlKTE0NCAzMTIgUSAuMDk3Ci0oZ2lubmluZyBvZiB0aGUgY3VycmVudCBsaW5lLiktLjE1IEYgLjA5OChJZiBhIG51bWVyaWMgYXIpNS4wOTcgRiAuMDk4Ci0oZ3VtZW50IGlzIHN1cHBsaWVkLCB0aGlzIGNvbW1hbmQgYWN0cyBhcyBhIHRvZ2dsZTopLS4xOCBGKGlmKTUuMDk4IEUKLS4zMjIodGhlIGNoYXJhY3RlcnMgYXQgdGhlIGJlKTE0NCAzMjQgUiAuMzIxCi0oZ2lubmluZyBvZiB0aGUgbGluZSBkbyBub3QgbWF0Y2ggdGhlIHYpLS4xNSBGIC4zMjEoYWx1ZSBvZiktLjI1IEYgRjEKLShjb21tZW50XDI1NWJlZ2luKTIuODIxIEUgRjAgMi44MjEoLHQpQyAuMzIxKGhlIHYpLTIuODIxIEYgLjMyMShhbHVlIGlzKQotLS4yNSBGIC44MzEoaW5zZXJ0ZWQsIG90aGVyd2lzZSB0aGUgY2hhcmFjdGVycyBpbikxNDQgMzM2IFIgRjEKLShjb21tZW50XDI1NWJlZ2luKTMuMzMxIEUgRjAgLjgzMihhcmUgZGVsZXRlZCBmcm9tIHRoZSBiZSkzLjMzMSBGIC44MzIKLShnaW5uaW5nIG9mIHRoZSBsaW5lLiktLjE1IEYgMS40NjkKLShJbiBlaXRoZXIgY2FzZSwgdGhlIGxpbmUgaXMgYWNjZXB0ZWQgYXMgaWYgYSBuZSkxNDQgMzQ4IFIgMS40NjgKLSh3bGluZSBoYWQgYmVlbiB0eXBlZC4pLS4yNSBGIDEuNDY4KFRoZSBkZWYpNi40NjggRiAxLjQ2OChhdWx0IHYpLS4xIEYKLTEuNDY4KGFsdWUgb2YpLS4yNSBGIEYxKGNvbS0pMy45NjggRShtZW50XDI1NWJlZ2luKTE0NCAzNjAgUSBGMCAuODM5Ci0oY2F1c2VzIHRoaXMgY29tbWFuZCB0byBtYWspMy4zMzkgRiAzLjMzOShldCktLjEgRyAuODM5Ci0oaGUgY3VycmVudCBsaW5lIGEgc2hlbGwgY29tbWVudC4pLTMuMzM5IEYgLjg0KElmIGEgbnVtZXJpYyBhcik1Ljg0IEYKLShndS0pLS4xOCBFKG1lbnQgY2F1c2VzIHRoZSBjb21tZW50IGNoYXJhY3RlciB0byBiZSByZW1vKTE0NCAzNzIgUSAtLjE1Ci0odmUpLS4xNSBHKGQsIHRoZSBsaW5lIHdpbGwgYmUgZSkuMTUgRSAtLjE1KHhlKS0uMTUgRwotKGN1dGVkIGJ5IHRoZSBzaGVsbC4pLjE1IEUgRjEoZ2xvYlwyNTVjb21wbGV0ZVwyNTV3KTEwOCAzODQgUQotKG9yZCBcKE1cMjU1Z1wpKS0uMSBFIEYwIC43OTIoVGhlIHcpMTQ0IDM5NiBSIC43OTEKLShvcmQgYmVmb3JlIHBvaW50IGlzIHRyZWF0ZWQgYXMgYSBwYXR0ZXJuIGZvciBwYXRobmFtZSBlKS0uMSBGIC43OTEKLSh4cGFuc2lvbiwgd2l0aCBhbiBhc3RlcmlzayBpbXBsaWNpdGx5KS0uMTUgRiAyLjUoYXBwZW5kZWQuIFRoaXMpMTQ0IDQwOAotUihwYXR0ZXJuIGlzIHVzZWQgdG8gZ2VuZXJhdGUgYSBsaXN0IG9mIG1hdGNoaW5nIFwyMTRsZSBuYW1lcyBmb3IgcG9zc2lcCi1ibGUgY29tcGxldGlvbnMuKTIuNSBFIEYxKGdsb2JcMjU1ZXhwYW5kXDI1NXcpMTA4IDQyMCBRCi0ob3JkIFwoQ1wyNTV4ICpcKSktLjEgRSBGMCAuMzcxKFRoZSB3KTE0NCA0MzIgUiAuMzcyCi0ob3JkIGJlZm9yZSBwb2ludCBpcyB0cmVhdGVkIGFzIGEgcGF0dGVybiBmb3IgcGF0aG5hbWUgZSktLjEgRiAuMzcyCi0oeHBhbnNpb24sIGFuZCB0aGUgbGlzdCBvZiBtYXRjaGluZyBcMjE0bGUpLS4xNSBGIC41MTYKLShuYW1lcyBpcyBpbnNlcnRlZCwgcmVwbGFjaW5nIHRoZSB3KTE0NCA0NDQgUiAzLjAxNihvcmQuIElmKS0uMSBGIDMuMDE2Ci0oYW4pMy4wMTYgRyAuNTE2KHVtZXJpYyBhciktMy4wMTYgRiAuNTE2Ci0oZ3VtZW50IGlzIHN1cHBsaWVkLCBhbiBhc3RlcmlzayBpcyBhcHBlbmRlZCktLjE4IEYoYmVmb3JlIHBhdGhuYW1lIGUpCi0xNDQgNDU2IFEoeHBhbnNpb24uKS0uMTUgRSBGMShnbG9iXDI1NWxpc3RcMjU1ZXhwYW5zaW9ucyBcKENcMjU1eCBnXCkpCi0xMDggNDY4IFEgRjAgLjkyMyhUaGUgbGlzdCBvZiBlKTE0NCA0ODAgUiAuOTIzKHhwYW5zaW9ucyB0aGF0IHcpLS4xNSBGCi0uOTIzKG91bGQgaGEpLS4xIEYgMS4yMjMgLS4xNSh2ZSBiKS0uMiBIIC45MjMoZWVuIGdlbmVyYXRlZCBieSkuMTUgRiBGMQotKGdsb2JcMjU1ZXhwYW5kXDI1NXcpMy40MjMgRShvcmQpLS4xIEUgRjAgLjkyMyhpcyBkaXNwbGF5ZWQsIGFuZCkzLjQyMyBGCi0uODcyKHRoZSBsaW5lIGlzIHJlZHJhKTE0NCA0OTIgUiAzLjM3Mih3bi4gSWYpLS4xNSBGIDMuMzcyKGFuKTMuMzcyIEcKLS44NzIodW1lcmljIGFyKS0zLjM3MiBGIC44NzIKLShndW1lbnQgaXMgc3VwcGxpZWQsIGFuIGFzdGVyaXNrIGlzIGFwcGVuZGVkIGJlZm9yZSBwYXRobmFtZSktLjE4IEYgLS4xNQotKGV4KTE0NCA1MDQgUyhwYW5zaW9uLikuMTUgRSBGMShkdW1wXDI1NWZ1bmN0aW9ucykxMDggNTE2IFEgRjAgLjYyNgotKFByaW50IGFsbCBvZiB0aGUgZnVuY3Rpb25zIGFuZCB0aGVpciBrKTE0NCA1MjggUiAuOTI2IC0uMTUoZXkgYiktLjEgSAotLjYyNyhpbmRpbmdzIHRvIHRoZSByZWFkbGluZSBvdXRwdXQgc3RyZWFtLikuMTUgRiAuNjI3KElmIGEgbnVtZXJpYyBhcikKLTUuNjI3IEYoZ3UtKS0uMTggRQotKG1lbnQgaXMgc3VwcGxpZWQsIHRoZSBvdXRwdXQgaXMgZm9ybWF0dGVkIGluIHN1Y2ggYSB3KTE0NCA1NDAgUQotKGF5IHRoYXQgaXQgY2FuIGJlIG1hZGUgcGFydCBvZiBhbiktLjEgRS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihpbnB1dHIpCi0yLjUgRShjKS0uMzcgRSBGMChcMjE0bGUuKTIuNSBFIEYxKGR1bXBcMjU1dikxMDggNTUyIFEoYXJpYWJsZXMpLS4xIEUgRjAKLTEuOChQcmludCBhbGwgb2YgdGhlIHNldHRhYmxlIHJlYWRsaW5lIHYpMTQ0IDU2NCBSIDEuNzk5Ci0oYXJpYWJsZXMgYW5kIHRoZWlyIHYpLS4yNSBGIDEuNzk5KGFsdWVzIHRvIHRoZSByZWFkbGluZSBvdXRwdXQgc3RyZWFtLikKLS0uMjUgRiAxLjc5OShJZiBhKTYuNzk5IEYgLjMwNChudW1lcmljIGFyKTE0NCA1NzYgUiAuMzA0Ci0oZ3VtZW50IGlzIHN1cHBsaWVkLCB0aGUgb3V0cHV0IGlzIGZvcm1hdHRlZCBpbiBzdWNoIGEgdyktLjE4IEYgLjMwNAotKGF5IHRoYXQgaXQgY2FuIGJlIG1hZGUgcGFydCBvZiBhbiktLjEgRiBGMihpbnB1dHIpMTQ0IDU4OCBRKGMpLS4zNyBFIEYwCi0oXDIxNGxlLikyLjUgRSBGMShkdW1wXDI1NW1hY3IpMTA4IDYwMCBRKG9zKS0uMTggRSBGMCAuNTkzCi0oUHJpbnQgYWxsIG9mIHRoZSByZWFkbGluZSBrKTE0NCA2MTIgUiAuODkzIC0uMTUoZXkgcyktLjEgSCAuNTkyCi0oZXF1ZW5jZXMgYm91bmQgdG8gbWFjcm9zIGFuZCB0aGUgc3RyaW5ncyB0aGUpLjE1IEYgMy4wOTIoeW8pLS4xNSBHCi0zLjA5Mih1dHB1dC4gSWYpLTMuMDkyIEYgMy4wOTIoYW4pMy4wOTIgRyh1bWVyaWMpLTMuMDkyIEUoYXIpMTQ0IDYyNCBRCi0uNTI4KGd1bWVudCBpcyBzdXBwbGllZCwgdGhlIG91dHB1dCBpcyBmb3JtYXR0ZWQgaW4gc3VjaCBhIHcpLS4xOCBGIC41MjgKLShheSB0aGF0IGl0IGNhbiBiZSBtYWRlIHBhcnQgb2YgYW4pLS4xIEYgRjIoaW5wdXRyKTMuMDI4IEUoYyktLjM3IEUgRjAKLShcMjE0bGUuKTE0NCA2MzYgUSBGMShkaXNwbGF5XDI1NXNoZWxsXDI1NXYpMTA4IDY0OCBRCi0oZXJzaW9uIFwoQ1wyNTV4IENcMjU1dlwpKS0uMSBFIEYwKERpc3BsYXkgdikxNDQgNjYwIFEKLShlcnNpb24gaW5mb3JtYXRpb24gYWJvdXQgdGhlIGN1cnJlbnQgaW5zdGFuY2Ugb2YpLS4xNSBFIEYxKGJhc2gpMi41IEUKLUYwKC4pQSBGMShQcik4NyA2NzYuOCBRKG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEUgRjAgLjE0NyhXaGVuIHcpMTA4Ci02ODguOCBSIC4xNDcob3JkIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIGZvciBhbiBhciktLjEgRiAuMTQ3Ci0oZ3VtZW50IHRvIGEgY29tbWFuZCBmb3Igd2hpY2ggYSBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbiBcKGEpLS4xOCBGCi1GMihjb21wc3BlYykxMDggNzAwLjggUSBGMCAzLjgyOChcKWgpQyAxLjMyOQotKGFzIGJlZW4gZGVcMjE0bmVkIHVzaW5nIHRoZSktMy44MjggRiBGMShjb21wbGV0ZSkzLjgyOSBFIEYwIC0uMihidSkKLTMuODI5IEcgMS4zMjkoaWx0aW4gXChzZWUpLjIgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRiAxLjMyOShTSEVMTCBCKTMuODI5Ci1GKFVJTCktLjA5IEUgMS4zMjkoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykzLjU3OSBFIDEuMzI5KHdcKSwgdGhlKQotLS4yNSBGKHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGYpMTA4IDcxMi44IFEoYWNpbGl0aWVzIGFyZSBpbiktLjEgRSAtLjIKLSh2byktLjQgRyAtLjEoa2UpLjIgRyhkLikuMSBFIC40OTgKLShGaXJzdCwgdGhlIGNvbW1hbmQgbmFtZSBpcyBpZGVudGlcMjE0ZWQuKTEwOCA3MjkuNiBSIC40OTgKLShJZiB0aGUgY29tbWFuZCB3KTUuNDk4IEYgLjQ5NwotKG9yZCBpcyB0aGUgZW1wdHkgc3RyaW5nIFwoY29tcGxldGlvbiBhdHRlbXB0ZWQgYXQpLS4xIEYoR05VIEJhc2gtNC4xKTcyCi03NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg0NCkxODUuOTU1IEUgMCBDZyBFUAorKGNvdW50IHNlYXJjaGVzIGZvciBzdWJzZXF1ZW50IG9jY3VycmVuY2VzLikxNDQgNzE3LjYgUShHTlUgQmFzaC00LjIpNzIKKzc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDQ0KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDQ1IDQ1CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFIC4yMzModGhlIGJlKTEwOCA4NCBSIC4yMzMoZ2lubmluZyBvZiBhbiBlbXB0eSBsaW5lXCksIGFuKS0uMTUgRgotMi43MzMoeWMpLS4xNSBHIC4yMzMob21wc3BlYyBkZVwyMTRuZWQgd2l0aCB0aGUpLTIuNzMzIEYvRjEgMTAKLS9UaW1lcy1Cb2xkQDAgU0Y8YWQ0NT4yLjczMyBFIEYwIC4yMzMob3B0aW9uIHRvKTIuNzMzIEYgRjEoY29tcGxldGUpCi0yLjczMyBFIEYwIC4yMzMoaXMgdXNlZC4pMi43MzMgRiAuMjM0KElmIGEgY29tcC0pNS4yMzQgRiAuNDgxKHNwZWMgaGFzIFwKLWJlZW4gZGVcMjE0bmVkIGZvciB0aGF0IGNvbW1hbmQsIHRoZSBjb21wc3BlYyBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBsXAotaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zKTEwOCA5NiBSIC44MjIoZm9yIHRoZSB3KTEwOCAxMDggUiAzLjMyMgotKG9yZC4gSWYpLS4xIEYgLjgyMih0aGUgY29tbWFuZCB3KTMuMzIyIEYgLjgyMyhvcmQgaXMgYSBmdWxsIHBhdGhuYW1lLCBcCi1hIGNvbXBzcGVjIGZvciB0aGUgZnVsbCBwYXRobmFtZSBpcyBzZWFyY2hlZCBmb3IpLS4xIEYgMi44NjcKLShcMjE0cnN0LiBJZikxMDggMTIwIFIgLjM2NihubyBjb21wc3BlYyBpcyBmb3VuZCBmb3IgdGhlIGZ1bGwgcGF0aG5hbWUsXAotIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBcMjE0bmQgYSBjb21wc3BlYyBmb3IgdGhlIHBvcnRpb24pMi44NjcgRihmb2xsbykKLTEwOCAxMzIgUSAuNDIxKHdpbmcgdGhlIFwyMTRuYWwgc2xhc2guKS0uMjUgRiAuNDIyCi0oSWYgdGhvc2Ugc2VhcmNoZXMgdG8gbm90IHJlc3VsdCBpbiBhIGNvbXBzcGVjLCBhbik1LjQyMSBGIDIuOTIyKHljKS0uMTUKLUcgLjQyMihvbXBzcGVjIGRlXDIxNG5lZCB3aXRoIHRoZSktMi45MjIgRiBGMTxhZDQ0PjIuOTIyIEUgRjAob3B0aW9uIHRvKQotMTA4IDE0NCBRIEYxKGNvbXBsZXRlKTIuNSBFIEYwKGlzIHVzZWQgYXMgdGhlIGRlZikyLjUgRShhdWx0LiktLjEgRSAuODE3Ci0oT25jZSBhIGNvbXBzcGVjIGhhcyBiZWVuIGZvdW5kLCBpdCBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBsaXN0IG9mIG1hdFwKLWNoaW5nIHcpMTA4IDE2MC44IFIgMy4zMTcob3Jkcy4gSWYpLS4xIEYgMy4zMTcoYWMpMy4zMTcgRyAuODE3Ci0ob21wc3BlYyBpcyBub3QpLTMuMzE3IEYoZm91bmQsIHRoZSBkZWYpMTA4IDE3Mi44IFEoYXVsdCktLjEgRSBGMShiYXNoKQorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihza2lwXDI1NWNzaVwyNTVzZXF1ZW5jZSkxMDggODQgUSBGMCAxLjgyNgorKFJlYWQgZW5vdWdoIGNoYXJhY3RlcnMgdG8gY29uc3VtZSBhIG11bHRpLWspMTQ0IDk2IFIgMi4xMjYgLS4xNShleSBzKQorLS4xIEggMS44MjcoZXF1ZW5jZSBzdWNoIGFzIHRob3NlIGRlXDIxNG5lZCBmb3IgaykuMTUgRiAtLjE1KGV5KS0uMSBHCis0LjMyNyhzbCkuMTUgRyhpayktNC4zMjcgRShlKS0uMSBFIC43OTEoSG9tZSBhbmQgRW5kLikxNDQgMTA4IFIgLjc5MQorKFN1Y2ggc2VxdWVuY2VzIGJlKTUuNzkxIEYgLjc5MQorKGdpbiB3aXRoIGEgQ29udHJvbCBTZXF1ZW5jZSBJbmRpY2F0b3IgXChDU0lcKSwgdXN1YWxseSBFU0NcMjU1Wy4pLS4xNSBGCisuMzMxKElmIHRoaXMgc2VxdWVuY2UgaXMgYm91bmQgdG8gIlxcWyIsIGspMTQ0IDEyMCBSIC0uMTUoZXkpLS4xIEcgMi44MzEKKyhzcCkuMTUgRyAuMzMxKHJvZHVjaW5nIHN1Y2ggc2VxdWVuY2VzIHdpbGwgaGEpLTIuODMxIEYgLjYzMiAtLjE1KHZlIG4pCistLjIgSCAyLjgzMihvZSkuMTUgRyAtLjI1KGZmKS0yLjgzMiBHIC4zMzIoZWN0IHVubGVzcyBlKS4yNSBGKHhwbGljLSkKKy0uMTUgRSAuMDI2KGl0bHkgYm91bmQgdG8gYSByZWFkbGluZSBjb21tYW5kLCBpbnN0ZWFkIG9mIGluc2VydGluZyBzdHJhXAoreSBjaGFyYWN0ZXJzIGludG8gdGhlIGVkaXRpbmcgYikxNDQgMTMyIFIodWYpLS4yIEUoZmVyKS0uMjUgRSA1LjAyNiguVCkKKy0uNTUgRyhoaXMpLTUuMDI2IEUoaXMgdW5ib3VuZCBieSBkZWYpMTQ0IDE0NCBRKGF1bHQsIGIpLS4xIEUKKyh1dCB1c3VhbGx5IGJvdW5kIHRvIEVTQ1wyNTVbLiktLjIgRSBGMShpbnNlcnRcMjU1Y29tbWVudCBcKE1cMjU1I1wpKTEwOAorMTU2IFEgRjAgLS40KFdpKTE0NCAxNjggUyAuNDgodGhvdXQgYSBudW1lcmljIGFyKS40IEYgLjQ4KGd1bWVudCwgdGhlIHYpCistLjE4IEYgLjQ4MShhbHVlIG9mIHRoZSByZWFkbGluZSktLjI1IEYgRjEoY29tbWVudFwyNTViZWdpbikyLjk4MSBFIEYwCistLjI1KHZhKTIuOTgxIEcgLjQ4MShyaWFibGUgaXMgaW5zZXJ0ZWQgYXQgdGhlKS4yNSBGKGJlKTE0NCAxODAgUSAuMDk4CisoZ2lubmluZyBvZiB0aGUgY3VycmVudCBsaW5lLiktLjE1IEYgLjA5OChJZiBhIG51bWVyaWMgYXIpNS4wOTggRiAuMDk3CisoZ3VtZW50IGlzIHN1cHBsaWVkLCB0aGlzIGNvbW1hbmQgYWN0cyBhcyBhIHRvZ2dsZTopLS4xOCBGKGlmKTUuMDk3IEUKKy4zMjEodGhlIGNoYXJhY3RlcnMgYXQgdGhlIGJlKTE0NCAxOTIgUiAuMzIxCisoZ2lubmluZyBvZiB0aGUgbGluZSBkbyBub3QgbWF0Y2ggdGhlIHYpLS4xNSBGIC4zMjEoYWx1ZSBvZiktLjI1IEYgRjEKKyhjb21tZW50XDI1NWJlZ2luKTIuODIxIEUgRjAgMi44MjIoLHQpQyAuMzIyKGhlIHYpLTIuODIyIEYgLjMyMihhbHVlIGlzKQorLS4yNSBGIC44MzIoaW5zZXJ0ZWQsIG90aGVyd2lzZSB0aGUgY2hhcmFjdGVycyBpbikxNDQgMjA0IFIgRjEKKyhjb21tZW50XDI1NWJlZ2luKTMuMzMyIEUgRjAgLjgzMShhcmUgZGVsZXRlZCBmcm9tIHRoZSBiZSkzLjMzMiBGIC44MzEKKyhnaW5uaW5nIG9mIHRoZSBsaW5lLiktLjE1IEYgMS40NjgKKyhJbiBlaXRoZXIgY2FzZSwgdGhlIGxpbmUgaXMgYWNjZXB0ZWQgYXMgaWYgYSBuZSkxNDQgMjE2IFIgMS40NjgKKyh3bGluZSBoYWQgYmVlbiB0eXBlZC4pLS4yNSBGIDEuNDY5KFRoZSBkZWYpNi40NjkgRiAxLjQ2OShhdWx0IHYpLS4xIEYKKzEuNDY5KGFsdWUgb2YpLS4yNSBGIEYxKGNvbS0pMy45NjkgRShtZW50XDI1NWJlZ2luKTE0NCAyMjggUSBGMCAuODQKKyhjYXVzZXMgdGhpcyBjb21tYW5kIHRvIG1haykzLjM0IEYgMy4zMzkoZXQpLS4xIEcgLjgzOQorKGhlIGN1cnJlbnQgbGluZSBhIHNoZWxsIGNvbW1lbnQuKS0zLjMzOSBGIC44MzkoSWYgYSBudW1lcmljIGFyKTUuODM5IEYKKyhndS0pLS4xOCBFKG1lbnQgY2F1c2VzIHRoZSBjb21tZW50IGNoYXJhY3RlciB0byBiZSByZW1vKTE0NCAyNDAgUSAtLjE1CisodmUpLS4xNSBHKGQsIHRoZSBsaW5lIHdpbGwgYmUgZSkuMTUgRSAtLjE1KHhlKS0uMTUgRworKGN1dGVkIGJ5IHRoZSBzaGVsbC4pLjE1IEUgRjEoZ2xvYlwyNTVjb21wbGV0ZVwyNTV3KTEwOCAyNTIgUQorKG9yZCBcKE1cMjU1Z1wpKS0uMSBFIEYwIC43OTEoVGhlIHcpMTQ0IDI2NCBSIC43OTEKKyhvcmQgYmVmb3JlIHBvaW50IGlzIHRyZWF0ZWQgYXMgYSBwYXR0ZXJuIGZvciBwYXRobmFtZSBlKS0uMSBGIC43OTIKKyh4cGFuc2lvbiwgd2l0aCBhbiBhc3RlcmlzayBpbXBsaWNpdGx5KS0uMTUgRiAyLjUoYXBwZW5kZWQuIFRoaXMpMTQ0IDI3NgorUihwYXR0ZXJuIGlzIHVzZWQgdG8gZ2VuZXJhdGUgYSBsaXN0IG9mIG1hdGNoaW5nIFwyMTRsZSBuYW1lcyBmb3IgcG9zc2lcCitibGUgY29tcGxldGlvbnMuKTIuNSBFIEYxKGdsb2JcMjU1ZXhwYW5kXDI1NXcpMTA4IDI4OCBRCisob3JkIFwoQ1wyNTV4ICpcKSktLjEgRSBGMCAuMzcyKFRoZSB3KTE0NCAzMDAgUiAuMzcyCisob3JkIGJlZm9yZSBwb2ludCBpcyB0cmVhdGVkIGFzIGEgcGF0dGVybiBmb3IgcGF0aG5hbWUgZSktLjEgRiAuMzcxCisoeHBhbnNpb24sIGFuZCB0aGUgbGlzdCBvZiBtYXRjaGluZyBcMjE0bGUpLS4xNSBGIC41MTYKKyhuYW1lcyBpcyBpbnNlcnRlZCwgcmVwbGFjaW5nIHRoZSB3KTE0NCAzMTIgUiAzLjAxNihvcmQuIElmKS0uMSBGIDMuMDE2CisoYW4pMy4wMTYgRyAuNTE2KHVtZXJpYyBhciktMy4wMTYgRiAuNTE2CisoZ3VtZW50IGlzIHN1cHBsaWVkLCBhbiBhc3RlcmlzayBpcyBhcHBlbmRlZCktLjE4IEYoYmVmb3JlIHBhdGhuYW1lIGUpCisxNDQgMzI0IFEoeHBhbnNpb24uKS0uMTUgRSBGMShnbG9iXDI1NWxpc3RcMjU1ZXhwYW5zaW9ucyBcKENcMjU1eCBnXCkpCisxMDggMzM2IFEgRjAgLjkyMyhUaGUgbGlzdCBvZiBlKTE0NCAzNDggUiAuOTIzKHhwYW5zaW9ucyB0aGF0IHcpLS4xNSBGCisuOTIzKG91bGQgaGEpLS4xIEYgMS4yMjMgLS4xNSh2ZSBiKS0uMiBIIC45MjMoZWVuIGdlbmVyYXRlZCBieSkuMTUgRiBGMQorKGdsb2JcMjU1ZXhwYW5kXDI1NXcpMy40MjMgRShvcmQpLS4xIEUgRjAgLjkyMyhpcyBkaXNwbGF5ZWQsIGFuZCkzLjQyMyBGCisuODcyKHRoZSBsaW5lIGlzIHJlZHJhKTE0NCAzNjAgUiAzLjM3Mih3bi4gSWYpLS4xNSBGIDMuMzcyKGFuKTMuMzcyIEcKKy44NzIodW1lcmljIGFyKS0zLjM3MiBGIC44NzIKKyhndW1lbnQgaXMgc3VwcGxpZWQsIGFuIGFzdGVyaXNrIGlzIGFwcGVuZGVkIGJlZm9yZSBwYXRobmFtZSktLjE4IEYgLS4xNQorKGV4KTE0NCAzNzIgUyhwYW5zaW9uLikuMTUgRSBGMShkdW1wXDI1NWZ1bmN0aW9ucykxMDggMzg0IFEgRjAgLjYyNworKFByaW50IGFsbCBvZiB0aGUgZnVuY3Rpb25zIGFuZCB0aGVpciBrKTE0NCAzOTYgUiAuOTI3IC0uMTUoZXkgYiktLjEgSAorLjYyNihpbmRpbmdzIHRvIHRoZSByZWFkbGluZSBvdXRwdXQgc3RyZWFtLikuMTUgRiAuNjI2KElmIGEgbnVtZXJpYyBhcikKKzUuNjI2IEYoZ3UtKS0uMTggRQorKG1lbnQgaXMgc3VwcGxpZWQsIHRoZSBvdXRwdXQgaXMgZm9ybWF0dGVkIGluIHN1Y2ggYSB3KTE0NCA0MDggUQorKGF5IHRoYXQgaXQgY2FuIGJlIG1hZGUgcGFydCBvZiBhbiktLjEgRS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihpbnB1dHIpCisyLjUgRShjKS0uMzcgRSBGMChcMjE0bGUuKTIuNSBFIEYxKGR1bXBcMjU1dikxMDggNDIwIFEoYXJpYWJsZXMpLS4xIEUgRjAKKzEuNzk5KFByaW50IGFsbCBvZiB0aGUgc2V0dGFibGUgcmVhZGxpbmUgdikxNDQgNDMyIFIgMS43OTkKKyhhcmlhYmxlcyBhbmQgdGhlaXIgdiktLjI1IEYgMS44KGFsdWVzIHRvIHRoZSByZWFkbGluZSBvdXRwdXQgc3RyZWFtLikKKy0uMjUgRiAxLjgoSWYgYSk2LjggRiAuMzA1KG51bWVyaWMgYXIpMTQ0IDQ0NCBSIC4zMDQKKyhndW1lbnQgaXMgc3VwcGxpZWQsIHRoZSBvdXRwdXQgaXMgZm9ybWF0dGVkIGluIHN1Y2ggYSB3KS0uMTggRiAuMzA0CisoYXkgdGhhdCBpdCBjYW4gYmUgbWFkZSBwYXJ0IG9mIGFuKS0uMSBGIEYyKGlucHV0cikxNDQgNDU2IFEoYyktLjM3IEUgRjAKKyhcMjE0bGUuKTIuNSBFIEYxKGR1bXBcMjU1bWFjcikxMDggNDY4IFEob3MpLS4xOCBFIEYwIC41OTIKKyhQcmludCBhbGwgb2YgdGhlIHJlYWRsaW5lIGspMTQ0IDQ4MCBSIC44OTIgLS4xNShleSBzKS0uMSBIIC41OTIKKyhlcXVlbmNlcyBib3VuZCB0byBtYWNyb3MgYW5kIHRoZSBzdHJpbmdzIHRoZSkuMTUgRiAzLjA5Myh5byktLjE1IEcKKzMuMDkzKHV0cHV0LiBJZiktMy4wOTMgRiAzLjA5MyhhbikzLjA5MyBHKHVtZXJpYyktMy4wOTMgRShhcikxNDQgNDkyIFEKKy41MjgoZ3VtZW50IGlzIHN1cHBsaWVkLCB0aGUgb3V0cHV0IGlzIGZvcm1hdHRlZCBpbiBzdWNoIGEgdyktLjE4IEYgLjUyOAorKGF5IHRoYXQgaXQgY2FuIGJlIG1hZGUgcGFydCBvZiBhbiktLjEgRiBGMihpbnB1dHIpMy4wMjcgRShjKS0uMzcgRSBGMAorKFwyMTRsZS4pMTQ0IDUwNCBRIEYxKGRpc3BsYXlcMjU1c2hlbGxcMjU1dikxMDggNTE2IFEKKyhlcnNpb24gXChDXDI1NXggQ1wyNTV2XCkpLS4xIEUgRjAoRGlzcGxheSB2KTE0NCA1MjggUQorKGVyc2lvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBpbnN0YW5jZSBvZiktLjE1IEUgRjEoYmFzaCkyLjUgRQorRjAoLilBIEYxKFByKTg3IDU0NC44IFEob2dyYW1tYWJsZSBDb21wbGV0aW9uKS0uMTggRSBGMCAuMTQ2KFdoZW4gdykxMDgKKzU1Ni44IFIgLjE0NyhvcmQgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgZm9yIGFuIGFyKS0uMSBGIC4xNDcKKyhndW1lbnQgdG8gYSBjb21tYW5kIGZvciB3aGljaCBhIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIFwoYSktLjE4IEYKK0YyKGNvbXBzcGVjKTEwOCA1NjguOCBRIEYwIDMuODI5KFwpaClDIDEuMzI5CisoYXMgYmVlbiBkZVwyMTRuZWQgdXNpbmcgdGhlKS0zLjgyOSBGIEYxKGNvbXBsZXRlKTMuODI5IEUgRjAgLS4yKGJ1KQorMy44MjkgRyAxLjMyOShpbHRpbiBcKHNlZSkuMiBGL0YzIDkvVGltZXMtQm9sZEAwIFNGIDEuMzI5KFNIRUxMIEIpMy44MjkKK0YoVUlMKS0uMDkgRSAxLjMyOShUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTMuNTc5IEUgMS4zMjgod1wpLCB0aGUpCistLjI1IEYocHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZikxMDggNTgwLjggUShhY2lsaXRpZXMgYXJlIGluKS0uMSBFIC0uMgorKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQuKS4xIEUgLjQ5NworKEZpcnN0LCB0aGUgY29tbWFuZCBuYW1lIGlzIGlkZW50aVwyMTRlZC4pMTA4IDU5Ny42IFIgLjQ5NworKElmIHRoZSBjb21tYW5kIHcpNS40OTcgRiAuNDk4Cisob3JkIGlzIHRoZSBlbXB0eSBzdHJpbmcgXChjb21wbGV0aW9uIGF0dGVtcHRlZCBhdCktLjEgRiAuMjM0KHRoZSBiZSkxMDgKKzYwOS42IFIgLjIzMyhnaW5uaW5nIG9mIGFuIGVtcHR5IGxpbmVcKSwgYW4pLS4xNSBGIDIuNzMzKHljKS0uMTUgRyAuMjMzCisob21wc3BlYyBkZVwyMTRuZWQgd2l0aCB0aGUpLTIuNzMzIEYgRjE8YWQ0NT4yLjczMyBFIEYwIC4yMzMob3B0aW9uIHRvKQorMi43MzMgRiBGMShjb21wbGV0ZSkyLjczMyBFIEYwIC4yMzMoaXMgdXNlZC4pMi43MzMgRiAuMjMzKElmIGEgY29tcC0pCis1LjIzMyBGIC40ODEoc3BlYyBoYXMgYmVlbiBkZVwyMTRuZWQgZm9yIHRoYXQgY29tbWFuZCwgdGhlIGNvbXBzcGVjIGlzIFwKK3VzZWQgdG8gZ2VuZXJhdGUgdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMpMTA4IDYyMS42IFIgLjgyMworKGZvciB0aGUgdykxMDggNjMzLjYgUiAzLjMyMyhvcmQuIElmKS0uMSBGIC44MjModGhlIGNvbW1hbmQgdykzLjMyMyBGCisuODIyKG9yZCBpcyBhIGZ1bGwgcGF0aG5hbWUsIGEgY29tcHNwZWMgZm9yIHRoZSBmdWxsIHBhdGhuYW1lIGlzIHNlYXJjaFwKK2VkIGZvciktLjEgRiAyLjg2NihcMjE0cnN0LiBJZikxMDggNjQ1LjYgUiAuMzY3KG5vIGNvbXBzcGVjIGlzIGZvdW5kIGZvXAorciB0aGUgZnVsbCBwYXRobmFtZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIFwyMTRuZCBhIGNvbXBzcGVjIGZvciB0aGUgcG9cCitydGlvbikyLjg2NiBGKGZvbGxvKTEwOCA2NTcuNiBRIC4yOTkod2luZyB0aGUgXDIxNG5hbCBzbGFzaC4pLS4yNSBGIC4yOTgKKyhJZiB0aG9zZSBzZWFyY2hlcyBkbyBub3QgcmVzdWx0IGluIGEgY29tcHNwZWMsIGFuKTUuMjk5IEYgMi43OTgoeWMpLS4xNQorRyAuMjk4KG9tcHNwZWMgZGVcMjE0bmVkIHdpdGggdGhlKS0yLjc5OCBGIEYxPGFkNDQ+Mi43OTggRSBGMChvcHRpb24gdG8pCisxMDggNjY5LjYgUSBGMShjb21wbGV0ZSkyLjUgRSBGMChpcyB1c2VkIGFzIHRoZSBkZWYpMi41IEUoYXVsdC4pLS4xIEUKKy44MTcoT25jZSBhIGNvbXBzcGVjIGhhcyBiZWVuIGZvdW5kLCBpdCBpcyB1c2VkIHRvIGdlbmVyYXRlIHRoZSBsaXN0IG9mXAorIG1hdGNoaW5nIHcpMTA4IDY4Ni40IFIgMy4zMTcob3Jkcy4gSWYpLS4xIEYgMy4zMTcoYWMpMy4zMTcgRyAuODE3Cisob21wc3BlYyBpcyBub3QpLTMuMzE3IEYoZm91bmQsIHRoZSBkZWYpMTA4IDY5OC40IFEoYXVsdCktLjEgRSBGMShiYXNoKQogMi41IEUgRjAoY29tcGxldGlvbiBhcyBkZXNjcmliZWQgYWJvKTIuNSBFIC4zIC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUKLUUgRjEoQ29tcGxldGluZykyLjUgRSBGMChpcyBwZXJmb3JtZWQuKTIuNSBFIC40NjMKLShGaXJzdCwgdGhlIGFjdGlvbnMgc3BlY2lcMjE0ZWQgYnkgdGhlIGNvbXBzcGVjIGFyZSB1c2VkLikxMDggMTg5LjYgUgotLjQ2NChPbmx5IG1hdGNoZXMgd2hpY2ggYXJlIHByZVwyMTR4KTUuNDY0IEYgLjQ2NChlZCBieSB0aGUgdyktLjE1IEYKLS40NjQob3JkIGJlaW5nKS0uMSBGIC41OTYoY29tcGxldGVkIGFyZSByZXR1cm5lZC4pMTA4IDIwMS42IFIgLjU5NgotKFdoZW4gdGhlKTUuNTk2IEYgRjE8YWQ2Nj4zLjA5NiBFIEYwKG9yKTMuMDk1IEUgRjE8YWQ2ND4zLjA5NSBFIEYwIC41OTUKK0UgRjEoQ29tcGxldGluZykyLjUgRSBGMChpcyBwZXJmb3JtZWQuKTIuNSBFIC40NjQKKyhGaXJzdCwgdGhlIGFjdGlvbnMgc3BlY2lcMjE0ZWQgYnkgdGhlIGNvbXBzcGVjIGFyZSB1c2VkLikxMDggNzE1LjIgUgorLjQ2MyhPbmx5IG1hdGNoZXMgd2hpY2ggYXJlIHByZVwyMTR4KTUuNDY0IEYgLjQ2MyhlZCBieSB0aGUgdyktLjE1IEYKKy40NjMob3JkIGJlaW5nKS0uMSBGIC41OTUoY29tcGxldGVkIGFyZSByZXR1cm5lZC4pMTA4IDcyNy4yIFIgLjU5NQorKFdoZW4gdGhlKTUuNTk1IEYgRjE8YWQ2Nj4zLjA5NSBFIEYwKG9yKTMuMDk1IEUgRjE8YWQ2ND4zLjA5NSBFIEYwIC41OTYKIChvcHRpb24gaXMgdXNlZCBmb3IgXDIxNGxlbmFtZSBvciBkaXJlY3RvcnkgbmFtZSBjb21wbGV0aW9uLCB0aGUpMy4wOTUgRgotKHNoZWxsIHYpMTA4IDIxMy42IFEoYXJpYWJsZSktLjI1IEUvRjIgOS9UaW1lcy1Cb2xkQDAgU0YoRklHTk9SRSkyLjUgRQotRjAoaXMgdXNlZCB0byBcMjE0bHRlciB0aGUgbWF0Y2hlcy4pMi4yNSBFKEFuKTEwOCAyMzAuNCBRIDQuMDg0KHljKS0uMTUKLUcgMS41ODQob21wbGV0aW9ucyBzcGVjaVwyMTRlZCBieSBhIHBhdGhuYW1lIGUpLTQuMDg0IEYgMS41ODQKLSh4cGFuc2lvbiBwYXR0ZXJuIHRvIHRoZSktLjE1IEYgRjE8YWQ0Nz40LjA4NCBFIEYwIDEuNTg0Ci0ob3B0aW9uIGFyZSBnZW5lcmF0ZWQgbmUpNC4wODQgRiA0LjA4NCh4dC4gVGhlKS0uMTUgRiAtLjEod28pMTA4IDI0Mi40IFMKLS41NTUocmRzIGdlbmVyYXRlZCBieSB0aGUgcGF0dGVybiBuZWVkIG5vdCBtYXRjaCB0aGUgdykuMSBGIC41NTQKLShvcmQgYmVpbmcgY29tcGxldGVkLiktLjEgRihUaGUpNS41NTQgRSBGMihHTE9CSUdOT1JFKTMuMDU0IEUgRjAgLjU1NAotKHNoZWxsIHYpMi44MDQgRihhcmktKS0uMjUgRQotKGFibGUgaXMgbm90IHVzZWQgdG8gXDIxNGx0ZXIgdGhlIG1hdGNoZXMsIGIpMTA4IDI1NC40IFEodXQgdGhlKS0uMiBFIEYyCi0oRklHTk9SRSkyLjUgRSBGMCAtLjI1KHZhKTIuMjUgRyhyaWFibGUgaXMgdXNlZC4pLjI1IEUoTmUpMTA4IDI3MS4yIFEKLS4zMih4dCwgdGhlIHN0cmluZyBzcGVjaVwyMTRlZCBhcyB0aGUgYXIpLS4xNSBGIC4zMihndW1lbnQgdG8gdGhlKS0uMTggRgotRjE8YWQ1Nz4yLjgyIEUgRjAgLjMyMShvcHRpb24gaXMgY29uc2lkZXJlZC4pMi44MjEgRiAuMzIxCi0oVGhlIHN0cmluZyBpcyBcMjE0cnN0IHNwbGl0IHVzaW5nIHRoZSk1LjMyMSBGIC40MTMoY2hhcmFjdGVycyBpbiB0aGUpCi0xMDggMjgzLjIgUiBGMihJRlMpMi45MTMgRSBGMCAuNDEyKHNwZWNpYWwgdikyLjY2MyBGIC40MTIKLShhcmlhYmxlIGFzIGRlbGltaXRlcnMuKS0uMjUgRiAuNDEyKFNoZWxsIHF1b3RpbmcgaXMgaG9ub3JlZC4pNS40MTIgRgotLjQxMihFYWNoIHcpNS40MTIgRiAuNDEyKG9yZCBpcyB0aGVuIGUpLS4xIEYoeHBhbmRlZCktLjE1IEUgLjA5MQotKHVzaW5nIGJyYWNlIGUpMTA4IDI5NS4yIFIgLjA5MSh4cGFuc2lvbiwgdGlsZGUgZSktLjE1IEYgLjA5MgotKHhwYW5zaW9uLCBwYXJhbWV0ZXIgYW5kIHYpLS4xNSBGIC4wOTIoYXJpYWJsZSBlKS0uMjUgRiAuMDkyCi0oeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhbmQgYXJpdGgtKS0uMTUgRiAxLjM5NyhtZXRpYyBlKTEwOAotMzA3LjIgUiAxLjM5Nih4cGFuc2lvbiwgYXMgZGVzY3JpYmVkIGFibyktLjE1IEYgMS42OTYgLS4xNSh2ZSB1KS0uMTUgSAotKG5kZXIpLjE1IEUgRjIoRVhQKTMuODk2IEUoQU5TSU9OKS0uNjY2IEUvRjMgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMAotMS4zOTYoVGhlIHJlc3VsdHMgYXJlIHNwbGl0IHVzaW5nIHRoZSBydWxlcyBkZXNjcmliZWQpNS44OTYgRihhYm8pMTA4Ci0zMTkuMiBRIC41MDkgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYxIC0uNzUoV28pMi43MDkgRyAuMjA5Ci0ocmQgU3BsaXR0aW5nKS43NSBGIEYwIDUuMjA5KC5UKUMgLjIwOShoZSByZXN1bHRzIG9mIHRoZSBlKS01LjIwOSBGIC4yMDkKLSh4cGFuc2lvbiBhcmUgcHJlXDIxNHgtbWF0Y2hlZCBhZyktLjE1IEYgLjIxKGFpbnN0IHRoZSB3KS0uMDUgRiAuMjEKLShvcmQgYmVpbmcgY29tLSktLjEgRihwbGV0ZWQsIGFuZCB0aGUgbWF0Y2hpbmcgdykxMDggMzMxLjIgUQotKG9yZHMgYmVjb21lIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucy4pLS4xIEUgMS4yMzgKLShBZnRlciB0aGVzZSBtYXRjaGVzIGhhKTEwOCAzNDggUiAxLjUzOCAtLjE1KHZlIGIpLS4yIEggMS4yMzgKLShlZW4gZ2VuZXJhdGVkLCBhbikuMTUgRiAzLjczOCh5cyktLjE1IEcgMS4yMzcKLShoZWxsIGZ1bmN0aW9uIG9yIGNvbW1hbmQgc3BlY2lcMjE0ZWQgd2l0aCB0aGUpLTMuNzM4IEYgRjE8YWQ0Nj4zLjczNyBFCi1GMChhbmQpMy43MzcgRSBGMTxhZDQzPjMuNzM3IEUgRjAgMy4zNzUob3B0aW9ucyBpcyBpbikxMDggMzYwIFIgLS4yKHZvKQotLS40IEcgLS4xKGtlKS4yIEcgNS44NzUoZC4gV2hlbikuMSBGIDMuMzc1Ci0odGhlIGNvbW1hbmQgb3IgZnVuY3Rpb24gaXMgaW4pNS44NzUgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMy4zNzUKLShkLCB0aGUpLjEgRiBGMihDT01QX0xJTkUpNS44NzYgRSBGMygsKUEgRjIoQ09NUF9QT0lOVCk1LjYyNiBFIEYzKCwpQSBGMgotKENPTVBfS0VZKTEwOCAzNzIgUSBGMygsKUEgRjAoYW5kKTIuNDA4IEUgRjIoQ09NUF9UWVBFKTIuNjU4IEUgRjAgLS4yNQotKHZhKTIuNDA4IEcgLjE1NyhyaWFibGVzIGFyZSBhc3NpZ25lZCB2KS4yNSBGIC4xNTcKLShhbHVlcyBhcyBkZXNjcmliZWQgYWJvKS0uMjUgRiAuNDU3IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMSAuMTU3Ci0oU2hlbGwgVikyLjY1NyBGKGFyaWFibGVzKS0uOTIgRSBGMCA1LjE1NyguSSlDKGYpLTUuMTU3IEUgMy40ODUoYXMpMTA4Ci0zODQgUyAuOTg2KGhlbGwgZnVuY3Rpb24gaXMgYmVpbmcgaW4pLTMuNDg1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHCi0uOTg2KGQsIHRoZSkuMSBGIEYyKENPTVBfVykzLjQ4NiBFKE9SRFMpLS4wOSBFIEYwKGFuZCkzLjIzNiBFIEYyCi0oQ09NUF9DVykzLjQ4NiBFKE9SRCktLjA5IEUgRjAgLS4yNSh2YSkzLjIzNiBHIC45ODYKLShyaWFibGVzIGFyZSBhbHNvIHNldC4pLjI1IEYoV2hlbik1Ljk4NiBFIC42MDkKLSh0aGUgZnVuY3Rpb24gb3IgY29tbWFuZCBpcyBpbikxMDggMzk2IFIgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIC42MDgKLShkLCB0aGUgXDIxNHJzdCBhcikuMSBGIC42MDgoZ3VtZW50IGlzIHRoZSBuYW1lIG9mIHRoZSBjb21tYW5kIHdob3NlIGFyKQotLS4xOCBGIC42MDgoZ3VtZW50cyBhcmUpLS4xOCBGIC4wNzMoYmVpbmcgY29tcGxldGVkLCB0aGUgc2Vjb25kIGFyKTEwOAotNDA4IFIgLjA3MyhndW1lbnQgaXMgdGhlIHcpLS4xOCBGIC4wNzMKLShvcmQgYmVpbmcgY29tcGxldGVkLCBhbmQgdGhlIHRoaXJkIGFyKS0uMSBGIC4wNzMoZ3VtZW50IGlzIHRoZSB3KS0uMTggRgotLjA3MyhvcmQgcHJlLSktLjEgRiAuNjA4KGNlZGluZyB0aGUgdykxMDggNDIwIFIgLjYwNwotKG9yZCBiZWluZyBjb21wbGV0ZWQgb24gdGhlIGN1cnJlbnQgY29tbWFuZCBsaW5lLiktLjEgRiAuNjA3Ci0oTm8gXDIxNGx0ZXJpbmcgb2YgdGhlIGdlbmVyYXRlZCBjb21wbGV0aW9ucyk1LjYwNyBGKGFnKTEwOCA0MzIgUSAuMDkzCi0oYWluc3QgdGhlIHcpLS4wNSBGIC4wOTMob3JkIGJlaW5nIGNvbXBsZXRlZCBpcyBwZXJmb3JtZWQ7IHRoZSBmdW5jdGlvblwKLSBvciBjb21tYW5kIGhhcyBjb21wbGV0ZSBmcmVlZG9tIGluIGdlbmVyYXQtKS0uMSBGKGluZyB0aGUgbWF0Y2hlcy4pMTA4Ci00NDQgUShBbikxMDggNDYwLjggUSAyLjkzOCh5ZiktLjE1IEcgLjQzNyh1bmN0aW9uIHNwZWNpXDIxNGVkIHdpdGgpCi0tMi45MzggRiBGMTxhZDQ2PjIuOTM3IEUgRjAgLjQzNyhpcyBpbikyLjkzNyBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRwotMi45Mzc8NjQ4Yz4uMSBHIDIuOTM3KHJzdC4gVGhlKS0yLjkzNyBGIC40MzcoZnVuY3Rpb24gbWF5IHVzZSBhbikyLjkzNyBGCi0yLjkzNyh5byktLjE1IEcgMi45MzcoZnQpLTIuOTM3IEcgLjQzNyhoZSBzaGVsbCBmKS0yLjkzNyBGIC40MzcKLShhY2lsaXRpZXMsIGluY2x1ZGluZyktLjEgRih0aGUpMTA4IDQ3Mi44IFEgRjEoY29tcGdlbikyLjk1NiBFIEYwIC0uMgotKGJ1KTIuOTU2IEcgLjQ1NihpbHRpbiBkZXNjcmliZWQgYmVsbykuMiBGIDEuNzU2IC0uNjUodywgdCktLjI1IEggMi45NTYKLShvZykuNjUgRyAuNDU2KGVuZXJhdGUgdGhlIG1hdGNoZXMuKS0yLjk1NiBGIC40NTcKLShJdCBtdXN0IHB1dCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgaW4gdGhlKTUuNDU2IEYgRjIoQ09NUFJFUEwpMTA4Ci00ODQuOCBRKFkpLS44MjggRSBGMChhcnJheSB2KTIuMjUgRShhcmlhYmxlLiktLjI1IEUoTmUpMTA4IDUwMS42IFEgLjA4MQotKHh0LCBhbiktLjE1IEYgMi41ODEoeWMpLS4xNSBHIC4wODEob21tYW5kIHNwZWNpXDIxNGVkIHdpdGggdGhlKS0yLjU4MSBGCi1GMTxhZDQzPjIuNTgxIEUgRjAgLjA4MShvcHRpb24gaXMgaW4pMi41ODEgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcKLTIuNTgxKGRpKS4xIEcgMi41OChuYSktMi41ODEgRyAyLjU4KG5lKS0yLjU4IEcgLS40KG52KS0yLjU4IEcgLjA4Ci0oaXJvbm1lbnQgZXF1aSkuNCBGIC0uMjUodmEpLS4yNSBHIC4wOChsZW50IHRvIGNvbW1hbmQgc3ViLSkuMjUgRiAyLjg1OAotKHN0aXR1dGlvbi4gSXQpMTA4IDUxMy42IFIgLjM1OShzaG91bGQgcHJpbnQgYSBsaXN0IG9mIGNvbXBsZXRpb25zLCBvbmVcCi0gcGVyIGxpbmUsIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuKTIuODU4IEYgLjM1OShCYWNrc2xhc2ggbWF5IGJlIHVzZWQpCi01LjM1OSBGKHRvIGVzY2FwZSBhIG5lKTEwOCA1MjUuNiBRKHdsaW5lLCBpZiBuZWNlc3NhcnkpLS4yNSBFKC4pLS42NSBFCi0uMzc3KEFmdGVyIGFsbCBvZiB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIGdlbmVyYXRlZCwgYW4pMTA4IDU0Mi40IFIKLTIuODc3PDc5OGM+LS4xNSBHIC4zNzcobHRlciBzcGVjaVwyMTRlZCB3aXRoIHRoZSktMi44NzcgRiBGMTxhZDU4PjIuODc2Ci1FIEYwIC4zNzYob3B0aW9uIGlzIGFwcGxpZWQgdG8gdGhlKTIuODc2IEYgMy4xODEobGlzdC4gVGhlKTEwOCA1NTQuNCBSCi0uNjgxKFwyMTRsdGVyIGlzIGEgcGF0dGVybiBhcyB1c2VkIGZvciBwYXRobmFtZSBlKTMuMTgxIEYgLjY4MQotKHhwYW5zaW9uOyBhKS0uMTUgRiBGMSgmKTMuMTgxIEUgRjAgLjY4MgotKGluIHRoZSBwYXR0ZXJuIGlzIHJlcGxhY2VkIHdpdGggdGhlIHRlKTMuMTgyIEYgLjY4Mih4dCBvZiktLjE1IEYgLjUyMwotKHRoZSB3KTEwOCA1NjYuNCBSIC41MjMob3JkIGJlaW5nIGNvbXBsZXRlZC4pLS4xIEYgMy4wMjMoQWwpNS41MjMgRwotKGl0ZXJhbCktMy4wMjMgRSBGMSgmKTMuMDIzIEUgRjAgLjUyMgotKG1heSBiZSBlc2NhcGVkIHdpdGggYSBiYWNrc2xhc2g7IHRoZSBiYWNrc2xhc2ggaXMgcmVtbykzLjAyMiBGIC0uMTUodmUpCi0tLjE1IEcgMy4wMjIoZGIpLjE1IEcoZWZvcmUpLTMuMDIyIEUgLjg0OShhdHRlbXB0aW5nIGEgbWF0Y2guKTEwOCA1NzguNAotUihBbik1Ljg0OSBFIDMuMzQ5KHljKS0uMTUgRyAuODQ5Ci0ob21wbGV0aW9uIHRoYXQgbWF0Y2hlcyB0aGUgcGF0dGVybiB3aWxsIGJlIHJlbW8pLTMuMzQ5IEYgLS4xNSh2ZSktLjE1IEcKLTMuMzUoZGYpLjE1IEcgLjg1KHJvbSB0aGUgbGlzdC4pLTMuMzUgRiAzLjM1KEFsKTUuODUgRyhlYWRpbmcpLTMuMzUgRSBGMQotKCEpMy4zNSBFIEYwKG5lKTEwOCA1OTAuNCBRIC0uMDUoZ2EpLS4xNSBHCi0odGVzIHRoZSBwYXR0ZXJuOyBpbiB0aGlzIGNhc2UgYW4pLjA1IEUgMi41KHljKS0uMTUgRwotKG9tcGxldGlvbiBub3QgbWF0Y2hpbmcgdGhlIHBhdHRlcm4gd2lsbCBiZSByZW1vKS0yLjUgRSAtLjE1KHZlKS0uMTUgRwotKGQuKS4xNSBFKEZpbmFsbHkpMTA4IDYwNy4yIFEgMy4wODcoLGEpLS42NSBHIC44ODcgLS4xNShueSBwKS0zLjA4NyBICi0uNTg3KHJlXDIxNHggYW5kIHN1ZikuMTUgRiAuNTg3KFwyMTR4IHNwZWNpXDIxNGVkIHdpdGggdGhlKS0uMjUgRiBGMQotPGFkNTA+My4wODcgRSBGMChhbmQpMy4wODcgRSBGMTxhZDUzPjMuMDg3IEUgRjAgLjU4NwotKG9wdGlvbnMgYXJlIGFkZGVkIHRvIGVhY2ggbWVtYmVyIG9mIHRoZSBjb20tKTMuMDg3IEYocGxldGlvbiBsaXN0LCBhbmRcCi0gdGhlIHJlc3VsdCBpcyByZXR1cm5lZCB0byB0aGUgcmVhZGxpbmUgY29tcGxldGlvbiBjb2RlIGFzIHRoZSBsaXN0IG9mIFwKLXBvc3NpYmxlIGNvbXBsZXRpb25zLikxMDggNjE5LjIgUSAuMjQ2KElmIHRoZSBwcmUpMTA4IDYzNiBSIC4yNDcKLSh2aW91c2x5LWFwcGxpZWQgYWN0aW9ucyBkbyBub3QgZ2VuZXJhdGUgYW4pLS4yNSBGIDIuNzQ3KHltKS0uMTUgRyAuMjQ3Ci0oYXRjaGVzLCBhbmQgdGhlKS0yLjc0NyBGIEYxIC4yNDcoXDI1NW8gZGlyKTIuNzQ3IEYobmFtZXMpLS4xNSBFIEYwIC4yNDcKLShvcHRpb24gdykyLjc0NyBGIC4yNDcoYXMgc3VwcGxpZWQgdG8pLS4xIEYgRjEoY29tcGxldGUpMTA4IDY0OCBRIEYwCi0od2hlbiB0aGUgY29tcHNwZWMgdykyLjUgRQotKGFzIGRlXDIxNG5lZCwgZGlyZWN0b3J5IG5hbWUgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQuKS0uMSBFIC40NjIKLShJZiB0aGUpMTA4IDY2NC44IFIgRjEgLjQ2MihcMjU1byBwbHVzZGlycykyLjk2MiBGIEYwIC40NjIob3B0aW9uIHcpCi0yLjk2MiBGIC40NjIoYXMgc3VwcGxpZWQgdG8pLS4xIEYgRjEoY29tcGxldGUpMi45NjIgRSBGMCAuNDYyCi0od2hlbiB0aGUgY29tcHNwZWMgdykyLjk2MiBGIC40NjIoYXMgZGVcMjE0bmVkLCBkaXJlY3RvcnkgbmFtZSBjb20tKS0uMQotRihwbGV0aW9uIGlzIGF0dGVtcHRlZCBhbmQgYW4pMTA4IDY3Ni44IFEgMi41KHltKS0uMTUgRwotKGF0Y2hlcyBhcmUgYWRkZWQgdG8gdGhlIHJlc3VsdHMgb2YgdGhlIG90aGVyIGFjdGlvbnMuKS0yLjUgRSAuNTU5Ci0oQnkgZGVmKTEwOCA2OTMuNiBSIC41NTkoYXVsdCwgaWYgYSBjb21wc3BlYyBpcyBmb3VuZCwgd2hhdGUpLS4xIEYgLS4xNQotKHZlKS0uMjUgRyAzLjA1OShyaSkuMTUgRyAzLjA1OSh0ZyktMy4wNTkgRyAuNTYKLShlbmVyYXRlcyBpcyByZXR1cm5lZCB0byB0aGUgY29tcGxldGlvbiBjb2RlIGFzIHRoZSBmdWxsIHNldCktMy4wNTkgRgotLjYzMihvZiBwb3NzaWJsZSBjb21wbGV0aW9ucy4pMTA4IDcwNS42IFIgLjYzMihUaGUgZGVmKTUuNjMyIEYoYXVsdCktLjEKLUUgRjEoYmFzaCkzLjEzMiBFIEYwIC42MzEKLShjb21wbGV0aW9ucyBhcmUgbm90IGF0dGVtcHRlZCwgYW5kIHRoZSByZWFkbGluZSBkZWYpMy4xMzEgRiAuNjMxCi0oYXVsdCBvZiBcMjE0bGUtKS0uMSBGIC41NTgobmFtZSBjb21wbGV0aW9uIGlzIGRpc2FibGVkLikxMDggNzE3LjYgUgotLjU1OChJZiB0aGUpNS41NTggRiBGMSAuNTU5KFwyNTVvIGJhc2hkZWZhdWx0KTMuMDU5IEYgRjAgLjU1OShvcHRpb24gdykKLTMuMDU5IEYgLjU1OShhcyBzdXBwbGllZCB0byktLjEgRiBGMShjb21wbGV0ZSkzLjA1OSBFIEYwIC41NTkKLSh3aGVuIHRoZSBjb21wc3BlYykzLjA1OSBGIC0uMSh3YSkxMDggNzI5LjYgUyAzLjE3MihzZCkuMSBHIC42NzIKLShlXDIxNG5lZCwgdGhlKS0zLjE3MiBGIEYxKGJhc2gpMy4xNzIgRSBGMChkZWYpMy4xNzIgRSAuNjcxCi0oYXVsdCBjb21wbGV0aW9ucyBhcmUgYXR0ZW1wdGVkIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8gbWF0Y2hlcy4pCi0tLjEgRiAuNjcxKElmIHRoZSk1LjY3MSBGIEYxPGFkNmY+My4xNzEgRSBGMChHTlUgQmFzaC00LjEpNzIgNzY4IFEKLSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg0NSkxODUuOTU1IEUgMCBDZyBFUAorKEdOVSBCYXNoLTQuMik3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSg0NSkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA0NiA0NgogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoZGVmYXVsdCkxMDggODQgUSBGMCAxLjIwNyhvcHRpb24gdykzLjcwNiBGCi0xLjIwNyhhcyBzdXBwbGllZCB0byktLjEgRiBGMShjb21wbGV0ZSkzLjcwNyBFIEYwIDEuMjA3Ci0od2hlbiB0aGUgY29tcHNwZWMgdykzLjcwNyBGIDEuMjA3KGFzIGRlXDIxNG5lZCwgcmVhZGxpbmUnKS0uMSBGIDMuNzA3Ci0oc2QpLS41NSBHKGVmKS0zLjcwNyBFIDEuMjA3KGF1bHQgY29tcGxldGlvbiktLjEgRgotKHdpbGwgYmUgcGVyZm9ybWVkIGlmIHRoZSBjb21wc3BlYyBcKGFuZCwgaWYgYXR0ZW1wdGVkLCB0aGUgZGVmKTEwOCA5NiBRCi0oYXVsdCktLjEgRSBGMShiYXNoKTIuNSBFIEYwKGNvbXBsZXRpb25zXCkgZ2VuZXJhdGUgbm8gbWF0Y2hlcy4pMi41IEUKKy0uMzUgRShzaGVsbCB2KTEwOCA4NCBRKGFyaWFibGUpLS4yNSBFL0YxIDkvVGltZXMtQm9sZEAwIFNGKEZJR05PUkUpMi41CitFIEYwKGlzIHVzZWQgdG8gXDIxNGx0ZXIgdGhlIG1hdGNoZXMuKTIuMjUgRShBbikxMDggMTAwLjggUSA0LjA4NCh5YykKKy0uMTUgRyAxLjU4NChvbXBsZXRpb25zIHNwZWNpXDIxNGVkIGJ5IGEgcGF0aG5hbWUgZSktNC4wODQgRiAxLjU4NAorKHhwYW5zaW9uIHBhdHRlcm4gdG8gdGhlKS0uMTUgRi9GMiAxMC9UaW1lcy1Cb2xkQDAgU0Y8YWQ0Nz40LjA4NCBFIEYwCisxLjU4NChvcHRpb24gYXJlIGdlbmVyYXRlZCBuZSk0LjA4NCBGIDQuMDg0KHh0LiBUaGUpLS4xNSBGIC0uMSh3bykxMDgKKzExMi44IFMgLjU1NChyZHMgZ2VuZXJhdGVkIGJ5IHRoZSBwYXR0ZXJuIG5lZWQgbm90IG1hdGNoIHRoZSB3KS4xIEYgLjU1NQorKG9yZCBiZWluZyBjb21wbGV0ZWQuKS0uMSBGKFRoZSk1LjU1NSBFIEYxKEdMT0JJR05PUkUpMy4wNTUgRSBGMCAuNTU1Cisoc2hlbGwgdikyLjgwNSBGKGFyaS0pLS4yNSBFCisoYWJsZSBpcyBub3QgdXNlZCB0byBcMjE0bHRlciB0aGUgbWF0Y2hlcywgYikxMDggMTI0LjggUSh1dCB0aGUpLS4yIEUgRjEKKyhGSUdOT1JFKTIuNSBFIEYwIC0uMjUodmEpMi4yNSBHKHJpYWJsZSBpcyB1c2VkLikuMjUgRShOZSkxMDggMTQxLjYgUQorLjMyMSh4dCwgdGhlIHN0cmluZyBzcGVjaVwyMTRlZCBhcyB0aGUgYXIpLS4xNSBGIC4zMjEoZ3VtZW50IHRvIHRoZSktLjE4CitGIEYyPGFkNTc+Mi44MjEgRSBGMCAuMzIob3B0aW9uIGlzIGNvbnNpZGVyZWQuKTIuODIxIEYgLjMyCisoVGhlIHN0cmluZyBpcyBcMjE0cnN0IHNwbGl0IHVzaW5nIHRoZSk1LjMyIEYgLjQxMihjaGFyYWN0ZXJzIGluIHRoZSkxMDgKKzE1My42IFIgRjEoSUZTKTIuOTEyIEUgRjAgLjQxMihzcGVjaWFsIHYpMi42NjIgRiAuNDEyCisoYXJpYWJsZSBhcyBkZWxpbWl0ZXJzLiktLjI1IEYgLjQxMihTaGVsbCBxdW90aW5nIGlzIGhvbm9yZWQuKTUuNDEyIEYKKy40MTMoRWFjaCB3KTUuNDEyIEYgLjQxMyhvcmQgaXMgdGhlbiBlKS0uMSBGKHhwYW5kZWQpLS4xNSBFIC4wOTIKKyh1c2luZyBicmFjZSBlKTEwOCAxNjUuNiBSIC4wOTIoeHBhbnNpb24sIHRpbGRlIGUpLS4xNSBGIC4wOTIKKyh4cGFuc2lvbiwgcGFyYW1ldGVyIGFuZCB2KS0uMTUgRiAuMDkyKGFyaWFibGUgZSktLjI1IEYgLjA5MQorKHhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRoLSktLjE1IEYgMS4zOTYobWV0aWMgZSkxMDgKKzE3Ny42IFIgMS4zOTYoeHBhbnNpb24sIGFzIGRlc2NyaWJlZCBhYm8pLS4xNSBGIDEuNjk2IC0uMTUodmUgdSktLjE1IEgKKyhuZGVyKS4xNSBFIEYxKEVYUCkzLjg5NiBFKEFOU0lPTiktLjY2NiBFL0YzIDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAKKzEuMzk2KFRoZSByZXN1bHRzIGFyZSBzcGxpdCB1c2luZyB0aGUgcnVsZXMgZGVzY3JpYmVkKTUuODk2IEYoYWJvKTEwOAorMTg5LjYgUSAuNTEgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYyIC0uNzUoV28pMi43MSBHIC4yMQorKHJkIFNwbGl0dGluZykuNzUgRiBGMCA1LjIxKC5UKUMgLjIwOShoZSByZXN1bHRzIG9mIHRoZSBlKS01LjIxIEYgLjIwOQorKHhwYW5zaW9uIGFyZSBwcmVcMjE0eC1tYXRjaGVkIGFnKS0uMTUgRiAuMjA5KGFpbnN0IHRoZSB3KS0uMDUgRiAuMjA5Cisob3JkIGJlaW5nIGNvbS0pLS4xIEYocGxldGVkLCBhbmQgdGhlIG1hdGNoaW5nIHcpMTA4IDIwMS42IFEKKyhvcmRzIGJlY29tZSB0aGUgcG9zc2libGUgY29tcGxldGlvbnMuKS0uMSBFIDEuMjM3CisoQWZ0ZXIgdGhlc2UgbWF0Y2hlcyBoYSkxMDggMjE4LjQgUiAxLjUzNyAtLjE1KHZlIGIpLS4yIEggMS4yMzcKKyhlZW4gZ2VuZXJhdGVkLCBhbikuMTUgRiAzLjczNyh5cyktLjE1IEcgMS4yMzgKKyhoZWxsIGZ1bmN0aW9uIG9yIGNvbW1hbmQgc3BlY2lcMjE0ZWQgd2l0aCB0aGUpLTMuNzM3IEYgRjI8YWQ0Nj4zLjczOCBFCitGMChhbmQpMy43MzggRSBGMjxhZDQzPjMuNzM4IEUgRjAgMy4zNzYob3B0aW9ucyBpcyBpbikxMDggMjMwLjQgUiAtLjIKKyh2byktLjQgRyAtLjEoa2UpLjIgRyA1Ljg3NShkLiBXaGVuKS4xIEYgMy4zNzUKKyh0aGUgY29tbWFuZCBvciBmdW5jdGlvbiBpcyBpbik1Ljg3NSBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAzLjM3NQorKGQsIHRoZSkuMSBGIEYxKENPTVBfTElORSk1Ljg3NSBFIEYzKCwpQSBGMShDT01QX1BPSU5UKTUuNjI1IEUgRjMoLClBIEYxCisoQ09NUF9LRVkpMTA4IDI0Mi40IFEgRjMoLClBIEYwKGFuZCkyLjQwNyBFIEYxKENPTVBfVFlQRSkyLjY1NyBFIEYwIC0uMjUKKyh2YSkyLjQwNyBHIC4xNTcocmlhYmxlcyBhcmUgYXNzaWduZWQgdikuMjUgRiAuMTU3CisoYWx1ZXMgYXMgZGVzY3JpYmVkIGFibyktLjI1IEYgLjQ1NyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjIgLjE1OAorKFNoZWxsIFYpMi42NTggRihhcmlhYmxlcyktLjkyIEUgRjAgNS4xNTgoLkkpQyhmKS01LjE1OCBFIDMuNDg2KGFzKTEwOAorMjU0LjQgUyAuOTg2KGhlbGwgZnVuY3Rpb24gaXMgYmVpbmcgaW4pLTMuNDg2IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHCisuOTg2KGQsIHRoZSkuMSBGIEYxKENPTVBfVykzLjQ4NiBFKE9SRFMpLS4wOSBFIEYwKGFuZCkzLjIzNiBFIEYxCisoQ09NUF9DVykzLjQ4NiBFKE9SRCktLjA5IEUgRjAgLS4yNSh2YSkzLjIzNiBHIC45ODYKKyhyaWFibGVzIGFyZSBhbHNvIHNldC4pLjI1IEYoV2hlbik1Ljk4NSBFIC42MDgKKyh0aGUgZnVuY3Rpb24gb3IgY29tbWFuZCBpcyBpbikxMDggMjY2LjQgUiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgLjYwOAorKGQsIHRoZSBcMjE0cnN0IGFyKS4xIEYgLjYwOChndW1lbnQgaXMgdGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQgd2hvc2UgYXIpCistLjE4IEYgLjYwOShndW1lbnRzIGFyZSktLjE4IEYgLjA3MyhiZWluZyBjb21wbGV0ZWQsIHRoZSBzZWNvbmQgYXIpMTA4CisyNzguNCBSIC4wNzMoZ3VtZW50IGlzIHRoZSB3KS0uMTggRiAuMDczCisob3JkIGJlaW5nIGNvbXBsZXRlZCwgYW5kIHRoZSB0aGlyZCBhciktLjEgRiAuMDczKGd1bWVudCBpcyB0aGUgdyktLjE4IEYKKy4wNzIob3JkIHByZS0pLS4xIEYgLjYwNyhjZWRpbmcgdGhlIHcpMTA4IDI5MC40IFIgLjYwNworKG9yZCBiZWluZyBjb21wbGV0ZWQgb24gdGhlIGN1cnJlbnQgY29tbWFuZCBsaW5lLiktLjEgRiAuNjA4CisoTm8gXDIxNGx0ZXJpbmcgb2YgdGhlIGdlbmVyYXRlZCBjb21wbGV0aW9ucyk1LjYwNyBGKGFnKTEwOCAzMDIuNCBRIC4wOTQKKyhhaW5zdCB0aGUgdyktLjA1IEYgLjA5MyhvcmQgYmVpbmcgY29tcGxldGVkIGlzIHBlcmZvcm1lZDsgdGhlIGZ1bmN0aW9uXAorIG9yIGNvbW1hbmQgaGFzIGNvbXBsZXRlIGZyZWVkb20gaW4gZ2VuZXJhdC0pLS4xIEYoaW5nIHRoZSBtYXRjaGVzLikxMDgKKzMxNC40IFEoQW4pMTA4IDMzMS4yIFEgMi45MzcoeWYpLS4xNSBHIC40MzcodW5jdGlvbiBzcGVjaVwyMTRlZCB3aXRoKQorLTIuOTM3IEYgRjI8YWQ0Nj4yLjkzNyBFIEYwIC40MzcoaXMgaW4pMi45MzcgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcKKzIuOTM3PDY0OGM+LjEgRyAyLjkzNyhyc3QuIFRoZSktMi45MzcgRiAuNDM3KGZ1bmN0aW9uIG1heSB1c2UgYW4pMi45MzcgRgorMi45MzcoeW8pLS4xNSBHIDIuOTM3KGZ0KS0yLjkzNyBHIC40MzcoaGUgc2hlbGwgZiktMi45MzcgRiAuNDM4CisoYWNpbGl0aWVzLCBpbmNsdWRpbmcpLS4xIEYodGhlKTEwOCAzNDMuMiBRIEYyKGNvbXBnZW4pMi45NTcgRSBGMCAtLjIKKyhidSkyLjk1NyBHIC40NTcoaWx0aW4gZGVzY3JpYmVkIGJlbG8pLjIgRiAxLjc1NiAtLjY1KHcsIHQpLS4yNSBIIDIuOTU2Cisob2cpLjY1IEcgLjQ1NihlbmVyYXRlIHRoZSBtYXRjaGVzLiktMi45NTYgRiAuNDU2CisoSXQgbXVzdCBwdXQgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGluIHRoZSk1LjQ1NiBGIEYxKENPTVBSRVBMKTEwOAorMzU1LjIgUShZKS0uODI4IEUgRjAoYXJyYXkgdikyLjI1IEUoYXJpYWJsZS4pLS4yNSBFKE5lKTEwOCAzNzIgUSAuMDgKKyh4dCwgYW4pLS4xNSBGIDIuNTgoeWMpLS4xNSBHIC4wOChvbW1hbmQgc3BlY2lcMjE0ZWQgd2l0aCB0aGUpLTIuNTggRiBGMgorPGFkNDM+Mi41OCBFIEYwIC4wODEob3B0aW9uIGlzIGluKTIuNTgxIEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNTgxCisoZGkpLjEgRyAyLjU4MShuYSktMi41ODEgRyAyLjU4MShuZSktMi41ODEgRyAtLjQobnYpLTIuNTgxIEcgLjA4MQorKGlyb25tZW50IGVxdWkpLjQgRiAtLjI1KHZhKS0uMjUgRyAuMDgxKGxlbnQgdG8gY29tbWFuZCBzdWItKS4yNSBGIDIuODU5Cisoc3RpdHV0aW9uLiBJdCkxMDggMzg0IFIgLjM1OShzaG91bGQgcHJpbnQgYSBsaXN0IG9mIGNvbXBsZXRpb25zLCBvbmUgcFwKK2VyIGxpbmUsIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuKTIuODU5IEYgLjM1OChCYWNrc2xhc2ggbWF5IGJlIHVzZWQpCis1LjM1OSBGKHRvIGVzY2FwZSBhIG5lKTEwOCAzOTYgUSh3bGluZSwgaWYgbmVjZXNzYXJ5KS0uMjUgRSguKS0uNjUgRQorLjM3NihBZnRlciBhbGwgb2YgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSBnZW5lcmF0ZWQsIGFuKTEwOCA0MTIuOCBSCisyLjg3Nzw3OThjPi0uMTUgRyAuMzc3KGx0ZXIgc3BlY2lcMjE0ZWQgd2l0aCB0aGUpLTIuODc3IEYgRjI8YWQ1OD4yLjg3NworRSBGMCAuMzc3KG9wdGlvbiBpcyBhcHBsaWVkIHRvIHRoZSkyLjg3NyBGIDMuMTgyKGxpc3QuIFRoZSkxMDggNDI0LjggUgorLjY4MihcMjE0bHRlciBpcyBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgcGF0aG5hbWUgZSkzLjE4MiBGIC42ODEKKyh4cGFuc2lvbjsgYSktLjE1IEYgRjIoJikzLjE4MSBFIEYwIC42ODEKKyhpbiB0aGUgcGF0dGVybiBpcyByZXBsYWNlZCB3aXRoIHRoZSB0ZSkzLjE4MSBGIC42ODEoeHQgb2YpLS4xNSBGIC41MjIKKyh0aGUgdykxMDggNDM2LjggUiAuNTIyKG9yZCBiZWluZyBjb21wbGV0ZWQuKS0uMSBGIDMuMDIyKEFsKTUuNTIyIEcKKyhpdGVyYWwpLTMuMDIyIEUgRjIoJikzLjAyMiBFIEYwIC41MjMKKyhtYXkgYmUgZXNjYXBlZCB3aXRoIGEgYmFja3NsYXNoOyB0aGUgYmFja3NsYXNoIGlzIHJlbW8pMy4wMjIgRiAtLjE1KHZlKQorLS4xNSBHIDMuMDIzKGRiKS4xNSBHKGVmb3JlKS0zLjAyMyBFIC44NShhdHRlbXB0aW5nIGEgbWF0Y2guKTEwOCA0NDguOCBSCisoQW4pNS44NSBFIDMuMzUoeWMpLS4xNSBHIC44NDkKKyhvbXBsZXRpb24gdGhhdCBtYXRjaGVzIHRoZSBwYXR0ZXJuIHdpbGwgYmUgcmVtbyktMy4zNSBGIC0uMTUodmUpLS4xNSBHCiszLjM0OShkZikuMTUgRyAuODQ5KHJvbSB0aGUgbGlzdC4pLTMuMzQ5IEYgMy4zNDkoQWwpNS44NDkgRyhlYWRpbmcpCistMy4zNDkgRSBGMighKTMuMzQ5IEUgRjAobmUpMTA4IDQ2MC44IFEgLS4wNShnYSktLjE1IEcKKyh0ZXMgdGhlIHBhdHRlcm47IGluIHRoaXMgY2FzZSBhbikuMDUgRSAyLjUoeWMpLS4xNSBHCisob21wbGV0aW9uIG5vdCBtYXRjaGluZyB0aGUgcGF0dGVybiB3aWxsIGJlIHJlbW8pLTIuNSBFIC0uMTUodmUpLS4xNSBHCisoZC4pLjE1IEUoRmluYWxseSkxMDggNDc3LjYgUSAzLjA4NigsYSktLjY1IEcgLjg4NiAtLjE1KG55IHApLTMuMDg2IEgKKy41ODYocmVcMjE0eCBhbmQgc3VmKS4xNSBGIC41ODcoXDIxNHggc3BlY2lcMjE0ZWQgd2l0aCB0aGUpLS4yNSBGIEYyCis8YWQ1MD4zLjA4NyBFIEYwKGFuZCkzLjA4NyBFIEYyPGFkNTM+My4wODcgRSBGMCAuNTg3Cisob3B0aW9ucyBhcmUgYWRkZWQgdG8gZWFjaCBtZW1iZXIgb2YgdGhlIGNvbS0pMy4wODcgRihwbGV0aW9uIGxpc3QsIGFuZFwKKyB0aGUgcmVzdWx0IGlzIHJldHVybmVkIHRvIHRoZSByZWFkbGluZSBjb21wbGV0aW9uIGNvZGUgYXMgdGhlIGxpc3Qgb2YgXAorcG9zc2libGUgY29tcGxldGlvbnMuKTEwOCA0ODkuNiBRIC4yNDcoSWYgdGhlIHByZSkxMDggNTA2LjQgUiAuMjQ3CisodmlvdXNseS1hcHBsaWVkIGFjdGlvbnMgZG8gbm90IGdlbmVyYXRlIGFuKS0uMjUgRiAyLjc0Nyh5bSktLjE1IEcgLjI0NworKGF0Y2hlcywgYW5kIHRoZSktMi43NDcgRiBGMiAuMjQ3KFwyNTVvIGRpcikyLjc0NyBGKG5hbWVzKS0uMTUgRSBGMCAuMjQ3Cisob3B0aW9uIHcpMi43NDcgRiAuMjQ2KGFzIHN1cHBsaWVkIHRvKS0uMSBGIEYyKGNvbXBsZXRlKTEwOCA1MTguNCBRIEYwCisod2hlbiB0aGUgY29tcHNwZWMgdykyLjUgRQorKGFzIGRlXDIxNG5lZCwgZGlyZWN0b3J5IG5hbWUgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQuKS0uMSBFIC40NjEKKyhJZiB0aGUpMTA4IDUzNS4yIFIgRjIgLjQ2MihcMjU1byBwbHVzZGlycykyLjk2MSBGIEYwIC40NjIob3B0aW9uIHcpCisyLjk2MiBGIC40NjIoYXMgc3VwcGxpZWQgdG8pLS4xIEYgRjIoY29tcGxldGUpMi45NjIgRSBGMCAuNDYyCisod2hlbiB0aGUgY29tcHNwZWMgdykyLjk2MiBGIC40NjIoYXMgZGVcMjE0bmVkLCBkaXJlY3RvcnkgbmFtZSBjb20tKS0uMQorRihwbGV0aW9uIGlzIGF0dGVtcHRlZCBhbmQgYW4pMTA4IDU0Ny4yIFEgMi41KHltKS0uMTUgRworKGF0Y2hlcyBhcmUgYWRkZWQgdG8gdGhlIHJlc3VsdHMgb2YgdGhlIG90aGVyIGFjdGlvbnMuKS0yLjUgRSAuNTYKKyhCeSBkZWYpMTA4IDU2NCBSIC41NihhdWx0LCBpZiBhIGNvbXBzcGVjIGlzIGZvdW5kLCB3aGF0ZSktLjEgRiAtLjE1KHZlKQorLS4yNSBHIDMuMDYocmkpLjE1IEcgMy4wNih0ZyktMy4wNiBHIC41NTkKKyhlbmVyYXRlcyBpcyByZXR1cm5lZCB0byB0aGUgY29tcGxldGlvbiBjb2RlIGFzIHRoZSBmdWxsIHNldCktMy4wNiBGCisuNjMxKG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zLikxMDggNTc2IFIgLjYzMShUaGUgZGVmKTUuNjMxIEYoYXVsdCktLjEgRQorRjIoYmFzaCkzLjEzMSBFIEYwIC42MzEKKyhjb21wbGV0aW9ucyBhcmUgbm90IGF0dGVtcHRlZCwgYW5kIHRoZSByZWFkbGluZSBkZWYpMy4xMzEgRiAuNjMyCisoYXVsdCBvZiBcMjE0bGUtKS0uMSBGIC41NTkobmFtZSBjb21wbGV0aW9uIGlzIGRpc2FibGVkLikxMDggNTg4IFIgLjU1OQorKElmIHRoZSk1LjU1OSBGIEYyIC41NTkoXDI1NW8gYmFzaGRlZmF1bHQpMy4wNTkgRiBGMCAuNTU5KG9wdGlvbiB3KTMuMDU5CitGIC41NTkoYXMgc3VwcGxpZWQgdG8pLS4xIEYgRjIoY29tcGxldGUpMy4wNTggRSBGMCAuNTU4Cisod2hlbiB0aGUgY29tcHNwZWMpMy4wNTggRiAtLjEod2EpMTA4IDYwMCBTIDMuMTcxKHNkKS4xIEcgLjY3MQorKGVcMjE0bmVkLCB0aGUpLTMuMTcxIEYgRjIoYmFzaCkzLjE3MSBFIEYwKGRlZikzLjE3MSBFIC42NzEKKyhhdWx0IGNvbXBsZXRpb25zIGFyZSBhdHRlbXB0ZWQgaWYgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBubyBtYXRjaGVzLikKKy0uMSBGIC42NzIoSWYgdGhlKTUuNjcyIEYgRjI8YWQ2Zj4zLjE3MiBFKGRlZmF1bHQpMTA4IDYxMiBRIEYwIDEuMjA3Cisob3B0aW9uIHcpMy43MDcgRiAxLjIwNyhhcyBzdXBwbGllZCB0byktLjEgRiBGMihjb21wbGV0ZSkzLjcwNyBFIEYwCisxLjIwNyh3aGVuIHRoZSBjb21wc3BlYyB3KTMuNzA3IEYgMS4yMDcoYXMgZGVcMjE0bmVkLCByZWFkbGluZScpLS4xIEYKKzMuNzA3KHNkKS0uNTUgRyhlZiktMy43MDcgRSAxLjIwNihhdWx0IGNvbXBsZXRpb24pLS4xIEYKKyh3aWxsIGJlIHBlcmZvcm1lZCBpZiB0aGUgY29tcHNwZWMgXChhbmQsIGlmIGF0dGVtcHRlZCwgdGhlIGRlZikxMDggNjI0CitRKGF1bHQpLS4xIEUgRjIoYmFzaCkyLjUgRSBGMChjb21wbGV0aW9uc1wpIGdlbmVyYXRlIG5vIG1hdGNoZXMuKTIuNSBFCiAuMjQ1KFdoZW4gYSBjb21wc3BlYyBpbmRpY2F0ZXMgdGhhdCBkaXJlY3RvcnkgbmFtZSBjb21wbGV0aW9uIGlzIGRlc2lyZVwKLWQsIHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmdW5jLSkxMDggMTEyLjggUiAuNjMyKHRpb25zIGZvcmNlIHJlYWRsXAorZCwgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGZ1bmMtKTEwOCA2NDAuOCBSIC42MzModGlvbnMgZm9yY2UgcmVhZGxcCiBpbmUgdG8gYXBwZW5kIGEgc2xhc2ggdG8gY29tcGxldGVkIG5hbWVzIHdoaWNoIGFyZSBzeW1ib2xpYyBsaW5rcyB0byBkaVwKLXJlY3Rvcmllcywgc3ViamVjdCkxMDggMTI0LjggUiAyLjc2Mih0byB0aGUgdikxMDggMTM2LjggUiAyLjc2MgotKGFsdWUgb2YgdGhlKS0uMjUgRiBGMShtYXJrXDI1NWRpcik1LjI2MiBFKGVjdG9yaWVzKS0uMTggRSBGMCAyLjc2MQotKHJlYWRsaW5lIHYpNS4yNjIgRiAyLjc2MShhcmlhYmxlLCByZSktLjI1IEYgLS4wNShnYSktLjE1IEcgMi43NjEKLShyZGxlc3Mgb2YgdGhlIHNldHRpbmcgb2YgdGhlKS4wNSBGIEYxKG1hcmstc3ltLSk1LjI2MSBFKGxpbmspMTA4IDE0OC44CityZWN0b3JpZXMsIHN1YmplY3QpMTA4IDY1Mi44IFIgMi43NjEodG8gdGhlIHYpMTA4IDY2NC44IFIgMi43NjEKKyhhbHVlIG9mIHRoZSktLjI1IEYgRjIobWFya1wyNTVkaXIpNS4yNjEgRShlY3RvcmllcyktLjE4IEUgRjAgMi43NjEKKyhyZWFkbGluZSB2KTUuMjYxIEYgMi43NjEoYXJpYWJsZSwgcmUpLS4yNSBGIC0uMDUoZ2EpLS4xNSBHIDIuNzYyCisocmRsZXNzIG9mIHRoZSBzZXR0aW5nIG9mIHRoZSkuMDUgRiBGMihtYXJrLXN5bS0pNS4yNjIgRShsaW5rKTEwOCA2NzYuOAogUShlZFwyNTVkaXIpLS4xIEUoZWN0b3JpZXMpLS4xOCBFIEYwKHJlYWRsaW5lIHYpMi41IEUoYXJpYWJsZS4pLS4yNSBFCi0uMTkoVGhlcmUgaXMgc29tZSBzdXBwb3J0IGZvciBkeW5hbWljYWxseSBtb2RpZnlpbmcgY29tcGxldGlvbnMuKTEwOAotMTY1LjYgUiAuMTkxKFRoaXMgaXMgbW9zdCB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbWJpbmEtKTUuMTkxIEYgMS4zMwotKHRpb24gd2l0aCBhIGRlZikxMDggMTc3LjYgUiAxLjMzKGF1bHQgY29tcGxldGlvbiBzcGVjaVwyMTRlZCB3aXRoKS0uMSBGCi1GMSAxLjMzKGNvbXBsZXRlIC1EKTMuODMgRiBGMCA2LjMzKC5JKUModCcpLTYuMzMgRSAzLjgzKHNwKS0uNTUgRyAxLjMzCisuMTkxKFRoZXJlIGlzIHNvbWUgc3VwcG9ydCBmb3IgZHluYW1pY2FsbHkgbW9kaWZ5aW5nIGNvbXBsZXRpb25zLikxMDgKKzY5My42IFIgLjE5KFRoaXMgaXMgbW9zdCB1c2VmdWwgd2hlbiB1c2VkIGluIGNvbWJpbmEtKTUuMTkxIEYgMS4zMworKHRpb24gd2l0aCBhIGRlZikxMDggNzA1LjYgUiAxLjMzKGF1bHQgY29tcGxldGlvbiBzcGVjaVwyMTRlZCB3aXRoKS0uMSBGCitGMiAxLjMzKGNvbXBsZXRlIC1EKTMuODMgRiBGMCA2LjMzKC5JKUModCcpLTYuMzMgRSAzLjgzKHNwKS0uNTUgRyAxLjMzCiAob3NzaWJsZSBmb3Igc2hlbGwgZnVuY3Rpb25zIGUpLTMuODMgRiAtLjE1KHhlKS0uMTUgRyAxLjMzKGN1dGVkIGFzKS4xNQogRiAuOTMoY29tcGxldGlvbiBoYW5kbGVycyB0byBpbmRpY2F0ZSB0aGF0IGNvbXBsZXRpb24gc2hvdWxkIGJlIHJldHJpZWRcCi0gYnkgcmV0dXJuaW5nIGFuIGUpMTA4IDE4OS42IFIgLjkzKHhpdCBzdGF0dXMgb2YgMTI0LiktLjE1IEYgLjkzKElmIGEpCisgYnkgcmV0dXJuaW5nIGFuIGUpMTA4IDcxNy42IFIgLjkzKHhpdCBzdGF0dXMgb2YgMTI0LiktLjE1IEYgLjkzKElmIGEpCiA1LjkzIEYgLjEoc2hlbGwgZnVuY3Rpb24gcmV0dXJucyAxMjQsIGFuZCBjaGFuZ2VzIHRoZSBjb21wc3BlYyBhc3NvY2lhdFwKLWVkIHdpdGggdGhlIGNvbW1hbmQgb24gd2hpY2ggY29tcGxldGlvbiBpcykxMDggMjAxLjYgUiAuNjY1Ci0oYmVpbmcgYXR0ZW1wdGVkIFwoc3VwcGxpZWQgYXMgdGhlIFwyMTRyc3QgYXIpMTA4IDIxMy42IFIgLjY2NgotKGd1bWVudCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBlKS0uMTggRiAtLjE1KHhlKS0uMTUgRyAuNjY2Ci0oY3V0ZWRcKSwgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24pLjE1IEYgMS4xMzkocmVzdGFydHMgZnJvbSB0aGUgYmUpMTA4Ci0yMjUuNiBSIDEuMTM5Ci0oZ2lubmluZywgd2l0aCBhbiBhdHRlbXB0IHRvIFwyMTRuZCBhIGNvbXBzcGVjIGZvciB0aGF0IGNvbW1hbmQuKS0uMTUgRgotMS4xMzkoVGhpcyBhbGxvKTYuMTM5IEYgMS4xMzgod3MgYSBzZXQgb2YpLS4yNSBGKGNvbXBsZXRpb25zIHRvIGJlIGIpMTA4Ci0yMzcuNiBRKHVpbHQgZHluYW1pY2FsbHkgYXMgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQsIHJhdGhlciB0aGFuIGJlaW5nIFwKLWxvYWRlZCBhbGwgYXQgb25jZS4pLS4yIEUgLS4xNShGbykxMDggMjU0LjQgUyAyLjYzNihyaSkuMTUgRyAuMTM3Ci0obnN0YW5jZSwgYXNzdW1pbmcgdGhhdCB0aGVyZSBpcyBhIGxpYnJhcnkgb2YgY29tcHNwZWNzLCBlYWNoIGspLTIuNjM2IEYKLS4xMzcoZXB0IGluIGEgXDIxNGxlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5hbWUgb2YpLS4xIEYKLSh0aGUgY29tbWFuZCwgdGhlIGZvbGxvKTEwOCAyNjYuNCBRKHdpbmcgZGVmKS0uMjUgRQotKGF1bHQgY29tcGxldGlvbiBmdW5jdGlvbiB3KS0uMSBFKG91bGQgbG9hZCBjb21wbGV0aW9ucyBkeW5hbWljYWxseTopLS4xCi1FL0YyIDEwL0NvdXJpZXJAMCBTRihfY29tcGxldGlvbl9sb2FkZXJcKFwpKTEwOCAyODMuMiBRKHspMTA4IDI5NS4yIFEgNgotKC4iKTE0NCAzMDcuMiBTCi0oL2V0Yy9iYXNoX2NvbXBsZXRpb24uZC8kMS5zaCIgPi9kZXYvbnVsbCAyPiYxICYmIHJldHVybiAxMjQpLTYgRSh9KTEwOAotMzE5LjIgUShjb21wbGV0ZSAtRCAtRiBfY29tcGxldGlvbl9sb2FkZXIpMTA4IDMzMS4yIFEvRjMgMTAuOTUKLS9UaW1lcy1Cb2xkQDAgU0YoSElTVCk3MiAzNjAgUShPUiktLjE5NyBFKFkpLS4zODMgRSBGMCAuMzcyKFdoZW4gdGhlKTEwOAotMzcyIFIgRjEgLjM3MihcMjU1byBoaXN0b3J5KTIuODcyIEYgRjAgLjM3MihvcHRpb24gdG8gdGhlKTIuODcyIEYgRjEKLShzZXQpMi44NzIgRSBGMCAtLjIoYnUpMi44NzIgRyAuMzcyKGlsdGluIGlzIGVuYWJsZWQsIHRoZSBzaGVsbCBwcm8pLjIgRgotLjM3MSh2aWRlcyBhY2Nlc3MgdG8gdGhlKS0uMTUgRi9GNCAxMC9UaW1lcy1JdGFsaWNAMCBTRiAuMzcxCi0oY29tbWFuZCBoaXN0b3J5KTIuODcxIEYgRjAoLClBIC4zMDQodGhlIGxpc3Qgb2YgY29tbWFuZHMgcHJlKTEwOCAzODQgUgotLjMwNCh2aW91c2x5IHR5cGVkLiktLjI1IEYgLjMwNChUaGUgdik1LjMwNCBGIC4zMDQoYWx1ZSBvZiB0aGUpLS4yNSBGL0Y1Ci05L1RpbWVzLUJvbGRAMCBTRihISVNUU0laRSkyLjgwNCBFIEYwIC0uMjUodmEpMi41NTQgRyAuMzA1Ci0ocmlhYmxlIGlzIHVzZWQgYXMgdGhlIG51bWJlciBvZiBjb20tKS4yNSBGIC40MyhtYW5kcyB0byBzYSkxMDggMzk2IFIKLS43MyAtLjE1KHZlIGkpLS4yIEggMi45MyhuYWgpLjE1IEcgLjQzKGlzdG9yeSBsaXN0LiktMi45MyBGIC40MyhUaGUgdGUpCi01LjQzIEYgLjQyOSh4dCBvZiB0aGUgbGFzdCktLjE1IEYgRjUoSElTVFNJWkUpMi45MjkgRSBGMCAuNDI5Ci0oY29tbWFuZHMgXChkZWYpMi42NzkgRiAuNDI5KGF1bHQgNTAwXCkgaXMgc2EpLS4xIEYgLS4xNSh2ZSktLjIgRyAyLjkyOQotKGQuIFRoZSkuMTUgRihzaGVsbCkyLjkyOSBFIC4yODcKLShzdG9yZXMgZWFjaCBjb21tYW5kIGluIHRoZSBoaXN0b3J5IGxpc3QgcHJpb3IgdG8gcGFyYW1ldGVyIGFuZCB2KTEwOAotNDA4IFIgLjI4NyhhcmlhYmxlIGUpLS4yNSBGIC4yODcoeHBhbnNpb24gXChzZWUpLS4xNSBGIEY1KEVYUCkyLjc4NyBFCi0oQU5TSU9OKS0uNjY2IEUgRjAoYWJvKTIuNTM3IEUgLS4xNSh2ZSktLjE1IEcoXCkpLjE1IEUgLS4yKGJ1KTEwOCA0MjAgUwotNC4wNjYodGEpLjIgRyAxLjU2NShmdGVyIGhpc3RvcnkgZSktNC4wNjYgRiAxLjU2NQotKHhwYW5zaW9uIGlzIHBlcmZvcm1lZCwgc3ViamVjdCB0byB0aGUgdiktLjE1IEYgMS41NjUKLShhbHVlcyBvZiB0aGUgc2hlbGwgdiktLjI1IEYoYXJpYWJsZXMpLS4yNSBFIEY1KEhJU1RJR05PUkUpNC4wNjUgRSBGMAotKGFuZCkzLjgxNSBFIEY1KEhJU1RDT05UUikxMDggNDMyIFEoT0wpLS4yNyBFL0Y2IDkvVGltZXMtUm9tYW5AMCBTRiguKUEKLUYwIC4wODIKLShPbiBzdGFydHVwLCB0aGUgaGlzdG9yeSBpcyBpbml0aWFsaXplZCBmcm9tIHRoZSBcMjE0bGUgbmFtZWQgYnkgdGhlIHYpCi0xMDggNDQ4LjggUihhcmlhYmxlKS0uMjUgRSBGNShISVNURklMRSkyLjU4MyBFIEYwKFwoZGVmKTIuMzMzIEUoYXVsdCktLjEKLUUgRjQofi8uYmFzaF9oaXN0b3J5KTIuNTgzIEUgRjAoXCkuKUEgLjMxNShUaGUgXDIxNGxlIG5hbWVkIGJ5IHRoZSB2KTEwOAotNDYwLjggUiAuMzE1KGFsdWUgb2YpLS4yNSBGIEY1KEhJU1RGSUxFKTIuODE1IEUgRjAgLjMxNQotKGlzIHRydW5jYXRlZCwgaWYgbmVjZXNzYXJ5KTIuNTY1IEYgMi44MTUoLHQpLS42NSBHIDIuODE1KG9jKS0yLjgxNSBHCi0uMzE1KG9udGFpbiBubyBtb3JlIHRoYW4gdGhlIG51bWJlciBvZiktMi44MTUgRiAuNTMyCi0obGluZXMgc3BlY2lcMjE0ZWQgYnkgdGhlIHYpMTA4IDQ3Mi44IFIgLjUzMihhbHVlIG9mKS0uMjUgRiBGNQotKEhJU1RGSUxFU0laRSkzLjAzMiBFIEY2KC4pQSBGMCAuNTMyCi0oV2hlbiB0aGUgaGlzdG9yeSBcMjE0bGUgaXMgcmVhZCwgbGluZXMgYmUpNS4wMzIgRiAuNTMyCi0oZ2lubmluZyB3aXRoIHRoZSBoaXMtKS0uMTUgRiAxLjE1OSh0b3J5IGNvbW1lbnQgY2hhcmFjdGVyIGZvbGxvKTEwOAotNDg0LjggUiAxLjE1OCh3ZWQgaW1tZWRpYXRlbHkgYnkgYSBkaWdpdCBhcmUgaW50ZXJwcmV0ZWQgYXMgdGltZXN0YW1wcyBcCi1mb3IgdGhlIHByZWNlZGluZyktLjI1IEYgLjA1MihoaXN0b3J5IGxpbmUuKTEwOCA0OTYuOCBSIC4wNTMKLShUaGVzZSB0aW1lc3RhbXBzIGFyZSBvcHRpb25hbGx5IGRpc3BsYXllZCBkZXBlbmRpbmcgb24gdGhlIHYpNS4wNTIgRgotLjA1MyhhbHVlIG9mIHRoZSktLjI1IEYgRjUoSElTVFRJTUVGT1JNQSkyLjU1MyBFKFQpLS44NTUgRSBGMCAtLjI1KHZhKQotMTA4IDUwOC44IFMgNC4zODcocmlhYmxlLiBXaGVuKS4yNSBGIDEuODg3KGFuIGludGVyYWN0aSk0LjM4NyBGIDIuMTg3Ci0tLjE1KHZlIHMpLS4yNSBIIDEuODg3KGhlbGwgZSkuMTUgRiAxLjg4Nyh4aXRzLCB0aGUgbGFzdCktLjE1IEYgRjUKLSgkSElTVFNJWkUpNC4zODcgRSBGMCAxLjg4NyhsaW5lcyBhcmUgY29waWVkIGZyb20gdGhlIGhpc3RvcnkgbGlzdCB0bykKLTQuMTM3IEYgRjUoJEhJU1RGSUxFKTEwOCA1MjAuOCBRIEY2KC4pQSBGMCAuMDU2KElmIHRoZSk0LjU1NiBGIEYxCi0oaGlzdGFwcGVuZCkyLjU1NiBFIEYwIC4wNTYKLShzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCBcKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YpMi41NTYgRiBGMShzaG9wdCkyLjU1NgotRSBGMCh1bmRlcikyLjU1NiBFIEY1IC4wNTYoU0hFTEwgQikyLjU1NiBGKFVJTCktLjA5IEUoVElOKS0uODI4IEUKLShDT01NQU5EUykxMDggNTMyLjggUSBGMChiZWxvKTIuNjcyIEUgLjQyMih3XCksIHRoZSBsaW5lcyBhcmUgYXBwZW5kZWQgXAotdG8gdGhlIGhpc3RvcnkgXDIxNGxlLCBvdGhlcndpc2UgdGhlIGhpc3RvcnkgXDIxNGxlIGlzIG8pLS4yNSBGIC0uMTUodmUpCi0tLjE1IEcgMi45MjEocndyaXR0ZW4uIElmKS4xNSBGIEY1KEhJU1RGSUxFKTEwOCA1NDQuOCBRIEYwIC40MzUoaXMgdW5zZVwKLXQsIG9yIGlmIHRoZSBoaXN0b3J5IFwyMTRsZSBpcyB1bndyaXRhYmxlLCB0aGUgaGlzdG9yeSBpcyBub3Qgc2EpMi42ODQgRgotLS4xNSh2ZSktLjIgRyAyLjkzNShkLiBJZikuMTUgRih0aGUpMi45MzUgRSBGNShISVNUVElNRUZPUk1BKTIuOTM1IEUoVCkKLS0uODU1IEUgRjAgLS4yNSh2YSkxMDggNTU2LjggUyAuOTE3Ci0ocmlhYmxlIGlzIHNldCwgdGltZSBzdGFtcHMgYXJlIHdyaXR0ZW4gdG8gdGhlIGhpc3RvcnkgXDIxNGxlLCBtYXJrKS4yNQotRiAuOTE2KGVkIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIpLS4xIEYgMy40MTYoLHMpLS40IEcobykKLS0zLjQxNiBFKHRoZSkxMDggNTY4LjggUSAzLjA4Mih5bSktLjE1IEcgLjU4MihheSBiZSBwcmVzZXJ2KS0zLjA4MiBGCi0uNTgyKGVkIGFjcm9zcyBzaGVsbCBzZXNzaW9ucy4pLS4xNSBGIC41ODMKLShUaGlzIHVzZXMgdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIgdG8gZGlzdGluZ3Vpc2ggdGltZS0pNS41ODMgRgotLjk4NyhzdGFtcHMgZnJvbSBvdGhlciBoaXN0b3J5IGxpbmVzLikxMDggNTgwLjggUiAuOTg3KEFmdGVyIHNhKTUuOTg3IEYKLS45ODcodmluZyB0aGUgaGlzdG9yeSktLjIgRiAzLjQ4NigsdCktLjY1IEcgLjk4NgotKGhlIGhpc3RvcnkgXDIxNGxlIGlzIHRydW5jYXRlZCB0byBjb250YWluIG5vIG1vcmUpLTMuNDg2IEYodGhhbikxMDgKLTU5Mi44IFEgRjUoSElTVEZJTEVTSVpFKTIuNSBFIEYwIDIuNShsaW5lcy4gSWYpMi4yNSBGIEY1KEhJU1RGSUxFU0laRSkKLTIuNSBFIEYwKGlzIG5vdCBzZXQsIG5vIHRydW5jYXRpb24gaXMgcGVyZm9ybWVkLikyLjI1IEUgMS4yOTMoVGhlIGIpMTA4Ci02MDkuNiBSIDEuMjkzKHVpbHRpbiBjb21tYW5kKS0uMiBGIEYxKGZjKTMuNzkzIEUgRjAoXChzZWUpMy43OTMgRSBGNQotMS4yOTMoU0hFTEwgQikzLjc5MyBGKFVJTCktLjA5IEUgMS4yOTMoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykKLTMuNTQzIEUgMS4yOTQod1wpIG1heSBiZSB1c2VkIHRvIGxpc3Qgb3IgZWRpdCBhbmQgcmUtKS0uMjUgRiAtLjE1KGV4ZSkKLTEwOCA2MjEuNiBTIC42NzQoY3V0ZSBhIHBvcnRpb24gb2YgdGhlIGhpc3RvcnkgbGlzdC4pLjE1IEYoVGhlKTUuNjczIEUKLUYxKGhpc3RvcnkpMy4xNzMgRSBGMCAtLjIoYnUpMy4xNzMgRyAuNjczCi0oaWx0aW4gbWF5IGJlIHVzZWQgdG8gZGlzcGxheSBvciBtb2RpZnkgdGhlIGhpc3RvcnkgbGlzdCkuMiBGIC4yNzkKLShhbmQgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBcMjE0bGUuKTEwOCA2MzMuNiBSIC4yNzkKLShXaGVuIHVzaW5nIGNvbW1hbmQtbGluZSBlZGl0aW5nLCBzZWFyY2ggY29tbWFuZHMgYXJlIGEpNS4yNzkgRiAtLjI1KHZhKQotLS4yIEcgLjI4KGlsYWJsZSBpbiBlYWNoKS4yNSBGKGVkaXRpbmcgbW9kZSB0aGF0IHBybykxMDggNjQ1LjYgUQotKHZpZGUgYWNjZXNzIHRvIHRoZSBoaXN0b3J5IGxpc3QuKS0uMTUgRSAxLjQ4NihUaGUgc2hlbGwgYWxsbykxMDggNjYyLjQKLVIgMS40ODYod3MgY29udHJvbCBvKS0uMjUgRiAtLjE1KHZlKS0uMTUgRyAzLjk4NihydykuMTUgRyAxLjQ4NgotKGhpY2ggY29tbWFuZHMgYXJlIHNhKS0zLjk4NiBGIC0uMTUodmUpLS4yIEcgMy45ODYoZG8pLjE1IEcgMy45ODYobnQpCi0tMy45ODYgRyAxLjQ4NihoZSBoaXN0b3J5IGxpc3QuKS0zLjk4NiBGKFRoZSk2LjQ4NSBFIEY1KEhJU1RDT05UUikzLjk4NQotRShPTCktLjI3IEUgRjAoYW5kKTMuNzM1IEUgRjUoSElTVElHTk9SRSkxMDggNjc0LjQgUSBGMCAtLjI1KHZhKTIuNzA3IEcKLS40NTcocmlhYmxlcyBtYXkgYmUgc2V0IHRvIGNhdXNlIHRoZSBzaGVsbCB0byBzYSkuMjUgRiAuNzU4IC0uMTUodmUgbykKLS0uMiBIIC40NTgobmx5IGEgc3Vic2V0IG9mIHRoZSBjb21tYW5kcyBlbnRlcmVkLikuMTUgRihUaGUpNS40NTggRSBGMQotKGNtZGhpc3QpMTA4IDY4Ni40IFEgRjAgLjc1Ci0oc2hlbGwgb3B0aW9uLCBpZiBlbmFibGVkLCBjYXVzZXMgdGhlIHNoZWxsIHRvIGF0dGVtcHQgdG8gc2EpMy4yNSBGIDEuMDUKLS0uMTUodmUgZSktLjIgSCAuNzUoYWNoIGxpbmUgb2YgYSBtdWx0aS1saW5lIGNvbW1hbmQgaW4pLjE1IEYgMS4wNzcKLSh0aGUgc2FtZSBoaXN0b3J5IGVudHJ5KTEwOCA2OTguNCBSIDMuNTc3KCxhKS0uNjUgRyAxLjA3NwotKGRkaW5nIHNlbWljb2xvbnMgd2hlcmUgbmVjZXNzYXJ5IHRvIHByZXNlcnYpLTMuNTc3IEYgMy41NzcoZXMpLS4xNSBHCi0xLjA3Nyh5bnRhY3RpYyBjb3JyZWN0bmVzcy4pLTMuNTc3IEYoVGhlKTYuMDc3IEUgRjEobGl0aGlzdCkzLjU3NyBFIEYwCi0uMzc0KHNoZWxsIG9wdGlvbiBjYXVzZXMgdGhlIHNoZWxsIHRvIHNhKTEwOCA3MTAuNCBSIC42NzQgLS4xNSh2ZSB0KS0uMgotSCAuMzc0KGhlIGNvbW1hbmQgd2l0aCBlbWJlZGRlZCBuZSkuMTUgRiAuMzczCi0od2xpbmVzIGluc3RlYWQgb2Ygc2VtaWNvbG9ucy4pLS4yNSBGIC4zNzMoU2VlIHRoZSk1LjM3MyBGIC4zMTgKLShkZXNjcmlwdGlvbiBvZiB0aGUpMTA4IDcyMi40IFIgRjEoc2hvcHQpMi44MTggRSBGMCAtLjIoYnUpMi44MTggRyAuMzE4Ci0oaWx0aW4gYmVsbykuMiBGIDIuODE4KHd1KS0uMjUgRyhuZGVyKS0yLjgxOCBFIEY1IC4zMTgoU0hFTEwgQikyLjgxOCBGCi0oVUlMKS0uMDkgRSAuMzE4KFRJTiBDT01NQU5EUyktLjgyOCBGIEYwIC4zMTkKLShmb3IgaW5mb3JtYXRpb24gb24gc2V0dGluZyBhbmQpMi41NjggRihHTlUgQmFzaC00LjEpNzIgNzY4IFEKLSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg0NikxODUuOTU1IEUgMCBDZyBFUAorZWQgd2l0aCB0aGUgY29tbWFuZCBvbiB3aGljaCBjb21wbGV0aW9uIGlzKTEwOCA3MjkuNiBSKEdOVSBCYXNoLTQuMik3MgorNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoNDYpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNDcgNDcKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUodW5zZXR0aW5nIHNoZWxsIG9wdGlvbnMuKTEwOCA4NCBRL0YxIDEwLjk1L1RpbWVzLUJvbGRAMCBTRihISVNUKQotNzIgMTAwLjggUShPUiktLjE5NyBFIDIuNzM4KFlFKS0uMzgzIEcoWFApLTIuNzM4IEUoQU5TSU9OKS0uODEgRSBGMCAuNjExCi0oVGhlIHNoZWxsIHN1cHBvcnRzIGEgaGlzdG9yeSBlKTEwOCAxMTIuOCBSIC42MTEKLSh4cGFuc2lvbiBmZWF0dXJlIHRoYXQgaXMgc2ltaWxhciB0byB0aGUgaGlzdG9yeSBlKS0uMTUgRiAuNjEKLSh4cGFuc2lvbiBpbiktLjE1IEYvRjIgMTAvVGltZXMtQm9sZEAwIFNGKGNzaC4pMy4xMSBFIEYwIC42MQotKFRoaXMgc2VjdGlvbik1LjYxIEYgLjg3KGRlc2NyaWJlcyB3aGF0IHN5bnRheCBmZWF0dXJlcyBhcmUgYSkxMDggMTI0LjgKLVIgLS4yNSh2YSktLjIgRyAzLjM3MShpbGFibGUuIFRoaXMpLjI1IEYgLjg3MShmZWF0dXJlIGlzIGVuYWJsZWQgYnkgZGVmKQotMy4zNzEgRiAuODcxKGF1bHQgZm9yIGludGVyYWN0aSktLjEgRiAxLjE3MSAtLjE1KHZlIHMpLS4yNSBIIC44NzEKLShoZWxscywgYW5kKS4xNSBGIDIuMDE0KGNhbiBiZSBkaXNhYmxlZCB1c2luZyB0aGUpMTA4IDEzNi44IFIgRjIoK0gpCi00LjUxNCBFIEYwIDIuMDE0KG9wdGlvbiB0byB0aGUpNC41MTQgRiBGMihzZXQpNC41MTQgRSBGMCAtLjIoYnUpNC41MTQgRwotMi4wMTQoaWx0aW4gY29tbWFuZCBcKHNlZSkuMiBGL0YzIDkvVGltZXMtQm9sZEAwIFNGIDIuMDEzKFNIRUxMIEIpNC41MTMKLUYoVUlMKS0uMDkgRSAyLjAxMyhUSU4gQ09NTUFORFMpLS44MjggRiBGMChiZWxvKTEwOCAxNDguOCBRIDIuNQotKHdcKS4gTm9uLWludGVyYWN0aSktLjI1IEYgLjMgLS4xNSh2ZSBzKS0uMjUgSAotKGhlbGxzIGRvIG5vdCBwZXJmb3JtIGhpc3RvcnkgZSkuMTUgRSh4cGFuc2lvbiBieSBkZWYpLS4xNSBFKGF1bHQuKS0uMSBFCi0xLjMwNShIaXN0b3J5IGUpMTA4IDE2NS42IFIgMS4zMDUoeHBhbnNpb25zIGludHJvZHVjZSB3KS0uMTUgRiAxLjMwNihvclwKLWRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdCBpbnRvIHRoZSBpbnB1dCBzdHJlYW0sIG1ha2luZyBpdCBlYXN5IHRvIHJlcGVhXAotdCktLjEgRiAuMjEoY29tbWFuZHMsIGluc2VydCB0aGUgYXIpMTA4IDE3Ny42IFIgLjIxKGd1bWVudHMgdG8gYSBwcmUpCi0tLjE4IEYgLjIwOQorLS4zNSBFIC42NjYoYmVpbmcgYXR0ZW1wdGVkIFwoc3VwcGxpZWQgYXMgdGhlIFwyMTRyc3QgYXIpMTA4IDg0IFIgLjY2NQorKGd1bWVudCB3aGVuIHRoZSBmdW5jdGlvbiBpcyBlKS0uMTggRiAtLjE1KHhlKS0uMTUgRyAuNjY1CisoY3V0ZWRcKSwgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24pLjE1IEYgLjA4MyhyZXN0YXJ0cyBmcm9tIHRoZSBiZSkxMDggOTYKK1IgLjA4NChnaW5uaW5nLCB3aXRoIGFuIGF0dGVtcHQgdG8gXDIxNG5kIGEgbmUpLS4xNSBGIDIuNTg0KHdjKS0uMjUgRworLjA4NChvbXBzcGVjIGZvciB0aGF0IGNvbW1hbmQuKS0yLjU4NCBGIC4wODQoVGhpcyBhbGxvKTUuMDg0IEYgLjA4NAorKHdzIGEgc2V0IG9mKS0uMjUgRihjb21wbGV0aW9ucyB0byBiZSBiKTEwOCAxMDggUSh1aWx0IGR5bmFtaWNhbGx5IGFzIGNcCitvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCByYXRoZXIgdGhhbiBiZWluZyBsb2FkZWQgYWxsIGF0IG9uY2UuKS0uMiBFIC0uMTUKKyhGbykxMDggMTI0LjggUyAyLjYzNyhyaSkuMTUgRyAuMTM3CisobnN0YW5jZSwgYXNzdW1pbmcgdGhhdCB0aGVyZSBpcyBhIGxpYnJhcnkgb2YgY29tcHNwZWNzLCBlYWNoIGspLTIuNjM3IEYKKy4xMzcoZXB0IGluIGEgXDIxNGxlIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG5hbWUgb2YpLS4xIEYKKyh0aGUgY29tbWFuZCwgdGhlIGZvbGxvKTEwOCAxMzYuOCBRKHdpbmcgZGVmKS0uMjUgRQorKGF1bHQgY29tcGxldGlvbiBmdW5jdGlvbiB3KS0uMSBFKG91bGQgbG9hZCBjb21wbGV0aW9ucyBkeW5hbWljYWxseTopLS4xCitFL0YxIDEwL0NvdXJpZXJAMCBTRihfY29tcGxldGlvbl9sb2FkZXJcKFwpKTEwOCAxNTMuNiBRKHspMTA4IDE2NS42IFEgNgorKC4iKTE0NCAxNzcuNiBTCisoL2V0Yy9iYXNoX2NvbXBsZXRpb24uZC8kMS5zaCIgPi9kZXYvbnVsbCAyPiYxICYmIHJldHVybiAxMjQpLTYgRSh9KTEwOAorMTg5LjYgUShjb21wbGV0ZSAtRCAtRiBfY29tcGxldGlvbl9sb2FkZXIpMTA4IDIwMS42IFEvRjIgMTAuOTUKKy9UaW1lcy1Cb2xkQDAgU0YoSElTVCk3MiAyMzAuNCBRKE9SKS0uMTk3IEUoWSktLjM4MyBFIEYwIC4zNzEoV2hlbiB0aGUpCisxMDggMjQyLjQgUi9GMyAxMC9UaW1lcy1Cb2xkQDAgU0YgLjM3MShcMjU1byBoaXN0b3J5KTIuODcxIEYgRjAgLjM3MQorKG9wdGlvbiB0byB0aGUpMi44NzEgRiBGMyhzZXQpMi44NzIgRSBGMCAtLjIoYnUpMi44NzIgRyAuMzcyCisoaWx0aW4gaXMgZW5hYmxlZCwgdGhlIHNoZWxsIHBybykuMiBGIC4zNzIodmlkZXMgYWNjZXNzIHRvIHRoZSktLjE1IEYvRjQKKzEwL1RpbWVzLUl0YWxpY0AwIFNGIC4zNzIoY29tbWFuZCBoaXN0b3J5KTIuODcyIEYgRjAoLClBIC4zMDUKKyh0aGUgbGlzdCBvZiBjb21tYW5kcyBwcmUpMTA4IDI1NC40IFIgLjMwNSh2aW91c2x5IHR5cGVkLiktLjI1IEYgLjMwNQorKFRoZSB2KTUuMzA1IEYgLjMwNChhbHVlIG9mIHRoZSktLjI1IEYvRjUgOS9UaW1lcy1Cb2xkQDAgU0YoSElTVFNJWkUpCisyLjgwNCBFIEYwIC0uMjUodmEpMi41NTQgRyAuMzA0KHJpYWJsZSBpcyB1c2VkIGFzIHRoZSBudW1iZXIgb2YgY29tLSkuMjUKK0YgLjQyOShtYW5kcyB0byBzYSkxMDggMjY2LjQgUiAuNzI5IC0uMTUodmUgaSktLjIgSCAyLjkyOShuYWgpLjE1IEcgLjQyOQorKGlzdG9yeSBsaXN0LiktMi45MjkgRiAuNDI5KFRoZSB0ZSk1LjQyOSBGIC40MjkoeHQgb2YgdGhlIGxhc3QpLS4xNSBGIEY1CisoSElTVFNJWkUpMi45MyBFIEYwIC40Myhjb21tYW5kcyBcKGRlZikyLjY4IEYgLjQzKGF1bHQgNTAwXCkgaXMgc2EpLS4xIEYKKy0uMTUodmUpLS4yIEcgMi45MyhkLiBUaGUpLjE1IEYoc2hlbGwpMi45MyBFIC4yODcKKyhzdG9yZXMgZWFjaCBjb21tYW5kIGluIHRoZSBoaXN0b3J5IGxpc3QgcHJpb3IgdG8gcGFyYW1ldGVyIGFuZCB2KTEwOAorMjc4LjQgUiAuMjg3KGFyaWFibGUgZSktLjI1IEYgLjI4Nyh4cGFuc2lvbiBcKHNlZSktLjE1IEYgRjUoRVhQKTIuNzg3IEUKKyhBTlNJT04pLS42NjYgRSBGMChhYm8pMi41MzcgRSAtLjE1KHZlKS0uMTUgRyhcKSkuMTUgRSAtLjIoYnUpMTA4IDI5MC40CitTIDQuMDY1KHRhKS4yIEcgMS41NjUoZnRlciBoaXN0b3J5IGUpLTQuMDY1IEYgMS41NjUKKyh4cGFuc2lvbiBpcyBwZXJmb3JtZWQsIHN1YmplY3QgdG8gdGhlIHYpLS4xNSBGIDEuNTY1CisoYWx1ZXMgb2YgdGhlIHNoZWxsIHYpLS4yNSBGKGFyaWFibGVzKS0uMjUgRSBGNShISVNUSUdOT1JFKTQuMDY1IEUgRjAKKyhhbmQpMy44MTYgRSBGNShISVNUQ09OVFIpMTA4IDMwMi40IFEoT0wpLS4yNyBFL0Y2IDkvVGltZXMtUm9tYW5AMCBTRiguKQorQSBGMCAuMDgyCisoT24gc3RhcnR1cCwgdGhlIGhpc3RvcnkgaXMgaW5pdGlhbGl6ZWQgZnJvbSB0aGUgXDIxNGxlIG5hbWVkIGJ5IHRoZSB2KQorMTA4IDMxOS4yIFIoYXJpYWJsZSktLjI1IEUgRjUoSElTVEZJTEUpMi41ODIgRSBGMChcKGRlZikyLjMzMiBFKGF1bHQpLS4xCitFIEY0KH4vLmJhc2hfaGlzdG9yeSkyLjU4MiBFIEYwKFwpLilBIC4zMTUoVGhlIFwyMTRsZSBuYW1lZCBieSB0aGUgdikxMDgKKzMzMS4yIFIgLjMxNShhbHVlIG9mKS0uMjUgRiBGNShISVNURklMRSkyLjgxNSBFIEYwIC4zMTUKKyhpcyB0cnVuY2F0ZWQsIGlmIG5lY2Vzc2FyeSkyLjU2NSBGIDIuODE1KCx0KS0uNjUgRyAyLjgxNShvYyktMi44MTUgRworLjMxNShvbnRhaW4gbm8gbW9yZSB0aGFuIHRoZSBudW1iZXIgb2YpLTIuODE1IEYgLjUzMgorKGxpbmVzIHNwZWNpXDIxNGVkIGJ5IHRoZSB2KTEwOCAzNDMuMiBSIC41MzIoYWx1ZSBvZiktLjI1IEYgRjUKKyhISVNURklMRVNJWkUpMy4wMzIgRSBGNiguKUEgRjAgLjUzMgorKFdoZW4gdGhlIGhpc3RvcnkgXDIxNGxlIGlzIHJlYWQsIGxpbmVzIGJlKTUuMDMyIEYgLjUzMgorKGdpbm5pbmcgd2l0aCB0aGUgaGlzLSktLjE1IEYgMS4xNTgodG9yeSBjb21tZW50IGNoYXJhY3RlciBmb2xsbykxMDgKKzM1NS4yIFIgMS4xNTkod2VkIGltbWVkaWF0ZWx5IGJ5IGEgZGlnaXQgYXJlIGludGVycHJldGVkIGFzIHRpbWVzdGFtcHMgXAorZm9yIHRoZSBwcmVjZWRpbmcpLS4yNSBGIC4wNTMoaGlzdG9yeSBsaW5lLikxMDggMzY3LjIgUiAuMDUzCisoVGhlc2UgdGltZXN0YW1wcyBhcmUgb3B0aW9uYWxseSBkaXNwbGF5ZWQgZGVwZW5kaW5nIG9uIHRoZSB2KTUuMDUzIEYKKy4wNTIoYWx1ZSBvZiB0aGUpLS4yNSBGIEY1KEhJU1RUSU1FRk9STUEpMi41NTIgRShUKS0uODU1IEUgRjAgLS4yNSh2YSkKKzEwOCAzNzkuMiBTIDQuMzg2KHJpYWJsZS4gV2hlbikuMjUgRiAxLjg4NihhbiBpbnRlcmFjdGkpNC4zODYgRiAyLjE4NworLS4xNSh2ZSBzKS0uMjUgSCAxLjg4NyhoZWxsIGUpLjE1IEYgMS44ODcoeGl0cywgdGhlIGxhc3QpLS4xNSBGIEY1CisoJEhJU1RTSVpFKTQuMzg3IEUgRjAgMS44ODcobGluZXMgYXJlIGNvcGllZCBmcm9tIHRoZSBoaXN0b3J5IGxpc3QgdG8pCis0LjEzNyBGIEY1KCRISVNURklMRSkxMDggMzkxLjIgUSBGNiguKUEgRjAgLjA1NihJZiB0aGUpNC41NTYgRiBGMworKGhpc3RhcHBlbmQpMi41NTYgRSBGMCAuMDU2Cisoc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgXChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mKTIuNTU2IEYgRjMoc2hvcHQpMi41NTYKK0UgRjAodW5kZXIpMi41NTYgRSBGNSAuMDU2KFNIRUxMIEIpMi41NTYgRihVSUwpLS4wOSBFKFRJTiktLjgyOCBFCisoQ09NTUFORFMpMTA4IDQwMy4yIFEgRjAoYmVsbykyLjY3MSBFIC40MjIod1wpLCB0aGUgbGluZXMgYXJlIGFwcGVuZGVkIFwKK3RvIHRoZSBoaXN0b3J5IFwyMTRsZSwgb3RoZXJ3aXNlIHRoZSBoaXN0b3J5IFwyMTRsZSBpcyBvKS0uMjUgRiAtLjE1KHZlKQorLS4xNSBHIDIuOTIyKHJ3cml0dGVuLiBJZikuMTUgRiBGNShISVNURklMRSkxMDggNDE1LjIgUSBGMCAuNDM1KGlzIHVuc2VcCit0LCBvciBpZiB0aGUgaGlzdG9yeSBcMjE0bGUgaXMgdW53cml0YWJsZSwgdGhlIGhpc3RvcnkgaXMgbm90IHNhKTIuNjg1IEYKKy0uMTUodmUpLS4yIEcgMi45MzQoZC4gSWYpLjE1IEYodGhlKTIuOTM0IEUgRjUoSElTVFRJTUVGT1JNQSkyLjkzNCBFKFQpCistLjg1NSBFIEYwIC0uMjUodmEpMTA4IDQyNy4yIFMgLjkxNgorKHJpYWJsZSBpcyBzZXQsIHRpbWUgc3RhbXBzIGFyZSB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IFwyMTRsZSwgbWFyaykuMjUKK0YgLjkxNyhlZCB3aXRoIHRoZSBoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyKS0uMSBGIDMuNDE3KCxzKS0uNCBHKG8pCistMy40MTcgRSh0aGUpMTA4IDQzOS4yIFEgMy4wODMoeW0pLS4xNSBHIC41ODMoYXkgYmUgcHJlc2VydiktMy4wODMgRgorLjU4MyhlZCBhY3Jvc3Mgc2hlbGwgc2Vzc2lvbnMuKS0uMTUgRiAuNTgyCisoVGhpcyB1c2VzIHRoZSBoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyIHRvIGRpc3Rpbmd1aXNoIHRpbWUtKTUuNTgzIEYKKy45ODYoc3RhbXBzIGZyb20gb3RoZXIgaGlzdG9yeSBsaW5lcy4pMTA4IDQ1MS4yIFIgLjk4NihBZnRlciBzYSk1Ljk4NiBGCisuOTg2KHZpbmcgdGhlIGhpc3RvcnkpLS4yIEYgMy40ODYoLHQpLS42NSBHIC45ODcKKyhoZSBoaXN0b3J5IFwyMTRsZSBpcyB0cnVuY2F0ZWQgdG8gY29udGFpbiBubyBtb3JlKS0zLjQ4NiBGKHRoYW4pMTA4Cis0NjMuMiBRIEY1KEhJU1RGSUxFU0laRSkyLjUgRSBGMCAyLjUobGluZXMuIElmKTIuMjUgRiBGNShISVNURklMRVNJWkUpCisyLjUgRSBGMChpcyBub3Qgc2V0LCBubyB0cnVuY2F0aW9uIGlzIHBlcmZvcm1lZC4pMi4yNSBFIDEuMjk0KFRoZSBiKTEwOAorNDgwIFIgMS4yOTQodWlsdGluIGNvbW1hbmQpLS4yIEYgRjMoZmMpMy43OTQgRSBGMChcKHNlZSkzLjc5NCBFIEY1IDEuMjkzCisoU0hFTEwgQikzLjc5NCBGKFVJTCktLjA5IEUgMS4yOTMoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykzLjU0MyBFCisxLjI5Myh3XCkgbWF5IGJlIHVzZWQgdG8gbGlzdCBvciBlZGl0IGFuZCByZS0pLS4yNSBGIC0uMTUoZXhlKTEwOCA0OTIgUworLjY3MyhjdXRlIGEgcG9ydGlvbiBvZiB0aGUgaGlzdG9yeSBsaXN0LikuMTUgRihUaGUpNS42NzMgRSBGMyhoaXN0b3J5KQorMy4xNzMgRSBGMCAtLjIoYnUpMy4xNzMgRyAuNjczCisoaWx0aW4gbWF5IGJlIHVzZWQgdG8gZGlzcGxheSBvciBtb2RpZnkgdGhlIGhpc3RvcnkgbGlzdCkuMiBGIC4yOAorKGFuZCBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IFwyMTRsZS4pMTA4IDUwNCBSIC4yNzkKKyhXaGVuIHVzaW5nIGNvbW1hbmQtbGluZSBlZGl0aW5nLCBzZWFyY2ggY29tbWFuZHMgYXJlIGEpNS4yNzkgRiAtLjI1KHZhKQorLS4yIEcgLjI3OShpbGFibGUgaW4gZWFjaCkuMjUgRihlZGl0aW5nIG1vZGUgdGhhdCBwcm8pMTA4IDUxNiBRCisodmlkZSBhY2Nlc3MgdG8gdGhlIGhpc3RvcnkgbGlzdC4pLS4xNSBFIDEuNDg1KFRoZSBzaGVsbCBhbGxvKTEwOCA1MzIuOAorUiAxLjQ4NSh3cyBjb250cm9sIG8pLS4yNSBGIC0uMTUodmUpLS4xNSBHIDMuOTg2KHJ3KS4xNSBHIDEuNDg2CisoaGljaCBjb21tYW5kcyBhcmUgc2EpLTMuOTg2IEYgLS4xNSh2ZSktLjIgRyAzLjk4NihkbykuMTUgRyAzLjk4NihudCkKKy0zLjk4NiBHIDEuNDg2KGhlIGhpc3RvcnkgbGlzdC4pLTMuOTg2IEYoVGhlKTYuNDg2IEUgRjUoSElTVENPTlRSKTMuOTg2CitFKE9MKS0uMjcgRSBGMChhbmQpMy43MzYgRSBGNShISVNUSUdOT1JFKTEwOCA1NDQuOCBRIEYwIC0uMjUodmEpMi43MDggRworLjQ1OChyaWFibGVzIG1heSBiZSBzZXQgdG8gY2F1c2UgdGhlIHNoZWxsIHRvIHNhKS4yNSBGIC43NTcgLS4xNSh2ZSBvKQorLS4yIEggLjQ1NyhubHkgYSBzdWJzZXQgb2YgdGhlIGNvbW1hbmRzIGVudGVyZWQuKS4xNSBGKFRoZSk1LjQ1NyBFIEYzCisoY21kaGlzdCkxMDggNTU2LjggUSBGMCAuNzUKKyhzaGVsbCBvcHRpb24sIGlmIGVuYWJsZWQsIGNhdXNlcyB0aGUgc2hlbGwgdG8gYXR0ZW1wdCB0byBzYSkzLjI1IEYgMS4wNQorLS4xNSh2ZSBlKS0uMiBIIC43NShhY2ggbGluZSBvZiBhIG11bHRpLWxpbmUgY29tbWFuZCBpbikuMTUgRiAxLjA3NworKHRoZSBzYW1lIGhpc3RvcnkgZW50cnkpMTA4IDU2OC44IFIgMy41NzcoLGEpLS42NSBHIDEuMDc3CisoZGRpbmcgc2VtaWNvbG9ucyB3aGVyZSBuZWNlc3NhcnkgdG8gcHJlc2VydiktMy41NzcgRiAzLjU3NyhlcyktLjE1IEcKKzEuMDc3KHludGFjdGljIGNvcnJlY3RuZXNzLiktMy41NzcgRihUaGUpNi4wNzcgRSBGMyhsaXRoaXN0KTMuNTc2IEUgRjAKKy4zNzMoc2hlbGwgb3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gc2EpMTA4IDU4MC44IFIgLjY3NCAtLjE1KHZlIHQpLS4yCitIIC4zNzQoaGUgY29tbWFuZCB3aXRoIGVtYmVkZGVkIG5lKS4xNSBGIC4zNzQKKyh3bGluZXMgaW5zdGVhZCBvZiBzZW1pY29sb25zLiktLjI1IEYgLjM3NChTZWUgdGhlKTUuMzc0IEYgLjMxOQorKGRlc2NyaXB0aW9uIG9mIHRoZSkxMDggNTkyLjggUiBGMyhzaG9wdCkyLjgxOSBFIEYwIC0uMihidSkyLjgxOSBHIC4zMTgKKyhpbHRpbiBiZWxvKS4yIEYgMi44MTgod3UpLS4yNSBHKG5kZXIpLTIuODE4IEUgRjUgLjMxOChTSEVMTCBCKTIuODE4IEYKKyhVSUwpLS4wOSBFIC4zMTgoVElOIENPTU1BTkRTKS0uODI4IEYgRjAgLjMxOAorKGZvciBpbmZvcm1hdGlvbiBvbiBzZXR0aW5nIGFuZCkyLjU2OCBGKHVuc2V0dGluZyBzaGVsbCBvcHRpb25zLikxMDgKKzYwNC44IFEgRjIoSElTVCk3MiA2MjEuNiBRKE9SKS0uMTk3IEUgMi43MzgoWUUpLS4zODMgRyhYUCktMi43MzggRQorKEFOU0lPTiktLjgxIEUgRjAgLjYxKFRoZSBzaGVsbCBzdXBwb3J0cyBhIGhpc3RvcnkgZSkxMDggNjMzLjYgUiAuNjExCisoeHBhbnNpb24gZmVhdHVyZSB0aGF0IGlzIHNpbWlsYXIgdG8gdGhlIGhpc3RvcnkgZSktLjE1IEYgLjYxMQorKHhwYW5zaW9uIGluKS0uMTUgRiBGMyhjc2guKTMuMTExIEUgRjAgLjYxMShUaGlzIHNlY3Rpb24pNS42MTEgRiAuODcxCisoZGVzY3JpYmVzIHdoYXQgc3ludGF4IGZlYXR1cmVzIGFyZSBhKTEwOCA2NDUuNiBSIC0uMjUodmEpLS4yIEcgMy4zNzEKKyhpbGFibGUuIFRoaXMpLjI1IEYgLjg3MShmZWF0dXJlIGlzIGVuYWJsZWQgYnkgZGVmKTMuMzcxIEYgLjg3CisoYXVsdCBmb3IgaW50ZXJhY3RpKS0uMSBGIDEuMTcgLS4xNSh2ZSBzKS0uMjUgSCAuODcoaGVsbHMsIGFuZCkuMTUgRgorMi4wMTMoY2FuIGJlIGRpc2FibGVkIHVzaW5nIHRoZSkxMDggNjU3LjYgUiBGMygrSCk0LjUxNCBFIEYwIDIuMDE0Cisob3B0aW9uIHRvIHRoZSk0LjUxNCBGIEYzKHNldCk0LjUxNCBFIEYwIC0uMihidSk0LjUxNCBHIDIuMDE0CisoaWx0aW4gY29tbWFuZCBcKHNlZSkuMiBGIEY1IDIuMDE0KFNIRUxMIEIpNC41MTQgRihVSUwpLS4wOSBFIDIuMDE0CisoVElOIENPTU1BTkRTKS0uODI4IEYgRjAoYmVsbykxMDggNjY5LjYgUSAyLjUod1wpLiBOb24taW50ZXJhY3RpKS0uMjUgRgorLjMgLS4xNSh2ZSBzKS0uMjUgSChoZWxscyBkbyBub3QgcGVyZm9ybSBoaXN0b3J5IGUpLjE1IEUKKyh4cGFuc2lvbiBieSBkZWYpLS4xNSBFKGF1bHQuKS0uMSBFIDEuMzA2KEhpc3RvcnkgZSkxMDggNjg2LjQgUiAxLjMwNgorKHhwYW5zaW9ucyBpbnRyb2R1Y2UgdyktLjE1IEYgMS4zMDYob3JkcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QgaW50byB0aGVcCisgaW5wdXQgc3RyZWFtLCBtYWtpbmcgaXQgZWFzeSB0byByZXBlYXQpLS4xIEYgLjIwOQorKGNvbW1hbmRzLCBpbnNlcnQgdGhlIGFyKTEwOCA2OTguNCBSIC4yMDkoZ3VtZW50cyB0byBhIHByZSktLjE4IEYgLjIxCiAodmlvdXMgY29tbWFuZCBpbnRvIHRoZSBjdXJyZW50IGlucHV0IGxpbmUsIG9yIFwyMTR4IGVycm9ycyBpbiBwcmUpLS4yNQotRih2aW91cyktLjI1IEUoY29tbWFuZHMgcXVpY2tseSkxMDggMTg5LjYgUSguKS0uNjUgRSAxLjE2MyhIaXN0b3J5IGUpMTA4Ci0yMDYuNCBSIDEuMTYzKHhwYW5zaW9uIGlzIHBlcmZvcm1lZCBpbW1lZGlhdGVseSBhZnRlciBhIGNvbXBsZXRlIGxpbmUgaVwKLXMgcmVhZCwgYmVmb3JlIHRoZSBzaGVsbCBicmVha3MgaXQgaW50byktLjE1IEYgLS4xKHdvKTEwOCAyMTguNCBTIDMuMgotKHJkcy4gSXQpLjEgRih0YWspMy4yIEUgLjcoZXMgcGxhY2UgaW4gdHcpLS4xIEYgMy4yKG9wKS0uMSBHIDMuMgotKGFydHMuIFRoZSktMy4yIEYgLjcKLShcMjE0cnN0IGlzIHRvIGRldGVybWluZSB3aGljaCBsaW5lIGZyb20gdGhlIGhpc3RvcnkgbGlzdCB0byB1c2UgZHVyaW5nKQotMy4yIEYgNC4zNjcoc3Vic3RpdHV0aW9uLiBUaGUpMTA4IDIzMC40IFIgMS44Njgoc2Vjb25kIGlzIHRvIHNlbGVjdCBwb3JcCi10aW9ucyBvZiB0aGF0IGxpbmUgZm9yIGluY2x1c2lvbiBpbnRvIHRoZSBjdXJyZW50IG9uZS4pNC4zNjcgRiAxLjg2OAotKFRoZSBsaW5lKTYuODY4IEYgLjY2MyhzZWxlY3RlZCBmcm9tIHRoZSBoaXN0b3J5IGlzIHRoZSkxMDggMjQyLjQgUi9GNAotMTAvVGltZXMtSXRhbGljQDAgU0YgLS4xNShldikzLjE2MyBHKGVudCkuMTUgRSBGMCAzLjE2MygsYSlDIC42NjMKLShuZCB0aGUgcG9ydGlvbnMgb2YgdGhhdCBsaW5lIHRoYXQgYXJlIGFjdGVkIHVwb24gYXJlKS0zLjE2MyBGIEY0KHdvcikKLTMuMTYyIEUoZHMpLS4zNyBFIEYwIDUuNjYyKC5WKUMoYXJpb3VzKS02Ljc3MiBFIEY0KG1vZGlcMjE0ZXIpMTA4IDI1NC40Ci1RKHMpLS4xIEUgRjAgLjIyNihhcmUgYSkyLjcyNiBGIC0uMjUodmEpLS4yIEcgLjIyNgotKGlsYWJsZSB0byBtYW5pcHVsYXRlIHRoZSBzZWxlY3RlZCB3KS4yNSBGIDIuNzI2KG9yZHMuIFRoZSktLjEgRiAuMjI3Ci0obGluZSBpcyBicm9rKTIuNzI2IEYgLjIyNyhlbiBpbnRvIHcpLS4xIEYgLjIyNyhvcmRzIGluIHRoZSBzYW1lIGYpLS4xIEYKLShhc2hpb24pLS4xIEUgLjM1MihhcyB3aGVuIHJlYWRpbmcgaW5wdXQsIHNvIHRoYXQgc2UpMTA4IDI2Ni40IFIgLS4xNQotKHZlKS0uMjUgRyhyYWwpLjE1IEUgRjQobWV0YWMpMi44NTIgRShoYXIpLS4xNSBFKGFjdGVyKS0uMTUgRSBGMCAuMzUxCi0oLXNlcGFyYXRlZCB3KUIgLjM1MShvcmRzIHN1cnJvdW5kZWQgYnkgcXVvdGVzIGFyZSBjb25zaWRlcmVkKS0uMSBGIC42MjQKLShvbmUgdykxMDggMjc4LjQgUiAzLjEyNChvcmQuIEhpc3RvcnkpLS4xIEYgLS4xNShleCkzLjEyNCBHIC42MjQKLShwYW5zaW9ucyBhcmUgaW50cm9kdWNlZCBieSB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgaGlzdG9yeSBlKS4xNSBGIC42MjUKLSh4cGFuc2lvbiBjaGFyYWN0ZXIpLS4xNSBGIDMuMTI1KCx3KS0uNCBHKGhpY2gpLTMuMTI1IEUoaXMpMTA4IDI5MC40IFEKLUYyKCEpMy4zMzMgRSBGMChieSBkZWYpMy4zMzMgRSAyLjUoYXVsdC4gT25seSktLjEgRihiYWNrc2xhc2ggXCgpMi41IEUKLUYyKFxcKS44MzMgRSBGMCAyLjUoXClhKS44MzMgRyhuZCBzaW5nbGUgcXVvdGVzIGNhbiBxdW90ZSB0aGUgaGlzdG9yeSBlKQotLTIuNSBFKHhwYW5zaW9uIGNoYXJhY3RlciktLjE1IEUoLiktLjU1IEUoU2UpMTA4IDMwNy4yIFEgLS4xNSh2ZSktLjI1IEcKLS4wMyhyYWwgY2hhcmFjdGVycyBpbmhpYml0IGhpc3RvcnkgZSkuMTUgRiAuMDMKLSh4cGFuc2lvbiBpZiBmb3VuZCBpbW1lZGlhdGVseSBmb2xsbyktLjE1IEYgLjAzKHdpbmcgdGhlIGhpc3RvcnkgZSktLjI1Ci1GIC4wMyh4cGFuc2lvbiBjaGFyYWN0ZXIpLS4xNSBGKCwpLS40IEUgLTIuMTUgLS4yNShldiBlKTEwOCAzMTkuMiBUCi0zLjE2MihuaSkuMjUgRyAzLjE2MihmaSktMy4xNjIgRyAzLjE2Mih0aSktMy4xNjIgRyAzLjE2MihzdSktMy4xNjIgRwotLjY2MihucXVvdGVkOiBzcGFjZSwgdGFiLCBuZSktMy4xNjIgRiAuNjYyKHdsaW5lLCBjYXJyaWFnZSByZXR1cm4sIGFuZCkKLS0uMjUgRiBGMig9KTMuMTYyIEUgRjAgNS42NjIoLkkpQyAzLjE2MihmdCktNS42NjIgRyhoZSktMy4xNjIgRSBGMgotKGV4dGdsb2IpMy4xNjIgRSBGMCAuNjYyKHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkLCkzLjE2MiBGIEYyKFwoKTMuMTYzIEUKLUYwKHdpbGwgYWxzbyBpbmhpYml0IGUpMTA4IDMzMS4yIFEoeHBhbnNpb24uKS0uMTUgRShTZSkxMDggMzQ4IFEgLS4xNQotKHZlKS0uMjUgRyAuMTEocmFsIHNoZWxsIG9wdGlvbnMgc2V0dGFibGUgd2l0aCB0aGUpLjE1IEYgRjIoc2hvcHQpMi42MSBFCi1GMCAtLjIoYnUpMi42MSBHIC4xMDkoaWx0aW4gbWF5IGJlIHVzZWQgdG8gdGFpbG9yIHRoZSBiZWhhKS4yIEYgLjEwOQotKHZpb3Igb2YgaGlzdG9yeSBlKS0uMiBGKHhwYW5zaW9uLiktLjE1IEUgMS4xNDIoSWYgdGhlKTEwOCAzNjAgUiBGMgotKGhpc3R2KTMuNjQzIEUoZXJpZnkpLS4xIEUgRjAgMS4xNDMKLShzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCBcKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlKTMuNjQzIEYgRjIoc2hvcHQpCi0zLjY0MyBFIEYwIC0uMihidSkzLjY0MyBHIDEuMTQzKGlsdGluIGJlbG8pLjIgRiAxLjE0Myh3XCksIGFuZCktLjI1IEYgRjIKLS0uMTgocmUpMy42NDMgRyhhZGxpbmUpLjE4IEUgRjAoaXMpMy42NDMgRSAuNDYxKGJlaW5nIHVzZWQsIGhpc3Rvcnkgc3ViXAotc3RpdHV0aW9ucyBhcmUgbm90IGltbWVkaWF0ZWx5IHBhc3NlZCB0byB0aGUgc2hlbGwgcGFyc2VyKTEwOCAzNzIgUiA1LjQ2Ci0oLkkpLS41NSBHIC40Nihuc3RlYWQsIHRoZSBlKS01LjQ2IEYgLjQ2KHhwYW5kZWQgbGluZSktLjE1IEYgMS41MTUKLShpcyByZWxvYWRlZCBpbnRvIHRoZSkxMDggMzg0IFIgRjIgLS4xOChyZSk0LjAxNSBHKGFkbGluZSkuMTggRSBGMCAxLjUxNQotKGVkaXRpbmcgYik0LjAxNSBGKHVmKS0uMiBFIDEuNTE2KGZlciBmb3IgZnVydGhlciBtb2RpXDIxNGNhdGlvbi4pLS4yNSBGCi0oSWYpNi41MTYgRSBGMiAtLjE4KHJlKTQuMDE2IEcoYWRsaW5lKS4xOCBFIEYwIDEuNTE2Ci0oaXMgYmVpbmcgdXNlZCwgYW5kIHRoZSk0LjAxNiBGIEYyKGhpc3RyKTEwOCAzOTYgUShlZWRpdCktLjE4IEUgRjAgMS4yMDIKLShzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCwgYSBmKTMuNzAyIEYgMS4yMDIKLShhaWxlZCBoaXN0b3J5IHN1YnN0aXR1dGlvbiB3aWxsIGJlIHJlbG9hZGVkIGludG8gdGhlKS0uMSBGIEYyIC0uMTgocmUpCi0zLjcwMiBHKGFkbGluZSkuMTggRSBGMChlZGl0aW5nKTMuNzAyIEUgLS4yKGJ1KTEwOCA0MDggUyAtLjI1KGZmKS4yIEcKLTEuMTYoZXIgZm9yIGNvcnJlY3Rpb24uKS4yNSBGKFRoZSk2LjE2IEUgRjI8YWQ3MD4zLjY2IEUgRjAgMS4xNgotKG9wdGlvbiB0byB0aGUpMy42NiBGIEYyKGhpc3RvcnkpMy42NiBFIEYwIC0uMihidSkzLjY2MSBHIDEuMTYxCi0oaWx0aW4gY29tbWFuZCBtYXkgYmUgdXNlZCB0byBzZWUgd2hhdCBhIGhpc3RvcnkpLjIgRiAtLjE1KGV4KTEwOCA0MjAgUwotLjA1NihwYW5zaW9uIHdpbGwgZG8gYmVmb3JlIHVzaW5nIGl0LikuMTUgRihUaGUpNS4wNTYgRSBGMjxhZDczPjIuNTU2IEUKLUYwIC4wNTYob3B0aW9uIHRvIHRoZSkyLjU1NiBGIEYyKGhpc3RvcnkpMi41NTUgRSBGMCAtLjIoYnUpMi41NTUgRyAuMDU1Ci0oaWx0aW4gbWF5IGJlIHVzZWQgdG8gYWRkIGNvbW1hbmRzIHRvIHRoZSkuMiBGCi0oZW5kIG9mIHRoZSBoaXN0b3J5IGxpc3Qgd2l0aG91dCBhY3R1YWxseSBlKTEwOCA0MzIgUSAtLjE1KHhlKS0uMTUgRwotKGN1dGluZyB0aGVtLCBzbyB0aGF0IHRoZSkuMTUgRSAyLjUoeWEpLS4xNSBHKHJlIGEpLTIuNSBFIC0uMjUodmEpLS4yIEcKLShpbGFibGUgZm9yIHN1YnNlcXVlbnQgcmVjYWxsLikuMjUgRSAyLjIoVGhlIHNoZWxsIGFsbG8pMTA4IDQ0OC44IFIgMi4yCi0od3MgY29udHJvbCBvZiB0aGUgdiktLjI1IEYgMi4yKGFyaW91cyBjaGFyYWN0ZXJzIHVzZWQgYnkgdGhlIGhpc3RvcnkgZSkKLS0uMjUgRiAyLjIoeHBhbnNpb24gbWVjaGFuaXNtIFwoc2VlIHRoZSktLjE1IEYgMS4xNDcoZGVzY3JpcHRpb24gb2YpMTA4Ci00NjAuOCBSIEYyKGhpc3RjaGFycykzLjY0NyBFIEYwKGFibykzLjY0NyBFIDEuNDQ3IC0uMTUodmUgdSktLjE1IEgobmRlcikKLS4xNSBFIEYyIDEuMTQ3KFNoZWxsIFYpMy42NDcgRihhcmlhYmxlcyktLjkyIEUgRjAgMy42NDYoXCkuIFRoZSlCIDEuMTQ2Ci0oc2hlbGwgdXNlcyB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3RlciB0bykzLjY0NiBGCi0obWFyayBoaXN0b3J5IHRpbWVzdGFtcHMgd2hlbiB3cml0aW5nIHRoZSBoaXN0b3J5IFwyMTRsZS4pMTA4IDQ3Mi44IFEgRjIKLShFdik4NyA0ODkuNiBRKGVudCBEZXNpZ25hdG9ycyktLjEgRSBGMChBbiBlKTEwOCA1MDEuNiBRIC0uMTUodmUpLS4yNSBHCi0obnQgZGVzaWduYXRvciBpcyBhIHJlZmVyZW5jZSB0byBhIGNvbW1hbmQgbGluZSBlbnRyeSBpbiB0aGUgaGlzdG9yeSBsaVwKLXN0LikuMTUgRSBGMighKTEwOCA1MTguNCBRIEYwIDEuNjA3KFN0YXJ0IGEgaGlzdG9yeSBzdWJzdGl0dXRpb24sIGUpCi0zMi42NyBGIDEuNjA3KHhjZXB0IHdoZW4gZm9sbG8pLS4xNSBGIDEuNjA3KHdlZCBieSBhKS0uMjUgRiBGMihibGFuaykKLTQuMTA3IEUgRjAgNC4xMDcoLG4pQyAtLjI1KGV3KS00LjEwNyBHIDEuNjA4Ci0obGluZSwgY2FycmlhZ2UgcmV0dXJuLCA9IG9yIFwoKS4yNSBGKFwod2hlbiB0aGUpMTQ0IDUzMC40IFEgRjIoZXh0Z2xvYikKLTIuNSBFIEYwKHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkIHVzaW5nIHRoZSkyLjUgRSBGMihzaG9wdCkyLjUgRSBGMCAtLjIKLShidSkyLjUgRyhpbHRpblwpLikuMiBFIEYyKCEpMTA4IDU0Mi40IFEgRjQobilBIEYwCi0oUmVmZXIgdG8gY29tbWFuZCBsaW5lKTI3LjY3IEUgRjQobikyLjUgRSBGMCguKS4yNCBFIEYyPDIxYWQ+MTA4IDU1NC40IFEKLUY0KG4pQSBGMChSZWZlciB0byB0aGUgY3VycmVudCBjb21tYW5kIGxpbmUgbWludXMpMjEuOTcgRSBGNChuKTIuNSBFIEYwCi0oLikuMjQgRSBGMighISkxMDggNTY2LjQgUSBGMChSZWZlciB0byB0aGUgcHJlKTI5LjM0IEUodmlvdXMgY29tbWFuZC4pCi0tLjI1IEUoVGhpcyBpcyBhIHN5bm9uKTUgRSh5bSBmb3IgYCFcMjU1MScuKS0uMTUgRSBGMighKTEwOCA1NzguNCBRIEY0Ci0oc3RyaW5nKUEgRjAoUmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgc3RhcnRpbmcgd2l0aCk5LjMzIEUgRjQKLShzdHJpbmcpMi41IEUgRjAoLikuMjIgRSBGMighPykxMDggNTkwLjQgUSBGNChzdHJpbmcpQSBGMihbP10pQSBGMCAxLjAyMgotKFJlZmVyIHRvIHRoZSBtb3N0IHJlY2VudCBjb21tYW5kIGNvbnRhaW5pbmcpMTQ0IDYwMi40IFIgRjQoc3RyaW5nKTMuNTIyCi1FIEYwIDYuMDIyKC5UKS4yMiBHIDEuMDIyKGhlIHRyYWlsaW5nKS02LjAyMiBGIEYyKD8pMy41MjIgRSBGMCAxLjAyMgotKG1heSBiZSBvbWl0dGVkIGlmKTMuNTIyIEYgRjQoc3RyaW5nKTMuODYxIEUgRjAoaXMpMy43NDEgRShmb2xsbykxNDQKLTYxNC40IFEod2VkIGltbWVkaWF0ZWx5IGJ5IGEgbmUpLS4yNSBFKHdsaW5lLiktLjI1IEUvRjUgMTIvVGltZXMtQm9sZEAwCi1TRiheKTEwOCA2MzEuNCBRIEY0KHN0cmluZzEpLTUgSSBGNSheKTUgSSBGNChzdHJpbmcyKS01IEkgRjUoXik1IEkgRjAKLTIuNjI5KFF1aWNrIHN1YnN0aXR1dGlvbi4pMTQ0IDYzOC40IFIgMi42MjkKLShSZXBlYXQgdGhlIGxhc3QgY29tbWFuZCwgcmVwbGFjaW5nKTcuNjI5IEYgRjQoc3RyaW5nMSk1LjQ2OSBFIEYwKHdpdGgpCi01LjEyOSBFIEY0KHN0cmluZzIpNS4xMjkgRSBGMCA3LjYyOSguRSkuMDIgRyhxdWkpLTcuNjI5IEUgLS4yNSh2YSktLjI1IEcKLTIuNjMobGVudCB0bykuMjUgRiAtLjc0KGBgKTE0NCA2NTAuNCBTKCEhOnMvKS43NCBFIEY0KHN0cmluZzEpQSBGMCgvKUEKLUY0KHN0cmluZzIpQSBGMCgvJylBIDIuNSgnXCgpLS43NCBHKHNlZSktMi41IEUgRjIoTW9kaVwyMTRlcnMpMi41IEUgRjAKLShiZWxvKTIuNSBFKHdcKS4pLS4yNSBFIEYyKCEjKTEwOCA2NjIuNCBRIEYwCi0oVGhlIGVudGlyZSBjb21tYW5kIGxpbmUgdHlwZWQgc28gZikyNy42NyBFKGFyKS0uMSBFKC4pLS41NSBFIEYyIC0uNzUKLShXbyk4NyA2NzkuMiBTKHJkIERlc2lnbmF0b3JzKS43NSBFIEYwIC0uOChXbykxMDggNjkxLjIgUyAxLjMxNAotKHJkIGRlc2lnbmF0b3JzIGFyZSB1c2VkIHRvIHNlbGVjdCBkZXNpcmVkIHcpLjggRiAxLjMxNChvcmRzIGZyb20gdGhlIGUpCi0tLjEgRiAtLjE1KHZlKS0uMjUgRyAzLjgxNChudC4gQSkuMTUgRiBGMig6KTMuODE0IEUgRjAgMS4zMTMKLShzZXBhcmF0ZXMgdGhlIGUpMy44MTMgRiAtLjE1KHZlKS0uMjUgRyAxLjMxMyhudCBzcGVjaVwyMTRjYXRpb24pLjE1IEYKLS41MjkoZnJvbSB0aGUgdykxMDggNzAzLjIgUiAuNTI5KG9yZCBkZXNpZ25hdG9yKS0uMSBGIDUuNTI5KC5JKS0uNTUgRwotMy4wMjkodG0pLTUuNTI5IEcgLjUyOShheSBiZSBvbWl0dGVkIGlmIHRoZSB3KS0zLjAyOSBGIC41MjkKLShvcmQgZGVzaWduYXRvciBiZSktLjEgRiAuNTI5KGdpbnMgd2l0aCBhKS0uMTUgRiBGMiheKTMuMDI5IEUgRjAoLClBIEYyCi0oJCkzLjAyOSBFIEYwKCwpQSBGMigqKTMuMDI5IEUgRjAoLClBIEYyPGFkPjMuMDI5IEUgRjAgMy4wMjkoLG8pQyhyKQotLTMuMDI5IEUgRjIoJSkzLjAyOSBFIEYwIDUuNTMoLlcpQyhvcmRzKS02LjMzIEUgMS4zMDEKLShhcmUgbnVtYmVyZWQgZnJvbSB0aGUgYmUpMTA4IDcxNS4yIFIgMS4zMDEKLShnaW5uaW5nIG9mIHRoZSBsaW5lLCB3aXRoIHRoZSBcMjE0cnN0IHcpLS4xNSBGIDEuMwotKG9yZCBiZWluZyBkZW5vdGVkIGJ5IDAgXCh6ZXJvXCkuKS0uMSBGIC0uOChXbyk2LjMgRyAxLjMocmRzIGFyZSkuOCBGCi0oaW5zZXJ0ZWQgaW50byB0aGUgY3VycmVudCBsaW5lIHNlcGFyYXRlZCBieSBzaW5nbGUgc3BhY2VzLikxMDggNzI3LjIgUQotKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg0NykxODUuOTU1IEUgMCBDZyBFUAorRih2aW91cyktLjI1IEUoY29tbWFuZHMgcXVpY2tseSkxMDggNzEwLjQgUSguKS0uNjUgRSAxLjE2NChIaXN0b3J5IGUpMTA4Cis3MjcuMiBSIDEuMTYzKHhwYW5zaW9uIGlzIHBlcmZvcm1lZCBpbW1lZGlhdGVseSBhZnRlciBhIGNvbXBsZXRlIGxpbmUgaVwKK3MgcmVhZCwgYmVmb3JlIHRoZSBzaGVsbCBicmVha3MgaXQgaW50byktLjE1IEYoR05VIEJhc2gtNC4yKTcyIDc2OCBRCisoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoNDcpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNDggNDgKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGIDIuNSgwXCgpMTA4IDg0IFMoemVyKS0yLjUgRShvXCkpLS4xOCBFIEYwCi0oVGhlIHplcm90aCB3KTE0NCA5NiBRIDIuNShvcmQuIEYpLS4xIEYKLShvciB0aGUgc2hlbGwsIHRoaXMgaXMgdGhlIGNvbW1hbmQgdyktLjE1IEUob3JkLiktLjEgRS9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKG4pMTA4LjM2IDEwOCBRIEYwKFRoZSkzMC42NCBFIEYyKG4pMi41IEUgRjAodGggdylBCi0ob3JkLiktLjEgRSBGMSheKTEwOCAxMjAgUSBGMChUaGUgXDIxNHJzdCBhcikzMi42NyBFIDIuNShndW1lbnQuIFRoYXQpCi0tLjE4IEYoaXMsIHcpMi41IEUob3JkIDEuKS0uMSBFIEYxKCQpMTA4IDEzMiBRIEYwKFRoZSBsYXN0IGFyKTMxIEUKLShndW1lbnQuKS0uMTggRSBGMSglKTEwOCAxNDQgUSBGMChUaGUgdykyNiBFCi0ob3JkIG1hdGNoZWQgYnkgdGhlIG1vc3QgcmVjZW50IGA/KS0uMSBFIEYyKHN0cmluZylBIEYwKD8nIHNlYXJjaC4pQSBGMgotKHgpMTA4Ljc3IDE1NiBRIEYxPGFkPkEgRjIoeSlBIEYwIDIuNShBcikyMC42NSBHKGFuZ2Ugb2YgdyktMi41IEUKLShvcmRzOyBgXDI1NSktLjEgRSBGMih5KUEgRjAgMi41KCdhKUMoYmJyZSktMi41IEUodmlhdGVzIGAwXDI1NSktLjI1IEUKLUYyKHkpQSBGMCgnLilBIEYxKCopMTA4IDE2OCBRIEYwIC4zMTUoQWxsIG9mIHRoZSB3KTMxIEYgLjMxNShvcmRzIGIpLS4xCi1GIC4zMTUodXQgdGhlIHplcm90aC4pLS4yIEYgLjMxNShUaGlzIGlzIGEgc3lub24pNS4zMTUgRiAuMzE1KHltIGZvciBgKQotLS4xNSBGIEYyKDFcMjU1JClBIEYwIDIuODE1KCcuIEl0KUIgLjMxNShpcyBub3QgYW4gZXJyb3IgdG8gdXNlKTIuODE1IEYKLUYxKCopMi44MTYgRSBGMCAuMzE2KGlmIHRoZXJlIGlzKTIuODE2IEYoanVzdCBvbmUgdykxNDQgMTgwIFEKLShvcmQgaW4gdGhlIGUpLS4xIEUgLS4xNSh2ZSktLjI1IEcKLShudDsgdGhlIGVtcHR5IHN0cmluZyBpcyByZXR1cm5lZCBpbiB0aGF0IGNhc2UuKS4xNSBFIEYxKHgqKTEwOCAxOTIgUSBGMAotKEFiYnJlKTI2IEUodmlhdGVzKS0uMjUgRSBGMih4XDI1NSQpMi41IEUgRjAoLilBIEYxPDc4YWQ+MTA4IDIwNCBRIEYwCi0oQWJicmUpMjUuMyBFKHZpYXRlcyktLjI1IEUgRjIoeFwyNTUkKTIuNSBFIEYwKGxpaykyLjUgRShlKS0uMSBFIEYxKHgqKQotMi41IEUgRjAgMi41KCxiKUModXQgb21pdHMgdGhlIGxhc3QgdyktMi43IEUob3JkLiktLjEgRShJZiBhIHcpMTA4IDIyMC44Ci1RKG9yZCBkZXNpZ25hdG9yIGlzIHN1cHBsaWVkIHdpdGhvdXQgYW4gZSktLjEgRSAtLjE1KHZlKS0uMjUgRwotKG50IHNwZWNpXDIxNGNhdGlvbiwgdGhlIHByZSkuMTUgRSh2aW91cyBjb21tYW5kIGlzIHVzZWQgYXMgdGhlIGUpLS4yNSBFCi0tLjE1KHZlKS0uMjUgRyhudC4pLjE1IEUgRjEoTW9kaVwyMTRlcnMpODcgMjM3LjYgUSBGMCAuMTg0Ci0oQWZ0ZXIgdGhlIG9wdGlvbmFsIHcpMTA4IDI0OS42IFIgLjE4NChvcmQgZGVzaWduYXRvciktLjEgRiAyLjY4NCgsdCktLjQKLUcgLjE4MyhoZXJlIG1heSBhcHBlYXIgYSBzZXF1ZW5jZSBvZiBvbmUgb3IgbW9yZSBvZiB0aGUgZm9sbG8pLTIuNjg0IEYKLS4xODMod2luZyBtb2RpXDIxNGVycywpLS4yNSBGKGVhY2ggcHJlY2VkZWQgYnkgYSBgOicuKTEwOCAyNjEuNiBRIEYxKGgpCi0xMDggMjc4LjQgUSBGMChSZW1vKTMwLjQ0IEUgLjMgLS4xNSh2ZSBhIHQpLS4xNSBICi0ocmFpbGluZyBcMjE0bGUgbmFtZSBjb21wb25lbnQsIGxlYSkuMTUgRSh2aW5nIG9ubHkgdGhlIGhlYWQuKS0uMiBFIEYxCi0odCkxMDggMjkwLjQgUSBGMChSZW1vKTMyLjY3IEUgLjMgLS4xNSh2ZSBhKS0uMTUgSAotKGxsIGxlYWRpbmcgXDIxNGxlIG5hbWUgY29tcG9uZW50cywgbGVhKS4xNSBFKHZpbmcgdGhlIHRhaWwuKS0uMiBFIEYxKHIpCi0xMDggMzAyLjQgUSBGMChSZW1vKTMxLjU2IEUgLjMgLS4xNSh2ZSBhIHQpLS4xNSBIKHJhaWxpbmcgc3VmKS4xNSBFCi0oXDIxNHggb2YgdGhlIGZvcm0pLS4yNSBFIEYyKC54eHgpMi41IEUgRjAgMi41KCxsKUMoZWEpLTIuNSBFCi0odmluZyB0aGUgYmFzZW5hbWUuKS0uMiBFIEYxKGUpMTA4IDMxNC40IFEgRjAoUmVtbykzMS41NiBFIC4zIC0uMTUodmUgYSkKLS0uMTUgSChsbCBiKS4xNSBFKHV0IHRoZSB0cmFpbGluZyBzdWYpLS4yIEUoXDIxNHguKS0uMjUgRSBGMShwKTEwOCAzMjYuNAotUSBGMChQcmludCB0aGUgbmUpMzAuNDQgRSAyLjUod2MpLS4yNSBHKG9tbWFuZCBiKS0yLjUgRSh1dCBkbyBub3QgZSktLjIKLUUgLS4xNSh4ZSktLjE1IEcoY3V0ZSBpdC4pLjE1IEUgRjEocSkxMDggMzM4LjQgUSBGMAotKFF1b3RlIHRoZSBzdWJzdGl0dXRlZCB3KTMwLjQ0IEUob3JkcywgZXNjYXBpbmcgZnVydGhlciBzdWJzdGl0dXRpb25zLikKLS0uMSBFIEYxKHgpMTA4IDM1MC40IFEgRjAoUXVvdGUgdGhlIHN1YnN0aXR1dGVkIHcpMzEgRShvcmRzIGFzIHdpdGgpLS4xCi1FIEYxKHEpMi41IEUgRjAgMi41KCxiKUModXQgYnJlYWsgaW50byB3KS0yLjcgRShvcmRzIGF0KS0uMSBFIEYxKGJsYW5rcykKLTIuNSBFIEYwKGFuZCBuZSkyLjUgRSh3bGluZXMuKS0uMjUgRSBGMShzLykxMDggMzYyLjQgUSBGMihvbGQpQSBGMSgvKUEKLUYyKG5lKUEodyktLjE1IEUgRjEoLylBIEYwKFN1YnN0aXR1dGUpMTQ0IDM3NC40IFEgRjIobmUpMy4wODEgRSh3KS0uMTUgRQotRjAgLjIyMShmb3IgdGhlIFwyMTRyc3Qgb2NjdXJyZW5jZSBvZikzLjAzMSBGIEYyKG9sZCkyLjk1MSBFIEYwIC4yMjEKLShpbiB0aGUgZSkzLjQ5MSBGIC0uMTUodmUpLS4yNSBHIC4yMjEobnQgbGluZS4pLjE1IEYoQW4pNS4yMjEgRSAyLjcyMQotKHlkKS0uMTUgRyAuMjIxKGVsaW1pdGVyIGNhbiBiZSB1c2VkIGluIHBsYWNlKS0yLjcyMSBGIC42MTcob2YgLy4pMTQ0Ci0zODYuNCBSIC42MTcKLShUaGUgXDIxNG5hbCBkZWxpbWl0ZXIgaXMgb3B0aW9uYWwgaWYgaXQgaXMgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIHRoZSBlKQotNS42MTcgRiAtLjE1KHZlKS0uMjUgRyAuNjE3KG50IGxpbmUuKS4xNSBGIC42MTYoVGhlIGRlbGltaXRlciBtYXkpNS42MTYKLUYgLjY2NihiZSBxdW90ZWQgaW4pMTQ0IDM5OC40IFIgRjIob2xkKTMuMzk2IEUgRjAoYW5kKTMuOTM2IEUgRjIobmUpCi0zLjUyNiBFKHcpLS4xNSBFIEYwIC42NjYod2l0aCBhIHNpbmdsZSBiYWNrc2xhc2guKTMuNDc2IEYgLjY2NgotKElmICYgYXBwZWFycyBpbik1LjY2NiBGIEYyKG5lKTMuMTY2IEUodyktLjE1IEUgRjAgMy4xNjYoLGkpLjMxIEcgMy4xNjYKLSh0aSktMy4xNjYgRyAzLjE2NihzciktMy4xNjYgRyAuNjY2KGVwbGFjZWQgYnkpLTMuMTY2IEYgRjIob2xkKTMuMTY2IEUKLUYwIDUuNjY2KC5BKS43NyBHIC4yNzUoc2luZ2xlIGJhY2tzbGFzaCB3aWxsIHF1b3RlIHRoZSAmLikxNDQgNDEwLjQgUgotKElmKTUuMjc1IEUgRjIob2xkKTMuMDA0IEUgRjAgLjI3NChpcyBudWxsLCBpdCBpcyBzZXQgdG8gdGhlIGxhc3QpMy41NDQKLUYgRjIob2xkKTMuMDA0IEUgRjAgLjI3NChzdWJzdGl0dXRlZCwgb3IpMy41NDQgRiAyLjc3NCgsaSktLjQgRyAyLjc3NAotKGZuKS0yLjc3NCBHIDIuNzc0KG9wKS0yLjc3NCBHKHJlKS0yLjc3NCBFKHZpLSktLjI1IEUKLShvdXMgaGlzdG9yeSBzdWJzdGl0dXRpb25zIHRvb2sgcGxhY2UsIHRoZSBsYXN0KTE0NCA0MjIuNCBRIEYyKHN0cmluZykKLTIuODQgRSBGMChpbiBhKTIuNzIgRSBGMSghPykyLjUgRSBGMihzdHJpbmcpQSBGMShbP10pQSBGMChzZWFyY2guKTUgRSBGMQotKCYpMTA4IDQzNC40IFEgRjAoUmVwZWF0IHRoZSBwcmUpMjcuNjcgRSh2aW91cyBzdWJzdGl0dXRpb24uKS0uMjUgRSBGMQotKGcpMTA4IDQ0Ni40IFEgRjAgLjM5NyhDYXVzZSBjaGFuZ2VzIHRvIGJlIGFwcGxpZWQgbykzMSBGIC0uMTUodmUpLS4xNSBHCi0yLjg5NyhydCkuMTUgRyAuMzk4KGhlIGVudGlyZSBlKS0yLjg5NyBGIC0uMTUodmUpLS4yNSBHIC4zOTgobnQgbGluZS4pCi0uMTUgRiAuMzk4KFRoaXMgaXMgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGApNS4zOTggRiBGMSg6cylBIEYwIDIuODk4Ci0oJ1woKUMoZS5nLiwpLTIuODk4IEUoYCkxNDQgNDU4LjQgUSBGMSg6Z3MvKUEgRjIob2xkKUEgRjEoLylBIEYyKG5lKUEodykKLS0uMTUgRSBGMSgvKUEgRjAgMS4yMTkoJ1wpIG9yIGApQiBGMSg6JilBIEYwIDMuNzE5KCcuIElmKUIgMS4yMTkKLSh1c2VkIHdpdGggYCkzLjcxOSBGIEYxKDpzKUEgRjAgMS4yMTgoJywgYW4pQiAzLjcxOCh5ZCktLjE1IEcgMS4yMTgKLShlbGltaXRlciBjYW4gYmUgdXNlZCBpbiBwbGFjZSBvZiAvLCBhbmQgdGhlIFwyMTRuYWwpLTMuNzE4IEYgLjA4OQotKGRlbGltaXRlciBpcyBvcHRpb25hbCBpZiBpdCBpcyB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgdGhlIGUpMTQ0IDQ3MC40IFIKLS0uMTUodmUpLS4yNSBHIC4wOShudCBsaW5lLikuMTUgRihBbik1LjA5IEUgRjEoYSkyLjU5IEUgRjAgLjA5Ci0obWF5IGJlIHVzZWQgYXMgYSBzeW5vbikyLjU5IEYgLjA5KHltIGZvciktLjE1IEYgRjEoZykxNDQgNDgyLjQgUSBGMCguKUEKLUYxKEcpMTA4IDQ5NC40IFEgRjAoQXBwbHkgdGhlIGZvbGxvKTI4LjIyIEUod2luZyBgKS0uMjUgRSBGMShzKUEgRjAgMi41Ci0oJ20pQyhvZGlcMjE0ZXIgb25jZSB0byBlYWNoIHcpLTIuNSBFKG9yZCBpbiB0aGUgZSktLjEgRSAtLjE1KHZlKS0uMjUgRwotKG50IGxpbmUuKS4xNSBFL0YzIDEwLjk1L1RpbWVzLUJvbGRAMCBTRihTSEVMTCBCKTcyIDUxMS4yIFEoVUlMKS0uMTEgRQotKFRJTiBDT01NQU5EUyktMS4wMDcgRSBGMCAuMDYzKFVubGVzcyBvdGhlcndpc2Ugbm90ZWQsIGVhY2ggYikxMDggNTIzLjIKLVIgLjA2Mih1aWx0aW4gY29tbWFuZCBkb2N1bWVudGVkIGluIHRoaXMgc2VjdGlvbiBhcyBhY2NlcHRpbmcgb3B0aW9ucyBwXAotcmVjZWRlZCBieSktLjIgRiBGMTxhZD4xMDggNTM1LjIgUSBGMChhY2NlcHRzKTIuNTMzIEUgRjE8YWRhZD4yLjUzMyBFIEYwCi0uMDM0KHRvIHNpZ25pZnkgdGhlIGVuZCBvZiB0aGUgb3B0aW9ucy4pMi41MzMgRihUaGUpNS4wMzQgRSBGMSg6KTIuNTM0IEUKLUYwKCwpQSBGMSh0cnVlKTIuNTM0IEUgRjAoLClBIEYxKGZhbHNlKTIuNTM0IEUgRjAgMi41MzQoLGEpQyhuZCktMi41MzQgRQotRjEodGVzdCkyLjUzNCBFIEYwIC0uMihidSkyLjUzNCBHIC4wMzQoaWx0aW5zIGRvIG5vdCBhY2NlcHQgb3B0aW9ucyBhbmQpCi0uMiBGIC4wNzgoZG8gbm90IHRyZWF0KTEwOCA1NDcuMiBSIEYxPGFkYWQ+Mi41NzcgRSBGMChzcGVjaWFsbHkpMi41NzcgRQotNS4wNzcoLlQpLS42NSBHKGhlKS01LjA3NyBFIEYxKGV4aXQpMi41NzcgRSBGMCgsKUEgRjEobG9nb3V0KTIuNTc3IEUgRjAKLSgsKUEgRjEoYnIpMi41NzcgRShlYWspLS4xOCBFIEYwKCwpQSBGMShjb250aW51ZSkyLjU3NyBFIEYwKCwpQSBGMShsZXQpCi0yLjU3NyBFIEYwIDIuNTc3KCxhKUMobmQpLTIuNTc3IEUgRjEoc2hpZnQpMi41NzcgRSBGMCAtLjIoYnUpMi41NzcgRwotLjA3NyhpbHRpbnMgYWNjZXB0IGFuZCBwcm9jZXNzIGFyKS4yIEYoZ3UtKS0uMTggRSAuMzE5KG1lbnRzIGJlKTEwOAotNTU5LjIgUiAuMzE5KGdpbm5pbmcgd2l0aCktLjE1IEYgRjE8YWQ+Mi44MTkgRSBGMCAuMzE5Ci0od2l0aG91dCByZXF1aXJpbmcpMi44MTkgRiBGMTxhZGFkPjIuODE5IEUgRjAgNS4zMTkoLk8pQyAuMzE5KHRoZXIgYikKLS01LjMxOSBGIC4zMTkodWlsdGlucyB0aGF0IGFjY2VwdCBhciktLjIgRiAuMzIoZ3VtZW50cyBiKS0uMTggRiAuMzIKLSh1dCBhcmUgbm90IHNwZWNpXDIxNGVkIGFzKS0uMiBGIDEuMTQ0KGFjY2VwdGluZyBvcHRpb25zIGludGVycHJldCBhcikKLTEwOCA1NzEuMiBSIDEuMTQ0KGd1bWVudHMgYmUpLS4xOCBGIDEuMTQ0KGdpbm5pbmcgd2l0aCktLjE1IEYgRjE8YWQ+Ci0zLjY0MyBFIEYwIDEuMTQzKGFzIGluKTMuNjQzIEYgLS4yNSh2YSktLjQgRyAxLjE0MwotKGxpZCBvcHRpb25zIGFuZCByZXF1aXJlKS4yNSBGIEYxPGFkYWQ+My42NDMgRSBGMCAxLjE0Myh0byBwcmUpMy42NDMgRgotLS4xNSh2ZSktLjI1IEcgMS4xNDMobnQgdGhpcykuMTUgRihpbnRlcnByZXRhdGlvbi4pMTA4IDU4My4yIFEgRjEoOikxMDgKLTYwMS4yIFEgRjAoWykyLjUgRSBGMihhcilBKGd1bWVudHMpLS4zNyBFIEYwKF0pQSAuNDUxKE5vIGVmKTE0NCA2MTMuMiBSCi0uNDUxKGZlY3Q7IHRoZSBjb21tYW5kIGRvZXMgbm90aGluZyBiZSktLjI1IEYgLjQ1Mih5b25kIGUpLS4xNSBGCi0oeHBhbmRpbmcpLS4xNSBFIEYyKGFyKTMuMjgyIEUoZ3VtZW50cyktLjM3IEUgRjAgLjQ1MihhbmQgcGVyZm9ybWluZyBhbikKLTMuMjIyIEYgMi45NTIoeXMpLS4xNSBHKHBlY2lcMjE0ZWQpLTIuOTUyIEUgMi41KHJlZGlyZWN0aW9ucy4gQSkxNDQKLTYyNS4yIFIoemVybyBlKTIuNSBFKHhpdCBjb2RlIGlzIHJldHVybmVkLiktLjE1IEUgRjEoLikxMTAuNSA2NDIgUSBGMgotKFwyMTRsZW5hbWUpNi42NjYgRSBGMChbKTIuNSBFIEYyKGFyKUEoZ3VtZW50cyktLjM3IEUgRjAoXSlBIEYxKHNvdXIpMTA4Ci02NTQgUShjZSktLjE4IEUgRjIoXDIxNGxlbmFtZSkyLjUgRSBGMChbKTIuNSBFIEYyKGFyKUEoZ3VtZW50cyktLjM3IEUgRjAKLShdKUEgMS4wMihSZWFkIGFuZCBlKTE0NCA2NjYgUiAtLjE1KHhlKS0uMTUgRyAxLjAyKGN1dGUgY29tbWFuZHMgZnJvbSkKLS4xNSBGIEYyKFwyMTRsZW5hbWUpNS40MyBFIEYwIDEuMDIoaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW4pMy43IEYgMS4wMgotKHZpcm9ubWVudCBhbmQgcmV0dXJuIHRoZSBlKS0uNCBGKHhpdCktLjE1IEUgMS42OAotKHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpMTQ0IDY3OCBSIC0uMTUoeGUpLS4xNSBHIDEuNjgoY3V0ZWQgZnJvbSkKLS4xNSBGIEYyKFwyMTRsZW5hbWUpNC4xOCBFIEYwIDYuNjgoLkkpLjE4IEcoZiktNi42OCBFIEYyKFwyMTRsZW5hbWUpNi4wOQotRSBGMCAxLjY4KGRvZXMgbm90IGNvbnRhaW4gYSBzbGFzaCwgXDIxNGxlKTQuMzYgRiAuNjA4KG5hbWVzIGluKTE0NCA2OTAKLVIvRjQgOS9UaW1lcy1Cb2xkQDAgU0YgLS42NjYoUEEpMy4xMDggRyhUSCktLjE4OSBFIEYwIC42MDgKLShhcmUgdXNlZCB0byBcMjE0bmQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nKTIuODU4IEYgRjIoXDIxNGxlbmFtZSkzLjEwOAotRSBGMCA1LjYwOCguVCkuMTggRyAuNjA4KGhlIFwyMTRsZSBzZWFyY2hlZCBmb3IgaW4pLTUuNjA4IEYgRjQgLS42NjYoUEEpCi0zLjEwOCBHKFRIKS0uMTg5IEUgRjAgLjgzMihuZWVkIG5vdCBiZSBlKTE0NCA3MDIgUiAtLjE1KHhlKS0uMTUgRyAzLjMzMgotKGN1dGFibGUuIFdoZW4pLjE1IEYgRjEoYmFzaCkzLjMzMiBFIEYwIC44MzIoaXMgbm90IGluKTMuMzMyIEYgRjIgLjgzMgotKHBvc2l4IG1vZGUpMy4zMzIgRiBGMCAzLjMzMigsdClDIC44MzMKLShoZSBjdXJyZW50IGRpcmVjdG9yeSBpcyBzZWFyY2hlZCBpZiBubyktMy4zMzIgRiAuOTgyCi0oXDIxNGxlIGlzIGZvdW5kIGluKTE0NCA3MTQgUiBGNCAtLjY2NihQQSkzLjQ4MSBHKFRIKS0uMTg5IEUvRjUgOQotL1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC45ODEoSWYgdGhlKTUuNDgxIEYgRjEoc291cikzLjQ4MSBFKGNlcGF0aCktLjE4Ci1FIEYwIC45ODEob3B0aW9uIHRvIHRoZSkzLjQ4MSBGIEYxKHNob3B0KTMuNDgxIEUgRjAgLS4yKGJ1KTMuNDgxIEcgLjk4MQotKGlsdGluIGNvbW1hbmQgaXMgdHVybmVkIG9mKS4yIEYgLjk4MShmLCB0aGUpLS4yNSBGIEY0IC0uNjY2KFBBKTE0NCA3MjYKLVMoVEgpLS4xODkgRSBGMCAuMTEyKGlzIG5vdCBzZWFyY2hlZC4pMi4zNjIgRiAuMTEyKElmIGFuKTUuMTEyIEYoeSktLjE1Ci1FIEYyKGFyKTIuNjEyIEUoZ3VtZW50cyktLjM3IEUgRjAgLjExMihhcmUgc3VwcGxpZWQsIHRoZSkyLjYxMiBGIDIuNjEyCi0oeWIpLS4xNSBHIC4xMTIoZWNvbWUgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyB3aGVuKS0yLjYxMiBGCi0oR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDQ4KTE4NS45NTUgRSAwIENnIEVQCistLjM1IEUgLS4xKHdvKTEwOCA4NCBTIDMuMihyZHMuIEl0KS4xIEYodGFrKTMuMiBFIC43KGVzIHBsYWNlIGluIHR3KS0uMQorRiAzLjIob3ApLS4xIEcgMy4yKGFydHMuIFRoZSktMy4yIEYgLjcKKyhcMjE0cnN0IGlzIHRvIGRldGVybWluZSB3aGljaCBsaW5lIGZyb20gdGhlIGhpc3RvcnkgbGlzdCB0byB1c2UgZHVyaW5nKQorMy4yIEYgNC4zNjgoc3Vic3RpdHV0aW9uLiBUaGUpMTA4IDk2IFIgMS44Njgoc2Vjb25kIGlzIHRvIHNlbGVjdCBwb3J0aW9cCitucyBvZiB0aGF0IGxpbmUgZm9yIGluY2x1c2lvbiBpbnRvIHRoZSBjdXJyZW50IG9uZS4pNC4zNjggRiAxLjg2NworKFRoZSBsaW5lKTYuODY3IEYgLjY2MihzZWxlY3RlZCBmcm9tIHRoZSBoaXN0b3J5IGlzIHRoZSkxMDggMTA4IFIvRjEgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRiAtLjE1KGV2KTMuMTYyIEcoZW50KS4xNSBFIEYwIDMuMTYyKCxhKUMgLjY2MworKG5kIHRoZSBwb3J0aW9ucyBvZiB0aGF0IGxpbmUgdGhhdCBhcmUgYWN0ZWQgdXBvbiBhcmUpLTMuMTYyIEYgRjEod29yKQorMy4xNjMgRShkcyktLjM3IEUgRjAgNS42NjMoLlYpQyhhcmlvdXMpLTYuNzczIEUgRjEobW9kaVwyMTRlcikxMDggMTIwIFEKKyhzKS0uMSBFIEYwIC4yMjcoYXJlIGEpMi43MjcgRiAtLjI1KHZhKS0uMiBHIC4yMjcKKyhpbGFibGUgdG8gbWFuaXB1bGF0ZSB0aGUgc2VsZWN0ZWQgdykuMjUgRiAyLjcyNyhvcmRzLiBUaGUpLS4xIEYgLjIyNgorKGxpbmUgaXMgYnJvaykyLjcyNiBGIC4yMjYoZW4gaW50byB3KS0uMSBGIC4yMjYob3JkcyBpbiB0aGUgc2FtZSBmKS0uMSBGCisoYXNoaW9uKS0uMSBFIC4zNTEoYXMgd2hlbiByZWFkaW5nIGlucHV0LCBzbyB0aGF0IHNlKTEwOCAxMzIgUiAtLjE1KHZlKQorLS4yNSBHKHJhbCkuMTUgRSBGMShtZXRhYykyLjg1MiBFKGhhciktLjE1IEUoYWN0ZXIpLS4xNSBFIEYwIC4zNTIKKygtc2VwYXJhdGVkIHcpQiAuMzUyKG9yZHMgc3Vycm91bmRlZCBieSBxdW90ZXMgYXJlIGNvbnNpZGVyZWQpLS4xIEYgLjYyNQorKG9uZSB3KTEwOCAxNDQgUiAzLjEyNShvcmQuIEhpc3RvcnkpLS4xIEYgLS4xNShleCkzLjEyNSBHIC42MjQKKyhwYW5zaW9ucyBhcmUgaW50cm9kdWNlZCBieSB0aGUgYXBwZWFyYW5jZSBvZiB0aGUgaGlzdG9yeSBlKS4xNSBGIC42MjQKKyh4cGFuc2lvbiBjaGFyYWN0ZXIpLS4xNSBGIDMuMTI0KCx3KS0uNCBHKGhpY2gpLTMuMTI0IEUoaXMpMTA4IDE1NiBRL0YyCisxMC9UaW1lcy1Cb2xkQDAgU0YoISkzLjMzMyBFIEYwKGJ5IGRlZikzLjMzMyBFIDIuNShhdWx0LiBPbmx5KS0uMSBGCisoYmFja3NsYXNoIFwoKTIuNSBFIEYyKFxcKS44MzMgRSBGMCAyLjUoXClhKS44MzMgRworKG5kIHNpbmdsZSBxdW90ZXMgY2FuIHF1b3RlIHRoZSBoaXN0b3J5IGUpLTIuNSBFKHhwYW5zaW9uIGNoYXJhY3RlciktLjE1CitFKC4pLS41NSBFKFNlKTEwOCAxNzIuOCBRIC0uMTUodmUpLS4yNSBHIC4wMworKHJhbCBjaGFyYWN0ZXJzIGluaGliaXQgaGlzdG9yeSBlKS4xNSBGIC4wMworKHhwYW5zaW9uIGlmIGZvdW5kIGltbWVkaWF0ZWx5IGZvbGxvKS0uMTUgRiAuMDMod2luZyB0aGUgaGlzdG9yeSBlKS0uMjUKK0YgLjAzKHhwYW5zaW9uIGNoYXJhY3RlciktLjE1IEYoLCktLjQgRSAtMi4xNSAtLjI1KGV2IGUpMTA4IDE4NC44IFQKKzMuMTYzKG5pKS4yNSBHIDMuMTYzKGZpKS0zLjE2MyBHIDMuMTYyKHRpKS0zLjE2MyBHIDMuMTYyKHN1KS0zLjE2MiBHCisuNjYyKG5xdW90ZWQ6IHNwYWNlLCB0YWIsIG5lKS0zLjE2MiBGIC42NjIod2xpbmUsIGNhcnJpYWdlIHJldHVybiwgYW5kKQorLS4yNSBGIEYyKD0pMy4xNjIgRSBGMCA1LjY2MiguSSlDIDMuMTYyKGZ0KS01LjY2MiBHKGhlKS0zLjE2MiBFIEYyCisoZXh0Z2xvYikzLjE2MiBFIEYwIC42NjIoc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQsKTMuMTYyIEYgRjIoXCgpMy4xNjIgRQorRjAod2lsbCBhbHNvIGluaGliaXQgZSkxMDggMTk2LjggUSh4cGFuc2lvbi4pLS4xNSBFKFNlKTEwOCAyMTMuNiBRIC0uMTUKKyh2ZSktLjI1IEcgLjEwOShyYWwgc2hlbGwgb3B0aW9ucyBzZXR0YWJsZSB3aXRoIHRoZSkuMTUgRiBGMihzaG9wdCkyLjYwOQorRSBGMCAtLjIoYnUpMi42MDkgRyAuMTEoaWx0aW4gbWF5IGJlIHVzZWQgdG8gdGFpbG9yIHRoZSBiZWhhKS4yIEYgLjExCisodmlvciBvZiBoaXN0b3J5IGUpLS4yIEYoeHBhbnNpb24uKS0uMTUgRSAxLjE0MyhJZiB0aGUpMTA4IDIyNS42IFIgRjIKKyhoaXN0dikzLjY0MyBFKGVyaWZ5KS0uMSBFIEYwIDEuMTQzCisoc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgXChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSkzLjY0MyBGIEYyKHNob3B0KQorMy42NDMgRSBGMCAtLjIoYnUpMy42NDMgRyAxLjE0MyhpbHRpbiBiZWxvKS4yIEYgMS4xNDMod1wpLCBhbmQpLS4yNSBGIEYyCistLjE4KHJlKTMuNjQzIEcoYWRsaW5lKS4xOCBFIEYwKGlzKTMuNjQyIEUgLjQ2MShiZWluZyB1c2VkLCBoaXN0b3J5IHN1YlwKK3N0aXR1dGlvbnMgYXJlIG5vdCBpbW1lZGlhdGVseSBwYXNzZWQgdG8gdGhlIHNoZWxsIHBhcnNlcikxMDggMjM3LjYgUgorNS40NjEoLkkpLS41NSBHIC40NjEobnN0ZWFkLCB0aGUgZSktNS40NjEgRiAuNDYxKHhwYW5kZWQgbGluZSktLjE1IEYKKzEuNTE2KGlzIHJlbG9hZGVkIGludG8gdGhlKTEwOCAyNDkuNiBSIEYyIC0uMTgocmUpNC4wMTYgRyhhZGxpbmUpLjE4IEUKK0YwIDEuNTE2KGVkaXRpbmcgYik0LjAxNiBGKHVmKS0uMiBFIDEuNTE2CisoZmVyIGZvciBmdXJ0aGVyIG1vZGlcMjE0Y2F0aW9uLiktLjI1IEYoSWYpNi41MTYgRSBGMiAtLjE4KHJlKTQuMDE1IEcKKyhhZGxpbmUpLjE4IEUgRjAgMS41MTUoaXMgYmVpbmcgdXNlZCwgYW5kIHRoZSk0LjAxNSBGIEYyKGhpc3RyKTEwOCAyNjEuNgorUShlZWRpdCktLjE4IEUgRjAgMS4yMDIoc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQsIGEgZikzLjcwMiBGIDEuMjAyCisoYWlsZWQgaGlzdG9yeSBzdWJzdGl0dXRpb24gd2lsbCBiZSByZWxvYWRlZCBpbnRvIHRoZSktLjEgRiBGMiAtLjE4KHJlKQorMy43MDIgRyhhZGxpbmUpLjE4IEUgRjAoZWRpdGluZykzLjcwMiBFIC0uMihidSkxMDggMjczLjYgUyAtLjI1KGZmKS4yIEcKKzEuMTYxKGVyIGZvciBjb3JyZWN0aW9uLikuMjUgRihUaGUpNi4xNjEgRSBGMjxhZDcwPjMuNjYxIEUgRjAgMS4xNjEKKyhvcHRpb24gdG8gdGhlKTMuNjYxIEYgRjIoaGlzdG9yeSkzLjY2MSBFIEYwIC0uMihidSkzLjY2MSBHIDEuMTYKKyhpbHRpbiBjb21tYW5kIG1heSBiZSB1c2VkIHRvIHNlZSB3aGF0IGEgaGlzdG9yeSkuMiBGIC0uMTUoZXgpMTA4IDI4NS42CitTIC4wNTUocGFuc2lvbiB3aWxsIGRvIGJlZm9yZSB1c2luZyBpdC4pLjE1IEYoVGhlKTUuMDU1IEUgRjI8YWQ3Mz4yLjU1NQorRSBGMCAuMDU1KG9wdGlvbiB0byB0aGUpMi41NTUgRiBGMihoaXN0b3J5KTIuNTU2IEUgRjAgLS4yKGJ1KTIuNTU2IEcKKy4wNTYoaWx0aW4gbWF5IGJlIHVzZWQgdG8gYWRkIGNvbW1hbmRzIHRvIHRoZSkuMiBGCisoZW5kIG9mIHRoZSBoaXN0b3J5IGxpc3Qgd2l0aG91dCBhY3R1YWxseSBlKTEwOCAyOTcuNiBRIC0uMTUoeGUpLS4xNSBHCisoY3V0aW5nIHRoZW0sIHNvIHRoYXQgdGhlKS4xNSBFIDIuNSh5YSktLjE1IEcocmUgYSktMi41IEUgLS4yNSh2YSktLjIgRworKGlsYWJsZSBmb3Igc3Vic2VxdWVudCByZWNhbGwuKS4yNSBFIDIuMihUaGUgc2hlbGwgYWxsbykxMDggMzE0LjQgUiAyLjIKKyh3cyBjb250cm9sIG9mIHRoZSB2KS0uMjUgRiAyLjIoYXJpb3VzIGNoYXJhY3RlcnMgdXNlZCBieSB0aGUgaGlzdG9yeSBlKQorLS4yNSBGIDIuMih4cGFuc2lvbiBtZWNoYW5pc20gXChzZWUgdGhlKS0uMTUgRiAxLjE0NihkZXNjcmlwdGlvbiBvZikxMDgKKzMyNi40IFIgRjIoaGlzdGNoYXJzKTMuNjQ2IEUgRjAoYWJvKTMuNjQ2IEUgMS40NDYgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKQorLjE1IEUgRjIgMS4xNDYoU2hlbGwgVikzLjY0NiBGKGFyaWFibGVzKS0uOTIgRSBGMCAzLjY0NihcKS4gVGhlKUIgMS4xNDcKKyhzaGVsbCB1c2VzIHRoZSBoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyIHRvKTMuNjQ2IEYKKyhtYXJrIGhpc3RvcnkgdGltZXN0YW1wcyB3aGVuIHdyaXRpbmcgdGhlIGhpc3RvcnkgXDIxNGxlLikxMDggMzM4LjQgUSBGMgorKEV2KTg3IDM1NS4yIFEoZW50IERlc2lnbmF0b3JzKS0uMSBFIEYwIC4yMDUoQW4gZSkxMDggMzY3LjIgUiAtLjE1KHZlKQorLS4yNSBHIC4yMDQobnQgZGVzaWduYXRvciBpcyBhIHJlZmVyZW5jZSB0byBhIGNvbW1hbmQgbGluZSBlbnRyeSBpbiB0aGVcCisgaGlzdG9yeSBsaXN0LikuMTUgRiAuMjA0KFVubGVzcyB0aGUgcmVmZXJlbmNlIGlzIGFic28tKTUuMjA0IEYobHV0ZSwgZSkKKzEwOCAzNzkuMiBRIC0uMTUodmUpLS4yNSBHKG50cyBhcmUgcmVsYXRpKS4xNSBFIC4zIC0uMTUodmUgdCktLjI1IEggMi41Cisob3QpLjE1IEcoaGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgaGlzdG9yeSBsaXN0LiktMi41IEUgRjIoISkxMDggMzk2IFEKK0YwIDEuNjA3KFN0YXJ0IGEgaGlzdG9yeSBzdWJzdGl0dXRpb24sIGUpMzIuNjcgRiAxLjYwNyh4Y2VwdCB3aGVuIGZvbGxvKQorLS4xNSBGIDEuNjA3KHdlZCBieSBhKS0uMjUgRiBGMihibGFuayk0LjEwNyBFIEYwIDQuMTA3KCxuKUMgLS4yNShldykKKy00LjEwNyBHIDEuNjA4KGxpbmUsIGNhcnJpYWdlIHJldHVybiwgPSBvciBcKCkuMjUgRihcKHdoZW4gdGhlKTE0NCA0MDggUQorRjIoZXh0Z2xvYikyLjUgRSBGMChzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCB1c2luZyB0aGUpMi41IEUgRjIoc2hvcHQpMi41CitFIEYwIC0uMihidSkyLjUgRyhpbHRpblwpLikuMiBFIEYyKCEpMTA4IDQyMCBRIEYxKG4pQSBGMAorKFJlZmVyIHRvIGNvbW1hbmQgbGluZSkyNy42NyBFIEYxKG4pMi41IEUgRjAoLikuMjQgRSBGMjwyMWFkPjEwOCA0MzIgUQorRjEobilBIEYwKFJlZmVyIHRvIHRoZSBjdXJyZW50IGNvbW1hbmQgbWludXMpMjEuOTcgRSBGMShuKTIuNSBFIEYwKC4pLjI0CitFIEYyKCEhKTEwOCA0NDQgUSBGMChSZWZlciB0byB0aGUgcHJlKTI5LjM0IEUodmlvdXMgY29tbWFuZC4pLS4yNSBFCisoVGhpcyBpcyBhIHN5bm9uKTUgRSh5bSBmb3IgYCFcMjU1MScuKS0uMTUgRSBGMighKTEwOCA0NTYgUSBGMShzdHJpbmcpQQorRjAgLjg2NShSZWZlciB0byB0aGUgbW9zdCByZWNlbnQgY29tbWFuZCBwcmVjZWRpbmcgdGhlIGN1cnJlbnQgcG9zaXRpb25cCisgaW4gdGhlIGhpc3RvcnkgbGlzdCBzdGFydGluZyB3aXRoKTkuMzMgRiBGMShzdHJpbmcpMTQ0IDQ2OCBRIEYwKC4pLjIyIEUKK0YyKCE/KTEwOCA0ODAgUSBGMShzdHJpbmcpQSBGMihbP10pQSBGMCAxLjMwNChSZWZlciB0byB0aGUgbW9zdCByZWNlbnQgXAorY29tbWFuZCBwcmVjZWRpbmcgdGhlIGN1cnJlbnQgcG9zdGl0aW9uIGluIHRoZSBoaXN0b3J5IGxpc3QgY29udGFpbmluZykKKzE0NCA0OTIgUiBGMShzdHJpbmcpMTQ0IDUwNCBRIEYwIDUoLlQpLjIyIEcoaGUgdHJhaWxpbmcpLTUgRSBGMig/KTIuNSBFCitGMChtYXkgYmUgb21pdHRlZCBpZikyLjUgRSBGMShzdHJpbmcpMi44NCBFIEYwKGlzIGZvbGxvKTIuNzIgRQorKHdlZCBpbW1lZGlhdGVseSBieSBhIG5lKS0uMjUgRSh3bGluZS4pLS4yNSBFL0YzIDEyL1RpbWVzLUJvbGRAMCBTRiheKQorMTA4IDUyMSBRIEYxKHN0cmluZzEpLTUgSSBGMyheKTUgSSBGMShzdHJpbmcyKS01IEkgRjMoXik1IEkgRjAgLjc4NAorKFF1aWNrIHN1YnN0aXR1dGlvbi4pMTQ0IDUyOCBSIC43ODQoUmVwZWF0IHRoZSBwcmUpNS43ODQgRiAuNzg0CisodmlvdXMgY29tbWFuZCwgcmVwbGFjaW5nKS0uMjUgRiBGMShzdHJpbmcxKTMuNjI0IEUgRjAod2l0aCkzLjI4MyBFIEYxCisoc3RyaW5nMikzLjI4MyBFIEYwIDUuNzgzKC5FKS4wMiBHKHF1aSktNS43ODMgRSAtLjI1KHZhKS0uMjUgRyAuNzgzCisobGVudCB0bykuMjUgRiAtLjc0KGBgKTE0NCA1NDAgUyghITpzLykuNzQgRSBGMShzdHJpbmcxKUEgRjAoLylBIEYxCisoc3RyaW5nMilBIEYwKC8nKUEgMi41KCdcKCktLjc0IEcoc2VlKS0yLjUgRSBGMihNb2RpXDIxNGVycykyLjUgRSBGMAorKGJlbG8pMi41IEUod1wpLiktLjI1IEUgRjIoISMpMTA4IDU1MiBRIEYwCisoVGhlIGVudGlyZSBjb21tYW5kIGxpbmUgdHlwZWQgc28gZikyNy42NyBFKGFyKS0uMSBFKC4pLS41NSBFIEYyIC0uNzUKKyhXbyk4NyA1NjguOCBTKHJkIERlc2lnbmF0b3JzKS43NSBFIEYwIC0uOChXbykxMDggNTgwLjggUyAxLjMxMworKHJkIGRlc2lnbmF0b3JzIGFyZSB1c2VkIHRvIHNlbGVjdCBkZXNpcmVkIHcpLjggRiAxLjMxNChvcmRzIGZyb20gdGhlIGUpCistLjEgRiAtLjE1KHZlKS0uMjUgRyAzLjgxNChudC4gQSkuMTUgRiBGMig6KTMuODE0IEUgRjAgMS4zMTQKKyhzZXBhcmF0ZXMgdGhlIGUpMy44MTQgRiAtLjE1KHZlKS0uMjUgRyAxLjMxNChudCBzcGVjaVwyMTRjYXRpb24pLjE1IEYKKy41Myhmcm9tIHRoZSB3KTEwOCA1OTIuOCBSIC41Mjkob3JkIGRlc2lnbmF0b3IpLS4xIEYgNS41MjkoLkkpLS41NSBHCiszLjAyOSh0bSktNS41MjkgRyAuNTI5KGF5IGJlIG9taXR0ZWQgaWYgdGhlIHcpLTMuMDI5IEYgLjUyOQorKG9yZCBkZXNpZ25hdG9yIGJlKS0uMSBGIC41MjkoZ2lucyB3aXRoIGEpLS4xNSBGIEYyKF4pMy4wMjkgRSBGMCgsKUEgRjIKKygkKTMuMDI5IEUgRjAoLClBIEYyKCopMy4wMjkgRSBGMCgsKUEgRjI8YWQ+My4wMjkgRSBGMCAzLjAyOSgsbylDKHIpCistMy4wMjkgRSBGMiglKTMuMDI5IEUgRjAgNS41MjkoLlcpQyhvcmRzKS02LjMyOSBFIDEuMworKGFyZSBudW1iZXJlZCBmcm9tIHRoZSBiZSkxMDggNjA0LjggUiAxLjMKKyhnaW5uaW5nIG9mIHRoZSBsaW5lLCB3aXRoIHRoZSBcMjE0cnN0IHcpLS4xNSBGIDEuMzAxCisob3JkIGJlaW5nIGRlbm90ZWQgYnkgMCBcKHplcm9cKS4pLS4xIEYgLS44KFdvKTYuMzAxIEcgMS4zMDEocmRzIGFyZSkuOAorRihpbnNlcnRlZCBpbnRvIHRoZSBjdXJyZW50IGxpbmUgc2VwYXJhdGVkIGJ5IHNpbmdsZSBzcGFjZXMuKTEwOCA2MTYuOCBRCitGMiAyLjUoMFwoKTEwOCA2MzMuNiBTKHplciktMi41IEUob1wpKS0uMTggRSBGMChUaGUgemVyb3RoIHcpMTQ0IDY0NS42IFEKKzIuNShvcmQuIEYpLS4xIEYob3IgdGhlIHNoZWxsLCB0aGlzIGlzIHRoZSBjb21tYW5kIHcpLS4xNSBFKG9yZC4pLS4xIEUKK0YxKG4pMTA4LjM2IDY1Ny42IFEgRjAoVGhlKTMwLjY0IEUgRjEobikyLjUgRSBGMCh0aCB3KUEob3JkLiktLjEgRSBGMiheKQorMTA4IDY2OS42IFEgRjAoVGhlIFwyMTRyc3QgYXIpMzIuNjcgRSAyLjUoZ3VtZW50LiBUaGF0KS0uMTggRihpcywgdykyLjUKK0Uob3JkIDEuKS0uMSBFIEYyKCQpMTA4IDY4MS42IFEgRjAoVGhlIGxhc3QgYXIpMzEgRShndW1lbnQuKS0uMTggRSBGMiglKQorMTA4IDY5My42IFEgRjAoVGhlIHcpMjYgRShvcmQgbWF0Y2hlZCBieSB0aGUgbW9zdCByZWNlbnQgYD8pLS4xIEUgRjEKKyhzdHJpbmcpQSBGMCg/JyBzZWFyY2guKUEgRjEoeCkxMDguNzcgNzA1LjYgUSBGMjxhZD5BIEYxKHkpQSBGMCAyLjUoQXIpCisyMC42NSBHKGFuZ2Ugb2YgdyktMi41IEUob3JkczsgYFwyNTUpLS4xIEUgRjEoeSlBIEYwIDIuNSgnYSlDKGJicmUpLTIuNQorRSh2aWF0ZXMgYDBcMjU1KS0uMjUgRSBGMSh5KUEgRjAoJy4pQSBGMigqKTEwOCA3MTcuNiBRIEYwIC4zMTYKKyhBbGwgb2YgdGhlIHcpMzEgRiAuMzE2KG9yZHMgYiktLjEgRiAuMzE2KHV0IHRoZSB6ZXJvdGguKS0uMiBGIC4zMTUKKyhUaGlzIGlzIGEgc3lub24pNS4zMTUgRiAuMzE1KHltIGZvciBgKS0uMTUgRiBGMSgxXDI1NSQpQSBGMCAyLjgxNQorKCcuIEl0KUIgLjMxNShpcyBub3QgYW4gZXJyb3IgdG8gdXNlKTIuODE1IEYgRjIoKikyLjgxNSBFIEYwIC4zMTUKKyhpZiB0aGVyZSBpcykyLjgxNSBGKGp1c3Qgb25lIHcpMTQ0IDcyOS42IFEob3JkIGluIHRoZSBlKS0uMSBFIC0uMTUodmUpCistLjI1IEcobnQ7IHRoZSBlbXB0eSBzdHJpbmcgaXMgcmV0dXJuZWQgaW4gdGhhdCBjYXNlLikuMTUgRQorKEdOVSBCYXNoLTQuMik3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSg0OCkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA0OSA0OQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1JdGFsaWNAMCBTRihcMjE0bGVuYW1lKTE0NCA4NCBRIEYwIC4zNDIoaXMgZSkyLjg0MiBGCi0tLjE1KHhlKS0uMTUgRyAyLjg0MihjdXRlZC4gT3RoZXJ3aXNlKS4xNSBGIC4zNDIKLSh0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSB1bmNoYW5nZWQuKTIuODQyIEYgLjM0MQotKFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSk1LjM0MSBGIC43MTYoc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZSkxNDQKLTk2IFIgLjcxNih4aXRlZCB3aXRoaW4gdGhlIHNjcmlwdCBcKDAgaWYgbm8gY29tbWFuZHMgYXJlIGUpLS4xNSBGIC0uMTUKLSh4ZSktLjE1IEcgLjcxNihjdXRlZFwpLCBhbmQgZikuMTUgRiAuNzE2KGFsc2UgaWYpLS4xIEYgRjEoXDIxNGxlbmFtZSkKLTE0NS45MSAxMDggUSBGMChpcyBub3QgZm91bmQgb3IgY2Fubm90IGJlIHJlYWQuKTIuNjggRS9GMiAxMAotL1RpbWVzLUJvbGRAMCBTRihhbGlhcykxMDggMTI0LjggUSBGMChbKTIuNSBFIEYyPGFkNzA+QSBGMCAyLjUoXVspQyBGMQotKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjEodmFsdWUpQSBGMCAyLjUoXS4pQyguLl0pLTIuNSBFIEYyKEFsaWFzKTE0NAotMTM2LjggUSBGMCAyLjcyNSh3aXRoIG5vIGFyKTUuMjI1IEYgMi43MjQoZ3VtZW50cyBvciB3aXRoIHRoZSktLjE4IEYgRjIKLTxhZDcwPjUuMjI0IEUgRjAgMi43MjQob3B0aW9uIHByaW50cyB0aGUgbGlzdCBvZiBhbGlhc2VzIGluIHRoZSBmb3JtKQotNS4yMjQgRiBGMihhbGlhcyk1LjIyNCBFIEYxKG5hbWUpMTQ0IDE0OC44IFEgRjAoPSlBIEYxKHZhbHVlKUEgRjAgLjU4Ci0ob24gc3RhbmRhcmQgb3V0cHV0LikzLjA4IEYgLjU4KFdoZW4gYXIpNS41OCBGIC41OAotKGd1bWVudHMgYXJlIHN1cHBsaWVkLCBhbiBhbGlhcyBpcyBkZVwyMTRuZWQgZm9yIGVhY2gpLS4xOCBGIEYxKG5hbWUpCi0zLjA4IEUgRjAod2hvc2UpMTQ0IDE2MC44IFEgRjEodmFsdWUpMi44OTUgRSBGMCAuMzk1KGlzIGdpKTIuODk1IEYgLS4xNQotKHZlKS0uMjUgRyAyLjg5NShuLiBBKS4xNSBGIC4zOTUodHJhaWxpbmcgc3BhY2UgaW4pMi44OTUgRiBGMSh2YWx1ZSkKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoeCopMTA4IDg0IFEgRjAoQWJicmUpMjYgRSh2aWF0ZXMpLS4yNSBFL0YyCisxMC9UaW1lcy1JdGFsaWNAMCBTRih4XDI1NSQpMi41IEUgRjAoLilBIEYxPDc4YWQ+MTA4IDk2IFEgRjAoQWJicmUpMjUuMworRSh2aWF0ZXMpLS4yNSBFIEYyKHhcMjU1JCkyLjUgRSBGMChsaWspMi41IEUoZSktLjEgRSBGMSh4KikyLjUgRSBGMCAyLjUKKygsYilDKHV0IG9taXRzIHRoZSBsYXN0IHcpLTIuNyBFKG9yZC4pLS4xIEUoSWYgYSB3KTEwOCAxMTIuOCBRCisob3JkIGRlc2lnbmF0b3IgaXMgc3VwcGxpZWQgd2l0aG91dCBhbiBlKS0uMSBFIC0uMTUodmUpLS4yNSBHCisobnQgc3BlY2lcMjE0Y2F0aW9uLCB0aGUgcHJlKS4xNSBFKHZpb3VzIGNvbW1hbmQgaXMgdXNlZCBhcyB0aGUgZSktLjI1IEUKKy0uMTUodmUpLS4yNSBHKG50LikuMTUgRSBGMShNb2RpXDIxNGVycyk4NyAxMjkuNiBRIEYwIC4xODMKKyhBZnRlciB0aGUgb3B0aW9uYWwgdykxMDggMTQxLjYgUiAuMTgzKG9yZCBkZXNpZ25hdG9yKS0uMSBGIDIuNjgzKCx0KS0uNAorRyAuMTg0KGhlcmUgbWF5IGFwcGVhciBhIHNlcXVlbmNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSBmb2xsbyktMi42ODMgRgorLjE4NCh3aW5nIG1vZGlcMjE0ZXJzLCktLjI1IEYoZWFjaCBwcmVjZWRlZCBieSBhIGA6Jy4pMTA4IDE1My42IFEgRjEoaCkKKzEwOCAxNzAuNCBRIEYwKFJlbW8pMzAuNDQgRSAuMyAtLjE1KHZlIGEgdCktLjE1IEgKKyhyYWlsaW5nIFwyMTRsZSBuYW1lIGNvbXBvbmVudCwgbGVhKS4xNSBFKHZpbmcgb25seSB0aGUgaGVhZC4pLS4yIEUgRjEKKyh0KTEwOCAxODIuNCBRIEYwKFJlbW8pMzIuNjcgRSAuMyAtLjE1KHZlIGEpLS4xNSBICisobGwgbGVhZGluZyBcMjE0bGUgbmFtZSBjb21wb25lbnRzLCBsZWEpLjE1IEUodmluZyB0aGUgdGFpbC4pLS4yIEUgRjEocikKKzEwOCAxOTQuNCBRIEYwKFJlbW8pMzEuNTYgRSAuMyAtLjE1KHZlIGEgdCktLjE1IEgocmFpbGluZyBzdWYpLjE1IEUKKyhcMjE0eCBvZiB0aGUgZm9ybSktLjI1IEUgRjIoLnh4eCkyLjUgRSBGMCAyLjUoLGwpQyhlYSktMi41IEUKKyh2aW5nIHRoZSBiYXNlbmFtZS4pLS4yIEUgRjEoZSkxMDggMjA2LjQgUSBGMChSZW1vKTMxLjU2IEUgLjMgLS4xNSh2ZSBhKQorLS4xNSBIKGxsIGIpLjE1IEUodXQgdGhlIHRyYWlsaW5nIHN1ZiktLjIgRShcMjE0eC4pLS4yNSBFIEYxKHApMTA4IDIxOC40CitRIEYwKFByaW50IHRoZSBuZSkzMC40NCBFIDIuNSh3YyktLjI1IEcob21tYW5kIGIpLTIuNSBFKHV0IGRvIG5vdCBlKS0uMgorRSAtLjE1KHhlKS0uMTUgRyhjdXRlIGl0LikuMTUgRSBGMShxKTEwOCAyMzAuNCBRIEYwCisoUXVvdGUgdGhlIHN1YnN0aXR1dGVkIHcpMzAuNDQgRShvcmRzLCBlc2NhcGluZyBmdXJ0aGVyIHN1YnN0aXR1dGlvbnMuKQorLS4xIEUgRjEoeCkxMDggMjQyLjQgUSBGMChRdW90ZSB0aGUgc3Vic3RpdHV0ZWQgdykzMSBFKG9yZHMgYXMgd2l0aCktLjEKK0UgRjEocSkyLjUgRSBGMCAyLjUoLGIpQyh1dCBicmVhayBpbnRvIHcpLTIuNyBFKG9yZHMgYXQpLS4xIEUgRjEoYmxhbmtzKQorMi41IEUgRjAoYW5kIG5lKTIuNSBFKHdsaW5lcy4pLS4yNSBFIEYxKHMvKTEwOCAyNTQuNCBRIEYyKG9sZClBIEYxKC8pQQorRjIobmUpQSh3KS0uMTUgRSBGMSgvKUEgRjAoU3Vic3RpdHV0ZSkxNDQgMjY2LjQgUSBGMihuZSkzLjA4MiBFKHcpLS4xNSBFCitGMCAuMjIxKGZvciB0aGUgXDIxNHJzdCBvY2N1cnJlbmNlIG9mKTMuMDMyIEYgRjIob2xkKTIuOTUxIEUgRjAgLjIyMQorKGluIHRoZSBlKTMuNDkxIEYgLS4xNSh2ZSktLjI1IEcgLjIyMShudCBsaW5lLikuMTUgRihBbik1LjIyMSBFIDIuNzIxCisoeWQpLS4xNSBHIC4yMjEoZWxpbWl0ZXIgY2FuIGJlIHVzZWQgaW4gcGxhY2UpLTIuNzIxIEYgLjYxNihvZiAvLikxNDQKKzI3OC40IFIgLjYxNworKFRoZSBcMjE0bmFsIGRlbGltaXRlciBpcyBvcHRpb25hbCBpZiBpdCBpcyB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgdGhlIGUpCis1LjYxNiBGIC0uMTUodmUpLS4yNSBHIC42MTcobnQgbGluZS4pLjE1IEYgLjYxNyhUaGUgZGVsaW1pdGVyIG1heSk1LjYxNworRiAuNjY2KGJlIHF1b3RlZCBpbikxNDQgMjkwLjQgUiBGMihvbGQpMy4zOTYgRSBGMChhbmQpMy45MzYgRSBGMihuZSkKKzMuNTI2IEUodyktLjE1IEUgRjAgLjY2Nih3aXRoIGEgc2luZ2xlIGJhY2tzbGFzaC4pMy40NzYgRiAuNjY2CisoSWYgJiBhcHBlYXJzIGluKTUuNjY2IEYgRjIobmUpMy4xNjYgRSh3KS0uMTUgRSBGMCAzLjE2NigsaSkuMzEgRyAzLjE2NgorKHRpKS0zLjE2NiBHIDMuMTY2KHNyKS0zLjE2NiBHIC42NjYoZXBsYWNlZCBieSktMy4xNjYgRiBGMihvbGQpMy4xNjYgRQorRjAgNS42NjYoLkEpLjc3IEcgLjI3NChzaW5nbGUgYmFja3NsYXNoIHdpbGwgcXVvdGUgdGhlICYuKTE0NCAzMDIuNCBSCisoSWYpNS4yNzQgRSBGMihvbGQpMy4wMDQgRSBGMCAuMjc0KGlzIG51bGwsIGl0IGlzIHNldCB0byB0aGUgbGFzdCkzLjU0NAorRiBGMihvbGQpMy4wMDUgRSBGMCAuMjc1KHN1YnN0aXR1dGVkLCBvcikzLjU0NSBGIDIuNzc1KCxpKS0uNCBHIDIuNzc1CisoZm4pLTIuNzc1IEcgMi43NzUob3ApLTIuNzc1IEcocmUpLTIuNzc1IEUodmktKS0uMjUgRQorKG91cyBoaXN0b3J5IHN1YnN0aXR1dGlvbnMgdG9vayBwbGFjZSwgdGhlIGxhc3QpMTQ0IDMxNC40IFEgRjIoc3RyaW5nKQorMi44NCBFIEYwKGluIGEpMi43MiBFIEYxKCE/KTIuNSBFIEYyKHN0cmluZylBIEYxKFs/XSlBIEYwKHNlYXJjaC4pNSBFIEYxCisoJikxMDggMzI2LjQgUSBGMChSZXBlYXQgdGhlIHByZSkyNy42NyBFKHZpb3VzIHN1YnN0aXR1dGlvbi4pLS4yNSBFIEYxCisoZykxMDggMzM4LjQgUSBGMCAuMzk4KENhdXNlIGNoYW5nZXMgdG8gYmUgYXBwbGllZCBvKTMxIEYgLS4xNSh2ZSktLjE1IEcKKzIuODk4KHJ0KS4xNSBHIC4zOTgoaGUgZW50aXJlIGUpLTIuODk4IEYgLS4xNSh2ZSktLjI1IEcgLjM5OChudCBsaW5lLikKKy4xNSBGIC4zOTcoVGhpcyBpcyB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggYCk1LjM5OCBGIEYxKDpzKUEgRjAgMi44OTcKKygnXCgpQyhlLmcuLCktMi44OTcgRShgKTE0NCAzNTAuNCBRIEYxKDpncy8pQSBGMihvbGQpQSBGMSgvKUEgRjIobmUpQSh3KQorLS4xNSBFIEYxKC8pQSBGMCAxLjIxOCgnXCkgb3IgYClCIEYxKDomKUEgRjAgMy43MTgoJy4gSWYpQiAxLjIxOAorKHVzZWQgd2l0aCBgKTMuNzE4IEYgRjEoOnMpQSBGMCAxLjIxOCgnLCBhbilCIDMuNzE4KHlkKS0uMTUgRyAxLjIxOQorKGVsaW1pdGVyIGNhbiBiZSB1c2VkIGluIHBsYWNlIG9mIC8sIGFuZCB0aGUgXDIxNG5hbCktMy43MTggRiAuMDkKKyhkZWxpbWl0ZXIgaXMgb3B0aW9uYWwgaWYgaXQgaXMgdGhlIGxhc3QgY2hhcmFjdGVyIG9mIHRoZSBlKTE0NCAzNjIuNCBSCistLjE1KHZlKS0uMjUgRyAuMDg5KG50IGxpbmUuKS4xNSBGKEFuKTUuMDg5IEUgRjEoYSkyLjU4OSBFIEYwIC4wODkKKyhtYXkgYmUgdXNlZCBhcyBhIHN5bm9uKTIuNTg5IEYgLjA4OSh5bSBmb3IpLS4xNSBGIEYxKGcpMTQ0IDM3NC40IFEgRjAKKyguKUEgRjEoRykxMDggMzg2LjQgUSBGMChBcHBseSB0aGUgZm9sbG8pMjguMjIgRSh3aW5nIGApLS4yNSBFIEYxKHMpQSBGMAorMi41KCdtKUMob2RpXDIxNGVyIG9uY2UgdG8gZWFjaCB3KS0yLjUgRShvcmQgaW4gdGhlIGUpLS4xIEUgLS4xNSh2ZSktLjI1CitHKG50IGxpbmUuKS4xNSBFL0YzIDEwLjk1L1RpbWVzLUJvbGRAMCBTRihTSEVMTCBCKTcyIDQwMy4yIFEoVUlMKS0uMTEgRQorKFRJTiBDT01NQU5EUyktMS4wMDcgRSBGMCAuMDYyKFVubGVzcyBvdGhlcndpc2Ugbm90ZWQsIGVhY2ggYikxMDggNDE1LjIKK1IgLjA2Mih1aWx0aW4gY29tbWFuZCBkb2N1bWVudGVkIGluIHRoaXMgc2VjdGlvbiBhcyBhY2NlcHRpbmcgb3B0aW9ucyBwXAorcmVjZWRlZCBieSktLjIgRiBGMTxhZD4xMDggNDI3LjIgUSBGMChhY2NlcHRzKTIuNTM0IEUgRjE8YWRhZD4yLjUzNCBFIEYwCisuMDM0KHRvIHNpZ25pZnkgdGhlIGVuZCBvZiB0aGUgb3B0aW9ucy4pMi41MzQgRihUaGUpNS4wMzQgRSBGMSg6KTIuNTM0IEUKK0YwKCwpQSBGMSh0cnVlKTIuNTM0IEUgRjAoLClBIEYxKGZhbHNlKTIuNTM0IEUgRjAgMi41MzQoLGEpQyhuZCktMi41MzQgRQorRjEodGVzdCkyLjUzNCBFIEYwIC0uMihidSkyLjUzNCBHIC4wMzMoaWx0aW5zIGRvIG5vdCBhY2NlcHQgb3B0aW9ucyBhbmQpCisuMiBGIC4wNzcoZG8gbm90IHRyZWF0KTEwOCA0MzkuMiBSIEYxPGFkYWQ+Mi41NzcgRSBGMChzcGVjaWFsbHkpMi41NzcgRQorNS4wNzcoLlQpLS42NSBHKGhlKS01LjA3NyBFIEYxKGV4aXQpMi41NzcgRSBGMCgsKUEgRjEobG9nb3V0KTIuNTc3IEUgRjAKKygsKUEgRjEoYnIpMi41NzcgRShlYWspLS4xOCBFIEYwKCwpQSBGMShjb250aW51ZSkyLjU3NyBFIEYwKCwpQSBGMShsZXQpCisyLjU3NyBFIEYwIDIuNTc3KCxhKUMobmQpLTIuNTc3IEUgRjEoc2hpZnQpMi41NzcgRSBGMCAtLjIoYnUpMi41NzcgRworLjA3NyhpbHRpbnMgYWNjZXB0IGFuZCBwcm9jZXNzIGFyKS4yIEYoZ3UtKS0uMTggRSAuMzIobWVudHMgYmUpMTA4IDQ1MS4yCitSIC4zMihnaW5uaW5nIHdpdGgpLS4xNSBGIEYxPGFkPjIuODIgRSBGMCAuMzIod2l0aG91dCByZXF1aXJpbmcpMi44MiBGCitGMTxhZGFkPjIuODIgRSBGMCA1LjMxOSguTylDIC4zMTkodGhlciBiKS01LjMxOSBGIC4zMTkKKyh1aWx0aW5zIHRoYXQgYWNjZXB0IGFyKS0uMiBGIC4zMTkoZ3VtZW50cyBiKS0uMTggRiAuMzE5CisodXQgYXJlIG5vdCBzcGVjaVwyMTRlZCBhcyktLjIgRiAxLjE0MyhhY2NlcHRpbmcgb3B0aW9ucyBpbnRlcnByZXQgYXIpCisxMDggNDYzLjIgUiAxLjE0MyhndW1lbnRzIGJlKS0uMTggRiAxLjE0MyhnaW5uaW5nIHdpdGgpLS4xNSBGIEYxPGFkPgorMy42NDMgRSBGMCAxLjE0MyhhcyBpbikzLjY0MyBGIC0uMjUodmEpLS40IEcgMS4xNDMKKyhsaWQgb3B0aW9ucyBhbmQgcmVxdWlyZSkuMjUgRiBGMTxhZGFkPjMuNjQ0IEUgRjAgMS4xNDQodG8gcHJlKTMuNjQ0IEYKKy0uMTUodmUpLS4yNSBHIDEuMTQ0KG50IHRoaXMpLjE1IEYoaW50ZXJwcmV0YXRpb24uKTEwOCA0NzUuMiBRIEYxKDopMTA4Cis0OTMuMiBRIEYwKFspMi41IEUgRjIoYXIpQShndW1lbnRzKS0uMzcgRSBGMChdKUEgLjQ1MihObyBlZikxNDQgNTA1LjIgUgorLjQ1MihmZWN0OyB0aGUgY29tbWFuZCBkb2VzIG5vdGhpbmcgYmUpLS4yNSBGIC40NTIoeW9uZCBlKS0uMTUgRgorKHhwYW5kaW5nKS0uMTUgRSBGMihhcikzLjI4MiBFKGd1bWVudHMpLS4zNyBFIEYwIC40NTEoYW5kIHBlcmZvcm1pbmcgYW4pCiszLjIyMSBGIDIuOTUxKHlzKS0uMTUgRyhwZWNpXDIxNGVkKS0yLjk1MSBFIDIuNShyZWRpcmVjdGlvbnMuIEEpMTQ0Cis1MTcuMiBSKHplcm8gZSkyLjUgRSh4aXQgY29kZSBpcyByZXR1cm5lZC4pLS4xNSBFIEYxKC4pMTEwLjUgNTM0IFEgRjIKKyhcMjE0bGVuYW1lKTYuNjY2IEUgRjAoWykyLjUgRSBGMihhcilBKGd1bWVudHMpLS4zNyBFIEYwKF0pQSBGMShzb3VyKTEwOAorNTQ2IFEoY2UpLS4xOCBFIEYyKFwyMTRsZW5hbWUpMi41IEUgRjAoWykyLjUgRSBGMihhcilBKGd1bWVudHMpLS4zNyBFIEYwCisoXSlBIDEuMDIoUmVhZCBhbmQgZSkxNDQgNTU4IFIgLS4xNSh4ZSktLjE1IEcgMS4wMihjdXRlIGNvbW1hbmRzIGZyb20pCisuMTUgRiBGMihcMjE0bGVuYW1lKTUuNDMgRSBGMCAxLjAyKGluIHRoZSBjdXJyZW50IHNoZWxsIGVuKTMuNyBGIDEuMDIKKyh2aXJvbm1lbnQgYW5kIHJldHVybiB0aGUgZSktLjQgRih4aXQpLS4xNSBFIDEuNjgKKyhzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKTE0NCA1NzAgUiAtLjE1KHhlKS0uMTUgRyAxLjY4KGN1dGVkIGZyb20pCisuMTUgRiBGMihcMjE0bGVuYW1lKTQuMTggRSBGMCA2LjY4KC5JKS4xOCBHKGYpLTYuNjggRSBGMihcMjE0bGVuYW1lKTYuMDkKK0UgRjAgMS42OChkb2VzIG5vdCBjb250YWluIGEgc2xhc2gsIFwyMTRsZSk0LjM2IEYgLjYwOChuYW1lcyBpbikxNDQgNTgyCitSL0Y0IDkvVGltZXMtQm9sZEAwIFNGIC0uNjY2KFBBKTMuMTA4IEcoVEgpLS4xODkgRSBGMCAuNjA4CisoYXJlIHVzZWQgdG8gXDIxNG5kIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZykyLjg1OCBGIEYyKFwyMTRsZW5hbWUpMy4xMDgKK0UgRjAgNS42MDgoLlQpLjE4IEcgLjYwOChoZSBcMjE0bGUgc2VhcmNoZWQgZm9yIGluKS01LjYwOCBGIEY0IC0uNjY2KFBBKQorMy4xMDggRyhUSCktLjE4OSBFIEYwIC44MzMobmVlZCBub3QgYmUgZSkxNDQgNTk0IFIgLS4xNSh4ZSktLjE1IEcgMy4zMzMKKyhjdXRhYmxlLiBXaGVuKS4xNSBGIEYxKGJhc2gpMy4zMzMgRSBGMCAuODMyKGlzIG5vdCBpbikzLjMzMyBGIEYyIC44MzIKKyhwb3NpeCBtb2RlKTMuMzMyIEYgRjAgMy4zMzIoLHQpQyAuODMyCisoaGUgY3VycmVudCBkaXJlY3RvcnkgaXMgc2VhcmNoZWQgaWYgbm8pLTMuMzMyIEYgLjk4MQorKFwyMTRsZSBpcyBmb3VuZCBpbikxNDQgNjA2IFIgRjQgLS42NjYoUEEpMy40ODEgRyhUSCktLjE4OSBFL0Y1IDkKKy9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMCAuOTgxKElmIHRoZSk1LjQ4MSBGIEYxKHNvdXIpMy40ODEgRShjZXBhdGgpLS4xOAorRSBGMCAuOTgxKG9wdGlvbiB0byB0aGUpMy40ODEgRiBGMShzaG9wdCkzLjQ4MSBFIEYwIC0uMihidSkzLjQ4MSBHIC45ODEKKyhpbHRpbiBjb21tYW5kIGlzIHR1cm5lZCBvZikuMiBGIC45ODIoZiwgdGhlKS0uMjUgRiBGNCAtLjY2NihQQSkxNDQgNjE4CitTKFRIKS0uMTg5IEUgRjAgLjExMihpcyBub3Qgc2VhcmNoZWQuKTIuMzYzIEYgLjExMihJZiBhbik1LjExMiBGKHkpLS4xNQorRSBGMihhcikyLjYxMiBFKGd1bWVudHMpLS4zNyBFIEYwIC4xMTIoYXJlIHN1cHBsaWVkLCB0aGUpMi42MTIgRiAyLjYxMgorKHliKS0uMTUgRyAuMTEyKGVjb21lIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgd2hlbiktMi42MTIgRiBGMgorKFwyMTRsZW5hbWUpMTQ0IDYzMCBRIEYwIC4zNDEoaXMgZSkyLjg0MSBGIC0uMTUoeGUpLS4xNSBHIDIuODQxCisoY3V0ZWQuIE90aGVyd2lzZSkuMTUgRiAuMzQxKHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHVuY2hhbmdlZC4pCisyLjg0MSBGIC4zNDIoVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlKTUuMzQyIEYgLjcxNgorKHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpMTQ0IDY0MiBSIC43MTYKKyh4aXRlZCB3aXRoaW4gdGhlIHNjcmlwdCBcKDAgaWYgbm8gY29tbWFuZHMgYXJlIGUpLS4xNSBGIC0uMTUoeGUpLS4xNSBHCisuNzE2KGN1dGVkXCksIGFuZCBmKS4xNSBGIC43MTUoYWxzZSBpZiktLjEgRiBGMihcMjE0bGVuYW1lKTE0NS45MSA2NTQgUQorRjAoaXMgbm90IGZvdW5kIG9yIGNhbm5vdCBiZSByZWFkLikyLjY4IEUgRjEoYWxpYXMpMTA4IDY3MC44IFEgRjAoWykyLjUKK0UgRjE8YWQ3MD5BIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjIodmFsdWUpQSBGMCAyLjUoXS4pQworKC4uXSktMi41IEUgRjEoQWxpYXMpMTQ0IDY4Mi44IFEgRjAgMi43MjQod2l0aCBubyBhcik1LjIyNCBGIDIuNzI0CisoZ3VtZW50cyBvciB3aXRoIHRoZSktLjE4IEYgRjE8YWQ3MD41LjIyNCBFIEYwIDIuNzI0Cisob3B0aW9uIHByaW50cyB0aGUgbGlzdCBvZiBhbGlhc2VzIGluIHRoZSBmb3JtKTUuMjI0IEYgRjEoYWxpYXMpNS4yMjUgRQorRjIobmFtZSkxNDQgNjk0LjggUSBGMCg9KUEgRjIodmFsdWUpQSBGMCAuNTgob24gc3RhbmRhcmQgb3V0cHV0LikzLjA4IEYKKy41OChXaGVuIGFyKTUuNTggRiAuNTgKKyhndW1lbnRzIGFyZSBzdXBwbGllZCwgYW4gYWxpYXMgaXMgZGVcMjE0bmVkIGZvciBlYWNoKS0uMTggRiBGMihuYW1lKQorMy4wOCBFIEYwKHdob3NlKTE0NCA3MDYuOCBRIEYyKHZhbHVlKTIuODk1IEUgRjAgLjM5NShpcyBnaSkyLjg5NSBGIC0uMTUKKyh2ZSktLjI1IEcgMi44OTUobi4gQSkuMTUgRiAuMzk1KHRyYWlsaW5nIHNwYWNlIGluKTIuODk1IEYgRjIodmFsdWUpCiA1LjM5NSBFIEYwIC4zOTUoY2F1c2VzIHRoZSBuZSkyLjg5NSBGIC4zOTUoeHQgdyktLjE1IEYgLjM5NQogKG9yZCB0byBiZSBjaGVjayktLjEgRiAuMzk1KGVkIGZvciBhbGlhcyBzdWItKS0uMSBGIC4wNTQKLShzdGl0dXRpb24gd2hlbiB0aGUgYWxpYXMgaXMgZSkxNDQgMTcyLjggUiAyLjU1NCh4cGFuZGVkLiBGKS0uMTUgRiAuMDU0Ci0ob3IgZWFjaCktLjE1IEYgRjEobmFtZSkyLjU1NCBFIEYwIC4wNTQoaW4gdGhlIGFyKTIuNTU0IEYgLjA1NAotKGd1bWVudCBsaXN0IGZvciB3aGljaCBubyktLjE4IEYgRjEodmFsdWUpMi41NTQgRSBGMCAuMDU0KGlzIHN1cC0pMi41NTQKLUYgMS4zMTQocGxpZWQsIHRoZSBuYW1lIGFuZCB2KTE0NCAxODQuOCBSIDEuMzE0Ci0oYWx1ZSBvZiB0aGUgYWxpYXMgaXMgcHJpbnRlZC4pLS4yNSBGIEYyKEFsaWFzKTYuMzE0IEUgRjAgMS4zMTQKLShyZXR1cm5zIHRydWUgdW5sZXNzIGEpMy44MTQgRiBGMShuYW1lKTMuODE0IEUgRjAgMS4zMTMoaXMgZ2kpMy44MTQgRgotLS4xNSh2ZSktLjI1IEcgMy44MTMobmYpLjE1IEcob3IpLTMuODEzIEUKLSh3aGljaCBubyBhbGlhcyBoYXMgYmVlbiBkZVwyMTRuZWQuKTE0NCAxOTYuOCBRIEYyKGJnKTEwOCAyMTMuNiBRIEYwKFspCi0yLjUgRSBGMShqb2JzcGVjKUEgRjAoLi4uXSkyLjUgRSAuNzQ0KFJlc3VtZSBlYWNoIHN1c3BlbmRlZCBqb2IpMTQ0Ci0yMjUuNiBSIEYxKGpvYnNwZWMpMy4yNDQgRSBGMCAuNzQ1Ci0oaW4gdGhlIGJhY2tncm91bmQsIGFzIGlmIGl0IGhhZCBiZWVuIHN0YXJ0ZWQgd2l0aCkzLjI0NCBGIEYyKCYpMy4yNDUgRQotRjAgNS43NDUoLkkpQyhmKS01Ljc0NSBFIEYxKGpvYi0pNC45ODUgRShzcGVjKTE0NCAyMzcuNiBRIEYwIC42NzIKLShpcyBub3QgcHJlc2VudCwgdGhlIHNoZWxsJykzLjQ4MiBGIDMuMTcyKHNuKS0uNTUgRyAuNjcyKG90aW9uIG9mIHRoZSkKLS0zLjE3MiBGIEYxKGN1cnIpMy4xNzIgRSAuNjcyKGVudCBqb2IpLS4zNyBGIEYwIC42NzIoaXMgdXNlZC4pMy4xNzIgRiBGMgotKGJnKTUuNjcxIEUgRjEoam9ic3BlYyk0LjkxMSBFIEYwIC42NzEocmV0dXJucyAwIHVubGVzcyBydW4pMy40ODEgRiAuNDE4Ci0od2hlbiBqb2IgY29udHJvbCBpcyBkaXNhYmxlZCBvcikxNDQgMjQ5LjYgUiAyLjkxOSgsdyktLjQgRyAuNDE5Ci0oaGVuIHJ1biB3aXRoIGpvYiBjb250cm9sIGVuYWJsZWQsIGFuKS0yLjkxOSBGIDIuOTE5KHlzKS0uMTUgRwotKHBlY2lcMjE0ZWQpLTIuOTE5IEUgRjEoam9ic3BlYykyLjkxOSBFIEYwIC0uMSh3YSkyLjkxOSBHIDIuOTE5KHNuKS4xIEcKLShvdCktMi45MTkgRShmb3VuZCBvciB3KTE0NCAyNjEuNiBRKGFzIHN0YXJ0ZWQgd2l0aG91dCBqb2IgY29udHJvbC4pLS4xCi1FIEYyKGJpbmQpMTA4IDI3OC40IFEgRjAoWykyLjUgRSBGMjxhZDZkPkEgRjEgLS4xKGtlKTIuNSBHKHltYXApLS4yIEUgRjAKLTIuNShdWylDIEYyKFwyNTVscHN2UFNWKS0yLjUgRSBGMChdKUEgRjIoYmluZCkxMDggMjkwLjQgUSBGMChbKTIuNSBFIEYyCi08YWQ2ZD5BIEYxIC0uMShrZSkyLjUgRyh5bWFwKS0uMiBFIEYwIDIuNShdWylDIEYyPGFkNzE+LTIuNSBFIEYxCi0oZnVuY3Rpb24pMi41IEUgRjAgMi41KF1bKUMgRjI8YWQ3NT4tMi41IEUgRjEoZnVuY3Rpb24pMi41IEUgRjAgMi41KF1bKUMKLUYyPGFkNzI+LTIuNSBFIEYxIC0uMShrZSkyLjUgRyh5c2VxKS0uMiBFIEYwKF0pQSBGMihiaW5kKTEwOCAzMDIuNCBRIEYwCi0oWykyLjUgRSBGMjxhZDZkPkEgRjEgLS4xKGtlKTIuNSBHKHltYXApLS4yIEUgRjAoXSlBIEYyPGFkNjY+Mi41IEUgRjEKLShcMjE0bGVuYW1lKTIuNSBFIEYyKGJpbmQpMTA4IDMxNC40IFEgRjAoWykyLjUgRSBGMjxhZDZkPkEgRjEgLS4xKGtlKTIuNQotRyh5bWFwKS0uMiBFIEYwKF0pQSBGMjxhZDc4PjIuNSBFIEYxIC0uMShrZSkyLjUgRyh5c2VxKS0uMiBFIEYwKDopQSBGMQotKHNoZWxsXDI1NWNvbW1hbmQpQSBGMihiaW5kKTEwOCAzMjYuNCBRIEYwKFspMi41IEUgRjI8YWQ2ZD5BIEYxIC0uMShrZSkKLTIuNSBHKHltYXApLS4yIEUgRjAoXSlBIEYxIC0uMShrZSkyLjUgRyh5c2VxKS0uMiBFIEYwKDopQSBGMQotKGZ1bmN0aW9uXDI1NW5hbWUpQSBGMihiaW5kKTEwOCAzMzguNCBRIEYxIC0uMzcocmUpMi41IEcKLShhZGxpbmVcMjU1Y29tbWFuZCkuMzcgRSBGMCAuMjM5KERpc3BsYXkgY3VycmVudCkxNDQgMzUwLjQgUiBGMiAtLjE4KHJlKQotMi43MzkgRyhhZGxpbmUpLjE4IEUgRjAgLS4xKGtlKTIuNzM5IEcgMi43MzkoeWEpLS4wNSBHIC4yMzkKLShuZCBmdW5jdGlvbiBiaW5kaW5ncywgYmluZCBhIGspLTIuNzM5IEYgLjUzOSAtLjE1KGV5IHMpLS4xIEggLjIzOAotKGVxdWVuY2UgdG8gYSkuMTUgRiBGMiAtLjE4KHJlKTIuNzM4IEcoYWRsaW5lKS4xOCBFIEYwIC4yMzgoZnVuY3Rpb24gb3IpCi0yLjczOCBGIC40NzUobWFjcm8sIG9yIHNldCBhKTE0NCAzNjIuNCBSIEYyIC0uMTgocmUpMi45NzUgRyhhZGxpbmUpLjE4IEUKLUYwIC0uMjUodmEpMi45NzUgRyAyLjk3NShyaWFibGUuIEVhY2gpLjI1IEYgLjQ3Nihub24tb3B0aW9uIGFyKTIuOTc2IEYKLS40NzYoZ3VtZW50IGlzIGEgY29tbWFuZCBhcyBpdCB3KS0uMTggRiAuNDc2KG91bGQgYXBwZWFyIGluKS0uMSBGIEYxCi0oLmlucHV0cikxNDQgMzc0LjQgUShjKS0uMzcgRSBGMCAyLjk4NCgsYikuMzEgRyAuNDg0Ci0odXQgZWFjaCBiaW5kaW5nIG9yIGNvbW1hbmQgbXVzdCBiZSBwYXNzZWQgYXMgYSBzZXBhcmF0ZSBhciktMy4xODQgRgotLjQ4MyhndW1lbnQ7IGUuZy4sICciXFxDXDI1NXhcXENcMjU1ciI6KS0uMTggRiAyLjUKLShyZVwyNTVyZWFkXDI1NWluaXRcMjU1XDIxNGxlJy4gT3B0aW9ucywpMTQ0IDM4Ni40IFIoaWYgc3VwcGxpZWQsIGhhKTIuNQotRSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopLS4yNSBFIEYyPGFkNmQ+MTQ0Ci0zOTguNCBRIEYxIC0uMShrZSkyLjUgRyh5bWFwKS0uMiBFIEYwKFVzZSkxODAgNDEwLjQgUSBGMSAtLjEoa2UpNS4xNTggRwotKHltYXApLS4yIEUgRjAgMi42NTgoYXMgdGhlIGspNS4zNDggRiAtLjE1KGV5KS0uMSBHIDIuNjU4KG1hcCB0byBiZSBhZikKLS4xNSBGIDIuNjU5KGZlY3RlZCBieSB0aGUgc3Vic2VxdWVudCBiaW5kaW5ncy4pLS4yNSBGKEFjY2VwdGFibGUpNy42NTkgRQotRjEgLS4xKGtlKTE4MCA0MjIuNCBTKHltYXApLS4yIEUgRjAgMy4xOTMobmFtZXMgYXJlKTUuODgzIEYgRjEgMy4xOTMKLShlbWFjcywgZW1hY3NcMjU1c3RhbmRhcik1LjY5MyBGIDMuMTkyCi0oZCwgZW1hY3NcMjU1bWV0YSwgZW1hY3NcMjU1Y3RseCwgdmksIHZpXDI1NW1vKS0uMzcgRih2ZSktLjEgRSgsKS0uMSBFCi0odmlcMjU1Y29tbWFuZCkxODAgNDM0LjQgUSBGMCA0LjQyOSgsYSlDKG5kKS00LjQyOSBFIEYxKHZpXDI1NWluc2VydCkKLTQuNDI5IEUgRjAoLikuNjggRSBGMSh2aSk2LjkyOSBFIEYwIDEuOTI5KGlzIGVxdWkpNC40MjkgRiAtLjI1KHZhKS0uMjUgRwotMS45MjkobGVudCB0bykuMjUgRiBGMSh2aVwyNTVjb21tYW5kKTQuNDI5IEUgRjAoOylBIEYxKGVtYWNzKTQuNDI5IEUgRjAKLTEuOTI5KGlzIGVxdWkpNC40MjkgRiAtLjI1KHZhKS0uMjUgRyAxLjkzKGxlbnQgdG8pLjI1IEYgRjEKLShlbWFjc1wyNTVzdGFuZGFyKTE4MCA0NDYuNCBRKGQpLS4zNyBFIEYwKC4pQSBGMjxhZDZjPjE0NCA0NTguNCBRIEYwCi0oTGlzdCB0aGUgbmFtZXMgb2YgYWxsKTI3LjUyIEUgRjIgLS4xOChyZSkyLjUgRyhhZGxpbmUpLjE4IEUgRjAKLShmdW5jdGlvbnMuKTIuNSBFIEYyPGFkNzA+MTQ0IDQ3MC40IFEgRjAoRGlzcGxheSkyNC43NCBFIEYyIC0uMTgocmUpMi41Ci1HKGFkbGluZSkuMTggRSBGMChmdW5jdGlvbiBuYW1lcyBhbmQgYmluZGluZ3MgaW4gc3VjaCBhIHcpMi41IEUKLShheSB0aGF0IHRoZSktLjEgRSAyLjUoeWMpLS4xNSBHKGFuIGJlIHJlLXJlYWQuKS0yLjUgRSBGMjxhZDUwPjE0NCA0ODIuNAotUSBGMChMaXN0IGN1cnJlbnQpMjQuMTkgRSBGMiAtLjE4KHJlKTIuNSBHKGFkbGluZSkuMTggRSBGMAotKGZ1bmN0aW9uIG5hbWVzIGFuZCBiaW5kaW5ncy4pMi41IEUgRjI8YWQ3Mz4xNDQgNDk0LjQgUSBGMChEaXNwbGF5KTI2LjQxCi1FIEYyIC0uMTgocmUpMy42NTUgRyhhZGxpbmUpLjE4IEUgRjAgLS4xKGtlKTMuNjU1IEcgMy42NTUoeXMpLS4wNSBHCi0xLjE1NShlcXVlbmNlcyBib3VuZCB0byBtYWNyb3MgYW5kIHRoZSBzdHJpbmdzIHRoZSktMy42NTUgRiAzLjY1NSh5bykKLS0uMTUgRyAxLjE1NSh1dHB1dCBpbiBzdWNoIGEpLTMuNjU1IEYgLS4xKHdhKTE4MCA1MDYuNCBTIDIuNSh5dCkuMSBHCi0oaGF0IHRoZSktMi41IEUgMi41KHljKS0uMTUgRyhhbiBiZSByZS1yZWFkLiktMi41IEUgRjI8YWQ1Mz4xNDQgNTE4LjQgUQotRjAoRGlzcGxheSkyNC43NCBFIEYyIC0uMTgocmUpMi41IEcoYWRsaW5lKS4xOCBFIEYwIC0uMShrZSkyLjUgRyAyLjUoeXMpCi0tLjA1IEcoZXF1ZW5jZXMgYm91bmQgdG8gbWFjcm9zIGFuZCB0aGUgc3RyaW5ncyB0aGUpLTIuNSBFIDIuNSh5byktLjE1IEcKLSh1dHB1dC4pLTIuNSBFIEYyPGFkNzY+MTQ0IDUzMC40IFEgRjAoRGlzcGxheSkyNS4zIEUgRjIgLS4xOChyZSkyLjUgRwotKGFkbGluZSkuMTggRSBGMCAtLjI1KHZhKTIuNSBHKHJpYWJsZSBuYW1lcyBhbmQgdikuMjUgRQotKGFsdWVzIGluIHN1Y2ggYSB3KS0uMjUgRShheSB0aGF0IHRoZSktLjEgRSAyLjUoeWMpLS4xNSBHCi0oYW4gYmUgcmUtcmVhZC4pLTIuNSBFIEYyPGFkNTY+MTQ0IDU0Mi40IFEgRjAoTGlzdCBjdXJyZW50KTIzLjA4IEUgRjIKLS0uMTgocmUpMi41IEcoYWRsaW5lKS4xOCBFIEYwIC0uMjUodmEpMi41IEcocmlhYmxlIG5hbWVzIGFuZCB2KS4yNSBFCi0oYWx1ZXMuKS0uMjUgRSBGMjxhZDY2PjE0NCA1NTQuNCBRIEYxKFwyMTRsZW5hbWUpMi41IEUgRjAoUmVhZCBrKTE4MAotNTY2LjQgUSAuMyAtLjE1KGV5IGIpLS4xIEgoaW5kaW5ncyBmcm9tKS4xNSBFIEYxKFwyMTRsZW5hbWUpMi41IEUgRjAoLilBCi1GMjxhZDcxPjE0NCA1NzguNCBRIEYxKGZ1bmN0aW9uKTIuNSBFIEYwKFF1ZXJ5IGFib3V0IHdoaWNoIGspMTgwIDU5MC40IFEKLS0uMTUoZXkpLS4xIEcgMi41KHNpKS4xNSBHIC0xLjkgLS40KG52IG8pLTIuNSBIIC4yIC0uMShrZSB0KS40IEgKLShoZSBuYW1lZCkuMSBFIEYxKGZ1bmN0aW9uKTIuNSBFIEYwKC4pQSBGMjxhZDc1PjE0NCA2MDIuNCBRIEYxKGZ1bmN0aW9uKQotMi41IEUgRjAoVW5iaW5kIGFsbCBrKTE4MCA2MTQuNCBRIC0uMTUoZXkpLS4xIEcgMi41KHNiKS4xNSBHCi0ob3VuZCB0byB0aGUgbmFtZWQpLTIuNSBFIEYxKGZ1bmN0aW9uKTIuNSBFIEYwKC4pQSBGMjxhZDcyPjE0NCA2MjYuNCBRCi1GMSAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMChSZW1vKTE4MCA2MzguNCBRIC4zIC0uMTUodmUgYSktLjE1IEggLjMKLS0uMTUobnkgYykuMTUgSCh1cnJlbnQgYmluZGluZyBmb3IpLjE1IEUgRjEgLS4xKGtlKTIuNSBHKHlzZXEpLS4yIEUgRjAKLSguKUEgRjI8YWQ3OD4xNDQgNjUwLjQgUSBGMSAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMig6KUEgRjEKLShzaGVsbFwyNTVjb21tYW5kKUEgRjAoQ2F1c2UpMTgwIDY2Mi40IFEgRjEoc2hlbGxcMjU1Y29tbWFuZCk0LjMyNSBFIEYwCi0xLjgyNSh0byBiZSBlKTQuMzI1IEYgLS4xNSh4ZSktLjE1IEcgMS44MjUoY3V0ZWQgd2hlbmUpLjE1IEYgLS4xNSh2ZSkKLS0uMjUgRyhyKS4xNSBFIEYxIC0uMShrZSk0LjMyNSBHKHlzZXEpLS4yIEUgRjAgMS44MjUoaXMgZW50ZXJlZC4pNC4zMjUgRgotKFdoZW4pNi44MjUgRSBGMShzaGVsbFwyNTVjb20tKTQuMzI1IEUobWFuZCkxODAgNjc0LjQgUSBGMCAxLjc2NShpcyBlKQotNC4yNjUgRiAtLjE1KHhlKS0uMTUgRyAxLjc2NShjdXRlZCwgdGhlIHNoZWxsIHNldHMgdGhlKS4xNSBGL0YzIDkKLS9UaW1lcy1Cb2xkQDAgU0YoUkVBRExJTkVfTElORSk0LjI2NSBFIEYwIC0uMjUodmEpNC4wMTUgRyAxLjc2NQotKHJpYWJsZSB0byB0aGUgY29udGVudHMgb2YgdGhlKS4yNSBGIEYyIC0uMTgocmUpMTgwIDY4Ni40IFMoYWRsaW5lKS4xOCBFCi1GMCAxLjM1MyhsaW5lIGIpMy44NTIgRih1ZiktLjIgRSAxLjM1MyhmZXIgYW5kIHRoZSktLjI1IEYgRjMKLShSRUFETElORV9QT0lOVCkzLjg1MyBFIEYwIC0uMjUodmEpMy42MDMgRyAxLjM1MwotKHJpYWJsZSB0byB0aGUgY3VycmVudCBsb2NhdGlvbiBvZiB0aGUpLjI1IEYgMi4wMTIoaW5zZXJ0aW9uIHBvaW50LikxODAKLTY5OC40IFIgMi4wMTEoSWYgdGhlIGUpNy4wMTIgRiAtLjE1KHhlKS0uMTUgRyAyLjAxMQotKGN1dGVkIGNvbW1hbmQgY2hhbmdlcyB0aGUgdikuMTUgRiAyLjAxMShhbHVlIG9mKS0uMjUgRiBGMwotKFJFQURMSU5FX0xJTkUpNC41MTEgRSBGMChvcik0LjI2MSBFIEYzKFJFQURMSU5FX1BPSU5UKTE4MCA3MTAuNCBRL0Y0IDkKLS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMCh0aG9zZSBuZSkyLjI1IEUgMi41KHd2KS0uMjUgRwotKGFsdWVzIHdpbGwgYmUgcmVcMjE1ZWN0ZWQgaW4gdGhlIGVkaXRpbmcgc3RhdGUuKS0yLjc1IEUoVGhlIHJldHVybiB2KQotMTQ0IDcyNy4yIFEoYWx1ZSBpcyAwIHVubGVzcyBhbiB1bnJlY29nbml6ZWQgb3B0aW9uIGlzIGdpKS0uMjUgRSAtLjE1Ci0odmUpLS4yNSBHIDIuNShubykuMTUgRyAyLjUocmEpLTIuNSBHIDIuNShuZSktMi41IEcocnJvciBvY2N1cnJlZC4pLTIuNQotRShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNDkpMTg1Ljk1NSBFIDAgQ2cgRVAKKyhzdGl0dXRpb24gd2hlbiB0aGUgYWxpYXMgaXMgZSkxNDQgNzE4LjggUiAyLjU1NCh4cGFuZGVkLiBGKS0uMTUgRiAuMDU0Cisob3IgZWFjaCktLjE1IEYgRjIobmFtZSkyLjU1NCBFIEYwIC4wNTQoaW4gdGhlIGFyKTIuNTU0IEYgLjA1NAorKGd1bWVudCBsaXN0IGZvciB3aGljaCBubyktLjE4IEYgRjIodmFsdWUpMi41NTQgRSBGMCAuMDUzKGlzIHN1cC0pMi41NTMKK0YgMS4zMTMocGxpZWQsIHRoZSBuYW1lIGFuZCB2KTE0NCA3MzAuOCBSIDEuMzE0CisoYWx1ZSBvZiB0aGUgYWxpYXMgaXMgcHJpbnRlZC4pLS4yNSBGIEYxKEFsaWFzKTYuMzE0IEUgRjAgMS4zMTQKKyhyZXR1cm5zIHRydWUgdW5sZXNzIGEpMy44MTQgRiBGMihuYW1lKTMuODE0IEUgRjAgMS4zMTQoaXMgZ2kpMy44MTQgRgorLS4xNSh2ZSktLjI1IEcgMy44MTQobmYpLjE1IEcob3IpLTMuODE0IEUoR05VIEJhc2gtNC4yKTcyIDc2OCBRCisoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoNDkpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNTAgNTAKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGJyKTEwOCA4NCBRKGVhayktLjE4IEUgRjAoWykyLjUgRS9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKG4pQSBGMChdKUEgLjA1NChFeGl0IGZyb20gd2l0aGluIGEpMTQ0IDk2IFIgRjEgLS4yNQotKGZvKTIuNTU0IEcocikuMjUgRSBGMCgsKUEgRjEod2hpbGUpMi41NTQgRSBGMCgsKUEgRjEodW50aWwpMi41NTUgRSBGMAotMi41NTUoLG8pQyhyKS0yLjU1NSBFIEYxKHNlbGVjdCkyLjU1NSBFIEYwIDIuNTU1KGxvb3AuIElmKTIuNTU1IEYgRjIobikKLTIuNTU1IEUgRjAgLjA1NShpcyBzcGVjaVwyMTRlZCwgYnJlYWspMi41NTUgRiBGMihuKTIuNTU1IEUgRjAobGUpMi41NTUgRQotLS4xNSh2ZSktLjI1IEcobHMuKS4xNSBFIEYyKG4pNS40MTUgRSBGMCAuMDU1KG11c3QgYmUpMi43OTUgRi9GMyAxMAotL1N5bWJvbCBTRjxiMz4yLjU1NSBFIEYwKDEuKTIuNTU1IEUoSWYpMTQ0IDEwOCBRIEYyKG4pMy4wNzUgRSBGMCAuMjE1KGlcCi1zIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGVuY2xvc2luZyBsb29wcywgYWxsIGVuY2xvc2luZyBsb29wcyBhcmUgZSkKLTIuOTU1IEYgMi43MTQoeGl0ZWQuIFRoZSktLjE1IEYgLjIxNChyZXR1cm4gdikyLjcxNCBGKGFsdWUpLS4yNSBFCi0oaXMgMCB1bmxlc3MpMTQ0IDEyMCBRIEYyKG4pMi41IEUgRjAoaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLikKLTIuNSBFIEYxIC0uMihidSkxMDggMTM2LjggUyhpbHRpbikuMiBFIEYyKHNoZWxsXDI1NWIpMi41IEUodWlsdGluKS0uMiBFCi1GMChbKTIuNSBFIEYyKGFyKUEoZ3VtZW50cyktLjM3IEUgRjAoXSlBKEV4KTE0NCAxNDguOCBRIC43OTIKLShlY3V0ZSB0aGUgc3BlY2lcMjE0ZWQgc2hlbGwgYiktLjE1IEYgLjc5Mih1aWx0aW4sIHBhc3NpbmcgaXQpLS4yIEYgRjIKKy0uMzUgRSh3aGljaCBubyBhbGlhcyBoYXMgYmVlbiBkZVwyMTRuZWQuKTE0NCA4NCBRL0YxIDEwL1RpbWVzLUJvbGRAMCBTRgorKGJnKTEwOCAxMDAuOCBRIEYwKFspMi41IEUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0Yoam9ic3BlYylBIEYwKC4uLl0pMi41CitFIC43NDUoUmVzdW1lIGVhY2ggc3VzcGVuZGVkIGpvYikxNDQgMTEyLjggUiBGMihqb2JzcGVjKTMuMjQ1IEUgRjAgLjc0NQorKGluIHRoZSBiYWNrZ3JvdW5kLCBhcyBpZiBpdCBoYWQgYmVlbiBzdGFydGVkIHdpdGgpMy4yNDUgRiBGMSgmKTMuMjQ0IEUKK0YwIDUuNzQ0KC5JKUMoZiktNS43NDQgRSBGMihqb2ItKTQuOTg0IEUoc3BlYykxNDQgMTI0LjggUSBGMCAuNjcxCisoaXMgbm90IHByZXNlbnQsIHRoZSBzaGVsbCcpMy40ODEgRiAzLjE3MShzbiktLjU1IEcgLjY3MihvdGlvbiBvZiB0aGUpCistMy4xNzEgRiBGMihjdXJyKTMuMTcyIEUgLjY3MihlbnQgam9iKS0uMzcgRiBGMCAuNjcyKGlzIHVzZWQuKTMuMTcyIEYgRjEKKyhiZyk1LjY3MiBFIEYyKGpvYnNwZWMpNC45MTIgRSBGMCAuNjcyKHJldHVybnMgMCB1bmxlc3MgcnVuKTMuNDgyIEYgLjQxOQorKHdoZW4gam9iIGNvbnRyb2wgaXMgZGlzYWJsZWQgb3IpMTQ0IDEzNi44IFIgMi45MTkoLHcpLS40IEcgLjQxOQorKGhlbiBydW4gd2l0aCBqb2IgY29udHJvbCBlbmFibGVkLCBhbiktMi45MTkgRiAyLjkxOCh5cyktLjE1IEcKKyhwZWNpXDIxNGVkKS0yLjkxOCBFIEYyKGpvYnNwZWMpMi45MTggRSBGMCAtLjEod2EpMi45MTggRyAyLjkxOChzbikuMSBHCisob3QpLTIuOTE4IEUoZm91bmQgb3IgdykxNDQgMTQ4LjggUShhcyBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wuKS0uMQorRSBGMShiaW5kKTEwOCAxNjUuNiBRIEYwKFspMi41IEUgRjE8YWQ2ZD5BIEYyIC0uMShrZSkyLjUgRyh5bWFwKS0uMiBFIEYwCisyLjUoXVspQyBGMShcMjU1bHBzdlBTViktMi41IEUgRjAoXSlBIEYxKGJpbmQpMTA4IDE3Ny42IFEgRjAoWykyLjUgRSBGMQorPGFkNmQ+QSBGMiAtLjEoa2UpMi41IEcoeW1hcCktLjIgRSBGMCAyLjUoXVspQyBGMTxhZDcxPi0yLjUgRSBGMgorKGZ1bmN0aW9uKTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNzU+LTIuNSBFIEYyKGZ1bmN0aW9uKTIuNSBFIEYwIDIuNShdWylDCitGMTxhZDcyPi0yLjUgRSBGMiAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMChdKUEgRjEoYmluZCkxMDggMTg5LjYgUSBGMAorKFspMi41IEUgRjE8YWQ2ZD5BIEYyIC0uMShrZSkyLjUgRyh5bWFwKS0uMiBFIEYwKF0pQSBGMTxhZDY2PjIuNSBFIEYyCisoXDIxNGxlbmFtZSkyLjUgRSBGMShiaW5kKTEwOCAyMDEuNiBRIEYwKFspMi41IEUgRjE8YWQ2ZD5BIEYyIC0uMShrZSkyLjUKK0coeW1hcCktLjIgRSBGMChdKUEgRjE8YWQ3OD4yLjUgRSBGMiAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMCg6KUEgRjIKKyhzaGVsbFwyNTVjb21tYW5kKUEgRjEoYmluZCkxMDggMjEzLjYgUSBGMChbKTIuNSBFIEYxPGFkNmQ+QSBGMiAtLjEoa2UpCisyLjUgRyh5bWFwKS0uMiBFIEYwKF0pQSBGMiAtLjEoa2UpMi41IEcoeXNlcSktLjIgRSBGMCg6KUEgRjIKKyhmdW5jdGlvblwyNTVuYW1lKUEgRjEoYmluZCkxMDggMjI1LjYgUSBGMiAtLjM3KHJlKTIuNSBHCisoYWRsaW5lXDI1NWNvbW1hbmQpLjM3IEUgRjAgLjIzOChEaXNwbGF5IGN1cnJlbnQpMTQ0IDIzNy42IFIgRjEgLS4xOChyZSkKKzIuNzM4IEcoYWRsaW5lKS4xOCBFIEYwIC0uMShrZSkyLjczOCBHIDIuNzM4KHlhKS0uMDUgRyAuMjM5CisobmQgZnVuY3Rpb24gYmluZGluZ3MsIGJpbmQgYSBrKS0yLjczOCBGIC41MzkgLS4xNShleSBzKS0uMSBIIC4yMzkKKyhlcXVlbmNlIHRvIGEpLjE1IEYgRjEgLS4xOChyZSkyLjczOSBHKGFkbGluZSkuMTggRSBGMCAuMjM5KGZ1bmN0aW9uIG9yKQorMi43MzkgRiAuNDc2KG1hY3JvLCBvciBzZXQgYSkxNDQgMjQ5LjYgUiBGMSAtLjE4KHJlKTIuOTc2IEcoYWRsaW5lKS4xOCBFCitGMCAtLjI1KHZhKTIuOTc2IEcgMi45NzYocmlhYmxlLiBFYWNoKS4yNSBGIC40NzYobm9uLW9wdGlvbiBhcikyLjk3NiBGCisuNDc1KGd1bWVudCBpcyBhIGNvbW1hbmQgYXMgaXQgdyktLjE4IEYgLjQ3NShvdWxkIGFwcGVhciBpbiktLjEgRiBGMgorKC5pbnB1dHIpMTQ0IDI2MS42IFEoYyktLjM3IEUgRjAgMi45ODMoLGIpLjMxIEcgLjQ4NAorKHV0IGVhY2ggYmluZGluZyBvciBjb21tYW5kIG11c3QgYmUgcGFzc2VkIGFzIGEgc2VwYXJhdGUgYXIpLTMuMTgzIEYKKy40ODQoZ3VtZW50OyBlLmcuLCAnIlxcQ1wyNTV4XFxDXDI1NXIiOiktLjE4IEYgMi41CisocmVcMjU1cmVhZFwyNTVpbml0XDI1NVwyMTRsZScuIE9wdGlvbnMsKTE0NCAyNzMuNiBSKGlmIHN1cHBsaWVkLCBoYSkyLjUKK0UgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMTxhZDZkPjE0NAorMjg1LjYgUSBGMiAtLjEoa2UpMi41IEcoeW1hcCktLjIgRSBGMChVc2UpMTgwIDI5Ny42IFEgRjIgLS4xKGtlKTUuMTU5IEcKKyh5bWFwKS0uMiBFIEYwIDIuNjU5KGFzIHRoZSBrKTUuMzQ5IEYgLS4xNShleSktLjEgRyAyLjY1OChtYXAgdG8gYmUgYWYpCisuMTUgRiAyLjY1OChmZWN0ZWQgYnkgdGhlIHN1YnNlcXVlbnQgYmluZGluZ3MuKS0uMjUgRihBY2NlcHRhYmxlKTcuNjU4IEUKK0YyIC0uMShrZSkxODAgMzA5LjYgUyh5bWFwKS0uMiBFIEYwIDMuMTkyKG5hbWVzIGFyZSk1Ljg4MiBGIEYyIDMuMTkyCisoZW1hY3MsIGVtYWNzXDI1NXN0YW5kYXIpNS42OTIgRiAzLjE5MworKGQsIGVtYWNzXDI1NW1ldGEsIGVtYWNzXDI1NWN0bHgsIHZpLCB2aVwyNTVtbyktLjM3IEYodmUpLS4xIEUoLCktLjEgRQorKHZpXDI1NWNvbW1hbmQpMTgwIDMyMS42IFEgRjAgNC40MygsYSlDKG5kKS00LjQzIEUgRjIodmlcMjU1aW5zZXJ0KTQuNDI5CitFIEYwKC4pLjY4IEUgRjIodmkpNi45MjkgRSBGMCAxLjkyOShpcyBlcXVpKTQuNDI5IEYgLS4yNSh2YSktLjI1IEcgMS45MjkKKyhsZW50IHRvKS4yNSBGIEYyKHZpXDI1NWNvbW1hbmQpNC40MjkgRSBGMCg7KUEgRjIoZW1hY3MpNC40MjkgRSBGMCAxLjkyOQorKGlzIGVxdWkpNC40MjkgRiAtLjI1KHZhKS0uMjUgRyAxLjkyOShsZW50IHRvKS4yNSBGIEYyKGVtYWNzXDI1NXN0YW5kYXIpCisxODAgMzMzLjYgUShkKS0uMzcgRSBGMCguKUEgRjE8YWQ2Yz4xNDQgMzQ1LjYgUSBGMAorKExpc3QgdGhlIG5hbWVzIG9mIGFsbCkyNy41MiBFIEYxIC0uMTgocmUpMi41IEcoYWRsaW5lKS4xOCBFIEYwCisoZnVuY3Rpb25zLikyLjUgRSBGMTxhZDcwPjE0NCAzNTcuNiBRIEYwKERpc3BsYXkpMjQuNzQgRSBGMSAtLjE4KHJlKTIuNQorRyhhZGxpbmUpLjE4IEUgRjAoZnVuY3Rpb24gbmFtZXMgYW5kIGJpbmRpbmdzIGluIHN1Y2ggYSB3KTIuNSBFCisoYXkgdGhhdCB0aGUpLS4xIEUgMi41KHljKS0uMTUgRyhhbiBiZSByZS1yZWFkLiktMi41IEUgRjE8YWQ1MD4xNDQgMzY5LjYKK1EgRjAoTGlzdCBjdXJyZW50KTI0LjE5IEUgRjEgLS4xOChyZSkyLjUgRyhhZGxpbmUpLjE4IEUgRjAKKyhmdW5jdGlvbiBuYW1lcyBhbmQgYmluZGluZ3MuKTIuNSBFIEYxPGFkNzM+MTQ0IDM4MS42IFEgRjAoRGlzcGxheSkyNi40MQorRSBGMSAtLjE4KHJlKTMuNjU1IEcoYWRsaW5lKS4xOCBFIEYwIC0uMShrZSkzLjY1NSBHIDMuNjU1KHlzKS0uMDUgRworMS4xNTUoZXF1ZW5jZXMgYm91bmQgdG8gbWFjcm9zIGFuZCB0aGUgc3RyaW5ncyB0aGUpLTMuNjU1IEYgMy42NTUoeW8pCistLjE1IEcgMS4xNTUodXRwdXQgaW4gc3VjaCBhKS0zLjY1NSBGIC0uMSh3YSkxODAgMzkzLjYgUyAyLjUoeXQpLjEgRworKGhhdCB0aGUpLTIuNSBFIDIuNSh5YyktLjE1IEcoYW4gYmUgcmUtcmVhZC4pLTIuNSBFIEYxPGFkNTM+MTQ0IDQwNS42IFEKK0YwKERpc3BsYXkpMjQuNzQgRSBGMSAtLjE4KHJlKTIuNSBHKGFkbGluZSkuMTggRSBGMCAtLjEoa2UpMi41IEcgMi41KHlzKQorLS4wNSBHKGVxdWVuY2VzIGJvdW5kIHRvIG1hY3JvcyBhbmQgdGhlIHN0cmluZ3MgdGhlKS0yLjUgRSAyLjUoeW8pLS4xNSBHCisodXRwdXQuKS0yLjUgRSBGMTxhZDc2PjE0NCA0MTcuNiBRIEYwKERpc3BsYXkpMjUuMyBFIEYxIC0uMTgocmUpMi41IEcKKyhhZGxpbmUpLjE4IEUgRjAgLS4yNSh2YSkyLjUgRyhyaWFibGUgbmFtZXMgYW5kIHYpLjI1IEUKKyhhbHVlcyBpbiBzdWNoIGEgdyktLjI1IEUoYXkgdGhhdCB0aGUpLS4xIEUgMi41KHljKS0uMTUgRworKGFuIGJlIHJlLXJlYWQuKS0yLjUgRSBGMTxhZDU2PjE0NCA0MjkuNiBRIEYwKExpc3QgY3VycmVudCkyMy4wOCBFIEYxCistLjE4KHJlKTIuNSBHKGFkbGluZSkuMTggRSBGMCAtLjI1KHZhKTIuNSBHKHJpYWJsZSBuYW1lcyBhbmQgdikuMjUgRQorKGFsdWVzLiktLjI1IEUgRjE8YWQ2Nj4xNDQgNDQxLjYgUSBGMihcMjE0bGVuYW1lKTIuNSBFIEYwKFJlYWQgaykxODAKKzQ1My42IFEgLjMgLS4xNShleSBiKS0uMSBIKGluZGluZ3MgZnJvbSkuMTUgRSBGMihcMjE0bGVuYW1lKTIuNSBFIEYwKC4pQQorRjE8YWQ3MT4xNDQgNDY1LjYgUSBGMihmdW5jdGlvbikyLjUgRSBGMChRdWVyeSBhYm91dCB3aGljaCBrKTE4MCA0NzcuNiBRCistLjE1KGV5KS0uMSBHIDIuNShzaSkuMTUgRyAtMS45IC0uNChudiBvKS0yLjUgSCAuMiAtLjEoa2UgdCkuNCBICisoaGUgbmFtZWQpLjEgRSBGMihmdW5jdGlvbikyLjUgRSBGMCguKUEgRjE8YWQ3NT4xNDQgNDg5LjYgUSBGMihmdW5jdGlvbikKKzIuNSBFIEYwKFVuYmluZCBhbGwgaykxODAgNTAxLjYgUSAtLjE1KGV5KS0uMSBHIDIuNShzYikuMTUgRworKG91bmQgdG8gdGhlIG5hbWVkKS0yLjUgRSBGMihmdW5jdGlvbikyLjUgRSBGMCguKUEgRjE8YWQ3Mj4xNDQgNTEzLjYgUQorRjIgLS4xKGtlKTIuNSBHKHlzZXEpLS4yIEUgRjAoUmVtbykxODAgNTI1LjYgUSAuMyAtLjE1KHZlIGEpLS4xNSBIIC4zCistLjE1KG55IGMpLjE1IEgodXJyZW50IGJpbmRpbmcgZm9yKS4xNSBFIEYyIC0uMShrZSkyLjUgRyh5c2VxKS0uMiBFIEYwCisoLilBIEYxPGFkNzg+MTQ0IDUzNy42IFEgRjIgLS4xKGtlKTIuNSBHKHlzZXEpLS4yIEUgRjEoOilBIEYyCisoc2hlbGxcMjU1Y29tbWFuZClBIEYwKENhdXNlKTE4MCA1NDkuNiBRIEYyKHNoZWxsXDI1NWNvbW1hbmQpNC4zMjUgRSBGMAorMS44MjUodG8gYmUgZSk0LjMyNSBGIC0uMTUoeGUpLS4xNSBHIDEuODI1KGN1dGVkIHdoZW5lKS4xNSBGIC0uMTUodmUpCistLjI1IEcocikuMTUgRSBGMiAtLjEoa2UpNC4zMjUgRyh5c2VxKS0uMiBFIEYwIDEuODI1KGlzIGVudGVyZWQuKTQuMzI1IEYKKyhXaGVuKTYuODI1IEUgRjIoc2hlbGxcMjU1Y29tLSk0LjMyNSBFKG1hbmQpMTgwIDU2MS42IFEgRjAgMS43NjQoaXMgZSkKKzQuMjY0IEYgLS4xNSh4ZSktLjE1IEcgMS43NjUoY3V0ZWQsIHRoZSBzaGVsbCBzZXRzIHRoZSkuMTUgRi9GMyA5CisvVGltZXMtQm9sZEAwIFNGKFJFQURMSU5FX0xJTkUpNC4yNjUgRSBGMCAtLjI1KHZhKTQuMDE1IEcgMS43NjUKKyhyaWFibGUgdG8gdGhlIGNvbnRlbnRzIG9mIHRoZSkuMjUgRiBGMSAtLjE4KHJlKTE4MCA1NzMuNiBTKGFkbGluZSkuMTggRQorRjAgMS4zNTMobGluZSBiKTMuODUzIEYodWYpLS4yIEUgMS4zNTMoZmVyIGFuZCB0aGUpLS4yNSBGIEYzCisoUkVBRExJTkVfUE9JTlQpMy44NTMgRSBGMCAtLjI1KHZhKTMuNjAzIEcgMS4zNTMKKyhyaWFibGUgdG8gdGhlIGN1cnJlbnQgbG9jYXRpb24gb2YgdGhlKS4yNSBGIDIuMDExKGluc2VydGlvbiBwb2ludC4pMTgwCis1ODUuNiBSIDIuMDExKElmIHRoZSBlKTcuMDExIEYgLS4xNSh4ZSktLjE1IEcgMi4wMTEKKyhjdXRlZCBjb21tYW5kIGNoYW5nZXMgdGhlIHYpLjE1IEYgMi4wMTEoYWx1ZSBvZiktLjI1IEYgRjMKKyhSRUFETElORV9MSU5FKTQuNTEyIEUgRjAob3IpNC4yNjIgRSBGMyhSRUFETElORV9QT0lOVCkxODAgNTk3LjYgUS9GNCA5CisvVGltZXMtUm9tYW5AMCBTRigsKUEgRjAodGhvc2UgbmUpMi4yNSBFIDIuNSh3diktLjI1IEcKKyhhbHVlcyB3aWxsIGJlIHJlXDIxNWVjdGVkIGluIHRoZSBlZGl0aW5nIHN0YXRlLiktMi43NSBFKFRoZSByZXR1cm4gdikKKzE0NCA2MTQuNCBRKGFsdWUgaXMgMCB1bmxlc3MgYW4gdW5yZWNvZ25pemVkIG9wdGlvbiBpcyBnaSktLjI1IEUgLS4xNQorKHZlKS0uMjUgRyAyLjUobm8pLjE1IEcgMi41KHJhKS0yLjUgRyAyLjUobmUpLTIuNSBHKHJyb3Igb2NjdXJyZWQuKS0yLjUKK0UgRjEoYnIpMTA4IDYzMS4yIFEoZWFrKS0uMTggRSBGMChbKTIuNSBFIEYyKG4pQSBGMChdKUEgLjA1NQorKEV4aXQgZnJvbSB3aXRoaW4gYSkxNDQgNjQzLjIgUiBGMSAtLjI1KGZvKTIuNTU1IEcocikuMjUgRSBGMCgsKUEgRjEKKyh3aGlsZSkyLjU1NSBFIEYwKCwpQSBGMSh1bnRpbCkyLjU1NSBFIEYwIDIuNTU1KCxvKUMociktMi41NTUgRSBGMQorKHNlbGVjdCkyLjU1NSBFIEYwIDIuNTU1KGxvb3AuIElmKTIuNTU1IEYgRjIobikyLjU1NSBFIEYwIC4wNTUKKyhpcyBzcGVjaVwyMTRlZCwgYnJlYWspMi41NTUgRiBGMihuKTIuNTU1IEUgRjAobGUpMi41NTUgRSAtLjE1KHZlKS0uMjUgRworKGxzLikuMTUgRSBGMihuKTUuNDE0IEUgRjAgLjA1NChtdXN0IGJlKTIuNzk0IEYvRjUgMTAvU3ltYm9sIFNGPGIzPjIuNTU0CitFIEYwKDEuKTIuNTU0IEUoSWYpMTQ0IDY1NS4yIFEgRjIobikzLjA3NCBFIEYwIC4yMTUoaXMgZ3JlYXRlciB0aGFuIHRoZVwKKyBudW1iZXIgb2YgZW5jbG9zaW5nIGxvb3BzLCBhbGwgZW5jbG9zaW5nIGxvb3BzIGFyZSBlKTIuOTU0IEYgMi43MTUKKyh4aXRlZC4gVGhlKS0uMTUgRiAuMjE1KHJldHVybiB2KTIuNzE1IEYoYWx1ZSktLjI1IEUoaXMgMCB1bmxlc3MpMTQ0Cis2NjcuMiBRIEYyKG4pMi41IEUgRjAoaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLikyLjUgRSBGMSAtLjIKKyhidSkxMDggNjg0IFMoaWx0aW4pLjIgRSBGMihzaGVsbFwyNTViKTIuNSBFKHVpbHRpbiktLjIgRSBGMChbKTIuNSBFIEYyCisoYXIpQShndW1lbnRzKS0uMzcgRSBGMChdKUEoRXgpMTQ0IDY5NiBRIC43OTMKKyhlY3V0ZSB0aGUgc3BlY2lcMjE0ZWQgc2hlbGwgYiktLjE1IEYgLjc5Myh1aWx0aW4sIHBhc3NpbmcgaXQpLS4yIEYgRjIKIChhcikzLjI5MyBFKGd1bWVudHMpLS4zNyBFIEYwIDMuMjkzKCxhKS4yNyBHIC43OTMobmQgcmV0dXJuIGl0cyBlKS0zLjI5MwotRiAuNzkzKHhpdCBzdGF0dXMuKS0uMTUgRiAuNzkzKFRoaXMgaXMgdXNlZnVsKTUuNzkzIEYgLjYxNgotKHdoZW4gZGVcMjE0bmluZyBhIGZ1bmN0aW9uIHdob3NlIG5hbWUgaXMgdGhlIHNhbWUgYXMgYSBzaGVsbCBiKTE0NAotMTYwLjggUiAuNjE1KHVpbHRpbiwgcmV0YWluaW5nIHRoZSBmdW5jdGlvbmFsaXR5IG9mKS0uMiBGIC41Nyh0aGUgYikxNDQKLTE3Mi44IFIgLjU3KHVpbHRpbiB3aXRoaW4gdGhlIGZ1bmN0aW9uLiktLjIgRihUaGUpNS41NyBFIEYxKGNkKTMuMDcgRSBGMAotLS4yKGJ1KTMuMDcgRyAuNTcoaWx0aW4gaXMgY29tbW9ubHkgcmVkZVwyMTRuZWQgdGhpcyB3KS4yIEYoYXkpLS4xIEUKLTUuNTcoLlQpLS42NSBHIC41NyhoZSByZXR1cm4gc3RhdHVzKS01LjU3IEYoaXMgZikxNDQgMTg0LjggUShhbHNlIGlmKS0uMQotRSBGMihzaGVsbFwyNTViKTIuODQgRSh1aWx0aW4pLS4yIEUgRjAoaXMgbm90IGEgc2hlbGwgYikyLjc0IEUKLSh1aWx0aW4gY29tbWFuZC4pLS4yIEUgRjEoY2FsbGVyKTEwOCAyMDEuNiBRIEYwKFspMi41IEUgRjIgLS4yKGV4KUMocHIpCi0uMiBFIEYwKF0pQSAuMjU0KFJldHVybnMgdGhlIGNvbnRlKTE0NCAyMTMuNiBSIC4yNTQoeHQgb2YgYW4pLS4xNSBGCi0yLjc1NCh5YSktLjE1IEcoY3RpKS0yLjc1NCBFIC41NTQgLS4xNSh2ZSBzKS0uMjUgSCAuMjU0Ci0odWJyb3V0aW5lIGNhbGwgXChhIHNoZWxsIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGUpLjE1IEYgLS4xNSh4ZSktLjE1IEcKLS4yNTQoY3V0ZWQgd2l0aCB0aGUpLjE1IEYgRjEoLikyLjc1MyBFIEYwKG9yKTIuNzUzIEUgRjEoc291cikxNDQgMjI1LjYgUQotKGNlKS0uMTggRSBGMCAtLjIoYnUpMy4wNjIgRyAzLjA2MihpbHRpbnMuIFcpLjIgRihpdGhvdXQpLS40IEUgRjIgLS4yCi0oZXgpMy4wNjIgRyhwcikuMiBFIEYwKCwpQSBGMShjYWxsZXIpMy4wNjIgRSBGMCAuNTYyCi0oZGlzcGxheXMgdGhlIGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgXDIxNGxlbmFtZSBvZiB0aGUgY3VycmVudCkzLjA2MiBGCi0uMjU0KHN1YnJvdXRpbmUgY2FsbC4pMTQ0IDIzNy42IFIgLjI1NChJZiBhIG5vbi1uZSk1LjI1NCBGIC0uMDUoZ2EpLS4xNQotRyh0aSkuMDUgRSAuNTU0IC0uMTUodmUgaSktLjI1IEgobnRlKS4xNSBFIC4yNTMoZ2VyIGlzIHN1cHBsaWVkIGFzKS0uMTUKLUYgRjIgLS4yKGV4KTIuNzUzIEcocHIpLjIgRSBGMCgsKUEgRjEoY2FsbGVyKTIuNzUzIEUgRjAgLjI1MwotKGRpc3BsYXlzIHRoZSBsaW5lIG51bWJlcikyLjc1MyBGIDIuNzUzKCxzKS0uNCBHKHViLSktMi43NTMgRSAxLjMyNyhyb3VcCi10aW5lIG5hbWUsIGFuZCBzb3VyY2UgXDIxNGxlIGNvcnJlc3BvbmRpbmcgdG8gdGhhdCBwb3NpdGlvbiBpbiB0aGUgY3VyclwKLWVudCBlKTE0NCAyNDkuNiBSIC0uMTUoeGUpLS4xNSBHIDEuMzI4KGN1dGlvbiBjYWxsIHN0YWNrLikuMTUgRiAuMDAxCi0oVGhpcyBlKTE0NCAyNjEuNiBSIC4wMDEoeHRyYSBpbmZvcm1hdGlvbiBtYXkgYmUgdXNlZCwgZm9yIGUpLS4xNSBGIC4wMDEKLSh4YW1wbGUsIHRvIHByaW50IGEgc3RhY2sgdHJhY2UuKS0uMTUgRihUaGUgY3VycmVudCBmcmFtZSBpcyBmcmFtZSk1IEUKLTMuMDE5KDAuIFRoZSkxNDQgMjczLjYgUiAuNTE5KHJldHVybiB2KTMuMDE5IEYgLjUxOQotKGFsdWUgaXMgMCB1bmxlc3MgdGhlIHNoZWxsIGlzIG5vdCBlKS0uMjUgRiAtLjE1KHhlKS0uMTUgRyAuNTIKLShjdXRpbmcgYSBzdWJyb3V0aW5lIGNhbGwgb3IpLjE1IEYgRjIgLS4yKGV4KTMuMDIgRyhwcikuMiBFIEYwIC41MgotKGRvZXMgbm90IGNvcnJlLSkzLjAyIEYoc3BvbmQgdG8gYSB2KTE0NCAyODUuNiBRCi0oYWxpZCBwb3NpdGlvbiBpbiB0aGUgY2FsbCBzdGFjay4pLS4yNSBFIEYxKGNkKTEwOCAzMDIuNCBRIEYwKFspMi41IEUgRjEKLShcMjU1THwtUClBIEYwIDIuNShdWylDIEYyKGRpciktMi41IEUgRjAoXSlBIC4yMQotKENoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8pMTQ0IDMxNC40IFIgRjIoZGlyKTIuNzEgRSBGMCA1LjIxKC5UKUMKLS4yMShoZSB2KS01LjIxIEYoYXJpYWJsZSktLjI1IEUvRjQgOS9UaW1lcy1Cb2xkQDAgU0YoSE9NRSkyLjcxIEUgRjAgLjIxCi0oaXMgdGhlIGRlZikyLjQ2IEYoYXVsdCktLjEgRSBGMihkaXIpMi43MSBFIEYwIDUuMjEoLlQpLjczIEcgLjIxKGhlIHYpCi0tNS4yMSBGKGFyaWFibGUpLS4yNSBFIEY0KENEUCkyLjcxIEUgLS44NTUoQVQpLS42NjYgRyhIKS44NTUgRSBGMCAuNzc2Ci0oZGVcMjE0bmVzIHRoZSBzZWFyY2ggcGF0aCBmb3IgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nKTE0NCAzMjYuNCBSIEYyCi0oZGlyKTMuMjc2IEUgRjAgNS43NzcoLkEpLjczIEcobHRlcm5hdGkpLTUuNzc3IEUgMS4wNzcgLS4xNSh2ZSBkKS0uMjUgSAotLjc3NyhpcmVjdG9yeSBuYW1lcyBpbikuMTUgRiBGNChDRFApMy4yNzcgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFIEYwCi0uNzY0KGFyZSBzZXBhcmF0ZWQgYnkgYSBjb2xvbiBcKDpcKS4pMTQ0IDMzOC40IFIgMy4yNjQoQW4pNS43NjQgRyAuNzY0Ci0odWxsIGRpcmVjdG9yeSBuYW1lIGluKS0zLjI2NCBGIEY0KENEUCkzLjI2NCBFIC0uODU1KEFUKS0uNjY2IEcoSCkuODU1IEUKLUYwIC43NjQoaXMgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQgZGlyZWMtKTMuMDE0IEYodG9yeSkxNDQgMzUwLjQgUSAyLjk3MwotKCxpKS0uNjUgRyAuNDczKC5lLiwgYCktMi45NzMgRihgKS0uNzQgRSBGMSguKUEgRjAgLS43NCgnJylDIDUuNDczKC5JKQotLjc0IEcoZiktNS40NzMgRSBGMihkaXIpMy4zMjMgRSBGMChiZSkzLjcwMyBFIC40NzQKLShnaW5zIHdpdGggYSBzbGFzaCBcKC9cKSwgdGhlbiktLjE1IEYgRjQoQ0RQKTIuOTc0IEUgLS44NTUoQVQpLS42NjYgRyhIKQotLjg1NSBFIEYwIC40NzQoaXMgbm90IHVzZWQuIFRoZSkyLjcyNCBGIEYxPGFkNTA+Mi45NzQgRSBGMCAuNDc0Ci0ob3B0aW9uIHNheXMgdG8gdXNlKTIuOTc0IEYgLjU4KHRoZSBwaCkxNDQgMzYyLjQgUiAuNTgKLSh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSBpbnN0ZWFkIG9mIGZvbGxvKS0uMDUgRiAuNTc5Ci0od2luZyBzeW1ib2xpYyBsaW5rcyBcKHNlZSBhbHNvIHRoZSktLjI1IEYgRjE8YWQ1MD4zLjA3OSBFIEYwIC41NzkKLShvcHRpb24gdG8gdGhlKTMuMDc5IEYgRjEoc2V0KTE0NCAzNzQuNCBRIEYwIC0uMihidSkzLjM4MyBHIC44ODMKLShpbHRpbiBjb21tYW5kXCk7IHRoZSkuMiBGIEYxPGFkNGM+My4zODMgRSBGMCAuODg0Ci0ob3B0aW9uIGZvcmNlcyBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsbykzLjM4NCBGIDMuMzg0KHdlZC4gQW4pLS4yNSBGCi0oYXIpMy4zODQgRSAuODg0KGd1bWVudCBvZiktLjE4IEYgRjE8YWQ+My4zODQgRSBGMChpcykzLjM4NCBFKGVxdWkpMTQ0Ci0zODYuNCBRIC0uMjUodmEpLS4yNSBHIC4zMTYobGVudCB0bykuMjUgRiBGNCgkT0xEUFdEKTIuODE2IEUvRjUgOQotL1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC4zMTYoSWYgYSBub24tZW1wdHkgZGlyZWN0b3J5IG5hbWUgZnJvbSk0LjgxNiBGCi1GNChDRFApMi44MTUgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFIEYwIC4zMTUoaXMgdXNlZCwgb3IgaWYpMi41NjUgRgotRjE8YWQ+Mi44MTUgRSBGMCAuMzE1KGlzIHRoZSBcMjE0cnN0KTIuODE1IEYoYXIpMTQ0IDM5OC40IFEgLjExNihndW1lbnRcCi0sIGFuZCB0aGUgZGlyZWN0b3J5IGNoYW5nZSBpcyBzdWNjZXNzZnVsLCB0aGUgYWJzb2x1dGUgcGF0aG5hbWUgb2YgdGhlIFwKLW5lKS0uMTggRiAyLjYxNih3dyktLjI1IEcgLjExNihvcmtpbmcgZGlyZWMtKS0yLjcxNiBGIDEuMTY1Ci0odG9yeSBpcyB3cml0dGVuIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuKTE0NCA0MTAuNCBSIDEuMTY0KFRoZSByZXR1cm4gdikKLTYuMTY0IEYgMS4xNjQoYWx1ZSBpcyB0cnVlIGlmIHRoZSBkaXJlY3RvcnkgdyktLjI1IEYgMS4xNjQKLShhcyBzdWNjZXNzZnVsbHkpLS4xIEYoY2hhbmdlZDsgZikxNDQgNDIyLjQgUShhbHNlIG90aGVyd2lzZS4pLS4xIEUgRjEKLShjb21tYW5kKTEwOCA0MzkuMiBRIEYwKFspMi41IEUgRjEoXDI1NXBWdilBIEYwKF0pQSBGMihjb21tYW5kKTIuNSBFIEYwCi0oWykyLjUgRSBGMihhcilBKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUoUnVuKTE0NCA0NTEuMiBRIEYyKGNvbW1hbmQpMi45NTYKLUUgRjAod2l0aCkzLjUyNyBFIEYyKGFyKTMuMDg3IEUoZ3MpLS4zNyBFIEYwIC4yNTcKLShzdXBwcmVzc2luZyB0aGUgbm9ybWFsIHNoZWxsIGZ1bmN0aW9uIGxvb2t1cC4gT25seSBiKTMuMDI3IEYgLjI1NwotKHVpbHRpbiBjb21tYW5kcyBvciktLjIgRiAuNTAyKGNvbW1hbmRzIGZvdW5kIGluIHRoZSkxNDQgNDYzLjIgUiBGNAotLS42NjYoUEEpMy4wMDIgRyhUSCktLjE4OSBFIEYwIC41MDIoYXJlIGUpMi43NTIgRiAtLjE1KHhlKS0uMTUgRyAzLjAwMgotKGN1dGVkLiBJZikuMTUgRih0aGUpMy4wMDIgRSBGMTxhZDcwPjMuMDAyIEUgRjAgLjUwMihvcHRpb24gaXMgZ2kpMy4wMDIKLUYgLS4xNSh2ZSktLjI1IEcgLjUwMShuLCB0aGUgc2VhcmNoIGZvcikuMTUgRiBGMihjb21tYW5kKTMuMjAxIEUgRjAoaXMpCi0zLjc3MSBFIC4zOTkocGVyZm9ybWVkIHVzaW5nIGEgZGVmKTE0NCA0NzUuMiBSIC4zOTkoYXVsdCB2KS0uMSBGIC4zOTkKLShhbHVlIGZvciktLjI1IEYgRjQgLS42NjYoUEEpMi44OTkgRyhUSCktLjE4OSBFIEYwIC40Ci0odGhhdCBpcyBndWFyYW50ZWVkIHRvIFwyMTRuZCBhbGwgb2YgdGhlIHN0YW5kYXJkIHV0aWxpdGllcy4pMi42NDkgRihJZikKLTUuNCBFIC4xNzUoZWl0aGVyIHRoZSkxNDQgNDg3LjIgUiBGMTxhZDU2PjIuNjc1IEUgRjAob3IpMi42NzUgRSBGMTxhZDc2PgotMi42NzUgRSBGMCAuMTc1KG9wdGlvbiBpcyBzdXBwbGllZCwgYSBkZXNjcmlwdGlvbiBvZikyLjY3NSBGIEYyKGNvbW1hbmQpCi0yLjg3NSBFIEYwIC4xNzQoaXMgcHJpbnRlZC4pMy40NDUgRihUaGUpNS4xNzQgRSBGMTxhZDc2PjIuNjc0IEUgRjAgLjE3NAotKG9wdGlvbiBjYXVzZXMpMi42NzQgRiAzLjExKGFzKTE0NCA0OTkuMiBTIC42MShpbmdsZSB3KS0zLjExIEYgLjYxCi0ob3JkIGluZGljYXRpbmcgdGhlIGNvbW1hbmQgb3IgXDIxNGxlIG5hbWUgdXNlZCB0byBpbiktLjEgRiAtLjIodm8pLS40IEcKLS0uMShrZSkuMiBHIEYyKGNvbW1hbmQpMy40MSBFIEYwIC42MSh0byBiZSBkaXNwbGF5ZWQ7IHRoZSkzLjg4IEYgRjEKLTxhZDU2PjE0NCA1MTEuMiBRIEYwIC4yNShvcHRpb24gcHJvZHVjZXMgYSBtb3JlIHYpMi43NSBGIC4yNQotKGVyYm9zZSBkZXNjcmlwdGlvbi4pLS4xNSBGIC4yNDkoSWYgdGhlKTUuMjUgRiBGMTxhZDU2PjIuNzQ5IEUgRjAob3IpCi0yLjc0OSBFIEYxPGFkNzY+Mi43NDkgRSBGMCAuMjQ5KG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIGUpMi43NDkgRiAuMjQ5Ci0oeGl0IHN0YXR1cyktLjE1IEYgMS4wMDQoaXMgMCBpZikxNDQgNTIzLjIgUiBGMihjb21tYW5kKTMuNzA0IEUgRjAgLS4xCi0od2EpNC4yNzQgRyAzLjUwNChzZikuMSBHIDEuMDA1KG91bmQsIGFuZCAxIGlmIG5vdC4pLTMuNTA0IEYgMS4wMDUKLShJZiBuZWl0aGVyIG9wdGlvbiBpcyBzdXBwbGllZCBhbmQgYW4gZXJyb3Igb2NjdXJyZWQgb3IpNi4wMDUgRiBGMgotKGNvbW1hbmQpMTQ0LjIgNTM1LjIgUSBGMCAxLjU5OShjYW5ub3QgYmUgZm91bmQsIHRoZSBlKTQuODY5IEYgMS41OTkKLSh4aXQgc3RhdHVzIGlzIDEyNy4pLS4xNSBGIDEuNTk5KE90aGVyd2lzZSwgdGhlIGUpNi41OTkgRiAxLjU5OAotKHhpdCBzdGF0dXMgb2YgdGhlKS0uMTUgRiBGMShjb21tYW5kKTQuMDk4IEUgRjAgLS4yKGJ1KTE0NCA1NDcuMiBTCi0oaWx0aW4gaXMgdGhlIGUpLjIgRSh4aXQgc3RhdHVzIG9mKS0uMTUgRSBGMihjb21tYW5kKTIuNSBFIEYwKC4pLjc3IEUgRjEKLShjb21wZ2VuKTEwOCA1NjQgUSBGMChbKTIuNSBFIEYyKG9wdGlvbilBIEYwIDIuNShdWylDIEYyKHdvciktMi41IEUoZCkKLS0uMzcgRSBGMChdKUEgLjAxMihHZW5lcmF0ZSBwb3NzaWJsZSBjb21wbGV0aW9uIG1hdGNoZXMgZm9yKTE0NCA1NzYgUiBGMgotKHdvcikyLjUxMyBFKGQpLS4zNyBFIEYwIC4wMTMoYWNjb3JkaW5nIHRvIHRoZSkyLjUxMyBGIEYyKG9wdGlvbikyLjUxMyBFCi1GMCAuMDEzKHMsIHdoaWNoIG1heSBiZSBhbilCIDIuNTEzKHlvKS0uMTUgRyhwdGlvbiktMi41MTMgRSAuOTgyCi0oYWNjZXB0ZWQgYnkgdGhlKTE0NCA1ODggUiBGMShjb21wbGV0ZSkzLjQ4MiBFIEYwIC0uMihidSkzLjQ4MSBHIC45ODEKLShpbHRpbiB3aXRoIHRoZSBlKS4yIEYgLjk4MSh4Y2VwdGlvbiBvZiktLjE1IEYgRjE8YWQ3MD4zLjQ4MSBFIEYwKGFuZCkKLTMuNDgxIEUgRjE8YWQ3Mj4zLjQ4MSBFIEYwIDMuNDgxKCxhKUMgLjk4MShuZCB3cml0ZSB0aGUgbWF0Y2hlcyB0byB0aGUpCi0tMy40ODEgRiAxLjQxNShzdGFuZGFyZCBvdXRwdXQuKTE0NCA2MDAgUiAxLjQxNShXaGVuIHVzaW5nIHRoZSk2LjQxNSBGCi1GMTxhZDQ2PjMuOTE1IEUgRjAob3IpMy45MTUgRSBGMTxhZDQzPjMuOTE1IEUgRjAgMS40MTUob3B0aW9ucywgdGhlIHYpCi0zLjkxNSBGIDEuNDE1KGFyaW91cyBzaGVsbCB2KS0uMjUgRiAxLjQxNShhcmlhYmxlcyBzZXQgYnkgdGhlIHByby0pLS4yNQotRihncmFtbWFibGUgY29tcGxldGlvbiBmKTE0NCA2MTIgUShhY2lsaXRpZXMsIHdoaWxlIGEpLS4xIEUgLS4yNSh2YSktLjIKLUcoaWxhYmxlLCB3aWxsIG5vdCBoYSkuMjUgRSAuMyAtLjE1KHZlIHUpLS4yIEgoc2VmdWwgdikuMTUgRShhbHVlcy4pLS4yNQotRSAuMzUyKFRoZSBtYXRjaGVzIHdpbGwgYmUgZ2VuZXJhdGVkIGluIHRoZSBzYW1lIHcpMTQ0IDYzNiBSIC4zNTIKLShheSBhcyBpZiB0aGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gY29kZSBoYWQgZ2VuLSktLjEgRiAuMDIoZXJhdGVkIHRoXAotZW0gZGlyZWN0bHkgZnJvbSBhIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIHdpdGggdGhlIHNhbWUgXDIxNWFncy4pMTQ0Ci02NDggUihJZik1LjAyIEUgRjIod29yKTIuNTIgRShkKS0uMzcgRSBGMCAuMDIoaXMgc3BlY2lcMjE0ZWQsIG9ubHkpMi41MgotRih0aG9zZSBjb21wbGV0aW9ucyBtYXRjaGluZykxNDQgNjYwIFEgRjIod29yKTIuNSBFKGQpLS4zNyBFIEYwCi0od2lsbCBiZSBkaXNwbGF5ZWQuKTIuNSBFKFRoZSByZXR1cm4gdikxNDQgNjg0IFEKLShhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGluKS0uMjUgRSAtLjI1KHZhKS0uNCBHCi0obGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgb3Igbm8gbWF0Y2hlcyB3ZXJlIGdlbmVyYXRlZC4pLjI1IEUgRjEKLShjb21wbGV0ZSkxMDggNzAwLjggUSBGMChbKTMuNzI5IEUgRjEoXDI1NWFiY2RlZmdqa3N1dilBIEYwIDMuNzI5KF1bKUMKLUYxPGFkNmY+LTMuNzI5IEUgRjIoY29tcC1vcHRpb24pMy43MjkgRSBGMCAzLjcyOShdWylDIEYxKFwyNTVERSktMy43MjkgRQotRjAgMy43MjgoXVspQyBGMTxhZDQxPi0zLjcyOCBFIEYyKGFjdGlvbikzLjcyOCBFIEYwIDMuNzI4KF1bKUMgRjE8YWQ0Nz4KLS0zLjcyOCBFIEYyKGdsb2JwYXQpMy43MjggRSBGMCAzLjcyOChdWylDIEYxPGFkNTc+LTMuNzI4IEUgRjIod29yKTMuNzI4Ci1FKGRsaXN0KS0uMzcgRSBGMCAzLjcyOChdWylDIEYxPGFkNDY+LTMuNzI4IEUgRjIoZnVuYy0pMy43MjggRSh0aW9uKTEwOAotNzEyLjggUSBGMCAyLjUoXVspQyBGMTxhZDQzPi0yLjUgRSBGMihjb21tYW5kKTIuNSBFIEYwKF0pQShbKTE0NCA3MjQuOCBRCi1GMTxhZDU4PkEgRjIoXDIxNGx0ZXJwYXQpMi41IEUgRjAgMi41KF1bKUMgRjE8YWQ1MD4tMi41IEUgRjIocHIpMi41IEUKLShlXDIxNHgpLS4zNyBFIEYwIDIuNShdWylDIEYxPGFkNTM+LTIuNSBFIEYyKHN1ZikyLjUgRTw4Yzc4Pi0uMTggRSBGMChdKQotQSBGMihuYW1lKTIuNSBFIEYwKFspMi41IEUgRjIobmFtZSAuLi4pQSBGMChdKUEoR05VIEJhc2gtNC4xKTcyIDc2OCBRCi0oMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNTApMTg1Ljk1NSBFIDAgQ2cgRVAKK0YgLjc5Mih4aXQgc3RhdHVzLiktLjE1IEYgLjc5MihUaGlzIGlzIHVzZWZ1bCk1Ljc5MiBGIC42MTUKKyh3aGVuIGRlXDIxNG5pbmcgYSBmdW5jdGlvbiB3aG9zZSBuYW1lIGlzIHRoZSBzYW1lIGFzIGEgc2hlbGwgYikxNDQgNzA4CitSIC42MTYodWlsdGluLCByZXRhaW5pbmcgdGhlIGZ1bmN0aW9uYWxpdHkgb2YpLS4yIEYgLjU3KHRoZSBiKTE0NCA3MjAgUgorLjU3KHVpbHRpbiB3aXRoaW4gdGhlIGZ1bmN0aW9uLiktLjIgRihUaGUpNS41NyBFIEYxKGNkKTMuMDcgRSBGMCAtLjIoYnUpCiszLjA3IEcgLjU3KGlsdGluIGlzIGNvbW1vbmx5IHJlZGVcMjE0bmVkIHRoaXMgdykuMiBGKGF5KS0uMSBFIDUuNTcoLlQpCistLjY1IEcgLjU3KGhlIHJldHVybiBzdGF0dXMpLTUuNTcgRihHTlUgQmFzaC00LjIpNzIgNzY4IFEKKygyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSg1MCkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA1MSA1MQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoY29tcGxldGUgXDI1NXByKTEwOCA4NCBRIEYwKFspMi41IEUgRjEKLShcMjU1REUpQSBGMCAyLjUoXVspQy9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFCi0uNjM0KFNwZWNpZnkgaG8pMTQ0IDk2IFIgMy4xMzQod2EpLS4yNSBHIC0uMTgocmcpLTMuMTM0IEcgLjYzNAotKHVtZW50cyB0byBlYWNoKS4xOCBGIEYyKG5hbWUpMy4xMzQgRSBGMCAuNjM0KHNob3VsZCBiZSBjb21wbGV0ZWQuKTMuMTM0Ci1GIC42MzMoSWYgdGhlKTUuNjM0IEYgRjE8YWQ3MD4zLjEzMyBFIEYwIC42MzMKLShvcHRpb24gaXMgc3VwcGxpZWQsIG9yIGlmIG5vKTMuMTMzIEYgLjEzOShvcHRpb25zIGFyZSBzdXBwbGllZCwgZSkxNDQKLTEwOCBSIC4xMzkoeGlzdGluZyBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbnMgYXJlIHByaW50ZWQgaW4gYSB3KS0uMTUgRgotLjE0KGF5IHRoYXQgYWxsbyktLjEgRiAuMTQod3MgdGhlbSB0byBiZSktLjI1IEYgLjMxKHJldXNlZCBhcyBpbnB1dC4pMTQ0Ci0xMjAgUihUaGUpNS4zMSBFIEYxPGFkNzI+Mi44MSBFIEYwIC4zMShvcHRpb24gcmVtbykyLjgxIEYgLS4xNSh2ZSktLjE1IEcKLTIuODEoc2FjKS4xNSBHIC4zMShvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIGZvciBlYWNoKS0yLjgxIEYgRjIobmFtZSkKLTIuODEgRSBGMCAyLjgxKCxvKUMgMS4xMSAtLjQociwgaSktMi44MSBIIDIuODEoZm4pLjQgRyhvKS0yLjgxIEUgRjIKLShuYW1lKTIuODEgRSBGMChzKUEgMS4zNDYKLShhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbnMuKTE0NCAxMzIgUihUaGUpNi4zNDcgRSBGMQotPGFkNDQ+My44NDcgRSBGMCAxLjM0NyhvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zKTMuODQ3Ci1GIC41KGFuZCBhY3Rpb25zIHNob3VsZCBhcHBseSB0byB0aGUgYCkxNDQgMTQ0IFIoYGRlZiktLjc0IEUoYXVsdCcpLS4xIEUKKy0uMzUgRShpcyBmKTE0NCA4NCBRKGFsc2UgaWYpLS4xIEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0Yoc2hlbGxcMjU1YikKKzIuODQgRSh1aWx0aW4pLS4yIEUgRjAoaXMgbm90IGEgc2hlbGwgYikyLjc0IEUodWlsdGluIGNvbW1hbmQuKS0uMiBFL0YyCisxMC9UaW1lcy1Cb2xkQDAgU0YoY2FsbGVyKTEwOCAxMDAuOCBRIEYwKFspMi41IEUgRjEgLS4yKGV4KUMocHIpLjIgRSBGMAorKF0pQSAuMjUzKFJldHVybnMgdGhlIGNvbnRlKTE0NCAxMTIuOCBSIC4yNTQoeHQgb2YgYW4pLS4xNSBGIDIuNzU0KHlhKQorLS4xNSBHKGN0aSktMi43NTQgRSAuNTU0IC0uMTUodmUgcyktLjI1IEggLjI1NAorKHVicm91dGluZSBjYWxsIFwoYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBlKS4xNSBGIC0uMTUoeGUpLS4xNSBHCisuMjU0KGN1dGVkIHdpdGggdGhlKS4xNSBGIEYyKC4pMi43NTQgRSBGMChvcikyLjc1NCBFIEYyKHNvdXIpMTQ0IDEyNC44IFEKKyhjZSktLjE4IEUgRjAgLS4yKGJ1KTIuODI1IEcgMi44MjUoaWx0aW5zXCkuIFcpLjIgRihpdGhvdXQpLS40IEUgRjEgLS4yCisoZXgpMi44MjUgRyhwcikuMiBFIEYwKCwpQSBGMihjYWxsZXIpMi44MjUgRSBGMCAuMzI0CisoZGlzcGxheXMgdGhlIGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgXDIxNGxlbmFtZSBvZiB0aGUgY3VycmVudCkyLjgyNCBGCisuMjUzKHN1YnJvdXRpbmUgY2FsbC4pMTQ0IDEzNi44IFIgLjI1MyhJZiBhIG5vbi1uZSk1LjI1MyBGIC0uMDUoZ2EpLS4xNQorRyh0aSkuMDUgRSAuNTUzIC0uMTUodmUgaSktLjI1IEgobnRlKS4xNSBFIC4yNTMoZ2VyIGlzIHN1cHBsaWVkIGFzKS0uMTUKK0YgRjEgLS4yKGV4KTIuNzUzIEcocHIpLjIgRSBGMCgsKUEgRjIoY2FsbGVyKTIuNzUzIEUgRjAgLjI1NAorKGRpc3BsYXlzIHRoZSBsaW5lIG51bWJlcikyLjc1NCBGIDIuNzU0KCxzKS0uNCBHKHViLSktMi43NTQgRSAxLjMyNyhyb3VcCit0aW5lIG5hbWUsIGFuZCBzb3VyY2UgXDIxNGxlIGNvcnJlc3BvbmRpbmcgdG8gdGhhdCBwb3NpdGlvbiBpbiB0aGUgY3VyclwKK2VudCBlKTE0NCAxNDguOCBSIC0uMTUoeGUpLS4xNSBHIDEuMzI3KGN1dGlvbiBjYWxsIHN0YWNrLikuMTUgRihUaGlzIGUpCisxNDQgMTYwLjggUSh4dHJhIGluZm9ybWF0aW9uIG1heSBiZSB1c2VkLCBmb3IgZSktLjE1IEUgLjAwMQorKHhhbXBsZSwgdG8gcHJpbnQgYSBzdGFjayB0cmFjZS4pLS4xNSBGIC4wMDEoVGhlIGN1cnJlbnQgZnJhbWUgaXMgZnJhbWUpCis1LjAwMSBGIDMuMDIoMC4gVGhlKTE0NCAxNzIuOCBSIC41MihyZXR1cm4gdikzLjAyIEYgLjUyCisoYWx1ZSBpcyAwIHVubGVzcyB0aGUgc2hlbGwgaXMgbm90IGUpLS4yNSBGIC0uMTUoeGUpLS4xNSBHIC41MTkKKyhjdXRpbmcgYSBzdWJyb3V0aW5lIGNhbGwgb3IpLjE1IEYgRjEgLS4yKGV4KTMuMDE5IEcocHIpLjIgRSBGMCAuNTE5CisoZG9lcyBub3QgY29ycmUtKTMuMDE5IEYoc3BvbmQgdG8gYSB2KTE0NCAxODQuOCBRCisoYWxpZCBwb3NpdGlvbiBpbiB0aGUgY2FsbCBzdGFjay4pLS4yNSBFIEYyKGNkKTEwOCAyMDEuNiBRIEYwKFspMi41IEUgRjIKKzxhZDRjPkEgRjAofFspQSBGMjxhZDUwPkEgRjAoWykyLjUgRSBGMjxhZDY1PkEgRjAoXV1dIFspQSBGMShkaXIpQSBGMChdKQorQSAuMjEoQ2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0bykxNDQgMjEzLjYgUiBGMShkaXIpMi43MSBFIEYwIDUuMjEKKyguVClDIC4yMShoZSB2KS01LjIxIEYoYXJpYWJsZSktLjI1IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoSE9NRSkyLjcxIEUKK0YwIC4yMShpcyB0aGUgZGVmKTIuNDYgRihhdWx0KS0uMSBFIEYxKGRpcikyLjcxIEUgRjAgNS4yMSguVCkuNzMgRyAuMjEKKyhoZSB2KS01LjIxIEYoYXJpYWJsZSktLjI1IEUgRjMoQ0RQKTIuNzEgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFIEYwCisuNzc3KGRlXDIxNG5lcyB0aGUgc2VhcmNoIHBhdGggZm9yIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZykxNDQgMjI1LjYgUgorRjEoZGlyKTMuMjc2IEUgRjAgNS43NzYoLkEpLjczIEcobHRlcm5hdGkpLTUuNzc2IEUgMS4wNzYgLS4xNSh2ZSBkKS0uMjUKK0ggLjc3NihpcmVjdG9yeSBuYW1lcyBpbikuMTUgRiBGMyhDRFApMy4yNzYgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFCitGMCAuNzY0KGFyZSBzZXBhcmF0ZWQgYnkgYSBjb2xvbiBcKDpcKS4pMTQ0IDIzNy42IFIgMy4yNjQoQW4pNS43NjQgRworLjc2NCh1bGwgZGlyZWN0b3J5IG5hbWUgaW4pLTMuMjY0IEYgRjMoQ0RQKTMuMjY0IEUgLS44NTUoQVQpLS42NjYgRyhIKQorLjg1NSBFIEYwIC43NjQoaXMgdGhlIHNhbWUgYXMgdGhlIGN1cnJlbnQgZGlyZWMtKTMuMDE0IEYodG9yeSkxNDQgMjQ5LjYKK1EgMi45NzQoLGkpLS42NSBHIC40NzQoLmUuLCBgKS0yLjk3NCBGKGApLS43NCBFIEYyKC4pQSBGMCAtLjc0KCcnKUMKKzUuNDc0KC5JKS43NCBHKGYpLTUuNDc0IEUgRjEoZGlyKTMuMzI0IEUgRjAoYmUpMy43MDQgRSAuNDc0CisoZ2lucyB3aXRoIGEgc2xhc2ggXCgvXCksIHRoZW4pLS4xNSBGIEYzKENEUCkyLjk3NCBFIC0uODU1KEFUKS0uNjY2IEcoSCkKKy44NTUgRSBGMCAuNDczKGlzIG5vdCB1c2VkLiBUaGUpMi43MjQgRiBGMjxhZDUwPjIuOTczIEUgRjAgLjQ3MworKG9wdGlvbiBzYXlzIHRvIHVzZSkyLjk3MyBGIC41NzkodGhlIHBoKTE0NCAyNjEuNiBSIC41NzkKKyh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSBpbnN0ZWFkIG9mIGZvbGxvKS0uMDUgRiAuNTc5Cisod2luZyBzeW1ib2xpYyBsaW5rcyBcKHNlZSBhbHNvIHRoZSktLjI1IEYgRjI8YWQ1MD4zLjA4IEUgRjAgLjU4Cisob3B0aW9uIHRvIHRoZSkzLjA4IEYgRjIoc2V0KTE0NCAyNzMuNiBRIEYwIC0uMihidSkyLjcxNyBHIC4yMTcKKyhpbHRpbiBjb21tYW5kXCk7IHRoZSkuMiBGIEYyPGFkNGM+Mi43MTcgRSBGMCAuMjE3Cisob3B0aW9uIGZvcmNlcyBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsbykyLjcxNyBGIDIuNzE2KHdlZC4gSWYpLS4yNSBGCisodGhlKTIuNzE2IEUgRjI8YWQ2NT4yLjcxNiBFIEYwIC4yMTYob3B0aW9uIGlzIHN1cC0pMi43MTYgRiAxLjA4NgorKHBsaWVkIHdpdGgpMTQ0IDI4NS42IFIgRjI8YWQ1MD4zLjU4NiBFIEYwIDMuNTg2KCxhKUMgMS4wODYKKyhuZCB0aGUgY3VycmVudCB3KS0zLjU4NiBGIDEuMDg3Cisob3JraW5nIGRpcmVjdG9yeSBjYW5ub3QgYmUgc3VjY2Vzc2Z1bGx5IGRldGVybWluZWQgYWZ0ZXIgYSBzdWMtKS0uMSBGCisuNDQoY2Vzc2Z1bCBkaXJlY3RvcnkgY2hhbmdlLCkxNDQgMjk3LjYgUiBGMihjZCkyLjk0IEUgRjAgLjQ0Cisod2lsbCByZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHN0YXR1cy4pMi45NCBGIC40NChBbiBhcik1LjQ0IEYgLjQ0CisoZ3VtZW50IG9mKS0uMTggRiBGMjxhZD4yLjk0IEUgRjAgLjQ0KGlzIGVxdWkpMi45NCBGIC0uMjUodmEpLS4yNSBHIC40NAorKGxlbnQgdG8pLjI1IEYgRjMoJE9MRFBXRCkxNDQgMzA5LjYgUS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIDEuMDQ0CisoSWYgYSBub24tZW1wdHkgZGlyZWN0b3J5IG5hbWUgZnJvbSk1LjU0NCBGIEYzKENEUCkzLjU0NCBFIC0uODU1KEFUKQorLS42NjYgRyhIKS44NTUgRSBGMCAxLjA0NShpcyB1c2VkLCBvciBpZikzLjI5NSBGIEYyPGFkPjMuNTQ1IEUgRjAgMS4wNDUKKyhpcyB0aGUgXDIxNHJzdCBhcikzLjU0NSBGKGd1bWVudCwpLS4xOCBFIC4wMjEoYW5kIHRoZSBkaXJlY3RvcnkgY2hhbmdlXAorIGlzIHN1Y2Nlc3NmdWwsIHRoZSBhYnNvbHV0ZSBwYXRobmFtZSBvZiB0aGUgbmUpMTQ0IDMyMS42IFIgMi41MjEod3cpCistLjI1IEcgLjAyMShvcmtpbmcgZGlyZWN0b3J5IGlzIHdyaXQtKS0yLjYyMSBGIC4xNjUKKyh0ZW4gdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4pMTQ0IDMzMy42IFIgLjE2NShUaGUgcmV0dXJuIHYpNS4xNjUgRiAuMTY1CisoYWx1ZSBpcyB0cnVlIGlmIHRoZSBkaXJlY3RvcnkgdyktLjI1IEYgLjE2NShhcyBzdWNjZXNzZnVsbHkgY2hhbmdlZDsgZikKKy0uMSBGKGFsc2UpLS4xIEUob3RoZXJ3aXNlLikxNDQgMzQ1LjYgUSBGMihjb21tYW5kKTEwOCAzNjIuNCBRIEYwKFspMi41CitFIEYyKFwyNTVwVnYpQSBGMChdKUEgRjEoY29tbWFuZCkyLjUgRSBGMChbKTIuNSBFIEYxKGFyKUEoZyktLjM3IEUgRjAKKyguLi5dKTIuNSBFKFJ1bikxNDQgMzc0LjQgUSBGMShjb21tYW5kKTIuOTU3IEUgRjAod2l0aCkzLjUyNyBFIEYxKGFyKQorMy4wODcgRShncyktLjM3IEUgRjAgLjI1NworKHN1cHByZXNzaW5nIHRoZSBub3JtYWwgc2hlbGwgZnVuY3Rpb24gbG9va3VwLiBPbmx5IGIpMy4wMjcgRiAuMjU3CisodWlsdGluIGNvbW1hbmRzIG9yKS0uMiBGIC41MDEoY29tbWFuZHMgZm91bmQgaW4gdGhlKTE0NCAzODYuNCBSIEYzCistLjY2NihQQSkzLjAwMSBHKFRIKS0uMTg5IEUgRjAgLjUwMihhcmUgZSkyLjc1MSBGIC0uMTUoeGUpLS4xNSBHIDMuMDAyCisoY3V0ZWQuIElmKS4xNSBGKHRoZSkzLjAwMiBFIEYyPGFkNzA+My4wMDIgRSBGMCAuNTAyKG9wdGlvbiBpcyBnaSkzLjAwMgorRiAtLjE1KHZlKS0uMjUgRyAuNTAyKG4sIHRoZSBzZWFyY2ggZm9yKS4xNSBGIEYxKGNvbW1hbmQpMy4yMDIgRSBGMChpcykKKzMuNzcyIEUgLjQocGVyZm9ybWVkIHVzaW5nIGEgZGVmKTE0NCAzOTguNCBSIC40KGF1bHQgdiktLjEgRiAuNAorKGFsdWUgZm9yKS0uMjUgRiBGMyAtLjY2NihQQSkyLjkgRyhUSCktLjE4OSBFIEYwIC4zOTkKKyh0aGF0IGlzIGd1YXJhbnRlZWQgdG8gXDIxNG5kIGFsbCBvZiB0aGUgc3RhbmRhcmQgdXRpbGl0aWVzLikyLjY0OSBGKElmKQorNS4zOTkgRSAuMTc0KGVpdGhlciB0aGUpMTQ0IDQxMC40IFIgRjI8YWQ1Nj4yLjY3NCBFIEYwKG9yKTIuNjc0IEUgRjIKKzxhZDc2PjIuNjc0IEUgRjAgLjE3NShvcHRpb24gaXMgc3VwcGxpZWQsIGEgZGVzY3JpcHRpb24gb2YpMi42NzQgRiBGMQorKGNvbW1hbmQpMi44NzUgRSBGMCAuMTc1KGlzIHByaW50ZWQuKTMuNDQ1IEYoVGhlKTUuMTc1IEUgRjI8YWQ3Nj4yLjY3NSBFCitGMCAuMTc1KG9wdGlvbiBjYXVzZXMpMi42NzUgRiAzLjExKGFzKTE0NCA0MjIuNCBTIC42MShpbmdsZSB3KS0zLjExIEYKKy42MShvcmQgaW5kaWNhdGluZyB0aGUgY29tbWFuZCBvciBcMjE0bGUgbmFtZSB1c2VkIHRvIGluKS0uMSBGIC0uMih2bykKKy0uNCBHIC0uMShrZSkuMiBHIEYxKGNvbW1hbmQpMy40MSBFIEYwIC42MSh0byBiZSBkaXNwbGF5ZWQ7IHRoZSkzLjg4IEYKK0YyPGFkNTY+MTQ0IDQzNC40IFEgRjAgLjI0OShvcHRpb24gcHJvZHVjZXMgYSBtb3JlIHYpMi43NDkgRiAuMjQ5CisoZXJib3NlIGRlc2NyaXB0aW9uLiktLjE1IEYgLjI0OShJZiB0aGUpNS4yNDkgRiBGMjxhZDU2PjIuNzQ5IEUgRjAob3IpCisyLjc0OSBFIEYyPGFkNzY+Mi43NSBFIEYwIC4yNShvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBlKTIuNzUgRiAuMjUKKyh4aXQgc3RhdHVzKS0uMTUgRiAxLjAwNShpcyAwIGlmKTE0NCA0NDYuNCBSIEYxKGNvbW1hbmQpMy43MDUgRSBGMCAtLjEKKyh3YSk0LjI3NSBHIDMuNTA1KHNmKS4xIEcgMS4wMDUob3VuZCwgYW5kIDEgaWYgbm90LiktMy41MDUgRiAxLjAwNAorKElmIG5laXRoZXIgb3B0aW9uIGlzIHN1cHBsaWVkIGFuZCBhbiBlcnJvciBvY2N1cnJlZCBvcik2LjAwNSBGIEYxCisoY29tbWFuZCkxNDQuMiA0NTguNCBRIEYwIDEuNTk4KGNhbm5vdCBiZSBmb3VuZCwgdGhlIGUpNC44NjggRiAxLjU5OQorKHhpdCBzdGF0dXMgaXMgMTI3LiktLjE1IEYgMS41OTkoT3RoZXJ3aXNlLCB0aGUgZSk2LjU5OSBGIDEuNTk5CisoeGl0IHN0YXR1cyBvZiB0aGUpLS4xNSBGIEYyKGNvbW1hbmQpNC4wOTkgRSBGMCAtLjIoYnUpMTQ0IDQ3MC40IFMKKyhpbHRpbiBpcyB0aGUgZSkuMiBFKHhpdCBzdGF0dXMgb2YpLS4xNSBFIEYxKGNvbW1hbmQpMi41IEUgRjAoLikuNzcgRSBGMgorKGNvbXBnZW4pMTA4IDQ4Ny4yIFEgRjAoWykyLjUgRSBGMShvcHRpb24pQSBGMCAyLjUoXVspQyBGMSh3b3IpLTIuNSBFKGQpCistLjM3IEUgRjAoXSlBIC4wMTMoR2VuZXJhdGUgcG9zc2libGUgY29tcGxldGlvbiBtYXRjaGVzIGZvcikxNDQgNDk5LjIgUgorRjEod29yKTIuNTEzIEUoZCktLjM3IEUgRjAgLjAxMyhhY2NvcmRpbmcgdG8gdGhlKTIuNTEzIEYgRjEob3B0aW9uKTIuNTEzCitFIEYwIC4wMTMocywgd2hpY2ggbWF5IGJlIGFuKUIgMi41MTIoeW8pLS4xNSBHKHB0aW9uKS0yLjUxMiBFIC45ODEKKyhhY2NlcHRlZCBieSB0aGUpMTQ0IDUxMS4yIFIgRjIoY29tcGxldGUpMy40ODEgRSBGMCAtLjIoYnUpMy40ODEgRyAuOTgxCisoaWx0aW4gd2l0aCB0aGUgZSkuMiBGIC45ODEoeGNlcHRpb24gb2YpLS4xNSBGIEYyPGFkNzA+My40ODEgRSBGMChhbmQpCiszLjQ4MSBFIEYyPGFkNzI+My40ODEgRSBGMCAzLjQ4MSgsYSlDIC45ODIobmQgd3JpdGUgdGhlIG1hdGNoZXMgdG8gdGhlKQorLTMuNDgxIEYgMS40MTUoc3RhbmRhcmQgb3V0cHV0LikxNDQgNTIzLjIgUiAxLjQxNShXaGVuIHVzaW5nIHRoZSk2LjQxNSBGCitGMjxhZDQ2PjMuOTE1IEUgRjAob3IpMy45MTUgRSBGMjxhZDQzPjMuOTE1IEUgRjAgMS40MTUob3B0aW9ucywgdGhlIHYpCiszLjkxNSBGIDEuNDE1KGFyaW91cyBzaGVsbCB2KS0uMjUgRiAxLjQxNShhcmlhYmxlcyBzZXQgYnkgdGhlIHByby0pLS4yNQorRihncmFtbWFibGUgY29tcGxldGlvbiBmKTE0NCA1MzUuMiBRKGFjaWxpdGllcywgd2hpbGUgYSktLjEgRSAtLjI1KHZhKQorLS4yIEcoaWxhYmxlLCB3aWxsIG5vdCBoYSkuMjUgRSAuMyAtLjE1KHZlIHUpLS4yIEgoc2VmdWwgdikuMTUgRShhbHVlcy4pCistLjI1IEUgLjM1MihUaGUgbWF0Y2hlcyB3aWxsIGJlIGdlbmVyYXRlZCBpbiB0aGUgc2FtZSB3KTE0NCA1NTkuMiBSIC4zNTIKKyhheSBhcyBpZiB0aGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gY29kZSBoYWQgZ2VuLSktLjEgRiAuMDIoZXJhdGVkIHRoXAorZW0gZGlyZWN0bHkgZnJvbSBhIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIHdpdGggdGhlIHNhbWUgXDIxNWFncy4pMTQ0Cis1NzEuMiBSKElmKTUuMDIgRSBGMSh3b3IpMi41MiBFKGQpLS4zNyBFIEYwIC4wMihpcyBzcGVjaVwyMTRlZCwgb25seSkKKzIuNTIgRih0aG9zZSBjb21wbGV0aW9ucyBtYXRjaGluZykxNDQgNTgzLjIgUSBGMSh3b3IpMi41IEUoZCktLjM3IEUgRjAKKyh3aWxsIGJlIGRpc3BsYXllZC4pMi41IEUoVGhlIHJldHVybiB2KTE0NCA2MDcuMiBRCisoYWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbiktLjI1IEUgLS4yNSh2YSktLjQgRworKGxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIG9yIG5vIG1hdGNoZXMgd2VyZSBnZW5lcmF0ZWQuKS4yNSBFIEYyCisoY29tcGxldGUpMTA4IDYyNCBRIEYwKFspMy43MjggRSBGMihcMjU1YWJjZGVmZ2prc3V2KUEgRjAgMy43MjgoXVspQyBGMgorPGFkNmY+LTMuNzI4IEUgRjEoY29tcC1vcHRpb24pMy43MjggRSBGMCAzLjcyOChdWylDIEYyKFwyNTVERSktMy43MjggRQorRjAgMy43MjgoXVspQyBGMjxhZDQxPi0zLjcyOCBFIEYxKGFjdGlvbikzLjcyOCBFIEYwIDMuNzI4KF1bKUMgRjI8YWQ0Nz4KKy0zLjcyOCBFIEYxKGdsb2JwYXQpMy43MjggRSBGMCAzLjcyOShdWylDIEYyPGFkNTc+LTMuNzI5IEUgRjEod29yKTMuNzI5CitFKGRsaXN0KS0uMzcgRSBGMCAzLjcyOShdWylDIEYyPGFkNDY+LTMuNzI5IEUgRjEoZnVuYy0pMy43MjkgRSh0aW9uKTEwOAorNjM2IFEgRjAgMi41KF1bKUMgRjI8YWQ0Mz4tMi41IEUgRjEoY29tbWFuZCkyLjUgRSBGMChdKUEoWykxNDQgNjQ4IFEgRjIKKzxhZDU4PkEgRjEoXDIxNGx0ZXJwYXQpMi41IEUgRjAgMi41KF1bKUMgRjI8YWQ1MD4tMi41IEUgRjEocHIpMi41IEUKKyhlXDIxNHgpLS4zNyBFIEYwIDIuNShdWylDIEYyPGFkNTM+LTIuNSBFIEYxKHN1ZikyLjUgRTw4Yzc4Pi0uMTggRSBGMChdKQorQSBGMShuYW1lKTIuNSBFIEYwKFspMi41IEUgRjEobmFtZSAuLi4pQSBGMChdKUEgRjIoY29tcGxldGUgXDI1NXByKTEwOAorNjYwIFEgRjAoWykyLjUgRSBGMihcMjU1REUpQSBGMCAyLjUoXVspQyBGMShuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFCisuNjMzKFNwZWNpZnkgaG8pMTQ0IDY3MiBSIDMuMTMzKHdhKS0uMjUgRyAtLjE4KHJnKS0zLjEzMyBHIC42MzMKKyh1bWVudHMgdG8gZWFjaCkuMTggRiBGMShuYW1lKTMuMTMzIEUgRjAgLjYzMyhzaG91bGQgYmUgY29tcGxldGVkLikzLjEzMworRiAuNjM0KElmIHRoZSk1LjYzNCBGIEYyPGFkNzA+My4xMzQgRSBGMCAuNjM0Cisob3B0aW9uIGlzIHN1cHBsaWVkLCBvciBpZiBubykzLjEzNCBGIC4xNChvcHRpb25zIGFyZSBzdXBwbGllZCwgZSkxNDQKKzY4NCBSIC4xMzkoeGlzdGluZyBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbnMgYXJlIHByaW50ZWQgaW4gYSB3KS0uMTUgRgorLjEzOShheSB0aGF0IGFsbG8pLS4xIEYgLjEzOSh3cyB0aGVtIHRvIGJlKS0uMjUgRiAuMzEocmV1c2VkIGFzIGlucHV0LikKKzE0NCA2OTYgUihUaGUpNS4zMSBFIEYyPGFkNzI+Mi44MSBFIEYwIC4zMShvcHRpb24gcmVtbykyLjgxIEYgLS4xNSh2ZSkKKy0uMTUgRyAyLjgxKHNhYykuMTUgRyAuMzEob21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbiBmb3IgZWFjaCktMi44MSBGIEYxCisobmFtZSkyLjgxIEUgRjAgMi44MSgsbylDIDEuMTEgLS40KHIsIGkpLTIuODEgSCAyLjgxKGZuKS40IEcobyktMi44MSBFCitGMShuYW1lKTIuODEgRSBGMChzKUEgMS4zNDcKKyhhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbnMuKTE0NCA3MDggUihUaGUpNi4zNDcgRSBGMgorPGFkNDQ+My44NDcgRSBGMCAxLjM0NihvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zKTMuODQ3CitGIC41KGFuZCBhY3Rpb25zIHNob3VsZCBhcHBseSB0byB0aGUgYCkxNDQgNzIwIFIoYGRlZiktLjc0IEUoYXVsdCcpLS4xIEUKIDMoJ2MpLS43NCBHIC41KG9tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiktMyBGCi0zLjQ1NShhYykxNDQgMTU2IFMgLjk1NShvbW1hbmQgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24gaGFzIHByZSktMy40NTUgRgotLjk1NSh2aW91c2x5IGJlZW4gZGVcMjE0bmVkLiktLjI1IEYoVGhlKTUuOTU1IEUgRjE8YWQ0NT4zLjQ1NSBFIEYwIC45NTUKLShvcHRpb24gaW5kaWNhdGVzIHRoYXQpMy40NTUgRiAuMDY1Ci0odGhlIHJlbWFpbmluZyBvcHRpb25zIGFuZCBhY3Rpb25zIHNob3VsZCBhcHBseSB0byBgKTE0NCAxNjggUihgZW1wdHknKQotLS43NCBFIDIuNTY0KCdjKS0uNzQgRyAuMDY0KG9tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGUtKS0yLjU2NCBGCi0odGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lLikxNDQgMTgwIFEgMS40MzcKLShUaGUgcHJvY2VzcyBvZiBhcHBseWluZyB0aGVzZSBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbnMgd2hlbiB3KTE0NAotMjA0IFIgMS40Mzgob3JkIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIGlzKS0uMSBGKGRlc2NyaWJlZCBhYm8pMTQ0IDIxNiBRCi0uMyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjEoUHIpMi41IEUob2dyYW1tYWJsZSBDb21wbGV0aW9uKS0uMTggRQotRjAoLilBIC41NTYoT3RoZXIgb3B0aW9ucywgaWYgc3BlY2lcMjE0ZWQsIGhhKTE0NCAyNDAgUiAuODU2IC0uMTUodmUgdCkKLS0uMiBIIC41NTUoaGUgZm9sbG8pLjE1IEYgLjU1NSh3aW5nIG1lYW5pbmdzLiktLjI1IEYgLjU1NShUaGUgYXIpNS41NTUgRgotLjU1NShndW1lbnRzIHRvIHRoZSktLjE4IEYgRjE8YWQ0Nz4zLjA1NSBFIEYwKCwpQSBGMTxhZDU3PjMuMDU1IEUgRjAKLTMuMDU1KCxhKUMobmQpLTMuMDU1IEUgRjE8YWQ1OD4zLjA1NSBFIEYwIC43MjIKLShvcHRpb25zIFwoYW5kLCBpZiBuZWNlc3NhcnkpMTQ0IDI1MiBSIDMuMjIyKCx0KS0uNjUgRyhoZSktMy4yMjIgRSBGMQotPGFkNTA+My4yMjIgRSBGMChhbmQpMy4yMjIgRSBGMTxhZDUzPjMuMjIyIEUgRjAgLjcyMwotKG9wdGlvbnNcKSBzaG91bGQgYmUgcXVvdGVkIHRvIHByb3RlY3QgdGhlbSBmcm9tIGUpMy4yMjIgRih4cGFuLSktLjE1IEUKLShzaW9uIGJlZm9yZSB0aGUpMTQ0IDI2NCBRIEYxKGNvbXBsZXRlKTIuNSBFIEYwIC0uMihidSkyLjUgRwotKGlsdGluIGlzIGluKS4yIEUgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQuKS4xIEUgRjE8YWQ2Zj4xNDQgMjc2IFEgRjIKLShjb21wLW9wdGlvbikyLjUgRSBGMChUaGUpMTg0IDI4OCBRIEYyKGNvbXAtb3B0aW9uKTIuNzkxIEUgRjAgLjI5MQotKGNvbnRyb2xzIHNlKTIuNzkxIEYgLS4xNSh2ZSktLjI1IEcgLjI5MShyYWwgYXNwZWN0cyBvZiB0aGUgY29tcHNwZWMnKQotLjE1IEYgMi43OTEoc2IpLS41NSBHKGVoYSktMi43OTEgRSAuMjkxKHZpb3IgYmUpLS4yIEYgLjI5MQotKHlvbmQgdGhlIHNpbXBsZSktLjE1IEYoZ2VuZXJhdGlvbiBvZiBjb21wbGV0aW9ucy4pMTg0IDMwMCBRIEYyCi0oY29tcC1vcHRpb24pNSBFIEYwKG1heSBiZSBvbmUgb2Y6KTIuNSBFIEYxKGJhc2hkZWZhdWx0KTE4NCAzMTIgUSBGMAotLjI4MShQZXJmb3JtIHRoZSByZXN0IG9mIHRoZSBkZWYpMjI0IDMyNCBSKGF1bHQpLS4xIEUgRjEoYmFzaCkyLjc4MSBFIEYwCi0uMjgxKGNvbXBsZXRpb25zIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8pMi43ODEgRihtYXRjaGVzLikyMjQgMzM2IFEKLUYxKGRlZmF1bHQpMTg0IDM0OCBRIEYwIDIuODc2KFVzZSByZWFkbGluZScpMTAgRiA1LjM3NihzZCktLjU1IEcoZWYpCi0tNS4zNzYgRSAyLjg3NShhdWx0IFwyMTRsZW5hbWUgY29tcGxldGlvbiBpZiB0aGUgY29tcHNwZWMgZ2VuZXJhdGVzIG5vKQotLS4xIEYobWF0Y2hlcy4pMjI0IDM2MCBRIEYxKGRpcikxODQgMzcyIFEobmFtZXMpLS4xNSBFIEYwKFBlcmZvcm0gZGlyZWNcCi10b3J5IG5hbWUgY29tcGxldGlvbiBpZiB0aGUgY29tcHNwZWMgZ2VuZXJhdGVzIG5vIG1hdGNoZXMuKTIyNCAzODQgUSBGMQotKFwyMTRsZW5hbWVzKTE4NCAzOTYgUSBGMCAtLjcoVGUpMjI0IDQwOCBTIC4xMzcobGwgcmVhZGxpbmUgdGhhdCB0aGUgY29cCi1tcHNwZWMgZ2VuZXJhdGVzIFwyMTRsZW5hbWVzLCBzbyBpdCBjYW4gcGVyZm9ybSBhbikuNyBGIDIuNjM3PDc5OGM+LS4xNQotRyhsZS0pLTIuNjM3IEUgLjEzNChuYW1lXDI1NXNwZWNpXDIxNGMgcHJvY2Vzc2luZyBcKGxpaykyMjQgNDIwIFIgMi42MzQKLShlYSktLjEgRyAuMTM0KGRkaW5nIGEgc2xhc2ggdG8gZGlyZWN0b3J5IG5hbWVzLCBxdW90aW5nIHNwZS0pLTIuNjM0IEYKLS40NShjaWFsIGNoYXJhY3RlcnMsIG9yIHN1cHByZXNzaW5nIHRyYWlsaW5nIHNwYWNlc1wpLikyMjQgNDMyIFIgLjQ1Ci0oSW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHNoZWxsKTUuNDUgRihmdW5jdGlvbnMuKTIyNCA0NDQgUSBGMShub3NwYWNlKQotMTg0IDQ1NiBRIEYwIC0uNyhUZSk2LjExIEcgLjIyCi0obGwgcmVhZGxpbmUgbm90IHRvIGFwcGVuZCBhIHNwYWNlIFwodGhlIGRlZikuNyBGIC4yMihhdWx0XCkgdG8gdyktLjEgRgotLjIyKG9yZHMgY29tcGxldGVkIGF0IHRoZSBlbmQpLS4xIEYob2YgdGhlIGxpbmUuKTIyNCA0NjggUSBGMShwbHVzZGlycykKLTE4NCA0ODAgUSBGMCAxLjk4NShBZnRlciBhbik1LjU0IEYgNC40ODUoeW0pLS4xNSBHIDEuOTg1Ci0oYXRjaGVzIGRlXDIxNG5lZCBieSB0aGUgY29tcHNwZWMgYXJlIGdlbmVyYXRlZCwgZGlyZWN0b3J5IG5hbWUpLTQuNDg1IEYKLS41ODQoY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgYW5kIGFuKTIyNCA0OTIgUiAzLjA4NCh5bSktLjE1IEcgLjU4NAotKGF0Y2hlcyBhcmUgYWRkZWQgdG8gdGhlIHJlc3VsdHMgb2YgdGhlIG90aGVyKS0zLjA4NCBGKGFjdGlvbnMuKTIyNCA1MDQKLVEgRjE8YWQ0MT4xNDQgNTE2IFEgRjIoYWN0aW9uKTIuNSBFIEYwKFRoZSkxODQgNTI4IFEgRjIoYWN0aW9uKTIuNSBFIEYwCi0obWF5IGJlIG9uZSBvZiB0aGUgZm9sbG8pMi41IEUKLSh3aW5nIHRvIGdlbmVyYXRlIGEgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9uczopLS4yNSBFIEYxKGFsaWFzKTE4NAotNTQwIFEgRjAoQWxpYXMgbmFtZXMuKTIwLjU1IEUoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjE+Mi41Ci1FIEYwKC4pQSBGMShhcnJheXYpMTg0IDU1MiBRKGFyKS0uMSBFIEYwKEFycmF5IHYpMjI0IDU2NCBRCi0oYXJpYWJsZSBuYW1lcy4pLS4yNSBFIEYxIDQuNyhiaW5kaW5nIFJlYWRsaW5lKTE4NCA1NzYgUiBGMCAtLjEoa2UpMi41IEcKLTIuNSh5YiktLjA1IEcoaW5kaW5nIG5hbWVzLiktMi41IEUgRjEgLS4yKGJ1KTE4NCA1ODggUyhpbHRpbikuMiBFIEYwCi0oTmFtZXMgb2Ygc2hlbGwgYikxMS44NSBFKHVpbHRpbiBjb21tYW5kcy4pLS4yIEUKLShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Mj4yLjUgRSBGMCguKUEgRjEoY29tbWFuZCkxODQgNjAwCi1RIEYwKENvbW1hbmQgbmFtZXMuKTIyNCA2MTIgUShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Mz4yLjUKLUUgRjAoLilBIEYxKGRpcikxODQgNjI0IFEoZWN0b3J5KS0uMTggRSBGMChEaXJlY3RvcnkgbmFtZXMuKTIyNCA2MzYgUQotKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDY0PjIuNSBFIEYwKC4pQSBGMShkaXNhYmxlZCkxODQgNjQ4Ci1RIEYwKE5hbWVzIG9mIGRpc2FibGVkIHNoZWxsIGIpMjI0IDY2MCBRKHVpbHRpbnMuKS0uMiBFIEYxKGVuYWJsZWQpMTg0Ci02NzIgUSBGMChOYW1lcyBvZiBlbmFibGVkIHNoZWxsIGIpNi42NiBFKHVpbHRpbnMuKS0uMiBFIEYxKGV4cG9ydCkxODQKLTY4NCBRIEYwKE5hbWVzIG9mIGUpMTIuMjMgRSh4cG9ydGVkIHNoZWxsIHYpLS4xNSBFIDIuNShhcmlhYmxlcy4gTWF5KQotLS4yNSBGKGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpMi41IEUgRjE8YWQ2NT4yLjUgRSBGMCguKUEgRjEoXDIxNGxlKTE4NAotNjk2IFEgRjAoRmlsZSBuYW1lcy4pMjcuMjIgRShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Nj4yLjUKLUUgRjAoLilBKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg1MSkxODUuOTU1IEUgMAotQ2cgRVAKKyhHTlUgQmFzaC00LjIpNzIgNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoNTEpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNTIgNTIKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGZ1bmN0aW9uKTE4NCA4NCBRIEYwCi0oTmFtZXMgb2Ygc2hlbGwgZnVuY3Rpb25zLikyMjQgOTYgUSBGMShncikxODQgMTA4IFEob3VwKS0uMTggRSBGMAotKEdyb3VwIG5hbWVzLikxNC42MiBFKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDY3PjIuNSBFIEYwKC4pCi1BIEYxKGhlbHB0b3BpYykxODQgMTIwIFEgRjAoSGVscCB0b3BpY3MgYXMgYWNjZXB0ZWQgYnkgdGhlKTIyNCAxMzIgUSBGMQotKGhlbHApMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYxKGhvc3RuYW1lKTE4NCAxNDQgUSBGMAotKEhvc3RuYW1lcywgYXMgdGFrKTIyNCAxNTYgUShlbiBmcm9tIHRoZSBcMjE0bGUgc3BlY2lcMjE0ZWQgYnkgdGhlKS0uMSBFCi0vRjIgOS9UaW1lcy1Cb2xkQDAgU0YoSE9TVEZJTEUpMi41IEUgRjAoc2hlbGwgdikyLjI1IEUoYXJpYWJsZS4pLS4yNSBFCi1GMShqb2IpMTg0IDE2OCBRIEYwKEpvYiBuYW1lcywgaWYgam9iIGNvbnRyb2wgaXMgYWN0aSkyNi4xMSBFIC0uMTUodmUpCi0tLjI1IEcgNSguTSkuMTUgRyhheSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKS01IEUgRjE8YWQ2YT4yLjUgRSBGMCguKUEgRjEKLS0uMShrZSkxODQgMTgwIFMoeXcpLjEgRShvcmQpLS4xIEUgRjAoU2hlbGwgcmVzZXJ2KTIyNCAxOTIgUShlZCB3KS0uMTUgRQotMi41KG9yZHMuIE1heSktLjEgRihhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTIuNSBFIEYxPGFkNmI+Mi41IEUgRjAoLilBIEYxCi0ocnVubmluZykxODQgMjA0IFEgRjAoTmFtZXMgb2YgcnVubmluZyBqb2JzLCBpZiBqb2IgY29udHJvbCBpcyBhY3RpKTUuNTQKLUUgLS4xNSh2ZSktLjI1IEcoLikuMTUgRSBGMShzZXIpMTg0IDIxNiBRKHZpY2UpLS4xIEUgRjAoU2VydmljZSBuYW1lcy4pCi0xMC42NyBFKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDczPjIuNSBFIEYwKC4pQSBGMShzZXRvcHQpCi0xODQgMjI4IFEgRjAgLTEuMTEoVmEpMTQuNDUgRyhsaWQgYXIpMS4xMSBFKGd1bWVudHMgZm9yIHRoZSktLjE4IEUgRjEKLTxhZDZmPjIuNSBFIEYwKG9wdGlvbiB0byB0aGUpMi41IEUgRjEoc2V0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbi4pCi0uMiBFIEYxKHNob3B0KTE4NCAyNDAgUSBGMChTaGVsbCBvcHRpb24gbmFtZXMgYXMgYWNjZXB0ZWQgYnkgdGhlKTE2LjY2IEUKLUYxKHNob3B0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbi4pLjIgRSBGMShzaWduYWwpMTg0IDI1MiBRIEYwCi0oU2lnbmFsIG5hbWVzLikxNC45OSBFIEYxKHN0b3BwZWQpMTg0IDI2NCBRIEYwCi0oTmFtZXMgb2Ygc3RvcHBlZCBqb2JzLCBpZiBqb2IgY29udHJvbCBpcyBhY3RpKTYuNjYgRSAtLjE1KHZlKS0uMjUgRyguKQotLjE1IEUgRjEodXNlcikxODQgMjc2IFEgRjAoVXNlciBuYW1lcy4pMjEuNjcgRQotKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDc1PjIuNSBFIEYwKC4pQSBGMSAtLjEodmEpMTg0IDI4OCBTCi0ocmlhYmxlKS4xIEUgRjAoTmFtZXMgb2YgYWxsIHNoZWxsIHYpNS4xIEUgMi41KGFyaWFibGVzLiBNYXkpLS4yNSBGCi0oYWxzbyBiZSBzcGVjaVwyMTRlZCBhcykyLjUgRSBGMTxhZDc2PjIuNSBFIEYwKC4pQSBGMTxhZDQ3PjE0NCAzMDAgUS9GMwotMTAvVGltZXMtSXRhbGljQDAgU0YoZ2xvYnBhdCkyLjUgRSBGMCAxLjAwNyhUaGUgcGF0aG5hbWUgZSkxODQgMzEyIFIKLTEuMDA3KHhwYW5zaW9uIHBhdHRlcm4pLS4xNSBGIEYzKGdsb2JwYXQpMy41MDcgRSBGMCAxLjAwNyhpcyBlKTMuNTA3IEYKLTEuMDA4KHhwYW5kZWQgdG8gZ2VuZXJhdGUgdGhlIHBvc3NpYmxlIGNvbXBsZS0pLS4xNSBGKHRpb25zLikxODQgMzI0IFEKLUYxPGFkNTc+MTQ0IDMzNiBRIEYzKHdvcikyLjUgRShkbGlzdCktLjM3IEUgRjAoVGhlKTE4NCAzNDggUSBGMyh3b3IpMy42NAotRShkbGlzdCktLjM3IEUgRjAgMS4xNChpcyBzcGxpdCB1c2luZyB0aGUgY2hhcmFjdGVycyBpbiB0aGUpMy42NCBGIEYyCi0oSUZTKTMuNjQgRSBGMCAxLjEzOShzcGVjaWFsIHYpMy4zOSBGIDEuMTM5KGFyaWFibGUgYXMgZGVsaW1pdGVycywgYW5kKQotLS4yNSBGIDIuMDA3KGVhY2ggcmVzdWx0YW50IHcpMTg0IDM2MCBSIDIuMDA3KG9yZCBpcyBlKS0uMSBGIDQuNTA3Ci0oeHBhbmRlZC4gVGhlKS0uMTUgRiAyLjAwOChwb3NzaWJsZSBjb21wbGV0aW9ucyBhcmUgdGhlIG1lbWJlcnMgb2YgdGhlKQotNC41MDcgRihyZXN1bHRhbnQgbGlzdCB3aGljaCBtYXRjaCB0aGUgdykxODQgMzcyIFEob3JkIGJlaW5nIGNvbXBsZXRlZC4pCi0tLjEgRSBGMTxhZDQzPjE0NCAzODQgUSBGMyhjb21tYW5kKTIuNSBFKGNvbW1hbmQpMTg0IDM5NiBRIEYwIDEuMDU2Ci0oaXMgZSkzLjU1NiBGIC0uMTUoeGUpLS4xNSBHIDEuMDU2KGN1dGVkIGluIGEgc3Vic2hlbGwgZW4pLjE1IEYgMS4wNTYKLSh2aXJvbm1lbnQsIGFuZCBpdHMgb3V0cHV0IGlzIHVzZWQgYXMgdGhlIHBvc3NpYmxlKS0uNCBGKGNvbXBsZXRpb25zLikKLTE4NCA0MDggUSBGMTxhZDQ2PjE0NCA0MjAgUSBGMyhmdW5jdGlvbikyLjUgRSBGMCAxLjE4Ci0oVGhlIHNoZWxsIGZ1bmN0aW9uKTE4NCA0MzIgUiBGMyhmdW5jdGlvbikzLjY4IEUgRjAgMS4xODEoaXMgZSkzLjY4MSBGCi0tLjE1KHhlKS0uMTUgRyAxLjE4MShjdXRlZCBpbiB0aGUgY3VycmVudCBzaGVsbCBlbikuMTUgRiAzLjY4MQotKHZpcm9ubWVudC4gV2hlbiktLjQgRiAxLjE4MShpdCBcMjE0bi0pMy42ODEgRiAuOTMyCi0oaXNoZXMsIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBhcmUgcmV0cmllKTE4NCA0NDQgUiAtLjE1KHZlKS0uMjUgRwotMy40MzIoZGYpLjE1IEcgLjkzMihyb20gdGhlIHYpLTMuNDMyIEYgLjkzMihhbHVlIG9mIHRoZSktLjI1IEYgRjIKLShDT01QUkVQTCkzLjQzMSBFKFkpLS44MjggRSBGMChhcnJheSkzLjE4MSBFIC0uMjUodmEpMTg0IDQ1NiBTKHJpYWJsZS4pCi0uMjUgRSBGMTxhZDU4PjE0NCA0NjggUSBGMyhcMjE0bHRlcnBhdCkyLjUgRShcMjE0bHRlcnBhdCkxODQgNDgwIFEgRjAKLS40NTUoaXMgYSBwYXR0ZXJuIGFzIHVzZWQgZm9yIHBhdGhuYW1lIGUpMi45NTUgRiAyLjk1Nih4cGFuc2lvbi4gSXQpLS4xNQotRiAuNDU2KGlzIGFwcGxpZWQgdG8gdGhlIGxpc3Qgb2YgcG9zc2libGUpMi45NTYgRiAxLjU5NgotKGNvbXBsZXRpb25zIGdlbmVyYXRlZCBieSB0aGUgcHJlY2VkaW5nIG9wdGlvbnMgYW5kIGFyKTE4NCA0OTIgUiAxLjU5NgotKGd1bWVudHMsIGFuZCBlYWNoIGNvbXBsZXRpb24pLS4xOCBGKG1hdGNoaW5nKTE4NCA1MDQgUSBGMyhcMjE0bHRlcnBhdCkKLTMuMjA0IEUgRjAgLjcwNChpcyByZW1vKTMuMjA0IEYgLS4xNSh2ZSktLjE1IEcgMy4yMDQoZGYpLjE1IEcgLjcwNAotKHJvbSB0aGUgbGlzdC4pLTMuMjA0IEYgMy4yMDQoQWwpNS43MDQgRyhlYWRpbmcpLTMuMjA0IEUgRjEoISkzLjIwNCBFIEYwCi0oaW4pMy4yMDQgRSBGMyhcMjE0bHRlcnBhdCkzLjIwNSBFIEYwKG5lKTMuMjA1IEUgLS4wNShnYSktLjE1IEcgLjcwNQotKHRlcyB0aGUgcGF0dGVybjspLjA1IEYoaW4gdGhpcyBjYXNlLCBhbikxODQgNTE2IFEgMi41KHljKS0uMTUgRwotKG9tcGxldGlvbiBub3QgbWF0Y2hpbmcpLTIuNSBFIEYzKFwyMTRsdGVycGF0KTIuNSBFIEYwKGlzIHJlbW8pMi41IEUKLS0uMTUodmUpLS4xNSBHKGQuKS4xNSBFIEYxPGFkNTA+MTQ0IDUyOCBRIEYzKHByKTIuNSBFKGVcMjE0eCktLjM3IEUocHIpCi0xODQgNTQwIFEoZVwyMTR4KS0uMzcgRSBGMCAuNTM1KGlzIGFkZGVkIGF0IHRoZSBiZSkzLjAzNSBGIC41MzQKLShnaW5uaW5nIG9mIGVhY2ggcG9zc2libGUgY29tcGxldGlvbiBhZnRlciBhbGwgb3RoZXIgb3B0aW9ucyBoYSktLjE1IEYKLS0uMTUodmUpLS4yIEcoYmVlbiBhcHBsaWVkLikxODQgNTUyIFEgRjE8YWQ1Mz4xNDQgNTY0IFEgRjMoc3VmKTIuNSBFCi0yLjgxKFwyMTR4IHN1ZiktLjE4IEY8OGM3OD4tLjE4IEUgRjAKLShpcyBhcHBlbmRlZCB0byBlYWNoIHBvc3NpYmxlIGNvbXBsZXRpb24gYWZ0ZXIgYWxsIG90aGVyIG9wdGlvbnMgaGEpMi41Ci1FIC4zIC0uMTUodmUgYiktLjIgSChlZW4gYXBwbGllZC4pLjE1IEUgLjQ2NihUaGUgcmV0dXJuIHYpMTQ0IDU4MC44IFIKLS40NjYoYWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyAuNDY2Ci0obGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gb3B0aW9uIG90aGVyIHRoYW4pLjI1IEYgRjE8YWQ3MD4yLjk2NyBFIEYwCi0ob3IpMi45NjcgRSBGMTxhZDcyPjIuOTY3IEUgRjAgLjQ2NyhpcyBzdXAtKTIuOTY3IEYgMS4zNjIKLShwbGllZCB3aXRob3V0IGEpMTQ0IDU5Mi44IFIgRjMobmFtZSkzLjg2MiBFIEYwKGFyKTMuODYyIEUgMS4zNjEKLShndW1lbnQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byByZW1vKS0uMTggRiAxLjY2MSAtLjE1KHZlIGEgYyktLjE1IEgKLTEuMzYxKG9tcGxldGlvbiBzcGVjaVwyMTRjYXRpb24gZm9yIGEpLjE1IEYgRjMobmFtZSkxNDQgNjA0LjggUSBGMAotKGZvciB3aGljaCBubyBzcGVjaVwyMTRjYXRpb24gZSkyLjUgRQotKHhpc3RzLCBvciBhbiBlcnJvciBvY2N1cnMgYWRkaW5nIGEgY29tcGxldGlvbiBzcGVjaVwyMTRjYXRpb24uKS0uMTUgRQotRjEoY29tcG9wdCkxMDggNjIxLjYgUSBGMChbKTIuNSBFIEYxPGFkNmY+QSBGMyhvcHRpb24pMi41IEUgRjAgMi41KF1bKUMKLUYxKFwyNTVERSktMi41IEUgRjAgMi41KF1bKUMgRjEoK28pLTIuNSBFIEYzKG9wdGlvbikyLjUgRSBGMCAyLjUoXVspQyBGMwotKG5hbWUpLTIuNSBFIEYwKF0pQSAuNDQ3KE1vZGlmeSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2gpMTQ0IDYzMy42IFIKLUYzKG5hbWUpMi45NDcgRSBGMCAuNDQ3KGFjY29yZGluZyB0byB0aGUpMi45NDcgRiBGMyhvcHRpb24pMi45NDcgRSBGMAotLjQ0NyhzLCBvciBmb3IgdGhlIGN1cnJlbnRseS1lKUIgLS4xNSh4ZSktLjE1IEcoY3V0aW9uKS4xNSBFIC43MjYKLShjb21wbGV0aW9uIGlmIG5vKTE0NCA2NDUuNiBSIEYzKG5hbWUpMy4yMjYgRSBGMCAzLjIyNihzYSlDIC43MjYKLShyZSBzdXBwbGllZC4pLTMuMjI2IEYgLjcyNShJZiBubyk1LjcyNSBGIEYzKG9wdGlvbikzLjIyNSBFIEYwIDMuMjI1KHNhKQotQyAuNzI1KHJlIGdpKS0zLjIyNSBGIC0uMTUodmUpLS4yNSBHIC43MjUKLShuLCBkaXNwbGF5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yKS4xNSBGKGVhY2gpMTQ0IDY1Ny42IFEgRjMobmFtZSkKLTMuMjIzIEUgRjAgLjcyMyhvciB0aGUgY3VycmVudCBjb21wbGV0aW9uLikzLjIyMyBGIC43MjQoVGhlIHBvc3NpYmxlIHYpCi01LjcyNCBGIC43MjQoYWx1ZXMgb2YpLS4yNSBGIEYzKG9wdGlvbikzLjIyNCBFIEYwIC43MjQoYXJlIHRob3NlIHYpMy4yMjQKLUYgLjcyNChhbGlkIGZvciB0aGUpLS4yNSBGIEYxKGNvbS0pMy4yMjQgRShwbGV0ZSkxNDQgNjY5LjYgUSBGMCAtLjIoYnUpCi0yLjc5OCBHIC4yOTgoaWx0aW4gZGVzY3JpYmVkIGFibykuMiBGIC0uMTUodmUpLS4xNSBHIDUuMjk3KC5UKS4xNSBHKGhlKQotLTUuMjk3IEUgRjE8YWQ0ND4yLjc5NyBFIEYwIC4yOTcKLShvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zIHNob3VsZCBhcHBseSB0bykyLjc5NyBGCi0xLjIyNyh0aGUgYCkxNDQgNjgxLjYgUihgZGVmKS0uNzQgRShhdWx0JyktLjEgRSAzLjcyNygnYyktLjc0IEcgMS4yMjgob1wKLW1tYW5kIGNvbXBsZXRpb247IHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgY29tbWFuZCBmb3Igd2hpY2ggXAotbm8pLTMuNzI3IEYgMi4xNzgoY29tcGxldGlvbiBoYXMgcHJlKTE0NCA2OTMuNiBSIDIuMTc4Ci0odmlvdXNseSBiZWVuIGRlXDIxNG5lZC4pLS4yNSBGKFRoZSk3LjE3OCBFIEYxPGFkNDU+NC42NzggRSBGMCAyLjE3NwotKG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMpNC42NzcgRihzaG91bGQgYXBwbHkgdG8gYCkKLTE0NCA3MDUuNiBRKGBlbXB0eScpLS43NCBFIDIuNSgnYyktLjc0IEcKLShvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lLiktMi41Ci1FIC4zMjcoVGhlIHJldHVybiB2KTEwOCA3MjIuNCBSIC4zMjcoYWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbiktLjI1IEYKLS0uMjUodmEpLS40IEcgLjMyNwotKGxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBtb2RpZnkgdGhlIG9wdGlvbnMgZm9yIGEpCi0uMjUgRihHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNTIpMTg1Ljk1NSBFIDAgQ2cKLUVQCistLjM1IEUgMy40NTUoYWMpMTQ0IDg0IFMgLjk1NShvbW1hbmQgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24gaGFzIHByZSkKKy0zLjQ1NSBGIC45NTUodmlvdXNseSBiZWVuIGRlXDIxNG5lZC4pLS4yNSBGKFRoZSk1Ljk1NSBFL0YxIDEwCisvVGltZXMtQm9sZEAwIFNGPGFkNDU+My40NTUgRSBGMCAuOTU1KG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCkzLjQ1NSBGIC4wNjQKKyh0aGUgcmVtYWluaW5nIG9wdGlvbnMgYW5kIGFjdGlvbnMgc2hvdWxkIGFwcGx5IHRvIGApMTQ0IDk2IFIoYGVtcHR5JykKKy0uNzQgRSAyLjU2NSgnYyktLjc0IEcgLjA2NShvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxlLSktMi41NjUgRgorKHRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZS4pMTQ0IDEwOCBRIDEuNDM4CisoVGhlIHByb2Nlc3Mgb2YgYXBwbHlpbmcgdGhlc2UgY29tcGxldGlvbiBzcGVjaVwyMTRjYXRpb25zIHdoZW4gdykxNDQKKzEzMiBSIDEuNDM3KG9yZCBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBpcyktLjEgRihkZXNjcmliZWQgYWJvKTE0NCAxNDQgUQorLjMgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYxKFByKTIuNSBFKG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEUKK0YwKC4pQSAuNTU1KE90aGVyIG9wdGlvbnMsIGlmIHNwZWNpXDIxNGVkLCBoYSkxNDQgMTY4IFIgLjg1NSAtLjE1KHZlIHQpCistLjIgSCAuNTU1KGhlIGZvbGxvKS4xNSBGIC41NTUod2luZyBtZWFuaW5ncy4pLS4yNSBGIC41NTUoVGhlIGFyKTUuNTU1IEYKKy41NTUoZ3VtZW50cyB0byB0aGUpLS4xOCBGIEYxPGFkNDc+My4wNTYgRSBGMCgsKUEgRjE8YWQ1Nz4zLjA1NiBFIEYwCiszLjA1NigsYSlDKG5kKS0zLjA1NiBFIEYxPGFkNTg+My4wNTYgRSBGMCAuNzIzCisob3B0aW9ucyBcKGFuZCwgaWYgbmVjZXNzYXJ5KTE0NCAxODAgUiAzLjIyMygsdCktLjY1IEcoaGUpLTMuMjIzIEUgRjEKKzxhZDUwPjMuMjIzIEUgRjAoYW5kKTMuMjIzIEUgRjE8YWQ1Mz4zLjIyMyBFIEYwIC43MjIKKyhvcHRpb25zXCkgc2hvdWxkIGJlIHF1b3RlZCB0byBwcm90ZWN0IHRoZW0gZnJvbSBlKTMuMjIzIEYoeHBhbi0pLS4xNSBFCisoc2lvbiBiZWZvcmUgdGhlKTE0NCAxOTIgUSBGMShjb21wbGV0ZSkyLjUgRSBGMCAtLjIoYnUpMi41IEcKKyhpbHRpbiBpcyBpbikuMiBFIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyhkLikuMSBFIEYxPGFkNmY+MTQ0IDIwNCBRL0YyCisxMC9UaW1lcy1JdGFsaWNAMCBTRihjb21wLW9wdGlvbikyLjUgRSBGMChUaGUpMTg0IDIxNiBRIEYyKGNvbXAtb3B0aW9uKQorMi43OSBFIEYwIC4yOTEoY29udHJvbHMgc2UpMi43OTEgRiAtLjE1KHZlKS0uMjUgRyAuMjkxCisocmFsIGFzcGVjdHMgb2YgdGhlIGNvbXBzcGVjJykuMTUgRiAyLjc5MShzYiktLjU1IEcoZWhhKS0yLjc5MSBFIC4yOTEKKyh2aW9yIGJlKS0uMiBGIC4yOTEoeW9uZCB0aGUgc2ltcGxlKS0uMTUgRihnZW5lcmF0aW9uIG9mIGNvbXBsZXRpb25zLikKKzE4NCAyMjggUSBGMihjb21wLW9wdGlvbik1IEUgRjAobWF5IGJlIG9uZSBvZjopMi41IEUgRjEoYmFzaGRlZmF1bHQpMTg0CisyNDAgUSBGMCAuMjgxKFBlcmZvcm0gdGhlIHJlc3Qgb2YgdGhlIGRlZikyMjQgMjUyIFIoYXVsdCktLjEgRSBGMShiYXNoKQorMi43ODEgRSBGMCAuMjgxKGNvbXBsZXRpb25zIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8pMi43ODEgRgorKG1hdGNoZXMuKTIyNCAyNjQgUSBGMShkZWZhdWx0KTE4NCAyNzYgUSBGMCAyLjg3NShVc2UgcmVhZGxpbmUnKTEwIEYKKzUuMzc1KHNkKS0uNTUgRyhlZiktNS4zNzUgRSAyLjg3NgorKGF1bHQgXDIxNGxlbmFtZSBjb21wbGV0aW9uIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8pLS4xIEYobWF0Y2hlcy4pCisyMjQgMjg4IFEgRjEoZGlyKTE4NCAzMDAgUShuYW1lcyktLjE1IEUgRjAoUGVyZm9ybSBkaXJlY3RvcnkgbmFtZSBjb21wbFwKK2V0aW9uIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8gbWF0Y2hlcy4pMjI0IDMxMiBRIEYxKFwyMTRsZW5hbWVzKTE4NAorMzI0IFEgRjAgLS43KFRlKTIyNCAzMzYgUyAuMTM3KGxsIHJlYWRsaW5lIHRoYXQgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBcCitcMjE0bGVuYW1lcywgc28gaXQgY2FuIHBlcmZvcm0gYW4pLjcgRiAyLjYzNjw3OThjPi0uMTUgRyhsZS0pLTIuNjM2IEUKKy4xMzQobmFtZVwyNTVzcGVjaVwyMTRjIHByb2Nlc3NpbmcgXChsaWspMjI0IDM0OCBSIDIuNjM0KGVhKS0uMSBHIC4xMzQKKyhkZGluZyBhIHNsYXNoIHRvIGRpcmVjdG9yeSBuYW1lcywgcXVvdGluZyBzcGUtKS0yLjYzNCBGIC40NQorKGNpYWwgY2hhcmFjdGVycywgb3Igc3VwcHJlc3NpbmcgdHJhaWxpbmcgc3BhY2VzXCkuKTIyNCAzNjAgUiAuNDUKKyhJbnRlbmRlZCB0byBiZSB1c2VkIHdpdGggc2hlbGwpNS40NSBGKGZ1bmN0aW9ucy4pMjI0IDM3MiBRIEYxKG5vc3BhY2UpCisxODQgMzg0IFEgRjAgLS43KFRlKTYuMTEgRyAuMjIKKyhsbCByZWFkbGluZSBub3QgdG8gYXBwZW5kIGEgc3BhY2UgXCh0aGUgZGVmKS43IEYgLjIyKGF1bHRcKSB0byB3KS0uMSBGCisuMjIob3JkcyBjb21wbGV0ZWQgYXQgdGhlIGVuZCktLjEgRihvZiB0aGUgbGluZS4pMjI0IDM5NiBRIEYxKHBsdXNkaXJzKQorMTg0IDQwOCBRIEYwIDEuOTg1KEFmdGVyIGFuKTUuNTQgRiA0LjQ4NSh5bSktLjE1IEcgMS45ODUKKyhhdGNoZXMgZGVcMjE0bmVkIGJ5IHRoZSBjb21wc3BlYyBhcmUgZ2VuZXJhdGVkLCBkaXJlY3RvcnkgbmFtZSktNC40ODUgRgorLjU4Myhjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBhbmQgYW4pMjI0IDQyMCBSIDMuMDg0KHltKS0uMTUgRyAuNTg0CisoYXRjaGVzIGFyZSBhZGRlZCB0byB0aGUgcmVzdWx0cyBvZiB0aGUgb3RoZXIpLTMuMDg0IEYoYWN0aW9ucy4pMjI0IDQzMgorUSBGMTxhZDQxPjE0NCA0NDQgUSBGMihhY3Rpb24pMi41IEUgRjAoVGhlKTE4NCA0NTYgUSBGMihhY3Rpb24pMi41IEUgRjAKKyhtYXkgYmUgb25lIG9mIHRoZSBmb2xsbykyLjUgRQorKHdpbmcgdG8gZ2VuZXJhdGUgYSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zOiktLjI1IEUgRjEoYWxpYXMpMTg0Cis0NjggUSBGMChBbGlhcyBuYW1lcy4pMjAuNTUgRShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2MT4yLjUKK0UgRjAoLilBIEYxKGFycmF5dikxODQgNDgwIFEoYXIpLS4xIEUgRjAoQXJyYXkgdikyMjQgNDkyIFEKKyhhcmlhYmxlIG5hbWVzLiktLjI1IEUgRjEgNC43KGJpbmRpbmcgUmVhZGxpbmUpMTg0IDUwNCBSIEYwIC0uMShrZSkyLjUgRworMi41KHliKS0uMDUgRyhpbmRpbmcgbmFtZXMuKS0yLjUgRSBGMSAtLjIoYnUpMTg0IDUxNiBTKGlsdGluKS4yIEUgRjAKKyhOYW1lcyBvZiBzaGVsbCBiKTExLjg1IEUodWlsdGluIGNvbW1hbmRzLiktLjIgRQorKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDYyPjIuNSBFIEYwKC4pQSBGMShjb21tYW5kKTE4NCA1MjgKK1EgRjAoQ29tbWFuZCBuYW1lcy4pMjI0IDU0MCBRKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDYzPjIuNQorRSBGMCguKUEgRjEoZGlyKTE4NCA1NTIgUShlY3RvcnkpLS4xOCBFIEYwKERpcmVjdG9yeSBuYW1lcy4pMjI0IDU2NCBRCisoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjQ+Mi41IEUgRjAoLilBIEYxKGRpc2FibGVkKTE4NCA1NzYKK1EgRjAoTmFtZXMgb2YgZGlzYWJsZWQgc2hlbGwgYikyMjQgNTg4IFEodWlsdGlucy4pLS4yIEUgRjEoZW5hYmxlZCkxODQKKzYwMCBRIEYwKE5hbWVzIG9mIGVuYWJsZWQgc2hlbGwgYik2LjY2IEUodWlsdGlucy4pLS4yIEUgRjEoZXhwb3J0KTE4NAorNjEyIFEgRjAoTmFtZXMgb2YgZSkxMi4yMyBFKHhwb3J0ZWQgc2hlbGwgdiktLjE1IEUgMi41KGFyaWFibGVzLiBNYXkpCistLjI1IEYoYWxzbyBiZSBzcGVjaVwyMTRlZCBhcykyLjUgRSBGMTxhZDY1PjIuNSBFIEYwKC4pQSBGMShcMjE0bGUpMTg0Cis2MjQgUSBGMChGaWxlIG5hbWVzLikyNy4yMiBFKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDY2PjIuNQorRSBGMCguKUEgRjEoZnVuY3Rpb24pMTg0IDYzNiBRIEYwKE5hbWVzIG9mIHNoZWxsIGZ1bmN0aW9ucy4pMjI0IDY0OCBRIEYxCisoZ3IpMTg0IDY2MCBRKG91cCktLjE4IEUgRjAoR3JvdXAgbmFtZXMuKTE0LjYyIEUKKyhNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Nz4yLjUgRSBGMCguKUEgRjEoaGVscHRvcGljKTE4NAorNjcyIFEgRjAoSGVscCB0b3BpY3MgYXMgYWNjZXB0ZWQgYnkgdGhlKTIyNCA2ODQgUSBGMShoZWxwKTIuNSBFIEYwIC0uMgorKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYxKGhvc3RuYW1lKTE4NCA2OTYgUSBGMChIb3N0bmFtZXMsIGFzIHRhaykyMjQgNzA4CitRKGVuIGZyb20gdGhlIFwyMTRsZSBzcGVjaVwyMTRlZCBieSB0aGUpLS4xIEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YKKyhIT1NURklMRSkyLjUgRSBGMChzaGVsbCB2KTIuMjUgRShhcmlhYmxlLiktLjI1IEUoR05VIEJhc2gtNC4yKTcyIDc2OCBRCisoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoNTIpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNTMgNTMKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YobmFtZSkxMDggODQgUSBGMAorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihqb2IpMTg0IDg0IFEgRjAKKyhKb2IgbmFtZXMsIGlmIGpvYiBjb250cm9sIGlzIGFjdGkpMjYuMTEgRSAtLjE1KHZlKS0uMjUgRyA1KC5NKS4xNSBHCisoYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyktNSBFIEYxPGFkNmE+Mi41IEUgRjAoLilBIEYxIC0uMShrZSkxODQgOTYgUworKHl3KS4xIEUob3JkKS0uMSBFIEYwKFNoZWxsIHJlc2VydikyMjQgMTA4IFEoZWQgdyktLjE1IEUgMi41KG9yZHMuIE1heSkKKy0uMSBGKGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpMi41IEUgRjE8YWQ2Yj4yLjUgRSBGMCguKUEgRjEocnVubmluZykxODQKKzEyMCBRIEYwKE5hbWVzIG9mIHJ1bm5pbmcgam9icywgaWYgam9iIGNvbnRyb2wgaXMgYWN0aSk1LjU0IEUgLS4xNSh2ZSkKKy0uMjUgRyguKS4xNSBFIEYxKHNlcikxODQgMTMyIFEodmljZSktLjEgRSBGMChTZXJ2aWNlIG5hbWVzLikxMC42NyBFCisoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNzM+Mi41IEUgRjAoLilBIEYxKHNldG9wdCkxODQgMTQ0IFEKK0YwIC0xLjExKFZhKTE0LjQ1IEcobGlkIGFyKTEuMTEgRShndW1lbnRzIGZvciB0aGUpLS4xOCBFIEYxPGFkNmY+Mi41IEUKK0YwKG9wdGlvbiB0byB0aGUpMi41IEUgRjEoc2V0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbi4pLjIgRSBGMQorKHNob3B0KTE4NCAxNTYgUSBGMChTaGVsbCBvcHRpb24gbmFtZXMgYXMgYWNjZXB0ZWQgYnkgdGhlKTE2LjY2IEUgRjEKKyhzaG9wdCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4uKS4yIEUgRjEoc2lnbmFsKTE4NCAxNjggUSBGMAorKFNpZ25hbCBuYW1lcy4pMTQuOTkgRSBGMShzdG9wcGVkKTE4NCAxODAgUSBGMAorKE5hbWVzIG9mIHN0b3BwZWQgam9icywgaWYgam9iIGNvbnRyb2wgaXMgYWN0aSk2LjY2IEUgLS4xNSh2ZSktLjI1IEcoLikKKy4xNSBFIEYxKHVzZXIpMTg0IDE5MiBRIEYwKFVzZXIgbmFtZXMuKTIxLjY3IEUKKyhNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ3NT4yLjUgRSBGMCguKUEgRjEgLS4xKHZhKTE4NCAyMDQgUworKHJpYWJsZSkuMSBFIEYwKE5hbWVzIG9mIGFsbCBzaGVsbCB2KTUuMSBFIDIuNShhcmlhYmxlcy4gTWF5KS0uMjUgRgorKGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpMi41IEUgRjE8YWQ3Nj4yLjUgRSBGMCguKUEgRjE8YWQ0Mz4xNDQgMjE2IFEvRjIKKzEwL1RpbWVzLUl0YWxpY0AwIFNGKGNvbW1hbmQpMi41IEUoY29tbWFuZCkxODQgMjI4IFEgRjAgMS4wNTYoaXMgZSkzLjU1NgorRiAtLjE1KHhlKS0uMTUgRyAxLjA1NihjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNSBGIDEuMDU2Cisodmlyb25tZW50LCBhbmQgaXRzIG91dHB1dCBpcyB1c2VkIGFzIHRoZSBwb3NzaWJsZSktLjQgRihjb21wbGV0aW9ucy4pCisxODQgMjQwIFEgRjE8YWQ0Nj4xNDQgMjUyIFEgRjIoZnVuY3Rpb24pMi41IEUgRjAgMS4xOAorKFRoZSBzaGVsbCBmdW5jdGlvbikxODQgMjY0IFIgRjIoZnVuY3Rpb24pMy42OCBFIEYwIDEuMTgxKGlzIGUpMy42ODEgRgorLS4xNSh4ZSktLjE1IEcgMS4xODEoY3V0ZWQgaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW4pLjE1IEYgMy42ODEKKyh2aXJvbm1lbnQuIFdoZW4pLS40IEYgMS4xODEoaXQgXDIxNG4tKTMuNjgxIEYgLjkzMgorKGlzaGVzLCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIHJldHJpZSkxODQgMjc2IFIgLS4xNSh2ZSktLjI1IEcKKzMuNDMyKGRmKS4xNSBHIC45MzIocm9tIHRoZSB2KS0zLjQzMiBGIC45MzIoYWx1ZSBvZiB0aGUpLS4yNSBGL0YzIDkKKy9UaW1lcy1Cb2xkQDAgU0YoQ09NUFJFUEwpMy40MzEgRShZKS0uODI4IEUgRjAoYXJyYXkpMy4xODEgRSAtLjI1KHZhKTE4NAorMjg4IFMocmlhYmxlLikuMjUgRSBGMTxhZDQ3PjE0NCAzMDAgUSBGMihnbG9icGF0KTIuNSBFIEYwIDEuMDA3CisoVGhlIHBhdGhuYW1lIGUpMTg0IDMxMiBSIDEuMDA3KHhwYW5zaW9uIHBhdHRlcm4pLS4xNSBGIEYyKGdsb2JwYXQpMy41MDcKK0UgRjAgMS4wMDcoaXMgZSkzLjUwNyBGIDEuMDA4KHhwYW5kZWQgdG8gZ2VuZXJhdGUgdGhlIHBvc3NpYmxlIGNvbXBsZS0pCistLjE1IEYodGlvbnMuKTE4NCAzMjQgUSBGMTxhZDUwPjE0NCAzMzYgUSBGMihwcikyLjUgRShlXDIxNHgpLS4zNyBFKHByKQorMTg0IDM0OCBRKGVcMjE0eCktLjM3IEUgRjAgLjUzNShpcyBhZGRlZCBhdCB0aGUgYmUpMy4wMzUgRiAuNTM0CisoZ2lubmluZyBvZiBlYWNoIHBvc3NpYmxlIGNvbXBsZXRpb24gYWZ0ZXIgYWxsIG90aGVyIG9wdGlvbnMgaGEpLS4xNSBGCistLjE1KHZlKS0uMiBHKGJlZW4gYXBwbGllZC4pMTg0IDM2MCBRIEYxPGFkNTM+MTQ0IDM3MiBRIEYyKHN1ZikyLjUgRQorMi44MShcMjE0eCBzdWYpLS4xOCBGPDhjNzg+LS4xOCBFIEYwCisoaXMgYXBwZW5kZWQgdG8gZWFjaCBwb3NzaWJsZSBjb21wbGV0aW9uIGFmdGVyIGFsbCBvdGhlciBvcHRpb25zIGhhKTIuNQorRSAuMyAtLjE1KHZlIGIpLS4yIEgoZWVuIGFwcGxpZWQuKS4xNSBFIEYxPGFkNTc+MTQ0IDM4NCBRIEYyKHdvcikyLjUgRQorKGRsaXN0KS0uMzcgRSBGMChUaGUpMTg0IDM5NiBRIEYyKHdvcikzLjYzOSBFKGRsaXN0KS0uMzcgRSBGMCAxLjE0CisoaXMgc3BsaXQgdXNpbmcgdGhlIGNoYXJhY3RlcnMgaW4gdGhlKTMuNjM5IEYgRjMoSUZTKTMuNjQgRSBGMCAxLjE0Cisoc3BlY2lhbCB2KTMuMzkgRiAxLjE0KGFyaWFibGUgYXMgZGVsaW1pdGVycywgYW5kKS0uMjUgRiAyLjAwOAorKGVhY2ggcmVzdWx0YW50IHcpMTg0IDQwOCBSIDIuMDA4KG9yZCBpcyBlKS0uMSBGIDQuNTA4KHhwYW5kZWQuIFRoZSktLjE1CitGIDIuMDA3KHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSB0aGUgbWVtYmVycyBvZiB0aGUpNC41MDggRgorKHJlc3VsdGFudCBsaXN0IHdoaWNoIG1hdGNoIHRoZSB3KTE4NCA0MjAgUShvcmQgYmVpbmcgY29tcGxldGVkLiktLjEgRQorRjE8YWQ1OD4xNDQgNDMyIFEgRjIoXDIxNGx0ZXJwYXQpMi41IEUoXDIxNGx0ZXJwYXQpMTg0IDQ0NCBRIEYwIC40NTUKKyhpcyBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgcGF0aG5hbWUgZSkyLjk1NSBGIDIuOTU2KHhwYW5zaW9uLiBJdCktLjE1IEYKKy40NTYoaXMgYXBwbGllZCB0byB0aGUgbGlzdCBvZiBwb3NzaWJsZSkyLjk1NiBGIDEuNTk2CisoY29tcGxldGlvbnMgZ2VuZXJhdGVkIGJ5IHRoZSBwcmVjZWRpbmcgb3B0aW9ucyBhbmQgYXIpMTg0IDQ1NiBSIDEuNTk2CisoZ3VtZW50cywgYW5kIGVhY2ggY29tcGxldGlvbiktLjE4IEYobWF0Y2hpbmcpMTg0IDQ2OCBRIEYyKFwyMTRsdGVycGF0KQorMy4yMDQgRSBGMCAuNzA0KGlzIHJlbW8pMy4yMDQgRiAtLjE1KHZlKS0uMTUgRyAzLjIwNChkZikuMTUgRyAuNzA0Cisocm9tIHRoZSBsaXN0LiktMy4yMDQgRiAzLjIwNChBbCk1LjcwNCBHKGVhZGluZyktMy4yMDQgRSBGMSghKTMuMjA0IEUgRjAKKyhpbikzLjIwNCBFIEYyKFwyMTRsdGVycGF0KTMuMjA1IEUgRjAobmUpMy4yMDUgRSAtLjA1KGdhKS0uMTUgRyAuNzA1CisodGVzIHRoZSBwYXR0ZXJuOykuMDUgRihpbiB0aGlzIGNhc2UsIGFuKTE4NCA0ODAgUSAyLjUoeWMpLS4xNSBHCisob21wbGV0aW9uIG5vdCBtYXRjaGluZyktMi41IEUgRjIoXDIxNGx0ZXJwYXQpMi41IEUgRjAoaXMgcmVtbykyLjUgRQorLS4xNSh2ZSktLjE1IEcoZC4pLjE1IEUgLjQ2NyhUaGUgcmV0dXJuIHYpMTQ0IDQ5Ni44IFIgLjQ2NworKGFsdWUgaXMgdHJ1ZSB1bmxlc3MgYW4gaW4pLS4yNSBGIC0uMjUodmEpLS40IEcgLjQ2NgorKGxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuIG9wdGlvbiBvdGhlciB0aGFuKS4yNSBGIEYxPGFkNzA+Mi45NjYgRSBGMAorKG9yKTIuOTY2IEUgRjE8YWQ3Mj4yLjk2NiBFIEYwIC40NjYoaXMgc3VwLSkyLjk2NiBGIDEuMzYxCisocGxpZWQgd2l0aG91dCBhKTE0NCA1MDguOCBSIEYyKG5hbWUpMy44NjEgRSBGMChhcikzLjg2MSBFIDEuMzYxCisoZ3VtZW50LCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gcmVtbyktLjE4IEYgMS42NjIgLS4xNSh2ZSBhIGMpLS4xNSBICisxLjM2MihvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIGZvciBhKS4xNSBGIEYyKG5hbWUpMTQ0IDUyMC44IFEgRjAKKyhmb3Igd2hpY2ggbm8gc3BlY2lcMjE0Y2F0aW9uIGUpMi41IEUKKyh4aXN0cywgb3IgYW4gZXJyb3Igb2NjdXJzIGFkZGluZyBhIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uLiktLjE1IEUKK0YxKGNvbXBvcHQpMTA4IDUzNy42IFEgRjAoWykyLjUgRSBGMTxhZDZmPkEgRjIob3B0aW9uKTIuNSBFIEYwIDIuNShdWylDCitGMShcMjU1REUpLTIuNSBFIEYwIDIuNShdWylDIEYxKCtvKS0yLjUgRSBGMihvcHRpb24pMi41IEUgRjAgMi41KF1bKUMgRjIKKyhuYW1lKS0yLjUgRSBGMChdKUEgLjQ0NyhNb2RpZnkgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoKTE0NCA1NDkuNiBSCitGMihuYW1lKTIuOTQ3IEUgRjAgLjQ0NyhhY2NvcmRpbmcgdG8gdGhlKTIuOTQ3IEYgRjIob3B0aW9uKTIuOTQ3IEUgRjAKKy40NDcocywgb3IgZm9yIHRoZSBjdXJyZW50bHktZSlCIC0uMTUoeGUpLS4xNSBHKGN1dGluZykuMTUgRSAuNzI1CisoY29tcGxldGlvbiBpZiBubykxNDQgNTYxLjYgUiBGMihuYW1lKTMuMjI1IEUgRjAgMy4yMjUoc2EpQyAuNzI1CisocmUgc3VwcGxpZWQuKS0zLjIyNSBGIC43MjUoSWYgbm8pNS43MjUgRiBGMihvcHRpb24pMy4yMjUgRSBGMCAzLjIyNShzYSkKK0MgLjcyNShyZSBnaSktMy4yMjUgRiAtLjE1KHZlKS0uMjUgRyAuNzI2CisobiwgZGlzcGxheSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvcikuMTUgRihlYWNoKTE0NCA1NzMuNiBRIEYyKG5hbWUpCiszLjIyNCBFIEYwIC43MjQob3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbi4pMy4yMjQgRiAuNzI0KFRoZSBwb3NzaWJsZSB2KQorNS43MjQgRiAuNzI0KGFsdWVzIG9mKS0uMjUgRiBGMihvcHRpb24pMy4yMjQgRSBGMCAuNzI0KGFyZSB0aG9zZSB2KTMuMjI0CitGIC43MjMoYWxpZCBmb3IgdGhlKS0uMjUgRiBGMShjb20tKTMuMjIzIEUocGxldGUpMTQ0IDU4NS42IFEgRjAgLS4yKGJ1KQorMi43OTcgRyAuMjk3KGlsdGluIGRlc2NyaWJlZCBhYm8pLjIgRiAtLjE1KHZlKS0uMTUgRyA1LjI5NyguVCkuMTUgRyhoZSkKKy01LjI5NyBFIEYxPGFkNDQ+Mi43OTcgRSBGMCAuMjk3Cisob3B0aW9uIGluZGljYXRlcyB0aGF0IHRoZSByZW1haW5pbmcgb3B0aW9ucyBzaG91bGQgYXBwbHkgdG8pMi43OTcgRgorMS4yMjgodGhlIGApMTQ0IDU5Ny42IFIoYGRlZiktLjc0IEUoYXVsdCcpLS4xIEUgMy43MjgoJ2MpLS43NCBHIDEuMjI4KG9cCittbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGNvbW1hbmQgZm9yIHdoaWNoIFwKK25vKS0zLjcyOCBGIDIuMTc3KGNvbXBsZXRpb24gaGFzIHByZSkxNDQgNjA5LjYgUiAyLjE3NworKHZpb3VzbHkgYmVlbiBkZVwyMTRuZWQuKS0uMjUgRihUaGUpNy4xNzcgRSBGMTxhZDQ1PjQuNjc3IEUgRjAgMi4xNzgKKyhvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zKTQuNjc4IEYoc2hvdWxkIGFwcGx5IHRvIGApCisxNDQgNjIxLjYgUShgZW1wdHknKS0uNzQgRSAyLjUoJ2MpLS43NCBHCisob21tYW5kIGNvbXBsZXRpb247IHRoYXQgaXMsIGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZS4pLTIuNQorRSAxLjM4OChUaGUgcmV0dXJuIHYpMTQ0IDY0NS42IFIgMS4zODgoYWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbiktLjI1IEYKKy0uMjUodmEpLS40IEcgMS4zODcKKyhsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gbW9kaWZ5IHRoZSkuMjUgRgorKG9wdGlvbnMgZm9yIGEpMTQ0IDY1Ny42IFEgRjIobmFtZSkyLjUgRSBGMAogKGZvciB3aGljaCBubyBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbiBlKTIuNSBFCi0oeGlzdHMsIG9yIGFuIG91dHB1dCBlcnJvciBvY2N1cnMuKS0uMTUgRS9GMiAxMC9UaW1lcy1Cb2xkQDAgU0YKLShjb250aW51ZSkxMDggMTAwLjggUSBGMChbKTIuNSBFIEYxKG4pQSBGMChdKUEgMS43NTQoUmVzdW1lIHRoZSBuZSkxNDQKLTExMi44IFIgMS43NTQoeHQgaXRlcmF0aW9uIG9mIHRoZSBlbmNsb3NpbmcpLS4xNSBGIEYyIC0uMjUoZm8pNC4yNTQgRyhyKQotLjI1IEUgRjAoLClBIEYyKHdoaWxlKTQuMjU0IEUgRjAoLClBIEYyKHVudGlsKTQuMjU0IEUgRjAgNC4yNTQoLG8pQyhyKQotLTQuMjU0IEUgRjIoc2VsZWN0KTQuMjU0IEUgRjAgNC4yNTMobG9vcC4gSWYpNC4yNTQgRiBGMShuKTQuNjEzIEUgRjAKLTEuNzUzKGlzIHNwZWNpXDIxNGVkLCk0LjQ5MyBGIDEuMjA4KHJlc3VtZSBhdCB0aGUpMTQ0IDEyNC44IFIgRjEobikzLjcwOQotRSBGMCAxLjIwOSh0aCBlbmNsb3NpbmcgbG9vcC4pQiBGMShuKTYuNTY5IEUgRjAgMS4yMDkobXVzdCBiZSkzLjk0OSBGL0YzCi0xMC9TeW1ib2wgU0Y8YjM+My43MDkgRSBGMCAzLjcwOSgxLiBJZikzLjcwOSBGIEYxKG4pNC4wNjkgRSBGMCAxLjIwOQotKGlzIGdyZWF0ZXIgdGhhbiB0aGUgbnVtYmVyIG9mIGVuY2xvc2luZykzLjk0OSBGIC41MTQKLShsb29wcywgdGhlIGxhc3QgZW5jbG9zaW5nIGxvb3AgXCh0aGUgYCkxNDQgMTM2LjggUihgdG9wLWxlKS0uNzQgRSAtLjE1Ci0odmUpLS4yNSBHKGwnKS4xNSBFIDMuMDE0KCdsKS0uNzQgRyAuNTE0KG9vcFwpIGlzIHJlc3VtZWQuKS0zLjAxNCBGIC41MTMKLShUaGUgcmV0dXJuIHYpNS41MTMgRiAuNTEzKGFsdWUgaXMgMCB1bmxlc3MpLS4yNSBGIEYxKG4pMy4wMTMgRSBGMChpcykKLTMuMDEzIEUobm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLikxNDQgMTQ4LjggUSBGMihkZWNsYXIpMTA4IDE2NS42Ci1RKGUpLS4xOCBFIEYwKFspMi41IEUgRjIoXDI1NWFBZkZpbHJ0dXgpQSBGMCAyLjUoXVspQyBGMjxhZDcwPi0yLjUgRSBGMAotMi41KF1bKUMgRjEobmFtZSktMi41IEUgRjAoWz0pQSBGMSh2YWx1ZSlBIEYwIDIuNShdLilDKC4uXSktMi41IEUgRjIKLSh0eXBlc2V0KTEwOCAxNzcuNiBRIEYwKFspMi41IEUgRjIoXDI1NWFBZkZpbHJ0dXgpQSBGMCAyLjUoXVspQyBGMjxhZDcwPgotLTIuNSBFIEYwIDIuNShdWylDIEYxKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjEodmFsdWUpQSBGMCAyLjUoXS4pQyguLl0pCi0tMi41IEUgMS4yNjQoRGVjbGFyZSB2KTE0NCAxODkuNiBSIDEuMjY0KGFyaWFibGVzIGFuZC9vciBnaSktLjI1IEYgMS41NjQKLS0uMTUodmUgdCktLjI1IEggMS4yNjQoaGVtIGF0dHJpYikuMTUgRiAzLjc2NSh1dGVzLiBJZiktLjIgRihubykzLjc2NSBFCi1GMShuYW1lKTMuNzY1IEUgRjAgMy43NjUoc2EpQyAxLjI2NShyZSBnaSktMy43NjUgRiAtLjE1KHZlKS0uMjUgRyAzLjc2NQotKG50KS4xNSBHIDEuMjY1KGhlbiBkaXNwbGF5IHRoZSB2KS0zLjc2NSBGIDEuMjY1KGFsdWVzIG9mKS0uMjUgRiAtLjI1Ci0odmEpMTQ0IDIwMS42IFMgMy40ODMocmlhYmxlcy4gVGhlKS4yNSBGIEYyPGFkNzA+My40ODMgRSBGMCAuOTgzCi0ob3B0aW9uIHdpbGwgZGlzcGxheSB0aGUgYXR0cmliKTMuNDgzIEYgLjk4Myh1dGVzIGFuZCB2KS0uMiBGIC45ODIKLShhbHVlcyBvZiBlYWNoKS0uMjUgRiBGMShuYW1lKTMuNDgyIEUgRjAgNS45ODIoLlcpLjE4IEcoaGVuKS01Ljk4MiBFIEYyCi08YWQ3MD4zLjQ4MiBFIEYwIC45ODIoaXMgdXNlZCkzLjQ4MiBGKHdpdGgpMTQ0IDIxMy42IFEgRjEobmFtZSkzLjU3OSBFCi1GMChhcikzLjU3OSBFIDEuMDc5KGd1bWVudHMsIGFkZGl0aW9uYWwgb3B0aW9ucyBhcmUgaWdub3JlZC4pLS4xOCBGCi0oV2hlbik2LjA3OSBFIEYyPGFkNzA+My41NzkgRSBGMCAxLjA3OShpcyBzdXBwbGllZCB3aXRob3V0KTMuNTc5IEYgRjEKLShuYW1lKTMuNTggRSBGMChhcikzLjU4IEUoZ3UtKS0uMTggRSAuMTUxCi0obWVudHMsIGl0IHdpbGwgZGlzcGxheSB0aGUgYXR0cmliKTE0NCAyMjUuNiBSIC4xNTEodXRlcyBhbmQgdiktLjIgRgotLjE1MShhbHVlcyBvZiBhbGwgdiktLjI1IEYgLjE1KGFyaWFibGVzIGhhKS0uMjUgRiAuMTUodmluZyB0aGUgYXR0cmliKQotLS4yIEYgLjE1KHV0ZXMgc3BlY2lcMjE0ZWQgYnkgdGhlKS0uMiBGIC4wNDYoYWRkaXRpb25hbCBvcHRpb25zLikxNDQKLTIzNy42IFIgLjA0NihJZiBubyBvdGhlciBvcHRpb25zIGFyZSBzdXBwbGllZCB3aXRoKTUuMDQ2IEYgRjI8YWQ3MD4yLjU0NwotRSBGMCgsKUEgRjIoZGVjbGFyKTIuNTQ3IEUoZSktLjE4IEUgRjAgLjA0Nyh3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYikKLTIuNTQ3IEYgLjA0Nyh1dGVzIGFuZCktLjIgRiAtLjI1KHZhKTE0NCAyNDkuNiBTIDEuMzYzCi0obHVlcyBvZiBhbGwgc2hlbGwgdikuMjUgRiAzLjg2MyhhcmlhYmxlcy4gVGhlKS0uMjUgRiBGMjxhZDY2PjMuODYzIEUgRjAKLTEuMzYyKG9wdGlvbiB3aWxsIHJlc3RyaWN0IHRoZSBkaXNwbGF5IHRvIHNoZWxsIGZ1bmN0aW9ucy4pMy44NjMgRihUaGUpCi02LjM2MiBFIEYyPGFkNDY+My44NjIgRSBGMCAyLjQyMihvcHRpb24gaW5oaWJpdHMgdGhlIGRpc3BsYXkgb2YgZnVuY3Rpb1wKLW4gZGVcMjE0bml0aW9uczsgb25seSB0aGUgZnVuY3Rpb24gbmFtZSBhbmQgYXR0cmliKTE0NCAyNjEuNiBSIDIuNDIzCi0odXRlcyBhcmUpLS4yIEYgMi42NjQocHJpbnRlZC4gSWYpMTQ0IDI3My42IFIodGhlKTIuNjY0IEUgRjIoZXh0ZGViKQotMi42NjQgRSh1ZyktLjIgRSBGMCAuMTY0KHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkIHVzaW5nKTIuNjY0IEYgRjIoc2hvcHQpCi0yLjY2NCBFIEYwIDIuNjY0KCx0KUMgLjE2MyhoZSBzb3VyY2UgXDIxNGxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyKS0yLjY2NAotRiAxLjM4Mih3aGVyZSB0aGUgZnVuY3Rpb24gaXMgZGVcMjE0bmVkIGFyZSBkaXNwbGF5ZWQgYXMgd2VsbC4pMTQ0IDI4NS42Ci1SKFRoZSk2LjM4MiBFIEYyPGFkNDY+My44ODIgRSBGMCAxLjM4MihvcHRpb24gaW1wbGllcykzLjg4MiBGIEYyPGFkNjY+Ci0zLjg4MiBFIEYwIDYuMzgyKC5UKUMgMS4zODIoaGUgZm9sbG8pLTYuMzgyIEYod2luZyktLjI1IEUgLjc5NAotKG9wdGlvbnMgY2FuIGJlIHVzZWQgdG8gcmVzdHJpY3Qgb3V0cHV0IHRvIHYpMTQ0IDI5Ny42IFIgLjc5NAotKGFyaWFibGVzIHdpdGggdGhlIHNwZWNpXDIxNGVkIGF0dHJpYiktLjI1IEYgLjc5Myh1dGUgb3IgdG8gZ2kpLS4yIEYKLTEuMDkzIC0uMTUodmUgdiktLjI1IEgoYXJpYWJsZXMpLS4xIEUoYXR0cmliKTE0NCAzMDkuNiBRKHV0ZXM6KS0uMiBFIEYyCi08YWQ2MT4xNDQgMzIxLjYgUSBGMChFYWNoKTI1LjMgRSBGMShuYW1lKTIuNSBFIEYwKGlzIGFuIGluZGUpMi41IEUgLS4xNQotKHhlKS0uMTUgRyAyLjUoZGEpLjE1IEcocnJheSB2KS0yLjUgRShhcmlhYmxlIFwoc2VlKS0uMjUgRSBGMihBcnJheXMpMi41Ci1FIEYwKGFibykyLjUgRSAtLjE1KHZlKS0uMTUgRyhcKS4pLjE1IEUgRjI8YWQ0MT4xNDQgMzMzLjYgUSBGMChFYWNoKQotMjMuMDggRSBGMShuYW1lKTIuNSBFIEYwKGlzIGFuIGFzc29jaWF0aSkyLjUgRSAuMyAtLjE1KHZlIGEpLS4yNSBICi0ocnJheSB2KS4xNSBFKGFyaWFibGUgXChzZWUpLS4yNSBFIEYyKEFycmF5cykyLjUgRSBGMChhYm8pMi41IEUgLS4xNSh2ZSkKLS0uMTUgRyhcKS4pLjE1IEUgRjI8YWQ2Nj4xNDQgMzQ1LjYgUSBGMChVc2UgZnVuY3Rpb24gbmFtZXMgb25seSkyNi45NyBFCi0oLiktLjY1IEUgRjI8YWQ2OT4xNDQgMzU3LjYgUSBGMCAuNTU3KFRoZSB2KTI3LjUyIEYgLjU1OAotKGFyaWFibGUgaXMgdHJlYXRlZCBhcyBhbiBpbnRlKS0uMjUgRiAuNTU4KGdlcjsgYXJpdGhtZXRpYyBlKS0uMTUgRiAtLjI1Ci0odmEpLS4yNSBHIC41NTgobHVhdGlvbiBcKHNlZSkuMjUgRi9GNCA5L1RpbWVzLUJvbGRAMCBTRiAuNTU4Ci0oQVJJVEhNRVRJQyBFVikzLjA1OCBGKEFMVSktMS4yMTUgRShBLSktLjU0IEUoVElPTikxODAgMzY5LjYgUSBGMChhYm8pCi0yLjI1IEUgLS4xNSh2ZSktLjE1IEcgMi41KFwpaSkuMTUgRyAyLjUoc3ApLTIuNSBHKGVyZm9ybWVkIHdoZW4gdGhlIHYpCi0tMi41IEUoYXJpYWJsZSBpcyBhc3NpZ25lZCBhIHYpLS4yNSBFKGFsdWUuKS0uMjUgRSBGMjxhZDZjPjE0NCAzODEuNiBRCi1GMCAuOTEoV2hlbiB0aGUgdikyNy41MiBGIC45MDkoYXJpYWJsZSBpcyBhc3NpZ25lZCBhIHYpLS4yNSBGIC45MDkKLShhbHVlLCBhbGwgdXBwZXIpLS4yNSBGIC45MDkoLWNhc2UgY2hhcmFjdGVycyBhcmUgY29uKS0uMiBGIC0uMTUodmUpLS40Ci1HIC45MDkocnRlZCB0byBsbykuMTUgRih3ZXIpLS4yNSBFKC0pLS4yIEUgMi41KGNhc2UuIFRoZSkxODAgMzkzLjYgUgotKHVwcGVyKTIuNSBFKC1jYXNlIGF0dHJpYiktLjIgRSh1dGUgaXMgZGlzYWJsZWQuKS0uMiBFIEYyPGFkNzI+MTQ0IDQwNS42Ci1RIEYwKE1haykyNS44NiBFKGUpLS4xIEUgRjEobmFtZSk1LjA0NiBFIEYwIDUuMDQ2KHNyKUMoZWFkb25seSktNS4wNDYgRQotNy41NDYoLlQpLS42NSBHIDIuNTQ2KGhlc2UgbmFtZXMgY2Fubm90IHRoZW4gYmUgYXNzaWduZWQgdiktNy41NDYgRgotMi41NDcoYWx1ZXMgYnkgc3Vic2VxdWVudCktLjI1IEYoYXNzaWdubWVudCBzdGF0ZW1lbnRzIG9yIHVuc2V0LikxODAKLTQxNy42IFEgRjI8YWQ3ND4xNDQgNDI5LjYgUSBGMChHaSkyNi45NyBFIC43MyAtLjE1KHZlIGUpLS4yNSBIKGFjaCkuMTUgRQotRjEobmFtZSkyLjkzIEUgRjAodGhlKTIuOTI5IEUgRjEodHIpMi45MjkgRShhY2UpLS4xNSBFIEYwKGF0dHJpYikyLjkyOSBFCi0yLjkyOSh1dGUuIFQpLS4yIEYgLjQyOShyYWNlZCBmdW5jdGlvbnMgaW5oZXJpdCB0aGUpLS4zNSBGIEYyKERFQikyLjkyOQotRShVRyktLjEgRSBGMChhbmQpMi45MjkgRSBGMihSRVRVUk4pMi45MjkgRSBGMAotKHRyYXBzIGZyb20gdGhlIGNhbGxpbmcgc2hlbGwuKTE4MCA0NDEuNiBRKFRoZSB0cmFjZSBhdHRyaWIpNSBFCi0odXRlIGhhcyBubyBzcGVjaWFsIG1lYW5pbmcgZm9yIHYpLS4yIEUoYXJpYWJsZXMuKS0uMjUgRSBGMjxhZDc1PjE0NAotNDUzLjYgUSBGMCAuOTA5KFdoZW4gdGhlIHYpMjQuNzQgRiAuOTA5KGFyaWFibGUgaXMgYXNzaWduZWQgYSB2KS0uMjUgRgotLjkwOShhbHVlLCBhbGwgbG8pLS4yNSBGKHdlciktLjI1IEUgLjkwOSgtY2FzZSBjaGFyYWN0ZXJzIGFyZSBjb24pLS4yIEYKLS0uMTUodmUpLS40IEcgLjkxKHJ0ZWQgdG8gdXBwZXIpLjE1IEYoLSktLjIgRSAyLjUoY2FzZS4gVGhlKTE4MCA0NjUuNiBSCi0obG8pMi41IEUod2VyKS0uMjUgRSgtY2FzZSBhdHRyaWIpLS4yIEUodXRlIGlzIGRpc2FibGVkLiktLjIgRSBGMjxhZDc4PgotMTQ0IDQ3Ny42IFEgRjAoTWFyaykyNS4zIEUgRjEobmFtZSkyLjUgRSBGMCAyLjUoc2YpQyhvciBlKS0yLjUgRQotKHhwb3J0IHRvIHN1YnNlcXVlbnQgY29tbWFuZHMgdmlhIHRoZSBlbiktLjE1IEUodmlyb25tZW50LiktLjQgRSAuMTIxCi0oVXNpbmcgYCsnIGluc3RlYWQgb2YgYFwyNTUnIHR1cm5zIG9mKTE0NCA0OTQuNCBSIDIuNjIxKGZ0KS0uMjUgRyAuMTIxCi0oaGUgYXR0cmliKS0yLjYyMSBGIC4xMjEodXRlIGluc3RlYWQsIHdpdGggdGhlIGUpLS4yIEYgLjEyCi0oeGNlcHRpb25zIHRoYXQpLS4xNSBGIEYyKCthKTIuNjIgRSBGMCAuMTIobWF5IG5vdCBiZSB1c2VkKTIuNjIgRiAuNjQ0Ci0odG8gZGVzdHJvKTE0NCA1MDYuNCBSIDMuMTQ0KHlhKS0uMSBHIDMuMTQ0KG5hKS0zLjE0NCBHIC42NDQocnJheSB2KQotLTMuMTQ0IEYgLjY0NChhcmlhYmxlIGFuZCktLjI1IEYgRjIoK3IpMy4xNDUgRSBGMCAuNjQ1KHdpbGwgbm90IHJlbW8pCi0zLjE0NSBGIC45NDUgLS4xNSh2ZSB0KS0uMTUgSCAuNjQ1KGhlIHJlYWRvbmx5IGF0dHJpYikuMTUgRiAzLjE0NQotKHV0ZS4gV2hlbiktLjIgRiAuNjQ1KHVzZWQgaW4gYSBmdW5jLSkzLjE0NSBGIDEuOTQ1KHRpb24sIG1haykxNDQgNTE4LjQKLVIgMS45NDUoZXMgZWFjaCktLjEgRiBGMShuYW1lKTQuNDQ1IEUgRjAgMS45NDUobG9jYWwsIGFzIHdpdGggdGhlKTQuNDQ1Ci1GIEYyKGxvY2FsKTQuNDQ0IEUgRjAgNC40NDQoY29tbWFuZC4gSWYpNC40NDQgRiA0LjQ0NChhdik0LjQ0NCBHIDEuOTQ0Ci0oYXJpYWJsZSBuYW1lIGlzIGZvbGxvKS00LjY5NCBGIDEuOTQ0KHdlZCBieSktLjI1IEYoPSkxNDQgNTMwLjQgUSBGMQotKHZhbHVlKUEgRjAgMy4yMzgoLHQpQyAuNzM4KGhlIHYpLTMuMjM4IEYgLjczOChhbHVlIG9mIHRoZSB2KS0uMjUgRiAuNzM4Ci0oYXJpYWJsZSBpcyBzZXQgdG8pLS4yNSBGIEYxKHZhbHVlKTMuMjM4IEUgRjAgNS43MzgoLlQpQyAuNzM4Ci0oaGUgcmV0dXJuIHYpLTUuNzM4IEYgLjczOShhbHVlIGlzIDAgdW5sZXNzIGFuIGluKS0uMjUgRiAtLjI1KHZhKS0uNCBHCi0uNzM5KGxpZCBvcHRpb24gaXMpLjI1IEYgLjYwMwotKGVuY291bnRlcmVkLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGVcMjE0bmUgYSBmdW5jdGlvbiB1c2luZykxNDQgNTQyLjQKLVIvRjUgMTAvQ291cmllckAwIFNGIC42MDMoXDI1NWYgZm9vPWJhcikzLjEwMyBGIEYwIDMuMTAzKCxhKUMgMy4xMDMobmEpCi0tMy4xMDMgRyAuNjAzKHR0ZW1wdCBpcyBtYWRlIHRvKS0zLjEwMyBGIDEuMjQyKGFzc2lnbiBhIHYpMTQ0IDU1NC40IFIKLTEuMjQyKGFsdWUgdG8gYSByZWFkb25seSB2KS0uMjUgRiAxLjI0MgotKGFyaWFibGUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBhc3NpZ24gYSB2KS0uMjUgRiAxLjI0MwotKGFsdWUgdG8gYW4gYXJyYXkgdiktLjI1IEYoYXJpYWJsZSktLjI1IEUgMS4zODYKLSh3aXRob3V0IHVzaW5nIHRoZSBjb21wb3VuZCBhc3NpZ25tZW50IHN5bnRheCBcKHNlZSkxNDQgNTY2LjQgUiBGMgotKEFycmF5cykzLjg4NiBFIEYwKGFibykzLjg4NiBFIC0uMTUodmUpLS4xNSBHIDEuMzg2KFwpLCBvbmUgb2YgdGhlKS4xNSBGCi1GMShuYW1lcykzLjg4NiBFIEYwIDEuMzg2KGlzIG5vdCBhKTMuODg2IEYgLS4yNSh2YSkxNDQgNTc4LjQgUyAuMTcxCi0obGlkIHNoZWxsIHYpLjI1IEYgLjE3MShhcmlhYmxlIG5hbWUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIG9mKS0uMjUKLUYgMi42NzEoZnIpLS4yNSBHIC4xNzEoZWFkb25seSBzdGF0dXMgZm9yIGEgcmVhZG9ubHkgdiktMi42NzEgRiAuMTcyCi0oYXJpYWJsZSwgYW4pLS4yNSBGIC45NihhdHRlbXB0IGlzIG1hZGUgdG8gdHVybiBvZikxNDQgNTkwLjQgUiAzLjQ2KGZhKQotLS4yNSBHIC45NihycmF5IHN0YXR1cyBmb3IgYW4gYXJyYXkgdiktMy40NiBGIC45NgotKGFyaWFibGUsIG9yIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkaXNwbGF5IGEpLS4yNSBGKG5vbi1lKTE0NCA2MDIuNCBRCi0oeGlzdGVudCBmdW5jdGlvbiB3aXRoKS0uMTUgRSBGMjxhZDY2PjIuNSBFIEYwKC4pQSBGMihkaXJzIFsrKTEwOCA2MTkuMgotUSBGMShuKUEgRjIgMi41KF1bKUM8YWQ+LTIuNSBFIEYxKG4pQSBGMiAyLjUoXVspQyhcMjU1Y3Bsdl0pLTIuNSBFIEYwCi0tLjQoV2kpMTQ0IDYzMS4yIFMgLjMyOAotKHRob3V0IG9wdGlvbnMsIGRpc3BsYXlzIHRoZSBsaXN0IG9mIGN1cnJlbnRseSByZW1lbWJlcmVkIGRpcmVjdG9yaWVzLikKLS40IEYgLjMyOShUaGUgZGVmKTUuMzI5IEYgLjMyOShhdWx0IGRpc3BsYXkgaXMgb24gYSktLjEgRiAxLjIzOAotKHNpbmdsZSBsaW5lIHdpdGggZGlyZWN0b3J5IG5hbWVzIHNlcGFyYXRlZCBieSBzcGFjZXMuKTE0NCA2NDMuMiBSIDEuMjM4Ci0oRGlyZWN0b3JpZXMgYXJlIGFkZGVkIHRvIHRoZSBsaXN0IHdpdGggdGhlKTYuMjM4IEYgRjIocHVzaGQpMTQ0IDY1NS4yIFEKLUYwKGNvbW1hbmQ7IHRoZSkyLjUgRSBGMihwb3BkKTIuNSBFIEYwKGNvbW1hbmQgcmVtbykyLjUgRSAtLjE1KHZlKS0uMTUgRwotMi41KHNlKS4xNSBHKG50cmllcyBmcm9tIHRoZSBsaXN0LiktMi41IEUgRjIoKykxNDQgNjY3LjIgUSBGMShuKUEgRjAKLTEuNTY0KERpc3BsYXlzIHRoZSkyNS4zIEYgRjEobik0LjA2NCBFIEYwIDEuNTY1Ci0odGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG8pQiAxLjU2NSh3biBieSktLjI1IEYgRjIKLShkaXJzKTQuMDY1IEUgRjAgMS41NjUod2hlbiBpbik0LjA2NSBGIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyhkKS4xIEUKLSh3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4pMTgwIDY3OS4yIFEgRjI8YWQ+MTQ0IDY5MS4yIFEgRjEKLShuKUEgRjAgMS4xOTQoRGlzcGxheXMgdGhlKTI1LjMgRiBGMShuKTMuNjk0IEUgRjAgMS4xOTQKLSh0aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG8pQiAxLjE5NCh3biBieSktLjI1IEYKLUYyKGRpcnMpMy42OTQgRSBGMCAxLjE5NCh3aGVuIGluKTMuNjk0IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQpLjEgRQotKHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLikxODAgNzAzLjIgUSBGMjxhZDYzPjE0NCA3MTUuMiBRIEYwCi0oQ2xlYXJzIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbnRyaWVzLikyNS44NiBFCi0oR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDUzKTE4NS45NTUgRSAwIENnIEVQCisoeGlzdHMsIG9yIGFuIG91dHB1dCBlcnJvciBvY2N1cnMuKS0uMTUgRSBGMShjb250aW51ZSkxMDggNjc0LjQgUSBGMChbKQorMi41IEUgRjIobilBIEYwKF0pQSAxLjc1MyhSZXN1bWUgdGhlIG5lKTE0NCA2ODYuNCBSIDEuNzUzCisoeHQgaXRlcmF0aW9uIG9mIHRoZSBlbmNsb3NpbmcpLS4xNSBGIEYxIC0uMjUoZm8pNC4yNTQgRyhyKS4yNSBFIEYwKCwpQQorRjEod2hpbGUpNC4yNTQgRSBGMCgsKUEgRjEodW50aWwpNC4yNTQgRSBGMCA0LjI1NCgsbylDKHIpLTQuMjU0IEUgRjEKKyhzZWxlY3QpNC4yNTQgRSBGMCA0LjI1NChsb29wLiBJZik0LjI1NCBGIEYyKG4pNC42MTQgRSBGMCAxLjc1NAorKGlzIHNwZWNpXDIxNGVkLCk0LjQ5NCBGIDEuMjA5KHJlc3VtZSBhdCB0aGUpMTQ0IDY5OC40IFIgRjIobikzLjcwOSBFIEYwCisxLjIwOSh0aCBlbmNsb3NpbmcgbG9vcC4pQiBGMihuKTYuNTY5IEUgRjAgMS4yMDkobXVzdCBiZSkzLjk0OSBGL0Y0IDEwCisvU3ltYm9sIFNGPGIzPjMuNzA5IEUgRjAgMy43MDkoMS4gSWYpMy43MDkgRiBGMihuKTQuMDY5IEUgRjAgMS4yMDkKKyhpcyBncmVhdGVyIHRoYW4gdGhlIG51bWJlciBvZiBlbmNsb3NpbmcpMy45NDkgRiAuNTEzCisobG9vcHMsIHRoZSBsYXN0IGVuY2xvc2luZyBsb29wIFwodGhlIGApMTQ0IDcxMC40IFIoYHRvcC1sZSktLjc0IEUgLS4xNQorKHZlKS0uMjUgRyhsJykuMTUgRSAzLjAxMygnbCktLjc0IEcgLjUxMyhvb3BcKSBpcyByZXN1bWVkLiktMy4wMTMgRiAuNTE0CisoVGhlIHJldHVybiB2KTUuNTE0IEYgLjUxNChhbHVlIGlzIDAgdW5sZXNzKS0uMjUgRiBGMihuKTMuMDE0IEUgRjAoaXMpCiszLjAxNCBFKG5vdCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4pMTQ0IDcyMi40IFEoR05VIEJhc2gtNC4yKTcyIDc2OAorUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSg1MykxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA1NCA1NAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0Y8YWQ2Yz4xNDQgODQgUSBGMCAuMzI0Ci0oUHJvZHVjZXMgYSBsb25nZXIgbGlzdGluZzsgdGhlIGRlZikyNy41MiBGIC4zMjQKLShhdWx0IGxpc3RpbmcgZm9ybWF0IHVzZXMgYSB0aWxkZSB0byBkZW5vdGUgdGhlIGhvbWUgZGlyZWMtKS0uMSBGKHRvcnkpCi0xODAgOTYgUSguKS0uNjUgRSBGMTxhZDcwPjE0NCAxMDggUSBGMAorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihkZWNsYXIpMTA4IDg0IFEoZSktLjE4IEUgRjAoWykyLjUgRSBGMQorKFwyNTVhQWZGZ2lscnR1eClBIEYwIDIuNShdWylDIEYxPGFkNzA+LTIuNSBFIEYwIDIuNShdWylDL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YobmFtZSktMi41IEUgRjAoWz0pQSBGMih2YWx1ZSlBIEYwIDIuNShdLilDKC4uXSktMi41IEUKK0YxKHR5cGVzZXQpMTA4IDk2IFEgRjAoWykyLjUgRSBGMShcMjU1YUFmRmdpbHJ0dXgpQSBGMCAyLjUoXVspQyBGMTxhZDcwPgorLTIuNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjIodmFsdWUpQSBGMCAyLjUoXS4pQyguLl0pCistMi41IEUgMS4yNjUoRGVjbGFyZSB2KTE0NCAxMDggUiAxLjI2NShhcmlhYmxlcyBhbmQvb3IgZ2kpLS4yNSBGIDEuNTY1CistLjE1KHZlIHQpLS4yNSBIIDEuMjY1KGhlbSBhdHRyaWIpLjE1IEYgMy43NjUodXRlcy4gSWYpLS4yIEYobm8pMy43NjUgRQorRjIobmFtZSkzLjc2NSBFIEYwIDMuNzY1KHNhKUMgMS4yNjUocmUgZ2kpLTMuNzY1IEYgLS4xNSh2ZSktLjI1IEcgMy43NjQKKyhudCkuMTUgRyAxLjI2NChoZW4gZGlzcGxheSB0aGUgdiktMy43NjQgRiAxLjI2NChhbHVlcyBvZiktLjI1IEYgLS4yNQorKHZhKTE0NCAxMjAgUyAzLjQ4MihyaWFibGVzLiBUaGUpLjI1IEYgRjE8YWQ3MD4zLjQ4MiBFIEYwIC45ODIKKyhvcHRpb24gd2lsbCBkaXNwbGF5IHRoZSBhdHRyaWIpMy40ODIgRiAuOTgyKHV0ZXMgYW5kIHYpLS4yIEYgLjk4MworKGFsdWVzIG9mIGVhY2gpLS4yNSBGIEYyKG5hbWUpMy40ODMgRSBGMCA1Ljk4MyguVykuMTggRyhoZW4pLTUuOTgzIEUgRjEKKzxhZDcwPjMuNDgzIEUgRjAgLjk4MyhpcyB1c2VkKTMuNDgzIEYod2l0aCkxNDQgMTMyIFEgRjIobmFtZSkzLjU4IEUgRjAKKyhhcikzLjU4IEUgMS4wNzkoZ3VtZW50cywgYWRkaXRpb25hbCBvcHRpb25zIGFyZSBpZ25vcmVkLiktLjE4IEYoV2hlbikKKzYuMDc5IEUgRjE8YWQ3MD4zLjU3OSBFIEYwIDEuMDc5KGlzIHN1cHBsaWVkIHdpdGhvdXQpMy41NzkgRiBGMihuYW1lKQorMy41NzkgRSBGMChhcikzLjU3OSBFKGd1LSktLjE4IEUgLjE1KG1lbnRzLCBpdCB3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYikKKzE0NCAxNDQgUiAuMTUodXRlcyBhbmQgdiktLjIgRiAuMTUxKGFsdWVzIG9mIGFsbCB2KS0uMjUgRiAuMTUxCisoYXJpYWJsZXMgaGEpLS4yNSBGIC4xNTEodmluZyB0aGUgYXR0cmliKS0uMiBGIC4xNTEKKyh1dGVzIHNwZWNpXDIxNGVkIGJ5IHRoZSktLjIgRiAuMDQ3KGFkZGl0aW9uYWwgb3B0aW9ucy4pMTQ0IDE1NiBSIC4wNDcKKyhJZiBubyBvdGhlciBvcHRpb25zIGFyZSBzdXBwbGllZCB3aXRoKTUuMDQ3IEYgRjE8YWQ3MD4yLjU0NyBFIEYwKCwpQSBGMQorKGRlY2xhcikyLjU0NyBFKGUpLS4xOCBFIEYwIC4wNDYod2lsbCBkaXNwbGF5IHRoZSBhdHRyaWIpMi41NDYgRiAuMDQ2CisodXRlcyBhbmQpLS4yIEYgLS4yNSh2YSkxNDQgMTY4IFMgMS4zNjIobHVlcyBvZiBhbGwgc2hlbGwgdikuMjUgRiAzLjg2MgorKGFyaWFibGVzLiBUaGUpLS4yNSBGIEYxPGFkNjY+My44NjIgRSBGMCAxLjM2MworKG9wdGlvbiB3aWxsIHJlc3RyaWN0IHRoZSBkaXNwbGF5IHRvIHNoZWxsIGZ1bmN0aW9ucy4pMy44NjIgRihUaGUpNi4zNjMKK0UgRjE8YWQ0Nj4zLjg2MyBFIEYwIDIuNDIyKG9wdGlvbiBpbmhpYml0cyB0aGUgZGlzcGxheSBvZiBmdW5jdGlvbiBkZVwKK1wyMTRuaXRpb25zOyBvbmx5IHRoZSBmdW5jdGlvbiBuYW1lIGFuZCBhdHRyaWIpMTQ0IDE4MCBSIDIuNDIyKHV0ZXMgYXJlKQorLS4yIEYgMi42NjMocHJpbnRlZC4gSWYpMTQ0IDE5MiBSKHRoZSkyLjY2MyBFIEYxKGV4dGRlYikyLjY2MyBFKHVnKS0uMiBFCitGMCAuMTY0KHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkIHVzaW5nKTIuNjYzIEYgRjEoc2hvcHQpMi42NjQgRSBGMCAyLjY2NAorKCx0KUMgLjE2NChoZSBzb3VyY2UgXDIxNGxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyKS0yLjY2NCBGIDEuMjg4Cisod2hlcmUgdGhlIGZ1bmN0aW9uIGlzIGRlXDIxNG5lZCBhcmUgZGlzcGxheWVkIGFzIHdlbGwuKTE0NCAyMDQgUihUaGUpCis2LjI4OCBFIEYxPGFkNDY+My43ODggRSBGMCAxLjI4OChvcHRpb24gaW1wbGllcykzLjc4OCBGIEYxPGFkNjY+My43ODggRQorRjAgNi4yODgoLlQpQyhoZSktNi4yODggRSBGMTxhZDY3PjMuNzg4IEUgRjAob3B0aW9uKTMuNzg4IEUgLjQ5CisoZm9yY2VzIHYpMTQ0IDIxNiBSIC40OQorKGFyaWFibGVzIHRvIGJlIGNyZWF0ZWQgb3IgbW9kaVwyMTRlZCBhdCB0aGUgZ2xvYmFsIHNjb3BlLCBlKS0uMjUgRiAtLjE1CisodmUpLS4yNSBHIDIuOTkxKG53KS4xNSBHKGhlbiktMi45OTEgRSBGMShkZWNsYXIpMi45OTEgRShlKS0uMTggRSBGMAorLjQ5MShpcyBlKTIuOTkxIEYgLS4xNSh4ZSktLjE1IEcgLjQ5MShjdXRlZCBpbiBhKS4xNSBGIC4xMjUKKyhzaGVsbCBmdW5jdGlvbi4pMTQ0IDIyOCBSIC4xMjUoSXQgaXMgaWdub3JlZCBpbiBhbGwgb3RoZXIgY2FzZXMuKTUuMTI1CitGIC4xMjUoVGhlIGZvbGxvKTUuMTI1IEYgLjEyNAorKHdpbmcgb3B0aW9ucyBjYW4gYmUgdXNlZCB0byByZXN0cmljdCBvdXRwdXQpLS4yNSBGKHRvIHYpMTQ0IDI0MCBRCisoYXJpYWJsZXMgd2l0aCB0aGUgc3BlY2lcMjE0ZWQgYXR0cmliKS0uMjUgRSh1dGUgb3IgdG8gZ2kpLS4yIEUgLjMgLS4xNQorKHZlIHYpLS4yNSBIKGFyaWFibGVzIGF0dHJpYiktLjEgRSh1dGVzOiktLjIgRSBGMTxhZDYxPjE0NCAyNTIgUSBGMAorKEVhY2gpMjUuMyBFIEYyKG5hbWUpMi41IEUgRjAoaXMgYW4gaW5kZSkyLjUgRSAtLjE1KHhlKS0uMTUgRyAyLjUoZGEpLjE1CitHKHJyYXkgdiktMi41IEUoYXJpYWJsZSBcKHNlZSktLjI1IEUgRjEoQXJyYXlzKTIuNSBFIEYwKGFibykyLjUgRSAtLjE1CisodmUpLS4xNSBHKFwpLikuMTUgRSBGMTxhZDQxPjE0NCAyNjQgUSBGMChFYWNoKTIzLjA4IEUgRjIobmFtZSkyLjUgRSBGMAorKGlzIGFuIGFzc29jaWF0aSkyLjUgRSAuMyAtLjE1KHZlIGEpLS4yNSBIKHJyYXkgdikuMTUgRShhcmlhYmxlIFwoc2VlKQorLS4yNSBFIEYxKEFycmF5cykyLjUgRSBGMChhYm8pMi41IEUgLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxPGFkNjY+MTQ0CisyNzYgUSBGMChVc2UgZnVuY3Rpb24gbmFtZXMgb25seSkyNi45NyBFKC4pLS42NSBFIEYxPGFkNjk+MTQ0IDI4OCBRIEYwCisuNTU3KFRoZSB2KTI3LjUyIEYgLjU1OChhcmlhYmxlIGlzIHRyZWF0ZWQgYXMgYW4gaW50ZSktLjI1IEYgLjU1OAorKGdlcjsgYXJpdGhtZXRpYyBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRyAuNTU4KGx1YXRpb24gXChzZWUpLjI1IEYvRjMgOQorL1RpbWVzLUJvbGRAMCBTRiAuNTU4KEFSSVRITUVUSUMgRVYpMy4wNTggRihBTFUpLTEuMjE1IEUoQS0pLS41NCBFKFRJT04pCisxODAgMzAwIFEgRjAoYWJvKTIuMjUgRSAtLjE1KHZlKS0uMTUgRyAyLjUoXClpKS4xNSBHIDIuNShzcCktMi41IEcKKyhlcmZvcm1lZCB3aGVuIHRoZSB2KS0yLjUgRShhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdiktLjI1IEUoYWx1ZS4pLS4yNSBFCitGMTxhZDZjPjE0NCAzMTIgUSBGMCAuOTEoV2hlbiB0aGUgdikyNy41MiBGIC45MDkKKyhhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdiktLjI1IEYgLjkwOShhbHVlLCBhbGwgdXBwZXIpLS4yNSBGIC45MDkKKygtY2FzZSBjaGFyYWN0ZXJzIGFyZSBjb24pLS4yIEYgLS4xNSh2ZSktLjQgRyAuOTA5KHJ0ZWQgdG8gbG8pLjE1IEYod2VyKQorLS4yNSBFKC0pLS4yIEUgMi41KGNhc2UuIFRoZSkxODAgMzI0IFIodXBwZXIpMi41IEUoLWNhc2UgYXR0cmliKS0uMiBFCisodXRlIGlzIGRpc2FibGVkLiktLjIgRSBGMTxhZDcyPjE0NCAzMzYgUSBGMChNYWspMjUuODYgRShlKS0uMSBFIEYyCisobmFtZSk1LjA0NiBFIEYwIDUuMDQ2KHNyKUMoZWFkb25seSktNS4wNDYgRSA3LjU0NiguVCktLjY1IEcgMi41NDYKKyhoZXNlIG5hbWVzIGNhbm5vdCB0aGVuIGJlIGFzc2lnbmVkIHYpLTcuNTQ2IEYgMi41NDcKKyhhbHVlcyBieSBzdWJzZXF1ZW50KS0uMjUgRihhc3NpZ25tZW50IHN0YXRlbWVudHMgb3IgdW5zZXQuKTE4MCAzNDggUSBGMQorPGFkNzQ+MTQ0IDM2MCBRIEYwKEdpKTI2Ljk3IEUgLjczIC0uMTUodmUgZSktLjI1IEgoYWNoKS4xNSBFIEYyKG5hbWUpCisyLjkzIEUgRjAodGhlKTIuOTI5IEUgRjIodHIpMi45MjkgRShhY2UpLS4xNSBFIEYwKGF0dHJpYikyLjkyOSBFIDIuOTI5CisodXRlLiBUKS0uMiBGIC40MjkocmFjZWQgZnVuY3Rpb25zIGluaGVyaXQgdGhlKS0uMzUgRiBGMShERUIpMi45MjkgRShVRykKKy0uMSBFIEYwKGFuZCkyLjkyOSBFIEYxKFJFVFVSTikyLjkyOSBFIEYwKHRyYXBzIGZyb20gdGhlIGNhbGxpbmcgc2hlbGwuKQorMTgwIDM3MiBRKFRoZSB0cmFjZSBhdHRyaWIpNSBFKHV0ZSBoYXMgbm8gc3BlY2lhbCBtZWFuaW5nIGZvciB2KS0uMiBFCisoYXJpYWJsZXMuKS0uMjUgRSBGMTxhZDc1PjE0NCAzODQgUSBGMCAuOTA5KFdoZW4gdGhlIHYpMjQuNzQgRiAuOTA5CisoYXJpYWJsZSBpcyBhc3NpZ25lZCBhIHYpLS4yNSBGIC45MDkoYWx1ZSwgYWxsIGxvKS0uMjUgRih3ZXIpLS4yNSBFIC45MDkKKygtY2FzZSBjaGFyYWN0ZXJzIGFyZSBjb24pLS4yIEYgLS4xNSh2ZSktLjQgRyAuOTEocnRlZCB0byB1cHBlcikuMTUgRigtKQorLS4yIEUgMi41KGNhc2UuIFRoZSkxODAgMzk2IFIobG8pMi41IEUod2VyKS0uMjUgRSgtY2FzZSBhdHRyaWIpLS4yIEUKKyh1dGUgaXMgZGlzYWJsZWQuKS0uMiBFIEYxPGFkNzg+MTQ0IDQwOCBRIEYwKE1hcmspMjUuMyBFIEYyKG5hbWUpMi41IEUKK0YwIDIuNShzZilDKG9yIGUpLTIuNSBFKHhwb3J0IHRvIHN1YnNlcXVlbnQgY29tbWFuZHMgdmlhIHRoZSBlbiktLjE1IEUKKyh2aXJvbm1lbnQuKS0uNCBFIC4xMjEoVXNpbmcgYCsnIGluc3RlYWQgb2YgYFwyNTUnIHR1cm5zIG9mKTE0NCA0MjQuOCBSCisyLjYyMShmdCktLjI1IEcgLjEyMShoZSBhdHRyaWIpLTIuNjIxIEYgLjEyMSh1dGUgaW5zdGVhZCwgd2l0aCB0aGUgZSktLjIKK0YgLjEyKHhjZXB0aW9ucyB0aGF0KS0uMTUgRiBGMSgrYSkyLjYyIEUgRjAgLjEyKG1heSBub3QgYmUgdXNlZCkyLjYyIEYKKy42NDQodG8gZGVzdHJvKTE0NCA0MzYuOCBSIDMuMTQ0KHlhKS0uMSBHIDMuMTQ0KG5hKS0zLjE0NCBHIC42NDQocnJheSB2KQorLTMuMTQ0IEYgLjY0NChhcmlhYmxlIGFuZCktLjI1IEYgRjEoK3IpMy4xNDUgRSBGMCAuNjQ1KHdpbGwgbm90IHJlbW8pCiszLjE0NSBGIC45NDUgLS4xNSh2ZSB0KS0uMTUgSCAuNjQ1KGhlIHJlYWRvbmx5IGF0dHJpYikuMTUgRiAzLjE0NQorKHV0ZS4gV2hlbiktLjIgRiAuNjQ1KHVzZWQgaW4gYSBmdW5jLSkzLjE0NSBGIDEuMTg2KHRpb24sIG1haykxNDQgNDQ4LjgKK1IgMS4xODYoZXMgZWFjaCktLjEgRiBGMihuYW1lKTMuNjg2IEUgRjAgMS4xODYobG9jYWwsIGFzIHdpdGggdGhlKTMuNjg2CitGIEYxKGxvY2FsKTMuNjg2IEUgRjAgMS4xODYoY29tbWFuZCwgdW5sZXNzIHRoZSkzLjY4NiBGIEYxPGFkNjc+My42ODYgRQorRjAgMS4xODYob3B0aW9uIGlzIHN1cHBsaWVkLCBJZiBhKTMuNjg2IEYgLS4yNSh2YSkxNDQgNDYwLjggUyAuMTE3CisocmlhYmxlIG5hbWUgaXMgZm9sbG8pLjI1IEYgLjExOCh3ZWQgYnkgPSktLjI1IEYgRjIodmFsdWUpQSBGMCAyLjYxOCgsdCkKK0MgLjExOChoZSB2KS0yLjYxOCBGIC4xMTgoYWx1ZSBvZiB0aGUgdiktLjI1IEYgLjExOChhcmlhYmxlIGlzIHNldCB0bykKKy0uMjUgRiBGMih2YWx1ZSkyLjYxOCBFIEYwIDUuMTE4KC5UKUMgLjExOChoZSByZXR1cm4gdiktNS4xMTggRiAuMTE4CisoYWx1ZSBpcyAwKS0uMjUgRiAyLjc5NCh1bmxlc3MgYW4gaW4pMTQ0IDQ3Mi44IFIgLS4yNSh2YSktLjQgRyAyLjc5MyhsaVwKK2Qgb3B0aW9uIGlzIGVuY291bnRlcmVkLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGVcMjE0bmUgYSBmdW5jdGlvbiB1c2luXAorZykuMjUgRi9GNCAxMC9Db3VyaWVyQDAgU0Y8YWQ2Nj41LjI5MyBFKGZvbz1iYXIpMTQ0IDQ4NC44IFEgRjAgMy45OTIoLGEpCitDIDMuOTkzKG5hKS0zLjk5MiBHIDEuNDkzKHR0ZW1wdCBpcyBtYWRlIHRvIGFzc2lnbiBhIHYpLTMuOTkzIEYgMS40OTMKKyhhbHVlIHRvIGEgcmVhZG9ubHkgdiktLjI1IEYgMS40OTMoYXJpYWJsZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvKS0uMjUgRgorMS4xODMoYXNzaWduIGEgdikxNDQgNDk2LjggUiAxLjE4MyhhbHVlIHRvIGFuIGFycmF5IHYpLS4yNSBGIDEuMTgzCisoYXJpYWJsZSB3aXRob3V0IHVzaW5nIHRoZSBjb21wb3VuZCBhc3NpZ25tZW50IHN5bnRheCBcKHNlZSktLjI1IEYgRjEKKyhBcnJheXMpMy42ODIgRSBGMChhYm8pMTQ0IDUwOC44IFEgLS4xNSh2ZSktLjE1IEcgLjA5NihcKSwgb25lIG9mIHRoZSkKKy4xNSBGIEYyKG5hbWVzKTIuNTk3IEUgRjAgLjA5NyhpcyBub3QgYSB2KTIuNTk3IEYgLjA5NyhhbGlkIHNoZWxsIHYpLS4yNQorRiAuMDk3KGFyaWFibGUgbmFtZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIHR1cm4gb2YpLS4yNSBGIDIuNTk3KGZyKS0uMjUKK0coZWFkb25seSktMi41OTcgRSAuNjU5KHN0YXR1cyBmb3IgYSByZWFkb25seSB2KTE0NCA1MjAuOCBSIC42NTgKKyhhcmlhYmxlLCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gdHVybiBvZiktLjI1IEYgMy4xNTgoZmEpLS4yNSBHIC42NTgKKyhycmF5IHN0YXR1cyBmb3IgYW4gYXJyYXkgdiktMy4xNTggRiAuNjU4KGFyaWFibGUsIG9yKS0uMjUgRgorKGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkaXNwbGF5IGEgbm9uLWUpMTQ0IDUzMi44IFEKKyh4aXN0ZW50IGZ1bmN0aW9uIHdpdGgpLS4xNSBFIEYxPGFkNjY+Mi41IEUgRjAoLilBIEYxKGRpcnMgWyspMTA4IDU0OS42CitRIEYyKG4pQSBGMSAyLjUoXVspQzxhZD4tMi41IEUgRjIobilBIEYxIDIuNShdWylDKFwyNTVjbHB2XSktMi41IEUgRjAKKy0uNChXaSkxNDQgNTYxLjYgUyAuMzI4CisodGhvdXQgb3B0aW9ucywgZGlzcGxheXMgdGhlIGxpc3Qgb2YgY3VycmVudGx5IHJlbWVtYmVyZWQgZGlyZWN0b3JpZXMuKQorLjQgRiAuMzI5KFRoZSBkZWYpNS4zMjkgRiAuMzI5KGF1bHQgZGlzcGxheSBpcyBvbiBhKS0uMSBGIDEuMjM4Cisoc2luZ2xlIGxpbmUgd2l0aCBkaXJlY3RvcnkgbmFtZXMgc2VwYXJhdGVkIGJ5IHNwYWNlcy4pMTQ0IDU3My42IFIgMS4yMzgKKyhEaXJlY3RvcmllcyBhcmUgYWRkZWQgdG8gdGhlIGxpc3Qgd2l0aCB0aGUpNi4yMzggRiBGMShwdXNoZCkxNDQgNTg1LjYgUQorRjAoY29tbWFuZDsgdGhlKTIuNSBFIEYxKHBvcGQpMi41IEUgRjAoY29tbWFuZCByZW1vKTIuNSBFIC0uMTUodmUpLS4xNSBHCisyLjUoc2UpLjE1IEcobnRyaWVzIGZyb20gdGhlIGxpc3QuKS0yLjUgRSBGMSgrKTE0NCA1OTcuNiBRIEYyKG4pQSBGMAorMS41NjQoRGlzcGxheXMgdGhlKTI1LjMgRiBGMihuKTQuMDY0IEUgRjAgMS41NjUKKyh0aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNobylCIDEuNTY1KHduIGJ5KS0uMjUgRiBGMQorKGRpcnMpNC4wNjUgRSBGMCAxLjU2NSh3aGVuIGluKTQuMDY1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQpLjEgRQorKHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLikxODAgNjA5LjYgUSBGMTxhZD4xNDQgNjIxLjYgUSBGMgorKG4pQSBGMCAxLjE5NChEaXNwbGF5cyB0aGUpMjUuMyBGIEYyKG4pMy42OTQgRSBGMCAxLjE5NAorKHRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNobylCIDEuMTk0KHduIGJ5KS0uMjUgRgorRjEoZGlycykzLjY5NCBFIEYwIDEuMTk0KHdoZW4gaW4pMy42OTQgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcoZCkuMSBFCisod2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uKTE4MCA2MzMuNiBRIEYxPGFkNjM+MTQ0IDY0NS42IFEgRjAKKyhDbGVhcnMgdGhlIGRpcmVjdG9yeSBzdGFjayBieSBkZWxldGluZyBhbGwgb2YgdGhlIGVudHJpZXMuKTI1Ljg2IEUgRjEKKzxhZDZjPjE0NCA2NTcuNiBRIEYwIC4zMjQoUHJvZHVjZXMgYSBsb25nZXIgbGlzdGluZzsgdGhlIGRlZikyNy41MiBGCisuMzI0KGF1bHQgbGlzdGluZyBmb3JtYXQgdXNlcyBhIHRpbGRlIHRvIGRlbm90ZSB0aGUgaG9tZSBkaXJlYy0pLS4xIEYKKyh0b3J5KTE4MCA2NjkuNiBRKC4pLS42NSBFIEYxPGFkNzA+MTQ0IDY4MS42IFEgRjAKIChQcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lLikyNC43NCBFIEYxPGFkNzY+MTQ0Ci0xMjAgUSBGMCAuMjczKFByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUsIHByZVwKKzY5My42IFEgRjAgLjI3MyhQcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lLCBwcmVcCiBcMjE0eGluZyBlYWNoIGVudHJ5IHdpdGggaXRzIGluZGUpMjUuMyBGIDIuNzcyKHhpKS0uMTUgRyAyLjc3MihudCktMi43NzIKLUcoaGUpLTIuNzcyIEUoc3RhY2suKTE4MCAxMzIgUSAuMjU3KFRoZSByZXR1cm4gdikxNDQgMTQ4LjggUiAuMjU4Ci0oYWx1ZSBpcyAwIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyAuMjU4Ci0obGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvcikuMjUgRi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihuKTIuNzU4IEUgRjAKLShpbmRlKTIuNzU4IEUgLS4xNSh4ZSktLjE1IEcgMi43NTgoc2IpLjE1IEcgLS4xNShleSktMi43NTggRyAuMjU4Ci0ob25kIHRoZSBlbmQgb2YgdGhlIGRpcmVjLSkuMTUgRih0b3J5IHN0YWNrLikxNDQgMTYwLjggUSBGMShkaXNvKTEwOAotMTc3LjYgUSh3biktLjEgRSBGMChbKTIuNSBFIEYxKFwyNTVhcilBIEYwIDIuNShdWylDIEYxPGFkNjg+LTIuNSBFIEYwCi0yLjUoXVspQyBGMihqb2JzcGVjKS0yLjUgRSBGMCguLi5dKTIuNSBFIC0uNChXaSkxNDQgMTg5LjYgUyAuMjk1Ci0odGhvdXQgb3B0aW9ucywgZWFjaCkuNCBGIEYyKGpvYnNwZWMpNC41MzUgRSBGMCAuMjk1KGlzIHJlbW8pMy4xMDUgRgorRyhoZSktMi43NzIgRShzdGFjay4pMTgwIDcwNS42IFEgMS43MDYoVGhlIHJldHVybiB2KTE0NCA3MjIuNCBSIDEuNzA2CisoYWx1ZSBpcyAwIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyAxLjcwNworKGxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IpLjI1IEYgRjIobik0LjIwNyBFIEYwKGluZGUpNC4yMDcgRSAtLjE1KHhlKQorLS4xNSBHIDQuMjA3KHNiKS4xNSBHIC0uMTUoZXkpLTQuMjA3IEcgMS43MDcob25kIHRoZSBlbmQgb2YgdGhlKS4xNSBGCisoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDU0KTE4NS45NTUgRSAwIENnIEVQCislJVBhZ2U6IDU1IDU1CislJUJlZ2luUGFnZVNldHVwCitCUAorJSVFbmRQYWdlU2V0dXAKKy9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQorLS4zNSBFKGRpcmVjdG9yeSBzdGFjay4pMTQ0IDg0IFEvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGRpc28pMTA4IDEwMC44IFEKKyh3biktLjEgRSBGMChbKTIuNSBFIEYxKFwyNTVhcilBIEYwIDIuNShdWylDIEYxPGFkNjg+LTIuNSBFIEYwIDIuNShdWylDCisvRjIgMTAvVGltZXMtSXRhbGljQDAgU0Yoam9ic3BlYyktMi41IEUgRjAoLi4uXSkyLjUgRSAtLjQoV2kpMTQ0IDExMi44IFMKKy4yOTUodGhvdXQgb3B0aW9ucywgZWFjaCkuNCBGIEYyKGpvYnNwZWMpNC41MzUgRSBGMCAuMjk1KGlzIHJlbW8pMy4xMDUgRgogLS4xNSh2ZSktLjE1IEcgMi43OTUoZGYpLjE1IEcgLjI5NShyb20gdGhlIHRhYmxlIG9mIGFjdGkpLTIuNzk1IEYgLjU5NQogLS4xNSh2ZSBqKS0uMjUgSCAyLjc5NShvYnMuIElmKS4xNSBGIEYyKGpvYnNwZWMpNC41MzUgRSBGMCAuMjk1Ci0oaXMgbm90IHByZXNlbnQsKTMuMTA1IEYgLjQyMihhbmQgbmVpdGhlcikxNDQgMjAxLjYgUiBGMTxhZDYxPjIuOTIyIEUgRjAKKyhpcyBub3QgcHJlc2VudCwpMy4xMDUgRiAuNDIyKGFuZCBuZWl0aGVyKTE0NCAxMjQuOCBSIEYxPGFkNjE+Mi45MjIgRSBGMAogKG5vcikyLjkyMiBFIEYxPGFkNzI+Mi45MjIgRSBGMCAuNDIyKGlzIHN1cHBsaWVkLCB0aGUgc2hlbGwnKTIuOTIyIEYKIDIuOTIyKHNuKS0uNTUgRyAuNDIyKG90aW9uIG9mIHRoZSktMi45MjIgRiBGMihjdXJyKTIuOTIzIEUgLjQyMyhlbnQgam9iKQogLS4zNyBGIEYwIC40MjMoaXMgdXNlZC4pMi45MjMgRiAuNDIzKElmIHRoZSk1LjQyMyBGIEYxPGFkNjg+Mi45MjMgRSBGMAotLjQyMyhvcHRpb24gaXMpMi45MjMgRihnaSkxNDQgMjEzLjYgUSAtLjE1KHZlKS0uMjUgRyAuMTQxKG4sIGVhY2gpLjE1IEYKKy40MjMob3B0aW9uIGlzKTIuOTIzIEYoZ2kpMTQ0IDEzNi44IFEgLS4xNSh2ZSktLjI1IEcgLjE0MShuLCBlYWNoKS4xNSBGCiBGMihqb2JzcGVjKTQuMzgxIEUgRjAgLjE0MShpcyBub3QgcmVtbykyLjk1MSBGIC0uMTUodmUpLS4xNSBHIDIuNjQxKGRmKQogLjE1IEcgLjE0MShyb20gdGhlIHRhYmxlLCBiKS0yLjY0MSBGIC4xNDEodXQgaXMgbWFyayktLjIgRiAuMTQxCiAoZWQgc28gdGhhdCktLjEgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihTSUdIVVApMi42NDEgRSBGMCAuMTQKLShpcyBub3Qgc2VudCB0byB0aGUpMi4zOSBGIC4wMDQoam9iIGlmIHRoZSBzaGVsbCByZWNlaSkxNDQgMjI1LjYgUiAtLjE1CisoaXMgbm90IHNlbnQgdG8gdGhlKTIuMzkgRiAuMDA0KGpvYiBpZiB0aGUgc2hlbGwgcmVjZWkpMTQ0IDE0OC44IFIgLS4xNQogKHZlKS0uMjUgRyAyLjUwNChzYSkuMTUgRyBGMyhTSUdIVVApQS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC4wMDQKIChJZiBubyk0LjUwNCBGIEYyKGpvYnNwZWMpNC4yNDQgRSBGMCAuMDA0KGlzIHByZXNlbnQsIGFuZCBuZWl0aGVyIHRoZSkKIDIuODE0IEYgRjE8YWQ2MT4yLjUwNCBFIEYwIC4wMDUobm9yIHRoZSkyLjUwNCBGIEYxPGFkNzI+Mi41MDUgRSBGMCAuMDA1Ci0ob3B0aW9uIGlzKTIuNTA1IEYgMS4yMjkoc3VwcGxpZWQsIHRoZSkxNDQgMjM3LjYgUiBGMihjdXJyKTMuNzI5IEUgMS4yMjkKKyhvcHRpb24gaXMpMi41MDUgRiAxLjIyOShzdXBwbGllZCwgdGhlKTE0NCAxNjAuOCBSIEYyKGN1cnIpMy43MjkgRSAxLjIyOQogKGVudCBqb2IpLS4zNyBGIEYwIDEuMjI5KGlzIHVzZWQuKTMuNzI5IEYgMS4yMjkoSWYgbm8pNi4yMjkgRiBGMgogKGpvYnNwZWMpNS40NjkgRSBGMCAxLjIyOShpcyBzdXBwbGllZCwgdGhlKTQuMDM5IEYgRjE8YWQ2MT4zLjcyOSBFIEYwCiAxLjIyOChvcHRpb24gbWVhbnMgdG8gcmVtbykzLjcyOSBGIDEuNTI4IC0uMTUodmUgbyktLjE1IEgocikuMTUgRSAuNjU2Ci0obWFyayBhbGwgam9iczsgdGhlKTE0NCAyNDkuNiBSIEYxPGFkNzI+My4xNTYgRSBGMCAuNjU3CisobWFyayBhbGwgam9iczsgdGhlKTE0NCAxNzIuOCBSIEYxPGFkNzI+My4xNTYgRSBGMCAuNjU3CiAob3B0aW9uIHdpdGhvdXQgYSkzLjE1NiBGIEYyKGpvYnNwZWMpNC44OTcgRSBGMChhcikzLjQ2NyBFIC42NTcKIChndW1lbnQgcmVzdHJpY3RzIG9wZXJhdGlvbiB0byBydW5uaW5nIGpvYnMuKS0uMTggRihUaGUpNS42NTcgRQotKHJldHVybiB2KTE0NCAyNjEuNiBRKGFsdWUgaXMgMCB1bmxlc3MgYSktLjI1IEUgRjIoam9ic3BlYyk0LjI0IEUgRjAKLShkb2VzIG5vdCBzcGVjaWZ5IGEgdikyLjgxIEUoYWxpZCBqb2IpLS4yNSBFKC4pLS40IEUgRjEoZWNobykxMDggMjc4LjQgUQorKHJldHVybiB2KTE0NCAxODQuOCBRKGFsdWUgaXMgMCB1bmxlc3MgYSktLjI1IEUgRjIoam9ic3BlYyk0LjI0IEUgRjAKKyhkb2VzIG5vdCBzcGVjaWZ5IGEgdikyLjgxIEUoYWxpZCBqb2IpLS4yNSBFKC4pLS40IEUgRjEoZWNobykxMDggMjAxLjYgUQogRjAoWykyLjUgRSBGMShcMjU1bmVFKUEgRjAgMi41KF1bKUMgRjIoYXIpLTIuNSBFKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUKLS4zOTUoT3V0cHV0IHRoZSkxNDQgMjkwLjQgUiBGMihhcikyLjg5NSBFKGcpLS4zNyBFIEYwIC4zOTUKKy4zOTUoT3V0cHV0IHRoZSkxNDQgMjEzLjYgUiBGMihhcikyLjg5NSBFKGcpLS4zNyBFIEYwIC4zOTUKIChzLCBzZXBhcmF0ZWQgYnkgc3BhY2VzLCBmb2xsbylCIC4zOTUod2VkIGJ5IGEgbmUpLS4yNSBGIDIuODk1CiAod2xpbmUuIFRoZSktLjI1IEYgLjM5NChyZXR1cm4gc3RhdHVzIGlzIGFsKTIuODk1IEYgLS4xKHdhKS0uMSBHIC4zOTQKICh5cyAwLikuMSBGKElmKTUuMzk0IEUgRjE8YWQ2ZT4yLjg5NCBFIEYwIC41NDgKLShpcyBzcGVjaVwyMTRlZCwgdGhlIHRyYWlsaW5nIG5lKTE0NCAzMDIuNCBSIC41NDgod2xpbmUgaXMgc3VwcHJlc3NlZC4pCisoaXMgc3BlY2lcMjE0ZWQsIHRoZSB0cmFpbGluZyBuZSkxNDQgMjI1LjYgUiAuNTQ4KHdsaW5lIGlzIHN1cHByZXNzZWQuKQogLS4yNSBGIC41NDgoSWYgdGhlKTUuNTQ4IEYgRjE8YWQ2NT4zLjA0OCBFIEYwIC41NDgob3B0aW9uIGlzIGdpKTMuMDQ4IEYKLS0uMTUodmUpLS4yNSBHIC41NDgobiwgaW50ZXJwcmV0YXRpb24gb2YgdGhlIGZvbC0pLjE1IEYobG8pMTQ0IDMxNC40IFEKKy0uMTUodmUpLS4yNSBHIC41NDgobiwgaW50ZXJwcmV0YXRpb24gb2YgdGhlIGZvbC0pLjE1IEYobG8pMTQ0IDIzNy42IFEKIC4wNTMod2luZyBiYWNrc2xhc2gtZXNjYXBlZCBjaGFyYWN0ZXJzIGlzIGVuYWJsZWQuKS0uMjUgRihUaGUpNS4wNTMgRSBGMQogPGFkNDU+Mi41NTMgRSBGMCAuMDUyKG9wdGlvbiBkaXNhYmxlcyB0aGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlc2UpMi41NTIKLUYgMS41MDIoZXNjYXBlIGNoYXJhY3RlcnMsIGUpMTQ0IDMyNi40IFIgLS4xNSh2ZSktLjI1IEcgNC4wMDIobm8pLjE1IEcKK0YgMS41MDIoZXNjYXBlIGNoYXJhY3RlcnMsIGUpMTQ0IDI0OS42IFIgLS4xNSh2ZSktLjI1IEcgNC4wMDIobm8pLjE1IEcKIDQuMDAyKG5zKS00LjAwMiBHIDEuNTAyKHlzdGVtcyB3aGVyZSB0aGUpLTQuMDAyIEYgNC4wMDIoeWEpLS4xNSBHIDEuNTAyCiAocmUgaW50ZXJwcmV0ZWQgYnkgZGVmKS00LjAwMiBGIDQuMDAzKGF1bHQuIFRoZSktLjEgRiBGMSh4cGdfZWNobyk0LjAwMwogRSBGMChzaGVsbCk0LjAwMyBFIC4wMDkKLShvcHRpb24gbWF5IGJlIHVzZWQgdG8gZHluYW1pY2FsbHkgZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90KTE0NCAzMzguNCBSCisob3B0aW9uIG1heSBiZSB1c2VkIHRvIGR5bmFtaWNhbGx5IGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCkxNDQgMjYxLjYgUgogRjEoZWNobykyLjUwOSBFIEYwIC0uMTUoZXgpMi41MDkgRyAuMDA5KHBhbmRzIHRoZXNlIGVzY2FwZSBjaGFyYWN0ZXJzKQotLjE1IEYgLjY1OShieSBkZWYpMTQ0IDM1MC40IFIoYXVsdC4pLS4xIEUgRjEoZWNobyk1LjY1OSBFIEYwIC42NTkKKy4xNSBGIC42NTkoYnkgZGVmKTE0NCAyNzMuNiBSKGF1bHQuKS0uMSBFIEYxKGVjaG8pNS42NTkgRSBGMCAuNjU5CiAoZG9lcyBub3QgaW50ZXJwcmV0KTMuMTU5IEYgRjE8YWRhZD4zLjE1OSBFIEYwIC42NTkKICh0byBtZWFuIHRoZSBlbmQgb2Ygb3B0aW9ucy4pMy4xNTkgRiBGMShlY2hvKTUuNjYgRSBGMCAuNjYKLShpbnRlcnByZXRzIHRoZSBmb2xsbykzLjE2IEYod2luZyktLjI1IEUoZXNjYXBlIHNlcXVlbmNlczopMTQ0IDM2Mi40IFEKLUYxKFxcYSkxNDQgMzc0LjQgUSBGMChhbGVydCBcKGJlbGxcKSkyOC4yMiBFIEYxKFxcYikxNDQgMzg2LjQgUSBGMAotKGJhY2tzcGFjZSkyNy42NiBFIEYxKFxcYykxNDQgMzk4LjQgUSBGMChzdXBwcmVzcyBmdXJ0aGVyIG91dHB1dCkyOC43OCBFCi1GMShcXGUpMTQ0IDQxMC40IFEgRjAoYW4gZXNjYXBlIGNoYXJhY3RlcikyOC43OCBFIEYxKFxcZikxNDQgNDIyLjQgUSBGMAotKGZvcm0gZmVlZCkyOS44OSBFIEYxKFxcbikxNDQgNDM0LjQgUSBGMChuZSkyNy42NiBFIDIuNSh3bCktLjI1IEcoaW5lKQotLTIuNSBFIEYxKFxccikxNDQgNDQ2LjQgUSBGMChjYXJyaWFnZSByZXR1cm4pMjguNzggRSBGMShcXHQpMTQ0IDQ1OC40IFEKLUYwKGhvcml6b250YWwgdGFiKTI5Ljg5IEUgRjEoXFx2KTE0NCA0NzAuNCBRIEYwIC0uMTUodmUpMjguMjIgRwotKHJ0aWNhbCB0YWIpLjE1IEUgRjEoXFxcXCkxNDQgNDgyLjQgUSBGMChiYWNrc2xhc2gpMzAuNDQgRSBGMShcXDApMTQ0Ci00OTQuNCBRIEYyKG5ubilBIEYwKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTMuMjIgRQorKGludGVycHJldHMgdGhlIGZvbGxvKTMuMTYgRih3aW5nKS0uMjUgRShlc2NhcGUgc2VxdWVuY2VzOikxNDQgMjg1LjYgUQorRjEoXFxhKTE0NCAyOTcuNiBRIEYwKGFsZXJ0IFwoYmVsbFwpKTI4LjIyIEUgRjEoXFxiKTE0NCAzMDkuNiBRIEYwCisoYmFja3NwYWNlKTI3LjY2IEUgRjEoXFxjKTE0NCAzMjEuNiBRIEYwKHN1cHByZXNzIGZ1cnRoZXIgb3V0cHV0KTI4Ljc4IEUKK0YxKFxcZSkxNDQgMzMzLjYgUShcXEUpMTQ0IDM0NS42IFEgRjAoYW4gZXNjYXBlIGNoYXJhY3RlcikyNi41NSBFIEYxCisoXFxmKTE0NCAzNTcuNiBRIEYwKGZvcm0gZmVlZCkyOS44OSBFIEYxKFxcbikxNDQgMzY5LjYgUSBGMChuZSkyNy42NiBFCisyLjUod2wpLS4yNSBHKGluZSktMi41IEUgRjEoXFxyKTE0NCAzODEuNiBRIEYwKGNhcnJpYWdlIHJldHVybikyOC43OCBFCitGMShcXHQpMTQ0IDM5My42IFEgRjAoaG9yaXpvbnRhbCB0YWIpMjkuODkgRSBGMShcXHYpMTQ0IDQwNS42IFEgRjAgLS4xNQorKHZlKTI4LjIyIEcocnRpY2FsIHRhYikuMTUgRSBGMShcXFxcKTE0NCA0MTcuNiBRIEYwKGJhY2tzbGFzaCkzMC40NCBFIEYxCisoXFwwKTE0NCA0MjkuNiBRIEYyKG5ubilBIEYwKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTMuMjIgRQogKGFsdWUgaXMgdGhlIG9jdGFsIHYpLS4yNSBFKGFsdWUpLS4yNSBFIEYyKG5ubikyLjUgRSBGMAotKFwoemVybyB0byB0aHJlZSBvY3RhbCBkaWdpdHNcKSkyLjUgRSBGMShcXHgpMTQ0IDUwNi40IFEgRjIoSEgpQSBGMAorKFwoemVybyB0byB0aHJlZSBvY3RhbCBkaWdpdHNcKSkyLjUgRSBGMShcXHgpMTQ0IDQ0MS42IFEgRjIoSEgpQSBGMAogKHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHYpMTMuNzggRShhbHVlIGlzIHRoZSBoZSktLjI1IEUKICh4YWRlY2ltYWwgdiktLjE1IEUoYWx1ZSktLjI1IEUgRjIoSEgpMi41IEUgRjAoXChvbmUgb3IgdHcpMi41IEUgMi41KG9oKQotLS4xIEcgLjMgLS4xNShleCBkKS0yLjUgSChpZ2l0c1wpKS4xNSBFIEYxKGVuYWJsZSkxMDggNTIzLjIgUSBGMChbKTIuNSBFCi1GMTxhZDYxPkEgRjAgMi41KF1bKUMgRjEoXDI1NWRucHMpLTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNjY+LTIuNSBFIEYyCi0oXDIxNGxlbmFtZSkyLjUgRSBGMCAyLjUoXVspQyBGMihuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFIC4yNzgKLShFbmFibGUgYW5kIGRpc2FibGUgYikxNDQgNTM1LjIgUiAuMjc4KHVpbHRpbiBzaGVsbCBjb21tYW5kcy4pLS4yIEYgLjI3OAotKERpc2FibGluZyBhIGIpNS4yNzggRiAuMjc4KHVpbHRpbiBhbGxvKS0uMiBGIC4yNzgKLSh3cyBhIGRpc2sgY29tbWFuZCB3aGljaCBoYXMpLS4yNSBGIC44MzModGhlIHNhbWUgbmFtZSBhcyBhIHNoZWxsIGIpMTQ0Ci01NDcuMiBSIC44MzQodWlsdGluIHRvIGJlIGUpLS4yIEYgLS4xNSh4ZSktLjE1IEcgLjgzNAotKGN1dGVkIHdpdGhvdXQgc3BlY2lmeWluZyBhIGZ1bGwgcGF0aG5hbWUsIGUpLjE1IEYgLS4xNSh2ZSktLjI1IEcgMy4zMzQKLShudCkuMTUgRyhob3VnaCktMy4zMzQgRSAuOTkodGhlIHNoZWxsIG5vcm1hbGx5IHNlYXJjaGVzIGZvciBiKTE0NCA1NTkuMgotUiAuOTg5KHVpbHRpbnMgYmVmb3JlIGRpc2sgY29tbWFuZHMuKS0uMiBGKElmKTUuOTg5IEUgRjE8YWQ2ZT4zLjQ4OSBFIEYwCi0uOTg5KGlzIHVzZWQsIGVhY2gpMy40ODkgRiBGMihuYW1lKTMuNDg5IEUgRjAgLjk4OShpcyBkaXMtKTMuNDg5IEYgMS41ODEKLShhYmxlZDsgb3RoZXJ3aXNlLCkxNDQgNTcxLjIgUiBGMihuYW1lcyk0LjA4MiBFIEYwIDEuNTgyKGFyZSBlbmFibGVkLikKKy0uMSBHIC4zIC0uMTUoZXggZCktMi41IEgoaWdpdHNcKSkuMTUgRSBGMShcXHUpMTQ0IDQ1My42IFEgRjIoSEhISClBIEYwCisxLjUwNyh0aGUgVW5pY29kZSBcKElTTy9JRUMgMTA2NDZcKSBjaGFyYWN0ZXIgd2hvc2UgdikxODAgNDY1LjYgUiAxLjUwNgorKGFsdWUgaXMgdGhlIGhlKS0uMjUgRiAxLjUwNih4YWRlY2ltYWwgdiktLjE1IEYoYWx1ZSktLjI1IEUgRjIoSEhISCkKKzQuMDA2IEUgRjAoXChvbmUgdG8gZm91ciBoZSkxODAgNDc3LjYgUSAyLjUoeGQpLS4xNSBHKGlnaXRzXCkpLTIuNSBFIEYxCisoXFxVKTE0NCA0ODkuNiBRIEYyKEhISEhISEhIKUEgRjAgLjU0NworKHRoZSBVbmljb2RlIFwoSVNPL0lFQyAxMDY0NlwpIGNoYXJhY3RlciB3aG9zZSB2KTE4MCA1MDEuNiBSIC41NDcKKyhhbHVlIGlzIHRoZSBoZSktLjI1IEYgLjU0OCh4YWRlY2ltYWwgdiktLjE1IEYoYWx1ZSktLjI1IEUgRjIoSEhISEgtKQorMy4wNDggRShISEgpMTgwIDUxMy42IFEgRjAoXChvbmUgdG8gZWlnaHQgaGUpMi41IEUgMi41KHhkKS0uMTUgRworKGlnaXRzXCkpLTIuNSBFIEYxKGVuYWJsZSkxMDggNTMwLjQgUSBGMChbKTIuNSBFIEYxPGFkNjE+QSBGMCAyLjUoXVspQworRjEoXDI1NWRucHMpLTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNjY+LTIuNSBFIEYyKFwyMTRsZW5hbWUpMi41IEUgRjAgMi41CisoXVspQyBGMihuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFIC4yNzgoRW5hYmxlIGFuZCBkaXNhYmxlIGIpMTQ0IDU0Mi40IFIKKy4yNzgodWlsdGluIHNoZWxsIGNvbW1hbmRzLiktLjIgRiAuMjc4KERpc2FibGluZyBhIGIpNS4yNzggRiAuMjc4CisodWlsdGluIGFsbG8pLS4yIEYgLjI3OCh3cyBhIGRpc2sgY29tbWFuZCB3aGljaCBoYXMpLS4yNSBGIC44MzMKKyh0aGUgc2FtZSBuYW1lIGFzIGEgc2hlbGwgYikxNDQgNTU0LjQgUiAuODM0KHVpbHRpbiB0byBiZSBlKS0uMiBGIC0uMTUKKyh4ZSktLjE1IEcgLjgzNChjdXRlZCB3aXRob3V0IHNwZWNpZnlpbmcgYSBmdWxsIHBhdGhuYW1lLCBlKS4xNSBGIC0uMTUKKyh2ZSktLjI1IEcgMy4zMzQobnQpLjE1IEcoaG91Z2gpLTMuMzM0IEUgLjk5CisodGhlIHNoZWxsIG5vcm1hbGx5IHNlYXJjaGVzIGZvciBiKTE0NCA1NjYuNCBSIC45ODkKKyh1aWx0aW5zIGJlZm9yZSBkaXNrIGNvbW1hbmRzLiktLjIgRihJZik1Ljk4OSBFIEYxPGFkNmU+My40ODkgRSBGMCAuOTg5CisoaXMgdXNlZCwgZWFjaCkzLjQ4OSBGIEYyKG5hbWUpMy40ODkgRSBGMCAuOTg5KGlzIGRpcy0pMy40ODkgRiAxLjU4MQorKGFibGVkOyBvdGhlcndpc2UsKTE0NCA1NzguNCBSIEYyKG5hbWVzKTQuMDgyIEUgRjAgMS41ODIoYXJlIGVuYWJsZWQuKQogNC4wODIgRiAtLjE1KEZvKTYuNTgyIEcgNC4wODIocmUpLjE1IEcgMS41ODIoeGFtcGxlLCB0byB1c2UgdGhlKS00LjIzMiBGCiBGMSh0ZXN0KTQuMDgyIEUgRjAgMS41ODIoYmluYXJ5IGZvdW5kIHZpYSB0aGUpNC4wODIgRiBGMyAtLjY2NihQQSk0LjA4MgotRyhUSCktLjE4OSBFIEYwIC4wODEoaW5zdGVhZCBvZiB0aGUgc2hlbGwgYikxNDQgNTgzLjIgUiAuMDgxKHVpbHRpbiB2KQorRyhUSCktLjE4OSBFIEYwIC4wODEoaW5zdGVhZCBvZiB0aGUgc2hlbGwgYikxNDQgNTkwLjQgUiAuMDgxKHVpbHRpbiB2KQogLS4yIEYgLjA4MShlcnNpb24sIHJ1biktLjE1IEYvRjUgMTAvQ291cmllckAwIFNGIC4wODEoZW5hYmxlIC1uIHRlc3QpCiAyLjU4MSBGIEYwIDUuMDgxKC5UKUMoaGUpLTUuMDgxIEUgRjE8YWQ2Nj4yLjU4IEUgRjAgLjA4Ci0ob3B0aW9uIG1lYW5zIHRvIGxvYWQgdGhlIG5lKTIuNTggRih3KS0uMjUgRSAtLjIoYnUpMTQ0IDU5NS4yIFMgMS41MjQKKyhvcHRpb24gbWVhbnMgdG8gbG9hZCB0aGUgbmUpMi41OCBGKHcpLS4yNSBFIC0uMihidSkxNDQgNjAyLjQgUyAxLjUyNAogKGlsdGluIGNvbW1hbmQpLjIgRiBGMihuYW1lKTQuMzg0IEUgRjAgMS41MjQoZnJvbSBzaGFyZWQgb2JqZWN0KTQuMjA0IEYKIEYyKFwyMTRsZW5hbWUpNC4wMjQgRSBGMCA0LjAyNCgsbykuMTggRyA0LjAyNChucyktNC4wMjQgRyAxLjUyNAotKHlzdGVtcyB0aGF0IHN1cHBvcnQgZHluYW1pYyBsb2FkaW5nLiktNC4wMjQgRihUaGUpMTQ0IDYwNy4yIFEgRjE8YWQ2ND4KKyh5c3RlbXMgdGhhdCBzdXBwb3J0IGR5bmFtaWMgbG9hZGluZy4pLTQuMDI0IEYoVGhlKTE0NCA2MTQuNCBRIEYxPGFkNjQ+CiAyLjg2NyBFIEYwIC4zNjcob3B0aW9uIHdpbGwgZGVsZXRlIGEgYikyLjg2NyBGIC4zNjcodWlsdGluIHByZSktLjIgRgogLjM2Nyh2aW91c2x5IGxvYWRlZCB3aXRoKS0uMjUgRiBGMTxhZDY2PjIuODY2IEUgRjAgNS4zNjYoLkkpQyAyLjg2NihmbikKIC01LjM2NiBHKG8pLTIuODY2IEUgRjIobmFtZSkyLjg2NiBFIEYwKGFyKTIuODY2IEUgLjM2NihndW1lbnRzIGFyZSBnaSkKLS0uMTggRiAtLjE1KHZlKS0uMjUgRyAuMzY2KG4sIG9yKS4xNSBGIC4zOTgoaWYgdGhlKTE0NCA2MTkuMiBSIEYxPGFkNzA+CistLjE4IEYgLS4xNSh2ZSktLjI1IEcgLjM2NihuLCBvcikuMTUgRiAuMzk4KGlmIHRoZSkxNDQgNjI2LjQgUiBGMTxhZDcwPgogMi44OTggRSBGMCAuMzk5KG9wdGlvbiBpcyBzdXBwbGllZCwgYSBsaXN0IG9mIHNoZWxsIGIpMi44OTkgRiAuMzk5CiAodWlsdGlucyBpcyBwcmludGVkLiktLjIgRiAtLjQoV2kpNS4zOTkgRyAuMzk5KHRoIG5vIG90aGVyIG9wdGlvbiBhcikuNAogRiAuMzk5KGd1bWVudHMsIHRoZSktLjE4IEYgLjA5OShsaXN0IGNvbnNpc3RzIG9mIGFsbCBlbmFibGVkIHNoZWxsIGIpMTQ0Ci02MzEuMiBSIDIuNTk4KHVpbHRpbnMuIElmKS0uMiBGIEYxPGFkNmU+Mi41OTggRSBGMCAuMDk4Cis2MzguNCBSIDIuNTk4KHVpbHRpbnMuIElmKS0uMiBGIEYxPGFkNmU+Mi41OTggRSBGMCAuMDk4CiAoaXMgc3VwcGxpZWQsIG9ubHkgZGlzYWJsZWQgYikyLjU5OCBGIC4wOTgodWlsdGlucyBhcmUgcHJpbnRlZC4pLS4yIEYKIChJZik1LjA5OCBFIEYxPGFkNjE+Mi41OTggRSBGMCAxLjkxNgotKGlzIHN1cHBsaWVkLCB0aGUgbGlzdCBwcmludGVkIGluY2x1ZGVzIGFsbCBiKTE0NCA2NDMuMiBSIDEuOTE2CisoaXMgc3VwcGxpZWQsIHRoZSBsaXN0IHByaW50ZWQgaW5jbHVkZXMgYWxsIGIpMTQ0IDY1MC40IFIgMS45MTYKICh1aWx0aW5zLCB3aXRoIGFuIGluZGljYXRpb24gb2Ygd2hldGhlciBvciBub3QgZWFjaCBpcyktLjIgRiAyLjg3OQotKGVuYWJsZWQuIElmKTE0NCA2NTUuMiBSIEYxPGFkNzM+Mi44NzkgRSBGMCAuMzc5CisoZW5hYmxlZC4gSWYpMTQ0IDY2Mi40IFIgRjE8YWQ3Mz4yLjg3OSBFIEYwIC4zNzkKIChpcyBzdXBwbGllZCwgdGhlIG91dHB1dCBpcyByZXN0cmljdGVkIHRvIHRoZSBQT1NJWCkyLjg3OSBGIEYyKHNwZWNpYWwpCiAyLjg3OSBFIEYwIC0uMihidSkyLjg3OCBHIDIuODc4KGlsdGlucy4gVGhlKS4yIEYgLjM3OChyZXR1cm4gdikyLjg3OCBGCi0oYWx1ZSktLjI1IEUgLjk5NChpcyAwIHVubGVzcyBhKTE0NCA2NjcuMiBSIEYyKG5hbWUpMy44NTQgRSBGMCAuOTk0CisoYWx1ZSktLjI1IEUgLjk5NChpcyAwIHVubGVzcyBhKTE0NCA2NzQuNCBSIEYyKG5hbWUpMy44NTQgRSBGMCAuOTk0CiAoaXMgbm90IGEgc2hlbGwgYikzLjY3NCBGIC45OTQodWlsdGluIG9yIHRoZXJlIGlzIGFuIGVycm9yIGxvYWRpbmcgYSBuZSkKIC0uMiBGIDMuNDk1KHdiKS0uMjUgRyAuOTk1KHVpbHRpbiBmcm9tIGEgc2hhcmVkKS0zLjY5NSBGKG9iamVjdC4pMTQ0Ci02NzkuMiBRIEYxIC0yLjMgLS4xNShldiBhKTEwOCA2OTYgVChsKS4xNSBFIEYwKFspMi41IEUgRjIoYXIpQShnKS0uMzcgRQotRjAoLi4uXSkyLjUgRShUaGUpMTQ0IDcwOCBRIEYyKGFyKTMuMTcxIEUoZyktLjM3IEUgRjAgMy4xNzEoc2EpQyAuNjcxCi0ocmUgcmVhZCBhbmQgY29uY2F0ZW5hdGVkIHRvZ2V0aGVyIGludG8gYSBzaW5nbGUgY29tbWFuZC4pLTMuMTcxIEYgLjY3Ci0oVGhpcyBjb21tYW5kIGlzIHRoZW4gcmVhZCk1LjY3IEYgLjQ5NShhbmQgZSkxNDQgNzIwIFIgLS4xNSh4ZSktLjE1IEcKLS40OTUoY3V0ZWQgYnkgdGhlIHNoZWxsLCBhbmQgaXRzIGUpLjE1IEYgLjQ5NQorNjg2LjQgUSBGMSAtMi4zIC0uMTUoZXYgYSkxMDggNzAzLjIgVChsKS4xNSBFIEYwKFspMi41IEUgRjIoYXIpQShnKS0uMzcKK0UgRjAoLi4uXSkyLjUgRShUaGUpMTQ0IDcxNS4yIFEgRjIoYXIpMy4xNzEgRShnKS0uMzcgRSBGMCAzLjE3MShzYSlDCisuNjcxKHJlIHJlYWQgYW5kIGNvbmNhdGVuYXRlZCB0b2dldGhlciBpbnRvIGEgc2luZ2xlIGNvbW1hbmQuKS0zLjE3MSBGCisuNjcoVGhpcyBjb21tYW5kIGlzIHRoZW4gcmVhZCk1LjY3IEYgLjQ5NShhbmQgZSkxNDQgNzI3LjIgUiAtLjE1KHhlKS0uMTUKK0cgLjQ5NShjdXRlZCBieSB0aGUgc2hlbGwsIGFuZCBpdHMgZSkuMTUgRiAuNDk1CiAoeGl0IHN0YXR1cyBpcyByZXR1cm5lZCBhcyB0aGUgdiktLjE1IEYgLjQ5NShhbHVlIG9mKS0uMjUgRiBGMSAtMi4zIC0uMTUKIChldiBhKTIuOTk1IEgobCkuMTUgRSBGMCA1LjQ5NSguSSlDIDIuOTk1KGZ0KS01LjQ5NSBHIC40OTUoaGVyZSBhcmUgbm8pCi0tMi45OTUgRiBGMihhcikyLjk5NSBFKGdzKS0uMzcgRSBGMCgsKS4yNyBFKEdOVSBCYXNoLTQuMSk3MiA3NjggUQotKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDU0KTE4NS45NTUgRSAwIENnIEVQCi0lJVBhZ2U6IDU1IDU1CistMi45OTUgRiBGMihhcikyLjk5NSBFKGdzKS0uMzcgRSBGMCgsKS4yNyBFKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDU1KTE4NS45NTUgRSAwIENnIEVQCislJVBhZ2U6IDU2IDU2CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKQEAgLTY1NzMsOSArNjcwMSw5IEBACiAtLjEgRiAyLjg2MigsdyktLjQgRyAuMzYzKGhlbiBydW4gd2l0aCBqb2IgY29udHJvbCBlbmFibGVkLCBpZiktMi44NjIgRgogRjIoam9ic3BlYykxNDUuNzQgNzIwIFEgRjAgLjAwNChkb2VzIG5vdCBzcGVjaWZ5IGEgdikyLjgxNSBGIC4wMDQKIChhbGlkIGpvYiBvciktLjI1IEYgRjIoam9ic3BlYyk0LjI0NCBFIEYwIC4wMDQoc3BlY2lcMjE0ZXMgYSBqb2IgdGhhdCB3KQotMi44MTQgRiAuMDA0KGFzIHN0YXJ0ZWQgd2l0aG91dCBqb2IgY29udHJvbC4pLS4xIEYoR05VIEJhc2gtNC4xKTcyIDc2OCBRCi0oMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNTUpMTg1Ljk1NSBFIDAgQ2cgRVAKLSUlUGFnZTogNTYgNTYKKzIuODE0IEYgLjAwNChhcyBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wuKS0uMSBGKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDU2KTE4NS45NTUgRSAwIENnIEVQCislJVBhZ2U6IDU3IDU3CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKQEAgLTY2MTMsNyArNjc0MSw3IEBACiBFIEYwIC0uMTUoZXgpNC41NDMgRyAyLjA0MyhpdHMgd2l0aCBhIHJldHVybiB2KS4xNSBGIDIuMDQzCiAoYWx1ZSBncmVhdGVyIHRoYW4gemVyby4pLS4yNSBGIEYzKE9QVElORCkxNDQgMjQwIFEgRjAKIChpcyBzZXQgdG8gdGhlIGluZGUpMi4yNSBFIDIuNSh4byktLjE1IEcgMi41KGZ0KS0yLjUgRwotKGhlIFwyMTRyc3Qgbm9uLW9wdGlvbiBhciktMi41IEUoZ3VtZW50LCBhbmQpLS4xOCBFIEYxKG5hbWUpMi41IEUgRjAKKyhoZSBcMjE0cnN0IG5vbi1vcHRpb24gYXIpLTIuNSBFKGd1bWVudCwgYW5kKS0uMTggRSBGMihuYW1lKTIuNSBFIEYwCiAoaXMgc2V0IHRvID8uKTIuNSBFIEYxKGdldG9wdHMpMTQ0IDI2NCBRIEYwIDIuMzkyCiAobm9ybWFsbHkgcGFyc2VzIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMsIGIpNC44OTIgRiAyLjM5MgogKHV0IGlmIG1vcmUgYXIpLS4yIEYgMi4zOTMoZ3VtZW50cyBhcmUgZ2kpLS4xOCBGIC0uMTUodmUpLS4yNSBHIDQuODkzCkBAIC02NjQ5LDQ5ICs2Nzc3LDUxIEBACiAzLjQwMSBGIC45MDIoSXQgcmV0dXJucyBmKTUuOTAyIEYgLjkwMihhbHNlIGlmIHRoZSBlbmQgb2YpLS4xIEYKIChvcHRpb25zIGlzIGVuY291bnRlcmVkIG9yIGFuIGVycm9yIG9jY3Vycy4pMTQ0IDQ2OCBRIEYxKGhhc2gpMTA4IDQ4NC44CiBRIEYwKFspMi41IEUgRjEoXDI1NWxyKUEgRjAgMi41KF1bKUMgRjE8YWQ3MD4tMi41IEUgRjIoXDIxNGxlbmFtZSkyLjUgRQotRjAgMi41KF1bKUMgRjEoXDI1NWR0KS0yLjUgRSBGMCAyLjUoXVspQyBGMihuYW1lKS0yLjUgRSBGMChdKUEgLS4xNShGbykKLTE0NCA0OTYuOCBTIDMuNTU1KHJlKS4xNSBHKGFjaCktMy41NTUgRSBGMihuYW1lKTMuNTU1IEUgRjAgMy41NTUoLHQpLjE4Ci1HIDEuMDU0KGhlIGZ1bGwgXDIxNGxlIG5hbWUgb2YgdGhlIGNvbW1hbmQgaXMgZGV0ZXJtaW5lZCBieSBzZWFyY2hpbmcgdFwKLWhlIGRpcmVjdG9yaWVzIGluKS0zLjU1NSBGIEYxKCRQKTE0NCA1MDguOCBRIC0uOTUoQVQpLS43NCBHKEgpLjk1IEUgRjAKLS4zNDkoYW5kIHJlbWVtYmVyZWQuKTIuODQ5IEYgLjM0OShJZiB0aGUpNS4zNDkgRiBGMTxhZDcwPjIuODQ5IEUgRjAgLjM0OQotKG9wdGlvbiBpcyBzdXBwbGllZCwgbm8gcGF0aCBzZWFyY2ggaXMgcGVyZm9ybWVkLCBhbmQpMi44NDkgRiBGMgotKFwyMTRsZW5hbWUpNC43NiBFIEYwIC40NTIKLShpcyB1c2VkIGFzIHRoZSBmdWxsIFwyMTRsZSBuYW1lIG9mIHRoZSBjb21tYW5kLikxNDQgNTIwLjggUihUaGUpNS40NTIgRQotRjE8YWQ3Mj4yLjk1MiBFIEYwIC40NTIob3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gZm9yKTIuOTUyIEYgLjQ1MgotKGdldCBhbGwgcmVtZW0tKS0uMTggRiAuNTkyKGJlcmVkIGxvY2F0aW9ucy4pMTQ0IDUzMi44IFIoVGhlKTUuNTkyIEUgRjEKLTxhZDY0PjMuMDkyIEUgRjAgLjU5MyhvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCB0byBmb3IpMy4wOTIgRiAuNTkzCi0oZ2V0IHRoZSByZW1lbWJlcmVkIGxvY2F0aW9uIG9mIGVhY2gpLS4xOCBGIEYyKG5hbWUpMy4wOTMgRSBGMCguKUEgLjAyMQotKElmIHRoZSkxNDQgNTQ0LjggUiBGMTxhZDc0PjIuNTIxIEUgRjAgLjAyMQotKG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIGZ1bGwgcGF0aG5hbWUgdG8gd2hpY2ggZWFjaCkyLjUyMSBGIEYyKG5hbWUpCi0yLjUyIEUgRjAgLjAyKGNvcnJlc3BvbmRzIGlzIHByaW50ZWQuKTIuNTIgRiAuMDIoSWYgbXVsdGktKTUuMDIgRihwbGUpCi0xNDQgNTU2LjggUSBGMihuYW1lKTMuNzAzIEUgRjAoYXIpMy43MDMgRSAxLjIwMwotKGd1bWVudHMgYXJlIHN1cHBsaWVkIHdpdGgpLS4xOCBGIEYxPGFkNzQ+My43MDMgRSBGMCAzLjcwMygsdClDKGhlKQotLTMuNzAzIEUgRjIobmFtZSkzLjcwMyBFIEYwIDEuMjA0Ci0oaXMgcHJpbnRlZCBiZWZvcmUgdGhlIGhhc2hlZCBmdWxsIHBhdGhuYW1lLikzLjcwMyBGKFRoZSkxNDQgNTY4LjggUSBGMQotPGFkNmM+My4yMTYgRSBGMCAuNzE1KG9wdGlvbiBjYXVzZXMgb3V0cHV0IHRvIGJlIGRpc3BsYXllZCBpbiBhIGZvcm1hdCBcCi10aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuKTMuMjE2IEYgLjcxNShJZiBubyBhcik1LjcxNSBGKGd1LSktLjE4IEUKLTEuMTgzKG1lbnRzIGFyZSBnaSkxNDQgNTgwLjggUiAtLjE1KHZlKS0uMjUgRyAxLjE4MyhuLCBvciBpZiBvbmx5KS4xNSBGCi1GMTxhZDZjPjMuNjgzIEUgRjAgMS4xODQKLShpcyBzdXBwbGllZCwgaW5mb3JtYXRpb24gYWJvdXQgcmVtZW1iZXJlZCBjb21tYW5kcyBpcyBwcmludGVkLikzLjY4NCBGCi0oVGhlIHJldHVybiBzdGF0dXMgaXMgdHJ1ZSB1bmxlc3MgYSkxNDQgNTkyLjggUSBGMihuYW1lKTIuODYgRSBGMAotKGlzIG5vdCBmb3VuZCBvciBhbiBpbikyLjY4IEUgLS4yNSh2YSktLjQgRyhsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLikuMjUKLUUgRjEoaGVscCkxMDggNjA5LjYgUSBGMChbKTIuNSBFIEYxKFwyNTVkbXMpQSBGMCAyLjUoXVspQyBGMihwYXR0ZXJuKQotLTIuNSBFIEYwKF0pQSAuODY3KERpc3BsYXkgaGVscGZ1bCBpbmZvcm1hdGlvbiBhYm91dCBiKTE0NCA2MjEuNiBSIC44NjcKLSh1aWx0aW4gY29tbWFuZHMuKS0uMiBGKElmKTUuODY3IEUgRjIocGF0dGVybik0LjYxNyBFIEYwIC44NjYKLShpcyBzcGVjaVwyMTRlZCwpMy42MDcgRiBGMShoZWxwKTMuMzY2IEUgRjAoZ2kpMy4zNjYgRSAtLjE1KHZlKS0uMjUgRwotMy4zNjYoc2QpLjE1IEcoZXRhaWxlZCktMy4zNjYgRSAuMzA2KGhlbHAgb24gYWxsIGNvbW1hbmRzIG1hdGNoaW5nKTE0NAotNjMzLjYgUiBGMihwYXR0ZXJuKTIuODA2IEUgRjAgMi44MDcoO28pLjI0IEcgLjMwNwotKHRoZXJ3aXNlIGhlbHAgZm9yIGFsbCB0aGUgYiktMi44MDcgRiAuMzA3Ci0odWlsdGlucyBhbmQgc2hlbGwgY29udHJvbCBzdHJ1Yy0pLS4yIEYodHVyZXMgaXMgcHJpbnRlZC4pMTQ0IDY0NS42IFEgRjEKLTxhZDY0PjE0NCA2NTcuNiBRIEYwKERpc3BsYXkgYSBzaG9ydCBkZXNjcmlwdGlvbiBvZiBlYWNoKTI0Ljc0IEUgRjIKLShwYXR0ZXJuKTIuNSBFIEYxPGFkNmQ+MTQ0IDY2OS42IFEgRjAoRGlzcGxheSB0aGUgZGVzY3JpcHRpb24gb2YgZWFjaCkKK0YwIDIuNShdWylDIEYxKFwyNTVkdCktMi41IEUgRjAgMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAoXSlBIC44NTgKKyhFYWNoIHRpbWUpMTQ0IDQ5Ni44IFIgRjEoaGFzaCkzLjM1OCBFIEYwIC44NTgoaXMgaW4pMy4zNTggRiAtLjIodm8pLS40CitHIC0uMShrZSkuMiBHIC44NTgoZCwgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGNvbW1hbmQpLjEgRiBGMihuYW1lKQorMy43MTggRSBGMCAuODU4KGlzIGRldGVybWluZWQgYnkgc2VhcmNoaW5nKTMuNTM4IEYgLjk1NgorKHRoZSBkaXJlY3RvcmllcyBpbikxNDQgNTA4LjggUiBGMSgkUCkzLjQ1NiBFIC0uOTUoQVQpLS43NCBHKEgpLjk1IEUgRjAKKy45NTYoYW5kIHJlbWVtYmVyZWQuKTMuNDU2IEYoQW4pNS45NTYgRSAzLjQ1Nih5cCktLjE1IEcocmUpLTMuNDU2IEUgLjk1NgorKHZpb3VzbHktcmVtZW1iZXJlZCBwYXRobmFtZSBpcyBkaXNjYXJkZWQuKS0uMjUgRiAuMDk5KElmIHRoZSkxNDQgNTIwLjgKK1IgRjE8YWQ3MD4yLjU5OSBFIEYwIC4wOTkKKyhvcHRpb24gaXMgc3VwcGxpZWQsIG5vIHBhdGggc2VhcmNoIGlzIHBlcmZvcm1lZCwgYW5kKTIuNTk5IEYgRjIKKyhcMjE0bGVuYW1lKTQuNTA4IEUgRjAgLjA5OChpcyB1c2VkIGFzIHRoZSBmdWxsIFwyMTRsZSBuYW1lKTIuNzc4IEYKKzEuNzExKG9mIHRoZSBjb21tYW5kLikxNDQgNTMyLjggUihUaGUpNi43MTEgRSBGMTxhZDcyPjQuMjExIEUgRjAgMS43MTEKKyhvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCB0byBmb3IpNC4yMTEgRiAxLjcxMgorKGdldCBhbGwgcmVtZW1iZXJlZCBsb2NhdGlvbnMuKS0uMTggRihUaGUpNi43MTIgRSBGMTxhZDY0PjQuMjEyIEUgRjAKKy44MzMob3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gZm9yKTE0NCA1NDQuOCBSIC44MzMKKyhnZXQgdGhlIHJlbWVtYmVyZWQgbG9jYXRpb24gb2YgZWFjaCktLjE4IEYgRjIobmFtZSkzLjMzMyBFIEYwIDUuODMzKC5JKQorQyAzLjMzMyhmdCktNS44MzMgRyhoZSktMy4zMzMgRSBGMTxhZDc0PjMuMzMzIEUgRjAgLjgzMyhvcHRpb24gaXMgc3VwLSkKKzMuMzMzIEYgLjcwMyhwbGllZCwgdGhlIGZ1bGwgcGF0aG5hbWUgdG8gd2hpY2ggZWFjaCkxNDQgNTU2LjggUiBGMihuYW1lKQorMy4yMDQgRSBGMCAuNzA0KGNvcnJlc3BvbmRzIGlzIHByaW50ZWQuKTMuMjA0IEYgLjcwNChJZiBtdWx0aXBsZSk1LjcwNCBGCitGMihuYW1lKTMuMjA0IEUgRjAoYXIpMy4yMDQgRShndW1lbnRzKS0uMTggRSAuNzk1KGFyZSBzdXBwbGllZCB3aXRoKTE0NAorNTY4LjggUiBGMTxhZDc0PjMuMjk1IEUgRjAgMy4yOTUoLHQpQyhoZSktMy4yOTUgRSBGMihuYW1lKTMuMjk1IEUgRjAKKy43OTUoaXMgcHJpbnRlZCBiZWZvcmUgdGhlIGhhc2hlZCBmdWxsIHBhdGhuYW1lLikzLjI5NSBGKFRoZSk1Ljc5NSBFIEYxCis8YWQ2Yz4zLjI5NSBFIEYwIC43OTUob3B0aW9uIGNhdXNlcykzLjI5NSBGIC45MzQKKyhvdXRwdXQgdG8gYmUgZGlzcGxheWVkIGluIGEgZm9ybWF0IHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4pMTQ0Cis1ODAuOCBSIC45MzQoSWYgbm8gYXIpNS45MzQgRiAuOTM1KGd1bWVudHMgYXJlIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRworLjkzNShuLCBvciBpZikuMTUgRihvbmx5KTE0NCA1OTIuOCBRIEYxPGFkNmM+Mi44MjIgRSBGMCAuMzIyCisoaXMgc3VwcGxpZWQsIGluZm9ybWF0aW9uIGFib3V0IHJlbWVtYmVyZWQgY29tbWFuZHMgaXMgcHJpbnRlZC4pMi44MjIgRgorLjMyMShUaGUgcmV0dXJuIHN0YXR1cyBpcyB0cnVlKTUuMzIxIEYodW5sZXNzIGEpMTQ0IDYwNC44IFEgRjIobmFtZSkyLjg2CitFIEYwKGlzIG5vdCBmb3VuZCBvciBhbiBpbikyLjY4IEUgLS4yNSh2YSktLjQgRyhsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLikKKy4yNSBFIEYxKGhlbHApMTA4IDYyMS42IFEgRjAoWykyLjUgRSBGMShcMjU1ZG1zKUEgRjAgMi41KF1bKUMgRjIKKyhwYXR0ZXJuKS0yLjUgRSBGMChdKUEgLjg2NihEaXNwbGF5IGhlbHBmdWwgaW5mb3JtYXRpb24gYWJvdXQgYikxNDQKKzYzMy42IFIgLjg2Nyh1aWx0aW4gY29tbWFuZHMuKS0uMiBGKElmKTUuODY3IEUgRjIocGF0dGVybik0LjYxNyBFIEYwCisuODY3KGlzIHNwZWNpXDIxNGVkLCkzLjYwNyBGIEYxKGhlbHApMy4zNjcgRSBGMChnaSkzLjM2NyBFIC0uMTUodmUpLS4yNQorRyAzLjM2NyhzZCkuMTUgRyhldGFpbGVkKS0zLjM2NyBFIC4zMDcoaGVscCBvbiBhbGwgY29tbWFuZHMgbWF0Y2hpbmcpMTQ0Cis2NDUuNiBSIEYyKHBhdHRlcm4pMi44MDcgRSBGMCAyLjgwNyg7bykuMjQgRyAuMzA3CisodGhlcndpc2UgaGVscCBmb3IgYWxsIHRoZSBiKS0yLjgwNyBGIC4zMDYKKyh1aWx0aW5zIGFuZCBzaGVsbCBjb250cm9sIHN0cnVjLSktLjIgRih0dXJlcyBpcyBwcmludGVkLikxNDQgNjU3LjYgUSBGMQorPGFkNjQ+MTQ0IDY2OS42IFEgRjAoRGlzcGxheSBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIGVhY2gpMjQuNzQgRSBGMgorKHBhdHRlcm4pMi41IEUgRjE8YWQ2ZD4xNDQgNjgxLjYgUSBGMChEaXNwbGF5IHRoZSBkZXNjcmlwdGlvbiBvZiBlYWNoKQogMjEuOTcgRSBGMihwYXR0ZXJuKTIuNSBFIEYwKGluIGEgbWFucGFnZS1saWspMi41IEUgMi41KGVmKS0uMSBHKG9ybWF0KQotLTIuNSBFIEYxPGFkNzM+MTQ0IDY4MS42IFEgRjAKKy0yLjUgRSBGMTxhZDczPjE0NCA2OTMuNiBRIEYwCiAoRGlzcGxheSBvbmx5IGEgc2hvcnQgdXNhZ2Ugc3lub3BzaXMgZm9yIGVhY2gpMjYuNDEgRSBGMihwYXR0ZXJuKTIuNSBFCi1GMChUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyBubyBjb21tYW5kIG1hdGNoZXMpMTA4IDY5My42IFEgRjIKLShwYXR0ZXJuKTIuNSBFIEYwKC4pLjI0IEUoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NQotRSg1NikxODUuOTU1IEUgMCBDZyBFUAotJSVQYWdlOiA1NyA1NworRjAoVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3Mgbm8gY29tbWFuZCBtYXRjaGVzKTE0NCA3MTAuNCBRIEYyCisocGF0dGVybikyLjUgRSBGMCguKS4yNCBFKEdOVSBCYXNoLTQuMik3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUKK0UoNTcpMTg1Ljk1NSBFIDAgQ2cgRVAKKyUlUGFnZTogNTggNTgKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cApAQCAtNjcwNCwxMyArNjgzNCwxMyBAQAogLS4zNyBFIEYwKFspMi41IEUgRjIoYXIpQSAyLjUoZy4pLS4zNyBHKC4uKS0yLjUgRSBGMChdKUEgLS40KFdpKTE0NCAxNTYKIFMgLjc1MgogKHRoIG5vIG9wdGlvbnMsIGRpc3BsYXkgdGhlIGNvbW1hbmQgaGlzdG9yeSBsaXN0IHdpdGggbGluZSBudW1iZXJzLikuNCBGCi0uNzUyKExpbmVzIGxpc3RlZCB3aXRoIGEpNS43NTIgRiBGMSgqKTMuMjUxIEUgRjAoaGEpMy4yNTEgRSAtLjE1KHZlKS0uMgotRyAuMzgoYmVlbiBtb2RpXDIxNGVkLikxNDQgMTY4IFIgLjM4KEFuIGFyKTUuMzggRiAuMzgoZ3VtZW50IG9mKS0uMTggRgorLjc1MihMaW5lcyBsaXN0ZWQgd2l0aCBhKTUuNzUyIEYgRjEoKikzLjI1MiBFIEYwKGhhKTMuMjUyIEUgLS4xNSh2ZSktLjIKK0cgLjM4MShiZWVuIG1vZGlcMjE0ZWQuKTE0NCAxNjggUiAuMzgoQW4gYXIpNS4zOCBGIC4zOChndW1lbnQgb2YpLS4xOCBGCiBGMihuKTMuMjQgRSBGMCAuMzgobGlzdHMgb25seSB0aGUgbGFzdCkzLjEyIEYgRjIobikzLjI0IEUgRjAgMi44OAogKGxpbmVzLiBJZikzLjEyIEYgLjM4KHRoZSBzaGVsbCB2KTIuODggRihhcmlhYmxlKS0uMjUgRS9GMyA5Ci0vVGltZXMtQm9sZEAwIFNGKEhJU1RUSU1FRk9SLSkyLjg4MSBFKE1BKTE0NCAxODAgUShUKS0uODU1IEUgRjAgLjI2NQotKGlzIHNldCBhbmQgbm90IG51bGwsIGl0IGlzIHVzZWQgYXMgYSBmb3JtYXQgc3RyaW5nIGZvcikyLjUxNSBGIEYyCi0oc3RyZnRpbWUpMi43NjQgRSBGMCAuMjY0KFwoM1wpIHRvIGRpc3BsYXkgdGhlIHRpbWUgc3RhbXAgYXNzby0pQiAxLjAxOQorL1RpbWVzLUJvbGRAMCBTRihISVNUVElNRUZPUi0pMi44OCBFKE1BKTE0NCAxODAgUShUKS0uODU1IEUgRjAgLjI2NAorKGlzIHNldCBhbmQgbm90IG51bGwsIGl0IGlzIHVzZWQgYXMgYSBmb3JtYXQgc3RyaW5nIGZvcikyLjUxNCBGIEYyCisoc3RyZnRpbWUpMi43NjUgRSBGMCAuMjY1KFwoM1wpIHRvIGRpc3BsYXkgdGhlIHRpbWUgc3RhbXAgYXNzby0pQiAxLjAyCiAoY2lhdGVkIHdpdGggZWFjaCBkaXNwbGF5ZWQgaGlzdG9yeSBlbnRyeSkxNDQgMTkyIFIgNi4wMTkoLk4pLS42NSBHCiAzLjUxOShvaSktNi4wMTkgRyhudGVydiktMy41MTkgRSAxLjAxOQogKGVuaW5nIGJsYW5rIGlzIHByaW50ZWQgYmV0d2VlbiB0aGUgZm9ybWF0dGVkKS0uMTUgRiAuMTc2CkBAIC02NzIyLDY3ICs2ODUyLDY4IEBACiAod2luZyBtZWFuaW5nczopLS4yNSBFIEYxPGFkNjM+MTQ0IDIyOCBRIEYwCiAoQ2xlYXIgdGhlIGhpc3RvcnkgbGlzdCBieSBkZWxldGluZyBhbGwgdGhlIGVudHJpZXMuKTI1Ljg2IEUgRjE8YWQ2ND4xNDQKIDI0MCBRIEYyKG9mKTIuNSBFKGZzZXQpLS4xOCBFIEYwKERlbGV0ZSB0aGUgaGlzdG9yeSBlbnRyeSBhdCBwb3NpdGlvbikKLTE4MCAyNTIgUSBGMihvZikyLjUgRShmc2V0KS0uMTggRSBGMCguKUEgRjE8YWQ2MT4xNDQgMjY0IFEgRjAgLjU5OAotKEFwcGVuZCB0aGUgYCkyNS4zIEYoYG5lKS0uNzQgRSh3JyktLjI1IEUgMy4wOTgoJ2gpLS43NCBHIC41OTgKLShpc3RvcnkgbGluZXMgXChoaXN0b3J5IGxpbmVzIGVudGVyZWQgc2luY2UgdGhlIGJlKS0zLjA5OCBGIC41OTkKKzE4MCAyNTIgUSBGMihvZikyLjUgRShmc2V0KS0uMTggRSBGMCguKUEgRjE8YWQ2MT4xNDQgMjY0IFEgRjAgLjU5OQorKEFwcGVuZCB0aGUgYCkyNS4zIEYoYG5lKS0uNzQgRSh3JyktLjI1IEUgMy4wOTkoJ2gpLS43NCBHIC41OTgKKyhpc3RvcnkgbGluZXMgXChoaXN0b3J5IGxpbmVzIGVudGVyZWQgc2luY2UgdGhlIGJlKS0zLjA5OSBGIC41OTgKIChnaW5uaW5nIG9mIHRoZSBjdXJyZW50KS0uMTUgRiBGMShiYXNoKTE4MCAyNzYgUSBGMAogKHNlc3Npb25cKSB0byB0aGUgaGlzdG9yeSBcMjE0bGUuKTIuNSBFIEYxPGFkNmU+MTQ0IDI4OCBRIEYwIC44NTQoUmVhZCBcCiB0aGUgaGlzdG9yeSBsaW5lcyBub3QgYWxyZWFkeSByZWFkIGZyb20gdGhlIGhpc3RvcnkgXDIxNGxlIGludG8gdGhlIGN1clwKLXJlbnQgaGlzdG9yeSBsaXN0LikyNC43NCBGIC43NzIKK3JlbnQgaGlzdG9yeSBsaXN0LikyNC43NCBGIC43NzMKIChUaGVzZSBhcmUgbGluZXMgYXBwZW5kZWQgdG8gdGhlIGhpc3RvcnkgXDIxNGxlIHNpbmNlIHRoZSBiZSkxODAgMzAwIFIKLS43NzMoZ2lubmluZyBvZiB0aGUgY3VycmVudCktLjE1IEYgRjEoYmFzaCkzLjI3MyBFIEYwKHNlcy0pMy4yNzMgRQorLjc3MihnaW5uaW5nIG9mIHRoZSBjdXJyZW50KS0uMTUgRiBGMShiYXNoKTMuMjcyIEUgRjAoc2VzLSkzLjI3MiBFCiAoc2lvbi4pMTgwIDMxMiBRIEYxPGFkNzI+MTQ0IDMyNCBRIEYwKFJlYWQgdGhlIGNvbnRlbnRzIG9mIHRoZSBoaXN0b3J5IFwKIFwyMTRsZSBhbmQgdXNlIHRoZW0gYXMgdGhlIGN1cnJlbnQgaGlzdG9yeSkyNS44NiBFKC4pLS42NSBFIEYxPGFkNzc+MTQ0CiAzMzYgUSBGMChXcml0ZSB0aGUgY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IFwyMTRsZSwgbykyMy4wOCBFIC0uMTUKICh2ZSktLjE1IEcocndyaXRpbmcgdGhlIGhpc3RvcnkgXDIxNGxlJykuMTUgRSAyLjUoc2MpLS41NSBHKG9udGVudHMuKQotLTIuNSBFIEYxPGFkNzA+MTQ0IDM0OCBRIEYwIC42MjYKKy0yLjUgRSBGMTxhZDcwPjE0NCAzNDggUSBGMCAuNjI1CiAoUGVyZm9ybSBoaXN0b3J5IHN1YnN0aXR1dGlvbiBvbiB0aGUgZm9sbG8pMjQuNzQgRih3aW5nKS0uMjUgRSBGMihhcikKLTMuMTI1IEUoZ3MpLS4zNyBFIEYwIC42MjUoYW5kIGRpc3BsYXkgdGhlIHJlc3VsdCBvbiB0aGUgc3RhbmRhcmQpMy4xMjUgRgorMy4xMjUgRShncyktLjM3IEUgRjAgLjYyNihhbmQgZGlzcGxheSB0aGUgcmVzdWx0IG9uIHRoZSBzdGFuZGFyZCkzLjEyNSBGCiAyLjk3NShvdXRwdXQuIERvZXMpMTgwIDM2MCBSIC40NzUKIChub3Qgc3RvcmUgdGhlIHJlc3VsdHMgaW4gdGhlIGhpc3RvcnkgbGlzdC4pMi45NzUgRihFYWNoKTUuNDc1IEUgRjIoYXIpCiAyLjk3NSBFKGcpLS4zNyBFIEYwIC40NzUobXVzdCBiZSBxdW90ZWQgdG8gZGlzYWJsZSkyLjk3NSBGCi0obm9ybWFsIGhpc3RvcnkgZSkxODAgMzcyIFEoeHBhbnNpb24uKS0uMTUgRSBGMTxhZDczPjE0NCAzODQgUSBGMCAuMzYzCi0oU3RvcmUgdGhlKTI2LjQxIEYgRjIoYXIpMy4xOTMgRShncyktLjM3IEUgRjAgLjM2MwotKGluIHRoZSBoaXN0b3J5IGxpc3QgYXMgYSBzaW5nbGUgZW50cnkpMy4xMzMgRiA1LjM2MyguVCktLjY1IEcgLjM2MgorKG5vcm1hbCBoaXN0b3J5IGUpMTgwIDM3MiBRKHhwYW5zaW9uLiktLjE1IEUgRjE8YWQ3Mz4xNDQgMzg0IFEgRjAgLjM2MgorKFN0b3JlIHRoZSkyNi40MSBGIEYyKGFyKTMuMTkyIEUoZ3MpLS4zNyBFIEYwIC4zNjMKKyhpbiB0aGUgaGlzdG9yeSBsaXN0IGFzIGEgc2luZ2xlIGVudHJ5KTMuMTMyIEYgNS4zNjMoLlQpLS42NSBHIC4zNjMKIChoZSBsYXN0IGNvbW1hbmQgaW4gdGhlIGhpc3RvcnkgbGlzdCBpcyktNS4zNjMgRihyZW1vKTE4MCAzOTYgUSAtLjE1KHZlKQogLS4xNSBHIDIuNShkYikuMTUgRyhlZm9yZSB0aGUpLTIuNSBFIEYyKGFyKTIuODMgRShncyktLjM3IEUgRjAKLShhcmUgYWRkZWQuKTIuNzcgRSAuMTQ1KElmIHRoZSkxNDQgNDEyLjggUiBGMyhISVNUVElNRUZPUk1BKTIuNjQ1IEUoVCkKKyhhcmUgYWRkZWQuKTIuNzcgRSAuMTQ2KElmIHRoZSkxNDQgNDEyLjggUiBGMyhISVNUVElNRUZPUk1BKTIuNjQ1IEUoVCkKIC0uODU1IEUgRjAgLS4yNSh2YSkyLjM5NSBHIC4xNDUKIChyaWFibGUgaXMgc2V0LCB0aGUgdGltZSBzdGFtcCBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggZWFjaCBoaXN0b3J5KQotLjI1IEYgLjY2OShlbnRyeSBpcyB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IFwyMTRsZSwgbWFyaykxNDQgNDI0LjggUiAuNjY5Ci0oZWQgd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3RlciktLjEgRiA1LjY2OCguVyktLjU1IEcgLjY2OAotKGhlbiB0aGUgaGlzdG9yeSktNS42NjggRiAuOTU1KFwyMTRsZSBpcyByZWFkLCBsaW5lcyBiZSkxNDQgNDM2LjggUiAuOTU2Ci0oZ2lubmluZyB3aXRoIHRoZSBoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyIGZvbGxvKS0uMTUgRiAuOTU2Ci0od2VkIGltbWVkaWF0ZWx5IGJ5IGEgZGlnaXQpLS4yNSBGIC40MTYKKy4yNSBGIC42NjgoZW50cnkgaXMgd3JpdHRlbiB0byB0aGUgaGlzdG9yeSBcMjE0bGUsIG1hcmspMTQ0IDQyNC44IFIgLjY2OQorKGVkIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIpLS4xIEYgNS42NjkoLlcpLS41NSBHIC42NjkKKyhoZW4gdGhlIGhpc3RvcnkpLTUuNjY5IEYgLjk1NihcMjE0bGUgaXMgcmVhZCwgbGluZXMgYmUpMTQ0IDQzNi44IFIgLjk1NgorKGdpbm5pbmcgd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3RlciBmb2xsbyktLjE1IEYgLjk1NQorKHdlZCBpbW1lZGlhdGVseSBieSBhIGRpZ2l0KS0uMjUgRiAuNDE1CiAoYXJlIGludGVycHJldGVkIGFzIHRpbWVzdGFtcHMgZm9yIHRoZSBwcmUpMTQ0IDQ0OC44IFIgLjQxNgotKHZpb3VzIGhpc3RvcnkgbGluZS4pLS4yNSBGIC40MTYoVGhlIHJldHVybiB2KTUuNDE2IEYgLjQxNQorKHZpb3VzIGhpc3RvcnkgbGluZS4pLS4yNSBGIC40MTYoVGhlIHJldHVybiB2KTUuNDE2IEYgLjQxNgogKGFsdWUgaXMgMCB1bmxlc3MgYW4gaW4pLS4yNSBGIC0uMjUodmEpLS40IEcobGlkKS4yNSBFIC40OTkob3B0aW9uIGlzIGVcCiBuY291bnRlcmVkLCBhbiBlcnJvciBvY2N1cnMgd2hpbGUgcmVhZGluZyBvciB3cml0aW5nIHRoZSBoaXN0b3J5IFwyMTRsZVwKLSwgYW4gaW4pMTQ0IDQ2MC44IFIgLS4yNSh2YSktLjQgRyhsaWQpLjI1IEUgRjIob2YpMyBFKGZzZXQpLS4xOCBFIEYwKGlzKQotMyBFKHN1cHBsaWVkIGFzIGFuIGFyKTE0NCA0NzIuOCBRKGd1bWVudCB0byktLjE4IEUgRjE8YWQ2ND4yLjUgRSBGMCAyLjUKLSgsbylDIDIuNShydCktMi41IEcoaGUgaGlzdG9yeSBlKS0yLjUgRSh4cGFuc2lvbiBzdXBwbGllZCBhcyBhbiBhciktLjE1Ci1FKGd1bWVudCB0byktLjE4IEUgRjE8YWQ3MD4yLjUgRSBGMCAtLjEoZmEpMi41IEcoaWxzLikuMSBFIEYxKGpvYnMpMTA4Ci00ODkuNiBRIEYwKFspMi41IEUgRjEoXDI1NWxucHJzKUEgRjAgMi41KF1bKUMgRjIoam9ic3BlYylBIEYwKC4uLiBdKTIuNQotRSBGMShqb2JzIFwyNTV4KTEwOCA1MDEuNiBRIEYyKGNvbW1hbmQpMi41IEUgRjAoWykyLjUgRSBGMihhcikyLjUgRShncykKLS0uMzcgRSBGMCguLi4gXSkyLjUgRShUaGUgXDIxNHJzdCBmb3JtIGxpc3RzIHRoZSBhY3RpKTE0NCA1MTMuNiBRIC4zCi0tLjE1KHZlIGopLS4yNSBIIDIuNShvYnMuIFRoZSkuMTUgRihvcHRpb25zIGhhKTIuNSBFIC4zIC0uMTUodmUgdCktLjIgSAotKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMTxhZDZjPjE0NCA1MjUuNiBRIEYwCissIGFuIGluKTE0NCA0NjAuOCBSIC0uMjUodmEpLS40IEcobGlkKS4yNSBFIEYyKG9mKTIuOTk5IEUoZnNldCktLjE4IEUgRjAKKyhpcykyLjk5OSBFKHN1cHBsaWVkIGFzIGFuIGFyKTE0NCA0NzIuOCBRKGd1bWVudCB0byktLjE4IEUgRjE8YWQ2ND4yLjUgRQorRjAgMi41KCxvKUMgMi41KHJ0KS0yLjUgRyhoZSBoaXN0b3J5IGUpLTIuNSBFCisoeHBhbnNpb24gc3VwcGxpZWQgYXMgYW4gYXIpLS4xNSBFKGd1bWVudCB0byktLjE4IEUgRjE8YWQ3MD4yLjUgRSBGMCAtLjEKKyhmYSkyLjUgRyhpbHMuKS4xIEUgRjEoam9icykxMDggNDg5LjYgUSBGMChbKTIuNSBFIEYxKFwyNTVsbnBycylBIEYwIDIuNQorKF1bKUMgRjIoam9ic3BlYylBIEYwKC4uLiBdKTIuNSBFIEYxKGpvYnMgXDI1NXgpMTA4IDUwMS42IFEgRjIoY29tbWFuZCkKKzIuNSBFIEYwKFspMi41IEUgRjIoYXIpMi41IEUoZ3MpLS4zNyBFIEYwKC4uLiBdKTIuNSBFCisoVGhlIFwyMTRyc3QgZm9ybSBsaXN0cyB0aGUgYWN0aSkxNDQgNTEzLjYgUSAuMyAtLjE1KHZlIGopLS4yNSBIIDIuNQorKG9icy4gVGhlKS4xNSBGKG9wdGlvbnMgaGEpMi41IEUgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFCisod2luZyBtZWFuaW5nczopLS4yNSBFIEYxPGFkNmM+MTQ0IDUyNS42IFEgRjAKIChMaXN0IHByb2Nlc3MgSURzIGluIGFkZGl0aW9uIHRvIHRoZSBub3JtYWwgaW5mb3JtYXRpb24uKTI3LjUyIEUgRjEKLTxhZDcwPjE0NCA1MzcuNiBRIEYwKExpc3Qgb25seSB0aGUgcHJvY2VzcyBJRCBvZiB0aGUgam9iJykyNC43NCBFIDIuNQotKHNwKS0uNTUgRyhyb2Nlc3MgZ3JvdXAgbGVhZGVyKS0yLjUgRSguKS0uNTUgRSBGMTxhZDZlPjE0NCA1NDkuNiBRIEYwCi0uMTk0KERpc3BsYXkgaW5mb3JtYXRpb24gb25seSBhYm91dCBqb2JzIHRoYXQgaGEpMjQuNzQgRiAuNDk0IC0uMTUodmUgYykKLS0uMiBIIC4xOTMoaGFuZ2VkIHN0YXR1cyBzaW5jZSB0aGUgdXNlciB3KS4xNSBGIC4xOTMoYXMgbGFzdCBub3RpLSktLjEgRgotKFwyMTRlZCBvZiB0aGVpciBzdGF0dXMuKTE4MCA1NjEuNiBRIEYxPGFkNzI+MTQ0IDU3My42IFEgRjAKKzxhZDZlPjE0NCA1MzcuNiBRIEYwIC4xOTMoRGlzcGxheSBpbmZvcm1hdGlvbiBvbmx5IGFib3V0IGpvYnMgdGhhdCBoYSkKKzI0Ljc0IEYgLjQ5NCAtLjE1KHZlIGMpLS4yIEggLjE5NChoYW5nZWQgc3RhdHVzIHNpbmNlIHRoZSB1c2VyIHcpLjE1IEYKKy4xOTQoYXMgbGFzdCBub3RpLSktLjEgRihcMjE0ZWQgb2YgdGhlaXIgc3RhdHVzLikxODAgNTQ5LjYgUSBGMTxhZDcwPjE0NAorNTYxLjYgUSBGMChMaXN0IG9ubHkgdGhlIHByb2Nlc3MgSUQgb2YgdGhlIGpvYicpMjQuNzQgRSAyLjUoc3ApLS41NSBHCisocm9jZXNzIGdyb3VwIGxlYWRlciktMi41IEUoLiktLjU1IEUgRjE8YWQ3Mj4xNDQgNTczLjYgUSBGMAogKFJlc3RyaWN0IG91dHB1dCB0byBydW5uaW5nIGpvYnMuKTI1Ljg2IEUgRjE8YWQ3Mz4xNDQgNTg1LjYgUSBGMAogKFJlc3RyaWN0IG91dHB1dCB0byBzdG9wcGVkIGpvYnMuKTI2LjQxIEUoSWYpMTQ0IDYwMi40IFEgRjIoam9ic3BlYykKLTQuNTUzIEUgRjAgLjMxMyhpcyBnaSkzLjEyMyBGIC0uMTUodmUpLS4yNSBHIC4zMTMKLShuLCBvdXRwdXQgaXMgcmVzdHJpY3RlZCB0byBpbmZvcm1hdGlvbiBhYm91dCB0aGF0IGpvYikuMTUgRiA1LjMxNCguVCkKLS0uNCBHIC4zMTQoaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyktNS4zMTQgRihhbiBpbikxNDQgNjE0LjQgUSAtLjI1Cis0LjU1NCBFIEYwIC4zMTQoaXMgZ2kpMy4xMjQgRiAtLjE1KHZlKS0uMjUgRyAuMzE0Cisobiwgb3V0cHV0IGlzIHJlc3RyaWN0ZWQgdG8gaW5mb3JtYXRpb24gYWJvdXQgdGhhdCBqb2IpLjE1IEYgNS4zMTMoLlQpCistLjQgRyAuMzEzKGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MpLTUuMzEzIEYoYW4gaW4pMTQ0IDYxNC40IFEgLS4yNQogKHZhKS0uNCBHKGxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQgb3IgYW4gaW4pLjI1IEUgLS4yNSh2YSktLjQgRyhsaWQpLjI1Ci1FIEYyKGpvYnNwZWMpNC4yNCBFIEYwKGlzIHN1cHBsaWVkLikyLjgxIEUgLjM5NShJZiB0aGUpMTQ0IDYzMS4yIFIgRjEKLTxhZDc4PjIuODk1IEUgRjAgLjM5NChvcHRpb24gaXMgc3VwcGxpZWQsKTIuODk0IEYgRjEoam9icykyLjg5NCBFIEYwCitFIEYyKGpvYnNwZWMpNC4yNCBFIEYwKGlzIHN1cHBsaWVkLikyLjgxIEUgLjM5NChJZiB0aGUpMTQ0IDYzMS4yIFIgRjEKKzxhZDc4PjIuODk0IEUgRjAgLjM5NChvcHRpb24gaXMgc3VwcGxpZWQsKTIuODk0IEYgRjEoam9icykyLjg5NCBFIEYwCiAuMzk0KHJlcGxhY2VzIGFuKTIuODk0IEYoeSktLjE1IEUgRjIoam9ic3BlYyk0LjYzNCBFIEYwIC4zOTQoZm91bmQgaW4pCi0zLjIwNCBGIEYyKGNvbW1hbmQpMy4wOTQgRSBGMChvcikzLjY2NCBFIEYyKGFyKTMuMjI0IEUoZ3MpLS4zNyBFIEYwIC4zOTQKKzMuMjA0IEYgRjIoY29tbWFuZCkzLjA5NCBFIEYwKG9yKTMuNjY0IEUgRjIoYXIpMy4yMjQgRShncyktLjM3IEUgRjAgLjM5NQogKHdpdGggdGhlIGNvcnJlLSkzLjE2NCBGKHNwb25kaW5nIHByb2Nlc3MgZ3JvdXAgSUQsIGFuZCBlKTE0NCA2NDMuMiBRCiAtLjE1KHhlKS0uMTUgRyhjdXRlcykuMTUgRSBGMihjb21tYW5kKTIuNyBFIEYwKHBhc3NpbmcgaXQpMy4yNyBFIEYyKGFyKQogMi41IEUoZ3MpLS4zNyBFIEYwIDIuNSgscikuMjcgRyhldHVybmluZyBpdHMgZSktMi41IEUoeGl0IHN0YXR1cy4pLS4xNSBFCkBAIC02NzkwLDYxICs2OTIxLDYxIEBACiA8YWQ2ZT4yLjUgRSBGMihzaWdudW0pMi41IEUgRjAofCkyLjUgRSBGMTxhZD4yLjUgRSBGMihzaWdzcGVjKUEgRjAgMi41CiAoXVspQyBGMihwaWQpLTIuNSBFIEYwKHwpMi41IEUgRjIoam9ic3BlYykyLjUgRSBGMCAyLjUoXS4pQyguLiktMi41IEUgRjEKIChraWxsIFwyNTVsKTEwOCA2NzIgUSBGMChbKTIuNSBFIEYyKHNpZ3NwZWMpQSBGMCh8KTIuNSBFIEYyIC0uMihleCkyLjUgRwotKGl0X3N0YXR1cykuMiBFIEYwKF0pQSAuMTE5KFNlbmQgdGhlIHNpZ25hbCBuYW1lZCBieSkxNDQgNjg0IFIgRjIKLShzaWdzcGVjKTIuOTU5IEUgRjAob3IpMi45MjkgRSBGMihzaWdudW0pMi45NTkgRSBGMCAuMTE5Ci0odG8gdGhlIHByb2Nlc3NlcyBuYW1lZCBieSkyLjkzOSBGIEYyKHBpZCkzLjg3IEUgRjAob3IpMy4zOSBFIEYyCi0oam9ic3BlYykyLjYyIEUgRjAoLikuMzEgRSBGMihzaWdzcGVjKTUuNDYgRSBGMChpcykyLjkzIEUgLjMxOQotKGVpdGhlciBhIGNhc2UtaW5zZW5zaXRpKTE0NCA2OTYgUiAuNjE5IC0uMTUodmUgcyktLjI1IEggLjMxOQotKGlnbmFsIG5hbWUgc3VjaCBhcykuMTUgRiBGMyhTSUdLSUxMKTIuODE5IEUgRjAgLjMxOAotKFwod2l0aCBvciB3aXRob3V0IHRoZSkyLjU2OSBGIEYzKFNJRykyLjgxOCBFIEYwIC4zMTgKLShwcmVcMjE0eFwpIG9yIGEgc2lnbmFsKTIuNTY4IEYobnVtYmVyOykxNDQgNzA4IFEgRjIoc2lnbnVtKTQuMTg4IEUgRjAKLTEuMzQ5KGlzIGEgc2lnbmFsIG51bWJlcik0LjE2OCBGIDYuMzQ5KC5JKS0uNTUgRyhmKS02LjM0OSBFIEYyKHNpZ3NwZWMpCisoaXRfc3RhdHVzKS4yIEUgRjAoXSlBIC4xMihTZW5kIHRoZSBzaWduYWwgbmFtZWQgYnkpMTQ0IDY4NCBSIEYyCisoc2lnc3BlYykyLjk2IEUgRjAob3IpMi45MyBFIEYyKHNpZ251bSkyLjk2IEUgRjAgLjExOQorKHRvIHRoZSBwcm9jZXNzZXMgbmFtZWQgYnkpMi45MzkgRiBGMihwaWQpMy44NjkgRSBGMChvcikzLjM4OSBFIEYyCisoam9ic3BlYykyLjYxOSBFIEYwKC4pLjMxIEUgRjIoc2lnc3BlYyk1LjQ1OSBFIEYwKGlzKTIuOTI5IEUgLjMxOAorKGVpdGhlciBhIGNhc2UtaW5zZW5zaXRpKTE0NCA2OTYgUiAuNjE4IC0uMTUodmUgcyktLjI1IEggLjMxOAorKGlnbmFsIG5hbWUgc3VjaCBhcykuMTUgRiBGMyhTSUdLSUxMKTIuODE4IEUgRjAgLjMxOQorKFwod2l0aCBvciB3aXRob3V0IHRoZSkyLjU2OSBGIEYzKFNJRykyLjgxOSBFIEYwIC4zMTkKKyhwcmVcMjE0eFwpIG9yIGEgc2lnbmFsKTIuNTY5IEYobnVtYmVyOykxNDQgNzA4IFEgRjIoc2lnbnVtKTQuMTg5IEUgRjAKKzEuMzQ5KGlzIGEgc2lnbmFsIG51bWJlcik0LjE2OSBGIDYuMzQ5KC5JKS0uNTUgRyhmKS02LjM0OSBFIEYyKHNpZ3NwZWMpCiA0LjE4OSBFIEYwIDEuMzQ5KGlzIG5vdCBwcmVzZW50LCB0aGVuKTQuMTU5IEYgRjMoU0lHVEVSTSkzLjg0OSBFIEYwCi0xLjM0OShpcyBhc3N1bWVkLikzLjU5OSBGKEFuKTYuMzQ5IEUoYXIpMTQ0IDcyMCBRIC41MjMoZ3VtZW50IG9mKS0uMTggRgorMS4zNDgoaXMgYXNzdW1lZC4pMy41OTkgRihBbik2LjM0OCBFKGFyKTE0NCA3MjAgUSAuNTIyKGd1bWVudCBvZiktLjE4IEYKIEYxPGFkNmM+My4wMjMgRSBGMCAuNTIzKGxpc3RzIHRoZSBzaWduYWwgbmFtZXMuKTMuMDIzIEYgLjUyMyhJZiBhbik1LjUyMwogRiAzLjAyMyh5YSktLjE1IEcgLS4xOChyZyktMy4wMjMgRyAuNTIzKHVtZW50cyBhcmUgc3VwcGxpZWQgd2hlbikuMTggRgogRjE8YWQ2Yz4zLjAyMyBFIEYwIC41MjMoaXMgZ2kpMy4wMjMgRiAtLjE1KHZlKS0uMjUgRyAuNTIzKG4sIHRoZSBuYW1lcykKLS4xNSBGKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg1NykxODUuOTU1IEUgMCBDZworLjE1IEYoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDU4KTE4NS45NTUgRSAwIENnCiBFUAotJSVQYWdlOiA1OCA1OAorJSVQYWdlOiA1OSA1OQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKIC0uMzUgRSAuMjgob2YgdGhlIHNpZ25hbHMgY29ycmVzcG9uZGluZyB0byB0aGUgYXIpMTQ0IDg0IFIgLjI4CiAoZ3VtZW50cyBhcmUgbGlzdGVkLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pLS4xOCBGKFRoZSk1LjI4IEUvRjEgMTAKLS9UaW1lcy1JdGFsaWNAMCBTRiAtLjIoZXgpMi43OCBHKGl0X3N0YXR1cykuMiBFIEYwKGFyKTE0NCA5NiBRIC4zNzgKLShndW1lbnQgdG8pLS4xOCBGL0YyIDEwL1RpbWVzLUJvbGRAMCBTRjxhZDZjPjIuODc4IEUgRjAgLjM3OAotKGlzIGEgbnVtYmVyIHNwZWNpZnlpbmcgZWl0aGVyIGEgc2lnbmFsIG51bWJlciBvciB0aGUgZSkyLjg3OCBGIC4zNzcKLSh4aXQgc3RhdHVzIG9mIGEgcHJvY2VzcyB0ZXJtaS0pLS4xNSBGIC41OTMobmF0ZWQgYnkgYSBzaWduYWwuKTE0NCAxMDggUgorL1RpbWVzLUl0YWxpY0AwIFNGIC0uMihleCkyLjc4IEcoaXRfc3RhdHVzKS4yIEUgRjAoYXIpMTQ0IDk2IFEgLjM3NworKGd1bWVudCB0byktLjE4IEYvRjIgMTAvVGltZXMtQm9sZEAwIFNGPGFkNmM+Mi44NzcgRSBGMCAuMzc4CisoaXMgYSBudW1iZXIgc3BlY2lmeWluZyBlaXRoZXIgYSBzaWduYWwgbnVtYmVyIG9yIHRoZSBlKTIuODc3IEYgLjM3OAorKHhpdCBzdGF0dXMgb2YgYSBwcm9jZXNzIHRlcm1pLSktLjE1IEYgLjU5NChuYXRlZCBieSBhIHNpZ25hbC4pMTQ0IDEwOCBSCiBGMihraWxsKTUuNTkzIEUgRjAgLjU5MyhyZXR1cm5zIHRydWUgaWYgYXQgbGVhc3Qgb25lIHNpZ25hbCB3KTMuMDkzIEYKLS41OTMoYXMgc3VjY2Vzc2Z1bGx5IHNlbnQsIG9yIGYpLS4xIEYgLjU5NChhbHNlIGlmIGFuIGVycm9yKS0uMSBGCisuNTkzKGFzIHN1Y2Nlc3NmdWxseSBzZW50LCBvciBmKS0uMSBGIC41OTMoYWxzZSBpZiBhbiBlcnJvciktLjEgRgogKG9jY3VycyBvciBhbiBpbikxNDQgMTIwIFEgLS4yNSh2YSktLjQgRyhsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkLikuMjUKIEUgRjIobGV0KTEwOCAxMzYuOCBRIEYxKGFyKTIuNSBFKGcpLS4zNyBFIEYwKFspMi41IEUgRjEoYXIpQShnKS0uMzcgRSBGMAotKC4uLl0pMi41IEUoRWFjaCkxNDQgMTQ4LjggUSBGMShhcikzLjAyNyBFKGcpLS4zNyBFIEYwIC4xOTcKLShpcyBhbiBhcml0aG1ldGljIGUpMi45MTcgRiAuMTk3KHhwcmVzc2lvbiB0byBiZSBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRwotLjE5NihsdWF0ZWQgXChzZWUpLjI1IEYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgLjE5NihBUklUSE1FVElDIEVWKTIuNjk2IEYKLShBTFUpLTEuMjE1IEUgLS44NTUoQVQpLS41NCBHKElPTikuODU1IEUgRjAoYWJvKTIuNDQ2IEUgLS4xNSh2ZSktLjE1IEcKLTIuNjk2KFwpLiBJZikuMTUgRih0aGUgbGFzdCkxNDQgMTYwLjggUSBGMShhcikyLjgzIEUoZyktLjM3IEUgRjAgLS4yNQorKC4uLl0pMi41IEUoRWFjaCkxNDQgMTQ4LjggUSBGMShhcikzLjAyNiBFKGcpLS4zNyBFIEYwIC4xOTYKKyhpcyBhbiBhcml0aG1ldGljIGUpMi45MTYgRiAuMTk3KHhwcmVzc2lvbiB0byBiZSBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRworLjE5NyhsdWF0ZWQgXChzZWUpLjI1IEYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgLjE5NyhBUklUSE1FVElDIEVWKTIuNjk3IEYKKyhBTFUpLTEuMjE1IEUgLS44NTUoQVQpLS41NCBHKElPTikuODU1IEUgRjAoYWJvKTIuNDQ3IEUgLS4xNSh2ZSktLjE1IEcKKzIuNjk3KFwpLiBJZikuMTUgRih0aGUgbGFzdCkxNDQgMTYwLjggUSBGMShhcikyLjgzIEUoZyktLjM3IEUgRjAgLS4yNQogKGV2YSkyLjcyIEcobHVhdGVzIHRvIDAsKS4yNSBFIEYyKGxldCkyLjUgRSBGMAogKHJldHVybnMgMTsgMCBpcyByZXR1cm5lZCBvdGhlcndpc2UuKTIuNSBFIEYyKGxvY2FsKTEwOCAxNzcuNiBRIEYwKFspMi41CiBFIEYxKG9wdGlvbilBIEYwIDIuNShdWylDIEYxKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjEodmFsdWUpQSBGMCAyLjUoXS4pQwogKC4uXSktMi41IEUgLS4xNShGbykxNDQgMTg5LjYgUyAyLjU2KHJlKS4xNSBHIC4wNihhY2ggYXIpLTIuNTYgRiAuMDYKIChndW1lbnQsIGEgbG9jYWwgdiktLjE4IEYgLjA2KGFyaWFibGUgbmFtZWQpLS4yNSBGIEYxKG5hbWUpMi45MiBFIEYwIC4wNgogKGlzIGNyZWF0ZWQsIGFuZCBhc3NpZ25lZCkyLjc0IEYgRjEodmFsdWUpMi41NiBFIEYwIDUuMDYoLlQpLjE4IEcoaGUpCi0tNS4wNiBFIEYxKG9wdGlvbikyLjU2IEUgRjAgLjA2KGNhbiBiZSkyLjU2IEYoYW4pMTQ0IDIwMS42IFEgMy4xNTMoeW8pCi0tLjE1IEcgMy4xNTMoZnQpLTMuMTUzIEcgLjY1MyhoZSBvcHRpb25zIGFjY2VwdGVkIGJ5KS0zLjE1MyBGIEYyKGRlY2xhcikKLTMuMTUzIEUoZSktLjE4IEUgRjAgNS42NTIoLlcpQyhoZW4pLTUuNjUyIEUgRjIobG9jYWwpMy4xNTIgRSBGMCAuNjUyCistNS4wNiBFIEYxKG9wdGlvbikyLjU2IEUgRjAgLjA2KGNhbiBiZSkyLjU2IEYoYW4pMTQ0IDIwMS42IFEgMy4xNTIoeW8pCistLjE1IEcgMy4xNTIoZnQpLTMuMTUyIEcgLjY1MihoZSBvcHRpb25zIGFjY2VwdGVkIGJ5KS0zLjE1MiBGIEYyKGRlY2xhcikKKzMuMTUyIEUoZSktLjE4IEUgRjAgNS42NTIoLlcpQyhoZW4pLTUuNjUyIEUgRjIobG9jYWwpMy4xNTIgRSBGMCAuNjUzCiAoaXMgdXNlZCB3aXRoaW4gYSBmdW5jdGlvbiwgaXQgY2F1c2VzIHRoZSB2KTMuMTUyIEYoYXJpLSktLjI1IEUoYWJsZSkxNDQKLTIxMy42IFEgRjEobmFtZSkzLjcyIEUgRjAgLjg2KHRvIGhhKTMuNTQgRiAxLjE2IC0uMTUodmUgYSB2KS0uMiBIIC44NjEKLShpc2libGUgc2NvcGUgcmVzdHJpY3RlZCB0byB0aGF0IGZ1bmN0aW9uIGFuZCBpdHMgY2hpbGRyZW4uKS4xNSBGIC0uNAotKFdpKTUuODYxIEcgLjg2MSh0aCBubyBvcGVyYW5kcywpLjQgRiBGMihsb2NhbCkxNDQgMjI1LjYgUSBGMCAxLjE2NQotKHdyaXRlcyBhIGxpc3Qgb2YgbG9jYWwgdikzLjY2NSBGIDEuMTY1CisyMTMuNiBRIEYxKG5hbWUpMy43MjEgRSBGMCAuODYxKHRvIGhhKTMuNTQxIEYgMS4xNjEgLS4xNSh2ZSBhIHYpLS4yIEgKKy44NjEoaXNpYmxlIHNjb3BlIHJlc3RyaWN0ZWQgdG8gdGhhdCBmdW5jdGlvbiBhbmQgaXRzIGNoaWxkcmVuLikuMTUgRgorLS40KFdpKTUuODYgRyAuODYodGggbm8gb3BlcmFuZHMsKS40IEYgRjIobG9jYWwpMTQ0IDIyNS42IFEgRjAgMS4xNjQKKyh3cml0ZXMgYSBsaXN0IG9mIGxvY2FsIHYpMy42NjQgRiAxLjE2NQogKGFyaWFibGVzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuKS0uMjUgRiAxLjE2NShJdCBpcyBhbiBlcnJvciB0byB1c2UpCi02LjE2NSBGIEYyKGxvY2FsKTMuNjY0IEUgRjAgMS4xNjQod2hlbiBub3QpMy42NjQgRiAuMjMyCi0od2l0aGluIGEgZnVuY3Rpb24uKTE0NCAyMzcuNiBSIC4yMzMoVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MpNS4yMzIKKzYuMTY1IEYgRjIobG9jYWwpMy42NjUgRSBGMCAxLjE2NSh3aGVuIG5vdCkzLjY2NSBGIC4yMzMKKyh3aXRoaW4gYSBmdW5jdGlvbi4pMTQ0IDIzNy42IFIgLjIzMyhUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyk1LjIzMwogRiBGMihsb2NhbCkyLjczMyBFIEYwIC4yMzMoaXMgdXNlZCBvdXRzaWRlIGEgZnVuY3Rpb24sIGFuIGluKTIuNzMzIEYKLS0uMjUodmEpLS40IEcobGlkKS4yNSBFIEYxKG5hbWUpMy4wOTMgRSBGMChpcykyLjkxMyBFKHN1cHBsaWVkLCBvcikxNDQKKy0uMjUodmEpLS40IEcobGlkKS4yNSBFIEYxKG5hbWUpMy4wOTIgRSBGMChpcykyLjkxMiBFKHN1cHBsaWVkLCBvcikxNDQKIDI0OS42IFEgRjEobmFtZSkyLjUgRSBGMChpcyBhIHJlYWRvbmx5IHYpMi41IEUoYXJpYWJsZS4pLS4yNSBFIEYyCiAobG9nb3V0KTEwOCAyNjYuNCBRIEYwKEV4aXQgYSBsb2dpbiBzaGVsbC4pOS4zMyBFIEYyKG1hcFwyMTRsZSkxMDggMjgzLjIKIFEgRjAoWykyLjUgRSBGMjxhZDZlPkEgRjEoY291bnQpMi41IEUgRjAgMi41KF1bKUMgRjI8YWQ0Zj4tMi41IEUgRjEKQEAgLTY4NTYsMjEgKzY5ODcsMjEgQEAKIC0yLjUgRSBGMShvcmlnaW4pMi41IEUgRjAgMi41KF1bKUMgRjI8YWQ3Mz4tMi41IEUgRjEoY291bnQpMi41IEUgRjAgMi41CiAoXVspQyBGMjxhZDc0Pi0yLjUgRSBGMCAyLjUoXVspQyBGMjxhZDc1Pi0yLjUgRSBGMShmZCkyLjUgRSBGMCAyLjUoXVspQwogRjI8YWQ0Mz4tMi41IEUgRjEoY2FsbGJhYykyLjUgRShrKS0uMiBFIEYwIDIuNShdWylDIEYyPGFkNjM+LTIuNSBFIEYxCi0ocXVhbnR1bSkyLjUgRSBGMCAyLjUoXVspQyBGMShhcnIpLTIuNSBFKGF5KS0uMTUgRSBGMChdKUEgLjM1MQorKHF1YW50dW0pMi41IEUgRjAgMi41KF1bKUMgRjEoYXJyKS0yLjUgRShheSktLjE1IEUgRjAoXSlBIC4zNQogKFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZSkxNDQgMzA3LjIgUiAtLjE1KHhlKQotLS4xNSBHIDIuODUxKGRhKS4xNSBHIC4zNTEocnJheSB2KS0yLjg1MSBGKGFyaWFibGUpLS4yNSBFIEYxKGFycikyLjg1IEUKLShheSktLjE1IEUgRjAgMi44NSgsbykuMzIgRyAyLjg1KHJmKS0yLjg1IEcgLjM1KHJvbSBcMjE0bGUgZGVzY3JpcHRvcikKLS0yLjg1IEYgRjEoZmQpMi44NSBFIEYwIDEuMjQ4KGlmIHRoZSkxNDQgMzE5LjIgUiBGMjxhZDc1PjMuNzQ4IEUgRjAKLTEuMjQ4KG9wdGlvbiBpcyBzdXBwbGllZC4pMy43NDggRiAxLjI0OShUaGUgdik2LjI0OSBGKGFyaWFibGUpLS4yNSBFIEYzCi0oTUFQRklMRSkzLjc0OSBFIEYwIDEuMjQ5KGlzIHRoZSBkZWYpMy40OTkgRihhdWx0KS0uMSBFIEYxKGFycikzLjc0OSBFCi0oYXkpLS4xNSBFIEYwIDYuMjQ5KC5PKUMgMS4yNDkocHRpb25zLCBpZiBzdXBwbGllZCwpLTYuMjQ5IEYoaGEpMTQ0Ci0zMzEuMiBRIC4zIC0uMTUodmUgdCktLjIgSChoZSBmb2xsbykuMTUgRSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjI8YWQ2ZT4KLTE0NCAzNDMuMiBRIEYwKENvcCkyNC43NCBFIDIuNSh5YSktLjEgRyAyLjUodG0pLTIuNSBHKG9zdCktMi41IEUgRjEKLShjb3VudCkyLjcgRSBGMCAyLjUobGluZXMuIElmKTMuMTggRiBGMShjb3VudCkyLjUgRSBGMAotKGlzIDAsIGFsbCBsaW5lcyBhcmUgY29waWVkLikyLjUgRSBGMjxhZDRmPjE0NCAzNTUuMiBRIEYwKEJlKTIyLjUyIEUKLShnaW4gYXNzaWduaW5nIHRvKS0uMTUgRSBGMShhcnIpMi44MyBFKGF5KS0uMTUgRSBGMChhdCBpbmRlKTIuODIgRSh4KQotLS4xNSBFIEYxKG9yaWdpbikyLjUgRSBGMCA1KC5UKS4yNCBHKGhlIGRlZiktNSBFKGF1bHQgaW5kZSktLjEgRSAyLjUoeGkpCi0tLjE1IEcgMi41KHMwKS0yLjUgRyguKS0yLjUgRSBGMjxhZDczPjE0NCAzNjcuMiBRIEYwCistLjE1IEcgMi44NTEoZGEpLjE1IEcgLjM1MShycmF5IHYpLTIuODUxIEYoYXJpYWJsZSktLjI1IEUgRjEoYXJyKTIuODUxIEUKKyhheSktLjE1IEUgRjAgMi44NTEoLG8pLjMyIEcgMi44NTEocmYpLTIuODUxIEcgLjM1MQorKHJvbSBcMjE0bGUgZGVzY3JpcHRvciktMi44NTEgRiBGMShmZCkyLjg1MSBFIEYwIDEuMjQ5KGlmIHRoZSkxNDQgMzE5LjIKK1IgRjI8YWQ3NT4zLjc0OSBFIEYwIDEuMjQ5KG9wdGlvbiBpcyBzdXBwbGllZC4pMy43NDkgRiAxLjI0OShUaGUgdik2LjI0OQorRihhcmlhYmxlKS0uMjUgRSBGMyhNQVBGSUxFKTMuNzQ5IEUgRjAgMS4yNDkoaXMgdGhlIGRlZikzLjQ5OSBGKGF1bHQpLS4xCitFIEYxKGFycikzLjc0OCBFKGF5KS0uMTUgRSBGMCA2LjI0OCguTylDIDEuMjQ4KHB0aW9ucywgaWYgc3VwcGxpZWQsKQorLTYuMjQ4IEYoaGEpMTQ0IDMzMS4yIFEgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFCisod2luZyBtZWFuaW5nczopLS4yNSBFIEYyPGFkNmU+MTQ0IDM0My4yIFEgRjAoQ29wKTI0Ljc0IEUgMi41KHlhKS0uMSBHCisyLjUodG0pLTIuNSBHKG9zdCktMi41IEUgRjEoY291bnQpMi43IEUgRjAgMi41KGxpbmVzLiBJZikzLjE4IEYgRjEKKyhjb3VudCkyLjUgRSBGMChpcyAwLCBhbGwgbGluZXMgYXJlIGNvcGllZC4pMi41IEUgRjI8YWQ0Zj4xNDQgMzU1LjIgUSBGMAorKEJlKTIyLjUyIEUoZ2luIGFzc2lnbmluZyB0byktLjE1IEUgRjEoYXJyKTIuODMgRShheSktLjE1IEUgRjAoYXQgaW5kZSkKKzIuODIgRSh4KS0uMTUgRSBGMShvcmlnaW4pMi41IEUgRjAgNSguVCkuMjQgRyhoZSBkZWYpLTUgRShhdWx0IGluZGUpLS4xCitFIDIuNSh4aSktLjE1IEcgMi41KHMwKS0yLjUgRyguKS0yLjUgRSBGMjxhZDczPjE0NCAzNjcuMiBRIEYwCiAoRGlzY2FyZCB0aGUgXDIxNHJzdCkyNi40MSBFIEYxKGNvdW50KTIuNSBFIEYwKGxpbmVzIHJlYWQuKTIuNSBFIEYyCiA8YWQ3ND4xNDQgMzc5LjIgUSBGMChSZW1vKTI2Ljk3IEUgLjMgLS4xNSh2ZSBhIHQpLS4xNSBIKHJhaWxpbmcgbmUpLjE1IEUKICh3bGluZSBmcm9tIGVhY2ggbGluZSByZWFkLiktLjI1IEUgRjI8YWQ3NT4xNDQgMzkxLjIgUSBGMApAQCAtNjg4MCwxMzIzICs3MDExLDEzNzYgQEAKIDIuNSBFIEYwKGxpbmVzIGFyZSByZWFkLikyLjUgRShUaGUpNSBFIEYyPGFkNjM+Mi41IEUgRjAKIChvcHRpb24gc3BlY2lcMjE0ZXMpMi41IEUgRjEocXVhbnR1bSkyLjUgRSBGMCguKS4zMiBFIEYyPGFkNjM+MTQ0IDQxNS4yCiBRIEYwKFNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyByZWFkIGJldHdlZW4gZWFjaCBjYWxsIHRvKTI1Ljg2IEUgRjEKLShjYWxsYmFjKTIuNSBFKGspLS4yIEUgRjAoLikuNjcgRShJZikxNDQgNDMyIFEgRjI8YWQ0Mz4yLjk2OCBFIEYwIC40NjcKKyhjYWxsYmFjKTIuNSBFKGspLS4yIEUgRjAoLikuNjcgRShJZikxNDQgNDMyIFEgRjI8YWQ0Mz4yLjk2NyBFIEYwIC40NjcKIChpcyBzcGVjaVwyMTRlZCB3aXRob3V0KTIuOTY3IEYgRjI8YWQ2Mz4yLjk2NyBFIEYwIDIuOTY3KCx0KUMgLjQ2NwogKGhlIGRlZiktMi45NjcgRiAuNDY3KGF1bHQgcXVhbnR1bSBpcyA1MDAwLiktLjEgRihXaGVuKTUuNDY3IEUgRjEKIChjYWxsYmFjKTIuOTY3IEUoayktLjIgRSBGMCAuNDY3KGlzIGUpMi45NjcgRiAtLjI1KHZhKS0uMjUgRyAuNDY3Ci0obHVhdGVkLCBpdCBpcyBzdXAtKS4yNSBGIDEuMjIocGxpZWQgdGhlIGluZGUpMTQ0IDQ0NCBSIDMuNzIoeG8pLS4xNSBHCi0zLjcyKGZ0KS0zLjcyIEcgMS4yMihoZSBuZSktMy43MiBGIDEuMjIKLSh4dCBhcnJheSBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXIpLS4xNSBGKGd1bWVudC4pLS4xOAotRSBGMShjYWxsYmFjKTYuMjIgRShrKS0uMiBFIEYwKGlzKTMuNzIgRSAtLjI1KGV2YSkxNDQgNDU2IFMKLShsdWF0ZWQgYWZ0ZXIgdGhlIGxpbmUgaXMgcmVhZCBiKS4yNSBFCi0odXQgYmVmb3JlIHRoZSBhcnJheSBlbGVtZW50IGlzIGFzc2lnbmVkLiktLjIgRQotKElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGUpMTQ0IDQ3Mi44IFEoeHBsaWNpdCBvcmlnaW4sKS0uMTUgRSBGMgorKGx1YXRlZCwgaXQgaXMgc3VwLSkuMjUgRiAuMjYyKHBsaWVkIHRoZSBpbmRlKTE0NCA0NDQgUiAyLjc2Mih4byktLjE1IEcKKzIuNzYyKGZ0KS0yLjc2MiBHIC4yNjIoaGUgbmUpLTIuNzYyIEYgLjI2MSh4dCBhcnJheSBlbGVtZW50IHRvIGJlIGFzc2lnXAorbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnQpLS4xNSBGIC4yNzQKKyhhcyBhZGRpdGlvbmFsIGFyKTE0NCA0NTYgUihndW1lbnRzLiktLjE4IEUgRjEoY2FsbGJhYyk1LjI3NCBFKGspLS4yIEUKK0YwIC4yNzQoaXMgZSkyLjc3NCBGIC0uMjUodmEpLS4yNSBHIC4yNzQKKyhsdWF0ZWQgYWZ0ZXIgdGhlIGxpbmUgaXMgcmVhZCBiKS4yNSBGIC4yNzUKKyh1dCBiZWZvcmUgdGhlIGFycmF5IGVsZW1lbnQgaXMpLS4yIEYoYXNzaWduZWQuKTE0NCA0NjggUQorKElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGUpMTQ0IDQ4NC44IFEoeHBsaWNpdCBvcmlnaW4sKS0uMTUgRSBGMgogKG1hcFwyMTRsZSkyLjUgRSBGMCh3aWxsIGNsZWFyKTIuNSBFIEYxKGFycikyLjUgRShheSktLjE1IEUgRjAKLShiZWZvcmUgYXNzaWduaW5nIHRvIGl0LikyLjUgRSBGMihtYXBcMjE0bGUpMTQ0IDQ4OS42IFEgRjAgMS45MDYKKyhiZWZvcmUgYXNzaWduaW5nIHRvIGl0LikyLjUgRSBGMihtYXBcMjE0bGUpMTQ0IDUwMS42IFEgRjAgMS45MDYKIChyZXR1cm5zIHN1Y2Nlc3NmdWxseSB1bmxlc3MgYW4gaW4pNC40MDYgRiAtLjI1KHZhKS0uNCBHIDEuOTA1CiAobGlkIG9wdGlvbiBvciBvcHRpb24gYXIpLjI1IEYgMS45MDUoZ3VtZW50IGlzIHN1cHBsaWVkLCktLjE4IEYgRjEoYXJyKQotNC40MDUgRShheSktLjE1IEUgRjAoaXMpNC40MDUgRShpbikxNDQgNTAxLjYgUSAtLjI1KHZhKS0uNCBHCis0LjQwNSBFKGF5KS0uMTUgRSBGMChpcyk0LjQwNSBFKGluKTE0NCA1MTMuNiBRIC0uMjUodmEpLS40IEcKIChsaWQgb3IgdW5hc3NpZ25hYmxlLCBvciBpZikuMjUgRSBGMShhcnIpMi41IEUoYXkpLS4xNSBFIEYwCiAoaXMgbm90IGFuIGluZGUpMi41IEUgLS4xNSh4ZSktLjE1IEcgMi41KGRhKS4xNSBHKHJyYXkpLTIuNSBFKC4pLS42NSBFCi1GMihwb3BkKTEwOCA1MTguNCBRIEYwPDViYWQ+Mi41IEUgRjIobilBIEYwIDIuNShdWylDKCspLTIuNSBFIEYxKG4pQSBGMAotMi41KF1bKUM8YWQ+LTIuNSBFIEYxKG4pQSBGMChdKUEoUmVtbykxNDQgNTMwLjQgUSAtLjE1KHZlKS0uMTUgRyAyLjc5OQorRjIocG9wZCkxMDggNTMwLjQgUSBGMDw1YmFkPjIuNSBFIEYyKG4pQSBGMCAyLjUoXVspQygrKS0yLjUgRSBGMShuKUEgRjAKKzIuNShdWylDPGFkPi0yLjUgRSBGMShuKUEgRjAoXSlBKFJlbW8pMTQ0IDU0Mi40IFEgLS4xNSh2ZSktLjE1IEcgMi43OTkKIChzZSkuMTUgRyAuMjk5KG50cmllcyBmcm9tIHRoZSBkaXJlY3Rvcnkgc3RhY2suKS0yLjc5OSBGIC0uNChXaSk1LjI5OSBHCiAuMjk5KHRoIG5vIGFyKS40IEYgLjI5OShndW1lbnRzLCByZW1vKS0uMTggRiAtLjE1KHZlKS0uMTUgRyAyLjc5OShzdCkuMTUKIEcgLjMoaGUgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSktMi43OTkgRiAxLjQ3OShzdGFjaywgYW5kIHBlcmZvcm1zIGEpMTQ0Ci01NDIuNCBSIEYyKGNkKTMuOTc5IEUgRjAgMS40NzkodG8gdGhlIG5lKTMuOTc5IEYgMy45Nzkod3QpLS4yNSBHIDEuNDc5Cis1NTQuNCBSIEYyKGNkKTMuOTc5IEUgRjAgMS40NzkodG8gdGhlIG5lKTMuOTc5IEYgMy45Nzkod3QpLS4yNSBHIDEuNDc5CiAob3AgZGlyZWN0b3J5KS0zLjk3OSBGIDYuNDc5KC5BKS0uNjUgRyAtLjE4KHJnKS02LjQ3OSBHIDEuNDc4CiAodW1lbnRzLCBpZiBzdXBwbGllZCwgaGEpLjE4IEYgMS43NzggLS4xNSh2ZSB0KS0uMiBIIDEuNDc4KGhlIGZvbGxvKS4xNQotRih3aW5nKS0uMjUgRShtZWFuaW5nczopMTQ0IDU1NC40IFEgRjI8YWQ2ZT4xNDQgNTY2LjQgUSBGMCAuNTUxCitGKHdpbmcpLS4yNSBFKG1lYW5pbmdzOikxNDQgNTY2LjQgUSBGMjxhZDZlPjE0NCA1NzguNCBRIEYwIC41NTEKIChTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3aGVuIHJlbW8pMjQuNzQgRiAuNTUxCiAodmluZyBkaXJlY3RvcmllcyBmcm9tIHRoZSBzdGFjaywgc28pLS4xNSBGCi0odGhhdCBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC4pMTgwIDU3OC40IFEgRjIoKykxNDQgNTkwLjQgUSBGMShuKUEKKyh0aGF0IG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLikxODAgNTkwLjQgUSBGMigrKTE0NCA2MDIuNCBRIEYxKG4pQQogRjAoUmVtbykyNS4zIEUgLS4xNSh2ZSktLjE1IEcgMi42NChzdCkuMTUgRyhoZSktMi42NCBFIEYxKG4pMi42NCBFIEYwCiAuMTQodGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG8pQiAuMTQod24gYnkpLS4yNSBGCiBGMihkaXJzKTIuNjQgRSBGMCAyLjY0KCxzKUMgLjE0KHRhcnRpbmcgd2l0aCB6ZXJvLiktMi42NCBGIC0uMTUoRm8pMTgwCi02MDIuNCBTIDIuNShyZSkuMTUgRyh4YW1wbGU6KS0yLjY1IEUvRjQgMTAvQ291cmllckAwIFNGKHBvcGQgKzApMi41IEUgRjAKKzYxNC40IFMgMi41KHJlKS4xNSBHKHhhbXBsZTopLTIuNjUgRS9GNCAxMC9Db3VyaWVyQDAgU0YocG9wZCArMCkyLjUgRSBGMAogKHJlbW8pMi41IEUgLS4xNSh2ZSktLjE1IEcgMi41KHN0KS4xNSBHKGhlIFwyMTRyc3QgZGlyZWN0b3J5KS0yLjUgRSgsKQotLS42NSBFIEY0KHBvcGQgKzEpMi41IEUgRjAodGhlIHNlY29uZC4pMi41IEUgRjI8YWQ+MTQ0IDYxNC40IFEgRjEobilBIEYwCistLjY1IEUgRjQocG9wZCArMSkyLjUgRSBGMCh0aGUgc2Vjb25kLikyLjUgRSBGMjxhZD4xNDQgNjI2LjQgUSBGMShuKUEgRjAKIChSZW1vKTI1LjMgRSAtLjE1KHZlKS0uMTUgRyAzLjc1OShzdCkuMTUgRyhoZSktMy43NTkgRSBGMShuKTMuNzU5IEUgRjAKIDEuMjU5KHRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNobylCIDEuMjYod24gYnkpLS4yNQogRiBGMihkaXJzKTMuNzYgRSBGMCAzLjc2KCxzKUMgMS4yNih0YXJ0aW5nIHdpdGgpLTMuNzYgRiAyLjUoemVyby4gRikxODAKLTYyNi40IFIob3IgZSktLjE1IEUoeGFtcGxlOiktLjE1IEUgRjQocG9wZCAtMCkyLjUgRSBGMChyZW1vKTIuNSBFIC0uMTUKKzYzOC40IFIob3IgZSktLjE1IEUoeGFtcGxlOiktLjE1IEUgRjQocG9wZCAtMCkyLjUgRSBGMChyZW1vKTIuNSBFIC0uMTUKICh2ZSktLjE1IEcgMi41KHN0KS4xNSBHKGhlIGxhc3QgZGlyZWN0b3J5KS0yLjUgRSgsKS0uNjUgRSBGNChwb3BkIC0xKTIuNQotRSBGMCh0aGUgbmUpMi41IEUoeHQgdG8gbGFzdC4pLS4xNSBFIC42NDQoSWYgdGhlKTE0NCA2NDMuMiBSIEYyKHBvcGQpCitFIEYwKHRoZSBuZSkyLjUgRSh4dCB0byBsYXN0LiktLjE1IEUgLjY0NChJZiB0aGUpMTQ0IDY1NS4yIFIgRjIocG9wZCkKIDMuMTQ0IEUgRjAgLjY0NChjb21tYW5kIGlzIHN1Y2Nlc3NmdWwsIGEpMy4xNDQgRiBGMihkaXJzKTMuMTQzIEUgRjAgLjY0MwogKGlzIHBlcmZvcm1lZCBhcyB3ZWxsLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pMy4xNDMgRiBGMihwb3BkKTUuNjQzCi1FIEYwIC40MTUocmV0dXJucyBmKTE0NCA2NTUuMiBSIC40MTUoYWxzZSBpZiBhbiBpbiktLjEgRiAtLjI1KHZhKS0uNCBHCitFIEYwIC40MTUocmV0dXJucyBmKTE0NCA2NjcuMiBSIC40MTUoYWxzZSBpZiBhbiBpbiktLjEgRiAtLjI1KHZhKS0uNCBHCiAuNDE1KGxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsIHRoZSBkaXJlY3Rvcnkgc3RhY2sgaXMgZW1wdHkpLjI1IEYgMi45MTYKICgsYW4pLS42NSBHKG9uLWUpLTIuOTE2IEUgLjQxNih4aXN0ZW50IGRpcmVjLSktLjE1IEYKLSh0b3J5IHN0YWNrIGVudHJ5IGlzIHNwZWNpXDIxNGVkLCBvciB0aGUgZGlyZWN0b3J5IGNoYW5nZSBmKTE0NCA2NjcuMiBRCi0oYWlscy4pLS4xIEUgRjIocHJpbnRmKTEwOCA2ODQgUSBGMChbKTIuNSBFIEYyPGFkNzY+QSBGMSh2YXIpMi41IEUgRjAoXSkKLUEgRjEoZm9ybWF0KTIuNSBFIEYwKFspMi41IEUgRjEoYXIpQShndW1lbnRzKS0uMzcgRSBGMChdKUEgLjM3MgotKFdyaXRlIHRoZSBmb3JtYXR0ZWQpMTQ0IDY5NiBSIEYxKGFyKTIuODcyIEUoZ3VtZW50cyktLjM3IEUgRjAgLjM3MgotKHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgdW5kZXIgdGhlIGNvbnRyb2wgb2YgdGhlKTIuODcyIEYgRjEoZm9ybWF0KTIuODcyCi1FIEYwIDUuMzcyKC5UKUMoaGUpLTUuMzcyIEUgRjEoZm9ybWF0KTIuODcyIEUgRjAgMS44MDQoaXMgYSBjaGFyYWN0ZXIgc1wKLXRyaW5nIHdoaWNoIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIG9iamVjdHM6IHBsYWluIGNoYXJhY3RlcnMsIHdoaWNoIGFyXAotZSBzaW1wbHkpMTQ0IDcwOCBSIDEuODU5Ci0oY29waWVkIHRvIHN0YW5kYXJkIG91dHB1dCwgY2hhcmFjdGVyIGVzY2FwZSBzZXF1ZW5jZXMsIHdoaWNoIGFyZSBjb24pCi0xNDQgNzIwIFIgLS4xNSh2ZSktLjQgRyAxLjg1OChydGVkIGFuZCBjb3BpZWQgdG8gdGhlKS4xNSBGKEdOVSBCYXNoLTQuMSkKLTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDU4KTE4NS45NTUgRSAwIENnIEVQCi0lJVBhZ2U6IDU5IDU5Ci0lJUJlZ2luUGFnZVNldHVwCi1CUAotJSVFbmRQYWdlU2V0dXAKLS9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFIDEuMTcxKHN0YW5kYXJkIG91dHB1dCwgYW5kIGZvcm1hdCBzcGVjaVwyMTRjYXRpb25zLCBlYWNoIG9mIHdoaWNcCi1oIGNhdXNlcyBwcmludGluZyBvZiB0aGUgbmUpMTQ0IDg0IFIgMS4xNzIoeHQgc3VjY2Vzc2kpLS4xNSBGIC0uMTUodmUpCi0tLjI1IEcvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YoYXIpMTQ0IDk2IFEoZ3VtZW50KS0uMzcgRSBGMCA2LjI3NCguSSlDCi0zLjc3NChuYSktNi4yNzQgRyAxLjI3NChkZGl0aW9uIHRvIHRoZSBzdGFuZGFyZCktMy43NzQgRiBGMShwcmludGYpMy43NzQKLUUgRjAgMS4yNzQoXCgxXCkgZm9ybWF0cywpQi9GMiAxMC9UaW1lcy1Cb2xkQDAgU0YoJWIpMy43NzQgRSBGMChjYXVzZXMpCi0zLjc3NCBFIEYyKHByaW50ZikzLjc3NCBFIEYwIDEuMjczKHRvIGUpMy43NzQgRiAxLjI3Myh4cGFuZCBiYWNrc2xhc2gpCi0tLjE1IEYgLjYxOShlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nKTE0NCAxMDggUiBGMShhcikzLjExOQotRShndW1lbnQpLS4zNyBFIEYwKFwoZSkzLjExOSBFIC42MTkoeGNlcHQgdGhhdCktLjE1IEYgRjIoXFxjKTMuMTE5IEUgRjAKLS42Mih0ZXJtaW5hdGVzIG91dHB1dCwgYmFja3NsYXNoZXMgaW4pMy4xMTkgRiBGMjw1YzA4PjE0NCAxMjAgUSBGMCgsKUEKLUYyKFxcIikyLjk4NSBFIEYwIDIuOTg1KCxhKUMobmQpLTIuOTg1IEUgRjIoXFw/KTIuOTg1IEUgRjAgLjQ4NQotKGFyZSBub3QgcmVtbykyLjk4NSBGIC0uMTUodmUpLS4xNSBHIC40ODUoZCwgYW5kIG9jdGFsIGVzY2FwZXMgYmUpLjE1IEYKLS40ODQoZ2lubmluZyB3aXRoKS0uMTUgRiBGMihcXDApMi45ODQgRSBGMCAuNDg0Ci0obWF5IGNvbnRhaW4gdXAgdG8gZm91ciBkaWdpdHNcKSwpMi45ODQgRihhbmQpMTQ0IDEzMiBRIEYyKCVxKTIuNTY3IEUgRjAKLShjYXVzZXMpMi41NjcgRSBGMihwcmludGYpMi41NjcgRSBGMCAuMDY3KHRvIG91dHB1dCB0aGUgY29ycmVzcG9uZGluZykKLTIuNTY3IEYgRjEoYXIpMi41NjggRShndW1lbnQpLS4zNyBFIEYwIC4wNjgKLShpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwpMi41NjggRihpbnB1dC4pMTQ0IDE0NCBRKFRoZSkKLTE0NCAxNjggUSBGMjxhZDc2PjIuOTA0IEUgRjAgLjQwNAotKG9wdGlvbiBjYXVzZXMgdGhlIG91dHB1dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgdikyLjkwNCBGKGFyaWFibGUpLS4yNSBFCi1GMSh2YXIpMi45MDQgRSBGMCAuNDA0KHJhdGhlciB0aGFuIGJlaW5nIHByaW50ZWQgdG8gdGhlKTIuOTA0IEYKLShzdGFuZGFyZCBvdXRwdXQuKTE0NCAxODAgUShUaGUpMTQ0IDIwNCBRIEYxKGZvcm1hdCkzLjQyMyBFIEYwIC45MjMKLShpcyByZXVzZWQgYXMgbmVjZXNzYXJ5IHRvIGNvbnN1bWUgYWxsIG9mIHRoZSkzLjQyMyBGIEYxKGFyKTMuNDIzIEUKLShndW1lbnRzKS0uMzcgRSBGMCA1LjkyMyguSSlDIDMuNDIzKGZ0KS01LjkyMyBHKGhlKS0zLjQyMyBFIEYxKGZvcm1hdCkKLTMuNDIzIEUgRjAgLjkyNChyZXF1aXJlcyBtb3JlKTMuNDI0IEYgRjEoYXIpMTQ0IDIxNiBRKGd1bWVudHMpLS4zNyBFIEYwCi0uMDMzKHRoYW4gYXJlIHN1cHBsaWVkLCB0aGUgZSkyLjUzNCBGIC4wMzMKLSh4dHJhIGZvcm1hdCBzcGVjaVwyMTRjYXRpb25zIGJlaGEpLS4xNSBGIC4zMzMgLS4xNSh2ZSBhKS0uMiBIIDIuNTMzKHNpKQotLjE1IEcgMi41MzMoZmF6KS0yLjUzMyBHIC4wMzMoZXJvIHYpLTIuNTMzIEYgLjAzMyhhbHVlIG9yIG51bGwgc3RyaW5nLCkKLS0uMjUgRihhcyBhcHByb3ByaWF0ZSwgaGFkIGJlZW4gc3VwcGxpZWQuKTE0NCAyMjggUShUaGUgcmV0dXJuIHYpNSBFCi0oYWx1ZSBpcyB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvIG9uIGYpLS4yNSBFKGFpbHVyZS4pLS4xIEUgRjIocHVzaGQpCi0xMDggMjQ0LjggUSBGMChbKTIuNSBFIEYyPGFkNmU+QSBGMCAyLjUoXVspQygrKS0yLjUgRSBGMShuKUEgRjAgMi41KF1bKUMKLTxhZD4tMi41IEUgRjEobilBIEYwKF0pQSBGMihwdXNoZCkxMDggMjU2LjggUSBGMChbKTIuNSBFIEYyPGFkNmU+QSBGMAotMi41KF1bKUMgRjEoZGlyKS0yLjUgRSBGMChdKUEgLjYzOShBZGRzIGEgZGlyZWN0b3J5IHRvIHRoZSB0b3Agb2YgdGhlIGRcCi1pcmVjdG9yeSBzdGFjaywgb3Igcm90YXRlcyB0aGUgc3RhY2ssIG1ha2luZyB0aGUgbmUpMTQ0IDI2OC44IFIgMy4xNCh3dCkKLS0uMjUgRyAuNjQob3Agb2YgdGhlKS0zLjE0IEYgMS4zMTYoc3RhY2sgdGhlIGN1cnJlbnQgdykxNDQgMjgwLjggUiAxLjMxNgotKG9ya2luZyBkaXJlY3RvcnkpLS4xIEYgNi4zMTYoLlcpLS42NSBHIDEuMzE1KGl0aCBubyBhciktNi43MTYgRiAxLjMxNQotKGd1bWVudHMsIGUpLS4xOCBGIDEuMzE1KHhjaGFuZ2VzIHRoZSB0b3AgdHcpLS4xNSBGIDMuODE1KG9kKS0uMSBHIDEuMzE1Ci0oaXJlY3RvcmllcyBhbmQpLTMuODE1IEYgLjg3MQotKHJldHVybnMgMCwgdW5sZXNzIHRoZSBkaXJlY3Rvcnkgc3RhY2sgaXMgZW1wdHkpMTQ0IDI5Mi44IFIgNS44NzEoLkEpCi0tLjY1IEcgLS4xOChyZyktNS44NzEgRyAuODcyKHVtZW50cywgaWYgc3VwcGxpZWQsIGhhKS4xOCBGIDEuMTcyIC0uMTUKLSh2ZSB0KS0uMiBIIC44NzIoaGUgZm9sbG8pLjE1IEYgLjg3Mih3aW5nIG1lYW4tKS0uMjUgRihpbmdzOikxNDQgMzA0LjggUQotRjI8YWQ2ZT4xNDQgMzE2LjggUSBGMCAuOTAyKFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdcCi1oZW4gYWRkaW5nIGRpcmVjdG9yaWVzIHRvIHRoZSBzdGFjaywgc28gdGhhdCkyNC43NCBGCi0ob25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuKTE4MCAzMjguOCBRIEYyKCspMTQ0IDM0MC44IFEgRjEobilBIEYwCi0xLjI2NyhSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSkyNS4zIEYgRjEobikzLjc2NyBFIEYwIDEuMjY4Ci0odGggZGlyZWN0b3J5IFwoY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG8pQiAxLjI2OCh3biBieSkKLS0uMjUgRiBGMihkaXJzKTE4MCAzNTIuOCBRIEYwIDIuNSgscylDCi0odGFydGluZyB3aXRoIHplcm9cKSBpcyBhdCB0aGUgdG9wLiktMi41IEUgRjI8YWQ+MTQ0IDM2NC44IFEgRjEobilBIEYwCi0uOTIoUm90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUpMjUuMyBGIEYxKG4pMy40MiBFIEYwIC45MgotKHRoIGRpcmVjdG9yeSBcKGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNobylCIC45Mih3biBieSktLjI1Ci1GIEYyKGRpcnMpMTgwIDM3Ni44IFEgRjAgMi41KCxzKUModGFydGluZyB3aXRoIHplcm9cKSBpcyBhdCB0aGUgdG9wLikKLS0yLjUgRSBGMShkaXIpMTQ0LjM1IDM4OC44IFEgRjAoQWRkcykyMy45OCBFIEYxKGRpcikyLjg1IEUgRjAKLSh0byB0aGUgZGlyZWN0b3J5IHN0YWNrIGF0IHRoZSB0b3AsIG1ha2luZyBpdCB0aGUgbmUpMy4yMyBFIDIuNSh3YyktLjI1Ci1HKHVycmVudCB3KS0yLjUgRShvcmtpbmcgZGlyZWN0b3J5KS0uMSBFKC4pLS42NSBFIC40ODgoSWYgdGhlKTE0NCA0MDUuNgotUiBGMihwdXNoZCkyLjk4OCBFIEYwIC40ODgoY29tbWFuZCBpcyBzdWNjZXNzZnVsLCBhKTIuOTg4IEYgRjIoZGlycykKLTIuOTg4IEUgRjAgLjQ4OChpcyBwZXJmb3JtZWQgYXMgd2VsbC4pMi45ODggRiAuNDg5Ci0oSWYgdGhlIFwyMTRyc3QgZm9ybSBpcyB1c2VkLCk1LjQ4OCBGIEYyKHB1c2hkKTIuOTg5IEUgRjAgMS4wNAotKHJldHVybnMgMCB1bmxlc3MgdGhlIGNkIHRvKTE0NCA0MTcuNiBSIEYxKGRpcikzLjg5IEUgRjAgLS4xKGZhKTQuMjcgRwotMy41MzkoaWxzLiBXKS4xIEYgMS4wMzkoaXRoIHRoZSBzZWNvbmQgZm9ybSwpLS40IEYgRjIocHVzaGQpMy41MzkgRSBGMAotMS4wMzkocmV0dXJucyAwIHVubGVzcyB0aGUgZGlyZWN0b3J5KTMuNTM5IEYgLjg0NihzdGFjayBpcyBlbXB0eSkxNDQKLTQyOS42IFIgMy4zNDYoLGFuKS0uNjUgRyhvbi1lKS0zLjM0NiBFIC44NDcoeGlzdGVudCBkaXJlY3Rvcnkgc3RhY2sgZWxlXAotbWVudCBpcyBzcGVjaVwyMTRlZCwgb3IgdGhlIGRpcmVjdG9yeSBjaGFuZ2UgdG8gdGhlKS0uMTUgRgotKHNwZWNpXDIxNGVkIG5lKTE0NCA0NDEuNiBRIDIuNSh3YyktLjI1IEcodXJyZW50IGRpcmVjdG9yeSBmKS0yLjUgRQotKGFpbHMuKS0uMSBFIEYyKHB3ZCkxMDggNDU4LjQgUSBGMChbKTIuNSBFIEYyKFwyNTVMUClBIEYwKF0pQSAuODQ1Ci0oUHJpbnQgdGhlIGFic29sdXRlIHBhdGhuYW1lIG9mIHRoZSBjdXJyZW50IHcpMTQ0IDQ3MC40IFIgLjg0NQotKG9ya2luZyBkaXJlY3RvcnkpLS4xIEYgNS44NDQoLlQpLS42NSBHIC44NDQKLShoZSBwYXRobmFtZSBwcmludGVkIGNvbnRhaW5zIG5vKS01Ljg0NCBGIC4xODEoc3ltYm9saWMgbGlua3MgaWYgdGhlKTE0NAotNDgyLjQgUiBGMjxhZDUwPjIuNjgxIEUgRjAgLjE4MShvcHRpb24gaXMgc3VwcGxpZWQgb3IgdGhlKTIuNjgxIEYgRjIKLS4xODEoXDI1NW8gcGgpMi42ODEgRih5c2ljYWwpLS4xNSBFIEYwIC4xODEob3B0aW9uIHRvIHRoZSkyLjY4MSBGIEYyCi0oc2V0KTIuNjgxIEUgRjAgLS4yKGJ1KTIuNjgxIEcgLjE4MihpbHRpbiBjb21tYW5kIGlzKS4yIEYgMy4yNjQKLShlbmFibGVkLiBJZikxNDQgNDk0LjQgUih0aGUpMy4yNjQgRSBGMjxhZDRjPjMuMjY0IEUgRjAgLjc2MwotKG9wdGlvbiBpcyB1c2VkLCB0aGUgcGF0aG5hbWUgcHJpbnRlZCBtYXkgY29udGFpbiBzeW1ib2xpYyBsaW5rcy4pMy4yNjQKLUYgLjc2MyhUaGUgcmV0dXJuKTUuNzYzIEYgMS4zNihzdGF0dXMgaXMgMCB1bmxlc3MgYW4gZXJyb3Igb2NjdXJzIHdoaWxlXAotIHJlYWRpbmcgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IG9yIGFuIGluKTE0NCA1MDYuNCBSIC0uMjUodmEpCi0tLjQgRyhsaWQpLjI1IEUob3B0aW9uIGlzIHN1cHBsaWVkLikxNDQgNTE4LjQgUSBGMiAtLjE4KHJlKTEwOCA1MzUuMiBTCi0oYWQpLjE4IEUgRjAoWykzLjgxNyBFIEYyKFwyNTVlcnMpQSBGMCAzLjgxNyhdWylDIEYyPGFkNjE+LTMuODE3IEUgRjEKLShhbmFtZSkzLjgxNyBFIEYwIDMuODE3KF1bKUMgRjI8YWQ2ND4tMy44MTcgRSBGMShkZWxpbSkzLjgxNyBFIEYwIDMuODE3Ci0oXVspQyBGMjxhZDY5Pi0zLjgxNyBFIEYxKHRlKTMuODE3IEUoeHQpLS4yIEUgRjAgMy44MTcoXVspQyBGMjxhZDZlPgotLTMuODE3IEUgRjEobmMpMy44MTYgRShoYXIpLS4xNSBFKHMpLS4xIEUgRjAgMy44MTYoXVspQyBGMjxhZDRlPi0zLjgxNiBFCi1GMShuYykzLjgxNiBFKGhhciktLjE1IEUocyktLjEgRSBGMCAzLjgxNihdWylDIEYyPGFkNzA+LTMuODE2IEUgRjEocHIpCi0zLjgxNiBFKG9tcHQpLS40NSBFIEYwIDMuODE2KF1bKUMgRjI8YWQ3ND4tMy44MTYgRSBGMSh0aW1lb3V0KTMuODE2IEUgRjAKLTMuODE2KF1bKUMgRjI8YWQ3NT4tMy44MTYgRSBGMShmZCkzLjgxNiBFIEYwKF0pQShbKTEwOCA1NDcuMiBRIEYxKG5hbWUpQQotRjAoLi4uXSkyLjUgRSAuNTE2KE9uZSBsaW5lIGlzIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIG9yIGZyb20gdGhcCi1lIFwyMTRsZSBkZXNjcmlwdG9yKTE0NCA1NTkuMiBSIEYxKGZkKTMuMDE2IEUgRjAgLjUxNihzdXBwbGllZCBhcyBhbiBhcikKLTMuMDE2IEYgLjUxNihndW1lbnQgdG8pLS4xOCBGKHRoZSkxNDQgNTcxLjIgUSBGMjxhZDc1PjIuNTM4IEUgRjAgLjAzOAotKG9wdGlvbiwgYW5kIHRoZSBcMjE0cnN0IHcpMi41MzggRiAuMDM4KG9yZCBpcyBhc3NpZ25lZCB0byB0aGUgXDIxNHJzdCkKLS0uMSBGIEYxKG5hbWUpMi41MzkgRSBGMCAyLjUzOSgsdCkuMTggRyAuMDM5KGhlIHNlY29uZCB3KS0yLjUzOSBGIC4wMzkKLShvcmQgdG8gdGhlIHNlY29uZCktLjEgRiBGMShuYW1lKTIuNTM5IEUgRjAoLCkuMTggRSAuNDIKLShhbmQgc28gb24sIHdpdGggbGVmdG8pMTQ0IDU4My4yIFIgLS4xNSh2ZSktLjE1IEcgMi45MihydykuMTUgRyAuNDIKLShvcmRzIGFuZCB0aGVpciBpbnRlcnYpLTMuMDIgRiAuNDIKLShlbmluZyBzZXBhcmF0b3JzIGFzc2lnbmVkIHRvIHRoZSBsYXN0KS0uMTUgRiBGMShuYW1lKTIuOTIgRSBGMCA1LjQyKC5JKQotLjE4IEcgMi45MihmdCktNS40MiBHKGhlcmUpLTIuOTIgRSAuNTQoYXJlIGZlKTE0NCA1OTUuMiBSIC41NCh3ZXIgdyktLjI1Ci1GIC41NDEob3JkcyByZWFkIGZyb20gdGhlIGlucHV0IHN0cmVhbSB0aGFuIG5hbWVzLCB0aGUgcmVtYWluaW5nIG5hbWVzIFwKLWFyZSBhc3NpZ25lZCBlbXB0eSktLjEgRiAtLjI1KHZhKTE0NCA2MDcuMiBTIDIuNTExKGx1ZXMuIFRoZSkuMjUgRiAuMDExCi0oY2hhcmFjdGVycyBpbikyLjUxMSBGL0YzIDkvVGltZXMtQm9sZEAwIFNGKElGUykyLjUxMSBFIEYwIC4wMTEKLShhcmUgdXNlZCB0byBzcGxpdCB0aGUgbGluZSBpbnRvIHcpMi4yNjEgRiAyLjUxMShvcmRzLiBUaGUpLS4xIEYgLjAxMQotKGJhY2tzbGFzaCBjaGFyYWN0ZXIgXCgpMi41MTEgRiBGMihcXClBIEYwIDIuNTEoXCltKUMoYXkpLTIuNTEgRSAxLjg5Ci0oYmUgdXNlZCB0byByZW1vKTE0NCA2MTkuMiBSIDIuMTkgLS4xNSh2ZSBhKS0uMTUgSCAyLjE5IC0uMTUobnkgcykuMTUgSAotMS44OTEocGVjaWFsIG1lYW5pbmcgZm9yIHRoZSBuZSkuMTUgRiAxLjg5MQotKHh0IGNoYXJhY3RlciByZWFkIGFuZCBmb3IgbGluZSBjb250aW51YXRpb24uKS0uMTUgRgotKE9wdGlvbnMsIGlmIHN1cHBsaWVkLCBoYSkxNDQgNjMxLjIgUSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUKLSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjI8YWQ2MT4xNDQgNjQzLjIgUSBGMShhbmFtZSkyLjUgRSBGMCAxLjA1KFRoZSB3KQotMTgwIDY1NS4yIFIgMS4wNDkKLShvcmRzIGFyZSBhc3NpZ25lZCB0byBzZXF1ZW50aWFsIGluZGljZXMgb2YgdGhlIGFycmF5IHYpLS4xIEYoYXJpYWJsZSkKLS0uMjUgRSBGMShhbmFtZSkzLjU0OSBFIEYwIDMuNTQ5KCxzKS4xOCBHIDEuMDQ5KHRhcnRpbmcgYXQgMC4pLTMuNTQ5IEYKLUYxKGFuYW1lKTE4MC4zMyA2NjcuMiBRIEYwKGlzIHVuc2V0IGJlZm9yZSBhbikyLjY4IEUgMi41KHluKS0uMTUgRyAuNQotLS4yNShldyB2YSktMi41IEgobHVlcyBhcmUgYXNzaWduZWQuKS4yNSBFKE90aGVyKTUgRSBGMShuYW1lKTIuNSBFIEYwCi0oYXIpMi41IEUoZ3VtZW50cyBhcmUgaWdub3JlZC4pLS4xOCBFIEYyPGFkNjQ+MTQ0IDY3OS4yIFEgRjEoZGVsaW0pMi41IEUKLUYwKFRoZSBcMjE0cnN0IGNoYXJhY3RlciBvZikxODAgNjkxLjIgUSBGMShkZWxpbSkyLjUgRSBGMAotKGlzIHVzZWQgdG8gdGVybWluYXRlIHRoZSBpbnB1dCBsaW5lLCByYXRoZXIgdGhhbiBuZSkyLjUgRSh3bGluZS4pLS4yNSBFCi1GMjxhZDY1PjE0NCA3MDMuMiBRIEYwIC4zNzIKLShJZiB0aGUgc3RhbmRhcmQgaW5wdXQgaXMgY29taW5nIGZyb20gYSB0ZXJtaW5hbCwpMjUuODYgRiBGMiAtLjE4KHJlKQotMi44NzMgRyhhZGxpbmUpLjE4IEUgRjAoXChzZWUpMi44NzMgRSBGMyhSRUFETElORSkyLjg3MyBFIEYwKGFibykyLjYyMyBFCi0tLjE1KHZlKS0uMTUgRyAyLjg3MyhcKWkpLjE1IEcgMi44NzMoc3UpLTIuODczIEcoc2VkKS0yLjg3MyBFIC4yMTgKLSh0byBvYnRhaW4gdGhlIGxpbmUuKTE4MCA3MTUuMiBSIC4yMTgKLShSZWFkbGluZSB1c2VzIHRoZSBjdXJyZW50IFwob3IgZGVmKTUuMjE4IEYgLjIxOAotKGF1bHQsIGlmIGxpbmUgZWRpdGluZyB3KS0uMSBGIC4yMTgoYXMgbm90IHByZSktLjEgRih2aW91c2x5KS0uMjUgRQotKGFjdGkpMTgwIDcyNy4yIFEgLS4xNSh2ZSktLjI1IEcgMi41KFwpZSkuMTUgRyhkaXRpbmcgc2V0dGluZ3MuKS0yLjUgRQotKEdOVSBCYXNoLTQuMSk3MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg1OSkxODUuOTU1IEUgMCBDZyBFUAorKHRvcnkgc3RhY2sgZW50cnkgaXMgc3BlY2lcMjE0ZWQsIG9yIHRoZSBkaXJlY3RvcnkgY2hhbmdlIGYpMTQ0IDY3OS4yIFEKKyhhaWxzLiktLjEgRSBGMihwcmludGYpMTA4IDY5NiBRIEYwKFspMi41IEUgRjI8YWQ3Nj5BIEYxKHZhcikyLjUgRSBGMChdKQorQSBGMShmb3JtYXQpMi41IEUgRjAoWykyLjUgRSBGMShhcilBKGd1bWVudHMpLS4zNyBFIEYwKF0pQSAxLjQzNworKFdyaXRlIHRoZSBmb3JtYXR0ZWQpMTQ0IDcwOCBSIEYxKGFyKTMuOTM3IEUoZ3VtZW50cyktLjM3IEUgRjAgMS40MzcKKyh0byB0aGUgc3RhbmRhcmQgb3V0cHV0IHVuZGVyIHRoZSBjb250cm9sIG9mIHRoZSkzLjkzNyBGIEYxKGZvcm1hdCkzLjkzNgorRSBGMCA2LjQzNiguVClDKGhlKS02LjQzNiBFIEYyPGFkNzY+My45MzYgRSBGMCAuMTI2Cisob3B0aW9uIGNhdXNlcyB0aGUgb3V0cHV0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSB2KTE0NCA3MjAgUihhcmlhYmxlKS0uMjUKK0UgRjEodmFyKTIuNjI2IEUgRjAgLjEyNihyYXRoZXIgdGhhbiBiZWluZyBwcmludGVkIHRvIHRoZSBzdGFuZGFyZCkyLjYyNgorRihHTlUgQmFzaC00LjIpNzIgNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoNTkpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNjAgNjAKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGPGFkNjk+MTQ0IDg0IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YodGUpCi0yLjUgRSh4dCktLjIgRSBGMChJZikxMC43OCBFIEYxIC0uMTgocmUpMi43MTUgRyhhZGxpbmUpLjE4IEUgRjAgLjIxNgotKGlzIGJlaW5nIHVzZWQgdG8gcmVhZCB0aGUgbGluZSwpMi43MTUgRiBGMih0ZSkyLjcxNiBFKHh0KS0uMiBFIEYwIC4yMTYKLShpcyBwbGFjZWQgaW50byB0aGUgZWRpdGluZyBiKTIuNzE2IEYodWYpLS4yIEUgLjIxNihmZXIgYmVmb3JlIGVkaXQtKQotLS4yNSBGKGluZyBiZSkxODAgOTYgUShnaW5zLiktLjE1IEUgRjE8YWQ2ZT4xNDQgMTA4IFEgRjIobmMpMi41IEUoaGFyKQotLS4xNSBFKHMpLS4xIEUgRjEgLS4xOChyZSkxODAgMTIwIFMoYWQpLjE4IEUgRjAgMS4zOTUKLShyZXR1cm5zIGFmdGVyIHJlYWRpbmcpMy44OTUgRiBGMihuYykzLjg5NSBFKGhhciktLjE1IEUocyktLjEgRSBGMCAxLjM5NQotKGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gdykzLjg5NSBGIDEuMzk0KGFpdGluZyBmb3IgYSBjb21wbGV0ZSBsaW5lIG9mKQotLS4xIEYoaW5wdXQsIGIpMTgwIDEzMiBRKHV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZlKS0uMiBFKHdlciB0aGFuKS0uMjUKLUUgRjIobmMpMi41IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYwCi0oY2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlcikyLjUgRSguKS0uNTUgRSBGMTxhZDRlPjE0NCAxNDQKLVEgRjIobmMpMi41IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYxIC0uMTgocmUpMTgwIDE1NiBTKGFkKS4xOCBFIEYwIDEuMjY5Ci0ocmV0dXJucyBhZnRlciByZWFkaW5nIGUpMy43NjkgRih4YWN0bHkpLS4xNSBFIEYyKG5jKTMuNzY5IEUoaGFyKS0uMTUgRQotKHMpLS4xIEUgRjAgMS4yNjkoY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3KTMuNzY5IEYgMS4yNwotKGFpdGluZyBmb3IgYSBjb21wbGV0ZSktLjEgRiAuMjc1Ci0obGluZSBvZiBpbnB1dCwgdW5sZXNzIEVPRiBpcyBlbmNvdW50ZXJlZCBvcikxODAgMTY4IFIgRjEgLS4xOChyZSkyLjc3NQotRyhhZCkuMTggRSBGMCAuMjc0KHRpbWVzIG91dC4pMi43NzQgRiAuMjc0KERlbGltaXRlciBjaGFyYWN0ZXJzIGVuY291bi0pCi01LjI3NCBGIDEuMDAyCi0odGVyZWQgaW4gdGhlIGlucHV0IGFyZSBub3QgdHJlYXRlZCBzcGVjaWFsbHkgYW5kIGRvIG5vdCBjYXVzZSkxODAgMTgwIFIKLUYxIC0uMTgocmUpMy41MDMgRyhhZCkuMTggRSBGMCAxLjAwMyh0byByZXR1cm4gdW50aWwpMy41MDMgRiBGMihuYykzLjUwMwotRShoYXIpLS4xNSBFKHMpLS4xIEUgRjAoY2hhcmFjdGVycyBhcmUgcmVhZC4pMTgwIDE5MiBRIEYxPGFkNzA+MTQ0IDIwNCBRCi1GMihwcikyLjUgRShvbXB0KS0uNDUgRSBGMChEaXNwbGF5KTE4MCAyMTYgUSBGMihwcikzLjY2MSBFKG9tcHQpLS40NSBFCi1GMCAxLjE2MShvbiBzdGFuZGFyZCBlcnJvcikzLjY2MSBGIDMuNjYxKCx3KS0uNCBHIDEuMTYxCi0oaXRob3V0IGEgdHJhaWxpbmcgbmUpLTMuNjYxIEYgMS4xNjEod2xpbmUsIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHJlYWQpCi0tLjI1IEYoYW4pMTgwIDIyOCBRIDIuNSh5aSktLjE1IEcgMi41KG5wdXQuIFRoZSktMi41IEYKLShwcm9tcHQgaXMgZGlzcGxheWVkIG9ubHkgaWYgaW5wdXQgaXMgY29taW5nIGZyb20gYSB0ZXJtaW5hbC4pMi41IEUgRjEKLTxhZDcyPjE0NCAyNDAgUSBGMCAuNTQzKEJhY2tzbGFzaCBkb2VzIG5vdCBhY3QgYXMgYW4gZXNjYXBlIGNoYXJhY3RlcikKLTI1Ljg2IEYgNS41NDMoLlQpLS41NSBHIC41NDQoaGUgYmFja3NsYXNoIGlzIGNvbnNpZGVyZWQgdG8gYmUgcGFydCBvZikKLS01LjU0MyBGKHRoZSBsaW5lLikxODAgMjUyIFEoSW4gcGFydGljdWxhcik1IEUgMi41KCxhYiktLjQgRwotKGFja3NsYXNoLW5lKS0yLjUgRSh3bGluZSBwYWlyIG1heSBub3QgYmUgdXNlZCBhcyBhIGxpbmUgY29udGludWF0aW9uLikKLS0uMjUgRSBGMTxhZDczPjE0NCAyNjQgUSBGMChTaWxlbnQgbW9kZS4pMjYuNDEgRQotKElmIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwsIGNoYXJhY3RlcnMgYXJlIG5vdCBlY2hvZWQuKTUgRSBGMQotPGFkNzQ+MTQ0IDI3NiBRIEYyKHRpbWVvdXQpMi41IEUgRjAoQ2F1c2UpMTgwIDI4OCBRIEYxIC0uMTgocmUpMy41NDkgRwotKGFkKS4xOCBFIEYwIDEuMDQ4KHRvIHRpbWUgb3V0IGFuZCByZXR1cm4gZikzLjU0OSBGIDEuMDQ4Ci0oYWlsdXJlIGlmIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dCBpcyBub3QgcmVhZCB3aXRoaW4pLS4xIEYgRjIodGltZW91dCkKLTE4MCAzMDAgUSBGMChzZWNvbmRzLikzLjQ5NiBFIEYyKHRpbWVvdXQpNS45OTYgRSBGMCAuOTk3Ci0obWF5IGJlIGEgZGVjaW1hbCBudW1iZXIgd2l0aCBhIGZyYWN0aW9uYWwgcG9ydGlvbiBmb2xsbykzLjQ5NiBGKHdpbmcpCi0tLjI1IEUgLjU3Nih0aGUgZGVjaW1hbCBwb2ludC4pMTgwIDMxMiBSIC41NzYoVGhpcyBvcHRpb24gaXMgb25seSBlZikKLTUuNTc2IEYoZmVjdGkpLS4yNSBFIC44NzYgLS4xNSh2ZSBpKS0uMjUgSChmKS4xNSBFIEYxIC0uMTgocmUpMy4wNzYgRwotKGFkKS4xOCBFIEYwIC41NzYoaXMgcmVhZGluZyBpbnB1dCBmcm9tIGEgdGVybWluYWwsKTMuMDc2IEYgLjE0MQotKHBpcGUsIG9yIG90aGVyIHNwZWNpYWwgXDIxNGxlOyBpdCBoYXMgbm8gZWYpMTgwIDMyNCBSIC4xNDIKLShmZWN0IHdoZW4gcmVhZGluZyBmcm9tIHJlKS0uMjUgRiAuMTQyKGd1bGFyIFwyMTRsZXMuKS0uMTUgRihJZik1LjE0MiBFCi1GMih0aW1lb3V0KTIuNjQyIEUgRjAgLjE0MihpcyAwLCkyLjY0MiBGIEYxIC0uMTgocmUpMTgwIDMzNiBTKGFkKS4xOCBFCi1GMCAuMTEzKHJldHVybnMgc3VjY2VzcyBpZiBpbnB1dCBpcyBhKTIuNjE0IEYgLS4yNSh2YSktLjIgRyAuMTEzCi0oaWxhYmxlIG9uIHRoZSBzcGVjaVwyMTRlZCBcMjE0bGUgZGVzY3JpcHRvcikuMjUgRiAyLjYxMygsZiktLjQgRyAuMTEzCi0oYWlsdXJlIG90aGVyd2lzZS4pLTIuNzEzIEYoVGhlIGUpMTgwIDM0OCBRCi0oeGl0IHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gMTI4IGlmIHRoZSB0aW1lb3V0IGlzIGUpLS4xNSBFKHhjZWVkZWQuKS0uMTUKLUUgRjE8YWQ3NT4xNDQgMzYwIFEgRjIoZmQpMi41IEUgRjAoUmVhZCBpbnB1dCBmcm9tIFwyMTRsZSBkZXNjcmlwdG9yKQotMTQuNDYgRSBGMihmZCkyLjUgRSBGMCguKUEgLjE5MShJZiBubykxNDQgMzc2LjggUiBGMihuYW1lcykzLjA1MSBFIEYwCi0uMTkxKGFyZSBzdXBwbGllZCwgdGhlIGxpbmUgcmVhZCBpcyBhc3NpZ25lZCB0byB0aGUgdikyLjk2MSBGKGFyaWFibGUpCi0tLjI1IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoUkVQTCkyLjY5MiBFKFkpLS44MjggRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YKLSguKUEgRjAgLjE5MihUaGUgcmV0dXJuIGNvZGUgaXMgemVybywpNC42OTIgRiAxLjM0NAotKHVubGVzcyBlbmQtb2YtXDIxNGxlIGlzIGVuY291bnRlcmVkLCkxNDQgMzg4LjggUiBGMSAtLjE4KHJlKTMuODQ0IEcoYWQpCi0uMTggRSBGMCAxLjM0MwotKHRpbWVzIG91dCBcKGluIHdoaWNoIGNhc2UgdGhlIHJldHVybiBjb2RlIGlzIGdyZWF0ZXIgdGhhbikzLjg0NCBGCi0oMTI4XCksIG9yIGFuIGluKTE0NCA0MDAuOCBRIC0uMjUodmEpLS40IEcKLShsaWQgXDIxNGxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyKS4yNSBFKGd1bWVudCB0byktLjE4IEUgRjEKLTxhZDc1PjIuNSBFIEYwKC4pQSBGMSAtLjE4KHJlKTEwOCA0MTcuNiBTKGFkb25seSkuMTggRSBGMChbKTIuNSBFIEYxCi0oXDI1NWFBKUEocGYpLS4yNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjIod29yKUEoZCktLjM3IEUKLUYwIDIuNShdLilDKC4uXSktMi41IEUgLjc3KFRoZSBnaSkxNDQgNDI5LjYgUiAtLjE1KHZlKS0uMjUgRyhuKS4xNSBFIEYyCi0obmFtZXMpMy4yNyBFIEYwIC43NyhhcmUgbWFyaykzLjI3IEYgLjc3KGVkIHJlYWRvbmx5OyB0aGUgdiktLjEgRiAuNzcKLShhbHVlcyBvZiB0aGVzZSktLjI1IEYgRjIobmFtZXMpMy42MyBFIEYwIC43NwotKG1heSBub3QgYmUgY2hhbmdlZCBieSBzdWJzZS0pMy41NCBGIDEuMDk3KHF1ZW50IGFzc2lnbm1lbnQuKTE0NCA0NDEuNiBSCi0xLjA5NyhJZiB0aGUpNi4wOTcgRiBGMTxhZDY2PjMuNTk3IEUgRjAgMS4wOTcKLShvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBmdW5jdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUpMy41OTcgRiBGMgotKG5hbWVzKTMuNTk2IEUgRjAgMS4wOTYoYXJlIHNvKTMuNTk2IEYobWFyaykxNDQgNDUzLjYgUSAzLjMzNChlZC4gVGhlKQotLS4xIEYgRjE8YWQ2MT4zLjMzNCBFIEYwIC44MzQob3B0aW9uIHJlc3RyaWN0cyB0aGUgdikzLjMzNCBGIC44MzQKLShhcmlhYmxlcyB0byBpbmRlKS0uMjUgRiAtLjE1KHhlKS0uMTUgRyAzLjMzNChkYSkuMTUgRyAuODM0KHJyYXlzOyB0aGUpCi0tMy4zMzQgRiBGMTxhZDQxPjMuMzM0IEUgRjAgLjgzNChvcHRpb24gcmVzdHJpY3RzIHRoZSB2KTMuMzM0IEYoYXJpLSkKLS0uMjUgRSAuNTM4KGFibGVzIHRvIGFzc29jaWF0aSkxNDQgNDY1LjYgUiAuODM4IC0uMTUodmUgYSktLjI1IEggMy4wMzgKLShycmF5cy4gSWYpLjE1IEYobm8pMy4wMzggRSBGMihuYW1lKTMuMzk4IEUgRjAoYXIpMy4yMTggRSAuNTM4Ci0oZ3VtZW50cyBhcmUgZ2kpLS4xOCBGIC0uMTUodmUpLS4yNSBHIC41Mzgobiwgb3IgaWYgdGhlKS4xNSBGIEYxPGFkNzA+Ci0zLjAzOCBFIEYwIC41Mzcob3B0aW9uIGlzIHN1cHBsaWVkLCBhIGxpc3QpMy4wMzggRiAuMDgKLShvZiBhbGwgcmVhZG9ubHkgbmFtZXMgaXMgcHJpbnRlZC4pMTQ0IDQ3Ny42IFIoVGhlKTUuMDggRSBGMTxhZDcwPjIuNTggRQotRjAgLjA4MShvcHRpb24gY2F1c2VzIG91dHB1dCB0byBiZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgdGhhdCBtYXkpMi41OCBGCi0xLjE3NyhiZSByZXVzZWQgYXMgaW5wdXQuKTE0NCA0ODkuNiBSIDEuMTc3KElmIGEgdik2LjE3NyBGIDEuMTc2Ci0oYXJpYWJsZSBuYW1lIGlzIGZvbGxvKS0uMjUgRiAxLjE3Nih3ZWQgYnkgPSktLjI1IEYgRjIod29yKUEoZCktLjM3IEUgRjAKLTMuNjc2KCx0KUMgMS4xNzYoaGUgdiktMy42NzYgRiAxLjE3NihhbHVlIG9mIHRoZSB2KS0uMjUgRiAxLjE3NgotKGFyaWFibGUgaXMgc2V0IHRvKS0uMjUgRiBGMih3b3IpMTQ0IDUwMS42IFEoZCktLjM3IEUgRjAgNi4yMDUoLlQpQwotMS4yMDUoaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyBhbiBpbiktNi4yMDUgRiAtLjI1KHZhKS0uNCBHIDEuMjA2Ci0obGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgb25lIG9mIHRoZSkuMjUgRiBGMihuYW1lcyk0LjA2NiBFIEYwIDEuMjA2Ci0oaXMgbm90IGEpMy45NzYgRiAtLjI1KHZhKTE0NCA1MTMuNiBTKGxpZCBzaGVsbCB2KS4yNSBFCi0oYXJpYWJsZSBuYW1lLCBvciktLjI1IEUgRjE8YWQ2Nj4yLjUgRSBGMChpcyBzdXBwbGllZCB3aXRoIGEpMi41IEUgRjIKLShuYW1lKTIuODYgRSBGMCh0aGF0IGlzIG5vdCBhIGZ1bmN0aW9uLikyLjY4IEUgRjEgLS4xOChyZSkxMDggNTMwLjQgUwotKHR1cikuMTggRShuKS0uMTUgRSBGMChbKTIuNSBFIEYyKG4pQSBGMChdKUEgLjU4NwotKENhdXNlcyBhIGZ1bmN0aW9uIHRvIGUpMTQ0IDU0Mi40IFIgLjU4Nyh4aXQgd2l0aCB0aGUgcmV0dXJuIHYpLS4xNSBGCi0uNTg3KGFsdWUgc3BlY2lcMjE0ZWQgYnkpLS4yNSBGIEYyKG4pMy4wODcgRSBGMCA1LjU4NyguSSkuMjQgRyhmKS01LjU4NwotRSBGMihuKTMuNDQ3IEUgRjAgLjU4NihpcyBvbWl0dGVkLCB0aGUgcmV0dXJuIHN0YXR1cyBpcykzLjMyNyBGIDEuMzM1Ci0odGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kIGUpMTQ0IDU1NC40IFIgLS4xNSh4ZSktLjE1IEcgMS4zMzUKLShjdXRlZCBpbiB0aGUgZnVuY3Rpb24gYm9keSkuMTUgRiA2LjMzNSguSSktLjY1IEcgMy44MzUoZnUpLTYuMzM1IEcKLTEuMzM1KHNlZCBvdXRzaWRlIGEgZnVuY3Rpb24sIGIpLTMuODM1IEYgMS4zMzUodXQgZHVyaW5nKS0uMiBGIC0uMTUoZXhlKQotMTQ0IDU2Ni40IFMgLjc5NChjdXRpb24gb2YgYSBzY3JpcHQgYnkgdGhlKS4xNSBGIEYxKC4pMy4yOTQgRSBGMChcKCkKLTUuNzk0IEUgRjEoc291cilBKGNlKS0uMTggRSBGMCAzLjI5NChcKWMpQyAuNzk0Ci0ob21tYW5kLCBpdCBjYXVzZXMgdGhlIHNoZWxsIHRvIHN0b3AgZSktMy4yOTQgRiAtLjE1KHhlKS0uMTUgRyAuNzk0Ci0oY3V0aW5nIHRoYXQgc2NyaXB0KS4xNSBGIC4yNDUoYW5kIHJldHVybiBlaXRoZXIpMTQ0IDU3OC40IFIgRjIobikzLjEwNQotRSBGMCAuMjQ2KG9yIHRoZSBlKTIuOTg1IEYgLjI0Nih4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZSktLjE1IEYKLS0uMTUoeGUpLS4xNSBHIC4yNDYoY3V0ZWQgd2l0aGluIHRoZSBzY3JpcHQgYXMgdGhlIGUpLjE1IEYgLjI0NgotKHhpdCBzdGEtKS0uMTUgRiAuMDgyKHR1cyBvZiB0aGUgc2NyaXB0LikxNDQgNTkwLjQgUiAuMDgyCi0oSWYgdXNlZCBvdXRzaWRlIGEgZnVuY3Rpb24gYW5kIG5vdCBkdXJpbmcgZSk1LjA4MiBGIC0uMTUoeGUpLS4xNSBHIC4wODIKLShjdXRpb24gb2YgYSBzY3JpcHQgYnkpLjE1IEYgRjEoLikyLjU4MiBFIEYwIDIuNTgxKCx0KS44MzMgRyAuMDgxCi0oaGUgcmV0dXJuIHN0YS0pLTIuNTgxIEYgMi4zMDUodHVzIGlzIGYpMTQ0IDYwMi40IFIgNC44MDUoYWxzZS4gQW4pLS4xIEYKLTQuODA1KHljKS0uMTUgRyAyLjMwNShvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIHRoZSktNC44MDUgRiBGMShSRVRVUk4pCi00LjgwNSBFIEYwIDIuMzA2KHRyYXAgaXMgZSk0LjgwNiBGIC0uMTUoeGUpLS4xNSBHIDIuMzA2KGN1dGVkIGJlZm9yZSBlKQotLjE1IEYgLS4xNSh4ZSktLjE1IEcoY3V0aW9uKS4xNSBFKHJlc3VtZXMgYWZ0ZXIgdGhlIGZ1bmN0aW9uIG9yIHNjcmlwdC4pCi0xNDQgNjE0LjQgUSBGMShzZXQpMTA4IDYzMS4yIFEgRjAoWykyLjUgRSBGMQotKFwyNTVcMjU1YWJlZmhrbW5wdHV2eEJDRUhQVClBIEYwIDIuNShdWylDIEYxPGFkNmY+LTIuNSBFIEYyKG9wdGlvbikyLjUKLUUgRjAgMi41KF1bKUMgRjIoYXIpLTIuNSBFKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUgRjEoc2V0KTEwOCA2NDMuMiBRIEYwCi0oWykyLjUgRSBGMSgrYWJlZmhrbW5wdHV2eEJDRUhQVClBIEYwIDIuNShdWylDIEYxKCtvKS0yLjUgRSBGMihvcHRpb24pCi0yLjUgRSBGMCAyLjUoXVspQyBGMihhciktMi41IEUoZyktLjM3IEUgRjAoLi4uXSkyLjUgRSAtLjQoV2kpMTQ0IDY1NS4yIFMKLS44MzYodGhvdXQgb3B0aW9ucywgdGhlIG5hbWUgYW5kIHYpLjQgRiAuODM1KGFsdWUgb2YgZWFjaCBzaGVsbCB2KS0uMjUgRgotLjgzNShhcmlhYmxlIGFyZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUpLS4yNSBGIC43ODQKLShyZXVzZWQgYXMgaW5wdXQgZm9yIHNldHRpbmcgb3IgcmVzZXR0aW5nIHRoZSBjdXJyZW50bHktc2V0IHYpMTQ0IDY2Ny4yCi1SIDMuMjg0KGFyaWFibGVzLiBSZWFkLW9ubHkpLS4yNSBGIC0uMjUodmEpMy4yODQgRyAuNzg0Ci0ocmlhYmxlcyBjYW5ub3QgYmUpLjI1IEYgMi45NDcocmVzZXQuIEluKTE0NCA2NzkuMiBSIEYyIC40NDcocG9zaXggbW9kZSkKLTIuOTQ3IEYgRjAgMi45NDcoLG8pQyAuNDQ3KG5seSBzaGVsbCB2KS0yLjk0NyBGIC40NDcKLShhcmlhYmxlcyBhcmUgbGlzdGVkLiktLjI1IEYgLjQ0NwotKFRoZSBvdXRwdXQgaXMgc29ydGVkIGFjY29yZGluZyB0byB0aGUgY3VycmVudCk1LjQ0NyBGIDMuNTMKLShsb2NhbGUuIFdoZW4pMTQ0IDY5MS4yIFIgMS4wMzEob3B0aW9ucyBhcmUgc3BlY2lcMjE0ZWQsIHRoZSkzLjUzIEYKLTMuNTMxKHlzKS0uMTUgRyAxLjAzMShldCBvciB1bnNldCBzaGVsbCBhdHRyaWIpLTMuNTMxIEYgMy41MzEodXRlcy4gQW4pCi0tLjIgRiAzLjUzMSh5YSktLjE1IEcgLS4xOChyZyktMy41MzEgRyAxLjAzMSh1bWVudHMgcmVtYWluaW5nKS4xOCBGCi0xLjYyNChhZnRlciBvcHRpb24gcHJvY2Vzc2luZyBhcmUgdHJlYXRlZCBhcyB2KTE0NCA3MDMuMiBSIDEuNjIzCi0oYWx1ZXMgZm9yIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYW5kIGFyZSBhc3NpZ25lZCwgaW4pLS4yNSBGKG9yZGVyKQotMTQ0IDcxNS4yIFEgMi41KCx0KS0uNCBHKG8pLTIuNSBFIEYxKCQxKTIuNSBFIEYwKCwpQSBGMSgkMikyLjUgRSBGMCgsKUEKLUYxIDIuNSguLi4gJCkyLjUgRiBGMihuKUEgRjAgNSguTylDKHB0aW9ucywgaWYgc3BlY2lcMjE0ZWQsIGhhKS01IEUgLjMKLS0uMTUodmUgdCktLjIgSChoZSBmb2xsbykuMTUgRSh3aW5nIG1lYW5pbmdzOiktLjI1IEUoR05VIEJhc2gtNC4xKTcyIDc2OAotUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg2MCkxODUuOTU1IEUgMCBDZyBFUAorLS4zNSBFKG91dHB1dC4pMTQ0IDg0IFEoVGhlKTE0NCAxMDggUS9GMSAxMC9UaW1lcy1JdGFsaWNAMCBTRihmb3JtYXQpCiszLjAxOCBFIEYwIC41MTcoaXMgYSBjaGFyYWN0ZXIgc3RyaW5nIHdoaWNoIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIG9ialwKK2VjdHM6IHBsYWluIGNoYXJhY3RlcnMsIHdoaWNoIGFyZSkzLjAxOCBGIC43MDQoc2ltcGx5IGNvcGllZCB0byBzdGFuZGFyXAorZCBvdXRwdXQsIGNoYXJhY3RlciBlc2NhcGUgc2VxdWVuY2VzLCB3aGljaCBhcmUgY29uKTE0NCAxMjAgUiAtLjE1KHZlKQorLS40IEcgLjcwNChydGVkIGFuZCBjb3BpZWQgdG8pLjE1IEYgLjAzNih0aGUgc3RhbmRhcmQgb3V0cHV0LCBhbmQgZm9ybWFcCit0IHNwZWNpXDIxNGNhdGlvbnMsIGVhY2ggb2Ygd2hpY2ggY2F1c2VzIHByaW50aW5nIG9mIHRoZSBuZSkxNDQgMTMyIFIKKy4wMzYoeHQgc3VjY2Vzc2kpLS4xNSBGIC0uMTUodmUpLS4yNSBHIEYxKGFyKTE0NCAxNDQgUShndW1lbnQpLS4zNyBFIEYwCis1LjUzMSguSSlDIDMuMDMxKG5hKS01LjUzMSBHIC41MzEoZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQpLTMuMDMxIEYgRjEKKyhwcmludGYpMy4wMzIgRSBGMCAuNTMyKFwoMVwpIGZvcm1hdCBzcGVjaVwyMTRjYXRpb25zLClCL0YyIDEwCisvVGltZXMtQm9sZEAwIFNGKHByaW50ZikzLjAzMiBFIEYwIC41MzIoaW50ZXJwcmV0cyB0aGUgZm9sbG8pMy4wMzIgRih3LSkKKy0uMjUgRShpbmcgZSkxNDQgMTU2IFEoeHRlbnNpb25zOiktLjE1IEUgRjIoJWIpMTQ0IDE2OCBRIEYwKGNhdXNlcykyMC40NAorRSBGMihwcmludGYpNS4xMTUgRSBGMCAyLjYxNSh0byBlKTUuMTE1IEYgMi42MTUKKyh4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyktLjE1IEYgRjEoYXIpCis1LjExNSBFKGd1bWVudCktLjM3IEUgRjAoXChlKTE4MCAxODAgUSAuNjA4KHhjZXB0IHRoYXQpLS4xNSBGIEYyKFxcYykKKzMuMTA4IEUgRjAgLjYwOCh0ZXJtaW5hdGVzIG91dHB1dCwgYmFja3NsYXNoZXMgaW4pMy4xMDggRiBGMjw1YzA4PjMuMTA4CitFIEYwKCwpQSBGMihcXCIpMy4xMDggRSBGMCAzLjEwOCgsYSlDKG5kKS0zLjEwOCBFIEYyKFxcPykzLjEwOCBFIEYwIC42MDgKKyhhcmUgbm90IHJlbW8pMy4xMDggRiAtLjE1KHZlKS0uMTUgRyAuNjA4KGQsIGFuZCBvY3RhbCkuMTUgRihlc2NhcGVzIGJlKQorMTgwIDE5MiBRKGdpbm5pbmcgd2l0aCktLjE1IEUgRjIoXFwwKTIuNSBFIEYwCisobWF5IGNvbnRhaW4gdXAgdG8gZm91ciBkaWdpdHNcKS4pMi41IEUgRjIoJXEpMTQ0IDIwNCBRIEYwKGNhdXNlcykyMC40NAorRSBGMihwcmludGYpMi41MSBFIEYwIC4wMSh0byBvdXRwdXQgdGhlIGNvcnJlc3BvbmRpbmcpMi41MSBGIEYxKGFyKTIuNTEKK0UoZ3VtZW50KS0uMzcgRSBGMCAuMDEoaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsKTIuNTEgRgorKGlucHV0LikxODAgMjE2IFEgRjIoJVwoKTE0NCAyMjggUSBGMShkYXRlZm10KUEgRjIoXClUKUEgRjAoY2F1c2VzKTE4MAorMjQwIFEgRjIocHJpbnRmKTQuNDAzIEUgRjAgMS45MDQKKyh0byBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcpNC40MDMgRiBGMShkYXRlZm10KQorNC40MDQgRSBGMCAxLjkwNChhcyBhIGZvcm1hdCk0LjQwNCBGIC4zODEoc3RyaW5nIGZvcikxODAgMjUyIFIgRjEKKyhzdHJmdGltZSkyLjg4MSBFIEYwIDIuODgxKFwoM1wpLiBUaGUpQihjb3JyZXNwb25kaW5nKTIuODgxIEUgRjEoYXIpCisyLjg4MSBFKGd1bWVudCktLjM3IEUgRjAgLjM4MShpcyBhbiBpbnRlKTIuODgxIEYgLjM4MQorKGdlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciktLjE1IEYgLjQ1NyhvZiBzZWNvbmRzIHNpbmNlIHRoZSBlcG9jaC4pMTgwCisyNjQgUiAtMSAtLjgoVHcgbyk1LjQ1OCBIIC40NTgoc3BlY2lhbCBhcikzLjc1OCBGIC40NTgoZ3VtZW50IHYpLS4xOCBGCisuNDU4KGFsdWVzIG1heSBiZSB1c2VkOiAtMSByZXByZXNlbnRzIHRoZSktLjI1IEYKKyhjdXJyZW50IHRpbWUsIGFuZCAtMiByZXByZXNlbnRzIHRoZSB0aW1lIHRoZSBzaGVsbCB3KTE4MCAyNzYgUShhcyBpbikKKy0uMSBFIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyhkLikuMSBFKEFyKTE0NCAyOTIuOCBRIC40NjQoZ3VtZW50cyB0byBuXAorb24tc3RyaW5nIGZvcm1hdCBzcGVjaVwyMTRlcnMgYXJlIHRyZWF0ZWQgYXMgQyBjb25zdGFudHMsIGUpLS4xOCBGIC40NjMKKyh4Y2VwdCB0aGF0IGEgbGVhZGluZyBwbHVzIG9yKS0uMTUgRiAxLjI1OChtaW51cyBzaWduIGlzIGFsbG8pMTQ0IDMwNC44CitSIDEuMjU5Cisod2VkLCBhbmQgaWYgdGhlIGxlYWRpbmcgY2hhcmFjdGVyIGlzIGEgc2luZ2xlIG9yIGRvdWJsZSBxdW90ZSwgdGhlIHYpCistLjI1IEYgMS4yNTkoYWx1ZSBpcyB0aGUpLS4yNSBGKEFTQ0lJIHYpMTQ0IDMxNi44IFEoYWx1ZSBvZiB0aGUgZm9sbG8pCistLjI1IEUod2luZyBjaGFyYWN0ZXIpLS4yNSBFKC4pLS41NSBFKFRoZSkxNDQgMzMzLjYgUSBGMShmb3JtYXQpMy40MjQgRQorRjAgLjkyMyhpcyByZXVzZWQgYXMgbmVjZXNzYXJ5IHRvIGNvbnN1bWUgYWxsIG9mIHRoZSkzLjQyNCBGIEYxKGFyKTMuNDIzCitFKGd1bWVudHMpLS4zNyBFIEYwIDUuOTIzKC5JKUMgMy40MjMoZnQpLTUuOTIzIEcoaGUpLTMuNDIzIEUgRjEoZm9ybWF0KQorMy40MjMgRSBGMCAuOTIzKHJlcXVpcmVzIG1vcmUpMy40MjMgRiBGMShhcikxNDQgMzQ1LjYgUShndW1lbnRzKS0uMzcgRQorRjAgLjAzMyh0aGFuIGFyZSBzdXBwbGllZCwgdGhlIGUpMi41MzMgRiAuMDMzCisoeHRyYSBmb3JtYXQgc3BlY2lcMjE0Y2F0aW9ucyBiZWhhKS0uMTUgRiAuMzMzIC0uMTUodmUgYSktLjIgSCAyLjUzMyhzaSkKKy4xNSBHIDIuNTMzKGZheiktMi41MzMgRyAuMDMzKGVybyB2KS0yLjUzMyBGIC4wMzQoYWx1ZSBvciBudWxsIHN0cmluZywpCistLjI1IEYoYXMgYXBwcm9wcmlhdGUsIGhhZCBiZWVuIHN1cHBsaWVkLikxNDQgMzU3LjYgUShUaGUgcmV0dXJuIHYpNSBFCisoYWx1ZSBpcyB6ZXJvIG9uIHN1Y2Nlc3MsIG5vbi16ZXJvIG9uIGYpLS4yNSBFKGFpbHVyZS4pLS4xIEUgRjIocHVzaGQpCisxMDggMzc0LjQgUSBGMChbKTIuNSBFIEYyPGFkNmU+QSBGMCAyLjUoXVspQygrKS0yLjUgRSBGMShuKUEgRjAgMi41KF1bKUMKKzxhZD4tMi41IEUgRjEobilBIEYwKF0pQSBGMihwdXNoZCkxMDggMzg2LjQgUSBGMChbKTIuNSBFIEYyPGFkNmU+QSBGMAorMi41KF1bKUMgRjEoZGlyKS0yLjUgRSBGMChdKUEgLjY0KEFkZHMgYSBkaXJlY3RvcnkgdG8gdGhlIHRvcCBvZiB0aGUgZGlcCityZWN0b3J5IHN0YWNrLCBvciByb3RhdGVzIHRoZSBzdGFjaywgbWFraW5nIHRoZSBuZSkxNDQgMzk4LjQgUiAzLjEzOSh3dCkKKy0uMjUgRyAuNjM5KG9wIG9mIHRoZSktMy4xMzkgRiAxLjMxNShzdGFjayB0aGUgY3VycmVudCB3KTE0NCA0MTAuNCBSCisxLjMxNShvcmtpbmcgZGlyZWN0b3J5KS0uMSBGIDYuMzE1KC5XKS0uNjUgRyAxLjMxNShpdGggbm8gYXIpLTYuNzE1IEYKKzEuMzE1KGd1bWVudHMsIGUpLS4xOCBGIDEuMzE2KHhjaGFuZ2VzIHRoZSB0b3AgdHcpLS4xNSBGIDMuODE2KG9kKS0uMSBHCisxLjMxNihpcmVjdG9yaWVzIGFuZCktMy44MTYgRiAuODcyCisocmV0dXJucyAwLCB1bmxlc3MgdGhlIGRpcmVjdG9yeSBzdGFjayBpcyBlbXB0eSkxNDQgNDIyLjQgUiA1Ljg3MSguQSkKKy0uNjUgRyAtLjE4KHJnKS01Ljg3MSBHIC44NzEodW1lbnRzLCBpZiBzdXBwbGllZCwgaGEpLjE4IEYgMS4xNzEgLS4xNQorKHZlIHQpLS4yIEggLjg3MShoZSBmb2xsbykuMTUgRiAuODcxKHdpbmcgbWVhbi0pLS4yNSBGKGluZ3M6KTE0NCA0MzQuNCBRCitGMjxhZDZlPjE0NCA0NDYuNCBRIEYwIC45MDIoU3VwcHJlc3NlcyB0aGUgbm9ybWFsIGNoYW5nZSBvZiBkaXJlY3Rvcnkgd1wKK2hlbiBhZGRpbmcgZGlyZWN0b3JpZXMgdG8gdGhlIHN0YWNrLCBzbyB0aGF0KTI0Ljc0IEYKKyhvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC4pMTgwIDQ1OC40IFEgRjIoKykxNDQgNDcwLjQgUSBGMShuKUEgRjAKKzEuMjY4KFJvdGF0ZXMgdGhlIHN0YWNrIHNvIHRoYXQgdGhlKTI1LjMgRiBGMShuKTMuNzY4IEUgRjAgMS4yNjcKKyh0aCBkaXJlY3RvcnkgXChjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNobylCIDEuMjY3KHduIGJ5KQorLS4yNSBGIEYyKGRpcnMpMTgwIDQ4Mi40IFEgRjAgMi41KCxzKUMKKyh0YXJ0aW5nIHdpdGggemVyb1wpIGlzIGF0IHRoZSB0b3AuKS0yLjUgRSBGMjxhZD4xNDQgNDk0LjQgUSBGMShuKUEgRjAKKy45MihSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSkyNS4zIEYgRjEobikzLjQyIEUgRjAgLjkyCisodGggZGlyZWN0b3J5IFwoY291bnRpbmcgZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGxpc3Qgc2hvKUIgLjkyKHduIGJ5KS0uMjUKK0YgRjIoZGlycykxODAgNTA2LjQgUSBGMCAyLjUoLHMpQyh0YXJ0aW5nIHdpdGggemVyb1wpIGlzIGF0IHRoZSB0b3AuKQorLTIuNSBFIEYxKGRpcikxNDQuMzUgNTE4LjQgUSBGMChBZGRzKTIzLjk4IEUgRjEoZGlyKTIuODUgRSBGMAorKHRvIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYXQgdGhlIHRvcCwgbWFraW5nIGl0IHRoZSBuZSkzLjIzIEUgMi41KHdjKS0uMjUKK0codXJyZW50IHcpLTIuNSBFKG9ya2luZyBkaXJlY3RvcnkpLS4xIEUoLiktLjY1IEUgLjQ4OShJZiB0aGUpMTQ0IDUzNS4yCitSIEYyKHB1c2hkKTIuOTg5IEUgRjAgLjQ4OShjb21tYW5kIGlzIHN1Y2Nlc3NmdWwsIGEpMi45ODkgRiBGMihkaXJzKQorMi45ODggRSBGMCAuNDg4KGlzIHBlcmZvcm1lZCBhcyB3ZWxsLikyLjk4OCBGIC40ODgKKyhJZiB0aGUgXDIxNHJzdCBmb3JtIGlzIHVzZWQsKTUuNDg4IEYgRjIocHVzaGQpMi45ODggRSBGMCAxLjAzOQorKHJldHVybnMgMCB1bmxlc3MgdGhlIGNkIHRvKTE0NCA1NDcuMiBSIEYxKGRpcikzLjg4OSBFIEYwIC0uMShmYSk0LjI2OSBHCiszLjUzOShpbHMuIFcpLjEgRiAxLjAzOShpdGggdGhlIHNlY29uZCBmb3JtLCktLjQgRiBGMihwdXNoZCkzLjU0IEUgRjAKKzEuMDQocmV0dXJucyAwIHVubGVzcyB0aGUgZGlyZWN0b3J5KTMuNTQgRiAuODQ3KHN0YWNrIGlzIGVtcHR5KTE0NCA1NTkuMgorUiAzLjM0NygsYW4pLS42NSBHKG9uLWUpLTMuMzQ3IEUgLjg0Nyh4aXN0ZW50IGRpcmVjdG9yeSBzdGFjayBlbGVtZW50IGlcCitzIHNwZWNpXDIxNGVkLCBvciB0aGUgZGlyZWN0b3J5IGNoYW5nZSB0byB0aGUpLS4xNSBGKHNwZWNpXDIxNGVkIG5lKTE0NAorNTcxLjIgUSAyLjUod2MpLS4yNSBHKHVycmVudCBkaXJlY3RvcnkgZiktMi41IEUoYWlscy4pLS4xIEUgRjIocHdkKTEwOAorNTg4IFEgRjAoWykyLjUgRSBGMihcMjU1TFApQSBGMChdKUEgLjg0NAorKFByaW50IHRoZSBhYnNvbHV0ZSBwYXRobmFtZSBvZiB0aGUgY3VycmVudCB3KTE0NCA2MDAgUiAuODQ1Cisob3JraW5nIGRpcmVjdG9yeSktLjEgRiA1Ljg0NSguVCktLjY1IEcgLjg0NQorKGhlIHBhdGhuYW1lIHByaW50ZWQgY29udGFpbnMgbm8pLTUuODQ1IEYgLjE4MihzeW1ib2xpYyBsaW5rcyBpZiB0aGUpMTQ0Cis2MTIgUiBGMjxhZDUwPjIuNjgxIEUgRjAgLjE4MShvcHRpb24gaXMgc3VwcGxpZWQgb3IgdGhlKTIuNjgxIEYgRjIgLjE4MQorKFwyNTVvIHBoKTIuNjgxIEYoeXNpY2FsKS0uMTUgRSBGMCAuMTgxKG9wdGlvbiB0byB0aGUpMi42ODEgRiBGMihzZXQpCisyLjY4MSBFIEYwIC0uMihidSkyLjY4MSBHIC4xODEoaWx0aW4gY29tbWFuZCBpcykuMiBGIDMuMjYzKGVuYWJsZWQuIElmKQorMTQ0IDYyNCBSKHRoZSkzLjI2MyBFIEYyPGFkNGM+My4yNjMgRSBGMCAuNzYzCisob3B0aW9uIGlzIHVzZWQsIHRoZSBwYXRobmFtZSBwcmludGVkIG1heSBjb250YWluIHN5bWJvbGljIGxpbmtzLikzLjI2MworRiAuNzY0KFRoZSByZXR1cm4pNS43NjQgRiAxLjM2KHN0YXR1cyBpcyAwIHVubGVzcyBhbiBlcnJvciBvY2N1cnMgd2hpbGVcCisgcmVhZGluZyB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCBkaXJlY3Rvcnkgb3IgYW4gaW4pMTQ0IDYzNiBSIC0uMjUodmEpCistLjQgRyhsaWQpLjI1IEUob3B0aW9uIGlzIHN1cHBsaWVkLikxNDQgNjQ4IFEgRjIgLS4xOChyZSkxMDggNjY0LjggUyhhZCkKKy4xOCBFIEYwKFspMy44MTYgRSBGMihcMjU1ZXJzKUEgRjAgMy44MTYoXVspQyBGMjxhZDYxPi0zLjgxNiBFIEYxKGFuYW1lKQorMy44MTYgRSBGMCAzLjgxNihdWylDIEYyPGFkNjQ+LTMuODE2IEUgRjEoZGVsaW0pMy44MTYgRSBGMCAzLjgxNihdWylDIEYyCis8YWQ2OT4tMy44MTYgRSBGMSh0ZSkzLjgxNiBFKHh0KS0uMiBFIEYwIDMuODE2KF1bKUMgRjI8YWQ2ZT4tMy44MTYgRSBGMQorKG5jKTMuODE2IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYwIDMuODE3KF1bKUMgRjI8YWQ0ZT4tMy44MTcgRSBGMShuYykKKzMuODE3IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYwIDMuODE3KF1bKUMgRjI8YWQ3MD4tMy44MTcgRSBGMShwcikzLjgxNyBFCisob21wdCktLjQ1IEUgRjAgMy44MTcoXVspQyBGMjxhZDc0Pi0zLjgxNyBFIEYxKHRpbWVvdXQpMy44MTcgRSBGMCAzLjgxNworKF1bKUMgRjI8YWQ3NT4tMy44MTcgRSBGMShmZCkzLjgxNyBFIEYwKF0pQShbKTEwOCA2NzYuOCBRIEYxKG5hbWUpQSBGMAorKC4uLl0pMi41IEUgLjUxNihPbmUgbGluZSBpcyByZWFkIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LCBvciBmcm9tIHRoZSBcCitcMjE0bGUgZGVzY3JpcHRvcikxNDQgNjg4LjggUiBGMShmZCkzLjAxNiBFIEYwIC41MTYoc3VwcGxpZWQgYXMgYW4gYXIpCiszLjAxNiBGIC41MTcoZ3VtZW50IHRvKS0uMTggRih0aGUpMTQ0IDcwMC44IFEgRjI8YWQ3NT4yLjUzOSBFIEYwIC4wMzkKKyhvcHRpb24sIGFuZCB0aGUgXDIxNHJzdCB3KTIuNTM5IEYgLjAzOChvcmQgaXMgYXNzaWduZWQgdG8gdGhlIFwyMTRyc3QpCistLjEgRiBGMShuYW1lKTIuNTM4IEUgRjAgMi41MzgoLHQpLjE4IEcgLjAzOChoZSBzZWNvbmQgdyktMi41MzggRiAuMDM4Cisob3JkIHRvIHRoZSBzZWNvbmQpLS4xIEYgRjEobmFtZSkyLjUzOCBFIEYwKCwpLjE4IEUgLjQyCisoYW5kIHNvIG9uLCB3aXRoIGxlZnRvKTE0NCA3MTIuOCBSIC0uMTUodmUpLS4xNSBHIDIuOTIocncpLjE1IEcgLjQyCisob3JkcyBhbmQgdGhlaXIgaW50ZXJ2KS0zLjAyIEYgLjQyCisoZW5pbmcgc2VwYXJhdG9ycyBhc3NpZ25lZCB0byB0aGUgbGFzdCktLjE1IEYgRjEobmFtZSkyLjkyIEUgRjAgNS40MiguSSkKKy4xOCBHIDIuOTIoZnQpLTUuNDIgRyhoZXJlKS0yLjkyIEUgLjU0MShhcmUgZmUpMTQ0IDcyNC44IFIgLjU0MSh3ZXIgdykKKy0uMjUgRiAuNTQxKG9yZHMgcmVhZCBmcm9tIHRoZSBpbnB1dCBzdHJlYW0gdGhhbiBuYW1lcywgdGhlIHJlbWFpbmluZyBuXAorYW1lcyBhcmUgYXNzaWduZWQgZW1wdHkpLS4xIEYoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpCisxMzUuOTY1IEUoNjApMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNjEgNjEKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGPGFkNjE+MTQ0IDg0IFEgRjAgLjUzOShBdXRvbWF0aWNhbGx5IG1hcmsgdikKLTI5LjMgRiAuNTM5Ci0oYXJpYWJsZXMgYW5kIGZ1bmN0aW9ucyB3aGljaCBhcmUgbW9kaVwyMTRlZCBvciBjcmVhdGVkIGZvciBlKS0uMjUgRiAuNTQKLSh4cG9ydCB0byktLjE1IEYodGhlIGVuKTE4NCA5NiBRKHZpcm9ubWVudCBvZiBzdWJzZXF1ZW50IGNvbW1hbmRzLiktLjQgRQotRjE8YWQ2Mj4xNDQgMTA4IFEgRjAgLjEzMgotKFJlcG9ydCB0aGUgc3RhdHVzIG9mIHRlcm1pbmF0ZWQgYmFja2dyb3VuZCBqb2JzIGltbWVkaWF0ZWx5KTI4Ljc0IEYKLTIuNjMyKCxyKS0uNjUgRyAuMTMxKGF0aGVyIHRoYW4gYmVmb3JlIHRoZSBuZSktMi42MzIgRih4dCktLjE1IEUKLShwcmltYXJ5IHByb21wdC4pMTg0IDEyMCBRKFRoaXMgaXMgZWYpNSBFKGZlY3RpKS0uMjUgRSAuMyAtLjE1KHZlIG8pLS4yNQotSChubHkgd2hlbiBqb2IgY29udHJvbCBpcyBlbmFibGVkLikuMTUgRSBGMTxhZDY1PjE0NCAxMzIgUSBGMCAuNTEKLShFeGl0IGltbWVkaWF0ZWx5IGlmIGEpMjkuODYgRi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihwaXBlbGluZSkzLjAxIEUKLUYwIC41MTEoXCh3aGljaCBtYXkgY29uc2lzdCBvZiBhIHNpbmdsZSkzLjAxMSBGIEYyIC41MTEoc2ltcGxlIGNvbW1hbmQpCi0zLjAxMSBGIEYwIDMuMDExKFwpLCBhKUIgRjIoc3ViLSkzLjAxMSBFKHNoZWxsKTE4NCAxNDQgUSBGMCAuODcyCi0oY29tbWFuZCBlbmNsb3NlZCBpbiBwYXJlbnRoZXNlcywgb3Igb25lIG9mIHRoZSBjb21tYW5kcyBlKTMuMzczIEYgLS4xNQotKHhlKS0uMTUgRyAuODcyKGN1dGVkIGFzIHBhcnQgb2YgYSkuMTUgRiAuMzk5Ci0oY29tbWFuZCBsaXN0IGVuY2xvc2VkIGJ5IGJyYWNlcyBcKHNlZSkxODQgMTU2IFIvRjMgOS9UaW1lcy1Cb2xkQDAgU0YKLS4zOTkoU0hFTEwgR1JBTU1BUikyLjg5OSBGIEYwKGFibykyLjY0OSBFIC0uMTUodmUpLS4xNSBHIDIuODk5KFwpZSkuMTUgRwotLjM5OSh4aXRzIHdpdGggYSBub24temVybyktMy4wNDkgRiAzLjk2OShzdGF0dXMuIFRoZSkxODQgMTY4IFIgMS40NjgKLShzaGVsbCBkb2VzIG5vdCBlKTMuOTY5IEYgMS40NjgoeGl0IGlmIHRoZSBjb21tYW5kIHRoYXQgZiktLjE1IEYgMS40NjgKLShhaWxzIGlzIHBhcnQgb2YgdGhlIGNvbW1hbmQgbGlzdCktLjEgRiAuNTY5KGltbWVkaWF0ZWx5IGZvbGxvKTE4NCAxODAgUgotLjU2OSh3aW5nIGEpLS4yNSBGIEYxKHdoaWxlKTMuMDY5IEUgRjAob3IpMy4wNjkgRSBGMSh1bnRpbCkzLjA2OSBFIEYwCi0tLjEoa2UpMy4wNjkgRyh5dyktLjA1IEUgLjU2OShvcmQsIHBhcnQgb2YgdGhlIHRlc3QgZm9sbG8pLS4xIEYgLjU3Ci0od2luZyB0aGUpLS4yNSBGIEYxKGlmKTMuMDcgRSBGMChvcikzLjA3IEUgRjEoZWxpZikzLjA3IEUgRjAocmVzZXJ2KTE4NAotMTkyIFEgLjU0NChlZCB3KS0uMTUgRiAuNTQ0KG9yZHMsIHBhcnQgb2YgYW4pLS4xIEYgMy4wNDQoeWMpLS4xNSBHIC41NDQKLShvbW1hbmQgZSktMy4wNDQgRiAtLjE1KHhlKS0uMTUgRyAuNTQ0KGN1dGVkIGluIGEpLjE1IEYgRjEoJiYpMy4wNDQgRSBGMAotKG9yKTMuMDQ0IEUvRjQgMTAvU3ltYm9sIFNGPGVmZWY+My4wNDQgRSBGMCAuNTQ0KGxpc3QgZSkzLjA0NCBGIC41NDQKLSh4Y2VwdCB0aGUgY29tbWFuZCktLjE1IEYoZm9sbG8pMTg0IDIwNCBRIDEuMjMod2luZyB0aGUgXDIxNG5hbCktLjI1IEYKLUYxKCYmKTMuNzMgRSBGMChvcikzLjczIEUgRjQ8ZWZlZj4zLjczIEUgRjAgMy43MygsYSlDIDEuNTMgLS4xNShueSBjKQotLTMuNzMgSCAxLjIzMShvbW1hbmQgaW4gYSBwaXBlbGluZSBiKS4xNSBGIDEuMjMxCi0odXQgdGhlIGxhc3QsIG9yIGlmIHRoZSBjb20tKS0uMiBGKG1hbmQnKTE4NCAyMTYgUSAzLjE5MShzciktLjU1IEcgLjY5MQotKGV0dXJuIHYpLTMuMTkxIEYgLjY5MShhbHVlIGlzIGJlaW5nIGluKS0uMjUgRiAtLjE1KHZlKS0uNCBHIC42OTEKLShydGVkIHdpdGgpLjE1IEYgRjEoISkzLjE5MSBFIEYwIDUuNjkxKC5BKUMgLjY5MSh0cmFwIG9uKS0yLjUgRiBGMShFUlIpCi0zLjE5IEUgRjAgMy4xOSgsaSlDIDMuMTkoZnMpLTMuMTkgRyAuNjkoZXQsIGlzIGUpLTMuMTkgRiAtLjE1KHhlKS0uMTUgRwotLjY5KGN1dGVkIGJlZm9yZSkuMTUgRiAuNjg2KHRoZSBzaGVsbCBlKTE4NCAyMjggUiAzLjE4Nih4aXRzLiBUaGlzKS0uMTUKLUYgLjY4NihvcHRpb24gYXBwbGllcyB0byB0aGUgc2hlbGwgZW4pMy4xODYgRiAuNjg2Ci0odmlyb25tZW50IGFuZCBlYWNoIHN1YnNoZWxsIGVuKS0uNCBGKHZpcm9uLSktLjQgRSAuMDY4Ci0obWVudCBzZXBhcmF0ZWx5IFwoc2VlKTE4NCAyNDAgUiBGMyAuMDY4KENPTU1BTkQgRVhFQ1VUSU9OIEVOVklSKTIuNTY4IEYKLShPTk1FTlQpLS4yNyBFIEYwKGFibykyLjMxOCBFIC0uMTUodmUpLS4xNSBHIC4wNjgoXCksIGFuZCBtYXkgY2F1c2UpLjE1Ci1GKHN1YnNoZWxscyB0byBlKTE4NCAyNTIgUSh4aXQgYmVmb3JlIGUpLS4xNSBFIC0uMTUoeGUpLS4xNSBHCi0oY3V0aW5nIGFsbCB0aGUgY29tbWFuZHMgaW4gdGhlIHN1YnNoZWxsLikuMTUgRSBGMTxhZDY2PjE0NCAyNjQgUSBGMAotKERpc2FibGUgcGF0aG5hbWUgZSkzMC45NyBFKHhwYW5zaW9uLiktLjE1IEUgRjE8YWQ2OD4xNDQgMjc2IFEgRjAgMi4yMzgKLShSZW1lbWJlciB0aGUgbG9jYXRpb24gb2YgY29tbWFuZHMgYXMgdGhlKTI4Ljc0IEYgNC43MzgoeWEpLS4xNSBHIDIuMjM5Ci0ocmUgbG9vayktNC43MzggRiAyLjIzOShlZCB1cCBmb3IgZSktLjEgRiAtLjE1KHhlKS0uMTUgRyA0LjczOQotKGN1dGlvbi4gVGhpcykuMTUgRihpcyk0LjczOSBFKGVuYWJsZWQgYnkgZGVmKTE4NCAyODggUShhdWx0LiktLjEgRSBGMQotPGFkNmI+MTQ0IDMwMCBRIEYwIC41MTQoQWxsIGFyKTI4Ljc0IEYgLjUxNAotKGd1bWVudHMgaW4gdGhlIGZvcm0gb2YgYXNzaWdubWVudCBzdGF0ZW1lbnRzIGFyZSBwbGFjZWQgaW4gdGhlIGVuKS0uMTgKLUYgLjUxMyh2aXJvbm1lbnQgZm9yIGEpLS40IEYKLShjb21tYW5kLCBub3QganVzdCB0aG9zZSB0aGF0IHByZWNlZGUgdGhlIGNvbW1hbmQgbmFtZS4pMTg0IDMxMiBRIEYxCi08YWQ2ZD4xNDQgMzI0IFEgRjAgLjE0OChNb25pdG9yIG1vZGUuKTI1Ljk3IEYgLjE0OAotKEpvYiBjb250cm9sIGlzIGVuYWJsZWQuKTUuMTQ4IEYgLjE0OShUaGlzIG9wdGlvbiBpcyBvbiBieSBkZWYpNS4xNDggRgotLjE0OShhdWx0IGZvciBpbnRlcmFjdGkpLS4xIEYgLjQ0OSAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzKS4xNSBFIC42MzcKLShvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCBpdCBcKHNlZSkxODQgMzM2IFIgRjMgLjYzNihKT0IgQ09OVFIpMy4xMzYgRgotKE9MKS0uMjcgRSBGMChhYm8pMi44ODYgRSAtLjE1KHZlKS0uMTUgRyAzLjEzNihcKS4gQmFja2dyb3VuZCkuMTUgRiAuNjM2Ci0ocHJvY2Vzc2VzIHJ1biBpbiBhKTMuMTM2IEYgLjY0MQotKHNlcGFyYXRlIHByb2Nlc3MgZ3JvdXAgYW5kIGEgbGluZSBjb250YWluaW5nIHRoZWlyIGUpMTg0IDM0OCBSIC42NDIKLSh4aXQgc3RhdHVzIGlzIHByaW50ZWQgdXBvbiB0aGVpciBjb20tKS0uMTUgRihwbGV0aW9uLikxODQgMzYwIFEgRjEKLTxhZDZlPjE0NCAzNzIgUSBGMCAuNjUzKFJlYWQgY29tbWFuZHMgYikyOC43NCBGIC42NTModXQgZG8gbm90IGUpLS4yIEYKLS0uMTUoeGUpLS4xNSBHIC42NTMoY3V0ZSB0aGVtLikuMTUgRiAuNjUyCi0oVGhpcyBtYXkgYmUgdXNlZCB0byBjaGVjayBhIHNoZWxsIHNjcmlwdCBmb3IpNS42NTMgRihzeW50YXggZXJyb3JzLikxODQKLTM4NCBRKFRoaXMgaXMgaWdub3JlZCBieSBpbnRlcmFjdGkpNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFCi1GMTxhZDZmPjE0NCAzOTYgUSBGMihvcHRpb25cMjU1bmFtZSkyLjUgRSBGMChUaGUpMTg0IDQwOCBRIEYyCi0ob3B0aW9uXDI1NW5hbWUpMi41IEUgRjAoY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG8pMi41IEUod2luZzopLS4yNSBFIEYxCi0oYWxsZXhwb3J0KTE4NCA0MjAgUSBGMChTYW1lIGFzKTIyNCA0MzIgUSBGMTxhZDYxPjIuNSBFIEYwKC4pQSBGMQotKGJyYWNlZXhwYW5kKTE4NCA0NDQgUSBGMChTYW1lIGFzKTIyNCA0NTYgUSBGMTxhZDQyPjIuNSBFIEYwKC4pQSBGMQotKGVtYWNzKTE4NCA0NjggUSBGMCAuMDg5KFVzZSBhbiBlbWFjcy1zdHlsZSBjb21tYW5kIGxpbmUgZWRpdGluZyBpbnRlcmYpCi0xMy45IEYgMi41ODkoYWNlLiBUaGlzKS0uMSBGIC4wODkoaXMgZW5hYmxlZCBieSBkZWYpMi41ODkgRihhdWx0KS0uMSBFCi0uOTUod2hlbiB0aGUgc2hlbGwgaXMgaW50ZXJhY3RpKTIyNCA0ODAgUiAtLjE1KHZlKS0uMjUgRyAzLjQ1KCx1KS4xNSBHCi0uOTUobmxlc3MgdGhlIHNoZWxsIGlzIHN0YXJ0ZWQgd2l0aCB0aGUpLTMuNDUgRiBGMShcMjU1XDI1NW5vZWRpdGluZykKLTMuNDUgRSBGMCAyLjUob3B0aW9uLiBUaGlzKTIyNCA0OTIgUihhbHNvIGFmKTIuNSBFCi0oZmVjdHMgdGhlIGVkaXRpbmcgaW50ZXJmKS0uMjUgRShhY2UgdXNlZCBmb3IpLS4xIEUgRjEgLS4xOChyZSkyLjUgRwotKGFkIFwyNTVlKS4xOCBFIEYwKC4pQSBGMShlcnIpMTg0IDUwNCBRKGV4aXQpLS4xOCBFIEYwKFNhbWUgYXMpMTEuMzEgRQotRjE8YWQ2NT4yLjUgRSBGMCguKUEgRjEoZXJydHJhY2UpMTg0IDUxNiBRIEYwKFNhbWUgYXMpNS4wMyBFIEYxPGFkNDU+Mi41Ci1FIEYwKC4pQSBGMShmdW5jdHJhY2UpMTg0IDUyOCBRIEYwKFNhbWUgYXMpMjI0IDU0MCBRIEYxPGFkNTQ+Mi41IEUgRjAoLikKLUEgRjEoaGFzaGFsbCkxODQgNTUyIFEgRjAoU2FtZSBhcyk5LjQzIEUgRjE8YWQ2OD4yLjUgRSBGMCguKUEgRjEKLShoaXN0ZXhwYW5kKTE4NCA1NjQgUSBGMChTYW1lIGFzKTIyNCA1NzYgUSBGMTxhZDQ4PjIuNSBFIEYwKC4pQSBGMQotKGhpc3RvcnkpMTg0IDU4OCBRIEYwIC41ODYoRW5hYmxlIGNvbW1hbmQgaGlzdG9yeSkxMCBGIDMuMDg3KCxhKS0uNjUgRwotMy4wODcoc2QpLTMuMDg3IEcgLjU4Nyhlc2NyaWJlZCBhYm8pLTMuMDg3IEYgLjg4NyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpCi0uMTUgRSBGMyhISVNUKTMuMDg3IEUoT1IpLS4xNjIgRShZKS0uMzE1IEUvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMAotLjU4NyhUaGlzIG9wdGlvbiBpcyk1LjA4NyBGKG9uIGJ5IGRlZikyMjQgNjAwIFEoYXVsdCBpbiBpbnRlcmFjdGkpLS4xIEUKLS4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFIEYxKGlnbm9yKTE4NCA2MTIgUShlZW9mKS0uMTggRSBGMCAxLjY1NwotKFRoZSBlZikyMjQgNjI0IFIgMS42NTcoZmVjdCBpcyBhcyBpZiB0aGUgc2hlbGwgY29tbWFuZCktLjI1IEYvRjYgMTAKLS9Db3VyaWVyQDAgU0YoSUdOT1JFRU9GPTEwKTQuMTU2IEUgRjAgMS42NTYoaGFkIGJlZW4gZSk0LjE1NiBGIC0uMTUoeGUpCi0tLjE1IEcoY3V0ZWQpLjE1IEUoXChzZWUpMjI0IDYzNiBRIEYxKFNoZWxsIFYpMi41IEUoYXJpYWJsZXMpLS45MiBFIEYwCi0oYWJvKTIuNSBFIC0uMTUodmUpLS4xNSBHKFwpLikuMTUgRSBGMSAtLjEoa2UpMTg0IDY0OCBTKHl3KS4xIEUob3JkKS0uMQotRSBGMChTYW1lIGFzKTIyNCA2NjAgUSBGMTxhZDZiPjIuNSBFIEYwKC4pQSBGMShtb25pdG9yKTE4NCA2NzIgUSBGMAotKFNhbWUgYXMpNS41NiBFIEYxPGFkNmQ+Mi41IEUgRjAoLilBIEYxKG5vY2xvYikxODQgNjg0IFEoYmVyKS0uMSBFIEYwCi0oU2FtZSBhcykyMjQgNjk2IFEgRjE8YWQ0Mz4yLjUgRSBGMCguKUEgRjEobm9leGVjKTE4NCA3MDggUSBGMChTYW1lIGFzKQotMTEuMTIgRSBGMTxhZDZlPjIuNSBFIEYwKC4pQShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkKLTEzNS45NjUgRSg2MSkxODUuOTU1IEUgMCBDZyBFUAorLS4zNSBFIC0uMjUodmEpMTQ0IDg0IFMgMi41MShsdWVzLiBUaGUpLjI1IEYgLjAxMShjaGFyYWN0ZXJzIGluKTIuNTExIEYKKy9GMSA5L1RpbWVzLUJvbGRAMCBTRihJRlMpMi41MTEgRSBGMCAuMDExCisoYXJlIHVzZWQgdG8gc3BsaXQgdGhlIGxpbmUgaW50byB3KTIuMjYxIEYgMi41MTEob3Jkcy4gVGhlKS0uMSBGIC4wMTEKKyhiYWNrc2xhc2ggY2hhcmFjdGVyIFwoKTIuNTExIEYvRjIgMTAvVGltZXMtQm9sZEAwIFNGKFxcKUEgRjAgMi41MTEoXCltKQorQyhheSktMi41MTEgRSAxLjg5MShiZSB1c2VkIHRvIHJlbW8pMTQ0IDk2IFIgMi4xOTEgLS4xNSh2ZSBhKS0uMTUgSAorMi4xOTEgLS4xNShueSBzKS4xNSBIIDEuODkxKHBlY2lhbCBtZWFuaW5nIGZvciB0aGUgbmUpLjE1IEYgMS44OQorKHh0IGNoYXJhY3RlciByZWFkIGFuZCBmb3IgbGluZSBjb250aW51YXRpb24uKS0uMTUgRgorKE9wdGlvbnMsIGlmIHN1cHBsaWVkLCBoYSkxNDQgMTA4IFEgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFCisod2luZyBtZWFuaW5nczopLS4yNSBFIEYyPGFkNjE+MTQ0IDEyMCBRL0YzIDEwL1RpbWVzLUl0YWxpY0AwIFNGKGFuYW1lKQorMi41IEUgRjAgMS4wNDkoVGhlIHcpMTgwIDEzMiBSIDEuMDQ5Cisob3JkcyBhcmUgYXNzaWduZWQgdG8gc2VxdWVudGlhbCBpbmRpY2VzIG9mIHRoZSBhcnJheSB2KS0uMSBGKGFyaWFibGUpCistLjI1IEUgRjMoYW5hbWUpMy41NSBFIEYwIDMuNTUoLHMpLjE4IEcgMS4wNSh0YXJ0aW5nIGF0IDAuKS0zLjU1IEYgRjMKKyhhbmFtZSkxODAuMzMgMTQ0IFEgRjAoaXMgdW5zZXQgYmVmb3JlIGFuKTIuNjggRSAyLjUoeW4pLS4xNSBHIC41IC0uMjUKKyhldyB2YSktMi41IEgobHVlcyBhcmUgYXNzaWduZWQuKS4yNSBFKE90aGVyKTUgRSBGMyhuYW1lKTIuNSBFIEYwKGFyKTIuNQorRShndW1lbnRzIGFyZSBpZ25vcmVkLiktLjE4IEUgRjI8YWQ2ND4xNDQgMTU2IFEgRjMoZGVsaW0pMi41IEUgRjAKKyhUaGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpMTgwIDE2OCBRIEYzKGRlbGltKTIuNSBFIEYwCisoaXMgdXNlZCB0byB0ZXJtaW5hdGUgdGhlIGlucHV0IGxpbmUsIHJhdGhlciB0aGFuIG5lKTIuNSBFKHdsaW5lLiktLjI1IEUKK0YyPGFkNjU+MTQ0IDE4MCBRIEYwIC4zNzMKKyhJZiB0aGUgc3RhbmRhcmQgaW5wdXQgaXMgY29taW5nIGZyb20gYSB0ZXJtaW5hbCwpMjUuODYgRiBGMiAtLjE4KHJlKQorMi44NzMgRyhhZGxpbmUpLjE4IEUgRjAoXChzZWUpMi44NzMgRSBGMShSRUFETElORSkyLjg3MiBFIEYwKGFibykyLjYyMiBFCistLjE1KHZlKS0uMTUgRyAyLjg3MihcKWkpLjE1IEcgMi44NzIoc3UpLTIuODcyIEcoc2VkKS0yLjg3MiBFIC4yMTgKKyh0byBvYnRhaW4gdGhlIGxpbmUuKTE4MCAxOTIgUiAuMjE4KFJlYWRsaW5lIHVzZXMgdGhlIGN1cnJlbnQgXChvciBkZWYpCis1LjIxOCBGIC4yMTgoYXVsdCwgaWYgbGluZSBlZGl0aW5nIHcpLS4xIEYgLjIxOChhcyBub3QgcHJlKS0uMSBGCisodmlvdXNseSktLjI1IEUoYWN0aSkxODAgMjA0IFEgLS4xNSh2ZSktLjI1IEcgMi41KFwpZSkuMTUgRworKGRpdGluZyBzZXR0aW5ncy4pLTIuNSBFIEYyPGFkNjk+MTQ0IDIxNiBRIEYzKHRlKTIuNSBFKHh0KS0uMiBFIEYwKElmKQorMTAuNzggRSBGMiAtLjE4KHJlKTIuNzE2IEcoYWRsaW5lKS4xOCBFIEYwIC4yMTYKKyhpcyBiZWluZyB1c2VkIHRvIHJlYWQgdGhlIGxpbmUsKTIuNzE2IEYgRjModGUpMi43MTYgRSh4dCktLjIgRSBGMCAuMjE2CisoaXMgcGxhY2VkIGludG8gdGhlIGVkaXRpbmcgYikyLjcxNiBGKHVmKS0uMiBFIC4yMTUoZmVyIGJlZm9yZSBlZGl0LSkKKy0uMjUgRihpbmcgYmUpMTgwIDIyOCBRKGdpbnMuKS0uMTUgRSBGMjxhZDZlPjE0NCAyNDAgUSBGMyhuYykyLjUgRShoYXIpCistLjE1IEUocyktLjEgRSBGMiAtLjE4KHJlKTE4MCAyNTIgUyhhZCkuMTggRSBGMCAxLjM5NAorKHJldHVybnMgYWZ0ZXIgcmVhZGluZykzLjg5NCBGIEYzKG5jKTMuODk0IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYwIDEuMzk1CisoY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3KTMuODk0IEYgMS4zOTUoYWl0aW5nIGZvciBhIGNvbXBsZXRlIGxpbmUgb2YpCistLjEgRihpbnB1dCwgYikxODAgMjY0IFEodXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmUpLS4yIEUod2VyIHRoYW4pLS4yNQorRSBGMyhuYykyLjUgRShoYXIpLS4xNSBFKHMpLS4xIEUgRjAKKyhjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyKTIuNSBFKC4pLS41NSBFIEYyPGFkNGU+MTQ0IDI3NgorUSBGMyhuYykyLjUgRShoYXIpLS4xNSBFKHMpLS4xIEUgRjIgLS4xOChyZSkxODAgMjg4IFMoYWQpLjE4IEUgRjAgMS4yNjkKKyhyZXR1cm5zIGFmdGVyIHJlYWRpbmcgZSkzLjc3IEYoeGFjdGx5KS0uMTUgRSBGMyhuYykzLjc2OSBFKGhhciktLjE1IEUKKyhzKS0uMSBFIEYwIDEuMjY5KGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gdykzLjc2OSBGIDEuMjY5CisoYWl0aW5nIGZvciBhIGNvbXBsZXRlKS0uMSBGIC4yNzQKKyhsaW5lIG9mIGlucHV0LCB1bmxlc3MgRU9GIGlzIGVuY291bnRlcmVkIG9yKTE4MCAzMDAgUiBGMiAtLjE4KHJlKTIuNzc1CitHKGFkKS4xOCBFIEYwIC4yNzUodGltZXMgb3V0LikyLjc3NSBGIC4yNzUoRGVsaW1pdGVyIGNoYXJhY3RlcnMgZW5jb3VuLSkKKzUuMjc1IEYgMS4wMDMKKyh0ZXJlZCBpbiB0aGUgaW5wdXQgYXJlIG5vdCB0cmVhdGVkIHNwZWNpYWxseSBhbmQgZG8gbm90IGNhdXNlKTE4MCAzMTIgUgorRjIgLS4xOChyZSkzLjUwMiBHKGFkKS4xOCBFIEYwIDEuMDAyKHRvIHJldHVybiB1bnRpbCkzLjUwMiBGIEYzKG5jKTMuNTAyCitFKGhhciktLjE1IEUocyktLjEgRSBGMChjaGFyYWN0ZXJzIGFyZSByZWFkLikxODAgMzI0IFEgRjI8YWQ3MD4xNDQgMzM2IFEKK0YzKHByKTIuNSBFKG9tcHQpLS40NSBFIEYwKERpc3BsYXkpMTgwIDM0OCBRIEYzKHByKTMuNjYgRShvbXB0KS0uNDUgRSBGMAorMS4xNjEob24gc3RhbmRhcmQgZXJyb3IpMy42NiBGIDMuNjYxKCx3KS0uNCBHIDEuMTYxCisoaXRob3V0IGEgdHJhaWxpbmcgbmUpLTMuNjYxIEYgMS4xNjEod2xpbmUsIGJlZm9yZSBhdHRlbXB0aW5nIHRvIHJlYWQpCistLjI1IEYoYW4pMTgwIDM2MCBRIDIuNSh5aSktLjE1IEcgMi41KG5wdXQuIFRoZSktMi41IEYKKyhwcm9tcHQgaXMgZGlzcGxheWVkIG9ubHkgaWYgaW5wdXQgaXMgY29taW5nIGZyb20gYSB0ZXJtaW5hbC4pMi41IEUgRjIKKzxhZDcyPjE0NCAzNzIgUSBGMCAuNTQ0KEJhY2tzbGFzaCBkb2VzIG5vdCBhY3QgYXMgYW4gZXNjYXBlIGNoYXJhY3RlcikKKzI1Ljg2IEYgNS41NDMoLlQpLS41NSBHIC41NDMoaGUgYmFja3NsYXNoIGlzIGNvbnNpZGVyZWQgdG8gYmUgcGFydCBvZikKKy01LjU0MyBGKHRoZSBsaW5lLikxODAgMzg0IFEoSW4gcGFydGljdWxhcik1IEUgMi41KCxhYiktLjQgRworKGFja3NsYXNoLW5lKS0yLjUgRSh3bGluZSBwYWlyIG1heSBub3QgYmUgdXNlZCBhcyBhIGxpbmUgY29udGludWF0aW9uLikKKy0uMjUgRSBGMjxhZDczPjE0NCAzOTYgUSBGMChTaWxlbnQgbW9kZS4pMjYuNDEgRQorKElmIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwsIGNoYXJhY3RlcnMgYXJlIG5vdCBlY2hvZWQuKTUgRSBGMgorPGFkNzQ+MTQ0IDQwOCBRIEYzKHRpbWVvdXQpMi41IEUgRjAoQ2F1c2UpMTgwIDQyMCBRIEYyIC0uMTgocmUpMy41NDggRworKGFkKS4xOCBFIEYwIDEuMDQ4KHRvIHRpbWUgb3V0IGFuZCByZXR1cm4gZikzLjU0OCBGIDEuMDQ4CisoYWlsdXJlIGlmIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dCBpcyBub3QgcmVhZCB3aXRoaW4pLS4xIEYgRjModGltZW91dCkKKzE4MCA0MzIgUSBGMChzZWNvbmRzLikzLjQ5NyBFIEYzKHRpbWVvdXQpNS45OTcgRSBGMCAuOTk3CisobWF5IGJlIGEgZGVjaW1hbCBudW1iZXIgd2l0aCBhIGZyYWN0aW9uYWwgcG9ydGlvbiBmb2xsbykzLjQ5NyBGKHdpbmcpCistLjI1IEUgLjU3Nih0aGUgZGVjaW1hbCBwb2ludC4pMTgwIDQ0NCBSIC41NzYoVGhpcyBvcHRpb24gaXMgb25seSBlZikKKzUuNTc2IEYoZmVjdGkpLS4yNSBFIC44NzYgLS4xNSh2ZSBpKS0uMjUgSChmKS4xNSBFIEYyIC0uMTgocmUpMy4wNzYgRworKGFkKS4xOCBFIEYwIC41NzYoaXMgcmVhZGluZyBpbnB1dCBmcm9tIGEgdGVybWluYWwsKTMuMDc2IEYgLjE0MgorKHBpcGUsIG9yIG90aGVyIHNwZWNpYWwgXDIxNGxlOyBpdCBoYXMgbm8gZWYpMTgwIDQ1NiBSIC4xNDIKKyhmZWN0IHdoZW4gcmVhZGluZyBmcm9tIHJlKS0uMjUgRiAuMTQyKGd1bGFyIFwyMTRsZXMuKS0uMTUgRihJZik1LjE0MSBFCitGMyh0aW1lb3V0KTIuNjQxIEUgRjAgLjE0MShpcyAwLCkyLjY0MSBGIEYyIC0uMTgocmUpMTgwIDQ2OCBTKGFkKS4xOCBFCitGMCAuMTEzKHJldHVybnMgc3VjY2VzcyBpZiBpbnB1dCBpcyBhKTIuNjEzIEYgLS4yNSh2YSktLjIgRyAuMTEzCisoaWxhYmxlIG9uIHRoZSBzcGVjaVwyMTRlZCBcMjE0bGUgZGVzY3JpcHRvcikuMjUgRiAyLjYxMygsZiktLjQgRyAuMTE0CisoYWlsdXJlIG90aGVyd2lzZS4pLTIuNzEzIEYoVGhlIGUpMTgwIDQ4MCBRCisoeGl0IHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gMTI4IGlmIHRoZSB0aW1lb3V0IGlzIGUpLS4xNSBFKHhjZWVkZWQuKS0uMTUKK0UgRjI8YWQ3NT4xNDQgNDkyIFEgRjMoZmQpMi41IEUgRjAoUmVhZCBpbnB1dCBmcm9tIFwyMTRsZSBkZXNjcmlwdG9yKQorMTQuNDYgRSBGMyhmZCkyLjUgRSBGMCguKUEgLjE5MihJZiBubykxNDQgNTA4LjggUiBGMyhuYW1lcykzLjA1MiBFIEYwCisuMTkyKGFyZSBzdXBwbGllZCwgdGhlIGxpbmUgcmVhZCBpcyBhc3NpZ25lZCB0byB0aGUgdikyLjk2MiBGKGFyaWFibGUpCistLjI1IEUgRjEoUkVQTCkyLjY5MSBFKFkpLS44MjggRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC4xOTEKKyhUaGUgcmV0dXJuIGNvZGUgaXMgemVybywpNC42OTEgRiAxLjM0MworKHVubGVzcyBlbmQtb2YtXDIxNGxlIGlzIGVuY291bnRlcmVkLCkxNDQgNTIwLjggUiBGMiAtLjE4KHJlKTMuODQzIEcoYWQpCisuMTggRSBGMCAxLjM0MworKHRpbWVzIG91dCBcKGluIHdoaWNoIGNhc2UgdGhlIHJldHVybiBjb2RlIGlzIGdyZWF0ZXIgdGhhbikzLjg0MyBGCisoMTI4XCksIG9yIGFuIGluKTE0NCA1MzIuOCBRIC0uMjUodmEpLS40IEcKKyhsaWQgXDIxNGxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyKS4yNSBFKGd1bWVudCB0byktLjE4IEUgRjIKKzxhZDc1PjIuNSBFIEYwKC4pQSBGMiAtLjE4KHJlKTEwOCA1NDkuNiBTKGFkb25seSkuMTggRSBGMChbKTIuNSBFIEYyCisoXDI1NWFBZilBIEYwIDIuNShdWylDIEYyPGFkNzA+LTIuNSBFIEYwIDIuNShdWylDIEYzKG5hbWUpLTIuNSBFIEYwKFs9KUEKK0YzKHdvcilBKGQpLS4zNyBFIEYwIDIuNShdLilDKC4uXSktMi41IEUgLjc3KFRoZSBnaSkxNDQgNTYxLjYgUiAtLjE1KHZlKQorLS4yNSBHKG4pLjE1IEUgRjMobmFtZXMpMy4yNyBFIEYwIC43NyhhcmUgbWFyaykzLjI3IEYgLjc3CisoZWQgcmVhZG9ubHk7IHRoZSB2KS0uMSBGIC43NyhhbHVlcyBvZiB0aGVzZSktLjI1IEYgRjMobmFtZXMpMy42MyBFIEYwCisuNzcobWF5IG5vdCBiZSBjaGFuZ2VkIGJ5IHN1YnNlLSkzLjU0IEYgMS4wOTYocXVlbnQgYXNzaWdubWVudC4pMTQ0Cis1NzMuNiBSIDEuMDk2KElmIHRoZSk2LjA5NiBGIEYyPGFkNjY+My41OTYgRSBGMCAxLjA5NworKG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIGZ1bmN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSkzLjU5NiBGIEYzCisobmFtZXMpMy41OTcgRSBGMCAxLjA5NyhhcmUgc28pMy41OTcgRihtYXJrKTE0NCA1ODUuNiBRIDMuMzM0KGVkLiBUaGUpCistLjEgRiBGMjxhZDYxPjMuMzM0IEUgRjAgLjgzNChvcHRpb24gcmVzdHJpY3RzIHRoZSB2KTMuMzM0IEYgLjgzNAorKGFyaWFibGVzIHRvIGluZGUpLS4yNSBGIC0uMTUoeGUpLS4xNSBHIDMuMzM0KGRhKS4xNSBHIC44MzQocnJheXM7IHRoZSkKKy0zLjMzNCBGIEYyPGFkNDE+My4zMzQgRSBGMCAuODM0KG9wdGlvbiByZXN0cmljdHMgdGhlIHYpMy4zMzQgRihhcmktKQorLS4yNSBFIC43NzYoYWJsZXMgdG8gYXNzb2NpYXRpKTE0NCA1OTcuNiBSIDEuMDc2IC0uMTUodmUgYSktLjI1IEggMy4yNzYKKyhycmF5cy4gSWYpLjE1IEYgLjc3Nyhib3RoIG9wdGlvbnMgYXJlIHN1cHBsaWVkLCkzLjI3NiBGIEYyPGFkNDE+My4yNzcgRQorRjAodGFrKTMuMjc3IEUgLjc3NyhlcyBwcmVjZWRlbmNlLiktLjEgRiAuNzc3KElmIG5vKTUuNzc3IEYgRjMobmFtZSkKKzMuNjM3IEUgRjAoYXIpMy40NTcgRShndS0pLS4xOCBFIC41MjIobWVudHMgYXJlIGdpKTE0NCA2MDkuNiBSIC0uMTUodmUpCistLjI1IEcgLjUyMShuLCBvciBpZiB0aGUpLjE1IEYgRjI8YWQ3MD4zLjAyMSBFIEYwIC41MjEKKyhvcHRpb24gaXMgc3VwcGxpZWQsIGEgbGlzdCBvZiBhbGwgcmVhZG9ubHkgbmFtZXMgaXMgcHJpbnRlZC4pMy4wMjEgRgorLjUyMShUaGUgb3RoZXIpNS41MjEgRiAuMjk1KG9wdGlvbnMgbWF5IGJlIHVzZWQgdG8gcmVzdHJpY3QgdGhlIG91dHB1dCBcCit0byBhIHN1YnNldCBvZiB0aGUgc2V0IG9mIHJlYWRvbmx5IG5hbWVzLikxNDQgNjIxLjYgUihUaGUpNS4yOTYgRSBGMgorPGFkNzA+Mi43OTYgRSBGMChvcHRpb24pMi43OTYgRSAuNzg2CisoY2F1c2VzIG91dHB1dCB0byBiZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgdGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LikKKzE0NCA2MzMuNiBSIC43ODYoSWYgYSB2KTUuNzg2IEYgLjc4NShhcmlhYmxlIG5hbWUgaXMgZm9sLSktLjI1IEYobG8pMTQ0Cis2NDUuNiBRIC43MTcod2VkIGJ5ID0pLS4yNSBGIEYzKHdvcilBKGQpLS4zNyBFIEYwIDMuMjE4KCx0KUMgLjcxOChoZSB2KQorLTMuMjE4IEYgLjcxOChhbHVlIG9mIHRoZSB2KS0uMjUgRiAuNzE4KGFyaWFibGUgaXMgc2V0IHRvKS0uMjUgRiBGMyh3b3IpCiszLjIxOCBFKGQpLS4zNyBFIEYwIDUuNzE4KC5UKUMgLjcxOChoZSByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGluKQorLTUuNzE4IEYgLS4yNSh2YSktLjQgRyhsaWQpLjI1IEUgLjI2KG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgb25lIG9mIHRoZSkKKzE0NCA2NTcuNiBSIEYzKG5hbWVzKTMuMTIgRSBGMCAuMjYoaXMgbm90IGEgdikzLjAzIEYgLjI2KGFsaWQgc2hlbGwgdikKKy0uMjUgRiAuMjYoYXJpYWJsZSBuYW1lLCBvciktLjI1IEYgRjI8YWQ2Nj4yLjc2IEUgRjAgLjI2CisoaXMgc3VwcGxpZWQgd2l0aCBhKTIuNzYgRiBGMyhuYW1lKTE0NC4zNiA2NjkuNiBRIEYwCisodGhhdCBpcyBub3QgYSBmdW5jdGlvbi4pMi42OCBFIEYyIC0uMTgocmUpMTA4IDY4Ni40IFModHVyKS4xOCBFKG4pLS4xNQorRSBGMChbKTIuNSBFIEYzKG4pQSBGMChdKUEgLjU4NihDYXVzZXMgYSBmdW5jdGlvbiB0byBlKTE0NCA2OTguNCBSIC41ODcKKyh4aXQgd2l0aCB0aGUgcmV0dXJuIHYpLS4xNSBGIC41ODcoYWx1ZSBzcGVjaVwyMTRlZCBieSktLjI1IEYgRjMobikzLjA4NworRSBGMCA1LjU4NyguSSkuMjQgRyhmKS01LjU4NyBFIEYzKG4pMy40NDcgRSBGMCAuNTg3CisoaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMpMy4zMjcgRiAxLjMzNQorKHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBlKTE0NCA3MTAuNCBSIC0uMTUoeGUpLS4xNSBHIDEuMzM1CisoY3V0ZWQgaW4gdGhlIGZ1bmN0aW9uIGJvZHkpLjE1IEYgNi4zMzUoLkkpLS42NSBHIDMuODM1KGZ1KS02LjMzNSBHCisxLjMzNShzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uLCBiKS0zLjgzNSBGIDEuMzM1KHV0IGR1cmluZyktLjIgRiAtLjE1KGV4ZSkKKzE0NCA3MjIuNCBTIC43OTQoY3V0aW9uIG9mIGEgc2NyaXB0IGJ5IHRoZSkuMTUgRiBGMiguKTMuMjk0IEUgRjAoXCgpCis1Ljc5NCBFIEYyKHNvdXIpQShjZSktLjE4IEUgRjAgMy4yOTQoXCljKUMgLjc5NAorKG9tbWFuZCwgaXQgY2F1c2VzIHRoZSBzaGVsbCB0byBzdG9wIGUpLTMuMjk0IEYgLS4xNSh4ZSktLjE1IEcgLjc5NQorKGN1dGluZyB0aGF0IHNjcmlwdCkuMTUgRihHTlUgQmFzaC00LjIpNzIgNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1CitFKDYxKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDYyIDYyCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihub2dsb2IpMTg0IDg0IFEgRjAoU2FtZSBhcykxMS4xIEUgRjE8YWQ2Nj4KLTIuNSBFIEYwKC4pQSBGMShub2xvZykxODQgOTYgUSBGMChDdXJyZW50bHkgaWdub3JlZC4pMTYuNjYgRSBGMShub3RpZnkpCi0xODQgMTA4IFEgRjAoU2FtZSBhcykxNSBFIEYxPGFkNjI+Mi41IEUgRjAoLilBIEYxKG5vdW5zZXQpMTg0IDEyMCBRIEYwCi0oU2FtZSBhcyk2LjY2IEUgRjE8YWQ3NT4yLjUgRSBGMCguKUEgRjEob25lY21kKTE4NCAxMzIgUSBGMChTYW1lIGFzKTYuNjcKLUUgRjE8YWQ3ND4yLjUgRSBGMCguKUEgRjEocGgpMTg0IDE0NCBRKHlzaWNhbCktLjE1IEUgRjAoU2FtZSBhcyk1LjE0IEUKLUYxPGFkNTA+Mi41IEUgRjAoLilBIEYxKHBpcGVmYWlsKTE4NCAxNTYgUSBGMCAxLjAyOQotKElmIHNldCwgdGhlIHJldHVybiB2KTcuNzcgRiAxLjAyOShhbHVlIG9mIGEgcGlwZWxpbmUgaXMgdGhlIHYpLS4yNSBGCi0xLjAzKGFsdWUgb2YgdGhlIGxhc3QgXChyaWdodG1vc3RcKSBjb20tKS0uMjUgRiAxLjEzNyhtYW5kIHRvIGUpMjI0IDE2OAotUiAxLjEzNgotKHhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLCBvciB6ZXJvIGlmIGFsbCBjb21tYW5kcyBpbiB0aGUgcGlwZWxpbmUpCi0tLjE1IEYgLS4xNShleCkyMjQgMTgwIFMoaXQgc3VjY2Vzc2Z1bGx5KS4xNSBFIDUoLlQpLS42NSBHCi0oaGlzIG9wdGlvbiBpcyBkaXNhYmxlZCBieSBkZWYpLTUgRShhdWx0LiktLjEgRSBGMShwb3NpeCkxODQgMTkyIFEgRjAKLTIuMDkoQ2hhbmdlIHRoZSBiZWhhKTE3Ljc3IEYgMi4wOTEodmlvciBvZiktLjIgRiBGMShiYXNoKTQuNTkxIEUgRjAKLTIuMDkxKHdoZXJlIHRoZSBkZWYpNC41OTEgRiAyLjA5MShhdWx0IG9wZXJhdGlvbiBkaWYpLS4xIEYgMi4wOTEKLShmZXJzIGZyb20gdGhlKS0uMjUgRihQT1NJWCBzdGFuZGFyZCB0byBtYXRjaCB0aGUgc3RhbmRhcmQgXCgpMjI0IDIwNCBRCi0vRjIgMTAvVGltZXMtSXRhbGljQDAgU0YocG9zaXggbW9kZSlBIEYwKFwpLilBIEYxKHByaSkxODQgMjE2IFEodmlsZWdlZCkKLS0uMSBFIEYwKFNhbWUgYXMpMjI0IDIyOCBRIEYxPGFkNzA+Mi41IEUgRjAoLilBIEYxIC0uMSh2ZSkxODQgMjQwIFMKLShyYm9zZSkuMSBFIEYwKFNhbWUgYXMpNy4zMyBFIEYxPGFkNzY+Mi41IEUgRjAoLilBIEYxKHZpKTE4NCAyNTIgUSBGMAotMS40NjYoVXNlIGEgdmktc3R5bGUgY29tbWFuZCBsaW5lIGVkaXRpbmcgaW50ZXJmKTMyLjIyIEYgMy45NjUKLShhY2UuIFRoaXMpLS4xIEYgMS40NjUoYWxzbyBhZikzLjk2NSBGIDEuNDY1KGZlY3RzIHRoZSBlZGl0aW5nKS0uMjUgRgotKGludGVyZikyMjQgMjY0IFEoYWNlIHVzZWQgZm9yKS0uMSBFIEYxIC0uMTgocmUpMi41IEcoYWQgXDI1NWUpLjE4IEUgRjAKLSguKUEgRjEoeHRyYWNlKTE4NCAyNzYgUSBGMChTYW1lIGFzKTEzLjM1IEUgRjE8YWQ3OD4yLjUgRSBGMCguKUEoSWYpMTg0Ci0yOTQgUSBGMTxhZDZmPjMuMDUyIEUgRjAgLjU1MihpcyBzdXBwbGllZCB3aXRoIG5vKTMuMDUyIEYgRjIKLShvcHRpb25cMjU1bmFtZSkzLjA1MyBFIEYwIDMuMDUzKCx0KUMgLjU1MyhoZSB2KS0zLjA1MyBGIC41NTMKLShhbHVlcyBvZiB0aGUgY3VycmVudCBvcHRpb25zIGFyZSBwcmludGVkLiktLjI1IEYoSWYpNS41NTMgRSBGMSgrbykxODQKLTMwNiBRIEYwIDEuMDcyKGlzIHN1cHBsaWVkIHdpdGggbm8pMy41NzIgRiBGMihvcHRpb25cMjU1bmFtZSkzLjU3MiBFIEYwCi0zLjU3MigsYSlDIDEuMDcxKHNlcmllcyBvZiktLjAwMSBGIEYxKHNldCkzLjU3MSBFIEYwIDEuMDcxCi0oY29tbWFuZHMgdG8gcmVjcmVhdGUgdGhlIGN1cnJlbnQpMy41NzEgRgotKG9wdGlvbiBzZXR0aW5ncyBpcyBkaXNwbGF5ZWQgb24gdGhlIHN0YW5kYXJkIG91dHB1dC4pMTg0IDMxOCBRIEYxPGFkNzA+Ci0xNDQgMzMwIFEgRjAgLS40NShUdSkyOC43NCBHIDEuMDcxKHJuIG9uKS40NSBGIEYyKHByaXZpbGUpNC44MjEgRSAtLjEKLShnZSktLjQgRyhkKS4xIEUgRjAgMy41NzIobW9kZS4gSW4pNC4zNDEgRiAxLjA3Mih0aGlzIG1vZGUsIHRoZSkzLjU3MiBGCi0vRjMgOS9UaW1lcy1Cb2xkQDAgU0YoJEVOVikzLjU3MiBFIEYwKGFuZCkzLjMyMiBFIEYzKCRCKTMuNTcyIEUoQVNIX0VOVikKLS0uMjcgRSBGMCAxLjA3MihcMjE0bGVzIGFyZSBub3QgcHJvLSkzLjMyMiBGIDEuNTAxCi0oY2Vzc2VkLCBzaGVsbCBmdW5jdGlvbnMgYXJlIG5vdCBpbmhlcml0ZWQgZnJvbSB0aGUgZW4pMTg0IDM0MiBSIDEuNQotKHZpcm9ubWVudCwgYW5kIHRoZSktLjQgRiBGMyhTSEVMTE9QVFMpNCBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRigsKUEgRjMKLS0uMjcoQkEpMTg0IDM1NCBTKFNIT1BUUykuMjcgRSBGNCgsKUEgRjMoQ0RQKTIuNzc0IEUgLS44NTUoQVQpLS42NjYgRyhIKQotLjg1NSBFIEY0KCwpQSBGMChhbmQpMi43NzQgRSBGMyhHTE9CSUdOT1JFKTMuMDI0IEUgRjAgLS4yNSh2YSkyLjc3NCBHCi0uNTI0KHJpYWJsZXMsIGlmIHRoZSkuMjUgRiAzLjAyNSh5YSktLjE1IEcgLjUyNShwcGVhciBpbiB0aGUgZW4pLTMuMDI1IEYKLSh2aXJvbm1lbnQsKS0uNCBFIC4zOChhcmUgaWdub3JlZC4pMTg0IDM2NiBSIC4zOAotKElmIHRoZSBzaGVsbCBpcyBzdGFydGVkIHdpdGggdGhlIGVmKTUuMzggRihmZWN0aSktLjI1IEUgLjY3OSAtLjE1KHZlIHUpCi0tLjI1IEggLjM3OShzZXIgXChncm91cFwpIGlkIG5vdCBlcXVhbCB0byB0aGUgcmVhbCkuMTUgRiAuNDYxCi0odXNlciBcKGdyb3VwXCkgaWQsIGFuZCB0aGUpMTg0IDM3OCBSIEYxPGFkNzA+Mi45NjEgRSBGMCAuNDYxCi0ob3B0aW9uIGlzIG5vdCBzdXBwbGllZCwgdGhlc2UgYWN0aW9ucyBhcmUgdGFrKTIuOTYxIEYgLjQ2MgotKGVuIGFuZCB0aGUgZWYpLS4xIEYoZmVjLSktLjI1IEUodGkpMTg0IDM5MCBRIC42OTUgLS4xNSh2ZSB1KS0uMjUgSCAuMzk1Ci0oc2VyIGlkIGlzIHNldCB0byB0aGUgcmVhbCB1c2VyIGlkLikuMTUgRiAuMzk1KElmIHRoZSk1LjM5NSBGIEYxPGFkNzA+Ci0yLjg5NSBFIEYwIC4zOTQob3B0aW9uIGlzIHN1cHBsaWVkIGF0IHN0YXJ0dXAsIHRoZSBlZikyLjg5NSBGKGZlY3RpKS0uMjUKLUUgLS4xNSh2ZSktLjI1IEcgLjM4Nih1c2VyIGlkIGlzIG5vdCByZXNldC4pMTg0IDQwMiBSIC0uNDUoVHUpNS4zODYgRwotLjM4NihybmluZyB0aGlzIG9wdGlvbiBvZikuNDUgRiAyLjg4NihmYyktLjI1IEcgLjM4NyhhdXNlcyB0aGUgZWYpLTIuODg2Ci1GKGZlY3RpKS0uMjUgRSAuNjg3IC0uMTUodmUgdSktLjI1IEggLjM4NyhzZXIgYW5kIGdyb3VwIGlkcyB0byBiZSkuMTUgRgotKHNldCB0byB0aGUgcmVhbCB1c2VyIGFuZCBncm91cCBpZHMuKTE4NCA0MTQgUSBGMTxhZDc0PjE0NCA0MjYgUSBGMAotKEV4aXQgYWZ0ZXIgcmVhZGluZyBhbmQgZSkzMC45NyBFIC0uMTUoeGUpLS4xNSBHKGN1dGluZyBvbmUgY29tbWFuZC4pLjE1Ci1FIEYxPGFkNzU+MTQ0IDQzOCBRIEYwIC0uMzUoVHIpMjguNzQgRyAuMDQ0KGVhdCB1bnNldCB2KS4zNSBGIC4wNDQoYXJpYVwKLWJsZXMgYW5kIHBhcmFtZXRlcnMgb3RoZXIgdGhhbiB0aGUgc3BlY2lhbCBwYXJhbWV0ZXJzICJAIiBhbmQgIioiIGFzIGFuKQotLS4yNSBGIC4xODIoZXJyb3Igd2hlbiBwZXJmb3JtaW5nIHBhcmFtZXRlciBlKTE4NCA0NTAgUiAyLjY4MgotKHhwYW5zaW9uLiBJZiktLjE1IEYgLS4xNShleCkyLjY4MiBHIC4xODMKLShwYW5zaW9uIGlzIGF0dGVtcHRlZCBvbiBhbiB1bnNldCB2KS4xNSBGKGFyaS0pLS4yNSBFIC43NDYKLShhYmxlIG9yIHBhcmFtZXRlcikxODQgNDYyIFIgMy4yNDYoLHQpLS40IEcgLjc0NgotKGhlIHNoZWxsIHByaW50cyBhbiBlcnJvciBtZXNzYWdlLCBhbmQsIGlmIG5vdCBpbnRlcmFjdGkpLTMuMjQ2IEYgLS4xNQotKHZlKS0uMjUgRyAzLjI0NigsZSkuMTUgRyAuNzQ2KHhpdHMgd2l0aCBhKS0zLjM5NiBGKG5vbi16ZXJvIHN0YXR1cy4pMTg0Ci00NzQgUSBGMTxhZDc2PjE0NCA0ODYgUSBGMChQcmludCBzaGVsbCBpbnB1dCBsaW5lcyBhcyB0aGUpMjkuMyBFIDIuNSh5YSkKLS0uMTUgRyhyZSByZWFkLiktMi41IEUgRjE8YWQ3OD4xNDQgNDk4IFEgRjAgLjMxNShBZnRlciBlKTI5LjMgRiAuMzE1Ci0oeHBhbmRpbmcgZWFjaCktLjE1IEYgRjIgLjMxNShzaW1wbGUgY29tbWFuZCkyLjgxNSBGIEYwKCwpQSBGMSAtLjI1KGZvKQotMi44MTUgRyhyKS4yNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUgRjEoY2FzZSkyLjgxNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUKLUYxKHNlbGVjdCkyLjgxNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUgMS4yMzYob3IgYXJpdGhtZXRpYykxODQgNTEwIFIgRjEKLS0uMjUoZm8pMy43MzYgRyhyKS4yNSBFIEYwIDEuMjM2KGNvbW1hbmQsIGRpc3BsYXkgdGhlIGUpMy43MzYgRiAxLjIzNgotKHhwYW5kZWQgdiktLjE1IEYgMS4yMzYoYWx1ZSBvZiktLjI1IEYgRjMoUFM0KTMuNzM2IEUgRjQoLClBIEYwKGZvbGxvKQotMy40ODYgRSAxLjIzNih3ZWQgYnkgdGhlIGNvbS0pLS4yNSBGKG1hbmQgYW5kIGl0cyBlKTE4NCA1MjIgUQotKHhwYW5kZWQgYXIpLS4xNSBFKGd1bWVudHMgb3IgYXNzb2NpYXRlZCB3KS0uMTggRShvcmQgbGlzdC4pLS4xIEUgRjEKLTxhZDQyPjE0NCA1MzQgUSBGMCAyLjU3OChUaGUgc2hlbGwgcGVyZm9ybXMgYnJhY2UgZSkyNy42MyBGIDIuNTc4Ci0oeHBhbnNpb24gXChzZWUpLS4xNSBGIEYxIDIuNTc4KEJyYWNlIEV4cGFuc2lvbik1LjA3OCBGIEYwKGFibyk1LjA3OCBFCi0tLjE1KHZlKS0uMTUgRyA1LjA3OShcKS4gVGhpcykuMTUgRiAyLjU3OShpcyBvbiBieSk1LjA3OSBGKGRlZikxODQgNTQ2IFEKLShhdWx0LiktLjEgRSBGMTxhZDQzPjE0NCA1NTggUSBGMCAuMjE0KElmIHNldCwpMjcuMDggRiBGMShiYXNoKTIuNzE0IEUKLUYwIC4yMTQoZG9lcyBub3QgbykyLjcxNCBGIC0uMTUodmUpLS4xNSBHIC4yMTQocndyaXRlIGFuIGUpLjE1IEYgLjIxNAotKHhpc3RpbmcgXDIxNGxlIHdpdGggdGhlKS0uMTUgRiBGMSg+KTIuNzE0IEUgRjAoLClBIEYxKD4mKTIuNzE0IEUgRjAKLTIuNzEzKCxhKUMobmQpLTIuNzEzIEUgRjEoPD4pMi43MTMgRSBGMCAuMjEzKHJlZGlyZWN0aW9uIG9wZXJhLSkyLjcxMyBGCi0zLjA1Myh0b3JzLiBUaGlzKTE4NCA1NzAgUiAuNTUzKG1heSBiZSBvKTMuMDUzIEYgLS4xNSh2ZSktLjE1IEcgLjU1MwotKHJyaWRkZW4gd2hlbiBjcmVhdGluZyBvdXRwdXQgXDIxNGxlcyBieSB1c2luZyB0aGUgcmVkaXJlY3Rpb24gb3BlcmEtKQotLjE1IEYodG9yKTE4NCA1ODIgUSBGMSg+fCkyLjUgRSBGMChpbnN0ZWFkIG9mKTIuNSBFIEYxKD4pMi41IEUgRjAoLilBIEYxCi08YWQ0NT4xNDQgNTk0IFEgRjAgLjEwNChJZiBzZXQsIGFuKTI3LjYzIEYgMi42MDQoeXQpLS4xNSBHIC4xMDQocmFwIG9uKQotLTIuNjA0IEYgRjEoRVJSKTIuNjA0IEUgRjAgLjEwMwotKGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMsIGNvbW1hbmQgc3Vic3RpdHV0aW9ucywgYW5kIGNvbS0pMi42MDQKLUYgLjgzOChtYW5kcyBlKTE4NCA2MDYgUiAtLjE1KHhlKS0uMTUgRyAuODM4KGN1dGVkIGluIGEgc3Vic2hlbGwgZW4pLjE1Ci1GIDMuMzM4KHZpcm9ubWVudC4gVGhlKS0uNCBGIEYxKEVSUikzLjMzOCBFIEYwIC44MzkKLSh0cmFwIGlzIG5vcm1hbGx5IG5vdCBpbmhlcml0ZWQgaW4pMy4zMzkgRihzdWNoIGNhc2VzLikxODQgNjE4IFEgRjEKLTxhZDQ4PjE0NCA2MzAgUSBGMChFbmFibGUpMjYuNTIgRSBGMSghKTMuMDMyIEUgRjAgLjUzMgotKHN0eWxlIGhpc3Rvcnkgc3Vic3RpdHV0aW9uLik1LjUzMiBGIC41MzEoVGhpcyBvcHRpb24gaXMgb24gYnkgZGVmKTUuNTMyCi1GIC41MzEoYXVsdCB3aGVuIHRoZSBzaGVsbCBpcyBpbnRlciktLjEgRigtKS0uMiBFKGFjdGkpMTg0IDY0MiBRIC0uMTUKLSh2ZSktLjI1IEcoLikuMTUgRSBGMTxhZDUwPjE0NCA2NTQgUSBGMCAxLjE2NAotKElmIHNldCwgdGhlIHNoZWxsIGRvZXMgbm90IGZvbGxvKTI4LjE5IEYgMy42NjQod3MpLS4yNSBHIDEuMTY0Ci0oeW1ib2xpYyBsaW5rcyB3aGVuIGUpLTMuNjY0IEYgLS4xNSh4ZSktLjE1IEcgMS4xNjUKLShjdXRpbmcgY29tbWFuZHMgc3VjaCBhcykuMTUgRiBGMShjZCkzLjY2NSBFIEYwIDIuODIyCi0odGhhdCBjaGFuZ2UgdGhlIGN1cnJlbnQgdykxODQgNjY2IFIgMi44MjIob3JraW5nIGRpcmVjdG9yeSktLjEgRiA3LjgyMgotKC5JKS0uNjUgRyA1LjMyMih0dSktNy44MjIgRyAyLjgyMihzZXMgdGhlIHBoKS01LjMyMiBGIDIuODIxCi0oeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUpLS4wNSBGIDIuNjg1KGluc3RlYWQuIEJ5KTE4NCA2NzggUihkZWYpMi42ODUKLUUoYXVsdCwpLS4xIEUgRjEoYmFzaCkyLjY4NiBFIEYwKGZvbGxvKTIuNjg2IEUgLjE4NgotKHdzIHRoZSBsb2dpY2FsIGNoYWluIG9mIGRpcmVjdG9yaWVzIHdoZW4gcGVyZm9ybWluZyBjb20tKS0uMjUgRgotKG1hbmRzIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkpMTg0IDY5MCBRKC4pLS42NSBFIEYxPGFkNTQ+MTQ0Ci03MDIgUSBGMCAuODkoSWYgc2V0LCBhbikyNy42MyBGIDMuMzkoeXQpLS4xNSBHIC44OShyYXBzIG9uKS0zLjM5IEYgRjEKLShERUIpMy4zOSBFKFVHKS0uMSBFIEYwKGFuZCkzLjM5IEUgRjEoUkVUVVJOKTMuMzkgRSBGMCAuODkKLShhcmUgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucywgY29tbWFuZCkzLjM5IEYgMS45MzIKLShzdWJzdGl0dXRpb25zLCBhbmQgY29tbWFuZHMgZSkxODQgNzE0IFIgLS4xNSh4ZSktLjE1IEcgMS45MzIKLShjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNSBGIDQuNDMyKHZpcm9ubWVudC4gVGhlKS0uNCBGIEYxKERFQik0LjQzMiBFCi0oVUcpLS4xIEUgRjAoYW5kKTQuNDMyIEUgRjEoUkVUVVJOKTE4NCA3MjYgUSBGMAotKHRyYXBzIGFyZSBub3JtYWxseSBub3QgaW5oZXJpdGVkIGluIHN1Y2ggY2FzZXMuKTIuNSBFKEdOVSBCYXNoLTQuMSk3MgotNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNjIpMTg1Ljk1NSBFIDAgQ2cgRVAKKy0uMzUgRSAuMjQ2KGFuZCByZXR1cm4gZWl0aGVyKTE0NCA4NCBSL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG4pMy4xMDYgRQorRjAgLjI0NihvciB0aGUgZSkyLjk4NiBGIC4yNDYoeGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGUpLS4xNSBGCistLjE1KHhlKS0uMTUgRyAuMjQ2KGN1dGVkIHdpdGhpbiB0aGUgc2NyaXB0IGFzIHRoZSBlKS4xNSBGIC4yNDUKKyh4aXQgc3RhLSktLjE1IEYgLjA4MSh0dXMgb2YgdGhlIHNjcmlwdC4pMTQ0IDk2IFIgLjA4MgorKElmIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uIGFuZCBub3QgZHVyaW5nIGUpNS4wODIgRiAtLjE1KHhlKS0uMTUgRyAuMDgyCisoY3V0aW9uIG9mIGEgc2NyaXB0IGJ5KS4xNSBGL0YyIDEwL1RpbWVzLUJvbGRAMCBTRiguKTIuNTgyIEUgRjAgMi41ODIKKygsdCkuODMzIEcgLjA4MihoZSByZXR1cm4gc3RhLSktMi41ODIgRiAyLjMwNih0dXMgaXMgZikxNDQgMTA4IFIgNC44MDYKKyhhbHNlLiBBbiktLjEgRiA0LjgwNih5YyktLjE1IEcgMi4zMDUob21tYW5kIGFzc29jaWF0ZWQgd2l0aCB0aGUpLTQuODA2CitGIEYyKFJFVFVSTik0LjgwNSBFIEYwIDIuMzA1KHRyYXAgaXMgZSk0LjgwNSBGIC0uMTUoeGUpLS4xNSBHIDIuMzA1CisoY3V0ZWQgYmVmb3JlIGUpLjE1IEYgLS4xNSh4ZSktLjE1IEcoY3V0aW9uKS4xNSBFCisocmVzdW1lcyBhZnRlciB0aGUgZnVuY3Rpb24gb3Igc2NyaXB0LikxNDQgMTIwIFEgRjIoc2V0KTEwOCAxMzYuOCBRIEYwCisoWykyLjUgRSBGMihcMjU1XDI1NWFiZWZoa21ucHR1dnhCQ0VIUFQpQSBGMCAyLjUoXVspQyBGMjxhZDZmPi0yLjUgRSBGMQorKG9wdGlvblwyNTVuYW1lKTIuNSBFIEYwIDIuNShdWylDIEYxKGFyKS0yLjUgRShnKS0uMzcgRSBGMCguLi5dKTIuNSBFIEYyCisoc2V0KTEwOCAxNDguOCBRIEYwKFspMi41IEUgRjIoK2FiZWZoa21ucHR1dnhCQ0VIUFQpQSBGMCAyLjUoXVspQyBGMigrbykKKy0yLjUgRSBGMShvcHRpb25cMjU1bmFtZSkyLjUgRSBGMCAyLjUoXVspQyBGMShhciktMi41IEUoZyktLjM3IEUgRjAKKyguLi5dKTIuNSBFIC0uNChXaSkxNDQgMTYwLjggUyAuODM1KHRob3V0IG9wdGlvbnMsIHRoZSBuYW1lIGFuZCB2KS40IEYKKy44MzUoYWx1ZSBvZiBlYWNoIHNoZWxsIHYpLS4yNSBGIC44MzYKKyhhcmlhYmxlIGFyZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUpLS4yNSBGIC43ODQKKyhyZXVzZWQgYXMgaW5wdXQgZm9yIHNldHRpbmcgb3IgcmVzZXR0aW5nIHRoZSBjdXJyZW50bHktc2V0IHYpMTQ0IDE3Mi44CitSIDMuMjg0KGFyaWFibGVzLiBSZWFkLW9ubHkpLS4yNSBGIC0uMjUodmEpMy4yODQgRyAuNzgzCisocmlhYmxlcyBjYW5ub3QgYmUpLjI1IEYgMi45NDYocmVzZXQuIEluKTE0NCAxODQuOCBSIEYxIC40NDcocG9zaXggbW9kZSkKKzIuOTQ2IEYgRjAgMi45NDcoLG8pQyAuNDQ3KG5seSBzaGVsbCB2KS0yLjk0NyBGIC40NDcKKyhhcmlhYmxlcyBhcmUgbGlzdGVkLiktLjI1IEYgLjQ0NworKFRoZSBvdXRwdXQgaXMgc29ydGVkIGFjY29yZGluZyB0byB0aGUgY3VycmVudCk1LjQ0NyBGIDMuNTMxCisobG9jYWxlLiBXaGVuKTE0NCAxOTYuOCBSIDEuMDMxKG9wdGlvbnMgYXJlIHNwZWNpXDIxNGVkLCB0aGUpMy41MzEgRgorMy41MzEoeXMpLS4xNSBHIDEuMDMxKGV0IG9yIHVuc2V0IHNoZWxsIGF0dHJpYiktMy41MzEgRiAzLjUzKHV0ZXMuIEFuKQorLS4yIEYgMy41Myh5YSktLjE1IEcgLS4xOChyZyktMy41MyBHIDEuMDModW1lbnRzIHJlbWFpbmluZykuMTggRiAxLjYyMworKGFmdGVyIG9wdGlvbiBwcm9jZXNzaW5nIGFyZSB0cmVhdGVkIGFzIHYpMTQ0IDIwOC44IFIgMS42MjQKKyhhbHVlcyBmb3IgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhbmQgYXJlIGFzc2lnbmVkLCBpbiktLjI1IEYob3JkZXIpCisxNDQgMjIwLjggUSAyLjUoLHQpLS40IEcobyktMi41IEUgRjIoJDEpMi41IEUgRjAoLClBIEYyKCQyKTIuNSBFIEYwKCwpQQorRjIgMi41KC4uLiAkKTIuNSBGIEYxKG4pQSBGMCA1KC5PKUMocHRpb25zLCBpZiBzcGVjaVwyMTRlZCwgaGEpLTUgRSAuMworLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMjxhZDYxPjE0NCAyMzIuOCBRCitGMCAuNTQoQXV0b21hdGljYWxseSBtYXJrIHYpMjkuMyBGIC41MzkKKyhhcmlhYmxlcyBhbmQgZnVuY3Rpb25zIHdoaWNoIGFyZSBtb2RpXDIxNGVkIG9yIGNyZWF0ZWQgZm9yIGUpLS4yNSBGCisuNTM5KHhwb3J0IHRvKS0uMTUgRih0aGUgZW4pMTg0IDI0NC44IFEKKyh2aXJvbm1lbnQgb2Ygc3Vic2VxdWVudCBjb21tYW5kcy4pLS40IEUgRjI8YWQ2Mj4xNDQgMjU2LjggUSBGMCAuMTMxCisoUmVwb3J0IHRoZSBzdGF0dXMgb2YgdGVybWluYXRlZCBiYWNrZ3JvdW5kIGpvYnMgaW1tZWRpYXRlbHkpMjguNzQgRgorMi42MzIoLHIpLS42NSBHIC4xMzIoYXRoZXIgdGhhbiBiZWZvcmUgdGhlIG5lKS0yLjYzMiBGKHh0KS0uMTUgRQorKHByaW1hcnkgcHJvbXB0LikxODQgMjY4LjggUShUaGlzIGlzIGVmKTUgRShmZWN0aSktLjI1IEUgLjMgLS4xNSh2ZSBvKQorLS4yNSBIKG5seSB3aGVuIGpvYiBjb250cm9sIGlzIGVuYWJsZWQuKS4xNSBFIEYyPGFkNjU+MTQ0IDI4MC44IFEgRjAKKy41MTEoRXhpdCBpbW1lZGlhdGVseSBpZiBhKTI5Ljg2IEYgRjEocGlwZWxpbmUpMy4wMTEgRSBGMCAuNTExCisoXCh3aGljaCBtYXkgY29uc2lzdCBvZiBhIHNpbmdsZSkzLjAxMSBGIEYxIC41MShzaW1wbGUgY29tbWFuZCkzLjAxIEYgRjAKKzMuMDEoXCksIGEpQiBGMShzdWItKTMuMDEgRShzaGVsbCkxODQgMjkyLjggUSBGMCAuODcyCisoY29tbWFuZCBlbmNsb3NlZCBpbiBwYXJlbnRoZXNlcywgb3Igb25lIG9mIHRoZSBjb21tYW5kcyBlKTMuMzcyIEYgLS4xNQorKHhlKS0uMTUgRyAuODcyKGN1dGVkIGFzIHBhcnQgb2YgYSkuMTUgRiAuMzk5CisoY29tbWFuZCBsaXN0IGVuY2xvc2VkIGJ5IGJyYWNlcyBcKHNlZSkxODQgMzA0LjggUi9GMyA5L1RpbWVzLUJvbGRAMCBTRgorLjM5OShTSEVMTCBHUkFNTUFSKTIuODk5IEYgRjAoYWJvKTIuNjQ5IEUgLS4xNSh2ZSktLjE1IEcgMi44OTkoXCllKS4xNSBHCisuMzk5KHhpdHMgd2l0aCBhIG5vbi16ZXJvKS0zLjA0OSBGIDMuOTY4KHN0YXR1cy4gVGhlKTE4NCAzMTYuOCBSIDEuNDY4Cisoc2hlbGwgZG9lcyBub3QgZSkzLjk2OCBGIDEuNDY4KHhpdCBpZiB0aGUgY29tbWFuZCB0aGF0IGYpLS4xNSBGIDEuNDY4CisoYWlscyBpcyBwYXJ0IG9mIHRoZSBjb21tYW5kIGxpc3QpLS4xIEYgLjU3KGltbWVkaWF0ZWx5IGZvbGxvKTE4NCAzMjguOAorUiAuNTcod2luZyBhKS0uMjUgRiBGMih3aGlsZSkzLjA3IEUgRjAob3IpMy4wNyBFIEYyKHVudGlsKTMuMDcgRSBGMCAtLjEKKyhrZSkzLjA2OSBHKHl3KS0uMDUgRSAuNTY5KG9yZCwgcGFydCBvZiB0aGUgdGVzdCBmb2xsbyktLjEgRiAuNTY5Cisod2luZyB0aGUpLS4yNSBGIEYyKGlmKTMuMDY5IEUgRjAob3IpMy4wNjkgRSBGMihlbGlmKTMuMDY5IEUgRjAocmVzZXJ2KQorMTg0IDM0MC44IFEgLjkwOShlZCB3KS0uMTUgRiAuOTA5KG9yZHMsIHBhcnQgb2YgYW4pLS4xIEYgMy40MDkoeWMpLS4xNSBHCisuOTA5KG9tbWFuZCBlKS0zLjQwOSBGIC0uMTUoeGUpLS4xNSBHIC45MDkoY3V0ZWQgaW4gYSkuMTUgRiBGMigmJikzLjQwOQorRSBGMChvcikzLjQwOSBFIEYyKHx8KTMuNDEgRSBGMCAuOTEobGlzdCBlKTMuNDEgRiAuOTEoeGNlcHQgdGhlIGNvbW1hbmQpCistLjE1IEYoZm9sbG8pMTg0IDM1Mi44IFEgLjA1KHdpbmcgdGhlIFwyMTRuYWwpLS4yNSBGIEYyKCYmKTIuNTUgRSBGMChvcikKKzIuNTUgRSBGMih8fCkyLjU1IEUgRjAgMi41NSgsYSlDIC4zNSAtLjE1KG55IGMpLTIuNTUgSCAuMDQ5Cisob21tYW5kIGluIGEgcGlwZWxpbmUgYikuMTUgRiAuMDQ5KHV0IHRoZSBsYXN0LCBvciBpZiB0aGUgY29tbWFuZCcpLS4yIEYKKyhzKS0uNTUgRSAuMzcyKHJldHVybiB2KTE4NCAzNjQuOCBSIC4zNzIoYWx1ZSBpcyBiZWluZyBpbiktLjI1IEYgLS4xNQorKHZlKS0uNCBHIC4zNzIocnRlZCB3aXRoKS4xNSBGIEYyKCEpMi44NzIgRSBGMCA1LjM3MiguQSlDIC4zNzIodHJhcCBvbikKKy0yLjUgRiBGMihFUlIpMi44NzIgRSBGMCAyLjg3MigsaSlDIDIuODczKGZzKS0yLjg3MiBHIC4zNzMoZXQsIGlzIGUpCistMi44NzMgRiAtLjE1KHhlKS0uMTUgRyAuMzczKGN1dGVkIGJlZm9yZSB0aGUgc2hlbGwpLjE1IEYgLS4xNShleCkxODQKKzM3Ni44IFMgMi44OTcoaXRzLiBUaGlzKS4xNSBGIC4zOTcob3B0aW9uIGFwcGxpZXMgdG8gdGhlIHNoZWxsIGVuKTIuODk3CitGIC4zOTYodmlyb25tZW50IGFuZCBlYWNoIHN1YnNoZWxsIGVuKS0uNCBGIC4zOTYodmlyb25tZW50IHNlcGEtKS0uNCBGCisuMTkocmF0ZWx5IFwoc2VlKTE4NCAzODguOCBSIEYzIC4xOShDT01NQU5EIEVYRUNVVElPTiBFTlZJUikyLjY5IEYKKyhPTk1FTlQpLS4yNyBFIEYwKGFibykyLjQ0IEUgLS4xNSh2ZSktLjE1IEcgLjE5CisoXCksIGFuZCBtYXkgY2F1c2Ugc3Vic2hlbGxzKS4xNSBGKHRvIGUpMTg0IDQwMC44IFEoeGl0IGJlZm9yZSBlKS0uMTUgRQorLS4xNSh4ZSktLjE1IEcoY3V0aW5nIGFsbCB0aGUgY29tbWFuZHMgaW4gdGhlIHN1YnNoZWxsLikuMTUgRSBGMjxhZDY2PgorMTQ0IDQxMi44IFEgRjAoRGlzYWJsZSBwYXRobmFtZSBlKTMwLjk3IEUoeHBhbnNpb24uKS0uMTUgRSBGMjxhZDY4PjE0NAorNDI0LjggUSBGMCAyLjIzOShSZW1lbWJlciB0aGUgbG9jYXRpb24gb2YgY29tbWFuZHMgYXMgdGhlKTI4Ljc0IEYgNC43MzgKKyh5YSktLjE1IEcgMi4yMzgocmUgbG9vayktNC43MzggRiAyLjIzOChlZCB1cCBmb3IgZSktLjEgRiAtLjE1KHhlKS0uMTUgRworNC43MzgoY3V0aW9uLiBUaGlzKS4xNSBGKGlzKTQuNzM4IEUoZW5hYmxlZCBieSBkZWYpMTg0IDQzNi44IFEoYXVsdC4pLS4xCitFIEYyPGFkNmI+MTQ0IDQ0OC44IFEgRjAgLjUxMyhBbGwgYXIpMjguNzQgRiAuNTE0CisoZ3VtZW50cyBpbiB0aGUgZm9ybSBvZiBhc3NpZ25tZW50IHN0YXRlbWVudHMgYXJlIHBsYWNlZCBpbiB0aGUgZW4pLS4xOAorRiAuNTE0KHZpcm9ubWVudCBmb3IgYSktLjQgRgorKGNvbW1hbmQsIG5vdCBqdXN0IHRob3NlIHRoYXQgcHJlY2VkZSB0aGUgY29tbWFuZCBuYW1lLikxODQgNDYwLjggUSBGMgorPGFkNmQ+MTQ0IDQ3Mi44IFEgRjAgLjE0OShNb25pdG9yIG1vZGUuKTI1Ljk3IEYgLjE0OQorKEpvYiBjb250cm9sIGlzIGVuYWJsZWQuKTUuMTQ5IEYgLjE0OChUaGlzIG9wdGlvbiBpcyBvbiBieSBkZWYpNS4xNDkgRgorLjE0OChhdWx0IGZvciBpbnRlcmFjdGkpLS4xIEYgLjQ0OCAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzKS4xNSBFIC42MzYKKyhvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCBpdCBcKHNlZSkxODQgNDg0LjggUiBGMyAuNjM2KEpPQiBDT05UUikzLjEzNiBGCisoT0wpLS4yNyBFIEYwKGFibykyLjg4NiBFIC0uMTUodmUpLS4xNSBHIDMuMTM2KFwpLiBCYWNrZ3JvdW5kKS4xNSBGIC42MzcKKyhwcm9jZXNzZXMgcnVuIGluIGEpMy4xMzYgRiAuNjQyCisoc2VwYXJhdGUgcHJvY2VzcyBncm91cCBhbmQgYSBsaW5lIGNvbnRhaW5pbmcgdGhlaXIgZSkxODQgNDk2LjggUiAuNjQxCisoeGl0IHN0YXR1cyBpcyBwcmludGVkIHVwb24gdGhlaXIgY29tLSktLjE1IEYocGxldGlvbi4pMTg0IDUwOC44IFEgRjIKKzxhZDZlPjE0NCA1MjAuOCBRIEYwIC42NTIoUmVhZCBjb21tYW5kcyBiKTI4Ljc0IEYgLjY1Mih1dCBkbyBub3QgZSktLjIgRgorLS4xNSh4ZSktLjE1IEcgLjY1MihjdXRlIHRoZW0uKS4xNSBGIC42NTMKKyhUaGlzIG1heSBiZSB1c2VkIHRvIGNoZWNrIGEgc2hlbGwgc2NyaXB0IGZvcik1LjY1MiBGKHN5bnRheCBlcnJvcnMuKTE4NAorNTMyLjggUShUaGlzIGlzIGlnbm9yZWQgYnkgaW50ZXJhY3RpKTUgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUKK0UgRjI8YWQ2Zj4xNDQgNTQ0LjggUSBGMShvcHRpb25cMjU1bmFtZSkyLjUgRSBGMChUaGUpMTg0IDU1Ni44IFEgRjEKKyhvcHRpb25cMjU1bmFtZSkyLjUgRSBGMChjYW4gYmUgb25lIG9mIHRoZSBmb2xsbykyLjUgRSh3aW5nOiktLjI1IEUgRjIKKyhhbGxleHBvcnQpMTg0IDU2OC44IFEgRjAoU2FtZSBhcykyMjQgNTgwLjggUSBGMjxhZDYxPjIuNSBFIEYwKC4pQSBGMgorKGJyYWNlZXhwYW5kKTE4NCA1OTIuOCBRIEYwKFNhbWUgYXMpMjI0IDYwNC44IFEgRjI8YWQ0Mj4yLjUgRSBGMCguKUEgRjIKKyhlbWFjcykxODQgNjE2LjggUSBGMCAuMDg5CisoVXNlIGFuIGVtYWNzLXN0eWxlIGNvbW1hbmQgbGluZSBlZGl0aW5nIGludGVyZikxMy45IEYgMi41ODkoYWNlLiBUaGlzKQorLS4xIEYgLjA4OShpcyBlbmFibGVkIGJ5IGRlZikyLjU4OSBGKGF1bHQpLS4xIEUgLjk1Cisod2hlbiB0aGUgc2hlbGwgaXMgaW50ZXJhY3RpKTIyNCA2MjguOCBSIC0uMTUodmUpLS4yNSBHIDMuNDUoLHUpLjE1IEcKKy45NShubGVzcyB0aGUgc2hlbGwgaXMgc3RhcnRlZCB3aXRoIHRoZSktMy40NSBGIEYyKFwyNTVcMjU1bm9lZGl0aW5nKQorMy40NSBFIEYwIDIuNShvcHRpb24uIFRoaXMpMjI0IDY0MC44IFIoYWxzbyBhZikyLjUgRQorKGZlY3RzIHRoZSBlZGl0aW5nIGludGVyZiktLjI1IEUoYWNlIHVzZWQgZm9yKS0uMSBFIEYyIC0uMTgocmUpMi41IEcKKyhhZCBcMjU1ZSkuMTggRSBGMCguKUEgRjIoZXJyKTE4NCA2NTIuOCBRKGV4aXQpLS4xOCBFIEYwKFNhbWUgYXMpMTEuMzEgRQorRjI8YWQ2NT4yLjUgRSBGMCguKUEgRjIoZXJydHJhY2UpMTg0IDY2NC44IFEgRjAoU2FtZSBhcyk1LjAzIEUgRjI8YWQ0NT4KKzIuNSBFIEYwKC4pQSBGMihmdW5jdHJhY2UpMTg0IDY3Ni44IFEgRjAoU2FtZSBhcykyMjQgNjg4LjggUSBGMjxhZDU0PjIuNQorRSBGMCguKUEgRjIoaGFzaGFsbCkxODQgNzAwLjggUSBGMChTYW1lIGFzKTkuNDMgRSBGMjxhZDY4PjIuNSBFIEYwKC4pQQorKEdOVSBCYXNoLTQuMik3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSg2MikxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA2MyA2MwogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0Y8YWRhZD4xNDQgODQgUSBGMCAuNDAxKElmIG5vIGFyKTI4LjYgRiAuNDAxCi0oZ3VtZW50cyBmb2xsbyktLjE4IEYgMi45MDEod3QpLS4yNSBHIC40MDEKLShoaXMgb3B0aW9uLCB0aGVuIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHVuc2V0LiktMi45MDEgRgotKE90aGVyd2lzZSwpNS40IEUodGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgc2V0IHRvIHRoZSkxODQgOTYgUS9GMgotMTAvVGltZXMtSXRhbGljQDAgU0YoYXIpMi41IEUoZyktLjM3IEUgRjAocywgZSlBIC0uMTUodmUpLS4yNSBHIDIuNShuaSkKLS4xNSBHIDIuNShmcyktMi41IEcob21lIG9mIHRoZW0gYmUpLTIuNSBFKGdpbiB3aXRoIGEpLS4xNSBFIEYxPGFkPjIuNSBFCi1GMCguKUEgRjE8YWQ+MTQ0IDEwOCBRIEYwIDEuOTQ0Ci0oU2lnbmFsIHRoZSBlbmQgb2Ygb3B0aW9ucywgY2F1c2UgYWxsIHJlbWFpbmluZykzNC4zIEYgRjIoYXIpNC40NDQgRShnKQotLS4zNyBFIEYwIDQuNDQ0KHN0KUMgNC40NDQob2IpLTQuNDQ0IEcgNC40NDUoZWEpLTQuNDQ0IEcgMS45NDUKLShzc2lnbmVkIHRvIHRoZSBwb3NpdGlvbmFsKS00LjQ0NSBGIDMuNDQ2KHBhcmFtZXRlcnMuIFRoZSkxODQgMTIwIFIgRjEKLTxhZDc4PjMuNDQ2IEUgRjAoYW5kKTMuNDQ2IEUgRjE8YWQ3Nj4zLjQ0NiBFIEYwIC45NDUKLShvcHRpb25zIGFyZSB0dXJuZWQgb2YpMy40NDYgRiAzLjQ0NShmLiBJZiktLjI1IEYgLjk0NSh0aGVyZSBhcmUgbm8pCi0zLjQ0NSBGIEYyKGFyKTMuNDQ1IEUoZyktLjM3IEUgRjAgLjk0NShzLCB0aGUgcG9zaXRpb25hbClCCi0ocGFyYW1ldGVycyByZW1haW4gdW5jaGFuZ2VkLikxODQgMTMyIFEgLjQyNShUaGUgb3B0aW9ucyBhcmUgb2YpMTQ0Ci0xNDguOCBSIDIuOTI1KGZiKS0uMjUgRyAyLjkyNSh5ZCktMi45MjUgRyhlZiktMi45MjUgRSAuNDI1Ci0oYXVsdCB1bmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLiktLjEgRiAuNDI1Ci0oVXNpbmcgKyByYXRoZXIgdGhhbiBcMjU1IGNhdXNlcyB0aGVzZSBvcHRpb25zKTUuNDI1IEYgLjE3OAotKHRvIGJlIHR1cm5lZCBvZikxNDQgMTYwLjggUiAyLjY3OChmLiBUaGUpLS4yNSBGIC4xNzgKLShvcHRpb25zIGNhbiBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzIGFyKTIuNjc4IEYgLjE3OChndW1lbnRzIHRvIGFuIGluKQotLS4xOCBGIC0uMih2byktLjQgRyAuMTc3KGNhdGlvbiBvZiB0aGUgc2hlbGwuKS4yIEYoVGhlKTUuMTc3IEUgLjA2NgotKGN1cnJlbnQgc2V0IG9mIG9wdGlvbnMgbWF5IGJlIGZvdW5kIGluKTE0NCAxNzIuOCBSIEYxPDI0YWQ+Mi41NjYgRSBGMAotNS4wNjYoLlQpQyAuMDY2KGhlIHJldHVybiBzdGF0dXMgaXMgYWwpLTUuMDY2IEYgLS4xKHdhKS0uMSBHIC4wNjYKLSh5cyB0cnVlIHVubGVzcyBhbiBpbikuMSBGIC0uMjUodmEpLS40IEcgLjA2NyhsaWQgb3B0aW9uKS4yNSBGCi0oaXMgZW5jb3VudGVyZWQuKTE0NCAxODQuOCBRIEYxKHNoaWZ0KTEwOCAyMDEuNiBRIEYwKFspMi41IEUgRjIobilBIEYwCi0oXSlBIC40MjkoVGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBmcm9tKTE0NCAyMTMuNiBSIEYyKG4pMi45MjkgRSBGMAotLjQyOSgrMSAuLi4gYXJlIHJlbmFtZWQgdG8pQiBGMSAuNDI5KCQxIC4uLi4pMi45MjkgRiBGMCAtLjE1KFBhKTUuNDI4IEcKLS40MjgocmFtZXRlcnMgcmVwcmVzZW50ZWQgYnkgdGhlIG51bS0pLjE1IEYoYmVycykxNDQgMjI1LjYgUSBGMSgkIykyLjU4MgotRSBGMChkbykyLjU4MiBFIC4wODIod24gdG8pLS4yNSBGIEYxKCQjKTIuNTgyIEUgRjA8YWQ+QSBGMihuKUEgRjAgLjA4MgotKCsxIGFyZSB1bnNldC4pQiBGMihuKTUuNDQyIEUgRjAgLjA4MihtdXN0IGJlIGEgbm9uLW5lKTIuODIyIEYgLS4wNShnYSkKLS0uMTUgRyh0aSkuMDUgRSAuMzgzIC0uMTUodmUgbiktLjI1IEggLjA4Myh1bWJlciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8pCi0uMTUgRiBGMSgkIykyLjU4MyBFIEYwIDUuMDgzKC5JKUMoZiktNS4wODMgRSBGMihuKTIuOTQzIEUgRjAgLjA2Ci0oaXMgMCwgbm8gcGFyYW1ldGVycyBhcmUgY2hhbmdlZC4pMTQ0IDIzNy42IFIoSWYpNS4wNiBFIEYyKG4pMi45MiBFIEYwCi0uMDYoaXMgbm90IGdpKTIuOCBGIC0uMTUodmUpLS4yNSBHIC4wNihuLCBpdCBpcyBhc3N1bWVkIHRvIGJlIDEuKS4xNSBGCi0oSWYpNS4wNiBFIEYyKG4pMi45MiBFIEYwIC4wNihpcyBncmVhdGVyIHRoYW4pMi44IEYgRjEoJCMpMi41NiBFIEYwIDIuNTYKLSgsdClDKGhlKS0yLjU2IEUgLjE0Myhwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIG5vdCBjaGFuZ2VkLikxNDQgMjQ5LjYgUgotLjE0NChUaGUgcmV0dXJuIHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gemVybyBpZik1LjE0MyBGIEYyKG4pMy4wMDQgRSBGMAotLjE0NChpcyBncmVhdGVyIHRoYW4pMi44ODQgRiBGMSgkIykyLjY0NCBFIEYwCi0ob3IgbGVzcyB0aGFuIHplcm87IG90aGVyd2lzZSAwLikxNDQgMjYxLjYgUSBGMShzaG9wdCkxMDggMjc4LjQgUSBGMChbKQotMi41IEUgRjEoXDI1NXBxc3UpQSBGMCAyLjUoXVspQyBGMTxhZDZmPi0yLjUgRSBGMCAyLjUoXVspQyBGMihvcHRuYW1lKQotLTIuNSBFIEYwKC4uLl0pMi41IEUgLS44KFRvKTE0NCAyOTAuNCBTIC4yMjIoZ2dsZSB0aGUgdikuOCBGIC4yMjIKLShhbHVlcyBvZiB2KS0uMjUgRiAuMjIyKGFyaWFibGVzIGNvbnRyb2xsaW5nIG9wdGlvbmFsIHNoZWxsIGJlaGEpLS4yNSBGCi0odmlvciktLjIgRSA1LjIyMiguVyktLjU1IEcgLjIyMihpdGggbm8gb3B0aW9ucywgb3Igd2l0aCB0aGUpLTUuNjIyIEYgRjEKLTxhZDcwPjIuNzIyIEUgRjAgLjcyMShvcHRpb24sIGEgbGlzdCBvZiBhbGwgc2V0dGFibGUgb3B0aW9ucyBpcyBkaXNwbGF5XAotZWQsIHdpdGggYW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIHNldC4pMTQ0IDMwMi40IFIoVGhlKQotMTQ0IDMxNC40IFEgRjE8YWQ3MD4yLjgyOCBFIEYwIC4zMjcob3B0aW9uIGNhdXNlcyBvdXRwdXQgdG8gYmUgZGlzcGxheWVcCi1kIGluIGEgZm9ybSB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuKTIuODI4IEYgLjMyNyhPdGhlciBvcHRpb25zKQotNS4zMjcgRihoYSkxNDQgMzI2LjQgUSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopCi0tLjI1IEUgRjE8YWQ3Mz4xNDQgMzM4LjQgUSBGMChFbmFibGUgXChzZXRcKSBlYWNoKTI2LjQxIEUgRjIob3B0bmFtZSkyLjUKLUUgRjAoLilBIEYxPGFkNzU+MTQ0IDM1MC40IFEgRjAoRGlzYWJsZSBcKHVuc2V0XCkgZWFjaCkyNC43NCBFIEYyCi0ob3B0bmFtZSkyLjUgRSBGMCguKUEgRjE8YWQ3MT4xNDQgMzYyLjQgUSBGMCAuMDAzKFN1cHByZXNzZXMgbm9ybWFsIG91dFwKLXB1dCBcKHF1aWV0IG1vZGVcKTsgdGhlIHJldHVybiBzdGF0dXMgaW5kaWNhdGVzIHdoZXRoZXIgdGhlKTI0Ljc0IEYgRjIKLShvcHRuYW1lKTIuNTA0IEUgRjAoaXMpMi41MDQgRSAuMjU2KHNldCBvciB1bnNldC4pMTgwIDM3NC40IFIgLjI1NgotKElmIG11bHRpcGxlKTUuMjU2IEYgRjIob3B0bmFtZSkyLjc1NiBFIEYwKGFyKTIuNzU2IEUgLjI1NgotKGd1bWVudHMgYXJlIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRyAyLjc1NihudykuMTUgRyhpdGgpLTIuNzU2IEUgRjEKLTxhZDcxPjIuNzU2IEUgRjAgMi43NTUoLHQpQyAuMjU1KGhlIHJldHVybiBzdGF0dXMgaXMgemVybyBpZiktMi43NTUgRgotKGFsbCkxODAgMzg2LjQgUSBGMihvcHRuYW1lcykyLjUgRSBGMChhcmUgZW5hYmxlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLikKLTIuNSBFIEYxPGFkNmY+MTQ0IDM5OC40IFEgRjAoUmVzdHJpY3RzIHRoZSB2KTI1LjMgRShhbHVlcyBvZiktLjI1IEUgRjIKLShvcHRuYW1lKTIuNSBFIEYwKHRvIGJlIHRob3NlIGRlXDIxNG5lZCBmb3IgdGhlKTIuNSBFIEYxPGFkNmY+Mi41IEUgRjAKLShvcHRpb24gdG8gdGhlKTIuNSBFIEYxKHNldCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4uKS4yIEUgLjEyNwotKElmIGVpdGhlcikxNDQgNDE1LjIgUiBGMTxhZDczPjIuNjI3IEUgRjAob3IpMi42MjcgRSBGMTxhZDc1PjIuNjI3IEUgRjAKLS4xMjcoaXMgdXNlZCB3aXRoIG5vKTIuNjI3IEYgRjIob3B0bmFtZSkyLjYyNyBFIEYwKGFyKTIuNjI3IEUgLjEyNwotKGd1bWVudHMsIHRoZSBkaXNwbGF5IGlzIGxpbWl0ZWQgdG8gdGhvc2Ugb3B0aW9ucyB3aGljaCktLjE4IEYgMS4wMjQKLShhcmUgc2V0IG9yIHVuc2V0LCByZXNwZWN0aSkxNDQgNDI3LjIgUiAtLjE1KHZlKS0uMjUgRyhseSkuMTUgRSA2LjAyNAotKC5VKS0uNjUgRyAxLjAyNChubGVzcyBvdGhlcndpc2Ugbm90ZWQsIHRoZSktNi4wMjQgRiBGMShzaG9wdCkzLjUyMyBFIEYwCi0xLjAyMyhvcHRpb25zIGFyZSBkaXNhYmxlZCBcKHVuc2V0XCkgYnkpMy41MjMgRihkZWYpMTQ0IDQzOS4yIFEoYXVsdC4pCi0tLjEgRSAxLjU0NChUaGUgcmV0dXJuIHN0YXR1cyB3aGVuIGxpc3Rpbmcgb3B0aW9ucyBpcyB6ZXJvIGlmIGFsbCkxNDQKLTQ1NiBSIEYyKG9wdG5hbWVzKTQuMDQ0IEUgRjAgMS41NDUoYXJlIGVuYWJsZWQsIG5vbi16ZXJvIG90aGVyd2lzZS4pCi00LjA0NSBGIC42OTYKLShXaGVuIHNldHRpbmcgb3IgdW5zZXR0aW5nIG9wdGlvbnMsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHplcm8gdW5sZXNzIGFuKQotMTQ0IDQ2OCBSIEYyKG9wdG5hbWUpMy4xOTYgRSBGMCAuNjk2KGlzIG5vdCBhIHYpMy4xOTYgRiAuNjk1KGFsaWQgc2hlbGwpCi0tLjI1IEYob3B0aW9uLikxNDQgNDgwIFEoVGhlIGxpc3Qgb2YpMTQ0IDQ5Ni44IFEgRjEoc2hvcHQpMi41IEUgRjAKLShvcHRpb25zIGlzOikyLjUgRSBGMShhdXRvY2QpMTQ0IDUxNC44IFEgRjAgLjE5OQotKElmIHNldCwgYSBjb21tYW5kIG5hbWUgdGhhdCBpcyB0aGUgbmFtZSBvZiBhIGRpcmVjdG9yeSBpcyBlKTExLjExIEYKLS0uMTUoeGUpLS4xNSBHIC4yKGN1dGVkIGFzIGlmIGl0IHdlcmUgdGhlIGFyKS4xNSBGKGd1LSktLjE4IEUKLShtZW50IHRvIHRoZSkxODQgNTI2LjggUSBGMShjZCkyLjUgRSBGMCAyLjUoY29tbWFuZC4gVGhpcykyLjUgRgotKG9wdGlvbiBpcyBvbmx5IHVzZWQgYnkgaW50ZXJhY3RpKTIuNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFCi1GMShjZGFibGVfdikxNDQgNTM4LjggUShhcnMpLS4xIEUgRjAgLjE1NihJZiBzZXQsIGFuIGFyKTE4NCA1NTAuOCBSIC4xNTYKLShndW1lbnQgdG8gdGhlKS0uMTggRiBGMShjZCkyLjY1NiBFIEYwIC0uMihidSkyLjY1NiBHIC4xNTUKLShpbHRpbiBjb21tYW5kIHRoYXQgaXMgbm90IGEgZGlyZWN0b3J5IGlzIGFzc3VtZWQgdG8gYmUgdGhlKS4yIEYKLShuYW1lIG9mIGEgdikxODQgNTYyLjggUShhcmlhYmxlIHdob3NlIHYpLS4yNSBFCi0oYWx1ZSBpcyB0aGUgZGlyZWN0b3J5IHRvIGNoYW5nZSB0by4pLS4yNSBFIEYxKGNkc3BlbGwpMTQ0IDU3NC44IFEgRjAKLTEuMDU1Ci0oSWYgc2V0LCBtaW5vciBlcnJvcnMgaW4gdGhlIHNwZWxsaW5nIG9mIGEgZGlyZWN0b3J5IGNvbXBvbmVudCBpbiBhKQotMTAuNTUgRiBGMShjZCkzLjU1NSBFIEYwIDEuMDU1KGNvbW1hbmQgd2lsbCBiZSkzLjU1NSBGIDMuOTg4Ci0oY29ycmVjdGVkLiBUaGUpMTg0IDU4Ni44IFIgMS40ODgoZXJyb3JzIGNoZWNrKTMuOTg4IEYgMS40ODcKLShlZCBmb3IgYXJlIHRyYW5zcG9zZWQgY2hhcmFjdGVycywgYSBtaXNzaW5nIGNoYXJhY3RlciktLjEgRiAzLjk4NygsYSkKLS0uNCBHKG5kKS0zLjk4NyBFIC41NTIob25lIGNoYXJhY3RlciB0b28gbWFuKTE4NCA1OTguOCBSIDQuMzUyIC0uNjUKLSh5LiBJKS0uMTUgSCAzLjA1MihmYWMpLjY1IEcgLjU1MgotKG9ycmVjdGlvbiBpcyBmb3VuZCwgdGhlIGNvcnJlY3RlZCBcMjE0bGUgbmFtZSBpcyBwcmludGVkLCBhbmQpLTMuMDUyIEYKLSh0aGUgY29tbWFuZCBwcm9jZWVkcy4pMTg0IDYxMC44IFEKLShUaGlzIG9wdGlvbiBpcyBvbmx5IHVzZWQgYnkgaW50ZXJhY3RpKTUgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikKLS4xNSBFIEYxKGNoZWNraGFzaCkxNDQgNjIyLjggUSBGMCAyLjA4KElmIHNldCwpMTg0IDYzNC44IFIgRjEoYmFzaCk0LjU4Ci1FIEYwIDIuMDc5KGNoZWNrcyB0aGF0IGEgY29tbWFuZCBmb3VuZCBpbiB0aGUgaGFzaCB0YWJsZSBlKTQuNTggRiAyLjA3OQotKHhpc3RzIGJlZm9yZSB0cnlpbmcgdG8pLS4xNSBGIC0uMTUoZXhlKTE4NCA2NDYuOCBTKGN1dGUgaXQuKS4xNSBFCi0oSWYgYSBoYXNoZWQgY29tbWFuZCBubyBsb25nZXIgZSk1IEUKLSh4aXN0cywgYSBub3JtYWwgcGF0aCBzZWFyY2ggaXMgcGVyZm9ybWVkLiktLjE1IEUgRjEoY2hlY2tqb2JzKTE0NCA2NTguOAotUSBGMCAuNDQ4KElmIHNldCwpMTg0IDY3MC44IFIgRjEoYmFzaCkyLjk0OCBFIEYwIC40NDgKLShsaXN0cyB0aGUgc3RhdHVzIG9mIGFuKTIuOTQ4IEYgMi45NDkoeXMpLS4xNSBHIC40NDkKLSh0b3BwZWQgYW5kIHJ1bm5pbmcgam9icyBiZWZvcmUgZSktMi45NDkgRiAuNDQ5KHhpdGluZyBhbiBpbnRlcmFjdGkpLS4xNQotRiAtLjE1KHZlKS0uMjUgRyAzLjQzOShzaGVsbC4gSWYpMTg0IDY4Mi44IFIoYW4pMy40MzkgRSAzLjQzOSh5aiktLjE1IEcKLS45Mzgob2JzIGFyZSBydW5uaW5nLCB0aGlzIGNhdXNlcyB0aGUgZSktMy40MzkgRiAuOTM4Ci0oeGl0IHRvIGJlIGRlZmVycmVkIHVudGlsIGEgc2Vjb25kIGUpLS4xNSBGIC45MzgoeGl0IGlzKS0uMTUgRiAyLjIwMwotKGF0dGVtcHRlZCB3aXRob3V0IGFuIGludGVydikxODQgNjk0LjggUiAyLjIwMyhlbmluZyBjb21tYW5kIFwoc2VlKS0uMTUKLUYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgMi4yMDMoSk9CIENPTlRSKTQuNzAzIEYoT0wpLS4yNyBFIEYwKGFibyk0LjQ1MyBFCi0tLjE1KHZlKS0uMTUgRyA0LjcwMyhcKS4gVGhlKS4xNSBGKHNoZWxsKTQuNzA0IEUoYWwpMTg0IDcwNi44IFEgLS4xKHdhKQotLS4xIEcoeXMgcG9zdHBvbmVzIGUpLjEgRSh4aXRpbmcgaWYgYW4pLS4xNSBFIDIuNSh5aiktLjE1IEcKLShvYnMgYXJlIHN0b3BwZWQuKS0yLjUgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1Ci1FKDYzKTE4NS45NTUgRSAwIENnIEVQCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGhpc3RleHBhbmQpMTg0IDg0IFEgRjAoU2FtZSBhcykyMjQgOTYgUSBGMQorPGFkNDg+Mi41IEUgRjAoLilBIEYxKGhpc3RvcnkpMTg0IDEwOCBRIEYwIC41ODcoRW5hYmxlIGNvbW1hbmQgaGlzdG9yeSkKKzEwIEYgMy4wODcoLGEpLS42NSBHIDMuMDg3KHNkKS0zLjA4NyBHIC41ODcoZXNjcmliZWQgYWJvKS0zLjA4NyBGIC44ODcKKy0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRS9GMiA5L1RpbWVzLUJvbGRAMCBTRihISVNUKTMuMDg3IEUoT1IpLS4xNjIgRQorKFkpLS4zMTUgRS9GMyA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC41ODcoVGhpcyBvcHRpb24gaXMpNS4wODcgRgorKG9uIGJ5IGRlZikyMjQgMTIwIFEoYXVsdCBpbiBpbnRlcmFjdGkpLS4xIEUgLjMgLS4xNSh2ZSBzKS0uMjUgSChoZWxscy4pCisuMTUgRSBGMShpZ25vcikxODQgMTMyIFEoZWVvZiktLjE4IEUgRjAgMS42NTYoVGhlIGVmKTIyNCAxNDQgUiAxLjY1NgorKGZlY3QgaXMgYXMgaWYgdGhlIHNoZWxsIGNvbW1hbmQpLS4yNSBGL0Y0IDEwL0NvdXJpZXJAMCBTRihJR05PUkVFT0Y9MTApCis0LjE1NyBFIEYwIDEuNjU3KGhhZCBiZWVuIGUpNC4xNTcgRiAtLjE1KHhlKS0uMTUgRyhjdXRlZCkuMTUgRShcKHNlZSkyMjQKKzE1NiBRIEYxKFNoZWxsIFYpMi41IEUoYXJpYWJsZXMpLS45MiBFIEYwKGFibykyLjUgRSAtLjE1KHZlKS0uMTUgRyhcKS4pCisuMTUgRSBGMSAtLjEoa2UpMTg0IDE2OCBTKHl3KS4xIEUob3JkKS0uMSBFIEYwKFNhbWUgYXMpMjI0IDE4MCBRIEYxCis8YWQ2Yj4yLjUgRSBGMCguKUEgRjEobW9uaXRvcikxODQgMTkyIFEgRjAoU2FtZSBhcyk1LjU2IEUgRjE8YWQ2ZD4yLjUgRQorRjAoLilBIEYxKG5vY2xvYikxODQgMjA0IFEoYmVyKS0uMSBFIEYwKFNhbWUgYXMpMjI0IDIxNiBRIEYxPGFkNDM+Mi41IEUKK0YwKC4pQSBGMShub2V4ZWMpMTg0IDIyOCBRIEYwKFNhbWUgYXMpMTEuMTIgRSBGMTxhZDZlPjIuNSBFIEYwKC4pQSBGMQorKG5vZ2xvYikxODQgMjQwIFEgRjAoU2FtZSBhcykxMS4xIEUgRjE8YWQ2Nj4yLjUgRSBGMCguKUEgRjEobm9sb2cpMTg0CisyNTIgUSBGMChDdXJyZW50bHkgaWdub3JlZC4pMTYuNjYgRSBGMShub3RpZnkpMTg0IDI2NCBRIEYwKFNhbWUgYXMpMTUgRQorRjE8YWQ2Mj4yLjUgRSBGMCguKUEgRjEobm91bnNldCkxODQgMjc2IFEgRjAoU2FtZSBhcyk2LjY2IEUgRjE8YWQ3NT4yLjUKK0UgRjAoLilBIEYxKG9uZWNtZCkxODQgMjg4IFEgRjAoU2FtZSBhcyk2LjY3IEUgRjE8YWQ3ND4yLjUgRSBGMCguKUEgRjEKKyhwaCkxODQgMzAwIFEoeXNpY2FsKS0uMTUgRSBGMChTYW1lIGFzKTUuMTQgRSBGMTxhZDUwPjIuNSBFIEYwKC4pQSBGMQorKHBpcGVmYWlsKTE4NCAzMTIgUSBGMCAxLjAzKElmIHNldCwgdGhlIHJldHVybiB2KTcuNzcgRiAxLjAyOQorKGFsdWUgb2YgYSBwaXBlbGluZSBpcyB0aGUgdiktLjI1IEYgMS4wMjkKKyhhbHVlIG9mIHRoZSBsYXN0IFwocmlnaHRtb3N0XCkgY29tLSktLjI1IEYgMS4xMzYobWFuZCB0byBlKTIyNCAzMjQgUgorMS4xMzYKKyh4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cywgb3IgemVybyBpZiBhbGwgY29tbWFuZHMgaW4gdGhlIHBpcGVsaW5lKQorLS4xNSBGIC0uMTUoZXgpMjI0IDMzNiBTKGl0IHN1Y2Nlc3NmdWxseSkuMTUgRSA1KC5UKS0uNjUgRworKGhpcyBvcHRpb24gaXMgZGlzYWJsZWQgYnkgZGVmKS01IEUoYXVsdC4pLS4xIEUgRjEocG9zaXgpMTg0IDM0OCBRIEYwCisyLjA5MShDaGFuZ2UgdGhlIGJlaGEpMTcuNzcgRiAyLjA5MSh2aW9yIG9mKS0uMiBGIEYxKGJhc2gpNC41OTEgRSBGMAorMi4wOTEod2hlcmUgdGhlIGRlZik0LjU5MSBGIDIuMDkxKGF1bHQgb3BlcmF0aW9uIGRpZiktLjEgRiAyLjA5MQorKGZlcnMgZnJvbSB0aGUpLS4yNSBGKFBPU0lYIHN0YW5kYXJkIHRvIG1hdGNoIHRoZSBzdGFuZGFyZCBcKCkyMjQgMzYwIFEKKy9GNSAxMC9UaW1lcy1JdGFsaWNAMCBTRihwb3NpeCBtb2RlKUEgRjAoXCkuKUEgRjEocHJpKTE4NCAzNzIgUSh2aWxlZ2VkKQorLS4xIEUgRjAoU2FtZSBhcykyMjQgMzg0IFEgRjE8YWQ3MD4yLjUgRSBGMCguKUEgRjEgLS4xKHZlKTE4NCAzOTYgUworKHJib3NlKS4xIEUgRjAoU2FtZSBhcyk3LjMzIEUgRjE8YWQ3Nj4yLjUgRSBGMCguKUEgRjEodmkpMTg0IDQwOCBRIEYwCisxLjQ2NShVc2UgYSB2aS1zdHlsZSBjb21tYW5kIGxpbmUgZWRpdGluZyBpbnRlcmYpMzIuMjIgRiAzLjk2NgorKGFjZS4gVGhpcyktLjEgRiAxLjQ2NihhbHNvIGFmKTMuOTY2IEYgMS40NjYoZmVjdHMgdGhlIGVkaXRpbmcpLS4yNSBGCisoaW50ZXJmKTIyNCA0MjAgUShhY2UgdXNlZCBmb3IpLS4xIEUgRjEgLS4xOChyZSkyLjUgRyhhZCBcMjU1ZSkuMTggRSBGMAorKC4pQSBGMSh4dHJhY2UpMTg0IDQzMiBRIEYwKFNhbWUgYXMpMTMuMzUgRSBGMTxhZDc4PjIuNSBFIEYwKC4pQShJZikxODQKKzQ1MCBRIEYxPGFkNmY+My4wNTMgRSBGMCAuNTUzKGlzIHN1cHBsaWVkIHdpdGggbm8pMy4wNTMgRiBGNQorKG9wdGlvblwyNTVuYW1lKTMuMDUzIEUgRjAgMy4wNTMoLHQpQyAuNTUzKGhlIHYpLTMuMDUzIEYgLjU1MgorKGFsdWVzIG9mIHRoZSBjdXJyZW50IG9wdGlvbnMgYXJlIHByaW50ZWQuKS0uMjUgRihJZik1LjU1MiBFIEYxKCtvKTE4NAorNDYyIFEgRjAgMS4wNzEoaXMgc3VwcGxpZWQgd2l0aCBubykzLjU3MSBGIEY1KG9wdGlvblwyNTVuYW1lKTMuNTcxIEUgRjAKKzMuNTcxKCxhcylDIDEuMDcxKGVyaWVzIG9mKS0zLjU3MSBGIEYxKHNldCkzLjU3MiBFIEYwIDEuMDcyCisoY29tbWFuZHMgdG8gcmVjcmVhdGUgdGhlIGN1cnJlbnQpMy41NzIgRgorKG9wdGlvbiBzZXR0aW5ncyBpcyBkaXNwbGF5ZWQgb24gdGhlIHN0YW5kYXJkIG91dHB1dC4pMTg0IDQ3NCBRIEYxPGFkNzA+CisxNDQgNDg2IFEgRjAgLS40NShUdSkyOC43NCBHIDEuMDcyKHJuIG9uKS40NSBGIEY1KHByaXZpbGUpNC44MjIgRSAtLjEKKyhnZSktLjQgRyhkKS4xIEUgRjAgMy41NzIobW9kZS4gSW4pNC4zNDIgRiAxLjA3Mih0aGlzIG1vZGUsIHRoZSkzLjU3MiBGCitGMigkRU5WKTMuNTcyIEUgRjAoYW5kKTMuMzIyIEUgRjIoJEIpMy41NzIgRShBU0hfRU5WKS0uMjcgRSBGMCAxLjA3MQorKFwyMTRsZXMgYXJlIG5vdCBwcm8tKTMuMzIyIEYgMS41CisoY2Vzc2VkLCBzaGVsbCBmdW5jdGlvbnMgYXJlIG5vdCBpbmhlcml0ZWQgZnJvbSB0aGUgZW4pMTg0IDQ5OCBSIDEuNTAxCisodmlyb25tZW50LCBhbmQgdGhlKS0uNCBGIEYyKFNIRUxMT1BUUyk0LjAwMSBFIEYzKCwpQSBGMiAtLjI3KEJBKTE4NCA1MTAKK1MoU0hPUFRTKS4yNyBFIEYzKCwpQSBGMihDRFApMi43NzUgRSAtLjg1NShBVCktLjY2NiBHKEgpLjg1NSBFIEYzKCwpQSBGMAorKGFuZCkyLjc3NSBFIEYyKEdMT0JJR05PUkUpMy4wMjUgRSBGMCAtLjI1KHZhKTIuNzc1IEcgLjUyNAorKHJpYWJsZXMsIGlmIHRoZSkuMjUgRiAzLjAyNCh5YSktLjE1IEcgLjUyNChwcGVhciBpbiB0aGUgZW4pLTMuMDI0IEYKKyh2aXJvbm1lbnQsKS0uNCBFIC4zNzkoYXJlIGlnbm9yZWQuKTE4NCA1MjIgUiAuMzc5CisoSWYgdGhlIHNoZWxsIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZWYpNS4zNzkgRihmZWN0aSktLjI1IEUgLjY3OSAtLjE1CisodmUgdSktLjI1IEggLjM4KHNlciBcKGdyb3VwXCkgaWQgbm90IGVxdWFsIHRvIHRoZSByZWFsKS4xNSBGIC40NjIKKyh1c2VyIFwoZ3JvdXBcKSBpZCwgYW5kIHRoZSkxODQgNTM0IFIgRjE8YWQ3MD4yLjk2MSBFIEYwIC40NjEKKyhvcHRpb24gaXMgbm90IHN1cHBsaWVkLCB0aGVzZSBhY3Rpb25zIGFyZSB0YWspMi45NjEgRiAuNDYxCisoZW4gYW5kIHRoZSBlZiktLjEgRihmZWMtKS0uMjUgRSh0aSkxODQgNTQ2IFEgLjY5NCAtLjE1KHZlIHUpLS4yNSBIIC4zOTQKKyhzZXIgaWQgaXMgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuKS4xNSBGIC4zOTUoSWYgdGhlKTUuMzk1IEYgRjE8YWQ3MD4KKzIuODk1IEUgRjAgLjM5NShvcHRpb24gaXMgc3VwcGxpZWQgYXQgc3RhcnR1cCwgdGhlIGVmKTIuODk1IEYoZmVjdGkpLS4yNQorRSAtLjE1KHZlKS0uMjUgRyAuMzg3KHVzZXIgaWQgaXMgbm90IHJlc2V0LikxODQgNTU4IFIgLS40NShUdSk1LjM4NyBHCisuMzg3KHJuaW5nIHRoaXMgb3B0aW9uIG9mKS40NSBGIDIuODg2KGZjKS0uMjUgRyAuMzg2KGF1c2VzIHRoZSBlZiktMi44ODYKK0YoZmVjdGkpLS4yNSBFIC42ODYgLS4xNSh2ZSB1KS0uMjUgSCAuMzg2KHNlciBhbmQgZ3JvdXAgaWRzIHRvIGJlKS4xNSBGCisoc2V0IHRvIHRoZSByZWFsIHVzZXIgYW5kIGdyb3VwIGlkcy4pMTg0IDU3MCBRIEYxPGFkNzQ+MTQ0IDU4MiBRIEYwCisoRXhpdCBhZnRlciByZWFkaW5nIGFuZCBlKTMwLjk3IEUgLS4xNSh4ZSktLjE1IEcoY3V0aW5nIG9uZSBjb21tYW5kLikuMTUKK0UgRjE8YWQ3NT4xNDQgNTk0IFEgRjAgLS4zNShUcikyOC43NCBHIC4wNDMoZWF0IHVuc2V0IHYpLjM1IEYgLjA0NChhcmlhXAorYmxlcyBhbmQgcGFyYW1ldGVycyBvdGhlciB0aGFuIHRoZSBzcGVjaWFsIHBhcmFtZXRlcnMgIkAiIGFuZCAiKiIgYXMgYW4pCistLjI1IEYgLjE4MyhlcnJvciB3aGVuIHBlcmZvcm1pbmcgcGFyYW1ldGVyIGUpMTg0IDYwNiBSIDIuNjgzCisoeHBhbnNpb24uIElmKS0uMTUgRiAtLjE1KGV4KTIuNjgzIEcgLjE4MgorKHBhbnNpb24gaXMgYXR0ZW1wdGVkIG9uIGFuIHVuc2V0IHYpLjE1IEYoYXJpLSktLjI1IEUgLjc0NgorKGFibGUgb3IgcGFyYW1ldGVyKTE4NCA2MTggUiAzLjI0NigsdCktLjQgRyAuNzQ2CisoaGUgc2hlbGwgcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2UsIGFuZCwgaWYgbm90IGludGVyYWN0aSktMy4yNDYgRiAtLjE1CisodmUpLS4yNSBHIDMuMjQ2KCxlKS4xNSBHIC43NDYoeGl0cyB3aXRoIGEpLTMuMzk2IEYobm9uLXplcm8gc3RhdHVzLikxODQKKzYzMCBRIEYxPGFkNzY+MTQ0IDY0MiBRIEYwKFByaW50IHNoZWxsIGlucHV0IGxpbmVzIGFzIHRoZSkyOS4zIEUgMi41KHlhKQorLS4xNSBHKHJlIHJlYWQuKS0yLjUgRSBGMTxhZDc4PjE0NCA2NTQgUSBGMCAuMzE1KEFmdGVyIGUpMjkuMyBGIC4zMTUKKyh4cGFuZGluZyBlYWNoKS0uMTUgRiBGNSAuMzE1KHNpbXBsZSBjb21tYW5kKTIuODE1IEYgRjAoLClBIEYxIC0uMjUoZm8pCisyLjgxNSBHKHIpLjI1IEUgRjAoY29tbWFuZCwpMi44MTUgRSBGMShjYXNlKTIuODE1IEUgRjAoY29tbWFuZCwpMi44MTUgRQorRjEoc2VsZWN0KTIuODE1IEUgRjAoY29tbWFuZCwpMi44MTUgRSAxLjIzNShvciBhcml0aG1ldGljKTE4NCA2NjYgUiBGMQorLS4yNShmbykzLjczNiBHKHIpLjI1IEUgRjAgMS4yMzYoY29tbWFuZCwgZGlzcGxheSB0aGUgZSkzLjczNiBGIDEuMjM2CisoeHBhbmRlZCB2KS0uMTUgRiAxLjIzNihhbHVlIG9mKS0uMjUgRiBGMihQUzQpMy43MzYgRSBGMygsKUEgRjAoZm9sbG8pCiszLjQ4NiBFIDEuMjM2KHdlZCBieSB0aGUgY29tLSktLjI1IEYobWFuZCBhbmQgaXRzIGUpMTg0IDY3OCBRCisoeHBhbmRlZCBhciktLjE1IEUoZ3VtZW50cyBvciBhc3NvY2lhdGVkIHcpLS4xOCBFKG9yZCBsaXN0LiktLjEgRSBGMQorPGFkNDI+MTQ0IDY5MCBRIEYwIDIuNTc5KFRoZSBzaGVsbCBwZXJmb3JtcyBicmFjZSBlKTI3LjYzIEYgMi41NzgKKyh4cGFuc2lvbiBcKHNlZSktLjE1IEYgRjEgMi41NzgoQnJhY2UgRXhwYW5zaW9uKTUuMDc4IEYgRjAoYWJvKTUuMDc4IEUKKy0uMTUodmUpLS4xNSBHIDUuMDc4KFwpLiBUaGlzKS4xNSBGIDIuNTc4KGlzIG9uIGJ5KTUuMDc4IEYoZGVmKTE4NCA3MDIgUQorKGF1bHQuKS0uMSBFIEYxPGFkNDM+MTQ0IDcxNCBRIEYwIC4yMTMoSWYgc2V0LCkyNy4wOCBGIEYxKGJhc2gpMi43MTMgRQorRjAgLjIxMyhkb2VzIG5vdCBvKTIuNzEzIEYgLS4xNSh2ZSktLjE1IEcgLjIxNChyd3JpdGUgYW4gZSkuMTUgRiAuMjE0CisoeGlzdGluZyBcMjE0bGUgd2l0aCB0aGUpLS4xNSBGIEYxKD4pMi43MTQgRSBGMCgsKUEgRjEoPiYpMi43MTQgRSBGMAorMi43MTQoLGEpQyhuZCktMi43MTQgRSBGMSg8PikyLjcxNCBFIEYwIC4yMTQocmVkaXJlY3Rpb24gb3BlcmEtKTIuNzE0IEYKKzUuNDM2KHRvcnMuIFRoaXMpMTg0IDcyNiBSIDIuOTM2KG1heSBiZSBvKTUuNDM2IEYgLS4xNSh2ZSktLjE1IEcgMi45MzYKKyhycmlkZGVuIHdoZW4gY3JlYXRpbmcgb3V0cHV0IFwyMTRsZXMgYnkgdXNpbmcgdGhlIHJlZGlyZWN0aW9uKS4xNSBGCisoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDYzKTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDY0IDY0CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihjaGVja3dpbnNpemUpMTQ0IDg0IFEgRjAgLjc5NyhJZiBzZXQsKTE4NAotOTYgUiBGMShiYXNoKTMuMjk3IEUgRjAgLjc5NyhjaGVja3MgdGhlIHdpbmRvKTMuMjk3IEYgMy4yOTcod3MpLS4yNSBHCi0uNzk2KGl6ZSBhZnRlciBlYWNoIGNvbW1hbmQgYW5kLCBpZiBuZWNlc3NhcnkpLTMuMjk3IEYgMy4yOTYoLHUpLS42NSBHCi0uNzk2KHBkYXRlcyB0aGUpLTMuMjk2IEYgLS4yNSh2YSkxODQgMTA4IFMobHVlcyBvZikuMjUgRS9GMiA5Ci0vVGltZXMtQm9sZEAwIFNGKExJTkVTKTIuNSBFIEYwKGFuZCkyLjI1IEUgRjIoQ09MVU1OUykyLjUgRS9GMyA5Ci0vVGltZXMtUm9tYW5AMCBTRiguKUEgRjEoY21kaGlzdCkxNDQgMTIwIFEgRjAgMS4yMDIoSWYgc2V0LCk2LjExIEYgRjEKLShiYXNoKTMuNzAyIEUgRjAgMS4yMDIoYXR0ZW1wdHMgdG8gc2EpMy43MDIgRiAxLjUwMiAtLjE1KHZlIGEpLS4yIEgKLTEuMjAyKGxsIGxpbmVzIG9mIGEgbXVsdGlwbGUtbGluZSBjb21tYW5kIGluIHRoZSBzYW1lIGhpc3RvcnkpLjE1IEYKLShlbnRyeSkxODQgMTMyIFEgNSguVCktLjY1IEcoaGlzIGFsbG8pLTUgRQotKHdzIGVhc3kgcmUtZWRpdGluZyBvZiBtdWx0aS1saW5lIGNvbW1hbmRzLiktLjI1IEUgRjEoY29tcGF0MzEpMTQ0IDE0NCBRCi1GMCAuNDIoSWYgc2V0LCkxODQgMTU2IFIgRjEoYmFzaCkyLjkyIEUgRjAgLjQyKGNoYW5nZXMgaXRzIGJlaGEpMi45MiBGCi0uNDE5KHZpb3IgdG8gdGhhdCBvZiB2KS0uMiBGIC40MTkoZXJzaW9uIDMuMSB3aXRoIHJlc3BlY3QgdG8gcXVvdGVkIGFyKQotLS4xNSBGKGd1bWVudHMpLS4xOCBFKHRvIHRoZSBjb25kaXRpb25hbCBjb21tYW5kJykxODQgMTY4IFEgMi41KHM9KS0uNTUKLUcgMi41KH5vKS0yLjUgRyhwZXJhdG9yKS0yLjUgRSguKS0uNTUgRSBGMShjb21wYXQzMikxNDQgMTgwIFEgRjAgMS40MDkKLShJZiBzZXQsKTE4NCAxOTIgUiBGMShiYXNoKTMuOTA5IEUgRjAgMS40MDkoY2hhbmdlcyBpdHMgYmVoYSkzLjkwOSBGCi0xLjQwOSh2aW9yIHRvIHRoYXQgb2YgdiktLjIgRiAxLjQxCi0oZXJzaW9uIDMuMiB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpXDIxNGMpLS4xNSBGCi0oc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCcpMTg0IDIwNCBRIDIuNQotKHM8YSktLjU1IEcobmQgPiBvcGVyYXRvcnMuKS0yLjUgRSBGMShjb21wYXQ0MCkxNDQgMjE2IFEgRjAgMS40MQotKElmIHNldCwpMTg0IDIyOCBSIEYxKGJhc2gpMy45MSBFIEYwIDEuNDEoY2hhbmdlcyBpdHMgYmVoYSkzLjkxIEYgMS40MDkKLSh2aW9yIHRvIHRoYXQgb2YgdiktLjIgRiAxLjQwOQotKGVyc2lvbiA0LjAgd2l0aCByZXNwZWN0IHRvIGxvY2FsZS1zcGVjaVwyMTRjKS0uMTUgRiAxLjY5MgotKHN0cmluZyBjb21wYXJpc29uIHdoZW4gdXNpbmcgdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQnKTE4NCAyNDAgUiA0LjE5MwotKHM8YSktLjU1IEcgMS42OTMobmQgPiBvcGVyYXRvcnMgYW5kIHRoZSktNC4xOTMgRihlZikxODQgMjUyIFEKLShmZWN0IG9mIGludGVycnVwdGluZyBhIGNvbW1hbmQgbGlzdC4pLS4yNSBFIEYxKGRpcnNwZWxsKTE0NCAyNjQgUSBGMAotLjg1OShJZiBzZXQsKTcuNzcgRiBGMShiYXNoKTMuMzU5IEUgRjAgLjg1OAotKGF0dGVtcHRzIHNwZWxsaW5nIGNvcnJlY3Rpb24gb24gZGlyZWN0b3J5IG5hbWVzIGR1cmluZyB3KTMuMzU5IEYgLjg1OAotKG9yZCBjb21wbGV0aW9uIGlmKS0uMSBGCi0odGhlIGRpcmVjdG9yeSBuYW1lIGluaXRpYWxseSBzdXBwbGllZCBkb2VzIG5vdCBlKTE4NCAyNzYgUSh4aXN0LiktLjE1IEUKLUYxKGRvdGdsb2IpMTQ0IDI4OCBRIEYwIC4xNjUoSWYgc2V0LCk3Ljc3IEYgRjEoYmFzaCkyLjY2NSBFIEYwIC4xNjUKLShpbmNsdWRlcyBcMjE0bGVuYW1lcyBiZSkyLjY2NSBGIC4xNjUoZ2lubmluZyB3aXRoIGEgYC4pLS4xNSBGIDIuNjY1KCdpKQotLS43IEcgMi42NjUobnQpLTIuNjY1IEcgLjE2NShoZSByZXN1bHRzIG9mIHBhdGhuYW1lIGUpLTIuNjY1IEYKLSh4cGFuc2lvbi4pLS4xNSBFIEYxKGV4ZWNmYWlsKTE0NCAzMDAgUSBGMCAxLjM4NwotKElmIHNldCwgYSBub24taW50ZXJhY3RpKTcuNzkgRiAxLjY4NyAtLjE1KHZlIHMpLS4yNSBIIDEuMzg2Ci0oaGVsbCB3aWxsIG5vdCBlKS4xNSBGIDEuMzg2KHhpdCBpZiBpdCBjYW5ub3QgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcKLTEuMzg2KGN1dGUgdGhlIFwyMTRsZSBzcGVjaVwyMTRlZCBhcyBhbikuMTUgRihhcikxODQgMzEyIFEKLShndW1lbnQgdG8gdGhlKS0uMTggRSBGMShleGVjKTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBjb21tYW5kLikuMiBFCi0oQW4gaW50ZXJhY3RpKTUgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGwgZG9lcyBub3QgZSkuMTUgRSh4aXQgaWYpLS4xNQotRSBGMShleGVjKTIuNSBFIEYwIC0uMShmYSkyLjUgRyhpbHMuKS4xIEUgRjEoZXhwYW5kX2FsaWFzZXMpMTQ0IDMyNCBRIEYwCi0uNzE2KElmIHNldCwgYWxpYXNlcyBhcmUgZSkxODQgMzM2IFIgLjcxNyh4cGFuZGVkIGFzIGRlc2NyaWJlZCBhYm8pLS4xNQotRiAxLjAxNyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjIoQUxJQVNFUykzLjIxNyBFIEYzKC4pQSBGMCAuNzE3Ci0oVGhpcyBvcHRpb24gaXMgZW5hYmxlZCk1LjIxNyBGKGJ5IGRlZikxODQgMzQ4IFEoYXVsdCBmb3IgaW50ZXJhY3RpKS0uMQotRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUgRSBGMShleHRkZWIpMTQ0IDM2MCBRKHVnKS0uMiBFIEYwCi0oSWYgc2V0LCBiZWhhKTE4NCAzNzIgUSh2aW9yIGludGVuZGVkIGZvciB1c2UgYnkgZGViKS0uMiBFCi0odWdnZXJzIGlzIGVuYWJsZWQ6KS0uMiBFIEYxKDEuKTE4NCAzODQgUSBGMChUaGUpMjguNSBFIEYxPGFkNDY+NC4yNTEgRQotRjAgMS43NTEob3B0aW9uIHRvIHRoZSk0LjI1MSBGIEYxKGRlY2xhcik0LjI1MSBFKGUpLS4xOCBFIEYwIC0uMihidSkKLTQuMjUxIEcgMS43NTEoaWx0aW4gZGlzcGxheXMgdGhlIHNvdXJjZSBcMjE0bGUgbmFtZSBhbmQgbGluZSkuMiBGCi0obnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBmdW5jdGlvbiBuYW1lIHN1cHBsaWVkIGFzIGFuIGFyKTIyMCAzOTYgUQotKGd1bWVudC4pLS4xOCBFIEYxKDIuKTE4NCA0MDggUSBGMCAxLjY2NyhJZiB0aGUgY29tbWFuZCBydW4gYnkgdGhlKTI4LjUKLUYgRjEoREVCKTQuMTY3IEUoVUcpLS4xIEUgRjAgMS42NjcodHJhcCByZXR1cm5zIGEgbm9uLXplcm8gdik0LjE2NyBGCi0xLjY2NyhhbHVlLCB0aGUgbmUpLS4yNSBGKHh0KS0uMTUgRShjb21tYW5kIGlzIHNraXBwZWQgYW5kIG5vdCBlKTIyMCA0MjAKLVEgLS4xNSh4ZSktLjE1IEcoY3V0ZWQuKS4xNSBFIEYxKDMuKTE4NCA0MzIgUSBGMCAuODQxCi0oSWYgdGhlIGNvbW1hbmQgcnVuIGJ5IHRoZSkyOC41IEYgRjEoREVCKTMuMzQxIEUoVUcpLS4xIEUgRjAgLjg0MQotKHRyYXAgcmV0dXJucyBhIHYpMy4zNDEgRiAuODQoYWx1ZSBvZiAyLCBhbmQgdGhlIHNoZWxsIGlzKS0uMjUgRiAtLjE1Ci0oZXhlKTIyMCA0NDQgUyAuNDg4Ci0oY3V0aW5nIGluIGEgc3Vicm91dGluZSBcKGEgc2hlbGwgZnVuY3Rpb24gb3IgYSBzaGVsbCBzY3JpcHQgZSkuMTUgRgotLS4xNSh4ZSktLjE1IEcgLjQ4OChjdXRlZCBieSB0aGUpLjE1IEYgRjEoLikyLjk4OCBFIEYwKG9yKTIuOTg4IEUgRjEKLShzb3VyKTIyMCA0NTYgUShjZSktLjE4IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluc1wpLCBhIGNhbGwgdG8pLjIgRSBGMQotLS4xOChyZSkyLjUgRyh0dXIpLjE4IEUobiktLjE1IEUgRjAoaXMgc2ltdWxhdGVkLikyLjUgRSBGMSg0LikxODQgNDY4IFEKLUYyIC0uMjcoQkEpMjguNSBHKFNIX0FSR0MpLjI3IEUgRjAoYW5kKTMuMTU0IEUgRjIgLS4yNyhCQSkzLjQwNCBHCi0oU0hfQVJHVikuMjcgRSBGMCAuOTA0KGFyZSB1cGRhdGVkIGFzIGRlc2NyaWJlZCBpbiB0aGVpciBkZXNjcmlwdGlvbnMpCi0zLjE1NCBGKGFibykyMjAgNDgwIFEgLS4xNSh2ZSktLjE1IEcoLikuMTUgRSBGMSg1LikxODQgNDkyIFEgRjAgMS4zNTkKLShGdW5jdGlvbiB0cmFjaW5nIGlzIGVuYWJsZWQ6KTI4LjUgRiAxLjM1OQotKGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBzaGVsbCBmdW5jdGlvbnMsIGFuZCBzdWItKTYuMzU5IEYoc2hlbGxzIGluKTIyMAotNTA0IFEgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuNShkdykuMSBHKGl0aCktMi41IEUgRjEoXCgpMi41IEUvRjQgMTAKLS9UaW1lcy1JdGFsaWNAMCBTRihjb21tYW5kKTIuNSBFIEYxKFwpKTIuNSBFIEYwKGluaGVyaXQgdGhlKTIuNSBFIEYxCi0oREVCKTIuNSBFKFVHKS0uMSBFIEYwKGFuZCkyLjUgRSBGMShSRVRVUk4pMi41IEUgRjAodHJhcHMuKTIuNSBFIEYxKDYuKQotMTg0IDUxNiBRIEYwIC44MDUoRXJyb3IgdHJhY2luZyBpcyBlbmFibGVkOikyOC41IEYgLjgwNAotKGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBzaGVsbCBmdW5jdGlvbnMsIGFuZCBzdWJzaGVsbHMpNS44MDUgRihpbikyMjAgNTI4Ci1RIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjUoZHcpLjEgRyhpdGgpLTIuNSBFIEYxKFwoKTIuNSBFIEY0Ci0oY29tbWFuZCkyLjUgRSBGMShcKSkyLjUgRSBGMChpbmhlcml0IHRoZSkyLjUgRSBGMShFUlIpMi41IEUoT1IpLS4zIEUgRjAKLSh0cmFwLikyLjUgRSBGMShleHRnbG9iKTE0NCA1NDAgUSBGMCAuNChJZiBzZXQsIHRoZSBlKTguODkgRiAuNAotKHh0ZW5kZWQgcGF0dGVybiBtYXRjaGluZyBmZWF0dXJlcyBkZXNjcmliZWQgYWJvKS0uMTUgRiAuNyAtLjE1KHZlIHUpCi0tLjE1IEgobmRlcikuMTUgRSBGMSAtLjEoUGEpMi45IEcgLjQodGhuYW1lIEV4cGFuLSkuMSBGKHNpb24pMTg0IDU1MiBRCi1GMChhcmUgZW5hYmxlZC4pMi41IEUgRjEoZXh0cXVvdGUpMTQ0IDU2NCBRIEYwIDIuNDczKElmIHNldCwpMTg0IDU3NiBSCi1GMSgkKTQuOTczIEUgRjA8MDg+QSBGNChzdHJpbmcpQSBGMCA0Ljk3MzwwODYxPkMobmQpLTQuOTczIEUgRjEoJCk0Ljk3MwotRSBGMCgiKUEgRjQoc3RyaW5nKUEgRjAgNC45NzMoInEpQyAyLjQ3Myh1b3RpbmcgaXMgcGVyZm9ybWVkIHdpdGhpbikKLS00Ljk3MyBGIEYxKCR7KTQuOTczIEUgRjQocGFyKUEoYW1ldGVyKS0uMTUgRSBGMSh9KUEgRjAgLS4xNShleCk0Ljk3MyBHCi0ocGFuc2lvbnMpLjE1IEUoZW5jbG9zZWQgaW4gZG91YmxlIHF1b3Rlcy4pMTg0IDU4OCBRCi0oVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWYpNSBFKGF1bHQuKS0uMSBFIEYxKGZhaWxnbG9iKTE0NCA2MDAgUSBGMAotMS40MjQoSWYgc2V0LCBwYXR0ZXJucyB3aGljaCBmKTcuNzcgRiAxLjQyNQotKGFpbCB0byBtYXRjaCBcMjE0bGVuYW1lcyBkdXJpbmcgcGF0aG5hbWUgZSktLjEgRiAxLjQyNQotKHhwYW5zaW9uIHJlc3VsdCBpbiBhbiktLjE1IEYgLS4xNShleCkxODQgNjEyIFMocGFuc2lvbiBlcnJvcikuMTUgRSguKQotLS41NSBFIEYxIC0uMjUoZm8pMTQ0IDYyNCBTIC0uMTgocmMpLjI1IEcoZV9cMjE0Z25vcikuMTggRShlKS0uMTggRSBGMAotLjkzNyhJZiBzZXQsIHRoZSBzdWYpMTg0IDYzNiBSPDhjNzg+LS4yNSBFIC45MzYoZXMgc3BlY2lcMjE0ZWQgYnkgdGhlKQotLS4xNSBGIEYyKEZJR05PUkUpMy40MzYgRSBGMCAuOTM2KHNoZWxsIHYpMy4xODYgRiAuOTM2KGFyaWFibGUgY2F1c2UgdykKLS0uMjUgRiAuOTM2KG9yZHMgdG8gYmUgaWdub3JlZCktLjEgRiAuMzIod2hlbiBwZXJmb3JtaW5nIHcpMTg0IDY0OCBSIC4zMgotKG9yZCBjb21wbGV0aW9uIGUpLS4xIEYgLS4xNSh2ZSktLjI1IEcgMi44MihuaSkuMTUgRyAyLjgyKGZ0KS0yLjgyIEcgLjMyCi0oaGUgaWdub3JlZCB3KS0yLjgyIEYgLjMyKG9yZHMgYXJlIHRoZSBvbmx5IHBvc3NpYmxlIGNvbS0pLS4xIEYgMi45NDgKLShwbGV0aW9ucy4gU2VlKTE4NCA2NjAgUiBGMiAuNDQ4KFNIRUxMIFYpMi45NDggRihBUklBQkxFUyktMS4yMTUgRSBGMAotKGFibykyLjY5OCBFIC43NDggLS4xNSh2ZSBmKS0uMTUgSCAuNDQ4KG9yIGEgZGVzY3JpcHRpb24gb2YpLjE1IEYgRjIKLShGSUdOT1JFKTIuOTQ3IEUgRjMoLilBIEYwIC40NDcoVGhpcyBvcHRpb24gaXMpNC45NDcgRihlbmFibGVkIGJ5IGRlZikKLTE4NCA2NzIgUShhdWx0LiktLjEgRSBGMShnbG9ic3RhcikxNDQgNjg0IFEgRjAgLjE3OChJZiBzZXQsIHRoZSBwYXR0ZXJuKQotNSBGIEYxKCoqKTIuNjc4IEUgRjAgLjE3OCh1c2VkIGluIGEgcGF0aG5hbWUgZSkyLjY3OCBGIC4xNzgKLSh4cGFuc2lvbiBjb250ZSktLjE1IEYgLjE3OSh4dCB3aWxsIG1hdGNoIGEgXDIxNGxlcyBhbmQgemVybyBvciktLjE1IEYKLTEuMjk4KG1vcmUgZGlyZWN0b3JpZXMgYW5kIHN1YmRpcmVjdG9yaWVzLikxODQgNjk2IFIgMS4yOTgKLShJZiB0aGUgcGF0dGVybiBpcyBmb2xsbyk2LjI5OCBGIDEuMjk4KHdlZCBieSBhKS0uMjUgRiBGMSgvKTMuNzk3IEUgRjAKLTMuNzk3KCxvKUMgMS4yOTcobmx5IGRpcmVjdG9yaWVzKS0zLjc5NyBGKGFuZCBzdWJkaXJlY3RvcmllcyBtYXRjaC4pMTg0Ci03MDggUShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNjQpMTg1Ljk1NSBFIDAgQ2cKLUVQCistLjM1IEUob3BlcmF0b3IpMTg0IDg0IFEvRjEgMTAvVGltZXMtQm9sZEAwIFNGKD58KTIuNSBFIEYwKGluc3RlYWQgb2YpCisyLjUgRSBGMSg+KTIuNSBFIEYwKC4pQSBGMTxhZDQ1PjE0NCA5NiBRIEYwIC4xMDMoSWYgc2V0LCBhbikyNy42MyBGCisyLjYwMyh5dCktLjE1IEcgLjEwMyhyYXAgb24pLTIuNjAzIEYgRjEoRVJSKTIuNjAzIEUgRjAgLjEwNAorKGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMsIGNvbW1hbmQgc3Vic3RpdHV0aW9ucywgYW5kIGNvbS0pMi42MDMKK0YgLjgzOShtYW5kcyBlKTE4NCAxMDggUiAtLjE1KHhlKS0uMTUgRyAuODM5KGN1dGVkIGluIGEgc3Vic2hlbGwgZW4pLjE1CitGIDMuMzM5KHZpcm9ubWVudC4gVGhlKS0uNCBGIEYxKEVSUikzLjMzOCBFIEYwIC44MzgKKyh0cmFwIGlzIG5vcm1hbGx5IG5vdCBpbmhlcml0ZWQgaW4pMy4zMzggRihzdWNoIGNhc2VzLikxODQgMTIwIFEgRjEKKzxhZDQ4PjE0NCAxMzIgUSBGMChFbmFibGUpMjYuNTIgRSBGMSghKTMuMDMxIEUgRjAgLjUzMQorKHN0eWxlIGhpc3Rvcnkgc3Vic3RpdHV0aW9uLik1LjUzMSBGIC41MzEoVGhpcyBvcHRpb24gaXMgb24gYnkgZGVmKTUuNTMxCitGIC41MzIoYXVsdCB3aGVuIHRoZSBzaGVsbCBpcyBpbnRlciktLjEgRigtKS0uMiBFKGFjdGkpMTg0IDE0NCBRIC0uMTUKKyh2ZSktLjI1IEcoLikuMTUgRSBGMTxhZDUwPjE0NCAxNTYgUSBGMCAxLjE2NQorKElmIHNldCwgdGhlIHNoZWxsIGRvZXMgbm90IGZvbGxvKTI4LjE5IEYgMy42NjQod3MpLS4yNSBHIDEuMTY0CisoeW1ib2xpYyBsaW5rcyB3aGVuIGUpLTMuNjY0IEYgLS4xNSh4ZSktLjE1IEcgMS4xNjQKKyhjdXRpbmcgY29tbWFuZHMgc3VjaCBhcykuMTUgRiBGMShjZCkzLjY2NCBFIEYwIDIuODIxCisodGhhdCBjaGFuZ2UgdGhlIGN1cnJlbnQgdykxODQgMTY4IFIgMi44MjIob3JraW5nIGRpcmVjdG9yeSktLjEgRiA3LjgyMgorKC5JKS0uNjUgRyA1LjMyMih0dSktNy44MjIgRyAyLjgyMihzZXMgdGhlIHBoKS01LjMyMiBGIDIuODIyCisoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUpLS4wNSBGIDIuNjg2KGluc3RlYWQuIEJ5KTE4NCAxODAgUihkZWYpMi42ODYKK0UoYXVsdCwpLS4xIEUgRjEoYmFzaCkyLjY4NiBFIEYwKGZvbGxvKTIuNjg2IEUgLjE4NgorKHdzIHRoZSBsb2dpY2FsIGNoYWluIG9mIGRpcmVjdG9yaWVzIHdoZW4gcGVyZm9ybWluZyBjb20tKS0uMjUgRgorKG1hbmRzIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkpMTg0IDE5MiBRKC4pLS42NSBFIEYxPGFkNTQ+MTQ0CisyMDQgUSBGMCAuODkoSWYgc2V0LCBhbikyNy42MyBGIDMuMzkoeXQpLS4xNSBHIC44OShyYXBzIG9uKS0zLjM5IEYgRjEKKyhERUIpMy4zOSBFKFVHKS0uMSBFIEYwKGFuZCkzLjM5IEUgRjEoUkVUVVJOKTMuMzkgRSBGMCAuODkKKyhhcmUgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucywgY29tbWFuZCkzLjM5IEYgMS45MzIKKyhzdWJzdGl0dXRpb25zLCBhbmQgY29tbWFuZHMgZSkxODQgMjE2IFIgLS4xNSh4ZSktLjE1IEcgMS45MzIKKyhjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNSBGIDQuNDMyKHZpcm9ubWVudC4gVGhlKS0uNCBGIEYxKERFQik0LjQzMiBFCisoVUcpLS4xIEUgRjAoYW5kKTQuNDMyIEUgRjEoUkVUVVJOKTE4NCAyMjggUSBGMAorKHRyYXBzIGFyZSBub3JtYWxseSBub3QgaW5oZXJpdGVkIGluIHN1Y2ggY2FzZXMuKTIuNSBFIEYxPGFkYWQ+MTQ0IDI0MCBRCitGMCAuNChJZiBubyBhcikyOC42IEYgLjQwMShndW1lbnRzIGZvbGxvKS0uMTggRiAyLjkwMSh3dCktLjI1IEcgLjQwMQorKGhpcyBvcHRpb24sIHRoZW4gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBhcmUgdW5zZXQuKS0yLjkwMSBGCisoT3RoZXJ3aXNlLCk1LjQwMSBFKHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHNldCB0byB0aGUpMTg0IDI1MiBRCisvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoYXIpMi41IEUoZyktLjM3IEUgRjAocywgZSlBIC0uMTUodmUpLS4yNSBHIDIuNQorKG5pKS4xNSBHIDIuNShmcyktMi41IEcob21lIG9mIHRoZW0gYmUpLTIuNSBFKGdpbiB3aXRoIGEpLS4xNSBFIEYxPGFkPgorMi41IEUgRjAoLilBIEYxPGFkPjE0NCAyNjQgUSBGMCAxLjk0NQorKFNpZ25hbCB0aGUgZW5kIG9mIG9wdGlvbnMsIGNhdXNlIGFsbCByZW1haW5pbmcpMzQuMyBGIEYyKGFyKTQuNDQ0IEUoZykKKy0uMzcgRSBGMCA0LjQ0NChzdClDIDQuNDQ0KG9iKS00LjQ0NCBHIDQuNDQ0KGVhKS00LjQ0NCBHIDEuOTQ0Cisoc3NpZ25lZCB0byB0aGUgcG9zaXRpb25hbCktNC40NDQgRiAzLjQ0NShwYXJhbWV0ZXJzLiBUaGUpMTg0IDI3NiBSIEYxCis8YWQ3OD4zLjQ0NSBFIEYwKGFuZCkzLjQ0NSBFIEYxPGFkNzY+My40NDUgRSBGMCAuOTQ1Cisob3B0aW9ucyBhcmUgdHVybmVkIG9mKTMuNDQ1IEYgMy40NDUoZi4gSWYpLS4yNSBGIC45NDYodGhlcmUgYXJlIG5vKQorMy40NDUgRiBGMihhcikzLjQ0NiBFKGcpLS4zNyBFIEYwIC45NDYocywgdGhlIHBvc2l0aW9uYWwpQgorKHBhcmFtZXRlcnMgcmVtYWluIHVuY2hhbmdlZC4pMTg0IDI4OCBRIC40MjUoVGhlIG9wdGlvbnMgYXJlIG9mKTE0NAorMzA0LjggUiAyLjkyNShmYiktLjI1IEcgMi45MjUoeWQpLTIuOTI1IEcoZWYpLTIuOTI1IEUgLjQyNQorKGF1bHQgdW5sZXNzIG90aGVyd2lzZSBub3RlZC4pLS4xIEYgLjQyNQorKFVzaW5nICsgcmF0aGVyIHRoYW4gXDI1NSBjYXVzZXMgdGhlc2Ugb3B0aW9ucyk1LjQyNSBGIC4xNzcKKyh0byBiZSB0dXJuZWQgb2YpMTQ0IDMxNi44IFIgMi42NzcoZi4gVGhlKS0uMjUgRiAuMTc4Cisob3B0aW9ucyBjYW4gYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyBhcikyLjY3OCBGIC4xNzgoZ3VtZW50cyB0byBhbiBpbikKKy0uMTggRiAtLjIodm8pLS40IEcgLjE3OChjYXRpb24gb2YgdGhlIHNoZWxsLikuMiBGKFRoZSk1LjE3OCBFIC4wNjYKKyhjdXJyZW50IHNldCBvZiBvcHRpb25zIG1heSBiZSBmb3VuZCBpbikxNDQgMzI4LjggUiBGMTwyNGFkPjIuNTY2IEUgRjAKKzUuMDY2KC5UKUMgLjA2NihoZSByZXR1cm4gc3RhdHVzIGlzIGFsKS01LjA2NiBGIC0uMSh3YSktLjEgRyAuMDY2CisoeXMgdHJ1ZSB1bmxlc3MgYW4gaW4pLjEgRiAtLjI1KHZhKS0uNCBHIC4wNjYobGlkIG9wdGlvbikuMjUgRgorKGlzIGVuY291bnRlcmVkLikxNDQgMzQwLjggUSBGMShzaGlmdCkxMDggMzU3LjYgUSBGMChbKTIuNSBFIEYyKG4pQSBGMAorKF0pQSAuNDI4KFRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgZnJvbSkxNDQgMzY5LjYgUiBGMihuKTIuOTI4IEUgRjAKKy40MjkoKzEgLi4uIGFyZSByZW5hbWVkIHRvKUIgRjEgLjQyOSgkMSAuLi4uKTIuOTI5IEYgRjAgLS4xNShQYSk1LjQyOSBHCisuNDI5KHJhbWV0ZXJzIHJlcHJlc2VudGVkIGJ5IHRoZSBudW0tKS4xNSBGKGJlcnMpMTQ0IDM4MS42IFEgRjEoJCMpMi41ODMKK0UgRjAoZG8pMi41ODMgRSAuMDgzKHduIHRvKS0uMjUgRiBGMSgkIykyLjU4MyBFIEYwPGFkPkEgRjIobilBIEYwIC4wODMKKygrMSBhcmUgdW5zZXQuKUIgRjIobik1LjQ0MyBFIEYwIC4wODMobXVzdCBiZSBhIG5vbi1uZSkyLjgyMyBGIC0uMDUoZ2EpCistLjE1IEcodGkpLjA1IEUgLjM4MiAtLjE1KHZlIG4pLS4yNSBIIC4wODIodW1iZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvKQorLjE1IEYgRjEoJCMpMi41ODIgRSBGMCA1LjA4MiguSSlDKGYpLTUuMDgyIEUgRjIobikyLjk0MiBFIEYwIC4wNgorKGlzIDAsIG5vIHBhcmFtZXRlcnMgYXJlIGNoYW5nZWQuKTE0NCAzOTMuNiBSKElmKTUuMDYgRSBGMihuKTIuOTIgRSBGMAorLjA2KGlzIG5vdCBnaSkyLjggRiAtLjE1KHZlKS0uMjUgRyAuMDYobiwgaXQgaXMgYXNzdW1lZCB0byBiZSAxLikuMTUgRgorKElmKTUuMDYgRSBGMihuKTIuOTIgRSBGMCAuMDYoaXMgZ3JlYXRlciB0aGFuKTIuOCBGIEYxKCQjKTIuNTYgRSBGMCAyLjU2CisoLHQpQyhoZSktMi41NiBFIC4xNDQocG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSBub3QgY2hhbmdlZC4pMTQ0IDQwNS42IFIKKy4xNDQoVGhlIHJldHVybiBzdGF0dXMgaXMgZ3JlYXRlciB0aGFuIHplcm8gaWYpNS4xNDQgRiBGMihuKTMuMDAzIEUgRjAKKy4xNDMoaXMgZ3JlYXRlciB0aGFuKTIuODgzIEYgRjEoJCMpMi42NDMgRSBGMAorKG9yIGxlc3MgdGhhbiB6ZXJvOyBvdGhlcndpc2UgMC4pMTQ0IDQxNy42IFEgRjEoc2hvcHQpMTA4IDQzNC40IFEgRjAoWykKKzIuNSBFIEYxKFwyNTVwcXN1KUEgRjAgMi41KF1bKUMgRjE8YWQ2Zj4tMi41IEUgRjAgMi41KF1bKUMgRjIob3B0bmFtZSkKKy0yLjUgRSBGMCguLi5dKTIuNSBFIC0uOChUbykxNDQgNDQ2LjQgUyAuMjIyKGdnbGUgdGhlIHYpLjggRiAuMjIyCisoYWx1ZXMgb2YgdiktLjI1IEYgLjIyMihhcmlhYmxlcyBjb250cm9sbGluZyBvcHRpb25hbCBzaGVsbCBiZWhhKS0uMjUgRgorKHZpb3IpLS4yIEUgNS4yMjIoLlcpLS41NSBHIC4yMjIoaXRoIG5vIG9wdGlvbnMsIG9yIHdpdGggdGhlKS01LjYyMiBGIEYxCis8YWQ3MD4yLjcyMiBFIEYwIC43MjEob3B0aW9uLCBhIGxpc3Qgb2YgYWxsIHNldHRhYmxlIG9wdGlvbnMgaXMgZGlzcGxheVwKK2VkLCB3aXRoIGFuIGluZGljYXRpb24gb2Ygd2hldGhlciBvciBub3QgZWFjaCBpcyBzZXQuKTE0NCA0NTguNCBSKFRoZSkKKzE0NCA0NzAuNCBRIEYxPGFkNzA+Mi44MjcgRSBGMCAuMzI3KG9wdGlvbiBjYXVzZXMgb3V0cHV0IHRvIGJlIGRpc3BsYXllXAorZCBpbiBhIGZvcm0gdGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LikyLjgyNyBGIC4zMjgoT3RoZXIgb3B0aW9ucykKKzUuMzI4IEYoaGEpMTQ0IDQ4Mi40IFEgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KQorLS4yNSBFIEYxPGFkNzM+MTQ0IDQ5NC40IFEgRjAoRW5hYmxlIFwoc2V0XCkgZWFjaCkyNi40MSBFIEYyKG9wdG5hbWUpMi41CitFIEYwKC4pQSBGMTxhZDc1PjE0NCA1MDYuNCBRIEYwKERpc2FibGUgXCh1bnNldFwpIGVhY2gpMjQuNzQgRSBGMgorKG9wdG5hbWUpMi41IEUgRjAoLilBIEYxPGFkNzE+MTQ0IDUxOC40IFEgRjAgLjAwMyhTdXBwcmVzc2VzIG5vcm1hbCBvdXRcCitwdXQgXChxdWlldCBtb2RlXCk7IHRoZSByZXR1cm4gc3RhdHVzIGluZGljYXRlcyB3aGV0aGVyIHRoZSkyNC43NCBGIEYyCisob3B0bmFtZSkyLjUwMyBFIEYwKGlzKTIuNTAzIEUgLjI1NShzZXQgb3IgdW5zZXQuKTE4MCA1MzAuNCBSIC4yNTUKKyhJZiBtdWx0aXBsZSk1LjI1NSBGIEYyKG9wdG5hbWUpMi43NTUgRSBGMChhcikyLjc1NSBFIC4yNTYKKyhndW1lbnRzIGFyZSBnaSktLjE4IEYgLS4xNSh2ZSktLjI1IEcgMi43NTYobncpLjE1IEcoaXRoKS0yLjc1NiBFIEYxCis8YWQ3MT4yLjc1NiBFIEYwIDIuNzU2KCx0KUMgLjI1NihoZSByZXR1cm4gc3RhdHVzIGlzIHplcm8gaWYpLTIuNzU2IEYKKyhhbGwpMTgwIDU0Mi40IFEgRjIob3B0bmFtZXMpMi41IEUgRjAoYXJlIGVuYWJsZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4pCisyLjUgRSBGMTxhZDZmPjE0NCA1NTQuNCBRIEYwKFJlc3RyaWN0cyB0aGUgdikyNS4zIEUoYWx1ZXMgb2YpLS4yNSBFIEYyCisob3B0bmFtZSkyLjUgRSBGMCh0byBiZSB0aG9zZSBkZVwyMTRuZWQgZm9yIHRoZSkyLjUgRSBGMTxhZDZmPjIuNSBFIEYwCisob3B0aW9uIHRvIHRoZSkyLjUgRSBGMShzZXQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikuMiBFIC4xMjgKKyhJZiBlaXRoZXIpMTQ0IDU3MS4yIFIgRjE8YWQ3Mz4yLjYyOCBFIEYwKG9yKTIuNjI4IEUgRjE8YWQ3NT4yLjYyOCBFIEYwCisuMTI3KGlzIHVzZWQgd2l0aCBubykyLjYyNyBGIEYyKG9wdG5hbWUpMi42MjcgRSBGMChhcikyLjYyNyBFIC4xMjcKKyhndW1lbnRzLCB0aGUgZGlzcGxheSBpcyBsaW1pdGVkIHRvIHRob3NlIG9wdGlvbnMgd2hpY2gpLS4xOCBGIDEuMDIzCisoYXJlIHNldCBvciB1bnNldCwgcmVzcGVjdGkpMTQ0IDU4My4yIFIgLS4xNSh2ZSktLjI1IEcobHkpLjE1IEUgNi4wMjMKKyguVSktLjY1IEcgMS4wMjQobmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLCB0aGUpLTYuMDIzIEYgRjEoc2hvcHQpMy41MjQgRSBGMAorMS4wMjQob3B0aW9ucyBhcmUgZGlzYWJsZWQgXCh1bnNldFwpIGJ5KTMuNTI0IEYoZGVmKTE0NCA1OTUuMiBRKGF1bHQuKQorLS4xIEUgMS41NDQoVGhlIHJldHVybiBzdGF0dXMgd2hlbiBsaXN0aW5nIG9wdGlvbnMgaXMgemVybyBpZiBhbGwpMTQ0Cis2MTIgUiBGMihvcHRuYW1lcyk0LjA0NCBFIEYwIDEuNTQ0KGFyZSBlbmFibGVkLCBub24temVybyBvdGhlcndpc2UuKQorNC4wNDQgRiAuNjk2CisoV2hlbiBzZXR0aW5nIG9yIHVuc2V0dGluZyBvcHRpb25zLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB6ZXJvIHVubGVzcyBhbikKKzE0NCA2MjQgUiBGMihvcHRuYW1lKTMuMTk2IEUgRjAgLjY5NihpcyBub3QgYSB2KTMuMTk2IEYgLjY5NihhbGlkIHNoZWxsKQorLS4yNSBGKG9wdGlvbi4pMTQ0IDYzNiBRKFRoZSBsaXN0IG9mKTE0NCA2NTIuOCBRIEYxKHNob3B0KTIuNSBFIEYwCisob3B0aW9ucyBpczopMi41IEUgRjEoYXV0b2NkKTE0NCA2NzAuOCBRIEYwIC4yCisoSWYgc2V0LCBhIGNvbW1hbmQgbmFtZSB0aGF0IGlzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5IGlzIGUpMTEuMTEgRgorLS4xNSh4ZSktLjE1IEcgLjE5OShjdXRlZCBhcyBpZiBpdCB3ZXJlIHRoZSBhcikuMTUgRihndS0pLS4xOCBFCisobWVudCB0byB0aGUpMTg0IDY4Mi44IFEgRjEoY2QpMi41IEUgRjAgMi41KGNvbW1hbmQuIFRoaXMpMi41IEYKKyhvcHRpb24gaXMgb25seSB1c2VkIGJ5IGludGVyYWN0aSkyLjUgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUgRQorRjEoY2RhYmxlX3YpMTQ0IDY5NC44IFEoYXJzKS0uMSBFIEYwIC4xNTUoSWYgc2V0LCBhbiBhcikxODQgNzA2LjggUiAuMTU1CisoZ3VtZW50IHRvIHRoZSktLjE4IEYgRjEoY2QpMi42NTUgRSBGMCAtLjIoYnUpMi42NTUgRyAuMTU2CisoaWx0aW4gY29tbWFuZCB0aGF0IGlzIG5vdCBhIGRpcmVjdG9yeSBpcyBhc3N1bWVkIHRvIGJlIHRoZSkuMiBGCisobmFtZSBvZiBhIHYpMTg0IDcxOC44IFEoYXJpYWJsZSB3aG9zZSB2KS0uMjUgRQorKGFsdWUgaXMgdGhlIGRpcmVjdG9yeSB0byBjaGFuZ2UgdG8uKS0uMjUgRShHTlUgQmFzaC00LjIpNzIgNzY4IFEKKygyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSg2NCkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA2NSA2NQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YoZ251X2VycmZtdCkxNDQgODQgUSBGMChJZiBzZXQsIHNoZWxsIGVycm9yXAotIG1lc3NhZ2VzIGFyZSB3cml0dGVuIGluIHRoZSBzdGFuZGFyZCBHTlUgZXJyb3IgbWVzc2FnZSBmb3JtYXQuKTE4NCA5NiBRCi1GMShoaXN0YXBwZW5kKTE0NCAxMDggUSBGMCAuNjc2Ci0oSWYgc2V0LCB0aGUgaGlzdG9yeSBsaXN0IGlzIGFwcGVuZGVkIHRvIHRoZSBcMjE0bGUgbmFtZWQgYnkgdGhlIHYpMTg0Ci0xMjAgUiAuNjc2KGFsdWUgb2YgdGhlKS0uMjUgRi9GMiA5L1RpbWVzLUJvbGRAMCBTRihISVNURklMRSkzLjE3NyBFIEYwCi0tLjI1KHZhKTIuOTI3IEcocmktKS4yNSBFKGFibGUgd2hlbiB0aGUgc2hlbGwgZSkxODQgMTMyIFEKLSh4aXRzLCByYXRoZXIgdGhhbiBvKS0uMTUgRSAtLjE1KHZlKS0uMTUgRyhyd3JpdGluZyB0aGUgXDIxNGxlLikuMTUgRSBGMQotKGhpc3RyKTE0NCAxNDQgUShlZWRpdCktLjE4IEUgRjAgLjU3NihJZiBzZXQsIGFuZCkxODQgMTU2IFIgRjEgLS4xOChyZSkKLTMuMDc2IEcoYWRsaW5lKS4xOCBFIEYwIC41NzUoaXMgYmVpbmcgdXNlZCwgYSB1c2VyIGlzIGdpKTMuMDc2IEYgLS4xNQotKHZlKS0uMjUgRyAzLjA3NShudCkuMTUgRyAuNTc1KGhlIG9wcG9ydHVuaXR5IHRvIHJlLWVkaXQgYSBmKS0zLjA3NSBGCi0uNTc1KGFpbGVkIGhpcy0pLS4xIEYodG9yeSBzdWJzdGl0dXRpb24uKTE4NCAxNjggUSBGMShoaXN0dikxNDQgMTgwIFEKLShlcmlmeSktLjEgRSBGMCAuNDAyKElmIHNldCwgYW5kKTE4NCAxOTIgUiBGMSAtLjE4KHJlKTIuOTAzIEcoYWRsaW5lKS4xOAotRSBGMCAuNDAzCi0oaXMgYmVpbmcgdXNlZCwgdGhlIHJlc3VsdHMgb2YgaGlzdG9yeSBzdWJzdGl0dXRpb24gYXJlIG5vdCBpbW1lZGlhdGVseSkKLTIuOTAzIEYgLjY2MihwYXNzZWQgdG8gdGhlIHNoZWxsIHBhcnNlcikxODQgMjA0IFIgNS42NjIoLkkpLS41NSBHIC42NjEKLShuc3RlYWQsIHRoZSByZXN1bHRpbmcgbGluZSBpcyBsb2FkZWQgaW50byB0aGUpLTUuNjYyIEYgRjEgLS4xOChyZSkzLjE2MQotRyhhZGxpbmUpLjE4IEUgRjAoZWRpdGluZykzLjE2MSBFIC0uMihidSkxODQgMjE2IFMgLS4yNShmZikuMiBHKGVyKS4yNSBFCi0yLjUoLGEpLS40IEcobGxvKS0yLjUgRSh3aW5nIGZ1cnRoZXIgbW9kaVwyMTRjYXRpb24uKS0uMjUgRSBGMQotKGhvc3Rjb21wbGV0ZSkxNDQgMjI4IFEgRjAgMS4xODEoSWYgc2V0LCBhbmQpMTg0IDI0MCBSIEYxIC0uMTgocmUpMy42ODEKLUcoYWRsaW5lKS4xOCBFIEYwIDEuMTgxKGlzIGJlaW5nIHVzZWQsKTMuNjgxIEYgRjEoYmFzaCkzLjY4MiBFIEYwIDEuMTgyCi0od2lsbCBhdHRlbXB0IHRvIHBlcmZvcm0gaG9zdG5hbWUgY29tcGxldGlvbikzLjY4MiBGIDEuMzgxKHdoZW4gYSB3KTE4NAotMjUyIFIgMS4zODEob3JkIGNvbnRhaW5pbmcgYSktLjEgRiBGMShAKTMuODgxIEUgRjAgMS4zODEKLShpcyBiZWluZyBjb21wbGV0ZWQgXChzZWUpMy44ODEgRiBGMShDb21wbGV0aW5nKTMuODggRSBGMCh1bmRlcikzLjg4IEUKLUYyKFJFQURMSU5FKTMuODggRSBGMChhYm8pMTg0IDI2NCBRIC0uMTUodmUpLS4xNSBHIDIuNShcKS4gVGhpcykuMTUgRgotKGlzIGVuYWJsZWQgYnkgZGVmKTIuNSBFKGF1bHQuKS0uMSBFIEYxKGh1cG9uZXhpdCkxNDQgMjc2IFEgRjAoSWYgc2V0LCkKLTE4NCAyODggUSBGMShiYXNoKTIuNSBFIEYwKHdpbGwgc2VuZCkyLjUgRSBGMihTSUdIVVApMi41IEUgRjAKLSh0byBhbGwgam9icyB3aGVuIGFuIGludGVyYWN0aSkyLjI1IEUgLjMgLS4xNSh2ZSBsKS0uMjUgSChvZ2luIHNoZWxsIGUpCi0uMTUgRSh4aXRzLiktLjE1IEUgRjEoaW50ZXJhY3RpKTE0NCAzMDAgUSAtLjEodmUpLS4xIEcoX2NvbW1lbnRzKS4xIEUgRjAKLS4zMyhJZiBzZXQsIGFsbG8pMTg0IDMxMiBSIDIuODMod2F3KS0uMjUgRyAuMzMob3JkIGJlKS0yLjkzIEYgLjMzCi0oZ2lubmluZyB3aXRoKS0uMTUgRiBGMSgjKTIuODMgRSBGMCAuMzModG8gY2F1c2UgdGhhdCB3KTIuODMgRiAuMzMKLShvcmQgYW5kIGFsbCByZW1haW5pbmcgY2hhcmFjdGVycyBvbiktLjEgRiAuOTY3Ci0odGhhdCBsaW5lIHRvIGJlIGlnbm9yZWQgaW4gYW4gaW50ZXJhY3RpKTE4NCAzMjQgUiAxLjI2NyAtLjE1KHZlIHMpLS4yNQotSCAuOTY3KGhlbGwgXChzZWUpLjE1IEYgRjIoQ09NTUVOVFMpMy40NjcgRSBGMChhYm8pMy4yMTcgRSAtLjE1KHZlKS0uMTUKLUcgMy40NjcoXCkuIFRoaXMpLjE1IEYgLjk2NyhvcHRpb24gaXMpMy40NjcgRihlbmFibGVkIGJ5IGRlZikxODQgMzM2IFEKLShhdWx0LiktLjEgRSBGMShsaXRoaXN0KTE0NCAzNDggUSBGMCAuNjU0KElmIHNldCwgYW5kIHRoZSkxNS41NSBGIEYxCi0oY21kaGlzdCkzLjE1NCBFIEYwIC42NTQob3B0aW9uIGlzIGVuYWJsZWQsIG11bHRpLWxpbmUgY29tbWFuZHMgYXJlIHNhKQotMy4xNTQgRiAtLjE1KHZlKS0uMiBHIDMuMTU1KGR0KS4xNSBHIDMuMTU1KG90KS0zLjE1NSBHIC42NTUoaGUgaGlzdG9yeSkKLS0zLjE1NSBGKHdpdGggZW1iZWRkZWQgbmUpMTg0IDM2MCBRCi0od2xpbmVzIHJhdGhlciB0aGFuIHVzaW5nIHNlbWljb2xvbiBzZXBhcmF0b3JzIHdoZXJlIHBvc3NpYmxlLiktLjI1IEUgRjEKLShsb2dpbl9zaGVsbCkxNDQgMzcyIFEgRjAgLjQ4NgotKFRoZSBzaGVsbCBzZXRzIHRoaXMgb3B0aW9uIGlmIGl0IGlzIHN0YXJ0ZWQgYXMgYSBsb2dpbiBzaGVsbCBcKHNlZSkxODQKLTM4NCBSIEYyKElOVikyLjk4NiBFKE9DQSktLjQwNSBFKFRJT04pLS44NTUgRSBGMChhYm8pMi43MzYgRSAtLjE1KHZlKQotLS4xNSBHIDIuOTg2KFwpLiBUaGUpLjE1IEYgLS4yNSh2YSkxODQgMzk2IFMobHVlIG1heSBub3QgYmUgY2hhbmdlZC4pLjI1Ci1FIEYxKG1haWx3YXIpMTQ0IDQwOCBRKG4pLS4xNSBFIEYwIC44MTQoSWYgc2V0LCBhbmQgYSBcMjE0bGUgdGhhdCkxODQKLTQyMCBSIEYxKGJhc2gpMy4zMTQgRSBGMCAuODE1Ci0oaXMgY2hlY2tpbmcgZm9yIG1haWwgaGFzIGJlZW4gYWNjZXNzZWQgc2luY2UgdGhlIGxhc3QgdGltZSBpdCkzLjMxNCBGCi0tLjEod2EpMTg0IDQzMiBTIDIuNShzYykuMSBHKGhlY2spLTIuNSBFKGVkLCB0aGUgbWVzc2FnZSBgKS0uMSBFCi0oYFRoZSBtYWlsIGluKS0uNzQgRS9GMyAxMC9UaW1lcy1JdGFsaWNAMCBTRihtYWlsXDIxNGxlKTIuNSBFIEYwCi0oaGFzIGJlZW4gcmVhZCcpMi41IEUgMi41KCdpKS0uNzQgRyAyLjUoc2QpLTIuNSBHKGlzcGxheWVkLiktMi41IEUgRjEKLShub19lbXB0eV9jbWRfY29tcGxldGlvbikxNDQgNDQ0IFEgRjAgLjMyNShJZiBzZXQsIGFuZCkxODQgNDU2IFIgRjEgLS4xOAotKHJlKTIuODI1IEcoYWRsaW5lKS4xOCBFIEYwIC4zMjUoaXMgYmVpbmcgdXNlZCwpMi44MjUgRiBGMShiYXNoKTIuODI0IEUKLUYwIC4zMjQod2lsbCBub3QgYXR0ZW1wdCB0byBzZWFyY2ggdGhlKTIuODI0IEYgRjIgLS42NjYoUEEpMi44MjQgRyhUSCkKLS0uMTg5IEUgRjAgLjMyNChmb3IgcG9zc2libGUpMi41NzQgRgotKGNvbXBsZXRpb25zIHdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgb24gYW4gZW1wdHkgbGluZS4pMTg0IDQ2OCBRIEYxCi0obm9jYXNlZ2xvYikxNDQgNDgwIFEgRjAgLjQzNihJZiBzZXQsKTE4NCA0OTIgUiBGMShiYXNoKTIuOTM2IEUgRjAgLjQzNgotKG1hdGNoZXMgXDIxNGxlbmFtZXMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkyLjkzNiBGIC43MzcgLS4xNSh2ZSBmKS0uMjUKLUggLjQzNyhhc2hpb24gd2hlbiBwZXJmb3JtaW5nIHBhdGhuYW1lKS4wNSBGIC0uMTUoZXgpMTg0IDUwNCBTCi0ocGFuc2lvbiBcKHNlZSkuMTUgRSBGMSAtLjEoUGEpMi41IEcodGhuYW1lIEV4cGFuc2lvbikuMSBFIEYwKGFibykyLjUgRQotLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxKG5vY2FzZW1hdGNoKTE0NCA1MTYgUSBGMCAxLjE5NChJZiBzZXQsKTE4NAotNTI4IFIgRjEoYmFzaCkzLjY5NCBFIEYwIDEuMTk0KG1hdGNoZXMgcGF0dGVybnMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkKLTMuNjk0IEYgMS40OTMgLS4xNSh2ZSBmKS0uMjUgSCAxLjE5Myhhc2hpb24gd2hlbiBwZXJmb3JtaW5nIG1hdGNoaW5nKS4wNQotRih3aGlsZSBlKTE4NCA1NDAgUSAtLjE1KHhlKS0uMTUgRyhjdXRpbmcpLjE1IEUgRjEoY2FzZSkyLjUgRSBGMChvcikyLjUKLUUgRjEoW1spMi41IEUgRjAoY29uZGl0aW9uYWwgY29tbWFuZHMuKTIuNSBFIEYxKG51bGxnbG9iKTE0NCA1NTIgUSBGMAotLjg1NChJZiBzZXQsKTE4NCA1NjQgUiBGMShiYXNoKTMuMzU0IEUgRjAoYWxsbykzLjM1NCBFIC44NTUKLSh3cyBwYXR0ZXJucyB3aGljaCBtYXRjaCBubyBcMjE0bGVzIFwoc2VlKS0uMjUgRiBGMSAtLjEoUGEpMy4zNTUgRyAuODU1Ci0odGhuYW1lIEV4cGFuc2lvbikuMSBGIEYwKGFibykzLjM1NSBFIC0uMTUodmUpLS4xNSBHIDMuMzU1KFwpdCkuMTUgRyhvKQotLTMuMzU1IEUgLS4xNShleCkxODQgNTc2IFMocGFuZCB0byBhIG51bGwgc3RyaW5nLCByYXRoZXIgdGhhbiB0aGVtc2VsdikKLS4xNSBFKGVzLiktLjE1IEUgRjEocHIpMTQ0IDU4OCBRKG9nY29tcCktLjE4IEUgRjAgLjY3NwotKElmIHNldCwgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGYpMTg0IDYwMCBSIC42NzcoYWNpbGl0aWVzIFwoc2VlKQotLS4xIEYgRjEoUHIpMy4xNzYgRSAuNjc2KG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEYgRjAoYWJvKTMuMTc2IEUKLS0uMTUodmUpLS4xNSBHKFwpKS4xNSBFKGFyZSBlbmFibGVkLikxODQgNjEyIFEKLShUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZik1IEUoYXVsdC4pLS4xIEUgRjEocHIpMTQ0IDYyNCBRKG9tcHR2KQotLS4xOCBFKGFycyktLjEgRSBGMCAxLjQ0NyhJZiBzZXQsIHByb21wdCBzdHJpbmdzIHVuZGVyKTE4NCA2MzYgUiAxLjQ0OAotKGdvIHBhcmFtZXRlciBlKS0uMTggRiAxLjQ0OCh4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGl0dXRpb24sIGFyaXRobWV0aWMpCi0tLjE1IEYgLS4xNShleCkxODQgNjQ4IFMgLjE3MShwYW5zaW9uLCBhbmQgcXVvdGUgcmVtbykuMTUgRiAtLjI1KHZhKS0uMTUKLUcgMi42NyhsYSkuMjUgRyAuMTcoZnRlciBiZWluZyBlKS0yLjY3IEYgLjE3KHhwYW5kZWQgYXMgZGVzY3JpYmVkIGluKQotLS4xNSBGIEYyKFBSKTIuNjcgRShPTVBUSU5HKS0uMjcgRSBGMChhYm8pMi40MiBFIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUKLShUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZikxODQgNjYwIFEoYXVsdC4pLS4xIEUgRjEgLS4xOChyZSkxNDQgNjcyCi1TKHN0cmljdGVkX3NoZWxsKS4xOCBFIEYwIDEuMDY5Ci0oVGhlIHNoZWxsIHNldHMgdGhpcyBvcHRpb24gaWYgaXQgaXMgc3RhcnRlZCBpbiByZXN0cmljdGVkIG1vZGUgXChzZWUpCi0xODQgNjg0IFIgRjIgMS4wNjkoUkVTVFJJQ1RFRCBTSEVMTCkzLjU2OSBGIEYwKGJlbG8pMTg0IDY5NiBRIDQuMTc4Ci0od1wpLiBUaGUpLS4yNSBGIC0uMjUodmEpNC4xNzggRyAxLjY3OChsdWUgbWF5IG5vdCBiZSBjaGFuZ2VkLikuMjUgRgotMS42NzgoVGhpcyBpcyBub3QgcmVzZXQgd2hlbiB0aGUgc3RhcnR1cCBcMjE0bGVzIGFyZSk2LjY3OCBGIC0uMTUoZXhlKQotMTg0IDcwOCBTKGN1dGVkLCBhbGxvKS4xNSBFKHdpbmcgdGhlIHN0YXJ0dXAgXDIxNGxlcyB0byBkaXNjbyktLjI1IEUKLS0uMTUodmUpLS4xNSBHIDIuNShydykuMTUgRyhoZXRoZXIgb3Igbm90IGEgc2hlbGwgaXMgcmVzdHJpY3RlZC4pLTIuNSBFCi0oR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDY1KTE4NS45NTUgRSAwIENnIEVQCistLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGNkc3BlbGwpMTQ0IDg0IFEgRjAgMS4wNTUKKyhJZiBzZXQsIG1pbm9yIGVycm9ycyBpbiB0aGUgc3BlbGxpbmcgb2YgYSBkaXJlY3RvcnkgY29tcG9uZW50IGluIGEpCisxMC41NSBGIEYxKGNkKTMuNTU1IEUgRjAgMS4wNTUoY29tbWFuZCB3aWxsIGJlKTMuNTU1IEYgMy45ODcKKyhjb3JyZWN0ZWQuIFRoZSkxODQgOTYgUiAxLjQ4NyhlcnJvcnMgY2hlY2spMy45ODcgRiAxLjQ4NworKGVkIGZvciBhcmUgdHJhbnNwb3NlZCBjaGFyYWN0ZXJzLCBhIG1pc3NpbmcgY2hhcmFjdGVyKS0uMSBGIDMuOTg4KCxhKQorLS40IEcobmQpLTMuOTg4IEUgLjU1MihvbmUgY2hhcmFjdGVyIHRvbyBtYW4pMTg0IDEwOCBSIDQuMzUyIC0uNjUoeS4gSSkKKy0uMTUgSCAzLjA1MihmYWMpLjY1IEcgLjU1MgorKG9ycmVjdGlvbiBpcyBmb3VuZCwgdGhlIGNvcnJlY3RlZCBcMjE0bGUgbmFtZSBpcyBwcmludGVkLCBhbmQpLTMuMDUyIEYKKyh0aGUgY29tbWFuZCBwcm9jZWVkcy4pMTg0IDEyMCBRKFRoaXMgb3B0aW9uIGlzIG9ubHkgdXNlZCBieSBpbnRlcmFjdGkpNQorRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUgRSBGMShjaGVja2hhc2gpMTQ0IDEzMiBRIEYwIDIuMDc5CisoSWYgc2V0LCkxODQgMTQ0IFIgRjEoYmFzaCk0LjU3OSBFIEYwIDIuMDc5CisoY2hlY2tzIHRoYXQgYSBjb21tYW5kIGZvdW5kIGluIHRoZSBoYXNoIHRhYmxlIGUpNC41NzkgRiAyLjA4CisoeGlzdHMgYmVmb3JlIHRyeWluZyB0byktLjE1IEYgLS4xNShleGUpMTg0IDE1NiBTKGN1dGUgaXQuKS4xNSBFCisoSWYgYSBoYXNoZWQgY29tbWFuZCBubyBsb25nZXIgZSk1IEUKKyh4aXN0cywgYSBub3JtYWwgcGF0aCBzZWFyY2ggaXMgcGVyZm9ybWVkLiktLjE1IEUgRjEoY2hlY2tqb2JzKTE0NCAxNjggUQorRjAgLjQ0OShJZiBzZXQsKTE4NCAxODAgUiBGMShiYXNoKTIuOTQ5IEUgRjAgLjQ0OQorKGxpc3RzIHRoZSBzdGF0dXMgb2YgYW4pMi45NDkgRiAyLjk0OSh5cyktLjE1IEcgLjQ0OAorKHRvcHBlZCBhbmQgcnVubmluZyBqb2JzIGJlZm9yZSBlKS0yLjk0OSBGIC40NDgoeGl0aW5nIGFuIGludGVyYWN0aSktLjE1CitGIC0uMTUodmUpLS4yNSBHIDMuNDM4KHNoZWxsLiBJZikxODQgMTkyIFIoYW4pMy40MzggRSAzLjQzOCh5aiktLjE1IEcKKy45Mzgob2JzIGFyZSBydW5uaW5nLCB0aGlzIGNhdXNlcyB0aGUgZSktMy40MzggRiAuOTM4CisoeGl0IHRvIGJlIGRlZmVycmVkIHVudGlsIGEgc2Vjb25kIGUpLS4xNSBGIC45MzkoeGl0IGlzKS0uMTUgRiAyLjIwMworKGF0dGVtcHRlZCB3aXRob3V0IGFuIGludGVydikxODQgMjA0IFIgMi4yMDMoZW5pbmcgY29tbWFuZCBcKHNlZSktLjE1IEYKKy9GMiA5L1RpbWVzLUJvbGRAMCBTRiAyLjIwMyhKT0IgQ09OVFIpNC43MDMgRihPTCktLjI3IEUgRjAoYWJvKTQuNDUzIEUKKy0uMTUodmUpLS4xNSBHIDQuNzAzKFwpLiBUaGUpLjE1IEYoc2hlbGwpNC43MDMgRShhbCkxODQgMjE2IFEgLS4xKHdhKS0uMQorRyh5cyBwb3N0cG9uZXMgZSkuMSBFKHhpdGluZyBpZiBhbiktLjE1IEUgMi41KHlqKS0uMTUgRworKG9icyBhcmUgc3RvcHBlZC4pLTIuNSBFIEYxKGNoZWNrd2luc2l6ZSkxNDQgMjI4IFEgRjAgLjc5NihJZiBzZXQsKTE4NAorMjQwIFIgRjEoYmFzaCkzLjI5NiBFIEYwIC43OTYoY2hlY2tzIHRoZSB3aW5kbykzLjI5NiBGIDMuMjk2KHdzKS0uMjUgRworLjc5NyhpemUgYWZ0ZXIgZWFjaCBjb21tYW5kIGFuZCwgaWYgbmVjZXNzYXJ5KS0zLjI5NiBGIDMuMjk3KCx1KS0uNjUgRworLjc5NyhwZGF0ZXMgdGhlKS0zLjI5NyBGIC0uMjUodmEpMTg0IDI1MiBTKGx1ZXMgb2YpLjI1IEUgRjIoTElORVMpMi41IEUKK0YwKGFuZCkyLjI1IEUgRjIoQ09MVU1OUykyLjUgRS9GMyA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYxKGNtZGhpc3QpMTQ0CisyNjQgUSBGMCAxLjIwMihJZiBzZXQsKTYuMTEgRiBGMShiYXNoKTMuNzAyIEUgRjAgMS4yMDIoYXR0ZW1wdHMgdG8gc2EpCiszLjcwMiBGIDEuNTAyIC0uMTUodmUgYSktLjIgSCAxLjIwMgorKGxsIGxpbmVzIG9mIGEgbXVsdGlwbGUtbGluZSBjb21tYW5kIGluIHRoZSBzYW1lIGhpc3RvcnkpLjE1IEYoZW50cnkpMTg0CisyNzYgUSA1KC5UKS0uNjUgRyhoaXMgYWxsbyktNSBFCisod3MgZWFzeSByZS1lZGl0aW5nIG9mIG11bHRpLWxpbmUgY29tbWFuZHMuKS0uMjUgRSBGMShjb21wYXQzMSkxNDQgMjg4IFEKK0YwIC40MTkoSWYgc2V0LCkxODQgMzAwIFIgRjEoYmFzaCkyLjkxOSBFIEYwIC40MTkoY2hhbmdlcyBpdHMgYmVoYSkyLjkxOQorRiAuNDE5KHZpb3IgdG8gdGhhdCBvZiB2KS0uMiBGIC40MihlcnNpb24gMy4xIHdpdGggcmVzcGVjdCB0byBxdW90ZWQgYXIpCistLjE1IEYoZ3VtZW50cyktLjE4IEUodG8gdGhlKTE4NCAzMTIgUSBGMShbWykyLjUgRSBGMAorKGNvbmRpdGlvbmFsIGNvbW1hbmQnKTIuNSBFKHMpLS41NSBFIEYxKD1+KTIuNSBFIEYwKG9wZXJhdG9yKTIuNSBFKC4pCistLjU1IEUgRjEoY29tcGF0MzIpMTQ0IDMyNCBRIEYwIDEuNDEoSWYgc2V0LCkxODQgMzM2IFIgRjEoYmFzaCkzLjkxIEUgRjAKKzEuNDEoY2hhbmdlcyBpdHMgYmVoYSkzLjkxIEYgMS40MDkodmlvciB0byB0aGF0IG9mIHYpLS4yIEYgMS40MDkKKyhlcnNpb24gMy4yIHdpdGggcmVzcGVjdCB0byBsb2NhbGUtc3BlY2lcMjE0YyktLjE1IEYgMS4yNjUKKyhzdHJpbmcgY29tcGFyaXNvbiB3aGVuIHVzaW5nIHRoZSkxODQgMzQ4IFIgRjEoW1spMy43NjYgRSBGMCAxLjI2NgorKGNvbmRpdGlvbmFsIGNvbW1hbmQnKTMuNzY2IEYocyktLjU1IEUgRjEoPCkzLjc2NiBFIEYwKGFuZCkzLjc2NiBFIEYxKD4pCiszLjc2NiBFIEYwIDMuNzY2KG9wZXJhdG9ycy4gQmFzaCkzLjc2NiBGIC0uMTUodmUpMTg0IDM2MCBTIC41MTMKKyhyc2lvbnMgcHJpb3IgdG8gYmFzaC00LjEgdXNlIEFTQ0lJIGNvbGxhdGlvbiBhbmQpLjE1IEYvRjQgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihzdHIpMy4wMTIgRShjbXApLS4zNyBFIEYwIC41MTIKKyhcKDNcKTsgYmFzaC00LjEgYW5kIGxhdGVyIHVzZSB0aGUpLjE5IEYoY3VycmVudCBsb2NhbGUnKTE4NCAzNzIgUSAyLjUKKyhzYyktLjU1IEcob2xsYXRpb24gc2VxdWVuY2UgYW5kKS0yLjUgRSBGNChzdHIpMi41IEUoY29sbCktLjM3IEUgRjAKKyhcKDNcKS4pLjUxIEUgRjEoY29tcGF0NDApMTQ0IDM4NCBRIEYwIDEuNDA5KElmIHNldCwpMTg0IDM5NiBSIEYxKGJhc2gpCiszLjkwOSBFIEYwIDEuNDA5KGNoYW5nZXMgaXRzIGJlaGEpMy45MDkgRiAxLjQwOSh2aW9yIHRvIHRoYXQgb2YgdiktLjIgRgorMS40MShlcnNpb24gNC4wIHdpdGggcmVzcGVjdCB0byBsb2NhbGUtc3BlY2lcMjE0YyktLjE1IEYgLjQyMworKHN0cmluZyBjb21wYXJpc29uIHdoZW4gdXNpbmcgdGhlKTE4NCA0MDggUiBGMShbWykyLjkyMiBFIEYwIC40MjIKKyhjb25kaXRpb25hbCBjb21tYW5kJykyLjkyMiBGKHMpLS41NSBFIEYxKDwpMi45MjIgRSBGMChhbmQpMi45MjIgRSBGMSg+KQorMi45MjIgRSBGMCAuNDIyKG9wZXJhdG9ycyBcKHNlZSBwcmUtKTIuOTIyIEYodmlvdXMgaXRlbVwpIGFuZCB0aGUgZWYpMTg0Cis0MjAgUShmZWN0IG9mIGludGVycnVwdGluZyBhIGNvbW1hbmQgbGlzdC4pLS4yNSBFIEYxKGNvbXBhdDQxKTE0NCA0MzIgUQorRjAgMS40NDMoSWYgc2V0LCkxODQgNDQ0IFIgRjEoYmFzaCkzLjk0MyBFIEYwIDMuOTQzKCx3KUMgMS40NDQKKyhoZW4gaW4gcG9zaXggbW9kZSwgdHJlYXRzIGEgc2luZ2xlIHF1b3RlIGluIGEgZG91YmxlLXF1b3RlZCBwYXJhbWV0ZXIpCistMy45NDMgRiAtLjE1KGV4KTE4NCA0NTYgUyAuOTU5KHBhbnNpb24gYXMgYSBzcGVjaWFsIGNoYXJhY3RlcikuMTUgRgorNS45NTkoLlQpLS41NSBHIC45NTgoaGUgc2luZ2xlIHF1b3RlcyBtdXN0IG1hdGNoIFwoYW4gZSktNS45NTkgRiAtLjE1CisodmUpLS4yNSBHIDMuNDU4KG5uKS4xNSBHIC45NTgodW1iZXJcKSBhbmQpLTMuNDU4IEYgLjU5CisodGhlIGNoYXJhY3RlcnMgYmV0d2VlbiB0aGUgc2luZ2xlIHF1b3RlcyBhcmUgY29uc2lkZXJlZCBxdW90ZWQuKTE4NCA0NjgKK1IgLjU5KFRoaXMgaXMgdGhlIGJlaGEpNS41OSBGIC41OSh2aW9yIG9mKS0uMiBGIC41OQorKHBvc2l4IG1vZGUgdGhyb3VnaCB2KTE4NCA0ODAgUiAuNTg5KGVyc2lvbiA0LjEuKS0uMTUgRiAuNTg5KFRoZSBkZWYpCis1LjU4OSBGIC41ODkoYXVsdCBiYXNoIGJlaGEpLS4xIEYgLjU4OSh2aW9yIHJlbWFpbnMgYXMgaW4gcHJlKS0uMiBGIC41ODkKKyh2aW91cyB2KS0uMjUgRihlciktLjE1IEUoLSktLjIgRShzaW9ucy4pMTg0IDQ5MiBRIEYxKGRpcnNwZWxsKTE0NCA1MDQgUQorRjAgLjg1OChJZiBzZXQsKTcuNzcgRiBGMShiYXNoKTMuMzU4IEUgRjAgLjg1OAorKGF0dGVtcHRzIHNwZWxsaW5nIGNvcnJlY3Rpb24gb24gZGlyZWN0b3J5IG5hbWVzIGR1cmluZyB3KTMuMzU4IEYgLjg1OQorKG9yZCBjb21wbGV0aW9uIGlmKS0uMSBGCisodGhlIGRpcmVjdG9yeSBuYW1lIGluaXRpYWxseSBzdXBwbGllZCBkb2VzIG5vdCBlKTE4NCA1MTYgUSh4aXN0LiktLjE1IEUKK0YxKGRvdGdsb2IpMTQ0IDUyOCBRIEYwIC4xNjUoSWYgc2V0LCk3Ljc3IEYgRjEoYmFzaCkyLjY2NSBFIEYwIC4xNjUKKyhpbmNsdWRlcyBcMjE0bGVuYW1lcyBiZSkyLjY2NSBGIC4xNjUoZ2lubmluZyB3aXRoIGEgYC4pLS4xNSBGIDIuNjY1KCdpKQorLS43IEcgMi42NjUobnQpLTIuNjY1IEcgLjE2NShoZSByZXN1bHRzIG9mIHBhdGhuYW1lIGUpLTIuNjY1IEYKKyh4cGFuc2lvbi4pLS4xNSBFIEYxKGV4ZWNmYWlsKTE0NCA1NDAgUSBGMCAxLjM4NgorKElmIHNldCwgYSBub24taW50ZXJhY3RpKTcuNzkgRiAxLjY4NiAtLjE1KHZlIHMpLS4yNSBIIDEuMzg2CisoaGVsbCB3aWxsIG5vdCBlKS4xNSBGIDEuMzg2KHhpdCBpZiBpdCBjYW5ub3QgZSktLjE1IEYgLS4xNSh4ZSktLjE1IEcKKzEuMzg3KGN1dGUgdGhlIFwyMTRsZSBzcGVjaVwyMTRlZCBhcyBhbikuMTUgRihhcikxODQgNTUyIFEKKyhndW1lbnQgdG8gdGhlKS0uMTggRSBGMShleGVjKTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBjb21tYW5kLikuMiBFCisoQW4gaW50ZXJhY3RpKTUgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGwgZG9lcyBub3QgZSkuMTUgRSh4aXQgaWYpLS4xNQorRSBGMShleGVjKTIuNSBFIEYwIC0uMShmYSkyLjUgRyhpbHMuKS4xIEUgRjEoZXhwYW5kX2FsaWFzZXMpMTQ0IDU2NCBRIEYwCisuNzE3KElmIHNldCwgYWxpYXNlcyBhcmUgZSkxODQgNTc2IFIgLjcxNyh4cGFuZGVkIGFzIGRlc2NyaWJlZCBhYm8pLS4xNQorRiAxLjAxNyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjIoQUxJQVNFUykzLjIxNyBFIEYzKC4pQSBGMCAuNzE2CisoVGhpcyBvcHRpb24gaXMgZW5hYmxlZCk1LjIxNyBGKGJ5IGRlZikxODQgNTg4IFEoYXVsdCBmb3IgaW50ZXJhY3RpKS0uMQorRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUgRSBGMShleHRkZWIpMTQ0IDYwMCBRKHVnKS0uMiBFIEYwCisoSWYgc2V0LCBiZWhhKTE4NCA2MTIgUSh2aW9yIGludGVuZGVkIGZvciB1c2UgYnkgZGViKS0uMiBFCisodWdnZXJzIGlzIGVuYWJsZWQ6KS0uMiBFIEYxKDEuKTE4NCA2MjQgUSBGMChUaGUpMjguNSBFIEYxPGFkNDY+NC4yNSBFCitGMCAxLjc1KG9wdGlvbiB0byB0aGUpNC4yNSBGIEYxKGRlY2xhcik0LjI1MSBFKGUpLS4xOCBFIEYwIC0uMihidSk0LjI1MQorRyAxLjc1MShpbHRpbiBkaXNwbGF5cyB0aGUgc291cmNlIFwyMTRsZSBuYW1lIGFuZCBsaW5lKS4yIEYKKyhudW1iZXIgY29ycmVzcG9uZGluZyB0byBlYWNoIGZ1bmN0aW9uIG5hbWUgc3VwcGxpZWQgYXMgYW4gYXIpMjIwIDYzNiBRCisoZ3VtZW50LiktLjE4IEUgRjEoMi4pMTg0IDY0OCBRIEYwIDEuNjY3KElmIHRoZSBjb21tYW5kIHJ1biBieSB0aGUpMjguNQorRiBGMShERUIpNC4xNjcgRShVRyktLjEgRSBGMCAxLjY2Nyh0cmFwIHJldHVybnMgYSBub24temVybyB2KTQuMTY3IEYKKzEuNjY3KGFsdWUsIHRoZSBuZSktLjI1IEYoeHQpLS4xNSBFKGNvbW1hbmQgaXMgc2tpcHBlZCBhbmQgbm90IGUpMjIwIDY2MAorUSAtLjE1KHhlKS0uMTUgRyhjdXRlZC4pLjE1IEUgRjEoMy4pMTg0IDY3MiBRIEYwIC44NAorKElmIHRoZSBjb21tYW5kIHJ1biBieSB0aGUpMjguNSBGIEYxKERFQikzLjM0IEUoVUcpLS4xIEUgRjAgLjg0MQorKHRyYXAgcmV0dXJucyBhIHYpMy4zNDEgRiAuODQxKGFsdWUgb2YgMiwgYW5kIHRoZSBzaGVsbCBpcyktLjI1IEYgLS4xNQorKGV4ZSkyMjAgNjg0IFMgLjQ4OAorKGN1dGluZyBpbiBhIHN1YnJvdXRpbmUgXChhIHNoZWxsIGZ1bmN0aW9uIG9yIGEgc2hlbGwgc2NyaXB0IGUpLjE1IEYKKy0uMTUoeGUpLS4xNSBHIC40ODgoY3V0ZWQgYnkgdGhlKS4xNSBGIEYxKC4pMi45ODggRSBGMChvcikyLjk4OCBFIEYxCisoc291cikyMjAgNjk2IFEoY2UpLS4xOCBFIEYwIC0uMihidSkyLjUgRyhpbHRpbnNcKSwgYSBjYWxsIHRvKS4yIEUgRjEKKy0uMTgocmUpMi41IEcodHVyKS4xOCBFKG4pLS4xNSBFIEYwKGlzIHNpbXVsYXRlZC4pMi41IEUgRjEoNC4pMTg0IDcwOCBRCitGMiAtLjI3KEJBKTI4LjUgRyhTSF9BUkdDKS4yNyBFIEYwKGFuZCkzLjE1MyBFIEYyIC0uMjcoQkEpMy40MDMgRworKFNIX0FSR1YpLjI3IEUgRjAgLjkwNChhcmUgdXBkYXRlZCBhcyBkZXNjcmliZWQgaW4gdGhlaXIgZGVzY3JpcHRpb25zKQorMy4xNTQgRihhYm8pMjIwIDcyMCBRIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUoR05VIEJhc2gtNC4yKTcyIDc2OCBRCisoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoNjUpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlUGFnZTogNjYgNjYKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCi0tLjM1IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGKHNoaWZ0X3YpMTQ0IDg0IFEoZXJib3NlKS0uMSBFIEYwIC41MDEKLShJZiBzZXQsIHRoZSkxODQgOTYgUiBGMShzaGlmdCkzLjAwMSBFIEYwIC0uMihidSkzLjAwMSBHIC41MDEKLShpbHRpbiBwcmludHMgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBzaGlmdCBjb3VudCBlKS4yIEYgLjUwMgotKHhjZWVkcyB0aGUgbnVtYmVyKS0uMTUgRihvZiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuKTE4NCAxMDggUSBGMShzb3VyKQotMTQ0IDEyMCBRKGNlcGF0aCktLjE4IEUgRjAgLjc3MShJZiBzZXQsIHRoZSkxODQgMTMyIFIgRjEoc291cikzLjI3MSBFCi0oY2UpLS4xOCBFIEYwKFwoKTMuMjcxIEUgRjEoLilBIEYwIDMuMjcxKFwpYilDIC43NzEodWlsdGluIHVzZXMgdGhlIHYpCi0tMy40NzEgRiAuNzcxKGFsdWUgb2YpLS4yNSBGL0YyIDkvVGltZXMtQm9sZEAwIFNGIC0uNjY2KFBBKTMuMjcgRyhUSCkKLS0uMTg5IEUgRjAgLjc3KHRvIFwyMTRuZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlKTMuMDIgRgotKFwyMTRsZSBzdXBwbGllZCBhcyBhbiBhcikxODQgMTQ0IFEgMi41KGd1bWVudC4gVGhpcyktLjE4IEYKLShvcHRpb24gaXMgZW5hYmxlZCBieSBkZWYpMi41IEUoYXVsdC4pLS4xIEUgRjEoeHBnX2VjaG8pMTQ0IDE1NiBRIEYwCi0oSWYgc2V0LCB0aGUpMTg0IDE2OCBRIEYxKGVjaG8pMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGUpLjIgRQotKHhwYW5kcyBiYWNrc2xhc2gtZXNjYXBlIHNlcXVlbmNlcyBieSBkZWYpLS4xNSBFKGF1bHQuKS0uMSBFIEYxKHN1c3BlbmQpCi0xMDggMTgwIFEgRjAoWykyLjUgRSBGMTxhZDY2PkEgRjAoXSlBIDEuMDAxKFN1c3BlbmQgdGhlIGUpMTQ0IDE5MiBSIC0uMTUKLSh4ZSktLjE1IEcgMS4wMDEoY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWkpLjE1IEYgLS4xNSh2ZSktLjI1Ci1HIDMuNTAxKHNhKS4xNSBHIEYyKFNJR0NPTlQpQSBGMCAzLjUwMihzaWduYWwuIEEpMy4yNTIgRiAxLjAwMgotKGxvZ2luIHNoZWxsIGNhbm5vdCBiZSkzLjUwMiBGIC4wMjMoc3VzcGVuZGVkOyB0aGUpMTQ0IDIwNCBSIEYxPGFkNjY+Ci0yLjUyMyBFIEYwIC4wMjMob3B0aW9uIGNhbiBiZSB1c2VkIHRvIG8pMi41MjMgRiAtLjE1KHZlKS0uMTUgRyAuMDIyCi0ocnJpZGUgdGhpcyBhbmQgZm9yY2UgdGhlIHN1c3BlbnNpb24uKS4xNSBGIC4wMjIoVGhlIHJldHVybiBzdGF0dXMgaXMpCi01LjAyMiBGIDIuNSgwdSkxNDQgMjE2IFMobmxlc3MgdGhlIHNoZWxsIGlzIGEgbG9naW4gc2hlbGwgYW5kKS0yLjUgRSBGMQotPGFkNjY+Mi41IEUgRjAoaXMgbm90IHN1cHBsaWVkLCBvciBpZiBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZC4pMi41IEUKLUYxKHRlc3QpMTA4IDIyOCBRL0YzIDEwL1RpbWVzLUl0YWxpY0AwIFNGIC0uMihleCkyLjUgRyhwcikuMiBFIEYxKFspMTA4Ci0yNDAgUSBGMyAtLjIoZXgpMi41IEcocHIpLjIgRSBGMShdKTIuNSBFIEYwIDEuMTUKLShSZXR1cm4gYSBzdGF0dXMgb2YgMCBvciAxIGRlcGVuZGluZyBvbiB0aGUgZSk2Ljc3IEYgLS4yNSh2YSktLjI1IEcgMS4xNQotKGx1YXRpb24gb2YgdGhlIGNvbmRpdGlvbmFsIGUpLjI1IEYoeHByZXNzaW9uKS0uMTUgRSBGMyAtLjIoZXgpMy42NSBHCi0ocHIpLjIgRSBGMCA2LjE1KC5FKS43MyBHKGFjaCktNi4xNSBFIDEuMTg4Ci0ob3BlcmF0b3IgYW5kIG9wZXJhbmQgbXVzdCBiZSBhIHNlcGFyYXRlIGFyKTE0NCAyNTIgUiAzLjY4OAotKGd1bWVudC4gRXhwcmVzc2lvbnMpLS4xOCBGIDEuMTg3KGFyZSBjb21wb3NlZCBvZiB0aGUgcHJpbWFyaWVzKTMuNjg4IEYKLTEuODg5KGRlc2NyaWJlZCBhYm8pMTQ0IDI2NCBSIDIuMTg5IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMgotKENPTkRJVElPTik0LjM4OSBFIDEuODg5KEFMIEVYUFJFU1NJT05TKS0uMTggRi9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBCi1GMSh0ZXN0KTYuMzg5IEUgRjAgMS44OShkb2VzIG5vdCBhY2NlcHQgYW4pNC4zODkgRiA0LjM5KHlvKS0uMTUgRyAxLjg5Ci0ocHRpb25zLCBub3IpLTQuMzkgRihkb2VzIGl0IGFjY2VwdCBhbmQgaWdub3JlIGFuIGFyKTE0NCAyNzYgUQotKGd1bWVudCBvZiktLjE4IEUgRjE8YWRhZD4yLjUgRSBGMChhcyBzaWduaWZ5aW5nIHRoZSBlbmQgb2Ygb3B0aW9ucy4pMi41Ci1FIC43ODYoRXhwcmVzc2lvbnMgbWF5IGJlIGNvbWJpbmVkIHVzaW5nIHRoZSBmb2xsbykxNDQgMjk0IFIgLjc4NQotKHdpbmcgb3BlcmF0b3JzLCBsaXN0ZWQgaW4gZGVjcmVhc2luZyBvcmRlciBvZiBwcmVjZS0pLS4yNSBGIDIuNQotKGRlbmNlLiBUaGUpMTQ0IDMwNiBSIC0uMjUoZXZhKTIuNSBHCi0obHVhdGlvbiBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXIpLjI1IEUoZ3VtZW50czsgc2VlIGJlbG8pLS4xOCBFIC0uNjUKLSh3LiktLjI1IEcgRjEoISkxNDQgMzE4IFEgRjMgLS4yKGV4KTIuNSBHKHByKS4yIEUgRjAgLS4zNShUcikxMi42IEcKLSh1ZSBpZikuMzUgRSBGMyAtLjIoZXgpMi41IEcocHIpLjIgRSBGMChpcyBmKTMuMjMgRShhbHNlLiktLjEgRSBGMShcKCkKLTE0NCAzMzAgUSBGMyAtLjIoZXgpMi41IEcocHIpLjIgRSBGMShcKSkyLjUgRSBGMCAuMjYoUmV0dXJucyB0aGUgdik2Ljc3Ci1GIC4yNihhbHVlIG9mKS0uMjUgRiBGMyAtLjIoZXgpMi43NiBHKHByKS4yIEUgRjAgNS4yNiguVClDIC4yNgotKGhpcyBtYXkgYmUgdXNlZCB0byBvKS01LjI2IEYgLS4xNSh2ZSktLjE1IEcgLjI2Ci0ocnJpZGUgdGhlIG5vcm1hbCBwcmVjZWRlbmNlIG9mIG9wZXJhLSkuMTUgRih0b3JzLikxODAgMzQyIFEgRjMgLS4yKGV4KQotMTQ0IDM1NCBTKHByMSkuMiBFIEYwPGFkPjIuNSBFIEYxKGEpQSBGMyAtLjIoZXgpMi41IEcocHIyKS4yIEUgRjAgLS4zNQotKFRyKTE4MCAzNjYgUyh1ZSBpZiBib3RoKS4zNSBFIEYzIC0uMihleCkyLjUgRyhwcjEpLjIgRSBGMChhbmQpMi41IEUgRjMKLS0uMihleCkyLjUgRyhwcjIpLjIgRSBGMChhcmUgdHJ1ZS4pMi41MiBFIEYzIC0uMihleCkxNDQgMzc4IFMocHIxKS4yIEUKLUYwPGFkPjIuNSBFIEYxKG8pQSBGMyAtLjIoZXgpMi41IEcocHIyKS4yIEUgRjAgLS4zNShUcikxODAgMzkwIFMKLSh1ZSBpZiBlaXRoZXIpLjM1IEUgRjMgLS4yKGV4KTIuNSBHKHByMSkuMiBFIEYwKG9yKTIuNSBFIEYzIC0uMihleCkyLjUgRwotKHByMikuMiBFIEYwKGlzIHRydWUuKTIuNTIgRSBGMSh0ZXN0KTE0NCA0MDYuOCBRIEYwKGFuZCkyLjUgRSBGMShbKTIuNSBFCi1GMCAtLjI1KGV2YSkyLjUgRyhsdWF0ZSBjb25kaXRpb25hbCBlKS4yNSBFCi0oeHByZXNzaW9ucyB1c2luZyBhIHNldCBvZiBydWxlcyBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIGFyKS0uMTUgRQotKGd1bWVudHMuKS0uMTggRSAyLjUoMGEpMTQ0IDQyNC44IFMgLS4xOChyZyktMi41IEcodW1lbnRzKS4xOCBFKFRoZSBlKQotMTgwIDQzNi44IFEoeHByZXNzaW9uIGlzIGYpLS4xNSBFKGFsc2UuKS0uMSBFIDIuNSgxYSkxNDQgNDQ4LjggUyAtLjE4Ci0ocmcpLTIuNSBHKHVtZW50KS4xOCBFKFRoZSBlKTE4MCA0NjAuOCBRCi0oeHByZXNzaW9uIGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGFyKS0uMTUgRShndW1lbnQgaXMgbm90IG51bGwuKS0uMTgKLUUgMi41KDJhKTE0NCA0NzIuOCBTIC0uMTgocmcpLTIuNSBHKHVtZW50cykuMTggRSAuMzcoSWYgdGhlIFwyMTRyc3QgYXIpCi0xODAgNDg0LjggUiAuMzcoZ3VtZW50IGlzKS0uMTggRiBGMSghKTIuODcgRSBGMCAyLjg3KCx0KUMgLjM3KGhlIGUpLTIuODcKLUYgLjM3KHhwcmVzc2lvbiBpcyB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBzZWNvbmQgYXIpLS4xNSBGIC4zNwotKGd1bWVudCBpcyBudWxsLiktLjE4IEYgLjM3OShJZiB0aGUgXDIxNHJzdCBhcikxODAgNDk2LjggUiAuMzgKLShndW1lbnQgaXMgb25lIG9mIHRoZSB1bmFyeSBjb25kaXRpb25hbCBvcGVyYXRvcnMgbGlzdGVkIGFibyktLjE4IEYgLjY4Ci0tLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjIoQ09OREktKTIuODggRShUSU9OKTE4MCA1MDguOCBRIC41NTMKLShBTCBFWFBSRVNTSU9OUyktLjE4IEYgRjQoLClBIEYwIC41NTIodGhlIGUpMi44MDIgRiAuNTUyCi0oeHByZXNzaW9uIGlzIHRydWUgaWYgdGhlIHVuYXJ5IHRlc3QgaXMgdHJ1ZS4pLS4xNSBGIC41NTIKLShJZiB0aGUgXDIxNHJzdCBhcik1LjU1MiBGKGd1LSktLjE4IEUobWVudCBpcyBub3QgYSB2KTE4MCA1MjAuOCBRCi0oYWxpZCB1bmFyeSBjb25kaXRpb25hbCBvcGVyYXRvciktLjI1IEUgMi41KCx0KS0uNCBHKGhlIGUpLTIuNSBFCi0oeHByZXNzaW9uIGlzIGYpLS4xNSBFKGFsc2UuKS0uMSBFIDIuNSgzYSkxNDQgNTMyLjggUyAtLjE4KHJnKS0yLjUgRwotKHVtZW50cykuMTggRSAuMDIzKElmIHRoZSBzZWNvbmQgYXIpMTgwIDU0NC44IFIgLjAyMwotKGd1bWVudCBpcyBvbmUgb2YgdGhlIGJpbmFyeSBjb25kaXRpb25hbCBvcGVyYXRvcnMgbGlzdGVkIGFibyktLjE4IEYKLS4zMjQgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYyKENPTi0pMi41MjQgRShESVRJT04pMTgwIDU1Ni44IFEKLTEuNDc4KEFMIEVYUFJFU1NJT05TKS0uMTggRiBGNCgsKUEgRjAgMS40NzcodGhlIHJlc3VsdCBvZiB0aGUgZSkzLjcyNyBGCi0xLjQ3Nyh4cHJlc3Npb24gaXMgdGhlIHJlc3VsdCBvZiB0aGUgYmluYXJ5IHRlc3QpLS4xNSBGIC41MTMKLSh1c2luZyB0aGUgXDIxNHJzdCBhbmQgdGhpcmQgYXIpMTgwIDU2OC44IFIgLjUxMyhndW1lbnRzIGFzIG9wZXJhbmRzLikKLS0uMTggRihUaGUpNS41MTMgRSBGMTxhZDYxPjMuMDEzIEUgRjAoYW5kKTMuMDEzIEUgRjE8YWQ2Zj4zLjAxMyBFIEYwCi0uNTEzKG9wZXJhdG9ycyBhcmUgY29uc2lkZXJlZCkzLjAxMyBGIC45NzIKLShiaW5hcnkgb3BlcmF0b3JzIHdoZW4gdGhlcmUgYXJlIHRocmVlIGFyKTE4MCA1ODAuOCBSIDMuNDcyKGd1bWVudHMuIElmKQotLS4xOCBGIC45NzIodGhlIFwyMTRyc3QgYXIpMy40NzIgRiAuOTcyKGd1bWVudCBpcyktLjE4IEYgRjEoISkzLjQ3MiBFIEYwCi0zLjQ3MigsdClDIC45NzIoaGUgdiktMy40NzIgRiAuOTcyKGFsdWUgaXMpLS4yNSBGIC44ODModGhlIG5lKTE4MCA1OTIuOAotUiAtLjA1KGdhKS0uMTUgRyAuODgzKHRpb24gb2YgdGhlIHR3KS4wNSBGKG8tYXIpLS4xIEUgLjg4NAotKGd1bWVudCB0ZXN0IHVzaW5nIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGFyKS0uMTggRiAzLjM4NChndW1lbnRzLiBJZiktLjE4Ci1GIC44ODQodGhlIFwyMTRyc3QpMy4zODQgRihhcikxODAgNjA0LjggUSAuODc1KGd1bWVudCBpcyBlKS0uMTggRgotKHhhY3RseSktLjE1IEUgRjEoXCgpMy4zNzUgRSBGMCAuODc1KGFuZCB0aGUgdGhpcmQgYXIpMy4zNzUgRiAuODc1Ci0oZ3VtZW50IGlzIGUpLS4xOCBGKHhhY3RseSktLjE1IEUgRjEoXCkpMy4zNzUgRSBGMCAzLjM3NCgsdClDIC44NzQKLShoZSByZXN1bHQgaXMgdGhlIG9uZS1hciktMy4zNzQgRihndW1lbnQpLS4xOCBFKHRlc3Qgb2YgdGhlIHNlY29uZCBhcikKLTE4MCA2MTYuOCBRIDIuNShndW1lbnQuIE90aGVyd2lzZSwpLS4xOCBGKHRoZSBlKTIuNSBFKHhwcmVzc2lvbiBpcyBmKQotLS4xNSBFKGFsc2UuKS0uMSBFIDIuNSg0YSkxNDQgNjI4LjggUyAtLjE4KHJnKS0yLjUgRyh1bWVudHMpLjE4IEUgLjM4NAotKElmIHRoZSBcMjE0cnN0IGFyKTE4MCA2NDAuOCBSIC4zODQoZ3VtZW50IGlzKS0uMTggRiBGMSghKTIuODg0IEUgRjAKLTIuODg1KCx0KUMgLjM4NShoZSByZXN1bHQgaXMgdGhlIG5lKS0yLjg4NSBGIC0uMDUoZ2EpLS4xNSBHIC4zODUKLSh0aW9uIG9mIHRoZSB0aHJlZS1hcikuMDUgRiAuMzg1KGd1bWVudCBlKS0uMTggRiAuMzg1KHhwcmVzc2lvbiBjb20tKQotLS4xNSBGIDEuNjQ4KHBvc2VkIG9mIHRoZSByZW1haW5pbmcgYXIpMTgwIDY1Mi44IFIgNC4xNDcKLShndW1lbnRzLiBPdGhlcndpc2UsKS0uMTggRiAxLjY0Nyh0aGUgZSk0LjE0NyBGIDEuNjQ3Ci0oeHByZXNzaW9uIGlzIHBhcnNlZCBhbmQgZSktLjE1IEYgLS4yNSh2YSktLjI1IEcobHVhdGVkKS4yNSBFCi0oYWNjb3JkaW5nIHRvIHByZWNlZGVuY2UgdXNpbmcgdGhlIHJ1bGVzIGxpc3RlZCBhYm8pMTgwIDY2NC44IFEgLS4xNSh2ZSkKLS0uMTUgRyguKS4xNSBFIDIuNSg1bykxNDQgNjc2LjggUyAyLjUocm0pLTIuNSBHKG9yZSBhciktMi41IEUoZ3VtZW50cykKLS0uMTggRSAxLjYzNShUaGUgZSkxODAgNjg4LjggUiAxLjYzNSh4cHJlc3Npb24gaXMgcGFyc2VkIGFuZCBlKS0uMTUgRgotLS4yNSh2YSktLjI1IEcgMS42MzUKLShsdWF0ZWQgYWNjb3JkaW5nIHRvIHByZWNlZGVuY2UgdXNpbmcgdGhlIHJ1bGVzIGxpc3RlZCkuMjUgRihhYm8pMTgwCi03MDAuOCBRIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUgRjEodGltZXMpMTA4IDcxNy42IFEgRjAgMS4yMjkoUHJpbnQgdGhlIFwKLWFjY3VtdWxhdGVkIHVzZXIgYW5kIHN5c3RlbSB0aW1lcyBmb3IgdGhlIHNoZWxsIGFuZCBmb3IgcHJvY2Vzc2VzIHJ1biBmXAotcm9tIHRoZSBzaGVsbC4pMTMuMjMgRihUaGUgcmV0dXJuIHN0YXR1cyBpcyAwLikxNDQgNzI5LjYgUShHTlUgQmFzaC00LjEpCi03MiA3NjggUSgyMDA5IERlY2VtYmVyIDI5KTEzNS45NjUgRSg2NikxODUuOTU1IEUgMCBDZyBFUAorLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRig1LikxODQgODQgUSBGMCAxLjM1OQorKEZ1bmN0aW9uIHRyYWNpbmcgaXMgZW5hYmxlZDopMjguNSBGIDEuMzU5CisoY29tbWFuZCBzdWJzdGl0dXRpb24sIHNoZWxsIGZ1bmN0aW9ucywgYW5kIHN1Yi0pNi4zNTkgRihzaGVsbHMgaW4pMjIwCis5NiBRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjUoZHcpLjEgRyhpdGgpLTIuNSBFIEYxKFwoKTIuNSBFL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YoY29tbWFuZCkyLjUgRSBGMShcKSkyLjUgRSBGMChpbmhlcml0IHRoZSkyLjUgRSBGMQorKERFQikyLjUgRShVRyktLjEgRSBGMChhbmQpMi41IEUgRjEoUkVUVVJOKTIuNSBFIEYwKHRyYXBzLikyLjUgRSBGMSg2LikKKzE4NCAxMDggUSBGMCAuODA0KEVycm9yIHRyYWNpbmcgaXMgZW5hYmxlZDopMjguNSBGIC44MDUKKyhjb21tYW5kIHN1YnN0aXR1dGlvbiwgc2hlbGwgZnVuY3Rpb25zLCBhbmQgc3Vic2hlbGxzKTUuODA0IEYoaW4pMjIwIDEyMAorUSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi41KGR3KS4xIEcoaXRoKS0yLjUgRSBGMShcKCkyLjUgRSBGMgorKGNvbW1hbmQpMi41IEUgRjEoXCkpMi41IEUgRjAoaW5oZXJpdCB0aGUpMi41IEUgRjEoRVJSKTIuNSBFIEYwKHRyYXAuKQorMi41IEUgRjEoZXh0Z2xvYikxNDQgMTMyIFEgRjAgLjQoSWYgc2V0LCB0aGUgZSk4Ljg5IEYgLjQKKyh4dGVuZGVkIHBhdHRlcm4gbWF0Y2hpbmcgZmVhdHVyZXMgZGVzY3JpYmVkIGFibyktLjE1IEYgLjcgLS4xNSh2ZSB1KQorLS4xNSBIKG5kZXIpLjE1IEUgRjEgLS4xKFBhKTIuOSBHIC40KHRobmFtZSBFeHBhbi0pLjEgRihzaW9uKTE4NCAxNDQgUQorRjAoYXJlIGVuYWJsZWQuKTIuNSBFIEYxKGV4dHF1b3RlKTE0NCAxNTYgUSBGMCAyLjQ3MyhJZiBzZXQsKTE4NCAxNjggUgorRjEoJCk0Ljk3MyBFIEYwPDA4PkEgRjIoc3RyaW5nKUEgRjAgNC45NzM8MDg2MT5DKG5kKS00Ljk3MyBFIEYxKCQpNC45NzMKK0UgRjAoIilBIEYyKHN0cmluZylBIEYwIDQuOTczKCJxKUMgMi40NzModW90aW5nIGlzIHBlcmZvcm1lZCB3aXRoaW4pCistNC45NzMgRiBGMSgkeyk0Ljk3MyBFIEYyKHBhcilBKGFtZXRlciktLjE1IEUgRjEofSlBIEYwIC0uMTUoZXgpNC45NzMgRworKHBhbnNpb25zKS4xNSBFKGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMuKTE4NCAxODAgUQorKFRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmKTUgRShhdWx0LiktLjEgRSBGMShmYWlsZ2xvYikxNDQgMTkyIFEgRjAKKzEuNDI1KElmIHNldCwgcGF0dGVybnMgd2hpY2ggZik3Ljc3IEYgMS40MjUKKyhhaWwgdG8gbWF0Y2ggXDIxNGxlbmFtZXMgZHVyaW5nIHBhdGhuYW1lIGUpLS4xIEYgMS40MjQKKyh4cGFuc2lvbiByZXN1bHQgaW4gYW4pLS4xNSBGIC0uMTUoZXgpMTg0IDIwNCBTKHBhbnNpb24gZXJyb3IpLjE1IEUoLikKKy0uNTUgRSBGMSAtLjI1KGZvKTE0NCAyMTYgUyAtLjE4KHJjKS4yNSBHKGVfXDIxNGdub3IpLjE4IEUoZSktLjE4IEUgRjAKKy45MzYoSWYgc2V0LCB0aGUgc3VmKTE4NCAyMjggUjw4Yzc4Pi0uMjUgRSAuOTM2KGVzIHNwZWNpXDIxNGVkIGJ5IHRoZSkKKy0uMTUgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihGSUdOT1JFKTMuNDM2IEUgRjAgLjkzNihzaGVsbCB2KTMuMTg2IEYgLjkzNgorKGFyaWFibGUgY2F1c2UgdyktLjI1IEYgLjkzNyhvcmRzIHRvIGJlIGlnbm9yZWQpLS4xIEYgLjMyCisod2hlbiBwZXJmb3JtaW5nIHcpMTg0IDI0MCBSIC4zMihvcmQgY29tcGxldGlvbiBlKS0uMSBGIC0uMTUodmUpLS4yNSBHCisyLjgyKG5pKS4xNSBHIDIuODIoZnQpLTIuODIgRyAuMzIoaGUgaWdub3JlZCB3KS0yLjgyIEYgLjMyCisob3JkcyBhcmUgdGhlIG9ubHkgcG9zc2libGUgY29tLSktLjEgRiAyLjk0NyhwbGV0aW9ucy4gU2VlKTE4NCAyNTIgUiBGMworLjQ0NyhTSEVMTCBWKTIuOTQ3IEYoQVJJQUJMRVMpLTEuMjE1IEUgRjAoYWJvKTIuNjk3IEUgLjc0NyAtLjE1KHZlIGYpCistLjE1IEggLjQ0OChvciBhIGRlc2NyaXB0aW9uIG9mKS4xNSBGIEYzKEZJR05PUkUpMi45NDggRS9GNCA5CisvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgLjQ0OChUaGlzIG9wdGlvbiBpcyk0Ljk0OCBGKGVuYWJsZWQgYnkgZGVmKTE4NAorMjY0IFEoYXVsdC4pLS4xIEUgRjEoZ2xvYnN0YXIpMTQ0IDI3NiBRIEYwIC41MTkoSWYgc2V0LCB0aGUgcGF0dGVybik1IEYKK0YxKCoqKTMuMDE5IEUgRjAgLjUxOSh1c2VkIGluIGEgcGF0aG5hbWUgZSkzLjAxOSBGIC41MTkoeHBhbnNpb24gY29udGUpCistLjE1IEYgLjUxOCh4dCB3aWxsIG1hdGNoIGFsbCBcMjE0bGVzIGFuZCB6ZXJvKS0uMTUgRiAuNDMxCisob3IgbW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKTE4NCAyODggUiAuNDMxCisoSWYgdGhlIHBhdHRlcm4gaXMgZm9sbG8pNS40MzEgRiAuNDMyKHdlZCBieSBhKS0uMjUgRiBGMSgvKTIuOTMyIEUgRjAKKzIuOTMyKCxvKUMgLjQzMihubHkgZGlyZWN0b3JpZXMpLTIuOTMyIEYoYW5kIHN1YmRpcmVjdG9yaWVzIG1hdGNoLikxODQKKzMwMCBRIEYxKGdudV9lcnJmbXQpMTQ0IDMxMiBRIEYwKElmIHNldCwgc2hlbGwgZXJyb3IgbWVzc2FnZXMgYXJlIHdyaXR0XAorZW4gaW4gdGhlIHN0YW5kYXJkIEdOVSBlcnJvciBtZXNzYWdlIGZvcm1hdC4pMTg0IDMyNCBRIEYxKGhpc3RhcHBlbmQpMTQ0CiszMzYgUSBGMCAuNjc2CisoSWYgc2V0LCB0aGUgaGlzdG9yeSBsaXN0IGlzIGFwcGVuZGVkIHRvIHRoZSBcMjE0bGUgbmFtZWQgYnkgdGhlIHYpMTg0CiszNDggUiAuNjc2KGFsdWUgb2YgdGhlKS0uMjUgRiBGMyhISVNURklMRSkzLjE3NiBFIEYwIC0uMjUodmEpMi45MjYgRworKHJpLSkuMjUgRShhYmxlIHdoZW4gdGhlIHNoZWxsIGUpMTg0IDM2MCBRKHhpdHMsIHJhdGhlciB0aGFuIG8pLS4xNSBFCistLjE1KHZlKS0uMTUgRyhyd3JpdGluZyB0aGUgXDIxNGxlLikuMTUgRSBGMShoaXN0cikxNDQgMzcyIFEoZWVkaXQpLS4xOAorRSBGMCAuNTc1KElmIHNldCwgYW5kKTE4NCAzODQgUiBGMSAtLjE4KHJlKTMuMDc1IEcoYWRsaW5lKS4xOCBFIEYwIC41NzUKKyhpcyBiZWluZyB1c2VkLCBhIHVzZXIgaXMgZ2kpMy4wNzUgRiAtLjE1KHZlKS0uMjUgRyAzLjA3NShudCkuMTUgRyAuNTc2CisoaGUgb3Bwb3J0dW5pdHkgdG8gcmUtZWRpdCBhIGYpLTMuMDc1IEYgLjU3NihhaWxlZCBoaXMtKS0uMSBGCisodG9yeSBzdWJzdGl0dXRpb24uKTE4NCAzOTYgUSBGMShoaXN0dikxNDQgNDA4IFEoZXJpZnkpLS4xIEUgRjAgLjQwMworKElmIHNldCwgYW5kKTE4NCA0MjAgUiBGMSAtLjE4KHJlKTIuOTAzIEcoYWRsaW5lKS4xOCBFIEYwIC40MDMKKyhpcyBiZWluZyB1c2VkLCB0aGUgcmVzdWx0cyBvZiBoaXN0b3J5IHN1YnN0aXR1dGlvbiBhcmUgbm90IGltbWVkaWF0ZWx5KQorMi45MDMgRiAuNjYxKHBhc3NlZCB0byB0aGUgc2hlbGwgcGFyc2VyKTE4NCA0MzIgUiA1LjY2MSguSSktLjU1IEcgLjY2MgorKG5zdGVhZCwgdGhlIHJlc3VsdGluZyBsaW5lIGlzIGxvYWRlZCBpbnRvIHRoZSktNS42NjEgRiBGMSAtLjE4KHJlKTMuMTYyCitHKGFkbGluZSkuMTggRSBGMChlZGl0aW5nKTMuMTYyIEUgLS4yKGJ1KTE4NCA0NDQgUyAtLjI1KGZmKS4yIEcoZXIpLjI1IEUKKzIuNSgsYSktLjQgRyhsbG8pLTIuNSBFKHdpbmcgZnVydGhlciBtb2RpXDIxNGNhdGlvbi4pLS4yNSBFIEYxCisoaG9zdGNvbXBsZXRlKTE0NCA0NTYgUSBGMCAxLjE4MihJZiBzZXQsIGFuZCkxODQgNDY4IFIgRjEgLS4xOChyZSkzLjY4MgorRyhhZGxpbmUpLjE4IEUgRjAgMS4xODIoaXMgYmVpbmcgdXNlZCwpMy42ODIgRiBGMShiYXNoKTMuNjgyIEUgRjAgMS4xODEKKyh3aWxsIGF0dGVtcHQgdG8gcGVyZm9ybSBob3N0bmFtZSBjb21wbGV0aW9uKTMuNjgxIEYgMS4zOCh3aGVuIGEgdykxODQKKzQ4MCBSIDEuMzgob3JkIGNvbnRhaW5pbmcgYSktLjEgRiBGMShAKTMuODgxIEUgRjAgMS4zODEKKyhpcyBiZWluZyBjb21wbGV0ZWQgXChzZWUpMy44ODEgRiBGMShDb21wbGV0aW5nKTMuODgxIEUgRjAodW5kZXIpMy44ODEgRQorRjMoUkVBRExJTkUpMy44ODEgRSBGMChhYm8pMTg0IDQ5MiBRIC0uMTUodmUpLS4xNSBHIDIuNShcKS4gVGhpcykuMTUgRgorKGlzIGVuYWJsZWQgYnkgZGVmKTIuNSBFKGF1bHQuKS0uMSBFIEYxKGh1cG9uZXhpdCkxNDQgNTA0IFEgRjAoSWYgc2V0LCkKKzE4NCA1MTYgUSBGMShiYXNoKTIuNSBFIEYwKHdpbGwgc2VuZCkyLjUgRSBGMyhTSUdIVVApMi41IEUgRjAKKyh0byBhbGwgam9icyB3aGVuIGFuIGludGVyYWN0aSkyLjI1IEUgLjMgLS4xNSh2ZSBsKS0uMjUgSChvZ2luIHNoZWxsIGUpCisuMTUgRSh4aXRzLiktLjE1IEUgRjEoaW50ZXJhY3RpKTE0NCA1MjggUSAtLjEodmUpLS4xIEcoX2NvbW1lbnRzKS4xIEUgRjAKKy4zMyhJZiBzZXQsIGFsbG8pMTg0IDU0MCBSIDIuODMod2F3KS0uMjUgRyAuMzMob3JkIGJlKS0yLjkzIEYgLjMzCisoZ2lubmluZyB3aXRoKS0uMTUgRiBGMSgjKTIuODMgRSBGMCAuMzModG8gY2F1c2UgdGhhdCB3KTIuODMgRiAuMzMKKyhvcmQgYW5kIGFsbCByZW1haW5pbmcgY2hhcmFjdGVycyBvbiktLjEgRiAuOTY3CisodGhhdCBsaW5lIHRvIGJlIGlnbm9yZWQgaW4gYW4gaW50ZXJhY3RpKTE4NCA1NTIgUiAxLjI2NyAtLjE1KHZlIHMpLS4yNQorSCAuOTY3KGhlbGwgXChzZWUpLjE1IEYgRjMoQ09NTUVOVFMpMy40NjcgRSBGMChhYm8pMy4yMTcgRSAtLjE1KHZlKS0uMTUKK0cgMy40NjcoXCkuIFRoaXMpLjE1IEYgLjk2OChvcHRpb24gaXMpMy40NjggRihlbmFibGVkIGJ5IGRlZikxODQgNTY0IFEKKyhhdWx0LiktLjEgRSBGMShsYXN0cGlwZSkxNDQgNTc2IFEgRjAgMS4yMTIKKyhJZiBzZXQsIGFuZCBqb2IgY29udHJvbCBpcyBub3QgYWN0aSk2LjY2IEYgLS4xNSh2ZSktLjI1IEcgMy43MTIoLHQpLjE1CitHIDEuMjEyKGhlIHNoZWxsIHJ1bnMgdGhlIGxhc3QgY29tbWFuZCBvZiBhIHBpcGVsaW5lIG5vdCktMy43MTIgRiAtLjE1CisoZXhlKTE4NCA1ODggUyhjdXRlZCBpbiB0aGUgYmFja2dyb3VuZCBpbiB0aGUgY3VycmVudCBzaGVsbCBlbikuMTUgRQorKHZpcm9ubWVudC4pLS40IEUgRjEobGl0aGlzdCkxNDQgNjAwIFEgRjAgLjY1NChJZiBzZXQsIGFuZCB0aGUpMTUuNTUgRgorRjEoY21kaGlzdCkzLjE1NCBFIEYwIC42NTQKKyhvcHRpb24gaXMgZW5hYmxlZCwgbXVsdGktbGluZSBjb21tYW5kcyBhcmUgc2EpMy4xNTQgRiAtLjE1KHZlKS0uMiBHCiszLjE1NShkdCkuMTUgRyAzLjE1NShvdCktMy4xNTUgRyAuNjU1KGhlIGhpc3RvcnkpLTMuMTU1IEYKKyh3aXRoIGVtYmVkZGVkIG5lKTE4NCA2MTIgUQorKHdsaW5lcyByYXRoZXIgdGhhbiB1c2luZyBzZW1pY29sb24gc2VwYXJhdG9ycyB3aGVyZSBwb3NzaWJsZS4pLS4yNSBFIEYxCisobG9naW5fc2hlbGwpMTQ0IDYyNCBRIEYwIC40ODYKKyhUaGUgc2hlbGwgc2V0cyB0aGlzIG9wdGlvbiBpZiBpdCBpcyBzdGFydGVkIGFzIGEgbG9naW4gc2hlbGwgXChzZWUpMTg0Cis2MzYgUiBGMyhJTlYpMi45ODYgRShPQ0EpLS40MDUgRShUSU9OKS0uODU1IEUgRjAoYWJvKTIuNzM2IEUgLS4xNSh2ZSkKKy0uMTUgRyAyLjk4NihcKS4gVGhlKS4xNSBGIC0uMjUodmEpMTg0IDY0OCBTKGx1ZSBtYXkgbm90IGJlIGNoYW5nZWQuKS4yNQorRSBGMShtYWlsd2FyKTE0NCA2NjAgUShuKS0uMTUgRSBGMCAuODE0KElmIHNldCwgYW5kIGEgXDIxNGxlIHRoYXQpMTg0Cis2NzIgUiBGMShiYXNoKTMuMzE0IEUgRjAgLjgxNQorKGlzIGNoZWNraW5nIGZvciBtYWlsIGhhcyBiZWVuIGFjY2Vzc2VkIHNpbmNlIHRoZSBsYXN0IHRpbWUgaXQpMy4zMTQgRgorLS4xKHdhKTE4NCA2ODQgUyAyLjUoc2MpLjEgRyhoZWNrKS0yLjUgRShlZCwgdGhlIG1lc3NhZ2UgYCktLjEgRQorKGBUaGUgbWFpbCBpbiktLjc0IEUgRjIobWFpbFwyMTRsZSkyLjUgRSBGMChoYXMgYmVlbiByZWFkJykyLjUgRSAyLjUoJ2kpCistLjc0IEcgMi41KHNkKS0yLjUgRyhpc3BsYXllZC4pLTIuNSBFIEYxKG5vX2VtcHR5X2NtZF9jb21wbGV0aW9uKTE0NCA2OTYKK1EgRjAgLjMyNShJZiBzZXQsIGFuZCkxODQgNzA4IFIgRjEgLS4xOChyZSkyLjgyNSBHKGFkbGluZSkuMTggRSBGMCAuMzI1CisoaXMgYmVpbmcgdXNlZCwpMi44MjUgRiBGMShiYXNoKTIuODI0IEUgRjAgLjMyNAorKHdpbGwgbm90IGF0dGVtcHQgdG8gc2VhcmNoIHRoZSkyLjgyNCBGIEYzIC0uNjY2KFBBKTIuODI0IEcoVEgpLS4xODkgRQorRjAgLjMyNChmb3IgcG9zc2libGUpMi41NzQgRgorKGNvbXBsZXRpb25zIHdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgb24gYW4gZW1wdHkgbGluZS4pMTg0IDcyMCBRCisoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDY2KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDY3IDY3CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRih0cmFwKTEwOCA4NCBRIEYwKFspMi41IEUgRjEoXDI1NWxwKUEgRjAgMi41Ci0oXVspQyhbKS0yLjUgRS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihhcilBKGcpLS4zNyBFIEYwKF0pQSBGMihzaWdzcGVjKQotMi41IEUgRjAoLi4uXSkyLjUgRSAuNzAyKFRoZSBjb21tYW5kKTE0NCA5NiBSIEYyKGFyKTMuNTMyIEUoZyktLjM3IEUgRjAKLS43MDIoaXMgdG8gYmUgcmVhZCBhbmQgZSkzLjQyMiBGIC0uMTUoeGUpLS4xNSBHIC43MDIKLShjdXRlZCB3aGVuIHRoZSBzaGVsbCByZWNlaSkuMTUgRiAtLjE1KHZlKS0uMjUgRyAzLjIwMyhzcykuMTUgRwotKGlnbmFsXChzXCkpLTMuMjAzIEUgRjIoc2lnc3BlYykzLjIwMyBFIEYwIDUuNzAzKC5JKS4zMSBHKGYpLTUuNzAzIEUgRjIKLShhcikzLjUzMyBFKGcpLS4zNyBFIEYwKGlzKTMuNDIzIEUgLjYwOShhYnNlbnQgXChhbmQgdGhlcmUgaXMgYSBzaW5nbGUpCi0xNDQgMTA4IFIgRjIoc2lnc3BlYykzLjEwOCBFIEYwIDMuMTA4KFwpbylDKHIpLTMuMTA4IEUgRjE8YWQ+My4xMDggRSBGMAotMy4xMDgoLGUpQyAuNjA4Ci0oYWNoIHNwZWNpXDIxNGVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMgb3JpZ2luYWwgZGlzcG9zaXRpb24pLTMuMTA4IEYKLS42NTgoXCh0aGUgdikxNDQgMTIwIFIgLjY1OChhbHVlIGl0IGhhZCB1cG9uIGVudHJhbmNlIHRvIHRoZSBzaGVsbFwpLikKLS0uMjUgRihJZik1LjY1OCBFIEYyKGFyKTMuNDg4IEUoZyktLjM3IEUgRjAgLjY1OQotKGlzIHRoZSBudWxsIHN0cmluZyB0aGUgc2lnbmFsIHNwZWNpXDIxNGVkIGJ5IGVhY2gpMy4zNzggRiBGMihzaWdzcGVjKQotMTQ0LjM0IDEzMiBRIEYwIC41ODEoaXMgaWdub3JlZCBieSB0aGUgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbikKLTMuMzkxIEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDMuMDgocy4gSWYpLjEgRiBGMihhcikzLjQxIEUoZyktLjM3IEUKLUYwIC41OChpcyBub3QgcHJlc2VudCBhbmQpMy4zIEYgRjE8YWQ3MD4zLjA4IEUgRjAoaGFzKTMuMDggRSAxLjIxNAotKGJlZW4gc3VwcGxpZWQsIHRoZW4gdGhlIHRyYXAgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2gpMTQ0IDE0NCBSIEYyCi0oc2lnc3BlYyk0LjA1NCBFIEYwIDEuMjE1KGFyZSBkaXNwbGF5ZWQuKTQuMDI0IEYgMS4yMTUoSWYgbm8gYXIpNi4yMTUgRgotKGd1LSktLjE4IEUgLjg2KG1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiBvbmx5KTE0NCAxNTYgUiBGMTxhZDcwPjMuMzYgRQotRjAgLjg2KGlzIGdpKTMuMzYgRiAtLjE1KHZlKS0uMjUgRyhuLCkuMTUgRSBGMSh0cmFwKTMuMzYgRSBGMCAuODYKLShwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2gpMy4zNiBGIDIuODMKLShzaWduYWwuIFRoZSkxNDQgMTY4IFIgRjE8YWQ2Yz4yLjgzIEUgRjAgLjMzKG9wdGlvbiBjYXVzZXMgdGhlIHNoZWxsIHRvXAotIHByaW50IGEgbGlzdCBvZiBzaWduYWwgbmFtZXMgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcgbnVtLSkyLjgzIEYgNC4zMTEKLShiZXJzLiBFYWNoKTE0NCAxODAgUiBGMihzaWdzcGVjKTQuNjUxIEUgRjAgMS44MTEKLShpcyBlaXRoZXIgYSBzaWduYWwgbmFtZSBkZVwyMTRuZWQgaW4gPCk0LjYyMSBGIEYyKHNpZ25hbC5oKUEgRjAgMS44MQotKD4sIG9yIGEgc2lnbmFsIG51bWJlcilCIDYuODEoLlMpLS41NSBHKGlnbmFsKS02LjgxIEUKLShuYW1lcyBhcmUgY2FzZSBpbnNlbnNpdGkpMTQ0IDE5MiBRIC4zIC0uMTUodmUgYSktLjI1IEgKLShuZCB0aGUgU0lHIHByZVwyMTR4IGlzIG9wdGlvbmFsLikuMTUgRSAxLjY0OChJZiBhKTE0NCAyMTAgUiBGMihzaWdzcGVjKQotNC40ODggRSBGMChpcyk0LjQ1OCBFL0YzIDkvVGltZXMtQm9sZEAwIFNGKEVYSVQpNC4xNDggRSBGMCAxLjY0OAotKFwoMFwpIHRoZSBjb21tYW5kKTMuODk4IEYgRjIoYXIpNC40NzkgRShnKS0uMzcgRSBGMCAxLjY0OShpcyBlKTQuMzY5IEYKLS0uMTUoeGUpLS4xNSBHIDEuNjQ5KGN1dGVkIG9uIGUpLjE1IEYgMS42NDkoeGl0IGZyb20gdGhlIHNoZWxsLiktLjE1IEYKLTEuNjQ5KElmIGEpNi42NDkgRiBGMihzaWdzcGVjKTQuNDg5IEUgRjAoaXMpNC40NTkgRSBGMyhERUIpMTQ0IDIyMiBRKFVHKQotLS4wOSBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRigsKUEgRjAgMS4xNjgodGhlIGNvbW1hbmQpMy40MTggRiBGMihhcikKLTMuOTk4IEUoZyktLjM3IEUgRjAgMS4xNjgoaXMgZSkzLjg4OCBGIC0uMTUoeGUpLS4xNSBHIDEuMTY3Ci0oY3V0ZWQgYmVmb3JlIGUpLjE1IEYgLS4xNSh2ZSktLjI1IEcocnkpLjE1IEUgRjIgMS4xNjcoc2ltcGxlIGNvbW1hbmQpCi0zLjY2NyBGIEYwKCwpQSBGMihmb3IpMy42NjcgRSBGMChjb21tYW5kLCkzLjY2NyBFIEYyKGNhc2UpMy42NjcgRSBGMAotKGNvbS0pMy42NjcgRShtYW5kLCkxNDQgMjM0IFEgRjIoc2VsZWN0KTIuNjQ2IEUgRjAgLjE0Nihjb21tYW5kLCBlKTIuNjQ2Ci1GIC0uMTUodmUpLS4yNSBHIC4xNDYocnkgYXJpdGhtZXRpYykuMTUgRiBGMihmb3IpMi42NDYgRSBGMCAuMTQ3Ci0oY29tbWFuZCwgYW5kIGJlZm9yZSB0aGUgXDIxNHJzdCBjb21tYW5kIGUpMi42NDYgRiAtLjE1KHhlKS0uMTUgRyAuMTQ3Ci0oY3V0ZXMgaW4gYSkuMTUgRiAuMTQ2KHNoZWxsIGZ1bmN0aW9uIFwoc2VlKTE0NCAyNDYgUiBGMyAuMTQ2Ci0oU0hFTEwgR1JBTU1BUikyLjY0NiBGIEYwKGFibykyLjM5NiBFIC0uMTUodmUpLS4xNSBHIDIuNjQ2KFwpLiBSZWZlcikuMTUKLUYgLjE0Nih0byB0aGUgZGVzY3JpcHRpb24gb2YgdGhlKTIuNjQ2IEYgRjEoZXh0ZGViKTIuNjQ1IEUodWcpLS4yIEUgRjAKLS4xNDUob3B0aW9uIHRvKTIuNjQ1IEYodGhlKTE0NCAyNTggUSBGMShzaG9wdCkzLjIgRSBGMCAtLjIoYnUpMy4yIEcgLjcKLShpbHRpbiBmb3IgZGV0YWlscyBvZiBpdHMgZWYpLjIgRiAuNyhmZWN0IG9uIHRoZSktLjI1IEYgRjEoREVCKTMuMiBFKFVHKQotLS4xIEUgRjAgMy4yKHRyYXAuIElmKTMuMiBGKGEpMy4yIEUgRjIoc2lnc3BlYykzLjU0IEUgRjAoaXMpMy41MSBFIEYzCi0oUkVUVVJOKTMuMiBFIEY0KCwpQSBGMCAuNzAxKHRoZSBjb20tKTIuOTUxIEYobWFuZCkxNDQgMjcwIFEgRjIoYXIpMy40NzQKLUUoZyktLjM3IEUgRjAgLjY0NChpcyBlKTMuMzY0IEYgLS4xNSh4ZSktLjE1IEcgLjY0MwotKGN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGUpLjE1IEYgLS4xNSh4ZSktLjE1IEcKLS42NDMoY3V0ZWQgd2l0aCB0aGUpLjE1IEYgRjEoLikzLjE0MyBFIEYwKG9yKTMuMTQzIEUgRjEoc291cikzLjE0MyBFKGNlKQotLS4xOCBFIEYwIC0uMihidSkzLjE0MyBHKGlsdGlucykuMiBFKFwyMTRuaXNoZXMgZSkxNDQgMjgyIFEgLS4xNSh4ZSktLjE1Ci1HKGN1dGluZy4pLjE1IEUgLjkyOChJZiBhKTE0NCAzMDAgUiBGMihzaWdzcGVjKTMuNzY4IEUgRjAoaXMpMy43MzggRSBGMwotKEVSUikzLjQyOSBFIEY0KCwpQSBGMCAuOTI5KHRoZSBjb21tYW5kKTMuMTc5IEYgRjIoYXIpMy43NTkgRShnKS0uMzcgRQotRjAgLjkyOShpcyBlKTMuNjQ5IEYgLS4xNSh4ZSktLjE1IEcgLjkyOShjdXRlZCB3aGVuZSkuMTUgRiAtLjE1KHZlKS0uMjUKLUcgMy40MjkocmFzKS4xNSBHIC45MjkoaW1wbGUgY29tbWFuZCBoYXMgYSBub25cMjU1emVybyktMy40MjkgRiAtLjE1KGV4KQotMTQ0IDMxMiBTIDEuMDA5KGl0IHN0YXR1cywgc3ViamVjdCB0byB0aGUgZm9sbG8pLjE1IEYgMS4wMDkKLSh3aW5nIGNvbmRpdGlvbnMuKS0uMjUgRihUaGUpNi4wMDkgRSBGMyhFUlIpMy41MDkgRSBGMCAxLjAwOQotKHRyYXAgaXMgbm90IGUpMy4yNTkgRiAtLjE1KHhlKS0uMTUgRyAxLjAwOChjdXRlZCBpZiB0aGUgZikuMTUgRiAxLjAwOAotKGFpbGVkIGNvbS0pLS4xIEYgLjMyNAotKG1hbmQgaXMgcGFydCBvZiB0aGUgY29tbWFuZCBsaXN0IGltbWVkaWF0ZWx5IGZvbGxvKTE0NCAzMjQgUiAuMzI0Ci0od2luZyBhKS0uMjUgRiBGMSh3aGlsZSkyLjgyNCBFIEYwKG9yKTIuODI0IEUgRjEodW50aWwpMi44MjQgRSBGMCAtLjEKLShrZSkyLjgyNCBHKHl3KS0uMDUgRSAuMzI0KG9yZCwgcGFydCBvZiB0aGUgdGVzdCktLjEgRiAxLjEyOShpbiBhbikxNDQKLTMzNiBSIEYyKGlmKTMuNjM5IEUgRjAgMS4xMjkoc3RhdGVtZW50LCBwYXJ0IG9mIGEgY29tbWFuZCBlKTUuNTg5IEYgLS4xNQotKHhlKS0uMTUgRyAxLjEyOShjdXRlZCBpbiBhKS4xNSBGIEYxKCYmKTMuNjI5IEUgRjAob3IpMy42MjkgRS9GNSAxMAotL1N5bWJvbCBTRjxlZmVmPjMuNjI5IEUgRjAgMS4xMjkobGlzdCwgb3IgaWYgdGhlIGNvbW1hbmQnKTMuNjI5IEYgMy42MjgKLShzciktLjU1IEcoZXR1cm4pLTMuNjI4IEUgLS4yNSh2YSkxNDQgMzQ4IFMobHVlIGlzIGJlaW5nIGluKS4yNSBFIC0uMTUKLSh2ZSktLjQgRyhydGVkIHZpYSkuMTUgRSBGMSghKTIuNSBFIEYwIDUoLlQpQwotKGhlc2UgYXJlIHRoZSBzYW1lIGNvbmRpdGlvbnMgb2JlKS01IEUoeWVkIGJ5IHRoZSktLjE1IEUgRjEoZXJyKTIuNSBFCi0oZXhpdCktLjE4IEUgRjAob3B0aW9uLikyLjUgRSAxLjA5NQotKFNpZ25hbHMgaWdub3JlZCB1cG9uIGVudHJ5IHRvIHRoZSBzaGVsbCBjYW5ub3QgYmUgdHJhcHBlZCBvciByZXNldC4pMTQ0Ci0zNjYgUiAtLjM1KFRyKTYuMDk1IEcgMS4wOTUoYXBwZWQgc2lnbmFscyB0aGF0IGFyZSBub3QpLjM1IEYgLjY2MgotKGJlaW5nIGlnbm9yZWQgYXJlIHJlc2V0IHRvIHRoZWlyIG9yaWdpbmFsIHYpMTQ0IDM3OCBSIC42NjIKLShhbHVlcyBpbiBhIHN1YnNoZWxsIG9yIHN1YnNoZWxsIGVuKS0uMjUgRiAuNjYxKHZpcm9ubWVudCB3aGVuIG9uZSBpcykKLS0uNCBGIDIuNShjcmVhdGVkLiBUaGUpMTQ0IDM5MCBSKHJldHVybiBzdGF0dXMgaXMgZikyLjUgRShhbHNlIGlmIGFuKS0uMQotRSh5KS0uMTUgRSBGMihzaWdzcGVjKTIuODQgRSBGMChpcyBpbikyLjgxIEUgLS4yNSh2YSktLjQgRwotKGxpZDsgb3RoZXJ3aXNlKS4yNSBFIEYxKHRyYXApMi41IEUgRjAocmV0dXJucyB0cnVlLikyLjUgRSBGMSh0eXBlKTEwOAotNDA2LjggUSBGMChbKTIuNSBFIEYxKFwyNTVhZnRwUClBIEYwKF0pQSBGMihuYW1lKTIuNSBFIEYwKFspMi41IEUgRjIKLShuYW1lKUEgRjAoLi4uXSkyLjUgRSAtLjQoV2kpMTQ0IDQxOC44IFMgLjE3MwotKHRoIG5vIG9wdGlvbnMsIGluZGljYXRlIGhvKS40IEYgMi42NzMod2UpLS4yNSBHKGFjaCktMi42NzMgRSBGMihuYW1lKQotMy4wMzMgRSBGMCAtLjEod28pMi44NTMgRyAuMTc0Ci0odWxkIGJlIGludGVycHJldGVkIGlmIHVzZWQgYXMgYSBjb21tYW5kIG5hbWUuKS4xIEYgLjE3NChJZiB0aGUpNS4xNzQgRgotRjE8YWQ3ND4xNDQgNDMwLjggUSBGMCAuODQzKG9wdGlvbiBpcyB1c2VkLCkzLjM0MyBGIEYxKHR5cGUpMy4zNDMgRSBGMAotLjg0MyhwcmludHMgYSBzdHJpbmcgd2hpY2ggaXMgb25lIG9mKTMuMzQzIEYgRjIoYWxpYXMpMy4zNDMgRSBGMCgsKS4yNyBFCi1GMiAtLjEoa2UpMy4zNDMgRyh5d29yKS0uMiBFKGQpLS4zNyBFIEYwKCwpLjc3IEUgRjIoZnVuY3Rpb24pMy4zNDMgRSBGMAotKCwpLjI0IEUgRjIgLS4yKGJ1KTMuMzQyIEcoaWx0aW4pLjIgRSBGMCAzLjM0MigsbykuMjQgRyhyKS0zLjM0MiBFIEYyCi0oXDIxNGxlKTUuMjUyIEUgRjAoaWYpMy41MjIgRSBGMihuYW1lKTE0NC4zNiA0NDIuOCBRIEYwIC4wODYKLShpcyBhbiBhbGlhcywgc2hlbGwgcmVzZXJ2KTIuNzY2IEYgLjA4NihlZCB3KS0uMTUgRiAuMDg2Ci0ob3JkLCBmdW5jdGlvbiwgYiktLjEgRiAuMDg3KHVpbHRpbiwgb3IgZGlzayBcMjE0bGUsIHJlc3BlY3RpKS0uMiBGIC0uMTUKLSh2ZSktLjI1IEcobHkpLjE1IEUgNS4wODcoLkkpLS42NSBHIDIuNTg3KGZ0KS01LjA4NyBHKGhlKS0yLjU4NyBFIEYyCi0obmFtZSkyLjk0NyBFIEYwIC4wODcoaXMgbm90KTIuNzY3IEYgLjExOQotKGZvdW5kLCB0aGVuIG5vdGhpbmcgaXMgcHJpbnRlZCwgYW5kIGFuIGUpMTQ0IDQ1NC44IFIgLjExOAotKHhpdCBzdGF0dXMgb2YgZiktLjE1IEYgLjExOChhbHNlIGlzIHJldHVybmVkLiktLjEgRiAuMTE4KElmIHRoZSk1LjExOCBGCi1GMTxhZDcwPjIuNjE4IEUgRjAgLjExOChvcHRpb24gaXMgdXNlZCwpMi42MTggRiBGMSh0eXBlKTIuNjE4IEUgRjAgLjg1NQotKGVpdGhlciByZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBkaXNrIFwyMTRsZSB0aGF0IHcpMTQ0IDQ2Ni44IFIgLjg1NQotKG91bGQgYmUgZSktLjEgRiAtLjE1KHhlKS0uMTUgRyAuODU1KGN1dGVkIGlmKS4xNSBGIEYyKG5hbWUpMy43MTUgRSBGMAotLjg1NSh3ZXJlIHNwZWNpXDIxNGVkIGFzIGEgY29tLSkzLjUzNSBGIC42NDEobWFuZCBuYW1lLCBvciBub3RoaW5nIGlmKQotMTQ0IDQ3OC44IFIvRjYgMTAvQ291cmllckAwIFNGIC42NDEodHlwZSAtdCBuYW1lKTMuMTQxIEYgRjAgLS4xKHdvKTMuMTQxCi1HIC42NDEodWxkIG5vdCByZXR1cm4pLjEgRiBGMihcMjE0bGUpMy4xNCBFIEYwIDUuNjQoLlQpLjE4IEcoaGUpLTUuNjQgRQotRjE8YWQ1MD4zLjE0IEUgRjAgLjY0KG9wdGlvbiBmb3JjZXMgYSkzLjE0IEYgRjMgLS42NjYoUEEpMy4xNCBHKFRIKS0uMTg5Ci1FIEYwIC4xMTIoc2VhcmNoIGZvciBlYWNoKTE0NCA0OTAuOCBSIEYyKG5hbWUpMi42MTIgRSBGMCAyLjYxMigsZSlDIC0uMTUKLSh2ZSktMi44NjIgRyAyLjYxMyhuaSkuMTUgRyhmKS0yLjYxMyBFIEY2IC4xMTModHlwZSAtdCBuYW1lKTIuNjEzIEYgRjAKLS0uMSh3bykyLjYxMyBHIC4xMTModWxkIG5vdCByZXR1cm4pLjEgRiBGMihcMjE0bGUpMi42MTMgRSBGMCA1LjExMyguSSkKLS4xOCBHIDIuNjEzKGZhYyktNS4xMTMgRyAuMTEzKG9tbWFuZCBpcyBoYXNoZWQsKS0yLjYxMyBGIEYxPGFkNzA+Mi42MTMgRQotRjAoYW5kKTE0NCA1MDIuOCBRIEYxPGFkNTA+Mi45NDUgRSBGMCAuNDQ1KHByaW50IHRoZSBoYXNoZWQgdikyLjk0NSBGCi0uNDQ0KGFsdWUsIG5vdCBuZWNlc3NhcmlseSB0aGUgXDIxNGxlIHRoYXQgYXBwZWFycyBcMjE0cnN0IGluKS0uMjUgRiBGMwotLS42NjYoUEEpMi45NDQgRyhUSCktLjE4OSBFIEY0KC4pQSBGMCAuNDQ0KElmIHRoZSk0Ljk0NCBGIEYxPGFkNjE+Mi45NDQKLUUgRjAob3B0aW9uKTIuOTQ0IEUgLjI2NShpcyB1c2VkLCkxNDQgNTE0LjggUiBGMSh0eXBlKTIuNzY1IEUgRjAgLjI2NQotKHByaW50cyBhbGwgb2YgdGhlIHBsYWNlcyB0aGF0IGNvbnRhaW4gYW4gZSkyLjc2NSBGIC0uMTUoeGUpLS4xNSBHIC4yNjUKLShjdXRhYmxlIG5hbWVkKS4xNSBGIEYyKG5hbWUpMi43NjUgRSBGMCA1LjI2NSguVCkuMTggRyAuMjY1Ci0oaGlzIGluY2x1ZGVzIGFsaWFzZXMpLTUuMjY1IEYgLjQyNyhhbmQgZnVuY3Rpb25zLCBpZiBhbmQgb25seSBpZiB0aGUpCi0xNDQgNTI2LjggUiBGMTxhZDcwPjIuOTI2IEUgRjAgLjQyNihvcHRpb24gaXMgbm90IGFsc28gdXNlZC4pMi45MjYgRgotLjQyNihUaGUgdGFibGUgb2YgaGFzaGVkIGNvbW1hbmRzIGlzIG5vdCk1LjQyNiBGIC41NDgKLShjb25zdWx0ZWQgd2hlbiB1c2luZykxNDQgNTM4LjggUiBGMTxhZDYxPjMuMDQ4IEUgRjAgNS41NDgoLlQpQyhoZSkKLS01LjU0OCBFIEYxPGFkNjY+My4wNDggRSBGMCAuNTQ5Ci0ob3B0aW9uIHN1cHByZXNzZXMgc2hlbGwgZnVuY3Rpb24gbG9va3VwLCBhcyB3aXRoIHRoZSkzLjA0OCBGIEYxCi0oY29tbWFuZCkzLjA0OSBFIEYwIC0uMihidSkxNDQgNTUwLjggUyhpbHRpbi4pLjIgRSBGMSh0eXBlKTUgRSBGMAotKHJldHVybnMgdHJ1ZSBpZiBhbGwgb2YgdGhlIGFyKTIuNSBFKGd1bWVudHMgYXJlIGZvdW5kLCBmKS0uMTggRQotKGFsc2UgaWYgYW4pLS4xIEUgMi41KHlhKS0uMTUgRyhyZSBub3QgZm91bmQuKS0yLjUgRSBGMSh1bGltaXQpMTA4IDU2Ny42Ci1RIEYwKFspMi41IEUgRjEoXDI1NUhTVClBKGFiY2RlXDIxNGxtbnBxcnN0dXZ4KS0uOTIgRSBGMChbKTIuNSBFIEYyCi0obGltaXQpQSBGMChdXSlBKFBybykxNDQgNTc5LjYgUSAuMjQ0KHZpZGVzIGNvbnRyb2wgbyktLjE1IEYgLS4xNSh2ZSkKLS0uMTUgRyAyLjc0NChydCkuMTUgRyAuMjQ0KGhlIHJlc291cmNlcyBhKS0yLjc0NCBGIC0uMjUodmEpLS4yIEcgLjI0NAotKGlsYWJsZSB0byB0aGUgc2hlbGwgYW5kIHRvIHByb2Nlc3NlcyBzdGFydGVkIGJ5IGl0LCBvbiBzeXN0ZW1zKS4yNSBGCi0uOTQzKHRoYXQgYWxsbykxNDQgNTkxLjYgUiAzLjQ0Myh3cyktLjI1IEcgLjk0Myh1Y2ggY29udHJvbC4pLTMuNDQzIEYKLShUaGUpNS45NDMgRSBGMTxhZDQ4PjMuNDQzIEUgRjAoYW5kKTMuNDQzIEUgRjE8YWQ1Mz4zLjQ0NCBFIEYwIC45NDQKLShvcHRpb25zIHNwZWNpZnkgdGhhdCB0aGUgaGFyZCBvciBzb2Z0IGxpbWl0IGlzIHNldCBmb3IgdGhlKTMuNDQ0IEYoZ2kpCi0xNDQgNjAzLjYgUSAtLjE1KHZlKS0uMjUgRyAyLjcwOShucikuMTUgRyAyLjcwOShlc291cmNlLiBBKS0yLjcwOSBGIC4yMDgKLShoYXJkIGxpbWl0IGNhbm5vdCBiZSBpbmNyZWFzZWQgYnkgYSBub24tcm9vdCB1c2VyIG9uY2UgaXQgaXMgc2V0OyBhIHNvXAotZnQgbGltaXQgbWF5KTIuNzA5IEYgLjQyNShiZSBpbmNyZWFzZWQgdXAgdG8gdGhlIHYpMTQ0IDYxNS42IFIgLjQyNQotKGFsdWUgb2YgdGhlIGhhcmQgbGltaXQuKS0uMjUgRiAuNDI2KElmIG5laXRoZXIpNS40MjUgRiBGMTxhZDQ4PjIuOTI2IEUKLUYwKG5vcikyLjkyNiBFIEYxPGFkNTM+Mi45MjYgRSBGMCAuNDI2Ci0oaXMgc3BlY2lcMjE0ZWQsIGJvdGggdGhlIHNvZnQgYW5kKTIuOTI2IEYgLjEzOShoYXJkIGxpbWl0cyBhcmUgc2V0LikxNDQKLTYyNy42IFIgLjEzOShUaGUgdik1LjEzOSBGIC4xMzkoYWx1ZSBvZiktLjI1IEYgRjIobGltaXQpMi43MjkgRSBGMCAuMTM5Ci0oY2FuIGJlIGEgbnVtYmVyIGluIHRoZSB1bml0IHNwZWNpXDIxNGVkIGZvciB0aGUgcmVzb3VyY2Ugb3Igb25lKTMuMzE5IEYKLS43NDEob2YgdGhlIHNwZWNpYWwgdikxNDQgNjM5LjYgUihhbHVlcyktLjI1IEUgRjEoaGFyZCkzLjI0MSBFIEYwKCwpQSBGMQotKHNvZnQpMy4yNDEgRSBGMCAzLjI0MSgsbylDKHIpLTMuMjQxIEUgRjEodW5saW1pdGVkKTMuMjQxIEUgRjAgMy4yNDEoLHcpCi1DIC43NDEoaGljaCBzdGFuZCBmb3IgdGhlIGN1cnJlbnQgaGFyZCBsaW1pdCwgdGhlIGN1cnJlbnQpLTMuMjQxIEYgLjc4Ci0oc29mdCBsaW1pdCwgYW5kIG5vIGxpbWl0LCByZXNwZWN0aSkxNDQgNjUxLjYgUiAtLjE1KHZlKS0uMjUgRyhseSkuMTUgRQotNS43OCguSSktLjY1IEcoZiktNS43OCBFIEYyKGxpbWl0KTMuMzcgRSBGMCAuNzgKLShpcyBvbWl0dGVkLCB0aGUgY3VycmVudCB2KTMuOTYgRiAuNzgoYWx1ZSBvZiB0aGUgc29mdCBsaW1pdCBvZiB0aGUpLS4yNQotRiAuNDk4KHJlc291cmNlIGlzIHByaW50ZWQsIHVubGVzcyB0aGUpMTQ0IDY2My42IFIgRjE8YWQ0OD4yLjk5OSBFIEYwCi0uNDk5KG9wdGlvbiBpcyBnaSkyLjk5OSBGIC0uMTUodmUpLS4yNSBHIDIuOTk5KG4uIFdoZW4pLjE1IEYgLjQ5OQotKG1vcmUgdGhhbiBvbmUgcmVzb3VyY2UgaXMgc3BlY2lcMjE0ZWQsIHRoZSkyLjk5OSBGCi0obGltaXQgbmFtZSBhbmQgdW5pdCBhcmUgcHJpbnRlZCBiZWZvcmUgdGhlIHYpMTQ0IDY3NS42IFEgMi41Ci0oYWx1ZS4gT3RoZXIpLS4yNSBGKG9wdGlvbnMgYXJlIGludGVycHJldGVkIGFzIGZvbGxvKTIuNSBFKHdzOiktLjI1IEUgRjEKLTxhZDYxPjE0NCA2ODcuNiBRIEYwKEFsbCBjdXJyZW50IGxpbWl0cyBhcmUgcmVwb3J0ZWQpMjUuMyBFIEYxPGFkNjI+MTQ0Ci02OTkuNiBRIEYwKFRoZSBtYXhpbXVtIHNvY2spMjQuNzQgRShldCBiKS0uMSBFKHVmKS0uMiBFKGZlciBzaXplKS0uMjUgRQotRjE8YWQ2Mz4xNDQgNzExLjYgUSBGMChUaGUgbWF4aW11bSBzaXplIG9mIGNvcmUgXDIxNGxlcyBjcmVhdGVkKTI1Ljg2IEUKLShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkxMzUuOTY1IEUoNjcpMTg1Ljk1NSBFIDAgQ2cgRVAKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0Yobm9jYXNlZ2xvYikxNDQgODQgUSBGMCAuNDM2KElmIHNldCwpMTg0IDk2CitSIEYxKGJhc2gpMi45MzYgRSBGMCAuNDM2KG1hdGNoZXMgXDIxNGxlbmFtZXMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkKKzIuOTM2IEYgLjczNyAtLjE1KHZlIGYpLS4yNSBIIC40MzcoYXNoaW9uIHdoZW4gcGVyZm9ybWluZyBwYXRobmFtZSkuMDUgRgorLS4xNShleCkxODQgMTA4IFMocGFuc2lvbiBcKHNlZSkuMTUgRSBGMSAtLjEoUGEpMi41IEcodGhuYW1lIEV4cGFuc2lvbikKKy4xIEUgRjAoYWJvKTIuNSBFIC0uMTUodmUpLS4xNSBHKFwpLikuMTUgRSBGMShub2Nhc2VtYXRjaCkxNDQgMTIwIFEgRjAKKzEuMTk0KElmIHNldCwpMTg0IDEzMiBSIEYxKGJhc2gpMy42OTQgRSBGMCAxLjE5NAorKG1hdGNoZXMgcGF0dGVybnMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkzLjY5NCBGIDEuNDkzIC0uMTUodmUgZiktLjI1IEgKKzEuMTkzKGFzaGlvbiB3aGVuIHBlcmZvcm1pbmcgbWF0Y2hpbmcpLjA1IEYod2hpbGUgZSkxODQgMTQ0IFEgLS4xNSh4ZSkKKy0uMTUgRyhjdXRpbmcpLjE1IEUgRjEoY2FzZSkyLjUgRSBGMChvcikyLjUgRSBGMShbWykyLjUgRSBGMAorKGNvbmRpdGlvbmFsIGNvbW1hbmRzLikyLjUgRSBGMShudWxsZ2xvYikxNDQgMTU2IFEgRjAgLjg1NChJZiBzZXQsKTE4NAorMTY4IFIgRjEoYmFzaCkzLjM1NCBFIEYwKGFsbG8pMy4zNTQgRSAuODU1Cisod3MgcGF0dGVybnMgd2hpY2ggbWF0Y2ggbm8gXDIxNGxlcyBcKHNlZSktLjI1IEYgRjEgLS4xKFBhKTMuMzU1IEcgLjg1NQorKHRobmFtZSBFeHBhbnNpb24pLjEgRiBGMChhYm8pMy4zNTUgRSAtLjE1KHZlKS0uMTUgRyAzLjM1NShcKXQpLjE1IEcobykKKy0zLjM1NSBFIC0uMTUoZXgpMTg0IDE4MCBTKHBhbmQgdG8gYSBudWxsIHN0cmluZywgcmF0aGVyIHRoYW4gdGhlbXNlbHYpCisuMTUgRShlcy4pLS4xNSBFIEYxKHByKTE0NCAxOTIgUShvZ2NvbXApLS4xOCBFIEYwIC42NzcKKyhJZiBzZXQsIHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmKTE4NCAyMDQgUiAuNjc3KGFjaWxpdGllcyBcKHNlZSkKKy0uMSBGIEYxKFByKTMuMTc2IEUgLjY3NihvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBGIEYwKGFibykzLjE3NiBFCistLjE1KHZlKS0uMTUgRyhcKSkuMTUgRShhcmUgZW5hYmxlZC4pMTg0IDIxNiBRCisoVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWYpNSBFKGF1bHQuKS0uMSBFIEYxKHByKTE0NCAyMjggUShvbXB0dikKKy0uMTggRShhcnMpLS4xIEUgRjAgMS40NDcoSWYgc2V0LCBwcm9tcHQgc3RyaW5ncyB1bmRlcikxODQgMjQwIFIgMS40NDgKKyhnbyBwYXJhbWV0ZXIgZSktLjE4IEYgMS40NDgoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljKQorLS4xNSBGIC0uMTUoZXgpMTg0IDI1MiBTIC4xNzEocGFuc2lvbiwgYW5kIHF1b3RlIHJlbW8pLjE1IEYgLS4yNSh2YSktLjE1CitHIDIuNjcobGEpLjI1IEcgLjE3KGZ0ZXIgYmVpbmcgZSktMi42NyBGIC4xNyh4cGFuZGVkIGFzIGRlc2NyaWJlZCBpbikKKy0uMTUgRi9GMiA5L1RpbWVzLUJvbGRAMCBTRihQUikyLjY3IEUoT01QVElORyktLjI3IEUgRjAoYWJvKTIuNDIgRSAtLjE1CisodmUpLS4xNSBHKC4pLjE1IEUoVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWYpMTg0IDI2NCBRKGF1bHQuKS0uMSBFCitGMSAtLjE4KHJlKTE0NCAyNzYgUyhzdHJpY3RlZF9zaGVsbCkuMTggRSBGMCAxLjA2OQorKFRoZSBzaGVsbCBzZXRzIHRoaXMgb3B0aW9uIGlmIGl0IGlzIHN0YXJ0ZWQgaW4gcmVzdHJpY3RlZCBtb2RlIFwoc2VlKQorMTg0IDI4OCBSIEYyIDEuMDY5KFJFU1RSSUNURUQgU0hFTEwpMy41NjkgRiBGMChiZWxvKTE4NCAzMDAgUSA0LjE3OAorKHdcKS4gVGhlKS0uMjUgRiAtLjI1KHZhKTQuMTc4IEcgMS42NzgobHVlIG1heSBub3QgYmUgY2hhbmdlZC4pLjI1IEYKKzEuNjc4KFRoaXMgaXMgbm90IHJlc2V0IHdoZW4gdGhlIHN0YXJ0dXAgXDIxNGxlcyBhcmUpNi42NzggRiAtLjE1KGV4ZSkKKzE4NCAzMTIgUyhjdXRlZCwgYWxsbykuMTUgRSh3aW5nIHRoZSBzdGFydHVwIFwyMTRsZXMgdG8gZGlzY28pLS4yNSBFCistLjE1KHZlKS0uMTUgRyAyLjUocncpLjE1IEcoaGV0aGVyIG9yIG5vdCBhIHNoZWxsIGlzIHJlc3RyaWN0ZWQuKS0yLjUgRQorRjEoc2hpZnRfdikxNDQgMzI0IFEoZXJib3NlKS0uMSBFIEYwIC41MDEoSWYgc2V0LCB0aGUpMTg0IDMzNiBSIEYxCisoc2hpZnQpMy4wMDEgRSBGMCAtLjIoYnUpMy4wMDEgRyAuNTAxCisoaWx0aW4gcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2Ugd2hlbiB0aGUgc2hpZnQgY291bnQgZSkuMiBGIC41MDIKKyh4Y2VlZHMgdGhlIG51bWJlciktLjE1IEYob2YgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLikxODQgMzQ4IFEgRjEoc291cikKKzE0NCAzNjAgUShjZXBhdGgpLS4xOCBFIEYwIC43NzEoSWYgc2V0LCB0aGUpMTg0IDM3MiBSIEYxKHNvdXIpMy4yNzEgRQorKGNlKS0uMTggRSBGMChcKCkzLjI3MSBFIEYxKC4pQSBGMCAzLjI3MShcKWIpQyAuNzcxKHVpbHRpbiB1c2VzIHRoZSB2KQorLTMuNDcxIEYgLjc3MShhbHVlIG9mKS0uMjUgRiBGMiAtLjY2NihQQSkzLjI3IEcoVEgpLS4xODkgRSBGMCAuNzcKKyh0byBcMjE0bmQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSkzLjAyIEYoXDIxNGxlIHN1cHBsaWVkIGFzIGFuIGFyKQorMTg0IDM4NCBRIDIuNShndW1lbnQuIFRoaXMpLS4xOCBGKG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZikyLjUgRShhdWx0LikKKy0uMSBFIEYxKHhwZ19lY2hvKTE0NCAzOTYgUSBGMChJZiBzZXQsIHRoZSkxODQgNDA4IFEgRjEoZWNobykyLjUgRSBGMAorLS4yKGJ1KTIuNSBHKGlsdGluIGUpLjIgRSh4cGFuZHMgYmFja3NsYXNoLWVzY2FwZSBzZXF1ZW5jZXMgYnkgZGVmKS0uMTUKK0UoYXVsdC4pLS4xIEUgRjEoc3VzcGVuZCkxMDggNDI0LjggUSBGMChbKTIuNSBFIEYxPGFkNjY+QSBGMChdKUEgMS4wMDEKKyhTdXNwZW5kIHRoZSBlKTE0NCA0MzYuOCBSIC0uMTUoeGUpLS4xNSBHIDEuMDAxCisoY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWkpLjE1IEYgLS4xNSh2ZSktLjI1IEcgMy41MDEoc2EpLjE1IEcKK0YyKFNJR0NPTlQpQSBGMCAzLjUwMihzaWduYWwuIEEpMy4yNTIgRiAxLjAwMihsb2dpbiBzaGVsbCBjYW5ub3QgYmUpCiszLjUwMiBGIC4wMjMoc3VzcGVuZGVkOyB0aGUpMTQ0IDQ0OC44IFIgRjE8YWQ2Nj4yLjUyMyBFIEYwIC4wMjMKKyhvcHRpb24gY2FuIGJlIHVzZWQgdG8gbykyLjUyMyBGIC0uMTUodmUpLS4xNSBHIC4wMjIKKyhycmlkZSB0aGlzIGFuZCBmb3JjZSB0aGUgc3VzcGVuc2lvbi4pLjE1IEYgLjAyMihUaGUgcmV0dXJuIHN0YXR1cyBpcykKKzUuMDIyIEYgMi41KDB1KTE0NCA0NjAuOCBTKG5sZXNzIHRoZSBzaGVsbCBpcyBhIGxvZ2luIHNoZWxsIGFuZCktMi41IEUKK0YxPGFkNjY+Mi41IEUgRjAoaXMgbm90IHN1cHBsaWVkLCBvciBpZiBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZC4pMi41CitFIEYxKHRlc3QpMTA4IDQ3Ny42IFEvRjMgMTAvVGltZXMtSXRhbGljQDAgU0YgLS4yKGV4KTIuNSBHKHByKS4yIEUgRjEoWykKKzEwOCA0ODkuNiBRIEYzIC0uMihleCkyLjUgRyhwcikuMiBFIEYxKF0pMi41IEUgRjAgMS4xNQorKFJldHVybiBhIHN0YXR1cyBvZiAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBlKTYuNzcgRiAtLjI1KHZhKS0uMjUgRyAxLjE1CisobHVhdGlvbiBvZiB0aGUgY29uZGl0aW9uYWwgZSkuMjUgRih4cHJlc3Npb24pLS4xNSBFIEYzIC0uMihleCkzLjY1IEcKKyhwcikuMiBFIEYwIDYuMTUoLkUpLjczIEcoYWNoKS02LjE1IEUgMS4xODgKKyhvcGVyYXRvciBhbmQgb3BlcmFuZCBtdXN0IGJlIGEgc2VwYXJhdGUgYXIpMTQ0IDUwMS42IFIgMy42ODgKKyhndW1lbnQuIEV4cHJlc3Npb25zKS0uMTggRiAxLjE4NyhhcmUgY29tcG9zZWQgb2YgdGhlIHByaW1hcmllcykzLjY4OCBGCisxLjg4OShkZXNjcmliZWQgYWJvKTE0NCA1MTMuNiBSIDIuMTg5IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRSBGMgorKENPTkRJVElPTik0LjM4OSBFIDEuODg5KEFMIEVYUFJFU1NJT05TKS0uMTggRi9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBCitGMSh0ZXN0KTYuMzg5IEUgRjAgMS44OShkb2VzIG5vdCBhY2NlcHQgYW4pNC4zODkgRiA0LjM5KHlvKS0uMTUgRyAxLjg5CisocHRpb25zLCBub3IpLTQuMzkgRihkb2VzIGl0IGFjY2VwdCBhbmQgaWdub3JlIGFuIGFyKTE0NCA1MjUuNiBRCisoZ3VtZW50IG9mKS0uMTggRSBGMTxhZGFkPjIuNSBFIEYwKGFzIHNpZ25pZnlpbmcgdGhlIGVuZCBvZiBvcHRpb25zLikyLjUKK0UgLjc4NihFeHByZXNzaW9ucyBtYXkgYmUgY29tYmluZWQgdXNpbmcgdGhlIGZvbGxvKTE0NCA1NDMuNiBSIC43ODUKKyh3aW5nIG9wZXJhdG9ycywgbGlzdGVkIGluIGRlY3JlYXNpbmcgb3JkZXIgb2YgcHJlY2UtKS0uMjUgRiAzLjQxMQorKGRlbmNlLiBUaGUpMTQ0IDU1NS42IFIgLS4yNShldmEpMy40MTEgRyAuOTExCisobHVhdGlvbiBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXIpLjI1IEYgLjkxMihndW1lbnRzOyBzZWUgYmVsbyktLjE4IEYKKzQuNzEyIC0uNjUody4gTyktLjI1IEggLjkxMihwZXJhdG9yIHByZWNlZGVuY2UgaXMpLjY1IEYKKyh1c2VkIHdoZW4gdGhlcmUgYXJlIFwyMTR2KTE0NCA1NjcuNiBRIDIuNShlbyktLjE1IEcgMi41KHJtKS0yLjUgRworKG9yZSBhciktMi41IEUoZ3VtZW50cy4pLS4xOCBFIEYxKCEpMTQ0IDU3OS42IFEgRjMgLS4yKGV4KTIuNSBHKHByKS4yIEUKK0YwIC0uMzUoVHIpMTIuNiBHKHVlIGlmKS4zNSBFIEYzIC0uMihleCkyLjUgRyhwcikuMiBFIEYwKGlzIGYpMy4yMyBFCisoYWxzZS4pLS4xIEUgRjEoXCgpMTQ0IDU5MS42IFEgRjMgLS4yKGV4KTIuNSBHKHByKS4yIEUgRjEoXCkpMi41IEUgRjAKKy4yNihSZXR1cm5zIHRoZSB2KTYuNzcgRiAuMjYoYWx1ZSBvZiktLjI1IEYgRjMgLS4yKGV4KTIuNzYgRyhwcikuMiBFIEYwCis1LjI2KC5UKUMgLjI2KGhpcyBtYXkgYmUgdXNlZCB0byBvKS01LjI2IEYgLS4xNSh2ZSktLjE1IEcgLjI2CisocnJpZGUgdGhlIG5vcm1hbCBwcmVjZWRlbmNlIG9mIG9wZXJhLSkuMTUgRih0b3JzLikxODAgNjAzLjYgUSBGMyAtLjIKKyhleCkxNDQgNjE1LjYgUyhwcjEpLjIgRSBGMDxhZD4yLjUgRSBGMShhKUEgRjMgLS4yKGV4KTIuNSBHKHByMikuMiBFIEYwCistLjM1KFRyKTE4MCA2MjcuNiBTKHVlIGlmIGJvdGgpLjM1IEUgRjMgLS4yKGV4KTIuNSBHKHByMSkuMiBFIEYwKGFuZCkyLjUKK0UgRjMgLS4yKGV4KTIuNSBHKHByMikuMiBFIEYwKGFyZSB0cnVlLikyLjUyIEUgRjMgLS4yKGV4KTE0NCA2MzkuNiBTCisocHIxKS4yIEUgRjA8YWQ+Mi41IEUgRjEobylBIEYzIC0uMihleCkyLjUgRyhwcjIpLjIgRSBGMCAtLjM1KFRyKTE4MAorNjUxLjYgUyh1ZSBpZiBlaXRoZXIpLjM1IEUgRjMgLS4yKGV4KTIuNSBHKHByMSkuMiBFIEYwKG9yKTIuNSBFIEYzIC0uMgorKGV4KTIuNSBHKHByMikuMiBFIEYwKGlzIHRydWUuKTIuNTIgRSBGMSh0ZXN0KTE0NCA2NjguNCBRIEYwKGFuZCkyLjUgRQorRjEoWykyLjUgRSBGMCAtLjI1KGV2YSkyLjUgRyhsdWF0ZSBjb25kaXRpb25hbCBlKS4yNSBFCisoeHByZXNzaW9ucyB1c2luZyBhIHNldCBvZiBydWxlcyBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIGFyKS0uMTUgRQorKGd1bWVudHMuKS0uMTggRSAyLjUoMGEpMTQ0IDY4Ni40IFMgLS4xOChyZyktMi41IEcodW1lbnRzKS4xOCBFKFRoZSBlKQorMTgwIDY5OC40IFEoeHByZXNzaW9uIGlzIGYpLS4xNSBFKGFsc2UuKS0uMSBFKEdOVSBCYXNoLTQuMik3MiA3NjggUQorKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDY3KTE4NS45NTUgRSAwIENnIEVQCiAlJVBhZ2U6IDY4IDY4CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQotLS4zNSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRjxhZDY0PjE0NCA4NCBRIEYwCi0oVGhlIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MnKTI0Ljc0IEUgMi41KHNkKS0uNTUgRyhhdGEgc2UpLTIuNSBFCi0oZ21lbnQpLS4xNSBFIEYxPGFkNjU+MTQ0IDk2IFEgRjAKLShUaGUgbWF4aW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IFwoIm5pY2UiXCkpMjUuODYgRSBGMTxhZDY2PjE0NCAxMDggUSBGMAotKFRoZSBtYXhpbXVtIHNpemUgb2YgXDIxNGxlcyB3cml0dGVuIGJ5IHRoZSBzaGVsbCBhbmQgaXRzIGNoaWxkcmVuKTI2Ljk3Ci1FIEYxPGFkNjk+MTQ0IDEyMCBRIEYwKFRoZSBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMpMjcuNTIgRSBGMQotPGFkNmM+MTQ0IDEzMiBRIEYwKFRoZSBtYXhpbXVtIHNpemUgdGhhdCBtYXkgYmUgbG9jaykyNy41MiBFCi0oZWQgaW50byBtZW1vcnkpLS4xIEUgRjE8YWQ2ZD4xNDQgMTQ0IFEgRjAKLShUaGUgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZSBcKG1hbikyMS45NyBFIDIuNSh5cyktLjE1IEcKLSh5c3RlbXMgZG8gbm90IGhvbm9yIHRoaXMgbGltaXRcKSktMi41IEUgRjE8YWQ2ZT4xNDQgMTU2IFEgRjAgLjc5MShUaGUgXAotbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBcMjE0bGUgZGVzY3JpcHRvcnMgXChtb3N0IHN5c3RlbXMgZG8gbm90IGFsbG8pCi0yNC43NCBGIDMuMjkod3QpLS4yNSBHIC43OShoaXMgdiktMy4yOSBGIC43OShhbHVlIHRvKS0uMjUgRihiZSBzZXRcKSkxODAKLTE2OCBRIEYxPGFkNzA+MTQ0IDE4MCBRIEYwCi0oVGhlIHBpcGUgc2l6ZSBpbiA1MTItYnl0ZSBibG9ja3MgXCh0aGlzIG1heSBub3QgYmUgc2V0XCkpMjQuNzQgRSBGMQotPGFkNzE+MTQ0IDE5MiBRIEYwKFRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlcykKLTI0Ljc0IEUgRjE8YWQ3Mj4xNDQgMjA0IFEgRjAoVGhlIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHkpCi0yNS44NiBFIEYxPGFkNzM+MTQ0IDIxNiBRIEYwKFRoZSBtYXhpbXVtIHN0YWNrIHNpemUpMjYuNDEgRSBGMTxhZDc0PjE0NAotMjI4IFEgRjAoVGhlIG1heGltdW0gYW1vdW50IG9mIGNwdSB0aW1lIGluIHNlY29uZHMpMjYuOTcgRSBGMTxhZDc1PjE0NAotMjQwIFEgRjAoVGhlIG1heGltdW0gbnVtYmVyIG9mIHByb2Nlc3NlcyBhKTI0Ljc0IEUgLS4yNSh2YSktLjIgRwotKGlsYWJsZSB0byBhIHNpbmdsZSB1c2VyKS4yNSBFIEYxPGFkNzY+MTQ0IDI1MiBRIEYwCi0oVGhlIG1heGltdW0gYW1vdW50IG9mIHZpcnR1YWwgbWVtb3J5IGEpMjUuMyBFIC0uMjUodmEpLS4yIEcKLShpbGFibGUgdG8gdGhlIHNoZWxsKS4yNSBFIEYxPGFkNzg+MTQ0IDI2NCBRIEYwCi0oVGhlIG1heGltdW0gbnVtYmVyIG9mIFwyMTRsZSBsb2NrcykyNS4zIEUgRjE8YWQ1ND4xNDQgMjc2IFEgRjAKLShUaGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcykyMy42MyBFKElmKTE0NCAyOTIuOCBRL0YyIDEwCi0vVGltZXMtSXRhbGljQDAgU0YobGltaXQpMi45MzMgRSBGMCAuMzQzKGlzIGdpKTMuNTIzIEYgLS4xNSh2ZSktLjI1IEcKLS4zNDMobiwgaXQgaXMgdGhlIG5lKS4xNSBGIDIuODQzKHd2KS0uMjUgRyAuMzQzCi0oYWx1ZSBvZiB0aGUgc3BlY2lcMjE0ZWQgcmVzb3VyY2UgXCh0aGUpLTMuMDkzIEYgRjE8YWQ2MT4yLjg0MyBFIEYwIC4zNDMKLShvcHRpb24gaXMgZGlzcGxheSBvbmx5XCkuKTIuODQzIEYgLjM0MyhJZiBubyk1LjM0MyBGIC4xNzYob3B0aW9uIGlzIGdpKQotMTQ0IDMwNC44IFIgLS4xNSh2ZSktLjI1IEcgLjE3NihuLCB0aGVuKS4xNSBGIEYxPGFkNjY+Mi42NzYgRSBGMCAuMTc1Ci0oaXMgYXNzdW1lZC4pMi42NzYgRiAtMS4xMShWYSk1LjE3NSBHIC4xNzUKLShsdWVzIGFyZSBpbiAxMDI0LWJ5dGUgaW5jcmVtZW50cywgZSkxLjExIEYgLjE3NSh4Y2VwdCBmb3IpLS4xNSBGIEYxCi08YWQ3ND4yLjY3NSBFIEYwIDIuNjc1KCx3KUMgLjE3NShoaWNoIGlzIGluKS0yLjY3NSBGKHNlY29uZHMsKTE0NCAzMTYuOAotUSBGMTxhZDcwPjIuNTE1IEUgRjAgMi41MTUoLHcpQyAuMDE1Ci0oaGljaCBpcyBpbiB1bml0cyBvZiA1MTItYnl0ZSBibG9ja3MsIGFuZCktMi41MTUgRiBGMTxhZDU0PjIuNTE2IEUgRjAoLCkKLUEgRjE8YWQ2Mj4yLjUxNiBFIEYwKCwpQSBGMTxhZDZlPjIuNTE2IEUgRjAgMi41MTYoLGEpQyhuZCktMi41MTYgRSBGMQotPGFkNzU+Mi41MTYgRSBGMCAyLjUxNigsdylDIC4wMTYoaGljaCBhcmUgdW5zY2FsZWQgdiktMi41MTYgRihhbC0pLS4yNSBFCi0zLjc4OCh1ZXMuIFRoZSkxNDQgMzI4LjggUiAxLjI4NyhyZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGluKTMuNzg3IEYKLS0uMjUodmEpLS40IEcgMS4yODcobGlkIG9wdGlvbiBvciBhcikuMjUgRiAxLjI4NwotKGd1bWVudCBpcyBzdXBwbGllZCwgb3IgYW4gZXJyb3Igb2NjdXJzKS0uMTggRih3aGlsZSBzZXR0aW5nIGEgbmUpMTQ0Ci0zNDAuOCBRIDIuNSh3bCktLjI1IEcoaW1pdC4pLTIuNSBFIEYxKHVtYXNrKTEwOCAzNTcuNiBRIEYwKFspMi41IEUgRjEKLTxhZDcwPkEgRjAgMi41KF1bKUMgRjE8YWQ1Mz4tMi41IEUgRjAgMi41KF1bKUMgRjIobW9kZSktMi41IEUgRjAoXSlBIC4yCi0oVGhlIHVzZXIgXDIxNGxlLWNyZWF0aW9uIG1hc2sgaXMgc2V0IHRvKTE0NCAzNjkuNiBSIEYyKG1vZGUpMi43IEUgRjAKLTUuMiguSSkuMTggRyhmKS01LjIgRSBGMihtb2RlKTMuMDggRSBGMChiZSkyLjg4IEUgLjIKLShnaW5zIHdpdGggYSBkaWdpdCwgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gb2N0YWwpLS4xNSBGIC4wNjYobnVtYmVyOyBvXAotdGhlcndpc2UgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBzeW1ib2xpYyBtb2RlIG1hc2sgc2ltaWxhciB0byB0aGF0IGFjY2VcCi1wdGVkIGJ5KTE0NCAzODEuNiBSIEYyIC0uMTUoY2gpMi41NjYgRyhtb2QpLjE1IEUgRjAoXCgxXCkuKS43NyBFKElmKTE0NAotMzkzLjYgUSBGMihtb2RlKTMuMjYyIEUgRjAgLjM4MihpcyBvbWl0dGVkLCB0aGUgY3VycmVudCB2KTMuMDYyIEYgLjM4MgotKGFsdWUgb2YgdGhlIG1hc2sgaXMgcHJpbnRlZC4pLS4yNSBGKFRoZSk1LjM4MiBFIEYxPGFkNTM+Mi44ODIgRSBGMCAuMzgyCi0ob3B0aW9uIGNhdXNlcyB0aGUgbWFzayB0byBiZSkyLjg4MiBGIC41NDcKLShwcmludGVkIGluIHN5bWJvbGljIGZvcm07IHRoZSBkZWYpMTQ0IDQwNS42IFIgLjU0NwotKGF1bHQgb3V0cHV0IGlzIGFuIG9jdGFsIG51bWJlciktLjEgRiA1LjU0NyguSSktLjU1IEcgMy4wNDcoZnQpLTUuNTQ3IEcKLShoZSktMy4wNDcgRSBGMTxhZDcwPjMuMDQ3IEUgRjAgLjU0NyhvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCkzLjA0NyBGIEYyCi0obW9kZSkxNDQuMzggNDE3LjYgUSBGMCAuNTUxCi0oaXMgb21pdHRlZCwgdGhlIG91dHB1dCBpcyBpbiBhIGZvcm0gdGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LikzLjIzMQotRiAuNTUyKFRoZSByZXR1cm4gc3RhdHVzIGlzIDAgaWYgdGhlKTUuNTUyIEYobW9kZSB3KTE0NCA0MjkuNiBRCi0oYXMgc3VjY2Vzc2Z1bGx5IGNoYW5nZWQgb3IgaWYgbm8pLS4xIEUgRjIobW9kZSkyLjUgRSBGMChhcikyLjUgRQotKGd1bWVudCB3KS0uMTggRShhcyBzdXBwbGllZCwgYW5kIGYpLS4xIEUoYWxzZSBvdGhlcndpc2UuKS0uMSBFIEYxCi0odW5hbGlhcykxMDggNDQ2LjQgUSBGMDw1YmFkPjIuNSBFIEYxKGEpQSBGMCAyLjUoXVspQyBGMihuYW1lKS0yLjUgRSBGMAotKC4uLl0pMi41IEUoUmVtbykxNDQgNDU4LjQgUSAxLjk1NSAtLjE1KHZlIGUpLS4xNSBIKGFjaCkuMTUgRSBGMihuYW1lKQotNC4xNTUgRSBGMCAxLjY1NShmcm9tIHRoZSBsaXN0IG9mIGRlXDIxNG5lZCBhbGlhc2VzLik0LjE1NSBGKElmKTYuNjU1IEUKLUYxPGFkNjE+NC4xNTUgRSBGMCAxLjY1NShpcyBzdXBwbGllZCwgYWxsIGFsaWFzIGRlXDIxNG5pdGlvbnMgYXJlKTQuMTU1Ci1GKHJlbW8pMTQ0IDQ3MC40IFEgLS4xNSh2ZSktLjE1IEcgMi41KGQuIFRoZSkuMTUgRihyZXR1cm4gdikyLjUgRQotKGFsdWUgaXMgdHJ1ZSB1bmxlc3MgYSBzdXBwbGllZCktLjI1IEUgRjIobmFtZSkyLjg2IEUgRjAKLShpcyBub3QgYSBkZVwyMTRuZWQgYWxpYXMuKTIuNjggRSBGMSh1bnNldCkxMDggNDg3LjIgUSBGMDw1YmFkPjIuNSBFIEYxCi0oZnYpQSBGMCAyLjUoXVspQyBGMihuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFIC0uMTUoRm8pMTQ0IDQ5OS4yIFMgMy4xMDYKLShyZSkuMTUgRyhhY2gpLTMuMTA2IEUgRjIobmFtZSkzLjEwNiBFIEYwIDMuMTA2KCxyKS4xOCBHKGVtbyktMy4xMDYgRQotLjkwNiAtLjE1KHZlIHQpLS4xNSBIIC42MDYoaGUgY29ycmVzcG9uZGluZyB2KS4xNSBGIC42MDcKLShhcmlhYmxlIG9yIGZ1bmN0aW9uLiktLjI1IEYgLjYwNyhJZiBubyBvcHRpb25zIGFyZSBzdXBwbGllZCwgb3IgdGhlKQotNS42MDcgRiBGMTxhZDc2PjE0NCA1MTEuMiBRIEYwIC4zMDUob3B0aW9uIGlzIGdpKTIuODA1IEYgLS4xNSh2ZSktLjI1IEcKLS4zMDUobiwgZWFjaCkuMTUgRiBGMihuYW1lKTMuMTY1IEUgRjAgLjMwNShyZWZlcnMgdG8gYSBzaGVsbCB2KTIuOTg1IEYKLTIuODA1KGFyaWFibGUuIFJlYWQtb25seSktLjI1IEYgLS4yNSh2YSkyLjgwNSBHIC4zMDQKLShyaWFibGVzIG1heSBub3QgYmUgdW5zZXQuKS4yNSBGKElmKTUuMzA0IEUgRjE8YWQ2Nj4xNDQgNTIzLjIgUSBGMCAuNDU5Ci0oaXMgc3BlY2lcMjE0ZWQsIGVhY2gpMi45NTkgRiBGMihuYW1lKTMuMzE5IEUgRjAgLjQ1OQotKHJlZmVycyB0byBhIHNoZWxsIGZ1bmN0aW9uLCBhbmQgdGhlIGZ1bmN0aW9uIGRlXDIxNG5pdGlvbiBpcyByZW1vKTMuMTM5Ci1GIC0uMTUodmUpLS4xNSBHIDIuOTYoZC4gRWFjaCkuMTUgRiAuOTAzKHVuc2V0IHYpMTQ0IDUzNS4yIFIgLjkwMwotKGFyaWFibGUgb3IgZnVuY3Rpb24gaXMgcmVtbyktLjI1IEYgLS4xNSh2ZSktLjE1IEcgMy40MDIoZGYpLjE1IEcgLjkwMgotKHJvbSB0aGUgZW4pLTMuNDAyIEYgLjkwMih2aXJvbm1lbnQgcGFzc2VkIHRvIHN1YnNlcXVlbnQgY29tbWFuZHMuKS0uNCBGCi0oSWYpNS45MDIgRShhbikxNDQgNTQ3LjIgUSA2LjkxNSh5byktLjE1IEcoZiktNi45MTUgRS9GMyA5L1RpbWVzLUJvbGRAMAotU0YoQ09NUF9XKTYuOTE1IEUoT1JEQlJFQUtTKS0uMDkgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLClBIEYzKFJBTkRPTSkKLTYuNjY1IEUgRjQoLClBIEYzKFNFQ09ORFMpNi42NjUgRSBGNCgsKUEgRjMoTElORU5PKTYuNjY1IEUgRjQoLClBIEYzCi0oSElTVENNRCk2LjY2NiBFIEY0KCwpQSBGMyhGVU5DTik2LjY2NiBFKEFNRSktLjE4IEUgRjQoLClBIEYzKEdSKTE0NAotNTU5LjIgUShPVVBTKS0uMjcgRSBGNCgsKUEgRjAob3IpMi41MjMgRSBGMyhESVJTVCkyLjc3MyBFIC0uNDk1KEFDKS0uODEKLUcoSykuNDk1IEUgRjAgLjI3MihhcmUgdW5zZXQsIHRoZSkyLjUyMiBGIDIuNzcyKHlsKS0uMTUgRyAuMjcyCi0ob3NlIHRoZWlyIHNwZWNpYWwgcHJvcGVydGllcywgZSktMi43NzIgRiAtLjE1KHZlKS0uMjUgRyAyLjc3MihuaSkuMTUgRwotMi43NzIoZnQpLTIuNzcyIEcoaGUpLTIuNzcyIEUgMi43NzIoeWEpLS4xNSBHIC4yNzIocmUgc3Vic2VxdWVudGx5KQotLTIuNzcyIEYgMi41KHJlc2V0LiBUaGUpMTQ0IDU3MS4yIFIgLS4xNShleCkyLjUgRwotKGl0IHN0YXR1cyBpcyB0cnVlIHVubGVzcyBhKS4xNSBFIEYyKG5hbWUpMi44NiBFIEYwKGlzIHJlYWRvbmx5KTIuNjggRQotKC4pLS42NSBFIEYxKHdhaXQpMTA4IDU4OCBRIEYwKFspMi41IEUgRjIgMi41KG4uKUMoLi4pLTIuNSBFIEYwKF0pQSAtLjgKLShXYSkxNDQgNjAwIFMgLjI4OAotKGl0IGZvciBlYWNoIHNwZWNpXDIxNGVkIHByb2Nlc3MgYW5kIHJldHVybiBpdHMgdGVybWluYXRpb24gc3RhdHVzLikuOCBGCi0oRWFjaCk1LjI4OCBFIEYyKG4pMy4xNDggRSBGMCAuMjg4KG1heSBiZSBhIHByb2Nlc3MgSUQgb3IgYSkzLjAyOCBGIC43MjIKLShqb2Igc3BlY2lcMjE0Y2F0aW9uOyBpZiBhIGpvYiBzcGVjIGlzIGdpKTE0NCA2MTIgUiAtLjE1KHZlKS0uMjUgRyAuNzIyCi0obiwgYWxsIHByb2Nlc3NlcyBpbiB0aGF0IGpvYicpLjE1IEYgMy4yMjIoc3ApLS41NSBHIC43MjIoaXBlbGluZSBhcmUgdykKLS0zLjIyMiBGIC43MjIoYWl0ZWQgZm9yKS0uMSBGIDUuNzIyKC5JKS0uNTUgRyhmKS01LjcyMiBFIEYyKG4pMy41ODIgRSBGMAotKGlzKTMuNDYyIEUgMS4yNjUobm90IGdpKTE0NCA2MjQgUiAtLjE1KHZlKS0uMjUgRyAxLjI2NQotKG4sIGFsbCBjdXJyZW50bHkgYWN0aSkuMTUgRiAxLjU2NSAtLjE1KHZlIGMpLS4yNSBIIDEuMjY1Ci0oaGlsZCBwcm9jZXNzZXMgYXJlIHcpLjE1IEYgMS4yNjUoYWl0ZWQgZm9yKS0uMSBGIDMuNzY1KCxhKS0uNCBHIDEuMjY2Ci0obmQgdGhlIHJldHVybiBzdGF0dXMgaXMgemVyby4pLTMuNzY1IEYoSWYpNi4yNjYgRSBGMihuKTQuMTI2IEUgRjAgLjQ1NwotKHNwZWNpXDIxNGVzIGEgbm9uLWUpMTQ0IDYzNiBSIC40NTcKLSh4aXN0ZW50IHByb2Nlc3Mgb3Igam9iLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAxMjcuKS0uMTUgRiAuNDU3Ci0oT3RoZXJ3aXNlLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUpNS40NTcgRiAtLjE1KGV4KTE0NCA2NDggUwotKGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBwcm9jZXNzIG9yIGpvYiB3KS4xNSBFKGFpdGVkIGZvciktLjEgRSguKS0uNTUgRQotL0Y1IDEwLjk1L1RpbWVzLUJvbGRAMCBTRihSRVNUUklDVEVEIFNIRUxMKTcyIDY2NC44IFEgRjAoSWYpMTA4IDY3Ni44IFEKLUYxKGJhc2gpNC4zOTYgRSBGMCAxLjg5NihpcyBzdGFydGVkIHdpdGggdGhlIG5hbWUpNC4zOTYgRiBGMShyYmFzaCk0LjM5NwotRSBGMCA0LjM5NygsbylDIDQuMzk3KHJ0KS00LjM5NyBHKGhlKS00LjM5NyBFIEYxPGFkNzI+NC4zOTcgRSBGMCAxLjg5NwotKG9wdGlvbiBpcyBzdXBwbGllZCBhdCBpbik0LjM5NyBGIC0uMih2byktLjQgRyAxLjg5NwotKGNhdGlvbiwgdGhlIHNoZWxsIGJlY29tZXMpLjIgRiAzLjQ0NihyZXN0cmljdGVkLiBBKTEwOCA2ODguOCBSIC45NDUKLShyZXN0cmljdGVkIHNoZWxsIGlzIHVzZWQgdG8gc2V0IHVwIGFuIGVuKTMuNDQ2IEYgLjk0NQotKHZpcm9ubWVudCBtb3JlIGNvbnRyb2xsZWQgdGhhbiB0aGUgc3RhbmRhcmQgc2hlbGwuKS0uNCBGKEl0KTUuOTQ1IEUKLShiZWhhKTEwOCA3MDAuOCBRIC0uMTUodmUpLS4yIEcgMi41KHNpKS4xNSBHKGRlbnRpY2FsbHkgdG8pLTIuNSBFIEYxCi0oYmFzaCkyLjUgRSBGMCh3aXRoIHRoZSBlKTIuNSBFKHhjZXB0aW9uIHRoYXQgdGhlIGZvbGxvKS0uMTUgRQotKHdpbmcgYXJlIGRpc2FsbG8pLS4yNSBFKHdlZCBvciBub3QgcGVyZm9ybWVkOiktLjI1IEUgMzIuNTw4MzYzPjEwOAotNzE3LjYgUyhoYW5naW5nIGRpcmVjdG9yaWVzIHdpdGgpLTMyLjUgRSBGMShjZCkyLjUgRSBGMChHTlUgQmFzaC00LjEpNzIKLTc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpMTM1Ljk2NSBFKDY4KTE4NS45NTUgRSAwIENnIEVQCistLjM1IEUgMi41KDFhKTE0NCA4NCBTIC0uMTgocmcpLTIuNSBHKHVtZW50KS4xOCBFKFRoZSBlKTE4MCA5NiBRCisoeHByZXNzaW9uIGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIGFyKS0uMTUgRShndW1lbnQgaXMgbm90IG51bGwuKS0uMTgKK0UgMi41KDJhKTE0NCAxMDggUyAtLjE4KHJnKS0yLjUgRyh1bWVudHMpLjE4IEUgLjM3KElmIHRoZSBcMjE0cnN0IGFyKTE4MAorMTIwIFIgLjM3KGd1bWVudCBpcyktLjE4IEYvRjEgMTAvVGltZXMtQm9sZEAwIFNGKCEpMi44NyBFIEYwIDIuODcoLHQpQworLjM3KGhlIGUpLTIuODcgRiAuMzcoeHByZXNzaW9uIGlzIHRydWUgaWYgYW5kIG9ubHkgaWYgdGhlIHNlY29uZCBhciktLjE1CitGIC4zNyhndW1lbnQgaXMgbnVsbC4pLS4xOCBGIC4zOChJZiB0aGUgXDIxNHJzdCBhcikxODAgMTMyIFIgLjM4CisoZ3VtZW50IGlzIG9uZSBvZiB0aGUgdW5hcnkgY29uZGl0aW9uYWwgb3BlcmF0b3JzIGxpc3RlZCBhYm8pLS4xOCBGIC42NzkKKy0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRS9GMiA5L1RpbWVzLUJvbGRAMCBTRihDT05ESS0pMi44NzkgRShUSU9OKTE4MAorMTQ0IFEgLjU1MihBTCBFWFBSRVNTSU9OUyktLjE4IEYvRjMgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMCAuNTUyCisodGhlIGUpMi44MDIgRiAuNTUyKHhwcmVzc2lvbiBpcyB0cnVlIGlmIHRoZSB1bmFyeSB0ZXN0IGlzIHRydWUuKS0uMTUgRgorLjU1MihJZiB0aGUgXDIxNHJzdCBhcik1LjU1MiBGKGd1LSktLjE4IEUobWVudCBpcyBub3QgYSB2KTE4MCAxNTYgUQorKGFsaWQgdW5hcnkgY29uZGl0aW9uYWwgb3BlcmF0b3IpLS4yNSBFIDIuNSgsdCktLjQgRyhoZSBlKS0yLjUgRQorKHhwcmVzc2lvbiBpcyBmKS0uMTUgRShhbHNlLiktLjEgRSAyLjUoM2EpMTQ0IDE2OCBTIC0uMTgocmcpLTIuNSBHCisodW1lbnRzKS4xOCBFIC4yMzYoVGhlIGZvbGxvKTE4MCAxODAgUiAuMjM2Cisod2luZyBjb25kaXRpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciBsaXN0ZWQuKS0uMjUgRiAuMjM2CisoSWYgdGhlIHNlY29uZCBhcik1LjIzNiBGIC4yMzYoZ3VtZW50IGlzIG9uZSBvZiktLjE4IEYgLjg1NQorKHRoZSBiaW5hcnkgY29uZGl0aW9uYWwgb3BlcmF0b3JzIGxpc3RlZCBhYm8pMTgwIDE5MiBSIDEuMTU1IC0uMTUodmUgdSkKKy0uMTUgSChuZGVyKS4xNSBFIEYyKENPTkRJVElPTikzLjM1NSBFIC44NTUoQUwgRVhQUkVTU0lPTlMpLS4xOCBGIEYzKCwpQQorRjAodGhlKTMuMTA1IEUgLjU3OShyZXN1bHQgb2YgdGhlIGUpMTgwIDIwNCBSIC41NzgoeHByZXNzaW9uIGlzIHRoZSByZXNcCit1bHQgb2YgdGhlIGJpbmFyeSB0ZXN0IHVzaW5nIHRoZSBcMjE0cnN0IGFuZCB0aGlyZCBhciktLjE1IEYoZ3VtZW50cykKKy0uMTggRSAxLjMzMihhcyBvcGVyYW5kcy4pMTgwIDIxNiBSKFRoZSk2LjMzMiBFIEYxPGFkNjE+My44MzIgRSBGMChhbmQpCiszLjgzMiBFIEYxPGFkNmY+My44MzIgRSBGMCAxLjMzMworKG9wZXJhdG9ycyBhcmUgY29uc2lkZXJlZCBiaW5hcnkgb3BlcmF0b3JzIHdoZW4gdGhlcmUgYXJlKTMuODMyIEYgLjU1OAorKHRocmVlIGFyKTE4MCAyMjggUiAzLjA1OChndW1lbnRzLiBJZiktLjE4IEYgLjU1OCh0aGUgXDIxNHJzdCBhcikzLjA1OCBGCisuNTU4KGd1bWVudCBpcyktLjE4IEYgRjEoISkzLjA1OCBFIEYwIDMuMDU4KCx0KUMgLjU1OChoZSB2KS0zLjA1OCBGIC41NTgKKyhhbHVlIGlzIHRoZSBuZSktLjI1IEYgLS4wNShnYSktLjE1IEcgLjU1OCh0aW9uIG9mIHRoZSB0dykuMDUgRihvLWFyKS0uMQorRShndW1lbnQpLS4xOCBFIC41Mih0ZXN0IHVzaW5nIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGFyKTE4MCAyNDAgUiAzLjAyMQorKGd1bWVudHMuIElmKS0uMTggRiAuNTIxKHRoZSBcMjE0cnN0IGFyKTMuMDIxIEYgLjUyMShndW1lbnQgaXMgZSktLjE4IEYKKyh4YWN0bHkpLS4xNSBFIEYxKFwoKTMuMDIxIEUgRjAgLjUyMShhbmQgdGhlIHRoaXJkKTMuMDIxIEYoYXIpMTgwIDI1MiBRCisuNDg1KGd1bWVudCBpcyBlKS0uMTggRih4YWN0bHkpLS4xNSBFIEYxKFwpKTIuOTg1IEUgRjAgMi45ODUoLHQpQyAuNDg1CisoaGUgcmVzdWx0IGlzIHRoZSBvbmUtYXIpLTIuOTg1IEYgLjQ4NShndW1lbnQgdGVzdCBvZiB0aGUgc2Vjb25kIGFyKS0uMTgKK0YgMi45ODUoZ3VtZW50LiBPdGhlciktLjE4IEYoLSktLjIgRSh3aXNlLCB0aGUgZSkxODAgMjY0IFEKKyh4cHJlc3Npb24gaXMgZiktLjE1IEUoYWxzZS4pLS4xIEUgMi41KDRhKTE0NCAyNzYgUyAtLjE4KHJnKS0yLjUgRworKHVtZW50cykuMTggRSAuMzg0KElmIHRoZSBcMjE0cnN0IGFyKTE4MCAyODggUiAuMzg0KGd1bWVudCBpcyktLjE4IEYgRjEKKyghKTIuODg0IEUgRjAgMi44ODUoLHQpQyAuMzg1KGhlIHJlc3VsdCBpcyB0aGUgbmUpLTIuODg1IEYgLS4wNShnYSktLjE1CitHIC4zODUodGlvbiBvZiB0aGUgdGhyZWUtYXIpLjA1IEYgLjM4NShndW1lbnQgZSktLjE4IEYgLjM4NQorKHhwcmVzc2lvbiBjb20tKS0uMTUgRiAxLjY0OChwb3NlZCBvZiB0aGUgcmVtYWluaW5nIGFyKTE4MCAzMDAgUiA0LjE0NworKGd1bWVudHMuIE90aGVyd2lzZSwpLS4xOCBGIDEuNjQ3KHRoZSBlKTQuMTQ3IEYgMS42NDcKKyh4cHJlc3Npb24gaXMgcGFyc2VkIGFuZCBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRyhsdWF0ZWQpLjI1IEUKKyhhY2NvcmRpbmcgdG8gcHJlY2VkZW5jZSB1c2luZyB0aGUgcnVsZXMgbGlzdGVkIGFibykxODAgMzEyIFEgLS4xNSh2ZSkKKy0uMTUgRyguKS4xNSBFIDIuNSg1bykxNDQgMzI0IFMgMi41KHJtKS0yLjUgRyhvcmUgYXIpLTIuNSBFKGd1bWVudHMpLS4xOAorRSAxLjYzNShUaGUgZSkxODAgMzM2IFIgMS42MzUoeHByZXNzaW9uIGlzIHBhcnNlZCBhbmQgZSktLjE1IEYgLS4yNSh2YSkKKy0uMjUgRyAxLjYzNShsdWF0ZWQgYWNjb3JkaW5nIHRvIHByZWNlZGVuY2UgdXNpbmcgdGhlIHJ1bGVzIGxpc3RlZCkuMjUgRgorKGFibykxODAgMzQ4IFEgLS4xNSh2ZSktLjE1IEcoLikuMTUgRShXaGVuIHVzZWQgd2l0aCkxNDQgMzY2IFEgRjEodGVzdCkKKzIuNSBFIEYwKG9yKTIuNSBFIEYxKFspMi41IEUgRjAgMi41KCx0KUMoaGUpLTIuNSBFIEYxKDwpMi41IEUgRjAoYW5kKTIuNQorRSBGMSg+KTIuNSBFIEYwKG9wZXJhdG9ycyBzb3J0IGxlKTIuNSBFCisoeGljb2dyYXBoaWNhbGx5IHVzaW5nIEFTQ0lJIG9yZGVyaW5nLiktLjE1IEUgRjEodGltZXMpMTA4IDM4Mi44IFEgRjAKKzEuMjI5KFByaW50IHRoZSBhY2N1bXVsYXRlZCB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yIHRoZSBzaGVsbCBhbmQgZm9yXAorIHByb2Nlc3NlcyBydW4gZnJvbSB0aGUgc2hlbGwuKTEzLjIzIEYoVGhlIHJldHVybiBzdGF0dXMgaXMgMC4pMTQ0IDM5NC44CitRIEYxKHRyYXApMTA4IDQxMS42IFEgRjAoWykyLjUgRSBGMShcMjU1bHApQSBGMCAyLjUoXVspQyhbKS0yLjUgRS9GNCAxMAorL1RpbWVzLUl0YWxpY0AwIFNGKGFyKUEoZyktLjM3IEUgRjAoXSlBIEY0KHNpZ3NwZWMpMi41IEUgRjAoLi4uXSkyLjUgRQorLjcwMihUaGUgY29tbWFuZCkxNDQgNDIzLjYgUiBGNChhcikzLjUzMiBFKGcpLS4zNyBFIEYwIC43MDIKKyhpcyB0byBiZSByZWFkIGFuZCBlKTMuNDIyIEYgLS4xNSh4ZSktLjE1IEcgLjcwMgorKGN1dGVkIHdoZW4gdGhlIHNoZWxsIHJlY2VpKS4xNSBGIC0uMTUodmUpLS4yNSBHIDMuMjAzKHNzKS4xNSBHCisoaWduYWxcKHNcKSktMy4yMDMgRSBGNChzaWdzcGVjKTMuMjAzIEUgRjAgNS43MDMoLkkpLjMxIEcoZiktNS43MDMgRSBGNAorKGFyKTMuNTMzIEUoZyktLjM3IEUgRjAoaXMpMy40MjMgRSAuNjA5KGFic2VudCBcKGFuZCB0aGVyZSBpcyBhIHNpbmdsZSkKKzE0NCA0MzUuNiBSIEY0KHNpZ3NwZWMpMy4xMDggRSBGMCAzLjEwOChcKW8pQyhyKS0zLjEwOCBFIEYxPGFkPjMuMTA4IEUKK0YwIDMuMTA4KCxlKUMgLjYwOAorKGFjaCBzcGVjaVwyMTRlZCBzaWduYWwgaXMgcmVzZXQgdG8gaXRzIG9yaWdpbmFsIGRpc3Bvc2l0aW9uKS0zLjEwOCBGCisuNjU4KFwodGhlIHYpMTQ0IDQ0Ny42IFIgLjY1OChhbHVlIGl0IGhhZCB1cG9uIGVudHJhbmNlIHRvIHRoZSBzaGVsbFwpLikKKy0uMjUgRihJZik1LjY1OCBFIEY0KGFyKTMuNDg4IEUoZyktLjM3IEUgRjAgLjY1OQorKGlzIHRoZSBudWxsIHN0cmluZyB0aGUgc2lnbmFsIHNwZWNpXDIxNGVkIGJ5IGVhY2gpMy4zNzggRiBGNChzaWdzcGVjKQorMTQ0LjM0IDQ1OS42IFEgRjAgLjU4MQorKGlzIGlnbm9yZWQgYnkgdGhlIHNoZWxsIGFuZCBieSB0aGUgY29tbWFuZHMgaXQgaW4pMy4zOTEgRiAtLjIodm8pLS40IEcKKy0uMShrZSkuMiBHIDMuMDgocy4gSWYpLjEgRiBGNChhcikzLjQxIEUoZyktLjM3IEUgRjAgLjU4CisoaXMgbm90IHByZXNlbnQgYW5kKTMuMyBGIEYxPGFkNzA+My4wOCBFIEYwKGhhcykzLjA4IEUgMS4yMTQKKyhiZWVuIHN1cHBsaWVkLCB0aGVuIHRoZSB0cmFwIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCBlYWNoKTE0NCA0NzEuNiBSCitGNChzaWdzcGVjKTQuMDU0IEUgRjAgMS4yMTUoYXJlIGRpc3BsYXllZC4pNC4wMjQgRiAxLjIxNShJZiBubyBhcik2LjIxNQorRihndS0pLS4xOCBFIC44NihtZW50cyBhcmUgc3VwcGxpZWQgb3IgaWYgb25seSkxNDQgNDgzLjYgUiBGMTxhZDcwPjMuMzYKK0UgRjAgLjg2KGlzIGdpKTMuMzYgRiAtLjE1KHZlKS0uMjUgRyhuLCkuMTUgRSBGMSh0cmFwKTMuMzYgRSBGMCAuODYKKyhwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2gpMy4zNiBGIDIuODMKKyhzaWduYWwuIFRoZSkxNDQgNDk1LjYgUiBGMTxhZDZjPjIuODMgRSBGMCAuMzMob3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgXAordG8gcHJpbnQgYSBsaXN0IG9mIHNpZ25hbCBuYW1lcyBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBudW0tKTIuODMgRgorNC4zMTEoYmVycy4gRWFjaCkxNDQgNTA3LjYgUiBGNChzaWdzcGVjKTQuNjUxIEUgRjAgMS44MTEKKyhpcyBlaXRoZXIgYSBzaWduYWwgbmFtZSBkZVwyMTRuZWQgaW4gPCk0LjYyMSBGIEY0KHNpZ25hbC5oKUEgRjAgMS44MQorKD4sIG9yIGEgc2lnbmFsIG51bWJlcilCIDYuODEoLlMpLS41NSBHKGlnbmFsKS02LjgxIEUKKyhuYW1lcyBhcmUgY2FzZSBpbnNlbnNpdGkpMTQ0IDUxOS42IFEgLjMgLS4xNSh2ZSBhKS0uMjUgSChuZCB0aGUpLjE1IEUKK0YyKFNJRykyLjUgRSBGMChwcmVcMjE0eCBpcyBvcHRpb25hbC4pMi4yNSBFIDEuNjQ4KElmIGEpMTQ0IDUzNy42IFIgRjQKKyhzaWdzcGVjKTQuNDg4IEUgRjAoaXMpNC40NTggRSBGMihFWElUKTQuMTQ4IEUgRjAgMS42NDgKKyhcKDBcKSB0aGUgY29tbWFuZCkzLjg5OCBGIEY0KGFyKTQuNDc5IEUoZyktLjM3IEUgRjAgMS42NDkoaXMgZSk0LjM2OSBGCistLjE1KHhlKS0uMTUgRyAxLjY0OShjdXRlZCBvbiBlKS4xNSBGIDEuNjQ5KHhpdCBmcm9tIHRoZSBzaGVsbC4pLS4xNSBGCisxLjY0OShJZiBhKTYuNjQ5IEYgRjQoc2lnc3BlYyk0LjQ4OSBFIEYwKGlzKTQuNDU5IEUgRjIoREVCKTE0NCA1NDkuNiBRCisoVUcpLS4wOSBFIEYzKCwpQSBGMCAxLjE2OCh0aGUgY29tbWFuZCkzLjQxOCBGIEY0KGFyKTMuOTk4IEUoZyktLjM3IEUgRjAKKzEuMTY4KGlzIGUpMy44ODggRiAtLjE1KHhlKS0uMTUgRyAxLjE2NyhjdXRlZCBiZWZvcmUgZSkuMTUgRiAtLjE1KHZlKQorLS4yNSBHKHJ5KS4xNSBFIEY0IDEuMTY3KHNpbXBsZSBjb21tYW5kKTMuNjY3IEYgRjAoLClBIEY0KGZvcikzLjY2NyBFIEYwCisoY29tbWFuZCwpMy42NjcgRSBGNChjYXNlKTMuNjY3IEUgRjAoY29tLSkzLjY2NyBFKG1hbmQsKTE0NCA1NjEuNiBRIEY0Cisoc2VsZWN0KTIuNjQ2IEUgRjAgLjE0Nihjb21tYW5kLCBlKTIuNjQ2IEYgLS4xNSh2ZSktLjI1IEcgLjE0NgorKHJ5IGFyaXRobWV0aWMpLjE1IEYgRjQoZm9yKTIuNjQ2IEUgRjAgLjE0NworKGNvbW1hbmQsIGFuZCBiZWZvcmUgdGhlIFwyMTRyc3QgY29tbWFuZCBlKTIuNjQ2IEYgLS4xNSh4ZSktLjE1IEcgLjE0NworKGN1dGVzIGluIGEpLjE1IEYgLjE0NihzaGVsbCBmdW5jdGlvbiBcKHNlZSkxNDQgNTczLjYgUiBGMiAuMTQ2CisoU0hFTEwgR1JBTU1BUikyLjY0NiBGIEYwKGFibykyLjM5NiBFIC0uMTUodmUpLS4xNSBHIDIuNjQ2KFwpLiBSZWZlcikuMTUKK0YgLjE0Nih0byB0aGUgZGVzY3JpcHRpb24gb2YgdGhlKTIuNjQ2IEYgRjEoZXh0ZGViKTIuNjQ1IEUodWcpLS4yIEUgRjAKKy4xNDUob3B0aW9uIHRvKTIuNjQ1IEYodGhlKTE0NCA1ODUuNiBRIEYxKHNob3B0KTMuMiBFIEYwIC0uMihidSkzLjIgRyAuNworKGlsdGluIGZvciBkZXRhaWxzIG9mIGl0cyBlZikuMiBGIC43KGZlY3Qgb24gdGhlKS0uMjUgRiBGMShERUIpMy4yIEUoVUcpCistLjEgRSBGMCAzLjIodHJhcC4gSWYpMy4yIEYoYSkzLjIgRSBGNChzaWdzcGVjKTMuNTQgRSBGMChpcykzLjUxIEUgRjIKKyhSRVRVUk4pMy4yIEUgRjMoLClBIEYwIC43MDEodGhlIGNvbS0pMi45NTEgRihtYW5kKTE0NCA1OTcuNiBRIEY0KGFyKQorMy40NzQgRShnKS0uMzcgRSBGMCAuNjQ0KGlzIGUpMy4zNjQgRiAtLjE1KHhlKS0uMTUgRyAuNjQzCisoY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgYSBzY3JpcHQgZSkuMTUgRiAtLjE1KHhlKS0uMTUgRworLjY0MyhjdXRlZCB3aXRoIHRoZSkuMTUgRiBGMSguKTMuMTQzIEUgRjAob3IpMy4xNDMgRSBGMShzb3VyKTMuMTQzIEUoY2UpCistLjE4IEUgRjAgLS4yKGJ1KTMuMTQzIEcoaWx0aW5zKS4yIEUoXDIxNG5pc2hlcyBlKTE0NCA2MDkuNiBRIC0uMTUoeGUpCistLjE1IEcoY3V0aW5nLikuMTUgRSAuOTI4KElmIGEpMTQ0IDYyNy42IFIgRjQoc2lnc3BlYykzLjc2OCBFIEYwKGlzKQorMy43MzggRSBGMihFUlIpMy40MjkgRSBGMygsKUEgRjAgLjkyOSh0aGUgY29tbWFuZCkzLjE3OSBGIEY0KGFyKTMuNzU5IEUKKyhnKS0uMzcgRSBGMCAuOTI5KGlzIGUpMy42NDkgRiAtLjE1KHhlKS0uMTUgRyAuOTI5KGN1dGVkIHdoZW5lKS4xNSBGCistLjE1KHZlKS0uMjUgRyAzLjQyOShyYXMpLjE1IEcgLjkyOShpbXBsZSBjb21tYW5kIGhhcyBhIG5vblwyNTV6ZXJvKQorLTMuNDI5IEYgLS4xNShleCkxNDQgNjM5LjYgUyAxLjAwOShpdCBzdGF0dXMsIHN1YmplY3QgdG8gdGhlIGZvbGxvKS4xNSBGCisxLjAwOSh3aW5nIGNvbmRpdGlvbnMuKS0uMjUgRihUaGUpNi4wMDkgRSBGMihFUlIpMy41MDkgRSBGMCAxLjAwOQorKHRyYXAgaXMgbm90IGUpMy4yNTkgRiAtLjE1KHhlKS0uMTUgRyAxLjAwOChjdXRlZCBpZiB0aGUgZikuMTUgRiAxLjAwOAorKGFpbGVkIGNvbS0pLS4xIEYgLjMyNAorKG1hbmQgaXMgcGFydCBvZiB0aGUgY29tbWFuZCBsaXN0IGltbWVkaWF0ZWx5IGZvbGxvKTE0NCA2NTEuNiBSIC4zMjQKKyh3aW5nIGEpLS4yNSBGIEYxKHdoaWxlKTIuODI0IEUgRjAob3IpMi44MjQgRSBGMSh1bnRpbCkyLjgyNCBFIEYwIC0uMQorKGtlKTIuODI0IEcoeXcpLS4wNSBFIC4zMjQob3JkLCBwYXJ0IG9mIHRoZSB0ZXN0KS0uMSBGIC4xNTEoaW4gYW4pMTQ0Cis2NjMuNiBSIEY0KGlmKTIuNjYxIEUgRjAgLjE1MShzdGF0ZW1lbnQsIHBhcnQgb2YgYSBjb21tYW5kIGUpNC42MTEgRgorLS4xNSh4ZSktLjE1IEcgLjE1MShjdXRlZCBpbiBhKS4xNSBGIEYxKCYmKTIuNjUxIEUgRjAob3IpMi42NTEgRSBGMSh8fCkKKzIuNjUxIEUgRjAgLjE1MShsaXN0LCBvciBpZiB0aGUgY29tbWFuZCcpMi42NTEgRiAyLjY1MShzciktLjU1IEcgLjE1MQorKGV0dXJuIHYpLTIuNjUxIEYoYWx1ZSktLjI1IEUoaXMgYmVpbmcgaW4pMTQ0IDY3NS42IFEgLS4xNSh2ZSktLjQgRworKHJ0ZWQgdmlhKS4xNSBFIEYxKCEpMi41IEUgRjAgNSguVClDKGhlc2UgYXJlIHRoZSBzYW1lIGNvbmRpdGlvbnMgb2JlKS01CitFKHllZCBieSB0aGUpLS4xNSBFIEYxKGVycikyLjUgRShleGl0KS0uMTggRSBGMChvcHRpb24uKTIuNSBFIDEuMDk1CisoU2lnbmFscyBpZ25vcmVkIHVwb24gZW50cnkgdG8gdGhlIHNoZWxsIGNhbm5vdCBiZSB0cmFwcGVkIG9yIHJlc2V0LikxNDQKKzY5My42IFIgLS4zNShUcik2LjA5NSBHIDEuMDk1KGFwcGVkIHNpZ25hbHMgdGhhdCBhcmUgbm90KS4zNSBGIC42NjIKKyhiZWluZyBpZ25vcmVkIGFyZSByZXNldCB0byB0aGVpciBvcmlnaW5hbCB2KTE0NCA3MDUuNiBSIC42NjIKKyhhbHVlcyBpbiBhIHN1YnNoZWxsIG9yIHN1YnNoZWxsIGVuKS0uMjUgRiAuNjYxKHZpcm9ubWVudCB3aGVuIG9uZSBpcykKKy0uNCBGIDIuNShjcmVhdGVkLiBUaGUpMTQ0IDcxNy42IFIocmV0dXJuIHN0YXR1cyBpcyBmKTIuNSBFKGFsc2UgaWYgYW4pCistLjEgRSh5KS0uMTUgRSBGNChzaWdzcGVjKTIuODQgRSBGMChpcyBpbikyLjgxIEUgLS4yNSh2YSktLjQgRworKGxpZDsgb3RoZXJ3aXNlKS4yNSBFIEYxKHRyYXApMi41IEUgRjAocmV0dXJucyB0cnVlLikyLjUgRShHTlUgQmFzaC00LjIpCis3MiA3NjggUSgyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSg2OCkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA2OSA2OQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSAzMi41PDgzNzM+MTA4IDg0IFMoZXR0aW5nIG9yIHVuc2V0dGluZyB0aGUgdiktMzIuNSBFKGFsdWVzIG9mKQotLS4yNSBFL0YxIDkvVGltZXMtQm9sZEAwIFNGKFNIRUxMKTIuNSBFL0YyIDkvVGltZXMtUm9tYW5AMCBTRigsKUEgRjEKLS0uNjY2KFBBKTIuMjUgRyhUSCktLjE4OSBFIEYyKCwpQSBGMShFTlYpMi4yNSBFIEYyKCwpQSBGMChvcikyLjI1IEUgRjEKLS0uMjcoQkEpMi41IEcoU0hfRU5WKS4yNyBFIEYwIDMyLjU8ODM3Mz4xMDggMTAwLjggUwotKHBlY2lmeWluZyBjb21tYW5kIG5hbWVzIGNvbnRhaW5pbmcpLTMyLjUgRS9GMyAxMC9UaW1lcy1Cb2xkQDAgU0YoLykyLjUKLUUgRjAgMzIuNTw4MzczPjEwOCAxMTcuNiBTKHBlY2lmeWluZyBhIFwyMTRsZSBuYW1lIGNvbnRhaW5pbmcgYSktMzIuNSBFCi1GMygvKTIuNSBFIEYwKGFzIGFuIGFyKTIuNSBFKGd1bWVudCB0byB0aGUpLS4xOCBFIEYzKC4pMi41IEUgRjAgLS4yKGJ1KTUKLUcoaWx0aW4gY29tbWFuZCkuMiBFIDMyLjU8ODM1Mz4xMDggMTM0LjQgUyAuMzUxCi0ocGVjaWZ5aW5nIGEgXDIxNGxlbmFtZSBjb250YWluaW5nIGEgc2xhc2ggYXMgYW4gYXIpLTMyLjUgRiAuMzUxCi0oZ3VtZW50IHRvIHRoZSktLjE4IEYgRjM8YWQ3MD4yLjg1MSBFIEYwIC4zNTEob3B0aW9uIHRvIHRoZSkyLjg1MSBGIEYzCi0oaGFzaCkyLjg1MiBFIEYwIC0uMihidSkyLjg1MiBHIC4zNTIoaWx0aW4gY29tLSkuMiBGKG1hbmQpMTQ0IDE0Ni40IFEKLTMyLjU8ODM2OT4xMDggMTYzLjIgUyhtcG9ydGluZyBmdW5jdGlvbiBkZVwyMTRuaXRpb25zIGZyb20gdGhlIHNoZWxsIGVuKQotLTMyLjUgRSh2aXJvbm1lbnQgYXQgc3RhcnR1cCktLjQgRSAzMi41PDgzNzA+MTA4IDE4MCBTKGFyc2luZyB0aGUgdikKLS0zMi41IEUoYWx1ZSBvZiktLjI1IEUgRjEoU0hFTExPUFRTKTIuNSBFIEYwKGZyb20gdGhlIHNoZWxsIGVuKTIuMjUgRQotKHZpcm9ubWVudCBhdCBzdGFydHVwKS0uNCBFIDMyLjU8ODM3Mj4xMDggMTk2LjggUyhlZGlyZWN0aW5nIG91dHB1dCB1c2lcCi1uZyB0aGUgPiwgPnwsIDw+LCA+JiwgJj4sIGFuZCA+PiByZWRpcmVjdGlvbiBvcGVyYXRvcnMpLTMyLjUgRSAzMi41Ci08ODM3NT4xMDggMjEzLjYgUyhzaW5nIHRoZSktMzIuNSBFIEYzKGV4ZWMpMi41IEUgRjAgLS4yKGJ1KTIuNSBHCi0oaWx0aW4gY29tbWFuZCB0byByZXBsYWNlIHRoZSBzaGVsbCB3aXRoIGFub3RoZXIgY29tbWFuZCkuMiBFIDMyLjU8ODM2MT4KLTEwOCAyMzAuNCBTKGRkaW5nIG9yIGRlbGV0aW5nIGIpLTMyLjUgRSh1aWx0aW4gY29tbWFuZHMgd2l0aCB0aGUpLS4yIEUKLUYzPGFkNjY+Mi41IEUgRjAoYW5kKTIuNSBFIEYzPGFkNjQ+Mi41IEUgRjAob3B0aW9ucyB0byB0aGUpMi41IEUgRjMKLShlbmFibGUpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQpLjIgRSAzMi41PDgzNTU+MTA4IDI0Ny4yIFMKLShzaW5nIHRoZSktMzIuNSBFIEYzKGVuYWJsZSkyLjUgRSBGMCAtLjIoYnUpMi41IEcKLShpbHRpbiBjb21tYW5kIHRvIGVuYWJsZSBkaXNhYmxlZCBzaGVsbCBiKS4yIEUodWlsdGlucyktLjIgRSAzMi41PDgzNzM+Ci0xMDggMjY0IFMocGVjaWZ5aW5nIHRoZSktMzIuNSBFIEYzPGFkNzA+Mi41IEUgRjAob3B0aW9uIHRvIHRoZSkyLjUgRSBGMwotKGNvbW1hbmQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQpLjIgRSAzMi41PDgzNzQ+MTA4IDI4MC44IFMKLSh1cm5pbmcgb2YpLTMyLjUgRSAyLjUoZnIpLS4yNSBHKGVzdHJpY3RlZCBtb2RlIHdpdGgpLTIuNSBFIEYzKHNldCArcikKLTIuNSBFIEYwKG9yKTIuNSBFIEYzKHNldCArbyByKTIuNSBFKGVzdHJpY3RlZCktLjE4IEUgRjAoLilBCi0oVGhlc2UgcmVzdHJpY3Rpb25zIGFyZSBlbmZvcmNlZCBhZnRlciBhbikxMDggMjk3LjYgUSAyLjUoeXMpLS4xNSBHCi0odGFydHVwIFwyMTRsZXMgYXJlIHJlYWQuKS0yLjUgRSAxLjU2NgotKFdoZW4gYSBjb21tYW5kIHRoYXQgaXMgZm91bmQgdG8gYmUgYSBzaGVsbCBzY3JpcHQgaXMgZSkxMDggMzE0LjQgUiAtLjE1Ci0oeGUpLS4xNSBHIDEuNTY2KGN1dGVkIFwoc2VlKS4xNSBGIEYxIDEuNTY2KENPTU1BTkQgRVhFQ1VUSU9OKTQuMDY2IEYgRjAKLShhYm8pMy44MTYgRSAtLjE1KHZlKS0uMTUgRyhcKSwpLjE1IEUgRjMocmJhc2gpMTA4IDMyNi40IFEgRjAodHVybnMgb2YpCi0yLjUgRSAyLjUoZmEpLS4yNSBHIC4zIC0uMTUobnkgciktMi41IEgoZXN0cmljdGlvbnMgaW4gdGhlIHNoZWxsIHNwYSkuMTUKLUUod25lZCB0byBlKS0uMTUgRSAtLjE1KHhlKS0uMTUgRyhjdXRlIHRoZSBzY3JpcHQuKS4xNSBFL0Y0IDEwLjk1Ci0vVGltZXMtQm9sZEAwIFNGKFNFRSBBTFNPKTcyIDM0My4yIFEvRjUgMTAvVGltZXMtSXRhbGljQDAgU0YoQmFzaCBSZWZlcikKLTEwOCAzNTUuMiBRKGVuY2UgTWFudWFsKS0uMzcgRSBGMCAyLjUoLEIpQyhyaWFuIEYpLTIuNSBFCi0ob3ggYW5kIENoZXQgUmFtZSktLjE1IEUoeSktLjE1IEUgRjUoVGhlIEdudSBSZWFkbGluZSBMaWJyKTEwOCAzNjcuMiBRCi0oYXJ5KS0uMTUgRSBGMCAyLjUoLEIpQyhyaWFuIEYpLTIuNSBFKG94IGFuZCBDaGV0IFJhbWUpLS4xNSBFKHkpLS4xNSBFCi1GNShUaGUgR251IEhpc3RvcnkgTGlicikxMDggMzc5LjIgUShhcnkpLS4xNSBFIEYwIDIuNSgsQilDKHJpYW4gRiktMi41IEUKLShveCBhbmQgQ2hldCBSYW1lKS0uMTUgRSh5KS0uMTUgRSBGNSAtLjgoUG8pMTA4IDM5MS4yIFMocnRhYmxlIE9wZXIpLjggRQotKGF0aW5nIFN5c3RlbSBJbnRlcmZhY2UgXChQT1NJWFwpIFApLS4xNSBFKGFydCAyOiBTaGVsbCBhbmQgVXRpbGl0aWVzKQotLS44IEUgRjAgMi41KCxJKUMoRUVFKS0yLjUgRSBGNShzaCkxMDggNDAzLjIgUSBGMChcKDFcKSwpQSBGNShrc2gpMi41IEUKLUYwKFwoMVwpLClBIEY1KGNzaCkyLjUgRSBGMChcKDFcKSlBIEY1KGVtYWNzKTEwOCA0MTUuMiBRIEYwKFwoMVwpLClBIEY1Ci0odmkpMi41IEUgRjAoXCgxXCkpQSBGNSAtLjM3KHJlKTEwOCA0MjcuMiBTKGFkbGluZSkuMzcgRSBGMChcKDNcKSlBIEY0Ci0oRklMRVMpNzIgNDQ0IFEgRjUoL2Jpbi9iYXNoKTEwOS42NjYgNDU2IFEgRjAoVGhlKTE0NCA0NjggUSBGMyhiYXNoKTIuNQotRSBGMCAtLjE1KGV4ZSkyLjUgRyhjdXRhYmxlKS4xNSBFIEY1KC9ldGMvcHIpMTA5LjY2NiA0ODAgUShvXDIxNGxlKS0uNDUKLUUgRjAoVGhlIHN5c3RlbXdpZGUgaW5pdGlhbGl6YXRpb24gXDIxNGxlLCBlKTE0NCA0OTIgUSAtLjE1KHhlKS0uMTUgRwotKGN1dGVkIGZvciBsb2dpbiBzaGVsbHMpLjE1IEUgRjUofi8uYmFzaF9wcikxMDkuNjY2IDUwNCBRKG9cMjE0bGUpLS40NSBFCi1GMChUaGUgcGVyc29uYWwgaW5pdGlhbGl6YXRpb24gXDIxNGxlLCBlKTE0NCA1MTYgUSAtLjE1KHhlKS0uMTUgRwotKGN1dGVkIGZvciBsb2dpbiBzaGVsbHMpLjE1IEUgRjUofi8uYmFzaHIpMTA5LjY2NiA1MjggUShjKS0uMzcgRSBGMAotKFRoZSBpbmRpKTE0NCA1NDAgUSh2aWR1YWwgcGVyKS0uMjUgRSgtaW50ZXJhY3RpKS0uMiBFIC0uMTUodmUpLS4yNSBHCi0oLXNoZWxsIHN0YXJ0dXAgXDIxNGxlKS4xNSBFIEY1KH4vLmJhc2hfbG8pMTA5LjY2NiA1NTIgUShnb3V0KS0uMSBFIEYwCi0oVGhlIGluZGkpMTQ0IDU2NCBRKHZpZHVhbCBsb2dpbiBzaGVsbCBjbGVhbnVwIFwyMTRsZSwgZSktLjI1IEUgLS4xNSh4ZSkKLS0uMTUgRyhjdXRlZCB3aGVuIGEgbG9naW4gc2hlbGwgZSkuMTUgRSh4aXRzKS0uMTUgRSBGNSh+Ly5pbnB1dHIpMTA5LjY2NgotNTc2IFEoYyktLjM3IEUgRjAoSW5kaSkxNDQgNTg4IFEodmlkdWFsKS0uMjUgRSBGNSAtLjM3KHJlKTIuNSBHKGFkbGluZSkKLS4zNyBFIEYwKGluaXRpYWxpemF0aW9uIFwyMTRsZSkyLjUgRSBGNCAtLjU0OChBVSk3MiA2MDQuOCBTKFRIT1JTKS41NDggRQotRjAoQnJpYW4gRikxMDggNjE2LjggUShveCwgRnJlZSBTb2Z0dyktLjE1IEUoYXJlIEYpLS4xIEUob3VuZGF0aW9uKS0uMTUKLUUoYmZveEBnbnUub3IpMTA4IDYyOC44IFEoZyktLjE4IEUoQ2hldCBSYW1lKTEwOCA2NDUuNiBRIDEuMyAtLjY1KHksIEMpCi0tLjE1IEgoYXNlIFcpLjY1IEUoZXN0ZXJuIFJlc2VydiktLjggRSAyLjUoZVUpLS4xNSBHKG5pKS0yLjUgRSAtLjE1KHZlKQotLS4yNSBHKHJzaXR5KS4xNSBFKGNoZXQucmFtZSkxMDggNjU3LjYgUSh5QGNhc2UuZWR1KS0uMTUgRSBGNCAtLjExKEJVKTcyCi02NzQuNCBTIDIuNzM4KEdSKS4xMSBHKEVQT1IpLTIuNzM4IEUoVFMpLS40MzggRSBGMCAuNTY3Ci0oSWYgeW91IFwyMTRuZCBhIGIpMTA4IDY4Ni40IFIgLjU2OCh1ZyBpbiktLjIgRiBGMyhiYXNoLCkzLjA2OCBFIEYwIC41NjgKLSh5b3Ugc2hvdWxkIHJlcG9ydCBpdC4pMy4wNjggRiAuNTY4KEJ1dCBcMjE0cnN0LCB5b3Ugc2hvdWxkIG1hayk1LjU2OCBGCi0zLjA2OChlcyktLjEgRyAuNTY4KHVyZSB0aGF0IGl0IHJlYWxseSBpcyBhIGIpLTMuMDY4IEYgLjU2OCh1ZywgYW5kKS0uMgotRiA1LjYyNih0aGF0IGl0IGFwcGVhcnMgaW4gdGhlIGxhdGVzdCB2KTEwOCA2OTguNCBSIDUuNjI1KGVyc2lvbiBvZiktLjE1Ci1GIEYzKGJhc2gpOC4xMjUgRSBGMCAxMC42MjUoLlQpQyA1LjYyNShoZSBsYXRlc3QgdiktMTAuNjI1IEYgNS42MjUKLShlcnNpb24gaXMgYWwpLS4xNSBGIC0uMSh3YSktLjEgRyA1LjYyNSh5cyBhKS4xIEYgLS4yNSh2YSktLjIgRyA1LjYyNQotKGlsYWJsZSBmcm9tKS4yNSBGIEY1KGZ0cDovL2Z0cC5nbnUub3IpMTA4IDcxMC40IFEoZy9wdWIvYmFzaC8pLS4zNyBFIEYwCi0oLilBIC40MShPbmNlIHlvdSBoYSkxMDggNzI3LjIgUiAuNzEgLS4xNSh2ZSBkKS0uMiBIIC40MQotKGV0ZXJtaW5lZCB0aGF0IGEgYikuMTUgRiAuNDEodWcgYWN0dWFsbHkgZSktLjIgRiAuNDExKHhpc3RzLCB1c2UgdGhlKQotLS4xNSBGIEY1KGJhc2hiKTMuMTgxIEUodWcpLS4yIEUgRjAgLjQxMShjb21tYW5kIHRvIHN1Ym1pdCBhIGIpMy4xMzEgRgotLjQxMSh1ZyByZXBvcnQuKS0uMiBGKElmKTUuNDExIEUoR05VIEJhc2gtNC4xKTcyIDc2OCBRKDIwMDkgRGVjZW1iZXIgMjkpCi0xMzUuOTY1IEUoNjkpMTg1Ljk1NSBFIDAgQ2cgRVAKKy0uMzUgRS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YodHlwZSkxMDggODQgUSBGMChbKTIuNSBFIEYxKFwyNTVhZnRwUClBIEYwCisoXSlBL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG5hbWUpMi41IEUgRjAoWykyLjUgRSBGMihuYW1lKUEgRjAoLi4uXSkyLjUKK0UgLS40KFdpKTE0NCA5NiBTIC4xNzModGggbm8gb3B0aW9ucywgaW5kaWNhdGUgaG8pLjQgRiAyLjY3Myh3ZSktLjI1IEcKKyhhY2gpLTIuNjczIEUgRjIobmFtZSkzLjAzMyBFIEYwIC0uMSh3bykyLjg1MyBHIC4xNzQKKyh1bGQgYmUgaW50ZXJwcmV0ZWQgaWYgdXNlZCBhcyBhIGNvbW1hbmQgbmFtZS4pLjEgRiAuMTc0KElmIHRoZSk1LjE3NCBGCitGMTxhZDc0PjE0NCAxMDggUSBGMCAuODQzKG9wdGlvbiBpcyB1c2VkLCkzLjM0MyBGIEYxKHR5cGUpMy4zNDMgRSBGMAorLjg0MyhwcmludHMgYSBzdHJpbmcgd2hpY2ggaXMgb25lIG9mKTMuMzQzIEYgRjIoYWxpYXMpMy4zNDMgRSBGMCgsKS4yNyBFCitGMiAtLjEoa2UpMy4zNDMgRyh5d29yKS0uMiBFKGQpLS4zNyBFIEYwKCwpLjc3IEUgRjIoZnVuY3Rpb24pMy4zNDMgRSBGMAorKCwpLjI0IEUgRjIgLS4yKGJ1KTMuMzQyIEcoaWx0aW4pLjIgRSBGMCAzLjM0MigsbykuMjQgRyhyKS0zLjM0MiBFIEYyCisoXDIxNGxlKTUuMjUyIEUgRjAoaWYpMy41MjIgRSBGMihuYW1lKTE0NC4zNiAxMjAgUSBGMCAuMDg2CisoaXMgYW4gYWxpYXMsIHNoZWxsIHJlc2VydikyLjc2NiBGIC4wODYoZWQgdyktLjE1IEYgLjA4NgorKG9yZCwgZnVuY3Rpb24sIGIpLS4xIEYgLjA4Nyh1aWx0aW4sIG9yIGRpc2sgXDIxNGxlLCByZXNwZWN0aSktLjIgRiAtLjE1CisodmUpLS4yNSBHKGx5KS4xNSBFIDUuMDg3KC5JKS0uNjUgRyAyLjU4NyhmdCktNS4wODcgRyhoZSktMi41ODcgRSBGMgorKG5hbWUpMi45NDcgRSBGMCAuMDg3KGlzIG5vdCkyLjc2NyBGIC4xMTkKKyhmb3VuZCwgdGhlbiBub3RoaW5nIGlzIHByaW50ZWQsIGFuZCBhbiBlKTE0NCAxMzIgUiAuMTE4CisoeGl0IHN0YXR1cyBvZiBmKS0uMTUgRiAuMTE4KGFsc2UgaXMgcmV0dXJuZWQuKS0uMSBGIC4xMTgoSWYgdGhlKTUuMTE4IEYKK0YxPGFkNzA+Mi42MTggRSBGMCAuMTE4KG9wdGlvbiBpcyB1c2VkLCkyLjYxOCBGIEYxKHR5cGUpMi42MTggRSBGMCAuODU1CisoZWl0aGVyIHJldHVybnMgdGhlIG5hbWUgb2YgdGhlIGRpc2sgXDIxNGxlIHRoYXQgdykxNDQgMTQ0IFIgLjg1NQorKG91bGQgYmUgZSktLjEgRiAtLjE1KHhlKS0uMTUgRyAuODU1KGN1dGVkIGlmKS4xNSBGIEYyKG5hbWUpMy43MTUgRSBGMAorLjg1NSh3ZXJlIHNwZWNpXDIxNGVkIGFzIGEgY29tLSkzLjUzNSBGIC42NDEobWFuZCBuYW1lLCBvciBub3RoaW5nIGlmKQorMTQ0IDE1NiBSL0YzIDEwL0NvdXJpZXJAMCBTRiAuNjQxKHR5cGUgLXQgbmFtZSkzLjE0MSBGIEYwIC0uMSh3bykzLjE0MSBHCisuNjQxKHVsZCBub3QgcmV0dXJuKS4xIEYgRjIoXDIxNGxlKTMuMTQgRSBGMCA1LjY0KC5UKS4xOCBHKGhlKS01LjY0IEUgRjEKKzxhZDUwPjMuMTQgRSBGMCAuNjQob3B0aW9uIGZvcmNlcyBhKTMuMTQgRi9GNCA5L1RpbWVzLUJvbGRAMCBTRiAtLjY2NgorKFBBKTMuMTQgRyhUSCktLjE4OSBFIEYwIC4xMTIoc2VhcmNoIGZvciBlYWNoKTE0NCAxNjggUiBGMihuYW1lKTIuNjEyIEUKK0YwIDIuNjEyKCxlKUMgLS4xNSh2ZSktMi44NjIgRyAyLjYxMyhuaSkuMTUgRyhmKS0yLjYxMyBFIEYzIC4xMTMKKyh0eXBlIC10IG5hbWUpMi42MTMgRiBGMCAtLjEod28pMi42MTMgRyAuMTEzKHVsZCBub3QgcmV0dXJuKS4xIEYgRjIKKyhcMjE0bGUpMi42MTMgRSBGMCA1LjExMyguSSkuMTggRyAyLjYxMyhmYWMpLTUuMTEzIEcgLjExMworKG9tbWFuZCBpcyBoYXNoZWQsKS0yLjYxMyBGIEYxPGFkNzA+Mi42MTMgRSBGMChhbmQpMTQ0IDE4MCBRIEYxPGFkNTA+CisyLjk0NSBFIEYwIC40NDUocHJpbnQgdGhlIGhhc2hlZCB2KTIuOTQ1IEYgLjQ0NAorKGFsdWUsIG5vdCBuZWNlc3NhcmlseSB0aGUgXDIxNGxlIHRoYXQgYXBwZWFycyBcMjE0cnN0IGluKS0uMjUgRiBGNAorLS42NjYoUEEpMi45NDQgRyhUSCktLjE4OSBFL0Y1IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgLjQ0NChJZiB0aGUpCis0Ljk0NCBGIEYxPGFkNjE+Mi45NDQgRSBGMChvcHRpb24pMi45NDQgRSAuMjY1KGlzIHVzZWQsKTE0NCAxOTIgUiBGMQorKHR5cGUpMi43NjUgRSBGMCAuMjY1KHByaW50cyBhbGwgb2YgdGhlIHBsYWNlcyB0aGF0IGNvbnRhaW4gYW4gZSkyLjc2NSBGCistLjE1KHhlKS0uMTUgRyAuMjY1KGN1dGFibGUgbmFtZWQpLjE1IEYgRjIobmFtZSkyLjc2NSBFIEYwIDUuMjY1KC5UKS4xOAorRyAuMjY1KGhpcyBpbmNsdWRlcyBhbGlhc2VzKS01LjI2NSBGIC40MjcKKyhhbmQgZnVuY3Rpb25zLCBpZiBhbmQgb25seSBpZiB0aGUpMTQ0IDIwNCBSIEYxPGFkNzA+Mi45MjYgRSBGMCAuNDI2Cisob3B0aW9uIGlzIG5vdCBhbHNvIHVzZWQuKTIuOTI2IEYgLjQyNgorKFRoZSB0YWJsZSBvZiBoYXNoZWQgY29tbWFuZHMgaXMgbm90KTUuNDI2IEYgLjU0OChjb25zdWx0ZWQgd2hlbiB1c2luZykKKzE0NCAyMTYgUiBGMTxhZDYxPjMuMDQ4IEUgRjAgNS41NDgoLlQpQyhoZSktNS41NDggRSBGMTxhZDY2PjMuMDQ4IEUgRjAKKy41NDkob3B0aW9uIHN1cHByZXNzZXMgc2hlbGwgZnVuY3Rpb24gbG9va3VwLCBhcyB3aXRoIHRoZSkzLjA0OCBGIEYxCisoY29tbWFuZCkzLjA0OSBFIEYwIC0uMihidSkxNDQgMjI4IFMoaWx0aW4uKS4yIEUgRjEodHlwZSk1IEUgRjAKKyhyZXR1cm5zIHRydWUgaWYgYWxsIG9mIHRoZSBhcikyLjUgRShndW1lbnRzIGFyZSBmb3VuZCwgZiktLjE4IEUKKyhhbHNlIGlmIGFuKS0uMSBFIDIuNSh5YSktLjE1IEcocmUgbm90IGZvdW5kLiktMi41IEUgRjEodWxpbWl0KTEwOCAyNDQuOAorUSBGMChbKTIuNSBFIEYxKFwyNTVIU1QpQShhYmNkZVwyMTRsbW5wcXJzdHV2eCktLjkyIEUgRjAoWykyLjUgRSBGMgorKGxpbWl0KUEgRjAoXV0pQShQcm8pMTQ0IDI1Ni44IFEgLjI0NCh2aWRlcyBjb250cm9sIG8pLS4xNSBGIC0uMTUodmUpCistLjE1IEcgMi43NDQocnQpLjE1IEcgLjI0NChoZSByZXNvdXJjZXMgYSktMi43NDQgRiAtLjI1KHZhKS0uMiBHIC4yNDQKKyhpbGFibGUgdG8gdGhlIHNoZWxsIGFuZCB0byBwcm9jZXNzZXMgc3RhcnRlZCBieSBpdCwgb24gc3lzdGVtcykuMjUgRgorLjk0Myh0aGF0IGFsbG8pMTQ0IDI2OC44IFIgMy40NDMod3MpLS4yNSBHIC45NDModWNoIGNvbnRyb2wuKS0zLjQ0MyBGCisoVGhlKTUuOTQzIEUgRjE8YWQ0OD4zLjQ0MyBFIEYwKGFuZCkzLjQ0MyBFIEYxPGFkNTM+My40NDQgRSBGMCAuOTQ0Cisob3B0aW9ucyBzcGVjaWZ5IHRoYXQgdGhlIGhhcmQgb3Igc29mdCBsaW1pdCBpcyBzZXQgZm9yIHRoZSkzLjQ0NCBGKGdpKQorMTQ0IDI4MC44IFEgLS4xNSh2ZSktLjI1IEcgMi43MDkobnIpLjE1IEcgMi43MDkoZXNvdXJjZS4gQSktMi43MDkgRiAuMjA4CisoaGFyZCBsaW1pdCBjYW5ub3QgYmUgaW5jcmVhc2VkIGJ5IGEgbm9uLXJvb3QgdXNlciBvbmNlIGl0IGlzIHNldDsgYSBzb1wKK2Z0IGxpbWl0IG1heSkyLjcwOSBGIC40MjUoYmUgaW5jcmVhc2VkIHVwIHRvIHRoZSB2KTE0NCAyOTIuOCBSIC40MjUKKyhhbHVlIG9mIHRoZSBoYXJkIGxpbWl0LiktLjI1IEYgLjQyNihJZiBuZWl0aGVyKTUuNDI1IEYgRjE8YWQ0OD4yLjkyNiBFCitGMChub3IpMi45MjYgRSBGMTxhZDUzPjIuOTI2IEUgRjAgLjQyNgorKGlzIHNwZWNpXDIxNGVkLCBib3RoIHRoZSBzb2Z0IGFuZCkyLjkyNiBGIC4xMzkoaGFyZCBsaW1pdHMgYXJlIHNldC4pMTQ0CiszMDQuOCBSIC4xMzkoVGhlIHYpNS4xMzkgRiAuMTM5KGFsdWUgb2YpLS4yNSBGIEYyKGxpbWl0KTIuNzI5IEUgRjAgLjEzOQorKGNhbiBiZSBhIG51bWJlciBpbiB0aGUgdW5pdCBzcGVjaVwyMTRlZCBmb3IgdGhlIHJlc291cmNlIG9yIG9uZSkzLjMxOSBGCisuNzQxKG9mIHRoZSBzcGVjaWFsIHYpMTQ0IDMxNi44IFIoYWx1ZXMpLS4yNSBFIEYxKGhhcmQpMy4yNDEgRSBGMCgsKUEgRjEKKyhzb2Z0KTMuMjQxIEUgRjAgMy4yNDEoLG8pQyhyKS0zLjI0MSBFIEYxKHVubGltaXRlZCkzLjI0MSBFIEYwIDMuMjQxKCx3KQorQyAuNzQxKGhpY2ggc3RhbmQgZm9yIHRoZSBjdXJyZW50IGhhcmQgbGltaXQsIHRoZSBjdXJyZW50KS0zLjI0MSBGIC43OAorKHNvZnQgbGltaXQsIGFuZCBubyBsaW1pdCwgcmVzcGVjdGkpMTQ0IDMyOC44IFIgLS4xNSh2ZSktLjI1IEcobHkpLjE1IEUKKzUuNzgoLkkpLS42NSBHKGYpLTUuNzggRSBGMihsaW1pdCkzLjM3IEUgRjAgLjc4CisoaXMgb21pdHRlZCwgdGhlIGN1cnJlbnQgdikzLjk2IEYgLjc4KGFsdWUgb2YgdGhlIHNvZnQgbGltaXQgb2YgdGhlKS0uMjUKK0YgLjQ5OChyZXNvdXJjZSBpcyBwcmludGVkLCB1bmxlc3MgdGhlKTE0NCAzNDAuOCBSIEYxPGFkNDg+Mi45OTkgRSBGMAorLjQ5OShvcHRpb24gaXMgZ2kpMi45OTkgRiAtLjE1KHZlKS0uMjUgRyAyLjk5OShuLiBXaGVuKS4xNSBGIC40OTkKKyhtb3JlIHRoYW4gb25lIHJlc291cmNlIGlzIHNwZWNpXDIxNGVkLCB0aGUpMi45OTkgRgorKGxpbWl0IG5hbWUgYW5kIHVuaXQgYXJlIHByaW50ZWQgYmVmb3JlIHRoZSB2KTE0NCAzNTIuOCBRIDIuNQorKGFsdWUuIE90aGVyKS0uMjUgRihvcHRpb25zIGFyZSBpbnRlcnByZXRlZCBhcyBmb2xsbykyLjUgRSh3czopLS4yNSBFIEYxCis8YWQ2MT4xNDQgMzY0LjggUSBGMChBbGwgY3VycmVudCBsaW1pdHMgYXJlIHJlcG9ydGVkKTI1LjMgRSBGMTxhZDYyPjE0NAorMzc2LjggUSBGMChUaGUgbWF4aW11bSBzb2NrKTI0Ljc0IEUoZXQgYiktLjEgRSh1ZiktLjIgRShmZXIgc2l6ZSktLjI1IEUKK0YxPGFkNjM+MTQ0IDM4OC44IFEgRjAoVGhlIG1heGltdW0gc2l6ZSBvZiBjb3JlIFwyMTRsZXMgY3JlYXRlZCkyNS44NiBFCitGMTxhZDY0PjE0NCA0MDAuOCBRIEYwKFRoZSBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJykyNC43NCBFIDIuNShzZCkKKy0uNTUgRyhhdGEgc2UpLTIuNSBFKGdtZW50KS0uMTUgRSBGMTxhZDY1PjE0NCA0MTIuOCBRIEYwCisoVGhlIG1heGltdW0gc2NoZWR1bGluZyBwcmlvcml0eSBcKCJuaWNlIlwpKTI1Ljg2IEUgRjE8YWQ2Nj4xNDQgNDI0LjggUQorRjAoVGhlIG1heGltdW0gc2l6ZSBvZiBcMjE0bGVzIHdyaXR0ZW4gYnkgdGhlIHNoZWxsIGFuZCBpdHMgY2hpbGRyZW4pCisyNi45NyBFIEYxPGFkNjk+MTQ0IDQzNi44IFEgRjAoVGhlIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscykKKzI3LjUyIEUgRjE8YWQ2Yz4xNDQgNDQ4LjggUSBGMChUaGUgbWF4aW11bSBzaXplIHRoYXQgbWF5IGJlIGxvY2spMjcuNTIgRQorKGVkIGludG8gbWVtb3J5KS0uMSBFIEYxPGFkNmQ+MTQ0IDQ2MC44IFEgRjAKKyhUaGUgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZSBcKG1hbikyMS45NyBFIDIuNSh5cyktLjE1IEcKKyh5c3RlbXMgZG8gbm90IGhvbm9yIHRoaXMgbGltaXRcKSktMi41IEUgRjE8YWQ2ZT4xNDQgNDcyLjggUSBGMCAuNzkxKFRoXAorZSBtYXhpbXVtIG51bWJlciBvZiBvcGVuIFwyMTRsZSBkZXNjcmlwdG9ycyBcKG1vc3Qgc3lzdGVtcyBkbyBub3QgYWxsbykKKzI0Ljc0IEYgMy4yOSh3dCktLjI1IEcgLjc5KGhpcyB2KS0zLjI5IEYgLjc5KGFsdWUgdG8pLS4yNSBGKGJlIHNldFwpKTE4MAorNDg0LjggUSBGMTxhZDcwPjE0NCA0OTYuOCBRIEYwCisoVGhlIHBpcGUgc2l6ZSBpbiA1MTItYnl0ZSBibG9ja3MgXCh0aGlzIG1heSBub3QgYmUgc2V0XCkpMjQuNzQgRSBGMQorPGFkNzE+MTQ0IDUwOC44IFEgRjAKKyhUaGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXMpMjQuNzQgRSBGMTxhZDcyPjE0NAorNTIwLjggUSBGMChUaGUgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eSkyNS44NiBFIEYxPGFkNzM+MTQ0Cis1MzIuOCBRIEYwKFRoZSBtYXhpbXVtIHN0YWNrIHNpemUpMjYuNDEgRSBGMTxhZDc0PjE0NCA1NDQuOCBRIEYwCisoVGhlIG1heGltdW0gYW1vdW50IG9mIGNwdSB0aW1lIGluIHNlY29uZHMpMjYuOTcgRSBGMTxhZDc1PjE0NCA1NTYuOCBRCitGMChUaGUgbWF4aW11bSBudW1iZXIgb2YgcHJvY2Vzc2VzIGEpMjQuNzQgRSAtLjI1KHZhKS0uMiBHCisoaWxhYmxlIHRvIGEgc2luZ2xlIHVzZXIpLjI1IEUgRjE8YWQ3Nj4xNDQgNTY4LjggUSBGMCAuNDcKKyhUaGUgbWF4aW11bSBhbW91bnQgb2YgdmlydHVhbCBtZW1vcnkgYSkyNS4zIEYgLS4yNSh2YSktLjIgRyAuNDcKKyhpbGFibGUgdG8gdGhlIHNoZWxsIGFuZCwgb24gc29tZSBzeXN0ZW1zLCB0bykuMjUgRihpdHMgY2hpbGRyZW4pMTgwCis1ODAuOCBRIEYxPGFkNzg+MTQ0IDU5Mi44IFEgRjAoVGhlIG1heGltdW0gbnVtYmVyIG9mIFwyMTRsZSBsb2NrcykyNS4zIEUKK0YxPGFkNTQ+MTQ0IDYwNC44IFEgRjAoVGhlIG1heGltdW0gbnVtYmVyIG9mIHRocmVhZHMpMjMuNjMgRShJZikxNDQKKzYyMS42IFEgRjIobGltaXQpMi45MzMgRSBGMCAuMzQzKGlzIGdpKTMuNTIzIEYgLS4xNSh2ZSktLjI1IEcgLjM0MworKG4sIGl0IGlzIHRoZSBuZSkuMTUgRiAyLjg0Myh3diktLjI1IEcgLjM0MworKGFsdWUgb2YgdGhlIHNwZWNpXDIxNGVkIHJlc291cmNlIFwodGhlKS0zLjA5MyBGIEYxPGFkNjE+Mi44NDMgRSBGMCAuMzQzCisob3B0aW9uIGlzIGRpc3BsYXkgb25seVwpLikyLjg0MyBGIC4zNDMoSWYgbm8pNS4zNDMgRiAuMTc1KG9wdGlvbiBpcyBnaSkKKzE0NCA2MzMuNiBSIC0uMTUodmUpLS4yNSBHIC4xNzUobiwgdGhlbikuMTUgRiBGMTxhZDY2PjIuNjc1IEUgRjAgLjE3NQorKGlzIGFzc3VtZWQuKTIuNjc1IEYgLTEuMTEoVmEpNS4xNzUgRyAuMTc1CisobHVlcyBhcmUgaW4gMTAyNC1ieXRlIGluY3JlbWVudHMsIGUpMS4xMSBGIC4xNzYoeGNlcHQgZm9yKS0uMTUgRiBGMQorPGFkNzQ+Mi42NzYgRSBGMCAyLjY3NigsdylDIC4xNzYoaGljaCBpcyBpbiktMi42NzYgRihzZWNvbmRzLCkxNDQgNjQ1LjYKK1EgRjE8YWQ3MD4yLjUxNiBFIEYwIDIuNTE2KCx3KUMgLjAxNgorKGhpY2ggaXMgaW4gdW5pdHMgb2YgNTEyLWJ5dGUgYmxvY2tzLCBhbmQpLTIuNTE2IEYgRjE8YWQ1ND4yLjUxNiBFIEYwKCwpCitBIEYxPGFkNjI+Mi41MTUgRSBGMCgsKUEgRjE8YWQ2ZT4yLjUxNSBFIEYwIDIuNTE1KCxhKUMobmQpLTIuNTE1IEUgRjEKKzxhZDc1PjIuNTE1IEUgRjAgMi41MTUoLHcpQyAuMDE1KGhpY2ggYXJlIHVuc2NhbGVkIHYpLTIuNTE1IEYoYWwtKS0uMjUgRQorMy43ODcodWVzLiBUaGUpMTQ0IDY1Ny42IFIgMS4yODcocmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyBhbiBpbikzLjc4NyBGCistLjI1KHZhKS0uNCBHIDEuMjg3KGxpZCBvcHRpb24gb3IgYXIpLjI1IEYgMS4yODcKKyhndW1lbnQgaXMgc3VwcGxpZWQsIG9yIGFuIGVycm9yIG9jY3VycyktLjE4IEYod2hpbGUgc2V0dGluZyBhIG5lKTE0NAorNjY5LjYgUSAyLjUod2wpLS4yNSBHKGltaXQuKS0yLjUgRSBGMSh1bWFzaykxMDggNjg2LjQgUSBGMChbKTIuNSBFIEYxCis8YWQ3MD5BIEYwIDIuNShdWylDIEYxPGFkNTM+LTIuNSBFIEYwIDIuNShdWylDIEYyKG1vZGUpLTIuNSBFIEYwKF0pQSAuMgorKFRoZSB1c2VyIFwyMTRsZS1jcmVhdGlvbiBtYXNrIGlzIHNldCB0bykxNDQgNjk4LjQgUiBGMihtb2RlKTIuNyBFIEYwCis1LjIoLkkpLjE4IEcoZiktNS4yIEUgRjIobW9kZSkzLjA4IEUgRjAoYmUpMi44OCBFIC4yCisoZ2lucyB3aXRoIGEgZGlnaXQsIGl0IGlzIGludGVycHJldGVkIGFzIGFuIG9jdGFsKS0uMTUgRiAuMDY2KG51bWJlcjsgb1wKK3RoZXJ3aXNlIGl0IGlzIGludGVycHJldGVkIGFzIGEgc3ltYm9saWMgbW9kZSBtYXNrIHNpbWlsYXIgdG8gdGhhdCBhY2NlXAorcHRlZCBieSkxNDQgNzEwLjQgUiBGMiAtLjE1KGNoKTIuNTY2IEcobW9kKS4xNSBFIEYwKFwoMVwpLikuNzcgRShJZikxNDQKKzcyMi40IFEgRjIobW9kZSkzLjI2MyBFIEYwIC4zODIoaXMgb21pdHRlZCwgdGhlIGN1cnJlbnQgdikzLjA2MyBGIC4zODIKKyhhbHVlIG9mIHRoZSBtYXNrIGlzIHByaW50ZWQuKS0uMjUgRihUaGUpNS4zODIgRSBGMTxhZDUzPjIuODgyIEUgRjAgLjM4MgorKG9wdGlvbiBjYXVzZXMgdGhlIG1hc2sgdG8gYmUpMi44ODIgRihHTlUgQmFzaC00LjIpNzIgNzY4IFEKKygyMDEwIERlY2VtYmVyIDI4KTEzNS45NjUgRSg2OSkxODUuOTU1IEUgMCBDZyBFUAogJSVQYWdlOiA3MCA3MAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMgMzg5LjU0KFNIXCgxXCkgQikuMzUgRihBU0hcKDFcKSkKLS0uMzUgRSAuNTk1KHlvdSBoYSkxMDggODQgUiAuODk1IC0uMTUodmUgYSBcMjE0KS0uMiBIIC41OTUKLSh4LCB5b3UgYXJlIGVuY291cmFnZWQgdG8gbWFpbCB0aGF0IGFzIHdlbGwhKS4xNSBGIC41OTQKLShTdWdnZXN0aW9ucyBhbmQgYHBoaWxvc29waGljYWwnIGIpNS41OTUgRiAuNTk0KHVnIHJlcG9ydHMgbWF5KS0uMiBGCi0oYmUgbWFpbGVkIHRvKTEwOCA5NiBRL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGIC0uMihidSkyLjUgRwotKGctYmFzaEBnbnUub3IpLjIgRShnKS0uMzcgRSBGMChvciBwb3N0ZWQgdG8gdGhlIFVzZW5ldCBuZSkyLjUgRQotKHdzZ3JvdXApLS4yNSBFL0YyIDEwL1RpbWVzLUJvbGRAMCBTRihnbnUuYmFzaC5iKTIuNSBFKHVnKS0uMiBFIEYwKC4pQQotKEFMTCBiKTEwOCAxMTIuOCBRKHVnIHJlcG9ydHMgc2hvdWxkIGluY2x1ZGU6KS0uMiBFKFRoZSB2KTEwOCAxMjkuNiBRCi0oZXJzaW9uIG51bWJlciBvZiktLjE1IEUgRjIoYmFzaCkyLjUgRSBGMChUaGUgaGFyZHcpMTA4IDE0MS42IFEKLShhcmUgYW5kIG9wZXJhdGluZyBzeXN0ZW0pLS4xIEUoVGhlIGNvbXBpbGVyIHVzZWQgdG8gY29tcGlsZSkxMDggMTUzLjYgUQotMi41KEFkKTEwOCAxNjUuNiBTKGVzY3JpcHRpb24gb2YgdGhlIGIpLTIuNSBFKHVnIGJlaGEpLS4yIEUodmlvdXIpLS4yIEUKLTIuNShBcykxMDggMTc3LjYgUyhob3J0IHNjcmlwdCBvciBgcmVjaXBlJyB3aGljaCBlKS0yLjUgRSAtLjE1KHhlKS0uMTUgRwotKHJjaXNlcyB0aGUgYikuMTUgRSh1ZyktLjIgRSBGMShiYXNoYikxMDguMjcgMTk0LjQgUSh1ZyktLjIgRSBGMAorLS4zNSBFIC41NDcocHJpbnRlZCBpbiBzeW1ib2xpYyBmb3JtOyB0aGUgZGVmKTE0NCA4NCBSIC41NDcKKyhhdWx0IG91dHB1dCBpcyBhbiBvY3RhbCBudW1iZXIpLS4xIEYgNS41NDcoLkkpLS41NSBHIDMuMDQ3KGZ0KS01LjU0NyBHCisoaGUpLTMuMDQ3IEUvRjEgMTAvVGltZXMtQm9sZEAwIFNGPGFkNzA+My4wNDcgRSBGMCAuNTQ3Cisob3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQpMy4wNDcgRi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihtb2RlKTE0NC4zOCA5NgorUSBGMCAuNTUyCisoaXMgb21pdHRlZCwgdGhlIG91dHB1dCBpcyBpbiBhIGZvcm0gdGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LikzLjIzMgorRiAuNTUxKFRoZSByZXR1cm4gc3RhdHVzIGlzIDAgaWYgdGhlKTUuNTUxIEYobW9kZSB3KTE0NCAxMDggUQorKGFzIHN1Y2Nlc3NmdWxseSBjaGFuZ2VkIG9yIGlmIG5vKS0uMSBFIEYyKG1vZGUpMi41IEUgRjAoYXIpMi41IEUKKyhndW1lbnQgdyktLjE4IEUoYXMgc3VwcGxpZWQsIGFuZCBmKS0uMSBFKGFsc2Ugb3RoZXJ3aXNlLiktLjEgRSBGMQorKHVuYWxpYXMpMTA4IDEyNC44IFEgRjA8NWJhZD4yLjUgRSBGMShhKUEgRjAgMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAKKyguLi5dKTIuNSBFKFJlbW8pMTQ0IDEzNi44IFEgMS45NTUgLS4xNSh2ZSBlKS0uMTUgSChhY2gpLjE1IEUgRjIobmFtZSkKKzQuMTU1IEUgRjAgMS42NTUoZnJvbSB0aGUgbGlzdCBvZiBkZVwyMTRuZWQgYWxpYXNlcy4pNC4xNTUgRihJZik2LjY1NSBFCitGMTxhZDYxPjQuMTU1IEUgRjAgMS42NTUoaXMgc3VwcGxpZWQsIGFsbCBhbGlhcyBkZVwyMTRuaXRpb25zIGFyZSk0LjE1NQorRihyZW1vKTE0NCAxNDguOCBRIC0uMTUodmUpLS4xNSBHIDIuNShkLiBUaGUpLjE1IEYocmV0dXJuIHYpMi41IEUKKyhhbHVlIGlzIHRydWUgdW5sZXNzIGEgc3VwcGxpZWQpLS4yNSBFIEYyKG5hbWUpMi44NiBFIEYwCisoaXMgbm90IGEgZGVcMjE0bmVkIGFsaWFzLikyLjY4IEUgRjEodW5zZXQpMTA4IDE2NS42IFEgRjA8NWJhZD4yLjUgRSBGMQorKGZ2KUEgRjAgMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAoLi4uXSkyLjUgRSAtLjE1KEZvKTE0NCAxNzcuNiBTIDMuMTA3CisocmUpLjE1IEcoYWNoKS0zLjEwNyBFIEYyKG5hbWUpMy4xMDcgRSBGMCAzLjEwNygscikuMTggRyhlbW8pLTMuMTA3IEUKKy45MDcgLS4xNSh2ZSB0KS0uMTUgSCAuNjA3KGhlIGNvcnJlc3BvbmRpbmcgdikuMTUgRiAuNjA3CisoYXJpYWJsZSBvciBmdW5jdGlvbi4pLS4yNSBGIC42MDYoSWYgbm8gb3B0aW9ucyBhcmUgc3VwcGxpZWQsIG9yIHRoZSkKKzUuNjA3IEYgRjE8YWQ3Nj4xNDQgMTg5LjYgUSBGMCAuMzA0KG9wdGlvbiBpcyBnaSkyLjgwNCBGIC0uMTUodmUpLS4yNSBHCisuMzA0KG4sIGVhY2gpLjE1IEYgRjIobmFtZSkzLjE2NCBFIEYwIC4zMDUocmVmZXJzIHRvIGEgc2hlbGwgdikyLjk4NSBGCisyLjgwNShhcmlhYmxlLiBSZWFkLW9ubHkpLS4yNSBGIC0uMjUodmEpMi44MDUgRyAuMzA1CisocmlhYmxlcyBtYXkgbm90IGJlIHVuc2V0LikuMjUgRihJZik1LjMwNSBFIEYxPGFkNjY+MTQ0IDIwMS42IFEgRjAgLjQ2CisoaXMgc3BlY2lcMjE0ZWQsIGVhY2gpMi45NiBGIEYyKG5hbWUpMy4zMiBFIEYwIC40NTkKKyhyZWZlcnMgdG8gYSBzaGVsbCBmdW5jdGlvbiwgYW5kIHRoZSBmdW5jdGlvbiBkZVwyMTRuaXRpb24gaXMgcmVtbykzLjE0CitGIC0uMTUodmUpLS4xNSBHIDIuOTU5KGQuIEVhY2gpLjE1IEYgLjkwMih1bnNldCB2KTE0NCAyMTMuNiBSIC45MDIKKyhhcmlhYmxlIG9yIGZ1bmN0aW9uIGlzIHJlbW8pLS4yNSBGIC0uMTUodmUpLS4xNSBHIDMuNDAyKGRmKS4xNSBHIC45MDIKKyhyb20gdGhlIGVuKS0zLjQwMiBGIC45MDModmlyb25tZW50IHBhc3NlZCB0byBzdWJzZXF1ZW50IGNvbW1hbmRzLiktLjQgRgorKElmKTUuOTAzIEUoYW4pMTQ0IDIyNS42IFEgNi45MTYoeW8pLS4xNSBHKGYpLTYuOTE2IEUvRjMgOS9UaW1lcy1Cb2xkQDAKK1NGKENPTVBfVyk2LjkxNiBFKE9SREJSRUFLUyktLjA5IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMyhSQU5ET00pCis2LjY2NSBFIEY0KCwpQSBGMyhTRUNPTkRTKTYuNjY1IEUgRjQoLClBIEYzKExJTkVOTyk2LjY2NSBFIEY0KCwpQSBGMworKEhJU1RDTUQpNi42NjUgRSBGNCgsKUEgRjMoRlVOQ04pNi42NjUgRShBTUUpLS4xOCBFIEY0KCwpQSBGMyhHUikxNDQKKzIzNy42IFEoT1VQUyktLjI3IEUgRjQoLClBIEYwKG9yKTIuNTIyIEUgRjMoRElSU1QpMi43NzIgRSAtLjQ5NShBQyktLjgxCitHKEspLjQ5NSBFIEYwIC4yNzIoYXJlIHVuc2V0LCB0aGUpMi41MjIgRiAyLjc3Mih5bCktLjE1IEcgLjI3MgorKG9zZSB0aGVpciBzcGVjaWFsIHByb3BlcnRpZXMsIGUpLTIuNzcyIEYgLS4xNSh2ZSktLjI1IEcgMi43NzIobmkpLjE1IEcKKzIuNzcyKGZ0KS0yLjc3MiBHKGhlKS0yLjc3MiBFIDIuNzczKHlhKS0uMTUgRyAuMjczKHJlIHN1YnNlcXVlbnRseSkKKy0yLjc3MyBGIDIuNShyZXNldC4gVGhlKTE0NCAyNDkuNiBSIC0uMTUoZXgpMi41IEcKKyhpdCBzdGF0dXMgaXMgdHJ1ZSB1bmxlc3MgYSkuMTUgRSBGMihuYW1lKTIuODYgRSBGMChpcyByZWFkb25seSkyLjY4IEUKKyguKS0uNjUgRSBGMSh3YWl0KTEwOCAyNjYuNCBRIEYwKFspMi41IEUgRjIgMi41KG4uKUMoLi4pLTIuNSBFIEYwKF0pQQorLS44KFdhKTE0NCAyNzguNCBTIC4yODgKKyhpdCBmb3IgZWFjaCBzcGVjaVwyMTRlZCBwcm9jZXNzIGFuZCByZXR1cm4gaXRzIHRlcm1pbmF0aW9uIHN0YXR1cy4pLjggRgorKEVhY2gpNS4yODggRSBGMihuKTMuMTQ4IEUgRjAgLjI4NyhtYXkgYmUgYSBwcm9jZXNzIElEIG9yIGEpMy4wMjggRiAuNzIyCisoam9iIHNwZWNpXDIxNGNhdGlvbjsgaWYgYSBqb2Igc3BlYyBpcyBnaSkxNDQgMjkwLjQgUiAtLjE1KHZlKS0uMjUgRworLjcyMihuLCBhbGwgcHJvY2Vzc2VzIGluIHRoYXQgam9iJykuMTUgRiAzLjIyMihzcCktLjU1IEcgLjcyMgorKGlwZWxpbmUgYXJlIHcpLTMuMjIyIEYgLjcyMihhaXRlZCBmb3IpLS4xIEYgNS43MjIoLkkpLS41NSBHKGYpLTUuNzIyIEUKK0YyKG4pMy41ODMgRSBGMChpcykzLjQ2MyBFIDEuMjY2KG5vdCBnaSkxNDQgMzAyLjQgUiAtLjE1KHZlKS0uMjUgRyAxLjI2NgorKG4sIGFsbCBjdXJyZW50bHkgYWN0aSkuMTUgRiAxLjU2NiAtLjE1KHZlIGMpLS4yNSBIIDEuMjY1CisoaGlsZCBwcm9jZXNzZXMgYXJlIHcpLjE1IEYgMS4yNjUoYWl0ZWQgZm9yKS0uMSBGIDMuNzY1KCxhKS0uNCBHIDEuMjY1CisobmQgdGhlIHJldHVybiBzdGF0dXMgaXMgemVyby4pLTMuNzY1IEYoSWYpNi4yNjUgRSBGMihuKTQuMTI1IEUgRjAgLjQ1NgorKHNwZWNpXDIxNGVzIGEgbm9uLWUpMTQ0IDMxNC40IFIgLjQ1NworKHhpc3RlbnQgcHJvY2VzcyBvciBqb2IsIHRoZSByZXR1cm4gc3RhdHVzIGlzIDEyNy4pLS4xNSBGIC40NTcKKyhPdGhlcndpc2UsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSk1LjQ1NyBGIC0uMTUoZXgpMTQ0IDMyNi40IFMKKyhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgcHJvY2VzcyBvciBqb2IgdykuMTUgRShhaXRlZCBmb3IpLS4xIEUoLiktLjU1IEUKKy9GNSAxMC45NS9UaW1lcy1Cb2xkQDAgU0YoUkVTVFJJQ1RFRCBTSEVMTCk3MiAzNDMuMiBRIEYwKElmKTEwOCAzNTUuMiBRCitGMShiYXNoKTQuMzk3IEUgRjAgMS44OTcoaXMgc3RhcnRlZCB3aXRoIHRoZSBuYW1lKTQuMzk3IEYgRjEocmJhc2gpNC4zOTcKK0UgRjAgNC4zOTcoLG8pQyA0LjM5NyhydCktNC4zOTcgRyhoZSktNC4zOTcgRSBGMTxhZDcyPjQuMzk3IEUgRjAgMS44OTYKKyhvcHRpb24gaXMgc3VwcGxpZWQgYXQgaW4pNC4zOTcgRiAtLjIodm8pLS40IEcgMS44OTYKKyhjYXRpb24sIHRoZSBzaGVsbCBiZWNvbWVzKS4yIEYgMy40NDUocmVzdHJpY3RlZC4gQSkxMDggMzY3LjIgUiAuOTQ1CisocmVzdHJpY3RlZCBzaGVsbCBpcyB1c2VkIHRvIHNldCB1cCBhbiBlbikzLjQ0NSBGIC45NDYKKyh2aXJvbm1lbnQgbW9yZSBjb250cm9sbGVkIHRoYW4gdGhlIHN0YW5kYXJkIHNoZWxsLiktLjQgRihJdCk1Ljk0NiBFCisoYmVoYSkxMDggMzc5LjIgUSAtLjE1KHZlKS0uMiBHIDIuNShzaSkuMTUgRyhkZW50aWNhbGx5IHRvKS0yLjUgRSBGMQorKGJhc2gpMi41IEUgRjAod2l0aCB0aGUgZSkyLjUgRSh4Y2VwdGlvbiB0aGF0IHRoZSBmb2xsbyktLjE1IEUKKyh3aW5nIGFyZSBkaXNhbGxvKS0uMjUgRSh3ZWQgb3Igbm90IHBlcmZvcm1lZDopLS4yNSBFIDMyLjU8ODM2Mz4xMDggMzk2CitTKGhhbmdpbmcgZGlyZWN0b3JpZXMgd2l0aCktMzIuNSBFIEYxKGNkKTIuNSBFIEYwIDMyLjU8ODM3Mz4xMDggNDEyLjggUworKGV0dGluZyBvciB1bnNldHRpbmcgdGhlIHYpLTMyLjUgRShhbHVlcyBvZiktLjI1IEUgRjMoU0hFTEwpMi41IEUgRjQoLClBCitGMyAtLjY2NihQQSkyLjI1IEcoVEgpLS4xODkgRSBGNCgsKUEgRjMoRU5WKTIuMjUgRSBGNCgsKUEgRjAob3IpMi4yNSBFCitGMyAtLjI3KEJBKTIuNSBHKFNIX0VOVikuMjcgRSBGMCAzMi41PDgzNzM+MTA4IDQyOS42IFMKKyhwZWNpZnlpbmcgY29tbWFuZCBuYW1lcyBjb250YWluaW5nKS0zMi41IEUgRjEoLykyLjUgRSBGMCAzMi41PDgzNzM+MTA4Cis0NDYuNCBTKHBlY2lmeWluZyBhIFwyMTRsZSBuYW1lIGNvbnRhaW5pbmcgYSktMzIuNSBFIEYxKC8pMi41IEUgRjAKKyhhcyBhbiBhcikyLjUgRShndW1lbnQgdG8gdGhlKS0uMTggRSBGMSguKTIuNSBFIEYwIC0uMihidSk1IEcKKyhpbHRpbiBjb21tYW5kKS4yIEUgMzIuNTw4MzczPjEwOCA0NjMuMiBTIC40NQorKHBlY2lmeWluZyBhIFwyMTRsZW5hbWUgY29udGFpbmluZyBhIHNsYXNoIGFzIGFuIGFyKS0zMi41IEYgLjQ0OQorKGd1bWVudCB0byB0aGUpLS4xOCBGIEYxPGFkNzA+Mi45NDkgRSBGMCAuNDQ5KG9wdGlvbiB0byB0aGUpMi45NDkgRiBGMQorKGhhc2gpMi45NDkgRSBGMCAtLjIoYnUpMi45NDkgRyAuNDQ5KGlsdGluIGNvbS0pLjIgRihtYW5kKTE0NCA0NzUuMiBRCiszMi41PDgzNjk+MTA4IDQ5MiBTKG1wb3J0aW5nIGZ1bmN0aW9uIGRlXDIxNG5pdGlvbnMgZnJvbSB0aGUgc2hlbGwgZW4pCistMzIuNSBFKHZpcm9ubWVudCBhdCBzdGFydHVwKS0uNCBFIDMyLjU8ODM3MD4xMDggNTA4LjggUyhhcnNpbmcgdGhlIHYpCistMzIuNSBFKGFsdWUgb2YpLS4yNSBFIEYzKFNIRUxMT1BUUykyLjUgRSBGMChmcm9tIHRoZSBzaGVsbCBlbikyLjI1IEUKKyh2aXJvbm1lbnQgYXQgc3RhcnR1cCktLjQgRSAzMi41PDgzNzI+MTA4IDUyNS42IFMoZWRpcmVjdGluZyBvdXRwdXQgdXNpXAorbmcgdGhlID4sID58LCA8PiwgPiYsICY+LCBhbmQgPj4gcmVkaXJlY3Rpb24gb3BlcmF0b3JzKS0zMi41IEUgMzIuNQorPDgzNzU+MTA4IDU0Mi40IFMoc2luZyB0aGUpLTMyLjUgRSBGMShleGVjKTIuNSBFIEYwIC0uMihidSkyLjUgRworKGlsdGluIGNvbW1hbmQgdG8gcmVwbGFjZSB0aGUgc2hlbGwgd2l0aCBhbm90aGVyIGNvbW1hbmQpLjIgRSAzMi41PDgzNjE+CisxMDggNTU5LjIgUyhkZGluZyBvciBkZWxldGluZyBiKS0zMi41IEUodWlsdGluIGNvbW1hbmRzIHdpdGggdGhlKS0uMiBFCitGMTxhZDY2PjIuNSBFIEYwKGFuZCkyLjUgRSBGMTxhZDY0PjIuNSBFIEYwKG9wdGlvbnMgdG8gdGhlKTIuNSBFIEYxCisoZW5hYmxlKTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBjb21tYW5kKS4yIEUgMzIuNTw4Mzc1PjEwOCA1NzYgUworKHNpbmcgdGhlKS0zMi41IEUgRjEoZW5hYmxlKTIuNSBFIEYwIC0uMihidSkyLjUgRworKGlsdGluIGNvbW1hbmQgdG8gZW5hYmxlIGRpc2FibGVkIHNoZWxsIGIpLjIgRSh1aWx0aW5zKS0uMiBFIDMyLjU8ODM3Mz4KKzEwOCA1OTIuOCBTKHBlY2lmeWluZyB0aGUpLTMyLjUgRSBGMTxhZDcwPjIuNSBFIEYwKG9wdGlvbiB0byB0aGUpMi41IEUKK0YxKGNvbW1hbmQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQpLjIgRSAzMi41PDgzNzQ+MTA4IDYwOS42CitTKHVybmluZyBvZiktMzIuNSBFIDIuNShmciktLjI1IEcoZXN0cmljdGVkIG1vZGUgd2l0aCktMi41IEUgRjEoc2V0ICtyKQorMi41IEUgRjAob3IpMi41IEUgRjEoc2V0ICtvIHIpMi41IEUoZXN0cmljdGVkKS0uMTggRSBGMCguKUEKKyhUaGVzZSByZXN0cmljdGlvbnMgYXJlIGVuZm9yY2VkIGFmdGVyIGFuKTEwOCA2MjYuNCBRIDIuNSh5cyktLjE1IEcKKyh0YXJ0dXAgXDIxNGxlcyBhcmUgcmVhZC4pLTIuNSBFIDEuNTY2CisoV2hlbiBhIGNvbW1hbmQgdGhhdCBpcyBmb3VuZCB0byBiZSBhIHNoZWxsIHNjcmlwdCBpcyBlKTEwOCA2NDMuMiBSIC0uMTUKKyh4ZSktLjE1IEcgMS41NjcoY3V0ZWQgXChzZWUpLjE1IEYgRjMgMS41NjcoQ09NTUFORCBFWEVDVVRJT04pNC4wNjcgRiBGMAorKGFibykzLjgxNyBFIC0uMTUodmUpLS4xNSBHKFwpLCkuMTUgRSBGMShyYmFzaCkxMDggNjU1LjIgUSBGMCh0dXJucyBvZikKKzIuNSBFIDIuNShmYSktLjI1IEcgLjMgLS4xNShueSByKS0yLjUgSChlc3RyaWN0aW9ucyBpbiB0aGUgc2hlbGwgc3BhKS4xNQorRSh3bmVkIHRvIGUpLS4xNSBFIC0uMTUoeGUpLS4xNSBHKGN1dGUgdGhlIHNjcmlwdC4pLjE1IEUgRjUoU0VFIEFMU08pNzIKKzY3MiBRIEYyKEJhc2ggUmVmZXIpMTA4IDY4NCBRKGVuY2UgTWFudWFsKS0uMzcgRSBGMCAyLjUoLEIpQyhyaWFuIEYpLTIuNQorRShveCBhbmQgQ2hldCBSYW1lKS0uMTUgRSh5KS0uMTUgRSBGMihUaGUgR251IFJlYWRsaW5lIExpYnIpMTA4IDY5NiBRCisoYXJ5KS0uMTUgRSBGMCAyLjUoLEIpQyhyaWFuIEYpLTIuNSBFKG94IGFuZCBDaGV0IFJhbWUpLS4xNSBFKHkpLS4xNSBFCisoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpMTM1Ljk2NSBFKDcwKTE4NS45NTUgRSAwIENnIEVQCislJVBhZ2U6IDcxIDcxCislJUJlZ2luUGFnZVNldHVwCitCUAorJSVFbmRQYWdlU2V0dXAKKy9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyAzODkuNTQoU0hcKDFcKSBCKS4zNSBGKEFTSFwoMVwpKQorLS4zNSBFL0YxIDEwL1RpbWVzLUl0YWxpY0AwIFNGKFRoZSBHbnUgSGlzdG9yeSBMaWJyKTEwOCA4NCBRKGFyeSktLjE1IEUKK0YwIDIuNSgsQilDKHJpYW4gRiktMi41IEUob3ggYW5kIENoZXQgUmFtZSktLjE1IEUoeSktLjE1IEUgRjEgLS44KFBvKTEwOAorOTYgUyhydGFibGUgT3BlcikuOCBFKGF0aW5nIFN5c3RlbSBJbnRlcmZhY2UgXChQT1NJWFwpIFApLS4xNSBFCisoYXJ0IDI6IFNoZWxsIGFuZCBVdGlsaXRpZXMpLS44IEUgRjAgMi41KCxJKUMoRUVFKS0yLjUgRSBGMShzaCkxMDggMTA4IFEKK0YwKFwoMVwpLClBIEYxKGtzaCkyLjUgRSBGMChcKDFcKSwpQSBGMShjc2gpMi41IEUgRjAoXCgxXCkpQSBGMShlbWFjcykKKzEwOCAxMjAgUSBGMChcKDFcKSwpQSBGMSh2aSkyLjUgRSBGMChcKDFcKSlBIEYxIC0uMzcocmUpMTA4IDEzMiBTCisoYWRsaW5lKS4zNyBFIEYwKFwoM1wpKUEvRjIgMTAuOTUvVGltZXMtQm9sZEAwIFNGKEZJTEVTKTcyIDE0OC44IFEgRjEKKygvYmluL2Jhc2gpMTA5LjY2NiAxNjAuOCBRIEYwKFRoZSkxNDQgMTcyLjggUS9GMyAxMC9UaW1lcy1Cb2xkQDAgU0YKKyhiYXNoKTIuNSBFIEYwIC0uMTUoZXhlKTIuNSBHKGN1dGFibGUpLjE1IEUgRjEoL2V0Yy9wcikxMDkuNjY2IDE4NC44IFEKKyhvXDIxNGxlKS0uNDUgRSBGMChUaGUgc3lzdGVtd2lkZSBpbml0aWFsaXphdGlvbiBcMjE0bGUsIGUpMTQ0IDE5Ni44IFEKKy0uMTUoeGUpLS4xNSBHKGN1dGVkIGZvciBsb2dpbiBzaGVsbHMpLjE1IEUgRjEofi8uYmFzaF9wcikxMDkuNjY2IDIwOC44CitRKG9cMjE0bGUpLS40NSBFIEYwKFRoZSBwZXJzb25hbCBpbml0aWFsaXphdGlvbiBcMjE0bGUsIGUpMTQ0IDIyMC44IFEKKy0uMTUoeGUpLS4xNSBHKGN1dGVkIGZvciBsb2dpbiBzaGVsbHMpLjE1IEUgRjEofi8uYmFzaHIpMTA5LjY2NiAyMzIuOCBRCisoYyktLjM3IEUgRjAoVGhlIGluZGkpMTQ0IDI0NC44IFEodmlkdWFsIHBlciktLjI1IEUoLWludGVyYWN0aSktLjIgRQorLS4xNSh2ZSktLjI1IEcoLXNoZWxsIHN0YXJ0dXAgXDIxNGxlKS4xNSBFIEYxKH4vLmJhc2hfbG8pMTA5LjY2NiAyNTYuOCBRCisoZ291dCktLjEgRSBGMChUaGUgaW5kaSkxNDQgMjY4LjggUQorKHZpZHVhbCBsb2dpbiBzaGVsbCBjbGVhbnVwIFwyMTRsZSwgZSktLjI1IEUgLS4xNSh4ZSktLjE1IEcKKyhjdXRlZCB3aGVuIGEgbG9naW4gc2hlbGwgZSkuMTUgRSh4aXRzKS0uMTUgRSBGMSh+Ly5pbnB1dHIpMTA5LjY2NiAyODAuOAorUShjKS0uMzcgRSBGMChJbmRpKTE0NCAyOTIuOCBRKHZpZHVhbCktLjI1IEUgRjEgLS4zNyhyZSkyLjUgRyhhZGxpbmUpLjM3CitFIEYwKGluaXRpYWxpemF0aW9uIFwyMTRsZSkyLjUgRSBGMiAtLjU0OChBVSk3MiAzMDkuNiBTKFRIT1JTKS41NDggRSBGMAorKEJyaWFuIEYpMTA4IDMyMS42IFEob3gsIEZyZWUgU29mdHcpLS4xNSBFKGFyZSBGKS0uMSBFKG91bmRhdGlvbiktLjE1IEUKKyhiZm94QGdudS5vcikxMDggMzMzLjYgUShnKS0uMTggRShDaGV0IFJhbWUpMTA4IDM1MC40IFEgMS4zIC0uNjUoeSwgQykKKy0uMTUgSChhc2UgVykuNjUgRShlc3Rlcm4gUmVzZXJ2KS0uOCBFIDIuNShlVSktLjE1IEcobmkpLTIuNSBFIC0uMTUodmUpCistLjI1IEcocnNpdHkpLjE1IEUoY2hldC5yYW1lKTEwOCAzNjIuNCBRKHlAY2FzZS5lZHUpLS4xNSBFIEYyIC0uMTEoQlUpNzIKKzM3OS4yIFMgMi43MzgoR1IpLjExIEcoRVBPUiktMi43MzggRShUUyktLjQzOCBFIEYwIC41NjgKKyhJZiB5b3UgXDIxNG5kIGEgYikxMDggMzkxLjIgUiAuNTY4KHVnIGluKS0uMiBGIEYzKGJhc2gsKTMuMDY4IEUgRjAgLjU2OAorKHlvdSBzaG91bGQgcmVwb3J0IGl0LikzLjA2OCBGIC41NjgoQnV0IFwyMTRyc3QsIHlvdSBzaG91bGQgbWFrKTUuNTY4IEYKKzMuMDY4KGVzKS0uMSBHIC41NjgodXJlIHRoYXQgaXQgcmVhbGx5IGlzIGEgYiktMy4wNjggRiAuNTY3KHVnLCBhbmQpLS4yCitGIDUuNjI1KHRoYXQgaXQgYXBwZWFycyBpbiB0aGUgbGF0ZXN0IHYpMTA4IDQwMy4yIFIgNS42MjUoZXJzaW9uIG9mKS0uMTUKK0YgRjMoYmFzaCk4LjEyNSBFIEYwIDEwLjYyNSguVClDIDUuNjI1KGhlIGxhdGVzdCB2KS0xMC42MjUgRiA1LjYyNgorKGVyc2lvbiBpcyBhbCktLjE1IEYgLS4xKHdhKS0uMSBHIDUuNjI2KHlzIGEpLjEgRiAtLjI1KHZhKS0uMiBHIDUuNjI2CisoaWxhYmxlIGZyb20pLjI1IEYgRjEoZnRwOi8vZnRwLmdudS5vcikxMDggNDE1LjIgUShnL3B1Yi9nbnUvYmFzaC8pLS4zNworRSBGMCguKUEgLjQxMShPbmNlIHlvdSBoYSkxMDggNDMyIFIgLjcxMSAtLjE1KHZlIGQpLS4yIEggLjQxMQorKGV0ZXJtaW5lZCB0aGF0IGEgYikuMTUgRiAuNDExKHVnIGFjdHVhbGx5IGUpLS4yIEYgLjQxMSh4aXN0cywgdXNlIHRoZSkKKy0uMTUgRiBGMShiYXNoYikzLjE4IEUodWcpLS4yIEUgRjAgLjQxKGNvbW1hbmQgdG8gc3VibWl0IGEgYikzLjEzIEYgLjQxCisodWcgcmVwb3J0LiktLjIgRihJZik1LjQxIEUgLjU5NCh5b3UgaGEpMTA4IDQ0NCBSIC44OTQgLS4xNSh2ZSBhIFwyMTQpCistLjIgSCAuNTk1KHgsIHlvdSBhcmUgZW5jb3VyYWdlZCB0byBtYWlsIHRoYXQgYXMgd2VsbCEpLjE1IEYgLjU5NQorKFN1Z2dlc3Rpb25zIGFuZCBgcGhpbG9zb3BoaWNhbCcgYik1LjU5NSBGIC41OTUodWcgcmVwb3J0cyBtYXkpLS4yIEYKKyhiZSBtYWlsZWQgdG8pMTA4IDQ1NiBRIEYxIC0uMihidSkyLjUgRyhnLWJhc2hAZ251Lm9yKS4yIEUoZyktLjM3IEUgRjAKKyhvciBwb3N0ZWQgdG8gdGhlIFVzZW5ldCBuZSkyLjUgRSh3c2dyb3VwKS0uMjUgRSBGMyhnbnUuYmFzaC5iKTIuNSBFKHVnKQorLS4yIEUgRjAoLilBKEFMTCBiKTEwOCA0NzIuOCBRKHVnIHJlcG9ydHMgc2hvdWxkIGluY2x1ZGU6KS0uMiBFKFRoZSB2KQorMTA4IDQ4OS42IFEoZXJzaW9uIG51bWJlciBvZiktLjE1IEUgRjMoYmFzaCkyLjUgRSBGMChUaGUgaGFyZHcpMTA4IDUwMS42CitRKGFyZSBhbmQgb3BlcmF0aW5nIHN5c3RlbSktLjEgRShUaGUgY29tcGlsZXIgdXNlZCB0byBjb21waWxlKTEwOCA1MTMuNgorUSAyLjUoQWQpMTA4IDUyNS42IFMoZXNjcmlwdGlvbiBvZiB0aGUgYiktMi41IEUodWcgYmVoYSktLjIgRSh2aW91ciktLjIKK0UgMi41KEFzKTEwOCA1MzcuNiBTKGhvcnQgc2NyaXB0IG9yIGByZWNpcGUnIHdoaWNoIGUpLTIuNSBFIC0uMTUoeGUpLS4xNQorRyhyY2lzZXMgdGhlIGIpLjE1IEUodWcpLS4yIEUgRjEoYmFzaGIpMTA4LjI3IDU1NC40IFEodWcpLS4yIEUgRjAKIChpbnNlcnRzIHRoZSBcMjE0cnN0IHRocmVlIGl0ZW1zIGF1dG9tYXRpY2FsbHkgaW50byB0aGUgdGVtcGxhdGUgaXQgcHJvKQogMi43MiBFKHZpZGVzIGZvciBcMjE0bGluZyBhIGIpLS4xNSBFKHVnIHJlcG9ydC4pLS4yIEUoQ29tbWVudHMgYW5kIGIpMTA4Ci0yMTEuMiBRKHVnIHJlcG9ydHMgY29uY2VybmluZyB0aGlzIG1hbnVhbCBwYWdlIHNob3VsZCBiZSBkaXJlY3RlZCB0byktLjIKLUUgRjEgLS4xNShjaCkyLjUgRyhldEBwby5jd3J1LmVkdSkuMTUgRSBGMCguKS4yNSBFL0YzIDEwLjk1L1RpbWVzLUJvbGRAMAotU0YgLS4xMShCVSk3MiAyMjggUyhHUykuMTEgRSBGMChJdCcpMTA4IDI0MCBRIDIuNShzdCktLjU1IEcKLShvbyBiaWcgYW5kIHRvbyBzbG8pLTIuNSBFIC0uNjUody4pLS4yNSBHIDEuODY4Ci0oVGhlcmUgYXJlIHNvbWUgc3VidGxlIGRpZikxMDggMjU2LjggUiAxLjg2OChmZXJlbmNlcyBiZXR3ZWVuKS0uMjUgRiBGMgorNTcxLjIgUSh1ZyByZXBvcnRzIGNvbmNlcm5pbmcgdGhpcyBtYW51YWwgcGFnZSBzaG91bGQgYmUgZGlyZWN0ZWQgdG8pLS4yCitFIEYxIC0uMTUoY2gpMi41IEcoZXQucikuMTUgRShhbWUpLS4xNSBFKHlAY2FzZSktLjMgRSguZWR1KS0uMTUgRSBGMCguKQorLjI1IEUgRjIgLS4xMShCVSk3MiA1ODggUyhHUykuMTEgRSBGMChJdCcpMTA4IDYwMCBRIDIuNShzdCktLjU1IEcKKyhvbyBiaWcgYW5kIHRvbyBzbG8pLTIuNSBFIC0uNjUody4pLS4yNSBHIDEuODY5CisoVGhlcmUgYXJlIHNvbWUgc3VidGxlIGRpZikxMDggNjE2LjggUiAxLjg2OShmZXJlbmNlcyBiZXR3ZWVuKS0uMjUgRiBGMwogKGJhc2gpNC4zNjkgRSBGMCAxLjg2OShhbmQgdHJhZGl0aW9uYWwgdik0LjM2OSBGIDEuODY5KGVyc2lvbnMgb2YpLS4xNSBGCi1GMihzaCk0LjM2OSBFIEYwIDQuMzY5KCxtKUMgMS44Njkob3N0bHkgYmVjYXVzZSBvZiB0aGUpLTQuMzY5IEYvRjQgOQotL1RpbWVzLUJvbGRAMCBTRihQT1NJWCkxMDggMjY4LjggUSBGMChzcGVjaVwyMTRjYXRpb24uKTIuMjUgRQotKEFsaWFzZXMgYXJlIGNvbmZ1c2luZyBpbiBzb21lIHVzZXMuKTEwOCAyODUuNiBRKFNoZWxsIGIpMTA4IDMwMi40IFEKK0YzKHNoKTQuMzY4IEUgRjAgNC4zNjgoLG0pQyAxLjg2OChvc3RseSBiZWNhdXNlIG9mIHRoZSktNC4zNjggRi9GNCA5CisvVGltZXMtQm9sZEAwIFNGKFBPU0lYKTEwOCA2MjguOCBRIEYwKHNwZWNpXDIxNGNhdGlvbi4pMi4yNSBFCisoQWxpYXNlcyBhcmUgY29uZnVzaW5nIGluIHNvbWUgdXNlcy4pMTA4IDY0NS42IFEoU2hlbGwgYikxMDggNjYyLjQgUQogKHVpbHRpbiBjb21tYW5kcyBhbmQgZnVuY3Rpb25zIGFyZSBub3Qgc3RvcHBhYmxlL3Jlc3RhcnRhYmxlLiktLjIgRQogMS4zMTUoQ29tcG91bmQgY29tbWFuZHMgYW5kIGNvbW1hbmQgc2VxdWVuY2VzIG9mIHRoZSBmb3JtIGBhIDsgYiA7IGMnIGFcCi1yZSBub3QgaGFuZGxlZCBncmFjZWZ1bGx5IHdoZW4pMTA4IDMxOS4yIFIgLjM4OQotKHByb2Nlc3Mgc3VzcGVuc2lvbiBpcyBhdHRlbXB0ZWQuKTEwOCAzMzEuMiBSIC4zODkKLShXaGVuIGEgcHJvY2VzcyBpcyBzdG9wcGVkLCB0aGUgc2hlbGwgaW1tZWRpYXRlbHkgZSk1LjM4OSBGIC0uMTUoeGUpLS4xNQotRyAuMzkoY3V0ZXMgdGhlIG5lKS4xNSBGIC4zOSh4dCBjb20tKS0uMTUgRiAuMTkzKG1hbmQgaW4gdGhlIHNlcXVlbmNlLikKLTEwOCAzNDMuMiBSIC4xOTIoSXQgc3VmKTUuMTkzIEYgLjE5MihcMjE0Y2VzIHRvIHBsYWNlIHRoZSBzZXF1ZW5jZSBvZiBjXAotb21tYW5kcyBiZXR3ZWVuIHBhcmVudGhlc2VzIHRvIGZvcmNlIGl0IGludG8gYSktLjI1IEYKLShzdWJzaGVsbCwgd2hpY2ggbWF5IGJlIHN0b3BwZWQgYXMgYSB1bml0LikxMDggMzU1LjIgUShBcnJheSB2KTEwOCAzNzIgUQotKGFyaWFibGVzIG1heSBub3QgXCh5ZXRcKSBiZSBlKS0uMjUgRSh4cG9ydGVkLiktLjE1IEUKLShUaGVyZSBtYXkgYmUgb25seSBvbmUgYWN0aSkxMDggMzg4LjggUSAuMyAtLjE1KHZlIGMpLS4yNSBICi0ob3Byb2Nlc3MgYXQgYSB0aW1lLikuMTUgRShHTlUgQmFzaC00LjEpNzIgNzY4IFEoMjAwOSBEZWNlbWJlciAyOSkKLTEzNS45NjUgRSg3MCkxODUuOTU1IEUgMCBDZyBFUAorcmUgbm90IGhhbmRsZWQgZ3JhY2VmdWxseSB3aGVuKTEwOCA2NzkuMiBSIC4zOQorKHByb2Nlc3Mgc3VzcGVuc2lvbiBpcyBhdHRlbXB0ZWQuKTEwOCA2OTEuMiBSIC4zODkKKyhXaGVuIGEgcHJvY2VzcyBpcyBzdG9wcGVkLCB0aGUgc2hlbGwgaW1tZWRpYXRlbHkgZSk1LjM5IEYgLS4xNSh4ZSktLjE1CitHIC4zODkoY3V0ZXMgdGhlIG5lKS4xNSBGIC4zODkoeHQgY29tLSktLjE1IEYgLjE5MgorKG1hbmQgaW4gdGhlIHNlcXVlbmNlLikxMDggNzAzLjIgUiAuMTkyKEl0IHN1Zik1LjE5MiBGIC4xOTIoXDIxNGNlcyB0byBcCitwbGFjZSB0aGUgc2VxdWVuY2Ugb2YgY29tbWFuZHMgYmV0d2VlbiBwYXJlbnRoZXNlcyB0byBmb3JjZSBpdCBpbnRvIGEpCistLjI1IEYoc3Vic2hlbGwsIHdoaWNoIG1heSBiZSBzdG9wcGVkIGFzIGEgdW5pdC4pMTA4IDcxNS4yIFEKKyhHTlUgQmFzaC00LjIpNzIgNzY4IFEoMjAxMCBEZWNlbWJlciAyOCkxMzUuOTY1IEUoNzEpMTg1Ljk1NSBFIDAgQ2cgRVAKKyUlUGFnZTogNzIgNzIKKyUlQmVnaW5QYWdlU2V0dXAKK0JQCislJUVuZFBhZ2VTZXR1cAorL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTIDM4OS41NChTSFwoMVwpIEIpLjM1IEYoQVNIXCgxXCkpCistLjM1IEUoQXJyYXkgdikxMDggODQgUShhcmlhYmxlcyBtYXkgbm90IFwoeWV0XCkgYmUgZSktLjI1IEUoeHBvcnRlZC4pCistLjE1IEUoVGhlcmUgbWF5IGJlIG9ubHkgb25lIGFjdGkpMTA4IDEwMC44IFEgLjMgLS4xNSh2ZSBjKS0uMjUgSAorKG9wcm9jZXNzIGF0IGEgdGltZS4pLjE1IEUoR05VIEJhc2gtNC4yKTcyIDc2OCBRKDIwMTAgRGVjZW1iZXIgMjgpCisxMzUuOTY1IEUoNzIpMTg1Ljk1NSBFIDAgQ2cgRVAKICUlVHJhaWxlcgogZW5kCiAlJUVPRgpkaWZmIC0tZ2l0IGEvZG9jL2Jhc2hyZWYuZHZpIGIvZG9jL2Jhc2hyZWYuZHZpCmluZGV4IDY1MjE0NWEuLjU0OTRkYmYgMTAwNjQ0Ci0tLSBhL2RvYy9iYXNocmVmLmR2aQorKysgYi9kb2MvYmFzaHJlZi5kdmkKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvZG9jL2Jhc2hyZWYuaHRtbCBiL2RvYy9iYXNocmVmLmh0bWwKaW5kZXggZDM2YjcyYi4uZWU2MzQyMiAxMDA2NDQKLS0tIGEvZG9jL2Jhc2hyZWYuaHRtbAorKysgYi9kb2MvYmFzaHJlZi5odG1sCkBAIC0xLDYgKzEsNiBAQAogPEhUTUw+CiA8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wMSBUcmFuc2l0aW9uYWwvL0VOIj4KLTwhLS0gQ3JlYXRlZCBvbiBEZWNlbWJlciwgMjkgIDIwMDkgYnkgdGV4aTJodG1sIDEuNjQgLS0+Cis8IS0tIENyZWF0ZWQgb24gRGVjZW1iZXIsIDI4ICAyMDEwIGJ5IHRleGkyaHRtbCAxLjY0IC0tPgogPCEtLSAKIFdyaXR0ZW4gYnk6IExpb25lbCBDb25zIDxMaW9uZWwuQ29uc0BjZXJuLmNoPiAob3JpZ2luYWwgYXV0aG9yKQogICAgICAgICAgICAgS2FybCBCZXJyeSAgPGthcmxAZnJlZWZyaWVuZHMub3JnPgpAQCAtMjcsMTggKzI3LDE4IEBACiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgogPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMT5CYXNoIFJlZmVyZW5jZSBNYW51YWw8L0gxPjwvUD48UD4KIAogVGhpcyB0ZXh0IGlzIGEgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGZlYXR1cmVzIHRoYXQgYXJlIHByZXNlbnQgaW4KLXRoZSBCYXNoIHNoZWxsICh2ZXJzaW9uIDQuMSwgMjMgRGVjZW1iZXIgMjAwOSkuCit0aGUgQmFzaCBzaGVsbCAodmVyc2lvbiA0LjIsIDI4IERlY2VtYmVyIDIwMTApLgogPC9QPjxQPgogCi1UaGlzIGlzIEVkaXRpb24gNC4xLCBsYXN0IHVwZGF0ZWQgMjMgRGVjZW1iZXIgMjAwOSwKK1RoaXMgaXMgRWRpdGlvbiA0LjIsIGxhc3QgdXBkYXRlZCAyOCBEZWNlbWJlciAyMDEwLAogb2YgPENJVEU+VGhlIEdOVSBCYXNoIFJlZmVyZW5jZSBNYW51YWw8L0NJVEU+LAotZm9yIDxDT0RFPkJhc2g8L0NPREU+LCBWZXJzaW9uIDQuMS4KK2ZvciA8Q09ERT5CYXNoPC9DT0RFPiwgVmVyc2lvbiA0LjIuCiA8L1A+PFA+CiAKIEJhc2ggY29udGFpbnMgZmVhdHVyZXMgdGhhdCBhcHBlYXIgaW4gb3RoZXIgcG9wdWxhciBzaGVsbHMsIGFuZCBzb21lCkBAIC02MCwyMSArNjAsMjEgQEAKIDxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+Mi4gRGVmaW5pdGlvbnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Tb21lIGRlZmluaXRpb25zIHVzZWQgaW4gdGhlIHJlc3Qgb2YgdGhpcwogCQkJCW1hbnVhbC48L1REPjwvVFI+CiA8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUiPjMuIEJhc2ljIFNoZWxsIEZlYXR1cmVzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+VGhlIHNoZWxsICJidWlsZGluZyBibG9ja3MiLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPjQuIFNoZWxsIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Db21tYW5kcyB0aGF0IGFyZSBhIHBhcnQgb2YgdGhlIHNoZWxsLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjUiPjUuIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlZhcmlhYmxlcyB1c2VkIG9yIHNldCBieSBCYXNoLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjYuIEJhc2ggRmVhdHVyZXM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5GZWF0dXJlcyBmb3VuZCBvbmx5IGluIEJhc2guPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+Ny4gSm9iIENvbnRyb2w8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5XaGF0IGpvYiBjb250cm9sIGlzIGFuZCBob3cgQmFzaCBhbGxvd3MgeW91Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LiBTaGVsbCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+Q29tbWFuZHMgdGhhdCBhcmUgYSBwYXJ0IG9mIHRoZSBzaGVsbC48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LiBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5WYXJpYWJsZXMgdXNlZCBvciBzZXQgYnkgQmFzaC48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij42LiBCYXNoIEZlYXR1cmVzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+RmVhdHVyZXMgZm91bmQgb25seSBpbiBCYXNoLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTIiPjcuIEpvYiBDb250cm9sPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+V2hhdCBqb2IgY29udHJvbCBpcyBhbmQgaG93IEJhc2ggYWxsb3dzIHlvdQogCQkJCXRvIHVzZSBpdC48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij44LiBDb21tYW5kIExpbmUgRWRpdGluZzwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkNoYXB0ZXIgZGVzY3JpYmluZyB0aGUgY29tbWFuZCBsaW5lCis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk2Ij44LiBDb21tYW5kIExpbmUgRWRpdGluZzwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkNoYXB0ZXIgZGVzY3JpYmluZyB0aGUgY29tbWFuZCBsaW5lCiAJCQkJZWRpdGluZyBmZWF0dXJlcy48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+OS4gVXNpbmcgSGlzdG9yeSBJbnRlcmFjdGl2ZWx5PC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+Q29tbWFuZCBIaXN0b3J5IEV4cGFuc2lvbjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4xMC4gSW5zdGFsbGluZyBCYXNoPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRvIGJ1aWxkIGFuZCBpbnN0YWxsIEJhc2ggb24geW91ciBzeXN0ZW0uPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzUiPkEuIFJlcG9ydGluZyBCdWdzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRvIHJlcG9ydCBidWdzIGluIEJhc2guPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzYiPkIuIE1ham9yIERpZmZlcmVuY2VzIEZyb20gVGhlIEJvdXJuZSBTaGVsbDwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkEgdGVyc2UgbGlzdCBvZiB0aGUgZGlmZmVyZW5jZXMKKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIwIj45LiBVc2luZyBIaXN0b3J5IEludGVyYWN0aXZlbHk8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Db21tYW5kIEhpc3RvcnkgRXhwYW5zaW9uPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPjEwLiBJbnN0YWxsaW5nIEJhc2g8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgdG8gYnVpbGQgYW5kIGluc3RhbGwgQmFzaCBvbiB5b3VyIHN5c3RlbS48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNiI+QS4gUmVwb3J0aW5nIEJ1Z3M8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgdG8gcmVwb3J0IGJ1Z3MgaW4gQmFzaC48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNyI+Qi4gTWFqb3IgRGlmZmVyZW5jZXMgRnJvbSBUaGUgQm91cm5lIFNoZWxsPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+QSB0ZXJzZSBsaXN0IG9mIHRoZSBkaWZmZXJlbmNlcwogCQkJCQkJYmV0d2VlbiBCYXNoIGFuZCBoaXN0b3JpY2FsCiAJCQkJCQl2ZXJzaW9ucyBvZiAvYmluL3NoLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM4Ij5DLiBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2U8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Db3B5aW5nIGFuZCBzaGFyaW5nIHRoaXMgZG9jdW1lbnRhdGlvbi48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+RC4gSW5kZXhlczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlZhcmlvdXMgaW5kZXhlcyBmb3IgdGhpcyBtYW51YWwuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzkiPkMuIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZTwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkNvcHlpbmcgYW5kIHNoYXJpbmcgdGhpcyBkb2N1bWVudGF0aW9uLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5ELiBJbmRleGVzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+VmFyaW91cyBpbmRleGVzIGZvciB0aGlzIG1hbnVhbC48L1REPjwvVFI+CiA8L1RBQkxFPjwvQkxPQ0tRVU9URT4KIDxQPgogCkBAIC04OCw3ICs4OCw3IEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxBIE5BTUU9IkludHJvZHVjdGlvbiI+PC9BPgpAQCAtMTExLDcgKzExMSw3IEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gMS4xIFdoYXQgaXMgQmFzaD8gPC9IMj4KQEAgLTE1NSw3ICsxNTUsNyBAQAogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDEuMiBXaGF0IGlzIGEgc2hlbGw/IDwvSDI+CkBAIC0yMzIsNyArMjMyLDcgQEAKIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgxPiAyLiBEZWZpbml0aW9ucyA8L0gxPgpAQCAtMzE3LDcgKzMxNyw3IEBACiA8RFQ+PENPREU+b3BlcmF0b3I8L0NPREU+CiA8REQ+PEEgTkFNRT0iSURYMTIiPjwvQT4KIEEgPENPREU+Y29udHJvbCBvcGVyYXRvcjwvQ09ERT4gb3IgYSA8Q09ERT5yZWRpcmVjdGlvbiBvcGVyYXRvcjwvQ09ERT4uCi1TZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPjMuNiBSZWRpcmVjdGlvbnM8L0E+LCBmb3IgYSBsaXN0IG9mIHJlZGlyZWN0aW9uIG9wZXJhdG9ycy4KK1NlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+My42IFJlZGlyZWN0aW9uczwvQT4sIGZvciBhIGxpc3Qgb2YgcmVkaXJlY3Rpb24gb3BlcmF0b3JzLgogT3BlcmF0b3JzIGNvbnRhaW4gYXQgbGVhc3Qgb25lIHVucXVvdGVkIDxDT0RFPm1ldGFjaGFyYWN0ZXI8L0NPREU+LgogPFA+CiAKQEAgLTM3NiwxMiArMzc2LDEyIEBACiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgogPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+ICZsdDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgxPiAzLiBCYXNpYyBTaGVsbCBGZWF0dXJlcyA8L0gxPgpAQCAtNDA2LDEzICs0MDYsMTMgQEAKIDxCTE9DS1FVT1RFPjxUQUJMRSBCT1JERVI9MCBDRUxMU1BBQ0lORz0wPiAKIDxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNiI+My4xIFNoZWxsIFN5bnRheDwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPldoYXQgeW91ciBpbnB1dCBtZWFucyB0byB0aGUgc2hlbGwuPC9URD48L1RSPgogPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNSI+My4yIFNoZWxsIENvbW1hbmRzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+VGhlIHR5cGVzIG9mIGNvbW1hbmRzIHlvdSBjYW4gdXNlLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjQiPjMuMyBTaGVsbCBGdW5jdGlvbnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Hcm91cGluZyBjb21tYW5kcyBieSBuYW1lLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPjMuNCBTaGVsbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRoZSBzaGVsbCBzdG9yZXMgdmFsdWVzLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNSBTaGVsbCBFeHBhbnNpb25zPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IEJhc2ggZXhwYW5kcyBwYXJhbWV0ZXJzIGFuZCB0aGUgdmFyaW91cworPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+My4zIFNoZWxsIEZ1bmN0aW9uczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkdyb3VwaW5nIGNvbW1hbmRzIGJ5IG5hbWUuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNiI+My40IFNoZWxsIFBhcmFtZXRlcnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgdGhlIHNoZWxsIHN0b3JlcyB2YWx1ZXMuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+My41IFNoZWxsIEV4cGFuc2lvbnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgQmFzaCBleHBhbmRzIHBhcmFtZXRlcnMgYW5kIHRoZSB2YXJpb3VzCiAJCQkJZXhwYW5zaW9ucyBhdmFpbGFibGUuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+My42IFJlZGlyZWN0aW9uczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkEgd2F5IHRvIGNvbnRyb2wgd2hlcmUgaW5wdXQgYW5kIG91dHB1dCBnby48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUwIj4zLjcgRXhlY3V0aW5nIENvbW1hbmRzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+V2hhdCBoYXBwZW5zIHdoZW4geW91IHJ1biBhIGNvbW1hbmQuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+My44IFNoZWxsIFNjcmlwdHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5FeGVjdXRpbmcgZmlsZXMgb2Ygc2hlbGwgY29tbWFuZHMuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+My42IFJlZGlyZWN0aW9uczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkEgd2F5IHRvIGNvbnRyb2wgd2hlcmUgaW5wdXQgYW5kIG91dHB1dCBnby48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4zLjcgRXhlY3V0aW5nIENvbW1hbmRzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+V2hhdCBoYXBwZW5zIHdoZW4geW91IHJ1biBhIGNvbW1hbmQuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OCI+My44IFNoZWxsIFNjcmlwdHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5FeGVjdXRpbmcgZmlsZXMgb2Ygc2hlbGwgY29tbWFuZHMuPC9URD48L1RSPgogPC9UQUJMRT48L0JMT0NLUVVPVEU+CiA8UD4KIApAQCAtNDI3LDcgKzQyNyw3IEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE1Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDMuMSBTaGVsbCBTeW50YXggPC9IMj4KQEAgLTQ2Nyw3ICs0NjcsNyBAQAogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiAzLjEuMSBTaGVsbCBPcGVyYXRpb24gPC9IMz4KQEAgLTQ4MSwxNiArNDgxLDE2IEBACiAKIDxPTD4KIDxMST4KLVJlYWRzIGl0cyBpbnB1dCBmcm9tIGEgZmlsZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU3Ij4zLjggU2hlbGwgU2NyaXB0czwvQT4pLCBmcm9tIGEgc3RyaW5nCitSZWFkcyBpdHMgaW5wdXQgZnJvbSBhIGZpbGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OCI+My44IFNoZWxsIFNjcmlwdHM8L0E+KSwgZnJvbSBhIHN0cmluZwogc3VwcGxpZWQgYXMgYW4gYXJndW1lbnQgdG8gdGhlIDxTQU1QPmAtYyc8L1NBTVA+IGludm9jYXRpb24gb3B0aW9uCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij42LjEgSW52b2tpbmcgQmFzaDwvQT4pLCBvciBmcm9tIHRoZSB1c2VyJ3MgdGVybWluYWwuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzcwIj42LjEgSW52b2tpbmcgQmFzaDwvQT4pLCBvciBmcm9tIHRoZSB1c2VyJ3MgdGVybWluYWwuCiA8UD4KIAogPExJPgogQnJlYWtzIHRoZSBpbnB1dCBpbnRvIHdvcmRzIGFuZCBvcGVyYXRvcnMsIG9iZXlpbmcgdGhlIHF1b3RpbmcgcnVsZXMKIGRlc2NyaWJlZCBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOCI+My4xLjIgUXVvdGluZzwvQT4uICBUaGVzZSB0b2tlbnMgYXJlIHNlcGFyYXRlZCBieQogPENPREU+bWV0YWNoYXJhY3RlcnM8L0NPREU+LiAgQWxpYXMgZXhwYW5zaW9uIGlzIHBlcmZvcm1lZCBieSB0aGlzIHN0ZXAKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODQiPjYuNiBBbGlhc2VzPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij42LjYgQWxpYXNlczwvQT4pLgogPFA+CiAKIDxMST4KQEAgLTQ5OSwyMyArNDk5LDIzIEBACiA8UD4KIAogPExJPgotUGVyZm9ybXMgdGhlIHZhcmlvdXMgc2hlbGwgZXhwYW5zaW9ucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4zLjUgU2hlbGwgRXhwYW5zaW9uczwvQT4pLCBicmVha2luZwotdGhlIGV4cGFuZGVkIHRva2VucyBpbnRvIGxpc3RzIG9mIGZpbGVuYW1lcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM2Ij4zLjUuOCBGaWxlbmFtZSBFeHBhbnNpb248L0E+KQorUGVyZm9ybXMgdGhlIHZhcmlvdXMgc2hlbGwgZXhwYW5zaW9ucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI5Ij4zLjUgU2hlbGwgRXhwYW5zaW9uczwvQT4pLCBicmVha2luZwordGhlIGV4cGFuZGVkIHRva2VucyBpbnRvIGxpc3RzIG9mIGZpbGVuYW1lcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM3Ij4zLjUuOCBGaWxlbmFtZSBFeHBhbnNpb248L0E+KQogYW5kIGNvbW1hbmRzIGFuZCBhcmd1bWVudHMuCiA8UD4KIAogPExJPgotUGVyZm9ybXMgYW55IG5lY2Vzc2FyeSByZWRpcmVjdGlvbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+My42IFJlZGlyZWN0aW9uczwvQT4pIGFuZCByZW1vdmVzCitQZXJmb3JtcyBhbnkgbmVjZXNzYXJ5IHJlZGlyZWN0aW9ucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4zLjYgUmVkaXJlY3Rpb25zPC9BPikgYW5kIHJlbW92ZXMKIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvcnMgYW5kIHRoZWlyIG9wZXJhbmRzIGZyb20gdGhlIGFyZ3VtZW50IGxpc3QuCiA8UD4KIAogPExJPgotRXhlY3V0ZXMgdGhlIGNvbW1hbmQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MCI+My43IEV4ZWN1dGluZyBDb21tYW5kczwvQT4pLgorRXhlY3V0ZXMgdGhlIGNvbW1hbmQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MSI+My43IEV4ZWN1dGluZyBDb21tYW5kczwvQT4pLgogPFA+CiAKIDxMST4KIE9wdGlvbmFsbHkgd2FpdHMgZm9yIHRoZSBjb21tYW5kIHRvIGNvbXBsZXRlIGFuZCBjb2xsZWN0cyBpdHMgZXhpdAotc3RhdHVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTUiPjMuNy41IEV4aXQgU3RhdHVzPC9BPikuCitzdGF0dXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NiI+My43LjUgRXhpdCBTdGF0dXM8L0E+KS4KIDxQPgogCiA8L09MPgpAQCAtNTMyLDcgKzUzMiw3IEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDMuMS4yIFF1b3RpbmcgPC9IMz4KQEAgLTU2MCw5ICs1NjAsOSBAQAogaGFzIHNwZWNpYWwgbWVhbmluZyB0byB0aGUgc2hlbGwgYW5kIG11c3QgYmUgcXVvdGVkIGlmIGl0IGlzIHRvCiByZXByZXNlbnQgaXRzZWxmLgogV2hlbiB0aGUgY29tbWFuZCBoaXN0b3J5IGV4cGFuc2lvbiBmYWNpbGl0aWVzIGFyZSBiZWluZyB1c2VkCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMiI+OS4zIEhpc3RvcnkgRXhwYW5zaW9uPC9BPiksIHRoZQorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjMiPjkuMyBIaXN0b3J5IEV4cGFuc2lvbjwvQT4pLCB0aGUKIDxWQVI+aGlzdG9yeSBleHBhbnNpb248L1ZBUj4gY2hhcmFjdGVyLCB1c3VhbGx5IDxTQU1QPmAhJzwvU0FNUD4sIG11c3QgYmUgcXVvdGVkCi10byBwcmV2ZW50IGhpc3RvcnkgZXhwYW5zaW9uLiAgU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMCI+OS4xIEJhc2ggSGlzdG9yeSBGYWNpbGl0aWVzPC9BPiwgZm9yCit0byBwcmV2ZW50IGhpc3RvcnkgZXhwYW5zaW9uLiAgU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4xIEJhc2ggSGlzdG9yeSBGYWNpbGl0aWVzPC9BPiwgZm9yCiBtb3JlIGRldGFpbHMgY29uY2VybmluZyBoaXN0b3J5IGV4cGFuc2lvbi4KIDwvUD48UD4KIApAQCAtNTgxLDcgKzU4MSw3IEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDQ+IDMuMS4yLjEgRXNjYXBlIENoYXJhY3RlciA8L0g0PgpAQCAtNjA1LDcgKzYwNSw3IEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDQ+IDMuMS4yLjIgU2luZ2xlIFF1b3RlcyA8L0g0PgpAQCAtNjI4LDcgKzYyOCw3IEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDQ+IDMuMS4yLjMgRG91YmxlIFF1b3RlcyA8L0g0PgpAQCAtNjQwLDcgKzY0MCw3IEBACiA8U0FNUD5gJCc8L1NBTVA+LCA8U0FNUD5gYCc8L1NBTVA+LCA8U0FNUD5gXCc8L1NBTVA+LAogYW5kLCB3aGVuIGhpc3RvcnkgZXhwYW5zaW9uIGlzIGVuYWJsZWQsIDxTQU1QPmAhJzwvU0FNUD4uCiBUaGUgY2hhcmFjdGVycyA8U0FNUD5gJCc8L1NBTVA+IGFuZCA8U0FNUD5gYCc8L1NBTVA+Ci1yZXRhaW4gdGhlaXIgc3BlY2lhbCBtZWFuaW5nIHdpdGhpbiBkb3VibGUgcXVvdGVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNSBTaGVsbCBFeHBhbnNpb25zPC9BPikuCityZXRhaW4gdGhlaXIgc3BlY2lhbCBtZWFuaW5nIHdpdGhpbiBkb3VibGUgcXVvdGVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjkiPjMuNSBTaGVsbCBFeHBhbnNpb25zPC9BPikuCiBUaGUgYmFja3NsYXNoIHJldGFpbnMgaXRzIHNwZWNpYWwgbWVhbmluZyBvbmx5IHdoZW4gZm9sbG93ZWQgYnkgb25lIG9mCiB0aGUgZm9sbG93aW5nIGNoYXJhY3RlcnM6CiA8U0FNUD5gJCc8L1NBTVA+LCA8U0FNUD5gYCc8L1NBTVA+LCA8U0FNUD5gIic8L1NBTVA+LCA8U0FNUD5gXCc8L1NBTVA+LCBvciA8Q09ERT5uZXdsaW5lPC9DT0RFPi4KQEAgLTY1NSw3ICs2NTUsNyBAQAogPC9QPjxQPgogCiBUaGUgc3BlY2lhbCBwYXJhbWV0ZXJzIDxTQU1QPmAqJzwvU0FNUD4gYW5kIDxTQU1QPmBAJzwvU0FNUD4gaGF2ZSBzcGVjaWFsIG1lYW5pbmcKLXdoZW4gaW4gZG91YmxlIHF1b3RlcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMxIj4zLjUuMyBTaGVsbCBQYXJhbWV0ZXIgRXhwYW5zaW9uPC9BPikuCit3aGVuIGluIGRvdWJsZSBxdW90ZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT4pLgogPC9QPjxQPgogCiA8QSBOQU1FPSJBTlNJLUMgUXVvdGluZyI+PC9BPgpAQCAtNjY5LDcgKzY2OSw3IEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDQ+IDMuMS4yLjQgQU5TSS1DIFF1b3RpbmcgPC9IND4KQEAgLTcxMiw2ICs3MTIsMTIgQEAKIDxEVD48Q09ERT5ceDxWQVI+SEg8L1ZBUj48L0NPREU+CiA8REQ+dGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgdGhlIGhleGFkZWNpbWFsIHZhbHVlIDxWQVI+SEg8L1ZBUj4KIChvbmUgb3IgdHdvIGhleCBkaWdpdHMpCis8RFQ+PENPREU+XHU8VkFSPkhISEg8L1ZBUj48L0NPREU+Cis8REQ+dGhlIFVuaWNvZGUgKElTTy9JRUMgMTA2NDYpIGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUKKzxWQVI+SEhISDwvVkFSPiAob25lIHRvIGZvdXIgaGV4IGRpZ2l0cykKKzxEVD48Q09ERT5cVTxWQVI+SEhISEhISEg8L1ZBUj48L0NPREU+Cis8REQ+dGhlIFVuaWNvZGUgKElTTy9JRUMgMTA2NDYpIGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUKKzxWQVI+SEhISEhISEg8L1ZBUj4gKG9uZSB0byBlaWdodCBoZXggZGlnaXRzKQogPERUPjxDT0RFPlxjPFZBUj54PC9WQVI+PC9DT0RFPgogPEREPmEgY29udHJvbC08VkFSPng8L1ZBUj4gY2hhcmFjdGVyCiA8L0RMPgpAQCAtNzMyLDcgKzczOCw3IEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDQ+IDMuMS4yLjUgTG9jYWxlLVNwZWNpZmljIFRyYW5zbGF0aW9uIDwvSDQ+CkBAIC03NzEsNyArNzc3LDcgQEAKIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTUiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy4xLjMgQ29tbWVudHMgPC9IMz4KQEAgLTc4MCwxMyArNzg2LDEzIEBACiAKIEluIGEgbm9uLWludGVyYWN0aXZlIHNoZWxsLCBvciBhbiBpbnRlcmFjdGl2ZSBzaGVsbCBpbiB3aGljaCB0aGUKIDxDT0RFPmludGVyYWN0aXZlX2NvbW1lbnRzPC9DT0RFPiBvcHRpb24gdG8gdGhlIDxDT0RFPnNob3B0PC9DT0RFPgotYnVpbHRpbiBpcyBlbmFibGVkIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPiksCitidWlsdGluIGlzIGVuYWJsZWQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+KSwKIGEgd29yZCBiZWdpbm5pbmcgd2l0aCA8U0FNUD5gIyc8L1NBTVA+CiBjYXVzZXMgdGhhdCB3b3JkIGFuZCBhbGwgcmVtYWluaW5nIGNoYXJhY3RlcnMgb24gdGhhdCBsaW5lIHRvCiBiZSBpZ25vcmVkLiAgQW4gaW50ZXJhY3RpdmUgc2hlbGwgd2l0aG91dCB0aGUgPENPREU+aW50ZXJhY3RpdmVfY29tbWVudHM8L0NPREU+CiBvcHRpb24gZW5hYmxlZCBkb2VzIG5vdCBhbGxvdyBjb21tZW50cy4gIFRoZSA8Q09ERT5pbnRlcmFjdGl2ZV9jb21tZW50czwvQ09ERT4KIG9wdGlvbiBpcyBvbiBieSBkZWZhdWx0IGluIGludGVyYWN0aXZlIHNoZWxscy4KLVNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OCI+Ni4zIEludGVyYWN0aXZlIFNoZWxsczwvQT4sIGZvciBhIGRlc2NyaXB0aW9uIG9mIHdoYXQgbWFrZXMKK1NlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OSI+Ni4zIEludGVyYWN0aXZlIFNoZWxsczwvQT4sIGZvciBhIGRlc2NyaXB0aW9uIG9mIHdoYXQgbWFrZXMKIGEgc2hlbGwgaW50ZXJhY3RpdmUuCiA8L1A+PFA+CiAKQEAgLTc5NiwxMiArODAyLDEyIEBACiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgogPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQiPiAmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTYiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjQiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI1Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDMuMiBTaGVsbCBDb21tYW5kcyA8L0gyPgpAQCAtODI1LDYgKzgzMSw3IEBACiA8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE4Ij4zLjIuMyBMaXN0cyBvZiBDb21tYW5kczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0byBleGVjdXRlIGNvbW1hbmRzIHNlcXVlbnRpYWxseS48L1REPjwvVFI+CiA8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE5Ij4zLjIuNCBDb21wb3VuZCBDb21tYW5kczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlNoZWxsIGNvbW1hbmRzIGZvciBjb250cm9sIGZsb3cuPC9URD48L1RSPgogPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyMyI+My4yLjUgQ29wcm9jZXNzZXM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ud28td2F5IGNvbW11bmljYXRpb24gYmV0d2VlbiBjb21tYW5kcy48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI0Ij4zLjIuNiBHTlUgUGFyYWxsZWw8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5SdW5uaW5nIGNvbW1hbmRzIGluIHBhcmFsbGVsLjwvVEQ+PC9UUj4KIDwvVEFCTEU+PC9CTE9DS1FVT1RFPgogPFA+CiAKQEAgLTgzNCwxMiArODQxLDEyIEBACiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgogPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTUiPiAmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTciPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTUiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI0Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiAzLjIuMSBTaW1wbGUgQ29tbWFuZHMgPC9IMz4KQEAgLTg1Myw3ICs4NjAsNyBAQAogcmVzdCBvZiB0aGUgd29yZHMgYmVpbmcgdGhhdCBjb21tYW5kJ3MgYXJndW1lbnRzLgogPC9QPjxQPgogCi1UaGUgcmV0dXJuIHN0YXR1cyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU1Ij4zLjcuNSBFeGl0IFN0YXR1czwvQT4pIG9mIGEgc2ltcGxlIGNvbW1hbmQgaXMKK1RoZSByZXR1cm4gc3RhdHVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTYiPjMuNy41IEV4aXQgU3RhdHVzPC9BPikgb2YgYSBzaW1wbGUgY29tbWFuZCBpcwogaXRzIGV4aXQgc3RhdHVzIGFzIHByb3ZpZGVkCiBieSB0aGUgUE9TSVggMTAwMy4xIDxDT0RFPndhaXRwaWQ8L0NPREU+IGZ1bmN0aW9uLCBvciAxMjgrPFZBUj5uPC9WQVI+IGlmCiB0aGUgY29tbWFuZCB3YXMgdGVybWluYXRlZCBieSBzaWduYWwgPFZBUj5uPC9WQVI+LgpAQCAtODY3LDEwICs4NzQsMTAgQEAKIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTgiPiAmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxOCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTUiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI0Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiAzLjIuMiBQaXBlbGluZXMgPC9IMz4KQEAgLTkwNywyMyArOTE0LDMzIEBACiB1c2VyIGFuZCBzeXN0ZW0gdGltZSBjb25zdW1lZCBieSB0aGUgY29tbWFuZCdzIGV4ZWN1dGlvbi4KIFRoZSA8U0FNUD5gLXAnPC9TQU1QPiBvcHRpb24gY2hhbmdlcyB0aGUgb3V0cHV0IGZvcm1hdCB0byB0aGF0IHNwZWNpZmllZAogYnkgUE9TSVguCitXaGVuIHRoZSBzaGVsbCBpcyBpbiBQT1NJWCBtb2RlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPjYuMTEgQmFzaCBQT1NJWCBNb2RlPC9BPiksCitpdCBkb2VzIG5vdCByZWNvZ25pemUgPENPREU+dGltZTwvQ09ERT4gYXMgYSByZXNlcnZlZCB3b3JkIGlmIHRoZSBuZXh0Cit0b2tlbiBiZWdpbnMgd2l0aCBhIDxTQU1QPmAtJzwvU0FNUD4uCiBUaGUgPENPREU+VElNRUZPUk1BVDwvQ09ERT4gdmFyaWFibGUgbWF5IGJlIHNldCB0byBhIGZvcm1hdCBzdHJpbmcgdGhhdAogc3BlY2lmaWVzIGhvdyB0aGUgdGltaW5nIGluZm9ybWF0aW9uIHNob3VsZCBiZSBkaXNwbGF5ZWQuCi1TZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT4sIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBhdmFpbGFibGUgZm9ybWF0cy4KK1NlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPiwgZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIGF2YWlsYWJsZSBmb3JtYXRzLgogVGhlIHVzZSBvZiA8Q09ERT50aW1lPC9DT0RFPiBhcyBhIHJlc2VydmVkIHdvcmQgcGVybWl0cyB0aGUgdGltaW5nIG9mCiBzaGVsbCBidWlsdGlucywgc2hlbGwgZnVuY3Rpb25zLCBhbmQgcGlwZWxpbmVzLiAgQW4gZXh0ZXJuYWwKIDxDT0RFPnRpbWU8L0NPREU+IGNvbW1hbmQgY2Fubm90IHRpbWUgdGhlc2UgZWFzaWx5LgogPC9QPjxQPgogCitXaGVuIHRoZSBzaGVsbCBpcyBpbiBQT1NJWCBtb2RlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPjYuMTEgQmFzaCBQT1NJWCBNb2RlPC9BPiksIDxDT0RFPnRpbWU8L0NPREU+CittYXkgYmUgZm9sbG93ZWQgYnkgYSBuZXdsaW5lLiAgSW4gdGhpcyBjYXNlLCB0aGUgc2hlbGwgZGlzcGxheXMgdGhlCit0b3RhbCB1c2VyIGFuZCBzeXN0ZW0gdGltZSBjb25zdW1lZCBieSB0aGUgc2hlbGwgYW5kIGl0cyBjaGlsZHJlbi4KK1RoZSA8Q09ERT5USU1FRk9STUFUPC9DT0RFPiB2YXJpYWJsZSBtYXkgYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBmb3JtYXQgb2YKK3RoZSB0aW1lIGluZm9ybWF0aW9uLgorPC9QPjxQPgorCiBJZiB0aGUgcGlwZWxpbmUgaXMgbm90IGV4ZWN1dGVkIGFzeW5jaHJvbm91c2x5IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTgiPjMuMi4zIExpc3RzIG9mIENvbW1hbmRzPC9BPiksIHRoZQogc2hlbGwgd2FpdHMgZm9yIGFsbCBjb21tYW5kcyBpbiB0aGUgcGlwZWxpbmUgdG8gY29tcGxldGUuCiA8L1A+PFA+CiAKIEVhY2ggY29tbWFuZCBpbiBhIHBpcGVsaW5lIGlzIGV4ZWN1dGVkIGluIGl0cyBvd24gc3Vic2hlbGwKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTMiPjMuNy4zIENvbW1hbmQgRXhlY3V0aW9uIEVudmlyb25tZW50PC9BPikuICBUaGUgZXhpdAorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NCI+My43LjMgQ29tbWFuZCBFeGVjdXRpb24gRW52aXJvbm1lbnQ8L0E+KS4gIFRoZSBleGl0CiBzdGF0dXMgb2YgYSBwaXBlbGluZSBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBpbiB0aGUKIHBpcGVsaW5lLCB1bmxlc3MgdGhlIDxDT0RFPnBpcGVmYWlsPC9DT0RFPiBvcHRpb24gaXMgZW5hYmxlZAotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KS4KIElmIDxDT0RFPnBpcGVmYWlsPC9DT0RFPiBpcyBlbmFibGVkLCB0aGUgcGlwZWxpbmUncyByZXR1cm4gc3RhdHVzIGlzIHRoZQogdmFsdWUgb2YgdGhlIGxhc3QgKHJpZ2h0bW9zdCkgY29tbWFuZCB0byBleGl0IHdpdGggYSBub24temVybyBzdGF0dXMsCiBvciB6ZXJvIGlmIGFsbCBjb21tYW5kcyBleGl0IHN1Y2Nlc3NmdWxseS4KQEAgLTk0MiwxMCArOTU5LDEwIEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE5Ij4gJmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTkiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE1Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy4yLjMgTGlzdHMgb2YgQ29tbWFuZHMgPC9IMz4KQEAgLTk3Miw3ICs5ODksNyBAQAogVGhpcyBpcyBrbm93biBhcyBleGVjdXRpbmcgdGhlIGNvbW1hbmQgaW4gdGhlIDxWQVI+YmFja2dyb3VuZDwvVkFSPi4KIFRoZSBzaGVsbCBkb2VzIG5vdCB3YWl0IGZvciB0aGUgY29tbWFuZCB0byBmaW5pc2gsIGFuZCB0aGUgcmV0dXJuCiBzdGF0dXMgaXMgMCAodHJ1ZSkuCi1XaGVuIGpvYiBjb250cm9sIGlzIG5vdCBhY3RpdmUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+Ny4gSm9iIENvbnRyb2w8L0E+KSwKK1doZW4gam9iIGNvbnRyb2wgaXMgbm90IGFjdGl2ZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj43LiBKb2IgQ29udHJvbDwvQT4pLAogdGhlIHN0YW5kYXJkIGlucHV0IGZvciBhc3luY2hyb25vdXMgY29tbWFuZHMsIGluIHRoZSBhYnNlbmNlIG9mIGFueQogZXhwbGljaXQgcmVkaXJlY3Rpb25zLCBpcyByZWRpcmVjdGVkIGZyb20gPENPREU+L2Rldi9udWxsPC9DT0RFPi4KIDwvUD48UD4KQEAgLTEwMjAsNyArMTAzNyw3IEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzIzIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDMuMi40IENvbXBvdW5kIENvbW1hbmRzIDwvSDM+CkBAIC0xMDM3LDcgKzEwNTQsNyBAQAogQ29tcG91bmQgY29tbWFuZHMgYXJlIHRoZSBzaGVsbCBwcm9ncmFtbWluZyBjb25zdHJ1Y3RzLgogRWFjaCBjb25zdHJ1Y3QgYmVnaW5zIHdpdGggYSByZXNlcnZlZCB3b3JkIG9yIGNvbnRyb2wgb3BlcmF0b3IgYW5kIGlzCiB0ZXJtaW5hdGVkIGJ5IGEgY29ycmVzcG9uZGluZyByZXNlcnZlZCB3b3JkIG9yIG9wZXJhdG9yLgotQW55IHJlZGlyZWN0aW9ucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4zLjYgUmVkaXJlY3Rpb25zPC9BPikgYXNzb2NpYXRlZCB3aXRoIGEgY29tcG91bmQgY29tbWFuZAorQW55IHJlZGlyZWN0aW9ucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4zLjYgUmVkaXJlY3Rpb25zPC9BPikgYXNzb2NpYXRlZCB3aXRoIGEgY29tcG91bmQgY29tbWFuZAogYXBwbHkgdG8gYWxsIGNvbW1hbmRzIHdpdGhpbiB0aGF0IGNvbXBvdW5kIGNvbW1hbmQgdW5sZXNzIGV4cGxpY2l0bHkgb3ZlcnJpZGRlbi4KIDwvUD48UD4KIApAQCAtMTA1Niw3ICsxMDczLDcgQEAKIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjMiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIND4gMy4yLjQuMSBMb29waW5nIENvbnN0cnVjdHMgPC9IND4KQEAgLTExMDYsNyArMTEyMyw3IEBACiBJZiA8U0FNUD5gaW4gPFZBUj53b3JkczwvVkFSPic8L1NBTVA+IGlzIG5vdCBwcmVzZW50LCB0aGUgPENPREU+Zm9yPC9DT0RFPiBjb21tYW5kCiBleGVjdXRlcyB0aGUgPFZBUj5jb21tYW5kczwvVkFSPiBvbmNlIGZvciBlYWNoIHBvc2l0aW9uYWwgcGFyYW1ldGVyIHRoYXQgaXMKIHNldCwgYXMgaWYgPFNBTVA+YGluICIkQCInPC9TQU1QPiBoYWQgYmVlbiBzcGVjaWZpZWQKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPikuCiBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCB0aGF0IGV4ZWN1dGVzLgogSWYgdGhlcmUgYXJlIG5vIGl0ZW1zIGluIHRoZSBleHBhbnNpb24gb2YgPFZBUj53b3JkczwvVkFSPiwgbm8gY29tbWFuZHMgYXJlCiBleGVjdXRlZCwgYW5kIHRoZSByZXR1cm4gc3RhdHVzIGlzIHplcm8uCkBAIC0xMTE3LDIwICsxMTM0LDIwIEBACiAKIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5mb3IgKCggPFZBUj5leHByMTwvVkFSPiA7IDxWQVI+ZXhwcjI8L1ZBUj4gOyA8VkFSPmV4cHIzPC9WQVI+ICkpIDsgZG8gPFZBUj5jb21tYW5kczwvVkFSPiA7IGRvbmUKIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPkZpcnN0LCB0aGUgYXJpdGhtZXRpYyBleHByZXNzaW9uIDxWQVI+ZXhwcjE8L1ZBUj4gaXMgZXZhbHVhdGVkIGFjY29yZGluZwotdG8gdGhlIHJ1bGVzIGRlc2NyaWJlZCBiZWxvdyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj42LjUgU2hlbGwgQXJpdGhtZXRpYzwvQT4pLgordG8gdGhlIHJ1bGVzIGRlc2NyaWJlZCBiZWxvdyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij42LjUgU2hlbGwgQXJpdGhtZXRpYzwvQT4pLgogVGhlIGFyaXRobWV0aWMgZXhwcmVzc2lvbiA8VkFSPmV4cHIyPC9WQVI+IGlzIHRoZW4gZXZhbHVhdGVkIHJlcGVhdGVkbHkKIHVudGlsIGl0IGV2YWx1YXRlcyB0byB6ZXJvLiAgIAogRWFjaCB0aW1lIDxWQVI+ZXhwcjI8L1ZBUj4gZXZhbHVhdGVzIHRvIGEgbm9uLXplcm8gdmFsdWUsIDxWQVI+Y29tbWFuZHM8L1ZBUj4gYXJlCiBleGVjdXRlZCBhbmQgdGhlIGFyaXRobWV0aWMgZXhwcmVzc2lvbiA8VkFSPmV4cHIzPC9WQVI+IGlzIGV2YWx1YXRlZC4gICAgICAgCiBJZiBhbnkgZXhwcmVzc2lvbiBpcyBvbWl0dGVkLCBpdCBiZWhhdmVzIGFzIGlmIGl0IGV2YWx1YXRlcyB0byAxLgotVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBpbiA8VkFSPmxpc3Q8L1ZBUj4KK1RoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGV4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgaW4gPFZBUj5jb21tYW5kczwvVkFSPgogdGhhdCBpcyBleGVjdXRlZCwgb3IgZmFsc2UgaWYgYW55IG9mIHRoZSBleHByZXNzaW9ucyBpcyBpbnZhbGlkLgogPC9QPjxQPgogCiA8L0RMPgogPFA+CiAKLVRoZSA8Q09ERT5icmVhazwvQ09ERT4gYW5kIDxDT0RFPmNvbnRpbnVlPC9DT0RFPiBidWlsdGlucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPikKK1RoZSA8Q09ERT5icmVhazwvQ09ERT4gYW5kIDxDT0RFPmNvbnRpbnVlPC9DT0RFPiBidWlsdGlucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPikKIG1heSBiZSB1c2VkIHRvIGNvbnRyb2wgbG9vcCBleGVjdXRpb24uCiA8L1A+PFA+CiAKQEAgLTExNDUsNyArMTE2Miw3IEBACiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzIzIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDQ+IDMuMi40LjIgQ29uZGl0aW9uYWwgQ29uc3RydWN0cyA8L0g0PgpAQCAtMTE5Niw3ICsxMjEzLDcgQEAKIDxDT0RFPmNhc2U8L0NPREU+IHdpbGwgc2VsZWN0aXZlbHkgZXhlY3V0ZSB0aGUgPFZBUj5jb21tYW5kLWxpc3Q8L1ZBUj4gY29ycmVzcG9uZGluZyB0bwogdGhlIGZpcnN0IDxWQVI+cGF0dGVybjwvVkFSPiB0aGF0IG1hdGNoZXMgPFZBUj53b3JkPC9WQVI+LgogSWYgdGhlIHNoZWxsIG9wdGlvbiA8Q09ERT5ub2Nhc2VtYXRjaDwvQ09ERT4KLShzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIDxDT0RFPnNob3B0PC9DT0RFPiBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPikKKyhzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIDxDT0RFPnNob3B0PC9DT0RFPiBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPikKIGlzIGVuYWJsZWQsIHRoZSBtYXRjaCBpcyBwZXJmb3JtZWQgd2l0aG91dCByZWdhcmQgdG8gdGhlIGNhc2UKIG9mIGFscGhhYmV0aWMgY2hhcmFjdGVycy4KIFRoZSA8U0FNUD5gfCc8L1NBTVA+IGlzIHVzZWQgdG8gc2VwYXJhdGUgbXVsdGlwbGUgcGF0dGVybnMsIGFuZCB0aGUgPFNBTVA+YCknPC9TQU1QPgpAQCAtMTI5NiwxMSArMTMxMywxMSBAQAogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PFA+CiAKIFRoZSBhcml0aG1ldGljIDxWQVI+ZXhwcmVzc2lvbjwvVkFSPiBpcyBldmFsdWF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBydWxlcwotZGVzY3JpYmVkIGJlbG93IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPjYuNSBTaGVsbCBBcml0aG1ldGljPC9BPikuCitkZXNjcmliZWQgYmVsb3cgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni41IFNoZWxsIEFyaXRobWV0aWM8L0E+KS4KIElmIHRoZSB2YWx1ZSBvZiB0aGUgZXhwcmVzc2lvbiBpcyBub24temVybywgdGhlIHJldHVybiBzdGF0dXMgaXMgMDsKIG90aGVyd2lzZSB0aGUgcmV0dXJuIHN0YXR1cyBpcyAxLiAgVGhpcyBpcyBleGFjdGx5IGVxdWl2YWxlbnQgdG8KIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5sZXQgIjxWQVI+ZXhwcmVzc2lvbjwvVkFSPiIKLTwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPlNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4sIGZvciBhIGZ1bGwgZGVzY3JpcHRpb24gb2YgdGhlIDxDT0RFPmxldDwvQ09ERT4gYnVpbHRpbi4KKzwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPlNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4sIGZvciBhIGZ1bGwgZGVzY3JpcHRpb24gb2YgdGhlIDxDT0RFPmxldDwvQ09ERT4gYnVpbHRpbi4KIDwvUD48UD4KIAogPERUPjxDT0RFPltbPHNtYWxsPi4uLjwvc21hbGw+XV08L0NPREU+CkBAIC0xMzEyLDcgKzEzMjksNyBAQAogUmV0dXJuIGEgc3RhdHVzIG9mIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIGV2YWx1YXRpb24gb2YKIHRoZSBjb25kaXRpb25hbCBleHByZXNzaW9uIDxWQVI+ZXhwcmVzc2lvbjwvVkFSPi4KIEV4cHJlc3Npb25zIGFyZSBjb21wb3NlZCBvZiB0aGUgcHJpbWFyaWVzIGRlc2NyaWJlZCBiZWxvdyBpbgotPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgyIj42LjQgQmFzaCBDb25kaXRpb25hbCBFeHByZXNzaW9uczwvQT4uCis8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPjYuNCBCYXNoIENvbmRpdGlvbmFsIEV4cHJlc3Npb25zPC9BPi4KIFdvcmQgc3BsaXR0aW5nIGFuZCBmaWxlbmFtZSBleHBhbnNpb24gYXJlIG5vdCBwZXJmb3JtZWQgb24gdGhlIHdvcmRzCiBiZXR3ZWVuIHRoZSA8U0FNUD5gW1snPC9TQU1QPiBhbmQgPFNBTVA+YF1dJzwvU0FNUD47IHRpbGRlIGV4cGFuc2lvbiwgcGFyYW1ldGVyIGFuZAogdmFyaWFibGUgZXhwYW5zaW9uLCBhcml0aG1ldGljIGV4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGl0dXRpb24sIHByb2Nlc3MKQEAgLTEzMjEsMTUgKzEzMzgsMTUgQEAKIGFzIHByaW1hcmllcy4KIDwvUD48UD4KIAotV2hlbiB1c2VkIHdpdGggPFNBTVA+YFtbJzwvU0FNUD4sIFRoZSA8U0FNUD5gJiM2MDsnPC9TQU1QPiBhbmQgPFNBTVA+YCYjNjI7JzwvU0FNUD4gb3BlcmF0b3JzIHNvcnQKK1doZW4gdXNlZCB3aXRoIDxTQU1QPmBbWyc8L1NBTVA+LCB0aGUgPFNBTVA+YCYjNjA7JzwvU0FNUD4gYW5kIDxTQU1QPmAmIzYyOyc8L1NBTVA+IG9wZXJhdG9ycyBzb3J0CiBsZXhpY29ncmFwaGljYWxseSB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuCiA8L1A+PFA+CiAKIFdoZW4gdGhlIDxTQU1QPmA9PSc8L1NBTVA+IGFuZCA8U0FNUD5gIT0nPC9TQU1QPiBvcGVyYXRvcnMgYXJlIHVzZWQsIHRoZSBzdHJpbmcgdG8gdGhlCiByaWdodCBvZiB0aGUgb3BlcmF0b3IgaXMgY29uc2lkZXJlZCBhIHBhdHRlcm4gYW5kIG1hdGNoZWQgYWNjb3JkaW5nCi10byB0aGUgcnVsZXMgZGVzY3JpYmVkIGJlbG93IGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+My41LjguMSBQYXR0ZXJuIE1hdGNoaW5nPC9BPi4KK3RvIHRoZSBydWxlcyBkZXNjcmliZWQgYmVsb3cgaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM4Ij4zLjUuOC4xIFBhdHRlcm4gTWF0Y2hpbmc8L0E+LgogSWYgdGhlIHNoZWxsIG9wdGlvbiA8Q09ERT5ub2Nhc2VtYXRjaDwvQ09ERT4KLShzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIDxDT0RFPnNob3B0PC9DT0RFPiBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPikKKyhzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIDxDT0RFPnNob3B0PC9DT0RFPiBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPikKIGlzIGVuYWJsZWQsIHRoZSBtYXRjaCBpcyBwZXJmb3JtZWQgd2l0aG91dCByZWdhcmQgdG8gdGhlIGNhc2UKIG9mIGFscGhhYmV0aWMgY2hhcmFjdGVycy4KIFRoZSByZXR1cm4gdmFsdWUgaXMgMCBpZiB0aGUgc3RyaW5nIG1hdGNoZXMgKDxTQU1QPmA9PSc8L1NBTVA+KSBvciBkb2VzIG5vdApAQCAtMTM0Nyw3ICsxMzY0LDcgQEAKIElmIHRoZSByZWd1bGFyIGV4cHJlc3Npb24gaXMgc3ludGFjdGljYWxseSBpbmNvcnJlY3QsIHRoZSBjb25kaXRpb25hbAogZXhwcmVzc2lvbidzIHJldHVybiB2YWx1ZSBpcyAyLgogSWYgdGhlIHNoZWxsIG9wdGlvbiA8Q09ERT5ub2Nhc2VtYXRjaDwvQ09ERT4KLShzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIDxDT0RFPnNob3B0PC9DT0RFPiBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPikKKyhzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIDxDT0RFPnNob3B0PC9DT0RFPiBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPikKIGlzIGVuYWJsZWQsIHRoZSBtYXRjaCBpcyBwZXJmb3JtZWQgd2l0aG91dCByZWdhcmQgdG8gdGhlIGNhc2UKIG9mIGFscGhhYmV0aWMgY2hhcmFjdGVycy4KIEFueSBwYXJ0IG9mIHRoZSBwYXR0ZXJuIG1heSBiZSBxdW90ZWQgdG8gZm9yY2UgaXQgdG8gYmUgbWF0Y2hlZCBhcyBhCkBAIC0xNDAwLDcgKzE0MTcsNyBAQAogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyMyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEg0PiAzLjIuNC4zIEdyb3VwaW5nIENvbW1hbmRzIDwvSDQ+CkBAIC0xNDE5LDcgKzE0MzYsNyBAQAogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PFA+CiAKIFBsYWNpbmcgYSBsaXN0IG9mIGNvbW1hbmRzIGJldHdlZW4gcGFyZW50aGVzZXMgY2F1c2VzIGEgc3Vic2hlbGwKLWVudmlyb25tZW50IHRvIGJlIGNyZWF0ZWQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MyI+My43LjMgQ29tbWFuZCBFeGVjdXRpb24gRW52aXJvbm1lbnQ8L0E+KSwgYW5kIGVhY2gKK2Vudmlyb25tZW50IHRvIGJlIGNyZWF0ZWQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NCI+My43LjMgQ29tbWFuZCBFeGVjdXRpb24gRW52aXJvbm1lbnQ8L0E+KSwgYW5kIGVhY2gKIG9mIHRoZSBjb21tYW5kcyBpbiA8VkFSPmxpc3Q8L1ZBUj4gdG8gYmUgZXhlY3V0ZWQgaW4gdGhhdCBzdWJzaGVsbC4gIFNpbmNlIHRoZQogPFZBUj5saXN0PC9WQVI+IGlzIGV4ZWN1dGVkIGluIGEgc3Vic2hlbGwsIHZhcmlhYmxlIGFzc2lnbm1lbnRzIGRvIG5vdCByZW1haW4gaW4KIGVmZmVjdCBhZnRlciB0aGUgc3Vic2hlbGwgY29tcGxldGVzLiAKQEAgLTE0NTgsMTAgKzE0NzUsMTAgQEAKIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjQiPiAmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTUiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI0Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiAzLjIuNSBDb3Byb2Nlc3NlcyA8L0gzPgpAQCAtMTQ4Nyw3ICsxNTA0LDcgQEAKIDwvUD48UD4KIAogV2hlbiB0aGUgY29wcm9jIGlzIGV4ZWN1dGVkLCB0aGUgc2hlbGwgY3JlYXRlcyBhbiBhcnJheSB2YXJpYWJsZQotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NSI+Ni43IEFycmF5czwvQT4pCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg2Ij42LjcgQXJyYXlzPC9BPikKIG5hbWVkIDxWQVI+TkFNRTwvVkFSPiBpbiB0aGUgY29udGV4dCBvZiB0aGUgZXhlY3V0aW5nIHNoZWxsLgogVGhlIHN0YW5kYXJkIG91dHB1dCBvZiA8VkFSPmNvbW1hbmQ8L1ZBUj4KIGlzIGNvbm5lY3RlZCB2aWEgYSBwaXBlIHRvIGEgZmlsZSBkZXNjcmlwdG9yIGluIHRoZSBleGVjdXRpbmcgc2hlbGwsCkBAIC0xNDk2LDEyICsxNTEzLDEyIEBACiBpcyBjb25uZWN0ZWQgdmlhIGEgcGlwZSB0byBhIGZpbGUgZGVzY3JpcHRvciBpbiB0aGUgZXhlY3V0aW5nIHNoZWxsLAogYW5kIHRoYXQgZmlsZSBkZXNjcmlwdG9yIGlzIGFzc2lnbmVkIHRvIDxWQVI+TkFNRTwvVkFSPlsxXS4KIFRoaXMgcGlwZSBpcyBlc3RhYmxpc2hlZCBiZWZvcmUgYW55IHJlZGlyZWN0aW9ucyBzcGVjaWZpZWQgYnkgdGhlCi1jb21tYW5kIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPjMuNiBSZWRpcmVjdGlvbnM8L0E+KS4KK2NvbW1hbmQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+My42IFJlZGlyZWN0aW9uczwvQT4pLgogVGhlIGZpbGUgZGVzY3JpcHRvcnMgY2FuIGJlIHV0aWxpemVkIGFzIGFyZ3VtZW50cyB0byBzaGVsbCBjb21tYW5kcwogYW5kIHJlZGlyZWN0aW9ucyB1c2luZyBzdGFuZGFyZCB3b3JkIGV4cGFuc2lvbnMuCiA8L1A+PFA+CiAKLVRoZSBwcm9jZXNzIGlkIG9mIHRoZSBzaGVsbCBzcGF3bmVkIHRvIGV4ZWN1dGUgdGhlIGNvcHJvY2VzcyBpcworVGhlIHByb2Nlc3MgSUQgb2YgdGhlIHNoZWxsIHNwYXduZWQgdG8gZXhlY3V0ZSB0aGUgY29wcm9jZXNzIGlzCiBhdmFpbGFibGUgYXMgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSA8VkFSPk5BTUU8L1ZBUj5fUElELgogVGhlIDxDT0RFPndhaXQ8L0NPREU+CiBidWlsdGluIGNvbW1hbmQgbWF5IGJlIHVzZWQgdG8gd2FpdCBmb3IgdGhlIGNvcHJvY2VzcyB0byB0ZXJtaW5hdGUuCkBAIC0xNTEwLDIyICsxNTI3LDk5IEBACiBUaGUgcmV0dXJuIHN0YXR1cyBvZiBhIGNvcHJvY2VzcyBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgPFZBUj5jb21tYW5kPC9WQVI+LgogPC9QPjxQPgogCi08QSBOQU1FPSJTaGVsbCBGdW5jdGlvbnMiPjwvQT4KKzxBIE5BTUU9IkdOVSBQYXJhbGxlbCI+PC9BPgogPEhSIFNJWkU9IjYiPgogPEEgTkFNRT0iU0VDMjQiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+CiA8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyMyI+ICZsdDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+ICZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTUiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI1Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+Cis8L1RSPjwvVEFCTEU+Cis8SDM+IDMuMi42IEdOVSBQYXJhbGxlbCA8L0gzPgorPCEtLWRvY2lkOjpTRUMyNDo6LS0+Cis8UD4KKworR05VIFBhcmFsbGVsLCBhcyBpdHMgbmFtZSBzdWdnZXN0cywgY2FuIGJlIHVzZWQgdG8gYnVpbGQgYW5kIHJ1biBjb21tYW5kcworaW4gcGFyYWxsZWwuICBZb3UgbWF5IHJ1biB0aGUgc2FtZSBjb21tYW5kIHdpdGggZGlmZmVyZW50IGFyZ3VtZW50cywgd2hldGhlcgordGhleSBhcmUgZmlsZW5hbWVzLCB1c2VybmFtZXMsIGhvc3RuYW1lcywgb3IgbGluZXMgcmVhZCBmcm9tIGZpbGVzLgorPC9QPjxQPgorCitGb3IgYSBjb21wbGV0ZSBkZXNjcmlwdGlvbiwgcmVmZXIgdG8gdGhlIEdOVSBQYXJhbGxlbCBkb2N1bWVudGF0aW9uLiAgQSBmZXcKK2V4YW1wbGVzIHNob3VsZCBwcm92aWRlIGEgYnJpZWYgaW50cm9kdWN0aW9uIHRvIGl0cyB1c2UuCis8L1A+PFA+CisKK0ZvciBleGFtcGxlLCBpdCBpcyBlYXN5IHRvIHByZWZpeCBlYWNoIGxpbmUgaW4gYSB0ZXh0IGZpbGUgd2l0aCBhIHNwZWNpZmllZAorc3RyaW5nOgorPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPmNhdCBmaWxlIHwgcGFyYWxsZWwgLWsgZWNobyBwcmVmaXhfc3RyaW5nCis8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5UaGUgPFNBTVA+YC1rJzwvU0FNUD4gb3B0aW9uIGlzIHJlcXVpcmVkIHRvIHByZXNlcnZlIHRoZSBsaW5lcycgb3JkZXIuCis8L1A+PFA+CisKK1NpbWlsYXJseSwgeW91IGNhbiBhcHBlbmQgYSBzcGVjaWZpZWQgc3RyaW5nIHRvIGVhY2ggbGluZSBpbiBhIHRleHQgZmlsZToKKzxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5jYXQgZmlsZSB8IHBhcmFsbGVsIC1rIGVjaG8ge30gYXBwZW5kX3N0cmluZworPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PC9QPjxQPgorCitZb3UgY2FuIHVzZSBQYXJhbGxlbCB0byBtb3ZlIGZpbGVzIGZyb20gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdoZW4gdGhlCitudW1iZXIgb2YgZmlsZXMgaXMgdG9vIGxhcmdlIHRvIHByb2Nlc3Mgd2l0aCBvbmUgPENPREU+bXY8L0NPREU+IGludm9jYXRpb246Cis8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+bHMgfCBwYXJhbGxlbCBtdiB7fSBkZXN0ZGlyCis8L3ByZT48L3RkPjwvdHI+PC90YWJsZT48L1A+PFA+CisKK0FzIHlvdSBjYW4gc2VlLCB0aGUge30gaXMgcmVwbGFjZWQgd2l0aCBlYWNoIGxpbmUgcmVhZCBmcm9tIHN0YW5kYXJkIGlucHV0LgorVGhpcyB3aWxsIHJ1biBhcyBtYW55IDxDT0RFPm12PC9DT0RFPiBjb21tYW5kcyBhcyB0aGVyZSBhcmUgZmlsZXMgaW4gdGhlIGN1cnJlbnQKK2RpcmVjdG9yeS4gIFlvdSBjYW4gZW11bGF0ZSBhIHBhcmFsbGVsIDxDT0RFPnhhcmdzPC9DT0RFPiBieSBhZGRpbmcgdGhlIDxTQU1QPmAtWCc8L1NBTVA+CitvcHRpb246Cis8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+bHMgfCBwYXJhbGxlbCAtWCBtdiB7fSBkZXN0ZGlyCis8L3ByZT48L3RkPjwvdHI+PC90YWJsZT48L1A+PFA+CisKK0dOVSBQYXJhbGxlbCBjYW4gcmVwbGFjZSBjZXJ0YWluIGNvbW1vbiBpZGlvbXMgdGhhdCBvcGVyYXRlIG9uIGxpbmVzIHJlYWQKK2Zyb20gYSBmaWxlIChpbiB0aGlzIGNhc2UsIGZpbGVuYW1lcyk6Cis8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+CWZvciB4IGluICQoY2F0IGxpc3QpOyBkbworCQlkby1zb21ldGhpbmcxICR4IGNvbmZpZy0keAorCQlkby1zb21ldGhpbmcyICYjNjA7ICR4CisJZG9uZSB8IHByb2Nlc3Mtb3V0cHV0Cis8L3ByZT48L3RkPjwvdHI+PC90YWJsZT48L1A+PFA+CisKK3dpdGggYSBtb3JlIGNvbXBhY3Qgc3ludGF4IHJlbWluaXNjZW50IG9mIGxhbWJkYXM6Cis8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+Y2F0IGxpc3QgfCBwYXJhbGxlbCAiZG8tc29tZXRoaW5nMSB7fSBjb25maWcte30gOyBkby1zb21ldGhpbmcyIDwge30iIHwgcHJvY2Vzcy1vdXRwdXQKKzwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjwvUD48UD4KKworUGFyYWxsZWwgcHJvdmlkZXMgYSBidWlsdC1pbiBtZWNoYW5pc20gdG8gcmVtb3ZlIGZpbGVuYW1lIGV4dGVuc2lvbnMsIHdoaWNoCitsZW5kcyBpdHNlbGYgdG8gYmF0Y2ggZmlsZSB0cmFuc2Zvcm1hdGlvbnMgb3IgcmVuYW1pbmc6Cis8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+bHMgKi5neiB8IHBhcmFsbGVsIC1qKzAgInpjYXQge30gfCBiemlwMiA+ey59LmJ6MiAmJiMzODsgcm0ge30iCis8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5UaGlzIHdpbGwgcmVjb21wcmVzcyBhbGwgZmlsZXMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHdpdGggbmFtZXMgZW5kaW5nCitpbiAuZ3ogdXNpbmcgYnppcDIsIHJ1bm5pbmcgb25lIGpvYiBwZXIgQ1BVICgtaiswKSAgaW4gcGFyYWxsZWwuCis8L1A+PFA+CisKK0lmIGEgY29tbWFuZCBnZW5lcmF0ZXMgb3V0cHV0LCB5b3UgbWF5IHdhbnQgdG8gcHJlc2VydmUgdGhlIGlucHV0IG9yZGVyIGluCit0aGUgb3V0cHV0LiAgRm9yIGluc3RhbmNlLCB0aGUgZm9sbG93aW5nIGNvbW1hbmQKKzxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT57IGVjaG8gZm9zcy5vcmcubXkgOyBlY2hvIGRlYmlhbi5vcmc7IGVjaG8gZnJlZW5ldHByb2plY3Qub3JnOyB9IHwgcGFyYWxsZWwgdHJhY2Vyb3V0ZQorPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+d2lsbCBkaXNwbGF5IGFzIG91dHB1dCB0aGUgdHJhY2Vyb3V0ZSBpbnZvY2F0aW9uIHRoYXQgZmluaXNoZXMgZmlyc3QuICBVc2luZwordGhlIDxTQU1QPmAtayc8L1NBTVA+IG9wdGlvbiwgYXMgd2Ugc2F3IGFib3ZlCis8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+eyBlY2hvIGZvc3Mub3JnLm15IDsgZWNobyBkZWJpYW4ub3JnOyBlY2hvIGZyZWVuZXRwcm9qZWN0Lm9yZzsgfSB8IHBhcmFsbGVsIC1rIHRyYWNlcm91dGUKKzwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPndpbGwgZW5zdXJlIHRoYXQgdGhlIG91dHB1dCBvZiA8Q09ERT50cmFjZXJvdXRlIGZvc3Mub3JnLm15PC9DT0RFPiBpcyBkaXNwbGF5ZWQgZmlyc3QuCis8L1A+PFA+CisKKzxBIE5BTUU9IlNoZWxsIEZ1bmN0aW9ucyI+PC9BPgorPEhSIFNJWkU9IjYiPgorPEEgTkFNRT0iU0VDMjUiPjwvQT4KKzxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNiI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI2Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiAzLjMgU2hlbGwgRnVuY3Rpb25zIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzI0OjotLT4KKzwhLS1kb2NpZDo6U0VDMjU6Oi0tPgogPFA+CiAKIFNoZWxsIGZ1bmN0aW9ucyBhcmUgYSB3YXkgdG8gZ3JvdXAgY29tbWFuZHMgZm9yIGxhdGVyIGV4ZWN1dGlvbgpAQCAtMTUzOSw3ICsxNjMzLDggQEAKIAogRnVuY3Rpb25zIGFyZSBkZWNsYXJlZCB1c2luZyB0aGlzIHN5bnRheDoKIDxBIE5BTUU9IklEWDQ1Ij48L0E+Ci08VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+WyA8Q09ERT5mdW5jdGlvbjwvQ09ERT4gXSA8VkFSPm5hbWU8L1ZBUj4gKCkgPFZBUj5jb21wb3VuZC1jb21tYW5kPC9WQVI+IFsgPFZBUj5yZWRpcmVjdGlvbnM8L1ZBUj4gXQorPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPjxWQVI+bmFtZTwvVkFSPiAoKSA8VkFSPmNvbXBvdW5kLWNvbW1hbmQ8L1ZBUj4gWyA8VkFSPnJlZGlyZWN0aW9uczwvVkFSPiBdPEJSPm9yPEJSPgorPENPREU+ZnVuY3Rpb248L0NPREU+IDxWQVI+bmFtZTwvVkFSPiBbKCldIDxWQVI+Y29tcG91bmQtY29tbWFuZDwvVkFSPiBbIDxWQVI+cmVkaXJlY3Rpb25zPC9WQVI+IF0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjwvUD48UD4KIAogVGhpcyBkZWZpbmVzIGEgc2hlbGwgZnVuY3Rpb24gbmFtZWQgPFZBUj5uYW1lPC9WQVI+LiAgVGhlIHJlc2VydmVkCkBAIC0xNTUyLDEyICsxNjQ3LDEyIEBACiBtYXkgYmUgYW55IGNvbXBvdW5kIGNvbW1hbmQgbGlzdGVkIGFib3ZlLgogPFZBUj5jb21wb3VuZC1jb21tYW5kPC9WQVI+IGlzIGV4ZWN1dGVkIHdoZW5ldmVyIDxWQVI+bmFtZTwvVkFSPiBpcyBzcGVjaWZpZWQgYXMgdGhlCiBuYW1lIG9mIGEgY29tbWFuZC4KLUFueSByZWRpcmVjdGlvbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+My42IFJlZGlyZWN0aW9uczwvQT4pIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2hlbGwgZnVuY3Rpb24KK0FueSByZWRpcmVjdGlvbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+My42IFJlZGlyZWN0aW9uczwvQT4pIGFzc29jaWF0ZWQgd2l0aCB0aGUgc2hlbGwgZnVuY3Rpb24KIGFyZSBwZXJmb3JtZWQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgZXhlY3V0ZWQuCiA8L1A+PFA+CiAKIEEgZnVuY3Rpb24gZGVmaW5pdGlvbiBtYXkgYmUgZGVsZXRlZCB1c2luZyB0aGUgPFNBTVA+YC1mJzwvU0FNUD4gb3B0aW9uIHRvIHRoZQotPENPREU+dW5zZXQ8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgorPENPREU+dW5zZXQ8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgogPC9QPjxQPgogCiBUaGUgZXhpdCBzdGF0dXMgb2YgYSBmdW5jdGlvbiBkZWZpbml0aW9uIGlzIHplcm8gdW5sZXNzIGEgc3ludGF4IGVycm9yCkBAIC0xNTc4LDcgKzE2NzMsNyBAQAogCiBXaGVuIGEgZnVuY3Rpb24gaXMgZXhlY3V0ZWQsIHRoZSBhcmd1bWVudHMgdG8gdGhlCiBmdW5jdGlvbiBiZWNvbWUgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycwotZHVyaW5nIGl0cyBleGVjdXRpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNiI+My40LjEgUG9zaXRpb25hbCBQYXJhbWV0ZXJzPC9BPikuCitkdXJpbmcgaXRzIGV4ZWN1dGlvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI3Ij4zLjQuMSBQb3NpdGlvbmFsIFBhcmFtZXRlcnM8L0E+KS4KIFRoZSBzcGVjaWFsIHBhcmFtZXRlciA8U0FNUD5gIyc8L1NBTVA+IHRoYXQgZXhwYW5kcyB0byB0aGUgbnVtYmVyIG9mCiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgaXMgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBjaGFuZ2UuCiBTcGVjaWFsIHBhcmFtZXRlciA8Q09ERT4wPC9DT0RFPiBpcyB1bmNoYW5nZWQuCkBAIC0xNTk3LDEwICsxNjkyLDE2IEBACiAoaW4gd2hpY2ggY2FzZSBhbGwgZnVuY3Rpb25zIGluaGVyaXQgdGhlIDxDT0RFPkRFQlVHPC9DT0RFPiBhbmQgPENPREU+UkVUVVJOPC9DT0RFPiB0cmFwcyksCiBhbmQgdGhlIDxDT0RFPkVSUjwvQ09ERT4gdHJhcCBpcyBub3QgaW5oZXJpdGVkIHVubGVzcyB0aGUgPENPREU+LW8gZXJydHJhY2U8L0NPREU+CiBzaGVsbCBvcHRpb24gaGFzIGJlZW4gZW5hYmxlZC4KLVNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4sIGZvciB0aGUgZGVzY3JpcHRpb24gb2YgdGhlCitTZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+LCBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZQogPENPREU+dHJhcDwvQ09ERT4gYnVpbHRpbi4KIDwvUD48UD4KIAorVGhlIDxDT0RFPkZVTkNORVNUPC9DT0RFPiB2YXJpYWJsZSwgaWYgc2V0IHRvIGEgbnVtZXJpYyB2YWx1ZSBncmVhdGVyCit0aGFuIDAsIGRlZmluZXMgYSBtYXhpbXVtIGZ1bmN0aW9uIG5lc3RpbmcgbGV2ZWwuICBGdW5jdGlvbgoraW52b2NhdGlvbnMgdGhhdCBleGNlZWQgdGhlIGxpbWl0IGNhdXNlIHRoZSBlbnRpcmUgY29tbWFuZCB0bworYWJvcnQuCis8L1A+PFA+CisKIElmIHRoZSBidWlsdGluIGNvbW1hbmQgPENPREU+cmV0dXJuPC9DT0RFPgogaXMgZXhlY3V0ZWQgaW4gYSBmdW5jdGlvbiwgdGhlIGZ1bmN0aW9uIGNvbXBsZXRlcyBhbmQKIGV4ZWN1dGlvbiByZXN1bWVzIHdpdGggdGhlIG5leHQgY29tbWFuZCBhZnRlciB0aGUgZnVuY3Rpb24KQEAgLTE2MjMsNyArMTcyNCw3IEBACiAKIEZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9ucyBtYXkgYmUgbGlzdGVkIHdpdGggdGhlCiA8U0FNUD5gLWYnPC9TQU1QPiBvcHRpb24gdG8gdGhlIDxDT0RFPmRlY2xhcmU8L0NPREU+IG9yIDxDT0RFPnR5cGVzZXQ8L0NPREU+Ci1idWlsdGluIGNvbW1hbmRzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KK2J1aWx0aW4gY29tbWFuZHMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4pLgogVGhlIDxTQU1QPmAtRic8L1NBTVA+IG9wdGlvbiB0byA8Q09ERT5kZWNsYXJlPC9DT0RFPiBvciA8Q09ERT50eXBlc2V0PC9DT0RFPgogd2lsbCBsaXN0IHRoZSBmdW5jdGlvbiBuYW1lcyBvbmx5CiAoYW5kIG9wdGlvbmFsbHkgdGhlIHNvdXJjZSBmaWxlIGFuZCBsaW5lIG51bWJlciwgaWYgdGhlIDxDT0RFPmV4dGRlYnVnPC9DT0RFPgpAQCAtMTYzMSwzOCArMTczMiw0MCBAQAogRnVuY3Rpb25zIG1heSBiZSBleHBvcnRlZCBzbyB0aGF0IHN1YnNoZWxscwogYXV0b21hdGljYWxseSBoYXZlIHRoZW0gZGVmaW5lZCB3aXRoIHRoZQogPFNBTVA+YC1mJzwvU0FNUD4gb3B0aW9uIHRvIHRoZSA8Q09ERT5leHBvcnQ8L0NPREU+IGJ1aWx0aW4KLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+KS4KKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+KS4KIE5vdGUgdGhhdCBzaGVsbCBmdW5jdGlvbnMgYW5kIHZhcmlhYmxlcyB3aXRoIHRoZSBzYW1lIG5hbWUgbWF5IHJlc3VsdAogaW4gbXVsdGlwbGUgaWRlbnRpY2FsbHktbmFtZWQgZW50cmllcyBpbiB0aGUgZW52aXJvbm1lbnQgcGFzc2VkIHRvIHRoZQogc2hlbGwncyBjaGlsZHJlbi4KIENhcmUgc2hvdWxkIGJlIHRha2VuIGluIGNhc2VzIHdoZXJlIHRoaXMgbWF5IGNhdXNlIGEgcHJvYmxlbS4KIDwvUD48UD4KIAotRnVuY3Rpb25zIG1heSBiZSByZWN1cnNpdmUuICBObyBsaW1pdCBpcyBwbGFjZWQgb24gdGhlIG51bWJlciBvZgotcmVjdXJzaXZlICBjYWxscy4KK0Z1bmN0aW9ucyBtYXkgYmUgcmVjdXJzaXZlLgorVGhlIDxDT0RFPkZVTkNORVNUPC9DT0RFPiB2YXJpYWJsZSBtYXkgYmUgdXNlZCB0byBsaW1pdCB0aGUgZGVwdGggb2YgdGhlCitmdW5jdGlvbiBjYWxsIHN0YWNrIGFuZCByZXN0cmljdCB0aGUgbnVtYmVyIG9mIGZ1bmN0aW9uIGludm9jYXRpb25zLgorQnkgZGVmYXVsdCwgbm8gbGltaXQgaXMgcGxhY2VkIG9uIHRoZSBudW1iZXIgb2YgcmVjdXJzaXZlICBjYWxscy4KIDwvUD48UD4KIAogPEEgTkFNRT0iU2hlbGwgUGFyYW1ldGVycyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMjUiPjwvQT4KKzxBIE5BTUU9IlNFQzI2Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjQiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjYiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI1Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI3Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjkiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiAzLjQgU2hlbGwgUGFyYW1ldGVycyA8L0gyPgotPCEtLWRvY2lkOjpTRUMyNTo6LS0+Cis8IS0tZG9jaWQ6OlNFQzI2OjotLT4KIDxQPgogCiA8QkxPQ0tRVU9URT48VEFCTEUgQk9SREVSPTAgQ0VMTFNQQUNJTkc9MD4gCi08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI2Ij4zLjQuMSBQb3NpdGlvbmFsIFBhcmFtZXRlcnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5UaGUgc2hlbGwncyBjb21tYW5kLWxpbmUgYXJndW1lbnRzLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlBhcmFtZXRlcnMgZGVub3RlZCBieSBzcGVjaWFsIGNoYXJhY3RlcnMuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNyI+My40LjEgUG9zaXRpb25hbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+VGhlIHNoZWxsJ3MgY29tbWFuZC1saW5lIGFyZ3VtZW50cy48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5QYXJhbWV0ZXJzIGRlbm90ZWQgYnkgc3BlY2lhbCBjaGFyYWN0ZXJzLjwvVEQ+PC9UUj4KIDwvVEFCTEU+PC9CTE9DS1FVT1RFPgogPFA+CiAKQEAgLTE2NzIsNyArMTc3NSw3IEBACiBBIDxWQVI+dmFyaWFibGU8L1ZBUj4gaXMgYSBwYXJhbWV0ZXIgZGVub3RlZCBieSBhIDxDT0RFPm5hbWU8L0NPREU+LgogQSB2YXJpYWJsZSBoYXMgYSA8VkFSPnZhbHVlPC9WQVI+IGFuZCB6ZXJvIG9yIG1vcmUgPFZBUj5hdHRyaWJ1dGVzPC9WQVI+LgogQXR0cmlidXRlcyBhcmUgYXNzaWduZWQgdXNpbmcgdGhlIDxDT0RFPmRlY2xhcmU8L0NPREU+IGJ1aWx0aW4gY29tbWFuZAotKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIDxDT0RFPmRlY2xhcmU8L0NPREU+IGJ1aWx0aW4gaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCisoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgPENPREU+ZGVjbGFyZTwvQ09ERT4gYnVpbHRpbiBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KIDwvUD48UD4KIAogQSBwYXJhbWV0ZXIgaXMgc2V0IGlmIGl0IGhhcyBiZWVuIGFzc2lnbmVkIGEgdmFsdWUuICBUaGUgbnVsbCBzdHJpbmcgaXMKQEAgLTE2ODksNyArMTc5Miw3IEBACiByZW1vdmFsIChkZXRhaWxlZCBiZWxvdykuICBJZiB0aGUgdmFyaWFibGUgaGFzIGl0cyA8Q09ERT5pbnRlZ2VyPC9DT0RFPgogYXR0cmlidXRlIHNldCwgdGhlbiA8VkFSPnZhbHVlPC9WQVI+IAogaXMgZXZhbHVhdGVkIGFzIGFuIGFyaXRobWV0aWMgZXhwcmVzc2lvbiBldmVuIGlmIHRoZSA8Q09ERT4kKCg8c21hbGw+Li4uPC9zbWFsbD4pKTwvQ09ERT4KLWV4cGFuc2lvbiBpcyBub3QgdXNlZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMzIj4zLjUuNSBBcml0aG1ldGljIEV4cGFuc2lvbjwvQT4pLgorZXhwYW5zaW9uIGlzIG5vdCB1c2VkIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzQiPjMuNS41IEFyaXRobWV0aWMgRXhwYW5zaW9uPC9BPikuCiBXb3JkIHNwbGl0dGluZyBpcyBub3QgcGVyZm9ybWVkLCB3aXRoIHRoZSBleGNlcHRpb24KIG9mIDxDT0RFPiIkQCI8L0NPREU+IGFzIGV4cGxhaW5lZCBiZWxvdy4KIEZpbGVuYW1lIGV4cGFuc2lvbiBpcyBub3QgcGVyZm9ybWVkLgpAQCAtMTcwMCwxNCArMTgwMywxNCBAQAogPC9QPjxQPgogCiBJbiB0aGUgY29udGV4dCB3aGVyZSBhbiBhc3NpZ25tZW50IHN0YXRlbWVudCBpcyBhc3NpZ25pbmcgYSB2YWx1ZSAgCi10byBhIHNoZWxsIHZhcmlhYmxlIG9yIGFycmF5IGluZGV4IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPjYuNyBBcnJheXM8L0E+KSwgdGhlIDxTQU1QPmArPSc8L1NBTVA+Cit0byBhIHNoZWxsIHZhcmlhYmxlIG9yIGFycmF5IGluZGV4IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODYiPjYuNyBBcnJheXM8L0E+KSwgdGhlIDxTQU1QPmArPSc8L1NBTVA+CiBvcGVyYXRvciBjYW4gYmUgdXNlZCB0byAgIAogYXBwZW5kIHRvIG9yIGFkZCB0byB0aGUgdmFyaWFibGUncyBwcmV2aW91cyB2YWx1ZS4KLVdoZW4gPFNBTVA+YCs9JzwvU0FNUD4gaXMgYXBwbGllZCB0byBhIHZhcmlhYmxlIGZvciB3aGljaCB0aGUgaW50ZWdlciBhdHRyaWJ1dGUKK1doZW4gPFNBTVA+YCs9JzwvU0FNUD4gaXMgYXBwbGllZCB0byBhIHZhcmlhYmxlIGZvciB3aGljaCB0aGUgPFZBUj5pbnRlZ2VyPC9WQVI+IGF0dHJpYnV0ZQogaGFzIGJlZW4gc2V0LCA8VkFSPnZhbHVlPC9WQVI+IGlzIGV2YWx1YXRlZCBhcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gYW5kCiBhZGRlZCB0byB0aGUgdmFyaWFibGUncyBjdXJyZW50IHZhbHVlLCB3aGljaCBpcyBhbHNvIGV2YWx1YXRlZC4KIFdoZW4gPFNBTVA+YCs9JzwvU0FNUD4gaXMgYXBwbGllZCB0byBhbiBhcnJheSB2YXJpYWJsZSB1c2luZyBjb21wb3VuZCBhc3NpZ25tZW50Ci0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij42LjcgQXJyYXlzPC9BPiksIHRoZQorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NiI+Ni43IEFycmF5czwvQT4pLCB0aGUKIHZhcmlhYmxlJ3MgdmFsdWUgaXMgbm90IHVuc2V0IChhcyBpdCBpcyB3aGVuIHVzaW5nIDxTQU1QPmA9JzwvU0FNUD4pLCBhbmQgbmV3CiB2YWx1ZXMgYXJlIGFwcGVuZGVkIHRvIHRoZSBhcnJheSBiZWdpbm5pbmcgYXQgb25lIGdyZWF0ZXIgdGhhbiB0aGUgYXJyYXkncwogbWF4aW11bSBpbmRleCAoZm9yIGluZGV4ZWQgYXJyYXlzKSwgIG9yIGFkZGVkIGFzIGFkZGl0aW9uYWwga2V5LXZhbHVlIHBhaXJzCkBAIC0xNzE4LDIwICsxODIxLDIwIEBACiAKIDxBIE5BTUU9IlBvc2l0aW9uYWwgUGFyYW1ldGVycyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMjYiPjwvQT4KKzxBIE5BTUU9IlNFQzI3Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjYiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjYiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI5Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDMuNC4xIFBvc2l0aW9uYWwgUGFyYW1ldGVycyA8L0gzPgotPCEtLWRvY2lkOjpTRUMyNjo6LS0+Cis8IS0tZG9jaWQ6OlNFQzI3OjotLT4KIDxQPgogCiBBIDxWQVI+cG9zaXRpb25hbCBwYXJhbWV0ZXI8L1ZBUj4gaXMgYSBwYXJhbWV0ZXIgZGVub3RlZCBieSBvbmUgb3IgbW9yZQpAQCAtMTc0MiwxMCArMTg0NSwxMCBAQAogYXMgPENPREU+JE48L0NPREU+IHdoZW4gPENPREU+TjwvQ09ERT4gY29uc2lzdHMgb2YgYSBzaW5nbGUgZGlnaXQuCiBQb3NpdGlvbmFsIHBhcmFtZXRlcnMgbWF5IG5vdCBiZSBhc3NpZ25lZCB0byB3aXRoIGFzc2lnbm1lbnQgc3RhdGVtZW50cy4KIFRoZSA8Q09ERT5zZXQ8L0NPREU+IGFuZCA8Q09ERT5zaGlmdDwvQ09ERT4gYnVpbHRpbnMgYXJlIHVzZWQgdG8gc2V0IGFuZAotdW5zZXQgdGhlbSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij40LiBTaGVsbCBCdWlsdGluIENvbW1hbmRzPC9BPikuCit1bnNldCB0aGVtIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuIFNoZWxsIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KIFRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlCiB0ZW1wb3JhcmlseSByZXBsYWNlZCB3aGVuIGEgc2hlbGwgZnVuY3Rpb24gaXMgZXhlY3V0ZWQKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjQiPjMuMyBTaGVsbCBGdW5jdGlvbnM8L0E+KS4KKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPjMuMyBTaGVsbCBGdW5jdGlvbnM8L0E+KS4KIDwvUD48UD4KIAogV2hlbiBhIHBvc2l0aW9uYWwgcGFyYW1ldGVyIGNvbnNpc3Rpbmcgb2YgbW9yZSB0aGFuIGEgc2luZ2xlCkBAIC0xNzU0LDIwICsxODU3LDIwIEBACiAKIDxBIE5BTUU9IlNwZWNpYWwgUGFyYW1ldGVycyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMjciPjwvQT4KKzxBIE5BTUU9IlNFQzI4Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjYiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjkiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjYiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI5Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDMuNC4yIFNwZWNpYWwgUGFyYW1ldGVycyA8L0gzPgotPCEtLWRvY2lkOjpTRUMyNzo6LS0+Cis8IS0tZG9jaWQ6OlNFQzI4OjotLT4KIDxQPgogCiBUaGUgc2hlbGwgdHJlYXRzIHNldmVyYWwgcGFyYW1ldGVycyBzcGVjaWFsbHkuICBUaGVzZSBwYXJhbWV0ZXJzIG1heQpAQCAtMTg0OSw4ICsxOTUyLDggQEAKIDxERD48QSBOQU1FPSJJRFg2MSI+PC9BPgogRXhwYW5kcyB0byB0aGUgbmFtZSBvZiB0aGUgc2hlbGwgb3Igc2hlbGwgc2NyaXB0LiAgVGhpcyBpcyBzZXQgYXQKIHNoZWxsIGluaXRpYWxpemF0aW9uLiAgSWYgQmFzaCBpcyBpbnZva2VkIHdpdGggYSBmaWxlIG9mIGNvbW1hbmRzCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU3Ij4zLjggU2hlbGwgU2NyaXB0czwvQT4pLCA8Q09ERT4kMDwvQ09ERT4gaXMgc2V0IHRvIHRoZSBuYW1lIG9mIHRoYXQgZmlsZS4KLUlmIEJhc2ggaXMgc3RhcnRlZCB3aXRoIHRoZSA8U0FNUD5gLWMnPC9TQU1QPiBvcHRpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+Ni4xIEludm9raW5nIEJhc2g8L0E+KSwKKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPjMuOCBTaGVsbCBTY3JpcHRzPC9BPiksIDxDT0RFPiQwPC9DT0RFPiBpcyBzZXQgdG8gdGhlIG5hbWUgb2YgdGhhdCBmaWxlLgorSWYgQmFzaCBpcyBzdGFydGVkIHdpdGggdGhlIDxTQU1QPmAtYyc8L1NBTVA+IG9wdGlvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzcwIj42LjEgSW52b2tpbmcgQmFzaDwvQT4pLAogdGhlbiA8Q09ERT4kMDwvQ09ERT4gaXMgc2V0IHRvIHRoZSBmaXJzdCBhcmd1bWVudCBhZnRlciB0aGUgc3RyaW5nIHRvIGJlCiBleGVjdXRlZCwgaWYgb25lIGlzIHByZXNlbnQuICBPdGhlcndpc2UsIGl0IGlzIHNldAogdG8gdGhlIGZpbGVuYW1lIHVzZWQgdG8gaW52b2tlIEJhc2gsIGFzIGdpdmVuIGJ5IGFyZ3VtZW50IHplcm8uCkBAIC0xODczLDIwICsxOTc2LDIwIEBACiAKIDxBIE5BTUU9IlNoZWxsIEV4cGFuc2lvbnMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzI4Ij48L0E+Cis8QSBOQU1FPSJTRUMyOSI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI3Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI5Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMCI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4gJmx0OyZsdDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDAiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gMy41IFNoZWxsIEV4cGFuc2lvbnMgPC9IMj4KLTwhLS1kb2NpZDo6U0VDMjg6Oi0tPgorPCEtLWRvY2lkOjpTRUMyOTo6LS0+CiA8UD4KIAogRXhwYW5zaW9uIGlzIHBlcmZvcm1lZCBvbiB0aGUgY29tbWFuZCBsaW5lIGFmdGVyIGl0IGhhcyBiZWVuIHNwbGl0IGludG8KQEAgLTE5MDMsMTcgKzIwMDYsMTcgQEAKIDxQPgogCiA8QkxPQ0tRVU9URT48VEFCTEUgQk9SREVSPTAgQ0VMTFNQQUNJTkc9MD4gCi08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI5Ij4zLjUuMSBCcmFjZSBFeHBhbnNpb248L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5FeHBhbnNpb24gb2YgZXhwcmVzc2lvbnMgd2l0aGluIGJyYWNlcy48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMwIj4zLjUuMiBUaWxkZSBFeHBhbnNpb248L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5FeHBhbnNpb24gb2YgdGhlIH4gY2hhcmFjdGVyLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzEiPjMuNS4zIFNoZWxsIFBhcmFtZXRlciBFeHBhbnNpb248L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgQmFzaCBleHBhbmRzIHZhcmlhYmxlcyB0byB0aGVpciB2YWx1ZXMuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+My41LjQgQ29tbWFuZCBTdWJzdGl0dXRpb248L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Vc2luZyB0aGUgb3V0cHV0IG9mIGEgY29tbWFuZCBhcyBhbiBhcmd1bWVudC48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMzIj4zLjUuNSBBcml0aG1ldGljIEV4cGFuc2lvbjwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0byB1c2UgYXJpdGhtZXRpYyBpbiBzaGVsbCBleHBhbnNpb25zLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzQiPjMuNS42IFByb2Nlc3MgU3Vic3RpdHV0aW9uPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+QSB3YXkgdG8gd3JpdGUgYW5kIHJlYWQgdG8gYW5kIGZyb20gYQorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMCI+My41LjEgQnJhY2UgRXhwYW5zaW9uPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+RXhwYW5zaW9uIG9mIGV4cHJlc3Npb25zIHdpdGhpbiBicmFjZXMuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+My41LjIgVGlsZGUgRXhwYW5zaW9uPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+RXhwYW5zaW9uIG9mIHRoZSB+IGNoYXJhY3Rlci48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMyIj4zLjUuMyBTaGVsbCBQYXJhbWV0ZXIgRXhwYW5zaW9uPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IEJhc2ggZXhwYW5kcyB2YXJpYWJsZXMgdG8gdGhlaXIgdmFsdWVzLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzMiPjMuNS40IENvbW1hbmQgU3Vic3RpdHV0aW9uPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+VXNpbmcgdGhlIG91dHB1dCBvZiBhIGNvbW1hbmQgYXMgYW4gYXJndW1lbnQuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNCI+My41LjUgQXJpdGhtZXRpYyBFeHBhbnNpb248L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgdG8gdXNlIGFyaXRobWV0aWMgaW4gc2hlbGwgZXhwYW5zaW9ucy48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM1Ij4zLjUuNiBQcm9jZXNzIFN1YnN0aXR1dGlvbjwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkEgd2F5IHRvIHdyaXRlIGFuZCByZWFkIHRvIGFuZCBmcm9tIGEKIAkJCQljb21tYW5kLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzUiPjMuNS43IFdvcmQgU3BsaXR0aW5nPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRoZSByZXN1bHRzIG9mIGV4cGFuc2lvbiBhcmUgc3BsaXQgaW50byBzZXBhcmF0ZQorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNiI+My41LjcgV29yZCBTcGxpdHRpbmc8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgdGhlIHJlc3VsdHMgb2YgZXhwYW5zaW9uIGFyZSBzcGxpdCBpbnRvIHNlcGFyYXRlCiAJCQlhcmd1bWVudHMuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNiI+My41LjggRmlsZW5hbWUgRXhwYW5zaW9uPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+QSBzaG9ydGhhbmQgZm9yIHNwZWNpZnlpbmcgZmlsZW5hbWVzIG1hdGNoaW5nIHBhdHRlcm5zLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzgiPjMuNS45IFF1b3RlIFJlbW92YWw8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgYW5kIHdoZW4gcXVvdGUgY2hhcmFjdGVycyBhcmUgcmVtb3ZlZCBmcm9tCis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM3Ij4zLjUuOCBGaWxlbmFtZSBFeHBhbnNpb248L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5BIHNob3J0aGFuZCBmb3Igc3BlY2lmeWluZyBmaWxlbmFtZXMgbWF0Y2hpbmcgcGF0dGVybnMuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+My41LjkgUXVvdGUgUmVtb3ZhbDwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyBhbmQgd2hlbiBxdW90ZSBjaGFyYWN0ZXJzIGFyZSByZW1vdmVkIGZyb20KIAkJCXdvcmRzLjwvVEQ+PC9UUj4KIDwvVEFCTEU+PC9CTE9DS1FVT1RFPgogPFA+CkBAIC0xOTM1LDM1ICsyMDM4LDM1IEBACiBjYW4gY2hhbmdlIHRoZSBudW1iZXIgb2Ygd29yZHMgb2YgdGhlIGV4cGFuc2lvbjsgb3RoZXIgZXhwYW5zaW9ucwogZXhwYW5kIGEgc2luZ2xlIHdvcmQgdG8gYSBzaW5nbGUgd29yZC4KIFRoZSBvbmx5IGV4Y2VwdGlvbnMgdG8gdGhpcyBhcmUgdGhlIGV4cGFuc2lvbnMgb2YKLTxDT0RFPiIkQCI8L0NPREU+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT4pIGFuZCA8Q09ERT4iJHs8VkFSPm5hbWU8L1ZBUj5bQF19IjwvQ09ERT4KLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPjYuNyBBcnJheXM8L0E+KS4KKzxDT0RFPiIkQCI8L0NPREU+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT4pIGFuZCA8Q09ERT4iJHs8VkFSPm5hbWU8L1ZBUj5bQF19IjwvQ09ERT4KKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODYiPjYuNyBBcnJheXM8L0E+KS4KIDwvUD48UD4KIAotQWZ0ZXIgYWxsIGV4cGFuc2lvbnMsIDxDT0RFPnF1b3RlIHJlbW92YWw8L0NPREU+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzgiPjMuNS45IFF1b3RlIFJlbW92YWw8L0E+KQorQWZ0ZXIgYWxsIGV4cGFuc2lvbnMsIDxDT0RFPnF1b3RlIHJlbW92YWw8L0NPREU+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPjMuNS45IFF1b3RlIFJlbW92YWw8L0E+KQogaXMgcGVyZm9ybWVkLgogPC9QPjxQPgogCiA8QSBOQU1FPSJCcmFjZSBFeHBhbnNpb24iPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzI5Ij48L0E+Cis8QSBOQU1FPSJTRUMzMCI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMwIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI5Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMxIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDAiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI5Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiAzLjUuMSBCcmFjZSBFeHBhbnNpb24gPC9IMz4KLTwhLS1kb2NpZDo6U0VDMjk6Oi0tPgorPCEtLWRvY2lkOjpTRUMzMDo6LS0+CiA8UD4KIAogQnJhY2UgZXhwYW5zaW9uIGlzIGEgbWVjaGFuaXNtIGJ5IHdoaWNoIGFyYml0cmFyeSBzdHJpbmdzIG1heSBiZSBnZW5lcmF0ZWQuCiBUaGlzIG1lY2hhbmlzbSBpcyBzaW1pbGFyIHRvCi08VkFSPmZpbGVuYW1lIGV4cGFuc2lvbjwvVkFSPiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM2Ij4zLjUuOCBGaWxlbmFtZSBFeHBhbnNpb248L0E+KSwKKzxWQVI+ZmlsZW5hbWUgZXhwYW5zaW9uPC9WQVI+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPjMuNS44IEZpbGVuYW1lIEV4cGFuc2lvbjwvQT4pLAogYnV0IHRoZSBmaWxlIG5hbWVzIGdlbmVyYXRlZCBuZWVkIG5vdCBleGlzdC4KIFBhdHRlcm5zIHRvIGJlIGJyYWNlIGV4cGFuZGVkIHRha2UgdGhlIGZvcm0gb2YgYW4gb3B0aW9uYWwgPFZBUj5wcmVhbWJsZTwvVkFSPiwKIGZvbGxvd2VkIGJ5IGVpdGhlciBhIHNlcmllcyBvZiBjb21tYS1zZXBhcmF0ZWQgc3RyaW5ncyBvciBhIHNlcWV1bmNlIGV4cHJlc3Npb24KQEAgLTIwMjksMjAgKzIxMzIsMjAgQEAKIAogPEEgTkFNRT0iVGlsZGUgRXhwYW5zaW9uIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMzMCI+PC9BPgorPEEgTkFNRT0iU0VDMzEiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMxIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMyIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDAiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy41LjIgVGlsZGUgRXhwYW5zaW9uIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzMwOjotLT4KKzwhLS1kb2NpZDo6U0VDMzE6Oi0tPgogPFA+CiAKIElmIGEgd29yZCBiZWdpbnMgd2l0aCBhbiB1bnF1b3RlZCB0aWxkZSBjaGFyYWN0ZXIgKDxTQU1QPmB+JzwvU0FNUD4pLCBhbGwgb2YgdGhlCkBAIC0yMDcwLDcgKzIxNzMsNyBAQAogdGhlIHRpbGRlLXByZWZpeCBpcyByZXBsYWNlZCB3aXRoIHRoZQogY29ycmVzcG9uZGluZyBlbGVtZW50IGZyb20gdGhlIGRpcmVjdG9yeSBzdGFjaywgYXMgaXQgd291bGQgYmUgZGlzcGxheWVkCiBieSB0aGUgPENPREU+ZGlyczwvQ09ERT4gYnVpbHRpbiBpbnZva2VkIHdpdGggdGhlIGNoYXJhY3RlcnMgZm9sbG93aW5nIHRpbGRlCi1pbiB0aGUgdGlsZGUtcHJlZml4IGFzIGFuIGFyZ3VtZW50IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODYiPjYuOCBUaGUgRGlyZWN0b3J5IFN0YWNrPC9BPikuCitpbiB0aGUgdGlsZGUtcHJlZml4IGFzIGFuIGFyZ3VtZW50IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPjYuOCBUaGUgRGlyZWN0b3J5IFN0YWNrPC9BPikuCiBJZiB0aGUgdGlsZGUtcHJlZml4LCBzYW5zIHRoZSB0aWxkZSwgY29uc2lzdHMgb2YgYSBudW1iZXIgd2l0aG91dCBhCiBsZWFkaW5nIDxTQU1QPmArJzwvU0FNUD4gb3IgPFNBTVA+YC0nPC9TQU1QPiwgPFNBTVA+YCsnPC9TQU1QPiBpcyBhc3N1bWVkLgogPC9QPjxQPgpAQCAtMjEyNywyMCArMjIzMCwyMCBAQAogCiA8QSBOQU1FPSJTaGVsbCBQYXJhbWV0ZXIgRXhwYW5zaW9uIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMzMSI+PC9BPgorPEEgTkFNRT0iU0VDMzIiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMyIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMyI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMzIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDAiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbiA8L0gzPgotPCEtLWRvY2lkOjpTRUMzMTo6LS0+Cis8IS0tZG9jaWQ6OlNFQzMyOjotLT4KIDxQPgogCiBUaGUgPFNBTVA+YCQnPC9TQU1QPiBjaGFyYWN0ZXIgaW50cm9kdWNlcyBwYXJhbWV0ZXIgZXhwYW5zaW9uLApAQCAtMjE3Myw3ICsyMjc2LDcgQEAKIGV4cGFuZGVkIGFuZCB0aGF0IHZhbHVlIGlzIHVzZWQgaW4gdGhlIHJlc3Qgb2YgdGhlIHN1YnN0aXR1dGlvbiwgcmF0aGVyCiB0aGFuIHRoZSB2YWx1ZSBvZiA8VkFSPnBhcmFtZXRlcjwvVkFSPiBpdHNlbGYuCiBUaGlzIGlzIGtub3duIGFzIDxDT0RFPmluZGlyZWN0IGV4cGFuc2lvbjwvQ09ERT4uCi1UaGUgZXhjZXB0aW9ucyB0byB0aGlzIGFyZSB0aGUgZXhwYW5zaW9ucyBvZiAkeyE8VkFSPnByZWZpeCo8L1ZBUj59CitUaGUgZXhjZXB0aW9ucyB0byB0aGlzIGFyZSB0aGUgZXhwYW5zaW9ucyBvZiAkeyE8VkFSPnByZWZpeDwvVkFSPjxCUj59CiBhbmQgJHshPFZBUj5uYW1lPC9WQVI+W0BdfQogZGVzY3JpYmVkIGJlbG93LgogVGhlIGV4Y2xhbWF0aW9uIHBvaW50IG11c3QgaW1tZWRpYXRlbHkgZm9sbG93IHRoZSBsZWZ0IGJyYWNlIGluIG9yZGVyIHRvCkBAIC0yMjMxLDEzICsyMzM0LDE3IEBACiBJZiA8VkFSPmxlbmd0aDwvVkFSPiBpcyBvbWl0dGVkLCBleHBhbmRzIHRvIHRoZSBzdWJzdHJpbmcgb2YKIDxWQVI+cGFyYW1ldGVyPC9WQVI+IHN0YXJ0aW5nIGF0IHRoZSBjaGFyYWN0ZXIgc3BlY2lmaWVkIGJ5IDxWQVI+b2Zmc2V0PC9WQVI+LgogPFZBUj5sZW5ndGg8L1ZBUj4gYW5kIDxWQVI+b2Zmc2V0PC9WQVI+IGFyZSBhcml0aG1ldGljIGV4cHJlc3Npb25zCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj42LjUgU2hlbGwgQXJpdGhtZXRpYzwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni41IFNoZWxsIEFyaXRobWV0aWM8L0E+KS4KIFRoaXMgaXMgcmVmZXJyZWQgdG8gYXMgU3Vic3RyaW5nIEV4cGFuc2lvbi4KIDxQPgogCi08VkFSPmxlbmd0aDwvVkFSPiBtdXN0IGV2YWx1YXRlIHRvIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB6ZXJvLgogSWYgPFZBUj5vZmZzZXQ8L1ZBUj4gZXZhbHVhdGVzIHRvIGEgbnVtYmVyIGxlc3MgdGhhbiB6ZXJvLCB0aGUgdmFsdWUKIGlzIHVzZWQgYXMgYW4gb2Zmc2V0IGZyb20gdGhlIGVuZCBvZiB0aGUgdmFsdWUgb2YgPFZBUj5wYXJhbWV0ZXI8L1ZBUj4uCitJZiA8VkFSPmxlbmd0aDwvVkFSPiBldmFsdWF0ZXMgdG8gYSBudW1iZXIgbGVzcyB0aGFuIHplcm8sIGFuZCA8VkFSPnBhcmFtZXRlcjwvVkFSPgoraXMgbm90IDxTQU1QPmBAJzwvU0FNUD4gYW5kIG5vdCBhbiBpbmRleGVkIG9yIGFzc29jaWF0aXZlIGFycmF5LCBpdCBpcyBpbnRlcnByZXRlZAorYXMgYW4gb2Zmc2V0IGZyb20gdGhlIGVuZCBvZiB0aGUgdmFsdWUgb2YgPFZBUj5wYXJhbWV0ZXI8L1ZBUj4gcmF0aGVyIHRoYW4KK2EgbnVtYmVyIG9mIGNoYXJhY3RlcnMsIGFuZCB0aGUgZXhwYW5zaW9uIGlzIHRoZSBjaGFyYWN0ZXJzIGJldHdlZW4gdGhlCit0d28gb2Zmc2V0cy4KIElmIDxWQVI+cGFyYW1ldGVyPC9WQVI+IGlzIDxTQU1QPmBAJzwvU0FNUD4sIHRoZSByZXN1bHQgaXMgPFZBUj5sZW5ndGg8L1ZBUj4gcG9zaXRpb25hbAogcGFyYW1ldGVycyBiZWdpbm5pbmcgYXQgPFZBUj5vZmZzZXQ8L1ZBUj4uCiBJZiA8VkFSPnBhcmFtZXRlcjwvVkFSPiBpcyBhbiBpbmRleGVkIGFycmF5IG5hbWUgc3Vic2NyaXB0ZWQKQEAgLTIyODgsNyArMjM5NSw3IEBACiA8REQ+PERUPjxDT0RFPiR7PFZBUj5wYXJhbWV0ZXI8L1ZBUj4jIzxWQVI+d29yZDwvVkFSPn08L0NPREU+CiA8REQ+VGhlIDxWQVI+d29yZDwvVkFSPgogaXMgZXhwYW5kZWQgdG8gcHJvZHVjZSBhIHBhdHRlcm4ganVzdCBhcyBpbiBmaWxlbmFtZQotZXhwYW5zaW9uIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzYiPjMuNS44IEZpbGVuYW1lIEV4cGFuc2lvbjwvQT4pLiAgSWYgdGhlIHBhdHRlcm4gbWF0Y2hlcworZXhwYW5zaW9uIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPjMuNS44IEZpbGVuYW1lIEV4cGFuc2lvbjwvQT4pLiAgSWYgdGhlIHBhdHRlcm4gbWF0Y2hlcwogdGhlIGJlZ2lubmluZyBvZiB0aGUgZXhwYW5kZWQgdmFsdWUgb2YgPFZBUj5wYXJhbWV0ZXI8L1ZBUj4sCiB0aGVuIHRoZSByZXN1bHQgb2YgdGhlIGV4cGFuc2lvbiBpcyB0aGUgZXhwYW5kZWQgdmFsdWUgb2YgPFZBUj5wYXJhbWV0ZXI8L1ZBUj4KIHdpdGggdGhlIHNob3J0ZXN0IG1hdGNoaW5nIHBhdHRlcm4gKHRoZSA8U0FNUD5gIyc8L1NBTVA+IGNhc2UpIG9yIHRoZQpAQCAtMjM3MiwyMCArMjQ3OSwyMCBAQAogCiA8QSBOQU1FPSJDb21tYW5kIFN1YnN0aXR1dGlvbiI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMzIiPjwvQT4KKzxBIE5BTUU9IlNFQzMzIj48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzEiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzMiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMyI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzIiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzQiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjkiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDMuNS40IENvbW1hbmQgU3Vic3RpdHV0aW9uIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzMyOjotLT4KKzwhLS1kb2NpZDo6U0VDMzM6Oi0tPgogPFA+CiAKIENvbW1hbmQgc3Vic3RpdHV0aW9uIGFsbG93cyB0aGUgb3V0cHV0IG9mIGEgY29tbWFuZCB0byByZXBsYWNlCkBAIC0yNDI0LDIwICsyNTMxLDIwIEBACiAKIDxBIE5BTUU9IkFyaXRobWV0aWMgRXhwYW5zaW9uIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMzMyI+PC9BPgorPEEgTkFNRT0iU0VDMzQiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM0Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMyI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDAiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy41LjUgQXJpdGhtZXRpYyBFeHBhbnNpb24gPC9IMz4KLTwhLS1kb2NpZDo6U0VDMzM6Oi0tPgorPCEtLWRvY2lkOjpTRUMzNDo6LS0+CiA8UD4KIAogQXJpdGhtZXRpYyBleHBhbnNpb24gYWxsb3dzIHRoZSBldmFsdWF0aW9uIG9mIGFuIGFyaXRobWV0aWMgZXhwcmVzc2lvbgpAQCAtMjQ1NSwyNyArMjU2MiwyNyBAQAogPC9QPjxQPgogCiBUaGUgZXZhbHVhdGlvbiBpcyBwZXJmb3JtZWQgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBsaXN0ZWQgYmVsb3cKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPjYuNSBTaGVsbCBBcml0aG1ldGljPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij42LjUgU2hlbGwgQXJpdGhtZXRpYzwvQT4pLgogSWYgdGhlIGV4cHJlc3Npb24gaXMgaW52YWxpZCwgQmFzaCBwcmludHMgYSBtZXNzYWdlIGluZGljYXRpbmcKIGZhaWx1cmUgdG8gdGhlIHN0YW5kYXJkIGVycm9yIGFuZCBubyBzdWJzdGl0dXRpb24gb2NjdXJzLgogPC9QPjxQPgogCiA8QSBOQU1FPSJQcm9jZXNzIFN1YnN0aXR1dGlvbiI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMzQiPjwvQT4KKzxBIE5BTUU9IlNFQzM1Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzMiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzUiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzQiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzYiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjkiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDMuNS42IFByb2Nlc3MgU3Vic3RpdHV0aW9uIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzM0OjotLT4KKzwhLS1kb2NpZDo6U0VDMzU6Oi0tPgogPFA+CiAKIFByb2Nlc3Mgc3Vic3RpdHV0aW9uIGlzIHN1cHBvcnRlZCBvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCBuYW1lZApAQCAtMjUwMywyMCArMjYxMCwyMCBAQAogCiA8QSBOQU1FPSJXb3JkIFNwbGl0dGluZyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMzUiPjwvQT4KKzxBIE5BTUU9IlNFQzM2Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzQiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzYiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzUiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjkiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDMuNS43IFdvcmQgU3BsaXR0aW5nIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzM1OjotLT4KKzwhLS1kb2NpZDo6U0VDMzY6Oi0tPgogPFA+CiAKIFRoZSBzaGVsbCBzY2FucyB0aGUgcmVzdWx0cyBvZiBwYXJhbWV0ZXIgZXhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwKQEAgLTI1NTcsMjIgKzI2NjQsMjIgQEAKIAogPEEgTkFNRT0iRmlsZW5hbWUgRXhwYW5zaW9uIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMzNiI+PC9BPgorPEEgTkFNRT0iU0VDMzciPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM4Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzgiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNiI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOCI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy41LjggRmlsZW5hbWUgRXhwYW5zaW9uIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzM2OjotLT4KKzwhLS1kb2NpZDo6U0VDMzc6Oi0tPgogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+My41LjguMSBQYXR0ZXJuIE1hdGNoaW5nPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRoZSBzaGVsbCBtYXRjaGVzIHBhdHRlcm5zLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzgiPjMuNS44LjEgUGF0dGVybiBNYXRjaGluZzwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0aGUgc2hlbGwgbWF0Y2hlcyBwYXR0ZXJucy48L1REPjwvVFI+CiA8L1RBQkxFPjwvQkxPQ0tRVU9URT4KIDxBIE5BTUU9IklEWDY0Ij48L0E+CiA8QSBOQU1FPSJJRFg2NSI+PC9BPgpAQCAtMjU4MSw3ICsyNjg4LDcgQEAKIDxQPgogCiBBZnRlciB3b3JkIHNwbGl0dGluZywgdW5sZXNzIHRoZSA8U0FNUD5gLWYnPC9TQU1QPiBvcHRpb24gaGFzIGJlZW4gc2V0Ci0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYyIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KSwgQmFzaCBzY2FucyBlYWNoIHdvcmQgZm9yIHRoZSBjaGFyYWN0ZXJzCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KSwgQmFzaCBzY2FucyBlYWNoIHdvcmQgZm9yIHRoZSBjaGFyYWN0ZXJzCiA8U0FNUD5gKic8L1NBTVA+LCA8U0FNUD5gPyc8L1NBTVA+LCBhbmQgPFNBTVA+YFsnPC9TQU1QPi4KIElmIG9uZSBvZiB0aGVzZSBjaGFyYWN0ZXJzIGFwcGVhcnMsIHRoZW4gdGhlIHdvcmQgaXMKIHJlZ2FyZGVkIGFzIGEgPFZBUj5wYXR0ZXJuPC9WQVI+LApAQCAtMjYwNSw3ICsyNzEyLDcgQEAKIEluIG90aGVyIGNhc2VzLCB0aGUgPFNBTVA+YC4nPC9TQU1QPiBjaGFyYWN0ZXIgaXMgbm90IHRyZWF0ZWQgc3BlY2lhbGx5LgogPC9QPjxQPgogCi1TZWUgdGhlIGRlc2NyaXB0aW9uIG9mIDxDT0RFPnNob3B0PC9DT0RFPiBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPiwKK1NlZSB0aGUgZGVzY3JpcHRpb24gb2YgPENPREU+c2hvcHQ8L0NPREU+IGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+LAogZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIDxDT0RFPm5vY2FzZWdsb2I8L0NPREU+LCA8Q09ERT5udWxsZ2xvYjwvQ09ERT4sCiA8Q09ERT5mYWlsZ2xvYjwvQ09ERT4sIGFuZCA8Q09ERT5kb3RnbG9iPC9DT0RFPiBvcHRpb25zLgogPC9QPjxQPgpAQCAtMjYzMCwyMCArMjczNywyMCBAQAogCiA8QSBOQU1FPSJQYXR0ZXJuIE1hdGNoaW5nIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMzNyI+PC9BPgorPEEgTkFNRT0iU0VDMzgiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNiI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM4Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNiI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzgiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIND4gMy41LjguMSBQYXR0ZXJuIE1hdGNoaW5nIDwvSDQ+Ci08IS0tZG9jaWQ6OlNFQzM3OjotLT4KKzwhLS1kb2NpZDo6U0VDMzg6Oi0tPgogPFA+CiAKIEFueSBjaGFyYWN0ZXIgdGhhdCBhcHBlYXJzIGluIGEgcGF0dGVybiwgb3RoZXIgdGhhbiB0aGUgc3BlY2lhbCBwYXR0ZXJuCkBAIC0yNzQ2LDIwICsyODUzLDIwIEBACiAKIDxBIE5BTUU9IlF1b3RlIFJlbW92YWwiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzM4Ij48L0E+Cis8QSBOQU1FPSJTRUMzOSI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM3Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM4Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDAiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI5Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiAzLjUuOSBRdW90ZSBSZW1vdmFsIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzM4OjotLT4KKzwhLS1kb2NpZDo6U0VDMzk6Oi0tPgogPFA+CiAKIEFmdGVyIHRoZSBwcmVjZWRpbmcgZXhwYW5zaW9ucywgYWxsIHVucXVvdGVkIG9jY3VycmVuY2VzIG9mIHRoZQpAQCAtMjc2OSwyMCArMjg3NiwyMCBAQAogCiA8QSBOQU1FPSJSZWRpcmVjdGlvbnMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzM5Ij48L0E+Cis8QSBOQU1FPSJTRUM0MCI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM4Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTAiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4gJmx0OyZsdDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gMy42IFJlZGlyZWN0aW9ucyA8L0gyPgotPCEtLWRvY2lkOjpTRUMzOTo6LS0+Cis8IS0tZG9jaWQ6OlNFQzQwOjotLT4KIDxQPgogCiBCZWZvcmUgYSBjb21tYW5kIGlzIGV4ZWN1dGVkLCBpdHMgaW5wdXQgYW5kIG91dHB1dApAQCAtMjg3NiwyMCArMjk4MywyMCBAQAogPC9QPjxQPgogCiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM0MCI+PC9BPgorPEEgTkFNRT0iU0VDNDEiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MSI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUwIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTAiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MiI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy42LjEgUmVkaXJlY3RpbmcgSW5wdXQgPC9IMz4KLTwhLS1kb2NpZDo6U0VDNDA6Oi0tPgorPCEtLWRvY2lkOjpTRUM0MTo6LS0+CiBSZWRpcmVjdGlvbiBvZiBpbnB1dCBjYXVzZXMgdGhlIGZpbGUgd2hvc2UgbmFtZSByZXN1bHRzIGZyb20KIHRoZSBleHBhbnNpb24gb2YgPFZBUj53b3JkPC9WQVI+CiB0byBiZSBvcGVuZWQgZm9yIHJlYWRpbmcgb24gZmlsZSBkZXNjcmlwdG9yIDxDT0RFPm48L0NPREU+LApAQCAtMjkwMiwyMCArMzAwOSwyMCBAQAogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PC9QPjxQPgogCiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM0MSI+PC9BPgorPEEgTkFNRT0iU0VDNDIiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MiI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQyIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTAiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MSI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MyI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQzIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy42LjIgUmVkaXJlY3RpbmcgT3V0cHV0IDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzQxOjotLT4KKzwhLS1kb2NpZDo6U0VDNDI6Oi0tPgogUmVkaXJlY3Rpb24gb2Ygb3V0cHV0IGNhdXNlcyB0aGUgZmlsZSB3aG9zZSBuYW1lIHJlc3VsdHMgZnJvbQogdGhlIGV4cGFuc2lvbiBvZiA8VkFSPndvcmQ8L1ZBUj4KIHRvIGJlIG9wZW5lZCBmb3Igd3JpdGluZyBvbiBmaWxlIGRlc2NyaXB0b3IgPFZBUj5uPC9WQVI+LApAQCAtMjkzOCwyMCArMzA0NSwyMCBAQAogPC9QPjxQPgogCiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM0MiI+PC9BPgorPEEgTkFNRT0iU0VDNDMiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MyI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQzIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTAiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MiI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NCI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ0Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy42LjMgQXBwZW5kaW5nIFJlZGlyZWN0ZWQgT3V0cHV0IDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzQyOjotLT4KKzwhLS1kb2NpZDo6U0VDNDM6Oi0tPgogUmVkaXJlY3Rpb24gb2Ygb3V0cHV0IGluIHRoaXMgZmFzaGlvbgogY2F1c2VzIHRoZSBmaWxlIHdob3NlIG5hbWUgcmVzdWx0cyBmcm9tCiB0aGUgZXhwYW5zaW9uIG9mIDxWQVI+d29yZDwvVkFSPgpAQCAtMjk2NSwyMCArMzA3MiwyMCBAQAogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PC9QPjxQPgogCiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM0MyI+PC9BPgorPEEgTkFNRT0iU0VDNDQiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MiI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ0Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTAiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MyI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy42LjQgUmVkaXJlY3RpbmcgU3RhbmRhcmQgT3V0cHV0IGFuZCBTdGFuZGFyZCBFcnJvciA8L0gzPgotPCEtLWRvY2lkOjpTRUM0Mzo6LS0+Cis8IS0tZG9jaWQ6OlNFQzQ0OjotLT4KIFRoaXMgY29uc3RydWN0IGFsbG93cyBib3RoIHRoZQogc3RhbmRhcmQgb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMSkgYW5kCiB0aGUgc3RhbmRhcmQgZXJyb3Igb3V0cHV0IChmaWxlIGRlc2NyaXB0b3IgMikKQEAgLTI5OTcsMjAgKzMxMDQsMjAgQEAKIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjwvUD48UD4KIAogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDNDQiPjwvQT4KKzxBIE5BTUU9IlNFQzQ1Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDMiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDUiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUwIj4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDQiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDYiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDAiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDMuNi41IEFwcGVuZGluZyBTdGFuZGFyZCBPdXRwdXQgYW5kIFN0YW5kYXJkIEVycm9yIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzQ0OjotLT4KKzwhLS1kb2NpZDo6U0VDNDU6Oi0tPgogVGhpcyBjb25zdHJ1Y3QgYWxsb3dzIGJvdGggdGhlCiBzdGFuZGFyZCBvdXRwdXQgKGZpbGUgZGVzY3JpcHRvciAxKSBhbmQKIHRoZSBzdGFuZGFyZCBlcnJvciBvdXRwdXQgKGZpbGUgZGVzY3JpcHRvciAyKQpAQCAtMzAyNSwyMCArMzEzMiwyMCBAQAogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PC9QPjxQPgogCiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM0NSI+PC9BPgorPEEgTkFNRT0iU0VDNDYiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NiI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ2Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTAiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NSI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NyI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ3Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy42LjYgSGVyZSBEb2N1bWVudHMgPC9IMz4KLTwhLS1kb2NpZDo6U0VDNDU6Oi0tPgorPCEtLWRvY2lkOjpTRUM0Njo6LS0+CiBUaGlzIHR5cGUgb2YgcmVkaXJlY3Rpb24gaW5zdHJ1Y3RzIHRoZSBzaGVsbCB0byByZWFkIGlucHV0IGZyb20gdGhlCiBjdXJyZW50IHNvdXJjZSB1bnRpbCBhIGxpbmUgY29udGFpbmluZyBvbmx5IDxWQVI+d29yZDwvVkFSPgogKHdpdGggbm8gdHJhaWxpbmcgYmxhbmtzKSBpcyBzZWVuLiAgQWxsIG9mCkBAIC0zMDczLDIwICszMTgwLDIwIEBACiA8L1A+PFA+CiAKIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzQ2Ij48L0E+Cis8QSBOQU1FPSJTRUM0NyI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ1Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ3Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDciPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ2Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ4Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDgiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiAzLjYuNyBIZXJlIFN0cmluZ3MgPC9IMz4KLTwhLS1kb2NpZDo6U0VDNDY6Oi0tPgorPCEtLWRvY2lkOjpTRUM0Nzo6LS0+CiBBIHZhcmlhbnQgb2YgaGVyZSBkb2N1bWVudHMsIHRoZSBmb3JtYXQgaXM6CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+JiM2MDsmIzYwOyYjNjA7IDxWQVI+d29yZDwvVkFSPgogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PFA+CkBAIC0zMDk2LDIwICszMjAzLDIwIEBACiA8L1A+PFA+CiAKIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzQ3Ij48L0E+Cis8QSBOQU1FPSJTRUM0OCI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ2Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ4Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDgiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ3Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ5Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDkiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiAzLjYuOCBEdXBsaWNhdGluZyBGaWxlIERlc2NyaXB0b3JzIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzQ3OjotLT4KKzwhLS1kb2NpZDo6U0VDNDg6Oi0tPgogVGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yCiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+WzxWQVI+bjwvVkFSPl0mIzYwOyYjMzg7PFZBUj53b3JkPC9WQVI+CiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5pcyB1c2VkIHRvIGR1cGxpY2F0ZSBpbnB1dCBmaWxlIGRlc2NyaXB0b3JzLgpAQCAtMzEzNSwyMCArMzI0MiwyMCBAQAogPC9QPjxQPgogCiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM0OCI+PC9BPgorPEEgTkFNRT0iU0VDNDkiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NyI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0OSI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUwIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTAiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0OCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MCI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy42LjkgTW92aW5nIEZpbGUgRGVzY3JpcHRvcnMgPC9IMz4KLTwhLS1kb2NpZDo6U0VDNDg6Oi0tPgorPCEtLWRvY2lkOjpTRUM0OTo6LS0+CiBUaGUgcmVkaXJlY3Rpb24gb3BlcmF0b3IKIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5bPFZBUj5uPC9WQVI+XSYjNjA7JiMzODs8VkFSPmRpZ2l0PC9WQVI+LQogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+bW92ZXMgdGhlIGZpbGUgZGVzY3JpcHRvciA8VkFSPmRpZ2l0PC9WQVI+IHRvIGZpbGUgZGVzY3JpcHRvciA8VkFSPm48L1ZBUj4sCkBAIC0zMTYzLDIwICszMjcwLDIwIEBACiA8L1A+PFA+CiAKIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzQ5Ij48L0E+Cis8QSBOQU1FPSJTRUM1MCI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ4Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUwIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDEiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ5Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDIiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiAzLjYuMTAgT3BlbmluZyBGaWxlIERlc2NyaXB0b3JzIGZvciBSZWFkaW5nIGFuZCBXcml0aW5nIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzQ5OjotLT4KKzwhLS1kb2NpZDo6U0VDNTA6Oi0tPgogVGhlIHJlZGlyZWN0aW9uIG9wZXJhdG9yCiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+WzxWQVI+bjwvVkFSPl0mIzYwOyYjNjI7PFZBUj53b3JkPC9WQVI+CiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5jYXVzZXMgdGhlIGZpbGUgd2hvc2UgbmFtZSBpcyB0aGUgZXhwYW5zaW9uIG9mIDxWQVI+d29yZDwvVkFSPgpAQCAtMzE4Nyw1MyArMzI5NCw1MyBAQAogCiA8QSBOQU1FPSJFeGVjdXRpbmcgQ29tbWFuZHMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzUwIj48L0E+Cis8QSBOQU1FPSJTRUM1MSI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ5Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTciPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MiI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4gJmx0OyZsdDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gMy43IEV4ZWN1dGluZyBDb21tYW5kcyA8L0gyPgotPCEtLWRvY2lkOjpTRUM1MDo6LS0+Cis8IS0tZG9jaWQ6OlNFQzUxOjotLT4KIDxQPgogCiA8QkxPQ0tRVU9URT48VEFCTEUgQk9SREVSPTAgQ0VMTFNQQUNJTkc9MD4gCi08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4zLjcuMSBTaW1wbGUgQ29tbWFuZCBFeHBhbnNpb248L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgQmFzaCBleHBhbmRzIHNpbXBsZSBjb21tYW5kcyBiZWZvcmUKKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTIiPjMuNy4xIFNpbXBsZSBDb21tYW5kIEV4cGFuc2lvbjwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyBCYXNoIGV4cGFuZHMgc2ltcGxlIGNvbW1hbmRzIGJlZm9yZQogCQkJCWV4ZWN1dGluZyB0aGVtLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTIiPjMuNy4yIENvbW1hbmQgU2VhcmNoIGFuZCBFeGVjdXRpb248L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgQmFzaCBmaW5kcyBjb21tYW5kcyBhbmQgcnVucyB0aGVtLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTMiPjMuNy4zIENvbW1hbmQgRXhlY3V0aW9uIEVudmlyb25tZW50PC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+VGhlIGVudmlyb25tZW50IGluIHdoaWNoIEJhc2gKKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTMiPjMuNy4yIENvbW1hbmQgU2VhcmNoIGFuZCBFeGVjdXRpb248L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgQmFzaCBmaW5kcyBjb21tYW5kcyBhbmQgcnVucyB0aGVtLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTQiPjMuNy4zIENvbW1hbmQgRXhlY3V0aW9uIEVudmlyb25tZW50PC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+VGhlIGVudmlyb25tZW50IGluIHdoaWNoIEJhc2gKIAkJCQkJZXhlY3V0ZXMgY29tbWFuZHMgdGhhdCBhcmUgbm90CiAJCQkJCXNoZWxsIGJ1aWx0aW5zLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTQiPjMuNy40IEVudmlyb25tZW50PC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+VGhlIGVudmlyb25tZW50IGdpdmVuIHRvIGEgY29tbWFuZC48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU1Ij4zLjcuNSBFeGl0IFN0YXR1czwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlRoZSBzdGF0dXMgcmV0dXJuZWQgYnkgY29tbWFuZHMgYW5kIGhvdyBCYXNoCis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU1Ij4zLjcuNCBFbnZpcm9ubWVudDwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlRoZSBlbnZpcm9ubWVudCBnaXZlbiB0byBhIGNvbW1hbmQuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NiI+My43LjUgRXhpdCBTdGF0dXM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5UaGUgc3RhdHVzIHJldHVybmVkIGJ5IGNvbW1hbmRzIGFuZCBob3cgQmFzaAogCQkJaW50ZXJwcmV0cyBpdC48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU2Ij4zLjcuNiBTaWduYWxzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+V2hhdCBoYXBwZW5zIHdoZW4gQmFzaCBvciBhIGNvbW1hbmQgaXQgcnVucworPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+My43LjYgU2lnbmFsczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPldoYXQgaGFwcGVucyB3aGVuIEJhc2ggb3IgYSBjb21tYW5kIGl0IHJ1bnMKIAkJCXJlY2VpdmVzIGEgc2lnbmFsLjwvVEQ+PC9UUj4KIDwvVEFCTEU+PC9CTE9DS1FVT1RFPgogPFA+CiAKIDxBIE5BTUU9IlNpbXBsZSBDb21tYW5kIEV4cGFuc2lvbiI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDNTEiPjwvQT4KKzxBIE5BTUU9IlNFQzUyIj48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTAiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTIiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTAiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU3Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTEiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTMiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTEiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDMuNy4xIFNpbXBsZSBDb21tYW5kIEV4cGFuc2lvbiA8L0gzPgotPCEtLWRvY2lkOjpTRUM1MTo6LS0+Cis8IS0tZG9jaWQ6OlNFQzUyOjotLT4KIDxQPgogCiBXaGVuIGEgc2ltcGxlIGNvbW1hbmQgaXMgZXhlY3V0ZWQsIHRoZSBzaGVsbCBwZXJmb3JtcyB0aGUgZm9sbG93aW5nCkBAIC0zMjQ5LDE0ICszMzU2LDE0IEBACiAKIDxMST4KIFRoZSB3b3JkcyB0aGF0IGFyZSBub3QgdmFyaWFibGUgYXNzaWdubWVudHMgb3IgcmVkaXJlY3Rpb25zIGFyZQotZXhwYW5kZWQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+My41IFNoZWxsIEV4cGFuc2lvbnM8L0E+KS4KK2V4cGFuZGVkIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjkiPjMuNSBTaGVsbCBFeHBhbnNpb25zPC9BPikuCiBJZiBhbnkgd29yZHMgcmVtYWluIGFmdGVyIGV4cGFuc2lvbiwgdGhlIGZpcnN0IHdvcmQKIGlzIHRha2VuIHRvIGJlIHRoZSBuYW1lIG9mIHRoZSBjb21tYW5kIGFuZCB0aGUgcmVtYWluaW5nIHdvcmRzIGFyZQogdGhlIGFyZ3VtZW50cy4KIDxQPgogCiA8TEk+Ci1SZWRpcmVjdGlvbnMgYXJlIHBlcmZvcm1lZCBhcyBkZXNjcmliZWQgYWJvdmUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+My42IFJlZGlyZWN0aW9uczwvQT4pLgorUmVkaXJlY3Rpb25zIGFyZSBwZXJmb3JtZWQgYXMgZGVzY3JpYmVkIGFib3ZlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDAiPjMuNiBSZWRpcmVjdGlvbnM8L0E+KS4KIDxQPgogCiA8TEk+CkBAIC0zMjg3LDIwICszMzk0LDIwIEBACiAKIDxBIE5BTUU9IkNvbW1hbmQgU2VhcmNoIGFuZCBFeGVjdXRpb24iPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzUyIj48L0E+Cis8QSBOQU1FPSJTRUM1MyI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUzIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTMiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUwIj4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUyIj4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU0Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTQiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiAzLjcuMiBDb21tYW5kIFNlYXJjaCBhbmQgRXhlY3V0aW9uIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzUyOjotLT4KKzwhLS1kb2NpZDo6U0VDNTM6Oi0tPgogPFA+CiAKIEFmdGVyIGEgY29tbWFuZCBoYXMgYmVlbiBzcGxpdCBpbnRvIHdvcmRzLCBpZiBpdCByZXN1bHRzIGluIGEKQEAgLTMzMTIsNyArMzQxOSw3IEBACiA8TEk+CiBJZiB0aGUgY29tbWFuZCBuYW1lIGNvbnRhaW5zIG5vIHNsYXNoZXMsIHRoZSBzaGVsbCBhdHRlbXB0cyB0bwogbG9jYXRlIGl0LiAgSWYgdGhlcmUgZXhpc3RzIGEgc2hlbGwgZnVuY3Rpb24gYnkgdGhhdCBuYW1lLCB0aGF0Ci1mdW5jdGlvbiBpcyBpbnZva2VkIGFzIGRlc2NyaWJlZCBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjQiPjMuMyBTaGVsbCBGdW5jdGlvbnM8L0E+LgorZnVuY3Rpb24gaXMgaW52b2tlZCBhcyBkZXNjcmliZWQgaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI1Ij4zLjMgU2hlbGwgRnVuY3Rpb25zPC9BPi4KIDxQPgogCiA8TEk+CkBAIC0zMzI3LDcgKzM0MzQsNyBAQAogPENPREU+JFBBVEg8L0NPREU+IGZvciBhIGRpcmVjdG9yeSBjb250YWluaW5nIGFuIGV4ZWN1dGFibGUgZmlsZQogYnkgdGhhdCBuYW1lLiAgQmFzaCB1c2VzIGEgaGFzaCB0YWJsZSB0byByZW1lbWJlciB0aGUgZnVsbAogcGF0aG5hbWVzIG9mIGV4ZWN1dGFibGUgZmlsZXMgdG8gYXZvaWQgbXVsdGlwbGUgPENPREU+UEFUSDwvQ09ERT4gc2VhcmNoZXMKLShzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIDxDT0RFPmhhc2g8L0NPREU+IGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgorKHNlZSB0aGUgZGVzY3JpcHRpb24gb2YgPENPREU+aGFzaDwvQ09ERT4gaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPikuCiBBIGZ1bGwgc2VhcmNoIG9mIHRoZSBkaXJlY3RvcmllcyBpbiA8Q09ERT4kUEFUSDwvQ09ERT4KIGlzIHBlcmZvcm1lZCBvbmx5IGlmIHRoZSBjb21tYW5kIGlzIG5vdCBmb3VuZCBpbiB0aGUgaGFzaCB0YWJsZS4KIElmIHRoZSBzZWFyY2ggaXMgdW5zdWNjZXNzZnVsLCB0aGUgc2hlbGwgc2VhcmNoZXMgZm9yIGEgZGVmaW5lZCBzaGVsbApAQCAtMzM1MSw3ICszNDU4LDcgQEAKIElmIHRoaXMgZXhlY3V0aW9uIGZhaWxzIGJlY2F1c2UgdGhlIGZpbGUgaXMgbm90IGluIGV4ZWN1dGFibGUKIGZvcm1hdCwgYW5kIHRoZSBmaWxlIGlzIG5vdCBhIGRpcmVjdG9yeSwgaXQgaXMgYXNzdW1lZCB0byBiZSBhCiA8VkFSPnNoZWxsIHNjcmlwdDwvVkFSPiBhbmQgdGhlIHNoZWxsIGV4ZWN1dGVzIGl0IGFzIGRlc2NyaWJlZCBpbgotPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU3Ij4zLjggU2hlbGwgU2NyaXB0czwvQT4uCis8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPjMuOCBTaGVsbCBTY3JpcHRzPC9BPi4KIDxQPgogCiA8TEk+CkBAIC0zMzY0LDIwICszNDcxLDIwIEBACiAKIDxBIE5BTUU9IkNvbW1hbmQgRXhlY3V0aW9uIEVudmlyb25tZW50Ij48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM1MyI+PC9BPgorPEEgTkFNRT0iU0VDNTQiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MiI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU0Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MyI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MSI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy43LjMgQ29tbWFuZCBFeGVjdXRpb24gRW52aXJvbm1lbnQgPC9IMz4KLTwhLS1kb2NpZDo6U0VDNTM6Oi0tPgorPCEtLWRvY2lkOjpTRUM1NDo6LS0+CiA8UD4KIAogVGhlIHNoZWxsIGhhcyBhbiA8VkFSPmV4ZWN1dGlvbiBlbnZpcm9ubWVudDwvVkFSPiwgd2hpY2ggY29uc2lzdHMgb2YgdGhlCkBAIC0zNDIwLDExICszNTI3LDExIEBACiA8UD4KIAogPExJPgotb3B0aW9ucyBlbmFibGVkIGJ5IDxDT0RFPnNob3B0PC9DT0RFPiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMiBUaGUgU2hvcHQgQnVpbHRpbjwvQT4pCitvcHRpb25zIGVuYWJsZWQgYnkgPENPREU+c2hvcHQ8L0NPREU+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPikKIDxQPgogCiA8TEk+Ci1zaGVsbCBhbGlhc2VzIGRlZmluZWQgd2l0aCA8Q09ERT5hbGlhczwvQ09ERT4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni42IEFsaWFzZXM8L0E+KQorc2hlbGwgYWxpYXNlcyBkZWZpbmVkIHdpdGggPENPREU+YWxpYXM8L0NPREU+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPjYuNiBBbGlhc2VzPC9BPikKIDxQPgogCiA8TEk+CkBAIC0zNDU5LDcgKzM1NjYsNyBAQAogCiA8TEk+CiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucyBtYXJrZWQgZm9yIGV4cG9ydCwgYWxvbmcgd2l0aCB2YXJpYWJsZXMKLWV4cG9ydGVkIGZvciB0aGUgY29tbWFuZCwgcGFzc2VkIGluIHRoZSBlbnZpcm9ubWVudCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU0Ij4zLjcuNCBFbnZpcm9ubWVudDwvQT4pCitleHBvcnRlZCBmb3IgdGhlIGNvbW1hbmQsIHBhc3NlZCBpbiB0aGUgZW52aXJvbm1lbnQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NSI+My43LjQgRW52aXJvbm1lbnQ8L0E+KQogPFA+CiAKIDxMST4KQEAgLTM0OTcsMjAgKzM2MDQsMjAgQEAKIAogPEEgTkFNRT0iRW52aXJvbm1lbnQiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzU0Ij48L0E+Cis8QSBOQU1FPSJTRUM1NSI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUzIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU1Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTUiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUwIj4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU0Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU2Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTYiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiAzLjcuNCBFbnZpcm9ubWVudCA8L0gzPgotPCEtLWRvY2lkOjpTRUM1NDo6LS0+Cis8IS0tZG9jaWQ6OlNFQzU1OjotLT4KIDxQPgogCiBXaGVuIGEgcHJvZ3JhbSBpcyBpbnZva2VkIGl0IGlzIGdpdmVuIGFuIGFycmF5IG9mIHN0cmluZ3MKQEAgLTM1MzcsMTIgKzM2NDQsMTIgQEAKIAogVGhlIGVudmlyb25tZW50IGZvciBhbnkgc2ltcGxlIGNvbW1hbmQKIG9yIGZ1bmN0aW9uIG1heSBiZSBhdWdtZW50ZWQgdGVtcG9yYXJpbHkgYnkgcHJlZml4aW5nIGl0IHdpdGgKLXBhcmFtZXRlciBhc3NpZ25tZW50cywgYXMgZGVzY3JpYmVkIGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+My40IFNoZWxsIFBhcmFtZXRlcnM8L0E+LgorcGFyYW1ldGVyIGFzc2lnbm1lbnRzLCBhcyBkZXNjcmliZWQgaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI2Ij4zLjQgU2hlbGwgUGFyYW1ldGVyczwvQT4uCiBUaGVzZSBhc3NpZ25tZW50IHN0YXRlbWVudHMgYWZmZWN0IG9ubHkgdGhlIGVudmlyb25tZW50IHNlZW4KIGJ5IHRoYXQgY29tbWFuZC4KIDwvUD48UD4KIAotSWYgdGhlIDxTQU1QPmAtayc8L1NBTVA+IG9wdGlvbiBpcyBzZXQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPiksIHRoZW4gYWxsCitJZiB0aGUgPFNBTVA+YC1rJzwvU0FNUD4gb3B0aW9uIGlzIHNldCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KSwgdGhlbiBhbGwKIHBhcmFtZXRlciBhc3NpZ25tZW50cyBhcmUgcGxhY2VkIGluIHRoZSBlbnZpcm9ubWVudCBmb3IgYSBjb21tYW5kLAogbm90IGp1c3QgdGhvc2UgdGhhdCBwcmVjZWRlIHRoZSBjb21tYW5kIG5hbWUuCiA8L1A+PFA+CkBAIC0zNTU0LDIwICszNjYxLDIwIEBACiAKIDxBIE5BTUU9IkV4aXQgU3RhdHVzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM1NSI+PC9BPgorPEEgTkFNRT0iU0VDNTYiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NiI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU2Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NSI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU3Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MSI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy43LjUgRXhpdCBTdGF0dXMgPC9IMz4KLTwhLS1kb2NpZDo6U0VDNTU6Oi0tPgorPCEtLWRvY2lkOjpTRUM1Njo6LS0+CiA8UD4KIAogVGhlIGV4aXQgc3RhdHVzIG9mIGFuIGV4ZWN1dGVkIGNvbW1hbmQgaXMgdGhlIHZhbHVlIHJldHVybmVkIGJ5IHRoZQpAQCAtMzYxMSwyMCArMzcxOCwyMCBAQAogCiA8QSBOQU1FPSJTaWduYWxzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM1NiI+PC9BPgorPEEgTkFNRT0iU0VDNTciPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU3Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NiI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OCI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MSI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gMy43LjYgU2lnbmFscyA8L0gzPgotPCEtLWRvY2lkOjpTRUM1Njo6LS0+Cis8IS0tZG9jaWQ6OlNFQzU3OjotLT4KIDxQPgogCiBXaGVuIEJhc2ggaXMgaW50ZXJhY3RpdmUsIGluIHRoZSBhYnNlbmNlIG9mIGFueSB0cmFwcywgaXQgaWdub3JlcwpAQCAtMzYzMyw3ICszNzQwLDcgQEAKIGlzIGNhdWdodCBhbmQgaGFuZGxlZCAoc28gdGhhdCB0aGUgPENPREU+d2FpdDwvQ09ERT4gYnVpbHRpbiBpcyBpbnRlcnJ1cHRpYmxlKS4KIFdoZW4gQmFzaCByZWNlaXZlcyBhIDxDT0RFPlNJR0lOVDwvQ09ERT4sIGl0IGJyZWFrcyBvdXQgb2YgYW55IGV4ZWN1dGluZyBsb29wcy4KIEluIGFsbCBjYXNlcywgQmFzaCBpZ25vcmVzIDxDT0RFPlNJR1FVSVQ8L0NPREU+LgotSWYgam9iIGNvbnRyb2wgaXMgaW4gZWZmZWN0IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPjcuIEpvYiBDb250cm9sPC9BPiksIEJhc2gKK0lmIGpvYiBjb250cm9sIGlzIGluIGVmZmVjdCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj43LiBKb2IgQ29udHJvbDwvQT4pLCBCYXNoCiBpZ25vcmVzIDxDT0RFPlNJR1RUSU48L0NPREU+LCA8Q09ERT5TSUdUVE9VPC9DT0RFPiwgYW5kIDxDT0RFPlNJR1RTVFA8L0NPREU+LgogPC9QPjxQPgogCkBAIC0zNjU1LDEyICszNzYyLDEyIEBACiBUbyBwcmV2ZW50IHRoZSBzaGVsbCBmcm9tIHNlbmRpbmcgdGhlIDxDT0RFPlNJR0hVUDwvQ09ERT4gc2lnbmFsIHRvIGEKIHBhcnRpY3VsYXIgam9iLCBpdCBzaG91bGQgYmUgcmVtb3ZlZAogZnJvbSB0aGUgam9icyB0YWJsZSB3aXRoIHRoZSA8Q09ERT5kaXNvd248L0NPREU+Ci1idWlsdGluIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT4pIG9yIG1hcmtlZAorYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk0Ij43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+KSBvciBtYXJrZWQKIHRvIG5vdCByZWNlaXZlIDxDT0RFPlNJR0hVUDwvQ09ERT4gdXNpbmcgPENPREU+ZGlzb3duIC1oPC9DT0RFPi4KIDwvUD48UD4KIAogSWYgdGhlICA8Q09ERT5odXBvbmV4aXQ8L0NPREU+IHNoZWxsIG9wdGlvbiBoYXMgYmVlbiBzZXQgd2l0aCA8Q09ERT5zaG9wdDwvQ09ERT4KLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPiksIEJhc2ggc2VuZHMgYSA8Q09ERT5TSUdIVVA8L0NPREU+IHRvIGFsbCBqb2JzIHdoZW4KKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPiksIEJhc2ggc2VuZHMgYSA8Q09ERT5TSUdIVVA8L0NPREU+IHRvIGFsbCBqb2JzIHdoZW4KIGFuIGludGVyYWN0aXZlIGxvZ2luIHNoZWxsIGV4aXRzLgogPC9QPjxQPgogCkBAIC0zNjc2LDI2ICszNzgzLDI2IEBACiAKIDxBIE5BTUU9IlNoZWxsIFNjcmlwdHMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzU3Ij48L0E+Cis8QSBOQU1FPSJTRUM1OCI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU2Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+ICZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiAzLjggU2hlbGwgU2NyaXB0cyA8L0gyPgotPCEtLWRvY2lkOjpTRUM1Nzo6LS0+Cis8IS0tZG9jaWQ6OlNFQzU4OjotLT4KIDxQPgogCiBBIHNoZWxsIHNjcmlwdCBpcyBhIHRleHQgZmlsZSBjb250YWluaW5nIHNoZWxsIGNvbW1hbmRzLiAgV2hlbiBzdWNoCiBhIGZpbGUgaXMgdXNlZCBhcyB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCB3aGVuIGludm9raW5nIEJhc2gsCiBhbmQgbmVpdGhlciB0aGUgPFNBTVA+YC1jJzwvU0FNUD4gbm9yIDxTQU1QPmAtcyc8L1NBTVA+IG9wdGlvbiBpcyBzdXBwbGllZAotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+Ni4xIEludm9raW5nIEJhc2g8L0E+KSwgCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzcwIj42LjEgSW52b2tpbmcgQmFzaDwvQT4pLCAKIEJhc2ggcmVhZHMgYW5kIGV4ZWN1dGVzIGNvbW1hbmRzIGZyb20gdGhlIGZpbGUsIHRoZW4gZXhpdHMuICBUaGlzCiBtb2RlIG9mIG9wZXJhdGlvbiBjcmVhdGVzIGEgbm9uLWludGVyYWN0aXZlIHNoZWxsLiAgVGhlIHNoZWxsIGZpcnN0CiBzZWFyY2hlcyBmb3IgdGhlIGZpbGUgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LCBhbmQgbG9va3MgaW4gdGhlCkBAIC0zNzIzLDcgKzM4MzAsNyBAQAogVGhpcyBzdWJzaGVsbCByZWluaXRpYWxpemVzIGl0c2VsZiwgc28gdGhhdCB0aGUgZWZmZWN0IGlzIGFzIGlmIGEKIG5ldyBzaGVsbCBoYWQgYmVlbiBpbnZva2VkIHRvIGludGVycHJldCB0aGUgc2NyaXB0LCB3aXRoIHRoZQogZXhjZXB0aW9uIHRoYXQgdGhlIGxvY2F0aW9ucyBvZiBjb21tYW5kcyByZW1lbWJlcmVkIGJ5IHRoZSBwYXJlbnQKLShzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIDxDT0RFPmhhc2g8L0NPREU+IGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pCisoc2VlIHRoZSBkZXNjcmlwdGlvbiBvZiA8Q09ERT5oYXNoPC9DT0RFPiBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+KQogYXJlIHJldGFpbmVkIGJ5IHRoZSBjaGlsZC4KIDwvUD48UD4KIApAQCAtMzc1MiwyOSArMzg1OSwyOSBAQAogCiA8QSBOQU1FPSJTaGVsbCBCdWlsdGluIENvbW1hbmRzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM1OCI+PC9BPgorPEEgTkFNRT0iU0VDNTkiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjUiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDE+IDQuIFNoZWxsIEJ1aWx0aW4gQ29tbWFuZHMgPC9IMT4KLTwhLS1kb2NpZDo6U0VDNTg6Oi0tPgorPCEtLWRvY2lkOjpTRUM1OTo6LS0+CiA8UD4KIAogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkJ1aWx0aW4gY29tbWFuZHMgaW5oZXJpdGVkIGZyb20gdGhlIEJvdXJuZQorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkJ1aWx0aW4gY29tbWFuZHMgaW5oZXJpdGVkIGZyb20gdGhlIEJvdXJuZQogCQkJCVNoZWxsLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5UYWJsZSBvZiBidWlsdGlucyBzcGVjaWZpYyB0byBCYXNoLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMyBNb2RpZnlpbmcgU2hlbGwgQmVoYXZpb3I8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5CdWlsdGlucyB0byBtb2RpZnkgc2hlbGwgYXR0cmlidXRlcyBhbmQKKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5UYWJsZSBvZiBidWlsdGlucyBzcGVjaWZpYyB0byBCYXNoLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPjQuMyBNb2RpZnlpbmcgU2hlbGwgQmVoYXZpb3I8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5CdWlsdGlucyB0byBtb2RpZnkgc2hlbGwgYXR0cmlidXRlcyBhbmQKIAkJCQlvcHRpb25hbCBiZWhhdmlvci48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij40LjQgU3BlY2lhbCBCdWlsdGluczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkJ1aWx0aW4gY29tbWFuZHMgY2xhc3NpZmllZCBzcGVjaWFsbHkgYnkKKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjUiPjQuNCBTcGVjaWFsIEJ1aWx0aW5zPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+QnVpbHRpbiBjb21tYW5kcyBjbGFzc2lmaWVkIHNwZWNpYWxseSBieQogCQkJCVBPU0lYLjwvVEQ+PC9UUj4KIDwvVEFCTEU+PC9CTE9DS1FVT1RFPgogPFA+CkBAIC0zNzk0LDEwICszOTAxLDEwIEBACiAKIFNldmVyYWwgYnVpbHRpbiBjb21tYW5kcyBhcmUgZGVzY3JpYmVkIGluIG90aGVyIGNoYXB0ZXJzOiAgYnVpbHRpbgogY29tbWFuZHMgd2hpY2ggcHJvdmlkZSB0aGUgQmFzaCBpbnRlcmZhY2UgdG8gdGhlIGpvYiBjb250cm9sCi1mYWNpbGl0aWVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT4pLCB0aGUgZGlyZWN0b3J5IHN0YWNrCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg3Ij42LjguMSBEaXJlY3RvcnkgU3RhY2sgQnVpbHRpbnM8L0E+KSwgdGhlIGNvbW1hbmQgaGlzdG9yeQotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjEiPjkuMiBCYXNoIEhpc3RvcnkgQnVpbHRpbnM8L0E+KSwgYW5kIHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbgotZmFjaWxpdGllcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOCI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPikuCitmYWNpbGl0aWVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTQiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT4pLCB0aGUgZGlyZWN0b3J5IHN0YWNrCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg4Ij42LjguMSBEaXJlY3RvcnkgU3RhY2sgQnVpbHRpbnM8L0E+KSwgdGhlIGNvbW1hbmQgaGlzdG9yeQorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPjkuMiBCYXNoIEhpc3RvcnkgQnVpbHRpbnM8L0E+KSwgYW5kIHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbgorZmFjaWxpdGllcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPikuCiA8L1A+PFA+CiAKIE1hbnkgb2YgdGhlIGJ1aWx0aW5zIGhhdmUgYmVlbiBleHRlbmRlZCBieSBQT1NJWCBvciBCYXNoLgpAQCAtMzgxOCwyMCArMzkyNSwyMCBAQAogCiA8QSBOQU1FPSJCb3VybmUgU2hlbGwgQnVpbHRpbnMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzU5Ij48L0E+Cis8QSBOQU1FPSJTRUM2MCI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiA0LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzU5OjotLT4KKzwhLS1kb2NpZDo6U0VDNjA6Oi0tPgogPFA+CiAKIFRoZSBmb2xsb3dpbmcgc2hlbGwgYnVpbHRpbiBjb21tYW5kcyBhcmUgaW5oZXJpdGVkIGZyb20gdGhlIEJvdXJuZSBTaGVsbC4KQEAgLTM4NzQsNyArMzk4MSw3IEBACiAKIDxEVD48Q09ERT5jZDwvQ09ERT4KIDxERD48QSBOQU1FPSJJRFg3MSI+PC9BPgotPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPmNkIFstTHwtUF0gWzxWQVI+ZGlyZWN0b3J5PC9WQVI+XQorPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPmNkIFstTHxbLVAgWy1lXV1dIFs8VkFSPmRpcmVjdG9yeTwvVkFSPl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPkNoYW5nZSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB0byA8VkFSPmRpcmVjdG9yeTwvVkFSPi4KIElmIDxWQVI+ZGlyZWN0b3J5PC9WQVI+IGlzIG5vdCBnaXZlbiwgdGhlIHZhbHVlIG9mIHRoZSA8Q09ERT5IT01FPC9DT0RFPiBzaGVsbAogdmFyaWFibGUgaXMgdXNlZC4KQEAgLTM4ODQsNiArMzk5MSwxMCBAQAogCiBUaGUgPFNBTVA+YC1QJzwvU0FNUD4gb3B0aW9uIG1lYW5zIHRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3M7IHN5bWJvbGljCiBsaW5rcyBhcmUgZm9sbG93ZWQgYnkgZGVmYXVsdCBvciB3aXRoIHRoZSA8U0FNUD5gLUwnPC9TQU1QPiBvcHRpb24uCitJZiB0aGUgPFNBTVA+YC1lJzwvU0FNUD4gb3B0aW9uIGlzIHN1cHBsaWVkIHdpdGggPFNBTVA+YC1QJzwvU0FNUD4KK2FuZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBjYW5ub3QgYmUgc3VjY2Vzc2Z1bGx5IGRldGVybWluZWQKK2FmdGVyIGEgc3VjY2Vzc2Z1bCBkaXJlY3RvcnkgY2hhbmdlLCA8Q09ERT5jZDwvQ09ERT4gd2lsbCByZXR1cm4gYW4gdW5zdWNjZXNzZnVsCitzdGF0dXMuCiBJZiA8VkFSPmRpcmVjdG9yeTwvVkFSPiBpcyA8U0FNUD5gLSc8L1NBTVA+LCBpdCBpcyBlcXVpdmFsZW50IHRvIDxDT0RFPiRPTERQV0Q8L0NPREU+LgogPC9QPjxQPgogCkBAIC0zOTg4LDcgKzQwOTksNyBAQAogV2hlbiB0aGUgZW5kIG9mIG9wdGlvbnMgaXMgZW5jb3VudGVyZWQsIDxDT0RFPmdldG9wdHM8L0NPREU+IGV4aXRzIHdpdGggYQogcmV0dXJuIHZhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvLgogPENPREU+T1BUSU5EPC9DT0RFPiBpcyBzZXQgdG8gdGhlIGluZGV4IG9mIHRoZSBmaXJzdCBub24tb3B0aW9uIGFyZ3VtZW50LAotYW5kIDxDT0RFPm5hbWU8L0NPREU+IGlzIHNldCB0byA8U0FNUD5gPyc8L1NBTVA+LgorYW5kIDxWQVI+bmFtZTwvVkFSPiBpcyBzZXQgdG8gPFNBTVA+YD8nPC9TQU1QPi4KIDwvUD48UD4KIAogPENPREU+Z2V0b3B0czwvQ09ERT4KQEAgLTQwMjMsMTAgKzQxMzQsMTIgQEAKIDxEVD48Q09ERT5oYXNoPC9DT0RFPgogPEREPjxBIE5BTUU9IklEWDc4Ij48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+aGFzaCBbLXJdIFstcCA8VkFSPmZpbGVuYW1lPC9WQVI+XSBbLWR0XSBbPFZBUj5uYW1lPC9WQVI+XQotPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+UmVtZW1iZXIgdGhlIGZ1bGwgcGF0aG5hbWVzIG9mIGNvbW1hbmRzIHNwZWNpZmllZCBhcyA8VkFSPm5hbWU8L1ZBUj4gYXJndW1lbnRzLAorPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+RWFjaCB0aW1lIDxDT0RFPmhhc2g8L0NPREU+IGlzIGludm9rZWQsIGl0IHJlbWVtYmVycyB0aGUgZnVsbCBwYXRobmFtZXMgb2YgdGhlCitjb21tYW5kcyBzcGVjaWZpZWQgYXMgPFZBUj5uYW1lPC9WQVI+IGFyZ3VtZW50cywKIHNvIHRoZXkgbmVlZCBub3QgYmUgc2VhcmNoZWQgZm9yIG9uIHN1YnNlcXVlbnQgaW52b2NhdGlvbnMuCiBUaGUgY29tbWFuZHMgYXJlIGZvdW5kIGJ5IHNlYXJjaGluZyB0aHJvdWdoIHRoZSBkaXJlY3RvcmllcyBsaXN0ZWQgaW4KIDxDT0RFPiRQQVRIPC9DT0RFPi4KK0FueSBwcmV2aW91c2x5LXJlbWVtYmVyZWQgcGF0aG5hbWUgaXMgZGlzY2FyZGVkLgogVGhlIDxTQU1QPmAtcCc8L1NBTVA+IG9wdGlvbiBpbmhpYml0cyB0aGUgcGF0aCBzZWFyY2gsIGFuZCA8VkFSPmZpbGVuYW1lPC9WQVI+IGlzCiB1c2VkIGFzIHRoZSBsb2NhdGlvbiBvZiA8VkFSPm5hbWU8L1ZBUj4uCiBUaGUgPFNBTVA+YC1yJzwvU0FNUD4gb3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gZm9yZ2V0IGFsbCByZW1lbWJlcmVkIGxvY2F0aW9ucy4KQEAgLTQxMTcsNyArNDIzMCw3IEBACiBFdmFsdWF0ZSBhIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24gPFZBUj5leHByPC9WQVI+LgogRWFjaCBvcGVyYXRvciBhbmQgb3BlcmFuZCBtdXN0IGJlIGEgc2VwYXJhdGUgYXJndW1lbnQuCiBFeHByZXNzaW9ucyBhcmUgY29tcG9zZWQgb2YgdGhlIHByaW1hcmllcyBkZXNjcmliZWQgYmVsb3cgaW4KLTxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+Ni40IEJhc2ggQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnM8L0E+LgorPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj42LjQgQmFzaCBDb25kaXRpb25hbCBFeHByZXNzaW9uczwvQT4uCiA8Q09ERT50ZXN0PC9DT0RFPiBkb2VzIG5vdCBhY2NlcHQgYW55IG9wdGlvbnMsIG5vciBkb2VzIGl0IGFjY2VwdCBhbmQgaWdub3JlCiBhbiBhcmd1bWVudCBvZiA8U0FNUD5gLS0nPC9TQU1QPiBhcyBzaWduaWZ5aW5nIHRoZSBlbmQgb2Ygb3B0aW9ucy4KIDxQPgpAQCAtNDEyOSw2ICs0MjQyLDcgQEAKIEV4cHJlc3Npb25zIG1heSBiZSBjb21iaW5lZCB1c2luZyB0aGUgZm9sbG93aW5nIG9wZXJhdG9ycywgbGlzdGVkIGluCiBkZWNyZWFzaW5nIG9yZGVyIG9mIHByZWNlZGVuY2UuCiBUaGUgZXZhbHVhdGlvbiBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzOyBzZWUgYmVsb3cuCitPcGVyYXRvciBwcmVjZWRlbmNlIGlzIHVzZWQgd2hlbiB0aGVyZSBhcmUgZml2ZSBvciBtb3JlIGFyZ3VtZW50cy4KIDwvUD48UD4KIAogPERMIENPTVBBQ1Q+CkBAIC00MTY3LDE1ICs0MjgxLDE2IEBACiA8REQ+SWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIDxTQU1QPmAhJzwvU0FNUD4sIHRoZSBleHByZXNzaW9uIGlzIHRydWUgaWYgYW5kCiBvbmx5IGlmIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgbnVsbC4KIElmIHRoZSBmaXJzdCBhcmd1bWVudCBpcyBvbmUgb2YgdGhlIHVuYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9ycwotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+Ni40IEJhc2ggQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnM8L0E+KSwgdGhlIGV4cHJlc3Npb24KKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPjYuNCBCYXNoIENvbmRpdGlvbmFsIEV4cHJlc3Npb25zPC9BPiksIHRoZSBleHByZXNzaW9uCiBpcyB0cnVlIGlmIHRoZSB1bmFyeSB0ZXN0IGlzIHRydWUuCiBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgbm90IGEgdmFsaWQgdW5hcnkgb3BlcmF0b3IsIHRoZSBleHByZXNzaW9uIGlzCiBmYWxzZS4KIDxQPgogCiA8RFQ+MyBhcmd1bWVudHMKLTxERD5JZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG9uZSBvZiB0aGUgYmluYXJ5IGNvbmRpdGlvbmFsCi1vcGVyYXRvcnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+Ni40IEJhc2ggQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnM8L0E+KSwgdGhlCis8REQ+VGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBhcHBsaWVkIGluIHRoZSBvcmRlciBsaXN0ZWQuCitJZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG9uZSBvZiB0aGUgYmluYXJ5IGNvbmRpdGlvbmFsCitvcGVyYXRvcnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+Ni40IEJhc2ggQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnM8L0E+KSwgdGhlCiByZXN1bHQgb2YgdGhlIGV4cHJlc3Npb24gaXMgdGhlIHJlc3VsdCBvZiB0aGUgYmluYXJ5IHRlc3QgdXNpbmcgdGhlCiBmaXJzdCBhbmQgdGhpcmQgYXJndW1lbnRzIGFzIG9wZXJhbmRzLgogVGhlIDxTQU1QPmAtYSc8L1NBTVA+IGFuZCA8U0FNUD5gLW8nPC9TQU1QPiBvcGVyYXRvcnMgYXJlIGNvbnNpZGVyZWQgYmluYXJ5IG9wZXJhdG9ycwpAQCAtNDIwMSw2ICs0MzE2LDEwIEBACiA8L0RMPgogPFA+CiAKK1doZW4gdXNlZCB3aXRoIDxDT0RFPnRlc3Q8L0NPREU+IG9yIDxTQU1QPmBbJzwvU0FNUD4sIHRoZSA8U0FNUD5gJiM2MDsnPC9TQU1QPiBhbmQgPFNBTVA+YCYjNjI7JzwvU0FNUD4KK29wZXJhdG9ycyBzb3J0IGxleGljb2dyYXBoaWNhbGx5IHVzaW5nIEFTQ0lJIG9yZGVyaW5nLgorPC9QPjxQPgorCiA8RFQ+PENPREU+dGltZXM8L0NPREU+CiA8REQ+PEEgTkFNRT0iSURYODUiPjwvQT4KIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT50aW1lcwpAQCAtNDIzNyw3ICs0MzU2LDcgQEAKIDxDT0RFPnNlbGVjdDwvQ09ERT4gY29tbWFuZCwgZXZlcnkgYXJpdGhtZXRpYyA8Q09ERT5mb3I8L0NPREU+IGNvbW1hbmQsIGFuZCBiZWZvcmUKIHRoZSBmaXJzdCBjb21tYW5kIGV4ZWN1dGVzIGluIGEgc2hlbGwgZnVuY3Rpb24uCiBSZWZlciB0byB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIDxDT0RFPmV4dGRlYnVnPC9DT0RFPiBvcHRpb24gdG8gdGhlCi08Q09ERT5zaG9wdDwvQ09ERT4gYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMiBUaGUgU2hvcHQgQnVpbHRpbjwvQT4pIGZvciBkZXRhaWxzIG9mIGl0cworPENPREU+c2hvcHQ8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+KSBmb3IgZGV0YWlscyBvZiBpdHMKIGVmZmVjdCBvbiB0aGUgPENPREU+REVCVUc8L0NPREU+IHRyYXAuCiBJZiBhIDxWQVI+c2lnc3BlYzwvVkFSPiBpcyA8Q09ERT5SRVRVUk48L0NPREU+LCB0aGUgY29tbWFuZCA8VkFSPmFyZzwvVkFSPiBpcyBleGVjdXRlZAogZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgYSBzY3JpcHQgZXhlY3V0ZWQgd2l0aCB0aGUgPENPREU+LjwvQ09ERT4gb3IKQEAgLTQzMDEsMjAgKzQ0MjAsMjAgQEAKIAogPEEgTkFNRT0iQmFzaCBCdWlsdGlucyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDNjAiPjwvQT4KKzxBIE5BTUU9IlNFQzYxIj48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY1Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHMgPC9IMj4KLTwhLS1kb2NpZDo6U0VDNjA6Oi0tPgorPCEtLWRvY2lkOjpTRUM2MTo6LS0+CiA8UD4KIAogVGhpcyBzZWN0aW9uIGRlc2NyaWJlcyBidWlsdGluIGNvbW1hbmRzIHdoaWNoIGFyZSB1bmlxdWUgdG8KQEAgLTQzMzUsNyArNDQ1NCw3IEBACiBJZiBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCBhbiBhbGlhcyBpcyBkZWZpbmVkIGZvciBlYWNoIDxWQVI+bmFtZTwvVkFSPgogd2hvc2UgPFZBUj52YWx1ZTwvVkFSPiBpcyBnaXZlbi4gIElmIG5vIDxWQVI+dmFsdWU8L1ZBUj4gaXMgZ2l2ZW4sIHRoZSBuYW1lCiBhbmQgdmFsdWUgb2YgdGhlIGFsaWFzIGlzIHByaW50ZWQuCi1BbGlhc2VzIGFyZSBkZXNjcmliZWQgaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij42LjYgQWxpYXNlczwvQT4uCitBbGlhc2VzIGFyZSBkZXNjcmliZWQgaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij42LjYgQWxpYXNlczwvQT4uCiA8L1A+PFA+CiAKIDxEVD48Q09ERT5iaW5kPC9DT0RFPgpAQCAtNDM0OCwxMiArNDQ2NywxMiBAQAogYmluZCA8VkFSPnJlYWRsaW5lLWNvbW1hbmQ8L1ZBUj4KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjxQPgogCi1EaXNwbGF5IGN1cnJlbnQgUmVhZGxpbmUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NSI+OC4gQ29tbWFuZCBMaW5lIEVkaXRpbmc8L0E+KQorRGlzcGxheSBjdXJyZW50IFJlYWRsaW5lIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPjguIENvbW1hbmQgTGluZSBFZGl0aW5nPC9BPikKIGtleSBhbmQgZnVuY3Rpb24gYmluZGluZ3MsCiBiaW5kIGEga2V5IHNlcXVlbmNlIHRvIGEgUmVhZGxpbmUgZnVuY3Rpb24gb3IgbWFjcm8sCiBvciBzZXQgYSBSZWFkbGluZSB2YXJpYWJsZS4KIEVhY2ggbm9uLW9wdGlvbiBhcmd1bWVudCBpcyBhIGNvbW1hbmQgYXMgaXQgd291bGQgYXBwZWFyIGluIGEKLVJlYWRsaW5lIGluaXRpYWxpemF0aW9uIGZpbGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPjguMyBSZWFkbGluZSBJbml0IEZpbGU8L0E+KSwKK1JlYWRsaW5lIGluaXRpYWxpemF0aW9uIGZpbGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMyBSZWFkbGluZSBJbml0IEZpbGU8L0E+KSwKIGJ1dCBlYWNoIGJpbmRpbmcgb3IgY29tbWFuZCBtdXN0IGJlIHBhc3NlZCBhcyBhIHNlcGFyYXRlIGFyZ3VtZW50OyAgZS5nLiwKIDxTQU1QPmAiXEMteFxDLXIiOnJlLXJlYWQtaW5pdC1maWxlJzwvU0FNUD4uCiA8L1A+PFA+CkBAIC00NTI2LDIwICs0NjQ1LDI3IEBACiBUaGUgPFNBTVA+YC1GJzwvU0FNUD4gb3B0aW9uIGluaGliaXRzIHRoZSBkaXNwbGF5IG9mIGZ1bmN0aW9uIGRlZmluaXRpb25zOwogb25seSB0aGUgZnVuY3Rpb24gbmFtZSBhbmQgYXR0cmlidXRlcyBhcmUgcHJpbnRlZC4KIElmIHRoZSA8Q09ERT5leHRkZWJ1ZzwvQ09ERT4gc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgdXNpbmcgPENPREU+c2hvcHQ8L0NPREU+Ci0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMiBUaGUgU2hvcHQgQnVpbHRpbjwvQT4pLCB0aGUgc291cmNlIGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXIgd2hlcmUKKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPiksIHRoZSBzb3VyY2UgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlciB3aGVyZQogdGhlIGZ1bmN0aW9uIGlzIGRlZmluZWQgYXJlIGRpc3BsYXllZCBhcyB3ZWxsLgogPFNBTVA+YC1GJzwvU0FNUD4gaW1wbGllcyA8U0FNUD5gLWYnPC9TQU1QPi4KKzwvUD48UD4KKworVGhlIDxTQU1QPmAtZyc8L1NBTVA+IG9wdGlvbiBmb3JjZXMgdmFyaWFibGVzIHRvIGJlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYXQKK3RoZSBnbG9iYWwgc2NvcGUsIGV2ZW4gd2hlbiBcZkJkZWNsYXJlXGZQIGlzIGV4ZWN1dGVkIGluIGEgc2hlbGwgZnVuY3Rpb24uCitJdCBpcyBpZ25vcmVkIGluIGFsbCBvdGhlciBjYXNlcy4KKzwvUD48UD4KKwogVGhlIGZvbGxvd2luZyBvcHRpb25zIGNhbiBiZSB1c2VkIHRvIHJlc3RyaWN0IG91dHB1dCB0byB2YXJpYWJsZXMgd2l0aAogdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGVzIG9yIHRvIGdpdmUgdmFyaWFibGVzIGF0dHJpYnV0ZXM6CiA8L1A+PFA+CiAKIDxETCBDT01QQUNUPgogPERUPjxDT0RFPi1hPC9DT0RFPgotPEREPkVhY2ggPFZBUj5uYW1lPC9WQVI+IGlzIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NSI+Ni43IEFycmF5czwvQT4pLgorPEREPkVhY2ggPFZBUj5uYW1lPC9WQVI+IGlzIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NiI+Ni43IEFycmF5czwvQT4pLgogPFA+CiAKIDxEVD48Q09ERT4tQTwvQ09ERT4KLTxERD5FYWNoIDxWQVI+bmFtZTwvVkFSPiBpcyBhbiBhc3NvY2lhdGl2ZSBhcnJheSB2YXJpYWJsZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij42LjcgQXJyYXlzPC9BPikuCis8REQ+RWFjaCA8VkFSPm5hbWU8L1ZBUj4gaXMgYW4gYXNzb2NpYXRpdmUgYXJyYXkgdmFyaWFibGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NiI+Ni43IEFycmF5czwvQT4pLgogPFA+CiAKIDxEVD48Q09ERT4tZjwvQ09ERT4KQEAgLTQ1NDgsNyArNDY3NCw3IEBACiAKIDxEVD48Q09ERT4taTwvQ09ERT4KIDxERD5UaGUgdmFyaWFibGUgaXMgdG8gYmUgdHJlYXRlZCBhcwotYW4gaW50ZWdlcjsgYXJpdGhtZXRpYyBldmFsdWF0aW9uIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPjYuNSBTaGVsbCBBcml0aG1ldGljPC9BPikgaXMKK2FuIGludGVnZXI7IGFyaXRobWV0aWMgZXZhbHVhdGlvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij42LjUgU2hlbGwgQXJpdGhtZXRpYzwvQT4pIGlzCiBwZXJmb3JtZWQgd2hlbiB0aGUgdmFyaWFibGUgaXMgYXNzaWduZWQgYSB2YWx1ZS4KIDxQPgogCkBAIC00NTg3LDE1ICs0NzEzLDE2IEBACiBtYXkgbm90IGJlIHVzZWQgdG8gZGVzdHJveSBhbiBhcnJheSB2YXJpYWJsZSBhbmQgPFNBTVA+YCtyJzwvU0FNUD4gd2lsbCBub3QKIHJlbW92ZSB0aGUgcmVhZG9ubHkgYXR0cmlidXRlLgogV2hlbiB1c2VkIGluIGEgZnVuY3Rpb24sIDxDT0RFPmRlY2xhcmU8L0NPREU+IG1ha2VzIGVhY2ggPFZBUj5uYW1lPC9WQVI+IGxvY2FsLAotYXMgd2l0aCB0aGUgPENPREU+bG9jYWw8L0NPREU+IGNvbW1hbmQuICBJZiBhIHZhcmlhYmxlIG5hbWUgaXMgZm9sbG93ZWQgYnkKLT08VkFSPnZhbHVlPC9WQVI+LCB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIHNldCB0byA8VkFSPnZhbHVlPC9WQVI+LgorYXMgd2l0aCB0aGUgPENPREU+bG9jYWw8L0NPREU+IGNvbW1hbmQsIHVubGVzcyB0aGUgPFNBTVA+YC1nJzwvU0FNUD4gb3B0aW9uIGlzIHVzZWQuCitJZiBhIHZhcmlhYmxlIG5hbWUgaXMgZm9sbG93ZWQgYnkgPTxWQVI+dmFsdWU8L1ZBUj4sIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUKK2lzIHNldCB0byA8VkFSPnZhbHVlPC9WQVI+LgogPC9QPjxQPgogCiBUaGUgcmV0dXJuIHN0YXR1cyBpcyB6ZXJvIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwKIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkZWZpbmUgYSBmdW5jdGlvbiB1c2luZyA8U0FNUD5gLWYgZm9vPWJhcic8L1NBTVA+LAogYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFzc2lnbiBhIHZhbHVlIHRvIGEgcmVhZG9ubHkgdmFyaWFibGUsCiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gYXNzaWduIGEgdmFsdWUgdG8gYW4gYXJyYXkgdmFyaWFibGUgd2l0aG91dAotdXNpbmcgdGhlIGNvbXBvdW5kIGFzc2lnbm1lbnQgc3ludGF4IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPjYuNyBBcnJheXM8L0E+KSwKK3VzaW5nIHRoZSBjb21wb3VuZCBhc3NpZ25tZW50IHN5bnRheCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg2Ij42LjcgQXJyYXlzPC9BPiksCiBvbmUgb2YgdGhlIDxWQVI+bmFtZXM8L1ZBUj4gaXMgbm90IGEgdmFsaWQgc2hlbGwgdmFyaWFibGUgbmFtZSwKIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIG9mZiByZWFkb25seSBzdGF0dXMgZm9yIGEgcmVhZG9ubHkgdmFyaWFibGUsCiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gdHVybiBvZmYgYXJyYXkgc3RhdHVzIGZvciBhbiBhcnJheSB2YXJpYWJsZSwKQEAgLTQ2MjgsNiArNDc1NSw3IEBACiA8RFQ+PENPREU+XGM8L0NPREU+CiA8REQ+c3VwcHJlc3MgZnVydGhlciBvdXRwdXQKIDxEVD48Q09ERT5cZTwvQ09ERT4KKzxERD48RFQ+PENPREU+XEU8L0NPREU+CiA8REQ+ZXNjYXBlCiA8RFQ+PENPREU+XGY8L0NPREU+CiA8REQ+Zm9ybSBmZWVkCkBAIC00NjQ3LDYgKzQ3NzUsMTIgQEAKIDxEVD48Q09ERT5ceDxWQVI+SEg8L1ZBUj48L0NPREU+CiA8REQ+dGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgdGhlIGhleGFkZWNpbWFsIHZhbHVlIDxWQVI+SEg8L1ZBUj4KIChvbmUgb3IgdHdvIGhleCBkaWdpdHMpCis8RFQ+PENPREU+XHU8VkFSPkhISEg8L1ZBUj48L0NPREU+Cis8REQ+dGhlIFVuaWNvZGUgKElTTy9JRUMgMTA2NDYpIGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUKKzxWQVI+SEhISDwvVkFSPiAob25lIHRvIGZvdXIgaGV4IGRpZ2l0cykKKzxEVD48Q09ERT5cVTxWQVI+SEhISEhISEg8L1ZBUj48L0NPREU+Cis8REQ+dGhlIFVuaWNvZGUgKElTTy9JRUMgMTA2NDYpIGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUKKzxWQVI+SEhISEhISEg8L1ZBUj4gKG9uZSB0byBlaWdodCBoZXggZGlnaXRzKQogPC9ETD4KIDxQPgogCkBAIC00Njc4LDcgKzQ4MTIsNyBAQAogSWYgdGhlcmUgYXJlIG5vIG9wdGlvbnMsIGEgbGlzdCBvZiB0aGUgc2hlbGwgYnVpbHRpbnMgaXMgZGlzcGxheWVkLgogVGhlIDxTQU1QPmAtcyc8L1NBTVA+IG9wdGlvbiByZXN0cmljdHMgPENPREU+ZW5hYmxlPC9DT0RFPiB0byB0aGUgUE9TSVggc3BlY2lhbAogYnVpbHRpbnMuICBJZiA8U0FNUD5gLXMnPC9TQU1QPiBpcyB1c2VkIHdpdGggPFNBTVA+YC1mJzwvU0FNUD4sIHRoZSBuZXcgYnVpbHRpbiBiZWNvbWVzCi1hIHNwZWNpYWwgYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij40LjQgU3BlY2lhbCBCdWlsdGluczwvQT4pLgorYSBzcGVjaWFsIGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NSI+NC40IFNwZWNpYWwgQnVpbHRpbnM8L0E+KS4KIDwvUD48UD4KIAogVGhlIHJldHVybiBzdGF0dXMgaXMgemVybyB1bmxlc3MgYSA8VkFSPm5hbWU8L1ZBUj4gaXMgbm90IGEgc2hlbGwgYnVpbHRpbgpAQCAtNDcxNSw3ICs0ODQ5LDcgQEAKIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5sZXQgPFZBUj5leHByZXNzaW9uPC9WQVI+IFs8VkFSPmV4cHJlc3Npb248L1ZBUj5dCiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5UaGUgPENPREU+bGV0PC9DT0RFPiBidWlsdGluIGFsbG93cyBhcml0aG1ldGljIHRvIGJlIHBlcmZvcm1lZCBvbiBzaGVsbAogdmFyaWFibGVzLiAgRWFjaCA8VkFSPmV4cHJlc3Npb248L1ZBUj4gaXMgZXZhbHVhdGVkIGFjY29yZGluZyB0byB0aGUKLXJ1bGVzIGdpdmVuIGJlbG93IGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+Ni41IFNoZWxsIEFyaXRobWV0aWM8L0E+LiAgSWYgdGhlCitydWxlcyBnaXZlbiBiZWxvdyBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODQiPjYuNSBTaGVsbCBBcml0aG1ldGljPC9BPi4gIElmIHRoZQogbGFzdCA8VkFSPmV4cHJlc3Npb248L1ZBUj4gZXZhbHVhdGVzIHRvIDAsIDxDT0RFPmxldDwvQ09ERT4gcmV0dXJucyAxOwogb3RoZXJ3aXNlIDAgaXMgcmV0dXJuZWQuCiA8UD4KQEAgLTQ3NzMsNyArNDkwNyw4IEBACiBJZiA8U0FNUD5gLUMnPC9TQU1QPiBpcyBzcGVjaWZpZWQgd2l0aG91dCA8U0FNUD5gLWMnPC9TQU1QPiwgCiB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuCiBXaGVuIDxWQVI+Y2FsbGJhY2s8L1ZBUj4gIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0Ci1hcnJheSBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuCithcnJheSBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnQKK2FzIGFkZGl0aW9uYWwgYXJndW1lbnRzLgogPFZBUj5jYWxsYmFjazwvVkFSPiBpcyBldmFsdWF0ZWQgYWZ0ZXIgdGhlIGxpbmUgaXMgcmVhZCBidXQgYmVmb3JlIHRoZSAKIGFycmF5IGVsZW1lbnQgaXMgYXNzaWduZWQuCiA8L1A+PFA+CkBAIC00NzkyLDIzICs0OTI3LDQyIEBACiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+cHJpbnRmIFstdiA8VkFSPnZhcjwvVkFSPl0gPFZBUj5mb3JtYXQ8L1ZBUj4gWzxWQVI+YXJndW1lbnRzPC9WQVI+XQogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+V3JpdGUgdGhlIGZvcm1hdHRlZCA8VkFSPmFyZ3VtZW50czwvVkFSPiB0byB0aGUgc3RhbmRhcmQgb3V0cHV0IHVuZGVyIHRoZQogY29udHJvbCBvZiB0aGUgPFZBUj5mb3JtYXQ8L1ZBUj4uCitUaGUgPFNBTVA+YC12JzwvU0FNUD4gb3B0aW9uIGNhdXNlcyB0aGUgb3V0cHV0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSB2YXJpYWJsZQorPFZBUj52YXI8L1ZBUj4gcmF0aGVyIHRoYW4gYmVpbmcgcHJpbnRlZCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LgorPFA+CisKIFRoZSA8VkFSPmZvcm1hdDwvVkFSPiBpcyBhIGNoYXJhY3RlciBzdHJpbmcgd2hpY2ggY29udGFpbnMgdGhyZWUgdHlwZXMgb2Ygb2JqZWN0czoKIHBsYWluIGNoYXJhY3RlcnMsIHdoaWNoIGFyZSBzaW1wbHkgY29waWVkIHRvIHN0YW5kYXJkIG91dHB1dCwgY2hhcmFjdGVyCiBlc2NhcGUgc2VxdWVuY2VzLCB3aGljaCBhcmUgY29udmVydGVkIGFuZCBjb3BpZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dCwgYW5kCiBmb3JtYXQgc3BlY2lmaWNhdGlvbnMsIGVhY2ggb2Ygd2hpY2ggY2F1c2VzIHByaW50aW5nIG9mIHRoZSBuZXh0IHN1Y2Nlc3NpdmUKIDxWQVI+YXJndW1lbnQ8L1ZBUj4uCi1JbiBhZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQgPENPREU+cHJpbnRmKDEpPC9DT0RFPiBmb3JtYXRzLCA8U0FNUD5gJWInPC9TQU1QPiBjYXVzZXMKLTxDT0RFPnByaW50ZjwvQ09ERT4gdG8gZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nCi08VkFSPmFyZ3VtZW50PC9WQVI+LAorSW4gYWRkaXRpb24gdG8gdGhlIHN0YW5kYXJkIDxDT0RFPnByaW50ZigxKTwvQ09ERT4gZm9ybWF0cywgPENPREU+cHJpbnRmPC9DT0RFPgoraW50ZXJwcmV0cyB0aGUgZm9sbG93aW5nIGV4dGVuc2lvbnM6Cis8L1A+PFA+CisKKzxETCBDT01QQUNUPgorPERUPjxDT0RFPiViPC9DT0RFPgorPEREPmNhdXNlcyA8Q09ERT5wcmludGY8L0NPREU+IHRvIGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUKK2NvcnJlc3BvbmRpbmcgPFZBUj5hcmd1bWVudDwvVkFSPiwKIChleGNlcHQgdGhhdCA8U0FNUD5gXGMnPC9TQU1QPiB0ZXJtaW5hdGVzIG91dHB1dCwgYmFja3NsYXNoZXMgaW4KIDxTQU1QPmBcJyc8L1NBTVA+LCA8U0FNUD5gXCInPC9TQU1QPiwgYW5kIDxTQU1QPmBcPyc8L1NBTVA+IGFyZSBub3QgcmVtb3ZlZCwgYW5kIG9jdGFsIGVzY2FwZXMKLWJlZ2lubmluZyB3aXRoIDxTQU1QPmBcMCc8L1NBTVA+IG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzKSwKLWFuZCA8U0FNUD5gJXEnPC9TQU1QPiBjYXVzZXMgPENPREU+cHJpbnRmPC9DT0RFPiB0byBvdXRwdXQgdGhlCitiZWdpbm5pbmcgd2l0aCA8U0FNUD5gXDAnPC9TQU1QPiBtYXkgY29udGFpbiB1cCB0byBmb3VyIGRpZ2l0cykuCis8RFQ+PENPREU+JXE8L0NPREU+Cis8REQ+Y2F1c2VzIDxDT0RFPnByaW50ZjwvQ09ERT4gdG8gb3V0cHV0IHRoZQogY29ycmVzcG9uZGluZyA8VkFSPmFyZ3VtZW50PC9WQVI+IGluIGEgZm9ybWF0IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dC4KKzxEVD48Q09ERT4lKDxWQVI+ZGF0ZWZtdDwvVkFSPilUPC9DT0RFPgorPEREPmNhdXNlcyA8Q09ERT5wcmludGY8L0NPREU+IHRvIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcgZnJvbSB1c2luZworPFZBUj5kYXRlZm10PC9WQVI+IGFzIGEgZm9ybWF0IHN0cmluZyBmb3IgPENPREU+c3RyZnRpbWU8L0NPREU+KDMpLiAgVGhlIGNvcnJlc3BvbmRpbmcKKzxWQVI+YXJndW1lbnQ8L1ZBUj4gaXMgYW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIHRoZQorZXBvY2guICBUd28gc3BlY2lhbCBhcmd1bWVudCB2YWx1ZXMgbWF5IGJlIHVzZWQ6IC0xIHJlcHJlc2VudHMgdGhlIGN1cnJlbnQKK3RpbWUsIGFuZCAtMiByZXByZXNlbnRzIHRoZSB0aW1lIHRoZSBzaGVsbCB3YXMgaW52b2tlZC4KKzwvREw+CiA8UD4KIAotVGhlIDxTQU1QPmAtdic8L1NBTVA+IG9wdGlvbiBjYXVzZXMgdGhlIG91dHB1dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgdmFyaWFibGUKLTxWQVI+dmFyPC9WQVI+IHJhdGhlciB0aGFuIGJlaW5nIHByaW50ZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4KK0FyZ3VtZW50cyB0byBub24tc3RyaW5nIGZvcm1hdCBzcGVjaWZpZXJzIGFyZSB0cmVhdGVkIGFzIEMgbGFuZ3VhZ2UgY29uc3RhbnRzLAorZXhjZXB0IHRoYXQgYSBsZWFkaW5nIHBsdXMgb3IgbWludXMgc2lnbiBpcyBhbGxvd2VkLCBhbmQgaWYgdGhlIGxlYWRpbmcKK2NoYXJhY3RlciBpcyBhIHNpbmdsZSBvciBkb3VibGUgcXVvdGUsIHRoZSB2YWx1ZSBpcyB0aGUgQVNDSUkgdmFsdWUgb2YKK3RoZSBmb2xsb3dpbmcgY2hhcmFjdGVyLgogPC9QPjxQPgogCiBUaGUgPFZBUj5mb3JtYXQ8L1ZBUj4gaXMgcmV1c2VkIGFzIG5lY2Vzc2FyeSB0byBjb25zdW1lIGFsbCBvZiB0aGUgPFZBUj5hcmd1bWVudHM8L1ZBUj4uCkBAIC00ODU2LDcgKzUwMTAsNyBAQAogPFA+CiAKIDxEVD48Q09ERT4tZTwvQ09ERT4KLTxERD5SZWFkbGluZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij44LiBDb21tYW5kIExpbmUgRWRpdGluZzwvQT4pIGlzIHVzZWQgdG8gb2J0YWluIHRoZSBsaW5lLgorPEREPlJlYWRsaW5lIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPjguIENvbW1hbmQgTGluZSBFZGl0aW5nPC9BPikgaXMgdXNlZCB0byBvYnRhaW4gdGhlIGxpbmUuCiBSZWFkbGluZSB1c2VzIHRoZSBjdXJyZW50IChvciBkZWZhdWx0LCBpZiBsaW5lIGVkaXRpbmcgd2FzIG5vdCBwcmV2aW91c2x5CiBhY3RpdmUpIGVkaXRpbmcgc2V0dGluZ3MuCiA8UD4KQEAgLTQ5MzQsNyArNTA4OCw3IEBACiA8RFQ+PENPREU+c291cmNlPC9DT0RFPgogPEREPjxBIE5BTUU9IklEWDEwNSI+PC9BPgogPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPnNvdXJjZSA8VkFSPmZpbGVuYW1lPC9WQVI+Ci08L3ByZT48L3RkPjwvdHI+PC90YWJsZT5BIHN5bm9ueW0gZm9yIDxDT0RFPi48L0NPREU+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+KS4KKzwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPkEgc3lub255bSBmb3IgPENPREU+LjwvQ09ERT4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgogPFA+CiAKIDxEVD48Q09ERT50eXBlPC9DT0RFPgpAQCAtNTA2OSw3ICs1MjIzLDggQEAKIDxQPgogCiA8RFQ+PENPREU+LXY8L0NPREU+Ci08REQ+VGhlIG1heGltdW0gYW1vdW50IG9mIHZpcnR1YWwgbWVtb3J5IGF2YWlsYWJsZSB0byB0aGUgcHJvY2Vzcy4KKzxERD5UaGUgbWF4aW11bSBhbW91bnQgb2YgdmlydHVhbCBtZW1vcnkgYXZhaWxhYmxlIHRvIHRoZSBzaGVsbCwgYW5kLCBvbgorc29tZSBzeXN0ZW1zLCB0byBpdHMgY2hpbGRyZW4uCiA8UD4KIAogPERUPjxDT0RFPi14PC9DT0RFPgpAQCAtNTExMCw3ICs1MjY1LDcgQEAKIAogUmVtb3ZlIGVhY2ggPFZBUj5uYW1lPC9WQVI+IGZyb20gdGhlIGxpc3Qgb2YgYWxpYXNlcy4gIElmIDxTQU1QPmAtYSc8L1NBTVA+IGlzCiBzdXBwbGllZCwgYWxsIGFsaWFzZXMgYXJlIHJlbW92ZWQuCi1BbGlhc2VzIGFyZSBkZXNjcmliZWQgaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij42LjYgQWxpYXNlczwvQT4uCitBbGlhc2VzIGFyZSBkZXNjcmliZWQgaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij42LjYgQWxpYXNlczwvQT4uCiA8L1A+PFA+CiAKIDwvREw+CkBAIC01MTE4LDQ0ICs1MjczLDQ0IEBACiAKIDxBIE5BTUU9Ik1vZGlmeWluZyBTaGVsbCBCZWhhdmlvciI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDNjEiPjwvQT4KKzxBIE5BTUU9IlNFQzYyIj48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY1Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDQuMyBNb2RpZnlpbmcgU2hlbGwgQmVoYXZpb3IgPC9IMj4KLTwhLS1kb2NpZDo6U0VDNjE6Oi0tPgorPCEtLWRvY2lkOjpTRUM2Mjo6LS0+CiAgCiA8QkxPQ0tRVU9URT48VEFCTEUgQk9SREVSPTAgQ0VMTFNQQUNJTkc9MD4gCi08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYyIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5DaGFuZ2UgdGhlIHZhbHVlcyBvZiBzaGVsbCBhdHRyaWJ1dGVzIGFuZAorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+Q2hhbmdlIHRoZSB2YWx1ZXMgb2Ygc2hlbGwgYXR0cmlidXRlcyBhbmQKIAkJCQlwb3NpdGlvbmFsIHBhcmFtZXRlcnMuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Nb2RpZnkgc2hlbGwgb3B0aW9uYWwgYmVoYXZpb3IuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Nb2RpZnkgc2hlbGwgb3B0aW9uYWwgYmVoYXZpb3IuPC9URD48L1RSPgogPC9UQUJMRT48L0JMT0NLUVVPVEU+CiA8UD4KIAogPEEgTkFNRT0iVGhlIFNldCBCdWlsdGluIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM2MiI+PC9BPgorPEEgTkFNRT0iU0VDNjMiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjUiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gNC4zLjEgVGhlIFNldCBCdWlsdGluIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzYyOjotLT4KKzwhLS1kb2NpZDo6U0VDNjM6Oi0tPgogPFA+CiAKIFRoaXMgYnVpbHRpbiBpcyBzbyBjb21wbGljYXRlZCB0aGF0IGl0IGRlc2VydmVzIGl0cyBvd24gc2VjdGlvbi4gIDxDT0RFPnNldDwvQ09ERT4KQEAgLTUxNjYsOCArNTMyMSw4IEBACiA8REwgQ09NUEFDVD4KIDxEVD48Q09ERT5zZXQ8L0NPREU+CiA8REQ+PEEgTkFNRT0iSURYMTEwIj48L0E+Ci08VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+c2V0IFstLWFiZWZoa21ucHR1dnhCQ0VIUFRdIFstbyA8VkFSPm9wdGlvbjwvVkFSPl0gWzxWQVI+YXJndW1lbnQ8L1ZBUj4gPHNtYWxsPi4uLjwvc21hbGw+XQotc2V0IFsrYWJlZmhrbW5wdHV2eEJDRUhQVF0gWytvIDxWQVI+b3B0aW9uPC9WQVI+XSBbPFZBUj5hcmd1bWVudDwvVkFSPiA8c21hbGw+Li4uPC9zbWFsbD5dCis8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+c2V0IFstLWFiZWZoa21ucHR1dnhCQ0VIUFRdIFstbyA8VkFSPm9wdGlvbi1uYW1lPC9WQVI+XSBbPFZBUj5hcmd1bWVudDwvVkFSPiA8c21hbGw+Li4uPC9zbWFsbD5dCitzZXQgWythYmVmaGttbnB0dXZ4QkNFSFBUXSBbK28gPFZBUj5vcHRpb24tbmFtZTwvVkFSPl0gWzxWQVI+YXJndW1lbnQ8L1ZBUj4gPHNtYWxsPi4uLjwvc21hbGw+XQogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PFA+CiAKIElmIG5vIG9wdGlvbnMgb3IgYXJndW1lbnRzIGFyZSBzdXBwbGllZCwgPENPREU+c2V0PC9DT0RFPiBkaXNwbGF5cyB0aGUgbmFtZXMKQEAgLTUyMTEsNyArNTM2Niw3IEBACiA8UD4KIAogVGhpcyBvcHRpb24gYXBwbGllcyB0byB0aGUgc2hlbGwgZW52aXJvbm1lbnQgYW5kIGVhY2ggc3Vic2hlbGwgZW52aXJvbm1lbnQKLXNlcGFyYXRlbHkgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MyI+My43LjMgQ29tbWFuZCBFeGVjdXRpb24gRW52aXJvbm1lbnQ8L0E+KSwgYW5kIG1heSBjYXVzZQorc2VwYXJhdGVseSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU0Ij4zLjcuMyBDb21tYW5kIEV4ZWN1dGlvbiBFbnZpcm9ubWVudDwvQT4pLCBhbmQgbWF5IGNhdXNlCiBzdWJzaGVsbHMgdG8gZXhpdCBiZWZvcmUgZXhlY3V0aW5nIGFsbCB0aGUgY29tbWFuZHMgaW4gdGhlIHN1YnNoZWxsLgogPC9QPjxQPgogCkBAIC01MjMxLDcgKzUzODYsNyBAQAogPFA+CiAKIDxEVD48Q09ERT4tbTwvQ09ERT4KLTxERD5Kb2IgY29udHJvbCBpcyBlbmFibGVkIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPjcuIEpvYiBDb250cm9sPC9BPikuCis8REQ+Sm9iIGNvbnRyb2wgaXMgZW5hYmxlZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj43LiBKb2IgQ29udHJvbDwvQT4pLgogPFA+CiAKIDxEVD48Q09ERT4tbjwvQ09ERT4KQEAgLTUyNTYsNyArNTQxMSw3IEBACiA8UD4KIAogPERUPjxDT0RFPmVtYWNzPC9DT0RFPgotPEREPlVzZSBhbiA8Q09ERT5lbWFjczwvQ09ERT4tc3R5bGUgbGluZSBlZGl0aW5nIGludGVyZmFjZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij44LiBDb21tYW5kIExpbmUgRWRpdGluZzwvQT4pLgorPEREPlVzZSBhbiA8Q09ERT5lbWFjczwvQ09ERT4tc3R5bGUgbGluZSBlZGl0aW5nIGludGVyZmFjZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk2Ij44LiBDb21tYW5kIExpbmUgRWRpdGluZzwvQT4pLgogVGhpcyBhbHNvIGFmZmVjdHMgdGhlIGVkaXRpbmcgaW50ZXJmYWNlIHVzZWQgZm9yIDxDT0RFPnJlYWQgLWU8L0NPREU+LgogPFA+CiAKQEAgLTUyODEsNyArNTQzNiw3IEBACiA8UD4KIAogPERUPjxDT0RFPmhpc3Rvcnk8L0NPREU+Ci08REQ+RW5hYmxlIGNvbW1hbmQgaGlzdG9yeSwgYXMgZGVzY3JpYmVkIGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPjkuMSBCYXNoIEhpc3RvcnkgRmFjaWxpdGllczwvQT4uCis8REQ+RW5hYmxlIGNvbW1hbmQgaGlzdG9yeSwgYXMgZGVzY3JpYmVkIGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjEiPjkuMSBCYXNoIEhpc3RvcnkgRmFjaWxpdGllczwvQT4uCiBUaGlzIG9wdGlvbiBpcyBvbiBieSBkZWZhdWx0IGluIGludGVyYWN0aXZlIHNoZWxscy4KIDxQPgogCkBAIC01MzM5LDcgKzU0OTQsNyBAQAogPERUPjxDT0RFPnBvc2l4PC9DT0RFPgogPEREPkNoYW5nZSB0aGUgYmVoYXZpb3Igb2YgQmFzaCB3aGVyZSB0aGUgZGVmYXVsdCBvcGVyYXRpb24gZGlmZmVycwogZnJvbSB0aGUgUE9TSVggc3RhbmRhcmQgdG8gbWF0Y2ggdGhlIHN0YW5kYXJkCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj42LjExIEJhc2ggUE9TSVggTW9kZTwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+Ni4xMSBCYXNoIFBPU0lYIE1vZGU8L0E+KS4KIFRoaXMgaXMgaW50ZW5kZWQgdG8gbWFrZSBCYXNoIGJlaGF2ZSBhcyBhIHN0cmljdCBzdXBlcnNldCBvZiB0aGF0CiBzdGFuZGFyZC4KIDxQPgpAQCAtNTQwMiw3ICs1NTU3LDcgQEAKIDxQPgogCiA8RFQ+PENPREU+LUI8L0NPREU+Ci08REQ+VGhlIHNoZWxsIHdpbGwgcGVyZm9ybSBicmFjZSBleHBhbnNpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+My41LjEgQnJhY2UgRXhwYW5zaW9uPC9BPikuCis8REQ+VGhlIHNoZWxsIHdpbGwgcGVyZm9ybSBicmFjZSBleHBhbnNpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMCI+My41LjEgQnJhY2UgRXhwYW5zaW9uPC9BPikuCiBUaGlzIG9wdGlvbiBpcyBvbiBieSBkZWZhdWx0LgogPFA+CiAKQEAgLTU0MTgsNyArNTU3Myw3IEBACiA8UD4KIAogPERUPjxDT0RFPi1IPC9DT0RFPgotPEREPkVuYWJsZSA8U0FNUD5gISc8L1NBTVA+IHN0eWxlIGhpc3Rvcnkgc3Vic3RpdHV0aW9uIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj45LjMgSGlzdG9yeSBFeHBhbnNpb248L0E+KS4KKzxERD5FbmFibGUgPFNBTVA+YCEnPC9TQU1QPiBzdHlsZSBoaXN0b3J5IHN1YnN0aXR1dGlvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMyI+OS4zIEhpc3RvcnkgRXhwYW5zaW9uPC9BPikuCiBUaGlzIG9wdGlvbiBpcyBvbiBieSBkZWZhdWx0IGZvciBpbnRlcmFjdGl2ZSBzaGVsbHMuCiA8UD4KIApAQCAtNTQ4MywyMCArNTYzOCwyMCBAQAogCiA8QSBOQU1FPSJUaGUgU2hvcHQgQnVpbHRpbiI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDNjMiPjwvQT4KKzxBIE5BTUU9IlNFQzY0Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjUiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY1Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDQuMy4yIFRoZSBTaG9wdCBCdWlsdGluIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzYzOjotLT4KKzwhLS1kb2NpZDo6U0VDNjQ6Oi0tPgogPFA+CiAKIFRoaXMgYnVpbHRpbiBhbGxvd3MgeW91IHRvIGNoYW5nZSBhZGRpdGlvbmFsIHNoZWxsIG9wdGlvbmFsIGJlaGF2aW9yLgpAQCAtNTUzNSw3ICs1NjkwLDcgQEAKIDxEVD48Q09ERT4tbzwvQ09ERT4KIDxERD5SZXN0cmljdHMgdGhlIHZhbHVlcyBvZgogPFZBUj5vcHRuYW1lPC9WQVI+IHRvIGJlIHRob3NlIGRlZmluZWQgZm9yIHRoZSA8U0FNUD5gLW8nPC9TQU1QPiBvcHRpb24gdG8gdGhlCi08Q09ERT5zZXQ8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCis8Q09ERT5zZXQ8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCiA8L0RMPgogPFA+CiAKQEAgLTU1ODksNyArNTc0NCw3IEBACiA8REQ+SWYgc2V0LCBCYXNoIGxpc3RzIHRoZSBzdGF0dXMgb2YgYW55IHN0b3BwZWQgYW5kIHJ1bm5pbmcgam9icyBiZWZvcmUKIGV4aXRpbmcgYW4gaW50ZXJhY3RpdmUgc2hlbGwuICBJZiBhbnkgam9icyBhcmUgcnVubmluZywgdGhpcyBjYXVzZXMKIHRoZSBleGl0IHRvIGJlIGRlZmVycmVkIHVudGlsIGEgc2Vjb25kIGV4aXQgaXMgYXR0ZW1wdGVkIHdpdGhvdXQgYW4KLWludGVydmVuaW5nIGNvbW1hbmQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+Ny4gSm9iIENvbnRyb2w8L0E+KS4KK2ludGVydmVuaW5nIGNvbW1hbmQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+Ny4gSm9iIENvbnRyb2w8L0E+KS4KIFRoZSBzaGVsbCBhbHdheXMgcG9zdHBvbmVzIGV4aXRpbmcgaWYgYW55IGpvYnMgYXJlIHN0b3BwZWQuCiA8UD4KIApAQCAtNTYwOSw3ICs1NzY0LDMyIEBACiA8RFQ+PENPREU+Y29tcGF0MzE8L0NPREU+CiA8REQ+SWYgc2V0LCBCYXNoCiBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gMy4xIHdpdGggcmVzcGVjdCB0byBxdW90ZWQKLWFyZ3VtZW50cyB0byB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCdzID1+IG9wZXJhdG9yLgorYXJndW1lbnRzIHRvIHRoZSBjb25kaXRpb25hbCBjb21tYW5kJ3MgPFNBTVA+YD1+JzwvU0FNUD4gb3BlcmF0b3IuCis8UD4KKworPERUPjxDT0RFPmNvbXBhdDMyPC9DT0RFPgorPEREPklmIHNldCwgQmFzaAorY2hhbmdlcyBpdHMgYmVoYXZpb3IgdG8gdGhhdCBvZiB2ZXJzaW9uIDMuMiB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpZmljCitzdHJpbmcgY29tcGFyaXNvbiB3aGVuIHVzaW5nIHRoZSA8U0FNUD5gW1snPC9TQU1QPgorY29uZGl0aW9uYWwgY29tbWFuZCdzIDxTQU1QPmAmIzYwOyc8L1NBTVA+IGFuZCA8U0FNUD5gJiM2MjsnPC9TQU1QPiBvcGVyYXRvcnMuCitCYXNoIHZlcnNpb25zIHByaW9yIHRvIGJhc2gtNC4wIHVzZSBBU0NJSSBjb2xsYXRpb24gYW5kIHN0cmNtcCgzKTsKK2Jhc2gtNC4xIGFuZCBsYXRlciB1c2UgdGhlIGN1cnJlbnQgbG9jYWxlJ3MgY29sbGF0aW9uIHNlcXVlbmNlIGFuZCBzdHJjb2xsKDMpLgorPFA+CisKKzxEVD48Q09ERT5jb21wYXQ0MDwvQ09ERT4KKzxERD5JZiBzZXQsIEJhc2gKK2NoYW5nZXMgaXRzIGJlaGF2aW9yIHRvIHRoYXQgb2YgdmVyc2lvbiA0LjAgd2l0aCByZXNwZWN0IHRvIGxvY2FsZS1zcGVjaWZpYworc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgPFNBTVA+YFtbJzwvU0FNUD4KK2NvbmRpdGlvbmFsIGNvbW1hbmQncyA8U0FNUD5gJiM2MDsnPC9TQU1QPiBhbmQgPFNBTVA+YCYjNjI7JzwvU0FNUD4gb3BlcmF0b3JzIChzZWUgcHJldmlvdXMgaXRlbSkKK2FuZCB0aGUgZWZmZWN0IG9mIGludGVycnVwdGluZyBhIGNvbW1hbmQgbGlzdC4KKzxQPgorCis8RFQ+PENPREU+Y29tcGF0NDE8L0NPREU+Cis8REQ+SWYgc2V0LCBCYXNoLCB3aGVuIGluIHBvc2l4IG1vZGUsIHRyZWF0cyBhIHNpbmdsZSBxdW90ZSBpbiBhIGRvdWJsZS1xdW90ZWQKK3BhcmFtZXRlciBleHBhbnNpb24gYXMgYSBzcGVjaWFsIGNoYXJhY3Rlci4gIFRoZSBzaW5nbGUgcXVvdGVzIG11c3QgbWF0Y2gKKyhhbiBldmVuIG51bWJlcikgYW5kIHRoZSBjaGFyYWN0ZXJzIGJldHdlZW4gdGhlIHNpbmdsZSBxdW90ZXMgYXJlIGNvbnNpZGVyZWQKK3F1b3RlZC4gIFRoaXMgaXMgdGhlIGJlaGF2aW9yIG9mIFBPU0lYIG1vZGUgdGhyb3VnaCB2ZXJzaW9uIDQuMS4KK1RoZSBkZWZhdWx0IEJhc2ggYmVoYXZpb3IgcmVtYWlucyBhcyBpbiBwcmV2aW91cyB2ZXJzaW9ucy4KIDxQPgogCiA8RFQ+PENPREU+ZGlyc3BlbGw8L0NPREU+CkBAIC01NjMyLDcgKzU4MTIsNyBAQAogCiA8RFQ+PENPREU+ZXhwYW5kX2FsaWFzZXM8L0NPREU+CiA8REQ+SWYgc2V0LCBhbGlhc2VzIGFyZSBleHBhbmRlZCBhcyBkZXNjcmliZWQgYmVsb3cgdW5kZXIgQWxpYXNlcywKLTxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni42IEFsaWFzZXM8L0E+LgorPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij42LjYgQWxpYXNlczwvQT4uCiBUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgZm9yIGludGVyYWN0aXZlIHNoZWxscy4KIDxQPgogCkBAIC01NjQyLDcgKzU4MjIsNyBAQAogCiA8T0w+CiA8TEk+Ci1UaGUgPFNBTVA+YC1GJzwvU0FNUD4gb3B0aW9uIHRvIHRoZSA8Q09ERT5kZWNsYXJlPC9DT0RFPiBidWlsdGluIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KQorVGhlIDxTQU1QPmAtRic8L1NBTVA+IG9wdGlvbiB0byB0aGUgPENPREU+ZGVjbGFyZTwvQ09ERT4gYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikKIGRpc3BsYXlzIHRoZSBzb3VyY2UgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlciBjb3JyZXNwb25kaW5nIHRvIGVhY2ggZnVuY3Rpb24KIG5hbWUgc3VwcGxpZWQgYXMgYW4gYXJndW1lbnQuCiA8UD4KQEAgLTU2NjEsNyArNTg0MSw3IEBACiAKIDxMST4KIDxDT0RFPkJBU0hfQVJHQzwvQ09ERT4gYW5kIDxDT0RFPkJBU0hfQVJHVjwvQ09ERT4gYXJlIHVwZGF0ZWQgYXMgZGVzY3JpYmVkIGluIHRoZWlyCi1kZXNjcmlwdGlvbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPikuCitkZXNjcmlwdGlvbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPikuCiA8UD4KIAogPExJPgpAQCAtNTY3MywxMyArNTg1MywxMyBAQAogPExJPgogRXJyb3IgdHJhY2luZyBpcyBlbmFibGVkOiAgY29tbWFuZCBzdWJzdGl0dXRpb24sIHNoZWxsIGZ1bmN0aW9ucywgYW5kCiBzdWJzaGVsbHMgaW52b2tlZCB3aXRoIDxDT0RFPiggPFZBUj5jb21tYW5kPC9WQVI+ICk8L0NPREU+IGluaGVyaXQgdGhlCi08Q09ERT5FUlJPUjwvQ09ERT4gdHJhcC4KKzxDT0RFPkVSUjwvQ09ERT4gdHJhcC4KIDwvT0w+CiA8UD4KIAogPERUPjxDT0RFPmV4dGdsb2I8L0NPREU+CiA8REQ+SWYgc2V0LCB0aGUgZXh0ZW5kZWQgcGF0dGVybiBtYXRjaGluZyBmZWF0dXJlcyBkZXNjcmliZWQgYWJvdmUKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPjMuNS44LjEgUGF0dGVybiBNYXRjaGluZzwvQT4pIGFyZSBlbmFibGVkLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOCI+My41LjguMSBQYXR0ZXJuIE1hdGNoaW5nPC9BPikgYXJlIGVuYWJsZWQuCiA8UD4KIAogPERUPjxDT0RFPmV4dHF1b3RlPC9DT0RFPgpAQCAtNTY5Nyw3ICs1ODc3LDcgQEAKIDxERD5JZiBzZXQsIHRoZSBzdWZmaXhlcyBzcGVjaWZpZWQgYnkgdGhlIDxDT0RFPkZJR05PUkU8L0NPREU+IHNoZWxsIHZhcmlhYmxlCiBjYXVzZSB3b3JkcyB0byBiZSBpZ25vcmVkIHdoZW4gcGVyZm9ybWluZyB3b3JkIGNvbXBsZXRpb24gZXZlbiBpZgogdGhlIGlnbm9yZWQgd29yZHMgYXJlIHRoZSBvbmx5IHBvc3NpYmxlIGNvbXBsZXRpb25zLgotU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+LCBmb3IgYSBkZXNjcmlwdGlvbiBvZiA8Q09ERT5GSUdOT1JFPC9DT0RFPi4KK1NlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPiwgZm9yIGEgZGVzY3JpcHRpb24gb2YgPENPREU+RklHTk9SRTwvQ09ERT4uCiBUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCiA8UD4KIApAQCAtNTczNSwxMyArNTkxNSwxMyBAQAogPERUPjxDT0RFPmhvc3Rjb21wbGV0ZTwvQ09ERT4KIDxERD5JZiBzZXQsIGFuZCBSZWFkbGluZSBpcyBiZWluZyB1c2VkLCBCYXNoIHdpbGwgYXR0ZW1wdCB0byBwZXJmb3JtCiBob3N0bmFtZSBjb21wbGV0aW9uIHdoZW4gYSB3b3JkIGNvbnRhaW5pbmcgYSA8U0FNUD5gQCc8L1NBTVA+IGlzIGJlaW5nCi1jb21wbGV0ZWQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPikuICBUaGlzIG9wdGlvbiBpcyBlbmFibGVkCitjb21wbGV0ZWQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPikuICBUaGlzIG9wdGlvbiBpcyBlbmFibGVkCiBieSBkZWZhdWx0LgogPFA+CiAKIDxEVD48Q09ERT5odXBvbmV4aXQ8L0NPREU+CiA8REQ+SWYgc2V0LCBCYXNoIHdpbGwgc2VuZCA8Q09ERT5TSUdIVVA8L0NPREU+IHRvIGFsbCBqb2JzIHdoZW4gYW4gaW50ZXJhY3RpdmUKLWxvZ2luIHNoZWxsIGV4aXRzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTYiPjMuNy42IFNpZ25hbHM8L0E+KS4KK2xvZ2luIHNoZWxsIGV4aXRzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTciPjMuNy42IFNpZ25hbHM8L0E+KS4KIDxQPgogCiA8RFQ+PENPREU+aW50ZXJhY3RpdmVfY29tbWVudHM8L0NPREU+CkBAIC01NzUxLDYgKzU5MzEsMTEgQEAKIFRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KIDxQPgogCis8RFQ+PENPREU+bGFzdHBpcGU8L0NPREU+Cis8REQ+SWYgc2V0LCBhbmQgam9iIGNvbnRyb2wgaXMgbm90IGFjdGl2ZSwgdGhlIHNoZWxsIHJ1bnMgdGhlIGxhc3QgY29tbWFuZCBvZgorYSBwaXBlbGluZSBub3QgZXhlY3V0ZWQgaW4gdGhlIGJhY2tncm91bmQgaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW52aXJvbm1lbnQuCis8UD4KKwogPERUPjxDT0RFPmxpdGhpc3Q8L0NPREU+CiA8REQ+SWYgZW5hYmxlZCwgYW5kIHRoZSA8Q09ERT5jbWRoaXN0PC9DT0RFPgogb3B0aW9uIGlzIGVuYWJsZWQsIG11bHRpLWxpbmUgY29tbWFuZHMgYXJlIHNhdmVkIHRvIHRoZSBoaXN0b3J5IHdpdGgKQEAgLTU3NTksNyArNTk0NCw3IEBACiAKIDxEVD48Q09ERT5sb2dpbl9zaGVsbDwvQ09ERT4KIDxERD5UaGUgc2hlbGwgc2V0cyB0aGlzIG9wdGlvbiBpZiBpdCBpcyBzdGFydGVkIGFzIGEgbG9naW4gc2hlbGwKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjkiPjYuMSBJbnZva2luZyBCYXNoPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzcwIj42LjEgSW52b2tpbmcgQmFzaDwvQT4pLgogVGhlIHZhbHVlIG1heSBub3QgYmUgY2hhbmdlZC4KIDxQPgogCkBAIC01NzkzLDcgKzU5NzgsNyBAQAogCiA8RFQ+PENPREU+cHJvZ2NvbXA8L0NPREU+CiA8REQ+SWYgc2V0LCB0aGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZmFjaWxpdGllcwotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT4pIGFyZSBlbmFibGVkLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT4pIGFyZSBlbmFibGVkLgogVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0LgogPFA+CiAKQEAgLTU4MDEsMTMgKzU5ODYsMTMgQEAKIDxERD5JZiBzZXQsIHByb21wdCBzdHJpbmdzIHVuZGVyZ28KIHBhcmFtZXRlciBleHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljCiBleHBhbnNpb24sIGFuZCBxdW90ZSByZW1vdmFsIGFmdGVyIGJlaW5nIGV4cGFuZGVkCi1hcyBkZXNjcmliZWQgYmVsb3cgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OCI+Ni45IENvbnRyb2xsaW5nIHRoZSBQcm9tcHQ8L0E+KS4KK2FzIGRlc2NyaWJlZCBiZWxvdyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij42LjkgQ29udHJvbGxpbmcgdGhlIFByb21wdDwvQT4pLgogVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0LgogPFA+CiAKIDxEVD48Q09ERT5yZXN0cmljdGVkX3NoZWxsPC9DT0RFPgogPEREPlRoZSBzaGVsbCBzZXRzIHRoaXMgb3B0aW9uIGlmIGl0IGlzIHN0YXJ0ZWQgaW4gcmVzdHJpY3RlZCBtb2RlCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij42LjEwIFRoZSBSZXN0cmljdGVkIFNoZWxsPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj42LjEwIFRoZSBSZXN0cmljdGVkIFNoZWxsPC9BPikuCiBUaGUgdmFsdWUgbWF5IG5vdCBiZSBjaGFuZ2VkLgogVGhpcyBpcyBub3QgcmVzZXQgd2hlbiB0aGUgc3RhcnR1cCBmaWxlcyBhcmUgZXhlY3V0ZWQsIGFsbG93aW5nCiB0aGUgc3RhcnR1cCBmaWxlcyB0byBkaXNjb3ZlciB3aGV0aGVyIG9yIG5vdCBhIHNoZWxsIGlzIHJlc3RyaWN0ZWQuCkBAIC01ODQ0LDIwICs2MDI5LDIwIEBACiAKIDxBIE5BTUU9IlNwZWNpYWwgQnVpbHRpbnMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzY0Ij48L0E+Cis8QSBOQU1FPSJTRUM2NSI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY1Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTgiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiA0LjQgU3BlY2lhbCBCdWlsdGlucyA8L0gyPgotPCEtLWRvY2lkOjpTRUM2NDo6LS0+Cis8IS0tZG9jaWQ6OlNFQzY1OjotLT4KIDxQPgogCiBGb3IgaGlzdG9yaWNhbCByZWFzb25zLCB0aGUgUE9TSVggc3RhbmRhcmQgaGFzIGNsYXNzaWZpZWQKQEAgLTU4ODMsNyArNjA2OCw3IEBACiAKIFdoZW4gQmFzaCBpcyBub3QgZXhlY3V0aW5nIGluIFBPU0lYIG1vZGUsIHRoZXNlIGJ1aWx0aW5zIGJlaGF2ZSBubwogZGlmZmVyZW50bHkgdGhhbiB0aGUgcmVzdCBvZiB0aGUgQmFzaCBidWlsdGluIGNvbW1hbmRzLgotVGhlIEJhc2ggUE9TSVggbW9kZSBpcyBkZXNjcmliZWQgaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj42LjExIEJhc2ggUE9TSVggTW9kZTwvQT4uIAorVGhlIEJhc2ggUE9TSVggbW9kZSBpcyBkZXNjcmliZWQgaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj42LjExIEJhc2ggUE9TSVggTW9kZTwvQT4uIAogPC9QPjxQPgogCiBUaGVzZSBhcmUgdGhlIFBPU0lYIHNwZWNpYWwgYnVpbHRpbnM6CkBAIC01ODkzLDI2ICs2MDc4LDI2IEBACiAKIDxBIE5BTUU9IlNoZWxsIFZhcmlhYmxlcyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDNjUiPjwvQT4KKzxBIE5BTUU9IlNFQzY2Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY1Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjkiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgxPiA1LiBTaGVsbCBWYXJpYWJsZXMgPC9IMT4KLTwhLS1kb2NpZDo6U0VDNjU6Oi0tPgorPCEtLWRvY2lkOjpTRUM2Njo6LS0+CiA8UD4KIAogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5WYXJpYWJsZXMgd2hpY2ggQmFzaCB1c2VzIGluIHRoZSBzYW1lIHdheQorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5WYXJpYWJsZXMgd2hpY2ggQmFzaCB1c2VzIGluIHRoZSBzYW1lIHdheQogCQkJCWFzIHRoZSBCb3VybmUgU2hlbGwuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+TGlzdCBvZiB2YXJpYWJsZXMgdGhhdCBleGlzdCBpbiBCYXNoLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkxpc3Qgb2YgdmFyaWFibGVzIHRoYXQgZXhpc3QgaW4gQmFzaC48L1REPjwvVFI+CiA8L1RBQkxFPjwvQkxPQ0tRVU9URT4KIDxQPgogCkBAIC01OTIyLDIwICs2MTA3LDIwIEBACiAKIDxBIE5BTUU9IkJvdXJuZSBTaGVsbCBWYXJpYWJsZXMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzY2Ij48L0E+Cis8QSBOQU1FPSJTRUM2NyI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY1Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjUiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY1Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiA1LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlcyA8L0gyPgotPCEtLWRvY2lkOjpTRUM2Njo6LS0+Cis8IS0tZG9jaWQ6OlNFQzY3OjotLT4KIDxQPgogCiBCYXNoIHVzZXMgY2VydGFpbiBzaGVsbCB2YXJpYWJsZXMgaW4gdGhlIHNhbWUgd2F5IGFzIHRoZSBCb3VybmUgc2hlbGwuCkBAIC01OTU3LDcgKzYxNDIsNyBAQAogVGhlIGN1cnJlbnQgdXNlcidzIGhvbWUgZGlyZWN0b3J5OyB0aGUgZGVmYXVsdCBmb3IgdGhlIDxDT0RFPmNkPC9DT0RFPiBidWlsdGluCiBjb21tYW5kLgogVGhlIHZhbHVlIG9mIHRoaXMgdmFyaWFibGUgaXMgYWxzbyB1c2VkIGJ5IHRpbGRlIGV4cGFuc2lvbgotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMCI+My41LjIgVGlsZGUgRXhwYW5zaW9uPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMxIj4zLjUuMiBUaWxkZSBFeHBhbnNpb248L0E+KS4KIDxQPgogCiA8QSBOQU1FPSJJRFgxMTYiPjwvQT4KQEAgLTU5NzAsOSArNjE1NSwxMCBAQAogPEEgTkFNRT0iSURYMTE4Ij48L0E+CiA8RFQ+PENPREU+TUFJTDwvQ09ERT4KIDxERD48QSBOQU1FPSJJRFgxMTkiPjwvQT4KLUlmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIGZpbGVuYW1lIGFuZCB0aGUgPENPREU+TUFJTFBBVEg8L0NPREU+IHZhcmlhYmxlCitJZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgdG8gYSBmaWxlbmFtZSBvciBkaXJlY3RvcnkgbmFtZQorYW5kIHRoZSA8Q09ERT5NQUlMUEFUSDwvQ09ERT4gdmFyaWFibGUKIGlzIG5vdCBzZXQsIEJhc2ggaW5mb3JtcyB0aGUgdXNlciBvZiB0aGUgYXJyaXZhbCBvZiBtYWlsIGluCi10aGUgc3BlY2lmaWVkIGZpbGUuCit0aGUgc3BlY2lmaWVkIGZpbGUgb3IgTWFpbGRpci1mb3JtYXQgZGlyZWN0b3J5LgogPFA+CiAKIDxBIE5BTUU9IklEWDEyMCI+PC9BPgpAQCAtNjAxNCw3ICs2MjAwLDcgQEAKIDxEVD48Q09ERT5QUzE8L0NPREU+CiA8REQ+PEEgTkFNRT0iSURYMTI5Ij48L0E+CiBUaGUgcHJpbWFyeSBwcm9tcHQgc3RyaW5nLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgPFNBTVA+YFxzLVx2XCQgJzwvU0FNUD4uCi1TZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODgiPjYuOSBDb250cm9sbGluZyB0aGUgUHJvbXB0PC9BPiwgZm9yIHRoZSBjb21wbGV0ZSBsaXN0IG9mIGVzY2FwZQorU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij42LjkgQ29udHJvbGxpbmcgdGhlIFByb21wdDwvQT4sIGZvciB0aGUgY29tcGxldGUgbGlzdCBvZiBlc2NhcGUKIHNlcXVlbmNlcyB0aGF0IGFyZSBleHBhbmRlZCBiZWZvcmUgPENPREU+UFMxPC9DT0RFPiBpcyBkaXNwbGF5ZWQuCiA8UD4KIApAQCAtNjAyOSwyMCArNjIxNSwyMCBAQAogCiA8QSBOQU1FPSJCYXNoIFZhcmlhYmxlcyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDNjciPjwvQT4KKzxBIE5BTUU9IlNFQzY4Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjUiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjkiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDUuMiBCYXNoIFZhcmlhYmxlcyA8L0gyPgotPCEtLWRvY2lkOjpTRUM2Nzo6LS0+Cis8IS0tZG9jaWQ6OlNFQzY4OjotLT4KIDxQPgogCiBUaGVzZSB2YXJpYWJsZXMgYXJlIHNldCBvciB1c2VkIGJ5IEJhc2gsIGJ1dCBvdGhlciBzaGVsbHMKQEAgLTYwNTEsNyArNjIzNyw3IEBACiAKIEEgZmV3IHZhcmlhYmxlcyB1c2VkIGJ5IEJhc2ggYXJlIGRlc2NyaWJlZCBpbiBkaWZmZXJlbnQgY2hhcHRlcnM6CiB2YXJpYWJsZXMgZm9yIGNvbnRyb2xsaW5nIHRoZSBqb2IgY29udHJvbCBmYWNpbGl0aWVzCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk0Ij43LjMgSm9iIENvbnRyb2wgVmFyaWFibGVzPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij43LjMgSm9iIENvbnRyb2wgVmFyaWFibGVzPC9BPikuCiA8L1A+PFA+CiAKIDxETCBDT01QQUNUPgpAQCAtNjA2Nyw3ICs2MjUzLDcgQEAKIDxERD48QSBOQU1FPSJJRFgxMzUiPjwvQT4KIEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZW5hYmxlZCBzaGVsbCBvcHRpb25zLiAgRWFjaCB3b3JkIGluCiB0aGUgbGlzdCBpcyBhIHZhbGlkIGFyZ3VtZW50IGZvciB0aGUgPFNBTVA+YC1zJzwvU0FNUD4gb3B0aW9uIHRvIHRoZQotPENPREU+c2hvcHQ8L0NPREU+IGJ1aWx0aW4gY29tbWFuZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMiBUaGUgU2hvcHQgQnVpbHRpbjwvQT4pLgorPENPREU+c2hvcHQ8L0NPREU+IGJ1aWx0aW4gY29tbWFuZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij40LjMuMiBUaGUgU2hvcHQgQnVpbHRpbjwvQT4pLgogVGhlIG9wdGlvbnMgYXBwZWFyaW5nIGluIDxDT0RFPkJBU0hPUFRTPC9DT0RFPiBhcmUgdGhvc2UgcmVwb3J0ZWQKIGFzIDxTQU1QPmBvbic8L1NBTVA+IGJ5IDxTQU1QPmBzaG9wdCc8L1NBTVA+LgogSWYgdGhpcyB2YXJpYWJsZSBpcyBpbiB0aGUgZW52aXJvbm1lbnQgd2hlbiBCYXNoCkBAIC02MDc4LDcgKzYyNjQsNyBAQAogPEEgTkFNRT0iSURYMTM2Ij48L0E+CiA8RFQ+PENPREU+QkFTSFBJRDwvQ09ERT4KIDxERD48QSBOQU1FPSJJRFgxMzciPjwvQT4KLUV4cGFuZHMgdG8gdGhlIHByb2Nlc3MgaWQgb2YgdGhlIGN1cnJlbnQgQmFzaCBwcm9jZXNzLgorRXhwYW5kcyB0byB0aGUgcHJvY2VzcyBJRCBvZiB0aGUgY3VycmVudCBCYXNoIHByb2Nlc3MuCiBUaGlzIGRpZmZlcnMgZnJvbSA8Q09ERT4kJDwvQ09ERT4gdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLCBzdWNoIGFzIHN1YnNoZWxscwogdGhhdCBkbyBub3QgcmVxdWlyZSBCYXNoIHRvIGJlIHJlLWluaXRpYWxpemVkLgogPFA+CkBAIC02MDg3LDggKzYyNzMsOCBAQAogPERUPjxDT0RFPkJBU0hfQUxJQVNFUzwvQ09ERT4KIDxERD48QSBOQU1FPSJJRFgxMzkiPjwvQT4KIEFuIGFzc29jaWF0aXZlIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgY29ycmVzcG9uZCB0byB0aGUgaW50ZXJuYWwKLWxpc3Qgb2YgYWxpYXNlcyBhcyBtYWludGFpbmVkIGJ5IHRoZSA8Q09ERT5hbGlhczwvQ09ERT4gYnVpbHRpbgotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgorbGlzdCBvZiBhbGlhc2VzIGFzIG1haW50YWluZWQgYnkgdGhlIDxDT0RFPmFsaWFzPC9DT0RFPiBidWlsdGluLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgogRWxlbWVudHMgYWRkZWQgdG8gdGhpcyBhcnJheSBhcHBlYXIgaW4gdGhlIGFsaWFzIGxpc3Q7IHVuc2V0dGluZyBhcnJheQogZWxlbWVudHMgY2F1c2UgYWxpYXNlcyB0byBiZSByZW1vdmVkIGZyb20gdGhlIGFsaWFzIGxpc3QuCiA8UD4KQEAgLTYxMDMsNyArNjI4OSw3IEBACiBzdWJyb3V0aW5lIGlzIGV4ZWN1dGVkLCB0aGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMgcGFzc2VkIGlzIHB1c2hlZCBvbnRvCiA8Q09ERT5CQVNIX0FSR0M8L0NPREU+LgogVGhlIHNoZWxsIHNldHMgPENPREU+QkFTSF9BUkdDPC9DT0RFPiBvbmx5IHdoZW4gaW4gZXh0ZW5kZWQgZGVidWdnaW5nIG1vZGUKLShzZWUgPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMiBUaGUgU2hvcHQgQnVpbHRpbjwvQT4KKyhzZWUgPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij40LjMuMiBUaGUgU2hvcHQgQnVpbHRpbjwvQT4KIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSA8Q09ERT5leHRkZWJ1ZzwvQ09ERT4gb3B0aW9uIHRvIHRoZSA8Q09ERT5zaG9wdDwvQ09ERT4KIGJ1aWx0aW4pLgogPFA+CkBAIC02MTE3LDcgKzYzMDMsNyBAQAogYXQgdGhlIGJvdHRvbS4gIFdoZW4gYSBzdWJyb3V0aW5lIGlzIGV4ZWN1dGVkLCB0aGUgcGFyYW1ldGVycyBzdXBwbGllZAogYXJlIHB1c2hlZCBvbnRvIDxDT0RFPkJBU0hfQVJHVjwvQ09ERT4uCiBUaGUgc2hlbGwgc2V0cyA8Q09ERT5CQVNIX0FSR1Y8L0NPREU+IG9ubHkgd2hlbiBpbiBleHRlbmRlZCBkZWJ1Z2dpbmcgbW9kZQotKHNlZSA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPgorKHNlZSA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPgogZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIDxDT0RFPmV4dGRlYnVnPC9DT0RFPiBvcHRpb24gdG8gdGhlIDxDT0RFPnNob3B0PC9DT0RFPgogYnVpbHRpbikuCiA8UD4KQEAgLTYxMjcsNyArNjMxMyw3IEBACiA8REQ+PEEgTkFNRT0iSURYMTQ1Ij48L0E+CiBBbiBhc3NvY2lhdGl2ZSBhcnJheSB2YXJpYWJsZSB3aG9zZSBtZW1iZXJzIGNvcnJlc3BvbmQgdG8gdGhlIGludGVybmFsCiBoYXNoIHRhYmxlIG9mIGNvbW1hbmRzIGFzIG1haW50YWluZWQgYnkgdGhlIDxDT0RFPmhhc2g8L0NPREU+IGJ1aWx0aW4KLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+KS4KKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+KS4KIEVsZW1lbnRzIGFkZGVkIHRvIHRoaXMgYXJyYXkgYXBwZWFyIGluIHRoZSBoYXNoIHRhYmxlOyB1bnNldHRpbmcgYXJyYXkKIGVsZW1lbnRzIGNhdXNlIGNvbW1hbmRzIHRvIGJlIHJlbW92ZWQgZnJvbSB0aGUgaGFzaCB0YWJsZS4KIDxQPgpAQCAtNjE0NSw3ICs2MzMxLDcgQEAKIDxERD48QSBOQU1FPSJJRFgxNDkiPjwvQT4KIElmIHRoaXMgdmFyaWFibGUgaXMgc2V0IHdoZW4gQmFzaCBpcyBpbnZva2VkIHRvIGV4ZWN1dGUgYSBzaGVsbAogc2NyaXB0LCBpdHMgdmFsdWUgaXMgZXhwYW5kZWQgYW5kIHVzZWQgYXMgdGhlIG5hbWUgb2YgYSBzdGFydHVwIGZpbGUKLXRvIHJlYWQgYmVmb3JlIGV4ZWN1dGluZyB0aGUgc2NyaXB0LiAgU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzcwIj42LjIgQmFzaCBTdGFydHVwIEZpbGVzPC9BPi4KK3RvIHJlYWQgYmVmb3JlIGV4ZWN1dGluZyB0aGUgc2NyaXB0LiAgU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzcxIj42LjIgQmFzaCBTdGFydHVwIEZpbGVzPC9BPi4KIDxQPgogCiA8QSBOQU1FPSJJRFgxNTAiPjwvQT4KQEAgLTYxNTgsMTEgKzYzNDQsMTEgQEAKIDxEVD48Q09ERT5CQVNIX0xJTkVOTzwvQ09ERT4KIDxERD48QSBOQU1FPSJJRFgxNTMiPjwvQT4KIEFuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBsaW5lIG51bWJlcnMgaW4gc291cmNlIGZpbGVzCi1jb3JyZXNwb25kaW5nIHRvIGVhY2ggbWVtYmVyIG9mIDxWQVI+RlVOQ05BTUU8L1ZBUj4uCi08Q09ERT4ke0JBU0hfTElORU5PWyRpXX08L0NPREU+IGlzIHRoZSBsaW5lIG51bWJlciBpbiB0aGUgc291cmNlIGZpbGUgd2hlcmUKK3doZXJlIGVhY2ggY29ycmVzcG9uZGluZyBtZW1iZXIgb2YgPFZBUj5GVU5DTkFNRTwvVkFSPiB3YXMgaW52b2tlZC4KKzxDT0RFPiR7QkFTSF9MSU5FTk9bJGldfTwvQ09ERT4gaXMgdGhlIGxpbmUgbnVtYmVyIGluIHRoZSBzb3VyY2UgZmlsZQorKDxDT0RFPiR7QkFTSF9TT1VSQ0VbJGkrMV19PC9DT0RFPikgd2hlcmUKIDxDT0RFPiR7RlVOQ05BTUVbJGldfTwvQ09ERT4gd2FzIGNhbGxlZCAob3IgPENPREU+JHtCQVNIX0xJTkVOT1skaS0xXX08L0NPREU+IGlmCi1yZWZlcmVuY2VkIHdpdGhpbiBhbm90aGVyIHNoZWxsIGZ1bmN0aW9uKS4KLVRoZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBmaWxlIG5hbWUgaXMgPENPREU+JHtCQVNIX1NPVVJDRVskaV19PC9DT0RFPi4KK3JlZmVyZW5jZWQgd2l0aGluIGFub3RoZXIgc2hlbGwgZnVuY3Rpb24pLiAKIFVzZSA8Q09ERT5MSU5FTk88L0NPREU+IHRvIG9idGFpbiB0aGUgY3VycmVudCBsaW5lIG51bWJlci4KIDxQPgogCkBAIC02MTgyLDggKzYzNjgsMTEgQEAKIDxBIE5BTUU9IklEWDE1NiI+PC9BPgogPERUPjxDT0RFPkJBU0hfU09VUkNFPC9DT0RFPgogPEREPjxBIE5BTUU9IklEWDE1NyI+PC9BPgotQW4gYXJyYXkgdmFyaWFibGUgd2hvc2UgbWVtYmVycyBhcmUgdGhlIHNvdXJjZSBmaWxlbmFtZXMgY29ycmVzcG9uZGluZwotdG8gdGhlIGVsZW1lbnRzIGluIHRoZSA8Q09ERT5GVU5DTkFNRTwvQ09ERT4gYXJyYXkgdmFyaWFibGUuCitBbiBhcnJheSB2YXJpYWJsZSB3aG9zZSBtZW1iZXJzIGFyZSB0aGUgc291cmNlIGZpbGVuYW1lcyB3aGVyZSB0aGUKK2NvcnJlc3BvbmRpbmcgc2hlbGwgZnVuY3Rpb24gbmFtZXMgaW4gdGhlIDxDT0RFPkZVTkNOQU1FPC9DT0RFPiBhcnJheQordmFyaWFibGUgYXJlIGRlZmluZWQuCitUaGUgc2hlbGwgZnVuY3Rpb24gPENPREU+JHtGVU5DTkFNRVskaV19PC9DT0RFPiBpcyBkZWZpbmVkIGluIHRoZSBmaWxlCis8Q09ERT4ke0JBU0hfU09VUkNFWyRpXX08L0NPREU+IGFuZCBjYWxsZWQgZnJvbSA8Q09ERT4ke0JBU0hfU09VUkNFWyRpKzFdfTwvQ09ERT4KIDxQPgogCiA8QSBOQU1FPSJJRFgxNTgiPjwvQT4KQEAgLTYxOTYsNyArNjM4NSw3IEBACiA8QSBOQU1FPSJJRFgxNjAiPjwvQT4KIDxEVD48Q09ERT5CQVNIX1ZFUlNJTkZPPC9DT0RFPgogPEREPjxBIE5BTUU9IklEWDE2MSI+PC9BPgotQSByZWFkb25seSBhcnJheSB2YXJpYWJsZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij42LjcgQXJyYXlzPC9BPikKK0EgcmVhZG9ubHkgYXJyYXkgdmFyaWFibGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NiI+Ni43IEFycmF5czwvQT4pCiB3aG9zZSBtZW1iZXJzIGhvbGQgdmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgdGhpcyBpbnN0YW5jZSBvZiBCYXNoLgogVGhlIHZhbHVlcyBhc3NpZ25lZCB0byB0aGUgYXJyYXkgbWVtYmVycyBhcmUgYXMgZm9sbG93czoKIDxQPgpAQCAtNjI1Niw3ICs2NDQ1LDcgQEAKIDxBIE5BTUU9IklEWDE2NiI+PC9BPgogPERUPjxDT0RFPkNPTFVNTlM8L0NPREU+CiA8REQ+PEEgTkFNRT0iSURYMTY3Ij48L0E+Ci1Vc2VkIGJ5IHRoZSA8Q09ERT5zZWxlY3Q8L0NPREU+IGJ1aWx0aW4gY29tbWFuZCB0byBkZXRlcm1pbmUgdGhlIHRlcm1pbmFsIHdpZHRoCitVc2VkIGJ5IHRoZSA8Q09ERT5zZWxlY3Q8L0NPREU+IGNvbW1hbmQgdG8gZGV0ZXJtaW5lIHRoZSB0ZXJtaW5hbCB3aWR0aAogd2hlbiBwcmludGluZyBzZWxlY3Rpb24gbGlzdHMuICBBdXRvbWF0aWNhbGx5IHNldCB1cG9uIHJlY2VpcHQgb2YgYQogPENPREU+U0lHV0lOQ0g8L0NPREU+LgogPFA+CkBAIC02MjY3LDcgKzY0NTYsNyBAQAogQW4gaW5kZXggaW50byA8Q09ERT4ke0NPTVBfV09SRFN9PC9DT0RFPiBvZiB0aGUgd29yZCBjb250YWluaW5nIHRoZSBjdXJyZW50CiBjdXJzb3IgcG9zaXRpb24uCiBUaGlzIHZhcmlhYmxlIGlzIGF2YWlsYWJsZSBvbmx5IGluIHNoZWxsIGZ1bmN0aW9ucyBpbnZva2VkIGJ5IHRoZQotcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZmFjaWxpdGllcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPikuCitwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij44LjYgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb248L0E+KS4KIDxQPgogCiA8QSBOQU1FPSJJRFgxNzAiPjwvQT4KQEAgLTYyNzYsNyArNjQ2NSw3IEBACiBUaGUgY3VycmVudCBjb21tYW5kIGxpbmUuCiBUaGlzIHZhcmlhYmxlIGlzIGF2YWlsYWJsZSBvbmx5IGluIHNoZWxsIGZ1bmN0aW9ucyBhbmQgZXh0ZXJuYWwKIGNvbW1hbmRzIGludm9rZWQgYnkgdGhlCi1wcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE3Ij44LjYgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb248L0E+KS4KK3Byb2dyYW1tYWJsZSBjb21wbGV0aW9uIGZhY2lsaXRpZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT4pLgogPFA+CiAKIDxBIE5BTUU9IklEWDE3MiI+PC9BPgpAQCAtNjI4OCw3ICs2NDc3LDcgQEAKIHRoZSB2YWx1ZSBvZiB0aGlzIHZhcmlhYmxlIGlzIGVxdWFsIHRvIDxDT0RFPiR7I0NPTVBfTElORX08L0NPREU+LgogVGhpcyB2YXJpYWJsZSBpcyBhdmFpbGFibGUgb25seSBpbiBzaGVsbCBmdW5jdGlvbnMgYW5kIGV4dGVybmFsCiBjb21tYW5kcyBpbnZva2VkIGJ5IHRoZQotcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZmFjaWxpdGllcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPikuCitwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij44LjYgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb248L0E+KS4KIDxQPgogCiA8QSBOQU1FPSJJRFgxNzQiPjwvQT4KQEAgLTYzMDQsNyArNjQ5Myw3IEBACiA8U0FNUD5gJSc8L1NBTVA+LCBmb3IgbWVudSBjb21wbGV0aW9uLgogVGhpcyB2YXJpYWJsZSBpcyBhdmFpbGFibGUgb25seSBpbiBzaGVsbCBmdW5jdGlvbnMgYW5kIGV4dGVybmFsCiBjb21tYW5kcyBpbnZva2VkIGJ5IHRoZQotcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZmFjaWxpdGllcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPikuCitwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij44LjYgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb248L0E+KS4KIDxQPgogCiA8QSBOQU1FPSJJRFgxNzYiPjwvQT4KQEAgLTYzMzEsNyArNjUyMCw3IEBACiBUaGUgbGluZSBpcyBzcGxpdCBpbnRvIHdvcmRzIGFzIFJlYWRsaW5lIHdvdWxkIHNwbGl0IGl0LCB1c2luZwogPENPREU+Q09NUF9XT1JEQlJFQUtTPC9DT0RFPiBhcyBkZXNjcmliZWQgYWJvdmUuCiBUaGlzIHZhcmlhYmxlIGlzIGF2YWlsYWJsZSBvbmx5IGluIHNoZWxsIGZ1bmN0aW9ucyBpbnZva2VkIGJ5IHRoZQotcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gZmFjaWxpdGllcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPikuCitwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij44LjYgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb248L0E+KS4KIDxQPgogCiA8QSBOQU1FPSJJRFgxODIiPjwvQT4KQEAgLTYzMzksMTIgKzY1MjgsMTkgQEAKIDxERD48QSBOQU1FPSJJRFgxODMiPjwvQT4KIEFuIGFycmF5IHZhcmlhYmxlIGZyb20gd2hpY2ggQmFzaCByZWFkcyB0aGUgcG9zc2libGUgY29tcGxldGlvbnMKIGdlbmVyYXRlZCBieSBhIHNoZWxsIGZ1bmN0aW9uIGludm9rZWQgYnkgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uCi1mYWNpbGl0eSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPikuCitmYWNpbGl0eSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOCI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPikuCiA8UD4KIAogPEEgTkFNRT0iSURYMTg0Ij48L0E+Ci08RFQ+PENPREU+RElSU1RBQ0s8L0NPREU+Cis8RFQ+PENPREU+Q09QUk9DPC9DT0RFPgogPEREPjxBIE5BTUU9IklEWDE4NSI+PC9BPgorQW4gYXJyYXkgdmFyaWFibGUgY3JlYXRlZCB0byBob2xkIHRoZSBmaWxlIGRlc2NyaXB0b3JzCitmb3Igb3V0cHV0IGZyb20gYW5kIGlucHV0IHRvIGFuIHVubmFtZWQgY29wcm9jZXNzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjMiPjMuMi41IENvcHJvY2Vzc2VzPC9BPikuCis8UD4KKworPEEgTkFNRT0iSURYMTg2Ij48L0E+Cis8RFQ+PENPREU+RElSU1RBQ0s8L0NPREU+Cis8REQ+PEEgTkFNRT0iSURYMTg3Ij48L0E+CiBBbiBhcnJheSB2YXJpYWJsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2suCiBEaXJlY3RvcmllcyBhcHBlYXIgaW4gdGhlIHN0YWNrIGluIHRoZSBvcmRlciB0aGV5IGFyZSBkaXNwbGF5ZWQgYnkgdGhlCiA8Q09ERT5kaXJzPC9DT0RFPiBidWlsdGluLgpAQCAtNjM1NiwzMSArNjU1MiwzOCBAQAogaXQgaXMgc3Vic2VxdWVudGx5IHJlc2V0LgogPFA+CiAKLTxBIE5BTUU9IklEWDE4NiI+PC9BPgorPEEgTkFNRT0iSURYMTg4Ij48L0E+CiA8RFQ+PENPREU+RU1BQ1M8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTg3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTg5Ij48L0E+CiBJZiBCYXNoIGZpbmRzIHRoaXMgdmFyaWFibGUgaW4gdGhlIGVudmlyb25tZW50IHdoZW4gdGhlIHNoZWxsCiBzdGFydHMgd2l0aCB2YWx1ZSA8U0FNUD5gdCc8L1NBTVA+LCBpdCBhc3N1bWVzIHRoYXQgdGhlIHNoZWxsIGlzIHJ1bm5pbmcgaW4gYW4KLWVtYWNzIHNoZWxsIGJ1ZmZlciBhbmQgZGlzYWJsZXMgbGluZSBlZGl0aW5nLgorRW1hY3Mgc2hlbGwgYnVmZmVyIGFuZCBkaXNhYmxlcyBsaW5lIGVkaXRpbmcuCiA8UD4KIAotPEEgTkFNRT0iSURYMTg4Ij48L0E+Cis8QSBOQU1FPSJJRFgxOTAiPjwvQT4KKzxEVD48Q09ERT5FTlY8L0NPREU+Cis8REQ+PEEgTkFNRT0iSURYMTkxIj48L0E+CitTaW1pbGFyIHRvIDxDT0RFPkJBU0hfRU5WPC9DT0RFPjsgdXNlZCB3aGVuIHRoZSBzaGVsbCBpcyBpbnZva2VkIGluCitQT1NJWCBNb2RlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPjYuMTEgQmFzaCBQT1NJWCBNb2RlPC9BPikuCis8UD4KKworPEEgTkFNRT0iSURYMTkyIj48L0E+CiA8RFQ+PENPREU+RVVJRDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxODkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxOTMiPjwvQT4KIFRoZSBudW1lcmljIGVmZmVjdGl2ZSB1c2VyIGlkIG9mIHRoZSBjdXJyZW50IHVzZXIuICBUaGlzIHZhcmlhYmxlCiBpcyByZWFkb25seS4KIDxQPgogCi08QSBOQU1FPSJJRFgxOTAiPjwvQT4KKzxBIE5BTUU9IklEWDE5NCI+PC9BPgogPERUPjxDT0RFPkZDRURJVDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgxOTEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgxOTUiPjwvQT4KIFRoZSBlZGl0b3IgdXNlZCBhcyBhIGRlZmF1bHQgYnkgdGhlIDxTQU1QPmAtZSc8L1NBTVA+IG9wdGlvbiB0byB0aGUgPENPREU+ZmM8L0NPREU+CiBidWlsdGluIGNvbW1hbmQuCiA8UD4KIAotPEEgTkFNRT0iSURYMTkyIj48L0E+Cis8QSBOQU1FPSJJRFgxOTYiPjwvQT4KIDxEVD48Q09ERT5GSUdOT1JFPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDE5MyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDE5NyI+PC9BPgogQSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBzdWZmaXhlcyB0byBpZ25vcmUgd2hlbiBwZXJmb3JtaW5nCiBmaWxlbmFtZSBjb21wbGV0aW9uLgogQSBmaWxlIG5hbWUgd2hvc2Ugc3VmZml4IG1hdGNoZXMgb25lIG9mIHRoZSBlbnRyaWVzIGluIApAQCAtNjM4OSwyMyArNjU5Miw0MSBAQAogdmFsdWUgaXMgPFNBTVA+YC5vOn4nPC9TQU1QPgogPFA+CiAKLTxBIE5BTUU9IklEWDE5NCI+PC9BPgorPEEgTkFNRT0iSURYMTk4Ij48L0E+CiA8RFQ+PENPREU+RlVOQ05BTUU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTk1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMTk5Ij48L0E+CiBBbiBhcnJheSB2YXJpYWJsZSBjb250YWluaW5nIHRoZSBuYW1lcyBvZiBhbGwgc2hlbGwgZnVuY3Rpb25zCiBjdXJyZW50bHkgaW4gdGhlIGV4ZWN1dGlvbiBjYWxsIHN0YWNrLgogVGhlIGVsZW1lbnQgd2l0aCBpbmRleCAwIGlzIHRoZSBuYW1lIG9mIGFueSBjdXJyZW50bHktZXhlY3V0aW5nCiBzaGVsbCBmdW5jdGlvbi4KLVRoZSBib3R0b20tbW9zdCBlbGVtZW50IGlzIDxDT0RFPiJtYWluIjwvQ09ERT4uCitUaGUgYm90dG9tLW1vc3QgZWxlbWVudCAodGhlIG9uZSB3aXRoIHRoZSBoaWdoZXN0IGluZGV4KQoraXMgPENPREU+Im1haW4iPC9DT0RFPi4KIFRoaXMgdmFyaWFibGUgZXhpc3RzIG9ubHkgd2hlbiBhIHNoZWxsIGZ1bmN0aW9uIGlzIGV4ZWN1dGluZy4KIEFzc2lnbm1lbnRzIHRvIDxDT0RFPkZVTkNOQU1FPC9DT0RFPiBoYXZlIG5vIGVmZmVjdCBhbmQgcmV0dXJuIGFuIGVycm9yIHN0YXR1cy4KIElmIDxDT0RFPkZVTkNOQU1FPC9DT0RFPiBpcyB1bnNldCwgaXQgbG9zZXMgaXRzIHNwZWNpYWwgcHJvcGVydGllcywgZXZlbiBpZgogaXQgaXMgc3Vic2VxdWVudGx5IHJlc2V0LgogPFA+CiAKLTxBIE5BTUU9IklEWDE5NiI+PC9BPgorVGhpcyB2YXJpYWJsZSBjYW4gYmUgdXNlZCB3aXRoIDxDT0RFPkJBU0hfTElORU5PPC9DT0RFPiBhbmQgPENPREU+QkFTSF9TT1VSQ0U8L0NPREU+LgorRWFjaCBlbGVtZW50IG9mIDxDT0RFPkZVTkNOQU1FPC9DT0RFPiBoYXMgY29ycmVzcG9uZGluZyBlbGVtZW50cyBpbgorPENPREU+QkFTSF9MSU5FTk88L0NPREU+IGFuZCA8Q09ERT5CQVNIX1NPVVJDRTwvQ09ERT4gdG8gZGVzY3JpYmUgdGhlIGNhbGwgc3RhY2suCitGb3IgaW5zdGFuY2UsIDxDT0RFPiR7RlVOQ05BTUVbJGldfTwvQ09ERT4gd2FzIGNhbGxlZCBmcm9tIHRoZSBmaWxlCis8Q09ERT4ke0JBU0hfU09VUkNFWyRpKzFdfTwvQ09ERT4gYXQgbGluZSBudW1iZXIgPENPREU+JHtCQVNIX0xJTkVOT1skaV19PC9DT0RFPi4KK1RoZSA8Q09ERT5jYWxsZXI8L0NPREU+IGJ1aWx0aW4gZGlzcGxheXMgdGhlIGN1cnJlbnQgY2FsbCBzdGFjayB1c2luZyB0aGlzCitpbmZvcm1hdGlvbi4KKzwvUD48UD4KKworPEEgTkFNRT0iSURYMjAwIj48L0E+Cis8RFQ+PENPREU+RlVOQ05FU1Q8L0NPREU+Cis8REQ+PEEgTkFNRT0iSURYMjAxIj48L0E+CitJZiBzZXQgdG8gYSBudW1lcmljIHZhbHVlIGdyZWF0ZXIgdGhhbiAwLCBkZWZpbmVzIGEgbWF4aW11bSBmdW5jdGlvbgorbmVzdGluZyBsZXZlbC4gIEZ1bmN0aW9uIGludm9jYXRpb25zIHRoYXQgZXhjZWVkIHRoaXMgbmVzdGluZyBsZXZlbAord2lsbCBjYXVzZSB0aGUgY3VycmVudCBjb21tYW5kIHRvIGFib3J0LgorPFA+CisKKzxBIE5BTUU9IklEWDIwMiI+PC9BPgogPERUPjxDT0RFPkdMT0JJR05PUkU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMTk3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjAzIj48L0E+CiBBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIGRlZmluaW5nIHRoZSBzZXQgb2YgZmlsZW5hbWVzIHRvCiBiZSBpZ25vcmVkIGJ5IGZpbGVuYW1lIGV4cGFuc2lvbi4KIElmIGEgZmlsZW5hbWUgbWF0Y2hlZCBieSBhIGZpbGVuYW1lIGV4cGFuc2lvbiBwYXR0ZXJuIGFsc28gbWF0Y2hlcyBvbmUKQEAgLTY0MTMsOSArNjYzNCw5IEBACiBvZiBtYXRjaGVzLgogPFA+CiAKLTxBIE5BTUU9IklEWDE5OCI+PC9BPgorPEEgTkFNRT0iSURYMjA0Ij48L0E+CiA8RFQ+PENPREU+R1JPVVBTPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDE5OSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIwNSI+PC9BPgogQW4gYXJyYXkgdmFyaWFibGUgY29udGFpbmluZyB0aGUgbGlzdCBvZiBncm91cHMgb2Ygd2hpY2ggdGhlIGN1cnJlbnQgICAgCiB1c2VyIGlzIGEgbWVtYmVyLgogQXNzaWdubWVudHMgdG8gPENPREU+R1JPVVBTPC9DT0RFPiBoYXZlIG5vIGVmZmVjdCBhbmQgcmV0dXJuIGFuIGVycm9yIHN0YXR1cy4KQEAgLTY0MjMsMTEgKzY2NDQsMTEgQEAKIHN1YnNlcXVlbnRseSByZXNldC4KIDxQPgogCi08QSBOQU1FPSJJRFgyMDAiPjwvQT4KKzxBIE5BTUU9IklEWDIwNiI+PC9BPgogPERUPjxDT0RFPmhpc3RjaGFyczwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMDEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMDciPjwvQT4KIFVwIHRvIHRocmVlIGNoYXJhY3RlcnMgd2hpY2ggY29udHJvbCBoaXN0b3J5IGV4cGFuc2lvbiwgcXVpY2sKLXN1YnN0aXR1dGlvbiwgYW5kIHRva2VuaXphdGlvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMiI+OS4zIEhpc3RvcnkgRXhwYW5zaW9uPC9BPikuCitzdWJzdGl0dXRpb24sIGFuZCB0b2tlbml6YXRpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjMiPjkuMyBIaXN0b3J5IEV4cGFuc2lvbjwvQT4pLgogVGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0aGUKIDxWQVI+aGlzdG9yeSBleHBhbnNpb248L1ZBUj4gY2hhcmFjdGVyLCB0aGF0IGlzLCB0aGUgY2hhcmFjdGVyIHdoaWNoIHNpZ25pZmllcyB0aGUKIHN0YXJ0IG9mIGEgaGlzdG9yeSBleHBhbnNpb24sIG5vcm1hbGx5IDxTQU1QPmAhJzwvU0FNUD4uICBUaGUgc2Vjb25kIGNoYXJhY3RlciBpcyB0aGUKQEAgLTY0NDAsMTcgKzY2NjEsMTcgQEAKIHBhcnNlciB0byB0cmVhdCB0aGUgcmVzdCBvZiB0aGUgbGluZSBhcyBhIGNvbW1lbnQuCiA8UD4KIAotPEEgTkFNRT0iSURYMjAyIj48L0E+Cis8QSBOQU1FPSJJRFgyMDgiPjwvQT4KIDxEVD48Q09ERT5ISVNUQ01EPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIwMyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIwOSI+PC9BPgogVGhlIGhpc3RvcnkgbnVtYmVyLCBvciBpbmRleCBpbiB0aGUgaGlzdG9yeSBsaXN0LCBvZiB0aGUgY3VycmVudAogY29tbWFuZC4gIElmIDxDT0RFPkhJU1RDTUQ8L0NPREU+IGlzIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLAogZXZlbiBpZiBpdCBpcyBzdWJzZXF1ZW50bHkgcmVzZXQuCiA8UD4KIAotPEEgTkFNRT0iSURYMjA0Ij48L0E+Cis8QSBOQU1FPSJJRFgyMTAiPjwvQT4KIDxEVD48Q09ERT5ISVNUQ09OVFJPTDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMDUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMTEiPjwvQT4KIEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgdmFsdWVzIGNvbnRyb2xsaW5nIGhvdyBjb21tYW5kcyBhcmUgc2F2ZWQgb24KIHRoZSBoaXN0b3J5IGxpc3QuCiBJZiB0aGUgbGlzdCBvZiB2YWx1ZXMgaW5jbHVkZXMgPFNBTVA+YGlnbm9yZXNwYWNlJzwvU0FNUD4sIGxpbmVzIHdoaWNoIGJlZ2luCkBAIC02NDcxLDE2ICs2NjkyLDE2IEBACiA8Q09ERT5ISVNUQ09OVFJPTDwvQ09ERT4uCiA8UD4KIAotPEEgTkFNRT0iSURYMjA2Ij48L0E+Cis8QSBOQU1FPSJJRFgyMTIiPjwvQT4KIDxEVD48Q09ERT5ISVNURklMRTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMDciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMTMiPjwvQT4KIFRoZSBuYW1lIG9mIHRoZSBmaWxlIHRvIHdoaWNoIHRoZSBjb21tYW5kIGhpc3RvcnkgaXMgc2F2ZWQuICBUaGUKIGRlZmF1bHQgdmFsdWUgaXMgPFRUPmB+Ly5iYXNoX2hpc3RvcnknPC9UVD4uCiA8UD4KIAotPEEgTkFNRT0iSURYMjA4Ij48L0E+Cis8QSBOQU1FPSJJRFgyMTQiPjwvQT4KIDxEVD48Q09ERT5ISVNURklMRVNJWkU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjA5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjE1Ij48L0E+CiBUaGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgY29udGFpbmVkIGluIHRoZSBoaXN0b3J5IGZpbGUuICBXaGVuIHRoaXMKIHZhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdmFsdWUsIHRoZSBoaXN0b3J5IGZpbGUgaXMgdHJ1bmNhdGVkLCBpZgogbmVjZXNzYXJ5LCBieSByZW1vdmluZyB0aGUgb2xkZXN0IGVudHJpZXMsCkBAIC02NDkwLDkgKzY3MTEsOSBAQAogVGhlIGRlZmF1bHQgdmFsdWUgaXMgNTAwLgogPFA+CiAKLTxBIE5BTUU9IklEWDIxMCI+PC9BPgorPEEgTkFNRT0iSURYMjE2Ij48L0E+CiA8RFQ+PENPREU+SElTVElHTk9SRTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMTEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMTciPjwvQT4KIEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgdXNlZCB0byBkZWNpZGUgd2hpY2ggY29tbWFuZAogbGluZXMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuICBFYWNoIHBhdHRlcm4gaXMKIGFuY2hvcmVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpbmUgYW5kIG11c3QgbWF0Y2ggdGhlIGNvbXBsZXRlCkBAIC02NTE0LDE2ICs2NzM1LDE2IEBACiBwcm92aWRlcyB0aGUgZnVuY3Rpb25hbGl0eSBvZiA8Q09ERT5pZ25vcmVib3RoPC9DT0RFPi4gCiA8L1A+PFA+CiAKLTxBIE5BTUU9IklEWDIxMiI+PC9BPgorPEEgTkFNRT0iSURYMjE4Ij48L0E+CiA8RFQ+PENPREU+SElTVFNJWkU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjEzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjE5Ij48L0E+CiBUaGUgbWF4aW11bSBudW1iZXIgb2YgY29tbWFuZHMgdG8gcmVtZW1iZXIgb24gdGhlIGhpc3RvcnkgbGlzdC4KIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDUwMC4KIDxQPgogCi08QSBOQU1FPSJJRFgyMTQiPjwvQT4KKzxBIE5BTUU9IklEWDIyMCI+PC9BPgogPERUPjxDT0RFPkhJU1RUSU1FRk9STUFUPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIxNSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIyMSI+PC9BPgogSWYgdGhpcyB2YXJpYWJsZSBpcyBzZXQgYW5kIG5vdCBudWxsLCBpdHMgdmFsdWUgaXMgdXNlZCBhcyBhIGZvcm1hdCBzdHJpbmcKIGZvciA8VkFSPnN0cmZ0aW1lPC9WQVI+IHRvIHByaW50IHRoZSB0aW1lIHN0YW1wIGFzc29jaWF0ZWQgd2l0aCBlYWNoIGhpc3RvcnkKIGVudHJ5IGRpc3BsYXllZCBieSB0aGUgPENPREU+aGlzdG9yeTwvQ09ERT4gYnVpbHRpbi4KQEAgLTY1MzMsOSArNjc1NCw5IEBACiBvdGhlciBoaXN0b3J5IGxpbmVzLgogPFA+CiAKLTxBIE5BTUU9IklEWDIxNiI+PC9BPgorPEEgTkFNRT0iSURYMjIyIj48L0E+CiA8RFQ+PENPREU+SE9TVEZJTEU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjE3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjIzIj48L0E+CiBDb250YWlucyB0aGUgbmFtZSBvZiBhIGZpbGUgaW4gdGhlIHNhbWUgZm9ybWF0IGFzIDxUVD5gL2V0Yy9ob3N0cyc8L1RUPiB0aGF0CiBzaG91bGQgYmUgcmVhZCB3aGVuIHRoZSBzaGVsbCBuZWVkcyB0byBjb21wbGV0ZSBhIGhvc3RuYW1lLgogVGhlIGxpc3Qgb2YgcG9zc2libGUgaG9zdG5hbWUgY29tcGxldGlvbnMgbWF5IGJlIGNoYW5nZWQgd2hpbGUgdGhlIHNoZWxsCkBAIC02NTQ5LDIxICs2NzcwLDIxIEBACiBXaGVuIDxDT0RFPkhPU1RGSUxFPC9DT0RFPiBpcyB1bnNldCwgdGhlIGhvc3RuYW1lIGxpc3QgaXMgY2xlYXJlZC4KIDxQPgogCi08QSBOQU1FPSJJRFgyMTgiPjwvQT4KKzxBIE5BTUU9IklEWDIyNCI+PC9BPgogPERUPjxDT0RFPkhPU1ROQU1FPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIxOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIyNSI+PC9BPgogVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgaG9zdC4KIDxQPgogCi08QSBOQU1FPSJJRFgyMjAiPjwvQT4KKzxBIE5BTUU9IklEWDIyNiI+PC9BPgogPERUPjxDT0RFPkhPU1RUWVBFPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIyMSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIyNyI+PC9BPgogQSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgbWFjaGluZSBCYXNoIGlzIHJ1bm5pbmcgb24uCiA8UD4KIAotPEEgTkFNRT0iSURYMjIyIj48L0E+Cis8QSBOQU1FPSJJRFgyMjgiPjwvQT4KIDxEVD48Q09ERT5JR05PUkVFT0Y8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjIzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjI5Ij48L0E+CiBDb250cm9scyB0aGUgYWN0aW9uIG9mIHRoZSBzaGVsbCBvbiByZWNlaXB0IG9mIGFuIDxDT0RFPkVPRjwvQ09ERT4gY2hhcmFjdGVyCiBhcyB0aGUgc29sZSBpbnB1dC4gIElmIHNldCwgdGhlIHZhbHVlIGRlbm90ZXMgdGhlIG51bWJlcgogb2YgY29uc2VjdXRpdmUgPENPREU+RU9GPC9DT0RFPiBjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIHJlYWQgYXMgdGhlCkBAIC02NTc0LDgyICs2Nzk1LDgyIEBACiBpbnB1dCB0byB0aGUgc2hlbGwuICBUaGlzIGlzIG9ubHkgaW4gZWZmZWN0IGZvciBpbnRlcmFjdGl2ZSBzaGVsbHMuCiA8UD4KIAotPEEgTkFNRT0iSURYMjI0Ij48L0E+Cis8QSBOQU1FPSJJRFgyMzAiPjwvQT4KIDxEVD48Q09ERT5JTlBVVFJDPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIyNSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIzMSI+PC9BPgogVGhlIG5hbWUgb2YgdGhlIFJlYWRsaW5lIGluaXRpYWxpemF0aW9uIGZpbGUsIG92ZXJyaWRpbmcgdGhlIGRlZmF1bHQKIG9mIDxUVD5gfi8uaW5wdXRyYyc8L1RUPi4KIDxQPgogCi08QSBOQU1FPSJJRFgyMjYiPjwvQT4KKzxBIE5BTUU9IklEWDIzMiI+PC9BPgogPERUPjxDT0RFPkxBTkc8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjI3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjMzIj48L0E+CiBVc2VkIHRvIGRldGVybWluZSB0aGUgbG9jYWxlIGNhdGVnb3J5IGZvciBhbnkgY2F0ZWdvcnkgbm90IHNwZWNpZmljYWxseQogc2VsZWN0ZWQgd2l0aCBhIHZhcmlhYmxlIHN0YXJ0aW5nIHdpdGggPENPREU+TENfPC9DT0RFPi4KIDxQPgogCi08QSBOQU1FPSJJRFgyMjgiPjwvQT4KKzxBIE5BTUU9IklEWDIzNCI+PC9BPgogPERUPjxDT0RFPkxDX0FMTDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMjkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMzUiPjwvQT4KIFRoaXMgdmFyaWFibGUgb3ZlcnJpZGVzIHRoZSB2YWx1ZSBvZiA8Q09ERT5MQU5HPC9DT0RFPiBhbmQgYW55IG90aGVyCiA8Q09ERT5MQ188L0NPREU+IHZhcmlhYmxlIHNwZWNpZnlpbmcgYSBsb2NhbGUgY2F0ZWdvcnkuCiA8UD4KIAotPEEgTkFNRT0iSURYMjMwIj48L0E+Cis8QSBOQU1FPSJJRFgyMzYiPjwvQT4KIDxEVD48Q09ERT5MQ19DT0xMQVRFPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIzMSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDIzNyI+PC9BPgogVGhpcyB2YXJpYWJsZSBkZXRlcm1pbmVzIHRoZSBjb2xsYXRpb24gb3JkZXIgdXNlZCB3aGVuIHNvcnRpbmcgdGhlCiByZXN1bHRzIG9mIGZpbGVuYW1lIGV4cGFuc2lvbiwgYW5kCiBkZXRlcm1pbmVzIHRoZSBiZWhhdmlvciBvZiByYW5nZSBleHByZXNzaW9ucywgZXF1aXZhbGVuY2UgY2xhc3NlcywKIGFuZCBjb2xsYXRpbmcgc2VxdWVuY2VzIHdpdGhpbiBmaWxlbmFtZSBleHBhbnNpb24gYW5kIHBhdHRlcm4gbWF0Y2hpbmcKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzYiPjMuNS44IEZpbGVuYW1lIEV4cGFuc2lvbjwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+My41LjggRmlsZW5hbWUgRXhwYW5zaW9uPC9BPikuCiA8UD4KIAotPEEgTkFNRT0iSURYMjMyIj48L0E+Cis8QSBOQU1FPSJJRFgyMzgiPjwvQT4KIDxEVD48Q09ERT5MQ19DVFlQRTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMzMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyMzkiPjwvQT4KIFRoaXMgdmFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgaW50ZXJwcmV0YXRpb24gb2YgY2hhcmFjdGVycyBhbmQgdGhlCiBiZWhhdmlvciBvZiBjaGFyYWN0ZXIgY2xhc3NlcyB3aXRoaW4gZmlsZW5hbWUgZXhwYW5zaW9uIGFuZCBwYXR0ZXJuCi1tYXRjaGluZyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM2Ij4zLjUuOCBGaWxlbmFtZSBFeHBhbnNpb248L0E+KS4KK21hdGNoaW5nIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPjMuNS44IEZpbGVuYW1lIEV4cGFuc2lvbjwvQT4pLgogPFA+CiAKLTxBIE5BTUU9IklEWDIzNCI+PC9BPgorPEEgTkFNRT0iSURYMjQwIj48L0E+CiA8RFQ+PENPREU+TENfTUVTU0FHRVM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjM1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjQxIj48L0E+CiBUaGlzIHZhcmlhYmxlIGRldGVybWluZXMgdGhlIGxvY2FsZSB1c2VkIHRvIHRyYW5zbGF0ZSBkb3VibGUtcXVvdGVkCiBzdHJpbmdzIHByZWNlZGVkIGJ5IGEgPFNBTVA+YCQnPC9TQU1QPiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzIj4zLjEuMi41IExvY2FsZS1TcGVjaWZpYyBUcmFuc2xhdGlvbjwvQT4pLgogPFA+CiAKLTxBIE5BTUU9IklEWDIzNiI+PC9BPgorPEEgTkFNRT0iSURYMjQyIj48L0E+CiA8RFQ+PENPREU+TENfTlVNRVJJQzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyMzciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNDMiPjwvQT4KIFRoaXMgdmFyaWFibGUgZGV0ZXJtaW5lcyB0aGUgbG9jYWxlIGNhdGVnb3J5IHVzZWQgZm9yIG51bWJlciBmb3JtYXR0aW5nLgogPFA+CiAKLTxBIE5BTUU9IklEWDIzOCI+PC9BPgorPEEgTkFNRT0iSURYMjQ0Ij48L0E+CiA8RFQ+PENPREU+TElORU5PPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDIzOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI0NSI+PC9BPgogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBzY3JpcHQgb3Igc2hlbGwgZnVuY3Rpb24gY3VycmVudGx5IGV4ZWN1dGluZy4KIDxQPgogCi08QSBOQU1FPSJJRFgyNDAiPjwvQT4KKzxBIE5BTUU9IklEWDI0NiI+PC9BPgogPERUPjxDT0RFPkxJTkVTPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI0MSI+PC9BPgotVXNlZCBieSB0aGUgPENPREU+c2VsZWN0PC9DT0RFPiBidWlsdGluIGNvbW1hbmQgdG8gZGV0ZXJtaW5lIHRoZSBjb2x1bW4gbGVuZ3RoCis8REQ+PEEgTkFNRT0iSURYMjQ3Ij48L0E+CitVc2VkIGJ5IHRoZSA8Q09ERT5zZWxlY3Q8L0NPREU+IGNvbW1hbmQgdG8gZGV0ZXJtaW5lIHRoZSBjb2x1bW4gbGVuZ3RoCiBmb3IgcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLiAgQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEKIDxDT0RFPlNJR1dJTkNIPC9DT0RFPi4KIDxQPgogCi08QSBOQU1FPSJJRFgyNDIiPjwvQT4KKzxBIE5BTUU9IklEWDI0OCI+PC9BPgogPERUPjxDT0RFPk1BQ0hUWVBFPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI0MyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI0OSI+PC9BPgogQSBzdHJpbmcgdGhhdCBmdWxseSBkZXNjcmliZXMgdGhlIHN5c3RlbSB0eXBlIG9uIHdoaWNoIEJhc2gKIGlzIGV4ZWN1dGluZywgaW4gdGhlIHN0YW5kYXJkIEdOVSA8VkFSPmNwdS1jb21wYW55LXN5c3RlbTwvVkFSPiBmb3JtYXQuCiA8UD4KIAotPEEgTkFNRT0iSURYMjQ0Ij48L0E+Cis8QSBOQU1FPSJJRFgyNTAiPjwvQT4KIDxEVD48Q09ERT5NQUlMQ0hFQ0s8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjQ1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjUxIj48L0E+CiBIb3cgb2Z0ZW4gKGluIHNlY29uZHMpIHRoYXQgdGhlIHNoZWxsIHNob3VsZCBjaGVjayBmb3IgbWFpbCBpbiB0aGUKIGZpbGVzIHNwZWNpZmllZCBpbiB0aGUgPENPREU+TUFJTFBBVEg8L0NPREU+IG9yIDxDT0RFPk1BSUw8L0NPREU+IHZhcmlhYmxlcy4KIFRoZSBkZWZhdWx0IGlzIDYwIHNlY29uZHMuICBXaGVuIGl0IGlzIHRpbWUgdG8gY2hlY2sKQEAgLTY2NTgsMzkgKzY4NzksNDYgQEAKIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB6ZXJvLCB0aGUgc2hlbGwgZGlzYWJsZXMgbWFpbCBjaGVja2luZy4KIDxQPgogCi08QSBOQU1FPSJJRFgyNDYiPjwvQT4KKzxBIE5BTUU9IklEWDI1MiI+PC9BPgorPERUPjxDT0RFPk1BUEZJTEU8L0NPREU+Cis8REQ+PEEgTkFNRT0iSURYMjUzIj48L0E+CitBbiBhcnJheSB2YXJpYWJsZSBjcmVhdGVkIHRvIGhvbGQgdGhlIHRleHQgcmVhZCBieSB0aGUKKzxDT0RFPm1hcGZpbGU8L0NPREU+IGJ1aWx0aW4gd2hlbiBubyB2YXJpYWJsZSBuYW1lIGlzIHN1cHBsaWVkLgorPFA+CisKKzxBIE5BTUU9IklEWDI1NCI+PC9BPgogPERUPjxDT0RFPk9MRFBXRDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNDciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNTUiPjwvQT4KIFRoZSBwcmV2aW91cyB3b3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkgdGhlIDxDT0RFPmNkPC9DT0RFPiBidWlsdGluLgogPFA+CiAKLTxBIE5BTUU9IklEWDI0OCI+PC9BPgorPEEgTkFNRT0iSURYMjU2Ij48L0E+CiA8RFQ+PENPREU+T1BURVJSPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI0OSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI1NyI+PC9BPgogSWYgc2V0IHRvIHRoZSB2YWx1ZSAxLCBCYXNoIGRpc3BsYXlzIGVycm9yIG1lc3NhZ2VzCiBnZW5lcmF0ZWQgYnkgdGhlIDxDT0RFPmdldG9wdHM8L0NPREU+IGJ1aWx0aW4gY29tbWFuZC4KIDxQPgogCi08QSBOQU1FPSJJRFgyNTAiPjwvQT4KKzxBIE5BTUU9IklEWDI1OCI+PC9BPgogPERUPjxDT0RFPk9TVFlQRTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNTEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNTkiPjwvQT4KIEEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIG9wZXJhdGluZyBzeXN0ZW0gQmFzaCBpcyBydW5uaW5nIG9uLgogPFA+CiAKLTxBIE5BTUU9IklEWDI1MiI+PC9BPgorPEEgTkFNRT0iSURYMjYwIj48L0E+CiA8RFQ+PENPREU+UElQRVNUQVRVUzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNTMiPjwvQT4KLUFuIGFycmF5IHZhcmlhYmxlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPjYuNyBBcnJheXM8L0E+KQorPEREPjxBIE5BTUU9IklEWDI2MSI+PC9BPgorQW4gYXJyYXkgdmFyaWFibGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NiI+Ni43IEFycmF5czwvQT4pCiBjb250YWluaW5nIGEgbGlzdCBvZiBleGl0IHN0YXR1cyB2YWx1ZXMgZnJvbSB0aGUgcHJvY2Vzc2VzCiBpbiB0aGUgbW9zdC1yZWNlbnRseS1leGVjdXRlZCBmb3JlZ3JvdW5kIHBpcGVsaW5lICh3aGljaCBtYXkKIGNvbnRhaW4gb25seSBhIHNpbmdsZSBjb21tYW5kKS4KIDxQPgogCi08QSBOQU1FPSJJRFgyNTQiPjwvQT4KKzxBIE5BTUU9IklEWDI2MiI+PC9BPgogPERUPjxDT0RFPlBPU0lYTFlfQ09SUkVDVDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNTUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNjMiPjwvQT4KIElmIHRoaXMgdmFyaWFibGUgaXMgaW4gdGhlIGVudmlyb25tZW50IHdoZW4gPENPREU+YmFzaDwvQ09ERT4gc3RhcnRzLCB0aGUgc2hlbGwKLWVudGVycyBQT1NJWCBtb2RlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTAiPjYuMTEgQmFzaCBQT1NJWCBNb2RlPC9BPikgYmVmb3JlIHJlYWRpbmcgdGhlCitlbnRlcnMgUE9TSVggbW9kZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj42LjExIEJhc2ggUE9TSVggTW9kZTwvQT4pIGJlZm9yZSByZWFkaW5nIHRoZQogc3RhcnR1cCBmaWxlcywgYXMgaWYgdGhlIDxTQU1QPmAtLXBvc2l4JzwvU0FNUD4gaW52b2NhdGlvbiBvcHRpb24gaGFkIGJlZW4gc3VwcGxpZWQuCiBJZiBpdCBpcyBzZXQgd2hpbGUgdGhlIHNoZWxsIGlzIHJ1bm5pbmcsIDxDT0RFPmJhc2g8L0NPREU+IGVuYWJsZXMgUE9TSVggbW9kZSwKIGFzIGlmIHRoZSBjb21tYW5kCkBAIC02Njk4LDcwICs2OTI2LDg0IEBACiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5oYWQgYmVlbiBleGVjdXRlZC4gIAogPFA+CiAKLTxBIE5BTUU9IklEWDI1NiI+PC9BPgorPEEgTkFNRT0iSURYMjY0Ij48L0E+CiA8RFQ+PENPREU+UFBJRDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNTciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNjUiPjwvQT4KIFRoZSBwcm9jZXNzIElEIG9mIHRoZSBzaGVsbCdzIHBhcmVudCBwcm9jZXNzLiAgVGhpcyB2YXJpYWJsZQogaXMgcmVhZG9ubHkuCiA8UD4KIAotPEEgTkFNRT0iSURYMjU4Ij48L0E+Cis8QSBOQU1FPSJJRFgyNjYiPjwvQT4KIDxEVD48Q09ERT5QUk9NUFRfQ09NTUFORDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNTkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNjciPjwvQT4KIElmIHNldCwgdGhlIHZhbHVlIGlzIGludGVycHJldGVkIGFzIGEgY29tbWFuZCB0byBleGVjdXRlCiBiZWZvcmUgdGhlIHByaW50aW5nIG9mIGVhY2ggcHJpbWFyeSBwcm9tcHQgKDxDT0RFPiRQUzE8L0NPREU+KS4KIDxQPgogCi08QSBOQU1FPSJJRFgyNjAiPjwvQT4KKzxBIE5BTUU9IklEWDI2OCI+PC9BPgogPERUPjxDT0RFPlBST01QVF9ESVJUUklNPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI2MSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI2OSI+PC9BPgogSWYgc2V0IHRvIGEgbnVtYmVyIGdyZWF0ZXIgdGhhbiB6ZXJvLCB0aGUgdmFsdWUgaXMgdXNlZCBhcyB0aGUgbnVtYmVyIG9mCiB0cmFpbGluZyBkaXJlY3RvcnkgY29tcG9uZW50cyB0byByZXRhaW4gd2hlbiBleHBhbmRpbmcgdGhlIDxDT0RFPlx3PC9DT0RFPiBhbmQKLTxDT0RFPlxXPC9DT0RFPiBwcm9tcHQgc3RyaW5nIGVzY2FwZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OCI+Ni45IENvbnRyb2xsaW5nIHRoZSBQcm9tcHQ8L0E+KS4KKzxDT0RFPlxXPC9DT0RFPiBwcm9tcHQgc3RyaW5nIGVzY2FwZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OSI+Ni45IENvbnRyb2xsaW5nIHRoZSBQcm9tcHQ8L0E+KS4KIENoYXJhY3RlcnMgcmVtb3ZlZCBhcmUgcmVwbGFjZWQgd2l0aCBhbiBlbGxpcHNpcy4KIDxQPgogCi08QSBOQU1FPSJJRFgyNjIiPjwvQT4KKzxBIE5BTUU9IklEWDI3MCI+PC9BPgogPERUPjxDT0RFPlBTMzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNjMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNzEiPjwvQT4KIFRoZSB2YWx1ZSBvZiB0aGlzIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIHByb21wdCBmb3IgdGhlCiA8Q09ERT5zZWxlY3Q8L0NPREU+IGNvbW1hbmQuICBJZiB0aGlzIHZhcmlhYmxlIGlzIG5vdCBzZXQsIHRoZQogPENPREU+c2VsZWN0PC9DT0RFPiBjb21tYW5kIHByb21wdHMgd2l0aCA8U0FNUD5gIz8gJzwvU0FNUD4KIDxQPgogCi08QSBOQU1FPSJJRFgyNjQiPjwvQT4KKzxBIE5BTUU9IklEWDI3MiI+PC9BPgogPERUPjxDT0RFPlBTNDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNjUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNzMiPjwvQT4KIFRoZSB2YWx1ZSBpcyB0aGUgcHJvbXB0IHByaW50ZWQgYmVmb3JlIHRoZSBjb21tYW5kIGxpbmUgaXMgZWNob2VkCi13aGVuIHRoZSA8U0FNUD5gLXgnPC9TQU1QPiBvcHRpb24gaXMgc2V0IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4pLgord2hlbiB0aGUgPFNBTVA+YC14JzwvU0FNUD4gb3B0aW9uIGlzIHNldCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KS4KIFRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgPENPREU+UFM0PC9DT0RFPiBpcyByZXBsaWNhdGVkIG11bHRpcGxlIHRpbWVzLCBhcwogbmVjZXNzYXJ5LCB0byBpbmRpY2F0ZSBtdWx0aXBsZSBsZXZlbHMgb2YgaW5kaXJlY3Rpb24uCiBUaGUgZGVmYXVsdCBpcyA8U0FNUD5gKyAnPC9TQU1QPi4KIDxQPgogCi08QSBOQU1FPSJJRFgyNjYiPjwvQT4KKzxBIE5BTUU9IklEWDI3NCI+PC9BPgogPERUPjxDT0RFPlBXRDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNjciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyNzUiPjwvQT4KIFRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGFzIHNldCBieSB0aGUgPENPREU+Y2Q8L0NPREU+IGJ1aWx0aW4uCiA8UD4KIAotPEEgTkFNRT0iSURYMjY4Ij48L0E+Cis8QSBOQU1FPSJJRFgyNzYiPjwvQT4KIDxEVD48Q09ERT5SQU5ET008L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjY5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjc3Ij48L0E+CiBFYWNoIHRpbWUgdGhpcyBwYXJhbWV0ZXIgaXMgcmVmZXJlbmNlZCwgYSByYW5kb20gaW50ZWdlcgogYmV0d2VlbiAwIGFuZCAzMjc2NyBpcyBnZW5lcmF0ZWQuICBBc3NpZ25pbmcgYSB2YWx1ZSB0byB0aGlzCiB2YXJpYWJsZSBzZWVkcyB0aGUgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IuCiA8UD4KIAotPEEgTkFNRT0iSURYMjcwIj48L0E+Cis8QSBOQU1FPSJJRFgyNzgiPjwvQT4KKzxEVD48Q09ERT5SRUFETElORV9MSU5FPC9DT0RFPgorPEREPjxBIE5BTUU9IklEWDI3OSI+PC9BPgorVGhlIGNvbnRlbnRzIG9mIHRoZSBSZWFkbGluZSBsaW5lIGJ1ZmZlciwgZm9yIHVzZQord2l0aCA8U0FNUD5gYmluZCAteCc8L1NBTVA+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KKzxQPgorCis8QSBOQU1FPSJJRFgyODAiPjwvQT4KKzxEVD48Q09ERT5SRUFETElORV9QT0lOVDwvQ09ERT4KKzxERD48QSBOQU1FPSJJRFgyODEiPjwvQT4KK1RoZSBwb3NpdGlvbiBvZiB0aGUgaW5zZXJ0aW9uIHBvaW50IGluIHRoZSBSZWFkbGluZSBsaW5lIGJ1ZmZlciwgZm9yIHVzZQord2l0aCA8U0FNUD5gYmluZCAteCc8L1NBTVA+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KKzxQPgorCis8QSBOQU1FPSJJRFgyODIiPjwvQT4KIDxEVD48Q09ERT5SRVBMWTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNzEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyODMiPjwvQT4KIFRoZSBkZWZhdWx0IHZhcmlhYmxlIGZvciB0aGUgPENPREU+cmVhZDwvQ09ERT4gYnVpbHRpbi4KIDxQPgogCi08QSBOQU1FPSJJRFgyNzIiPjwvQT4KKzxBIE5BTUU9IklEWDI4NCI+PC9BPgogPERUPjxDT0RFPlNFQ09ORFM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjczIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjg1Ij48L0E+CiBUaGlzIHZhcmlhYmxlIGV4cGFuZHMgdG8gdGhlIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIHRoZQogc2hlbGwgd2FzIHN0YXJ0ZWQuICBBc3NpZ25tZW50IHRvIHRoaXMgdmFyaWFibGUgcmVzZXRzCiB0aGUgY291bnQgdG8gdGhlIHZhbHVlIGFzc2lnbmVkLCBhbmQgdGhlIGV4cGFuZGVkIHZhbHVlCkBAIC02NzY5LDIwICs3MDExLDIwIEBACiBzaW5jZSB0aGUgYXNzaWdubWVudC4KIDxQPgogCi08QSBOQU1FPSJJRFgyNzQiPjwvQT4KKzxBIE5BTUU9IklEWDI4NiI+PC9BPgogPERUPjxDT0RFPlNIRUxMPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI3NSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI4NyI+PC9BPgogVGhlIGZ1bGwgcGF0aG5hbWUgdG8gdGhlIHNoZWxsIGlzIGtlcHQgaW4gdGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KIElmIGl0IGlzIG5vdCBzZXQgd2hlbiB0aGUgc2hlbGwgc3RhcnRzLAogQmFzaCBhc3NpZ25zIHRvIGl0IHRoZSBmdWxsIHBhdGhuYW1lIG9mIHRoZSBjdXJyZW50IHVzZXIncyBsb2dpbiBzaGVsbC4KIDxQPgogCi08QSBOQU1FPSJJRFgyNzYiPjwvQT4KKzxBIE5BTUU9IklEWDI4OCI+PC9BPgogPERUPjxDT0RFPlNIRUxMT1BUUzwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyNzciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyODkiPjwvQT4KIEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZW5hYmxlZCBzaGVsbCBvcHRpb25zLiAgRWFjaCB3b3JkIGluCiB0aGUgbGlzdCBpcyBhIHZhbGlkIGFyZ3VtZW50IGZvciB0aGUgPFNBTVA+YC1vJzwvU0FNUD4gb3B0aW9uIHRvIHRoZQotPENPREU+c2V0PC9DT0RFPiBidWlsdGluIGNvbW1hbmQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCis8Q09ERT5zZXQ8L0NPREU+IGJ1aWx0aW4gY29tbWFuZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KS4KIFRoZSBvcHRpb25zIGFwcGVhcmluZyBpbiA8Q09ERT5TSEVMTE9QVFM8L0NPREU+IGFyZSB0aG9zZSByZXBvcnRlZAogYXMgPFNBTVA+YG9uJzwvU0FNUD4gYnkgPFNBTVA+YHNldCAtbyc8L1NBTVA+LgogSWYgdGhpcyB2YXJpYWJsZSBpcyBpbiB0aGUgZW52aXJvbm1lbnQgd2hlbiBCYXNoCkBAIC02NzkwLDE2ICs3MDMyLDE2IEBACiByZWFkaW5nIGFueSBzdGFydHVwIGZpbGVzLiAgVGhpcyB2YXJpYWJsZSBpcyByZWFkb25seS4KIDxQPgogCi08QSBOQU1FPSJJRFgyNzgiPjwvQT4KKzxBIE5BTUU9IklEWDI5MCI+PC9BPgogPERUPjxDT0RFPlNITFZMPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI3OSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI5MSI+PC9BPgogSW5jcmVtZW50ZWQgYnkgb25lIGVhY2ggdGltZSBhIG5ldyBpbnN0YW5jZSBvZiBCYXNoIGlzIHN0YXJ0ZWQuICBUaGlzIGlzCiBpbnRlbmRlZCB0byBiZSBhIGNvdW50IG9mIGhvdyBkZWVwbHkgeW91ciBCYXNoIHNoZWxscyBhcmUgbmVzdGVkLgogPFA+CiAKLTxBIE5BTUU9IklEWDI4MCI+PC9BPgorPEEgTkFNRT0iSURYMjkyIj48L0E+CiA8RFQ+PENPREU+VElNRUZPUk1BVDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgyODEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgyOTMiPjwvQT4KIFRoZSB2YWx1ZSBvZiB0aGlzIHBhcmFtZXRlciBpcyB1c2VkIGFzIGEgZm9ybWF0IHN0cmluZyBzcGVjaWZ5aW5nCiBob3cgdGhlIHRpbWluZyBpbmZvcm1hdGlvbiBmb3IgcGlwZWxpbmVzIHByZWZpeGVkIHdpdGggdGhlIDxDT0RFPnRpbWU8L0NPREU+CiByZXNlcnZlZCB3b3JkIHNob3VsZCBiZSBkaXNwbGF5ZWQuCkBAIC02ODUyLDExICs3MDk0LDExIEBACiBBIHRyYWlsaW5nIG5ld2xpbmUgaXMgYWRkZWQgd2hlbiB0aGUgZm9ybWF0IHN0cmluZyBpcyBkaXNwbGF5ZWQuCiA8L1A+PFA+CiAKLTxBIE5BTUU9IklEWDI4MiI+PC9BPgorPEEgTkFNRT0iSURYMjk0Ij48L0E+CiA8RFQ+PENPREU+VE1PVVQ8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjgzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjk1Ij48L0E+CiBJZiBzZXQgdG8gYSB2YWx1ZSBncmVhdGVyIHRoYW4gemVybywgPENPREU+VE1PVVQ8L0NPREU+IGlzIHRyZWF0ZWQgYXMgdGhlCi1kZWZhdWx0IHRpbWVvdXQgZm9yIHRoZSA8Q09ERT5yZWFkPC9DT0RFPiBidWlsdGluIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KK2RlZmF1bHQgdGltZW91dCBmb3IgdGhlIDxDT0RFPnJlYWQ8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4pLgogVGhlIDxDT0RFPnNlbGVjdDwvQ09ERT4gY29tbWFuZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzIxIj4zLjIuNC4yIENvbmRpdGlvbmFsIENvbnN0cnVjdHM8L0E+KSB0ZXJtaW5hdGVzCiBpZiBpbnB1dCBkb2VzIG5vdCBhcnJpdmUgYWZ0ZXIgPENPREU+VE1PVVQ8L0NPREU+IHNlY29uZHMgd2hlbiBpbnB1dCBpcyBjb21pbmcKIGZyb20gYSB0ZXJtaW5hbC4KQEAgLTY4NjksMTYgKzcxMTEsMTYgQEAKIG5vdCBhcnJpdmUuCiA8L1A+PFA+CiAKLTxBIE5BTUU9IklEWDI4NCI+PC9BPgorPEEgTkFNRT0iSURYMjk2Ij48L0E+CiA8RFQ+PENPREU+VE1QRElSPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI4NSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDI5NyI+PC9BPgogSWYgc2V0LCBCYXNoIHVzZXMgaXRzIHZhbHVlIGFzIHRoZSBuYW1lIG9mIGEgZGlyZWN0b3J5IGluIHdoaWNoCiBCYXNoIGNyZWF0ZXMgdGVtcG9yYXJ5IGZpbGVzIGZvciB0aGUgc2hlbGwncyB1c2UuCiA8UD4KIAotPEEgTkFNRT0iSURYMjg2Ij48L0E+Cis8QSBOQU1FPSJJRFgyOTgiPjwvQT4KIDxEVD48Q09ERT5VSUQ8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjg3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMjk5Ij48L0E+CiBUaGUgbnVtZXJpYyByZWFsIHVzZXIgaWQgb2YgdGhlIGN1cnJlbnQgdXNlci4gIFRoaXMgdmFyaWFibGUgaXMgcmVhZG9ubHkuCiA8UD4KIApAQCAtNjg4Nyw1OSArNzEyOSw1OSBAQAogCiA8QSBOQU1FPSJCYXNoIEZlYXR1cmVzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM2OCI+PC9BPgorPEEgTkFNRT0iU0VDNjkiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzAiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDE+IDYuIEJhc2ggRmVhdHVyZXMgPC9IMT4KLTwhLS1kb2NpZDo6U0VDNjg6Oi0tPgorPCEtLWRvY2lkOjpTRUM2OTo6LS0+CiA8UD4KIAogVGhpcyBzZWN0aW9uIGRlc2NyaWJlcyBmZWF0dXJlcyB1bmlxdWUgdG8gQmFzaC4KIDwvUD48UD4KIAogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+Ni4xIEludm9raW5nIEJhc2g8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Db21tYW5kIGxpbmUgb3B0aW9ucyB0aGF0IHlvdSBjYW4gZ2l2ZQorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MCI+Ni4xIEludm9raW5nIEJhc2g8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Db21tYW5kIGxpbmUgb3B0aW9ucyB0aGF0IHlvdSBjYW4gZ2l2ZQogCQkJCXRvIEJhc2guPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MCI+Ni4yIEJhc2ggU3RhcnR1cCBGaWxlczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPldoZW4gYW5kIGhvdyBCYXNoIGV4ZWN1dGVzIHNjcmlwdHMuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OCI+Ni4zIEludGVyYWN0aXZlIFNoZWxsczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPldoYXQgYW4gaW50ZXJhY3RpdmUgc2hlbGwgaXMuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+Ni40IEJhc2ggQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5QcmltaXRpdmVzIHVzZWQgaW4gY29tcG9zaW5nIGV4cHJlc3Npb25zIGZvcgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MSI+Ni4yIEJhc2ggU3RhcnR1cCBGaWxlczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPldoZW4gYW5kIGhvdyBCYXNoIGV4ZWN1dGVzIHNjcmlwdHMuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OSI+Ni4zIEludGVyYWN0aXZlIFNoZWxsczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPldoYXQgYW4gaW50ZXJhY3RpdmUgc2hlbGwgaXMuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+Ni40IEJhc2ggQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5QcmltaXRpdmVzIHVzZWQgaW4gY29tcG9zaW5nIGV4cHJlc3Npb25zIGZvcgogCQkJCXRoZSA8Q09ERT50ZXN0PC9DT0RFPiBidWlsdGluLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPjYuNSBTaGVsbCBBcml0aG1ldGljPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+QXJpdGhtZXRpYyBvbiBzaGVsbCB2YXJpYWJsZXMuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni42IEFsaWFzZXM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5TdWJzdGl0dXRpbmcgb25lIGNvbW1hbmQgZm9yIGFub3RoZXIuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NSI+Ni43IEFycmF5czwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkFycmF5IFZhcmlhYmxlcy48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg2Ij42LjggVGhlIERpcmVjdG9yeSBTdGFjazwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhpc3Rvcnkgb2YgdmlzaXRlZCBkaXJlY3Rvcmllcy48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg4Ij42LjkgQ29udHJvbGxpbmcgdGhlIFByb21wdDwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkNvbnRyb2xsaW5nIHRoZSBQUzEgc3RyaW5nLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODkiPjYuMTAgVGhlIFJlc3RyaWN0ZWQgU2hlbGw8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5BIG1vcmUgY29udHJvbGxlZCBtb2RlIG9mIHNoZWxsIGV4ZWN1dGlvbi48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj42LjExIEJhc2ggUE9TSVggTW9kZTwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPk1ha2luZyBCYXNoIGJlaGF2ZSBtb3JlIGNsb3NlbHkgdG8gd2hhdAorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni41IFNoZWxsIEFyaXRobWV0aWM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Bcml0aG1ldGljIG9uIHNoZWxsIHZhcmlhYmxlcy48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij42LjYgQWxpYXNlczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlN1YnN0aXR1dGluZyBvbmUgY29tbWFuZCBmb3IgYW5vdGhlci48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg2Ij42LjcgQXJyYXlzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+QXJyYXkgVmFyaWFibGVzLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPjYuOCBUaGUgRGlyZWN0b3J5IFN0YWNrPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SGlzdG9yeSBvZiB2aXNpdGVkIGRpcmVjdG9yaWVzLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODkiPjYuOSBDb250cm9sbGluZyB0aGUgUHJvbXB0PC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+Q29udHJvbGxpbmcgdGhlIFBTMSBzdHJpbmcuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MCI+Ni4xMCBUaGUgUmVzdHJpY3RlZCBTaGVsbDwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkEgbW9yZSBjb250cm9sbGVkIG1vZGUgb2Ygc2hlbGwgZXhlY3V0aW9uLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPjYuMTEgQmFzaCBQT1NJWCBNb2RlPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+TWFraW5nIEJhc2ggYmVoYXZlIG1vcmUgY2xvc2VseSB0byB3aGF0CiAJCQkJdGhlIFBPU0lYIHN0YW5kYXJkIHNwZWNpZmllcy48L1REPjwvVFI+CiA8L1RBQkxFPjwvQkxPQ0tRVU9URT4KIDxQPgogCiA8QSBOQU1FPSJJbnZva2luZyBCYXNoIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM2OSI+PC9BPgorPEEgTkFNRT0iU0VDNzAiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTIiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gNi4xIEludm9raW5nIEJhc2ggPC9IMj4KLTwhLS1kb2NpZDo6U0VDNjk6Oi0tPgorPCEtLWRvY2lkOjpTRUM3MDo6LS0+CiA8UD4KIAogPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPmJhc2ggW2xvbmctb3B0XSBbLWlyXSBbLWFiZWZoa21ucHR1dnhkQkNESFBdIFstbyA8VkFSPm9wdGlvbjwvVkFSPl0gWy1PIDxWQVI+c2hvcHRfb3B0aW9uPC9WQVI+XSBbPFZBUj5hcmd1bWVudDwvVkFSPiA8c21hbGw+Li4uPC9zbWFsbD5dCkBAIC02OTQ3LDggKzcxODksOSBAQAogYmFzaCBbbG9uZy1vcHRdIC1zIFstYWJlZmhrbW5wdHV2eGRCQ0RIUF0gWy1vIDxWQVI+b3B0aW9uPC9WQVI+XSBbLU8gPFZBUj5zaG9wdF9vcHRpb248L1ZBUj5dIFs8VkFSPmFyZ3VtZW50PC9WQVI+IDxzbWFsbD4uLi48L3NtYWxsPl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjwvUD48UD4KIAotSW4gYWRkaXRpb24gdG8gdGhlIHNpbmdsZS1jaGFyYWN0ZXIgc2hlbGwgY29tbWFuZC1saW5lIG9wdGlvbnMKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4pLCB0aGVyZSBhcmUgc2V2ZXJhbCBtdWx0aS1jaGFyYWN0ZXIKK0FsbCBvZiB0aGUgc2luZ2xlLWNoYXJhY3RlciBvcHRpb25zIHVzZWQgd2l0aCB0aGUgPENPREU+c2V0PC9DT0RFPiBidWlsdGluCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KSBjYW4gYmUgdXNlZCBhcyBvcHRpb25zIHdoZW4gdGhlIHNoZWxsIGlzIGludm9rZWQuCitJbiBhZGRpdGlvbiwgdGhlcmUgYXJlIHNldmVyYWwgbXVsdGktY2hhcmFjdGVyCiBvcHRpb25zIHRoYXQgeW91IGNhbiB1c2UuICBUaGVzZSBvcHRpb25zIG11c3QgYXBwZWFyIG9uIHRoZSBjb21tYW5kCiBsaW5lIGJlZm9yZSB0aGUgc2luZ2xlLWNoYXJhY3RlciBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWQuIAogPC9QPjxQPgpAQCAtNjk1NiwxMSArNzE5OSw5IEBACiA8REwgQ09NUEFDVD4KIDxEVD48Q09ERT4tLWRlYnVnZ2VyPC9DT0RFPgogPEREPkFycmFuZ2UgZm9yIHRoZSBkZWJ1Z2dlciBwcm9maWxlIHRvIGJlIGV4ZWN1dGVkIGJlZm9yZSB0aGUgc2hlbGwKLXN0YXJ0cy4gIFR1cm5zIG9uIGV4dGVuZGVkIGRlYnVnZ2luZyBtb2RlIChzZWUgPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMiBUaGUgU2hvcHQgQnVpbHRpbjwvQT4KK3N0YXJ0cy4gIFR1cm5zIG9uIGV4dGVuZGVkIGRlYnVnZ2luZyBtb2RlIChzZWUgPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij40LjMuMiBUaGUgU2hvcHQgQnVpbHRpbjwvQT4KIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSA8Q09ERT5leHRkZWJ1ZzwvQ09ERT4gb3B0aW9uIHRvIHRoZSA8Q09ERT5zaG9wdDwvQ09ERT4KLWJ1aWx0aW4pIGFuZCBzaGVsbCBmdW5jdGlvbiB0cmFjaW5nCi0oc2VlIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPiBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgPENPREU+LW8gZnVuY3RyYWNlPC9DT0RFPgotb3B0aW9uKS4KK2J1aWx0aW4pLgogPFA+CiAKIDxEVD48Q09ERT4tLWR1bXAtcG8tc3RyaW5nczwvQ09ERT4KQEAgLTY5ODksNyArNzIzMCw3IEBACiA8UD4KIAogPERUPjxDT0RFPi0tbm9lZGl0aW5nPC9DT0RFPgotPEREPkRvIG5vdCB1c2UgdGhlIEdOVSBSZWFkbGluZSBsaWJyYXJ5IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPjguIENvbW1hbmQgTGluZSBFZGl0aW5nPC9BPikKKzxERD5EbyBub3QgdXNlIHRoZSBHTlUgUmVhZGxpbmUgbGlicmFyeSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk2Ij44LiBDb21tYW5kIExpbmUgRWRpdGluZzwvQT4pCiB0byByZWFkICBjb21tYW5kIGxpbmVzIHdoZW4gdGhlIHNoZWxsIGlzIGludGVyYWN0aXZlLgogPFA+CiAKQEAgLTcwMTAsMTIgKzcyNTEsMTIgQEAKIDxERD5DaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIEJhc2ggd2hlcmUgdGhlIGRlZmF1bHQgb3BlcmF0aW9uIGRpZmZlcnMKIGZyb20gdGhlIFBPU0lYIHN0YW5kYXJkIHRvIG1hdGNoIHRoZSBzdGFuZGFyZC4gIFRoaXMKIGlzIGludGVuZGVkIHRvIG1ha2UgQmFzaCBiZWhhdmUgYXMgYSBzdHJpY3Qgc3VwZXJzZXQgb2YgdGhhdAotc3RhbmRhcmQuICBTZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTAiPjYuMTEgQmFzaCBQT1NJWCBNb2RlPC9BPiwgZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIEJhc2gKK3N0YW5kYXJkLiAgU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj42LjExIEJhc2ggUE9TSVggTW9kZTwvQT4sIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBCYXNoCiBQT1NJWCBtb2RlLgogPFA+CiAKIDxEVD48Q09ERT4tLXJlc3RyaWN0ZWQ8L0NPREU+Ci08REQ+TWFrZSB0aGUgc2hlbGwgYSByZXN0cmljdGVkIHNoZWxsIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODkiPjYuMTAgVGhlIFJlc3RyaWN0ZWQgU2hlbGw8L0E+KS4KKzxERD5NYWtlIHRoZSBzaGVsbCBhIHJlc3RyaWN0ZWQgc2hlbGwgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MCI+Ni4xMCBUaGUgUmVzdHJpY3RlZCBTaGVsbDwvQT4pLgogPFA+CiAKIDxEVD48Q09ERT4tLXZlcmJvc2U8L0NPREU+CkBAIC03MDQzLDcgKzcyODQsNyBAQAogCiA8RFQ+PENPREU+LWk8L0NPREU+CiA8REQ+Rm9yY2UgdGhlIHNoZWxsIHRvIHJ1biBpbnRlcmFjdGl2ZWx5LiAgSW50ZXJhY3RpdmUgc2hlbGxzIGFyZQotZGVzY3JpYmVkIGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OCI+Ni4zIEludGVyYWN0aXZlIFNoZWxsczwvQT4uCitkZXNjcmliZWQgaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzc5Ij42LjMgSW50ZXJhY3RpdmUgU2hlbGxzPC9BPi4KIDxQPgogCiA8RFQ+PENPREU+LWw8L0NPREU+CkBAIC03MDU0LDEyICs3Mjk1LDEyIEBACiBiZSBleGVjdXRlZC4KIDxTQU1QPmBleGVjIGJhc2ggLWwnPC9TQU1QPiBvciA8U0FNUD5gZXhlYyBiYXNoIC0tbG9naW4nPC9TQU1QPgogd2lsbCByZXBsYWNlIHRoZSBjdXJyZW50IHNoZWxsIHdpdGggYSBCYXNoIGxvZ2luIHNoZWxsLgotU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzcwIj42LjIgQmFzaCBTdGFydHVwIEZpbGVzPC9BPiwgZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIHNwZWNpYWwgYmVoYXZpb3IKK1NlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MSI+Ni4yIEJhc2ggU3RhcnR1cCBGaWxlczwvQT4sIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBzcGVjaWFsIGJlaGF2aW9yCiBvZiBhIGxvZ2luIHNoZWxsLgogPFA+CiAKIDxEVD48Q09ERT4tcjwvQ09ERT4KLTxERD5NYWtlIHRoZSBzaGVsbCBhIHJlc3RyaWN0ZWQgc2hlbGwgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OSI+Ni4xMCBUaGUgUmVzdHJpY3RlZCBTaGVsbDwvQT4pLgorPEREPk1ha2UgdGhlIHNoZWxsIGEgcmVzdHJpY3RlZCBzaGVsbCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj42LjEwIFRoZSBSZXN0cmljdGVkIFNoZWxsPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPi1zPC9DT0RFPgpAQCAtNzA4MCw3ICs3MzIxLDcgQEAKIAogPERUPjxDT0RFPlstK11PIFs8VkFSPnNob3B0X29wdGlvbjwvVkFSPl08L0NPREU+CiA8REQ+PFZBUj5zaG9wdF9vcHRpb248L1ZBUj4gaXMgb25lIG9mIHRoZSBzaGVsbCBvcHRpb25zIGFjY2VwdGVkIGJ5IHRoZQotPENPREU+c2hvcHQ8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+KS4KKzxDT0RFPnNob3B0PC9DT0RFPiBidWlsdGluIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPikuCiBJZiA8VkFSPnNob3B0X29wdGlvbjwvVkFSPiBpcyBwcmVzZW50LCA8U0FNUD5gLU8nPC9TQU1QPiBzZXRzIHRoZSB2YWx1ZSBvZiB0aGF0IG9wdGlvbjsKIDxTQU1QPmArTyc8L1NBTVA+IHVuc2V0cyBpdC4gIAogSWYgPFZBUj5zaG9wdF9vcHRpb248L1ZBUj4gaXMgbm90IHN1cHBsaWVkLCB0aGUgbmFtZXMgYW5kIHZhbHVlcyBvZiB0aGUgc2hlbGwKQEAgLTcwOTgsMjQgKzczMzksMjQgQEAKIDwvREw+CiA8UD4KIAotPEEgTkFNRT0iSURYMjg4Ij48L0E+Cis8QSBOQU1FPSJJRFgzMDAiPjwvQT4KIEEgPEVNPmxvZ2luPC9FTT4gc2hlbGwgaXMgb25lIHdob3NlIGZpcnN0IGNoYXJhY3RlciBvZiBhcmd1bWVudCB6ZXJvIGlzCiA8U0FNUD5gLSc8L1NBTVA+LCBvciBvbmUgaW52b2tlZCB3aXRoIHRoZSA8U0FNUD5gLS1sb2dpbic8L1NBTVA+IG9wdGlvbi4KIDwvUD48UD4KIAotPEEgTkFNRT0iSURYMjg5Ij48L0E+Cis8QSBOQU1FPSJJRFgzMDEiPjwvQT4KIEFuIDxFTT5pbnRlcmFjdGl2ZTwvRU0+IHNoZWxsIGlzIG9uZSBzdGFydGVkIHdpdGhvdXQgbm9uLW9wdGlvbiBhcmd1bWVudHMsCiB1bmxlc3MgPFNBTVA+YC1zJzwvU0FNUD4gaXMgc3BlY2lmaWVkLAogd2l0aG91dCBzcGVjaWZ5aW5nIHRoZSA8U0FNUD5gLWMnPC9TQU1QPiBvcHRpb24sIGFuZCB3aG9zZSBpbnB1dCBhbmQgb3V0cHV0IGFyZSBib3RoCiBjb25uZWN0ZWQgdG8gdGVybWluYWxzIChhcyBkZXRlcm1pbmVkIGJ5IDxDT0RFPmlzYXR0eSgzKTwvQ09ERT4pLCBvciBvbmUKLXN0YXJ0ZWQgd2l0aCB0aGUgPFNBTVA+YC1pJzwvU0FNUD4gb3B0aW9uLiAgU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzc4Ij42LjMgSW50ZXJhY3RpdmUgU2hlbGxzPC9BPiwgZm9yIG1vcmUKK3N0YXJ0ZWQgd2l0aCB0aGUgPFNBTVA+YC1pJzwvU0FNUD4gb3B0aW9uLiAgU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzc5Ij42LjMgSW50ZXJhY3RpdmUgU2hlbGxzPC9BPiwgZm9yIG1vcmUKIGluZm9ybWF0aW9uLgogPC9QPjxQPgogCiBJZiBhcmd1bWVudHMgcmVtYWluIGFmdGVyIG9wdGlvbiBwcm9jZXNzaW5nLCBhbmQgbmVpdGhlciB0aGUKIDxTQU1QPmAtYyc8L1NBTVA+IG5vciB0aGUgPFNBTVA+YC1zJzwvU0FNUD4KIG9wdGlvbiBoYXMgYmVlbiBzdXBwbGllZCwgdGhlIGZpcnN0IGFyZ3VtZW50IGlzIGFzc3VtZWQgdG8KLWJlIHRoZSBuYW1lIG9mIGEgZmlsZSBjb250YWluaW5nIHNoZWxsIGNvbW1hbmRzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTciPjMuOCBTaGVsbCBTY3JpcHRzPC9BPikuCitiZSB0aGUgbmFtZSBvZiBhIGZpbGUgY29udGFpbmluZyBzaGVsbCBjb21tYW5kcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4zLjggU2hlbGwgU2NyaXB0czwvQT4pLgogV2hlbiBCYXNoIGlzIGludm9rZWQgaW4gdGhpcyBmYXNoaW9uLCA8Q09ERT4kMDwvQ09ERT4KIGlzIHNldCB0byB0aGUgbmFtZSBvZiB0aGUgZmlsZSwgYW5kIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMKIGFyZSBzZXQgdG8gdGhlIHJlbWFpbmluZyBhcmd1bWVudHMuCkBAIC03MTI2LDM0ICs3MzY3LDM0IEBACiAKIDxBIE5BTUU9IkJhc2ggU3RhcnR1cCBGaWxlcyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDNzAiPjwvQT4KKzxBIE5BTUU9IlNFQzcxIj48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjkiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzgiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzAiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzkiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjkiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDYuMiBCYXNoIFN0YXJ0dXAgRmlsZXMgPC9IMj4KLTwhLS1kb2NpZDo6U0VDNzA6Oi0tPgorPCEtLWRvY2lkOjpTRUM3MTo6LS0+CiA8UD4KIAogVGhpcyBzZWN0aW9uIGRlc2NyaWJlcyBob3cgQmFzaCBleGVjdXRlcyBpdHMgc3RhcnR1cCBmaWxlcy4KIElmIGFueSBvZiB0aGUgZmlsZXMgZXhpc3QgYnV0IGNhbm5vdCBiZSByZWFkLCBCYXNoIHJlcG9ydHMgYW4gZXJyb3IuCiBUaWxkZXMgYXJlIGV4cGFuZGVkIGluIGZpbGUgbmFtZXMgYXMgZGVzY3JpYmVkIGFib3ZlIHVuZGVyCi1UaWxkZSBFeHBhbnNpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMCI+My41LjIgVGlsZGUgRXhwYW5zaW9uPC9BPikuCitUaWxkZSBFeHBhbnNpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+My41LjIgVGlsZGUgRXhwYW5zaW9uPC9BPikuCiA8L1A+PFA+CiAKLUludGVyYWN0aXZlIHNoZWxscyBhcmUgZGVzY3JpYmVkIGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OCI+Ni4zIEludGVyYWN0aXZlIFNoZWxsczwvQT4uCitJbnRlcmFjdGl2ZSBzaGVsbHMgYXJlIGRlc2NyaWJlZCBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzkiPjYuMyBJbnRlcmFjdGl2ZSBTaGVsbHM8L0E+LgogPC9QPjxQPgogCi08QSBOQU1FPSJTRUM3MSI+PC9BPgorPEEgTkFNRT0iU0VDNzIiPjwvQT4KIDxIND4gSW52b2tlZCBhcyBhbiBpbnRlcmFjdGl2ZSBsb2dpbiBzaGVsbCwgb3Igd2l0aCA8U0FNUD5gLS1sb2dpbic8L1NBTVA+IDwvSDQ+Ci08IS0tZG9jaWQ6OlNFQzcxOjotLT4KKzwhLS1kb2NpZDo6U0VDNzI6Oi0tPgogPFA+CiAKIFdoZW4gQmFzaCBpcyBpbnZva2VkIGFzIGFuIGludGVyYWN0aXZlIGxvZ2luIHNoZWxsLCBvciBhcyBhCkBAIC03MTcwLDkgKzc0MTEsOSBAQAogdGhlIGZpbGUgPFRUPmB+Ly5iYXNoX2xvZ291dCc8L1RUPiwgaWYgaXQgZXhpc3RzLgogPC9QPjxQPgogCi08QSBOQU1FPSJTRUM3MiI+PC9BPgorPEEgTkFNRT0iU0VDNzMiPjwvQT4KIDxIND4gSW52b2tlZCBhcyBhbiBpbnRlcmFjdGl2ZSBub24tbG9naW4gc2hlbGwgPC9IND4KLTwhLS1kb2NpZDo6U0VDNzI6Oi0tPgorPCEtLWRvY2lkOjpTRUM3Mzo6LS0+CiA8UD4KIAogV2hlbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbCB0aGF0IGlzIG5vdCBhIGxvZ2luIHNoZWxsIGlzIHN0YXJ0ZWQsIEJhc2gKQEAgLTcxODcsOSArNzQyOCw5IEBACiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5hZnRlciAob3IgYmVmb3JlKSBhbnkgbG9naW4tc3BlY2lmaWMgaW5pdGlhbGl6YXRpb25zLgogPC9QPjxQPgogCi08QSBOQU1FPSJTRUM3MyI+PC9BPgorPEEgTkFNRT0iU0VDNzQiPjwvQT4KIDxIND4gSW52b2tlZCBub24taW50ZXJhY3RpdmVseSA8L0g0PgotPCEtLWRvY2lkOjpTRUM3Mzo6LS0+Cis8IS0tZG9jaWQ6OlNFQzc0OjotLT4KIDxQPgogCiBXaGVuIEJhc2ggaXMgc3RhcnRlZCBub24taW50ZXJhY3RpdmVseSwgdG8gcnVuIGEgc2hlbGwgc2NyaXB0LApAQCAtNzIwNyw5ICs3NDQ4LDkgQEAKIGxvZ2luIHNoZWxsIHN0YXJ0dXAgZmlsZXMuIAogPC9QPjxQPgogCi08QSBOQU1FPSJTRUM3NCI+PC9BPgorPEEgTkFNRT0iU0VDNzUiPjwvQT4KIDxIND4gSW52b2tlZCB3aXRoIG5hbWUgPENPREU+c2g8L0NPREU+IDwvSDQ+Ci08IS0tZG9jaWQ6OlNFQzc0OjotLT4KKzwhLS1kb2NpZDo6U0VDNzU6Oi0tPgogPFA+CiAKIElmIEJhc2ggaXMgaW52b2tlZCB3aXRoIHRoZSBuYW1lIDxDT0RFPnNoPC9DT0RFPiwgaXQgdHJpZXMgdG8gbWltaWMgdGhlCkBAIC03MjM2LDkgKzc0NzcsOSBAQAogdGhlIHN0YXJ0dXAgZmlsZXMgYXJlIHJlYWQuCiA8L1A+PFA+CiAKLTxBIE5BTUU9IlNFQzc1Ij48L0E+Cis8QSBOQU1FPSJTRUM3NiI+PC9BPgogPEg0PiBJbnZva2VkIGluIFBPU0lYIG1vZGUgPC9IND4KLTwhLS1kb2NpZDo6U0VDNzU6Oi0tPgorPCEtLWRvY2lkOjpTRUM3Njo6LS0+CiA8UD4KIAogV2hlbiBCYXNoIGlzIHN0YXJ0ZWQgaW4gUE9TSVggbW9kZSwgYXMgd2l0aCB0aGUKQEAgLTcyNTAsMTMgKzc0OTEsMTMgQEAKIE5vIG90aGVyIHN0YXJ0dXAgZmlsZXMgYXJlIHJlYWQuCiA8L1A+PFA+CiAKLTxBIE5BTUU9IlNFQzc2Ij48L0E+Cis8QSBOQU1FPSJTRUM3NyI+PC9BPgogPEg0PiBJbnZva2VkIGJ5IHJlbW90ZSBzaGVsbCBkYWVtb24gPC9IND4KLTwhLS1kb2NpZDo6U0VDNzY6Oi0tPgorPCEtLWRvY2lkOjpTRUM3Nzo6LS0+CiA8UD4KIAogQmFzaCBhdHRlbXB0cyB0byBkZXRlcm1pbmUgd2hlbiBpdCBpcyBiZWluZyBydW4gd2l0aCBpdHMgc3RhbmRhcmQgaW5wdXQKLWNvbm5lY3RlZCB0byBhIGEgbmV0d29yayBjb25uZWN0aW9uLCBhcyBpZiBieSB0aGUgcmVtb3RlIHNoZWxsCitjb25uZWN0ZWQgdG8gYSBuZXR3b3JrIGNvbm5lY3Rpb24sIGFzIHdoZW4gZXhlY3V0ZWQgYnkgdGhlIHJlbW90ZSBzaGVsbAogZGFlbW9uLCB1c3VhbGx5IDxDT0RFPnJzaGQ8L0NPREU+LCBvciB0aGUgc2VjdXJlIHNoZWxsIGRhZW1vbiA8Q09ERT5zc2hkPC9DT0RFPi4KIElmIEJhc2ggZGV0ZXJtaW5lcyBpdCBpcyBiZWluZyBydW4gaW4KIHRoaXMgZmFzaGlvbiwgaXQgcmVhZHMgYW5kIGV4ZWN1dGVzIGNvbW1hbmRzIGZyb20gPFRUPmB+Ly5iYXNocmMnPC9UVD4sIGlmIHRoYXQKQEAgLTcyNjgsOSArNzUwOSw5IEBACiBhbGxvdyB0aGVtIHRvIGJlIHNwZWNpZmllZC4KIDwvUD48UD4KIAotPEEgTkFNRT0iU0VDNzciPjwvQT4KKzxBIE5BTUU9IlNFQzc4Ij48L0E+CiA8SDQ+IEludm9rZWQgd2l0aCB1bmVxdWFsIGVmZmVjdGl2ZSBhbmQgcmVhbCBVSUQvR0lEcyA8L0g0PgotPCEtLWRvY2lkOjpTRUM3Nzo6LS0+Cis8IS0tZG9jaWQ6OlNFQzc4OjotLT4KIDxQPgogCiBJZiBCYXNoIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgKGdyb3VwKSBpZCBub3QgZXF1YWwgdG8gdGhlCkBAIC03Mjg1LDQ1ICs3NTI2LDQ1IEBACiAKIDxBIE5BTUU9IkludGVyYWN0aXZlIFNoZWxscyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDNzgiPjwvQT4KKzxBIE5BTUU9IlNFQzc5Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzAiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzkiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgyIj4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzEiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODAiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjkiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDYuMyBJbnRlcmFjdGl2ZSBTaGVsbHMgPC9IMj4KLTwhLS1kb2NpZDo6U0VDNzg6Oi0tPgorPCEtLWRvY2lkOjpTRUM3OTo6LS0+CiA8UD4KIAogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OSI+Ni4zLjEgV2hhdCBpcyBhbiBJbnRlcmFjdGl2ZSBTaGVsbD88L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5XaGF0IGRldGVybWluZXMgd2hldGhlciBhIHNoZWxsIGlzIEludGVyYWN0aXZlLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODAiPjYuMy4yIElzIHRoaXMgU2hlbGwgSW50ZXJhY3RpdmU/PC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRvIHRlbGwgaWYgYSBzaGVsbCBpcyBpbnRlcmFjdGl2ZS48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgxIj42LjMuMyBJbnRlcmFjdGl2ZSBTaGVsbCBCZWhhdmlvcjwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPldoYXQgY2hhbmdlcyBpbiBhIGludGVyYWN0aXZlIHNoZWxsPzwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODAiPjYuMy4xIFdoYXQgaXMgYW4gSW50ZXJhY3RpdmUgU2hlbGw/PC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+V2hhdCBkZXRlcm1pbmVzIHdoZXRoZXIgYSBzaGVsbCBpcyBJbnRlcmFjdGl2ZS48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgxIj42LjMuMiBJcyB0aGlzIFNoZWxsIEludGVyYWN0aXZlPzwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0byB0ZWxsIGlmIGEgc2hlbGwgaXMgaW50ZXJhY3RpdmUuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+Ni4zLjMgSW50ZXJhY3RpdmUgU2hlbGwgQmVoYXZpb3I8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5XaGF0IGNoYW5nZXMgaW4gYSBpbnRlcmFjdGl2ZSBzaGVsbD88L1REPjwvVFI+CiA8L1RBQkxFPjwvQkxPQ0tRVU9URT4KIDxQPgogCiA8QSBOQU1FPSJXaGF0IGlzIGFuIEludGVyYWN0aXZlIFNoZWxsPyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDNzkiPjwvQT4KKzxBIE5BTUU9IlNFQzgwIj48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzgiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODAiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzgiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgyIj4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzkiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODEiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzkiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDYuMy4xIFdoYXQgaXMgYW4gSW50ZXJhY3RpdmUgU2hlbGw/IDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzc5OjotLT4KKzwhLS1kb2NpZDo6U0VDODA6Oi0tPgogPFA+CiAKIEFuIGludGVyYWN0aXZlIHNoZWxsCkBAIC03MzQ0LDIwICs3NTg1LDIwIEBACiAKIDxBIE5BTUU9IklzIHRoaXMgU2hlbGwgSW50ZXJhY3RpdmU/Ij48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM4MCI+PC9BPgorPEEgTkFNRT0iU0VDODEiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MSI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgxIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODIiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgyIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OSI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gNi4zLjIgSXMgdGhpcyBTaGVsbCBJbnRlcmFjdGl2ZT8gPC9IMz4KLTwhLS1kb2NpZDo6U0VDODA6Oi0tPgorPCEtLWRvY2lkOjpTRUM4MTo6LS0+CiA8UD4KIAogVG8gZGV0ZXJtaW5lIHdpdGhpbiBhIHN0YXJ0dXAgc2NyaXB0IHdoZXRoZXIgb3Igbm90IEJhc2ggaXMKQEAgLTczODYsMjAgKzc2MjcsMjAgQEAKIAogPEEgTkFNRT0iSW50ZXJhY3RpdmUgU2hlbGwgQmVoYXZpb3IiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzgxIj48L0E+Cis8QSBOQU1FPSJTRUM4MiI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgwIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgyIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODIiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzc4Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgxIj4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzc5Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiA2LjMuMyBJbnRlcmFjdGl2ZSBTaGVsbCBCZWhhdmlvciA8L0gzPgotPCEtLWRvY2lkOjpTRUM4MTo6LS0+Cis8IS0tZG9jaWQ6OlNFQzgyOjotLT4KIDxQPgogCiBXaGVuIHRoZSBzaGVsbCBpcyBydW5uaW5nIGludGVyYWN0aXZlbHksIGl0IGNoYW5nZXMgaXRzIGJlaGF2aW9yIGluCkBAIC03NDA4LDExICs3NjQ5LDExIEBACiAKIDxPTD4KIDxMST4KLVN0YXJ0dXAgZmlsZXMgYXJlIHJlYWQgYW5kIGV4ZWN1dGVkIGFzIGRlc2NyaWJlZCBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzAiPjYuMiBCYXNoIFN0YXJ0dXAgRmlsZXM8L0E+LgorU3RhcnR1cCBmaWxlcyBhcmUgcmVhZCBhbmQgZXhlY3V0ZWQgYXMgZGVzY3JpYmVkIGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MSI+Ni4yIEJhc2ggU3RhcnR1cCBGaWxlczwvQT4uCiA8UD4KIAogPExJPgotSm9iIENvbnRyb2wgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+Ny4gSm9iIENvbnRyb2w8L0E+KSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuICBXaGVuIGpvYgorSm9iIENvbnRyb2wgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+Ny4gSm9iIENvbnRyb2w8L0E+KSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuICBXaGVuIGpvYgogY29udHJvbCBpcyBpbiBlZmZlY3QsIEJhc2ggaWdub3JlcyB0aGUga2V5Ym9hcmQtZ2VuZXJhdGVkIGpvYiBjb250cm9sCiBzaWduYWxzIDxDT0RFPlNJR1RUSU48L0NPREU+LCA8Q09ERT5TSUdUVE9VPC9DT0RFPiwgYW5kIDxDT0RFPlNJR1RTVFA8L0NPREU+LgogPFA+CkBAIC03NDI2LDY5ICs3NjY3LDY5IEBACiA8TEk+CiBCYXNoIGV4ZWN1dGVzIHRoZSB2YWx1ZSBvZiB0aGUgPENPREU+UFJPTVBUX0NPTU1BTkQ8L0NPREU+IHZhcmlhYmxlIGFzIGEgY29tbWFuZAogYmVmb3JlIHByaW50aW5nIHRoZSBwcmltYXJ5IHByb21wdCwgPENPREU+JFBTMTwvQ09ERT4KLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPikuCiA8UD4KIAogPExJPgotUmVhZGxpbmUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NSI+OC4gQ29tbWFuZCBMaW5lIEVkaXRpbmc8L0E+KSBpcyB1c2VkIHRvIHJlYWQgY29tbWFuZHMgZnJvbQorUmVhZGxpbmUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NiI+OC4gQ29tbWFuZCBMaW5lIEVkaXRpbmc8L0E+KSBpcyB1c2VkIHRvIHJlYWQgY29tbWFuZHMgZnJvbQogdGhlIHVzZXIncyB0ZXJtaW5hbC4KIDxQPgogCiA8TEk+CiBCYXNoIGluc3BlY3RzIHRoZSB2YWx1ZSBvZiB0aGUgPENPREU+aWdub3JlZW9mPC9DT0RFPiBvcHRpb24gdG8gPENPREU+c2V0IC1vPC9DT0RFPgogaW5zdGVhZCBvZiBleGl0aW5nIGltbWVkaWF0ZWx5IHdoZW4gaXQgcmVjZWl2ZXMgYW4gPENPREU+RU9GPC9DT0RFPiBvbiBpdHMKLXN0YW5kYXJkIGlucHV0IHdoZW4gcmVhZGluZyBhIGNvbW1hbmQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCitzdGFuZGFyZCBpbnB1dCB3aGVuIHJlYWRpbmcgYSBjb21tYW5kIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4pLgogPFA+CiAKIDxMST4KLUNvbW1hbmQgaGlzdG9yeSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMCI+OS4xIEJhc2ggSGlzdG9yeSBGYWNpbGl0aWVzPC9BPikKLWFuZCBoaXN0b3J5IGV4cGFuc2lvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMiI+OS4zIEhpc3RvcnkgRXhwYW5zaW9uPC9BPikKK0NvbW1hbmQgaGlzdG9yeSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4xIEJhc2ggSGlzdG9yeSBGYWNpbGl0aWVzPC9BPikKK2FuZCBoaXN0b3J5IGV4cGFuc2lvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMyI+OS4zIEhpc3RvcnkgRXhwYW5zaW9uPC9BPikKIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQuCiBCYXNoIHdpbGwgc2F2ZSB0aGUgY29tbWFuZCBoaXN0b3J5IHRvIHRoZSBmaWxlIG5hbWVkIGJ5IDxDT0RFPiRISVNURklMRTwvQ09ERT4KIHdoZW4gYW4gaW50ZXJhY3RpdmUgc2hlbGwgZXhpdHMuCiA8UD4KIAogPExJPgotQWxpYXMgZXhwYW5zaW9uIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODQiPjYuNiBBbGlhc2VzPC9BPikgaXMgcGVyZm9ybWVkIGJ5IGRlZmF1bHQuCitBbGlhcyBleHBhbnNpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NSI+Ni42IEFsaWFzZXM8L0E+KSBpcyBwZXJmb3JtZWQgYnkgZGVmYXVsdC4KIDxQPgogCiA8TEk+CiBJbiB0aGUgYWJzZW5jZSBvZiBhbnkgdHJhcHMsIEJhc2ggaWdub3JlcyA8Q09ERT5TSUdURVJNPC9DT0RFPgotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NiI+My43LjYgU2lnbmFsczwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+My43LjYgU2lnbmFsczwvQT4pLgogPFA+CiAKIDxMST4KIEluIHRoZSBhYnNlbmNlIG9mIGFueSB0cmFwcywgPENPREU+U0lHSU5UPC9DT0RFPiBpcyBjYXVnaHQgYW5kIGhhbmRsZWQKLSgoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU2Ij4zLjcuNiBTaWduYWxzPC9BPikuCisoKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+My43LjYgU2lnbmFsczwvQT4pLgogPENPREU+U0lHSU5UPC9DT0RFPiB3aWxsIGludGVycnVwdCBzb21lIHNoZWxsIGJ1aWx0aW5zLgogPFA+CiAKIDxMST4KIEFuIGludGVyYWN0aXZlIGxvZ2luIHNoZWxsIHNlbmRzIGEgPENPREU+U0lHSFVQPC9DT0RFPiB0byBhbGwgam9icyBvbiBleGl0Ci1pZiB0aGUgPENPREU+aHVwb25leGl0PC9DT0RFPiBzaGVsbCBvcHRpb24gaGFzIGJlZW4gZW5hYmxlZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU2Ij4zLjcuNiBTaWduYWxzPC9BPikuCitpZiB0aGUgPENPREU+aHVwb25leGl0PC9DT0RFPiBzaGVsbCBvcHRpb24gaGFzIGJlZW4gZW5hYmxlZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU3Ij4zLjcuNiBTaWduYWxzPC9BPikuCiA8UD4KIAogPExJPgogVGhlIDxTQU1QPmAtbic8L1NBTVA+IGludm9jYXRpb24gb3B0aW9uIGlzIGlnbm9yZWQsIGFuZCA8U0FNUD5gc2V0IC1uJzwvU0FNUD4gaGFzCi1ubyBlZmZlY3QgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCitubyBlZmZlY3QgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCiA8UD4KIAogPExJPgogQmFzaCB3aWxsIGNoZWNrIGZvciBtYWlsIHBlcmlvZGljYWxseSwgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZXMgb2YgdGhlCiA8Q09ERT5NQUlMPC9DT0RFPiwgPENPREU+TUFJTFBBVEg8L0NPREU+LCBhbmQgPENPREU+TUFJTENIRUNLPC9DT0RFPiBzaGVsbCB2YXJpYWJsZXMKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPikuCiA8UD4KIAogPExJPgogRXhwYW5zaW9uIGVycm9ycyBkdWUgdG8gcmVmZXJlbmNlcyB0byB1bmJvdW5kIHNoZWxsIHZhcmlhYmxlcyBhZnRlcgogPFNBTVA+YHNldCAtdSc8L1NBTVA+IGhhcyBiZWVuIGVuYWJsZWQgd2lsbCBub3QgY2F1c2UgdGhlIHNoZWxsIHRvIGV4aXQKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCiA8UD4KIAogPExJPgogVGhlIHNoZWxsIHdpbGwgbm90IGV4aXQgb24gZXhwYW5zaW9uIGVycm9ycyBjYXVzZWQgYnkgPFZBUj52YXI8L1ZBUj4gYmVpbmcgdW5zZXQKIG9yIG51bGwgaW4gPENPREU+JHs8VkFSPnZhcjwvVkFSPjo/PFZBUj53b3JkPC9WQVI+fTwvQ09ERT4gZXhwYW5zaW9ucwotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT4pLgogPFA+CiAKIDxMST4KQEAgLTc0OTgsMTIgKzc3MzksMTIgQEAKIAogPExJPgogV2hlbiBydW5uaW5nIGluIFBPU0lYIG1vZGUsIGEgc3BlY2lhbCBidWlsdGluIHJldHVybmluZyBhbiBlcnJvcgotc3RhdHVzIHdpbGwgbm90IGNhdXNlIHRoZSBzaGVsbCB0byBleGl0IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTAiPjYuMTEgQmFzaCBQT1NJWCBNb2RlPC9BPikuCitzdGF0dXMgd2lsbCBub3QgY2F1c2UgdGhlIHNoZWxsIHRvIGV4aXQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+Ni4xMSBCYXNoIFBPU0lYIE1vZGU8L0E+KS4KIDxQPgogCiA8TEk+CiBBIGZhaWxlZCA8Q09ERT5leGVjPC9DT0RFPiB3aWxsIG5vdCBjYXVzZSB0aGUgc2hlbGwgdG8gZXhpdAotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgogPFA+CiAKIDxMST4KQEAgLTc1MTMsMTMgKzc3NTQsMTMgQEAKIDxMST4KIFNpbXBsZSBzcGVsbGluZyBjb3JyZWN0aW9uIGZvciBkaXJlY3RvcnkgYXJndW1lbnRzIHRvIHRoZSA8Q09ERT5jZDwvQ09ERT4KIGJ1aWx0aW4gaXMgZW5hYmxlZCBieSBkZWZhdWx0IChzZWUgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSA8Q09ERT5jZHNwZWxsPC9DT0RFPgotb3B0aW9uIHRvIHRoZSA8Q09ERT5zaG9wdDwvQ09ERT4gYnVpbHRpbiBpbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPikuCitvcHRpb24gdG8gdGhlIDxDT0RFPnNob3B0PC9DT0RFPiBidWlsdGluIGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+KS4KIDxQPgogCiA8TEk+CiBUaGUgc2hlbGwgd2lsbCBjaGVjayB0aGUgdmFsdWUgb2YgdGhlIDxDT0RFPlRNT1VUPC9DT0RFPiB2YXJpYWJsZSBhbmQgZXhpdAogaWYgYSBjb21tYW5kIGlzIG5vdCByZWFkIHdpdGhpbiB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiBzZWNvbmRzIGFmdGVyCi1wcmludGluZyA8Q09ERT4kUFMxPC9DT0RFPiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+KS4KK3ByaW50aW5nIDxDT0RFPiRQUzE8L0NPREU+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT4pLgogPFA+CiAKIDwvT0w+CkBAIC03NTI3LDIwICs3NzY4LDIwIEBACiAKIDxBIE5BTUU9IkJhc2ggQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzgyIj48L0E+Cis8QSBOQU1FPSJTRUM4MyI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgxIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgyIj4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODQiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiA2LjQgQmFzaCBDb25kaXRpb25hbCBFeHByZXNzaW9ucyA8L0gyPgotPCEtLWRvY2lkOjpTRUM4Mjo6LS0+Cis8IS0tZG9jaWQ6OlNFQzgzOjotLT4KIDxQPgogCiBDb25kaXRpb25hbCBleHByZXNzaW9ucyBhcmUgdXNlZCBieSB0aGUgPENPREU+W1s8L0NPREU+IGNvbXBvdW5kIGNvbW1hbmQKQEAgLTc1NTcsOCArNzc5OCw5IEBACiBkZXNjcmlwdG9yIDAsIDEsIG9yIDIsIHJlc3BlY3RpdmVseSwgaXMgY2hlY2tlZC4KIDwvUD48UD4KIAotV2hlbiB1c2VkIHdpdGggPFNBTVA+YFtbJzwvU0FNUD4sIFRoZSA8U0FNUD5gJiM2MDsnPC9TQU1QPiBhbmQgPFNBTVA+YCYjNjI7JzwvU0FNUD4gb3BlcmF0b3JzIHNvcnQKK1doZW4gdXNlZCB3aXRoIDxTQU1QPmBbWyc8L1NBTVA+LCB0aGUgPFNBTVA+YCYjNjA7JzwvU0FNUD4gYW5kIDxTQU1QPmAmIzYyOyc8L1NBTVA+IG9wZXJhdG9ycyBzb3J0CiBsZXhpY29ncmFwaGljYWxseSB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuCitUaGUgPENPREU+dGVzdDwvQ09ERT4gY29tbWFuZCB1c2VzIEFTQ0lJIG9yZGVyaW5nLgogPC9QPjxQPgogCiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgcHJpbWFyaWVzIHRoYXQgb3BlcmF0ZSBvbiBmaWxlcyBmb2xsb3cgc3ltYm9saWMKQEAgLTc2MzAsMTAgKzc4NzIsNiBAQAogPEREPlRydWUgaWYgPFZBUj5maWxlPC9WQVI+IGV4aXN0cyBhbmQgaXMgZXhlY3V0YWJsZS4KIDxQPgogCi08RFQ+PENPREU+LU8gPFZBUj5maWxlPC9WQVI+PC9DT0RFPgotPEREPlRydWUgaWYgPFZBUj5maWxlPC9WQVI+IGV4aXN0cyBhbmQgaXMgb3duZWQgYnkgdGhlIGVmZmVjdGl2ZSB1c2VyIGlkLgotPFA+Ci0KIDxEVD48Q09ERT4tRyA8VkFSPmZpbGU8L1ZBUj48L0NPREU+CiA8REQ+VHJ1ZSBpZiA8VkFSPmZpbGU8L1ZBUj4gZXhpc3RzIGFuZCBpcyBvd25lZCBieSB0aGUgZWZmZWN0aXZlIGdyb3VwIGlkLgogPFA+CkBAIC03NjQyLDEyICs3ODgwLDIxIEBACiA8REQ+VHJ1ZSBpZiA8VkFSPmZpbGU8L1ZBUj4gZXhpc3RzIGFuZCBpcyBhIHN5bWJvbGljIGxpbmsuCiA8UD4KIAorPERUPjxDT0RFPi1OIDxWQVI+ZmlsZTwvVkFSPjwvQ09ERT4KKzxERD5UcnVlIGlmIDxWQVI+ZmlsZTwvVkFSPiBleGlzdHMgYW5kIGhhcyBiZWVuIG1vZGlmaWVkIHNpbmNlIGl0IHdhcyBsYXN0IHJlYWQuCis8UD4KKworPERUPjxDT0RFPi1PIDxWQVI+ZmlsZTwvVkFSPjwvQ09ERT4KKzxERD5UcnVlIGlmIDxWQVI+ZmlsZTwvVkFSPiBleGlzdHMgYW5kIGlzIG93bmVkIGJ5IHRoZSBlZmZlY3RpdmUgdXNlciBpZC4KKzxQPgorCiA8RFQ+PENPREU+LVMgPFZBUj5maWxlPC9WQVI+PC9DT0RFPgogPEREPlRydWUgaWYgPFZBUj5maWxlPC9WQVI+IGV4aXN0cyBhbmQgaXMgYSBzb2NrZXQuCiA8UD4KIAotPERUPjxDT0RFPi1OIDxWQVI+ZmlsZTwvVkFSPjwvQ09ERT4KLTxERD5UcnVlIGlmIDxWQVI+ZmlsZTwvVkFSPiBleGlzdHMgYW5kIGhhcyBiZWVuIG1vZGlmaWVkIHNpbmNlIGl0IHdhcyBsYXN0IHJlYWQuCis8RFQ+PENPREU+PFZBUj5maWxlMTwvVkFSPiAtZWYgPFZBUj5maWxlMjwvVkFSPjwvQ09ERT4KKzxERD5UcnVlIGlmIDxWQVI+ZmlsZTE8L1ZBUj4gYW5kIDxWQVI+ZmlsZTI8L1ZBUj4gcmVmZXIgdG8gdGhlIHNhbWUgZGV2aWNlIGFuZAoraW5vZGUgbnVtYmVycy4KIDxQPgogCiA8RFQ+PENPREU+PFZBUj5maWxlMTwvVkFSPiAtbnQgPFZBUj5maWxlMjwvVkFSPjwvQ09ERT4KQEAgLTc2NjAsMTUgKzc5MDcsMTQgQEAKIG9yIGlmIDxWQVI+ZmlsZTI8L1ZBUj4gZXhpc3RzIGFuZCA8VkFSPmZpbGUxPC9WQVI+IGRvZXMgbm90LgogPFA+CiAKLTxEVD48Q09ERT48VkFSPmZpbGUxPC9WQVI+IC1lZiA8VkFSPmZpbGUyPC9WQVI+PC9DT0RFPgotPEREPlRydWUgaWYgPFZBUj5maWxlMTwvVkFSPiBhbmQgPFZBUj5maWxlMjwvVkFSPiByZWZlciB0byB0aGUgc2FtZSBkZXZpY2UgYW5kCi1pbm9kZSBudW1iZXJzLgorPERUPjxDT0RFPi1vIDxWQVI+b3B0bmFtZTwvVkFSPjwvQ09ERT4KKzxERD5UcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gPFZBUj5vcHRuYW1lPC9WQVI+IGlzIGVuYWJsZWQuCitUaGUgbGlzdCBvZiBvcHRpb25zIGFwcGVhcnMgaW4gdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSA8U0FNUD5gLW8nPC9TQU1QPgorb3B0aW9uIHRvIHRoZSA8Q09ERT5zZXQ8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCiA8UD4KIAotPERUPjxDT0RFPi1vIDxWQVI+b3B0bmFtZTwvVkFSPjwvQ09ERT4KLTxERD5UcnVlIGlmIHNoZWxsIG9wdGlvbiA8VkFSPm9wdG5hbWU8L1ZBUj4gaXMgZW5hYmxlZC4KLVRoZSBsaXN0IG9mIG9wdGlvbnMgYXBwZWFycyBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIDxTQU1QPmAtbyc8L1NBTVA+Ci1vcHRpb24gdG8gdGhlIDxDT0RFPnNldDwvQ09ERT4gYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYyIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KS4KKzxEVD48Q09ERT4tdiA8VkFSPnZhcm5hbWU8L1ZBUj48L0NPREU+Cis8REQ+VHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgPFZBUj52YXJuYW1lPC9WQVI+IGlzIHNldCAoaGFzIGJlZW4gYXNzaWduZWQgYSB2YWx1ZSkuCiA8UD4KIAogPERUPjxDT0RFPi16IDxWQVI+c3RyaW5nPC9WQVI+PC9DT0RFPgpAQCAtNzcxMywyMCArNzk1OSwyMCBAQAogCiA8QSBOQU1FPSJTaGVsbCBBcml0aG1ldGljIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM4MyI+PC9BPgorPEEgTkFNRT0iU0VDODQiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTIiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gNi41IFNoZWxsIEFyaXRobWV0aWMgPC9IMj4KLTwhLS1kb2NpZDo6U0VDODM6Oi0tPgorPCEtLWRvY2lkOjpTRUM4NDo6LS0+CiA8UD4KIAogVGhlIHNoZWxsIGFsbG93cyBhcml0aG1ldGljIGV4cHJlc3Npb25zIHRvIGJlIGV2YWx1YXRlZCwgYXMgb25lIG9mCkBAIC03ODI4LDEzICs4MDc0LDEzIEBACiB3aGVuIGl0IGlzIHJlZmVyZW5jZWQsIG9yIHdoZW4gYSB2YXJpYWJsZSB3aGljaCBoYXMgYmVlbiBnaXZlbiB0aGUgIAogPFZBUj5pbnRlZ2VyPC9WQVI+IGF0dHJpYnV0ZSB1c2luZyA8U0FNUD5gZGVjbGFyZSAtaSc8L1NBTVA+IGlzIGFzc2lnbmVkIGEgdmFsdWUuCiBBIG51bGwgdmFsdWUgZXZhbHVhdGVzIHRvIDAuCi1BIHNoZWxsIHZhcmlhYmxlIG5lZWQgbm90IGhhdmUgaXRzIGludGVnZXIgYXR0cmlidXRlIHR1cm5lZCBvbgorQSBzaGVsbCB2YXJpYWJsZSBuZWVkIG5vdCBoYXZlIGl0cyA8VkFSPmludGVnZXI8L1ZBUj4gYXR0cmlidXRlIHR1cm5lZCBvbgogdG8gYmUgdXNlZCBpbiBhbiBleHByZXNzaW9uLgogPC9QPjxQPgogCiBDb25zdGFudHMgd2l0aCBhIGxlYWRpbmcgMCBhcmUgaW50ZXJwcmV0ZWQgYXMgb2N0YWwgbnVtYmVycy4KIEEgbGVhZGluZyA8U0FNUD5gMHgnPC9TQU1QPiBvciA8U0FNUD5gMFgnPC9TQU1QPiBkZW5vdGVzIGhleGFkZWNpbWFsLiAgT3RoZXJ3aXNlLAotbnVtYmVycyB0YWtlIHRoZSBmb3JtIFs8VkFSPmJhc2U8L1ZBUj48Q09ERT4jPC9DT0RFPl08VkFSPm48L1ZBUj4sIHdoZXJlIDxWQVI+YmFzZTwvVkFSPgorbnVtYmVycyB0YWtlIHRoZSBmb3JtIFs8VkFSPmJhc2U8L1ZBUj48Q09ERT4jPC9DT0RFPl08VkFSPm48L1ZBUj4sIHdoZXJlIHRoZSBvcHRpb25hbCA8VkFSPmJhc2U8L1ZBUj4KIGlzIGEgZGVjaW1hbCBudW1iZXIgYmV0d2VlbiAyIGFuZCA2NCByZXByZXNlbnRpbmcgdGhlIGFyaXRobWV0aWMKIGJhc2UsIGFuZCA8VkFSPm48L1ZBUj4gaXMgYSBudW1iZXIgaW4gdGhhdCBiYXNlLiAgSWYgPFZBUj5iYXNlPC9WQVI+PENPREU+IzwvQ09ERT4gaXMKIG9taXR0ZWQsIHRoZW4gYmFzZSAxMCBpcyB1c2VkLgpAQCAtNzg1MiwyMCArODA5OCwyMCBAQAogCiA8QSBOQU1FPSJBbGlhc2VzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM4NCI+PC9BPgorPEEgTkFNRT0iU0VDODUiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NSI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NiI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg2Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTIiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gNi42IEFsaWFzZXMgPC9IMj4KLTwhLS1kb2NpZDo6U0VDODQ6Oi0tPgorPCEtLWRvY2lkOjpTRUM4NTo6LS0+CiA8UD4KIAogPFZBUj5BbGlhc2VzPC9WQVI+IGFsbG93IGEgc3RyaW5nIHRvIGJlIHN1YnN0aXR1dGVkIGZvciBhIHdvcmQgd2hlbiBpdCBpcyB1c2VkCkBAIC03ODk5LDEyICs4MTQ1LDEyIEBACiBUaGVyZSBpcyBubyBtZWNoYW5pc20gZm9yIHVzaW5nIGFyZ3VtZW50cyBpbiB0aGUgcmVwbGFjZW1lbnQgdGV4dCwKIGFzIGluIDxDT0RFPmNzaDwvQ09ERT4uCiBJZiBhcmd1bWVudHMgYXJlIG5lZWRlZCwgYSBzaGVsbCBmdW5jdGlvbiBzaG91bGQgYmUgdXNlZAotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNCI+My4zIFNoZWxsIEZ1bmN0aW9uczwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+My4zIFNoZWxsIEZ1bmN0aW9uczwvQT4pLgogPC9QPjxQPgogCiBBbGlhc2VzIGFyZSBub3QgZXhwYW5kZWQgd2hlbiB0aGUgc2hlbGwgaXMgbm90IGludGVyYWN0aXZlLAogdW5sZXNzIHRoZSA8Q09ERT5leHBhbmRfYWxpYXNlczwvQ09ERT4gc2hlbGwgb3B0aW9uIGlzIHNldCB1c2luZwotPENPREU+c2hvcHQ8L0NPREU+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPikuCis8Q09ERT5zaG9wdDwvQ09ERT4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+KS4KIDwvUD48UD4KIAogVGhlIHJ1bGVzIGNvbmNlcm5pbmcgdGhlIGRlZmluaXRpb24gYW5kIHVzZSBvZiBhbGlhc2VzIGFyZQpAQCAtNzkzMiwyMCArODE3OCwyMCBAQAogCiA8QSBOQU1FPSJBcnJheXMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzg1Ij48L0E+Cis8QSBOQU1FPSJTRUM4NiI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg2Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODYiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg3Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiA2LjcgQXJyYXlzIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzg1OjotLT4KKzwhLS1kb2NpZDo6U0VDODY6Oi0tPgogPFA+CiAKIEJhc2ggcHJvdmlkZXMgb25lLWRpbWVuc2lvbmFsIGluZGV4ZWQgYW5kIGFzc29jaWF0aXZlIGFycmF5IHZhcmlhYmxlcy4KQEAgLTc5NTUsNyArODIwMSw3IEBACiBsaW1pdCBvbiB0aGUgc2l6ZSBvZiBhbiBhcnJheSwgbm9yIGFueSByZXF1aXJlbWVudCB0aGF0IG1lbWJlcnMKIGJlIGluZGV4ZWQgb3IgYXNzaWduZWQgY29udGlndW91c2x5LgogSW5kZXhlZCBhcnJheXMgYXJlIHJlZmVyZW5jZWQgdXNpbmcgaW50ZWdlcnMgKGluY2x1ZGluZyBhcml0aG1ldGljCi1leHByZXNzaW9ucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj42LjUgU2hlbGwgQXJpdGhtZXRpYzwvQT4pIGFuZCBhcmUgemVyby1iYXNlZDsKK2V4cHJlc3Npb25zIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODQiPjYuNSBTaGVsbCBBcml0aG1ldGljPC9BPikgYW5kIGFyZSB6ZXJvLWJhc2VkOwogYXNzb2NpYXRpdmUgYXJyYXlzIHVzZSBhcmJpdHJhcnkgc3RyaW5ncy4KIDwvUD48UD4KIApAQCAtNzk2NSw4ICs4MjExLDExIEBACiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT48L1A+PFA+CiAKIFRoZSA8VkFSPnN1YnNjcmlwdDwvVkFSPgotaXMgdHJlYXRlZCBhcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gdGhhdCBtdXN0IGV2YWx1YXRlIHRvIGEgbnVtYmVyCi1ncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gemVyby4gIFRvIGV4cGxpY2l0bHkgZGVjbGFyZSBhbiBhcnJheSwgdXNlCitpcyB0cmVhdGVkIGFzIGFuIGFyaXRobWV0aWMgZXhwcmVzc2lvbiB0aGF0IG11c3QgZXZhbHVhdGUgdG8gYSBudW1iZXIuCitJZiA8VkFSPnN1YnNjcmlwdDwvVkFSPiBldmFsdWF0ZXMgdG8gYSBudW1iZXIgbGVzcyB0aGFuIHplcm8sIGl0IGlzIHVzZWQgYXMKK2FuIG9mZnNldCBmcm9tIG9uZSBncmVhdGVyIHRoYW4gdGhlIGFycmF5J3MgbWF4aW11bSBpbmRleCAoc28gYSBzdWJjcmlwdAorb2YgLTEgcmVmZXJzIHRvIHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIGFycmF5KS4KK1RvIGV4cGxpY2l0bHkgZGVjbGFyZSBhbiBhcnJheSwgdXNlCiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+ZGVjbGFyZSAtYSA8VkFSPm5hbWU8L1ZBUj4KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPlRoZSBzeW50YXgKIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5kZWNsYXJlIC1hIDxWQVI+bmFtZTwvVkFSPls8VkFSPnN1YnNjcmlwdDwvVkFSPl0KQEAgLTgwNTYsMjQgKzgzMDUsMjQgQEAKIAogPEEgTkFNRT0iVGhlIERpcmVjdG9yeSBTdGFjayI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDODYiPjwvQT4KKzxBIE5BTUU9IlNFQzg3Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg4Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODYiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODgiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjkiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDYuOCBUaGUgRGlyZWN0b3J5IFN0YWNrIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzg2OjotLT4KKzwhLS1kb2NpZDo6U0VDODc6Oi0tPgogPFA+CiAKIDxCTE9DS1FVT1RFPjxUQUJMRSBCT1JERVI9MCBDRUxMU1BBQ0lORz0wPiAKLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPjYuOC4xIERpcmVjdG9yeSBTdGFjayBCdWlsdGluczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkJhc2ggYnVpbHRpbiBjb21tYW5kcyB0byBtYW5pcHVsYXRlCis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg4Ij42LjguMSBEaXJlY3RvcnkgU3RhY2sgQnVpbHRpbnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5CYXNoIGJ1aWx0aW4gY29tbWFuZHMgdG8gbWFuaXB1bGF0ZQogCQkJCQl0aGUgZGlyZWN0b3J5IHN0YWNrLjwvVEQ+PC9UUj4KIDwvVEFCTEU+PC9CTE9DS1FVT1RFPgogPFA+CkBAIC04MDkyLDI2ICs4MzQxLDI2IEBACiAKIDxBIE5BTUU9IkRpcmVjdG9yeSBTdGFjayBCdWlsdGlucyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDODciPjwvQT4KKzxBIE5BTUU9IlNFQzg4Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODYiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODgiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODYiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg4Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODkiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDYuOC4xIERpcmVjdG9yeSBTdGFjayBCdWlsdGlucyA8L0gzPgotPCEtLWRvY2lkOjpTRUM4Nzo6LS0+Cis8IS0tZG9jaWQ6OlNFQzg4OjotLT4KIDxQPgogCiA8REwgQ09NUEFDVD4KIAogPERUPjxDT0RFPmRpcnM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjkwIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzAyIj48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+ZGlycyBbKzxWQVI+TjwvVkFSPiB8IC08VkFSPk48L1ZBUj5dIFstY2xwdl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPkRpc3BsYXkgdGhlIGxpc3Qgb2YgY3VycmVudGx5IHJlbWVtYmVyZWQgZGlyZWN0b3JpZXMuICBEaXJlY3RvcmllcwogYXJlIGFkZGVkIHRvIHRoZSBsaXN0IHdpdGggdGhlIDxDT0RFPnB1c2hkPC9DT0RFPiBjb21tYW5kOyB0aGUKQEAgLTgxNDAsNyArODM4OSw3IEBACiA8UD4KIAogPERUPjxDT0RFPnBvcGQ8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjkxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzAzIj48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+cG9wZCBbKzxWQVI+TjwvVkFSPiB8IC08VkFSPk48L1ZBUj5dIFstbl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjxQPgogCkBAIC04MTY0LDcgKzg0MTMsNyBAQAogPC9ETD4KIDxQPgogCi08QSBOQU1FPSJJRFgyOTIiPjwvQT4KKzxBIE5BTUU9IklEWDMwNCI+PC9BPgogPERUPjxDT0RFPnB1c2hkPC9DT0RFPgogPEREPjxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5wdXNoZCBbLW5dIFs8VkFSPitOPC9WQVI+IHwgPFZBUj4tTjwvVkFSPiB8IDxWQVI+ZGlyPC9WQVI+IF0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjxQPgpAQCAtODE5OCwyMCArODQ0NywyMCBAQAogCiA8QSBOQU1FPSJQcmludGluZyBhIFByb21wdCI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDODgiPjwvQT4KKzxBIE5BTUU9IlNFQzg5Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODkiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODgiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTAiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjkiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDYuOSBDb250cm9sbGluZyB0aGUgUHJvbXB0IDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzg4OjotLT4KKzwhLS1kb2NpZDo6U0VDODk6Oi0tPgogPFA+CiAKIFRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUgPENPREU+UFJPTVBUX0NPTU1BTkQ8L0NPREU+IGlzIGV4YW1pbmVkIGp1c3QgYmVmb3JlCkBAIC04MjkwLDcgKzg1MzksNyBAQAogVGhlIGNvbW1hbmQgbnVtYmVyIGFuZCB0aGUgaGlzdG9yeSBudW1iZXIgYXJlIHVzdWFsbHkgZGlmZmVyZW50OgogdGhlIGhpc3RvcnkgbnVtYmVyIG9mIGEgY29tbWFuZCBpcyBpdHMgcG9zaXRpb24gaW4gdGhlIGhpc3RvcnkKIGxpc3QsIHdoaWNoIG1heSBpbmNsdWRlIGNvbW1hbmRzIHJlc3RvcmVkIGZyb20gdGhlIGhpc3RvcnkgZmlsZQotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPjkuMSBCYXNoIEhpc3RvcnkgRmFjaWxpdGllczwvQT4pLCB3aGlsZSB0aGUgY29tbWFuZCBudW1iZXIgaXMKKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIxIj45LjEgQmFzaCBIaXN0b3J5IEZhY2lsaXRpZXM8L0E+KSwgd2hpbGUgdGhlIGNvbW1hbmQgbnVtYmVyIGlzCiB0aGUgcG9zaXRpb24gaW4gdGhlIHNlcXVlbmNlIG9mIGNvbW1hbmRzIGV4ZWN1dGVkIGR1cmluZyB0aGUgY3VycmVudAogc2hlbGwgc2Vzc2lvbi4KIDwvUD48UD4KQEAgLTgyOTgsMjUgKzg1NDcsMjUgQEAKIEFmdGVyIHRoZSBzdHJpbmcgaXMgZGVjb2RlZCwgaXQgaXMgZXhwYW5kZWQgdmlhCiBwYXJhbWV0ZXIgZXhwYW5zaW9uLCBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYXJpdGhtZXRpYwogZXhwYW5zaW9uLCBhbmQgcXVvdGUgcmVtb3ZhbCwgc3ViamVjdCB0byB0aGUgdmFsdWUgb2YgdGhlCi08Q09ERT5wcm9tcHR2YXJzPC9DT0RFPiBzaGVsbCBvcHRpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4pLgorPENPREU+cHJvbXB0dmFyczwvQ09ERT4gc2hlbGwgb3B0aW9uIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KIDwvUD48UD4KIAogPEEgTkFNRT0iVGhlIFJlc3RyaWN0ZWQgU2hlbGwiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzg5Ij48L0E+Cis8QSBOQU1FPSJTRUM5MCI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg4Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzAiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzEiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiA2LjEwIFRoZSBSZXN0cmljdGVkIFNoZWxsIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzg5OjotLT4KKzwhLS1kb2NpZDo6U0VDOTA6Oi0tPgogPFA+CiAKIElmIEJhc2ggaXMgc3RhcnRlZCB3aXRoIHRoZSBuYW1lIDxDT0RFPnJiYXNoPC9DT0RFPiwgb3IgdGhlCkBAIC04MzY5LDI2ICs4NjE4LDI2IEBACiA8L1A+PFA+CiAKIFdoZW4gYSBjb21tYW5kIHRoYXQgaXMgZm91bmQgdG8gYmUgYSBzaGVsbCBzY3JpcHQgaXMgZXhlY3V0ZWQKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTciPjMuOCBTaGVsbCBTY3JpcHRzPC9BPiksIDxDT0RFPnJiYXNoPC9DT0RFPiB0dXJucyBvZmYgYW55IHJlc3RyaWN0aW9ucyBpbgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OCI+My44IFNoZWxsIFNjcmlwdHM8L0E+KSwgPENPREU+cmJhc2g8L0NPREU+IHR1cm5zIG9mZiBhbnkgcmVzdHJpY3Rpb25zIGluCiB0aGUgc2hlbGwgc3Bhd25lZCB0byBleGVjdXRlIHRoZSBzY3JpcHQuCiA8L1A+PFA+CiAKIDxBIE5BTUU9IkJhc2ggUE9TSVggTW9kZSI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDOTAiPjwvQT4KKzxBIE5BTUU9IlNFQzkxIj48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODkiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTAiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTIiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjkiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDYuMTEgQmFzaCBQT1NJWCBNb2RlIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzkwOjotLT4KKzwhLS1kb2NpZDo6U0VDOTE6Oi0tPgogPFA+CiAKIFN0YXJ0aW5nIEJhc2ggd2l0aCB0aGUgPFNBTVA+YC0tcG9zaXgnPC9TQU1QPiBjb21tYW5kLWxpbmUgb3B0aW9uIG9yIGV4ZWN1dGluZwpAQCAtODQ3Niw2ICs4NzI1LDEyIEBACiA8UD4KIAogPExJPgorTm9uLWludGVyYWN0aXZlIHNoZWxscyBleGl0IGlmIHRoZXJlIGlzIGEgc3ludGF4IGVycm9yIGluIGEgc2NyaXB0IHJlYWQKK3dpdGggdGhlIDxDT0RFPi48L0NPREU+IG9yIDxDT0RFPnNvdXJjZTwvQ09ERT4gYnVpbHRpbnMsIG9yIGluIGEgc3RyaW5nIHByb2Nlc3NlZCBieQordGhlIDxDT0RFPmV2YWw8L0NPREU+IGJ1aWx0aW4uCis8UD4KKworPExJPgogUmVkaXJlY3Rpb24gb3BlcmF0b3JzIGRvIG5vdCBwZXJmb3JtIGZpbGVuYW1lIGV4cGFuc2lvbiBvbiB0aGUgd29yZAogaW4gdGhlIHJlZGlyZWN0aW9uIHVubGVzcyB0aGUgc2hlbGwgaXMgaW50ZXJhY3RpdmUuCiA8UD4KQEAgLTg0OTgsNiArODc1MywyNiBAQAogPFA+CiAKIDxMST4KK1RoZSA8Q09ERT50aW1lPC9DT0RFPiByZXNlcnZlZCB3b3JkIG1heSBiZSB1c2VkIGJ5IGl0c2VsZiBhcyBhIGNvbW1hbmQuICBXaGVuCit1c2VkIGluIHRoaXMgd2F5LCBpdCBkaXNwbGF5cyB0aW1pbmcgc3RhdGlzdGljcyBmb3IgdGhlIHNoZWxsIGFuZCBpdHMKK2NvbXBsZXRlZCBjaGlsZHJlbi4gIFRoZSA8Q09ERT5USU1FRk9STUFUPC9DT0RFPiB2YXJpYWJsZSBjb250cm9scyB0aGUgZm9ybWF0CitvZiB0aGUgdGltaW5nIGluZm9ybWF0aW9uLgorPFA+CisKKzxMST4KK1doZW4gcGFyc2luZyBhbmQgZXhwYW5kaW5nIGEgJHs8c21hbGw+Li4uPC9zbWFsbD59IGV4cGFuc2lvbiB0aGF0IGFwcGVhcnMgd2l0aGluCitkb3VibGUgcXVvdGVzLCBzaW5nbGUgcXVvdGVzIGFyZSBubyBsb25nZXIgc3BlY2lhbCBhbmQgY2Fubm90IGJlIHVzZWQgdG8KK3F1b3RlIGEgY2xvc2luZyBicmFjZSBvciBvdGhlciBzcGVjaWFsIGNoYXJhY3RlciwgdW5sZXNzIHRoZSBvcGVyYXRvciBpcworb25lIG9mIHRob3NlIGRlZmluZWQgdG8gcGVyZm9ybSBwYXR0ZXJuIHJlbW92YWwuICBJbiB0aGlzIGNhc2UsIHRoZXkgZG8KK25vdCBoYXZlIHRvIGFwcGVhciBhcyBtYXRjaGVkIHBhaXJzLgorPFA+CisKKzxMST4KK1RoZSBwYXJzZXIgZG9lcyBub3QgcmVjb2duaXplIDxDT0RFPnRpbWU8L0NPREU+IGFzIGEgcmVzZXJ2ZWQgd29yZCBpZiB0aGUgbmV4dAordG9rZW4gYmVnaW5zIHdpdGggYSA8U0FNUD5gLSc8L1NBTVA+LgorPFA+CisKKzxMST4KIElmIGEgUE9TSVggc3BlY2lhbCBidWlsdGluIHJldHVybnMgYW4gZXJyb3Igc3RhdHVzLCBhCiBub24taW50ZXJhY3RpdmUgc2hlbGwgZXhpdHMuICBUaGUgZmF0YWwgZXJyb3JzIGFyZSB0aG9zZSBsaXN0ZWQgaW4KIHRoZSBQT1NJWCBzdGFuZGFyZCwgYW5kIGluY2x1ZGUgdGhpbmdzIGxpa2UgcGFzc2luZyBpbmNvcnJlY3Qgb3B0aW9ucywKQEAgLTg1MDYsMTUgKzg3ODEsNiBAQAogPFA+CiAKIDxMST4KLUlmIDxDT0RFPkNEUEFUSDwvQ09ERT4gaXMgc2V0LCB0aGUgPENPREU+Y2Q8L0NPREU+IGJ1aWx0aW4gd2lsbCBub3QgaW1wbGljaXRseQotYXBwZW5kIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0byBpdC4gIFRoaXMgbWVhbnMgdGhhdCA8Q09ERT5jZDwvQ09ERT4gd2lsbAotZmFpbCBpZiBubyB2YWxpZCBkaXJlY3RvcnkgbmFtZSBjYW4gYmUgY29uc3RydWN0ZWQgZnJvbQotYW55IG9mIHRoZSBlbnRyaWVzIGluIDxDT0RFPiRDRFBBVEg8L0NPREU+LCBldmVuIGlmIHRoZSBhIGRpcmVjdG9yeSB3aXRoCi10aGUgc2FtZSBuYW1lIGFzIHRoZSBuYW1lIGdpdmVuIGFzIGFuIGFyZ3VtZW50IHRvIDxDT0RFPmNkPC9DT0RFPiBleGlzdHMKLWluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KLTxQPgotCi08TEk+CiBBIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbCBleGl0cyB3aXRoIGFuIGVycm9yIHN0YXR1cyBpZiBhIHZhcmlhYmxlCiBhc3NpZ25tZW50IGVycm9yIG9jY3VycyB3aGVuIG5vIGNvbW1hbmQgbmFtZSBmb2xsb3dzIHRoZSBhc3NpZ25tZW50CiBzdGF0ZW1lbnRzLgpAQCAtODUyMyw2ICs4Nzg5LDEyIEBACiA8UD4KIAogPExJPgorQSBub24taW50ZXJhY3RpdmUgc2hlbGwgZXhpc3RzIHdpdGggYW4gZXJyb3Igc3RhdHVzIGlmIGEgdmFyaWFibGUKK2Fzc2lnbm1lbnQgZXJyb3Igb2NjdXJzIGluIGFuIGFzc2lnbm1lbnQgc3RhdGVtZW50IHByZWNlZGluZyBhIHNwZWNpYWwKK2J1aWx0aW4sIGJ1dCBub3Qgd2l0aCBhbnkgb3RoZXIgc2ltcGxlIGNvbW1hbmQuCis8UD4KKworPExJPgogQSBub24taW50ZXJhY3RpdmUgc2hlbGwgZXhpdHMgd2l0aCBhbiBlcnJvciBzdGF0dXMgaWYgdGhlIGl0ZXJhdGlvbgogdmFyaWFibGUgaW4gYSA8Q09ERT5mb3I8L0NPREU+IHN0YXRlbWVudCBvciB0aGUgc2VsZWN0aW9uIHZhcmlhYmxlIGluIGEKIDxDT0RFPnNlbGVjdDwvQ09ERT4gc3RhdGVtZW50IGlzIGEgcmVhZG9ubHkgdmFyaWFibGUuCkBAIC04NjAyLDExICs4ODc0LDYgQEAKIDxQPgogCiA8TEk+Ci1XaGVuIHRoZSA8Q09ERT5wd2Q8L0NPREU+IGJ1aWx0aW4gaXMgc3VwcGxpZWQgdGhlIDxTQU1QPmAtUCc8L1NBTVA+IG9wdGlvbiwgaXQgcmVzZXRzCi08Q09ERT4kUFdEPC9DT0RFPiB0byBhIHBhdGhuYW1lIGNvbnRhaW5pbmcgbm8gc3ltbGlua3MuCi08UD4KLQotPExJPgogVGhlIDxDT0RFPnB3ZDwvQ09ERT4gYnVpbHRpbiB2ZXJpZmllcyB0aGF0IHRoZSB2YWx1ZSBpdCBwcmludHMgaXMgdGhlIHNhbWUgYXMgdGhlCiBjdXJyZW50IGRpcmVjdG9yeSwgZXZlbiBpZiBpdCBpcyBub3QgYXNrZWQgdG8gY2hlY2sgdGhlIGZpbGUgc3lzdGVtIHdpdGggdGhlCiA8U0FNUD5gLVAnPC9TQU1QPiBvcHRpb24uCkBAIC04Njc2LDI1ICs4OTQzLDI1IEBACiAKIEJhc2ggY2FuIGJlIGNvbmZpZ3VyZWQgdG8gYmUgUE9TSVgtY29uZm9ybWFudCBieSBkZWZhdWx0LCBieSBzcGVjaWZ5aW5nCiB0aGUgPFNBTVA+YC0tZW5hYmxlLXN0cmljdC1wb3NpeC1kZWZhdWx0JzwvU0FNUD4gdG8gPENPREU+Y29uZmlndXJlPC9DT0RFPiB3aGVuIGJ1aWxkaW5nCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNCI+MTAuOCBPcHRpb25hbCBGZWF0dXJlczwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzUiPjEwLjggT3B0aW9uYWwgRmVhdHVyZXM8L0E+KS4KIDwvUD48UD4KIAogPEEgTkFNRT0iSm9iIENvbnRyb2wiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzkxIj48L0E+Cis8QSBOQU1FPSJTRUM5MiI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk2Ij4gJmx0OyZsdDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMT4gNy4gSm9iIENvbnRyb2wgPC9IMT4KLTwhLS1kb2NpZDo6U0VDOTE6Oi0tPgorPCEtLWRvY2lkOjpTRUM5Mjo6LS0+CiA8UD4KIAogVGhpcyBjaGFwdGVyIGRpc2N1c3NlcyB3aGF0IGpvYiBjb250cm9sIGlzLCBob3cgaXQgd29ya3MsIGFuZCBob3cKQEAgLTg3MDIsMzAgKzg5NjksMzAgQEAKIDwvUD48UD4KIAogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+Ny4xIEpvYiBDb250cm9sIEJhc2ljczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyBqb2IgY29udHJvbCB3b3Jrcy48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkzIj43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5CYXNoIGJ1aWx0aW4gY29tbWFuZHMgdXNlZCB0byBpbnRlcmFjdAorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+Ny4xIEpvYiBDb250cm9sIEJhc2ljczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyBqb2IgY29udHJvbCB3b3Jrcy48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk0Ij43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5CYXNoIGJ1aWx0aW4gY29tbWFuZHMgdXNlZCB0byBpbnRlcmFjdAogCQkJCXdpdGggam9iIGNvbnRyb2wuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NCI+Ny4zIEpvYiBDb250cm9sIFZhcmlhYmxlczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlZhcmlhYmxlcyBCYXNoIHVzZXMgdG8gY3VzdG9taXplIGpvYgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NSI+Ny4zIEpvYiBDb250cm9sIFZhcmlhYmxlczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlZhcmlhYmxlcyBCYXNoIHVzZXMgdG8gY3VzdG9taXplIGpvYgogCQkJCWNvbnRyb2wuPC9URD48L1RSPgogPC9UQUJMRT48L0JMT0NLUVVPVEU+CiA8UD4KIAogPEEgTkFNRT0iSm9iIENvbnRyb2wgQmFzaWNzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM5MiI+PC9BPgorPEEgTkFNRT0iU0VDOTMiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NCI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gNy4xIEpvYiBDb250cm9sIEJhc2ljcyA8L0gyPgotPCEtLWRvY2lkOjpTRUM5Mjo6LS0+Cis8IS0tZG9jaWQ6OlNFQzkzOjotLT4KIDxQPgogCiBKb2IgY29udHJvbApAQCAtODgxOSwxMyArOTA4NiwxMyBAQAogYmVmb3JlIHJlcG9ydGluZyBjaGFuZ2VzIGluIGEgam9iJ3Mgc3RhdHVzIHNvIGFzIHRvIG5vdCBpbnRlcnJ1cHQKIGFueSBvdGhlciBvdXRwdXQuCiBJZiB0aGUgPFNBTVA+YC1iJzwvU0FNUD4gb3B0aW9uIHRvIHRoZSA8Q09ERT5zZXQ8L0NPREU+IGJ1aWx0aW4gaXMgZW5hYmxlZCwKLUJhc2ggcmVwb3J0cyBzdWNoIGNoYW5nZXMgaW1tZWRpYXRlbHkgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCitCYXNoIHJlcG9ydHMgc3VjaCBjaGFuZ2VzIGltbWVkaWF0ZWx5IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4pLgogQW55IHRyYXAgb24gPENPREU+U0lHQ0hMRDwvQ09ERT4gaXMgZXhlY3V0ZWQgZm9yIGVhY2ggY2hpbGQgcHJvY2VzcwogdGhhdCBleGl0cy4KIDwvUD48UD4KIAogSWYgYW4gYXR0ZW1wdCB0byBleGl0IEJhc2ggaXMgbWFkZSB3aGlsZSBqb2JzIGFyZSBzdG9wcGVkLCAob3IgcnVubmluZywgaWYKLXRoZSA8Q09ERT5jaGVja2pvYnM8L0NPREU+IG9wdGlvbiBpcyBlbmFibGVkIC0tIHNlZSA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPiksIHRoZQordGhlIDxDT0RFPmNoZWNram9iczwvQ09ERT4gb3B0aW9uIGlzIGVuYWJsZWQgLS0gc2VlIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+KSwgdGhlCiBzaGVsbCBwcmludHMgYSB3YXJuaW5nIG1lc3NhZ2UsIGFuZCBpZiB0aGUgPENPREU+Y2hlY2tqb2JzPC9DT0RFPiBvcHRpb24gaXMKIGVuYWJsZWQsIGxpc3RzIHRoZSBqb2JzIGFuZCB0aGVpciBzdGF0dXNlcy4KIFRoZSA8Q09ERT5qb2JzPC9DT0RFPiBjb21tYW5kIG1heSB0aGVuIGJlIHVzZWQgdG8gaW5zcGVjdCB0aGVpciBzdGF0dXMuCkBAIC04ODM1LDI2ICs5MTAyLDI2IEBACiAKIDxBIE5BTUU9IkpvYiBDb250cm9sIEJ1aWx0aW5zIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM5MyI+PC9BPgorPEEgTkFNRT0iU0VDOTQiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk0Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gNy4yIEpvYiBDb250cm9sIEJ1aWx0aW5zIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzkzOjotLT4KKzwhLS1kb2NpZDo6U0VDOTQ6Oi0tPgogPFA+CiAKIDxETCBDT01QQUNUPgogCiA8RFQ+PENPREU+Ymc8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjkzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzA1Ij48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+YmcgWzxWQVI+am9ic3BlYzwvVkFSPiA8c21hbGw+Li4uPC9zbWFsbD5dCiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5SZXN1bWUgZWFjaCBzdXNwZW5kZWQgam9iIDxWQVI+am9ic3BlYzwvVkFSPiBpbiB0aGUgYmFja2dyb3VuZCwgYXMgaWYgaXQKIGhhZCBiZWVuIHN0YXJ0ZWQgd2l0aCA8U0FNUD5gJiMzODsnPC9TQU1QPi4KQEAgLTg4NjYsNyArOTEzMyw3IEBACiA8UD4KIAogPERUPjxDT0RFPmZnPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI5NCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMwNiI+PC9BPgogPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPmZnIFs8VkFSPmpvYnNwZWM8L1ZBUj5dCiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5SZXN1bWUgdGhlIGpvYiA8VkFSPmpvYnNwZWM8L1ZBUj4gaW4gdGhlIGZvcmVncm91bmQgYW5kIG1ha2UgaXQgdGhlIGN1cnJlbnQgam9iLgogSWYgPFZBUj5qb2JzcGVjPC9WQVI+IGlzIG5vdCBzdXBwbGllZCwgdGhlIGN1cnJlbnQgam9iIGlzIHVzZWQuCkBAIC04ODc3LDcgKzkxNDQsNyBAQAogPFA+CiAKIDxEVD48Q09ERT5qb2JzPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI5NSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMwNyI+PC9BPgogPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPmpvYnMgWy1sbnByc10gWzxWQVI+am9ic3BlYzwvVkFSPl0KIGpvYnMgLXggPFZBUj5jb21tYW5kPC9WQVI+IFs8VkFSPmFyZ3VtZW50czwvVkFSPl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjxQPgpAQCAtODkyMiw3ICs5MTg5LDcgQEAKIDwvUD48UD4KIAogPERUPjxDT0RFPmtpbGw8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjk2Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzA4Ij48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+a2lsbCBbLXMgPFZBUj5zaWdzcGVjPC9WQVI+XSBbLW4gPFZBUj5zaWdudW08L1ZBUj5dIFstPFZBUj5zaWdzcGVjPC9WQVI+XSA8VkFSPmpvYnNwZWM8L1ZBUj4gb3IgPFZBUj5waWQ8L1ZBUj4KIGtpbGwgLWwgWzxWQVI+ZXhpdF9zdGF0dXM8L1ZBUj5dCiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5TZW5kIGEgc2lnbmFsIHNwZWNpZmllZCBieSA8VkFSPnNpZ3NwZWM8L1ZBUj4gb3IgPFZBUj5zaWdudW08L1ZBUj4gdG8gdGhlIHByb2Nlc3MKQEAgLTg5NDIsNyArOTIwOSw3IEBACiA8UD4KIAogPERUPjxDT0RFPndhaXQ8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjk3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzA5Ij48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+d2FpdCBbPFZBUj5qb2JzcGVjPC9WQVI+IG9yIDxWQVI+cGlkPC9WQVI+IC4uLl0KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPldhaXQgdW50aWwgdGhlIGNoaWxkIHByb2Nlc3Mgc3BlY2lmaWVkIGJ5IGVhY2ggcHJvY2VzcyBJRCA8VkFSPnBpZDwvVkFSPgogb3Igam9iIHNwZWNpZmljYXRpb24gPFZBUj5qb2JzcGVjPC9WQVI+IGV4aXRzIGFuZCByZXR1cm4gdGhlIGV4aXQgc3RhdHVzIG9mIHRoZQpAQCAtODk1NSw3ICs5MjIyLDcgQEAKIDxQPgogCiA8RFQ+PENPREU+ZGlzb3duPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDI5OCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMxMCI+PC9BPgogPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPmRpc293biBbLWFyXSBbLWhdIFs8VkFSPmpvYnNwZWM8L1ZBUj4gPHNtYWxsPi4uLjwvc21hbGw+XQogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+V2l0aG91dCBvcHRpb25zLCBlYWNoIDxWQVI+am9ic3BlYzwvVkFSPiBpcyByZW1vdmVkIGZyb20gdGhlIHRhYmxlIG9mCiBhY3RpdmUgam9icy4KQEAgLTg5NzAsNyArOTIzNyw3IEBACiA8UD4KIAogPERUPjxDT0RFPnN1c3BlbmQ8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMjk5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzExIj48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+c3VzcGVuZCBbLWZdCiA8L3ByZT48L3RkPjwvdHI+PC90YWJsZT5TdXNwZW5kIHRoZSBleGVjdXRpb24gb2YgdGhpcyBzaGVsbCB1bnRpbCBpdCByZWNlaXZlcyBhCiA8Q09ERT5TSUdDT05UPC9DT0RFPiBzaWduYWwuCkBAIC04OTg4LDI3ICs5MjU1LDI3IEBACiAKIDxBIE5BTUU9IkpvYiBDb250cm9sIFZhcmlhYmxlcyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDOTQiPjwvQT4KKzxBIE5BTUU9IlNFQzk1Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTQiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTIiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk2Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDcuMyBKb2IgQ29udHJvbCBWYXJpYWJsZXMgPC9IMj4KLTwhLS1kb2NpZDo6U0VDOTQ6Oi0tPgorPCEtLWRvY2lkOjpTRUM5NTo6LS0+CiA8UD4KIAogPERMIENPTVBBQ1Q+CiAKLTxBIE5BTUU9IklEWDMwMCI+PC9BPgorPEEgTkFNRT0iSURYMzEyIj48L0E+CiA8RFQ+PENPREU+YXV0b19yZXN1bWU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzAxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzEzIj48L0E+CiBUaGlzIHZhcmlhYmxlIGNvbnRyb2xzIGhvdyB0aGUgc2hlbGwgaW50ZXJhY3RzIHdpdGggdGhlIHVzZXIgYW5kCiBqb2IgY29udHJvbC4gIElmIHRoaXMgdmFyaWFibGUgZXhpc3RzIHRoZW4gc2luZ2xlIHdvcmQgc2ltcGxlCiBjb21tYW5kcyB3aXRob3V0IHJlZGlyZWN0aW9ucyBhcmUgdHJlYXRlZCBhcyBjYW5kaWRhdGVzIGZvciByZXN1bXB0aW9uCkBAIC05MDIxLDcgKzkyODgsNyBAQAogaWYgc2V0IHRvIDxTQU1QPmBzdWJzdHJpbmcnPC9TQU1QPiwKIHRoZSBzdHJpbmcgc3VwcGxpZWQgbmVlZHMgdG8gbWF0Y2ggYSBzdWJzdHJpbmcgb2YgdGhlIG5hbWUgb2YgYQogc3RvcHBlZCBqb2IuICBUaGUgPFNBTVA+YHN1YnN0cmluZyc8L1NBTVA+IHZhbHVlIHByb3ZpZGVzIGZ1bmN0aW9uYWxpdHkKLWFuYWxvZ291cyB0byB0aGUgPFNBTVA+YCU/JzwvU0FNUD4gam9iIElEIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTIiPjcuMSBKb2IgQ29udHJvbCBCYXNpY3M8L0E+KS4KK2FuYWxvZ291cyB0byB0aGUgPFNBTVA+YCU/JzwvU0FNUD4gam9iIElEIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMSBKb2IgQ29udHJvbCBCYXNpY3M8L0E+KS4KIElmIHNldCB0byBhbnkgb3RoZXIgdmFsdWUsIHRoZSBzdXBwbGllZCBzdHJpbmcgbXVzdAogYmUgYSBwcmVmaXggb2YgYSBzdG9wcGVkIGpvYidzIG5hbWU7IHRoaXMgcHJvdmlkZXMgZnVuY3Rpb25hbGl0eQogYW5hbG9nb3VzIHRvIHRoZSA8U0FNUD5gJSc8L1NBTVA+IGpvYiBJRC4KQEAgLTkwMzAsMjUgKzkyOTcsMjUgQEAKIDwvREw+CiA8UD4KIAotPEEgTkFNRT0iSURYMzAyIj48L0E+Cis8QSBOQU1FPSJJRFgzMTQiPjwvQT4KIDwvUD48UD4KIAogPEEgTkFNRT0iQ29tbWFuZCBMaW5lIEVkaXRpbmciPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzk1Ij48L0E+Cis8QSBOQU1FPSJTRUM5NiI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk0Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk2Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE5Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTciPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIwIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDE+IDguIENvbW1hbmQgTGluZSBFZGl0aW5nIDwvSDE+Ci08IS0tZG9jaWQ6OlNFQzk1OjotLT4KKzwhLS1kb2NpZDo6U0VDOTY6Oi0tPgogPFA+CiAKIFRoaXMgY2hhcHRlciBkZXNjcmliZXMgdGhlIGJhc2ljIGZlYXR1cmVzIG9mIHRoZSBHTlUKQEAgLTkwNTgsNDYgKzkzMjUsNDYgQEAKIENvbW1hbmQgbGluZSBlZGl0aW5nIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCB3aGVuIHVzaW5nIGFuIGludGVyYWN0aXZlIHNoZWxsLAogdW5sZXNzIHRoZSA8U0FNUD5gLS1ub2VkaXRpbmcnPC9TQU1QPiBvcHRpb24gaXMgc3VwcGxpZWQgYXQgc2hlbGwgaW52b2NhdGlvbi4KIExpbmUgZWRpdGluZyBpcyBhbHNvIHVzZWQgd2hlbiB1c2luZyB0aGUgPFNBTVA+YC1lJzwvU0FNUD4gb3B0aW9uIHRvIHRoZQotPENPREU+cmVhZDwvQ09ERT4gYnVpbHRpbiBjb21tYW5kIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KLUJ5IGRlZmF1bHQsIHRoZSBsaW5lIGVkaXRpbmcgY29tbWFuZHMgYXJlIHNpbWlsYXIgdG8gdGhvc2Ugb2YgZW1hY3MuCis8Q09ERT5yZWFkPC9DT0RFPiBidWlsdGluIGNvbW1hbmQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4pLgorQnkgZGVmYXVsdCwgdGhlIGxpbmUgZWRpdGluZyBjb21tYW5kcyBhcmUgc2ltaWxhciB0byB0aG9zZSBvZiBFbWFjcy4KIEEgdmktc3R5bGUgbGluZSBlZGl0aW5nIGludGVyZmFjZSBpcyBhbHNvIGF2YWlsYWJsZS4KIExpbmUgZWRpdGluZyBjYW4gYmUgZW5hYmxlZCBhdCBhbnkgdGltZSB1c2luZyB0aGUgPFNBTVA+YC1vIGVtYWNzJzwvU0FNUD4gb3IKIDxTQU1QPmAtbyB2aSc8L1NBTVA+IG9wdGlvbnMgdG8gdGhlIDxDT0RFPnNldDwvQ09ERT4gYnVpbHRpbiBjb21tYW5kCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYyIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KSwgb3IgZGlzYWJsZWQgdXNpbmcgdGhlIDxTQU1QPmArbyBlbWFjcyc8L1NBTVA+IG9yIAorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPiksIG9yIGRpc2FibGVkIHVzaW5nIHRoZSA8U0FNUD5gK28gZW1hY3MnPC9TQU1QPiBvciAKIDxTQU1QPmArbyB2aSc8L1NBTVA+IG9wdGlvbnMgdG8gPENPREU+c2V0PC9DT0RFPi4KIDwvUD48UD4KIAogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NiI+OC4xIEludHJvZHVjdGlvbiB0byBMaW5lIEVkaXRpbmc8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ob3RhdGlvbiB1c2VkIGluIHRoaXMgdGV4dC48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk3Ij44LjIgUmVhZGxpbmUgSW50ZXJhY3Rpb248L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5UaGUgbWluaW11bSBzZXQgb2YgY29tbWFuZHMgZm9yIGVkaXRpbmcgYSBsaW5lLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAzIj44LjMgUmVhZGxpbmUgSW5pdCBGaWxlPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+Q3VzdG9taXppbmcgUmVhZGxpbmUgZnJvbSBhIHVzZXIncyB2aWV3LjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA3Ij44LjQgQmluZGFibGUgUmVhZGxpbmUgQ29tbWFuZHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5BIGRlc2NyaXB0aW9uIG9mIG1vc3Qgb2YgdGhlIFJlYWRsaW5lIGNvbW1hbmRzCis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk3Ij44LjEgSW50cm9kdWN0aW9uIHRvIExpbmUgRWRpdGluZzwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPk5vdGF0aW9uIHVzZWQgaW4gdGhpcyB0ZXh0LjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTgiPjguMiBSZWFkbGluZSBJbnRlcmFjdGlvbjwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlRoZSBtaW5pbXVtIHNldCBvZiBjb21tYW5kcyBmb3IgZWRpdGluZyBhIGxpbmUuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMyBSZWFkbGluZSBJbml0IEZpbGU8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5DdXN0b21pemluZyBSZWFkbGluZSBmcm9tIGEgdXNlcidzIHZpZXcuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNCBCaW5kYWJsZSBSZWFkbGluZSBDb21tYW5kczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkEgZGVzY3JpcHRpb24gb2YgbW9zdCBvZiB0aGUgUmVhZGxpbmUgY29tbWFuZHMKIAkJCQlhdmFpbGFibGUgZm9yIGJpbmRpbmc8L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC41IFJlYWRsaW5lIHZpIE1vZGU8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5BIHNob3J0IGRlc2NyaXB0aW9uIG9mIGhvdyB0byBtYWtlIFJlYWRsaW5lCis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC41IFJlYWRsaW5lIHZpIE1vZGU8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5BIHNob3J0IGRlc2NyaXB0aW9uIG9mIGhvdyB0byBtYWtlIFJlYWRsaW5lCiAJCQkJYmVoYXZlIGxpa2UgdGhlIHZpIGVkaXRvci48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRvIHNwZWNpZnkgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGZvcgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0byBzcGVjaWZ5IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBmb3IKIAkJCQlhIHNwZWNpZmljIGNvbW1hbmQuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPjguNyBQcm9ncmFtbWFibGUgQ29tcGxldGlvbiBCdWlsdGluczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkJ1aWx0aW4gY29tbWFuZHMgdG8gc3BlY2lmeSBob3cgdG8KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE5Ij44LjcgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb24gQnVpbHRpbnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5CdWlsdGluIGNvbW1hbmRzIHRvIHNwZWNpZnkgaG93IHRvCiAJCQkJY29tcGxldGUgYXJndW1lbnRzIGZvciBhIHBhcnRpY3VsYXIgY29tbWFuZC48L1REPjwvVFI+CiA8L1RBQkxFPjwvQkxPQ0tRVU9URT4KIDxQPgogCiA8QSBOQU1FPSJJbnRyb2R1Y3Rpb24gYW5kIE5vdGF0aW9uIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM5NiI+PC9BPgorPEEgTkFNRT0iU0VDOTciPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NyI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE5Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTgiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiA4LjEgSW50cm9kdWN0aW9uIHRvIExpbmUgRWRpdGluZyA8L0gyPgotPCEtLWRvY2lkOjpTRUM5Njo6LS0+Cis8IS0tZG9jaWQ6OlNFQzk3OjotLT4KIDxQPgogCiBUaGUgZm9sbG93aW5nIHBhcmFncmFwaHMgZGVzY3JpYmUgdGhlIG5vdGF0aW9uIHVzZWQgdG8gcmVwcmVzZW50CkBAIC05MTM0LDcgKzk0MDEsNyBAQAogSW4gYWRkaXRpb24sIHNldmVyYWwga2V5cyBoYXZlIHRoZWlyIG93biBuYW1lcy4gIFNwZWNpZmljYWxseSwKIDxLQkQ+REVMPC9LQkQ+LCA8S0JEPkVTQzwvS0JEPiwgPEtCRD5MRkQ8L0tCRD4sIDxLQkQ+U1BDPC9LQkQ+LCA8S0JEPlJFVDwvS0JEPiwgYW5kIDxLQkQ+VEFCPC9LQkQ+IGFsbAogc3RhbmQgZm9yIHRoZW1zZWx2ZXMgd2hlbiBzZWVuIGluIHRoaXMgdGV4dCwgb3IgaW4gYW4gaW5pdCBmaWxlCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMyI+OC4zIFJlYWRsaW5lIEluaXQgRmlsZTwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMyBSZWFkbGluZSBJbml0IEZpbGU8L0E+KS4KIElmIHlvdXIga2V5Ym9hcmQgbGFja3MgYSA8S0JEPkxGRDwvS0JEPiBrZXksIHR5cGluZyA8S0JEPkMtajwvS0JEPiB3aWxsCiBwcm9kdWNlIHRoZSBkZXNpcmVkIGNoYXJhY3Rlci4KIFRoZSA8S0JEPlJFVDwvS0JEPiBrZXkgbWF5IGJlIGxhYmVsZWQgPEtCRD5SZXR1cm48L0tCRD4gb3IgPEtCRD5FbnRlcjwvS0JEPiBvbgpAQCAtOTE0MywyMCArOTQxMCwyMCBAQAogCiA8QSBOQU1FPSJSZWFkbGluZSBJbnRlcmFjdGlvbiI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDOTciPjwvQT4KKzxBIE5BTUU9IlNFQzk4Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTgiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NyI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5OSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiA4LjIgUmVhZGxpbmUgSW50ZXJhY3Rpb24gPC9IMj4KLTwhLS1kb2NpZDo6U0VDOTc6Oi0tPgorPCEtLWRvY2lkOjpTRUM5ODo6LS0+CiA8UD4KIAogT2Z0ZW4gZHVyaW5nIGFuIGludGVyYWN0aXZlIHNlc3Npb24geW91IHR5cGUgaW4gYSBsb25nIGxpbmUgb2YgdGV4dCwKQEAgLTkxNzIsMzAgKzk0MzksMzAgQEAKIDwvUD48UD4KIAogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5OCI+OC4yLjEgUmVhZGxpbmUgQmFyZSBFc3NlbnRpYWxzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+VGhlIGxlYXN0IHlvdSBuZWVkIHRvIGtub3cgYWJvdXQgUmVhZGxpbmUuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5OSI+OC4yLjIgUmVhZGxpbmUgTW92ZW1lbnQgQ29tbWFuZHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Nb3ZpbmcgYWJvdXQgdGhlIGlucHV0IGxpbmUuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDAiPjguMi4zIFJlYWRsaW5lIEtpbGxpbmcgQ29tbWFuZHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgdG8gZGVsZXRlIHRleHQsIGFuZCBob3cgdG8gZ2V0IGl0IGJhY2shPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDEiPjguMi40IFJlYWRsaW5lIEFyZ3VtZW50czwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkdpdmluZyBudW1lcmljIGFyZ3VtZW50cyB0byBjb21tYW5kcy48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMiI+OC4yLjUgU2VhcmNoaW5nIGZvciBDb21tYW5kcyBpbiB0aGUgSGlzdG9yeTwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlNlYXJjaGluZyB0aHJvdWdoIHByZXZpb3VzIGxpbmVzLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTkiPjguMi4xIFJlYWRsaW5lIEJhcmUgRXNzZW50aWFsczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlRoZSBsZWFzdCB5b3UgbmVlZCB0byBrbm93IGFib3V0IFJlYWRsaW5lLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAwIj44LjIuMiBSZWFkbGluZSBNb3ZlbWVudCBDb21tYW5kczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPk1vdmluZyBhYm91dCB0aGUgaW5wdXQgbGluZS48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMSI+OC4yLjMgUmVhZGxpbmUgS2lsbGluZyBDb21tYW5kczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0byBkZWxldGUgdGV4dCwgYW5kIGhvdyB0byBnZXQgaXQgYmFjayE8L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMiI+OC4yLjQgUmVhZGxpbmUgQXJndW1lbnRzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+R2l2aW5nIG51bWVyaWMgYXJndW1lbnRzIHRvIGNvbW1hbmRzLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAzIj44LjIuNSBTZWFyY2hpbmcgZm9yIENvbW1hbmRzIGluIHRoZSBIaXN0b3J5PC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+U2VhcmNoaW5nIHRocm91Z2ggcHJldmlvdXMgbGluZXMuPC9URD48L1RSPgogPC9UQUJMRT48L0JMT0NLUVVPVEU+CiA8UD4KIAogPEEgTkFNRT0iUmVhZGxpbmUgQmFyZSBFc3NlbnRpYWxzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM5OCI+PC9BPgorPEEgTkFNRT0iU0VDOTkiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NyI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5OSI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMyI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTciPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk4Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMCI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTgiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiA4LjIuMSBSZWFkbGluZSBCYXJlIEVzc2VudGlhbHMgPC9IMz4KLTwhLS1kb2NpZDo6U0VDOTg6Oi0tPgorPCEtLWRvY2lkOjpTRUM5OTo6LS0+CiA8UD4KIAogSW4gb3JkZXIgdG8gZW50ZXIgY2hhcmFjdGVycyBpbnRvIHRoZSBsaW5lLCBzaW1wbHkgdHlwZSB0aGVtLiAgVGhlIHR5cGVkCkBAIC05MjQ0LDIwICs5NTExLDIwIEBACiAKIDxBIE5BTUU9IlJlYWRsaW5lIE1vdmVtZW50IENvbW1hbmRzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUM5OSI+PC9BPgorPEEgTkFNRT0iU0VDMTAwIj48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTgiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAwIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAwIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NyI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAzIj4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTkiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAxIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAxIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5OCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDguMi4yIFJlYWRsaW5lIE1vdmVtZW50IENvbW1hbmRzIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzk5OjotLT4KKzwhLS1kb2NpZDo6U0VDMTAwOjotLT4KIDxQPgogCiBUaGUgYWJvdmUgdGFibGUgZGVzY3JpYmVzIHRoZSBtb3N0IGJhc2ljIGtleXN0cm9rZXMgdGhhdCB5b3UgbmVlZApAQCAtOTI4OCwyNCArOTU1NSwyNCBAQAogCiA8QSBOQU1FPSJSZWFkbGluZSBLaWxsaW5nIENvbW1hbmRzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMDAiPjwvQT4KKzxBIE5BTUU9IlNFQzEwMSI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk5Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMSI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTciPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDIiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDIiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk4Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gOC4yLjMgUmVhZGxpbmUgS2lsbGluZyBDb21tYW5kcyA8L0gzPgotPCEtLWRvY2lkOjpTRUMxMDA6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMDE6Oi0tPgogPFA+CiAKLTxBIE5BTUU9IklEWDMwMyI+PC9BPgotPEEgTkFNRT0iSURYMzA0Ij48L0E+Cis8QSBOQU1FPSJJRFgzMTUiPjwvQT4KKzxBIE5BTUU9IklEWDMxNiI+PC9BPgogPC9QPjxQPgogCiA8RU0+S2lsbGluZzwvRU0+IHRleHQgbWVhbnMgdG8gZGVsZXRlIHRoZSB0ZXh0IGZyb20gdGhlIGxpbmUsIGJ1dCB0byBzYXZlCkBAIC05MzI1LDcgKzk1OTIsNyBAQAogcmluZyBpcyBub3QgbGluZSBzcGVjaWZpYzsgdGhlIHRleHQgdGhhdCB5b3Uga2lsbGVkIG9uIGEgcHJldmlvdXNseQogdHlwZWQgbGluZSBpcyBhdmFpbGFibGUgdG8gYmUgeWFua2VkIGJhY2sgbGF0ZXIsIHdoZW4geW91IGFyZSB0eXBpbmcKIGFub3RoZXIgbGluZS4KLTxBIE5BTUU9IklEWDMwNSI+PC9BPgorPEEgTkFNRT0iSURYMzE3Ij48L0E+CiA8L1A+PFA+CiAKIEhlcmUgaXMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgZm9yIGtpbGxpbmcgdGV4dC4KQEAgLTkzNzMsMjAgKzk2NDAsMjAgQEAKIAogPEEgTkFNRT0iUmVhZGxpbmUgQXJndW1lbnRzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMDEiPjwvQT4KKzxBIE5BTUU9IlNFQzEwMiI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDIiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDIiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk3Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDEiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAzIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAzIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5OCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDguMi40IFJlYWRsaW5lIEFyZ3VtZW50cyA8L0gzPgotPCEtLWRvY2lkOjpTRUMxMDE6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMDI6Oi0tPgogPFA+CiAKIFlvdSBjYW4gcGFzcyBudW1lcmljIGFyZ3VtZW50cyB0byBSZWFkbGluZSBjb21tYW5kcy4gIFNvbWV0aW1lcyB0aGUKQEAgLTk0MDgsMjQgKzk2NzUsMjQgQEAKIAogPEEgTkFNRT0iU2VhcmNoaW5nIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMDIiPjwvQT4KKzxBIE5BTUU9IlNFQzEwMyI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk3Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDIiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5OCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDguMi41IFNlYXJjaGluZyBmb3IgQ29tbWFuZHMgaW4gdGhlIEhpc3RvcnkgPC9IMz4KLTwhLS1kb2NpZDo6U0VDMTAyOjotLT4KKzwhLS1kb2NpZDo6U0VDMTAzOjotLT4KIDxQPgogCiBSZWFkbGluZSBwcm92aWRlcyBjb21tYW5kcyBmb3Igc2VhcmNoaW5nIHRocm91Z2ggdGhlIGNvbW1hbmQgaGlzdG9yeQotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPjkuMSBCYXNoIEhpc3RvcnkgRmFjaWxpdGllczwvQT4pCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4xIEJhc2ggSGlzdG9yeSBGYWNpbGl0aWVzPC9BPikKIGZvciBsaW5lcyBjb250YWluaW5nIGEgc3BlY2lmaWVkIHN0cmluZy4KIFRoZXJlIGFyZSB0d28gc2VhcmNoIG1vZGVzOiAgPEVNPmluY3JlbWVudGFsPC9FTT4gYW5kIDxFTT5ub24taW5jcmVtZW50YWw8L0VNPi4KIDwvUD48UD4KQEAgLTk0NzEsMjAgKzk3MzgsMjAgQEAKIAogPEEgTkFNRT0iUmVhZGxpbmUgSW5pdCBGaWxlIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMDMiPjwvQT4KKzxBIE5BTUU9IlNFQzEwNCI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMiI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDciPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NiI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDguMyBSZWFkbGluZSBJbml0IEZpbGUgPC9IMj4KLTwhLS1kb2NpZDo6U0VDMTAzOjotLT4KKzwhLS1kb2NpZDo6U0VDMTA0OjotLT4KIDxQPgogCiBBbHRob3VnaCB0aGUgUmVhZGxpbmUgbGlicmFyeSBjb21lcyB3aXRoIGEgc2V0IG9mIEVtYWNzLWxpa2UKQEAgLTk1MDgsNDMgKzk3NzUsNDMgQEAKIDwvUD48UD4KIAogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5TeW50YXggZm9yIHRoZSBjb21tYW5kcyBpbiB0aGUgaW5wdXRyYyBmaWxlLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+U3ludGF4IGZvciB0aGUgY29tbWFuZHMgaW4gdGhlIGlucHV0cmMgZmlsZS48L1REPjwvVFI+CiA8L1RBQkxFPgogCiA8YnI+CiA8VEFCTEUgQk9SREVSPTAgQ0VMTFNQQUNJTkc9MD4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMiBDb25kaXRpb25hbCBJbml0IENvbnN0cnVjdHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Db25kaXRpb25hbCBrZXkgYmluZGluZ3MgaW4gdGhlIGlucHV0cmMgZmlsZS48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNiI+OC4zLjIgQ29uZGl0aW9uYWwgSW5pdCBDb25zdHJ1Y3RzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+Q29uZGl0aW9uYWwga2V5IGJpbmRpbmdzIGluIHRoZSBpbnB1dHJjIGZpbGUuPC9URD48L1RSPgogPC9UQUJMRT4KIAogPGJyPgogPFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNiI+OC4zLjMgU2FtcGxlIEluaXQgRmlsZTwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkFuIGV4YW1wbGUgaW5wdXRyYyBmaWxlLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA3Ij44LjMuMyBTYW1wbGUgSW5pdCBGaWxlPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+QW4gZXhhbXBsZSBpbnB1dHJjIGZpbGUuPC9URD48L1RSPgogPC9UQUJMRT48L0JMT0NLUVVPVEU+CiA8UD4KIAogPEEgTkFNRT0iUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheCI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTA0Ij48L0E+Cis8QSBOQU1FPSJTRUMxMDUiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA3Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDYiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXggPC9IMz4KLTwhLS1kb2NpZDo6U0VDMTA0OjotLT4KKzwhLS1kb2NpZDo6U0VDMTA1OjotLT4KIDxQPgogCiBUaGVyZSBhcmUgb25seSBhIGZldyBiYXNpYyBjb25zdHJ1Y3RzIGFsbG93ZWQgaW4gdGhlCiBSZWFkbGluZSBpbml0IGZpbGUuICBCbGFuayBsaW5lcyBhcmUgaWdub3JlZC4KIExpbmVzIGJlZ2lubmluZyB3aXRoIGEgPFNBTVA+YCMnPC9TQU1QPiBhcmUgY29tbWVudHMuCiBMaW5lcyBiZWdpbm5pbmcgd2l0aCBhIDxTQU1QPmAkJzwvU0FNUD4gaW5kaWNhdGUgY29uZGl0aW9uYWwKLWNvbnN0cnVjdHMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDUiPjguMy4yIENvbmRpdGlvbmFsIEluaXQgQ29uc3RydWN0czwvQT4pLiAgT3RoZXIgbGluZXMKK2NvbnN0cnVjdHMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDYiPjguMy4yIENvbmRpdGlvbmFsIEluaXQgQ29uc3RydWN0czwvQT4pLiAgT3RoZXIgbGluZXMKIGRlbm90ZSB2YXJpYWJsZSBzZXR0aW5ncyBhbmQga2V5IGJpbmRpbmdzLgogPC9QPjxQPgogCkBAIC05NTc3LDE4ICs5ODQ0LDE4IEBACiA8L1A+PFA+CiAKIFRoZSA8Q09ERT5iaW5kIC1WPC9DT0RFPiBjb21tYW5kIGxpc3RzIHRoZSBjdXJyZW50IFJlYWRsaW5lIHZhcmlhYmxlIG5hbWVzCi1hbmQgdmFsdWVzLiAgU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPi4KK2FuZCB2YWx1ZXMuICBTZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+LgogPC9QPjxQPgogCiBBIGdyZWF0IGRlYWwgb2YgcnVuLXRpbWUgYmVoYXZpb3IgaXMgY2hhbmdlYWJsZSB3aXRoIHRoZSBmb2xsb3dpbmcKIHZhcmlhYmxlcy4KIDwvUD48UD4KIAotPEEgTkFNRT0iSURYMzA2Ij48L0E+Cis8QSBOQU1FPSJJRFgzMTgiPjwvQT4KIDxETCBDT01QQUNUPgogCiA8RFQ+PENPREU+YmVsbC1zdHlsZTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMDciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMTkiPjwvQT4KIENvbnRyb2xzIHdoYXQgaGFwcGVucyB3aGVuIFJlYWRsaW5lIHdhbnRzIHRvIHJpbmcgdGhlIHRlcm1pbmFsIGJlbGwuCiBJZiBzZXQgdG8gPFNBTVA+YG5vbmUnPC9TQU1QPiwgUmVhZGxpbmUgbmV2ZXIgcmluZ3MgdGhlIGJlbGwuICBJZiBzZXQgdG8KIDxTQU1QPmB2aXNpYmxlJzwvU0FNUD4sIFJlYWRsaW5lIHVzZXMgYSB2aXNpYmxlIGJlbGwgaWYgb25lIGlzIGF2YWlsYWJsZS4KQEAgLTk1OTcsMjcgKzk4NjQsNDUgQEAKIDxQPgogCiA8RFQ+PENPREU+YmluZC10dHktc3BlY2lhbC1jaGFyczwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMDgiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMjAiPjwvQT4KIElmIHNldCB0byA8U0FNUD5gb24nPC9TQU1QPiwgUmVhZGxpbmUgYXR0ZW1wdHMgdG8gYmluZCB0aGUgY29udHJvbCBjaGFyYWN0ZXJzICAKIHRyZWF0ZWQgc3BlY2lhbGx5IGJ5IHRoZSBrZXJuZWwncyB0ZXJtaW5hbCBkcml2ZXIgdG8gdGhlaXIgUmVhZGxpbmUKIGVxdWl2YWxlbnRzLgogPFA+CiAKIDxEVD48Q09ERT5jb21tZW50LWJlZ2luPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMwOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMyMSI+PC9BPgogVGhlIHN0cmluZyB0byBpbnNlcnQgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgbGluZSB3aGVuIHRoZQogPENPREU+aW5zZXJ0LWNvbW1lbnQ8L0NPREU+IGNvbW1hbmQgaXMgZXhlY3V0ZWQuICBUaGUgZGVmYXVsdCB2YWx1ZQogaXMgPENPREU+IiMiPC9DT0RFPi4KIDxQPgogCis8RFQ+PENPREU+Y29tcGxldGlvbi1kaXNwbGF5LXdpZHRoPC9DT0RFPgorPEREPjxBIE5BTUU9IklEWDMyMiI+PC9BPgorVGhlIG51bWJlciBvZiBzY3JlZW4gY29sdW1ucyB1c2VkIHRvIGRpc3BsYXkgcG9zc2libGUgbWF0Y2hlcword2hlbiBwZXJmb3JtaW5nIGNvbXBsZXRpb24uCitUaGUgdmFsdWUgaXMgaWdub3JlZCBpZiBpdCBpcyBsZXNzIHRoYW4gMCBvciBncmVhdGVyIHRoYW4gdGhlIHRlcm1pbmFsCitzY3JlZW4gd2lkdGguCitBIHZhbHVlIG9mIDAgd2lsbCBjYXVzZSBtYXRjaGVzIHRvIGJlIGRpc3BsYXllZCBvbmUgcGVyIGxpbmUuCitUaGUgZGVmYXVsdCB2YWx1ZSBpcyAtMS4KKzxQPgorCiA8RFQ+PENPREU+Y29tcGxldGlvbi1pZ25vcmUtY2FzZTwvQ09ERT4KLTxERD5JZiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIFJlYWRsaW5lIHBlcmZvcm1zIGZpbGVuYW1lIG1hdGNoaW5nIGFuZCBjb21wbGV0aW9uCis8REQ+PEEgTkFNRT0iSURYMzIzIj48L0E+CitJZiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIFJlYWRsaW5lIHBlcmZvcm1zIGZpbGVuYW1lIG1hdGNoaW5nIGFuZCBjb21wbGV0aW9uCiBpbiBhIGNhc2UtaW5zZW5zaXRpdmUgZmFzaGlvbi4KIFRoZSBkZWZhdWx0IHZhbHVlIGlzIDxTQU1QPmBvZmYnPC9TQU1QPi4KIDxQPgogCis8RFQ+PENPREU+Y29tcGxldGlvbi1tYXAtY2FzZTwvQ09ERT4KKzxERD48QSBOQU1FPSJJRFgzMjQiPjwvQT4KK0lmIHNldCB0byA8U0FNUD5gb24nPC9TQU1QPiwgYW5kIDxWQVI+Y29tcGxldGlvbi1pZ25vcmUtY2FzZTwvVkFSPiBpcyBlbmFibGVkLCBSZWFkbGluZQordHJlYXRzIGh5cGhlbnMgKDxTQU1QPmAtJzwvU0FNUD4pIGFuZCB1bmRlcnNjb3JlcyAoPFNBTVA+YF8nPC9TQU1QPikgYXMgZXF1aXZhbGVudCB3aGVuCitwZXJmb3JtaW5nIGNhc2UtaW5zZW5zaXRpdmUgZmlsZW5hbWUgbWF0Y2hpbmcgYW5kIGNvbXBsZXRpb24uCis8UD4KKwogPERUPjxDT0RFPmNvbXBsZXRpb24tcHJlZml4LWRpc3BsYXktbGVuZ3RoPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMxMCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMyNSI+PC9BPgogVGhlIGxlbmd0aCBpbiBjaGFyYWN0ZXJzIG9mIHRoZSBjb21tb24gcHJlZml4IG9mIGEgbGlzdCBvZiBwb3NzaWJsZQogY29tcGxldGlvbnMgdGhhdCBpcyBkaXNwbGF5ZWQgd2l0aG91dCBtb2RpZmljYXRpb24uICBXaGVuIHNldCB0byBhCiB2YWx1ZSBncmVhdGVyIHRoYW4gemVybywgY29tbW9uIHByZWZpeGVzIGxvbmdlciB0aGFuIHRoaXMgdmFsdWUgYXJlCkBAIC05NjI1LDcgKzk5MTAsNyBAQAogPFA+CiAKIDxEVD48Q09ERT5jb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMxMSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMyNiI+PC9BPgogVGhlIG51bWJlciBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgdXNlciBpcwogYXNrZWQgd2hldGhlciB0aGUgbGlzdCBvZiBwb3NzaWJpbGl0aWVzIHNob3VsZCBiZSBkaXNwbGF5ZWQuCiBJZiB0aGUgbnVtYmVyIG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIGlzIGdyZWF0ZXIgdGhhbiB0aGlzIHZhbHVlLApAQCAtOTYzNyw3ICs5OTIyLDcgQEAKIDxQPgogCiA8RFQ+PENPREU+Y29udmVydC1tZXRhPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMxMiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMyNyI+PC9BPgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCBSZWFkbGluZSB3aWxsIGNvbnZlcnQgY2hhcmFjdGVycyB3aXRoIHRoZQogZWlnaHRoIGJpdCBzZXQgdG8gYW4gQVNDSUkga2V5IHNlcXVlbmNlIGJ5IHN0cmlwcGluZyB0aGUgZWlnaHRoCiBiaXQgYW5kIHByZWZpeGluZyBhbiA8S0JEPkVTQzwvS0JEPiBjaGFyYWN0ZXIsIGNvbnZlcnRpbmcgdGhlbSB0byBhCkBAIC05NjQ1LDE0ICs5OTMwLDE0IEBACiA8UD4KIAogPERUPjxDT0RFPmRpc2FibGUtY29tcGxldGlvbjwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMTMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMjgiPjwvQT4KIElmIHNldCB0byA8U0FNUD5gT24nPC9TQU1QPiwgUmVhZGxpbmUgd2lsbCBpbmhpYml0IHdvcmQgY29tcGxldGlvbi4KIENvbXBsZXRpb24gIGNoYXJhY3RlcnMgd2lsbCBiZSBpbnNlcnRlZCBpbnRvIHRoZSBsaW5lIGFzIGlmIHRoZXkgaGFkCiBiZWVuIG1hcHBlZCB0byA8Q09ERT5zZWxmLWluc2VydDwvQ09ERT4uICBUaGUgZGVmYXVsdCBpcyA8U0FNUD5gb2ZmJzwvU0FNUD4uCiA8UD4KIAogPERUPjxDT0RFPmVkaXRpbmctbW9kZTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMTQiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMjkiPjwvQT4KIFRoZSA8Q09ERT5lZGl0aW5nLW1vZGU8L0NPREU+IHZhcmlhYmxlIGNvbnRyb2xzIHdoaWNoIGRlZmF1bHQgc2V0IG9mCiBrZXkgYmluZGluZ3MgaXMgdXNlZC4gIEJ5IGRlZmF1bHQsIFJlYWRsaW5lIHN0YXJ0cyB1cCBpbiBFbWFjcyBlZGl0aW5nCiBtb2RlLCB3aGVyZSB0aGUga2V5c3Ryb2tlcyBhcmUgbW9zdCBzaW1pbGFyIHRvIEVtYWNzLiAgVGhpcyB2YXJpYWJsZSBjYW4gYmUKQEAgLTk2NjYsNyArOTk1MSw3IEBACiA8UD4KIAogPERUPjxDT0RFPmVuYWJsZS1rZXlwYWQ8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzE1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzMwIj48L0E+CiBXaGVuIHNldCB0byA8U0FNUD5gb24nPC9TQU1QPiwgUmVhZGxpbmUgd2lsbCB0cnkgdG8gZW5hYmxlIHRoZSBhcHBsaWNhdGlvbgoga2V5cGFkIHdoZW4gaXQgaXMgY2FsbGVkLiAgU29tZSBzeXN0ZW1zIG5lZWQgdGhpcyB0byBlbmFibGUgdGhlCiBhcnJvdyBrZXlzLiAgVGhlIGRlZmF1bHQgaXMgPFNBTVA+YG9mZic8L1NBTVA+LgpAQCAtOTY4MCwxMyArOTk2NSwxMyBAQAogPFA+CiAKIDxEVD48Q09ERT5leHBhbmQtdGlsZGU8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzE2Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzMxIj48L0E+CiBJZiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIHRpbGRlIGV4cGFuc2lvbiBpcyBwZXJmb3JtZWQgd2hlbiBSZWFkbGluZQogYXR0ZW1wdHMgd29yZCBjb21wbGV0aW9uLiAgVGhlIGRlZmF1bHQgaXMgPFNBTVA+YG9mZic8L1NBTVA+LgogPFA+CiAKIDxEVD48Q09ERT5oaXN0b3J5LXByZXNlcnZlLXBvaW50PC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMxNyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMzMiI+PC9BPgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCB0aGUgaGlzdG9yeSBjb2RlIGF0dGVtcHRzIHRvIHBsYWNlIHRoZSBwb2ludCAodGhlCiBjdXJyZW50IGN1cnNvciBwb3NpdGlvbikgYXQgdGhlCiBzYW1lIGxvY2F0aW9uIG9uIGVhY2ggaGlzdG9yeSBsaW5lIHJldHJpZXZlZCB3aXRoIDxDT0RFPnByZXZpb3VzLWhpc3Rvcnk8L0NPREU+CkBAIC05Njk0LDEzICs5OTc5LDEzIEBACiA8UD4KIAogPERUPjxDT0RFPmhpc3Rvcnktc2l6ZTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMTgiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMzMiPjwvQT4KIFNldCB0aGUgbWF4aW11bSBudW1iZXIgb2YgaGlzdG9yeSBlbnRyaWVzIHNhdmVkIGluIHRoZSBoaXN0b3J5IGxpc3QuICBJZgogc2V0IHRvIHplcm8sIHRoZSBudW1iZXIgb2YgZW50cmllcyBpbiB0aGUgaGlzdG9yeSBsaXN0IGlzIG5vdCBsaW1pdGVkLgogPFA+CiAKIDxEVD48Q09ERT5ob3Jpem9udGFsLXNjcm9sbC1tb2RlPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMxOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMzNCI+PC9BPgogVGhpcyB2YXJpYWJsZSBjYW4gYmUgc2V0IHRvIGVpdGhlciA8U0FNUD5gb24nPC9TQU1QPiBvciA8U0FNUD5gb2ZmJzwvU0FNUD4uICBTZXR0aW5nIGl0CiB0byA8U0FNUD5gb24nPC9TQU1QPiBtZWFucyB0aGF0IHRoZSB0ZXh0IG9mIHRoZSBsaW5lcyBiZWluZyBlZGl0ZWQgd2lsbCBzY3JvbGwKIGhvcml6b250YWxseSBvbiBhIHNpbmdsZSBzY3JlZW4gbGluZSB3aGVuIHRoZXkgYXJlIGxvbmdlciB0aGFuIHRoZSB3aWR0aApAQCAtOTcwOSw4ICs5OTk0LDggQEAKIDxQPgogCiA8RFQ+PENPREU+aW5wdXQtbWV0YTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMjAiPjwvQT4KLTxBIE5BTUU9IklEWDMyMSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMzNSI+PC9BPgorPEEgTkFNRT0iSURYMzM2Ij48L0E+CiBJZiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIFJlYWRsaW5lIHdpbGwgZW5hYmxlIGVpZ2h0LWJpdCBpbnB1dCAoaXQKIHdpbGwgbm90IGNsZWFyIHRoZSBlaWdodGggYml0IGluIHRoZSBjaGFyYWN0ZXJzIGl0IHJlYWRzKSwKIHJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGUgdGVybWluYWwgY2xhaW1zIGl0IGNhbiBzdXBwb3J0LiAgVGhlCkBAIC05NzE5LDE1ICsxMDAwNCwxNSBAQAogPFA+CiAKIDxEVD48Q09ERT5pc2VhcmNoLXRlcm1pbmF0b3JzPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMyMiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMzNyI+PC9BPgogVGhlIHN0cmluZyBvZiBjaGFyYWN0ZXJzIHRoYXQgc2hvdWxkIHRlcm1pbmF0ZSBhbiBpbmNyZW1lbnRhbCBzZWFyY2ggd2l0aG91dAotc3Vic2VxdWVudGx5IGV4ZWN1dGluZyB0aGUgY2hhcmFjdGVyIGFzIGEgY29tbWFuZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMiI+OC4yLjUgU2VhcmNoaW5nIGZvciBDb21tYW5kcyBpbiB0aGUgSGlzdG9yeTwvQT4pLgorc3Vic2VxdWVudGx5IGV4ZWN1dGluZyB0aGUgY2hhcmFjdGVyIGFzIGEgY29tbWFuZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMyI+OC4yLjUgU2VhcmNoaW5nIGZvciBDb21tYW5kcyBpbiB0aGUgSGlzdG9yeTwvQT4pLgogSWYgdGhpcyB2YXJpYWJsZSBoYXMgbm90IGJlZW4gZ2l2ZW4gYSB2YWx1ZSwgdGhlIGNoYXJhY3RlcnMgPEtCRD5FU0M8L0tCRD4gYW5kCiA8S0JEPkMtSjwvS0JEPiB3aWxsIHRlcm1pbmF0ZSBhbiBpbmNyZW1lbnRhbCBzZWFyY2guCiA8UD4KIAogPERUPjxDT0RFPmtleW1hcDwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMjMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzMzgiPjwvQT4KIFNldHMgUmVhZGxpbmUncyBpZGVhIG9mIHRoZSBjdXJyZW50IGtleW1hcCBmb3Iga2V5IGJpbmRpbmcgY29tbWFuZHMuCiBBY2NlcHRhYmxlIDxDT0RFPmtleW1hcDwvQ09ERT4gbmFtZXMgYXJlCiA8Q09ERT5lbWFjczwvQ09ERT4sCkBAIC05NzUwLDE0ICsxMDAzNSwxNCBAQAogPFA+CiAKIDxEVD48Q09ERT5tYXJrLW1vZGlmaWVkLWxpbmVzPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMyNCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDMzOSI+PC9BPgogVGhpcyB2YXJpYWJsZSwgd2hlbiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIGNhdXNlcyBSZWFkbGluZSB0byBkaXNwbGF5IGFuCiBhc3RlcmlzayAoPFNBTVA+YConPC9TQU1QPikgYXQgdGhlIHN0YXJ0IG9mIGhpc3RvcnkgbGluZXMgd2hpY2ggaGF2ZSBiZWVuIG1vZGlmaWVkLgogVGhpcyB2YXJpYWJsZSBpcyA8U0FNUD5gb2ZmJzwvU0FNUD4gYnkgZGVmYXVsdC4KIDxQPgogCiA8RFQ+PENPREU+bWFyay1zeW1saW5rZWQtZGlyZWN0b3JpZXM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzI1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzQwIj48L0E+CiBJZiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIGNvbXBsZXRlZCBuYW1lcyB3aGljaCBhcmUgc3ltYm9saWMgbGlua3MKIHRvIGRpcmVjdG9yaWVzIGhhdmUgYSBzbGFzaCBhcHBlbmRlZCAoc3ViamVjdCB0byB0aGUgdmFsdWUgb2YKIDxDT0RFPm1hcmstZGlyZWN0b3JpZXM8L0NPREU+KS4KQEAgLTk3NjUsMjMgKzEwMDUwLDMxIEBACiA8UD4KIAogPERUPjxDT0RFPm1hdGNoLWhpZGRlbi1maWxlczwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzMjYiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNDEiPjwvQT4KIFRoaXMgdmFyaWFibGUsIHdoZW4gc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCBjYXVzZXMgUmVhZGxpbmUgdG8gbWF0Y2ggZmlsZXMgd2hvc2UKIG5hbWVzIGJlZ2luIHdpdGggYSA8U0FNUD5gLic8L1NBTVA+IChoaWRkZW4gZmlsZXMpIHdoZW4gcGVyZm9ybWluZyBmaWxlbmFtZQotY29tcGxldGlvbiwgdW5sZXNzIHRoZSBsZWFkaW5nIDxTQU1QPmAuJzwvU0FNUD4gaXMKK2NvbXBsZXRpb24uCitJZiBzZXQgdG8gPFNBTVA+YG9mZic8L1NBTVA+LCB0aGUgbGVhZGluZyA8U0FNUD5gLic8L1NBTVA+IG11c3QgYmUKIHN1cHBsaWVkIGJ5IHRoZSB1c2VyIGluIHRoZSBmaWxlbmFtZSB0byBiZSBjb21wbGV0ZWQuCiBUaGlzIHZhcmlhYmxlIGlzIDxTQU1QPmBvbic8L1NBTVA+IGJ5IGRlZmF1bHQuCiA8UD4KIAorPERUPjxDT0RFPm1lbnUtY29tcGxldGUtZGlzcGxheS1wcmVmaXg8L0NPREU+Cis8REQ+PEEgTkFNRT0iSURYMzQyIj48L0E+CitJZiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIG1lbnUgY29tcGxldGlvbiBkaXNwbGF5cyB0aGUgY29tbW9uIHByZWZpeCBvZiB0aGUKK2xpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMgKHdoaWNoIG1heSBiZSBlbXB0eSkgYmVmb3JlIGN5Y2xpbmcgdGhyb3VnaAordGhlIGxpc3QuICBUaGUgZGVmYXVsdCBpcyA8U0FNUD5gb2ZmJzwvU0FNUD4uCis8UD4KKwogPERUPjxDT0RFPm91dHB1dC1tZXRhPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMyNyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM0MyI+PC9BPgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCBSZWFkbGluZSB3aWxsIGRpc3BsYXkgY2hhcmFjdGVycyB3aXRoIHRoZQogZWlnaHRoIGJpdCBzZXQgZGlyZWN0bHkgcmF0aGVyIHRoYW4gYXMgYSBtZXRhLXByZWZpeGVkIGVzY2FwZQogc2VxdWVuY2UuICBUaGUgZGVmYXVsdCBpcyA8U0FNUD5gb2ZmJzwvU0FNUD4uCiA8UD4KIAogPERUPjxDT0RFPnBhZ2UtY29tcGxldGlvbnM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzI4Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzQ0Ij48L0E+CiBJZiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIFJlYWRsaW5lIHVzZXMgYW4gaW50ZXJuYWwgPENPREU+bW9yZTwvQ09ERT4tbGlrZSBwYWdlcgogdG8gZGlzcGxheSBhIHNjcmVlbmZ1bCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBhdCBhIHRpbWUuCiBUaGlzIHZhcmlhYmxlIGlzIDxTQU1QPmBvbic8L1NBTVA+IGJ5IGRlZmF1bHQuCkBAIC05Nzk0LDcgKzEwMDg3LDcgQEAKIDxQPgogCiA8RFQ+PENPREU+cmV2ZXJ0LWFsbC1hdC1uZXdsaW5lPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMyOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM0NSI+PC9BPgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCBSZWFkbGluZSB3aWxsIHVuZG8gYWxsIGNoYW5nZXMgdG8gaGlzdG9yeSBsaW5lcwogYmVmb3JlIHJldHVybmluZyB3aGVuIDxDT0RFPmFjY2VwdC1saW5lPC9DT0RFPiBpcyBleGVjdXRlZC4gIEJ5IGRlZmF1bHQsCiBoaXN0b3J5IGxpbmVzIG1heSBiZSBtb2RpZmllZCBhbmQgcmV0YWluIGluZGl2aWR1YWwgdW5kbyBsaXN0cyBhY3Jvc3MKQEAgLTk4MDIsNyArMTAwOTUsNyBAQAogPFA+CiAKIDxEVD48Q09ERT5zaG93LWFsbC1pZi1hbWJpZ3VvdXM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzMwIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzQ2Ij48L0E+CiBUaGlzIGFsdGVycyB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgY29tcGxldGlvbiBmdW5jdGlvbnMuICBJZgogc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCAKIHdvcmRzIHdoaWNoIGhhdmUgbW9yZSB0aGFuIG9uZSBwb3NzaWJsZSBjb21wbGV0aW9uIGNhdXNlIHRoZQpAQCAtOTgxMSw3ICsxMDEwNCw3IEBACiA8UD4KIAogPERUPjxDT0RFPnNob3ctYWxsLWlmLXVubW9kaWZpZWQ8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzMxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzQ3Ij48L0E+CiBUaGlzIGFsdGVycyB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgY29tcGxldGlvbiBmdW5jdGlvbnMgaW4KIGEgZmFzaGlvbiBzaW1pbGFyIHRvIDxWQVI+c2hvdy1hbGwtaWYtYW1iaWd1b3VzPC9WQVI+LgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCAKQEAgLTk4MjMsNyArMTAxMTYsNyBAQAogPFA+CiAKIDxEVD48Q09ERT5za2lwLWNvbXBsZXRlZC10ZXh0PC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMzMiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM0OCI+PC9BPgogSWYgc2V0IHRvIDxTQU1QPmBvbic8L1NBTVA+LCB0aGlzIGFsdGVycyB0aGUgZGVmYXVsdCBjb21wbGV0aW9uIGJlaGF2aW9yIHdoZW4KIGluc2VydGluZyBhIHNpbmdsZSBtYXRjaCBpbnRvIHRoZSBsaW5lLiAgSXQncyBvbmx5IGFjdGl2ZSB3aGVuCiBwZXJmb3JtaW5nIGNvbXBsZXRpb24gaW4gdGhlIG1pZGRsZSBvZiBhIHdvcmQuICBJZiBlbmFibGVkLCByZWFkbGluZQpAQCAtOTgzOCw3ICsxMDEzMSw3IEBACiA8UD4KIAogPERUPjxDT0RFPnZpc2libGUtc3RhdHM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzMzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzQ5Ij48L0E+CiBJZiBzZXQgdG8gPFNBTVA+YG9uJzwvU0FNUD4sIGEgY2hhcmFjdGVyIGRlbm90aW5nIGEgZmlsZSdzIHR5cGUKIGlzIGFwcGVuZGVkIHRvIHRoZSBmaWxlbmFtZSB3aGVuIGxpc3RpbmcgcG9zc2libGUKIGNvbXBsZXRpb25zLiAgVGhlIGRlZmF1bHQgaXMgPFNBTVA+YG9mZic8L1NBTVA+LgpAQCAtOTg3MSw3ICsxMDE2NCw3IEBACiAKIFRoZSA8Q09ERT5iaW5kIC1wPC9DT0RFPiBjb21tYW5kIGRpc3BsYXlzIFJlYWRsaW5lIGZ1bmN0aW9uIG5hbWVzIGFuZAogYmluZGluZ3MgaW4gYSBmb3JtYXQgdGhhdCBjYW4gcHV0IGRpcmVjdGx5IGludG8gYW4gaW5pdGlhbGl6YXRpb24gZmlsZS4KLVNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4uCitTZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+LgogPC9QPjxQPgogCiA8REwgQ09NUEFDVD4KQEAgLTk5OTUsMjAgKzEwMjg4LDIwIEBACiAKIDxBIE5BTUU9IkNvbmRpdGlvbmFsIEluaXQgQ29uc3RydWN0cyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTA1Ij48L0E+Cis8QSBOQU1FPSJTRUMxMDYiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA2Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA2Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDciPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDciPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDguMy4yIENvbmRpdGlvbmFsIEluaXQgQ29uc3RydWN0cyA8L0gzPgotPCEtLWRvY2lkOjpTRUMxMDU6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMDY6Oi0tPgogPFA+CiAKIFJlYWRsaW5lIGltcGxlbWVudHMgYSBmYWNpbGl0eSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgY29uZGl0aW9uYWwKQEAgLTEwMDgwLDIwICsxMDM3MywyMCBAQAogCiA8QSBOQU1FPSJTYW1wbGUgSW5pdCBGaWxlIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMDYiPjwvQT4KKzxBIE5BTUU9IlNFQzEwNyI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDciPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDciPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMyI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA3Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA2Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gOC4zLjMgU2FtcGxlIEluaXQgRmlsZSA8L0gzPgotPCEtLWRvY2lkOjpTRUMxMDY6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMDc6Oi0tPgogPFA+CiAKIEhlcmUgaXMgYW4gZXhhbXBsZSBvZiBhbiA8VkFSPmlucHV0cmM8L1ZBUj4gZmlsZS4gIFRoaXMgaWxsdXN0cmF0ZXMga2V5CkBAIC0xMDIwMywzMSArMTA0OTYsMzEgQEAKIAogPEEgTkFNRT0iQmluZGFibGUgUmVhZGxpbmUgQ29tbWFuZHMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzEwNyI+PC9BPgorPEEgTkFNRT0iU0VDMTA4Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA2Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNyI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk2Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gOC40IEJpbmRhYmxlIFJlYWRsaW5lIENvbW1hbmRzIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzEwNzo6LS0+Cis8IS0tZG9jaWQ6OlNFQzEwODo6LS0+CiA8UD4KIAogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Nb3ZpbmcgYWJvdXQgdGhlIGxpbmUuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5HZXR0aW5nIGF0IHByZXZpb3VzIGxpbmVzLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkNvbW1hbmRzIGZvciBjaGFuZ2luZyB0ZXh0LjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+Q29tbWFuZHMgZm9yIGtpbGxpbmcgYW5kIHlhbmtpbmcuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPjguNC41IFNwZWNpZnlpbmcgTnVtZXJpYyBBcmd1bWVudHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5TcGVjaWZ5aW5nIG51bWVyaWMgYXJndW1lbnRzLCByZXBlYXQgY291bnRzLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkdldHRpbmcgUmVhZGxpbmUgdG8gZG8gdGhlIHR5cGluZyBmb3IgeW91LjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNyBLZXlib2FyZCBNYWNyb3M8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5TYXZpbmcgYW5kIHJlLWV4ZWN1dGluZyB0eXBlZCBjaGFyYWN0ZXJzPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPk90aGVyIG1pc2NlbGxhbmVvdXMgY29tbWFuZHMuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Nb3ZpbmcgYWJvdXQgdGhlIGxpbmUuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5HZXR0aW5nIGF0IHByZXZpb3VzIGxpbmVzLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkNvbW1hbmRzIGZvciBjaGFuZ2luZyB0ZXh0LjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+Q29tbWFuZHMgZm9yIGtpbGxpbmcgYW5kIHlhbmtpbmcuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC41IFNwZWNpZnlpbmcgTnVtZXJpYyBBcmd1bWVudHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5TcGVjaWZ5aW5nIG51bWVyaWMgYXJndW1lbnRzLCByZXBlYXQgY291bnRzLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkdldHRpbmcgUmVhZGxpbmUgdG8gZG8gdGhlIHR5cGluZyBmb3IgeW91LjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuNyBLZXlib2FyZCBNYWNyb3M8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5TYXZpbmcgYW5kIHJlLWV4ZWN1dGluZyB0eXBlZCBjaGFyYWN0ZXJzPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPk90aGVyIG1pc2NlbGxhbmVvdXMgY29tbWFuZHMuPC9URD48L1RSPgogPC9UQUJMRT48L0JMT0NLUVVPVEU+CiA8UD4KIApAQCAtMTAyMzUsNyArMTA1MjgsNyBAQAogc2VxdWVuY2VzLgogWW91IGNhbiBsaXN0IHlvdXIga2V5IGJpbmRpbmdzIGJ5IGV4ZWN1dGluZwogPENPREU+YmluZCAtUDwvQ09ERT4gb3IsIGZvciBhIG1vcmUgdGVyc2UgZm9ybWF0LCBzdWl0YWJsZSBmb3IgYW4KLTxWQVI+aW5wdXRyYzwvVkFSPiBmaWxlLCA8Q09ERT5iaW5kIC1wPC9DT0RFPi4gIChTZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+LikKKzxWQVI+aW5wdXRyYzwvVkFSPiBmaWxlLCA8Q09ERT5iaW5kIC1wPC9DT0RFPi4gIChTZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+LikKIENvbW1hbmQgbmFtZXMgd2l0aG91dCBhbiBhY2NvbXBhbnlpbmcga2V5IHNlcXVlbmNlIGFyZSB1bmJvdW5kIGJ5IGRlZmF1bHQuCiA8L1A+PFA+CiAKQEAgLTEwMjQ3LDgzICsxMDU0MCw4MyBAQAogCiA8QSBOQU1FPSJDb21tYW5kcyBGb3IgTW92aW5nIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMDgiPjwvQT4KKzxBIE5BTUU9IlNFQzEwOSI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNyI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNyI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gOC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZyA8L0gzPgotPCEtLWRvY2lkOjpTRUMxMDg6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMDk6Oi0tPgogPERMIENPTVBBQ1Q+Ci08QSBOQU1FPSJJRFgzMzQiPjwvQT4KKzxBIE5BTUU9IklEWDM1MCI+PC9BPgogPERUPjxDT0RFPmJlZ2lubmluZy1vZi1saW5lIChDLWEpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMzNSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM1MSI+PC9BPgogTW92ZSB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgbGluZS4KIDxQPgogCi08QSBOQU1FPSJJRFgzMzYiPjwvQT4KKzxBIE5BTUU9IklEWDM1MiI+PC9BPgogPERUPjxDT0RFPmVuZC1vZi1saW5lIChDLWUpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMzNyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM1MyI+PC9BPgogTW92ZSB0byB0aGUgZW5kIG9mIHRoZSBsaW5lLgogPFA+CiAKLTxBIE5BTUU9IklEWDMzOCI+PC9BPgorPEEgTkFNRT0iSURYMzU0Ij48L0E+CiA8RFQ+PENPREU+Zm9yd2FyZC1jaGFyIChDLWYpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDMzOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM1NSI+PC9BPgogTW92ZSBmb3J3YXJkIGEgY2hhcmFjdGVyLgogPFA+CiAKLTxBIE5BTUU9IklEWDM0MCI+PC9BPgorPEEgTkFNRT0iSURYMzU2Ij48L0E+CiA8RFQ+PENPREU+YmFja3dhcmQtY2hhciAoQy1iKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNDEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNTciPjwvQT4KIE1vdmUgYmFjayBhIGNoYXJhY3Rlci4KIDxQPgogCi08QSBOQU1FPSJJRFgzNDIiPjwvQT4KKzxBIE5BTUU9IklEWDM1OCI+PC9BPgogPERUPjxDT0RFPmZvcndhcmQtd29yZCAoTS1mKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNDMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNTkiPjwvQT4KIE1vdmUgZm9yd2FyZCB0byB0aGUgZW5kIG9mIHRoZSBuZXh0IHdvcmQuCiBXb3JkcyBhcmUgY29tcG9zZWQgb2YgbGV0dGVycyBhbmQgZGlnaXRzLgogPFA+CiAKLTxBIE5BTUU9IklEWDM0NCI+PC9BPgorPEEgTkFNRT0iSURYMzYwIj48L0E+CiA8RFQ+PENPREU+YmFja3dhcmQtd29yZCAoTS1iKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNDUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNjEiPjwvQT4KIE1vdmUgYmFjayB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgb3IgcHJldmlvdXMgd29yZC4KIFdvcmRzIGFyZSBjb21wb3NlZCBvZiBsZXR0ZXJzIGFuZCBkaWdpdHMuCiA8UD4KIAotPEEgTkFNRT0iSURYMzQ2Ij48L0E+Cis8QSBOQU1FPSJJRFgzNjIiPjwvQT4KIDxEVD48Q09ERT5zaGVsbC1mb3J3YXJkLXdvcmQgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzQ3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzYzIj48L0E+CiBNb3ZlIGZvcndhcmQgdG8gdGhlIGVuZCBvZiB0aGUgbmV4dCB3b3JkLgogV29yZHMgYXJlIGRlbGltaXRlZCBieSBub24tcXVvdGVkIHNoZWxsIG1ldGFjaGFyYWN0ZXJzLgogPFA+CiAKLTxBIE5BTUU9IklEWDM0OCI+PC9BPgorPEEgTkFNRT0iSURYMzY0Ij48L0E+CiA8RFQ+PENPREU+c2hlbGwtYmFja3dhcmQtd29yZCAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNDkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNjUiPjwvQT4KIE1vdmUgYmFjayB0byB0aGUgc3RhcnQgb2YgdGhlIGN1cnJlbnQgb3IgcHJldmlvdXMgd29yZC4KIFdvcmRzIGFyZSBkZWxpbWl0ZWQgYnkgbm9uLXF1b3RlZCBzaGVsbCBtZXRhY2hhcmFjdGVycy4KIDxQPgogCi08QSBOQU1FPSJJRFgzNTAiPjwvQT4KKzxBIE5BTUU9IklEWDM2NiI+PC9BPgogPERUPjxDT0RFPmNsZWFyLXNjcmVlbiAoQy1sKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNTEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNjciPjwvQT4KIENsZWFyIHRoZSBzY3JlZW4gYW5kIHJlZHJhdyB0aGUgY3VycmVudCBsaW5lLAogbGVhdmluZyB0aGUgY3VycmVudCBsaW5lIGF0IHRoZSB0b3Agb2YgdGhlIHNjcmVlbi4KIDxQPgogCi08QSBOQU1FPSJJRFgzNTIiPjwvQT4KKzxBIE5BTUU9IklEWDM2OCI+PC9BPgogPERUPjxDT0RFPnJlZHJhdy1jdXJyZW50LWxpbmUgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzUzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzY5Ij48L0E+CiBSZWZyZXNoIHRoZSBjdXJyZW50IGxpbmUuICBCeSBkZWZhdWx0LCB0aGlzIGlzIHVuYm91bmQuCiA8UD4KIApAQCAtMTAzMzIsMjYgKzEwNjI1LDI2IEBACiAKIDxBIE5BTUU9IkNvbW1hbmRzIEZvciBIaXN0b3J5Ij48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMDkiPjwvQT4KKzxBIE5BTUU9IlNFQzExMCI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNyI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gOC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeSA8L0gzPgotPCEtLWRvY2lkOjpTRUMxMDk6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMTA6Oi0tPgogPFA+CiAKIDxETCBDT01QQUNUPgotPEEgTkFNRT0iSURYMzU0Ij48L0E+Cis8QSBOQU1FPSJJRFgzNzAiPjwvQT4KIDxEVD48Q09ERT5hY2NlcHQtbGluZSAoTmV3bGluZSBvciBSZXR1cm4pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM1NSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM3MSI+PC9BPgogQWNjZXB0IHRoZSBsaW5lIHJlZ2FyZGxlc3Mgb2Ygd2hlcmUgdGhlIGN1cnNvciBpcy4KIElmIHRoaXMgbGluZSBpcwogbm9uLWVtcHR5LCBhZGQgaXQgdG8gdGhlIGhpc3RvcnkgbGlzdCBhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmcgb2YKQEAgLTEwMzYwLDgxICsxMDY1Myw4MSBAQAogdG8gaXRzIG9yaWdpbmFsIHN0YXRlLgogPFA+CiAKLTxBIE5BTUU9IklEWDM1NiI+PC9BPgorPEEgTkFNRT0iSURYMzcyIj48L0E+CiA8RFQ+PENPREU+cHJldmlvdXMtaGlzdG9yeSAoQy1wKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNTciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzNzMiPjwvQT4KIE1vdmUgYGJhY2snIHRocm91Z2ggdGhlIGhpc3RvcnkgbGlzdCwgZmV0Y2hpbmcgdGhlIHByZXZpb3VzIGNvbW1hbmQuCiA8UD4KIAotPEEgTkFNRT0iSURYMzU4Ij48L0E+Cis8QSBOQU1FPSJJRFgzNzQiPjwvQT4KIDxEVD48Q09ERT5uZXh0LWhpc3RvcnkgKEMtbik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzU5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzc1Ij48L0E+CiBNb3ZlIGBmb3J3YXJkJyB0aHJvdWdoIHRoZSBoaXN0b3J5IGxpc3QsIGZldGNoaW5nIHRoZSBuZXh0IGNvbW1hbmQuCiA8UD4KIAotPEEgTkFNRT0iSURYMzYwIj48L0E+Cis8QSBOQU1FPSJJRFgzNzYiPjwvQT4KIDxEVD48Q09ERT5iZWdpbm5pbmctb2YtaGlzdG9yeSAoTS0mIzYwOyk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzYxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzc3Ij48L0E+CiBNb3ZlIHRvIHRoZSBmaXJzdCBsaW5lIGluIHRoZSBoaXN0b3J5LgogPFA+CiAKLTxBIE5BTUU9IklEWDM2MiI+PC9BPgorPEEgTkFNRT0iSURYMzc4Ij48L0E+CiA8RFQ+PENPREU+ZW5kLW9mLWhpc3RvcnkgKE0tJiM2MjspPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM2MyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM3OSI+PC9BPgogTW92ZSB0byB0aGUgZW5kIG9mIHRoZSBpbnB1dCBoaXN0b3J5LCBpLmUuLCB0aGUgbGluZSBjdXJyZW50bHkKIGJlaW5nIGVudGVyZWQuCiA8UD4KIAotPEEgTkFNRT0iSURYMzY0Ij48L0E+Cis8QSBOQU1FPSJJRFgzODAiPjwvQT4KIDxEVD48Q09ERT5yZXZlcnNlLXNlYXJjaC1oaXN0b3J5IChDLXIpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM2NSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM4MSI+PC9BPgogU2VhcmNoIGJhY2t3YXJkIHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IGxpbmUgYW5kIG1vdmluZyBgdXAnIHRocm91Z2gKIHRoZSBoaXN0b3J5IGFzIG5lY2Vzc2FyeS4gIFRoaXMgaXMgYW4gaW5jcmVtZW50YWwgc2VhcmNoLgogPFA+CiAKLTxBIE5BTUU9IklEWDM2NiI+PC9BPgorPEEgTkFNRT0iSURYMzgyIj48L0E+CiA8RFQ+PENPREU+Zm9yd2FyZC1zZWFyY2gtaGlzdG9yeSAoQy1zKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNjciPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzODMiPjwvQT4KIFNlYXJjaCBmb3J3YXJkIHN0YXJ0aW5nIGF0IHRoZSBjdXJyZW50IGxpbmUgYW5kIG1vdmluZyBgZG93bicgdGhyb3VnaAogdGhlIHRoZSBoaXN0b3J5IGFzIG5lY2Vzc2FyeS4gIFRoaXMgaXMgYW4gaW5jcmVtZW50YWwgc2VhcmNoLgogPFA+CiAKLTxBIE5BTUU9IklEWDM2OCI+PC9BPgorPEEgTkFNRT0iSURYMzg0Ij48L0E+CiA8RFQ+PENPREU+bm9uLWluY3JlbWVudGFsLXJldmVyc2Utc2VhcmNoLWhpc3RvcnkgKE0tcCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzY5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzg1Ij48L0E+CiBTZWFyY2ggYmFja3dhcmQgc3RhcnRpbmcgYXQgdGhlIGN1cnJlbnQgbGluZSBhbmQgbW92aW5nIGB1cCcKIHRocm91Z2ggdGhlIGhpc3RvcnkgYXMgbmVjZXNzYXJ5IHVzaW5nIGEgbm9uLWluY3JlbWVudGFsIHNlYXJjaAogZm9yIGEgc3RyaW5nIHN1cHBsaWVkIGJ5IHRoZSB1c2VyLgogPFA+CiAKLTxBIE5BTUU9IklEWDM3MCI+PC9BPgorPEEgTkFNRT0iSURYMzg2Ij48L0E+CiA8RFQ+PENPREU+bm9uLWluY3JlbWVudGFsLWZvcndhcmQtc2VhcmNoLWhpc3RvcnkgKE0tbik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzcxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzg3Ij48L0E+CiBTZWFyY2ggZm9yd2FyZCBzdGFydGluZyBhdCB0aGUgY3VycmVudCBsaW5lIGFuZCBtb3ZpbmcgYGRvd24nCiB0aHJvdWdoIHRoZSB0aGUgaGlzdG9yeSBhcyBuZWNlc3NhcnkgdXNpbmcgYSBub24taW5jcmVtZW50YWwgc2VhcmNoCiBmb3IgYSBzdHJpbmcgc3VwcGxpZWQgYnkgdGhlIHVzZXIuCiA8UD4KIAotPEEgTkFNRT0iSURYMzcyIj48L0E+Cis8QSBOQU1FPSJJRFgzODgiPjwvQT4KIDxEVD48Q09ERT5oaXN0b3J5LXNlYXJjaC1mb3J3YXJkICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM3MyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM4OSI+PC9BPgogU2VhcmNoIGZvcndhcmQgdGhyb3VnaCB0aGUgaGlzdG9yeSBmb3IgdGhlIHN0cmluZyBvZiBjaGFyYWN0ZXJzCiBiZXR3ZWVuIHRoZSBzdGFydCBvZiB0aGUgY3VycmVudCBsaW5lIGFuZCB0aGUgcG9pbnQuCiBUaGlzIGlzIGEgbm9uLWluY3JlbWVudGFsIHNlYXJjaC4KIEJ5IGRlZmF1bHQsIHRoaXMgY29tbWFuZCBpcyB1bmJvdW5kLgogPFA+CiAKLTxBIE5BTUU9IklEWDM3NCI+PC9BPgorPEEgTkFNRT0iSURYMzkwIj48L0E+CiA8RFQ+PENPREU+aGlzdG9yeS1zZWFyY2gtYmFja3dhcmQgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzc1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzkxIj48L0E+CiBTZWFyY2ggYmFja3dhcmQgdGhyb3VnaCB0aGUgaGlzdG9yeSBmb3IgdGhlIHN0cmluZyBvZiBjaGFyYWN0ZXJzCiBiZXR3ZWVuIHRoZSBzdGFydCBvZiB0aGUgY3VycmVudCBsaW5lIGFuZCB0aGUgcG9pbnQuICBUaGlzCiBpcyBhIG5vbi1pbmNyZW1lbnRhbCBzZWFyY2guICBCeSBkZWZhdWx0LCB0aGlzIGNvbW1hbmQgaXMgdW5ib3VuZC4KIDxQPgogCi08QSBOQU1FPSJJRFgzNzYiPjwvQT4KKzxBIE5BTUU9IklEWDM5MiI+PC9BPgogPERUPjxDT0RFPnlhbmstbnRoLWFyZyAoTS1DLXkpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM3NyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDM5MyI+PC9BPgogSW5zZXJ0IHRoZSBmaXJzdCBhcmd1bWVudCB0byB0aGUgcHJldmlvdXMgY29tbWFuZCAodXN1YWxseQogdGhlIHNlY29uZCB3b3JkIG9uIHRoZSBwcmV2aW91cyBsaW5lKSBhdCBwb2ludC4KIFdpdGggYW4gYXJndW1lbnQgPFZBUj5uPC9WQVI+LApAQCAtMTA0NDUsMTQgKzEwNzM4LDE4IEBACiBhcyBpZiB0aGUgPFNBTVA+YCE8VkFSPm48L1ZBUj4nPC9TQU1QPiBoaXN0b3J5IGV4cGFuc2lvbiBoYWQgYmVlbiBzcGVjaWZpZWQuCiA8UD4KIAotPEEgTkFNRT0iSURYMzc4Ij48L0E+Cis8QSBOQU1FPSJJRFgzOTQiPjwvQT4KIDxEVD48Q09ERT55YW5rLWxhc3QtYXJnIChNLS4gb3IgTS1fKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzNzkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzOTUiPjwvQT4KIEluc2VydCBsYXN0IGFyZ3VtZW50IHRvIHRoZSBwcmV2aW91cyBjb21tYW5kICh0aGUgbGFzdCB3b3JkIG9mIHRoZQotcHJldmlvdXMgaGlzdG9yeSBlbnRyeSkuICBXaXRoIGFuCi1hcmd1bWVudCwgYmVoYXZlIGV4YWN0bHkgbGlrZSA8Q09ERT55YW5rLW50aC1hcmc8L0NPREU+LgorcHJldmlvdXMgaGlzdG9yeSBlbnRyeSkuCitXaXRoIGEgbnVtZXJpYyBhcmd1bWVudCwgYmVoYXZlIGV4YWN0bHkgbGlrZSA8Q09ERT55YW5rLW50aC1hcmc8L0NPREU+LgogU3VjY2Vzc2l2ZSBjYWxscyB0byA8Q09ERT55YW5rLWxhc3QtYXJnPC9DT0RFPiBtb3ZlIGJhY2sgdGhyb3VnaCB0aGUgaGlzdG9yeQotbGlzdCwgaW5zZXJ0aW5nIHRoZSBsYXN0IGFyZ3VtZW50IG9mIGVhY2ggbGluZSBpbiB0dXJuLgorbGlzdCwgaW5zZXJ0aW5nIHRoZSBsYXN0IHdvcmQgKG9yIHRoZSB3b3JkIHNwZWNpZmllZCBieSB0aGUgYXJndW1lbnQgdG8KK3RoZSBmaXJzdCBjYWxsKSBvZiBlYWNoIGxpbmUgaW4gdHVybi4KK0FueSBudW1lcmljIGFyZ3VtZW50IHN1cHBsaWVkIHRvIHRoZXNlIHN1Y2Nlc3NpdmUgY2FsbHMgZGV0ZXJtaW5lcwordGhlIGRpcmVjdGlvbiB0byBtb3ZlIHRocm91Z2ggdGhlIGhpc3RvcnkuICBBIG5lZ2F0aXZlIGFyZ3VtZW50IHN3aXRjaGVzCit0aGUgZGlyZWN0aW9uIHRocm91Z2ggdGhlIGhpc3RvcnkgKGJhY2sgb3IgZm9yd2FyZCkuCiBUaGUgaGlzdG9yeSBleHBhbnNpb24gZmFjaWxpdGllcyBhcmUgdXNlZCB0byBleHRyYWN0IHRoZSBsYXN0IGFyZ3VtZW50LAogYXMgaWYgdGhlIDxTQU1QPmAhJCc8L1NBTVA+IGhpc3RvcnkgZXhwYW5zaW9uIGhhZCBiZWVuIHNwZWNpZmllZC4KIDxQPgpAQCAtMTA0NjIsNjMgKzEwNzU5LDYzIEBACiAKIDxBIE5BTUU9IkNvbW1hbmRzIEZvciBUZXh0Ij48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMTAiPjwvQT4KKzxBIE5BTUU9IlNFQzExMSI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNyI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gOC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQgPC9IMz4KLTwhLS1kb2NpZDo6U0VDMTEwOjotLT4KKzwhLS1kb2NpZDo6U0VDMTExOjotLT4KIDxQPgogCiA8REwgQ09NUEFDVD4KLTxBIE5BTUU9IklEWDM4MCI+PC9BPgorPEEgTkFNRT0iSURYMzk2Ij48L0E+CiA8RFQ+PENPREU+ZGVsZXRlLWNoYXIgKEMtZCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzgxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYMzk3Ij48L0E+CiBEZWxldGUgdGhlIGNoYXJhY3RlciBhdCBwb2ludC4gIElmIHBvaW50IGlzIGF0IHRoZQogYmVnaW5uaW5nIG9mIHRoZSBsaW5lLCB0aGVyZSBhcmUgbm8gY2hhcmFjdGVycyBpbiB0aGUgbGluZSwgYW5kCiB0aGUgbGFzdCBjaGFyYWN0ZXIgdHlwZWQgd2FzIG5vdCBib3VuZCB0byA8Q09ERT5kZWxldGUtY2hhcjwvQ09ERT4sIHRoZW4KIHJldHVybiBFT0YuCiA8UD4KIAotPEEgTkFNRT0iSURYMzgyIj48L0E+Cis8QSBOQU1FPSJJRFgzOTgiPjwvQT4KIDxEVD48Q09ERT5iYWNrd2FyZC1kZWxldGUtY2hhciAoUnVib3V0KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzODMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFgzOTkiPjwvQT4KIERlbGV0ZSB0aGUgY2hhcmFjdGVyIGJlaGluZCB0aGUgY3Vyc29yLiAgQSBudW1lcmljIGFyZ3VtZW50IG1lYW5zCiB0byBraWxsIHRoZSBjaGFyYWN0ZXJzIGluc3RlYWQgb2YgZGVsZXRpbmcgdGhlbS4KIDxQPgogCi08QSBOQU1FPSJJRFgzODQiPjwvQT4KKzxBIE5BTUU9IklEWDQwMCI+PC9BPgogPERUPjxDT0RFPmZvcndhcmQtYmFja3dhcmQtZGVsZXRlLWNoYXIgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYMzg1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDAxIj48L0E+CiBEZWxldGUgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yLCB1bmxlc3MgdGhlIGN1cnNvciBpcyBhdCB0aGUKIGVuZCBvZiB0aGUgbGluZSwgaW4gd2hpY2ggY2FzZSB0aGUgY2hhcmFjdGVyIGJlaGluZCB0aGUgY3Vyc29yIGlzCiBkZWxldGVkLiAgQnkgZGVmYXVsdCwgdGhpcyBpcyBub3QgYm91bmQgdG8gYSBrZXkuCiA8UD4KIAotPEEgTkFNRT0iSURYMzg2Ij48L0E+Cis8QSBOQU1FPSJJRFg0MDIiPjwvQT4KIDxEVD48Q09ERT5xdW90ZWQtaW5zZXJ0IChDLXEgb3IgQy12KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzODciPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MDMiPjwvQT4KIEFkZCB0aGUgbmV4dCBjaGFyYWN0ZXIgdHlwZWQgdG8gdGhlIGxpbmUgdmVyYmF0aW0uICBUaGlzIGlzCiBob3cgdG8gaW5zZXJ0IGtleSBzZXF1ZW5jZXMgbGlrZSA8S0JEPkMtcTwvS0JEPiwgZm9yIGV4YW1wbGUuCiA8UD4KIAotPEEgTkFNRT0iSURYMzg4Ij48L0E+Cis8QSBOQU1FPSJJRFg0MDQiPjwvQT4KIDxEVD48Q09ERT5zZWxmLWluc2VydCAoYSwgYiwgQSwgMSwgISwgPHNtYWxsPi4uLjwvc21hbGw+KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzODkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MDUiPjwvQT4KIEluc2VydCB5b3Vyc2VsZi4KIDxQPgogCi08QSBOQU1FPSJJRFgzOTAiPjwvQT4KKzxBIE5BTUU9IklEWDQwNiI+PC9BPgogPERUPjxDT0RFPnRyYW5zcG9zZS1jaGFycyAoQy10KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzOTEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MDciPjwvQT4KIERyYWcgdGhlIGNoYXJhY3RlciBiZWZvcmUgdGhlIGN1cnNvciBmb3J3YXJkIG92ZXIKIHRoZSBjaGFyYWN0ZXIgYXQgdGhlIGN1cnNvciwgbW92aW5nIHRoZQogY3Vyc29yIGZvcndhcmQgYXMgd2VsbC4gIElmIHRoZSBpbnNlcnRpb24gcG9pbnQKQEAgLTEwNTI3LDM5ICsxMDgyNCwzOSBAQAogTmVnYXRpdmUgYXJndW1lbnRzIGhhdmUgbm8gZWZmZWN0LgogPFA+CiAKLTxBIE5BTUU9IklEWDM5MiI+PC9BPgorPEEgTkFNRT0iSURYNDA4Ij48L0E+CiA8RFQ+PENPREU+dHJhbnNwb3NlLXdvcmRzIChNLXQpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM5MyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQwOSI+PC9BPgogRHJhZyB0aGUgd29yZCBiZWZvcmUgcG9pbnQgcGFzdCB0aGUgd29yZCBhZnRlciBwb2ludCwKIG1vdmluZyBwb2ludCBwYXN0IHRoYXQgd29yZCBhcyB3ZWxsLgogSWYgdGhlIGluc2VydGlvbiBwb2ludCBpcyBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLCB0aGlzIHRyYW5zcG9zZXMKIHRoZSBsYXN0IHR3byB3b3JkcyBvbiB0aGUgbGluZS4KIDxQPgogCi08QSBOQU1FPSJJRFgzOTQiPjwvQT4KKzxBIE5BTUU9IklEWDQxMCI+PC9BPgogPERUPjxDT0RFPnVwY2FzZS13b3JkIChNLXUpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDM5NSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQxMSI+PC9BPgogVXBwZXJjYXNlIHRoZSBjdXJyZW50IChvciBmb2xsb3dpbmcpIHdvcmQuICBXaXRoIGEgbmVnYXRpdmUgYXJndW1lbnQsCiB1cHBlcmNhc2UgdGhlIHByZXZpb3VzIHdvcmQsIGJ1dCBkbyBub3QgbW92ZSB0aGUgY3Vyc29yLgogPFA+CiAKLTxBIE5BTUU9IklEWDM5NiI+PC9BPgorPEEgTkFNRT0iSURYNDEyIj48L0E+CiA8RFQ+PENPREU+ZG93bmNhc2Utd29yZCAoTS1sKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzOTciPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MTMiPjwvQT4KIExvd2VyY2FzZSB0aGUgY3VycmVudCAob3IgZm9sbG93aW5nKSB3b3JkLiAgV2l0aCBhIG5lZ2F0aXZlIGFyZ3VtZW50LAogbG93ZXJjYXNlIHRoZSBwcmV2aW91cyB3b3JkLCBidXQgZG8gbm90IG1vdmUgdGhlIGN1cnNvci4KIDxQPgogCi08QSBOQU1FPSJJRFgzOTgiPjwvQT4KKzxBIE5BTUU9IklEWDQxNCI+PC9BPgogPERUPjxDT0RFPmNhcGl0YWxpemUtd29yZCAoTS1jKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFgzOTkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MTUiPjwvQT4KIENhcGl0YWxpemUgdGhlIGN1cnJlbnQgKG9yIGZvbGxvd2luZykgd29yZC4gIFdpdGggYSBuZWdhdGl2ZSBhcmd1bWVudCwKIGNhcGl0YWxpemUgdGhlIHByZXZpb3VzIHdvcmQsIGJ1dCBkbyBub3QgbW92ZSB0aGUgY3Vyc29yLgogPFA+CiAKLTxBIE5BTUU9IklEWDQwMCI+PC9BPgorPEEgTkFNRT0iSURYNDE2Ij48L0E+CiA8RFQ+PENPREU+b3ZlcndyaXRlLW1vZGUgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDAxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDE3Ij48L0E+CiBUb2dnbGUgb3ZlcndyaXRlIG1vZGUuICBXaXRoIGFuIGV4cGxpY2l0IHBvc2l0aXZlIG51bWVyaWMgYXJndW1lbnQsCiBzd2l0Y2hlcyB0byBvdmVyd3JpdGUgbW9kZS4gIFdpdGggYW4gZXhwbGljaXQgbm9uLXBvc2l0aXZlIG51bWVyaWMKIGFyZ3VtZW50LCBzd2l0Y2hlcyB0byBpbnNlcnQgbW9kZS4gIFRoaXMgY29tbWFuZCBhZmZlY3RzIG9ubHkKQEAgLTEwNTgxLDEzOSArMTA4NzgsMTM5IEBACiAKIDxBIE5BTUU9IkNvbW1hbmRzIEZvciBLaWxsaW5nIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMTEiPjwvQT4KKzxBIE5BTUU9IlNFQzExMiI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNyI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gOC40LjQgS2lsbGluZyBBbmQgWWFua2luZyA8L0gzPgotPCEtLWRvY2lkOjpTRUMxMTE6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMTI6Oi0tPgogPFA+CiAKIDxETCBDT01QQUNUPgogCi08QSBOQU1FPSJJRFg0MDIiPjwvQT4KKzxBIE5BTUU9IklEWDQxOCI+PC9BPgogPERUPjxDT0RFPmtpbGwtbGluZSAoQy1rKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0MDMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MTkiPjwvQT4KIEtpbGwgdGhlIHRleHQgZnJvbSBwb2ludCB0byB0aGUgZW5kIG9mIHRoZSBsaW5lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQwNCI+PC9BPgorPEEgTkFNRT0iSURYNDIwIj48L0E+CiA8RFQ+PENPREU+YmFja3dhcmQta2lsbC1saW5lIChDLXggUnVib3V0KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0MDUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MjEiPjwvQT4KIEtpbGwgYmFja3dhcmQgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgbGluZS4KIDxQPgogCi08QSBOQU1FPSJJRFg0MDYiPjwvQT4KKzxBIE5BTUU9IklEWDQyMiI+PC9BPgogPERUPjxDT0RFPnVuaXgtbGluZS1kaXNjYXJkIChDLXUpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQwNyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQyMyI+PC9BPgogS2lsbCBiYWNrd2FyZCBmcm9tIHRoZSBjdXJzb3IgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgY3VycmVudCBsaW5lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQwOCI+PC9BPgorPEEgTkFNRT0iSURYNDI0Ij48L0E+CiA8RFQ+PENPREU+a2lsbC13aG9sZS1saW5lICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQwOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQyNSI+PC9BPgogS2lsbCBhbGwgY2hhcmFjdGVycyBvbiB0aGUgY3VycmVudCBsaW5lLCBubyBtYXR0ZXIgd2hlcmUgcG9pbnQgaXMuCiBCeSBkZWZhdWx0LCB0aGlzIGlzIHVuYm91bmQuCiA8UD4KIAotPEEgTkFNRT0iSURYNDEwIj48L0E+Cis8QSBOQU1FPSJJRFg0MjYiPjwvQT4KIDxEVD48Q09ERT5raWxsLXdvcmQgKE0tZCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDExIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDI3Ij48L0E+CiBLaWxsIGZyb20gcG9pbnQgdG8gdGhlIGVuZCBvZiB0aGUgY3VycmVudCB3b3JkLCBvciBpZiBiZXR3ZWVuCiB3b3JkcywgdG8gdGhlIGVuZCBvZiB0aGUgbmV4dCB3b3JkLgogV29yZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyA8Q09ERT5mb3J3YXJkLXdvcmQ8L0NPREU+LgogPFA+CiAKLTxBIE5BTUU9IklEWDQxMiI+PC9BPgorPEEgTkFNRT0iSURYNDI4Ij48L0E+CiA8RFQ+PENPREU+YmFja3dhcmQta2lsbC13b3JkIChNLTxLQkQ+REVMPC9LQkQ+KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0MTMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MjkiPjwvQT4KIEtpbGwgdGhlIHdvcmQgYmVoaW5kIHBvaW50LgogV29yZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyA8Q09ERT5iYWNrd2FyZC13b3JkPC9DT0RFPi4KIDxQPgogCi08QSBOQU1FPSJJRFg0MTQiPjwvQT4KKzxBIE5BTUU9IklEWDQzMCI+PC9BPgogPERUPjxDT0RFPnNoZWxsLWtpbGwtd29yZCAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0MTUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MzEiPjwvQT4KIEtpbGwgZnJvbSBwb2ludCB0byB0aGUgZW5kIG9mIHRoZSBjdXJyZW50IHdvcmQsIG9yIGlmIGJldHdlZW4KIHdvcmRzLCB0byB0aGUgZW5kIG9mIHRoZSBuZXh0IHdvcmQuCiBXb3JkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzIDxDT0RFPnNoZWxsLWZvcndhcmQtd29yZDwvQ09ERT4uCiA8UD4KIAotPEEgTkFNRT0iSURYNDE2Ij48L0E+Ci08RFQ+PENPREU+YmFja3dhcmQta2lsbC13b3JkICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQxNyI+PC9BPgorPEEgTkFNRT0iSURYNDMyIj48L0E+Cis8RFQ+PENPREU+c2hlbGwtYmFja3dhcmQta2lsbC13b3JkICgpPC9DT0RFPgorPEREPjxBIE5BTUU9IklEWDQzMyI+PC9BPgogS2lsbCB0aGUgd29yZCBiZWhpbmQgcG9pbnQuCiBXb3JkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzIDxDT0RFPnNoZWxsLWJhY2t3YXJkLXdvcmQ8L0NPREU+LgogPFA+CiAKLTxBIE5BTUU9IklEWDQxOCI+PC9BPgorPEEgTkFNRT0iSURYNDM0Ij48L0E+CiA8RFQ+PENPREU+dW5peC13b3JkLXJ1Ym91dCAoQy13KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0MTkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MzUiPjwvQT4KIEtpbGwgdGhlIHdvcmQgYmVoaW5kIHBvaW50LCB1c2luZyB3aGl0ZSBzcGFjZSBhcyBhIHdvcmQgYm91bmRhcnkuCiBUaGUga2lsbGVkIHRleHQgaXMgc2F2ZWQgb24gdGhlIGtpbGwtcmluZy4KIDxQPgogCi08QSBOQU1FPSJJRFg0MjAiPjwvQT4KKzxBIE5BTUU9IklEWDQzNiI+PC9BPgogPERUPjxDT0RFPnVuaXgtZmlsZW5hbWUtcnVib3V0ICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQyMSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQzNyI+PC9BPgogS2lsbCB0aGUgd29yZCBiZWhpbmQgcG9pbnQsIHVzaW5nIHdoaXRlIHNwYWNlIGFuZCB0aGUgc2xhc2ggY2hhcmFjdGVyCiBhcyB0aGUgd29yZCBib3VuZGFyaWVzLgogVGhlIGtpbGxlZCB0ZXh0IGlzIHNhdmVkIG9uIHRoZSBraWxsLXJpbmcuCiA8UD4KIAotPEEgTkFNRT0iSURYNDIyIj48L0E+Cis8QSBOQU1FPSJJRFg0MzgiPjwvQT4KIDxEVD48Q09ERT5kZWxldGUtaG9yaXpvbnRhbC1zcGFjZSAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0MjMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0MzkiPjwvQT4KIERlbGV0ZSBhbGwgc3BhY2VzIGFuZCB0YWJzIGFyb3VuZCBwb2ludC4gIEJ5IGRlZmF1bHQsIHRoaXMgaXMgdW5ib3VuZC4KIDxQPgogCi08QSBOQU1FPSJJRFg0MjQiPjwvQT4KKzxBIE5BTUU9IklEWDQ0MCI+PC9BPgogPERUPjxDT0RFPmtpbGwtcmVnaW9uICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQyNSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ0MSI+PC9BPgogS2lsbCB0aGUgdGV4dCBpbiB0aGUgY3VycmVudCByZWdpb24uCiBCeSBkZWZhdWx0LCB0aGlzIGNvbW1hbmQgaXMgdW5ib3VuZC4KIDxQPgogCi08QSBOQU1FPSJJRFg0MjYiPjwvQT4KKzxBIE5BTUU9IklEWDQ0MiI+PC9BPgogPERUPjxDT0RFPmNvcHktcmVnaW9uLWFzLWtpbGwgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDI3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDQzIj48L0E+CiBDb3B5IHRoZSB0ZXh0IGluIHRoZSByZWdpb24gdG8gdGhlIGtpbGwgYnVmZmVyLCBzbyBpdCBjYW4gYmUgeWFua2VkCiByaWdodCBhd2F5LiAgQnkgZGVmYXVsdCwgdGhpcyBjb21tYW5kIGlzIHVuYm91bmQuCiA8UD4KIAotPEEgTkFNRT0iSURYNDI4Ij48L0E+Cis8QSBOQU1FPSJJRFg0NDQiPjwvQT4KIDxEVD48Q09ERT5jb3B5LWJhY2t3YXJkLXdvcmQgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDI5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDQ1Ij48L0E+CiBDb3B5IHRoZSB3b3JkIGJlZm9yZSBwb2ludCB0byB0aGUga2lsbCBidWZmZXIuCiBUaGUgd29yZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyA8Q09ERT5iYWNrd2FyZC13b3JkPC9DT0RFPi4KIEJ5IGRlZmF1bHQsIHRoaXMgY29tbWFuZCBpcyB1bmJvdW5kLgogPFA+CiAKLTxBIE5BTUU9IklEWDQzMCI+PC9BPgorPEEgTkFNRT0iSURYNDQ2Ij48L0E+CiA8RFQ+PENPREU+Y29weS1mb3J3YXJkLXdvcmQgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDMxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDQ3Ij48L0E+CiBDb3B5IHRoZSB3b3JkIGZvbGxvd2luZyBwb2ludCB0byB0aGUga2lsbCBidWZmZXIuCiBUaGUgd29yZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyA8Q09ERT5mb3J3YXJkLXdvcmQ8L0NPREU+LgogQnkgZGVmYXVsdCwgdGhpcyBjb21tYW5kIGlzIHVuYm91bmQuCiA8UD4KIAotPEEgTkFNRT0iSURYNDMyIj48L0E+Cis8QSBOQU1FPSJJRFg0NDgiPjwvQT4KIDxEVD48Q09ERT55YW5rIChDLXkpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQzMyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ0OSI+PC9BPgogWWFuayB0aGUgdG9wIG9mIHRoZSBraWxsIHJpbmcgaW50byB0aGUgYnVmZmVyIGF0IHBvaW50LgogPFA+CiAKLTxBIE5BTUU9IklEWDQzNCI+PC9BPgorPEEgTkFNRT0iSURYNDUwIj48L0E+CiA8RFQ+PENPREU+eWFuay1wb3AgKE0teSk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDM1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDUxIj48L0E+CiBSb3RhdGUgdGhlIGtpbGwtcmluZywgYW5kIHlhbmsgdGhlIG5ldyB0b3AuICBZb3UgY2FuIG9ubHkgZG8gdGhpcyBpZgogdGhlIHByaW9yIGNvbW1hbmQgaXMgPENPREU+eWFuazwvQ09ERT4gb3IgPENPREU+eWFuay1wb3A8L0NPREU+LgogPC9ETD4KQEAgLTEwNzIxLDMyICsxMTAxOCwzMiBAQAogCiA8QSBOQU1FPSJOdW1lcmljIEFyZ3VtZW50cyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTEyIj48L0E+Cis8QSBOQU1FPSJTRUMxMTMiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDciPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE3Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDguNC41IFNwZWNpZnlpbmcgTnVtZXJpYyBBcmd1bWVudHMgPC9IMz4KLTwhLS1kb2NpZDo6U0VDMTEyOjotLT4KKzwhLS1kb2NpZDo6U0VDMTEzOjotLT4KIDxETCBDT01QQUNUPgogCi08QSBOQU1FPSJJRFg0MzYiPjwvQT4KKzxBIE5BTUU9IklEWDQ1MiI+PC9BPgogPERUPjxDT0RFPmRpZ2l0LWFyZ3VtZW50ICg8S0JEPk0tMDwvS0JEPiwgPEtCRD5NLTE8L0tCRD4sIDxzbWFsbD4uLi48L3NtYWxsPiA8S0JEPk0tLTwvS0JEPik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDM3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDUzIj48L0E+CiBBZGQgdGhpcyBkaWdpdCB0byB0aGUgYXJndW1lbnQgYWxyZWFkeSBhY2N1bXVsYXRpbmcsIG9yIHN0YXJ0IGEgbmV3CiBhcmd1bWVudC4gIDxLQkQ+TS0tPC9LQkQ+IHN0YXJ0cyBhIG5lZ2F0aXZlIGFyZ3VtZW50LgogPFA+CiAKLTxBIE5BTUU9IklEWDQzOCI+PC9BPgorPEEgTkFNRT0iSURYNDU0Ij48L0E+CiA8RFQ+PENPREU+dW5pdmVyc2FsLWFyZ3VtZW50ICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQzOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ1NSI+PC9BPgogVGhpcyBpcyBhbm90aGVyIHdheSB0byBzcGVjaWZ5IGFuIGFyZ3VtZW50LgogSWYgdGhpcyBjb21tYW5kIGlzIGZvbGxvd2VkIGJ5IG9uZSBvciBtb3JlIGRpZ2l0cywgb3B0aW9uYWxseSB3aXRoIGEKIGxlYWRpbmcgbWludXMgc2lnbiwgdGhvc2UgZGlnaXRzIGRlZmluZSB0aGUgYXJndW1lbnQuCkBAIC0xMDc2NCwyNiArMTEwNjEsMjYgQEAKIAogPEEgTkFNRT0iQ29tbWFuZHMgRm9yIENvbXBsZXRpb24iPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzExMyI+PC9BPgorPEEgTkFNRT0iU0VDMTE0Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA3Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiA4LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdSA8L0gzPgotPCEtLWRvY2lkOjpTRUMxMTM6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMTQ6Oi0tPgogPFA+CiAKIDxETCBDT01QQUNUPgotPEEgTkFNRT0iSURYNDQwIj48L0E+Cis8QSBOQU1FPSJJRFg0NTYiPjwvQT4KIDxEVD48Q09ERT5jb21wbGV0ZSAoPEtCRD5UQUI8L0tCRD4pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ0MSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ1NyI+PC9BPgogQXR0ZW1wdCB0byBwZXJmb3JtIGNvbXBsZXRpb24gb24gdGhlIHRleHQgYmVmb3JlIHBvaW50LgogVGhlIGFjdHVhbCBjb21wbGV0aW9uIHBlcmZvcm1lZCBpcyBhcHBsaWNhdGlvbi1zcGVjaWZpYy4KIEJhc2ggYXR0ZW1wdHMgY29tcGxldGlvbiB0cmVhdGluZyB0aGUgdGV4dCBhcyBhIHZhcmlhYmxlIChpZiB0aGUKQEAgLTEwNzkzLDIyICsxMTA5MCwyNSBAQAogb2YgdGhlc2UgcHJvZHVjZXMgYSBtYXRjaCwgZmlsZW5hbWUgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQuCiA8UD4KIAotPEEgTkFNRT0iSURYNDQyIj48L0E+Cis8QSBOQU1FPSJJRFg0NTgiPjwvQT4KIDxEVD48Q09ERT5wb3NzaWJsZS1jb21wbGV0aW9ucyAoTS0/KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NDMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0NTkiPjwvQT4KIExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZXh0IGJlZm9yZSBwb2ludC4KK1doZW4gZGlzcGxheWluZyBjb21wbGV0aW9ucywgUmVhZGxpbmUgc2V0cyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZAorZm9yIGRpc3BsYXkgdG8gdGhlIHZhbHVlIG9mIDxDT0RFPmNvbXBsZXRpb24tZGlzcGxheS13aWR0aDwvQ09ERT4sIHRoZSB2YWx1ZSBvZgordGhlIGVudmlyb25tZW50IHZhcmlhYmxlIDxDT0RFPkNPTFVNTlM8L0NPREU+LCBvciB0aGUgc2NyZWVuIHdpZHRoLCBpbiB0aGF0IG9yZGVyLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ0NCI+PC9BPgorPEEgTkFNRT0iSURYNDYwIj48L0E+CiA8RFQ+PENPREU+aW5zZXJ0LWNvbXBsZXRpb25zIChNLSopPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ0NSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ2MSI+PC9BPgogSW5zZXJ0IGFsbCBjb21wbGV0aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQgdGhhdCB3b3VsZCBoYXZlCiBiZWVuIGdlbmVyYXRlZCBieSA8Q09ERT5wb3NzaWJsZS1jb21wbGV0aW9uczwvQ09ERT4uCiA8UD4KIAotPEEgTkFNRT0iSURYNDQ2Ij48L0E+Cis8QSBOQU1FPSJJRFg0NjIiPjwvQT4KIDxEVD48Q09ERT5tZW51LWNvbXBsZXRlICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ0NyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ2MyI+PC9BPgogU2ltaWxhciB0byA8Q09ERT5jb21wbGV0ZTwvQ09ERT4sIGJ1dCByZXBsYWNlcyB0aGUgd29yZCB0byBiZSBjb21wbGV0ZWQKIHdpdGggYSBzaW5nbGUgbWF0Y2ggZnJvbSB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucy4KIFJlcGVhdGVkIGV4ZWN1dGlvbiBvZiA8Q09ERT5tZW51LWNvbXBsZXRlPC9DT0RFPiBzdGVwcyB0aHJvdWdoIHRoZSBsaXN0CkBAIC0xMDgyMywxNyArMTExMjMsMTcgQEAKIGJ5IGRlZmF1bHQuCiA8UD4KIAotPEEgTkFNRT0iSURYNDQ4Ij48L0E+Cis8QSBOQU1FPSJJRFg0NjQiPjwvQT4KIDxEVD48Q09ERT5tZW51LWNvbXBsZXRlLWJhY2t3YXJkICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ0OSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ2NSI+PC9BPgogSWRlbnRpY2FsIHRvIDxDT0RFPm1lbnUtY29tcGxldGU8L0NPREU+LCBidXQgbW92ZXMgYmFja3dhcmQgdGhyb3VnaCB0aGUgbGlzdAogb2YgcG9zc2libGUgY29tcGxldGlvbnMsIGFzIGlmIDxDT0RFPm1lbnUtY29tcGxldGU8L0NPREU+IGhhZCBiZWVuIGdpdmVuIGEKIG5lZ2F0aXZlIGFyZ3VtZW50LgogPFA+CiAKLTxBIE5BTUU9IklEWDQ1MCI+PC9BPgorPEEgTkFNRT0iSURYNDY2Ij48L0E+CiA8RFQ+PENPREU+ZGVsZXRlLWNoYXItb3ItbGlzdCAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NTEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0NjciPjwvQT4KIERlbGV0ZXMgdGhlIGNoYXJhY3RlciB1bmRlciB0aGUgY3Vyc29yIGlmIG5vdCBhdCB0aGUgYmVnaW5uaW5nIG9yCiBlbmQgb2YgdGhlIGxpbmUgKGxpa2UgPENPREU+ZGVsZXRlLWNoYXI8L0NPREU+KS4KIElmIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIGJlaGF2ZXMgaWRlbnRpY2FsbHkgdG8KQEAgLTEwODQxLDY0ICsxMTE0MSw2NCBAQAogVGhpcyBjb21tYW5kIGlzIHVuYm91bmQgYnkgZGVmYXVsdC4KIDxQPgogCi08QSBOQU1FPSJJRFg0NTIiPjwvQT4KKzxBIE5BTUU9IklEWDQ2OCI+PC9BPgogPERUPjxDT0RFPmNvbXBsZXRlLWZpbGVuYW1lIChNLS8pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ1MyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ2OSI+PC9BPgogQXR0ZW1wdCBmaWxlbmFtZSBjb21wbGV0aW9uIG9uIHRoZSB0ZXh0IGJlZm9yZSBwb2ludC4KIDxQPgogCi08QSBOQU1FPSJJRFg0NTQiPjwvQT4KKzxBIE5BTUU9IklEWDQ3MCI+PC9BPgogPERUPjxDT0RFPnBvc3NpYmxlLWZpbGVuYW1lLWNvbXBsZXRpb25zIChDLXggLyk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDU1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDcxIj48L0E+CiBMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsCiB0cmVhdGluZyBpdCBhcyBhIGZpbGVuYW1lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ1NiI+PC9BPgorPEEgTkFNRT0iSURYNDcyIj48L0E+CiA8RFQ+PENPREU+Y29tcGxldGUtdXNlcm5hbWUgKE0tfik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDU3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDczIj48L0E+CiBBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRleHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZwogaXQgYXMgYSB1c2VybmFtZS4KIDxQPgogCi08QSBOQU1FPSJJRFg0NTgiPjwvQT4KKzxBIE5BTUU9IklEWDQ3NCI+PC9BPgogPERUPjxDT0RFPnBvc3NpYmxlLXVzZXJuYW1lLWNvbXBsZXRpb25zIChDLXggfik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDU5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDc1Ij48L0E+CiBMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsCiB0cmVhdGluZyBpdCBhcyBhIHVzZXJuYW1lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ2MCI+PC9BPgorPEEgTkFNRT0iSURYNDc2Ij48L0E+CiA8RFQ+PENPREU+Y29tcGxldGUtdmFyaWFibGUgKE0tJCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDYxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDc3Ij48L0E+CiBBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRleHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZwogaXQgYXMgYSBzaGVsbCB2YXJpYWJsZS4KIDxQPgogCi08QSBOQU1FPSJJRFg0NjIiPjwvQT4KKzxBIE5BTUU9IklEWDQ3OCI+PC9BPgogPERUPjxDT0RFPnBvc3NpYmxlLXZhcmlhYmxlLWNvbXBsZXRpb25zIChDLXggJCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDYzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDc5Ij48L0E+CiBMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsCiB0cmVhdGluZyBpdCBhcyBhIHNoZWxsIHZhcmlhYmxlLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ2NCI+PC9BPgorPEEgTkFNRT0iSURYNDgwIj48L0E+CiA8RFQ+PENPREU+Y29tcGxldGUtaG9zdG5hbWUgKE0tQCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDY1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDgxIj48L0E+CiBBdHRlbXB0IGNvbXBsZXRpb24gb24gdGhlIHRleHQgYmVmb3JlIHBvaW50LCB0cmVhdGluZwogaXQgYXMgYSBob3N0bmFtZS4KIDxQPgogCi08QSBOQU1FPSJJRFg0NjYiPjwvQT4KKzxBIE5BTUU9IklEWDQ4MiI+PC9BPgogPERUPjxDT0RFPnBvc3NpYmxlLWhvc3RuYW1lLWNvbXBsZXRpb25zIChDLXggQCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDY3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDgzIj48L0E+CiBMaXN0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsCiB0cmVhdGluZyBpdCBhcyBhIGhvc3RuYW1lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ2OCI+PC9BPgorPEEgTkFNRT0iSURYNDg0Ij48L0E+CiA8RFQ+PENPREU+Y29tcGxldGUtY29tbWFuZCAoTS0hKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NjkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0ODUiPjwvQT4KIEF0dGVtcHQgY29tcGxldGlvbiBvbiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsIHRyZWF0aW5nCiBpdCBhcyBhIGNvbW1hbmQgbmFtZS4gIENvbW1hbmQgY29tcGxldGlvbiBhdHRlbXB0cyB0bwogbWF0Y2ggdGhlIHRleHQgYWdhaW5zdCBhbGlhc2VzLCByZXNlcnZlZCB3b3Jkcywgc2hlbGwKQEAgLTEwOTA2LDM1ICsxMTIwNiwzNSBAQAogaW4gdGhhdCBvcmRlci4KIDxQPgogCi08QSBOQU1FPSJJRFg0NzAiPjwvQT4KKzxBIE5BTUU9IklEWDQ4NiI+PC9BPgogPERUPjxDT0RFPnBvc3NpYmxlLWNvbW1hbmQtY29tcGxldGlvbnMgKEMteCAhKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NzEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0ODciPjwvQT4KIExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZXh0IGJlZm9yZSBwb2ludCwKIHRyZWF0aW5nIGl0IGFzIGEgY29tbWFuZCBuYW1lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ3MiI+PC9BPgorPEEgTkFNRT0iSURYNDg4Ij48L0E+CiA8RFQ+PENPREU+ZHluYW1pYy1jb21wbGV0ZS1oaXN0b3J5IChNLTxLQkQ+VEFCPC9LQkQ+KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NzMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0ODkiPjwvQT4KIEF0dGVtcHQgY29tcGxldGlvbiBvbiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQsIGNvbXBhcmluZwogdGhlIHRleHQgYWdhaW5zdCBsaW5lcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QgZm9yIHBvc3NpYmxlCiBjb21wbGV0aW9uIG1hdGNoZXMuCiA8UD4KIAotPEEgTkFNRT0iSURYNDc0Ij48L0E+Cis8QSBOQU1FPSJJRFg0OTAiPjwvQT4KIDxEVD48Q09ERT5kYWJicmV2LWV4cGFuZCAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0NzUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0OTEiPjwvQT4KIEF0dGVtcHQgbWVudSBjb21wbGV0aW9uIG9uIHRoZSB0ZXh0IGJlZm9yZSBwb2ludCwgY29tcGFyaW5nCiB0aGUgdGV4dCBhZ2FpbnN0IGxpbmVzIGZyb20gdGhlIGhpc3RvcnkgbGlzdCBmb3IgcG9zc2libGUKIGNvbXBsZXRpb24gbWF0Y2hlcy4KIDxQPgogCi08QSBOQU1FPSJJRFg0NzYiPjwvQT4KKzxBIE5BTUU9IklEWDQ5MiI+PC9BPgogPERUPjxDT0RFPmNvbXBsZXRlLWludG8tYnJhY2VzIChNLXspPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ3NyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ5MyI+PC9BPgogUGVyZm9ybSBmaWxlbmFtZSBjb21wbGV0aW9uIGFuZCBpbnNlcnQgdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMKIGVuY2xvc2VkIHdpdGhpbiBicmFjZXMgc28gdGhlIGxpc3QgaXMgYXZhaWxhYmxlIHRvIHRoZSBzaGVsbAotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+My41LjEgQnJhY2UgRXhwYW5zaW9uPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMwIj4zLjUuMSBCcmFjZSBFeHBhbnNpb248L0E+KS4KIDxQPgogCiA8L0RMPgpAQCAtMTA5NDIsMzggKzExMjQyLDM4IEBACiAKIDxBIE5BTUU9IktleWJvYXJkIE1hY3JvcyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTE0Ij48L0E+Cis8QSBOQU1FPSJTRUMxMTUiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDciPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE3Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDM+IDguNC43IEtleWJvYXJkIE1hY3JvcyA8L0gzPgotPCEtLWRvY2lkOjpTRUMxMTQ6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMTU6Oi0tPgogPERMIENPTVBBQ1Q+CiAKLTxBIE5BTUU9IklEWDQ3OCI+PC9BPgorPEEgTkFNRT0iSURYNDk0Ij48L0E+CiA8RFQ+PENPREU+c3RhcnQta2JkLW1hY3JvIChDLXggKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDc5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNDk1Ij48L0E+CiBCZWdpbiBzYXZpbmcgdGhlIGNoYXJhY3RlcnMgdHlwZWQgaW50byB0aGUgY3VycmVudCBrZXlib2FyZCBtYWNyby4KIDxQPgogCi08QSBOQU1FPSJJRFg0ODAiPjwvQT4KKzxBIE5BTUU9IklEWDQ5NiI+PC9BPgogPERUPjxDT0RFPmVuZC1rYmQtbWFjcm8gKEMteCApKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0ODEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg0OTciPjwvQT4KIFN0b3Agc2F2aW5nIHRoZSBjaGFyYWN0ZXJzIHR5cGVkIGludG8gdGhlIGN1cnJlbnQga2V5Ym9hcmQgbWFjcm8KIGFuZCBzYXZlIHRoZSBkZWZpbml0aW9uLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ4MiI+PC9BPgorPEEgTkFNRT0iSURYNDk4Ij48L0E+CiA8RFQ+PENPREU+Y2FsbC1sYXN0LWtiZC1tYWNybyAoQy14IGUpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ4MyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDQ5OSI+PC9BPgogUmUtZXhlY3V0ZSB0aGUgbGFzdCBrZXlib2FyZCBtYWNybyBkZWZpbmVkLCBieSBtYWtpbmcgdGhlIGNoYXJhY3RlcnMKIGluIHRoZSBtYWNybyBhcHBlYXIgYXMgaWYgdHlwZWQgYXQgdGhlIGtleWJvYXJkLgogPFA+CkBAIC0xMDk4MywxMDMgKzExMjgzLDEwMyBAQAogCiA8QSBOQU1FPSJNaXNjZWxsYW5lb3VzIENvbW1hbmRzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMTUiPjwvQT4KKzxBIE5BTUU9IlNFQzExNiI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNyI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gOC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzExNTo6LS0+Cis8IS0tZG9jaWQ6OlNFQzExNjo6LS0+CiA8REwgQ09NUEFDVD4KIAotPEEgTkFNRT0iSURYNDg0Ij48L0E+Cis8QSBOQU1FPSJJRFg1MDAiPjwvQT4KIDxEVD48Q09ERT5yZS1yZWFkLWluaXQtZmlsZSAoQy14IEMtcik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDg1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTAxIj48L0E+CiBSZWFkIGluIHRoZSBjb250ZW50cyBvZiB0aGUgPFZBUj5pbnB1dHJjPC9WQVI+IGZpbGUsIGFuZCBpbmNvcnBvcmF0ZQogYW55IGJpbmRpbmdzIG9yIHZhcmlhYmxlIGFzc2lnbm1lbnRzIGZvdW5kIHRoZXJlLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ4NiI+PC9BPgorPEEgTkFNRT0iSURYNTAyIj48L0E+CiA8RFQ+PENPREU+YWJvcnQgKEMtZyk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDg3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTAzIj48L0E+CiBBYm9ydCB0aGUgY3VycmVudCBlZGl0aW5nIGNvbW1hbmQgYW5kCiByaW5nIHRoZSB0ZXJtaW5hbCdzIGJlbGwgKHN1YmplY3QgdG8gdGhlIHNldHRpbmcgb2YKIDxDT0RFPmJlbGwtc3R5bGU8L0NPREU+KS4KIDxQPgogCi08QSBOQU1FPSJJRFg0ODgiPjwvQT4KKzxBIE5BTUU9IklEWDUwNCI+PC9BPgogPERUPjxDT0RFPmRvLXVwcGVyY2FzZS12ZXJzaW9uIChNLWEsIE0tYiwgTS08VkFSPng8L1ZBUj4sIDxzbWFsbD4uLi48L3NtYWxsPik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDg5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTA1Ij48L0E+CiBJZiB0aGUgbWV0YWZpZWQgY2hhcmFjdGVyIDxWQVI+eDwvVkFSPiBpcyBsb3dlcmNhc2UsIHJ1biB0aGUgY29tbWFuZAogdGhhdCBpcyBib3VuZCB0byB0aGUgY29ycmVzcG9uZGluZyB1cHBlcmNhc2UgY2hhcmFjdGVyLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ5MCI+PC9BPgorPEEgTkFNRT0iSURYNTA2Ij48L0E+CiA8RFQ+PENPREU+cHJlZml4LW1ldGEgKDxLQkQ+RVNDPC9LQkQ+KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0OTEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MDciPjwvQT4KIE1ldGFmeSB0aGUgbmV4dCBjaGFyYWN0ZXIgdHlwZWQuICBUaGlzIGlzIGZvciBrZXlib2FyZHMKIHdpdGhvdXQgYSBtZXRhIGtleS4gIFR5cGluZyA8U0FNUD5gPEtCRD5FU0M8L0tCRD4gZic8L1NBTVA+IGlzIGVxdWl2YWxlbnQgdG8gdHlwaW5nCiA8S0JEPk0tZjwvS0JEPi4KIDxQPgogCi08QSBOQU1FPSJJRFg0OTIiPjwvQT4KKzxBIE5BTUU9IklEWDUwOCI+PC9BPgogPERUPjxDT0RFPnVuZG8gKEMtXyBvciBDLXggQy11KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg0OTMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MDkiPjwvQT4KIEluY3JlbWVudGFsIHVuZG8sIHNlcGFyYXRlbHkgcmVtZW1iZXJlZCBmb3IgZWFjaCBsaW5lLgogPFA+CiAKLTxBIE5BTUU9IklEWDQ5NCI+PC9BPgorPEEgTkFNRT0iSURYNTEwIj48L0E+CiA8RFQ+PENPREU+cmV2ZXJ0LWxpbmUgKE0tcik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNDk1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTExIj48L0E+CiBVbmRvIGFsbCBjaGFuZ2VzIG1hZGUgdG8gdGhpcyBsaW5lLiAgVGhpcyBpcyBsaWtlIGV4ZWN1dGluZyB0aGUgPENPREU+dW5kbzwvQ09ERT4KIGNvbW1hbmQgZW5vdWdoIHRpbWVzIHRvIGdldCBiYWNrIHRvIHRoZSBiZWdpbm5pbmcuCiA8UD4KIAotPEEgTkFNRT0iSURYNDk2Ij48L0E+Cis8QSBOQU1FPSJJRFg1MTIiPjwvQT4KIDxEVD48Q09ERT50aWxkZS1leHBhbmQgKE0tJiMzODspPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ5NyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUxMyI+PC9BPgogUGVyZm9ybSB0aWxkZSBleHBhbnNpb24gb24gdGhlIGN1cnJlbnQgd29yZC4KIDxQPgogCi08QSBOQU1FPSJJRFg0OTgiPjwvQT4KKzxBIE5BTUU9IklEWDUxNCI+PC9BPgogPERUPjxDT0RFPnNldC1tYXJrIChDLUApPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDQ5OSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUxNSI+PC9BPgogU2V0IHRoZSBtYXJrIHRvIHRoZSBwb2ludC4gIElmIGEKIG51bWVyaWMgYXJndW1lbnQgaXMgc3VwcGxpZWQsIHRoZSBtYXJrIGlzIHNldCB0byB0aGF0IHBvc2l0aW9uLgogPFA+CiAKLTxBIE5BTUU9IklEWDUwMCI+PC9BPgorPEEgTkFNRT0iSURYNTE2Ij48L0E+CiA8RFQ+PENPREU+ZXhjaGFuZ2UtcG9pbnQtYW5kLW1hcmsgKEMteCBDLXgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUwMSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUxNyI+PC9BPgogU3dhcCB0aGUgcG9pbnQgd2l0aCB0aGUgbWFyay4gIFRoZSBjdXJyZW50IGN1cnNvciBwb3NpdGlvbiBpcyBzZXQgdG8KIHRoZSBzYXZlZCBwb3NpdGlvbiwgYW5kIHRoZSBvbGQgY3Vyc29yIHBvc2l0aW9uIGlzIHNhdmVkIGFzIHRoZSBtYXJrLgogPFA+CiAKLTxBIE5BTUU9IklEWDUwMiI+PC9BPgorPEEgTkFNRT0iSURYNTE4Ij48L0E+CiA8RFQ+PENPREU+Y2hhcmFjdGVyLXNlYXJjaCAoQy1dKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MDMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MTkiPjwvQT4KIEEgY2hhcmFjdGVyIGlzIHJlYWQgYW5kIHBvaW50IGlzIG1vdmVkIHRvIHRoZSBuZXh0IG9jY3VycmVuY2Ugb2YgdGhhdAogY2hhcmFjdGVyLiAgQSBuZWdhdGl2ZSBjb3VudCBzZWFyY2hlcyBmb3IgcHJldmlvdXMgb2NjdXJyZW5jZXMuCiA8UD4KIAotPEEgTkFNRT0iSURYNTA0Ij48L0E+Cis8QSBOQU1FPSJJRFg1MjAiPjwvQT4KIDxEVD48Q09ERT5jaGFyYWN0ZXItc2VhcmNoLWJhY2t3YXJkIChNLUMtXSk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNTA1Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTIxIj48L0E+CiBBIGNoYXJhY3RlciBpcyByZWFkIGFuZCBwb2ludCBpcyBtb3ZlZCB0byB0aGUgcHJldmlvdXMgb2NjdXJyZW5jZQogb2YgdGhhdCBjaGFyYWN0ZXIuICBBIG5lZ2F0aXZlIGNvdW50IHNlYXJjaGVzIGZvciBzdWJzZXF1ZW50CiBvY2N1cnJlbmNlcy4KIDxQPgogCi08QSBOQU1FPSJJRFg1MDYiPjwvQT4KKzxBIE5BTUU9IklEWDUyMiI+PC9BPgogPERUPjxDT0RFPnNraXAtY3NpLXNlcXVlbmNlICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUwNyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUyMyI+PC9BPgogUmVhZCBlbm91Z2ggY2hhcmFjdGVycyB0byBjb25zdW1lIGEgbXVsdGkta2V5IHNlcXVlbmNlIHN1Y2ggYXMgdGhvc2UKIGRlZmluZWQgZm9yIGtleXMgbGlrZSBIb21lIGFuZCBFbmQuICBTdWNoIHNlcXVlbmNlcyBiZWdpbiB3aXRoIGEKIENvbnRyb2wgU2VxdWVuY2UgSW5kaWNhdG9yIChDU0kpLCB1c3VhbGx5IEVTQy1bLiAgSWYgdGhpcyBzZXF1ZW5jZSBpcwpAQCAtMTEwODksOSArMTEzODksOSBAQAogYnV0IHVzdWFsbHkgYm91bmQgdG8gRVNDLVsuCiA8UD4KIAotPEEgTkFNRT0iSURYNTA4Ij48L0E+Cis8QSBOQU1FPSJJRFg1MjQiPjwvQT4KIDxEVD48Q09ERT5pbnNlcnQtY29tbWVudCAoTS0jKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MDkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MjUiPjwvQT4KIFdpdGhvdXQgYSBudW1lcmljIGFyZ3VtZW50LCB0aGUgdmFsdWUgb2YgdGhlIDxDT0RFPmNvbW1lbnQtYmVnaW48L0NPREU+CiB2YXJpYWJsZSBpcyBpbnNlcnRlZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IGxpbmUuCiBJZiBhIG51bWVyaWMgYXJndW1lbnQgaXMgc3VwcGxpZWQsIHRoaXMgY29tbWFuZCBhY3RzIGFzIGEgdG9nZ2xlOiAgaWYKQEAgLTExMTA2LDExNSArMTE0MDYsMTE1IEBACiB3aWxsIGJlIGV4ZWN1dGVkIGJ5IHRoZSBzaGVsbC4KIDxQPgogCi08QSBOQU1FPSJJRFg1MTAiPjwvQT4KKzxBIE5BTUU9IklEWDUyNiI+PC9BPgogPERUPjxDT0RFPmR1bXAtZnVuY3Rpb25zICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUxMSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDUyNyI+PC9BPgogUHJpbnQgYWxsIG9mIHRoZSBmdW5jdGlvbnMgYW5kIHRoZWlyIGtleSBiaW5kaW5ncyB0byB0aGUKIFJlYWRsaW5lIG91dHB1dCBzdHJlYW0uICBJZiBhIG51bWVyaWMgYXJndW1lbnQgaXMgc3VwcGxpZWQsCiB0aGUgb3V0cHV0IGlzIGZvcm1hdHRlZCBpbiBzdWNoIGEgd2F5IHRoYXQgaXQgY2FuIGJlIG1hZGUgcGFydAogb2YgYW4gPFZBUj5pbnB1dHJjPC9WQVI+IGZpbGUuICBUaGlzIGNvbW1hbmQgaXMgdW5ib3VuZCBieSBkZWZhdWx0LgogPFA+CiAKLTxBIE5BTUU9IklEWDUxMiI+PC9BPgorPEEgTkFNRT0iSURYNTI4Ij48L0E+CiA8RFQ+PENPREU+ZHVtcC12YXJpYWJsZXMgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNTEzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTI5Ij48L0E+CiBQcmludCBhbGwgb2YgdGhlIHNldHRhYmxlIHZhcmlhYmxlcyBhbmQgdGhlaXIgdmFsdWVzIHRvIHRoZQogUmVhZGxpbmUgb3V0cHV0IHN0cmVhbS4gIElmIGEgbnVtZXJpYyBhcmd1bWVudCBpcyBzdXBwbGllZCwKIHRoZSBvdXRwdXQgaXMgZm9ybWF0dGVkIGluIHN1Y2ggYSB3YXkgdGhhdCBpdCBjYW4gYmUgbWFkZSBwYXJ0CiBvZiBhbiA8VkFSPmlucHV0cmM8L1ZBUj4gZmlsZS4gIFRoaXMgY29tbWFuZCBpcyB1bmJvdW5kIGJ5IGRlZmF1bHQuCiA8UD4KIAotPEEgTkFNRT0iSURYNTE0Ij48L0E+Cis8QSBOQU1FPSJJRFg1MzAiPjwvQT4KIDxEVD48Q09ERT5kdW1wLW1hY3JvcyAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MTUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MzEiPjwvQT4KIFByaW50IGFsbCBvZiB0aGUgUmVhZGxpbmUga2V5IHNlcXVlbmNlcyBib3VuZCB0byBtYWNyb3MgYW5kIHRoZQogc3RyaW5ncyB0aGV5IG91dHB1dC4gIElmIGEgbnVtZXJpYyBhcmd1bWVudCBpcyBzdXBwbGllZCwKIHRoZSBvdXRwdXQgaXMgZm9ybWF0dGVkIGluIHN1Y2ggYSB3YXkgdGhhdCBpdCBjYW4gYmUgbWFkZSBwYXJ0CiBvZiBhbiA8VkFSPmlucHV0cmM8L1ZBUj4gZmlsZS4gIFRoaXMgY29tbWFuZCBpcyB1bmJvdW5kIGJ5IGRlZmF1bHQuCiA8UD4KIAotPEEgTkFNRT0iSURYNTE2Ij48L0E+Cis8QSBOQU1FPSJJRFg1MzIiPjwvQT4KIDxEVD48Q09ERT5nbG9iLWNvbXBsZXRlLXdvcmQgKE0tZyk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNTE3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTMzIj48L0E+CiBUaGUgd29yZCBiZWZvcmUgcG9pbnQgaXMgdHJlYXRlZCBhcyBhIHBhdHRlcm4gZm9yIHBhdGhuYW1lIGV4cGFuc2lvbiwKIHdpdGggYW4gYXN0ZXJpc2sgaW1wbGljaXRseSBhcHBlbmRlZC4gIFRoaXMgcGF0dGVybiBpcyB1c2VkIHRvCiBnZW5lcmF0ZSBhIGxpc3Qgb2YgbWF0Y2hpbmcgZmlsZSBuYW1lcyBmb3IgcG9zc2libGUgY29tcGxldGlvbnMuCiA8UD4KIAotPEEgTkFNRT0iSURYNTE4Ij48L0E+Cis8QSBOQU1FPSJJRFg1MzQiPjwvQT4KIDxEVD48Q09ERT5nbG9iLWV4cGFuZC13b3JkIChDLXggKik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNTE5Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTM1Ij48L0E+CiBUaGUgd29yZCBiZWZvcmUgcG9pbnQgaXMgdHJlYXRlZCBhcyBhIHBhdHRlcm4gZm9yIHBhdGhuYW1lIGV4cGFuc2lvbiwKIGFuZCB0aGUgbGlzdCBvZiBtYXRjaGluZyBmaWxlIG5hbWVzIGlzIGluc2VydGVkLCByZXBsYWNpbmcgdGhlIHdvcmQuCiBJZiBhIG51bWVyaWMgYXJndW1lbnQgaXMgc3VwcGxpZWQsIGEgPFNBTVA+YConPC9TQU1QPiBpcyBhcHBlbmRlZCBiZWZvcmUKIHBhdGhuYW1lIGV4cGFuc2lvbi4KIDxQPgogCi08QSBOQU1FPSJJRFg1MjAiPjwvQT4KKzxBIE5BTUU9IklEWDUzNiI+PC9BPgogPERUPjxDT0RFPmdsb2ItbGlzdC1leHBhbnNpb25zIChDLXggZyk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNTIxIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTM3Ij48L0E+CiBUaGUgbGlzdCBvZiBleHBhbnNpb25zIHRoYXQgd291bGQgaGF2ZSBiZWVuIGdlbmVyYXRlZCBieQogPENPREU+Z2xvYi1leHBhbmQtd29yZDwvQ09ERT4gaXMgZGlzcGxheWVkLCBhbmQgdGhlIGxpbmUgaXMgcmVkcmF3bi4KIElmIGEgbnVtZXJpYyBhcmd1bWVudCBpcyBzdXBwbGllZCwgYSA8U0FNUD5gKic8L1NBTVA+IGlzIGFwcGVuZGVkIGJlZm9yZQogcGF0aG5hbWUgZXhwYW5zaW9uLgogPFA+CiAKLTxBIE5BTUU9IklEWDUyMiI+PC9BPgorPEEgTkFNRT0iSURYNTM4Ij48L0E+CiA8RFQ+PENPREU+ZGlzcGxheS1zaGVsbC12ZXJzaW9uIChDLXggQy12KTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MjMiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1MzkiPjwvQT4KIERpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY3VycmVudCBpbnN0YW5jZSBvZiBCYXNoLgogPFA+CiAKLTxBIE5BTUU9IklEWDUyNCI+PC9BPgorPEEgTkFNRT0iSURYNTQwIj48L0E+CiA8RFQ+PENPREU+c2hlbGwtZXhwYW5kLWxpbmUgKE0tQy1lKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MjUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1NDEiPjwvQT4KIEV4cGFuZCB0aGUgbGluZSBhcyB0aGUgc2hlbGwgZG9lcy4KIFRoaXMgcGVyZm9ybXMgYWxpYXMgYW5kIGhpc3RvcnkgZXhwYW5zaW9uIGFzIHdlbGwgYXMgYWxsIG9mIHRoZSBzaGVsbAotd29yZCBleHBhbnNpb25zIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNSBTaGVsbCBFeHBhbnNpb25zPC9BPikuCit3b3JkIGV4cGFuc2lvbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+My41IFNoZWxsIEV4cGFuc2lvbnM8L0E+KS4KIDxQPgogCi08QSBOQU1FPSJJRFg1MjYiPjwvQT4KKzxBIE5BTUU9IklEWDU0MiI+PC9BPgogPERUPjxDT0RFPmhpc3RvcnktZXhwYW5kLWxpbmUgKE0tXik8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNTI3Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTQzIj48L0E+CiBQZXJmb3JtIGhpc3RvcnkgZXhwYW5zaW9uIG9uIHRoZSBjdXJyZW50IGxpbmUuCiA8UD4KIAotPEEgTkFNRT0iSURYNTI4Ij48L0E+Cis8QSBOQU1FPSJJRFg1NDQiPjwvQT4KIDxEVD48Q09ERT5tYWdpYy1zcGFjZSAoKTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1MjkiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1NDUiPjwvQT4KIFBlcmZvcm0gaGlzdG9yeSBleHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZSBhbmQgaW5zZXJ0IGEgc3BhY2UKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj45LjMgSGlzdG9yeSBFeHBhbnNpb248L0E+KS4KKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIzIj45LjMgSGlzdG9yeSBFeHBhbnNpb248L0E+KS4KIDxQPgogCi08QSBOQU1FPSJJRFg1MzAiPjwvQT4KKzxBIE5BTUU9IklEWDU0NiI+PC9BPgogPERUPjxDT0RFPmFsaWFzLWV4cGFuZC1saW5lICgpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUzMSI+PC9BPgotUGVyZm9ybSBhbGlhcyBleHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij42LjYgQWxpYXNlczwvQT4pLgorPEREPjxBIE5BTUU9IklEWDU0NyI+PC9BPgorUGVyZm9ybSBhbGlhcyBleHBhbnNpb24gb24gdGhlIGN1cnJlbnQgbGluZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij42LjYgQWxpYXNlczwvQT4pLgogPFA+CiAKLTxBIE5BTUU9IklEWDUzMiI+PC9BPgorPEEgTkFNRT0iSURYNTQ4Ij48L0E+CiA8RFQ+PENPREU+aGlzdG9yeS1hbmQtYWxpYXMtZXhwYW5kLWxpbmUgKCk8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNTMzIj48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTQ5Ij48L0E+CiBQZXJmb3JtIGhpc3RvcnkgYW5kIGFsaWFzIGV4cGFuc2lvbiBvbiB0aGUgY3VycmVudCBsaW5lLgogPFA+CiAKLTxBIE5BTUU9IklEWDUzNCI+PC9BPgorPEEgTkFNRT0iSURYNTUwIj48L0E+CiA8RFQ+PENPREU+aW5zZXJ0LWxhc3QtYXJndW1lbnQgKE0tLiBvciBNLV8pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUzNSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDU1MSI+PC9BPgogQSBzeW5vbnltIGZvciA8Q09ERT55YW5rLWxhc3QtYXJnPC9DT0RFPi4KIDxQPgogCi08QSBOQU1FPSJJRFg1MzYiPjwvQT4KKzxBIE5BTUU9IklEWDU1MiI+PC9BPgogPERUPjxDT0RFPm9wZXJhdGUtYW5kLWdldC1uZXh0IChDLW8pPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUzNyI+PC9BPgorPEREPjxBIE5BTUU9IklEWDU1MyI+PC9BPgogQWNjZXB0IHRoZSBjdXJyZW50IGxpbmUgZm9yIGV4ZWN1dGlvbiBhbmQgZmV0Y2ggdGhlIG5leHQgbGluZQogcmVsYXRpdmUgdG8gdGhlIGN1cnJlbnQgbGluZSBmcm9tIHRoZSBoaXN0b3J5IGZvciBlZGl0aW5nLiAgQW55CiBhcmd1bWVudCBpcyBpZ25vcmVkLgogPFA+CiAKLTxBIE5BTUU9IklEWDUzOCI+PC9BPgorPEEgTkFNRT0iSURYNTU0Ij48L0E+CiA8RFQ+PENPREU+ZWRpdC1hbmQtZXhlY3V0ZS1jb21tYW5kIChDLXhDLWUpPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDUzOSI+PC9BPgorPEREPjxBIE5BTUU9IklEWDU1NSI+PC9BPgogSW52b2tlIGFuIGVkaXRvciBvbiB0aGUgY3VycmVudCBjb21tYW5kIGxpbmUsIGFuZCBleGVjdXRlIHRoZSByZXN1bHQgYXMgc2hlbGwKIGNvbW1hbmRzLgogQmFzaCBhdHRlbXB0cyB0byBpbnZva2UKQEAgLTExMjI3LDMxICsxMTUyNywzMSBAQAogCiA8QSBOQU1FPSJSZWFkbGluZSB2aSBNb2RlIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMTYiPjwvQT4KKzxBIE5BTUU9IlNFQzExNyI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTkiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NiI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIwIj4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDguNSBSZWFkbGluZSB2aSBNb2RlIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzExNjo6LS0+Cis8IS0tZG9jaWQ6OlNFQzExNzo6LS0+CiA8UD4KIAogV2hpbGUgdGhlIFJlYWRsaW5lIGxpYnJhcnkgZG9lcyBub3QgaGF2ZSBhIGZ1bGwgc2V0IG9mIDxDT0RFPnZpPC9DT0RFPgogZWRpdGluZyBmdW5jdGlvbnMsIGl0IGRvZXMgY29udGFpbiBlbm91Z2ggdG8gYWxsb3cgc2ltcGxlIGVkaXRpbmcKIG9mIHRoZSBsaW5lLiAgVGhlIFJlYWRsaW5lIDxDT0RFPnZpPC9DT0RFPiBtb2RlIGJlaGF2ZXMgYXMgc3BlY2lmaWVkIGluCi10aGUgUE9TSVggMTAwMy4yIHN0YW5kYXJkLgordGhlIFBPU0lYIHN0YW5kYXJkLgogPC9QPjxQPgogCiBJbiBvcmRlciB0byBzd2l0Y2ggaW50ZXJhY3RpdmVseSBiZXR3ZWVuIDxDT0RFPmVtYWNzPC9DT0RFPiBhbmQgPENPREU+dmk8L0NPREU+CiBlZGl0aW5nIG1vZGVzLCB1c2UgdGhlIDxTQU1QPmBzZXQgLW8gZW1hY3MnPC9TQU1QPiBhbmQgPFNBTVA+YHNldCAtbyB2aSc8L1NBTVA+Ci1jb21tYW5kcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYyIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KS4KK2NvbW1hbmRzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4pLgogVGhlIFJlYWRsaW5lIGRlZmF1bHQgaXMgPENPREU+ZW1hY3M8L0NPREU+IG1vZGUuCiA8L1A+PFA+CiAKQEAgLTExMjY1LDI1ICsxMTU2NSwyNSBAQAogCiA8QSBOQU1FPSJQcm9ncmFtbWFibGUgQ29tcGxldGlvbiI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTE3Ij48L0E+Cis8QSBOQU1FPSJTRUMxMTgiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE5Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE3Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMCI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiA4LjYgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb24gPC9IMj4KLTwhLS1kb2NpZDo6U0VDMTE3OjotLT4KKzwhLS1kb2NpZDo6U0VDMTE4OjotLT4KIDxQPgogCiBXaGVuIHdvcmQgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgZm9yIGFuIGFyZ3VtZW50IHRvIGEgY29tbWFuZCBmb3IKIHdoaWNoIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIChhIDxWQVI+Y29tcHNwZWM8L1ZBUj4pIGhhcyBiZWVuIGRlZmluZWQKLXVzaW5nIHRoZSA8Q09ERT5jb21wbGV0ZTwvQ09ERT4gYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOCI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPiksCit1c2luZyB0aGUgPENPREU+Y29tcGxldGU8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTkiPjguNyBQcm9ncmFtbWFibGUgQ29tcGxldGlvbiBCdWlsdGluczwvQT4pLAogdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGZhY2lsaXRpZXMgYXJlIGludm9rZWQuIAogPC9QPjxQPgogCkBAIC0xMTMwNCw3ICsxMTYwNCw3IEBACiBPbmNlIGEgY29tcHNwZWMgaGFzIGJlZW4gZm91bmQsIGl0IGlzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGxpc3Qgb2YKIG1hdGNoaW5nIHdvcmRzLgogSWYgYSBjb21wc3BlYyBpcyBub3QgZm91bmQsIHRoZSBkZWZhdWx0IEJhc2ggY29tcGxldGlvbgotZGVzY3JpYmVkIGFib3ZlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT4pIGlzIHBlcmZvcm1lZC4KK2Rlc2NyaWJlZCBhYm92ZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+KSBpcyBwZXJmb3JtZWQuCiA8L1A+PFA+CiAKIEZpcnN0LCB0aGUgYWN0aW9ucyBzcGVjaWZpZWQgYnkgdGhlIGNvbXBzcGVjIGFyZSB1c2VkLgpAQCAtMTEzMTMsNyArMTE2MTMsNyBAQAogV2hlbiB0aGUgPFNBTVA+YC1mJzwvU0FNUD4gb3IgPFNBTVA+YC1kJzwvU0FNUD4gb3B0aW9uIGlzIHVzZWQgZm9yIGZpbGVuYW1lIG9yCiBkaXJlY3RvcnkgbmFtZSBjb21wbGV0aW9uLCB0aGUgc2hlbGwgdmFyaWFibGUgPENPREU+RklHTk9SRTwvQ09ERT4gaXMKIHVzZWQgdG8gZmlsdGVyIHRoZSBtYXRjaGVzLgotU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+LCBmb3IgYSBkZXNjcmlwdGlvbiBvZiA8Q09ERT5GSUdOT1JFPC9DT0RFPi4KK1NlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPiwgZm9yIGEgZGVzY3JpcHRpb24gb2YgPENPREU+RklHTk9SRTwvQ09ERT4uCiA8L1A+PFA+CiAKIEFueSBjb21wbGV0aW9ucyBzcGVjaWZpZWQgYnkgYSBmaWxlbmFtZSBleHBhbnNpb24gcGF0dGVybiB0byB0aGUKQEAgLTExMzMxLDkgKzExNjMxLDkgQEAKIEVhY2ggd29yZCBpcyB0aGVuIGV4cGFuZGVkIHVzaW5nCiBicmFjZSBleHBhbnNpb24sIHRpbGRlIGV4cGFuc2lvbiwgcGFyYW1ldGVyIGFuZCB2YXJpYWJsZSBleHBhbnNpb24sCiBjb21tYW5kIHN1YnN0aXR1dGlvbiwgYW5kIGFyaXRobWV0aWMgZXhwYW5zaW9uLAotYXMgZGVzY3JpYmVkIGFib3ZlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNSBTaGVsbCBFeHBhbnNpb25zPC9BPikuCithcyBkZXNjcmliZWQgYWJvdmUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+My41IFNoZWxsIEV4cGFuc2lvbnM8L0E+KS4KIFRoZSByZXN1bHRzIGFyZSBzcGxpdCB1c2luZyB0aGUgcnVsZXMgZGVzY3JpYmVkIGFib3ZlCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM1Ij4zLjUuNyBXb3JkIFNwbGl0dGluZzwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNiI+My41LjcgV29yZCBTcGxpdHRpbmc8L0E+KS4KIFRoZSByZXN1bHRzIG9mIHRoZSBleHBhbnNpb24gYXJlIHByZWZpeC1tYXRjaGVkIGFnYWluc3QgdGhlIHdvcmQgYmVpbmcKIGNvbXBsZXRlZCwgYW5kIHRoZSBtYXRjaGluZyB3b3JkcyBiZWNvbWUgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zLgogPC9QPjxQPgpAQCAtMTEzNDIsNyArMTE2NDIsNyBAQAogc3BlY2lmaWVkIHdpdGggdGhlIDxTQU1QPmAtRic8L1NBTVA+IGFuZCA8U0FNUD5gLUMnPC9TQU1QPiBvcHRpb25zIGlzIGludm9rZWQuCiBXaGVuIHRoZSBjb21tYW5kIG9yIGZ1bmN0aW9uIGlzIGludm9rZWQsIHRoZSA8Q09ERT5DT01QX0xJTkU8L0NPREU+LAogPENPREU+Q09NUF9QT0lOVDwvQ09ERT4sIDxDT0RFPkNPTVBfS0VZPC9DT0RFPiwgYW5kIDxDT0RFPkNPTVBfVFlQRTwvQ09ERT4gdmFyaWFibGVzIGFyZQotYXNzaWduZWQgdmFsdWVzIGFzIGRlc2NyaWJlZCBhYm92ZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+KS4KK2Fzc2lnbmVkIHZhbHVlcyBhcyBkZXNjcmliZWQgYWJvdmUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPikuCiBJZiBhIHNoZWxsIGZ1bmN0aW9uIGlzIGJlaW5nIGludm9rZWQsIHRoZSA8Q09ERT5DT01QX1dPUkRTPC9DT0RFPiBhbmQKIDxDT0RFPkNPTVBfQ1dPUkQ8L0NPREU+IHZhcmlhYmxlcyBhcmUgYWxzbyBzZXQuCiBXaGVuIHRoZSBmdW5jdGlvbiBvciBjb21tYW5kIGlzIGludm9rZWQsIHRoZSBmaXJzdCBhcmd1bWVudCBpcyB0aGUKQEAgLTExMzU3LDcgKzExNjU3LDcgQEAKIEFueSBmdW5jdGlvbiBzcGVjaWZpZWQgd2l0aCA8U0FNUD5gLUYnPC9TQU1QPiBpcyBpbnZva2VkIGZpcnN0LgogVGhlIGZ1bmN0aW9uIG1heSB1c2UgYW55IG9mIHRoZSBzaGVsbCBmYWNpbGl0aWVzLCBpbmNsdWRpbmcgdGhlCiA8Q09ERT5jb21wZ2VuPC9DT0RFPiBhbmQgPENPREU+Y29tcG9wdDwvQ09ERT4gYnVpbHRpbnMgZGVzY3JpYmVkIGJlbG93Ci0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOCI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPiksIHRvIGdlbmVyYXRlIHRoZSBtYXRjaGVzLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTkiPjguNyBQcm9ncmFtbWFibGUgQ29tcGxldGlvbiBCdWlsdGluczwvQT4pLCB0byBnZW5lcmF0ZSB0aGUgbWF0Y2hlcy4KIEl0IG11c3QgcHV0IHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBpbiB0aGUgPENPREU+Q09NUFJFUExZPC9DT0RFPiBhcnJheQogdmFyaWFibGUuCiA8L1A+PFA+CkBAIC0xMTQyNCw3ICsxMTcyNCw3IEBACiB0aGUgY29tcHNwZWMgYXNzb2NpYXRlZCB3aXRoIHRoZSBjb21tYW5kIG9uIHdoaWNoIGNvbXBsZXRpb24gaXMgYmVpbmcKIGF0dGVtcHRlZCAoc3VwcGxpZWQgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHdoZW4gdGhlIGZ1bmN0aW9uIGlzIGV4ZWN1dGVkKSwKIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIHJlc3RhcnRzIGZyb20gdGhlIGJlZ2lubmluZywgd2l0aCBhbgotYXR0ZW1wdCB0byBmaW5kIGEgY29tcHNwZWMgZm9yIHRoYXQgY29tbWFuZC4gIFRoaXMgYWxsb3dzIGEgc2V0IG9mCithdHRlbXB0IHRvIGZpbmQgYSBuZXcgY29tcHNwZWMgZm9yIHRoYXQgY29tbWFuZC4gIFRoaXMgYWxsb3dzIGEgc2V0IG9mCiBjb21wbGV0aW9ucyB0byBiZSBidWlsdCBkeW5hbWljYWxseSBhcyBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgcmF0aGVyIHRoYW4KIGJlaW5nIGxvYWRlZCBhbGwgYXQgb25jZS4KIDwvUD48UD4KQEAgLTExNDQzLDIwICsxMTc0MywyMCBAQAogCiA8QSBOQU1FPSJQcm9ncmFtbWFibGUgQ29tcGxldGlvbiBCdWlsdGlucyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTE4Ij48L0E+Cis8QSBOQU1FPSJTRUMxMTkiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE5Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTkiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIwIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk2Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gOC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzExODo6LS0+Cis8IS0tZG9jaWQ6OlNFQzExOTo6LS0+CiA8UD4KIAogVHdvIGJ1aWx0aW4gY29tbWFuZHMgYXJlIGF2YWlsYWJsZSB0byBtYW5pcHVsYXRlIHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbgpAQCAtMTE0NjUsNyArMTE3NjUsNyBAQAogCiA8REwgQ09NUEFDVD4KIDxEVD48Q09ERT5jb21wZ2VuPC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDU0MCI+PC9BPgorPEREPjxBIE5BTUU9IklEWDU1NiI+PC9BPgogPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPjxDT0RFPmNvbXBnZW4gWzxWQVI+b3B0aW9uPC9WQVI+XSBbPFZBUj53b3JkPC9WQVI+XTwvQ09ERT4KIDwvcHJlPjwvdGQ+PC90cj48L3RhYmxlPjxQPgogCkBAIC0xMTQ5MSw3ICsxMTc5MSw3IEBACiA8L1A+PFA+CiAKIDxEVD48Q09ERT5jb21wbGV0ZTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1NDEiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1NTciPjwvQT4KIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT48Q09ERT5jb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1vIDxWQVI+Y29tcC1vcHRpb248L1ZBUj5dIFstREVdIFstQSA8VkFSPmFjdGlvbjwvVkFSPl0gWy1HIDxWQVI+Z2xvYnBhdDwvVkFSPl0gWy1XIDxWQVI+d29yZGxpc3Q8L1ZBUj5dCiBbLUYgPFZBUj5mdW5jdGlvbjwvVkFSPl0gWy1DIDxWQVI+Y29tbWFuZDwvVkFSPl0gWy1YIDxWQVI+ZmlsdGVycGF0PC9WQVI+XQogWy1QIDxWQVI+cHJlZml4PC9WQVI+XSBbLVMgPFZBUj5zdWZmaXg8L1ZBUj5dIDxWQVI+bmFtZTwvVkFSPiBbPFZBUj5uYW1lPC9WQVI+IDxzbWFsbD4uLi48L3NtYWxsPl08L0NPREU+CkBAIC0xMTUxNCw3ICsxMTgxNCw3IEBACiA8L1A+PFA+CiAKIFRoZSBwcm9jZXNzIG9mIGFwcGx5aW5nIHRoZXNlIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgd2hlbiB3b3JkIGNvbXBsZXRpb24KLWlzIGF0dGVtcHRlZCBpcyBkZXNjcmliZWQgYWJvdmUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT4pLiAgVGhlCitpcyBhdHRlbXB0ZWQgaXMgZGVzY3JpYmVkIGFib3ZlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij44LjYgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb248L0E+KS4gIFRoZQogPFNBTVA+YC1EJzwvU0FNUD4gb3B0aW9uIHRha2VzIHByZWNlZGVuY2Ugb3ZlciA8U0FNUD5gLUUnPC9TQU1QPi4KIDwvUD48UD4KIApAQCAtMTE1ODUsNyArMTE4ODUsNyBAQAogPFA+CiAKIDxEVD48Q09ERT5iaW5kaW5nPC9DT0RFPgotPEREPlJlYWRsaW5lIGtleSBiaW5kaW5nIG5hbWVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA3Ij44LjQgQmluZGFibGUgUmVhZGxpbmUgQ29tbWFuZHM8L0E+KS4KKzxERD5SZWFkbGluZSBrZXkgYmluZGluZyBuYW1lcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40IEJpbmRhYmxlIFJlYWRsaW5lIENvbW1hbmRzPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPmJ1aWx0aW48L0NPREU+CkBAIC0xMTYyNSwxMiArMTE5MjUsMTIgQEAKIDxQPgogCiA8RFQ+PENPREU+aGVscHRvcGljPC9DT0RFPgotPEREPkhlbHAgdG9waWNzIGFzIGFjY2VwdGVkIGJ5IHRoZSA8Q09ERT5oZWxwPC9DT0RFPiBidWlsdGluIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KKzxERD5IZWxwIHRvcGljcyBhcyBhY2NlcHRlZCBieSB0aGUgPENPREU+aGVscDwvQ09ERT4gYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPmhvc3RuYW1lPC9DT0RFPgogPEREPkhvc3RuYW1lcywgYXMgdGFrZW4gZnJvbSB0aGUgZmlsZSBzcGVjaWZpZWQgYnkgdGhlCi08Q09ERT5IT1NURklMRTwvQ09ERT4gc2hlbGwgdmFyaWFibGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPikuCis8Q09ERT5IT1NURklMRTwvQ09ERT4gc2hlbGwgdmFyaWFibGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPmpvYjwvQ09ERT4KQEAgLTExNjUxLDEyICsxMTk1MSwxMiBAQAogCiA8RFQ+PENPREU+c2V0b3B0PC9DT0RFPgogPEREPlZhbGlkIGFyZ3VtZW50cyBmb3IgdGhlIDxTQU1QPmAtbyc8L1NBTVA+IG9wdGlvbiB0byB0aGUgPENPREU+c2V0PC9DT0RFPiBidWlsdGluCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYyIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KS4KKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4pLgogPFA+CiAKIDxEVD48Q09ERT5zaG9wdDwvQ09ERT4KIDxERD5TaGVsbCBvcHRpb24gbmFtZXMgYXMgYWNjZXB0ZWQgYnkgdGhlIDxDT0RFPnNob3B0PC9DT0RFPiBidWlsdGluCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPnNpZ25hbDwvQ09ERT4KQEAgLTExNjc2LDE5ICsxMTk3Niw2IEBACiA8L0RMPgogPFA+CiAKLTxEVD48Q09ERT4tRyA8VkFSPmdsb2JwYXQ8L1ZBUj48L0NPREU+Ci08REQ+VGhlIGZpbGVuYW1lIGV4cGFuc2lvbiBwYXR0ZXJuIDxWQVI+Z2xvYnBhdDwvVkFSPiBpcyBleHBhbmRlZCB0byBnZW5lcmF0ZQotdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zLgotPFA+Ci0KLTxEVD48Q09ERT4tVyA8VkFSPndvcmRsaXN0PC9WQVI+PC9DT0RFPgotPEREPlRoZSA8VkFSPndvcmRsaXN0PC9WQVI+IGlzIHNwbGl0IHVzaW5nIHRoZSBjaGFyYWN0ZXJzIGluIHRoZQotPENPREU+SUZTPC9DT0RFPiBzcGVjaWFsIHZhcmlhYmxlIGFzIGRlbGltaXRlcnMsIGFuZCBlYWNoIHJlc3VsdGFudCB3b3JkCi1pcyBleHBhbmRlZC4KLVRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBhcmUgdGhlIG1lbWJlcnMgb2YgdGhlIHJlc3VsdGFudCBsaXN0IHdoaWNoCi1tYXRjaCB0aGUgd29yZCBiZWluZyBjb21wbGV0ZWQuCi08UD4KLQogPERUPjxDT0RFPi1DIDxWQVI+Y29tbWFuZDwvVkFSPjwvQ09ERT4KIDxERD48VkFSPmNvbW1hbmQ8L1ZBUj4gaXMgZXhlY3V0ZWQgaW4gYSBzdWJzaGVsbCBlbnZpcm9ubWVudCwgYW5kIGl0cyBvdXRwdXQgaXMKIHVzZWQgYXMgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zLgpAQCAtMTE3MDEsMTMgKzExOTg4LDkgQEAKIG9mIHRoZSA8Q09ERT5DT01QUkVQTFk8L0NPREU+IGFycmF5IHZhcmlhYmxlLgogPFA+CiAKLTxEVD48Q09ERT4tWCA8VkFSPmZpbHRlcnBhdDwvVkFSPjwvQ09ERT4KLTxERD48VkFSPmZpbHRlcnBhdDwvVkFSPiBpcyBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgZmlsZW5hbWUgZXhwYW5zaW9uLgotSXQgaXMgYXBwbGllZCB0byB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBnZW5lcmF0ZWQgYnkgdGhlCi1wcmVjZWRpbmcgb3B0aW9ucyBhbmQgYXJndW1lbnRzLCBhbmQgZWFjaCBjb21wbGV0aW9uIG1hdGNoaW5nCi08VkFSPmZpbHRlcnBhdDwvVkFSPiBpcyByZW1vdmVkIGZyb20gdGhlIGxpc3QuCi1BIGxlYWRpbmcgPFNBTVA+YCEnPC9TQU1QPiBpbiA8VkFSPmZpbHRlcnBhdDwvVkFSPiBuZWdhdGVzIHRoZSBwYXR0ZXJuOyBpbiB0aGlzCi1jYXNlLCBhbnkgY29tcGxldGlvbiBub3QgbWF0Y2hpbmcgPFZBUj5maWx0ZXJwYXQ8L1ZBUj4gaXMgcmVtb3ZlZC4KKzxEVD48Q09ERT4tRyA8VkFSPmdsb2JwYXQ8L1ZBUj48L0NPREU+Cis8REQ+VGhlIGZpbGVuYW1lIGV4cGFuc2lvbiBwYXR0ZXJuIDxWQVI+Z2xvYnBhdDwvVkFSPiBpcyBleHBhbmRlZCB0byBnZW5lcmF0ZQordGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zLgogPFA+CiAKIDxEVD48Q09ERT4tUCA8VkFSPnByZWZpeDwvVkFSPjwvQ09ERT4KQEAgLTExNzE4LDYgKzEyMDAxLDIzIEBACiA8RFQ+PENPREU+LVMgPFZBUj5zdWZmaXg8L1ZBUj48L0NPREU+CiA8REQ+PFZBUj5zdWZmaXg8L1ZBUj4gaXMgYXBwZW5kZWQgdG8gZWFjaCBwb3NzaWJsZSBjb21wbGV0aW9uCiBhZnRlciBhbGwgb3RoZXIgb3B0aW9ucyBoYXZlIGJlZW4gYXBwbGllZC4KKzxQPgorCis8RFQ+PENPREU+LVcgPFZBUj53b3JkbGlzdDwvVkFSPjwvQ09ERT4KKzxERD5UaGUgPFZBUj53b3JkbGlzdDwvVkFSPiBpcyBzcGxpdCB1c2luZyB0aGUgY2hhcmFjdGVycyBpbiB0aGUKKzxDT0RFPklGUzwvQ09ERT4gc3BlY2lhbCB2YXJpYWJsZSBhcyBkZWxpbWl0ZXJzLCBhbmQgZWFjaCByZXN1bHRhbnQgd29yZAoraXMgZXhwYW5kZWQuCitUaGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIHRoZSBtZW1iZXJzIG9mIHRoZSByZXN1bHRhbnQgbGlzdCB3aGljaAorbWF0Y2ggdGhlIHdvcmQgYmVpbmcgY29tcGxldGVkLgorPFA+CisKKzxEVD48Q09ERT4tWCA8VkFSPmZpbHRlcnBhdDwvVkFSPjwvQ09ERT4KKzxERD48VkFSPmZpbHRlcnBhdDwvVkFSPiBpcyBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgZmlsZW5hbWUgZXhwYW5zaW9uLgorSXQgaXMgYXBwbGllZCB0byB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBnZW5lcmF0ZWQgYnkgdGhlCitwcmVjZWRpbmcgb3B0aW9ucyBhbmQgYXJndW1lbnRzLCBhbmQgZWFjaCBjb21wbGV0aW9uIG1hdGNoaW5nCis8VkFSPmZpbHRlcnBhdDwvVkFSPiBpcyByZW1vdmVkIGZyb20gdGhlIGxpc3QuCitBIGxlYWRpbmcgPFNBTVA+YCEnPC9TQU1QPiBpbiA8VkFSPmZpbHRlcnBhdDwvVkFSPiBuZWdhdGVzIHRoZSBwYXR0ZXJuOyBpbiB0aGlzCitjYXNlLCBhbnkgY29tcGxldGlvbiBub3QgbWF0Y2hpbmcgPFZBUj5maWx0ZXJwYXQ8L1ZBUj4gaXMgcmVtb3ZlZC4KIDwvREw+CiA8UD4KIApAQCAtMTE3MjksMTAgKzEyMDI5LDEwIEBACiA8L1A+PFA+CiAKIDxEVD48Q09ERT5jb21wb3B0PC9DT0RFPgotPEREPjxBIE5BTUU9IklEWDU0MiI+PC9BPgorPEREPjxBIE5BTUU9IklEWDU1OCI+PC9BPgogPFRBQkxFPjx0cj48dGQ+Jm5ic3A7PC90ZD48dGQgY2xhc3M9ZXhhbXBsZT48cHJlPjxDT0RFPmNvbXBvcHQ8L0NPREU+IFstbyA8VkFSPm9wdGlvbjwvVkFSPl0gWy1ERV0gWytvIDxWQVI+b3B0aW9uPC9WQVI+XSBbPFZBUj5uYW1lPC9WQVI+XQogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+TW9kaWZ5IGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCA8VkFSPm5hbWU8L1ZBUj4gYWNjb3JkaW5nIHRvIHRoZQotPFZBUj5vcHRpb248L1ZBUj5zLCBvciBmb3IgdGhlIGN1cnJlbnRseS1leGVjdXRpb24gY29tcGxldGlvbiBpZiBubyA8VkFSPm5hbWU8L1ZBUj5zCis8VkFSPm9wdGlvbjwvVkFSPnMsIG9yIGZvciB0aGUgY3VycmVudGx5LWV4ZWN1dGluZyBjb21wbGV0aW9uIGlmIG5vIDxWQVI+bmFtZTwvVkFSPnMKIGFyZSBzdXBwbGllZC4KIElmIG5vIDxWQVI+b3B0aW9uPC9WQVI+cyBhcmUgZ2l2ZW4sIGRpc3BsYXkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaAogPFZBUj5uYW1lPC9WQVI+IG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24uCkBAIC0xMTc1NywyNSArMTIwNTcsMjUgQEAKIDwvREw+CiA8UD4KIAotPEEgTkFNRT0iSURYNTQzIj48L0E+Cis8QSBOQU1FPSJJRFg1NTkiPjwvQT4KIDwvUD48UD4KIAogPEEgTkFNRT0iVXNpbmcgSGlzdG9yeSBJbnRlcmFjdGl2ZWx5Ij48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMTkiPjwvQT4KKzxBIE5BTUU9IlNFQzEyMCI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPiAmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjEiPiAmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WyAmbHQ7Jmx0OyBdPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMT4gOS4gVXNpbmcgSGlzdG9yeSBJbnRlcmFjdGl2ZWx5IDwvSDE+Ci08IS0tZG9jaWQ6OlNFQzExOTo6LS0+Cis8IS0tZG9jaWQ6OlNFQzEyMDo6LS0+CiA8UD4KIAogVGhpcyBjaGFwdGVyIGRlc2NyaWJlcyBob3cgdG8gdXNlIHRoZSBHTlUgSGlzdG9yeSBMaWJyYXJ5CkBAIC0xMTc4NiwzNCArMTIwODYsMzQgQEAKIDwvUD48UD4KIAogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPjkuMSBCYXNoIEhpc3RvcnkgRmFjaWxpdGllczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyBCYXNoIGxldHMgeW91IG1hbmlwdWxhdGUgeW91ciBjb21tYW5kCis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4xIEJhc2ggSGlzdG9yeSBGYWNpbGl0aWVzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IEJhc2ggbGV0cyB5b3UgbWFuaXB1bGF0ZSB5b3VyIGNvbW1hbmQKIAkJCQloaXN0b3J5LjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIxIj45LjIgQmFzaCBIaXN0b3J5IEJ1aWx0aW5zPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+VGhlIEJhc2ggYnVpbHRpbiBjb21tYW5kcyB0aGF0IG1hbmlwdWxhdGUKKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj45LjIgQmFzaCBIaXN0b3J5IEJ1aWx0aW5zPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+VGhlIEJhc2ggYnVpbHRpbiBjb21tYW5kcyB0aGF0IG1hbmlwdWxhdGUKIAkJCQl0aGUgY29tbWFuZCBoaXN0b3J5LjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj45LjMgSGlzdG9yeSBFeHBhbnNpb248L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5XaGF0IGl0IGZlZWxzIGxpa2UgdXNpbmcgSGlzdG9yeSBhcyBhIHVzZXIuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjMiPjkuMyBIaXN0b3J5IEV4cGFuc2lvbjwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPldoYXQgaXQgZmVlbHMgbGlrZSB1c2luZyBIaXN0b3J5IGFzIGEgdXNlci48L1REPjwvVFI+CiA8L1RBQkxFPjwvQkxPQ0tRVU9URT4KIDxQPgogCiA8QSBOQU1FPSJCYXNoIEhpc3RvcnkgRmFjaWxpdGllcyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTIwIj48L0E+Cis8QSBOQU1FPSJTRUMxMjEiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTkiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIxIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj4gJmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPlsgJmx0OyZsdDsgXTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiA5LjEgQmFzaCBIaXN0b3J5IEZhY2lsaXRpZXMgPC9IMj4KLTwhLS1kb2NpZDo6U0VDMTIwOjotLT4KKzwhLS1kb2NpZDo6U0VDMTIxOjotLT4KIDxQPgogCiBXaGVuIHRoZSA8U0FNUD5gLW8gaGlzdG9yeSc8L1NBTVA+IG9wdGlvbiB0byB0aGUgPENPREU+c2V0PC9DT0RFPiBidWlsdGluCi1pcyBlbmFibGVkIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4pLAoraXMgZW5hYmxlZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYzIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KSwKIHRoZSBzaGVsbCBwcm92aWRlcyBhY2Nlc3MgdG8gdGhlIDxFTT5jb21tYW5kIGhpc3Rvcnk8L0VNPiwKIHRoZSBsaXN0IG9mIGNvbW1hbmRzIHByZXZpb3VzbHkgdHlwZWQuCiBUaGUgdmFsdWUgb2YgdGhlIDxDT0RFPkhJU1RTSVpFPC9DT0RFPiBzaGVsbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZQpAQCAtMTE4MzUsNyArMTIxMzUsNyBAQAogV2hlbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbCBleGl0cywgdGhlIGxhc3QKIDxDT0RFPiRISVNUU0laRTwvQ09ERT4gbGluZXMgYXJlIGNvcGllZCBmcm9tIHRoZSBoaXN0b3J5IGxpc3QgdG8gdGhlIGZpbGUKIG5hbWVkIGJ5IDxDT0RFPiRISVNURklMRTwvQ09ERT4uCi1JZiB0aGUgPENPREU+aGlzdGFwcGVuZDwvQ09ERT4gc2hlbGwgb3B0aW9uIGlzIHNldCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPiksCitJZiB0aGUgPENPREU+aGlzdGFwcGVuZDwvQ09ERT4gc2hlbGwgb3B0aW9uIGlzIHNldCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPiksCiB0aGUgbGluZXMgYXJlIGFwcGVuZGVkIHRvIHRoZSBoaXN0b3J5IGZpbGUsCiBvdGhlcndpc2UgdGhlIGhpc3RvcnkgZmlsZSBpcyBvdmVyd3JpdHRlbi4KIElmIDxDT0RFPkhJU1RGSUxFPC9DT0RFPgpAQCAtMTE4NTksNyArMTIxNTksNyBAQAogbGlzdCBhbmQgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBmaWxlLgogV2hlbiB1c2luZyBjb21tYW5kLWxpbmUgZWRpdGluZywgc2VhcmNoIGNvbW1hbmRzCiBhcmUgYXZhaWxhYmxlIGluIGVhY2ggZWRpdGluZyBtb2RlIHRoYXQgcHJvdmlkZSBhY2Nlc3MgdG8gdGhlCi1oaXN0b3J5IGxpc3QgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+KS4KK2hpc3RvcnkgbGlzdCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT4pLgogPC9QPjxQPgogCiBUaGUgc2hlbGwgYWxsb3dzIGNvbnRyb2wgb3ZlciB3aGljaCBjb21tYW5kcyBhcmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkKQEAgLTExODc0LDI1ICsxMjE3NCwyNSBAQAogc2hlbGwgb3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gc2F2ZSB0aGUgY29tbWFuZCB3aXRoIGVtYmVkZGVkIG5ld2xpbmVzCiBpbnN0ZWFkIG9mIHNlbWljb2xvbnMuCiBUaGUgPENPREU+c2hvcHQ8L0NPREU+IGJ1aWx0aW4gaXMgdXNlZCB0byBzZXQgdGhlc2Ugb3B0aW9ucy4KLVNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4sIGZvciBhIGRlc2NyaXB0aW9uIG9mIDxDT0RFPnNob3B0PC9DT0RFPi4KK1NlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4sIGZvciBhIGRlc2NyaXB0aW9uIG9mIDxDT0RFPnNob3B0PC9DT0RFPi4KIDwvUD48UD4KIAogPEEgTkFNRT0iQmFzaCBIaXN0b3J5IEJ1aWx0aW5zIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMjEiPjwvQT4KKzxBIE5BTUU9IlNFQzEyMiI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIxIj4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMyI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMyI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIwIj4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gOS4yIEJhc2ggSGlzdG9yeSBCdWlsdGlucyA8L0gyPgotPCEtLWRvY2lkOjpTRUMxMjE6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMjI6Oi0tPgogPFA+CiAKIEJhc2ggcHJvdmlkZXMgdHdvIGJ1aWx0aW4gY29tbWFuZHMgd2hpY2ggbWFuaXB1bGF0ZSB0aGUKQEAgLTExOTAyLDcgKzEyMjAyLDcgQEAKIDxETCBDT01QQUNUPgogCiA8RFQ+PENPREU+ZmM8L0NPREU+Ci08REQ+PEEgTkFNRT0iSURYNTQ0Ij48L0E+Cis8REQ+PEEgTkFNRT0iSURYNTYwIj48L0E+CiA8VEFCTEU+PHRyPjx0ZD4mbmJzcDs8L3RkPjx0ZCBjbGFzcz1leGFtcGxlPjxwcmU+PENPREU+ZmMgWy1lIDxWQVI+ZW5hbWU8L1ZBUj5dIFstbG5yXSBbPFZBUj5maXJzdDwvVkFSPl0gWzxWQVI+bGFzdDwvVkFSPl08L0NPREU+CiA8Q09ERT5mYyAtcyBbPFZBUj5wYXQ8L1ZBUj49PFZBUj5yZXA8L1ZBUj5dIFs8VkFSPmNvbW1hbmQ8L1ZBUj5dPC9DT0RFPgogPC9wcmU+PC90ZD48L3RyPjwvdGFibGU+PFA+CkBAIC0xMTkzMiwxMSArMTIyMzIsMTEgQEAKIAogQSB1c2VmdWwgYWxpYXMgdG8gdXNlIHdpdGggdGhlIDxDT0RFPmZjPC9DT0RFPiBjb21tYW5kIGlzIDxDT0RFPnI9J2ZjIC1zJzwvQ09ERT4sIHNvCiB0aGF0IHR5cGluZyA8U0FNUD5gciBjYyc8L1NBTVA+IHJ1bnMgdGhlIGxhc3QgY29tbWFuZCBiZWdpbm5pbmcgd2l0aCA8Q09ERT5jYzwvQ09ERT4KLWFuZCB0eXBpbmcgPFNBTVA+YHInPC9TQU1QPiByZS1leGVjdXRlcyB0aGUgbGFzdCBjb21tYW5kIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODQiPjYuNiBBbGlhc2VzPC9BPikuCithbmQgdHlwaW5nIDxTQU1QPmByJzwvU0FNUD4gcmUtZXhlY3V0ZXMgdGhlIGxhc3QgY29tbWFuZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij42LjYgQWxpYXNlczwvQT4pLgogPC9QPjxQPgogCiA8RFQ+PENPREU+aGlzdG9yeTwvQ09ERT4KLTxERD48QSBOQU1FPSJJRFg1NDUiPjwvQT4KKzxERD48QSBOQU1FPSJJRFg1NjEiPjwvQT4KIDxUQUJMRT48dHI+PHRkPiZuYnNwOzwvdGQ+PHRkIGNsYXNzPWV4YW1wbGU+PHByZT5oaXN0b3J5IFs8VkFSPm48L1ZBUj5dCiBoaXN0b3J5IC1jCiBoaXN0b3J5IC1kIDxWQVI+b2Zmc2V0PC9WQVI+CkBAIC0xMjAxNCwyMCArMTIzMTQsMjAgQEAKIAogPEEgTkFNRT0iSGlzdG9yeSBJbnRlcmFjdGlvbiI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTIyIj48L0E+Cis8QSBOQU1FPSJTRUMxMjMiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjEiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIzIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI0Ij4gJmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPlsgJmx0OyZsdDsgXTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiA5LjMgSGlzdG9yeSBFeHBhbnNpb24gPC9IMj4KLTwhLS1kb2NpZDo6U0VDMTIyOjotLT4KKzwhLS1kb2NpZDo6U0VDMTIzOjotLT4KIDxQPgogCiBUaGUgSGlzdG9yeSBsaWJyYXJ5IHByb3ZpZGVzIGEgaGlzdG9yeSBleHBhbnNpb24gZmVhdHVyZSB0aGF0IGlzIHNpbWlsYXIKQEAgLTEyMDU3LDcgKzEyMzU3LDcgQEAKIDwvUD48UD4KIAogU2V2ZXJhbCBzaGVsbCBvcHRpb25zIHNldHRhYmxlIHdpdGggdGhlIDxDT0RFPnNob3B0PC9DT0RFPgotYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikgbWF5IGJlIHVzZWQgdG8gdGFpbG9yCitidWlsdGluIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KSBtYXkgYmUgdXNlZCB0byB0YWlsb3IKIHRoZSBiZWhhdmlvciBvZiBoaXN0b3J5IGV4cGFuc2lvbi4gIElmIHRoZQogPENPREU+aGlzdHZlcmlmeTwvQ09ERT4gc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQsIGFuZCBSZWFkbGluZQogaXMgYmVpbmcgdXNlZCwgaGlzdG9yeSBzdWJzdGl0dXRpb25zIGFyZSBub3QgaW1tZWRpYXRlbHkgcGFzc2VkIHRvCkBAIC0xMjA3NywzOSArMTIzNzcsNDEgQEAKIAogVGhlIHNoZWxsIGFsbG93cyBjb250cm9sIG9mIHRoZSB2YXJpb3VzIGNoYXJhY3RlcnMgdXNlZCBieSB0aGUKIGhpc3RvcnkgZXhwYW5zaW9uIG1lY2hhbmlzbSB3aXRoIHRoZSA8Q09ERT5oaXN0Y2hhcnM8L0NPREU+IHZhcmlhYmxlLAotYXMgZXhwbGFpbmVkIGFib3ZlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT4pLiAgVGhlIHNoZWxsIHVzZXMKK2FzIGV4cGxhaW5lZCBhYm92ZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+KS4gIFRoZSBzaGVsbCB1c2VzCiB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3RlciB0byBtYXJrIGhpc3RvcnkgdGltZXN0YW1wcyB3aGVuCiB3cml0aW5nIHRoZSBoaXN0b3J5IGZpbGUuCiA8L1A+PFA+CiAKIDxCTE9DS1FVT1RFPjxUQUJMRSBCT1JERVI9MCBDRUxMU1BBQ0lORz0wPiAKLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIzIj45LjMuMSBFdmVudCBEZXNpZ25hdG9yczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0byBzcGVjaWZ5IHdoaWNoIGhpc3RvcnkgbGluZSB0byB1c2UuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjQiPjkuMy4yIFdvcmQgRGVzaWduYXRvcnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5TcGVjaWZ5aW5nIHdoaWNoIHdvcmRzIGFyZSBvZiBpbnRlcmVzdC48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNSI+OS4zLjMgTW9kaWZpZXJzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+TW9kaWZ5aW5nIHRoZSByZXN1bHRzIG9mIHN1YnN0aXR1dGlvbi48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNCI+OS4zLjEgRXZlbnQgRGVzaWduYXRvcnM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgdG8gc3BlY2lmeSB3aGljaCBoaXN0b3J5IGxpbmUgdG8gdXNlLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI1Ij45LjMuMiBXb3JkIERlc2lnbmF0b3JzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+U3BlY2lmeWluZyB3aGljaCB3b3JkcyBhcmUgb2YgaW50ZXJlc3QuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjYiPjkuMy4zIE1vZGlmaWVyczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPk1vZGlmeWluZyB0aGUgcmVzdWx0cyBvZiBzdWJzdGl0dXRpb24uPC9URD48L1RSPgogPC9UQUJMRT48L0JMT0NLUVVPVEU+CiA8UD4KIAogPEEgTkFNRT0iRXZlbnQgRGVzaWduYXRvcnMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzEyMyI+PC9BPgorPEEgTkFNRT0iU0VDMTI0Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNCI+ICZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIzIj4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNSI+ICZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bICZsdDsmbHQ7IF08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIzIj4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gOS4zLjEgRXZlbnQgRGVzaWduYXRvcnMgPC9IMz4KLTwhLS1kb2NpZDo6U0VDMTIzOjotLT4KKzwhLS1kb2NpZDo6U0VDMTI0OjotLT4KIDxQPgogCiBBbiBldmVudCBkZXNpZ25hdG9yIGlzIGEgcmVmZXJlbmNlIHRvIGEgY29tbWFuZCBsaW5lIGVudHJ5IGluIHRoZQogaGlzdG9yeSBsaXN0LgotPEEgTkFNRT0iSURYNTQ2Ij48L0E+CitVbmxlc3MgdGhlIHJlZmVyZW5jZSBpcyBhYnNvbHV0ZSwgZXZlbnRzIGFyZSByZWxhdGl2ZSB0byB0aGUgY3VycmVudAorcG9zaXRpb24gaW4gdGhlIGhpc3RvcnkgbGlzdC4KKzxBIE5BTUU9IklEWDU2MiI+PC9BPgogPC9QPjxQPgogCiA8REwgQ09NUEFDVD4KQEAgLTEyMTMzLDExICsxMjQzNSwxNiBAQAogPFA+CiAKIDxEVD48Q09ERT4hPFZBUj5zdHJpbmc8L1ZBUj48L0NPREU+Ci08REQ+UmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgc3RhcnRpbmcgd2l0aCA8VkFSPnN0cmluZzwvVkFSPi4KKzxERD5SZWZlciB0byB0aGUgbW9zdCByZWNlbnQgY29tbWFuZAorcHJlY2VkaW5nIHRoZSBjdXJyZW50IHBvc2l0aW9uIGluIHRoZSBoaXN0b3J5IGxpc3QKK3N0YXJ0aW5nIHdpdGggPFZBUj5zdHJpbmc8L1ZBUj4uCiA8UD4KIAogPERUPjxDT0RFPiE/PFZBUj5zdHJpbmc8L1ZBUj5bP108L0NPREU+Ci08REQ+UmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgY29udGFpbmluZyA8VkFSPnN0cmluZzwvVkFSPi4gIFRoZSB0cmFpbGluZworPEREPlJlZmVyIHRvIHRoZSBtb3N0IHJlY2VudCBjb21tYW5kCitwcmVjZWRpbmcgdGhlIGN1cnJlbnQgcG9zaXRpb24gaW4gdGhlIGhpc3RvcnkgbGlzdAorY29udGFpbmluZyA8VkFSPnN0cmluZzwvVkFSPi4KK1RoZSB0cmFpbGluZwogPFNBTVA+YD8nPC9TQU1QPiBtYXkgYmUgb21pdHRlZCBpZiB0aGUgPFZBUj5zdHJpbmc8L1ZBUj4gaXMgZm9sbG93ZWQgaW1tZWRpYXRlbHkgYnkKIGEgbmV3bGluZS4KIDxQPgpAQCAtMTIxNTcsMjAgKzEyNDY0LDIwIEBACiAKIDxBIE5BTUU9IldvcmQgRGVzaWduYXRvcnMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzEyNCI+PC9BPgorPEEgTkFNRT0iU0VDMTI1Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIzIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNSI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjYiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjQiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjMiPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgzPiA5LjMuMiBXb3JkIERlc2lnbmF0b3JzIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzEyNDo6LS0+Cis8IS0tZG9jaWQ6OlNFQzEyNTo6LS0+CiA8UD4KIAogV29yZCBkZXNpZ25hdG9ycyBhcmUgdXNlZCB0byBzZWxlY3QgZGVzaXJlZCB3b3JkcyBmcm9tIHRoZSBldmVudC4KQEAgLTEyMjUyLDIwICsxMjU1OSwyMCBAQAogCiA8QSBOQU1FPSJNb2RpZmllcnMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzEyNSI+PC9BPgorPEEgTkFNRT0iU0VDMTI2Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI0Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNiI+ICZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI1Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+ICZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bICZsdDsmbHQ7IF08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIzIj4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMz4gOS4zLjMgTW9kaWZpZXJzIDwvSDM+Ci08IS0tZG9jaWQ6OlNFQzEyNTo6LS0+Cis8IS0tZG9jaWQ6OlNFQzEyNjo6LS0+CiA8UD4KIAogQWZ0ZXIgdGhlIG9wdGlvbmFsIHdvcmQgZGVzaWduYXRvciwgeW91IGNhbiBhZGQgYSBzZXF1ZW5jZSBvZiBvbmUgb3IgbW9yZQpAQCAtMTIzMzQsMjAgKzEyNjQxLDIwIEBACiAKIDxBIE5BTUU9Ikluc3RhbGxpbmcgQmFzaCI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTI2Ij48L0E+Cis8QSBOQU1FPSJTRUMxMjciPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjUiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI3Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjYiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI4Ij4gJmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM1Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzYiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMT4gMTAuIEluc3RhbGxpbmcgQmFzaCA8L0gxPgotPCEtLWRvY2lkOjpTRUMxMjY6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMjc6Oi0tPgogPFA+CiAKIFRoaXMgY2hhcHRlciBwcm92aWRlcyBiYXNpYyBpbnN0cnVjdGlvbnMgZm9yIGluc3RhbGxpbmcgQmFzaCBvbgpAQCAtMTIzNTksMzggKzEyNjY2LDM4IEBACiA8L1A+PFA+CiAKIDxCTE9DS1FVT1RFPjxUQUJMRSBCT1JERVI9MCBDRUxMU1BBQ0lORz0wPiAKLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI3Ij4xMC4xIEJhc2ljIEluc3RhbGxhdGlvbjwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjgiPjEwLjIgQ29tcGlsZXJzIGFuZCBPcHRpb25zPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRvIHNldCBzcGVjaWFsIG9wdGlvbnMgZm9yIHZhcmlvdXMKKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI4Ij4xMC4xIEJhc2ljIEluc3RhbGxhdGlvbjwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjkiPjEwLjIgQ29tcGlsZXJzIGFuZCBPcHRpb25zPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRvIHNldCBzcGVjaWFsIG9wdGlvbnMgZm9yIHZhcmlvdXMKIAkJCQlzeXN0ZW1zLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI5Ij4xMC4zIENvbXBpbGluZyBGb3IgTXVsdGlwbGUgQXJjaGl0ZWN0dXJlczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0byBjb21waWxlIEJhc2ggZm9yIG1vcmUKKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMwIj4xMC4zIENvbXBpbGluZyBGb3IgTXVsdGlwbGUgQXJjaGl0ZWN0dXJlczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0byBjb21waWxlIEJhc2ggZm9yIG1vcmUKIAkJCQkJCXRoYW4gb25lIGtpbmQgb2Ygc3lzdGVtIGZyb20KIAkJCQkJCXRoZSBzYW1lIHNvdXJjZSB0cmVlLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMwIj4xMC40IEluc3RhbGxhdGlvbiBOYW1lczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0byBzZXQgdGhlIHZhcmlvdXMgcGF0aHMgdXNlZCBieSB0aGUgaW5zdGFsbGF0aW9uLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMxIj4xMC41IFNwZWNpZnlpbmcgdGhlIFN5c3RlbSBUeXBlPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRvIGNvbmZpZ3VyZSBCYXNoIGZvciBhIHBhcnRpY3VsYXIgc3lzdGVtLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMyIj4xMC42IFNoYXJpbmcgRGVmYXVsdHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgdG8gc2hhcmUgZGVmYXVsdCBjb25maWd1cmF0aW9uIHZhbHVlcyBhbW9uZyBHTlUKKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMxIj4xMC40IEluc3RhbGxhdGlvbiBOYW1lczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0byBzZXQgdGhlIHZhcmlvdXMgcGF0aHMgdXNlZCBieSB0aGUgaW5zdGFsbGF0aW9uLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMyIj4xMC41IFNwZWNpZnlpbmcgdGhlIFN5c3RlbSBUeXBlPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRvIGNvbmZpZ3VyZSBCYXNoIGZvciBhIHBhcnRpY3VsYXIgc3lzdGVtLjwvVEQ+PC9UUj4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMzIj4xMC42IFNoYXJpbmcgRGVmYXVsdHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5Ib3cgdG8gc2hhcmUgZGVmYXVsdCBjb25maWd1cmF0aW9uIHZhbHVlcyBhbW9uZyBHTlUKIAkJCXByb2dyYW1zLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMzIj4xMC43IE9wZXJhdGlvbiBDb250cm9sczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPk9wdGlvbnMgcmVjb2duaXplZCBieSB0aGUgY29uZmlndXJhdGlvbiBwcm9ncmFtLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM0Ij4xMC44IE9wdGlvbmFsIEZlYXR1cmVzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SG93IHRvIGVuYWJsZSBhbmQgZGlzYWJsZSBvcHRpb25hbCBmZWF0dXJlcyB3aGVuCis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNCI+MTAuNyBPcGVyYXRpb24gQ29udHJvbHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5PcHRpb25zIHJlY29nbml6ZWQgYnkgdGhlIGNvbmZpZ3VyYXRpb24gcHJvZ3JhbS48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNSI+MTAuOCBPcHRpb25hbCBGZWF0dXJlczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkhvdyB0byBlbmFibGUgYW5kIGRpc2FibGUgb3B0aW9uYWwgZmVhdHVyZXMgd2hlbgogCQkJYnVpbGRpbmcgQmFzaC48L1REPjwvVFI+CiA8L1RBQkxFPjwvQkxPQ0tRVU9URT4KIDxQPgogCiA8QSBOQU1FPSJCYXNpYyBJbnN0YWxsYXRpb24iPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzEyNyI+PC9BPgorPEEgTkFNRT0iU0VDMTI4Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyOCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzUiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI5Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI3Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiAxMC4xIEJhc2ljIEluc3RhbGxhdGlvbiA8L0gyPgotPCEtLWRvY2lkOjpTRUMxMjc6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMjg6Oi0tPgogPFA+CiAKIFRoZXNlIGFyZSBpbnN0YWxsYXRpb24gaW5zdHJ1Y3Rpb25zIGZvciBCYXNoLgpAQCAtMTI0ODAsMjAgKzEyNzg3LDIwIEBACiAKIDxBIE5BTUU9IkNvbXBpbGVycyBhbmQgT3B0aW9ucyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTI4Ij48L0E+Cis8QSBOQU1FPSJTRUMxMjkiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI5Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI5Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjYiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyOCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzAiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzAiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM2Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDEwLjIgQ29tcGlsZXJzIGFuZCBPcHRpb25zIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzEyODo6LS0+Cis8IS0tZG9jaWQ6OlNFQzEyOTo6LS0+CiA8UD4KIAogU29tZSBzeXN0ZW1zIHJlcXVpcmUgdW51c3VhbCBvcHRpb25zIGZvciBjb21waWxhdGlvbiBvciBsaW5raW5nCkBAIC0xMjUxOCwyMCArMTI4MjUsMjAgQEAKIAogPEEgTkFNRT0iQ29tcGlsaW5nIEZvciBNdWx0aXBsZSBBcmNoaXRlY3R1cmVzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMjkiPjwvQT4KKzxBIE5BTUU9IlNFQzEzMCI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyOCI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzAiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzAiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNiI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM1Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI5Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzMSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzMSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI3Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzYiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gMTAuMyBDb21waWxpbmcgRm9yIE11bHRpcGxlIEFyY2hpdGVjdHVyZXMgPC9IMj4KLTwhLS1kb2NpZDo6U0VDMTI5OjotLT4KKzwhLS1kb2NpZDo6U0VDMTMwOjotLT4KIDxQPgogCiBZb3UgY2FuIGNvbXBpbGUgQmFzaCBmb3IgbW9yZSB0aGFuIG9uZSBraW5kIG9mIGNvbXB1dGVyIGF0IHRoZQpAQCAtMTI1NzAsMjAgKzEyODc3LDIwIEBACiAKIDxBIE5BTUU9Ikluc3RhbGxhdGlvbiBOYW1lcyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTMwIj48L0E+Cis8QSBOQU1FPSJTRUMxMzEiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjkiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMxIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMxIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjYiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzMCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzIiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzIiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM2Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDEwLjQgSW5zdGFsbGF0aW9uIE5hbWVzIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzEzMDo6LS0+Cis8IS0tZG9jaWQ6OlNFQzEzMTo6LS0+CiA8UD4KIAogQnkgZGVmYXVsdCwgPFNBTVA+YG1ha2UgaW5zdGFsbCc8L1NBTVA+IHdpbGwgaW5zdGFsbCBpbnRvCkBAIC0xMjYwNCwyMCArMTI5MTEsMjAgQEAKIAogPEEgTkFNRT0iU3BlY2lmeWluZyB0aGUgU3lzdGVtIFR5cGUiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzEzMSI+PC9BPgorPEEgTkFNRT0iU0VDMTMyIj48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMwIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzMiI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzMiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzUiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzEiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMzIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMzIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiAxMC41IFNwZWNpZnlpbmcgdGhlIFN5c3RlbSBUeXBlIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzEzMTo6LS0+Cis8IS0tZG9jaWQ6OlNFQzEzMjo6LS0+CiA8UD4KIAogVGhlcmUgbWF5IGJlIHNvbWUgZmVhdHVyZXMgPENPREU+Y29uZmlndXJlPC9DT0RFPiBjYW4gbm90IGZpZ3VyZSBvdXQKQEAgLTEyNjM2LDIwICsxMjk0MywyMCBAQAogCiA8QSBOQU1FPSJTaGFyaW5nIERlZmF1bHRzIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMzIiPjwvQT4KKzxBIE5BTUU9IlNFQzEzMyI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzMSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzMiPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzMiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNiI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM1Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMyIj4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNCI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI3Ij4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzYiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMj4gMTAuNiBTaGFyaW5nIERlZmF1bHRzIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzEzMjo6LS0+Cis8IS0tZG9jaWQ6OlNFQzEzMzo6LS0+CiA8UD4KIAogSWYgeW91IHdhbnQgdG8gc2V0IGRlZmF1bHQgdmFsdWVzIGZvciA8Q09ERT5jb25maWd1cmU8L0NPREU+IHNjcmlwdHMgdG8KQEAgLTEyNjY1LDIwICsxMjk3MiwyMCBAQAogCiA8QSBOQU1FPSJPcGVyYXRpb24gQ29udHJvbHMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzEzMyI+PC9BPgorPEEgTkFNRT0iU0VDMTM0Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMyIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzUiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzMiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM1Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM1Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNiI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiAxMC43IE9wZXJhdGlvbiBDb250cm9scyA8L0gyPgotPCEtLWRvY2lkOjpTRUMxMzM6Oi0tPgorPCEtLWRvY2lkOjpTRUMxMzQ6Oi0tPgogPFA+CiAKIDxDT0RFPmNvbmZpZ3VyZTwvQ09ERT4gcmVjb2duaXplcyB0aGUgZm9sbG93aW5nIG9wdGlvbnMgdG8gY29udHJvbCBob3cgaXQKQEAgLTEyNzIxLDIwICsxMzAyOCwyMCBAQAogCiA8QSBOQU1FPSJPcHRpb25hbCBGZWF0dXJlcyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTM0Ij48L0E+Cis8QSBOQU1FPSJTRUMxMzUiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzMiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM1Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjYiPiBVcCA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KKzxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNCI+ICZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzYiPiAmZ3Q7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM2Ij4gJmd0OyZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IDEwLjggT3B0aW9uYWwgRmVhdHVyZXMgPC9IMj4KLTwhLS1kb2NpZDo6U0VDMTM0OjotLT4KKzwhLS1kb2NpZDo6U0VDMTM1OjotLT4KIDxQPgogCiBUaGUgQmFzaCA8Q09ERT5jb25maWd1cmU8L0NPREU+IGhhcyBhIG51bWJlciBvZiA8U0FNUD5gLS1lbmFibGUtPFZBUj5mZWF0dXJlPC9WQVI+JzwvU0FNUD4KQEAgLTEyODQxLDcgKzEzMTQ4LDcgQEAKIDxETCBDT01QQUNUPgogPERUPjxDT0RFPi0tZW5hYmxlLWFsaWFzPC9DT0RFPgogPEREPkFsbG93IGFsaWFzIGV4cGFuc2lvbiBhbmQgaW5jbHVkZSB0aGUgPENPREU+YWxpYXM8L0NPREU+IGFuZCA8Q09ERT51bmFsaWFzPC9DT0RFPgotYnVpbHRpbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni42IEFsaWFzZXM8L0E+KS4KK2J1aWx0aW5zIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPjYuNiBBbGlhc2VzPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPi0tZW5hYmxlLWFyaXRoLWZvci1jb21tYW5kPC9DT0RFPgpAQCAtMTI4NTIsMTggKzEzMTU5LDE4IEBACiAKIDxEVD48Q09ERT4tLWVuYWJsZS1hcnJheS12YXJpYWJsZXM8L0NPREU+CiA8REQ+SW5jbHVkZSBzdXBwb3J0IGZvciBvbmUtZGltZW5zaW9uYWwgYXJyYXkgc2hlbGwgdmFyaWFibGVzCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij42LjcgQXJyYXlzPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg2Ij42LjcgQXJyYXlzPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPi0tZW5hYmxlLWJhbmctaGlzdG9yeTwvQ09ERT4KIDxERD5JbmNsdWRlIHN1cHBvcnQgZm9yIDxDT0RFPmNzaDwvQ09ERT4tbGlrZSBoaXN0b3J5IHN1YnN0aXR1dGlvbgotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPjkuMyBIaXN0b3J5IEV4cGFuc2lvbjwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjMiPjkuMyBIaXN0b3J5IEV4cGFuc2lvbjwvQT4pLgogPFA+CiAKIDxEVD48Q09ERT4tLWVuYWJsZS1icmFjZS1leHBhbnNpb248L0NPREU+CiA8REQ+SW5jbHVkZSA8Q09ERT5jc2g8L0NPREU+LWxpa2UgYnJhY2UgZXhwYW5zaW9uCiAoIDxDT0RFPmJ7YSxifWM8L0NPREU+ID09PiA8Q09ERT5iYWMgYmJjPC9DT0RFPiApLgotU2VlIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+My41LjEgQnJhY2UgRXhwYW5zaW9uPC9BPiwgZm9yIGEgY29tcGxldGUgZGVzY3JpcHRpb24uCitTZWUgPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMwIj4zLjUuMSBCcmFjZSBFeHBhbnNpb248L0E+LCBmb3IgYSBjb21wbGV0ZSBkZXNjcmlwdGlvbi4KIDxQPgogCiA8RFQ+PENPREU+LS1lbmFibGUtY2FzZW1vZC1hdHRyaWJ1dGVzPC9DT0RFPgpAQCAtMTI5MDYsMTMgKzEzMjEzLDEzIEBACiA8RFQ+PENPREU+LS1lbmFibGUtZGlyZWN0b3J5LXN0YWNrPC9DT0RFPgogPEREPkluY2x1ZGUgc3VwcG9ydCBmb3IgYSA8Q09ERT5jc2g8L0NPREU+LWxpa2UgZGlyZWN0b3J5IHN0YWNrIGFuZCB0aGUKIDxDT0RFPnB1c2hkPC9DT0RFPiwgPENPREU+cG9wZDwvQ09ERT4sIGFuZCA8Q09ERT5kaXJzPC9DT0RFPiBidWlsdGlucwotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NiI+Ni44IFRoZSBEaXJlY3RvcnkgU3RhY2s8L0E+KS4KKyhzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPjYuOCBUaGUgRGlyZWN0b3J5IFN0YWNrPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPi0tZW5hYmxlLWRpc2FibGVkLWJ1aWx0aW5zPC9DT0RFPgogPEREPkFsbG93IGJ1aWx0aW4gY29tbWFuZHMgdG8gYmUgaW52b2tlZCB2aWEgPFNBTVA+YGJ1aWx0aW4geHh4JzwvU0FNUD4KIGV2ZW4gYWZ0ZXIgPENPREU+eHh4PC9DT0RFPiBoYXMgYmVlbiBkaXNhYmxlZCB1c2luZyA8U0FNUD5gZW5hYmxlIC1uIHh4eCc8L1NBTVA+LgotU2VlIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4sIGZvciBkZXRhaWxzIG9mIHRoZSA8Q09ERT5idWlsdGluPC9DT0RFPiBhbmQKK1NlZSA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+LCBmb3IgZGV0YWlscyBvZiB0aGUgPENPREU+YnVpbHRpbjwvQ09ERT4gYW5kCiA8Q09ERT5lbmFibGU8L0NPREU+IGJ1aWx0aW4gY29tbWFuZHMuCiA8UD4KIApAQCAtMTI5MjMsMjYgKzEzMjMwLDI2IEBACiAKIDxEVD48Q09ERT4tLWVuYWJsZS1leHRlbmRlZC1nbG9iPC9DT0RFPgogPEREPkluY2x1ZGUgc3VwcG9ydCBmb3IgdGhlIGV4dGVuZGVkIHBhdHRlcm4gbWF0Y2hpbmcgZmVhdHVyZXMgZGVzY3JpYmVkCi1hYm92ZSB1bmRlciA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPjMuNS44LjEgUGF0dGVybiBNYXRjaGluZzwvQT4uCithYm92ZSB1bmRlciA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzgiPjMuNS44LjEgUGF0dGVybiBNYXRjaGluZzwvQT4uCiA8UD4KIAogPERUPjxDT0RFPi0tZW5hYmxlLWV4dGVuZGVkLWdsb2ItZGVmYXVsdDwvQ09ERT4KIDxERD5TZXQgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIDxWQVI+ZXh0Z2xvYjwvVkFSPiBzaGVsbCBvcHRpb24gZGVzY3JpYmVkCi1hYm92ZSB1bmRlciA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPiB0byBiZSBlbmFibGVkLgorYWJvdmUgdW5kZXIgPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij40LjMuMiBUaGUgU2hvcHQgQnVpbHRpbjwvQT4gdG8gYmUgZW5hYmxlZC4KIDxQPgogCiA8RFQ+PENPREU+LS1lbmFibGUtaGVscC1idWlsdGluPC9DT0RFPgogPEREPkluY2x1ZGUgdGhlIDxDT0RFPmhlbHA8L0NPREU+IGJ1aWx0aW4sIHdoaWNoIGRpc3BsYXlzIGhlbHAgb24gc2hlbGwgYnVpbHRpbnMgYW5kCi12YXJpYWJsZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4pLgordmFyaWFibGVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KIDxQPgogCiA8RFQ+PENPREU+LS1lbmFibGUtaGlzdG9yeTwvQ09ERT4KIDxERD5JbmNsdWRlIGNvbW1hbmQgaGlzdG9yeSBhbmQgdGhlIDxDT0RFPmZjPC9DT0RFPiBhbmQgPENPREU+aGlzdG9yeTwvQ09ERT4KLWJ1aWx0aW4gY29tbWFuZHMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPjkuMSBCYXNoIEhpc3RvcnkgRmFjaWxpdGllczwvQT4pLgorYnVpbHRpbiBjb21tYW5kcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4xIEJhc2ggSGlzdG9yeSBGYWNpbGl0aWVzPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPi0tZW5hYmxlLWpvYi1jb250cm9sPC9DT0RFPgotPEREPlRoaXMgZW5hYmxlcyB0aGUgam9iIGNvbnRyb2wgZmVhdHVyZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+Ny4gSm9iIENvbnRyb2w8L0E+KSwKKzxERD5UaGlzIGVuYWJsZXMgdGhlIGpvYiBjb250cm9sIGZlYXR1cmVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTIiPjcuIEpvYiBDb250cm9sPC9BPiksCiBpZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSBzdXBwb3J0cyB0aGVtLgogPFA+CiAKQEAgLTEyOTU1LDQxICsxMzI2Miw0MSBAQAogPEREPlRoaXMgZW5hYmxlcyB0aGUgc3BlY2lhbCBoYW5kbGluZyBvZiBmaWxlbmFtZXMgb2YgdGhlIGZvcm0KIDxDT0RFPi9kZXYvdGNwLzxWQVI+aG9zdDwvVkFSPi88VkFSPnBvcnQ8L1ZBUj48L0NPREU+IGFuZAogPENPREU+L2Rldi91ZHAvPFZBUj5ob3N0PC9WQVI+LzxWQVI+cG9ydDwvVkFSPjwvQ09ERT4KLXdoZW4gdXNlZCBpbiByZWRpcmVjdGlvbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+My42IFJlZGlyZWN0aW9uczwvQT4pLgord2hlbiB1c2VkIGluIHJlZGlyZWN0aW9ucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4zLjYgUmVkaXJlY3Rpb25zPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPi0tZW5hYmxlLXByb2Nlc3Mtc3Vic3RpdHV0aW9uPC9DT0RFPgotPEREPlRoaXMgZW5hYmxlcyBwcm9jZXNzIHN1YnN0aXR1dGlvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM0Ij4zLjUuNiBQcm9jZXNzIFN1YnN0aXR1dGlvbjwvQT4pIGlmCis8REQ+VGhpcyBlbmFibGVzIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzUiPjMuNS42IFByb2Nlc3MgU3Vic3RpdHV0aW9uPC9BPikgaWYKIHRoZSBvcGVyYXRpbmcgc3lzdGVtIHByb3ZpZGVzIHRoZSBuZWNlc3Nhcnkgc3VwcG9ydC4KIDxQPgogCiA8RFQ+PENPREU+LS1lbmFibGUtcHJvZ2NvbXA8L0NPREU+CiA8REQ+RW5hYmxlIHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmYWNpbGl0aWVzCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOCI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPikuCiBJZiBSZWFkbGluZSBpcyBub3QgZW5hYmxlZCwgdGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdC4KIDxQPgogCiA8RFQ+PENPREU+LS1lbmFibGUtcHJvbXB0LXN0cmluZy1kZWNvZGluZzwvQ09ERT4KIDxERD5UdXJuIG9uIHRoZSBpbnRlcnByZXRhdGlvbiBvZiBhIG51bWJlciBvZiBiYWNrc2xhc2gtZXNjYXBlZCBjaGFyYWN0ZXJzCiBpbiB0aGUgPENPREU+JFBTMTwvQ09ERT4sIDxDT0RFPiRQUzI8L0NPREU+LCA8Q09ERT4kUFMzPC9DT0RFPiwgYW5kIDxDT0RFPiRQUzQ8L0NPREU+IHByb21wdAotc3RyaW5ncy4gIFNlZSA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODgiPjYuOSBDb250cm9sbGluZyB0aGUgUHJvbXB0PC9BPiwgZm9yIGEgY29tcGxldGUgbGlzdCBvZiBwcm9tcHQKK3N0cmluZ3MuICBTZWUgPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij42LjkgQ29udHJvbGxpbmcgdGhlIFByb21wdDwvQT4sIGZvciBhIGNvbXBsZXRlIGxpc3Qgb2YgcHJvbXB0CiBzdHJpbmcgZXNjYXBlIHNlcXVlbmNlcy4KIDxQPgogCiA8RFQ+PENPREU+LS1lbmFibGUtcmVhZGxpbmU8L0NPREU+CiA8REQ+SW5jbHVkZSBzdXBwb3J0IGZvciBjb21tYW5kLWxpbmUgZWRpdGluZyBhbmQgaGlzdG9yeSB3aXRoIHRoZSBCYXNoCi12ZXJzaW9uIG9mIHRoZSBSZWFkbGluZSBsaWJyYXJ5IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPjguIENvbW1hbmQgTGluZSBFZGl0aW5nPC9BPikuCit2ZXJzaW9uIG9mIHRoZSBSZWFkbGluZSBsaWJyYXJ5IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPjguIENvbW1hbmQgTGluZSBFZGl0aW5nPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPi0tZW5hYmxlLXJlc3RyaWN0ZWQ8L0NPREU+CiA8REQ+SW5jbHVkZSBzdXBwb3J0IGZvciBhIDxFTT5yZXN0cmljdGVkIHNoZWxsPC9FTT4uICBJZiB0aGlzIGlzIGVuYWJsZWQsIEJhc2gsCiB3aGVuIGNhbGxlZCBhcyA8Q09ERT5yYmFzaDwvQ09ERT4sIGVudGVycyBhIHJlc3RyaWN0ZWQgbW9kZS4gIFNlZQotPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij42LjEwIFRoZSBSZXN0cmljdGVkIFNoZWxsPC9BPiwgZm9yIGEgZGVzY3JpcHRpb24gb2YgcmVzdHJpY3RlZCBtb2RlLgorPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj42LjEwIFRoZSBSZXN0cmljdGVkIFNoZWxsPC9BPiwgZm9yIGEgZGVzY3JpcHRpb24gb2YgcmVzdHJpY3RlZCBtb2RlLgogPFA+CiAKIDxEVD48Q09ERT4tLWVuYWJsZS1zZWxlY3Q8L0NPREU+Ci08REQ+SW5jbHVkZSB0aGUgPENPREU+c2VsZWN0PC9DT0RFPiBidWlsdGluLCB3aGljaCBhbGxvd3MgdGhlIGdlbmVyYXRpb24gb2Ygc2ltcGxlCi1tZW51cyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzIxIj4zLjIuNC4yIENvbmRpdGlvbmFsIENvbnN0cnVjdHM8L0E+KS4KKzxERD5JbmNsdWRlIHRoZSA8Q09ERT5zZWxlY3Q8L0NPREU+IGNvbXBvdW5kIGNvbW1hbmQsIHdoaWNoIGFsbG93cyB0aGUgZ2VuZXJhdGlvbiBvZgorc2ltcGxlIG1lbnVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjEiPjMuMi40LjIgQ29uZGl0aW9uYWwgQ29uc3RydWN0czwvQT4pLgogPFA+CiAKIDxEVD48Q09ERT4tLWVuYWJsZS1zZXBhcmF0ZS1oZWxwZmlsZXM8L0NPREU+CkBAIC0xMzAwNSw3ICsxMzMxMiw3IEBACiA8UD4KIAogPERUPjxDT0RFPi0tZW5hYmxlLXN0cmljdC1wb3NpeC1kZWZhdWx0PC9DT0RFPgotPEREPk1ha2UgQmFzaCBQT1NJWC1jb25mb3JtYW50IGJ5IGRlZmF1bHQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MCI+Ni4xMSBCYXNoIFBPU0lYIE1vZGU8L0E+KS4KKzxERD5NYWtlIEJhc2ggUE9TSVgtY29uZm9ybWFudCBieSBkZWZhdWx0IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTEiPjYuMTEgQmFzaCBQT1NJWCBNb2RlPC9BPikuCiA8UD4KIAogPERUPjxDT0RFPi0tZW5hYmxlLXVzZy1lY2hvLWRlZmF1bHQ8L0NPREU+CkBAIC0xMzAxOCw3ICsxMzMyNSw3IEBACiBUaGlzIHNldHMgdGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhlIDxDT0RFPnhwZ19lY2hvPC9DT0RFPiBzaGVsbCBvcHRpb24gdG8gPENPREU+b248L0NPREU+LAogd2hpY2ggbWFrZXMgdGhlIEJhc2ggPENPREU+ZWNobzwvQ09ERT4gYmVoYXZlIG1vcmUgbGlrZSB0aGUgdmVyc2lvbiBzcGVjaWZpZWQgaW4KIHRoZSBTaW5nbGUgVW5peCBTcGVjaWZpY2F0aW9uLCB2ZXJzaW9uIDMuCi1TZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+LCBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgZXNjYXBlIHNlcXVlbmNlcyB0aGF0CitTZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+LCBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgZXNjYXBlIHNlcXVlbmNlcyB0aGF0CiA8Q09ERT5lY2hvPC9DT0RFPiByZWNvZ25pemVzLgogPFA+CiAKQEAgLTEzMDM2LDIwICsxMzM0MywyMCBAQAogCiA8QSBOQU1FPSJSZXBvcnRpbmcgQnVncyI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTM1Ij48L0E+Cis8QSBOQU1FPSJTRUMxMzYiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzQiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM2Ij4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM1Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNyI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM2Ij4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzciPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMT4gQS4gUmVwb3J0aW5nIEJ1Z3MgPC9IMT4KLTwhLS1kb2NpZDo6U0VDMTM1OjotLT4KKzwhLS1kb2NpZDo6U0VDMTM2OjotLT4KIDxQPgogCiBQbGVhc2UgcmVwb3J0IGFsbCBidWdzIHlvdSBmaW5kIGluIEJhc2guCkBAIC0xMzA5NCwyMCArMTM0MDEsMjAgQEAKIAogPEEgTkFNRT0iTWFqb3IgRGlmZmVyZW5jZXMgRnJvbSBUaGUgQm91cm5lIFNoZWxsIj48L0E+CiA8SFIgU0laRT0iNiI+Ci08QSBOQU1FPSJTRUMxMzYiPjwvQT4KKzxBIE5BTUU9IlNFQzEzNyI+PC9BPgogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KLTxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNSI+ICZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzciPiAmZ3Q7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzgiPiAmbHQ7Jmx0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzYiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM4Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM5Ij4gJmx0OyZsdDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzgiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzOSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgxPiBCLiBNYWpvciBEaWZmZXJlbmNlcyBGcm9tIFRoZSBCb3VybmUgU2hlbGwgPC9IMT4KLTwhLS1kb2NpZDo6U0VDMTM2OjotLT4KKzwhLS1kb2NpZDo6U0VDMTM3OjotLT4KIDxQPgogCiBCYXNoIGltcGxlbWVudHMgZXNzZW50aWFsbHkgdGhlIHNhbWUgZ3JhbW1hciwgcGFyYW1ldGVyIGFuZApAQCAtMTMxMjYsMjcgKzEzNDMzLDI3IEBACiAKIDxMST4KIEJhc2ggaXMgUE9TSVgtY29uZm9ybWFudCwgZXZlbiB3aGVyZSB0aGUgUE9TSVggc3BlY2lmaWNhdGlvbgotZGlmZmVycyBmcm9tIHRyYWRpdGlvbmFsIDxDT0RFPnNoPC9DT0RFPiBiZWhhdmlvciAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj42LjExIEJhc2ggUE9TSVggTW9kZTwvQT4pLgorZGlmZmVycyBmcm9tIHRyYWRpdGlvbmFsIDxDT0RFPnNoPC9DT0RFPiBiZWhhdmlvciAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj42LjExIEJhc2ggUE9TSVggTW9kZTwvQT4pLgogPFA+CiAKIDxMST4KLUJhc2ggaGFzIG11bHRpLWNoYXJhY3RlciBpbnZvY2F0aW9uIG9wdGlvbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+Ni4xIEludm9raW5nIEJhc2g8L0E+KS4KK0Jhc2ggaGFzIG11bHRpLWNoYXJhY3RlciBpbnZvY2F0aW9uIG9wdGlvbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MCI+Ni4xIEludm9raW5nIEJhc2g8L0E+KS4KIDxQPgogCiA8TEk+Ci1CYXNoIGhhcyBjb21tYW5kLWxpbmUgZWRpdGluZyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij44LiBDb21tYW5kIExpbmUgRWRpdGluZzwvQT4pIGFuZAorQmFzaCBoYXMgY29tbWFuZC1saW5lIGVkaXRpbmcgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NiI+OC4gQ29tbWFuZCBMaW5lIEVkaXRpbmc8L0E+KSBhbmQKIHRoZSA8Q09ERT5iaW5kPC9DT0RFPiBidWlsdGluLgogPFA+CiAKIDxMST4KIEJhc2ggcHJvdmlkZXMgYSBwcm9ncmFtbWFibGUgd29yZCBjb21wbGV0aW9uIG1lY2hhbmlzbQotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT4pLCBhbmQgYnVpbHRpbiBjb21tYW5kcworKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT4pLCBhbmQgYnVpbHRpbiBjb21tYW5kcwogPENPREU+Y29tcGxldGU8L0NPREU+LCA8Q09ERT5jb21wZ2VuPC9DT0RFPiwgYW5kIDxDT0RFPmNvbXBvcHQ8L0NPREU+LCB0bwogbWFuaXB1bGF0ZSBpdC4KIDxQPgogCiA8TEk+Ci1CYXNoIGhhcyBjb21tYW5kIGhpc3RvcnkgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPjkuMSBCYXNoIEhpc3RvcnkgRmFjaWxpdGllczwvQT4pIGFuZCB0aGUKK0Jhc2ggaGFzIGNvbW1hbmQgaGlzdG9yeSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4xIEJhc2ggSGlzdG9yeSBGYWNpbGl0aWVzPC9BPikgYW5kIHRoZQogPENPREU+aGlzdG9yeTwvQ09ERT4gYW5kIDxDT0RFPmZjPC9DT0RFPiBidWlsdGlucyB0byBtYW5pcHVsYXRlIGl0LgogVGhlIEJhc2ggaGlzdG9yeSBsaXN0IG1haW50YWlucyB0aW1lc3RhbXAgaW5mb3JtYXRpb24gYW5kIHVzZXMgdGhlCiB2YWx1ZSBvZiB0aGUgPENPREU+SElTVFRJTUVGT1JNQVQ8L0NPREU+IHZhcmlhYmxlIHRvIGRpc3BsYXkgaXQuCkBAIC0xMzE1NCwxMSArMTM0NjEsMTEgQEAKIAogPExJPgogQmFzaCBpbXBsZW1lbnRzIDxDT0RFPmNzaDwvQ09ERT4tbGlrZSBoaXN0b3J5IGV4cGFuc2lvbgotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPjkuMyBIaXN0b3J5IEV4cGFuc2lvbjwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjMiPjkuMyBIaXN0b3J5IEV4cGFuc2lvbjwvQT4pLgogPFA+CiAKIDxMST4KLUJhc2ggaGFzIG9uZS1kaW1lbnNpb25hbCBhcnJheSB2YXJpYWJsZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NSI+Ni43IEFycmF5czwvQT4pLCBhbmQgdGhlCitCYXNoIGhhcyBvbmUtZGltZW5zaW9uYWwgYXJyYXkgdmFyaWFibGVzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODYiPjYuNyBBcnJheXM8L0E+KSwgYW5kIHRoZQogYXBwcm9wcmlhdGUgdmFyaWFibGUgZXhwYW5zaW9ucyBhbmQgYXNzaWdubWVudCBzeW50YXggdG8gdXNlIHRoZW0uCiBTZXZlcmFsIG9mIHRoZSBCYXNoIGJ1aWx0aW5zIHRha2Ugb3B0aW9ucyB0byBhY3Qgb24gYXJyYXlzLgogQmFzaCBwcm92aWRlcyBhIG51bWJlciBvZiBidWlsdC1pbiBhcnJheSB2YXJpYWJsZXMuCkBAIC0xMzIxNCwxOSArMTM1MjEsMTkgQEAKIDxQPgogCiA8TEk+Ci1CYXNoIGluY2x1ZGVzIGJyYWNlIGV4cGFuc2lvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI5Ij4zLjUuMSBCcmFjZSBFeHBhbnNpb248L0E+KSBhbmQgdGlsZGUKLWV4cGFuc2lvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMwIj4zLjUuMiBUaWxkZSBFeHBhbnNpb248L0E+KS4KK0Jhc2ggaW5jbHVkZXMgYnJhY2UgZXhwYW5zaW9uIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzAiPjMuNS4xIEJyYWNlIEV4cGFuc2lvbjwvQT4pIGFuZCB0aWxkZQorZXhwYW5zaW9uIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzEiPjMuNS4yIFRpbGRlIEV4cGFuc2lvbjwvQT4pLgogPFA+CiAKIDxMST4KIEJhc2ggaW1wbGVtZW50cyBjb21tYW5kIGFsaWFzZXMgYW5kIHRoZSA8Q09ERT5hbGlhczwvQ09ERT4gYW5kIDxDT0RFPnVuYWxpYXM8L0NPREU+Ci1idWlsdGlucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij42LjYgQWxpYXNlczwvQT4pLgorYnVpbHRpbnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NSI+Ni42IEFsaWFzZXM8L0E+KS4KIDxQPgogCiA8TEk+CiBCYXNoIHByb3ZpZGVzIHNoZWxsIGFyaXRobWV0aWMsIHRoZSA8Q09ERT4oKDwvQ09ERT4gY29tcG91bmQgY29tbWFuZAogKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyMSI+My4yLjQuMiBDb25kaXRpb25hbCBDb25zdHJ1Y3RzPC9BPiksCi1hbmQgYXJpdGhtZXRpYyBleHBhbnNpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+Ni41IFNoZWxsIEFyaXRobWV0aWM8L0E+KS4KK2FuZCBhcml0aG1ldGljIGV4cGFuc2lvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij42LjUgU2hlbGwgQXJpdGhtZXRpYzwvQT4pLgogPFA+CiAKIDxMST4KQEAgLTEzMjQ0LDM3ICsxMzU1MSwzNyBAQAogPExJPgogQmFzaCBpbmNsdWRlcyB0aGUgUE9TSVggcGF0dGVybiByZW1vdmFsIDxTQU1QPmAlJzwvU0FNUD4sIDxTQU1QPmAjJzwvU0FNUD4sIDxTQU1QPmAlJSc8L1NBTVA+CiBhbmQgPFNBTVA+YCMjJzwvU0FNUD4gZXhwYW5zaW9ucyB0byByZW1vdmUgbGVhZGluZyBvciB0cmFpbGluZyBzdWJzdHJpbmdzIGZyb20KLXZhcmlhYmxlIHZhbHVlcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMxIj4zLjUuMyBTaGVsbCBQYXJhbWV0ZXIgRXhwYW5zaW9uPC9BPikuCit2YXJpYWJsZSB2YWx1ZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT4pLgogPFA+CiAKIDxMST4KIFRoZSBleHBhbnNpb24gPENPREU+JHsjeHh9PC9DT0RFPiwgd2hpY2ggcmV0dXJucyB0aGUgbGVuZ3RoIG9mIDxDT0RFPiR7eHh9PC9DT0RFPiwKLWlzIHN1cHBvcnRlZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMxIj4zLjUuMyBTaGVsbCBQYXJhbWV0ZXIgRXhwYW5zaW9uPC9BPikuCitpcyBzdXBwb3J0ZWQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT4pLgogPFA+CiAKIDxMST4KIFRoZSBleHBhbnNpb24gPENPREU+JHt2YXI6PC9DT0RFPjxWQVI+b2Zmc2V0PC9WQVI+PENPREU+Wzo8L0NPREU+PFZBUj5sZW5ndGg8L1ZBUj48Q09ERT5dfTwvQ09ERT4sCiB3aGljaCBleHBhbmRzIHRvIHRoZSBzdWJzdHJpbmcgb2YgPENPREU+dmFyPC9DT0RFPidzIHZhbHVlIG9mIGxlbmd0aAogPFZBUj5sZW5ndGg8L1ZBUj4sIGJlZ2lubmluZyBhdCA8VkFSPm9mZnNldDwvVkFSPiwgaXMgcHJlc2VudAotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT4pLgogPFA+CiAKIDxMST4KIFRoZSBleHBhbnNpb24KIDxDT0RFPiR7dmFyL1svXTwvQ09ERT48VkFSPnBhdHRlcm48L1ZBUj48Q09ERT5bLzwvQ09ERT48VkFSPnJlcGxhY2VtZW50PC9WQVI+PENPREU+XX08L0NPREU+LAogd2hpY2ggbWF0Y2hlcyA8VkFSPnBhdHRlcm48L1ZBUj4gYW5kIHJlcGxhY2VzIGl0IHdpdGggPFZBUj5yZXBsYWNlbWVudDwvVkFSPiBpbgotdGhlIHZhbHVlIG9mIDxDT0RFPnZhcjwvQ09ERT4sIGlzIGF2YWlsYWJsZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMxIj4zLjUuMyBTaGVsbCBQYXJhbWV0ZXIgRXhwYW5zaW9uPC9BPikuCit0aGUgdmFsdWUgb2YgPENPREU+dmFyPC9DT0RFPiwgaXMgYXZhaWxhYmxlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzIiPjMuNS4zIFNoZWxsIFBhcmFtZXRlciBFeHBhbnNpb248L0E+KS4KIDxQPgogCiA8TEk+CiBUaGUgZXhwYW5zaW9uIDxDT0RFPiR7ITxWQVI+cHJlZml4fSo8L1ZBUj48L0NPREU+IGV4cGFuc2lvbiwgd2hpY2ggZXhwYW5kcyB0bwogdGhlIG5hbWVzIG9mIGFsbCBzaGVsbCB2YXJpYWJsZXMgd2hvc2UgbmFtZXMgYmVnaW4gd2l0aCA8VkFSPnByZWZpeDwvVkFSPiwKLWlzIGF2YWlsYWJsZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMxIj4zLjUuMyBTaGVsbCBQYXJhbWV0ZXIgRXhwYW5zaW9uPC9BPikuCitpcyBhdmFpbGFibGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT4pLgogPFA+CiAKIDxMST4KIEJhc2ggaGFzIDxWQVI+aW5kaXJlY3Q8L1ZBUj4gdmFyaWFibGUgZXhwYW5zaW9uIHVzaW5nIDxDT0RFPiR7IXdvcmR9PC9DT0RFPgotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT4pLgogPFA+CiAKIDxMST4KQEAgLTEzMjg0LDEzICsxMzU5MSwxMyBAQAogCiA8TEk+CiBUaGUgUE9TSVggPENPREU+JCgpPC9DT0RFPiBmb3JtIG9mIGNvbW1hbmQgc3Vic3RpdHV0aW9uCi1pcyBpbXBsZW1lbnRlZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMyIj4zLjUuNCBDb21tYW5kIFN1YnN0aXR1dGlvbjwvQT4pLAoraXMgaW1wbGVtZW50ZWQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMyI+My41LjQgQ29tbWFuZCBTdWJzdGl0dXRpb248L0E+KSwKIGFuZCBwcmVmZXJyZWQgdG8gdGhlIEJvdXJuZSBzaGVsbCdzIDxDT0RFPiI8L0NPREU+ICh3aGljaAogaXMgYWxzbyBpbXBsZW1lbnRlZCBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkpLgogPFA+CiAKIDxMST4KLUJhc2ggaGFzIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzQiPjMuNS42IFByb2Nlc3MgU3Vic3RpdHV0aW9uPC9BPikuCitCYXNoIGhhcyBwcm9jZXNzIHN1YnN0aXR1dGlvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM1Ij4zLjUuNiBQcm9jZXNzIFN1YnN0aXR1dGlvbjwvQT4pLgogPFA+CiAKIDxMST4KQEAgLTEzMjk4LDI1ICsxMzYwNSwyNSBAQAogY3VycmVudCB1c2VyICg8Q09ERT5VSUQ8L0NPREU+LCA8Q09ERT5FVUlEPC9DT0RFPiwgYW5kIDxDT0RFPkdST1VQUzwvQ09ERT4pLCB0aGUgY3VycmVudCBob3N0CiAoPENPREU+SE9TVFRZUEU8L0NPREU+LCA8Q09ERT5PU1RZUEU8L0NPREU+LCA8Q09ERT5NQUNIVFlQRTwvQ09ERT4sIGFuZCA8Q09ERT5IT1NUTkFNRTwvQ09ERT4pLAogYW5kIHRoZSBpbnN0YW5jZSBvZiBCYXNoIHRoYXQgaXMgcnVubmluZyAoPENPREU+QkFTSDwvQ09ERT4sCi08Q09ERT5CQVNIX1ZFUlNJT048L0NPREU+LCBhbmQgPENPREU+QkFTSF9WRVJTSU5GTzwvQ09ERT4pLiAgU2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+LAorPENPREU+QkFTSF9WRVJTSU9OPC9DT0RFPiwgYW5kIDxDT0RFPkJBU0hfVkVSU0lORk88L0NPREU+KS4gIFNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPiwKIGZvciBkZXRhaWxzLgogPFA+CiAKIDxMST4KIFRoZSA8Q09ERT5JRlM8L0NPREU+IHZhcmlhYmxlIGlzIHVzZWQgdG8gc3BsaXQgb25seSB0aGUgcmVzdWx0cyBvZiBleHBhbnNpb24sCi1ub3QgYWxsIHdvcmRzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzUiPjMuNS43IFdvcmQgU3BsaXR0aW5nPC9BPikuCitub3QgYWxsIHdvcmRzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzYiPjMuNS43IFdvcmQgU3BsaXR0aW5nPC9BPikuCiBUaGlzIGNsb3NlcyBhIGxvbmdzdGFuZGluZyBzaGVsbCBzZWN1cml0eSBob2xlLgogPFA+CiAKIDxMST4KIEJhc2ggaW1wbGVtZW50cyB0aGUgZnVsbCBzZXQgb2YgUE9TSVggZmlsZW5hbWUgZXhwYW5zaW9uIG9wZXJhdG9ycywKIGluY2x1ZGluZyA8VkFSPmNoYXJhY3RlciBjbGFzc2VzPC9WQVI+LCA8VkFSPmVxdWl2YWxlbmNlIGNsYXNzZXM8L1ZBUj4sIGFuZAotPFZBUj5jb2xsYXRpbmcgc3ltYm9sczwvVkFSPiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM2Ij4zLjUuOCBGaWxlbmFtZSBFeHBhbnNpb248L0E+KS4KKzxWQVI+Y29sbGF0aW5nIHN5bWJvbHM8L1ZBUj4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+My41LjggRmlsZW5hbWUgRXhwYW5zaW9uPC9BPikuCiA8UD4KIAogPExJPgogQmFzaCBpbXBsZW1lbnRzIGV4dGVuZGVkIHBhdHRlcm4gbWF0Y2hpbmcgZmVhdHVyZXMgd2hlbiB0aGUgPENPREU+ZXh0Z2xvYjwvQ09ERT4KLXNoZWxsIG9wdGlvbiBpcyBlbmFibGVkIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPjMuNS44LjEgUGF0dGVybiBNYXRjaGluZzwvQT4pLgorc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOCI+My41LjguMSBQYXR0ZXJuIE1hdGNoaW5nPC9BPikuCiA8UD4KIAogPExJPgpAQCAtMTMzMjcsMTIgKzEzNjM0LDEyIEBACiA8TEk+CiBCYXNoIGZ1bmN0aW9ucyBhcmUgcGVybWl0dGVkIHRvIGhhdmUgbG9jYWwgdmFyaWFibGVzIHVzaW5nIHRoZQogPENPREU+bG9jYWw8L0NPREU+IGJ1aWx0aW4sIGFuZCB0aHVzIHVzZWZ1bCByZWN1cnNpdmUgZnVuY3Rpb25zIG1heSBiZSB3cml0dGVuCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCiA8UD4KIAogPExJPgogVmFyaWFibGUgYXNzaWdubWVudHMgcHJlY2VkaW5nIGNvbW1hbmRzIGFmZmVjdCBvbmx5IHRoYXQgY29tbWFuZCwgZXZlbgotYnVpbHRpbnMgYW5kIGZ1bmN0aW9ucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU0Ij4zLjcuNCBFbnZpcm9ubWVudDwvQT4pLgorYnVpbHRpbnMgYW5kIGZ1bmN0aW9ucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU1Ij4zLjcuNCBFbnZpcm9ubWVudDwvQT4pLgogSW4gPENPREU+c2g8L0NPREU+LCBhbGwgdmFyaWFibGUgYXNzaWdubWVudHMgCiBwcmVjZWRpbmcgY29tbWFuZHMgYXJlIGdsb2JhbCB1bmxlc3MgdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWQgZnJvbSB0aGUKIGZpbGUgc3lzdGVtLgpAQCAtMTMzNDAsMTQgKzEzNjQ3LDE0IEBACiAKIDxMST4KIEJhc2ggcGVyZm9ybXMgZmlsZW5hbWUgZXhwYW5zaW9uIG9uIGZpbGVuYW1lcyBzcGVjaWZpZWQgYXMgb3BlcmFuZHMKLXRvIGlucHV0IGFuZCBvdXRwdXQgcmVkaXJlY3Rpb24gb3BlcmF0b3JzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPjMuNiBSZWRpcmVjdGlvbnM8L0E+KS4KK3RvIGlucHV0IGFuZCBvdXRwdXQgcmVkaXJlY3Rpb24gb3BlcmF0b3JzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDAiPjMuNiBSZWRpcmVjdGlvbnM8L0E+KS4KIDxQPgogCiA8TEk+CiBCYXNoIGNvbnRhaW5zIHRoZSA8U0FNUD5gJiM2MDsmIzYyOyc8L1NBTVA+IHJlZGlyZWN0aW9uIG9wZXJhdG9yLCBhbGxvd2luZyBhIGZpbGUgdG8gYmUKIG9wZW5lZCBmb3IgYm90aCByZWFkaW5nIGFuZCB3cml0aW5nLCBhbmQgdGhlIDxTQU1QPmAmIzM4OyYjNjI7JzwvU0FNUD4gcmVkaXJlY3Rpb24KIG9wZXJhdG9yLCBmb3IgZGlyZWN0aW5nIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgdG8gdGhlIHNhbWUKLWZpbGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+My42IFJlZGlyZWN0aW9uczwvQT4pLgorZmlsZSAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4zLjYgUmVkaXJlY3Rpb25zPC9BPikuCiA8UD4KIAogPExJPgpAQCAtMTMzNjIsMjIgKzEzNjY5LDIyIEBACiAKIDxMST4KIEJhc2ggdHJlYXRzIGEgbnVtYmVyIG9mIGZpbGVuYW1lcyBzcGVjaWFsbHkgd2hlbiB0aGV5IGFyZQotdXNlZCBpbiByZWRpcmVjdGlvbiBvcGVyYXRvcnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+My42IFJlZGlyZWN0aW9uczwvQT4pLgordXNlZCBpbiByZWRpcmVjdGlvbiBvcGVyYXRvcnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+My42IFJlZGlyZWN0aW9uczwvQT4pLgogPFA+CiAKIDxMST4KIEJhc2ggY2FuIG9wZW4gbmV0d29yayBjb25uZWN0aW9ucyB0byBhcmJpdHJhcnkgbWFjaGluZXMgYW5kIHNlcnZpY2VzCi13aXRoIHRoZSByZWRpcmVjdGlvbiBvcGVyYXRvcnMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+My42IFJlZGlyZWN0aW9uczwvQT4pLgord2l0aCB0aGUgcmVkaXJlY3Rpb24gb3BlcmF0b3JzIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDAiPjMuNiBSZWRpcmVjdGlvbnM8L0E+KS4KIDxQPgogCiA8TEk+CiBUaGUgPENPREU+bm9jbG9iYmVyPC9DT0RFPiBvcHRpb24gaXMgYXZhaWxhYmxlIHRvIGF2b2lkIG92ZXJ3cml0aW5nIGV4aXN0aW5nCi1maWxlcyB3aXRoIG91dHB1dCByZWRpcmVjdGlvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYyIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KS4KK2ZpbGVzIHdpdGggb3V0cHV0IHJlZGlyZWN0aW9uIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4pLgogVGhlIDxTQU1QPmAmIzYyO3wnPC9TQU1QPiByZWRpcmVjdGlvbiBvcGVyYXRvciBtYXkgYmUgdXNlZCB0byBvdmVycmlkZSA8Q09ERT5ub2Nsb2JiZXI8L0NPREU+LgogPFA+CiAKIDxMST4KLVRoZSBCYXNoIDxDT0RFPmNkPC9DT0RFPiBhbmQgPENPREU+cHdkPC9DT0RFPiBidWlsdGlucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPikKK1RoZSBCYXNoIDxDT0RFPmNkPC9DT0RFPiBhbmQgPENPREU+cHdkPC9DT0RFPiBidWlsdGlucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPikKIGVhY2ggdGFrZSA8U0FNUD5gLUwnPC9TQU1QPiBhbmQgPFNBTVA+YC1QJzwvU0FNUD4gb3B0aW9ucyB0byBzd2l0Y2ggYmV0d2VlbiBsb2dpY2FsIGFuZAogcGh5c2ljYWwgbW9kZXMuCiA8UD4KQEAgLTEzMzg1LDI5ICsxMzY5MiwyOSBAQAogPExJPgogQmFzaCBhbGxvd3MgYSBmdW5jdGlvbiB0byBvdmVycmlkZSBhIGJ1aWx0aW4gd2l0aCB0aGUgc2FtZSBuYW1lLCBhbmQgcHJvdmlkZXMKIGFjY2VzcyB0byB0aGF0IGJ1aWx0aW4ncyBmdW5jdGlvbmFsaXR5IHdpdGhpbiB0aGUgZnVuY3Rpb24gdmlhIHRoZQotPENPREU+YnVpbHRpbjwvQ09ERT4gYW5kIDxDT0RFPmNvbW1hbmQ8L0NPREU+IGJ1aWx0aW5zIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KKzxDT0RFPmJ1aWx0aW48L0NPREU+IGFuZCA8Q09ERT5jb21tYW5kPC9DT0RFPiBidWlsdGlucyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCiA8UD4KIAogPExJPgogVGhlIDxDT0RFPmNvbW1hbmQ8L0NPREU+IGJ1aWx0aW4gYWxsb3dzIHNlbGVjdGl2ZSBkaXNhYmxpbmcgb2YgZnVuY3Rpb25zCi13aGVuIGNvbW1hbmQgbG9va3VwIGlzIHBlcmZvcm1lZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCit3aGVuIGNvbW1hbmQgbG9va3VwIGlzIHBlcmZvcm1lZCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCiA8UD4KIAogPExJPgogSW5kaXZpZHVhbCBidWlsdGlucyBtYXkgYmUgZW5hYmxlZCBvciBkaXNhYmxlZCB1c2luZyB0aGUgPENPREU+ZW5hYmxlPC9DT0RFPgotYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCitidWlsdGluIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+KS4KIDxQPgogCiA8TEk+CiBUaGUgQmFzaCA8Q09ERT5leGVjPC9DT0RFPiBidWlsdGluIHRha2VzIGFkZGl0aW9uYWwgb3B0aW9ucyB0aGF0IGFsbG93IHVzZXJzCiB0byBjb250cm9sIHRoZSBjb250ZW50cyBvZiB0aGUgZW52aXJvbm1lbnQgcGFzc2VkIHRvIHRoZSBleGVjdXRlZAogY29tbWFuZCwgYW5kIHdoYXQgdGhlIHplcm90aCBhcmd1bWVudCB0byB0aGUgY29tbWFuZCBpcyB0byBiZQotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgogPFA+CiAKIDxMST4KIFNoZWxsIGZ1bmN0aW9ucyBtYXkgYmUgZXhwb3J0ZWQgdG8gY2hpbGRyZW4gdmlhIHRoZSBlbnZpcm9ubWVudAotdXNpbmcgPENPREU+ZXhwb3J0IC1mPC9DT0RFPiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI0Ij4zLjMgU2hlbGwgRnVuY3Rpb25zPC9BPikuCit1c2luZyA8Q09ERT5leHBvcnQgLWY8L0NPREU+IChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPjMuMyBTaGVsbCBGdW5jdGlvbnM8L0E+KS4KIDxQPgogCiA8TEk+CkBAIC0xMzQyMywyMSArMTM3MzAsMjEgQEAKIFRoZSBCYXNoIDxDT0RFPmhhc2g8L0NPREU+IGJ1aWx0aW4gYWxsb3dzIGEgbmFtZSB0byBiZSBhc3NvY2lhdGVkIHdpdGgKIGFuIGFyYml0cmFyeSBmaWxlbmFtZSwgZXZlbiB3aGVuIHRoYXQgZmlsZW5hbWUgY2Fubm90IGJlIGZvdW5kIGJ5CiBzZWFyY2hpbmcgdGhlIDxDT0RFPiRQQVRIPC9DT0RFPiwgdXNpbmcgPFNBTVA+YGhhc2ggLXAnPC9TQU1QPgotKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgogPFA+CiAKIDxMST4KIEJhc2ggaW5jbHVkZXMgYSA8Q09ERT5oZWxwPC9DT0RFPiBidWlsdGluIGZvciBxdWljayByZWZlcmVuY2UgdG8gc2hlbGwKLWZhY2lsaXRpZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4pLgorZmFjaWxpdGllcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCiA8UD4KIAogPExJPgogVGhlIDxDT0RFPnByaW50ZjwvQ09ERT4gYnVpbHRpbiBpcyBhdmFpbGFibGUgdG8gZGlzcGxheSBmb3JtYXR0ZWQgb3V0cHV0Ci0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCiA8UD4KIAogPExJPgotVGhlIEJhc2ggPENPREU+cmVhZDwvQ09ERT4gYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikKK1RoZSBCYXNoIDxDT0RFPnJlYWQ8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4pCiB3aWxsIHJlYWQgYSBsaW5lIGVuZGluZyBpbiA8U0FNUD5gXCc8L1NBTVA+IHdpdGgKIHRoZSA8U0FNUD5gLXInPC9TQU1QPiBvcHRpb24sIGFuZCB3aWxsIHVzZSB0aGUgPENPREU+UkVQTFk8L0NPREU+IHZhcmlhYmxlIGFzIGEKIGRlZmF1bHQgaWYgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLgpAQCAtMTM0NTYsMjggKzEzNzYzLDI4IEBACiA8TEk+CiBUaGUgPENPREU+cmV0dXJuPC9DT0RFPiBidWlsdGluIG1heSBiZSB1c2VkIHRvIGFib3J0IGV4ZWN1dGlvbiBvZiBzY3JpcHRzCiBleGVjdXRlZCB3aXRoIHRoZSA8Q09ERT4uPC9DT0RFPiBvciA8Q09ERT5zb3VyY2U8L0NPREU+IGJ1aWx0aW5zCi0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPikuCisoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPikuCiA8UD4KIAogPExJPgogQmFzaCBpbmNsdWRlcyB0aGUgPENPREU+c2hvcHQ8L0NPREU+IGJ1aWx0aW4sIGZvciBmaW5lciBjb250cm9sIG9mIHNoZWxsCi1vcHRpb25hbCBjYXBhYmlsaXRpZXMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+KSwgYW5kIGFsbG93cyB0aGVzZSBvcHRpb25zCi10byBiZSBzZXQgYW5kIHVuc2V0IGF0IHNoZWxsIGludm9jYXRpb24gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+Ni4xIEludm9raW5nIEJhc2g8L0E+KS4KK29wdGlvbmFsIGNhcGFiaWxpdGllcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij40LjMuMiBUaGUgU2hvcHQgQnVpbHRpbjwvQT4pLCBhbmQgYWxsb3dzIHRoZXNlIG9wdGlvbnMKK3RvIGJlIHNldCBhbmQgdW5zZXQgYXQgc2hlbGwgaW52b2NhdGlvbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzcwIj42LjEgSW52b2tpbmcgQmFzaDwvQT4pLgogPFA+CiAKIDxMST4KIEJhc2ggaGFzIG11Y2ggbW9yZSBvcHRpb25hbCBiZWhhdmlvciBjb250cm9sbGFibGUgd2l0aCB0aGUgPENPREU+c2V0PC9DT0RFPgotYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYyIj40LjMuMSBUaGUgU2V0IEJ1aWx0aW48L0E+KS4KK2J1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCiA8UD4KIAogPExJPgogVGhlIDxTQU1QPmAteCc8L1NBTVA+ICg8Q09ERT54dHJhY2U8L0NPREU+KSBvcHRpb24gZGlzcGxheXMgY29tbWFuZHMgb3RoZXIgdGhhbgogc2ltcGxlIGNvbW1hbmRzIHdoZW4gcGVyZm9ybWluZyBhbiBleGVjdXRpb24gdHJhY2UKLShzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjEgVGhlIFNldCBCdWlsdGluPC9BPikuCiA8UD4KIAogPExJPgotVGhlIDxDT0RFPnRlc3Q8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pCitUaGUgPENPREU+dGVzdDwvQ09ERT4gYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPikKIGlzIHNsaWdodGx5IGRpZmZlcmVudCwgYXMgaXQgaW1wbGVtZW50cyB0aGUgUE9TSVggYWxnb3JpdGhtLAogd2hpY2ggc3BlY2lmaWVzIHRoZSBiZWhhdmlvciBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4KIDxQPgpAQCAtMTM0OTAsNyArMTM3OTcsNyBAQAogPFA+CiAKIDxMST4KLVRoZSA8Q09ERT50cmFwPC9DT0RFPiBidWlsdGluIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+KSBhbGxvd3MgYQorVGhlIDxDT0RFPnRyYXA8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pIGFsbG93cyBhCiA8Q09ERT5ERUJVRzwvQ09ERT4gcHNldWRvLXNpZ25hbCBzcGVjaWZpY2F0aW9uLCBzaW1pbGFyIHRvIDxDT0RFPkVYSVQ8L0NPREU+LgogQ29tbWFuZHMgc3BlY2lmaWVkIHdpdGggYSA8Q09ERT5ERUJVRzwvQ09ERT4gdHJhcCBhcmUgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5CiBzaW1wbGUgY29tbWFuZCwgPENPREU+Zm9yPC9DT0RFPiBjb21tYW5kLCA8Q09ERT5jYXNlPC9DT0RFPiBjb21tYW5kLApAQCAtMTM1MDMsNyArMTM4MTAsNyBAQAogPENPREU+REVCVUc8L0NPREU+IHRyYXAuCiA8UD4KIAotVGhlIDxDT0RFPnRyYXA8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pIGFsbG93cyBhbgorVGhlIDxDT0RFPnRyYXA8L0NPREU+IGJ1aWx0aW4gKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pIGFsbG93cyBhbgogPENPREU+RVJSPC9DT0RFPiBwc2V1ZG8tc2lnbmFsIHNwZWNpZmljYXRpb24sIHNpbWlsYXIgdG8gPENPREU+RVhJVDwvQ09ERT4gYW5kIDxDT0RFPkRFQlVHPC9DT0RFPi4KIENvbW1hbmRzIHNwZWNpZmllZCB3aXRoIGFuIDxDT0RFPkVSUjwvQ09ERT4gdHJhcCBhcmUgZXhlY3V0ZWQgYWZ0ZXIgYSBzaW1wbGUKIGNvbW1hbmQgZmFpbHMsIHdpdGggYSBmZXcgZXhjZXB0aW9ucy4KQEAgLTEzNTExLDcgKzEzODE4LDcgQEAKIDxDT0RFPi1vIGVycnRyYWNlPC9DT0RFPiBvcHRpb24gdG8gdGhlIDxDT0RFPnNldDwvQ09ERT4gYnVpbHRpbiBpcyBlbmFibGVkLgogPC9QPjxQPgogCi1UaGUgPENPREU+dHJhcDwvQ09ERT4gYnVpbHRpbiAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPikgYWxsb3dzIGEKK1RoZSA8Q09ERT50cmFwPC9DT0RFPiBidWlsdGluIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+KSBhbGxvd3MgYQogPENPREU+UkVUVVJOPC9DT0RFPiBwc2V1ZG8tc2lnbmFsIHNwZWNpZmljYXRpb24sIHNpbWlsYXIgdG8KIDxDT0RFPkVYSVQ8L0NPREU+IGFuZCA8Q09ERT5ERUJVRzwvQ09ERT4uCiBDb21tYW5kcyBzcGVjaWZpZWQgd2l0aCBhbiA8Q09ERT5SRVRVUk48L0NPREU+IHRyYXAgYXJlIGV4ZWN1dGVkIGJlZm9yZQpAQCAtMTM1MjQsMzYgKzEzODMxLDM2IEBACiAKIDxMST4KIFRoZSBCYXNoIDxDT0RFPnR5cGU8L0NPREU+IGJ1aWx0aW4gaXMgbW9yZSBleHRlbnNpdmUgYW5kIGdpdmVzIG1vcmUgaW5mb3JtYXRpb24KLWFib3V0IHRoZSBuYW1lcyBpdCBmaW5kcyAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPikuCithYm91dCB0aGUgbmFtZXMgaXQgZmluZHMgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4pLgogPFA+CiAKIDxMST4KIFRoZSBCYXNoIDxDT0RFPnVtYXNrPC9DT0RFPiBidWlsdGluIHBlcm1pdHMgYSA8U0FNUD5gLXAnPC9TQU1QPiBvcHRpb24gdG8gY2F1c2UKIHRoZSBvdXRwdXQgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBmb3JtIG9mIGEgPENPREU+dW1hc2s8L0NPREU+IGNvbW1hbmQKLXRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dCAoc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPikuCit0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT4pLgogPFA+CiAKIDxMST4KIEJhc2ggaW1wbGVtZW50cyBhIDxDT0RFPmNzaDwvQ09ERT4tbGlrZSBkaXJlY3Rvcnkgc3RhY2ssIGFuZCBwcm92aWRlcyB0aGUKIDxDT0RFPnB1c2hkPC9DT0RFPiwgPENPREU+cG9wZDwvQ09ERT4sIGFuZCA8Q09ERT5kaXJzPC9DT0RFPiBidWlsdGlucyB0byBtYW5pcHVsYXRlIGl0Ci0oc2VlIHNlY3Rpb24gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg2Ij42LjggVGhlIERpcmVjdG9yeSBTdGFjazwvQT4pLgorKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NyI+Ni44IFRoZSBEaXJlY3RvcnkgU3RhY2s8L0E+KS4KIEJhc2ggYWxzbyBtYWtlcyB0aGUgZGlyZWN0b3J5IHN0YWNrIHZpc2libGUgYXMgdGhlIHZhbHVlIG9mIHRoZQogPENPREU+RElSU1RBQ0s8L0NPREU+IHNoZWxsIHZhcmlhYmxlLgogPFA+CiAKIDxMST4KIEJhc2ggaW50ZXJwcmV0cyBzcGVjaWFsIGJhY2tzbGFzaC1lc2NhcGVkIGNoYXJhY3RlcnMgaW4gdGhlIHByb21wdAotc3RyaW5ncyB3aGVuIGludGVyYWN0aXZlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODgiPjYuOSBDb250cm9sbGluZyB0aGUgUHJvbXB0PC9BPikuCitzdHJpbmdzIHdoZW4gaW50ZXJhY3RpdmUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OSI+Ni45IENvbnRyb2xsaW5nIHRoZSBQcm9tcHQ8L0E+KS4KIDxQPgogCiA8TEk+Ci1UaGUgQmFzaCByZXN0cmljdGVkIG1vZGUgaXMgbW9yZSB1c2VmdWwgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OSI+Ni4xMCBUaGUgUmVzdHJpY3RlZCBTaGVsbDwvQT4pOworVGhlIEJhc2ggcmVzdHJpY3RlZCBtb2RlIGlzIG1vcmUgdXNlZnVsIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTAiPjYuMTAgVGhlIFJlc3RyaWN0ZWQgU2hlbGw8L0E+KTsKIHRoZSBTVlI0LjIgc2hlbGwgcmVzdHJpY3RlZCBtb2RlIGlzIHRvbyBsaW1pdGVkLgogPFA+CiAKIDxMST4KIFRoZSA8Q09ERT5kaXNvd248L0NPREU+IGJ1aWx0aW4gY2FuIHJlbW92ZSBhIGpvYiBmcm9tIHRoZSBpbnRlcm5hbCBzaGVsbAotam9iIHRhYmxlIChzZWUgc2VjdGlvbiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT4pIG9yIHN1cHByZXNzIHRoZSBzZW5kaW5nCitqb2IgdGFibGUgKHNlZSBzZWN0aW9uIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NCI+Ny4yIEpvYiBDb250cm9sIEJ1aWx0aW5zPC9BPikgb3Igc3VwcHJlc3MgdGhlIHNlbmRpbmcKIG9mIDxDT0RFPlNJR0hVUDwvQ09ERT4gdG8gYSBqb2Igd2hlbiB0aGUgc2hlbGwgZXhpdHMgYXMgdGhlIHJlc3VsdCBvZiBhCiA8Q09ERT5TSUdIVVA8L0NPREU+LgogPFA+CkBAIC0xMzU4NCwyNCArMTM4OTEsMjQgQEAKIDwvVUw+CiA8UD4KIAotTW9yZSBmZWF0dXJlcyB1bmlxdWUgdG8gQmFzaCBtYXkgYmUgZm91bmQgaW4gPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij42LiBCYXNoIEZlYXR1cmVzPC9BPi4KK01vcmUgZmVhdHVyZXMgdW5pcXVlIHRvIEJhc2ggbWF5IGJlIGZvdW5kIGluIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+Ni4gQmFzaCBGZWF0dXJlczwvQT4uCiA8L1A+PFA+CiAKIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzEzNyI+PC9BPgorPEEgTkFNRT0iU0VDMTM4Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM2Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzOCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM2Ij4gVXAgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzgiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzciPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM5Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM3Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzciPiBVcCA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzOSI+ICZndDsmZ3Q7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiBCLjEgSW1wbGVtZW50YXRpb24gRGlmZmVyZW5jZXMgRnJvbSBUaGUgU1ZSNC4yIFNoZWxsIDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzEzNzo6LS0+Cis8IS0tZG9jaWQ6OlNFQzEzODo6LS0+CiA8UD4KIAogU2luY2UgQmFzaCBpcyBhIGNvbXBsZXRlbHkgbmV3IGltcGxlbWVudGF0aW9uLCBpdCBkb2VzIG5vdCBzdWZmZXIgZnJvbQpAQCAtMTM2NzMsMjAgKzEzOTgwLDIwIEBACiAKIDxBIE5BTUU9IkdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZSI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTM4Ij48L0E+Cis8QSBOQU1FPSJTRUMxMzkiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzciPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj4gJmx0OyZsdDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM4Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+IFVwIDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj4gJmd0OyZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPiAmZ3Q7Jmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMT4gQy4gR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlIDwvSDE+Ci08IS0tZG9jaWQ6OlNFQzEzODo6LS0+Cis8IS0tZG9jaWQ6OlNFQzEzOTo6LS0+CiA8UD4KIAogPGNlbnRlcj4KQEAgLTE0MjIzLDkgKzE0NTMwLDkgQEAKIDwvT0w+CiA8UD4KIAotPEEgTkFNRT0iU0VDMTM5Ij48L0E+Cis8QSBOQU1FPSJTRUMxNDAiPjwvQT4KIDxIMj4gQURERU5EVU06IEhvdyB0byB1c2UgdGhpcyBMaWNlbnNlIGZvciB5b3VyIGRvY3VtZW50cyA8L0gyPgotPCEtLWRvY2lkOjpTRUMxMzk6Oi0tPgorPCEtLWRvY2lkOjpTRUMxNDA6Oi0tPgogPFA+CiAKIFRvIHVzZSB0aGlzIExpY2Vuc2UgaW4gYSBkb2N1bWVudCB5b3UgaGF2ZSB3cml0dGVuLCBpbmNsdWRlIGEgY29weSBvZgpAQCAtMTQyNjQsNDkgKzE0NTcxLDQ5IEBACiAKIDxBIE5BTUU9IkluZGV4ZXMiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzE0MCI+PC9BPgorPEEgTkFNRT0iU0VDMTQxIj48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM4Ij4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+ICZndDsgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM5Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MiI+ICZndDsgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bICZsdDsmbHQ7IF08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj4gVXAgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WyAmZ3Q7Jmd0OyBdPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgxPiBELiBJbmRleGVzIDwvSDE+Ci08IS0tZG9jaWQ6OlNFQzE0MDo6LS0+Cis8IS0tZG9jaWQ6OlNFQzE0MTo6LS0+CiA8UD4KIAogPEJMT0NLUVVPVEU+PFRBQkxFIEJPUkRFUj0wIENFTExTUEFDSU5HPTA+IAotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkQuMSBJbmRleCBvZiBTaGVsbCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SW5kZXggb2YgQmFzaCBidWlsdGluIGNvbW1hbmRzLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQyIj5ELjIgSW5kZXggb2YgU2hlbGwgUmVzZXJ2ZWQgV29yZHM8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5JbmRleCBvZiBCYXNoIHJlc2VydmVkIHdvcmRzLjwvVEQ+PC9UUj4KLTxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQzIj5ELjMgUGFyYW1ldGVyIGFuZCBWYXJpYWJsZSBJbmRleDwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPlF1aWNrIHJlZmVyZW5jZSBoZWxwcyB5b3UgZmluZCB0aGUKKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQyIj5ELjEgSW5kZXggb2YgU2hlbGwgQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkluZGV4IG9mIEJhc2ggYnVpbHRpbiBjb21tYW5kcy48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MyI+RC4yIEluZGV4IG9mIFNoZWxsIFJlc2VydmVkIFdvcmRzPC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+SW5kZXggb2YgQmFzaCByZXNlcnZlZCB3b3Jkcy48L1REPjwvVFI+Cis8VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0NCI+RC4zIFBhcmFtZXRlciBhbmQgVmFyaWFibGUgSW5kZXg8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5RdWljayByZWZlcmVuY2UgaGVscHMgeW91IGZpbmQgdGhlCiAJCQkJdmFyaWFibGUgeW91IHdhbnQuPC9URD48L1RSPgotPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDQiPkQuNCBGdW5jdGlvbiBJbmRleDwvQT48L1REPjxURD4mbmJzcDsmbmJzcDs8L1REPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPkluZGV4IG9mIGJpbmRhYmxlIFJlYWRsaW5lIGZ1bmN0aW9ucy48L1REPjwvVFI+Ci08VFI+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0NSI+RC41IENvbmNlcHQgSW5kZXg8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5HZW5lcmFsIGluZGV4IGZvciBjb25jZXB0cyBkZXNjcmliZWQgaW4KKzxUUj48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQ1Ij5ELjQgRnVuY3Rpb24gSW5kZXg8L0E+PC9URD48VEQ+Jm5ic3A7Jm5ic3A7PC9URD48VEQgQUxJR049ImxlZnQiIFZBTElHTj0iVE9QIj5JbmRleCBvZiBiaW5kYWJsZSBSZWFkbGluZSBmdW5jdGlvbnMuPC9URD48L1RSPgorPFRSPjxURCBBTElHTj0ibGVmdCIgVkFMSUdOPSJUT1AiPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDYiPkQuNSBDb25jZXB0IEluZGV4PC9BPjwvVEQ+PFREPiZuYnNwOyZuYnNwOzwvVEQ+PFREIEFMSUdOPSJsZWZ0IiBWQUxJR049IlRPUCI+R2VuZXJhbCBpbmRleCBmb3IgY29uY2VwdHMgZGVzY3JpYmVkIGluCiAJCQkJdGhpcyBtYW51YWwuPC9URD48L1RSPgogPC9UQUJMRT48L0JMT0NLUVVPVEU+CiA8UD4KIAogPEEgTkFNRT0iQnVpbHRpbiBJbmRleCI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTQxIj48L0E+Cis8QSBOQU1FPSJTRUMxNDIiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQyIj4gJmd0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQzIj4gJmd0OyA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPlsgJmx0OyZsdDsgXTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+IFVwIDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj4gVXAgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WyAmZ3Q7Jmd0OyBdPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiBELjEgSW5kZXggb2YgU2hlbGwgQnVpbHRpbiBDb21tYW5kcyA8L0gyPgotPCEtLWRvY2lkOjpTRUMxNDE6Oi0tPgorPCEtLWRvY2lkOjpTRUMxNDI6Oi0tPgogPHRhYmxlPjx0cj48dGggdmFsaWduPXRvcD5KdW1wIHRvOiAmbmJzcDsgPC90aD48dGQ+PEEgSFJFRj0iYmFzaHJlZi5odG1sI2J0Xy4iIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGI+LjwvYj48L0E+CiAgJm5ic3A7IAogPEEgSFJFRj0iYmFzaHJlZi5odG1sI2J0XzoiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGI+OjwvYj48L0E+CkBAIC0xNDM1NSwxMDUgKzE0NjYyLDEwNSBAQAogPFRSPjxURD48L1REPjxUSCBBTElHTj1MRUZUPkluZGV4IEVudHJ5PC9USD48VEggQUxJR049TEVGVD4gU2VjdGlvbjwvVEg+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJidF8uIj48L0E+LjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNjkiPjxDT0RFPi48L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNjkiPjxDT0RFPi48L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJidF86Ij48L0E+OjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNjgiPjxDT0RFPjo8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNjgiPjxDT0RFPjo8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJidF9bIj48L0E+WzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYODQiPjxDT0RFPls8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYODQiPjxDT0RFPls8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJidF9BIj48L0E+QTwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYODkiPjxDT0RFPmFsaWFzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDg5Ij48Q09ERT5hbGlhczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImJ0X0IiPjwvQT5CPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyOTMiPjxDT0RFPmJnPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+Ny4yIEpvYiBDb250cm9sIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYOTAiPjxDT0RFPmJpbmQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNzAiPjxDT0RFPmJyZWFrPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDkxIj48Q09ERT5idWlsdGluPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwNSI+PENPREU+Ymc8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk0Ij43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg5MCI+PENPREU+YmluZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg3MCI+PENPREU+YnJlYWs8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYOTEiPjxDT0RFPmJ1aWx0aW48L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJidF9DIj48L0E+QzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYOTIiPjxDT0RFPmNhbGxlcjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg3MSI+PENPREU+Y2Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYOTMiPjxDT0RFPmNvbW1hbmQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTQwIj48Q09ERT5jb21wZ2VuPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPjguNyBQcm9ncmFtbWFibGUgQ29tcGxldGlvbiBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDU0MSI+PENPREU+Y29tcGxldGU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOCI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTQyIj48Q09ERT5jb21wb3B0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPjguNyBQcm9ncmFtbWFibGUgQ29tcGxldGlvbiBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDcyIj48Q09ERT5jb250aW51ZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg5MiI+PENPREU+Y2FsbGVyPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDcxIj48Q09ERT5jZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg5MyI+PENPREU+Y29tbWFuZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NTYiPjxDT0RFPmNvbXBnZW48L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTU3Ij48Q09ERT5jb21wbGV0ZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE5Ij44LjcgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb24gQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NTgiPjxDT0RFPmNvbXBvcHQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNzIiPjxDT0RFPmNvbnRpbnVlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfRCI+PC9BPkQ8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDk0Ij48Q09ERT5kZWNsYXJlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5MCI+PENPREU+ZGlyczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPjYuOC4xIERpcmVjdG9yeSBTdGFjayBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5OCI+PENPREU+ZGlzb3duPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+Ny4yIEpvYiBDb250cm9sIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYOTQiPjxDT0RFPmRlY2xhcmU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzAyIj48Q09ERT5kaXJzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OCI+Ni44LjEgRGlyZWN0b3J5IFN0YWNrIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzEwIj48Q09ERT5kaXNvd248L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk0Ij43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImJ0X0UiPjwvQT5FPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg5NSI+PENPREU+ZWNobzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg5NiI+PENPREU+ZW5hYmxlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDczIj48Q09ERT5ldmFsPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDc0Ij48Q09ERT5leGVjPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDc1Ij48Q09ERT5leGl0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDc2Ij48Q09ERT5leHBvcnQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYOTUiPjxDT0RFPmVjaG88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYOTYiPjxDT0RFPmVuYWJsZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg3MyI+PENPREU+ZXZhbDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg3NCI+PENPREU+ZXhlYzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg3NSI+PENPREU+ZXhpdDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg3NiI+PENPREU+ZXhwb3J0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfRiI+PC9BPkY8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDU0NCI+PENPREU+ZmM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4yIEJhc2ggSGlzdG9yeSBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5NCI+PENPREU+Zmc8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkzIj43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NjAiPjxDT0RFPmZjPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPjkuMiBCYXNoIEhpc3RvcnkgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMDYiPjxDT0RFPmZnPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NCI+Ny4yIEpvYiBDb250cm9sIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJidF9HIj48L0E+RzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNzciPjxDT0RFPmdldG9wdHM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNzciPjxDT0RFPmdldG9wdHM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJidF9IIj48L0E+SDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNzgiPjxDT0RFPmhhc2g8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYOTciPjxDT0RFPmhlbHA8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTQ1Ij48Q09ERT5oaXN0b3J5PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjEiPjkuMiBCYXNoIEhpc3RvcnkgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg3OCI+PENPREU+aGFzaDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg5NyI+PENPREU+aGVscDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NjEiPjxDT0RFPmhpc3Rvcnk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMiI+OS4yIEJhc2ggSGlzdG9yeSBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfSiI+PC9BPko8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5NSI+PENPREU+am9iczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwNyI+PENPREU+am9iczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTQiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfSyI+PC9BPks8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5NiI+PENPREU+a2lsbDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwOCI+PENPREU+a2lsbDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTQiPjcuMiBKb2IgQ29udHJvbCBCdWlsdGluczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfTCI+PC9BPkw8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDk4Ij48Q09ERT5sZXQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYOTkiPjxDT0RFPmxvY2FsPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEwMCI+PENPREU+bG9nb3V0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDk4Ij48Q09ERT5sZXQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYOTkiPjxDT0RFPmxvY2FsPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEwMCI+PENPREU+bG9nb3V0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iYnRfTSI+PC9BPk08L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEwMSI+PENPREU+bWFwZmlsZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMDEiPjxDT0RFPm1hcGZpbGU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJidF9QIj48L0E+UDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjkxIj48Q09ERT5wb3BkPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NyI+Ni44LjEgRGlyZWN0b3J5IFN0YWNrIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTAyIj48Q09ERT5wcmludGY8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjkyIj48Q09ERT5wdXNoZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPjYuOC4xIERpcmVjdG9yeSBTdGFjayBCdWlsdGluczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDc5Ij48Q09ERT5wd2Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzAzIj48Q09ERT5wb3BkPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OCI+Ni44LjEgRGlyZWN0b3J5IFN0YWNrIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTAyIj48Q09ERT5wcmludGY8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjIgQmFzaCBCdWlsdGluIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzA0Ij48Q09ERT5wdXNoZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODgiPjYuOC4xIERpcmVjdG9yeSBTdGFjayBCdWlsdGluczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDc5Ij48Q09ERT5wd2Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJidF9SIj48L0E+UjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTAzIj48Q09ERT5yZWFkPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEwNCI+PENPREU+cmVhZGFycmF5PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDgwIj48Q09ERT5yZWFkb25seTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg4MSI+PENPREU+cmV0dXJuPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4xIEJvdXJuZSBTaGVsbCBCdWlsdGluczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEwMyI+PENPREU+cmVhZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMDQiPjxDT0RFPnJlYWRhcnJheTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg4MCI+PENPREU+cmVhZG9ubHk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYODEiPjxDT0RFPnJldHVybjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImJ0X1MiPjwvQT5TPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTAiPjxDT0RFPnNldDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDgyIj48Q09ERT5zaGlmdDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTEiPjxDT0RFPnNob3B0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MyI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMDUiPjxDT0RFPnNvdXJjZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyOTkiPjxDT0RFPnN1c3BlbmQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkzIj43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTAiPjxDT0RFPnNldDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDgyIj48Q09ERT5zaGlmdDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTEiPjxDT0RFPnNob3B0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMDUiPjxDT0RFPnNvdXJjZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMTEiPjxDT0RFPnN1c3BlbmQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk0Ij43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImJ0X1QiPjwvQT5UPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg4MyI+PENPREU+dGVzdDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg4NSI+PENPREU+dGltZXM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYODYiPjxDT0RFPnRyYXA8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTA2Ij48Q09ERT50eXBlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEwNyI+PENPREU+dHlwZXNldDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg4MyI+PENPREU+dGVzdDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg4NSI+PENPREU+dGltZXM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYODYiPjxDT0RFPnRyYXA8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTA2Ij48Q09ERT50eXBlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEwNyI+PENPREU+dHlwZXNldDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImJ0X1UiPjwvQT5VPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMDgiPjxDT0RFPnVsaW1pdDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg4NyI+PENPREU+dW1hc2s8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU5Ij40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTA5Ij48Q09ERT51bmFsaWFzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDg4Ij48Q09ERT51bnNldDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMDgiPjxDT0RFPnVsaW1pdDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg4NyI+PENPREU+dW1hc2s8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTA5Ij48Q09ERT51bmFsaWFzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MSI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDg4Ij48Q09ERT51bnNldDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjAiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImJ0X1ciPjwvQT5XPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyOTciPjxDT0RFPndhaXQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkzIj43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMDkiPjxDT0RFPndhaXQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk0Ij43LjIgSm9iIENvbnRyb2wgQnVpbHRpbnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8L1RBQkxFPjxQPjwvUD48dGFibGU+PHRyPjx0aCB2YWxpZ249dG9wPkp1bXAgdG86ICZuYnNwOyA8L3RoPjx0ZD48QSBIUkVGPSJiYXNocmVmLmh0bWwjYnRfLiIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Yj4uPC9iPjwvQT4KICAmbmJzcDsgCkBAIC0xNDUwMiwyMCArMTQ4MDksMjAgQEAKIAogPEEgTkFNRT0iUmVzZXJ2ZWQgV29yZCBJbmRleCI+PC9BPgogPEhSIFNJWkU9IjYiPgotPEEgTkFNRT0iU0VDMTQyIj48L0E+Cis8QSBOQU1FPSJTRUMxNDMiPjwvQT4KIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+Ci08VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPiAmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQzIj4gJmd0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQzIj4gJmx0OyZsdDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPiBVcCA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDIiPiAmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQ0Ij4gJmd0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQ0Ij4gJmx0OyZsdDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPiBVcCA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bICZndDsmZ3Q7IF08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IEQuMiBJbmRleCBvZiBTaGVsbCBSZXNlcnZlZCBXb3JkcyA8L0gyPgotPCEtLWRvY2lkOjpTRUMxNDI6Oi0tPgorPCEtLWRvY2lkOjpTRUMxNDM6Oi0tPgogPHRhYmxlPjx0cj48dGggdmFsaWduPXRvcD5KdW1wIHRvOiAmbmJzcDsgPC90aD48dGQ+PEEgSFJFRj0iYmFzaHJlZi5odG1sI3J3XyEiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGI+ITwvYj48L0E+CiAgJm5ic3A7IAogPEEgSFJFRj0iYmFzaHJlZi5odG1sI3J3X1siIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGI+WzwvYj48L0E+CkBAIC0xNDU3OSw3ICsxNDg4Niw3IEBACiA8VFI+PFRIPjxBIE5BTUU9InJ3X0YiPjwvQT5GPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNiI+PENPREU+Zmk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzIxIj4zLjIuNC4yIENvbmRpdGlvbmFsIENvbnN0cnVjdHM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMSI+PENPREU+Zm9yPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyMCI+My4yLjQuMSBMb29waW5nIENvbnN0cnVjdHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NSI+PENPREU+ZnVuY3Rpb248L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI0Ij4zLjMgU2hlbGwgRnVuY3Rpb25zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDUiPjxDT0RFPmZ1bmN0aW9uPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+My4zIFNoZWxsIEZ1bmN0aW9uczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0icndfSSI+PC9BPkk8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyIj48Q09ERT5pZjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjEiPjMuMi40LjIgQ29uZGl0aW9uYWwgQ29uc3RydWN0czwvQT48L1REPjwvVFI+CkBAIC0xNDYzMSwyMCArMTQ5MzgsMjAgQEAKIAogPEEgTkFNRT0iVmFyaWFibGUgSW5kZXgiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzE0MyI+PC9BPgorPEEgTkFNRT0iU0VDMTQ0Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQyIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0NCI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0NCI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj4gVXAgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQzIj4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0NSI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0NSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj4gVXAgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WyAmZ3Q7Jmd0OyBdPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiBELjMgUGFyYW1ldGVyIGFuZCBWYXJpYWJsZSBJbmRleCA8L0gyPgotPCEtLWRvY2lkOjpTRUMxNDM6Oi0tPgorPCEtLWRvY2lkOjpTRUMxNDQ6Oi0tPgogPHRhYmxlPjx0cj48dGggdmFsaWduPXRvcD5KdW1wIHRvOiAmbmJzcDsgPC90aD48dGQ+PEEgSFJFRj0iYmFzaHJlZi5odG1sI3ZyXyEiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGI+ITwvYj48L0E+CiAgJm5ic3A7IAogPEEgSFJFRj0iYmFzaHJlZi5odG1sI3ZyXyMiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGI+IzwvYj48L0E+CkBAIC0xNDcwNywyODYgKzE1MDE0LDMwMiBAQAogPFRSPjxURD48L1REPjxUSCBBTElHTj1MRUZUPkluZGV4IEVudHJ5PC9USD48VEggQUxJR049TEVGVD4gU2VjdGlvbjwvVEg+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl8hIj48L0E+ITwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTgiPjxDT0RFPiE8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI3Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1OSI+PENPREU+ITwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDU4Ij48Q09ERT4hPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTkiPjxDT0RFPiE8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyXyMiPjwvQT4jPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MCI+PENPREU+IzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxIj48Q09ERT4jPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNyI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTAiPjxDT0RFPiM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MSI+PENPREU+IzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfJCI+PC9BPiQ8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDU2Ij48Q09ERT4kPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNyI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTciPjxDT0RFPiQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI3Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NiI+PENPREU+JDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDU3Ij48Q09ERT4kPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl8qIj48L0E+KjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDYiPjxDT0RFPio8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI3Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NyI+PENPREU+KjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2Ij48Q09ERT4qPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDciPjxDT0RFPio8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyXy0iPjwvQT4tPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NCI+PENPREU+LTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDU1Ij48Q09ERT4tPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNyI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTQiPjxDT0RFPi08L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NSI+PENPREU+LTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfMCI+PC9BPjA8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDYwIj48Q09ERT4wPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNyI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNjEiPjxDT0RFPjA8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI3Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg2MCI+PENPREU+MDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDYxIj48Q09ERT4wPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl8/Ij48L0E+PzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTIiPjxDT0RFPj88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI3Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MyI+PENPREU+PzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyIj48Q09ERT4/PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTMiPjxDT0RFPj88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyX0AiPjwvQT5APC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OCI+PENPREU+QDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5Ij48Q09ERT5APC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNyI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDgiPjxDT0RFPkA8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OSI+PENPREU+QDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfXyI+PC9BPl88L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDYyIj48Q09ERT5fPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNyI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNjMiPjxDT0RFPl88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI3Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg2MiI+PENPREU+XzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDYzIj48Q09ERT5fPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9BIj48L0E+QTwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzAwIj48Q09ERT5hdXRvX3Jlc3VtZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTQiPjcuMyBKb2IgQ29udHJvbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMDEiPjxDT0RFPmF1dG9fcmVzdW1lPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NCI+Ny4zIEpvYiBDb250cm9sIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxMiI+PENPREU+YXV0b19yZXN1bWU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk1Ij43LjMgSm9iIENvbnRyb2wgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzEzIj48Q09ERT5hdXRvX3Jlc3VtZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPjcuMyBKb2IgQ29udHJvbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyX0IiPjwvQT5CPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzIiPjxDT0RFPkJBU0g8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzMiPjxDT0RFPkJBU0g8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzgiPjxDT0RFPkJBU0hfQUxJQVNFUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzOSI+PENPREU+QkFTSF9BTElBU0VTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQwIj48Q09ERT5CQVNIX0FSR0M8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDEiPjxDT0RFPkJBU0hfQVJHQzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0MiI+PENPREU+QkFTSF9BUkdWPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQzIj48Q09ERT5CQVNIX0FSR1Y8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDQiPjxDT0RFPkJBU0hfQ01EUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0NSI+PENPREU+QkFTSF9DTURTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQ2Ij48Q09ERT5CQVNIX0NPTU1BTkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDciPjxDT0RFPkJBU0hfQ09NTUFORDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0OCI+PENPREU+QkFTSF9FTlY8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDkiPjxDT0RFPkJBU0hfRU5WPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTUwIj48Q09ERT5CQVNIX0VYRUNVVElPTl9TVFJJTkc8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTEiPjxDT0RFPkJBU0hfRVhFQ1VUSU9OX1NUUklORzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE1MiI+PENPREU+QkFTSF9MSU5FTk88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTMiPjxDT0RFPkJBU0hfTElORU5PPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTU0Ij48Q09ERT5CQVNIX1JFTUFUQ0g8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTUiPjxDT0RFPkJBU0hfUkVNQVRDSDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE1NiI+PENPREU+QkFTSF9TT1VSQ0U8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTciPjxDT0RFPkJBU0hfU09VUkNFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTU4Ij48Q09ERT5CQVNIX1NVQlNIRUxMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTU5Ij48Q09ERT5CQVNIX1NVQlNIRUxMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTYwIj48Q09ERT5CQVNIX1ZFUlNJTkZPPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTYxIj48Q09ERT5CQVNIX1ZFUlNJTkZPPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTYyIj48Q09ERT5CQVNIX1ZFUlNJT048L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjMiPjxDT0RFPkJBU0hfVkVSU0lPTjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE2NCI+PENPREU+QkFTSF9YVFJBQ0VGRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE2NSI+PENPREU+QkFTSF9YVFJBQ0VGRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzNCI+PENPREU+QkFTSE9QVFM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzUiPjxDT0RFPkJBU0hPUFRTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTM2Ij48Q09ERT5CQVNIUElEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTM3Ij48Q09ERT5CQVNIUElEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzA3Ij48Q09ERT5iZWxsLXN0eWxlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMDgiPjxDT0RFPmJpbmQtdHR5LXNwZWNpYWwtY2hhcnM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzMiI+PENPREU+QkFTSDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzMyI+PENPREU+QkFTSDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzOCI+PENPREU+QkFTSF9BTElBU0VTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTM5Ij48Q09ERT5CQVNIX0FMSUFTRVM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDAiPjxDT0RFPkJBU0hfQVJHQzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0MSI+PENPREU+QkFTSF9BUkdDPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQyIj48Q09ERT5CQVNIX0FSR1Y8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDMiPjxDT0RFPkJBU0hfQVJHVjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0NCI+PENPREU+QkFTSF9DTURTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQ1Ij48Q09ERT5CQVNIX0NNRFM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNDYiPjxDT0RFPkJBU0hfQ09NTUFORDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0NyI+PENPREU+QkFTSF9DT01NQU5EPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQ4Ij48Q09ERT5CQVNIX0VOVjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE0OSI+PENPREU+QkFTSF9FTlY8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTAiPjxDT0RFPkJBU0hfRVhFQ1VUSU9OX1NUUklORzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE1MSI+PENPREU+QkFTSF9FWEVDVVRJT05fU1RSSU5HPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTUyIj48Q09ERT5CQVNIX0xJTkVOTzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE1MyI+PENPREU+QkFTSF9MSU5FTk88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTQiPjxDT0RFPkJBU0hfUkVNQVRDSDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE1NSI+PENPREU+QkFTSF9SRU1BVENIPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTU2Ij48Q09ERT5CQVNIX1NPVVJDRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE1NyI+PENPREU+QkFTSF9TT1VSQ0U8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTgiPjxDT0RFPkJBU0hfU1VCU0hFTEw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNTkiPjxDT0RFPkJBU0hfU1VCU0hFTEw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjAiPjxDT0RFPkJBU0hfVkVSU0lORk88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjEiPjxDT0RFPkJBU0hfVkVSU0lORk88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjIiPjxDT0RFPkJBU0hfVkVSU0lPTjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE2MyI+PENPREU+QkFTSF9WRVJTSU9OPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTY0Ij48Q09ERT5CQVNIX1hUUkFDRUZEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTY1Ij48Q09ERT5CQVNIX1hUUkFDRUZEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTM0Ij48Q09ERT5CQVNIT1BUUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzNSI+PENPREU+QkFTSE9QVFM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzYiPjxDT0RFPkJBU0hQSUQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzciPjxDT0RFPkJBU0hQSUQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMTkiPjxDT0RFPmJlbGwtc3R5bGU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyMCI+PENPREU+YmluZC10dHktc3BlY2lhbC1jaGFyczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9DIj48L0E+QzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTEyIj48Q09ERT5DRFBBVEg8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDExMyI+PENPREU+Q0RQQVRIPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjYiPjxDT0RFPkNPTFVNTlM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjciPjxDT0RFPkNPTFVNTlM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMDkiPjxDT0RFPmNvbW1lbnQtYmVnaW48L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE2OCI+PENPREU+Q09NUF9DV09SRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE2OSI+PENPREU+Q09NUF9DV09SRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3NiI+PENPREU+Q09NUF9LRVk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzciPjxDT0RFPkNPTVBfS0VZPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTcwIj48Q09ERT5DT01QX0xJTkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzEiPjxDT0RFPkNPTVBfTElORTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3MiI+PENPREU+Q09NUF9QT0lOVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3MyI+PENPREU+Q09NUF9QT0lOVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3NCI+PENPREU+Q09NUF9UWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTc1Ij48Q09ERT5DT01QX1RZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzgiPjxDT0RFPkNPTVBfV09SREJSRUFLUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3OSI+PENPREU+Q09NUF9XT1JEQlJFQUtTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTgwIj48Q09ERT5DT01QX1dPUkRTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTgxIj48Q09ERT5DT01QX1dPUkRTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzEwIj48Q09ERT5jb21wbGV0aW9uLXByZWZpeC1kaXNwbGF5LWxlbmd0aDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzExIj48Q09ERT5jb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxODIiPjxDT0RFPkNPTVBSRVBMWTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4MyI+PENPREU+Q09NUFJFUExZPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzEyIj48Q09ERT5jb252ZXJ0LW1ldGE8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDExMiI+PENPREU+Q0RQQVRIPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTMiPjxDT0RFPkNEUEFUSDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTY2Ij48Q09ERT5DT0xVTU5TPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTY3Ij48Q09ERT5DT0xVTU5TPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzIxIj48Q09ERT5jb21tZW50LWJlZ2luPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDUiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjgiPjxDT0RFPkNPTVBfQ1dPUkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNjkiPjxDT0RFPkNPTVBfQ1dPUkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzYiPjxDT0RFPkNPTVBfS0VZPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTc3Ij48Q09ERT5DT01QX0tFWTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3MCI+PENPREU+Q09NUF9MSU5FPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTcxIj48Q09ERT5DT01QX0xJTkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzIiPjxDT0RFPkNPTVBfUE9JTlQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzMiPjxDT0RFPkNPTVBfUE9JTlQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzQiPjxDT0RFPkNPTVBfVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE3NSI+PENPREU+Q09NUF9UWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTc4Ij48Q09ERT5DT01QX1dPUkRCUkVBS1M8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNzkiPjxDT0RFPkNPTVBfV09SREJSRUFLUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4MCI+PENPREU+Q09NUF9XT1JEUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4MSI+PENPREU+Q09NUF9XT1JEUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyMiI+PENPREU+Y29tcGxldGlvbi1kaXNwbGF5LXdpZHRoPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDUiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjMiPjxDT0RFPmNvbXBsZXRpb24taWdub3JlLWNhc2U8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyNCI+PENPREU+Y29tcGxldGlvbi1tYXAtY2FzZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzI1Ij48Q09ERT5jb21wbGV0aW9uLXByZWZpeC1kaXNwbGF5LWxlbmd0aDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzI2Ij48Q09ERT5jb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDUiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxODIiPjxDT0RFPkNPTVBSRVBMWTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4MyI+PENPREU+Q09NUFJFUExZPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzI3Ij48Q09ERT5jb252ZXJ0LW1ldGE8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4NCI+PENPREU+Q09QUk9DPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTg1Ij48Q09ERT5DT1BST0M8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyX0QiPjwvQT5EPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxODQiPjxDT0RFPkRJUlNUQUNLPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTg1Ij48Q09ERT5ESVJTVEFDSzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxMyI+PENPREU+ZGlzYWJsZS1jb21wbGV0aW9uPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxODYiPjxDT0RFPkRJUlNUQUNLPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTg3Ij48Q09ERT5ESVJTVEFDSzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyOCI+PENPREU+ZGlzYWJsZS1jb21wbGV0aW9uPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDUiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyX0UiPjwvQT5FPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMTQiPjxDT0RFPmVkaXRpbmctbW9kZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTg2Ij48Q09ERT5FTUFDUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4NyI+PENPREU+RU1BQ1M8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMTUiPjxDT0RFPmVuYWJsZS1rZXlwYWQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4OCI+PENPREU+RVVJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4OSI+PENPREU+RVVJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxNiI+PENPREU+ZXhwYW5kLXRpbGRlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjkiPjxDT0RFPmVkaXRpbmctbW9kZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTg4Ij48Q09ERT5FTUFDUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE4OSI+PENPREU+RU1BQ1M8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzAiPjxDT0RFPmVuYWJsZS1rZXlwYWQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5MCI+PENPREU+RU5WPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTkxIj48Q09ERT5FTlY8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTIiPjxDT0RFPkVVSUQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTMiPjxDT0RFPkVVSUQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzEiPjxDT0RFPmV4cGFuZC10aWxkZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9GIj48L0E+RjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTkwIj48Q09ERT5GQ0VESVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTEiPjxDT0RFPkZDRURJVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5MiI+PENPREU+RklHTk9SRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5MyI+PENPREU+RklHTk9SRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5NCI+PENPREU+RlVOQ05BTUU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTUiPjxDT0RFPkZVTkNOQU1FPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTk0Ij48Q09ERT5GQ0VESVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTUiPjxDT0RFPkZDRURJVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5NiI+PENPREU+RklHTk9SRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5NyI+PENPREU+RklHTk9SRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5OCI+PENPREU+RlVOQ05BTUU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTkiPjxDT0RFPkZVTkNOQU1FPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjAwIj48Q09ERT5GVU5DTkVTVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIwMSI+PENPREU+RlVOQ05FU1Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyX0ciPjwvQT5HPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTYiPjxDT0RFPkdMT0JJR05PUkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTciPjxDT0RFPkdMT0JJR05PUkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOTgiPjxDT0RFPkdST1VQUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDE5OSI+PENPREU+R1JPVVBTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjAyIj48Q09ERT5HTE9CSUdOT1JFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjAzIj48Q09ERT5HTE9CSUdOT1JFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjA0Ij48Q09ERT5HUk9VUFM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDUiPjxDT0RFPkdST1VQUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfSCI+PC9BPkg8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIwMCI+PENPREU+aGlzdGNoYXJzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjAxIj48Q09ERT5oaXN0Y2hhcnM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDIiPjxDT0RFPkhJU1RDTUQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDMiPjxDT0RFPkhJU1RDTUQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDQiPjxDT0RFPkhJU1RDT05UUk9MPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjA1Ij48Q09ERT5ISVNUQ09OVFJPTDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIwNiI+PENPREU+SElTVEZJTEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDciPjxDT0RFPkhJU1RGSUxFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjA4Ij48Q09ERT5ISVNURklMRVNJWkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDkiPjxDT0RFPkhJU1RGSUxFU0laRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxMCI+PENPREU+SElTVElHTk9SRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxMSI+PENPREU+SElTVElHTk9SRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxNyI+PENPREU+aGlzdG9yeS1wcmVzZXJ2ZS1wb2ludDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzE4Ij48Q09ERT5oaXN0b3J5LXNpemU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxMiI+PENPREU+SElTVFNJWkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTMiPjxDT0RFPkhJU1RTSVpFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjE0Ij48Q09ERT5ISVNUVElNRUZPUk1BVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxNSI+PENPREU+SElTVFRJTUVGT1JNQVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTQiPjxDT0RFPkhPTUU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDExNSI+PENPREU+SE9NRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzE5Ij48Q09ERT5ob3Jpem9udGFsLXNjcm9sbC1tb2RlPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTYiPjxDT0RFPkhPU1RGSUxFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjE3Ij48Q09ERT5IT1NURklMRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxOCI+PENPREU+SE9TVE5BTUU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTkiPjxDT0RFPkhPU1ROQU1FPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjIwIj48Q09ERT5IT1NUVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyMSI+PENPREU+SE9TVFRZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMDYiPjxDT0RFPmhpc3RjaGFyczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIwNyI+PENPREU+aGlzdGNoYXJzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjA4Ij48Q09ERT5ISVNUQ01EPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjA5Ij48Q09ERT5ISVNUQ01EPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjEwIj48Q09ERT5ISVNUQ09OVFJPTDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxMSI+PENPREU+SElTVENPTlRST0w8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTIiPjxDT0RFPkhJU1RGSUxFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjEzIj48Q09ERT5ISVNURklMRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxNCI+PENPREU+SElTVEZJTEVTSVpFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjE1Ij48Q09ERT5ISVNURklMRVNJWkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTYiPjxDT0RFPkhJU1RJR05PUkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTciPjxDT0RFPkhJU1RJR05PUkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzIiPjxDT0RFPmhpc3RvcnktcHJlc2VydmUtcG9pbnQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzMyI+PENPREU+aGlzdG9yeS1zaXplPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDUiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMTgiPjxDT0RFPkhJU1RTSVpFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjE5Ij48Q09ERT5ISVNUU0laRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyMCI+PENPREU+SElTVFRJTUVGT1JNQVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjEiPjxDT0RFPkhJU1RUSU1FRk9STUFUPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTE0Ij48Q09ERT5IT01FPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTUiPjxDT0RFPkhPTUU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzNCI+PENPREU+aG9yaXpvbnRhbC1zY3JvbGwtbW9kZTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjIyIj48Q09ERT5IT1NURklMRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyMyI+PENPREU+SE9TVEZJTEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjQiPjxDT0RFPkhPU1ROQU1FPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjI1Ij48Q09ERT5IT1NUTkFNRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyNiI+PENPREU+SE9TVFRZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjciPjxDT0RFPkhPU1RUWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9JIj48L0E+STwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTE2Ij48Q09ERT5JRlM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDExNyI+PENPREU+SUZTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjIiPjxDT0RFPklHTk9SRUVPRjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyMyI+PENPREU+SUdOT1JFRU9GPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzIwIj48Q09ERT5pbnB1dC1tZXRhPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjQiPjxDT0RFPklOUFVUUkM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjUiPjxDT0RFPklOUFVUUkM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjIiPjxDT0RFPmlzZWFyY2gtdGVybWluYXRvcnM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDExNiI+PENPREU+SUZTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTciPjxDT0RFPklGUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjI4Ij48Q09ERT5JR05PUkVFT0Y8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMjkiPjxDT0RFPklHTk9SRUVPRjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzNSI+PENPREU+aW5wdXQtbWV0YTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjMwIj48Q09ERT5JTlBVVFJDPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjMxIj48Q09ERT5JTlBVVFJDPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzM3Ij48Q09ERT5pc2VhcmNoLXRlcm1pbmF0b3JzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDUiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyX0siPjwvQT5LPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjMiPjxDT0RFPmtleW1hcDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzM4Ij48Q09ERT5rZXltYXA8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfTCI+PC9BPkw8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyNiI+PENPREU+TEFORzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyNyI+PENPREU+TEFORzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIyOCI+PENPREU+TENfQUxMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjI5Ij48Q09ERT5MQ19BTEw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzAiPjxDT0RFPkxDX0NPTExBVEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzEiPjxDT0RFPkxDX0NPTExBVEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzIiPjxDT0RFPkxDX0NUWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjMzIj48Q09ERT5MQ19DVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzMiI+PENPREU+TEFORzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzMyI+PENPREU+TEFORzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzNCI+PENPREU+TENfQUxMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjM1Ij48Q09ERT5MQ19BTEw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzYiPjxDT0RFPkxDX0NPTExBVEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzciPjxDT0RFPkxDX0NPTExBVEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzgiPjxDT0RFPkxDX0NUWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjM5Ij48Q09ERT5MQ19DVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIxIj48Q09ERT5MQ19NRVNTQUdFUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMiPjMuMS4yLjUgTG9jYWxlLVNwZWNpZmljIFRyYW5zbGF0aW9uPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjM0Ij48Q09ERT5MQ19NRVNTQUdFUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzNSI+PENPREU+TENfTUVTU0FHRVM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzYiPjxDT0RFPkxDX05VTUVSSUM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzciPjxDT0RFPkxDX05VTUVSSUM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyMzgiPjxDT0RFPkxJTkVOTzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzOSI+PENPREU+TElORU5PPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQwIj48Q09ERT5MSU5FUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0MSI+PENPREU+TElORVM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNDAiPjxDT0RFPkxDX01FU1NBR0VTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQxIj48Q09ERT5MQ19NRVNTQUdFUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0MiI+PENPREU+TENfTlVNRVJJQzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0MyI+PENPREU+TENfTlVNRVJJQzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0NCI+PENPREU+TElORU5PPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQ1Ij48Q09ERT5MSU5FTk88L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNDYiPjxDT0RFPkxJTkVTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQ3Ij48Q09ERT5MSU5FUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfTSI+PC9BPk08L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0MiI+PENPREU+TUFDSFRZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNDMiPjxDT0RFPk1BQ0hUWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTE4Ij48Q09ERT5NQUlMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTkiPjxDT0RFPk1BSUw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0NCI+PENPREU+TUFJTENIRUNLPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQ1Ij48Q09ERT5NQUlMQ0hFQ0s8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMjAiPjxDT0RFPk1BSUxQQVRIPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMjEiPjxDT0RFPk1BSUxQQVRIPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjQiPjxDT0RFPm1hcmstbW9kaWZpZWQtbGluZXM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyNSI+PENPREU+bWFyay1zeW1saW5rZWQtZGlyZWN0b3JpZXM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMyNiI+PENPREU+bWF0Y2gtaGlkZGVuLWZpbGVzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjEiPjxDT0RFPm1ldGEtZmxhZzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQ4Ij48Q09ERT5NQUNIVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0OSI+PENPREU+TUFDSFRZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMTgiPjxDT0RFPk1BSUw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDExOSI+PENPREU+TUFJTDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjUwIj48Q09ERT5NQUlMQ0hFQ0s8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTEiPjxDT0RFPk1BSUxDSEVDSzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyMCI+PENPREU+TUFJTFBBVEg8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyMSI+PENPREU+TUFJTFBBVEg8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1MiI+PENPREU+TUFQRklMRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1MyI+PENPREU+TUFQRklMRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzOSI+PENPREU+bWFyay1tb2RpZmllZC1saW5lczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQwIj48Q09ERT5tYXJrLXN5bWxpbmtlZC1kaXJlY3RvcmllczwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQxIj48Q09ERT5tYXRjaC1oaWRkZW4tZmlsZXM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0MiI+PENPREU+bWVudS1jb21wbGV0ZS1kaXNwbGF5LXByZWZpeDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzM2Ij48Q09ERT5tZXRhLWZsYWc8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfTyI+PC9BPk88L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0NiI+PENPREU+T0xEUFdEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQ3Ij48Q09ERT5PTERQV0Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMjIiPjxDT0RFPk9QVEFSRzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTIzIj48Q09ERT5PUFRBUkc8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI0OCI+PENPREU+T1BURVJSPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjQ5Ij48Q09ERT5PUFRFUlI8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMjQiPjxDT0RFPk9QVElORDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTI1Ij48Q09ERT5PUFRJTkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1MCI+PENPREU+T1NUWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjUxIj48Q09ERT5PU1RZUEU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMjciPjxDT0RFPm91dHB1dC1tZXRhPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTQiPjxDT0RFPk9MRFBXRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1NSI+PENPREU+T0xEUFdEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTIyIj48Q09ERT5PUFRBUkc8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyMyI+PENPREU+T1BUQVJHPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTYiPjxDT0RFPk9QVEVSUjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1NyI+PENPREU+T1BURVJSPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTI0Ij48Q09ERT5PUFRJTkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyNSI+PENPREU+T1BUSU5EPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTgiPjxDT0RFPk9TVFlQRTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1OSI+PENPREU+T1NUWVBFPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQzIj48Q09ERT5vdXRwdXQtbWV0YTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9QIj48L0E+UDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzI4Ij48Q09ERT5wYWdlLWNvbXBsZXRpb25zPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMjYiPjxDT0RFPlBBVEg8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyNyI+PENPREU+UEFUSDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjUyIj48Q09ERT5QSVBFU1RBVFVTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjUzIj48Q09ERT5QSVBFU1RBVFVTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjU0Ij48Q09ERT5QT1NJWExZX0NPUlJFQ1Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTUiPjxDT0RFPlBPU0lYTFlfQ09SUkVDVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1NiI+PENPREU+UFBJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1NyI+PENPREU+UFBJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI1OCI+PENPREU+UFJPTVBUX0NPTU1BTkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNTkiPjxDT0RFPlBST01QVF9DT01NQU5EPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjYwIj48Q09ERT5QUk9NUFRfRElSVFJJTTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2MSI+PENPREU+UFJPTVBUX0RJUlRSSU08L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMjgiPjxDT0RFPlBTMTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTI5Ij48Q09ERT5QUzE8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzMCI+PENPREU+UFMyPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NiI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzEiPjxDT0RFPlBTMjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjYyIj48Q09ERT5QUzM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNjMiPjxDT0RFPlBTMzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2NCI+PENPREU+UFM0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjY1Ij48Q09ERT5QUzQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNjYiPjxDT0RFPlBXRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2NyI+PENPREU+UFdEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQ0Ij48Q09ERT5wYWdlLWNvbXBsZXRpb25zPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDUiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMjYiPjxDT0RFPlBBVEg8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyNyI+PENPREU+UEFUSDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjYwIj48Q09ERT5QSVBFU1RBVFVTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjYxIj48Q09ERT5QSVBFU1RBVFVTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjYyIj48Q09ERT5QT1NJWExZX0NPUlJFQ1Q8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNjMiPjxDT0RFPlBPU0lYTFlfQ09SUkVDVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2NCI+PENPREU+UFBJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2NSI+PENPREU+UFBJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2NiI+PENPREU+UFJPTVBUX0NPTU1BTkQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNjciPjxDT0RFPlBST01QVF9DT01NQU5EPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjY4Ij48Q09ERT5QUk9NUFRfRElSVFJJTTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2OSI+PENPREU+UFJPTVBUX0RJUlRSSU08L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMjgiPjxDT0RFPlBTMTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTI5Ij48Q09ERT5QUzE8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzMCI+PENPREU+UFMyPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4xIEJvdXJuZSBTaGVsbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMzEiPjxDT0RFPlBTMjwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjcwIj48Q09ERT5QUzM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzEiPjxDT0RFPlBTMzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3MiI+PENPREU+UFM0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjczIj48Q09ERT5QUzQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzQiPjxDT0RFPlBXRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3NSI+PENPREU+UFdEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9SIj48L0E+UjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjY4Ij48Q09ERT5SQU5ET008L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNjkiPjxDT0RFPlJBTkRPTTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3MCI+PENPREU+UkVQTFk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzEiPjxDT0RFPlJFUExZPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzI5Ij48Q09ERT5yZXZlcnQtYWxsLWF0LW5ld2xpbmU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3NiI+PENPREU+UkFORE9NPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjc3Ij48Q09ERT5SQU5ET008L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzgiPjxDT0RFPlJFQURMSU5FX0xJTkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzkiPjxDT0RFPlJFQURMSU5FX0xJTkU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODAiPjxDT0RFPlJFQURMSU5FX1BPSU5UPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjgxIj48Q09ERT5SRUFETElORV9QT0lOVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4MiI+PENPREU+UkVQTFk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODMiPjxDT0RFPlJFUExZPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQ1Ij48Q09ERT5yZXZlcnQtYWxsLWF0LW5ld2xpbmU8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfUyI+PC9BPlM8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3MiI+PENPREU+U0VDT05EUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3MyI+PENPREU+U0VDT05EUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3NCI+PENPREU+U0hFTEw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzUiPjxDT0RFPlNIRUxMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjc2Ij48Q09ERT5TSEVMTE9QVFM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzciPjxDT0RFPlNIRUxMT1BUUzwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI3OCI+PENPREU+U0hMVkw8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyNzkiPjxDT0RFPlNITFZMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzMwIj48Q09ERT5zaG93LWFsbC1pZi1hbWJpZ3VvdXM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzMSI+PENPREU+c2hvdy1hbGwtaWYtdW5tb2RpZmllZDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzMyIj48Q09ERT5za2lwLWNvbXBsZXRlZC10ZXh0PC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDQiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODQiPjxDT0RFPlNFQ09ORFM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODUiPjxDT0RFPlNFQ09ORFM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODYiPjxDT0RFPlNIRUxMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjg3Ij48Q09ERT5TSEVMTDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4OCI+PENPREU+U0hFTExPUFRTPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjg5Ij48Q09ERT5TSEVMTE9QVFM8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyOTAiPjxDT0RFPlNITFZMPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjkxIj48Q09ERT5TSExWTDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0NiI+PENPREU+c2hvdy1hbGwtaWYtYW1iaWd1b3VzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDUiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDciPjxDT0RFPnNob3ctYWxsLWlmLXVubW9kaWZpZWQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0OCI+PENPREU+c2tpcC1jb21wbGV0ZWQtdGV4dDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJ2cl9UIj48L0E+VDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjIiPjxDT0RFPlRFWFRET01BSU48L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzIj4zLjEuMi41IExvY2FsZS1TcGVjaWZpYyBUcmFuc2xhdGlvbjwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDIzIj48Q09ERT5URVhURE9NQUlORElSPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMyI+My4xLjIuNSBMb2NhbGUtU3BlY2lmaWMgVHJhbnNsYXRpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODAiPjxDT0RFPlRJTUVGT1JNQVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODEiPjxDT0RFPlRJTUVGT1JNQVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODIiPjxDT0RFPlRNT1VUPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjgzIj48Q09ERT5UTU9VVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4NCI+PENPREU+VE1QRElSPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjg1Ij48Q09ERT5UTVBESVI8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY3Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyOTIiPjxDT0RFPlRJTUVGT1JNQVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyOTMiPjxDT0RFPlRJTUVGT1JNQVQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyOTQiPjxDT0RFPlRNT1VUPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjk1Ij48Q09ERT5UTU9VVDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI5NiI+PENPREU+VE1QRElSPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjk3Ij48Q09ERT5UTVBESVI8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9InZyX1UiPjwvQT5VPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODYiPjxDT0RFPlVJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI4NyI+PENPREU+VUlEPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjk4Ij48Q09ERT5VSUQ8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY4Ij41LjIgQmFzaCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyOTkiPjxDT0RFPlVJRDwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjUuMiBCYXNoIFZhcmlhYmxlczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0idnJfViI+PC9BPlY8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzMyI+PENPREU+dmlzaWJsZS1zdGF0czwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQ5Ij48Q09ERT52aXNpYmxlLXN0YXRzPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDUiPjguMy4xIFJlYWRsaW5lIEluaXQgRmlsZSBTeW50YXg8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8L1RBQkxFPjxQPjwvUD48dGFibGU+PHRyPjx0aCB2YWxpZ249dG9wPkp1bXAgdG86ICZuYnNwOyA8L3RoPjx0ZD48QSBIUkVGPSJiYXNocmVmLmh0bWwjdnJfISIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Yj4hPC9iPjwvQT4KICAmbmJzcDsgCkBAIC0xNTA0OSwyMCArMTUzNzIsMjAgQEAKIAogPEEgTkFNRT0iRnVuY3Rpb24gSW5kZXgiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzE0NCI+PC9BPgorPEEgTkFNRT0iU0VDMTQ1Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQzIj4gJmx0OyA8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0NSI+ICZndDsgPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0NSI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj4gVXAgPC9BPl08L1REPgorPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQ0Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0NiI+ICZndDsgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0NiI+ICZsdDsmbHQ7IDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj4gVXAgPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WyAmZ3Q7Jmd0OyBdPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgyPiBELjQgRnVuY3Rpb24gSW5kZXggPC9IMj4KLTwhLS1kb2NpZDo6U0VDMTQ0OjotLT4KKzwhLS1kb2NpZDo6U0VDMTQ1OjotLT4KIDx0YWJsZT48dHI+PHRoIHZhbGlnbj10b3A+SnVtcCB0bzogJm5ic3A7IDwvdGg+PHRkPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNmbl9BIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmUiPjxiPkE8L2I+PC9BPgogICZuYnNwOyAKIDxBIEhSRUY9ImJhc2hyZWYuaHRtbCNmbl9CIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmUiPjxiPkI8L2I+PC9BPgpAQCAtMTUxMDgsMjUwICsxNTQzMSwyNTAgQEAKIDxUUj48VEQ+PC9URD48VEggQUxJR049TEVGVD5JbmRleCBFbnRyeTwvVEg+PFRIIEFMSUdOPUxFRlQ+IFNlY3Rpb248L1RIPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fQSI+PC9BPkE8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4NiI+PENPREU+YWJvcnQgKEMtZyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDg3Ij48Q09ERT5hYm9ydCAoQy1nKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTQiPjxDT0RFPmFjY2VwdC1saW5lIChOZXdsaW5lIG9yIFJldHVybik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM1NSI+PENPREU+YWNjZXB0LWxpbmUgKE5ld2xpbmUgb3IgUmV0dXJuKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTMwIj48Q09ERT5hbGlhcy1leHBhbmQtbGluZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MzEiPjxDT0RFPmFsaWFzLWV4cGFuZC1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUwMiI+PENPREU+YWJvcnQgKEMtZyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTAzIj48Q09ERT5hYm9ydCAoQy1nKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzAiPjxDT0RFPmFjY2VwdC1saW5lIChOZXdsaW5lIG9yIFJldHVybik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3MSI+PENPREU+YWNjZXB0LWxpbmUgKE5ld2xpbmUgb3IgUmV0dXJuKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTQ2Ij48Q09ERT5hbGlhcy1leHBhbmQtbGluZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NDciPjxDT0RFPmFsaWFzLWV4cGFuZC1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fQiI+PC9BPkI8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0MCI+PENPREU+YmFja3dhcmQtY2hhciAoQy1iKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQxIj48Q09ERT5iYWNrd2FyZC1jaGFyIChDLWIpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODIiPjxDT0RFPmJhY2t3YXJkLWRlbGV0ZS1jaGFyIChSdWJvdXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzgzIj48Q09ERT5iYWNrd2FyZC1kZWxldGUtY2hhciAoUnVib3V0KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwNCI+PENPREU+YmFja3dhcmQta2lsbC1saW5lIChDLXggUnVib3V0KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDA1Ij48Q09ERT5iYWNrd2FyZC1raWxsLWxpbmUgKEMteCBSdWJvdXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTYiPjxDT0RFPmJhY2t3YXJkLWtpbGwtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDE3Ij48Q09ERT5iYWNrd2FyZC1raWxsLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxMiI+PENPREU+YmFja3dhcmQta2lsbC13b3JkIChNLTxLQkQ+REVMPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDEzIj48Q09ERT5iYWNrd2FyZC1raWxsLXdvcmQgKE0tPEtCRD5ERUw8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDQiPjxDT0RFPmJhY2t3YXJkLXdvcmQgKE0tYik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0NSI+PENPREU+YmFja3dhcmQtd29yZCAoTS1iKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzYwIj48Q09ERT5iZWdpbm5pbmctb2YtaGlzdG9yeSAoTS0mIzM4OyM2MDspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjEiPjxDT0RFPmJlZ2lubmluZy1vZi1oaXN0b3J5IChNLSYjMzg7IzYwOyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzNCI+PENPREU+YmVnaW5uaW5nLW9mLWxpbmUgKEMtYSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzNSI+PENPREU+YmVnaW5uaW5nLW9mLWxpbmUgKEMtYSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM1NiI+PENPREU+YmFja3dhcmQtY2hhciAoQy1iKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzU3Ij48Q09ERT5iYWNrd2FyZC1jaGFyIChDLWIpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzOTgiPjxDT0RFPmJhY2t3YXJkLWRlbGV0ZS1jaGFyIChSdWJvdXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk5Ij48Q09ERT5iYWNrd2FyZC1kZWxldGUtY2hhciAoUnVib3V0KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyMCI+PENPREU+YmFja3dhcmQta2lsbC1saW5lIChDLXggUnVib3V0KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDIxIj48Q09ERT5iYWNrd2FyZC1raWxsLWxpbmUgKEMteCBSdWJvdXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MjgiPjxDT0RFPmJhY2t3YXJkLWtpbGwtd29yZCAoTS08S0JEPkRFTDwvS0JEPik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyOSI+PENPREU+YmFja3dhcmQta2lsbC13b3JkIChNLTxLQkQ+REVMPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzYwIj48Q09ERT5iYWNrd2FyZC13b3JkIChNLWIpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjEiPjxDT0RFPmJhY2t3YXJkLXdvcmQgKE0tYik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3NiI+PENPREU+YmVnaW5uaW5nLW9mLWhpc3RvcnkgKE0tJiMzODsjNjA7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzc3Ij48Q09ERT5iZWdpbm5pbmctb2YtaGlzdG9yeSAoTS0mIzM4OyM2MDspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTAiPjxDT0RFPmJlZ2lubmluZy1vZi1saW5lIChDLWEpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTEiPjxDT0RFPmJlZ2lubmluZy1vZi1saW5lIChDLWEpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX0MiPjwvQT5DPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODIiPjxDT0RFPmNhbGwtbGFzdC1rYmQtbWFjcm8gKEMteCBlKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNyBLZXlib2FyZCBNYWNyb3M8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODMiPjxDT0RFPmNhbGwtbGFzdC1rYmQtbWFjcm8gKEMteCBlKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNyBLZXlib2FyZCBNYWNyb3M8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzOTgiPjxDT0RFPmNhcGl0YWxpemUtd29yZCAoTS1jKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM5OSI+PENPREU+Y2FwaXRhbGl6ZS13b3JkIChNLWMpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTAyIj48Q09ERT5jaGFyYWN0ZXItc2VhcmNoIChDLV0pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUwMyI+PENPREU+Y2hhcmFjdGVyLXNlYXJjaCAoQy1dKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDQiPjxDT0RFPmNoYXJhY3Rlci1zZWFyY2gtYmFja3dhcmQgKE0tQy1dKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDUiPjxDT0RFPmNoYXJhY3Rlci1zZWFyY2gtYmFja3dhcmQgKE0tQy1dKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTAiPjxDT0RFPmNsZWFyLXNjcmVlbiAoQy1sKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzUxIj48Q09ERT5jbGVhci1zY3JlZW4gKEMtbCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0MCI+PENPREU+Y29tcGxldGUgKDxLQkQ+VEFCPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0MSI+PENPREU+Y29tcGxldGUgKDxLQkQ+VEFCPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2OCI+PENPREU+Y29tcGxldGUtY29tbWFuZCAoTS0hKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2OSI+PENPREU+Y29tcGxldGUtY29tbWFuZCAoTS0hKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1MiI+PENPREU+Y29tcGxldGUtZmlsZW5hbWUgKE0tLyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NTMiPjxDT0RFPmNvbXBsZXRlLWZpbGVuYW1lIChNLS8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDY0Ij48Q09ERT5jb21wbGV0ZS1ob3N0bmFtZSAoTS1AKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2NSI+PENPREU+Y29tcGxldGUtaG9zdG5hbWUgKE0tQCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzYiPjxDT0RFPmNvbXBsZXRlLWludG8tYnJhY2VzIChNLXspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDc3Ij48Q09ERT5jb21wbGV0ZS1pbnRvLWJyYWNlcyAoTS17KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1NiI+PENPREU+Y29tcGxldGUtdXNlcm5hbWUgKE0tfik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NTciPjxDT0RFPmNvbXBsZXRlLXVzZXJuYW1lIChNLX4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDYwIj48Q09ERT5jb21wbGV0ZS12YXJpYWJsZSAoTS0kKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2MSI+PENPREU+Y29tcGxldGUtdmFyaWFibGUgKE0tJCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MjgiPjxDT0RFPmNvcHktYmFja3dhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDI5Ij48Q09ERT5jb3B5LWJhY2t3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzMCI+PENPREU+Y29weS1mb3J3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzMSI+PENPREU+Y29weS1mb3J3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyNiI+PENPREU+Y29weS1yZWdpb24tYXMta2lsbCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDI3Ij48Q09ERT5jb3B5LXJlZ2lvbi1hcy1raWxsICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTgiPjxDT0RFPmNhbGwtbGFzdC1rYmQtbWFjcm8gKEMteCBlKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuNyBLZXlib2FyZCBNYWNyb3M8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTkiPjxDT0RFPmNhbGwtbGFzdC1rYmQtbWFjcm8gKEMteCBlKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuNyBLZXlib2FyZCBNYWNyb3M8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTQiPjxDT0RFPmNhcGl0YWxpemUtd29yZCAoTS1jKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxNSI+PENPREU+Y2FwaXRhbGl6ZS13b3JkIChNLWMpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTE4Ij48Q09ERT5jaGFyYWN0ZXItc2VhcmNoIChDLV0pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxOSI+PENPREU+Y2hhcmFjdGVyLXNlYXJjaCAoQy1dKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MjAiPjxDT0RFPmNoYXJhY3Rlci1zZWFyY2gtYmFja3dhcmQgKE0tQy1dKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MjEiPjxDT0RFPmNoYXJhY3Rlci1zZWFyY2gtYmFja3dhcmQgKE0tQy1dKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjYiPjxDT0RFPmNsZWFyLXNjcmVlbiAoQy1sKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzY3Ij48Q09ERT5jbGVhci1zY3JlZW4gKEMtbCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1NiI+PENPREU+Y29tcGxldGUgKDxLQkQ+VEFCPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1NyI+PENPREU+Y29tcGxldGUgKDxLQkQ+VEFCPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4NCI+PENPREU+Y29tcGxldGUtY29tbWFuZCAoTS0hKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4NSI+PENPREU+Y29tcGxldGUtY29tbWFuZCAoTS0hKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2OCI+PENPREU+Y29tcGxldGUtZmlsZW5hbWUgKE0tLyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NjkiPjxDT0RFPmNvbXBsZXRlLWZpbGVuYW1lIChNLS8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDgwIj48Q09ERT5jb21wbGV0ZS1ob3N0bmFtZSAoTS1AKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4MSI+PENPREU+Y29tcGxldGUtaG9zdG5hbWUgKE0tQCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTIiPjxDT0RFPmNvbXBsZXRlLWludG8tYnJhY2VzIChNLXspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDkzIj48Q09ERT5jb21wbGV0ZS1pbnRvLWJyYWNlcyAoTS17KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ3MiI+PENPREU+Y29tcGxldGUtdXNlcm5hbWUgKE0tfik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzMiPjxDT0RFPmNvbXBsZXRlLXVzZXJuYW1lIChNLX4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDc2Ij48Q09ERT5jb21wbGV0ZS12YXJpYWJsZSAoTS0kKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ3NyI+PENPREU+Y29tcGxldGUtdmFyaWFibGUgKE0tJCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NDQiPjxDT0RFPmNvcHktYmFja3dhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ1Ij48Q09ERT5jb3B5LWJhY2t3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0NiI+PENPREU+Y29weS1mb3J3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0NyI+PENPREU+Y29weS1mb3J3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0MiI+PENPREU+Y29weS1yZWdpb24tYXMta2lsbCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQzIj48Q09ERT5jb3B5LXJlZ2lvbi1hcy1raWxsICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX0QiPjwvQT5EPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzQiPjxDT0RFPmRhYmJyZXYtZXhwYW5kICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDc1Ij48Q09ERT5kYWJicmV2LWV4cGFuZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM4MCI+PENPREU+ZGVsZXRlLWNoYXIgKEMtZCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODEiPjxDT0RFPmRlbGV0ZS1jaGFyIChDLWQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDUwIj48Q09ERT5kZWxldGUtY2hhci1vci1saXN0ICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDUxIj48Q09ERT5kZWxldGUtY2hhci1vci1saXN0ICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDIyIj48Q09ERT5kZWxldGUtaG9yaXpvbnRhbC1zcGFjZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDIzIj48Q09ERT5kZWxldGUtaG9yaXpvbnRhbC1zcGFjZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDM2Ij48Q09ERT5kaWdpdC1hcmd1bWVudCAoPEtCRD5NLTA8L0tCRD4sIDxLQkQ+TS0xPC9LQkQ+LCAmIzYwO3NtYWxsJiM2MjsuLi4mIzYwOy9zbWFsbCYjNjI7IDxLQkQ+TS0tPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNSBTcGVjaWZ5aW5nIE51bWVyaWMgQXJndW1lbnRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDM3Ij48Q09ERT5kaWdpdC1hcmd1bWVudCAoPEtCRD5NLTA8L0tCRD4sIDxLQkQ+TS0xPC9LQkQ+LCAmIzYwO3NtYWxsJiM2MjsuLi4mIzYwOy9zbWFsbCYjNjI7IDxLQkQ+TS0tPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNSBTcGVjaWZ5aW5nIE51bWVyaWMgQXJndW1lbnRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTIyIj48Q09ERT5kaXNwbGF5LXNoZWxsLXZlcnNpb24gKEMteCBDLXYpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyMyI+PENPREU+ZGlzcGxheS1zaGVsbC12ZXJzaW9uIChDLXggQy12KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODgiPjxDT0RFPmRvLXVwcGVyY2FzZS12ZXJzaW9uIChNLWEsIE0tYiwgTS08VkFSPng8L1ZBUj4sICYjNjA7c21hbGwmIzYyOy4uLiYjNjA7L3NtYWxsJiM2MjspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4OSI+PENPREU+ZG8tdXBwZXJjYXNlLXZlcnNpb24gKE0tYSwgTS1iLCBNLTxWQVI+eDwvVkFSPiwgJiM2MDtzbWFsbCYjNjI7Li4uJiM2MDsvc21hbGwmIzYyOyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk2Ij48Q09ERT5kb3duY2FzZS13b3JkIChNLWwpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk3Ij48Q09ERT5kb3duY2FzZS13b3JkIChNLWwpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTEwIj48Q09ERT5kdW1wLWZ1bmN0aW9ucyAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTEiPjxDT0RFPmR1bXAtZnVuY3Rpb25zICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxNCI+PENPREU+ZHVtcC1tYWNyb3MgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTE1Ij48Q09ERT5kdW1wLW1hY3JvcyAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTIiPjxDT0RFPmR1bXAtdmFyaWFibGVzICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxMyI+PENPREU+ZHVtcC12YXJpYWJsZXMgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDcyIj48Q09ERT5keW5hbWljLWNvbXBsZXRlLWhpc3RvcnkgKE0tPEtCRD5UQUI8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDczIj48Q09ERT5keW5hbWljLWNvbXBsZXRlLWhpc3RvcnkgKE0tPEtCRD5UQUI8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDkwIj48Q09ERT5kYWJicmV2LWV4cGFuZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5MSI+PENPREU+ZGFiYnJldi1leHBhbmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzOTYiPjxDT0RFPmRlbGV0ZS1jaGFyIChDLWQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk3Ij48Q09ERT5kZWxldGUtY2hhciAoQy1kKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2NiI+PENPREU+ZGVsZXRlLWNoYXItb3ItbGlzdCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2NyI+PENPREU+ZGVsZXRlLWNoYXItb3ItbGlzdCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzOCI+PENPREU+ZGVsZXRlLWhvcml6b250YWwtc3BhY2UgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzOSI+PENPREU+ZGVsZXRlLWhvcml6b250YWwtc3BhY2UgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1MiI+PENPREU+ZGlnaXQtYXJndW1lbnQgKDxLQkQ+TS0wPC9LQkQ+LCA8S0JEPk0tMTwvS0JEPiwgJiM2MDtzbWFsbCYjNjI7Li4uJiM2MDsvc21hbGwmIzYyOyA8S0JEPk0tLTwvS0JEPik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjUgU3BlY2lmeWluZyBOdW1lcmljIEFyZ3VtZW50czwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1MyI+PENPREU+ZGlnaXQtYXJndW1lbnQgKDxLQkQ+TS0wPC9LQkQ+LCA8S0JEPk0tMTwvS0JEPiwgJiM2MDtzbWFsbCYjNjI7Li4uJiM2MDsvc21hbGwmIzYyOyA8S0JEPk0tLTwvS0JEPik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjUgU3BlY2lmeWluZyBOdW1lcmljIEFyZ3VtZW50czwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzOCI+PENPREU+ZGlzcGxheS1zaGVsbC12ZXJzaW9uIChDLXggQy12KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MzkiPjxDT0RFPmRpc3BsYXktc2hlbGwtdmVyc2lvbiAoQy14IEMtdik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTA0Ij48Q09ERT5kby11cHBlcmNhc2UtdmVyc2lvbiAoTS1hLCBNLWIsIE0tPFZBUj54PC9WQVI+LCAmIzYwO3NtYWxsJiM2MjsuLi4mIzYwOy9zbWFsbCYjNjI7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDUiPjxDT0RFPmRvLXVwcGVyY2FzZS12ZXJzaW9uIChNLWEsIE0tYiwgTS08VkFSPng8L1ZBUj4sICYjNjA7c21hbGwmIzYyOy4uLiYjNjA7L3NtYWxsJiM2MjspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxMiI+PENPREU+ZG93bmNhc2Utd29yZCAoTS1sKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxMyI+PENPREU+ZG93bmNhc2Utd29yZCAoTS1sKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyNiI+PENPREU+ZHVtcC1mdW5jdGlvbnMgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTI3Ij48Q09ERT5kdW1wLWZ1bmN0aW9ucyAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MzAiPjxDT0RFPmR1bXAtbWFjcm9zICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzMSI+PENPREU+ZHVtcC1tYWNyb3MgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTI4Ij48Q09ERT5kdW1wLXZhcmlhYmxlcyAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MjkiPjxDT0RFPmR1bXAtdmFyaWFibGVzICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4OCI+PENPREU+ZHluYW1pYy1jb21wbGV0ZS1oaXN0b3J5IChNLTxLQkQ+VEFCPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4OSI+PENPREU+ZHluYW1pYy1jb21wbGV0ZS1oaXN0b3J5IChNLTxLQkQ+VEFCPC9LQkQ+KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fRSI+PC9BPkU8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzOCI+PENPREU+ZWRpdC1hbmQtZXhlY3V0ZS1jb21tYW5kIChDLXhDLWUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzOSI+PENPREU+ZWRpdC1hbmQtZXhlY3V0ZS1jb21tYW5kIChDLXhDLWUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4MCI+PENPREU+ZW5kLWtiZC1tYWNybyAoQy14ICkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC43IEtleWJvYXJkIE1hY3JvczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4MSI+PENPREU+ZW5kLWtiZC1tYWNybyAoQy14ICkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC43IEtleWJvYXJkIE1hY3JvczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM2MiI+PENPREU+ZW5kLW9mLWhpc3RvcnkgKE0tJiMzODsjNjI7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzYzIj48Q09ERT5lbmQtb2YtaGlzdG9yeSAoTS0mIzM4OyM2MjspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzYiPjxDT0RFPmVuZC1vZi1saW5lIChDLWUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMzciPjxDT0RFPmVuZC1vZi1saW5lIChDLWUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDAiPjxDT0RFPmV4Y2hhbmdlLXBvaW50LWFuZC1tYXJrIChDLXggQy14KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDEiPjxDT0RFPmV4Y2hhbmdlLXBvaW50LWFuZC1tYXJrIChDLXggQy14KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NTQiPjxDT0RFPmVkaXQtYW5kLWV4ZWN1dGUtY29tbWFuZCAoQy14Qy1lKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NTUiPjxDT0RFPmVkaXQtYW5kLWV4ZWN1dGUtY29tbWFuZCAoQy14Qy1lKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTYiPjxDT0RFPmVuZC1rYmQtbWFjcm8gKEMteCApKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuNyBLZXlib2FyZCBNYWNyb3M8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTciPjxDT0RFPmVuZC1rYmQtbWFjcm8gKEMteCApKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuNyBLZXlib2FyZCBNYWNyb3M8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzgiPjxDT0RFPmVuZC1vZi1oaXN0b3J5IChNLSYjMzg7IzYyOyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3OSI+PENPREU+ZW5kLW9mLWhpc3RvcnkgKE0tJiMzODsjNjI7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzUyIj48Q09ERT5lbmQtb2YtbGluZSAoQy1lKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzUzIj48Q09ERT5lbmQtb2YtbGluZSAoQy1lKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTE2Ij48Q09ERT5leGNoYW5nZS1wb2ludC1hbmQtbWFyayAoQy14IEMteCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTE3Ij48Q09ERT5leGNoYW5nZS1wb2ludC1hbmQtbWFyayAoQy14IEMteCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJmbl9GIj48L0E+RjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzg0Ij48Q09ERT5mb3J3YXJkLWJhY2t3YXJkLWRlbGV0ZS1jaGFyICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzg1Ij48Q09ERT5mb3J3YXJkLWJhY2t3YXJkLWRlbGV0ZS1jaGFyICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzM4Ij48Q09ERT5mb3J3YXJkLWNoYXIgKEMtZik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMzOSI+PENPREU+Zm9yd2FyZC1jaGFyIChDLWYpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjYiPjxDT0RFPmZvcndhcmQtc2VhcmNoLWhpc3RvcnkgKEMtcyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM2NyI+PENPREU+Zm9yd2FyZC1zZWFyY2gtaGlzdG9yeSAoQy1zKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQyIj48Q09ERT5mb3J3YXJkLXdvcmQgKE0tZik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0MyI+PENPREU+Zm9yd2FyZC13b3JkIChNLWYpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDAiPjxDT0RFPmZvcndhcmQtYmFja3dhcmQtZGVsZXRlLWNoYXIgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDEiPjxDT0RFPmZvcndhcmQtYmFja3dhcmQtZGVsZXRlLWNoYXIgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTQiPjxDT0RFPmZvcndhcmQtY2hhciAoQy1mKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzU1Ij48Q09ERT5mb3J3YXJkLWNoYXIgKEMtZik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM4MiI+PENPREU+Zm9yd2FyZC1zZWFyY2gtaGlzdG9yeSAoQy1zKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzgzIj48Q09ERT5mb3J3YXJkLXNlYXJjaC1oaXN0b3J5IChDLXMpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTgiPjxDT0RFPmZvcndhcmQtd29yZCAoTS1mKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzU5Ij48Q09ERT5mb3J3YXJkLXdvcmQgKE0tZik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fRyI+PC9BPkc8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxNiI+PENPREU+Z2xvYi1jb21wbGV0ZS13b3JkIChNLWcpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxNyI+PENPREU+Z2xvYi1jb21wbGV0ZS13b3JkIChNLWcpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxOCI+PENPREU+Z2xvYi1leHBhbmQtd29yZCAoQy14ICopPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxOSI+PENPREU+Z2xvYi1leHBhbmQtd29yZCAoQy14ICopPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyMCI+PENPREU+Z2xvYi1saXN0LWV4cGFuc2lvbnMgKEMteCBnKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MjEiPjxDT0RFPmdsb2ItbGlzdC1leHBhbnNpb25zIChDLXggZyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTMyIj48Q09ERT5nbG9iLWNvbXBsZXRlLXdvcmQgKE0tZyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTMzIj48Q09ERT5nbG9iLWNvbXBsZXRlLXdvcmQgKE0tZyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTM0Ij48Q09ERT5nbG9iLWV4cGFuZC13b3JkIChDLXggKik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTM1Ij48Q09ERT5nbG9iLWV4cGFuZC13b3JkIChDLXggKik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTM2Ij48Q09ERT5nbG9iLWxpc3QtZXhwYW5zaW9ucyAoQy14IGcpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzNyI+PENPREU+Z2xvYi1saXN0LWV4cGFuc2lvbnMgKEMteCBnKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX0giPjwvQT5IPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MzIiPjxDT0RFPmhpc3RvcnktYW5kLWFsaWFzLWV4cGFuZC1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzMyI+PENPREU+aGlzdG9yeS1hbmQtYWxpYXMtZXhwYW5kLWxpbmUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTI2Ij48Q09ERT5oaXN0b3J5LWV4cGFuZC1saW5lIChNLV4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyNyI+PENPREU+aGlzdG9yeS1leHBhbmQtbGluZSAoTS1eKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzQiPjxDT0RFPmhpc3Rvcnktc2VhcmNoLWJhY2t3YXJkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzUiPjxDT0RFPmhpc3Rvcnktc2VhcmNoLWJhY2t3YXJkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzIiPjxDT0RFPmhpc3Rvcnktc2VhcmNoLWZvcndhcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3MyI+PENPREU+aGlzdG9yeS1zZWFyY2gtZm9yd2FyZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTQ4Ij48Q09ERT5oaXN0b3J5LWFuZC1hbGlhcy1leHBhbmQtbGluZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NDkiPjxDT0RFPmhpc3RvcnktYW5kLWFsaWFzLWV4cGFuZC1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDU0MiI+PENPREU+aGlzdG9yeS1leHBhbmQtbGluZSAoTS1eKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NDMiPjxDT0RFPmhpc3RvcnktZXhwYW5kLWxpbmUgKE0tXik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzkwIj48Q09ERT5oaXN0b3J5LXNlYXJjaC1iYWNrd2FyZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzkxIj48Q09ERT5oaXN0b3J5LXNlYXJjaC1iYWNrd2FyZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzg4Ij48Q09ERT5oaXN0b3J5LXNlYXJjaC1mb3J3YXJkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODkiPjxDT0RFPmhpc3Rvcnktc2VhcmNoLWZvcndhcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fSSI+PC9BPkk8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUwOCI+PENPREU+aW5zZXJ0LWNvbW1lbnQgKE0tIyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTA5Ij48Q09ERT5pbnNlcnQtY29tbWVudCAoTS0jKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NDQiPjxDT0RFPmluc2VydC1jb21wbGV0aW9ucyAoTS0qKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0NSI+PENPREU+aW5zZXJ0LWNvbXBsZXRpb25zIChNLSopPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTM0Ij48Q09ERT5pbnNlcnQtbGFzdC1hcmd1bWVudCAoTS0uIG9yIE0tXyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTM1Ij48Q09ERT5pbnNlcnQtbGFzdC1hcmd1bWVudCAoTS0uIG9yIE0tXyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTI0Ij48Q09ERT5pbnNlcnQtY29tbWVudCAoTS0jKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MjUiPjxDT0RFPmluc2VydC1jb21tZW50IChNLSMpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2MCI+PENPREU+aW5zZXJ0LWNvbXBsZXRpb25zIChNLSopPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDYxIj48Q09ERT5pbnNlcnQtY29tcGxldGlvbnMgKE0tKik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NTAiPjxDT0RFPmluc2VydC1sYXN0LWFyZ3VtZW50IChNLS4gb3IgTS1fKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NTEiPjxDT0RFPmluc2VydC1sYXN0LWFyZ3VtZW50IChNLS4gb3IgTS1fKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX0siPjwvQT5LPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDIiPjxDT0RFPmtpbGwtbGluZSAoQy1rKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDAzIj48Q09ERT5raWxsLWxpbmUgKEMtayk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyNCI+PENPREU+a2lsbC1yZWdpb24gKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyNSI+PENPREU+a2lsbC1yZWdpb24gKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwOCI+PENPREU+a2lsbC13aG9sZS1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDkiPjxDT0RFPmtpbGwtd2hvbGUtbGluZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDEwIj48Q09ERT5raWxsLXdvcmQgKE0tZCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxMSI+PENPREU+a2lsbC13b3JkIChNLWQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTgiPjxDT0RFPmtpbGwtbGluZSAoQy1rKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDE5Ij48Q09ERT5raWxsLWxpbmUgKEMtayk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0MCI+PENPREU+a2lsbC1yZWdpb24gKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0MSI+PENPREU+a2lsbC1yZWdpb24gKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyNCI+PENPREU+a2lsbC13aG9sZS1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MjUiPjxDT0RFPmtpbGwtd2hvbGUtbGluZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDI2Ij48Q09ERT5raWxsLXdvcmQgKE0tZCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyNyI+PENPREU+a2lsbC13b3JkIChNLWQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX00iPjwvQT5NPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MjgiPjxDT0RFPm1hZ2ljLXNwYWNlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyOSI+PENPREU+bWFnaWMtc3BhY2UgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ2Ij48Q09ERT5tZW51LWNvbXBsZXRlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ3Ij48Q09ERT5tZW51LWNvbXBsZXRlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ4Ij48Q09ERT5tZW51LWNvbXBsZXRlLWJhY2t3YXJkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQ5Ij48Q09ERT5tZW51LWNvbXBsZXRlLWJhY2t3YXJkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTQ0Ij48Q09ERT5tYWdpYy1zcGFjZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NDUiPjxDT0RFPm1hZ2ljLXNwYWNlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2MiI+PENPREU+bWVudS1jb21wbGV0ZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2MyI+PENPREU+bWVudS1jb21wbGV0ZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2NCI+PENPREU+bWVudS1jb21wbGV0ZS1iYWNrd2FyZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ2NSI+PENPREU+bWVudS1jb21wbGV0ZS1iYWNrd2FyZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fTiI+PC9BPk48L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM1OCI+PENPREU+bmV4dC1oaXN0b3J5IChDLW4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTkiPjxDT0RFPm5leHQtaGlzdG9yeSAoQy1uKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzcwIj48Q09ERT5ub24taW5jcmVtZW50YWwtZm9yd2FyZC1zZWFyY2gtaGlzdG9yeSAoTS1uKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzcxIj48Q09ERT5ub24taW5jcmVtZW50YWwtZm9yd2FyZC1zZWFyY2gtaGlzdG9yeSAoTS1uKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzY4Ij48Q09ERT5ub24taW5jcmVtZW50YWwtcmV2ZXJzZS1zZWFyY2gtaGlzdG9yeSAoTS1wKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzY5Ij48Q09ERT5ub24taW5jcmVtZW50YWwtcmV2ZXJzZS1zZWFyY2gtaGlzdG9yeSAoTS1wKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzc0Ij48Q09ERT5uZXh0LWhpc3RvcnkgKEMtbik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3NSI+PENPREU+bmV4dC1oaXN0b3J5IChDLW4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODYiPjxDT0RFPm5vbi1pbmNyZW1lbnRhbC1mb3J3YXJkLXNlYXJjaC1oaXN0b3J5IChNLW4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODciPjxDT0RFPm5vbi1pbmNyZW1lbnRhbC1mb3J3YXJkLXNlYXJjaC1oaXN0b3J5IChNLW4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODQiPjxDT0RFPm5vbi1pbmNyZW1lbnRhbC1yZXZlcnNlLXNlYXJjaC1oaXN0b3J5IChNLXApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODUiPjxDT0RFPm5vbi1pbmNyZW1lbnRhbC1yZXZlcnNlLXNlYXJjaC1oaXN0b3J5IChNLXApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX08iPjwvQT5PPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MzYiPjxDT0RFPm9wZXJhdGUtYW5kLWdldC1uZXh0IChDLW8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUzNyI+PENPREU+b3BlcmF0ZS1hbmQtZ2V0LW5leHQgKEMtbyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDAwIj48Q09ERT5vdmVyd3JpdGUtbW9kZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwMSI+PENPREU+b3ZlcndyaXRlLW1vZGUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NTIiPjxDT0RFPm9wZXJhdGUtYW5kLWdldC1uZXh0IChDLW8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDU1MyI+PENPREU+b3BlcmF0ZS1hbmQtZ2V0LW5leHQgKEMtbyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDE2Ij48Q09ERT5vdmVyd3JpdGUtbW9kZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxNyI+PENPREU+b3ZlcndyaXRlLW1vZGUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX1AiPjwvQT5QPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzAiPjxDT0RFPnBvc3NpYmxlLWNvbW1hbmQtY29tcGxldGlvbnMgKEMteCAhKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ3MSI+PENPREU+cG9zc2libGUtY29tbWFuZC1jb21wbGV0aW9ucyAoQy14ICEpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTMiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDQyIj48Q09ERT5wb3NzaWJsZS1jb21wbGV0aW9ucyAoTS0/KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0MyI+PENPREU+cG9zc2libGUtY29tcGxldGlvbnMgKE0tPyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NTQiPjxDT0RFPnBvc3NpYmxlLWZpbGVuYW1lLWNvbXBsZXRpb25zIChDLXggLyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NTUiPjxDT0RFPnBvc3NpYmxlLWZpbGVuYW1lLWNvbXBsZXRpb25zIChDLXggLyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NjYiPjxDT0RFPnBvc3NpYmxlLWhvc3RuYW1lLWNvbXBsZXRpb25zIChDLXggQCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NjciPjxDT0RFPnBvc3NpYmxlLWhvc3RuYW1lLWNvbXBsZXRpb25zIChDLXggQCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NTgiPjxDT0RFPnBvc3NpYmxlLXVzZXJuYW1lLWNvbXBsZXRpb25zIChDLXggfik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NTkiPjxDT0RFPnBvc3NpYmxlLXVzZXJuYW1lLWNvbXBsZXRpb25zIChDLXggfik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NjIiPjxDT0RFPnBvc3NpYmxlLXZhcmlhYmxlLWNvbXBsZXRpb25zIChDLXggJCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NjMiPjxDT0RFPnBvc3NpYmxlLXZhcmlhYmxlLWNvbXBsZXRpb25zIChDLXggJCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTAiPjxDT0RFPnByZWZpeC1tZXRhICg8S0JEPkVTQzwvS0JEPik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDkxIj48Q09ERT5wcmVmaXgtbWV0YSAoPEtCRD5FU0M8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM1NiI+PENPREU+cHJldmlvdXMtaGlzdG9yeSAoQy1wKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzU3Ij48Q09ERT5wcmV2aW91cy1oaXN0b3J5IChDLXApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODYiPjxDT0RFPnBvc3NpYmxlLWNvbW1hbmQtY29tcGxldGlvbnMgKEMteCAhKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ4NyI+PENPREU+cG9zc2libGUtY29tbWFuZC1jb21wbGV0aW9ucyAoQy14ICEpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC42IExldHRpbmcgUmVhZGxpbmUgVHlwZSBGb3IgWW91PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDU4Ij48Q09ERT5wb3NzaWJsZS1jb21wbGV0aW9ucyAoTS0/KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ1OSI+PENPREU+cG9zc2libGUtY29tcGxldGlvbnMgKE0tPyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzAiPjxDT0RFPnBvc3NpYmxlLWZpbGVuYW1lLWNvbXBsZXRpb25zIChDLXggLyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzEiPjxDT0RFPnBvc3NpYmxlLWZpbGVuYW1lLWNvbXBsZXRpb25zIChDLXggLyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODIiPjxDT0RFPnBvc3NpYmxlLWhvc3RuYW1lLWNvbXBsZXRpb25zIChDLXggQCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0ODMiPjxDT0RFPnBvc3NpYmxlLWhvc3RuYW1lLWNvbXBsZXRpb25zIChDLXggQCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzQiPjxDT0RFPnBvc3NpYmxlLXVzZXJuYW1lLWNvbXBsZXRpb25zIChDLXggfik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzUiPjxDT0RFPnBvc3NpYmxlLXVzZXJuYW1lLWNvbXBsZXRpb25zIChDLXggfik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzgiPjxDT0RFPnBvc3NpYmxlLXZhcmlhYmxlLWNvbXBsZXRpb25zIChDLXggJCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NzkiPjxDT0RFPnBvc3NpYmxlLXZhcmlhYmxlLWNvbXBsZXRpb25zIChDLXggJCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDYiPjxDT0RFPnByZWZpeC1tZXRhICg8S0JEPkVTQzwvS0JEPik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTA3Ij48Q09ERT5wcmVmaXgtbWV0YSAoPEtCRD5FU0M8L0tCRD4pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM3MiI+PENPREU+cHJldmlvdXMtaGlzdG9yeSAoQy1wKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzczIj48Q09ERT5wcmV2aW91cy1oaXN0b3J5IChDLXApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImZuX1EiPjwvQT5RPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODYiPjxDT0RFPnF1b3RlZC1pbnNlcnQgKEMtcSBvciBDLXYpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzg3Ij48Q09ERT5xdW90ZWQtaW5zZXJ0IChDLXEgb3IgQy12KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwMiI+PENPREU+cXVvdGVkLWluc2VydCAoQy1xIG9yIEMtdik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDMiPjxDT0RFPnF1b3RlZC1pbnNlcnQgKEMtcSBvciBDLXYpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJmbl9SIj48L0E+UjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDg0Ij48Q09ERT5yZS1yZWFkLWluaXQtZmlsZSAoQy14IEMtcik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDg1Ij48Q09ERT5yZS1yZWFkLWluaXQtZmlsZSAoQy14IEMtcik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzUyIj48Q09ERT5yZWRyYXctY3VycmVudC1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNTMiPjxDT0RFPnJlZHJhdy1jdXJyZW50LWxpbmUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM2NCI+PENPREU+cmV2ZXJzZS1zZWFyY2gtaGlzdG9yeSAoQy1yKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA5Ij44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzY1Ij48Q09ERT5yZXZlcnNlLXNlYXJjaC1oaXN0b3J5IChDLXIpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTQiPjxDT0RFPnJldmVydC1saW5lIChNLXIpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5NSI+PENPREU+cmV2ZXJ0LWxpbmUgKE0tcik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTAwIj48Q09ERT5yZS1yZWFkLWluaXQtZmlsZSAoQy14IEMtcik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTAxIj48Q09ERT5yZS1yZWFkLWluaXQtZmlsZSAoQy14IEMtcik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzY4Ij48Q09ERT5yZWRyYXctY3VycmVudC1saW5lICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjkiPjxDT0RFPnJlZHJhdy1jdXJyZW50LWxpbmUgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM4MCI+PENPREU+cmV2ZXJzZS1zZWFyY2gtaGlzdG9yeSAoQy1yKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzgxIj48Q09ERT5yZXZlcnNlLXNlYXJjaC1oaXN0b3J5IChDLXIpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTAiPjxDT0RFPnJldmVydC1saW5lIChNLXIpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUxMSI+PENPREU+cmV2ZXJ0LWxpbmUgKE0tcik8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJmbl9TIj48L0E+UzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzg4Ij48Q09ERT5zZWxmLWluc2VydCAoYSwgYiwgQSwgMSwgISwgJiM2MDtzbWFsbCYjNjI7Li4uJiM2MDsvc21hbGwmIzYyOyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzODkiPjxDT0RFPnNlbGYtaW5zZXJ0IChhLCBiLCBBLCAxLCAhLCAmIzYwO3NtYWxsJiM2MjsuLi4mIzYwOy9zbWFsbCYjNjI7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5OCI+PENPREU+c2V0LW1hcmsgKEMtQCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDk5Ij48Q09ERT5zZXQtbWFyayAoQy1AKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDgiPjxDT0RFPnNoZWxsLWJhY2t3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM0OSI+PENPREU+c2hlbGwtYmFja3dhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTI0Ij48Q09ERT5zaGVsbC1leHBhbmQtbGluZSAoTS1DLWUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyNSI+PENPREU+c2hlbGwtZXhwYW5kLWxpbmUgKE0tQy1lKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNDYiPjxDT0RFPnNoZWxsLWZvcndhcmQtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA4Ij44LjQuMSBDb21tYW5kcyBGb3IgTW92aW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzQ3Ij48Q09ERT5zaGVsbC1mb3J3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxNCI+PENPREU+c2hlbGwta2lsbC13b3JkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTUiPjxDT0RFPnNoZWxsLWtpbGwtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTA2Ij48Q09ERT5za2lwLWNzaS1zZXF1ZW5jZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDciPjxDT0RFPnNraXAtY3NpLXNlcXVlbmNlICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ3OCI+PENPREU+c3RhcnQta2JkLW1hY3JvIChDLXggKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjcgS2V5Ym9hcmQgTWFjcm9zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDc5Ij48Q09ERT5zdGFydC1rYmQtbWFjcm8gKEMteCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE0Ij44LjQuNyBLZXlib2FyZCBNYWNyb3M8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDQiPjxDT0RFPnNlbGYtaW5zZXJ0IChhLCBiLCBBLCAxLCAhLCAmIzYwO3NtYWxsJiM2MjsuLi4mIzYwOy9zbWFsbCYjNjI7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwNSI+PENPREU+c2VsZi1pbnNlcnQgKGEsIGIsIEEsIDEsICEsICYjNjA7c21hbGwmIzYyOy4uLiYjNjA7L3NtYWxsJiM2MjspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTE0Ij48Q09ERT5zZXQtbWFyayAoQy1AKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTUiPjxDT0RFPnNldC1tYXJrIChDLUApPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzMiI+PENPREU+c2hlbGwtYmFja3dhcmQta2lsbC13b3JkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MzMiPjxDT0RFPnNoZWxsLWJhY2t3YXJkLWtpbGwtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzY0Ij48Q09ERT5zaGVsbC1iYWNrd2FyZC13b3JkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNjUiPjxDT0RFPnNoZWxsLWJhY2t3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDU0MCI+PENPREU+c2hlbGwtZXhwYW5kLWxpbmUgKE0tQy1lKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NDEiPjxDT0RFPnNoZWxsLWV4cGFuZC1saW5lIChNLUMtZSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzYyIj48Q09ERT5zaGVsbC1mb3J3YXJkLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM2MyI+PENPREU+c2hlbGwtZm9yd2FyZC13b3JkICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4xIENvbW1hbmRzIEZvciBNb3Zpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MzAiPjxDT0RFPnNoZWxsLWtpbGwtd29yZCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDMxIj48Q09ERT5zaGVsbC1raWxsLXdvcmQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUyMiI+PENPREU+c2tpcC1jc2ktc2VxdWVuY2UgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNiI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTIzIj48Q09ERT5za2lwLWNzaS1zZXF1ZW5jZSAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTQiPjxDT0RFPnN0YXJ0LWtiZC1tYWNybyAoQy14ICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC43IEtleWJvYXJkIE1hY3JvczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ5NSI+PENPREU+c3RhcnQta2JkLW1hY3JvIChDLXggKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjcgS2V5Ym9hcmQgTWFjcm9zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJmbl9UIj48L0E+VDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDk2Ij48Q09ERT50aWxkZS1leHBhbmQgKE0tJiMzODsjMzg7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0OTciPjxDT0RFPnRpbGRlLWV4cGFuZCAoTS0mIzM4OyMzODspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTUiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM5MCI+PENPREU+dHJhbnNwb3NlLWNoYXJzIChDLXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzkxIj48Q09ERT50cmFuc3Bvc2UtY2hhcnMgKEMtdCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzOTIiPjxDT0RFPnRyYW5zcG9zZS13b3JkcyAoTS10KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM5MyI+PENPREU+dHJhbnNwb3NlLXdvcmRzIChNLXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTAiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTEyIj48Q09ERT50aWxkZS1leHBhbmQgKE0tJiMzODsjMzg7KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MTMiPjxDT0RFPnRpbGRlLWV4cGFuZCAoTS0mIzM4OyMzODspPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwNiI+PENPREU+dHJhbnNwb3NlLWNoYXJzIChDLXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDA3Ij48Q09ERT50cmFuc3Bvc2UtY2hhcnMgKEMtdCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDgiPjxDT0RFPnRyYW5zcG9zZS13b3JkcyAoTS10KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQwOSI+PENPREU+dHJhbnNwb3NlLXdvcmRzIChNLXQpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJmbl9VIj48L0E+VTwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDkyIj48Q09ERT51bmRvIChDLV8gb3IgQy14IEMtdSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDkzIj48Q09ERT51bmRvIChDLV8gb3IgQy14IEMtdSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjggU29tZSBNaXNjZWxsYW5lb3VzIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDM4Ij48Q09ERT51bml2ZXJzYWwtYXJndW1lbnQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjUgU3BlY2lmeWluZyBOdW1lcmljIEFyZ3VtZW50czwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzOSI+PENPREU+dW5pdmVyc2FsLWFyZ3VtZW50ICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPjguNC41IFNwZWNpZnlpbmcgTnVtZXJpYyBBcmd1bWVudHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MjAiPjxDT0RFPnVuaXgtZmlsZW5hbWUtcnVib3V0ICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MjEiPjxDT0RFPnVuaXgtZmlsZW5hbWUtcnVib3V0ICgpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDYiPjxDT0RFPnVuaXgtbGluZS1kaXNjYXJkIChDLXUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MDciPjxDT0RFPnVuaXgtbGluZS1kaXNjYXJkIChDLXUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTgiPjxDT0RFPnVuaXgtd29yZC1ydWJvdXQgKEMtdyk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMSI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQxOSI+PENPREU+dW5peC13b3JkLXJ1Ym91dCAoQy13KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk0Ij48Q09ERT51cGNhc2Utd29yZCAoTS11KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDM5NSI+PENPREU+dXBjYXNlLXdvcmQgKE0tdSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDgiPjxDT0RFPnVuZG8gKEMtXyBvciBDLXggQy11KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1MDkiPjxDT0RFPnVuZG8gKEMtXyBvciBDLXggQy11KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE2Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NTQiPjxDT0RFPnVuaXZlcnNhbC1hcmd1bWVudCAoKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNSBTcGVjaWZ5aW5nIE51bWVyaWMgQXJndW1lbnRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDU1Ij48Q09ERT51bml2ZXJzYWwtYXJndW1lbnQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMyI+OC40LjUgU3BlY2lmeWluZyBOdW1lcmljIEFyZ3VtZW50czwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzNiI+PENPREU+dW5peC1maWxlbmFtZS1ydWJvdXQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzNyI+PENPREU+dW5peC1maWxlbmFtZS1ydWJvdXQgKCk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyMiI+PENPREU+dW5peC1saW5lLWRpc2NhcmQgKEMtdSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQyMyI+PENPREU+dW5peC1saW5lLWRpc2NhcmQgKEMtdSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzNCI+PENPREU+dW5peC13b3JkLXJ1Ym91dCAoQy13KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDM1Ij48Q09ERT51bml4LXdvcmQtcnVib3V0IChDLXcpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTIiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MTAiPjxDT0RFPnVwY2FzZS13b3JkIChNLXUpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDExIj48Q09ERT51cGNhc2Utd29yZCAoTS11KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuMyBDb21tYW5kcyBGb3IgQ2hhbmdpbmcgVGV4dDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iZm5fWSI+PC9BPlk8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQzMiI+PENPREU+eWFuayAoQy15KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDMzIj48Q09ERT55YW5rIChDLXkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzgiPjxDT0RFPnlhbmstbGFzdC1hcmcgKE0tLiBvciBNLV8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzkiPjxDT0RFPnlhbmstbGFzdC1hcmcgKE0tLiBvciBNLV8pPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzYiPjxDT0RFPnlhbmstbnRoLWFyZyAoTS1DLXkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzNzciPjxDT0RFPnlhbmstbnRoLWFyZyAoTS1DLXkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDkiPjguNC4yIENvbW1hbmRzIEZvciBNYW5pcHVsYXRpbmcgVGhlIEhpc3Rvcnk8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MzQiPjxDT0RFPnlhbmstcG9wIChNLXkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0MzUiPjxDT0RFPnlhbmstcG9wIChNLXkpPC9DT0RFPjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC40IEtpbGxpbmcgQW5kIFlhbmtpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0NDgiPjxDT0RFPnlhbmsgKEMteSk8L0NPREU+PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMiI+OC40LjQgS2lsbGluZyBBbmQgWWFua2luZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDQ0OSI+PENPREU+eWFuayAoQy15KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk0Ij48Q09ERT55YW5rLWxhc3QtYXJnIChNLS4gb3IgTS1fKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzk1Ij48Q09ERT55YW5rLWxhc3QtYXJnIChNLS4gb3IgTS1fKTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzkyIj48Q09ERT55YW5rLW50aC1hcmcgKE0tQy15KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzkzIj48Q09ERT55YW5rLW50aC1hcmcgKE0tQy15KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEwIj44LjQuMiBDb21tYW5kcyBGb3IgTWFuaXB1bGF0aW5nIFRoZSBIaXN0b3J5PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDUwIj48Q09ERT55YW5rLXBvcCAoTS15KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNDUxIj48Q09ERT55YW5rLXBvcCAoTS15KTwvQ09ERT48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPC9UQUJMRT48UD48L1A+PHRhYmxlPjx0cj48dGggdmFsaWduPXRvcD5KdW1wIHRvOiAmbmJzcDsgPC90aD48dGQ+PEEgSFJFRj0iYmFzaHJlZi5odG1sI2ZuX0EiIHN0eWxlPSJ0ZXh0LWRlY29yYXRpb246bm9uZSI+PGI+QTwvYj48L0E+CiAgJm5ic3A7IApAQCAtMTUzOTcsMjAgKzE1NzIwLDIwIEBACiAKIDxBIE5BTUU9IkNvbmNlcHQgSW5kZXgiPjwvQT4KIDxIUiBTSVpFPSI2Ij4KLTxBIE5BTUU9IlNFQzE0NSI+PC9BPgorPEEgTkFNRT0iU0VDMTQ2Ij48L0E+CiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgotPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQ0Ij4gJmx0OyA8L0E+XTwvVEQ+Cis8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDUiPiAmbHQ7IDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPlsgJmd0OyBdPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WyAmbHQ7Jmx0OyBdPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj4gVXAgPC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPiBVcCA8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bICZndDsmZ3Q7IF08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj4gJm5ic3A7IDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPiAmbmJzcDsgPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+ICZuYnNwOyA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDI+IEQuNSBDb25jZXB0IEluZGV4IDwvSDI+Ci08IS0tZG9jaWQ6OlNFQzE0NTo6LS0+Cis8IS0tZG9jaWQ6OlNFQzE0Njo6LS0+CiA8dGFibGU+PHRyPjx0aCB2YWxpZ249dG9wPkp1bXAgdG86ICZuYnNwOyA8L3RoPjx0ZD48QSBIUkVGPSJiYXNocmVmLmh0bWwjY3BfQSIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Yj5BPC9iPjwvQT4KICAmbmJzcDsgCiA8QSBIUkVGPSJiYXNocmVmLmh0bWwjY3BfQiIgc3R5bGU9InRleHQtZGVjb3JhdGlvbjpub25lIj48Yj5CPC9iPjwvQT4KQEAgLTE1NDYwLDI3ICsxNTc4MywyNyBAQAogPFRSPjxURD48L1REPjxUSCBBTElHTj1MRUZUPkluZGV4IEVudHJ5PC9USD48VEggQUxJR049TEVGVD4gU2VjdGlvbjwvVEg+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9BIj48L0E+QTwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODQiPmFsaWFzIGV4cGFuc2lvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni42IEFsaWFzZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+YXJpdGhtZXRpYyBldmFsdWF0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj42LjUgU2hlbGwgQXJpdGhtZXRpYzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMzIj5hcml0aG1ldGljIGV4cGFuc2lvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMyI+My41LjUgQXJpdGhtZXRpYyBFeHBhbnNpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+YXJpdGhtZXRpYywgc2hlbGw8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPjYuNSBTaGVsbCBBcml0aG1ldGljPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPmFycmF5czwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NSI+Ni43IEFycmF5czwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg1Ij5hbGlhcyBleHBhbnNpb248L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPjYuNiBBbGlhc2VzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODQiPmFyaXRobWV0aWMgZXZhbHVhdGlvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni41IFNoZWxsIEFyaXRobWV0aWM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNCI+YXJpdGhtZXRpYyBleHBhbnNpb248L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzQiPjMuNS41IEFyaXRobWV0aWMgRXhwYW5zaW9uPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODQiPmFyaXRobWV0aWMsIHNoZWxsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij42LjUgU2hlbGwgQXJpdGhtZXRpYzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg2Ij5hcnJheXM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODYiPjYuNyBBcnJheXM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImNwX0IiPjwvQT5CPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+YmFja2dyb3VuZDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+Ny4xIEpvYiBDb250cm9sIEJhc2ljczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+QmFzaCBjb25maWd1cmF0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+MTAuMSBCYXNpYyBJbnN0YWxsYXRpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjciPkJhc2ggaW5zdGFsbGF0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+MTAuMSBCYXNpYyBJbnN0YWxsYXRpb248L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+YmFja2dyb3VuZDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+Ny4xIEpvYiBDb250cm9sIEJhc2ljczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyOCI+QmFzaCBjb25maWd1cmF0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyOCI+MTAuMSBCYXNpYyBJbnN0YWxsYXRpb248L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjgiPkJhc2ggaW5zdGFsbGF0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyOCI+MTAuMSBCYXNpYyBJbnN0YWxsYXRpb248L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1Ij5Cb3VybmUgc2hlbGw8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNSI+My4gQmFzaWMgU2hlbGwgRmVhdHVyZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+YnJhY2UgZXhwYW5zaW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI5Ij4zLjUuMSBCcmFjZSBFeHBhbnNpb248L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMCI+YnJhY2UgZXhwYW5zaW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMwIj4zLjUuMSBCcmFjZSBFeHBhbnNpb248L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyIj5idWlsdGluPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQiPjIuIERlZmluaXRpb25zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9DIj48L0E+QzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTgiPmNvbW1hbmQgZWRpdGluZzwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5OCI+OC4yLjEgUmVhZGxpbmUgQmFyZSBFc3NlbnRpYWxzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTIiPmNvbW1hbmQgZXhlY3V0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUyIj4zLjcuMiBDb21tYW5kIFNlYXJjaCBhbmQgRXhlY3V0aW9uPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTEiPmNvbW1hbmQgZXhwYW5zaW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUxIj4zLjcuMSBTaW1wbGUgQ29tbWFuZCBFeHBhbnNpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPmNvbW1hbmQgaGlzdG9yeTwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPjkuMSBCYXNoIEhpc3RvcnkgRmFjaWxpdGllczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUyIj5jb21tYW5kIHNlYXJjaDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MiI+My43LjIgQ29tbWFuZCBTZWFyY2ggYW5kIEV4ZWN1dGlvbjwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMyIj5jb21tYW5kIHN1YnN0aXR1dGlvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+My41LjQgQ29tbWFuZCBTdWJzdGl0dXRpb248L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5OSI+Y29tbWFuZCBlZGl0aW5nPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk5Ij44LjIuMSBSZWFkbGluZSBCYXJlIEVzc2VudGlhbHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MyI+Y29tbWFuZCBleGVjdXRpb248L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTMiPjMuNy4yIENvbW1hbmQgU2VhcmNoIGFuZCBFeGVjdXRpb248L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MiI+Y29tbWFuZCBleHBhbnNpb248L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTIiPjMuNy4xIFNpbXBsZSBDb21tYW5kIEV4cGFuc2lvbjwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+Y29tbWFuZCBoaXN0b3J5PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4xIEJhc2ggSGlzdG9yeSBGYWNpbGl0aWVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTMiPmNvbW1hbmQgc2VhcmNoPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUzIj4zLjcuMiBDb21tYW5kIFNlYXJjaCBhbmQgRXhlY3V0aW9uPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzMiPmNvbW1hbmQgc3Vic3RpdHV0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMzIj4zLjUuNCBDb21tYW5kIFN1YnN0aXR1dGlvbjwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDI2Ij5jb21tYW5kIHRpbWluZzwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNyI+My4yLjIgUGlwZWxpbmVzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTkiPmNvbW1hbmRzLCBjb21wb3VuZDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxOSI+My4yLjQgQ29tcG91bmQgQ29tbWFuZHM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyMSI+Y29tbWFuZHMsIGNvbmRpdGlvbmFsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzIxIj4zLjIuNC4yIENvbmRpdGlvbmFsIENvbnN0cnVjdHM8L0E+PC9URD48L1RSPgpAQCAtMTU0OTEsMTM1ICsxNTgxNCwxMzUgQEAKIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTUiPmNvbW1hbmRzLCBzaGVsbDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNSI+My4yIFNoZWxsIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTYiPmNvbW1hbmRzLCBzaW1wbGU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTYiPjMuMi4xIFNpbXBsZSBDb21tYW5kczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0Ij5jb21tZW50cywgc2hlbGw8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQiPjMuMS4zIENvbW1lbnRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij5jb21wbGV0aW9uIGJ1aWx0aW5zPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOCI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI3Ij5jb25maWd1cmF0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+MTAuMSBCYXNpYyBJbnN0YWxsYXRpb248L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTkiPmNvbXBsZXRpb24gYnVpbHRpbnM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE5Ij44LjcgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb24gQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjgiPmNvbmZpZ3VyYXRpb248L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI4Ij4xMC4xIEJhc2ljIEluc3RhbGxhdGlvbjwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMiPmNvbnRyb2wgb3BlcmF0b3I8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+Mi4gRGVmaW5pdGlvbnM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyMyI+Y29wcm9jZXNzPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzIzIj4zLjIuNSBDb3Byb2Nlc3NlczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfRCI+PC9BPkQ8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg2Ij5kaXJlY3Rvcnkgc3RhY2s8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODYiPjYuOCBUaGUgRGlyZWN0b3J5IFN0YWNrPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPmRpcmVjdG9yeSBzdGFjazwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NyI+Ni44IFRoZSBEaXJlY3RvcnkgU3RhY2s8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImNwX0UiPjwvQT5FPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5OCI+ZWRpdGluZyBjb21tYW5kIGxpbmVzPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk4Ij44LjIuMSBSZWFkbGluZSBCYXJlIEVzc2VudGlhbHM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NCI+ZW52aXJvbm1lbnQ8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTQiPjMuNy40IEVudmlyb25tZW50PC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPmV2YWx1YXRpb24sIGFyaXRobWV0aWM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPjYuNSBTaGVsbCBBcml0aG1ldGljPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIzIj5ldmVudCBkZXNpZ25hdG9yczwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjMiPjkuMy4xIEV2ZW50IERlc2lnbmF0b3JzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTMiPmV4ZWN1dGlvbiBlbnZpcm9ubWVudDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MyI+My43LjMgQ29tbWFuZCBFeGVjdXRpb24gRW52aXJvbm1lbnQ8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5OSI+ZWRpdGluZyBjb21tYW5kIGxpbmVzPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk5Ij44LjIuMSBSZWFkbGluZSBCYXJlIEVzc2VudGlhbHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NSI+ZW52aXJvbm1lbnQ8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTUiPjMuNy40IEVudmlyb25tZW50PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODQiPmV2YWx1YXRpb24sIGFyaXRobWV0aWM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODQiPjYuNSBTaGVsbCBBcml0aG1ldGljPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI0Ij5ldmVudCBkZXNpZ25hdG9yczwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjQiPjkuMy4xIEV2ZW50IERlc2lnbmF0b3JzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTQiPmV4ZWN1dGlvbiBlbnZpcm9ubWVudDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NCI+My43LjMgQ29tbWFuZCBFeGVjdXRpb24gRW52aXJvbm1lbnQ8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg0Ij5leGl0IHN0YXR1czwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0Ij4yLiBEZWZpbml0aW9uczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU1Ij5leGl0IHN0YXR1czwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NSI+My43LjUgRXhpdCBTdGF0dXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOCI+ZXhwYW5zaW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4zLjUgU2hlbGwgRXhwYW5zaW9uczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMzIj5leHBhbnNpb24sIGFyaXRobWV0aWM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzMiPjMuNS41IEFyaXRobWV0aWMgRXhwYW5zaW9uPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjkiPmV4cGFuc2lvbiwgYnJhY2U8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjkiPjMuNS4xIEJyYWNlIEV4cGFuc2lvbjwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDY0Ij5leHBhbnNpb24sIGZpbGVuYW1lPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM2Ij4zLjUuOCBGaWxlbmFtZSBFeHBhbnNpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+ZXhwYW5zaW9uLCBwYXJhbWV0ZXI8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzEiPjMuNS4zIFNoZWxsIFBhcmFtZXRlciBFeHBhbnNpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg2NSI+ZXhwYW5zaW9uLCBwYXRobmFtZTwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNiI+My41LjggRmlsZW5hbWUgRXhwYW5zaW9uPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzAiPmV4cGFuc2lvbiwgdGlsZGU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzAiPjMuNS4yIFRpbGRlIEV4cGFuc2lvbjwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj5leHByZXNzaW9ucywgYXJpdGhtZXRpYzwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+Ni41IFNoZWxsIEFyaXRobWV0aWM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+ZXhwcmVzc2lvbnMsIGNvbmRpdGlvbmFsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgyIj42LjQgQmFzaCBDb25kaXRpb25hbCBFeHByZXNzaW9uczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU2Ij5leGl0IHN0YXR1czwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NiI+My43LjUgRXhpdCBTdGF0dXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+ZXhwYW5zaW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI5Ij4zLjUgU2hlbGwgRXhwYW5zaW9uczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM0Ij5leHBhbnNpb24sIGFyaXRobWV0aWM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzQiPjMuNS41IEFyaXRobWV0aWMgRXhwYW5zaW9uPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzAiPmV4cGFuc2lvbiwgYnJhY2U8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzAiPjMuNS4xIEJyYWNlIEV4cGFuc2lvbjwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDY0Ij5leHBhbnNpb24sIGZpbGVuYW1lPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM3Ij4zLjUuOCBGaWxlbmFtZSBFeHBhbnNpb248L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMiI+ZXhwYW5zaW9uLCBwYXJhbWV0ZXI8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzIiPjMuNS4zIFNoZWxsIFBhcmFtZXRlciBFeHBhbnNpb248L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg2NSI+ZXhwYW5zaW9uLCBwYXRobmFtZTwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+My41LjggRmlsZW5hbWUgRXhwYW5zaW9uPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzEiPmV4cGFuc2lvbiwgdGlsZGU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzEiPjMuNS4yIFRpbGRlIEV4cGFuc2lvbjwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij5leHByZXNzaW9ucywgYXJpdGhtZXRpYzwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni41IFNoZWxsIEFyaXRobWV0aWM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MyI+ZXhwcmVzc2lvbnMsIGNvbmRpdGlvbmFsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj42LjQgQmFzaCBDb25kaXRpb25hbCBFeHByZXNzaW9uczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfRiI+PC9BPkY8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDUiPmZpZWxkPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQiPjIuIERlZmluaXRpb25zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNiI+ZmlsZW5hbWU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+Mi4gRGVmaW5pdGlvbnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg2NiI+ZmlsZW5hbWUgZXhwYW5zaW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM2Ij4zLjUuOCBGaWxlbmFtZSBFeHBhbnNpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+Zm9yZWdyb3VuZDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+Ny4xIEpvYiBDb250cm9sIEJhc2ljczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI0Ij5mdW5jdGlvbnMsIHNoZWxsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI0Ij4zLjMgU2hlbGwgRnVuY3Rpb25zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNjYiPmZpbGVuYW1lIGV4cGFuc2lvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+My41LjggRmlsZW5hbWUgRXhwYW5zaW9uPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPmZvcmVncm91bmQ8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMSBKb2IgQ29udHJvbCBCYXNpY3M8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+ZnVuY3Rpb25zLCBzaGVsbDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+My4zIFNoZWxsIEZ1bmN0aW9uczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfSCI+PC9BPkg8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+aGlzdG9yeSBidWlsdGluczwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjEiPjkuMiBCYXNoIEhpc3RvcnkgQnVpbHRpbnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NDYiPmhpc3RvcnkgZXZlbnRzPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMyI+OS4zLjEgRXZlbnQgRGVzaWduYXRvcnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPmhpc3RvcnkgZXhwYW5zaW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMiI+OS4zIEhpc3RvcnkgRXhwYW5zaW9uPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIwIj5oaXN0b3J5IGxpc3Q8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIwIj45LjEgQmFzaCBIaXN0b3J5IEZhY2lsaXRpZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg1NDMiPkhpc3RvcnksIGhvdyB0byB1c2U8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij44LjcgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb24gQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjIiPmhpc3RvcnkgYnVpbHRpbnM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj45LjIgQmFzaCBIaXN0b3J5IEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTYyIj5oaXN0b3J5IGV2ZW50czwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjQiPjkuMy4xIEV2ZW50IERlc2lnbmF0b3JzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIzIj5oaXN0b3J5IGV4cGFuc2lvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjMiPjkuMyBIaXN0b3J5IEV4cGFuc2lvbjwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+aGlzdG9yeSBsaXN0PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4xIEJhc2ggSGlzdG9yeSBGYWNpbGl0aWVzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNTU5Ij5IaXN0b3J5LCBob3cgdG8gdXNlPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9JIj48L0E+STwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTEiPmlkZW50aWZpZXI8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+Mi4gRGVmaW5pdGlvbnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDMiPmluaXRpYWxpemF0aW9uIGZpbGUsIHJlYWRsaW5lPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMyI+OC4zIFJlYWRsaW5lIEluaXQgRmlsZTwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+aW5zdGFsbGF0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyNyI+MTAuMSBCYXNpYyBJbnN0YWxsYXRpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NyI+aW50ZXJhY3Rpb24sIHJlYWRsaW5lPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk3Ij44LjIgUmVhZGxpbmUgSW50ZXJhY3Rpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODkiPmludGVyYWN0aXZlIHNoZWxsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij42LjEgSW52b2tpbmcgQmFzaDwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzc4Ij5pbnRlcmFjdGl2ZSBzaGVsbDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OCI+Ni4zIEludGVyYWN0aXZlIFNoZWxsczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+aW5pdGlhbGl6YXRpb24gZmlsZSwgcmVhZGxpbmU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMgUmVhZGxpbmUgSW5pdCBGaWxlPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI4Ij5pbnN0YWxsYXRpb248L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI4Ij4xMC4xIEJhc2ljIEluc3RhbGxhdGlvbjwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk4Ij5pbnRlcmFjdGlvbiwgcmVhZGxpbmU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTgiPjguMiBSZWFkbGluZSBJbnRlcmFjdGlvbjwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwMSI+aW50ZXJhY3RpdmUgc2hlbGw8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzAiPjYuMSBJbnZva2luZyBCYXNoPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzkiPmludGVyYWN0aXZlIHNoZWxsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzc5Ij42LjMgSW50ZXJhY3RpdmUgU2hlbGxzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMiPmludGVybmF0aW9uYWxpemF0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzIj4zLjEuMi41IExvY2FsZS1TcGVjaWZpYyBUcmFuc2xhdGlvbjwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfSiI+PC9BPko8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDciPmpvYjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0Ij4yLiBEZWZpbml0aW9uczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDgiPmpvYiBjb250cm9sPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQiPjIuIERlZmluaXRpb25zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTIiPmpvYiBjb250cm9sPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj43LjEgSm9iIENvbnRyb2wgQmFzaWNzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPmpvYiBjb250cm9sPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkzIj43LjEgSm9iIENvbnRyb2wgQmFzaWNzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9LIj48L0E+SzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzA1Ij5raWxsIHJpbmc8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAwIj44LjIuMyBSZWFkbGluZSBLaWxsaW5nIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzAzIj5raWxsaW5nIHRleHQ8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAwIj44LjIuMyBSZWFkbGluZSBLaWxsaW5nIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzE3Ij5raWxsIHJpbmc8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAxIj44LjIuMyBSZWFkbGluZSBLaWxsaW5nIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzE1Ij5raWxsaW5nIHRleHQ8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAxIj44LjIuMyBSZWFkbGluZSBLaWxsaW5nIENvbW1hbmRzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9MIj48L0E+TDwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMiPmxvY2FsaXphdGlvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMyI+My4xLjIuNSBMb2NhbGUtU3BlY2lmaWMgVHJhbnNsYXRpb248L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgyODgiPmxvZ2luIHNoZWxsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij42LjEgSW52b2tpbmcgQmFzaDwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwMCI+bG9naW4gc2hlbGw8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzAiPjYuMSBJbnZva2luZyBCYXNoPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9NIj48L0E+TTwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPm1hdGNoaW5nLCBwYXR0ZXJuPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM3Ij4zLjUuOC4xIFBhdHRlcm4gTWF0Y2hpbmc8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOCI+bWF0Y2hpbmcsIHBhdHRlcm48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzgiPjMuNS44LjEgUGF0dGVybiBNYXRjaGluZzwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDkiPm1ldGFjaGFyYWN0ZXI8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+Mi4gRGVmaW5pdGlvbnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImNwX04iPjwvQT5OPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxMCI+bmFtZTwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0Ij4yLiBEZWZpbml0aW9uczwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzIj5uYXRpdmUgbGFuZ3VhZ2VzPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzIj4zLjEuMi41IExvY2FsZS1TcGVjaWZpYyBUcmFuc2xhdGlvbjwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk4Ij5ub3RhdGlvbiwgcmVhZGxpbmU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTgiPjguMi4xIFJlYWRsaW5lIEJhcmUgRXNzZW50aWFsczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk5Ij5ub3RhdGlvbiwgcmVhZGxpbmU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTkiPjguMi4xIFJlYWRsaW5lIEJhcmUgRXNzZW50aWFsczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfTyI+PC9BPk88L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEyIj5vcGVyYXRvciwgc2hlbGw8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+Mi4gRGVmaW5pdGlvbnM8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImNwX1AiPjwvQT5QPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+cGFyYW1ldGVyIGV4cGFuc2lvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI1Ij5wYXJhbWV0ZXJzPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI1Ij4zLjQgU2hlbGwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI2Ij5wYXJhbWV0ZXJzLCBwb3NpdGlvbmFsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI2Ij4zLjQuMSBQb3NpdGlvbmFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNyI+cGFyYW1ldGVycywgc3BlY2lhbDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNyI+My40LjIgU3BlY2lhbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYNjciPnBhdGhuYW1lIGV4cGFuc2lvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNiI+My41LjggRmlsZW5hbWUgRXhwYW5zaW9uPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPnBhdHRlcm4gbWF0Y2hpbmc8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzciPjMuNS44LjEgUGF0dGVybiBNYXRjaGluZzwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMyIj5wYXJhbWV0ZXIgZXhwYW5zaW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMyIj4zLjUuMyBTaGVsbCBQYXJhbWV0ZXIgRXhwYW5zaW9uPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjYiPnBhcmFtZXRlcnM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjYiPjMuNCBTaGVsbCBQYXJhbWV0ZXJzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPnBhcmFtZXRlcnMsIHBvc2l0aW9uYWw8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4xIFBvc2l0aW9uYWwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij5wYXJhbWV0ZXJzLCBzcGVjaWFsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4zLjQuMiBTcGVjaWFsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFg2NyI+cGF0aG5hbWUgZXhwYW5zaW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM3Ij4zLjUuOCBGaWxlbmFtZSBFeHBhbnNpb248L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOCI+cGF0dGVybiBtYXRjaGluZzwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOCI+My41LjguMSBQYXR0ZXJuIE1hdGNoaW5nPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTciPnBpcGVsaW5lPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE3Ij4zLjIuMiBQaXBlbGluZXM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxIj5QT1NJWDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0Ij4yLiBEZWZpbml0aW9uczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj5QT1NJWCBNb2RlPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkwIj42LjExIEJhc2ggUE9TSVggTW9kZTwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj5QT1NJWCBNb2RlPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkxIj42LjExIEJhc2ggUE9TSVggTW9kZTwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDEzIj5wcm9jZXNzIGdyb3VwPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQiPjIuIERlZmluaXRpb25zPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTQiPnByb2Nlc3MgZ3JvdXAgSUQ8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+Mi4gRGVmaW5pdGlvbnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNCI+cHJvY2VzcyBzdWJzdGl0dXRpb248L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzQiPjMuNS42IFByb2Nlc3MgU3Vic3RpdHV0aW9uPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE3Ij5wcm9ncmFtbWFibGUgY29tcGxldGlvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTciPjguNiBQcm9ncmFtbWFibGUgQ29tcGxldGlvbjwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg4Ij5wcm9tcHRpbmc8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODgiPjYuOSBDb250cm9sbGluZyB0aGUgUHJvbXB0PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzUiPnByb2Nlc3Mgc3Vic3RpdHV0aW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM1Ij4zLjUuNiBQcm9jZXNzIFN1YnN0aXR1dGlvbjwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOCI+cHJvZ3JhbW1hYmxlIGNvbXBsZXRpb248L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij44LjYgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb248L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OSI+cHJvbXB0aW5nPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij42LjkgQ29udHJvbGxpbmcgdGhlIFByb21wdDwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfUSI+PC9BPlE8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgiPnF1b3Rpbmc8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOCI+My4xLjIgUXVvdGluZzwvQT48L1REPjwvVFI+CiA8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyIj5xdW90aW5nLCBBTlNJPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyIj4zLjEuMi40IEFOU0ktQyBRdW90aW5nPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9SIj48L0E+UjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMzAyIj5SZWFkbGluZSwgaG93IHRvIHVzZTwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NCI+Ny4zIEpvYiBDb250cm9sIFZhcmlhYmxlczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij5yZWRpcmVjdGlvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOSI+My42IFJlZGlyZWN0aW9uczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxNCI+UmVhZGxpbmUsIGhvdyB0byB1c2U8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPjcuMyBKb2IgQ29udHJvbCBWYXJpYWJsZXM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+cmVkaXJlY3Rpb248L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDAiPjMuNiBSZWRpcmVjdGlvbnM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNSI+cmVzZXJ2ZWQgd29yZDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0Ij4yLiBEZWZpbml0aW9uczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij5yZXN0cmljdGVkIHNoZWxsPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij42LjEwIFRoZSBSZXN0cmljdGVkIFNoZWxsPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTAiPnJlc3RyaWN0ZWQgc2hlbGw8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTAiPjYuMTAgVGhlIFJlc3RyaWN0ZWQgU2hlbGw8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxNiI+cmV0dXJuIHN0YXR1czwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0Ij4yLiBEZWZpbml0aW9uczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfUyI+PC9BPlM8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj5zaGVsbCBhcml0aG1ldGljPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj42LjUgU2hlbGwgQXJpdGhtZXRpYzwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI0Ij5zaGVsbCBmdW5jdGlvbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNCI+My4zIFNoZWxsIEZ1bmN0aW9uczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU3Ij5zaGVsbCBzY3JpcHQ8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTciPjMuOCBTaGVsbCBTY3JpcHRzPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPnNoZWxsIHZhcmlhYmxlPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI1Ij4zLjQgU2hlbGwgUGFyYW1ldGVyczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzc4Ij5zaGVsbCwgaW50ZXJhY3RpdmU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzgiPjYuMyBJbnRlcmFjdGl2ZSBTaGVsbHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+c2hlbGwgYXJpdGhtZXRpYzwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni41IFNoZWxsIEFyaXRobWV0aWM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+c2hlbGwgZnVuY3Rpb248L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPjMuMyBTaGVsbCBGdW5jdGlvbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OCI+c2hlbGwgc2NyaXB0PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4zLjggU2hlbGwgU2NyaXB0czwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI2Ij5zaGVsbCB2YXJpYWJsZTwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNiI+My40IFNoZWxsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OSI+c2hlbGwsIGludGVyYWN0aXZlPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzc5Ij42LjMgSW50ZXJhY3RpdmUgU2hlbGxzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTciPnNpZ25hbDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0Ij4yLiBEZWZpbml0aW9uczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU2Ij5zaWduYWwgaGFuZGxpbmc8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTYiPjMuNy42IFNpZ25hbHM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+c2lnbmFsIGhhbmRsaW5nPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU3Ij4zLjcuNiBTaWduYWxzPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMTgiPnNwZWNpYWwgYnVpbHRpbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0Ij4yLiBEZWZpbml0aW9uczwvQT48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY0Ij5zcGVjaWFsIGJ1aWx0aW48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjQiPjQuNCBTcGVjaWFsIEJ1aWx0aW5zPC9BPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzAiPnN0YXJ0dXAgZmlsZXM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzAiPjYuMiBCYXNoIFN0YXJ0dXAgRmlsZXM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MiI+c3VzcGVuZGluZyBqb2JzPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj43LjEgSm9iIENvbnRyb2wgQmFzaWNzPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjUiPnNwZWNpYWwgYnVpbHRpbjwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NSI+NC40IFNwZWNpYWwgQnVpbHRpbnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MSI+c3RhcnR1cCBmaWxlczwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3MSI+Ni4yIEJhc2ggU3RhcnR1cCBGaWxlczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkzIj5zdXNwZW5kaW5nIGpvYnM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTMiPjcuMSBKb2IgQ29udHJvbCBCYXNpY3M8L0E+PC9URD48L1RSPgogPFRSPjxURCBDT0xTUEFOPTM+IDxIUj48L1REPjwvVFI+CiA8VFI+PFRIPjxBIE5BTUU9ImNwX1QiPjwvQT5UPC9USD48VEQ+PC9URD48VEQ+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMCI+dGlsZGUgZXhwYW5zaW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMwIj4zLjUuMiBUaWxkZSBFeHBhbnNpb248L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+dGlsZGUgZXhwYW5zaW9uPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMxIj4zLjUuMiBUaWxkZSBFeHBhbnNpb248L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgxOSI+dG9rZW48L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+Mi4gRGVmaW5pdGlvbnM8L0E+PC9URD48L1RSPgogPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMyI+dHJhbnNsYXRpb24sIG5hdGl2ZSBsYW5ndWFnZXM8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMiPjMuMS4yLjUgTG9jYWxlLVNwZWNpZmljIFRyYW5zbGF0aW9uPC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9WIj48L0E+VjwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KLTxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPnZhcmlhYmxlLCBzaGVsbDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNSI+My40IFNoZWxsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMDYiPnZhcmlhYmxlcywgcmVhZGxpbmU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA0Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjYiPnZhcmlhYmxlLCBzaGVsbDwvQT48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNiI+My40IFNoZWxsIFBhcmFtZXRlcnM8L0E+PC9URD48L1RSPgorPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNJRFgzMTgiPnZhcmlhYmxlcywgcmVhZGxpbmU8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA1Ij44LjMuMSBSZWFkbGluZSBJbml0IEZpbGUgU3ludGF4PC9BPjwvVEQ+PC9UUj4KIDxUUj48VEQgQ09MU1BBTj0zPiA8SFI+PC9URD48L1RSPgogPFRSPjxUSD48QSBOQU1FPSJjcF9XIj48L0E+VzwvVEg+PFREPjwvVEQ+PFREPjwvVEQ+PC9UUj4KIDxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjSURYMjAiPndvcmQ8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNCI+Mi4gRGVmaW5pdGlvbnM8L0E+PC9URD48L1RSPgotPFRSPjxURD48L1REPjxURCB2YWxpZ249dG9wPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNSI+d29yZCBzcGxpdHRpbmc8L0E+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzUiPjMuNS43IFdvcmQgU3BsaXR0aW5nPC9BPjwvVEQ+PC9UUj4KKzxUUj48VEQ+PC9URD48VEQgdmFsaWduPXRvcD48QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzYiPndvcmQgc3BsaXR0aW5nPC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM2Ij4zLjUuNyBXb3JkIFNwbGl0dGluZzwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDxUUj48VEg+PEEgTkFNRT0iY3BfWSI+PC9BPlk8L1RIPjxURD48L1REPjxURD48L1REPjwvVFI+Ci08VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMwNCI+eWFua2luZyB0ZXh0PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMCI+OC4yLjMgUmVhZGxpbmUgS2lsbGluZyBDb21tYW5kczwvQT48L1REPjwvVFI+Cis8VFI+PFREPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI0lEWDMxNiI+eWFua2luZyB0ZXh0PC9BPjwvVEQ+PFREIHZhbGlnbj10b3A+PEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMSI+OC4yLjMgUmVhZGxpbmUgS2lsbGluZyBDb21tYW5kczwvQT48L1REPjwvVFI+CiA8VFI+PFREIENPTFNQQU49Mz4gPEhSPjwvVEQ+PC9UUj4KIDwvVEFCTEU+PFA+PC9QPjx0YWJsZT48dHI+PHRoIHZhbGlnbj10b3A+SnVtcCB0bzogJm5ic3A7IDwvdGg+PHRkPjxBIEhSRUY9ImJhc2hyZWYuaHRtbCNjcF9BIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOm5vbmUiPjxiPkE8L2I+PC9BPgogICZuYnNwOyAKQEAgLTE1NjcyLDcgKzE1OTk1LDcgQEAKIDxUQUJMRSBDRUxMUEFERElORz0xIENFTExTUEFDSU5HPTEgQk9SREVSPTA+CiA8VFI+PFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfVG9wIj5Ub3A8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Db250ZW50cyI+Q29udGVudHM8L0E+XTwvVEQ+Ci08VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+SW5kZXg8L0E+XTwvVEQ+Cis8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+SW5kZXg8L0E+XTwvVEQ+CiA8VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19BYm91dCI+ID8gPC9BPl08L1REPgogPC9UUj48L1RBQkxFPgogPEgxPlRhYmxlIG9mIENvbnRlbnRzPC9IMT4KQEAgLTE1NzMzLDI3NiArMTYwNTYsMjc4IEBACiA8L1VMPgogPEEgTkFNRT0iVE9DMjMiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyMyI+My4yLjUgQ29wcm9jZXNzZXM8L0E+CiA8QlI+Ci08L1VMPgotPEEgTkFNRT0iVE9DMjQiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyNCI+My4zIFNoZWxsIEZ1bmN0aW9uczwvQT4KKzxBIE5BTUU9IlRPQzI0IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjQiPjMuMi42IEdOVSBQYXJhbGxlbDwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzI1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPjMuNCBTaGVsbCBQYXJhbWV0ZXJzPC9BPgorPC9VTD4KKzxBIE5BTUU9IlRPQzI1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjUiPjMuMyBTaGVsbCBGdW5jdGlvbnM8L0E+Cis8QlI+Cis8QSBOQU1FPSJUT0MyNiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI2Ij4zLjQgU2hlbGwgUGFyYW1ldGVyczwvQT4KIDxCUj4KIDxVTD4KLTxBIE5BTUU9IlRPQzI2IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjYiPjMuNC4xIFBvc2l0aW9uYWwgUGFyYW1ldGVyczwvQT4KKzxBIE5BTUU9IlRPQzI3IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4xIFBvc2l0aW9uYWwgUGFyYW1ldGVyczwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzI3IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjciPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT4KKzxBIE5BTUU9IlRPQzI4IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjgiPjMuNC4yIFNwZWNpYWwgUGFyYW1ldGVyczwvQT4KIDxCUj4KIDwvVUw+Ci08QSBOQU1FPSJUT0MyOCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzI4Ij4zLjUgU2hlbGwgRXhwYW5zaW9uczwvQT4KKzxBIE5BTUU9IlRPQzI5IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMjkiPjMuNSBTaGVsbCBFeHBhbnNpb25zPC9BPgogPEJSPgogPFVMPgotPEEgTkFNRT0iVE9DMjkiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMyOSI+My41LjEgQnJhY2UgRXhwYW5zaW9uPC9BPgorPEEgTkFNRT0iVE9DMzAiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMCI+My41LjEgQnJhY2UgRXhwYW5zaW9uPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMzAiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMCI+My41LjIgVGlsZGUgRXhwYW5zaW9uPC9BPgorPEEgTkFNRT0iVE9DMzEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+My41LjIgVGlsZGUgRXhwYW5zaW9uPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMzEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMSI+My41LjMgU2hlbGwgUGFyYW1ldGVyIEV4cGFuc2lvbjwvQT4KKzxBIE5BTUU9IlRPQzMyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzIiPjMuNS4zIFNoZWxsIFBhcmFtZXRlciBFeHBhbnNpb248L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MzMiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzMyIj4zLjUuNCBDb21tYW5kIFN1YnN0aXR1dGlvbjwvQT4KKzxBIE5BTUU9IlRPQzMzIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzMiPjMuNS40IENvbW1hbmQgU3Vic3RpdHV0aW9uPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMzMiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzMyI+My41LjUgQXJpdGhtZXRpYyBFeHBhbnNpb248L0E+Cis8QSBOQU1FPSJUT0MzNCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM0Ij4zLjUuNSBBcml0aG1ldGljIEV4cGFuc2lvbjwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzM0IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzQiPjMuNS42IFByb2Nlc3MgU3Vic3RpdHV0aW9uPC9BPgorPEEgTkFNRT0iVE9DMzUiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNSI+My41LjYgUHJvY2VzcyBTdWJzdGl0dXRpb248L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MzNSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM1Ij4zLjUuNyBXb3JkIFNwbGl0dGluZzwvQT4KKzxBIE5BTUU9IlRPQzM2IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzYiPjMuNS43IFdvcmQgU3BsaXR0aW5nPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMzYiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNiI+My41LjggRmlsZW5hbWUgRXhwYW5zaW9uPC9BPgorPEEgTkFNRT0iVE9DMzciIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+My41LjggRmlsZW5hbWUgRXhwYW5zaW9uPC9BPgogPEJSPgogPFVMPgotPEEgTkFNRT0iVE9DMzciIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzNyI+My41LjguMSBQYXR0ZXJuIE1hdGNoaW5nPC9BPgorPEEgTkFNRT0iVE9DMzgiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMzOCI+My41LjguMSBQYXR0ZXJuIE1hdGNoaW5nPC9BPgogPEJSPgogPC9VTD4KLTxBIE5BTUU9IlRPQzM4IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzgiPjMuNS45IFF1b3RlIFJlbW92YWw8L0E+Cis8QSBOQU1FPSJUT0MzOSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzM5Ij4zLjUuOSBRdW90ZSBSZW1vdmFsPC9BPgogPEJSPgogPC9VTD4KLTxBIE5BTUU9IlRPQzM5IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMzkiPjMuNiBSZWRpcmVjdGlvbnM8L0E+Cis8QSBOQU1FPSJUT0M0MCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQwIj4zLjYgUmVkaXJlY3Rpb25zPC9BPgogPEJSPgogPFVMPgotPEEgTkFNRT0iVE9DNDAiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0MCI+My42LjEgUmVkaXJlY3RpbmcgSW5wdXQ8L0E+Cis8QSBOQU1FPSJUT0M0MSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQxIj4zLjYuMSBSZWRpcmVjdGluZyBJbnB1dDwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzQxIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDEiPjMuNi4yIFJlZGlyZWN0aW5nIE91dHB1dDwvQT4KKzxBIE5BTUU9IlRPQzQyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDIiPjMuNi4yIFJlZGlyZWN0aW5nIE91dHB1dDwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzQyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDIiPjMuNi4zIEFwcGVuZGluZyBSZWRpcmVjdGVkIE91dHB1dDwvQT4KKzxBIE5BTUU9IlRPQzQzIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDMiPjMuNi4zIEFwcGVuZGluZyBSZWRpcmVjdGVkIE91dHB1dDwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzQzIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDMiPjMuNi40IFJlZGlyZWN0aW5nIFN0YW5kYXJkIE91dHB1dCBhbmQgU3RhbmRhcmQgRXJyb3I8L0E+Cis8QSBOQU1FPSJUT0M0NCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ0Ij4zLjYuNCBSZWRpcmVjdGluZyBTdGFuZGFyZCBPdXRwdXQgYW5kIFN0YW5kYXJkIEVycm9yPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DNDQiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NCI+My42LjUgQXBwZW5kaW5nIFN0YW5kYXJkIE91dHB1dCBhbmQgU3RhbmRhcmQgRXJyb3I8L0E+Cis8QSBOQU1FPSJUT0M0NSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ1Ij4zLjYuNSBBcHBlbmRpbmcgU3RhbmRhcmQgT3V0cHV0IGFuZCBTdGFuZGFyZCBFcnJvcjwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzQ1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDUiPjMuNi42IEhlcmUgRG9jdW1lbnRzPC9BPgorPEEgTkFNRT0iVE9DNDYiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0NiI+My42LjYgSGVyZSBEb2N1bWVudHM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0M0NiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ2Ij4zLjYuNyBIZXJlIFN0cmluZ3M8L0E+Cis8QSBOQU1FPSJUT0M0NyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ3Ij4zLjYuNyBIZXJlIFN0cmluZ3M8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0M0NyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ3Ij4zLjYuOCBEdXBsaWNhdGluZyBGaWxlIERlc2NyaXB0b3JzPC9BPgorPEEgTkFNRT0iVE9DNDgiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0OCI+My42LjggRHVwbGljYXRpbmcgRmlsZSBEZXNjcmlwdG9yczwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzQ4IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNDgiPjMuNi45IE1vdmluZyBGaWxlIERlc2NyaXB0b3JzPC9BPgorPEEgTkFNRT0iVE9DNDkiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM0OSI+My42LjkgTW92aW5nIEZpbGUgRGVzY3JpcHRvcnM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0M0OSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzQ5Ij4zLjYuMTAgT3BlbmluZyBGaWxlIERlc2NyaXB0b3JzIGZvciBSZWFkaW5nIGFuZCBXcml0aW5nPC9BPgorPEEgTkFNRT0iVE9DNTAiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MCI+My42LjEwIE9wZW5pbmcgRmlsZSBEZXNjcmlwdG9ycyBmb3IgUmVhZGluZyBhbmQgV3JpdGluZzwvQT4KIDxCUj4KIDwvVUw+Ci08QSBOQU1FPSJUT0M1MCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUwIj4zLjcgRXhlY3V0aW5nIENvbW1hbmRzPC9BPgorPEEgTkFNRT0iVE9DNTEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MSI+My43IEV4ZWN1dGluZyBDb21tYW5kczwvQT4KIDxCUj4KIDxVTD4KLTxBIE5BTUU9IlRPQzUxIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTEiPjMuNy4xIFNpbXBsZSBDb21tYW5kIEV4cGFuc2lvbjwvQT4KKzxBIE5BTUU9IlRPQzUyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTIiPjMuNy4xIFNpbXBsZSBDb21tYW5kIEV4cGFuc2lvbjwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzUyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTIiPjMuNy4yIENvbW1hbmQgU2VhcmNoIGFuZCBFeGVjdXRpb248L0E+Cis8QSBOQU1FPSJUT0M1MyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzUzIj4zLjcuMiBDb21tYW5kIFNlYXJjaCBhbmQgRXhlY3V0aW9uPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DNTMiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1MyI+My43LjMgQ29tbWFuZCBFeGVjdXRpb24gRW52aXJvbm1lbnQ8L0E+Cis8QSBOQU1FPSJUT0M1NCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU0Ij4zLjcuMyBDb21tYW5kIEV4ZWN1dGlvbiBFbnZpcm9ubWVudDwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzU0IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTQiPjMuNy40IEVudmlyb25tZW50PC9BPgorPEEgTkFNRT0iVE9DNTUiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NSI+My43LjQgRW52aXJvbm1lbnQ8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0M1NSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU1Ij4zLjcuNSBFeGl0IFN0YXR1czwvQT4KKzxBIE5BTUU9IlRPQzU2IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTYiPjMuNy41IEV4aXQgU3RhdHVzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DNTYiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NiI+My43LjYgU2lnbmFsczwvQT4KKzxBIE5BTUU9IlRPQzU3IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTciPjMuNy42IFNpZ25hbHM8L0E+CiA8QlI+CiA8L1VMPgotPEEgTkFNRT0iVE9DNTciIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1NyI+My44IFNoZWxsIFNjcmlwdHM8L0E+Cis8QSBOQU1FPSJUT0M1OCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij4zLjggU2hlbGwgU2NyaXB0czwvQT4KIDxCUj4KIDwvVUw+Ci08QSBOQU1FPSJUT0M1OCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij40LiBTaGVsbCBCdWlsdGluIENvbW1hbmRzPC9BPgorPEEgTkFNRT0iVE9DNTkiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4gU2hlbGwgQnVpbHRpbiBDb21tYW5kczwvQT4KIDxCUj4KIDxVTD4KLTxBIE5BTUU9IlRPQzU5IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNTkiPjQuMSBCb3VybmUgU2hlbGwgQnVpbHRpbnM8L0E+Cis8QSBOQU1FPSJUT0M2MCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYwIj40LjEgQm91cm5lIFNoZWxsIEJ1aWx0aW5zPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DNjAiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MCI+NC4yIEJhc2ggQnVpbHRpbiBDb21tYW5kczwvQT4KKzxBIE5BTUU9IlRPQzYxIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjEiPjQuMiBCYXNoIEJ1aWx0aW4gQ29tbWFuZHM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0M2MSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzYxIj40LjMgTW9kaWZ5aW5nIFNoZWxsIEJlaGF2aW9yPC9BPgorPEEgTkFNRT0iVE9DNjIiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2MiI+NC4zIE1vZGlmeWluZyBTaGVsbCBCZWhhdmlvcjwvQT4KIDxCUj4KIDxVTD4KLTxBIE5BTUU9IlRPQzYyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjIiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4KKzxBIE5BTUU9IlRPQzYzIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4xIFRoZSBTZXQgQnVpbHRpbjwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzYzIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjMiPjQuMy4yIFRoZSBTaG9wdCBCdWlsdGluPC9BPgorPEEgTkFNRT0iVE9DNjQiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+NC4zLjIgVGhlIFNob3B0IEJ1aWx0aW48L0E+CiA8QlI+CiA8L1VMPgotPEEgTkFNRT0iVE9DNjQiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NCI+NC40IFNwZWNpYWwgQnVpbHRpbnM8L0E+Cis8QSBOQU1FPSJUT0M2NSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY1Ij40LjQgU3BlY2lhbCBCdWlsdGluczwvQT4KIDxCUj4KIDwvVUw+Ci08QSBOQU1FPSJUT0M2NSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY1Ij41LiBTaGVsbCBWYXJpYWJsZXM8L0E+Cis8QSBOQU1FPSJUT0M2NiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LiBTaGVsbCBWYXJpYWJsZXM8L0E+CiA8QlI+CiA8VUw+Ci08QSBOQU1FPSJUT0M2NiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY2Ij41LjEgQm91cm5lIFNoZWxsIFZhcmlhYmxlczwvQT4KKzxBIE5BTUU9IlRPQzY3IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjciPjUuMSBCb3VybmUgU2hlbGwgVmFyaWFibGVzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DNjciIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2NyI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPgorPEEgTkFNRT0iVE9DNjgiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OCI+NS4yIEJhc2ggVmFyaWFibGVzPC9BPgogPEJSPgogPC9VTD4KLTxBIE5BTUU9IlRPQzY4IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjYuIEJhc2ggRmVhdHVyZXM8L0E+Cis8QSBOQU1FPSJUT0M2OSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij42LiBCYXNoIEZlYXR1cmVzPC9BPgogPEJSPgogPFVMPgotPEEgTkFNRT0iVE9DNjkiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM2OSI+Ni4xIEludm9raW5nIEJhc2g8L0E+Cis8QSBOQU1FPSJUT0M3MCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzcwIj42LjEgSW52b2tpbmcgQmFzaDwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzcwIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzAiPjYuMiBCYXNoIFN0YXJ0dXAgRmlsZXM8L0E+Cis8QSBOQU1FPSJUT0M3MSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzcxIj42LjIgQmFzaCBTdGFydHVwIEZpbGVzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DNzgiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM3OCI+Ni4zIEludGVyYWN0aXZlIFNoZWxsczwvQT4KKzxBIE5BTUU9IlRPQzc5IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNzkiPjYuMyBJbnRlcmFjdGl2ZSBTaGVsbHM8L0E+CiA8QlI+CiA8VUw+Ci08QSBOQU1FPSJUT0M3OSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzc5Ij42LjMuMSBXaGF0IGlzIGFuIEludGVyYWN0aXZlIFNoZWxsPzwvQT4KKzxBIE5BTUU9IlRPQzgwIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODAiPjYuMy4xIFdoYXQgaXMgYW4gSW50ZXJhY3RpdmUgU2hlbGw/PC9BPgogPEJSPgotPEEgTkFNRT0iVE9DODAiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MCI+Ni4zLjIgSXMgdGhpcyBTaGVsbCBJbnRlcmFjdGl2ZT88L0E+Cis8QSBOQU1FPSJUT0M4MSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgxIj42LjMuMiBJcyB0aGlzIFNoZWxsIEludGVyYWN0aXZlPzwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzgxIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODEiPjYuMy4zIEludGVyYWN0aXZlIFNoZWxsIEJlaGF2aW9yPC9BPgorPEEgTkFNRT0iVE9DODIiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+Ni4zLjMgSW50ZXJhY3RpdmUgU2hlbGwgQmVoYXZpb3I8L0E+CiA8QlI+CiA8L1VMPgotPEEgTkFNRT0iVE9DODIiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4MiI+Ni40IEJhc2ggQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnM8L0E+Cis8QSBOQU1FPSJUT0M4MyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzgzIj42LjQgQmFzaCBDb25kaXRpb25hbCBFeHByZXNzaW9uczwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzgzIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODMiPjYuNSBTaGVsbCBBcml0aG1ldGljPC9BPgorPEEgTkFNRT0iVE9DODQiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NCI+Ni41IFNoZWxsIEFyaXRobWV0aWM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0M4NCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg0Ij42LjYgQWxpYXNlczwvQT4KKzxBIE5BTUU9IlRPQzg1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODUiPjYuNiBBbGlhc2VzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DODUiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NSI+Ni43IEFycmF5czwvQT4KKzxBIE5BTUU9IlRPQzg2IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODYiPjYuNyBBcnJheXM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0M4NiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg2Ij42LjggVGhlIERpcmVjdG9yeSBTdGFjazwvQT4KKzxBIE5BTUU9IlRPQzg3IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODciPjYuOCBUaGUgRGlyZWN0b3J5IFN0YWNrPC9BPgogPEJSPgogPFVMPgotPEEgTkFNRT0iVE9DODciIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4NyI+Ni44LjEgRGlyZWN0b3J5IFN0YWNrIEJ1aWx0aW5zPC9BPgorPEEgTkFNRT0iVE9DODgiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OCI+Ni44LjEgRGlyZWN0b3J5IFN0YWNrIEJ1aWx0aW5zPC9BPgogPEJSPgogPC9VTD4KLTxBIE5BTUU9IlRPQzg4IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDODgiPjYuOSBDb250cm9sbGluZyB0aGUgUHJvbXB0PC9BPgorPEEgTkFNRT0iVE9DODkiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM4OSI+Ni45IENvbnRyb2xsaW5nIHRoZSBQcm9tcHQ8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0M4OSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzg5Ij42LjEwIFRoZSBSZXN0cmljdGVkIFNoZWxsPC9BPgorPEEgTkFNRT0iVE9DOTAiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MCI+Ni4xMCBUaGUgUmVzdHJpY3RlZCBTaGVsbDwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzkwIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTAiPjYuMTEgQmFzaCBQT1NJWCBNb2RlPC9BPgorPEEgTkFNRT0iVE9DOTEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+Ni4xMSBCYXNoIFBPU0lYIE1vZGU8L0E+CiA8QlI+CiA8L1VMPgotPEEgTkFNRT0iVE9DOTEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+Ny4gSm9iIENvbnRyb2w8L0E+Cis8QSBOQU1FPSJUT0M5MiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj43LiBKb2IgQ29udHJvbDwvQT4KIDxCUj4KIDxVTD4KLTxBIE5BTUU9IlRPQzkyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTIiPjcuMSBKb2IgQ29udHJvbCBCYXNpY3M8L0E+Cis8QSBOQU1FPSJUT0M5MyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkzIj43LjEgSm9iIENvbnRyb2wgQmFzaWNzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DOTMiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MyI+Ny4yIEpvYiBDb250cm9sIEJ1aWx0aW5zPC9BPgorPEEgTkFNRT0iVE9DOTQiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NCI+Ny4yIEpvYiBDb250cm9sIEJ1aWx0aW5zPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DOTQiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NCI+Ny4zIEpvYiBDb250cm9sIFZhcmlhYmxlczwvQT4KKzxBIE5BTUU9IlRPQzk1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPjcuMyBKb2IgQ29udHJvbCBWYXJpYWJsZXM8L0E+CiA8QlI+CiA8L1VMPgotPEEgTkFNRT0iVE9DOTUiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NSI+OC4gQ29tbWFuZCBMaW5lIEVkaXRpbmc8L0E+Cis8QSBOQU1FPSJUT0M5NiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk2Ij44LiBDb21tYW5kIExpbmUgRWRpdGluZzwvQT4KIDxCUj4KIDxVTD4KLTxBIE5BTUU9IlRPQzk2IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTYiPjguMSBJbnRyb2R1Y3Rpb24gdG8gTGluZSBFZGl0aW5nPC9BPgorPEEgTkFNRT0iVE9DOTciIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NyI+OC4xIEludHJvZHVjdGlvbiB0byBMaW5lIEVkaXRpbmc8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0M5NyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk3Ij44LjIgUmVhZGxpbmUgSW50ZXJhY3Rpb248L0E+Cis8QSBOQU1FPSJUT0M5OCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk4Ij44LjIgUmVhZGxpbmUgSW50ZXJhY3Rpb248L0E+CiA8QlI+CiA8VUw+Ci08QSBOQU1FPSJUT0M5OCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk4Ij44LjIuMSBSZWFkbGluZSBCYXJlIEVzc2VudGlhbHM8L0E+Cis8QSBOQU1FPSJUT0M5OSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk5Ij44LjIuMSBSZWFkbGluZSBCYXJlIEVzc2VudGlhbHM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0M5OSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzk5Ij44LjIuMiBSZWFkbGluZSBNb3ZlbWVudCBDb21tYW5kczwvQT4KKzxBIE5BTUU9IlRPQzEwMCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMCI+OC4yLjIgUmVhZGxpbmUgTW92ZW1lbnQgQ29tbWFuZHM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMDAiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDAiPjguMi4zIFJlYWRsaW5lIEtpbGxpbmcgQ29tbWFuZHM8L0E+Cis8QSBOQU1FPSJUT0MxMDEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDEiPjguMi4zIFJlYWRsaW5lIEtpbGxpbmcgQ29tbWFuZHM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMDEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDEiPjguMi40IFJlYWRsaW5lIEFyZ3VtZW50czwvQT4KKzxBIE5BTUU9IlRPQzEwMiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMiI+OC4yLjQgUmVhZGxpbmUgQXJndW1lbnRzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTAyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAyIj44LjIuNSBTZWFyY2hpbmcgZm9yIENvbW1hbmRzIGluIHRoZSBIaXN0b3J5PC9BPgorPEEgTkFNRT0iVE9DMTAzIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTAzIj44LjIuNSBTZWFyY2hpbmcgZm9yIENvbW1hbmRzIGluIHRoZSBIaXN0b3J5PC9BPgogPEJSPgogPC9VTD4KLTxBIE5BTUU9IlRPQzEwMyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwMyI+OC4zIFJlYWRsaW5lIEluaXQgRmlsZTwvQT4KKzxBIE5BTUU9IlRPQzEwNCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zIFJlYWRsaW5lIEluaXQgRmlsZTwvQT4KIDxCUj4KIDxVTD4KLTxBIE5BTUU9IlRPQzEwNCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNCI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT4KKzxBIE5BTUU9IlRPQzEwNSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjEgUmVhZGxpbmUgSW5pdCBGaWxlIFN5bnRheDwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzEwNSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwNSI+OC4zLjIgQ29uZGl0aW9uYWwgSW5pdCBDb25zdHJ1Y3RzPC9BPgorPEEgTkFNRT0iVE9DMTA2IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA2Ij44LjMuMiBDb25kaXRpb25hbCBJbml0IENvbnN0cnVjdHM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMDYiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDYiPjguMy4zIFNhbXBsZSBJbml0IEZpbGU8L0E+Cis8QSBOQU1FPSJUT0MxMDciIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDciPjguMy4zIFNhbXBsZSBJbml0IEZpbGU8L0E+CiA8QlI+CiA8L1VMPgotPEEgTkFNRT0iVE9DMTA3IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTA3Ij44LjQgQmluZGFibGUgUmVhZGxpbmUgQ29tbWFuZHM8L0E+Cis8QSBOQU1FPSJUT0MxMDgiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMDgiPjguNCBCaW5kYWJsZSBSZWFkbGluZSBDb21tYW5kczwvQT4KIDxCUj4KIDxVTD4KLTxBIE5BTUU9IlRPQzEwOCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOCI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT4KKzxBIE5BTUU9IlRPQzEwOSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjEgQ29tbWFuZHMgRm9yIE1vdmluZzwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzEwOSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEwOSI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT4KKzxBIE5BTUU9IlRPQzExMCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjIgQ29tbWFuZHMgRm9yIE1hbmlwdWxhdGluZyBUaGUgSGlzdG9yeTwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzExMCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExMCI+OC40LjMgQ29tbWFuZHMgRm9yIENoYW5naW5nIFRleHQ8L0E+Cis8QSBOQU1FPSJUT0MxMTEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTEiPjguNC4zIENvbW1hbmRzIEZvciBDaGFuZ2luZyBUZXh0PC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTExIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTExIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPgorPEEgTkFNRT0iVE9DMTEyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNCBLaWxsaW5nIEFuZCBZYW5raW5nPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTEyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEyIj44LjQuNSBTcGVjaWZ5aW5nIE51bWVyaWMgQXJndW1lbnRzPC9BPgorPEEgTkFNRT0iVE9DMTEzIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNSBTcGVjaWZ5aW5nIE51bWVyaWMgQXJndW1lbnRzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTEzIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTEzIj44LjQuNiBMZXR0aW5nIFJlYWRsaW5lIFR5cGUgRm9yIFlvdTwvQT4KKzxBIE5BTUU9IlRPQzExNCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNCI+OC40LjYgTGV0dGluZyBSZWFkbGluZSBUeXBlIEZvciBZb3U8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMTQiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTQiPjguNC43IEtleWJvYXJkIE1hY3JvczwvQT4KKzxBIE5BTUU9IlRPQzExNSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNSI+OC40LjcgS2V5Ym9hcmQgTWFjcm9zPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTE1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE1Ij44LjQuOCBTb21lIE1pc2NlbGxhbmVvdXMgQ29tbWFuZHM8L0E+Cis8QSBOQU1FPSJUT0MxMTYiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNC44IFNvbWUgTWlzY2VsbGFuZW91cyBDb21tYW5kczwvQT4KIDxCUj4KIDwvVUw+Ci08QSBOQU1FPSJUT0MxMTYiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTYiPjguNSBSZWFkbGluZSB2aSBNb2RlPC9BPgorPEEgTkFNRT0iVE9DMTE3IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE3Ij44LjUgUmVhZGxpbmUgdmkgTW9kZTwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzExNyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExNyI+OC42IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uPC9BPgorPEEgTkFNRT0iVE9DMTE4IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTE4Ij44LjYgUHJvZ3JhbW1hYmxlIENvbXBsZXRpb248L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMTgiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTgiPjguNyBQcm9ncmFtbWFibGUgQ29tcGxldGlvbiBCdWlsdGluczwvQT4KKzxBIE5BTUU9IlRPQzExOSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+OC43IFByb2dyYW1tYWJsZSBDb21wbGV0aW9uIEJ1aWx0aW5zPC9BPgogPEJSPgogPC9VTD4KLTxBIE5BTUU9IlRPQzExOSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzExOSI+OS4gVXNpbmcgSGlzdG9yeSBJbnRlcmFjdGl2ZWx5PC9BPgorPEEgTkFNRT0iVE9DMTIwIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIwIj45LiBVc2luZyBIaXN0b3J5IEludGVyYWN0aXZlbHk8L0E+CiA8QlI+CiA8VUw+Ci08QSBOQU1FPSJUT0MxMjAiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjAiPjkuMSBCYXNoIEhpc3RvcnkgRmFjaWxpdGllczwvQT4KKzxBIE5BTUU9IlRPQzEyMSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMSI+OS4xIEJhc2ggSGlzdG9yeSBGYWNpbGl0aWVzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTIxIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIxIj45LjIgQmFzaCBIaXN0b3J5IEJ1aWx0aW5zPC9BPgorPEEgTkFNRT0iVE9DMTIyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj45LjIgQmFzaCBIaXN0b3J5IEJ1aWx0aW5zPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTIyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTIyIj45LjMgSGlzdG9yeSBFeHBhbnNpb248L0E+Cis8QSBOQU1FPSJUT0MxMjMiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjMiPjkuMyBIaXN0b3J5IEV4cGFuc2lvbjwvQT4KIDxCUj4KIDxVTD4KLTxBIE5BTUU9IlRPQzEyMyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMyI+OS4zLjEgRXZlbnQgRGVzaWduYXRvcnM8L0E+Cis8QSBOQU1FPSJUT0MxMjQiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjQiPjkuMy4xIEV2ZW50IERlc2lnbmF0b3JzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTI0IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI0Ij45LjMuMiBXb3JkIERlc2lnbmF0b3JzPC9BPgorPEEgTkFNRT0iVE9DMTI1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI1Ij45LjMuMiBXb3JkIERlc2lnbmF0b3JzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTI1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI1Ij45LjMuMyBNb2RpZmllcnM8L0E+Cis8QSBOQU1FPSJUT0MxMjYiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjYiPjkuMy4zIE1vZGlmaWVyczwvQT4KIDxCUj4KIDwvVUw+CiA8L1VMPgotPEEgTkFNRT0iVE9DMTI2IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4xMC4gSW5zdGFsbGluZyBCYXNoPC9BPgorPEEgTkFNRT0iVE9DMTI3IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI3Ij4xMC4gSW5zdGFsbGluZyBCYXNoPC9BPgogPEJSPgogPFVMPgotPEEgTkFNRT0iVE9DMTI3IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI3Ij4xMC4xIEJhc2ljIEluc3RhbGxhdGlvbjwvQT4KKzxBIE5BTUU9IlRPQzEyOCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyOCI+MTAuMSBCYXNpYyBJbnN0YWxsYXRpb248L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMjgiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMjgiPjEwLjIgQ29tcGlsZXJzIGFuZCBPcHRpb25zPC9BPgorPEEgTkFNRT0iVE9DMTI5IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI5Ij4xMC4yIENvbXBpbGVycyBhbmQgT3B0aW9uczwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzEyOSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyOSI+MTAuMyBDb21waWxpbmcgRm9yIE11bHRpcGxlIEFyY2hpdGVjdHVyZXM8L0E+Cis8QSBOQU1FPSJUT0MxMzAiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzAiPjEwLjMgQ29tcGlsaW5nIEZvciBNdWx0aXBsZSBBcmNoaXRlY3R1cmVzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTMwIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMwIj4xMC40IEluc3RhbGxhdGlvbiBOYW1lczwvQT4KKzxBIE5BTUU9IlRPQzEzMSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzMSI+MTAuNCBJbnN0YWxsYXRpb24gTmFtZXM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMzEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzEiPjEwLjUgU3BlY2lmeWluZyB0aGUgU3lzdGVtIFR5cGU8L0E+Cis8QSBOQU1FPSJUT0MxMzIiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzIiPjEwLjUgU3BlY2lmeWluZyB0aGUgU3lzdGVtIFR5cGU8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMzIiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzIiPjEwLjYgU2hhcmluZyBEZWZhdWx0czwvQT4KKzxBIE5BTUU9IlRPQzEzMyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzMyI+MTAuNiBTaGFyaW5nIERlZmF1bHRzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTMzIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTMzIj4xMC43IE9wZXJhdGlvbiBDb250cm9sczwvQT4KKzxBIE5BTUU9IlRPQzEzNCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNCI+MTAuNyBPcGVyYXRpb24gQ29udHJvbHM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMzQiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzQiPjEwLjggT3B0aW9uYWwgRmVhdHVyZXM8L0E+Cis8QSBOQU1FPSJUT0MxMzUiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzUiPjEwLjggT3B0aW9uYWwgRmVhdHVyZXM8L0E+CiA8QlI+CiA8L1VMPgotPEEgTkFNRT0iVE9DMTM1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM1Ij5BLiBSZXBvcnRpbmcgQnVnczwvQT4KKzxBIE5BTUU9IlRPQzEzNiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNiI+QS4gUmVwb3J0aW5nIEJ1Z3M8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMzYiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzYiPkIuIE1ham9yIERpZmZlcmVuY2VzIEZyb20gVGhlIEJvdXJuZSBTaGVsbDwvQT4KKzxBIE5BTUU9IlRPQzEzNyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNyI+Qi4gTWFqb3IgRGlmZmVyZW5jZXMgRnJvbSBUaGUgQm91cm5lIFNoZWxsPC9BPgogPEJSPgogPFVMPgotPEEgTkFNRT0iVE9DMTM3IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM3Ij5CLjEgSW1wbGVtZW50YXRpb24gRGlmZmVyZW5jZXMgRnJvbSBUaGUgU1ZSNC4yIFNoZWxsPC9BPgorPEEgTkFNRT0iVE9DMTM4IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM4Ij5CLjEgSW1wbGVtZW50YXRpb24gRGlmZmVyZW5jZXMgRnJvbSBUaGUgU1ZSNC4yIFNoZWxsPC9BPgogPEJSPgogPC9VTD4KLTxBIE5BTUU9IlRPQzEzOCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzOCI+Qy4gR05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlPC9BPgorPEEgTkFNRT0iVE9DMTM5IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM5Ij5DLiBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2U8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxNDAiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkQuIEluZGV4ZXM8L0E+Cis8QSBOQU1FPSJUT0MxNDEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkQuIEluZGV4ZXM8L0E+CiA8QlI+CiA8VUw+Ci08QSBOQU1FPSJUT0MxNDEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkQuMSBJbmRleCBvZiBTaGVsbCBCdWlsdGluIENvbW1hbmRzPC9BPgorPEEgTkFNRT0iVE9DMTQyIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQyIj5ELjEgSW5kZXggb2YgU2hlbGwgQnVpbHRpbiBDb21tYW5kczwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzE0MiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MiI+RC4yIEluZGV4IG9mIFNoZWxsIFJlc2VydmVkIFdvcmRzPC9BPgorPEEgTkFNRT0iVE9DMTQzIiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQzIj5ELjIgSW5kZXggb2YgU2hlbGwgUmVzZXJ2ZWQgV29yZHM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxNDMiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDMiPkQuMyBQYXJhbWV0ZXIgYW5kIFZhcmlhYmxlIEluZGV4PC9BPgorPEEgTkFNRT0iVE9DMTQ0IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQ0Ij5ELjMgUGFyYW1ldGVyIGFuZCBWYXJpYWJsZSBJbmRleDwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzE0NCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0NCI+RC40IEZ1bmN0aW9uIEluZGV4PC9BPgorPEEgTkFNRT0iVE9DMTQ1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQ1Ij5ELjQgRnVuY3Rpb24gSW5kZXg8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxNDUiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDUiPkQuNSBDb25jZXB0IEluZGV4PC9BPgorPEEgTkFNRT0iVE9DMTQ2IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQ2Ij5ELjUgQ29uY2VwdCBJbmRleDwvQT4KIDxCUj4KIDwvVUw+CiA8L1VMPgpAQCAtMTYwMTEsNyArMTYzMzYsNyBAQAogPFRBQkxFIENFTExQQURESU5HPTEgQ0VMTFNQQUNJTkc9MSBCT1JERVI9MD4KIDxUUj48VEQgVkFMSUdOPSJNSURETEUiIEFMSUdOPSJMRUZUIj5bPEEgSFJFRj0iYmFzaHJlZi5odG1sI1NFQ19Ub3AiPlRvcDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0NvbnRlbnRzIj5Db250ZW50czwvQT5dPC9URD4KLTxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQwIj5JbmRleDwvQT5dPC9URD4KKzxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTQxIj5JbmRleDwvQT5dPC9URD4KIDxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX0Fib3V0Ij4gPyA8L0E+XTwvVEQ+CiA8L1RSPjwvVEFCTEU+CiA8SDE+U2hvcnQgVGFibGUgb2YgQ29udGVudHM8L0gxPgpAQCAtMTYwMjIsMjcgKzE2MzQ3LDI3IEBACiA8QlI+CiA8QSBOQU1FPSJUT0M1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNSI+My4gQmFzaWMgU2hlbGwgRmVhdHVyZXM8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0M1OCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzU4Ij40LiBTaGVsbCBCdWlsdGluIENvbW1hbmRzPC9BPgorPEEgTkFNRT0iVE9DNTkiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM1OSI+NC4gU2hlbGwgQnVpbHRpbiBDb21tYW5kczwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzY1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjUiPjUuIFNoZWxsIFZhcmlhYmxlczwvQT4KKzxBIE5BTUU9IlRPQzY2IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjYiPjUuIFNoZWxsIFZhcmlhYmxlczwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzY4IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDNjgiPjYuIEJhc2ggRmVhdHVyZXM8L0E+Cis8QSBOQU1FPSJUT0M2OSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzY5Ij42LiBCYXNoIEZlYXR1cmVzPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DOTEiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5MSI+Ny4gSm9iIENvbnRyb2w8L0E+Cis8QSBOQU1FPSJUT0M5MiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzkyIj43LiBKb2IgQ29udHJvbDwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzk1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDOTUiPjguIENvbW1hbmQgTGluZSBFZGl0aW5nPC9BPgorPEEgTkFNRT0iVE9DOTYiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUM5NiI+OC4gQ29tbWFuZCBMaW5lIEVkaXRpbmc8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMTkiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMTkiPjkuIFVzaW5nIEhpc3RvcnkgSW50ZXJhY3RpdmVseTwvQT4KKzxBIE5BTUU9IlRPQzEyMCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEyMCI+OS4gVXNpbmcgSGlzdG9yeSBJbnRlcmFjdGl2ZWx5PC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTI2IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI2Ij4xMC4gSW5zdGFsbGluZyBCYXNoPC9BPgorPEEgTkFNRT0iVE9DMTI3IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTI3Ij4xMC4gSW5zdGFsbGluZyBCYXNoPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTM1IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM1Ij5BLiBSZXBvcnRpbmcgQnVnczwvQT4KKzxBIE5BTUU9IlRPQzEzNiIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNiI+QS4gUmVwb3J0aW5nIEJ1Z3M8L0E+CiA8QlI+Ci08QSBOQU1FPSJUT0MxMzYiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzYiPkIuIE1ham9yIERpZmZlcmVuY2VzIEZyb20gVGhlIEJvdXJuZSBTaGVsbDwvQT4KKzxBIE5BTUU9IlRPQzEzNyIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzEzNyI+Qi4gTWFqb3IgRGlmZmVyZW5jZXMgRnJvbSBUaGUgQm91cm5lIFNoZWxsPC9BPgogPEJSPgotPEEgTkFNRT0iVE9DMTM4IiBIUkVGPSJiYXNocmVmLmh0bWwjU0VDMTM4Ij5DLiBHTlUgRnJlZSBEb2N1bWVudGF0aW9uIExpY2Vuc2U8L0E+Cis8QSBOQU1FPSJUT0MxMzkiIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxMzkiPkMuIEdOVSBGcmVlIERvY3VtZW50YXRpb24gTGljZW5zZTwvQT4KIDxCUj4KLTxBIE5BTUU9IlRPQzE0MCIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MCI+RC4gSW5kZXhlczwvQT4KKzxBIE5BTUU9IlRPQzE0MSIgSFJFRj0iYmFzaHJlZi5odG1sI1NFQzE0MSI+RC4gSW5kZXhlczwvQT4KIDxCUj4KIAogPC9CTE9DS1FVT1RFPgpAQCAtMTYwNTEsMTEgKzE2Mzc2LDExIEBACiA8VEFCTEUgQ0VMTFBBRERJTkc9MSBDRUxMU1BBQ0lORz0xIEJPUkRFUj0wPgogPFRSPjxURCBWQUxJR049Ik1JRERMRSIgQUxJR049IkxFRlQiPls8QSBIUkVGPSJiYXNocmVmLmh0bWwjU0VDX1RvcCI+VG9wPC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQ29udGVudHMiPkNvbnRlbnRzPC9BPl08L1REPgotPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDAiPkluZGV4PC9BPl08L1REPgorPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUMxNDEiPkluZGV4PC9BPl08L1REPgogPFREIFZBTElHTj0iTUlERExFIiBBTElHTj0iTEVGVCI+WzxBIEhSRUY9ImJhc2hyZWYuaHRtbCNTRUNfQWJvdXQiPiA/IDwvQT5dPC9URD4KIDwvVFI+PC9UQUJMRT4KIDxIMT5BYm91dCB0aGlzIGRvY3VtZW50PC9IMT4KLVRoaXMgZG9jdW1lbnQgd2FzIGdlbmVyYXRlZCBieSA8ST5DaGV0IFJhbWV5PC9JPiBvbiA8ST5EZWNlbWJlciwgMjkgIDIwMDk8L0k+CitUaGlzIGRvY3VtZW50IHdhcyBnZW5lcmF0ZWQgYnkgPEk+Q2hldCBSYW1leTwvST4gb24gPEk+RGVjZW1iZXIsIDI4ICAyMDEwPC9JPgogdXNpbmcgPEEgSFJFRj0iaHR0cDovL3d3dy5tYXRoZW1hdGlrLnVuaS1rbC5kZS9+b2JhY2htYW4vVGV4aTJodG1sCiAiPjxJPnRleGkyaHRtbDwvST48L0E+CiA8UD48L1A+ICAKQEAgLTE2MjE3LDcgKzE2NTQyLDcgQEAKIDxCUj4gIAogPEZPTlQgU0laRT0iLTEiPgogVGhpcyBkb2N1bWVudCB3YXMgZ2VuZXJhdGVkCi1ieSA8ST5DaGV0IFJhbWV5PC9JPiBvbiA8ST5EZWNlbWJlciwgMjkgIDIwMDk8L0k+CitieSA8ST5DaGV0IFJhbWV5PC9JPiBvbiA8ST5EZWNlbWJlciwgMjggIDIwMTA8L0k+CiB1c2luZyA8QSBIUkVGPSJodHRwOi8vd3d3Lm1hdGhlbWF0aWsudW5pLWtsLmRlL35vYmFjaG1hbi9UZXhpMmh0bWwKICI+PEk+dGV4aTJodG1sPC9JPjwvQT4KIApkaWZmIC0tZ2l0IGEvZG9jL2Jhc2hyZWYuaW5mbyBiL2RvYy9iYXNocmVmLmluZm8KaW5kZXggMTg5ZTU4Yi4uNWRiMzUwMyAxMDA2NDQKLS0tIGEvZG9jL2Jhc2hyZWYuaW5mbworKysgYi9kb2MvYmFzaHJlZi5pbmZvCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2RvYy9iYXNocmVmLnBkZiBiL2RvYy9iYXNocmVmLnBkZgppbmRleCA2MWIyNDcyLi5lZjkwZDNiIDEwMDY0NAotLS0gYS9kb2MvYmFzaHJlZi5wZGYKKysrIGIvZG9jL2Jhc2hyZWYucGRmCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2RvYy9iYXNocmVmLnBzIGIvZG9jL2Jhc2hyZWYucHMKaW5kZXggOGViNWQ0My4uYjQ5YmVmNyAxMDA2NDQKLS0tIGEvZG9jL2Jhc2hyZWYucHMKKysrIGIvZG9jL2Jhc2hyZWYucHMKQEAgLTEsNyArMSw3IEBACiAlIVBTLUFkb2JlLTIuMAogJSVDcmVhdG9yOiBkdmlwcyhrKSA1Ljk1YSBDb3B5cmlnaHQgMjAwNSBSYWRpY2FsIEV5ZSBTb2Z0d2FyZQogJSVUaXRsZTogYmFzaHJlZi5kdmkKLSUlUGFnZXM6IDE2NAorJSVQYWdlczogMTY4CiAlJVBhZ2VPcmRlcjogQXNjZW5kCiAlJUJvdW5kaW5nQm94OiAwIDAgNjEyIDc5MgogJSVEb2N1bWVudEZvbnRzOiBDTUJYMTIgQ01SMTAgQ01UVDEwIENNU0wxMCBDTVNZMTAgQ01NSTEyIENNTUkxMCBDTUNTQzEwCkBAIC0xMSw3ICsxMSw3IEBACiAlRFZJUFNXZWJQYWdlOiAod3d3LnJhZGljYWxleWUuY29tKQogJURWSVBTQ29tbWFuZExpbmU6IGR2aXBzIC1EIDYwMCAtdCBsZXR0ZXIgLW8gYmFzaHJlZi5wcyBiYXNocmVmLmR2aQogJURWSVBTUGFyYW1ldGVyczogZHBpPTYwMAotJURWSVBTU291cmNlOiAgVGVYIG91dHB1dCAyMDA5LjEyLjI5OjE1NTkKKyVEVklQU1NvdXJjZTogIFRlWCBvdXRwdXQgMjAxMC4xMi4yODoxNDMwCiAlJUJlZ2luUHJvY1NldDogdGV4LnBybyAwIDAKICUhCiAvVGVYRGljdCAzMDAgZGljdCBkZWYgVGVYRGljdCBiZWdpbi9Oe2RlZn1kZWYvQntiaW5kIGRlZn1OL1N7ZXhjaH1OL1h7UwpAQCAtMzIyNCw3ICszMjI0LDYgQEAKIGR1cCAxMSAvZmYgcHV0CiBkdXAgMTIgL2ZpIHB1dAogZHVwIDE0IC9mZmkgcHV0Ci1kdXAgNDIgL2FzdGVyaXNrIHB1dAogZHVwIDQ1IC9oeXBoZW4gcHV0CiBkdXAgNDkgL29uZSBwdXQKIGR1cCA1MCAvdHdvIHB1dApAQCAtMzMwNCwzNDYgKzMzMDMsMzM5IEBACiA0QTQ0RjA4RjU2QTU0MkRCRTA3MkQyRkJDNThEOUU2NDY4RTFBQjg1OERDMzUyNDBFMzBEMzFDN0FDMTNENkM1CiA3RDJCQjYzNEJFRTk2RkEwRTEwRjg0MkIxMUE3ODlGNzJBMzMzREQ2RERDQjFCQzIzMjI3RUJDNDA2RTUwQjQwCiAzMEFGMEM0OEU2MzU5QUIwQzQ2ODk4Q0RBRjExMThFNDZCRkY4QjAwRjU0RUFDQkMyQUMyNjJBQjg5OEM0MkI5Ci0yRTA4MEMxMERFOTIzQzE5NUVEMEE0NkJENTM1OTcyRjBBNTlEMzk3N0EwQzRFNEM0MTMwNTAwNDRDNDg2Q0NFCi05NDEzRDg1M0UzRkRGODNDODRCMEE3RTVGQzVBQTg1OUJEMzgyREMyRDk0NzgwRjJCOUZBQ0NERDQzNzE4M0FGCi1FNjU2RURBNDE0N0NCNTAxQkMzOTAxMzUyOUE5NTNENkQ3OEY2NDBCRDUxRUU2RDE1MjZEMUQyN0YyNTM4NzE1Ci0yQkZBN0YzM0ZDOENFN0ExQjgxMUQ3RTQyNTFFRThDMDY0MDA5N0Q2NTVGOUVCQjE1MTAyRjg1REFGRkFCNzk3Ci0wRTA3RDcwMUUxQkE5M0M2MTk2RURFNDdEQ0YwNDkxRjEwMkEzQUREOTgzODk4RTcyOTAwRDEzOTgwMzNBMkMxCi1DQjQ2NEI5RUU5QTQ3RTdERTk3RjdENEVENEU5OTUzMEM5QTc3MEY0M0VBNkZGQ0JBMjdDNDFCNDY2OEM2MDQ3Ci1GRDVEQ0VDRTg4OTlFMTYwM0QzREVCMjgyREZCRUIzMEM4MDQwRTdFQUFCODNCOEU3OEIyRjdGNjFCN0U4QTc3Ci00QzU0NEY1RUQ4M0U1MDU2RUVEMDhDMUEyOTIyMUQwNUE0OTQ5QTBBRDYzNUQ5QzkzMEY3RkU4NjAxRDc0RkE1Ci0zM0IyRjRGRDRDMjlGQUU0MzQ2RkU5MTRCMTIzQkE5Q0Y1QkE3MzJGQzQzMEExMjhFREUyNzBFM0M2MEJEN0FGCi1DRjU0Njc0Nzk5QTBEQzFDMjE0RTEwQkE1NTExQjI5ODEzQUYyRTM3NjhBRTQ5NEQyNDBFQzY0N0Q5ODUxQ0IyCi1FQzM4OTc2QzZEODc2M0Y4QzQxM0I4Q0JGQ0Y4RUREMEZBRTAyRjcyQzYzNjZGNUNFQzI3MTVCQjdDOTA0NDBGCi0yRDdCQjMwQ0QxRjEwN0NCMjM0MDA3NUQyQTBEOUQ0MTE0RDY0NEEwOTAwMzQwMzY4NUE3RDQ2NkNGNDczNjJBCi1CMzE4NzEwNkZCMUUyQjMyRDdGRTI2RjkyMzFCRTFBQTg3Qzg1NTZBNTQyMTUyOEJGNUZDMDQ3OEFDNTY3RERGCi1FQzk1RTYxNTFGQjkyQzc5ODY2MzFGNjQxRTIzQ0E5NjhEQkREQzQyQTU4ODBCODlDQ0MwMEYwOUI4MkFCRjQxCi1GNzJCMkY5RjI4ODA2MzA4MTc2RUE3MDgxREFDM0RFODlCQzM4OUZCQzU0RTYwRDJDNkI2NjZGMTg1NjJCQTBFCi0zMkI1OTA2RUYxQzJCNkEzMUZFMDk0NkU2NDhDNzMxNDJBREIzMTM2RTdEMkJFNEJDQzQyRTA4REUzQTVGMDJDCi00Qjg1NzVCMUEyOTZGMDQ3MzVDMEYzMEMzMkQzREI3NDIzRkJGRTY4MjEwOTgxNTIzNEM4OEJFMjkyQzhGMzEzCi1GNjY3MjA3RDg0MkRFMjA1MkE4RDM3MDFBRTcxQzQ0RjZDNDc4OEFBMDhBOTY3RDY2MjcwQzVFQTdEREI2MUM3Ci01NkQ3QkNCRDEwNkYxQ0Y0RUE3QkMzQTUzMkNFMjNFMjkzNjg4OTlFN0RFMjE3NUM0RUIyMDgwMkZBRDNFODQwCi1GRDdCN0I5OTU2Nzc3MTk1QjY0NkZDQTJFNUY0QUJBMDU5NDBFMjY5ODU4RkRGNUNCRDIzNjI2OUM5RkIwNjIxCi1DODIyNEM2M0JDMTIwRUM4QjhFQ0I2NDM0NjhDNDY4Q0VDQUQwNkVBNTlDMUNDNjEzMUY4MDkxRUNERDBEMjNBCi00MTlEQTNGNjg0QjIyOUI2NENBREVGMEFEMzMxNEM5MTE4NkVDNDQ1QjU5NkZEMzk4RjQxODgwRkVDQzU2NDUzCi02NDU5NDc0RUFEOTAyRjAyMEI3NTBFOTlERTQyNTQ5OERCM0FCRkNFRjQ4MzA1RkY5QjBDNDEyQUNFNTM2M0MyCi03NUVFQTAyRkM4Mzk1MTc5REY5NUUyQTI1N0UyNzNGMDdDQjBCODk5RUM1RTVBQzA5M0M5RUVDMzQ1RjZGQTJFCi1BRjdBNkZGOEFDMjc4NkYyNURGQTgzNEZERjAyM0IxREEyQzQzMDFEODA3OTk5MDEwQzVFRkYzREVFMUVFQkQ5Ci1GNEQ4ODhGMjg1ODQ3ODEwQTNEQTQ4QkU3QjYzRDIzRDQzMjIzMUUxQzNGRDdEN0YyNDlBNjhEQjQzQzBCNDM5Ci02RUIwQUNDRTkwODM1MDg4MzBFRDhCQTFEOURDNTc1OTM4QjA3RjA3RDlEQUFCQTE2NDI4MUEwOUM3RDAwRkRDCi03OERCMTdDRjg5MTg1REZGNzM2ODkyQTY3NDFDQUY2QjM4NjRFOTJFN0RFMzJBNjc3RTY0QjEwQzk3NjVGOTI1Ci1DRkYwMUQ3Njc5OTk1N0M4RTJBNDc4OUNGNzU0RTkzNTJDNDk1NzUyMEExRDUzMDNFNERGQzg1MEE1OTE4QTlECi1COTA3MzVCRUQ5MTMxNzUxMjJBQUE0NDI2OTE3QUJFMDlEQzE5MjE4RUFCREU2RkVGODYxNjY5RjYwODE5REJGCi02QTc2NjkwRkU5QzlDRDg2ODUxRkUxRDFBQUQwMjE5MTc4Nzc5MDM3QTNDMEM2NjU4OUFDRERCNzEyQ0QyMzZGCi1EREM5NTBEQzEzRTA5OUI3NDdGNzg5MkIwQjJEQUIwMDE2MUJBMzUyNDBERDRDQUUyOThCMEVFQUU1QTRBMkU1Ci00REIzOEYwNzBGMzk4NTIwNUIyMzkxRkVEQzhBRjI0MjU2MzIzQTY4QUY4RkQ3QTYyQkJBMUEyRjcwMkY1NDAyCi00RURDMTc4ODk5OTNFMEQ1NjgxN0U2RDJBRTE0NjkxODAyODY2NTFGNkM2NjQzNzcwRDAyNTFDODYyNkEyQTZFCi0yQ0MyNUI4N0EzQTUyMDMzNUIyQUIxNTQ0ODA3NjgzQkQ1MkMzQjhDM0RBRTdBRDQ2MDc3QkMwOEU5MUQwNzAxCi0zODczMTJDOTQ4MUE0Q0U3ODhBMTFERjlFOTRBNTcwMEVBNjI1ODFFQzNCQzJEMEREQzcwOUFERjVFRDE0Q0QyCi02QjIzRDQ0ODBCRkZEMTU4MjhBQTM5QTVFNkE5QkQ5RUQwN0MwM0YzQjk1MjhGRUMxMzI4QUMxQjM1QjVBMUVBCi1DMEJCQUI1RTVBQ0VERTk5RkYwMDk5NjI1ODk3MTY4Mzc0NjIzQzM5MUE3NjQ0MUNDQjdBREE1QjQ1OEQwRUZBCi1CODI5MzI4RDNBMzRDMjk3QkM2MDVCMzk3OUM3MTEwQzkwRkE0MTI5NUMyNUY4NDYxNkE4Rjc5QTMxQjRFNkQ1Ci1CNkY0NDMwMjJGQjlGM0FFNkEwQzIzREM5N0YxODExRjUwRTM4QzI1NDEyNkVDMkI5REQzOTkyQTZGNjFERUQ3Ci0wMkMzNTM1QjQxNEMzM0RBMjRENUYxNzJBNkIzNEFBMjkzMzZBQjVBRDEwRURFNERCQ0RGMDg1NzRCQUZDQUIyCi0yNUQ3NDExNTY3NDdCQTU2QkYxMDY5RURGMEVGOEFFRjAwQzBCOTg4NjBFODkyOERENUZBNzYwMEIyMDY4MTg4Ci1DRjkzM0MxQzIzREU3NEJEQTg2QjM2ODBEMUU4MTQwMUZFMkZGRjI5MDVEREIwMTVFRDMxRjY4RjU3QkZGNjkxCi1EQkJENzk4NjMyRTg1QTY4NDc3QkFBNDI3NTVDMzRBMTREMDYzMDU5Rjg4RjQxMUEwRkRGMERGQURGREMyRjdGCi1CNzczNTNBNDcyQ0ZGOEI2QzQyMEM1MzUyODhDQjE4QjBCMENFRTQ4MERBQjlBNzY3RjJGNkM3QzQyNzMxMEE5Ci1CQjFGQ0JDNDhDMTk0RTkxODU1RTU0Q0E1MEMxRUVGNjRCMUJFMEY3QzhDRUU5RTFFQjYyMDkwMkZBNDBERTNFCi05NkY5NjJGNkUzOEIyQzY0QkI3NzRGNDVCQTUxOTg2NDM0QzhFMjU3MTZFQzM4RTMyMEQwOTE0RjY4NjQ1RENGCi02NzQ1NDEzM0JCRkRENEFGRkYwQThBREI4MkU5NzMwRjk0QjE3OTY0QTVFOEE0RkMxRDYzMEQ0QzdBOUNFOTcwCi04MkMwQjc5RDRFNEI5OENCM0UxNzMxNzVDRjFEREJEMjhBNDdGQjY3QkFFNTgyRjlEMDcyQzFFQTBCNUEyQjQyCi05ODhCMTczRUZDMjFGNjdCRTM4OEJEOEM5RDFEODNENDc1MkRENUE2Q0M4REE1N0E4NkJFQzJGRTJCMUUyNjlDCi1EQkVBRUQxMjdDNDUyNkMyN0ZEMzQ5NTY0Rjk4OERBRjY3NUM4MEU0OTExNjJGREQ3QkNFQkQ3RjNCMTMxNTNDCi0yQUZEN0Y5RDVDRTk0MUM2RkNCMEU1ODVGRjk5RDU3MDZCM0I5MEU2MzBDRjQ5ODVCRDVDQUU1NjdDRTkxOUVCCi0yREY0QzY2QTdGMzY2RjY4MDA5RTgwMzczQzBBOUMzODZDMUQzMENFNzdBMTEyQzJCQzNDNTlBMkVCRTUwMjI1Ci03NUI1OEFEQ0I3NzYwOTRGQ0NBNTZDMzg5MkQ4RkUwOTExMzYxRDNGQjU4MUE3RjJCMkRGQ0E3OTA0MkJFM0E1Ci04MEFGQTE2MDkwM0I4NkNENDZDNjVCQzRCRDk0ODc5MjhCMDZGNkUzODdFODA2OUFGRkU5QjJGNzg0QzBGNzIyCi01M0UzRkFFNDVFOTZEOTkzOTk5NjQ1NjIxRDI2MzMwMzVERjgyOTI3OUY1MUUyNTE2MUE3QTQ4MzE3QzkwNEVGCi0yNjQ2NDIyMDVFRjNENjE4NDA0MjVFRERGOUI1QjgwRDVGNjZENjQyRjdDMzkzQ0FDRUJDOERGNjgzOEUwNzRGCi1GQjFGRURFNDFGNDI3MjZDRkJDQzk2QjVCRUYxN0VDMjZCMjdFRjI5MDg3QTE2M0Y0MEUzQTFBNzc3RDQzNTJFCi03RTRFMzg5RjA2ODVGREY0QTZBQ0I2Qzg4RDk5NzI1MDEwNEEzNUU4NzlBMEMwMjAzQkZDM0JBN0FFNDlBRkNCCi0zRThERkUzQUNDQzNGNEE3MzY0NTE0QUM5NDM0NjMzMkVGRjA2RDcxOTlDQzI5RjAxN0Q5QTIxQUI4NzMxRUNECi0xRTAxRTBDQzlCNTAzQzU4QTcwOTNCMkZFNjkyODJBQUFGNjA0ODQ5RDdCOTE2QjQ3NzY3M0NFQjgxQzM3QUQ3Ci02NUIzQ0UzRUEyN0UxNTg4NjhDRjcyM0Y4MDM0MDlFNDhFRTNCNUI2OEQ1MTE2RUQxMjc2Qzk1RkExMkM0NkYxCi1FRjg2MzMzMjkyMjBDMDdBNkM1ODMwRUYzNUU1RjUxMEY1MEE3NjJFQzY5QzBDNDQ2NDE3NUE3Rjg1NTY4NjBBCi0xRDhDMENBODM0NzIxQTMzQ0FGNkNEQUZENjY1OEI4RTBGRkU3MjM2OUIzNTVBRDJBODU0RDZERjRENUUyOTIyCi1FREI1RERCMDU1RUQ5RTM0OUFBNzFCMjExQTZDMDdBQkQ2QTkxODRDQUQ2NjhBRTE2RjBERTY4RDdBQkRBQzZFCi0xQUQwQTYxRUU5ODY0NTAwMDQ1RjBGMDMzMzAzQkJBMjg3OUJFMzZENEE1MkFFQUY1MUNDMTM3N0E4NUQzMjZECi00MjRFMDM2NjRDNTI3Rjc0Q0Q0NDY2OTg3QzIzMkFBQTQ2ODA0OEU1QjUxN0I3OUU0Mjc2RUZFNEI5Qjg4MUFDCi1FOUJFQzE1MDE2QTIwN0YzQjI3MDUwN0VBODQ3N0E4Rjk3RThFOEIxMDg3MzNCNERDNDg1MDVGMTRFOTNCNzVECi0xQUVCMjEwRkE1RTU1RjhDNkVBMDRBQTQ0MUEzODVFMzM2QjlGQ0IzMzdDNTMyNjE2NTlBN0FFOUY2OTQ4OUIwCi1FNEIzOEFERTI0OEI5MDA0M0E2RUIwREZBMzc5NUREMTExOTMxQ0U2NDYyQ0FDQUQwQjY5QjE4NUU2MjdCMTU2Ci05NjBGNDZGOTAzMTc5MDc3MEQ2QThCRDNGQzNGNTM1Q0U4NUZEQTdFMjc2MjlBQTE0QjNEOTdERTY3NkVCNDQwCi1ERTdBQkQyNUVFNDFDQzUxQkVDMThGNzA3RDM1REFEMjQ2NjJFQTRFRUFDNTlGQTBBOEY4QUUwOUNFRDI2NTNCCi0wMTMyMjZCRkZCNTc4QUJENUUyMzQxNzU5QjIyOUNBOUQxODgyNDY1Nzg0RDVCQ0QzNTFFMzg4NDYyMEQwQTlGCi0wNzVGMUVBNjg5QTk5QzdGMjQ4NzhFOEY3OUVEMkFFNkE4NTM2RjlEMUJBMUMwN0EyREMwNTgwN0M0MzhDQTQ0Ci1GM0U5NzA4Qzg3N0FCMkJERDNGNjQ2N0MzOTQxOTYwNjA4MzU5OEYxQkQyMkRFREU2Q0RFQ0VBMDdBODM4MjQ5Ci0xRDI4OUY5OEExMTA4NTc0QzVGMTNCMjVFMjU0NUI3MTQ2Q0Q5QUY1RDExQkEzREIzMTQwRUZDQzczNjVDMTQzCi1ERTVDODc1MjUxMjJFQzcxQkQwMEUzQUJGMjkzOURBNkJDRTRFRTY0QzRCNTYyNzFCMzkzRjNDQjAwNDEzNjIwCi1CNEFCOEFBMDEwQjM4RkYyNjRFNzZBNUU3NEYxRUJBRDgxMkJGOUU3RTAxODhGMzMwOEQ4NTQzNDM2MEYxMjRGCi04RTlCMjQxMzNCQjg1M0Y0RTY0RDk3MzI1NEUzMDRCRTZFQUQ2MEUyMzQzREQ5OTRFNjFDMjZDNDk2QjQ1MTdFCi02OUY1NzdEMTM4MTdFQjM3NTkzM0ZEM0ZBNTNDOUExQkYwMkE4OUNERkMwMDI5NkUyQTJEMjY4OUNDODUwMDg4Ci03M0UxODE5MzNEOTBBODgwNzhBQjc2RUY1QzUwNTk4QUZDMTJDRUVGMTVBMkJGRTNDODdCNzczQjdGRjFCOERDCi0zRjlBOEQ2ODkwODYxNUY2MjFCQjY5NUM1NzIxNTMwOEY2OUMwNjlDMjQ0MzMzNDlERkYxN0U4Q0E3MjczNjkxCi04NDVERTVCMkI3MzZDRUNBMDVBNUJBOEIzQjYxQzA0MzA1QzVDRkI1RTA4OUZENEE4QjlFNkJBRTMxQzRDNUZGCi1BODRGQkNCMDQwQzcyQThENDUzQkUwQjI2M0IyMjNBOEE5RDFCNzRBQTE3NUY5QUUwMkYyRjRDMzRCQTg3MjYzCi04MzBBMDNDRjVEMzRFMDYwRUQxNDgyMjFFM0M2MTdEMUQ0QzcwMDAzRUEwNTYyM0M0QzFGMjA4MkRDNjMzRTc5Ci1BMUU5RDU3QTRBQzgzNEJGRUQwMjg1NkIzMkRDMTNBMzlGMzkxMzlENTlGOTYzN0I4NDcwQzk0NEQwM0E4RDk3Ci1ERjYxODU5QTUzOTU0QjdERUQ0NzM4QkZCOTExNjVFQzYwQTQ0QkI2OUQ2MDdBQzZCNzBGNTkyMjI0MTIxOTYwCi1FNTZCRTlBMTkwREZFQzNGMDdFRTYwQUM2MkFCMjg2NzhGOERDQjZBNzdDQ0Y0NEIxNTM3ODlBRkRCMjhDQkJFCi1CQjk5Nzk4RkE0NzhDRUJGOUMxQkVERTEwRENDNzA0RkMzRkEwMjgwRUVBQkI2RTkwOTA1NjI0MkI3QTJFMTkzCi1EQ0UzNDhFQzg1ODdDRjE1RDQwQzIxOTI1MURBRUEwNzg1NDIzNEE5RUM4MzUxOTBFRkQxQ0M2OUIzQzdFQzgyCi1BRTU3RkVFMzI0QUEyRjFBNDVFQTNCREU1RjYwRTFBMjMyMjcwQzIxMDVENTdEMzg0NUE0ODgzN0RGRDM4OUUxCi0wMjI5M0RDMjNCNkU3NkFEOTUyODIwMTdFOTFFNzA0MkQ5NzM0RDgyRDQ2RTNEQkVFMENDNzkwRjQwNTJFMDA4Ci1CMzc5MkFEOTgyMkI5NENDNDQ1QUExQzkxODU0NjZERDdEMjhBMEY3RDZBMzNENzI3QTQ4NUYyNEU3MDlEQjE4Ci04NkFBMUE3OThDQzc3NThCRTUyOEM0MzAwQkE1NjBGQjg5QUQ0OUFENTc5NjFFOTY3OTlBMUIzMURFQTJDNzE1Ci00RTgwNEJFOTM5NkExQUU1NEM3NTQ5RTczQjJFRDJGNTQ4QjA0MkQ4REVEMkI3QzdCQUEwNDlDN0QxMjAxNDlBCi1BOTBCN0Q0NThEMTVCOERBNkY1MzNDQ0RGN0U4MkQ2NEE3RTBDREVEQzJEMjgxRDZCN0U0NzBEOTM4NDlDRjE3Ci0yQTU3OUMzNDAzRjZGRDE2RUY0OUM2RjEzNjQ0OUVFRDA4QkFGQzFFMEQwM0NCQTM3QjQ3NjVCQ0ExRjI2Njk5Ci0xN0U1NDIwMDFFMjYxNEQ4Mzg3N0UzN0VCQUQyNTAyOUI5N0I5NEFDMTU4NkJDNDJBMEEwQzQ5MDY2NzA4MDUxCi0wREJEN0I0NkQ0NUEwMkUyRkREOUYyRkVGQzhCMTIxNzgxMUEzQkU3MDlGMzkyQUFBMDNEMkY3RUFFQzgyOEMzCi0zQzVFRTk1QTVFMjczNzAyQTE3NkFCQjRCMkM0QkE0OEVFN0YxNjM0OEY2NTBENDI2QkM3MUMzRUI3NDAzMjNBCi1BOEJFRjIyRjZFQkFBREI3M0FENEM5ODgzNTU3QUIzMzQ1MUE4OURGQkUyNUNBNkMxODRBM0MzN0YwNThDM0E1Ci00QzZFRkRBNEUyQjAzNTQ4NDVDQzZBMzgyOTM4OTE4OTFGRUYyODY3MTIxNzFFNTZGQkQ4QjdBOUVCRkZGNDdFCi1GQkQ4ODlFMUVBN0QwOEY3QTA2QkFGOUNEOTg4NzczRkNENERBRTQzRkM2QTlGODBGMUQ2QTU2RTU1MENGNzk5Ci0zQkJBRUUwMzAzOTMzRTAyRDE0MjdBNTg0MkM5MjcyRDNEMEEwRUQ5NEVDRUFBOUI4MkU4MUVEQzU0NTYwRjhGCi0yQTRDMEQyOEIzMjY0RUE2NDA0OTFFMjREM0Y3MTY1QTE3NzI1QzI4QTZGMTUzQzc0MkQwMUM3RTk1Qzc5QzFFCi04MjI5QjgxODNCOEMxMEYwMERGNjg4OTk5MTQ1MzRDNThFMkRGQkY3MDg3RDdCNkEzQTRCRjg3NUY1QTc1NEMzCi1CNEI4NzEzREM0RUIxNjgyQjg0MTUxODg3Qjg0NjFFRTA1QTBDOUZGRDZGNjE5QjgzNDQ0QkE5RUNFMUQwQzdCCi1EMTdFOTYzMTUyMjBGN0MzNDExOTQ5OTQzNzVDRUExQUM3QzA2MUQ5RTc3MDBCNkIzMEI1RjE1QTZBMkE2MUU0Ci0yNUU2QzNEMEIxRTEzQkNCRTdGQjg5QzI0MzI3QUY0NkFDNjJCMkVFMzMyMzQ4QjU1RDlFNkQ1OTlEOUZCRDc5Ci1FNjRFOEJBNkM5NjBBNTk4NjAwRUFFQjA4MEUwOEEwRDlBRjEzRkJDNjAyMThBOUZCNDAwRDVDRjM1MDdERDM4Ci1GRTQxQkZCQjA1OTRGNDNGMTBFQUU5Q0YxNTkwOTcyMjZERTc3MDZGMzQ4NzFBNzY2NjFCNkNCOUVDMTEyN0RDCi0wOTY1MUU5OEUzNEQzRUNBNUJBN0Q2OTVCMjc2NDVBQzhDMTYzNjRDQTM4MEQ0NTUyNEQ3MDBBNDYwMDUxQjYyCi1BNjlFRDIyMUJEQTQ1MDUxQzE3MjM3OTZBMzA1QTNBN0M4NUE2MkY1REZGN0Y3RUQ2OTBERUU0QzBCRTI1NzFBCi0xNTVBREI4QkY3REQ0RTZCMzFBQUQzRDg4NDMzN0MxQTJGOTlGQUE0NEJGREEzNTc5NjZDNzdDMzVBNDM1NDExCi0yQUYzNjc2NkRDMEJCRUYwQjUwQjc0MkE5QzlFODU0MUM1OEFEOTY0QjI2QzQ3QkVEMTdCNUJERDlDNTUyMEY1Ci05NDdFNEI4MDE3QUZGRjlGREQzQkYxNUIyRERBNkNENzUwRTA5MjIyQTNERjFEOUVDRTJBQTZFMjJDQzVGQ0Q0Ci1DNjc0NkU1OEJENjI4NTU4QTcxNTdCNzJGNjM3MDUwN0FCMDU5NkZENEY0ODIxQTgwMEEzNThCRTdCNjJDN0ZECi05MjEzMUQzMDg5NTdFOTlGRTQ0MDhFQ0RDMEY0OEY1Qzc0NzY4MDk5MjcyMUY5RDk2QjQxQjk1NkMxNEY4RTEzCi1GQjI2MDM3NkM1MDhGODhEMzAzNTVDOTREMDIwOEQ0MTlGODEwMTlFRTAxQTExNEUyMEVDMjQzOEMzODk0Qzc5Ci02MjA5NkI0QTVGNjI4ODExNjMwOEZCOThFQjBEREFEREIyNTkyMDVBMTFDNTZDNkFDNkM1RTFDOEZGNDVBMjVBCi1GMTY1OTZCNzYzOTdCRjU0QzNEQkQwQUNBMTU5OUFDODg2NDE1RTQ2RUY5OUZEMTVDOTIxODEyNUNGMDQyNkNDCi1CNkI1QkM2MEMwQTE0Q0ZEMTE2RENEQ0MzQ0U3REE2OTYyQjk3MkFFMjNCQ0JEQzVGMjgzQTgwN0E2M0MxQzhDCi05RURDNUQ5NUNCRUQ3QTlFMUQ2Mzg3NkE1NUM3QTg4NzhEQkUwQzY2RkFGNUU3QTY4MDQxNjg0MDE1NkZDNjNECi1GRDhGRDdGRDEyRjMyMjQ1QjMwODRGQzM1MzJGMzg4M0RFRUVGRDUyMzI1NDM5RURBREU1NkVDMUI0ODQ1Q0NCCi0yODJGQTBFREJDNDA1RUQyRkMzQjAxRkM5M0QxQUJGMDZCNjRCMkVGNEQ2RkU0MEI2QkM5MUQ3NTQwQkRDNUVCCi1GMzY4MUJBMDg0RkU4NEZBMTUzRThFMTE0NDJBNzg0MEM2RjdGRUY5OEUzNDY2MDFBNjc4ODVCM0IwQUUyRUYyCi1FMzcwM0VEMTRBQjc4NjQ4OEM0OENEOTM3RTlERThCNjY2Q0QyNURGQzlBQTkzNTEzMzg2MDVENjUzQkE2RUM4Ci0xNkExOEQ3MTgxQjJEQjA4NEJCMUQzRTc1Qzg0RDhDRDM1MzNFQjM1RjE1MEYwMDZDNjA0N0JGQ0FCREUxNEVBCi0zMkZFOUEwQzFCQUNDQkJBQjNGNjU5NUUxRDExRDI3OUEzNENFNjZEMEJEQzA5NzY0NDM2QTIzQkFGQzQ2N0U3Ci1BOTg2RDY5NDdERTY1Qjc3QkM4NDgwQjk0RTZGNjZGOEI0RDkzRkRCNTE3RkUxQTZDMkFFNUZGM0JEQTM3OTE5Ci02RjM0QzcyRURCRDA5Q0RBOTVENzUxQ0I1QUREOTNCNDIyRTk4NTYwRUEwM0FGRTgxMEUxNDM1NDkwQzE5NDA1Ci1DNTM0MDI2RDAwMUM0RTJBODZFRkE3RjM0MkUzOTY3MDU5QkU3NzFFNzI4MzYxQUE3N0U4QzJGNDk3NDQyRTI0Ci1BQjkzOENCQTAyQzVGRDA1NjFBNjAxQkJBOEFFOTZFODIzMjIxMkRCMjIyQzIwMkMxQUI0QjRFREI0NDk0Q0EyCi03NzIyMUM5RUU3ODEwNjQwQjczMEREMzFGRkY2MEYyQTA1REI3RkI4MDU3N0E0ODUxM0JCOUE3NkIyNjJFQzZCCi03NTExNTdGQTY1QjQ3QjdDRTk3RDYxREMwMTYxODc3Rjg5MjEwRUYzQzlBOENFQzVEQkM1RURBNUI5QTg3NzBECi03NjQzMzAwQzlDM0E1RDAwRjBGQTE4QkNCRUQwMjk1ODMzNjEyQTU3MjQ2RDgxODQ5NzVBREYxNEQ4NEMzMkY0Ci1CQkYxNUU2QkVCREE0NUEyRThCQkE0NjFENTNDMDkwQzI1QkY3RkQzNTFDQkY2OUNDOTA0RUVFRjhENzgwMkQ1Ci1EMTRBNEVCRTY4MDQwNzVEMkY3NDIzODQ3NDkxNTAxNzQ2MDNGMTQ1MTlCQUMwMEIyMjBFODNGNzMwOUQxNUJGCi0xMkEwREMwODIzMERCRTIzRUY0MDA0OEE3N0VEMTdEOUY5MzFDODE3Rjc4MEM2N0U1OUVDRkVBNjJGRDREOEU5Ci1ERUI0RDFBOEQyODY0M0M0RTQ3NkFGQjJGODZGRThFNUMzNTNGMDhCOUQwRjBDMTAwMzVCMTczN0E3RDUxRjRBCi02MTQxRDAwMDBGMDQxMTNBN0ZENzEwREZFQUExNkNFRDI5NEU1QUZDMzg1NkJCMjQzRTJBNjc2Nzk0REU5OUVGCi02NjBDNEI1MjJFNUE0RURBRDQzQzNBMEEzNTlCNEIzNEFBOUE1OUE2RTJENEU1MjE3NTUzQjc5MEFERjQ1QTlBCi03NjM2NTI5RUY4NDA4NzlGMThBMzRDM0MyRDUyMDdCNEQxNEM1OUUyNjRBNjQxNUYxNDJBN0MwMjk0NTk3RDY0Ci1EMDJBMjhGMTI2RTc3NEEzMTYwNEZDQzY3MUUxQkMwRkY2ODEwODJCMjgxODc5MkE2MERBRTU2RkZFREVFM0I3Ci02RUE3QTgzNEQwODhFNkQxMEIxNjczRjMyNTBEMjI5RjFCRjU5Q0U0RDBBRTMzNzZFNkZEOTlEODgzQjJFRDAzCi03MUI3MkEzRjY3OUE1REJENzZCRDJGRjZDMDQ0MzVEMTQzNjRDNEE2MUFGQkMwRDVCMzFFNDhCQzYzMUMwNTQ1Ci1ERDNDMUMwRkJGMzEyM0VDMzk0NEM0MDREMzczOThEMDVCRTM3NTY4NDhFNTlGQTU0RUU3QzM0RDBENTM4MkQ4Ci03NERCNkE2RTcwQzdBNUFBRUM3Qjk0MUI0RjVEODAwQjIyNkQ4OTc2NDczRkRBQkIzNEZEQkZGMkM2MDE2RkJDCi01RTM0QkFBMzkyQTI5QjdDQTlGNjY3RDYwOUVBN0EzOTFDNjA2NzU2NjYzMUZBOTEwQkYxN0REQzBDRTU2RjM3Ci1BMkU2QTIyMjI4QTRBMEFFMTM4OTI0RjA5Mjc1OTIxQzhEQTYwRDgxOEFBQjhDMkIwNjEwOERDQjlBODVENkI5Ci1ERjZCRjQwRUQ2RTg2REVDNzVBMkRCOTE3RTYwNUMxNzM1RDU4OTZGMjlENzYyQzc3QUMyMTI5OTRBQTJGOUQzCi05Njg1N0M1QTJGM0U4NkZCRTdFMzRGMzREOEUwQ0FCMTAyNEFBRjU5Njk5ODQ0Q0VDQjQ5RDdBNDI5RjRCRDAyCi01NTY3NDE2RDREMDE1MkMzRDBCNkI3N0Q3MTA0QjIwRUUxOUVEQjI2NERGNDM3RTUxRjRCRDkyRDIxODczRkJGCi0zRDM1QjJFRkNEQzVGMTQ2NDkxMDk5QkNCRDNCMzgxQUVFNTU1RkMyNUE3QjA3MTNGRkIwODIzODk5NzU1NTJBCi04MjVCODc2MkQ2MzBCMjA0Qjk5RDk3RTBGMDA2MkIzNThFMUU0NDNENjVDRDhERjNDRjgyODRDRjM4MDY2REVGCi0zRjEzMEEwNkNDRUE1OTI5NTVFQTA1RjQxNkUwRjY3QUVFQjY5MEQ2MjY3Mjg0MjZCQTU0QkM0QzQwODNDQkQwCi1GM0Y5QTBFN0VCRjNCMTQ4OUMwMTlGN0EyOUZBNzhGNzdEOEE5NjI1MUI2NkQ3M0M3Qzg1OEUyQjdBQTc2OEMwCi0zMUNDRDM0NzkyRDZEMDkzNjQzNTAyQkNCNDQ1M0MzRDVERUE1QjU3N0VGOTJEM0VEQUEyMkU5MDgyN0YzNTczCi1BODExRkY1QzVGNjY5N0FCODhDNDIyOTE0OThCQzM0OEY0MTAyQkZCRTAwN0Q2ODA5MkMwMDU3REQ4NTc2QTlCCi01QkQwMzJDRjcxOTYxMDMwMjgxNTZDREZFQTEyMkY5QTcxMDFGMERGQjFDNzNEM0I1NjA1QTczQzFCMzM1RUM4Ci03REE2QjRDRDM5RTk3NkY3REI5MUNEQTE4N0IxQ0I0RTQzMzhGN0M3Mjg3M0YyNEQ1QzAyOTM0QkRGREEwMTlBCi02OUZBRDEwQzk2QkQ4MkQxMkQwN0EyRUY3NkQ4NkMzMDgyRTFENjhCMEE0NDYyRDA2MzVBOEYxNTI0NUVCREE0Ci00RURCQzY5RDUxMEIxMjYzN0YwMkFDRUIzQTFERjI3OEM0MDU1Qjk4RDc3RUNGRjgyQkREQkVGNEM1QUZFMkIwCi1CODhBOUVCNTMzM0FFODQyMDkzQTgwRTIwNjRCRDM2RDVEODFBQUI5RDgwQ0FBMDRCNTU5NDNGRjVBMURERTk0Ci1DRjNDQTMyNjQ4QkRDRkFBQzg4RTcyQ0QzQUNFNjVDODgwRkQ4QkI3NUIxMUE4QTZFRDM1MTUyNEUxREEzNUYzCi0xMzQ2NkIzNDlBM0U0Q0VFRjBDMTE2MEIxRjk1NjQzQjUwMEExNzFCMzNBREU3RDU1RjRFRUUxOTM0OTUyMzMzCi0yQ0JEMDQ0RDA3QTEyOTg1RDkzRkU1MUM5M0VDOEY2MjlEQzQyMzQ1OEMxQjYzMUE3MzY0RTE3QjA3RTg5QzQwCi0yNTZERUY4QTg4ODk3QUNBMzg4MDE0QTJDNjk2OUFDQjlCM0FFNjkyNUI0QjQ1NDNCQzkyNDA2MUVEQ0Y4NkU3Ci1GNTFGNDQ3QTdGQjYyRTAzQTA1RUE2RkEyREExQ0Q3NjYxNTY4MEZFMDA5NjIxMTQ4NjQ3QzdDNzRFNEJDNkUwCi1CMzRCMzU2QTNDQjg5NDdFMEY3NzVBRTYwNzlGQzQ1OTRGMzlBNEI4MjE4RTVEMjdEREE0NTgzRDlENUJBRjA3Ci0wMDlDQTA4RTNFMDhFNDA3RDBBQTlFRTgwRTNCMEIwNDlGMzdEQzM4RkU4RjdGRDA1NUNFMzE2RDcyQTY5OTNECi02MENBQUIwOURCOEE4OTlFNUVCRDhBRjExQkJCOEIyRUE4RTY0NEQyQjZDQjREOUVFRDkyNjZFRERDM0E3RUNDCi1GQkVCQUREOTUwNjk4N0RFMjk0NUE2NUQwMjdERTgyOEQ1QTEyRkIwRDZBRUY1RDZBMjAzNTQyMURCNDYzMTNBCi05Q0I5NUVFQUJCNkY1QTg3MDEzQzNGMzEzMERCMzJCM0Q5NTVEMjJDOUYzMDk1QTE5NzE1RDM0MUZEMTE4MjU5Ci1DNjYxRkMzMEU5RDc4MUIzMjM5NkE4QTJFQTA2MTIyMDQ1RDk4RUM1RkNDNkNGRTExQUY5QjJBMkZCQkM5OUNFCi00NTkyNUVERTkxRDZBOTY0QjY4RUUyMDAzMkI5NkE3MUI0OERBQ0RCRkMxNDVCNkY2REVBN0YwMTFERDdCMjQ2Ci1EOURCQzNDQzZCMUVCMzVGNDcxRkZDNDYzRTg0NDRGMUUxQ0U0M0QzRDQxQTExM0Q5NjAxQzEyRkRENzU1RTM0Ci04NkI4MjAyMTM0NjkxQzREQTIyNzE3Q0QzRjlGOTU4Q0M2RTdCRTIwQ0ZBRTlGMTBFQjY3QzBCQjU4RTQwRjE3Ci01RTNBMTQyQUU3MUUzNjE5QjFCNjFGNzA2RjYxMTQ5NkVGMjlEQzA3MTExQkVBRkNGNEQyOTc5RDM5NjYwQzBECi0wNUE4QTJCQTVEMkUwQkJFMkY1MjJCNkJBMEEzOUIyN0FGQjJGRDJERDQ2NjZBMEY4OTVGNDlGNzgzM0MyNjYxCi04OEQyOEJGRDc1MjJBOUNFOEVBMTA5RTFCODI3M0ExMjk1RjQ5ODI5MDcxMDk1MThFODJBMTU2QTlDNEQ3RjI3Ci05QjdFQTJDQUQ4OUQyMkEzRDU2NjM3RDU0MjdBRURFREE5OEE2RDkyNTdCNDE5RDc2MUM4QUM5MjVCNjFDOTNECi01RTRDNDdEQTZFRkNDNjZBNkE0RDNCN0ZDMURGMjdDNkY1Qzc5MTlFMzRFOUU3Q0E5ODJDMEQ0MEM1RDUzRjBECi0wQTA5QzU3RkYyOTY1N0E3RkEyMzAxMDJDOTQ4N0E4RDY4RjkzRjI3OEJGRjk0RTZDRkU4RTVFM0JBMzhBMDgyCi03NDRGOUQwMThBNkQ3NDUyRDJCRjBEMDZCQjYxRDcyRjc3NjdBNEU5OTM2RERCNjYwQzhDQTE4NDY4MjYyNDcxCi0zQzgxQTY4QkNDMzc1MzI2QzkzNUI5MEQwMkY4MEI3MDRGNDc5REQ3RjAzMEIwODk2ODVGMDkxQjMxNDRFNzk0Ci0xMUQyODRCRjJCODUwMjk2NEU0RjZDN0I3OUZDMkMzNzE5N0Q1MjE2NkUzNzdENjZBRDBFN0QwMzI1OTA5RDQ2Ci1FMEY4QTM1ODA3REZCOEM4MjA4QkE2NzJFQzIxMTg4MTQ5RjMxNTUwMjdGMTZBMjNBQUVGREQyRjNBRDY0MkY5Ci0zMTBENjMxRTA3NjU1QUI2ODg1QzZDMzg4MkNDQzg2OTBEMDVEOTY3NzlDQzgzQTExN0Q5NDZFMkY5RjY1MjFGCi1COEY0NDU4QjhFMDFGQzMwQ0Y1OUFDREI1MkRBRUFEMjFGN0I3RjQ5MEQ3NDg5OEYyNTcwQzZGQTVCNERCNTIyCi1DMDc3RkY2OTRDQkVGMzk4RjAyMDdDNzA4RDdDM0U0RjhFRjQyRkFCOTFBREI0Q0VBQ0I1OTJFNTYwMzVEQTFECi1FOEM0NEZFMzcxMTY3MTJENTg4Qzg3M0Q4QzJDNTFCOTYwRTk3RDA3NjUxRDYxMUFCMTMzRDk1MDI1OEYwQTJBCi1EOEM0NTU3REU1RUM2RDk4RTEyOThCNzFGRjA4QjVGNTlDNjYxOUFFQTg4Q0VBODM5QTE2QjlDODEwNDM4Qjc4Ci0wNjA1OTRBODUwOTVENTI1MjQ2Q0EzMURCMDQ1QzJCRUVCQzBCMUY4MjYyQzU5RjlBNjg3OTUxQUQyQTFBNUUxCi0zMDQ5RTRCQzJDRjc2RTkwOTU2REM0NTY3MEE2QTdBNkE0QTA3OTgzNzU4QkE0ODg3NTUyQ0IzMEREQ0ZEQjAyCi0wOTBFMTJCNTZEMzU2RUJBOEU3QUVFRDE0RTRFQTRDMzZBNTI4QTdGNTEwNUE1NDVCRDlFQTVCREZEMUYwNEU2Ci1DNjU0MjhBNTRBNDFDNTk3NzE0MkVCRUI3RjQ5RDY1RjFGQUI5RkJCQzJDMjgzRUM3QUFCODU2MjA0N0UwMTNECi0zNjlBMDA5MTI3QkFFMTUwRTc4MjJBMjc4QkIzNjM4QkRFREU1QTE5ODVERDMwODFGMDhFREU1RTBFQzhDNEVFCi01NkFBQTU5MkQzRUIzQkFBMUNGRkNFM0FDMjM4NTQ3OTBEMEI2NDhFODNFMkZFM0MyQ0Y3QTE0RUQwNjAxNzYxCi1FNUEzNzdERDRDRkFBQUE1OUQzNzU0OTlDRjQwREZDMzU1RDM0NEFFNTBERkM2NUU0RTVBRURDMEFCQjQ4QTJECi0xMkRDQTRDMzNGOTY3MUNCRTdDQkZGNkQzMDI4MDVGNDMzRjU4MUI0QTZCMUU0NTM3RUZFOUMxMUY4QzgwOEYxCi1GOUM1NjMyMUM0MDJCQTI5REEyQkRBM0QyNDY4Q0YzQTI2Mjc2OTI5OTgwRDUzRTNCRUQwOUM1RDlDMkZBRUQ2Ci1EQkYwNTMxNDJFODJBMDRGNjE4Q0VEN0Y1MUQwOUMyOEExODg1REEwMjhGMjc1Qjg1RDNCRjVEQjZEMjBGQ0FDCi02MjAyRUQ4OEQyREZDMzZENjQyRkNCMjM2RjUxQjQwMTZENzM4MENCODVGQzIzMDZEOTg2MzQ1RjhBMTI3RUI4Ci1FMzJDNzExOEMwRjc3QjFCNjY4RDU0RkMyRThBNEM3MEE2ODE1MzVBNTExN0RCMkUzRDlFQ0QxQjU5QTQ3NkNDCi04QkU3MTI1OTFFMTEzNUI4RTA1NjUyODQ5RjNBMDczN0VEQUE5OEUxNjBEMzlBMUM4M0FCOUU1ODZERTI1MjRGCi1DMjJDNUJBQjMwNzVENjE5OEMxNUY5RTZFQzlDMDY2QjA4NUI1MzJCOEIxQUNEMTZFREJBNDJEREEwQzZFMkM3Ci1EQTUwQTc0MkU1NUExQzRCODYzMzJGQzc0MDZCRUU1MTczNzNCRDBFNUEyNTI3NjNERjU4ODZGNDMzRTYwQTY0Ci03QkM2QjBFNzBGQjk5OEM0NDhGN0MyRDQzMTI0OUI1ODFCRjIwNjgwNTcyNDA1ODUzQ0ZCNUNDQUExREU2OEI5Ci1ENkFCMEUwRkU3RTBDNEQ5REYyNDQ0MjY3QzY0MjhDNkQ1Q0ZBRTY5RDY1MTY1MUZCRjg0QzYwNjI4MkI0Rjk1Ci0wQzgxOTA0Qzc3MzUwRUNBNUI4MjEyOEE0QkQyODFDOTg4OTkxMkVDQjQ2MUQ2NTE2NTI5ODZFRkE4QjcwMUYxCi00QjcyMUFGRTZBRDUzNkNCMTk2OEZFMTREMEJBRENCQkRGNzk4RDExRjREQzZBM0VGNTMzQjNCQjhBMjM2NTk1Ci1CNzBDNEEwM0U2RTMzQTZENDRGOTNGQjU0QTYzMDYzMzI4MzA1RDIxOTNFMDEyRDI0RTREMzFFNjJDQUU0REUyCi04N0Q1OUQ4NDI0NzU1MjIyMDRDRUJCODhEMDhBQjBERDVERjU3QjZGMTY1QzY5M0REMEFEMzRCODdGODlBQUE0Ci05RjdCN0E4ODBCQzNBNURCREZEOUZEOUMzRDNCOURBMzBCMTMyQ0E5NjhBMjE2QkI1MjQzNEZEM0ZFNzdCQTUxCi1BNzAyMTBCMUFDRkQyOEI4MUJEQjc1Rjk3NzEyREY2RjcyOTdGMzRBNTlBMzkzMDA2QTg4MUUyQjNDQ0MzRjdCCi1CMzlDOEQ2RTk5QUFBQzM5QjA3MUI3RjM4M0Y5RThFQzQwNzExOEM1REMxN0JFQjBENzM3MDU5RUQ3RENFNzU4Ci04M0VFNDNFMDUxNDAxNUQ0OTBDMjI3MUZBNTQ2M0I5M0VBRUY5QjNCRDNDODhDRDc0QTE5RDlEQzk1NjYwQzk2Ci0wQTM4QjI2RDNCMDIzRkZERDI3RkY2RTlEOThBRERBREI1NDgyNUQyQjU1NTIwNkYwRTdDODg5REI1NTM0N0RBCi05QTRDOTUxOUMwQzhBOEQzQUNEQzA2QUIzMDY5MjY4QkE4Mzk4NDM3NkJGRUQxQ0ZFM0IxNDE3ODQ1OTExQ0FDCi01NDI4QTA4MDAxNDZDRjU0OUVFNzhDMjYzRjM2REREOEEwNEE3NUJGQkE0NTM0QTc4NDEyQjdDMkI2RUM0N0RDCi00OTIyM0RCNzJGQ0RDNUU4ODgzOTcwOUQ3MDRDMTk2MTMzQTMwMzIxNDlBRDBBRTI5OTUwQzhENjUwOUY4NzdFCi0wNEI4NDlCNUFDMDk0MjFCQjMzQjY1OEQzMENFNkUwNERBMUEzNTg2MjA0M0JERUFCN0JDNjg0RTFBNkRFOEU1Ci1DQUYzM0VGQzg2NkQ2RDA3NUMyNjk2OTM2OTA3NTBENTI2QjgwMURCQUY1MDk5QTA0QkQzRTkxMTEzNUIxMThECi1FRjAxMjA3NTk5NTg4RTI1RURFNDc1RkE0MjhFNjdBRDkzRkZGNjM2ODJBOUIxRjlFRDQ5NUM3QUQ1MEVCOTZFCi04MzZBOTY1QzJCMjdDQUM3MUNFNzkxNzBDNEY1NkUwNDk3RjBGNkNBOTA0MUU5MkUxRDAxMDc4RkM5MjJEREQ3Ci0zRjc5MTQ3RUE2NjcxNzNBQjRFNjRBQjRFMzY2NDA1NDU0N0FGQzJFMkUxMzgyRkUwNTlDMzdCMzUyMTIwRDY5Ci02QTE1QkJBODY3MENBRTdFMzEwQjAzQzJBNEIxMkZCMzM2MTdDMTdDQjlEOTkyQUZFMkRCMkExQkMxREE4MDZCCi0xQjgyREFDQjJDMTE1N0E4RDNGNUQ4NjM1M0MxMkY0NzQwNzg0MThGQUUyMkVCNDIxM0ZCREZFRDkwNEYwMTU2Ci1DMTdBOUM1MjA1REUzNTk2OTRDODk5RTk5MkU0MEMyQjU0QTU2NUY0Nzc3QzAxNDdFODY0RjI1RkQ0QzQ4N0VECi02Q0IxQzFCREQ5MzcwMkFFQkM3Mjc4RkQ3RTYyQTc5QTI4RjdFM0ExNkU3NjNGMTU0NDcxRTAwMUQyMUQ0RkUzCi0yRkQ4QUNCQkNGMzAxOTk1NTI4MDQyRTg2MUE5ODMwQUNBQ0I5OTY2OUVBQkE4NTFGRjJBODYwOUQzMEI5Nzc1Ci1BMDQ4QkVBMkUxQjUzOEQ5ODY1QThBNjQ2RTkwNzQwN0VFQkZBQjMyRjc2QkRGMTMyRTkwNTc2NEVBRjEwODkxCi05MDdFQzM2QkRCMkQ4Rjg5Q0RDRjUzNjVEMkZERUYxMzFCMjNBODMwOEUwNUE2OTZFNUZGNkVDNDQwNjZGQTI2Ci05MzQ4QzQyNDlCNjRGODdENzFDNTUyRjlDRUUyQUQxMjZBQjlBOUI2RkJGQ0M1ODQzOEM2MjQ4QTdDMDk2MkM1Ci02RDc2MjJDRjQ0MDI4OEY5MDY1NjZFNDk0NzY5OTI3MEQ0RTVCQjFFOUQ4MEUxMEMxN0E3MTQ3ODUyNDk1ODkyCi03MDdGNDdERDA5QjA5ODAyQjM3QjFENDBGODQ4QkI5QzczMjk0MTk5NkVCRjU5NTE4NEU0RjQ4NEJFNjU2MUVFCi05QkE5NEMwMEYxQUE3NkJDQkY4MTdDODE0Q0RENEVEOTRGMDI1QTMxNzY1QTExOEM3NUU2RjNCMkM2QzI3NjdBCi0wOTBENTM4OURDQ0I1QTBBQ0NDNjdDQjFCMURBMkVCNUI0QjNFRUFGNUE0RDdGMzkwQkM4M0EwQzFCMkIwOTEwCi1DMTgwNjk4RTlFN0Y5RDI4OEMzQkRFQkQzN0Q3NENCNTcxMEFBQUNEMkZBQTQ2ODZBOUE3NTAwNjRGNkIzMDZCCi1GODZDOUY0QkI3N0VENjkzNDE5MjMyQUY0QzFEODk3QTZBNUI3MzdCNDE2NDdBN0UzNzM1MEJDNzg1M0ZCQTMxCi1DNUNBOTJFRDY3MzY3RDk4NTg5MTkyMjk2NDVBODFFQzZFMzBCRTk3RkZGMjVBRTZGRThDQjE2NzA5RDQ1NTBDCi1ERDVCNDA5OEFERDBENEQ2MEVDRTc5NjM4NEMwMDcyMDNBMkIwMDU5NUNCNDYwOEFCOEMyNjVDNEU2N0ZFQUFECi03QjVBRURBRERFOTRDQ0I2RkZDNTQ1QTlFM0M0N0I4QjkxMTExMEVEQ0FGMjE2MDEzNTQ5MkI3MjI4NzlDNjJBCi02QThGQkIwMkJFNEFDMDY3MTk0NjgyMjY0NzcxNTk1NjAxODU5Q0RGNTQ5QzNCRDdBM0RCRjdGNjgxRDAxRjJBCi0xRkY1MzI5Q0U1MkEwMEU5RkI3Rjc2RTdGNTBBMkIzN0FEMURGNDY3QTdCNjNFRTg1NTVGQ0ZFQzJBOEM0MkNGCi1DMjI5N0VGMThFRThENDlCMEZBRTVGRTA4ODU3RjBFMDQyNEZGQ0M1ODA0RDMwNjM3MTVGMDM5QzdGODczOTZECi01NzlDNTc5NDQ4NDAzODJDMkE5NTI0RERBMUJCM0M4Nzg2NkVGMzg2NTgxRjJCMUFCQzE4QkQ0OTQ5MEVDOURFCi01RDE4NEI3NTJBOTc2NTI4ODkyQTA0MDFBQjRGMTY1QkVEQTc1OTcyMzZDNkE1NDMzRDdCODQ4NkZCMDA3REY1Ci1BMEE4NTAzMzIyNjM5RUE3OTE2Q0U4RDcyNzI4NEU5MENEM0Y2NTdFMDdDMTAzNzBCM0Q4NzA4QjI2QUI5MzNFCi1EQUY5QkMwNjBDMkRFODM0NTgwMkNCMEEzRkY5NjJGQ0EyMjkyOTVFMTVBMDJGQjM1RDE1NDc2RUZEODVFQjA1Ci1BQjEwMkM1MDRBQzg2QkRGQzM2MTNFQzdFOTQ3RDU0MTFDQkUwQTY2QUZDMDEyMTE1MzM0RUNBMTVCQjBBMzUzCi1FQUQzQzMzMDkwMDQ2REQ1RkU5ODFCRTEwQTdFRTZGRUI3NDcxNzhBQjYzNTdFRTIyRjZCRTgxRDBGRDYxN0Q3Ci1BQkJBMEY3RUQwQ0I1RTE0RjIxM0E5Njg1NEZFMEZCMEZBRDBDMzQ2OUE5NTkwQkNGOUU3MDc2QkRDOEJERjIwCi05MzNERTlERDZFOTlFQTBDN0RGMUQyODExNEI3RUFEMTAzNjdCRDI4QTgyMzE0ODI5RTRGQUIzNDRGM0E4ODgyCi0wODBCRDJBOTIwRkJCRDIyMjdEMkRBMUZENkFGMjFFNTM4REMxMEU1MDY0ODUzNTE4N0VGQUUzMDREMEY3MkU1Ci0wNzQ2QkUxODUzRDU5QTFGQzg5QkMzODQ3QkI4QTBFQjVBMUJGRDgzQjZFNDY1RDc5MDEyQTgwRTI3QUU3QkRBCi01OTBCQ0RGREFBNjAyREREOEQ1OTZGM0I1NzQ5MEE1NjQxMjBFQUVCQ0RDRTBFQTAwMDBDNTcyMjY2Q0FBMzYzCi01MzZFNjU0REVCNTk1QjEzN0NCMDM3MDFBQkYwOEVDOTk0QjJENDg2MjJEQ0Y5OUUxMzdCQjI3REYyRkM4NUIzCi1GRkZCOUQ3ODFFRDg3QjM5MDU0NzU2QjlCOUFFN0ExMzk3OEU4RUFCRDhGMzA4MDQwMzFDRjc3RTY5OEY4ODUyCi1GMjY2MjZBM0Q4MTdEM0EzMjM0NDc1QTgwQzE3NjhDQUJBRTQzMUNDNkU1NTI1OTY4MThGOUI0NzE2MUI4QzY3Ci1DRkIwNjE4MDM5MDI1RTBCNzZFOTVCNzcwQkQzMDJGM0VFNjIyQzVFMDg5OEIzNDAyNzkzMjQ5ODM0NURGMEQ4Ci0zMkM2NTI1N0Y5REI3NUQxNThFRjAwODE5MTFDRkJGRDhFNzNCQ0M3RjI1NEMxN0MwQjcyQUIzOUNFN0VFREM4Ci04QURENTJBRUI4MTNDMDE2RDk4MkJBNUYxMDI2OEUyODQ2Njk0N0M3NjVGNjVDODBFMjU5NUIyRjczMkQ0RTY4Ci1ENjlBNzU3RDgyMzBGNkFERUI3OUQzMUVFQUVFMjg0RUJFRTdFNDBBOTlDNDIyMDUwQjMzOEEwNzU2NEJGN0NCCi1FQkRCMzgzRkI2RTVGNjMyQTk3MjQ1MEU0Rjg4MjQxRjRDN0NBNDkyQTg2MDgyMjA1NEU0MUJFRUIzQTU5RTdCCi02RDZFNzY5ODk0RkQ4RkUyMEI0N0QyNUY0MzgwOTA3NzY5NkY1MTZERTYwM0Q0RUYxRDY4M0ZDOTg5NUI5QzRGCi0wMEQzOEU3MzhCQzE4OTlDOTQwM0Y5QkQ3RDg2MUIwRkIxOEFFMTFCQkFGNDQzODMwM0FGNkQxOTQyQTQxREEwCi0yOUZCMTAxODNCNDZCQUM5QUI5RTg1OEQ5NUNENTRERTExRDMxNjdCOTRGMDY0MkU4OUJCMDgwODJBM0U1ODlCCi0zMzc5N0E1QjQ4MTY2OUE0NUM3NjQ2M0I2OUJCNEVGODg0Q0U3NjgxMkJBNDg4QkQ4QTMyREVFMEFENkU5NzYyCi0xMERFMDdGRjAyMTZGNkI4OEFFQ0QwN0U1QTFERkU2MDgwMTYwN0ZEQzRGMDNEOUE1QjA3NEU1OUEyRUIyM0I4Ci1EODU1MDNGQTFEMTJBNjcxN0ZEQzY5MjIwRTMxQjA0OTExRTI0OTQ0NkFGMTlGRjU1MEIwOURCRTgzM0FFNzVECi02QkU0OEVCMDY4NjZDREZCNzk5OUU5RkNEOTIzRTVDQUM4Mjg2RDYzOEM2NDNBQzE2MUE4MEIxRkY4N0E0NEFCCi02MTgxOTI5RjY5QTY3OTU1OTFEMzE5ODc5QkU1OTk5RjIwMEYwNTU2NjUwNDc1NDcyRjk4NjNCRTM1MjVGNkIzCi05REUyRDJDRDk0MjI5QTI1NzYwMkY0OTU2QTAwMThBNDIxMTMyNEUzRUNFQUJFNjUwRUVBMzZEMzRBNzdFNUQzCi1EQ0E4QUM3MjhBNzEzNzdBOUU3QTlCMTJFNTg0OTIxOTZDODUyMzAzQjlERDRFQUU2OTgzMDY2QzZBQkQ0RDlDCi03Nzg3QzgzN0VGQUEyRjlEM0ZERTAzMjY2NTMyMzU4NUQ0NDUwQTlEM0U4QzdFOEZCMkZCQzg3MjM0Q0FGMjI4Ci1CNUMxNjU0RUIyQjM2QUEwNjIyNEMyMkEzM0M3RTAzMDBBQkExMjgyNUM0N0QyRjIwQkQ3MUMwM0Q1NDZFNEZCCi0yRkREMzdENzA2OUM2QThFRTQzMUE0NUQ4MTBFNTJDRjA1QTQ3ODk0NTk4OERGMzg5QUMwREM4QzgwN0NENTFGCi1FQjA0OUFDMjYyQTA5RDUzNTU5MDc0MjFBNUQzQTU5MDNBNjdDNzlGMkY4MkJDNjJFQUEwNkVGRjQ1ODcyMjI5Ci0xRTlBRTVBNzYxRkJFMkJBRTgyNzYzMTRBMUFCQjEwOUZDRDY4MUEwRTMzOTE4MjcyMEE0MTA5OUQ3N0M0N0VFCi03QjY1ODY4MjlCQzY3MjhDNDRCQTkwRDJBMjU5MTMwQjc4RUEzNjQ4RUFBREY2MkI1MDFEODQ4MkQ3QTA5NTVDCi1DNzk3MkU1QzIyNDM1QUUxMzFDQzgzN0VBNjQ4MTM3MUU3OTUzNUI0NTU4NjEwMjNEODgxRkZFODM4RkVBQUVCCi1DQTQ3RERCODVEQUY4RkVCRTkxQTU4OTdDQkNGQzRFMkU0OTIxMzg1NUFCRkU2RkJCNTU4QTlFMjdBQTQ2MjQ0Ci00OUZEOEZBQkQ4OTc0MTdFMDAwOEI1NzY3NTI4M0VGQTkyNzgwMDQ2RTVBMUQ0MUIzRkZCMzM5OTUxOEVCODZGCi00RDExMEVBQTVDMEFGNDU1NjMxMDNCODlBOTM4ODkyOUU3MTlFRjhGRTI3OTRCOEJEMTgzODhERDY2RjJFRjFFCi04QzQyMDY1MTBFQjdCRTg2M0YyM0QyNTVDNDVCNDBDQ0NGQ0E5NTFFRjY3NTgyQzAwQUZGRjYxQzIxOTlCMDQ2Ci01RDdDNDYzRjNBRDcwNDQ2QTI5Rjg5OUU5NUVCNjg5ODcyMUM3Mzc4NTBFNDM1MEZEMzY2MEJFMUZGN0IzMTdGCi1FMkYxNzAxMjBGOTcyQUU5OTIzRjc5RDQ1M0I1RTUxODQ1RTYyNjRBNDFFMUNENzU0NUMzNUJDMUFBQUFBNTQ1Ci1CREYzRDQxOUQ5RDJFNkIxRjhEQzI5NTAwNDY4OTUwNkJEQkY2QkY0N0JBQzE3Q0ZFQkI1NjVDNDE3MDBFNzg0Ci03MEJBMTE2M0I2NkE0RkExOTdFRjBEMjg2OEIxRkM0NkUwRTg2OTVGOEM5MkJCRUNFOTE3Qzc5MjQ0MkFFMjg0Ci1BMkY4NTlERTkzNDI0RjUxRDUyRDVEMUMwMERFRjk5QkQxRjExNjBFQzJGOTRGODRDM0JCNTlDMUVFNTZDQTY5Ci1BNjYxNkFEMzk2Qjk0NjlGQkVDQjZCNDk4NkVBRjZFNDM5NDQxQ0NERUQ4NzYwN0JEREExMDc1N0JENEI0MzlECi0yOEFCREI4MkQ0Q0M4RDQwOTU4MzE1MDlGMTA4NzI1MkJCQjFERjA1NTdCMkY2Mjc1RjdDQzYxMEU4NzQyQzAxCi1BQ0Q5Rjk4NTY0MUEzQzE2QThCRTFCMTcyQkZERkQzNjExNTg1NUFDNDBBMDRDNkMyNjA2MEQ2RDk1QTEwNzA3Ci1CMUY1NkQwREVEQTdBNDhFMjVEOTI4MTc5MEQzQTJGRkRERDQ3OUYyNEEzQTBFNjhGRDA5NzQ0OENGNTAwNTk3Ci1CNjYyRUY4REQ0MTlBRTMzOEQ0QzgxODU5NTQ3Q0I4NkZBQkREMTYyOTA3MDM0RDJFRDgxNDg5NTExNUU3NkY1Ci1COEJBNURGMzUyQ0JDOTMyNjAwMDJDM0Q3MjAxNTE4MDA2N0YxQTc0QUNCNUE2QkM0ODIyNUUxMTYzOTVFQTQzCi02NUMxMjc3NDQyMzkyM0U0ODU5QUYzMzc0NDU2RjIwNEUwRkRDOTQ2MEU4RUUyRTg3MDk4QjlFN0EzOTc3OTkyCi1GMTA2RDBBOEM1NDJERUQ4QjJFNEM2NzUyNzgxMENEMTlFMDMyNzU5OTg2ODQ0ODNGMzNFOUE2MjQyRUQwMzMwCi1FQzU1M0E2NzNCMUIzNEM4OTA1N0Q1OTcyQkU4MkFFRDVFODhCNTYxOUM3NDhERUJGNkVFMDI0ODlDNTFEM0M1Ci02REEzNDc4QzY1NTIxQjhGRkNBREZBM0U1Njk5NjM2NDkwMTlDRjQ2QUVBOTM1N0I1RURCQTc0QTQzQTRBMTk5Ci1BMTMyODg1Qjc0RDU4NzlCRDJEREQyRTQ0NDE4NzczN0JFOENERUM5Mzk1MDBGMUNGRjUzOEJDODM3MzI2NkY5Ci0yRTkxQkZDRURGNThBMkNDMUYxOTdFQTFBOTQxRTg1RTAyMUFBRDRGOTRBQjU0OTg2QUE0MkUxMzhCRjU0RTI2Ci03OEJDMzMxMDRFREQ0RTg2NTY1RkY4NDU2Q0QxNTFGQTJFQ0NFRkMxNTk0M0I3RjBGMjNDMzU5NjA4RDQ4RDc5Ci1CMUJERTJBMDMwOENEMzU5MDg5MDA5RTBCMzlDQkMyMUZBNEIzMzdFN0Y1MDI1OTVENkIyMkNCOTJDMDk2NzA5Ci1FRUIyQjREMUQ4RjY5N0VEQTY5QzEzRUFCQUMwRkFDNTUwQzVBMTVEMTAxOEI2REQ0RDc0MEVEQjJGOUM3MDBFCi05MzgzRDczMDdEMEY2Q0I5ODAwNkIwNDUzRUVGRjg4NDk0OURFMUNEQjM4QTY4MUI0MTJFMkE5ODMxMkMzQThFCi1GQ0RCNzA4MEJCQ0FENjE3NDYwMjdEMzI2MTM4OUNDQzU1QTYxNTlCMThCM0IyOUIzNkM1MDcxODQ2MTE3NDMxCi1DNjcwNzlDREYyRTVEQzc4RUUwMkY4MjcxNkUzMUQ2QjYzQUU5MDFFN0JGQTFFRTg2RjM4NThGQkExMDdCNzM1Ci1ENDIxNTU2NzM0ODlBNzcxNEI2ODNEMkJDNUQ2MzBENDkyRjE1Mzc4MjMwMDFFNzBFRjE4MjQyRjA2RjUyRjM4Ci04MDkwMUE1RUYwNjdCRTVGMjQ3M0RCRTE3MUU4RDg1QTg5Nzk2Qzk4MDc0NDI0RDM4NEYwMURFOTg3RjU1NDRGCi0xMTg1MjdGNEMxOTQyN0U4MzM4QjhDQzcwNTBEQzQ4QUM0QkRCMjNDMTYwRUMyOTE4RUREMkFGRDE3QjREQjkyCi03Qjk3MzY2NzZENkFDNDBBRjIzQTY1NDFBQTQ3MTQxQzA0N0QwQkZFQ0Y3REU4QkM5MTdGRDM0QTEzRjJFQjdBCi0yOEEwRUE2MjEzN0E4QTFDRTdCQzVGMTQzOTI0MjA4NEE0REY4REZFRUY0OTVEMzA4ODMwRjA0REQ3RDIyODZBCi00OTlFMzgwMjk5NUJFRThEMzIzNjUxMUMxQzJGNkI1Q0Y0NjY4ODU3Mzg2QUEyQUE0Mjg3MkU1NzY5QjQ5RjY2Ci02MUYwNTgxMDM2OTE4MjVEQ0RFRjVBQTQ1NTRGNERBNDYwRkFDQkY2OUREODk1NkZFM0YxNzY2QTcyMTQzRUVCCi04MEQ0RjhEM0ExMDlDMjI3N0M2MjAzMjJCNkIzM0M2MjM4MkY0QUM4OEU4QTQ5NDUxOTE0QTVGREM2OUUzM0ZGCi0zQzY1RDFGRjRBMTkzQUVEQ0E2MzNGQzVCQUU2RDEwRDYzQTk4RTBBMjU5NkI2RTY1NDU2MzI3RTU5RUZCRDM3Ci1CNUM0NUVEQzg2QTRCQkQ5MDcyMDYxODU2QzRGQTIyODI1MDY0MDQwNkY5OTc2NjQ1MTcxOTc4RjZERkYxMkIyCi1DNzk0NkZGNUZCMTBGNDUzMkY0QTc4MEJBNDhGNUIyMDNCMjIzQUYxMDQzNjQ2QTQ4NENGN0I0REIzNjI4QjlDCi1CMDZEQzdEODg0N0E0MkYyMTMyOEJDOTBBN0JEODEzMUIzMzBEOUVBMkY1MTNDNTY0RUI4QjRCMEVCM0U0MDRDCi0xMzA2OUQ2RUQ0NTk5RUU0RENDRDM2QTQxNzgwMDdEMUFFNTUxRkMwODYzRkJERTFDRDYzOUYwNTQ4NDU5OEJECi0zMzMyNUJCRTYxQzVCMTBFRjZBODk4ODZEODU0RDZBRDY0MzAwNTIxMDI2Mjc3MEE2RjREOTJFNzMyOEJCMDBDCi05RTJENERGN0Y0MUQ5NDE5NTJGOUEwOEQzMThFQzkwQTVBNkUwRUE5NURBN0YyMUJCRTcyREJFQTRCQkQwMDAyCi1DNzY3N0YxNEYyREVGQTkxNzk0Njc0QjRDMDY2OTZDNUQxMUMxMzUwQ0ZCRDRGNTZGRURCMUVGQkFGMTIwQjZECi1ENkNFRjlFRDI3QTZCREIyMTVDNEQyNUEwOTczQ0RGRkRERUU1NzRENEJFRkEwNUFEOUVGM0JDNzAxMjlCODg4Ci04NEI2MTYwQUEwOUEzQzJEREY0NDI4MzUxMUIzNzY2NThCOTk4NTczMkYyN0E4QjYwQ0I2MEI4N0Q4QkU3MzgzCi02QTJFRTgzMDQzRkI1MzkwRTBDRTg5RDdDRTAyRTlDMEI5MDE4M0U5NTlDQjIzM0FGMzc1NEMxMzc5NjI1NjNECi0yNTNCNzBCMDdBNDVERTU2RTQ3NjQzN0RFNDFEQkY3RDE3OEE5MDJFODk5MDIxRTgyMkM1MTFDQ0Q0RUFBMjEyCi00Njg3RTQ3NUY2ODE3QzA5MzcxOTgwMEFDNUU5QjZGNkY4MEM3QTI3NURFRDM1RTdFOEYzNUQzNjVDMDcwNjU0Ci1EQzVBQkVDNTU1MzZEQzA4NTgwOENFOEI2NTc3MTFCOUNFNUYyMzQ3QTVGOTk4MDhFREZDNTc3RTU4N0E2ODc4Ci1ERUMxOTBBRkZCQjVFNDQzRUY3MTlFNzJBOEI1NTQxRUVFNjcwRTkwQjM2MDQyNzEyRkJCMEFFRUQ1ODVCNzBGCi00MjYwRUM2Mzc1OTBBRUNDMjQwN0E3REFCNUQ3ODlBQUNDODE5QzM0NjA4ODFGQ0JEMEJERTNEQTIwRTVBNjJCCi0zQjAyMUNBQzQ2REM5NTU3NTU5QjQ4M0FCNDFBQkQ0QjBFQTQ5OEY0ODM3MzA0NTQ4MjY4OTFFQjkzNTIzRjMyCi1DMDc3OTRCRTJERUMzQTg2RjBBREUxMjhFOUZBQUU4NzlBOTYxQjA0QzEyRjFGMEU2NUNCODY5REY3QzZBNzlGCi1DN0NFNjM1MTYzQ0JFODc4QjNFODcyMzcwNkFCODNBOTMzNEY0QzY3RjcyRDI4QkQxRDAyRjk2MDBCRUVEM0QwCi1CNERCQzQyMzcxMENERTdGRkQ5MkM5NkU1QjgwRDc5RTIxNDJFQkYyMTZGNEYxMEE4NTdBNzQ0REM3QkNGRDQ0Ci1DQTU3Q0M5QUNDNzcyNkIxQThGMDkwMzlGNzdGMEIxQ0QyOUZENjRERkNENkExNzk5NjFDQTg2OUUzQUYwQTYzCi1DMUQxCisyRTA4MEMxMERFOTIzQzE5NUY5RkIzQTAzQ0FBRUVBNkE3OEU1OTk0QjJEQzNBMzE4RjA2Njc5OTI1QUJCMUFCCis1QkVFQkIyNTkxOTYxQzEzRjI1MjQ4REY3RTQzRDJGN0Q4RUYyREZFMEM5RjYzMzI1MDNFNThERkZDNjM1ODJGCitBMTIwQkY4MEU0MzQyNDkxQkZFMzgzMzAxMjkwN0NGRDkzQTkwQUEzRTIxNkQ2RDREQzBFQjgxNTE3M0RERTVDCisxQjlCMkFCNTQ3MDY3MzhDRDAwRkVFNTUzOUI2QkFGQTE5NTdGNUE5QkY3MEVFQkNDRTlDQzMwNkIxMUUzNkQ4CitEMDBCRjU1QTlGQTVDRkIzMkU3Q0RDQTJERDM3QTVCQjJEMUY5QThFQzBCNUMxRkI2RUI4M0FDQTlCRDMzMDI4Cis3Rjk5MUM0RTdDMUJBNTQyN0M5RDQ0NjNDODY0QjQ0QTBBOEFCRTQ1Rjg5RTNBQzJFRjQ1NEFGMEFERDU2NEVCCis4QTNCODQxNzE3ODQyODY2RTJFQTZBNjBBRDE5MjZFODYxQzYzMTFDNThCMTEwRUZBODkxMTU3NUZGRUM1NENCCisxNEM2OUI2MzBCMTVFQjk2QjEzMTAxOTVGQjEyNzRFQUEzRjNDNjAzRkJBNkRFNzVCNjZFNDc1NTYxOTdBRDZCCitGRDEzRDhCQUEzMTM1OTEzQjBBN0M2OTIyMzhBMDQ1MEY3NzM0RDQwODU1MkFCQzMzRUYzQUE4OUI3RDFDOEFDCisxRDc0Q0Y0NzAzMTE3REQwMzhDQzQ0RTI0MzI1RjAwQjNBNjc1OThCRTJBNkEyMTg1NTNBNzQ0QkM4OEFDNTEzCitBRjlGQjM0ODlGQkY1MDA3OEI0OTQ4QkY2MzdGN0Q0NThENTU4RThEQThEREYyRjJBNTQ5OEU1MkEzQUZCRTg0Cis1MEYyOEVBNDIyMjhDMUNCMDdCNURBODFDMzRENzMzRjZEQTNCRDAyMjI0QUE3M0YxQUE3RkRGOTJFRDlGRjBECitBRDcyNzcyMzFBRjJCQkQ5NTc1QzczREFEQUE5QTkxMTNERjM4OTlDNDNDOTcyNzUwQjE4ODA5ODE1OTc5NDA4CitCNDc3RDc1RjlCQUQ2REUwMzM5QTJERkQwN0I0MkE4NEZEQTgyMkQzMUFCNDcwOTZCODUwNUY5RkEyMDc5QjgwCisxMEREMDUwMzNBMTcxNDlDM0I3QTM0QkVFOEUwOTYyMjE0MzkzQTI2OURGMkYyQ0ExMzFGMzY3REVENjYzMjBECis3OUEwM0FFODIzOUI4RTVBMDk1QkI3RkM5MEMxREE3NjY4ODBEMjlBRkQ4NkI5RTdGNjFBM0Y3QTQwNkRENzhDCiswMkNDRjdBQjg1MjFDNDdGQTYxQkNDN0NGRkM0NUNFREEwNzI5NzJBM0Y1RjVDOUZGMDlDNUFGOUYwMEY5REQzCitENzdFQTMyRDEyMzcxQzIzNzdGRDIyNDlDNzRFOEZDREMxRTM4OTMyMkU3QTA2MTZBOTlDMTRBMzUyRUNEQTIxCitFNkNFMUJGQTkwOThDMjNBN0JFNTA2M0M0NjU0QUI5MzMzOEI0NjAxNUIwNUM4NTBFQTU0OUJBQzlGRjIzOTU5Cis5MTk2NkE0RjUwQzVGRTY3QzRENTY1NzYzMkJDRUExNEQ5RTIyNkE3OEYxMzcwNTI4MkFCRkVGMzZENDMyN0NECis4MTFCNDIxQjEyRTMxOTM1NjEzNjM5NEIxM0IxRDFDMkEwQUU5QzYyRDM3RkE5REU4MEEwMEFDMjVDREVCM0JECitCRjc0RkM4RDRBQzM1QzVFRjY4NzZENUMwRTI2Nzg0NzEwNkZFODA0QTE5MDk3MjhBNkQ3NTU0MkVDQTI3MUE3CiszQjRGNUM3NjFEM0UxOTVFNURFNkJCNTM1OThFQzc3MzIyQTIyQUFGRjdDMzk2NDlERTkxMzNFRUZBOUIzNjU0Cis1RDA5NTFFQzYzQTVDRkFGMzNEQUYzNkQ3Nzc4REZDM0FDOTkxNDkxOTI4OEUzQzQ3MEZFNkQ0MzkxN0QwNzMxCisyQkFBNzI0QTE0QzJERTUzNUFCQTMwMzgwQ0FFOEIxOTJEMEFDOThGRUMxRjkzQTQ5Nzc1NEIyRDNBRjc2OEVCCitBOTkwQ0QxOUE3MDJDNzcwQjdCNkRCMDYxNUFDNzkwRjI4Q0Q1NUIzRUIxQzgxMEFCQjYyOUVBQjkxMkFGNjg1CiswM0Q5ODc5OTcxNkZDM0U2OUIzQTZGRTQ2NDBGRTREMjE2OTI0OUE1OTg5QzA2OEFBRDVBNkMxODVDNzBFM0I2Cis0ODQ1QjA3RTNDRDVDM0MzNDBDMjlGM0ZCQjNGQkJBOEM0RjQwODA4OUY1NEZFODAxQTY3RDBEMzIwOTQ2REUwCitDRjgxRUM1RDRGRkUzOENGNUMyRjhERDRENTA1RjY2OEY0NTU2MURGMzVCNjExN0E3QUVBQUJENDZDRDNDQjgzCisyNkYyQThFNTFBQzNBNUY5QkExMzE4MTBGRTlENTQ4RjBBQjU0RDIwRkI0RkU4QjE4NDg2NDcyMEQyNkY0RDQ0Cis0M0JGQ0M2MDcwRkI4MzQ2NkYxNzI0NzY2NUU5ODIzMTU5OTQ4MjFERTBFNjkyNEQ0RjJERTM2MjFGRTI1RUEyCitEMUZFN0MyNjMxNTIwM0MyOTE5QUVBREY0MENDMjEwRUNFQTAwRTJBRUE3NkZDQTVGMzhCRTk3NEIxNjNEMTA5Cis0OEJBMDk4MjUzMjA5NTM4REM1QjRCQzAyRUVFOTlFNjhFMjM0QzIzMDBFN0VBNzI3NzUyNEM2RDhBOTJCNkI4Cis3MTY5RjE5OEM5Q0U4RkM4NjI0NjdCNTI4M0VFODUwRkVDMjY4QTM5NjU2QzM5NUIzNEVDRDJBOTkwMDIyOTM1Cis1NjczMDc3RUM4QUQ5ODMzRTY4NzRDOEM5OTIxNDlBODM2RDMyNzI5QTE2OTg0QjVEOEExOEEzREQ3QTdBMDRDCitGNjU3Q0I0NUE1QzAwQjk2N0IyNjg2NEJDMDI4RDZFODRERUFFODgwQzZDNTIxMkQ1RjRGQzI5MjlDNEJDODE2Cis2MDc1NTZFOTYxODgyOEY2QjQ2MkNENUQ0ODdGMjgxQjQ0QTcxMUEzN0I1MjY4NUYwRUI4ODE3NDJFOUM5NDgzCitDQkRBMTI1QjUwNTg1Q0MwQTRGQ0Y4MjVENzM4Q0M0NkI1RjFENjkzRUNGRDExNjM4RDY5N0ZDMTZFMkQyQzUyCis3Qjk5RjYzRDQ0NTZBOUJBMDdGRkQ0RjVENDlCMjg2MjU2N0VGQjdCQzdDMzNBMzgzNUU3MjUyMDc1MjQ1Q0ZBCis0QkNEOTYxNDJBMjE4NUU3M0IxNjQ5QTM0OERENjc0NDA0NDREMkFCQzgwNTczRDQ3NjYyNDIyMTg2MkY0RjFECis0QzhBRkM1NTVCNjU3MDhGMDMxNTgxNDM4QjlCNjU4QTAyNjkzMTBFRDUwODIwRTM4QjNCODcyNUE2QTk3QjI5Cis5OEIwNEYxMjQ3RkVDMjVEQ0JGM0M5N0RBNTgxQzk4QzQ1MTg1QzUzNDNBMzU3OTUyQjE2QURFMzg5MzQzN0UxCitGREVCRjM1QkY0RjdBMkQ1QUY1NDQ5MkE5RkExOEE3RjdBOTdGOEJFNjlERUEzM0Q1Nzc1Mjk0NkQ4OUZCRUFFCiswQkFEMUQxQzRCMEZBQUQ3Q0VBRUNCMjZGMjMyREEwMzE0QzAxREUyN0IwRTVEQTk1NjU3NzVERUQ2RkM3NjlECitBNkNGRkY0RTlEQUYyRjRDNkZFMUQ0RkZFM0VFRjBBMUFEOEI5QTc5NjJBNTY2NTIzNjFCMERCM0IyN0M0RTUyCis0MzdFMDQ0NjMwQzkzQjY3QkYxRDYwQ0YyODg4NkJBRjQ2NUFBNkY0NEU0QjVCRTkwMUQ4M0M3RkJDQzhCRjQ3Cis5QzVERkQ1NUU2QjlCRjM1MjBFODU5OEQ1ODhCMTk5MkFCRERBRjE1OUJGNDhERUZCMkMzOTNBNjE0NENGQjU5CisxNURDRTBFRjBFQzMyQkQ1RTFCMUEwQzdDMkRGNkIyOEYxNEQ5RkYxNjk0NzRGNzU1MUU5NzU5MDEyQzgwQzcxCis0NTgzOERBRUU4MUFFQjE5QzBEQ0RGRjY5REJBRjhCMjc3QTQxNEUzNDA2OUVEQjk3MkQ0NjI2NjJBMDVENTYyCitDNTJGODlDRDI2QjRGN0FCQTYyNkUzNTk0NDI4QzdDRDMzODcxNTY4MTg2OEQyMTFDNThDOEFCNEE4QTFEM0FGCitEOTdBOEUwQ0MxRjA2NDQzQTAyNDRGNjA1NDA4MjgzQTM0RTAxQkQ3ODk4RjdEQjQ0RTU1MDg5NkIzQzIwRTI5CitDMEVDM0MwNjY2QkEzM0NCMzdGQzJBQjYwQ0JEQUNGQkM3RjAzMUUwNEZFMUUyQkREOEI2NkFBRTVDRkFDNDJGCis1OUFGODE0M0RFRkZEMUEwQUY3OEJENEIwRjMwOEMyQjM2Nzg5MzlDMTEwMUQ2QzlDRkRBQzM2MEQ5OTkwMDQzCiszRTg5NTAxQkJENTEyQzlDRDgzMjFGQjRBNjFBQjc1QUNENzBCNTA2MDQ5OEUwMjQzMTk5QUI0MDAzNUU0NkVDCitCRjg3QkUzRkIzMUREQjIzQzM0OEI3MjA4NzE1REM2OURCNTI1QzRBODVGNjVGNTc5RDNEQjFEQzIwNzU3NEVDCitFQzkwQzZCMEQ1ODM3QzYzODRBRjc3MTI3NTI5Nzc4QzA1NzlDMDM3OUUyNDE5NEJDOTdCRUFGNzdBMDhBNUU4CitENzBBODMwRDI3OTczM0ZGMEY3RkRDRjAxMzdBNDBGRTA1NTVEQjlGNzE3N0Y4NDEyMDgwNUY2MEQxMjBEMDhGCis3MjA0NDVBOEJFOENCOEY1NEFBOTFCQTIwREFBM0JBRUZBRDhCQkQ1QjVBNjA4NkJCM0I1MjM3OTQ3NzQ2NkY4Cis5NTdGMEYwNjFGOTE5MzU1Q0JENDI4QzVENTAyNzc4MEVDMjk5NjI1NjdCQzhGNUU4Q0MxNkRBOTBEOEEwMkY3Cis0RDdBMDJGRUIwNUYzMDgzOEZGMTM1OEM5MjQ1MTMwREVGMEY5RDY3ODZFRDJDQzIxMzk0REM5MkQ3ODJGMjYwCisxRTc1NUZERjM2MzgwRkYzRkFGRjg2QjBBRkU2RUMzQzZGN0YwNjQ2QjFFOTY3Njg4QTJGOTA4OEFGNDdBMzRFCitDNTVDRjhCNEM0NDhFMUUzQTM0OTg3RkFCMUE3RDE4QUM2NUIyRDE4QjY3MkQ4OEQ5QzgyRDM4RDczRDNCNzZECitCQUQ3Qzg0MzFGMEYzQTdEMjRBM0QxMThEMTRBQTYwMzQ1Qzg3QUY5MkQ3QkY5QzFCRkU5QkFDNUI4RUJBM0JGCitFNjJDMjg5Qzc2ODg5NUNBNDM3QzRGMUZFMTc5QzEyRUM4MzIyMURCRURGODBGNDY3NjNBMEI4OTFFMDkxN0I1CiswQjIxNEQyNzRCNjY4MUFFMjU0NzIxMTcyQkE3QUVDQkYxMENFRkQ2Q0Y3MUY5N0Y0MzMxMEFFMzFBNDExMzAzCisxOERCQkM0REQxNDMzMjZBMjJCMEQ1REEwMUZEMzI2MjczODNDOTU4QkYzNTJDNzc4NTRCQ0Q2QjVBRTUyRDRBCiszNkQ4NTBDOTFDQUMzODYzMkVCODAzOTZFNjc3NTEzNzMxMTY0QUNDM0E3MTk4MDU2QjQ2QjAyQTgxNzFFRkMwCitFMTlDNEUwNUE5MjE0NTY2REQ1QzM1OEEyRUU2RjIyREQ0MDFCMzNEOTlCRjVGOEI4QkQwREVBQjBDNkM1NDRBCitEMkNBRDc4NTIxQjY5RjU4QjczMjFDMThDNEUwRTk3RkUxNjg0NzE2RDQ4NUIxMkM5ODBDNEEyNjM0NjZCNDJDCisyQTAxQkRERjdBNUQwRkM4REQ3NUE4Mzk1OURBRkI5QjdCQzg3RDFCNUY2MTcxQjU5MTQ4NzhCMzRDREZENDYzCiszRkJBRjM3NThGRDYzRTVFQ0UwRTg2RUY1RjNBRTFBNDY1OTQ3QUJGMzM0MjFFMTExQzVDNzZFMjhEOTRBNERBCitCMjU1RkMxNzJBQzQ1RDM0RTUyQUQzRjcxOTU5MUEyQkQ1OEFFRDg0QzFBOTA2RjgwMjExRDRBQUI4MTg5ODM4CiszMTNCMzlBQTcwQzA0NEMwMUNCMDlERjY0Q0NCNDI2NDgwRkM2MDA1MEM5NjVGRDA1MTg0QzA5MjNCRDgzODdDCis5Mzk3NkExQkI1RTMwNDlDQkRBODkzMDdFQjk0ODdCRUM0Qzk0NkY1MzdGRDI3OEQ1Q0MwNzY0QjkyN0FEMzVDCisyNDlCM0Q5MjVDMDQzNEY1NUQ3OTlEMkY0MkZENkE4Mzc5RENBQjkzNTAwMjVGNjEzOEVENUJDNEFCMDMzREMwCiswMjQ0NUNFRjdERjUyQjQyQjNEODQxRTMyQTk1NzEwNEIzQ0RBMEE4NjM0ODg4NjcwMUEzOTc2M0M1QjlCNzQ1Cis2QzI0NjQyNzg3RjRDQ0I5NTkzRDE4MUQ0MDcyMTE2MTc3OEQ2NUVCODg5NTE4NEVCNjU4Q0MyNjc4MjQ5NzhECisyOEVFQ0JEQUM0QkZENDI5QjJGQTExN0I5RkQyQUEzN0JCQTUyMkQxQ0QzQzBEMDI3RDBGRTExRDJEQTE5RkE4CitCQkVBRjIwMUE4REIxNUNEMThCODhEQkZDQ0FFOTIwNTFCODBGOTA1QjYyNTdDMzkzOTVENkI3OTJEQzU0OUU1Cis3Q0FENDg5RDc5MDU5MjQyRDcxRjU3Q0ExQzEzQURGNUEyQkM4RUU0MzdFQUVBNzg4OUIxNTgzRkI2REI2NUQ0CiswQjRCOEIyN0Y3MUY0MjIxREM2Mzc0NzlCNjlCQ0IwNzFDODYxOUEwNzFEOEExOUVBMUY4NjQwODEwNDgwMEE4CiszQzA4QTJFNTVCQzc4QTQ4RjQxNkNFRDg1OEIyOUVFMTU1NjlFRTIzODI0Rjc0NzRCMjE1NEMwMjJCNEEwMjlDCitBNkIzOThEMTVFQzdBMzUyQzkwRUVGOEYyQzk0NjI5M0FBRTIzODExM0EyNDJBMzc4RUI0MDdFRkIzQzkxOTMwCis1Rjk2QjlBOTNDMzIwNjQ4QzhFQTBBQkZEMDcyRjkyQjk1NEI2NEU4NEVFOEI1ODIyQThCOEU5QzJFNjcyRDAzCis5Q0ExQ0E3OTVDRTFGMkI2RjM0NTkyNkU0NzVCRDQ3QzQ4RTRFRDBFRDcwMTBERkE0NEMxNEQ4QkNERUMwQzdGCitCRkE0NzMyQTczOTc1RjFDOUM0ODM4RUE0MzgxNDlDRTYyREIyREQ5OTkzNTI4MzU3MjM3MjAzOUUwOTRFNjkxCis3NEY4ODAxQUEwRTQxNDc4M0U5NTdCNURFOTlFNTVERThCOTlBMEQ1M0QxQzcyNUQ3QjQ2OTU4N0M3QTI3MjUwCis3MTcwOEFCQTkyM0IwOEIzN0YwMTQ3MzY0RDlDOEVFRjc0RkU3RUJDMDZDNjQ3RTJDRUVFNzdFRUVBRTk3QzEzCitBQTBCMjU1NjhFRjhGQ0Y5NzFDQjVBQTJERjA1RDJDRDJCMDNDNzkzNTBDM0VEM0VCRUE4NDA4MjUzQTFFNzZECis5QjY0NkRCMTE5QUEyQkMxRkZERDU2Q0RBMDIwQkIzRTA4QUUxNkFCMEFCNDE5MzI1MzhDRTRGMzhDNjk0NTVGCitGQTlDRkQ4MENERjhGMTc4QzQwMkE2QjMyOEYxODJBRjg0MkQ3QzQ4OTE5MUIxQzU1REM4MzNDNDE0RDI2NDFDCiszRTA3NzBENEYzQzQxMzgzRjI2ODlEQzQ5RTlGNTYwQkZFRUQ4RTkzODhDQjhDMDQyQkY1MkE5MTIxRjQ1NzhECitGMkI5NTc3ODZDMTI1MjQyMkJDNjVFQjkzMEUxM0JFNjE0NDE2MzQ0QzgxN0ZENDBFOURCNkI1MzkyNzlCOTBECiswRDg2NUY4M0MwQ0IxQUQ1NjdCMUI2MzM5QzBDNUY0N0M2REJENDU2Q0I0NUI0RDI3NzY4RTcxQkEzQkU2MjEyCis0NkQwMjM5RDk3MEI0RDZFQkVFNTJDNEEwRERCOUYwN0Q2OUNERjE5MzU2OTY4ODc1NDgzNEJFNDI2MjQ0MTZDCisyNzEzNUZFMTUyQTJGRUFDOUNCOThGMzA0MTY3NUI0QTRDMzIxRTNCMkE4NjgxRTc2QTAxNjA2NDRENUIyRkY5Cis5NzBEMjAzNUMzQzJBRTNFMEM2MTc2QzdERjdCNDZCQzgyODZGMjk1OUQ1REQxOTAwNjEzOTVCNThGQ0E4QTBDCiszNUUzQ0UzRTU2QjVFNzUwNEVCQ0M5RjY0MjIxQ0MwNzA1NkQzQjdCQTgxRTkzMzY1QTIwRUE1OTJBODUzQTgyCitFMjYxQTRDQzdGMkE2QkJEMzY2QkEwNTE4MzdCRDNBQkI1REE1RDdCNzAwQkVDRTZFOUNCMjk2REZFODc3RTBBCisyRUFFNjFCMzg5OEVENEJDQTQ2QTA2RDZFMzA2NzBFNkJENEI4NzQ5RDk5MzQxOTY4OEM0MzBCQURDMTk2M0E4CisxRjEwQjY1N0NEQkQyNTY1M0E5RjMzNDAxNjg4NDc4RTlGQjAwMzA5Qjc1NkFGMDVDNkYzRDBFOUUyRjM3MjZDCisxMkRGMDQ0NTYxRjA4NzhDODEyQTlCNTU4MzBCRUIwQ0VENDg1ODYxOEZDQzIzNUZENkM3RDFGNjE5OEUyNzhCCiswRDRBMTJDMkI2OTk0RUI0MUQ2ODhCRDdEMDZDRkNFRUQwNDNEMDU0NEE4Mjk1RjgxMUI4OUUwMDZFNDcwNDQwCis0QzhCQzM5QTIxQTVFMDBDMjZEMDdDMzdEQTk1MUVBMzZGOUNGMkJGNDQ3M0Y0NDQ5QkU4MTZFQjczM0RDRjI1Cis5OTIyMEU5QjNGOEUwODNGRTJBN0E3RjI4RDVGQTg2N0I4NTYyOTkxQTU0M0Y2NEQzMjNFQ0FEMzcwRENGOEZCCis5NEUzQTEyMjFDMTJDODRENkVDQUY1NUFFNTVCNTkyMEY2MEYyMDUxREUzQzMxNzlEQjQ5QzNFNDRBNkQ0Njg3CitGQkZFQ0M3QTAyNkY1OTA4MDYwNDFEQjhCNUUyNjk5QTI3NjhBOEU0QjM5QjRDQzNDOEEyODkzN0M3RDI2NEYwCiswQTE1NTY5NjEwNkZGNzRFNjA0QjI2MjE0N0NERjIwQUM5QzMxMDY0NEY0NjU0NEQ5ODM1MDE4MzhBNTZBNUIyCitBQzFBQjMzRjQwNTcyRjFERDExNzc1QzJGMDU2RjE5Q0NDRDJDQkM0NTIzNDc0MkRCNjVEMURGMkQzQ0UzNzBFCis0RjNCNjQyODNCRkREQkNGQTUxMzMxNDE1Q0I3OEUwM0E3M0IzRTU5Mjc2NEY5Q0FDRTdCQ0Q2OUM0QjQ3NzE0CitGREYzRTNBRTM4NERBOTA1MURGNTIyQTU5RTNEOTQ5OUM1REUwQzM1MkE4ODA2NTAzNDhEMThFQUUyM0E3MzdCCiszOTg0MEU1QjU2MTI3QzI5N0NERUY1MzcyNDFGQzFBNTNBRkYyODNGNjM5M0U3NEUxRjAyQkVERkNERkQwNjY3CiswQkE5OERFRUUwQ0ZEQjVFMEMwM0NBMUNGNUQyNzIwMjgzRUIwMUNFRkIxQjc5OTc2RDZGNDA2RkEzODlCNTlDCis3ODk1NTlDRTNCRjJFQ0I0QTVDQ0ZGMkNGQTg1NUVBMkZFNjkxN0VDQ0FDMjU0MzhEQURFQzcwOTcwNkUwNzI2Cis3NzJBQjE1RDZEQ0FFMUYzNkFCOTFFQjU4M0QxQ0ZDQkU4RTAwN0MwNDM2NkNFRkE5MDVFOTc4M0MwMEQ0Qjk5CitDQTRERTBBQzg3OTJBNjU4NUI4RDQ3MTI0MEI1MUY1QkI2MzhCMkQ2M0NENUFEOUMxM0VDQkRFMzE0RjI4RUY2Cis0QTRCMzJEMzY3OUJDMDAwOUI3ODQ1MTk0QkQwOTA1NzEyOTIzRjg4NTU1QjlCQjgwRTE5NTdEOUNGNjM3OEYzCiszMUFCMjkyQjA5MjBEN0E3RjRENTE5RjhDOUE3Q0JFNDk4OEQxQzI2RjlEQTYxQkZEMzkyQ0I0NzRCNEJCNjY4CitGRTc3RENGOTUzREU4QjlERDE2MDhDRUM0QTI2RjFBQzVERjJDMDk4NzNDQzYxQjY4ODUwRDI5NzYxRDcyN0U5Cis5MTJCNUVCRjdFNkU1N0M1MDNDMjJGMThBQjRGQzA5NEUzQ0E3REI3QjAzNDUyNzYxNjZFQzVDRjM4QzI3REMxCisxRjMzNzIyOUJBNTNFQjE5NzAyOEZFNjgyOTkzMzI3ODk1M0FEQ0Q2RkU3M0FBMTMyMDRFQzE3OTVGMjVGNDc3Cis3NUEyM0VDQzE4RDU1NDI2ODQ2N0VERjcxQTNFNDY0MjU2NEYzRkRDNjIyQjIzRDU5MDk5NEE0REFDRTAyQjZECiswNTkxRTEzQUY2RkEzODIzMTM2MDFBNkZEN0I2Q0ZFRjAxNzkyNzBENzVDNDA2MzVBMDY0QjI1NUMxNEM4Qjg1Cis4REI1NTRCMzBBMDY0QjdCN0ZBRTkyMjUyM0U1MTlBQzg3MTYyOUMyQTczRjk4RUUwMTg0MzA2Q0U5NjA5QzdCCitGRjA2MjgzQTA1MUU0OEQ2RThFRkM2QjYyRkMxMDEyMjY0Q0JGQzI3NEM5QkMyOEIxMkNBRDc3QjQzMzkxNTE0CitFM0ZDOUVCQTk1QUREMjQ4MUI4OTQ5RUY0RENFMDU4NUJFMEU4RENDM0Y1NjRFNEEyQjVBMDBEQ0UyMzI5Mzc3CisxNDk5MzNEMjdEMkFDMTkyQ0E3MEY0Qzc4RDc1OTg1NEJBQURGMjI5RDIwMjY0RTcyNUQ4ODYyNjMzNzVDREUxCis3RkMzQzJGQTJBRUYwNTgzQkU2OEFDNkM2OTRFOUMxRDVENzYyNzNDOUVENDc4NkE2RjBCMEY0Q0I2NzBGMkUxCiswNUVCNzg5NThCMDM4Q0JCRTBCRjY5MjZEQTM0MTJGQUE1MzI2OUZBNjBDNDVFMzUyRTJGNjYwMDBGOUNGMTc5Cis1NzBEMDFCNzk2Q0FGOUIyREVCQ0YzNUE3NTlFMTAyRjU4OTAzOEVCMDZCQzVENzA0N0I5MjM0RkZDODRDNTdECis0NzEwREMzMTQ4OTU0RTI3QTNFQzdCQjdEMzA2OTQzQjBERUE5MkEyMUI1MkQzMzkzN0FDQUU1MUE3REExQzc5Cis5RkVENjIyMTU3QjUzMjc4NEMxNThEOUIxMzc3NDFEM0IzMkM3MDAyOEZFOTlFNTRDQUE5ODYwMkU2MDM2OTJECitFM0ZGREQxNDg0MzFCREZGOEFGRkM1RkJCMTBGN0YzMDRBNDI0MTBGQjU0ODY4QjQxQjIxMDRBODUwMEZGRDY0CiszNDM3QUZGOTcxN0U0ODE0RjkwRjc0MjgzM0VFMEU5NjAxRUQ5M0VGRUE2Q0MxNzRBMDdGNTdCNzcyN0Q2QUVGCis2Qzk0RUY0OTA1MjU4NzI5MDIzNzAzMTg4QTZCNjkwMDREMjVFRUE2RjJGREE2MzU3QTBBODNERDQ5RkEzQjFECis2NTI5RkRERDg1NzZDOEQyNDlCODdBMDA5OTRGMzE1QjJBREUyMTIxNEFBOTY0MkE1OEQyMzMxRUQ0QjJBNjMzCis0MzI1NTAzRTlFNEQ5ODkzNEVGQjM3NENCNUExRDlDNzZEMDNBRkRFOTgyOUY1RUEzQjIxQ0Q2ODUwNDRBRTFECisyNkZCRkFDODMwNjhCMkFGNEJCOTM4NDFGMUNFODlBOTJCQTdEQ0Q1QzU4QTAyMEMwMDNEMDFCMzg5QjMwMkYzCitDRTk1NTg4RUREQkQ4RTZGMkFEMUZFNjZCMUEyN0M5RUNCQkYwQUI0QTRFNDcwQ0UyODhCNzU5OURBRDMxRTA4CitDNzUyMjUxQzIxMDJCOUI3OERFNTg5RTJFMDkxNEE0REMyREYwQkFENjZBNzlCNDQ0REZBNDYyNEM5RkVEOTQwCis5QzQ5QUY1MTI3QjZBNTM0OTI4QURBOUU5NzFCMDcyNDVFM0U3QTVDNEIzNEEzMENBN0E3MDNCRUU2NTlDQkEwCitFN0FEQjhFRUM4NDNCQUFENDZCODY4MUFGNDA5OERFQURCRTdCNTZBQ0MyQzUxODdBOTYxRjEwNUFGRjE4MjUxCis1Q0I4Qzg4NkZBRUE0NTNGNkI5REFGRjhBRTJDRjBGQjZBQ0ZERkM4NzI2QjY1N0JDMTNDOTNGNEY0QUYwRTVGCisxRkQyNTlERDcyNEQ3QTRBOURFQkU4NDRBM0U4QUFEQ0FCMUE0MzdERUM2QTQyQkMwRkE2Q0YxOUMwREE3Nzc3Cis5MzkzRkU2NTBDRkVBNTc2MUVGODI0RTk0NkJDREU2OUI2QjlEQzcyRjIyOEMzNEJGMkQzQTI3NUZFMUFCM0M0CitCNzY2NDlGRTE3OTFFMzEyNDg1OEY4QjYzNEQwQ0M0QzY4RTUwQ0VGQUY5NkM5MzZGMTYyNzA4OTFCRUFDRDcyCisxQTgwNEVFQ0Q3QUEwNkQ4Q0Y5MEQxRkREREI0MTJCOTgwQ0EyQjgyNjhFRkE0OTMyOEJDN0U3QzdBRTAxNkM0Cis0RTFEQzQ4MTE4RDYzNUNGRTdGREJGRTIyM0I0QTYzMUE5NDY0NUNFNTIyOTg4NjIxQjI2ODU4RUNBN0RDMTIyCiszQTFGQzFCMTQ3NTA5OTBGRjcyMUYxRUI3RUQxRDhCNDQ3QTUxQTBEQjJDNzIxNDA5NzA3MjQ1QkMxQkI2QURBCis5MzAzNzEzQ0JBN0ZBMTg1MDUyQkJGMjU0RjU2MTNFRUZCNUE4Mjc5MjEyQUJDMzlFMzQwQ0RCNzg0NDQ1OUQyCis1REZCODA1NTMxQTRFMUJGRTdBMzc3QTAzOTVGQUZFQjhDRUJGRkY4ODA5RUM1NDc0MDQ5ODZCNkQ3ODc2NzUyCitDOTE4MUUwN0M4NEUwMTE0NTg4NDUyODQ0MDIwQ0YxMDI4RTVCNzgyRjdEM0YyQjcxNjgzNkI2NkM4RTY4QTIyCitGNTVFRTQxNjA2RTBBMDM1RkMxMDlBQjdBMjk0RUEzRDUwNDI4NUYyOEQyQjkwNTRCOUFEQUUwNDA5M0NDQTZFCiszRjc2OENFNEU1ODdGODVFMjk0OTY3MDhDQURBNUJENzcxOUQ0NjUwQzY3RkIxNDU4MzUzNjg3REZDRkUzQjZBCis3ODY4QjRCQzdCOTgyNUE2MzcyQjEzRjQ1NUM0NTREQzM3QjY4MDdBOTA2OUQxN0U3RTMzNjM2MEIxMENDRTE0Cis4Mzg2MUQ2MTMxOTkzRkUxNDhBOUJCOUY3NjgxRENGQTQ3N0Q1RTNBM0U4MkNFMDA2NTBGQ0U0MDYzOTk5MkE2Cis0RDEyMDZDNDJCQjFBODdCQjNBQkU3Mjk2NkM0OEY4NUY1MjM3QTdBMUFDRjdFNEZENzExMDVBNjVGMEQxRjAxCitFMDFDN0I3REVEQzg4MTk4QzdDQ0U4NjE3RTEwOTA4MEJGRTFGMkFBRTZBRkQ0NzZBNzFGNEVFNjdFRkI1NjkyCis4RjM1MDQ1QzNERkE4QjE4OTU3RDg3OTIzQzY2OTUxMDgwNDE0QTIyOUY4QzgzQjcyQTg1Q0QwNjBDNjk3MUI4CisxRUI5OTZCNEU4RjEzNTM2RTM5MDNCQzQ5RUVCM0U3MzZENURDNDFDNjMzNTZGMEZFNDY4Q0MwQjg3MkU0NEU1CitFN0I3OERBRUY4QzBGNzlEMjZGM0VBNkYwOEM4MDI1ODQyOUYyMTM5NDkzN0IwMzQyMUYzOTAzNTY2NkIyQTlGCis0RUI3NURGQzI5MDlGNjBEMTk2NjlBRUFGODkzM0UxRDVBN0U5Q0M0NUVDQzM0RDY4ODU0MTI0QjYyRDBGQ0MxCiswNTk0NkZFOUMwRTg3MjM4MDc1NkRGRTQzMUVFOEI1OTQxRjAzQzc4MzJDMUJEMDhFODE3NDIxNkU0MDE4ODIxCiszRUVDM0U0OTA5N0U4NDIxRDkyNzg1ODY4Nzg1QzZEODgzRUE4MTgxRTgyMEJFQzhDMzlFMzAzODZCNTlGMDk5CitCOEJDNEZCQzFEMjI2MDhGRkE4OEM0REI0MkQ3OTI5MEZEQ0U1QTY4QUU1N0Y3NTFDRDhDQzVBRTZDRDkxODFECitDMTFGQzA3OERGMjkzM0NFODAwQUY1NTRDOUQ4NTdBNThFMjlCNjBFMDFFNzdBQjE3MDMxODg0ODhFNENCQjAxCitCQzgyMUQ3MjU0QjBBRTFCM0RFMTEzQ0Q2NTg0QzE4RDg5NDcyQkU5RUJEMURGQ0NBMTVDRTgzRjdDOEQxOTVFCitFQTc1RENBNTMxNkNFM0NFNjA4N0Y4NUI4OTVGN0RGNzNEMTVBQkFCNkRCNzEwQjQ3OEMxN0YxQzE3RjdDNzcwCiszMkExRTM5RkYxRUFCNDczNEQyQkEzN0FFRDlBMjk2QkI1RkUwNkUyMjA4NzFGRUUwOENCNjdFNUY0Mjk5MzBDCis4NEYyM0RDRTBGM0YwNDE1Nzc1Q0E4NkM4NzFDRUI3QkVCRTY4REE0RDM5NzgwQjEyRDExRTJBOEE0OUYyNzI0Cis5NUZDRkI4MzZDODgwQkIzQkQzRUVBRDRBNEJENDQxNkNFOUVEQkVBQjRBRkY0RTA0OTRFQzhBNDIyOEE0QkRBCis3QjJERUQxMEY3QjFDNDZEMTNDMTIxQ0M2QUNCMTI2NjRFNDkyRTgwMjVDMzQ0QTVGNzFBN0I4QjNCRjA5OUUzCis1QkQwQTlDNzJCQ0QxMjk3QzYzNENFMThFNUI3Qjg1NzkwMkVFNDAzQ0IyNzVBRjBBNkYwQjk4NkVEOEIwMUVECiszQTk0MThBQjBFQzYzODZFQkQxM0EzNjA4QkMwRkQ4REM3RDU1RjcxMzRDQ0UzQzYyQkQ0OTk2NTVERDAzRkJDCitGRTgyQTEwQzlENEI5RkFERjdGRjA2QTYyQTFDNUZEM0M2RjRBRDgxOTU1NTFGODJEOTYwMDYyRkY1OEIyOUU1CitBREUzQTc3QkQ5QUQwN0EyNzdERTgzMzNEQzQzMUMxOEZCMzlGQzAzNUFDRUEwNjgxNzAxODFEQzU3MUMzNzRBCis2OUQ1RjA3RDBCNjRCRkY0QzNCNzlERTE1MkEwNTVBMEVFNUExODUyMkQ3NEU1OUZCRjc5NjAxN0U5QjRFQzg2Cis2QjEwOEE5Q0ExMzg2NDU4QjJCNkFBQjc5MDk3OTQ5NDJFNzBBRTE1RDk1NDNBODdGMkE4NzE1QTYzOUJEMkY4CiszRUMyMEY4RENERDMyRDIyMjhEQjA1M0JBNUIxRjU0QTczMzk2NTMzMkRGNTFGNDRDNkI2MjkxNjA5RTJDQzQ2CitEODBDODc1OUVCNUUxQ0U3RkUzRTk0NUMyODkyRkMxMzk2QUVBOEJFNTUwMUFGM0RFRTIyREFEODg3RTdCQjQ5CisyQUMzMDNENUExMDA5ODY5RTRFQ0M3RjJDOUI3NTlCQjFDMkI0NDFDODY2NDczQzY3QjZGMjQ2RTVFODFFQzU1Cis2QzBFMUUxMTc0NDBBNEM3MUVEOEY3N0ZGOUZFNzc2MDFDOEIxQkQxMzMxRUMwNjE1N0ZCREM1MkRCQzg1QTlBCis4QjZGMEE3RDU3OERCQTQ5MjNDQUJCOTIzRDZFODdBNkFGRUVBRDcxNEFFQjczMDkzMEIxQTA4QzMzNjhDRUMwCis2ODExMjUzQTU3NjMwQzFCMjVDNDE0OEZEQkVGOTRGNkI1REYzOEVCQjg2MjY1MTc4MEFGNDY4MTI3RUIwODRBCis5MTRCRThDQkQ0RTk2NTU3QjI3MThGMUYyNjIzREEzRENDMzM5MUNDNjhENzFDQzE1NDVGOEQzMDgyNzM2OTY5CitEODUwMTY1NkJBNEE2ODlENDFEMjMxMEY0QjdCMzZGMjcxRUYxNjkyN0NDODI4QzFBOEI1NDY3RDI2MjUwQkVECitBMUM4QThCQUU1OUI1QzY1N0JDREI3MzUwRDcyOEIyMURERjFFODQ4RDk0ODIyMjhDRDEyMEM4NUZDOUFDRERCCis5NzhBQzUwOUY5MzM0NzBFREIxQTMxQ0RBNDg1MEMzNjhEOEZGN0MxNjY5Q0M2MkMyODY5NzlBRTc0RjA3RkZCCitFMkZEQTA4NjlDMEQ1ODg0QjlFNDg0NTdFQzE5RUUzRTk1QjREQTk2MDVENjExREIxQTVDREMyNDg3QTdDRDBBCis3QTBDQ0RCN0JERjRCMDMyQjYyRTg1NTFDNEI5NDgwMjVGMjI0MDRDQ0IxODgwMUNGOUZEQUUwQzlDNzc3QjczCitBMjUwMDhDRjgwOTcxMkVCQ0JCNzcwQjI1MEVBOTM0N0M4NjQwNjRBQTg4Rjk0MjI4NkZFMUJEMDRFOTlBMzg1CitCMkRFMEVGQTNEQzIwRkE4NEUxNUFGNkI0Q0Q2QUNEQUY2NzcxNzgyN0NBRkI2QkVDNUMyMzU1MjU2NkM0QjNFCisyREY3ODNGMDlFRTdFOTg3MkQxODkyQURDNDlCRjkxMDNFMUI3MDVFQkNFMDdGNzA0MUJCMjlDMDk1MENFNkMxCitCQzcxOUFEQUZBQjdCQTM3OURDNDRCRjBFQjQyQTMwNjM4NEJFRTFDMjI2NkY1MDkwNjNBOTFGOTg5QUZGOTk0CitEQzk0MjkwRERDRTUxMUQ3MzFGMkQxMDE2RDIwNzYzNzdDRDQxQTQ0RUJCNTY5QUUxRTAxRDVCODI1M0Y1OEI2CisxRDgzNENGMjQzN0IxMENGMjJGOUVFOUJBQzNDOTQyRDU1NjVFODgwN0M1QzAwMDVFOUM3NjQ1MzFEQTM3NEEwCitEM0Q2MzQzRkNBQUM5MDNDNUY2ODQ1QUJGMTU2NTFEOTFFQUY2NjQ2M0VENTFFMDk4QkYzMUM5MTEwNTBBN0VBCis4MjZCOEZDQ0E0MkMyNjY0RkQzMUYyRDM3QTkzMEY2QkNDQTJCQkFFRTkyNUIyMzJDMDA1MTA3NjI4QkNDQzJGCitEOEVDMTMyRTIwNUE4ODhENzlBQ0MwQkY1NjUxRUYyQkM3MzAwMzE0NERDQTREMzBGMkUzRkNEODBCMUE5M0YxCitEMTc3QzFGNTU2QkZCMUE5MjVGNTJFODJCOUUzQ0ZGQ0E0QzY2ODNGNUVBMjM3QUI4MURGOEM1MzNERUIyRUE2Cis2MjYzREY5NTE5MzhBNjJBRjJCMDVCRjhEMUE1NjQ0REFFMDEyNTg5OUI2NDM4RDUyMjM5NDRDOUZDQzgwNzZBCis1Q0FCODA5QkVDMkVBMzIwMTZGRkYwQTJENjlFQUEyRjBFODVBQkE1MTE2RDNBMThFNkEyRDAxQTFGNTI1MTQ0Cis5NDUwMkNGRjc0NkQ4Q0MxMjAxRUVFQUVFMDQ4ODVDMTVENjZGNjJFNTRBREVBQTAwOEM1M0Y1NTUwRjc2Qzk0Cis2MkJFN0FDMEJGRDREQTcyM0U4QTYyOTFCMTRFMkNGRjRGNTk5NjVBMzlFQTI1NjcyNkQyOTZGMURBOTg3OTk1CisyRTFCRjcyRDE3OTI0Qjg4QkMyODVGMTc5OUM5MzBGREUxQzcwMUFDRjMyRTNFRkFCNUNCRjE0MDg0REJFREJECitGREUzNzExRkY1OEMwQjdEQkRBQUVBQ0FFOTg2OTU1OTc2N0M0QUQzNTgyMEQyQjI1NjlFOEE3RTE4ODRFMzYzCitFNTk3RjY5NTZBMDM2QzY1QkQxRjM2MDg1NzQzQUFGODQwMEYzMDI4Q0U4MDZGNEJBNzIyMzAwREE4QzE2RUQwCisyNTYxMzM5MTAwRTI4RTA3RjdGMzcyRkE5Njc2MDQ3QjQ3MTc3NzI5MjA0NUFFQ0IzNTQ3MUJGQjAyRUUwNzU0CitGRDJCMzIxMzg4QTdEMUVCRTVEQkNGNzBFOUExRjE0NEM4MEJFQzVGQTc4Mjc3QzE2QTkwNzNDNkQ4M0IxOUZDCisxQjI4MTcwMjcxNjk2NjBCOEJBMkVCMDg0NDVCRTFDNjZFRjIxMzVFNDUzRjQxRkEwOTRFNkFCNEQ1MDUxODdFCitDNjc4MjFGQTU5QzkzMjIyNTMxMDBFNDQyMkQ1OTM2MjdCRUZDNEMzMDI5NkFCRUFDQzcwNEZDRkVCN0VBNTYyCisxMkM0RDkzODM5RjI2REQwMTMzREY1RTgzOUM4RDMyQUMyNzNCMjkyM0IyOUVERUQ3NDM2RkE5REU4RjkwN0ZGCitCNkMxQTE1MjQ4REE2NTQ4QzUzQzI1MDZDRDlFOTlCNjI3QkVEN0M1MTg5ODhBREFFQjdCREY1MjMzREQ5REMwCitGNjg2MDgwNzkyMjBBQzJCRjNBQzczMDYwNUU3ODIxMzI2NDBCRjRDODY5QTk5ODNBQTM4NjFDNDc0REY5RjQ2Cis1QTA2NDQzMTM5MTdENDI2QjE0MDhBQjM5MjE5OUE3NThEQjRBMTVGQzJBQTk2NUJGQjA4NTRGNDY5OEUzMzQ3CiszNjhFNDAzOTY3MTU2MjBCNUQ3QTIxRkZFOUM3NjM2REFBQzdFNEIwREQ0NEQ5RDZFRTZGRkFFNDdCOTk2NjFGCis3Q0QzNjAxRkNDQ0I0RjA0ODk5OTZGNkUxRjUxMEY3OTE5MkY1MENBQkIzOEM1MUE2QTNGOTU0QzI3NDhBMEFECitBNjkyMjFFN0FDQUI2ODFBQzgxQUI1MkVDOTY5RDVCOERBOTZCRDZCMzQxNDVFNTJERkU0MTlCQTVBODI1NTYxCis0RDJCMkQ4QjMyMzc2RDE3REU0QUFGRDcyQkI1NDk1NUY2OEJBNzkxRTAxOTU3RkZEMDJCRUUwRjRCRUIwMEU5CitDODI5QjY2ODJFNkI2RjQ0NTRGRDNCNzlDMTAyQzJDQzYwQkIzODQ4NzhEQTA1N0NERDE0OTNFMEY4QTVBMTVGCis4MDAwMjk1MzM4RERDRkZGQkNGQzQ0RjI3QzJERkIwN0ZEMEVDQjAwMThDMTkyRUZDMzRBNkRDMUY5MTc2ODUxCiszRTAzMjhCNjJFNTg5MTU0MjQxNzIxRTA1NDE5NjI3NjVGMDE5MEE5RDE3Q0YyMTlGNjYzMTI1Mjg4QUUxOTZFCitDRjZGNzg0QTdBNjM1RDhDRkY2QTc2RDBFMTE0NjVFQjhBNjNDMkE0RDRFOUE1QzI4M0VEREFBNDg5QzdGQkQyCis3M0NGMkM5MUEwQTFDMzMxMTBGODhENUI2RDI3QTBCMzUyQTZCOUUxMEVCRUJEQjNCODI2RUVCNTA4NDE1NTRDCis4QjY5MDk0QzY1NTU1NDI5MjUyQUY0RDNCOTI0Q0Y0MTFCRUI5QUVCMjM1NDI5REU0OTM2RTc3OThBOEQ2MTBDCiszNzdFMjk0QTE5QjFEQkQ5Q0RGOEE2M0Y2RDdDRENFMjhCNzJEQjRDN0YwRjZFQTFGNkRDOEY0Njg2QjNGMUUzCitCOEM2N0FBNzM3MEQ2MDdEQjZERDAyNjMzOTNFNjQ4NkFDMDlDRjZCNDg5QzQ1QzlCMkU4QjJDNzI4OTFEMzA3Cis0ODhBNThFNDQwQjk1NjMxN0MxRDVGQjhGOTg5MzBBRjA3NjgxODc4MEQyNUVBMkMwRDA4MTlDRDdFNUNFQjdDCis0OTc5ODFENTRCMUQ4RjhFNjJCQjA3QjJGNTI0Mjg4M0NGMzE0MzMxQTgxQkUxMURCMzc1Qjg5NTIxMkI1QTgzCis0RTY4Mzc3REM1MzJERTZDOUY2Mzk0NzRGNTE4QjYwQ0RCNUNGQjlDRDNERDk2M0JENzIwQ0RBQUJDODJFN0ZECiswRDU0MDQ0MkZBOTc2MzQ4OEI3N0EwNTkyRkVGN0FGRkJCNDBCODBDRDBGNDJDRTczNjE1RDcxOTAyMTlBQ0I1CisxQkRBQkFGRDRFNTFERUI0QUIwQzI5NjczOEFGQ0FEMzZFNTdBQ0EzMENDREEyMkI3OUU2N0MzQ0Q4OUFGNjAzCis1RURBQzc3QTMyNEI2QTBCQjRDODlCN0JCMTdFRjQzQTFCQUFDRENDOEEzRTYyNkI4QjExRThERTczQkZGRTA3Cis0NTIxMEY4QkU0RTUzMDYyMzg5MEY0MDM5QjY1MTE3RjA1MjNEOTI2MTk4OEYxRURBODY0QUVCMkIzNzUyOEM0CitENUM2QTBCRTBCQkQxNzBFNTA1NDUxQzUzQjM4MUZCRDNFQ0I3QTMyOUY3RTY1MDFCRUJEQTIyODQ0MENGRTEyCis3NjhGNUZDOUREOTQ4QzZFOTIwNjBCNjQ0NjVERjQ1MUFCQTBCQkVGQThEOEMxQ0VDNDM0QUI4MkZBOTc4OTY3CiszQTAxODEzQkJDOTE0NzEwNUYyQzQ5NTA0Q0Y5QUE5Q0ZDRUU0QTk3NkRBM0FEQTBENjIwN0RGNDM1MDFFMDZGCis1MjI2QjZCOTA0MzM3OTBBQjI0MDA5RUQwMDVGNUNDMjI4RjA1RTIyMTQ4NUU0NzUzODlBMjUzMTI0QTQ5MDc0CisyQzM5ODM1MTdDQjczMUI1MEYyRTQwMDNCMUUyNUY2NDg3OTRBOUFEOEU2NEJGRUUyREEwODNCMzJFRTJEMEY5CisyQ0U4ODIwRUVCQTlCOTFFN0QxNTYxRDhCNEZDNDVFRDY2Qzk1RDM2NDUyNEZFN0NCQ0Y3QjE2RUU5N0RCNzM5CitCOUI0NUREQjhDNDU5MThCMDY2NEY2QkU1MzdBRTE0NjcxRDhBRUMyRjQ4MDczNDFBQkJGRUE3QTFDRDYzQ0RDCitDRkRDRUVEM0RFMTAzNUFDODAzQUY0NjMwNTk4M0JEMTU2QjA4OUFERDBBODFDRDk5ODgyODBBOUUxNkJEOTAwCitBNjVBMzMyREU1RjNBMkUyNDMzREI2NjIyNTVGRDMxNTgwQzg4ODU0RTc1NDgxNzEyNUIwNTlGMTAwMDBBMUNFCis0NDFFNDBFRDUwMkJBN0Y2MjBFMjFGNkZBODVGMDExRjI4MURCM0NCNjM3MjNBOEE2NkM0RjEyODgxNzAzNTFBCiswNDJDRURENjExQUY1NTBFMjM1RTlFRDFCQjJFODc4NjU1RDY4QkE3Rjc2MDJFODQyMzdDNTJGOTlEOTVEQkY5CitGRjhGNjhFOThDMDgxMjA5MzkwMzY4QjY1RTRGOTQ1ODdGOUUwREQ1MjcxNDZBNTkyRDgwN0RBNEQzNzdDMEM5CitGMkRCQTI5MDgwODQyRTZEM0Y3RjM0RTExNDU0QkY1NEJEOUYzMTIzMDhBNzNDQkY0NjRDMDc1OEU1MTdEQjAwCis3M0Y0OTREMjlDRjAzRDQwRkI2ODQyRTJDQThDOEU3MzA5NTAwRjM1RjQ3REY1MDg0N0NGNDdBRTVGQTYwMjI1CitGNDY4REIxM0U3OTUzMkFBQTQyNzJBNDVGMUE1NUNCRjdFMEMwMUI3QTU0RDVBRDExODZCRDFENzNFNjAyMTYyCiswMUUyNDc5OEY1QkZBODY3ODdBNURBMjY5NUUzMzU0RUIyNUI3REI3MjZGQUIzQTE3RkEwOUE2QjIxMkYwNTFGCitGNkZCMzIxNUEyNEEwNUIzRDNGNEY5MzYzNEI0RkZGNDk2MEJFMTc2NDRBOTgxQjlGRTE3QjU4NkY5NTJFNEM4Cis3NTA2RjRGMDU5MEVDODUxMjhBRkY1QzdDRUZGRDZCQ0EzOTI2MUUwQzUyNzVEOEM4QjAzQTVDQjUyQzdENUNGCitCOTE4Mzc4MkUxMkFBMTE4NDM3M0M0MUVGMEU1RTc1OUVGRjYxRUI2MjdBQkZDQThDOTBEMkExREFFREQ3NDIyCisxQ0ZGREFFOTU0NzlFRDIxNjQ2OEFEQjI5RUNEMzI2NTRGRjc5OUMxRUI5MkM2NEE4NDRBNTVCQzUyRDUxM0M0CitEQjI3OTRGMkQ0MzZENEY5QTIyNENCNzYwNzgxMTQzQzYxQTkyMTYxRDU2M0YwQUZBNjg0MkQ2MUU5NkQ4RkM0Cis4MzUzMTAyQjI1MjBERDk2QjI1RTQxRjk2OENERTA2MUU4MEJEMEZBMDgyMEQ3Qjk4NDcxRkFCMTg4OTI5M0U4Cis1QTBEOTAzQjY1NzJCMTE2Mzk5OEIwMjQzMkFFOEQwMjAzMDRGMjAwRkU3NDNCNUFBNkUwQzBCNzczMENCMjYwCiswNkI1RUU5RkNERjRBNEJGRjJDOEU1MjM3MDM1NjVFQzdERDZDRjA3N0EwQ0YyN0E4MEM2QURGNTQxNDhGMjhGCisyQjc3NEUzNUUxRkVGNTQxNDE4RjM4REQyNTU2RkEwMUJDMjU3MDc2QUE5ODcyQjY0NTZDNkY1Qzk1OUJFNDA0CitDQjY2NzNCMjlENjM4NjhDREJEMTk5RDY0M0VFRjBENTlEQjg1OEZCRkQ3NTlDODEyQzdFRUM0NjcyMDIxN0VDCisyOTU1NDMwNzIyODg5NjJENDA2M0ExRjA4MDMwQkNDNkVBMUVGQTNEQTVGRjI0MEYyMTZDOTAzMjJEMzRGQ0JBCis5NTIyRkY1NjIzQTA4MkI4MjhBQzlDMkVBOTY2NkExQzBDMzM3MjU1MDJGODZBRUYzNEU4ODRFMTcxNjAyOTFDCis4NjU5REY2Nzg3MTYzMzE5MzBFRkFBNzA5NkFBMjZFNjI4NUJENENBODFCODg5MEQ0ODM3OEI2Mjg2N0Y3OTI4CiszRDc4QzIwQjU2NTVCQzE1QzgxOTYxQTAyMzgwNDNFRTg1RTA5MjQ3RTE4NDdFNDUzNEYwQURBQjRCNTFEMzlBCis5OTk0NDE5MTEwOUQwRkZENDgwOTM0M0UzOUZCRTM2QjA1Qjk0N0M0RUZGMkNCMjZDQUI4QzU0MEM3RDIxNUQ0CitEM0U0QjBDMTE2ODUxQTlCNDg1OERCRTdCRjlFMTk5NzU3NTdBNTlBRkQ2RERFNDI4NUI1NDYwMjAxMjNEMEFBCitDMDNBMDczMDA0Mzk2RTU0NTcxRDBEQkI1OTNEQ0UyRTRDMjlBMzc1QjgwMDE5NzBDQjg4RTUwMEU2QUM4NjI4CitCMEQwRTQxNENEQ0Q3RjVBQzE2NEQxQjAzNzk1NDQyQjdERUMwRkVGRTAzMThDMzI3RTc2NkRCMDZCMTEyQkRCCisxOEIwNjkwOEI3NjBCNDgwNEE1RjU1ODgxQUVFQkE3OTcwNDQ1NDg1MkQ3RUY0Qzc1QTU4QkUwRjAyQ0E0NkIyCitFNDE4M0Q0MzI2QUU3MzJENTEwNURCRDUwRTU1REUyQkMyNDA2QjY2NTg5RjcxMUE3Q0NGNENCQzNDOTVBRTYyCitCQ0JDQTU0RjYzNDQwQTZBMkVGMUY3ODk3RkZGQTREMUQ0Nzk3NjkxMzdFMDZFREE1MjcwN0VEMjUzNjM1OURDCitEN0E1NEVGNkUxQkY1RkY5MTdBQzJFNDk5QUQ5QzRFQTFCN0Q4MUQwM0M5RjE0QUFBOUQ4NUU2OTUxNzEyRTNECis4RTlDQjIzNzBGRjZEMDY4QTlEODAyMDMyNDdBRTAxNUU0RTFDOUE4QzI1MkRGNkYyODdBMUIyQUU3NDYwN0RDCis5NkE2M0E4NDZDMjRGMzQ2NUNERTNEN0M1NEExMUQzNUExNUVCNUJBOTk0M0FGREJGOTQxNENGMDBDQzFDM0FDCis1MTI3ODcyMThERTUyNkQ0NTQ5RjQ1MDYyNzlDRDI5N0RCQzg0QTVDQ0Y2N0JDOTIyQzRGMTU4ODEwNTU4ODA1CiszNDRBN0YyMDlFOTc3RTEzRTcwMDM4N0FCREVCRDlDMjYxNTU3NDdBOTY3OUU1RDBCMTVBODgyMEZEMUU5N0Y0Cis0NzhEQ0VBOTAwREFDMzc1MTQzOUVCNzNERTBEMEFGNDlGMUFGMDYwNjUxMUUzODEyRDgxQUQ1ODVBQTdFRUFBCisxM0NEN0VDMzNEOUY2QTkwMzcwRDUxOTgxODRGNDdCNzVFNkYwREZFNDBGMEFGRDJCRkRCRTQ2QjJGNEFBMjMzCis0NzYyMkI5Qjg2M0U3MjgwOTZCREM5NTU5Q0YwRkY1RjE3OTZDNTAyNThFNzVEOTBBNEFGQkFDNEExN0VCOUM0Cis0NjZDNThDOTYxOEJEQTM3OTY3RjE3MkVGN0RGQTQ2MTRCNDFGMDU4MzhBRkMyRTMxREIyMUE4QUJCQjkwM0U4Cis3RjVCQ0Y0RTRBMUUwQkI0OEJBOTZDOTk5NDgzMDU0RkFBNzA4NkVFRDRGMzI5QjE1QzczQUY3QTQ4QjRFMDQ2Cis1NERCRTBCN0JEQkIzNzdENzRDRjk3QjgxODRCMTBEM0VBRTM1NjY1MTQwNzAyRDNGREM3NkYyNUREQUJBNTQ1Cis1NEIyQTEwQzk2NTMxNUREQzFGNEJBRjA3NDk4NDg4MUZCRjVFQUE5MTM1NUZBQUI1N0NEMkIzNUEwMDlGQUFGCitCNTA5QzMyRTBERTQ2NTY4OEY1NUE0QkQ4NjI5NUI0Q0Y4REU2MzJEMUNGMUVEOEZDOUEzQjQ0M0JCMTFCMkM0CisyNkQ1NjY0NjVBREQyMkMwNjFFQUJEOEM0ODQzMEJBMjMyOTBEQzhBMjJGRTEyQTQ5RUY4MkM1NjBFQzI3OTBBCis5Qzg3Q0E5ODNCMTczQTVDQUY0Qjg5RUE5NzAwQTc1MTU0NkNFRkFFQTkxRjdGREQ2NzhDQjc3OTI5RERENUI5Cis0QTQwNUVDNkJDM0E0ODIzOTE1QTNDQzU4NDAwOTY2QTY0QjkyRDIzRERGODkxRUM4RDBBQUFGMkE0QUE2Q0MwCiswQUM1M0Y2RkQ4NzZBNDRDQzYyMTMwN0NCOUYzNEYwMzgwQjk5MUE1NUZGRTFDOUZBODc3NUJCODQyQjBDODlGCitEQUYwRDMyRkU5NTY5NDdFQkU5N0Q1NzAzNTgyQUFFRjNENERGQTkxOEYwMjg2MzZGODA5MjBEREUyRDNGRUJGCitFRDk5OEU1MzBENTlDQzkxOUEyREJGNkRGOTExOTIwOTdCMTYwQzYxNjgzMTBCQ0QxRjg2MDBDMThCM0RDNDZFCitBODk5OTc5Rjc2MkMxNDI2RUQwNDZEOTQ0ODZBMTQ5QjA4QjQ3NkEyQTY3REFGRkU4N0M4MTJDQzg0QTVBN0YyCitGRkE5NkU0NzEyNTkyQUUwRjNBRUY0MTk4M0IxOUZFREFDMDI5RUI2RTk5RDEzMDg1NkIyRTc1MTZGMTkyNzgzCis5QTU3QjMyQTA0N0M5NUNGREVFRjYxMkZCMDA2QzA3RTQ5QUEwQTkwNTIyMzJCRTVDQjI0M0M4RDkwNzhCMDc3CiswQkQxOUNEQjhBRjJDN0Y1NkZERjdCRDgyNkUxRDhFRDUyRDdEOTk0RUFBRTMxNjYxMzAyNjUxNjUxRUFBQUVECitEQjRDOEU2MkY5NzkzNTM5QkM1NEUzM0U2ODIyNjhBMTAxOTBBMUFEOEMzMDM1OTgyMUEyNkMxNzhFM0VGRTIwCis4QkIwRjE2OERGQkFBREZEMjk3NzM3NjQwQjdDRUU2QkQ2QUQ5NkFGMzg1NzA0OTBBRDdDNzQ3OUQyQTQyMjk2Cis5QkU1OTZDQjQ4QTBEREUxRURGNDZGQ0JFRTdDNjJDM0YyQjNGQzk4OTM3MUQwNTdFRkU5NTFBRkNDQzg0Q0Q2CitCQTgzNEVFRkQyN0IxNEY5QkUyMkJFMDQ3ODkyRDlEQjA1MUExMTc1NkVDRUJCMjdDQjhGMUExQzUxNkYwQjI3CitFREU2QThGRkM5NjQ1QjM4M0M2QjlGMkM1RDFFRjVDNkI5RDIxNDUwQkIxOTlGOTlCNjExQTYxMjRFMTg2OENFCis3Q0FGQTBBMjg3QURGRkQyQzhGMjhBOEU2OERFNkY3N0ZBQTAyNTZGNkQzNDMyRkM4ODZCRDE3NjU4RjBDMEM3CisyNjg3OUVCREQzRDAyMUQ2RkQ1QzIwREI3REU0OUNCMTFFODVGNzI3QzZDRkZEMTg4NTYzODc0NDczRDNFOTBCCis2MTcxQkUxQTQxMEI3NEJFQTM0MjM2MEMwQzk1RDg5NjNFMDNDMUYxODE2Q0U1RTc1NTMxRkZENDJEOUVCMzM0CitDQzIxMThDOTQyNjlFMjI5QUE4MjVFMTc1MERGQzZDQTEyRjYyODc1RTNDRkE0ODgzQjI4RTMwN0VEQzJERTUyCisxMEVDNUYwQzJDRDAzQTBCNzk2RTM0RDcxQ0U5MDE0MzhENTkyODhFRDFBNEJGMDYzQjJCQjA0MkREOUEwODYzCitGMzU2RDFBRTg5NkNBNkM5REUzMkQwNzE3RTg4MEFBRDE0NDBFOEUxQzM0RTdCQTgxREQ0QzY1MjkwNjM4MzY5Cis2RTM3RTc0QkRBMDlBRTJBQjFGQThERTJDQjI3QTg4RDQzRENFRjc3REFCRTI5NTI2QzAwNjU0MUVCMjg0M0JCCitFODNFQ0VEMEU4NzIxMzY2NjJEODEyOTVENTVGODYwQTZDMjE4M0RDRUE5MEQ5RkU3MDJGNTEwQzVCNjJCQUQzCis4ODM0MTEwMjkzMzE4OTU2RDE3MjRDMDc3OTRBNkY4RDZBMzEyMTE4MzMzQjVEQTNBRTA1REI3Qzc3M0VFN0FECitFQTM2QTM4RkM0RUJCMjFDRjQ2RTE2QTMzQjc2RDUwQ0E2Nzg5QUMxNjExN0NCMTI1NEMxRkRGRTVGNTE2NjJGCitFNDQyRDlDNTJBQTk3MUMwMzFGRTMzNzc0MUU2M0RBOEMxRDU0NEU2OEYwRjgwQ0M2RDJDRjE0MUVBODk2MzhGCis5RDE0RjFBNjNEQTE1MDNBQjIzQkYxRDdCMTlFNUUwRTU0MzY2MEYzQUJBQ0JDRjNEMEZEM0YyODhBOEVCNjk2CitCMUVGMzlDMzAwNDJCRkM0QTg5OUU0QjUyOEIzOEU4RUVGMDREQkRCRjA3MkMzMUZGMEQ3QTRGOEE0MDZGNkY5Cis2RDQwRDg2QzYxMzMwNUI4MkJDMUJDRTFEMjkxNTJENjNGRjAyNzcyNDhFNjE4QzQyQUU1RjM1QjAyMjkzRjNBCis5ODFBQkI0Q0YwRDUzNDk5NDRGNUVBNUFDOUJFNEQ3Rjg2RTE4QUVENjU0OEI5OEFCNkY2M0UwNDZFRDREMUE0Cis5OEJEODdCNUNGQzdDNTQxRTNEQzk3NDU1NEVGODgyOTBFMDBGRjA4OEE0MjM2M0E3NEI2QjJCNUNEMDczQzcyCis5MTdBQjdDMTVBQzQ0MzMzN0Y1NTUyQzE4M0FDODI3MUQ3NTg0RTk1MkUzQzgzQTIyMDVBQjAwRTE2QTk3NEI3CiswRDRCOTA4NDAyQkMxNkZERTc0NzU5Mjk1MkI1RDIxMDVFMjIzNDI4RjFEQUY3NEM4NTg3OUNGNzRDQTZEMTgxCis3NzIyRTgyMEIzMENFN0ZDNDkyRTY3QzNEMjlCMjJEOTk4QUVFQURERDA1NDY3NEQ3MUM5OEU3MjBDRkVEQ0ZFCisxNjVCRDM0ODg5OTkyQUYwNTc3OEZFNzNDOTkwODdDN0NDNjI4ODg0N0Q4NzlFQzc3QzIxQzczRTVBRUMxRDA1CiswOEJDRUIzNjg5Q0M5RDdFMTk3Rjk1MDg3QUY4QjE2REJGRDFCREMxQ0Q0NTA5NDgyMzdDNTRDNDA5QTlGRTg1CitCRjAzODU1NDU5NTQxMDUzNjRERjZBRkUyOTNDMzZFMjM2NjE2QTk4MUMyQjFBMjMxMUY5MzM4NDI2MjU2QTY5CitGN0E4OTZEOUJBNjUzMDYyMkQxMTkxRTgyMzE3RENBQUQ4NjIyQjUxREEzNTcwMTQyMDM2NjUzMTVFMDk0MDZBCis2OTFFRTREOTRCNkQ4NDU4OUREOEQzQThCNTk0NDU1RjY2QTc0ODI0RjQ3MzlDNUY1RDhFOTU2NTI1Q0Y5MjczCiswNUUzMDk0RTRDQzBGRTE2RkM1RjBENjg1NTZDQjAxMjBBQTQzMTczNzgzN0NGNzc0QjA2QkQxN0Q2Mjg3NzgxCiszNTBEQjA2MDU1QTNCRkE1RTdBMDI1MzEzNkNGQzg3MUEyNkYxNDc3QjNDNkFDNEQwQzU0REJCMkQ1QkVGREU2CitBN0U0OTE0RUQxOTVDRUJCRkY4RTE0NDVDN0VBMzY4NzU3NzA2MzFENUU0MTdFN0NENkVBRThDMUIxMzQ0MUVDCitGNjJDRTA1NkNGQjJEQzgzNjhGNEMwQjJENjVBRkFDRDgyRTA3MzI0QzNGODkwNENCNzFBRjJFODVDQzk4MTE2Cis5QTdGOTM5NEFEQUQ2QjgxMDdENjM1OEU3QjQ2NUU0NTREMDU4Qjc4QkUyQTU1RDBCOTM3NTYxNTM1MjY1QkIxCis0MTg0RjhENzcyM0JDMEY3Q0E3QjUzMzQwMDlDNzYyNEQzMEU4NDZCM0RBNENDNzdDRjU0MzY0QjM0QjJGMjVFCis3NzY2NEM3NkYxMjQ2MkM1QjJEMkVDMjE3OEJEQUEyQzM1MDExRENBNUUwOTREQkVBNUJGQjgzNDJCQkQ5Njc3CitGRjQ5M0JBOUIzMEYyRjhEMTI1MEQ0QjFENUI1MUJCNjIxOUM2NzNGRDAxNDVERDg2OTAwMzk4Rjc5NkI4QUU4Cis1ODY4RDMzQjhFNzFBREIzNzREQTNEMzEyRkFBQkU4QjMyMjc2RDUzNzk2Njc1OEM1N0ExOEFEM0E4ODkwODA2CisxRkFCNEY5RjZBNUZDNjEzRUYzOENFMzlBMTU2N0U1MjBGNzc5RTk4CiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCkBAIC00Mjc3LDkgKzQyNjksOSBAQAogNDggNDggMVs0OCA0OCA0OCAxWzQ4IDQ4IDQ4IDQ4IDFbNDggNls0OCA2WzQ4IDQ4IDQ4IDQ4CiAyWzQ4IDJbNDggMls0OCAzOVt7fTUwIDkwLjkwOTEgL0NNU0xUVDEwIHJmIC9GaiAxMzRbNjUKIDY1IDg5IDY1IDY4IDQ4IDQ4IDUwIDY1IDY4IDYxIDY4IDEwMiAzNCA2NSAxWzM0IDY4IDYxCi0zNyA1NiA2OCA1NSA2OCA2MCAzNCA2WzkzIDFbMTI3IDJbODUgNjggOTIgOTIgODQgOTIgOTYKLTExNiA3NCA5NiAxWzQ2IDk2IDk2IDc3IDgxIDk0IDg5IDg3IDkzIDFbNTggNVs2MSA2MSA2MQotNjEgNjEgNjEgNjEgNjEgNjEgNjEgMVszNCA0MSAzNCA0WzM0IDI2WzY4IDcyIDExW3t9NjMKKzM3IDU2IDY4IDU1IDY4IDYwIDM0IDZbOTMgMVsxMjcgMVs5NCA4NSA2OCA5MiA5MiA4NCA5MgorOTYgMTE2IDc0IDk2IDFbNDYgOTYgOTYgNzcgODEgOTQgODkgODcgOTMgMVs1OCA1WzYxIDYxCis2MSA2MSA2MSA2MSA2MSA2MSA2MSA2MSAxWzM0IDQxIDM0IDRbMzQgMjZbNjggNzIgMTFbe302NAogMTA5LjA5MSAvQ01CWDEyIHJmIC9GayAxMzVbNDIgMVs0MiAxWzMwIDM3IDM4IDFbNDYgNDYKIDUxIDc0IDIzIDJbMjggMVs0MiAxWzQyIDQ2IDQyIDFbNDYgNTFbMzMgMzJbNTEgMTJbe30xOAogOTAuOTA5MSAvQ01USTEwIHJmIC9GbCAxMzVbNTYgMls1NiAxWzQyIDU1IDFbNTEgNTggNTYKQEAgLTQyOTMsMjcgKzQyODUsMjcgQEAKIDIxWzkxIDE3WzQ1IDFbOTEgMTJbNzF7fTUgOTAuOTA5MSAvQ01TWTEwIHJmIC9GcSAxMzRbNDgKIDQ4IDY2IDQ4IDUxIDM1IDM2IDM2IDQ4IDUxIDQ1IDUxIDc2IDI1IDQ4IDI4IDI1IDUxIDQ1CiAyOCA0MCA1MSA0MCA1MSA0NSA4WzY4IDkzIDFbNjggNjYgNTEgNjcgMVs2MiA3MSA2OCA4MwotNTcgNzEgMVszMyA2OCA3MSA1OSA2MiA2OSA2NiA2NCA2OCAxM1s0NSA0NSA0NSAzWzMwIDJbNDUKLTI3Wzc2IDFbNTEgNTMgMTFbe301NCA5MC45MDkxIC9DTVNMMTAgcmYgL0ZyIDEzNFs3MSA3MQotOTcgNzEgNzUgNTIgNTMgNTUgMVs3NSA2NyA3NSAxMTIgMzcgNzEgNDEgMzcgNzUgNjcgNDEKLTYxIDc1IDYwIDc1IDY1IDNbMzcgMVszNyAxWzEwMiAxMDIgMTM5IDEwMiAxMDMgOTQgNzUKLTEwMCAxMDEgOTIgMTAxIDEwNSAxMjggODEgMTA1IDY5IDUwIDEwNSAxMDYgODUgODggMTAzCi05NyA5NiAxMDIgMTA1IDY0IDRbMzcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgMVszNwotNDUgMzcgMVs2NyA1WzY3IDExMiAxWzQxIDIwWzc1IDc4IDExW3t9NzMgMTE5LjU1MiAvQ01CWDEyCi1yZiAvRnMgMTI5WzQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4Cis1NyA3MSAxWzMzIDY4IDcxIDU5IDYyIDY5IDY2IDY0IDY4IDEzWzQ1IDQ1IDQ1IDNbMzAgMzBbNzYKKzFbNTEgNTMgMTFbe301MyA5MC45MDkxIC9DTVNMMTAgcmYgL0ZyIDEzNFs3MSA3MSA5NyA3MQorNzUgNTIgNTMgNTUgMVs3NSA2NyA3NSAxMTIgMzcgNzEgNDEgMzcgNzUgNjcgNDEgNjEgNzUKKzYwIDc1IDY1IDNbMzcgMVszNyAxWzEwMiAxMDIgMTM5IDEwMiAxMDMgOTQgNzUgMTAwIDEwMQorOTIgMTAxIDEwNSAxMjggODEgMTA1IDY5IDUwIDEwNSAxMDYgODUgODggMTAzIDk3IDk2IDEwMgorMTA1IDY0IDRbMzcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgNjcgMVszNyA0NSAzNworMVs2NyA1WzY3IDExMiAxWzQxIDIwWzc1IDc4IDExW3t9NzMgMTE5LjU1MiAvQ01CWDEyIHJmCisvRnMgMTI5WzQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4CiA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCA0OAogNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDgKLTQ4IDQ4IDFbNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDgKKzQ4IDFbNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDggNDgKIDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4Ci00OCA0OCA0OCA0OCA0OCA0OCA0OCA0OCAzM1t7fTkzIDkwLjkwOTEgL0NNVFQxMCByZiAvRnQKLTEzMVs5MSA0NSA0MCA0OCA0OCA2NiA0OCA1MSAzNSAzNiAzNiA0OCA1MSA0NSA1MSA3NiAyNQotNDggMjggMjUgNTEgNDUgMjggNDAgNTEgNDAgNTEgNDUgMjUgMlsyNSA0NSAyNSA1NiA2OAotNjggOTMgNjggNjggNjYgNTEgNjcgNzEgNjIgNzEgNjggODMgNTcgNzEgNDcgMzMgNjggNzEKLTU5IDYyIDY5IDY2IDY0IDY4IDFbNDMgMVs3MSAxWzI1IDI1IDQ1IDQ1IDQ1IDQ1IDQ1IDQ1Ci00NSA0NSA0NSA0NSA0NSAyNSAzMCAyNSAyWzM1IDM1IDI1IDcxIDc2IDQ1IDFbNDUgMjUgMThbNzYKLTUxIDUxIDUzIDExW3t9ODggOTAuOTA5MSAvQ01SMTAgcmYgL0Z1IDEzOFsxMDggMVs3NiA3OQotM1sxMDggMVs1NCAzWzEwOCAxWzU5IDg4IDFbODYgMVs5NCAxNFsxNDQgNFsxODQgMTBbMTM4Ci02Nlt7fTEzIDE3Mi4xNTQgL0NNQlgxMiByZiBlbmQKKzQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDQ4IDMzW3t9OTMgOTAuOTA5MSAvQ01UVDEwIHJmIC9GdCAxMzFbOTEKKzQ1IDQwIDQ4IDQ4IDY2IDQ4IDUxIDM1IDM2IDM2IDQ4IDUxIDQ1IDUxIDc2IDI1IDQ4IDI4CisyNSA1MSA0NSAyOCA0MCA1MSA0MCA1MSA0NSAyNSAyWzI1IDQ1IDI1IDU2IDY4IDY4IDkzCis2OCA2OCA2NiA1MSA2NyA3MSA2MiA3MSA2OCA4MyA1NyA3MSA0NyAzMyA2OCA3MSA1OSA2MgorNjkgNjYgNjQgNjggMVs0MyAxWzcxIDFbMjUgMjUgNDUgNDUgNDUgNDUgNDUgNDUgNDUgNDUKKzQ1IDQ1IDQ1IDI1IDMwIDI1IDJbMzUgMzUgMjUgNzEgNzYgNDUgMVs0NSAyNSAxOFs3NiA1MQorNTEgNTMgMTFbe304OCA5MC45MDkxIC9DTVIxMCByZiAvRnUgMTM4WzEwOCAxWzc2IDc5IDNbMTA4CisxWzU0IDNbMTA4IDFbNTkgODggMVs4NiAxWzk0IDE0WzE0NCA0WzE4NCAxMFsxMzggNjZbe30xMworMTcyLjE1NCAvQ01CWDEyIHJmIGVuZAogJSVFbmRQcm9sb2cKICUlQmVnaW5TZXR1cAogJSVGZWF0dXJlOiAqUmVzb2x1dGlvbiA2MDBkcGkKQEAgLTQzMjYsOCArNDMxOCw4IEBACiAlJVBhZ2U6IDEgMQogVGVYRGljdCBiZWdpbiAxIDAgYm9wIDE1MCAxMzE4IGEgRnUoQmFzaCk2NCBiKFJlZmVyZW5jZSlqKE1hbiktNQogYih1YWwpcCAxNTAgMTM4NSAzNjAwIDM0IHYgMjM2MSAxNDgxIGEgRnQoUmVmZXJlbmNlKTMxCi1iKERvKXMoY3VtZW4pbSh0YXRpb24paShmb3IpZChCYXNoKTI0MjggMTU4OSB5KEVkaXRpb24paCg0LjEsKWcoZm9yKWYKLUZzKEJhc2gpZyBGdChWKS04IGIoZXJzaW9uKTMxIGIoNC4xLikzMTQ1IDE2OTcgeShEZWNlbSltKGIpcyhlcilnKDIwMDkpCitiKERvKXMoY3VtZW4pbSh0YXRpb24paShmb3IpZChCYXNoKTI0MjggMTU4OSB5KEVkaXRpb24paCg0LjIsKWcoZm9yKWYKK0ZzKEJhc2gpZyBGdChWKS04IGIoZXJzaW9uKTMxIGIoNC4yLikzMTQ1IDE2OTcgeShEZWNlbSltKGIpcyhlcilnKDIwMTApCiAxNTAgNDkzNSB5IEZyKENoZXQpNDUgYihSYW1leSktMTEgYigsKTQ2IGIoQ2FzZSlnKFcpLTExCiBiKGVzdGVybik0NiBiKFJlc2VydilsKGUpZyhVbml2KWwoZXJzaXQpbCh5KTE1MCA1MDY4CiB5KEJyaWFuKWYoRiktMTEgYihvKWwoeCwpNDUgYihGKS0xMSBiKHJlZSk0NSBiKFNvZnQpbCh3KWwoYXJlKWgoRiktMTEKQEAgLTQzMzUsMTIgKzQzMjcsMTIgQEAKICUlUGFnZTogMiAyCiBUZVhEaWN0IGJlZ2luIDIgMSBib3AgMTUwIDI4ODkgYSBGdChUaGlzKTM1IGIodGV4dCloKGlzKWcoYSlnKGJyaWVmKWYKIChkZXNjcmlwdGlvbiloKG9mKWYodGhlKWgoZmVhdHVyZXMpZyh0aGF0KWcoYXJlKWcocHJlc2VuKW0odClnKGluKWYKLSh0aGUpaChCYXNoKWYoc2hlbGwpaChcKHYpbShlcnNpb24pMTUwIDI5OTkgeSg0LjEsKWMoMjMpZihEZWNlbSltKGIpcwotKGVyKWcoMjAwOVwpLikxNTAgMzEzMyB5KFRoaXMpZihpcylnKEVkaXRpb24paCg0LjEsKWgobGFzdClnKHVwKXMKLShkYXRlZClkKDIzKWkoRGVjZW0pbShiKXMoZXIpaCgyMDA5LCloKG9mKWQgRnEoVGhlKWcoR05VKWkoQmFzaCllCisodGhlKWgoQmFzaClmKHNoZWxsKWgoXCh2KW0oZXJzaW9uKTE1MCAyOTk5IHkoNC4yLCljKDI4KWYoRGVjZW0pbShiKXMKKyhlcilnKDIwMTBcKS4pMTUwIDMxMzMgeShUaGlzKWYoaXMpZyhFZGl0aW9uKWgoNC4yLCloKGxhc3QpZyh1cClzCisoZGF0ZWQpZCgyOClpKERlY2VtKW0oYilzKGVyKWgoMjAxMCwpaChvZilkIEZxKFRoZSlnKEdOVSlpKEJhc2gpZQogKFJlZmVyZW5jZSlpKE1hbiltKHVhbClwIEZ0KCwpMTUwIDMyNDMgeShmb3IpZSBGcyhCYXNoKXAKLUZ0KCwpZyhWKS04IGIoZXJzaW9uKTMxIGIoNC4xLikxNTAgMzM3NyB5KENvcCltKHlyaWdoKW0odCk2MDIKLTMzNzQgeShjKTU3NyAzMzc3IHkgRnAoXDAxNSlmIEZ0KDE5ODh7MjAwOSkzNSBiKEYpLTgKK0Z0KCwpZyhWKS04IGIoZXJzaW9uKTMxIGIoNC4yLikxNTAgMzM3NyB5KENvcCltKHlyaWdoKW0odCk2MDIKKzMzNzQgeShjKTU3NyAzMzc3IHkgRnAoXDAxNSlmIEZ0KDE5ODh7MjAxMCkzNSBiKEYpLTgKIGIocmVlKTMxIGIoU29mdCltKHcpbShhcmUpaChGKS04IGIob3VuZGF0aW9uLCkzMSBiKEluYy4pMTUwCiAzNTEyIHkoUCltKGVybWlzc2lvbiloKGlzKWgoZ3JhbiltKHRlZClnKHRvKWYobWFrKW0oZSlpKGFuZClkCiAoZGlzdHJpYnV0ZSloKHYpbShlcmJhdGltKWgoY29waWVzKWcob2YpZih0aGlzKWcobWFuKW0odWFsKWgocHJvKW0KQEAgLTQ0MjEsNyArNDQxMyw3IEBACiBGdCg3KTI3NSAyNTIzIHkoMy4yKTkyIGIoU2hlbGwpMzAgYihDb21tYW5kcykyMSBiIEZtKDopMTQKIGIoOilpKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgogKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKLWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopNTEgYiBGdCg3KTM5OQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1MSBiIEZ0KDgpMzk5CiAyNjMzIHkoMy4yLjEpOTMgYihTaW1wbGUpMzAgYihDb21tYW5kcyljIEZtKDopMTUgYig6KWgoOilmKDopaCg6KWYoOilnCiAoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQogaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTU3CkBAIC00NDMyLDEzICs0NDI0LDEzIEBACiAyODUyIHkoMy4yLjMpOTMgYihMaXN0cykzMCBiKG9mKWgoQ29tbWFuZHMpMTUgYiBGbSg6KWYoOiloKDopaCg6KWYoOilnCiAoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KQogaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik0NQotYiBGdCg4KTM5OSAyOTYxIHkoMy4yLjQpOTMgYihDb21wKXMob3VuZCkyOCBiKENvbW1hbmRzKTIyCitiIEZ0KDkpMzk5IDI5NjEgeSgzLjIuNCk5MyBiKENvbXApcyhvdW5kKTI4IGIoQ29tbWFuZHMpMjIKIGIgRm0oOikxNiBiKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCiAoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQogZig6KWcoOik1NCBiIEZ0KDkpNTI0IDMwNzEgeSgzLjIuNC4xKTkzIGIoTG8pcyhvcGluZykzMAotYihDb25zdHJ1Y3RzKTExIGIgRm0oOilrKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKLWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAotKDopZig6KWcoOiloKDopZig6KTQxIGIgRnQoOSk1MjQgMzE4MSB5KDMuMi40LjIpOTMgYihDb25kaXRpb25hbCkzMQorYihDb25zdHJ1Y3RzKTggYiBGbSg6KTE1IGIoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaAorKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOikKK2YoOiloKDopZig6KWcoOikzOCBiIEZ0KDEwKTUyNCAzMTgxIHkoMy4yLjQuMik5MyBiKENvbmRpdGlvbmFsKTMxCiBiKENvbnN0cnVjdHMpMTggYiBGbSg6KWQoOilnKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KQogZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik0NwogYiBGdCgxMCk1MjQgMzI5MCB5KDMuMi40LjMpOTMgYihHcm91cGluZykzMCBiKENvbW1hbmRzKTE1CkBAIC00NDQ3LDM5MiArNDQzOSwzOTYgQEAKIGIgRnQoMTMpMzk5IDM0MDAgeSgzLjIuNSk5MyBiKENvcHJvKXMoY2Vzc2VzKTE4IGIgRm0oOilkKDopZyg6KWgoOilmKDopCiBoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKICg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopCi1oKDopZig6KWcoOiloKDopZig6KWgoOik0NyBiIEZ0KDE0KTI3NSAzNTA5IHkoMy4zKTkyCi1iKFNoZWxsKTMwIGIoRiktOCBiKHVuY3Rpb25zKTI5IGIgRm0oOikxNSBiKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaAotKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKLWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgotKDopZyg6KWgoOilmKDopNTggYiBGdCgxNCkyNzUgMzYxOSB5KDMuNCk5MiBiKFNoZWxsKTMwCi1iKFApbShhcmFtZXRlcnMpMTcgYiBGbSg6KWYoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZwotKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKLWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik0NgotYiBGdCgxNSkzOTkgMzcyOSB5KDMuNC4xKTkzIGIoUCltKG9zaXRpb25hbCkzMiBiKFApbShhcmFtZXRlcnMpMjAKK2goOilmKDopZyg6KWgoOilmKDopaCg6KTQ3IGIgRnQoMTQpMzk5IDM1MDkgeSgzLjIuNik5MworYihHTlUpMzEgYihQKW0oYXJhbGxlbCljIEZtKDopMTUgYig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgorKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik1NQorYiBGdCgxNCkyNzUgMzYxOSB5KDMuMyk5MiBiKFNoZWxsKTMwIGIoRiktOCBiKHVuY3Rpb25zKTI5CitiIEZtKDopMTUgYig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgorKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKK2coOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik1OAorYiBGdCgxNSkyNzUgMzcyOSB5KDMuNCk5MiBiKFNoZWxsKTMwIGIoUCltKGFyYW1ldGVycykxNworYiBGbSg6KWYoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZworKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik0NiBiIEZ0KDE3KTM5OQorMzgzOCB5KDMuNC4xKTkzIGIoUCltKG9zaXRpb25hbCkzMiBiKFApbShhcmFtZXRlcnMpMjAKIGIgRm0oOilkKDopZig6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCiBoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKLSg6KWYoOik1MCBiIEZ0KDE2KTM5OSAzODM4IHkoMy40LjIpOTMgYihTcClzKGVjaWFsKTMwCisoOilmKDopNTAgYiBGdCgxNykzOTkgMzk0OCB5KDMuNC4yKTkzIGIoU3ApcyhlY2lhbCkzMAogYihQKW0oYXJhbWV0ZXJzKTE2IGIgRm0oOiloKDopZig6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgKICg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopCi1mKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik0NiBiIEZ0KDE2KTI3NSAzOTQ4CitmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik0NiBiIEZ0KDE4KTI3NSA0MDU3CiB5KDMuNSk5MiBiKFNoZWxsKTMwIGIoRXhwYW5zaW9ucykxNyBiIEZtKDopZCg6KWgoOiloKDopZig6KWgoOilmKDopZyg6KQogaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCiAoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQotZig6KWcoOiloKDopNDYgYiBGdCgxNykzOTkgNDA1NyB5KDMuNS4xKTkzIGIoQnJhY2UpMzEKK2YoOilnKDopaCg6KTQ2IGIgRnQoMTkpMzk5IDQxNjcgeSgzLjUuMSk5MyBiKEJyYWNlKTMxCiBiKEV4cGFuc2lvbikyMSBiIEZtKDopMTUgYig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnCiAoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQotaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1MCBiIEZ0KDE4KTM5OQotNDE2NyB5KDMuNS4yKTkzIGIoVGlsZGUpMzAgYihFeHBhbnNpb24pMTAgYiBGbSg6KTE1IGIoOiloKDopZig6KWcoOiloCitoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTUwIGIgRnQoMTkpMzk5Cis0Mjc2IHkoMy41LjIpOTMgYihUaWxkZSkzMCBiKEV4cGFuc2lvbikxMCBiIEZtKDopMTUgYig6KWgoOilmKDopZyg6KWgKICg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopCiBmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgKLSg6KWYoOik0MCBiIEZ0KDE5KTM5OSA0Mjc2IHkoMy41LjMpOTMgYihTaGVsbCkzMCBiKFApbShhcmFtZXRlcilpCisoOilmKDopNDAgYiBGdCgyMCkzOTkgNDM4NiB5KDMuNS4zKTkzIGIoU2hlbGwpMzAgYihQKW0oYXJhbWV0ZXIpaQogKEV4cGFuc2lvbikxOCBiIEZtKDopZCg6KWcoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZwogKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOikKLTQ4IGIgRnQoMTkpMzk5IDQzODYgeSgzLjUuNCk5MyBiKENvbW1hbmQpMjkgYihTdWJzdGl0dXRpb24pMTIKKzQ4IGIgRnQoMjEpMzk5IDQ0OTYgeSgzLjUuNCk5MyBiKENvbW1hbmQpMjkgYihTdWJzdGl0dXRpb24pMTIKIGIgRm0oOilqKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCiBoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKLSg6KTQyIGIgRnQoMjIpMzk5IDQ0OTYgeSgzLjUuNSk5MyBiKEFyaXRobWV0aWMpMzEgYihFeHBhbnNpb24pMTkKKyg6KTQyIGIgRnQoMjQpMzk5IDQ2MDUgeSgzLjUuNSk5MyBiKEFyaXRobWV0aWMpMzEgYihFeHBhbnNpb24pMTkKIGIgRm0oOiljKDopZyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCiBmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYKLSg6KWgoOik0OCBiIEZ0KDIzKTM5OSA0NjA1IHkoMy41LjYpOTMgYihQcm8pcyhjZXNzKTMwCisoOiloKDopNDggYiBGdCgyNCkzOTkgNDcxNSB5KDMuNS42KTkzIGIoUHJvKXMoY2VzcykzMAogYihTdWJzdGl0dXRpb24pZCBGbSg6KTE1IGIoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAogKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKLWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik1NyBiIEZ0KDIzKTM5OSA0NzE1IHkoMy41LjcpOTMKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik1NyBiIEZ0KDI0KTM5OSA0ODI0IHkoMy41LjcpOTMKIGIoVyktOCBiKG9yZCkzMSBiKFNwbGl0dGluZykyMCBiIEZtKDopMTUgYig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKICg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCiBmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTQ5Ci1iIEZ0KDIzKTM5OSA0ODI0IHkoMy41LjgpOTMgYihGaWxlbmFtZSkzMiBiKEV4cGFuc2lvbikxMworYiBGdCgyNSkzOTkgNDkzNCB5KDMuNS44KTkzIGIoRmlsZW5hbWUpMzIgYihFeHBhbnNpb24pMTMKIGIgRm0oOilpKDopZyg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopCiBmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgKLSg6KWYoOiloKDopZig6KTQzIGIgRnQoMjQpNTI0IDQ5MzQgeSgzLjUuOC4xKTkzIGIoUCltKGF0dGVybikzMQorKDopZig6KWgoOilmKDopNDMgYiBGdCgyNSk1MjQgNTA0NCB5KDMuNS44LjEpOTMgYihQKW0oYXR0ZXJuKTMxCiBiKE1hdGMpbShoaW5nKWQgRm0oOikxNiBiKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYKICg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCi1oKDopZig6KWcoOiloKDopZig6KTU2IGIgRnQoMjQpMzk5IDUwNDQgeSgzLjUuOSk5MyBiKFF1b3RlKTMxCitoKDopZig6KWcoOiloKDopZig6KTU2IGIgRnQoMjYpMzk5IDUxNTMgeSgzLjUuOSk5MyBiKFF1b3RlKTMxCiBiKFJlbW8pbSh2KS01IGIoYWwpOSBiIEZtKDopMTcgYig6KWUoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KQogaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCiAoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTM5Ci1iIEZ0KDI1KTI3NSA1MTUzIHkoMy42KTkyIGIoUmVkaXJlY3Rpb25zKTI2IGIgRm0oOikxNQorYiBGdCgyNykyNzUgNTI2MyB5KDMuNik5MiBiKFJlZGlyZWN0aW9ucykyNiBiIEZtKDopMTUKIGIoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZwogKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKIGgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNTUKLWIgRnQoMjYpMzk5IDUyNjMgeSgzLjYuMSk5MyBiKFJlZGlyZWN0aW5nKTMxIGIoSW5wdXQpMjMKLWIgRm0oOikxNCBiKDopaSg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCi0oOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KQotZyg6KWgoOilmKDopaCg6KWYoOiloKDopNTIgYiBGdCgyNylwIGVvcCBlbmQKK2IgRnQoMjcpcCBlb3AgZW5kCiAlJVBhZ2U6IC0yIDQKIFRlWERpY3QgYmVnaW4gLTIgMyBib3AgMTUwIC0xMTYgYSBGdChpaSkyNjEyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMzk5IDgzIHkoMy42LjIpOTMgYihSZWRpcmVjdGluZykzMQotYihPdXRwdXQpMjYgYiBGbSg6KTE1IGIoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKLSg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopCi1nKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNTYgYiBGdCgyNykzOTkgMTkzIHkoMy42LjMpOTMKLWIoQXBwKXMoZW5kaW5nKTI4IGIoUmVkaXJlY3RlZClrKE91dHB1dCkxMiBiIEZtKDopaCg6KWooOilmKDopaCg6KWYoOilnCi0oOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQotaCg6KWYoOilnKDopaCg6KTQxIGIgRnQoMjcpMzk5IDMwMiB5KDMuNi40KTkzIGIoUmVkaXJlY3RpbmcpMzEKLWIoU3RhbmRhcmQpZShPdXRwdXQpaChhbmQpZihTdGFuZGFyZCloKEVycm9yKWQgRm0oOikxNQotYig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTU4IGIgRnQoMjcpMzk5IDQxMiB5KDMuNi41KTkzCi1iKEFwcClzKGVuZGluZykyOCBiKFN0YW5kYXJkKWkoT3V0cHV0KWYoYW5kKWgoU3RhbmRhcmQpZihFcnJvcikxOQotYiBGbSg6KTE0IGIoOiloKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNDggYiBGdCgyOCkzOTkKLTUyMSB5KDMuNi42KTkzIGIoSGVyZSkzMSBiKERvKXMoY3VtZW4pbSh0cyljIEZtKDopMTUKLWIoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMzk5IDgzIHkoMy42LjEpOTMgYihSZWRpcmVjdGluZykzMQorYihJbnB1dCkyMyBiIEZtKDopMTQgYig6KWkoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgorKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKK2YoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KTUyIGIgRnQoMjgpMzk5IDE5MworeSgzLjYuMik5MyBiKFJlZGlyZWN0aW5nKTMxIGIoT3V0cHV0KTI2IGIgRm0oOikxNSBiKDopaCg6KWYoOilnKDopaCg6KWYKICg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCi1nKDopaCg6KWYoOiloKDopZig6KTU2IGIgRnQoMjgpMzk5IDYzMSB5KDMuNi43KTkzIGIoSGVyZSkzMQotYihTdHJpbmdzKWMgRm0oOikxNiBiKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCi0oOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQotZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik1OAotYiBGdCgyOCkzOTkgNzQxIHkoMy42LjgpOTMgYihEdXBsaWNhdGluZykzMiBiKEZpbGUpZihEZXNjcmlwdG9ycykxNgorZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik1NgorYiBGdCgyOCkzOTkgMzAyIHkoMy42LjMpOTMgYihBcHApcyhlbmRpbmcpMjggYihSZWRpcmVjdGVkKWsoT3V0cHV0KTEyCitiIEZtKDopaCg6KWooOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KQoraCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik0MSBiIEZ0KDI5KTM5OQorNDEyIHkoMy42LjQpOTMgYihSZWRpcmVjdGluZykzMSBiKFN0YW5kYXJkKWUoT3V0cHV0KWgoYW5kKWYoU3RhbmRhcmQpaAorKEVycm9yKWQgRm0oOikxNSBiKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopNTggYiBGdCgyOSkzOTkKKzUyMSB5KDMuNi41KTkzIGIoQXBwKXMoZW5kaW5nKTI4IGIoU3RhbmRhcmQpaShPdXRwdXQpZihhbmQpaChTdGFuZGFyZClmCisoRXJyb3IpMTkgYiBGbSg6KTE0IGIoOiloKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNDgKK2IgRnQoMjkpMzk5IDYzMSB5KDMuNi42KTkzIGIoSGVyZSkzMSBiKERvKXMoY3VtZW4pbSh0cyljCitGbSg6KTE1IGIoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYKKyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopCitoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopNTYgYiBGdCgyOSkzOTkgNzQxIHkoMy42LjcpOTMKK2IoSGVyZSkzMSBiKFN0cmluZ3MpYyBGbSg6KTE2IGIoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCisoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQorZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTU4CitiIEZ0KDMwKTM5OSA4NTAgeSgzLjYuOCk5MyBiKER1cGxpY2F0aW5nKTMyIGIoRmlsZSlmKERlc2NyaXB0b3JzKTE2CiBiIEZtKDopZyg6KWcoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQogaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTQ2Ci1iIEZ0KDI4KTM5OSA4NTAgeSgzLjYuOSk5MyBiKE1vKW0odmluZykzMiBiKEZpbGUpZihEZXNjcmlwdG9ycykxOQorYiBGdCgzMCkzOTkgOTYwIHkoMy42LjkpOTMgYihNbyltKHZpbmcpMzIgYihGaWxlKWYoRGVzY3JpcHRvcnMpMTkKIGIgRm0oOilkKDopZyg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCiBoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTQ5Ci1iIEZ0KDI5KTM5OSA5NjAgeSgzLjYuMTApOTMgYihPcClzKGVuaW5nKTI5IGIoRmlsZSlqKERlc2NyaXB0b3JzKWYoZm9yKQotZihSZWFkaW5nKWgoYW5kKWYoVyktOCBiKHJpdGluZykxOSBiIEZtKDopZSg6KWUoOiloKDopZig6KWgoOilmKDopNDkKLWIgRnQoMjkpMjc1IDEwNjkgeSgzLjcpOTIgYihFeGVjdXRpbmcpMzEgYihDb21tYW5kcykxNworYiBGdCgzMCkzOTkgMTA2OSB5KDMuNi4xMCk5MyBiKE9wKXMoZW5pbmcpMjkgYihGaWxlKWooRGVzY3JpcHRvcnMpZgorKGZvcilmKFJlYWRpbmcpaChhbmQpZihXKS04IGIocml0aW5nKTE5IGIgRm0oOillKDopZSg6KWgoOilmKDopaCg6KWYoOikKKzQ5IGIgRnQoMzApMjc1IDExNzkgeSgzLjcpOTIgYihFeGVjdXRpbmcpMzEgYihDb21tYW5kcykxNwogYiBGbSg6KWQoOiloKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKIGYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgotKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopNDYgYiBGdCgyOSkzOTkgMTE3OSB5KDMuNy4xKTkzCisoOiloKDopZig6KWcoOiloKDopZig6KWgoOik0NiBiIEZ0KDMwKTM5OSAxMjg5IHkoMy43LjEpOTMKIGIoU2ltcGxlKTMwIGIoQ29tbWFuZClmKEV4cGFuc2lvbikyMyBiIEZtKDopMTUgYig6KWcoOiloKDopZig6KWcoOiloKDopCiBmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKLSg6KWcoOiloKDopZig6KWgoOik1MiBiIEZ0KDI5KTM5OSAxMjg5IHkoMy43LjIpOTMgYihDb21tYW5kKTI5CisoOilnKDopaCg6KWYoOiloKDopNTIgYiBGdCgzMSkzOTkgMTM5OCB5KDMuNy4yKTkzIGIoQ29tbWFuZCkyOQogYihTZWFyYyltKGgpaShhbmQpZihFeGVjdXRpb24pZCBGbSg6KTE1IGIoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCiAoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNTYKLWIgRnQoMzApMzk5IDEzOTggeSgzLjcuMyk5MyBiKENvbW1hbmQpMjkgYihFeGVjdXRpb24paShFbiltKHZpcm9ubWVuKW0KK2IgRnQoMzEpMzk5IDE1MDggeSgzLjcuMyk5MyBiKENvbW1hbmQpMjkgYihFeGVjdXRpb24paShFbiltKHZpcm9ubWVuKW0KICh0KTggYiBGbSg6KTE2IGIoOilnKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCi1oKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikzOCBiIEZ0KDMwKTM5OSAxNTA4CitoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikzOCBiIEZ0KDMyKTM5OSAxNjE3CiB5KDMuNy40KTkzIGIoRW4pbSh2aXJvbm1lbiltKHQpMTggYiBGbSg6KWQoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCiAoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQogZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCi0oOiloKDopNDcgYiBGdCgzMSkzOTkgMTYxNyB5KDMuNy41KTkzIGIoRXhpdCkzMSBiKFN0YXR1cyljCisoOiloKDopNDcgYiBGdCgzMykzOTkgMTcyNyB5KDMuNy41KTkzIGIoRXhpdCkzMSBiKFN0YXR1cyljCiBGbSg6KTE2IGIoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgKICg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCiBmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1NyBiCi1GdCgzMikzOTkgMTcyNyB5KDMuNy42KTkzIGIoU2lnbmFscykxNSBiIEZtKDopZyg6KWcoOiloKDopZig6KWgoOilmKDopZworRnQoMzMpMzk5IDE4MzYgeSgzLjcuNik5MyBiKFNpZ25hbHMpMTUgYiBGbSg6KWcoOilnKDopaCg6KWYoOiloKDopZig6KWcKICg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCiBoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKLSg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNDQgYiBGdCgzMikyNzUgMTgzNgorKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik0NCBiIEZ0KDM0KTI3NSAxOTQ2CiB5KDMuOCk5MiBiKFNoZWxsKTMwIGIoU2NyaXB0cykyMyBiIEZtKDopMTUgYig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQogZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCiAoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KQotZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTUzIGIgRnQoMzMpMTUwIDIwNzkgeSBGcig0KTEzNQorZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTUzIGIgRnQoMzQpMTUwIDIxODggeSBGcig0KTEzNQogYihTaGVsbCk0NSBiKEJ1aWx0aW4pZyhDb21tYW5kcykyMiBiIEZuKDopZSg6KWcoOilmKDopaCg6KWYoOiloKDopZig6KWcKICg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOik2NwotYiBGcigzNSkyNzUgMjIxNiB5IEZ0KDQuMSk5MiBiKEJvdXJuZSkzMCBiKFNoZWxsKWcoQnVpbHRpbnMpZQorYiBGcigzNykyNzUgMjMyNSB5IEZ0KDQuMSk5MiBiKEJvdXJuZSkzMCBiKFNoZWxsKWcoQnVpbHRpbnMpZQogRm0oOikxNSBiKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCiAoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQotaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KTU3IGIgRnQoMzUpMjc1IDIzMjUgeSg0LjIpOTIKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOik1NyBiIEZ0KDM3KTI3NSAyNDM1IHkoNC4yKTkyCiBiKEJhc2gpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjQgYiBGbSg6KTE1IGIoOilnKDopaCg6KWYoOiloKDopZig6KWcKICg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCiBoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopNTQKLWIgRnQoNDEpMjc1IDI0MzUgeSg0LjMpOTIgYihNbylzKGRpZnlpbmcpMzAgYihTaGVsbClnKEJlaGEpbSh2aW9yKTkKK2IgRnQoNDMpMjc1IDI1NDUgeSg0LjMpOTIgYihNbylzKGRpZnlpbmcpMzAgYihTaGVsbClnKEJlaGEpbSh2aW9yKTkKIGIgRm0oOikxNyBiKDopZig6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCiAoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KQotaCg6KWYoOiloKDopZig6KTM5IGIgRnQoNTEpMzk5IDI1NDUgeSg0LjMuMSk5MyBiKFRoZSkzMAoraCg6KWYoOiloKDopZig6KTM5IGIgRnQoNTMpMzk5IDI2NTQgeSg0LjMuMSk5MyBiKFRoZSkzMAogYihTZXQpZyhCdWlsdGluKWMgRm0oOikxNiBiKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYKICg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCiBnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik1NSBiCi1GdCg1MSkzOTkgMjY1NCB5KDQuMy4yKTkzIGIoVGhlKTMwIGIoU2hvcHQpZihCdWlsdGluKTEzCitGdCg1NCkzOTkgMjc2NCB5KDQuMy4yKTkzIGIoVGhlKTMwIGIoU2hvcHQpZihCdWlsdGluKTEzCiBiIEZtKDopaig6KWcoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQogaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnCi0oOiloKDopZig6KWgoOilmKDopZyg6KTQzIGIgRnQoNTUpMjc1IDI3NjQgeSg0LjQpOTIgYihTcClzKGVjaWFsKTMwCisoOiloKDopZig6KWgoOilmKDopZyg6KTQzIGIgRnQoNTcpMjc1IDI4NzMgeSg0LjQpOTIgYihTcClzKGVjaWFsKTMwCiBiKEJ1aWx0aW5zKTIxIGIgRm0oOikxNiBiKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKICg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopCiBnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTUwCi1iIEZ0KDU5KTE1MCAzMDA2IHkgRnIoNSkxMzUgYihTaGVsbCk0NSBiKFYpLTExIGIoYXJpYWJsZXMpMTkKK2IgRnQoNjIpMTUwIDMxMTYgeSBGcig1KTEzNSBiKFNoZWxsKTQ1IGIoViktMTEgYihhcmlhYmxlcykxOQogYiBGbig6KWgoOilnKDopZig6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOikKIGgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOik2NAotYiBGcig2MSkyNzUgMzE0MyB5IEZ0KDUuMSk5MiBiKEJvdXJuZSkzMCBiKFNoZWxsKWcoViktOAorYiBGcig2MykyNzUgMzI1MyB5IEZ0KDUuMSk5MiBiKEJvdXJuZSkzMCBiKFNoZWxsKWcoViktOAogYihhcmlhYmxlcykyMiBiIEZtKDopMTYgYig6KWcoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCiAoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQotZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTUxIGIgRnQoNjEpMjc1Ci0zMjUzIHkoNS4yKTkyIGIoQmFzaCkzMCBiKFYpLTggYihhcmlhYmxlcykxNiBiIEZtKDopaCg6KWYoOilmKDopaCg6KWYKK2YoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik1MSBiIEZ0KDYzKTI3NQorMzM2MiB5KDUuMik5MiBiKEJhc2gpMzAgYihWKS04IGIoYXJpYWJsZXMpMTYgYiBGbSg6KWgoOilmKDopZig6KWgoOilmCiAoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQogZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCi0oOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopNDYgYiBGdCg2MSkxNTAgMzQ5NSB5CisoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopNDYgYiBGdCg2MykxNTAgMzYwNSB5CiBGcig2KTEzNSBiKEJhc2gpNDQgYihGKS0xMSBiKGVhdHVyZXMpMTMgYiBGbig6KTIwIGIoOilnKDopZig6KWcoOiloKDopZgogKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKLWYoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik1OCBiIEZyKDcxKTI3NQotMzYzMiB5IEZ0KDYuMSk5MiBiKEluKW0odiltKG9raW5nKTMxIGIoQmFzaClkIEZtKDopMTYKK2YoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik1OCBiIEZyKDczKTI3NQorMzc0MiB5IEZ0KDYuMSk5MiBiKEluKW0odiltKG9raW5nKTMxIGIoQmFzaClkIEZtKDopMTYKIGIoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZwogKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKIGgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTU4IGIKLUZ0KDcxKTI3NSAzNzQyIHkoNi4yKTkyIGIoQmFzaCkzMCBiKFN0YXJ0dXApZyhGaWxlcykyMAorRnQoNzMpMjc1IDM4NTEgeSg2LjIpOTIgYihCYXNoKTMwIGIoU3RhcnR1cClnKEZpbGVzKTIwCiBiIEZtKDopYyg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQogZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCi0oOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik0OSBiIEZ0KDczKTI3NQotMzg1MSB5KDYuMyk5MiBiKEluKW0odGVyYWN0aXYpbShlKTMyIGIoU2hlbGxzKTExIGIgRm0oOikxNgorKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNDkgYiBGdCg3NSkyNzUKKzM5NjEgeSg2LjMpOTIgYihJbiltKHRlcmFjdGl2KW0oZSkzMiBiKFNoZWxscykxMSBiIEZtKDopMTYKIGIoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZwogKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKLWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOik0MSBiIEZ0KDc1KTM5OQotMzk2MSB5KDYuMy4xKTkzIGIoV2hhdCkzMSBiKGlzKWYoYW4paChJbiltKHRlcmFjdGl2KW0oZSloKFNoZWxsPykxNworaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTQxIGIgRnQoNzYpMzk5Cis0MDcxIHkoNi4zLjEpOTMgYihXaGF0KTMxIGIoaXMpZihhbiloKEluKW0odGVyYWN0aXYpbShlKWgoU2hlbGw/KTE3CiBiIEZtKDopZig6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQogZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopNDcgYgotRnQoNzUpMzk5IDQwNzEgeSg2LjMuMik5MyBiKElzKTMwIGIodGhpcylnKFNoZWxsKWcoSW4pbSh0ZXJhY3RpdiltKGU/KQorRnQoNzcpMzk5IDQxODAgeSg2LjMuMik5MyBiKElzKTMwIGIodGhpcylnKFNoZWxsKWcoSW4pbSh0ZXJhY3RpdiltKGU/KQogMTQgYiBGbSg6KWsoOillKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKICg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopCi00NCBiIEZ0KDc1KTM5OSA0MTgwIHkoNi4zLjMpOTMgYihJbiltKHRlcmFjdGl2KW0oZSkzMworNDQgYiBGdCg3NykzOTkgNDI5MCB5KDYuMy4zKTkzIGIoSW4pbSh0ZXJhY3RpdiltKGUpMzMKIGIoU2hlbGwpZChCZWhhKW0odmlvcikyMyBiIEZtKDopMTcgYig6KWUoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCiBmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKLSg6KWcoOiloKDopZig6KWgoOik1MiBiIEZ0KDc1KTI3NSA0MjkwIHkoNi40KTkyIGIoQmFzaCkzMAorKDopZyg6KWgoOilmKDopaCg6KTUyIGIgRnQoNzcpMjc1IDQzOTkgeSg2LjQpOTIgYihCYXNoKTMwCiBiKENvbmRpdGlvbmFsKWgoRXhwcmVzc2lvbnMpMjIgYiBGbSg6KTE0IGIoOilpKDopZig6KWcoOiloKDopZig6KWgoOilmCiAoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KQotZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTUxIGIgRnQoNzYpMjc1IDQzOTkgeSg2LjUpOTIKK2coOiloKDopZig6KWgoOilmKDopZyg6KWgoOik1MSBiIEZ0KDc4KTI3NSA0NTA5IHkoNi41KTkyCiBiKFNoZWxsKTMwIGIoQXJpdGhtZXRpYyljIEZtKDopMTUgYig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgogKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKIGcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgotKDopNTUgYiBGdCg3OCkyNzUgNDUwOSB5KDYuNik5MiBiKEFsaWFzZXMpMTIgYiBGbSg6KWsoOilnKDopZig6KWgoOilmCisoOik1NSBiIEZ0KDgwKTI3NSA0NjE5IHkoNi42KTkyIGIoQWxpYXNlcykxMiBiIEZtKDopayg6KWcoOilmKDopaCg6KWYKICg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopCiBnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYKICg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTQyCi1iIEZ0KDc5KTI3NSA0NjE5IHkoNi43KTkyIGIoQXJyYSltKHlzKTE3IGIgRm0oOillKDopaCg6KWYoOiloKDopZig6KWcKK2IgRnQoODEpMjc1IDQ3MjggeSg2LjcpOTIgYihBcnJhKW0oeXMpMTcgYiBGbSg6KWUoOiloKDopZig6KWgoOilmKDopZwogKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKIGgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAogKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik0NwotYiBGdCg4MCkyNzUgNDcyOCB5KDYuOCk5MiBiKFRoZSkyOSBiKERpcmVjdG9yeSlqKFN0YWMpbShrKWUKK2IgRnQoODIpMjc1IDQ4MzggeSg2LjgpOTIgYihUaGUpMjkgYihEaXJlY3RvcnkpaihTdGFjKW0oayllCiBGbSg6KTE1IGIoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKICg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCi1nKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTU4IGIgRnQoODEpMzk5IDQ4MzggeSg2LjguMSk5MworZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik1OCBiIEZ0KDgzKTM5OSA0OTQ3IHkoNi44LjEpOTMKIGIoRGlyZWN0b3J5KTMyIGIoU3RhYyltKGspZihCdWlsdGlucykxNCBiIEZtKDopaSg6KWcoOilmKDopZyg6KWgoOilmKDopCiBoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKLSg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KTQ0IGIgRnQoODEpMjc1Ci00OTQ3IHkoNi45KTkyIGIoQ29uKW0odHJvbGxpbmcpMzEgYih0aGUpZyhQcm9tcHQpMjQgYgorKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopNDQgYiBGdCg4MykyNzUKKzUwNTcgeSg2LjkpOTIgYihDb24pbSh0cm9sbGluZykzMSBiKHRoZSlnKFByb21wdCkyNCBiCiBGbSg6KTE1IGIoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKICg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCi1nKDopaCg6KWYoOiloKDopZig6KTU0IGIgRnQoODIpMjc1IDUwNTcgeSg2LjEwKTkyIGIoVGhlKTMwCitnKDopaCg6KWYoOiloKDopZig6KTU0IGIgRnQoODQpMjc1IDUxNjYgeSg2LjEwKTkyIGIoVGhlKTMwCiBiKFJlc3RyaWN0ZWQpaChTaGVsbCkyMyBiIEZtKDopMTYgYig6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgogKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKIGgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOik1MwotYiBGdCg4NCkyNzUgNTE2NiB5KDYuMTEpOTIgYihCYXNoKTMxIGIoUE9TSVgpZShNbylzKGRlKTkKK2IgRnQoODYpMjc1IDUyNzYgeSg2LjExKTkyIGIoQmFzaCkzMSBiKFBPU0lYKWUoTW8pcyhkZSk5CiBiIEZtKDopMTUgYig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgogKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKLWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTM4IGIgRnQoODQpcCBlb3AKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTM4IGIgRnQoODYpcCBlb3AKIGVuZAogJSVQYWdlOiAtMyA1CiBUZVhEaWN0IGJlZ2luIC0zIDQgYm9wIDM2NzQgLTExNiBhIEZ0KGlpaSkxNTAgODMgeSBGcig3KTEzNQogYihKb2IpNDUgYihDb24pbCh0cm9sKTI0IGIgRm4oOiljKDopZyg6KWYoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnCiAoOiloKDopZig6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQotZig6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOik2OSBiIEZyKDg5KTI3NSAyMjAgeQorZig6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOik2OSBiIEZyKDkxKTI3NSAyMjAgeQogRnQoNy4xKTkyIGIoSm9iKTMwIGIoQ29uKW0odHJvbCloKEJhc2ljcykxNyBiIEZtKDopZig6KWcoOilmKDopaCg6KWYoOikKIGcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgogKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKLWcoOiloKDopZig6KTQ3IGIgRnQoODkpMjc1IDMzMCB5KDcuMik5MiBiKEpvYikzMCBiKENvbiltKHRyb2wpaAorZyg6KWgoOilmKDopNDcgYiBGdCg5MSkyNzUgMzMwIHkoNy4yKTkyIGIoSm9iKTMwIGIoQ29uKW0odHJvbCloCiAoQnVpbHRpbnMpMjUgYiBGbSg6KTE1IGIoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQogZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCi0oOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTU1IGIgRnQoOTApMjc1CisoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTU1IGIgRnQoOTIpMjc1CiA0MzkgeSg3LjMpOTIgYihKb2IpMzAgYihDb24pbSh0cm9sKWgoViktOCBiKGFyaWFibGVzKTE5CiBiIEZtKDopZSg6KWUoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQogZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCi0oOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik0OSBiIEZ0KDkyKTE1MCA2ODIgeSBGcig4KTEzNQorKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopNDkgYiBGdCg5NCkxNTAgNjgyIHkgRnIoOCkxMzUKIGIoQ29tbWFuZCk0NSBiKExpbmUpZyhFZGl0aW5nKTI3IGIgRm4oOikyMCBiKDopZyg6KWYoOiloKDopZig6KWcoOiloKDopCiBmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOik3MgotYiBGcig5MykyNzUgODE5IHkgRnQoOC4xKTkyIGIoSW4pbSh0cm8pcyhkdWN0aW9uKTMwIGIodG8paChMaW5lKWYKK2IgRnIoOTUpMjc1IDgxOSB5IEZ0KDguMSk5MiBiKEluKW0odHJvKXMoZHVjdGlvbikzMCBiKHRvKWgoTGluZSlmCiAoRWRpdGluZylkIEZtKDopMTUgYig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQogZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCi0oOiloKDopZig6KTU2IGIgRnQoOTMpMjc1IDkyOCB5KDguMik5MiBiKFJlYWRsaW5lKTMxCisoOiloKDopZig6KTU2IGIgRnQoOTUpMjc1IDkyOCB5KDguMik5MiBiKFJlYWRsaW5lKTMxCiBiKEluKW0odGVyYWN0aW9uKTggYiBGbSg6KTE3IGIoOillKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloCiAoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQogZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikzOAotYiBGdCg5MykzOTkgMTAzOCB5KDguMi4xKTkzIGIoUmVhZGxpbmUpMzEgYihCYXJlKWcoRXNzZW4pbSh0aWFscylkCitiIEZ0KDk1KTM5OSAxMDM4IHkoOC4yLjEpOTMgYihSZWFkbGluZSkzMSBiKEJhcmUpZyhFc3NlbiltKHRpYWxzKWQKIEZtKDopMTYgYig6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaAogKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTU3Ci1iIEZ0KDk0KTM5OSAxMTQ3IHkoOC4yLjIpOTMgYihSZWFkbGluZSkzMSBiKE1vKW0odiltKGVtZW4pbSh0KWkKK2IgRnQoOTYpMzk5IDExNDcgeSg4LjIuMik5MyBiKFJlYWRsaW5lKTMxIGIoTW8pbSh2KW0oZW1lbiltKHQpaQogKENvbW1hbmRzKTI3IGIgRm0oOikxNSBiKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKIGgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1NwotYiBGdCg5NCkzOTkgMTI1NyB5KDguMi4zKTkzIGIoUmVhZGxpbmUpMzEgYihLaWxsaW5nKWcoQ29tbWFuZHMpMTkKK2IgRnQoOTYpMzk5IDEyNTcgeSg4LjIuMyk5MyBiKFJlYWRsaW5lKTMxIGIoS2lsbGluZylnKENvbW1hbmRzKTE5CiBiIEZtKDopMTQgYig6KWkoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgogKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTQ5Ci1iIEZ0KDk1KTM5OSAxMzY3IHkoOC4yLjQpOTMgYihSZWFkbGluZSkzMSBiKEFyZ3VtZW4pbSh0cykxMQorYiBGdCg5NykzOTkgMTM2NyB5KDguMi40KTkzIGIoUmVhZGxpbmUpMzEgYihBcmd1bWVuKW0odHMpMTEKIGIgRm0oOikxNiBiKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCiAoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KQotZig6KWcoOiloKDopZig6KTQxIGIgRnQoOTUpMzk5IDE0NzYgeSg4LjIuNSk5MyBiKFNlYXJjKW0oaGluZykzMQorZig6KWcoOiloKDopZig6KTQxIGIgRnQoOTcpMzk5IDE0NzYgeSg4LjIuNSk5MyBiKFNlYXJjKW0oaGluZykzMQogYihmb3IpZihDb21tYW5kcylmKGluKWgodGhlKWgoSGlzdG9yeSk5IGIgRm0oOikxNiBiKDopZig6KWcoOiloKDopZig6KWgKICg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTM4Ci1iIEZ0KDk1KTI3NSAxNTg2IHkoOC4zKTkyIGIoUmVhZGxpbmUpMzEgYihJbml0KWYoRmlsZSkyMworYiBGdCg5NykyNzUgMTU4NiB5KDguMyk5MiBiKFJlYWRsaW5lKTMxIGIoSW5pdClmKEZpbGUpMjMKIGIgRm0oOikxNiBiKDopZyg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnCiAoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KQotaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1MiBiIEZ0KDk2KTM5OQoraCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1MiBiIEZ0KDk4KTM5OQogMTY5NSB5KDguMy4xKTkzIGIoUmVhZGxpbmUpMzEgYihJbml0KWYoRmlsZSlpKFN5biltKHRheCkxNQogYiBGbSg6KWcoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKIGgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik0NAotYiBGdCg5NikzOTkgMTgwNSB5KDguMy4yKTkzIGIoQ29uZGl0aW9uYWwpMzEgYihJbml0KWYoQ29uc3RydWN0cykyNQorYiBGdCg5OCkzOTkgMTgwNSB5KDguMy4yKTkzIGIoQ29uZGl0aW9uYWwpMzEgYihJbml0KWYoQ29uc3RydWN0cykyNQogYiBGbSg6KTE2IGIoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKICg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTU2Ci1iIEZ0KDEwMikzOTkgMTkxNCB5KDguMy4zKTkzIGIoU2FtcGxlKTMwIGIoSW5pdClnKEZpbGUpMTIKK2IgRnQoMTA0KTM5OSAxOTE0IHkoOC4zLjMpOTMgYihTYW1wbGUpMzAgYihJbml0KWcoRmlsZSkxMgogYiBGbSg6KTE3IGIoOillKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKICg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCi1oKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopNDIgYiBGdCgxMDMpMjc1IDIwMjQgeSg4LjQpOTIKK2goOilmKDopaCg6KWYoOilnKDopaCg6KWYoOik0MiBiIEZ0KDEwNSkyNzUgMjAyNCB5KDguNCk5MgogYihCaW5kYWJsZSkzMCBiKFJlYWRsaW5lKWgoQ29tbWFuZHMpMTEgYiBGbSg6KWsoOilnKDopZyg6KWgoOilmKDopaCg6KWYKICg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCi1nKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNDEgYiBGdCgxMDYpMzk5IDIxMzQgeSg4LjQuMSk5MworZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTQxIGIgRnQoMTA4KTM5OSAyMTM0IHkoOC40LjEpOTMKIGIoQ29tbWFuZHMpMjkgYihGKS04IGIob3IpMzEgYihNbyltKHZpbmcpZSBGbSg6KTE2IGIoOilmKDopaCg6KWYoOilnKDopCiBoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKLSg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTU4IGIgRnQoMTA2KTM5OQorKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopNTggYiBGdCgxMDgpMzk5CiAyMjQzIHkoOC40LjIpOTMgYihDb21tYW5kcykyOSBiKEYpLTggYihvcikzMSBiKE1hbmlwdWxhdGluZylnKFRoZSlmCiAoSGlzdG9yeSkxNyBiIEZtKDopZyg6KWUoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KQotaCg6KTQ3IGIgRnQoMTA3KTM5OSAyMzUzIHkoOC40LjMpOTMgYihDb21tYW5kcykyOSBiKEYpLTgKK2goOik0NyBiIEZ0KDEwOSkzOTkgMjM1MyB5KDguNC4zKTkzIGIoQ29tbWFuZHMpMjkgYihGKS04CiBiKG9yKTMxIGIoQ2hhbmdpbmcpZihUKS04IGIoZXh0KTIxIGIgRm0oOiljKDopZSg6KWgoOilmKDopaCg6KWYoOilnKDopaAogKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOikKLTUxIGIgRnQoMTA4KTM5OSAyNDYyIHkoOC40LjQpOTMgYihLaWxsaW5nKTMxIGIoQW5kKWUoWSktOAorNTEgYiBGdCgxMTApMzk5IDI0NjIgeSg4LjQuNCk5MyBiKEtpbGxpbmcpMzEgYihBbmQpZShZKS04CiBiKGFua2luZykyMiBiIEZtKDopMTcgYig6KWUoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAogKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOikKLWYoOilnKDopaCg6KWYoOiloKDopNTIgYiBGdCgxMDkpMzk5IDI1NzIgeSg4LjQuNSk5MyBiKFNwKXMoZWNpZnlpbmcpMzAKK2YoOilnKDopaCg6KWYoOiloKDopNTIgYiBGdCgxMTEpMzk5IDI1NzIgeSg4LjQuNSk5MyBiKFNwKXMoZWNpZnlpbmcpMzAKIGIoTnVtZXJpYylnKEFyZ3VtZW4pbSh0cykxNyBiIEZtKDopZSg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopCiBmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopNDcKLWIgRnQoMTEwKTM5OSAyNjgyIHkoOC40LjYpOTMgYihMZXR0aW5nKTMxIGIoUmVhZGxpbmUpZyhUKW0oeXApcyhlKWYoRikKK2IgRnQoMTEyKTM5OSAyNjgyIHkoOC40LjYpOTMgYihMZXR0aW5nKTMxIGIoUmVhZGxpbmUpZyhUKW0oeXApcyhlKWYoRikKIC04IGIob3IpMzEgYihZKS04IGIob3UpMTIgYiBGbSg6KWsoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKICg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTQyCi1iIEZ0KDExMCkzOTkgMjc5MSB5KDguNC43KTkzIGIoS2V5YilzKG9hcmQpMjkgYihNYWNyb3MpMjEKK2IgRnQoMTEyKTM5OSAyNzkxIHkoOC40LjcpOTMgYihLZXliKXMob2FyZCkyOSBiKE1hY3JvcykyMQogYiBGbSg6KTE2IGIoOilnKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKICg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopCi1oKDopZig6KWgoOilmKDopZyg6KTUxIGIgRnQoMTEyKTM5OSAyOTAxIHkoOC40LjgpOTMgYihTb21lKTMwCitoKDopZig6KWgoOilmKDopZyg6KTUxIGIgRnQoMTE0KTM5OSAyOTAxIHkoOC40LjgpOTMgYihTb21lKTMwCiBiKE1pc2NlbGxhbmVvdXMpaihDb21tYW5kcykyNCBiIEZtKDopMTUgYig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKICg6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1NQotYiBGdCgxMTIpMjc1IDMwMTAgeSg4LjUpOTIgYihSZWFkbGluZSkzMSBiKHZpKWYoTW8pcyhkZSkyMAorYiBGdCgxMTQpMjc1IDMwMTAgeSg4LjUpOTIgYihSZWFkbGluZSkzMSBiKHZpKWYoTW8pcyhkZSkyMAogYiBGbSg6KTE1IGIoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcKICg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopCi1oKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopNTAgYiBGdCgxMTQpMjc1CitoKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopNTAgYiBGdCgxMTcpMjc1CiAzMTIwIHkoOC42KTkyIGIoUHJvZ3JhbW1hYmxlKTMwIGIoQ29tcGxldGlvbikxNiBiIEZtKDopZyg6KWYoOiloKDopZig6KQogaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCiAoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOik0NgotYiBGdCgxMTUpMjc1IDMyMzAgeSg4LjcpOTIgYihQcm9ncmFtbWFibGUpMzAgYihDb21wbGV0aW9uKWgoQnVpbHRpbnMpYworYiBGdCgxMTcpMjc1IDMyMzAgeSg4LjcpOTIgYihQcm9ncmFtbWFibGUpMzAgYihDb21wbGV0aW9uKWgoQnVpbHRpbnMpYwogRm0oOikxNSBiKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCi0oOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOik1NiBiIEZ0KDExNykxNTAKKyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTU2IGIgRnQoMTE5KTE1MAogMzQ3MiB5IEZyKDkpMTM1IGIoVXNpbmcpNDUgYihIaXN0b3J5KWgoSW4pbCh0ZXJhY3RpdilsKGVseSkzOQogYiBGbig6KTE5IGIoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgKLSg6KTgwIGIgRnIoMTIxKTI3NSAzNjA5IHkgRnQoOS4xKTkyIGIoQmFzaCkzMCBiKEhpc3RvcnkpaChGKS04CisoOik4MCBiIEZyKDEyNSkyNzUgMzYwOSB5IEZ0KDkuMSk5MiBiKEJhc2gpMzAgYihIaXN0b3J5KWgoRiktOAogYihhY2lsaXRpZXMpMjEgYiBGbSg6KWQoOillKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYKICg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCi1nKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KTUxIGIgRnQoMTIxKTI3NSAzNzE5CitnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KTUxIGIgRnQoMTI1KTI3NSAzNzE5CiB5KDkuMik5MiBiKEJhc2gpMzAgYihIaXN0b3J5KWgoQnVpbHRpbnMpMTkgYiBGbSg6KWQoOilnKDopZig6KWcoOiloKDopZgogKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKIGgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik0OQotYiBGdCgxMjEpMjc1IDM4MjggeSg5LjMpOTIgYihIaXN0b3J5KTMxIGIoRXhwYW5zaW9uKTIxCitiIEZ0KDEyNSkyNzUgMzgyOCB5KDkuMyk5MiBiKEhpc3RvcnkpMzEgYihFeHBhbnNpb24pMjEKIGIgRm0oOikxNSBiKDopZyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCiAoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQotZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopNTIgYiBGdCgxMjMpMzk5IDM5MzgKK2YoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KTUyIGIgRnQoMTI3KTM5OSAzOTM4CiB5KDkuMy4xKTkzIGIoRXYpbShlbiltKHQpMzEgYihEZXNpZ25hdG9ycykxMCBiIEZtKDopMTgKIGIoOilkKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZwogKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOikKLWgoOilmKDopaCg6KTQwIGIgRnQoMTIzKTM5OSA0MDQ3IHkoOS4zLjIpOTMgYihXKS04IGIob3JkKTMxCitoKDopZig6KWgoOik0MCBiIEZ0KDEyNykzOTkgNDA0NyB5KDkuMy4yKTkzIGIoVyktOCBiKG9yZCkzMQogYihEZXNpZ25hdG9ycykxNyBiIEZtKDopZyg6KWUoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmCiAoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KQotaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNDcgYiBGdCgxMjQpMzk5IDQxNTcKK2goOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTQ3IGIgRnQoMTI4KTM5OSA0MTU3CiB5KDkuMy4zKTkzIGIoTW8pcyhkaVwwMTRlcnMpMjYgYiBGbSg6KTE2IGIoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCiAoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KQogaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloCi0oOilmKDopZyg6KWgoOik1NyBiIEZ0KDEyNSkxNTAgNDM5OSB5IEZyKDEwKTEzNSBiKEluc3RhbGxpbmcpNDYKKyg6KWYoOilnKDopaCg6KTU3IGIgRnQoMTI5KTE1MCA0Mzk5IHkgRnIoMTApMTM1IGIoSW5zdGFsbGluZyk0NgogYihCYXNoKTI0IGIgRm4oOiljKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZgogKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopNjgKLWIgRnIoMTI3KTI3NSA0NTM2IHkgRnQoMTAuMSk5MiBiKEJhc2ljKTMyIGIoSW5zdGFsbGF0aW9uKTIwCitiIEZyKDEzMSkyNzUgNDUzNiB5IEZ0KDEwLjEpOTIgYihCYXNpYykzMiBiKEluc3RhbGxhdGlvbikyMAogYiBGbSg6KWQoOillKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOikKIGcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZwotKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1MCBiIEZ0KDEyNykyNzUgNDY0NgorKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik1MCBiIEZ0KDEzMSkyNzUgNDY0NgogeSgxMC4yKTkyIGIoQ29tcGlsZXJzKTMwIGIoYW5kKWcoT3B0aW9ucyk4IGIgRm0oOikxNQogYig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCiAoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KQotZig6KWgoOikzOCBiIEZ0KDEyOCkyNzUgNDc1NSB5KDEwLjMpOTIgYihDb21waWxpbmcpMzAKK2YoOiloKDopMzggYiBGdCgxMzIpMjc1IDQ3NTUgeSgxMC4zKTkyIGIoQ29tcGlsaW5nKTMwCiBiKEYpLTggYihvcikzMiBiKE11bHRpcGxlKWYoQXJjKW0oaGl0ZWN0dXJlcykyMSBiIEZtKDopYyg6KWUoOiloKDopZig6KQogaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnCi0oOik1MiBiIEZ0KDEyOCkyNzUgNDg2NSB5KDEwLjQpOTIgYihJbnN0YWxsYXRpb24pMzIgYihOYW1lcykxMworKDopNTIgYiBGdCgxMzIpMjc1IDQ4NjUgeSgxMC40KTkyIGIoSW5zdGFsbGF0aW9uKTMyIGIoTmFtZXMpMTMKIGIgRm0oOilqKDopZyg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCiBoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKLSg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOik0MyBiIEZ0KDEyOCkyNzUgNDk3NSB5KDEwLjUpOTIKKyg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOik0MyBiIEZ0KDEzMikyNzUgNDk3NSB5KDEwLjUpOTIKIGIoU3ApcyhlY2lmeWluZykzMCBiKHRoZSlnKFN5c3RlbSloKFQpbSh5cClzKGUpMTIgYiBGbSg6KWooOilnKDopaCg6KWYKICg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCi1nKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTQyIGIgRnQoMTI4KTI3NQorZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOik0MiBiIEZ0KDEzMikyNzUKIDUwODQgeSgxMC42KTkyIGIoU2hhcmluZykzMCBiKERlZmF1bHRzKTE1IGIgRm0oOilpKDopZSg6KWcoOiloKDopZig6KWgKICg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopCiBoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgKLSg6KWYoOilnKDopNDYgYiBGdCgxMjkpMjc1IDUxOTQgeSgxMC43KTkyIGIoT3ApcyhlcmF0aW9uKTMwCisoOilmKDopZyg6KTQ2IGIgRnQoMTMzKTI3NSA1MTk0IHkoMTAuNyk5MiBiKE9wKXMoZXJhdGlvbikzMAogYihDb24pbSh0cm9scykyNCBiIEZtKDopMTYgYig6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOikKIGYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgotKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOik1NCBiIEZ0KDEyOSkyNzUKKyg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopNTQgYiBGdCgxMzMpMjc1CiA1MzAzIHkoMTAuOCk5MiBiKE9wdGlvbmFsKTMxIGIoRiktOCBiKGVhdHVyZXMpMTAgYiBGbSg6KTE3CiBiKDopZSg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgKICg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCi1mKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopNDAgYiBGdCgxMjkpcCBlb3AgZW5kCitmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopNDAgYiBGdCgxMzMpcCBlb3AgZW5kCiAlJVBhZ2U6IC00IDYKIFRlWERpY3QgYmVnaW4gLTQgNSBib3AgMTUwIC0xMTYgYSBGdChpdikyNTg5IGIoQmFzaCkzMQogYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDgzIHkgRnIoQXBwKXQoZW5kaXgpNDQgYihBKTE2MAogYihSZXApdChvcnRpbmcpNDYgYihCdWdzKTM1IGIgRm4oOikyMCBiKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYKLSg6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOik4MCBiIEZyKDEzNSkxNTAgMzUzIHkoQXBwKXQoZW5kaXgpNDQKKyg6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOik4MCBiIEZyKDEzOSkxNTAgMzUzIHkoQXBwKXQoZW5kaXgpNDQKIGIoQikxNjYgYihNYSk3IGIoam9yKTQ1IGIoRGlcMDEzZXJlbmNlcylpKEYpLTExIGIocm9tKTQ0CiBiKFRoZSk0MTkgNDg2IHkoQm91cm5lKWcoU2hlbGwpMzUgYiBGbig6KTE5IGIoOiloKDopZig6KWcoOiloKDopZig6KWgKICg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopCi1oKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopNzggYiBGcigxMzcpMjc1IDYyMyB5IEZ0KEIuMSk5MgoraCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KTc4IGIgRnIoMTQxKTI3NSA2MjMgeSBGdChCLjEpOTIKIGIoSW1wbGVtZW4pbSh0YXRpb24pMzEgYihEaVwwMTNlcmVuY2VzKWgoRiktOCBiKHJvbSkzMQogYihUaGUpZShTVlI0LjIpaihTaGVsbCkxMyBiIEZtKDopaSg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopNDMKLWIgRnQoMTQxKTE1MCA4NjUgeSBGcihBcHApdChlbmRpeCloKEMpMTY1IGIoR05VKTQ1IGIoRiktMTEKK2IgRnQoMTQ1KTE1MCA4NjUgeSBGcihBcHApdChlbmRpeCloKEMpMTY1IGIoR05VKTQ1IGIoRiktMTEKIGIocmVlKTQ1IGIoRG8pdChjdW1lbilsKHRhdGlvbiloKExpY2Vuc2UpNDM5IDk5OCB5IEZuKDopMTkKIGIoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAogKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKLWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWgoOilmKDopNjQgYiBGcigxNDMpMTUwCitoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KTY0IGIgRnIoMTQ3KTE1MAogMTI2OCB5KEFwcCl0KGVuZGl4KTQ0IGIoRCkxNTkgYihJbmRleGVzKTE1IGIgRm4oOikyMAogYig6KWYoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmCi0oOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTU5IGIgRnIoMTUxKTI3NSAxNDA1CisoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KTU5IGIgRnIoMTU1KTI3NSAxNDA1CiB5IEZ0KEQuMSk5MiBiKEluZGV4KTI5IGIob2YpaShTaGVsbClmKEJ1aWx0aW4paChDb21tYW5kcykxNgogYiBGbSg6KWUoOilpKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOikKLWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNDYgYiBGdCgxNTEpMjc1CitoKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTQ2IGIgRnQoMTU1KTI3NQogMTUxNCB5KEQuMik5MiBiKEluZGV4KTI5IGIob2YpaShTaGVsbClmKFJlc2VydiltKGVkKWgoVyktOAogYihvcmRzKTEyIGIgRm0oOilqKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaAogKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KTQyCi1iIEZ0KDE1MikyNzUgMTYyNCB5KEQuMyk5MiBiKFApbShhcmFtZXRlcikzMSBiKGFuZClmKFYpLTgKK2IgRnQoMTU2KTI3NSAxNjI0IHkoRC4zKTkyIGIoUCltKGFyYW1ldGVyKTMxIGIoYW5kKWYoViktOAogYihhcmlhYmxlKTMyIGIoSW5kZXgpMjAgYiBGbSg6KTE0IGIoOilpKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYKICg6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCi1mKDopaCg6KWYoOik1MCBiIEZ0KDE1MikyNzUgMTczMyB5KEQuNCk5MiBiKEYpLTggYih1bmN0aW9uKTMxCitmKDopaCg6KWYoOik1MCBiIEZ0KDE1NikyNzUgMTczMyB5KEQuNCk5MiBiKEYpLTggYih1bmN0aW9uKTMxCiBiKEluZGV4KTE2IGIgRm0oOilmKDopZyg6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZgogKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOikKIGYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopNDcKLWIgRnQoMTU0KTI3NSAxODQzIHkoRC41KTkyIGIoQ29uY2VwdCkzMCBiKEluZGV4KWQgRm0oOikxNQorYiBGdCgxNTgpMjc1IDE4NDMgeShELjUpOTIgYihDb25jZXB0KTMwIGIoSW5kZXgpZCBGbSg6KTE1CiBiKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgKICg6KWYoOiloKDopZig6KWcoOiloKDopZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopCi1mKDopaCg6KWYoOilnKDopaCg6KWYoOiloKDopZig6KWcoOiloKDopNTcgYiBGdCgxNTYpcAorZig6KWgoOilmKDopZyg6KWgoOilmKDopaCg6KWYoOilnKDopaCg6KTU3IGIgRnQoMTYwKXAKIGVvcCBlbmQKICUlUGFnZTogMSA3CiBUZVhEaWN0IGJlZ2luIDEgNiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMTopNDEKQEAgLTQ5ODIsNyArNDk3OCw3IEBACiBiKHJlZmVycmVkKWYodG8paChhcylmKGFuKWggRnMoaWRlbnRpZmllcilwIEZ0KC4pMTUwCiA0MTg2IHkgRnMob3BlcmF0b3IpOTYgYiBGdChBKTM4IGIgRnMoY29udHJvbCkyOCBiKG9wZXJhdG9yKTM2CiBiIEZ0KG9yKWgoYSlpIEZzKHJlZGlyZWN0aW9uKTI3IGIob3BlcmF0b3IpcCBGdCguKTYxCi1iKFNlZSkzOCBiKFNlY3Rpb24pZygzLjYpaChbUmVkaXJlYy0pNjMwIDQyOTUgeSh0aW9uc10sKWYocGFnZSlmKDI2LClpCitiKFNlZSkzOCBiKFNlY3Rpb24pZygzLjYpaChbUmVkaXJlYy0pNjMwIDQyOTUgeSh0aW9uc10sKWYocGFnZSlmKDI3LClpCiAoZm9yKWQoYSlnKGxpc3QpaChvZilmKHJlZGlyZWN0aW9uKWgob3ApcyhlcmF0b3JzLik1OAogYihPcClzKGVyYXRvcnMpMzUgYihjb24pbSh0YWluKWooYXQpZihsZWFzdCk2MzAgNDQwNQogeShvbmUpMzEgYih1bnF1b3RlZCllIEZzKG1ldGFjaGFyYWN0ZXIpcCBGdCguKTE1MCA0NTcwCkBAIC01MDU2LDM0ICs1MDUyLDM0IEBACiAoc2hlbGwncyloKG9wKXMoZXJhdGlvbilmKHdoZW4pZihpdClpKHJlYWRzKWYoYW5kKWYoZXhlY3V0ZXMpaihhKTE1MAogMzI5NyB5KGNvbW1hbmQuKWgoQmFzaWNhbGx5KS04IGIoLCkzNCBiKHRoZSljKHNoZWxsKWgoZG8pcyhlcylmKHRoZSloCiAoZm9sbG8pbSh3aW5nOikxOTkgMzQ1NCB5KDEuKTYxIGIoUmVhZHMpNDIgYihpdHMpaChpbnB1dCllKGZyb20paChhKWcKLShcMDE0bGUpaChcKHNlZSlnKFNlY3Rpb24pZygzLjgpZyhbU2hlbGwpZihTY3JpcHRzXSwpaihwYWdlKWUoMzNcKSwpaworKFwwMTRsZSloKFwoc2VlKWcoU2VjdGlvbilnKDMuOClnKFtTaGVsbClmKFNjcmlwdHNdLClqKHBhZ2UpZSgzNFwpLClrCiAoZnJvbSk0MSBiKGEpaShzdHJpbmcpMzMwIDM1NjQgeShzdXBwbGllZCkyNiBiKGFzKWkoYW4pZihhcmd1bWVuKW0odClnCiAodG8paCh0aGUpZyhgKXAgRnMoLWMpcCBGdCgnKWYoaW4pbSh2KW0obylzKGNhdGlvbilpKG9wdGlvbilmKFwoc2VlKWcKLShTZWN0aW9uKWgoNi4xKWYoW0luKW0odiltKG9raW5nKWcoQmFzaF0sKTMzMCAzNjczIHkocGFnZSlqKDcxXCksKWgob3IpCisoU2VjdGlvbiloKDYuMSlmKFtJbiltKHYpbShva2luZylnKEJhc2hdLCkzMzAgMzY3MyB5KHBhZ2Upaig3M1wpLCloKG9yKQogZShmcm9tKWcodGhlKWgodXNlcidzKWYodGVybWluYWwuKTE5OSAzODIwIHkoMi4pNjEgYihCcmVha3MpNDMKIGIodGhlKWcoaW5wdXQpZihpbiltKHRvKWgodyltKG9yZHMpZihhbmQpZyhvcClzKGVyYXRvcnMsKWsob2IpcyhleWluZylkCiAodGhlKWcocXVvdGluZylnKHJ1bGVzKWYoZGVzY3JpYilzKGVkKWYoaW4pMzMwIDM5MjkgeShTZWN0aW9uKTI3CiBiKDMuMS4yKWkoW1F1b3RpbmddLClmKHBhZ2UpZig2Lik0MCBiKFRoZXNlKTI2IGIodG9rKW0oZW5zKWkoYXJlKWYKIChzZXBhcmF0ZWQpZyhiKW0oeSlmIEZzKG1ldGFjaGFyYWN0ZXJzKXAgRnQoLikzNiBiKEFsaWFzKTMzMAogNDAzOSB5KGV4cGFuc2lvbikzMCBiKGlzKWgocClzKGVyZm9ybWVkKWQoYiltKHkpaih0aGlzKWYoc3RlcClnKFwoc2VlKWkKLShTZWN0aW9uKWYoNi42KWcoW0FsaWFzZXNdLClpKHBhZ2UpZSg3OVwpLikxOTkgNDE4NSB5KDMuKTYxCisoU2VjdGlvbilmKDYuNilnKFtBbGlhc2VzXSwpaShwYWdlKWUoODFcKS4pMTk5IDQxODUgeSgzLik2MQogYihQKW0oYXJzZXMpMzUgYih0aGUpZyh0b2spbShlbnMpZyhpbiltKHRvKWgoc2ltcGxlKWUoYW5kKWcoY29tcClzCiAob3VuZClmKGNvbW1hbmRzKWgoXChzZWUpaChTZWN0aW9uKWgoMy4yKWYoW1NoZWxsKWcoQ29tLSkzMzAKLTQyOTQgeShtYW5kc10sKTMwIGIocGFnZSloKDdcKS4pMTk5IDQ0NDEgeSg0Lik2MSBiKFApbShlcmZvcm1zKTQwCis0Mjk0IHkobWFuZHNdLCkzMCBiKHBhZ2UpaCg4XCkuKTE5OSA0NDQxIHkoNC4pNjEgYihQKW0oZXJmb3Jtcyk0MAogYih0aGUpaCh2KS01IGIoYXJpb3VzKTQwIGIoc2hlbGwpaChleHBhbnNpb25zKWYoXChzZWUpaChTZWN0aW9uKWcoMy41KWcKLShbU2hlbGwpZyhFeHBhbnNpb25zXSwpaChwYWdlKWYoMTdcKSwpMzMwIDQ1NTAgeShicmVha2luZykzNQorKFtTaGVsbClnKEV4cGFuc2lvbnNdLCloKHBhZ2UpZigxOVwpLCkzMzAgNDU1MCB5KGJyZWFraW5nKTM1CiBiKHRoZSlnKGV4cGFuZGVkKWcodG9rKW0oZW5zKWgoaW4pbSh0bylnKGxpc3RzKWYob2YpZyhcMDE0bGVuYW1lcyloCiAoXChzZWUpZyhTZWN0aW9uKWYoMy41LjgpaShbRmlsZW5hbWUpZyhFeC0pMzMwIDQ2NjAgeShwYW5zaW9uXSwpMzAKLWIocGFnZSloKDI0XCkpaChhbmQpZShjb21tYW5kcylnKGFuZClnKGFyZ3VtZW4pbSh0cy4pMTk5CitiKHBhZ2UpaCgyNVwpKWgoYW5kKWUoY29tbWFuZHMpZyhhbmQpZyhhcmd1bWVuKW0odHMuKTE5OQogNDgwNiB5KDUuKTYxIGIoUCltKGVyZm9ybXMpMzYgYihhbiltKHkpaShuZWNlc3NhcnkpZihyZWRpcmVjdGlvbnMpZwotKFwoc2VlKWgoU2VjdGlvbilmKDMuNiloKFtSZWRpcmVjdGlvbnNdLClpKHBhZ2UpZSgyNlwpKWcoYW5kKWUocmUtKTMzMAorKFwoc2VlKWgoU2VjdGlvbilmKDMuNiloKFtSZWRpcmVjdGlvbnNdLClpKHBhZ2UpZSgyN1wpKWcoYW5kKWUocmUtKTMzMAogNDkxNSB5KG1vKW0odiltKGVzKWModGhlKWUocmVkaXJlY3Rpb24paChvcClzKGVyYXRvcnMpZyhhbmQpZih0aGVpcilnCiAob3ApcyhlcmFuZHMpZihmcm9tKWgodGhlKWgoYXJndW1lbiltKHQpZihsaXN0LikxOTkgNTA2MgogeSg2Lik2MSBiKEV4ZWN1dGVzKTMxIGIodGhlKWcoY29tbWFuZClmKFwoc2VlKWgoU2VjdGlvbilnKDMuNyloCi0oW0V4ZWN1dGluZylmKENvbW1hbmRzXSwpZihwYWdlKWgoMjlcKS4pMTk5IDUyMDggeSg3Lik2MQorKFtFeGVjdXRpbmcpZihDb21tYW5kc10sKWYocGFnZSloKDMwXCkuKTE5OSA1MjA4IHkoNy4pNjEKIGIoT3B0aW9uYWxseSk0MCBiKHcpbShhaXRzKWcoZm9yKWYodGhlKWcoY29tbWFuZClnKHRvKWgoY29tcGxldGUpZyhhbmQpCiBmKGNvbGxlY3RzKWkoaXRzKWYoZXhpdClnKHN0YXR1cylmKFwoc2VlKWgoU2VjLSkzMzAgNTMxNwoteSh0aW9uKTMxIGIoMy43LjUpaChbRXhpdClmKFN0YXR1c10sKWcocGFnZSlnKDMyXCkuKXAKK3kodGlvbikzMSBiKDMuNy41KWgoW0V4aXQpZihTdGF0dXNdLClnKHBhZ2UpZygzM1wpLilwCiBlb3AgZW5kCiAlJVBhZ2U6IDYgMTIKIFRlWERpY3QgYmVnaW4gNiAxMSBib3AgMTUwIC0xMTYgYSBGdCg2KTI2MTcgYihCYXNoKTMxCkBAIC01MTAwLDExICs1MDk2LDExIEBACiAoYilzKGUpZyhxdW90ZWQpZyhpZiloKGl0KWcoaXMpZih0byloKHJlcHJlc2VuKW0odClnKGl0c2VsZi4pNjgKIGIoV2hlbikzOSBiKHRoZSloKGNvbW1hbmQpZihoaXN0b3J5KTE1MCAxMDEyIHkoZXhwYW5zaW9uKWkoZmFjaWxpdGllcylqCiAoYXJlKWUoYilzKGVpbmcpZih1c2VkKWcoXChzZWUpaChTZWN0aW9uKWgoOS4zKWYoW0hpc3RvcnkpaChJbiltCi0odGVyYWN0aW9uXSwpaihwYWdlKWMoMTIzXCksKTQ3IGIodGhlKTE1MCAxMTIyIHkgRnEoaGlzdG9yeSkzMAorKHRlcmFjdGlvbl0sKWoocGFnZSljKDEyN1wpLCk0NyBiKHRoZSkxNTAgMTEyMiB5IEZxKGhpc3RvcnkpMzAKIGIoZXhwYW5zaW9uKWggRnQoYyltKGhhcmFjdGVyLCloKHVzdWFsbHkpZihgKXAgRnMoISlwCiBGdCgnLClnKG0pbSh1c3QpZihiKXMoZSlnKHF1b3RlZCloKHRvKWcocHJldiltKGVuKW0odClnKGhpc3RvcnkpZwogKGV4cGFuc2lvbi4pNDEgYihTZWUpMTUwIDEyMzEgeShTZWN0aW9uKTIyIGIoOS4xKWcoW0Jhc2gpZihIaXN0b3J5KWgoRikKLS04IGIoYWNpbGl0aWVzXSwpMjYgYihwYWdlKWMoMTIxLClqKGZvcikyMCBiKG1vcmUpaChkZXRhaWxzKWgKKy04IGIoYWNpbGl0aWVzXSwpMjYgYihwYWdlKWMoMTI1LClqKGZvcikyMCBiKG1vcmUpaChkZXRhaWxzKWgKIChjb25jZXJuaW5nKWcoaGlzdG9yeSlmKGV4cGFuc2lvbi4pMjc1IDEzNTkgeShUaGVyZSkzNgogYihhcmUpaSh0aHJlZSlmKHF1b3RpbmcpZyhtZWMpbShoYW5pc21zOik1NSBiKHRoZSkzNwogYiBGcShlc2NhcClzKGUpaChjKW0oaGFyYWN0ZXIpNyBiIEZ0KCwpNDAgYihzaW5nbGUpZChxdW90ZXMsKWooYW5kKWMKQEAgLTUxMzUsNyArNTEzMSw3IEBACiB5KFRoZSkyNSBiKGMpbShoYXJhY3RlcnMpaChgKXAgRnMoJClwIEZ0KCcpZyhhbmQpZihgKXAKIEZzKGApcCBGdCgnKWcocmV0YWluKWgodGhlaXIpZihzcClzKGVjaWFsKWgobWVhbmluZylmKHdpdGhpbilnKGRvdWJsZSlnCiAocXVvdGVzKWgoXChzZWUpZyhTZWN0aW9uKWcoMy41KTE1MCAzMzQ1IHkoW1NoZWxsKWooRXhwYW5zaW9uc10sKWcKLShwYWdlKWgoMTdcKS4pNDEgYihUaGUpMjggYihiYWMpbShrc2xhc2gpaShyZXRhaW5zKWYoaXRzKWgoc3ApcyhlY2lhbClmCisocGFnZSloKDE5XCkuKTQxIGIoVGhlKTI4IGIoYmFjKW0oa3NsYXNoKWkocmV0YWlucylmKGl0cyloKHNwKXMoZWNpYWwpZgogKG1lYW5pbmcpZyhvbmx5KWcod2hlbilmKGZvbGxvKW0odyltKGVkKTE1MCAzNDU0IHkoYiltKHkpNDEKIGIob25lKWYob2YpaCh0aGUpZyhmb2xsbyltKHdpbmcpaChjKW0oaGFyYWN0ZXJzOik2MyBiKGApcAogRnMoJClwIEZ0KCcsKTQzIGIoYClwIEZzKGApcCBGdCgnLCloKGApcCBGcygiKXAgRnQoJywpZyhgKXAKQEAgLTUxNTQsNyArNTE1MCw3IEBACiA0MTMwIHkoVGhlKTQxIGIoc3ApcyhlY2lhbCloKHBhcmFtZXRlcnMpZihgKXAgRnMoKilwCiBGdCgnKWgoYW5kKWYoYClwIEZzKEApcCBGdCgnKWgoaGEpbSh2KW0oZSlnKHNwKXMoZWNpYWwpZyhtZWFuaW5nKWcKICh3aGVuKWYoaW4pZyhkb3VibGUpZyhxdW90ZXMpaChcKHNlZSkxNTAgNDI0MCB5KFNlY3Rpb24pMzEKLWIoMy41LjMpaChbU2hlbGwpZihQKW0oYXJhbWV0ZXIpaChFeHBhbnNpb25dLCllKHBhZ2UpaCgxOVwpLikxNTAKK2IoMy41LjMpaChbU2hlbGwpZihQKW0oYXJhbWV0ZXIpaChFeHBhbnNpb25dLCllKHBhZ2UpaCgyMVwpLikxNTAKIDQ0MjYgeSBGaigzLjEuMi40KTYzIGIoQU5TSS1DKTQwIGIoUXVvdGluZykxNTAgNDU3MyB5CiBGdChXKS04IGIob3Jkcyk0MSBiKG9mKWgodGhlKWYoZm9ybSlnIEZzKCQnKXAgRmkoc3RyaW5nKTExCiBiIEZzKCcpMzggYiBGdChhcmUpayh0cmVhdGVkKWcoc3ApcyhlY2lhbGx5KS04IGIoLik3NQpAQCAtNTE2OSwyMTg0ICs1MTY1LDIyOTAgQEAKICUlUGFnZTogNyAxMwogVGVYRGljdCBiZWdpbiA3IDEyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQogYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI5MiBiKDcpMTUwIDI5OQoteSBGcyhcXGYpMzg0IGIgRnQoZm9ybSkzMCBiKGZlZWQpMTUwIDQ3NSB5IEZzKFxcbikzODQKLWIgRnQobmV3bGluZSkxNTAgNjUyIHkgRnMoXFxyKWcgRnQoY2FycmlhZ2UpMzIgYihyZXR1cm4pMTUwCi04MjggeSBGcyhcXHQpMzg0IGIgRnQoaG9yaXpvbiltKHRhbCkzMiBiKHRhYikxNTAgMTAwNQoteSBGcyhcXHYpMzg0IGIgRnQodiltKGVydGljYWwpMzIgYih0YWIpMTUwIDExODEgeSBGcyhcXFxcKTM4NAotYiBGdChiYWMpbShrc2xhc2gpMTUwIDEzNTggeSBGcyhcXCcpZyBGdChzaW5nbGUpMzEgYihxdW90ZSkxNTAKLTE1MzQgeSBGcyhcXCIpMzg0IGIgRnQoZG91YmxlKTMwIGIocXVvdGUpMTUwIDE3MTEgeSBGcyhcXClwCit5IEZzKFxcZikzODQgYiBGdChmb3JtKTMwIGIoZmVlZCkxNTAgNDg4IHkgRnMoXFxuKTM4NAorYiBGdChuZXdsaW5lKTE1MCA2NzggeSBGcyhcXHIpZyBGdChjYXJyaWFnZSkzMiBiKHJldHVybikxNTAKKzg2OCB5IEZzKFxcdCkzODQgYiBGdChob3Jpem9uKW0odGFsKTMyIGIodGFiKTE1MCAxMDU3Cit5IEZzKFxcdikzODQgYiBGdCh2KW0oZXJ0aWNhbCkzMiBiKHRhYikxNTAgMTI0NyB5IEZzKFxcXFwpMzg0CitiIEZ0KGJhYyltKGtzbGFzaCkxNTAgMTQzNiB5IEZzKFxcJylnIEZ0KHNpbmdsZSkzMSBiKHF1b3RlKTE1MAorMTYyNiB5IEZzKFxcIikzODQgYiBGdChkb3VibGUpMzAgYihxdW90ZSkxNTAgMTgxNiB5IEZzKFxcKXAKIEZpKG5ubikyODggYiBGdCh0aGUpMzEgYihlaWdoKW0odC1iaXQpaChjKW0oaGFyYWN0ZXIpZyh3aG9zZSllKHYpLTUKIGIoYWx1ZSkzMSBiKGlzKWYodGhlKWgobylzKGN0YWwpZyh2KS01IGIoYWx1ZSkzMSBiIEZxKG5ubillCi1GdChcKG9uZSlpKHRvKWcodGhyZWUpZyhkaWdpdHNcKSkxNTAgMTg4NyB5IEZzKFxceClwCitGdChcKG9uZSlpKHRvKWcodGhyZWUpZyhkaWdpdHNcKSkxNTAgMjAwNSB5IEZzKFxceClwCiBGaShISCkyODggYiBGdCh0aGUpMzYgYihlaWdoKW0odC1iaXQpaShjKW0oaGFyYWN0ZXIpZih3aG9zZSlmKHYpLTUKIGIoYWx1ZSkzNiBiKGlzKWcodGhlKWcoaGV4YWRlY2ltYWwpaCh2KS01IGIoYWx1ZSkzNiBiCi1GcShISCk0NiBiIEZ0KFwob25lKTM3IGIob3IpZih0KW0odyltKG8pNjMwIDE5OTcgeShoZXgpMzAKLWIoZGlnaXRzXCkpMTUwIDIxNzMgeSBGcyhcXGMpcCBGaSh4KTMzNiBiIEZ0KGEpMzEgYihjb24pbSh0cm9sLSlwCi1GcSh4KTM4IGIgRnQoYyltKGhhcmFjdGVyKTE1MCAyMzU4IHkoVGhlKTMwIGIoZXhwYW5kZWQpZihyZXN1bHQpaShpcylmCitGcShISCk0NiBiIEZ0KFwob25lKTM3IGIob3IpZih0KW0odyltKG8pNjMwIDIxMTUgeShoZXgpMzAKK2IoZGlnaXRzXCkpMTUwIDIzMDQgeSBGcyhcXHUpcCBGaShISEhIKTE5MiBiIEZ0KHRoZSkzMworYihVbmljbylzKGRlKWYoXChJU08vSUVDKWcoMTA2NDZcKSlqKGMpbShoYXJhY3RlcilmKHdob3NlKWUodiktNQorYihhbHVlKTMzIGIoaXMpZyh0aGUpZyhoZXhhZGVjaW1hbClnKHYpLTUgYihhbHVlKTYzMAorMjQxNCB5IEZxKEhISEgpNDEgYiBGdChcKG9uZSkzMSBiKHRvKWcoZm91cilmKGhleClnKGRpZ2l0c1wpKTE1MAorMjYwNCB5IEZzKFxcVSlwIEZpKEhISEhISEhIKTYzMCAyNzEzIHkgRnQodGhlKWooVW5pY28pcyhkZSlmKFwoSVNPL0lFQykKK2coMTA2NDZcKSlqKGMpbShoYXJhY3RlcilmKHdob3NlKWUodiktNSBiKGFsdWUpMzMgYihpcylnKHRoZSlnCisoaGV4YWRlY2ltYWwpZyh2KS01IGIoYWx1ZSk2MzAgMjgyMyB5IEZxKEhISEhISEhIKTQyCitiIEZ0KFwob25lKTMxIGIodG8pZyhlaWdoKW0odClnKGhleClnKGRpZ2l0c1wpKTE1MCAzMDEyCit5IEZzKFxcYylwIEZpKHgpMzM2IGIgRnQoYSkzMSBiKGNvbiltKHRyb2wtKXAgRnEoeCkzOAorYiBGdChjKW0oaGFyYWN0ZXIpMTUwIDMyMTcgeShUaGUpMzAgYihleHBhbmRlZClmKHJlc3VsdClpKGlzKWYKIChzaW5nbGUtcXVvdGVkLClpKGFzKWYoaWYpZih0aGUpZyhkb2xsYXIpaChzaWduKWcoaGFkKWUobm90KWkoYilzKGVlbilmCi0ocHJlc2VuKW0odC4pMTUwIDI1NzUgeSBGaigzLjEuMi41KTYzIGIoTG8pcyhjYWxlLVNwKXMoZWNpXDAxNGMpNDEKLWIoVCktMTAgYihyYW5zbGF0aW9uKTE1MCAyNzIyIHkgRnQoQSkyOCBiKGRvdWJsZS1xdW90ZWQpZyhzdHJpbmcpZgorKHByZXNlbiltKHQuKTE1MCAzNDQ2IHkgRmooMy4xLjIuNSk2MyBiKExvKXMoY2FsZS1TcClzKGVjaVwwMTRjKTQxCitiKFQpLTEwIGIocmFuc2xhdGlvbikxNTAgMzU5MyB5IEZ0KEEpMjggYihkb3VibGUtcXVvdGVkKWcoc3RyaW5nKWYKIChwcmVjZWRlZCloKGIpbSh5KWYoYSloKGRvbGxhciloKHNpZ24pZShcKGApcCBGcygkKXAKIEZ0KCdcKSlpKHdpbGwpZihjYXVzZSlnKHRoZSlnKHN0cmluZylnKHRvKWcoYilzKGUpZih0cmFuc2xhdGVkKTE1MAotMjgzMSB5KGFjY29yZGluZylmKHRvKWYodGhlKWcoY3VycmVuKW0odClnKGxvKXMoY2FsZS4pNDEKKzM3MDMgeShhY2NvcmRpbmcpZih0bylmKHRoZSlnKGN1cnJlbiltKHQpZyhsbylzKGNhbGUuKTQxCiBiKElmKTI0IGIodGhlKWgoY3VycmVuKW0odClnKGxvKXMoY2FsZSloKGlzKWYgRnMoQylnCiBGdChvcilnIEZzKFBPU0lYKXAgRnQoLClmKHRoZSloKGRvbGxhciloKHNpZ24pZihpcylnKGlnbm9yZWQuKTE1MAotMjk0MSB5KElmKTMwIGIodGhlKWcoc3RyaW5nKWgoaXMpZih0cmFuc2xhdGVkKWgoYW5kKWYocmVwbGFjZWQsKWgodGhlKWcKLShyZXBsYWNlbWVuKW0odCloKGlzKWUoZG91YmxlLXF1b3RlZC4pMjc1IDMwOTMgeShTb21lKTIwCiszODEzIHkoSWYpMzAgYih0aGUpZyhzdHJpbmcpaChpcylmKHRyYW5zbGF0ZWQpaChhbmQpZihyZXBsYWNlZCwpaCh0aGUpZworKHJlcGxhY2VtZW4pbSh0KWgoaXMpZShkb3VibGUtcXVvdGVkLikyNzUgMzk3NyB5KFNvbWUpMjAKIGIoc3lzdGVtcyloKHVzZSlmKHRoZSloKG1lc3NhZ2UpaChjYXRhbG9nKWgoc2VsZWN0ZWQpZihiKW0oeSlmKHRoZSlnCiBGcyhMQ19NRVNTQUdFUyljIEZ0KHNoZWxsKWsodiktNSBiKGFyaWFibGUuKTM5IGIoT3RoZXJzKTE1MAotMzIwMiB5KGNyZWF0ZSlnKHRoZSllKG5hbWUpZyhvZilnKHRoZSlnKG1lc3NhZ2UpaChjYXRhbG9nKWkoZnJvbSlkKHRoZSkKKzQwODcgeShjcmVhdGUpZyh0aGUpZShuYW1lKWcob2YpZyh0aGUpZyhtZXNzYWdlKWgoY2F0YWxvZylpKGZyb20pZCh0aGUpCiBnKHYpLTUgYihhbHVlKTM3IGIob2YpZyh0aGUpaCBGcyhURVhURE9NQUlOKWMgRnQoc2hlbGwpaih2KS01Ci1iKGFyaWFibGUsKTE1MCAzMzEyIHkocClzKG9zc2libHkpMzEgYihhZGRpbmcpZyhhKWcoc3VcMDE2eClnKG9mKWgoYClwCitiKGFyaWFibGUsKTE1MCA0MTk2IHkocClzKG9zc2libHkpMzEgYihhZGRpbmcpZyhhKWcoc3VcMDE2eClnKG9mKWgoYClwCiBGcygubW8pcCBGdCgnLik0MyBiKElmKTMxIGIoeSltKG91KWgodXNlKWYodGhlKWggRnMoVEVYVERPTUFJTiljCiBGdCh2KS01IGIoYXJpYWJsZSwpMzMgYih5KW0ob3UpZihtYSltKHkpZyhuZWVkKWYodG8paChzZXQpMTUwCi0zNDIxIHkodGhlKTIyIGIgRnMoVEVYVERPTUFJTkRJUilkIEZ0KHYpLTUgYihhcmlhYmxlKTIzCis0MzA2IHkodGhlKTIyIGIgRnMoVEVYVERPTUFJTkRJUilkIEZ0KHYpLTUgYihhcmlhYmxlKTIzCiBiKHRvKWcodGhlKWYobG8pcyhjYXRpb24paShvZillKHRoZSloKG1lc3NhZ2UpZyhjYXRhbG9nKWkoXDAxNGxlcy4pMzgKLWIoU3RpbGwpMjMgYihvdGhlcnMpZih1c2UpZyhiKXMob3RoKTE1MCAzNTMxIHkodiktNSBiKGFyaWFibGVzKTMxCitiKFN0aWxsKTIzIGIob3RoZXJzKWYodXNlKWcoYilzKG90aCkxNTAgNDQxNiB5KHYpLTUgYihhcmlhYmxlcykzMQogYihpbilmKHRoaXMpZyhmYXNoaW9uOik0MSBiIEZzKFRFWFRET01BSU5ESVIpcCBGdCgvKXAKLUZzKExDX01FU1NBR0VTKXAgRnQoL0xDKXAgMjUyOCAzNTMxIDI4IDQgdiAzNCB3KE1FU1NBKW0oR0VTLylwCi1GcyhURVhURE9NQUlOKXAgRnQoLm1vLikxNTAgMzc0NyB5IEZqKDMuMS4zKTYzIGIoQ29tbWVuKW0odHMpMTUwCi0zODk0IHkgRnQoSW4pMjEgYihhKWkobm9uLWluKW0odGVyYWN0aXYpbShlKWgoc2hlbGwsKWcob3IpZShhbilnKGluKW0KK0ZzKExDX01FU1NBR0VTKXAgRnQoL0xDKXAgMjUyOCA0NDE2IDI4IDQgdiAzNCB3KE1FU1NBKW0oR0VTLylwCitGcyhURVhURE9NQUlOKXAgRnQoLm1vLikxNTAgNDY0NSB5IEZqKDMuMS4zKTYzIGIoQ29tbWVuKW0odHMpMTUwCis0NzkyIHkgRnQoSW4pMjEgYihhKWkobm9uLWluKW0odGVyYWN0aXYpbShlKWgoc2hlbGwsKWcob3IpZShhbilnKGluKW0KICh0ZXJhY3RpdiltKGUpaihzaGVsbClkKGluKWcod2hpYyltKGgpZyh0aGUpZyBGcyhpbnRlcmFjdGl2ZV9jb21tZW50cykKLTE2IGIgRnQob3B0aW9uKTE1MCA0MDA0IHkodG8pNDAgYih0aGUpZiBGcyhzaG9wdCllIEZ0KGJ1aWx0aW4paChpcyloCisxNiBiIEZ0KG9wdGlvbikxNTAgNDkwMiB5KHRvKTQwIGIodGhlKWYgRnMoc2hvcHQpZSBGdChidWlsdGluKWgoaXMpaAogKGVuYWJsZWQpZyhcKHNlZSloKFNlY3Rpb24pZyg0LjMuMilnKFtUaGUpZihTaG9wdClmKEJ1aWx0aW5dLClrKHBhZ2UpZQotKDU1XCksKWkoYSlkKHcpbShvcmQpMTUwIDQxMTMgeShiKXMoZWdpbm5pbmcpMjYgYih3aXRoKWcoYClwCisoNTdcKSwpaShhKWQodyltKG9yZCkxNTAgNTAxMSB5KGIpcyhlZ2lubmluZykyNiBiKHdpdGgpZyhgKXAKIEZzKCMpcCBGdCgnKWcoY2F1c2VzKWgodGhhdClmKHcpbShvcmQpZyhhbmQpZyhhbGwpaChyZW1haW5pbmcpZyhjKW0KIChoYXJhY3RlcnMpZyhvbilmKHRoYXQpaChsaW5lKWcodG8pZyhiKXMoZSlmKGlnbm9yZWQuKTE1MAotNDIyMyB5KEFuKTQzIGIoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbCllKHdpdGhvdXQpZih0aGUpZworNTEyMSB5KEFuKTQzIGIoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbCllKHdpdGhvdXQpZih0aGUpZwogRnMoaW50ZXJhY3RpdmVfY29tbWVudHMpMzggYiBGdChvcHRpb24pNDQgYihlbmFibGVkKWYoZG8pcyhlcylnKG5vdClnCi0oYWxsbyltKHcpMTUwIDQzMzMgeShjb21tZW4pbSh0cy4pNTYgYihUaGUpMzQgYiBGcworKGFsbG8pbSh3KTE1MCA1MjMwIHkoY29tbWVuKW0odHMuKTU2IGIoVGhlKTM0IGIgRnMKIChpbnRlcmFjdGl2ZV9jb21tZW50cyljIEZ0KG9wdGlvbikzNSBiKGlzKWcob24pZyhiKW0oeSlnKGRlZmF1bHQpZyhpbilnCi0oaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbHMuKTU1IGIoU2VlKTE1MCA0NDQyIHkoU2VjdGlvbikzMAotYig2LjMpZihbSW4pbSh0ZXJhY3RpdiltKGUpaihTaGVsbHNdLClkKHBhZ2UpaCg3NSwpZyhmb3IpZShhKWkKLShkZXNjcmlwdGlvbillKG9mKWgod2hhdClnKG1hayltKGVzKWgoYSlmKHNoZWxsKWcoaW4pbSh0ZXJhY3RpdiltKGUuKQotMTUwIDQ3MDAgeSBGcigzLjIpNjggYihTaGVsbCk0NSBiKENvbW1hbmRzKTE1MCA0ODYwIHkKLUZ0KEEpZChzaW1wbGUpZyhzaGVsbClnKGNvbW1hbmQpZihzdWMpbShoKWgoYXMpZyBGcyhlY2hvKTI5Ci1iKGEpaChiKWcoYyk0MSBiIEZ0KGNvbnNpc3RzKWkob2YpZih0aGUpZihjb21tYW5kKWgoaXRzZWxmKWgoZm9sbG8pbSh3KQotbShlZClnKGIpbSh5KTE1MCA0OTY5IHkoYXJndW1lbiltKHRzLCkzMSBiKHNlcGFyYXRlZClnKGIpbSh5KWYoc3BhY2VzLikKLTI3NSA1MTIxIHkoTW9yZSloKGNvbXBsZXgpaChzaGVsbClmKGNvbW1hbmRzKWcoYXJlKWcoY29tcClzKG9zZWQpZyhvZilnCi0oc2ltcGxlKWcoY29tbWFuZHMpZyhhcnJhbmdlZClnKHRvZ2V0aGVyKWgoaW4pMTUwIDUyMzAKLXkoYSlmKHYpLTUgYihhcmlldCltKHkpMzIgYihvZilmKHcpbShhKW0oeXM6KTQxIGIoaW4pMzEKLWIoYSlnKHBpcClzKGVsaW5lKWYoaW4pZyh3aGljKW0oaClnKHRoZSloKG91dHB1dClmKG9mKWgob25lKWYoY29tbWFuZCloCi0oYilzKGVjb21lcylmKHRoZSloKGlucHV0KWYob2YpMTUwIDUzNDAgeShhKWgoc2Vjb25kLClmKGluKWgoYSlmKGxvKXMKLShvcCloKG9yKWYoY29uZGl0aW9uYWwpaShjb25zdHJ1Y3QsKWYob3IpZihpbilnKHNvbWUpaChvdGhlcilnCi0oZ3JvdXBpbmcuKXAgZW9wIGVuZAorKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGxzLik1NSBiKFNlZSkxNTAgNTM0MCB5KFNlY3Rpb24pMzAKK2IoNi4zKWYoW0luKW0odGVyYWN0aXYpbShlKWooU2hlbGxzXSwpZChwYWdlKWgoNzYsKWcoZm9yKWUoYSlpCisoZGVzY3JpcHRpb24pZShvZiloKHdoYXQpZyhtYWspbShlcyloKGEpZihzaGVsbClnKGluKW0odGVyYWN0aXYpbShlLilwCitlb3AgZW5kCiAlJVBhZ2U6IDggMTQKIFRlWERpY3QgYmVnaW4gOCAxMyBib3AgMTUwIC0xMTYgYSBGdCg4KTI2MTcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRmooMy4yLjEpNjMgYihTaW1wbGUpNDEKLWIoQ29tbWFuZHMpMTUwIDQ0NiB5IEZ0KEEpMjkgYihzaW1wbGUpZihjb21tYW5kKWcoaXMpaCh0aGUpZyhraW5kKWUob2YpCi1pKGNvbW1hbmQpZihlbmNvdW4pbSh0ZXJlZCloKG1vc3QpZyhvZnRlbi4pNDAgYihJdCdzKTI5Ci1iKGp1c3QpZihhKWgoc2VxdWVuY2UpZyhvZikxNTAgNTU1IHkodyltKG9yZHMpMjIgYihzZXBhcmF0ZWQpaShiKW0oeSllCi1GcyhibGFuaylwIEZ0KHMsKWkodGVybWluYXRlZClmKGIpbSh5KWcob25lKWcob2YpZyh0aGUpZyhzaGVsbCdzKWcoY29uKQotbSh0cm9sKWgob3ApcyhlcmF0b3JzKWYoXChzZWUpaChDaGFwdGVyKWYoMikxNTAgNjY1IHkoW0RlXDAxNG5pdGlvbnNdLCkKLTM3IGIocGFnZSllKDNcKS4pNTQgYihUaGUpMzUgYihcMDE0cnN0KWUodyltKG9yZClpKGdlbmVyYWxseSlnKHNwKXMKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcigzLjIpNjggYihTaGVsbCk0NQorYihDb21tYW5kcykxNTAgNDU4IHkgRnQoQSlkKHNpbXBsZSlnKHNoZWxsKWcoY29tbWFuZClmKHN1YyltKGgpaChhcylnCitGcyhlY2hvKTI5IGIoYSloKGIpZyhjKTQxIGIgRnQoY29uc2lzdHMpaShvZilmKHRoZSlmKGNvbW1hbmQpaChpdHNlbGYpaAorKGZvbGxvKW0odyltKGVkKWcoYiltKHkpMTUwIDU2OCB5KGFyZ3VtZW4pbSh0cywpMzEgYihzZXBhcmF0ZWQpZyhiKW0oeSkKK2Yoc3BhY2VzLikyNzUgNzE0IHkoTW9yZSloKGNvbXBsZXgpaChzaGVsbClmKGNvbW1hbmRzKWcoYXJlKWcoY29tcClzCisob3NlZClnKG9mKWcoc2ltcGxlKWcoY29tbWFuZHMpZyhhcnJhbmdlZClnKHRvZ2V0aGVyKWgoaW4pMTUwCis4MjQgeShhKWYodiktNSBiKGFyaWV0KW0oeSkzMiBiKG9mKWYodyltKGEpbSh5czopNDEgYihpbikzMQorYihhKWcocGlwKXMoZWxpbmUpZihpbilnKHdoaWMpbShoKWcodGhlKWgob3V0cHV0KWYob2YpaChvbmUpZihjb21tYW5kKWgKKyhiKXMoZWNvbWVzKWYodGhlKWgoaW5wdXQpZihvZikxNTAgOTMzIHkoYSloKHNlY29uZCwpZihpbiloKGEpZihsbylzCisob3ApaChvcilmKGNvbmRpdGlvbmFsKWkoY29uc3RydWN0LClmKG9yKWYoaW4pZyhzb21lKWgob3RoZXIpZworKGdyb3VwaW5nLikxNTAgMTE0NCB5IEZqKDMuMi4xKTYzIGIoU2ltcGxlKTQxIGIoQ29tbWFuZHMpMTUwCisxMjkxIHkgRnQoQSkyOSBiKHNpbXBsZSlmKGNvbW1hbmQpZyhpcyloKHRoZSlnKGtpbmQpZShvZilpKGNvbW1hbmQpZgorKGVuY291biltKHRlcmVkKWgobW9zdClnKG9mdGVuLik0MCBiKEl0J3MpMjkgYihqdXN0KWYoYSloKHNlcXVlbmNlKWcKKyhvZikxNTAgMTQwMSB5KHcpbShvcmRzKTIyIGIoc2VwYXJhdGVkKWkoYiltKHkpZSBGcyhibGFuaylwCitGdChzLClpKHRlcm1pbmF0ZWQpZihiKW0oeSlnKG9uZSlnKG9mKWcodGhlKWcoc2hlbGwncylnKGNvbiltKHRyb2wpaAorKG9wKXMoZXJhdG9ycylmKFwoc2VlKWgoQ2hhcHRlcilmKDIpMTUwIDE1MTAgeShbRGVcMDE0bml0aW9uc10sKTM3CitiKHBhZ2UpZSgzXCkuKTU0IGIoVGhlKTM1IGIoXDAxNHJzdCllKHcpbShvcmQpaShnZW5lcmFsbHkpZyhzcClzCiAoZWNpXDAxNGVzKWcoYSlnKGNvbW1hbmQpZih0byloKGIpcyhlKWYoZXhlY3V0ZWQsKWood2l0aCkxNTAKLTc3NSB5KHRoZSkzMSBiKHJlc3QpZihvZiloKHRoZSlmKHcpbShvcmRzKWcoYilzKGVpbmcpZyh0aGF0KWgKLShjb21tYW5kJ3MpZihhcmd1bWVuKW0odHMuKTI3NSA5MTIgeShUaGUpaChyZXR1cm4paChzdGF0dXMpZyhcKHNlZSlpCi0oU2VjdGlvbilmKDMuNy41KWgoW0V4aXQpZihTdGF0dXNdLCloKHBhZ2UpZigzMlwpKWcob2YpZyhhKWcoc2ltcGxlKWYKLShjb21tYW5kKWcoaXMpaChpdHMpMTUwIDEwMjIgeShleGl0KTM4IGIoc3RhdHVzKWYoYXMpZyhwcm8pbSh2aWRlZClmKGIpCisxNjIwIHkodGhlKTMxIGIocmVzdClmKG9mKWgodGhlKWYodyltKG9yZHMpZyhiKXMoZWluZylnKHRoYXQpaAorKGNvbW1hbmQncylmKGFyZ3VtZW4pbSh0cy4pMjc1IDE3NjYgeShUaGUpaChyZXR1cm4paChzdGF0dXMpZyhcKHNlZSlpCisoU2VjdGlvbilmKDMuNy41KWgoW0V4aXQpZihTdGF0dXNdLCloKHBhZ2UpZigzM1wpKWcob2YpZyhhKWcoc2ltcGxlKWYKKyhjb21tYW5kKWcoaXMpaChpdHMpMTUwIDE4NzYgeShleGl0KTM4IGIoc3RhdHVzKWYoYXMpZyhwcm8pbSh2aWRlZClmKGIpCiBtKHkpaCh0aGUpZyBGbChwb3NpeClmIEZ0KDEwMDMuMSlqIEZzKHdhaXRwaWQpYyBGdChmdW5jdGlvbiwpaihvcilmCi0oMTI4KXAgRnMoKylwIEZxKG4pZyBGdChpZilnKHRoZSlnKGNvbW1hbmQpMTUwIDExMzEgeSh3KW0oYXMpMzEKLWIodGVybWluYXRlZClnKGIpbSh5KWYoc2lnbmFsKWggRnEobilwIEZ0KC4pMTUwIDEzMzMKLXkgRmooMy4yLjIpNjMgYihQaXApcyhlbGluZXMpMTUwIDE0ODAgeSBGdChBKTM1IGIgRnMocGlwZWxpbmUpZQorKDEyOClwIEZzKCspcCBGcShuKWcgRnQoaWYpZyh0aGUpZyhjb21tYW5kKTE1MCAxOTg2IHkodyltKGFzKTMxCitiKHRlcm1pbmF0ZWQpZyhiKW0oeSlmKHNpZ25hbCloIEZxKG4pcCBGdCguKTE1MCAyMTk3Cit5IEZqKDMuMi4yKTYzIGIoUGlwKXMoZWxpbmVzKTE1MCAyMzQzIHkgRnQoQSkzNSBiIEZzKHBpcGVsaW5lKWUKIEZ0KGlzKWooYSlmKHNlcXVlbmNlKWgob2YpZihzaW1wbGUpZyhjb21tYW5kcylnKHNlcGFyYXRlZCloKGIpbSh5KWYKLShvbmUpZyhvZiloKHRoZSlmKGNvbiltKHRyb2wpaShvcClzKGVyYXRvcnMpMTUwIDE1OTAKLXkoYClwIEZzKHwpcCBGdCgnKTMxIGIob3IpZihgKXAgRnMofCYpcCBGdCgnLikyNzUgMTcyNwoteShUaGUpZihmb3JtYXQpaShmb3IpZihhKWgocGlwKXMoZWxpbmUpZihpcykzOTAgMTg2NQorKG9uZSlnKG9mKWgodGhlKWYoY29uKW0odHJvbClpKG9wKXMoZXJhdG9ycykxNTAgMjQ1MworeShgKXAgRnMofClwIEZ0KCcpMzEgYihvcilmKGApcCBGcyh8JilwIEZ0KCcuKTI3NSAyNTk5Cit5KFRoZSlmKGZvcm1hdClpKGZvcilmKGEpaChwaXApcyhlbGluZSlmKGlzKTM5MCAyNzQ2CiB5IEZzKFt0aW1lKTQ2IGIoWy1wXV0paChbIV0pZyBGaShjb21tYW5kMSk1NiBiIEZzKFspNDcKLWIoW3wpZyhvciloKHwmXSllIEZpKGNvbW1hbmQyKTU2IGIgRnMoLi4uXSkxNTAgMjAwMiB5CitiKFt8KWcob3IpaCh8Jl0pZSBGaShjb21tYW5kMik1NiBiIEZzKC4uLl0pMTUwIDI4OTIgeQogRnQoVGhlKTI1IGIob3V0cHV0KWYob2YpaShlYWMpbShoKWcoY29tbWFuZClmKGluKWYodGhlKWkocGlwKXMoZWxpbmUpZQogKGlzKWkoY29ubmVjdGVkKWcodmlhKWYoYSloKHBpcClzKGUpZSh0bylpKHRoZSlmKGlucHV0KWYob2YpaCh0aGUpaAotKG5leHQpMTUwIDIxMTIgeShjb21tYW5kLik0MCBiKFRoYXQpMjkgYihpcywpaChlYWMpbShoKWgoY29tbWFuZCllCisobmV4dCkxNTAgMzAwMSB5KGNvbW1hbmQuKTQwIGIoVGhhdCkyOSBiKGlzLCloKGVhYyltKGgpaChjb21tYW5kKWUKIChyZWFkcylnKHRoZSloKHByZXZpb3VzKWYoY29tbWFuZCdzKWcob3V0cHV0Lik0MCBiKFRoaXMpMjkKLWIoY29ubmVjdGlvbikxNTAgMjIyMSB5KGlzKWgocClzKGVyZm9ybWVkKWYoYilzKGVmb3JlKWgoYW4pbSh5KWgKK2IoY29ubmVjdGlvbikxNTAgMzExMSB5KGlzKWgocClzKGVyZm9ybWVkKWYoYilzKGVmb3JlKWgoYW4pbSh5KWgKIChyZWRpcmVjdGlvbnMpZyhzcClzKGVjaVwwMTRlZClmKGIpbSh5KWcodGhlKWcoY29tbWFuZC4pMjc1Ci0yMzU5IHkoSWYpaihgKXAgRnMofCYpcCBGdCgnKWgoaXMpaCh1c2VkLClmKHRoZSloKHN0YW5kYXJkKWUoZXJyb3IpaAorMzI1NyB5KElmKWooYClwIEZzKHwmKXAgRnQoJyloKGlzKWgodXNlZCwpZih0aGUpaChzdGFuZGFyZCllKGVycm9yKWgKIChvZilnIEZxKGNvbW1hbmQxKTQyIGIgRnQoaXMpMzQgYihjb25uZWN0ZWQpaCh0bylnIEZxKGNvbW1hbmQyKTcKLWIgRnQoJ3MpMzUgYihzdGFuZGFyZCkxNTAgMjQ2OCB5KGlucHV0KTI1IGIodGhyb3VnaClnKHRoZSloKHBpcClzKGU7KWgKK2IgRnQoJ3MpMzUgYihzdGFuZGFyZCkxNTAgMzM2NyB5KGlucHV0KTI1IGIodGhyb3VnaClnKHRoZSloKHBpcClzKGU7KWgKIChpdClmKGlzKWcoc2hvcnRoYW5kKWYoZm9yKWcgRnMoMj4mMSlrKHwpcCBGdCguKTM5IGIoVGhpcykyNQotYihpbXBsaWNpdClpKHJlZGlyZWN0aW9uKWcob2YpZih0aGUpZyhzdGFuZGFyZCkxNTAgMjU3OAorYihpbXBsaWNpdClpKHJlZGlyZWN0aW9uKWcob2YpZih0aGUpZyhzdGFuZGFyZCkxNTAgMzQ3NwogeShlcnJvcilrKGlzKWcocClzKGVyZm9ybWVkKWYoYWZ0ZXIpaShhbiltKHkpZyhyZWRpcmVjdGlvbnMpZyhzcClzCi0oZWNpXDAxNGVkKWUoYiltKHkpaSh0aGUpZihjb21tYW5kLikyNzUgMjcxNSB5KFRoZSkzNgorKGVjaVwwMTRlZCllKGIpbSh5KWkodGhlKWYoY29tbWFuZC4pMjc1IDM2MjMgeShUaGUpMzYKIGIocmVzZXJ2KW0oZWQpZyh3KW0ob3JkKWcgRnModGltZSlnIEZ0KGNhdXNlcyloKHRpbWluZylnKHN0YXRpc3RpY3MpaAogKHRvKWYoYilzKGUpZihwcmluKW0odGVkKWcoZm9yKWcodGhlKWgocGlwKXMoZWxpbmUpZihvbmNlKWgoaXQpMTUwCi0yODI1IHkoXDAxNG5pc2hlcy4pNTEgYihUaGUpMzQgYihzdGF0aXN0aWNzKWkoY3VycmVuKW0odGx5KWUoY29uc2lzdCloCiszNzMyIHkoXDAxNG5pc2hlcy4pNTEgYihUaGUpMzQgYihzdGF0aXN0aWNzKWkoY3VycmVuKW0odGx5KWUoY29uc2lzdCloCiAob2YpZihlbGFwc2VkKWgoXCh3KW0oYWxsLWNsbylzKGMpbShrXCkpaSh0aW1lKWUoYW5kKWYodXNlcilmKGFuZCloCi0oc3lzdGVtKTE1MCAyOTM1IHkodGltZSlpKGNvbnN1bWVkKWYoYiltKHkpZyh0aGUpaChjb21tYW5kJ3MpZgotKGV4ZWN1dGlvbi4pNTcgYihUaGUpMzUgYihgKXAgRnMoLXApcCBGdCgnKWgob3B0aW9uKWYoYyltKGhhbmdlcylpKHRoZSkKLWYob3V0cHV0KWYoZm9ybWF0KTE1MCAzMDQ0IHkodG8paSh0aGF0KWYoc3ApcyhlY2lcMDE0ZWQpZihiKW0oeSloCi1GbChwb3NpeClwIEZ0KC4pNTcgYihUaGUpMzUgYiBGcyhUSU1FRk9STUFUKWUgRnQodiktNQotYihhcmlhYmxlKTM3IGIobWEpbSh5KWcoYilzKGUpZShzZXQpaCh0byloKGEpZihmb3JtYXQpZyhzdHJpbmcpZyh0aGF0KQotMTUwIDMxNTQgeShzcClzKGVjaVwwMTRlcykyOSBiKGhvKW0odylnKHRoZSlnKHRpbWluZylnKGluZm9ybWF0aW9uKWgKLShzaG91bGQpZChiKXMoZSlpKGRpc3BsYSltKHkpbShlZC4pNDEgYihTZWUpMjkgYihTZWN0aW9uKWgoNS4yKWcoW0Jhc2gpCi1mKFYpLTggYihhcmlhYmxlc10sKTE1MCAzMjYzIHkocGFnZSkyOSBiKDYxLCloKGZvcillKGEpZyhkZXNjcmlwdGlvbiloCi0ob2YpZih0aGUpZyhhKW0odiktNSBiKGFpbGFibGUpMzEgYihmb3JtYXRzLik0MCBiKFRoZSkyOAotYih1c2UpZyhvZilnIEZzKHRpbWUpZiBGdChhcylpKGEpZihyZXNlcnYpbShlZCloKHcpbShvcmQpZihwKXMoZXItKTE1MAotMzM3MyB5KG1pdHMpZyh0aGUpZyh0aW1pbmcpZyhvZilnKHNoZWxsKWcoYnVpbHRpbnMsKWcoc2hlbGwpZwotKGZ1bmN0aW9ucywpZyhhbmQpZihwaXApcyhlbGluZXMuKTQwIGIoQW4pMjcgYihleHRlcm5hbClpCi1Gcyh0aW1lKWQgRnQoY29tbWFuZCkxNTAgMzQ4MyB5KGNhbm5vdCkzMSBiKHRpbWUpZyh0aGVzZSlnKGVhc2lseSktOAotYiguKTI3NSAzNjIwIHkoSWYpMjQgYih0aGUpaChwaXApcyhlbGluZSlnKGlzKWcobm90KWcoZXhlY3V0ZWQpaChhc3luYykKLW0oaHJvbm91c2x5KWYoXChzZWUpaChTZWN0aW9uKWcoMy4yLjMpaChbTGlzdHNdLClnKHBhZ2UpZSg4XCksKWkodGhlKWYKLShzaGVsbCkxNTAgMzczMCB5KHcpbShhaXRzKTMxIGIoZm9yKWYoYWxsKWkoY29tbWFuZHMpZShpbilnKHRoZSlnKHBpcClzCi0oZWxpbmUpZyh0byloKGNvbXBsZXRlLikyNzUgMzg2NyB5KEVhYyltKGgpMjUgYihjb21tYW5kKWcoaW4pZyhhKWcocGlwKQotcyhlbGluZSlnKGlzKWcoZXhlY3V0ZWQpaChpbilmKGl0cylnKG8pbSh3biloKHN1YnNoZWxsKWUoXChzZWUpaQotKFNlY3Rpb24pZygzLjcuMyloKFtDb21tYW5kKTE1MCAzOTc3IHkoRXhlY3V0aW9uKTM2IGIoRW4pbSh2aXJvbm1lbiltCi0odF0sKWkocGFnZSllKDMwXCkuKTU4IGIoVGhlKTM2IGIoZXhpdClnKHN0YXR1cylnKG9mKWcoYSlnKHBpcClzKGVsaW5lKQotZyhpcylmKHRoZSloKGV4aXQpaChzdGF0dXMpZihvZilnKHRoZSkxNTAgNDA4NiB5KGxhc3QpMjcKLWIoY29tbWFuZClmKGluKWYodGhlKWkocGlwKXMoZWxpbmUsKWYodW5sZXNzKWcodGhlKWcKLUZzKHBpcGVmYWlsKWUgRnQob3B0aW9uKWkoaXMpZyhlbmFibGVkKWcoXChzZWUpaChTZWN0aW9uKWcoNC4zLjEpaAotKFtUaGUpMTUwIDQxOTYgeShTZXQpMzQgYihCdWlsdGluXSwpaihwYWdlKWUoNTFcKS4pNTMKLWIoSWYpMzQgYiBGcyhwaXBlZmFpbCllIEZ0KGlzKWkoZW5hYmxlZCwpaCh0aGUpZyhwaXApcyhlbGluZSdzKWYKLShyZXR1cm4pZihzdGF0dXMpaChpcyloKHRoZSlmKHYpLTUgYihhbHVlKTM1IGIob2YpMTUwCi00MzA1IHkodGhlKWQobGFzdCloKFwocmlnaCltKHRtb3N0XCkpaChjb21tYW5kKWUodG8paChleGl0KWcod2l0aCllKGEpaQotKG5vbi16ZXJvKWYoc3RhdHVzLCloKG9yKWYoemVybyloKGlmKWYoYWxsKWgoY29tbWFuZHMpZihleGl0KTE1MAotNDQxNSB5KHN1Y2Nlc3NmdWxseSktOCBiKC4pNjcgYihJZikzOCBiKHRoZSloKHJlc2VydiltKGVkKWcodyltKG9yZClnCi0oYClwIEZzKCEpcCBGdCgnKWcocHJlY2VkZXMpZyh0aGUpZyhwaXApcyhlbGluZSwpaCh0aGUpZyhleGl0KWYoc3RhdHVzKQotZyhpcylnKHRoZSlnKGxvZ2ljYWwpMTUwIDQ1MjUgeShuZWdhdGlvbiloKG9mKWYodGhlKWYoZXhpdClpKHN0YXR1cylmCi0oYXMpZihkZXNjcmliKXMoZWQpZyhhYilzKG8pbSh2KW0oZS4pNjYgYihUaGUpMzggYihzaGVsbCloKHcpbShhaXRzKWgKLShmb3IpZShhbGwpaChjb21tYW5kcylnKGluKWYodGhlKTE1MCA0NjM0IHkocGlwKXMoZWxpbmUpMzAKLWIodG8paCh0ZXJtaW5hdGUpZyhiKXMoZWZvcmUpZihyZXR1cm5pbmcpZyhhKWgodiktNSBiKGFsdWUuKTE1MAotNDgzNiB5IEZqKDMuMi4zKTYzIGIoTGlzdHMpNDEgYihvZiloKENvbW1hbmRzKTE1MCA0OTgzCi15IEZ0KEEpMzcgYiBGcyhsaXN0KWUgRnQoaXMpaShhKWcoc2VxdWVuY2UpZyhvZilnKG9uZSlnKG9yKWYobW9yZSloCi0ocGlwKXMoZWxpbmVzKWYoc2VwYXJhdGVkKWgoYiltKHkpZyhvbmUpZyhvZilmKHRoZSloKG9wKXMoZXJhdG9ycylnKGApcAotRnMoOylwIEZ0KCcsKWkoYClwIEZzKCYpcCBGdCgnLCkxNTAgNTA5MyB5KGApcCBGcygmJilwCi1GdCgnLCkzMSBiKG9yKWYoYClwIEZzKHx8KXAgRnQoJywpZyhhbmQpZyhvcHRpb25hbGx5KWkodGVybWluYXRlZClmKGIpbQotKHkpZihvbmUpaChvZilmKGApcCBGcyg7KXAgRnQoJywpaChgKXAgRnMoJilwIEZ0KCcsKWcob3IpZihhKWgKLUZzKG5ld2xpbmUpcCBGdCguKTI3NSA1MjMwIHkoT2YpMjMgYih0aGVzZSloKGxpc3QpZyhvcClzKGVyYXRvcnMsKWkoYClwCi1GcygmJilwIEZ0KCcpZChhbmQpZyhgKXAgRnMofHwpcCBGdCgnKWgoaGEpbSh2KW0oZSloKGVxdWFsKWYKLShwcmVjZWRlbmNlLClpKGZvbGxvKW0odyltKGVkKWYoYiltKHkpZihgKXAgRnMoOylwIEZ0KCcpZyhhbmQpZihgKXAKLUZzKCYpcCBGdCgnLClpKHdoaWMpbShoKTE1MCA1MzQwIHkoaGEpbSh2KW0oZSkzMiBiKGVxdWFsKWUocHJlY2VkZW5jZS4pCi1wIGVvcCBlbmQKKyhzeXN0ZW0pMTUwIDM4NDIgeSh0aW1lKTI4IGIoY29uc3VtZWQpZShiKW0oeSloKHRoZSloKGNvbW1hbmQncylmCisoZXhlY3V0aW9uLik0MCBiKFRoZSkyNyBiKGApcCBGcygtcClwIEZ0KCcpZyhvcHRpb24paChjKW0oaGFuZ2VzKWcodGhlKQorZihvdXRwdXQpZyhmb3JtYXQpZyh0bykxNTAgMzk1MiB5KHRoYXQpMzQgYihzcClzKGVjaVwwMTRlZCllKGIpbSh5KWgKK0ZsKHBvc2l4KXAgRnQoLik0OSBiKFdoZW4pMzMgYih0aGUpZyhzaGVsbClnKGlzKWgoaW4pZQorRmwocG9zaXgpaCBGdChtbylzKGRlKWcoXChzZWUpaChTZWN0aW9uKWcoNi4xMSlnKFtCYXNoKWcoUE9TSVgpMTUwCis0MDYxIHkoTW8pcyhkZV0sKTQwIGIocGFnZSlmKDg2XCksKWkoaXQpZChkbylzKGVzKWYobm90KWgocmVjb2duaXplKWkKK0ZzKHRpbWUpYyBGdChhcylpKGEpZyhyZXNlcnYpbShlZClnKHcpbShvcmQpZihpZiloKHRoZSlnKG5leHQpZyh0b2spbQorKGVuKWcoYilzKGVnaW5zKTE1MCA0MTcxIHkod2l0aCkzMyBiKGEpZyhgKXAgRnMoLSlwIEZ0KCcuKTQ5CitiKFRoZSkzMyBiIEZzKFRJTUVGT1JNQVQpZCBGdCh2KS01IGIoYXJpYWJsZSkzNCBiKG1hKW0oeSlnKGIpcyhlKWYoc2V0KQorZyh0byloKGEpZyhmb3JtYXQpZihzdHJpbmcpZyh0aGF0KWgoc3ApcyhlY2lcMDE0ZXMpZihobyltKHcpZyh0aGUpMTUwCis0MjgwIHkodGltaW5nKTM4IGIoaW5mb3JtYXRpb24pZyhzaG91bGQpZShiKXMoZSloKGRpc3BsYSltKHkpbShlZC4pNjIKK2IoU2VlKTM4IGIoU2VjdGlvbilnKDUuMilnKFtCYXNoKWcoViktOCBiKGFyaWFibGVzXSwpNDEKK2IocGFnZSlkKDYzLClpKGZvcillKGEpMTUwIDQzOTAgeShkZXNjcmlwdGlvbikyNyBiKG9mKWcodGhlKWgoYSltKHYpLTUKK2IoYWlsYWJsZSkyOSBiKGZvcm1hdHMuKTQwIGIoVGhlKTI2IGIodXNlKWgob2YpZyBGcyh0aW1lKWYKK0Z0KGFzKWkoYSlmKHJlc2VydiltKGVkKWcodyltKG9yZClnKHApcyhlcm1pdHMpZih0aGUpaCh0aW1pbmcpMTUwCis0NDk5IHkob2YpMzggYihzaGVsbClnKGJ1aWx0aW5zLClpKHNoZWxsKWUoZnVuY3Rpb25zLClpKGFuZClkKHBpcClzCisoZWxpbmVzLik2MyBiKEFuKTM4IGIoZXh0ZXJuYWwpaCBGcyh0aW1lKWUgRnQoY29tbWFuZCloKGNhbm5vdClnKHRpbWUpCisxNTAgNDYwOSB5KHRoZXNlKTMxIGIoZWFzaWx5KS04IGIoLikyNzUgNDc1NSB5KFdoZW4pMjkKK2IodGhlKWgoc2hlbGwpaChpcylmKGluKWYgRmwocG9zaXgpZyBGdChtbylzKGRlKWgoXChzZWUpaChTZWN0aW9uKWYKKyg2LjExKWkoW0Jhc2gpZShQT1NJWClmKE1vKXMoZGVdLClpKHBhZ2UpZyg4NlwpLClnIEZzKHRpbWUpMTUwCis0ODY1IHkgRnQobWEpbSh5KTI2IGIoYilzKGUpZihmb2xsbyltKHcpbShlZClqKGIpbSh5KWQoYSloKG5ld2xpbmUuKTM5CitiKEluKTI1IGIodGhpcyloKGNhc2UsKWkodGhlKWQoc2hlbGwpaChkaXNwbGEpbSh5cylnKHRoZSlnKHRvdGFsKWgKKyh1c2VyKWUoYW5kKWcoc3lzdGVtKWgodGltZSkxNTAgNDk3NSB5KGNvbnN1bWVkKTMzIGIoYiltKHkpaCh0aGUpaAorKHNoZWxsKWYoYW5kKWYoaXRzKWkoYyltKGhpbGRyZW4uKTUxIGIoVGhlKTM0IGIgRnMoVElNRUZPUk1BVClkCitGdCh2KS01IGIoYXJpYWJsZSkzNSBiKG1hKW0oeSlnKGIpcyhlKWUodXNlZClnKHRvKWkoc3ApcyhlY2lmeSkxNTAKKzUwODQgeSh0aGUpYyhmb3JtYXQpZihvZiloKHRoZSlmKHRpbWUpaChpbmZvcm1hdGlvbi4pMjc1Cis1MjMwIHkoSWYpMjQgYih0aGUpaChwaXApcyhlbGluZSlnKGlzKWcobm90KWcoZXhlY3V0ZWQpaChhc3luYyltCisoaHJvbm91c2x5KWYoXChzZWUpaChTZWN0aW9uKWcoMy4yLjMpaChbTGlzdHNdLClnKHBhZ2UpZSg5XCksKWkodGhlKWYKKyhzaGVsbCkxNTAgNTM0MCB5KHcpbShhaXRzKTMxIGIoZm9yKWYoYWxsKWkoY29tbWFuZHMpZShpbilnKHRoZSlnKHBpcClzCisoZWxpbmUpZyh0byloKGNvbXBsZXRlLilwIGVvcCBlbmQKICUlUGFnZTogOSAxNQogVGVYRGljdCBiZWdpbiA5IDE0IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQogYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI5MiBiKDkpMjc1IDI5OQoteShBKTI5IGIoc2VxdWVuY2UpaChvZilnKG9uZSlnKG9yKWcobW9yZSlnKG5ld2xpbmVzKWYobWEpbSh5KWgoYXBwKXMKLShlYXIpZihpbiloKGEpZyBGcyhsaXN0KWUgRnQodG8paihkZWxpbWl0KWYoY29tbWFuZHMsKWcoZXF1aXYtKTE1MAotNDA4IHkoYWxlbiltKHQpaSh0bylmKGEpZyhzZW1pY29sb24uKTI3NSA1NTEgeShJZiljKGEpaChjb21tYW5kKWYoaXMpaAotKHRlcm1pbmF0ZWQpZyhiKW0oeSlnKHRoZSlnKGNvbiltKHRyb2wpaChvcClzKGVyYXRvcilmKGApcAoreShFYWMpbShoKTI1IGIoY29tbWFuZClnKGluKWcoYSlnKHBpcClzKGVsaW5lKWcoaXMpZyhleGVjdXRlZCloKGluKWYKKyhpdHMpZyhvKW0od24paChzdWJzaGVsbCllKFwoc2VlKWkoU2VjdGlvbilnKDMuNy4zKWgoW0NvbW1hbmQpMTUwCis0MDggeShFeGVjdXRpb24pMzYgYihFbiltKHZpcm9ubWVuKW0odF0sKWkocGFnZSllKDMyXCkuKTU4CitiKFRoZSkzNiBiKGV4aXQpZyhzdGF0dXMpZyhvZilnKGEpZyhwaXApcyhlbGluZSlnKGlzKWYodGhlKWgoZXhpdCloCisoc3RhdHVzKWYob2YpZyh0aGUpMTUwIDUxOCB5KGxhc3QpMjcgYihjb21tYW5kKWYoaW4pZih0aGUpaShwaXApcworKGVsaW5lLClmKHVubGVzcylnKHRoZSlnIEZzKHBpcGVmYWlsKWUgRnQob3B0aW9uKWkoaXMpZyhlbmFibGVkKWcKKyhcKHNlZSloKFNlY3Rpb24pZyg0LjMuMSloKFtUaGUpMTUwIDYyOCB5KFNldCkzNCBiKEJ1aWx0aW5dLClqKHBhZ2UpZQorKDU0XCkuKTUzIGIoSWYpMzQgYiBGcyhwaXBlZmFpbCllIEZ0KGlzKWkoZW5hYmxlZCwpaCh0aGUpZyhwaXApcworKGVsaW5lJ3MpZihyZXR1cm4pZihzdGF0dXMpaChpcyloKHRoZSlmKHYpLTUgYihhbHVlKTM1CitiKG9mKTE1MCA3MzcgeSh0aGUpZChsYXN0KWgoXChyaWdoKW0odG1vc3RcKSloKGNvbW1hbmQpZSh0byloKGV4aXQpZworKHdpdGgpZShhKWkobm9uLXplcm8pZihzdGF0dXMsKWgob3IpZih6ZXJvKWgoaWYpZihhbGwpaChjb21tYW5kcylmCisoZXhpdCkxNTAgODQ3IHkoc3VjY2Vzc2Z1bGx5KS04IGIoLik2NyBiKElmKTM4IGIodGhlKWgocmVzZXJ2KW0oZWQpZyh3KQorbShvcmQpZyhgKXAgRnMoISlwIEZ0KCcpZyhwcmVjZWRlcylnKHRoZSlnKHBpcClzKGVsaW5lLCloKHRoZSlnKGV4aXQpZgorKHN0YXR1cylnKGlzKWcodGhlKWcobG9naWNhbCkxNTAgOTU2IHkobmVnYXRpb24paChvZilmKHRoZSlmKGV4aXQpaQorKHN0YXR1cylmKGFzKWYoZGVzY3JpYilzKGVkKWcoYWIpcyhvKW0odiltKGUuKTY2IGIoVGhlKTM4CitiKHNoZWxsKWgodyltKGFpdHMpaChmb3IpZShhbGwpaChjb21tYW5kcylnKGluKWYodGhlKTE1MAorMTA2NiB5KHBpcClzKGVsaW5lKTMwIGIodG8paCh0ZXJtaW5hdGUpZyhiKXMoZWZvcmUpZihyZXR1cm5pbmcpZyhhKWgodikKKy01IGIoYWx1ZS4pMTUwIDEyNzEgeSBGaigzLjIuMyk2MyBiKExpc3RzKTQxIGIob2YpaChDb21tYW5kcykxNTAKKzE0MTggeSBGdChBKTM3IGIgRnMobGlzdCllIEZ0KGlzKWkoYSlnKHNlcXVlbmNlKWcob2YpZyhvbmUpZyhvcilmKG1vcmUpCitoKHBpcClzKGVsaW5lcylmKHNlcGFyYXRlZCloKGIpbSh5KWcob25lKWcob2YpZih0aGUpaChvcClzKGVyYXRvcnMpZyhgKQorcCBGcyg7KXAgRnQoJywpaShgKXAgRnMoJilwIEZ0KCcsKTE1MCAxNTI3IHkoYClwIEZzKCYmKXAKK0Z0KCcsKTMxIGIob3IpZihgKXAgRnMofHwpcCBGdCgnLClnKGFuZClnKG9wdGlvbmFsbHkpaSh0ZXJtaW5hdGVkKWYoYiltCisoeSlmKG9uZSloKG9mKWYoYClwIEZzKDspcCBGdCgnLCloKGApcCBGcygmKXAgRnQoJywpZyhvcilmKGEpaAorRnMobmV3bGluZSlwIEZ0KC4pMjc1IDE2NjcgeShPZikyMyBiKHRoZXNlKWgobGlzdClnKG9wKXMoZXJhdG9ycywpaShgKXAKK0ZzKCYmKXAgRnQoJylkKGFuZClnKGApcCBGcyh8fClwIEZ0KCcpaChoYSltKHYpbShlKWgoZXF1YWwpZgorKHByZWNlZGVuY2UsKWkoZm9sbG8pbSh3KW0oZWQpZihiKW0oeSlmKGApcCBGcyg7KXAgRnQoJylnKGFuZClmKGApcAorRnMoJilwIEZ0KCcsKWkod2hpYyltKGgpMTUwIDE3NzcgeShoYSltKHYpbShlKTMyIGIoZXF1YWwpZShwcmVjZWRlbmNlLikKKzI3NSAxOTE2IHkoQSlmKHNlcXVlbmNlKWgob2YpZyhvbmUpZyhvcilnKG1vcmUpZyhuZXdsaW5lcylmKG1hKW0oeSloCisoYXBwKXMoZWFyKWYoaW4paChhKWcgRnMobGlzdCllIEZ0KHRvKWooZGVsaW1pdClmKGNvbW1hbmRzLClnKGVxdWl2LSkKKzE1MCAyMDI2IHkoYWxlbiltKHQpaSh0bylmKGEpZyhzZW1pY29sb24uKTI3NSAyMTY2IHkoSWYpYyhhKWgoY29tbWFuZClmCisoaXMpaCh0ZXJtaW5hdGVkKWcoYiltKHkpZyh0aGUpZyhjb24pbSh0cm9sKWgob3ApcyhlcmF0b3IpZihgKXAKIEZzKCYpcCBGdCgnLCloKHRoZSllKHNoZWxsKWgoZXhlY3V0ZXMpaCh0aGUpZihjb21tYW5kKTE1MAotNjYxIHkoYXN5bmMpbShocm9ub3VzbHkpZyhpbilnKGEpaChzdWJzaGVsbC4pMzkgYihUaGlzKTI4CisyMjc1IHkoYXN5bmMpbShocm9ub3VzbHkpZyhpbilnKGEpaChzdWJzaGVsbC4pMzkgYihUaGlzKTI4CiBiKGlzKWcoa25vKW0od24pZyhhcyloKGV4ZWN1dGluZyloKHRoZSllKGNvbW1hbmQpaChpbilmKHRoZSlnCi1GcShiYWMpbShrZ3JvdW5kKXQgRnQoLikxNTAgNzcwIHkoVGhlKWcoc2hlbGwpaChkbylzKGVzKWYobm90KWgodyltCitGcShiYWMpbShrZ3JvdW5kKXQgRnQoLikxNTAgMjM4NSB5KFRoZSlnKHNoZWxsKWgoZG8pcyhlcylmKG5vdCloKHcpbQogKGFpdClnKGZvcilmKHRoZSloKGNvbW1hbmQpZih0bylpKFwwMTRuaXNoLClkKGFuZCloKHRoZSloKHJldHVybillCi0oc3RhdHVzKWkoaXMpZygwKWcoXCh0cnVlXCkuKTQwIGIoV2hlbikxNTAgODgwIHkoam9iKWcoY29uKW0odHJvbCloKGlzKQotZyhub3QpZihhY3RpdiltKGUpaShcKHNlZSlmKENoYXB0ZXIpZig3KWgoW0pvYilmKENvbiltKHRyb2xdLClqKHBhZ2UpZQotKDg5XCksKWoodGhlKWQoc3RhbmRhcmQpZShpbnB1dClnKGZvcikxNTAgOTkwIHkoYXN5bmMpbShocm9ub3VzKWsKLShjb21tYW5kcywpayhpbilkKHRoZSlmKGFic2VuY2UpaShvZilmKGFuKW0oeSlnKGV4cGxpY2l0KWgKLShyZWRpcmVjdGlvbnMsKWooaXMpNDMgYihyZWRpcmVjdGVkKWgoZnJvbSkxNTAgMTA5OSB5Ci1GcygvZGV2L251bGwpcCBGdCguKTI3NSAxMjQyIHkoQ29tbWFuZHMpMTkgYihzZXBhcmF0ZWQpaihiKW0oeSlmKGEpZyhgKQotcCBGcyg7KXAgRnQoJylnKGFyZSloKGV4ZWN1dGVkKWcoc2VxdWVuKW0odGlhbGx5OylrKHRoZSkyMQotYihzaGVsbClnKHcpbShhaXRzKWgoZm9yKWYoZWFjKW0oaCloKGNvbW1hbmQpMTUwIDEzNTIKKyhzdGF0dXMpaShpcylnKDApZyhcKHRydWVcKS4pNDAgYihXaGVuKTE1MCAyNDk0IHkoam9iKWcoY29uKW0odHJvbCloCisoaXMpZyhub3QpZihhY3RpdiltKGUpaShcKHNlZSlmKENoYXB0ZXIpZig3KWgoW0pvYilmKENvbiltKHRyb2xdLClqCisocGFnZSllKDkxXCksKWoodGhlKWQoc3RhbmRhcmQpZShpbnB1dClnKGZvcikxNTAgMjYwNAoreShhc3luYyltKGhyb25vdXMpayhjb21tYW5kcywpayhpbilkKHRoZSlmKGFic2VuY2UpaShvZilmKGFuKW0oeSlnCisoZXhwbGljaXQpaChyZWRpcmVjdGlvbnMsKWooaXMpNDMgYihyZWRpcmVjdGVkKWgoZnJvbSkxNTAKKzI3MTQgeSBGcygvZGV2L251bGwpcCBGdCguKTI3NSAyODUzIHkoQ29tbWFuZHMpMTkgYihzZXBhcmF0ZWQpaihiKW0oeSlmCisoYSlnKGApcCBGcyg7KXAgRnQoJylnKGFyZSloKGV4ZWN1dGVkKWcoc2VxdWVuKW0odGlhbGx5OylrKHRoZSkyMQorYihzaGVsbClnKHcpbShhaXRzKWgoZm9yKWYoZWFjKW0oaCloKGNvbW1hbmQpMTUwIDI5NjMKIHkodG8pMzEgYih0ZXJtaW5hdGUpaChpbillKHR1cm4uKTM5IGIoVGhlKTMwIGIocmV0dXJuKWYoc3RhdHVzKWkoaXMpZgogKHRoZSloKGV4aXQpZyhzdGF0dXMpZyhvZilnKHRoZSlmKGxhc3QpaChjb21tYW5kKWYoZXhlY3V0ZWQuKTI3NQotMTQ5NCB5IEZsKGFuZClnIEZ0KGFuZCloIEZsKG9yKWcgRnQobGlzdHMpaChhcmUpZyhzZXF1ZW5jZXMpZihvZiloKG9uZSkKKzMxMDMgeSBGbChhbmQpZyBGdChhbmQpaCBGbChvcilnIEZ0KGxpc3RzKWgoYXJlKWcoc2VxdWVuY2VzKWYob2YpaChvbmUpCiBnKG9yKWYobW9yZSloKHBpcClzKGVsaW5lcyllKHNlcGFyYXRlZClpKGIpbSh5KWcodGhlKWYoY29uKW0odHJvbClpKG9wKQotcyhlci0pMTUwIDE2MDQgeShhdG9ycyllKGApcCBGcygmJilwIEZ0KCcpZihhbmQpZyhgKXAKK3MoZXItKTE1MCAzMjEyIHkoYXRvcnMpZShgKXAgRnMoJiYpcCBGdCgnKWYoYW5kKWcoYClwCiBGcyh8fClwIEZ0KCcsKWgocmVzcClzKGVjdGl2KW0oZWx5KS04IGIoLik0MiBiIEZsKGFuZCkzMAogYiBGdChhbmQpZiBGbChvciloIEZ0KGxpc3RzKWgoYXJlKWcoZXhlY3V0ZWQpZyh3aXRoKWYobGVmdCloKGFzc28pcwotKGNpYXRpdml0KW0oeSktOCBiKC4pMjc1IDE3NDcgeShBbikzMCBiIEZsKGFuZClmIEZ0KGxpc3QpaShoYXMpZih0aGUpaAotKGZvcm0pMzkwIDE4OTAgeSBGaShjb21tYW5kMSk1NiBiIEZzKCYmKTQ3IGIgRmkoY29tbWFuZDIpMTUwCi0yMDMyIHkgRnEoY29tbWFuZDIpMzggYiBGdChpcykzMCBiKGV4ZWN1dGVkKWkoaWYsKWUoYW5kKWcob25seSlnKGlmLCloCisoY2lhdGl2aXQpbSh5KS04IGIoLikyNzUgMzM1MiB5KEFuKTMwIGIgRmwoYW5kKWYgRnQobGlzdClpKGhhcylmKHRoZSloCisoZm9ybSkzOTAgMzQ5MiB5IEZpKGNvbW1hbmQxKTU2IGIgRnMoJiYpNDcgYiBGaShjb21tYW5kMikxNTAKKzM2MzIgeSBGcShjb21tYW5kMikzOCBiIEZ0KGlzKTMwIGIoZXhlY3V0ZWQpaShpZiwpZShhbmQpZyhvbmx5KWcoaWYsKWgKIEZxKGNvbW1hbmQxKTM4IGIgRnQocmV0dXJucykyOSBiKGFuKWgoZXhpdCloKHN0YXR1cylnKG9mKWcoemVyby4pMjc1Ci0yMTc1IHkoQW4pZiBGbChvcilmIEZ0KGxpc3QpaShoYXMpZih0aGUpaChmb3JtKTM5MCAyMzE4Ci15IEZpKGNvbW1hbmQxKTU2IGIgRnMofHwpNDcgYiBGaShjb21tYW5kMikxNTAgMjQ2MSB5CiszNzcyIHkoQW4pZiBGbChvcilmIEZ0KGxpc3QpaShoYXMpZih0aGUpaChmb3JtKTM5MCAzOTExCit5IEZpKGNvbW1hbmQxKTU2IGIgRnMofHwpNDcgYiBGaShjb21tYW5kMikxNTAgNDA1MSB5CiBGcShjb21tYW5kMikzOCBiIEZ0KGlzKTMwIGIoZXhlY3V0ZWQpaShpZiwpZShhbmQpZyhvbmx5KWcoaWYsKWgKIEZxKGNvbW1hbmQxKTM4IGIgRnQocmV0dXJucykyOSBiKGEpaShub24temVybylnKGV4aXQpZyhzdGF0dXMuKTI3NQotMjYwNCB5KFRoZSloKHJldHVybilnKHN0YXR1cylpKG9mKWYgRmwoYW5kKWYgRnQoYW5kKWgKKzQxOTEgeShUaGUpaChyZXR1cm4pZyhzdGF0dXMpaShvZilmIEZsKGFuZClmIEZ0KGFuZCloCiBGbChvcilmIEZ0KGxpc3RzKWkoaXMpZih0aGUpZyhleGl0KWgoc3RhdHVzKWcob2YpZih0aGUpZyhsYXN0KWgKLShjb21tYW5kKWYoZXhlY3V0ZWQpMTUwIDI3MTMgeShpbilkKHRoZSloKGxpc3QuKTE1MCAyOTIxCi15IEZqKDMuMi40KTYzIGIoQ29tcClzKG91bmQpNDIgYihDb21tYW5kcykxNTAgMzA2OCB5CisoY29tbWFuZClmKGV4ZWN1dGVkKTE1MCA0MzAxIHkoaW4pZCh0aGUpaChsaXN0LikxNTAgNDUwNQoreSBGaigzLjIuNCk2MyBiKENvbXApcyhvdW5kKTQyIGIoQ29tbWFuZHMpMTUwIDQ2NTIgeQogRnQoQ29tcClzKG91bmQpMzIgYihjb21tYW5kcylqKGFyZSlnKHRoZSlnKHNoZWxsKWcocHJvZ3JhbW1pbmcpZgogKGNvbnN0cnVjdHMuKTU0IGIoRWFjKW0oaCkzNSBiKGNvbnN0cnVjdClnKGIpcyhlZ2lucylmKHdpdGgpMTUwCi0zMTc3IHkoYSlrKHJlc2VydiltKGVkKWYodyltKG9yZCloKG9yKWYoY29uKW0odHJvbClpKG9wKXMoZXJhdG9yKWYoYW5kKQorNDc2MiB5KGEpayhyZXNlcnYpbShlZClmKHcpbShvcmQpaChvcilmKGNvbiltKHRyb2wpaShvcClzKGVyYXRvcilmKGFuZCkKIGYoaXMpZyh0ZXJtaW5hdGVkKWgoYiltKHkpZihhKWgoY29ycmVzcClzKG9uZGluZylmKHJlc2VydiltKGVkKWcodyltCi0ob3JkKTE1MCAzMjg3IHkob3IpNDQgYihvcClzKGVyYXRvci4pODEgYihBbiltKHkpNDQgYihyZWRpcmVjdGlvbnMpZwotKFwoc2VlKWgoU2VjdGlvbilnKDMuNilnKFtSZWRpcmVjdGlvbnNdLClqKHBhZ2UpZCgyNlwpKWcoYXNzbylzKGNpYXRlZCkKLWcod2l0aCkxNTAgMzM5NiB5KGEpZyhjb21wKXMob3VuZCllKGNvbW1hbmQpaShhcHBseSlmKHRvKWgoYWxsKWgKKyhvcmQpMTUwIDQ4NzEgeShvcik0NCBiKG9wKXMoZXJhdG9yLik4MSBiKEFuKW0oeSk0NCBiKHJlZGlyZWN0aW9ucylnCisoXChzZWUpaChTZWN0aW9uKWcoMy42KWcoW1JlZGlyZWN0aW9uc10sKWoocGFnZSlkKDI3XCkpZyhhc3NvKXMoY2lhdGVkKQorZyh3aXRoKTE1MCA0OTgxIHkoYSlnKGNvbXApcyhvdW5kKWUoY29tbWFuZClpKGFwcGx5KWYodG8paChhbGwpaAogKGNvbW1hbmRzKWUod2l0aGluKWcodGhhdCloKGNvbXApcyhvdW5kKWUoY29tbWFuZClpKHVubGVzcykxNTAKLTM1MDYgeShleHBsaWNpdGx5KTMyIGIobyltKHYpbShlcnJpZGRlbi4pMjc1IDM2NDkgeShCYXNoKTQ1Cis1MDkxIHkoZXhwbGljaXRseSkzMiBiKG8pbSh2KW0oZXJyaWRkZW4uKTI3NSA1MjMwIHkoQmFzaCk0NQogYihwcm8pbSh2aWRlcyloKGxvKXMob3BpbmcpZyhjb25zdHJ1Y3RzLClqKGNvbmRpdGlvbmFsKWUoY29tbWFuZHMsKWoKLShhbmQpNDQgYihtZWMpbShoYW5pc21zKWkodG8pZyhncm91cCkxNTAgMzc1OCB5KGNvbW1hbmRzKTMwCi1iKGFuZClnKGV4ZWN1dGUpaSh0aGVtKWUoYXMpZyhhKWgodW5pdC4pMTUwIDM5NjYgeSBGaigzLjIuNC4xKTYzCi1iKExvKXMob3BpbmcpNDMgYihDb25zdHJ1Y3RzKTE1MCA0MTEzIHkgRnQoQmFzaCkzMSBiKHN1cHApcyhvcnRzKWQodGhlKQotaihmb2xsbyltKHdpbmcpZyhsbylzKG9waW5nKWcoY29uc3RydWN0cy4pMjc1IDQyNTYgeShOb3RlKWsodGhhdClmCi0od2hlcmV2KW0oZXIpZyhhKWcoYClwIEZzKDspcCBGdCgnKWcoYXBwKXMoZWFycylmKGluKWgodGhlKWcKLShkZXNjcmlwdGlvbilnKG9mKWcoYSlnKGNvbW1hbmQncylnKHN5biltKHRheCwpaShpdCllKG1hKW0oeSloKGIpcyhlKQotMTUwIDQzNjUgeShyZXBsYWNlZCljKHdpdGgpZihvbmUpaChvcilmKG1vcmUpZyhuZXdsaW5lcy4pMTUwCi00NTM3IHkgRnModW50aWwpMjQwIGIgRnQoVGhlKTMwIGIoc3luKW0odGF4KWgob2YpZih0aGUpaAotRnModW50aWwpZSBGdChjb21tYW5kKWgoaXM6KTg3MCA0Njc2IHkgRnModW50aWwpNDYgYgotRmkodGVzdC1jb21tYW5kcykxMSBiIEZzKDspNDQgYihkbylqIEZpKGNvbnNlcXVlbnQtY29tbWFuZHMpMTEKLWIgRnMoOyk0MiBiKGRvbmUpNjMwIDQ4MTQgeSBGdChFeGVjdXRlKWcgRnEoY29uc2VxdWVuKW0odC1jb21tYW5kcylrCi1GdChhcyk0MSBiKGxvbmcpaChhcylmIEZxKHRlc3QtY29tbWFuZHMpNDYgYiBGdChoYXMpNDEKLWIoYW4pZyhleGl0KWgoc3RhdHVzKTYzMCA0OTI0IHkod2hpYyltKGgpYyhpcyloKG5vdClnKHplcm8uKTY3Ci1iKFRoZSkzOCBiKHJldHVybilnKHN0YXR1cyloKGlzKWYodGhlKWgoZXhpdCloKHN0YXR1cylmKG9mKWcodGhlKWcKLShsYXN0KWcoY29tbWFuZCk2MzAgNTAzNCB5KGV4ZWN1dGVkKTMxIGIoaW4pZiBGcShjb25zZXF1ZW4pbQotKHQtY29tbWFuZHMpdCBGdCgsKWgob3IpZyh6ZXJvKWcoaWYpZihub25lKWgodyltKGFzKWYoZXhlY3V0ZWQuKTE1MAotNTIwMSB5IEZzKHdoaWxlKTI0MCBiIEZ0KFRoZSkzMCBiKHN5biltKHRheCloKG9mKWYodGhlKWgKLUZzKHdoaWxlKWUgRnQoY29tbWFuZCloKGlzOik4NzAgNTM0MCB5IEZzKHdoaWxlKTQ2IGIKLUZpKHRlc3QtY29tbWFuZHMpMTEgYiBGcyg7KTQ0IGIoZG8paiBGaShjb25zZXF1ZW50LWNvbW1hbmRzKTExCi1iIEZzKDspNDIgYihkb25lKXAgZW9wIGVuZAorKGFuZCk0NCBiKG1lYyltKGhhbmlzbXMpaSh0bylnKGdyb3VwKTE1MCA1MzQwIHkoY29tbWFuZHMpMzAKK2IoYW5kKWcoZXhlY3V0ZSlpKHRoZW0pZShhcylnKGEpaCh1bml0LilwIGVvcCBlbmQKICUlUGFnZTogMTAgMTYKIFRlWERpY3QgYmVnaW4gMTAgMTUgYm9wIDE1MCAtMTE2IGEgRnQoMTApMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShFeGVjdXRlKTQyIGIgRnEoY29uc2VxdWVuKW0KLSh0LWNvbW1hbmRzKWsgRnQoYXMpNDEgYihsb25nKWgoYXMpZiBGcSh0ZXN0LWNvbW1hbmRzKTQ2Ci1iIEZ0KGhhcyk0MSBiKGFuKWcoZXhpdCloKHN0YXR1cyk2MzAgNDA4IHkob2YpMzQgYih6ZXJvLik1MwotYihUaGUpMzQgYihyZXR1cm4pZihzdGF0dXMpaChpcyloKHRoZSlmKGV4aXQpaChzdGF0dXMpZyhvZilmKHRoZSlnCi0obGFzdCloKGNvbW1hbmQpZihleGVjdXRlZCloKGluKTYzMCA1MTggeSBGcShjb25zZXF1ZW4pbSh0LWNvbW1hbmRzKXQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGaigzLjIuNC4xKTYzIGIoTG8pcyhvcGluZyk0MworYihDb25zdHJ1Y3RzKTE1MCA0NDYgeSBGdChCYXNoKTMxIGIoc3VwcClzKG9ydHMpZCh0aGUpaihmb2xsbyltKHdpbmcpZworKGxvKXMob3BpbmcpZyhjb25zdHJ1Y3RzLikyNzUgNTgwIHkoTm90ZSlrKHRoYXQpZih3aGVyZXYpbShlcilnKGEpZyhgKXAKK0ZzKDspcCBGdCgnKWcoYXBwKXMoZWFycylmKGluKWgodGhlKWcoZGVzY3JpcHRpb24pZyhvZilnKGEpZyhjb21tYW5kJ3MpCitnKHN5biltKHRheCwpaShpdCllKG1hKW0oeSloKGIpcyhlKTE1MCA2OTAgeShyZXBsYWNlZCljKHdpdGgpZihvbmUpaAorKG9yKWYobW9yZSlnKG5ld2xpbmVzLikxNTAgODQ5IHkgRnModW50aWwpMjQwIGIgRnQoVGhlKTMwCitiKHN5biltKHRheCloKG9mKWYodGhlKWggRnModW50aWwpZSBGdChjb21tYW5kKWgoaXM6KTg3MAorOTgzIHkgRnModW50aWwpNDYgYiBGaSh0ZXN0LWNvbW1hbmRzKTExIGIgRnMoOyk0NCBiKGRvKWoKK0ZpKGNvbnNlcXVlbnQtY29tbWFuZHMpMTEgYiBGcyg7KTQyIGIoZG9uZSk2MzAgMTExNyB5CitGdChFeGVjdXRlKWcgRnEoY29uc2VxdWVuKW0odC1jb21tYW5kcylrIEZ0KGFzKTQxIGIobG9uZyloKGFzKWYKK0ZxKHRlc3QtY29tbWFuZHMpNDYgYiBGdChoYXMpNDEgYihhbilnKGV4aXQpaChzdGF0dXMpNjMwCisxMjI3IHkod2hpYyltKGgpYyhpcyloKG5vdClnKHplcm8uKTY3IGIoVGhlKTM4IGIocmV0dXJuKWcoc3RhdHVzKWgoaXMpZgorKHRoZSloKGV4aXQpaChzdGF0dXMpZihvZilnKHRoZSlnKGxhc3QpZyhjb21tYW5kKTYzMAorMTMzNiB5KGV4ZWN1dGVkKTMxIGIoaW4pZiBGcShjb25zZXF1ZW4pbSh0LWNvbW1hbmRzKXQKK0Z0KCwpaChvcilnKHplcm8pZyhpZilmKG5vbmUpaCh3KW0oYXMpZihleGVjdXRlZC4pMTUwCisxNDk1IHkgRnMod2hpbGUpMjQwIGIgRnQoVGhlKTMwIGIoc3luKW0odGF4KWgob2YpZih0aGUpaAorRnMod2hpbGUpZSBGdChjb21tYW5kKWgoaXM6KTg3MCAxNjMwIHkgRnMod2hpbGUpNDYgYgorRmkodGVzdC1jb21tYW5kcykxMSBiIEZzKDspNDQgYihkbylqIEZpKGNvbnNlcXVlbnQtY29tbWFuZHMpMTEKK2IgRnMoOyk0MiBiKGRvbmUpNjMwIDE3NjQgeSBGdChFeGVjdXRlKWcgRnEoY29uc2VxdWVuKW0odC1jb21tYW5kcylrCitGdChhcyk0MSBiKGxvbmcpaChhcylmIEZxKHRlc3QtY29tbWFuZHMpNDYgYiBGdChoYXMpNDEKK2IoYW4pZyhleGl0KWgoc3RhdHVzKTYzMCAxODczIHkob2YpMzQgYih6ZXJvLik1MyBiKFRoZSkzNAorYihyZXR1cm4pZihzdGF0dXMpaChpcyloKHRoZSlmKGV4aXQpaChzdGF0dXMpZyhvZilmKHRoZSlnKGxhc3QpaAorKGNvbW1hbmQpZihleGVjdXRlZCloKGluKTYzMCAxOTgzIHkgRnEoY29uc2VxdWVuKW0odC1jb21tYW5kcyl0CiBGdCgsKWMob3IpZyh6ZXJvKWcoaWYpZihub25lKWcodyltKGFzKWgoZXhlY3V0ZWQuKTE1MAotNjY4IHkgRnMoZm9yKTMzNiBiIEZ0KFRoZSkzMCBiKHN5biltKHRheCloKG9mKWYodGhlKWgKLUZzKGZvcillIEZ0KGNvbW1hbmQpaShpczopODcwIDc5NyB5IEZzKGZvcik0NyBiIEZpKG5hbWUpNTcKKzIxNDIgeSBGcyhmb3IpMzM2IGIgRnQoVGhlKTMwIGIoc3luKW0odGF4KWgob2YpZih0aGUpaAorRnMoZm9yKWUgRnQoY29tbWFuZClpKGlzOik4NzAgMjI3NiB5IEZzKGZvcik0NyBiIEZpKG5hbWUpNTcKIGIgRnMoWyk0OCBiKFtpbillKFspcCBGaSh3b3Jkcyk1NyBiIEZzKC4uLilvKF0pNDggYihdKWYoOyloKF0pZihkbylnCi1GaShjb21tYW5kcykxMSBiIEZzKDspNDUgYihkb25lKTYzMCA5MjcgeSBGdChFeHBhbmQpMzEKK0ZpKGNvbW1hbmRzKTExIGIgRnMoOyk0NSBiKGRvbmUpNjMwIDI0MTEgeSBGdChFeHBhbmQpMzEKIGIgRnEodyltKG9yZHMpdCBGdCgsKWkoYW5kKWUoZXhlY3V0ZSlqIEZxKGNvbW1hbmRzKWkKIEZ0KG9uY2UpZChmb3IpZihlYWMpbShoKWkobWVtKW0oYilzKGVyKWUoaW4pZyh0aGUpZyhyZXN1bHRhbiltKHQpNjMwCi0xMDM3IHkobGlzdCwpZCh3aXRoKWYgRnEobmFtZSkzMyBiIEZ0KGIpcyhvdW5kKTI2IGIodG8paih0aGUpZihjdXJyZW4pbQorMjUyMCB5KGxpc3QsKWQod2l0aClmIEZxKG5hbWUpMzMgYiBGdChiKXMob3VuZCkyNiBiKHRvKWoodGhlKWYoY3VycmVuKW0KICh0KWcobWVtKW0oYilzKGVyLik0MCBiKElmKTI3IGIoYClwIEZzKGluKWogRmkod29yZHMpMTEKLWIgRnQoJykyNyBiKGlzKWgobm90KWcocHJlc2VuKW0odCwpaCh0aGUpNjMwIDExNDYgeSBGcyhmb3IpZworYiBGdCgnKTI3IGIoaXMpaChub3QpZyhwcmVzZW4pbSh0LCloKHRoZSk2MzAgMjYzMCB5IEZzKGZvcilnCiBGdChjb21tYW5kKWcoZXhlY3V0ZXMpaSh0aGUpZSBGcShjb21tYW5kcylrIEZ0KG9uY2UpZChmb3IpZihlYWMpbShoKWkKLShwKXMob3NpdGlvbmFsKWYocGFyYW1ldGVyKWcodGhhdCk2MzAgMTI1NiB5KGlzKWQoc2V0LCloKGFzKWYoaWYpZyhgKXAKKyhwKXMob3NpdGlvbmFsKWYocGFyYW1ldGVyKWcodGhhdCk2MzAgMjczOSB5KGlzKWQoc2V0LCloKGFzKWYoaWYpZyhgKXAKIEZzKGluKWooIiRAIilwIEZ0KCcpYyhoYWQpZyhiKXMoZWVuKWcoc3ApcyhlY2lcMDE0ZWQpZyhcKHNlZSlpKFNlY3Rpb24pCi1mKDMuNC4yKWkoW1NwKXMoZWNpYWwpZShQKW0oYXJhbWV0ZXJzXSwpNjMwIDEzNjUgeShwYWdlKWMoMTZcKS4pMzkKK2YoMy40LjIpaShbU3ApcyhlY2lhbCllKFApbShhcmFtZXRlcnNdLCk2MzAgMjg0OSB5KHBhZ2UpYygxOFwpLikzOQogYihUaGUpMjEgYihyZXR1cm4pZyhzdGF0dXMpaChpcylnKHRoZSlnKGV4aXQpaChzdGF0dXMpZihvZilnKHRoZSlnCi0obGFzdClnKGNvbW1hbmQpZyh0aGF0KWcoZXhlY3V0ZXMuKTYzMCAxNDc1IHkoSWYpMzcgYih0aGVyZSloKGFyZSlnKG5vKQorKGxhc3QpZyhjb21tYW5kKWcodGhhdClnKGV4ZWN1dGVzLik2MzAgMjk1OCB5KElmKTM3IGIodGhlcmUpaChhcmUpZyhubykKIGcoaXRlbXMpZyhpbilnKHRoZSlnKGV4cGFuc2lvbilnKG9mKWYgRnEodyltKG9yZHMpdCBGdCgsKWoobm8pZAotKGNvbW1hbmRzKWgoYXJlKWcoZXhlY3V0ZWQsKTYzMCAxNTg1IHkoYW5kKTMwIGIodGhlKWcocmV0dXJuKWcoc3RhdHVzKWcKLShpcyloKHplcm8uKTYzMCAxNzE0IHkoQW4pZihhbHRlcm5hdGUpaShmb3JtKWUob2YpaCh0aGUpZgotRnMoZm9yKWcgRnQoY29tbWFuZClnKGlzKWcoYWxzbyloKHN1cHApcyhvcnRlZDopODcwIDE4NDQKKyhjb21tYW5kcyloKGFyZSlnKGV4ZWN1dGVkLCk2MzAgMzA2OCB5KGFuZCkzMCBiKHRoZSlnKHJldHVybilnKHN0YXR1cylnCisoaXMpaCh6ZXJvLik2MzAgMzIwMiB5KEFuKWYoYWx0ZXJuYXRlKWkoZm9ybSllKG9mKWgodGhlKWYKK0ZzKGZvcilnIEZ0KGNvbW1hbmQpZyhpcylnKGFsc28paChzdXBwKXMob3J0ZWQ6KTg3MCAzMzM3CiB5IEZzKGZvcik0NyBiKFwoXCgpZyBGaShleHByMSk1NyBiIEZzKDspNDcgYiBGaShleHByMik1NwogYiBGcyg7KTQ4IGIgRmkoZXhwcjMpNTcgYiBGcyhcKVwpKTQ3IGIoOylnKGRvKWcgRmkoY29tbWFuZHMpNTcKLWIgRnMoOyk0NyBiKGRvbmUpNjMwIDE5NzQgeSBGdChGaXJzdCwpMzggYih0aGUpZihhcml0aG1ldGljKWgKK2IgRnMoOyk0NyBiKGRvbmUpNjMwIDM0NzEgeSBGdChGaXJzdCwpMzggYih0aGUpZihhcml0aG1ldGljKWgKIChleHByZXNzaW9uKWUgRnEoZXhwcjEpNDMgYiBGdChpcykzNiBiKGV2KS01IGIoYWx1YXRlZCkzOAotYihhY2NvcmRpbmcpZih0bylnKHRoZSlnKHJ1bGVzKWYoZGUtKTYzMCAyMDgzIHkoc2NyaWIpcyhlZCk0MQorYihhY2NvcmRpbmcpZih0bylnKHRoZSlnKHJ1bGVzKWYoZGUtKTYzMCAzNTgwIHkoc2NyaWIpcyhlZCk0MQogYihiKXMoZWxvKW0odyloKFwoc2VlKWgoU2VjdGlvbilnKDYuNSlnKFtTaGVsbClnKEFyaXRobWV0aWNdLClqKHBhZ2UpZAotKDc4XCkuKTc3IGIoVGhlKTQyIGIoYXJpdGhtZXRpYyk2MzAgMjE5MyB5KGV4cHJlc3Npb24pMzMKKyg4MFwpLik3NyBiKFRoZSk0MiBiKGFyaXRobWV0aWMpNjMwIDM2OTAgeShleHByZXNzaW9uKTMzCiBiIEZxKGV4cHIyKTQxIGIgRnQoaXMpMzQgYih0aGVuKWYoZXYpLTUgYihhbHVhdGVkKTM1CiBiKHJlcClzKGVhdGVkbHkpZih1biltKHRpbClnKGl0KWcoZXYpLTUgYihhbHVhdGVzKTM1Ci1iKHRvKWcoemVyby4pNTEgYihFYWMpbShoKTYzMCAyMzAyIHkodGltZSkyMyBiIEZxKGV4cHIyKTMwCitiKHRvKWcoemVyby4pNTEgYihFYWMpbShoKTYzMCAzODAwIHkodGltZSkyMyBiIEZxKGV4cHIyKTMwCiBiIEZ0KGV2KS01IGIoYWx1YXRlcykyNSBiKHRvKWUoYSlnKG5vbi16ZXJvKWgodiktNSBiKGFsdWUsKTI1CiBiIEZxKGNvbW1hbmRzKWggRnQoYXJlKWQoZXhlY3V0ZWQpZyhhbmQpZyh0aGUpZyhhcml0aC0pNjMwCi0yNDEyIHkobWV0aWMpMjkgYihleHByZXNzaW9uKWYgRnEoZXhwcjMpMzYgYiBGdChpcykyOAorMzkwOSB5KG1ldGljKTI5IGIoZXhwcmVzc2lvbilmIEZxKGV4cHIzKTM2IGIgRnQoaXMpMjgKIGIoZXYpLTUgYihhbHVhdGVkLik0MSBiKElmKTI4IGIoYW4pbSh5KWgoZXhwcmVzc2lvbilmKGlzKWcob21pdHRlZCwpaQotKGl0KWYoYilzKGVoYSltKHYpbShlcylnKGFzKTYzMCAyNTIyIHkoaWYpaShpdCloKGV2KS01CisoaXQpZihiKXMoZWhhKW0odiltKGVzKWcoYXMpNjMwIDQwMTkgeShpZilpKGl0KWgoZXYpLTUKIGIoYWx1YXRlcykzMiBiKHRvKWcoMS4pNDQgYihUaGUpMzAgYihyZXR1cm4pZyh2KS01IGIoYWx1ZSkzMgogYihpcylmKHRoZSlnKGV4aXQpaChzdGF0dXMpZyhvZilmKHRoZSlnKGxhc3QpaChjb21tYW5kKWYoaW4pNjMwCi0yNjMxIHkgRnEobGlzdClpIEZ0KHRoYXQpZShpcylmKGV4ZWN1dGVkLClpKG9yKWUoZmFsc2UpaChpZilnKGFuKW0oeSlmCi0ob2YpaCh0aGUpZihleHByZXNzaW9ucylnKGlzKWgoaW4pbSh2KS01IGIoYWxpZC4pMjc1Ci0yNzgxIHkoVGhlKTI2IGIgRnMoYnJlYWspZyBGdChhbmQpaCBGcyhjb250aW51ZSllIEZ0KGJ1aWx0aW5zKWkoXChzZWUpaAotKFNlY3Rpb24paCg0LjEpZihbQm91cm5lKWcoU2hlbGwpZihCdWlsdGluc10sKWkocGFnZSlmKDM1XCkpZyhtYSltKHkpCi0xNTAgMjg5MCB5KGIpcyhlKWkodXNlZClmKHRvKWkoY29uKW0odHJvbCloKGxvKXMob3ApZihleGVjdXRpb24uKTE1MAotMzA4MCB5IEZqKDMuMi40LjIpNjMgYihDb25kaXRpb25hbCk0MiBiKENvbnN0cnVjdHMpMTUwCi0zMjQ3IHkgRnMoaWYpMzg0IGIgRnQoVGhlKTMwIGIoc3luKW0odGF4KWgob2YpZih0aGUpaAotRnMoaWYpZiBGdChjb21tYW5kKWcoaXM6KTg3MCAzMzc3IHkgRnMoaWYpNDcgYiBGaSh0ZXN0LWNvbW1hbmRzKTExCi1iIEZzKDspNDQgYih0aGVuKTk2NSAzNDg2IHkgRmkoY29uc2VxdWVudC1jb21tYW5kcykxMQotYiBGcyg7KTg3MCAzNTk2IHkoW2VsaWYpNDYgYiBGaShtb3JlLXRlc3QtY29tbWFuZHMpMTEKLWIgRnMoOyk0MiBiKHRoZW4pOTY1IDM3MDUgeSBGaShtb3JlLWNvbnNlcXVlbnRzKTExIGIKLUZzKDtdKTg3MCAzODE1IHkoW2Vsc2UpNDYgYiBGaShhbHRlcm5hdGUtY29uc2VxdWVudHMpMTEKLWIgRnMoO10pODcwIDM5MjUgeShmaSk2MzAgNDA1NCB5IEZ0KFRoZSk1MyBiIEZxKHRlc3QtY29tbWFuZHMpNTgKLWIgRnQobGlzdCljKGlzKWcoZXhlY3V0ZWQsKTYwIGIoYW5kKTUzIGIoaWYpZyhpdHMpaChyZXR1cm4pZShzdGF0dXMpaQotKGlzKWYoemVybywpNjEgYih0aGUpNjMwIDQxNjQgeSBGcShjb25zZXF1ZW4pbSh0LWNvbW1hbmRzKTQ0Ci1iIEZ0KGxpc3QpZChpcylmKGV4ZWN1dGVkLik3MCBiKElmKTQwIGIgRnEodGVzdC1jb21tYW5kcylrCi1GdChyZXR1cm5zKTM5IGIoYSloKG5vbi16ZXJvKTYzMCA0MjczIHkoc3RhdHVzLCk0NSBiKGVhYyltKGgpZQotRnMoZWxpZilkIEZ0KGxpc3QpaShpcylnKGV4ZWN1dGVkKWgoaW4pZSh0dXJuLClqKGFuZClkKGlmKWcoaXRzKWgoZXhpdCkKLWgoc3RhdHVzKWYoaXMpZih6ZXJvLCk0NiBiKHRoZSk2MzAgNDM4MyB5KGNvcnJlc3ApcyhvbmRpbmcpMzcKLWIgRnEobW9yZS1jb25zZXF1ZW4pbSh0cyk0MiBiIEZ0KGlzKWMoZXhlY3V0ZWQpZyhhbmQpZih0aGUpaChjb21tYW5kKWcKLShjb21wbGV0ZXMuKTYzIGIoSWYpNjMwIDQ0OTMgeShgKXAgRnMoZWxzZSkyOSBiIEZpCi0oYWx0ZXJuYXRlLWNvbnNlcXVlbnRzKTExIGIgRnQoJykyMyBiKGlzKTMwIGIocHJlc2VuKW0odCwpZihhbmQpZyh0aGUpZwotKFwwMTRuYWwpZyhjb21tYW5kKWYoaW4paCh0aGUpZyhcMDE0bmFsKTYzMCA0NjAyIHkgRnMoaWYpNDQKLWIgRnQob3IpZyBGcyhlbGlmKWYgRnQoY2xhdXNlKWkoaGFzKWYoYSloKG5vbi16ZXJvKWcoZXhpdClnKHN0YXR1cywpagotKHRoZW4pYyBGcShhbHRlcm5hdGUtY29uc2VxdWVuKW0odHMpNTEgYiBGdChpcyk2MzAgNDcxMgoteShleGVjdXRlZC4payhUaGUpMzQgYihyZXR1cm4pZyhzdGF0dXMpaChpcylmKHRoZSloKGV4aXQpaChzdGF0dXMpZihvZikKLWcodGhlKWcobGFzdClnKGNvbW1hbmQpZyhleGVjdXRlZCwpNjMwIDQ4MjEgeShvcikzMCBiKHplcm8paShpZillKG5vKWcKLShjb25kaXRpb24paCh0ZXN0ZWQpZyh0cnVlLikxNTAgNDk3MSB5IEZzKGNhc2UpMjg4IGIKLUZ0KFRoZSkzMCBiKHN5biltKHRheCloKG9mKWYodGhlKWggRnMoY2FzZSllIEZ0KGNvbW1hbmQpaChpczopODcwCi01MTAxIHkgRnMoY2FzZSk0NyBiIEZpKHdvcmQpNTcgYiBGcyhpbik0NyBiKFspZyhbXChdKWcKLUZpKHBhdHRlcm4pNTcgYiBGcyhbfCk0NyBiIEZpKHBhdHRlcm4pMTEgYiBGcyhdLi4uKWwoXCkpNDgKLWIgRmkoY29tbWFuZC1saXN0KTU1IGIgRnMoOztdLi4uKTQ2IGIoZXNhYyk2MzAgNTIzMCB5KGNhc2UpMjAKLWIgRnQod2lsbClpKHNlbGVjdGl2KW0oZWx5KWooZXhlY3V0ZSllKHRoZSllIEZxKGNvbW1hbmQtbGlzdClrCi1GdChjb3JyZXNwKXMob25kaW5nKTIwIGIodG8paSh0aGUpZyhcMDE0cnN0KWYgRnEocGF0dGVybik2MzAKLTUzNDAgeSBGdCh0aGF0KTQyIGIobWF0YyltKGhlcylnIEZxKHcpbShvcmQpdCBGdCguKTcxCi1iKElmKTQxIGIodGhlKWcoc2hlbGwpZyhvcHRpb24pZyBGcyhub2Nhc2VtYXRjaClkIEZ0KFwoc2VlKWsodGhlKWYKLShkZXNjcmlwdGlvbilnKG9mKXAgZW9wIGVuZAorNDEyOCB5IEZxKGNvbW1hbmRzKWogRnQodGhhdClkKGlzKWYoZXhlY3V0ZWQsKWkob3IpZShmYWxzZSloKGlmKWYoYW4pbQorKHkpaChvZilnKHRoZSlmKGV4cHJlc3Npb25zKWcoaXMpaChpbiltKHYpLTUgYihhbGlkLikyNzUKKzQyODcgeShUaGUpMjYgYiBGcyhicmVhaylnIEZ0KGFuZCloIEZzKGNvbnRpbnVlKWUgRnQoYnVpbHRpbnMpaShcKHNlZSloCisoU2VjdGlvbiloKDQuMSlmKFtCb3VybmUpZyhTaGVsbClmKEJ1aWx0aW5zXSwpaShwYWdlKWYoMzdcKSlnKG1hKW0oeSkKKzE1MCA0Mzk3IHkoYilzKGUpaSh1c2VkKWYodG8paShjb24pbSh0cm9sKWgobG8pcyhvcClmKGV4ZWN1dGlvbi4pMTUwCis0NTk2IHkgRmooMy4yLjQuMik2MyBiKENvbmRpdGlvbmFsKTQyIGIoQ29uc3RydWN0cykxNTAKKzQ3NjcgeSBGcyhpZikzODQgYiBGdChUaGUpMzAgYihzeW4pbSh0YXgpaChvZilmKHRoZSloCitGcyhpZilmIEZ0KGNvbW1hbmQpZyhpczopODcwIDQ5MDIgeSBGcyhpZik0NyBiIEZpKHRlc3QtY29tbWFuZHMpMTEKK2IgRnMoOyk0NCBiKHRoZW4pOTY1IDUwMTEgeSBGaShjb25zZXF1ZW50LWNvbW1hbmRzKTExCitiIEZzKDspODcwIDUxMjEgeShbZWxpZik0NiBiIEZpKG1vcmUtdGVzdC1jb21tYW5kcykxMQorYiBGcyg7KTQyIGIodGhlbik5NjUgNTIzMCB5IEZpKG1vcmUtY29uc2VxdWVudHMpMTEgYgorRnMoO10pODcwIDUzNDAgeShbZWxzZSk0NiBiIEZpKGFsdGVybmF0ZS1jb25zZXF1ZW50cykxMQorYiBGcyg7XSlwIGVvcCBlbmQKICUlUGFnZTogMTEgMTcKIFRlWERpY3QgYmVnaW4gMTEgMTYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDM6KTQxCi1iKEJhc2ljKTMyIGIoU2hlbGwpZShGKS04IGIoZWF0dXJlcykyMjQ2IGIoMTEpNjMwIDI5OQoteSBGcyhzaG9wdCkzNCBiIEZ0KGluKWgoU2VjdGlvbiloKDQuMy4yKWgoW1RoZSllKFNob3B0KWYoQnVpbHRpbl0sKWsKLShwYWdlKWUoNTVcKSlnKGlzKWcoZW5hYmxlZCwpZyh0aGUpZyhtYXRjKW0oaClnKGlzKTYzMAotNDA4IHkocClzKGVyZm9ybWVkKTI5IGIod2l0aG91dClpKHJlZ2FyZClnKHRvKWcodGhlKWcoY2FzZSloKG9mKWYKLShhbHBoYWIpcyhldGljKWcoYyltKGhhcmFjdGVycy4pNDQgYihUaGUpMzAgYihgKXAgRnMofClwCi1GdCgnKWgoaXMpZyh1c2VkKTYzMCA1MTggeSh0byllKHNlcGFyYXRlKWcobSltKHVsdGlwbGUpZyhwYXR0ZXJucywpZwotKGFuZCllKHRoZSlpKGApcCBGcyhcKSlwIEZ0KCcpZihvcClzKGVyYXRvcilnKHRlcm1pbmF0ZXMpaChhKWcocGF0dGVybikKLWYobGlzdC4pNDEgYihBKTYzMCA2MjggeShsaXN0KTMxIGIob2YpZyhwYXR0ZXJucylmKGFuZClnKGFuKWcoYXNzbylzCi0oY2lhdGVkKWkoY29tbWFuZC1saXN0KWYoaXMpZihrbm8pbSh3bilnKGFzKWgoYSlnIEZxKGNsYXVzZSk1Ci1iIEZ0KC4pNjMwIDc1NCB5KEVhYyltKGgpNDIgYihjbGF1c2UpZyhtKW0odXN0KWYoYilzKGUpZyh0ZXJtaW5hdGVkKWgKLSh3aXRoKWUoYClwIEZzKDs7KXAgRnQoJywpNDUgYihgKXAgRnMoOyYpcCBGdCgnLClmKG9yKWQoYClwCi1Gcyg7OyYpcCBGdCgnLik3MyBiKFRoZSk0MSBiIEZxKHcpbShvcmQpaiBGdCh1bmRlci0pNjMwCi04NjQgeShnbylzKGVzKTM1IGIodGlsZGUpZihleHBhbnNpb24sKWgocGFyYW1ldGVyKWcoZXhwYW5zaW9uLClnCi0oY29tbWFuZClmKHN1YnN0aXR1dGlvbiwpaChhcml0aG1ldGljKTYzMCA5NzMgeShleHBhbnNpb24sKTQ3Ci1iKGFuZClkKHF1b3RlKWcocmVtbyltKHYpLTUgYihhbCk0NSBiKGIpcyhlZm9yZSlmKG1hdGMpbShoaW5nKWgoaXMpZgotKGF0dGVtcHRlZC4pODIgYihFYWMpbShoKTQ1IGIgRnEocGF0dGVybik2MzAgMTA4MyB5IEZ0KHVuZGVyZ28pcyhlcykzOAotYih0aWxkZSloKGV4cGFuc2lvbiwpaShwYXJhbWV0ZXIpZShleHBhbnNpb24sKWkoY29tbWFuZClkCi0oc3Vic3RpdHV0aW9uLClqKGFuZCk2MzAgMTE5MiB5KGFyaXRobWV0aWMpMzIgYihleHBhbnNpb24uKTYzMAotMTMxOSB5KFRoZXJlKWUobWEpbSh5KWcoYilzKGUpZihhbiloKGFyYml0cmFyeSlnKG4pbSh1bSltKGIpcyhlcilmKG9mKWgKLUZzKGNhc2UpZiBGdChjbGF1c2VzLClpKGVhYyltKGgpZyh0ZXJtaW5hdGVkKWcoYiltKHkpZShhKWkoYClwCi1Gcyg7OylwIEZ0KCcsKTYzMCAxNDI4IHkoYClwIEZzKDsmKXAgRnQoJywpYyhvcillKGApcAotRnMoOzsmKXAgRnQoJy4pMzkgYihUaGUpMjUgYihcMDE0cnN0KWcocGF0dGVybiloKHRoYXQpZyhtYXRjKW0oaGVzKWgKLShkZXRlcm1pbmVzKWUodGhlKWgoY29tbWFuZC1saXN0KWcodGhhdCk2MzAgMTUzOCB5KGlzKWsoZXhlY3V0ZWQuKTYzMAotMTY2NSB5KEhlcmUpMzUgYihpcylnKGFuKWcoZXhhbXBsZSloKHVzaW5nKWUgRnMoY2FzZSlnCi1GdChpbilnKGEpaChzY3JpcHQpZyh0aGF0KWgoY291bGQpZihiKXMoZSlmKHVzZWQpZyh0byloKGRlc2NyaWIpcyhlKWcKLShvbmUpNjMwIDE3NzQgeShpbiltKHRlcmVzdGluZylkKGZlYXR1cmUpZihvZilmKGFuKWcoYW5pbWFsOik4NzAKLTE5MDEgeSBGcyhlY2hvKTQ3IGIoLW4pZygiRW50ZXIpZih0aGUpaChuYW1lKWYob2YpaShhbilmKGFuaW1hbDopZigiKQotODcwIDIwMTAgeShyZWFkKWgoQU5JTUFMKTg3MCAyMTIwIHkoZWNobylnKC1uKWcoIlRoZSlmKCRBTklNQUwpZyhoYXMpaAotKCIpODcwIDIyMjkgeShjYXNlKWcoJEFOSU1BTCllKGluKTk2NSAyMzM5IHkoaG9yc2UpaSh8KWcoZG9nKWcofCloCi0oY2F0XCkpZShlY2hvKWgoLW4pZygiZm91ciI7Oyk5NjUgMjQ0OSB5KG1hbilnKHwpaChrYW5nYXJvbylkKFwpKWoKLShlY2hvKWUoLW4paSgidHdvIjs7KTk2NSAyNTU4IHkoKlwpKWcoZWNobyllKC1uKWgoImFuKWcodW5rbm93bilmCi0obnVtYmVyKWcob2YiOzspODcwIDI2NjggeShlc2FjKTg3MCAyNzc3IHkoZWNobyloKCIpZyhsZWdzLiIpNjMwCi0yOTIxIHkgRnQoSWYpMjUgYih0aGUpaChgKXAgRnMoOzspcCBGdCgnKWcob3ApcyhlcmF0b3IpZyhpcylnKHVzZWQsKWcKK2IoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigxMSk4NzAgMjk5Cit5IEZzKGZpKTYzMCA0MzIgeSBGdChUaGUpNTMgYiBGcSh0ZXN0LWNvbW1hbmRzKTU4IGIgRnQobGlzdCljKGlzKWcKKyhleGVjdXRlZCwpNjAgYihhbmQpNTMgYihpZilnKGl0cyloKHJldHVybillKHN0YXR1cylpKGlzKWYoemVybywpNjEKK2IodGhlKTYzMCA1NDIgeSBGcShjb25zZXF1ZW4pbSh0LWNvbW1hbmRzKTQ0IGIgRnQobGlzdClkKGlzKWYKKyhleGVjdXRlZC4pNzAgYihJZik0MCBiIEZxKHRlc3QtY29tbWFuZHMpayBGdChyZXR1cm5zKTM5CitiKGEpaChub24temVybyk2MzAgNjUxIHkoc3RhdHVzLCk0NSBiKGVhYyltKGgpZSBGcyhlbGlmKWQKK0Z0KGxpc3QpaShpcylnKGV4ZWN1dGVkKWgoaW4pZSh0dXJuLClqKGFuZClkKGlmKWcoaXRzKWgoZXhpdCloKHN0YXR1cylmCisoaXMpZih6ZXJvLCk0NiBiKHRoZSk2MzAgNzYxIHkoY29ycmVzcClzKG9uZGluZykzNyBiCitGcShtb3JlLWNvbnNlcXVlbiltKHRzKTQyIGIgRnQoaXMpYyhleGVjdXRlZClnKGFuZClmKHRoZSloKGNvbW1hbmQpZworKGNvbXBsZXRlcy4pNjMgYihJZik2MzAgODcwIHkoYClwIEZzKGVsc2UpMjkgYiBGaQorKGFsdGVybmF0ZS1jb25zZXF1ZW50cykxMSBiIEZ0KCcpMjMgYihpcykzMCBiKHByZXNlbiltKHQsKWYoYW5kKWcodGhlKWcKKyhcMDE0bmFsKWcoY29tbWFuZClmKGluKWgodGhlKWcoXDAxNG5hbCk2MzAgOTgwIHkgRnMoaWYpNDQKK2IgRnQob3IpZyBGcyhlbGlmKWYgRnQoY2xhdXNlKWkoaGFzKWYoYSloKG5vbi16ZXJvKWcoZXhpdClnKHN0YXR1cywpagorKHRoZW4pYyBGcShhbHRlcm5hdGUtY29uc2VxdWVuKW0odHMpNTEgYiBGdChpcyk2MzAgMTA4OQoreShleGVjdXRlZC4payhUaGUpMzQgYihyZXR1cm4pZyhzdGF0dXMpaChpcylmKHRoZSloKGV4aXQpaChzdGF0dXMpZihvZikKK2codGhlKWcobGFzdClnKGNvbW1hbmQpZyhleGVjdXRlZCwpNjMwIDExOTkgeShvcikzMCBiKHplcm8paShpZillKG5vKWcKKyhjb25kaXRpb24paCh0ZXN0ZWQpZyh0cnVlLikxNTAgMTM1NiB5IEZzKGNhc2UpMjg4IGIKK0Z0KFRoZSkzMCBiKHN5biltKHRheCloKG9mKWYodGhlKWggRnMoY2FzZSllIEZ0KGNvbW1hbmQpaChpczopODcwCisxNDg5IHkgRnMoY2FzZSk0NyBiIEZpKHdvcmQpNTcgYiBGcyhpbik0NyBiKFspZyhbXChdKWcKK0ZpKHBhdHRlcm4pNTcgYiBGcyhbfCk0NyBiIEZpKHBhdHRlcm4pMTEgYiBGcyhdLi4uKWwoXCkpNDgKK2IgRmkoY29tbWFuZC1saXN0KTU1IGIgRnMoOztdLi4uKTQ2IGIoZXNhYyk2MzAgMTYyMiB5KGNhc2UpMjAKK2IgRnQod2lsbClpKHNlbGVjdGl2KW0oZWx5KWooZXhlY3V0ZSllKHRoZSllIEZxKGNvbW1hbmQtbGlzdClrCitGdChjb3JyZXNwKXMob25kaW5nKTIwIGIodG8paSh0aGUpZyhcMDE0cnN0KWYgRnEocGF0dGVybik2MzAKKzE3MzEgeSBGdCh0aGF0KTQyIGIobWF0YyltKGhlcylnIEZxKHcpbShvcmQpdCBGdCguKTcxCitiKElmKTQxIGIodGhlKWcoc2hlbGwpZyhvcHRpb24pZyBGcyhub2Nhc2VtYXRjaClkIEZ0KFwoc2VlKWsodGhlKWYKKyhkZXNjcmlwdGlvbilnKG9mKTYzMCAxODQxIHkgRnMoc2hvcHQpMzQgYiBGdChpbiloKFNlY3Rpb24paCg0LjMuMiloCisoW1RoZSllKFNob3B0KWYoQnVpbHRpbl0sKWsocGFnZSllKDU3XCkpZyhpcylnKGVuYWJsZWQsKWcodGhlKWcobWF0YyltCisoaClnKGlzKTYzMCAxOTUxIHkocClzKGVyZm9ybWVkKTI5IGIod2l0aG91dClpKHJlZ2FyZClnKHRvKWcodGhlKWcKKyhjYXNlKWgob2YpZihhbHBoYWIpcyhldGljKWcoYyltKGhhcmFjdGVycy4pNDQgYihUaGUpMzAKK2IoYClwIEZzKHwpcCBGdCgnKWgoaXMpZyh1c2VkKTYzMCAyMDYwIHkodG8pZShzZXBhcmF0ZSlnKG0pbSh1bHRpcGxlKWcKKyhwYXR0ZXJucywpZyhhbmQpZSh0aGUpaShgKXAgRnMoXCkpcCBGdCgnKWYob3ApcyhlcmF0b3IpZyh0ZXJtaW5hdGVzKWgKKyhhKWcocGF0dGVybilmKGxpc3QuKTQxIGIoQSk2MzAgMjE3MCB5KGxpc3QpMzEgYihvZilnKHBhdHRlcm5zKWYoYW5kKWcKKyhhbilnKGFzc28pcyhjaWF0ZWQpaShjb21tYW5kLWxpc3QpZihpcylmKGtubyltKHduKWcoYXMpaChhKWcKK0ZxKGNsYXVzZSk1IGIgRnQoLik2MzAgMjMwMyB5KEVhYyltKGgpNDIgYihjbGF1c2UpZyhtKW0odXN0KWYoYilzKGUpZworKHRlcm1pbmF0ZWQpaCh3aXRoKWUoYClwIEZzKDs7KXAgRnQoJywpNDUgYihgKXAgRnMoOyYpcAorRnQoJywpZihvcilkKGApcCBGcyg7OyYpcCBGdCgnLik3MyBiKFRoZSk0MSBiIEZxKHcpbShvcmQpagorRnQodW5kZXItKTYzMCAyNDEyIHkoZ28pcyhlcykzNSBiKHRpbGRlKWYoZXhwYW5zaW9uLCloKHBhcmFtZXRlcilnCisoZXhwYW5zaW9uLClnKGNvbW1hbmQpZihzdWJzdGl0dXRpb24sKWgoYXJpdGhtZXRpYyk2MzAKKzI1MjIgeShleHBhbnNpb24sKTQ3IGIoYW5kKWQocXVvdGUpZyhyZW1vKW0odiktNSBiKGFsKTQ1CitiKGIpcyhlZm9yZSlmKG1hdGMpbShoaW5nKWgoaXMpZihhdHRlbXB0ZWQuKTgyIGIoRWFjKW0oaCk0NQorYiBGcShwYXR0ZXJuKTYzMCAyNjMyIHkgRnQodW5kZXJnbylzKGVzKTM4IGIodGlsZGUpaChleHBhbnNpb24sKWkKKyhwYXJhbWV0ZXIpZShleHBhbnNpb24sKWkoY29tbWFuZClkKHN1YnN0aXR1dGlvbiwpaihhbmQpNjMwCisyNzQxIHkoYXJpdGhtZXRpYykzMiBiKGV4cGFuc2lvbi4pNjMwIDI4NzQgeShUaGVyZSllKG1hKW0oeSlnKGIpcyhlKWYKKyhhbiloKGFyYml0cmFyeSlnKG4pbSh1bSltKGIpcyhlcilmKG9mKWggRnMoY2FzZSlmIEZ0KGNsYXVzZXMsKWkoZWFjKW0KKyhoKWcodGVybWluYXRlZClnKGIpbSh5KWUoYSlpKGApcCBGcyg7OylwIEZ0KCcsKTYzMCAyOTg0Cit5KGApcCBGcyg7JilwIEZ0KCcsKWMob3IpZShgKXAgRnMoOzsmKXAgRnQoJy4pMzkgYihUaGUpMjUKK2IoXDAxNHJzdClnKHBhdHRlcm4paCh0aGF0KWcobWF0YyltKGhlcyloKGRldGVybWluZXMpZSh0aGUpaAorKGNvbW1hbmQtbGlzdClnKHRoYXQpNjMwIDMwOTMgeShpcylrKGV4ZWN1dGVkLik2MzAgMzIyNgoreShIZXJlKTM1IGIoaXMpZyhhbilnKGV4YW1wbGUpaCh1c2luZyllIEZzKGNhc2UpZyBGdChpbilnKGEpaChzY3JpcHQpZworKHRoYXQpaChjb3VsZClmKGIpcyhlKWYodXNlZClnKHRvKWgoZGVzY3JpYilzKGUpZyhvbmUpNjMwCiszMzM2IHkoaW4pbSh0ZXJlc3RpbmcpZChmZWF0dXJlKWYob2YpZihhbilnKGFuaW1hbDopODcwCiszNDY5IHkgRnMoZWNobyk0NyBiKC1uKWcoIkVudGVyKWYodGhlKWgobmFtZSlmKG9mKWkoYW4pZihhbmltYWw6KWYoIikKKzg3MCAzNTc5IHkocmVhZCloKEFOSU1BTCk4NzAgMzY4OCB5KGVjaG8pZygtbilnKCJUaGUpZigkQU5JTUFMKWcoaGFzKWgKKygiKTg3MCAzNzk4IHkoY2FzZSlnKCRBTklNQUwpZShpbik5NjUgMzkwNyB5KGhvcnNlKWkofClnKGRvZylnKHwpaAorKGNhdFwpKWUoZWNobyloKC1uKWcoImZvdXIiOzspOTY1IDQwMTcgeShtYW4pZyh8KWgoa2FuZ2Fyb28pZChcKSlqCisoZWNobyllKC1uKWkoInR3byI7Oyk5NjUgNDEyNyB5KCpcKSlnKGVjaG8pZSgtbiloKCJhbilnKHVua25vd24pZgorKG51bWJlcilnKG9mIjs7KTg3MCA0MjM2IHkoZXNhYyk4NzAgNDM0NiB5KGVjaG8paCgiKWcobGVncy4iKTYzMAorNDUwMiB5IEZ0KElmKTI1IGIodGhlKWgoYClwIEZzKDs7KXAgRnQoJylnKG9wKXMoZXJhdG9yKWcoaXMpZyh1c2VkLClnCiAobm8pZyhzdWJzZXF1ZW4pbSh0KWYobWF0YyltKGhlcylpKGFyZSlmKGF0dGVtcHRlZCloKGFmdGVyKWcodGhlKWYKLShcMDE0cnN0KTYzMCAzMDMwIHkocGF0dGVybilnKG1hdGMpbShoLik0MCBiKFVzaW5nKTI2CisoXDAxNHJzdCk2MzAgNDYxMiB5KHBhdHRlcm4pZyhtYXRjKW0oaC4pNDAgYihVc2luZykyNgogYihgKXAgRnMoOyYpcCBGdCgnKWYoaW4paChwbGFjZSlnKG9mKWcoYClwIEZzKDs7KXAgRnQoJylnKGNhdXNlcylnCi0oZXhlY3V0aW9uKWgodG8pZihjb24pbSh0aW4pbSh1ZSloKHdpdGgpZih0aGUpNjMwIDMxNDAKKyhleGVjdXRpb24paCh0bylmKGNvbiltKHRpbiltKHVlKWgod2l0aClmKHRoZSk2MzAgNDcyMgogeSBGcShjb21tYW5kLWxpc3QpMzkgYiBGdChhc3NvKXMoY2lhdGVkKWYod2l0aCllKHRoZSlnKG5leHQpZyhjbGF1c2UsKWoKIChpZilkKGFuKW0oeSktOCBiKC4pNTkgYihVc2luZykzNyBiKGApcCBGcyg7OyYpcCBGdCgnKWYoaW4pZyhwbGFjZSloCi0ob2YpNjMwIDMyNDkgeShgKXAgRnMoOzspcCBGdCgnKTMwIGIoY2F1c2VzKWcodGhlKWcoc2hlbGwpZyh0bylnKHRlc3QpaAorKG9mKTYzMCA0ODMxIHkoYClwIEZzKDs7KXAgRnQoJykzMCBiKGNhdXNlcylnKHRoZSlnKHNoZWxsKWcodG8pZyh0ZXN0KWgKICh0aGUpZihwYXR0ZXJucylnKGluKWYodGhlKWgobmV4dClnKGNsYXVzZSwpaChpZillKGFuKW0oeSktOAotYigsKTMxIGIoYW5kKWYoZXhlY3V0ZSk2MzAgMzM1OSB5KGFuKW0oeSloKGFzc28pcyhjaWF0ZWQpaAorYigsKTMxIGIoYW5kKWYoZXhlY3V0ZSk2MzAgNDk0MSB5KGFuKW0oeSloKGFzc28pcyhjaWF0ZWQpaAogRnEoY29tbWFuZC1saXN0KWggRnQob24pZChhKWgoc3VjY2Vzc2Z1bClmKG1hdGMpbShoLik2MzAKLTM0ODUgeShUaGUpYyhyZXR1cm4pZihzdGF0dXMpaChpcylnKHplcm8paChpZilmKG5vKWcKKzUwNzQgeShUaGUpYyhyZXR1cm4pZihzdGF0dXMpaChpcylnKHplcm8paChpZilmKG5vKWcKIEZxKHBhdHRlcm4pZyBGdChpcylnKG1hdGMpbShoZWQuKTQwIGIoT3RoZXJ3aXNlLCkyNyBiKHRoZSlnKHJldHVybillCi0oc3RhdHVzKTYzMCAzNTk1IHkoaXMpMzAgYih0aGUpaChleGl0KWcoc3RhdHVzKWcob2YpZih0aGUpaAotRnEoY29tbWFuZC1saXN0KWkgRnQoZXhlY3V0ZWQuKTE1MCAzNzM4IHkgRnMoc2VsZWN0KTYzMAotMzg2NSB5IEZ0KFRoZSlnIEZzKHNlbGVjdClmIEZ0KGNvbnN0cnVjdClpKGFsbG8pbSh3cyloKHRoZSlmKGVhc3kpZwotKGdlbmVyYXRpb24paChvZillKG1lbiltKHVzLik1MCBiKEl0KTM0IGIoaGFzKWYoYWxtb3N0KWkodGhlKTYzMAotMzk3NCB5KHNhbWUpYyhzeW4pbSh0YXgpZyhhcylmKHRoZSloIEZzKGZvcillIEZ0KGNvbW1hbmQ6KTg3MAotNDEwMSB5IEZzKHNlbGVjdCk0NiBiIEZpKG5hbWUpNTcgYiBGcyhbaW4pNDcgYiBGaSh3b3Jkcyk1NwotYiBGcyguLi4pbyhdOyk0NyBiKGRvKWggRmkoY29tbWFuZHMpMTEgYiBGcyg7KTQ0IGIoZG9uZSk2MzAKLTQyMjcgeSBGdChUaGUpZChsaXN0KWkob2YpZSh3KW0ob3JkcyloKGZvbGxvKW0od2luZyloCi1GcyhpbillIEZ0KGlzKWgoZXhwYW5kZWQsKWkoZ2VuZXJhdGluZylmKGEpZihsaXN0KWcob2YpZyhpdGVtcy4pNzUKLWIoVGhlKTYzMCA0MzM3IHkoc2V0KTQxIGIob2YpZihleHBhbmRlZClmKHcpbShvcmRzKWcoaXMpaShwcmluKW0odGVkKWUKLShvbiloKHRoZSlnKHN0YW5kYXJkKWYoZXJyb3IpaChvdXRwdXQpZyhzdHJlYW0sKWooZWFjKW0oaCk2MzAKLTQ0NDYgeShwcmVjZWRlZCkzMCBiKGIpbSh5KWcoYSloKG4pbSh1bSltKGIpcyhlci4pNDAKLWIoSWYpMjkgYih0aGUpaShgKXAgRnMoaW4pZiBGaSh3b3JkcykxMSBiIEZ0KCcpMjkgYihpcyloKG9taXR0ZWQsKWkKLSh0aGUpZShwKXMob3NpdGlvbmFsKWkocGFyYW1ldGVycyk2MzAgNDU1NiB5KGFyZSkyMiBiKHByaW4pbSh0ZWQsKWgoYXMpCi1mKGlmKWYoYClwIEZzKGluKTMwIGIoIiRAIilwIEZ0KCcpMjEgYihoYWQpZyhiKXMoZWVuKWYoc3ApcyhlY2lcMDE0ZWQuKQotMzcgYihUaGUpMjEgYiBGcyhQUzMpZyBGdChwcm9tcHQpZyhpcylnKHRoZW4pZyhkaXNwbGEpbSh5KW0oZWQpNjMwCi00NjY2IHkoYW5kKTM4IGIoYSloKGxpbmUpZyhpcylmKHJlYWQpaChmcm9tKWYodGhlKWgoc3RhbmRhcmQpZShpbnB1dC4pCi02NSBiKElmKTM4IGIodGhlKWgobGluZSlnKGNvbnNpc3RzKWcob2YpZihhKWgobiltKHVtKW0oYilzKGVyKTYzMAotNDc3NSB5KGNvcnJlc3ApcyhvbmRpbmcpMzMgYih0bylpKG9uZSlmKG9mKWcodGhlKWcoZGlzcGxhKW0oeSltKGVkKWgodykKLW0ob3JkcywpZih0aGVuKWcodGhlKWcodiktNSBiKGFsdWUpMzQgYihvZiloIEZxKG5hbWUpawotRnQoaXMpMzQgYihzZXQpZyh0byk2MzAgNDg4NSB5KHRoYXQpZyh3KW0ob3JkLik0OSBiKElmKTMyCi1iKHRoZSlpKGxpbmUpZihpcyloKGVtcHQpbSh5KS04IGIoLCkzNSBiKHRoZSllKHcpbShvcmRzKWcoYW5kKWYocHJvbXB0KQotaChhcmUpZyhkaXNwbGEpbSh5KW0oZWQpaChhZ2Fpbi4pNTAgYihJZik2MzAgNDk5NCB5IEZzKEVPRikyMwotYiBGdChpcylnKHJlYWQsKWoodGhlKWQgRnMoc2VsZWN0KWYgRnQoY29tbWFuZClpKGNvbXBsZXRlcy4pNDAKLWIoQW4pbSh5KTIzIGIob3RoZXIpaCh2KS01IGIoYWx1ZSkyNCBiKHJlYWQpZyhjYXVzZXMpZwotRnEobmFtZSk2MzAgNTEwNCB5IEZ0KHRvKTMxIGIoYilzKGUpZihzZXQpaCh0bylnKG4pbSh1bGwuKTQxCi1iKFRoZSkyOSBiKGxpbmUpaShyZWFkKWYoaXMpaChzYSltKHYpbShlZClnKGluKWYodGhlKWgodiktNQotYihhcmlhYmxlKTMxIGIgRnMoUkVQTFkpcCBGdCguKTYzMCA1MjMwIHkoVGhlKTQyIGIgRnEoY29tbWFuZHMpagotRnQoYXJlKWQoZXhlY3V0ZWQpaChhZnRlcilnKGVhYyltKGgpZyhzZWxlY3Rpb24paCh1biltKHRpbCllKGEpaAotRnMoYnJlYWspZCBGdChjb21tYW5kKWkoaXMpNjMwIDUzNDAgeShleGVjdXRlZCwpMzIgYihhdClmKHdoaWMpbShoKWYocCkKLXMob2luKW0odClnKHRoZSloIEZzKHNlbGVjdClkIEZ0KGNvbW1hbmQpaShjb21wbGV0ZXMuKXAKKyhzdGF0dXMpNjMwIDUxODMgeShpcykzMCBiKHRoZSloKGV4aXQpZyhzdGF0dXMpZyhvZilmKHRoZSloCitGcShjb21tYW5kLWxpc3QpaSBGdChleGVjdXRlZC4pMTUwIDUzNDAgeSBGcyhzZWxlY3QpcAogZW9wIGVuZAogJSVQYWdlOiAxMiAxOAogVGVYRGljdCBiZWdpbiAxMiAxNyBib3AgMTUwIC0xMTYgYSBGdCgxMikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KEhlcmUpMzkgYihpcylnKGFuKWcoZXhhbXBsZSloKHRoYXQpZgotKGFsbG8pbSh3cylpKHRoZSllKHVzZXIpZih0bylpKHBpYyltKGspZihhKWcoXDAxNGxlbmFtZSloKGZyb20pZSh0aGUpaAotKGN1cnJlbiltKHQpNjMwIDQwOCB5KGRpcmVjdG9yeSktOCBiKCwpMzIgYihhbmQpZChkaXNwbGEpbSh5cylpKHRoZSlmCi0obmFtZSloKGFuZClmKGluZGV4KWYob2YpaSh0aGUpZyhcMDE0bGUpZihzZWxlY3RlZC4pODcwCi01NDIgeSBGcyhzZWxlY3QpNDYgYihmbmFtZSlnKGluKWkoKjspODcwIDY1MSB5KGRvKTg3MAotNzYxIHkoZWNobylmKHlvdSlnKHBpY2tlZClmKCRmbmFtZSlnKFxcXCgkUkVQTFlcXFwpKTg3MAotODcwIHkoYnJlYWs7KTg3MCA5ODAgeShkb25lKTE1MCAxMTM2IHkoXChcKC4uLilvKFwpXCkpODcwCi0xMjcwIHkoXChcKCloIEZpKGV4cHJlc3Npb24pNTYgYiBGcyhcKVwpKTYzMCAxNDAzIHkgRnQoVGhlKTMzCi1iKGFyaXRobWV0aWMpaSBGcShleHByZXNzaW9uKWYgRnQoaXMpZihldiktNSBiKGFsdWF0ZWQpMzUKLWIoYWNjb3JkaW5nKWcodG8pZih0aGUpZyhydWxlcylmKGRlc2NyaWIpcyhlZClnKGIpcyhlbG8pbSh3KTYzMAotMTUxMiB5KFwoc2VlKWooU2VjdGlvbilmKDYuNSloKFtTaGVsbClmKEFyaXRobWV0aWNdLClpKHBhZ2UpZig3OFwpLik1NQotYihJZikzNCBiKHRoZSloKHYpLTUgYihhbHVlKTM1IGIob2YpZyh0aGUpZyhleHByZXNzaW9uKWcoaXMpNjMwCi0xNjIyIHkobm9uLXplcm8sKTI3IGIodGhlKWYocmV0dXJuKWUoc3RhdHVzKWkoaXMpZygwOyloKG90aGVyd2lzZSlmCi0odGhlKWcocmV0dXJuKWUoc3RhdHVzKWkoaXMpZygxLikzOSBiKFRoaXMpMjUgYihpcylnKGV4YWN0bHkpNjMwCi0xNzMxIHkoZXF1aXYpLTUgYihhbGVuKW0odCkzMiBiKHRvKTg3MCAxODY0IHkgRnMobGV0KTQ3Ci1iKCIpcCBGaShleHByZXNzaW9uKTExIGIgRnMoIik2MzAgMTk5OCB5IEZ0KFNlZSkyNSBiKFNlY3Rpb24paCg0LjIpaAotKFtCYXNoKWUoQnVpbHRpbnNdLClpKHBhZ2UpZig0MSwpaShmb3IpYyhhKWkoZnVsbClmKGRlc2NyaXB0aW9uKWcob2YpZwotKHRoZSloIEZzKGxldCllIEZ0KGJ1aWx0aW4uKTE1MCAyMTU0IHkgRnMoW1suLi4pbyhdXSk4NzAKLTIyODcgeShbWyk0NyBiIEZpKGV4cHJlc3Npb24pNTYgYiBGcyhdXSk2MzAgMjQyMCB5IEZ0KFJldHVybikyNQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KFRoZSlpIEZzKHNlbGVjdClmIEZ0KGNvbnN0cnVjdClpCisoYWxsbyltKHdzKWgodGhlKWYoZWFzeSlnKGdlbmVyYXRpb24paChvZillKG1lbiltKHVzLik1MAorYihJdCkzNCBiKGhhcylmKGFsbW9zdClpKHRoZSk2MzAgNDA4IHkoc2FtZSljKHN5biltKHRheClnKGFzKWYodGhlKWgKK0ZzKGZvcillIEZ0KGNvbW1hbmQ6KTg3MCA1NDQgeSBGcyhzZWxlY3QpNDYgYiBGaShuYW1lKTU3CitiIEZzKFtpbik0NyBiIEZpKHdvcmRzKTU3IGIgRnMoLi4uKW8oXTspNDcgYihkbyloIEZpKGNvbW1hbmRzKTExCitiIEZzKDspNDQgYihkb25lKTYzMCA2NzkgeSBGdChUaGUpZChsaXN0KWkob2YpZSh3KW0ob3JkcyloKGZvbGxvKW0KKyh3aW5nKWggRnMoaW4pZSBGdChpcyloKGV4cGFuZGVkLClpKGdlbmVyYXRpbmcpZihhKWYobGlzdClnKG9mKWcKKyhpdGVtcy4pNzUgYihUaGUpNjMwIDc4OSB5KHNldCk0MSBiKG9mKWYoZXhwYW5kZWQpZih3KW0ob3JkcylnKGlzKWkKKyhwcmluKW0odGVkKWUob24paCh0aGUpZyhzdGFuZGFyZClmKGVycm9yKWgob3V0cHV0KWcoc3RyZWFtLClqKGVhYyltKGgpCis2MzAgODk4IHkocHJlY2VkZWQpMzAgYihiKW0oeSlnKGEpaChuKW0odW0pbShiKXMoZXIuKTQwCitiKElmKTI5IGIodGhlKWkoYClwIEZzKGluKWYgRmkod29yZHMpMTEgYiBGdCgnKTI5IGIoaXMpaChvbWl0dGVkLClpCisodGhlKWUocClzKG9zaXRpb25hbClpKHBhcmFtZXRlcnMpNjMwIDEwMDggeShhcmUpMjIgYihwcmluKW0odGVkLCloKGFzKQorZihpZilmKGApcCBGcyhpbikzMCBiKCIkQCIpcCBGdCgnKTIxIGIoaGFkKWcoYilzKGVlbilmKHNwKXMoZWNpXDAxNGVkLikKKzM3IGIoVGhlKTIxIGIgRnMoUFMzKWcgRnQocHJvbXB0KWcoaXMpZyh0aGVuKWcoZGlzcGxhKW0oeSltKGVkKTYzMAorMTExOCB5KGFuZCkzOCBiKGEpaChsaW5lKWcoaXMpZihyZWFkKWgoZnJvbSlmKHRoZSloKHN0YW5kYXJkKWUoaW5wdXQuKQorNjUgYihJZikzOCBiKHRoZSloKGxpbmUpZyhjb25zaXN0cylnKG9mKWYoYSloKG4pbSh1bSltKGIpcyhlcik2MzAKKzEyMjcgeShjb3JyZXNwKXMob25kaW5nKTMzIGIodG8paShvbmUpZihvZilnKHRoZSlnKGRpc3BsYSltKHkpbShlZCloKHcpCittKG9yZHMsKWYodGhlbilnKHRoZSlnKHYpLTUgYihhbHVlKTM0IGIob2YpaCBGcShuYW1lKWsKK0Z0KGlzKTM0IGIoc2V0KWcodG8pNjMwIDEzMzcgeSh0aGF0KWcodyltKG9yZC4pNDkgYihJZikzMgorYih0aGUpaShsaW5lKWYoaXMpaChlbXB0KW0oeSktOCBiKCwpMzUgYih0aGUpZSh3KW0ob3JkcylnKGFuZClmKHByb21wdCkKK2goYXJlKWcoZGlzcGxhKW0oeSltKGVkKWgoYWdhaW4uKTUwIGIoSWYpNjMwIDE0NDYgeSBGcyhFT0YpMjMKK2IgRnQoaXMpZyhyZWFkLClqKHRoZSlkIEZzKHNlbGVjdClmIEZ0KGNvbW1hbmQpaShjb21wbGV0ZXMuKTQwCitiKEFuKW0oeSkyMyBiKG90aGVyKWgodiktNSBiKGFsdWUpMjQgYihyZWFkKWcoY2F1c2VzKWcKK0ZxKG5hbWUpNjMwIDE1NTYgeSBGdCh0bykzMSBiKGIpcyhlKWYoc2V0KWgodG8pZyhuKW0odWxsLik0MQorYihUaGUpMjkgYihsaW5lKWkocmVhZClmKGlzKWgoc2EpbSh2KW0oZWQpZyhpbilmKHRoZSloKHYpLTUKK2IoYXJpYWJsZSkzMSBiIEZzKFJFUExZKXAgRnQoLik2MzAgMTY5MSB5KFRoZSk0MiBiIEZxKGNvbW1hbmRzKWoKK0Z0KGFyZSlkKGV4ZWN1dGVkKWgoYWZ0ZXIpZyhlYWMpbShoKWcoc2VsZWN0aW9uKWgodW4pbSh0aWwpZShhKWgKK0ZzKGJyZWFrKWQgRnQoY29tbWFuZClpKGlzKTYzMCAxODAxIHkoZXhlY3V0ZWQsKTMyIGIoYXQpZih3aGljKW0oaClmKHApCitzKG9pbiltKHQpZyh0aGUpaCBGcyhzZWxlY3QpZCBGdChjb21tYW5kKWkoY29tcGxldGVzLik2MzAKKzE5MzYgeShIZXJlKTM5IGIoaXMpZyhhbilnKGV4YW1wbGUpaCh0aGF0KWYoYWxsbyltKHdzKWkodGhlKWUodXNlcilmCisodG8paShwaWMpbShrKWYoYSlnKFwwMTRsZW5hbWUpaChmcm9tKWUodGhlKWgoY3VycmVuKW0odCk2MzAKKzIwNDYgeShkaXJlY3RvcnkpLTggYigsKTMyIGIoYW5kKWQoZGlzcGxhKW0oeXMpaSh0aGUpZihuYW1lKWgoYW5kKWYKKyhpbmRleClmKG9mKWkodGhlKWcoXDAxNGxlKWYoc2VsZWN0ZWQuKTg3MCAyMTgxIHkgRnMoc2VsZWN0KTQ2CitiKGZuYW1lKWcoaW4paSgqOyk4NzAgMjI5MSB5KGRvKTg3MCAyNDAwIHkoZWNobylmKHlvdSlnKHBpY2tlZClmCisoJGZuYW1lKWcoXFxcKCRSRVBMWVxcXCkpODcwIDI1MTAgeShicmVhazspODcwIDI2MjAgeShkb25lKTE1MAorMjc4MSB5KFwoXCguLi4pbyhcKVwpKTg3MCAyOTE2IHkoXChcKCloIEZpKGV4cHJlc3Npb24pNTYKK2IgRnMoXClcKSk2MzAgMzA1MSB5IEZ0KFRoZSkzMyBiKGFyaXRobWV0aWMpaSBGcShleHByZXNzaW9uKWYKK0Z0KGlzKWYoZXYpLTUgYihhbHVhdGVkKTM1IGIoYWNjb3JkaW5nKWcodG8pZih0aGUpZyhydWxlcylmKGRlc2NyaWIpcworKGVkKWcoYilzKGVsbyltKHcpNjMwIDMxNjEgeShcKHNlZSlqKFNlY3Rpb24pZig2LjUpaChbU2hlbGwpZgorKEFyaXRobWV0aWNdLClpKHBhZ2UpZig4MFwpLik1NSBiKElmKTM0IGIodGhlKWgodiktNQorYihhbHVlKTM1IGIob2YpZyh0aGUpZyhleHByZXNzaW9uKWcoaXMpNjMwIDMyNzEgeShub24temVybywpMjcKK2IodGhlKWYocmV0dXJuKWUoc3RhdHVzKWkoaXMpZygwOyloKG90aGVyd2lzZSlmKHRoZSlnKHJldHVybillKHN0YXR1cylpCisoaXMpZygxLikzOSBiKFRoaXMpMjUgYihpcylnKGV4YWN0bHkpNjMwIDMzODAgeShlcXVpdiktNQorYihhbGVuKW0odCkzMiBiKHRvKTg3MCAzNTE2IHkgRnMobGV0KTQ3IGIoIilwIEZpKGV4cHJlc3Npb24pMTEKK2IgRnMoIik2MzAgMzY1MSB5IEZ0KFNlZSkyNSBiKFNlY3Rpb24paCg0LjIpaChbQmFzaCllKEJ1aWx0aW5zXSwpaQorKHBhZ2UpZig0MywpaShmb3IpYyhhKWkoZnVsbClmKGRlc2NyaXB0aW9uKWcob2YpZyh0aGUpaAorRnMobGV0KWUgRnQoYnVpbHRpbi4pMTUwIDM4MTIgeSBGcyhbWy4uLilvKF1dKTg3MCAzOTQ4Cit5KFtbKTQ3IGIgRmkoZXhwcmVzc2lvbik1NiBiIEZzKF1dKTYzMCA0MDgzIHkgRnQoUmV0dXJuKTI1CiBiKGEpaChzdGF0dXMpZihvZiloKDApZyhvcilnKDEpZyhkZXApcyhlbmRpbmcpZShvbiloKHRoZSloKGV2KS01CiBiKGFsdWF0aW9uKTI3IGIob2YpZSh0aGUpaChjb25kaXRpb25hbCloKGV4cHJlcy0pNjMwCi0yNTMwIHkoc2lvbilqIEZxKGV4cHJlc3Npb24pcCBGdCguKTQxIGIoRXhwcmVzc2lvbnMpMjkKKzQxOTMgeShzaW9uKWogRnEoZXhwcmVzc2lvbilwIEZ0KC4pNDEgYihFeHByZXNzaW9ucykyOQogYihhcmUpaShjb21wKXMob3NlZClmKG9mKWcodGhlKWgocHJpbWFyaWVzKWYoZGVzY3JpYilzKGVkKWYoYilzKGVsbyltCi0odyloKGluKTYzMCAyNjM5IHkoU2VjdGlvbikzNiBiKDYuNCloKFtCYXNoKWYoQ29uZGl0aW9uYWwpZwotKEV4cHJlc3Npb25zXSwpaChwYWdlKWYoNzYuKTU3IGIoVyktOCBiKG9yZCkzNiBiKHNwbGl0dGluZyloKGFuZCllCi0oXDAxNGxlLSk2MzAgMjc0OSB5KG5hbWUpMjQgYihleHBhbnNpb24paChhcmUpZyhub3QpZihwKXMoZXJmb3JtZWQpZgorKHcpaChpbik2MzAgNDMwMiB5KFNlY3Rpb24pMzYgYig2LjQpaChbQmFzaClmKENvbmRpdGlvbmFsKWcKKyhFeHByZXNzaW9uc10sKWgocGFnZSlmKDc4Lik1NyBiKFcpLTggYihvcmQpMzYgYihzcGxpdHRpbmcpaChhbmQpZQorKFwwMTRsZS0pNjMwIDQ0MTIgeShuYW1lKTI0IGIoZXhwYW5zaW9uKWgoYXJlKWcobm90KWYocClzKGVyZm9ybWVkKWYKIChvbiloKHRoZSloKHcpbShvcmRzKWYoYilzKGV0KW0odyltKGVlbiloKHRoZSlnKGApcCBGcyhbWylwCi1GdCgnKWYoYW5kKWcoYClwIEZzKF1dKXAgRnQoJzspaSh0aWxkZSk2MzAgMjg1OSB5KGV4cGFuc2lvbiwpMzEKK0Z0KCcpZihhbmQpZyhgKXAgRnMoXV0pcCBGdCgnOylpKHRpbGRlKTYzMCA0NTIxIHkoZXhwYW5zaW9uLCkzMQogYihwYXJhbWV0ZXIpZyhhbmQpZih2KS01IGIoYXJpYWJsZSkzMSBiKGV4cGFuc2lvbiwpZyhhcml0aG1ldGljKWcKLShleHBhbnNpb24sKWcoY29tbWFuZCk2MzAgMjk2OCB5KHN1YnN0aXR1dGlvbiwpNDAgYihwcm8pcyhjZXNzKWYKKyhleHBhbnNpb24sKWcoY29tbWFuZCk2MzAgNDYzMSB5KHN1YnN0aXR1dGlvbiwpNDAgYihwcm8pcyhjZXNzKWYKIChzdWJzdGl0dXRpb24sKWgoYW5kKWUocXVvdGUpaChyZW1vKW0odiktNSBiKGFsKTQwIGIoYXJlKWYocClzCi0oZXJmb3JtZWQuKTYzIGIoQ29uZGktKTYzMCAzMDc4IHkodGlvbmFsKTMyIGIob3ApcyhlcmF0b3JzKWUoc3VjKW0oaClnCisoZXJmb3JtZWQuKTYzIGIoQ29uZGktKTYzMCA0NzQwIHkodGlvbmFsKTMyIGIob3ApcyhlcmF0b3JzKWUoc3VjKW0oaClnCiAoYXMpaChgKXAgRnMoLWYpcCBGdCgnKWYobSltKHVzdClnKGIpcyhlKWcodW5xdW90ZWQpZyh0byloKGIpcyhlKWUKLShyZWNvZ25pemVkKWooYXMpZihwcmltYXJpZXMuKTYzMCAzMjExIHkoV2hlbilkKHVzZWQpZyh3aXRoKWcoYClwCi1GcyhbWylwIEZ0KCcsKWgoVGhlKWYoYClwIEZzKDwpcCBGdCgnKWcoYW5kKWcoYClwIEZzKD4pcAotRnQoJyloKG9wKXMoZXJhdG9ycylmKHNvcnQpaChsZXhpY29ncmFwaGljYWxseSlpKHVzaW5nKWQodGhlKTYzMAotMzMyMCB5KGN1cnJlbiltKHQpaShsbylzKGNhbGUuKTYzMCAzNDUzIHkoV2hlbikyMiBiKHRoZSloKGApcAorKHJlY29nbml6ZWQpaihhcylmKHByaW1hcmllcy4pNjMwIDQ4NzYgeShXaGVuKWcodXNlZClmKHdpdGgpZyhgKXAKK0ZzKFtbKXAgRnQoJywpaSh0aGUpZihgKXAgRnMoPClwIEZ0KCcpZyhhbmQpZihgKXAgRnMoPilwCitGdCgnKWgob3ApcyhlcmF0b3JzKWcoc29ydCloKGxleGljb2dyYXBoaWNhbGx5KWgodXNpbmcpZSh0aGUpNjMwCis0OTg1IHkoY3VycmVuKW0odClmKGxvKXMoY2FsZS4pNjMwIDUxMjEgeShXaGVuKTIyIGIodGhlKWgoYClwCiBGcyg9PSlwIEZ0KCcpZihhbmQpZyhgKXAgRnMoIT0pcCBGdCgnKWcob3ApcyhlcmF0b3JzKWgoYXJlKWcodXNlZCwpZwogKHRoZSlnKHN0cmluZylmKHRvKWkodGhlKWUocmlnaCltKHQpaChvZilnKHRoZSlnKG9wKXMoZXJhdG9yKTYzMAotMzU2MyB5KGlzKTMxIGIoY29uc2lkZXJlZClnKGEpaChwYXR0ZXJuKWYoYW5kKWcobWF0YyltKGhlZCloKGFjY29yZGluZykKKzUyMzAgeShpcykzMSBiKGNvbnNpZGVyZWQpZyhhKWgocGF0dGVybilmKGFuZClnKG1hdGMpbShoZWQpaChhY2NvcmRpbmcpCiBnKHRvKWcodGhlKWcocnVsZXMpZihkZXNjcmliKXMoZWQpZihiKXMoZWxvKW0odyloKGluKTYzMAotMzY3MyB5KFNlY3Rpb24pMzcgYigzLjUuOC4xKWkoW1ApbShhdHRlcm4pZShNYXRjKW0oaGluZ10sKWoocGFnZSljKDI0LikKLTU5IGIoSWYpMzYgYih0aGUpZyhzaGVsbClnKG9wdGlvbiloIEZzKG5vY2FzZW1hdGNoKTYzMAotMzc4MiB5IEZ0KFwoc2VlKTQyIGIodGhlKWYoZGVzY3JpcHRpb24pZyhvZiloIEZzKHNob3B0KWQKLUZ0KGluKWkoU2VjdGlvbiloKDQuMy4yKWgoW1RoZSllKFNob3B0KWYoQnVpbHRpbl0sKTQ1Ci1iKHBhZ2UpZCg1NVwpKTYzMCAzODkyIHkoaXMpZShlbmFibGVkLClpKHRoZSllKG1hdGMpbShoKWgoaXMpZShwKXMKLShlcmZvcm1lZClnKHdpdGhvdXQpZyhyZWdhcmQpaCh0byloKHRoZSlmKGNhc2UpZyhvZilnKGFscGhhYilzKGV0aWMpNjMwCi00MDAxIHkoYyltKGhhcmFjdGVycy4paChUaGUpMjggYihyZXR1cm4pZSh2KS01IGIoYWx1ZSkyOAotYihpcylnKDApZyhpZilnKHRoZSlnKHN0cmluZylnKG1hdGMpbShoZXMpaChcKGApcCBGcyg9PSlwCi1GdCgnXCkpZihvcilnKGRvKXMoZXMpZihub3QpaChtYXRjKW0oaCk2MzAgNDExMSB5KFwoYClwCi1GcyghPSlwIEZ0KCdcKXRoZSkzMyBiKHBhdHRlcm4sKWcoYW5kKWYoMSlnKG90aGVyd2lzZS4pNDcKLWIoQW4pbSh5KTMyIGIocGFydClnKG9mKWgodGhlKWYocGF0dGVybilnKG1hKW0oeSloKGIpcyhlKWYocXVvdGVkKWcodG8pCi02MzAgNDIyMSB5KGZvcmNlKWYoaXQpZyh0bylnKGIpcyhlKWYobWF0YyltKGhlZCloKGFzKWYoYSloKHN0cmluZy4pNjMwCi00MzU0IHkoQW4paShhZGRpdGlvbmFsKWkoYmluYXJ5KWUob3ApcyhlcmF0b3IsKWkoYClwCi1Gcyg9filwIEZ0KCcsKWcoaXMpZihhKW0odiktNSBiKGFpbGFibGUsKTM3IGIod2l0aCljKHRoZSloKHNhbWUpZwotKHByZWNlZGVuY2UpaChhcyk2MzAgNDQ2MyB5KGApcCBGcyg9PSlwIEZ0KCcpMjkgYihhbmQpZihgKXAKLUZzKCE9KXAgRnQoJy4pNDAgYihXaGVuKTI5IGIoaXQpZyhpcylnKHVzZWQsKWYodGhlKWgoc3RyaW5nKWcodG8paCh0aGUpCi1lKHJpZ2gpbSh0KWkob2YpZih0aGUpZyhvcClzKGVyYXRvcilnKGlzKWcoY29uc2lkLSk2MzAKLTQ1NzMgeShlcmVkKTM0IGIoYW4pZyhleHRlbmRlZClnKHJlZ3VsYXIpZyhleHByZXNzaW9uKWcoYW5kKWYobWF0YyltCi0oaGVkKWkoYWNjb3JkaW5nbHkpZyhcKGFzKWYoaW4pZyBGayhyKS01IGIoZSlnKGdleCkxMQotYiBGdCgzXClcKS4pNjMwIDQ2ODIgeShUaGUpMjkgYihyZXR1cm4pZih2KS01IGIoYWx1ZSkzMAotYihpcylnKDApZyhpZilmKHRoZSloKHN0cmluZylnKG1hdGMpbShoZXMpZyh0aGUpZyhwYXR0ZXJuLClnKGFuZClmKDEpaAotKG90aGVyd2lzZS4pNDEgYihJZikyOSBiKHRoZSk2MzAgNDc5MiB5KHJlZ3VsYXIpZShleHByZXNzaW9uKWcoaXMpaAotKHN5biltKHRhY3RpY2FsbHkpaShpbmNvcnJlY3QsKWYodGhlKWUoY29uZGl0aW9uYWwpaShleHByZXNzaW9uJ3MpZQotKHJldHVybik2MzAgNDkwMiB5KHYpLTUgYihhbHVlKTQwIGIoaXMpZygyLik2OCBiKElmKTM5Ci1iKHRoZSloKHNoZWxsKWYob3B0aW9uKWggRnMobm9jYXNlbWF0Y2gpZCBGdChcKHNlZSlqKHRoZSlnKGRlc2NyaXB0aW9uKQotZyhvZilmIEZzKHNob3B0KWYgRnQoaW4pNjMwIDUwMTEgeShTZWN0aW9uKTMyIGIoNC4zLjIpZyhbVGhlKWYoU2hvcHQpZgotKEJ1aWx0aW5dLClpKHBhZ2UpZyg1NVwpKWcoaXMpZihlbmFibGVkLClnKHRoZSlnKG1hdGMpbShoKWgoaXMpZShwKXMKLShlcmZvcm1lZCk2MzAgNTEyMSB5KHdpdGhvdXQpMzYgYihyZWdhcmQpZyh0byloKHRoZSlmKGNhc2UpaChvZilmCi0oYWxwaGFiKXMoZXRpYyloKGMpbShoYXJhY3RlcnMuKTU5IGIoQW4pbSh5KTM2IGIocGFydClnKG9mKWgodGhlKWYKLShwYXR0ZXJuKTYzMCA1MjMwIHkobWEpbSh5KWcoYilzKGUpZyhxdW90ZWQpZyh0bylnKGZvcmNlKWcoaXQpaCh0bylmKGIpCi1zKGUpZihtYXRjKW0oaGVkKWkoYXMpZihhKWcoc3RyaW5nLik1NyBiKFN1YnN0cmluZ3MpMzQKLWIobWF0YyltKGhlZClqKGIpbSh5KTYzMCA1MzQwIHkocGFyZW4pbSh0aGVzaXplZCk0NCBiKHN1YilzCi0oZXhwcmVzc2lvbnMpZSh3aXRoaW4paSh0aGUpZyhyZWd1bGFyKWcoZXhwcmVzc2lvbilnKGFyZSlnKHNhKW0odiltKGVkKQotaChpbilmKHRoZSlwIGVvcCBlbmQKKzUzNDAgeShTZWN0aW9uKTM3IGIoMy41LjguMSlpKFtQKW0oYXR0ZXJuKWUoTWF0YyltKGhpbmddLClqKHBhZ2UpYygyNi4pCis1OSBiKElmKTM2IGIodGhlKWcoc2hlbGwpZyhvcHRpb24paCBGcyhub2Nhc2VtYXRjaClwCitlb3AgZW5kCiAlJVBhZ2U6IDEzIDE5CiBUZVhEaWN0IGJlZ2luIDEzIDE4IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQogYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDEzKTYzMCAyOTkKLXkoYXJyYSltKHkpMzggYih2KS01IGIoYXJpYWJsZSkzOCBiIEZzKEJBU0hfUkVNQVRDSClwCi1GdCguKTU5IGIoVGhlKTM2IGIoZWxlbWVuKW0odClqKG9mKWYgRnMoQkFTSF9SRU1BVENIKWMKLUZ0KHdpdGgpaihpbmRleClnKDApaChpcyk2MzAgNDA4IHkodGhlKWMocClzKG9ydGlvbilmKG9mKWgodGhlKWYKLShzdHJpbmcpaChtYXRjKW0oaGluZylnKHRoZSlnKGVuKW0odGlyZSloKHJlZ3VsYXIpZShleHByZXNzaW9uLik1MAotYihUaGUpMzMgYihlbGVtZW4pbSh0KTYzMCA1MTggeShvZikzOSBiIEZzKEJBU0hfUkVNQVRDSCljCi1GdCh3aXRoKWooaW5kZXgpZyBGcShuKWYgRnQoaXMpaSh0aGUpZihwKXMob3J0aW9uKWcob2YpaCh0aGUpZihzdHJpbmcpaAotKG1hdGMpbShoaW5nKWcodGhlKWcgRnEobilwIEZ0KHRoKTYzMCA2MjggeShwYXJlbiltKHRoZXNpemVkKTMxCi1iKHN1YilzKGV4cHJlc3Npb24uKTYzMCA3NzAgeShFeHByZXNzaW9ucykyMyBiKG1hKW0oeSloKGIpcyhlKWUoY29tKW0KLShiaW5lZClpKHVzaW5nKWYodGhlKWgoZm9sbG8pbSh3aW5nKWgob3ApcyhlcmF0b3JzLClnKGxpc3RlZClmKGluKWYKLShkZWNyZWFzaW5nKTYzMCA4NzkgeShvcmRlcikzMCBiKG9mKWcocHJlY2VkZW5jZTopNjMwCi0xMDU0IHkgRnMoXCgpZyBGaShleHByZXNzaW9uKTM4IGIgRnMoXCkpMTExMCAxMTYzIHkgRnQoUmV0dXJucykzMAotYih0aGUpaCh2KS01IGIoYWx1ZSkzMSBiKG9mKWcgRnEoZXhwcmVzc2lvbilwIEZ0KC4pNDIKLWIoVGhpcykzMCBiKG1hKW0oeSlpKGIpcyhlKWUodXNlZClnKHRvKWkobyltKHYpbShlcnJpZGUpZyh0aGUpMTExMAotMTI3MyB5KG5vcm1hbCllKHByZWNlZGVuY2UpaChvZilnKG9wKXMoZXJhdG9ycy4pNjMwIDE0NDcKLXkgRnMoISlmIEZpKGV4cHJlc3Npb24pMTExMCAxNTU3IHkgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKLUZxKGV4cHJlc3Npb24pZyBGdChpcyloKGZhbHNlLik2MzAgMTczMSB5IEZpKGV4cHJlc3Npb24xKTM4Ci1iIEZzKCYmKTMwIGIgRmkoZXhwcmVzc2lvbjIpMTExMCAxODQxIHkgRnQoVCktOCBiKHJ1ZSkzMAotYihpZilnKGIpcyhvdGgpZyBGcShleHByZXNzaW9uMSkzOCBiIEZ0KGFuZCkyOSBiIEZxKGV4cHJlc3Npb24yKTM4Ci1iIEZ0KGFyZSkzMSBiKHRydWUuKTYzMCAyMDE1IHkgRmkoZXhwcmVzc2lvbjEpMzggYiBGcyh8fCkzMAotYiBGaShleHByZXNzaW9uMikxMTEwIDIxMjUgeSBGdChUKS04IGIocnVlKTMwIGIoaWYpZyhlaXRoZXIpaAotRnEoZXhwcmVzc2lvbjEpMzggYiBGdChvcikzMCBiIEZxKGV4cHJlc3Npb24yKTM4IGIgRnQoaXMpMzAKLWIodHJ1ZS4pNjMwIDIyOTkgeShUaGUpMjUgYiBGcygmJilnIEZ0KGFuZClnIEZzKHx8KWYKLUZ0KG9wKXMoZXJhdG9ycylpKGRvKWYobm90KWgoZXYpLTUgYihhbHVhdGUpMjcgYiBGcShleHByZXNzaW9uMikzMwotYiBGdChpZikyNiBiKHRoZSlmKHYpLTUgYihhbHVlKTI2IGIob2YpZyBGcShleHByZXNzaW9uMSk2MzAKLTI0MDggeSBGdChpcylrKHN1XDAxNmNpZW4pbSh0KWgodG8pZyhkZXRlcm1pbmUpZyh0aGUpZihyZXR1cm4pZyh2KS01Ci1iKGFsdWUpMzEgYihvZilmKHRoZSloKGVuKW0odGlyZSlnKGNvbmRpdGlvbmFsKWgoZXhwcmVzc2lvbi4pMTUwCi0yNjIzIHkgRmooMy4yLjQuMyk2MyBiKEdyb3VwaW5nKTQzIGIoQ29tbWFuZHMpMTUwIDI3NzAKLXkgRnQoQmFzaCkzMCBiKHBybyltKHZpZGVzKWcodCltKHcpbShvKWgodyltKGEpbSh5cylmKHRvKWgoZ3JvdXApZShhKWgKLShsaXN0KWcob2YpZyhjb21tYW5kcylmKHRvKWkoYilzKGUpZShleGVjdXRlZCloKGFzKWcoYSloKHVuaXQuKTQwCi1iKFdoZW4pMjkgYihjb20tKTE1MCAyODc5IHkobWFuZHMpaChhcmUpaShncm91cClzKGVkLClmKHJlZGlyZWN0aW9ucyloCi0obWEpbSh5KWcoYilzKGUpZShhcHBsaWVkKWkodG8pZyh0aGUpZihlbiltKHRpcmUpaChjb21tYW5kKWcobGlzdC4pNDQKLWIoRiktOCBiKG9yKTMyIGIoZXhhbXBsZSwpMTUwIDI5ODkgeSh0aGUpZihvdXRwdXQpZihvZilnKGFsbCloKHRoZSlnCi0oY29tbWFuZHMpZihpbilnKHRoZSloKGxpc3QpZyhtYSltKHkpZyhiKXMoZSllKHJlZGlyZWN0ZWQpaSh0bylnKGEpZwotKHNpbmdsZSlnKHN0cmVhbS4pMTUwIDMxNzEgeSBGcyhcKFwpKTg3MCAzMzEzIHkoXCgpNDcKLWIgRmkobGlzdCk1OCBiIEZzKFwpKTYzMCAzNDU1IHkgRnQoUGxhY2luZykzMCBiKGEpZihsaXN0KWcob2YpZwotKGNvbW1hbmRzKWYoYilzKGV0KW0odyltKGVlbilpKHBhcmVuKW0odGhlc2VzKWUoY2F1c2VzKWkoYSlmKHN1YnNoZWxsKWUKLShlbiltKHZpcm9ubWVuKW0odCk2MzAgMzU2NCB5KHRvKWsoYilzKGUpZShjcmVhdGVkKWooXChzZWUpZihTZWN0aW9uKWcKLSgzLjcuMyloKFtDb21tYW5kKWQoRXhlY3V0aW9uKWkoRW4pbSh2aXJvbm1lbiltKHRdLClnKHBhZ2UpZigzMFwpLCk2MzAKLTM2NzQgeShhbmQpZChlYWMpbShoKWkob2YpZSh0aGUpaChjb21tYW5kcylmKGluKWcgRnEobGlzdClqCit5KFwoc2VlKTQyIGIodGhlKWYoZGVzY3JpcHRpb24pZyhvZiloIEZzKHNob3B0KWQgRnQoaW4paShTZWN0aW9uKWgKKyg0LjMuMiloKFtUaGUpZShTaG9wdClmKEJ1aWx0aW5dLCk0NSBiKHBhZ2UpZCg1N1wpKTYzMAorNDA4IHkoaXMpZShlbmFibGVkLClpKHRoZSllKG1hdGMpbShoKWgoaXMpZShwKXMoZXJmb3JtZWQpZyh3aXRob3V0KWcKKyhyZWdhcmQpaCh0byloKHRoZSlmKGNhc2UpZyhvZilnKGFscGhhYilzKGV0aWMpNjMwIDUxOAoreShjKW0oaGFyYWN0ZXJzLiloKFRoZSkyOCBiKHJldHVybillKHYpLTUgYihhbHVlKTI4IGIoaXMpZygwKWcoaWYpZworKHRoZSlnKHN0cmluZylnKG1hdGMpbShoZXMpaChcKGApcCBGcyg9PSlwIEZ0KCdcKSlmKG9yKWcoZG8pcyhlcylmKG5vdCkKK2gobWF0YyltKGgpNjMwIDYyOCB5KFwoYClwIEZzKCE9KXAgRnQoJ1wpdGhlKTMzIGIocGF0dGVybiwpZyhhbmQpZigxKWcKKyhvdGhlcndpc2UuKTQ3IGIoQW4pbSh5KTMyIGIocGFydClnKG9mKWgodGhlKWYocGF0dGVybilnKG1hKW0oeSloKGIpcworKGUpZihxdW90ZWQpZyh0byk2MzAgNzM3IHkoZm9yY2UpZihpdClnKHRvKWcoYilzKGUpZihtYXRjKW0oaGVkKWgoYXMpZgorKGEpaChzdHJpbmcuKTYzMCA4NjcgeShBbilpKGFkZGl0aW9uYWwpaShiaW5hcnkpZShvcClzKGVyYXRvciwpaShgKXAKK0ZzKD1+KXAgRnQoJywpZyhpcylmKGEpbSh2KS01IGIoYWlsYWJsZSwpMzcgYih3aXRoKWModGhlKWgoc2FtZSlnCisocHJlY2VkZW5jZSloKGFzKTYzMCA5NzYgeShgKXAgRnMoPT0pcCBGdCgnKTI5IGIoYW5kKWYoYClwCitGcyghPSlwIEZ0KCcuKTQwIGIoV2hlbikyOSBiKGl0KWcoaXMpZyh1c2VkLClmKHRoZSloKHN0cmluZylnKHRvKWgodGhlKQorZShyaWdoKW0odClpKG9mKWYodGhlKWcob3ApcyhlcmF0b3IpZyhpcylnKGNvbnNpZC0pNjMwCisxMDg2IHkoZXJlZCkzNCBiKGFuKWcoZXh0ZW5kZWQpZyhyZWd1bGFyKWcoZXhwcmVzc2lvbilnKGFuZClmKG1hdGMpbQorKGhlZClpKGFjY29yZGluZ2x5KWcoXChhcylmKGluKWcgRmsociktNSBiKGUpZyhnZXgpMTEKK2IgRnQoM1wpXCkuKTYzMCAxMTk2IHkoVGhlKTI5IGIocmV0dXJuKWYodiktNSBiKGFsdWUpMzAKK2IoaXMpZygwKWcoaWYpZih0aGUpaChzdHJpbmcpZyhtYXRjKW0oaGVzKWcodGhlKWcocGF0dGVybiwpZyhhbmQpZigxKWgKKyhvdGhlcndpc2UuKTQxIGIoSWYpMjkgYih0aGUpNjMwIDEzMDUgeShyZWd1bGFyKWUoZXhwcmVzc2lvbilnKGlzKWgKKyhzeW4pbSh0YWN0aWNhbGx5KWkoaW5jb3JyZWN0LClmKHRoZSllKGNvbmRpdGlvbmFsKWkoZXhwcmVzc2lvbidzKWUKKyhyZXR1cm4pNjMwIDE0MTUgeSh2KS01IGIoYWx1ZSk0MCBiKGlzKWcoMi4pNjggYihJZikzOQorYih0aGUpaChzaGVsbClmKG9wdGlvbiloIEZzKG5vY2FzZW1hdGNoKWQgRnQoXChzZWUpaih0aGUpZyhkZXNjcmlwdGlvbikKK2cob2YpZiBGcyhzaG9wdClmIEZ0KGluKTYzMCAxNTI0IHkoU2VjdGlvbikzMiBiKDQuMy4yKWcoW1RoZSlmKFNob3B0KWYKKyhCdWlsdGluXSwpaShwYWdlKWcoNTdcKSlnKGlzKWYoZW5hYmxlZCwpZyh0aGUpZyhtYXRjKW0oaCloKGlzKWUocClzCisoZXJmb3JtZWQpNjMwIDE2MzQgeSh3aXRob3V0KTM2IGIocmVnYXJkKWcodG8paCh0aGUpZihjYXNlKWgob2YpZgorKGFscGhhYilzKGV0aWMpaChjKW0oaGFyYWN0ZXJzLik1OSBiKEFuKW0oeSkzNiBiKHBhcnQpZyhvZiloKHRoZSlmCisocGF0dGVybik2MzAgMTc0NCB5KG1hKW0oeSlnKGIpcyhlKWcocXVvdGVkKWcodG8pZyhmb3JjZSlnKGl0KWgodG8pZihiKQorcyhlKWYobWF0YyltKGhlZClpKGFzKWYoYSlnKHN0cmluZy4pNTcgYihTdWJzdHJpbmdzKTM0CitiKG1hdGMpbShoZWQpaihiKW0oeSk2MzAgMTg1MyB5KHBhcmVuKW0odGhlc2l6ZWQpNDQgYihzdWIpcworKGV4cHJlc3Npb25zKWUod2l0aGluKWkodGhlKWcocmVndWxhcilnKGV4cHJlc3Npb24pZyhhcmUpZyhzYSltKHYpbShlZCkKK2goaW4pZih0aGUpNjMwIDE5NjMgeShhcnJhKW0oeSkzOCBiKHYpLTUgYihhcmlhYmxlKTM4CitiIEZzKEJBU0hfUkVNQVRDSClwIEZ0KC4pNTkgYihUaGUpMzYgYihlbGVtZW4pbSh0KWoob2YpZgorRnMoQkFTSF9SRU1BVENIKWMgRnQod2l0aClqKGluZGV4KWcoMCloKGlzKTYzMCAyMDcyIHkodGhlKWMocClzKG9ydGlvbikKK2Yob2YpaCh0aGUpZihzdHJpbmcpaChtYXRjKW0oaGluZylnKHRoZSlnKGVuKW0odGlyZSloKHJlZ3VsYXIpZQorKGV4cHJlc3Npb24uKTUwIGIoVGhlKTMzIGIoZWxlbWVuKW0odCk2MzAgMjE4MiB5KG9mKTM5CitiIEZzKEJBU0hfUkVNQVRDSCljIEZ0KHdpdGgpaihpbmRleClnIEZxKG4pZiBGdChpcylpKHRoZSlmKHApcyhvcnRpb24pZworKG9mKWgodGhlKWYoc3RyaW5nKWgobWF0YyltKGhpbmcpZyh0aGUpZyBGcShuKXAgRnQodGgpNjMwCisyMjkyIHkocGFyZW4pbSh0aGVzaXplZCkzMSBiKHN1YilzKGV4cHJlc3Npb24uKTYzMCAyNDIxCit5KEV4cHJlc3Npb25zKTIzIGIobWEpbSh5KWgoYilzKGUpZShjb20pbShiaW5lZClpKHVzaW5nKWYodGhlKWgoZm9sbG8pbQorKHdpbmcpaChvcClzKGVyYXRvcnMsKWcobGlzdGVkKWYoaW4pZihkZWNyZWFzaW5nKTYzMAorMjUzMSB5KG9yZGVyKTMwIGIob2YpZyhwcmVjZWRlbmNlOik2MzAgMjY4MSB5IEZzKFwoKWcKK0ZpKGV4cHJlc3Npb24pMzggYiBGcyhcKSkxMTEwIDI3OTAgeSBGdChSZXR1cm5zKTMwIGIodGhlKWgodiktNQorYihhbHVlKTMxIGIob2YpZyBGcShleHByZXNzaW9uKXAgRnQoLik0MiBiKFRoaXMpMzAgYihtYSltKHkpaShiKXMoZSllCisodXNlZClnKHRvKWkobyltKHYpbShlcnJpZGUpZyh0aGUpMTExMCAyOTAwIHkobm9ybWFsKWUocHJlY2VkZW5jZSloKG9mKQorZyhvcClzKGVyYXRvcnMuKTYzMCAzMDQ5IHkgRnMoISlmIEZpKGV4cHJlc3Npb24pMTExMAorMzE1OSB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKGV4cHJlc3Npb24pZyBGdChpcyloKGZhbHNlLik2MzAKKzMzMDkgeSBGaShleHByZXNzaW9uMSkzOCBiIEZzKCYmKTMwIGIgRmkoZXhwcmVzc2lvbjIpMTExMAorMzQxOCB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnKGIpcyhvdGgpZyBGcShleHByZXNzaW9uMSkzOAorYiBGdChhbmQpMjkgYiBGcShleHByZXNzaW9uMikzOCBiIEZ0KGFyZSkzMSBiKHRydWUuKTYzMAorMzU2OCB5IEZpKGV4cHJlc3Npb24xKTM4IGIgRnMofHwpMzAgYiBGaShleHByZXNzaW9uMikxMTEwCiszNjc4IHkgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcoZWl0aGVyKWggRnEoZXhwcmVzc2lvbjEpMzgKK2IgRnQob3IpMzAgYiBGcShleHByZXNzaW9uMikzOCBiIEZ0KGlzKTMwIGIodHJ1ZS4pNjMwCiszODI3IHkoVGhlKTI1IGIgRnMoJiYpZyBGdChhbmQpZyBGcyh8fClmIEZ0KG9wKXMoZXJhdG9ycylpKGRvKWYobm90KWgKKyhldiktNSBiKGFsdWF0ZSkyNyBiIEZxKGV4cHJlc3Npb24yKTMzIGIgRnQoaWYpMjYgYih0aGUpZih2KS01CitiKGFsdWUpMjYgYihvZilnIEZxKGV4cHJlc3Npb24xKTYzMCAzOTM3IHkgRnQoaXMpayhzdVwwMTZjaWVuKW0odCloKHRvKQorZyhkZXRlcm1pbmUpZyh0aGUpZihyZXR1cm4pZyh2KS01IGIoYWx1ZSkzMSBiKG9mKWYodGhlKWgoZW4pbSh0aXJlKWcKKyhjb25kaXRpb25hbCloKGV4cHJlc3Npb24uKTE1MCA0MTI2IHkgRmooMy4yLjQuMyk2MyBiKEdyb3VwaW5nKTQzCitiKENvbW1hbmRzKTE1MCA0MjczIHkgRnQoQmFzaCkzMCBiKHBybyltKHZpZGVzKWcodCltKHcpbShvKWgodyltKGEpbQorKHlzKWYodG8paChncm91cCllKGEpaChsaXN0KWcob2YpZyhjb21tYW5kcylmKHRvKWkoYilzKGUpZShleGVjdXRlZCloCisoYXMpZyhhKWgodW5pdC4pNDAgYihXaGVuKTI5IGIoY29tLSkxNTAgNDM4MyB5KG1hbmRzKWgoYXJlKWkoZ3JvdXApcworKGVkLClmKHJlZGlyZWN0aW9ucyloKG1hKW0oeSlnKGIpcyhlKWUoYXBwbGllZClpKHRvKWcodGhlKWYoZW4pbSh0aXJlKWgKKyhjb21tYW5kKWcobGlzdC4pNDQgYihGKS04IGIob3IpMzIgYihleGFtcGxlLCkxNTAgNDQ5MworeSh0aGUpZihvdXRwdXQpZihvZilnKGFsbCloKHRoZSlnKGNvbW1hbmRzKWYoaW4pZyh0aGUpaChsaXN0KWcobWEpbSh5KWcKKyhiKXMoZSllKHJlZGlyZWN0ZWQpaSh0bylnKGEpZyhzaW5nbGUpZyhzdHJlYW0uKTE1MCA0NjQyCit5IEZzKFwoXCkpODcwIDQ3NzIgeShcKCk0NyBiIEZpKGxpc3QpNTggYiBGcyhcKSk2MzAgNDkwMgoreSBGdChQbGFjaW5nKTMwIGIoYSlmKGxpc3QpZyhvZilnKGNvbW1hbmRzKWYoYilzKGV0KW0odyltKGVlbilpKHBhcmVuKW0KKyh0aGVzZXMpZShjYXVzZXMpaShhKWYoc3Vic2hlbGwpZShlbiltKHZpcm9ubWVuKW0odCk2MzAKKzUwMTEgeSh0bylrKGIpcyhlKWUoY3JlYXRlZClqKFwoc2VlKWYoU2VjdGlvbilnKDMuNy4zKWgoW0NvbW1hbmQpZAorKEV4ZWN1dGlvbilpKEVuKW0odmlyb25tZW4pbSh0XSwpZyhwYWdlKWYoMzJcKSwpNjMwIDUxMjEKK3koYW5kKWQoZWFjKW0oaClpKG9mKWUodGhlKWgoY29tbWFuZHMpZihpbilnIEZxKGxpc3QpagogRnQodG8pZihiKXMoZSllKGV4ZWN1dGVkKWgoaW4pZih0aGF0KWgoc3Vic2hlbGwuKTM5IGIoU2luY2UpMjgKLWIodGhlKWYgRnEobGlzdCk2MzAgMzc4MyB5IEZ0KGlzKWkoZXhlY3V0ZWQpZyhpbilmKGEpaChzdWJzaGVsbCwpZyh2KS01CitiKHRoZSlmIEZxKGxpc3QpNjMwIDUyMzAgeSBGdChpcylpKGV4ZWN1dGVkKWcoaW4pZihhKWgoc3Vic2hlbGwsKWcodiktNQogYihhcmlhYmxlKTI5IGIoYXNzaWdubWVuKW0odHMpZyhkbylnKG5vdClnKHJlbWFpbilmKGluKWcoZVwwMTNlY3QpagotKGFmdGVyKWUodGhlKTYzMCAzODkzIHkoc3Vic2hlbGwpZyhjb21wbGV0ZXMuKTE1MCA0MDY3Ci15IEZzKHt9KTg3MCA0MjA5IHkoeyk0NyBiIEZpKGxpc3QpMTEgYiBGcyg7KTQ2IGIofSk2MzAKLTQzNTEgeSBGdChQbGFjaW5nKTMwIGIoYSlnKGxpc3QpZyhvZilnKGNvbW1hbmRzKWYoYilzKGV0KW0odyltKGVlbiloCi0oY3VybHkpZihicmFjZXMpZyhjYXVzZXMpaCh0aGUpZihsaXN0KWgodG8pZyhiKXMoZSlmKGV4ZWN1dGVkKTYzMAotNDQ2MSB5KGluKWQodGhlKWgoY3VycmVuKW0odClnKHNoZWxsKWYoY29uKW0odGV4dC4pNDIKLWIoTm8pMjcgYihzdWJzaGVsbClmKGlzKWcoY3JlYXRlZC4pNDEgYihUaGUpMjYgYihzZW1pY29sb24paShcKG9yKWYKLShuZXdsaW5lXCkpNjMwIDQ1NzAgeShmb2xsbyltKHdpbmcpMzIgYiBGcShsaXN0KWggRnQoaXMpZChyZXF1aXJlZC4pMjc1Ci00NzUyIHkoSW4pNDQgYihhZGRpdGlvbiloKHRvKWgodGhlKWYoY3JlYXRpb24paShvZillKGEpZyhzdWJzaGVsbCwpagotKHRoZXJlKWUoaXMpZihhKWcoc3VidGxlKWcoZGlcMDEzZXJlbmNlKWgoYilzKGV0KW0odyltKGVlbilmKHRoZXNlKTE1MAotNDg2MiB5KHQpbSh3KW0obyljKGNvbnN0cnVjdHMpZShkdWUpZyh0bylnKGhpc3RvcmljYWwpaShyZWFzb25zLik2NwotYihUaGUpMzkgYihicmFjZXMpZyhhcmUpaCBGcyhyZXNlcnZlZCkyOCBiKHdvcmRzKXAgRnQoLCk0MAotYihzbylnKHRoZXkpZihtKW0odXN0KTE1MCA0OTcxIHkoYilzKGUpZChzZXBhcmF0ZWQpaChmcm9tKWYodGhlKWcKLUZxKGxpc3QpaiBGdChiKW0oeSllIEZzKGJsYW5rKXAgRnQocyllKG9yKWgob3RoZXIpaChzaGVsbClmKG1ldGFjKW0KLShoYXJhY3RlcnMuKTYyIGIoVGhlKTM2IGIocGFyZW4pbSh0aGVzZXMpaChhcmUpMTUwIDUwODEKLXkgRnMob3BlcmF0b3JzKXAgRnQoLCkyMyBiKGFuZCloKGFyZSlnKHJlY29nbml6ZWQpaShhcyllKHNlcGFyYXRlKWkKLSh0b2spbShlbnMpZihiKW0oeSlmKHRoZSlnKHNoZWxsKWgoZXYpbShlbilnKGlmKWYodGhleSlnKGFyZSloKG5vdClmCi0oc2VwYXJhdGVkKTE1MCA1MTkxIHkoZnJvbSkzMCBiKHRoZSlnIEZxKGxpc3QpaiBGdChiKW0oeSllKHdoaXRlc3BhY2UuKQotMjc1IDUzNDAgeShUaGUpZShleGl0KWooc3RhdHVzKWUob2YpaChiKXMob3RoKWYob2YpZyh0aGVzZSloCi0oY29uc3RydWN0cylnKGlzKWYodGhlKWgoZXhpdClnKHN0YXR1cylmKG9mKWggRnEobGlzdClyCi1GdCguKXAgZW9wIGVuZAorKGFmdGVyKWUodGhlKTYzMCA1MzQwIHkoc3Vic2hlbGwpZyhjb21wbGV0ZXMuKXAgZW9wIGVuZAogJSVQYWdlOiAxNCAyMAogVGVYRGljdCBiZWdpbiAxNCAxOSBib3AgMTUwIC0xMTYgYSBGdCgxNCkyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZqKDMuMi41KTYzIGIoQ29wcm8pcyhjZXNzZXMpMTUwCi00NDYgeSBGdChBKTM3IGIgRnMoY29wcm9jZXNzKWMgRnQoaXMpayhhKWcoc2hlbGwpZihjb21tYW5kKWgocHJlY2VkZWQpZgotKGIpbSh5KWcodGhlKWggRnMoY29wcm9jKWQgRnQocmVzZXJ2KW0oZWQpaih3KW0ob3JkLik1OQotYihBKTM2IGIoY29wcm8pcyhjZXNzKWgoaXMpMTUwIDU1NSB5KGV4ZWN1dGVkKWcoYXN5bmMpbShocm9ub3VzbHkpZyhpbikKLWYoYSloKHN1YnNoZWxsLClnKGFzKWcoaWYpZyh0aGUpZihjb21tYW5kKWgoaGFkKWYoYilzKGVlbilmKHRlcm1pbmF0ZWQpCi1pKHdpdGgpZyh0aGUpMTUwIDY2NSB5KGApcCBGcygmKXAgRnQoJylkKGNvbiltKHRyb2wpaChvcClzKGVyYXRvciwpZwotKHdpdGgpZihhKWcodCltKHcpbShvLXcpbShhKW0oeSlpKHBpcClzKGUpZChlc3RhYmxpc2hlZCloKGIpcyhldCltKHcpbQotKGVlbiloKHRoZSlmKGV4ZWN1dGluZyloKHNoZWxsKWYoYW5kKWYodGhlKTE1MCA3NzUgeShjb3BybylzKGNlc3MuKTI3NQotOTA2IHkoVGhlKWMoZm9ybWF0KWkoZm9yKWYoYSloKGNvcHJvKXMoY2VzcylnKGlzOikzOTAKLTEwMzcgeSBGcyhjb3Byb2MpNDYgYihbKXAgRmkoTkFNRSkxMSBiIEZzKF0pNDYgYiBGaShjb21tYW5kKTU2Ci1iIEZzKFspcCBGaShyZWRpcmVjdGlvbnMpMTEgYiBGcyhdKTE1MCAxMTY4IHkgRnQoVGhpcyk0MQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZzKHt9KTg3MCA0MzYgeSh7KTQ3CitiIEZpKGxpc3QpMTEgYiBGcyg7KTQ2IGIofSk2MzAgNTc0IHkgRnQoUGxhY2luZykzMCBiKGEpZyhsaXN0KWcob2YpZworKGNvbW1hbmRzKWYoYilzKGV0KW0odyltKGVlbiloKGN1cmx5KWYoYnJhY2VzKWcoY2F1c2VzKWgodGhlKWYobGlzdCloCisodG8pZyhiKXMoZSlmKGV4ZWN1dGVkKTYzMCA2ODMgeShpbilkKHRoZSloKGN1cnJlbiltKHQpZyhzaGVsbClmKGNvbiltCisodGV4dC4pNDIgYihObykyNyBiKHN1YnNoZWxsKWYoaXMpZyhjcmVhdGVkLik0MSBiKFRoZSkyNgorYihzZW1pY29sb24paShcKG9yKWYobmV3bGluZVwpKTYzMCA3OTMgeShmb2xsbyltKHdpbmcpMzIKK2IgRnEobGlzdCloIEZ0KGlzKWQocmVxdWlyZWQuKTI3NSA5NjEgeShJbik0NCBiKGFkZGl0aW9uKWgodG8paCh0aGUpZgorKGNyZWF0aW9uKWkob2YpZShhKWcoc3Vic2hlbGwsKWoodGhlcmUpZShpcylmKGEpZyhzdWJ0bGUpZworKGRpXDAxM2VyZW5jZSloKGIpcyhldCltKHcpbShlZW4pZih0aGVzZSkxNTAgMTA3MSB5KHQpbSh3KW0obyljCisoY29uc3RydWN0cyllKGR1ZSlnKHRvKWcoaGlzdG9yaWNhbClpKHJlYXNvbnMuKTY3IGIoVGhlKTM5CitiKGJyYWNlcylnKGFyZSloIEZzKHJlc2VydmVkKTI4IGIod29yZHMpcCBGdCgsKTQwIGIoc28pZyh0aGV5KWYobSltCisodXN0KTE1MCAxMTgwIHkoYilzKGUpZChzZXBhcmF0ZWQpaChmcm9tKWYodGhlKWcgRnEobGlzdClqCitGdChiKW0oeSllIEZzKGJsYW5rKXAgRnQocyllKG9yKWgob3RoZXIpaChzaGVsbClmKG1ldGFjKW0oaGFyYWN0ZXJzLik2MgorYihUaGUpMzYgYihwYXJlbiltKHRoZXNlcyloKGFyZSkxNTAgMTI5MCB5IEZzKG9wZXJhdG9ycylwCitGdCgsKTIzIGIoYW5kKWgoYXJlKWcocmVjb2duaXplZClpKGFzKWUoc2VwYXJhdGUpaSh0b2spbShlbnMpZihiKW0oeSlmCisodGhlKWcoc2hlbGwpaChldiltKGVuKWcoaWYpZih0aGV5KWcoYXJlKWgobm90KWYoc2VwYXJhdGVkKTE1MAorMTQwMCB5KGZyb20pMzAgYih0aGUpZyBGcShsaXN0KWogRnQoYiltKHkpZSh3aGl0ZXNwYWNlLikyNzUKKzE1NDAgeShUaGUpZShleGl0KWooc3RhdHVzKWUob2YpaChiKXMob3RoKWYob2YpZyh0aGVzZSloKGNvbnN0cnVjdHMpZworKGlzKWYodGhlKWgoZXhpdClnKHN0YXR1cylmKG9mKWggRnEobGlzdClyIEZ0KC4pMTUwIDE3NDUKK3kgRmooMy4yLjUpNjMgYihDb3BybylzKGNlc3NlcykxNTAgMTg5MiB5IEZ0KEEpMzcgYiBGcyhjb3Byb2Nlc3MpYworRnQoaXMpayhhKWcoc2hlbGwpZihjb21tYW5kKWgocHJlY2VkZWQpZihiKW0oeSlnKHRoZSloCitGcyhjb3Byb2MpZCBGdChyZXNlcnYpbShlZClqKHcpbShvcmQuKTU5IGIoQSkzNiBiKGNvcHJvKXMoY2VzcyloKGlzKTE1MAorMjAwMiB5KGV4ZWN1dGVkKWcoYXN5bmMpbShocm9ub3VzbHkpZyhpbilmKGEpaChzdWJzaGVsbCwpZyhhcylnKGlmKWcKKyh0aGUpZihjb21tYW5kKWgoaGFkKWYoYilzKGVlbilmKHRlcm1pbmF0ZWQpaSh3aXRoKWcodGhlKTE1MAorMjExMSB5KGApcCBGcygmKXAgRnQoJylkKGNvbiltKHRyb2wpaChvcClzKGVyYXRvciwpZyh3aXRoKWYoYSlnKHQpbSh3KW0KKyhvLXcpbShhKW0oeSlpKHBpcClzKGUpZChlc3RhYmxpc2hlZCloKGIpcyhldCltKHcpbShlZW4paCh0aGUpZgorKGV4ZWN1dGluZyloKHNoZWxsKWYoYW5kKWYodGhlKTE1MCAyMjIxIHkoY29wcm8pcyhjZXNzLikyNzUKKzIzNjEgeShUaGUpYyhmb3JtYXQpaShmb3IpZihhKWgoY29wcm8pcyhjZXNzKWcoaXM6KTM5MAorMjUwMiB5IEZzKGNvcHJvYyk0NiBiKFspcCBGaShOQU1FKTExIGIgRnMoXSk0NiBiIEZpKGNvbW1hbmQpNTYKK2IgRnMoWylwIEZpKHJlZGlyZWN0aW9ucykxMSBiIEZzKF0pMTUwIDI2NDIgeSBGdChUaGlzKTQxCiBiKGNyZWF0ZXMpaShhKWcoY29wcm8pcyhjZXNzKWYobmFtZWQpZiBGcShOQU1FKTUgYiBGdCguKTQzCiBiKElmKWYgRnEoTkFNRSk0NyBiIEZ0KGlzKTQyIGIobm90KWcoc3VwcGxpZWQsKWkodGhlKWUoZGVmYXVsdClnKG5hbWUpZwotKGlzKTE1MCAxMjc3IHkgRnEoQ09QUiltKE9DKTggYiBGdCguKTIyIGIgRnEoTkFNRSkyOQorKGlzKTE1MCAyNzUyIHkgRnEoQ09QUiltKE9DKTggYiBGdCguKTIyIGIgRnEoTkFNRSkyOQogYiBGdChtKW0odXN0KTIzIGIobm90KWcoYilzKGUpZyhzdXBwbGllZCllKGlmKWkgRnEoY29tbWFuZClrCiBGdChpcyljKGEpZyhzaW1wbGUpZyhjb21tYW5kKWcoXChzZWUpaChTZWN0aW9uKWcoMy4yLjEpMTUwCi0xMzg3IHkoW1NpbXBsZSkzOSBiKENvbW1hbmRzXSwpaChwYWdlKWcoOFwpOylrKG90aGVyd2lzZSwpZShpdClkKGlzKWcKKzI4NjEgeShbU2ltcGxlKTM5IGIoQ29tbWFuZHNdLCloKHBhZ2UpZyg4XCk7KWsob3RoZXJ3aXNlLCllKGl0KWQoaXMpZwogKGluKW0odGVycHJldGVkKWgoYXMpZih0aGUpZyhcMDE0cnN0KWYodyltKG9yZCloKG9mKWcodGhlKWcoc2ltcGxlKTE1MAotMTQ5NiB5KGNvbW1hbmQuKTI3NSAxNjI3IHkoV2hlbikyMyBiKHRoZSloKGNvcHJvKXMoYylnKGlzKWcoZXhlY3V0ZWQsKWkKKzI5NzEgeShjb21tYW5kLikyNzUgMzExMSB5KFdoZW4pMjMgYih0aGUpaChjb3BybylzKGMpZyhpcylnKGV4ZWN1dGVkLClpCiAodGhlKWUoc2hlbGwpZyhjcmVhdGVzKWgoYW4pZShhcnJhKW0oeSlpKHYpLTUgYihhcmlhYmxlKTI0Ci1iKFwoc2VlKWgoU2VjdGlvbilmKDYuNyloKFtBcnJhKW0oeXNdLCkxNTAgMTczNyB5KHBhZ2UpNDMKLWIoODBcKSlnKG5hbWVkKWYgRnEoTkFNRSk0OCBiIEZ0KGluKTQyIGIodGhlKWcoY29uKW0odGV4dClpKG9mKWUodGhlKWgKK2IoXChzZWUpaChTZWN0aW9uKWYoNi43KWgoW0FycmEpbSh5c10sKTE1MCAzMjIxIHkocGFnZSk0MworYig4MlwpKWcobmFtZWQpZiBGcShOQU1FKTQ4IGIgRnQoaW4pNDIgYih0aGUpZyhjb24pbSh0ZXh0KWkob2YpZSh0aGUpaAogKGV4ZWN1dGluZylnKHNoZWxsLik3NiBiKFRoZSk0MiBiKHN0YW5kYXJkKWYob3V0cHV0KWgob2YpMTUwCi0xODQ2IHkgRnEoY29tbWFuZClkIEZ0KGlzKWQoY29ubmVjdGVkKWgodmlhKWcoYSlmKHBpcClzKGUpZyh0bylnKGEpaAorMzMzMCB5IEZxKGNvbW1hbmQpZCBGdChpcylkKGNvbm5lY3RlZCloKHZpYSlnKGEpZihwaXApcyhlKWcodG8pZyhhKWgKIChcMDE0bGUpZihkZXNjcmlwdG9yKWcoaW4pZih0aGUpaShleGVjdXRpbmcpZyhzaGVsbCwpaChhbmQpZCh0aGF0KWkKLShcMDE0bGUpMTUwIDE5NTYgeShkZXNjcmlwdG9yKTI1IGIoaXMpZihhc3NpZ25lZCloKHRvKWgKKyhcMDE0bGUpMTUwIDM0NDAgeShkZXNjcmlwdG9yKTI1IGIoaXMpZihhc3NpZ25lZCloKHRvKWgKIEZxKE5BTUUpNSBiIEZ0KFswXS4pNDAgYihUaGUpMjUgYihzdGFuZGFyZCllKGlucHV0KWgob2YpaAogRnEoY29tbWFuZClqIEZ0KGlzKWQoY29ubmVjdGVkKWcodmlhKWgoYSlmKHBpcClzKGUpMTUwCi0yMDY2IHkodG8pMzMgYihhKWYoXDAxNGxlKWcoZGVzY3JpcHRvcilnKGluKWYodGhlKWkoZXhlY3V0aW5nKWcoc2hlbGwsKQorMzU1MCB5KHRvKTMzIGIoYSlmKFwwMTRsZSlnKGRlc2NyaXB0b3IpZyhpbilmKHRoZSlpKGV4ZWN1dGluZylnKHNoZWxsLCkKIGYoYW5kKWcodGhhdClnKFwwMTRsZSlnKGRlc2NyaXB0b3IpZyhpcylnKGFzc2lnbmVkKWcodG8paAotRnEoTkFNRSk1IGIgRnQoWzFdLikxNTAgMjE3NSB5KFRoaXMpMzEgYihwaXApcyhlKWcoaXMpaChlc3RhYmxpc2hlZClnCitGcShOQU1FKTUgYiBGdChbMV0uKTE1MCAzNjU5IHkoVGhpcykzMSBiKHBpcClzKGUpZyhpcyloKGVzdGFibGlzaGVkKWcKIChiKXMoZWZvcmUpZyhhbiltKHkpZyhyZWRpcmVjdGlvbnMpZyhzcClzKGVjaVwwMTRlZClnKGIpbSh5KWYodGhlKWkKLShjb21tYW5kKWUoXChzZWUpaShTZWN0aW9uKWcoMy42KTE1MCAyMjg1IHkoW1JlZGlyZWN0aW9uc10sKTI1Ci1iKHBhZ2UpZSgyNlwpLikzOSBiKFRoZSkyMSBiKFwwMTRsZSloKGRlc2NyaXB0b3JzKWcoY2FuKWcoYilzKGUpZgorKGNvbW1hbmQpZShcKHNlZSlpKFNlY3Rpb24pZygzLjYpMTUwIDM3NjkgeShbUmVkaXJlY3Rpb25zXSwpMjUKK2IocGFnZSllKDI3XCkuKTM5IGIoVGhlKTIxIGIoXDAxNGxlKWgoZGVzY3JpcHRvcnMpZyhjYW4pZyhiKXMoZSlmCiAodXRpbGl6ZWQpaShhcylmKGFyZ3VtZW4pbSh0cyloKHRvKWYoc2hlbGwpZyhjb21tYW5kcykxNTAKLTIzOTQgeShhbmQpMzAgYihyZWRpcmVjdGlvbnMpaCh1c2luZylmKHN0YW5kYXJkKWYodyltKG9yZCloCi0oZXhwYW5zaW9ucy4pMjc1IDI1MjUgeShUaGUpZihwcm8pcyhjZXNzKWgoaWQpZihvZiloKHRoZSlnKHNoZWxsKWgoc3BhKQotbSh3bmVkKWUodG8paShleGVjdXRlKWcodGhlKWYoY29wcm8pcyhjZXNzKWgoaXMpZihhKW0odiktNQotYihhaWxhYmxlKTMyIGIoYXMpZSh0aGUpZyh2KS01IGIoYWx1ZSkzMSBiKG9mKTE1MCAyNjM1Ci15KHRoZSkyNiBiKHYpLTUgYihhcmlhYmxlKTI2IGIgRnEoTkFNRSlwIDkzMSAyNjM1IDI4Ci00IHYgNDYgdyBGdChQSUQuKWcoVGhlKWYgRnMod2FpdClnIEZ0KGJ1aWx0aW4pZyhjb21tYW5kKWcobWEpbSh5KWgoYilzCi0oZSlmKHVzZWQpZyh0bylpKHcpbShhaXQpZihmb3IpZyh0aGUpZyhjb3BybylzKGNlc3MpMTUwCi0yNzQ1IHkodG8pMzEgYih0ZXJtaW5hdGUuKTI3NSAyODc2IHkoVGhlKWUocmV0dXJuKWgoc3RhdHVzKWcob2YpaChhKWcKLShjb3BybylzKGNlc3MpZihpcyloKHRoZSlmKGV4aXQpaShzdGF0dXMpZShvZiloIEZxKGNvbW1hbmQpdAotRnQoLikxNTAgMzEwMSB5IEZyKDMuMyk2OCBiKFNoZWxsKTQ1IGIoRiktMTEgYih1bmN0aW9ucykxNTAKLTMyNjAgeSBGdChTaGVsbCkzNSBiKGZ1bmN0aW9ucyloKGFyZSlnKGEpZyh3KW0oYSltKHkpZyh0byloKGdyb3VwKWUKLShjb21tYW5kcylnKGZvciloKGxhdGVyKWcoZXhlY3V0aW9uKWgodXNpbmcpZShhKWgoc2luZ2xlKWcobmFtZSlnKGZvcikKLTE1MCAzMzcwIHkodGhlKWYoZ3JvdXAuKTU1IGIoVGhleSkzNSBiKGFyZSlnKGV4ZWN1dGVkKWgoanVzdClmKGxpayltKGUpCi1oKGEpZyBGcygiKXAgRnQocmVndWxhcilwIEZzKCIpZiBGdChjb21tYW5kLik1NCBiKFdoZW4pMzUKLWIodGhlKWgobmFtZSlmKG9mKWcoYSloKHNoZWxsKTE1MCAzNDgwIHkoZnVuY3Rpb24paihpcylnKHVzZWQpZihhcyloKGEpCi1oKHNpbXBsZSlmKGNvbW1hbmQpZyhuYW1lLClpKHRoZSllKGxpc3QpaChvZilmKGNvbW1hbmRzKWcoYXNzbylzCi0oY2lhdGVkKWkod2l0aClkKHRoYXQpMTUwIDM1ODkgeShmdW5jdGlvbikyNSBiKG5hbWUpaChpcylnKGV4ZWN1dGVkLik0MAotYihTaGVsbCkyNSBiKGZ1bmN0aW9ucylnKGFyZSlpKGV4ZWN1dGVkKWYoaW4pZih0aGUpaChjdXJyZW4pbSh0KWcKLShzaGVsbClnKGNvbiltKHRleHQ7KWoobm8pYyhuZXcpMTUwIDM2OTkgeShwcm8pcyhjZXNzKTMwCi1iKGlzKWcoY3JlYXRlZClpKHRvKWYoaW4pbSh0ZXJwcmV0KWcodGhlbS4pMjc1IDM4MzAgeShGKS04Ci1iKHVuY3Rpb25zKTMwIGIoYXJlKWgoZGVjbGFyZWQpZyh1c2luZylmKHRoaXMpZyhzeW4pbSh0YXg6KTM5MAotMzk2MSB5IEZzKFspNDcgYihmdW5jdGlvbilmKF0paCBGaShuYW1lKTU4IGIgRnMoXChcKSk0NwotYiBGaShjb21wb3VuZC1jb21tYW5kKTU0IGIgRnMoWyk0NyBiIEZpKHJlZGlyZWN0aW9ucyk1NQotYiBGcyhdKTI3NSA0MDkyIHkgRnQoVGhpcykzMSBiKGRlXDAxNG5lcyloKGEpZyhzaGVsbCloKGZ1bmN0aW9uKWYKLShuYW1lZClnIEZxKG5hbWUpNSBiIEZ0KC4pNDcgYihUaGUpMzIgYihyZXNlcnYpbShlZCloKHcpbShvcmQpZgotRnMoZnVuY3Rpb24pZSBGdChpcylpKG9wdGlvbmFsLik0OCBiKElmKTE1MCA0MjAxIHkodGhlKTM5Ci1iIEZzKGZ1bmN0aW9uKWYgRnQocmVzZXJ2KW0oZWQpaCh3KW0ob3JkKWcoaXMpZyhzdXBwbGllZCwpaSh0aGUpZQotKHBhcmVuKW0odGhlc2VzKWgoYXJlKWYob3B0aW9uYWwuKTY5IGIoVGhlKTM5IGIgRnEoYilzKG8pcyhkeSk0NQotYiBGdChvZik0MCBiKHRoZSkxNTAgNDMxMSB5KGZ1bmN0aW9uKWgoaXMpaCh0aGUpZyhjb21wKXMob3VuZCllCi0oY29tbWFuZCloIEZxKGNvbXApcyhvdW5kLWNvbW1hbmQpaiBGdChcKHNlZSllKFNlY3Rpb24paCgzLjIuNClnKFtDb21wKQotcyhvdW5kKTE1MCA0NDIwIHkoQ29tbWFuZHNdLCkzMyBiKHBhZ2UpZyg5XCkuKTQ4IGIoVGhhdCkzMwotYihjb21tYW5kKWcoaXMpZih1c3VhbGx5KWgoYSlnIEZxKGxpc3QpaSBGdChlbmNsb3NlZCllKGIpcyhldCltKHcpbQotKGVlbiloIEZzKHspZSBGdChhbmQpZyBGcyh9KXAgRnQoLCloKGJ1dClmKG1hKW0oeSkxNTAKLTQ1MzAgeShiKXMoZSkyNyBiKGFuKW0oeSloKGNvbXApcyhvdW5kKWUoY29tbWFuZCloKGxpc3RlZCloKGFiKXMobyltKHYpCi1tKGUuKTQxIGIgRnEoY29tcClzKG91bmQtY29tbWFuZCkzMCBiIEZ0KGlzKWUoZXhlY3V0ZWQpZyh3aGVuZXYpbShlcilnCi1GcShuYW1lKTE1MCA0NjQwIHkgRnQoaXMpMzcgYihzcClzKGVjaVwwMTRlZClnKGFzKWcodGhlKWgobmFtZSlmKG9mKWcKLShhKWgoY29tbWFuZC4pNjEgYihBbiltKHkpMzcgYihyZWRpcmVjdGlvbnMpaChcKHNlZSlnKFNlY3Rpb24pZygzLjYpZwotKFtSZWRpcmVjdGlvbnNdLCkxNTAgNDc0OSB5KHBhZ2UpMzEgYigyNlwpKWgoYXNzbylzKGNpYXRlZClnKHdpdGgpZQotKHRoZSlnKHNoZWxsKWgoZnVuY3Rpb24pZihhcmUpaChwKXMoZXJmb3JtZWQpZCh3aGVuKWkodGhlKWcoZnVuY3Rpb24pZwotKGlzKWgoZXhlY3V0ZWQuKTI3NSA0ODgwIHkoQSk0MSBiKGZ1bmN0aW9uKWYoZGVcMDE0bml0aW9uKWgobWEpbSh5KWcoYikKLXMoZSlnKGRlbGV0ZWQpZyh1c2luZylnKHRoZSlnKGApcCBGcygtZilwIEZ0KCcpZyhvcHRpb24pZyh0byloKHRoZSlmCi1Gcyh1bnNldCllIEZ0KGJ1aWx0aW4paShcKHNlZSkxNTAgNDk5MCB5KFNlY3Rpb24pMzEgYig0LjEpaChbQm91cm5lKWUKLShTaGVsbClnKEJ1aWx0aW5zXSwpaChwYWdlKWgoMzVcKS4pMjc1IDUxMjEgeShUaGUpMjYKLWIoZXhpdClpKHN0YXR1cylnKG9mKWYoYSloKGZ1bmN0aW9uKWYoZGVcMDE0bml0aW9uKWcoaXMpZyh6ZXJvKWgKLSh1bmxlc3MpZihhKWcoc3luKW0odGF4KWgoZXJyb3IpZihvKXMoY2N1cnMpZyhvcilnKGEpaChyZWFkb25seSkxNTAKLTUyMzAgeShmdW5jdGlvbilrKHdpdGgpZih0aGUpaShzYW1lKWYobmFtZSlnKGFscmVhZHkpaChleGlzdHMuKTQ2Ci1iKFdoZW4pMzIgYihleGVjdXRlZCwpaCh0aGUpZihleGl0KWgoc3RhdHVzKWcob2YpZihhKWcoZnVuY3Rpb24pMTUwCi01MzQwIHkoaXMpZSh0aGUpaChleGl0KWcoc3RhdHVzKWcob2YpZih0aGUpaChsYXN0KWcoY29tbWFuZClmKGV4ZWN1dGVkKQotaShpbillKHRoZSlnKGIpcyhvKXMoZHkpLTggYiguKXAgZW9wIGVuZAorMzg3OCB5KGFuZCkzMCBiKHJlZGlyZWN0aW9ucyloKHVzaW5nKWYoc3RhbmRhcmQpZih3KW0ob3JkKWgKKyhleHBhbnNpb25zLikyNzUgNDAxOSB5KFRoZSlkKHBybylzKGNlc3MpaChJRCloKG9mKWYodGhlKWgoc2hlbGwpZihzcGEpCittKHduZWQpZyh0byloKGV4ZWN1dGUpaCh0aGUpZShjb3BybylzKGNlc3MpaChpcylmKGEpbSh2KS01CitiKGFpbGFibGUpMzEgYihhcylkKHRoZSloKHYpLTUgYihhbHVlKTI5IGIob2YpMTUwIDQxMjgKK3kodGhlKWQodiktNSBiKGFyaWFibGUpMjYgYiBGcShOQU1FKXAgOTMxIDQxMjggMjggNCB2Cis0NiB3IEZ0KFBJRC4pZyhUaGUpZiBGcyh3YWl0KWcgRnQoYnVpbHRpbilnKGNvbW1hbmQpZyhtYSltKHkpaChiKXMoZSlmCisodXNlZClnKHRvKWkodyltKGFpdClmKGZvcilnKHRoZSlnKGNvcHJvKXMoY2VzcykxNTAgNDIzOAoreSh0bykzMSBiKHRlcm1pbmF0ZS4pMjc1IDQzNzggeShUaGUpZShyZXR1cm4paChzdGF0dXMpZyhvZiloKGEpZyhjb3BybykKK3MoY2VzcylmKGlzKWgodGhlKWYoZXhpdClpKHN0YXR1cyllKG9mKWggRnEoY29tbWFuZCl0CitGdCguKTE1MCA0NTgzIHkgRmooMy4yLjYpNjMgYihHTlUpNDEgYihQKW0oYXJhbGxlbCkxNTAKKzQ3MzAgeSBGdChHTlUpMzYgYihQKW0oYXJhbGxlbCwpayhhcyljKGl0cylnKG5hbWUpZyhzdWdnZXN0cywpaShjYW4pZQorKGIpcyhlKWYodXNlZClnKHRvKWgoYnVpbGQpZihhbmQpZyhydW4pZyhjb21tYW5kcylnKGluKWgocGFyYWxsZWwuKTE1MAorNDg0MCB5KFkpLTggYihvdSk0MSBiKG1hKW0oeSlnKHJ1billKHRoZSloKHNhbWUpaChjb21tYW5kKWYod2l0aClnCisoZGlcMDEzZXJlbiltKHQpaChhcmd1bWVuKW0odHMsKWood2hldGhlcikzOSBiKHRoZXkpaShhcmUpZworKFwwMTRsZW5hbWVzLCkxNTAgNDk1MCB5KHVzZXJuYW1lcywpMzAgYihob3N0bmFtZXMsKWgob3IpZihsaW5lcyloCisocmVhZClmKGZyb20pZyhcMDE0bGVzLikyNzUgNTA5MCB5KEYpLTggYihvcikzMyBiKGEpZyhjb21wbGV0ZSloCisoZGVzY3JpcHRpb24sKWcocmVmZXIpZSh0bylpKHRoZSlmKEdOVSlnKFApbShhcmFsbGVsKWkoZG8pcyhjdW1lbiltCisodGF0aW9uLik0OCBiKEEpMzMgYihmZXcpZihleGFtcGxlcykxNTAgNTIwMCB5KHNob3VsZClkKHBybyltKHZpZGUpaShhKQorZyhicmllZillKGluKW0odHJvKXMoZHVjdGlvbilpKHRvKWcoaXRzKWcodXNlLikyNzUgNTM0MAoreShGKS04IGIob3IpMzEgYihleGFtcGxlLClnKGl0KWcoaXMpZihlYXN5KWgodG8pZyhwcmVcMDE0eClmKGVhYyltKGgpaAorKGxpbmUpZyhpbilmKGEpaCh0ZXh0KWcoXDAxNGxlKWcod2l0aClmKGEpZyhzcClzKGVjaVwwMTRlZClnKHN0cmluZzopcAorZW9wIGVuZAogJSVQYWdlOiAxNSAyMQogVGVYRGljdCBiZWdpbiAxNSAyMCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMzopNDEKLWIoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigxNSkyNzUgMjk5Ci15KE5vdGUpMjIgYih0aGF0KWYoZm9yKWYoaGlzdG9yaWNhbClpKHJlYXNvbnMsKWgoaW4pZSh0aGUpZyhtb3N0KWcKLShjb21tb24pZyh1c2FnZSlnKHRoZSlnKGN1cmx5KWYoYnJhY2VzKWgodGhhdClnKHN1cnJvdW5kKTE1MAotNDA4IHkodGhlKTM4IGIoYilzKG8pcyhkeSlkKG9mKWoodGhlKWYoZnVuY3Rpb24pZyhtKW0odXN0KWcoYilzKGUpZwotKHNlcGFyYXRlZCloKGZyb20pZih0aGUpZyhiKXMobylzKGR5KWYoYiltKHkpaCBGcyhibGFuaylwCi1GdChzKWYob3IpaChuZXdsaW5lcy4pNjIgYihUaGlzKTE1MCA1MTggeShpcykzOCBiKGIpcyhlY2F1c2UpZyh0aGUpaAotKGJyYWNlcylmKGFyZSloKHJlc2VydiltKGVkKWYodyltKG9yZHMpZyhhbmQpZihhcmUpaShvbmx5KWYocmVjb2duaXplZCkKLWkoYXMpZShzdWMpbShoKWcod2hlbilmKHRoZXkpaShhcmUpMTUwIDYyOCB5KHNlcGFyYXRlZCkyNgotYihmcm9tKWYodGhlKWgoY29tbWFuZClmKGxpc3QpaShiKW0oeSllKHdoaXRlc3BhY2UpaChvcilnKGFub3RoZXIpZwotKHNoZWxsKWcobWV0YWMpbShoYXJhY3Rlci4pNDEgYihBbHNvLCkyOCBiKHdoZW4pMTUwIDczNwoteSh1c2luZylpKHRoZSlnKGJyYWNlcywpaCh0aGUpZyBGcShsaXN0KWkgRnQobSltKHVzdClkKGIpcyhlKWcKLSh0ZXJtaW5hdGVkKWgoYiltKHkpZihhKWgoc2VtaWNvbG9uLCloKGEpZShgKXAgRnMoJilwCi1GdCgnLCloKG9yKWcoYSlmKG5ld2xpbmUuKTI3NSA4NzkgeShXaGVuKWkoYSlpKGZ1bmN0aW9uKWYoaXMpZwotKGV4ZWN1dGVkLClpKHRoZSllKGFyZ3VtZW4pbSh0cyloKHRvKWcodGhlKWYoZnVuY3Rpb24pZyhiKXMoZWNvbWUpZwotKHRoZSloKHApcyhvc2l0aW9uYWwpZyhwYS0pMTUwIDk4OCB5KHJhbWV0ZXJzKTQyIGIoZHVyaW5nKWUoaXRzKWkKLShleGVjdXRpb24paChcKHNlZSlmKFNlY3Rpb24pZygzLjQuMSloKFtQKW0ob3NpdGlvbmFsKWgoUCltCi0oYXJhbWV0ZXJzXSwpaShwYWdlKWMoMTZcKS4pNzUgYihUaGUpMTUwIDEwOTggeShzcClzKGVjaWFsKTM3Ci1iKHBhcmFtZXRlcilmKGApcCBGcygjKXAgRnQoJylnKHRoYXQpaChleHBhbmRzKWUodG8paSh0aGUpZihuKW0odW0pbShiKQotcyhlcilmKG9mKWgocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMpZihpcylnKHVwKXMoZGF0ZWQpZih0bykxNTAKLTEyMDcgeShyZVwwMTVlY3QpaCh0aGUpZihjKW0oaGFuZ2UuKTU2IGIoU3ApcyhlY2lhbCkzNQotYihwYXJhbWV0ZXIpaCBGcygwKWYgRnQoaXMpZyh1bmMpbShoYW5nZWQuKTU0IGIoVGhlKTM1Ci1iKFwwMTRyc3QpZihlbGVtZW4pbSh0KWoob2YpZSh0aGUpZyBGcyhGVU5DTkFNRSkxNTAgMTMxNwoteSBGdCh2KS01IGIoYXJpYWJsZSkzMSBiKGlzKWcoc2V0KWYodG8paSh0aGUpZShuYW1lKWgob2YpZih0aGUpaAotKGZ1bmN0aW9uKWYod2hpbGUpZyh0aGUpaChmdW5jdGlvbilmKGlzKWcoZXhlY3V0aW5nLikyNzUKLTE0NTkgeShBbGwpMjUgYihvdGhlcilnKGFzcClzKGVjdHMpZyhvZilnKHRoZSlnKHNoZWxsKWcoZXhlY3V0aW9uKWgoZW4pCi1tKHZpcm9ubWVuKW0odClnKGFyZSlmKGlkZW4pbSh0aWNhbCloKGIpcyhldCltKHcpbShlZW4pZyhhKWYoZnVuY3Rpb24pZwotKGFuZCkxNTAgMTU2OCB5KGl0cykzNSBiKGNhbGxlcilpKHdpdGgpZCh0aGVzZSlpKGV4Y2VwdGlvbnM6KTUwCi1iKHRoZSkzNiBiIEZzKERFQlVHKWQgRnQoYW5kKWggRnMoUkVUVVJOKWcgRnQodHJhcHMpZyhhcmUpaShub3QpZgotKGluaGVyaXRlZClmKHVubGVzcyloKHRoZSkxNTAgMTY3OCB5KGZ1bmN0aW9uKTI2IGIoaGFzKWcoYilzKGVlbilmKGdpdikKLW0oZW4paSh0aGUpZyBGcyh0cmFjZSlkIEZ0KGF0dHJpYnV0ZSlqKHVzaW5nKWYodGhlKWcKLUZzKGRlY2xhcmUpZSBGdChidWlsdGluKWkob3IpZyh0aGUpaCBGcygtbylpKGZ1bmN0cmFjZSkxNTAKLTE3ODcgeSBGdChvcHRpb24pZihoYXMpZShiKXMoZWVuKWgoZW5hYmxlZClnKHdpdGgpZyh0aGUpZwotRnMoc2V0KWYgRnQoYnVpbHRpbiwpaShcKGluKWYod2hpYyltKGgpZihjYXNlKWooYWxsKWYoZnVuY3Rpb25zKWUKLShpbmhlcml0KWgodGhlKWcgRnMoREVCVUcpMTUwIDE4OTcgeSBGdChhbmQpMzMgYiBGcyhSRVRVUk4pZgotRnQodHJhcHNcKSwpaihhbmQpZSh0aGUpaCBGcyhFUlIpZiBGdCh0cmFwKWgoaXMpZyhub3QpZyhpbmhlcml0ZWQpZgotKHVubGVzcylnKHRoZSloIEZzKC1vKWMoZXJydHJhY2UpaCBGdChzaGVsbClqKG9wdGlvbikxNTAKLTIwMDcgeShoYXMpaChiKXMoZWVuKWYoZW5hYmxlZC4pNTUgYihTZWUpMzUgYihTZWN0aW9uKWgoNC4xKWcoW0JvdXJuZSlmCi0oU2hlbGwpZyhCdWlsdGluc10sKWkocGFnZSlmKDM1LClpKGZvciljKHRoZSlpKGRlc2NyaXB0aW9uKWYob2YpMTUwCi0yMTE2IHkodGhlKWMgRnModHJhcCllIEZ0KGJ1aWx0aW4uKTI3NSAyMjU4IHkoSWYpMzcgYih0aGUpZyhidWlsdGluKWcKLShjb21tYW5kKWggRnMocmV0dXJuKWQgRnQoaXMpaihleGVjdXRlZClnKGluKWcoYSlnKGZ1bmN0aW9uLCloKHRoZSllCi0oZnVuY3Rpb24paChjb21wbGV0ZXMpaChhbmQpMTUwIDIzNjcgeShleGVjdXRpb24pMjUgYihyZXN1bWVzKWUod2l0aCloCi0odGhlKWcobmV4dClnKGNvbW1hbmQpZihhZnRlcilpKHRoZSlmKGZ1bmN0aW9uKWYoY2FsbC4pNDAKLWIoQW4pbSh5KTI0IGIoY29tbWFuZClmKGFzc28pcyhjaWF0ZWQpMTUwIDI0NzcgeSh3aXRoKTM2Ci1iKHRoZSloIEZzKFJFVFVSTilkIEZ0KHRyYXApaShpcyloKGV4ZWN1dGVkKWcoYilzKGVmb3JlKWYoZXhlY3V0aW9uKWkKLShyZXN1bWVzLik1NyBiKFdoZW4pMzcgYihhKWYoZnVuY3Rpb24pZyhjb21wbGV0ZXMsKTE1MAotMjU4NiB5KHRoZSloKHYpLTUgYihhbHVlcykzOCBiKG9mKWYodGhlKWcocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMpZgotKGFuZClnKHRoZSlnKHNwKXMoZWNpYWwpaChwYXJhbWV0ZXIpZihgKXAgRnMoIylwIEZ0KCcpZyhhcmUpaChyZXN0b3JlZCkKLWYodG8paCh0aGUpMTUwIDI2OTYgeSh2KS01IGIoYWx1ZXMpMjYgYih0aGV5KWYoaGFkKWcocHJpb3IpZih0bylpKHRoZSlnCi0oZnVuY3Rpb24ncylmKGV4ZWN1dGlvbi4pNDAgYihJZikyNSBiKGEpaChuKW0odW1lcmljKWYoYXJndW1lbiltKHQpaAotKGlzKWYoZ2l2KW0oZW4paCh0bylnIEZzKHJldHVybilwIEZ0KCwpMTUwIDI4MDYgeSh0aGF0KWooaXMpZyh0aGUpZgotKGZ1bmN0aW9uJ3MpaChyZXR1cm4pZShzdGF0dXM7KWoob3RoZXJ3aXNlKWYodGhlKWYoZnVuY3Rpb24ncyloKHJldHVybikKLWUoc3RhdHVzKWkoaXMpZih0aGUpaChleGl0KWgoc3RhdHVzKTE1MCAyOTE1IHkob2YpaCh0aGUpZihsYXN0KWgKLShjb21tYW5kKWYoZXhlY3V0ZWQpaShiKXMoZWZvcmUpZSh0aGUpZyBGcyhyZXR1cm4pcCBGdCguKTI3NQotMzA1NyB5KFYpLTggYihhcmlhYmxlcykzMSBiKGxvKXMoY2FsKWcodG8pZih0aGUpZyhmdW5jdGlvbilmKG1hKW0oeSlpCi0oYilzKGUpZShkZWNsYXJlZCloKHdpdGgpZih0aGUpaCBGcyhsb2NhbClmIEZ0KGJ1aWx0aW4uKTQwCi1iKFRoZXNlKTI5IGIodiktNSBiKGFyaWFibGVzKTE1MCAzMTY2IHkoYXJlKTMxIGIodmlzaWJsZSlnKG9ubHkpZih0byloCi0odGhlKWcoZnVuY3Rpb24pZihhbmQpZyh0aGUpZyhjb21tYW5kcylnKGl0KWgoaW4pbSh2KW0ob2spbShlcy4pMjc1Ci0zMzA4IHkoRiktOCBiKHVuY3Rpb24pMzggYihuYW1lcylmKGFuZClnKGRlXDAxNG5pdGlvbnMpZyhtYSltKHkpaShiKXMKLShlKWUobGlzdGVkKWgod2l0aClmKHRoZSloKGApcCBGcygtZilwIEZ0KCcpZihvcHRpb24paCh0byloKHRoZSllCi1GcyhkZWNsYXJlKWYgRnQob3IpMTUwIDM0MTcgeSBGcyh0eXBlc2V0KWQgRnQoYnVpbHRpbiloKGNvbW1hbmRzKWgKLShcKHNlZSloKFNlY3Rpb24pZyg0LjIpZyhbQmFzaClmKEJ1aWx0aW5zXSwpaShwYWdlKWYoNDFcKS4pNTUKLWIoVGhlKTM1IGIoYClwIEZzKC1GKXAgRnQoJylnKG9wdGlvbilnKHRvKTE1MCAzNTI3IHkKLUZzKGRlY2xhcmUpZiBGdChvcilpIEZzKHR5cGVzZXQpZSBGdCh3aWxsKWkobGlzdCloKHRoZSlmKGZ1bmN0aW9uKWcKLShuYW1lcylnKG9ubHkpZyhcKGFuZClnKG9wdGlvbmFsbHkpaCh0aGUpZihzb3VyY2UpZyhcMDE0bGUpaChhbmQpMTUwCi0zNjM2IHkobGluZSljKG4pbSh1bSltKGIpcyhlciwpZyhpZilmKHRoZSloIEZzKGV4dGRlYnVnKWUKLUZ0KHNoZWxsKWkob3B0aW9uKWcoaXMpZyhlbmFibGVkXCkuKTQ5IGIoRiktOCBiKHVuY3Rpb25zKTMzCi1iKG1hKW0oeSloKGIpcyhlKWUoZXhwKXMob3J0ZWQpZyhzbyloKHRoYXQpMTUwIDM3NDYgeShzdWJzaGVsbHMpZgotKGF1dG9tYXRpY2FsbHkpMzcgYihoYSltKHYpbShlKWQodGhlbSlnKGRlXDAxNG5lZCllKHdpdGgpaCh0aGUpZyhgKXAKLUZzKC1mKXAgRnQoJyloKG9wdGlvbilnKHRvKWcodGhlKWYgRnMoZXhwb3J0KWYgRnQoYnVpbHRpbiloKFwoc2VlKTE1MAotMzg1NiB5KFNlY3Rpb24pZyg0LjEpZyhbQm91cm5lKWYoU2hlbGwpZyhCdWlsdGluc10sKWkocGFnZSlmKDM1XCkuKTQ3Ci1iKE5vdGUpMzMgYih0aGF0KWcoc2hlbGwpZihmdW5jdGlvbnMpZyhhbmQpZih2KS01IGIoYXJpYWJsZXMpMzMKLWIod2l0aCkxNTAgMzk2NSB5KHRoZSlkKHNhbWUpZyhuYW1lKWcobWEpbSh5KWcocmVzdWx0KWcoaW4pZyhtKW0KLSh1bHRpcGxlKWcoaWRlbiltKHRpY2FsbHktbmFtZWQpaShlbiltKHRyaWVzKWYoaW4pZSh0aGUpaChlbiltCi0odmlyb25tZW4pbSh0KWcocGFzc2VkKTE1MCA0MDc1IHkodG8paCh0aGUpZyhzaGVsbCdzKWYoYyltKGhpbGRyZW4uKTQxCi1iKENhcmUpMzAgYihzaG91bGQpZyhiKXMoZSlmKHRhayltKGVuKWooaW4pZShjYXNlcyloKHdoZXJlKWYodGhpcylnKG1hKQotbSh5KWgoY2F1c2UpZyhhKWcocHJvYmxlbS4pMjc1IDQyMTYgeShGKS04IGIodW5jdGlvbnMpMzAKLWIobWEpbSh5KWgoYilzKGUpZihyZWN1cnNpdiltKGUuKTQxIGIoTm8pMzEgYihsaW1pdClnKGlzKWcocGxhY2VkKWcob24pCi1mKHRoZSlnKG4pbSh1bSltKGIpcyhlcilnKG9mKWcocmVjdXJzaXYpbShlKWgoY2FsbHMuKTE1MAotNDQ1OSB5IEZyKDMuNCk2OCBiKFNoZWxsKTQ1IGIoUClsKGFyYW1ldGVycykxNTAgNDYxOQoteSBGdChBKTIzIGIgRnEocGFyYW1ldGVyKTMxIGIgRnQoaXMpMjMgYihhbilnKGVuKW0odGl0KW0oeSlpKHRoYXQpZgotKHN0b3JlcylnKHYpLTUgYihhbHVlcy4pMzkgYihJdCkyMyBiKGNhbiloKGIpcyhlKWYoYSlnCi1GcyhuYW1lKXAgRnQoLCloKGEpZyhuKW0odW0pbShiKXMoZXIsKWYob3IpaChvbmUpZihvZiloKHRoZSlmKHNwKXMKLShlY2lhbCkxNTAgNDcyOCB5KGMpbShoYXJhY3RlcnMpaShsaXN0ZWQpZihiKXMoZWxvKW0ody4pMzkKLWIoQSkyNCBiIEZxKHYpLTUgYihhcmlhYmxlKTI5IGIgRnQoaXMpMjQgYihhKWcocGFyYW1ldGVyKWcoZGVub3RlZClmKGIpCi1tKHkpaChhKWcgRnMobmFtZSlwIEZ0KC4pMzcgYihBKTI0IGIodiktNSBiKGFyaWFibGUpMjQKLWIoaGFzKWYoYSloIEZxKHYpLTUgYihhbHVlKTE1MCA0ODM4IHkgRnQoYW5kKTMzIGIoemVybylpKG9yKWUobW9yZSloCi1GcShhdHRyaWJ1dGVzKXQgRnQoLik1MSBiKEEpbSh0dHJpYnV0ZXMpMzQgYihhcmUpZyhhc3NpZ25lZClnKHVzaW5nKWYKLSh0aGUpaCBGcyhkZWNsYXJlKWUgRnQoYnVpbHRpbiloKGNvbW1hbmQpMTUwIDQ5NDcgeShcKHNlZSllKHRoZSlnCi0oZGVzY3JpcHRpb24pZihvZiloKHRoZSlmIEZzKGRlY2xhcmUpZiBGdChidWlsdGluKWgoaW4pZyhTZWN0aW9uKWgoNC4yKQotZyhbQmFzaClnKEJ1aWx0aW5zXSwpZyhwYWdlKWcoNDFcKS4pMjc1IDUwODkgeShBKWQocGFyYW1ldGVyKWgoaXMpZwotKHNldClnKGlmKWYoaXQpaChoYXMpZihiKXMoZWVuKWcoYXNzaWduZWQpaChhKWcodiktNQotYihhbHVlLik0MCBiKFRoZSkyOCBiKG4pbSh1bGwpaChzdHJpbmcpZihpcyloKGEpZyh2KS01Ci1iKGFsaWQpMjggYih2KS01IGIoYWx1ZS4pNDEgYihPbmNlKTE1MCA1MTk4IHkoYSkzMSBiKHYpLTUKLWIoYXJpYWJsZSkzMSBiKGlzKWYoc2V0LClpKGl0KWUobWEpbSh5KWgoYilzKGUpZih1bnNldClnKG9ubHkpaChiKW0oeSlmCi0odXNpbmcpZyh0aGUpZyBGcyh1bnNldClmIEZ0KGJ1aWx0aW4paChjb21tYW5kLikyNzUgNTM0MAoteShBKWcodiktNSBiKGFyaWFibGUpMzEgYihtYSltKHkpZyhiKXMoZSlmKGFzc2lnbmVkKWcodG8paShiKW0oeSllKGEpaAotKHN0YXRlbWVuKW0odCloKG9mKWUodGhlKWgoZm9ybSlwIGVvcCBlbmQKK2IoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigxNSkzOTAgMjk5Cit5IEZzKGNhdCk0NyBiKGZpbGUpZyh8KWcocGFyYWxsZWwpZigtayloKGVjaG8pZihwcmVmaXhfc3RyaW5nKTE1MAorNDMyIHkgRnQoVGhlKTMwIGIoYClwIEZzKC1rKXAgRnQoJylnKG9wdGlvbiloKGlzKWYocmVxdWlyZWQpZyh0byloCisocHJlc2VydiltKGUpZyh0aGUpZihsaW5lcycpaChvcmRlci4pMjc1IDU2NSB5KFNpbWlsYXJseSktOAorYigsKTMxIGIoeSltKG91KWcoY2FuKWYoYXBwKXMoZW5kKWYoYSlpKHNwKXMoZWNpXDAxNGVkKWUoc3RyaW5nKWkodG8pZworKGVhYyltKGgpZyhsaW5lKWcoaW4pZihhKWgodGV4dClnKFwwMTRsZTopMzkwIDY5NyB5IEZzKGNhdCk0NworYihmaWxlKWcofClnKHBhcmFsbGVsKWYoLWspaChlY2hvKWYoe30paShhcHBlbmRfc3RyaW5nKTI3NQorODMwIHkgRnQoWSktOCBiKG91KTM0IGIoY2FuKWcodXNlKWYoUCltKGFyYWxsZWwpaih0byllKG1vKW0odiltKGUpaAorKFwwMTRsZXMpZihmcm9tKWYodGhlKWgoY3VycmVuKW0odClmKGRpcmVjdG9yeSloKHdoZW4pZih0aGUpaChuKW0odW0pbQorKGIpcyhlcillKG9mKWkoXDAxNGxlcykxNTAgOTQwIHkoaXMpYyh0bylzKG8paShsYXJnZSlmKHRvKWcocHJvKXMoY2VzcykKK2Yod2l0aClnKG9uZSloIEZzKG12KWYgRnQoaW4pbSh2KW0obylzKGNhdGlvbjopMzkwIDEwNzMKK3kgRnMobHMpNDcgYih8KWgocGFyYWxsZWwpZChtdilpKHt9KWgoZGVzdGRpcikyNzUgMTIwNQoreSBGdChBcykzNSBiKHkpbShvdSloKGNhbilmKHNlZSwpaih0aGUpZCBGcyh7fSlnIEZ0KGlzKWcocmVwbGFjZWQpaAorKHdpdGgpZihlYWMpbShoKWkobGluZSlmKHJlYWQpZihmcm9tKWcoc3RhbmRhcmQpZihpbnB1dC4pNTUKK2IoVGhpcykzNSBiKHdpbGwpMTUwIDEzMTUgeShydW4pZihhcyloKG1hbiltKHkpZyBGcyhtdilnCitGdChjb21tYW5kcylnKGFzKWcodGhlcmUpaChhcmUpZihcMDE0bGVzKWcoaW4pZyh0aGUpaChjdXJyZW4pbSh0KWYKKyhkaXJlY3RvcnkpLTggYiguKTU2IGIoWSktOCBiKG91KTM1IGIoY2FuKWgoZW0pbSh1bGF0ZSloKGEpMTUwCisxNDI1IHkocGFyYWxsZWwpMzEgYiBGcyh4YXJncyllIEZ0KGIpbSh5KWkoYWRkaW5nKWYodGhlKWcoYClwCitGcygtWClwIEZ0KCcpZyhvcHRpb246KTM5MCAxNTU3IHkgRnMobHMpNDcgYih8KWgocGFyYWxsZWwpZCgtWClpKG12KWgKKyh7fSlmKGRlc3RkaXIpMjc1IDE2OTAgeSBGdChHTlUpMzEgYihQKW0oYXJhbGxlbClpKGNhbillKHJlcGxhY2UpaAorKGNlcnRhaW4pZyhjb21tb24pZyhpZGlvbXMpZih0aGF0KWcob3ApcyhlcmF0ZSloKG9uKWYobGluZXMpZyhyZWFkKWcKKyhmcm9tKWYoYSlpKFwwMTRsZSkxNTAgMTgwMCB5KFwoaW4pZSh0aGlzKWgoY2FzZSwpZyhcMDE0bGVuYW1lc1wpOikzOTAKKzE5MzMgeSBGcyhmb3IpNDcgYih4KWcoaW4paCgkXChjYXQpZShsaXN0XCk7KWcoZG8pMzkwCisyMDQyIHkoZG8tc29tZXRoaW5nMSllKCR4KWooY29uZmlnLSR4KTM5MCAyMTUyIHkoZG8tc29tZXRoaW5nMilkKDwpaworKCR4KTM5MCAyMjYyIHkoZG9uZSlmKHwpZyhwcm9jZXNzLW91dHB1dCkxNTAgMjM5NCB5IEZ0KHdpdGgpMzAKK2IoYSloKG1vcmUpZihjb21wYWN0KWkoc3luKW0odGF4KWYocmVtaW5pc2NlbiltKHQpZyhvZilnKGxhbSltKGIpcworKGRhczopMzkwIDI1MjcgeSBGcyhjYXQpNDcgYihsaXN0KWcofClnKHBhcmFsbGVsKWYoImRvLXNvbWV0aGluZzEpZCh7fSkKKzQ4IGIoY29uZmlnLXt9KWQoOylpKGRvLXNvbWV0aGluZzIpZSg8KWkoe30iKWcofClnKHByb2Nlc3Mtb3V0cHV0KTI3NQorMjY2MCB5IEZ0KFApbShhcmFsbGVsKTMxIGIocHJvKW0odmlkZXMpZShhKWgoYnVpbHQtaW4pZyhtZWMpbShoYW5pc20pZworKHRvKWcocmVtbyltKHYpbShlKWgoXDAxNGxlbmFtZSllKGV4dGVuc2lvbnMsKWkod2hpYyltKGgpZShsZW5kcylnCisoaXRzZWxmKTE1MCAyNzcwIHkodG8paShiYXRjKW0oaClnKFwwMTRsZSlnKHRyYW5zZm9ybWF0aW9ucylmKG9yKWcKKyhyZW5hbWluZzopMzkwIDI5MDIgeSBGcyhscyk0NyBiKCouZ3opZyh8KWcocGFyYWxsZWwpZigtaiswKWcoInpjYXQpaAorKHt9KWcofClnKGJ6aXAyKWcoPnsufS5iejIpZSgmJilqKHJtKWYoe30iKTE1MCAzMDM1IHkKK0Z0KFRoaXMpMjggYih3aWxsKWkocmVjb21wcmVzcyllKGFsbClpKFwwMTRsZXMpZihpbilnKHRoZSlnKGN1cnJlbiltKHQpCitnKGRpcmVjdG9yeSlnKHdpdGgpZyhuYW1lcylnKGVuZGluZylmKGluKWgoLmd6KWgodXNpbmcpZihiemlwMiwpMTUwCiszMTQ1IHkocnVubmluZylnKG9uZSloKGpvYilnKHApcyhlcilnKENQVSlnKFwoLWopcCBGcygrKXAKK0Z0KDBcKSloKGluKWYocGFyYWxsZWwuKTI3NSAzMjc4IHkoSWYpMjQgYihhKWkoY29tbWFuZClmKGdlbmVyYXRlcyloCisob3V0cHV0LClnKHkpbShvdSlnKG1hKW0oeSlmKHcpbShhbiltKHQpaCh0bylnKHByZXNlcnYpbShlKWcodGhlKWYKKyhpbnB1dClmKG9yZGVyKWgoaW4pZyh0aGUpZyhvdXRwdXQuKTE1MCAzMzg3IHkoRiktOCBiKG9yKTMxCitiKGluc3RhbmNlLClnKHRoZSlnKGZvbGxvKW0od2luZyloKGNvbW1hbmQpMzkwIDM1MjAgeQorRnMoeyk0NyBiKGVjaG8pZyhmb3NzLm9yZy5teSllKDspaShlY2hvKWcoZGViaWFuLm9yZzspZShlY2hvKWgKKyhmcmVlbmV0cHJvamVjdC5vcmc7KWQofSlrKHwpaChwYXJhbGxlbClkKHRyYWNlcm91dGUpMTUwCiszNjUzIHkgRnQod2lsbCkyOCBiKGRpc3BsYSltKHkpZyhhcylmKG91dHB1dClnKHRoZSloKHRyYWNlcm91dGUpaChpbiltCisodiltKG8pcyhjYXRpb24paCh0aGF0KWUoXDAxNG5pc2hlcyllKFwwMTRyc3QuKTM5IGIoVXNpbmcpMjgKK2IodGhlKWcoYClwIEZzKC1rKXAgRnQoJylmKG9wdGlvbiwpaShhcykxNTAgMzc2MyB5KHcpbShlKWkoc2EpbSh3KWcoYWIpCitzKG8pbSh2KW0oZSkzOTAgMzg5NSB5IEZzKHspNDcgYihlY2hvKWcoZm9zcy5vcmcubXkpZSg7KWkoZWNobylnCisoZGViaWFuLm9yZzspZShlY2hvKWgoZnJlZW5ldHByb2plY3Qub3JnOylkKH0payh8KWgocGFyYWxsZWwpZCgtaylpCisodHJhY2Vyb3V0ZSkxNTAgNDAyOCB5IEZ0KHdpbGwpMzEgYihlbnN1cmUpZSh0aGF0KWkodGhlKWcob3V0cHV0KWYob2YpZworRnModHJhY2Vyb3V0ZSllKGZvc3Mub3JnLm15KWYgRnQoaXMpayhkaXNwbGEpbSh5KW0oZWQpZyhcMDE0cnN0LikxNTAKKzQyNTcgeSBGcigzLjMpNjggYihTaGVsbCk0NSBiKEYpLTExIGIodW5jdGlvbnMpMTUwIDQ0MTcKK3kgRnQoU2hlbGwpMzUgYihmdW5jdGlvbnMpaChhcmUpZyhhKWcodyltKGEpbSh5KWcodG8paChncm91cCllCisoY29tbWFuZHMpZyhmb3IpaChsYXRlcilnKGV4ZWN1dGlvbiloKHVzaW5nKWUoYSloKHNpbmdsZSlnKG5hbWUpZyhmb3IpCisxNTAgNDUyNiB5KHRoZSlmKGdyb3VwLik1NSBiKFRoZXkpMzUgYihhcmUpZyhleGVjdXRlZCloKGp1c3QpZihsaWspbShlKQoraChhKWcgRnMoIilwIEZ0KHJlZ3VsYXIpcCBGcygiKWYgRnQoY29tbWFuZC4pNTQgYihXaGVuKTM1CitiKHRoZSloKG5hbWUpZihvZilnKGEpaChzaGVsbCkxNTAgNDYzNiB5KGZ1bmN0aW9uKWooaXMpZyh1c2VkKWYoYXMpaChhKQoraChzaW1wbGUpZihjb21tYW5kKWcobmFtZSwpaSh0aGUpZShsaXN0KWgob2YpZihjb21tYW5kcylnKGFzc28pcworKGNpYXRlZClpKHdpdGgpZCh0aGF0KTE1MCA0NzQ2IHkoZnVuY3Rpb24pMjUgYihuYW1lKWgoaXMpZyhleGVjdXRlZC4pNDAKK2IoU2hlbGwpMjUgYihmdW5jdGlvbnMpZyhhcmUpaShleGVjdXRlZClmKGluKWYodGhlKWgoY3VycmVuKW0odClnCisoc2hlbGwpZyhjb24pbSh0ZXh0OylqKG5vKWMobmV3KTE1MCA0ODU1IHkocHJvKXMoY2VzcykzMAorYihpcylnKGNyZWF0ZWQpaSh0bylmKGluKW0odGVycHJldClnKHRoZW0uKTI3NSA0OTg4IHkoRiktOAorYih1bmN0aW9ucykzMCBiKGFyZSloKGRlY2xhcmVkKWcodXNpbmcpZih0aGlzKWcoc3luKW0odGF4OikzOTAKKzUxMjEgeSBGaShuYW1lKTU3IGIgRnMoXChcKSk0NyBiIEZpKGNvbXBvdW5kLWNvbW1hbmQpNTQKK2IgRnMoWyk0OCBiIEZpKHJlZGlyZWN0aW9ucyk1NSBiIEZzKF0pMzkwIDUyMzAgeShvcilwCitlb3AgZW5kCiAlJVBhZ2U6IDE2IDIyCiBUZVhEaWN0IGJlZ2luIDE2IDIxIGJvcCAxNTAgLTExNiBhIEZ0KDE2KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkzOTAgMjk5IHkgRmkobmFtZSkxMSBiIEZzKD1bKXAKLUZpKHZhbHVlKWcgRnMoXSkxNTAgNDM1IHkgRnQoSWYpMzQgYiBGcSh2KS01IGIoYWx1ZSk0MAotYiBGdChpcykzNSBiKG5vdClnKGdpdiltKGVuLCloKHRoZSlmKHYpLTUgYihhcmlhYmxlKTM1Ci1iKGlzKWcoYXNzaWduZWQpZyh0aGUpZihuKW0odWxsKWgoc3RyaW5nLik1MyBiKEFsbCkzNQotYiBGcSh2KS01IGIoYWx1ZSk1IGIgRnQocykzNSBiKHVuZGVyZ28pZih0aWxkZSloKGV4LSkxNTAKLTU0NCB5KHBhbnNpb24sKWgocGFyYW1ldGVyKWYoYW5kKWYodiktNSBiKGFyaWFibGUpMzYKLWIoZXhwYW5zaW9uLClmKGNvbW1hbmQpZyhzdWJzdGl0dXRpb24sKWgoYXJpdGhtZXRpYylnKGV4cGFuc2lvbiwpMTUwCi02NTQgeShhbmQpayhxdW90ZSloKHJlbW8pbSh2KS01IGIoYWwpNDIgYihcKGRldGFpbGVkKWgoYilzKGVsbyltKHdcKS4pCi03MiBiKElmKTQwIGIodGhlKWgodiktNSBiKGFyaWFibGUpNDEgYihoYXMpZyhpdHMpZyBGcyhpbnRlZ2VyKWUKLUZ0KGF0dHJpYnV0ZSlpKHNldCwpaih0aGVuKTE1MCA3NjMgeSBGcSh2KS01IGIoYWx1ZSkzOAotYiBGdChpcykzMyBiKGV2KS01IGIoYWx1YXRlZCkzNCBiKGFzKWYoYW4pZyhhcml0aG1ldGljKWgoZXhwcmVzc2lvbilmCi0oZXYpbShlbiloKGlmKWUodGhlKWggRnMoJFwoXCguLi4pbyhcKVwpKWYgRnQoZXhwYW5zaW9uKWgoaXMpZyhub3QpZwotKHVzZWQpMTUwIDg3MyB5KFwoc2VlKWUoU2VjdGlvbilnKDMuNS41KWkoW0FyaXRobWV0aWMpZShFeHBhbnNpb25dLClmCi0ocGFnZSloKDIzXCkuKTQyIGIoVyktOCBiKG9yZCkzMSBiKHNwbGl0dGluZylnKGlzKWcobm90KWYocClzCi0oZXJmb3JtZWQsKWYod2l0aCkxNTAgOTgzIHkodGhlKTM1IGIoZXhjZXB0aW9uKWgob2YpZgotRnMoIiRAIilmIEZ0KGFzKWgoZXhwbGFpbmVkKWcoYilzKGVsbyltKHcuKTU0IGIoRmlsZW5hbWUpMzYKLWIoZXhwYW5zaW9uKWYoaXMpZyhub3QpZyhwKXMoZXJmb3JtZWQuKTUzIGIoQXNzaWduLSkxNTAKLTEwOTIgeShtZW4pbSh0KTMzIGIoc3RhdGVtZW4pbSh0cyloKG1hKW0oeSlmKGFsc28pZyhhcHApcyhlYXIpZihhcylnCi0oYXJndW1lbiltKHRzKWgodG8pZyh0aGUpZyBGcyhhbGlhcylwIEZ0KCwpZSBGcyhkZWNsYXJlKXAKLUZ0KCwpZyBGcyh0eXBlc2V0KXAgRnQoLClnIEZzKGV4cG9ydClwIEZ0KCwpMTUwIDEyMDIKLXkgRnMocmVhZG9ubHkpcCBGdCgsKWQoYW5kKWkgRnMobG9jYWwpZiBGdChidWlsdGluKWgoY29tbWFuZHMuKTI3NQotMTMzOCB5KEluKWYodGhlKWgoY29uKW0odGV4dClpKHdoZXJlKWQoYW4paChhc3NpZ25tZW4pbSh0KWgoc3RhdGVtZW4pbQotKHQpaChpcyllKGFzc2lnbmluZylnKGEpaCh2KS01IGIoYWx1ZSkzMCBiKHRvKWgoYSlmKHNoZWxsKWcodiktNQotYihhcmlhYmxlKTMxIGIob3IpMTUwIDE0NDcgeShhcnJhKW0oeSlmKGluZGV4KWcoXChzZWUpaChTZWN0aW9uKWcoNi43KWcKLShbQXJyYSltKHlzXSwpZyhwYWdlKWcoODBcKSwpZyh0aGUpZihgKXAgRnMoKz0pcCBGdCgnKWcob3ApcyhlcmF0b3IpZwotKGNhbiloKGIpcyhlKWUodXNlZClnKHRvKWkoYXBwKXMoZW5kKWQodG8pMTUwIDE1NTcgeShvcikzNgotYihhZGQpZyh0byloKHRoZSlmKHYpLTUgYihhcmlhYmxlJ3MpMzcgYihwcmV2aW91cylmKHYpLTUKLWIoYWx1ZS4pNTkgYihXaGVuKTM2IGIoYClwIEZzKCs9KXAgRnQoJylnKGlzKWcoYXBwbGllZClnKHRvKWgoYSlnKHYpLTUKLWIoYXJpYWJsZSkzNyBiKGZvcilmKHdoaWMpbShoKWcodGhlKTE1MCAxNjY2IHkoaW4pbSh0ZWdlcilrKGF0dHJpYnV0ZSllCi0oaGFzKWcoYilzKGVlbilnKHNldCwpaiBGcSh2KS01IGIoYWx1ZSk0NCBiIEZ0KGlzKTM4Ci1iKGV2KS01IGIoYWx1YXRlZCkzOSBiKGFzKWcoYW4pZihhcml0aG1ldGljKWgoZXhwcmVzc2lvbilmKGFuZClnKGFkZGVkKQotMTUwIDE3NzYgeSh0byllKHRoZSlmKHYpLTUgYihhcmlhYmxlJ3MpMzYgYihjdXJyZW4pbSh0KWYodiktNQotYihhbHVlLCkzNyBiKHdoaWMpbShoKWUoaXMpZyhhbHNvKWgoZXYpLTUgYihhbHVhdGVkLik1NgotYihXaGVuKTM1IGIoYClwIEZzKCs9KXAgRnQoJylnKGlzKWgoYXBwbGllZClmKHRvKWcoYW4pZyhhcnJhKW0oeSkxNTAKLTE4ODYgeSh2KS01IGIoYXJpYWJsZSkyNiBiKHVzaW5nKWUoY29tcClzKG91bmQpZihhc3NpZ25tZW4pbSh0KWooXChzZWUpCi1mKFNlY3Rpb24paCg2LjcpZihbQXJyYSltKHlzXSwpaShwYWdlKWYoODBcKSwpaCh0aGUpZSh2KS01Ci1iKGFyaWFibGUncykyNSBiKHYpLTUgYihhbHVlKTE1MCAxOTk1IHkoaXMpMzIgYihub3QpZih1bnNldCloKFwoYXMpZwotKGl0KWcoaXMpZih3aGVuKWcodXNpbmcpZyhgKXAgRnMoPSlwIEZ0KCdcKSwpaShhbmQpZShuZXcpZyh2KS01Ci1iKGFsdWVzKTMyIGIoYXJlKWcoYXBwKXMoZW5kZWQpZCh0bylrKHRoZSlmKGFycmEpbSh5KWcoYilzKGVnaW5uaW5nKTE1MAotMjEwNSB5KGF0KTI3IGIob25lKWYoZ3JlYXRlcilpKHRoYW4pZSh0aGUpZyhhcnJhKW0oeSdzKWgobWF4aW0pbSh1bSlmCi0oaW5kZXgpZyhcKGZvcilnKGluZGV4ZWQpZyhhcnJhKW0oeXNcKSwpaShvcillKGFkZGVkKWcoYXMpZyhhZGRpdGlvbmFsKQotMTUwIDIyMTQgeShrKW0oZXktdiktNSBiKGFsdWUpMzUgYihwYWlycyllKGluKWcoYW4pZyhhc3NvKXMoY2lhdGl2KW0oZSkKLWooYXJyYSltKHkpLTggYiguKTUxIGIoV2hlbikzMyBiKGFwcGxpZWQpZyh0byloKGEpZyhzdHJpbmctdiktNQotYihhbHVlZCkzNCBiKHYpLTUgYihhcmlhYmxlLCkzNSBiIEZxKHYpLTUgYihhbHVlKTM5IGIKLUZ0KGlzKTE1MCAyMzI0IHkoZXhwYW5kZWQpMzAgYihhbmQpZihhcHApcyhlbmRlZClnKHRvKWkodGhlKWcodiktNQotYihhcmlhYmxlJ3MpMzEgYih2KS01IGIoYWx1ZS4pMTUwIDI1MjUgeSBGaigzLjQuMSk2MwotYihQKW0ob3NpdGlvbmFsKTQxIGIoUCltKGFyYW1ldGVycykxNTAgMjY3MSB5IEZ0KEEpMjgKLWIgRnEocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcikzNSBiIEZ0KGlzKTI4IGIoYSlnKHBhcmFtZXRlcilnKGRlbm90ZWQpCi1nKGIpbSh5KWcob25lKWcob3IpZyhtb3JlKWcoZGlnaXRzLCloKG90aGVyKWcodGhhbillKHRoZSloKHNpbmdsZSkxNTAKLTI3ODEgeShkaWdpdCkzNCBiIEZzKDApcCBGdCguKTQ4IGIoUCltKG9zaXRpb25hbCkzNiBiKHBhcmFtZXRlcnMpZChhcmUpCi1nKGFzc2lnbmVkKWgoZnJvbSllKHRoZSlpKHNoZWxsJ3MpZihhcmd1bWVuKW0odHMpZyh3aGVuKWYoaXQpaShpcylmKGluKQotbSh2KW0ob2spbShlZCwpMTUwIDI4OTEgeShhbmQpMzggYihtYSltKHkpaShiKXMoZSllKHJlYXNzaWduZWQpaSh1c2luZykKLWUodGhlKWggRnMoc2V0KWcgRnQoYnVpbHRpbilmKGNvbW1hbmQuKTY3IGIoUCltKG9zaXRpb25hbCk0MQotYihwYXJhbWV0ZXIpZSBGcyhOKWcgRnQobWEpbSh5KWgoYilzKGUpMTUwIDMwMDAgeShyZWZlcmVuY2VkKTM0Ci1iKGFzKWggRnMoJHtOfSlwIEZ0KCwpZyhvcilmKGFzKWggRnMoJE4pZSBGdCh3aGVuKWggRnMoTilnCi1GdChjb25zaXN0cyloKG9mKWYoYSloKHNpbmdsZSlnKGRpZ2l0Lik1NCBiKFApbShvc2l0aW9uYWwpMzcKLWIocGFyYW1ldGVycylkKG1hKW0oeSkxNTAgMzExMCB5KG5vdClqKGIpcyhlKWYoYXNzaWduZWQpaCh0bylnKHdpdGgpZgotKGFzc2lnbm1lbiltKHQpaShzdGF0ZW1lbiltKHRzLik2MSBiKFRoZSkzNiBiIEZzKHNldClnCi1GdChhbmQpZyBGcyhzaGlmdClmIEZ0KGJ1aWx0aW5zKWgoYXJlKWgodXNlZClmKHRvKTE1MAotMzIxOSB5KHNldClrKGFuZClmKHVuc2V0KWYodGhlbSlpKFwoc2VlKWcoQ2hhcHRlcilmKDQpZyhbU2hlbGwpaAotKEJ1aWx0aW4pZyhDb21tYW5kc10sKWgocGFnZSlmKDM1XCkuKTY4IGIoVGhlKTM5IGIocClzKG9zaXRpb25hbCkxNTAKLTMzMjkgeShwYXJhbWV0ZXJzKTQ0IGIoYXJlKWcodGVtcClzKG9yYXJpbHkpZyhyZXBsYWNlZCloKHdoZW4pZShhKWgKLShzaGVsbClnKGZ1bmN0aW9uKWcoaXMpZyhleGVjdXRlZClnKFwoc2VlKWgoU2VjdGlvbilnKDMuMykxNTAKLTM0MzkgeShbU2hlbGwpMzAgYihGKS04IGIodW5jdGlvbnNdLCkzMiBiKHBhZ2UpZigxNFwpLikyNzUKLTM1NzQgeShXaGVuKWMoYSlpKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXIpZyhjb25zaXN0aW5nKWYob2YpaChtb3JlKWYKLSh0aGFuKWcoYSlnKHNpbmdsZSloKGRpZ2l0KWcoaXMpZihleHBhbmRlZCwpZyhpdCloKG0pbSh1c3QpMTUwCi0zNjg0IHkoYilzKGUpaChlbmNsb3NlZCloKGluKWYoYnJhY2VzLikxNTAgMzg4NSB5IEZqKDMuNC4yKTYzCi1iKFNwKXMoZWNpYWwpNDEgYihQKW0oYXJhbWV0ZXJzKTE1MCA0MDMyIHkgRnQoVGhlKWQoc2hlbGwpZyh0cmVhdHMpaAotKHNldiltKGVyYWwpZyhwYXJhbWV0ZXJzKWYoc3ApcyhlY2lhbGx5KS04IGIoLik2NSBiKFRoZXNlKTM4Ci1iKHBhcmFtZXRlcnMpaChtYSltKHkpZihvbmx5KWcoYilzKGUpZyhyZWZlcmVuY2VkOykxNTAKLTQxNDEgeShhc3NpZ25tZW4pbSh0KTMxIGIodG8pZyh0aGVtKWcoaXMpZihub3QpaChhbGxvKW0odyltKGVkLikxNTAKLTQzMDMgeSBGcygqKTQzMiBiIEZ0KEV4cGFuZHMpMjkgYih0byloKHRoZSloKHApcyhvc2l0aW9uYWwpZgotKHBhcmFtZXRlcnMsKWgoc3RhcnRpbmcpZyhmcm9tKWUob25lLik0MSBiKFdoZW4pMzAgYih0aGUpZyhleHBhbnNpb24pCi02MzAgNDQxMiB5KG8pcyhjY3VycyllKHdpdGhpbilmKGRvdWJsZSloKHF1b3RlcywpaChpdClnKGV4cGFuZHMpZSh0bylpCi0oYSlmKHNpbmdsZSloKHcpbShvcmQpZih3aXRoKWcodGhlKWcodiktNSBiKGFsdWUpMjkgYihvZilmKGVhYyltKGgpNjMwCi00NTIyIHkocGFyYW1ldGVyKWkoc2VwYXJhdGVkKWcoYiltKHkpZih0aGUpZyhcMDE0cnN0KWcoYyltKGhhcmFjdGVyKWkKLShvZillKHRoZSloIEZzKElGUyllIEZ0KHNwKXMoZWNpYWwpaSh2KS01IGIoYXJpYWJsZS4pNDEKLWIoVGhhdCkzMCBiKGlzLCk2MzAgNDYzMSB5IEZzKCIkKiIpaCBGdChpcylpKGVxdWl2KS01Ci1iKGFsZW4pbSh0KTMzIGIodG8paCBGcygiJDEpcCBGaShjKTExIGIgRnMoJDIpcCBGaShjKWcKLUZzKC4uLilsKCIpcCBGdCgsKTMzIGIod2hlcmUpZiBGcShjKTM4IGIgRnQoaXMpMzIgYih0aGUpaChcMDE0cnN0KWUoYyltCi0oaGFyYWN0ZXIpaihvZilmKHRoZSlmKHYpLTUgYihhbHVlKTYzMCA0NzQxIHkob2YpMzAgYih0aGUpZwotRnMoSUZTKWcgRnQodiktNSBiKGFyaWFibGUuKTQxIGIoSWYpMzAgYiBGcyhJRlMpZiBGdChpcyloKHVuc2V0LClnKHRoZSkKLWcocGFyYW1ldGVycylnKGFyZSloKHNlcGFyYXRlZClmKGIpbSh5KWcoc3BhY2VzLik0MSBiKElmKTYzMAotNDg1MCB5IEZzKElGUykyOSBiIEZ0KGlzKWkobiltKHVsbCwpZih0aGUpaChwYXJhbWV0ZXJzKWcoYXJlKWYoam9pbmVkKWgKLSh3aXRob3V0KWYoaW4pbSh0ZXJ2KW0oZW5pbmcpaShzZXBhcmF0b3JzLikxNTAgNTAxMSB5Ci1GcyhAKTQzMiBiIEZ0KEV4cGFuZHMpMjkgYih0byloKHRoZSloKHApcyhvc2l0aW9uYWwpZihwYXJhbWV0ZXJzLCloCi0oc3RhcnRpbmcpZyhmcm9tKWUob25lLik0MSBiKFdoZW4pMzAgYih0aGUpZyhleHBhbnNpb24pNjMwCi01MTIxIHkobylzKGNjdXJzKWMod2l0aGluKWcoZG91YmxlKWYocXVvdGVzLClqKGVhYyltKGgpZihwYXJhbWV0ZXIpZwotKGV4cGFuZHMpZSh0bylpKGEpZyhzZXBhcmF0ZSlnKHcpbShvcmQuKTM5IGIoVGhhdCk2MzAKLTUyMzAgeShpcywpMjkgYiBGcygiJEAiKWUgRnQoaXMpaShlcXVpdiktNSBiKGFsZW4pbSh0KTMwCi1iKHRvKWYgRnMoIiQxIilnKCIkMiIpaCguLi4pbyBGdCguKTQwIGIoSWYpMjggYih0aGUpZyhkb3VibGUtcXVvdGVkKWgKLShleHBhbnNpb24pZihvKXMoY2N1cnMpNjMwIDUzNDAgeSh3aXRoaW4pZChhKWgodyltKG9yZCwpZyh0aGUpZwotKGV4cGFuc2lvbilmKG9mKWgodGhlKWcoXDAxNHJzdClmKHBhcmFtZXRlciloKGlzKWYoam9pbmVkKWgod2l0aClmKHRoZSkKLWgoYilzKGVnaW5uaW5nKXAgZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMzkwIDI5OSB5IEZzKGZ1bmN0aW9uKTQ2IGIgRmkobmFtZSk1NworYiBGcyhbXChcKV0pNDYgYiBGaShjb21wb3VuZC1jb21tYW5kKTU0IGIgRnMoWyk0OCBiIEZpKHJlZGlyZWN0aW9ucyk1NQorYiBGcyhdKTI3NSA0MzAgeSBGdChUaGlzKTMxIGIoZGVcMDE0bmVzKWgoYSlnKHNoZWxsKWgoZnVuY3Rpb24pZihuYW1lZCkKK2cgRnEobmFtZSk1IGIgRnQoLik0NyBiKFRoZSkzMiBiKHJlc2VydiltKGVkKWgodyltKG9yZClmCitGcyhmdW5jdGlvbillIEZ0KGlzKWkob3B0aW9uYWwuKTQ4IGIoSWYpMTUwIDU0MCB5KHRoZSkzOQorYiBGcyhmdW5jdGlvbilmIEZ0KHJlc2VydiltKGVkKWgodyltKG9yZClnKGlzKWcoc3VwcGxpZWQsKWkodGhlKWUKKyhwYXJlbiltKHRoZXNlcyloKGFyZSlmKG9wdGlvbmFsLik2OSBiKFRoZSkzOSBiIEZxKGIpcyhvKXMoZHkpNDUKK2IgRnQob2YpNDAgYih0aGUpMTUwIDY1MCB5KGZ1bmN0aW9uKWgoaXMpaCh0aGUpZyhjb21wKXMob3VuZCllKGNvbW1hbmQpCitoIEZxKGNvbXApcyhvdW5kLWNvbW1hbmQpaiBGdChcKHNlZSllKFNlY3Rpb24paCgzLjIuNClnKFtDb21wKXMob3VuZCkKKzE1MCA3NTkgeShDb21tYW5kc10sKTMzIGIocGFnZSlnKDlcKS4pNDggYihUaGF0KTMzIGIoY29tbWFuZClnKGlzKWYKKyh1c3VhbGx5KWgoYSlnIEZxKGxpc3QpaSBGdChlbmNsb3NlZCllKGIpcyhldCltKHcpbShlZW4paAorRnMoeyllIEZ0KGFuZClnIEZzKH0pcCBGdCgsKWgoYnV0KWYobWEpbSh5KTE1MCA4NjkgeShiKXMoZSkyNworYihhbiltKHkpaChjb21wKXMob3VuZCllKGNvbW1hbmQpaChsaXN0ZWQpaChhYilzKG8pbSh2KW0oZS4pNDEKK2IgRnEoY29tcClzKG91bmQtY29tbWFuZCkzMCBiIEZ0KGlzKWUoZXhlY3V0ZWQpZyh3aGVuZXYpbShlcilnCitGcShuYW1lKTE1MCA5NzggeSBGdChpcykzNyBiKHNwKXMoZWNpXDAxNGVkKWcoYXMpZyh0aGUpaChuYW1lKWYob2YpZyhhKQoraChjb21tYW5kLik2MSBiKEFuKW0oeSkzNyBiKHJlZGlyZWN0aW9ucyloKFwoc2VlKWcoU2VjdGlvbilnKDMuNilnCisoW1JlZGlyZWN0aW9uc10sKTE1MCAxMDg4IHkocGFnZSkzMSBiKDI3XCkpaChhc3NvKXMoY2lhdGVkKWcod2l0aCllCisodGhlKWcoc2hlbGwpaChmdW5jdGlvbilmKGFyZSloKHApcyhlcmZvcm1lZClkKHdoZW4paSh0aGUpZyhmdW5jdGlvbilnCisoaXMpaChleGVjdXRlZC4pMjc1IDEyMTkgeShBKTQxIGIoZnVuY3Rpb24pZihkZVwwMTRuaXRpb24paChtYSltKHkpZyhiKQorcyhlKWcoZGVsZXRlZClnKHVzaW5nKWcodGhlKWcoYClwIEZzKC1mKXAgRnQoJylnKG9wdGlvbilnKHRvKWgodGhlKWYKK0ZzKHVuc2V0KWUgRnQoYnVpbHRpbilpKFwoc2VlKTE1MCAxMzI5IHkoU2VjdGlvbikzMSBiKDQuMSloKFtCb3VybmUpZQorKFNoZWxsKWcoQnVpbHRpbnNdLCloKHBhZ2UpaCgzN1wpLikyNzUgMTQ2MSB5KFRoZSkyNgorYihleGl0KWkoc3RhdHVzKWcob2YpZihhKWgoZnVuY3Rpb24pZihkZVwwMTRuaXRpb24pZyhpcylnKHplcm8paAorKHVubGVzcylmKGEpZyhzeW4pbSh0YXgpaChlcnJvcilmKG8pcyhjY3VycylnKG9yKWcoYSloKHJlYWRvbmx5KTE1MAorMTU3MCB5KGZ1bmN0aW9uKWsod2l0aClmKHRoZSlpKHNhbWUpZihuYW1lKWcoYWxyZWFkeSloKGV4aXN0cy4pNDYKK2IoV2hlbikzMiBiKGV4ZWN1dGVkLCloKHRoZSlmKGV4aXQpaChzdGF0dXMpZyhvZilmKGEpZyhmdW5jdGlvbikxNTAKKzE2ODAgeShpcyllKHRoZSloKGV4aXQpZyhzdGF0dXMpZyhvZilmKHRoZSloKGxhc3QpZyhjb21tYW5kKWYoZXhlY3V0ZWQpCitpKGluKWUodGhlKWcoYilzKG8pcyhkeSktOCBiKC4pMjc1IDE4MTEgeShOb3RlKTIyIGIodGhhdClmKGZvcilmCisoaGlzdG9yaWNhbClpKHJlYXNvbnMsKWgoaW4pZSh0aGUpZyhtb3N0KWcoY29tbW9uKWcodXNhZ2UpZyh0aGUpZworKGN1cmx5KWYoYnJhY2VzKWgodGhhdClnKHN1cnJvdW5kKTE1MCAxOTIxIHkodGhlKTM4IGIoYilzKG8pcyhkeSlkKG9mKWoKKyh0aGUpZihmdW5jdGlvbilnKG0pbSh1c3QpZyhiKXMoZSlnKHNlcGFyYXRlZCloKGZyb20pZih0aGUpZyhiKXMobylzCisoZHkpZihiKW0oeSloIEZzKGJsYW5rKXAgRnQocylmKG9yKWgobmV3bGluZXMuKTYyIGIoVGhpcykxNTAKKzIwMzAgeShpcykzOCBiKGIpcyhlY2F1c2UpZyh0aGUpaChicmFjZXMpZihhcmUpaChyZXNlcnYpbShlZClmKHcpbQorKG9yZHMpZyhhbmQpZihhcmUpaShvbmx5KWYocmVjb2duaXplZClpKGFzKWUoc3VjKW0oaClnKHdoZW4pZih0aGV5KWkKKyhhcmUpMTUwIDIxNDAgeShzZXBhcmF0ZWQpMjYgYihmcm9tKWYodGhlKWgoY29tbWFuZClmKGxpc3QpaShiKW0oeSllCisod2hpdGVzcGFjZSloKG9yKWcoYW5vdGhlcilnKHNoZWxsKWcobWV0YWMpbShoYXJhY3Rlci4pNDEKK2IoQWxzbywpMjggYih3aGVuKTE1MCAyMjUwIHkodXNpbmcpaSh0aGUpZyhicmFjZXMsKWgodGhlKWcKK0ZxKGxpc3QpaSBGdChtKW0odXN0KWQoYilzKGUpZyh0ZXJtaW5hdGVkKWgoYiltKHkpZihhKWgoc2VtaWNvbG9uLCloKGEpCitlKGApcCBGcygmKXAgRnQoJywpaChvcilnKGEpZihuZXdsaW5lLikyNzUgMjM4MSB5KFdoZW4paShhKWkoZnVuY3Rpb24pZgorKGlzKWcoZXhlY3V0ZWQsKWkodGhlKWUoYXJndW1lbiltKHRzKWgodG8pZyh0aGUpZihmdW5jdGlvbilnKGIpcyhlY29tZSkKK2codGhlKWgocClzKG9zaXRpb25hbClnKHBhLSkxNTAgMjQ5MSB5KHJhbWV0ZXJzKTQyIGIoZHVyaW5nKWUoaXRzKWkKKyhleGVjdXRpb24paChcKHNlZSlmKFNlY3Rpb24pZygzLjQuMSloKFtQKW0ob3NpdGlvbmFsKWgoUCltCisoYXJhbWV0ZXJzXSwpaShwYWdlKWMoMTdcKS4pNzUgYihUaGUpMTUwIDI2MDAgeShzcClzKGVjaWFsKTM3CitiKHBhcmFtZXRlcilmKGApcCBGcygjKXAgRnQoJylnKHRoYXQpaChleHBhbmRzKWUodG8paSh0aGUpZihuKW0odW0pbShiKQorcyhlcilmKG9mKWgocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMpZihpcylnKHVwKXMoZGF0ZWQpZih0bykxNTAKKzI3MTAgeShyZVwwMTVlY3QpaCh0aGUpZihjKW0oaGFuZ2UuKTU2IGIoU3ApcyhlY2lhbCkzNQorYihwYXJhbWV0ZXIpaCBGcygwKWYgRnQoaXMpZyh1bmMpbShoYW5nZWQuKTU0IGIoVGhlKTM1CitiKFwwMTRyc3QpZihlbGVtZW4pbSh0KWoob2YpZSh0aGUpZyBGcyhGVU5DTkFNRSkxNTAgMjgxOQoreSBGdCh2KS01IGIoYXJpYWJsZSkzMSBiKGlzKWcoc2V0KWYodG8paSh0aGUpZShuYW1lKWgob2YpZih0aGUpaAorKGZ1bmN0aW9uKWYod2hpbGUpZyh0aGUpaChmdW5jdGlvbilmKGlzKWcoZXhlY3V0aW5nLikyNzUKKzI5NTEgeShBbGwpMjUgYihvdGhlcilnKGFzcClzKGVjdHMpZyhvZilnKHRoZSlnKHNoZWxsKWcoZXhlY3V0aW9uKWgoZW4pCittKHZpcm9ubWVuKW0odClnKGFyZSlmKGlkZW4pbSh0aWNhbCloKGIpcyhldCltKHcpbShlZW4pZyhhKWYoZnVuY3Rpb24pZworKGFuZCkxNTAgMzA2MSB5KGl0cykzNSBiKGNhbGxlcilpKHdpdGgpZCh0aGVzZSlpKGV4Y2VwdGlvbnM6KTUwCitiKHRoZSkzNiBiIEZzKERFQlVHKWQgRnQoYW5kKWggRnMoUkVUVVJOKWcgRnQodHJhcHMpZyhhcmUpaShub3QpZgorKGluaGVyaXRlZClmKHVubGVzcyloKHRoZSkxNTAgMzE3MCB5KGZ1bmN0aW9uKTI2IGIoaGFzKWcoYilzKGVlbilmKGdpdikKK20oZW4paSh0aGUpZyBGcyh0cmFjZSlkIEZ0KGF0dHJpYnV0ZSlqKHVzaW5nKWYodGhlKWcKK0ZzKGRlY2xhcmUpZSBGdChidWlsdGluKWkob3IpZyh0aGUpaCBGcygtbylpKGZ1bmN0cmFjZSkxNTAKKzMyODAgeSBGdChvcHRpb24pZihoYXMpZShiKXMoZWVuKWgoZW5hYmxlZClnKHdpdGgpZyh0aGUpZworRnMoc2V0KWYgRnQoYnVpbHRpbiwpaShcKGluKWYod2hpYyltKGgpZihjYXNlKWooYWxsKWYoZnVuY3Rpb25zKWUKKyhpbmhlcml0KWgodGhlKWcgRnMoREVCVUcpMTUwIDMzODkgeSBGdChhbmQpMzMgYiBGcyhSRVRVUk4pZgorRnQodHJhcHNcKSwpaihhbmQpZSh0aGUpaCBGcyhFUlIpZiBGdCh0cmFwKWgoaXMpZyhub3QpZyhpbmhlcml0ZWQpZgorKHVubGVzcylnKHRoZSloIEZzKC1vKWMoZXJydHJhY2UpaCBGdChzaGVsbClqKG9wdGlvbikxNTAKKzM0OTkgeShoYXMpaChiKXMoZWVuKWYoZW5hYmxlZC4pNTUgYihTZWUpMzUgYihTZWN0aW9uKWgoNC4xKWcoW0JvdXJuZSlmCisoU2hlbGwpZyhCdWlsdGluc10sKWkocGFnZSlmKDM3LClpKGZvciljKHRoZSlpKGRlc2NyaXB0aW9uKWYob2YpMTUwCiszNjA4IHkodGhlKWMgRnModHJhcCllIEZ0KGJ1aWx0aW4uKTI3NSAzNzQwIHkoVGhlKTM4CitiIEZzKEZVTkNORVNUKWYgRnQodiktNSBiKGFyaWFibGUsKTQyIGIoaWYpZChzZXQpaCh0bylnKGEpZyhuKW0odW1lcmljKQorZih2KS01IGIoYWx1ZSkzOSBiKGdyZWF0ZXIpaCh0aGFuKWYoMCwpaihkZVwwMTRuZXMpZChhKWcobWF4aW0pbSh1bSkxNTAKKzM4NTAgeShmdW5jdGlvbikyNCBiKG5lc3RpbmcpaChsZXYpbShlbC4pNDAgYihGKS04IGIodW5jdGlvbikyNQorYihpbiltKHYpbShvKXMoY2F0aW9ucylpKHRoYXQpZShleGNlZWQpZyh0aGUpZyhsaW1pdClnKGNhdXNlKWcodGhlKWcKKyhlbiltKHRpcmUpZyhjb21tYW5kKTE1MCAzOTU5IHkodG8pMzEgYihhYilzKG9ydC4pMjc1Cis0MDkxIHkoSWYpMzcgYih0aGUpZyhidWlsdGluKWcoY29tbWFuZCloIEZzKHJldHVybilkCitGdChpcylqKGV4ZWN1dGVkKWcoaW4pZyhhKWcoZnVuY3Rpb24sKWgodGhlKWUoZnVuY3Rpb24paChjb21wbGV0ZXMpaAorKGFuZCkxNTAgNDIwMCB5KGV4ZWN1dGlvbikyNSBiKHJlc3VtZXMpZSh3aXRoKWgodGhlKWcobmV4dClnKGNvbW1hbmQpZgorKGFmdGVyKWkodGhlKWYoZnVuY3Rpb24pZihjYWxsLik0MCBiKEFuKW0oeSkyNCBiKGNvbW1hbmQpZihhc3NvKXMKKyhjaWF0ZWQpMTUwIDQzMTAgeSh3aXRoKTM2IGIodGhlKWggRnMoUkVUVVJOKWQgRnQodHJhcClpKGlzKWgoZXhlY3V0ZWQpCitnKGIpcyhlZm9yZSlmKGV4ZWN1dGlvbilpKHJlc3VtZXMuKTU3IGIoV2hlbikzNyBiKGEpZihmdW5jdGlvbilnCisoY29tcGxldGVzLCkxNTAgNDQxOSB5KHRoZSloKHYpLTUgYihhbHVlcykzOCBiKG9mKWYodGhlKWcocClzCisob3NpdGlvbmFsKWgocGFyYW1ldGVycylmKGFuZClnKHRoZSlnKHNwKXMoZWNpYWwpaChwYXJhbWV0ZXIpZihgKXAKK0ZzKCMpcCBGdCgnKWcoYXJlKWgocmVzdG9yZWQpZih0byloKHRoZSkxNTAgNDUyOSB5KHYpLTUKK2IoYWx1ZXMpMjYgYih0aGV5KWYoaGFkKWcocHJpb3IpZih0bylpKHRoZSlnKGZ1bmN0aW9uJ3MpZihleGVjdXRpb24uKTQwCitiKElmKTI1IGIoYSloKG4pbSh1bWVyaWMpZihhcmd1bWVuKW0odCloKGlzKWYoZ2l2KW0oZW4paCh0bylnCitGcyhyZXR1cm4pcCBGdCgsKTE1MCA0NjM5IHkodGhhdClqKGlzKWcodGhlKWYoZnVuY3Rpb24ncyloKHJldHVybillCisoc3RhdHVzOylqKG90aGVyd2lzZSlmKHRoZSlmKGZ1bmN0aW9uJ3MpaChyZXR1cm4pZShzdGF0dXMpaShpcylmKHRoZSloCisoZXhpdCloKHN0YXR1cykxNTAgNDc0OCB5KG9mKWgodGhlKWYobGFzdCloKGNvbW1hbmQpZihleGVjdXRlZClpKGIpcworKGVmb3JlKWUodGhlKWcgRnMocmV0dXJuKXAgRnQoLikyNzUgNDg4MCB5KFYpLTggYihhcmlhYmxlcykzMQorYihsbylzKGNhbClnKHRvKWYodGhlKWcoZnVuY3Rpb24pZihtYSltKHkpaShiKXMoZSllKGRlY2xhcmVkKWgod2l0aClmCisodGhlKWggRnMobG9jYWwpZiBGdChidWlsdGluLik0MCBiKFRoZXNlKTI5IGIodiktNSBiKGFyaWFibGVzKTE1MAorNDk4OSB5KGFyZSkzMSBiKHZpc2libGUpZyhvbmx5KWYodG8paCh0aGUpZyhmdW5jdGlvbilmKGFuZClnKHRoZSlnCisoY29tbWFuZHMpZyhpdCloKGluKW0odiltKG9rKW0oZXMuKTI3NSA1MTIxIHkoRiktOCBiKHVuY3Rpb24pMzgKK2IobmFtZXMpZihhbmQpZyhkZVwwMTRuaXRpb25zKWcobWEpbSh5KWkoYilzKGUpZShsaXN0ZWQpaCh3aXRoKWYodGhlKWgKKyhgKXAgRnMoLWYpcCBGdCgnKWYob3B0aW9uKWgodG8paCh0aGUpZSBGcyhkZWNsYXJlKWYKK0Z0KG9yKTE1MCA1MjMwIHkgRnModHlwZXNldClkIEZ0KGJ1aWx0aW4paChjb21tYW5kcyloKFwoc2VlKWgoU2VjdGlvbilnCisoNC4yKWcoW0Jhc2gpZihCdWlsdGluc10sKWkocGFnZSlmKDQzXCkuKTU1IGIoVGhlKTM1CitiKGApcCBGcygtRilwIEZ0KCcpZyhvcHRpb24pZyh0bykxNTAgNTM0MCB5IEZzKGRlY2xhcmUpZgorRnQob3IpaSBGcyh0eXBlc2V0KWUgRnQod2lsbClpKGxpc3QpaCh0aGUpZihmdW5jdGlvbilnKG5hbWVzKWcob25seSlnCisoXChhbmQpZyhvcHRpb25hbGx5KWgodGhlKWYoc291cmNlKWcoXDAxNGxlKWgoYW5kKXAgZW9wCitlbmQKICUlUGFnZTogMTcgMjMKIFRlWERpY3QgYmVnaW4gMTcgMjIgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDM6KTQxCi1iKEJhc2ljKTMyIGIoU2hlbGwpZShGKS04IGIoZWF0dXJlcykyMjQ2IGIoMTcpNjMwIDI5OQoteShwYXJ0KTI1IGIob2YpZyh0aGUpZyhvcmlnaW5hbClnKHcpbShvcmQsKWgoYW5kKWUodGhlKWgoZXhwYW5zaW9uKWcKLShvZilnKHRoZSlnKGxhc3QpaChwYXJhbWV0ZXIpZihpcylnKGpvaW5lZClmKHdpdGgpNjMwCi00MDggeSh0aGUpMzcgYihsYXN0KWcocGFydClnKG9mKWYodGhlKWgob3JpZ2luYWwpaCh3KW0ob3JkLik1OQotYihXaGVuKTM2IGIodGhlcmUpaChhcmUpZyhubylmKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzLCk2MzAKLTUxOCB5IEZzKCIkQCIpMjkgYiBGdChhbmQpaCBGcygkQClnIEZ0KGV4cGFuZClmKHRvKWoobm90aGluZyllKFwoaS5lLiwpCi1pKHRoZXkpZShhcmUpaChyZW1vKW0odiltKGVkXCkuKTE1MCA2NzcgeSBGcygjKTQzMiBiCi1GdChFeHBhbmRzKTI5IGIodG8paSh0aGUpZyhuKW0odW0pbShiKXMoZXIpZShvZiloKHApcyhvc2l0aW9uYWwpaAotKHBhcmFtZXRlcnMpZyhpbilmKGRlY2ltYWwuKTE1MCA4MzYgeSBGcyg/KTQzMiBiIEZ0KEV4cGFuZHMpMjkKLWIodG8paSh0aGUpZyhleGl0KWcoc3RhdHVzKWcob2YpZih0aGUpaChtb3N0KWYocmVjZW4pbSh0bHkpaShleGVjdXRlZClmCi0oZm9yZWdyb3VuZClmKHBpcClzKGVsaW5lLikxNTAgOTk1IHkgRnMoLSk0MzIgYiBGdChcKEEpMzEKLWIoaCltKHlwaGVuLlwpKTQyIGIoRXhwYW5kcykzMCBiKHRvKWgodGhlKWcoY3VycmVuKW0odClnKG9wdGlvbiloCi0oXDAxNWFncylmKGFzKWcoc3ApcyhlY2lcMDE0ZWQpZih1cClzKG9uKWcoaW4pbSh2KW0obylzKGNhdGlvbiwpNjMwCi0xMTA1IHkoYiltKHkpMzUgYih0aGUpaCBGcyhzZXQpZSBGdChidWlsdGluKWgoY29tbWFuZCwpaChvcilnKHRob3NlKWcKLShzZXQpZihiKW0oeSloKHRoZSlmKHNoZWxsKWgoaXRzZWxmKWcoXChzdWMpbShoKWYoYXMpaCh0aGUpZihgKXAKLUZzKC1pKXAgRnQoJyk2MzAgMTIxNSB5KG9wdGlvblwpLikxNTAgMTM3NCB5IEZzKCQpNDMyCi1iIEZ0KEV4cGFuZHMpMzkgYih0bylqKHRoZSlmKHBybylzKGNlc3MpZiBGbChpZCloIEZ0KG9mKWcodGhlKWcoc2hlbGwuKQotNzMgYihJbik0MCBiKGEpaCBGcyhcKFwpKWYgRnQoc3Vic2hlbGwsKWooaXQpZShleHBhbmRzKWYodG8paSh0aGUpNjMwCi0xNDgzIHkocHJvKXMoY2VzcykzMCBiIEZsKGlkKWcgRnQob2YpaCh0aGUpZyhpbiltKHYpbShva2luZylnKHNoZWxsLClnCi0obm90KWcodGhlKWYoc3Vic2hlbGwuKTE1MCAxNjQzIHkgRnMoISk0MzIgYiBGdChFeHBhbmRzKTM5Ci1iKHRvKWkodGhlKWcocHJvKXMoY2VzcyllIEZsKGlkKWkgRnQob2YpZih0aGUpaChtb3N0KWcocmVjZW4pbSh0bHkpZwotKGV4ZWN1dGVkKWcoYmFjKW0oa2dyb3VuZClnKFwoYXN5bi0pNjMwIDE3NTIgeShjKW0oaHJvbm91c1wpKTMwCi1iKGNvbW1hbmQuKTE1MCAxOTExIHkgRnMoMCk0MzIgYiBGdChFeHBhbmRzKTIwIGIodG8paih0aGUpZihuYW1lKWcob2YpZwotKHRoZSlnKHNoZWxsKWcob3IpZihzaGVsbCloKHNjcmlwdC4pMzggYihUaGlzKTIxIGIoaXMpaChzZXQpZyhhdCloCi0oc2hlbGwpZihpbml0aWFsaXphdGlvbi4pNjMwIDIwMjEgeShJZik0NCBiKEJhc2gpZyhpcylnKGluKW0odiltKG9rKW0KLShlZClpKHdpdGgpZShhKWcoXDAxNGxlKWcob2YpaChjb21tYW5kcyllKFwoc2VlKWooU2VjdGlvbilmKDMuOClnCi0oW1NoZWxsKWYoU2NyaXB0c10sKTYzMCAyMTMwIHkocGFnZSkzOSBiKDMzXCksKWkgRnMoJDApZAotRnQoaXMpZyhzZXQpZyh0byloKHRoZSlmKG5hbWUpZyhvZilnKHRoYXQpaChcMDE0bGUuKTY0Ci1iKElmKTM3IGIoQmFzaClpKGlzKWYoc3RhcnRlZClnKHdpdGgpZyh0aGUpZyhgKXAgRnMoLWMpcAotRnQoJyk2MzAgMjI0MCB5KG9wdGlvbilpKFwoc2VlKWcoU2VjdGlvbiloKDYuMSlmKFtJbiltKHYpbShva2luZyloCi0oQmFzaF0sKWgocGFnZSllKDcxXCksKWoodGhlbilkIEZzKCQwKWUgRnQoaXMpaShzZXQpZyh0bylnKHRoZSlnCi0oXDAxNHJzdCk2MzAgMjM1MCB5KGFyZ3VtZW4pbSh0KTMxIGIoYWZ0ZXIpZyh0aGUpZyhzdHJpbmcpZyh0bylnKGIpcyhlKQotZihleGVjdXRlZCwpaShpZilmKG9uZSlnKGlzKWYocHJlc2VuKW0odC4pNDIgYihPdGhlcndpc2UsKTMxCi1iKGl0KWcoaXMpZihzZXQpNjMwIDI0NTkgeSh0byloKHRoZSlnKFwwMTRsZW5hbWUpZih1c2VkKWcodG8paChpbiltKHYpbQotKG9rKW0oZSloKEJhc2gsKWYoYXMpZyhnaXYpbShlbilnKGIpbSh5KWYoYXJndW1lbiltKHQpaCh6ZXJvLikxNTAKLTI2MTggeSBGcyhfKTQzMiBiIEZ0KFwoQW4pMjcgYih1bmRlcnNjb3JlLlwpKTM5IGIoQSltKHQpMjkKLWIoc2hlbGwpZShzdGFydHVwLCloKHNldClmKHRvKWgodGhlKWcoYWJzb2x1dGUpZyhwYXRobmFtZSlmKHVzZWQpZih0bylpCi0oaW4pbSh2KW0ob2spbShlKTYzMCAyNzI4IHkodGhlKTIyIGIoc2hlbGwpZyhvcilnKHNoZWxsKWcoc2NyaXB0KWYoYilzCi0oZWluZyloKGV4ZWN1dGVkKWgoYXMpZihwYXNzZWQpZihpbilnKHRoZSloKGVuKW0odmlyb25tZW4pbSh0KWgob3IpZQotKGFyZ3VtZW4pbSh0KTYzMCAyODM4IHkobGlzdC4pNzIgYihTdWJzZXF1ZW4pbSh0bHkpLTgKLWIoLCk0MyBiKGV4cGFuZHMpYyh0bylqKHRoZSllKGxhc3QpaShhcmd1bWVuKW0odClmKHRvKWcodGhlKWcocHJldmlvdXMpCi1mKGNvbW1hbmQsKTYzMCAyOTQ3IHkoYWZ0ZXIpMzUgYihleHBhbnNpb24uKTU0IGIoQWxzbykzNgotYihzZXQpZih0byloKHRoZSlmKGZ1bGwpZihwYXRobmFtZSloKHVzZWQpZih0byloKGluKW0odiltKG9rKW0oZSlpKGVhYykKLW0oaClmKGNvbW1hbmQpNjMwIDMwNTcgeShleGVjdXRlZCk0MiBiKGFuZCllKHBsYWNlZClpKGluKWUodGhlKWgoZW4pbQotKHZpcm9ubWVuKW0odCloKGV4cClzKG9ydGVkKWYodG8pZyh0aGF0KWgoY29tbWFuZC4pNzIKLWIoV2hlbik2MzAgMzE2NiB5KGMpbShoZWMpbShraW5nKTMyIGIobWFpbCwpZih0aGlzKWcocGFyYW1ldGVyKWcoaG9sZHMpCi1lKHRoZSlpKG5hbWUpZihvZiloKHRoZSlnKG1haWwpZyhcMDE0bGUuKTE1MCAzMzk5IHkgRnIoMy41KTY4Ci1iKFNoZWxsKTQ1IGIoRXhwYW5zaW9ucykxNTAgMzU1OCB5IEZ0KEV4cGFuc2lvbikyNyBiKGlzKWkocClzKGVyZm9ybWVkKQotZChvbilpKHRoZSlnKGNvbW1hbmQpZyhsaW5lKWgoYWZ0ZXIpZihpdCloKGhhcylmKGIpcyhlZW4pZihzcGxpdCloKGluKW0KLSh0bylpIEZzKHRva2VuKXAgRnQocy4pMzggYihUaGVyZSkyOCBiKGFyZSkxNTAgMzY2OCB5KHNldiltKGVuKWooa2luZHMpCi1lKG9mKWkoZXhwYW5zaW9uKWYocClzKGVyZm9ybWVkOikyMjUgMzgwMiB5IEZwKFwwMTcpNjAKLWIgRnQoYnJhY2UpMzEgYihleHBhbnNpb24pMjI1IDM5MzYgeSBGcChcMDE3KTYwIGIgRnQodGlsZGUpMzEKLWIoZXhwYW5zaW9uKTIyNSA0MDcxIHkgRnAoXDAxNyk2MCBiIEZ0KHBhcmFtZXRlcikzMSBiKGFuZClmKHYpLTUKLWIoYXJpYWJsZSkzMSBiKGV4cGFuc2lvbikyMjUgNDIwNSB5IEZwKFwwMTcpNjAgYiBGdChjb21tYW5kKTMwCi1iKHN1YnN0aXR1dGlvbikyMjUgNDMzOSB5IEZwKFwwMTcpNjAgYiBGdChhcml0aG1ldGljKTMyCi1iKGV4cGFuc2lvbikyMjUgNDQ3NCB5IEZwKFwwMTcpNjAgYiBGdCh3KW0ob3JkKTMwIGIoc3BsaXR0aW5nKTIyNQotNDYwOCB5IEZwKFwwMTcpNjAgYiBGdChcMDE0bGVuYW1lKTMxIGIoZXhwYW5zaW9uKTI3NQotNDc2NyB5KFRoZSlpKG9yZGVyKWcob2YpaChleHBhbnNpb25zKWcoaXM6KTQ3IGIoYnJhY2UpMzQKLWIoZXhwYW5zaW9uLCloKHRpbGRlKWcoZXhwYW5zaW9uLClmKHBhcmFtZXRlciwpaSh2KS01Ci1iKGFyaWFibGUsKTM2IGIoYW5kKTE1MCA0ODc3IHkoYXJpdGhtZXRpYyk0NiBiKGV4cGFuc2lvbilmKGFuZClnCi0oY29tbWFuZClmKHN1YnN0aXR1dGlvbiloKFwoZG9uZSlnKGluKWcoYSlnKGxlZnQtdG8tcmlnaCltKHQpagotKGZhc2hpb25cKSwpaCh3KW0ob3JkKTE1MCA0OTg2IHkoc3BsaXR0aW5nLCkzMSBiKGFuZClmKFwwMTRsZW5hbWUpaAotKGV4cGFuc2lvbi4pMjc1IDUxMjEgeShPbik0MiBiKHN5c3RlbXMpaCh0aGF0KWgoY2FuKWcoc3VwcClzKG9ydCllKGl0LCkKLTQ3IGIodGhlcmUpZChpcylmKGFuKWgoYWRkaXRpb25hbClnKGV4cGFuc2lvbilmKGEpbSh2KS01Ci1iKGFpbGFibGU6KTY5IGIgRnEocHJvKXMoY2VzcykxNTAgNTIzMCB5KHN1YnN0aXR1dGlvbilwCi1GdCguKTYxIGIoVGhpcykzNiBiKGlzKWgocClzKGVyZm9ybWVkKWYoYXQpaSh0aGUpZihzYW1lKWgodGltZSlmKGFzKWgKLShwYXJhbWV0ZXIsKWgodiktNSBiKGFyaWFibGUsKTQwIGIoYW5kKWQoYXJpdGhtZXRpYykxNTAKLTUzNDAgeShleHBhbnNpb24pMzAgYihhbmQpZyhjb21tYW5kKWcoc3Vic3RpdHV0aW9uLilwCitiKEJhc2ljKTMyIGIoU2hlbGwpZShGKS04IGIoZWF0dXJlcykyMjQ2IGIoMTcpMTUwIDI5OQoreShsaW5lKTMzIGIobiltKHVtKW0oYilzKGVyLClnKGlmKWYodGhlKWggRnMoZXh0ZGVidWcpZQorRnQoc2hlbGwpaShvcHRpb24pZyhpcylnKGVuYWJsZWRcKS4pNDkgYihGKS04IGIodW5jdGlvbnMpMzMKK2IobWEpbSh5KWgoYilzKGUpZShleHApcyhvcnRlZClnKHNvKWgodGhhdCkxNTAgNDA4IHkoc3Vic2hlbGxzKWYKKyhhdXRvbWF0aWNhbGx5KTM3IGIoaGEpbSh2KW0oZSlkKHRoZW0pZyhkZVwwMTRuZWQpZSh3aXRoKWgodGhlKWcoYClwCitGcygtZilwIEZ0KCcpaChvcHRpb24pZyh0bylnKHRoZSlmIEZzKGV4cG9ydClmIEZ0KGJ1aWx0aW4paChcKHNlZSkxNTAKKzUxOCB5KFNlY3Rpb24pZyg0LjEpZyhbQm91cm5lKWYoU2hlbGwpZyhCdWlsdGluc10sKWkocGFnZSlmKDM3XCkuKTQ3CitiKE5vdGUpMzMgYih0aGF0KWcoc2hlbGwpZihmdW5jdGlvbnMpZyhhbmQpZih2KS01IGIoYXJpYWJsZXMpMzMKK2Iod2l0aCkxNTAgNjI4IHkodGhlKWQoc2FtZSlnKG5hbWUpZyhtYSltKHkpZyhyZXN1bHQpZyhpbilnKG0pbQorKHVsdGlwbGUpZyhpZGVuKW0odGljYWxseS1uYW1lZClpKGVuKW0odHJpZXMpZihpbillKHRoZSloKGVuKW0KKyh2aXJvbm1lbiltKHQpZyhwYXNzZWQpMTUwIDczNyB5KHRvKWgodGhlKWcoc2hlbGwncylmKGMpbShoaWxkcmVuLik0MQorYihDYXJlKTMwIGIoc2hvdWxkKWcoYilzKGUpZih0YWspbShlbilqKGluKWUoY2FzZXMpaCh3aGVyZSlmKHRoaXMpZyhtYSkKK20oeSloKGNhdXNlKWcoYSlnKHByb2JsZW0uKTI3NSA4ODMgeShGKS04IGIodW5jdGlvbnMpMzMKK2IobWEpbSh5KWcoYilzKGUpZyhyZWN1cnNpdiltKGUuKTQ4IGIoVGhlKTMyIGIgRnMoRlVOQ05FU1QpZgorRnQodiktNSBiKGFyaWFibGUpMzQgYihtYSltKHkpZihiKXMoZSlmKHVzZWQpZyh0bylpKGxpbWl0KWcodGhlKWYKKyhkZXB0aClmKG9mKTE1MCA5OTMgeSh0aGUpMjcgYihmdW5jdGlvbilmKGNhbGwpaShzdGFjKW0oayloKGFuZClkCisocmVzdHJpY3QpaCh0aGUpZyhuKW0odW0pbShiKXMoZXIpZihvZiloKGZ1bmN0aW9uKWYoaW4pbSh2KW0obylzCisoY2F0aW9ucy4pNDIgYihCeSkyNyBiKGRlZmF1bHQsKWcobm8pZyhsaW1pdCkxNTAgMTEwMworeShpcylqKHBsYWNlZCloKG9uKWcodGhlKWYobiltKHVtKW0oYilzKGVyKWYob2YpaShyZWN1cnNpdiltKGUpZgorKGNhbGxzLikxNTAgMTM1MiB5IEZyKDMuNCk2OCBiKFNoZWxsKTQ1IGIoUClsKGFyYW1ldGVycykxNTAKKzE1MTIgeSBGdChBKTIzIGIgRnEocGFyYW1ldGVyKTMxIGIgRnQoaXMpMjMgYihhbilnKGVuKW0odGl0KW0oeSlpKHRoYXQpCitmKHN0b3JlcylnKHYpLTUgYihhbHVlcy4pMzkgYihJdCkyMyBiKGNhbiloKGIpcyhlKWYoYSlnCitGcyhuYW1lKXAgRnQoLCloKGEpZyhuKW0odW0pbShiKXMoZXIsKWYob3IpaChvbmUpZihvZiloKHRoZSlmKHNwKXMKKyhlY2lhbCkxNTAgMTYyMSB5KGMpbShoYXJhY3RlcnMpaShsaXN0ZWQpZihiKXMoZWxvKW0ody4pMzkKK2IoQSkyNCBiIEZxKHYpLTUgYihhcmlhYmxlKTI5IGIgRnQoaXMpMjQgYihhKWcocGFyYW1ldGVyKWcoZGVub3RlZClmKGIpCittKHkpaChhKWcgRnMobmFtZSlwIEZ0KC4pMzcgYihBKTI0IGIodiktNSBiKGFyaWFibGUpMjQKK2IoaGFzKWYoYSloIEZxKHYpLTUgYihhbHVlKTE1MCAxNzMxIHkgRnQoYW5kKTMzIGIoemVybylpKG9yKWUobW9yZSloCitGcShhdHRyaWJ1dGVzKXQgRnQoLik1MSBiKEEpbSh0dHJpYnV0ZXMpMzQgYihhcmUpZyhhc3NpZ25lZClnKHVzaW5nKWYKKyh0aGUpaCBGcyhkZWNsYXJlKWUgRnQoYnVpbHRpbiloKGNvbW1hbmQpMTUwIDE4NDEgeShcKHNlZSllKHRoZSlnCisoZGVzY3JpcHRpb24pZihvZiloKHRoZSlmIEZzKGRlY2xhcmUpZiBGdChidWlsdGluKWgoaW4pZyhTZWN0aW9uKWgoNC4yKQorZyhbQmFzaClnKEJ1aWx0aW5zXSwpZyhwYWdlKWcoNDNcKS4pMjc1IDE5ODcgeShBKWQocGFyYW1ldGVyKWgoaXMpZworKHNldClnKGlmKWYoaXQpaChoYXMpZihiKXMoZWVuKWcoYXNzaWduZWQpaChhKWcodiktNQorYihhbHVlLik0MCBiKFRoZSkyOCBiKG4pbSh1bGwpaChzdHJpbmcpZihpcyloKGEpZyh2KS01CitiKGFsaWQpMjggYih2KS01IGIoYWx1ZS4pNDEgYihPbmNlKTE1MCAyMDk2IHkoYSkzMSBiKHYpLTUKK2IoYXJpYWJsZSkzMSBiKGlzKWYoc2V0LClpKGl0KWUobWEpbSh5KWgoYilzKGUpZih1bnNldClnKG9ubHkpaChiKW0oeSlmCisodXNpbmcpZyh0aGUpZyBGcyh1bnNldClmIEZ0KGJ1aWx0aW4paChjb21tYW5kLikyNzUgMjI0MgoreShBKWcodiktNSBiKGFyaWFibGUpMzEgYihtYSltKHkpZyhiKXMoZSlmKGFzc2lnbmVkKWcodG8paShiKW0oeSllKGEpaAorKHN0YXRlbWVuKW0odCloKG9mKWUodGhlKWgoZm9ybSkzOTAgMjM4OSB5IEZpKG5hbWUpMTEKK2IgRnMoPVspcCBGaSh2YWx1ZSlnIEZzKF0pMTUwIDI1MzUgeSBGdChJZikzNCBiIEZxKHYpLTUKK2IoYWx1ZSk0MCBiIEZ0KGlzKTM1IGIobm90KWcoZ2l2KW0oZW4sKWgodGhlKWYodiktNSBiKGFyaWFibGUpMzUKK2IoaXMpZyhhc3NpZ25lZClnKHRoZSlmKG4pbSh1bGwpaChzdHJpbmcuKTUzIGIoQWxsKTM1CitiIEZxKHYpLTUgYihhbHVlKTUgYiBGdChzKTM1IGIodW5kZXJnbylmKHRpbGRlKWgoZXgtKTE1MAorMjY0NCB5KHBhbnNpb24sKWgocGFyYW1ldGVyKWYoYW5kKWYodiktNSBiKGFyaWFibGUpMzYKK2IoZXhwYW5zaW9uLClmKGNvbW1hbmQpZyhzdWJzdGl0dXRpb24sKWgoYXJpdGhtZXRpYylnKGV4cGFuc2lvbiwpMTUwCisyNzU0IHkoYW5kKWsocXVvdGUpaChyZW1vKW0odiktNSBiKGFsKTQyIGIoXChkZXRhaWxlZCloKGIpcyhlbG8pbSh3XCkuKQorNzIgYihJZik0MCBiKHRoZSloKHYpLTUgYihhcmlhYmxlKTQxIGIoaGFzKWcoaXRzKWcgRnMoaW50ZWdlcillCitGdChhdHRyaWJ1dGUpaShzZXQsKWoodGhlbikxNTAgMjg2MyB5IEZxKHYpLTUgYihhbHVlKTM4CitiIEZ0KGlzKTMzIGIoZXYpLTUgYihhbHVhdGVkKTM0IGIoYXMpZihhbilnKGFyaXRobWV0aWMpaChleHByZXNzaW9uKWYKKyhldiltKGVuKWgoaWYpZSh0aGUpaCBGcygkXChcKC4uLilvKFwpXCkpZiBGdChleHBhbnNpb24paChpcylnKG5vdClnCisodXNlZCkxNTAgMjk3MyB5KFwoc2VlKWUoU2VjdGlvbilnKDMuNS41KWkoW0FyaXRobWV0aWMpZShFeHBhbnNpb25dLClmCisocGFnZSloKDI0XCkuKTQyIGIoVyktOCBiKG9yZCkzMSBiKHNwbGl0dGluZylnKGlzKWcobm90KWYocClzCisoZXJmb3JtZWQsKWYod2l0aCkxNTAgMzA4MyB5KHRoZSkzNSBiKGV4Y2VwdGlvbiloKG9mKWYKK0ZzKCIkQCIpZiBGdChhcyloKGV4cGxhaW5lZClnKGIpcyhlbG8pbSh3Lik1NCBiKEZpbGVuYW1lKTM2CitiKGV4cGFuc2lvbilmKGlzKWcobm90KWcocClzKGVyZm9ybWVkLik1MyBiKEFzc2lnbi0pMTUwCiszMTkyIHkobWVuKW0odCkzMyBiKHN0YXRlbWVuKW0odHMpaChtYSltKHkpZihhbHNvKWcoYXBwKXMoZWFyKWYoYXMpZworKGFyZ3VtZW4pbSh0cyloKHRvKWcodGhlKWcgRnMoYWxpYXMpcCBGdCgsKWUgRnMoZGVjbGFyZSlwCitGdCgsKWcgRnModHlwZXNldClwIEZ0KCwpZyBGcyhleHBvcnQpcCBGdCgsKTE1MCAzMzAyCit5IEZzKHJlYWRvbmx5KXAgRnQoLClkKGFuZClpIEZzKGxvY2FsKWYgRnQoYnVpbHRpbiloKGNvbW1hbmRzLikyNzUKKzM0NDggeShJbilmKHRoZSloKGNvbiltKHRleHQpaSh3aGVyZSlkKGFuKWgoYXNzaWdubWVuKW0odCloKHN0YXRlbWVuKW0KKyh0KWgoaXMpZShhc3NpZ25pbmcpZyhhKWgodiktNSBiKGFsdWUpMzAgYih0byloKGEpZihzaGVsbClnKHYpLTUKK2IoYXJpYWJsZSkzMSBiKG9yKTE1MCAzNTU3IHkoYXJyYSltKHkpZihpbmRleClnKFwoc2VlKWgoU2VjdGlvbilnKDYuNylnCisoW0FycmEpbSh5c10sKWcocGFnZSlnKDgyXCksKWcodGhlKWYoYClwIEZzKCs9KXAgRnQoJylnKG9wKXMoZXJhdG9yKWcKKyhjYW4paChiKXMoZSllKHVzZWQpZyh0bylpKGFwcClzKGVuZClkKHRvKTE1MCAzNjY3IHkob3IpMzYKK2IoYWRkKWcodG8paCh0aGUpZih2KS01IGIoYXJpYWJsZSdzKTM3IGIocHJldmlvdXMpZih2KS01CitiKGFsdWUuKTU5IGIoV2hlbikzNiBiKGApcCBGcygrPSlwIEZ0KCcpZyhpcylnKGFwcGxpZWQpZyh0byloKGEpZyh2KS01CitiKGFyaWFibGUpMzcgYihmb3IpZih3aGljKW0oaClnKHRoZSkxNTAgMzc3NyB5IEZxKGluKW0odGVnZXIpNDYKK2IgRnQoYXR0cmlidXRlKTM4IGIoaGFzKWYoYilzKGVlbilnKHNldCwpayBGcSh2KS01IGIoYWx1ZSk0MworYiBGdChpcykzOCBiKGV2KS01IGIoYWx1YXRlZCkzOSBiKGFzKWYoYW4pZihhcml0aG1ldGljKWkoZXhwcmVzc2lvbilmCisoYW5kKWYoYWRkZWQpMTUwIDM4ODYgeSh0bylmKHRoZSlmKHYpLTUgYihhcmlhYmxlJ3MpMzYKK2IoY3VycmVuKW0odClmKHYpLTUgYihhbHVlLCkzNyBiKHdoaWMpbShoKWUoaXMpZyhhbHNvKWgoZXYpLTUKK2IoYWx1YXRlZC4pNTYgYihXaGVuKTM1IGIoYClwIEZzKCs9KXAgRnQoJylnKGlzKWgoYXBwbGllZClmKHRvKWcoYW4pZworKGFycmEpbSh5KTE1MCAzOTk2IHkodiktNSBiKGFyaWFibGUpMjYgYih1c2luZyllKGNvbXApcyhvdW5kKWYKKyhhc3NpZ25tZW4pbSh0KWooXChzZWUpZihTZWN0aW9uKWgoNi43KWYoW0FycmEpbSh5c10sKWkocGFnZSlmKDgyXCksKWgKKyh0aGUpZSh2KS01IGIoYXJpYWJsZSdzKTI1IGIodiktNSBiKGFsdWUpMTUwIDQxMDUgeShpcykzMgorYihub3QpZih1bnNldCloKFwoYXMpZyhpdClnKGlzKWYod2hlbilnKHVzaW5nKWcoYClwIEZzKD0pcAorRnQoJ1wpLClpKGFuZCllKG5ldylnKHYpLTUgYihhbHVlcykzMiBiKGFyZSlnKGFwcClzKGVuZGVkKWQodG8payh0aGUpZgorKGFycmEpbSh5KWcoYilzKGVnaW5uaW5nKTE1MCA0MjE1IHkoYXQpMjcgYihvbmUpZihncmVhdGVyKWkodGhhbillKHRoZSkKK2coYXJyYSltKHkncyloKG1heGltKW0odW0pZihpbmRleClnKFwoZm9yKWcoaW5kZXhlZClnKGFycmEpbSh5c1wpLClpCisob3IpZShhZGRlZClnKGFzKWcoYWRkaXRpb25hbCkxNTAgNDMyNSB5KGspbShleS12KS01CitiKGFsdWUpMzUgYihwYWlycyllKGluKWcoYW4pZyhhc3NvKXMoY2lhdGl2KW0oZSlqKGFycmEpbSh5KS04CitiKC4pNTEgYihXaGVuKTMzIGIoYXBwbGllZClnKHRvKWgoYSlnKHN0cmluZy12KS01IGIoYWx1ZWQpMzQKK2IodiktNSBiKGFyaWFibGUsKTM1IGIgRnEodiktNSBiKGFsdWUpMzkgYiBGdChpcykxNTAKKzQ0MzQgeShleHBhbmRlZCkzMCBiKGFuZClmKGFwcClzKGVuZGVkKWcodG8paSh0aGUpZyh2KS01CitiKGFyaWFibGUncykzMSBiKHYpLTUgYihhbHVlLikxNTAgNDY0NSB5IEZqKDMuNC4xKTYzCitiKFApbShvc2l0aW9uYWwpNDEgYihQKW0oYXJhbWV0ZXJzKTE1MCA0NzkyIHkgRnQoQSkyOAorYiBGcShwKXMob3NpdGlvbmFsKWgocGFyYW1ldGVyKTM1IGIgRnQoaXMpMjggYihhKWcocGFyYW1ldGVyKWcoZGVub3RlZCkKK2coYiltKHkpZyhvbmUpZyhvcilnKG1vcmUpZyhkaWdpdHMsKWgob3RoZXIpZyh0aGFuKWUodGhlKWgoc2luZ2xlKTE1MAorNDkwMiB5KGRpZ2l0KTM0IGIgRnMoMClwIEZ0KC4pNDggYihQKW0ob3NpdGlvbmFsKTM2IGIocGFyYW1ldGVycylkKGFyZSkKK2coYXNzaWduZWQpaChmcm9tKWUodGhlKWkoc2hlbGwncylmKGFyZ3VtZW4pbSh0cylnKHdoZW4pZihpdClpKGlzKWYoaW4pCittKHYpbShvayltKGVkLCkxNTAgNTAxMSB5KGFuZCkzOCBiKG1hKW0oeSlpKGIpcyhlKWUocmVhc3NpZ25lZClpKHVzaW5nKQorZSh0aGUpaCBGcyhzZXQpZyBGdChidWlsdGluKWYoY29tbWFuZC4pNjcgYihQKW0ob3NpdGlvbmFsKTQxCitiKHBhcmFtZXRlcillIEZzKE4pZyBGdChtYSltKHkpaChiKXMoZSkxNTAgNTEyMSB5KHJlZmVyZW5jZWQpMzQKK2IoYXMpaCBGcygke059KXAgRnQoLClnKG9yKWYoYXMpaCBGcygkTillIEZ0KHdoZW4paCBGcyhOKWcKK0Z0KGNvbnNpc3RzKWgob2YpZihhKWgoc2luZ2xlKWcoZGlnaXQuKTU0IGIoUCltKG9zaXRpb25hbCkzNworYihwYXJhbWV0ZXJzKWQobWEpbSh5KTE1MCA1MjMwIHkobm90KWooYilzKGUpZihhc3NpZ25lZCloKHRvKWcod2l0aClmCisoYXNzaWdubWVuKW0odClpKHN0YXRlbWVuKW0odHMuKTYxIGIoVGhlKTM2IGIgRnMoc2V0KWcKK0Z0KGFuZClnIEZzKHNoaWZ0KWYgRnQoYnVpbHRpbnMpaChhcmUpaCh1c2VkKWYodG8pMTUwCis1MzQwIHkoc2V0KWsoYW5kKWYodW5zZXQpZih0aGVtKWkoXChzZWUpZyhDaGFwdGVyKWYoNClnKFtTaGVsbCloCisoQnVpbHRpbilnKENvbW1hbmRzXSwpaChwYWdlKWYoMzdcKS4pNjggYihUaGUpMzkgYihwKXMob3NpdGlvbmFsKXAKIGVvcCBlbmQKICUlUGFnZTogMTggMjQKIFRlWERpY3QgYmVnaW4gMTggMjMgYm9wIDE1MCAtMTE2IGEgRnQoMTgpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTI3NSAyOTkgeShPbmx5KWsoYnJhY2UpaShleHBhbnNpb24sKWgodyltKG9yZCllCi0oc3BsaXR0aW5nLClqKGFuZClkKFwwMTRsZW5hbWUpZyhleHBhbnNpb24pZyhjYW4paChjKW0oaGFuZ2UpaCh0aGUpZShuKQotbSh1bSltKGIpcyhlcikxNTAgNDA4IHkob2YpaCh3KW0ob3JkcylmKG9mKWcodGhlKWgoZXhwYW5zaW9uOylpKG90aGVyKWUKLShleHBhbnNpb25zKWYoZXhwYW5kKWcoYSloKHNpbmdsZSlnKHcpbShvcmQpZih0byloKGEpZyhzaW5nbGUpZyh3KW0KLShvcmQuKTU4IGIoVGhlKTE1MCA1MTggeShvbmx5KTMyIGIoZXhjZXB0aW9ucylpKHRvKWYodGhpcylmKGFyZSloKHRoZSlmCi0oZXhwYW5zaW9ucylnKG9mKWggRnMoIiRAIillIEZ0KFwoc2VlKWkoU2VjdGlvbilnKDMuNC4yKWgoW1NwKXMoZWNpYWwpZgotKFApbShhcmFtZXRlcnNdLCkxNTAgNjI4IHkocGFnZSllKDE2XCkpaChhbmQpZCBGcygiJHspcAotRmkobmFtZSkxMSBiIEZzKFtAXX0iKTI3IGIgRnQoXChzZWUpayhTZWN0aW9uKWgoNi43KWYoW0FycmEpbSh5c10sKWcKLShwYWdlKWcoODBcKS4pMjc1IDc2NSB5KEFmdGVyKTQxIGIoYWxsKWkoZXhwYW5zaW9ucywpaAotRnMocXVvdGUpMjkgYihyZW1vdmFsKTQwIGIgRnQoXChzZWUpaShTZWN0aW9uKWgoMy41LjkpZyhbUXVvdGUpZihSZW1vKW0KLSh2KS01IGIoYWxdLCk0NyBiKHBhZ2UpNDIgYigyNVwpKWgoaXMpMTUwIDg3NSB5KHApcyhlcmZvcm1lZC4pMTUwCi0xMDc3IHkgRmooMy41LjEpNjMgYihCcmFjZSk0MCBiKEV4cGFuc2lvbikxNTAgMTIyNCB5Ci1GdChCcmFjZSkyOCBiKGV4cGFuc2lvbilmKGlzKWgoYSlmKG1lYyltKGhhbmlzbSloKGIpbSh5KWYod2hpYyltKGgpZgotKGFyYml0cmFyeSloKHN0cmluZ3MpZyhtYSltKHkpaChiKXMoZSlmKGdlbmVyYXRlZC4pNDAKLWIoVGhpcykyNyBiKG1lYyltKGhhLSkxNTAgMTMzNCB5KG5pc20pZShpcyloKHNpbWlsYXIpZyh0bylnCi1GcShcMDE0bGVuYW1lKWcoZXhwYW5zaW9uKWYgRnQoXChzZWUpaShTZWN0aW9uKWYoMy41LjgpaShbRmlsZW5hbWUpZgotKEV4cGFuc2lvbl0sKWYocGFnZSloKDI0XCksKWgoYnV0KTE1MCAxNDQzIHkodGhlKTM2IGIoXDAxNGxlKWYobmFtZXMpaAotKGdlbmVyYXRlZClnKG5lZWQpZihub3QpaChleGlzdC4pNTcgYihQKW0oYXR0ZXJucykzNgotYih0bylnKGIpcyhlKWYoYnJhY2UpaChleHBhbmRlZCllKHRhayltKGUpaih0aGUpZihmb3JtKWYob2YpMTUwCi0xNTUzIHkoYW4pMjkgYihvcHRpb25hbClpIEZxKHByZWFtKW0oYmxlKTUgYiBGdCgsKTMwCi1iKGZvbGxvKW0odyltKGVkKWkoYiltKHkpZChlaXRoZXIpaChhKWcoc2VyaWVzKWcob2YpZyhjb21tYS1zZXBhcmF0ZWQpaAotKHN0cmluZ3MpZShvciloKGEpZyhzZXFldW5jZSkxNTAgMTY2MyB5KGV4cHJlc3Npb24pMzYKLWIoYilzKGV0KW0odyltKGVlbilnKGEpZyhwYWlyKWcob2YpZyhicmFjZXMsKWkoZm9sbG8pbSh3KW0oZWQpZihiKW0oeSlmCi0oYW4pZyhvcHRpb25hbCloIEZxKHApcyhvc3RzY3JpcHQpciBGdCguKTU2IGIoVGhlKTM2Ci1iKHByZWFtKW0oYmxlKWcoaXMpMTUwIDE3NzIgeShwcmVcMDE0eGVkKTI4IGIodG8paChlYWMpbShoKWgoc3RyaW5nKWYKLShjb24pbSh0YWluZWQpaCh3aXRoaW4pZSh0aGUpaChicmFjZXMsKWcoYW5kKWcodGhlKWcocClzKG9zdHNjcmlwdClmCi0oaXMpaCh0aGVuKWYoYXBwKXMoZW5kZWQpZih0bykxNTAgMTg4MiB5KGVhYyltKGgpMzIgYihyZXN1bHRpbmcpZQotKHN0cmluZywpaChleHBhbmRpbmcpZShsZWZ0KWoodG8pZihyaWdoKW0odC4pMjc1IDIwMTkKLXkoQnJhY2UpMzcgYihleHBhbnNpb25zKWYobWEpbSh5KWgoYilzKGUpZihuZXN0ZWQuKTU5Ci1iKFRoZSkzNiBiKHJlc3VsdHMpZyhvZiloKGVhYyltKGgpZyhleHBhbmRlZClmKHN0cmluZylnKGFyZSloKG5vdClnCi0oc29ydGVkOykxNTAgMjEyOSB5KGxlZnQpMzEgYih0bylnKHJpZ2gpbSh0KWcob3JkZXIpZihpcylnKHByZXNlcnYpbQotKGVkLik0MSBiKEYpLTggYihvcikzMSBiKGV4YW1wbGUsKTM5MCAyMjY3IHkgRnMoYmFzaCQpNDYKLWIoZWNobyloKGF7ZCxjLGJ9ZSkzOTAgMjM3NiB5KGFkZSlnKGFjZSlnKGFiZSkyNzUgMjUxNAoteSBGdChBKTIwIGIoc2VxdWVuY2UpaChleHByZXNzaW9uKWcodGFrKW0oZXMpaCh0aGUpZihmb3JtKWYKLUZzKHspcCBGaSh4KTExIGIgRnMoLi4pcCBGaSh5KWcgRnMoWy4uKXAgRmkoaW5jcilnIEZzKF19KXAKLUZ0KCwpMTggYih3aGVyZSlpIEZxKHgpMjcgYiBGdChhbmQpMjAgYiBGcSh5KTI4IGIgRnQoYXJlKTIyCi1iKGVpdGhlcilmKGluKW0odGVnZXJzKTE1MCAyNjIzIHkob3IpNDIgYihzaW5nbGUpaChjKW0oaGFyYWN0ZXJzLClqCi0oYW5kKWMgRnEoaW5jcik3IGIgRnQoLCk0NCBiKGFuKWUob3B0aW9uYWwpaChpbmNyZW1lbiltKHQsKWooaXMpYyhhbilnCi0oaW4pbSh0ZWdlci4pNzcgYihXaGVuKTQxIGIoaW4pbSh0ZWdlcnMpaihhcmUpMTUwIDI3MzMKLXkoc3VwcGxpZWQsKWUodGhlKWYoZXhwcmVzc2lvbilnKGV4cGFuZHMpZih0byloKGVhYyltKGgpaChuKW0odW0pbShiKXMKLShlcillKGIpcyhldCltKHcpbShlZW4paCBGcSh4KTQ3IGIgRnQoYW5kKTQwIGIgRnEoeSk4Ci1iIEZ0KCwpNDQgYihpbmNsdXNpdiltKGUuKTczIGIoU3VwcGxpZWQpMTUwIDI4NDIgeShpbiltKHRlZ2VycykzMwotYihtYSltKHkpZShiKXMoZSlnKHByZVwwMTR4ZWQpZih3aXRoKWgoYClwIEZzKDApcCBGdCgnKWgodG8pZyhmb3JjZSlnCi0oZWFjKW0oaClnKHRlcm0pZyh0bylnKGhhKW0odiltKGUpZyh0aGUpZyhzYW1lKWcod2lkdGguKTQyCi1iKFdoZW4pMzEgYihlaXRoZXIpMTUwIDI5NTIgeSBGcSh4KTQzIGIgRnQob3IpMzYgYiBGcSh5KTQ0Ci1iIEZ0KGIpcyhlZ2lucykzNiBiKHdpdGgpZyhhKWgoemVybywpaSh0aGUpZShzaGVsbClnKGF0dGVtcHRzKWcodG8pZwotKGZvcmNlKWcoYWxsKWgoZ2VuZXJhdGVkKWYodGVybXMpZyh0bylnKGNvbiltKHRhaW4paCh0aGUpMTUwCi0zMDYyIHkoc2FtZSllKG4pbSh1bSltKGIpcyhlcillKG9mKWkoZGlnaXRzLClpKHplcm8tcGFkZGluZylkKHdoZXJlKWgKLShuZWNlc3NhcnkpLTggYiguKTU3IGIoV2hlbikzNSBiKGMpbShoYXJhY3RlcnMpaShhcmUpZihzdXBwbGllZCwpZyh0aGUpCi0xNTAgMzE3MSB5KGV4cHJlc3Npb24paChleHBhbmRzKWYodG8paShlYWMpbShoKWcoYyltKGhhcmFjdGVyKWcKLShsZXhpY29ncmFwaGljYWxseSlpKGIpcyhldCltKHcpbShlZW4pZSBGcSh4KTQzIGIgRnQoYW5kKTM3Ci1iIEZxKHkpOCBiIEZ0KCwpMzggYihpbmNsdXNpdiltKGUuKTYyIGIoTm90ZSkxNTAgMzI4MQoteSh0aGF0KTMwIGIoYilzKG90aCllIEZxKHgpMzUgYiBGdChhbmQpMjggYiBGcSh5KTM3IGIKLUZ0KG0pbSh1c3QpMjkgYihiKXMoZSlmKG9mKWgodGhlKWcoc2FtZSlnKHQpbSh5cClzKGUuKTQxCi1iKFdoZW4pMjggYih0aGUpaShpbmNyZW1lbiltKHQpZihpcylnKHN1cHBsaWVkLClmKGl0KWkoaXMpZih1c2VkKWYoYXMpCi0xNTAgMzM5MCB5KHRoZSlqKGRpXDAxM2VyZW5jZSlmKGIpcyhldCltKHcpbShlZW4paChlYWMpbShoKWgodGVybS4pNDEKLWIoVGhlKTMwIGIoZGVmYXVsdClnKGluY3JlbWVuKW0odCloKGlzKWcoMSlmKG9yKWgoLTEpZyhhcylmCi0oYXBwcm9wcmlhdGUuKTI3NSAzNTI4IHkoQnJhY2UpMzYgYihleHBhbnNpb24pZyhpcylmKHApcyhlcmZvcm1lZClmKGIpcwotKGVmb3JlKWgoYW4pbSh5KWgob3RoZXIpZyhleHBhbnNpb25zLCloKGFuZCllKGFuKW0oeSlnKGMpbShoYXJhY3RlcnMpaQotKHNwKXMoZWNpYWwpMTUwIDM2MzggeSh0bykzMiBiKG90aGVyKWcoZXhwYW5zaW9ucylnKGFyZSlnKHByZXNlcnYpbShlZCkKLWYoaW4paCh0aGUpZihyZXN1bHQuKTQ1IGIoSXQpMzIgYihpcylnKHN0cmljdGx5KWcodGV4dHVhbC4pNDYKLWIoQmFzaCkzMiBiKGRvKXMoZXMpZihub3QpaChhcHBseSkxNTAgMzc0NyB5KGFuKW0oeSkyNwotYihzeW4pbSh0YWN0aWMpaShpbiltKHRlcnByZXRhdGlvbilnKHRvKWYodGhlKWYoY29uKW0odGV4dClpKG9mKWUodGhlKWcKLShleHBhbnNpb24pZyhvcilnKHRoZSloKHRleHQpZyhiKXMoZXQpbSh3KW0oZWVuKWYodGhlKWgoYnJhY2VzLikxNTAKLTM4NTcgeShUKS04IGIobykzNyBiKGEpbSh2KW0ob2lkKWcoY29uXDAxNWljdHMpZyh3aXRoKWYocGFyYW1ldGVyKWgKLShleHBhbnNpb24sKWcodGhlKWcoc3RyaW5nKWYoYClwIEZzKCR7KXAgRnQoJylnKGlzKWcobm90KWcoY29uc2lkZXJlZClnCi0oZWxpZ2libGUpaShmb3IpMTUwIDM5NjYgeShicmFjZSkzMSBiKGV4cGFuc2lvbi4pMjc1Ci00MTA0IHkoQSllKGNvcnJlY3RseS1mb3JtZWQpaShicmFjZSlmKGV4cGFuc2lvbilmKG0pbSh1c3QpaChjb24pbSh0YWluKQotaCh1bnF1b3RlZCllKG9wKXMoZW5pbmcpZyhhbmQpZyhjbG9zaW5nKWkoYnJhY2VzLCkxNTAKLTQyMTQgeShhbmQpaChhdClpKGxlYXN0KWcob25lKWYodW5xdW90ZWQpZyhjb21tYSlnKG9yKWcoYSloKHYpLTUKLWIoYWxpZCkzMyBiKHNlcXVlbmNlKWcoZXhwcmVzc2lvbi4pNDggYihBbiltKHkpMzMgYihpbmNvcnJlY3RseSloCi0oZm9ybWVkKTE1MCA0MzIzIHkoYnJhY2UpZChleHBhbnNpb24pZihpcylnKGxlZnQpaCh1bmMpbShoYW5nZWQuKTI3NQotNDQ2MSB5KEEpMjUgYiBGcyh7KWcgRnQob3IpZyhgKXAgRnMoLClwIEZ0KCcpZyhtYSltKHkpaChiKXMoZSlmKHF1b3RlZCkKLWcod2l0aClnKGEpaChiYWMpbShrc2xhc2gpZih0byloKHByZXYpbShlbiltKHQpZyhpdHMpZyhiKXMoZWluZylmCi0oY29uc2lkZXJlZClnKHBhcnQpZyhvZilnKGEpaChicmFjZSkxNTAgNDU3MCB5KGV4cHJlc3Npb24uKTUxCi1iKFQpLTggYihvKTM0IGIoYSltKHYpbShvaWQpaShjb25cMDE1aWN0cyllKHdpdGgpZyhwYXJhbWV0ZXIpZwotKGV4cGFuc2lvbiwpaCh0aGUpZihzdHJpbmcpZyhgKXAgRnMoJHspcCBGdCgnKWcoaXMpZyhub3QpZyhjb25zaWRlcmVkKQotMTUwIDQ2ODAgeShlbGlnaWJsZSllKGZvcillKGJyYWNlKWgoZXhwYW5zaW9uLikyNzUgNDgxOAoteShUaGlzKWYoY29uc3RydWN0KWgoaXMpZyh0KW0oeXBpY2FsbHkpaSh1c2VkKWQoYXMpaChzaG9ydGhhbmQpZih3aGVuKWcKLSh0aGUpaChjb21tb24pZyhwcmVcMDE0eClmKG9mKWgodGhlKWcoc3RyaW5ncylnKHRvKTE1MAotNDkyNyB5KGIpcyhlKWYoZ2VuZXJhdGVkKWgoaXMpZyhsb25nZXIpZyh0aGFuKWYoaW4pZyh0aGUpZyhhYilzKG8pbSh2KW0KLShlKWkoZXhhbXBsZTopMzkwIDUwNjUgeSBGcyhta2Rpcik0NiBiKC91c3IvbG9jYWwvc3JjL2Jhc2gve29sZCxuKW8KLShldywpbyhkaXN0KW8oLGJ1ZylvKHN9KTI3NSA1MjAyIHkgRnQob3IpMzkwIDUzNDAgeSBGcyhjaG93bilnKHJvb3QpaAotKC91c3Ive3VjYi97ZXgsZWRpdH0sbGliLylvKHtleD8pbyguPyosKW8oaG93KW8oX2V4fSlvKH0pcAotZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5KHBhcmFtZXRlcnMpNDQgYihhcmUpZyh0ZW1wKXMob3JhcmlseSkKK2cocmVwbGFjZWQpaCh3aGVuKWUoYSloKHNoZWxsKWcoZnVuY3Rpb24pZyhpcylnKGV4ZWN1dGVkKWcoXChzZWUpaAorKFNlY3Rpb24pZygzLjMpMTUwIDQwOCB5KFtTaGVsbCkzMCBiKEYpLTggYih1bmN0aW9uc10sKTMyCitiKHBhZ2UpZigxNVwpLikyNzUgNTQ2IHkoV2hlbiljKGEpaShwKXMob3NpdGlvbmFsKWcocGFyYW1ldGVyKWcKKyhjb25zaXN0aW5nKWYob2YpaChtb3JlKWYodGhhbilnKGEpZyhzaW5nbGUpaChkaWdpdClnKGlzKWYoZXhwYW5kZWQsKWcKKyhpdCloKG0pbSh1c3QpMTUwIDY1NiB5KGIpcyhlKWgoZW5jbG9zZWQpaChpbilmKGJyYWNlcy4pMTUwCis4NTkgeSBGaigzLjQuMik2MyBiKFNwKXMoZWNpYWwpNDEgYihQKW0oYXJhbWV0ZXJzKTE1MAorMTAwNiB5IEZ0KFRoZSlkKHNoZWxsKWcodHJlYXRzKWgoc2V2KW0oZXJhbClnKHBhcmFtZXRlcnMpZihzcClzCisoZWNpYWxseSktOCBiKC4pNjUgYihUaGVzZSkzOCBiKHBhcmFtZXRlcnMpaChtYSltKHkpZihvbmx5KWcoYilzKGUpZworKHJlZmVyZW5jZWQ7KTE1MCAxMTE1IHkoYXNzaWdubWVuKW0odCkzMSBiKHRvKWcodGhlbSlnKGlzKWYobm90KWgoYWxsbykKK20odyltKGVkLikxNTAgMTI4MCB5IEZzKCopNDMyIGIgRnQoRXhwYW5kcykyOSBiKHRvKWgodGhlKWgocClzCisob3NpdGlvbmFsKWYocGFyYW1ldGVycywpaChzdGFydGluZylnKGZyb20pZShvbmUuKTQxCitiKFdoZW4pMzAgYih0aGUpZyhleHBhbnNpb24pNjMwIDEzODkgeShvKXMoY2N1cnMpZSh3aXRoaW4pZihkb3VibGUpaAorKHF1b3RlcywpaChpdClnKGV4cGFuZHMpZSh0bylpKGEpZihzaW5nbGUpaCh3KW0ob3JkKWYod2l0aClnKHRoZSlnKHYpLTUKK2IoYWx1ZSkyOSBiKG9mKWYoZWFjKW0oaCk2MzAgMTQ5OSB5KHBhcmFtZXRlcilpKHNlcGFyYXRlZClnKGIpbSh5KWYKKyh0aGUpZyhcMDE0cnN0KWcoYyltKGhhcmFjdGVyKWkob2YpZSh0aGUpaCBGcyhJRlMpZSBGdChzcClzKGVjaWFsKWkodikKKy01IGIoYXJpYWJsZS4pNDEgYihUaGF0KTMwIGIoaXMsKTYzMCAxNjA5IHkgRnMoIiQqIiloCitGdChpcylpKGVxdWl2KS01IGIoYWxlbiltKHQpMzMgYih0byloIEZzKCIkMSlwIEZpKGMpMTEKK2IgRnMoJDIpcCBGaShjKWcgRnMoLi4uKWwoIilwIEZ0KCwpMzMgYih3aGVyZSlmIEZxKGMpMzgKK2IgRnQoaXMpMzIgYih0aGUpaChcMDE0cnN0KWUoYyltKGhhcmFjdGVyKWoob2YpZih0aGUpZih2KS01CitiKGFsdWUpNjMwIDE3MTggeShvZikzMCBiKHRoZSlnIEZzKElGUylnIEZ0KHYpLTUgYihhcmlhYmxlLik0MQorYihJZikzMCBiIEZzKElGUylmIEZ0KGlzKWgodW5zZXQsKWcodGhlKWcocGFyYW1ldGVycylnKGFyZSloKHNlcGFyYXRlZCkKK2YoYiltKHkpZyhzcGFjZXMuKTQxIGIoSWYpNjMwIDE4MjggeSBGcyhJRlMpMjkgYiBGdChpcylpKG4pbSh1bGwsKWYKKyh0aGUpaChwYXJhbWV0ZXJzKWcoYXJlKWYoam9pbmVkKWgod2l0aG91dClmKGluKW0odGVydiltKGVuaW5nKWkKKyhzZXBhcmF0b3JzLikxNTAgMTk5MSB5IEZzKEApNDMyIGIgRnQoRXhwYW5kcykyOSBiKHRvKWgodGhlKWgocClzCisob3NpdGlvbmFsKWYocGFyYW1ldGVycywpaChzdGFydGluZylnKGZyb20pZShvbmUuKTQxCitiKFdoZW4pMzAgYih0aGUpZyhleHBhbnNpb24pNjMwIDIxMDAgeShvKXMoY2N1cnMpYyh3aXRoaW4pZyhkb3VibGUpZgorKHF1b3RlcywpaihlYWMpbShoKWYocGFyYW1ldGVyKWcoZXhwYW5kcyllKHRvKWkoYSlnKHNlcGFyYXRlKWcodyltCisob3JkLikzOSBiKFRoYXQpNjMwIDIyMTAgeShpcywpMjkgYiBGcygiJEAiKWUgRnQoaXMpaShlcXVpdiktNQorYihhbGVuKW0odCkzMCBiKHRvKWYgRnMoIiQxIilnKCIkMiIpaCguLi4pbyBGdCguKTQwIGIoSWYpMjgKK2IodGhlKWcoZG91YmxlLXF1b3RlZCloKGV4cGFuc2lvbilmKG8pcyhjY3Vycyk2MzAgMjMxOQoreSh3aXRoaW4pZChhKWgodyltKG9yZCwpZyh0aGUpZyhleHBhbnNpb24pZihvZiloKHRoZSlnKFwwMTRyc3QpZgorKHBhcmFtZXRlciloKGlzKWYoam9pbmVkKWgod2l0aClmKHRoZSloKGIpcyhlZ2lubmluZyk2MzAKKzI0MjkgeShwYXJ0KWYob2YpZyh0aGUpZyhvcmlnaW5hbClnKHcpbShvcmQsKWgoYW5kKWUodGhlKWgoZXhwYW5zaW9uKWcKKyhvZilnKHRoZSlnKGxhc3QpaChwYXJhbWV0ZXIpZihpcylnKGpvaW5lZClmKHdpdGgpNjMwCisyNTM5IHkodGhlKTM3IGIobGFzdClnKHBhcnQpZyhvZilmKHRoZSloKG9yaWdpbmFsKWgodyltKG9yZC4pNTkKK2IoV2hlbikzNiBiKHRoZXJlKWgoYXJlKWcobm8pZihwKXMob3NpdGlvbmFsKWgocGFyYW1ldGVycywpNjMwCisyNjQ4IHkgRnMoIiRAIikyOSBiIEZ0KGFuZCloIEZzKCRAKWcgRnQoZXhwYW5kKWYodG8paihub3RoaW5nKWUKKyhcKGkuZS4sKWkodGhleSllKGFyZSloKHJlbW8pbSh2KW0oZWRcKS4pMTUwIDI4MTEgeSBGcygjKTQzMgorYiBGdChFeHBhbmRzKTI5IGIodG8paSh0aGUpZyhuKW0odW0pbShiKXMoZXIpZShvZiloKHApcyhvc2l0aW9uYWwpaAorKHBhcmFtZXRlcnMpZyhpbilmKGRlY2ltYWwuKTE1MCAyOTc0IHkgRnMoPyk0MzIgYiBGdChFeHBhbmRzKTI5CitiKHRvKWkodGhlKWcoZXhpdClnKHN0YXR1cylnKG9mKWYodGhlKWgobW9zdClmKHJlY2VuKW0odGx5KWkoZXhlY3V0ZWQpZgorKGZvcmVncm91bmQpZihwaXApcyhlbGluZS4pMTUwIDMxMzcgeSBGcygtKTQzMiBiIEZ0KFwoQSkzMQorYihoKW0oeXBoZW4uXCkpNDIgYihFeHBhbmRzKTMwIGIodG8paCh0aGUpZyhjdXJyZW4pbSh0KWcob3B0aW9uKWgKKyhcMDE1YWdzKWYoYXMpZyhzcClzKGVjaVwwMTRlZClmKHVwKXMob24pZyhpbiltKHYpbShvKXMoY2F0aW9uLCk2MzAKKzMyNDYgeShiKW0oeSkzNSBiKHRoZSloIEZzKHNldCllIEZ0KGJ1aWx0aW4paChjb21tYW5kLCloKG9yKWcodGhvc2UpZworKHNldClmKGIpbSh5KWgodGhlKWYoc2hlbGwpaChpdHNlbGYpZyhcKHN1YyltKGgpZihhcyloKHRoZSlmKGApcAorRnMoLWkpcCBGdCgnKTYzMCAzMzU2IHkob3B0aW9uXCkuKTE1MCAzNTE5IHkgRnMoJCk0MzIKK2IgRnQoRXhwYW5kcykzOSBiKHRvKWoodGhlKWYocHJvKXMoY2VzcylmIEZsKGlkKWggRnQob2YpZyh0aGUpZyhzaGVsbC4pCis3MyBiKEluKTQwIGIoYSloIEZzKFwoXCkpZiBGdChzdWJzaGVsbCwpaihpdCllKGV4cGFuZHMpZih0bylpKHRoZSk2MzAKKzM2MjggeShwcm8pcyhjZXNzKTMwIGIgRmwoaWQpZyBGdChvZiloKHRoZSlnKGluKW0odiltKG9raW5nKWcoc2hlbGwsKWcKKyhub3QpZyh0aGUpZihzdWJzaGVsbC4pMTUwIDM3OTEgeSBGcyghKTQzMiBiIEZ0KEV4cGFuZHMpMzkKK2IodG8paSh0aGUpZyhwcm8pcyhjZXNzKWUgRmwoaWQpaSBGdChvZilmKHRoZSloKG1vc3QpZyhyZWNlbiltKHRseSlnCisoZXhlY3V0ZWQpZyhiYWMpbShrZ3JvdW5kKWcoXChhc3luLSk2MzAgMzkwMSB5KGMpbShocm9ub3VzXCkpMzAKK2IoY29tbWFuZC4pMTUwIDQwNjQgeSBGcygwKTQzMiBiIEZ0KEV4cGFuZHMpMjAgYih0bylqKHRoZSlmKG5hbWUpZyhvZilnCisodGhlKWcoc2hlbGwpZyhvcilmKHNoZWxsKWgoc2NyaXB0LikzOCBiKFRoaXMpMjEgYihpcyloKHNldClnKGF0KWgKKyhzaGVsbClmKGluaXRpYWxpemF0aW9uLik2MzAgNDE3MyB5KElmKTQ0IGIoQmFzaClnKGlzKWcoaW4pbSh2KW0ob2spbQorKGVkKWkod2l0aCllKGEpZyhcMDE0bGUpZyhvZiloKGNvbW1hbmRzKWUoXChzZWUpaihTZWN0aW9uKWYoMy44KWcKKyhbU2hlbGwpZihTY3JpcHRzXSwpNjMwIDQyODMgeShwYWdlKTM5IGIoMzRcKSwpaSBGcygkMClkCitGdChpcylnKHNldClnKHRvKWgodGhlKWYobmFtZSlnKG9mKWcodGhhdCloKFwwMTRsZS4pNjQKK2IoSWYpMzcgYihCYXNoKWkoaXMpZihzdGFydGVkKWcod2l0aClnKHRoZSlnKGApcCBGcygtYylwCitGdCgnKTYzMCA0MzkyIHkob3B0aW9uKWkoXChzZWUpZyhTZWN0aW9uKWgoNi4xKWYoW0luKW0odiltKG9raW5nKWgKKyhCYXNoXSwpaChwYWdlKWUoNzNcKSwpaih0aGVuKWQgRnMoJDApZSBGdChpcylpKHNldClnKHRvKWcodGhlKWcKKyhcMDE0cnN0KTYzMCA0NTAyIHkoYXJndW1lbiltKHQpMzEgYihhZnRlcilnKHRoZSlnKHN0cmluZylnKHRvKWcoYilzKGUpCitmKGV4ZWN1dGVkLClpKGlmKWYob25lKWcoaXMpZihwcmVzZW4pbSh0Lik0MiBiKE90aGVyd2lzZSwpMzEKK2IoaXQpZyhpcylmKHNldCk2MzAgNDYxMiB5KHRvKWgodGhlKWcoXDAxNGxlbmFtZSlmKHVzZWQpZyh0byloKGluKW0odiltCisob2spbShlKWgoQmFzaCwpZihhcylnKGdpdiltKGVuKWcoYiltKHkpZihhcmd1bWVuKW0odCloKHplcm8uKTE1MAorNDc3NCB5IEZzKF8pNDMyIGIgRnQoXChBbikyNyBiKHVuZGVyc2NvcmUuXCkpMzkgYihBKW0odCkyOQorYihzaGVsbCllKHN0YXJ0dXAsKWgoc2V0KWYodG8paCh0aGUpZyhhYnNvbHV0ZSlnKHBhdGhuYW1lKWYodXNlZClmKHRvKWkKKyhpbiltKHYpbShvayltKGUpNjMwIDQ4ODQgeSh0aGUpMjIgYihzaGVsbClnKG9yKWcoc2hlbGwpZyhzY3JpcHQpZihiKXMKKyhlaW5nKWgoZXhlY3V0ZWQpaChhcylmKHBhc3NlZClmKGluKWcodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQpaChvcillCisoYXJndW1lbiltKHQpNjMwIDQ5OTQgeShsaXN0Lik3MiBiKFN1YnNlcXVlbiltKHRseSktOAorYigsKTQzIGIoZXhwYW5kcyljKHRvKWoodGhlKWUobGFzdClpKGFyZ3VtZW4pbSh0KWYodG8pZyh0aGUpZyhwcmV2aW91cykKK2YoY29tbWFuZCwpNjMwIDUxMDMgeShhZnRlcikzNSBiKGV4cGFuc2lvbi4pNTQgYihBbHNvKTM2CitiKHNldClmKHRvKWgodGhlKWYoZnVsbClmKHBhdGhuYW1lKWgodXNlZClmKHRvKWgoaW4pbSh2KW0ob2spbShlKWkoZWFjKQorbShoKWYoY29tbWFuZCk2MzAgNTIxMyB5KGV4ZWN1dGVkKTQyIGIoYW5kKWUocGxhY2VkKWkoaW4pZSh0aGUpaChlbiltCisodmlyb25tZW4pbSh0KWgoZXhwKXMob3J0ZWQpZih0bylnKHRoYXQpaChjb21tYW5kLik3MgorYihXaGVuKTYzMCA1MzIyIHkoYyltKGhlYyltKGtpbmcpMzIgYihtYWlsLClmKHRoaXMpZyhwYXJhbWV0ZXIpZyhob2xkcykKK2UodGhlKWkobmFtZSlmKG9mKWgodGhlKWcobWFpbClnKFwwMTRsZS4pcCBlb3AgZW5kCiAlJVBhZ2U6IDE5IDI1CiBUZVhEaWN0IGJlZ2luIDE5IDI0IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQogYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDE5KTE1MCAyOTkKLXkgRmooMy41LjIpNjMgYihUaWxkZSk0MSBiKEV4cGFuc2lvbikxNTAgNDQ2IHkgRnQoSWYpMjkKLWIoYSloKHcpbShvcmQpZyhiKXMoZWdpbnMpZih3aXRoKWcoYW4paCh1bnF1b3RlZClmKHRpbGRlKWgoYyltCi0oaGFyYWN0ZXIpaChcKGApcCBGcyh+KXAgRnQoJ1wpLClnKGFsbClnKG9mKWYodGhlKWcoYyltKGhhcmFjdGVycyloKHVwKQotZCh0bylqKHRoZSlmKFwwMTRyc3QpMTUwIDU1NSB5KHVucXVvdGVkKTIzIGIoc2xhc2gpaChcKG9yKWgoYWxsKWcoYyltCi0oaGFyYWN0ZXJzLClpKGlmKWQodGhlcmUpZyhpcyloKG5vKWYodW5xdW90ZWQpZihzbGFzaFwpKWgoYXJlKWgKLShjb25zaWRlcmVkKWYoYSlnIEZxKHRpbGRlLXByZVwwMTR4KTYgYiBGdCguKTE1MCA2NjUKLXkoSWYpMzggYihub25lKWcob2YpZyh0aGUpaChjKW0oaGFyYWN0ZXJzKWcoaW4pZih0aGUpaCh0aWxkZS1wcmVcMDE0eClmCi0oYXJlKWgocXVvdGVkLCloKHRoZSlmKGMpbShoYXJhY3RlcnMpaChpbilkKHRoZSlpKHRpbGRlLXByZVwwMTR4KTE1MAotNzc1IHkoZm9sbG8pbSh3aW5nKTI4IGIodGhlKWYodGlsZGUpZyhhcmUpZyh0cmVhdGVkKWgoYXMpZihhKWcocClzCi0ob3NzaWJsZSlmIEZxKGxvZ2luKWkobmFtZSk1IGIgRnQoLik0MCBiKElmKTI2IGIodGhpcylnKGxvZ2luKWkobmFtZSlmCi0oaXMpZih0aGUpaChuKW0odWxsKWcoc3RyaW5nLCkxNTAgODg0IHkodGhlKTM1IGIodGlsZGUpZyhpcylnKHJlcGxhY2VkKQotZyh3aXRoKWYodGhlKWgodiktNSBiKGFsdWUpMzUgYihvZilnKHRoZSlnIEZzKEhPTUUpZQotRnQoc2hlbGwpaSh2KS01IGIoYXJpYWJsZS4pNTQgYihJZikzNCBiIEZzKEhPTUUpZyBGdChpcyloKHVuc2V0LClnKHRoZSkKLWcoaG9tZSkxNTAgOTk0IHkoZGlyZWN0b3J5KWUob2YpZyh0aGUpZih1c2VyKWcoZXhlY3V0aW5nKWkodGhlKWUoc2hlbGwpCi1oKGlzKWYoc3Vic3RpdHV0ZWQpZyhpbnN0ZWFkLik0NyBiKE90aGVyd2lzZSwpMzMgYih0aGUpZwotKHRpbGRlLXByZVwwMTR4KTE1MCAxMTAzIHkoaXMpZChyZXBsYWNlZCloKHdpdGgpZih0aGUpaChob21lKWYKLShkaXJlY3RvcnkpaChhc3NvKXMoY2lhdGVkKWgod2l0aCllKHRoZSloKHNwKXMoZWNpXDAxNGVkKWUobG9naW4pagotKG5hbWUuKTI3NSAxMjM1IHkoSWYpZyh0aGUpaCh0aWxkZS1wcmVcMDE0eClmKGlzKWgoYClwCi1Gcyh+KylwIEZ0KCcsKWcodGhlKWcodiktNSBiKGFsdWUpMzMgYihvZilnKHRoZSlnKHNoZWxsKWcodiktNQotYihhcmlhYmxlKTM0IGIgRnMoUFdEKWQgRnQocmVwbGFjZXMpaih0aGUpZih0aWxkZS1wcmVcMDE0eC4pNDcKLWIoSWYpMTUwIDEzNDQgeSh0aGUpMzEgYih0aWxkZS1wcmVcMDE0eClmKGlzKWcoYClwIEZzKH4tKXAKLUZ0KCcsKWgodGhlKWYodiktNSBiKGFsdWUpMzEgYihvZilnKHRoZSlmKHNoZWxsKWgodiktNQotYihhcmlhYmxlKTMxIGIgRnMoT0xEUFdEKXAgRnQoLCllKGlmKWgoaXQpaChpcylnKHNldCwpZyhpcylmCi0oc3Vic3RpdHV0ZWQuKTI3NSAxNDc2IHkoSWYpZSh0aGUpaShjKW0oaGFyYWN0ZXJzKWcoZm9sbG8pbSh3aW5nKWgodGhlKQotZSh0aWxkZSloKGluKWYodGhlKWcodGlsZGUtcHJlXDAxNHgpaChjb25zaXN0KWYob2YpaChhKWYobiltKHVtKW0oYilzCi0oZXIpZiBGcShOKTEwIGIgRnQoLCkzMCBiKG9wdGlvbmFsbHkpMTUwIDE1ODUgeShwcmVcMDE0eGVkKTIyCi1iKGIpbSh5KWgoYSloKGApcCBGcygrKXAgRnQoJylmKG9yKWgoYSlmKGApcCBGcygtKXAgRnQoJywpaih0aGUpZAotKHRpbGRlLXByZVwwMTR4KWcoaXMpaChyZXBsYWNlZClmKHdpdGgpZyh0aGUpaChjb3JyZXNwKXMob25kaW5nKWUKLShlbGVtZW4pbSh0KWooZnJvbSllKHRoZSkxNTAgMTY5NSB5KGRpcmVjdG9yeSkzNiBiKHN0YWMpbShrLClpKGFzKWUoaXQpCi1nKHcpbShvdWxkKWYoYilzKGUpZyhkaXNwbGEpbSh5KW0oZWQpaChiKW0oeSlnKHRoZSlmCi1GcyhkaXJzKWcgRnQoYnVpbHRpbilnKGluKW0odiltKG9rKW0oZWQpaSh3aXRoKWUodGhlKWcoYyltKGhhcmFjdGVycykKLTE1MCAxODA0IHkoZm9sbG8pbSh3aW5nKTQwIGIodGlsZGUpZihpbilnKHRoZSlmKHRpbGRlLXByZVwwMTR4KWgoYXMpZwotKGFuKWYoYXJndW1lbiltKHQpaChcKHNlZSloKFNlY3Rpb24pZig2LjgpaChbVGhlKWUoRGlyZWN0b3J5KWkoU3RhYyltCi0oa10sKTE1MCAxOTE0IHkocGFnZSljKDgxXCkuKTU3IGIoSWYpMzUgYih0aGUpZyh0aWxkZS1wcmVcMDE0eCwpaShzYW5zKQotZSh0aGUpaCh0aWxkZSwpaChjb25zaXN0cylmKG9mKWcoYSlmKG4pbSh1bSltKGIpcyhlcilmKHdpdGhvdXQpaShhKWYKLShsZWFkaW5nKWgoYClwIEZzKCspcCBGdCgnKWcob3IpMTUwIDIwMjQgeShgKXAgRnMoLSlwCi1GdCgnLCkzMSBiKGApcCBGcygrKXAgRnQoJylmKGlzKWgoYXNzdW1lZC4pMjc1IDIxNTUgeShJZillKHRoZSlpKGxvZ2luKQotZyhuYW1lKWcoaXMpZihpbiltKHYpLTUgYihhbGlkLCkzMSBiKG9yKWcodGhlKWYodGlsZGUpaChleHBhbnNpb24pZgotKGZhaWxzLClpKHRoZSllKHcpbShvcmQpZyhpcyloKGxlZnQpZyh1bmMpbShoYW5nZWQuKTI3NQotMjI4NiB5KEVhYyltKGgpMzggYih2KS01IGIoYXJpYWJsZSkzOCBiKGFzc2lnbm1lbiltKHQpaChpcyllKGMpbShoZWMpbQotKGspbShlZClqKGZvcilkKHVucXVvdGVkKWcodGlsZGUtcHJlXDAxNHhlcyloKGltbWVkaWF0ZWx5KWcoZm9sbG8pbQotKHdpbmcpMTUwIDIzOTYgeShhKWQoYClwIEZzKDopcCBGdCgnKWcob3IpZyh0aGUpZyhcMDE0cnN0KWYoYClwCi1Gcyg9KXAgRnQoJy4pNTQgYihJbikzNCBiKHRoZXNlKWgoY2FzZXMsKWkodGlsZGUpZShleHBhbnNpb24pZyhpcylnCi0oYWxzbyloKHApcyhlcmZvcm1lZC4pNTIgYihDb25zZXF1ZW4pbSh0bHkpLTggYigsKTM3Ci1iKG9uZSkxNTAgMjUwNSB5KG1hKW0oeSkyNyBiKHVzZSllKFwwMTRsZSloKG5hbWVzKWcod2l0aClnKHRpbGRlcylnKGluKQotZyhhc3NpZ25tZW4pbSh0cyloKHRvKWcgRnMoUEFUSClwIEZ0KCwpZiBGcyhNQUlMUEFUSClwCi1GdCgsKWUoYW5kKWkgRnMoQ0RQQVRIKXAgRnQoLClmKGFuZCloKHRoZSlnKHNoZWxsKTE1MAotMjYxNSB5KGFzc2lnbnMpMzEgYih0aGUpZihleHBhbmRlZClnKHYpLTUgYihhbHVlLikyNzUKLTI3NDYgeShUaGUpMjkgYihmb2xsbyltKHdpbmcpaih0YWJsZSlnKHNobyltKHdzKWUoaG8pbSh3KWcoQmFzaCloCi0odHJlYXRzKWcodW5xdW90ZWQpZSh0aWxkZS1wcmVcMDE0eGVzOikxNTAgMjg5OSB5IEZzKH4pNDMyCi1iIEZ0KFRoZSkzMCBiKHYpLTUgYihhbHVlKTMxIGIob2YpZiBGcygkSE9NRSkxNTAgMzA1MgoteSh+L2ZvbykyNDAgYiBGdChgKXAgRnMoJEhPTUUvZm9vKXAgRnQoJykxNTAgMzIwNSB5IEZzKH5mcmVkL2Zvbyk2MzAKLTMzMTUgeSBGdChUaGUpMzAgYihzdWIpcyhkaXJlY3RvcnkpZiBGcyhmb28paCBGdChvZilnKHRoZSloKGhvbWUpZgotKGRpcmVjdG9yeSloKG9mKWcodGhlKWYodXNlcilnIEZzKGZyZWQpMTUwIDM0NjggeSh+Ky9mb28pMTkyCi1iIEZ0KGApcCBGcygkUFdEL2ZvbylwIEZ0KCcpMTUwIDM2MjEgeSBGcyh+LS9mb28pZyBGdChgKXAKLUZzKCR7T0xEUFdELSd+LSd9L2ZvbylwIEZ0KCcpMTUwIDM3NzQgeSBGcyh+KXAgRmkoTikzODQKLWIgRnQoVGhlKTMwIGIoc3RyaW5nKWcodGhhdCloKHcpbShvdWxkKWYoYilzKGUpZyhkaXNwbGEpbSh5KW0oZWQpaChiKW0KLSh5KWYoYClwIEZzKGRpcnMpZygrKXAgRmkoTikxMSBiIEZ0KCcpMTUwIDM5MjcgeSBGcyh+KylwCi1GaShOKTMzNiBiIEZ0KFRoZSkzMCBiKHN0cmluZylnKHRoYXQpaCh3KW0ob3VsZClmKGIpcyhlKWcoZGlzcGxhKW0oeSltCi0oZWQpaChiKW0oeSlmKGApcCBGcyhkaXJzKWcoKylwIEZpKE4pMTEgYiBGdCgnKTE1MCA0MDgwCi15IEZzKH4tKXAgRmkoTikzMzYgYiBGdChUaGUpMzAgYihzdHJpbmcpZyh0aGF0KWgodyltKG91bGQpZihiKXMoZSlnCi0oZGlzcGxhKW0oeSltKGVkKWgoYiltKHkpZihgKXAgRnMoZGlycylnKC0pcCBGaShOKTExCi1iIEZ0KCcpMTUwIDQyNzMgeSBGaigzLjUuMyk2MyBiKFNoZWxsKTQxIGIoUCltKGFyYW1ldGVyKWYoRXhwYW5zaW9uKTE1MAotNDQyMCB5IEZ0KFRoZSlnKGApcCBGcygkKXAgRnQoJyloKGMpbShoYXJhY3RlcilpKGluKW0odHJvKXMoZHVjZXMpZAotKHBhcmFtZXRlciloKGV4cGFuc2lvbiwpaihjb21tYW5kKWQoc3Vic3RpdHV0aW9uLClpKG9yKWUoYXJpdGhtZXRpYykxNTAKLTQ1MjkgeShleHBhbnNpb24uKWQoVGhlKTIyIGIocGFyYW1ldGVyKWgobmFtZSlmKG9yKWcoc3ltKW0oYilzKG9sKWgodG8pCi1nKGIpcyhlKWUoZXhwYW5kZWQpaChtYSltKHkpaChiKXMoZSlmKGVuY2xvc2VkKWgoaW4pZihicmFjZXMsKWkod2hpYyltCi0oaCkxNTAgNDYzOSB5KGFyZSkzMSBiKG9wdGlvbmFsKWcoYnV0KWYoc2VydiltKGUpaCh0byloKHByb3RlY3QpZih0aGUpZwotKHYpLTUgYihhcmlhYmxlKTMxIGIodG8pZyhiKXMoZSlmKGV4cGFuZGVkKWcoZnJvbSlnKGMpbShoYXJhY3RlcnMpaQotKGltbWVkaWF0ZWx5KTE1MCA0NzQ5IHkoZm9sbG8pbSh3aW5nKWcoaXQpZih3aGljKW0oaClmKGNvdWxkKWcoYilzKGUpZwotKGluKW0odGVycHJldGVkKWgoYXMpZihwYXJ0KWgob2YpZih0aGUpaChuYW1lLikyNzUgNDg4MAoteShXaGVuKTQ0IGIoYnJhY2VzKWkoYXJlKWYodXNlZCwpaih0aGUpZShtYXRjKW0oaGluZylnKGVuZGluZylmKGJyYWNlKWcKLShpcylnKHRoZSlnKFwwMTRyc3QpZyhgKXAgRnMofSlwIEZ0KCcpZyhub3QpZyhlc2NhcClzKGVkKWgoYiltKHkpZihhKQotMTUwIDQ5ODkgeShiYWMpbShrc2xhc2gpNDAgYihvcilmKHdpdGhpbilnKGEpZyhxdW90ZWQpZyhzdHJpbmcsKWooYW5kKWMKLShub3QpaSh3aXRoaW4pZShhbiloKGVtKW0oYilzKGVkZGVkKWYoYXJpdGhtZXRpYylqKGV4cGFuc2lvbiwpMTUwCi01MDk5IHkoY29tbWFuZCkzMCBiKHN1YnN0aXR1dGlvbiwpZyhvciloKHBhcmFtZXRlcilnKGV4cGFuc2lvbi4pMjc1Ci01MjMwIHkoVGhlKTQwIGIoYmFzaWMpaChmb3JtKWcob2YpZyhwYXJhbWV0ZXIpaChleHBhbnNpb24pZShpcyloKCQpcAotRnMoeylwIEZxKHBhcmFtZXRlcik3IGIgRnMofSlwIEZ0KC4pNzMgYihUaGUpNDAgYih2KS01Ci1iKGFsdWUpNDIgYihvZilmIEZxKHBhcmFtZXRlcik0OCBiIEZ0KGlzKTE1MCA1MzQwIHkoc3Vic3RpdHV0ZWQuKTQzCi1iKFRoZSkzMSBiKGJyYWNlcylnKGFyZSloKHJlcXVpcmVkKWUod2hlbiloIEZxKHBhcmFtZXRlcikzOAotYiBGdChpcykzMSBiKGEpaChwKXMob3NpdGlvbmFsKWcocGFyYW1ldGVyKWcod2l0aClmKG1vcmUpcAotZW9wIGVuZAoreSBGcigzLjUpNjggYihTaGVsbCk0NSBiKEV4cGFuc2lvbnMpMTUwIDQ1OCB5IEZ0KEV4cGFuc2lvbikyNworYihpcylpKHApcyhlcmZvcm1lZClkKG9uKWkodGhlKWcoY29tbWFuZClnKGxpbmUpaChhZnRlcilmKGl0KWgoaGFzKWYoYikKK3MoZWVuKWYoc3BsaXQpaChpbiltKHRvKWkgRnModG9rZW4pcCBGdChzLikzOCBiKFRoZXJlKTI4CitiKGFyZSkxNTAgNTY4IHkoc2V2KW0oZW4paihraW5kcyllKG9mKWkoZXhwYW5zaW9uKWYocClzKGVyZm9ybWVkOikyMjUKKzcxMSB5IEZwKFwwMTcpNjAgYiBGdChicmFjZSkzMSBiKGV4cGFuc2lvbikyMjUgODUwIHkKK0ZwKFwwMTcpNjAgYiBGdCh0aWxkZSkzMSBiKGV4cGFuc2lvbikyMjUgOTg4IHkgRnAoXDAxNyk2MAorYiBGdChwYXJhbWV0ZXIpMzEgYihhbmQpZih2KS01IGIoYXJpYWJsZSkzMSBiKGV4cGFuc2lvbikyMjUKKzExMjcgeSBGcChcMDE3KTYwIGIgRnQoY29tbWFuZCkzMCBiKHN1YnN0aXR1dGlvbikyMjUKKzEyNjYgeSBGcChcMDE3KTYwIGIgRnQoYXJpdGhtZXRpYykzMiBiKGV4cGFuc2lvbikyMjUKKzE0MDUgeSBGcChcMDE3KTYwIGIgRnQodyltKG9yZCkzMCBiKHNwbGl0dGluZykyMjUgMTU0NAoreSBGcChcMDE3KTYwIGIgRnQoXDAxNGxlbmFtZSkzMSBiKGV4cGFuc2lvbikyNzUgMTcxNgoreShUaGUpaShvcmRlcilnKG9mKWgoZXhwYW5zaW9ucylnKGlzOik0NyBiKGJyYWNlKTM0IGIoZXhwYW5zaW9uLCloCisodGlsZGUpZyhleHBhbnNpb24sKWYocGFyYW1ldGVyLClpKHYpLTUgYihhcmlhYmxlLCkzNgorYihhbmQpMTUwIDE4MjUgeShhcml0aG1ldGljKTQ2IGIoZXhwYW5zaW9uKWYoYW5kKWcoY29tbWFuZClmCisoc3Vic3RpdHV0aW9uKWgoXChkb25lKWcoaW4pZyhhKWcobGVmdC10by1yaWdoKW0odClqKGZhc2hpb25cKSwpaCh3KW0KKyhvcmQpMTUwIDE5MzUgeShzcGxpdHRpbmcsKTMxIGIoYW5kKWYoXDAxNGxlbmFtZSloKGV4cGFuc2lvbi4pMjc1CisyMDc4IHkoT24pNDIgYihzeXN0ZW1zKWgodGhhdCloKGNhbilnKHN1cHApcyhvcnQpZShpdCwpNDcKK2IodGhlcmUpZChpcylmKGFuKWgoYWRkaXRpb25hbClnKGV4cGFuc2lvbilmKGEpbSh2KS01CitiKGFpbGFibGU6KTY5IGIgRnEocHJvKXMoY2VzcykxNTAgMjE4OCB5KHN1YnN0aXR1dGlvbilwCitGdCguKTYxIGIoVGhpcykzNiBiKGlzKWgocClzKGVyZm9ybWVkKWYoYXQpaSh0aGUpZihzYW1lKWgodGltZSlmKGFzKWgKKyhwYXJhbWV0ZXIsKWgodiktNSBiKGFyaWFibGUsKTQwIGIoYW5kKWQoYXJpdGhtZXRpYykxNTAKKzIyOTcgeShleHBhbnNpb24pMzAgYihhbmQpZyhjb21tYW5kKWcoc3Vic3RpdHV0aW9uLikyNzUKKzI0NDAgeShPbmx5KTM1IGIoYnJhY2UpaShleHBhbnNpb24sKWgodyltKG9yZCllKHNwbGl0dGluZywpaihhbmQpZAorKFwwMTRsZW5hbWUpZyhleHBhbnNpb24pZyhjYW4paChjKW0oaGFuZ2UpaCh0aGUpZShuKW0odW0pbShiKXMoZXIpMTUwCisyNTUwIHkob2YpaCh3KW0ob3JkcylmKG9mKWcodGhlKWgoZXhwYW5zaW9uOylpKG90aGVyKWUoZXhwYW5zaW9ucylmCisoZXhwYW5kKWcoYSloKHNpbmdsZSlnKHcpbShvcmQpZih0byloKGEpZyhzaW5nbGUpZyh3KW0ob3JkLik1OAorYihUaGUpMTUwIDI2NjAgeShvbmx5KTMyIGIoZXhjZXB0aW9ucylpKHRvKWYodGhpcylmKGFyZSloKHRoZSlmCisoZXhwYW5zaW9ucylnKG9mKWggRnMoIiRAIillIEZ0KFwoc2VlKWkoU2VjdGlvbilnKDMuNC4yKWgoW1NwKXMoZWNpYWwpZgorKFApbShhcmFtZXRlcnNdLCkxNTAgMjc2OSB5KHBhZ2UpZSgxOFwpKWgoYW5kKWQgRnMoIiR7KXAKK0ZpKG5hbWUpMTEgYiBGcyhbQF19IikyNyBiIEZ0KFwoc2VlKWsoU2VjdGlvbiloKDYuNylmKFtBcnJhKW0oeXNdLClnCisocGFnZSlnKDgyXCkuKTI3NSAyOTEyIHkoQWZ0ZXIpNDEgYihhbGwpaShleHBhbnNpb25zLCloCitGcyhxdW90ZSkyOSBiKHJlbW92YWwpNDAgYiBGdChcKHNlZSlpKFNlY3Rpb24paCgzLjUuOSlnKFtRdW90ZSlmKFJlbW8pbQorKHYpLTUgYihhbF0sKTQ3IGIocGFnZSk0MiBiKDI3XCkpaChpcykxNTAgMzAyMiB5KHApcyhlcmZvcm1lZC4pMTUwCiszMjMwIHkgRmooMy41LjEpNjMgYihCcmFjZSk0MCBiKEV4cGFuc2lvbikxNTAgMzM3NyB5CitGdChCcmFjZSkyOCBiKGV4cGFuc2lvbilmKGlzKWgoYSlmKG1lYyltKGhhbmlzbSloKGIpbSh5KWYod2hpYyltKGgpZgorKGFyYml0cmFyeSloKHN0cmluZ3MpZyhtYSltKHkpaChiKXMoZSlmKGdlbmVyYXRlZC4pNDAKK2IoVGhpcykyNyBiKG1lYyltKGhhLSkxNTAgMzQ4NiB5KG5pc20pZShpcyloKHNpbWlsYXIpZyh0bylnCitGcShcMDE0bGVuYW1lKWcoZXhwYW5zaW9uKWYgRnQoXChzZWUpaShTZWN0aW9uKWYoMy41LjgpaShbRmlsZW5hbWUpZgorKEV4cGFuc2lvbl0sKWYocGFnZSloKDI1XCksKWgoYnV0KTE1MCAzNTk2IHkodGhlKTM2IGIoXDAxNGxlKWYobmFtZXMpaAorKGdlbmVyYXRlZClnKG5lZWQpZihub3QpaChleGlzdC4pNTcgYihQKW0oYXR0ZXJucykzNgorYih0bylnKGIpcyhlKWYoYnJhY2UpaChleHBhbmRlZCllKHRhayltKGUpaih0aGUpZihmb3JtKWYob2YpMTUwCiszNzA1IHkoYW4pMjkgYihvcHRpb25hbClpIEZxKHByZWFtKW0oYmxlKTUgYiBGdCgsKTMwCitiKGZvbGxvKW0odyltKGVkKWkoYiltKHkpZChlaXRoZXIpaChhKWcoc2VyaWVzKWcob2YpZyhjb21tYS1zZXBhcmF0ZWQpaAorKHN0cmluZ3MpZShvciloKGEpZyhzZXFldW5jZSkxNTAgMzgxNSB5KGV4cHJlc3Npb24pMzYKK2IoYilzKGV0KW0odyltKGVlbilnKGEpZyhwYWlyKWcob2YpZyhicmFjZXMsKWkoZm9sbG8pbSh3KW0oZWQpZihiKW0oeSlmCisoYW4pZyhvcHRpb25hbCloIEZxKHApcyhvc3RzY3JpcHQpciBGdCguKTU2IGIoVGhlKTM2CitiKHByZWFtKW0oYmxlKWcoaXMpMTUwIDM5MjQgeShwcmVcMDE0eGVkKTI4IGIodG8paChlYWMpbShoKWgoc3RyaW5nKWYKKyhjb24pbSh0YWluZWQpaCh3aXRoaW4pZSh0aGUpaChicmFjZXMsKWcoYW5kKWcodGhlKWcocClzKG9zdHNjcmlwdClmCisoaXMpaCh0aGVuKWYoYXBwKXMoZW5kZWQpZih0bykxNTAgNDAzNCB5KGVhYyltKGgpMzIgYihyZXN1bHRpbmcpZQorKHN0cmluZywpaChleHBhbmRpbmcpZShsZWZ0KWoodG8pZihyaWdoKW0odC4pMjc1IDQxNzcKK3koQnJhY2UpMzcgYihleHBhbnNpb25zKWYobWEpbSh5KWgoYilzKGUpZihuZXN0ZWQuKTU5CitiKFRoZSkzNiBiKHJlc3VsdHMpZyhvZiloKGVhYyltKGgpZyhleHBhbmRlZClmKHN0cmluZylnKGFyZSloKG5vdClnCisoc29ydGVkOykxNTAgNDI4NyB5KGxlZnQpMzEgYih0bylnKHJpZ2gpbSh0KWcob3JkZXIpZihpcylnKHByZXNlcnYpbQorKGVkLik0MSBiKEYpLTggYihvcikzMSBiKGV4YW1wbGUsKTM5MCA0NDMwIHkgRnMoYmFzaCQpNDYKK2IoZWNobyloKGF7ZCxjLGJ9ZSkzOTAgNDUzOSB5KGFkZSlnKGFjZSlnKGFiZSkyNzUgNDY4MgoreSBGdChBKTIwIGIoc2VxdWVuY2UpaChleHByZXNzaW9uKWcodGFrKW0oZXMpaCh0aGUpZihmb3JtKWYKK0ZzKHspcCBGaSh4KTExIGIgRnMoLi4pcCBGaSh5KWcgRnMoWy4uKXAgRmkoaW5jcilnIEZzKF19KXAKK0Z0KCwpMTggYih3aGVyZSlpIEZxKHgpMjcgYiBGdChhbmQpMjAgYiBGcSh5KTI4IGIgRnQoYXJlKTIyCitiKGVpdGhlcilmKGluKW0odGVnZXJzKTE1MCA0NzkyIHkob3IpNDIgYihzaW5nbGUpaChjKW0oaGFyYWN0ZXJzLClqCisoYW5kKWMgRnEoaW5jcik3IGIgRnQoLCk0NCBiKGFuKWUob3B0aW9uYWwpaChpbmNyZW1lbiltKHQsKWooaXMpYyhhbilnCisoaW4pbSh0ZWdlci4pNzcgYihXaGVuKTQxIGIoaW4pbSh0ZWdlcnMpaihhcmUpMTUwIDQ5MDIKK3koc3VwcGxpZWQsKWUodGhlKWYoZXhwcmVzc2lvbilnKGV4cGFuZHMpZih0byloKGVhYyltKGgpaChuKW0odW0pbShiKXMKKyhlcillKGIpcyhldCltKHcpbShlZW4paCBGcSh4KTQ3IGIgRnQoYW5kKTQwIGIgRnEoeSk4CitiIEZ0KCwpNDQgYihpbmNsdXNpdiltKGUuKTczIGIoU3VwcGxpZWQpMTUwIDUwMTEgeShpbiltKHRlZ2VycykzMworYihtYSltKHkpZShiKXMoZSlnKHByZVwwMTR4ZWQpZih3aXRoKWgoYClwIEZzKDApcCBGdCgnKWgodG8pZyhmb3JjZSlnCisoZWFjKW0oaClnKHRlcm0pZyh0bylnKGhhKW0odiltKGUpZyh0aGUpZyhzYW1lKWcod2lkdGguKTQyCitiKFdoZW4pMzEgYihlaXRoZXIpMTUwIDUxMjEgeSBGcSh4KTQzIGIgRnQob3IpMzYgYiBGcSh5KTQ0CitiIEZ0KGIpcyhlZ2lucykzNiBiKHdpdGgpZyhhKWgoemVybywpaSh0aGUpZShzaGVsbClnKGF0dGVtcHRzKWcodG8pZworKGZvcmNlKWcoYWxsKWgoZ2VuZXJhdGVkKWYodGVybXMpZyh0bylnKGNvbiltKHRhaW4paCh0aGUpMTUwCis1MjMwIHkoc2FtZSllKG4pbSh1bSltKGIpcyhlcillKG9mKWkoZGlnaXRzLClpKHplcm8tcGFkZGluZylkKHdoZXJlKWgKKyhuZWNlc3NhcnkpLTggYiguKTU3IGIoV2hlbikzNSBiKGMpbShoYXJhY3RlcnMpaShhcmUpZihzdXBwbGllZCwpZyh0aGUpCisxNTAgNTM0MCB5KGV4cHJlc3Npb24paChleHBhbmRzKWYodG8paShlYWMpbShoKWcoYyltKGhhcmFjdGVyKWcKKyhsZXhpY29ncmFwaGljYWxseSlpKGIpcyhldCltKHcpbShlZW4pZSBGcSh4KTQzIGIgRnQoYW5kKTM3CitiIEZxKHkpOCBiIEZ0KCwpMzggYihpbmNsdXNpdiltKGUuKTYyIGIoTm90ZSlwIGVvcCBlbmQKICUlUGFnZTogMjAgMjYKIFRlWERpY3QgYmVnaW4gMjAgMjUgYm9wIDE1MCAtMTE2IGEgRnQoMjApMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSh0aGFuKWgob25lKWcoZGlnaXQsKWkob3IpZSh3aGVuKWcKLUZxKHBhcmFtZXRlcikzOSBiIEZ0KGlzKTMyIGIoZm9sbG8pbSh3KW0oZWQpaShiKW0oeSllKGEpaChjKW0oaGFyYWN0ZXIpCi1oKHRoYXQpZShpcyloKG5vdClmKHRvKWgoYilzKGUpZihpbiltKHRlcnByZXRlZCkxNTAgNDA4Ci15KGFzKWYocGFydClmKG9mKWcoaXRzKWgobmFtZS4pMjc1IDU1MyB5KElmKWModGhlKWcoXDAxNHJzdClnKGMpbQotKGhhcmFjdGVyKWkob2YpZiBGcShwYXJhbWV0ZXIpMzUgYiBGdChpcykyNyBiKGFuKWgoZXhjbGFtYXRpb24paShwKXMKLShvaW4pbSh0KWQoXCghXCksKWkoYSlmKGxldiltKGVsKWkob2YpZCh2KS01IGIoYXJpYWJsZSkyOQotYihpbmRpcmVjLSkxNTAgNjYzIHkodGlvbillKGlzKWYoaW4pbSh0cm8pcyhkdWNlZC4pMzkKLWIoQmFzaCkyNyBiKHVzZXMpZSh0aGUpaSh2KS01IGIoYWx1ZSkyNyBiKG9mKWYodGhlKWgodiktNQotYihhcmlhYmxlKTI3IGIoZm9ybWVkKWYoZnJvbSlnKHRoZSlnKHJlc3QpaChvZilmIEZxKHBhcmFtZXRlcikzNAotYiBGdChhcykxNTAgNzcyIHkodGhlKWUobmFtZSloKG9mKWYodGhlKWgodiktNSBiKGFyaWFibGU7KTM0Ci1iKHRoaXMpZSh2KS01IGIoYXJpYWJsZSkzMyBiKGlzKWcodGhlbilmKGV4cGFuZGVkKWYoYW5kKWgodGhhdCloKHYpLTUKLWIoYWx1ZSkzMiBiKGlzKWgodXNlZCllKGluKWgodGhlKWgocmVzdCkxNTAgODgyIHkob2YpaCh0aGUpZgotKHN1YnN0aXR1dGlvbiwpaShyYXRoZXIpZSh0aGFuKWcodGhlKWgodiktNSBiKGFsdWUpMzQKLWIob2YpZyBGcShwYXJhbWV0ZXIpNDAgYiBGdChpdHNlbGYuKTUxIGIoVGhpcykzMyBiKGlzKWcoa25vKW0od24pZyhhcyloCi1GcyhpbmRpcmVjdCkxNTAgOTkxIHkoZXhwYW5zaW9uKXAgRnQoLik0NSBiKFRoZSkzMiBiKGV4Y2VwdGlvbnMpaSh0bylnCi0odGhpcyllKGFyZSloKHRoZSlnKGV4cGFuc2lvbnMpZyhvZilnKCQpcCBGcyh7KXAgRnQoISlwCi1GcShwcmVcMDE0eCopOCBiIEZzKH0pMzEgYiBGdChhbmQpaSgkKXAgRnMoeylwIEZ0KCEpcAotRnEobmFtZSk1IGIgRnQoWylwIEZzKEApcCBGdChdKXAgRnMofSkzMyBiIEZ0KGRlLSkxNTAKLTExMDEgeShzY3JpYilzKGVkKWgoYilzKGVsbyltKHcuKTU2IGIoVGhlKTM1IGIoZXhjbGFtYXRpb24paihwKXMob2luKW0KLSh0KWQobSltKHVzdClnKGltbWVkaWF0ZWx5KWkoZm9sbG8pbSh3KWcodGhlKWUobGVmdClpKGJyYWNlKWUoaW4pZwotKG9yZGVyKWcodG8pMTUwIDEyMTAgeShpbiltKHRybylzKGR1Y2UpMzAgYihpbmRpcmVjdGlvbi4pMjc1Ci0xMzU1IHkoSW4pMzkgYihlYWMpbShoKWkob2YpZyh0aGUpZihjYXNlcyloKGIpcyhlbG8pbSh3LClpCi1GcSh3KW0ob3JkKWggRnQoaXMpYyhzdWIpNSBiKGplY3QpNDAgYih0byloKHRpbGRlKWYoZXhwYW5zaW9uLClqCi0ocGFyYW1ldGVyKWUoZXhwYW5zaW9uLCkxNTAgMTQ2NSB5KGNvbW1hbmQpMzAgYihzdWJzdGl0dXRpb24sKWcoYW5kKWcKLShhcml0aG1ldGljKWkoZXhwYW5zaW9uLikyNzUgMTYwOSB5KFdoZW4paChub3QpaChwKXMoZXJmb3JtaW5nKWUKLShzdWJzdHJpbmcpaChleHBhbnNpb24sKWgodXNpbmcpZih0aGUpaChmb3JtKWYoZGVzY3JpYilzKGVkKWcoYilzKGVsbyltCi0odywpaChCYXNoKWcodGVzdHMpMTUwIDE3MTkgeShmb3IpNDQgYihhKWkocGFyYW1ldGVyKWYodGhhdClnKGlzKWcKLSh1bnNldClmKG9yKWgobiltKHVsbC4pODQgYihPbWl0dGluZyk0NSBiKHRoZSlnKGNvbG9uKWgocmVzdWx0cyllKGluKWcKLShhKWkodGVzdClmKG9ubHkpZyhmb3IpZyhhKTE1MCAxODI4IHkocGFyYW1ldGVyKTM2IGIodGhhdClmKGlzKWcKLSh1bnNldC4pNTUgYihQdXQpMzQgYihhbm90aGVyKWkodyltKGEpbSh5KS04IGIoLCkzOCBiKGlmKWQodGhlKWcoY29sb24pCi1oKGlzKWYoaW5jbHVkZWQsKWgodGhlKWYob3ApcyhlcmF0b3IpZyh0ZXN0cyloKGZvcikxNTAKLTE5MzggeShiKXMob3RoKTIyIGIgRnEocGFyYW1ldGVyKTcgYiBGdCgncykyMiBiKGV4aXN0ZW5jZSlpKGFuZCllKHRoYXQpCi1oKGl0cylnKHYpLTUgYihhbHVlKTIzIGIoaXMpZyhub3QpZihuKW0odWxsOylrKGlmKWModGhlKWgoY29sb24pZyhpcylnCi0ob21pdHRlZCwpaSh0aGUpZShvcClzKGVyYXRvcikxNTAgMjA0NyB5KHRlc3RzKTMxIGIob25seSlnKGZvcilmCi0oZXhpc3RlbmNlLikxNTAgMjIyMiB5IEZzKCR7KXAgRmkocGFyYW1ldGVyKTExIGIgRnMoOilwCi1GcChcMDAwKXAgRmkod29yZClnIEZzKH0pNjMwIDIzMzEgeSBGdChJZikzMCBiIEZxKHBhcmFtZXRlcikzNwotYiBGdChpcykzMCBiKHVuc2V0KWcob3IpaChuKW0odWxsLClmKHRoZSloKGV4cGFuc2lvbilmKG9mKWcKLUZxKHcpbShvcmQpayBGdChpcyljKHN1YnN0aXR1dGVkLik0MCBiKE90aGVyd2lzZSwpNjMwCi0yNDQxIHkodGhlKTMxIGIodiktNSBiKGFsdWUpMzAgYihvZiloIEZxKHBhcmFtZXRlcikzNwotYiBGdChpcykzMSBiKHN1YnN0aXR1dGVkLikxNTAgMjYxMCB5IEZzKCR7KXAgRmkocGFyYW1ldGVyKTExCi1iIEZzKDo9KXAgRmkod29yZClnIEZzKH0pNjMwIDI3MjAgeSBGdChJZikzMiBiIEZxKHBhcmFtZXRlcik0MAotYiBGdChpcykzMiBiKHVuc2V0KWcob3IpaChuKW0odWxsLClnKHRoZSlmKGV4cGFuc2lvbiloKG9mKWYKLUZxKHcpbShvcmQpayBGdChpcylkKGFzc2lnbmVkKWYodG8paSBGcShwYXJhbWV0ZXIpNyBiCi1GdCguKTYzMCAyODI5IHkoVGhlKTMwIGIodiktNSBiKGFsdWUpMzIgYihvZilmIEZxKHBhcmFtZXRlcikzOAotYiBGdChpcykzMSBiKHRoZW4pZyhzdWJzdGl0dXRlZC4pNDIgYihQKW0ob3NpdGlvbmFsKTMzCi1iKHBhcmFtZXRlcnMpZShhbmQpZihzcClzKGVjaWFsKTYzMCAyOTM5IHkocGFyYW1ldGVycyloKG1hKW0oeSlnKG5vdClmCi0oYilzKGUpZyhhc3NpZ25lZCloKHRvKWcoaW4pZih0aGlzKWcodyltKGEpbSh5KS04IGIoLikxNTAKLTMxMDggeSBGcygkeylwIEZpKHBhcmFtZXRlcikxMSBiIEZzKDo/KXAgRmkod29yZClnIEZzKH0pNjMwCi0zMjE4IHkgRnQoSWYpMjYgYiBGcShwYXJhbWV0ZXIpMzMgYiBGdChpcykyNiBiKG4pbSh1bGwpZyhvcilnKHVuc2V0LCloCi0odGhlKWYoZXhwYW5zaW9uKWcob2YpZyBGcSh3KW0ob3JkKWsgRnQoXChvciljKGEpaChtZXNzYWdlKWcodG8pZyh0aGF0KQotZihlXDAxM2VjdCk2MzAgMzMyOCB5KGlmKWkgRnEodyltKG9yZClqIEZ0KGlzKWQobm90KWcocHJlc2VuKW0odFwpKWgKLShpcylmKHdyaXR0ZW4pZyh0byloKHRoZSlmKHN0YW5kYXJkKWYoZXJyb3IpaChhbmQpZih0aGUpaChzaGVsbCwpaChpZilmCi0oaXQpaChpcylmKG5vdCk2MzAgMzQzNyB5KGluKW0odGVyYWN0aXYpbShlLCkzMyBiKGV4aXRzLik0MgotYihPdGhlcndpc2UsKTMwIGIodGhlKWgodiktNSBiKGFsdWUpMzEgYihvZilmIEZxKHBhcmFtZXRlcikzOAotYiBGdChpcykzMCBiKHN1YnN0aXR1dGVkLikxNTAgMzYwNiB5IEZzKCR7KXAgRmkocGFyYW1ldGVyKTExCi1iIEZzKDorKXAgRmkod29yZClnIEZzKH0pNjMwIDM3MTYgeSBGdChJZikzNSBiIEZxKHBhcmFtZXRlcik0MgotYiBGdChpcykzNiBiKG4pbSh1bGwpZihvciloKHVuc2V0LClnKG5vdGhpbmcpZyhpcylmKHN1YnN0aXR1dGVkLClpCi0ob3RoZXJ3aXNlKWUodGhlKWgoZXhwYW5zaW9uKTYzMCAzODI2IHkob2YpMzEgYiBGcSh3KW0ob3JkKWkKLUZ0KGlzKWUoc3Vic3RpdHV0ZWQuKTE1MCAzOTk1IHkgRnMoJHspcCBGaShwYXJhbWV0ZXIpMTEKLWIgRnMoOilwIEZpKG9mZnNldClnIEZzKH0pMTUwIDQxMDUgeSgkeylwIEZpKHBhcmFtZXRlcilnCi1Gcyg6KXAgRmkob2Zmc2V0KWcgRnMoOilwIEZpKGxlKW8obmd0KW8oaClnIEZzKH0pNjMwCi00MjE0IHkgRnQoRXhwYW5kcyk0NCBiKHRvKWkodXApZSh0bylpIEZxKGxlbmd0aClnIEZ0KGMpbShoYXJhY3RlcnMpaAotKG9mKWUgRnEocGFyYW1ldGVyKTUzIGIgRnQoc3RhcnRpbmcpNDYgYihhdClnKHRoZSlmKGMpbShoYXJhY3Rlcik2MzAKLTQzMjQgeShzcClzKGVjaVwwMTRlZCkzMCBiKGIpbSh5KWcgRnEob1wwMTNzZXQpciBGdCguKTQzCi1iKElmKTMwIGIgRnEobGVuZ3RoKWggRnQoaXMpZyhvbWl0dGVkLClnKGV4cGFuZHMpZih0byloKHRoZSlnCi0oc3Vic3RyaW5nKWYob2YpZyBGcShwYXJhbWV0ZXIpNjMwIDQ0MzMgeSBGdChzdGFydGluZykzOAotYihhdClnKHRoZSlmKGMpbShoYXJhY3RlcilpKHNwKXMoZWNpXDAxNGVkKWQoYiltKHkpaAotRnEob1wwMTNzZXQpciBGdCguKTYyIGIgRnEobGVuZ3RoKTM4IGIgRnQoYW5kKWUgRnEob1wwMTNzZXQpawotRnQoYXJlKWUoYXJpdGhtZXRpYyk2MzAgNDU0MyB5KGV4cHJlc3Npb25zKTMwIGIoXChzZWUpaShTZWN0aW9uKWcoNi41KWcKLShbU2hlbGwpZihBcml0aG1ldGljXSwpaChwYWdlKWcoNzhcKS4pNDMgYihUaGlzKTMwIGIoaXMpaChyZWZlcnJlZClmCi0odG8paShhcyk2MzAgNDY1MyB5KFN1YnN0cmluZylkKEV4cGFuc2lvbi4pNjMwIDQ3OTIgeQotRnEobGVuZ3RoKWogRnQobSltKHVzdClmKGV2KS01IGIoYWx1YXRlKTMzIGIodG8pZihhKWcobiltKHVtKW0oYilzKGVyKWUKLShncmVhdGVyKWkodGhhbilmKG9yKWcoZXF1YWwpaCh0bylnKHplcm8uKTQ1IGIoSWYpMzAKLWIgRnEob1wwMTNzZXQpMzUgYiBGdChldiktNSBiKGFsLSk2MzAgNDkwMiB5KHVhdGVzKTM2Ci1iKHRvKWgoYSlmKG4pbSh1bSltKGIpcyhlcillKGxlc3MpaSh0aGFuKWYoemVybywpaih0aGUpZSh2KS01Ci1iKGFsdWUpMzYgYihpcylnKHVzZWQpZihhcylnKGFuKWgob1wwMTNzZXQpaChmcm9tKWUodGhlKWgoZW5kKTYzMAotNTAxMSB5KG9mKWgodGhlKWcodiktNSBiKGFsdWUpMzggYihvZilmIEZxKHBhcmFtZXRlcik3Ci1iIEZ0KC4pNjEgYihJZikzNiBiIEZxKHBhcmFtZXRlcik0NCBiIEZ0KGlzKTM3IGIoYClwCi1GcyhAKXAgRnQoJywpaSh0aGUpZihyZXN1bHQpZihpcylnIEZxKGxlbmd0aClnIEZ0KHApcyhvc2l0aW9uYWwpNjMwCi01MTIxIHkocGFyYW1ldGVycylpKGIpcyhlZ2lubmluZylmKGF0KWkgRnEob1wwMTNzZXQpcgotRnQoLik2NyBiKElmKTM5IGIgRnEocGFyYW1ldGVyKTQ1IGIgRnQoaXMpMzkgYihhbilnKGluZGV4ZWQpZyhhcnJhKW0oeSkKLWcobmFtZSlnKHN1Yi0pNjMwIDUyMzAgeShzY3JpcHRlZCkzNCBiKGIpbSh5KWcoYClwIEZzKEApcAotRnQoJylnKG9yKWcoYClwIEZzKCopcCBGdCgnLCloKHRoZSlmKHJlc3VsdClnKGlzKWcodGhlKWcKLUZxKGxlbmd0aCloIEZ0KG1lbSltKGIpcyhlcnMpZShvZiloKHRoZSlnKGFycmEpbSh5KWgoYilzKGVnaW5uaW5nKTYzMAotNTM0MCB5KHdpdGgpMjUgYiBGcygkeylwIEZpKHBhcmFtZXRlcikxMSBiIEZzKFspcCBGaShvZmZzZXQpZwotRnMoXX0pcCBGdCguKTMzIGIoQSkyNSBiKG5lZ2F0aXYpbShlKWogRnEob1wwMTNzZXQpZwotRnQoaXMpZSh0YWspbShlbilnKHJlbGF0aXYpbShlKWkodG8pZShvbmUpZyhncmVhdGVyKXAKLWVvcCBlbmQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSh0aGF0KWYoYilzKG90aCllIEZxKHgpMzUKK2IgRnQoYW5kKTI4IGIgRnEoeSkzNyBiIEZ0KG0pbSh1c3QpMjkgYihiKXMoZSlmKG9mKWgodGhlKWcoc2FtZSlnKHQpbQorKHlwKXMoZS4pNDEgYihXaGVuKTI4IGIodGhlKWkoaW5jcmVtZW4pbSh0KWYoaXMpZyhzdXBwbGllZCwpZihpdClpKGlzKWYKKyh1c2VkKWYoYXMpMTUwIDQwOCB5KHRoZSlqKGRpXDAxM2VyZW5jZSlmKGIpcyhldCltKHcpbShlZW4paChlYWMpbShoKWgKKyh0ZXJtLik0MSBiKFRoZSkzMCBiKGRlZmF1bHQpZyhpbmNyZW1lbiltKHQpaChpcylnKDEpZihvciloKC0xKWcoYXMpZgorKGFwcHJvcHJpYXRlLikyNzUgNTQ0IHkoQnJhY2UpMzYgYihleHBhbnNpb24pZyhpcylmKHApcyhlcmZvcm1lZClmKGIpcworKGVmb3JlKWgoYW4pbSh5KWgob3RoZXIpZyhleHBhbnNpb25zLCloKGFuZCllKGFuKW0oeSlnKGMpbShoYXJhY3RlcnMpaQorKHNwKXMoZWNpYWwpMTUwIDY1NCB5KHRvKTMyIGIob3RoZXIpZyhleHBhbnNpb25zKWcoYXJlKWcocHJlc2VydiltKGVkKWYKKyhpbiloKHRoZSlmKHJlc3VsdC4pNDUgYihJdCkzMiBiKGlzKWcoc3RyaWN0bHkpZyh0ZXh0dWFsLik0NgorYihCYXNoKTMyIGIoZG8pcyhlcylmKG5vdCloKGFwcGx5KTE1MCA3NjQgeShhbiltKHkpMjcKK2Ioc3luKW0odGFjdGljKWkoaW4pbSh0ZXJwcmV0YXRpb24pZyh0bylmKHRoZSlmKGNvbiltKHRleHQpaShvZillKHRoZSlnCisoZXhwYW5zaW9uKWcob3IpZyh0aGUpaCh0ZXh0KWcoYilzKGV0KW0odyltKGVlbilmKHRoZSloKGJyYWNlcy4pMTUwCis4NzMgeShUKS04IGIobykzNyBiKGEpbSh2KW0ob2lkKWcoY29uXDAxNWljdHMpZyh3aXRoKWYocGFyYW1ldGVyKWgKKyhleHBhbnNpb24sKWcodGhlKWcoc3RyaW5nKWYoYClwIEZzKCR7KXAgRnQoJylnKGlzKWcobm90KWcoY29uc2lkZXJlZClnCisoZWxpZ2libGUpaShmb3IpMTUwIDk4MyB5KGJyYWNlKTMxIGIoZXhwYW5zaW9uLikyNzUgMTExOQoreShBKWUoY29ycmVjdGx5LWZvcm1lZClpKGJyYWNlKWYoZXhwYW5zaW9uKWYobSltKHVzdCloKGNvbiltKHRhaW4paAorKHVucXVvdGVkKWUob3ApcyhlbmluZylnKGFuZClnKGNsb3NpbmcpaShicmFjZXMsKTE1MAorMTIyOCB5KGFuZCloKGF0KWkobGVhc3QpZyhvbmUpZih1bnF1b3RlZClnKGNvbW1hKWcob3IpZyhhKWgodiktNQorYihhbGlkKTMzIGIoc2VxdWVuY2UpZyhleHByZXNzaW9uLik0OCBiKEFuKW0oeSkzMyBiKGluY29ycmVjdGx5KWgKKyhmb3JtZWQpMTUwIDEzMzggeShicmFjZSlkKGV4cGFuc2lvbilmKGlzKWcobGVmdCloKHVuYyltKGhhbmdlZC4pMjc1CisxNDc0IHkoQSkyNSBiIEZzKHspZyBGdChvcilnKGApcCBGcygsKXAgRnQoJylnKG1hKW0oeSloKGIpcyhlKWYocXVvdGVkKQorZyh3aXRoKWcoYSloKGJhYyltKGtzbGFzaClmKHRvKWgocHJldiltKGVuKW0odClnKGl0cylnKGIpcyhlaW5nKWYKKyhjb25zaWRlcmVkKWcocGFydClnKG9mKWcoYSloKGJyYWNlKTE1MCAxNTgzIHkoZXhwcmVzc2lvbi4pNTEKK2IoVCktOCBiKG8pMzQgYihhKW0odiltKG9pZClpKGNvblwwMTVpY3RzKWUod2l0aClnKHBhcmFtZXRlcilnCisoZXhwYW5zaW9uLCloKHRoZSlmKHN0cmluZylnKGApcCBGcygkeylwIEZ0KCcpZyhpcylnKG5vdClnKGNvbnNpZGVyZWQpCisxNTAgMTY5MyB5KGVsaWdpYmxlKWUoZm9yKWUoYnJhY2UpaChleHBhbnNpb24uKTI3NSAxODI5Cit5KFRoaXMpZihjb25zdHJ1Y3QpaChpcylnKHQpbSh5cGljYWxseSlpKHVzZWQpZChhcyloKHNob3J0aGFuZClmKHdoZW4pZworKHRoZSloKGNvbW1vbilnKHByZVwwMTR4KWYob2YpaCh0aGUpZyhzdHJpbmdzKWcodG8pMTUwCisxOTM5IHkoYilzKGUpZihnZW5lcmF0ZWQpaChpcylnKGxvbmdlcilnKHRoYW4pZihpbilnKHRoZSlnKGFiKXMobyltKHYpbQorKGUpaShleGFtcGxlOikzOTAgMjA3NCB5IEZzKG1rZGlyKTQ2IGIoL3Vzci9sb2NhbC9zcmMvYmFzaC97b2xkLG4pbworKGV3LClvKGRpc3QpbygsYnVnKW8oc30pMjc1IDIyMTAgeSBGdChvcikzOTAgMjM0NiB5IEZzKGNob3duKWcocm9vdCloCisoL3Vzci97dWNiL3tleCxlZGl0fSxsaWIvKW8oe2V4PylvKC4/Kiwpbyhob3cpbyhfZXh9KW8ofSkxNTAKKzI1NDcgeSBGaigzLjUuMik2MyBiKFRpbGRlKTQxIGIoRXhwYW5zaW9uKTE1MCAyNjk0IHkKK0Z0KElmKTI5IGIoYSloKHcpbShvcmQpZyhiKXMoZWdpbnMpZih3aXRoKWcoYW4paCh1bnF1b3RlZClmKHRpbGRlKWgoYyltCisoaGFyYWN0ZXIpaChcKGApcCBGcyh+KXAgRnQoJ1wpLClnKGFsbClnKG9mKWYodGhlKWcoYyltKGhhcmFjdGVycyloKHVwKQorZCh0bylqKHRoZSlmKFwwMTRyc3QpMTUwIDI4MDQgeSh1bnF1b3RlZCkyMyBiKHNsYXNoKWgoXChvciloKGFsbClnKGMpbQorKGhhcmFjdGVycywpaShpZilkKHRoZXJlKWcoaXMpaChubylmKHVucXVvdGVkKWYoc2xhc2hcKSloKGFyZSloCisoY29uc2lkZXJlZClmKGEpZyBGcSh0aWxkZS1wcmVcMDE0eCk2IGIgRnQoLikxNTAgMjkxMworeShJZikzOCBiKG5vbmUpZyhvZilnKHRoZSloKGMpbShoYXJhY3RlcnMpZyhpbilmKHRoZSloKHRpbGRlLXByZVwwMTR4KWYKKyhhcmUpaChxdW90ZWQsKWgodGhlKWYoYyltKGhhcmFjdGVycyloKGluKWQodGhlKWkodGlsZGUtcHJlXDAxNHgpMTUwCiszMDIzIHkoZm9sbG8pbSh3aW5nKTI4IGIodGhlKWYodGlsZGUpZyhhcmUpZyh0cmVhdGVkKWgoYXMpZihhKWcocClzCisob3NzaWJsZSlmIEZxKGxvZ2luKWkobmFtZSk1IGIgRnQoLik0MCBiKElmKTI2IGIodGhpcylnKGxvZ2luKWkobmFtZSlmCisoaXMpZih0aGUpaChuKW0odWxsKWcoc3RyaW5nLCkxNTAgMzEzMiB5KHRoZSkzNSBiKHRpbGRlKWcoaXMpZworKHJlcGxhY2VkKWcod2l0aClmKHRoZSloKHYpLTUgYihhbHVlKTM1IGIob2YpZyh0aGUpZworRnMoSE9NRSllIEZ0KHNoZWxsKWkodiktNSBiKGFyaWFibGUuKTU0IGIoSWYpMzQgYiBGcyhIT01FKWcKK0Z0KGlzKWgodW5zZXQsKWcodGhlKWcoaG9tZSkxNTAgMzI0MiB5KGRpcmVjdG9yeSllKG9mKWcodGhlKWYodXNlcilnCisoZXhlY3V0aW5nKWkodGhlKWUoc2hlbGwpaChpcylmKHN1YnN0aXR1dGVkKWcoaW5zdGVhZC4pNDcKK2IoT3RoZXJ3aXNlLCkzMyBiKHRoZSlnKHRpbGRlLXByZVwwMTR4KTE1MCAzMzUyIHkoaXMpZChyZXBsYWNlZCloKHdpdGgpCitmKHRoZSloKGhvbWUpZihkaXJlY3RvcnkpaChhc3NvKXMoY2lhdGVkKWgod2l0aCllKHRoZSloKHNwKXMoZWNpXDAxNGVkKQorZShsb2dpbilqKG5hbWUuKTI3NSAzNDg3IHkoSWYpZyh0aGUpaCh0aWxkZS1wcmVcMDE0eClmKGlzKWgoYClwCitGcyh+KylwIEZ0KCcsKWcodGhlKWcodiktNSBiKGFsdWUpMzMgYihvZilnKHRoZSlnKHNoZWxsKWcodiktNQorYihhcmlhYmxlKTM0IGIgRnMoUFdEKWQgRnQocmVwbGFjZXMpaih0aGUpZih0aWxkZS1wcmVcMDE0eC4pNDcKK2IoSWYpMTUwIDM1OTcgeSh0aGUpMzEgYih0aWxkZS1wcmVcMDE0eClmKGlzKWcoYClwIEZzKH4tKXAKK0Z0KCcsKWgodGhlKWYodiktNSBiKGFsdWUpMzEgYihvZilnKHRoZSlmKHNoZWxsKWgodiktNQorYihhcmlhYmxlKTMxIGIgRnMoT0xEUFdEKXAgRnQoLCllKGlmKWgoaXQpaChpcylnKHNldCwpZyhpcylmCisoc3Vic3RpdHV0ZWQuKTI3NSAzNzMzIHkoSWYpZSh0aGUpaShjKW0oaGFyYWN0ZXJzKWcoZm9sbG8pbSh3aW5nKWgodGhlKQorZSh0aWxkZSloKGluKWYodGhlKWcodGlsZGUtcHJlXDAxNHgpaChjb25zaXN0KWYob2YpaChhKWYobiltKHVtKW0oYilzCisoZXIpZiBGcShOKTEwIGIgRnQoLCkzMCBiKG9wdGlvbmFsbHkpMTUwIDM4NDMgeShwcmVcMDE0eGVkKTIyCitiKGIpbSh5KWgoYSloKGApcCBGcygrKXAgRnQoJylmKG9yKWgoYSlmKGApcCBGcygtKXAgRnQoJywpaih0aGUpZAorKHRpbGRlLXByZVwwMTR4KWcoaXMpaChyZXBsYWNlZClmKHdpdGgpZyh0aGUpaChjb3JyZXNwKXMob25kaW5nKWUKKyhlbGVtZW4pbSh0KWooZnJvbSllKHRoZSkxNTAgMzk1MiB5KGRpcmVjdG9yeSkzNiBiKHN0YWMpbShrLClpKGFzKWUoaXQpCitnKHcpbShvdWxkKWYoYilzKGUpZyhkaXNwbGEpbSh5KW0oZWQpaChiKW0oeSlnKHRoZSlmCitGcyhkaXJzKWcgRnQoYnVpbHRpbilnKGluKW0odiltKG9rKW0oZWQpaSh3aXRoKWUodGhlKWcoYyltKGhhcmFjdGVycykKKzE1MCA0MDYyIHkoZm9sbG8pbSh3aW5nKTQwIGIodGlsZGUpZihpbilnKHRoZSlmKHRpbGRlLXByZVwwMTR4KWgoYXMpZworKGFuKWYoYXJndW1lbiltKHQpaChcKHNlZSloKFNlY3Rpb24pZig2LjgpaChbVGhlKWUoRGlyZWN0b3J5KWkoU3RhYyltCisoa10sKTE1MCA0MTcxIHkocGFnZSljKDgzXCkuKTU3IGIoSWYpMzUgYih0aGUpZyh0aWxkZS1wcmVcMDE0eCwpaShzYW5zKQorZSh0aGUpaCh0aWxkZSwpaChjb25zaXN0cylmKG9mKWcoYSlmKG4pbSh1bSltKGIpcyhlcilmKHdpdGhvdXQpaShhKWYKKyhsZWFkaW5nKWgoYClwIEZzKCspcCBGdCgnKWcob3IpMTUwIDQyODEgeShgKXAgRnMoLSlwCitGdCgnLCkzMSBiKGApcCBGcygrKXAgRnQoJylmKGlzKWgoYXNzdW1lZC4pMjc1IDQ0MTcgeShJZillKHRoZSlpKGxvZ2luKQorZyhuYW1lKWcoaXMpZihpbiltKHYpLTUgYihhbGlkLCkzMSBiKG9yKWcodGhlKWYodGlsZGUpaChleHBhbnNpb24pZgorKGZhaWxzLClpKHRoZSllKHcpbShvcmQpZyhpcyloKGxlZnQpZyh1bmMpbShoYW5nZWQuKTI3NQorNDU1MyB5KEVhYyltKGgpMzggYih2KS01IGIoYXJpYWJsZSkzOCBiKGFzc2lnbm1lbiltKHQpaChpcyllKGMpbShoZWMpbQorKGspbShlZClqKGZvcilkKHVucXVvdGVkKWcodGlsZGUtcHJlXDAxNHhlcyloKGltbWVkaWF0ZWx5KWcoZm9sbG8pbQorKHdpbmcpMTUwIDQ2NjIgeShhKWQoYClwIEZzKDopcCBGdCgnKWcob3IpZyh0aGUpZyhcMDE0cnN0KWYoYClwCitGcyg9KXAgRnQoJy4pNTQgYihJbikzNCBiKHRoZXNlKWgoY2FzZXMsKWkodGlsZGUpZShleHBhbnNpb24pZyhpcylnCisoYWxzbyloKHApcyhlcmZvcm1lZC4pNTIgYihDb25zZXF1ZW4pbSh0bHkpLTggYigsKTM3CitiKG9uZSkxNTAgNDc3MiB5KG1hKW0oeSkyNyBiKHVzZSllKFwwMTRsZSloKG5hbWVzKWcod2l0aClnKHRpbGRlcylnKGluKQorZyhhc3NpZ25tZW4pbSh0cyloKHRvKWcgRnMoUEFUSClwIEZ0KCwpZiBGcyhNQUlMUEFUSClwCitGdCgsKWUoYW5kKWkgRnMoQ0RQQVRIKXAgRnQoLClmKGFuZCloKHRoZSlnKHNoZWxsKTE1MAorNDg4MiB5KGFzc2lnbnMpMzEgYih0aGUpZihleHBhbmRlZClnKHYpLTUgYihhbHVlLikyNzUKKzUwMTggeShUaGUpMjkgYihmb2xsbyltKHdpbmcpaih0YWJsZSlnKHNobyltKHdzKWUoaG8pbSh3KWcoQmFzaCloCisodHJlYXRzKWcodW5xdW90ZWQpZSh0aWxkZS1wcmVcMDE0eGVzOikxNTAgNTE3OSB5IEZzKH4pNDMyCitiIEZ0KFRoZSkzMCBiKHYpLTUgYihhbHVlKTMxIGIob2YpZiBGcygkSE9NRSkxNTAgNTM0MAoreSh+L2ZvbykyNDAgYiBGdChgKXAgRnMoJEhPTUUvZm9vKXAgRnQoJylwIGVvcCBlbmQKICUlUGFnZTogMjEgMjcKIFRlWERpY3QgYmVnaW4gMjEgMjYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDM6KTQxCi1iKEJhc2ljKTMyIGIoU2hlbGwpZShGKS04IGIoZWF0dXJlcykyMjQ2IGIoMjEpNjMwIDI5OQoteSh0aGFuKTI2IGIodGhlKWgobWF4aW0pbSh1bSlmKGluZGV4KWcob2YpZyh0aGUpaChzcClzKGVjaVwwMTRlZClmCi0oYXJyYSltKHkpLTggYiguKTQwIGIoU3Vic3RyaW5nKTI1IGIoZXhwYW5zaW9uKWgoYXBwbGllZClnKHRvKTYzMAotNDA4IHkoYW4payhhc3NvKXMoY2lhdGl2KW0oZSlqKGFycmEpbSh5KWUocHJvKXMoZHVjZXMpZSh1bmRlXDAxNG5lZClmCi0ocmVzdWx0cy4pNjMwIDU0OCB5KE5vdGUpMzcgYih0aGF0KWYoYSlnKG5lZ2F0aXYpbShlKWkob1wwMTNzZXQpZihtKW0KLSh1c3QpZihiKXMoZSlmKHNlcGFyYXRlZCloKGZyb20pZih0aGUpaChjb2xvbiloKGIpbSh5KWUoYXQpaShsZWFzdClnCi0ob25lKTYzMCA2NTggeShzcGFjZSlnKHRvKWcoYSltKHYpbShvaWQpZyhiKXMoZWluZylmKGNvbmZ1c2VkKWYod2l0aCloCi0odGhlKWgoYClwIEZzKDotKXAgRnQoJylmKGV4cGFuc2lvbi4pNTcgYihTdWJzdHJpbmcpMzUKLWIoaW5kZXhpbmcpaChpcyk2MzAgNzY3IHkoemVyby1iYXNlZCkyNCBiKHVubGVzcylmKHRoZSloKHApcyhvc2l0aW9uYWwpCi1nKHBhcmFtZXRlcnMpZyhhcmUpZyh1c2VkLClnKGluKWcod2hpYyltKGgpZihjYXNlKWgodGhlKWcoaW5kZXhpbmcpNjMwCi04NzcgeShzdGFydHMpMzAgYihhdClnKDEpZihiKW0oeSloKGRlZmF1bHQuKTQwIGIoSWYpMjkKLWIgRnEob1wwMTNzZXQpaiBGdChpcyllKDAsKWcoYW5kKWYodGhlKWcocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMpZwotKGFyZSlnKHVzZWQsKWYgRnMoJEApNjMwIDk4NiB5IEZ0KGlzKWgocHJlXDAxNHhlZClnKHRvKWgodGhlKWYobGlzdC4pCi0xNTAgMTE1NiB5IEZzKCR7ISlwIEZpKHByZWZpeCkxMSBiIEZzKCp9KTE1MCAxMjY1IHkoJHshKXAKLUZpKHByZWZpeClnIEZzKEB9KTYzMCAxMzc1IHkgRnQoRXhwYW5kcykyMyBiKHRvKWkodGhlKWcobmFtZXMpZihvZiloKHYpCi0tNSBiKGFyaWFibGVzKTI1IGIod2hvc2UpZihuYW1lcylnKGIpcyhlZ2luKWcod2l0aClnCi1GcShwcmVcMDE0eCk2IGIgRnQoLCkyNSBiKHNlcGFyYXRlZClnKGIpbSh5KTYzMCAxNDg0Ci15KHRoZSlrKFwwMTRyc3QpZihjKW0oaGFyYWN0ZXIpaihvZillKHRoZSlnIEZzKElGUylmCi1GdChzcClzKGVjaWFsKWkodiktNSBiKGFyaWFibGUuKTQxIGIoV2hlbikyOSBiKGApcCBGcyhAKXAKLUZ0KCcpZyhpcylnKHVzZWQpZihhbmQpaCh0aGUpZyhleHBhbi0pNjMwIDE1OTQgeShzaW9uKTM1Ci1iKGFwcClzKGVhcnMpZyh3aXRoaW4pZihkb3VibGUpaChxdW90ZXMsKWkoZWFjKW0oaClmKHYpLTUKLWIoYXJpYWJsZSkzNiBiKG5hbWUpZihleHBhbmRzKWcodG8pZyhhKWgoc2VwYXJhdGUpNjMwCi0xNzA0IHkodyltKG9yZC4pMTUwIDE4NzMgeSBGcygkeyEpcCBGaShuYW1lKTExIGIgRnMoW0BdfSkxNTAKLTE5ODMgeSgkeyEpcCBGaShuYW1lKWcgRnMoWypdfSk2MzAgMjA5MiB5IEZ0KElmKTI2IGIKLUZxKG5hbWUpMzIgYiBGdChpcykyNyBiKGFuKWYoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSwpMjkKLWIoZXhwYW5kcylkKHRvKWgodGhlKWcobGlzdClnKG9mKWcoYXJyYSltKHkpZyhpbmRpY2VzKWcoXChrKW0oZXlzXCkpaAotKGFzc2lnbmVkKTYzMCAyMjAyIHkoaW4pYyBGcShuYW1lKTUgYiBGdCguKTM5IGIoSWYpMjMKLWIgRnEobmFtZSkzMCBiIEZ0KGlzKTI0IGIobm90KWcoYW4pZyhhcnJhKW0oeSktOCBiKCwpMjcKLWIoZXhwYW5kcyljKHRvKWkoMClmKGlmKWggRnEobmFtZSlrIEZ0KGlzKTI0IGIoc2V0KWgoYW5kKWUobiltKHVsbCloCi0ob3RoZXJ3aXNlLik2MzAgMjMxMSB5KFdoZW4pMzkgYihgKXAgRnMoQClwIEZ0KCcpaChpcylmKHVzZWQpZyhhbmQpZgotKHRoZSlpKGV4cGFuc2lvbilmKGFwcClzKGVhcnMpZyh3aXRoaW4pZihkb3VibGUpaChxdW90ZXMsKWsoZWFjKW0oaClkCi0oayltKGV5KTYzMCAyNDIxIHkoZXhwYW5kcykzMCBiKHRvKWgoYSlmKHNlcGFyYXRlKWkodyltKG9yZC4pMTUwCi0yNTkwIHkgRnMoJHsjKXAgRmkocGFyYW1ldGVyKTExIGIgRnMofSk2MzAgMjcwMCB5IEZ0KFRoZSk0MAotYihsZW5ndGgpZyhpbilnKGMpbShoYXJhY3RlcnMpaShvZillKHRoZSloKGV4cGFuZGVkKWUodiktNQotYihhbHVlKTQxIGIob2YpZiBGcShwYXJhbWV0ZXIpNDcgYiBGdChpcyk0MCBiKHN1YnN0aXR1dGVkLik2MzAKLTI4MDkgeShJZilpIEZxKHBhcmFtZXRlcik1MCBiIEZ0KGlzKTQzIGIoYClwIEZzKCopcCBGdCgnKWcob3IpZyhgKXAKLUZzKEApcCBGdCgnLClrKHRoZSljKHYpLTUgYihhbHVlKTQzIGIoc3Vic3RpdHV0ZWQpZihpcyloKHRoZSlnKG4pbSh1bSltCi0oYilzKGVyKWYob2YpaChwKXMob3NpdGlvbmFsKTYzMCAyOTE5IHkocGFyYW1ldGVycy4paShJZikzMgotYiBGcShwYXJhbWV0ZXIpMzggYiBGdChpcykzMiBiKGFuKWcoYXJyYSltKHkpZyhuYW1lKWcoc3Vic2NyaXB0ZWQpZihiKW0KLSh5KWcoYClwIEZzKCopcCBGdCgnKWgob3IpZyhgKXAgRnMoQClwIEZ0KCcsKWcodGhlKWcodiktNQotYihhbHVlKTYzMCAzMDI5IHkoc3Vic3RpdHV0ZWQpMzAgYihpcylnKHRoZSloKG4pbSh1bSltKGIpcyhlcillKG9mKWgKLShlbGVtZW4pbSh0cylpKGluKWUodGhlKWgoYXJyYSltKHkpLTggYiguKTE1MCAzMTk4IHkKLUZzKCR7KXAgRmkocGFyYW1ldGVyKTExIGIgRnMoIylwIEZpKHdvcmQpZyBGcyh9KTE1MCAzMzA4Ci15KCR7KXAgRmkocGFyYW1ldGVyKWcgRnMoIyMpcCBGaSh3b3JkKWcgRnMofSk2MzAgMzQxNwoteSBGdChUaGUpMzEgYiBGcSh3KW0ob3JkKWsgRnQoaXMpZChleHBhbmRlZClmKHRvKWkocHJvKXMoZHVjZSllKGEpaAotKHBhdHRlcm4pZyhqdXN0KWYoYXMpaShpbillKFwwMTRsZW5hbWUpaChleHBhbnNpb24pZyhcKHNlZSk2MzAKLTM1MjcgeShTZWN0aW9uKWsoMy41LjgpaChbRmlsZW5hbWUpZyhFeHBhbnNpb25dLClnKHBhZ2UpZigyNFwpLik1NgotYihJZikzNSBiKHRoZSloKHBhdHRlcm4pZihtYXRjKW0oaGVzKWkodGhlKWUoYilzKGUtKTYzMAotMzYzNiB5KGdpbm5pbmcpZyhvZilnKHRoZSlnKGV4cGFuZGVkKWYodiktNSBiKGFsdWUpMzYKLWIob2YpZiBGcShwYXJhbWV0ZXIpNyBiIEZ0KCwpMzYgYih0aGVuKWYodGhlKWcocmVzdWx0KWcob2YpZyh0aGUpZwotKGV4cGFuc2lvbik2MzAgMzc0NiB5KGlzKTI4IGIodGhlKWcoZXhwYW5kZWQpZSh2KS01IGIoYWx1ZSkyOAotYihvZilnIEZxKHBhcmFtZXRlcikzNSBiIEZ0KHdpdGgpMjcgYih0aGUpaChzaG9ydGVzdClnKG1hdGMpbShoaW5nKWgKLShwYXR0ZXJuKWYoXCh0aGUpZyhgKXAgRnMoIylwIEZ0KCcpNjMwIDM4NTYgeShjYXNlXCkpZShvcilmKHRoZSlnCi0obG9uZ2VzdClnKG1hdGMpbShoaW5nKWgocGF0dGVybilmKFwodGhlKWcoYClwIEZzKCMjKXAKLUZ0KCcpZyhjYXNlXCkpaChkZWxldGVkLikzOSBiKElmKTI0IGIgRnEocGFyYW1ldGVyKTMyCi1iIEZ0KGlzKTI1IGIoYClwIEZzKEApcCBGdCgnKTYzMCAzOTY1IHkob3IpaihgKXAgRnMoKilwCi1GdCgnLClpKHRoZSllKHBhdHRlcm4paChyZW1vKW0odiktNSBiKGFsKTI5IGIob3ApcyhlcmF0aW9uKWcoaXMpZgotKGFwcGxpZWQpaCh0bylnKGVhYyltKGgpZyhwKXMob3NpdGlvbmFsKWcocGFyYW1ldGVyKWcoaW4pNjMwCi00MDc1IHkodHVybiwpaShhbmQpZyh0aGUpaChleHBhbnNpb24pZyhpcylnKHRoZSlnKHJlc3VsdGFuKW0odClnKGxpc3QuKQotNDUgYihJZikzMiBiIEZxKHBhcmFtZXRlcikzOCBiIEZ0KGlzKTMyIGIoYW4pZyhhcnJhKW0oeSlnKHYpLTUKLWIoYXJpYWJsZSk2MzAgNDE4NCB5KHN1YnNjcmlwdGVkKTM5IGIod2l0aClnKGApcCBGcyhAKXAKLUZ0KCcpaChvcilnKGApcCBGcygqKXAgRnQoJywpaih0aGUpZChwYXR0ZXJuKWgocmVtbyltKHYpLTUKLWIoYWwpNDEgYihvcClzKGVyYXRpb24pZihpcylnKGFwcGxpZWQpZyh0byloKGVhYyltKGgpNjMwCi00Mjk0IHkobWVtKW0oYilzKGVyKTMwIGIob2YpZyh0aGUpaChhcnJhKW0oeSlnKGluKWYodHVybiwpZihhbmQpaCh0aGUpaAotKGV4cGFuc2lvbilmKGlzKWcodGhlKWgocmVzdWx0YW4pbSh0KWcobGlzdC4pMTUwIDQ0NjMKLXkgRnMoJHspcCBGaShwYXJhbWV0ZXIpMTEgYiBGcyhcMDQ1KXAgRmkod29yZClnIEZzKH0pMTUwCi00NTczIHkoJHspcCBGaShwYXJhbWV0ZXIpZyBGcyhcMDQ1XDA0NSlwIEZpKHdvcmQpZyBGcyh9KTYzMAotNDY4MiB5IEZ0KFRoZSkzNSBiIEZxKHcpbShvcmQpayBGdChpcyljKGV4cGFuZGVkKWcodG8paChwcm8pcyhkdWNlKWUoYSkKLWkocGF0dGVybilmKGp1c3QpZyhhcyloKGluKWYoXDAxNGxlbmFtZSloKGV4cGFuc2lvbi4pNTUKLWIoSWYpNjMwIDQ3OTIgeSh0aGUpNDMgYihwYXR0ZXJuKWYobWF0YyltKGhlcylpKGEpZSh0cmFpbGluZylpKHApcwotKG9ydGlvbillKG9mKWcodGhlKWgoZXhwYW5kZWQpZSh2KS01IGIoYWx1ZSk0MyBiKG9mKWcKLUZxKHBhcmFtZXRlcik3IGIgRnQoLCk2MzAgNDkwMiB5KHRoZW4pMzkgYih0aGUpZyhyZXN1bHQpZyhvZiloKHRoZSlmCi0oZXhwYW5zaW9uKWcoaXMpaCh0aGUpZih2KS01IGIoYWx1ZSk0MCBiKG9mKWYgRnEocGFyYW1ldGVyKTQ2Ci1iIEZ0KHdpdGgpMzkgYih0aGUpaChzaG9ydGVzdCk2MzAgNTAxMSB5KG1hdGMpbShoaW5nKTMxCi1iKHBhdHRlcm4pZShcKHRoZSloKGApcCBGcyhcMDQ1KXAgRnQoJylnKGNhc2VcKSloKG9yKWUodGhlKWgobG9uZ2VzdCloCi0obWF0YyltKGhpbmcpZihwYXR0ZXJuKWcoXCh0aGUpZyhgKXAgRnMoXDA0NVwwNDUpcCBGdCgnKWcoY2FzZVwpKTYzMAotNTEyMSB5KGRlbGV0ZWQuKTQ5IGIoSWYpMzIgYiBGcShwYXJhbWV0ZXIpNDAgYiBGdChpcykzMwotYihgKXAgRnMoQClwIEZ0KCcpZyhvcilnKGApcCBGcygqKXAgRnQoJywpaCh0aGUpZihwYXR0ZXJuKWcocmVtbyltKHYpLTUKLWIoYWwpMzQgYihvcClzKGVyYXRpb24pZyhpcylmKGFwcGxpZWQpZih0byk2MzAgNTIzMCB5KGVhYyltKGgpMzgKLWIocClzKG9zaXRpb25hbClnKHBhcmFtZXRlcilnKGluKWYodHVybiwpaChhbmQpZSh0aGUpaChleHBhbnNpb24pZyhpcyloCi0odGhlKWYocmVzdWx0YW4pbSh0KWgobGlzdC4pNjEgYihJZik2MzAgNTM0MCB5IEZxKHBhcmFtZXRlcikzOAotYiBGdChpcykzMiBiKGFuKWYoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSkzMiBiKHN1YnNjcmlwdGVkKWUod2l0aCloCi0oYClwIEZzKEApcCBGdCgnKWcob3IpaChgKXAgRnMoKilwIEZ0KCcsKWcodGhlKWYocGF0dGVybiloKHJlbW8pbSh2KS01Ci1iKGFsKXAgZW9wIGVuZAorYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDIxKTE1MCAyOTkKK3kgRnMofmZyZWQvZm9vKTYzMCA0MDggeSBGdChUaGUpMzAgYihzdWIpcyhkaXJlY3RvcnkpZgorRnMoZm9vKWggRnQob2YpZyh0aGUpaChob21lKWYoZGlyZWN0b3J5KWgob2YpZyh0aGUpZih1c2VyKWcKK0ZzKGZyZWQpMTUwIDU4MCB5KH4rL2ZvbykxOTIgYiBGdChgKXAgRnMoJFBXRC9mb28pcCBGdCgnKTE1MAorNzUyIHkgRnMofi0vZm9vKWcgRnQoYClwIEZzKCR7T0xEUFdELSd+LSd9L2ZvbylwIEZ0KCcpMTUwCis5MjQgeSBGcyh+KXAgRmkoTikzODQgYiBGdChUaGUpMzAgYihzdHJpbmcpZyh0aGF0KWgodyltKG91bGQpZihiKXMoZSlnCisoZGlzcGxhKW0oeSltKGVkKWgoYiltKHkpZihgKXAgRnMoZGlycylnKCspcCBGaShOKTExCitiIEZ0KCcpMTUwIDEwOTYgeSBGcyh+KylwIEZpKE4pMzM2IGIgRnQoVGhlKTMwIGIoc3RyaW5nKWcodGhhdCloKHcpbQorKG91bGQpZihiKXMoZSlnKGRpc3BsYSltKHkpbShlZCloKGIpbSh5KWYoYClwIEZzKGRpcnMpZygrKXAKK0ZpKE4pMTEgYiBGdCgnKTE1MCAxMjY3IHkgRnMofi0pcCBGaShOKTMzNiBiIEZ0KFRoZSkzMAorYihzdHJpbmcpZyh0aGF0KWgodyltKG91bGQpZihiKXMoZSlnKGRpc3BsYSltKHkpbShlZCloKGIpbSh5KWYoYClwCitGcyhkaXJzKWcoLSlwIEZpKE4pMTEgYiBGdCgnKTE1MCAxNDc5IHkgRmooMy41LjMpNjMgYihTaGVsbCk0MQorYihQKW0oYXJhbWV0ZXIpZihFeHBhbnNpb24pMTUwIDE2MjYgeSBGdChUaGUpZyhgKXAgRnMoJClwCitGdCgnKWgoYyltKGhhcmFjdGVyKWkoaW4pbSh0cm8pcyhkdWNlcylkKHBhcmFtZXRlciloKGV4cGFuc2lvbiwpagorKGNvbW1hbmQpZChzdWJzdGl0dXRpb24sKWkob3IpZShhcml0aG1ldGljKTE1MCAxNzM1IHkoZXhwYW5zaW9uLilkKFRoZSkKKzIyIGIocGFyYW1ldGVyKWgobmFtZSlmKG9yKWcoc3ltKW0oYilzKG9sKWgodG8pZyhiKXMoZSllKGV4cGFuZGVkKWgobWEpCittKHkpaChiKXMoZSlmKGVuY2xvc2VkKWgoaW4pZihicmFjZXMsKWkod2hpYyltKGgpMTUwCisxODQ1IHkoYXJlKTMxIGIob3B0aW9uYWwpZyhidXQpZihzZXJ2KW0oZSloKHRvKWgocHJvdGVjdClmKHRoZSlnKHYpLTUKK2IoYXJpYWJsZSkzMSBiKHRvKWcoYilzKGUpZihleHBhbmRlZClnKGZyb20pZyhjKW0oaGFyYWN0ZXJzKWkKKyhpbW1lZGlhdGVseSkxNTAgMTk1NSB5KGZvbGxvKW0od2luZylnKGl0KWYod2hpYyltKGgpZihjb3VsZClnKGIpcyhlKWcKKyhpbiltKHRlcnByZXRlZCloKGFzKWYocGFydCloKG9mKWYodGhlKWgobmFtZS4pMjc1IDIxMDEKK3koV2hlbik0NCBiKGJyYWNlcylpKGFyZSlmKHVzZWQsKWoodGhlKWUobWF0YyltKGhpbmcpZyhlbmRpbmcpZihicmFjZSlnCisoaXMpZyh0aGUpZyhcMDE0cnN0KWcoYClwIEZzKH0pcCBGdCgnKWcobm90KWcoZXNjYXApcyhlZCloKGIpbSh5KWYoYSkKKzE1MCAyMjExIHkoYmFjKW0oa3NsYXNoKTQwIGIob3IpZih3aXRoaW4pZyhhKWcocXVvdGVkKWcoc3RyaW5nLClqKGFuZCljCisobm90KWkod2l0aGluKWUoYW4paChlbSltKGIpcyhlZGRlZClmKGFyaXRobWV0aWMpaihleHBhbnNpb24sKTE1MAorMjMyMSB5KGNvbW1hbmQpMzAgYihzdWJzdGl0dXRpb24sKWcob3IpaChwYXJhbWV0ZXIpZyhleHBhbnNpb24uKTI3NQorMjQ2OCB5KFRoZSk0MCBiKGJhc2ljKWgoZm9ybSlnKG9mKWcocGFyYW1ldGVyKWgoZXhwYW5zaW9uKWUoaXMpaCgkKXAKK0ZzKHspcCBGcShwYXJhbWV0ZXIpNyBiIEZzKH0pcCBGdCguKTczIGIoVGhlKTQwIGIodiktNQorYihhbHVlKTQyIGIob2YpZiBGcShwYXJhbWV0ZXIpNDggYiBGdChpcykxNTAgMjU3NyB5KHN1YnN0aXR1dGVkLik0MworYihUaGUpMzEgYihicmFjZXMpZyhhcmUpaChyZXF1aXJlZCllKHdoZW4paCBGcShwYXJhbWV0ZXIpMzgKK2IgRnQoaXMpMzEgYihhKWgocClzKG9zaXRpb25hbClnKHBhcmFtZXRlcilnKHdpdGgpZihtb3JlKTE1MAorMjY4NyB5KHRoYW4paChvbmUpZyhkaWdpdCwpaShvcillKHdoZW4pZyBGcShwYXJhbWV0ZXIpMzkKK2IgRnQoaXMpMzIgYihmb2xsbyltKHcpbShlZClpKGIpbSh5KWUoYSloKGMpbShoYXJhY3RlciloKHRoYXQpZShpcyloCisobm90KWYodG8paChiKXMoZSlmKGluKW0odGVycHJldGVkKTE1MCAyNzk2IHkoYXMpZihwYXJ0KWYob2YpZyhpdHMpaAorKG5hbWUuKTI3NSAyOTQzIHkoSWYpYyh0aGUpZyhcMDE0cnN0KWcoYyltKGhhcmFjdGVyKWkob2YpZgorRnEocGFyYW1ldGVyKTM1IGIgRnQoaXMpMjcgYihhbiloKGV4Y2xhbWF0aW9uKWkocClzKG9pbiltKHQpZChcKCFcKSwpaQorKGEpZihsZXYpbShlbClpKG9mKWQodiktNSBiKGFyaWFibGUpMjkgYihpbmRpcmVjLSkxNTAKKzMwNTMgeSh0aW9uKWUoaXMpZihpbiltKHRybylzKGR1Y2VkLikzOSBiKEJhc2gpMjcgYih1c2VzKWUodGhlKWkodiktNQorYihhbHVlKTI3IGIob2YpZih0aGUpaCh2KS01IGIoYXJpYWJsZSkyNyBiKGZvcm1lZClmKGZyb20pZyh0aGUpZyhyZXN0KWgKKyhvZilmIEZxKHBhcmFtZXRlcikzNCBiIEZ0KGFzKTE1MCAzMTYyIHkodGhlKWUobmFtZSloKG9mKWYodGhlKWgodiktNQorYihhcmlhYmxlOykzNCBiKHRoaXMpZSh2KS01IGIoYXJpYWJsZSkzMyBiKGlzKWcodGhlbilmKGV4cGFuZGVkKWYoYW5kKWgKKyh0aGF0KWgodiktNSBiKGFsdWUpMzIgYihpcyloKHVzZWQpZShpbiloKHRoZSloKHJlc3QpMTUwCiszMjcyIHkob2YpaCh0aGUpZihzdWJzdGl0dXRpb24sKWkocmF0aGVyKWUodGhhbilnKHRoZSloKHYpLTUKK2IoYWx1ZSkzNCBiKG9mKWcgRnEocGFyYW1ldGVyKTQwIGIgRnQoaXRzZWxmLik1MSBiKFRoaXMpMzMKK2IoaXMpZyhrbm8pbSh3bilnKGFzKWggRnMoaW5kaXJlY3QpMTUwIDMzODEgeShleHBhbnNpb24pcAorRnQoLilrKFRoZSkzMCBiKGV4Y2VwdGlvbnMpaCh0byloKHRoaXMpZShhcmUpaCh0aGUpZihleHBhbnNpb25zKWcob2YpaAorKCQpcCBGcyh7KXAgRnQoISlwIEZxKHByZVwwMTR4KTE1MCAzNDkxIHkgRnMofSkzNiBiIEZ0KGFuZClmKCQpcAorRnMoeylwIEZ0KCEpcCBGcShuYW1lKTUgYiBGdChbKXAgRnMoQClwIEZ0KF0pcCBGcyh9KTM3CitiIEZ0KGRlc2NyaWIpcyhlZCllKGIpcyhlbG8pbSh3Lik1OCBiKFRoZSkzNiBiKGV4Y2xhbWF0aW9uKWkocClzKG9pbiltCisodCllKG0pbSh1c3QpZyhpbW1lZGlhdGVseSloKGZvbGxvKW0odyloKHRoZSkxNTAgMzYwMQoreShsZWZ0KTMxIGIoYnJhY2UpZyhpbilmKG9yZGVyKWcodG8paChpbiltKHRybylzKGR1Y2UpZihpbmRpcmVjdGlvbi4pCisyNzUgMzc0OCB5KEluKTM5IGIoZWFjKW0oaClpKG9mKWcodGhlKWYoY2FzZXMpaChiKXMoZWxvKW0odywpaQorRnEodyltKG9yZCloIEZ0KGlzKWMoc3ViKTUgYihqZWN0KTQwIGIodG8paCh0aWxkZSlmKGV4cGFuc2lvbiwpagorKHBhcmFtZXRlcillKGV4cGFuc2lvbiwpMTUwIDM4NTcgeShjb21tYW5kKTMwIGIoc3Vic3RpdHV0aW9uLClnKGFuZClnCisoYXJpdGhtZXRpYylpKGV4cGFuc2lvbi4pMjc1IDQwMDQgeShXaGVuKWgobm90KWgocClzKGVyZm9ybWluZyllCisoc3Vic3RyaW5nKWgoZXhwYW5zaW9uLCloKHVzaW5nKWYodGhlKWgoZm9ybSlmKGRlc2NyaWIpcyhlZClnKGIpcyhlbG8pbQorKHcsKWgoQmFzaClnKHRlc3RzKTE1MCA0MTE0IHkoZm9yKTQ0IGIoYSlpKHBhcmFtZXRlcilmKHRoYXQpZyhpcylnCisodW5zZXQpZihvciloKG4pbSh1bGwuKTg0IGIoT21pdHRpbmcpNDUgYih0aGUpZyhjb2xvbiloKHJlc3VsdHMpZShpbilnCisoYSlpKHRlc3QpZihvbmx5KWcoZm9yKWcoYSkxNTAgNDIyMyB5KHBhcmFtZXRlcikzNiBiKHRoYXQpZihpcylnCisodW5zZXQuKTU1IGIoUHV0KTM0IGIoYW5vdGhlcilpKHcpbShhKW0oeSktOCBiKCwpMzggYihpZilkKHRoZSlnKGNvbG9uKQoraChpcylmKGluY2x1ZGVkLCloKHRoZSlmKG9wKXMoZXJhdG9yKWcodGVzdHMpaChmb3IpMTUwCis0MzMzIHkoYilzKG90aCkyMiBiIEZxKHBhcmFtZXRlcik3IGIgRnQoJ3MpMjIgYihleGlzdGVuY2UpaShhbmQpZSh0aGF0KQoraChpdHMpZyh2KS01IGIoYWx1ZSkyMyBiKGlzKWcobm90KWYobiltKHVsbDspayhpZiljKHRoZSloKGNvbG9uKWcoaXMpZworKG9taXR0ZWQsKWkodGhlKWUob3ApcyhlcmF0b3IpMTUwIDQ0NDIgeSh0ZXN0cykzMSBiKG9ubHkpZyhmb3IpZgorKGV4aXN0ZW5jZS4pMTUwIDQ2MjAgeSBGcygkeylwIEZpKHBhcmFtZXRlcikxMSBiIEZzKDopcAorRnAoXDAwMClwIEZpKHdvcmQpZyBGcyh9KTYzMCA0NzMwIHkgRnQoSWYpMzAgYiBGcShwYXJhbWV0ZXIpMzcKK2IgRnQoaXMpMzAgYih1bnNldClnKG9yKWgobiltKHVsbCwpZih0aGUpaChleHBhbnNpb24pZihvZilnCitGcSh3KW0ob3JkKWsgRnQoaXMpYyhzdWJzdGl0dXRlZC4pNDAgYihPdGhlcndpc2UsKTYzMAorNDgzOSB5KHRoZSkzMSBiKHYpLTUgYihhbHVlKTMwIGIob2YpaCBGcShwYXJhbWV0ZXIpMzcKK2IgRnQoaXMpMzEgYihzdWJzdGl0dXRlZC4pMTUwIDUwMTEgeSBGcygkeylwIEZpKHBhcmFtZXRlcikxMQorYiBGcyg6PSlwIEZpKHdvcmQpZyBGcyh9KTYzMCA1MTIxIHkgRnQoSWYpMzIgYiBGcShwYXJhbWV0ZXIpNDAKK2IgRnQoaXMpMzIgYih1bnNldClnKG9yKWgobiltKHVsbCwpZyh0aGUpZihleHBhbnNpb24paChvZilmCitGcSh3KW0ob3JkKWsgRnQoaXMpZChhc3NpZ25lZClmKHRvKWkgRnEocGFyYW1ldGVyKTcgYgorRnQoLik2MzAgNTIzMCB5KFRoZSkzMCBiKHYpLTUgYihhbHVlKTMyIGIob2YpZiBGcShwYXJhbWV0ZXIpMzgKK2IgRnQoaXMpMzEgYih0aGVuKWcoc3Vic3RpdHV0ZWQuKTQyIGIoUCltKG9zaXRpb25hbCkzMworYihwYXJhbWV0ZXJzKWUoYW5kKWYoc3ApcyhlY2lhbCk2MzAgNTM0MCB5KHBhcmFtZXRlcnMpaChtYSltKHkpZyhub3QpZgorKGIpcyhlKWcoYXNzaWduZWQpaCh0bylnKGluKWYodGhpcylnKHcpbShhKW0oeSktOCBiKC4pcAorZW9wIGVuZAogJSVQYWdlOiAyMiAyOAogVGVYRGljdCBiZWdpbiAyMiAyNyBib3AgMTUwIC0xMTYgYSBGdCgyMikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KG9wKXMoZXJhdGlvbilmKGlzKWcoYXBwbGllZClmKHRvKWkKLShlYWMpbShoKWcobWVtKW0oYilzKGVyKWUob2YpaCh0aGUpZyhhcnJhKW0oeSlnKGluKWYodHVybiwpZyhhbmQpZyh0aGUpCi1oKGV4cGFuc2lvbilnKGlzKTYzMCA0MDggeSh0aGUpaChyZXN1bHRhbiltKHQpZyhsaXN0LikxNTAKLTU3OSB5IEZzKCR7KXAgRmkocGFyYW1ldGVyKTExIGIgRnMoLylwIEZpKHBhdHRlcm4pZyBGcygvKXAKLUZpKHMpbyh0cmkpbyhuZylmIEZzKH0pNjMwIDY4OCB5IEZ0KFRoZSkzNyBiIEZxKHBhdHRlcm4pZwotRnQoaXMpZyhleHBhbmRlZClnKHRvKWgocHJvKXMoZHVjZSllKGEpaChwYXR0ZXJuKWcoanVzdClnKGFzKWgoaW4pZQotKFwwMTRsZW5hbWUpaShleHBhbnNpb24uKTYzMCA3OTggeSBGcShQKW0oYXJhbWV0ZXIpNDYKLWIgRnQoaXMpMzggYihleHBhbmRlZClmKGFuZClnKHRoZSlpKGxvbmdlc3QpZyhtYXRjKW0oaClnKG9mKWYKLUZxKHBhdHRlcm4pZyBGdChhZ2FpbnN0KWgoaXRzKWYodiktNSBiKGFsdWUpMzkgYihpcyk2MzAKLTkwOCB5KHJlcGxhY2VkKTMzIGIod2l0aClmIEZxKHN0cmluZyk4IGIgRnQoLik0NyBiKElmKTMzCi1iIEZxKHBhdHRlcm4pZiBGdChiKXMoZWdpbnMpZyh3aXRoKWgoYClwIEZzKC8pcCBGdCgnLClnKGFsbCloKG1hdGMpbQotKGhlcylmKG9mKWcgRnEocGF0dGVybilnIEZ0KGFyZSlnKHJlLSk2MzAgMTAxNyB5KHBsYWNlZCkyNwotYih3aXRoKWYgRnEoc3RyaW5nKTggYiBGdCguKTQwIGIoTm9ybWFsbHkpMjcgYihvbmx5KWcodGhlKWcoXDAxNHJzdClmCi0obWF0YyltKGgpaChpcylnKHJlcGxhY2VkLik0MCBiKElmKTI2IGIgRnEocGF0dGVybilnCi1GdChiKXMoZWdpbnMpNjMwIDExMjcgeSh3aXRoKTMzIGIoYClwIEZzKCMpcCBGdCgnLClpKGl0KWYobSltKHVzdClmCi0obWF0YyltKGgpaShhdClmKHRoZSlnKGIpcyhlZ2lubmluZylmKG9mKWcodGhlKWgoZXhwYW5kZWQpZih2KS01Ci1iKGFsdWUpMzQgYihvZilnIEZxKHBhcmFtZXRlcik3IGIgRnQoLik2MzAgMTIzNiB5KElmKTM0Ci1iIEZxKHBhdHRlcm4pZyBGdChiKXMoZWdpbnMpZyh3aXRoKWcoYClwIEZzKFwwNDUpcCBGdCgnLCloKGl0KWcobSltCi0odXN0KWYobWF0YyltKGgpaChhdClnKHRoZSlmKGVuZClnKG9mKWcodGhlKWgoZXhwYW5kZWQpZSh2KS01Ci1iKGFsdWUpMzUgYihvZik2MzAgMTM0NiB5IEZxKHBhcmFtZXRlcik3IGIgRnQoLik0MCBiKElmKTI5Ci1iIEZxKHN0cmluZykzNiBiIEZ0KGlzKTI5IGIobiltKHVsbCwpaChtYXRjKW0oaGVzKWcob2YpZgotRnEocGF0dGVybilnIEZ0KGFyZSlnKGRlbGV0ZWQpaChhbmQpZSh0aGUpaCBGcygvKWYgRnQoZm9sbG8pbSh3aW5nKTYzMAotMTQ1NSB5IEZxKHBhdHRlcm4pMzQgYiBGdChtYSltKHkpZyhiKXMoZSlmKG9taXR0ZWQuKTUxCi1iKElmKTMzIGIgRnEocGFyYW1ldGVyKTQxIGIgRnQoaXMpMzMgYihgKXAgRnMoQClwIEZ0KCcpaChvcilnKGApcAotRnMoKilwIEZ0KCcsKWcodGhlKWcoc3Vic3RpdHV0aW9uKWYob3ApcyhlcmF0aW9uKTYzMAotMTU2NSB5KGlzKTM4IGIoYXBwbGllZClnKHRvKWcoZWFjKW0oaCloKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXIpZihpbikKLWcodHVybiwpaChhbmQpZSh0aGUpaChleHBhbnNpb24pZyhpcylnKHRoZSlnKHJlLSk2MzAKLTE2NzUgeShzdWx0YW4pbSh0KWYobGlzdC4pNTkgYihJZikzNiBiIEZxKHBhcmFtZXRlcik0MwotYiBGdChpcykzNiBiKGFuKWcoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSkzNyBiKHN1YnNjcmlwdGVkKWUod2l0aCloCi0oYClwIEZzKEApcCBGdCgnKWcob3IpaChgKXAgRnMoKilwIEZ0KCcsKWgodGhlKTYzMCAxNzg0Ci15KHN1YnN0aXR1dGlvbikzMCBiKG9wKXMoZXJhdGlvbiloKGlzKWYoYXBwbGllZClnKHRvKWgoZWFjKW0oaClnKG1lbSltCi0oYilzKGVyKWYob2YpZyh0aGUpaChhcnJhKW0oeSlnKGluKWYodHVybiwpZihhbmQpaCh0aGUpNjMwCi0xODk0IHkoZXhwYW5zaW9uKWcoaXMpaCh0aGUpZihyZXN1bHRhbiltKHQpaChsaXN0LikxNTAKLTIwNjQgeSBGcygkeylwIEZpKHBhcmFtZXRlcikxMSBiIEZzKF4pcCBGaShwYXR0ZXJuKWcKLUZzKH0pMTUwIDIxNzQgeSgkeylwIEZpKHBhcmFtZXRlcilnIEZzKF5eKXAgRmkocGF0dGVybilnCi1Gcyh9KTE1MCAyMjgzIHkoJHspcCBGaShwYXJhbWV0ZXIpZyBGcygsKXAgRmkocGF0dGVybilnCi1Gcyh9KTE1MCAyMzkzIHkoJHspcCBGaShwYXJhbWV0ZXIpZyBGcygsLClwIEZpKHBhdHRlcm4pZwotRnMofSk2MzAgMjUwMiB5IEZ0KFRoaXMpMzUgYihleHBhbnNpb24paChtbylzKGRpXDAxNGVzKWYodGhlKWgoY2FzZSloCi0ob2YpZihhbHBoYWIpcyhldGljKWgoYyltKGhhcmFjdGVycylnKGluKWYgRnEocGFyYW1ldGVyKTcKLWIgRnQoLik1NyBiKFRoZSk2MzAgMjYxMiB5IEZxKHBhdHRlcm4pMzYgYiBGdChpcylmKGV4cGFuZGVkKWcodG8paChwcm8pCi1zKGR1Y2UpZShhKWkocGF0dGVybilnKGp1c3QpZihhcyloKGluKWYoXDAxNGxlbmFtZSlnKGV4cGFuc2lvbi4pNTYKLWIoVGhlKTYzMCAyNzIyIHkoYClwIEZzKF4pcCBGdCgnKTM2IGIob3ApcyhlcmF0b3IpZyhjb24pbSh2KW0oZXJ0cyloCi0obG8pbSh3KW0oZXJjYXNlKWgobGV0dGVycylmKG1hdGMpbShoaW5nKWcgRnEocGF0dGVybilmCi1GdCh0bylnKHVwcClzKGVyY2FzZTspaSh0aGUpZShgKXAgRnMoLClwIEZ0KCcpNjMwIDI4MzEKLXkob3ApcyhlcmF0b3IpZyhjb24pbSh2KW0oZXJ0cylpKG1hdGMpbShoaW5nKWYodXBwKXMoZXJjYXNlKWUobGV0dGVycylpCi0odG8pZyhsbyltKHcpbShlcmNhc2UuKTU5IGIoVGhlKTM2IGIoYClwIEZzKF5eKXAgRnQoJylnKGFuZClmKGApcAotRnMoLCwpcCBGdCgnKTYzMCAyOTQxIHkoZXhwYW5zaW9ucyljKGNvbiltKHYpbShlcnQpaShlYWMpbShoKWcobWF0YyltCi0oaGVkKWYoYyltKGhhcmFjdGVyKWgoaW4pZSh0aGUpaChleHBhbmRlZClmKHYpLTUgYihhbHVlOykzMgotYih0aGUpZyhgKXAgRnMoXilwIEZ0KCcpZyhhbmQpNjMwIDMwNTAgeShgKXAgRnMoLClwIEZ0KCcpMjQKLWIoZXhwYW5zaW9ucylmKG1hdGMpbShoKWkoYW5kKWUoY29uKW0odiltKGVydClqKG9ubHkpZCh0aGUpaChcMDE0cnN0KWYKLShjKW0oaGFyYWN0ZXIpaihpbilkKHRoZSloKGV4cGFuZGVkKWYodiktNSBiKGFsdWUuKTYzMAotMzE2MCB5KElmKTMxIGIgRnEocGF0dGVybilnIEZ0KGlzKWcob21pdHRlZCwpaShpdClmKGlzKWYodHJlYXRlZCloKGxpaykKLW0oZSloKGEpZShgKXAgRnMoPylwIEZ0KCcsKWgod2hpYyltKGgpZihtYXRjKW0oaGVzKWkoZXYpbShlcnkpZihjKW0KLShoYXJhY3Rlci4pNDQgYihJZik2MzAgMzI3MCB5IEZxKHBhcmFtZXRlcikzNyBiIEZ0KGlzKTMxCi1iKGApcCBGcyhAKXAgRnQoJylmKG9yKWgoYClwIEZzKCopcCBGdCgnLClmKHRoZSloKGNhc2UpZyhtbylzCi0oZGlcMDE0Y2F0aW9uKWcob3ApcyhlcmF0aW9uKWcoaXMpZihhcHBsaWVkKWcodG8paShlYWMpbShoKWYocClzKG9zaS0pCi02MzAgMzM3OSB5KHRpb25hbCkyNiBiKHBhcmFtZXRlcillKGluKWgodHVybiwpZihhbmQpZyh0aGUpaChleHBhbnNpb24pZgotKGlzKWcodGhlKWgocmVzdWx0YW4pbSh0KWcobGlzdC4pNDAgYihJZikyMyBiIEZxKHBhcmFtZXRlcikzMgotYiBGdChpcyk2MzAgMzQ4OSB5KGFuKWUoYXJyYSltKHkpZyh2KS01IGIoYXJpYWJsZSkzMQotYihzdWJzY3JpcHRlZClkKHdpdGgpaShgKXAgRnMoQClwIEZ0KCcpZyhvcilmKGApcCBGcygqKXAKLUZ0KCcsKWkodGhlKWYoY2FzZSlnKG1vKXMoZGlcMDE0Y2F0aW9uKWgob3ApcyhlcmF0aW9uKWYoaXMpNjMwCi0zNTk4IHkoYXBwbGllZClkKHRvKWcoZWFjKW0oaCloKG1lbSltKGIpcyhlcillKG9mKWgodGhlKWcoYXJyYSltKHkpZwotKGluKWcodHVybiwpZyhhbmQpZih0aGUpaChleHBhbnNpb24pZihpcyloKHRoZSlnKHJlc3VsdGFuKW0odCk2MzAKLTM3MDggeShsaXN0LikxNTAgMzkxOCB5IEZqKDMuNS40KTYzIGIoQ29tbWFuZCk0MSBiKFN1YnN0aXR1dGlvbikxNTAKLTQwNjUgeSBGdChDb21tYW5kKWYoc3Vic3RpdHV0aW9uKWgoYWxsbyltKHdzKWkodGhlKWUob3V0cHV0KWcob2YpaChhKWYKLShjb21tYW5kKWcodG8paChyZXBsYWNlKWcodGhlKWcoY29tbWFuZClmKGl0c2VsZi4pMTUwCi00MTc1IHkoQ29tbWFuZCkyOSBiKHN1YnN0aXR1dGlvbiloKG8pcyhjY3VycyloKHdoZW4pZShhKWkoY29tbWFuZClmKGlzKQotZyhlbmNsb3NlZCloKGFzKWcoZm9sbG8pbSh3czopMzkwIDQzMjAgeSBGcygkXCgpcCBGaShjb21tYW5kKTExCi1iIEZzKFwpKTE1MCA0NDY1IHkgRnQob3IpMzkwIDQ2MTEgeSBGcyhgKXAgRmkoY29tbWFuZClnCi1GcyhgKTE1MCA0NzU2IHkgRnQoQmFzaCk0NSBiKHApcyhlcmZvcm1zKWYodGhlKWgoZXhwYW5zaW9uKWYoYiltKHkpaAotKGV4ZWN1dGluZylpIEZxKGNvbW1hbmQpaCBGdChhbmQpYyhyZXBsYWNpbmcpaSh0aGUpZihjb21tYW5kKWcoc3ViLSkxNTAKLTQ4NjYgeShzdGl0dXRpb24pYyh3aXRoKWYodGhlKWcoc3RhbmRhcmQpZyhvdXRwdXQpZyhvZilnKHRoZSlnCi0oY29tbWFuZCwpaih3aXRoKWQoYW4pbSh5KWgodHJhaWxpbmcpZyhuZXdsaW5lcylmKGRlbGV0ZWQuKTE1MAotNDk3NSB5KEVtKW0oYilzKGVkZGVkKTMwIGIobmV3bGluZXMpaChhcmUpaChub3QpZihkZWxldGVkLClpKGJ1dCllCi0odGhleSlnKG1hKW0oeSloKGIpcyhlKWYocmVtbyltKHYpbShlZClpKGR1cmluZylkKHcpbShvcmQpaChzcGxpdHRpbmcuKQotNDQgYihUaGUpMTUwIDUwODUgeShjb21tYW5kKTIxIGIoc3Vic3RpdHV0aW9uKWcgRnMoJFwoY2F0KTI5Ci1iIEZpKGZpbGUpMTEgYiBGcyhcKSkyMCBiIEZ0KGNhbilpKGIpcyhlKWYocmVwbGFjZWQpZyhiKW0oeSloKHRoZSlnCi0oZXF1aXYpLTUgYihhbGVuKW0odCkyMiBiKGJ1dClmKGZhc3RlciloIEZzKCRcKDwpMzAgYgotRmkoZmlsZSkxMSBiIEZzKFwpKXAgRnQoLikyNzUgNTIzMCB5KFdoZW4pMzMgYih0aGUpaShvbGQtc3QpbSh5bGUpaAotKGJhYyltKGtxdW90ZSlmKGZvcm0pZihvZilnKHN1YnN0aXR1dGlvbilnKGlzKWcodXNlZCwpaChiYWMpbShrc2xhc2gpZgotKHJldGFpbnMpaChpdHMpZihsaXRlcmFsKTE1MCA1MzQwIHkobWVhbmluZylrKGV4Y2VwdCloKHdoZW4pZShmb2xsbyltCi0odyltKGVkKWooYiltKHkpZShgKXAgRnMoJClwIEZ0KCcsKWooYClwIEZzKGApcCBGdCgnLClmKG9yKWUoYClwCi1GcyhcXClwIEZ0KCcuKTY0IGIoVGhlKTM4IGIoXDAxNHJzdClmKGJhYyltKGtxdW90ZSlqKG5vdCllKHByZWNlZGVkKWcKLShiKW0oeSlnKGEpcCBlb3AgZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoJHspcCBGaShwYXJhbWV0ZXIpMTEKK2IgRnMoOj8pcCBGaSh3b3JkKWcgRnMofSk2MzAgNDA4IHkgRnQoSWYpMjYgYiBGcShwYXJhbWV0ZXIpMzMKK2IgRnQoaXMpMjYgYihuKW0odWxsKWcob3IpZyh1bnNldCwpaCh0aGUpZihleHBhbnNpb24pZyhvZilnCitGcSh3KW0ob3JkKWsgRnQoXChvciljKGEpaChtZXNzYWdlKWcodG8pZyh0aGF0KWYoZVwwMTNlY3QpNjMwCis1MTggeShpZilpIEZxKHcpbShvcmQpaiBGdChpcylkKG5vdClnKHByZXNlbiltKHRcKSloKGlzKWYod3JpdHRlbilnKHRvKQoraCh0aGUpZihzdGFuZGFyZClmKGVycm9yKWgoYW5kKWYodGhlKWgoc2hlbGwsKWgoaWYpZihpdCloKGlzKWYobm90KTYzMAorNjI4IHkoaW4pbSh0ZXJhY3RpdiltKGUsKTMzIGIoZXhpdHMuKTQyIGIoT3RoZXJ3aXNlLCkzMAorYih0aGUpaCh2KS01IGIoYWx1ZSkzMSBiKG9mKWYgRnEocGFyYW1ldGVyKTM4IGIgRnQoaXMpMzAKK2Ioc3Vic3RpdHV0ZWQuKTE1MCA3NzQgeSBGcygkeylwIEZpKHBhcmFtZXRlcikxMSBiIEZzKDorKXAKK0ZpKHdvcmQpZyBGcyh9KTYzMCA4ODMgeSBGdChJZikzNSBiIEZxKHBhcmFtZXRlcik0MiBiCitGdChpcykzNiBiKG4pbSh1bGwpZihvciloKHVuc2V0LClnKG5vdGhpbmcpZyhpcylmKHN1YnN0aXR1dGVkLClpCisob3RoZXJ3aXNlKWUodGhlKWgoZXhwYW5zaW9uKTYzMCA5OTMgeShvZikzMSBiIEZxKHcpbShvcmQpaQorRnQoaXMpZShzdWJzdGl0dXRlZC4pMTUwIDExMzkgeSBGcygkeylwIEZpKHBhcmFtZXRlcikxMQorYiBGcyg6KXAgRmkob2Zmc2V0KWcgRnMofSkxNTAgMTI0OSB5KCR7KXAgRmkocGFyYW1ldGVyKWcKK0ZzKDopcCBGaShvZmZzZXQpZyBGcyg6KXAgRmkobGUpbyhuZ3QpbyhoKWcgRnMofSk2MzAKKzEzNTggeSBGdChFeHBhbmRzKTQ0IGIodG8paSh1cCllKHRvKWkgRnEobGVuZ3RoKWcgRnQoYyltKGhhcmFjdGVycyloCisob2YpZSBGcShwYXJhbWV0ZXIpNTMgYiBGdChzdGFydGluZyk0NiBiKGF0KWcodGhlKWYoYyltKGhhcmFjdGVyKTYzMAorMTQ2OCB5KHNwKXMoZWNpXDAxNGVkKTMwIGIoYiltKHkpZyBGcShvXDAxM3NldClyIEZ0KC4pNDMKK2IoSWYpMzAgYiBGcShsZW5ndGgpaCBGdChpcylnKG9taXR0ZWQsKWcoZXhwYW5kcylmKHRvKWgodGhlKWcKKyhzdWJzdHJpbmcpZihvZilnIEZxKHBhcmFtZXRlcik2MzAgMTU3NyB5IEZ0KHN0YXJ0aW5nKTM4CitiKGF0KWcodGhlKWYoYyltKGhhcmFjdGVyKWkoc3ApcyhlY2lcMDE0ZWQpZChiKW0oeSloCitGcShvXDAxM3NldClyIEZ0KC4pNjIgYiBGcShsZW5ndGgpMzggYiBGdChhbmQpZSBGcShvXDAxM3NldClrCitGdChhcmUpZShhcml0aG1ldGljKTYzMCAxNjg3IHkoZXhwcmVzc2lvbnMpMzAgYihcKHNlZSlpKFNlY3Rpb24pZyg2LjUpZworKFtTaGVsbClmKEFyaXRobWV0aWNdLCloKHBhZ2UpZyg4MFwpLik0MyBiKFRoaXMpMzAgYihpcyloKHJlZmVycmVkKWYKKyh0bylpKGFzKTYzMCAxNzk3IHkoU3Vic3RyaW5nKWQoRXhwYW5zaW9uLik2MzAgMTkyNCB5KElmKWMKK0ZxKG9cMDEzc2V0KWsgRnQoZXYpLTUgYihhbHVhdGVzKTI3IGIodG8pZyhhKWYobiltKHVtKW0oYilzKGVyKWUobGVzcylpCisodGhhbilnKHplcm8sKWgodGhlKWYodiktNSBiKGFsdWUpMjYgYihpcylnKHVzZWQpZihhcyloKGFuKWcob1wwMTNzZXQpZworKGZyb20pNjMwIDIwMzQgeSh0aGUpYyhlbmQpZShvZilpKHRoZSlmKHYpLTUgYihhbHVlKTIyCitiKG9mKWcgRnEocGFyYW1ldGVyKTcgYiBGdCguKTM4IGIoSWYpMjAgYiBGcShsZW5ndGgpaQorRnQoZXYpLTUgYihhbHVhdGVzKTIzIGIodG8pZihhKWcobiltKHVtKW0oYilzKGVyKWUobGVzcylpKHRoYW4pZih6ZXJvLCkKKzYzMCAyMTQ0IHkoYW5kKWcgRnEocGFyYW1ldGVyKTI5IGIgRnQoaXMpMjEgYihub3QpaChgKXAKK0ZzKEApcCBGdCgnKWcoYW5kKWYobm90KWgoYW4pZyhpbmRleGVkKWYob3IpaChhc3NvKXMoY2lhdGl2KW0oZSlpKGFycmEpCittKHkpLTggYigsKTI1IGIoaXQpZChpcylnKGluKW0odGVycHJldGVkKTYzMCAyMjUzIHkoYXMpMzcKK2IoYW4pZihvXDAxM3NldClpKGZyb20pZSh0aGUpaChlbmQpZihvZiloKHRoZSlmKHYpLTUKK2IoYWx1ZSkzNyBiKG9mKWcgRnEocGFyYW1ldGVyKTQ0IGIgRnQocmF0aGVyKTM2IGIodGhhbiloKGEpZihuKW0odW0pbQorKGIpcyhlcilnKG9mKTYzMCAyMzYzIHkoYyltKGhhcmFjdGVycywpNDkgYihhbmQpNDIgYih0aGUpaShleHBhbnNpb24pZgorKGlzKWgodGhlKWcoYyltKGhhcmFjdGVycyloKGIpcyhldCltKHcpbShlZW4pZih0aGUpZyh0KW0odyltKG8pZworKG9cMDEzc2V0cy4pODEgYihJZik2MzAgMjQ3MiB5IEZxKHBhcmFtZXRlcikzNyBiIEZ0KGlzKTMxCitiKGApcCBGcyhAKXAgRnQoJywpZyh0aGUpZyhyZXN1bHQpZihpcyloIEZxKGxlbmd0aClnCitGdChwKXMob3NpdGlvbmFsKWcocGFyYW1ldGVycylnKGIpcyhlZ2lubmluZyllKGF0KWogRnEob1wwMTNzZXQpcgorRnQoLik2MzAgMjU4MiB5KElmKWsgRnEocGFyYW1ldGVyKTQzIGIgRnQoaXMpMzYgYihhbilnKGluZGV4ZWQpZyhhcnJhKW0KKyh5KWcobmFtZSlnKHN1YnNjcmlwdGVkKWYoYiltKHkpaChgKXAgRnMoQClwIEZ0KCcpZyhvciloKGApcAorRnMoKilwIEZ0KCcsKWgodGhlKWUocmVzdWx0KWcoaXMpNjMwIDI2OTIgeSh0aGUpaCBGcShsZW5ndGgpZworRnQobWVtKW0oYilzKGVycylmKG9mKWgodGhlKWcoYXJyYSltKHkpZyhiKXMoZWdpbm5pbmcpZih3aXRoKWgKK0ZzKCR7KXAgRmkocGFyYW1ldGVyKTExIGIgRnMoWylwIEZpKG9mZnNldClnIEZzKF0pbyh9KXAKK0Z0KC4pNTQgYihBKTYzMCAyODAxIHkobmVnYXRpdiltKGUpMzMgYiBGcShvXDAxM3NldClnCitGdChpcyllKHRhayltKGVuKWgocmVsYXRpdiltKGUpZyh0bylnKG9uZSlmKGdyZWF0ZXIpZyh0aGFuKWcodGhlKWYKKyhtYXhpbSltKHVtKWgoaW5kZXgpZihvZiloKHRoZSk2MzAgMjkxMSB5KHNwKXMoZWNpXDAxNGVkKWsoYXJyYSltKHkpLTgKK2IoLik1NyBiKFN1YnN0cmluZykzNCBiKGV4cGFuc2lvbilpKGFwcGxpZWQpZih0byloKGFuKWcoYXNzbylzKGNpYXRpdiltCisoZSlpKGFycmEpbSh5KWUocHJvKXMoZHVjZXMpNjMwIDMwMjAgeSh1bmRlXDAxNG5lZCkyOAorYihyZXN1bHRzLik2MzAgMzE0OCB5KE5vdGUpMzcgYih0aGF0KWYoYSlnKG5lZ2F0aXYpbShlKWkob1wwMTNzZXQpZihtKW0KKyh1c3QpZihiKXMoZSlmKHNlcGFyYXRlZCloKGZyb20pZih0aGUpaChjb2xvbiloKGIpbSh5KWUoYXQpaShsZWFzdClnCisob25lKTYzMCAzMjU4IHkoc3BhY2UpZyh0bylnKGEpbSh2KW0ob2lkKWcoYilzKGVpbmcpZihjb25mdXNlZClmKHdpdGgpaAorKHRoZSloKGApcCBGcyg6LSlwIEZ0KCcpZihleHBhbnNpb24uKTU3IGIoU3Vic3RyaW5nKTM1CitiKGluZGV4aW5nKWgoaXMpNjMwIDMzNjcgeSh6ZXJvLWJhc2VkKTI0IGIodW5sZXNzKWYodGhlKWgocClzCisob3NpdGlvbmFsKWcocGFyYW1ldGVycylnKGFyZSlnKHVzZWQsKWcoaW4pZyh3aGljKW0oaClmKGNhc2UpaCh0aGUpZworKGluZGV4aW5nKTYzMCAzNDc3IHkoc3RhcnRzKTMwIGIoYXQpZygxKWYoYiltKHkpaChkZWZhdWx0Lik0MAorYihJZikyOSBiIEZxKG9cMDEzc2V0KWogRnQoaXMpZSgwLClnKGFuZClmKHRoZSlnKHApcyhvc2l0aW9uYWwpaAorKHBhcmFtZXRlcnMpZyhhcmUpZyh1c2VkLClmIEZzKCRAKTYzMCAzNTg3IHkgRnQoaXMpaChwcmVcMDE0eGVkKWcodG8paAorKHRoZSlmKGxpc3QuKTE1MCAzNzMzIHkgRnMoJHshKXAgRmkocHJlZml4KTExIGIgRnMoKn0pMTUwCiszODQyIHkoJHshKXAgRmkocHJlZml4KWcgRnMoQH0pNjMwIDM5NTIgeSBGdChFeHBhbmRzKTIzCitiKHRvKWkodGhlKWcobmFtZXMpZihvZiloKHYpLTUgYihhcmlhYmxlcykyNSBiKHdob3NlKWYobmFtZXMpZyhiKXMKKyhlZ2luKWcod2l0aClnIEZxKHByZVwwMTR4KTYgYiBGdCgsKTI1IGIoc2VwYXJhdGVkKWcoYiltKHkpNjMwCis0MDYxIHkodGhlKWsoXDAxNHJzdClmKGMpbShoYXJhY3RlcilqKG9mKWUodGhlKWcgRnMoSUZTKWYKK0Z0KHNwKXMoZWNpYWwpaSh2KS01IGIoYXJpYWJsZS4pNDEgYihXaGVuKTI5IGIoYClwIEZzKEApcAorRnQoJylnKGlzKWcodXNlZClmKGFuZCloKHRoZSlnKGV4cGFuLSk2MzAgNDE3MSB5KHNpb24pMzUKK2IoYXBwKXMoZWFycylnKHdpdGhpbilmKGRvdWJsZSloKHF1b3RlcywpaShlYWMpbShoKWYodiktNQorYihhcmlhYmxlKTM2IGIobmFtZSlmKGV4cGFuZHMpZyh0bylnKGEpaChzZXBhcmF0ZSk2MzAKKzQyODEgeSh3KW0ob3JkLikxNTAgNDQyNyB5IEZzKCR7ISlwIEZpKG5hbWUpMTEgYiBGcyhbQF19KTE1MAorNDUzNiB5KCR7ISlwIEZpKG5hbWUpZyBGcyhbKl19KTYzMCA0NjQ2IHkgRnQoSWYpMjYgYgorRnEobmFtZSkzMiBiIEZ0KGlzKTI3IGIoYW4pZihhcnJhKW0oeSloKHYpLTUgYihhcmlhYmxlLCkyOQorYihleHBhbmRzKWQodG8paCh0aGUpZyhsaXN0KWcob2YpZyhhcnJhKW0oeSlnKGluZGljZXMpZyhcKGspbShleXNcKSloCisoYXNzaWduZWQpNjMwIDQ3NTYgeShpbiljIEZxKG5hbWUpNSBiIEZ0KC4pMzkgYihJZikyMworYiBGcShuYW1lKTMwIGIgRnQoaXMpMjQgYihub3QpZyhhbilnKGFycmEpbSh5KS04IGIoLCkyNworYihleHBhbmRzKWModG8paSgwKWYoaWYpaCBGcShuYW1lKWsgRnQoaXMpMjQgYihzZXQpaChhbmQpZShuKW0odWxsKWgKKyhvdGhlcndpc2UuKTYzMCA0ODY1IHkoV2hlbikzOSBiKGApcCBGcyhAKXAgRnQoJyloKGlzKWYodXNlZClnKGFuZClmCisodGhlKWkoZXhwYW5zaW9uKWYoYXBwKXMoZWFycylnKHdpdGhpbilmKGRvdWJsZSloKHF1b3RlcywpayhlYWMpbShoKWQKKyhrKW0oZXkpNjMwIDQ5NzUgeShleHBhbmRzKTMwIGIodG8paChhKWYoc2VwYXJhdGUpaSh3KW0ob3JkLikxNTAKKzUxMjEgeSBGcygkeyMpcCBGaShwYXJhbWV0ZXIpMTEgYiBGcyh9KTYzMCA1MjMwIHkgRnQoVGhlKTQwCitiKGxlbmd0aClnKGluKWcoYyltKGhhcmFjdGVycylpKG9mKWUodGhlKWgoZXhwYW5kZWQpZSh2KS01CitiKGFsdWUpNDEgYihvZilmIEZxKHBhcmFtZXRlcik0NyBiIEZ0KGlzKTQwIGIoc3Vic3RpdHV0ZWQuKTYzMAorNTM0MCB5KElmKWkgRnEocGFyYW1ldGVyKTUwIGIgRnQoaXMpNDMgYihgKXAgRnMoKilwIEZ0KCcpZyhvcilnKGApcAorRnMoQClwIEZ0KCcsKWsodGhlKWModiktNSBiKGFsdWUpNDMgYihzdWJzdGl0dXRlZClmKGlzKWgodGhlKWcobiltKHVtKW0KKyhiKXMoZXIpZihvZiloKHApcyhvc2l0aW9uYWwpcCBlb3AgZW5kCiAlJVBhZ2U6IDIzIDI5CiBUZVhEaWN0IGJlZ2luIDIzIDI4IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQotYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDIzKTE1MCAyOTkKLXkoYmFjKW0oa3NsYXNoKTQxIGIodGVybWluYXRlcylnKHRoZSlmKGNvbW1hbmQpZyhzdWJzdGl0dXRpb24uKTY5Ci1iKFdoZW4pNDAgYih1c2luZylnKHRoZSlnIEZzKCRcKClwIEZpKGNvbW1hbmQpMTEgYiBGcyhcKSkzNwotYiBGdChmb3JtLCk0MiBiKGFsbCkxNTAgNDA4IHkoYyltKGhhcmFjdGVycykzMiBiKGIpcyhldCltKHcpbShlZW4pZgotKHRoZSlmKHBhcmVuKW0odGhlc2VzKWgobWFrKW0oZSlnKHVwKWYodGhlKWcoY29tbWFuZDspaChub25lKWYoYXJlKWgKLSh0cmVhdGVkKWcoc3ApcyhlY2lhbGx5KS04IGIoLikyNzUgNTQzIHkoQ29tbWFuZCkyMiBiKHN1YnN0aXR1dGlvbnMpZwotKG1hKW0oeSlpKGIpcyhlKWUobmVzdGVkLikzOSBiKFQpLTggYihvKTIzIGIobmVzdClnKHdoZW4pZih1c2luZyloKHRoZSkKLWcoYmFjKW0oa3F1b3RlZCloKGZvcm0sKWcoZXNjYXApcyhlKTE1MCA2NTMgeSh0aGUpMzEKLWIoaW5uZXIpZShiYWMpbShrcXVvdGVzKWood2l0aCllKGJhYyltKGtzbGFzaGVzLikyNzUKLTc4NyB5KElmKWUodGhlKWkoc3Vic3RpdHV0aW9uKWUoYXBwKXMoZWFycyloKHdpdGhpbilnKGRvdWJsZSlmKHF1b3RlcywpCi1pKHcpbShvcmQpZihzcGxpdHRpbmcpaChhbmQpZihcMDE0bGVuYW1lKWcoZXhwYW5zaW9uKTE1MAotODk3IHkoYXJlKWkobm90KWYocClzKGVyZm9ybWVkKWYob24paCh0aGUpaChyZXN1bHRzLikxNTAKLTEwOTYgeSBGaigzLjUuNSk2MyBiKEFyaXRobWV0aWMpNDAgYihFeHBhbnNpb24pMTUwIDEyNDMKLXkgRnQoQXJpdGhtZXRpYykyNSBiKGV4cGFuc2lvbilnKGFsbG8pbSh3cylnKHRoZSlnKGV2KS01Ci1iKGFsdWF0aW9uKTI2IGIob2YpZihhbilmKGFyaXRobWV0aWMpaShleHByZXNzaW9uKWUoYW5kKWcodGhlKWcKLShzdWJzdGl0dXRpb24pMTUwIDEzNTMgeShvZikzMSBiKHRoZSlmKHJlc3VsdC4pNDEgYihUaGUpMzAKLWIoZm9ybWF0KWcoZm9yKWcoYXJpdGhtZXRpYylpKGV4cGFuc2lvbillKGlzOikzOTAgMTQ4OAoteSBGcygkXChcKCk0NyBiIEZpKGV4cHJlc3Npb24pNTUgYiBGcyhcKVwpKTI3NSAxNjIyIHkKLUZ0KFRoZSkzMyBiKGV4cHJlc3Npb24pZyhpcyloKHRyZWF0ZWQpZyhhcylnKGlmKWcoaXQpZyh3KW0oZXJlKWcKLSh3aXRoaW4pZihkb3VibGUpaChxdW90ZXMsKWgoYnV0KWUoYSloKGRvdWJsZSlmKHF1b3RlKWgoaW5zaWRlKTE1MAotMTczMiB5KHRoZSkyNyBiKHBhcmVuKW0odGhlc2VzKWcoaXMpZyhub3QpZyh0cmVhdGVkKWgoc3ApcyhlY2lhbGx5KS04Ci1iKC4pNDEgYihBbGwpMjcgYih0b2spbShlbnMpaChpbillKHRoZSloKGV4cHJlc3Npb24pZyh1bmRlcmdvKWYKLShwYXJhbWV0ZXIpaChleC0pMTUwIDE4NDEgeShwYW5zaW9uLCloKGNvbW1hbmQpZihzdWJzdGl0dXRpb24sKWgoYW5kKWYKLShxdW90ZSlpKHJlbW8pbSh2KS01IGIoYWwuKTQxIGIoQXJpdGhtZXRpYykyOCBiKGV4cGFuc2lvbnMpZyhtYSltKHkpZwotKGIpcyhlKWYobmVzdGVkLikyNzUgMTk3NiB5KFRoZSkzNCBiKGV2KS01IGIoYWx1YXRpb24pMzcKLWIoaXMpZihwKXMoZXJmb3JtZWQpZShhY2NvcmRpbmcpaSh0bylnKHRoZSlnKHJ1bGVzKWYobGlzdGVkKWgoYilzKGVsbyltCi0odylnKFwoc2VlKWcoU2VjdGlvbilnKDYuNSloKFtTaGVsbCkxNTAgMjA4NiB5KEFyaXRobWV0aWNdLCkzMgotYihwYWdlKWYoNzhcKS4pNDIgYihJZikzMCBiKHRoZSloKGV4cHJlc3Npb24pZihpcylnKGluKW0odiktNQotYihhbGlkLCkzMiBiKEJhc2gpZShwcmluKW0odHMpZyhhKWgobWVzc2FnZSlnKGluZGljYXRpbmcpaChmYWlsdXJlKTE1MAotMjE5NSB5KHRvKWYodGhlKWcoc3RhbmRhcmQpZShlcnJvciloKGFuZClnKG5vKWcoc3Vic3RpdHV0aW9uKWcobylzCi0oY2N1cnMuKTE1MCAyMzk1IHkgRmooMy41LjYpNjMgYihQcm8pcyhjZXNzKTQyIGIoU3Vic3RpdHV0aW9uKTE1MAotMjU0MiB5IEZ0KFBybylzKGNlc3MpaShzdWJzdGl0dXRpb24pZyhpcylnKHN1cHApcyhvcnRlZClmKG9uKWgoc3lzdGVtcykKLWcodGhhdCloKHN1cHApcyhvcnQpZChuYW1lZClpKHBpcClzKGVzKWYoXCgpcCBGbChmaWYpbihvKXAKLUZ0KHNcKSlpKG9yKWYodGhlKTE1MCAyNjUxIHkoYClwIEZzKC9kZXYvZmQpcCBGdCgnKTI5Ci1iKG1ldGhvKXMoZCloKG9mKWcobmFtaW5nKWcob3ApcyhlbilnKFwwMTRsZXMuKTQxIGIoSXQpMzAKLWIodGFrKW0oZXMpaSh0aGUpZihmb3JtKWYob2YpMzkwIDI3ODYgeSBGcyg8XCgpcCBGaShsaXN0KTExCi1iIEZzKFwpKTE1MCAyOTIxIHkgRnQob3IpMzkwIDMwNTUgeSBGcyg+XCgpcCBGaShsaXN0KWcKLUZzKFwpKTE1MCAzMTkwIHkgRnQoVGhlKTIzIGIocHJvKXMoY2VzcylnIEZxKGxpc3QpaiBGdChpcylkKHJ1bilmKHdpdGgpCi1oKGl0cyloKGlucHV0KWYob3IpZyhvdXRwdXQpZyhjb25uZWN0ZWQpaCh0byloKGEpZSBGbChmaWYpbihvKWcKLUZ0KG9yKWgoc29tZSlnKFwwMTRsZSlmKGluKWcoYClwIEZzKC9kZXYvZmQpcCBGdCgnLikxNTAKLTMzMDAgeShUaGUpMjggYihuYW1lKWgob2YpZyh0aGlzKWYoXDAxNGxlKWgoaXMpZyhwYXNzZWQpZihhcyloKGFuKWYKLShhcmd1bWVuKW0odCloKHRvKWgodGhlKWYoY3VycmVuKW0odClmKGNvbW1hbmQpaChhcylmKHRoZSloKHJlc3VsdClnCi0ob2YpZyh0aGUpMTUwIDM0MDkgeShleHBhbnNpb24uKTQwIGIoSWYpMjggYih0aGUpaCBGcyg+XCgpcAotRmkobGlzdCkxMSBiIEZzKFwpKTI2IGIgRnQoZm9ybSloKGlzKWkodXNlZCwpZih3cml0aW5nKWgodG8pZyh0aGUpZgotKFwwMTRsZSloKHdpbGwpZyhwcm8pbSh2aWRlKWYoaW5wdXQpZyhmb3IpZyBGcShsaXN0KXIKLUZ0KC4pNDEgYihJZikyOCBiKHRoZSkxNTAgMzUxOSB5IEZzKDxcKClwIEZpKGxpc3QpMTEKLWIgRnMoXCkpMjMgYiBGdChmb3JtKWgoaXMpaSh1c2VkLClmKHRoZSloKFwwMTRsZSlmKHBhc3NlZClnKGFzKWcoYW4pZwotKGFyZ3VtZW4pbSh0KWgoc2hvdWxkKWUoYilzKGUpaChyZWFkKWcodG8paChvYnRhaW4pZyh0aGUpZihvdXRwdXQpZyhvZikKLTE1MCAzNjI4IHkgRnEobGlzdClyIEZ0KC4pNDEgYihOb3RlKTMxIGIodGhhdClmKG5vKWYoc3BhY2UpaChtYSltKHkpZwotKGFwcClzKGVhcilmKGIpcyhldCltKHcpbShlZW4paCh0aGUpZyBGcyg8KWYgRnQob3IpaAotRnMoPilmIEZ0KGFuZClnKHRoZSlnKGxlZnQpaChwYXJlbiltKHRoZXNpcywpaChvdGhlcndpc2UpMTUwCi0zNzM4IHkodGhlKWcoY29uc3RydWN0KWYodyltKG91bGQpZyhiKXMoZSlnKGluKW0odGVycHJldGVkKWgoYXMpZihhKWgKLShyZWRpcmVjdGlvbi4pMjc1IDM4NzMgeShXaGVuKTM2IGIoYSltKHYpLTUgYihhaWxhYmxlLCk0MAotYihwcm8pcyhjZXNzKWMoc3Vic3RpdHV0aW9uKWgoaXMpZihwKXMoZXJmb3JtZWQpZihzaW0pbSh1bHRhbmVvdXNseSlpCi0od2l0aClnKHBhcmFtZXRlcilnKGFuZCkxNTAgMzk4MiB5KHYpLTUgYihhcmlhYmxlKTMxCi1iKGV4cGFuc2lvbiwpZyhjb21tYW5kKWYoc3Vic3RpdHV0aW9uLClnKGFuZClnKGFyaXRobWV0aWMpaShleHBhbnNpb24uKQotMTUwIDQxODIgeSBGaigzLjUuNyk2MyBiKFcpLTEwIGIob3JkKTQxIGIoU3BsaXR0aW5nKTE1MAotNDMyOSB5IEZ0KFRoZSkzMCBiKHNoZWxsKWgoc2NhbnMpZyh0aGUpZyhyZXN1bHRzKWYob2YpaChwYXJhbWV0ZXIpZwotKGV4cGFuc2lvbiwpZyhjb21tYW5kKWcoc3Vic3RpdHV0aW9uLClnKGFuZClmKGFyaXRobWV0aWMpMTUwCi00NDM4IHkoZXhwYW5zaW9uKWcodGhhdCloKGRpZClmKG5vdClnKG8pcyhjY3VyKWgod2l0aGluKWUoZG91YmxlKWgKLShxdW90ZXMpaChmb3IpZih3KW0ob3JkKWcoc3BsaXR0aW5nLikyNzUgNDU3MyB5KFRoZSk0MwotYihzaGVsbCloKHRyZWF0cyloKGVhYyltKGgpaChjKW0oaGFyYWN0ZXIpZihvZilnIEZzKCRJRlMpZQotRnQoYXMpaChhKWcoZGVsaW1pdGVyLCk0OSBiKGFuZCk0MyBiKHNwbGl0cyloKHRoZSloKHJlc3VsdHMpZShvZilpKHRoZSkKLTE1MCA0NjgyIHkob3RoZXIpNDAgYihleHBhbnNpb25zKWYoaW4pbSh0bylpKHcpbShvcmRzKWUob24paCh0aGVzZSlnKGMpCi1tKGhhcmFjdGVycy4pNzAgYihJZikzOSBiIEZzKElGUylnIEZ0KGlzKWgodW5zZXQsKWkob3IpZChpdHMpaCh2KS01Ci1iKGFsdWUpNDAgYihpcylnKGV4YWN0bHkpMTUwIDQ3OTIgeSBGcyg8c3BhY2U+PHRhYj48bmV3bGluZT4pcAotRnQoLCkyNiBiKHRoZSkzMiBiKGRlZmF1bHQsKWcodGhlbilmKHNlcXVlbmNlcyloKG9mKTYyCi1iIEZzKDxzcGFjZT4pcCBGdCgsKTMwIGIgRnMoPHRhYj4pcCBGdCgsKWgoYW5kKWYgRnMoPG5ld2xpbmU+KTE1MAotNDkwMiB5IEZ0KGF0KTM5IGIodGhlKWYoYilzKGVnaW5uaW5nKWcoYW5kKWYoZW5kKWgob2YpZyh0aGUpaChyZXN1bHRzKWYKLShvZilnKHRoZSlnKHByZXZpb3VzKWcoZXhwYW5zaW9ucylnKGFyZSlnKGlnbm9yZWQsKWooYW5kKWQoYW4pbSh5KTE1MAotNTAxMSB5KHNlcXVlbmNlKTMxIGIob2YpZyBGcyhJRlMpZiBGdChjKW0oaGFyYWN0ZXJzKWoobm90KWUoYXQpZyh0aGUpZwotKGIpcyhlZ2lubmluZylnKG9yKWYoZW5kKWgoc2VydiltKGVzKWcodG8paChkZWxpbWl0KWYodyltKG9yZHMuKTQyCi1iKElmKTMwIGIgRnMoSUZTKWcgRnQoaGFzKTE1MCA1MTIxIHkoYSlnKHYpLTUgYihhbHVlKTMwCi1iKG90aGVyKWcodGhhbilnKHRoZSlnKGRlZmF1bHQsKWcodGhlbilmKHNlcXVlbmNlcyloKG9mKWcodGhlKWcKLSh3aGl0ZXNwYWNlKWcoYyltKGhhcmFjdGVycyloIEZzKHNwYWNlKWUgRnQoYW5kKWcgRnModGFiKTE1MAotNTIzMCB5IEZ0KGFyZSkzNiBiKGlnbm9yZWQpZyhhdClnKHRoZSlnKGIpcyhlZ2lubmluZylmKGFuZClnKGVuZClnKG9mKWgKLSh0aGUpZyh3KW0ob3JkLCloKGFzKWYobG9uZylnKGFzKWcodGhlKWcod2hpdGVzcGFjZSloKGMpbShoYXJhY3RlcilnCi0oaXMpMTUwIDUzNDAgeShpbilmKHRoZSlnKHYpLTUgYihhbHVlKTM2IGIob2YpZyBGcyhJRlMpZgotRnQoXChhbiloIEZzKElGUylmIEZ0KHdoaXRlc3BhY2UpaChjKW0oaGFyYWN0ZXJcKS4pNjAKLWIoQW4pbSh5KTM1IGIoYyltKGhhcmFjdGVyKWooaW4pZCBGcyhJRlMpZyBGdCh0aGF0KWkoaXMpZihub3QpZwotRnMoSUZTKXAgZW9wIGVuZAorYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDIzKTYzMCAyOTkKK3kocGFyYW1ldGVycy4pNDUgYihJZikzMiBiIEZxKHBhcmFtZXRlcikzOCBiIEZ0KGlzKTMyCitiKGFuKWcoYXJyYSltKHkpZyhuYW1lKWcoc3Vic2NyaXB0ZWQpZihiKW0oeSlnKGApcCBGcygqKXAKK0Z0KCcpaChvcilnKGApcCBGcyhAKXAgRnQoJywpZyh0aGUpZyh2KS01IGIoYWx1ZSk2MzAKKzQwOCB5KHN1YnN0aXR1dGVkKTMwIGIoaXMpZyh0aGUpaChuKW0odW0pbShiKXMoZXIpZShvZiloKGVsZW1lbiltKHRzKWkKKyhpbillKHRoZSloKGFycmEpbSh5KS04IGIoLikxNTAgNTczIHkgRnMoJHspcCBGaShwYXJhbWV0ZXIpMTEKK2IgRnMoIylwIEZpKHdvcmQpZyBGcyh9KTE1MCA2ODIgeSgkeylwIEZpKHBhcmFtZXRlcilnCitGcygjIylwIEZpKHdvcmQpZyBGcyh9KTYzMCA3OTIgeSBGdChUaGUpMzEgYiBGcSh3KW0ob3JkKWsKK0Z0KGlzKWQoZXhwYW5kZWQpZih0bylpKHBybylzKGR1Y2UpZShhKWgocGF0dGVybilnKGp1c3QpZihhcylpKGluKWUKKyhcMDE0bGVuYW1lKWgoZXhwYW5zaW9uKWcoXChzZWUpNjMwIDkwMiB5KFNlY3Rpb24paygzLjUuOCloKFtGaWxlbmFtZSlnCisoRXhwYW5zaW9uXSwpZyhwYWdlKWYoMjVcKS4pNTYgYihJZikzNSBiKHRoZSloKHBhdHRlcm4pZihtYXRjKW0oaGVzKWkKKyh0aGUpZShiKXMoZS0pNjMwIDEwMTEgeShnaW5uaW5nKWcob2YpZyh0aGUpZyhleHBhbmRlZClmKHYpLTUKK2IoYWx1ZSkzNiBiKG9mKWYgRnEocGFyYW1ldGVyKTcgYiBGdCgsKTM2IGIodGhlbilmKHRoZSlnKHJlc3VsdClnKG9mKWcKKyh0aGUpZyhleHBhbnNpb24pNjMwIDExMjEgeShpcykyOCBiKHRoZSlnKGV4cGFuZGVkKWUodiktNQorYihhbHVlKTI4IGIob2YpZyBGcShwYXJhbWV0ZXIpMzUgYiBGdCh3aXRoKTI3IGIodGhlKWgoc2hvcnRlc3QpZyhtYXRjKW0KKyhoaW5nKWgocGF0dGVybilmKFwodGhlKWcoYClwIEZzKCMpcCBGdCgnKTYzMCAxMjMwIHkoY2FzZVwpKWUob3IpZih0aGUpCitnKGxvbmdlc3QpZyhtYXRjKW0oaGluZyloKHBhdHRlcm4pZihcKHRoZSlnKGApcCBGcygjIylwCitGdCgnKWcoY2FzZVwpKWgoZGVsZXRlZC4pMzkgYihJZikyNCBiIEZxKHBhcmFtZXRlcikzMgorYiBGdChpcykyNSBiKGApcCBGcyhAKXAgRnQoJyk2MzAgMTM0MCB5KG9yKWooYClwIEZzKCopcAorRnQoJywpaSh0aGUpZShwYXR0ZXJuKWgocmVtbyltKHYpLTUgYihhbCkyOSBiKG9wKXMoZXJhdGlvbilnKGlzKWYKKyhhcHBsaWVkKWgodG8pZyhlYWMpbShoKWcocClzKG9zaXRpb25hbClnKHBhcmFtZXRlcilnKGluKTYzMAorMTQ1MCB5KHR1cm4sKWkoYW5kKWcodGhlKWgoZXhwYW5zaW9uKWcoaXMpZyh0aGUpZyhyZXN1bHRhbiltKHQpZyhsaXN0LikKKzQ1IGIoSWYpMzIgYiBGcShwYXJhbWV0ZXIpMzggYiBGdChpcykzMiBiKGFuKWcoYXJyYSltKHkpZyh2KS01CitiKGFyaWFibGUpNjMwIDE1NTkgeShzdWJzY3JpcHRlZCkzOSBiKHdpdGgpZyhgKXAgRnMoQClwCitGdCgnKWgob3IpZyhgKXAgRnMoKilwIEZ0KCcsKWoodGhlKWQocGF0dGVybiloKHJlbW8pbSh2KS01CitiKGFsKTQxIGIob3ApcyhlcmF0aW9uKWYoaXMpZyhhcHBsaWVkKWcodG8paChlYWMpbShoKTYzMAorMTY2OSB5KG1lbSltKGIpcyhlcikzMCBiKG9mKWcodGhlKWgoYXJyYSltKHkpZyhpbilmKHR1cm4sKWYoYW5kKWgodGhlKWgKKyhleHBhbnNpb24pZihpcylnKHRoZSloKHJlc3VsdGFuKW0odClnKGxpc3QuKTE1MCAxODMzCit5IEZzKCR7KXAgRmkocGFyYW1ldGVyKTExIGIgRnMoXDA0NSlwIEZpKHdvcmQpZyBGcyh9KTE1MAorMTk0MyB5KCR7KXAgRmkocGFyYW1ldGVyKWcgRnMoXDA0NVwwNDUpcCBGaSh3b3JkKWcgRnMofSk2MzAKKzIwNTIgeSBGdChUaGUpMzUgYiBGcSh3KW0ob3JkKWsgRnQoaXMpYyhleHBhbmRlZClnKHRvKWgocHJvKXMoZHVjZSllKGEpCitpKHBhdHRlcm4pZihqdXN0KWcoYXMpaChpbilmKFwwMTRsZW5hbWUpaChleHBhbnNpb24uKTU1CitiKElmKTYzMCAyMTYyIHkodGhlKTQzIGIocGF0dGVybilmKG1hdGMpbShoZXMpaShhKWUodHJhaWxpbmcpaShwKXMKKyhvcnRpb24pZShvZilnKHRoZSloKGV4cGFuZGVkKWUodiktNSBiKGFsdWUpNDMgYihvZilnCitGcShwYXJhbWV0ZXIpNyBiIEZ0KCwpNjMwIDIyNzEgeSh0aGVuKTM5IGIodGhlKWcocmVzdWx0KWcob2YpaCh0aGUpZgorKGV4cGFuc2lvbilnKGlzKWgodGhlKWYodiktNSBiKGFsdWUpNDAgYihvZilmIEZxKHBhcmFtZXRlcik0NgorYiBGdCh3aXRoKTM5IGIodGhlKWgoc2hvcnRlc3QpNjMwIDIzODEgeShtYXRjKW0oaGluZykzMQorYihwYXR0ZXJuKWUoXCh0aGUpaChgKXAgRnMoXDA0NSlwIEZ0KCcpZyhjYXNlXCkpaChvcillKHRoZSloKGxvbmdlc3QpaAorKG1hdGMpbShoaW5nKWYocGF0dGVybilnKFwodGhlKWcoYClwIEZzKFwwNDVcMDQ1KXAgRnQoJylnKGNhc2VcKSk2MzAKKzI0OTEgeShkZWxldGVkLik0OSBiKElmKTMyIGIgRnEocGFyYW1ldGVyKTQwIGIgRnQoaXMpMzMKK2IoYClwIEZzKEApcCBGdCgnKWcob3IpZyhgKXAgRnMoKilwIEZ0KCcsKWgodGhlKWYocGF0dGVybilnKHJlbW8pbSh2KS01CitiKGFsKTM0IGIob3ApcyhlcmF0aW9uKWcoaXMpZihhcHBsaWVkKWYodG8pNjMwIDI2MDAgeShlYWMpbShoKTM4CitiKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXIpZyhpbilmKHR1cm4sKWgoYW5kKWUodGhlKWgoZXhwYW5zaW9uKWcoaXMpaAorKHRoZSlmKHJlc3VsdGFuKW0odCloKGxpc3QuKTYxIGIoSWYpNjMwIDI3MTAgeSBGcShwYXJhbWV0ZXIpMzgKK2IgRnQoaXMpMzIgYihhbilmKGFycmEpbSh5KWgodiktNSBiKGFyaWFibGUpMzIgYihzdWJzY3JpcHRlZCllKHdpdGgpaAorKGApcCBGcyhAKXAgRnQoJylnKG9yKWgoYClwIEZzKCopcCBGdCgnLClnKHRoZSlmKHBhdHRlcm4paChyZW1vKW0odiktNQorYihhbCk2MzAgMjgxOSB5KG9wKXMoZXJhdGlvbikzMCBiKGlzKWcoYXBwbGllZClmKHRvKWkoZWFjKW0oaClnKG1lbSltCisoYilzKGVyKWUob2YpaCh0aGUpZyhhcnJhKW0oeSlnKGluKWYodHVybiwpZyhhbmQpZyh0aGUpaChleHBhbnNpb24pZworKGlzKTYzMCAyOTI5IHkodGhlKWgocmVzdWx0YW4pbSh0KWcobGlzdC4pMTUwIDMwOTMgeQorRnMoJHspcCBGaShwYXJhbWV0ZXIpMTEgYiBGcygvKXAgRmkocGF0dGVybilnIEZzKC8pcAorRmkocylvKHRyaSlvKG5nKWYgRnMofSk2MzAgMzIwMyB5IEZ0KFRoZSkzNyBiIEZxKHBhdHRlcm4pZworRnQoaXMpZyhleHBhbmRlZClnKHRvKWgocHJvKXMoZHVjZSllKGEpaChwYXR0ZXJuKWcoanVzdClnKGFzKWgoaW4pZQorKFwwMTRsZW5hbWUpaShleHBhbnNpb24uKTYzMCAzMzEzIHkgRnEoUCltKGFyYW1ldGVyKTQ2CitiIEZ0KGlzKTM4IGIoZXhwYW5kZWQpZihhbmQpZyh0aGUpaShsb25nZXN0KWcobWF0YyltKGgpZyhvZilmCitGcShwYXR0ZXJuKWcgRnQoYWdhaW5zdCloKGl0cylmKHYpLTUgYihhbHVlKTM5IGIoaXMpNjMwCiszNDIyIHkocmVwbGFjZWQpMzMgYih3aXRoKWYgRnEoc3RyaW5nKTggYiBGdCguKTQ3IGIoSWYpMzMKK2IgRnEocGF0dGVybilmIEZ0KGIpcyhlZ2lucylnKHdpdGgpaChgKXAgRnMoLylwIEZ0KCcsKWcoYWxsKWgobWF0YyltCisoaGVzKWYob2YpZyBGcShwYXR0ZXJuKWcgRnQoYXJlKWcocmUtKTYzMCAzNTMyIHkocGxhY2VkKTI3CitiKHdpdGgpZiBGcShzdHJpbmcpOCBiIEZ0KC4pNDAgYihOb3JtYWxseSkyNyBiKG9ubHkpZyh0aGUpZyhcMDE0cnN0KWYKKyhtYXRjKW0oaCloKGlzKWcocmVwbGFjZWQuKTQwIGIoSWYpMjYgYiBGcShwYXR0ZXJuKWcKK0Z0KGIpcyhlZ2lucyk2MzAgMzY0MSB5KHdpdGgpMzMgYihgKXAgRnMoIylwIEZ0KCcsKWkoaXQpZihtKW0odXN0KWYKKyhtYXRjKW0oaClpKGF0KWYodGhlKWcoYilzKGVnaW5uaW5nKWYob2YpZyh0aGUpaChleHBhbmRlZClmKHYpLTUKK2IoYWx1ZSkzNCBiKG9mKWcgRnEocGFyYW1ldGVyKTcgYiBGdCguKTYzMCAzNzUxIHkoSWYpMzQKK2IgRnEocGF0dGVybilnIEZ0KGIpcyhlZ2lucylnKHdpdGgpZyhgKXAgRnMoXDA0NSlwIEZ0KCcsKWgoaXQpZyhtKW0KKyh1c3QpZihtYXRjKW0oaCloKGF0KWcodGhlKWYoZW5kKWcob2YpZyh0aGUpaChleHBhbmRlZCllKHYpLTUKK2IoYWx1ZSkzNSBiKG9mKTYzMCAzODYxIHkgRnEocGFyYW1ldGVyKTcgYiBGdCguKTQwIGIoSWYpMjkKK2IgRnEoc3RyaW5nKTM2IGIgRnQoaXMpMjkgYihuKW0odWxsLCloKG1hdGMpbShoZXMpZyhvZilmCitGcShwYXR0ZXJuKWcgRnQoYXJlKWcoZGVsZXRlZCloKGFuZCllKHRoZSloIEZzKC8pZiBGdChmb2xsbyltKHdpbmcpNjMwCiszOTcwIHkgRnEocGF0dGVybikzNCBiIEZ0KG1hKW0oeSlnKGIpcyhlKWYob21pdHRlZC4pNTEKK2IoSWYpMzMgYiBGcShwYXJhbWV0ZXIpNDEgYiBGdChpcykzMyBiKGApcCBGcyhAKXAgRnQoJyloKG9yKWcoYClwCitGcygqKXAgRnQoJywpZyh0aGUpZyhzdWJzdGl0dXRpb24pZihvcClzKGVyYXRpb24pNjMwCis0MDgwIHkoaXMpMzggYihhcHBsaWVkKWcodG8pZyhlYWMpbShoKWgocClzKG9zaXRpb25hbClnKHBhcmFtZXRlcilmKGluKQorZyh0dXJuLCloKGFuZCllKHRoZSloKGV4cGFuc2lvbilnKGlzKWcodGhlKWcocmUtKTYzMAorNDE4OSB5KHN1bHRhbiltKHQpZihsaXN0Lik1OSBiKElmKTM2IGIgRnEocGFyYW1ldGVyKTQzCitiIEZ0KGlzKTM2IGIoYW4pZyhhcnJhKW0oeSloKHYpLTUgYihhcmlhYmxlKTM3IGIoc3Vic2NyaXB0ZWQpZSh3aXRoKWgKKyhgKXAgRnMoQClwIEZ0KCcpZyhvciloKGApcCBGcygqKXAgRnQoJywpaCh0aGUpNjMwIDQyOTkKK3koc3Vic3RpdHV0aW9uKTMwIGIob3ApcyhlcmF0aW9uKWgoaXMpZihhcHBsaWVkKWcodG8paChlYWMpbShoKWcobWVtKW0KKyhiKXMoZXIpZihvZilnKHRoZSloKGFycmEpbSh5KWcoaW4pZih0dXJuLClmKGFuZCloKHRoZSk2MzAKKzQ0MDggeShleHBhbnNpb24pZyhpcyloKHRoZSlmKHJlc3VsdGFuKW0odCloKGxpc3QuKTE1MAorNDU3MyB5IEZzKCR7KXAgRmkocGFyYW1ldGVyKTExIGIgRnMoXilwIEZpKHBhdHRlcm4pZworRnMofSkxNTAgNDY4MiB5KCR7KXAgRmkocGFyYW1ldGVyKWcgRnMoXl4pcCBGaShwYXR0ZXJuKWcKK0ZzKH0pMTUwIDQ3OTIgeSgkeylwIEZpKHBhcmFtZXRlcilnIEZzKCwpcCBGaShwYXR0ZXJuKWcKK0ZzKH0pMTUwIDQ5MDIgeSgkeylwIEZpKHBhcmFtZXRlcilnIEZzKCwsKXAgRmkocGF0dGVybilnCitGcyh9KTYzMCA1MDExIHkgRnQoVGhpcykzNSBiKGV4cGFuc2lvbiloKG1vKXMoZGlcMDE0ZXMpZih0aGUpaChjYXNlKWgKKyhvZilmKGFscGhhYilzKGV0aWMpaChjKW0oaGFyYWN0ZXJzKWcoaW4pZiBGcShwYXJhbWV0ZXIpNworYiBGdCguKTU3IGIoVGhlKTYzMCA1MTIxIHkgRnEocGF0dGVybikzNiBiIEZ0KGlzKWYoZXhwYW5kZWQpZyh0byloKHBybykKK3MoZHVjZSllKGEpaShwYXR0ZXJuKWcoanVzdClmKGFzKWgoaW4pZihcMDE0bGVuYW1lKWcoZXhwYW5zaW9uLik1NgorYihUaGUpNjMwIDUyMzAgeShgKXAgRnMoXilwIEZ0KCcpMzYgYihvcClzKGVyYXRvcilnKGNvbiltKHYpbShlcnRzKWgKKyhsbyltKHcpbShlcmNhc2UpaChsZXR0ZXJzKWYobWF0YyltKGhpbmcpZyBGcShwYXR0ZXJuKWYKK0Z0KHRvKWcodXBwKXMoZXJjYXNlOylpKHRoZSllKGApcCBGcygsKXAgRnQoJyk2MzAgNTM0MAoreShvcClzKGVyYXRvcilnKGNvbiltKHYpbShlcnRzKWkobWF0YyltKGhpbmcpZih1cHApcyhlcmNhc2UpZShsZXR0ZXJzKWkKKyh0bylnKGxvKW0odyltKGVyY2FzZS4pNTkgYihUaGUpMzYgYihgKXAgRnMoXl4pcCBGdCgnKWcoYW5kKWYoYClwCitGcygsLClwIEZ0KCcpcCBlb3AgZW5kCiAlJVBhZ2U6IDI0IDMwCiBUZVhEaWN0IGJlZ2luIDI0IDI5IGJvcCAxNTAgLTExNiBhIEZ0KDI0KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkod2hpdGVzcGFjZSwpYyhhbG9uZylmKHdpdGgpZihhbiltKHkpZwotKGFkamFjZW4pbSh0KWggRnMoSUZTKWUgRnQod2hpdGVzcGFjZSlpKGMpbShoYXJhY3RlcnMsKWkoZGVsaW1pdHMpZShhKWYKLShcMDE0ZWxkLikzOCBiKEEpMjYgYihzZXF1ZW5jZSkxNTAgNDA4IHkob2YpMzUgYiBGcyhJRlMpZgotRnQod2hpdGVzcGFjZSloKGMpbShoYXJhY3RlcnMpaShpcylkKGFsc28paSh0cmVhdGVkKWcoYXMpZihhKWcKLShkZWxpbWl0ZXIuKTU1IGIoSWYpMzQgYih0aGUpaCh2KS01IGIoYWx1ZSkzNSBiKG9mKWcKLUZzKElGUylmIEZ0KGlzKWgobiltKHVsbCwpaChubykxNTAgNTE4IHkodyltKG9yZCkzMCBiKHNwbGl0dGluZyloKG8pcwotKGNjdXJzLikyNzUgNjQ4IHkoRXhwbGljaXQpNDQgYihuKW0odWxsKWYoYXJndW1lbiltKHRzKWcoXCgpcAotRnMoIiIpZyBGdChvciloIEZzKCcnKXAgRnQoXCkpZihhcmUpZyhyZXRhaW5lZC4pODAgYihVbnF1b3RlZCk0MwotYihpbXBsaWNpdCloKG4pbSh1bGwpZihhcmd1bWVuKW0odHMsKTE1MCA3NTggeShyZXN1bHRpbmcpMjQKLWIoZnJvbSlmKHRoZSlnKGV4cGFuc2lvbilnKG9mKWgocGFyYW1ldGVycylnKHRoYXQpZyhoYSltKHYpbShlKWgobm8pZQotKHYpLTUgYihhbHVlcywpMjUgYihhcmUpZihyZW1vKW0odiltKGVkLik0MCBiKElmKTIzIGIoYSlnKHBhcmFtZXRlcikxNTAKLTg2NyB5KHdpdGgpMzAgYihubylnKHYpLTUgYihhbHVlKTMxIGIoaXMpZyhleHBhbmRlZCllKHdpdGhpbiloKGRvdWJsZSlnCi0ocXVvdGVzLCloKGEpZyhuKW0odWxsKWYoYXJndW1lbiltKHQpaChyZXN1bHRzKWYoYW5kKWcoaXMpZyhyZXRhaW5lZC4pCi0yNzUgOTk3IHkoTm90ZSloKHRoYXQpZyhpZilnKG5vKWYoZXhwYW5zaW9uKWcobylzKGNjdXJzLClnKG5vKWgKLShzcGxpdHRpbmcpZyhpcylmKHApcyhlcmZvcm1lZC4pMTUwIDExODcgeSBGaigzLjUuOCk2MwotYihGaWxlbmFtZSk0MSBiKEV4cGFuc2lvbikxNTAgMTMzNCB5IEZ0KEFmdGVyKTI2IGIodyltKG9yZClnCi0oc3BsaXR0aW5nLClpKHVubGVzcylkKHRoZSlpKGApcCBGcygtZilwIEZ0KCcpZihvcHRpb24pZyhoYXMpZyhiKXMoZWVuKQotZihzZXQpaShcKHNlZSlnKFNlY3Rpb24pZyg0LjMuMSloKFtUaGUpZShTZXQpZyhCdWlsdGluXSwpMTUwCi0xNDQ0IHkocGFnZSloKDUxXCksKWkoQmFzaClkKHNjYW5zKWgoZWFjKW0oaCloKHcpbShvcmQpZShmb3IpZyh0aGUpaChjKQotbShoYXJhY3RlcnMpZyhgKXAgRnMoKilwIEZ0KCcsKWgoYClwIEZzKD8pcCBGdCgnLClnKGFuZCllKGApcAotRnMoWylwIEZ0KCcuKTM5IGIoSWYpMjYgYihvbmUpaChvZilnKHRoZXNlKWYoYyltKGhhcmFjdGVycykxNTAKLTE1NTMgeShhcHApcyhlYXJzLCloKHRoZW4pZih0aGUpaCh3KW0ob3JkKWYoaXMpaChyZWdhcmRlZClnKGFzKWcoYSlnCi1GcShwYXR0ZXJuKXAgRnQoLClnKGFuZClnKHJlcGxhY2VkKWcod2l0aClmKGFuKWgoYWxwaGFiKXMoZXRpY2FsbHkpaAotKHNvcnRlZCkxNTAgMTY2MyB5KGxpc3QpayhvZilnKFwwMTRsZSlnKG5hbWVzKWcobWF0YyltKGhpbmcpaCh0aGUpZgotKHBhdHRlcm4uKTQ1IGIoSWYpMzIgYihubylmKG1hdGMpbShoaW5nKWkoXDAxNGxlKWYobmFtZXMpZyhhcmUpZwotKGZvdW5kLClmKGFuZCloKHRoZSlnKHNoZWxsKTE1MCAxNzcyIHkob3B0aW9uKWMgRnMobnVsbGdsb2IpZQotRnQoaXMpaShkaXNhYmxlZCwpaCh0aGUpZih3KW0ob3JkKWcoaXMpZyhsZWZ0KWcodW5jKW0oaGFuZ2VkLik0MAotYihJZikyOCBiKHRoZSlnIEZzKG51bGxnbG9iKWUgRnQob3B0aW9uKWkoaXMpZyhzZXQsKWkoYW5kKTE1MAotMTg4MiB5KG5vKTM4IGIobWF0YyltKGhlcyloKGFyZSlmKGZvdW5kLCloKHRoZSlmKHcpbShvcmQpZihpcyloKHJlbW8pbQotKHYpbShlZC4pNjUgYihJZikzNyBiKHRoZSloIEZzKGZhaWxnbG9iKWUgRnQoc2hlbGwpaShvcHRpb24pZyhpcylnCi0oc2V0LClqKGFuZCljKG5vKTE1MCAxOTkxIHkobWF0YyltKGhlcylmKGFyZSlnKGZvdW5kLClmKGFuKWcoZXJyb3IpZgotKG1lc3NhZ2UpaihpcyllKHByaW4pbSh0ZWQpZihhbmQpaCh0aGUpZyhjb21tYW5kKWcoaXMpZyhub3QpZwotKGV4ZWN1dGVkLik1NiBiKElmKTM1IGIodGhlKTE1MCAyMTAxIHkoc2hlbGwpZShvcHRpb24paAotRnMobm9jYXNlZ2xvYiljIEZ0KGlzKWooZW5hYmxlZCwpaCh0aGUpZyhtYXRjKW0oaClnKGlzKWYocClzKGVyZm9ybWVkKWUKLSh3aXRob3V0KWkocmVnYXJkKWcodG8paCh0aGUpZyhjYXNlKWcob2YpMTUwIDIyMTEgeShhbHBoYWIpcyhldGljKWQoYyltCi0oaGFyYWN0ZXJzLikyNzUgMjM0MSB5KFdoZW4pMjMgYihhKWgocGF0dGVybilmKGlzKWgodXNlZClmKGZvcilnCi0oXDAxNGxlbmFtZSloKGV4cGFuc2lvbiwpaCh0aGUpZShjKW0oaGFyYWN0ZXIpaShgKXAgRnMoLilwCi1GdCgnKWYoYXQpZyh0aGUpZyhzdGFydClnKG9mKWcoYSlnKFwwMTRsZW5hbWUpMTUwIDI0NTAKLXkob3IpZihpbW1lZGlhdGVseSlpKGZvbGxvKW0od2luZylnKGEpZihzbGFzaClmKG0pbSh1c3QpaChiKXMoZSlmKG1hdGMpCi1tKGhlZCloKGV4cGxpY2l0bHkpLTggYigsKTI3IGIodW5sZXNzKWModGhlKWcoc2hlbGwpaChvcHRpb24pZwotRnMoZG90Z2xvYikxNTAgMjU2MCB5IEZ0KGlzKTMxIGIoc2V0Lik0NSBiKFdoZW4pMzEgYihtYXRjKW0oaGluZyloKGEpZwotKFwwMTRsZSlmKG5hbWUsKWgodGhlKWcoc2xhc2gpZihjKW0oaGFyYWN0ZXIpaShtKW0odXN0KWUoYWx3KW0oYSltKHlzKWkKLShiKXMoZSllKG1hdGMpbShoZWQpaChleHBsaWNpdGx5KS04IGIoLikxNTAgMjY2OSB5KEluKTMwCi1iKG90aGVyKWcoY2FzZXMsKWkodGhlKWUoYClwIEZzKC4pcCBGdCgnKWgoYyltKGhhcmFjdGVyKWgoaXMpZShub3QpaAotKHRyZWF0ZWQpZyhzcClzKGVjaWFsbHkpLTggYiguKTI3NSAyNzk5IHkoU2VlKTI4IGIodGhlKWcoZGVzY3JpcHRpb24pZwotKG9mKWcgRnMoc2hvcHQpZSBGdChpbilpKFNlY3Rpb24pZyg0LjMuMilpKFtUaGUpZShTaG9wdClmKEJ1aWx0aW5dLClpCi0ocGFnZSlnKDU1LClnKGZvcilmKGEpZyhkZXNjcmlwLSkxNTAgMjkwOSB5KHRpb24paihvZilmKHRoZSloCi1Gcyhub2Nhc2VnbG9iKXAgRnQoLClkIEZzKG51bGxnbG9iKXAgRnQoLClnIEZzKGZhaWxnbG9iKXAKLUZ0KCwpaChhbmQpZyBGcyhkb3RnbG9iKWcgRnQob3B0aW9ucy4pMjc1IDMwMzkgeShUaGUpagotRnMoR0xPQklHTk9SRSlmIEZ0KHNoZWxsKWkodiktNSBiKGFyaWFibGUpMzQgYihtYSltKHkpZyhiKXMoZSlmKHVzZWQpZgotKHRvKWkocmVzdHJpY3QpZyh0aGUpZyhzZXQpZihvZiloKFwwMTRsZW5hbWVzKWYobWF0YyltKGhpbmcpaShhKTE1MAotMzE0OCB5KHBhdHRlcm4uKWsoSWYpMjUgYiBGcyhHTE9CSUdOT1JFKWUgRnQoaXMpaihzZXQsKWgoZWFjKW0oaClnCi0obWF0YyltKGhpbmcpZyhcMDE0bGVuYW1lKWYodGhhdClnKGFsc28paChtYXRjKW0oaGVzKWYob25lKWcob2YpZyh0aGUpZwotKHBhdHRlcm5zKTE1MCAzMjU4IHkoaW4pMzMgYiBGcyhHTE9CSUdOT1JFKWQgRnQoaXMpaihyZW1vKW0odiltKGVkKWgKLShmcm9tKWUodGhlKWkobGlzdClmKG9mKWcobWF0YyltKGhlcy4pNTAgYihUaGUpMzMgYihcMDE0bGVuYW1lcylnKGApcAotRnMoLilwIEZ0KCcpZyhhbmQpZihgKXAgRnMoLi4pcCBGdCgnKWgoYXJlKWcoYWx3KW0oYSltKHlzKTE1MAotMzM2NyB5KGlnbm9yZWQpZyh3aGVuKWUgRnMoR0xPQklHTk9SRSlmIEZ0KGlzKWooc2V0KWcoYW5kKWYobm90KWgobiltCi0odWxsLik0OCBiKEhvKW0odyltKGV2KW0oZXIsKTM1IGIoc2V0dGluZylmIEZzKEdMT0JJR05PUkUpYwotRnQodG8paihhKWcobm9uLW4pbSh1bGwpMTUwIDM0NzcgeSh2KS01IGIoYWx1ZSkzNCBiKGhhcylmKHRoZSloCi0oZVwwMTNlY3QpaChvZilmKGVuYWJsaW5nKWcodGhlKWcgRnMoZG90Z2xvYillIEZ0KHNoZWxsKWgob3B0aW9uLClqKHNvKQotZShhbGwpZyhvdGhlcilnKFwwMTRsZW5hbWVzKWcoYilzKGVnaW5uaW5nKTE1MCAzNTg3IHkod2l0aCk0MwotYihhKWgoYClwIEZzKC4pcCBGdCgnKWYod2lsbCloKG1hdGMpbShoLik4MCBiKFQpLTggYihvKTQ0Ci1iKGdldCloKHRoZSllKG9sZCloKGIpcyhlaGEpbSh2aW9yKWYob2YpaChpZ25vcmluZylmKFwwMTRsZW5hbWVzKWgoYilzCi0oZWdpbm5pbmcpZih3aXRoKWcoYSkxNTAgMzY5NiB5KGApcCBGcyguKXAgRnQoJywpYyhtYWspbShlKWcoYClwCi1GcyguKilwIEZ0KCcpZShvbmUpZyhvZilnKHRoZSloKHBhdHRlcm5zKWYoaW4pZyBGcyhHTE9CSUdOT1JFKXAKLUZ0KC4pNTggYihUaGUpMzcgYiBGcyhkb3RnbG9iKWUgRnQob3B0aW9uKWooaXMpZihkaXNhYmxlZClnKHdoZW4pMTUwCi0zODA2IHkgRnMoR0xPQklHTk9SRSkyOCBiIEZ0KGlzKWkodW5zZXQuKTE1MCAzOTk2IHkgRmooMy41LjguMSk2MwotYihQKW0oYXR0ZXJuKTQwIGIoTWF0YyltKGhpbmcpMTUwIDQxNDMgeSBGdChBbiltKHkpMjQKLWIoYyltKGhhcmFjdGVyKWgodGhhdClmKGFwcClzKGVhcnMpZihpbilnKGEpaChwYXR0ZXJuLClpKG90aGVyKWUodGhhbilmCi0odGhlKWgoc3ApcyhlY2lhbClnKHBhdHRlcm4pZyhjKW0oaGFyYWN0ZXJzKWgoZGVzY3JpYilzKGVkKTE1MAotNDI1MiB5KGIpcyhlbG8pbSh3LCkzMSBiKG1hdGMpbShoZXMpZyhpdHNlbGYuKTQyIGIoVGhlKTI5Ci1iIEZsKG51bCloIEZ0KGMpbShoYXJhY3RlcilpKG1hKW0oeSllKG5vdCloKG8pcyhjY3VyKWYoaW4pZyhhKWgKLShwYXR0ZXJuLik0MCBiKEEpMzEgYihiYWMpbShrc2xhc2gpZyhlc2NhcClzKGVzKTE1MCA0MzYyCi15KHRoZSkzOCBiKGZvbGxvKW0od2luZylnKGMpbShoYXJhY3RlcjspNDMgYih0aGUpMzcgYihlc2NhcGluZylpKGJhYyltCi0oa3NsYXNoKWUoaXMpaChkaXNjYXJkZWQpZih3aGVuKWYobWF0YyltKGhpbmcuKTYzIGIoVGhlKTM2Ci1iKHNwKXMoZWNpYWwpMTUwIDQ0NzEgeShwYXR0ZXJuKTMwIGIoYyltKGhhcmFjdGVycylpKG0pbSh1c3QpZihiKXMoZSllCi0ocXVvdGVkKWkoaWYpZih0aGV5KWgoYXJlKWYodG8paShiKXMoZSlkKG1hdGMpbShoZWQpaShsaXRlcmFsbHkpLTgKLWIoLikyNzUgNDYwMSB5KFRoZSkyOSBiKHNwKXMoZWNpYWwpaShwYXR0ZXJuKWcoYyltKGhhcmFjdGVycyloKGhhKW0odiltCi0oZSlmKHRoZSlnKGZvbGxvKW0od2luZyloKG1lYW5pbmdzOikxNTAgNDc1MSB5IEZzKCopNDMyCi1iIEZ0KE1hdGMpbShoZXMpMzEgYihhbiltKHkpZShzdHJpbmcsKWgoaW5jbHVkaW5nKWYodGhlKWcobiltKHVsbClnCi0oc3RyaW5nLik0MSBiKFdoZW4pMjkgYih0aGUpZyBGcyhnbG9ic3RhcillIEZ0KHNoZWxsKWkob3B0aW9uKTYzMAotNDg2MSB5KGlzKTM3IGIoZW5hYmxlZCwpaChhbmQpZShgKXAgRnMoKilwIEZ0KCcpaChpcylnKHVzZWQpZihpbilnKGEpaAotKFwwMTRsZW5hbWUpZyhleHBhbnNpb24pZyhjb24pbSh0ZXh0LClqKHQpbSh3KW0obyllKGFkamFjZW4pbSh0KWcoYClwCi1GcygqKXAgRnQoJ3MpNjMwIDQ5NzEgeSh1c2VkKWYoYXMpZyhhKWgoc2luZ2xlKWcocGF0dGVybilnKHdpbGwpZihtYXRjKQotbShoKWkoYWxsKWYoXDAxNGxlcylmKGFuZClnKHplcm8paChvcilnKG1vcmUpZihkaXJlY3RvcmllcylpKGFuZCk2MzAKLTUwODAgeShzdWIpcyhkaXJlY3Rvcmllcy4pZyhJZikyNSBiKGZvbGxvKW0odyltKGVkKWooYiltKHkpZShhKWcoYClwCi1GcygvKXAgRnQoJywpaCh0KW0odyltKG8pZyhhZGphY2VuKW0odCloKGApcCBGcygqKXAgRnQoJ3MpZSh3aWxsKWcKLShtYXRjKW0oaCloKG9ubHkpZihkaXJlY3Rvcmllcyk2MzAgNTE5MCB5KGFuZClrKHN1YilzKGRpcmVjdG9yaWVzLikxNTAKLTUzNDAgeSBGcyg/KTQzMiBiIEZ0KE1hdGMpbShoZXMpMzIgYihhbiltKHkpZihzaW5nbGUpZyhjKW0oaGFyYWN0ZXIuKXAKLWVvcCBlbmQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShleHBhbnNpb25zKWcoY29uKW0odiltKGVydClpKGVhYyltKGgpCitnKG1hdGMpbShoZWQpZihjKW0oaGFyYWN0ZXIpaChpbillKHRoZSloKGV4cGFuZGVkKWYodiktNQorYihhbHVlOykzMiBiKHRoZSlnKGApcCBGcyheKXAgRnQoJylnKGFuZCk2MzAgNDA4IHkoYClwCitGcygsKXAgRnQoJykyNCBiKGV4cGFuc2lvbnMpZihtYXRjKW0oaClpKGFuZCllKGNvbiltKHYpbShlcnQpaihvbmx5KWQKKyh0aGUpaChcMDE0cnN0KWYoYyltKGhhcmFjdGVyKWooaW4pZCh0aGUpaChleHBhbmRlZClmKHYpLTUKK2IoYWx1ZS4pNjMwIDUxOCB5KElmKTMxIGIgRnEocGF0dGVybilnIEZ0KGlzKWcob21pdHRlZCwpaShpdClmKGlzKWYKKyh0cmVhdGVkKWgobGlrKW0oZSloKGEpZShgKXAgRnMoPylwIEZ0KCcsKWgod2hpYyltKGgpZihtYXRjKW0oaGVzKWkoZXYpCittKGVyeSlmKGMpbShoYXJhY3Rlci4pNDQgYihJZik2MzAgNjI4IHkgRnEocGFyYW1ldGVyKTM3CitiIEZ0KGlzKTMxIGIoYClwIEZzKEApcCBGdCgnKWYob3IpaChgKXAgRnMoKilwIEZ0KCcsKWYodGhlKWgoY2FzZSlnKG1vKQorcyhkaVwwMTRjYXRpb24pZyhvcClzKGVyYXRpb24pZyhpcylmKGFwcGxpZWQpZyh0bylpKGVhYyltKGgpZihwKXMob3NpLSkKKzYzMCA3MzcgeSh0aW9uYWwpMjYgYihwYXJhbWV0ZXIpZShpbiloKHR1cm4sKWYoYW5kKWcodGhlKWgoZXhwYW5zaW9uKWYKKyhpcylnKHRoZSloKHJlc3VsdGFuKW0odClnKGxpc3QuKTQwIGIoSWYpMjMgYiBGcShwYXJhbWV0ZXIpMzIKK2IgRnQoaXMpNjMwIDg0NyB5KGFuKWUoYXJyYSltKHkpZyh2KS01IGIoYXJpYWJsZSkzMSBiKHN1YnNjcmlwdGVkKWQKKyh3aXRoKWkoYClwIEZzKEApcCBGdCgnKWcob3IpZihgKXAgRnMoKilwIEZ0KCcsKWkodGhlKWYoY2FzZSlnKG1vKXMKKyhkaVwwMTRjYXRpb24paChvcClzKGVyYXRpb24pZihpcyk2MzAgOTU2IHkoYXBwbGllZClkKHRvKWcoZWFjKW0oaCloCisobWVtKW0oYilzKGVyKWUob2YpaCh0aGUpZyhhcnJhKW0oeSlnKGluKWcodHVybiwpZyhhbmQpZih0aGUpaAorKGV4cGFuc2lvbilmKGlzKWgodGhlKWcocmVzdWx0YW4pbSh0KTYzMCAxMDY2IHkobGlzdC4pMTUwCisxMjYzIHkgRmooMy41LjQpNjMgYihDb21tYW5kKTQxIGIoU3Vic3RpdHV0aW9uKTE1MCAxNDEwCit5IEZ0KENvbW1hbmQpZihzdWJzdGl0dXRpb24paChhbGxvKW0od3MpaSh0aGUpZShvdXRwdXQpZyhvZiloKGEpZgorKGNvbW1hbmQpZyh0byloKHJlcGxhY2UpZyh0aGUpZyhjb21tYW5kKWYoaXRzZWxmLikxNTAKKzE1MTkgeShDb21tYW5kKTI5IGIoc3Vic3RpdHV0aW9uKWgobylzKGNjdXJzKWgod2hlbillKGEpaShjb21tYW5kKWYoaXMpCitnKGVuY2xvc2VkKWgoYXMpZyhmb2xsbyltKHdzOikzOTAgMTY1MyB5IEZzKCRcKClwIEZpKGNvbW1hbmQpMTEKK2IgRnMoXCkpMTUwIDE3ODYgeSBGdChvcikzOTAgMTkxOSB5IEZzKGApcCBGaShjb21tYW5kKWcKK0ZzKGApMTUwIDIwNTIgeSBGdChCYXNoKTQ1IGIocClzKGVyZm9ybXMpZih0aGUpaChleHBhbnNpb24pZihiKW0oeSloCisoZXhlY3V0aW5nKWkgRnEoY29tbWFuZCloIEZ0KGFuZCljKHJlcGxhY2luZylpKHRoZSlmKGNvbW1hbmQpZyhzdWItKTE1MAorMjE2MiB5KHN0aXR1dGlvbiljKHdpdGgpZih0aGUpZyhzdGFuZGFyZClnKG91dHB1dClnKG9mKWcodGhlKWcKKyhjb21tYW5kLClqKHdpdGgpZChhbiltKHkpaCh0cmFpbGluZylnKG5ld2xpbmVzKWYoZGVsZXRlZC4pMTUwCisyMjcxIHkoRW0pbShiKXMoZWRkZWQpMzAgYihuZXdsaW5lcyloKGFyZSloKG5vdClmKGRlbGV0ZWQsKWkoYnV0KWUKKyh0aGV5KWcobWEpbSh5KWgoYilzKGUpZihyZW1vKW0odiltKGVkKWkoZHVyaW5nKWQodyltKG9yZCloKHNwbGl0dGluZy4pCis0NCBiKFRoZSkxNTAgMjM4MSB5KGNvbW1hbmQpMjEgYihzdWJzdGl0dXRpb24pZyBGcygkXChjYXQpMjkKK2IgRmkoZmlsZSkxMSBiIEZzKFwpKTIwIGIgRnQoY2FuKWkoYilzKGUpZihyZXBsYWNlZClnKGIpbSh5KWgodGhlKWcKKyhlcXVpdiktNSBiKGFsZW4pbSh0KTIyIGIoYnV0KWYoZmFzdGVyKWggRnMoJFwoPCkzMCBiCitGaShmaWxlKTExIGIgRnMoXCkpcCBGdCguKTI3NSAyNTE0IHkoV2hlbikzMyBiKHRoZSlpKG9sZC1zdCltKHlsZSloCisoYmFjKW0oa3F1b3RlKWYoZm9ybSlmKG9mKWcoc3Vic3RpdHV0aW9uKWcoaXMpZyh1c2VkLCloKGJhYyltKGtzbGFzaClmCisocmV0YWlucyloKGl0cylmKGxpdGVyYWwpMTUwIDI2MjQgeShtZWFuaW5nKWsoZXhjZXB0KWgod2hlbillKGZvbGxvKW0KKyh3KW0oZWQpaihiKW0oeSllKGApcCBGcygkKXAgRnQoJywpaihgKXAgRnMoYClwIEZ0KCcsKWYob3IpZShgKXAKK0ZzKFxcKXAgRnQoJy4pNjQgYihUaGUpMzggYihcMDE0cnN0KWYoYmFjKW0oa3F1b3RlKWoobm90KWUocHJlY2VkZWQpZworKGIpbSh5KWcoYSkxNTAgMjczMyB5KGJhYyltKGtzbGFzaClqKHRlcm1pbmF0ZXMpZyh0aGUpZihjb21tYW5kKWcKKyhzdWJzdGl0dXRpb24uKTY5IGIoV2hlbik0MCBiKHVzaW5nKWcodGhlKWcgRnMoJFwoKXAKK0ZpKGNvbW1hbmQpMTEgYiBGcyhcKSkzNyBiIEZ0KGZvcm0sKTQyIGIoYWxsKTE1MCAyODQzCit5KGMpbShoYXJhY3RlcnMpMzIgYihiKXMoZXQpbSh3KW0oZWVuKWYodGhlKWYocGFyZW4pbSh0aGVzZXMpaChtYWspbShlKQorZyh1cClmKHRoZSlnKGNvbW1hbmQ7KWgobm9uZSlmKGFyZSloKHRyZWF0ZWQpZyhzcClzKGVjaWFsbHkpLTgKK2IoLikyNzUgMjk3NiB5KENvbW1hbmQpMjIgYihzdWJzdGl0dXRpb25zKWcobWEpbSh5KWkoYilzKGUpZShuZXN0ZWQuKTM5CitiKFQpLTggYihvKTIzIGIobmVzdClnKHdoZW4pZih1c2luZyloKHRoZSlnKGJhYyltKGtxdW90ZWQpaChmb3JtLClnCisoZXNjYXApcyhlKTE1MCAzMDg2IHkodGhlKTMxIGIoaW5uZXIpZShiYWMpbShrcXVvdGVzKWood2l0aCllKGJhYyltCisoa3NsYXNoZXMuKTI3NSAzMjE5IHkoSWYpZSh0aGUpaShzdWJzdGl0dXRpb24pZShhcHApcyhlYXJzKWgod2l0aGluKWcKKyhkb3VibGUpZihxdW90ZXMsKWkodyltKG9yZClmKHNwbGl0dGluZyloKGFuZClmKFwwMTRsZW5hbWUpZyhleHBhbnNpb24pCisxNTAgMzMyOSB5KGFyZSlpKG5vdClmKHApcyhlcmZvcm1lZClmKG9uKWgodGhlKWgocmVzdWx0cy4pMTUwCiszNTI2IHkgRmooMy41LjUpNjMgYihBcml0aG1ldGljKTQwIGIoRXhwYW5zaW9uKTE1MCAzNjcyCit5IEZ0KEFyaXRobWV0aWMpMjUgYihleHBhbnNpb24pZyhhbGxvKW0od3MpZyh0aGUpZyhldiktNQorYihhbHVhdGlvbikyNiBiKG9mKWYoYW4pZihhcml0aG1ldGljKWkoZXhwcmVzc2lvbillKGFuZClnKHRoZSlnCisoc3Vic3RpdHV0aW9uKTE1MCAzNzgyIHkob2YpMzEgYih0aGUpZihyZXN1bHQuKTQxIGIoVGhlKTMwCitiKGZvcm1hdClnKGZvcilnKGFyaXRobWV0aWMpaShleHBhbnNpb24pZShpczopMzkwIDM5MTUKK3kgRnMoJFwoXCgpNDcgYiBGaShleHByZXNzaW9uKTU1IGIgRnMoXClcKSkyNzUgNDA0OSB5CitGdChUaGUpMzMgYihleHByZXNzaW9uKWcoaXMpaCh0cmVhdGVkKWcoYXMpZyhpZilnKGl0KWcodyltKGVyZSlnCisod2l0aGluKWYoZG91YmxlKWgocXVvdGVzLCloKGJ1dCllKGEpaChkb3VibGUpZihxdW90ZSloKGluc2lkZSkxNTAKKzQxNTggeSh0aGUpMjcgYihwYXJlbiltKHRoZXNlcylnKGlzKWcobm90KWcodHJlYXRlZCloKHNwKXMoZWNpYWxseSktOAorYiguKTQxIGIoQWxsKTI3IGIodG9rKW0oZW5zKWgoaW4pZSh0aGUpaChleHByZXNzaW9uKWcodW5kZXJnbylmCisocGFyYW1ldGVyKWgoZXgtKTE1MCA0MjY4IHkocGFuc2lvbiwpaChjb21tYW5kKWYoc3Vic3RpdHV0aW9uLCloKGFuZClmCisocXVvdGUpaShyZW1vKW0odiktNSBiKGFsLik0MSBiKEFyaXRobWV0aWMpMjggYihleHBhbnNpb25zKWcobWEpbSh5KWcKKyhiKXMoZSlmKG5lc3RlZC4pMjc1IDQ0MDEgeShUaGUpMzQgYihldiktNSBiKGFsdWF0aW9uKTM3CitiKGlzKWYocClzKGVyZm9ybWVkKWUoYWNjb3JkaW5nKWkodG8pZyh0aGUpZyhydWxlcylmKGxpc3RlZCloKGIpcyhlbG8pbQorKHcpZyhcKHNlZSlnKFNlY3Rpb24pZyg2LjUpaChbU2hlbGwpMTUwIDQ1MTEgeShBcml0aG1ldGljXSwpMzIKK2IocGFnZSlmKDgwXCkuKTQyIGIoSWYpMzAgYih0aGUpaChleHByZXNzaW9uKWYoaXMpZyhpbiltKHYpLTUKK2IoYWxpZCwpMzIgYihCYXNoKWUocHJpbiltKHRzKWcoYSloKG1lc3NhZ2UpZyhpbmRpY2F0aW5nKWgoZmFpbHVyZSkxNTAKKzQ2MjAgeSh0bylmKHRoZSlnKHN0YW5kYXJkKWUoZXJyb3IpaChhbmQpZyhubylnKHN1YnN0aXR1dGlvbilnKG8pcworKGNjdXJzLikxNTAgNDgxNyB5IEZqKDMuNS42KTYzIGIoUHJvKXMoY2Vzcyk0MiBiKFN1YnN0aXR1dGlvbikxNTAKKzQ5NjQgeSBGdChQcm8pcyhjZXNzKWkoc3Vic3RpdHV0aW9uKWcoaXMpZyhzdXBwKXMob3J0ZWQpZihvbiloKHN5c3RlbXMpCitnKHRoYXQpaChzdXBwKXMob3J0KWQobmFtZWQpaShwaXApcyhlcylmKFwoKXAgRmwoZmlmKW4obylwCitGdChzXCkpaShvcilmKHRoZSkxNTAgNTA3MyB5KGApcCBGcygvZGV2L2ZkKXAgRnQoJykyOQorYihtZXRobylzKGQpaChvZilnKG5hbWluZylnKG9wKXMoZW4pZyhcMDE0bGVzLik0MSBiKEl0KTMwCitiKHRhayltKGVzKWkodGhlKWYoZm9ybSlmKG9mKTM5MCA1MjA3IHkgRnMoPFwoKXAgRmkobGlzdCkxMQorYiBGcyhcKSkxNTAgNTM0MCB5IEZ0KG9yKXAgZW9wIGVuZAogJSVQYWdlOiAyNSAzMQogVGVYRGljdCBiZWdpbiAyNSAzMCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMzopNDEKLWIoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigyNSkxNTAgMjk5Ci15IEZzKFsuLi4pbyhdKTI0MSBiIEZ0KE1hdGMpbShoZXMpMjcgYihhbiltKHkpZShvbmUpZyhvZilnKHRoZSlnCi0oZW5jbG9zZWQpZyhjKW0oaGFyYWN0ZXJzLik0MSBiKEEpMjUgYihwYWlyKWYob2YpaChjKW0oaGFyYWN0ZXJzKWkKLShzZXBhcmF0ZWQpZShiKW0oeSlnKGEpNjMwIDQwOCB5KGgpbSh5cGhlbilpKGRlbm90ZXMpaChhKWcKK2IoQmFzaWMpMzIgYihTaGVsbCllKEYpLTggYihlYXR1cmVzKTIyNDYgYigyNSkzOTAgMjk5Cit5IEZzKD5cKClwIEZpKGxpc3QpMTEgYiBGcyhcKSkxNTAgNDM0IHkgRnQoVGhlKTIzIGIocHJvKXMoY2VzcylnCitGcShsaXN0KWogRnQoaXMpZChydW4pZih3aXRoKWgoaXRzKWgoaW5wdXQpZihvcilnKG91dHB1dClnKGNvbm5lY3RlZCloCisodG8paChhKWUgRmwoZmlmKW4obylnIEZ0KG9yKWgoc29tZSlnKFwwMTRsZSlmKGluKWcoYClwCitGcygvZGV2L2ZkKXAgRnQoJy4pMTUwIDU0NCB5KFRoZSkyOCBiKG5hbWUpaChvZilnKHRoaXMpZihcMDE0bGUpaChpcylnCisocGFzc2VkKWYoYXMpaChhbilmKGFyZ3VtZW4pbSh0KWgodG8paCh0aGUpZihjdXJyZW4pbSh0KWYoY29tbWFuZCloKGFzKQorZih0aGUpaChyZXN1bHQpZyhvZilnKHRoZSkxNTAgNjU0IHkoZXhwYW5zaW9uLik0MCBiKElmKTI4CitiKHRoZSloIEZzKD5cKClwIEZpKGxpc3QpMTEgYiBGcyhcKSkyNiBiIEZ0KGZvcm0paChpcylpKHVzZWQsKWYKKyh3cml0aW5nKWgodG8pZyh0aGUpZihcMDE0bGUpaCh3aWxsKWcocHJvKW0odmlkZSlmKGlucHV0KWcoZm9yKWcKK0ZxKGxpc3QpciBGdCguKTQxIGIoSWYpMjggYih0aGUpMTUwIDc2MyB5IEZzKDxcKClwIEZpKGxpc3QpMTEKK2IgRnMoXCkpMjMgYiBGdChmb3JtKWgoaXMpaSh1c2VkLClmKHRoZSloKFwwMTRsZSlmKHBhc3NlZClnKGFzKWcoYW4pZworKGFyZ3VtZW4pbSh0KWgoc2hvdWxkKWUoYilzKGUpaChyZWFkKWcodG8paChvYnRhaW4pZyh0aGUpZihvdXRwdXQpZyhvZikKKzE1MCA4NzMgeSBGcShsaXN0KXIgRnQoLik0MSBiKE5vdGUpMzEgYih0aGF0KWYobm8pZihzcGFjZSloKG1hKW0oeSlnCisoYXBwKXMoZWFyKWYoYilzKGV0KW0odyltKGVlbiloKHRoZSlnIEZzKDwpZiBGdChvciloCitGcyg+KWYgRnQoYW5kKWcodGhlKWcobGVmdCloKHBhcmVuKW0odGhlc2lzLCloKG90aGVyd2lzZSkxNTAKKzk4MiB5KHRoZSlnKGNvbnN0cnVjdClmKHcpbShvdWxkKWcoYilzKGUpZyhpbiltKHRlcnByZXRlZCloKGFzKWYoYSloCisocmVkaXJlY3Rpb24uKTI3NSAxMTE4IHkoV2hlbikzNiBiKGEpbSh2KS01IGIoYWlsYWJsZSwpNDAKK2IocHJvKXMoY2VzcyljKHN1YnN0aXR1dGlvbiloKGlzKWYocClzKGVyZm9ybWVkKWYoc2ltKW0odWx0YW5lb3VzbHkpaQorKHdpdGgpZyhwYXJhbWV0ZXIpZyhhbmQpMTUwIDEyMjggeSh2KS01IGIoYXJpYWJsZSkzMQorYihleHBhbnNpb24sKWcoY29tbWFuZClmKHN1YnN0aXR1dGlvbiwpZyhhbmQpZyhhcml0aG1ldGljKWkoZXhwYW5zaW9uLikKKzE1MCAxNDI4IHkgRmooMy41LjcpNjMgYihXKS0xMCBiKG9yZCk0MSBiKFNwbGl0dGluZykxNTAKKzE1NzUgeSBGdChUaGUpMzAgYihzaGVsbCloKHNjYW5zKWcodGhlKWcocmVzdWx0cylmKG9mKWgocGFyYW1ldGVyKWcKKyhleHBhbnNpb24sKWcoY29tbWFuZClnKHN1YnN0aXR1dGlvbiwpZyhhbmQpZihhcml0aG1ldGljKTE1MAorMTY4NSB5KGV4cGFuc2lvbilnKHRoYXQpaChkaWQpZihub3QpZyhvKXMoY2N1ciloKHdpdGhpbillKGRvdWJsZSloCisocXVvdGVzKWgoZm9yKWYodyltKG9yZClnKHNwbGl0dGluZy4pMjc1IDE4MjAgeShUaGUpNDMKK2Ioc2hlbGwpaCh0cmVhdHMpaChlYWMpbShoKWgoYyltKGhhcmFjdGVyKWYob2YpZyBGcygkSUZTKWUKK0Z0KGFzKWgoYSlnKGRlbGltaXRlciwpNDkgYihhbmQpNDMgYihzcGxpdHMpaCh0aGUpaChyZXN1bHRzKWUob2YpaSh0aGUpCisxNTAgMTkzMCB5KG90aGVyKTQwIGIoZXhwYW5zaW9ucylmKGluKW0odG8paSh3KW0ob3JkcyllKG9uKWgodGhlc2UpZyhjKQorbShoYXJhY3RlcnMuKTcwIGIoSWYpMzkgYiBGcyhJRlMpZyBGdChpcyloKHVuc2V0LClpKG9yKWQoaXRzKWgodiktNQorYihhbHVlKTQwIGIoaXMpZyhleGFjdGx5KTE1MCAyMDM5IHkgRnMoPHNwYWNlPjx0YWI+PG5ld2xpbmU+KXAKK0Z0KCwpMjYgYih0aGUpMzIgYihkZWZhdWx0LClnKHRoZW4pZihzZXF1ZW5jZXMpaChvZik2MgorYiBGcyg8c3BhY2U+KXAgRnQoLCkzMCBiIEZzKDx0YWI+KXAgRnQoLCloKGFuZClmIEZzKDxuZXdsaW5lPikxNTAKKzIxNDkgeSBGdChhdCkzOSBiKHRoZSlmKGIpcyhlZ2lubmluZylnKGFuZClmKGVuZCloKG9mKWcodGhlKWgocmVzdWx0cylmCisob2YpZyh0aGUpZyhwcmV2aW91cylnKGV4cGFuc2lvbnMpZyhhcmUpZyhpZ25vcmVkLClqKGFuZClkKGFuKW0oeSkxNTAKKzIyNTggeShzZXF1ZW5jZSkzMSBiKG9mKWcgRnMoSUZTKWYgRnQoYyltKGhhcmFjdGVycylqKG5vdCllKGF0KWcodGhlKWcKKyhiKXMoZWdpbm5pbmcpZyhvcilmKGVuZCloKHNlcnYpbShlcylnKHRvKWgoZGVsaW1pdClmKHcpbShvcmRzLik0MgorYihJZikzMCBiIEZzKElGUylnIEZ0KGhhcykxNTAgMjM2OCB5KGEpZyh2KS01IGIoYWx1ZSkzMAorYihvdGhlcilnKHRoYW4pZyh0aGUpZyhkZWZhdWx0LClnKHRoZW4pZihzZXF1ZW5jZXMpaChvZilnKHRoZSlnCisod2hpdGVzcGFjZSlnKGMpbShoYXJhY3RlcnMpaCBGcyhzcGFjZSllIEZ0KGFuZClnIEZzKHRhYikxNTAKKzI0NzggeSBGdChhcmUpMzYgYihpZ25vcmVkKWcoYXQpZyh0aGUpZyhiKXMoZWdpbm5pbmcpZihhbmQpZyhlbmQpZyhvZiloCisodGhlKWcodyltKG9yZCwpaChhcylmKGxvbmcpZyhhcylnKHRoZSlnKHdoaXRlc3BhY2UpaChjKW0oaGFyYWN0ZXIpZworKGlzKTE1MCAyNTg3IHkoaW4pZih0aGUpZyh2KS01IGIoYWx1ZSkzNiBiKG9mKWcgRnMoSUZTKWYKK0Z0KFwoYW4paCBGcyhJRlMpZiBGdCh3aGl0ZXNwYWNlKWgoYyltKGhhcmFjdGVyXCkuKTYwCitiKEFuKW0oeSkzNSBiKGMpbShoYXJhY3RlcilqKGluKWQgRnMoSUZTKWcgRnQodGhhdClpKGlzKWYobm90KWcKK0ZzKElGUykxNTAgMjY5NyB5IEZ0KHdoaXRlc3BhY2UsKTI3IGIoYWxvbmcpZih3aXRoKWYoYW4pbSh5KWcoYWRqYWNlbiltCisodCloIEZzKElGUyllIEZ0KHdoaXRlc3BhY2UpaShjKW0oaGFyYWN0ZXJzLClpKGRlbGltaXRzKWUoYSlmKFwwMTRlbGQuKQorMzggYihBKTI2IGIoc2VxdWVuY2UpMTUwIDI4MDYgeShvZikzNSBiIEZzKElGUylmIEZ0KHdoaXRlc3BhY2UpaChjKW0KKyhoYXJhY3RlcnMpaShpcylkKGFsc28paSh0cmVhdGVkKWcoYXMpZihhKWcoZGVsaW1pdGVyLik1NQorYihJZikzNCBiKHRoZSloKHYpLTUgYihhbHVlKTM1IGIob2YpZyBGcyhJRlMpZiBGdChpcyloKG4pbSh1bGwsKWgobm8pCisxNTAgMjkxNiB5KHcpbShvcmQpMzAgYihzcGxpdHRpbmcpaChvKXMoY2N1cnMuKTI3NSAzMDUyCit5KEV4cGxpY2l0KTQ0IGIobiltKHVsbClmKGFyZ3VtZW4pbSh0cylnKFwoKXAgRnMoIiIpZworRnQob3IpaCBGcygnJylwIEZ0KFwpKWYoYXJlKWcocmV0YWluZWQuKTgwIGIoVW5xdW90ZWQpNDMKK2IoaW1wbGljaXQpaChuKW0odWxsKWYoYXJndW1lbiltKHRzLCkxNTAgMzE2MSB5KHJlc3VsdGluZykyNAorYihmcm9tKWYodGhlKWcoZXhwYW5zaW9uKWcob2YpaChwYXJhbWV0ZXJzKWcodGhhdClnKGhhKW0odiltKGUpaChubyllCisodiktNSBiKGFsdWVzLCkyNSBiKGFyZSlmKHJlbW8pbSh2KW0oZWQuKTQwIGIoSWYpMjMgYihhKWcocGFyYW1ldGVyKTE1MAorMzI3MSB5KHdpdGgpMzAgYihubylnKHYpLTUgYihhbHVlKTMxIGIoaXMpZyhleHBhbmRlZCllKHdpdGhpbiloKGRvdWJsZSkKK2cocXVvdGVzLCloKGEpZyhuKW0odWxsKWYoYXJndW1lbiltKHQpaChyZXN1bHRzKWYoYW5kKWcoaXMpZyhyZXRhaW5lZC4pCisyNzUgMzQwNiB5KE5vdGUpaCh0aGF0KWcoaWYpZyhubylmKGV4cGFuc2lvbilnKG8pcyhjY3VycywpZyhubyloCisoc3BsaXR0aW5nKWcoaXMpZihwKXMoZXJmb3JtZWQuKTE1MCAzNjA3IHkgRmooMy41LjgpNjMKK2IoRmlsZW5hbWUpNDEgYihFeHBhbnNpb24pMTUwIDM3NTQgeSBGdChBZnRlcikyNiBiKHcpbShvcmQpZworKHNwbGl0dGluZywpaSh1bmxlc3MpZCh0aGUpaShgKXAgRnMoLWYpcCBGdCgnKWYob3B0aW9uKWcoaGFzKWcoYilzKGVlbikKK2Yoc2V0KWkoXChzZWUpZyhTZWN0aW9uKWcoNC4zLjEpaChbVGhlKWUoU2V0KWcoQnVpbHRpbl0sKTE1MAorMzg2MyB5KHBhZ2UpaCg1NFwpLClpKEJhc2gpZChzY2FucyloKGVhYyltKGgpaCh3KW0ob3JkKWUoZm9yKWcodGhlKWgoYykKK20oaGFyYWN0ZXJzKWcoYClwIEZzKCopcCBGdCgnLCloKGApcCBGcyg/KXAgRnQoJywpZyhhbmQpZShgKXAKK0ZzKFspcCBGdCgnLikzOSBiKElmKTI2IGIob25lKWgob2YpZyh0aGVzZSlmKGMpbShoYXJhY3RlcnMpMTUwCiszOTczIHkoYXBwKXMoZWFycywpaCh0aGVuKWYodGhlKWgodyltKG9yZClmKGlzKWgocmVnYXJkZWQpZyhhcylnKGEpZworRnEocGF0dGVybilwIEZ0KCwpZyhhbmQpZyhyZXBsYWNlZClnKHdpdGgpZihhbiloKGFscGhhYilzKGV0aWNhbGx5KWgKKyhzb3J0ZWQpMTUwIDQwODIgeShsaXN0KWsob2YpZyhcMDE0bGUpZyhuYW1lcylnKG1hdGMpbShoaW5nKWgodGhlKWYKKyhwYXR0ZXJuLik0NSBiKElmKTMyIGIobm8pZihtYXRjKW0oaGluZylpKFwwMTRsZSlmKG5hbWVzKWcoYXJlKWcKKyhmb3VuZCwpZihhbmQpaCh0aGUpZyhzaGVsbCkxNTAgNDE5MiB5KG9wdGlvbiljIEZzKG51bGxnbG9iKWUKK0Z0KGlzKWkoZGlzYWJsZWQsKWgodGhlKWYodyltKG9yZClnKGlzKWcobGVmdClnKHVuYyltKGhhbmdlZC4pNDAKK2IoSWYpMjggYih0aGUpZyBGcyhudWxsZ2xvYillIEZ0KG9wdGlvbilpKGlzKWcoc2V0LClpKGFuZCkxNTAKKzQzMDIgeShubykzOCBiKG1hdGMpbShoZXMpaChhcmUpZihmb3VuZCwpaCh0aGUpZih3KW0ob3JkKWYoaXMpaChyZW1vKW0KKyh2KW0oZWQuKTY1IGIoSWYpMzcgYih0aGUpaCBGcyhmYWlsZ2xvYillIEZ0KHNoZWxsKWkob3B0aW9uKWcoaXMpZworKHNldCwpaihhbmQpYyhubykxNTAgNDQxMSB5KG1hdGMpbShoZXMpZihhcmUpZyhmb3VuZCwpZihhbilnKGVycm9yKWYKKyhtZXNzYWdlKWooaXMpZShwcmluKW0odGVkKWYoYW5kKWgodGhlKWcoY29tbWFuZClnKGlzKWcobm90KWcKKyhleGVjdXRlZC4pNTYgYihJZikzNSBiKHRoZSkxNTAgNDUyMSB5KHNoZWxsKWUob3B0aW9uKWgKK0ZzKG5vY2FzZWdsb2IpYyBGdChpcylqKGVuYWJsZWQsKWgodGhlKWcobWF0YyltKGgpZyhpcylmKHApcyhlcmZvcm1lZCllCisod2l0aG91dClpKHJlZ2FyZClnKHRvKWgodGhlKWcoY2FzZSlnKG9mKTE1MCA0NjMwIHkoYWxwaGFiKXMoZXRpYylkKGMpbQorKGhhcmFjdGVycy4pMjc1IDQ3NjYgeShXaGVuKTIzIGIoYSloKHBhdHRlcm4pZihpcyloKHVzZWQpZihmb3IpZworKFwwMTRsZW5hbWUpaChleHBhbnNpb24sKWgodGhlKWUoYyltKGhhcmFjdGVyKWkoYClwIEZzKC4pcAorRnQoJylmKGF0KWcodGhlKWcoc3RhcnQpZyhvZilnKGEpZyhcMDE0bGVuYW1lKTE1MCA0ODc2Cit5KG9yKWYoaW1tZWRpYXRlbHkpaShmb2xsbyltKHdpbmcpZyhhKWYoc2xhc2gpZihtKW0odXN0KWgoYilzKGUpZihtYXRjKQorbShoZWQpaChleHBsaWNpdGx5KS04IGIoLCkyNyBiKHVubGVzcyljKHRoZSlnKHNoZWxsKWgob3B0aW9uKWcKK0ZzKGRvdGdsb2IpMTUwIDQ5ODUgeSBGdChpcykzMSBiKHNldC4pNDUgYihXaGVuKTMxIGIobWF0YyltKGhpbmcpaChhKWcKKyhcMDE0bGUpZihuYW1lLCloKHRoZSlnKHNsYXNoKWYoYyltKGhhcmFjdGVyKWkobSltKHVzdCllKGFsdyltKGEpbSh5cylpCisoYilzKGUpZShtYXRjKW0oaGVkKWgoZXhwbGljaXRseSktOCBiKC4pMTUwIDUwOTUgeShJbikzMAorYihvdGhlcilnKGNhc2VzLClpKHRoZSllKGApcCBGcyguKXAgRnQoJyloKGMpbShoYXJhY3RlciloKGlzKWUobm90KWgKKyh0cmVhdGVkKWcoc3ApcyhlY2lhbGx5KS04IGIoLikyNzUgNTIzMCB5KFNlZSkyOCBiKHRoZSlnKGRlc2NyaXB0aW9uKWcKKyhvZilnIEZzKHNob3B0KWUgRnQoaW4paShTZWN0aW9uKWcoNC4zLjIpaShbVGhlKWUoU2hvcHQpZihCdWlsdGluXSwpaQorKHBhZ2UpZyg1NywpZyhmb3IpZihhKWcoZGVzY3JpcC0pMTUwIDUzNDAgeSh0aW9uKWoob2YpZih0aGUpaAorRnMobm9jYXNlZ2xvYilwIEZ0KCwpZCBGcyhudWxsZ2xvYilwIEZ0KCwpZyBGcyhmYWlsZ2xvYilwCitGdCgsKWgoYW5kKWcgRnMoZG90Z2xvYilnIEZ0KG9wdGlvbnMuKXAgZW9wIGVuZAorJSVQYWdlOiAyNiAzMgorVGVYRGljdCBiZWdpbiAyNiAzMSBib3AgMTUwIC0xMTYgYSBGdCgyNikyNTcyIGIoQmFzaCkzMQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMjc1IDI5OSB5KFRoZSloIEZzKEdMT0JJR05PUkUpZgorRnQoc2hlbGwpaSh2KS01IGIoYXJpYWJsZSkzNCBiKG1hKW0oeSlnKGIpcyhlKWYodXNlZClmKHRvKWkocmVzdHJpY3QpZworKHRoZSlnKHNldClmKG9mKWgoXDAxNGxlbmFtZXMpZihtYXRjKW0oaGluZylpKGEpMTUwIDQwOAoreShwYXR0ZXJuLilrKElmKTI1IGIgRnMoR0xPQklHTk9SRSllIEZ0KGlzKWooc2V0LCloKGVhYyltKGgpZyhtYXRjKW0KKyhoaW5nKWcoXDAxNGxlbmFtZSlmKHRoYXQpZyhhbHNvKWgobWF0YyltKGhlcylmKG9uZSlnKG9mKWcodGhlKWcKKyhwYXR0ZXJucykxNTAgNTE4IHkoaW4pMzMgYiBGcyhHTE9CSUdOT1JFKWQgRnQoaXMpaihyZW1vKW0odiltKGVkKWgKKyhmcm9tKWUodGhlKWkobGlzdClmKG9mKWcobWF0YyltKGhlcy4pNTAgYihUaGUpMzMgYihcMDE0bGVuYW1lcylnKGApcAorRnMoLilwIEZ0KCcpZyhhbmQpZihgKXAgRnMoLi4pcCBGdCgnKWgoYXJlKWcoYWx3KW0oYSltKHlzKTE1MAorNjI4IHkoaWdub3JlZClnKHdoZW4pZSBGcyhHTE9CSUdOT1JFKWYgRnQoaXMpaihzZXQpZyhhbmQpZihub3QpaChuKW0KKyh1bGwuKTQ4IGIoSG8pbSh3KW0oZXYpbShlciwpMzUgYihzZXR0aW5nKWYgRnMoR0xPQklHTk9SRSljCitGdCh0bylqKGEpZyhub24tbiltKHVsbCkxNTAgNzM3IHkodiktNSBiKGFsdWUpMzQgYihoYXMpZih0aGUpaAorKGVcMDEzZWN0KWgob2YpZihlbmFibGluZylnKHRoZSlnIEZzKGRvdGdsb2IpZSBGdChzaGVsbCloKG9wdGlvbiwpaihzbykKK2UoYWxsKWcob3RoZXIpZyhcMDE0bGVuYW1lcylnKGIpcyhlZ2lubmluZykxNTAgODQ3IHkod2l0aCk0MworYihhKWgoYClwIEZzKC4pcCBGdCgnKWYod2lsbCloKG1hdGMpbShoLik4MCBiKFQpLTggYihvKTQ0CitiKGdldCloKHRoZSllKG9sZCloKGIpcyhlaGEpbSh2aW9yKWYob2YpaChpZ25vcmluZylmKFwwMTRsZW5hbWVzKWgoYilzCisoZWdpbm5pbmcpZih3aXRoKWcoYSkxNTAgOTU2IHkoYClwIEZzKC4pcCBGdCgnLCljKG1hayltKGUpZyhgKXAKK0ZzKC4qKXAgRnQoJyllKG9uZSlnKG9mKWcodGhlKWgocGF0dGVybnMpZihpbilnIEZzKEdMT0JJR05PUkUpcAorRnQoLik1OCBiKFRoZSkzNyBiIEZzKGRvdGdsb2IpZSBGdChvcHRpb24paihpcylmKGRpc2FibGVkKWcod2hlbikxNTAKKzEwNjYgeSBGcyhHTE9CSUdOT1JFKTI4IGIgRnQoaXMpaSh1bnNldC4pMTUwIDEyNTEgeSBGaigzLjUuOC4xKTYzCitiKFApbShhdHRlcm4pNDAgYihNYXRjKW0oaGluZykxNTAgMTM5OCB5IEZ0KEFuKW0oeSkyNAorYihjKW0oaGFyYWN0ZXIpaCh0aGF0KWYoYXBwKXMoZWFycylmKGluKWcoYSloKHBhdHRlcm4sKWkob3RoZXIpZSh0aGFuKWYKKyh0aGUpaChzcClzKGVjaWFsKWcocGF0dGVybilnKGMpbShoYXJhY3RlcnMpaChkZXNjcmliKXMoZWQpMTUwCisxNTA4IHkoYilzKGVsbyltKHcsKTMxIGIobWF0YyltKGhlcylnKGl0c2VsZi4pNDIgYihUaGUpMjkKK2IgRmwobnVsKWggRnQoYyltKGhhcmFjdGVyKWkobWEpbSh5KWUobm90KWgobylzKGNjdXIpZihpbilnKGEpaAorKHBhdHRlcm4uKTQwIGIoQSkzMSBiKGJhYyltKGtzbGFzaClnKGVzY2FwKXMoZXMpMTUwIDE2MTgKK3kodGhlKTM4IGIoZm9sbG8pbSh3aW5nKWcoYyltKGhhcmFjdGVyOyk0MyBiKHRoZSkzNyBiKGVzY2FwaW5nKWkoYmFjKW0KKyhrc2xhc2gpZShpcyloKGRpc2NhcmRlZClmKHdoZW4pZihtYXRjKW0oaGluZy4pNjMgYihUaGUpMzYKK2Ioc3ApcyhlY2lhbCkxNTAgMTcyNyB5KHBhdHRlcm4pMzAgYihjKW0oaGFyYWN0ZXJzKWkobSltKHVzdClmKGIpcyhlKWUKKyhxdW90ZWQpaShpZilmKHRoZXkpaChhcmUpZih0bylpKGIpcyhlKWQobWF0YyltKGhlZClpKGxpdGVyYWxseSktOAorYiguKTI3NSAxODU1IHkoVGhlKTI5IGIoc3ApcyhlY2lhbClpKHBhdHRlcm4pZyhjKW0oaGFyYWN0ZXJzKWgoaGEpbSh2KW0KKyhlKWYodGhlKWcoZm9sbG8pbSh3aW5nKWgobWVhbmluZ3M6KTE1MCAyMDAwIHkgRnMoKik0MzIKK2IgRnQoTWF0YyltKGhlcykzMSBiKGFuKW0oeSllKHN0cmluZywpaChpbmNsdWRpbmcpZih0aGUpZyhuKW0odWxsKWcKKyhzdHJpbmcuKTQxIGIoV2hlbikyOSBiKHRoZSlnIEZzKGdsb2JzdGFyKWUgRnQoc2hlbGwpaShvcHRpb24pNjMwCisyMTEwIHkoaXMpMzcgYihlbmFibGVkLCloKGFuZCllKGApcCBGcygqKXAgRnQoJyloKGlzKWcodXNlZClmKGluKWcoYSloCisoXDAxNGxlbmFtZSlnKGV4cGFuc2lvbilnKGNvbiltKHRleHQsKWoodCltKHcpbShvKWUoYWRqYWNlbiltKHQpZyhgKXAKK0ZzKCopcCBGdCgncyk2MzAgMjIxOSB5KHVzZWQpZihhcylnKGEpaChzaW5nbGUpZyhwYXR0ZXJuKWcod2lsbClmKG1hdGMpCittKGgpaShhbGwpZihcMDE0bGVzKWYoYW5kKWcoemVybyloKG9yKWcobW9yZSlmKGRpcmVjdG9yaWVzKWkoYW5kKTYzMAorMjMyOSB5KHN1YilzKGRpcmVjdG9yaWVzLilnKElmKTI1IGIoZm9sbG8pbSh3KW0oZWQpaihiKW0oeSllKGEpZyhgKXAKK0ZzKC8pcCBGdCgnLCloKHQpbSh3KW0obylnKGFkamFjZW4pbSh0KWgoYClwIEZzKCopcCBGdCgncyllKHdpbGwpZworKG1hdGMpbShoKWgob25seSlmKGRpcmVjdG9yaWVzKTYzMCAyNDM5IHkoYW5kKWsoc3ViKXMoZGlyZWN0b3JpZXMuKTE1MAorMjU4NCB5IEZzKD8pNDMyIGIgRnQoTWF0YyltKGhlcykzMiBiKGFuKW0oeSlmKHNpbmdsZSlnKGMpbShoYXJhY3Rlci4pCisxNTAgMjczMCB5IEZzKFsuLi4pbyhdKTI0MSBiIEZ0KE1hdGMpbShoZXMpMjcgYihhbiltKHkpZShvbmUpZyhvZilnCisodGhlKWcoZW5jbG9zZWQpZyhjKW0oaGFyYWN0ZXJzLik0MSBiKEEpMjUgYihwYWlyKWYob2YpaChjKW0oaGFyYWN0ZXJzKQoraShzZXBhcmF0ZWQpZShiKW0oeSlnKGEpNjMwIDI4MzkgeShoKW0oeXBoZW4paShkZW5vdGVzKWgoYSlnCiBGcShyYW5nZSlnKGV4cHJlc3Npb24pcCBGdCg7KWcoYW4pbSh5KWgoYyltKGhhcmFjdGVyKWcodGhhdClmKHNvcnRzKWcKLShiKXMoZXQpbSh3KW0oZWVuKWcodGhvc2UpaCh0KW0odyltKG8pNjMwIDUxOCB5KGMpbShoYXJhY3RlcnMsKWYKKyhiKXMoZXQpbSh3KW0oZWVuKWcodGhvc2UpaCh0KW0odyltKG8pNjMwIDI5NDkgeShjKW0oaGFyYWN0ZXJzLClmCiAoaW5jbHVzaXYpbShlLClmKHVzaW5nKWQodGhlKWgoY3VycmVuKW0odClmKGxvKXMoY2FsZSdzKWooY29sbGF0aW5nKWcKLShzZXF1ZW5jZSllKGFuZClmKGMpbShoYXJhY3Rlcik2MzAgNjI4IHkoc2V0LCkzMSBiKGlzKWYobWF0YyltKGhlZC4pNDIKKyhzZXF1ZW5jZSllKGFuZClmKGMpbShoYXJhY3Rlcik2MzAgMzA1OCB5KHNldCwpMzEgYihpcylmKG1hdGMpbShoZWQuKTQyCiBiKElmKTMwIGIodGhlKWcoXDAxNHJzdClnKGMpbShoYXJhY3RlcilpKGZvbGxvKW0od2luZylnKHRoZSllKGApcAogRnMoWylwIEZ0KCcpaChpcylmKGEpaChgKXAgRnMoISlwIEZ0KCcpZihvcilnKGEpaChgKXAKLUZzKF4pcCBGdCgnKWcodGhlbilmKGFuKW0oeSk2MzAgNzM3IHkoYyltKGhhcmFjdGVyKWMobm90KWYoZW5jbG9zZWQpZworRnMoXilwIEZ0KCcpZyh0aGVuKWYoYW4pbSh5KTYzMCAzMTY4IHkoYyltKGhhcmFjdGVyKWMobm90KWYoZW5jbG9zZWQpZwogKGlzKWcobWF0YyltKGhlZC4pNDAgYihBKTI1IGIoYClwIEZwKFwwMDApcCBGdCgnKWYobWEpbSh5KWkoYilzKGUpZQotKG1hdGMpbShoZWQpaChiKW0oeSlmKGluY2x1ZGluZyloKGl0KWcoYXMpZyh0aGUpNjMwIDg0NworKG1hdGMpbShoZWQpaChiKW0oeSlmKGluY2x1ZGluZyloKGl0KWcoYXMpZyh0aGUpNjMwIDMyNzgKIHkoXDAxNHJzdCkzMiBiKG9yKWgobGFzdCloKGMpbShoYXJhY3RlciloKGluKWUodGhlKWcoc2V0Lik1MAogYihBKTMzIGIoYClwIEZzKF0pcCBGdCgnKWcobWEpbSh5KWgoYilzKGUpZShtYXRjKW0oaGVkKWkoYiltKHkpZgotKGluY2x1ZGluZylnKGl0KWcoYXMpaCh0aGUpNjMwIDk1NiB5KFwwMTRyc3QpMjUgYihjKW0oaGFyYWN0ZXIpaShpbillCisoaW5jbHVkaW5nKWcoaXQpZyhhcyloKHRoZSk2MzAgMzM4NyB5KFwwMTRyc3QpMjUgYihjKW0oaGFyYWN0ZXIpaShpbillCiAodGhlKWgoc2V0Lik0MCBiKFRoZSkyNSBiKHNvcnRpbmcpaChvcmRlcilmKG9mKWgoYyltKGhhcmFjdGVycyloKGluKWYKLShyYW5nZSlnKGV4cHJlc3Npb25zKWYoaXMpNjMwIDEwNjYgeShkZXRlcm1pbmVkKWUoYiltKHkpZyh0aGUpZyhjdXJyZW4pCisocmFuZ2UpZyhleHByZXNzaW9ucylmKGlzKTYzMCAzNDk3IHkoZGV0ZXJtaW5lZCllKGIpbSh5KWcodGhlKWcoY3VycmVuKQogbSh0KWYobG8pcyhjYWxlKWooYW5kKWUodGhlKWcodiktNSBiKGFsdWUpMjMgYihvZilnKHRoZSloCi1GcyhMQ19DT0xMQVRFKWMgRnQoc2hlbGwpaih2KS01IGIoYXJpYWJsZSwpNjMwIDExNzYgeShpZikzMAotYihzZXQuKTYzMCAxMzA5IHkoRiktOCBiKG9yKTM0IGIoZXhhbXBsZSwpZyhpbilmKHRoZSlnKGRlZmF1bHQpZyhDKWYKK0ZzKExDX0NPTExBVEUpYyBGdChzaGVsbClqKHYpLTUgYihhcmlhYmxlLCk2MzAgMzYwNiB5KGlmKTMwCitiKHNldC4pNjMwIDM3MzQgeShGKS04IGIob3IpMzQgYihleGFtcGxlLClnKGluKWYodGhlKWcoZGVmYXVsdClnKEMpZgogKGxvKXMoY2FsZSwpayhgKXAgRnMoW2EtZHgtel0pcCBGdCgnKTMxIGIoaXMpaShlcXVpdiktNQotYihhbGVuKW0odCkzNCBiKHRvKWcoYClwIEZzKFthYmNkeHl6XSlwIEZ0KCcuKTYzMCAxNDE4CitiKGFsZW4pbSh0KTM0IGIodG8pZyhgKXAgRnMoW2FiY2R4eXpdKXAgRnQoJy4pNjMwIDM4NDMKIHkoTWFuKW0oeSk2OCBiKGxvKXMoY2FsZXMpaChzb3J0KWYoYyltKGhhcmFjdGVycyloKGluKWUoZGljdGlvbmFyeSlpCi0ob3JkZXIsKTc2IGIoYW5kKTY3IGIoaW4pZyh0aGVzZSloKGxvKXMoY2FsZXMpNjMwIDE1MjgKKyhvcmRlciwpNzYgYihhbmQpNjcgYihpbilnKHRoZXNlKWgobG8pcyhjYWxlcyk2MzAgMzk1MwogeShgKXAgRnMoW2EtZHgtel0pcCBGdCgnKTM2IGIoaXMpaSh0KW0oeXBpY2FsbHkpaShub3QpZShlcXVpdiktNQogYihhbGVuKW0odCkzOSBiKHRvKWcoYClwIEZzKFthYmNkeHl6XSlwIEZ0KCc7KWcoaXQpZyhtaWdoKW0odClmKGIpcyhlKWYKLShlcXVpdiktNSBiKGFsZW4pbSh0KTYzMCAxNjM3IHkodG8pMzQgYihgKXAgRnMoW2FCYkNjRGR4WHlZel0pcAorKGVxdWl2KS01IGIoYWxlbiltKHQpNjMwIDQwNjMgeSh0bykzNCBiKGApcCBGcyhbYUJiQ2NEZHhYeVl6XSlwCiBGdCgnLCljKGZvcilqKGV4YW1wbGUuKTQ5IGIoVCktOCBiKG8pMzMgYihvYnRhaW4paCh0aGUpZih0cmFkaXRpb25hbCloCi0oaW4pbSh0ZXJwcmV0YXRpb24paChvZik2MzAgMTc0NyB5KHJhbmdlcyllKGluKWYoYnJhYyltKGspbShldClpCisoaW4pbSh0ZXJwcmV0YXRpb24paChvZik2MzAgNDE3MiB5KHJhbmdlcyllKGluKWYoYnJhYyltKGspbShldClpCiAoZXhwcmVzc2lvbnMsKWcoeSltKG91KWYoY2FuKWcoZm9yY2UpZyh0aGUpZyh1c2UpZihvZiloKHRoZSlnKEMpZihsbylzCi0oY2FsZSlpKGIpbSh5KWYoc2V0dGluZyk2MzAgMTg1NyB5KHRoZSllIEZzKExDX0NPTExBVEUpYworKGNhbGUpaShiKW0oeSlmKHNldHRpbmcpNjMwIDQyODIgeSh0aGUpZSBGcyhMQ19DT0xMQVRFKWMKIEZ0KG9yKWsgRnMoTENfQUxMKWQgRnQoZW4pbSh2aXJvbm1lbiltKHQpaih2KS01IGIoYXJpYWJsZSkzMQotYih0bylnKHRoZSlnKHYpLTUgYihhbHVlKTMxIGIoYClwIEZzKEMpcCBGdCgnLik2MzAgMTk5MAorYih0bylnKHRoZSlnKHYpLTUgYihhbHVlKTMxIGIoYClwIEZzKEMpcCBGdCgnLik2MzAgNDQwOQogeShXaXRoaW4pMjMgYihgKXAgRnMoWylwIEZ0KCcpaChhbmQpZShgKXAgRnMoXSlwIEZ0KCcsKWoKIEZxKGMpbShoYXJhY3RlcilnKGNsYXNzZXMpaiBGdChjYW4pYyhiKXMoZSllKHNwKXMoZWNpXDAxNGVkKWgodXNpbmcpZgogKHRoZSlpKHN5biltKHRheClmIEZzKFs6KXAgRnEoY2xhc3MpdCBGcyg6XSlwIEZ0KCwpNjMwCi0yMDk5IHkod2hlcmUpMzAgYiBGcShjbGFzcykzNSBiIEZ0KGlzKTMwIGIob25lKWgob2YpZih0aGUpaChmb2xsbyltCis0NTE5IHkod2hlcmUpMzAgYiBGcShjbGFzcykzNSBiIEZ0KGlzKTMwIGIob25lKWgob2YpZih0aGUpaChmb2xsbyltCiAod2luZyloKGNsYXNzZXMpZihkZVwwMTRuZWQpZShpbiloKHRoZSloIEZsKHBvc2l4KWYgRnQoc3RhbmRhcmQ6KTg3MAotMjIzMyB5IEZzKGFsbnVtKTE0MiBiKGFscGhhKWcoYXNjaWkpZihibGFuayloKGNudHJsKWcoZGlnaXQpZyhncmFwaClnCi0obG93ZXIpODcwIDIzNDIgeShwcmludClnKHB1bmN0KWcoc3BhY2UpZih1cHBlciloKHdvcmQpMTkwCi1iKHhkaWdpdCk2MzAgMjQ3NSB5IEZ0KEEpNDIgYihjKW0oaGFyYWN0ZXIpaChjbGFzcylmKG1hdGMpbShoZXMpaChhbiltCis0NjQ3IHkgRnMoYWxudW0pMTQyIGIoYWxwaGEpZyhhc2NpaSlmKGJsYW5rKWgoY250cmwpZyhkaWdpdClnKGdyYXBoKWcKKyhsb3dlcik4NzAgNDc1NiB5KHByaW50KWcocHVuY3QpZyhzcGFjZSlmKHVwcGVyKWgod29yZCkxOTAKK2IoeGRpZ2l0KTYzMCA0ODg0IHkgRnQoQSk0MiBiKGMpbShoYXJhY3RlciloKGNsYXNzKWYobWF0YyltKGhlcyloKGFuKW0KICh5KWYoYyltKGhhcmFjdGVyKWgoYilzKGVsb25naW5nKWYodG8pZyh0aGF0KWcoY2xhc3MuKTc1Ci1iKFRoZSk0MSBiIEZzKHdvcmQpNjMwIDI1ODUgeSBGdChjKW0oaGFyYWN0ZXIpMzIgYihjbGFzcylmKG1hdGMpbShoZXMpaAorYihUaGUpNDEgYiBGcyh3b3JkKTYzMCA0OTkzIHkgRnQoYyltKGhhcmFjdGVyKTMyIGIoY2xhc3MpZihtYXRjKW0oaGVzKWgKIChsZXR0ZXJzLClmKGRpZ2l0cywpaChhbmQpZCh0aGUpaShjKW0oaGFyYWN0ZXIpaChgKXAKLUZzKF8pcCBGdCgnLik2MzAgMjcxOCB5KFdpdGhpbikyNSBiKGApcCBGcyhbKXAgRnQoJylmKGFuZClnKGApcAorRnMoXylwIEZ0KCcuKTYzMCA1MTIxIHkoV2l0aGluKTI1IGIoYClwIEZzKFspcCBGdCgnKWYoYW5kKWcoYClwCiBGcyhdKXAgRnQoJywpaShhbillIEZxKGVxdWl2KS01IGIoYWxlbmNlKTI2IGIoY2xhc3MpagogRnQoY2FuKTI0IGIoYilzKGUpZyhzcClzKGVjaVwwMTRlZClnKHVzaW5nKWcodGhlKWcoc3luKW0odGF4KWgKLUZzKFs9KXAgRnEoYyk2IGIgRnMoPV0pcCBGdCgsKTYzMCAyODI4IHkod2hpYyltKGgpMjkKK0ZzKFs9KXAgRnEoYyk2IGIgRnMoPV0pcCBGdCgsKTYzMCA1MjMwIHkod2hpYyltKGgpMjkKIGIobWF0YyltKGhlcylpKGFsbClmKGMpbShoYXJhY3RlcnMpaCh3aXRoKWUodGhlKWgoc2FtZSlnKGNvbGxhdGlvbiloKHcpCi1tKGVpZ2gpbSh0KWcoXChhcylmKGRlXDAxNG5lZCllKGIpbSh5KWkodGhlKTYzMCAyOTM3CittKGVpZ2gpbSh0KWcoXChhcylmKGRlXDAxNG5lZCllKGIpbSh5KWkodGhlKTYzMCA1MzQwCiB5KGN1cnJlbiltKHQpZyhsbylzKGNhbGVcKSlqKGFzKWQodGhlKWgoYyltKGhhcmFjdGVyKWgKLUZxKGMpNiBiIEZ0KC4pNjMwIDMwNzAgeShXaXRoaW4pMjEgYihgKXAgRnMoWylwIEZ0KCcpaChhbmQpZShgKXAKLUZzKF0pcCBGdCgnLClqKHRoZSlmKHN5biltKHRheClmIEZzKFsuKXAgRnEoc3ltKW0oYilzKG9sKXQKLUZzKC5dKWYgRnQobWF0YyltKGhlcylpKHRoZSlmKGNvbGxhdGluZylqKHN5bSltKGIpcyhvbCljCi1GcShzeW0pbShiKXMob2wpdCBGdCguKTI3NSAzMjI3IHkoSWYpMjkgYih0aGUpZyBGcyhleHRnbG9iKWYKLUZ0KHNoZWxsKWgob3B0aW9uKWgoaXMpZyhlbmFibGVkKWYodXNpbmcpZyh0aGUpaCBGcyhzaG9wdCllCi1GdChidWlsdGluLCloKHNldiltKGVyYWwpaShleHRlbmRlZClmKHBhdHRlcm4pMTUwIDMzMzYKLXkobWF0YyltKGhpbmcpMzcgYihvcClzKGVyYXRvcnMpZShhcmUpaChyZWNvZ25pemVkLik1OAorRnEoYyk2IGIgRnQoLilwIGVvcCBlbmQKKyUlUGFnZTogMjcgMzMKK1RlWERpY3QgYmVnaW4gMjcgMzIgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDM6KTQxCitiKEJhc2ljKTMyIGIoU2hlbGwpZShGKS04IGIoZWF0dXJlcykyMjQ2IGIoMjcpNjMwIDI5OQoreShXaXRoaW4pMjEgYihgKXAgRnMoWylwIEZ0KCcpaChhbmQpZShgKXAgRnMoXSlwIEZ0KCcsKWoodGhlKWYoc3luKW0KKyh0YXgpZiBGcyhbLilwIEZxKHN5bSltKGIpcyhvbCl0IEZzKC5dKWYgRnQobWF0YyltKGhlcylpKHRoZSlmCisoY29sbGF0aW5nKWooc3ltKW0oYilzKG9sKWMgRnEoc3ltKW0oYilzKG9sKXQgRnQoLikyNzUKKzQ1MCB5KElmKTI5IGIodGhlKWcgRnMoZXh0Z2xvYilmIEZ0KHNoZWxsKWgob3B0aW9uKWgoaXMpZyhlbmFibGVkKWYKKyh1c2luZylnKHRoZSloIEZzKHNob3B0KWUgRnQoYnVpbHRpbiwpaChzZXYpbShlcmFsKWkoZXh0ZW5kZWQpZgorKHBhdHRlcm4pMTUwIDU2MCB5KG1hdGMpbShoaW5nKTM3IGIob3ApcyhlcmF0b3JzKWUoYXJlKWgocmVjb2duaXplZC4pNTgKIGIoSW4pMzUgYih0aGUpZyhmb2xsbyltKHdpbmcpaShkZXNjcmlwdGlvbiwpZyhhKWYgRnEocGF0dGVybi1saXN0KWoKLUZ0KGlzKWQoYSlnKGxpc3QpZyhvZikxNTAgMzQ0NiB5KG9uZSlkKG9yKWYobW9yZSloKHBhdHRlcm5zKWYKLShzZXBhcmF0ZWQpaChiKW0oeSlmKGEpaChgKXAgRnMofClwIEZ0KCcuKTQ3IGIoQ29tcClzKG9zaXRlKTMzCi1iKHBhdHRlcm5zKWYobWEpbSh5KWkoYilzKGUpZChmb3JtZWQpaCh1c2luZylnKG9uZSloKG9yKTE1MAotMzU1NiB5KG1vcmUpZShvZilmKHRoZSloKGZvbGxvKW0od2luZylnKHN1Yi1wYXR0ZXJuczopMTUwCi0zNzEyIHkgRnMoP1woKXAgRmkocGF0dGVybi1saXN0KTExIGIgRnMoXCkpNjMwIDM4MjIgeQotRnQoTWF0YyltKGhlcykzMiBiKHplcm8pZihvcilnKG9uZSlmKG8pcyhjY3VycmVuY2UpaChvZilmKHRoZSloKGdpdiltCi0oZW4pZyhwYXR0ZXJucy4pMTUwIDM5NzkgeSBGcygqXCgpcCBGaShwYXR0ZXJuLWxpc3QpMTEKLWIgRnMoXCkpNjMwIDQwODggeSBGdChNYXRjKW0oaGVzKTMyIGIoemVybylmKG9yKWcobW9yZSlmKG8pcwotKGNjdXJyZW5jZXMpaChvZilmKHRoZSloKGdpdiltKGVuKWcocGF0dGVybnMuKTE1MCA0MjQ1Ci15IEZzKCtcKClwIEZpKHBhdHRlcm4tbGlzdCkxMSBiIEZzKFwpKTYzMCA0MzU0IHkgRnQoTWF0YyltKGhlcykzMgotYihvbmUpZihvcilmKG1vcmUpaChvKXMoY2N1cnJlbmNlcylmKG9mKWgodGhlKWYoZ2l2KW0oZW4paShwYXR0ZXJucy4pCi0xNTAgNDUxMSB5IEZzKEBcKClwIEZpKHBhdHRlcm4tbGlzdCkxMSBiIEZzKFwpKTYzMCA0NjIxCi15IEZ0KE1hdGMpbShoZXMpMzIgYihvbmUpZihvZilmKHRoZSloKGdpdiltKGVuKWcocGF0dGVybnMuKTE1MAotNDc3NyB5IEZzKCFcKClwIEZpKHBhdHRlcm4tbGlzdCkxMSBiIEZzKFwpKTYzMCA0ODg3IHkKLUZ0KE1hdGMpbShoZXMpMzIgYihhbiltKHl0aGluZylmKGV4Y2VwdClnKG9uZSlnKG9mKWYodGhlKWgoZ2l2KW0oZW4pZwotKHBhdHRlcm5zLikxNTAgNTA4MyB5IEZqKDMuNS45KTYzIGIoUXVvdGUpNDEgYihSZW1vKW0odiktNwotYihhbCkxNTAgNTIzMCB5IEZ0KEFmdGVyKTMyIGIodGhlKWcocHJlY2VkaW5nKWcoZXhwYW5zaW9ucywpaChhbGwpZgorRnQoaXMpZChhKWcobGlzdClnKG9mKTE1MCA2NjkgeShvbmUpZChvcilmKG1vcmUpaChwYXR0ZXJucylmKHNlcGFyYXRlZCkKK2goYiltKHkpZihhKWgoYClwIEZzKHwpcCBGdCgnLik0NyBiKENvbXApcyhvc2l0ZSkzMyBiKHBhdHRlcm5zKWYobWEpbQorKHkpaShiKXMoZSlkKGZvcm1lZCloKHVzaW5nKWcob25lKWgob3IpMTUwIDc3OSB5KG1vcmUpZShvZilmKHRoZSloCisoZm9sbG8pbSh3aW5nKWcoc3ViLXBhdHRlcm5zOikxNTAgOTMwIHkgRnMoP1woKXAgRmkocGF0dGVybi1saXN0KTExCitiIEZzKFwpKTYzMCAxMDQwIHkgRnQoTWF0YyltKGhlcykzMiBiKHplcm8pZihvcilnKG9uZSlmKG8pcyhjY3VycmVuY2UpaAorKG9mKWYodGhlKWgoZ2l2KW0oZW4pZyhwYXR0ZXJucy4pMTUwIDExOTEgeSBGcygqXCgpcAorRmkocGF0dGVybi1saXN0KTExIGIgRnMoXCkpNjMwIDEzMDAgeSBGdChNYXRjKW0oaGVzKTMyCitiKHplcm8pZihvcilnKG1vcmUpZihvKXMoY2N1cnJlbmNlcyloKG9mKWYodGhlKWgoZ2l2KW0oZW4pZyhwYXR0ZXJucy4pCisxNTAgMTQ1MiB5IEZzKCtcKClwIEZpKHBhdHRlcm4tbGlzdCkxMSBiIEZzKFwpKTYzMCAxNTYxCit5IEZ0KE1hdGMpbShoZXMpMzIgYihvbmUpZihvcilmKG1vcmUpaChvKXMoY2N1cnJlbmNlcylmKG9mKWgodGhlKWYoZ2l2KQorbShlbilpKHBhdHRlcm5zLikxNTAgMTcxMiB5IEZzKEBcKClwIEZpKHBhdHRlcm4tbGlzdCkxMQorYiBGcyhcKSk2MzAgMTgyMiB5IEZ0KE1hdGMpbShoZXMpMzIgYihvbmUpZihvZilmKHRoZSloKGdpdiltKGVuKWcKKyhwYXR0ZXJucy4pMTUwIDE5NzMgeSBGcyghXCgpcCBGaShwYXR0ZXJuLWxpc3QpMTEgYiBGcyhcKSk2MzAKKzIwODMgeSBGdChNYXRjKW0oaGVzKTMyIGIoYW4pbSh5dGhpbmcpZihleGNlcHQpZyhvbmUpZyhvZilmKHRoZSloKGdpdiltCisoZW4pZyhwYXR0ZXJucy4pMTUwIDIyNzQgeSBGaigzLjUuOSk2MyBiKFF1b3RlKTQxIGIoUmVtbyltKHYpLTcKK2IoYWwpMTUwIDI0MjEgeSBGdChBZnRlcikzMiBiKHRoZSlnKHByZWNlZGluZylnKGV4cGFuc2lvbnMsKWgoYWxsKWYKICh1bnF1b3RlZClmKG8pcyhjY3VycmVuY2VzKWgob2YpZyh0aGUpaChjKW0oaGFyYWN0ZXJzKWcoYClwCiBGcyhcXClwIEZ0KCcsKWcoYClwIEZzKCcpcCBGdCgnLClmKGFuZClnKGApcCBGcygiKXAgRnQoJykxNTAKLTUzNDAgeSh0aGF0KWYoZGlkKWYobm90KWcocmVzdWx0KWcoZnJvbSlnKG9uZSloKG9mKWcodGhlKWYoYWIpcyhvKW0odiltCi0oZSlpKGV4cGFuc2lvbnMpZShhcmUpaChyZW1vKW0odiltKGVkLilwIGVvcCBlbmQKLSUlUGFnZTogMjYgMzIKLVRlWERpY3QgYmVnaW4gMjYgMzEgYm9wIDE1MCAtMTE2IGEgRnQoMjYpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcigzLjYpNjggYihSZWRpcmVjdGlvbnMpMTUwCi00NTggeSBGdChCZWZvcmUpNDMgYihhKWYoY29tbWFuZClmKGlzKWgoZXhlY3V0ZWQsKWooaXRzKWQoaW5wdXQpZihhbmQpZwotKG91dHB1dClnKG1hKW0oeSlpKGIpcyhlKWUgRnEocmVkaXJlY3RlZClrIEZ0KHVzaW5nKWMoYSloKHNwKXMoZWNpYWwpCi0xNTAgNTY4IHkobm90YXRpb24pMzMgYihpbiltKHRlcnByZXRlZClnKGIpbSh5KWYodGhlKWcoc2hlbGwuKTQ2Ci1iKFJlZGlyZWN0aW9uKTMzIGIobWEpbSh5KWcoYWxzbylnKGIpcyhlKWYodXNlZClmKHRvKWkob3ApcyhlbillKGFuZCloCi0oY2xvc2UpaChcMDE0bGVzKWYoZm9yKTE1MCA2NzcgeSh0aGUpaChjdXJyZW4pbSh0KWcoc2hlbGwpZyhleGVjdXRpb24paAotKGVuKW0odmlyb25tZW4pbSh0Lik0OSBiKFRoZSkzMyBiKGZvbGxvKW0od2luZyloKHJlZGlyZWN0aW9uKWcob3ApcwotKGVyYXRvcnMpZihtYSltKHkpaChwcmVjZWRlKTE1MCA3ODcgeShvcikyOSBiKGFwcClzKGVhcilnKGFuKW0oeXdoZXJlKWcKLSh3aXRoaW4pZyhhKWgoc2ltcGxlKWYoY29tbWFuZClnKG9yKWgobWEpbSh5KWcoZm9sbG8pbSh3KWcoYSlnCi0oY29tbWFuZC4pNDAgYihSZWRpcmVjdGlvbnMpMzEgYihhcmUpMTUwIDg5NyB5KHBybylzKGNlc3NlZClmKGluKWcodGhlKQotZyhvcmRlcilnKHRoZXkpaChhcHApcyhlYXIsKWYoZnJvbSlnKGxlZnQpaCh0bylnKHJpZ2gpbSh0LikyNzUKLTEwNDggeShFYWMpbShoKTQ1IGIocmVkaXJlY3Rpb24paCh0aGF0KWYobWEpbSh5KWgoYilzKGUpZShwcmVjZWRlZClnKGIpCisyNTMwIHkodGhhdClmKGRpZClmKG5vdClnKHJlc3VsdClnKGZyb20pZyhvbmUpaChvZilnKHRoZSlmKGFiKXMobyltKHYpbQorKGUpaShleHBhbnNpb25zKWUoYXJlKWgocmVtbyltKHYpbShlZC4pMTUwIDI3NTQgeSBGcigzLjYpNjgKK2IoUmVkaXJlY3Rpb25zKTE1MCAyOTE0IHkgRnQoQmVmb3JlKTQzIGIoYSlmKGNvbW1hbmQpZihpcyloKGV4ZWN1dGVkLClqCisoaXRzKWQoaW5wdXQpZihhbmQpZyhvdXRwdXQpZyhtYSltKHkpaShiKXMoZSllIEZxKHJlZGlyZWN0ZWQpaworRnQodXNpbmcpYyhhKWgoc3ApcyhlY2lhbCkxNTAgMzAyMyB5KG5vdGF0aW9uKTMzIGIoaW4pbSh0ZXJwcmV0ZWQpZyhiKW0KKyh5KWYodGhlKWcoc2hlbGwuKTQ2IGIoUmVkaXJlY3Rpb24pMzMgYihtYSltKHkpZyhhbHNvKWcoYilzKGUpZih1c2VkKWYKKyh0bylpKG9wKXMoZW4pZShhbmQpaChjbG9zZSloKFwwMTRsZXMpZihmb3IpMTUwIDMxMzMKK3kodGhlKWgoY3VycmVuKW0odClnKHNoZWxsKWcoZXhlY3V0aW9uKWgoZW4pbSh2aXJvbm1lbiltKHQuKTQ5CitiKFRoZSkzMyBiKGZvbGxvKW0od2luZyloKHJlZGlyZWN0aW9uKWcob3ApcyhlcmF0b3JzKWYobWEpbSh5KWgKKyhwcmVjZWRlKTE1MCAzMjQzIHkob3IpMjkgYihhcHApcyhlYXIpZyhhbiltKHl3aGVyZSlnKHdpdGhpbilnKGEpaAorKHNpbXBsZSlmKGNvbW1hbmQpZyhvciloKG1hKW0oeSlnKGZvbGxvKW0odylnKGEpZyhjb21tYW5kLik0MAorYihSZWRpcmVjdGlvbnMpMzEgYihhcmUpMTUwIDMzNTIgeShwcm8pcyhjZXNzZWQpZihpbilnKHRoZSlnKG9yZGVyKWcKKyh0aGV5KWgoYXBwKXMoZWFyLClmKGZyb20pZyhsZWZ0KWgodG8pZyhyaWdoKW0odC4pMjc1CiszNDgzIHkoRWFjKW0oaCk0NSBiKHJlZGlyZWN0aW9uKWgodGhhdClmKG1hKW0oeSloKGIpcyhlKWUocHJlY2VkZWQpZyhiKQogbSh5KWgoYSloKFwwMTRsZSlmKGRlc2NyaXB0b3IpZihuKW0odW0pbShiKXMoZXIpZyhtYSltKHkpaChpbnN0ZWFkKWgoYikKLXMoZSkxNTAgMTE1OCB5KHByZWNlZGVkKTQxIGIoYiltKHkpZyhhKWcodyltKG9yZClnKG9mKWcodGhlKWcoZm9ybSlnCitzKGUpMTUwIDM1OTIgeShwcmVjZWRlZCk0MSBiKGIpbSh5KWcoYSlnKHcpbShvcmQpZyhvZilnKHRoZSlnKGZvcm0pZwogRnMoeylwIEZxKHYpLTUgYihhcm5hbWUpNSBiIEZzKH0pcCBGdCguKTcyIGIoSW4pNDAgYih0aGlzKWgoY2FzZSwpawotKGZvciljKGVhYyltKGgpaChyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9yKTE1MCAxMjY3IHkoZXhjZXB0KTMwCisoZm9yKWMoZWFjKW0oaCloKHJlZGlyZWN0aW9uKWcob3ApcyhlcmF0b3IpMTUwIDM3MDIgeShleGNlcHQpMzAKIGIgRnMoPilwIEZ0KCYtKWYoYW5kKWYgRnMoPClwIEZ0KCYtLCloKHRoZSlnKHNoZWxsKWcod2lsbCloKGFsbG8pcwogKGNhdGUpaChhKWUoXDAxNGxlKWgoZGVzY3JpcHRvcillKGdyZWF0ZXIpaih0aGFuKWQoMTApaShhbmQpZShhc3NpZ24paQotKGl0KWYodG8pMTUwIDEzNzcgeSBGcyh7KXAgRnEodiktNSBiKGFybmFtZSk1IGIgRnMofSlwCisoaXQpZih0bykxNTAgMzgxMSB5IEZzKHspcCBGcSh2KS01IGIoYXJuYW1lKTUgYiBGcyh9KXAKIEZ0KC4pNDIgYihJZikzMSBiIEZzKD4pcCBGdCgmLSlmKG9yKWggRnMoPClwIEZ0KCYtKWcoaXMpZyhwcmVjZWRlZClnKGIpCiBtKHkpZyBGcyh7KXAgRnEodiktNSBiKGFybmFtZSk1IGIgRnMofSlwIEZ0KCwpMzEgYih0aGUpZyh2KS01CiBiKGFsdWUpMzEgYihvZilnIEZxKHYpLTUgYihhcm5hbWUpMzcgYiBGdChkZVwwMTRuZXMpMzAKLWIodGhlKWgoXDAxNGxlKTE1MCAxNDg2IHkoZGVzY3JpcHRvcilmKHRvKWgoY2xvc2UuKTI3NQotMTYzOCB5KEluKWModGhlKWkoZm9sbG8pbSh3aW5nKWgoZGVzY3JpcHRpb25zLClnKGlmKWUodGhlKWgoXDAxNGxlKWcKK2IodGhlKWgoXDAxNGxlKTE1MCAzOTIxIHkoZGVzY3JpcHRvcilmKHRvKWgoY2xvc2UuKTI3NQorNDA1MSB5KEluKWModGhlKWkoZm9sbG8pbSh3aW5nKWgoZGVzY3JpcHRpb25zLClnKGlmKWUodGhlKWgoXDAxNGxlKWcKIChkZXNjcmlwdG9yKWYobiltKHVtKW0oYilzKGVyKWcoaXMpZyhvbWl0dGVkLClpKGFuZClmKHRoZSlmKFwwMTRyc3QpZwotKGMpbShoYXItKTE1MCAxNzQ3IHkoYWN0ZXIpNDIgYihvZilmKHRoZSlnKHJlZGlyZWN0aW9uKWcob3ApcyhlcmF0b3IpZworKGMpbShoYXItKTE1MCA0MTYxIHkoYWN0ZXIpNDIgYihvZilmKHRoZSlnKHJlZGlyZWN0aW9uKWcob3ApcyhlcmF0b3IpZwogKGlzKWcoYClwIEZzKDwpcCBGdCgnLClpKHRoZSllKHJlZGlyZWN0aW9uKWcocmVmZXJzKWcodG8pZyh0aGUpZwotKHN0YW5kYXJkKWYoaW5wdXQpZihcKFwwMTRsZSkxNTAgMTg1NyB5KGRlc2NyaXB0b3IpMzMKKyhzdGFuZGFyZClmKGlucHV0KWYoXChcMDE0bGUpMTUwIDQyNzEgeShkZXNjcmlwdG9yKTMzCiBiKDBcKS4pNDkgYihJZikzMyBiKHRoZSlnKFwwMTRyc3QpZihjKW0oaGFyYWN0ZXIpaShvZilnKHRoZSlmCiAocmVkaXJlY3Rpb24pZyhvcClzKGVyYXRvciloKGlzKWYoYClwIEZzKD4pcCBGdCgnLCloKHRoZSlmKHJlZGlyZWN0aW9uKQotZyhyZWZlcnMpMTUwIDE5NjYgeSh0byllKHRoZSlnKHN0YW5kYXJkKWUob3V0cHV0KWgoXChcMDE0bGUpaAotKGRlc2NyaXB0b3IpZigxXCkuKTI3NSAyMTE4IHkoVGhlKWgodyltKG9yZCloKGZvbGxvKW0od2luZylpKHRoZSlmCitnKHJlZmVycykxNTAgNDM4MCB5KHRvKWUodGhlKWcoc3RhbmRhcmQpZShvdXRwdXQpaChcKFwwMTRsZSloCisoZGVzY3JpcHRvcilmKDFcKS4pMjc1IDQ1MTAgeShUaGUpaCh3KW0ob3JkKWgoZm9sbG8pbSh3aW5nKWkodGhlKWYKIChyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9yKWYoaW4pZyh0aGUpaChmb2xsbyltKHdpbmcpaChkZXNjcmlwdGlvbnMsKWYKLSh1bmxlc3MpZShvdGhlci0pMTUwIDIyMjcgeSh3aXNlKTIxIGIobm90ZWQsKWkoaXMpZShzdWIpNQorKHVubGVzcyllKG90aGVyLSkxNTAgNDYyMCB5KHdpc2UpMjEgYihub3RlZCwpaShpcyllKHN1Yik1CiBiKGplY3RlZCkyMSBiKHRvKWgoYnJhY2UpZihleHBhbnNpb24sKWkodGlsZGUpZihleHBhbnNpb24sKWgocGFyYW1ldGVyKQotZShleHBhbnNpb24sKWkoY29tbWFuZCkxNTAgMjMzNyB5KHN1YnN0aXR1dGlvbiwpMzEgYihhcml0aG1ldGljKWgKK2UoZXhwYW5zaW9uLClpKGNvbW1hbmQpMTUwIDQ3MzAgeShzdWJzdGl0dXRpb24sKTMxIGIoYXJpdGhtZXRpYyloCiAoZXhwYW5zaW9uLClmKHF1b3RlKWgocmVtbyltKHYpLTUgYihhbCwpMzMgYihcMDE0bGVuYW1lKWUoZXhwYW5zaW9uLClnCi0oYW5kKWYodyltKG9yZCloKHNwbGl0dGluZy4pMTUwIDI0NDcgeShJZilmKGl0KWgoZXhwYW5kcyllKHRvKWkobW9yZSlnCisoYW5kKWYodyltKG9yZCloKHNwbGl0dGluZy4pMTUwIDQ4MzkgeShJZilmKGl0KWgoZXhwYW5kcyllKHRvKWkobW9yZSlnCiAodGhhbilmKG9uZSloKHcpbShvcmQsKWYoQmFzaCloKHJlcClzKG9ydHMpZShhbiloKGVycm9yLikyNzUKLTI1OTggeShOb3RlKWgodGhhdClnKHRoZSlnKG9yZGVyKWYob2YpZyhyZWRpcmVjdGlvbnMpaChpcylnCis0OTcwIHkoTm90ZSloKHRoYXQpZyh0aGUpZyhvcmRlcilmKG9mKWcocmVkaXJlY3Rpb25zKWgoaXMpZwogKHNpZ25pXDAxNGNhbiltKHQuKTQxIGIoRiktOCBiKG9yKTMxIGIoZXhhbXBsZSwpaCh0aGUpZShjb21tYW5kKTM5MAotMjc0OSB5IEZzKGxzKTQ3IGIoPiloIEZpKGRpcmxpc3QpNTYgYiBGcygyPiYxKTE1MCAyOTAxCis1MTAwIHkgRnMobHMpNDcgYig+KWggRmkoZGlybGlzdCk1NiBiIEZzKDI+JjEpMTUwIDUyMzAKIHkgRnQoZGlyZWN0cykyOCBiKGIpcyhvdGgpZihzdGFuZGFyZClnKG91dHB1dClnKFwoXDAxNGxlKWgoZGVzY3JpcHRvcilmCiAoMVwpKWkoYW5kKWUoc3RhbmRhcmQpZihlcnJvcilpKFwoXDAxNGxlKWcoZGVzY3JpcHRvcilmKDJcKSloKHRvKWgodGhlKQotMTUwIDMwMTAgeShcMDE0bGUpaCBGcShkaXJsaXN0KXIgRnQoLCloKHdoaWxlKWYodGhlKWgoY29tbWFuZCkzOTAKLTMxNjEgeSBGcyhscyk0NyBiKDI+JjEpZyg+KWcgRmkoZGlybGlzdCkxNTAgMzMxMyB5IEZ0KGRpcmVjdHMpMjgKLWIob25seSlmKHRoZSlnKHN0YW5kYXJkKWcob3V0cHV0KWcodG8paChcMDE0bGUpZiBGcShkaXJsaXN0KXIKLUZ0KCwpaChiKXMoZWNhdXNlKWcodGhlKWYoc3RhbmRhcmQpZyhlcnJvcilnKHcpbShhcylnKG1hZGUpaChhKWYoY29wKW0KLSh5KTE1MCAzNDIyIHkob2Ypayh0aGUpZihzdGFuZGFyZClnKG91dHB1dClnKGIpcyhlZm9yZSlnKHRoZSlnCi0oc3RhbmRhcmQpZyhvdXRwdXQpZyh3KW0oYXMpZyhyZWRpcmVjdGVkKWgodG8pZyBGcShkaXJsaXN0KXIKLUZ0KC4pMjc1IDM1NzQgeShCYXNoKTI2IGIoaGFuZGxlcylmKHNldiltKGVyYWwpaihcMDE0bGVuYW1lcyllKHNwKXMKLShlY2lhbGx5KWgod2hlbilmKHRoZXkpZyhhcmUpZyh1c2VkKWcoaW4pZyhyZWRpcmVjdGlvbnMsKWkoYXMpZQotKGRlc2NyaWIpcyhlZCkxNTAgMzY4MyB5KGluKWsodGhlKWgoZm9sbG8pbSh3aW5nKWcodGFibGU6KTE1MAotMzg2OCB5IEZzKC9kZXYvZmQvKXAgRmkoZmQpNjMwIDM5NzcgeSBGdChJZilmIEZxKGZkKWoKLUZ0KGlzKWQoYSloKHYpLTUgYihhbGlkKTMxIGIoaW4pbSh0ZWdlciwpaChcMDE0bGUpZShkZXNjcmlwdG9yKWgKLUZxKGZkKWkgRnQoaXMpZChkdXBsaWNhdGVkLikxNTAgNDE1NCB5IEZzKC9kZXYvc3RkaW4pNjMwCi00MjYzIHkgRnQoRmlsZSlpKGRlc2NyaXB0b3IpZSgwKWgoaXMpZihkdXBsaWNhdGVkLikxNTAKLTQ0NDAgeSBGcygvZGV2L3N0ZG91dCk2MzAgNDU0OSB5IEZ0KEZpbGUpaShkZXNjcmlwdG9yKWUoMSloKGlzKWYKLShkdXBsaWNhdGVkLikxNTAgNDcyNSB5IEZzKC9kZXYvc3RkZXJyKTYzMCA0ODM1IHkgRnQoRmlsZSlpKGRlc2NyaXB0b3IpCi1lKDIpaChpcylmKGR1cGxpY2F0ZWQuKTE1MCA1MDExIHkgRnMoL2Rldi90Y3AvKXAgRmkoaG9zdCkxMQotYiBGcygvKXAgRmkocG9ydCk2MzAgNTEyMSB5IEZ0KElmKTQxIGIgRnEoaG9zdClpIEZ0KGlzKWYoYSlnKHYpLTUKLWIoYWxpZCk0MSBiKGhvc3RuYW1lKWgob3IpZihJbiltKHRlcm5ldCloKGFkZHJlc3MsKWkoYW5kKWMKLUZxKHApcyhvcnQpaiBGdChpcylmKGFuKWYoaW4pbSh0ZWdlcilpKHApcyhvcnQpNjMwIDUyMzAKLXkobiltKHVtKW0oYilzKGVyKWgob3IpaChzZXJ2aWNlKWgobmFtZSwpaihCYXNoKWMoYXR0ZW1wdHMpaCh0bylnKG9wKXMKLShlbilmKGEpZyhUQ1ApZyhjb25uZWN0aW9uKWgodG8pZyh0aGUpNjMwIDUzNDAgeShjb3JyZXNwKXMob25kaW5nKTI5Ci1iKHNvKXMoYyltKGspbShldC4pcCBlb3AgZW5kCi0lJVBhZ2U6IDI3IDMzCi1UZVhEaWN0IGJlZ2luIDI3IDMyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQotYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDI3KTE1MCAyOTkKLXkgRnMoL2Rldi91ZHAvKXAgRmkoaG9zdCkxMSBiIEZzKC8pcCBGaShwb3J0KTYzMCA0MDgKLXkgRnQoSWYpNDEgYiBGcShob3N0KWkgRnQoaXMpZihhKWcodiktNSBiKGFsaWQpNDEgYihob3N0bmFtZSloKG9yKWYoSW4pCi1tKHRlcm5ldCloKGFkZHJlc3MsKWkoYW5kKWMgRnEocClzKG9ydClqIEZ0KGlzKWYoYW4pZihpbiltKHRlZ2VyKWkocClzCi0ob3J0KTYzMCA1MTggeShuKW0odW0pbShiKXMoZXIpZyhvcilpKHNlcnZpY2UpZyhuYW1lLClrKEJhc2gpYwotKGF0dGVtcHRzKWcodG8paChvcClzKGVuKWUoYSloKFVEUClnKGNvbm5lY3Rpb24pZyh0byloKHRoZSk2MzAKLTYyOCB5KGNvcnJlc3ApcyhvbmRpbmcpMjkgYihzbylzKGMpbShrKW0oZXQuKTI3NSA3ODUKLXkoQSloKGZhaWx1cmUpaCh0bylnKG9wKXMoZW4pZShvcilpKGNyZWF0ZSloKGEpZShcMDE0bGUpaChjYXVzZXMpZyh0aGUpCi1mKHJlZGlyZWN0aW9uKWgodG8pZyhmYWlsLikyNzUgOTE4IHkoUmVkaXJlY3Rpb25zKWYodXNpbmcpZShcMDE0bGUpaQotKGRlc2NyaXB0b3JzKWYoZ3JlYXRlciloKHRoYW4pZig5KWgoc2hvdWxkKWUoYilzKGUpaCh1c2VkKWYod2l0aCloCi0oY2FyZSwpaChhcylnKHRoZXkpZihtYSltKHkpMTUwIDEwMjcgeShjb25cMDE1aWN0KWkod2l0aClmKFwwMTRsZSloCi0oZGVzY3JpcHRvcnMpZih0aGUpZyhzaGVsbCloKHVzZXMpZihpbiltKHRlcm5hbGx5KS04Ci1iKC4pMTUwIDEyMjQgeSBGaigzLjYuMSk2MyBiKFJlZGlyZWN0aW5nKTQwIGIoSW5wdXQpMTUwCi0xMzcxIHkgRnQoUmVkaXJlY3Rpb24pMzUgYihvZilmKGlucHV0KWYoY2F1c2VzKWkodGhlKWYoXDAxNGxlKWcod2hvc2UpZwotKG5hbWUpZyhyZXN1bHRzKWcoZnJvbSlnKHRoZSlnKGV4cGFuc2lvbilnKG9mKWcgRnEodyltKG9yZClrCi1GdCh0bylkKGIpcyhlKTE1MCAxNDgxIHkob3ApcyhlbmVkKWQoZm9yKWcocmVhZGluZylnKG9uKWcoXDAxNGxlKWgKLShkZXNjcmlwdG9yKWYgRnMobilwIEZ0KCwpaChvcilmKHRoZSlnKHN0YW5kYXJkKWcoaW5wdXQpZihcKFwwMTRsZSlpCi0oZGVzY3JpcHRvcilmKDBcKSloKGlmKWYgRnMobilnIEZ0KGlzKWgobm90KTE1MCAxNTkwCi15KHNwKXMoZWNpXDAxNGVkLikyNzUgMTcyNCB5KFRoZSljKGdlbmVyYWwpaihmb3JtYXQpZShmb3IpaAotKHJlZGlyZWN0aW5nKWcoaW5wdXQpZShpczopMzkwIDE4NTcgeSBGcyhbKXAgRmkobikxMQotYiBGcyhdPClwIEZpKHdvcmQpMTUwIDIwNTQgeSBGaigzLjYuMik2MyBiKFJlZGlyZWN0aW5nKTQwCi1iKE91dHB1dCkxNTAgMjIwMCB5IEZ0KFJlZGlyZWN0aW9uKTMxIGIob2YpZyhvdXRwdXQpZihjYXVzZXMpaCh0aGUpZgotKFwwMTRsZSloKHdob3NlKWYobmFtZSlnKHJlc3VsdHMpaChmcm9tKWUodGhlKWkoZXhwYW5zaW9uKWYob2YpaAotRnEodyltKG9yZClpIEZ0KHRvKWYoYilzKGUpMTUwIDIzMTAgeShvcClzKGVuZWQpZChmb3IpZyh3cml0aW5nKWcob24pZwotKFwwMTRsZSloKGRlc2NyaXB0b3IpZiBGcShuKXAgRnQoLClnKG9yKWcodGhlKWgoc3RhbmRhcmQpZShvdXRwdXQpaAotKFwoXDAxNGxlKWgoZGVzY3JpcHRvcilmKDFcKSloKGlmKWcgRnEobillIEZ0KGlzKWkobm90KTE1MAotMjQyMCB5KHNwKXMoZWNpXDAxNGVkLik0MCBiKElmKTMwIGIodGhlKWcoXDAxNGxlKWgoZG8pcyhlcylmKG5vdCloCi0oZXhpc3QpZyhpdClnKGlzKWYoY3JlYXRlZDspaShpZillKGl0KWgoZG8pcyhlcylmKGV4aXN0KWgoaXQpZyhpcylnCi0odHJ1bmNhdGVkKWYodG8paCh6ZXJvKWcoc2l6ZS4pMjc1IDI1NTMgeShUaGUpZShnZW5lcmFsKWooZm9ybWF0KWUoZm9yKQotaChyZWRpcmVjdGluZylnKG91dHB1dClmKGlzOikzOTAgMjY4NiB5IEZzKFspcCBGaShuKTExCi1iIEZzKF0+W3xdKXAgRmkod29yZCkyNzUgMjgxOSB5IEZ0KElmKTMwIGIodGhlKWgocmVkaXJlY3Rpb24pZyhvcClzCi0oZXJhdG9yKWcoaXMpZyhgKXAgRnMoPilwIEZ0KCcsKWcoYW5kKWYodGhlKWggRnMobm9jbG9iYmVyKWQKLUZ0KG9wdGlvbilqKHRvKWcodGhlKWcgRnMoc2V0KWYgRnQoYnVpbHRpbilnKGhhcyloKGIpcyhlZW4pMTUwCi0yOTI5IHkoZW5hYmxlZCwpaSh0aGUpZihyZWRpcmVjdGlvbiloKHdpbGwpZihmYWlsKWgoaWYpZih0aGUpZyhcMDE0bGUpZwotKHdob3NlKWcobmFtZSlnKHJlc3VsdHMpZyhmcm9tKWcodGhlKWcoZXhwYW5zaW9uKWcob2YpZwotRnEodyltKG9yZCkxNTAgMzAzOSB5IEZ0KGV4aXN0cylmKGFuZClmKGlzKWcoYSloKHJlZ3VsYXIpZyhcMDE0bGUuKTQxCi1iKElmKTMwIGIodGhlKWgocmVkaXJlY3Rpb24pZyhvcClzKGVyYXRvcilnKGlzKWYoYClwCi1Gcyg+fClwIEZ0KCcsKWgob3IpZih0aGUpaChyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9yKWcoaXMpMTUwCi0zMTQ4IHkoYClwIEZzKD4pcCBGdCgnKTM2IGIoYW5kKWYodGhlKWcgRnMobm9jbG9iYmVyKWUKLUZ0KG9wdGlvbilqKGlzKWcobm90KWcoZW5hYmxlZCwpaCh0aGUpZShyZWRpcmVjdGlvbiloKGlzKWcoYXR0ZW1wdGVkKWcKLShldiltKGVuKWgoaWYpZSh0aGUpaChcMDE0bGUpMTUwIDMyNTggeShuYW1lZCkzMCBiKGIpbSh5KWcKLUZxKHcpbShvcmQpayBGdChleGlzdHMuKTE1MCAzNDU1IHkgRmooMy42LjMpNjMgYihBcHApcyhlbmRpbmcpNDIKLWIoUmVkaXJlY3RlZCllKE91dHB1dCkxNTAgMzYwMSB5IEZ0KFJlZGlyZWN0aW9uKTIzIGIob2YpZShvdXRwdXQpaChpbilmCi0odGhpcyloKGZhc2hpb24pZihjYXVzZXMpaCh0aGUpZyhcMDE0bGUpZyh3aG9zZSlmKG5hbWUpaChyZXN1bHRzKWYKLShmcm9tKWcodGhlKWgoZXhwYW5zaW9uKWcob2YpMTUwIDM3MTEgeSBGcSh3KW0ob3JkKTI4Ci1iIEZ0KHRvKWUoYilzKGUpZShvcClzKGVuZWQpZyhmb3IpaChhcHApcyhlbmRpbmcpZShvbilpKFwwMTRsZSlnCi0oZGVzY3JpcHRvcilnIEZxKG4pcCBGdCgsKWcob3IpZyh0aGUpZyhzdGFuZGFyZClmKG91dHB1dCloKFwoXDAxNGxlKWcKLShkZXNjcmlwdG9yKTE1MCAzODIxIHkoMVwpKTMxIGIoaWYpZiBGcShuKWcgRnQoaXMpaChub3QpZihzcClzCi0oZWNpXDAxNGVkLik0MCBiKElmKTMwIGIodGhlKWgoXDAxNGxlKWYoZG8pcyhlcylnKG5vdCloKGV4aXN0KWcoaXQpZwotKGlzKWYoY3JlYXRlZC4pMjc1IDM5NTQgeShUaGUpZihnZW5lcmFsKWooZm9ybWF0KWUoZm9yKWgoYXBwKXMoZW5kaW5nKWUKLShvdXRwdXQpaChpczopMzkwIDQwODcgeSBGcyhbKXAgRmkobikxMSBiIEZzKF0+PilwIEZpKHdvcmQpMTUwCi00Mjg0IHkgRmooMy42LjQpNjMgYihSZWRpcmVjdGluZyk0MCBiKFN0YW5kYXJkKWgoT3V0cHV0KWcoYW5kKWcKLShTdGFuZGFyZClnKEVycm9yKTE1MCA0NDMxIHkgRnQoVGhpcykzMyBiKGNvbnN0cnVjdClpKGFsbG8pbSh3cylnKGIpcwotKG90aClmKHRoZSlnKHN0YW5kYXJkKWcob3V0cHV0KWYoXChcMDE0bGUpaShkZXNjcmlwdG9yKWYoMVwpKWgoYW5kKWYKLSh0aGUpZyhzdGFuZGFyZClmKGVycm9yKTE1MCA0NTQwIHkob3V0cHV0KWQoXChcMDE0bGUpaChkZXNjcmlwdG9yKWYKLSgyXCkpaCh0bylnKGIpcyhlKWYocmVkaXJlY3RlZCloKHRvKWcodGhlKWYoXDAxNGxlKWgod2hvc2UpZihuYW1lKWgoaXMpCi1mKHRoZSlnKGV4cGFuc2lvbiloKG9mKWYgRnEodyltKG9yZCl0IEZ0KC4pMjc1IDQ2NzQgeShUaGVyZSlmKGFyZSlpKHQpbQotKHcpbShvKWgoZm9ybWF0cyllKGZvciloKHJlZGlyZWN0aW5nKWcoc3RhbmRhcmQpZShvdXRwdXQpaChhbmQpZwotKHN0YW5kYXJkKWYoZXJyb3I6KTM5MCA0ODA3IHkgRnMoJj4pcCBGaSh3b3JkKTE1MCA0OTQwCi15IEZ0KGFuZCkzOTAgNTA3MyB5IEZzKD4mKXAgRmkod29yZCkxNTAgNTIwNyB5IEZ0KE9mKWgodGhlKWcodCltKHcpbShvKQotaShmb3JtcywpZSh0aGUpaChcMDE0cnN0KWUoaXMpaShwcmVmZXJyZWQuKTM5IGIoVGhpcykzMAotYihpcylnKHNlbWFuKW0odGljYWxseSlqKGVxdWl2KS01IGIoYWxlbiltKHQpMzIgYih0bykzOTAKLTUzNDAgeSBGcyg+KXAgRmkod29yZCk1NyBiIEZzKDI+JjEpcCBlb3AgZW5kCisxNTAgNTM0MCB5KFwwMTRsZSloIEZxKGRpcmxpc3QpciBGdCgsKWgod2hpbGUpZih0aGUpaChjb21tYW5kKXAKK2VvcCBlbmQKICUlUGFnZTogMjggMzQKIFRlWERpY3QgYmVnaW4gMjggMzMgYm9wIDE1MCAtMTE2IGEgRnQoMjgpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGaigzLjYuNSk2MyBiKEFwcClzKGVuZGluZyk0MgotYihTdGFuZGFyZClmKE91dHB1dClnKGFuZClnKFN0YW5kYXJkKWcoRXJyb3IpMTUwIDQ0NgoteSBGdChUaGlzKTMzIGIoY29uc3RydWN0KWkoYWxsbyltKHdzKWcoYilzKG90aClmKHRoZSlnKHN0YW5kYXJkKWcKLShvdXRwdXQpZihcKFwwMTRsZSlpKGRlc2NyaXB0b3IpZigxXCkpaChhbmQpZih0aGUpZyhzdGFuZGFyZClmKGVycm9yKQotMTUwIDU1NSB5KG91dHB1dClkKFwoXDAxNGxlKWgoZGVzY3JpcHRvcilmKDJcKSloKHRvKWcoYilzKGUpZihhcHApcwotKGVuZGVkKWYodG8paSh0aGUpZihcMDE0bGUpaCh3aG9zZSlmKG5hbWUpZyhpcyloKHRoZSlmKGV4cGFuc2lvbiloKG9mKWYKLUZxKHcpbShvcmQpdCBGdCguKTI3NSA2ODkgeShUaGUpZihmb3JtYXQpaShmb3IpZihhcHApcyhlbmRpbmcpZgotKHN0YW5kYXJkKWgob3V0cHV0KWcoYW5kKWYoc3RhbmRhcmQpaChlcnJvcilnKGlzOikzOTAKLTgyMiB5IEZzKCY+PilwIEZpKHdvcmQpMTUwIDk1NSB5IEZ0KFRoaXMpZyhpcylnKHNlbWFuKW0odGljYWxseSlqCi0oZXF1aXYpLTUgYihhbGVuKW0odCkzMiBiKHRvKTM5MCAxMDg5IHkgRnMoPj4pcCBGaSh3b3JkKTU3Ci1iIEZzKDI+JjEpMTUwIDEyODYgeSBGaigzLjYuNik2MyBiKEhlcmUpNDEgYihEbylzKGN1bWVuKW0odHMpMTUwCi0xNDMyIHkgRnQoVGhpcyljKHQpbSh5cClzKGUpaChvZilmKHJlZGlyZWN0aW9uKWkoaW5zdHJ1Y3RzKWUodGhlKWgKLShzaGVsbClmKHRvKWkocmVhZCllKGlucHV0KWcoZnJvbSlnKHRoZSloKGN1cnJlbiltKHQpZihzb3VyY2UpaCh1biltCi0odGlsKWcoYSkxNTAgMTU0MiB5KGxpbmUpMzEgYihjb24pbSh0YWluaW5nKWcob25seSlnCi1GcSh3KW0ob3JkKWkgRnQoXCh3aXRoKWQobm8paCh0cmFpbGluZylnKGJsYW5rc1wpKWYoaXMpZyhzZWVuLik0MQotYihBbGwpMzEgYihvZilmKHRoZSloKGxpbmVzKWYocmVhZClnKHVwKWYodG8paSh0aGF0KTE1MAotMTY1MiB5KHApcyhvaW4pbSh0KWYoYXJlKWgodGhlbilmKHVzZWQpZyhhcylnKHRoZSloKHN0YW5kYXJkKWYoaW5wdXQpZgotKGZvciloKGEpaChjb21tYW5kLikyNzUgMTc4NSB5KFRoZSllKGZvcm1hdClpKG9mKWcoaGVyZS1kbylzKGN1bWVuKW0KLSh0cylmKGlzOikzOTAgMTkxOCB5IEZzKDw8WylwIEZwKFwwMDApcCBGcyhdKXAgRmkod29yZCk3NzIKLTIwMjggeShoZXJlLWRvY3VtZW50KTM5MCAyMTM3IHkoZGVsaW1pdGVyKTI3NSAyMjcxIHkKLUZ0KE5vKWoocGFyYW1ldGVyKWgoZXhwYW5zaW9uLClnKGNvbW1hbmQpZihzdWJzdGl0dXRpb24sKWgoYXJpdGhtZXRpYyloCi0oZXhwYW5zaW9uLClmKG9yKWYoXDAxNGxlbmFtZSlnKGV4LSkxNTAgMjM4MCB5KHBhbnNpb24paChpcyloKHApcwotKGVyZm9ybWVkKWYob24pZyBGcSh3KW0ob3JkKXQgRnQoLik1NCBiKElmKTM0IGIoYW4pbSh5KWgoYyltKGhhcmFjdGVycykKLWkoaW4pZCBGcSh3KW0ob3JkKWsgRnQoYXJlKWQocXVvdGVkLClpKHRoZSllIEZxKGRlbGltaXRlcik0MgotYiBGdChpcykzNSBiKHRoZSkxNTAgMjQ5MCB5KHJlc3VsdCk0MCBiKG9mKWcocXVvdGUpaChyZW1vKW0odiktNQotYihhbCk0MiBiKG9uKWUgRnEodyltKG9yZCl0IEZ0KCwpaShhbmQpZCh0aGUpaShsaW5lcylmKGluKWcodGhlKWcKLShoZXJlLWRvKXMoY3VtZW4pbSh0KWgoYXJlKWYobm90KWcoZXhwYW5kZWQuKTE1MCAyNjAwCi15KElmKTMyIGIgRnEodyltKG9yZClrIEZ0KGlzKWQodW5xdW90ZWQsKWYoYWxsKWkobGluZXMpZihvZilmKHRoZSloCi0oaGVyZS1kbylzKGN1bWVuKW0odClnKGFyZSlnKHN1Yik1IGIoamVjdGVkKTMyIGIodG8paShwYXJhbWV0ZXIpZgotKGV4cGFuc2lvbiwpMTUwIDI3MDkgeShjb21tYW5kKTI1IGIoc3Vic3RpdHV0aW9uLClnKGFuZClnKGFyaXRobWV0aWMpaAotKGV4cGFuc2lvbi4pMzkgYihJbikyNCBiKHRoZSloKGxhdHRlciloKGNhc2UsKWgodGhlKWUoYyltKGhhcmFjdGVyKWkKLShzZXF1ZW5jZSkxNTAgMjgxOSB5IEZzKFxcbmV3bGluZSloIEZ0KGlzKWooaWdub3JlZCwpZihhbmQpZyhgKXAKLUZzKFxcKXAgRnQoJyloKG0pbSh1c3QpZihiKXMoZSlnKHVzZWQpZih0bylpKHF1b3RlKWcodGhlKWcoYyltCi0oaGFyYWN0ZXJzKWgoYClwIEZzKFxcKXAgRnQoJywpZShgKXAgRnMoJClwIEZ0KCcsKWgoYW5kKWYoYClwCi1GcyhgKXAgRnQoJy4pMjc1IDI5NTIgeShJZikyMSBiKHRoZSlpKHJlZGlyZWN0aW9uKWcob3ApcyhlcmF0b3IpZyhpcylmCi0oYClwIEZzKDw8LSlwIEZ0KCcsKWkodGhlbillKGFsbCloKGxlYWRpbmcpZyh0YWIpZyhjKW0oaGFyYWN0ZXJzKWgoYXJlKQotZShzdHJpcHApcyhlZClmKGZyb20paChpbnB1dCkxNTAgMzA2MiB5KGxpbmVzKTMzIGIoYW5kKWUodGhlKWkobGluZSlnCi0oY29uKW0odGFpbmluZyloIEZxKGRlbGltaXRlcik3IGIgRnQoLik0NyBiKFRoaXMpMzEgYihhbGxvKW0od3MpagotKGhlcmUtZG8pcyhjdW1lbiltKHRzKWYod2l0aGluKWUoc2hlbGwpaShzY3JpcHRzKWYodG8pMTUwCi0zMTcxIHkoYilzKGUpZShpbmRlbiltKHRlZClnKGluKWcoYSloKG5hdHVyYWwpZihmYXNoaW9uLikxNTAKLTMzNjggeSBGaigzLjYuNyk2MyBiKEhlcmUpNDEgYihTdHJpbmdzKTE1MCAzNTE1IHkgRnQoQSkzMAotYih2KS01IGIoYXJpYW4pbSh0KTMyIGIob2YpZShoZXJlKWgoZG8pcyhjdW1lbiltKHRzLClmKHRoZSlnKGZvcm1hdCloCi0oaXM6KTM5MCAzNjQ4IHkgRnMoPDw8KTQ3IGIgRmkod29yZCkyNzUgMzc4MiB5IEZ0KFRoZSkyOQotYiBGcSh3KW0ob3JkKTM0IGIgRnQoaXMpYyhleHBhbmRlZClnKGFuZClnKHN1cHBsaWVkKWYodG8paSh0aGUpZgotKGNvbW1hbmQpaChvbilmKGl0cyloKHN0YW5kYXJkKWUoaW5wdXQuKTE1MCAzOTc5IHkgRmooMy42LjgpNjMKLWIoRHVwbGljYXRpbmcpNDEgYihGaWxlKWcoRGVzY3JpcHRvcnMpMTUwIDQxMjUgeSBGdChUaGUpMzAKLWIocmVkaXJlY3Rpb24paChvcClzKGVyYXRvcikzOTAgNDI1OSB5IEZzKFspcCBGaShuKTExCi1iIEZzKF08JilwIEZpKHdvcmQpMTUwIDQzOTIgeSBGdChpcykzNSBiKHVzZWQpZSh0bylqKGR1cGxpY2F0ZSlmKGlucHV0KQotZihcMDE0bGUpZyhkZXNjcmlwdG9ycy4pNTMgYihJZikzNCBiIEZxKHcpbShvcmQpayBGdChleHBhbmRzKWModG8paAotKG9uZSlnKG9yKWcobW9yZSlnKGRpZ2l0cywpaCh0aGUpZihcMDE0bGUpMTUwIDQ1MDIgeShkZXNjcmlwdG9yKWUKLShkZW5vdGVkKWgoYiltKHkpZyBGcShuKWYgRnQoaXMpZyhtYWRlKWgodG8pZyhiKXMoZSlmKGEpaChjb3ApbSh5KWcob2YpCi1nKHRoYXQpZyhcMDE0bGUpZyhkZXNjcmlwdG9yLik1MCBiKElmKTMzIGIodGhlKWgoZGlnaXRzKWcoaW4pZgotRnEodyltKG9yZCkxNTAgNDYxMSB5IEZ0KGRvKWMobm90KWgoc3ApcyhlY2lmeSlmKGEpaChcMDE0bGUpZgotKGRlc2NyaXB0b3IpZyhvcClzKGVuKWcoZm9yKWcoaW5wdXQsKWcoYSloKHJlZGlyZWN0aW9uKWcoZXJyb3IpZihvKXMKLShjY3Vycy4pNDAgYihJZikyOSBiIEZxKHcpbShvcmQpaiBGdChldiktNSBiKGFsdWF0ZXMpMTUwCi00NzIxIHkodG8pMzEgYihgKXAgRnMoLSlwIEZ0KCcsKWcoXDAxNGxlKWcoZGVzY3JpcHRvcilnCi1GcShuKWYgRnQoaXMpZyhjbG9zZWQuKTQzIGIoSWYpMzAgYiBGcShuKWcgRnQoaXMpZyhub3QpaChzcClzCi0oZWNpXDAxNGVkLClmKHRoZSloKHN0YW5kYXJkKWYoaW5wdXQpZyhcKFwwMTRsZSloKGRlc2NyaXB0b3IpZigwXCkpMTUwCi00ODMwIHkoaXMpZyh1c2VkLikyNzUgNDk2NCB5KFRoZSlmKG9wKXMoZXJhdG9yKTM5MCA1MDk3Ci15IEZzKFspcCBGaShuKTExIGIgRnMoXT4mKXAgRmkod29yZCkxNTAgNTIzMCB5IEZ0KGlzKTQwCi1iKHVzZWQpZyhzaW1pbGFybHkpaCh0bylnKGR1cGxpY2F0ZSlmKG91dHB1dClnKFwwMTRsZSloKGRlc2NyaXB0b3JzLik3MAotYihJZik0MCBiIEZxKG4pZiBGdChpcylpKG5vdClmKHNwKXMoZWNpXDAxNGVkLClpKHRoZSlmKHN0YW5kYXJkKTE1MAotNTM0MCB5KG91dHB1dCkzMCBiKFwoXDAxNGxlKWcoZGVzY3JpcHRvcilnKDFcKSloKGlzKWYodXNlZC4pMzkKLWIoSWYpMzAgYih0aGUpZyhkaWdpdHMpaChpbillIEZxKHcpbShvcmQpMzQgYiBGdChkbykyOQotYihub3QpaShzcClzKGVjaWZ5KWUoYSlpKFwwMTRsZSlmKGRlc2NyaXB0b3IpZyhvcClzKGVuKXAKLWVvcCBlbmQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTM5MCAyOTkgeSBGcyhscyk0NyBiKDI+JjEpZyg+KWcKK0ZpKGRpcmxpc3QpMTUwIDQyOCB5IEZ0KGRpcmVjdHMpMjggYihvbmx5KWYodGhlKWcoc3RhbmRhcmQpZyhvdXRwdXQpZworKHRvKWgoXDAxNGxlKWYgRnEoZGlybGlzdClyIEZ0KCwpaChiKXMoZWNhdXNlKWcodGhlKWYoc3RhbmRhcmQpZyhlcnJvcikKK2codyltKGFzKWcobWFkZSloKGEpZihjb3ApbSh5KTE1MCA1MzcgeShvZilrKHRoZSlmKHN0YW5kYXJkKWcob3V0cHV0KWcKKyhiKXMoZWZvcmUpZyh0aGUpZyhzdGFuZGFyZClnKG91dHB1dClnKHcpbShhcylnKHJlZGlyZWN0ZWQpaCh0bylnCitGcShkaXJsaXN0KXIgRnQoLikyNzUgNjY2IHkoQmFzaCkyNiBiKGhhbmRsZXMpZihzZXYpbShlcmFsKWoKKyhcMDE0bGVuYW1lcyllKHNwKXMoZWNpYWxseSloKHdoZW4pZih0aGV5KWcoYXJlKWcodXNlZClnKGluKWcKKyhyZWRpcmVjdGlvbnMsKWkoYXMpZShkZXNjcmliKXMoZWQpMTUwIDc3NiB5KGluKWsodGhlKWgoZm9sbG8pbSh3aW5nKWcKKyh0YWJsZTopMTUwIDkyNCB5IEZzKC9kZXYvZmQvKXAgRmkoZmQpNjMwIDEwMzQgeSBGdChJZilmCitGcShmZClqIEZ0KGlzKWQoYSloKHYpLTUgYihhbGlkKTMxIGIoaW4pbSh0ZWdlciwpaChcMDE0bGUpZShkZXNjcmlwdG9yKQoraCBGcShmZClpIEZ0KGlzKWQoZHVwbGljYXRlZC4pMTUwIDExODIgeSBGcygvZGV2L3N0ZGluKTYzMAorMTI5MiB5IEZ0KEZpbGUpaShkZXNjcmlwdG9yKWUoMCloKGlzKWYoZHVwbGljYXRlZC4pMTUwCisxNDQwIHkgRnMoL2Rldi9zdGRvdXQpNjMwIDE1NTAgeSBGdChGaWxlKWkoZGVzY3JpcHRvcillKDEpaChpcylmCisoZHVwbGljYXRlZC4pMTUwIDE2OTggeSBGcygvZGV2L3N0ZGVycik2MzAgMTgwNyB5IEZ0KEZpbGUpaShkZXNjcmlwdG9yKQorZSgyKWgoaXMpZihkdXBsaWNhdGVkLikxNTAgMTk1NiB5IEZzKC9kZXYvdGNwLylwIEZpKGhvc3QpMTEKK2IgRnMoLylwIEZpKHBvcnQpNjMwIDIwNjUgeSBGdChJZik0MSBiIEZxKGhvc3QpaSBGdChpcylmKGEpZyh2KS01CitiKGFsaWQpNDEgYihob3N0bmFtZSloKG9yKWYoSW4pbSh0ZXJuZXQpaChhZGRyZXNzLClpKGFuZCljCitGcShwKXMob3J0KWogRnQoaXMpZihhbilmKGluKW0odGVnZXIpaShwKXMob3J0KTYzMCAyMTc1Cit5KG4pbSh1bSltKGIpcyhlciloKG9yKWgoc2VydmljZSloKG5hbWUsKWooQmFzaCljKGF0dGVtcHRzKWgodG8pZyhvcClzCisoZW4pZihhKWcoVENQKWcoY29ubmVjdGlvbiloKHRvKWcodGhlKTYzMCAyMjg1IHkoY29ycmVzcClzKG9uZGluZykyOQorYihzbylzKGMpbShrKW0oZXQuKTE1MCAyNDMzIHkgRnMoL2Rldi91ZHAvKXAgRmkoaG9zdCkxMQorYiBGcygvKXAgRmkocG9ydCk2MzAgMjU0MiB5IEZ0KElmKTQxIGIgRnEoaG9zdClpIEZ0KGlzKWYoYSlnKHYpLTUKK2IoYWxpZCk0MSBiKGhvc3RuYW1lKWgob3IpZihJbiltKHRlcm5ldCloKGFkZHJlc3MsKWkoYW5kKWMKK0ZxKHApcyhvcnQpaiBGdChpcylmKGFuKWYoaW4pbSh0ZWdlcilpKHApcyhvcnQpNjMwIDI2NTIKK3kobiltKHVtKW0oYilzKGVyKWcob3IpaShzZXJ2aWNlKWcobmFtZSwpayhCYXNoKWMoYXR0ZW1wdHMpZyh0byloKG9wKXMKKyhlbillKGEpaChVRFApZyhjb25uZWN0aW9uKWcodG8paCh0aGUpNjMwIDI3NjIgeShjb3JyZXNwKXMob25kaW5nKTI5CitiKHNvKXMoYyltKGspbShldC4pMjc1IDI5MTAgeShBKWgoZmFpbHVyZSloKHRvKWcob3ApcyhlbillKG9yKWkoY3JlYXRlKQoraChhKWUoXDAxNGxlKWgoY2F1c2VzKWcodGhlKWYocmVkaXJlY3Rpb24paCh0bylnKGZhaWwuKTI3NQorMzAzOSB5KFJlZGlyZWN0aW9ucylmKHVzaW5nKWUoXDAxNGxlKWkoZGVzY3JpcHRvcnMpZihncmVhdGVyKWgodGhhbilmCisoOSloKHNob3VsZCllKGIpcyhlKWgodXNlZClmKHdpdGgpaChjYXJlLCloKGFzKWcodGhleSlmKG1hKW0oeSkxNTAKKzMxNDggeShjb25cMDE1aWN0KWkod2l0aClmKFwwMTRsZSloKGRlc2NyaXB0b3JzKWYodGhlKWcoc2hlbGwpaCh1c2VzKWYKKyhpbiltKHRlcm5hbGx5KS04IGIoLikxNTAgMzMzNyB5IEZqKDMuNi4xKTYzIGIoUmVkaXJlY3RpbmcpNDAKK2IoSW5wdXQpMTUwIDM0ODMgeSBGdChSZWRpcmVjdGlvbikzNSBiKG9mKWYoaW5wdXQpZihjYXVzZXMpaSh0aGUpZgorKFwwMTRsZSlnKHdob3NlKWcobmFtZSlnKHJlc3VsdHMpZyhmcm9tKWcodGhlKWcoZXhwYW5zaW9uKWcob2YpZworRnEodyltKG9yZClrIEZ0KHRvKWQoYilzKGUpMTUwIDM1OTMgeShvcClzKGVuZWQpZChmb3IpZyhyZWFkaW5nKWcob24pZworKFwwMTRsZSloKGRlc2NyaXB0b3IpZiBGcyhuKXAgRnQoLCloKG9yKWYodGhlKWcoc3RhbmRhcmQpZyhpbnB1dClmCisoXChcMDE0bGUpaShkZXNjcmlwdG9yKWYoMFwpKWgoaWYpZiBGcyhuKWcgRnQoaXMpaChub3QpMTUwCiszNzAzIHkoc3ApcyhlY2lcMDE0ZWQuKTI3NSAzODMyIHkoVGhlKWMoZ2VuZXJhbClqKGZvcm1hdCllKGZvciloCisocmVkaXJlY3RpbmcpZyhpbnB1dCllKGlzOikzOTAgMzk2MSB5IEZzKFspcCBGaShuKTExCitiIEZzKF08KXAgRmkod29yZCkxNTAgNDE0OSB5IEZqKDMuNi4yKTYzIGIoUmVkaXJlY3RpbmcpNDAKK2IoT3V0cHV0KTE1MCA0Mjk2IHkgRnQoUmVkaXJlY3Rpb24pMzEgYihvZilnKG91dHB1dClmKGNhdXNlcyloKHRoZSlmCisoXDAxNGxlKWgod2hvc2UpZihuYW1lKWcocmVzdWx0cyloKGZyb20pZSh0aGUpaShleHBhbnNpb24pZihvZiloCitGcSh3KW0ob3JkKWkgRnQodG8pZihiKXMoZSkxNTAgNDQwNSB5KG9wKXMoZW5lZClkKGZvcilnKHdyaXRpbmcpZyhvbilnCisoXDAxNGxlKWgoZGVzY3JpcHRvcilmIEZxKG4pcCBGdCgsKWcob3IpZyh0aGUpaChzdGFuZGFyZCllKG91dHB1dCloCisoXChcMDE0bGUpaChkZXNjcmlwdG9yKWYoMVwpKWgoaWYpZyBGcShuKWUgRnQoaXMpaShub3QpMTUwCis0NTE1IHkoc3ApcyhlY2lcMDE0ZWQuKTQwIGIoSWYpMzAgYih0aGUpZyhcMDE0bGUpaChkbylzKGVzKWYobm90KWgKKyhleGlzdClnKGl0KWcoaXMpZihjcmVhdGVkOylpKGlmKWUoaXQpaChkbylzKGVzKWYoZXhpc3QpaChpdClnKGlzKWcKKyh0cnVuY2F0ZWQpZih0byloKHplcm8pZyhzaXplLikyNzUgNDY0NCB5KFRoZSllKGdlbmVyYWwpaihmb3JtYXQpZShmb3IpCitoKHJlZGlyZWN0aW5nKWcob3V0cHV0KWYoaXM6KTM5MCA0NzczIHkgRnMoWylwIEZpKG4pMTEKK2IgRnMoXT5bfF0pcCBGaSh3b3JkKTI3NSA0OTAyIHkgRnQoSWYpMzAgYih0aGUpaChyZWRpcmVjdGlvbilnKG9wKXMKKyhlcmF0b3IpZyhpcylnKGApcCBGcyg+KXAgRnQoJywpZyhhbmQpZih0aGUpaCBGcyhub2Nsb2JiZXIpZAorRnQob3B0aW9uKWoodG8pZyh0aGUpZyBGcyhzZXQpZiBGdChidWlsdGluKWcoaGFzKWgoYilzKGVlbikxNTAKKzUwMTEgeShlbmFibGVkLClpKHRoZSlmKHJlZGlyZWN0aW9uKWgod2lsbClmKGZhaWwpaChpZilmKHRoZSlnKFwwMTRsZSlnCisod2hvc2UpZyhuYW1lKWcocmVzdWx0cylnKGZyb20pZyh0aGUpZyhleHBhbnNpb24pZyhvZilnCitGcSh3KW0ob3JkKTE1MCA1MTIxIHkgRnQoZXhpc3RzKWYoYW5kKWYoaXMpZyhhKWgocmVndWxhcilnKFwwMTRsZS4pNDEKK2IoSWYpMzAgYih0aGUpaChyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9yKWcoaXMpZihgKXAKK0ZzKD58KXAgRnQoJywpaChvcilmKHRoZSloKHJlZGlyZWN0aW9uKWcob3ApcyhlcmF0b3IpZyhpcykxNTAKKzUyMzAgeShgKXAgRnMoPilwIEZ0KCcpMzYgYihhbmQpZih0aGUpZyBGcyhub2Nsb2JiZXIpZQorRnQob3B0aW9uKWooaXMpZyhub3QpZyhlbmFibGVkLCloKHRoZSllKHJlZGlyZWN0aW9uKWgoaXMpZyhhdHRlbXB0ZWQpZworKGV2KW0oZW4paChpZillKHRoZSloKFwwMTRsZSkxNTAgNTM0MCB5KG5hbWVkKTMwIGIoYiltKHkpZworRnEodyltKG9yZClrIEZ0KGV4aXN0cy4pcCBlb3AgZW5kCiAlJVBhZ2U6IDI5IDM1CiBUZVhEaWN0IGJlZ2luIDI5IDM0IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQogYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDI5KTE1MCAyOTkKLXkoZm9yKTM4IGIob3V0cHV0LClpKGEpZShyZWRpcmVjdGlvbiloKGVycm9yKWYobylzKGNjdXJzLik2MwotYihBcykzOCBiKGEpaChzcClzKGVjaWFsKWYoY2FzZSwpayhpZiljIEZxKG4pZiBGdChpcyloKG9taXR0ZWQsKWsoYW5kKQotMzcgYiBGcSh3KW0ob3JkKWsgRnQoZG8pcyhlcykxNTAgNDA4IHkobm90KTI4IGIoZXhwYW5kKWYodG8paShvbmUpZihvcikKLWYobW9yZSloKGRpZ2l0cywpaSh0aGUpZShzdGFuZGFyZCllKG91dHB1dClpKGFuZClmKHN0YW5kYXJkKWcoZXJyb3IpZwotKGFyZSlpKHJlZGlyZWN0ZWQpZihhcykxNTAgNTE4IHkoZGVzY3JpYilzKGVkKWgocHJldmlvdXNseSktOAotYiguKTE1MCA3MTcgeSBGaigzLjYuOSk2MyBiKE1vKW0odmluZyk0MSBiKEZpbGUpaChEZXNjcmlwdG9ycykxNTAKLTg2NCB5IEZ0KFRoZSkzMCBiKHJlZGlyZWN0aW9uKWgob3ApcyhlcmF0b3IpMzkwIDk5OSB5Ci1GcyhbKXAgRmkobikxMSBiIEZzKF08JilwIEZpKGRpZ2l0KWcgRnMoLSkxNTAgMTEzMyB5Ci1GdChtbyltKHYpbShlcykzMyBiKHRoZSlmKFwwMTRsZSlnKGRlc2NyaXB0b3IpZiBGcShkaWdpdClrCi1GdCh0bylkKFwwMTRsZSlnKGRlc2NyaXB0b3IpZyBGcShuKXAgRnQoLClmKG9yKWgodGhlKWcoc3RhbmRhcmQpZgotKGlucHV0KWYoXChcMDE0bGUpaihkZXNjcmlwdG9yKWUoMFwpKTE1MCAxMjQzIHkoaWYpZgotRnEobilnIEZ0KGlzKWgobm90KWYoc3ApcyhlY2lcMDE0ZWQuKTQwIGIgRnEoZGlnaXQpMzMKLWIgRnQoaXMpZShjbG9zZWQpZyhhZnRlcilnKGIpcyhlaW5nKWYoZHVwbGljYXRlZClnKHRvKWgKLUZxKG4pcCBGdCguKTI3NSAxMzc3IHkoU2ltaWxhcmx5KS04IGIoLCkzMSBiKHRoZSlmKHJlZGlyZWN0aW9uKWgob3ApcwotKGVyYXRvcikzOTAgMTUxMiB5IEZzKFspcCBGaShuKTExIGIgRnMoXT4mKXAgRmkoZGlnaXQpZwotRnMoLSkxNTAgMTY0NiB5IEZ0KG1vKW0odiltKGVzKTI5IGIodGhlKWcoXDAxNGxlKWYoZGVzY3JpcHRvcilmCi1GcShkaWdpdClrIEZ0KHRvKWUoXDAxNGxlKWYoZGVzY3JpcHRvcilnIEZxKG4pcCBGdCgsKWcob3IpZyh0aGUpZwotKHN0YW5kYXJkKWYob3V0cHV0KWgoXChcMDE0bGUpZyhkZXNjcmlwdG9yKWcoMVwpKTE1MAotMTc1NiB5KGlmKWkgRnEobilnIEZ0KGlzKWgobm90KWYoc3ApcyhlY2lcMDE0ZWQuKTE1MAotMTk1NSB5IEZqKDMuNi4xMCk2MyBiKE9wKXMoZW5pbmcpNDIgYihGaWxlKWcoRGVzY3JpcHRvcnMpZyhmb3IpZwotKFJlYWRpbmcpZShhbmQpaChXKS0xMCBiKHJpdGluZykxNTAgMjEwMiB5IEZ0KFRoZSkzMAotYihyZWRpcmVjdGlvbiloKG9wKXMoZXJhdG9yKTM5MCAyMjM2IHkgRnMoWylwIEZpKG4pMTEKLWIgRnMoXTw+KXAgRmkod29yZCkxNTAgMjM3MSB5IEZ0KGNhdXNlcykzOSBiKHRoZSlnKFwwMTRsZSlnKHdob3NlKWcKLShuYW1lKWcoaXMpZyh0aGUpZyhleHBhbnNpb24pZyhvZilnIEZxKHcpbShvcmQpaiBGdCh0bylkKGIpcyhlKWcob3ApcwotKGVuZWQpZihmb3IpZyhiKXMob3RoKWgocmVhZGluZylnKGFuZCkxNTAgMjQ4MCB5KHdyaXRpbmcpMzMKLWIob24pZihcMDE0bGUpaChkZXNjcmlwdG9yKWYgRnEobilwIEZ0KCwpaChvcilnKG9uKWYoXDAxNGxlKWgKLShkZXNjcmlwdG9yKWcoMClnKGlmKWYgRnEobilnIEZ0KGlzKWgobm90KWcoc3ApcyhlY2lcMDE0ZWQuKTQ3Ci1iKElmKTMyIGIodGhlKWgoXDAxNGxlKWYoZG8pcyhlcyloKG5vdCkxNTAgMjU5MCB5KGV4aXN0LCllKGl0KWcoaXMpZwotKGNyZWF0ZWQuKTE1MCAyODIyIHkgRnIoMy43KTY4IGIoRXhlY3V0aW5nKTQ2IGIoQ29tbWFuZHMpMTUwCi0zMDQ2IHkgRmooMy43LjEpNjMgYihTaW1wbGUpNDEgYihDb21tYW5kKWgoRXhwYW5zaW9uKTE1MAotMzE5MyB5IEZ0KFdoZW4pMzMgYihhKWcoc2ltcGxlKWcoY29tbWFuZClnKGlzKWcoZXhlY3V0ZWQsKWgodGhlKWcKLShzaGVsbClmKHApcyhlcmZvcm1zKWUodGhlKWkoZm9sbG8pbSh3aW5nKWkoZXhwYW5zaW9ucywpZShhc3NpZ24tKTE1MAotMzMwMyB5KG1lbiltKHRzLCllKGFuZClmKHJlZGlyZWN0aW9ucywpaChmcm9tKWYobGVmdCloKHRvKWcocmlnaCltKHQuKQotMTk5IDM0MzcgeSgxLik2MSBiKFRoZSkzOCBiKHcpbShvcmRzKWYodGhhdClpKHRoZSlnKHBhcnNlcillKGhhcyloCi0obWFyayltKGVkKWcoYXMpaCh2KS01IGIoYXJpYWJsZSkzOSBiKGFzc2lnbm1lbiltKHRzKWcoXCh0aG9zZSlnCi0ocHJlY2VkaW5nKWYodGhlKTMzMCAzNTQ3IHkoY29tbWFuZCkzMCBiKG5hbWVcKSloKGFuZClmKHJlZGlyZWN0aW9ucyloCi0oYXJlKWYoc2EpbSh2KW0oZWQpaShmb3IpZShsYXRlciloKHBybylzKGNlc3NpbmcuKTE5OQotMzY4MSB5KDIuKTYxIGIoVGhlKTM5IGIodyltKG9yZHMpZyh0aGF0KWkoYXJlKWYobm90KWcodiktNQotYihhcmlhYmxlKTQwIGIoYXNzaWdubWVuKW0odHMpaChvcillKHJlZGlyZWN0aW9ucylpKGFyZSlmKGV4cGFuZGVkKWYKLShcKHNlZSloKFNlYy0pMzMwIDM3OTEgeSh0aW9uKWQoMy41KWkoW1NoZWxsKWUoRXhwYW5zaW9uc10sKWgocGFnZSlnCi0oMTdcKS4pNjEgYihJZikzNyBiKGFuKW0oeSlnKHcpbShvcmRzKWYocmVtYWluKWgoYWZ0ZXIpaChleHBhbnNpb24sKWgKLSh0aGUpZShcMDE0cnN0KTMzMCAzOTAxIHkodyltKG9yZCkzMSBiKGlzKWcodGFrKW0oZW4paCh0bylnKGIpcyhlKWYKLSh0aGUpZyhuYW1lKWgob2YpZih0aGUpaChjb21tYW5kKWYoYW5kKWYodGhlKWkocmVtYWluaW5nKWYodyltKG9yZHMpZwotKGFyZSlnKHRoZSloKGFyZ3UtKTMzMCA0MDEwIHkobWVuKW0odHMuKTE5OSA0MTQ1IHkoMy4pNjEKLWIoUmVkaXJlY3Rpb25zKTI1IGIoYXJlKWYocClzKGVyZm9ybWVkKWYoYXMpaChkZXNjcmliKXMoZWQpZihhYilzKG8pbQotKHYpbShlKWkoXChzZWUpZyhTZWN0aW9uKWcoMy42KWcoW1JlZGlyZWN0aW9uc10sKWkocGFnZSlkKDI2XCkuKTE5OQotNDI3OSB5KDQuKTYxIGIoVGhlKTI1IGIodGV4dCloKGFmdGVyKWYodGhlKWcoYClwIEZzKD0pcAotRnQoJyloKGluKWUoZWFjKW0oaClqKHYpLTUgYihhcmlhYmxlKTI1IGIoYXNzaWdubWVuKW0odCloKHVuZGVyZ28pcyhlcykKLWUodGlsZGUpaShleHBhbnNpb24sKWcocGFyYW1ldGVyKTMzMCA0Mzg5IHkoZXhwYW5zaW9uLCk0OQotYihjb21tYW5kKWQoc3Vic3RpdHV0aW9uLClqKGFyaXRobWV0aWMpZChleHBhbnNpb24sKWsoYW5kKTQ1Ci1iKHF1b3RlKWgocmVtbyltKHYpLTUgYihhbCk0NiBiKGIpcyhlZm9yZSkzMzAgNDQ5OCB5KGIpcyhlaW5nKTMwCi1iKGFzc2lnbmVkKWgodG8pZyh0aGUpZih2KS01IGIoYXJpYWJsZS4pMjc1IDQ2NTggeShJZikzMgotYihubylpKGNvbW1hbmQpZihuYW1lKWcocmVzdWx0cywpaCh0aGUpZyh2KS01IGIoYXJpYWJsZSkzNAotYihhc3NpZ25tZW4pbSh0cylnKGFcMDEzZWN0KWgodGhlKWYoY3VycmVuKW0odClmKHNoZWxsKWgoZW4pbSh2aXJvbi0pCi0xNTAgNDc2NyB5KG1lbiltKHQuKTM5IGIoT3RoZXJ3aXNlLCkyNyBiKHRoZSllKHYpLTUgYihhcmlhYmxlcykyNgotYihhcmUpZyhhZGRlZClmKHRvKWgodGhlKWYoZW4pbSh2aXJvbm1lbiltKHQpaChvZilnKHRoZSlmKGV4ZWN1dGVkKWgKLShjb21tYW5kKWcoYW5kKTE1MCA0ODc3IHkoZG8pMzUgYihub3QpZihhXDAxM2VjdClqKHRoZSlkKGN1cnJlbiltKHQpaAotKHNoZWxsKWcoZW4pbSh2aXJvbm1lbiltKHQuKTU0IGIoSWYpMzQgYihhbiltKHkpaChvZilnKHRoZSlmKGFzc2lnbm1lbikKLW0odHMpaShhdHRlbXB0cylmKHRvKWgoYXNzaWduKTE1MCA0OTg2IHkoYSlqKHYpLTUgYihhbHVlKTM5Ci1iKHRvKWcoYSlnKHJlYWRvbmx5KWYodiktNSBiKGFyaWFibGUsKTQyIGIoYW4pYyhlcnJvcilnKG8pcyhjY3VycywpagotKGFuZCljKHRoZSlpKGNvbW1hbmQpZihleGl0cyloKHdpdGgpZyhhKWYobm9uLXplcm8pMTUwCi01MDk2IHkoc3RhdHVzLikyNzUgNTIzMCB5KElmKTMzIGIobm8pZyhjb21tYW5kKWcobmFtZSloKHJlc3VsdHMsKWcKLShyZWRpcmVjdGlvbnMpZyhhcmUpZyhwKXMoZXJmb3JtZWQsKWYoYnV0KWcoZG8paChub3QpZihhXDAxM2VjdClpKHRoZSlmCi0oY3VycmVuKW0odCkxNTAgNTM0MCB5KHNoZWxsKWQoZW4pbSh2aXJvbm1lbiltKHQuKTQxCi1iKEEpMzAgYihyZWRpcmVjdGlvbiloKGVycm9yKWYoY2F1c2VzKWgodGhlKWcoY29tbWFuZClmKHRvKWgoZXhpdClnCi0od2l0aClmKGEpaChub24temVybylnKHN0YXR1cy4pcCBlb3AgZW5kCit5IEZqKDMuNi4zKTYzIGIoQXBwKXMoZW5kaW5nKTQyIGIoUmVkaXJlY3RlZCllKE91dHB1dCkxNTAKKzQ0NiB5IEZ0KFJlZGlyZWN0aW9uKTIzIGIob2YpZShvdXRwdXQpaChpbilmKHRoaXMpaChmYXNoaW9uKWYoY2F1c2VzKWgKKyh0aGUpZyhcMDE0bGUpZyh3aG9zZSlmKG5hbWUpaChyZXN1bHRzKWYoZnJvbSlnKHRoZSloKGV4cGFuc2lvbilnKG9mKQorMTUwIDU1NSB5IEZxKHcpbShvcmQpMjggYiBGdCh0byllKGIpcyhlKWUob3ApcyhlbmVkKWcoZm9yKWgoYXBwKXMKKyhlbmRpbmcpZShvbilpKFwwMTRsZSlnKGRlc2NyaXB0b3IpZyBGcShuKXAgRnQoLClnKG9yKWcodGhlKWcoc3RhbmRhcmQpCitmKG91dHB1dCloKFwoXDAxNGxlKWcoZGVzY3JpcHRvcikxNTAgNjY1IHkoMVwpKTMxIGIoaWYpZgorRnEobilnIEZ0KGlzKWgobm90KWYoc3ApcyhlY2lcMDE0ZWQuKTQwIGIoSWYpMzAgYih0aGUpaChcMDE0bGUpZihkbylzCisoZXMpZyhub3QpaChleGlzdClnKGl0KWcoaXMpZihjcmVhdGVkLikyNzUgODAzIHkoVGhlKWYoZ2VuZXJhbClqCisoZm9ybWF0KWUoZm9yKWgoYXBwKXMoZW5kaW5nKWUob3V0cHV0KWgoaXM6KTM5MCA5NDAgeQorRnMoWylwIEZpKG4pMTEgYiBGcyhdPj4pcCBGaSh3b3JkKTE1MCAxMTQzIHkgRmooMy42LjQpNjMKK2IoUmVkaXJlY3RpbmcpNDAgYihTdGFuZGFyZCloKE91dHB1dClnKGFuZClnKFN0YW5kYXJkKWcoRXJyb3IpMTUwCisxMjkwIHkgRnQoVGhpcykzMyBiKGNvbnN0cnVjdClpKGFsbG8pbSh3cylnKGIpcyhvdGgpZih0aGUpZyhzdGFuZGFyZClnCisob3V0cHV0KWYoXChcMDE0bGUpaShkZXNjcmlwdG9yKWYoMVwpKWgoYW5kKWYodGhlKWcoc3RhbmRhcmQpZihlcnJvcikKKzE1MCAxMzk5IHkob3V0cHV0KWQoXChcMDE0bGUpaChkZXNjcmlwdG9yKWYoMlwpKWgodG8pZyhiKXMoZSlmCisocmVkaXJlY3RlZCloKHRvKWcodGhlKWYoXDAxNGxlKWgod2hvc2UpZihuYW1lKWgoaXMpZih0aGUpZyhleHBhbnNpb24paAorKG9mKWYgRnEodyltKG9yZCl0IEZ0KC4pMjc1IDE1MzcgeShUaGVyZSlmKGFyZSlpKHQpbSh3KW0obyloKGZvcm1hdHMpZQorKGZvciloKHJlZGlyZWN0aW5nKWcoc3RhbmRhcmQpZShvdXRwdXQpaChhbmQpZyhzdGFuZGFyZClmKGVycm9yOikzOTAKKzE2NzUgeSBGcygmPilwIEZpKHdvcmQpMTUwIDE4MTIgeSBGdChhbmQpMzkwIDE5NTAgeSBGcyg+JilwCitGaSh3b3JkKTE1MCAyMDg3IHkgRnQoT2YpaCh0aGUpZyh0KW0odyltKG8paShmb3JtcywpZSh0aGUpaChcMDE0cnN0KWUKKyhpcylpKHByZWZlcnJlZC4pMzkgYihUaGlzKTMwIGIoaXMpZyhzZW1hbiltKHRpY2FsbHkpaihlcXVpdiktNQorYihhbGVuKW0odCkzMiBiKHRvKTM5MCAyMjI1IHkgRnMoPilwIEZpKHdvcmQpNTcgYiBGcygyPiYxKTE1MAorMjQyNyB5IEZqKDMuNi41KTYzIGIoQXBwKXMoZW5kaW5nKTQyIGIoU3RhbmRhcmQpZihPdXRwdXQpZyhhbmQpZworKFN0YW5kYXJkKWcoRXJyb3IpMTUwIDI1NzQgeSBGdChUaGlzKTMzIGIoY29uc3RydWN0KWkoYWxsbyltKHdzKWcoYilzCisob3RoKWYodGhlKWcoc3RhbmRhcmQpZyhvdXRwdXQpZihcKFwwMTRsZSlpKGRlc2NyaXB0b3IpZigxXCkpaChhbmQpZgorKHRoZSlnKHN0YW5kYXJkKWYoZXJyb3IpMTUwIDI2ODQgeShvdXRwdXQpZChcKFwwMTRsZSloKGRlc2NyaXB0b3IpZgorKDJcKSloKHRvKWcoYilzKGUpZihhcHApcyhlbmRlZClmKHRvKWkodGhlKWYoXDAxNGxlKWgod2hvc2UpZihuYW1lKWcKKyhpcyloKHRoZSlmKGV4cGFuc2lvbiloKG9mKWYgRnEodyltKG9yZCl0IEZ0KC4pMjc1IDI4MjIKK3koVGhlKWYoZm9ybWF0KWkoZm9yKWYoYXBwKXMoZW5kaW5nKWYoc3RhbmRhcmQpaChvdXRwdXQpZyhhbmQpZgorKHN0YW5kYXJkKWgoZXJyb3IpZyhpczopMzkwIDI5NTkgeSBGcygmPj4pcCBGaSh3b3JkKTE1MAorMzA5NyB5IEZ0KFRoaXMpZyhpcylnKHNlbWFuKW0odGljYWxseSlqKGVxdWl2KS01IGIoYWxlbiltKHQpMzIKK2IodG8pMzkwIDMyMzUgeSBGcyg+PilwIEZpKHdvcmQpNTcgYiBGcygyPiYxKTE1MCAzNDM3Cit5IEZqKDMuNi42KTYzIGIoSGVyZSk0MSBiKERvKXMoY3VtZW4pbSh0cykxNTAgMzU4NCB5CitGdChUaGlzKWModCltKHlwKXMoZSloKG9mKWYocmVkaXJlY3Rpb24paShpbnN0cnVjdHMpZSh0aGUpaChzaGVsbClmKHRvKQoraShyZWFkKWUoaW5wdXQpZyhmcm9tKWcodGhlKWgoY3VycmVuKW0odClmKHNvdXJjZSloKHVuKW0odGlsKWcoYSkxNTAKKzM2OTQgeShsaW5lKTMxIGIoY29uKW0odGFpbmluZylnKG9ubHkpZyBGcSh3KW0ob3JkKWkKK0Z0KFwod2l0aClkKG5vKWgodHJhaWxpbmcpZyhibGFua3NcKSlmKGlzKWcoc2Vlbi4pNDEKK2IoQWxsKTMxIGIob2YpZih0aGUpaChsaW5lcylmKHJlYWQpZyh1cClmKHRvKWkodGhhdCkxNTAKKzM4MDMgeShwKXMob2luKW0odClmKGFyZSloKHRoZW4pZih1c2VkKWcoYXMpZyh0aGUpaChzdGFuZGFyZClmKGlucHV0KWYKKyhmb3IpaChhKWgoY29tbWFuZC4pMjc1IDM5NDEgeShUaGUpZShmb3JtYXQpaShvZilnKGhlcmUtZG8pcyhjdW1lbiltCisodHMpZihpczopMzkwIDQwNzggeSBGcyg8PFspcCBGcChcMDAwKXAgRnMoXSlwIEZpKHdvcmQpNzcyCis0MTg4IHkoaGVyZS1kb2N1bWVudCkzOTAgNDI5OCB5KGRlbGltaXRlcikyNzUgNDQzNSB5CitGdChObylqKHBhcmFtZXRlciloKGV4cGFuc2lvbiwpZyhjb21tYW5kKWYoc3Vic3RpdHV0aW9uLCloKGFyaXRobWV0aWMpaAorKGV4cGFuc2lvbiwpZihvcilmKFwwMTRsZW5hbWUpZyhleC0pMTUwIDQ1NDUgeShwYW5zaW9uKWgoaXMpaChwKXMKKyhlcmZvcm1lZClmKG9uKWcgRnEodyltKG9yZCl0IEZ0KC4pNTQgYihJZikzNCBiKGFuKW0oeSloKGMpbShoYXJhY3RlcnMpCitpKGluKWQgRnEodyltKG9yZClrIEZ0KGFyZSlkKHF1b3RlZCwpaSh0aGUpZSBGcShkZWxpbWl0ZXIpNDIKK2IgRnQoaXMpMzUgYih0aGUpMTUwIDQ2NTQgeShyZXN1bHQpNDAgYihvZilnKHF1b3RlKWgocmVtbyltKHYpLTUKK2IoYWwpNDIgYihvbillIEZxKHcpbShvcmQpdCBGdCgsKWkoYW5kKWQodGhlKWkobGluZXMpZihpbilnKHRoZSlnCisoaGVyZS1kbylzKGN1bWVuKW0odCloKGFyZSlmKG5vdClnKGV4cGFuZGVkLikxNTAgNDc2NAoreShJZikzMiBiIEZxKHcpbShvcmQpayBGdChpcylkKHVucXVvdGVkLClmKGFsbClpKGxpbmVzKWYob2YpZih0aGUpaAorKGhlcmUtZG8pcyhjdW1lbiltKHQpZyhhcmUpZyhzdWIpNSBiKGplY3RlZCkzMiBiKHRvKWkocGFyYW1ldGVyKWYKKyhleHBhbnNpb24sKTE1MCA0ODc0IHkoY29tbWFuZCkyNSBiKHN1YnN0aXR1dGlvbiwpZyhhbmQpZyhhcml0aG1ldGljKWgKKyhleHBhbnNpb24uKTM5IGIoSW4pMjQgYih0aGUpaChsYXR0ZXIpaChjYXNlLCloKHRoZSllKGMpbShoYXJhY3RlcilpCisoc2VxdWVuY2UpMTUwIDQ5ODMgeSBGcyhcXG5ld2xpbmUpaCBGdChpcylqKGlnbm9yZWQsKWYoYW5kKWcoYClwCitGcyhcXClwIEZ0KCcpaChtKW0odXN0KWYoYilzKGUpZyh1c2VkKWYodG8paShxdW90ZSlnKHRoZSlnKGMpbQorKGhhcmFjdGVycyloKGApcCBGcyhcXClwIEZ0KCcsKWUoYClwIEZzKCQpcCBGdCgnLCloKGFuZClmKGApcAorRnMoYClwIEZ0KCcuKTI3NSA1MTIxIHkoSWYpMjEgYih0aGUpaShyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9yKWcoaXMpZgorKGApcCBGcyg8PC0pcCBGdCgnLClpKHRoZW4pZShhbGwpaChsZWFkaW5nKWcodGFiKWcoYyltKGhhcmFjdGVycyloKGFyZSkKK2Uoc3RyaXBwKXMoZWQpZihmcm9tKWgoaW5wdXQpMTUwIDUyMzAgeShsaW5lcykzMyBiKGFuZCllKHRoZSlpKGxpbmUpZworKGNvbiltKHRhaW5pbmcpaCBGcShkZWxpbWl0ZXIpNyBiIEZ0KC4pNDcgYihUaGlzKTMxIGIoYWxsbyltKHdzKWoKKyhoZXJlLWRvKXMoY3VtZW4pbSh0cylmKHdpdGhpbillKHNoZWxsKWkoc2NyaXB0cylmKHRvKTE1MAorNTM0MCB5KGIpcyhlKWUoaW5kZW4pbSh0ZWQpZyhpbilnKGEpaChuYXR1cmFsKWYoZmFzaGlvbi4pcAorZW9wIGVuZAogJSVQYWdlOiAzMCAzNgogVGVYRGljdCBiZWdpbiAzMCAzNSBib3AgMTUwIC0xMTYgYSBGdCgzMCkyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMjc1IDI5OSB5KElmKTI2IGIodGhlcmUpaShpcylmKGEpaChjb21tYW5kKWYKLShuYW1lKWgobGVmdClnKGFmdGVyKWcoZXhwYW5zaW9uLClnKGV4ZWN1dGlvbiloKHBybylzKGNlZWRzKWUoYXMpZwotKGRlc2NyaWIpcyhlZClmKGIpcyhlbG8pbSh3LikxNTAgNDA4IHkoT3RoZXJ3aXNlLCkzOQotYih0aGUpZShjb21tYW5kKWcoZXhpdHMuKTYyIGIoSWYpMzcgYihvbmUpZyhvZilnKHRoZSloKGV4cGFuc2lvbnMpZgotKGNvbiltKHRhaW5lZCloKGEpZyhjb21tYW5kKWYoc3Vic3RpdHUtKTE1MCA1MTggeSh0aW9uLClpKHRoZSlkKGV4aXQpaAotKHN0YXR1cylnKG9mKWYodGhlKWgoY29tbWFuZClmKGlzKWgodGhlKWYoZXhpdCloKHN0YXR1cylnKG9mKWYodGhlKWgKLShsYXN0KWcoY29tbWFuZClmKHN1YnN0aXR1dGlvbikxNTAgNjI4IHkocClzKGVyZm9ybWVkLik1NQotYihJZikzNSBiKHRoZXJlKWcodyltKGVyZSloKG5vKWcoY29tbWFuZClmKHN1YnN0aXR1dGlvbnMsKWkodGhlKWUKLShjb21tYW5kKWgoZXhpdHMpZyh3aXRoKWYoYSloKHN0YXR1cylnKG9mKTE1MCA3MzcgeSh6ZXJvLikxNTAKLTkyNSB5IEZqKDMuNy4yKTYzIGIoQ29tbWFuZCk0MSBiKFNlYXJjKW0oaClmKGFuZCloKEV4ZWN1dGlvbikxNTAKLTEwNzEgeSBGdChBZnRlcilpKGEpaChjb21tYW5kKWYoaGFzKWcoYilzKGVlbilmKHNwbGl0KWgoaW4pbSh0byloKHcpbQotKG9yZHMsKWooaWYpYyhpdClnKHJlc3VsdHMpZyhpbilnKGEpaChzaW1wbGUpZihjb21tYW5kKWcoYW5kKWYoYW4pMTUwCi0xMTgxIHkob3B0aW9uYWwpMzIgYihsaXN0KWYob2YpZihhcmd1bWVuKW0odHMsKWgodGhlKWcoZm9sbG8pbSh3aW5nKWcKLShhY3Rpb25zKWgoYXJlKWYodGFrKW0oZW4uKTE5OSAxMzEwIHkoMS4pNjEgYihJZikyNCBiKHRoZSlnKGNvbW1hbmQpZwotKG5hbWUpZyhjb24pbSh0YWlucylpKG5vKWUoc2xhc2hlcywpaSh0aGUpZShzaGVsbCloKGF0dGVtcHRzKWcodG8pZyhsbykKLXMoY2F0ZSloKGl0LikzOSBiKElmKTI0IGIodGhlcmUpZyhleGlzdHMpMzMwIDE0MTkgeShhKWgoc2hlbGwpZwotKGZ1bmN0aW9uKWYoYiltKHkpZyh0aGF0KWgobmFtZSwpaCh0aGF0KWYoZnVuY3Rpb24pZihpcyloKGluKW0odiltKG9rKW0KLShlZCloKGFzKWUoZGVzY3JpYilzKGVkKWcoaW4pZyhTZWN0aW9uKWgoMy4zKWgoW1NoZWxsKTMzMAotMTUyOSB5KEYpLTggYih1bmN0aW9uc10sKTMxIGIocGFnZSloKDE0LikxOTkgMTY1NyB5KDIuKTYxCi1iKElmKTQxIGIodGhlKWcobmFtZSloKGRvKXMoZXMpZihub3QpZyhtYXRjKW0oaClpKGEpZShmdW5jdGlvbiwpaih0aGUpZQotKHNoZWxsKWYoc2VhcmMpbShoZXMpaShmb3IpZShpdCloKGluKWYodGhlKWcobGlzdCloKG9mKWcoc2hlbGwpMzMwCi0xNzY3IHkoYnVpbHRpbnMuKWUoSWYpMzAgYihhKWgobWF0YyltKGgpZyhpcylmKGZvdW5kLClnKHRoYXQpaChidWlsdGluKQotZihpcylnKGluKW0odiltKG9rKW0oZWQuKTE5OSAxODk1IHkoMy4pNjEgYihJZik0MCBiKHRoZSlnKG5hbWUpaChpcylmCi0obmVpdGhlciloKGEpZihzaGVsbCloKGZ1bmN0aW9uKWYobm9yKWcoYSlnKGJ1aWx0aW4sKWooYW5kKWQoY29uKW0KLSh0YWlucyloKG5vKWcoc2xhc2hlcywpaShCYXNoKTMzMCAyMDA1IHkoc2VhcmMpbShoZXMpYyhlYWMpbShoKWcKLShlbGVtZW4pbSh0KWcob2YpZyBGcygkUEFUSClkIEZ0KGZvcilpKGEpZyhkaXJlY3RvcnkpaChjb24pbSh0YWluaW5nKWcKLShhbilmKGV4ZWN1dGFibGUpaChcMDE0bGUpZihiKW0oeSlnKHRoYXQpMzMwIDIxMTUgeShuYW1lLik1NgotYihCYXNoKTM2IGIodXNlcylmKGEpaChoYXNoKWUodGFibGUpaih0bylmKHJlbWVtKW0oYilzKGVyKWYodGhlKWgoZnVsbCkKLWYocGF0aG5hbWVzKWcob2YpaChleGVjdXRhYmxlKWgoXDAxNGxlcyllKHRvKTMzMCAyMjI0Ci15KGEpbSh2KW0ob2lkKWUobSltKHVsdGlwbGUpZiBGcyhQQVRIKWYgRnQoc2VhcmMpbShoZXMpaShcKHNlZSlmKHRoZSlnCi0oZGVzY3JpcHRpb24pZyhvZilmIEZzKGhhc2gpZyBGdChpbilnKFNlY3Rpb24paSg0LjEpZihbQm91cm5lKWcoU2hlbGwpCi0zMzAgMjMzNCB5KEJ1aWx0aW5zXSwpMzcgYihwYWdlKWYoMzVcKS4pNTUgYihBKTM1IGIoZnVsbClnKHNlYXJjKW0oaClnCi0ob2YpZyh0aGUpZyhkaXJlY3RvcmllcyloKGluKWYgRnMoJFBBVEgpZSBGdChpcylpKHApcyhlcmZvcm1lZClmKG9ubHkpaAotKGlmKWcodGhlKTMzMCAyNDQzIHkoY29tbWFuZCkyNCBiKGlzKWgobm90KWcoZm91bmQpZShpbilpKHRoZSlnKGhhc2gpZgotKHRhYmxlLikzOSBiKElmKTI1IGIodGhlKWYoc2VhcmMpbShoKWkoaXMpZSh1bnN1Y2Nlc3NmdWwsKWgodGhlKWcKLShzaGVsbClnKHNlYXJjKW0oaGVzKTMzMCAyNTUzIHkoZm9yKWUoYSloKGRlXDAxNG5lZCllKHNoZWxsKWgoZnVuY3Rpb24pCi1oKG5hbWVkKWUgRnMoY29tbWFuZF9ub3RfZm91bmRfaGFuZGxlKXAgRnQoLikzMiBiKElmKTIzCi1iKHRoYXQpaChmdW5jdGlvbilmKGV4aXN0cywpMzMwIDI2NjMgeShpdCkzMiBiKGlzKWYoaW4pbSh2KW0ob2spbShlZClpCi0od2l0aCllKHRoZSloKG9yaWdpbmFsKWcoY29tbWFuZClmKGFuZClnKHRoZSloKG9yaWdpbmFsKWcoY29tbWFuZCdzKWYKLShhcmd1bWVuKW0odHMpaChhcylnKGl0cykzMzAgMjc3MiB5KGFyZ3VtZW4pbSh0cywpaChhbmQpZSh0aGUpaQotKGZ1bmN0aW9uJ3MpZShleGl0KWkoc3RhdHVzKWcoYilzKGVjb21lcylmKHRoZSlnKGV4aXQpaChzdGF0dXMpZihvZiloCi0odGhlKWYoc2hlbGwuKTQ2IGIoSWYpMzEgYih0aGF0KTMzMCAyODgyIHkoZnVuY3Rpb24pZyhpcylnKG5vdClnCi0oZGVcMDE0bmVkLClmKHRoZSlpKHNoZWxsKWYocHJpbiltKHRzKWYoYW4paChlcnJvcilnKG1lc3NhZ2UpaChhbmQpZgotKHJldHVybnMpZShhbilpKGV4aXQpaChzdGF0dXMpZyhvZikzMzAgMjk5MSB5KDEyNy4pMTk5Ci0zMTIwIHkoNC4pNjEgYihJZikzMyBiKHRoZSlnKHNlYXJjKW0oaCloKGlzKWcoc3VjY2Vzc2Z1bCwpZyhvcilmKGlmKWcKLSh0aGUpaChjb21tYW5kKWYobmFtZSlnKGNvbiltKHRhaW5zKWkob25lKWYob3IpZihtb3JlKWcoc2xhc2hlcywpaSh0aGUpCi0zMzAgMzIyOSB5KHNoZWxsKWcoZXhlY3V0ZXMpaCh0aGUpZihuYW1lZClmKHByb2dyYW0pZyhpbiloKGEpZwotKHNlcGFyYXRlKWgoZXhlY3V0aW9uKWYoZW4pbSh2aXJvbm1lbiltKHQuKTU1IGIoQXJndW1lbiltKHQpMzUKLWIoMCkzMzAgMzMzOSB5KGlzKTMwIGIoc2V0KWgodG8paCh0aGUpZShuYW1lKWgoZ2l2KW0oZW4sKWcoYW5kKWYodGhlKWgKLShyZW1haW5pbmcpZihhcmd1bWVuKW0odHMpaCh0bylnKHRoZSlnKGNvbW1hbmQpZihhcmUpaChzZXQpZyh0bylnKHRoZSkKLTMzMCAzNDQ5IHkoYXJndW1lbiltKHRzKWcoc3VwcGxpZWQsKWUoaWYpaChhbiltKHkpLTgKLWIoLikxOTkgMzU3NyB5KDUuKTYxIGIoSWYpMzUgYih0aGlzKWgoZXhlY3V0aW9uKWgoZmFpbHMpZihiKXMoZWNhdXNlKWcKLSh0aGUpZihcMDE0bGUpaChpcylnKG5vdClnKGluKWYoZXhlY3V0YWJsZSlqKGZvcm1hdCwpZihhbmQpZSh0aGUpaAotKFwwMTRsZSlnKGlzKWcobm90KTMzMCAzNjg3IHkoYSlkKGRpcmVjdG9yeSktOCBiKCwpMzQKLWIoaXQpZihpcylnKGFzc3VtZWQpZSh0bylqKGIpcyhlKWQoYSlpIEZxKHNoZWxsKWcoc2NyaXB0KWgKLUZ0KGFuZCllKHRoZSloKHNoZWxsKWYoZXhlY3V0ZXMpaShpdClmKGFzKWcoZGVzY3JpYilzKGVkKWUoaW4pMzMwCi0zNzk2IHkoU2VjdGlvbilnKDMuOCloKFtTaGVsbCllKFNjcmlwdHNdLClnKHBhZ2UpaSgzMy4pMTk5Ci0zOTI1IHkoNi4pNjEgYihJZikzOCBiKHRoZSloKGNvbW1hbmQpZih3KW0oYXMpaChub3QpZyhiKXMoZWd1billKGFzeW5jKQotbShocm9ub3VzbHkpLTggYigsKTQyIGIodGhlKWMoc2hlbGwpaCh3KW0oYWl0cyloKGZvcillKHRoZSloKGNvbW1hbmQpZgotKHRvKTMzMCA0MDM0IHkoY29tcGxldGUpMzIgYihhbmQpZShjb2xsZWN0cylpKGl0cylmKGV4aXQpZyhzdGF0dXMuKTE1MAotNDIyMiB5IEZqKDMuNy4zKTYzIGIoQ29tbWFuZCk0MSBiKEV4ZWN1dGlvbilmKEVuKW0odmlyb25tZW4pbSh0KTE1MAotNDM2OSB5IEZ0KFRoZSkzMCBiKHNoZWxsKWcoaGFzKWgoYW4pZiBGcShleGVjdXRpb24paChlbiltKHZpcm9ubWVuKW0odCkKLXIgRnQoLCloKHdoaWMpbShoKWUoY29uc2lzdHMpaChvZilmKHRoZSloKGZvbGxvKW0od2luZzopMjI1Ci00NDk3IHkgRnAoXDAxNyk2MCBiIEZ0KG9wKXMoZW4pMzIgYihcMDE0bGVzKWcoaW5oZXJpdGVkKWcoYiltKHkpaCh0aGUpZgotKHNoZWxsKWgoYXQpZyhpbiltKHYpbShvKXMoY2F0aW9uLClqKGFzKWMobW8pcyhkaVwwMTRlZClnKGIpbSh5KWcKLShyZWRpcmVjdGlvbnMpaChzdXBwbGllZCllKHRvKTMzMCA0NjA3IHkodGhlKWcgRnMoZXhlYyllCi1GdChidWlsdGluKTIyNSA0NzM1IHkgRnAoXDAxNyk2MCBiIEZ0KHRoZSkyOCBiKGN1cnJlbiltKHQpZyh3KW0ob3JraW5nKQotaChkaXJlY3RvcnkpZyhhcylmKHNldCloKGIpbSh5KWYgRnMoY2QpcCBGdCgsKWcgRnMocHVzaGQpcAotRnQoLClnKG9yKWcgRnMocG9wZClwIEZ0KCwpZyhvcilnKGluaGVyaXRlZClnKGIpbSh5KWcodGhlKWgoc2hlbGwpZihhdCkKLTMzMCA0ODQ1IHkoaW4pbSh2KW0obylzKGNhdGlvbikyMjUgNDk3MyB5IEZwKFwwMTcpNjAKLWIgRnQodGhlKTMxIGIoXDAxNGxlKWYoY3JlYXRpb24paShtbylzKGRlKWUobWFzaylnKGFzKWgoc2V0KWcoYiltKHkpZgotRnModW1hc2spZiBGdChvciloKGluaGVyaXRlZClnKGZyb20pZyh0aGUpaChzaGVsbCdzKWYocGFyZW4pbSh0KTIyNQotNTEwMiB5IEZwKFwwMTcpNjAgYiBGdChjdXJyZW4pbSh0KTMwIGIodHJhcHMpZyhzZXQpaChiKW0oeSlmCi1Gcyh0cmFwKTIyNSA1MjMwIHkgRnAoXDAxNyk2MCBiIEZ0KHNoZWxsKTMwIGIocGFyYW1ldGVycylmKHRoYXQpaChhcmUpZwotKHNldClnKGIpbSh5KWcodiktNSBiKGFyaWFibGUpMzAgYihhc3NpZ25tZW4pbSh0KWcob3IpZyh3aXRoKWYKLUZzKHNldClmIEZ0KG9yKWkoaW5oZXJpdGVkKWYoZnJvbSlnKHRoZSkzMzAgNTM0MCB5KHNoZWxsJ3MpaShwYXJlbiltKHQpCi1mKGluKWcodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQpcCBlb3AgZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRmooMy42LjcpNjMgYihIZXJlKTQxCitiKFN0cmluZ3MpMTUwIDQ0NiB5IEZ0KEEpMzAgYih2KS01IGIoYXJpYW4pbSh0KTMyIGIob2YpZShoZXJlKWgoZG8pcworKGN1bWVuKW0odHMsKWYodGhlKWcoZm9ybWF0KWgoaXM6KTM5MCA2MDIgeSBGcyg8PDwpNDcKK2IgRmkod29yZCkyNzUgNzU4IHkgRnQoVGhlKTI5IGIgRnEodyltKG9yZCkzNCBiIEZ0KGlzKWMoZXhwYW5kZWQpZyhhbmQpCitnKHN1cHBsaWVkKWYodG8paSh0aGUpZihjb21tYW5kKWgob24pZihpdHMpaChzdGFuZGFyZCllKGlucHV0LikxNTAKKzk3OSB5IEZqKDMuNi44KTYzIGIoRHVwbGljYXRpbmcpNDEgYihGaWxlKWcoRGVzY3JpcHRvcnMpMTUwCisxMTI2IHkgRnQoVGhlKTMwIGIocmVkaXJlY3Rpb24paChvcClzKGVyYXRvcikzOTAgMTI4MgoreSBGcyhbKXAgRmkobikxMSBiIEZzKF08JilwIEZpKHdvcmQpMTUwIDE0MzggeSBGdChpcykzNQorYih1c2VkKWUodG8paihkdXBsaWNhdGUpZihpbnB1dClmKFwwMTRsZSlnKGRlc2NyaXB0b3JzLik1MworYihJZikzNCBiIEZxKHcpbShvcmQpayBGdChleHBhbmRzKWModG8paChvbmUpZyhvcilnKG1vcmUpZyhkaWdpdHMsKWgKKyh0aGUpZihcMDE0bGUpMTUwIDE1NDcgeShkZXNjcmlwdG9yKWUoZGVub3RlZCloKGIpbSh5KWcKK0ZxKG4pZiBGdChpcylnKG1hZGUpaCh0bylnKGIpcyhlKWYoYSloKGNvcCltKHkpZyhvZilnKHRoYXQpZyhcMDE0bGUpZworKGRlc2NyaXB0b3IuKTUwIGIoSWYpMzMgYih0aGUpaChkaWdpdHMpZyhpbilmIEZxKHcpbShvcmQpMTUwCisxNjU3IHkgRnQoZG8pYyhub3QpaChzcClzKGVjaWZ5KWYoYSloKFwwMTRsZSlmKGRlc2NyaXB0b3IpZyhvcClzKGVuKWcKKyhmb3IpZyhpbnB1dCwpZyhhKWgocmVkaXJlY3Rpb24pZyhlcnJvcilmKG8pcyhjY3Vycy4pNDAKK2IoSWYpMjkgYiBGcSh3KW0ob3JkKWogRnQoZXYpLTUgYihhbHVhdGVzKTE1MCAxNzY2IHkodG8pMzEKK2IoYClwIEZzKC0pcCBGdCgnLClnKFwwMTRsZSlnKGRlc2NyaXB0b3IpZyBGcShuKWYgRnQoaXMpZyhjbG9zZWQuKTQzCitiKElmKTMwIGIgRnEobilnIEZ0KGlzKWcobm90KWgoc3ApcyhlY2lcMDE0ZWQsKWYodGhlKWgoc3RhbmRhcmQpZgorKGlucHV0KWcoXChcMDE0bGUpaChkZXNjcmlwdG9yKWYoMFwpKTE1MCAxODc2IHkoaXMpZyh1c2VkLikyNzUKKzIwMzIgeShUaGUpZihvcClzKGVyYXRvcikzOTAgMjE4OCB5IEZzKFspcCBGaShuKTExIGIKK0ZzKF0+JilwIEZpKHdvcmQpMTUwIDIzNDQgeSBGdChpcyk0MCBiKHVzZWQpZyhzaW1pbGFybHkpaCh0bylnCisoZHVwbGljYXRlKWYob3V0cHV0KWcoXDAxNGxlKWgoZGVzY3JpcHRvcnMuKTcwIGIoSWYpNDAKK2IgRnEobilmIEZ0KGlzKWkobm90KWYoc3ApcyhlY2lcMDE0ZWQsKWkodGhlKWYoc3RhbmRhcmQpMTUwCisyNDU0IHkob3V0cHV0KTMwIGIoXChcMDE0bGUpZyhkZXNjcmlwdG9yKWcoMVwpKWgoaXMpZih1c2VkLikzOQorYihJZikzMCBiKHRoZSlnKGRpZ2l0cyloKGluKWUgRnEodyltKG9yZCkzNCBiIEZ0KGRvKTI5CitiKG5vdClpKHNwKXMoZWNpZnkpZShhKWkoXDAxNGxlKWYoZGVzY3JpcHRvcilnKG9wKXMoZW4pMTUwCisyNTYzIHkoZm9yKTM4IGIob3V0cHV0LClpKGEpZShyZWRpcmVjdGlvbiloKGVycm9yKWYobylzKGNjdXJzLik2MworYihBcykzOCBiKGEpaChzcClzKGVjaWFsKWYoY2FzZSwpayhpZiljIEZxKG4pZiBGdChpcyloKG9taXR0ZWQsKWsoYW5kKQorMzcgYiBGcSh3KW0ob3JkKWsgRnQoZG8pcyhlcykxNTAgMjY3MyB5KG5vdCkyOCBiKGV4cGFuZClmKHRvKWkob25lKWYKKyhvcilmKG1vcmUpaChkaWdpdHMsKWkodGhlKWUoc3RhbmRhcmQpZShvdXRwdXQpaShhbmQpZihzdGFuZGFyZClnCisoZXJyb3IpZyhhcmUpaShyZWRpcmVjdGVkKWYoYXMpMTUwIDI3ODMgeShkZXNjcmliKXMoZWQpaChwcmV2aW91c2x5KS04CitiKC4pMTUwIDMwMDMgeSBGaigzLjYuOSk2MyBiKE1vKW0odmluZyk0MSBiKEZpbGUpaChEZXNjcmlwdG9ycykxNTAKKzMxNTAgeSBGdChUaGUpMzAgYihyZWRpcmVjdGlvbiloKG9wKXMoZXJhdG9yKTM5MCAzMzA2Cit5IEZzKFspcCBGaShuKTExIGIgRnMoXTwmKXAgRmkoZGlnaXQpZyBGcygtKTE1MCAzNDYyCit5IEZ0KG1vKW0odiltKGVzKTMzIGIodGhlKWYoXDAxNGxlKWcoZGVzY3JpcHRvcilmIEZxKGRpZ2l0KWsKK0Z0KHRvKWQoXDAxNGxlKWcoZGVzY3JpcHRvcilnIEZxKG4pcCBGdCgsKWYob3IpaCh0aGUpZyhzdGFuZGFyZClmCisoaW5wdXQpZihcKFwwMTRsZSlqKGRlc2NyaXB0b3IpZSgwXCkpMTUwIDM1NzIgeShpZilmCitGcShuKWcgRnQoaXMpaChub3QpZihzcClzKGVjaVwwMTRlZC4pNDAgYiBGcShkaWdpdCkzMworYiBGdChpcyllKGNsb3NlZClnKGFmdGVyKWcoYilzKGVpbmcpZihkdXBsaWNhdGVkKWcodG8paAorRnEobilwIEZ0KC4pMjc1IDM3MjggeShTaW1pbGFybHkpLTggYigsKTMxIGIodGhlKWYocmVkaXJlY3Rpb24paChvcClzCisoZXJhdG9yKTM5MCAzODg0IHkgRnMoWylwIEZpKG4pMTEgYiBGcyhdPiYpcCBGaShkaWdpdClnCitGcygtKTE1MCA0MDQwIHkgRnQobW8pbSh2KW0oZXMpMjkgYih0aGUpZyhcMDE0bGUpZihkZXNjcmlwdG9yKWYKK0ZxKGRpZ2l0KWsgRnQodG8pZShcMDE0bGUpZihkZXNjcmlwdG9yKWcgRnEobilwIEZ0KCwpZyhvcilnKHRoZSlnCisoc3RhbmRhcmQpZihvdXRwdXQpaChcKFwwMTRsZSlnKGRlc2NyaXB0b3IpZygxXCkpMTUwCis0MTUwIHkoaWYpaSBGcShuKWcgRnQoaXMpaChub3QpZihzcClzKGVjaVwwMTRlZC4pMTUwCis0MzcwIHkgRmooMy42LjEwKTYzIGIoT3ApcyhlbmluZyk0MiBiKEZpbGUpZyhEZXNjcmlwdG9ycylnKGZvcilnCisoUmVhZGluZyllKGFuZCloKFcpLTEwIGIocml0aW5nKTE1MCA0NTE3IHkgRnQoVGhlKTMwCitiKHJlZGlyZWN0aW9uKWgob3ApcyhlcmF0b3IpMzkwIDQ2NzMgeSBGcyhbKXAgRmkobikxMQorYiBGcyhdPD4pcCBGaSh3b3JkKTE1MCA0ODI5IHkgRnQoY2F1c2VzKTM5IGIodGhlKWcoXDAxNGxlKWcod2hvc2UpZworKG5hbWUpZyhpcylnKHRoZSlnKGV4cGFuc2lvbilnKG9mKWcgRnEodyltKG9yZClqIEZ0KHRvKWQoYilzKGUpZyhvcClzCisoZW5lZClmKGZvcilnKGIpcyhvdGgpaChyZWFkaW5nKWcoYW5kKTE1MCA0OTM5IHkod3JpdGluZykzMworYihvbilmKFwwMTRsZSloKGRlc2NyaXB0b3IpZiBGcShuKXAgRnQoLCloKG9yKWcob24pZihcMDE0bGUpaAorKGRlc2NyaXB0b3IpZygwKWcoaWYpZiBGcShuKWcgRnQoaXMpaChub3QpZyhzcClzKGVjaVwwMTRlZC4pNDcKK2IoSWYpMzIgYih0aGUpaChcMDE0bGUpZihkbylzKGVzKWgobm90KTE1MCA1MDQ5IHkoZXhpc3QsKWUoaXQpZyhpcylnCisoY3JlYXRlZC4pMTUwIDUzMTMgeSBGcigzLjcpNjggYihFeGVjdXRpbmcpNDYgYihDb21tYW5kcylwCitlb3AgZW5kCiAlJVBhZ2U6IDMxIDM3CiBUZVhEaWN0IGJlZ2luIDMxIDM2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQotYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDMxKTIyNSAyOTkKLXkgRnAoXDAxNyk2MCBiIEZ0KHNoZWxsKTQ0IGIoZnVuY3Rpb25zKWYoZGVcMDE0bmVkKWYoZHVyaW5nKWgKLShleGVjdXRpb24paShvcillKGluaGVyaXRlZCloKGZyb20pZih0aGUpaChzaGVsbCdzKWcocGFyZW4pbSh0KWYoaW4paAotKHRoZSkzMzAgNDA4IHkoZW4pbSh2aXJvbm1lbiltKHQpMjI1IDU0MyB5IEZwKFwwMTcpNjAKLWIgRnQob3B0aW9ucykzMyBiKGVuYWJsZWQpZyhhdCloKGluKW0odiltKG8pcyhjYXRpb24paChcKGVpdGhlcilmKGIpbQotKHkpZihkZWZhdWx0KWcob3IpZyh3aXRoKWcoY29tbWFuZC1saW5lKWcoYXJndW1lbiltKHRzXCkpaChvcikzMzAKLTY1MiB5KGIpbSh5KWMgRnMoc2V0KTIyNSA3ODcgeSBGcChcMDE3KTYwIGIgRnQob3B0aW9ucykzMQotYihlbmFibGVkKWYoYiltKHkpZyBGcyhzaG9wdClmIEZ0KFwoc2VlKWooU2VjdGlvbilmKDQuMy4yKWgoW1RoZSllCi0oU2hvcHQpZyhCdWlsdGluXSwpaChwYWdlKWcoNTVcKSkyMjUgOTIxIHkgRnAoXDAxNyk2MAotYiBGdChzaGVsbCkzMSBiKGFsaWFzZXMpZyhkZVwwMTRuZWQpZih3aXRoKWcgRnMoYWxpYXMpZgotRnQoXChzZWUpaShTZWN0aW9uKWcoNi42KWgoW0FsaWFzZXNdLClnKHBhZ2UpZig3OVwpKTIyNQotMTA1NiB5IEZwKFwwMTcpNjAgYiBGdCh2KS01IGIoYXJpb3VzKTUwIGIocHJvKXMoY2VzcylmCi1GbChpZClwIEZ0KHMsKTU1IGIoaW5jbHVkaW5nKTQ5IGIodGhvc2UpaShvZillKGJhYyltKGtncm91bmQpaChqb2JzKWYKLShcKHNlZSlpKFNlY3Rpb24pZygzLjIuMylnKFtMaXN0c10sKTMzMCAxMTY1IHkocGFnZSkzMQotYig4XCksKWcodGhlKWcodiktNSBiKGFsdWUpMzEgYihvZilmIEZzKCQkKXAgRnQoLClnKGFuZClnKHRoZSloKHYpLTUKLWIoYWx1ZSkzMSBiKG9mKWYgRnMoJFBQSUQpMjc1IDEzMjQgeSBGdChXaGVuKWsoYSlnKHNpbXBsZSloKGNvbW1hbmQpZgotKG90aGVyKWcodGhhbilnKGEpaChidWlsdGluKWYob3IpZyhzaGVsbCloKGZ1bmN0aW9uKWYoaXMpZyh0byloKGIpcyhlKWYKLShleGVjdXRlZCwpaShpdClmKGlzKTE1MCAxNDM0IHkoaW4pbSh2KW0ob2spbShlZCkyNSBiKGluKWYoYSlnCi0oc2VwYXJhdGUpaChleGVjdXRpb24pZyhlbiltKHZpcm9ubWVuKW0odClnKHRoYXQpZihjb25zaXN0cylnKG9mKWgodGhlKQotZihmb2xsbyltKHdpbmcuKTQwIGIoVW5sZXNzKTI0IGIob3RoZXJ3aXNlKTE1MCAxNTQzIHkobm90ZWQsKTMxCi1iKHRoZSlmKHYpLTUgYihhbHVlcykzMSBiKGFyZSlnKGluaGVyaXRlZClmKGZyb20pZyh0aGUpZyhzaGVsbC4pMjI1Ci0xNjc4IHkgRnAoXDAxNyk2MCBiIEZ0KHRoZSkzMSBiKHNoZWxsJ3MpaChvcClzKGVuKWUoXDAxNGxlcywpaShwbHVzKWUKLShhbiltKHkpaChtbylzKGRpXDAxNGNhdGlvbnMpaChhbmQpZShhZGRpdGlvbnMpaChzcClzKGVjaVwwMTRlZClnKGIpbQotKHkpZyhyZWRpcmVjdGlvbnMpZyh0bykzMzAgMTc4NyB5KHRoZSlnKGNvbW1hbmQpMjI1IDE5MjIKLXkgRnAoXDAxNyk2MCBiIEZ0KHRoZSkzMSBiKGN1cnJlbiltKHQpZih3KW0ob3JraW5nKWcoZGlyZWN0b3J5KTIyNQotMjA1NiB5IEZwKFwwMTcpNjAgYiBGdCh0aGUpMzEgYihcMDE0bGUpZihjcmVhdGlvbilpKG1vKXMoZGUpZShtYXNrKTIyNQotMjE5MCB5IEZwKFwwMTcpNjAgYiBGdChzaGVsbCkzMiBiKHYpLTUgYihhcmlhYmxlcykzMwotYihhbmQpZShmdW5jdGlvbnMpaChtYXJrKW0oZWQpZyhmb3IpZyhleHApcyhvcnQsKWcoYWxvbmcpaCh3aXRoKWYodiktNQotYihhcmlhYmxlcykzMiBiKGV4cClzKG9ydGVkKWcoZm9yKWcodGhlKTMzMCAyMzAwIHkoY29tbWFuZCwpZShwYXNzZWQpZwotKGluKWcodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQpZyhcKHNlZSlnKFNlY3Rpb24pZygzLjcuNClpKFtFbiltCi0odmlyb25tZW4pbSh0XSwpZShwYWdlKWcoMzFcKSkyMjUgMjQzNCB5IEZwKFwwMTcpNjAgYgotRnQodHJhcHMpMzEgYihjYXVnaCltKHQpaChiKW0oeSlmKHRoZSlnKHNoZWxsKWgoYXJlKWYocmVzZXQpaCh0bylnKHRoZSkKLWYodiktNSBiKGFsdWVzKTMyIGIoaW5oZXJpdGVkKWUoZnJvbSloKHRoZSlnKHNoZWxsJ3MpaChwYXJlbiltKHQsKWcKLShhbmQpMzMwIDI1NDQgeSh0cmFwcyllKGlnbm9yZWQpaChiKW0oeSlmKHRoZSlnKHNoZWxsKWgoYXJlKWcoaWdub3JlZCkKLTI3NSAyNzAzIHkoQSk0MSBiKGNvbW1hbmQpZyhpbiltKHYpbShvayltKGVkKWkoaW4pZSh0aGlzKWgoc2VwYXJhdGUpZwotKGVuKW0odmlyb25tZW4pbSh0KWcoY2Fubm90KWcoYVwwMTNlY3QpaCh0aGUpZihzaGVsbCdzKWcoZXhlY3V0aW9uKTE1MAotMjgxMyB5KGVuKW0odmlyb25tZW4pbSh0LikyNzUgMjk0NyB5KENvbW1hbmQpMzUgYihzdWJzdGl0dXRpb24sKWoKLShjb21tYW5kcyllKGdyb3VwKXMoZWQpZih3aXRoKWkocGFyZW4pbSh0aGVzZXMsKWgoYW5kKWUoYXN5bmMpbQotKGhyb25vdXMpZyhjb20tKTE1MCAzMDU3IHkobWFuZHMpYyhhcmUpaChpbiltKHYpbShvayltKGVkKWkoaW4pZChhKWkKLShzdWJzaGVsbCllKGVuKW0odmlyb25tZW4pbSh0KWgodGhhdCloKGlzKWYoYSlnKGR1cGxpY2F0ZSloKG9mKWYodGhlKWcKLShzaGVsbClnKGVuKW0odmlyb25tZW4pbSh0LCkxNTAgMzE2NiB5KGV4Y2VwdClpKHRoYXQpZyh0cmFwcylmKGNhdWdoKW0KLSh0KWgoYiltKHkpZih0aGUpaChzaGVsbClmKGFyZSlnKHJlc2V0KWgodG8pZyh0aGUpZih2KS01Ci1iKGFsdWVzKTM1IGIodGhhdClnKHRoZSlmKHNoZWxsKWgoaW5oZXJpdGVkKWUoZnJvbSkxNTAKLTMyNzYgeShpdHMpZyhwYXJlbiltKHQpZihhdCloKGluKW0odiltKG8pcyhjYXRpb24uKTQ5Ci1iKEJ1aWx0aW4pMzIgYihjb21tYW5kcylnKHRoYXQpaChhcmUpZyhpbiltKHYpbShvayltKGVkKWgoYXMpZShwYXJ0KWcKLShvZiloKGEpZihwaXApcyhlbGluZSlnKGFyZSloKGFsc28pMTUwIDMzODUgeShleGVjdXRlZCk0MQotYihpbilmKGEpaChzdWJzaGVsbCllKGVuKW0odmlyb25tZW4pbSh0Lik3MiBiKENoYW5nZXMpNDAKLWIobWFkZSlnKHRvKWgodGhlKWcoc3Vic2hlbGwpZShlbiltKHZpcm9ubWVuKW0odClpKGNhbm5vdCkxNTAKLTM0OTUgeShhXDAxM2VjdCkzMiBiKHRoZSlmKHNoZWxsJ3MpZihleGVjdXRpb24paShlbiltKHZpcm9ubWVuKW0odC4pMjc1Ci0zNjI5IHkoU3Vic2hlbGxzKTI0IGIoc3BhKW0od25lZCloKHRvKWkoZXhlY3V0ZSlnKGNvbW1hbmQpZgotKHN1YnN0aXR1dGlvbnMpZyhpbmhlcml0KWcodGhlKWcodiktNSBiKGFsdWUpMjYgYihvZilnKHRoZSloKGApcAotRnMoLWUpcCBGdCgnKWUob3B0aW9uKTE1MCAzNzM5IHkoZnJvbSkyMCBiKHRoZSloKHBhcmVuKW0odClnKHNoZWxsLikzNwotYihXaGVuKTIxIGIobm90KWYoaW4paCBGbChwb3NpeClmIEZ0KG1vKXMoZGUsKWkoQmFzaClmKGNsZWFycylnKHRoZSlnCi0oYClwIEZzKC1lKXAgRnQoJylmKG9wdGlvbiloKGluKWcoc3VjKW0oaClmKHN1YnNoZWxscy4pMjc1Ci0zODczIHkoSWYpMzggYihhKWgoY29tbWFuZClmKGlzKWcoZm9sbG8pbSh3KW0oZWQpaihiKW0oeSlkKGEpaChgKXAKLUZzKCYpcCBGdCgnKWcoYW5kKWYoam9iKWcoY29uKW0odHJvbClpKGlzKWUobm90KWgoYWN0aXYpbShlLClrKHRoZSljCi0oZGVmYXVsdClnKHN0YW5kYXJkKTE1MCAzOTgzIHkoaW5wdXQpZShmb3IpZyh0aGUpaChjb21tYW5kKWYoaXMpaCh0aGUpZwotKGVtcHQpbSh5KWcoXDAxNGxlKWYoYClwIEZzKC9kZXYvbnVsbClwIEZ0KCcuKTYxIGIoT3RoZXJ3aXNlLCkzOQotYih0aGUpZihpbiltKHYpbShvayltKGVkKWgoY29tbWFuZCkxNTAgNDA5MyB5KGluaGVyaXRzKTMwCi1iKHRoZSloKFwwMTRsZSlmKGRlc2NyaXB0b3JzKWcob2YpaCh0aGUpZihjYWxsaW5nKWkoc2hlbGwpZihhcylmKG1vKXMKLShkaVwwMTRlZClnKGIpbSh5KWcocmVkaXJlY3Rpb25zLikxNTAgNDI5MiB5IEZqKDMuNy40KTYzCi1iKEVuKW0odmlyb25tZW4pbSh0KTE1MCA0NDM4IHkgRnQoV2hlbikyOCBiKGEpaShwcm9ncmFtKWUoaXMpaChpbiltKHYpbQotKG9rKW0oZWQpaChpdClmKGlzKWcoZ2l2KW0oZW4pZyhhbilnKGFycmEpbSh5KWcob2YpZyhzdHJpbmdzKWYoY2FsbGVkKWkKLSh0aGUpZiBGcShlbiltKHZpcm9ubWVuKW0odClyIEZ0KC4pNDEgYihUaGlzKTI4IGIoaXMpaChhKTE1MAotNDU0OCB5KGxpc3QpaShvZilnKG5hbWUtdiktNSBiKGFsdWUpMzEgYihwYWlycywpZihvZiloKHRoZSlmKGZvcm0pZwotRnMobmFtZT12YWx1ZSlwIEZ0KC4pMjc1IDQ2ODIgeShCYXNoKTM5IGIocHJvKW0odmlkZXMpZyhzZXYpbShlcmFsKWkodykKLW0oYSltKHlzKWcodG8pZihtYW5pcHVsYXRlKWYodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQuKTY5Ci1iKE9uKTM4IGIoaW4pbSh2KW0obylzKGNhdGlvbiwpNDQgYih0aGUpYyhzaGVsbCkxNTAgNDc5MgoteShzY2FucylnKGl0cyloKG8pbSh3bilmKGVuKW0odmlyb25tZW4pbSh0KWgoYW5kKWYoY3JlYXRlcylpKGEpZgotKHBhcmFtZXRlcilmKGZvcilnKGVhYyltKGgpaShuYW1lKWUoZm91bmQsKWkoYXV0b21hdGljYWxseSkxNTAKLTQ5MDIgeShtYXJraW5nKTI2IGIoaXQpZyhmb3IpZyBGcShleHApcyhvcnQpaCBGdCh0bylnKGMpbShoaWxkKWYocHJvKXMKLShjZXNzZXMuKTM5IGIoRXhlY3V0ZWQpMjYgYihjb21tYW5kcylnKGluaGVyaXQpZyh0aGUpZyhlbiltKHZpcm9ubWVuKW0KLSh0LikzOSBiKFRoZSkxNTAgNTAxMSB5IEZzKGV4cG9ydCljIEZ0KGFuZClpKGApcCBGcyhkZWNsYXJlKTI5Ci1iKC14KXAgRnQoJykzNiBiKGNvbW1hbmRzKWgoYWxsbyltKHcpaShwYXJhbWV0ZXJzKWUoYW5kKWcoZnVuY3Rpb25zKWcKLSh0byloKGIpcyhlKWUoYWRkZWQpaCh0byloKGFuZCkxNTAgNTEyMSB5KGRlbGV0ZWQpMjEKLWIoZnJvbSlmKHRoZSloKGVuKW0odmlyb25tZW4pbSh0LikzOCBiKElmKTIwIGIodGhlKWgodiktNQotYihhbHVlKTIxIGIob2YpZyhhKWcocGFyYW1ldGVyKWcoaW4pZih0aGUpZyhlbiltKHZpcm9ubWVuKW0odClpKGlzKWUKLShtbylzKGRpXDAxNGVkLClpKHRoZSkxNTAgNTIzMCB5KG5ldykzMSBiKHYpLTUgYihhbHVlKTMyCi1iKGIpcyhlY29tZXMpZihwYXJ0KWgob2YpZih0aGUpaChlbiltKHZpcm9ubWVuKW0odCwpZyhyZXBsYWNpbmcpaCh0aGUpZQotKG9sZC4pNDQgYihUaGUpMzEgYihlbiltKHZpcm9ubWVuKW0odCloKGluaGVyaXRlZCkxNTAKLTUzNDAgeShiKW0oeSlmKGFuKW0oeSlnKGV4ZWN1dGVkKWgoY29tbWFuZClmKGNvbnNpc3RzKWcob2YpZyh0aGUpZwotKHNoZWxsJ3MpaChpbml0aWFsKWcoZW4pbSh2aXJvbm1lbiltKHQsKWcod2hvc2UpZih2KS01Ci1iKGFsdWVzKTMxIGIobWEpbSh5KWgoYilzKGUpcCBlb3AgZW5kCitiKEJhc2ljKTMyIGIoU2hlbGwpZShGKS04IGIoZWF0dXJlcykyMjQ2IGIoMzEpMTUwIDI5OQoreSBGaigzLjcuMSk2MyBiKFNpbXBsZSk0MSBiKENvbW1hbmQpaChFeHBhbnNpb24pMTUwIDQ0NgoreSBGdChXaGVuKTMzIGIoYSlnKHNpbXBsZSlnKGNvbW1hbmQpZyhpcylnKGV4ZWN1dGVkLCloKHRoZSlnKHNoZWxsKWYocCkKK3MoZXJmb3JtcyllKHRoZSlpKGZvbGxvKW0od2luZylpKGV4cGFuc2lvbnMsKWUoYXNzaWduLSkxNTAKKzU1NSB5KG1lbiltKHRzLCllKGFuZClmKHJlZGlyZWN0aW9ucywpaChmcm9tKWYobGVmdCloKHRvKWcocmlnaCltKHQuKQorMTk5IDcwMiB5KDEuKTYxIGIoVGhlKTM4IGIodyltKG9yZHMpZih0aGF0KWkodGhlKWcocGFyc2VyKWUoaGFzKWgobWFyaykKK20oZWQpZyhhcyloKHYpLTUgYihhcmlhYmxlKTM5IGIoYXNzaWdubWVuKW0odHMpZyhcKHRob3NlKWcocHJlY2VkaW5nKWYKKyh0aGUpMzMwIDgxMiB5KGNvbW1hbmQpMzAgYihuYW1lXCkpaChhbmQpZihyZWRpcmVjdGlvbnMpaChhcmUpZihzYSltKHYpCittKGVkKWkoZm9yKWUobGF0ZXIpaChwcm8pcyhjZXNzaW5nLikxOTkgOTUyIHkoMi4pNjEgYihUaGUpMzkKK2IodyltKG9yZHMpZyh0aGF0KWkoYXJlKWYobm90KWcodiktNSBiKGFyaWFibGUpNDAgYihhc3NpZ25tZW4pbSh0cyloCisob3IpZShyZWRpcmVjdGlvbnMpaShhcmUpZihleHBhbmRlZClmKFwoc2VlKWgoU2VjLSkzMzAKKzEwNjIgeSh0aW9uKWQoMy41KWkoW1NoZWxsKWUoRXhwYW5zaW9uc10sKWgocGFnZSlnKDE5XCkuKTYxCitiKElmKTM3IGIoYW4pbSh5KWcodyltKG9yZHMpZihyZW1haW4paChhZnRlciloKGV4cGFuc2lvbiwpaCh0aGUpZQorKFwwMTRyc3QpMzMwIDExNzEgeSh3KW0ob3JkKTMxIGIoaXMpZyh0YWspbShlbiloKHRvKWcoYilzKGUpZih0aGUpZworKG5hbWUpaChvZilmKHRoZSloKGNvbW1hbmQpZihhbmQpZih0aGUpaShyZW1haW5pbmcpZih3KW0ob3JkcylnKGFyZSlnCisodGhlKWgoYXJndS0pMzMwIDEyODEgeShtZW4pbSh0cy4pMTk5IDE0MjIgeSgzLik2MSBiKFJlZGlyZWN0aW9ucykyNQorYihhcmUpZihwKXMoZXJmb3JtZWQpZihhcyloKGRlc2NyaWIpcyhlZClmKGFiKXMobyltKHYpbShlKWkoXChzZWUpZworKFNlY3Rpb24pZygzLjYpZyhbUmVkaXJlY3Rpb25zXSwpaShwYWdlKWQoMjdcKS4pMTk5IDE1NjIKK3koNC4pNjEgYihUaGUpMjUgYih0ZXh0KWgoYWZ0ZXIpZih0aGUpZyhgKXAgRnMoPSlwIEZ0KCcpaChpbillKGVhYyltKGgpCitqKHYpLTUgYihhcmlhYmxlKTI1IGIoYXNzaWdubWVuKW0odCloKHVuZGVyZ28pcyhlcyllKHRpbGRlKWkKKyhleHBhbnNpb24sKWcocGFyYW1ldGVyKTMzMCAxNjcyIHkoZXhwYW5zaW9uLCk0OSBiKGNvbW1hbmQpZAorKHN1YnN0aXR1dGlvbiwpaihhcml0aG1ldGljKWQoZXhwYW5zaW9uLClrKGFuZCk0NSBiKHF1b3RlKWgocmVtbyltKHYpLTUKK2IoYWwpNDYgYihiKXMoZWZvcmUpMzMwIDE3ODEgeShiKXMoZWluZykzMCBiKGFzc2lnbmVkKWgodG8pZyh0aGUpZih2KS01CitiKGFyaWFibGUuKTI3NSAxOTU5IHkoSWYpMzIgYihubylpKGNvbW1hbmQpZihuYW1lKWcocmVzdWx0cywpaCh0aGUpZyh2KQorLTUgYihhcmlhYmxlKTM0IGIoYXNzaWdubWVuKW0odHMpZyhhXDAxM2VjdCloKHRoZSlmKGN1cnJlbiltKHQpZihzaGVsbCkKK2goZW4pbSh2aXJvbi0pMTUwIDIwNjkgeShtZW4pbSh0LikzOSBiKE90aGVyd2lzZSwpMjcKK2IodGhlKWUodiktNSBiKGFyaWFibGVzKTI2IGIoYXJlKWcoYWRkZWQpZih0byloKHRoZSlmKGVuKW0odmlyb25tZW4pbQorKHQpaChvZilnKHRoZSlmKGV4ZWN1dGVkKWgoY29tbWFuZClnKGFuZCkxNTAgMjE3OCB5KGRvKTM1CitiKG5vdClmKGFcMDEzZWN0KWoodGhlKWQoY3VycmVuKW0odCloKHNoZWxsKWcoZW4pbSh2aXJvbm1lbiltKHQuKTU0CitiKElmKTM0IGIoYW4pbSh5KWgob2YpZyh0aGUpZihhc3NpZ25tZW4pbSh0cylpKGF0dGVtcHRzKWYodG8paChhc3NpZ24pCisxNTAgMjI4OCB5KGEpaih2KS01IGIoYWx1ZSkzOSBiKHRvKWcoYSlnKHJlYWRvbmx5KWYodiktNQorYihhcmlhYmxlLCk0MiBiKGFuKWMoZXJyb3IpZyhvKXMoY2N1cnMsKWooYW5kKWModGhlKWkoY29tbWFuZClmKGV4aXRzKWgKKyh3aXRoKWcoYSlmKG5vbi16ZXJvKTE1MCAyMzk3IHkoc3RhdHVzLikyNzUgMjU0NCB5KElmKTMzCitiKG5vKWcoY29tbWFuZClnKG5hbWUpaChyZXN1bHRzLClnKHJlZGlyZWN0aW9ucylnKGFyZSlnKHApcyhlcmZvcm1lZCwpZgorKGJ1dClnKGRvKWgobm90KWYoYVwwMTNlY3QpaSh0aGUpZihjdXJyZW4pbSh0KTE1MCAyNjU0Cit5KHNoZWxsKWQoZW4pbSh2aXJvbm1lbiltKHQuKTQxIGIoQSkzMCBiKHJlZGlyZWN0aW9uKWgoZXJyb3IpZihjYXVzZXMpaAorKHRoZSlnKGNvbW1hbmQpZih0byloKGV4aXQpZyh3aXRoKWYoYSloKG5vbi16ZXJvKWcoc3RhdHVzLikyNzUKKzI4MDAgeShJZikyNiBiKHRoZXJlKWkoaXMpZihhKWgoY29tbWFuZClmKG5hbWUpaChsZWZ0KWcoYWZ0ZXIpZworKGV4cGFuc2lvbiwpZyhleGVjdXRpb24paChwcm8pcyhjZWVkcyllKGFzKWcoZGVzY3JpYilzKGVkKWYoYilzKGVsbyltCisody4pMTUwIDI5MTAgeShPdGhlcndpc2UsKTM5IGIodGhlKWUoY29tbWFuZClnKGV4aXRzLik2MgorYihJZikzNyBiKG9uZSlnKG9mKWcodGhlKWgoZXhwYW5zaW9ucylmKGNvbiltKHRhaW5lZCloKGEpZyhjb21tYW5kKWYKKyhzdWJzdGl0dS0pMTUwIDMwMjAgeSh0aW9uLClpKHRoZSlkKGV4aXQpaChzdGF0dXMpZyhvZilmKHRoZSloKGNvbW1hbmQpCitmKGlzKWgodGhlKWYoZXhpdCloKHN0YXR1cylnKG9mKWYodGhlKWgobGFzdClnKGNvbW1hbmQpZihzdWJzdGl0dXRpb24pCisxNTAgMzEyOSB5KHApcyhlcmZvcm1lZC4pNTUgYihJZikzNSBiKHRoZXJlKWcodyltKGVyZSloKG5vKWcoY29tbWFuZClmCisoc3Vic3RpdHV0aW9ucywpaSh0aGUpZShjb21tYW5kKWgoZXhpdHMpZyh3aXRoKWYoYSloKHN0YXR1cylnKG9mKTE1MAorMzIzOSB5KHplcm8uKTE1MCAzNDUwIHkgRmooMy43LjIpNjMgYihDb21tYW5kKTQxIGIoU2VhcmMpbShoKWYoYW5kKWgKKyhFeGVjdXRpb24pMTUwIDM1OTcgeSBGdChBZnRlcilpKGEpaChjb21tYW5kKWYoaGFzKWcoYilzKGVlbilmKHNwbGl0KWgKKyhpbiltKHRvKWgodyltKG9yZHMsKWooaWYpYyhpdClnKHJlc3VsdHMpZyhpbilnKGEpaChzaW1wbGUpZihjb21tYW5kKWcKKyhhbmQpZihhbikxNTAgMzcwNyB5KG9wdGlvbmFsKTMyIGIobGlzdClmKG9mKWYoYXJndW1lbiltKHRzLCloKHRoZSlnCisoZm9sbG8pbSh3aW5nKWcoYWN0aW9ucyloKGFyZSlmKHRhayltKGVuLikxOTkgMzg1MyB5KDEuKTYxCitiKElmKTI0IGIodGhlKWcoY29tbWFuZClnKG5hbWUpZyhjb24pbSh0YWlucylpKG5vKWUoc2xhc2hlcywpaSh0aGUpZQorKHNoZWxsKWgoYXR0ZW1wdHMpZyh0bylnKGxvKXMoY2F0ZSloKGl0LikzOSBiKElmKTI0IGIodGhlcmUpZyhleGlzdHMpCiszMzAgMzk2MyB5KGEpaChzaGVsbClnKGZ1bmN0aW9uKWYoYiltKHkpZyh0aGF0KWgobmFtZSwpaCh0aGF0KWYKKyhmdW5jdGlvbilmKGlzKWgoaW4pbSh2KW0ob2spbShlZCloKGFzKWUoZGVzY3JpYilzKGVkKWcoaW4pZyhTZWN0aW9uKWgKKygzLjMpaChbU2hlbGwpMzMwIDQwNzMgeShGKS04IGIodW5jdGlvbnNdLCkzMSBiKHBhZ2UpaCgxNS4pMTk5Cis0MjEzIHkoMi4pNjEgYihJZik0MSBiKHRoZSlnKG5hbWUpaChkbylzKGVzKWYobm90KWcobWF0YyltKGgpaShhKWUKKyhmdW5jdGlvbiwpaih0aGUpZShzaGVsbClmKHNlYXJjKW0oaGVzKWkoZm9yKWUoaXQpaChpbilmKHRoZSlnKGxpc3QpaAorKG9mKWcoc2hlbGwpMzMwIDQzMjMgeShidWlsdGlucy4pZShJZikzMCBiKGEpaChtYXRjKW0oaClnKGlzKWYoZm91bmQsKWcKKyh0aGF0KWgoYnVpbHRpbilmKGlzKWcoaW4pbSh2KW0ob2spbShlZC4pMTk5IDQ0NjMgeSgzLik2MQorYihJZik0MCBiKHRoZSlnKG5hbWUpaChpcylmKG5laXRoZXIpaChhKWYoc2hlbGwpaChmdW5jdGlvbilmKG5vcilnKGEpZworKGJ1aWx0aW4sKWooYW5kKWQoY29uKW0odGFpbnMpaChubylnKHNsYXNoZXMsKWkoQmFzaCkzMzAKKzQ1NzMgeShzZWFyYyltKGhlcyljKGVhYyltKGgpZyhlbGVtZW4pbSh0KWcob2YpZyBGcygkUEFUSClkCitGdChmb3IpaShhKWcoZGlyZWN0b3J5KWgoY29uKW0odGFpbmluZylnKGFuKWYoZXhlY3V0YWJsZSloKFwwMTRsZSlmKGIpbQorKHkpZyh0aGF0KTMzMCA0NjgyIHkobmFtZS4pNTYgYihCYXNoKTM2IGIodXNlcylmKGEpaChoYXNoKWUodGFibGUpaih0bykKK2YocmVtZW0pbShiKXMoZXIpZih0aGUpaChmdWxsKWYocGF0aG5hbWVzKWcob2YpaChleGVjdXRhYmxlKWgoXDAxNGxlcyllCisodG8pMzMwIDQ3OTIgeShhKW0odiltKG9pZCllKG0pbSh1bHRpcGxlKWYgRnMoUEFUSClmCitGdChzZWFyYyltKGhlcylpKFwoc2VlKWYodGhlKWcoZGVzY3JpcHRpb24pZyhvZilmIEZzKGhhc2gpZworRnQoaW4pZyhTZWN0aW9uKWkoNC4xKWYoW0JvdXJuZSlnKFNoZWxsKTMzMCA0OTAyIHkoQnVpbHRpbnNdLCkzNworYihwYWdlKWYoMzdcKS4pNTUgYihBKTM1IGIoZnVsbClnKHNlYXJjKW0oaClnKG9mKWcodGhlKWcoZGlyZWN0b3JpZXMpaAorKGluKWYgRnMoJFBBVEgpZSBGdChpcylpKHApcyhlcmZvcm1lZClmKG9ubHkpaChpZilnKHRoZSkzMzAKKzUwMTEgeShjb21tYW5kKTI0IGIoaXMpaChub3QpZyhmb3VuZCllKGluKWkodGhlKWcoaGFzaClmKHRhYmxlLikzOQorYihJZikyNSBiKHRoZSlmKHNlYXJjKW0oaClpKGlzKWUodW5zdWNjZXNzZnVsLCloKHRoZSlnKHNoZWxsKWcoc2VhcmMpbQorKGhlcykzMzAgNTEyMSB5KGZvcillKGEpaChkZVwwMTRuZWQpZShzaGVsbCloKGZ1bmN0aW9uKWgobmFtZWQpZQorRnMoY29tbWFuZF9ub3RfZm91bmRfaGFuZGxlKXAgRnQoLikzMiBiKElmKTIzIGIodGhhdCloKGZ1bmN0aW9uKWYKKyhleGlzdHMsKTMzMCA1MjMwIHkoaXQpMzIgYihpcylmKGluKW0odiltKG9rKW0oZWQpaSh3aXRoKWUodGhlKWgKKyhvcmlnaW5hbClnKGNvbW1hbmQpZihhbmQpZyh0aGUpaChvcmlnaW5hbClnKGNvbW1hbmQncylmKGFyZ3VtZW4pbSh0cyloCisoYXMpZyhpdHMpMzMwIDUzNDAgeShhcmd1bWVuKW0odHMsKWgoYW5kKWUodGhlKWkoZnVuY3Rpb24ncyllKGV4aXQpaQorKHN0YXR1cylnKGIpcyhlY29tZXMpZih0aGUpZyhleGl0KWgoc3RhdHVzKWYob2YpaCh0aGUpZihzaGVsbC4pNDYKK2IoSWYpMzEgYih0aGF0KXAgZW9wIGVuZAogJSVQYWdlOiAzMiAzOAogVGVYRGljdCBiZWdpbiAzMiAzNyBib3AgMTUwIC0xMTYgYSBGdCgzMikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5KG1vKXMoZGlcMDE0ZWQpMjYgYihpbilnKHRoZSloKHNoZWxsLCkKLWgobGVzcylmKGFuKW0oeSlnKHBhaXJzKWYocmVtbyltKHYpbShlZClpKGIpbSh5KWYodGhlKWcKLUZzKHVuc2V0KWUgRnQoYW5kKWgoYClwIEZzKGV4cG9ydClqKC1uKXAgRnQoJyllKGNvbW1hbmRzLClnKHBsdXMpMTUwCi00MDggeShhbiltKHkpayhhZGRpdGlvbnMpZih2aWEpaCh0aGUpZyBGcyhleHBvcnQpZCBGdChhbmQpaShgKXAKLUZzKGRlY2xhcmUpZigteClwIEZ0KCcpaChjb21tYW5kcy4pMjc1IDU0OSB5KFRoZSlqKGVuKW0odmlyb25tZW4pbSh0KWkKLShmb3IpZihhbiltKHkpZyhzaW1wbGUpaChjb21tYW5kKWYob3IpZyhmdW5jdGlvbilnKG1hKW0oeSlnKGIpcyhlKWcKLShhdWdtZW4pbSh0ZWQpaCh0ZW1wKXMob3JhcmlseSkxNTAgNjU5IHkoYiltKHkpYyhwcmVcMDE0eGluZyllKGl0KWkKLSh3aXRoKWcocGFyYW1ldGVyKWcoYXNzaWdubWVuKW0odHMsKWgoYXMpZShkZXNjcmliKXMoZWQpZyhpbilnKFNlY3Rpb24pCi1pKDMuNClnKFtTaGVsbCllKFApbShhcmFtZXRlcnNdLCkxNTAgNzY4IHkocGFnZSlnKDE1Lik0MQotYihUaGVzZSkyOSBiKGFzc2lnbm1lbiltKHQpaShzdGF0ZW1lbiltKHRzKWcoYVwwMTNlY3QpZihvbmx5KWcodGhlKWYKLShlbiltKHZpcm9ubWVuKW0odCloKHNlZW4pZyhiKW0oeSlmKHRoYXQpaChjb21tYW5kLikyNzUKLTkwOSB5KElmKWQodGhlKWgoYClwIEZzKC1rKXAgRnQoJylnKG9wdGlvbilnKGlzKWcoc2V0KWcoXChzZWUpaAotKFNlY3Rpb24pZig0LjMuMSlpKFtUaGUpZShTZXQpZyhCdWlsdGluXSwpaChwYWdlKWYoNTFcKSwpaSh0aGVuKWUoYWxsKWcKLShwYXJhbWV0ZXIpMTUwIDEwMTkgeShhc3NpZ25tZW4pbSh0cylpKGFyZSlnKHBsYWNlZCloKGluKWUodGhlKWgoZW4pbQotKHZpcm9ubWVuKW0odClnKGZvcilnKGEpZyhjb21tYW5kLClmKG5vdCloKGp1c3QpZih0aG9zZSlpKHRoYXQpZgotKHByZWNlZGUpZyh0aGUpMTUwIDExMjggeShjb21tYW5kKWcobmFtZS4pMjc1IDEyNjkgeShXaGVuKWYoQmFzaCloKGluKW0KLSh2KW0ob2spbShlcylpKGFuKWUoZXh0ZXJuYWwpZyhjb21tYW5kLClnKHRoZSlnKHYpLTUKLWIoYXJpYWJsZSkzMSBiKGApcCBGcygkXylwIEZ0KCcpZihpcylnKHNldClnKHRvKWgodGhlKWYoZnVsbClmKHBhdGgpaAotKG5hbWUpMTUwIDEzNzkgeShvZiloKHRoZSlmKGNvbW1hbmQpZyhhbmQpZyhwYXNzZWQpZyh0byloKHRoYXQpZwotKGNvbW1hbmQpZihpbilnKGl0cyloKGVuKW0odmlyb25tZW4pbSh0LikxNTAgMTU4NSB5IEZqKDMuNy41KTYzCi1iKEV4aXQpNDAgYihTdGF0dXMpMTUwIDE3MzEgeSBGdChUaGUpMjYgYihleGl0KWgoc3RhdHVzKWYob2YpZyhhbilnCi0oZXhlY3V0ZWQpaChjb21tYW5kKWYoaXMpZyh0aGUpaCh2KS01IGIoYWx1ZSkyNiBiKHJldHVybmVkKWYoYiltKHkpaAotKHRoZSlnIEZxKHcpbShhaXRwaWQpayBGdChzeXN0ZW0pZChjYWxsKWcob3IpMTUwIDE4NDEKLXkoZXF1aXYpLTUgYihhbGVuKW0odCkzMyBiKGZ1bmN0aW9uLik0NSBiKEV4aXQpMzIgYihzdGF0dXNlcylnKGZhbGwpZwotKGIpcyhldCltKHcpbShlZW4paCgwKWYoYW5kKWYoMjU1LClpKHRob3VnaCwpZihhcylnKGV4cGxhaW5lZClnKGIpcwotKGVsbyltKHcsKWgodGhlKTE1MCAxOTUxIHkoc2hlbGwpaShtYSltKHkpZyh1c2UpZih2KS01Ci1iKGFsdWVzKTM1IGIoYWIpcyhvKW0odiltKGUpZygxMjUpaChzcClzKGVjaWFsbHkpLTggYiguKTU0Ci1iKEV4aXQpMzUgYihzdGF0dXNlcylnKGZyb20pZihzaGVsbCloKGJ1aWx0aW5zKWYoYW5kKWYoY29tcClzKG91bmQpMTUwCi0yMDYwIHkoY29tbWFuZHMpaihhcmUpZyhhbHNvKWgobGltaXRlZClnKHRvKWcodGhpcylmKHJhbmdlLik1OAotYihVbmRlcikzNiBiKGNlcnRhaW4paChjaXJjdW1zdGFuY2VzLCloKHRoZSllKHNoZWxsKWgod2lsbClmKHVzZSkxNTAKLTIxNzAgeShzcClzKGVjaWFsKTMxIGIodiktNSBiKGFsdWVzKTMxIGIodG8pZyhpbmRpY2F0ZSlnKHNwKXMoZWNpXDAxNGMpCi1mKGZhaWx1cmUpaChtbylzKGRlcy4pMjc1IDIzMTEgeShGKS04IGIob3IpMzIgYih0aGUpZyhzaGVsbCdzKWcocHVycClzCi0ob3NlcywpZShhKWooY29tbWFuZCllKHdoaWMpbShoKWgoZXhpdHMpZyh3aXRoKWcoYSlnKHplcm8pZyhleGl0KWgKLShzdGF0dXMpZihoYXMpZihzdWNjZWVkZWQuKTE1MCAyNDIwIHkoQSllKG5vbi16ZXJvKWgoZXhpdClnKHN0YXR1cylnCi0oaW5kaWNhdGVzKWcoZmFpbHVyZS4pNDAgYihUaGlzKTI4IGIoc2VlbWluZ2x5KWkoY291biltKHRlci1pbiltCi0odHVpdGl2KW0oZSlpKHNjKW0oaGVtZSllKGlzKWYodXNlZClnKHNvKTE1MCAyNTMwIHkodGhlcmUpMzQKLWIoaXMpZyhvbmUpZyh3KW0oZWxsLWRlXDAxNG5lZClnKHcpbShhKW0oeSlnKHRvKWgoaW5kaWNhdGUpZyhzdWNjZXNzKWYKLShhbmQpZihhKWgodiktNSBiKGFyaWV0KW0oeSkzNSBiKG9mKWYodyltKGEpbSh5cyloKHRvKWYoaW5kaWNhdGUpaCh2KS01Ci1iKGFyaW91cykxNTAgMjYzOSB5KGZhaWx1cmUpMzcgYihtbylzKGRlcy4pNjEgYihXaGVuKTM3Ci1iKGEpZyhjb21tYW5kKWcodGVybWluYXRlcyloKG9uKWYoYSlnKGZhdGFsKWkoc2lnbmFsKWYod2hvc2UpZihuKW0odW0pbQotKGIpcyhlcillKGlzKWkgRnEoTikxMCBiIEZ0KCwpMzggYihCYXNoKTE1MCAyNzQ5IHkodXNlcykzMAotYih0aGUpZyh2KS01IGIoYWx1ZSkzMSBiKDEyOClwIEZzKCspcCBGcShOKTQyIGIgRnQoYXMpMzAKLWIodGhlKWgoZXhpdClnKHN0YXR1cy4pMjc1IDI4OTAgeShJZilrKGEpaChjb21tYW5kKWcoaXMpZyhub3QpZyhmb3VuZCwpCi1nKHRoZSlnKGMpbShoaWxkKWgocHJvKXMoY2VzcyllKGNyZWF0ZWQpaSh0bylnKGV4ZWN1dGUpZyhpdClnKHJldHVybnMpZAotKGEpaihzdGF0dXMpZihvZikxNTAgMjk5OSB5KDEyNy4pNDIgYihJZikzMCBiKGEpaChjb21tYW5kKWYoaXMpZyhmb3VuZCkKLWYoYnV0KWgoaXMpZyhub3QpaChleGVjdXRhYmxlLCloKHRoZSlmKHJldHVybillKHN0YXR1cylpKGlzKWYoMTI2LikyNzUKLTMxNDAgeShJZilpKGEpaShjb21tYW5kKWYoZmFpbHMpZyhiKXMoZWNhdXNlKWcob2YpaChhbilmKGVycm9yKWYKLShkdXJpbmcpZyhleHBhbnNpb24paChvcilnKHJlZGlyZWN0aW9uLClpKHRoZSlmKGV4aXQpZyhzdGF0dXMpMTUwCi0zMjUwIHkoaXMpYyhncmVhdGVyKWkodGhhbillKHplcm8uKTI3NSAzMzkxIHkoVGhlKTM4Ci1iKGV4aXQpaChzdGF0dXMpZyhpcylnKHVzZWQpZihiKW0oeSlnKHRoZSloKEJhc2gpZyhjb25kaXRpb25hbCloCi0oY29tbWFuZHMpZShcKHNlZSloKFNlY3Rpb24paCgzLjIuNC4yKWgoW0Nvbi0pMTUwIDM1MDAKLXkoZGl0aW9uYWwpaShDb25zdHJ1Y3RzXSwpaChwYWdlKWYoMTBcKSlnKGFuZCllKHNvbWUpaShvZilmKHRoZSlnKGxpc3QpCi1nKGNvbnN0cnVjdHMpZyhcKHNlZSloKFNlY3Rpb24pZigzLjIuMylpKFtMaXN0c10sKTE1MAotMzYxMCB5KHBhZ2UpMzEgYig4XCkuKTI3NSAzNzUxIHkoQWxsKTQwIGIob2YpZyh0aGUpaChCYXNoKWYoYnVpbHRpbnMpZgotKHJldHVybilnKGFuKWgoZXhpdCloKHN0YXR1cylnKG9mKWYoemVybyloKGlmKWYodGhleSlnKHN1Y2NlZWQpZyhhbmQpZwotKGEpZyhub24temVybykxNTAgMzg2MCB5KHN0YXR1cykzNCBiKG9uKWYoZmFpbHVyZSwpaShzbylmKHRoZXkpZyhtYSltCi0oeSlnKGIpcyhlKWYodXNlZClnKGIpbSh5KWcodGhlKWgoY29uZGl0aW9uYWwpaChhbmQpZShsaXN0KWgKLShjb25zdHJ1Y3RzLik1MCBiKEFsbCkzNSBiKGJ1aWx0aW5zKTE1MCAzOTcwIHkocmV0dXJuKTI5Ci1iKGFuKWkoZXhpdClnKHN0YXR1cylnKG9mKWYoMiloKHRvKWcoaW5kaWNhdGUpZyhpbmNvcnJlY3QpaCh1c2FnZS4pMTUwCi00MTc1IHkgRmooMy43LjYpNjMgYihTaWduYWxzKTE1MCA0MzIyIHkgRnQoV2hlbikzNiBiKEJhc2gpZyhpcyloKGluKW0KLSh0ZXJhY3RpdiltKGUsKWooaW4pYyh0aGUpaChhYnNlbmNlKWYob2YpaChhbiltKHkpZih0cmFwcywpaShpdCllCi0oaWdub3JlcyloIEZzKFNJR1RFUk0pZCBGdChcKHNvKWoodGhhdClnKGApcCBGcyhraWxsKTE1MAotNDQzMiB5KDApcCBGdCgnKWMoZG8pcyhlcylnKG5vdClnKGtpbGwpZyhhbilnKGluKW0odGVyYWN0aXYpbShlKWoKLShzaGVsbFwpLClmKGFuZClkIEZzKFNJR0lOVClmIEZ0KGlzKWkoY2F1Z2gpbSh0KWgoYW5kKWYoaGFuZGxlZClmKFwoc28pCi1oKHRoYXQpaCh0aGUpZiBGcyh3YWl0KTE1MCA0NTQyIHkgRnQoYnVpbHRpbikyNCBiKGlzKWgoaW4pbQotKHRlcnJ1cHRpYmxlXCkuKTM5IGIoV2hlbikyNCBiKEJhc2gpZyhyZWNlaXYpbShlcylqKGEpZAotRnMoU0lHSU5UKXAgRnQoLCloKGl0KWcoYnJlYWtzKWYob3V0KWgob2YpZihhbiltKHkpaChleGVjdXRpbmcpaChsbylzCi0ob3BzLikxNTAgNDY1MSB5KEluKTMxIGIoYWxsKWgoY2FzZXMsKWgoQmFzaClmKGlnbm9yZXMpZwotRnMoU0lHUVVJVClwIEZ0KC4pNDIgYihJZikzMiBiKGpvYilmKGNvbiltKHRyb2wpaShpcyllKGluKWgoZVwwMTNlY3QpaAotKFwoc2VlKWYoQ2hhcHRlcilmKDcpaChbSm9iKWcoQ29uKW0odHJvbF0sKTE1MCA0NzYxIHkocGFnZSlmKDg5XCksKWgKLShCYXNoKWUoaWdub3JlcyloIEZzKFNJR1RUSU4pcCBGdCgsKWUgRnMoU0lHVFRPVSlwIEZ0KCwpZyhhbmQpZwotRnMoU0lHVFNUUClwIEZ0KC4pMjc1IDQ5MDIgeShOb24tYnVpbHRpbilpKGNvbW1hbmRzKWcoc3RhcnRlZClnKGIpbSh5KWcKLShCYXNoKWgoaGEpbSh2KW0oZSlnKHNpZ25hbClnKGhhbmRsZXJzKWUoc2V0KWkodG8pZyh0aGUpZyh2KS01Ci1iKGFsdWVzKTMxIGIoaW5oZXJpdGVkKTE1MCA1MDExIHkoYiltKHkpMzcgYih0aGUpaChzaGVsbClnKGZyb20pZihpdHMpaAotKHBhcmVuKW0odC4pNjIgYihXaGVuKTM4IGIoam9iKWYoY29uKW0odHJvbClpKGlzKWUobm90KWgoaW4pZgotKGVcMDEzZWN0LClrKGFzeW5jKW0oaHJvbm91cyljKGNvbW1hbmRzKTE1MCA1MTIxIHkoaWdub3JlKWYKLUZzKFNJR0lOVCllIEZ0KGFuZCloIEZzKFNJR1FVSVQpZSBGdChpbilqKGFkZGl0aW9uKWYodG8paSh0aGVzZSlmCi0oaW5oZXJpdGVkKWYoaGFuZGxlcnMuKTU1IGIoQ29tbWFuZHMpMzUgYihydW4pZihhcylpKGEpMTUwCi01MjMwIHkocmVzdWx0KTI3IGIob2YpaChjb21tYW5kKWYoc3Vic3RpdHV0aW9uKWgoaWdub3JlKWcodGhlKWcoayltCi0oZXliKXMob2FyZC1nZW5lcmF0ZWQpZyhqb2IpZyhjb24pbSh0cm9sKWgoc2lnbmFscylmCi1GcyhTSUdUVElOKXAgRnQoLCkxNTAgNTM0MCB5IEZzKFNJR1RUT1UpcCBGdCgsKWgoYW5kKWcKLUZzKFNJR1RTVFApcCBGdCguKXAgZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMzMwIDI5OSB5KGZ1bmN0aW9uKWcoaXMpZyhub3QpZyhkZVwwMTRuZWQsKWYKKyh0aGUpaShzaGVsbClmKHByaW4pbSh0cylmKGFuKWgoZXJyb3IpZyhtZXNzYWdlKWgoYW5kKWYocmV0dXJucyllKGFuKWkKKyhleGl0KWgoc3RhdHVzKWcob2YpMzMwIDQwOCB5KDEyNy4pMTk5IDU0OSB5KDQuKTYxIGIoSWYpMzMKK2IodGhlKWcoc2VhcmMpbShoKWgoaXMpZyhzdWNjZXNzZnVsLClnKG9yKWYoaWYpZyh0aGUpaChjb21tYW5kKWYobmFtZSlnCisoY29uKW0odGFpbnMpaShvbmUpZihvcilmKG1vcmUpZyhzbGFzaGVzLClpKHRoZSkzMzAgNjU4Cit5KHNoZWxsKWcoZXhlY3V0ZXMpaCh0aGUpZihuYW1lZClmKHByb2dyYW0pZyhpbiloKGEpZyhzZXBhcmF0ZSloCisoZXhlY3V0aW9uKWYoZW4pbSh2aXJvbm1lbiltKHQuKTU1IGIoQXJndW1lbiltKHQpMzUgYigwKTMzMAorNzY4IHkoaXMpMzAgYihzZXQpaCh0byloKHRoZSllKG5hbWUpaChnaXYpbShlbiwpZyhhbmQpZih0aGUpaAorKHJlbWFpbmluZylmKGFyZ3VtZW4pbSh0cyloKHRvKWcodGhlKWcoY29tbWFuZClmKGFyZSloKHNldClnKHRvKWcodGhlKQorMzMwIDg3NyB5KGFyZ3VtZW4pbSh0cylnKHN1cHBsaWVkLCllKGlmKWgoYW4pbSh5KS04IGIoLikxOTkKKzEwMTggeSg1Lik2MSBiKElmKTM1IGIodGhpcyloKGV4ZWN1dGlvbiloKGZhaWxzKWYoYilzKGVjYXVzZSlnKHRoZSlmCisoXDAxNGxlKWgoaXMpZyhub3QpZyhpbilmKGV4ZWN1dGFibGUpaihmb3JtYXQsKWYoYW5kKWUodGhlKWgoXDAxNGxlKWcKKyhpcylnKG5vdCkzMzAgMTEyNyB5KGEpZChkaXJlY3RvcnkpLTggYigsKTM0IGIoaXQpZihpcylnKGFzc3VtZWQpZSh0bylqCisoYilzKGUpZChhKWkgRnEoc2hlbGwpZyhzY3JpcHQpaCBGdChhbmQpZSh0aGUpaChzaGVsbClmKGV4ZWN1dGVzKWkoaXQpZgorKGFzKWcoZGVzY3JpYilzKGVkKWUoaW4pMzMwIDEyMzcgeShTZWN0aW9uKWcoMy44KWgoW1NoZWxsKWUoU2NyaXB0c10sKWcKKyhwYWdlKWkoMzQuKTE5OSAxMzc3IHkoNi4pNjEgYihJZikzOCBiKHRoZSloKGNvbW1hbmQpZih3KW0oYXMpaChub3QpZworKGIpcyhlZ3VuKWUoYXN5bmMpbShocm9ub3VzbHkpLTggYigsKTQyIGIodGhlKWMoc2hlbGwpaCh3KW0oYWl0cyloKGZvcikKK2UodGhlKWgoY29tbWFuZClmKHRvKTMzMCAxNDg3IHkoY29tcGxldGUpMzIgYihhbmQpZShjb2xsZWN0cylpKGl0cylmCisoZXhpdClnKHN0YXR1cy4pMTUwIDE2OTcgeSBGaigzLjcuMyk2MyBiKENvbW1hbmQpNDEgYihFeGVjdXRpb24pZihFbiltCisodmlyb25tZW4pbSh0KTE1MCAxODQ0IHkgRnQoVGhlKTMwIGIoc2hlbGwpZyhoYXMpaChhbilmCitGcShleGVjdXRpb24paChlbiltKHZpcm9ubWVuKW0odClyIEZ0KCwpaCh3aGljKW0oaCllKGNvbnNpc3RzKWgob2YpZgorKHRoZSloKGZvbGxvKW0od2luZzopMjI1IDE5OTAgeSBGcChcMDE3KTYwIGIgRnQob3ApcyhlbikzMgorYihcMDE0bGVzKWcoaW5oZXJpdGVkKWcoYiltKHkpaCh0aGUpZihzaGVsbCloKGF0KWcoaW4pbSh2KW0obylzCisoY2F0aW9uLClqKGFzKWMobW8pcyhkaVwwMTRlZClnKGIpbSh5KWcocmVkaXJlY3Rpb25zKWgoc3VwcGxpZWQpZSh0bykKKzMzMCAyMTAwIHkodGhlKWcgRnMoZXhlYyllIEZ0KGJ1aWx0aW4pMjI1IDIyNDAgeSBGcChcMDE3KTYwCitiIEZ0KHRoZSkyOCBiKGN1cnJlbiltKHQpZyh3KW0ob3JraW5nKWgoZGlyZWN0b3J5KWcoYXMpZihzZXQpaChiKW0oeSlmCitGcyhjZClwIEZ0KCwpZyBGcyhwdXNoZClwIEZ0KCwpZyhvcilnIEZzKHBvcGQpcCBGdCgsKWcob3IpZyhpbmhlcml0ZWQpZworKGIpbSh5KWcodGhlKWgoc2hlbGwpZihhdCkzMzAgMjM0OSB5KGluKW0odiltKG8pcyhjYXRpb24pMjI1CisyNDg5IHkgRnAoXDAxNyk2MCBiIEZ0KHRoZSkzMSBiKFwwMTRsZSlmKGNyZWF0aW9uKWkobW8pcyhkZSllKG1hc2spZworKGFzKWgoc2V0KWcoYiltKHkpZiBGcyh1bWFzaylmIEZ0KG9yKWgoaW5oZXJpdGVkKWcoZnJvbSlnKHRoZSloCisoc2hlbGwncylmKHBhcmVuKW0odCkyMjUgMjYzMCB5IEZwKFwwMTcpNjAgYiBGdChjdXJyZW4pbSh0KTMwCitiKHRyYXBzKWcoc2V0KWgoYiltKHkpZiBGcyh0cmFwKTIyNSAyNzcwIHkgRnAoXDAxNyk2MAorYiBGdChzaGVsbCkzMCBiKHBhcmFtZXRlcnMpZih0aGF0KWgoYXJlKWcoc2V0KWcoYiltKHkpZyh2KS01CitiKGFyaWFibGUpMzAgYihhc3NpZ25tZW4pbSh0KWcob3IpZyh3aXRoKWYgRnMoc2V0KWYgRnQob3IpaShpbmhlcml0ZWQpZgorKGZyb20pZyh0aGUpMzMwIDI4NzkgeShzaGVsbCdzKWkocGFyZW4pbSh0KWYoaW4pZyh0aGUpaChlbiltKHZpcm9ubWVuKW0KKyh0KTIyNSAzMDIwIHkgRnAoXDAxNyk2MCBiIEZ0KHNoZWxsKTQ0IGIoZnVuY3Rpb25zKWYoZGVcMDE0bmVkKWYKKyhkdXJpbmcpaChleGVjdXRpb24paShvcillKGluaGVyaXRlZCloKGZyb20pZih0aGUpaChzaGVsbCdzKWcocGFyZW4pbQorKHQpZihpbiloKHRoZSkzMzAgMzEyOSB5KGVuKW0odmlyb25tZW4pbSh0KTIyNSAzMjY5IHkKK0ZwKFwwMTcpNjAgYiBGdChvcHRpb25zKTMzIGIoZW5hYmxlZClnKGF0KWgoaW4pbSh2KW0obylzKGNhdGlvbiloCisoXChlaXRoZXIpZihiKW0oeSlmKGRlZmF1bHQpZyhvcilnKHdpdGgpZyhjb21tYW5kLWxpbmUpZyhhcmd1bWVuKW0KKyh0c1wpKWgob3IpMzMwIDMzNzkgeShiKW0oeSljIEZzKHNldCkyMjUgMzUxOSB5IEZwKFwwMTcpNjAKK2IgRnQob3B0aW9ucykzMSBiKGVuYWJsZWQpZihiKW0oeSlnIEZzKHNob3B0KWYgRnQoXChzZWUpaihTZWN0aW9uKWYKKyg0LjMuMiloKFtUaGUpZShTaG9wdClnKEJ1aWx0aW5dLCloKHBhZ2UpZyg1N1wpKTIyNSAzNjU5Cit5IEZwKFwwMTcpNjAgYiBGdChzaGVsbCkzMSBiKGFsaWFzZXMpZyhkZVwwMTRuZWQpZih3aXRoKWcKK0ZzKGFsaWFzKWYgRnQoXChzZWUpaShTZWN0aW9uKWcoNi42KWgoW0FsaWFzZXNdLClnKHBhZ2UpZig4MVwpKTIyNQorMzc5OSB5IEZwKFwwMTcpNjAgYiBGdCh2KS01IGIoYXJpb3VzKTUwIGIocHJvKXMoY2VzcylmCitGbChpZClwIEZ0KHMsKTU1IGIoaW5jbHVkaW5nKTQ5IGIodGhvc2UpaShvZillKGJhYyltKGtncm91bmQpaChqb2JzKWYKKyhcKHNlZSlpKFNlY3Rpb24pZygzLjIuMylnKFtMaXN0c10sKTMzMCAzOTA5IHkocGFnZSkzMQorYig5XCksKWcodGhlKWcodiktNSBiKGFsdWUpMzEgYihvZilmIEZzKCQkKXAgRnQoLClnKGFuZClnKHRoZSloKHYpLTUKK2IoYWx1ZSkzMSBiKG9mKWYgRnMoJFBQSUQpMjc1IDQwODUgeSBGdChXaGVuKWsoYSlnKHNpbXBsZSloKGNvbW1hbmQpZgorKG90aGVyKWcodGhhbilnKGEpaChidWlsdGluKWYob3IpZyhzaGVsbCloKGZ1bmN0aW9uKWYoaXMpZyh0byloKGIpcyhlKWYKKyhleGVjdXRlZCwpaShpdClmKGlzKTE1MCA0MTk1IHkoaW4pbSh2KW0ob2spbShlZCkyNSBiKGluKWYoYSlnCisoc2VwYXJhdGUpaChleGVjdXRpb24pZyhlbiltKHZpcm9ubWVuKW0odClnKHRoYXQpZihjb25zaXN0cylnKG9mKWgodGhlKQorZihmb2xsbyltKHdpbmcuKTQwIGIoVW5sZXNzKTI0IGIob3RoZXJ3aXNlKTE1MCA0MzA1IHkobm90ZWQsKTMxCitiKHRoZSlmKHYpLTUgYihhbHVlcykzMSBiKGFyZSlnKGluaGVyaXRlZClmKGZyb20pZyh0aGUpZyhzaGVsbC4pMjI1Cis0NDUxIHkgRnAoXDAxNyk2MCBiIEZ0KHRoZSkzMSBiKHNoZWxsJ3MpaChvcClzKGVuKWUoXDAxNGxlcywpaShwbHVzKWUKKyhhbiltKHkpaChtbylzKGRpXDAxNGNhdGlvbnMpaChhbmQpZShhZGRpdGlvbnMpaChzcClzKGVjaVwwMTRlZClnKGIpbQorKHkpZyhyZWRpcmVjdGlvbnMpZyh0bykzMzAgNDU2MCB5KHRoZSlnKGNvbW1hbmQpMjI1IDQ3MDAKK3kgRnAoXDAxNyk2MCBiIEZ0KHRoZSkzMSBiKGN1cnJlbiltKHQpZih3KW0ob3JraW5nKWcoZGlyZWN0b3J5KTIyNQorNDg0MCB5IEZwKFwwMTcpNjAgYiBGdCh0aGUpMzEgYihcMDE0bGUpZihjcmVhdGlvbilpKG1vKXMoZGUpZShtYXNrKTIyNQorNDk4MSB5IEZwKFwwMTcpNjAgYiBGdChzaGVsbCkzMiBiKHYpLTUgYihhcmlhYmxlcykzMworYihhbmQpZShmdW5jdGlvbnMpaChtYXJrKW0oZWQpZyhmb3IpZyhleHApcyhvcnQsKWcoYWxvbmcpaCh3aXRoKWYodiktNQorYihhcmlhYmxlcykzMiBiKGV4cClzKG9ydGVkKWcoZm9yKWcodGhlKTMzMCA1MDkwIHkoY29tbWFuZCwpZShwYXNzZWQpZworKGluKWcodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQpZyhcKHNlZSlnKFNlY3Rpb24pZygzLjcuNClpKFtFbiltCisodmlyb25tZW4pbSh0XSwpZShwYWdlKWcoMzNcKSkyMjUgNTIzMCB5IEZwKFwwMTcpNjAgYgorRnQodHJhcHMpMzEgYihjYXVnaCltKHQpaChiKW0oeSlmKHRoZSlnKHNoZWxsKWgoYXJlKWYocmVzZXQpaCh0bylnKHRoZSkKK2YodiktNSBiKGFsdWVzKTMyIGIoaW5oZXJpdGVkKWUoZnJvbSloKHRoZSlnKHNoZWxsJ3MpaChwYXJlbiltKHQsKWcKKyhhbmQpMzMwIDUzNDAgeSh0cmFwcyllKGlnbm9yZWQpaChiKW0oeSlmKHRoZSlnKHNoZWxsKWgoYXJlKWcoaWdub3JlZClwCitlb3AgZW5kCiAlJVBhZ2U6IDMzIDM5CiBUZVhEaWN0IGJlZ2luIDMzIDM4IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQogYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDMzKTI3NSAyOTkKLXkoVGhlKTMwIGIoc2hlbGwpaShleGl0cylnKGIpbSh5KWYoZGVmYXVsdClnKHVwKXMob24pZihyZWNlaXB0KWkob2YpZgotKGEpaCBGcyhTSUdIVVApcCBGdCguKTQyIGIoQmVmb3JlKTMyIGIoZXhpdGluZywpaChhbillKGluKW0odGVyYWN0aXYpbQotKGUpaihzaGVsbCkxNTAgNDA4IHkocmVzZW5kcyk0MSBiKHRoZSlpIEZzKFNJR0hVUCllIEZ0KHRvKWkoYWxsKWcKLShqb2JzLClpKHJ1bm5pbmcpYyhvciloKHN0b3BwKXMoZWQuKTc2IGIoU3RvcHApcyhlZCk0MQotYihqb2JzKWgoYXJlKWgoc2VuKW0odClnIEZzKFNJR0NPTlQpZCBGdCh0bykxNTAgNTE4IHkoZW5zdXJlKTMyCi1iKHRoYXQpaCh0aGV5KWcocmVjZWl2KW0oZSlpKHRoZSllIEZzKFNJR0hVUClwIEZ0KC4pNDcKLWIoVCktOCBiKG8pMzMgYihwcmV2KW0oZW4pbSh0KWcodGhlKWcoc2hlbGwpZyhmcm9tKWcoc2VuZGluZylmKHRoZSloCi1GcyhTSUdIVVApZSBGdChzaWduYWwpMTUwIDYyOCB5KHRvKWkoYSlnKHBhcnRpY3VsYXIpZyhqb2IsKWcoaXQpZwotKHNob3VsZClmKGIpcyhlKWcocmVtbyltKHYpbShlZCloKGZyb20pZyh0aGUpZihqb2JzKWcodGFibGUpaSh3aXRoKWUKLSh0aGUpaCBGcyhkaXNvd24pZSBGdChidWlsdGluKWgoXChzZWUpMTUwIDczNyB5KFNlY3Rpb24pZig3LjIpZyhbSm9iKWYKLShDb24pbSh0cm9sKWgoQnVpbHRpbnNdLClnKHBhZ2UpZyg5MFwpKWgob3IpZShtYXJrKW0oZWQpZyh0byloKG5vdClmCi0ocmVjZWl2KW0oZSlpIEZzKFNJR0hVUClkIEZ0KHVzaW5nKWggRnMoZGlzb3duKTE1MCA4NDcKLXkoLWgpcCBGdCguKTI3NSA5OTIgeShJZikzOCBiKHRoZSloIEZzKGh1cG9uZXhpdCllIEZ0KHNoZWxsKWkob3B0aW9uKWcKLShoYXMpZyhiKXMoZWVuKWYoc2V0KWkod2l0aClmIEZzKHNob3B0KWUgRnQoXChzZWUpaihTZWN0aW9uKWcoNC4zLjIpaAotKFtUaGUpZShTaG9wdCkxNTAgMTEwMiB5KEJ1aWx0aW5dLCkzMSBiKHBhZ2UpZyg1NVwpLCloKEJhc2gpZihzZW5kcyllCi0oYSlpIEZzKFNJR0hVUCllIEZ0KHRvKWkoYWxsKWcoam9icylmKHdoZW4pZihhbilpKGluKW0odGVyYWN0aXYpbShlKWkKLShsb2dpbillKHNoZWxsKWcoZXhpdHMuKTI3NSAxMjQ3IHkoSWYpMzggYihCYXNoKWgoaXMpZyh3KW0oYWl0aW5nKWgKLShmb3IpZihhKWcoY29tbWFuZClmKHRvKWkoY29tcGxldGUpZyhhbmQpZShyZWNlaXYpbShlcylqKGEpZShzaWduYWwpaAotKGZvcillKHdoaWMpbShoKWgoYSlnKHRyYXApMTUwIDEzNTcgeShoYXMpYyhiKXMoZWVuKWYoc2V0LClpKHRoZSlmCi0odHJhcClnKHdpbGwpZyhub3QpZyhiKXMoZSlmKGV4ZWN1dGVkKWkodW4pbSh0aWwpZih0aGUpZyhjb21tYW5kKWYKLShjb21wbGV0ZXMuKTU1IGIoV2hlbikzNSBiKEJhc2gpZyhpcykxNTAgMTQ2NyB5KHcpbShhaXRpbmcpaihmb3IpZihhbilnCi0oYXN5bmMpbShocm9ub3VzKWcoY29tbWFuZClnKHZpYSloKHRoZSlmIEZzKHdhaXQpZiBGdChidWlsdGluLClpKHRoZSlnCi0ocmVjZXB0aW9uKWcob2YpZihhKWcoc2lnbmFsKWgoZm9yKTE1MCAxNTc2IHkod2hpYyltKGgpZChhKWcodHJhcClnCi0oaGFzKWcoYilzKGVlbilmKHNldCloKHdpbGwpaChjYXVzZSlmKHRoZSlnIEZzKHdhaXQpZgotRnQoYnVpbHRpbiloKHRvKWcocmV0dXJuKWYoaW1tZWRpYXRlbHkpaSh3aXRoKWYoYW4pZyhleGl0KTE1MAotMTY4NiB5KHN0YXR1cyljKGdyZWF0ZXIpZyh0aGFuKWYoMTI4LClpKGltbWVkaWF0ZWx5KWcoYWZ0ZXIpZih3aGljKW0oaCkKLWYodGhlKWgodHJhcClmKGlzKWcoZXhlY3V0ZWQuKTE1MCAxOTM1IHkgRnIoMy44KTY4IGIoU2hlbGwpNDUKLWIoU2NyaXB0cykxNTAgMjA5NCB5IEZ0KEEpMzAgYihzaGVsbClmKHNjcmlwdCloKGlzKWYoYSloKHRleHQpaChcMDE0bGUpCi1mKGNvbiltKHRhaW5pbmcpaChzaGVsbClmKGNvbW1hbmRzLik0MCBiKFdoZW4pMjkgYihzdWMpbShoKWcoYSloCi0oXDAxNGxlKWcoaXMpZih1c2VkKWcoYXMpaCh0aGUpZyhcMDE0cnN0KTE1MCAyMjA0IHkobm9uLW9wdGlvbilpCi0oYXJndW1lbiltKHQpaCh3aGVuKWUoaW4pbSh2KW0ob2tpbmcpaShCYXNoLClnKGFuZCllKG5laXRoZXIpaCh0aGUpZyhgKQotcCBGcygtYylwIEZ0KCcpZyhub3IpZyhgKXAgRnMoLXMpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyhzdXBwbGllZCkxNTAKLTIzMTMgeShcKHNlZSkyNSBiKFNlY3Rpb24paCg2LjEpZihbSW4pbSh2KW0ob2tpbmcpaChCYXNoXSwpZyhwYWdlKWYKLSg3MVwpLClpKEJhc2gpZShyZWFkcylmKGFuZClnKGV4ZWN1dGVzKWkoY29tbWFuZHMpZShmcm9tKWcodGhlKWgKLShcMDE0bGUsKTE1MCAyNDIzIHkodGhlbikzMiBiKGV4aXRzLik0NiBiKFRoaXMpMzIgYihtbylzKGRlKWYob2YpaShvcClzCi0oZXJhdGlvbilmKGNyZWF0ZXMpaShhKWUobm9uLWluKW0odGVyYWN0aXYpbShlKWooc2hlbGwuKTQ2Ci1iKFRoZSkzMSBiKHNoZWxsKWkoXDAxNHJzdCllKHNlYXJjKW0oaGVzKTE1MCAyNTMyIHkoZm9yKWQodGhlKWcoXDAxNGxlKQotZyhpbilnKHRoZSlnKGN1cnJlbiltKHQpZihkaXJlY3RvcnkpLTggYigsKTMwIGIoYW5kKWQobG8pcyhva3MpaShpbillCi0odGhlKWkoZGlyZWN0b3JpZXMpZyhpbillIEZzKCRQQVRIKWcgRnQoaWYpaChub3QpZyhmb3VuZCllKHRoZXJlLikyNzUKLTI2NzggeShXaGVuKTM0IGIoQmFzaCloKHJ1bnMpZShhKWkoc2hlbGwpZyhzY3JpcHQsKWcoaXQpaChzZXRzKWYodGhlKWYKLShzcClzKGVjaWFsKWkocGFyYW1ldGVyKWYgRnMoMClmIEZ0KHRvKWgodGhlKWcobmFtZSlnKG9mKWcodGhlKWcKLShcMDE0bGUsKTE1MCAyNzg3IHkocmF0aGVyKWsodGhhbilnKHRoZSloKG5hbWUpZihvZiloKHRoZSlmKHNoZWxsLClqCi0oYW5kKWQodGhlKWgocClzKG9zaXRpb25hbClnKHBhcmFtZXRlcnMpZihhcmUpaChzZXQpZyh0bylnKHRoZSlnCi0ocmVtYWluLSkxNTAgMjg5NyB5KGluZylmKGFyZ3VtZW4pbSh0cywpaihpZilkKGFuKW0oeSlnKGFyZSlnKGdpdiltCi0oZW4uKTY3IGIoSWYpMzkgYihubylnKGFkZGl0aW9uYWwpZyhhcmd1bWVuKW0odHMpaChhcmUpZihzdXBwbGllZCwpaAotKHRoZSlmKHApcyhvc2l0aW9uYWwpMTUwIDMwMDcgeShwYXJhbWV0ZXJzKTMxIGIoYXJlKWYodW5zZXQuKTI3NQotMzE1MiB5KEEpMzkgYihzaGVsbCloKHNjcmlwdClmKG1hKW0oeSloKGIpcyhlKWYobWFkZSloKGV4ZWN1dGFibGUpaChiKW0KLSh5KWUodXNpbmcpZyh0aGUpaCBGcyhjaG1vZCllIEZ0KGNvbW1hbmQpaCh0byloKHR1cm4pZShvbilpKHRoZSkxNTAKLTMyNjIgeShleGVjdXRlKWooYml0Lik3MyBiKFdoZW4pNDEgYihCYXNoKWcoXDAxNG5kcyllKHN1YyltKGgpaShhKWgKLShcMDE0bGUpZih3aGlsZSlnKHNlYXJjKW0oaGluZyloKHRoZSlmIEZzKCRQQVRIKWYgRnQoZm9yKWgoYSloCi0oY29tbWFuZCwpaChpdCkxNTAgMzM3MSB5KHNwYSltKHducykzMCBiKGEpZyhzdWJzaGVsbClnKHRvKWgoZXhlY3V0ZSloCi0oaXQuKTQxIGIoSW4pMzAgYihvdGhlcilnKHcpbShvcmRzLClnKGV4ZWN1dGluZykzOTAgMzUxNwoteSBGcyhmaWxlbmFtZSk0NiBiIEZpKGFyZ3VtZW50cykxNTAgMzY2MiB5IEZ0KGlzKTMwIGIoZXF1aXYpLTUKLWIoYWxlbiltKHQpMzIgYih0bylmKGV4ZWN1dGluZykzOTAgMzgwOCB5IEZzKGJhc2gpNDcKLWIoZmlsZW5hbWUpZSBGaShhcmd1bWVudHMpMTUwIDM5NTMgeSBGdChpZikzMCBiIEZzKGZpbGVuYW1lKWQKLUZ0KGlzKWooYW4pZihleGVjdXRhYmxlKWooc2hlbGwpZShzY3JpcHQuKTQwIGIoVGhpcykyOQotYihzdWJzaGVsbClnKHJlaW5pdGlhbGl6ZXMpaShpdHNlbGYsKWcoc28pZih0aGF0KWgodGhlKWUoZVwwMTNlY3QpMTUwCi00MDYzIHkoaXMpMzYgYihhcyloKGlmKWcoYSlmKG5ldylnKHNoZWxsKWgoaGFkKWYoYilzKGVlbilnKGluKW0odiltKG9rKQotbShlZCloKHRvKWgoaW4pbSh0ZXJwcmV0KWUodGhlKWgoc2NyaXB0LCloKHdpdGgpZSh0aGUpaChleGNlcHRpb24paAotKHRoYXQpZih0aGUpMTUwIDQxNzIgeShsbylzKGNhdGlvbnMpMjUgYihvZilnKGNvbW1hbmRzKWUocmVtZW0pbShiKXMKLShlcmVkKWgoYiltKHkpZyh0aGUpZyhwYXJlbiltKHQpZyhcKHNlZSloKHRoZSlmKGRlc2NyaXB0aW9uKWcob2YpZwotRnMoaGFzaClmIEZ0KGluKWgoU2VjdGlvbiloKDQuMSkxNTAgNDI4MiB5KFtCb3VybmUpMzAKLWIoU2hlbGwpaChCdWlsdGluc10sKWcocGFnZSlnKDM1XCkpaChhcmUpZShyZXRhaW5lZCloKGIpbSh5KWYodGhlKWgoYyltCi0oaGlsZC4pMjc1IDQ0MjcgeShNb3N0KTM2IGIodiltKGVyc2lvbnMpZyhvZilnKFVuaXgpZihtYWspbShlKWgodGhpcylnCi0oYSlnKHBhcnQpZihvZiloKHRoZSlnKG9wKXMoZXJhdGluZylnKHN5c3RlbSdzKWYoY29tbWFuZCloKGV4ZWN1dGlvbikKLTE1MCA0NTM3IHkobWVjKW0oaGFuaXNtLik1MCBiKElmKTMzIGIodGhlKWcoXDAxNHJzdClnKGxpbmUpaChvZilmKGEpaAotKHNjcmlwdClmKGIpcyhlZ2lucylnKHdpdGgpZyh0aGUpZyh0KW0odyltKG8paShjKW0oaGFyYWN0ZXJzKWcoYClwCi1GcygjISlwIEZ0KCcsKWYodGhlKWcocmVtYWluZGVyKTE1MCA0NjQ3IHkob2YpZCh0aGUpZyhsaW5lKWgoc3ApcwotKGVjaVwwMTRlcyllKGFuKWgoaW4pbSh0ZXJwcmV0ZXIpZyhmb3IpZyh0aGUpZyhwcm9ncmFtLik0MwotYihUaCltKHVzLCkzMCBiKHkpbShvdSloKGNhbiloKHNwKXMoZWNpZnkpZShCYXNoLClpIEZzKGF3aylwCi1GdCgsKWUoUCltKGVybCwpMTUwIDQ3NTYgeShvcilnKHNvbWUpaChvdGhlcilnKGluKW0odGVycHJldGVyKWcoYW5kKWUKLSh3cml0ZSlpKHRoZSlmKHJlc3QpaChvZilnKHRoZSlmKHNjcmlwdClnKFwwMTRsZSloKGluKWYodGhhdCloCi0obGFuZ3VhZ2UuKTI3NSA0OTAyIHkoVGhlKTQwIGIoYXJndW1lbiltKHRzKWgodG8pZyh0aGUpZyhpbiltCi0odGVycHJldGVyKWcoY29uc2lzdClnKG9mKWcoYSlnKHNpbmdsZSloKG9wdGlvbmFsKWYoYXJndW1lbiltKHQpaAotKGZvbGxvKW0od2luZylnKHRoZSkxNTAgNTAxMSB5KGluKW0odGVycHJldGVyKTMzIGIobmFtZSloKG9uKWYodGhlKWcKLShcMDE0cnN0KWYobGluZSlpKG9mKWYodGhlKWcoc2NyaXB0KWcoXDAxNGxlLCloKGZvbGxvKW0odyltKGVkKWgoYiltKHkpCi1lKHRoZSlnKG5hbWUpZyhvZilnKHRoZSloKHNjcmlwdClmKFwwMTRsZSwpMTUwIDUxMjEgeShmb2xsbyltKHcpbShlZClnCi0oYiltKHkpZih0aGUpZihyZXN0KWgob2YpZyh0aGUpZihhcmd1bWVuKW0odHMuKTQ1IGIoQmFzaCkzMQotYih3aWxsKWgocClzKGVyZm9ybSllKHRoaXMpaShhY3Rpb24paChvbillKG9wKXMoZXJhdGluZyloKHN5c3RlbXMpMTUwCi01MjMwIHkodGhhdCkyNCBiKGRvKWcobm90KWYoaGFuZGxlKWcoaXQpaCh0aGVtc2VsdiltKGVzLik0MAotYihOb3RlKTI1IGIodGhhdClmKHNvbWUpZyhvbGRlcilnKHYpbShlcnNpb25zKWYob2YpaChVbml4KWYobGltaXQpaQotKHRoZSlmKGluKW0odGVycHJldGVyKTE1MCA1MzQwIHkobmFtZSkzMCBiKGFuZClnKGFyZ3VtZW4pbSh0KWgodG8pZyhhKWcKLShtYXhpbSltKHVtKWYob2YpaCgzMilnKGMpbShoYXJhY3RlcnMuKXAgZW9wIGVuZAoreShBKTQxIGIoY29tbWFuZClnKGluKW0odiltKG9rKW0oZWQpaShpbillKHRoaXMpaChzZXBhcmF0ZSlnKGVuKW0KKyh2aXJvbm1lbiltKHQpZyhjYW5ub3QpZyhhXDAxM2VjdCloKHRoZSlmKHNoZWxsJ3MpZyhleGVjdXRpb24pMTUwCis0MDggeShlbiltKHZpcm9ubWVuKW0odC4pMjc1IDU1MiB5KENvbW1hbmQpMzUgYihzdWJzdGl0dXRpb24sKWoKKyhjb21tYW5kcyllKGdyb3VwKXMoZWQpZih3aXRoKWkocGFyZW4pbSh0aGVzZXMsKWgoYW5kKWUoYXN5bmMpbQorKGhyb25vdXMpZyhjb20tKTE1MCA2NjIgeShtYW5kcyljKGFyZSloKGluKW0odiltKG9rKW0oZWQpaShpbilkKGEpaQorKHN1YnNoZWxsKWUoZW4pbSh2aXJvbm1lbiltKHQpaCh0aGF0KWgoaXMpZihhKWcoZHVwbGljYXRlKWgob2YpZih0aGUpZworKHNoZWxsKWcoZW4pbSh2aXJvbm1lbiltKHQsKTE1MCA3NzIgeShleGNlcHQpaSh0aGF0KWcodHJhcHMpZihjYXVnaCltCisodCloKGIpbSh5KWYodGhlKWgoc2hlbGwpZihhcmUpZyhyZXNldCloKHRvKWcodGhlKWYodiktNQorYihhbHVlcykzNSBiKHRoYXQpZyh0aGUpZihzaGVsbCloKGluaGVyaXRlZCllKGZyb20pMTUwCis4ODEgeShpdHMpZyhwYXJlbiltKHQpZihhdCloKGluKW0odiltKG8pcyhjYXRpb24uKTQ5CitiKEJ1aWx0aW4pMzIgYihjb21tYW5kcylnKHRoYXQpaChhcmUpZyhpbiltKHYpbShvayltKGVkKWgoYXMpZShwYXJ0KWcKKyhvZiloKGEpZihwaXApcyhlbGluZSlnKGFyZSloKGFsc28pMTUwIDk5MSB5KGV4ZWN1dGVkKTQxCitiKGluKWYoYSloKHN1YnNoZWxsKWUoZW4pbSh2aXJvbm1lbiltKHQuKTcyIGIoQ2hhbmdlcyk0MAorYihtYWRlKWcodG8paCh0aGUpZyhzdWJzaGVsbCllKGVuKW0odmlyb25tZW4pbSh0KWkoY2Fubm90KTE1MAorMTEwMCB5KGFcMDEzZWN0KTMyIGIodGhlKWYoc2hlbGwncylmKGV4ZWN1dGlvbilpKGVuKW0odmlyb25tZW4pbSh0LikyNzUKKzEyNDQgeShTdWJzaGVsbHMpMjQgYihzcGEpbSh3bmVkKWgodG8paShleGVjdXRlKWcoY29tbWFuZClmCisoc3Vic3RpdHV0aW9ucylnKGluaGVyaXQpZyh0aGUpZyh2KS01IGIoYWx1ZSkyNiBiKG9mKWcodGhlKWgoYClwCitGcygtZSlwIEZ0KCcpZShvcHRpb24pMTUwIDEzNTQgeShmcm9tKTIwIGIodGhlKWgocGFyZW4pbSh0KWcoc2hlbGwuKTM3CitiKFdoZW4pMjEgYihub3QpZihpbiloIEZsKHBvc2l4KWYgRnQobW8pcyhkZSwpaShCYXNoKWYoY2xlYXJzKWcodGhlKWcKKyhgKXAgRnMoLWUpcCBGdCgnKWYob3B0aW9uKWgoaW4pZyhzdWMpbShoKWYoc3Vic2hlbGxzLikyNzUKKzE0OTggeShJZikzOCBiKGEpaChjb21tYW5kKWYoaXMpZyhmb2xsbyltKHcpbShlZClqKGIpbSh5KWQoYSloKGApcAorRnMoJilwIEZ0KCcpZyhhbmQpZihqb2IpZyhjb24pbSh0cm9sKWkoaXMpZShub3QpaChhY3RpdiltKGUsKWsodGhlKWMKKyhkZWZhdWx0KWcoc3RhbmRhcmQpMTUwIDE2MDcgeShpbnB1dCllKGZvcilnKHRoZSloKGNvbW1hbmQpZihpcyloKHRoZSlnCisoZW1wdCltKHkpZyhcMDE0bGUpZihgKXAgRnMoL2Rldi9udWxsKXAgRnQoJy4pNjEgYihPdGhlcndpc2UsKTM5CitiKHRoZSlmKGluKW0odiltKG9rKW0oZWQpaChjb21tYW5kKTE1MCAxNzE3IHkoaW5oZXJpdHMpMzAKK2IodGhlKWgoXDAxNGxlKWYoZGVzY3JpcHRvcnMpZyhvZiloKHRoZSlmKGNhbGxpbmcpaShzaGVsbClmKGFzKWYobW8pcworKGRpXDAxNGVkKWcoYiltKHkpZyhyZWRpcmVjdGlvbnMuKTE1MCAxOTI2IHkgRmooMy43LjQpNjMKK2IoRW4pbSh2aXJvbm1lbiltKHQpMTUwIDIwNzMgeSBGdChXaGVuKTI4IGIoYSlpKHByb2dyYW0pZShpcyloKGluKW0odiltCisob2spbShlZCloKGl0KWYoaXMpZyhnaXYpbShlbilnKGFuKWcoYXJyYSltKHkpZyhvZilnKHN0cmluZ3MpZihjYWxsZWQpaQorKHRoZSlmIEZxKGVuKW0odmlyb25tZW4pbSh0KXIgRnQoLik0MSBiKFRoaXMpMjggYihpcyloKGEpMTUwCisyMTgyIHkobGlzdClpKG9mKWcobmFtZS12KS01IGIoYWx1ZSkzMSBiKHBhaXJzLClmKG9mKWgodGhlKWYoZm9ybSlnCitGcyhuYW1lPXZhbHVlKXAgRnQoLikyNzUgMjMyNiB5KEJhc2gpMzkgYihwcm8pbSh2aWRlcylnKHNldiltKGVyYWwpaSh3KQorbShhKW0oeXMpZyh0bylmKG1hbmlwdWxhdGUpZih0aGUpaChlbiltKHZpcm9ubWVuKW0odC4pNjkKK2IoT24pMzggYihpbiltKHYpbShvKXMoY2F0aW9uLCk0NCBiKHRoZSljKHNoZWxsKTE1MCAyNDM2Cit5KHNjYW5zKWcoaXRzKWgobyltKHduKWYoZW4pbSh2aXJvbm1lbiltKHQpaChhbmQpZihjcmVhdGVzKWkoYSlmCisocGFyYW1ldGVyKWYoZm9yKWcoZWFjKW0oaClpKG5hbWUpZShmb3VuZCwpaShhdXRvbWF0aWNhbGx5KTE1MAorMjU0NSB5KG1hcmtpbmcpMjYgYihpdClnKGZvcilnIEZxKGV4cClzKG9ydCloIEZ0KHRvKWcoYyltKGhpbGQpZihwcm8pcworKGNlc3Nlcy4pMzkgYihFeGVjdXRlZCkyNiBiKGNvbW1hbmRzKWcoaW5oZXJpdClnKHRoZSlnKGVuKW0odmlyb25tZW4pbQorKHQuKTM5IGIoVGhlKTE1MCAyNjU1IHkgRnMoZXhwb3J0KWMgRnQoYW5kKWkoYClwIEZzKGRlY2xhcmUpMjkKK2IoLXgpcCBGdCgnKTM2IGIoY29tbWFuZHMpaChhbGxvKW0odylpKHBhcmFtZXRlcnMpZShhbmQpZyhmdW5jdGlvbnMpZworKHRvKWgoYilzKGUpZShhZGRlZCloKHRvKWgoYW5kKTE1MCAyNzY1IHkoZGVsZXRlZCkyMQorYihmcm9tKWYodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQuKTM4IGIoSWYpMjAgYih0aGUpaCh2KS01CitiKGFsdWUpMjEgYihvZilnKGEpZyhwYXJhbWV0ZXIpZyhpbilmKHRoZSlnKGVuKW0odmlyb25tZW4pbSh0KWkoaXMpZQorKG1vKXMoZGlcMDE0ZWQsKWkodGhlKTE1MCAyODc0IHkobmV3KTMxIGIodiktNSBiKGFsdWUpMzIKK2IoYilzKGVjb21lcylmKHBhcnQpaChvZilmKHRoZSloKGVuKW0odmlyb25tZW4pbSh0LClnKHJlcGxhY2luZyloKHRoZSllCisob2xkLik0NCBiKFRoZSkzMSBiKGVuKW0odmlyb25tZW4pbSh0KWgoaW5oZXJpdGVkKTE1MAorMjk4NCB5KGIpbSh5KWYoYW4pbSh5KWcoZXhlY3V0ZWQpaChjb21tYW5kKWYoY29uc2lzdHMpZyhvZilnKHRoZSlnCisoc2hlbGwncyloKGluaXRpYWwpZyhlbiltKHZpcm9ubWVuKW0odCwpZyh3aG9zZSlmKHYpLTUKK2IoYWx1ZXMpMzEgYihtYSltKHkpaChiKXMoZSkxNTAgMzA5MyB5KG1vKXMoZGlcMDE0ZWQpMjYKK2IoaW4pZyh0aGUpaChzaGVsbCwpaChsZXNzKWYoYW4pbSh5KWcocGFpcnMpZihyZW1vKW0odiltKGVkKWkoYiltKHkpZgorKHRoZSlnIEZzKHVuc2V0KWUgRnQoYW5kKWgoYClwIEZzKGV4cG9ydClqKC1uKXAgRnQoJyllKGNvbW1hbmRzLClnCisocGx1cykxNTAgMzIwMyB5KGFuKW0oeSlrKGFkZGl0aW9ucylmKHZpYSloKHRoZSlnIEZzKGV4cG9ydClkCitGdChhbmQpaShgKXAgRnMoZGVjbGFyZSlmKC14KXAgRnQoJyloKGNvbW1hbmRzLikyNzUgMzM0NworeShUaGUpaihlbiltKHZpcm9ubWVuKW0odClpKGZvcilmKGFuKW0oeSlnKHNpbXBsZSloKGNvbW1hbmQpZihvcilnCisoZnVuY3Rpb24pZyhtYSltKHkpZyhiKXMoZSlnKGF1Z21lbiltKHRlZCloKHRlbXApcyhvcmFyaWx5KTE1MAorMzQ1NyB5KGIpbSh5KWMocHJlXDAxNHhpbmcpZShpdClpKHdpdGgpZyhwYXJhbWV0ZXIpZyhhc3NpZ25tZW4pbSh0cywpaAorKGFzKWUoZGVzY3JpYilzKGVkKWcoaW4pZyhTZWN0aW9uKWkoMy40KWcoW1NoZWxsKWUoUCltKGFyYW1ldGVyc10sKTE1MAorMzU2NiB5KHBhZ2UpZygxNy4pNDEgYihUaGVzZSkyOSBiKGFzc2lnbm1lbiltKHQpaShzdGF0ZW1lbiltKHRzKWcKKyhhXDAxM2VjdClmKG9ubHkpZyh0aGUpZihlbiltKHZpcm9ubWVuKW0odCloKHNlZW4pZyhiKW0oeSlmKHRoYXQpaAorKGNvbW1hbmQuKTI3NSAzNzEwIHkoSWYpZCh0aGUpaChgKXAgRnMoLWspcCBGdCgnKWcob3B0aW9uKWcoaXMpZyhzZXQpZworKFwoc2VlKWgoU2VjdGlvbilmKDQuMy4xKWkoW1RoZSllKFNldClnKEJ1aWx0aW5dLCloKHBhZ2UpZig1NFwpLClpCisodGhlbillKGFsbClnKHBhcmFtZXRlcikxNTAgMzgyMCB5KGFzc2lnbm1lbiltKHRzKWkoYXJlKWcocGxhY2VkKWgoaW4pZQorKHRoZSloKGVuKW0odmlyb25tZW4pbSh0KWcoZm9yKWcoYSlnKGNvbW1hbmQsKWYobm90KWgoanVzdClmKHRob3NlKWkKKyh0aGF0KWYocHJlY2VkZSlnKHRoZSkxNTAgMzkyOSB5KGNvbW1hbmQpZyhuYW1lLikyNzUKKzQwNzMgeShXaGVuKWYoQmFzaCloKGluKW0odiltKG9rKW0oZXMpaShhbillKGV4dGVybmFsKWcoY29tbWFuZCwpZyh0aGUpCitnKHYpLTUgYihhcmlhYmxlKTMxIGIoYClwIEZzKCRfKXAgRnQoJylmKGlzKWcoc2V0KWcodG8paCh0aGUpZihmdWxsKWYKKyhwYXRoKWgobmFtZSkxNTAgNDE4MyB5KG9mKWgodGhlKWYoY29tbWFuZClnKGFuZClnKHBhc3NlZClnKHRvKWgodGhhdClnCisoY29tbWFuZClmKGluKWcoaXRzKWgoZW4pbSh2aXJvbm1lbiltKHQuKTE1MCA0MzkyIHkgRmooMy43LjUpNjMKK2IoRXhpdCk0MCBiKFN0YXR1cykxNTAgNDUzOCB5IEZ0KFRoZSkyNiBiKGV4aXQpaChzdGF0dXMpZihvZilnKGFuKWcKKyhleGVjdXRlZCloKGNvbW1hbmQpZihpcylnKHRoZSloKHYpLTUgYihhbHVlKTI2IGIocmV0dXJuZWQpZihiKW0oeSloCisodGhlKWcgRnEodyltKGFpdHBpZClrIEZ0KHN5c3RlbSlkKGNhbGwpZyhvcikxNTAgNDY0OAoreShlcXVpdiktNSBiKGFsZW4pbSh0KTMzIGIoZnVuY3Rpb24uKTQ1IGIoRXhpdCkzMiBiKHN0YXR1c2VzKWcoZmFsbClnCisoYilzKGV0KW0odyltKGVlbiloKDApZihhbmQpZigyNTUsKWkodGhvdWdoLClmKGFzKWcoZXhwbGFpbmVkKWcoYilzCisoZWxvKW0odywpaCh0aGUpMTUwIDQ3NTggeShzaGVsbClpKG1hKW0oeSlnKHVzZSlmKHYpLTUKK2IoYWx1ZXMpMzUgYihhYilzKG8pbSh2KW0oZSlnKDEyNSloKHNwKXMoZWNpYWxseSktOCBiKC4pNTQKK2IoRXhpdCkzNSBiKHN0YXR1c2VzKWcoZnJvbSlmKHNoZWxsKWgoYnVpbHRpbnMpZihhbmQpZihjb21wKXMob3VuZCkxNTAKKzQ4NjcgeShjb21tYW5kcylqKGFyZSlnKGFsc28paChsaW1pdGVkKWcodG8pZyh0aGlzKWYocmFuZ2UuKTU4CitiKFVuZGVyKTM2IGIoY2VydGFpbiloKGNpcmN1bXN0YW5jZXMsKWgodGhlKWUoc2hlbGwpaCh3aWxsKWYodXNlKTE1MAorNDk3NyB5KHNwKXMoZWNpYWwpMzEgYih2KS01IGIoYWx1ZXMpMzEgYih0bylnKGluZGljYXRlKWcoc3ApcyhlY2lcMDE0YykKK2YoZmFpbHVyZSloKG1vKXMoZGVzLikyNzUgNTEyMSB5KEYpLTggYihvcikzMiBiKHRoZSlnKHNoZWxsJ3MpZyhwdXJwKXMKKyhvc2VzLCllKGEpaihjb21tYW5kKWUod2hpYyltKGgpaChleGl0cylnKHdpdGgpZyhhKWcoemVybylnKGV4aXQpaAorKHN0YXR1cylmKGhhcylmKHN1Y2NlZWRlZC4pMTUwIDUyMzAgeShBKWUobm9uLXplcm8paChleGl0KWcoc3RhdHVzKWcKKyhpbmRpY2F0ZXMpZyhmYWlsdXJlLik0MCBiKFRoaXMpMjggYihzZWVtaW5nbHkpaShjb3VuKW0odGVyLWluKW0KKyh0dWl0aXYpbShlKWkoc2MpbShoZW1lKWUoaXMpZih1c2VkKWcoc28pMTUwIDUzNDAgeSh0aGVyZSkzNAorYihpcylnKG9uZSlnKHcpbShlbGwtZGVcMDE0bmVkKWcodyltKGEpbSh5KWcodG8paChpbmRpY2F0ZSlnKHN1Y2Nlc3MpZgorKGFuZClmKGEpaCh2KS01IGIoYXJpZXQpbSh5KTM1IGIob2YpZih3KW0oYSltKHlzKWgodG8pZihpbmRpY2F0ZSloKHYpLTUKK2IoYXJpb3VzKXAgZW9wIGVuZAogJSVQYWdlOiAzNCA0MAogVGVYRGljdCBiZWdpbiAzNCAzOSBib3AgMTUwIC0xMTYgYSBGdCgzNCkyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMjc1IDI5OSB5KEJhc2gpaChzY3JpcHRzKWcob2Z0ZW4pZyhiKXMoZWdpbilnCi0od2l0aClnIEZzKCMhKWUoL2Jpbi9iYXNoKWcgRnQoXChhc3N1bWluZylpKHRoYXQpaChCYXNoKWYoaGFzKWcoYilzCi0oZWVuKWYoaW5zdGFsbGVkKWkoaW4pMTUwIDQwOCB5KGApcCBGcygvYmluKXAgRnQoJ1wpLCkyNQotYihzaW5jZSllKHRoaXMpZyhlbnN1cmVzKWYodGhhdClpKEJhc2gpZih3aWxsKWgoYilzKGUpZSh1c2VkKWgodG8paChpbikKLW0odGVycHJldClmKHRoZSlnKHNjcmlwdCwpaShldiltKGVuKWYoaWYpZihpdCloKGlzKWYoZXhlY3V0ZWQpMTUwCi01MTggeSh1bmRlcikyOSBiKGFub3RoZXIpaChzaGVsbC4pcCBlb3AgZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkoZmFpbHVyZSkzNyBiKG1vKXMoZGVzLik2MQorYihXaGVuKTM3IGIoYSlnKGNvbW1hbmQpZyh0ZXJtaW5hdGVzKWgob24pZihhKWcoZmF0YWwpaShzaWduYWwpZih3aG9zZSkKK2YobiltKHVtKW0oYilzKGVyKWUoaXMpaSBGcShOKTEwIGIgRnQoLCkzOCBiKEJhc2gpMTUwCis0MDggeSh1c2VzKTMwIGIodGhlKWcodiktNSBiKGFsdWUpMzEgYigxMjgpcCBGcygrKXAgRnEoTik0MgorYiBGdChhcykzMCBiKHRoZSloKGV4aXQpZyhzdGF0dXMuKTI3NSA1NDggeShJZilrKGEpaChjb21tYW5kKWcoaXMpZworKG5vdClnKGZvdW5kLClnKHRoZSlnKGMpbShoaWxkKWgocHJvKXMoY2VzcyllKGNyZWF0ZWQpaSh0bylnKGV4ZWN1dGUpZworKGl0KWcocmV0dXJucylkKGEpaihzdGF0dXMpZihvZikxNTAgNjU3IHkoMTI3Lik0MiBiKElmKTMwCitiKGEpaChjb21tYW5kKWYoaXMpZyhmb3VuZClmKGJ1dCloKGlzKWcobm90KWgoZXhlY3V0YWJsZSwpaCh0aGUpZgorKHJldHVybillKHN0YXR1cylpKGlzKWYoMTI2LikyNzUgNzk2IHkoSWYpaShhKWkoY29tbWFuZClmKGZhaWxzKWcoYilzCisoZWNhdXNlKWcob2YpaChhbilmKGVycm9yKWYoZHVyaW5nKWcoZXhwYW5zaW9uKWgob3IpZyhyZWRpcmVjdGlvbiwpaQorKHRoZSlmKGV4aXQpZyhzdGF0dXMpMTUwIDkwNiB5KGlzKWMoZ3JlYXRlcilpKHRoYW4pZSh6ZXJvLikyNzUKKzEwNDUgeShUaGUpMzggYihleGl0KWgoc3RhdHVzKWcoaXMpZyh1c2VkKWYoYiltKHkpZyh0aGUpaChCYXNoKWcKKyhjb25kaXRpb25hbCloKGNvbW1hbmRzKWUoXChzZWUpaChTZWN0aW9uKWgoMy4yLjQuMiloKFtDb24tKTE1MAorMTE1NSB5KGRpdGlvbmFsKWkoQ29uc3RydWN0c10sKWgocGFnZSlmKDEwXCkpZyhhbmQpZShzb21lKWkob2YpZih0aGUpZworKGxpc3QpZyhjb25zdHJ1Y3RzKWcoXChzZWUpaChTZWN0aW9uKWYoMy4yLjMpaShbTGlzdHNdLCkxNTAKKzEyNjQgeShwYWdlKTMxIGIoOVwpLikyNzUgMTQwMyB5KEFsbCk0MCBiKG9mKWcodGhlKWgoQmFzaClmKGJ1aWx0aW5zKWYKKyhyZXR1cm4pZyhhbiloKGV4aXQpaChzdGF0dXMpZyhvZilmKHplcm8paChpZilmKHRoZXkpZyhzdWNjZWVkKWcoYW5kKWcKKyhhKWcobm9uLXplcm8pMTUwIDE1MTMgeShzdGF0dXMpMzQgYihvbilmKGZhaWx1cmUsKWkoc28pZih0aGV5KWcobWEpbQorKHkpZyhiKXMoZSlmKHVzZWQpZyhiKW0oeSlnKHRoZSloKGNvbmRpdGlvbmFsKWgoYW5kKWUobGlzdCloCisoY29uc3RydWN0cy4pNTAgYihBbGwpMzUgYihidWlsdGlucykxNTAgMTYyMyB5KHJldHVybikyOQorYihhbilpKGV4aXQpZyhzdGF0dXMpZyhvZilmKDIpaCh0bylnKGluZGljYXRlKWcoaW5jb3JyZWN0KWgodXNhZ2UuKTE1MAorMTgyNyB5IEZqKDMuNy42KTYzIGIoU2lnbmFscykxNTAgMTk3NCB5IEZ0KFdoZW4pMzYgYihCYXNoKWcoaXMpaChpbiltCisodGVyYWN0aXYpbShlLClqKGluKWModGhlKWgoYWJzZW5jZSlmKG9mKWgoYW4pbSh5KWYodHJhcHMsKWkoaXQpZQorKGlnbm9yZXMpaCBGcyhTSUdURVJNKWQgRnQoXChzbylqKHRoYXQpZyhgKXAgRnMoa2lsbCkxNTAKKzIwODMgeSgwKXAgRnQoJyljKGRvKXMoZXMpZyhub3QpZyhraWxsKWcoYW4pZyhpbiltKHRlcmFjdGl2KW0oZSlqCisoc2hlbGxcKSwpZihhbmQpZCBGcyhTSUdJTlQpZiBGdChpcylpKGNhdWdoKW0odCloKGFuZClmKGhhbmRsZWQpZihcKHNvKQoraCh0aGF0KWgodGhlKWYgRnMod2FpdCkxNTAgMjE5MyB5IEZ0KGJ1aWx0aW4pMjQgYihpcyloKGluKW0KKyh0ZXJydXB0aWJsZVwpLikzOSBiKFdoZW4pMjQgYihCYXNoKWcocmVjZWl2KW0oZXMpaihhKWQKK0ZzKFNJR0lOVClwIEZ0KCwpaChpdClnKGJyZWFrcylmKG91dCloKG9mKWYoYW4pbSh5KWgoZXhlY3V0aW5nKWgobG8pcworKG9wcy4pMTUwIDIzMDIgeShJbikzMSBiKGFsbCloKGNhc2VzLCloKEJhc2gpZihpZ25vcmVzKWcKK0ZzKFNJR1FVSVQpcCBGdCguKTQyIGIoSWYpMzIgYihqb2IpZihjb24pbSh0cm9sKWkoaXMpZShpbiloKGVcMDEzZWN0KWgKKyhcKHNlZSlmKENoYXB0ZXIpZig3KWgoW0pvYilnKENvbiltKHRyb2xdLCkxNTAgMjQxMiB5KHBhZ2UpZig5MVwpLCloCisoQmFzaCllKGlnbm9yZXMpaCBGcyhTSUdUVElOKXAgRnQoLCllIEZzKFNJR1RUT1UpcCBGdCgsKWcoYW5kKWcKK0ZzKFNJR1RTVFApcCBGdCguKTI3NSAyNTUxIHkoTm9uLWJ1aWx0aW4paShjb21tYW5kcylnKHN0YXJ0ZWQpZyhiKW0oeSlnCisoQmFzaCloKGhhKW0odiltKGUpZyhzaWduYWwpZyhoYW5kbGVycyllKHNldClpKHRvKWcodGhlKWcodiktNQorYihhbHVlcykzMSBiKGluaGVyaXRlZCkxNTAgMjY2MSB5KGIpbSh5KTM3IGIodGhlKWgoc2hlbGwpZyhmcm9tKWYoaXRzKWgKKyhwYXJlbiltKHQuKTYyIGIoV2hlbikzOCBiKGpvYilmKGNvbiltKHRyb2wpaShpcyllKG5vdCloKGluKWYKKyhlXDAxM2VjdCwpayhhc3luYyltKGhyb25vdXMpYyhjb21tYW5kcykxNTAgMjc3MCB5KGlnbm9yZSlmCitGcyhTSUdJTlQpZSBGdChhbmQpaCBGcyhTSUdRVUlUKWUgRnQoaW4paihhZGRpdGlvbilmKHRvKWkodGhlc2UpZgorKGluaGVyaXRlZClmKGhhbmRsZXJzLik1NSBiKENvbW1hbmRzKTM1IGIocnVuKWYoYXMpaShhKTE1MAorMjg4MCB5KHJlc3VsdCkyNyBiKG9mKWgoY29tbWFuZClmKHN1YnN0aXR1dGlvbiloKGlnbm9yZSlnKHRoZSlnKGspbQorKGV5YilzKG9hcmQtZ2VuZXJhdGVkKWcoam9iKWcoY29uKW0odHJvbCloKHNpZ25hbHMpZgorRnMoU0lHVFRJTilwIEZ0KCwpMTUwIDI5ODkgeSBGcyhTSUdUVE9VKXAgRnQoLCloKGFuZClnCitGcyhTSUdUU1RQKXAgRnQoLikyNzUgMzEyOSB5KFRoZSloKHNoZWxsKWkoZXhpdHMpZyhiKW0oeSlmKGRlZmF1bHQpZworKHVwKXMob24pZihyZWNlaXB0KWkob2YpZihhKWggRnMoU0lHSFVQKXAgRnQoLik0MiBiKEJlZm9yZSkzMgorYihleGl0aW5nLCloKGFuKWUoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbCkxNTAgMzIzOAoreShyZXNlbmRzKTQxIGIodGhlKWkgRnMoU0lHSFVQKWUgRnQodG8paShhbGwpZyhqb2JzLClpKHJ1bm5pbmcpYyhvciloCisoc3RvcHApcyhlZC4pNzYgYihTdG9wcClzKGVkKTQxIGIoam9icyloKGFyZSloKHNlbiltKHQpZworRnMoU0lHQ09OVClkIEZ0KHRvKTE1MCAzMzQ4IHkoZW5zdXJlKTMyIGIodGhhdCloKHRoZXkpZyhyZWNlaXYpbShlKWkKKyh0aGUpZSBGcyhTSUdIVVApcCBGdCguKTQ3IGIoVCktOCBiKG8pMzMgYihwcmV2KW0oZW4pbSh0KWcodGhlKWcoc2hlbGwpCitnKGZyb20pZyhzZW5kaW5nKWYodGhlKWggRnMoU0lHSFVQKWUgRnQoc2lnbmFsKTE1MCAzNDU3Cit5KHRvKWkoYSlnKHBhcnRpY3VsYXIpZyhqb2IsKWcoaXQpZyhzaG91bGQpZihiKXMoZSlnKHJlbW8pbSh2KW0oZWQpaAorKGZyb20pZyh0aGUpZihqb2JzKWcodGFibGUpaSh3aXRoKWUodGhlKWggRnMoZGlzb3duKWUKK0Z0KGJ1aWx0aW4paChcKHNlZSkxNTAgMzU2NyB5KFNlY3Rpb24pZig3LjIpZyhbSm9iKWYoQ29uKW0odHJvbCloCisoQnVpbHRpbnNdLClnKHBhZ2UpZyg5MlwpKWgob3IpZShtYXJrKW0oZWQpZyh0byloKG5vdClmKHJlY2VpdiltKGUpaQorRnMoU0lHSFVQKWQgRnQodXNpbmcpaCBGcyhkaXNvd24pMTUwIDM2NzYgeSgtaClwIEZ0KC4pMjc1CiszODE2IHkoSWYpMzggYih0aGUpaCBGcyhodXBvbmV4aXQpZSBGdChzaGVsbClpKG9wdGlvbilnKGhhcylnKGIpcyhlZW4pZgorKHNldClpKHdpdGgpZiBGcyhzaG9wdCllIEZ0KFwoc2VlKWooU2VjdGlvbilnKDQuMy4yKWgoW1RoZSllKFNob3B0KTE1MAorMzkyNSB5KEJ1aWx0aW5dLCkzMSBiKHBhZ2UpZyg1N1wpLCloKEJhc2gpZihzZW5kcyllKGEpaQorRnMoU0lHSFVQKWUgRnQodG8paShhbGwpZyhqb2JzKWYod2hlbilmKGFuKWkoaW4pbSh0ZXJhY3RpdiltKGUpaShsb2dpbikKK2Uoc2hlbGwpZyhleGl0cy4pMjc1IDQwNjQgeShJZikzOCBiKEJhc2gpaChpcylnKHcpbShhaXRpbmcpaChmb3IpZihhKWcKKyhjb21tYW5kKWYodG8paShjb21wbGV0ZSlnKGFuZCllKHJlY2VpdiltKGVzKWooYSllKHNpZ25hbCloKGZvcillKHdoaWMpCittKGgpaChhKWcodHJhcCkxNTAgNDE3NCB5KGhhcyljKGIpcyhlZW4pZihzZXQsKWkodGhlKWYodHJhcClnKHdpbGwpZworKG5vdClnKGIpcyhlKWYoZXhlY3V0ZWQpaSh1biltKHRpbClmKHRoZSlnKGNvbW1hbmQpZihjb21wbGV0ZXMuKTU1CitiKFdoZW4pMzUgYihCYXNoKWcoaXMpMTUwIDQyODQgeSh3KW0oYWl0aW5nKWooZm9yKWYoYW4pZyhhc3luYyltCisoaHJvbm91cylnKGNvbW1hbmQpZyh2aWEpaCh0aGUpZiBGcyh3YWl0KWYgRnQoYnVpbHRpbiwpaSh0aGUpZworKHJlY2VwdGlvbilnKG9mKWYoYSlnKHNpZ25hbCloKGZvcikxNTAgNDM5MyB5KHdoaWMpbShoKWQoYSlnKHRyYXApZworKGhhcylnKGIpcyhlZW4pZihzZXQpaCh3aWxsKWgoY2F1c2UpZih0aGUpZyBGcyh3YWl0KWYKK0Z0KGJ1aWx0aW4paCh0bylnKHJldHVybilmKGltbWVkaWF0ZWx5KWkod2l0aClmKGFuKWcoZXhpdCkxNTAKKzQ1MDMgeShzdGF0dXMpYyhncmVhdGVyKWcodGhhbilmKDEyOCwpaShpbW1lZGlhdGVseSlnKGFmdGVyKWYod2hpYyltKGgpCitmKHRoZSloKHRyYXApZihpcylnKGV4ZWN1dGVkLikxNTAgNDc0MiB5IEZyKDMuOCk2OCBiKFNoZWxsKTQ1CitiKFNjcmlwdHMpMTUwIDQ5MDIgeSBGdChBKTMwIGIoc2hlbGwpZihzY3JpcHQpaChpcylmKGEpaCh0ZXh0KWgoXDAxNGxlKQorZihjb24pbSh0YWluaW5nKWgoc2hlbGwpZihjb21tYW5kcy4pNDAgYihXaGVuKTI5IGIoc3VjKW0oaClnKGEpaAorKFwwMTRsZSlnKGlzKWYodXNlZClnKGFzKWgodGhlKWcoXDAxNHJzdCkxNTAgNTAxMSB5KG5vbi1vcHRpb24paQorKGFyZ3VtZW4pbSh0KWgod2hlbillKGluKW0odiltKG9raW5nKWkoQmFzaCwpZyhhbmQpZShuZWl0aGVyKWgodGhlKWcoYCkKK3AgRnMoLWMpcCBGdCgnKWcobm9yKWcoYClwIEZzKC1zKXAgRnQoJylnKG9wdGlvbilnKGlzKWcoc3VwcGxpZWQpMTUwCis1MTIxIHkoXChzZWUpMjUgYihTZWN0aW9uKWgoNi4xKWYoW0luKW0odiltKG9raW5nKWgoQmFzaF0sKWcocGFnZSlmCisoNzNcKSwpaShCYXNoKWUocmVhZHMpZihhbmQpZyhleGVjdXRlcylpKGNvbW1hbmRzKWUoZnJvbSlnKHRoZSloCisoXDAxNGxlLCkxNTAgNTIzMCB5KHRoZW4pMzIgYihleGl0cy4pNDYgYihUaGlzKTMyIGIobW8pcyhkZSlmKG9mKWkob3ApcworKGVyYXRpb24pZihjcmVhdGVzKWkoYSllKG5vbi1pbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsLik0NgorYihUaGUpMzEgYihzaGVsbClpKFwwMTRyc3QpZShzZWFyYyltKGhlcykxNTAgNTM0MCB5KGZvcilkKHRoZSlnKFwwMTRsZSkKK2coaW4pZyh0aGUpZyhjdXJyZW4pbSh0KWYoZGlyZWN0b3J5KS04IGIoLCkzMCBiKGFuZClkKGxvKXMob2tzKWkoaW4pZQorKHRoZSlpKGRpcmVjdG9yaWVzKWcoaW4pZSBGcygkUEFUSClnIEZ0KGlmKWgobm90KWcoZm91bmQpZSh0aGVyZS4pcAorZW9wIGVuZAogJSVQYWdlOiAzNSA0MQotVGVYRGljdCBiZWdpbiAzNSA0MCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNDopNDEKLWIoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDM1KTE1MCAyOTkgeSBGbyg0KTgwCitUZVhEaWN0IGJlZ2luIDM1IDQwIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigzOik0MQorYihCYXNpYykzMiBiKFNoZWxsKWUoRiktOCBiKGVhdHVyZXMpMjI0NiBiKDM1KTI3NSAyOTkKK3koV2hlbikzNCBiKEJhc2gpaChydW5zKWUoYSlpKHNoZWxsKWcoc2NyaXB0LClnKGl0KWgoc2V0cylmKHRoZSlmKHNwKXMKKyhlY2lhbClpKHBhcmFtZXRlcilmIEZzKDApZiBGdCh0byloKHRoZSlnKG5hbWUpZyhvZilnKHRoZSlnKFwwMTRsZSwpMTUwCis0MDggeShyYXRoZXIpayh0aGFuKWcodGhlKWgobmFtZSlmKG9mKWgodGhlKWYoc2hlbGwsKWooYW5kKWQodGhlKWgocClzCisob3NpdGlvbmFsKWcocGFyYW1ldGVycylmKGFyZSloKHNldClnKHRvKWcodGhlKWcocmVtYWluLSkxNTAKKzUxOCB5KGluZylmKGFyZ3VtZW4pbSh0cywpaihpZilkKGFuKW0oeSlnKGFyZSlnKGdpdiltKGVuLik2NworYihJZikzOSBiKG5vKWcoYWRkaXRpb25hbClnKGFyZ3VtZW4pbSh0cyloKGFyZSlmKHN1cHBsaWVkLCloKHRoZSlmKHApcworKG9zaXRpb25hbCkxNTAgNjI4IHkocGFyYW1ldGVycykzMSBiKGFyZSlmKHVuc2V0LikyNzUKKzc2MiB5KEEpMzkgYihzaGVsbCloKHNjcmlwdClmKG1hKW0oeSloKGIpcyhlKWYobWFkZSloKGV4ZWN1dGFibGUpaChiKW0KKyh5KWUodXNpbmcpZyh0aGUpaCBGcyhjaG1vZCllIEZ0KGNvbW1hbmQpaCh0byloKHR1cm4pZShvbilpKHRoZSkxNTAKKzg3MiB5KGV4ZWN1dGUpaihiaXQuKTczIGIoV2hlbik0MSBiKEJhc2gpZyhcMDE0bmRzKWUoc3VjKW0oaClpKGEpaAorKFwwMTRsZSlmKHdoaWxlKWcoc2VhcmMpbShoaW5nKWgodGhlKWYgRnMoJFBBVEgpZiBGdChmb3IpaChhKWgKKyhjb21tYW5kLCloKGl0KTE1MCA5ODEgeShzcGEpbSh3bnMpMzAgYihhKWcoc3Vic2hlbGwpZyh0byloKGV4ZWN1dGUpaAorKGl0Lik0MSBiKEluKTMwIGIob3RoZXIpZyh3KW0ob3JkcywpZyhleGVjdXRpbmcpMzkwIDExMTYKK3kgRnMoZmlsZW5hbWUpNDYgYiBGaShhcmd1bWVudHMpMTUwIDEyNTAgeSBGdChpcykzMCBiKGVxdWl2KS01CitiKGFsZW4pbSh0KTMyIGIodG8pZihleGVjdXRpbmcpMzkwIDEzODUgeSBGcyhiYXNoKTQ3CitiKGZpbGVuYW1lKWUgRmkoYXJndW1lbnRzKTE1MCAxNTE5IHkgRnQoaWYpMzAgYiBGcyhmaWxlbmFtZSlkCitGdChpcylqKGFuKWYoZXhlY3V0YWJsZSlqKHNoZWxsKWUoc2NyaXB0Lik0MCBiKFRoaXMpMjkKK2Ioc3Vic2hlbGwpZyhyZWluaXRpYWxpemVzKWkoaXRzZWxmLClnKHNvKWYodGhhdCloKHRoZSllKGVcMDEzZWN0KTE1MAorMTYyOSB5KGlzKTM2IGIoYXMpaChpZilnKGEpZihuZXcpZyhzaGVsbCloKGhhZClmKGIpcyhlZW4pZyhpbiltKHYpbShvaykKK20oZWQpaCh0byloKGluKW0odGVycHJldCllKHRoZSloKHNjcmlwdCwpaCh3aXRoKWUodGhlKWgoZXhjZXB0aW9uKWgKKyh0aGF0KWYodGhlKTE1MCAxNzM4IHkobG8pcyhjYXRpb25zKTI1IGIob2YpZyhjb21tYW5kcyllKHJlbWVtKW0oYilzCisoZXJlZCloKGIpbSh5KWcodGhlKWcocGFyZW4pbSh0KWcoXChzZWUpaCh0aGUpZihkZXNjcmlwdGlvbilnKG9mKWcKK0ZzKGhhc2gpZiBGdChpbiloKFNlY3Rpb24paCg0LjEpMTUwIDE4NDggeShbQm91cm5lKTMwCitiKFNoZWxsKWgoQnVpbHRpbnNdLClnKHBhZ2UpZygzN1wpKWgoYXJlKWUocmV0YWluZWQpaChiKW0oeSlmKHRoZSloKGMpbQorKGhpbGQuKTI3NSAxOTgzIHkoTW9zdCkzNiBiKHYpbShlcnNpb25zKWcob2YpZyhVbml4KWYobWFrKW0oZSloKHRoaXMpZworKGEpZyhwYXJ0KWYob2YpaCh0aGUpZyhvcClzKGVyYXRpbmcpZyhzeXN0ZW0ncylmKGNvbW1hbmQpaChleGVjdXRpb24pCisxNTAgMjA5MiB5KG1lYyltKGhhbmlzbS4pNTAgYihJZikzMyBiKHRoZSlnKFwwMTRyc3QpZyhsaW5lKWgob2YpZihhKWgKKyhzY3JpcHQpZihiKXMoZWdpbnMpZyh3aXRoKWcodGhlKWcodCltKHcpbShvKWkoYyltKGhhcmFjdGVycylnKGApcAorRnMoIyEpcCBGdCgnLClmKHRoZSlnKHJlbWFpbmRlcikxNTAgMjIwMiB5KG9mKWQodGhlKWcobGluZSloKHNwKXMKKyhlY2lcMDE0ZXMpZShhbiloKGluKW0odGVycHJldGVyKWcoZm9yKWcodGhlKWcocHJvZ3JhbS4pNDMKK2IoVGgpbSh1cywpMzAgYih5KW0ob3UpaChjYW4paChzcClzKGVjaWZ5KWUoQmFzaCwpaSBGcyhhd2spcAorRnQoLCllKFApbShlcmwsKTE1MCAyMzExIHkob3IpZyhzb21lKWgob3RoZXIpZyhpbiltKHRlcnByZXRlcilnKGFuZCllCisod3JpdGUpaSh0aGUpZihyZXN0KWgob2YpZyh0aGUpZihzY3JpcHQpZyhcMDE0bGUpaChpbilmKHRoYXQpaAorKGxhbmd1YWdlLikyNzUgMjQ0NiB5KFRoZSk0MCBiKGFyZ3VtZW4pbSh0cyloKHRvKWcodGhlKWcoaW4pbQorKHRlcnByZXRlcilnKGNvbnNpc3QpZyhvZilnKGEpZyhzaW5nbGUpaChvcHRpb25hbClmKGFyZ3VtZW4pbSh0KWgKKyhmb2xsbyltKHdpbmcpZyh0aGUpMTUwIDI1NTUgeShpbiltKHRlcnByZXRlcikzMyBiKG5hbWUpaChvbilmKHRoZSlnCisoXDAxNHJzdClmKGxpbmUpaShvZilmKHRoZSlnKHNjcmlwdClnKFwwMTRsZSwpaChmb2xsbyltKHcpbShlZCloKGIpbSh5KQorZSh0aGUpZyhuYW1lKWcob2YpZyh0aGUpaChzY3JpcHQpZihcMDE0bGUsKTE1MCAyNjY1IHkoZm9sbG8pbSh3KW0oZWQpZworKGIpbSh5KWYodGhlKWYocmVzdCloKG9mKWcodGhlKWYoYXJndW1lbiltKHRzLik0NSBiKEJhc2gpMzEKK2Iod2lsbCloKHApcyhlcmZvcm0pZSh0aGlzKWkoYWN0aW9uKWgob24pZShvcClzKGVyYXRpbmcpaChzeXN0ZW1zKTE1MAorMjc3NSB5KHRoYXQpMjQgYihkbylnKG5vdClmKGhhbmRsZSlnKGl0KWgodGhlbXNlbHYpbShlcy4pNDAKK2IoTm90ZSkyNSBiKHRoYXQpZihzb21lKWcob2xkZXIpZyh2KW0oZXJzaW9ucylmKG9mKWgoVW5peClmKGxpbWl0KWkKKyh0aGUpZihpbiltKHRlcnByZXRlcikxNTAgMjg4NCB5KG5hbWUpMzAgYihhbmQpZyhhcmd1bWVuKW0odCloKHRvKWcoYSlnCisobWF4aW0pbSh1bSlmKG9mKWgoMzIpZyhjKW0oaGFyYWN0ZXJzLikyNzUgMzAxOSB5KEJhc2gpaChzY3JpcHRzKWcKKyhvZnRlbilnKGIpcyhlZ2luKWcod2l0aClnIEZzKCMhKWUoL2Jpbi9iYXNoKWcgRnQoXChhc3N1bWluZylpKHRoYXQpaAorKEJhc2gpZihoYXMpZyhiKXMoZWVuKWYoaW5zdGFsbGVkKWkoaW4pMTUwIDMxMjggeShgKXAKK0ZzKC9iaW4pcCBGdCgnXCksKTI1IGIoc2luY2UpZSh0aGlzKWcoZW5zdXJlcylmKHRoYXQpaShCYXNoKWYod2lsbCloKGIpCitzKGUpZSh1c2VkKWgodG8paChpbiltKHRlcnByZXQpZih0aGUpZyhzY3JpcHQsKWkoZXYpbShlbilmKGlmKWYoaXQpaAorKGlzKWYoZXhlY3V0ZWQpMTUwIDMyMzggeSh1bmRlcikyOSBiKGFub3RoZXIpaChzaGVsbC4pcAorZW9wIGVuZAorJSVQYWdlOiAzNiA0MgorVGVYRGljdCBiZWdpbiAzNiA0MSBib3AgZW9wIGVuZAorJSVQYWdlOiAzNyA0MworVGVYRGljdCBiZWdpbiAzNyA0MiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNDopNDEKK2IoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDM3KTE1MCAyOTkgeSBGbyg0KTgwCiBiKFNoZWxsKTUzIGIoQnVpbHRpbilmKENvbW1hbmRzKTE1MCA1NDEgeSBGdChCdWlsdGluKTM0CiBiKGNvbW1hbmRzKWYoYXJlKWgoY29uKW0odGFpbmVkKWcod2l0aGluKWYodGhlKWgoc2hlbGwpZyhpdHNlbGYuKTUwCiBiKFdoZW4pMzQgYih0aGUpZihuYW1lKWgob2YpZihhKWgoYnVpbHRpbilmKGNvbS0pMTUwCkBAIC03MzY1LDEyICs3NDY3LDEyIEBACiAob3RoZXIpZyhjKW0oaGFwdGVyczopNjkgYihidWlsdGluKTQzIGIoY29tbWFuZHMpaCh3aGljKW0oaCkxNTAKIDE0NzMgeShwcm8pbSh2aWRlKTIzIGIodGhlKWgoQmFzaClmKGluKW0odGVyZmFjZSlpKHRvKWYodGhlKWcoam9iKWYKIChjb24pbSh0cm9sKWkoZmFjaWxpdGllcylnKFwoc2VlKWYoU2VjdGlvbiloKDcuMilmKFtKb2IpZihDb24pbSh0cm9sKWgKLShCdWlsdGluc10sKTE1MCAxNTgzIHkocGFnZSk0MCBiKDkwXCksKWoodGhlKWMoZGlyZWN0b3J5KWgoc3RhYyltKGspZworKEJ1aWx0aW5zXSwpMTUwIDE1ODMgeShwYWdlKTQwIGIoOTJcKSwpaih0aGUpYyhkaXJlY3RvcnkpaChzdGFjKW0oaylnCiAoXChzZWUpZyhTZWN0aW9uKWcoNi44LjEpaChbRGlyZWN0b3J5KWcoU3RhYyltKGspZihCdWlsdGluc10sKWkocGFnZSllCi0oODFcKSwpaih0aGUpMTUwIDE2OTIgeShjb21tYW5kKTIzIGIoaGlzdG9yeSloKFwoc2VlKWcoU2VjdGlvbilnKDkuMiloCi0oW0Jhc2gpZihIaXN0b3J5KWcoQnVpbHRpbnNdLCloKHBhZ2UpZygxMjFcKSwpaChhbmQpZCh0aGUpaAorKDgzXCksKWoodGhlKTE1MCAxNjkyIHkoY29tbWFuZCkyMyBiKGhpc3RvcnkpaChcKHNlZSlnKFNlY3Rpb24pZyg5LjIpaAorKFtCYXNoKWYoSGlzdG9yeSlnKEJ1aWx0aW5zXSwpaChwYWdlKWcoMTI1XCksKWgoYW5kKWQodGhlKWgKIChwcm9ncmFtbWFibGUpMTUwIDE4MDIgeShjb21wbGV0aW9uKTMyIGIoZmFjaWxpdGllcylnKFwoc2VlKWcoU2VjdGlvbilmCi0oOC43KWcoW1Byb2dyYW1tYWJsZSlnKENvbXBsZXRpb24pZyhCdWlsdGluc10sKWcocGFnZSloKDExN1wpLikyNzUKKyg4LjcpZyhbUHJvZ3JhbW1hYmxlKWcoQ29tcGxldGlvbilnKEJ1aWx0aW5zXSwpZyhwYWdlKWgoMTE5XCkuKTI3NQogMTkzOSB5KE1hbiltKHkpZihvZilmKHRoZSloKGJ1aWx0aW5zKWUoaGEpbSh2KW0oZSlqKGIpcyhlZW4pZShleHRlbmRlZCkKIGcoYiltKHkpZyBGbChwb3NpeClnIEZ0KG9yKWcoQmFzaC4pMjc1IDIwNzYgeShVbmxlc3MpMzkKIGIob3RoZXJ3aXNlKWgobm90ZWQsKWkoZWFjKW0oaClmKGJ1aWx0aW4pZShjb21tYW5kKWcoZG8pcyhjdW1lbiltKHRlZClnCkBAIC03NDIwLDggKzc1MjIsOCBAQAogMzggYihUaGlzKTIwIGIoYnVpbHRpbiloKGlzKWYoZXF1aXYpLTUgYihhbGVuKW0odCk2MzAKIDUwNDIgeSh0bykzMSBiIEZzKHNvdXJjZSlwIEZ0KC4pMTUwIDUyMDQgeSBGcyhicmVhayk4NzAKIDUzNDAgeShicmVhayk0NiBiKFspcCBGaShuKTExIGIgRnMoXSlwIGVvcCBlbmQKLSUlUGFnZTogMzYgNDIKLVRlWERpY3QgYmVnaW4gMzYgNDEgYm9wIDE1MCAtMTE2IGEgRnQoMzYpMjU3MiBiKEJhc2gpMzEKKyUlUGFnZTogMzggNDQKK1RlWERpY3QgYmVnaW4gMzggNDMgYm9wIDE1MCAtMTE2IGEgRnQoMzgpMjU3MiBiKEJhc2gpMzEKIGIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShFeGl0KTQ1IGIoZnJvbSlmKGEpZwogRnMoZm9yKXAgRnQoLClrIEZzKHdoaWxlKXAgRnQoLCllIEZzKHVudGlsKXAgRnQoLCloKG9yKWQKIEZzKHNlbGVjdClmIEZ0KGxvKXMob3AuKTgzIGIoSWYpNDQgYiBGcShuKWcgRnQoaXMpZyhzdXBwbGllZCwpaih0aGUpZQpAQCAtNzQyOSwxNzI3ICs3NTMxLDE4MTAgQEAKIGIgRnEobik0MCBiIEZ0KG0pbSh1c3QpZyhiKXMoZSlmKGdyZWF0ZXIpaih0aGFuKWQob3IpaShlcXVhbClmKHRvKWgoMS4pCiA3MCBiKFRoZSk0MCBiKHJldHVybik2MzAgNTE4IHkoc3RhdHVzKTMxIGIoaXMpZih6ZXJvKWgodW5sZXNzKWYKIEZxKG4pZyBGdChpcylnKG5vdCloKGdyZWF0ZXIpZyh0aGFuKWcob3IpZihlcXVhbCloKHRvKWcoMS4pMTUwCi02NzEgeSBGcyhjZCk4NzAgODAzIHkoY2QpNDcgYihbLUx8LVBdKWYoWylwIEZpKGRpcmVjdG9yeSkxMQotYiBGcyhdKTYzMCA5MzQgeSBGdChDaGFuZ2UpMzYgYih0aGUpaChjdXJyZW4pbSh0KWYodyltKG9ya2luZylnCi0oZGlyZWN0b3J5KWgodG8pZyBGcShkaXJlY3RvcnkpOCBiIEZ0KC4pNTkgYihJZikzNSBiCi1GcShkaXJlY3RvcnkpNDUgYiBGdChpcykzNiBiKG5vdCloKGdpdiltKGVuLCk2MzAgMTA0NAorNjg3IHkgRnMoY2QpODcwIDgyNyB5KGNkKTQ3IGIoWy1MfFstUClmKFstZV1dXSlnKFspcAorRmkoZGlyZWN0b3J5KTExIGIgRnMoXSk2MzAgOTY2IHkgRnQoQ2hhbmdlKTM2IGIodGhlKWgoY3VycmVuKW0odClmKHcpbQorKG9ya2luZylnKGRpcmVjdG9yeSloKHRvKWcgRnEoZGlyZWN0b3J5KTggYiBGdCguKTU5IGIoSWYpMzUKK2IgRnEoZGlyZWN0b3J5KTQ1IGIgRnQoaXMpMzYgYihub3QpaChnaXYpbShlbiwpNjMwIDEwNzYKIHkodGhlKTMxIGIodiktNSBiKGFsdWUpMzEgYihvZilnKHRoZSlnIEZzKEhPTUUpZSBGdChzaGVsbClpKHYpLTUKIGIoYXJpYWJsZSkzMiBiKGlzKWYodXNlZC4pNDAgYihJZikzMSBiKHRoZSlnKHNoZWxsKWcodiktNQotYihhcmlhYmxlKTMxIGIgRnMoQ0RQQVRIKWUgRnQoZXhpc3RzLCk2MzAgMTE1NCB5KGl0KWYoaXMpZih1c2VkKWYoYXMpaAorYihhcmlhYmxlKTMxIGIgRnMoQ0RQQVRIKWUgRnQoZXhpc3RzLCk2MzAgMTE4NiB5KGl0KWYoaXMpZih1c2VkKWYoYXMpaAogKGEpaChzZWFyYyltKGgpZihwYXRoLik0MCBiKElmKTI2IGIgRnEoZGlyZWN0b3J5KTM1IGIKIEZ0KGIpcyhlZ2lucykyNyBiKHdpdGgpZyhhKWcoc2xhc2gsKWggRnMoQ0RQQVRIKWQgRnQoaXMpaShub3QpZyh1c2VkLikKLTYzMCAxMjg1IHkoVGhlKWgoYClwIEZzKC1QKXAgRnQoJyloKG9wdGlvbilnKG1lYW5zKWYodG8paChub3QpZyhmb2xsbyltCis2MzAgMTMyNSB5KFRoZSloKGApcCBGcygtUClwIEZ0KCcpaChvcHRpb24pZyhtZWFucylmKHRvKWgobm90KWcoZm9sbG8pbQogKHcpaChzeW0pbShiKXMob2xpYylmKGxpbmtzOylnKHN5bSltKGIpcyhvbGljKWcobGlua3MpZihhcmUpaChmb2xsbyltCi0odyltKGVkKTYzMCAxMzk1IHkoYiltKHkpMjMgYihkZWZhdWx0KWgob3IpZyh3aXRoKWYodGhlKWgoYClwCi1GcygtTClwIEZ0KCcpZihvcHRpb24uKTM5IGIoSWYpMjMgYiBGcShkaXJlY3RvcnkpMzIgYgotRnQoaXMpMjMgYihgKXAgRnMoLSlwIEZ0KCcsKWooaXQpZShpcylmKGVxdWl2KS01IGIoYWxlbiltKHQpMjUKLWIodG8pZyBGcygkT0xEUFdEKXAgRnQoLik2MzAgMTUyNiB5KElmKTMzIGIoYSloKG5vbi1lbXB0KW0oeSlnCi0oZGlyZWN0b3J5KWcobmFtZSlmKGZyb20pZyBGcyhDRFBBVEgpZiBGdChpcyloKHVzZWQsKWgob3IpZyhpZilmKGApcAotRnMoLSlwIEZ0KCcpaChpcylmKHRoZSloKFwwMTRyc3QpZihhcmd1LSk2MzAgMTYzNiB5KG1lbiltKHQsKTI4CisodyltKGVkKTYzMCAxNDM1IHkoYiltKHkpMjIgYihkZWZhdWx0KWgob3IpZih3aXRoKWcodGhlKWcoYClwCitGcygtTClwIEZ0KCcpZyhvcHRpb24uKTM5IGIoSWYpMjIgYih0aGUpZyhgKXAgRnMoLWUpcAorRnQoJylnKG9wdGlvbiloKGlzKWYoc3VwcGxpZWQpZih3aXRoKWgoYClwIEZzKC1QKXAgRnQoJylnKGFuZClnKHRoZSk2MzAKKzE1NDQgeShjdXJyZW4pbSh0KTMyIGIodyltKG9ya2luZyloKGRpcmVjdG9yeSlmKGNhbm5vdCloKGIpcyhlKWYKKyhzdWNjZXNzZnVsbHkpZyhkZXRlcm1pbmVkKWcoYWZ0ZXIpaChhKWYoc3VjY2Vzc2Z1bCk2MzAKKzE2NTQgeShkaXJlY3RvcnkpZihjKW0oaGFuZ2UsKWggRnMoY2QpZSBGdCh3aWxsKWgocmV0dXJuKWYoYW4pZworKHVuc3VjY2Vzc2Z1bClnKHN0YXR1cy4pNDIgYihJZikzMCBiIEZxKGRpcmVjdG9yeSkzOQorYiBGdChpcykzMSBiKGApcCBGcygtKXAgRnQoJywpZyhpdClnKGlzKTYzMCAxNzYzIHkoZXF1aXYpLTUKK2IoYWxlbiltKHQpMzIgYih0bylmIEZzKCRPTERQV0QpcCBGdCguKTYzMCAxOTAzIHkoSWYpaShhKWgobm9uLWVtcHQpbQorKHkpZyhkaXJlY3RvcnkpZyhuYW1lKWYoZnJvbSlnIEZzKENEUEFUSClmIEZ0KGlzKWgodXNlZCwpaChvcilnKGlmKWYoYCkKK3AgRnMoLSlwIEZ0KCcpaChpcylmKHRoZSloKFwwMTRyc3QpZihhcmd1LSk2MzAgMjAxMiB5KG1lbiltKHQsKTI4CiBiKGFuZCllKHRoZSloKGRpcmVjdG9yeSlnKGMpbShoYW5nZSloKGlzKWYoc3VjY2Vzc2Z1bCwpaCh0aGUpZgotKGFic29sdXRlKWcocGF0aG5hbWUpZyhvZilmKHRoZSloKG5ldyk2MzAgMTc0NSB5KHcpbShvcmtpbmcpaworKGFic29sdXRlKWcocGF0aG5hbWUpZyhvZilmKHRoZSloKG5ldyk2MzAgMjEyMiB5KHcpbShvcmtpbmcpawogKGRpcmVjdG9yeSlnKGlzKWYod3JpdHRlbilnKHRvKWkodGhlKWUoc3RhbmRhcmQpZyhvdXRwdXQuKTYzMAotMTg3NyB5KFRoZSlmKHJldHVybilnKHN0YXR1cyloKGlzKWYoemVybylpKGlmKWUodGhlKWgoZGlyZWN0b3J5KWcoaXMpZwotKHN1Y2Nlc3NmdWxseSlnKGMpbShoYW5nZWQsKWcobm9uLXplcm8pZyhvdGgtKTYzMCAxOTg3Ci15KGVyd2lzZS4pMTUwIDIxNDAgeSBGcyhjb250aW51ZSk4NzAgMjI3MSB5KGNvbnRpbnVlKTQ2Ci1iKFspcCBGaShuKTExIGIgRnMoXSk2MzAgMjQwMyB5IEZ0KFJlc3VtZSkzMiBiKHRoZSlnKG5leHQpZyhpdGVyYXRpb24paQorMjI2MiB5KFRoZSlmKHJldHVybilnKHN0YXR1cyloKGlzKWYoemVybylpKGlmKWUodGhlKWgoZGlyZWN0b3J5KWcoaXMpZworKHN1Y2Nlc3NmdWxseSlnKGMpbShoYW5nZWQsKWcobm9uLXplcm8pZyhvdGgtKTYzMCAyMzcxCit5KGVyd2lzZS4pMTUwIDI1NDAgeSBGcyhjb250aW51ZSk4NzAgMjY4MCB5KGNvbnRpbnVlKTQ2CitiKFspcCBGaShuKTExIGIgRnMoXSk2MzAgMjgxOSB5IEZ0KFJlc3VtZSkzMiBiKHRoZSlnKG5leHQpZyhpdGVyYXRpb24paQogKG9mKWUoYW4pZyhlbmNsb3NpbmcpaCBGcyhmb3IpcCBGdCgsKWYgRnMod2hpbGUpcCBGdCgsKWYKLUZzKHVudGlsKXAgRnQoLClnKG9yKWggRnMoc2VsZWN0KWYgRnQobG8pcyhvcC4pNjMwIDI1MTMKK0ZzKHVudGlsKXAgRnQoLClnKG9yKWggRnMoc2VsZWN0KWYgRnQobG8pcyhvcC4pNjMwIDI5MjkKIHkoSWYpZiBGcShuKWggRnQoaXMpZyhzdXBwbGllZCwpZSh0aGUpaihleGVjdXRpb24pZyhvZilmKHRoZSlnCiBGcShuKXAgRnQodGgpZihlbmNsb3NpbmcpaShsbylzKG9wKWYoaXMpZihyZXN1bWVkLik0MgotYiBGcShuKTMwIGIgRnQobSltKHVzdCloKGIpcyhlKTYzMCAyNjIyIHkoZ3JlYXRlcikzOQorYiBGcShuKTMwIGIgRnQobSltKHVzdCloKGIpcyhlKTYzMCAzMDM5IHkoZ3JlYXRlcikzOQogYih0aGFuKWYob3IpZyhlcXVhbClnKHRvKWgoMS4pNjMgYihUaGUpMzggYihyZXR1cm4pZShzdGF0dXMpaihpcyllCi0oemVybylpKHVubGVzcyllIEZxKG4paCBGdChpcylnKG5vdClnKGdyZWF0ZXIpNjMwIDI3MzIKLXkodGhhbikzMCBiKG9yKWcoZXF1YWwpaCh0bylnKDEuKTE1MCAyODg1IHkgRnMoZXZhbCk4NzAKLTMwMTcgeShldmFsKTQ3IGIoWylwIEZpKGFyZ3VtZW50cykxMSBiIEZzKF0pNjMwIDMxNDgKKyh6ZXJvKWkodW5sZXNzKWUgRnEobiloIEZ0KGlzKWcobm90KWcoZ3JlYXRlcik2MzAgMzE0OAoreSh0aGFuKTMwIGIob3IpZyhlcXVhbCloKHRvKWcoMS4pMTUwIDMzMTggeSBGcyhldmFsKTg3MAorMzQ1NyB5KGV2YWwpNDcgYihbKXAgRmkoYXJndW1lbnRzKTExIGIgRnMoXSk2MzAgMzU5NwogeSBGdChUaGUpMjUgYihhcmd1bWVuKW0odHMpaChhcmUpZyhjb25jYXRlbmF0ZWQpaSh0b2dldGhlcilmKGluKW0odG8pZgotKGEpZyhzaW5nbGUpaChjb21tYW5kLClmKHdoaWMpbShoKWcoaXMpZih0aGVuKTYzMCAzMjU4CisoYSlnKHNpbmdsZSloKGNvbW1hbmQsKWYod2hpYyltKGgpZyhpcylmKHRoZW4pNjMwIDM3MDYKIHkocmVhZCkzNSBiKGFuZClnKGV4ZWN1dGVkLClqKGFuZClkKGl0cyloKGV4aXQpZyhzdGF0dXMpZyhyZXR1cm5lZCllCiAoYXMpaCh0aGUpaChleGl0KWcoc3RhdHVzKWcob2YpZyBGcyhldmFsKXAgRnQoLik1NCBiKElmKTYzMAotMzM2NyB5KHRoZXJlKTMxIGIoYXJlKWYobm8paChhcmd1bWVuKW0odHMpZihvciloKG9ubHkpZihlbXB0KW0oeSloCiszODE2IHkodGhlcmUpMzEgYihhcmUpZihubyloKGFyZ3VtZW4pbSh0cylmKG9yKWgob25seSlmKGVtcHQpbSh5KWgKIChhcmd1bWVuKW0odHMsKWcodGhlKWYocmV0dXJuKWcoc3RhdHVzKWcoaXMpaCh6ZXJvLikxNTAKLTM1MjEgeSBGcyhleGVjKTg3MCAzNjUyIHkoZXhlYyk0NyBiKFstY2xdKWYoWy1hKWggRmkobmFtZSkxMQorMzk4NSB5IEZzKGV4ZWMpODcwIDQxMjUgeShleGVjKTQ3IGIoWy1jbF0pZihbLWEpaCBGaShuYW1lKTExCiBiIEZzKF0pNDYgYihbKXAgRmkoY29tbWFuZCk1NiBiIEZzKFspcCBGaShhcmd1bWVudHMpMTEKLWIgRnMoXV0pNjMwIDM3ODQgeSBGdChJZikzNiBiIEZxKGNvbW1hbmQpayBGdChpcyljKHN1cHBsaWVkLCloKGl0KWcKK2IgRnMoXV0pNjMwIDQyNjQgeSBGdChJZikzNiBiIEZxKGNvbW1hbmQpayBGdChpcyljKHN1cHBsaWVkLCloKGl0KWcKIChyZXBsYWNlcyloKHRoZSllKHNoZWxsKWgod2l0aG91dClmKGNyZWF0aW5nKWkoYSlmKG5ldylmKHBybylzKGNlc3MuKQotNjMwIDM4OTMgeShJZiloKHRoZSlnKGApcCBGcygtbClwIEZ0KCcpZyhvcHRpb24paChpcylmKHN1cHBsaWVkLClnKHRoZSkKKzYzMCA0Mzc0IHkoSWYpaCh0aGUpZyhgKXAgRnMoLWwpcCBGdCgnKWcob3B0aW9uKWgoaXMpZihzdXBwbGllZCwpZyh0aGUpCiBoKHNoZWxsKWYocGxhY2VzKWgoYSlnKGRhc2gpZShhdClpKHRoZSlmKGIpcyhlZ2lubmluZylmKG9mKWkodGhlKTYzMAotNDAwMyB5KHplcm90aCllKGFyZ3VtZW4pbSh0KWcocGFzc2VkKWYodG8paCBGcShjb21tYW5kKXQKKzQ0ODMgeSh6ZXJvdGgpZShhcmd1bWVuKW0odClnKHBhc3NlZClmKHRvKWggRnEoY29tbWFuZCl0CiBGdCguKTU2IGIoVGhpcykzNCBiKGlzKWkod2hhdClmKHRoZSloIEZzKGxvZ2luKWUgRnQocHJvZ3JhbSloKGRvKXMoZXMuKQotNjMwIDQxMTMgeShUaGUpZShgKXAgRnMoLWMpcCBGdCgnKWgob3B0aW9uKWcoY2F1c2VzKWcKKzYzMCA0NTkzIHkoVGhlKWUoYClwIEZzKC1jKXAgRnQoJyloKG9wdGlvbilnKGNhdXNlcylnCiBGcShjb21tYW5kKWogRnQodG8pZShiKXMoZSllKGV4ZWN1dGVkKWkod2l0aCllKGFuKWgoZW1wdCltKHkpZyhlbiltCi0odmlyb25tZW4pbSh0Lik2MzAgNDIyMiB5KElmKWQoYClwIEZzKC1hKXAgRnQoJylnKGlzKWgoc3VwcGxpZWQsKWYodGhlKQorKHZpcm9ubWVuKW0odC4pNjMwIDQ3MDIgeShJZilkKGApcCBGcygtYSlwIEZ0KCcpZyhpcyloKHN1cHBsaWVkLClmKHRoZSkKIGcoc2hlbGwpaChwYXNzZXMpZiBGcShuYW1lKTM3IGIgRnQoYXMpMzEgYih0aGUpaCh6ZXJvdGgpZyhhcmd1bWVuKW0odClnCi0odG8pZyBGcShjb21tYW5kKXQgRnQoLik2MzAgNDMzMiB5KElmKTQ1IGIobm8pZyBGcShjb21tYW5kKWsKKyh0bylnIEZxKGNvbW1hbmQpdCBGdCguKTYzMCA0ODEyIHkoSWYpNDUgYihubylnIEZxKGNvbW1hbmQpawogRnQoaXMpYyhzcClzKGVjaVwwMTRlZCwpayhyZWRpcmVjdGlvbnMpZChtYSltKHkpZyhiKXMoZSlmKHVzZWQpZih0bylqCi0oYVwwMTNlY3QpZyh0aGUpZShjdXJyZW4pbSh0KTYzMCA0NDQxIHkoc2hlbGwpMzMgYihlbiltKHZpcm9ubWVuKW0odC4pCisoYVwwMTNlY3QpZyh0aGUpZShjdXJyZW4pbSh0KTYzMCA0OTIyIHkoc2hlbGwpMzMgYihlbiltKHZpcm9ubWVuKW0odC4pCiA0OCBiKElmKTMyIGIodGhlcmUpaChhcmUpZyhubylmKHJlZGlyZWN0aW9uKWgoZXJyb3JzLClnKHRoZSlnKHJldHVybillCi0oc3RhdHVzKWkoaXMpZyh6ZXJvOyk2MzAgNDU1MSB5KG90aGVyd2lzZSllKHRoZSlmKHJldHVybilnKHN0YXR1cylnKGlzKQotaChub24temVyby4pMTUwIDQ3MDQgeSBGcyhleGl0KTg3MCA0ODM2IHkoZXhpdCk0NyBiKFspcAotRmkobikxMSBiIEZzKF0pNjMwIDQ5NjcgeSBGdChFeGl0KTMwIGIodGhlKWcoc2hlbGwsKWgocmV0dXJuaW5nKWQoYSlqCi0oc3RhdHVzKWYob2YpZyBGcShuKWYgRnQodG8paCh0aGUpZyhzaGVsbCdzKWcocGFyZW4pbSh0Lik0MQotYihJZikzMCBiIEZxKG4pZiBGdChpcyloKG9taXR0ZWQsKWgodGhlKTYzMCA1MDc3IHkoZXhpdCljKHN0YXR1cylnKGlzKWcKLSh0aGF0KWcob2YpZyh0aGUpZyhsYXN0KWcoY29tbWFuZClmKGV4ZWN1dGVkLik0MSBiKEFuKW0oeSkyNgotYih0cmFwKWgob24pZiBGcyhFWElUKWYgRnQoaXMpaShleGVjdXRlZCk2MzAgNTE4NyB5KGIpcyhlZm9yZSlqKHRoZSloCi0oc2hlbGwpZih0ZXJtaW5hdGVzLikxNTAgNTM0MCB5IEZzKGV4cG9ydClwIGVvcCBlbmQKLSUlUGFnZTogMzcgNDMKLVRlWERpY3QgYmVnaW4gMzcgNDIgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDQ6KTQxCi1iKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYigzNyk4NzAgMjk5IHkgRnMoZXhwb3J0KTQ2Ci1iKFstZm5dKWcoWy1wXSloKFspcCBGaShuYW1lKTExIGIgRnMoWz0pcCBGaSh2YWx1ZSlnCi1GcyhdXSk2MzAgNDMyIHkgRnQoTWFyayk0MCBiKGVhYyltKGgpaCBGcShuYW1lKWsgRnQodG8pNDAKLWIoYilzKGUpZihwYXNzZWQpZyh0bylpKGMpbShoaWxkKWYocHJvKXMoY2Vzc2VzKWYoaW4pZyh0aGUpaChlbiltCi0odmlyb25tZW4pbSh0Lik3MCBiKElmKTM5IGIodGhlKTYzMCA1NDIgeShgKXAgRnMoLWYpcAotRnQoJykyOSBiKG9wdGlvbiloKGlzKWcoc3VwcGxpZWQsKWYodGhlKWcgRnEobmFtZSk1IGIKLUZ0KHMpMzAgYihyZWZlcilmKHRvKWgoc2hlbGwpZyhmdW5jdGlvbnM7KWYob3RoZXJ3aXNlKWgodGhlKWcobmFtZXMpNjMwCi02NTEgeShyZWZlcikzNiBiKHRvKWkoc2hlbGwpZSh2KS01IGIoYXJpYWJsZXMuKTYwIGIoVGhlKTM2Ci1iKGApcCBGcygtbilwIEZ0KCcpaChvcHRpb24pZyhtZWFucylmKHRvKWgobm8pZyhsb25nZXIpZyhtYXJrKWYoZWFjKW0KLShoKWkgRnEobmFtZSk2MzAgNzYxIHkgRnQoZm9yKWgoZXhwKXMob3J0Lik2NSBiKElmKTM5Ci1iKG5vKWcgRnEobmFtZXMpaiBGdChhcmUpZChzdXBwbGllZCwpaChvcilmKGlmKWcodGhlKWcoYClwCi1GcygtcClwIEZ0KCcpZyhvcHRpb24pZyhpcylnKGdpdiltKGVuLClqKGEpZChsaXN0KWgob2YpNjMwCi04NzAgeShleHApcyhvcnRlZCljKG5hbWVzKWgoaXMpZihkaXNwbGEpbSh5KW0oZWQuKTYwCi1iKFRoZSkzNyBiKGApcCBGcygtcClwIEZ0KCcpZihvcHRpb24paChkaXNwbGEpbSh5cylnKG91dHB1dClmKGluKWcoYSloCi0oZm9ybSlmKHRoYXQpNjMwIDk4MCB5KG1hKW0oeSkzMSBiKGIpcyhlKWYocmV1c2VkKWcoYXMpaChpbnB1dC4pNDEKLWIoSWYpMzEgYihhKWcodiktNSBiKGFyaWFibGUpMzEgYihuYW1lKWcoaXMpZyhmb2xsbyltKHcpbShlZClpKGIpbSh5KWQKLSg9KXAgRnEodiktNSBiKGFsdWUpNSBiIEZ0KCwpMzIgYih0aGUpZih2KS01IGIoYWx1ZSkzMQotYihvZik2MzAgMTA4OSB5KHRoZSlnKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZihzZXQpaCh0bylnCi1GcSh2KS01IGIoYWx1ZSk1IGIgRnQoLik2MzAgMTIyMyB5KFRoZSkyOSBiKHJldHVybillKHN0YXR1cylqKGlzKWYKLSh6ZXJvKWgodW5sZXNzKWUoYW4paChpbiltKHYpLTUgYihhbGlkKTI5IGIob3B0aW9uKWgoaXMpZihzdXBwbGllZCwpZgotKG9uZSlpKG9mKWYodGhlKWcobmFtZXMpNjMwIDEzMzIgeShpcyloKG5vdCloKGEpZih2KS01Ci1iKGFsaWQpMzEgYihzaGVsbClmKHYpLTUgYihhcmlhYmxlKTMxIGIobmFtZSwpZihvciloKGApcAotRnMoLWYpcCBGdCgnKWYoaXMpZyhzdXBwbGllZClmKHdpdGgpZyhhKWkobmFtZSlmKHRoYXQpaChpcylmKG5vdCloKGEpCi02MzAgMTQ0MiB5KHNoZWxsKWcoZnVuY3Rpb24uKTE1MCAxNTk4IHkgRnMoZ2V0b3B0cyk4NzAKLTE3MzEgeShnZXRvcHRzKTQ2IGIgRmkob3B0c3RyaW5nKTU2IGIobmFtZSloIEZzKFspcCBGaShhcmdzKTExCi1iIEZzKF0pNjMwIDE4NjQgeShnZXRvcHRzKTI4IGIgRnQoaXMpaSh1c2VkKWcoYiltKHkpZyhzaGVsbClnKHNjcmlwdHMpZwotKHRvKWcocGFyc2UpZyhwKXMob3NpdGlvbmFsKWgocGFyYW1ldGVycy4pNDEgYiBGcShvcHRzdHJpbmcpZAotRnQoY29uLSk2MzAgMTk3NCB5KHRhaW5zKWsodGhlKWcob3B0aW9uKWYoYyltKGhhcmFjdGVycylpKHRvKWcoYilzKGUpZAotKHJlY29nbml6ZWQ7KTQ5IGIoaWYpNDIgYihhKWYoYyltKGhhcmFjdGVyKWooaXMpZChmb2xsbyltKHcpbShlZClpKGIpbQotKHkpZihhKTYzMCAyMDg0IHkoY29sb24sKTMzIGIodGhlKWYob3B0aW9uKWcoaXMpZyhleHApcyhlY3RlZClnKHRvKWgKLShoYSltKHYpbShlKWcoYW4pZShhcmd1bWVuKW0odCwpaSh3aGljKW0oaClmKHNob3VsZCllKGIpcyhlKWgKLShzZXBhcmF0ZWQpNjMwIDIxOTMgeShmcm9tKTM3IGIoaXQpaChiKW0oeSlmKHdoaXRlKWgoc3BhY2UuKTYzCi1iKFRoZSkzNyBiKGNvbG9uKWgoXChgKXAgRnMoOilwIEZ0KCdcKSloKGFuZClkKHF1ZXN0aW9uKWkobWFyaylmKFwoYClwCi1Gcyg/KXAgRnQoJ1wpKWkobWEpbSh5KWYobm90KWcoYilzKGUpNjMwIDIzMDMgeSh1c2VkKWcoYXMpZyhvcHRpb24paChjKQotbShoYXJhY3RlcnMuKTY3IGIoRWFjKW0oaCkzOSBiKHRpbWUpZyhpdClnKGlzKWYoaW4pbSh2KW0ob2spbShlZCwpawotRnMoZ2V0b3B0cykzNyBiIEZ0KHBsYWNlcylpKHRoZSlnKG5leHQpNjMwIDI0MTIgeShvcHRpb24pMjkKLWIoaW4pZih0aGUpZyhzaGVsbCloKHYpLTUgYihhcmlhYmxlKTI5IGIgRnEobmFtZSk1IGIKLUZ0KCwpMjkgYihpbml0aWFsaXppbmcpaCBGcShuYW1lKWsgRnQoaWYpMjggYihpdCloKGRvKXMoZXMpZihub3QpZwotKGV4aXN0LClpKGFuZCllKHRoZSk2MzAgMjUyMiB5KGluZGV4KTMzIGIob2YpZyh0aGUpaChuZXh0KWYoYXJndW1lbiltCi0odCloKHRvKWcoYilzKGUpZShwcm8pcyhjZXNzZWQpaChpbiltKHRvKWgodGhlKWcodiktNQotYihhcmlhYmxlKTM0IGIgRnMoT1BUSU5EKXAgRnQoLik0OCBiIEZzKE9QVElORCk2MzAgMjYzMgoteSBGdChpcyk0MSBiKGluaXRpYWxpemVkKWkodG8pZigxKWYoZWFjKW0oaCloKHRpbWUpZyh0aGUpZihzaGVsbClnKG9yKWcKLShhKWcoc2hlbGwpZyhzY3JpcHQpZyhpcylnKGluKW0odiltKG9rKW0oZWQuKTc0IGIoV2hlbik0MQotYihhbik2MzAgMjc0MSB5KG9wdGlvbikzNiBiKHJlcXVpcmVzKWUoYW4paChhcmd1bWVuKW0odCwpaQotRnMoZ2V0b3B0cyljIEZ0KHBsYWNlcylqKHRoYXQpZyhhcmd1bWVuKW0odClnKGluKW0odG8pZyh0aGUpZih2KS01Ci1iKGFyaWFibGUpNjMwIDI4NTEgeSBGcyhPUFRBUkcpcCBGdCguKTU1IGIoVGhlKTM1IGIoc2hlbGwpZyhkbylzKGVzKWgKLShub3QpZyhyZXNldClnIEZzKE9QVElORCllIEZ0KGF1dG9tYXRpY2FsbHk7KTQxIGIoaXQpMzYKLWIobSltKHVzdClmKGIpcyhlKWcobWFuKW0odWFsbHkpNjMwIDI5NjAgeShyZXNldClpKGIpcyhldCltKHcpbShlZW4pZwotKG0pbSh1bHRpcGxlKWgoY2FsbHMpZih0bylnIEZzKGdldG9wdHMpZSBGdCh3aXRoaW4paCh0aGUpaChzYW1lKWcKLShzaGVsbClmKGluKW0odiltKG8pcyhjYXRpb24paihpZillKGEpNjMwIDMwNzAgeShuZXcpMzAKLWIoc2V0KWgob2YpZihwYXJhbWV0ZXJzKWgoaXMpZih0bylpKGIpcyhlKWQodXNlZC4pNjMwCi0zMjAzIHkoV2hlbik0MSBiKHRoZSloKGVuZCllKG9mKWkob3B0aW9ucylnKGlzKWYoZW5jb3VuKW0odGVyZWQsKWsKLUZzKGdldG9wdHMpMzkgYiBGdChleGl0cylqKHdpdGgpZihhKWgocmV0dXJuKWUodiktNSBiKGFsdWUpNjMwCi0zMzEzIHkoZ3JlYXRlcikzMiBiKHRoYW4pZSh6ZXJvLik0MSBiIEZzKE9QVElORCkyOSBiCi1GdChpcyloKHNldCloKHRvKWcodGhlKWcoaW5kZXgpZihvZilnKHRoZSloKFwwMTRyc3QpZihub24tb3B0aW9uKWcKLShhcmd1bWVuKW0odCwpNjMwIDM0MjIgeShhbmQpZyBGcyhuYW1lKWYgRnQoaXMpaChzZXQpaCh0bylnKGApcAotRnMoPylwIEZ0KCcuKTYzMCAzNTU1IHkgRnMoZ2V0b3B0cyljIEZ0KG5vcm1hbGx5KWoocGFyc2VzKWUodGhlKWkocClzCi0ob3NpdGlvbmFsKWcocGFyYW1ldGVycywpZyhidXQpZShpZilpKG1vcmUpZihhcmd1bWVuKW0odHMpaChhcmUpNjMwCi0zNjY1IHkoZ2l2KW0oZW4paChpbilmIEZxKGFyZ3MpdCBGdCgsKWggRnMoZ2V0b3B0cyllCi1GdChwYXJzZXMpZyh0aG9zZSlpKGluc3RlYWQuKTYzMCAzNzk4IHkgRnMoZ2V0b3B0cyloCi1GdChjYW4paChyZXApcyhvcnQpZyhlcnJvcnMpZyhpbiloKHQpbSh3KW0obyloKHcpbShhKW0oeXMuKTUxCi1iKElmKTMzIGIodGhlKWgoXDAxNHJzdCllKGMpbShoYXJhY3RlcilrKG9mKWQgRnEob3B0c3RyaW5nKTQyCi1iIEZ0KGlzKTM0IGIoYSk2MzAgMzkwNyB5KGNvbG9uLClpIEZxKHNpbGVuKW0odClpIEZ0KGVycm9yKTMzCi1iKHJlcClzKG9ydGluZyloKGlzKWgodXNlZC4pNTEgYihJbikzMyBiKG5vcm1hbClpKG9wKXMoZXJhdGlvbilmCi0oZGlhZ25vc3RpYylpKG1lc3NhZ2VzKTYzMCA0MDE3IHkoYXJlKTMwIGIocHJpbiltKHRlZCllKHdoZW4pZyhpbiltKHYpCi0tNSBiKGFsaWQpMzAgYihvcHRpb25zKWcob3IpZihtaXNzaW5nKWcob3B0aW9uKWcoYXJndW1lbiltKHRzKWgoYXJlKWYKLShlbmNvdW4pbSh0ZXJlZC4pNjMwIDQxMjcgeShJZikzNCBiKHRoZSlnKHYpLTUgYihhcmlhYmxlKTM1Ci1iIEZzKE9QVEVSUilkIEZ0KGlzKWkoc2V0KWgodG8pZigwLClpKG5vKWUoZXJyb3IpZyhtZXNzYWdlcyloKHdpbGwpZihiKQotcyhlKWYoZGlzcGxhKW0oeSltKGVkLClqKGV2KW0oZW4pZihpZik2MzAgNDIzNiB5KHRoZSljKFwwMTRyc3QpZShjKW0KLShoYXJhY3RlcilqKG9mKWYgRnMob3B0c3RyaW5nKWQgRnQoaXMpaShub3QpaChhKWYoY29sb24uKTYzMAotNDM2OSB5KElmKTM5IGIoYW4paChpbiltKHYpLTUgYihhbGlkKTQxIGIob3B0aW9uKWYoaXMpZyhzZWVuLClpCi1GcyhnZXRvcHRzKWMgRnQocGxhY2VzKWooYClwIEZzKD8pcCBGdCgnKWYoaW4pbSh0byloCi1GcShuYW1lKWsgRnQoYW5kLClkKGlmKWUobm90KWcoc2lsZW4pbSh0LCk2MzAgNDQ3OSB5KHByaW4pbSh0cylmKGFuKWgKLShlcnJvcilmKG1lc3NhZ2UpaChhbmQpZih1bnNldHMpZyBGcyhPUFRBUkcpcCBGdCguKTY3Ci1iKElmKTM5IGIgRnMoZ2V0b3B0cylmIEZ0KGlzKWkoc2lsZW4pbSh0LClqKHRoZSljKG9wdGlvbik2MzAKLTQ1ODkgeShjKW0oaGFyYWN0ZXIpMzIgYihmb3VuZClkKGlzKWgocGxhY2VkKWgoaW4pZiBGcyhPUFRBUkcpZgotRnQoYW5kKWgobm8pZyhkaWFnbm9zdGljKWkobWVzc2FnZSlmKGlzKWcocHJpbiltKHRlZC4pNjMwCi00NzIyIHkoSWYpYyhhKWcocmVxdWlyZWQpZihhcmd1bWVuKW0odClpKGlzKWYobm90KWcoZm91bmQsKWcoYW5kKWYKLUZzKGdldG9wdHMpZiBGdChpcylpKG5vdCloKHNpbGVuKW0odCwpaChhKWUocXVlc3Rpb24pZyhtYXJrKTYzMAotNDgzMSB5KFwoYClwIEZzKD8pcCBGdCgnXCkpMzUgYihpcylnKHBsYWNlZClnKGluKWcgRnEobmFtZSk1Ci1iIEZ0KCwpMzYgYiBGcyhPUFRBUkcpZCBGdChpcyloKHVuc2V0LClpKGFuZCllKGEpaChkaWFnbm9zdGljKWgKLShtZXNzYWdlKWYoaXMpZyhwcmluKW0odGVkLik2MzAgNDk0MSB5KElmKWUgRnMoZ2V0b3B0cylmCi1GdChpcyloKHNpbGVuKW0odCwpaih0aGVuKWQoYSlpKGNvbG9uKWYoXChgKXAgRnMoOilwCi1GdCgnXCkpaChpcyllKHBsYWNlZCloKGluKWcgRnEobmFtZSlrIEZ0KGFuZCkzMyBiIEZzKE9QVEFSRylmCi1GdChpcylpKHNldClnKHRvKTYzMCA1MDUwIHkodGhlKWQob3B0aW9uKWYoYyltKGhhcmFjdGVyKWkoZm91bmQuKTE1MAotNTIwNyB5IEZzKGhhc2gpODcwIDUzNDAgeShoYXNoKTQ3IGIoWy1yXSlmKFstcCloIEZpKGZpbGVuYW1lKTExCi1iIEZzKF0pNDUgYihbLWR0XSloKFspcCBGaShuYW1lKTExIGIgRnMoXSlwIGVvcCBlbmQKLSUlUGFnZTogMzggNDQKLVRlWERpY3QgYmVnaW4gMzggNDMgYm9wIDE1MCAtMTE2IGEgRnQoMzgpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShSZW1lbSltKGIpcyhlcikzNiBiKHRoZSlnKGZ1bGwpZwotKHBhdGhuYW1lcylnKG9mKWcoY29tbWFuZHMpZyhzcClzKGVjaVwwMTRlZClnKGFzKWcgRnEobmFtZSk0MQotYiBGdChhcmd1bWVuKW0odHMsKWUoc28pNjMwIDQwOCB5KHRoZXkpMzQgYihuZWVkKWgobm90KWYoYilzKGUpZyhzZWFyYykKLW0oaGVkKWgoZm9yKWYob24pZyhzdWJzZXF1ZW4pbSh0KWYoaW4pbSh2KW0obylzKGNhdGlvbnMuKTU1Ci1iKFRoZSkzNCBiKGNvbW1hbmRzKWcoYXJlKTYzMCA1MTggeShmb3VuZCkzOSBiKGIpbSh5KWkoc2VhcmMpbShoaW5nKWcKLSh0aHJvdWdoKWYodGhlKWgoZGlyZWN0b3JpZXMpZyhsaXN0ZWQpZyhpbilmIEZzKCRQQVRIKXAKLUZ0KC4pNzAgYihUaGUpNDAgYihgKXAgRnMoLXApcCBGdCgnKWcob3B0aW9uKTYzMCA2MjgKLXkoaW5oaWJpdHMpZSh0aGUpaChwYXRoKWYoc2VhcmMpbShoLClqKGFuZClkIEZxKFwwMTRsZW5hbWUpNDQKLWIgRnQoaXMpMzkgYih1c2VkKWYoYXMpZyh0aGUpaChsbylzKGNhdGlvbiloKG9mKWYgRnEobmFtZSk1Ci1iIEZ0KC4pNjUgYihUaGUpNjMwIDczNyB5KGApcCBGcygtcilwIEZ0KCcpMjggYihvcHRpb24pZyhjYXVzZXMpZyh0aGUpZwotKHNoZWxsKWgodG8pZihmb3JnZXQpaChhbGwpZyhyZW1lbSltKGIpcyhlcmVkKWUobG8pcyhjYXRpb25zLik0MQotYihUaGUpMjggYihgKXAgRnMoLWQpcCBGdCgnKWYob3B0aW9uKTYzMCA4NDcgeShjYXVzZXMpMzgKLWIodGhlKWYoc2hlbGwpaCh0bylnKGZvcmdldClnKHRoZSlmKHJlbWVtKW0oYilzKGVyZWQpZyhsbylzKGNhdGlvbilpCi0ob2YpZShlYWMpbShoKWggRnEobmFtZSk1IGIgRnQoLik2MiBiKElmKTM3IGIodGhlKWcoYClwCi1GcygtdClwIEZ0KCcpNjMwIDk1NiB5KG9wdGlvbikyMiBiKGlzKWcoc3VwcGxpZWQsKWcodGhlKWcoZnVsbClmCi0ocGF0aG5hbWUpaCh0bylnKHdoaWMpbShoKWcoZWFjKW0oaClnIEZxKG5hbWUpMjcgYiBGdChjb3JyZXNwKXMob25kcykyMAotYihpcylpKHByaW4pbSh0ZWQuKTYzMCAxMDY2IHkoSWYpMzMgYihtKW0odWx0aXBsZSloIEZxKG5hbWUpawotRnQoYXJndW1lbiltKHRzKWMoYXJlKWYoc3VwcGxpZWQpZih3aXRoKWgoYClwIEZzKC10KXAKLUZ0KCcpZyh0aGUpaCBGcShuYW1lKWsgRnQoaXMpYyhwcmluKW0odGVkKWUoYilzKGVmb3JlKTYzMAotMTE3NiB5KHRoZSloKGhhc2hlZClmKGZ1bGwpZyhwYXRobmFtZS4pNDggYihUaGUpMzIgYihgKXAKLUZzKC1sKXAgRnQoJyloKG9wdGlvbilnKGNhdXNlcylnKG91dHB1dClmKHRvKWkoYilzKGUpZShkaXNwbGEpbSh5KW0oZWQpCi1oKGluKWcoYSk2MzAgMTI4NSB5KGZvcm1hdClmKHRoYXQpZyhtYSltKHkpZyhiKXMoZSlmKHJldXNlZClnKGFzKWcKLShpbnB1dC4pNDMgYihJZikzMSBiKG5vKWgoYXJndW1lbiltKHRzKWcoYXJlKWYoZ2l2KW0oZW4sKWoob3IpZChpZilnCi0ob25seSloKGApcCBGcygtbClwIEZ0KCcpNjMwIDEzOTUgeShpcylqKHN1cHBsaWVkLClmKGluZm9ybWF0aW9uKWgoYWIpcwotKG91dClnKHJlbWVtKW0oYilzKGVyZWQpZihjb21tYW5kcylnKGlzKWgocHJpbiltKHRlZC4pNTMKLWIoVGhlKTM0IGIocmV0dXJuKTYzMCAxNTA0IHkoc3RhdHVzKWQoaXMpZih6ZXJvKWgodW5sZXNzKWYoYSloCi1GcShuYW1lKWsgRnQoaXMpYyhub3QpZihmb3VuZClmKG9yKWkoYW4pZihpbiltKHYpLTUgYihhbGlkKTMxCi1iKG9wdGlvbilnKGlzKWYoc3VwcGxpZWQuKTE1MCAxNjcyIHkgRnMocHdkKTg3MCAxODExCi15KHB3ZCk0NyBiKFstTFBdKTYzMCAxOTUwIHkgRnQoUHJpbiltKHQpMjQgYih0aGUpaChhYnNvbHV0ZSlnKHBhdGhuYW1lKQotZyhvZilmKHRoZSloKGN1cnJlbiltKHQpZih3KW0ob3JraW5nKWgoZGlyZWN0b3J5KS04IGIoLik0MAotYihJZikyMyBiKHRoZSlpKGApcCBGcygtUClwIEZ0KCcpZihvcHRpb24pNjMwIDIwNjAgeShpcykzNgotYihzdXBwbGllZCwpZih0aGUpaChwYXRobmFtZSlmKHByaW4pbSh0ZWQpZyh3aWxsKWgobm90KWcoY29uKW0odGFpbiloCi0oc3ltKW0oYilzKG9saWMpZihsaW5rcy4pNTUgYihJZikzNSBiKHRoZSloKGApcCBGcygtTClwCi1GdCgnKTYzMCAyMTY5IHkob3B0aW9uKTQ0IGIoaXMpZyhzdXBwbGllZCwpaSh0aGUpZShwYXRobmFtZSlmKHByaW4pbQotKHRlZCloKG1hKW0oeSlnKGNvbiltKHRhaW4paChzeW0pbShiKXMob2xpYylmKGxpbmtzLik4MAotYihUaGUpNjMwIDIyNzkgeShyZXR1cm4pMjYgYihzdGF0dXMpaChpcyloKHplcm8pZyh1bmxlc3MpZShhbiloKGVycm9yKWcKLShpcylnKGVuY291biltKHRlcmVkKWcod2hpbGUpaChkZXRlcm1pbmluZylmKHRoZSlnKG5hbWUpNjMwCi0yMzg4IHkob2Ypayh0aGUpZihjdXJyZW4pbSh0KWcoZGlyZWN0b3J5KWgob3IpZihhbiloKGluKW0odiktNQotYihhbGlkKTMxIGIob3B0aW9uKWcoaXMpZihzdXBwbGllZC4pMTUwIDI1NTYgeSBGcyhyZWFkb25seSk4NzAKLTI2OTUgeShyZWFkb25seSk0NiBiKFstYUFwZl0pZihbKXAgRmkobmFtZSkxMSBiIEZzKFs9KXAKLUZpKHZhbHVlKWcgRnMoXV0pNDMgYiguLi4pNjMwIDI4MzQgeSBGdChNYXJrKTI0IGIoZWFjKW0oaCloCi1GcShuYW1lKWsgRnQoYXMpMjQgYihyZWFkb25seSktOCBiKC4pMzkgYihUaGUpMjQgYih2KS01Ci1iKGFsdWVzKTI0IGIob2YpZyh0aGVzZSlnKG5hbWVzKWcobWEpbSh5KWcobm90KWcoYilzKGUpZyhjKW0oaGFuZ2VkKWcKLShiKW0oeSk2MzAgMjk0NCB5KHN1YnNlcXVlbiltKHQpZShhc3NpZ25tZW4pbSh0LikzOSBiKElmKTIyCi1iKHRoZSloKGApcCBGcygtZilwIEZ0KCcpZihvcHRpb24paShpcyllKHN1cHBsaWVkLCloKGVhYyltKGgpaAotRnEobmFtZSlrIEZ0KHJlZmVycykyMiBiKHRvKWkoYSlmKHNoZWxsKTYzMCAzMDUzIHkoZnVuY3Rpb24uKTM5Ci1iKFRoZSkyNiBiKGApcCBGcygtYSlwIEZ0KCcpaChvcHRpb24pZyhtZWFucylnKGVhYyltKGgpaAotRnEobmFtZSlrIEZ0KHJlZmVycykyNiBiKHRvKWkoYW4pZShpbmRleGVkKWgoYXJyYSltKHkpZyh2KS01Ci1iKGFyaWFibGU7KTYzMCAzMTYzIHkodGhlKTMzIGIoYClwIEZzKC1BKXAgRnQoJylnKG9wdGlvbilnKG1lYW5zKWcoZWFjKQotbShoKWggRnEobmFtZSlrIEZ0KHJlZmVycykzMiBiKHRvKWgoYW4pZyhhc3NvKXMoY2lhdGl2KW0oZSlqKGFycmEpbSh5KWQKLSh2KS01IGIoYXJpYWJsZS4pNDkgYihJZikzMiBiKG5vKTYzMCAzMjcyIHkgRnEobmFtZSlmCi1GdChhcmd1bWVuKW0odHMpMjYgYihhcmUpZyhnaXYpbShlbiwpaShvcilkKGlmKWgodGhlKWcoYClwCi1GcygtcClwIEZ0KCcpZihvcHRpb24paChpcylnKHN1cHBsaWVkLClmKGEpaChsaXN0KWgob2YpZShhbGwpaQotKHJlYWRvbmx5KTYzMCAzMzgyIHkobmFtZXMpMzcgYihpcylnKHByaW4pbSh0ZWQuKTU5IGIoVGhlKTM3Ci1iKGApcCBGcygtcClwIEZ0KCcpZihvcHRpb24paShjYXVzZXMpZihvdXRwdXQpZyh0bylnKGIpcyhlKWYoZGlzcGxhKW0KLSh5KW0oZWQpaShpbillKGEpaShmb3JtYXQpNjMwIDM0OTIgeSh0aGF0KTI1IGIobWEpbSh5KWcoYilzKGUpZShyZXVzZWQpCi1oKGFzKWcoaW5wdXQuKTM4IGIoSWYpMjQgYihhKWcodiktNSBiKGFyaWFibGUpMjUgYihuYW1lKWcoaXMpZihmb2xsbyltCi0odyltKGVkKWkoYiltKHkpZSg9KXAgRnEodiktNSBiKGFsdWUpNSBiIEZ0KCwpMjYgYih0aGUpZSh2KS01Ci1iKGFsdWUpNjMwIDM2MDEgeShvZikyNiBiKHRoZSloKHYpLTUgYihhcmlhYmxlKTI3IGIoaXMpZihzZXQpaCh0bylnCi1GcSh2KS01IGIoYWx1ZSk1IGIgRnQoLik0MCBiKFRoZSkyNiBiKHJldHVybilmKHN0YXR1cylpKGlzKWYoemVybyloCi0odW5sZXNzKWUoYW4paShpbiltKHYpLTUgYihhbGlkKTI2IGIob3B0aW9uKTYzMCAzNzExCi15KGlzKWsoc3VwcGxpZWQsKWYob25lKWgob2YpZyh0aGUpZyBGcShuYW1lKTM1IGIgRnQoYXJndW1lbiltKHRzKTMwCi1iKGlzKWcobm90KWcoYSlnKHYpLTUgYihhbGlkKTMxIGIoc2hlbGwpZih2KS01IGIoYXJpYWJsZSkzMAotYihvcilnKGZ1bmN0aW9uKTYzMCAzODIwIHkobmFtZSwpaChvcilmKHRoZSloKGApcCBGcygtZilwCi1GdCgnKWYob3B0aW9uKWgoaXMpZihzdXBwbGllZClmKHdpdGgpaChhKWgobmFtZSlmKHRoYXQpaChpcylnKG5vdClmKGEpaAotKHNoZWxsKWcoZnVuY3Rpb24uKTE1MCAzOTg4IHkgRnMocmV0dXJuKTg3MCA0MTI3IHkocmV0dXJuKTQ2Ci1iKFspcCBGaShuKTExIGIgRnMoXSk2MzAgNDI2NiB5IEZ0KENhdXNlKTMwIGIoYSlnKHNoZWxsKWcoZnVuY3Rpb24pZwotKHRvKWgoZXhpdClmKHdpdGgpZyh0aGUpZyhyZXR1cm4pZih2KS01IGIoYWx1ZSkzMSBiIEZxKG4pcAotRnQoLik0MCBiKElmKTI5IGIgRnEobiloIEZ0KGlzKWcobm90KWcoc3VwcGxpZWQsKWYodGhlKTYzMAotNDM3NiB5KHJldHVybikzNSBiKHYpLTUgYihhbHVlKTM3IGIoaXMpZih0aGUpZyhleGl0KWgoc3RhdHVzKWYob2YpaAotKHRoZSlmKGxhc3QpaChjb21tYW5kKWYoZXhlY3V0ZWQpaChpbilmKHRoZSlnKGZ1bmN0aW9uLik2MzAKLTQ0ODUgeShUaGlzKTIxIGIobWEpbSh5KWkoYWxzbylnKGIpcyhlKWUodXNlZClnKHRvKWkodGVybWluYXRlKWcKLShleGVjdXRpb24pZyhvZilmKGEpaChzY3JpcHQpZihiKXMoZWluZylmKGV4ZWN1dGVkKWkod2l0aClmKHRoZSk2MzAKLTQ1OTUgeSBGcyguKTI3IGIgRnQoXChvcilnIEZzKHNvdXJjZSlwIEZ0KFwpKWYoYnVpbHRpbiwpaShyZXR1cm5pbmcpZQotKGVpdGhlciloIEZxKG4pZyBGdChvcilnKHRoZSlnKGV4aXQpaChzdGF0dXMpZyhvZilmKHRoZSlnKGxhc3QpaAotKGNvbW1hbmQpNjMwIDQ3MDQgeShleGVjdXRlZCk0NiBiKHdpdGhpbilmKHRoZSlnKHNjcmlwdClnKGFzKWgodGhlKWYKLShleGl0KWgoc3RhdHVzKWcob2YpZih0aGUpaChzY3JpcHQuKTg1IGIoQW4pbSh5KTQ1IGIoY29tbWFuZCk2MzAKLTQ4MTQgeShhc3NvKXMoY2lhdGVkKTMwIGIod2l0aCllKHRoZSlnIEZzKFJFVFVSTilmIEZ0KHRyYXApaChpcylnCi0oZXhlY3V0ZWQpaChiKXMoZWZvcmUpZihleGVjdXRpb24paChyZXN1bWVzKWYoYWZ0ZXIpaCh0aGUpNjMwCi00OTI0IHkoZnVuY3Rpb24pMzggYihvcilmKHNjcmlwdC4pNjMgYihUaGUpMzggYihyZXR1cm4pZShzdGF0dXMpaShpcylnCi0obm9uLXplcm8paChpZillIEZzKHJldHVybilnIEZ0KGlzKWcodXNlZClnKG91dHNpZGUpaShhKTYzMAotNTAzMyB5KGZ1bmN0aW9uKTMwIGIoYW5kKWcobm90KWcoZHVyaW5nKWcodGhlKWcoZXhlY3V0aW9uKWkob2YpZShhKWgKLShzY3JpcHQpZihiKW0oeSloIEZzKC4pZiBGdChvcilnIEZzKHNvdXJjZSlwIEZ0KC4pMTUwCi01MjAxIHkgRnMoc2hpZnQpODcwIDUzNDAgeShzaGlmdCk0NiBiKFspcCBGaShuKTExIGIgRnMoXSlwCi1lb3AgZW5kCisoc3RhdHVzKWkoaXMpZyh6ZXJvOyk2MzAgNTAzMSB5KG90aGVyd2lzZSllKHRoZSlmKHJldHVybilnKHN0YXR1cylnKGlzKQoraChub24temVyby4pMTUwIDUyMDAgeSBGcyhleGl0KTg3MCA1MzQwIHkoZXhpdCk0NyBiKFspcAorRmkobikxMSBiIEZzKF0pcCBlb3AgZW5kCiAlJVBhZ2U6IDM5IDQ1CiBUZVhEaWN0IGJlZ2luIDM5IDQ0IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig0Oik0MQotYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoMzkpNjMwIDI5OSB5KFNoaWZ0KTQxCi1iKHRoZSlnKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzKWcodG8pZyh0aGUpZihsZWZ0KWgoYiltKHkpZwotRnEobilwIEZ0KC4pNzMgYihUaGUpNDAgYihwKXMob3NpdGlvbmFsKWoocGFyYW1ldGVycyk2MzAKLTQwOCB5KGZyb20pMzQgYiBGcShuKXAgRnMoKylwIEZ0KDEpMzkgYiguKTIyIGIoLiloKC4pNDUKLWIgRnMoJCMpMzQgYiBGdChhcmUpZyhyZW5hbWVkKWcodG8paCBGcygkMSlrIEZ0KC4pMjIKLWIoLilnKC4pNDYgYiBGcygkIylwIEZ0KC0pcCBGcShuKXAgRnQoLik1MSBiKFApbShhcmFtZXRlcnMpMzYKLWIocmVwcmVzZW4pbSh0ZWQpZShiKW0oeSlnKHRoZSk2MzAgNTE4IHkobiltKHVtKW0oYilzKGVycykyNQotYiBGcygkIylpIEZ0KHRvKWcgRnMoJCMpcCBGdCgtKXAgRnEobilwIEZzKCspcCBGdCgxKWcoYXJlKWcodW5zZXQuKTM5Ci1iIEZxKG4pMjYgYiBGdChtKW0odXN0KWgoYilzKGUpZihhKWkobm9uLW5lZ2F0aXYpbShlKWgobiltKHVtKW0oYilzKGVyKQotYyhsZXNzKWkodGhhbilnKG9yKTYzMCA2MjggeShlcXVhbCkzMyBiKHRvKWggRnMoJCMpcAotRnQoLik0NyBiKElmKTMzIGIgRnEobilmIEZ0KGlzKWgoemVybylnKG9yKWcoZ3JlYXRlciloKHRoYW4pZgotRnMoJCMpcCBGdCgsKWcodGhlKWcocClzKG9zaXRpb25hbClnKHBhcmFtZXRlcnMpZyhhcmUpaChub3QpNjMwCi03MzcgeShjKW0oaGFuZ2VkLik0OCBiKElmKTMyIGIgRnEobilnIEZ0KGlzKWgobm90KWYoc3VwcGxpZWQsKWgoaXQpZwotKGlzKWYoYXNzdW1lZClnKHRvKWgoYilzKGUpZigxLik0OCBiKFRoZSkzMiBiKHJldHVybilnKHN0YXR1cyloKGlzKWYKLSh6ZXJvKTYzMCA4NDcgeSh1bmxlc3MpZSBGcShuKWYgRnQoaXMpaShncmVhdGVyKWcodGhhbilnCi1GcygkIyllIEZ0KG9yKWkobGVzcylmKHRoYW4paCh6ZXJvLClnKG5vbi16ZXJvKWcob3RoZXJ3aXNlLikxNTAKLTEwMDYgeSBGcyh0ZXN0KTE1MCAxMTE2IHkoWyk0MzIgYiBGdChFdiktNSBiKGFsdWF0ZSkzMQotYihhKWcoY29uZGl0aW9uYWwpZyhleHByZXNzaW9uKWYgRnEoZXhwcik3IGIgRnQoLik0MAotYihFYWMpbShoKTMwIGIob3ApcyhlcmF0b3IpaChhbmQpZShvcClzKGVyYW5kKWcobSltKHVzdCloKGIpcyhlKWcoYSk2MzAKLTEyMjUgeShzZXBhcmF0ZSlkKGFyZ3VtZW4pbSh0Lik0MCBiKEV4cHJlc3Npb25zKTI1IGIoYXJlKWkoY29tcClzKG9zZWQpCi1lKG9mKWkodGhlKWYocHJpbWFyaWVzKWcoZGVzY3JpYilzKGVkKWYoYilzKGVsbyltKHcpNjMwCi0xMzM1IHkoaW4pMzQgYihTZWN0aW9uKWcoNi40KWgoW0Jhc2gpZyhDb25kaXRpb25hbClmKEV4cHJlc3Npb25zXSwpaAotKHBhZ2UpZyg3Ni4pNTIgYiBGcyh0ZXN0KTMzIGIgRnQoZG8pcyhlcylnKG5vdCloKGFjY2VwdCk2MzAKLTE0NDUgeShhbiltKHkpMjcgYihvcHRpb25zLClpKG5vcilkKGRvKXMoZXMpaChpdClnKGFjY2VwdClpKGFuZClkCi0oaWdub3JlKWkoYW4pZihhcmd1bWVuKW0odClnKG9mKWcoYClwIEZzKC0tKXAgRnQoJylnKGFzKWgoc2lnbmlmeWluZylmCi0odGhlKTYzMCAxNTU0IHkoZW5kKWoob2YpZyhvcHRpb25zLik2MzAgMTY4OSB5KFdoZW4pZyh0aGUpaAotRnMoWylmIEZ0KGZvcm0pZyhpcylnKHVzZWQsKWcodGhlKWcobGFzdClpKGFyZ3VtZW4pbSh0KWUodG8paSh0aGUpZQotKGNvbW1hbmQpZyhtKW0odXN0KWgoYilzKGUpZShhKWkgRnMoXSlwIEZ0KC4pNjMwIDE4MjMKLXkoRXhwcmVzc2lvbnMpMjMgYihtYSltKHkpaChiKXMoZSllKGNvbSltKGJpbmVkKWkodXNpbmcpZih0aGUpaChmb2xsbyltCi0od2luZyloKG9wKXMoZXJhdG9ycywpZyhsaXN0ZWQpZihpbilmKGRlY3JlYXNpbmcpNjMwCi0xOTMzIHkob3JkZXIpMzAgYihvZiloKHByZWNlZGVuY2UuKTQzIGIoVGhlKTMwIGIoZXYpLTUKLWIoYWx1YXRpb24pMzMgYihkZXApcyhlbmRzKTI4IGIob24paih0aGUpZyhuKW0odW0pbShiKXMoZXIpZihvZiloCi0oYXJndW1lbiltKHRzOylnKHNlZSk2MzAgMjA0MiB5KGIpcyhlbG8pbSh3Lik2MzAgMjIwMgoteSBGcyghKWYgRmkoZXhwcikyMTAgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShleHByKTM3Ci1iIEZ0KGlzKTMwIGIoZmFsc2UuKTYzMCAyMzYxIHkgRnMoXCgpZyBGaShleHByKTQwIGIgRnMoXCkpMTIyCi1iIEZ0KFJldHVybnMpMjMgYih0aGUpaCh2KS01IGIoYWx1ZSkyNCBiKG9mKWcgRnEoZXhwcik3Ci1iIEZ0KC4pMzcgYihUaGlzKTIzIGIobWEpbSh5KWkoYilzKGUpZSh1c2VkKWcodG8paChvKW0odiltKGVycmlkZSloCi0odGhlKWYobm9ybWFsKTExMTAgMjQ3MSB5KHByZWNlZGVuY2UpMzEgYihvZilmKG9wKXMoZXJhdG9ycy4pNjMwCi0yNjMwIHkgRmkoZXhwcjEpMzkgYiBGcygtYSkzMCBiIEZpKGV4cHIyKTExMTAgMjc0MCB5Ci1GdChUKS04IGIocnVlKTMwIGIoaWYpZyhiKXMob3RoKWcgRnEoZXhwcjEpMzcgYiBGdChhbmQpMzAKLWIgRnEoZXhwcjIpMzggYiBGdChhcmUpMzAgYih0cnVlLik2MzAgMjg5OSB5IEZpKGV4cHIxKTM5Ci1iIEZzKC1vKTMwIGIgRmkoZXhwcjIpMTExMCAzMDA5IHkgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcoZWl0aGVyKWgKLUZxKGV4cHIxKTM4IGIgRnQob3IpMzAgYiBGcShleHByMikzNyBiIEZ0KGlzKTMxIGIodHJ1ZS4pNjMwCi0zMTY4IHkoVGhlKTM3IGIgRnModGVzdClmIEZ0KGFuZClnIEZzKFspaCBGdChidWlsdGlucylnKGV2KS01Ci1iKGFsdWF0ZSkzOSBiKGNvbmRpdGlvbmFsKWYoZXhwcmVzc2lvbnMpZih1c2luZylnKGEpZyhzZXQpaChvZilmKHJ1bGVzKQotNjMwIDMyNzggeShiYXNlZCkzMCBiKG9uKWcodGhlKWgobiltKHVtKW0oYilzKGVyKWUob2YpaChhcmd1bWVuKW0odHMuKQotNjMwIDM0MzcgeSgwKWgoYXJndW1lbiltKHRzKTExMTAgMzU0NyB5KFRoZSlmKGV4cHJlc3Npb24pZyhpcylnKGZhbHNlLikKLTYzMCAzNzA2IHkoMSloKGFyZ3VtZW4pbSh0KTExMTAgMzgxNiB5KFRoZSlmKGV4cHJlc3Npb24pZyhpcylnKHRydWUpaAotKGlmKWYoYW5kKWcob25seSlnKGlmKWgodGhlKWYoYXJndW1lbiltKHQpaChpcylmKG5vdCloKG4pbSh1bGwuKTYzMAotMzk3NSB5KDIpZyhhcmd1bWVuKW0odHMpMTExMCA0MDg1IHkoSWYpZih0aGUpaChcMDE0cnN0KWYoYXJndW1lbiltKHQpaAotKGlzKWcoYClwIEZzKCEpcCBGdCgnLClnKHRoZSlnKGV4cHJlc3Npb24pZyhpcylnKHRydWUpZihpZiloKGFuZClmCi0ob25seSloKGlmKWcodGhlKTExMTAgNDE5NCB5KHNlY29uZClqKGFyZ3VtZW4pbSh0KWYoaXMpaChuKW0odWxsLik1MAotYihJZikzMyBiKHRoZSloKFwwMTRyc3QpZShhcmd1bWVuKW0odClpKGlzKWcob25lKWcob2YpZih0aGUpaCh1bmFyeSkKLTExMTAgNDMwNCB5KGNvbmRpdGlvbmFsKTQyIGIob3ApcyhlcmF0b3JzKWYoXChzZWUpZyhTZWN0aW9uKWgoNi40KWYKLShbQmFzaClnKENvbmRpdGlvbmFsKWcoRXhwcmVzLSkxMTEwIDQ0MTMgeShzaW9uc10sKTM0Ci1iKHBhZ2UpZig3NlwpLClpKHRoZSllKGV4cHJlc3Npb24pZihpcyloKHRydWUpZyhpZilnKHRoZSlnKHVuYXJ5KWUKLSh0ZXN0KWooaXMpZih0cnVlLik0NyBiKElmKTExMTAgNDUyMyB5KHRoZSkzMyBiKFwwMTRyc3QpZyhhcmd1bWVuKW0odCloCi0oaXMpZihub3QpZyhhKWgodiktNSBiKGFsaWQpMzQgYih1bmFyeSllKG9wKXMoZXJhdG9yLClpKHRoZSlnCi0oZXhwcmVzc2lvbilmKGlzKTExMTAgNDYzMyB5KGZhbHNlLik2MzAgNDc5MiB5KDMpZShhcmd1bWVuKW0odHMpMTExMAotNDkwMiB5KElmKWsodGhlKWcoc2Vjb25kKWcoYXJndW1lbiltKHQpZyhpcylnKG9uZSloKG9mKWYodGhlKWcoYmluYXJ5KWYKLShjb25kaXRpb25hbClqKG9wKXMoZXJhdG9ycykxMTEwIDUwMTEgeShcKHNlZSkyMyBiKFNlY3Rpb24pZyg2LjQpZgotKFtCYXNoKWgoQ29uZGl0aW9uYWwpZihFeHByZXNzaW9uc10sKWgocGFnZSlnKDc2XCksKWkodGhlKWQocmVzdWx0KTExMTAKLTUxMjEgeShvZik0NCBiKHRoZSloKGV4cHJlc3Npb24pZihpcylnKHRoZSlnKHJlc3VsdClnKG9mKWgodGhlKWYKLShiaW5hcnkpZyh0ZXN0KWgodXNpbmcpZSh0aGUpaShcMDE0cnN0KTExMTAgNTIzMCB5KGFuZCkzMQotYih0aGlyZClnKGFyZ3VtZW4pbSh0cylpKGFzKWYob3ApcyhlcmFuZHMuKTQ0IGIoVGhlKTMxCi1iKGApcCBGcygtYSlwIEZ0KCcpaChhbmQpZyhgKXAgRnMoLW8pcCBGdCgnKWYob3ApcyhlcmF0b3JzKWkoYXJlKTExMTAKLTUzNDAgeShjb25zaWRlcmVkKTI1IGIoYmluYXJ5KWcob3ApcyhlcmF0b3JzKWcod2hlbilmKHRoZXJlKWkoYXJlKWYKLSh0aHJlZSloKGFyZ3VtZW4pbSh0cy4pMzkgYihJZikyNSBiKHRoZSlwIGVvcCBlbmQKK2IoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDM5KTYzMCAyOTkgeShFeGl0KTMwCitiKHRoZSlnKHNoZWxsLCloKHJldHVybmluZylkKGEpaihzdGF0dXMpZihvZilnIEZxKG4pZgorRnQodG8paCh0aGUpZyhzaGVsbCdzKWcocGFyZW4pbSh0Lik0MSBiKElmKTMwIGIgRnEobilmCitGdChpcyloKG9taXR0ZWQsKWgodGhlKTYzMCA0MDggeShleGl0KWMoc3RhdHVzKWcoaXMpZyh0aGF0KWcob2YpZyh0aGUpZworKGxhc3QpZyhjb21tYW5kKWYoZXhlY3V0ZWQuKTQxIGIoQW4pbSh5KTI2IGIodHJhcCloKG9uKWYKK0ZzKEVYSVQpZiBGdChpcylpKGV4ZWN1dGVkKTYzMCA1MTggeShiKXMoZWZvcmUpaih0aGUpaChzaGVsbClmCisodGVybWluYXRlcy4pMTUwIDY3NSB5IEZzKGV4cG9ydCk4NzAgODA4IHkoZXhwb3J0KTQ2CitiKFstZm5dKWcoWy1wXSloKFspcCBGaShuYW1lKTExIGIgRnMoWz0pcCBGaSh2YWx1ZSlnCitGcyhdXSk2MzAgOTQxIHkgRnQoTWFyayk0MCBiKGVhYyltKGgpaCBGcShuYW1lKWsgRnQodG8pNDAKK2IoYilzKGUpZihwYXNzZWQpZyh0bylpKGMpbShoaWxkKWYocHJvKXMoY2Vzc2VzKWYoaW4pZyh0aGUpaChlbiltCisodmlyb25tZW4pbSh0Lik3MCBiKElmKTM5IGIodGhlKTYzMCAxMDUwIHkoYClwIEZzKC1mKXAKK0Z0KCcpMjkgYihvcHRpb24paChpcylnKHN1cHBsaWVkLClmKHRoZSlnIEZxKG5hbWUpNSBiCitGdChzKTMwIGIocmVmZXIpZih0byloKHNoZWxsKWcoZnVuY3Rpb25zOylmKG90aGVyd2lzZSloKHRoZSlnKG5hbWVzKTYzMAorMTE2MCB5KHJlZmVyKTM2IGIodG8paShzaGVsbCllKHYpLTUgYihhcmlhYmxlcy4pNjAgYihUaGUpMzYKK2IoYClwIEZzKC1uKXAgRnQoJyloKG9wdGlvbilnKG1lYW5zKWYodG8paChubylnKGxvbmdlcilnKG1hcmspZihlYWMpbQorKGgpaSBGcShuYW1lKTYzMCAxMjcwIHkgRnQoZm9yKWgoZXhwKXMob3J0Lik2NSBiKElmKTM5CitiKG5vKWcgRnEobmFtZXMpaiBGdChhcmUpZChzdXBwbGllZCwpaChvcilmKGlmKWcodGhlKWcoYClwCitGcygtcClwIEZ0KCcpZyhvcHRpb24pZyhpcylnKGdpdiltKGVuLClqKGEpZChsaXN0KWgob2YpNjMwCisxMzc5IHkoZXhwKXMob3J0ZWQpYyhuYW1lcyloKGlzKWYoZGlzcGxhKW0oeSltKGVkLik2MAorYihUaGUpMzcgYihgKXAgRnMoLXApcCBGdCgnKWYob3B0aW9uKWgoZGlzcGxhKW0oeXMpZyhvdXRwdXQpZihpbilnKGEpaAorKGZvcm0pZih0aGF0KTYzMCAxNDg5IHkobWEpbSh5KTMxIGIoYilzKGUpZihyZXVzZWQpZyhhcyloKGlucHV0Lik0MQorYihJZikzMSBiKGEpZyh2KS01IGIoYXJpYWJsZSkzMSBiKG5hbWUpZyhpcylnKGZvbGxvKW0odyltKGVkKWkoYiltKHkpZAorKD0pcCBGcSh2KS01IGIoYWx1ZSk1IGIgRnQoLCkzMiBiKHRoZSlmKHYpLTUgYihhbHVlKTMxCitiKG9mKTYzMCAxNTk4IHkodGhlKWcodiktNSBiKGFyaWFibGUpMzEgYihpcylmKHNldCloKHRvKWcKK0ZxKHYpLTUgYihhbHVlKTUgYiBGdCguKTYzMCAxNzMxIHkoVGhlKTI5IGIocmV0dXJuKWUoc3RhdHVzKWooaXMpZgorKHplcm8paCh1bmxlc3MpZShhbiloKGluKW0odiktNSBiKGFsaWQpMjkgYihvcHRpb24paChpcylmKHN1cHBsaWVkLClmCisob25lKWkob2YpZih0aGUpZyhuYW1lcyk2MzAgMTg0MSB5KGlzKWgobm90KWgoYSlmKHYpLTUKK2IoYWxpZCkzMSBiKHNoZWxsKWYodiktNSBiKGFyaWFibGUpMzEgYihuYW1lLClmKG9yKWgoYClwCitGcygtZilwIEZ0KCcpZihpcylnKHN1cHBsaWVkKWYod2l0aClnKGEpaShuYW1lKWYodGhhdCloKGlzKWYobm90KWgoYSkKKzYzMCAxOTUxIHkoc2hlbGwpZyhmdW5jdGlvbi4pMTUwIDIxMDcgeSBGcyhnZXRvcHRzKTg3MAorMjI0MCB5KGdldG9wdHMpNDYgYiBGaShvcHRzdHJpbmcpNTYgYihuYW1lKWggRnMoWylwIEZpKGFyZ3MpMTEKK2IgRnMoXSk2MzAgMjM3MyB5KGdldG9wdHMpMjggYiBGdChpcylpKHVzZWQpZyhiKW0oeSlnKHNoZWxsKWcoc2NyaXB0cylnCisodG8pZyhwYXJzZSlnKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzLik0MSBiIEZxKG9wdHN0cmluZylkCitGdChjb24tKTYzMCAyNDgzIHkodGFpbnMpayh0aGUpZyhvcHRpb24pZihjKW0oaGFyYWN0ZXJzKWkodG8pZyhiKXMoZSlkCisocmVjb2duaXplZDspNDkgYihpZik0MiBiKGEpZihjKW0oaGFyYWN0ZXIpaihpcylkKGZvbGxvKW0odyltKGVkKWkoYiltCisoeSlmKGEpNjMwIDI1OTIgeShjb2xvbiwpMzMgYih0aGUpZihvcHRpb24pZyhpcylnKGV4cClzKGVjdGVkKWcodG8paAorKGhhKW0odiltKGUpZyhhbillKGFyZ3VtZW4pbSh0LClpKHdoaWMpbShoKWYoc2hvdWxkKWUoYilzKGUpaAorKHNlcGFyYXRlZCk2MzAgMjcwMiB5KGZyb20pMzcgYihpdCloKGIpbSh5KWYod2hpdGUpaChzcGFjZS4pNjMKK2IoVGhlKTM3IGIoY29sb24paChcKGApcCBGcyg6KXAgRnQoJ1wpKWgoYW5kKWQocXVlc3Rpb24paShtYXJrKWYoXChgKXAKK0ZzKD8pcCBGdCgnXCkpaShtYSltKHkpZihub3QpZyhiKXMoZSk2MzAgMjgxMiB5KHVzZWQpZyhhcylnKG9wdGlvbiloKGMpCittKGhhcmFjdGVycy4pNjcgYihFYWMpbShoKTM5IGIodGltZSlnKGl0KWcoaXMpZihpbiltKHYpbShvayltKGVkLClrCitGcyhnZXRvcHRzKTM3IGIgRnQocGxhY2VzKWkodGhlKWcobmV4dCk2MzAgMjkyMSB5KG9wdGlvbikyOQorYihpbilmKHRoZSlnKHNoZWxsKWgodiktNSBiKGFyaWFibGUpMjkgYiBGcShuYW1lKTUgYgorRnQoLCkyOSBiKGluaXRpYWxpemluZyloIEZxKG5hbWUpayBGdChpZikyOCBiKGl0KWgoZG8pcyhlcylmKG5vdClnCisoZXhpc3QsKWkoYW5kKWUodGhlKTYzMCAzMDMxIHkoaW5kZXgpMzMgYihvZilnKHRoZSloKG5leHQpZihhcmd1bWVuKW0KKyh0KWgodG8pZyhiKXMoZSllKHBybylzKGNlc3NlZCloKGluKW0odG8paCh0aGUpZyh2KS01CitiKGFyaWFibGUpMzQgYiBGcyhPUFRJTkQpcCBGdCguKTQ4IGIgRnMoT1BUSU5EKTYzMCAzMTQwCit5IEZ0KGlzKTQxIGIoaW5pdGlhbGl6ZWQpaSh0bylmKDEpZihlYWMpbShoKWgodGltZSlnKHRoZSlmKHNoZWxsKWcob3IpZworKGEpZyhzaGVsbClnKHNjcmlwdClnKGlzKWcoaW4pbSh2KW0ob2spbShlZC4pNzQgYihXaGVuKTQxCitiKGFuKTYzMCAzMjUwIHkob3B0aW9uKTM2IGIocmVxdWlyZXMpZShhbiloKGFyZ3VtZW4pbSh0LClpCitGcyhnZXRvcHRzKWMgRnQocGxhY2VzKWoodGhhdClnKGFyZ3VtZW4pbSh0KWcoaW4pbSh0bylnKHRoZSlmKHYpLTUKK2IoYXJpYWJsZSk2MzAgMzM2MCB5IEZzKE9QVEFSRylwIEZ0KC4pNTUgYihUaGUpMzUgYihzaGVsbClnKGRvKXMoZXMpaAorKG5vdClnKHJlc2V0KWcgRnMoT1BUSU5EKWUgRnQoYXV0b21hdGljYWxseTspNDEgYihpdCkzNgorYihtKW0odXN0KWYoYilzKGUpZyhtYW4pbSh1YWxseSk2MzAgMzQ2OSB5KHJlc2V0KWkoYilzKGV0KW0odyltKGVlbilnCisobSltKHVsdGlwbGUpaChjYWxscylmKHRvKWcgRnMoZ2V0b3B0cyllIEZ0KHdpdGhpbiloKHRoZSloKHNhbWUpZworKHNoZWxsKWYoaW4pbSh2KW0obylzKGNhdGlvbilqKGlmKWUoYSk2MzAgMzU3OSB5KG5ldykzMAorYihzZXQpaChvZilmKHBhcmFtZXRlcnMpaChpcylmKHRvKWkoYilzKGUpZCh1c2VkLik2MzAKKzM3MTIgeShXaGVuKTQxIGIodGhlKWgoZW5kKWUob2YpaShvcHRpb25zKWcoaXMpZihlbmNvdW4pbSh0ZXJlZCwpaworRnMoZ2V0b3B0cykzOSBiIEZ0KGV4aXRzKWood2l0aClmKGEpaChyZXR1cm4pZSh2KS01IGIoYWx1ZSk2MzAKKzM4MjEgeShncmVhdGVyKTMyIGIodGhhbillKHplcm8uKTQxIGIgRnMoT1BUSU5EKTI5IGIKK0Z0KGlzKWgoc2V0KWgodG8pZyh0aGUpZyhpbmRleClmKG9mKWcodGhlKWgoXDAxNHJzdClmKG5vbi1vcHRpb24pZworKGFyZ3VtZW4pbSh0LCk2MzAgMzkzMSB5KGFuZClnIEZxKG5hbWUpMzUgYiBGdChpcyljKHNldClnKHRvKWcoYClwCitGcyg/KXAgRnQoJy4pNjMwIDQwNjQgeSBGcyhnZXRvcHRzKWMgRnQobm9ybWFsbHkpaihwYXJzZXMpZSh0aGUpaShwKXMKKyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXJzLClnKGJ1dCllKGlmKWkobW9yZSlmKGFyZ3VtZW4pbSh0cyloKGFyZSk2MzAKKzQxNzQgeShnaXYpbShlbiloKGluKWYgRnEoYXJncyl0IEZ0KCwpaCBGcyhnZXRvcHRzKWUKK0Z0KHBhcnNlcylnKHRob3NlKWkoaW5zdGVhZC4pNjMwIDQzMDcgeSBGcyhnZXRvcHRzKWgKK0Z0KGNhbiloKHJlcClzKG9ydClnKGVycm9ycylnKGluKWgodCltKHcpbShvKWgodyltKGEpbSh5cy4pNTEKK2IoSWYpMzMgYih0aGUpaChcMDE0cnN0KWUoYyltKGhhcmFjdGVyKWsob2YpZCBGcShvcHRzdHJpbmcpNDIKK2IgRnQoaXMpMzQgYihhKTYzMCA0NDE2IHkoY29sb24sKWkgRnEoc2lsZW4pbSh0KWkgRnQoZXJyb3IpMzMKK2IocmVwKXMob3J0aW5nKWgoaXMpaCh1c2VkLik1MSBiKEluKTMzIGIobm9ybWFsKWkob3ApcyhlcmF0aW9uKWYKKyhkaWFnbm9zdGljKWkobWVzc2FnZXMpNjMwIDQ1MjYgeShhcmUpMzAgYihwcmluKW0odGVkKWUod2hlbilnKGluKW0odikKKy01IGIoYWxpZCkzMCBiKG9wdGlvbnMpZyhvcilmKG1pc3NpbmcpZyhvcHRpb24pZyhhcmd1bWVuKW0odHMpaChhcmUpZgorKGVuY291biltKHRlcmVkLik2MzAgNDYzNSB5KElmKTM0IGIodGhlKWcodiktNSBiKGFyaWFibGUpMzUKK2IgRnMoT1BURVJSKWQgRnQoaXMpaShzZXQpaCh0bylmKDAsKWkobm8pZShlcnJvcilnKG1lc3NhZ2VzKWgod2lsbClmKGIpCitzKGUpZihkaXNwbGEpbSh5KW0oZWQsKWooZXYpbShlbilmKGlmKTYzMCA0NzQ1IHkodGhlKWMoXDAxNHJzdCllKGMpbQorKGhhcmFjdGVyKWoob2YpZiBGcyhvcHRzdHJpbmcpZCBGdChpcylpKG5vdCloKGEpZihjb2xvbi4pNjMwCis0ODc4IHkoSWYpMzkgYihhbiloKGluKW0odiktNSBiKGFsaWQpNDEgYihvcHRpb24pZihpcylnKHNlZW4sKWkKK0ZzKGdldG9wdHMpYyBGdChwbGFjZXMpaihgKXAgRnMoPylwIEZ0KCcpZihpbiltKHRvKWgKK0ZxKG5hbWUpayBGdChhbmQsKWQoaWYpZShub3QpZyhzaWxlbiltKHQsKTYzMCA0OTg4IHkocHJpbiltKHRzKWYoYW4paAorKGVycm9yKWYobWVzc2FnZSloKGFuZClmKHVuc2V0cylnIEZzKE9QVEFSRylwIEZ0KC4pNjcKK2IoSWYpMzkgYiBGcyhnZXRvcHRzKWYgRnQoaXMpaShzaWxlbiltKHQsKWoodGhlKWMob3B0aW9uKTYzMAorNTA5NyB5KGMpbShoYXJhY3RlcikzMiBiKGZvdW5kKWQoaXMpaChwbGFjZWQpaChpbilmIEZzKE9QVEFSRylmCitGdChhbmQpaChubylnKGRpYWdub3N0aWMpaShtZXNzYWdlKWYoaXMpZyhwcmluKW0odGVkLik2MzAKKzUyMzAgeShJZiljKGEpZyhyZXF1aXJlZClmKGFyZ3VtZW4pbSh0KWkoaXMpZihub3QpZyhmb3VuZCwpZyhhbmQpZgorRnMoZ2V0b3B0cylmIEZ0KGlzKWkobm90KWgoc2lsZW4pbSh0LCloKGEpZShxdWVzdGlvbilnKG1hcmspNjMwCis1MzQwIHkoXChgKXAgRnMoPylwIEZ0KCdcKSkzNSBiKGlzKWcocGxhY2VkKWcoaW4pZyBGcShuYW1lKTUKK2IgRnQoLCkzNiBiIEZzKE9QVEFSRylkIEZ0KGlzKWgodW5zZXQsKWkoYW5kKWUoYSloKGRpYWdub3N0aWMpaAorKG1lc3NhZ2UpZihpcylnKHByaW4pbSh0ZWQuKXAgZW9wIGVuZAogJSVQYWdlOiA0MCA0NgogVGVYRGljdCBiZWdpbiA0MCA0NSBib3AgMTUwIC0xMTYgYSBGdCg0MCkyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTExMCAyOTkgeShcMDE0cnN0KWQoYXJndW1lbiltKHQpaChpcylnKGApcAotRnMoISlwIEZ0KCcsKWgodGhlKWYodiktNSBiKGFsdWUpMjkgYihpcylnKHRoZSlnKG5lZ2F0aW9uKWkob2YpZSh0aGUpZwotKHQpbSh3KW0oby1hcmd1bWVuKW0odCkxMTEwIDQwOCB5KHRlc3QpMzggYih1c2luZylmKHRoZSlnKHNlY29uZClnKGFuZCkKLWcodGhpcmQpZihhcmd1bWVuKW0odHMuKTYxIGIoSWYpMzcgYih0aGUpZyhcMDE0cnN0KWYoYXJndW1lbiltKHQpMTExMAotNTE4IHkoaXMpaihleGFjdGx5KWkoYClwIEZzKFwoKXAgRnQoJylmKGFuZClmKHRoZSlnKHRoaXJkKWcoYXJndW1lbiltCi0odCloKGlzKWYoZXhhY3RseSlpKGApcCBGcyhcKSlwIEZ0KCcsKWgodGhlKWUocmVzdWx0KWYoaXMpMTExMAotNjI4IHkodGhlKTQ2IGIob25lLWFyZ3VtZW4pbSh0KWcodGVzdCloKG9mKWYodGhlKWYoc2Vjb25kKWgoYXJndW1lbiltCi0odC4pODYgYihPdGhlcndpc2UsKTUwIGIodGhlKTExMTAgNzM3IHkoZXhwcmVzc2lvbikzMAotYihpcyloKGZhbHNlLik2MzAgOTA5IHkoNClnKGFyZ3VtZW4pbSh0cykxMTEwIDEwMTkgeShJZiloKHRoZSlpCi0oXDAxNHJzdCllKGFyZ3VtZW4pbSh0KWgoaXMpZyhgKXAgRnMoISlwIEZ0KCcsKWgodGhlKWYocmVzdWx0KWcoaXMpZwotKHRoZSlnKG5lZ2F0aW9uKWgob2YpZih0aGUpZyh0aHJlZS0pMTExMCAxMTI5IHkoYXJndW1lbiltKHQpaAotKGV4cHJlc3Npb24pZihjb21wKXMob3NlZCloKG9mKWYodGhlKWgocmVtYWluaW5nKWcoYXJndW1lbiltKHRzLik1MAotYihPdGgtKTExMTAgMTIzOCB5KGVyd2lzZSwpMzQgYih0aGUpZihleHByZXNzaW9uKWcoaXMpZyhwYXJzZWQpZyhhbmQpZgotKGV2KS01IGIoYWx1YXRlZCkzNCBiKGFjY29yZGluZyloKHRvKWUocHJlY2UtKTExMTAgMTM0OAoteShkZW5jZSllKHVzaW5nKWUodGhlKWkocnVsZXMpZihsaXN0ZWQpaChhYilzKG8pbSh2KW0oZS4pNjMwCi0xNTIwIHkoNSlnKG9yKWYobW9yZSloKGFyZ3VtZW4pbSh0cykxMTEwIDE2MzAgeShUaGUpNDMKLWIoZXhwcmVzc2lvbilmKGlzKWkocGFyc2VkKWUoYW5kKWcoZXYpLTUgYihhbHVhdGVkKTQ1Ci1iKGFjY29yZGluZylmKHRvKWYocHJlY2VkZW5jZSkxMTEwIDE3MzkgeSh1c2luZykzMCBiKHRoZSlnKHJ1bGVzKWcKLShsaXN0ZWQpaChhYilzKG8pbSh2KW0oZS4pMTUwIDE5MTEgeSBGcyh0aW1lcyk4NzAgMjA1MgoteSh0aW1lcyk2MzAgMjE5MyB5IEZ0KFByaW4pbSh0KTM3IGIob3V0KWgodGhlKWcodXNlcillKGFuZCloKHN5c3RlbSlnCi0odGltZXMpaCh1c2VkKWYoYiltKHkpZyh0aGUpaChzaGVsbClmKGFuZClnKGl0cyloKGMpbShoaWxkcmVuLik2MQotYihUaGUpNjMwIDIzMDMgeShyZXR1cm4pMjkgYihzdGF0dXMpaShpcylmKHplcm8uKTE1MAotMjQ3NSB5IEZzKHRyYXApODcwIDI2MTYgeSh0cmFwKTQ3IGIoWy1scF0pZihbKXAgRmkoYXJnKTExCi1iIEZzKF0pNDYgYihbKXAgRmkoc2lnc3BlYyk1NiBiIEZzKC4uLilvKF0pNjMwIDI3NTcgeQotRnQoVGhlKTQzIGIoY29tbWFuZHMpZihpbiloIEZxKGFyZyk1MSBiIEZ0KGFyZSk0NCBiKHRvKWcoYilzKGUpZShyZWFkKWgKLShhbmQpZyhleGVjdXRlZCloKHdoZW4pZSh0aGUpaChzaGVsbClnKHJlY2VpdiltKGVzKTYzMAotMjg2NiB5KHNpZ25hbCkzNiBiIEZxKHNpZ3NwKXMoZWMpNiBiIEZ0KC4pNTUgYihJZikzNQotYiBGcShhcmcpNDQgYiBGdChpcykzNSBiKGFic2VuKW0odCloKFwoYW5kKWYodGhlcmUpZyhpcylnKGEpaChzaW5nbGUpZwotRnEoc2lnc3ApcyhlYyk2IGIgRnQoXCkpMzUgYihvciloKGVxdWFsKWYodG8paShgKXAgRnMoLSlwCi1GdCgnLCk2MzAgMjk3NiB5KGVhYyltKGgpMjggYihzcClzKGVjaVwwMTRlZCllKHNpZ25hbCdzKWgoZGlzcClzCi0ob3NpdGlvbilmKGlzKWgocmVzZXQpZyh0bylnKHRoZSlnKHYpLTUgYihhbHVlKTI3IGIoaXQpZyhoYWQpZih3aGVuKWYKLSh0aGUpaShzaGVsbClnKHcpbShhcyk2MzAgMzA4NiB5KHN0YXJ0ZWQuKTYzIGIoSWYpMzcKLWIgRnEoYXJnKTQ2IGIgRnQoaXMpMzcgYih0aGUpaChuKW0odWxsKWcoc3RyaW5nLCloKHRoZW4pZSh0aGUpaChzaWduYWwpCi1oKHNwKXMoZWNpXDAxNGVkKWQoYiltKHkpaShlYWMpbShoKWggRnEoc2lnc3ApcyhlYylrCi1GdChpcyk2MzAgMzE5NSB5KGlnbm9yZWQpMzYgYihiKW0oeSlnKHRoZSlnKHNoZWxsKWcoYW5kKWcoY29tbWFuZHMpZgotKGl0KWkoaW4pbSh2KW0ob2spbShlcy4pNTkgYihJZikzNSBiIEZxKGFyZyk0NSBiIEZ0KGlzKTM2Ci1iKG5vdClnKHByZXNlbiltKHQpZyhhbmQpZihgKXAgRnMoLXApcCBGdCgnKTYzMCAzMzA1Ci15KGhhcyllKGIpcyhlZW4pZyhzdXBwbGllZCwpZih0aGUpaShzaGVsbClmKGRpc3BsYSltKHlzKWgodGhlKWYodHJhcClnCi0oY29tbWFuZHMpZyhhc3NvKXMoY2lhdGVkKWkod2l0aCllKGVhYyltKGgpNjMwIDM0MTQgeQotRnEoc2lnc3ApcyhlYyk2IGIgRnQoLik0MCBiKElmKTI4IGIobm8pZyhhcmd1bWVuKW0odHMpaChhcmUpZwotKHN1cHBsaWVkLClmKG9yKWcob25seSloKGApcCBGcygtcClwIEZ0KCcpZihpcylnKGdpdiltKGVuLClpCi1Gcyh0cmFwKWUgRnQocHJpbiltKHRzKWcodGhlKWcobGlzdCk2MzAgMzUyNCB5KG9mKWcoY29tbWFuZHMpZihhc3NvKXMKLShjaWF0ZWQpaSh3aXRoKWYoZWFjKW0oaCloKHNpZ25hbClmKG4pbSh1bSltKGIpcyhlcillKGluKWkoYSlnKGZvcm0pZgotKHRoYXQpaChtYSltKHkpaChiKXMoZSllKHJldXNlZCk2MzAgMzYzNCB5KGFzKTM0IGIoc2hlbGwpZyhpbnB1dC4pNTEKLWIoVGhlKTMzIGIoYClwIEZzKC1sKXAgRnQoJyloKG9wdGlvbilnKGNhdXNlcyloKHRoZSlmKHNoZWxsKWcodG8paAotKHByaW4pbSh0KWUoYSlpKGxpc3QpZihvZilnKHNpZ25hbCloKG5hbWVzKTYzMCAzNzQzIHkoYW5kKWoodGhlaXIpaAotKGNvcnJlc3ApcyhvbmRpbmcpZihuKW0odW0pbShiKXMoZXJzLik2NSBiKEVhYyltKGgpMzkKLWIgRnEoc2lnc3ApcyhlYyk0NSBiIEZ0KGlzKTM5IGIoZWl0aGVyKWcoYSlnKHNpZ25hbCloKG5hbWUpZihvcilnKGEpNjMwCi0zODUzIHkoc2lnbmFsKTI3IGIobiltKHVtKW0oYilzKGVyLikzOSBiKFNpZ25hbCkyNyBiKG5hbWVzKWYoYXJlKWgKLShjYXNlKWgoaW5zZW5zaXRpdiltKGUpZyhhbmQpZSh0aGUpZyBGcyhTSUcpZyBGdChwcmVcMDE0eClnKGlzKWgKLShvcHRpb25hbC4pNjMwIDM5OTQgeShJZikzNSBiKGEpZyBGcShzaWdzcClzKGVjKTQxIGIKLUZ0KGlzKTM1IGIgRnMoMClnIEZ0KG9yKWcgRnMoRVhJVClwIEZ0KCwpZyBGcShhcmcpNDMKLWIgRnQoaXMpMzUgYihleGVjdXRlZCloKHdoZW4pZSh0aGUpaChzaGVsbCloKGV4aXRzLik1NQotYihJZikzNSBiKGEpZyBGcShzaWdzcClzKGVjKTQxIGIgRnQoaXMpNjMwIDQxMDMgeSBGcyhERUJVRylwCi1GdCgsKTMyIGIodGhlKWcoY29tbWFuZClnIEZxKGFyZyk0MCBiIEZ0KGlzKTMzIGIoZXhlY3V0ZWQpZyhiKXMoZWZvcmUpZgotKGV2KW0oZXJ5KWgoc2ltcGxlKWYoY29tbWFuZCwpaCBGcyhmb3IpZSBGdChjb20tKTYzMAotNDIxMyB5KG1hbmQsKWQgRnMoY2FzZSlnIEZ0KGNvbW1hbmQsKWggRnMoc2VsZWN0KWUgRnQoY29tbWFuZCwpaShldiltCi0oZXJ5KWgoYXJpdGhtZXRpYylnIEZzKGZvcilkIEZ0KGNvbW1hbmQsKWooYW5kKTYzMCA0MzIyCi15KGIpcyhlZm9yZSkyMiBiKHRoZSlnKFwwMTRyc3QpZihjb21tYW5kKWgoZXhlY3V0ZXMpaShpbillKGEpZyhzaGVsbCloCi0oZnVuY3Rpb24uKTM3IGIoUmVmZXIpMjIgYih0byloKHRoZSlnKGRlc2NyaXB0aW9uKWYob2YpNjMwCi00NDMyIHkodGhlKWkgRnMoZXh0ZGVidWcpZCBGdChvcHRpb24paih0byloKHRoZSlmIEZzKHNob3B0KWUKLUZ0KGJ1aWx0aW4paChcKHNlZSlpKFNlY3Rpb24pZig0LjMuMilpKFtUaGUpZChTaG9wdClnKEJ1aWx0aW5dLCk2MzAKLTQ1NDIgeShwYWdlKTMzIGIoNTVcKSlnKGZvcilmKGRldGFpbHMpaChvZilmKGl0cyloKGVcMDEzZWN0KWcob24pZih0aGUpCi1nIEZzKERFQlVHKWYgRnQodHJhcC4pNDYgYihJZikzMSBiKGEpaSBGcShzaWdzcClzKGVjKTM4Ci1iIEZ0KGlzKTMyIGIgRnMoUkVUVVJOKXAgRnQoLClmKHRoZSk2MzAgNDY1MSB5KGNvbW1hbmQpaAotRnEoYXJnKTQxIGIgRnQoaXMpMzMgYihleGVjdXRlZClnKGVhYyltKGgpaCh0aW1lKWYoYSlnKHNoZWxsKWcKLShmdW5jdGlvbilnKG9yKWYoYSloKHNjcmlwdClnKGV4ZWN1dGVkKWcod2l0aCk2MzAgNDc2MQoteSh0aGUpZSBGcyguKWYgRnQob3IpZyBGcyhzb3VyY2UpZiBGdChidWlsdGlucylnKFwwMTRuaXNoZXMpaAotKGV4ZWN1dGluZy4pNjMwIDQ5MDIgeShJZilnKGEpaSBGcShzaWdzcClzKGVjKWsgRnQoaXMpMzEKLWIgRnMoRVJSKXAgRnQoLClmKHRoZSloKGNvbW1hbmQpZyBGcShhcmcpMzkgYiBGdChpcykzMQotYihleGVjdXRlZClnKHdoZW5ldiltKGVyKWcoYSlnKHNpbXBsZSlnKGNvbW1hbmQpNjMwIDUwMTEKLXkoaGFzKWsoYSloKG5vbi16ZXJvKWgoZXhpdClmKHN0YXR1cywpaShzdWIpNSBiKGplY3QpMzUKLWIodG8paCh0aGUpZyhmb2xsbyltKHdpbmcpaChjb25kaXRpb25zLik1NyBiKFRoZSkzNSBiCi1GcyhFUlIpZyBGdCh0cmFwKTYzMCA1MTIxIHkoaXMpMzAgYihub3QpZihleGVjdXRlZClpKGlmKWUodGhlKWgoZmFpbGVkKQotZyhjb21tYW5kKWcoaXMpZihwYXJ0KWgob2YpZih0aGUpaChjb21tYW5kKWYobGlzdClpKGltbWVkaWF0ZWx5KTYzMAotNTIzMCB5KGZvbGxvKW0od2luZyk0NyBiKGFuKWQgRnModW50aWwpZyBGdChvciloIEZzKHdoaWxlKWYKLUZ0KGspbShleXcpbShvcmQsKTQ5IGIocGFydCljKG9mKWcodGhlKWgodGVzdClnKGZvbGxvKW0od2luZylnKHRoZSlmCi1GcyhpZilnIEZ0KG9yKTYzMCA1MzQwIHkgRnMoZWxpZilkIEZ0KHJlc2VydiltKGVkKWkodyltKG9yZHMsKWoocGFydCljCi0ob2YpaChhKWcoY29tbWFuZClmKGV4ZWN1dGVkKWkoaW4pZShhKWggRnMoJiYpZiBGdChvciloCi1Gcyh8fClmIEZ0KGxpc3QsKWsob3IpZChpZilwIGVvcCBlbmQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShJZilpIEZzKGdldG9wdHMpZiBGdChpcyloKHNpbGVuKW0odCwpCitqKHRoZW4pZChhKWkoY29sb24pZihcKGApcCBGcyg6KXAgRnQoJ1wpKWgoaXMpZShwbGFjZWQpaChpbilnCitGcShuYW1lKWsgRnQoYW5kKTMzIGIgRnMoT1BUQVJHKWYgRnQoaXMpaShzZXQpZyh0byk2MzAKKzQwOCB5KHRoZSlkKG9wdGlvbilmKGMpbShoYXJhY3RlcilpKGZvdW5kLikxNTAgNTczIHkKK0ZzKGhhc2gpODcwIDcxMCB5KGhhc2gpNDcgYihbLXJdKWYoWy1wKWggRmkoZmlsZW5hbWUpMTEKK2IgRnMoXSk0NSBiKFstZHRdKWgoWylwIEZpKG5hbWUpMTEgYiBGcyhdKTYzMCA4NDcgeSBGdChFYWMpbShoKTMyCitiKHRpbWUpZyBGcyhoYXNoKWUgRnQoaXMpaChpbiltKHYpbShvayltKGVkLClqKGl0KWQocmVtZW0pbShiKXMoZXJzKWcKKyh0aGUpZyhmdWxsKWcocGF0aG5hbWVzKWcob2YpaCh0aGUpZihjb21tYW5kcyk2MzAgOTU2Cit5KHNwKXMoZWNpXDAxNGVkKWkoYXMpaSBGcShuYW1lKWsgRnQoYXJndW1lbiltKHRzLCljKHNvKWcodGhleSlmKG5lZWQpZworKG5vdClnKGIpcyhlKWYoc2VhcmMpbShoZWQpaShmb3IpZihvbilnKHN1YnNlcXVlbiltKHQpNjMwCisxMDY2IHkoaW4pbSh2KW0obylzKGNhdGlvbnMuKTc5IGIoVGhlKTQxIGIoY29tbWFuZHMpaChhcmUpaChmb3VuZCllKGIpbQorKHkpaChzZWFyYyltKGhpbmcpaSh0aHJvdWdoKWQodGhlKWkoZGlyZWN0b3JpZXMpNjMwIDExNzYKK3kobGlzdGVkKTMzIGIoaW4pZyBGcygkUEFUSClwIEZ0KC4pNDcgYihBbiltKHkpMzMgYihwcmV2aW91c2x5LXJlbWVtKW0KKyhiKXMoZXJlZClmKHBhdGhuYW1lKWgoaXMpZyhkaXNjYXJkZWQuKTQ4IGIoVGhlKTMyIGIoYClwCitGcygtcClwIEZ0KCcpNjMwIDEyODUgeShvcHRpb24paShpbmhpYml0cyllKHRoZSlpKHBhdGgpZihzZWFyYyltKGgsKWkKKyhhbmQpZSBGcShcMDE0bGVuYW1lKTM4IGIgRnQoaXMpYyh1c2VkKWUoYXMpaSh0aGUpZihsbylzKGNhdGlvbilpKG9mKWYKK0ZxKG5hbWUpNSBiIEZ0KC4pNjMwIDEzOTUgeShUaGUpMzUgYihgKXAgRnMoLXIpcCBGdCgnKWcob3B0aW9uKWcKKyhjYXVzZXMpaCh0aGUpZyhzaGVsbClmKHRvKWgoZm9yZ2V0KWcoYWxsKWcocmVtZW0pbShiKXMoZXJlZClmKGxvKXMKKyhjYXRpb25zLik1NiBiKFRoZSkzNSBiKGApcCBGcygtZClwIEZ0KCcpNjMwIDE1MDQgeShvcHRpb24pYyhjYXVzZXMpZgorKHRoZSlnKHNoZWxsKWgodG8pZihmb3JnZXQpaSh0aGUpZShyZW1lbSltKGIpcyhlcmVkKWYobG8pcyhjYXRpb24paihvZikKK2UoZWFjKW0oaCloIEZxKG5hbWUpNSBiIEZ0KC4pNDEgYihJZikzMCBiKHRoZSk2MzAgMTYxNAoreShgKXAgRnMoLXQpcCBGdCgnKTM1IGIob3B0aW9uKWgoaXMpZyhzdXBwbGllZCwpZih0aGUpaChmdWxsKWYKKyhwYXRobmFtZSlnKHRvKWkod2hpYyltKGgpZShlYWMpbShoKWggRnEobmFtZSk0MSBiIEZ0KGNvcnJlc3ApcyhvbmRzKTM0CitiKGlzKTYzMCAxNzI0IHkocHJpbiltKHRlZC4pMzkgYihJZikyNiBiKG0pbSh1bHRpcGxlKWgKK0ZxKG5hbWUpMzIgYiBGdChhcmd1bWVuKW0odHMpMjcgYihhcmUpZyhzdXBwbGllZCllKHdpdGgpaChgKXAKK0ZzKC10KXAgRnQoJylnKHRoZSloIEZxKG5hbWUpMzIgYiBGdChpcykyNiBiKHByaW4pbSh0ZWQpNjMwCisxODMzIHkoYilzKGVmb3JlKWYodGhlKWgoaGFzaGVkKWUoZnVsbCloKHBhdGhuYW1lLikzOQorYihUaGUpMjUgYihgKXAgRnMoLWwpcCBGdCgnKWgob3B0aW9uKWYoY2F1c2VzKWgob3V0cHV0KWYodG8paShiKXMoZSlkCisoZGlzcGxhKW0oeSltKGVkKTYzMCAxOTQzIHkoaW4pMzEgYihhKWcoZm9ybWF0KWgodGhhdClmKG1hKW0oeSloKGIpcyhlKQorZihyZXVzZWQpZihhcyloKGlucHV0Lik0MiBiKElmKTMxIGIobm8pZyhhcmd1bWVuKW0odHMpaChhcmUpZihnaXYpbQorKGVuLClpKG9yKWUoaWYpZyhvbmx5KTYzMCAyMDUyIHkoYClwIEZzKC1sKXAgRnQoJyk0NAorYihpcylmKHN1cHBsaWVkLClqKGluZm9ybWF0aW9uKWUoYWIpcyhvdXQpZyhyZW1lbSltKGIpcyhlcmVkKWYKKyhjb21tYW5kcylnKGlzKWgocHJpbiltKHRlZC4pODAgYihUaGUpNjMwIDIxNjIgeShyZXR1cm4pMjUKK2Ioc3RhdHVzKWgoaXMpZih6ZXJvKWkodW5sZXNzKWUoYSloIEZxKG5hbWUpMzEgYiBGdChpcykyNgorYihub3QpZyhmb3VuZCllKG9yKWkoYW4pZyhpbiltKHYpLTUgYihhbGlkKTI2IGIob3B0aW9uKWcoaXMpZworKHN1cHBsaWVkLikxNTAgMjMyNiB5IEZzKHB3ZCk4NzAgMjQ2MyB5KHB3ZCk0NyBiKFstTFBdKTYzMAorMjYwMCB5IEZ0KFByaW4pbSh0KTI0IGIodGhlKWgoYWJzb2x1dGUpZyhwYXRobmFtZSlnKG9mKWYodGhlKWgoY3VycmVuKW0KKyh0KWYodyltKG9ya2luZyloKGRpcmVjdG9yeSktOCBiKC4pNDAgYihJZikyMyBiKHRoZSlpKGApcAorRnMoLVApcCBGdCgnKWYob3B0aW9uKTYzMCAyNzEwIHkoaXMpMzYgYihzdXBwbGllZCwpZih0aGUpaChwYXRobmFtZSlmCisocHJpbiltKHRlZClnKHdpbGwpaChub3QpZyhjb24pbSh0YWluKWgoc3ltKW0oYilzKG9saWMpZihsaW5rcy4pNTUKK2IoSWYpMzUgYih0aGUpaChgKXAgRnMoLUwpcCBGdCgnKTYzMCAyODE5IHkob3B0aW9uKTQ0CitiKGlzKWcoc3VwcGxpZWQsKWkodGhlKWUocGF0aG5hbWUpZihwcmluKW0odGVkKWgobWEpbSh5KWcoY29uKW0odGFpbiloCisoc3ltKW0oYilzKG9saWMpZihsaW5rcy4pODAgYihUaGUpNjMwIDI5MjkgeShyZXR1cm4pMjYKK2Ioc3RhdHVzKWgoaXMpaCh6ZXJvKWcodW5sZXNzKWUoYW4paChlcnJvcilnKGlzKWcoZW5jb3VuKW0odGVyZWQpZworKHdoaWxlKWgoZGV0ZXJtaW5pbmcpZih0aGUpZyhuYW1lKTYzMCAzMDM5IHkob2Ypayh0aGUpZihjdXJyZW4pbSh0KWcKKyhkaXJlY3RvcnkpaChvcilmKGFuKWgoaW4pbSh2KS01IGIoYWxpZCkzMSBiKG9wdGlvbilnKGlzKWYoc3VwcGxpZWQuKQorMTUwIDMyMDMgeSBGcyhyZWFkb25seSk4NzAgMzM0MCB5KHJlYWRvbmx5KTQ2IGIoWy1hQXBmXSlmKFspcAorRmkobmFtZSkxMSBiIEZzKFs9KXAgRmkodmFsdWUpZyBGcyhdXSk0MyBiKC4uLik2MzAgMzQ3NworeSBGdChNYXJrKTI0IGIoZWFjKW0oaCloIEZxKG5hbWUpayBGdChhcykyNCBiKHJlYWRvbmx5KS04CitiKC4pMzkgYihUaGUpMjQgYih2KS01IGIoYWx1ZXMpMjQgYihvZilnKHRoZXNlKWcobmFtZXMpZyhtYSltKHkpZyhub3QpZworKGIpcyhlKWcoYyltKGhhbmdlZClnKGIpbSh5KTYzMCAzNTg3IHkoc3Vic2VxdWVuKW0odCllKGFzc2lnbm1lbiltKHQuKQorMzkgYihJZikyMiBiKHRoZSloKGApcCBGcygtZilwIEZ0KCcpZihvcHRpb24paShpcyllKHN1cHBsaWVkLCloKGVhYyltCisoaCloIEZxKG5hbWUpayBGdChyZWZlcnMpMjIgYih0bylpKGEpZihzaGVsbCk2MzAgMzY5NgoreShmdW5jdGlvbi4pMzkgYihUaGUpMjYgYihgKXAgRnMoLWEpcCBGdCgnKWgob3B0aW9uKWcobWVhbnMpZyhlYWMpbShoKWgKK0ZxKG5hbWUpayBGdChyZWZlcnMpMjYgYih0bylpKGFuKWUoaW5kZXhlZCloKGFycmEpbSh5KWcodiktNQorYihhcmlhYmxlOyk2MzAgMzgwNiB5KHRoZSkzMyBiKGApcCBGcygtQSlwIEZ0KCcpZyhvcHRpb24pZyhtZWFucylnKGVhYykKK20oaCloIEZxKG5hbWUpayBGdChyZWZlcnMpMzIgYih0byloKGFuKWcoYXNzbylzKGNpYXRpdiltKGUpaihhcnJhKW0oeSlkCisodiktNSBiKGFyaWFibGUuKTQ5IGIoSWYpMzIgYihubyk2MzAgMzkxNSB5IEZxKG5hbWUpZgorRnQoYXJndW1lbiltKHRzKTI2IGIoYXJlKWcoZ2l2KW0oZW4sKWkob3IpZChpZiloKHRoZSlnKGApcAorRnMoLXApcCBGdCgnKWYob3B0aW9uKWgoaXMpZyhzdXBwbGllZCwpZihhKWgobGlzdCloKG9mKWUoYWxsKWkKKyhyZWFkb25seSk2MzAgNDAyNSB5KG5hbWVzKTM3IGIoaXMpZyhwcmluKW0odGVkLik1OSBiKFRoZSkzNworYihgKXAgRnMoLXApcCBGdCgnKWYob3B0aW9uKWkoY2F1c2VzKWYob3V0cHV0KWcodG8pZyhiKXMoZSlmKGRpc3BsYSltCisoeSltKGVkKWkoaW4pZShhKWkoZm9ybWF0KTYzMCA0MTM0IHkodGhhdCkyNSBiKG1hKW0oeSlnKGIpcyhlKWUocmV1c2VkKQoraChhcylnKGlucHV0LikzOCBiKElmKTI0IGIoYSlnKHYpLTUgYihhcmlhYmxlKTI1IGIobmFtZSlnKGlzKWYoZm9sbG8pbQorKHcpbShlZClpKGIpbSh5KWUoPSlwIEZxKHYpLTUgYihhbHVlKTUgYiBGdCgsKTI2IGIodGhlKWUodiktNQorYihhbHVlKTYzMCA0MjQ0IHkob2YpMjYgYih0aGUpaCh2KS01IGIoYXJpYWJsZSkyNyBiKGlzKWYoc2V0KWgodG8pZworRnEodiktNSBiKGFsdWUpNSBiIEZ0KC4pNDAgYihUaGUpMjYgYihyZXR1cm4pZihzdGF0dXMpaShpcylmKHplcm8paAorKHVubGVzcyllKGFuKWkoaW4pbSh2KS01IGIoYWxpZCkyNiBiKG9wdGlvbik2MzAgNDM1NAoreShpcylrKHN1cHBsaWVkLClmKG9uZSloKG9mKWcodGhlKWcgRnEobmFtZSkzNSBiIEZ0KGFyZ3VtZW4pbSh0cykzMAorYihpcylnKG5vdClnKGEpZyh2KS01IGIoYWxpZCkzMSBiKHNoZWxsKWYodiktNSBiKGFyaWFibGUpMzAKK2Iob3IpZyhmdW5jdGlvbik2MzAgNDQ2MyB5KG5hbWUsKWgob3IpZih0aGUpaChgKXAgRnMoLWYpcAorRnQoJylmKG9wdGlvbiloKGlzKWYoc3VwcGxpZWQpZih3aXRoKWgoYSloKG5hbWUpZih0aGF0KWgoaXMpZyhub3QpZihhKWgKKyhzaGVsbClnKGZ1bmN0aW9uLikxNTAgNDYyOCB5IEZzKHJldHVybik4NzAgNDc2NSB5KHJldHVybik0NgorYihbKXAgRmkobikxMSBiIEZzKF0pNjMwIDQ5MDIgeSBGdChDYXVzZSkzMCBiKGEpZyhzaGVsbClnKGZ1bmN0aW9uKWcKKyh0byloKGV4aXQpZih3aXRoKWcodGhlKWcocmV0dXJuKWYodiktNSBiKGFsdWUpMzEgYiBGcShuKXAKK0Z0KC4pNDAgYihJZikyOSBiIEZxKG4paCBGdChpcylnKG5vdClnKHN1cHBsaWVkLClmKHRoZSk2MzAKKzUwMTEgeShyZXR1cm4pMzUgYih2KS01IGIoYWx1ZSkzNyBiKGlzKWYodGhlKWcoZXhpdCloKHN0YXR1cylmKG9mKWgKKyh0aGUpZihsYXN0KWgoY29tbWFuZClmKGV4ZWN1dGVkKWgoaW4pZih0aGUpZyhmdW5jdGlvbi4pNjMwCis1MTIxIHkoVGhpcykyMSBiKG1hKW0oeSlpKGFsc28pZyhiKXMoZSllKHVzZWQpZyh0bylpKHRlcm1pbmF0ZSlnCisoZXhlY3V0aW9uKWcob2YpZihhKWgoc2NyaXB0KWYoYilzKGVpbmcpZihleGVjdXRlZClpKHdpdGgpZih0aGUpNjMwCis1MjMwIHkgRnMoLikyNyBiIEZ0KFwob3IpZyBGcyhzb3VyY2UpcCBGdChcKSlmKGJ1aWx0aW4sKWkocmV0dXJuaW5nKWUKKyhlaXRoZXIpaCBGcShuKWcgRnQob3IpZyh0aGUpZyhleGl0KWgoc3RhdHVzKWcob2YpZih0aGUpZyhsYXN0KWgKKyhjb21tYW5kKTYzMCA1MzQwIHkoZXhlY3V0ZWQpNDYgYih3aXRoaW4pZih0aGUpZyhzY3JpcHQpZyhhcyloKHRoZSlmCisoZXhpdCloKHN0YXR1cylnKG9mKWYodGhlKWgoc2NyaXB0Lik4NSBiKEFuKW0oeSk0NSBiKGNvbW1hbmQpcAorZW9wIGVuZAogJSVQYWdlOiA0MSA0NwogVGVYRGljdCBiZWdpbiA0MSA0NiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNDopNDEKLWIoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDQxKTYzMCAyOTkgeSh0aGUpNDAKLWIoY29tbWFuZCdzKWcocmV0dXJuKWYoc3RhdHVzKWgoaXMpZyhiKXMoZWluZylmKGluKW0odiltKGVydGVkKWkodXNpbmcpCi1mIEZzKCEpcCBGdCguKTY4IGIoVGhlc2UpNDAgYihhcmUpZyh0aGUpaChzYW1lKTYzMCA0MDgKLXkoY29uZGl0aW9ucykzMSBiKG9iKXMoZXkpbShlZClmKGIpbSh5KWgodGhlKWYgRnMoZXJyZXhpdClmCi1GdChvcHRpb24uKTYzMCA1NDUgeShTaWduYWxzKTM3IGIoaWdub3JlZClmKHVwKXMob24pZihlbiltKHRyeSlpKHRvKWcKLSh0aGUpZihzaGVsbCloKGNhbm5vdClnKGIpcyhlKWYodHJhcHApcyhlZClmKG9yKWgocmVzZXQuKTU5Ci1iKFQpLTggYihyYXBwKXMoZWQpNjMwIDY1NCB5KHNpZ25hbHMpMjggYih0aGF0KWYoYXJlKWgobm90KWYoYilzKGVpbmcpZwotKGlnbm9yZWQpZyhhcmUpZyhyZXNldCloKHRvKWcodGhlaXIpZihvcmlnaW5hbCloKHYpLTUKLWIoYWx1ZXMpMjggYihpbillKGEpaShzdWJzaGVsbCk2MzAgNzY0IHkob3IpaShzdWJzaGVsbClnKGVuKW0odmlyb25tZW4pCi1tKHQpaCh3aGVuKWUob25lKWkoaXMpZihjcmVhdGVkLik2MzAgOTAwIHkoVGhlKWcocmV0dXJuKWYoc3RhdHVzKWkoaXMpZgotKHplcm8paCh1bmxlc3MpZihhKWggRnEoc2lnc3ApcyhlYykzNiBiIEZ0KGRvKXMoZXMpMzAKLWIobm90KWgoc3ApcyhlY2lmeSlmKGEpZyh2KS01IGIoYWxpZCkzMSBiKHNpZ25hbC4pMTUwCi0xMDYzIHkgRnModW1hc2spODcwIDExOTkgeSh1bWFzayk0NiBiKFstcF0paChbLVNdKWcoWylwCi1GaShtb2RlKTExIGIgRnMoXSk2MzAgMTMzNSB5IEZ0KFNldCkyOSBiKHRoZSloKHNoZWxsKWYocHJvKXMoY2VzcydzKWcKLShcMDE0bGUpZyhjcmVhdGlvbiloKG1hc2spZih0byloIEZxKG1vKXMoZGUpNSBiIEZ0KC4pNDAKLWIoSWYpMjggYiBGcShtbylzKGRlKTM0IGIgRnQoYilzKGVnaW5zKTI5IGIod2l0aClmKGEpaShkaWdpdCwpNjMwCi0xNDQ1IHkoaXQpZShpcylmKGluKW0odGVycHJldGVkKWcoYXMpZyhhbilnKG8pcyhjdGFsKWkobiltKHVtKW0oYilzCi0oZXI7KWUoaWYpZyhub3QsKWgoaXQpZyhpcylmKGluKW0odGVycHJldGVkKWcoYXMpZyhhKWgoc3ltKW0oYilzKG9saWMpZgotKG1vKXMoZGUpNjMwIDE1NTQgeShtYXNrKWkoc2ltaWxhcilnKHRvKWcodGhhdCloKGFjY2VwdGVkKWcoYiltKHkpZgotKHRoZSlnIEZzKGNobW9kKWUgRnQoY29tbWFuZC4pNDAgYihJZikyOCBiIEZxKG1vKXMoZGUpMzQKLWIgRnQoaXMpMjggYihvbWl0dGVkLClqKHRoZSk2MzAgMTY2NCB5KGN1cnJlbiltKHQpMzYKLWIodiktNSBiKGFsdWUpMzYgYihvZilnKHRoZSloKG1hc2spZihpcylnKHByaW4pbSh0ZWQuKTU3Ci1iKElmKTM1IGIodGhlKWgoYClwIEZzKC1TKXAgRnQoJylnKG9wdGlvbiloKGlzKWYoc3VwcGxpZWQpZih3aXRob3V0KWgKLShhKTYzMCAxNzczIHkgRnEobW8pcyhkZSlrIEZ0KGFyZ3VtZW4pbSh0LClkKHRoZSllKG1hc2spZyhpcylnKHByaW4pbQotKHRlZClnKGluKWcoYSloKHN5bSltKGIpcyhvbGljKWYoZm9ybWF0Lik1NSBiKElmKTM1IGIodGhlKWcoYClwCi1GcygtcClwIEZ0KCcpZyhvcHRpb24pNjMwIDE4ODMgeShpcylmKHN1cHBsaWVkLClmKGFuZClnCi1GcShtbylzKGRlKTM4IGIgRnQoaXMpMzMgYihvbWl0dGVkLClqKHRoZSllKG91dHB1dClmKGlzKWcoaW4paChhKWcKLShmb3JtKWYodGhhdCloKG1hKW0oeSlnKGIpcyhlKWYocmV1c2VkKTYzMCAxOTkzIHkoYXMpZShpbnB1dC4pNDEKLWIoVGhlKTMxIGIocmV0dXJuKWYoc3RhdHVzKWgoaXMpZyh6ZXJvKWgoaWYpZSh0aGUpaChtbylzKGRlKWcoaXMpZwotKHN1Y2Nlc3NmdWxseSlnKGMpbShoYW5nZWQpZyhvcilnKGlmKWcobm8pNjMwIDIxMDIgeQotRnEobW8pcyhkZSlrIEZ0KGFyZ3VtZW4pbSh0KWMoaXMpZihzdXBwbGllZCwpZyhhbmQpZihub24temVybylpCi0ob3RoZXJ3aXNlLik2MzAgMjIzOCB5KE5vdGUpMzggYih0aGF0KWUod2hlbilnKHRoZSlnKG1vKXMoZGUpZyhpcylnKGluKQotbSh0ZXJwcmV0ZWQpaChhcylmKGFuKWcobylzKGN0YWwpaShuKW0odW0pbShiKXMoZXIsKWUoZWFjKW0oaClpKG4pbSh1bSkKLW0oYilzKGVyKWQob2YpNjMwIDIzNDggeSh0aGUpZih1bWFzaylnKGlzKWgoc3VidHJhY3RlZClmKGZyb20pZgotRnMoNylwIEZ0KC4pNTMgYihUaCltKHVzLCkzNCBiKGEpaCh1bWFzayllKG9mKWkgRnMoMDIyKWUKLUZ0KHJlc3VsdHMpaChpbilnKHApcyhlcm1pc3Npb25zKTYzMCAyNDU3IHkob2YpZCBGcyg3NTUpcAotRnQoLikxNTAgMjYyMCB5IEZzKHVuc2V0KTg3MCAyNzU2IHkodW5zZXQpNDYgYihbLWZ2XSloKFspcAotRmkobmFtZSkxMSBiIEZzKF0pNjMwIDI4OTIgeSBGdChFYWMpbShoKTM0IGIodiktNSBiKGFyaWFibGUpMzMKLWIob3IpZyhmdW5jdGlvbilnIEZxKG5hbWUpMzggYiBGdChpcykzMyBiKHJlbW8pbSh2KW0oZWQuKTUwCi1iKElmKTMyIGIobm8paChvcHRpb25zKWgoYXJlKWYoc3VwcGxpZWQsKWcob3IpZyh0aGUpNjMwCi0zMDAyIHkoYClwIEZzKC12KXAgRnQoJyloKG9wdGlvbiloKGlzKWcoZ2l2KW0oZW4sKWgoZWFjKW0oaClnCi1GcShuYW1lKWsgRnQocmVmZXJzKTM0IGIodG8paChhKWcoc2hlbGwpZih2KS01IGIoYXJpYWJsZS4pNTQKLWIoSWYpMzQgYih0aGUpaChgKXAgRnMoLWYpcCBGdCgnKWYob3B0aW9uKWgoaXMpNjMwIDMxMTIKLXkoZ2l2KW0oZW4sKTI3IGIodGhlKWQgRnEobmFtZSk1IGIgRnQocykyNSBiKHJlZmVyKWYodG8paChzaGVsbClnCi0oZnVuY3Rpb25zLClnKGFuZClmKHRoZSlnKGZ1bmN0aW9uKWcoZGVcMDE0bml0aW9uKWcoaXMpaChyZW1vKW0odiltCi0oZWQuKTYzMCAzMjIxIHkoUmVhZG9ubHkpMzIgYih2KS01IGIoYXJpYWJsZXMpMzMgYihhbmQpZihmdW5jdGlvbnMpZgotKG1hKW0oeSlpKG5vdClmKGIpcyhlKWcodW5zZXQuKTQ1IGIoVGhlKTMyIGIocmV0dXJuKWYoc3RhdHVzKWgoaXMpZwotKHplcm8pNjMwIDMzMzEgeSh1bmxlc3MpZShhKWcgRnEobmFtZSkzNiBiIEZ0KGlzKTMwIGIocmVhZG9ubHkpLTgKLWIoLikxNTAgMzU2OCB5IEZyKDQuMik2OCBiKEJhc2gpNDUgYihCdWlsdGluKWcoQ29tbWFuZHMpMTUwCi0zNzI4IHkgRnQoVGhpcyljKHNlY3Rpb24paChkZXNjcmliKXMoZXMpZihidWlsdGluKWYoY29tbWFuZHMpaCh3aGljKW0KLShoKWcoYXJlKWgodW5pcXVlKWUodG8paihvcillKGhhKW0odiltKGUpaChiKXMoZWVuKWYoZXh0ZW5kZWQpZyhpbikxNTAKLTM4MzcgeShCYXNoLilnKFNvbWUpMzAgYihvZiloKHRoZXNlKWcoY29tbWFuZHMpZihhcmUpZyhzcClzKGVjaVwwMTRlZClnCi0oaW4pZyh0aGUpaCBGbChwb3NpeCllIEZ0KHN0YW5kYXJkLikxNTAgNDAwMiB5IEZzKGFsaWFzKTg3MAotNDEzOCB5KGFsaWFzKTQ2IGIoWy1wXSloKFspcCBGaShuYW1lKTExIGIgRnMoWz0pcCBGaSh2YWx1ZSlnCi1GcyhdKTQzIGIoLi4uKW8oXSk2MzAgNDI3NCB5IEZ0KFdpdGhvdXQpaChhcmd1bWVuKW0odHMpZihvcilnKHdpdGgpZwotKHRoZSloKGApcCBGcygtcClwIEZ0KCcpZihvcHRpb24sKWsgRnMoYWxpYXMpNDEgYiBGdChwcmluKW0odHMpaSh0aGUpZwotKGxpc3QpaChvZilmKGFsaWFzZXMpNjMwIDQzODQgeShvbikzNiBiKHRoZSlnKHN0YW5kYXJkKWYob3V0cHV0KWgoaW4pZgotKGEpaShmb3JtKWUodGhhdClpKGFsbG8pbSh3cylnKHRoZW0pZih0bylnKGIpcyhlKWcocmV1c2VkKWYoYXMpaAotKGlucHV0Lik1NiBiKElmKTYzMCA0NDkzIHkoYXJndW1lbiltKHRzKTI5IGIoYXJlKWcoc3VwcGxpZWQsKWYoYW4paAotKGFsaWFzKWgoaXMpZihkZVwwMTRuZWQpZShmb3IpaShlYWMpbShoKWggRnEobmFtZSlrIEZ0KHdob3NlKTI4Ci1iIEZxKHYpLTUgYihhbHVlKTM1IGIgRnQoaXMpMjkgYihnaXYpbShlbi4pNjMwIDQ2MDMgeShJZikzOQotYihubyloIEZxKHYpLTUgYihhbHVlKTQ1IGIgRnQoaXMpNDAgYihnaXYpbShlbiwpaih0aGUpZChuYW1lKWYoYW5kKWcodikKLS01IGIoYWx1ZSk0MCBiKG9mKWcodGhlKWcoYWxpYXMpaChpcylmKHByaW4pbSh0ZWQuKTY4Ci1iKEFsaWFzZXMpNDEgYihhcmUpNjMwIDQ3MTIgeShkZXNjcmliKXMoZWQpMjkgYihpbiloKFNlY3Rpb24paSg2LjYpZgotKFtBbGlhc2VzXSwpaChwYWdlKWYoNzkuKTE1MCA0ODc1IHkgRnMoYmluZCk4NzAgNTAxMQoteShiaW5kKTQ3IGIoWy1tKWcgRmkoa2V5bWFwKTExIGIgRnMoXSk0NSBiKFstbHBzdlBTVl0pODcwCi01MTIxIHkoYmluZClpKFstbSlnIEZpKGtleW1hcCkxMSBiIEZzKF0pNDUgYihbLXEpaSBGaShmdW5jdGlvbikxMQotYiBGcyhdKTQ1IGIoWy11KWggRmkoZnVuY3Rpb24pMTEgYiBGcyhdKTQ1IGIoWy1yKWkgRmkoa2V5c2VxKTExCi1iIEZzKF0pODcwIDUyMzAgeShiaW5kKTQ3IGIoWy1tKWcgRmkoa2V5bWFwKTExIGIgRnMoXSk0NQotYigtZilpIEZpKGZpbGVuYW1lKTg3MCA1MzQwIHkgRnMoYmluZClnKFstbSlnIEZpKGtleW1hcCkxMQotYiBGcyhdKTQ1IGIoLXgpaSBGaShrZXlzZXE6c2hlbGwtY29tbWFuZClwIGVvcCBlbmQKK2IoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDQxKTYzMCAyOTkgeShhc3NvKXMoY2lhdGVkKTMwCitiKHdpdGgpZSh0aGUpZyBGcyhSRVRVUk4pZiBGdCh0cmFwKWgoaXMpZyhleGVjdXRlZCloKGIpcyhlZm9yZSlmCisoZXhlY3V0aW9uKWgocmVzdW1lcylmKGFmdGVyKWgodGhlKTYzMCA0MDggeShmdW5jdGlvbikzOAorYihvcilmKHNjcmlwdC4pNjMgYihUaGUpMzggYihyZXR1cm4pZShzdGF0dXMpaShpcylnKG5vbi16ZXJvKWgoaWYpZQorRnMocmV0dXJuKWcgRnQoaXMpZyh1c2VkKWcob3V0c2lkZSlpKGEpNjMwIDUxOCB5KGZ1bmN0aW9uKTMwCitiKGFuZClnKG5vdClnKGR1cmluZylnKHRoZSlnKGV4ZWN1dGlvbilpKG9mKWUoYSloKHNjcmlwdClmKGIpbSh5KWgKK0ZzKC4pZiBGdChvcilnIEZzKHNvdXJjZSlwIEZ0KC4pMTUwIDY4MiB5IEZzKHNoaWZ0KTg3MAorODE5IHkoc2hpZnQpNDYgYihbKXAgRmkobikxMSBiIEZzKF0pNjMwIDk1NiB5IEZ0KFNoaWZ0KTQxCitiKHRoZSlnKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzKWcodG8pZyh0aGUpZihsZWZ0KWgoYiltKHkpZworRnEobilwIEZ0KC4pNzMgYihUaGUpNDAgYihwKXMob3NpdGlvbmFsKWoocGFyYW1ldGVycyk2MzAKKzEwNjYgeShmcm9tKTM0IGIgRnEobilwIEZzKCspcCBGdCgxKTM5IGIoLikyMiBiKC4paCguKTQ1CitiIEZzKCQjKTM0IGIgRnQoYXJlKWcocmVuYW1lZClnKHRvKWggRnMoJDEpayBGdCguKTIyCitiKC4pZyguKTQ2IGIgRnMoJCMpcCBGdCgtKXAgRnEobilwIEZ0KC4pNTEgYihQKW0oYXJhbWV0ZXJzKTM2CitiKHJlcHJlc2VuKW0odGVkKWUoYiltKHkpZyh0aGUpNjMwIDExNzYgeShuKW0odW0pbShiKXMoZXJzKTI1CitiIEZzKCQjKWkgRnQodG8pZyBGcygkIylwIEZ0KC0pcCBGcShuKXAgRnMoKylwIEZ0KDEpZyhhcmUpZyh1bnNldC4pMzkKK2IgRnEobikyNiBiIEZ0KG0pbSh1c3QpaChiKXMoZSlmKGEpaShub24tbmVnYXRpdiltKGUpaChuKW0odW0pbShiKXMoZXIpCitjKGxlc3MpaSh0aGFuKWcob3IpNjMwIDEyODUgeShlcXVhbCkzMyBiKHRvKWggRnMoJCMpcAorRnQoLik0NyBiKElmKTMzIGIgRnEobilmIEZ0KGlzKWgoemVybylnKG9yKWcoZ3JlYXRlciloKHRoYW4pZgorRnMoJCMpcCBGdCgsKWcodGhlKWcocClzKG9zaXRpb25hbClnKHBhcmFtZXRlcnMpZyhhcmUpaChub3QpNjMwCisxMzk1IHkoYyltKGhhbmdlZC4pNDggYihJZikzMiBiIEZxKG4pZyBGdChpcyloKG5vdClmKHN1cHBsaWVkLCloKGl0KWcKKyhpcylmKGFzc3VtZWQpZyh0byloKGIpcyhlKWYoMS4pNDggYihUaGUpMzIgYihyZXR1cm4pZyhzdGF0dXMpaChpcylmCisoemVybyk2MzAgMTUwNCB5KHVubGVzcyllIEZxKG4pZiBGdChpcylpKGdyZWF0ZXIpZyh0aGFuKWcKK0ZzKCQjKWUgRnQob3IpaShsZXNzKWYodGhhbiloKHplcm8sKWcobm9uLXplcm8pZyhvdGhlcndpc2UuKTE1MAorMTY2OSB5IEZzKHRlc3QpMTUwIDE3NzggeShbKTQzMiBiIEZ0KEV2KS01IGIoYWx1YXRlKTMxCitiKGEpZyhjb25kaXRpb25hbClnKGV4cHJlc3Npb24pZiBGcShleHByKTcgYiBGdCguKTQwCitiKEVhYyltKGgpMzAgYihvcClzKGVyYXRvciloKGFuZCllKG9wKXMoZXJhbmQpZyhtKW0odXN0KWgoYilzKGUpZyhhKTYzMAorMTg4OCB5KHNlcGFyYXRlKWQoYXJndW1lbiltKHQuKTQwIGIoRXhwcmVzc2lvbnMpMjUgYihhcmUpaShjb21wKXMob3NlZCkKK2Uob2YpaSh0aGUpZihwcmltYXJpZXMpZyhkZXNjcmliKXMoZWQpZihiKXMoZWxvKW0odyk2MzAKKzE5OTggeShpbikzNCBiKFNlY3Rpb24pZyg2LjQpaChbQmFzaClnKENvbmRpdGlvbmFsKWYoRXhwcmVzc2lvbnNdLCloCisocGFnZSlnKDc4Lik1MiBiIEZzKHRlc3QpMzMgYiBGdChkbylzKGVzKWcobm90KWgoYWNjZXB0KTYzMAorMjEwNyB5KGFuKW0oeSkyNyBiKG9wdGlvbnMsKWkobm9yKWQoZG8pcyhlcyloKGl0KWcoYWNjZXB0KWkoYW5kKWQKKyhpZ25vcmUpaShhbilmKGFyZ3VtZW4pbSh0KWcob2YpZyhgKXAgRnMoLS0pcCBGdCgnKWcoYXMpaChzaWduaWZ5aW5nKWYKKyh0aGUpNjMwIDIyMTcgeShlbmQpaihvZilnKG9wdGlvbnMuKTYzMCAyMzU0IHkoV2hlbilnKHRoZSloCitGcyhbKWYgRnQoZm9ybSlnKGlzKWcodXNlZCwpZyh0aGUpZyhsYXN0KWkoYXJndW1lbiltKHQpZSh0bylpKHRoZSllCisoY29tbWFuZClnKG0pbSh1c3QpaChiKXMoZSllKGEpaSBGcyhdKXAgRnQoLik2MzAgMjQ5MQoreShFeHByZXNzaW9ucykyMyBiKG1hKW0oeSloKGIpcyhlKWUoY29tKW0oYmluZWQpaSh1c2luZylmKHRoZSloKGZvbGxvKW0KKyh3aW5nKWgob3ApcyhlcmF0b3JzLClnKGxpc3RlZClmKGluKWYoZGVjcmVhc2luZyk2MzAKKzI2MDAgeShvcmRlcikzMCBiKG9mKWgocHJlY2VkZW5jZS4pNDMgYihUaGUpMzAgYihldiktNQorYihhbHVhdGlvbikzMyBiKGRlcClzKGVuZHMpMjggYihvbilqKHRoZSlnKG4pbSh1bSltKGIpcyhlcilmKG9mKWgKKyhhcmd1bWVuKW0odHM7KWcoc2VlKTYzMCAyNzEwIHkoYilzKGVsbyltKHcuKTQxIGIoT3ApcyhlcmF0b3IpMzAKK2IocHJlY2VkZW5jZSloKGlzKWYodXNlZClnKHdoZW4pZih0aGVyZSlpKGFyZSlmKFwwMTR2KW0oZSloKG9yKWYobW9yZSloCisoYXJndW1lbiltKHRzLik2MzAgMjg3NCB5IEZzKCEpZiBGaShleHByKTIxMCBiIEZ0KFQpLTgKK2IocnVlKTMwIGIoaWYpZyBGcShleHByKTM3IGIgRnQoaXMpMzAgYihmYWxzZS4pNjMwIDMwMzkKK3kgRnMoXCgpZyBGaShleHByKTQwIGIgRnMoXCkpMTIyIGIgRnQoUmV0dXJucykyMyBiKHRoZSloKHYpLTUKK2IoYWx1ZSkyNCBiKG9mKWcgRnEoZXhwcik3IGIgRnQoLikzNyBiKFRoaXMpMjMgYihtYSltKHkpaShiKXMoZSllKHVzZWQpCitnKHRvKWgobyltKHYpbShlcnJpZGUpaCh0aGUpZihub3JtYWwpMTExMCAzMTQ4IHkocHJlY2VkZW5jZSkzMQorYihvZilmKG9wKXMoZXJhdG9ycy4pNjMwIDMzMTMgeSBGaShleHByMSkzOSBiIEZzKC1hKTMwCitiIEZpKGV4cHIyKTExMTAgMzQyMiB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnKGIpcyhvdGgpZworRnEoZXhwcjEpMzcgYiBGdChhbmQpMzAgYiBGcShleHByMikzOCBiIEZ0KGFyZSkzMCBiKHRydWUuKTYzMAorMzU4NyB5IEZpKGV4cHIxKTM5IGIgRnMoLW8pMzAgYiBGaShleHByMikxMTEwIDM2OTYgeQorRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcoZWl0aGVyKWggRnEoZXhwcjEpMzggYiBGdChvcikzMAorYiBGcShleHByMikzNyBiIEZ0KGlzKTMxIGIodHJ1ZS4pNjMwIDM4NjEgeShUaGUpMzcgYgorRnModGVzdClmIEZ0KGFuZClnIEZzKFspaCBGdChidWlsdGlucylnKGV2KS01IGIoYWx1YXRlKTM5CitiKGNvbmRpdGlvbmFsKWYoZXhwcmVzc2lvbnMpZih1c2luZylnKGEpZyhzZXQpaChvZilmKHJ1bGVzKTYzMAorMzk3MCB5KGJhc2VkKTMwIGIob24pZyh0aGUpaChuKW0odW0pbShiKXMoZXIpZShvZiloKGFyZ3VtZW4pbSh0cy4pNjMwCis0MTM0IHkoMCloKGFyZ3VtZW4pbSh0cykxMTEwIDQyNDQgeShUaGUpZihleHByZXNzaW9uKWcoaXMpZyhmYWxzZS4pNjMwCis0NDA4IHkoMSloKGFyZ3VtZW4pbSh0KTExMTAgNDUxOCB5KFRoZSlmKGV4cHJlc3Npb24pZyhpcylnKHRydWUpaChpZilmCisoYW5kKWcob25seSlnKGlmKWgodGhlKWYoYXJndW1lbiltKHQpaChpcylmKG5vdCloKG4pbSh1bGwuKTYzMAorNDY4MiB5KDIpZyhhcmd1bWVuKW0odHMpMTExMCA0NzkyIHkoSWYpZih0aGUpaChcMDE0cnN0KWYoYXJndW1lbiltKHQpaAorKGlzKWcoYClwIEZzKCEpcCBGdCgnLClnKHRoZSlnKGV4cHJlc3Npb24pZyhpcylnKHRydWUpZihpZiloKGFuZClmCisob25seSloKGlmKWcodGhlKTExMTAgNDkwMiB5KHNlY29uZClqKGFyZ3VtZW4pbSh0KWYoaXMpaChuKW0odWxsLik1MAorYihJZikzMyBiKHRoZSloKFwwMTRyc3QpZShhcmd1bWVuKW0odClpKGlzKWcob25lKWcob2YpZih0aGUpaCh1bmFyeSkKKzExMTAgNTAxMSB5KGNvbmRpdGlvbmFsKTQyIGIob3ApcyhlcmF0b3JzKWYoXChzZWUpZyhTZWN0aW9uKWgoNi40KWYKKyhbQmFzaClnKENvbmRpdGlvbmFsKWcoRXhwcmVzLSkxMTEwIDUxMjEgeShzaW9uc10sKTM0CitiKHBhZ2UpZig3OFwpLClpKHRoZSllKGV4cHJlc3Npb24pZihpcyloKHRydWUpZyhpZilnKHRoZSlnKHVuYXJ5KWUKKyh0ZXN0KWooaXMpZih0cnVlLik0NyBiKElmKTExMTAgNTIzMCB5KHRoZSkzMyBiKFwwMTRyc3QpZyhhcmd1bWVuKW0odCloCisoaXMpZihub3QpZyhhKWgodiktNSBiKGFsaWQpMzQgYih1bmFyeSllKG9wKXMoZXJhdG9yLClpKHRoZSlnCisoZXhwcmVzc2lvbilmKGlzKTExMTAgNTM0MCB5KGZhbHNlLilwIGVvcCBlbmQKICUlUGFnZTogNDIgNDgKIFRlWERpY3QgYmVnaW4gNDIgNDcgYm9wIDE1MCAtMTE2IGEgRnQoNDIpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTg3MCAyOTkgeSBGcyhiaW5kKTQ3IGIoWy1tKWcKLUZpKGtleW1hcCkxMSBiIEZzKF0pNDUgYiBGaShrZXlzZXE6ZnVuY3Rpb24tbmFtZSk4NzAKLTQwOCB5IEZzKGJpbmQpaSBGaShyZWFkbGluZS1jb21tYW5kKTYzMCA1NDUgeSBGdChEaXNwbGEpbSh5KTI2Ci1iKGN1cnJlbiltKHQpZihSZWFkbGluZSloKFwoc2VlKWcoQ2hhcHRlcilmKDgpZyhbQ29tbWFuZClnKExpbmUpZwotKEVkaXRpbmddLClpKHBhZ2UpZig5M1wpKWcoayltKGV5KTYzMCA2NTUgeShhbmQpMzYgYihmdW5jdGlvbilnCi0oYmluZGluZ3MsKWkoYmluZClkKGEpaShrKW0oZXkpZyhzZXF1ZW5jZSlnKHRvKWgoYSlmKFJlYWRsaW5lKWcKLShmdW5jdGlvbilmKG9yKWgobWFjcm8sKTYzMCA3NjUgeShvcik0NCBiKHNldCloKGEpZyhSZWFkbGluZSlmKHYpLTUKLWIoYXJpYWJsZS4pODMgYihFYWMpbShoKTQ1IGIobm9uLW9wdGlvbilnKGFyZ3VtZW4pbSh0KWYoaXMpZyhhKWgKLShjb21tYW5kKWYoYXMpZyhpdCk2MzAgODc0IHkodyltKG91bGQpZShhcHApcyhlYXIpZihpbiloKGEpaChSZWFkbGluZSlnCi0oaW5pdGlhbGl6YXRpb24paShcMDE0bGUpZChcKHNlZSloKFNlY3Rpb24pZyg4LjMpZyhbUmVhZGxpbmUpZyhJbml0KTYzMAotOTg0IHkoRmlsZV0sKWcocGFnZSljKDk2XCksKWsoYnV0KTM4IGIoZWFjKW0oaClpKGJpbmRpbmcpZShvciloCi0oY29tbWFuZClnKG0pbSh1c3QpZyhiKXMoZSlmKHBhc3NlZClnKGFzKWkoYSlmKHNlcGFyYXRlKTYzMAotMTA5MyB5KGFyZ3VtZW4pbSh0OykzMSBiKGUuZy4sKWgoYClwIEZzKCJcXEMteFxcQy1yIjpyZS1yZWFkLWluaXQtZilvCi0oaWxlKXAgRnQoJy4pNjMwIDEyMzAgeShPcHRpb25zLCllKGlmKWgoc3VwcGxpZWQsKWUoaGEpbSh2KW0oZSlpKHRoZSlnCi0oZm9sbG8pbSh3aW5nKWgobWVhbmluZ3M6KTYzMCAxMzk1IHkgRnMoLW0pZSBGaShrZXltYXApMTExMAotMTUwNCB5IEZ0KFVzZSk1NCBiIEZxKGspbShleW1hcClqIEZ0KGFzKWQodGhlKWcoayltKGV5bWFwKWcodG8paChiKXMoZSkKLWUoYVwwMTNlY3RlZClpKGIpbSh5KWYodGhlKWcoc3Vic2VxdWVuKW0odCkxMTEwIDE2MTQKLXkoYmluZGluZ3MuKTQ2IGIoQWNjZXB0YWJsZSkzNCBiIEZxKGspbShleW1hcClpIEZ0KG5hbWVzKWMoYXJlKWgKLUZzKGVtYWNzKXAgRnQoLClmIEZzKGVtYWNzLXN0YW5kYXJkKXAgRnQoLCkxMTEwIDE3MjQKLXkgRnMoZW1hY3MtbWV0YSlwIEZ0KCwpOTkgYiBGcyhlbWFjcy1jdGx4KXAgRnQoLClmIEZzKHZpKXAKLUZ0KCwpaiBGcyh2aS1tb3ZlKXAgRnQoLClmIEZzKHZpLWNvbW1hbmQpcCBGdCgsKWYoYW5kKTExMTAKLTE4MzMgeSBGcyh2aS1pbnNlcnQpcCBGdCguKTY0IGIgRnModmkpMzggYiBGdChpcyloKGVxdWl2KS01Ci1iKGFsZW4pbSh0KTQxIGIodG8pZSBGcyh2aS1jb21tYW5kKXAgRnQoOylpIEZzKGVtYWNzKWMKLUZ0KGlzKWkoZXF1aXYpLTUgYihhbGVuKW0odCkxMTEwIDE5NDMgeSh0bykzMSBiIEZzKGVtYWNzLXN0YW5kYXJkKXAKLUZ0KC4pNjMwIDIxMDcgeSBGcygtbCkzODQgYiBGdChMaXN0KTMxIGIodGhlKWYobmFtZXMpZyhvZiloKGFsbClnCi0oUmVhZGxpbmUpZyhmdW5jdGlvbnMuKTYzMCAyMjcxIHkgRnMoLXApMzg0IGIgRnQoRGlzcGxhKW0oeSkzNAotYihSZWFkbGluZSlmKGZ1bmN0aW9uKWcobmFtZXMpZyhhbmQpZihiaW5kaW5ncylmKGluKWkoc3VjKW0oaClmKGEpaSh3KW0KLShhKW0oeSlmKHRoYXQpMTExMCAyMzgxIHkodGhleSllKGNhbilmKGIpcyhlKWcodXNlZClnKGFzKWcoaW5wdXQpZyhvcilnCi0oaW4pZyhhKWgoUmVhZGxpbmUpZyhpbml0aWFsaXphdGlvbilpKFwwMTRsZS4pNjMwIDI1NDUKLXkgRnMoLVApMzg0IGIgRnQoTGlzdCkzMSBiKGN1cnJlbiltKHQpZihSZWFkbGluZSloKGZ1bmN0aW9uKWYobmFtZXMpZwotKGFuZClnKGJpbmRpbmdzLik2MzAgMjcxMCB5IEZzKC12KTM4NCBiIEZ0KERpc3BsYSltKHkpMjUKLWIoUmVhZGxpbmUpZih2KS01IGIoYXJpYWJsZSkyNSBiKG5hbWVzKWYoYW5kKWYodiktNSBiKGFsdWVzKTI0Ci1iKGluKWcoc3VjKW0oaClmKGEpaSh3KW0oYSltKHkpZih0aGF0KWgodGhleSkxMTEwIDI4MTkKLXkoY2FuKTMxIGIoYilzKGUpZSh1c2VkKWgoYXMpaChpbnB1dCllKG9yKWgoaW4pZyhhKWgoUmVhZGxpbmUpZwotKGluaXRpYWxpemF0aW9uKWooXDAxNGxlLik2MzAgMjk4NCB5IEZzKC1WKTM4NCBiIEZ0KExpc3QpMzEKLWIoY3VycmVuKW0odClmKFJlYWRsaW5lKWgodiktNSBiKGFyaWFibGUpMzEgYihuYW1lcylmKGFuZClnKHYpLTUKLWIoYWx1ZXMuKTYzMCAzMTQ4IHkgRnMoLXMpMzg0IGIgRnQoRGlzcGxhKW0oeSkzOSBiKFJlYWRsaW5lKWYoayltKGV5KWcKLShzZXF1ZW5jZXMpZihiKXMob3VuZClmKHRvKWkobWFjcm9zKWcoYW5kKWYodGhlKWcoc3RyaW5ncykxMTEwCi0zMjU4IHkodGhleSlkKG91dHB1dClmKGluKWgoc3VjKW0oaClmKGEpaCh3KW0oYSltKHkpaCh0aGF0KWYodGhleSlnCi0oY2FuKWcoYilzKGUpZih1c2VkKWcoYXMpaChpbnB1dCllKG9yKWkoaW4pZyhhKTExMTAgMzM2NwoteShSZWFkbGluZSlkKGluaXRpYWxpemF0aW9uKWkoXDAxNGxlLik2MzAgMzUzMiB5IEZzKC1TKTM4NAotYiBGdChEaXNwbGEpbSh5KTM5IGIoUmVhZGxpbmUpZihrKW0oZXkpZyhzZXF1ZW5jZXMpZihiKXMob3VuZClmKHRvKWkKLShtYWNyb3MpZyhhbmQpZih0aGUpZyhzdHJpbmdzKTExMTAgMzY0MSB5KHRoZXkpMzEgYihvdXRwdXQuKTYzMAotMzgwNiB5IEZzKC1mKWYgRmkoZmlsZW5hbWUpMTExMCAzOTE1IHkgRnQoUmVhZCloKGspbShleSlnKGJpbmRpbmdzKWUKLShmcm9tKWggRnEoXDAxNGxlbmFtZSk1IGIgRnQoLik2MzAgNDA4MCB5IEZzKC1xKTMwIGIKLUZpKGZ1bmN0aW9uKTExMTAgNDE4OSB5IEZ0KFF1ZXJ5KWcoYWIpcyhvdXQpZyh3aGljKW0oaClnKGspbShleXMpaChpbiltCi0odiltKG9rKW0oZSloKHRoZSlmKG5hbWVkKWYgRnEoZnVuY3Rpb24pcCBGdCguKTYzMCA0MzU0Ci15IEZzKC11KWcgRmkoZnVuY3Rpb24pMTExMCA0NDYzIHkgRnQoVW4pbShiaW5kKWYoYWxsKWkoayltKGV5cylnKGIpcwotKG91bmQpZSh0bylpKHRoZSlmKG5hbWVkKWcgRnEoZnVuY3Rpb24pcCBGdCguKTYzMCA0NjI4Ci15IEZzKC1yKWcgRmkoa2V5c2VxKTExMTAgNDczNyB5IEZ0KFJlbW8pbSh2KW0oZSlpKGFuKW0oeSlmKGN1cnJlbiltKHQpZgotKGJpbmRpbmcpZihmb3IpaCBGcShrKW0oZXlzZXEpciBGdCguKTYzMCA0OTAyIHkgRnMoLXgpZwotRmkoa2V5c2VxOnNoZWxsLWNvbW1hbmQpMTExMCA1MDExIHkgRnQoQ2F1c2UpMzUgYiBGcShzaGVsbC1jb21tYW5kKWsKLUZ0KHRvKWQoYilzKGUpZihleGVjdXRlZCloKHdoZW5ldiltKGVyKWYgRnEoayltKGV5c2VxKWoKLUZ0KGlzKWQoZW4pbSh0ZXJlZC4pMTExMCA1MTIxIHkoV2hlbik0NiBiIEZxKHNoZWxsLWNvbW1hbmQpawotRnQoaXMpYyhleGVjdXRlZCwpNTEgYih0aGUpNDYgYihzaGVsbClnKHNldHMpZyh0aGUpZwotRnMoUkVBRExJTkVfKTExMTAgNTIzMCB5KExJTkUpMzcgYiBGdCh2KS01IGIoYXJpYWJsZSkzOAotYih0bylnKHRoZSlnKGNvbiltKHRlbiltKHRzKWkob2YpZSh0aGUpZyhSZWFkbGluZSlnKGxpbmUpZyhidVwwMTNlcilmCi0oYW5kKWcodGhlKTExMTAgNTM0MCB5IEZzKFJFQURMSU5FX1BPSU5UKWUgRnQodiktNSBiKGFyaWFibGUpMzkKLWIodG8paCh0aGUpZShjdXJyZW4pbSh0KWgobG8pcyhjYXRpb24paChvZilmKHRoZSlnKGluc2VydGlvbilwCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkoMylnKGFyZ3VtZW4pbSh0cykxMTEwCis0MDggeShUaGUpNDQgYihmb2xsbyltKHdpbmcpaShjb25kaXRpb25zKWYoYXJlKWcoYXBwbGllZClmKGluKWcodGhlKWcKKyhvcmRlcilnKGxpc3RlZC4pODQgYihJZik0NCBiKHRoZSkxMTEwIDUxOCB5KHNlY29uZClmKGFyZ3VtZW4pbSh0KWcoaXMpCitnKG9uZSlnKG9mKWcodGhlKWcoYmluYXJ5KWYoY29uZGl0aW9uYWwpaShvcClzKGVyYXRvcnMpZihcKHNlZSkxMTEwCis2MjggeShTZWN0aW9uKWgoNi40KWcoW0Jhc2gpZyhDb25kaXRpb25hbClnKEV4cHJlc3Npb25zXSwpaShwYWdlKWUKKyg3OFwpLClrKHRoZSk0MyBiKHJlc3VsdCkxMTEwIDczNyB5KG9mKWgodGhlKWgoZXhwcmVzc2lvbilmKGlzKWcodGhlKWcKKyhyZXN1bHQpZyhvZiloKHRoZSlmKGJpbmFyeSlnKHRlc3QpaCh1c2luZyllKHRoZSlpKFwwMTRyc3QpMTExMAorODQ3IHkoYW5kKTMxIGIodGhpcmQpZyhhcmd1bWVuKW0odHMpaShhcylmKG9wKXMoZXJhbmRzLik0NAorYihUaGUpMzEgYihgKXAgRnMoLWEpcCBGdCgnKWgoYW5kKWcoYClwIEZzKC1vKXAgRnQoJylmKG9wKXMoZXJhdG9ycylpCisoYXJlKTExMTAgOTU2IHkoY29uc2lkZXJlZCkyNSBiKGJpbmFyeSlnKG9wKXMoZXJhdG9ycylnKHdoZW4pZih0aGVyZSlpCisoYXJlKWYodGhyZWUpaChhcmd1bWVuKW0odHMuKTM5IGIoSWYpMjUgYih0aGUpMTExMCAxMDY2Cit5KFwwMTRyc3Qpaihhcmd1bWVuKW0odCloKGlzKWcoYClwIEZzKCEpcCBGdCgnLCloKHRoZSlmKHYpLTUKK2IoYWx1ZSkyOSBiKGlzKWcodGhlKWcobmVnYXRpb24paShvZillKHRoZSlnKHQpbSh3KW0oby1hcmd1bWVuKW0odCkxMTEwCisxMTc2IHkodGVzdCkzOCBiKHVzaW5nKWYodGhlKWcoc2Vjb25kKWcoYW5kKWcodGhpcmQpZihhcmd1bWVuKW0odHMuKTYxCitiKElmKTM3IGIodGhlKWcoXDAxNHJzdClmKGFyZ3VtZW4pbSh0KTExMTAgMTI4NSB5KGlzKWooZXhhY3RseSlpKGApcAorRnMoXCgpcCBGdCgnKWYoYW5kKWYodGhlKWcodGhpcmQpZyhhcmd1bWVuKW0odCloKGlzKWYoZXhhY3RseSlpKGApcAorRnMoXCkpcCBGdCgnLCloKHRoZSllKHJlc3VsdClmKGlzKTExMTAgMTM5NSB5KHRoZSk0NgorYihvbmUtYXJndW1lbiltKHQpZyh0ZXN0KWgob2YpZih0aGUpZihzZWNvbmQpaChhcmd1bWVuKW0odC4pODYKK2IoT3RoZXJ3aXNlLCk1MCBiKHRoZSkxMTEwIDE1MDQgeShleHByZXNzaW9uKTMwIGIoaXMpaChmYWxzZS4pNjMwCisxNjU4IHkoNClnKGFyZ3VtZW4pbSh0cykxMTEwIDE3NjcgeShJZiloKHRoZSlpKFwwMTRyc3QpZShhcmd1bWVuKW0odCloCisoaXMpZyhgKXAgRnMoISlwIEZ0KCcsKWgodGhlKWYocmVzdWx0KWcoaXMpZyh0aGUpZyhuZWdhdGlvbiloKG9mKWYodGhlKQorZyh0aHJlZS0pMTExMCAxODc3IHkoYXJndW1lbiltKHQpaChleHByZXNzaW9uKWYoY29tcClzKG9zZWQpaChvZilmKHRoZSkKK2gocmVtYWluaW5nKWcoYXJndW1lbiltKHRzLik1MCBiKE90aC0pMTExMCAxOTg3IHkoZXJ3aXNlLCkzNAorYih0aGUpZihleHByZXNzaW9uKWcoaXMpZyhwYXJzZWQpZyhhbmQpZihldiktNSBiKGFsdWF0ZWQpMzQKK2IoYWNjb3JkaW5nKWgodG8pZShwcmVjZS0pMTExMCAyMDk2IHkoZGVuY2UpZSh1c2luZyllKHRoZSlpKHJ1bGVzKWYKKyhsaXN0ZWQpaChhYilzKG8pbSh2KW0oZS4pNjMwIDIyNTAgeSg1KWcob3IpZihtb3JlKWgoYXJndW1lbiltKHRzKTExMTAKKzIzNTkgeShUaGUpNDMgYihleHByZXNzaW9uKWYoaXMpaShwYXJzZWQpZShhbmQpZyhldiktNQorYihhbHVhdGVkKTQ1IGIoYWNjb3JkaW5nKWYodG8pZihwcmVjZWRlbmNlKTExMTAgMjQ2OQoreSh1c2luZykzMCBiKHRoZSlnKHJ1bGVzKWcobGlzdGVkKWgoYWIpcyhvKW0odiltKGUuKTYzMAorMjYyMiB5KFdoZW4pNDAgYih1c2VkKWYod2l0aClnIEZzKHRlc3QpZyBGdChvciloKGApcAorRnMoWylwIEZ0KCcsKWoodGhlKWQoYClwIEZzKDwpcCBGdCgnKWcoYW5kKWYoYClwIEZzKD4pcAorRnQoJyloKG9wKXMoZXJhdG9ycylnKHNvcnQpZyhsZXhpY29ncmFwaGljYWxseSk2MzAgMjczMgoreSh1c2luZykzMCBiKEFTQ0kpcyhJKWYob3JkZXJpbmcuKTE1MCAyODg1IHkgRnModGltZXMpODcwCiszMDE3IHkodGltZXMpNjMwIDMxNDggeSBGdChQcmluKW0odCkzNyBiKG91dCloKHRoZSlnKHVzZXIpZShhbmQpaAorKHN5c3RlbSlnKHRpbWVzKWgodXNlZClmKGIpbSh5KWcodGhlKWgoc2hlbGwpZihhbmQpZyhpdHMpaChjKW0KKyhoaWxkcmVuLik2MSBiKFRoZSk2MzAgMzI1OCB5KHJldHVybikyOSBiKHN0YXR1cylpKGlzKWYoemVyby4pMTUwCiszNDExIHkgRnModHJhcCk4NzAgMzU0MyB5KHRyYXApNDcgYihbLWxwXSlmKFspcCBGaShhcmcpMTEKK2IgRnMoXSk0NiBiKFspcCBGaShzaWdzcGVjKTU2IGIgRnMoLi4uKW8oXSk2MzAgMzY3NCB5CitGdChUaGUpNDMgYihjb21tYW5kcylmKGluKWggRnEoYXJnKTUxIGIgRnQoYXJlKTQ0IGIodG8pZyhiKXMoZSllKHJlYWQpaAorKGFuZClnKGV4ZWN1dGVkKWgod2hlbillKHRoZSloKHNoZWxsKWcocmVjZWl2KW0oZXMpNjMwCiszNzg0IHkoc2lnbmFsKTM2IGIgRnEoc2lnc3ApcyhlYyk2IGIgRnQoLik1NSBiKElmKTM1CitiIEZxKGFyZyk0NCBiIEZ0KGlzKTM1IGIoYWJzZW4pbSh0KWgoXChhbmQpZih0aGVyZSlnKGlzKWcoYSloKHNpbmdsZSlnCitGcShzaWdzcClzKGVjKTYgYiBGdChcKSkzNSBiKG9yKWgoZXF1YWwpZih0bylpKGApcCBGcygtKXAKK0Z0KCcsKTYzMCAzODkzIHkoZWFjKW0oaCkyOCBiKHNwKXMoZWNpXDAxNGVkKWUoc2lnbmFsJ3MpaChkaXNwKXMKKyhvc2l0aW9uKWYoaXMpaChyZXNldClnKHRvKWcodGhlKWcodiktNSBiKGFsdWUpMjcgYihpdClnKGhhZClmKHdoZW4pZgorKHRoZSlpKHNoZWxsKWcodyltKGFzKTYzMCA0MDAzIHkoc3RhcnRlZC4pNjMgYihJZikzNworYiBGcShhcmcpNDYgYiBGdChpcykzNyBiKHRoZSloKG4pbSh1bGwpZyhzdHJpbmcsKWgodGhlbillKHRoZSloKHNpZ25hbCkKK2goc3ApcyhlY2lcMDE0ZWQpZChiKW0oeSlpKGVhYyltKGgpaCBGcShzaWdzcClzKGVjKWsKK0Z0KGlzKTYzMCA0MTEzIHkoaWdub3JlZCkzNiBiKGIpbSh5KWcodGhlKWcoc2hlbGwpZyhhbmQpZyhjb21tYW5kcylmCisoaXQpaShpbiltKHYpbShvayltKGVzLik1OSBiKElmKTM1IGIgRnEoYXJnKTQ1IGIgRnQoaXMpMzYKK2Iobm90KWcocHJlc2VuKW0odClnKGFuZClmKGApcCBGcygtcClwIEZ0KCcpNjMwIDQyMjIKK3koaGFzKWUoYilzKGVlbilnKHN1cHBsaWVkLClmKHRoZSlpKHNoZWxsKWYoZGlzcGxhKW0oeXMpaCh0aGUpZih0cmFwKWcKKyhjb21tYW5kcylnKGFzc28pcyhjaWF0ZWQpaSh3aXRoKWUoZWFjKW0oaCk2MzAgNDMzMiB5CitGcShzaWdzcClzKGVjKTYgYiBGdCguKTQwIGIoSWYpMjggYihubylnKGFyZ3VtZW4pbSh0cyloKGFyZSlnCisoc3VwcGxpZWQsKWYob3IpZyhvbmx5KWgoYClwIEZzKC1wKXAgRnQoJylmKGlzKWcoZ2l2KW0oZW4sKWkKK0ZzKHRyYXApZSBGdChwcmluKW0odHMpZyh0aGUpZyhsaXN0KTYzMCA0NDQxIHkob2YpZyhjb21tYW5kcylmKGFzc28pcworKGNpYXRlZClpKHdpdGgpZihlYWMpbShoKWgoc2lnbmFsKWYobiltKHVtKW0oYilzKGVyKWUoaW4paShhKWcoZm9ybSlmCisodGhhdCloKG1hKW0oeSloKGIpcyhlKWUocmV1c2VkKTYzMCA0NTUxIHkoYXMpMzQgYihzaGVsbClnKGlucHV0Lik1MQorYihUaGUpMzMgYihgKXAgRnMoLWwpcCBGdCgnKWgob3B0aW9uKWcoY2F1c2VzKWgodGhlKWYoc2hlbGwpZyh0byloCisocHJpbiltKHQpZShhKWkobGlzdClmKG9mKWcoc2lnbmFsKWgobmFtZXMpNjMwIDQ2NjEgeShhbmQpaih0aGVpciloCisoY29ycmVzcClzKG9uZGluZylmKG4pbSh1bSltKGIpcyhlcnMuKTY1IGIoRWFjKW0oaCkzOQorYiBGcShzaWdzcClzKGVjKTQ1IGIgRnQoaXMpMzkgYihlaXRoZXIpZyhhKWcoc2lnbmFsKWgobmFtZSlmKG9yKWcoYSk2MzAKKzQ3NzAgeShzaWduYWwpMjcgYihuKW0odW0pbShiKXMoZXIuKTM5IGIoU2lnbmFsKTI3IGIobmFtZXMpZihhcmUpaAorKGNhc2UpaChpbnNlbnNpdGl2KW0oZSlnKGFuZCllKHRoZSlnIEZzKFNJRylnIEZ0KHByZVwwMTR4KWcoaXMpaAorKG9wdGlvbmFsLik2MzAgNDkwMiB5KElmKTM1IGIoYSlnIEZxKHNpZ3NwKXMoZWMpNDEgYgorRnQoaXMpMzUgYiBGcygwKWcgRnQob3IpZyBGcyhFWElUKXAgRnQoLClnIEZxKGFyZyk0MworYiBGdChpcykzNSBiKGV4ZWN1dGVkKWgod2hlbillKHRoZSloKHNoZWxsKWgoZXhpdHMuKTU1CitiKElmKTM1IGIoYSlnIEZxKHNpZ3NwKXMoZWMpNDEgYiBGdChpcyk2MzAgNTAxMSB5IEZzKERFQlVHKXAKK0Z0KCwpMzIgYih0aGUpZyhjb21tYW5kKWcgRnEoYXJnKTQwIGIgRnQoaXMpMzMgYihleGVjdXRlZClnKGIpcyhlZm9yZSlmCisoZXYpbShlcnkpaChzaW1wbGUpZihjb21tYW5kLCloIEZzKGZvcillIEZ0KGNvbS0pNjMwCis1MTIxIHkobWFuZCwpZCBGcyhjYXNlKWcgRnQoY29tbWFuZCwpaCBGcyhzZWxlY3QpZSBGdChjb21tYW5kLClpKGV2KW0KKyhlcnkpaChhcml0aG1ldGljKWcgRnMoZm9yKWQgRnQoY29tbWFuZCwpaihhbmQpNjMwIDUyMzAKK3koYilzKGVmb3JlKTIyIGIodGhlKWcoXDAxNHJzdClmKGNvbW1hbmQpaChleGVjdXRlcylpKGluKWUoYSlnKHNoZWxsKWgKKyhmdW5jdGlvbi4pMzcgYihSZWZlcikyMiBiKHRvKWgodGhlKWcoZGVzY3JpcHRpb24pZihvZik2MzAKKzUzNDAgeSh0aGUpaSBGcyhleHRkZWJ1ZylkIEZ0KG9wdGlvbilqKHRvKWgodGhlKWYgRnMoc2hvcHQpZQorRnQoYnVpbHRpbiloKFwoc2VlKWkoU2VjdGlvbilmKDQuMy4yKWkoW1RoZSlkKFNob3B0KWcoQnVpbHRpbl0sKXAKIGVvcCBlbmQKICUlUGFnZTogNDMgNDkKIFRlWERpY3QgYmVnaW4gNDMgNDggYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDQ6KTQxCi1iKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig0MykxMTEwIDI5OSB5KHApcyhvaW4pbSh0Lik1OQotYihJZikzNyBiKHRoZSlmKGV4ZWN1dGVkKWkoY29tbWFuZCllKGMpbShoYW5nZXMpaSh0aGUpZih2KS01Ci1iKGFsdWUpMzcgYihvZilmIEZzKFJFQURMSU5FXykxMTEwIDQwOCB5KExJTkUpMjkgYiBGdChvciloCi1GcyhSRUFETElORV9QT0lOVClwIEZ0KCwpYyh0aG9zZSkzMSBiKG5ldyllKHYpLTUgYihhbHVlcykzMQotYih3aWxsKWYoYilzKGUpZihyZVwwMTVlY3RlZClpKGluKWYodGhlKTExMTAgNTE4IHkoZWRpdGluZyloKHN0YXRlLik2MzAKLTY3NyB5KFRoZSkyNiBiKHJldHVybilmKHN0YXR1cylpKGlzKWYoemVybylpKHVubGVzcylkKGFuKWkoaW4pbSh2KS01Ci1iKGFsaWQpMjcgYihvcHRpb24pZyhpcylmKHN1cHBsaWVkKWYob3IpaShhbilmKGVycm9yKWcobylzKGNjdXJzLikxNTAKLTgzNyB5IEZzKGJ1aWx0aW4pODcwIDk3MSB5KGJ1aWx0aW4pNDYgYihbKXAgRmkoc2hlbGwtYnVpbHRpbik1NAotYiBGcyhbKXAgRmkoYXJncykxMSBiIEZzKF1dKTYzMCAxMTA2IHkgRnQoUnVuKTM1IGIoYSloKHNoZWxsKWgKLShidWlsdGluLClnKHBhc3NpbmcpZihpdClnIEZxKGFyZ3MpdCBGdCgsKWkoYW5kKWUocmV0dXJuKWYoaXRzKWgoZXhpdCloCi0oc3RhdHVzLik1OCBiKFRoaXMpMzYgYihpcylnKHVzZWZ1bCk2MzAgMTIxNSB5KHdoZW4pMjkKLWIoZGVcMDE0bmluZyloKGEpZyhzaGVsbCloKGZ1bmN0aW9uKWYod2l0aClnKHRoZSlnKHNhbWUpaChuYW1lKWYoYXMpaAotKGEpZyhzaGVsbClmKGJ1aWx0aW4sKWcocmV0YWluaW5nKTYzMCAxMzI1IHkodGhlKWsoZnVuY3Rpb25hbGl0KW0oeSloCi0ob2YpZih0aGUpZihidWlsdGluKWcod2l0aGluKWcodGhlKWgoZnVuY3Rpb24uKTUwIGIoVGhlKTMzCi1iKHJldHVybilnKHN0YXR1cyloKGlzKWYobm9uLSk2MzAgMTQzNSB5KHplcm8pZShpZilnCi1GcShzaGVsbC1idWlsdGluKWYgRnQoaXMpZyhub3QpaChhKWcoc2hlbGwpZihidWlsdGluKWcoY29tbWFuZC4pMTUwCi0xNTk0IHkgRnMoY2FsbGVyKTg3MCAxNzI5IHkoY2FsbGVyKTQ2IGIoWylwIEZpKGV4cHIpMTEKLWIgRnMoXSk2MzAgMTg2MyB5IEZ0KFJldHVybnMpMzQgYih0aGUpZyhjb24pbSh0ZXh0KWoob2YpZShhbiltKHkpZwotKGFjdGl2KW0oZSlpKHN1YnJvdXRpbmUpYyhjYWxsKWooXChhKWYoc2hlbGwpZyhmdW5jdGlvbilmKG9yKWgoYSlnCi0oc2NyaXB0KTYzMCAxOTczIHkoZXhlY3V0ZWQpYyh3aXRoKWYodGhlKWggRnMoLilmIEZ0KG9yKWcKLUZzKHNvdXJjZSlmIEZ0KGJ1aWx0aW5zXCkuKTYzMCAyMTA3IHkoV2l0aG91dCk0NSBiIEZxKGV4cHIpNwotYiBGdCgsKTQ2IGIgRnMoY2FsbGVyKWQgRnQoZGlzcGxhKW0oeXMpaCh0aGUpZyhsaW5lKWcobiltKHVtKW0oYilzKGVyKWYKLShhbmQpZyhzb3VyY2UpaChcMDE0bGVuYW1lKWgob2YpZih0aGUpNjMwIDIyMTcgeShjdXJyZW4pbSh0KTM1Ci1iKHN1YnJvdXRpbmUpZihjYWxsLik1NiBiKElmKTM1IGIoYSloKG5vbi1uZWdhdGl2KW0oZSloKGluKW0odGVnZXIpZwotKGlzKWUoc3VwcGxpZWQpZihhcyloIEZxKGV4cHIpNyBiIEZ0KCwpMzYgYiBGcyhjYWxsZXIpNjMwCi0yMzI2IHkgRnQoZGlzcGxhKW0oeXMpNDEgYih0aGUpZihsaW5lKWgobiltKHVtKW0oYilzKGVyLCloKHN1YnJvdXRpbmUpZAotKG5hbWUsKTQ0IGIoYW5kKWMoc291cmNlKWcoXDAxNGxlKWgoY29ycmVzcClzKG9uZGluZyllKHRvKTYzMAotMjQzNiB5KHRoYXQpYyhwKXMob3NpdGlvbilnKGluKWYodGhlKWgoY3VycmVuKW0odClmKGV4ZWN1dGlvbilpKGNhbGwpZwotKHN0YWMpbShrLik1NCBiKFRoaXMpMzQgYihleHRyYSloKGluZm9ybWF0aW9uKWcobWEpbSh5KTYzMAotMjU0NSB5KGIpcyhlKTMwIGIodXNlZCwpZyhmb3IpZyhleGFtcGxlLCloKHRvKWcocHJpbiltKHQpZihhKWgoc3RhYyltCi0oayloKHRyYWNlLik0MiBiKFRoZSkyOSBiKGN1cnJlbiltKHQpaShmcmFtZSlmKGlzKWcoZnJhbWUpaCgwLik2MzAKLTI2ODAgeShUaGUpZShyZXR1cm4pZih2KS01IGIoYWx1ZSkyOSBiKGlzKWgoMClmKHVubGVzcylnKHRoZSlnKHNoZWxsKWcKLShpcyloKG5vdClmKGV4ZWN1dGluZyloKGEpZyhzdWJyb3V0aW5lKWUoY2FsbClpKG9yKWcKLUZxKGV4cHIpNjMwIDI3OTAgeSBGdChkbylzKGVzKWcobm90KWgoY29ycmVzcClzKG9uZCllKHRvKWkoYSlnKHYpLTUKLWIoYWxpZCkzMCBiKHApcyhvc2l0aW9uKWgoaW4pZih0aGUpZyhjYWxsKWkoc3RhYyltKGsuKTE1MAotMjk0OSB5IEZzKGNvbW1hbmQpODcwIDMwODMgeShjb21tYW5kKTQ2IGIoWy1wVnZdKWcgRmkoY29tbWFuZCk1NgotYiBGcyhbKXAgRmkoYXJndW1lbnRzKWcgRnMoLi4uKW8oXSk2MzAgMzIxOCB5IEZ0KFJ1bnMpMzEKLWIgRnEoY29tbWFuZCkzNiBiIEZ0KHdpdGgpZCBGcShhcmd1bWVuKW0odHMpaiBGdChpZ25vcmluZylkKGFuKW0oeSlnCi0oc2hlbGwpZyhmdW5jdGlvbilmKG5hbWVkKWcgRnEoY29tbWFuZCl0IEZ0KC4pNjMwIDMzMjgKLXkoT25seSkzOSBiKHNoZWxsKWkoYnVpbHRpbillKGNvbW1hbmRzKWgob3IpZyhjb21tYW5kcylmKGZvdW5kKWcoYiltKHkpCi1oKHNlYXJjKW0oaGluZyloKHRoZSlmIEZzKFBBVEgpZiBGdChhcmUpNjMwIDM0MzcgeShleGVjdXRlZC4pZyhJZikyMwotYih0aGVyZSloKGlzKWYoYSloKHNoZWxsKWYoZnVuY3Rpb24pZyhuYW1lZClnIEZzKGxzKXAKLUZ0KCwpaShydW5uaW5nKWMoYClwIEZzKGNvbW1hbmQpMjkgYihscylwIEZ0KCcpMjMgYih3aXRoaW4pZyh0aGUpNjMwCi0zNTQ3IHkoZnVuY3Rpb24pMzMgYih3aWxsKWcoZXhlY3V0ZSlpKHRoZSlmKGV4dGVybmFsKWcoY29tbWFuZClmCi1GcyhscylmIEZ0KGluc3RlYWQpaShvZilmKGNhbGxpbmcpaSh0aGUpZShmdW5jdGlvbik2MzAKLTM2NTYgeShyZWN1cnNpdiltKGVseSktOCBiKC4pODQgYihUaGUpNDQgYihgKXAgRnMoLXApcAotRnQoJyloKG9wdGlvbilnKG1lYW5zKWYodG8paCh1c2UpZyhhKWYoZGVmYXVsdCloKHYpLTUKLWIoYWx1ZSk0NSBiKGZvcilmIEZzKFBBVEgpZyBGdCh0aGF0KWgoaXMpNjMwIDM3NjYgeShndWFyYW4pbSh0ZWVkKTM1Ci1iKHRvKWYoXDAxNG5kKWUoYWxsKWoob2YpZih0aGUpZyhzdGFuZGFyZClmKHV0aWxpdGllcy4pNTIKLWIoVGhlKTMzIGIocmV0dXJuKWcoc3RhdHVzKWgoaW4pZih0aGlzKWgoY2FzZSk2MzAgMzg3NQoteShpcykyOSBiKDEyNylnKGlmKWcgRnEoY29tbWFuZClqIEZ0KGNhbm5vdClkKGIpcyhlKWUoZm91bmQpaChvcilnKGFuKWcKLShlcnJvciloKG8pcyhjY3VycmVkLClmKGFuZClnKHRoZSloKGV4aXQpZyhzdGF0dXMpZyhvZik2MzAKLTM5ODUgeSBGcShjb21tYW5kKTM0IGIgRnQob3RoZXJ3aXNlLik2MzAgNDEyMCB5KElmKTI1Ci1iKGVpdGhlcilnKHRoZSloKGApcCBGcygtVilwIEZ0KCcpZihvcilnKGApcCBGcygtdilwCi1GdCgnKWcob3B0aW9uKWcoaXMpZyhzdXBwbGllZCwpaChhKWYoZGVzY3JpcHRpb24pZyhvZiloCi1GcShjb21tYW5kKWkgRnQoaXMpZChwcmluKW0odGVkLik2MzAgNDIyOSB5KFRoZSlpKGApcAotRnMoLXYpcCBGdCgnKWgob3B0aW9uKWgoY2F1c2VzKWYoYSloKHNpbmdsZSlmKHcpbShvcmQpZyhpbmRpY2F0aW5nKWgKLSh0aGUpZihjb21tYW5kKWcob3IpZyhcMDE0bGUpZyhuYW1lKWcodXNlZCk2MzAgNDMzOSB5KHRvKTM2Ci1iKGluKW0odiltKG9rKW0oZSlnIEZxKGNvbW1hbmQpaiBGdCh0byljKGIpcyhlKWcoZGlzcGxhKW0oeSltKGVkOylqCi0odGhlKWQoYClwIEZzKC1WKXAgRnQoJylnKG9wdGlvbilnKHBybylzKGR1Y2VzKWUoYSlqKG1vcmUpZih2KW0oZXJiKXMKLShvc2UpNjMwIDQ0NDggeShkZXNjcmlwdGlvbi4pNjEgYihJbikzNiBiKHRoaXMpaChjYXNlLClqKHRoZSllKHJldHVybillCi0oc3RhdHVzKWgoaXMpZyh6ZXJvKWgoaWYpZiBGcShjb21tYW5kKWsgRnQoaXMpYyhmb3VuZCwpaChhbmQpNjMwCi00NTU4IHkobm9uLXplcm8pMzEgYihpZilmKG5vdC4pMTUwIDQ3MTcgeSBGcyhkZWNsYXJlKTg3MAotNDg1MiB5KGRlY2xhcmUpNDYgYihbLWFBZkZpbHJ0dXhdKWUoWy1wXSlqKFspcCBGaShuYW1lKTExCi1iIEZzKFs9KXAgRmkodmFsdWUpZyBGcyhdKTQzIGIoLi4uKW8oXSk2MzAgNDk4NiB5IEZ0KERlY2xhcmUpMjkKLWIodiktNSBiKGFyaWFibGVzKTI4IGIoYW5kKWUoZ2l2KW0oZSlqKHRoZW0pZShhdHRyaWJ1dGVzLik0MAotYihJZikyNyBiKG5vKWcgRnEobmFtZSk1IGIgRnQocykyNyBiKGFyZSloKGdpdiltKGVuLCloKHRoZW4pZShkaXNwbGEpbQotKHkpNjMwIDUwOTYgeSh0aGUpayh2KS01IGIoYWx1ZXMpMzAgYihvZiloKHYpLTUgYihhcmlhYmxlcykzMQotYihpbnN0ZWFkLik2MzAgNTIzMCB5KFRoZSljKGApcCBGcygtcClwIEZ0KCcpaChvcHRpb24pZyh3aWxsKWcoZGlzcGxhKW0KLSh5KWcodGhlKWcoYXR0cmlidXRlcylnKGFuZClnKHYpLTUgYihhbHVlcykyOCBiKG9mKWcoZWFjKW0oaCloCi1GcShuYW1lKTUgYiBGdCguKTQwIGIoV2hlbikyNyBiKGApcCBGcygtcClwIEZ0KCcpNjMwCi01MzQwIHkoaXMpaih1c2VkKWcod2l0aClnIEZxKG5hbWUpMzYgYiBGdChhcmd1bWVuKW0odHMsKTMxCi1iKGFkZGl0aW9uYWwpZyhvcHRpb25zKWYoYXJlKWgoaWdub3JlZC4pcCBlb3AgZW5kCitiKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig0Myk2MzAgMjk5IHkocGFnZSkzMworYig1N1wpKWcoZm9yKWYoZGV0YWlscyloKG9mKWYoaXRzKWgoZVwwMTNlY3QpZyhvbilmKHRoZSlnCitGcyhERUJVRylmIEZ0KHRyYXAuKTQ2IGIoSWYpMzEgYihhKWkgRnEoc2lnc3ApcyhlYykzOAorYiBGdChpcykzMiBiIEZzKFJFVFVSTilwIEZ0KCwpZih0aGUpNjMwIDQwOCB5KGNvbW1hbmQpaAorRnEoYXJnKTQxIGIgRnQoaXMpMzMgYihleGVjdXRlZClnKGVhYyltKGgpaCh0aW1lKWYoYSlnKHNoZWxsKWcKKyhmdW5jdGlvbilnKG9yKWYoYSloKHNjcmlwdClnKGV4ZWN1dGVkKWcod2l0aCk2MzAgNTE4Cit5KHRoZSllIEZzKC4pZiBGdChvcilnIEZzKHNvdXJjZSlmIEZ0KGJ1aWx0aW5zKWcoXDAxNG5pc2hlcyloCisoZXhlY3V0aW5nLik2MzAgNjUxIHkoSWYpZyhhKWkgRnEoc2lnc3ApcyhlYylrIEZ0KGlzKTMxCitiIEZzKEVSUilwIEZ0KCwpZih0aGUpaChjb21tYW5kKWcgRnEoYXJnKTM5IGIgRnQoaXMpMzEKK2IoZXhlY3V0ZWQpZyh3aGVuZXYpbShlcilnKGEpZyhzaW1wbGUpZyhjb21tYW5kKTYzMCA3NjEKK3koaGFzKWsoYSloKG5vbi16ZXJvKWgoZXhpdClmKHN0YXR1cywpaShzdWIpNSBiKGplY3QpMzUKK2IodG8paCh0aGUpZyhmb2xsbyltKHdpbmcpaChjb25kaXRpb25zLik1NyBiKFRoZSkzNSBiCitGcyhFUlIpZyBGdCh0cmFwKTYzMCA4NzAgeShpcykzMCBiKG5vdClmKGV4ZWN1dGVkKWkoaWYpZSh0aGUpaChmYWlsZWQpZworKGNvbW1hbmQpZyhpcylmKHBhcnQpaChvZilmKHRoZSloKGNvbW1hbmQpZihsaXN0KWkoaW1tZWRpYXRlbHkpNjMwCis5ODAgeShmb2xsbyltKHdpbmcpNDcgYihhbilkIEZzKHVudGlsKWcgRnQob3IpaCBGcyh3aGlsZSlmCitGdChrKW0oZXl3KW0ob3JkLCk0OSBiKHBhcnQpYyhvZilnKHRoZSloKHRlc3QpZyhmb2xsbyltKHdpbmcpZyh0aGUpZgorRnMoaWYpZyBGdChvcik2MzAgMTA5MCB5IEZzKGVsaWYpZCBGdChyZXNlcnYpbShlZClpKHcpbShvcmRzLClqKHBhcnQpYworKG9mKWgoYSlnKGNvbW1hbmQpZihleGVjdXRlZClpKGluKWUoYSloIEZzKCYmKWYgRnQob3IpaAorRnMofHwpZiBGdChsaXN0LClrKG9yKWQoaWYpNjMwIDExOTkgeSh0aGUpYyhjb21tYW5kJ3MpZyhyZXR1cm4pZgorKHN0YXR1cyloKGlzKWcoYilzKGVpbmcpZihpbiltKHYpbShlcnRlZClpKHVzaW5nKWYgRnMoISlwCitGdCguKTY4IGIoVGhlc2UpNDAgYihhcmUpZyh0aGUpaChzYW1lKTYzMCAxMzA5IHkoY29uZGl0aW9ucykzMQorYihvYilzKGV5KW0oZWQpZihiKW0oeSloKHRoZSlmIEZzKGVycmV4aXQpZiBGdChvcHRpb24uKTYzMAorMTQ0MiB5KFNpZ25hbHMpMzcgYihpZ25vcmVkKWYodXApcyhvbilmKGVuKW0odHJ5KWkodG8pZyh0aGUpZihzaGVsbCloCisoY2Fubm90KWcoYilzKGUpZih0cmFwcClzKGVkKWYob3IpaChyZXNldC4pNTkgYihUKS04CitiKHJhcHApcyhlZCk2MzAgMTU1MiB5KHNpZ25hbHMpMjggYih0aGF0KWYoYXJlKWgobm90KWYoYilzKGVpbmcpZworKGlnbm9yZWQpZyhhcmUpZyhyZXNldCloKHRvKWcodGhlaXIpZihvcmlnaW5hbCloKHYpLTUKK2IoYWx1ZXMpMjggYihpbillKGEpaShzdWJzaGVsbCk2MzAgMTY2MSB5KG9yKWkoc3Vic2hlbGwpZyhlbiltCisodmlyb25tZW4pbSh0KWgod2hlbillKG9uZSlpKGlzKWYoY3JlYXRlZC4pNjMwIDE3OTQgeShUaGUpZyhyZXR1cm4pZgorKHN0YXR1cylpKGlzKWYoemVybyloKHVubGVzcylmKGEpaCBGcShzaWdzcClzKGVjKTM2IGIKK0Z0KGRvKXMoZXMpMzAgYihub3QpaChzcClzKGVjaWZ5KWYoYSlnKHYpLTUgYihhbGlkKTMxCitiKHNpZ25hbC4pMTUwIDE5NTEgeSBGcyh1bWFzayk4NzAgMjA4NCB5KHVtYXNrKTQ2IGIoWy1wXSloKFstU10pZyhbKXAKK0ZpKG1vZGUpMTEgYiBGcyhdKTYzMCAyMjE4IHkgRnQoU2V0KTI5IGIodGhlKWgoc2hlbGwpZihwcm8pcyhjZXNzJ3MpZworKFwwMTRsZSlnKGNyZWF0aW9uKWgobWFzaylmKHRvKWggRnEobW8pcyhkZSk1IGIgRnQoLik0MAorYihJZikyOCBiIEZxKG1vKXMoZGUpMzQgYiBGdChiKXMoZWdpbnMpMjkgYih3aXRoKWYoYSlpKGRpZ2l0LCk2MzAKKzIzMjcgeShpdCllKGlzKWYoaW4pbSh0ZXJwcmV0ZWQpZyhhcylnKGFuKWcobylzKGN0YWwpaShuKW0odW0pbShiKXMKKyhlcjspZShpZilnKG5vdCwpaChpdClnKGlzKWYoaW4pbSh0ZXJwcmV0ZWQpZyhhcylnKGEpaChzeW0pbShiKXMob2xpYylmCisobW8pcyhkZSk2MzAgMjQzNyB5KG1hc2spaShzaW1pbGFyKWcodG8pZyh0aGF0KWgoYWNjZXB0ZWQpZyhiKW0oeSlmCisodGhlKWcgRnMoY2htb2QpZSBGdChjb21tYW5kLik0MCBiKElmKTI4IGIgRnEobW8pcyhkZSkzNAorYiBGdChpcykyOCBiKG9taXR0ZWQsKWoodGhlKTYzMCAyNTQ2IHkoY3VycmVuKW0odCkzNgorYih2KS01IGIoYWx1ZSkzNiBiKG9mKWcodGhlKWgobWFzaylmKGlzKWcocHJpbiltKHRlZC4pNTcKK2IoSWYpMzUgYih0aGUpaChgKXAgRnMoLVMpcCBGdCgnKWcob3B0aW9uKWgoaXMpZihzdXBwbGllZClmKHdpdGhvdXQpaAorKGEpNjMwIDI2NTYgeSBGcShtbylzKGRlKWsgRnQoYXJndW1lbiltKHQsKWQodGhlKWUobWFzaylnKGlzKWcocHJpbiltCisodGVkKWcoaW4pZyhhKWgoc3ltKW0oYilzKG9saWMpZihmb3JtYXQuKTU1IGIoSWYpMzUgYih0aGUpZyhgKXAKK0ZzKC1wKXAgRnQoJylnKG9wdGlvbik2MzAgMjc2NiB5KGlzKWYoc3VwcGxpZWQsKWYoYW5kKWcKK0ZxKG1vKXMoZGUpMzggYiBGdChpcykzMyBiKG9taXR0ZWQsKWoodGhlKWUob3V0cHV0KWYoaXMpZyhpbiloKGEpZworKGZvcm0pZih0aGF0KWgobWEpbSh5KWcoYilzKGUpZihyZXVzZWQpNjMwIDI4NzUgeShhcyllKGlucHV0Lik0MQorYihUaGUpMzEgYihyZXR1cm4pZihzdGF0dXMpaChpcylnKHplcm8paChpZillKHRoZSloKG1vKXMoZGUpZyhpcylnCisoc3VjY2Vzc2Z1bGx5KWcoYyltKGhhbmdlZClnKG9yKWcoaWYpZyhubyk2MzAgMjk4NSB5CitGcShtbylzKGRlKWsgRnQoYXJndW1lbiltKHQpYyhpcylmKHN1cHBsaWVkLClnKGFuZClmKG5vbi16ZXJvKWkKKyhvdGhlcndpc2UuKTYzMCAzMTE4IHkoTm90ZSkzOCBiKHRoYXQpZSh3aGVuKWcodGhlKWcobW8pcyhkZSlnKGlzKWcoaW4pCittKHRlcnByZXRlZCloKGFzKWYoYW4pZyhvKXMoY3RhbClpKG4pbSh1bSltKGIpcyhlciwpZShlYWMpbShoKWkobiltKHVtKQorbShiKXMoZXIpZChvZik2MzAgMzIyOCB5KHRoZSlmKHVtYXNrKWcoaXMpaChzdWJ0cmFjdGVkKWYoZnJvbSlmCitGcyg3KXAgRnQoLik1MyBiKFRoKW0odXMsKTM0IGIoYSloKHVtYXNrKWUob2YpaSBGcygwMjIpZQorRnQocmVzdWx0cyloKGluKWcocClzKGVybWlzc2lvbnMpNjMwIDMzMzcgeShvZilkIEZzKDc1NSlwCitGdCguKTE1MCAzNDk0IHkgRnModW5zZXQpODcwIDM2MjcgeSh1bnNldCk0NiBiKFstZnZdKWgoWylwCitGaShuYW1lKTExIGIgRnMoXSk2MzAgMzc2MCB5IEZ0KEVhYyltKGgpMzQgYih2KS01IGIoYXJpYWJsZSkzMworYihvcilnKGZ1bmN0aW9uKWcgRnEobmFtZSkzOCBiIEZ0KGlzKTMzIGIocmVtbyltKHYpbShlZC4pNTAKK2IoSWYpMzIgYihubyloKG9wdGlvbnMpaChhcmUpZihzdXBwbGllZCwpZyhvcilnKHRoZSk2MzAKKzM4NzAgeShgKXAgRnMoLXYpcCBGdCgnKWgob3B0aW9uKWgoaXMpZyhnaXYpbShlbiwpaChlYWMpbShoKWcKK0ZxKG5hbWUpayBGdChyZWZlcnMpMzQgYih0byloKGEpZyhzaGVsbClmKHYpLTUgYihhcmlhYmxlLik1NAorYihJZikzNCBiKHRoZSloKGApcCBGcygtZilwIEZ0KCcpZihvcHRpb24paChpcyk2MzAgMzk4MAoreShnaXYpbShlbiwpMjcgYih0aGUpZCBGcShuYW1lKTUgYiBGdChzKTI1IGIocmVmZXIpZih0byloKHNoZWxsKWcKKyhmdW5jdGlvbnMsKWcoYW5kKWYodGhlKWcoZnVuY3Rpb24pZyhkZVwwMTRuaXRpb24pZyhpcyloKHJlbW8pbSh2KW0KKyhlZC4pNjMwIDQwODkgeShSZWFkb25seSkzMiBiKHYpLTUgYihhcmlhYmxlcykzMyBiKGFuZClmKGZ1bmN0aW9ucylmCisobWEpbSh5KWkobm90KWYoYilzKGUpZyh1bnNldC4pNDUgYihUaGUpMzIgYihyZXR1cm4pZihzdGF0dXMpaChpcylnCisoemVybyk2MzAgNDE5OSB5KHVubGVzcyllKGEpZyBGcShuYW1lKTM2IGIgRnQoaXMpMzAgYihyZWFkb25seSktOAorYiguKTE1MCA0NDI5IHkgRnIoNC4yKTY4IGIoQmFzaCk0NSBiKEJ1aWx0aW4pZyhDb21tYW5kcykxNTAKKzQ1ODggeSBGdChUaGlzKWMoc2VjdGlvbiloKGRlc2NyaWIpcyhlcylmKGJ1aWx0aW4pZihjb21tYW5kcyloKHdoaWMpbQorKGgpZyhhcmUpaCh1bmlxdWUpZSh0bylqKG9yKWUoaGEpbSh2KW0oZSloKGIpcyhlZW4pZihleHRlbmRlZClnKGluKTE1MAorNDY5OCB5KEJhc2guKWcoU29tZSkzMCBiKG9mKWgodGhlc2UpZyhjb21tYW5kcylmKGFyZSlnKHNwKXMoZWNpXDAxNGVkKWcKKyhpbilnKHRoZSloIEZsKHBvc2l4KWUgRnQoc3RhbmRhcmQuKTE1MCA0ODU0IHkgRnMoYWxpYXMpODcwCis0OTg4IHkoYWxpYXMpNDYgYihbLXBdKWgoWylwIEZpKG5hbWUpMTEgYiBGcyhbPSlwIEZpKHZhbHVlKWcKK0ZzKF0pNDMgYiguLi4pbyhdKTYzMCA1MTIxIHkgRnQoV2l0aG91dCloKGFyZ3VtZW4pbSh0cylmKG9yKWcod2l0aClnCisodGhlKWgoYClwIEZzKC1wKXAgRnQoJylmKG9wdGlvbiwpayBGcyhhbGlhcyk0MSBiIEZ0KHByaW4pbSh0cylpKHRoZSlnCisobGlzdCloKG9mKWYoYWxpYXNlcyk2MzAgNTIzMCB5KG9uKTM2IGIodGhlKWcoc3RhbmRhcmQpZihvdXRwdXQpaChpbilmCisoYSlpKGZvcm0pZSh0aGF0KWkoYWxsbyltKHdzKWcodGhlbSlmKHRvKWcoYilzKGUpZyhyZXVzZWQpZihhcyloCisoaW5wdXQuKTU2IGIoSWYpNjMwIDUzNDAgeShhcmd1bWVuKW0odHMpMjkgYihhcmUpZyhzdXBwbGllZCwpZihhbiloCisoYWxpYXMpaChpcylmKGRlXDAxNG5lZCllKGZvcilpKGVhYyltKGgpaCBGcShuYW1lKWsgRnQod2hvc2UpMjgKK2IgRnEodiktNSBiKGFsdWUpMzUgYiBGdChpcykyOSBiKGdpdiltKGVuLilwIGVvcCBlbmQKICUlUGFnZTogNDQgNTAKIFRlWERpY3QgYmVnaW4gNDQgNDkgYm9wIDE1MCAtMTE2IGEgRnQoNDQpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShXaGVuKTM2IGIoYClwIEZzKC1wKXAKLUZ0KCcpZihpcyloKHN1cHBsaWVkKWYod2l0aG91dCloIEZxKG5hbWUpNDEgYiBGdChhcmd1bWVuKW0odHMsKWQKLUZzKGRlY2xhcmUpYyBGdCh3aWxsKWkoZGlzcGxhKW0oeSlnKHRoZSlnKGF0LSk2MzAgNDA4Ci15KHRyaWJ1dGVzKTMxIGIoYW5kKWYodiktNSBiKGFsdWVzKTMxIGIob2YpZyhhbGwpaCh2KS01Ci1iKGFyaWFibGVzKTMxIGIoaGEpbSh2aW5nKWgodGhlKWYoYXR0cmlidXRlcylnKHNwKXMoZWNpXDAxNGVkKWYoYiltKHkpaAotKHRoZSlnKGFkZGktKTYzMCA1MTggeSh0aW9uYWwpaChvcHRpb25zLik0MSBiKElmKTMwIGIobm8pZyhvdGhlciloCi0ob3B0aW9ucylnKGFyZSlnKHN1cHBsaWVkKWUod2l0aCloKGApcCBGcygtcClwIEZ0KCcsKWcKLUZzKGRlY2xhcmUpZiBGdCh3aWxsKWkoZGlzcGxhKW0oeSk2MzAgNjI4IHkodGhlKWYoYXR0cmlidXRlcylnKGFuZCllKHYpCi0tNSBiKGFsdWVzKTMwIGIob2YpZyhhbGwpZyhzaGVsbClnKHYpLTUgYihhcmlhYmxlcy4pNDEKLWIoVGhlKTI5IGIoYClwIEZzKC1mKXAgRnQoJylnKG9wdGlvbiloKHdpbGwpZyhyZXN0cmljdClnKHRoZSk2MzAKLTczNyB5KGRpc3BsYSltKHkpaCh0bylnKHNoZWxsKWYoZnVuY3Rpb25zLik2MzAgODY3IHkoVGhlKTM2Ci1iKGApcCBGcygtRilwIEZ0KCcpaChvcHRpb24pZyhpbmhpYml0cylmKHRoZSloKGRpc3BsYSltKHkpZyhvZilnCi0oZnVuY3Rpb24pZyhkZVwwMTRuaXRpb25zOylpKG9ubHkpZSh0aGUpZyhmdW5jdGlvbik2MzAKLTk3NiB5KG5hbWUpMzAgYihhbmQpZihhdHRyaWJ1dGVzKWkoYXJlKWYocHJpbiltKHRlZC4pNDAKLWIoSWYpMzAgYih0aGUpZyBGcyhleHRkZWJ1ZyllIEZ0KHNoZWxsKWkob3B0aW9uKWcoaXMpZyhlbmFibGVkKWcodXNpbmcpCi02MzAgMTA4NiB5IEZzKHNob3B0KTI0IGIgRnQoXChzZWUpaShTZWN0aW9uKWcoNC4zLjIpaShbVGhlKWQoU2hvcHQpZgotKEJ1aWx0aW5dLClrKHBhZ2UpZSg1NVwpLClpKHRoZSlkKHNvdXJjZSloKFwwMTRsZSlmKG5hbWUpaChhbmQpNjMwCi0xMTk2IHkobGluZSkzOCBiKG4pbSh1bSltKGIpcyhlcillKHdoZXJlKWkodGhlKWcoZnVuY3Rpb24pZihpcyloCi0oZGVcMDE0bmVkKWUoYXJlKWkoZGlzcGxhKW0oeSltKGVkKWgoYXMpZSh3KW0oZWxsLik2NAotYihgKXAgRnMoLUYpcCBGdCgnKTM4IGIoaW1wbGllcyk2MzAgMTMwNSB5KGApcCBGcygtZilwCi1GdCgnLilpKFRoZSkyOCBiKGZvbGxvKW0od2luZylpKG9wdGlvbnMpZihjYW4pZihiKXMoZSlnKHVzZWQpZyh0byloCi0ocmVzdHJpY3QpZyhvdXRwdXQpZih0byloKHYpLTUgYihhcmlhYmxlcykzMCBiKHdpdGgpZSh0aGUpNjMwCi0xNDE1IHkoc3ApcyhlY2lcMDE0ZWQpaShhdHRyaWJ1dGVzKWgob3IpZih0byloKGdpdiltKGUpaCh2KS01Ci1iKGFyaWFibGVzKTMxIGIoYXR0cmlidXRlczopNjMwIDE1NjQgeSBGcygtYSkzODQgYiBGdChFYWMpbShoKTM2Ci1iIEZxKG5hbWUpayBGdChpcykzNCBiKGFuKWgoaW5kZXhlZClnKGFycmEpbSh5KWcodiktNQotYihhcmlhYmxlKTM2IGIoXChzZWUpZihTZWN0aW9uKWgoNi43KWcoW0FycmEpbSh5c10sKTExMTAKLTE2NzQgeShwYWdlKTMxIGIoODBcKS4pNjMwIDE4MjMgeSBGcygtQSkzODQgYiBGdChFYWMpbShoKTI0Ci1iIEZxKG5hbWUpayBGdChpcykyMyBiKGFuKWcoYXNzbylzKGNpYXRpdiltKGUpaihhcnJhKW0oeSllKHYpLTUKLWIoYXJpYWJsZSkyNCBiKFwoc2VlKWcoU2VjdGlvbilnKDYuNylnKFtBcnJhKW0oeXNdLCkxMTEwCi0xOTMzIHkocGFnZSkzMSBiKDgwXCkuKTYzMCAyMDgyIHkgRnMoLWYpMzg0IGIgRnQoVXNlKTMxCi1iKGZ1bmN0aW9uKWYobmFtZXMpZyhvbmx5KS04IGIoLik2MzAgMjIzMiB5IEZzKC1pKTM4NAotYiBGdChUaGUpMzYgYih2KS01IGIoYXJpYWJsZSkzNyBiKGlzKWYodG8paChiKXMoZSlmKHRyZWF0ZWQpaChhcylnKGFuKWYKLShpbiltKHRlZ2VyOyk0MSBiKGFyaXRobWV0aWMpYyhldiktNSBiKGFsdWF0aW9uKTExMTAKLTIzNDEgeShcKHNlZSkyOSBiKFNlY3Rpb24pZig2LjUpaChbU2hlbGwpZihBcml0aG1ldGljXSwpaShwYWdlKWUoNzhcKSloCi0oaXMpZihwKXMoZXJmb3JtZWQpZSh3aGVuKWgodGhlKTExMTAgMjQ1MSB5KHYpLTUgYihhcmlhYmxlKTMxCi1iKGlzKWcoYXNzaWduZWQpZihhKWgodiktNSBiKGFsdWUuKTYzMCAyNjAwIHkgRnMoLWwpMzg0Ci1iIEZ0KFdoZW4pMjYgYih0aGUpZyh2KS01IGIoYXJpYWJsZSkyNyBiKGlzKWYoYXNzaWduZWQpZyhhKWcodiktNQotYihhbHVlLCkyOCBiKGFsbClmKHVwcClzKGVyLWNhc2UpZShjKW0oaGFyYWN0ZXJzKWooYXJlKTExMTAKLTI3MTAgeShjb24pbSh2KW0oZXJ0ZWQpayh0bylmKGxvKW0odyltKGVyLWNhc2UuKTQzIGIoVGhlKTMwCi1iKHVwcClzKGVyLWNhc2UpZyhhdHRyaWJ1dGUpaChpcylnKGRpc2FibGVkLik2MzAgMjg1OQoteSBGcygtcikzODQgYiBGdChNYWspbShlKTI1IGIgRnEobmFtZSk1IGIgRnQocykyMyBiKHJlYWRvbmx5KS04Ci1iKC4pMzkgYihUaGVzZSkyNCBiKG5hbWVzKWYoY2Fubm90KWgodGhlbilmKGIpcyhlKWcoYXNzaWduZWQpaCh2KS01Ci1iKGFsdWVzKTExMTAgMjk2OSB5KGIpbSh5KTMwIGIoc3Vic2VxdWVuKW0odClnKGFzc2lnbm1lbiltKHQpaAotKHN0YXRlbWVuKW0odHMpaChvcilmKHVuc2V0Lik2MzAgMzExOCB5IEZzKC10KTM4NCBiIEZ0KEdpdiltKGUpMzMKLWIoZWFjKW0oaCloIEZxKG5hbWUpaiBGdCh0aGUpMzIgYiBGcyh0cmFjZSlmIEZ0KGF0dHJpYnV0ZS4pNDYKLWIoVCktOCBiKHJhY2VkKTMyIGIoZnVuY3Rpb25zKWcoaW5oZXJpdClnKHRoZSkxMTEwIDMyMjgKLXkgRnMoREVCVUcpMjYgYiBGdChhbmQpaCBGcyhSRVRVUk4pZiBGdCh0cmFwcyloKGZyb20pZyh0aGUpaChjYWxsaW5nKWgKLShzaGVsbC4pNDAgYihUaGUpMjcgYih0cmFjZSlpKGF0dHJpYnV0ZSkxMTEwIDMzMzcgeShoYXMpaChubylnKHNwKXMKLShlY2lhbCloKG1lYW5pbmcpZyhmb3IpZih2KS01IGIoYXJpYWJsZXMuKTYzMCAzNDg3IHkKLUZzKC11KTM4NCBiIEZ0KFdoZW4pMjggYih0aGUpaCh2KS01IGIoYXJpYWJsZSkyOSBiKGlzKWYoYXNzaWduZWQpaChhKWYKLSh2KS01IGIoYWx1ZSwpMzAgYihhbGwpZihsbyltKHcpbShlci1jYXNlKWkoYyltKGhhcmFjdGVycylmKGFyZSkxMTEwCi0zNTk3IHkoY29uKW0odiltKGVydGVkKWkodG8pZih1cHApcyhlci1jYXNlLik0MCBiKFRoZSkzMAotYihsbyltKHcpbShlci1jYXNlKWooYXR0cmlidXRlKWUoaXMpZyhkaXNhYmxlZC4pNjMwIDM3NDYKLXkgRnMoLXgpMzg0IGIgRnQoTWFyaykzMCBiKGVhYyltKGgpaCBGcShuYW1lKWsgRnQoZm9yKTI5Ci1iKGV4cClzKG9ydCloKHRvKWcoc3Vic2VxdWVuKW0odClmKGNvbW1hbmRzKWgodmlhKWcodGhlKWcoZW4pbSh2aS0pMTExMAotMzg1NiB5KHJvbm1lbiltKHQuKTYzMCA0MDA1IHkoVXNpbmcpZShgKXAgRnMoKylwIEZ0KCcpaChpbnN0ZWFkKWYob2YpZwotKGApcCBGcygtKXAgRnQoJylnKHR1cm5zKWYob1wwMTMpaSh0aGUpZihhdHRyaWJ1dGUpaChpbnN0ZWFkLClnKHdpdGgpZgotKHRoZSlnKGV4Y2VwdGlvbnMpaCh0aGF0KTYzMCA0MTE1IHkoYClwIEZzKCthKXAgRnQoJyloKG1hKW0oeSloKG5vdClmCi0oYilzKGUpZih1c2VkKWcodG8paShkZXN0cm8pbSh5KWcoYW4pZihhcnJhKW0oeSlnKHYpLTUKLWIoYXJpYWJsZSkzMSBiKGFuZClmKGApcCBGcygrcilwIEZ0KCcpZyh3aWxsKWcobm90KWcocmVtbyltKHYpbShlKWkKLSh0aGUpNjMwIDQyMjQgeShyZWFkb25seSllKGF0dHJpYnV0ZS4pNDEgYihXaGVuKTMwIGIodXNlZClmKGluKWcoYSloCi0oZnVuY3Rpb24sKWcgRnMoZGVjbGFyZSllIEZ0KG1hayltKGVzKWooZWFjKW0oaClmIEZxKG5hbWUpMzUKLWIgRnQobG8pcyhjYWwsKTYzMCA0MzM0IHkoYXMpNDAgYih3aXRoKWcodGhlKWcgRnMobG9jYWwpZQotRnQoY29tbWFuZC4pNjkgYihJZik0MCBiKGEpZyh2KS01IGIoYXJpYWJsZSk0MSBiKG5hbWUpZihpcylnKGZvbGxvKW0odykKLW0oZWQpaChiKW0oeSlmKD0pcCBGcSh2KS01IGIoYWx1ZSk1IGIgRnQoLCk0MyBiKHRoZSk2MzAKLTQ0NDMgeSh2KS01IGIoYWx1ZSkzMSBiKG9mKWYodGhlKWgodiktNSBiKGFyaWFibGUpMzEKLWIoaXMpZyhzZXQpZih0bylpIEZxKHYpLTUgYihhbHVlKTUgYiBGdCguKTYzMCA0NTczIHkoVGhlKTM1Ci1iKHJldHVybilmKHN0YXR1cylpKGlzKWcoemVybylnKHVubGVzcylmKGFuKWcoaW4pbSh2KS01Ci1iKGFsaWQpMzYgYihvcHRpb24pZyhpcylnKGVuY291biltKHRlcmVkLCloKGFuKWYoYXR0ZW1wdCk2MzAKLTQ2ODIgeShpcyljKG1hZGUpZyh0bylnKGRlXDAxNG5lKWYoYSloKGZ1bmN0aW9uKWcodXNpbmcpZihgKXAKLUZzKC1mKWYoZm9vPWJhcilwIEZ0KCcsKWgoYW4paChhdHRlbXB0KWcoaXMpZyhtYWRlKWcodG8paChhc3NpZ24pNjMwCi00NzkyIHkoYSk0MiBiKHYpLTUgYihhbHVlKTQzIGIodG8pZyhhKWYocmVhZG9ubHkpZyh2KS01Ci1iKGFyaWFibGUsKTQ3IGIoYW4pNDIgYihhdHRlbXB0KWgoaXMpZihtYWRlKWcodG8paChhc3NpZ24pZihhKWgodiktNQotYihhbHVlKTQyIGIodG8paChhbik2MzAgNDkwMiB5KGFycmEpbSh5KTMwIGIodiktNSBiKGFyaWFibGUpMzAKLWIod2l0aG91dClnKHVzaW5nKWUodGhlKWkoY29tcClzKG91bmQpZShhc3NpZ25tZW4pbSh0KWkoc3luKW0odGF4KWcKLShcKHNlZSloKFNlY3Rpb24pZig2LjcpNjMwIDUwMTEgeShbQXJyYSltKHlzXSwpNDcgYihwYWdlKWMoODBcKSwpNDgKLWIob25lKTQzIGIob2YpZyh0aGUpZyBGcShuYW1lcylrIEZ0KGlzKWMobm90KWcoYSlnKHYpLTUKLWIoYWxpZCk0MyBiKHNoZWxsKWcodiktNSBiKGFyaWFibGUpNDQgYihuYW1lLClpKGFuKTYzMAotNTEyMSB5KGF0dGVtcHQpMjggYihpcylmKG1hZGUpaCh0bylmKHR1cm4pZihvXDAxMylpKHJlYWRvbmx5KWYoc3RhdHVzKWcKLShmb3IpZyhhKWgocmVhZG9ubHkpZih2KS01IGIoYXJpYWJsZSwpMjkgYihhbillKGF0dGVtcHQpNjMwCi01MjMwIHkoaXMpaChtYWRlKWgodG8pZyh0dXJuKWUob1wwMTMpaShhcnJhKW0oeSlmKHN0YXR1cyloKGZvcilmKGFuKWcKLShhcnJhKW0oeSloKHYpLTUgYihhcmlhYmxlLCkzMCBiKG9yKWUoYW4pZyhhdHRlbXB0KWkoaXMpZShtYWRlKWcodG8pNjMwCi01MzQwIHkoZGlzcGxhKW0oeSlqKGEpZihub24tZXhpc3RlbiltKHQpaShmdW5jdGlvbillKHdpdGgpZyhgKXAKLUZzKC1mKXAgRnQoJy4pcCBlb3AgZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkoSWYpMzkgYihubyloIEZxKHYpLTUKK2IoYWx1ZSk0NSBiIEZ0KGlzKTQwIGIoZ2l2KW0oZW4sKWoodGhlKWQobmFtZSlmKGFuZClnKHYpLTUKK2IoYWx1ZSk0MCBiKG9mKWcodGhlKWcoYWxpYXMpaChpcylmKHByaW4pbSh0ZWQuKTY4IGIoQWxpYXNlcyk0MQorYihhcmUpNjMwIDQwOCB5KGRlc2NyaWIpcyhlZCkyOSBiKGluKWgoU2VjdGlvbilpKDYuNilmKFtBbGlhc2VzXSwpaAorKHBhZ2UpZig4MS4pMTUwIDU3NSB5IEZzKGJpbmQpODcwIDcxMyB5KGJpbmQpNDcgYihbLW0pZworRmkoa2V5bWFwKTExIGIgRnMoXSk0NSBiKFstbHBzdlBTVl0pODcwIDgyMiB5KGJpbmQpaShbLW0pZworRmkoa2V5bWFwKTExIGIgRnMoXSk0NSBiKFstcSlpIEZpKGZ1bmN0aW9uKTExIGIgRnMoXSk0NQorYihbLXUpaCBGaShmdW5jdGlvbikxMSBiIEZzKF0pNDUgYihbLXIpaSBGaShrZXlzZXEpMTEKK2IgRnMoXSk4NzAgOTMyIHkoYmluZCk0NyBiKFstbSlnIEZpKGtleW1hcCkxMSBiIEZzKF0pNDUKK2IoLWYpaSBGaShmaWxlbmFtZSk4NzAgMTA0MiB5IEZzKGJpbmQpZyhbLW0pZyBGaShrZXltYXApMTEKK2IgRnMoXSk0NSBiKC14KWkgRmkoa2V5c2VxOnNoZWxsLWNvbW1hbmQpODcwIDExNTEgeSBGcyhiaW5kKWcoWy1tKWcKK0ZpKGtleW1hcCkxMSBiIEZzKF0pNDUgYiBGaShrZXlzZXE6ZnVuY3Rpb24tbmFtZSk4NzAKKzEyNjEgeSBGcyhiaW5kKWkgRmkocmVhZGxpbmUtY29tbWFuZCk2MzAgMTM5OSB5IEZ0KERpc3BsYSltKHkpMjYKK2IoY3VycmVuKW0odClmKFJlYWRsaW5lKWgoXChzZWUpZyhDaGFwdGVyKWYoOClnKFtDb21tYW5kKWcoTGluZSlnCisoRWRpdGluZ10sKWkocGFnZSlmKDk1XCkpZyhrKW0oZXkpNjMwIDE1MDggeShhbmQpMzYgYihmdW5jdGlvbilnCisoYmluZGluZ3MsKWkoYmluZClkKGEpaShrKW0oZXkpZyhzZXF1ZW5jZSlnKHRvKWgoYSlmKFJlYWRsaW5lKWcKKyhmdW5jdGlvbilmKG9yKWgobWFjcm8sKTYzMCAxNjE4IHkob3IpNDQgYihzZXQpaChhKWcoUmVhZGxpbmUpZih2KS01CitiKGFyaWFibGUuKTgzIGIoRWFjKW0oaCk0NSBiKG5vbi1vcHRpb24pZyhhcmd1bWVuKW0odClmKGlzKWcoYSloCisoY29tbWFuZClmKGFzKWcoaXQpNjMwIDE3MjggeSh3KW0ob3VsZCllKGFwcClzKGVhcilmKGluKWgoYSloKFJlYWRsaW5lKQorZyhpbml0aWFsaXphdGlvbilpKFwwMTRsZSlkKFwoc2VlKWgoU2VjdGlvbilnKDguMylnKFtSZWFkbGluZSlnKEluaXQpCis2MzAgMTgzNyB5KEZpbGVdLClnKHBhZ2UpYyg5OFwpLClrKGJ1dCkzOCBiKGVhYyltKGgpaShiaW5kaW5nKWUob3IpaAorKGNvbW1hbmQpZyhtKW0odXN0KWcoYilzKGUpZihwYXNzZWQpZyhhcylpKGEpZihzZXBhcmF0ZSk2MzAKKzE5NDcgeShhcmd1bWVuKW0odDspMzEgYihlLmcuLCloKGApcCBGcygiXFxDLXhcXEMtciI6cmUtcmVhZC1pbml0LWYpbworKGlsZSlwIEZ0KCcuKTYzMCAyMDg1IHkoT3B0aW9ucywpZShpZiloKHN1cHBsaWVkLCllKGhhKW0odiltKGUpaSh0aGUpZworKGZvbGxvKW0od2luZyloKG1lYW5pbmdzOik2MzAgMjI1MSB5IEZzKC1tKWUgRmkoa2V5bWFwKTExMTAKKzIzNjEgeSBGdChVc2UpNTQgYiBGcShrKW0oZXltYXApaiBGdChhcylkKHRoZSlnKGspbShleW1hcClnKHRvKWgoYilzKGUpCitlKGFcMDEzZWN0ZWQpaShiKW0oeSlmKHRoZSlnKHN1YnNlcXVlbiltKHQpMTExMCAyNDcwCit5KGJpbmRpbmdzLik0NiBiKEFjY2VwdGFibGUpMzQgYiBGcShrKW0oZXltYXApaSBGdChuYW1lcyljKGFyZSloCitGcyhlbWFjcylwIEZ0KCwpZiBGcyhlbWFjcy1zdGFuZGFyZClwIEZ0KCwpMTExMCAyNTgwCit5IEZzKGVtYWNzLW1ldGEpcCBGdCgsKTk5IGIgRnMoZW1hY3MtY3RseClwIEZ0KCwpZiBGcyh2aSlwCitGdCgsKWogRnModmktbW92ZSlwIEZ0KCwpZiBGcyh2aS1jb21tYW5kKXAgRnQoLClmKGFuZCkxMTEwCisyNjkwIHkgRnModmktaW5zZXJ0KXAgRnQoLik2NCBiIEZzKHZpKTM4IGIgRnQoaXMpaChlcXVpdiktNQorYihhbGVuKW0odCk0MSBiKHRvKWUgRnModmktY29tbWFuZClwIEZ0KDspaSBGcyhlbWFjcyljCitGdChpcylpKGVxdWl2KS01IGIoYWxlbiltKHQpMTExMCAyNzk5IHkodG8pMzEgYiBGcyhlbWFjcy1zdGFuZGFyZClwCitGdCguKTYzMCAyOTY2IHkgRnMoLWwpMzg0IGIgRnQoTGlzdCkzMSBiKHRoZSlmKG5hbWVzKWcob2YpaChhbGwpZworKFJlYWRsaW5lKWcoZnVuY3Rpb25zLik2MzAgMzEzMiB5IEZzKC1wKTM4NCBiIEZ0KERpc3BsYSltKHkpMzQKK2IoUmVhZGxpbmUpZihmdW5jdGlvbilnKG5hbWVzKWcoYW5kKWYoYmluZGluZ3MpZihpbilpKHN1YyltKGgpZihhKWkodyltCisoYSltKHkpZih0aGF0KTExMTAgMzI0MiB5KHRoZXkpZShjYW4pZihiKXMoZSlnKHVzZWQpZyhhcylnKGlucHV0KWcob3IpZworKGluKWcoYSloKFJlYWRsaW5lKWcoaW5pdGlhbGl6YXRpb24paShcMDE0bGUuKTYzMCAzNDA4Cit5IEZzKC1QKTM4NCBiIEZ0KExpc3QpMzEgYihjdXJyZW4pbSh0KWYoUmVhZGxpbmUpaChmdW5jdGlvbilmKG5hbWVzKWcKKyhhbmQpZyhiaW5kaW5ncy4pNjMwIDM1NzQgeSBGcygtdikzODQgYiBGdChEaXNwbGEpbSh5KTI1CitiKFJlYWRsaW5lKWYodiktNSBiKGFyaWFibGUpMjUgYihuYW1lcylmKGFuZClmKHYpLTUgYihhbHVlcykyNAorYihpbilnKHN1YyltKGgpZihhKWkodyltKGEpbSh5KWYodGhhdCloKHRoZXkpMTExMCAzNjg0Cit5KGNhbikzMSBiKGIpcyhlKWUodXNlZCloKGFzKWgoaW5wdXQpZShvciloKGluKWcoYSloKFJlYWRsaW5lKWcKKyhpbml0aWFsaXphdGlvbilqKFwwMTRsZS4pNjMwIDM4NTAgeSBGcygtVikzODQgYiBGdChMaXN0KTMxCitiKGN1cnJlbiltKHQpZihSZWFkbGluZSloKHYpLTUgYihhcmlhYmxlKTMxIGIobmFtZXMpZihhbmQpZyh2KS01CitiKGFsdWVzLik2MzAgNDAxNyB5IEZzKC1zKTM4NCBiIEZ0KERpc3BsYSltKHkpMzkgYihSZWFkbGluZSlmKGspbShleSlnCisoc2VxdWVuY2VzKWYoYilzKG91bmQpZih0bylpKG1hY3JvcylnKGFuZClmKHRoZSlnKHN0cmluZ3MpMTExMAorNDEyNiB5KHRoZXkpZChvdXRwdXQpZihpbiloKHN1YyltKGgpZihhKWgodyltKGEpbSh5KWgodGhhdClmKHRoZXkpZworKGNhbilnKGIpcyhlKWYodXNlZClnKGFzKWgoaW5wdXQpZShvcilpKGluKWcoYSkxMTEwIDQyMzYKK3koUmVhZGxpbmUpZChpbml0aWFsaXphdGlvbilpKFwwMTRsZS4pNjMwIDQ0MDIgeSBGcygtUykzODQKK2IgRnQoRGlzcGxhKW0oeSkzOSBiKFJlYWRsaW5lKWYoayltKGV5KWcoc2VxdWVuY2VzKWYoYilzKG91bmQpZih0bylpCisobWFjcm9zKWcoYW5kKWYodGhlKWcoc3RyaW5ncykxMTEwIDQ1MTIgeSh0aGV5KTMxIGIob3V0cHV0Lik2MzAKKzQ2NzggeSBGcygtZilmIEZpKGZpbGVuYW1lKTExMTAgNDc4OCB5IEZ0KFJlYWQpaChrKW0oZXkpZyhiaW5kaW5ncyllCisoZnJvbSloIEZxKFwwMTRsZW5hbWUpNSBiIEZ0KC4pNjMwIDQ5NTQgeSBGcygtcSkzMCBiCitGaShmdW5jdGlvbikxMTEwIDUwNjQgeSBGdChRdWVyeSlnKGFiKXMob3V0KWcod2hpYyltKGgpZyhrKW0oZXlzKWgoaW4pbQorKHYpbShvayltKGUpaCh0aGUpZihuYW1lZClmIEZxKGZ1bmN0aW9uKXAgRnQoLik2MzAgNTIzMAoreSBGcygtdSlnIEZpKGZ1bmN0aW9uKTExMTAgNTM0MCB5IEZ0KFVuKW0oYmluZClmKGFsbClpKGspbShleXMpZyhiKXMKKyhvdW5kKWUodG8paSh0aGUpZihuYW1lZClnIEZxKGZ1bmN0aW9uKXAgRnQoLilwIGVvcCBlbmQKICUlUGFnZTogNDUgNTEKIFRlWERpY3QgYmVnaW4gNDUgNTAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDQ6KTQxCi1iKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig0NSkxNTAgMjk5IHkgRnMoZWNobyk4NzAKLTQzMiB5KGVjaG8pNDcgYihbLW5lRV0pZihbKXAgRmkoYXJnKTU3IGIgRnMoLi4uKW8oXSk2MzAKLTU2NSB5IEZ0KE91dHB1dCkzMSBiKHRoZSlpIEZxKGFyZyk4IGIgRnQocywpMzMgYihzZXBhcmF0ZWQpZyhiKW0oeSlnCi0oc3BhY2VzLClnKHRlcm1pbmF0ZWQpZyh3aXRoKWYoYSloKG5ld2xpbmUuKTQ3IGIoVGhlKTMyCi1iKHJldHVybik2MzAgNjc0IHkoc3RhdHVzKTQwIGIoaXMpZyhhbHcpbShhKW0oeXMpaCgwLik2OQotYihJZikzOSBiKGApcCBGcygtbilwIEZ0KCcpaChpcylmKHNwKXMoZWNpXDAxNGVkLClqKHRoZSllKHRyYWlsaW5nKWgKLShuZXdsaW5lKWUoaXMpaChzdXBwcmVzc2VkLik2NiBiKElmKTYzMCA3ODQgeSh0aGUpMjkKLWIoYClwIEZzKC1lKXAgRnQoJylnKG9wdGlvbilnKGlzKWgoZ2l2KW0oZW4sKWcoaW4pbSh0ZXJwcmV0YXRpb24pZyhvZilnCi0odGhlKWYoZm9sbG8pbSh3aW5nKWgoYmFjKW0oa3NsYXNoLWVzY2FwKXMoZWQpZyhjKW0oaGFyLSk2MzAKLTg5MyB5KGFjdGVycykzOCBiKGlzKWYoZW5hYmxlZC4pNjAgYihUaGUpMzYgYihgKXAgRnMoLUUpcAotRnQoJyloKG9wdGlvbilnKGRpc2FibGVzKWcodGhlKWcoaW4pbSh0ZXJwcmV0YXRpb24paChvZilmKHRoZXNlKWcKLShlc2NhcClzKGUpNjMwIDEwMDMgeShjKW0oaGFyYWN0ZXJzLCloKGV2KW0oZW4pZChvbilnKHN5c3RlbXMpZyh3aGVyZSlmCi0odGhleSloKGFyZSlnKGluKW0odGVycHJldGVkKWgoYiltKHkpZShkZWZhdWx0Lik1NSBiKFRoZSkzNAotYiBGcyh4cGdfKTYzMCAxMTEyIHkoZWNobylkIEZ0KHNoZWxsKWgob3B0aW9uKWgobWEpbSh5KWcoYilzKGUpZSh1c2VkKWgKLSh0byloKGR5bmFtaWNhbGx5KWcoZGV0ZXJtaW5lKWYod2hldGhlcilmKG9yKWkobm90KWYKLUZzKGVjaG8pNjMwIDEyMjIgeSBGdChleHBhbmRzKTM5IGIodGhlc2UpaShlc2NhcClzKGUpZyhjKW0oaGFyYWN0ZXJzKWcKLShiKW0oeSlnKGRlZmF1bHQuKTcwIGIgRnMoZWNobykzOSBiIEZ0KGRvKXMoZXMpaChub3QpZyhpbiltKHRlcnByZXQpaAotKGApcCBGcygtLSlwIEZ0KCcpZih0byk2MzAgMTMzMiB5KG1lYW4pMzAgYih0aGUpaChlbmQpZihvZilnKG9wdGlvbnMuKQotNjMwIDE0NjUgeSBGcyhlY2hvKWYgRnQoaW4pbSh0ZXJwcmV0cylpKHRoZSlmKGZvbGxvKW0od2luZylpKGVzY2FwKXMoZSkKLWYoc2VxdWVuY2VzOik2MzAgMTYyMSB5IEZzKFxcYSkzODQgYiBGdChhbGVydCkzMSBiKFwoYilzKGVsbFwpKTYzMAotMTc3NyB5IEZzKFxcYikzODQgYiBGdChiYWMpbShrc3BhY2UpNjMwIDE5MzMgeSBGcyhcXGMpZwotRnQoc3VwcHJlc3MpMjggYihmdXJ0aGVyKWgob3V0cHV0KTYzMCAyMDg5IHkgRnMoXFxlKTM4NAotYiBGdChlc2NhcClzKGUpNjMwIDIyNDUgeSBGcyhcXGYpZyBGdChmb3JtKTMwIGIoZmVlZCk2MzAKLTI0MDEgeSBGcyhcXG4pMzg0IGIgRnQobmV3KTMwIGIobGluZSk2MzAgMjU1NyB5IEZzKFxccikzODQKLWIgRnQoY2FycmlhZ2UpMzIgYihyZXR1cm4pNjMwIDI3MTMgeSBGcyhcXHQpMzg0IGIgRnQoaG9yaXpvbiltKHRhbCkzMgotYih0YWIpNjMwIDI4NjkgeSBGcyhcXHYpMzg0IGIgRnQodiltKGVydGljYWwpMzIgYih0YWIpNjMwCi0zMDI1IHkgRnMoXFxcXCkzODQgYiBGdChiYWMpbShrc2xhc2gpNjMwIDMxODEgeSBGcyhcXDApcAotRmkobm5uKTI0MCBiIEZ0KHRoZSkzMiBiKGVpZ2gpbSh0LWJpdClpKGMpbShoYXJhY3RlcilnKHdob3NlKWUodiktNQotYihhbHVlKTMzIGIoaXMpZih0aGUpZyhvKXMoY3RhbClpKHYpLTUgYihhbHVlKTMyIGIgRnEobm5uKWYKLUZ0KFwoemVybylpKHRvKTExMTAgMzI5MSB5KHRocmVlKWUobylzKGN0YWwpZyhkaWdpdHNcKSk2MzAKLTM0NDcgeSBGcyhcXHgpcCBGaShISCkyODggYiBGdCh0aGUpNDAgYihlaWdoKW0odC1iaXQpaChjKW0oaGFyYWN0ZXIpZwotKHdob3NlKWUodiktNSBiKGFsdWUpMzkgYihpcyloKHRoZSlmKGhleGFkZWNpbWFsKWkodiktNQotYihhbHVlKTQwIGIgRnEoSEgpMTExMCAzNTU3IHkgRnQoXChvbmUpMzEgYihvcilmKHQpbSh3KW0obylpKGhleCllCi0oZGlnaXRzXCkpMTUwIDM3MTMgeSBGcyhlbmFibGUpODcwIDM4NDYgeShlbmFibGUpNDYgYihbLWFdKWgoWy1kbnBzXSlmCi0oWy1mKWcgRmkoZmlsZW5hbWUpMTEgYiBGcyhdKTQ1IGIoWylwIEZpKG5hbWUpNTcgYiBGcyguLi4pbyhdKTYzMAotMzk3OCB5IEZ0KEVuYWJsZSkzNiBiKGFuZClmKGRpc2FibGUpaChidWlsdGluKWcoc2hlbGwpZyhjb21tYW5kcy4pNTYKLWIoRGlzYWJsaW5nKTM3IGIoYSlnKGJ1aWx0aW4pZShhbGxvKW0od3MpaShhKWYoZGlzayk2MzAKLTQwODggeShjb21tYW5kKWUod2hpYyltKGgpZyhoYXMpZyh0aGUpZyhzYW1lKWgobmFtZSlmKGFzKWgoYSlmKHNoZWxsKWgKLShidWlsdGluKWUodG8paShiKXMoZSlmKGV4ZWN1dGVkKWgod2l0aG91dCk2MzAgNDE5OCB5KHNwKXMoZWNpZnlpbmcpMjcKLWIoYSlnKGZ1bGwpZyhwYXRobmFtZSwpZyhldiltKGVuKWgodGhvdWdoKWYodGhlKWcoc2hlbGwpZyhub3JtYWxseSlnCi0oc2VhcmMpbShoZXMpaChmb3IpZihidWlsdGlucyk2MzAgNDMwNyB5KGIpcyhlZm9yZSkzMgotYihkaXNrKWYoY29tbWFuZHMuKTQ2IGIoSWYpMzEgYihgKXAgRnMoLW4pcCBGdCgnKWgoaXMpZyh1c2VkLClnKHRoZSlnCi1GcShuYW1lKTUgYiBGdChzKTMyIGIoYilzKGVjb21lKWgoZGlzYWJsZWQuKTQ1IGIoT3RoZXJ3aXNlKTYzMAotNDQxNyB5IEZxKG5hbWUpNSBiIEZ0KHMpNDQgYihhcmUpaChlbmFibGVkLik4MiBiKEYpLTgKLWIob3IpNDUgYihleGFtcGxlLClrKHRvKWModXNlKWYodGhlKWcgRnModGVzdClmIEZ0KGJpbmFyeSloKGZvdW5kKWYKLSh2aWEpaCBGcygkUEFUSCk2MzAgNDUyNiB5IEZ0KGluc3RlYWQpMzEgYihvZilmKHRoZSloKHNoZWxsKWYoYnVpbHRpbilnCi0odiltKGVyc2lvbiwpaCh0KW0oeXApcyhlKWcoYClwIEZzKGVuYWJsZSllKC1uKWgodGVzdClwCi1GdCgnLik2MzAgNDY1OSB5KElmKTQyIGIodGhlKWgoYClwIEZzKC1wKXAgRnQoJylmKG9wdGlvbiloKGlzKWYKLShzdXBwbGllZCwpaihvcilkKG5vKWggRnEobmFtZSlrIEZ0KGFyZ3VtZW4pbSh0cyljKGFwcClzKGVhciwpaShhKWUKLShsaXN0KWcob2YpZyhzaGVsbCk2MzAgNDc2OSB5KGJ1aWx0aW5zKTM3IGIoaXMpaChwcmluKW0odGVkLik2MwotYihXaXRoKTM4IGIobm8pZihvdGhlciloKGFyZ3VtZW4pbSh0cywpaih0aGUpZChsaXN0KWcoY29uc2lzdHMpZyhvZilnCi0oYWxsKWgoZW5hYmxlZCk2MzAgNDg3OCB5KHNoZWxsKTMzIGIoYnVpbHRpbnMuKTQ2IGIoVGhlKTMyCi1iKGApcCBGcygtYSlwIEZ0KCcpaChvcHRpb24pZyhtZWFucylmKHRvKWkobGlzdClmKGVhYyltKGgpaChidWlsdGluKWUKLSh3aXRoKWcoYW4pZyhpbmRpY2F0aW9uKWkob2YpNjMwIDQ5ODggeSh3aGV0aGVyKWMob3IpZyhub3QpaChpdClnKGlzKWYKLShlbmFibGVkLik2MzAgNTEyMSB5KFRoZSk0MCBiKGApcCBGcygtZilwIEZ0KCcpZyhvcHRpb24pZyhtZWFucylnKHRvKWgKLShsb2FkKWcodGhlKWYobmV3KWYoYnVpbHRpbiloKGNvbW1hbmQpZyBGcShuYW1lKTQ1IGIKLUZ0KGZyb20pNDAgYihzaGFyZWQpNjMwIDUyMzAgeShvYik1IGIoamVjdCkyNiBiIEZxKFwwMTRsZW5hbWUpNQotYiBGdCgsKTI4IGIob24pZChzeXN0ZW1zKWgodGhhdClnKHN1cHApcyhvcnQpZShkeW5hbWljKWgobG9hZGluZy4pNDAKLWIoVGhlKTI1IGIoYClwIEZzKC1kKXAgRnQoJyloKG9wdGlvbilnKHdpbGwpNjMwIDUzNDAKLXkoZGVsZXRlKTMyIGIoYSllKGJ1aWx0aW4pZyhsb2FkZWQpaCh3aXRoKWYoYClwIEZzKC1mKXAKLUZ0KCcuKXAgZW9wIGVuZAorYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNDUpNjMwIDI5OSB5IEZzKC1yKTMwCitiIEZpKGtleXNlcSkxMTEwIDQwOCB5IEZ0KFJlbW8pbSh2KW0oZSlpKGFuKW0oeSlmKGN1cnJlbiltKHQpZihiaW5kaW5nKQorZihmb3IpaCBGcShrKW0oZXlzZXEpciBGdCguKTYzMCA1NjQgeSBGcygteClnIEZpKGtleXNlcTpzaGVsbC1jb21tYW5kKQorMTExMCA2NzQgeSBGdChDYXVzZSkzNSBiIEZxKHNoZWxsLWNvbW1hbmQpayBGdCh0bylkKGIpcyhlKWYoZXhlY3V0ZWQpaAorKHdoZW5ldiltKGVyKWYgRnEoayltKGV5c2VxKWogRnQoaXMpZChlbiltKHRlcmVkLikxMTEwCis3ODMgeShXaGVuKTQ2IGIgRnEoc2hlbGwtY29tbWFuZClrIEZ0KGlzKWMoZXhlY3V0ZWQsKTUxCitiKHRoZSk0NiBiKHNoZWxsKWcoc2V0cylnKHRoZSlnIEZzKFJFQURMSU5FXykxMTEwIDg5MworeShMSU5FKTM3IGIgRnQodiktNSBiKGFyaWFibGUpMzggYih0bylnKHRoZSlnKGNvbiltKHRlbiltKHRzKWkob2YpZQorKHRoZSlnKFJlYWRsaW5lKWcobGluZSlnKGJ1XDAxM2VyKWYoYW5kKWcodGhlKTExMTAgMTAwMworeSBGcyhSRUFETElORV9QT0lOVCllIEZ0KHYpLTUgYihhcmlhYmxlKTM5IGIodG8paCh0aGUpZShjdXJyZW4pbSh0KWgKKyhsbylzKGNhdGlvbiloKG9mKWYodGhlKWcoaW5zZXJ0aW9uKTExMTAgMTExMiB5KHApcyhvaW4pbSh0Lik1OQorYihJZikzNyBiKHRoZSlmKGV4ZWN1dGVkKWkoY29tbWFuZCllKGMpbShoYW5nZXMpaSh0aGUpZih2KS01CitiKGFsdWUpMzcgYihvZilmIEZzKFJFQURMSU5FXykxMTEwIDEyMjIgeShMSU5FKTI5IGIgRnQob3IpaAorRnMoUkVBRExJTkVfUE9JTlQpcCBGdCgsKWModGhvc2UpMzEgYihuZXcpZSh2KS01IGIoYWx1ZXMpMzEKK2Iod2lsbClmKGIpcyhlKWYocmVcMDE1ZWN0ZWQpaShpbilmKHRoZSkxMTEwIDEzMzEgeShlZGl0aW5nKWgoc3RhdGUuKQorNjMwIDE0ODcgeShUaGUpMjYgYihyZXR1cm4pZihzdGF0dXMpaShpcylmKHplcm8paSh1bmxlc3MpZChhbilpKGluKW0odikKKy01IGIoYWxpZCkyNyBiKG9wdGlvbilnKGlzKWYoc3VwcGxpZWQpZihvcilpKGFuKWYoZXJyb3IpZyhvKXMoY2N1cnMuKQorMTUwIDE2NDMgeSBGcyhidWlsdGluKTg3MCAxNzc1IHkoYnVpbHRpbik0NiBiKFspcCBGaShzaGVsbC1idWlsdGluKTU0CitiIEZzKFspcCBGaShhcmdzKTExIGIgRnMoXV0pNjMwIDE5MDggeSBGdChSdW4pMzUgYihhKWgoc2hlbGwpaAorKGJ1aWx0aW4sKWcocGFzc2luZylmKGl0KWcgRnEoYXJncyl0IEZ0KCwpaShhbmQpZShyZXR1cm4pZihpdHMpaChleGl0KWgKKyhzdGF0dXMuKTU4IGIoVGhpcykzNiBiKGlzKWcodXNlZnVsKTYzMCAyMDE4IHkod2hlbikyOQorYihkZVwwMTRuaW5nKWgoYSlnKHNoZWxsKWgoZnVuY3Rpb24pZih3aXRoKWcodGhlKWcoc2FtZSloKG5hbWUpZihhcyloCisoYSlnKHNoZWxsKWYoYnVpbHRpbiwpZyhyZXRhaW5pbmcpNjMwIDIxMjcgeSh0aGUpayhmdW5jdGlvbmFsaXQpbSh5KWgKKyhvZilmKHRoZSlmKGJ1aWx0aW4pZyh3aXRoaW4pZyh0aGUpaChmdW5jdGlvbi4pNTAgYihUaGUpMzMKK2IocmV0dXJuKWcoc3RhdHVzKWgoaXMpZihub24tKTYzMCAyMjM3IHkoemVybyllKGlmKWcKK0ZxKHNoZWxsLWJ1aWx0aW4pZiBGdChpcylnKG5vdCloKGEpZyhzaGVsbClmKGJ1aWx0aW4pZyhjb21tYW5kLikxNTAKKzIzOTMgeSBGcyhjYWxsZXIpODcwIDI1MjUgeShjYWxsZXIpNDYgYihbKXAgRmkoZXhwcikxMQorYiBGcyhdKTYzMCAyNjU4IHkgRnQoUmV0dXJucykzNCBiKHRoZSlnKGNvbiltKHRleHQpaihvZillKGFuKW0oeSlnCisoYWN0aXYpbShlKWkoc3Vicm91dGluZSljKGNhbGwpaihcKGEpZihzaGVsbClnKGZ1bmN0aW9uKWYob3IpaChhKWcKKyhzY3JpcHQpNjMwIDI3NjggeShleGVjdXRlZCljKHdpdGgpZih0aGUpaCBGcyguKWYgRnQob3IpZworRnMoc291cmNlKWYgRnQoYnVpbHRpbnNcKS4pNjMwIDI5MDAgeShXaXRob3V0KTQ1IGIgRnEoZXhwcik3CitiIEZ0KCwpNDYgYiBGcyhjYWxsZXIpZCBGdChkaXNwbGEpbSh5cyloKHRoZSlnKGxpbmUpZyhuKW0odW0pbShiKXMoZXIpZgorKGFuZClnKHNvdXJjZSloKFwwMTRsZW5hbWUpaChvZilmKHRoZSk2MzAgMzAxMCB5KGN1cnJlbiltKHQpMzUKK2Ioc3Vicm91dGluZSlmKGNhbGwuKTU2IGIoSWYpMzUgYihhKWgobm9uLW5lZ2F0aXYpbShlKWgoaW4pbSh0ZWdlcilnCisoaXMpZShzdXBwbGllZClmKGFzKWggRnEoZXhwcik3IGIgRnQoLCkzNiBiIEZzKGNhbGxlcik2MzAKKzMxMTkgeSBGdChkaXNwbGEpbSh5cyk0MSBiKHRoZSlmKGxpbmUpaChuKW0odW0pbShiKXMoZXIsKWgoc3Vicm91dGluZSlkCisobmFtZSwpNDQgYihhbmQpYyhzb3VyY2UpZyhcMDE0bGUpaChjb3JyZXNwKXMob25kaW5nKWUodG8pNjMwCiszMjI5IHkodGhhdCljKHApcyhvc2l0aW9uKWcoaW4pZih0aGUpaChjdXJyZW4pbSh0KWYoZXhlY3V0aW9uKWkoY2FsbClnCisoc3RhYyltKGsuKTU0IGIoVGhpcykzNCBiKGV4dHJhKWgoaW5mb3JtYXRpb24pZyhtYSltKHkpNjMwCiszMzM5IHkoYilzKGUpMzAgYih1c2VkLClnKGZvcilnKGV4YW1wbGUsKWgodG8pZyhwcmluKW0odClmKGEpaChzdGFjKW0KKyhrKWgodHJhY2UuKTQyIGIoVGhlKTI5IGIoY3VycmVuKW0odClpKGZyYW1lKWYoaXMpZyhmcmFtZSloKDAuKTYzMAorMzQ3MSB5KFRoZSllKHJldHVybilmKHYpLTUgYihhbHVlKTI5IGIoaXMpaCgwKWYodW5sZXNzKWcodGhlKWcoc2hlbGwpZworKGlzKWgobm90KWYoZXhlY3V0aW5nKWgoYSlnKHN1YnJvdXRpbmUpZShjYWxsKWkob3IpZworRnEoZXhwcik2MzAgMzU4MSB5IEZ0KGRvKXMoZXMpZyhub3QpaChjb3JyZXNwKXMob25kKWUodG8paShhKWcodiktNQorYihhbGlkKTMwIGIocClzKG9zaXRpb24paChpbilmKHRoZSlnKGNhbGwpaShzdGFjKW0oay4pMTUwCiszNzM3IHkgRnMoY29tbWFuZCk4NzAgMzg2OSB5KGNvbW1hbmQpNDYgYihbLXBWdl0pZyBGaShjb21tYW5kKTU2CitiIEZzKFspcCBGaShhcmd1bWVudHMpZyBGcyguLi4pbyhdKTYzMCA0MDAyIHkgRnQoUnVucykzMQorYiBGcShjb21tYW5kKTM2IGIgRnQod2l0aClkIEZxKGFyZ3VtZW4pbSh0cylqIEZ0KGlnbm9yaW5nKWQoYW4pbSh5KWcKKyhzaGVsbClnKGZ1bmN0aW9uKWYobmFtZWQpZyBGcShjb21tYW5kKXQgRnQoLik2MzAgNDExMQoreShPbmx5KTM5IGIoc2hlbGwpaShidWlsdGluKWUoY29tbWFuZHMpaChvcilnKGNvbW1hbmRzKWYoZm91bmQpZyhiKW0oeSkKK2goc2VhcmMpbShoaW5nKWgodGhlKWYgRnMoUEFUSClmIEZ0KGFyZSk2MzAgNDIyMSB5KGV4ZWN1dGVkLilnKElmKTIzCitiKHRoZXJlKWgoaXMpZihhKWgoc2hlbGwpZihmdW5jdGlvbilnKG5hbWVkKWcgRnMobHMpcAorRnQoLClpKHJ1bm5pbmcpYyhgKXAgRnMoY29tbWFuZCkyOSBiKGxzKXAgRnQoJykyMyBiKHdpdGhpbilnKHRoZSk2MzAKKzQzMzEgeShmdW5jdGlvbikzMyBiKHdpbGwpZyhleGVjdXRlKWkodGhlKWYoZXh0ZXJuYWwpZyhjb21tYW5kKWYKK0ZzKGxzKWYgRnQoaW5zdGVhZClpKG9mKWYoY2FsbGluZylpKHRoZSllKGZ1bmN0aW9uKTYzMAorNDQ0MCB5KHJlY3Vyc2l2KW0oZWx5KS04IGIoLik4NCBiKFRoZSk0NCBiKGApcCBGcygtcClwCitGdCgnKWgob3B0aW9uKWcobWVhbnMpZih0byloKHVzZSlnKGEpZihkZWZhdWx0KWgodiktNQorYihhbHVlKTQ1IGIoZm9yKWYgRnMoUEFUSClnIEZ0KHRoYXQpaChpcyk2MzAgNDU1MCB5KGd1YXJhbiltKHRlZWQpMzUKK2IodG8pZihcMDE0bmQpZShhbGwpaihvZilmKHRoZSlnKHN0YW5kYXJkKWYodXRpbGl0aWVzLik1MgorYihUaGUpMzMgYihyZXR1cm4pZyhzdGF0dXMpaChpbilmKHRoaXMpaChjYXNlKTYzMCA0NjU5Cit5KGlzKTI5IGIoMTI3KWcoaWYpZyBGcShjb21tYW5kKWogRnQoY2Fubm90KWQoYilzKGUpZShmb3VuZCloKG9yKWcoYW4pZworKGVycm9yKWgobylzKGNjdXJyZWQsKWYoYW5kKWcodGhlKWgoZXhpdClnKHN0YXR1cylnKG9mKTYzMAorNDc2OSB5IEZxKGNvbW1hbmQpMzQgYiBGdChvdGhlcndpc2UuKTYzMCA0OTAyIHkoSWYpMjUKK2IoZWl0aGVyKWcodGhlKWgoYClwIEZzKC1WKXAgRnQoJylmKG9yKWcoYClwIEZzKC12KXAKK0Z0KCcpZyhvcHRpb24pZyhpcylnKHN1cHBsaWVkLCloKGEpZihkZXNjcmlwdGlvbilnKG9mKWgKK0ZxKGNvbW1hbmQpaSBGdChpcylkKHByaW4pbSh0ZWQuKTYzMCA1MDExIHkoVGhlKWkoYClwCitGcygtdilwIEZ0KCcpaChvcHRpb24paChjYXVzZXMpZihhKWgoc2luZ2xlKWYodyltKG9yZClnKGluZGljYXRpbmcpaAorKHRoZSlmKGNvbW1hbmQpZyhvcilnKFwwMTRsZSlnKG5hbWUpZyh1c2VkKTYzMCA1MTIxIHkodG8pMzYKK2IoaW4pbSh2KW0ob2spbShlKWcgRnEoY29tbWFuZClqIEZ0KHRvKWMoYilzKGUpZyhkaXNwbGEpbSh5KW0oZWQ7KWoKKyh0aGUpZChgKXAgRnMoLVYpcCBGdCgnKWcob3B0aW9uKWcocHJvKXMoZHVjZXMpZShhKWoobW9yZSlmKHYpbShlcmIpcworKG9zZSk2MzAgNTIzMCB5KGRlc2NyaXB0aW9uLik2MSBiKEluKTM2IGIodGhpcyloKGNhc2UsKWoodGhlKWUocmV0dXJuKWUKKyhzdGF0dXMpaChpcylnKHplcm8paChpZilmIEZxKGNvbW1hbmQpayBGdChpcyljKGZvdW5kLCloKGFuZCk2MzAKKzUzNDAgeShub24temVybykzMSBiKGlmKWYobm90LilwIGVvcCBlbmQKICUlUGFnZTogNDYgNTIKIFRlWERpY3QgYmVnaW4gNDYgNTEgYm9wIDE1MCAtMTE2IGEgRnQoNDYpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShJZilnKHRoZXJlKWcoYXJlKWcobm8pZyhvcHRpb25zLCloKGEpCi1mKGxpc3QpaChvZilmKHRoZSlnKHNoZWxsKWcoYnVpbHRpbnMpZyhpcylnKGRpc3BsYSltKHkpbShlZC4pNDMKLWIoVGhlKTMxIGIoYClwIEZzKC1zKXAgRnQoJylmKG9wdGlvbik2MzAgNDA4IHkocmVzdHJpY3RzKWYKLUZzKGVuYWJsZSllIEZ0KHRvKWkodGhlKWYgRmwocG9zaXgpZyBGdChzcClzKGVjaWFsKWgoYnVpbHRpbnMuKTQwCi1iKElmKTI3IGIoYClwIEZzKC1zKXAgRnQoJylpKGlzKWYodXNlZClnKHdpdGgpZyhgKXAgRnMoLWYpcAotRnQoJywpaCh0aGUpZihuZXcpNjMwIDUxOCB5KGJ1aWx0aW4paShiKXMoZWNvbWVzKWgoYSlmKHNwKXMoZWNpYWwpaAotKGJ1aWx0aW4pZihcKHNlZSlpKFNlY3Rpb24pZig0LjQpZyhbU3ApcyhlY2lhbClnKEJ1aWx0aW5zXSwpZyhwYWdlKWcKLSg1OVwpLik2MzAgNjUwIHkoVGhlKTI2IGIocmV0dXJuKWYoc3RhdHVzKWgoaXMpZyh6ZXJvKWgodW5sZXNzKWUoYSlpCi1GcShuYW1lKWsgRnQoaXMpMjYgYihub3QpZyhhKWgoc2hlbGwpZihidWlsdGluKWcob3IpZyh0aGVyZSlnKGlzKWcoYW4pZwotKGVycm9yKTYzMCA3NjAgeShsb2FkaW5nKTMxIGIoYSlnKG5ldylmKGJ1aWx0aW4pZyhmcm9tKWcoYSlnKHNoYXJlZClnCi0ob2IpNSBiKGplY3QuKTE1MCA5MTUgeSBGcyhoZWxwKTg3MCAxMDQ3IHkoaGVscCk0NyBiKFstZG1zXSlmKFspcAotRmkocGF0dGVybikxMSBiIEZzKF0pNjMwIDExNzkgeSBGdChEaXNwbGEpbSh5KTQwIGIoaGVscGZ1bCllCi0oaW5mb3JtYXRpb24paChhYilzKG91dClnKGJ1aWx0aW4pZihjb21tYW5kcy4pNjYgYihJZikzOAotYiBGcShwYXR0ZXJuKWggRnQoaXMpZyhzcClzKGVjaVwwMTRlZCwpNjMwIDEyODggeSBGcyhoZWxwKTI4Ci1iIEZ0KGdpdiltKGVzKWkoZGV0YWlsZWQpZyhoZWxwKWUob24paChhbGwpaChjb21tYW5kcyllKG1hdGMpbShoaW5nKWkKLUZxKHBhdHRlcm4pcCBGdCgsKWcob3RoZXJ3aXNlKWYoYSlnKGxpc3QpaChvZik2MzAgMTM5OAoteSh0aGUpaChidWlsdGlucyllKGlzKWkocHJpbiltKHRlZC4pNjMwIDE1MzAgeShPcHRpb25zLClmKGlmKWgKLShzdXBwbGllZCwpZShoYSltKHYpbShlKWkodGhlKWcoZm9sbG8pbSh3aW5nKWgobWVhbmluZ3M6KTYzMAotMTY4NSB5IEZzKC1kKTM4NCBiIEZ0KERpc3BsYSltKHkpMzIgYihhKWUoc2hvcnQpZyhkZXNjcmlwdGlvbiloKG9mKWYKLShlYWMpbShoKWkgRnEocGF0dGVybik2MzAgMTg0MCB5IEZzKC1tKTM4NCBiIEZ0KERpc3BsYSltKHkpMzIKLWIodGhlKWUoZGVzY3JpcHRpb24pZyhvZiloKGVhYyltKGgpaCBGcShwYXR0ZXJuKWUgRnQoaW4pZyhhKWgKLShtYW5wYWdlLWxpayltKGUpaChmb3JtYXQpNjMwIDE5OTQgeSBGcygtcykzODQgYiBGdChEaXNwbGEpbSh5KTMyCi1iKG9ubHkpZShhKWgoc2hvcnQpZih1c2FnZSloKHN5bm9wc2lzKWUoZm9yKWkoZWFjKW0oaClnCi1GcShwYXR0ZXJuKTYzMCAyMTQ5IHkgRnQoVGhlKWYocmV0dXJuKWYoc3RhdHVzKWkoaXMpZih6ZXJvKWgodW5sZXNzKWYKLShubylnKGNvbW1hbmQpaChtYXRjKW0oaGVzKWcgRnEocGF0dGVybilwIEZ0KC4pMTUwIDIzMDQKLXkgRnMobGV0KTg3MCAyNDM2IHkobGV0KTQ3IGIgRmkoZXhwcmVzc2lvbik1NSBiIEZzKFspcAotRmkoZXhwcmVzc2lvbikxMSBiIEZzKF0pNjMwIDI1NjggeSBGdChUaGUpNDEgYiBGcyhsZXQpZwotRnQoYnVpbHRpbilnKGFsbG8pbSh3cylpKGFyaXRobWV0aWMpZih0byloKGIpcyhlKWQocClzKGVyZm9ybWVkKWcob24paQotKHNoZWxsKWcodiktNSBiKGFyaWFibGVzLik3NCBiKEVhYyltKGgpNjMwIDI2NzggeSBGcShleHByZXNzaW9uKTMxCi1iIEZ0KGlzKWcoZXYpLTUgYihhbHVhdGVkKTMyIGIoYWNjb3JkaW5nKWYodG8paCh0aGUpZihydWxlcylnKGdpdiltKGVuKQotaChiKXMoZWxvKW0odylmKGluKWYoU2VjdGlvbilpKDYuNSlnKFtTaGVsbCk2MzAgMjc4NwoteShBcml0aG1ldGljXSwpNTEgYihwYWdlKTQ2IGIoNzguKTg3IGIoSWYpNDUgYih0aGUpZyhsYXN0KWgKLUZxKGV4cHJlc3Npb24pZyBGdChldiktNSBiKGFsdWF0ZXMpNDcgYih0bylmKDAsKWsgRnMobGV0KTQ0Ci1iIEZ0KHJldHVybnMpZygxOyk2MzAgMjg5NyB5KG90aGVyd2lzZSkzMSBiKDApZyhpcylmKHJldHVybmVkLikxNTAKLTMwNTEgeSBGcyhsb2NhbCk4NzAgMzE4NCB5KGxvY2FsKTQ2IGIoWylwIEZpKG9wdGlvbikxMQotYiBGcyhdKTQ1IGIgRmkobmFtZSkxMSBiIEZzKFs9KXAgRmkodmFsdWUpZyBGcyhdKTQ0IGIoLi4uKTYzMAotMzMxNiB5IEZ0KEYpLTggYihvcikyNiBiKGVhYyltKGgpaChhcmd1bWVuKW0odCwpZyhhKWUobG8pcyhjYWwpaSh2KS01Ci1iKGFyaWFibGUpMjYgYihuYW1lZClmIEZxKG5hbWUpMzEgYiBGdChpcykyNSBiKGNyZWF0ZWQsKWooYW5kKWQKLShhc3NpZ25lZClnIEZxKHYpLTUgYihhbHVlKTUgYiBGdCguKTYzMCAzNDI1IHkoVGhlKTM3Ci1iIEZxKG9wdGlvbiloIEZ0KGNhbilmKGIpcyhlKWcoYW4pbSh5KWgob2YpZih0aGUpaChvcHRpb25zKWcoYWNjZXB0ZWQpZwotKGIpbSh5KWcgRnMoZGVjbGFyZSlwIEZ0KC4pNTkgYiBGcyhsb2NhbCkzNiBiIEZ0KGNhbilpKG9ubHkpNjMwCi0zNTM1IHkoYilzKGUpaih1c2VkKWgod2l0aGluKWYoYSlpKGZ1bmN0aW9uOyk0OCBiKGl0KTQyCi1iKG1hayltKGVzKWgodGhlKWYodiktNSBiKGFyaWFibGUpNDMgYiBGcShuYW1lKTQ4IGIgRnQoaGEpbSh2KW0oZSk0MwotYihhKWYodmlzaWJsZSloKHNjb3ApcyhlKTYzMCAzNjQ1IHkocmVzdHJpY3RlZCljKHRvKWcodGhhdClnKGZ1bmN0aW9uKWYKLShhbmQpZihpdHMpaShjKW0oaGlsZHJlbi4pNjQgYihUaGUpMzggYihyZXR1cm4pZihzdGF0dXMpaChpcyloKHplcm8pZwotKHVubGVzcyk2MzAgMzc1NCB5IEZzKGxvY2FsKWcgRnQoaXMpaCh1c2VkKWcob3V0c2lkZSlnKGEpaChmdW5jdGlvbiwpaAotKGFuKWUoaW4pbSh2KS01IGIoYWxpZCk0MSBiIEZxKG5hbWUpNDYgYiBGdChpcyk0MCBiKHN1cHBsaWVkLClpKG9yKWUKLUZxKG5hbWUpNDUgYiBGdChpcyljKGEpNjMwIDM4NjQgeShyZWFkb25seSkzMCBiKHYpLTUKLWIoYXJpYWJsZS4pMTUwIDQwMTggeSBGcyhsb2dvdXQpODcwIDQxNTEgeShsb2dvdXQpNDYKLWIoWylwIEZpKG4pMTEgYiBGcyhdKTYzMCA0MjgzIHkgRnQoRXhpdCkzMSBiKGEpZyhsb2dpbilnKHNoZWxsLClnCi0ocmV0dXJuaW5nKWUoYSlpKHN0YXR1cylnKG9mKWYgRnEobilnIEZ0KHRvKWgodGhlKWcoc2hlbGwncylmKHBhcmVuKW0KLSh0LikxNTAgNDQzNyB5IEZzKG1hcGZpbGUpODcwIDQ1NzAgeShtYXBmaWxlKTQ2IGIoWy1uKWgKLUZpKGNvdW50KTExIGIgRnMoXSk0NSBiKFstTylpIEZpKG9yaWdpbikxMSBiIEZzKF0pNDYKLWIoWy1zKWcgRmkoY291bnQpMTEgYiBGcyhdKTQ2IGIoWy10XSloKFstdSlnIEZpKGZkKTExCi1iIEZzKF0pNDYgYihbKTg3MCA0Njc5IHkoLUMpaCBGaShjYWxsYmFjaykxMSBiIEZzKF0pNDUKLWIoWy1jKWkgRmkocXVhbnR1bSkxMSBiIEZzKF0pNDUgYihbKXAgRmkoYXJyYXkpMTEgYiBGcyhdKTYzMAotNDgxMSB5IEZ0KFJlYWQpMzcgYihsaW5lcylnKGZyb20pZih0aGUpaChzdGFuZGFyZClmKGlucHV0KWcoaW4pbSh0byloCi0odGhlKWcoaW5kZXhlZClmKGFycmEpbSh5KWkodiktNSBiKGFyaWFibGUpMzcgYiBGcShhcnJhKW0oeSk4Ci1iIEZ0KCwpMzkgYihvcik2MzAgNDkyMSB5KGZyb20pYyhcMDE0bGUpaChkZXNjcmlwdG9yKWcKLUZxKGZkKWogRnQoaWYpZCh0aGUpZyhgKXAgRnMoLXUpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyhzdXBwbGllZC4pNTYKLWIoVGhlKTM1IGIodiktNSBiKGFyaWFibGUpMzcgYiBGcyhNQVBGSUxFKWQgRnQoaXMpNjMwCi01MDMxIHkodGhlKWQoZGVmYXVsdClmIEZxKGFycmEpbSh5KTggYiBGdCguKTQxIGIoT3B0aW9ucywpMzAKLWIoaWYpaChzdXBwbGllZCwpZShoYSltKHYpbShlKWoodGhlKWUoZm9sbG8pbSh3aW5nKWkobWVhbmluZ3M6KTYzMAotNTE4NSB5IEZzKC1uKTM4NCBiIEZ0KENvcCltKHkpMzAgYihhdCloKG1vc3QpZyBGcShjb3VuKW0odClpCi1GdChsaW5lcy4pNDEgYihJZikzMCBiIEZxKGNvdW4pbSh0KWogRnQoaXMpZCgwLCloKGFsbCloKGxpbmVzKWUoYXJlKWgKLShjb3BpZWQuKTYzMCA1MzQwIHkgRnMoLU8pMzg0IGIgRnQoQmVnaW4pMzEgYihhc3NpZ25pbmcpZyh0bylnCi1GcShhcnJhKW0oeSkzOSBiIEZ0KGF0KTMxIGIoaW5kZXgpZiBGcShvcmlnaW4pcCBGdCguKTQxCi1iKFRoZSkzMCBiKGRlZmF1bHQpaChpbmRleClmKGlzKWcoMC4pcCBlb3AgZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoZGVjbGFyZSk4NzAgNDM5Cit5KGRlY2xhcmUpNDYgYihbLWFBZkZpbHJ0dXhdKWUoWy1wXSlqKFspcCBGaShuYW1lKTExCitiIEZzKFs9KXAgRmkodmFsdWUpZyBGcyhdKTQzIGIoLi4uKW8oXSk2MzAgNTc5IHkgRnQoRGVjbGFyZSkyOQorYih2KS01IGIoYXJpYWJsZXMpMjggYihhbmQpZShnaXYpbShlKWoodGhlbSllKGF0dHJpYnV0ZXMuKTQwCitiKElmKTI3IGIobm8pZyBGcShuYW1lKTUgYiBGdChzKTI3IGIoYXJlKWgoZ2l2KW0oZW4sKWgodGhlbillKGRpc3BsYSltCisoeSk2MzAgNjg5IHkodGhlKWsodiktNSBiKGFsdWVzKTMwIGIob2YpaCh2KS01IGIoYXJpYWJsZXMpMzEKK2IoaW5zdGVhZC4pNjMwIDgyOSB5KFRoZSljKGApcCBGcygtcClwIEZ0KCcpaChvcHRpb24pZyh3aWxsKWcoZGlzcGxhKW0KKyh5KWcodGhlKWcoYXR0cmlidXRlcylnKGFuZClnKHYpLTUgYihhbHVlcykyOCBiKG9mKWcoZWFjKW0oaCloCitGcShuYW1lKTUgYiBGdCguKTQwIGIoV2hlbikyNyBiKGApcCBGcygtcClwIEZ0KCcpNjMwCis5MzkgeShpcylqKHVzZWQpZyh3aXRoKWcgRnEobmFtZSkzNiBiIEZ0KGFyZ3VtZW4pbSh0cywpMzEKK2IoYWRkaXRpb25hbClnKG9wdGlvbnMpZihhcmUpaChpZ25vcmVkLik2MzAgMTA3OSB5KFdoZW4pMzYKK2IoYClwIEZzKC1wKXAgRnQoJylmKGlzKWgoc3VwcGxpZWQpZih3aXRob3V0KWggRnEobmFtZSk0MQorYiBGdChhcmd1bWVuKW0odHMsKWQgRnMoZGVjbGFyZSljIEZ0KHdpbGwpaShkaXNwbGEpbSh5KWcodGhlKWcoYXQtKTYzMAorMTE4OSB5KHRyaWJ1dGVzKTMxIGIoYW5kKWYodiktNSBiKGFsdWVzKTMxIGIob2YpZyhhbGwpaCh2KS01CitiKGFyaWFibGVzKTMxIGIoaGEpbSh2aW5nKWgodGhlKWYoYXR0cmlidXRlcylnKHNwKXMoZWNpXDAxNGVkKWYoYiltKHkpaAorKHRoZSlnKGFkZGktKTYzMCAxMjk4IHkodGlvbmFsKWgob3B0aW9ucy4pNDEgYihJZikzMAorYihubylnKG90aGVyKWgob3B0aW9ucylnKGFyZSlnKHN1cHBsaWVkKWUod2l0aCloKGApcAorRnMoLXApcCBGdCgnLClnIEZzKGRlY2xhcmUpZiBGdCh3aWxsKWkoZGlzcGxhKW0oeSk2MzAKKzE0MDggeSh0aGUpZihhdHRyaWJ1dGVzKWcoYW5kKWUodiktNSBiKGFsdWVzKTMwIGIob2YpZyhhbGwpZyhzaGVsbClnKHYpCistNSBiKGFyaWFibGVzLik0MSBiKFRoZSkyOSBiKGApcCBGcygtZilwIEZ0KCcpZyhvcHRpb24paCh3aWxsKWcKKyhyZXN0cmljdClnKHRoZSk2MzAgMTUxOCB5KGRpc3BsYSltKHkpaCh0bylnKHNoZWxsKWYoZnVuY3Rpb25zLik2MzAKKzE2NTggeShUaGUpMzYgYihgKXAgRnMoLUYpcCBGdCgnKWgob3B0aW9uKWcoaW5oaWJpdHMpZih0aGUpaChkaXNwbGEpbQorKHkpZyhvZilnKGZ1bmN0aW9uKWcoZGVcMDE0bml0aW9uczspaShvbmx5KWUodGhlKWcoZnVuY3Rpb24pNjMwCisxNzY3IHkobmFtZSkzMCBiKGFuZClmKGF0dHJpYnV0ZXMpaShhcmUpZihwcmluKW0odGVkLik0MAorYihJZikzMCBiKHRoZSlnIEZzKGV4dGRlYnVnKWUgRnQoc2hlbGwpaShvcHRpb24pZyhpcylnKGVuYWJsZWQpZyh1c2luZykKKzYzMCAxODc3IHkgRnMoc2hvcHQpMjQgYiBGdChcKHNlZSlpKFNlY3Rpb24pZyg0LjMuMilpKFtUaGUpZChTaG9wdClmCisoQnVpbHRpbl0sKWsocGFnZSllKDU3XCksKWkodGhlKWQoc291cmNlKWgoXDAxNGxlKWYobmFtZSloKGFuZCk2MzAKKzE5ODcgeShsaW5lKTM4IGIobiltKHVtKW0oYilzKGVyKWUod2hlcmUpaSh0aGUpZyhmdW5jdGlvbilmKGlzKWgKKyhkZVwwMTRuZWQpZShhcmUpaShkaXNwbGEpbSh5KW0oZWQpaChhcyllKHcpbShlbGwuKTY0CitiKGApcCBGcygtRilwIEZ0KCcpMzggYihpbXBsaWVzKTYzMCAyMDk2IHkoYClwIEZzKC1mKXAKK0Z0KCcuKTYzMCAyMjM2IHkoVGhlKTMyIGIoYClwIEZzKC1nKXAgRnQoJyloKG9wdGlvbilnKGZvcmNlcylnKHYpLTUKK2IoYXJpYWJsZXMpMzMgYih0byloKGIpcyhlKWUoY3JlYXRlZCloKG9yKWcobW8pcyhkaVwwMTRlZCllKGF0KWoodGhlKWYKKyhnbG9iYWwpaChzY29wKXMoZSwpNjMwIDIzNDYgeShldiltKGVuKTM5IGIod2hlbilmIEZzKFxcKXAKK0Z0KGZCZGVjbGFyZSlwIEZzKFxcKXAgRnQoZlApaChpcylnKGV4ZWN1dGVkKWgoaW4pZShhKWgoc2hlbGwpZworKGZ1bmN0aW9uLik2NiBiKEl0KTM5IGIoaXMpZyhpZ25vcmVkKWcoaW4pZihhbGwpNjMwIDI0NTYKK3kob3RoZXIpMzEgYihjYXNlcy4pNjMwIDI1OTYgeShUaGUpYyhmb2xsbyltKHdpbmcpaChvcHRpb25zKWcoY2FuKWYoYilzCisoZSlnKHVzZWQpZih0bylpKHJlc3RyaWN0KWcob3V0cHV0KWUodG8paSh2KS01IGIoYXJpYWJsZXMpMjgKK2Iod2l0aClmKHRoZSlnKHNwKXMoZWMtKTYzMCAyNzA1IHkoaVwwMTRlZClqKGF0dHJpYnV0ZXMpaChvcilmKHRvKWgKKyhnaXYpbShlKWgodiktNSBiKGFyaWFibGVzKTMxIGIoYXR0cmlidXRlczopNjMwIDI4NzYKK3kgRnMoLWEpMzg0IGIgRnQoRWFjKW0oaCkzNiBiIEZxKG5hbWUpayBGdChpcykzNCBiKGFuKWgoaW5kZXhlZClnKGFycmEpCittKHkpZyh2KS01IGIoYXJpYWJsZSkzNiBiKFwoc2VlKWYoU2VjdGlvbiloKDYuNylnKFtBcnJhKW0oeXNdLCkxMTEwCisyOTg2IHkocGFnZSkzMSBiKDgyXCkuKTYzMCAzMTU3IHkgRnMoLUEpMzg0IGIgRnQoRWFjKW0oaCkyNAorYiBGcShuYW1lKWsgRnQoaXMpMjMgYihhbilnKGFzc28pcyhjaWF0aXYpbShlKWooYXJyYSltKHkpZSh2KS01CitiKGFyaWFibGUpMjQgYihcKHNlZSlnKFNlY3Rpb24pZyg2LjcpZyhbQXJyYSltKHlzXSwpMTExMAorMzI2NyB5KHBhZ2UpMzEgYig4MlwpLik2MzAgMzQzOCB5IEZzKC1mKTM4NCBiIEZ0KFVzZSkzMQorYihmdW5jdGlvbilmKG5hbWVzKWcob25seSktOCBiKC4pNjMwIDM2MDggeSBGcygtaSkzODQKK2IgRnQoVGhlKTM2IGIodiktNSBiKGFyaWFibGUpMzcgYihpcylmKHRvKWgoYilzKGUpZih0cmVhdGVkKWgoYXMpZyhhbilmCisoaW4pbSh0ZWdlcjspNDEgYihhcml0aG1ldGljKWMoZXYpLTUgYihhbHVhdGlvbikxMTEwCiszNzE4IHkoXChzZWUpMjkgYihTZWN0aW9uKWYoNi41KWgoW1NoZWxsKWYoQXJpdGhtZXRpY10sKWkocGFnZSllKDgwXCkpaAorKGlzKWYocClzKGVyZm9ybWVkKWUod2hlbiloKHRoZSkxMTEwIDM4MjggeSh2KS01IGIoYXJpYWJsZSkzMQorYihpcylnKGFzc2lnbmVkKWYoYSloKHYpLTUgYihhbHVlLik2MzAgMzk5OSB5IEZzKC1sKTM4NAorYiBGdChXaGVuKTI2IGIodGhlKWcodiktNSBiKGFyaWFibGUpMjcgYihpcylmKGFzc2lnbmVkKWcoYSlnKHYpLTUKK2IoYWx1ZSwpMjggYihhbGwpZih1cHApcyhlci1jYXNlKWUoYyltKGhhcmFjdGVycylqKGFyZSkxMTEwCis0MTA4IHkoY29uKW0odiltKGVydGVkKWsodG8pZihsbyltKHcpbShlci1jYXNlLik0MyBiKFRoZSkzMAorYih1cHApcyhlci1jYXNlKWcoYXR0cmlidXRlKWgoaXMpZyhkaXNhYmxlZC4pNjMwIDQyNzkKK3kgRnMoLXIpMzg0IGIgRnQoTWFrKW0oZSkyNSBiIEZxKG5hbWUpNSBiIEZ0KHMpMjMgYihyZWFkb25seSktOAorYiguKTM5IGIoVGhlc2UpMjQgYihuYW1lcylmKGNhbm5vdCloKHRoZW4pZihiKXMoZSlnKGFzc2lnbmVkKWgodiktNQorYihhbHVlcykxMTEwIDQzODkgeShiKW0oeSkzMCBiKHN1YnNlcXVlbiltKHQpZyhhc3NpZ25tZW4pbSh0KWgKKyhzdGF0ZW1lbiltKHRzKWgob3IpZih1bnNldC4pNjMwIDQ1NjAgeSBGcygtdCkzODQgYiBGdChHaXYpbShlKTMzCitiKGVhYyltKGgpaCBGcShuYW1lKWogRnQodGhlKTMyIGIgRnModHJhY2UpZiBGdChhdHRyaWJ1dGUuKTQ2CitiKFQpLTggYihyYWNlZCkzMiBiKGZ1bmN0aW9ucylnKGluaGVyaXQpZyh0aGUpMTExMCA0NjY5Cit5IEZzKERFQlVHKTI2IGIgRnQoYW5kKWggRnMoUkVUVVJOKWYgRnQodHJhcHMpaChmcm9tKWcodGhlKWgoY2FsbGluZyloCisoc2hlbGwuKTQwIGIoVGhlKTI3IGIodHJhY2UpaShhdHRyaWJ1dGUpMTExMCA0Nzc5IHkoaGFzKWgobm8pZyhzcClzCisoZWNpYWwpaChtZWFuaW5nKWcoZm9yKWYodiktNSBiKGFyaWFibGVzLik2MzAgNDk1MCB5CitGcygtdSkzODQgYiBGdChXaGVuKTI4IGIodGhlKWgodiktNSBiKGFyaWFibGUpMjkgYihpcylmKGFzc2lnbmVkKWgoYSlmCisodiktNSBiKGFsdWUsKTMwIGIoYWxsKWYobG8pbSh3KW0oZXItY2FzZSlpKGMpbShoYXJhY3RlcnMpZihhcmUpMTExMAorNTA1OSB5KGNvbiltKHYpbShlcnRlZClpKHRvKWYodXBwKXMoZXItY2FzZS4pNDAgYihUaGUpMzAKK2IobG8pbSh3KW0oZXItY2FzZSlqKGF0dHJpYnV0ZSllKGlzKWcoZGlzYWJsZWQuKTYzMCA1MjMwCit5IEZzKC14KTM4NCBiIEZ0KE1hcmspMzAgYihlYWMpbShoKWggRnEobmFtZSlrIEZ0KGZvcikyOQorYihleHApcyhvcnQpaCh0bylnKHN1YnNlcXVlbiltKHQpZihjb21tYW5kcyloKHZpYSlnKHRoZSlnKGVuKW0odmktKTExMTAKKzUzNDAgeShyb25tZW4pbSh0LilwIGVvcCBlbmQKICUlUGFnZTogNDcgNTMKIFRlWERpY3QgYmVnaW4gNDcgNTIgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDQ6KTQxCi1iKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig0Nyk2MzAgMjk5IHkgRnMoLXMpMzg0CitiKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig0Nyk2MzAgMjk5IHkoVXNpbmcpMjgKK2IoYClwIEZzKCspcCBGdCgnKWgoaW5zdGVhZClmKG9mKWcoYClwIEZzKC0pcCBGdCgnKWcodHVybnMpZihvXDAxMylpCisodGhlKWYoYXR0cmlidXRlKWgoaW5zdGVhZCwpZyh3aXRoKWYodGhlKWcoZXhjZXB0aW9ucyloKHRoYXQpNjMwCis0MDggeShgKXAgRnMoK2EpcCBGdCgnKWgobWEpbSh5KWgobm90KWYoYilzKGUpZih1c2VkKWcodG8paShkZXN0cm8pbSh5KQorZyhhbilmKGFycmEpbSh5KWcodiktNSBiKGFyaWFibGUpMzEgYihhbmQpZihgKXAgRnMoK3IpcAorRnQoJylnKHdpbGwpZyhub3QpZyhyZW1vKW0odiltKGUpaSh0aGUpNjMwIDUxOCB5KHJlYWRvbmx5KWUoYXR0cmlidXRlLikKKzQxIGIoV2hlbikzMCBiKHVzZWQpZihpbilnKGEpaChmdW5jdGlvbiwpZyBGcyhkZWNsYXJlKWUKK0Z0KG1hayltKGVzKWooZWFjKW0oaClmIEZxKG5hbWUpMzUgYiBGdChsbylzKGNhbCwpNjMwCis2MjggeShhcykzMCBiKHdpdGgpZyh0aGUpaCBGcyhsb2NhbCllIEZ0KGNvbW1hbmQsKWgodW5sZXNzKWYodGhlKWkoYClwCitGcygtZylwIEZ0KCcpZihvcHRpb24pZyhpcyloKHVzZWQuKTQwIGIoSWYpMjkgYihhKWkodiktNQorYihhcmlhYmxlKTMxIGIobmFtZSk2MzAgNzM3IHkoaXMpZihmb2xsbyltKHcpbShlZClpKGIpbSh5KWYoPSlwCitGcSh2KS01IGIoYWx1ZSk1IGIgRnQoLCkzMSBiKHRoZSlmKHYpLTUgYihhbHVlKTMxIGIob2YpZyh0aGUpZih2KS01CitiKGFyaWFibGUpMzEgYihpcylnKHNldClnKHRvKWcgRnEodiktNSBiKGFsdWUpNSBiIEZ0KC4pNjMwCis4NjcgeShUaGUpMzUgYihyZXR1cm4pZihzdGF0dXMpaShpcylnKHplcm8pZyh1bmxlc3MpZihhbilnKGluKW0odiktNQorYihhbGlkKTM2IGIob3B0aW9uKWcoaXMpZyhlbmNvdW4pbSh0ZXJlZCwpaChhbilmKGF0dGVtcHQpNjMwCis5NzcgeShpcyljKG1hZGUpZyh0bylnKGRlXDAxNG5lKWYoYSloKGZ1bmN0aW9uKWcodXNpbmcpZihgKXAKK0ZzKC1mKWYoZm9vPWJhcilwIEZ0KCcsKWgoYW4paChhdHRlbXB0KWcoaXMpZyhtYWRlKWcodG8paChhc3NpZ24pNjMwCisxMDg3IHkoYSk0MiBiKHYpLTUgYihhbHVlKTQzIGIodG8pZyhhKWYocmVhZG9ubHkpZyh2KS01CitiKGFyaWFibGUsKTQ3IGIoYW4pNDIgYihhdHRlbXB0KWgoaXMpZihtYWRlKWcodG8paChhc3NpZ24pZihhKWgodiktNQorYihhbHVlKTQyIGIodG8paChhbik2MzAgMTE5NiB5KGFycmEpbSh5KTMwIGIodiktNSBiKGFyaWFibGUpMzAKK2Iod2l0aG91dClnKHVzaW5nKWUodGhlKWkoY29tcClzKG91bmQpZShhc3NpZ25tZW4pbSh0KWkoc3luKW0odGF4KWcKKyhcKHNlZSloKFNlY3Rpb24pZig2LjcpNjMwIDEzMDYgeShbQXJyYSltKHlzXSwpNDcgYihwYWdlKWMoODJcKSwpNDgKK2Iob25lKTQzIGIob2YpZyh0aGUpZyBGcShuYW1lcylrIEZ0KGlzKWMobm90KWcoYSlnKHYpLTUKK2IoYWxpZCk0MyBiKHNoZWxsKWcodiktNSBiKGFyaWFibGUpNDQgYihuYW1lLClpKGFuKTYzMAorMTQxNSB5KGF0dGVtcHQpMjggYihpcylmKG1hZGUpaCh0bylmKHR1cm4pZihvXDAxMylpKHJlYWRvbmx5KWYoc3RhdHVzKWcKKyhmb3IpZyhhKWgocmVhZG9ubHkpZih2KS01IGIoYXJpYWJsZSwpMjkgYihhbillKGF0dGVtcHQpNjMwCisxNTI1IHkoaXMpaChtYWRlKWgodG8pZyh0dXJuKWUob1wwMTMpaShhcnJhKW0oeSlmKHN0YXR1cyloKGZvcilmKGFuKWcKKyhhcnJhKW0oeSloKHYpLTUgYihhcmlhYmxlLCkzMCBiKG9yKWUoYW4pZyhhdHRlbXB0KWkoaXMpZShtYWRlKWcodG8pNjMwCisxNjM0IHkoZGlzcGxhKW0oeSlqKGEpZihub24tZXhpc3RlbiltKHQpaShmdW5jdGlvbillKHdpdGgpZyhgKXAKK0ZzKC1mKXAgRnQoJy4pMTUwIDE3ODUgeSBGcyhlY2hvKTg3MCAxOTE1IHkoZWNobyk0NyBiKFstbmVFXSlmKFspcAorRmkoYXJnKTU3IGIgRnMoLi4uKW8oXSk2MzAgMjA0NSB5IEZ0KE91dHB1dCkzMSBiKHRoZSlpCitGcShhcmcpOCBiIEZ0KHMsKTMzIGIoc2VwYXJhdGVkKWcoYiltKHkpZyhzcGFjZXMsKWcodGVybWluYXRlZClnKHdpdGgpZgorKGEpaChuZXdsaW5lLik0NyBiKFRoZSkzMiBiKHJldHVybik2MzAgMjE1NSB5KHN0YXR1cyk0MAorYihpcylnKGFsdyltKGEpbSh5cyloKDAuKTY5IGIoSWYpMzkgYihgKXAgRnMoLW4pcCBGdCgnKWgoaXMpZihzcClzCisoZWNpXDAxNGVkLClqKHRoZSllKHRyYWlsaW5nKWgobmV3bGluZSllKGlzKWgoc3VwcHJlc3NlZC4pNjYKK2IoSWYpNjMwIDIyNjUgeSh0aGUpMjkgYihgKXAgRnMoLWUpcCBGdCgnKWcob3B0aW9uKWcoaXMpaChnaXYpbShlbiwpZworKGluKW0odGVycHJldGF0aW9uKWcob2YpZyh0aGUpZihmb2xsbyltKHdpbmcpaChiYWMpbShrc2xhc2gtZXNjYXApcyhlZCkKK2coYyltKGhhci0pNjMwIDIzNzQgeShhY3RlcnMpMzggYihpcylmKGVuYWJsZWQuKTYwIGIoVGhlKTM2CitiKGApcCBGcygtRSlwIEZ0KCcpaChvcHRpb24pZyhkaXNhYmxlcylnKHRoZSlnKGluKW0odGVycHJldGF0aW9uKWgob2YpZgorKHRoZXNlKWcoZXNjYXApcyhlKTYzMCAyNDg0IHkoYyltKGhhcmFjdGVycywpaChldiltKGVuKWQob24pZyhzeXN0ZW1zKWcKKyh3aGVyZSlmKHRoZXkpaChhcmUpZyhpbiltKHRlcnByZXRlZCloKGIpbSh5KWUoZGVmYXVsdC4pNTUKK2IoVGhlKTM0IGIgRnMoeHBnXyk2MzAgMjU5MyB5KGVjaG8pZCBGdChzaGVsbCloKG9wdGlvbiloKG1hKW0oeSlnKGIpcworKGUpZSh1c2VkKWgodG8paChkeW5hbWljYWxseSlnKGRldGVybWluZSlmKHdoZXRoZXIpZihvcilpKG5vdClmCitGcyhlY2hvKTYzMCAyNzAzIHkgRnQoZXhwYW5kcykzOSBiKHRoZXNlKWkoZXNjYXApcyhlKWcoYyltKGhhcmFjdGVycylnCisoYiltKHkpZyhkZWZhdWx0Lik3MCBiIEZzKGVjaG8pMzkgYiBGdChkbylzKGVzKWgobm90KWcoaW4pbSh0ZXJwcmV0KWgKKyhgKXAgRnMoLS0pcCBGdCgnKWYodG8pNjMwIDI4MTMgeShtZWFuKTMwIGIodGhlKWgoZW5kKWYob2YpZyhvcHRpb25zLikKKzYzMCAyOTQzIHkgRnMoZWNobylmIEZ0KGluKW0odGVycHJldHMpaSh0aGUpZihmb2xsbyltKHdpbmcpaShlc2NhcClzKGUpCitmKHNlcXVlbmNlczopNjMwIDMwOTMgeSBGcyhcXGEpMzg0IGIgRnQoYWxlcnQpMzEgYihcKGIpcyhlbGxcKSk2MzAKKzMyNDQgeSBGcyhcXGIpMzg0IGIgRnQoYmFjKW0oa3NwYWNlKTYzMCAzMzk1IHkgRnMoXFxjKWcKK0Z0KHN1cHByZXNzKTI4IGIoZnVydGhlciloKG91dHB1dCk2MzAgMzU0NSB5IEZzKFxcZSk2MzAKKzM2NTUgeShcXEUpMzg0IGIgRnQoZXNjYXApcyhlKTYzMCAzODA2IHkgRnMoXFxmKWcgRnQoZm9ybSkzMAorYihmZWVkKTYzMCAzOTU2IHkgRnMoXFxuKTM4NCBiIEZ0KG5ldykzMCBiKGxpbmUpNjMwIDQxMDcKK3kgRnMoXFxyKTM4NCBiIEZ0KGNhcnJpYWdlKTMyIGIocmV0dXJuKTYzMCA0MjU4IHkgRnMoXFx0KTM4NAorYiBGdChob3Jpem9uKW0odGFsKTMyIGIodGFiKTYzMCA0NDA4IHkgRnMoXFx2KTM4NCBiIEZ0KHYpbShlcnRpY2FsKTMyCitiKHRhYik2MzAgNDU1OSB5IEZzKFxcXFwpMzg0IGIgRnQoYmFjKW0oa3NsYXNoKTYzMCA0NzEwCit5IEZzKFxcMClwIEZpKG5ubikyNDAgYiBGdCh0aGUpMzIgYihlaWdoKW0odC1iaXQpaShjKW0oaGFyYWN0ZXIpZworKHdob3NlKWUodiktNSBiKGFsdWUpMzMgYihpcylmKHRoZSlnKG8pcyhjdGFsKWkodiktNQorYihhbHVlKTMyIGIgRnEobm5uKWYgRnQoXCh6ZXJvKWkodG8pMTExMCA0ODE5IHkodGhyZWUpZShvKXMoY3RhbClnCisoZGlnaXRzXCkpNjMwIDQ5NzAgeSBGcyhcXHgpcCBGaShISCkyODggYiBGdCh0aGUpNDAgYihlaWdoKW0odC1iaXQpaChjKQorbShoYXJhY3RlcilnKHdob3NlKWUodiktNSBiKGFsdWUpMzkgYihpcyloKHRoZSlmKGhleGFkZWNpbWFsKWkodiktNQorYihhbHVlKTQwIGIgRnEoSEgpMTExMCA1MDgwIHkgRnQoXChvbmUpMzEgYihvcilmKHQpbSh3KW0obylpKGhleCllCisoZGlnaXRzXCkpNjMwIDUyMzAgeSBGcyhcXHUpcCBGaShISEhIKTE5MiBiIEZ0KHRoZSk0MQorYihVbmljbylzKGRlKWcoXChJU08vSUVDKWYoMTA2NDZcKSlqKGMpbShoYXJhY3RlcilnKHdob3NlKWUodiktNQorYihhbHVlKTQxIGIoaXMpZyh0aGUpZyhoZXgtKTExMTAgNTM0MCB5KGFkZWNpbWFsKTMyIGIodiktNQorYihhbHVlKTMxIGIgRnEoSEhISCk0MSBiIEZ0KFwob25lKTMxIGIodG8pZyhmb3VyKWUoaGV4KWgoZGlnaXRzXCkpcAorZW9wIGVuZAorJSVQYWdlOiA0OCA1NAorVGVYRGljdCBiZWdpbiA0OCA1MyBib3AgMTUwIC0xMTYgYSBGdCg0OCkyNTcyIGIoQmFzaCkzMQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKFxcVSlwIEZpKEhISEhISEhIKTExMTAKKzQwOCB5IEZ0KHRoZSk0MSBiKFVuaWNvKXMoZGUpZyhcKElTTy9JRUMpZigxMDY0NlwpKWooYyltKGhhcmFjdGVyKWcKKyh3aG9zZSllKHYpLTUgYihhbHVlKTQxIGIoaXMpZyh0aGUpZyhoZXgtKTExMTAgNTE4IHkoYWRlY2ltYWwpMzIKK2IodiktNSBiKGFsdWUpMzEgYiBGcShISEhISEhISCk0MSBiIEZ0KFwob25lKTMxIGIodG8pZyhlaWdoKW0odCloKGhleCllCisoZGlnaXRzXCkpMTUwIDY4NCB5IEZzKGVuYWJsZSk4NzAgODIyIHkoZW5hYmxlKTQ2IGIoWy1hXSloKFstZG5wc10pZgorKFstZilnIEZpKGZpbGVuYW1lKTExIGIgRnMoXSk0NSBiKFspcCBGaShuYW1lKTU3IGIgRnMoLi4uKW8oXSk2MzAKKzk2MCB5IEZ0KEVuYWJsZSkzNiBiKGFuZClmKGRpc2FibGUpaChidWlsdGluKWcoc2hlbGwpZyhjb21tYW5kcy4pNTYKK2IoRGlzYWJsaW5nKTM3IGIoYSlnKGJ1aWx0aW4pZShhbGxvKW0od3MpaShhKWYoZGlzayk2MzAKKzEwNzAgeShjb21tYW5kKWUod2hpYyltKGgpZyhoYXMpZyh0aGUpZyhzYW1lKWgobmFtZSlmKGFzKWgoYSlmKHNoZWxsKWgKKyhidWlsdGluKWUodG8paShiKXMoZSlmKGV4ZWN1dGVkKWgod2l0aG91dCk2MzAgMTE4MCB5KHNwKXMoZWNpZnlpbmcpMjcKK2IoYSlnKGZ1bGwpZyhwYXRobmFtZSwpZyhldiltKGVuKWgodGhvdWdoKWYodGhlKWcoc2hlbGwpZyhub3JtYWxseSlnCisoc2VhcmMpbShoZXMpaChmb3IpZihidWlsdGlucyk2MzAgMTI4OSB5KGIpcyhlZm9yZSkzMgorYihkaXNrKWYoY29tbWFuZHMuKTQ2IGIoSWYpMzEgYihgKXAgRnMoLW4pcCBGdCgnKWgoaXMpZyh1c2VkLClnKHRoZSlnCitGcShuYW1lKTUgYiBGdChzKTMyIGIoYilzKGVjb21lKWgoZGlzYWJsZWQuKTQ1IGIoT3RoZXJ3aXNlKTYzMAorMTM5OSB5IEZxKG5hbWUpNSBiIEZ0KHMpNDQgYihhcmUpaChlbmFibGVkLik4MiBiKEYpLTgKK2Iob3IpNDUgYihleGFtcGxlLClrKHRvKWModXNlKWYodGhlKWcgRnModGVzdClmIEZ0KGJpbmFyeSloKGZvdW5kKWYKKyh2aWEpaCBGcygkUEFUSCk2MzAgMTUwOCB5IEZ0KGluc3RlYWQpMzEgYihvZilmKHRoZSloKHNoZWxsKWYoYnVpbHRpbilnCisodiltKGVyc2lvbiwpaCh0KW0oeXApcyhlKWcoYClwIEZzKGVuYWJsZSllKC1uKWgodGVzdClwCitGdCgnLik2MzAgMTY0NiB5KElmKTQyIGIodGhlKWgoYClwIEZzKC1wKXAgRnQoJylmKG9wdGlvbiloKGlzKWYKKyhzdXBwbGllZCwpaihvcilkKG5vKWggRnEobmFtZSlrIEZ0KGFyZ3VtZW4pbSh0cyljKGFwcClzKGVhciwpaShhKWUKKyhsaXN0KWcob2YpZyhzaGVsbCk2MzAgMTc1NiB5KGJ1aWx0aW5zKTM3IGIoaXMpaChwcmluKW0odGVkLik2MworYihXaXRoKTM4IGIobm8pZihvdGhlciloKGFyZ3VtZW4pbSh0cywpaih0aGUpZChsaXN0KWcoY29uc2lzdHMpZyhvZilnCisoYWxsKWgoZW5hYmxlZCk2MzAgMTg2NiB5KHNoZWxsKTMzIGIoYnVpbHRpbnMuKTQ2IGIoVGhlKTMyCitiKGApcCBGcygtYSlwIEZ0KCcpaChvcHRpb24pZyhtZWFucylmKHRvKWkobGlzdClmKGVhYyltKGgpaChidWlsdGluKWUKKyh3aXRoKWcoYW4pZyhpbmRpY2F0aW9uKWkob2YpNjMwIDE5NzUgeSh3aGV0aGVyKWMob3IpZyhub3QpaChpdClnKGlzKWYKKyhlbmFibGVkLik2MzAgMjExMyB5KFRoZSk0MCBiKGApcCBGcygtZilwIEZ0KCcpZyhvcHRpb24pZyhtZWFucylnKHRvKWgKKyhsb2FkKWcodGhlKWYobmV3KWYoYnVpbHRpbiloKGNvbW1hbmQpZyBGcShuYW1lKTQ1IGIKK0Z0KGZyb20pNDAgYihzaGFyZWQpNjMwIDIyMjMgeShvYik1IGIoamVjdCkyNiBiIEZxKFwwMTRsZW5hbWUpNQorYiBGdCgsKTI4IGIob24pZChzeXN0ZW1zKWgodGhhdClnKHN1cHApcyhvcnQpZShkeW5hbWljKWgobG9hZGluZy4pNDAKK2IoVGhlKTI1IGIoYClwIEZzKC1kKXAgRnQoJyloKG9wdGlvbilnKHdpbGwpNjMwIDIzMzIKK3koZGVsZXRlKTMyIGIoYSllKGJ1aWx0aW4pZyhsb2FkZWQpaCh3aXRoKWYoYClwIEZzKC1mKXAKK0Z0KCcuKTYzMCAyNDcwIHkoSWYpaCh0aGVyZSlnKGFyZSlnKG5vKWcob3B0aW9ucywpaChhKWYobGlzdCloKG9mKWYKKyh0aGUpZyhzaGVsbClnKGJ1aWx0aW5zKWcoaXMpZyhkaXNwbGEpbSh5KW0oZWQuKTQzIGIoVGhlKTMxCitiKGApcCBGcygtcylwIEZ0KCcpZihvcHRpb24pNjMwIDI1ODAgeShyZXN0cmljdHMpZiBGcyhlbmFibGUpZQorRnQodG8paSh0aGUpZiBGbChwb3NpeClnIEZ0KHNwKXMoZWNpYWwpaChidWlsdGlucy4pNDAKK2IoSWYpMjcgYihgKXAgRnMoLXMpcCBGdCgnKWkoaXMpZih1c2VkKWcod2l0aClnKGApcCBGcygtZilwCitGdCgnLCloKHRoZSlmKG5ldyk2MzAgMjY5MCB5KGJ1aWx0aW4paShiKXMoZWNvbWVzKWgoYSlmKHNwKXMoZWNpYWwpaAorKGJ1aWx0aW4pZihcKHNlZSlpKFNlY3Rpb24pZig0LjQpZyhbU3ApcyhlY2lhbClnKEJ1aWx0aW5zXSwpZyhwYWdlKWcKKyg2MlwpLik2MzAgMjgyOCB5KFRoZSkyNiBiKHJldHVybilmKHN0YXR1cyloKGlzKWcoemVybyloKHVubGVzcyllKGEpaQorRnEobmFtZSlrIEZ0KGlzKTI2IGIobm90KWcoYSloKHNoZWxsKWYoYnVpbHRpbilnKG9yKWcodGhlcmUpZyhpcylnKGFuKWcKKyhlcnJvcik2MzAgMjkzNyB5KGxvYWRpbmcpMzEgYihhKWcobmV3KWYoYnVpbHRpbilnKGZyb20pZyhhKWcoc2hhcmVkKWcKKyhvYik1IGIoamVjdC4pMTUwIDMxMDQgeSBGcyhoZWxwKTg3MCAzMjQyIHkoaGVscCk0NyBiKFstZG1zXSlmKFspcAorRmkocGF0dGVybikxMSBiIEZzKF0pNjMwIDMzODAgeSBGdChEaXNwbGEpbSh5KTQwIGIoaGVscGZ1bCllCisoaW5mb3JtYXRpb24paChhYilzKG91dClnKGJ1aWx0aW4pZihjb21tYW5kcy4pNjYgYihJZikzOAorYiBGcShwYXR0ZXJuKWggRnQoaXMpZyhzcClzKGVjaVwwMTRlZCwpNjMwIDM0ODkgeSBGcyhoZWxwKTI4CitiIEZ0KGdpdiltKGVzKWkoZGV0YWlsZWQpZyhoZWxwKWUob24paChhbGwpaChjb21tYW5kcyllKG1hdGMpbShoaW5nKWkKK0ZxKHBhdHRlcm4pcCBGdCgsKWcob3RoZXJ3aXNlKWYoYSlnKGxpc3QpaChvZik2MzAgMzU5OQoreSh0aGUpaChidWlsdGlucyllKGlzKWkocHJpbiltKHRlZC4pNjMwIDM3MzcgeShPcHRpb25zLClmKGlmKWgKKyhzdXBwbGllZCwpZShoYSltKHYpbShlKWkodGhlKWcoZm9sbG8pbSh3aW5nKWgobWVhbmluZ3M6KTYzMAorMzkwMyB5IEZzKC1kKTM4NCBiIEZ0KERpc3BsYSltKHkpMzIgYihhKWUoc2hvcnQpZyhkZXNjcmlwdGlvbiloKG9mKWYKKyhlYWMpbShoKWkgRnEocGF0dGVybik2MzAgNDA3MCB5IEZzKC1tKTM4NCBiIEZ0KERpc3BsYSltKHkpMzIKK2IodGhlKWUoZGVzY3JpcHRpb24pZyhvZiloKGVhYyltKGgpaCBGcShwYXR0ZXJuKWUgRnQoaW4pZyhhKWgKKyhtYW5wYWdlLWxpayltKGUpaChmb3JtYXQpNjMwIDQyMzYgeSBGcygtcykzODQgYiBGdChEaXNwbGEpbSh5KTMyCitiKG9ubHkpZShhKWgoc2hvcnQpZih1c2FnZSloKHN5bm9wc2lzKWUoZm9yKWkoZWFjKW0oaClnCitGcShwYXR0ZXJuKTYzMCA0NDAyIHkgRnQoVGhlKWYocmV0dXJuKWYoc3RhdHVzKWkoaXMpZih6ZXJvKWgodW5sZXNzKWYKKyhubylnKGNvbW1hbmQpaChtYXRjKW0oaGVzKWcgRnEocGF0dGVybilwIEZ0KC4pMTUwIDQ1NjkKK3kgRnMobGV0KTg3MCA0NzA3IHkobGV0KTQ3IGIgRmkoZXhwcmVzc2lvbik1NSBiIEZzKFspcAorRmkoZXhwcmVzc2lvbikxMSBiIEZzKF0pNjMwIDQ4NDUgeSBGdChUaGUpNDEgYiBGcyhsZXQpZworRnQoYnVpbHRpbilnKGFsbG8pbSh3cylpKGFyaXRobWV0aWMpZih0byloKGIpcyhlKWQocClzKGVyZm9ybWVkKWcob24paQorKHNoZWxsKWcodiktNSBiKGFyaWFibGVzLik3NCBiKEVhYyltKGgpNjMwIDQ5NTQgeSBGcShleHByZXNzaW9uKTMxCitiIEZ0KGlzKWcoZXYpLTUgYihhbHVhdGVkKTMyIGIoYWNjb3JkaW5nKWYodG8paCh0aGUpZihydWxlcylnKGdpdiltKGVuKQoraChiKXMoZWxvKW0odylmKGluKWYoU2VjdGlvbilpKDYuNSlnKFtTaGVsbCk2MzAgNTA2NAoreShBcml0aG1ldGljXSwpNTEgYihwYWdlKTQ2IGIoODAuKTg3IGIoSWYpNDUgYih0aGUpZyhsYXN0KWgKK0ZxKGV4cHJlc3Npb24pZyBGdChldiktNSBiKGFsdWF0ZXMpNDcgYih0bylmKDAsKWsgRnMobGV0KTQ0CitiIEZ0KHJldHVybnMpZygxOyk2MzAgNTE3NCB5KG90aGVyd2lzZSkzMSBiKDApZyhpcylmKHJldHVybmVkLikxNTAKKzUzNDAgeSBGcyhsb2NhbClwIGVvcCBlbmQKKyUlUGFnZTogNDkgNTUKK1RlWERpY3QgYmVnaW4gNDkgNTQgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDQ6KTQxCitiKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig0OSk4NzAgMjk5IHkgRnMobG9jYWwpNDYKK2IoWylwIEZpKG9wdGlvbikxMSBiIEZzKF0pNDUgYiBGaShuYW1lKTExIGIgRnMoWz0pcCBGaSh2YWx1ZSlnCitGcyhdKTQ0IGIoLi4uKTYzMCA0MzIgeSBGdChGKS04IGIob3IpMjYgYihlYWMpbShoKWgoYXJndW1lbiltKHQsKWcoYSllCisobG8pcyhjYWwpaSh2KS01IGIoYXJpYWJsZSkyNiBiKG5hbWVkKWYgRnEobmFtZSkzMSBiCitGdChpcykyNSBiKGNyZWF0ZWQsKWooYW5kKWQoYXNzaWduZWQpZyBGcSh2KS01IGIoYWx1ZSk1CitiIEZ0KC4pNjMwIDU0MiB5KFRoZSkzNyBiIEZxKG9wdGlvbiloIEZ0KGNhbilmKGIpcyhlKWcoYW4pbSh5KWgob2YpZgorKHRoZSloKG9wdGlvbnMpZyhhY2NlcHRlZClnKGIpbSh5KWcgRnMoZGVjbGFyZSlwIEZ0KC4pNTkKK2IgRnMobG9jYWwpMzYgYiBGdChjYW4paShvbmx5KTYzMCA2NTIgeShiKXMoZSlqKHVzZWQpaCh3aXRoaW4pZihhKWkKKyhmdW5jdGlvbjspNDggYihpdCk0MiBiKG1hayltKGVzKWgodGhlKWYodiktNSBiKGFyaWFibGUpNDMKK2IgRnEobmFtZSk0OCBiIEZ0KGhhKW0odiltKGUpNDMgYihhKWYodmlzaWJsZSloKHNjb3ApcyhlKTYzMAorNzYxIHkocmVzdHJpY3RlZCljKHRvKWcodGhhdClnKGZ1bmN0aW9uKWYoYW5kKWYoaXRzKWkoYyltKGhpbGRyZW4uKTY0CitiKFRoZSkzOCBiKHJldHVybilmKHN0YXR1cyloKGlzKWgoemVybylnKHVubGVzcyk2MzAgODcxCit5IEZzKGxvY2FsKWcgRnQoaXMpaCh1c2VkKWcob3V0c2lkZSlnKGEpaChmdW5jdGlvbiwpaChhbillKGluKW0odiktNQorYihhbGlkKTQxIGIgRnEobmFtZSk0NiBiIEZ0KGlzKTQwIGIoc3VwcGxpZWQsKWkob3IpZQorRnEobmFtZSk0NSBiIEZ0KGlzKWMoYSk2MzAgOTgwIHkocmVhZG9ubHkpMzAgYih2KS01IGIoYXJpYWJsZS4pMTUwCisxMTM4IHkgRnMobG9nb3V0KTg3MCAxMjcxIHkobG9nb3V0KTQ2IGIoWylwIEZpKG4pMTEgYgorRnMoXSk2MzAgMTQwNSB5IEZ0KEV4aXQpMzEgYihhKWcobG9naW4pZyhzaGVsbCwpZyhyZXR1cm5pbmcpZShhKWkKKyhzdGF0dXMpZyhvZilmIEZxKG4pZyBGdCh0byloKHRoZSlnKHNoZWxsJ3MpZihwYXJlbiltKHQuKTE1MAorMTU2MyB5IEZzKG1hcGZpbGUpODcwIDE2OTYgeShtYXBmaWxlKTQ2IGIoWy1uKWggRmkoY291bnQpMTEKK2IgRnMoXSk0NSBiKFstTylpIEZpKG9yaWdpbikxMSBiIEZzKF0pNDYgYihbLXMpZyBGaShjb3VudCkxMQorYiBGcyhdKTQ2IGIoWy10XSloKFstdSlnIEZpKGZkKTExIGIgRnMoXSk0NiBiKFspODcwIDE4MDYKK3koLUMpaCBGaShjYWxsYmFjaykxMSBiIEZzKF0pNDUgYihbLWMpaSBGaShxdWFudHVtKTExCitiIEZzKF0pNDUgYihbKXAgRmkoYXJyYXkpMTEgYiBGcyhdKTYzMCAxOTM5IHkgRnQoUmVhZCkzNworYihsaW5lcylnKGZyb20pZih0aGUpaChzdGFuZGFyZClmKGlucHV0KWcoaW4pbSh0byloKHRoZSlnKGluZGV4ZWQpZgorKGFycmEpbSh5KWkodiktNSBiKGFyaWFibGUpMzcgYiBGcShhcnJhKW0oeSk4IGIgRnQoLCkzOQorYihvcik2MzAgMjA0OSB5KGZyb20pYyhcMDE0bGUpaChkZXNjcmlwdG9yKWcgRnEoZmQpagorRnQoaWYpZCh0aGUpZyhgKXAgRnMoLXUpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyhzdXBwbGllZC4pNTYKK2IoVGhlKTM1IGIodiktNSBiKGFyaWFibGUpMzcgYiBGcyhNQVBGSUxFKWQgRnQoaXMpNjMwCisyMTU4IHkodGhlKWQoZGVmYXVsdClmIEZxKGFycmEpbSh5KTggYiBGdCguKTQxIGIoT3B0aW9ucywpMzAKK2IoaWYpaChzdXBwbGllZCwpZShoYSltKHYpbShlKWoodGhlKWUoZm9sbG8pbSh3aW5nKWkobWVhbmluZ3M6KTYzMAorMjMxNiB5IEZzKC1uKTM4NCBiIEZ0KENvcCltKHkpMzAgYihhdCloKG1vc3QpZyBGcShjb3VuKW0odClpCitGdChsaW5lcy4pNDEgYihJZikzMCBiIEZxKGNvdW4pbSh0KWogRnQoaXMpZCgwLCloKGFsbCloKGxpbmVzKWUoYXJlKWgKKyhjb3BpZWQuKTYzMCAyNDc0IHkgRnMoLU8pMzg0IGIgRnQoQmVnaW4pMzEgYihhc3NpZ25pbmcpZyh0bylnCitGcShhcnJhKW0oeSkzOSBiIEZ0KGF0KTMxIGIoaW5kZXgpZiBGcShvcmlnaW4pcCBGdCguKTQxCitiKFRoZSkzMCBiKGRlZmF1bHQpaChpbmRleClmKGlzKWcoMC4pNjMwIDI2MzEgeSBGcygtcykzODQKIGIgRnQoRGlzY2FyZCkzMSBiKHRoZSlmKFwwMTRyc3QpZyBGcShjb3VuKW0odClqIEZ0KGxpbmVzKWUocmVhZC4pNjMwCi00NTggeSBGcygtdCkzODQgYiBGdChSZW1vKW0odiltKGUpMzIgYihhKWYodHJhaWxpbmcpZyhuZXdsaW5lKWcoZnJvbSlmCi0oZWFjKW0oaCloKGxpbmUpZyhyZWFkLik2MzAgNjE4IHkgRnMoLXUpMzg0IGIgRnQoUmVhZCkzMQorMjc4OSB5IEZzKC10KTM4NCBiIEZ0KFJlbW8pbSh2KW0oZSkzMiBiKGEpZih0cmFpbGluZylnKG5ld2xpbmUpZyhmcm9tKWYKKyhlYWMpbShoKWgobGluZSlnKHJlYWQuKTYzMCAyOTQ2IHkgRnMoLXUpMzg0IGIgRnQoUmVhZCkzMQogYihsaW5lcylmKGZyb20pZyhcMDE0bGUpaChkZXNjcmlwdG9yKWYgRnEoZmQpaiBGdChpbnN0ZWFkKWUob2YpZih0aGUpaAotKHN0YW5kYXJkKWUoaW5wdXQuKTYzMCA3NzcgeSBGcygtQykzODQgYiBGdChFdiktNSBiKGFsdWF0ZSk0MworKHN0YW5kYXJkKWUoaW5wdXQuKTYzMCAzMTA0IHkgRnMoLUMpMzg0IGIgRnQoRXYpLTUgYihhbHVhdGUpNDMKIGIgRnEoY2FsbGJhYyltKGspNDkgYiBGdChlYWMpbShoKTQyIGIodGltZSlnIEZxKHF1YW4pbSh0dW0pcAogRnQoUClmKGxpbmVzKWgoYXJlKWYocmVhZC4pNzQgYihUaGUpNDEgYihgKXAgRnMoLWMpcAotRnQoJykxMTEwIDg4NyB5KG9wdGlvbikzMSBiKHNwKXMoZWNpXDAxNGVzKWYgRnEocXVhbiltKHR1bSlwCi1GdCguKTYzMCAxMDQ2IHkgRnMoLWMpMzg0IGIgRnQoU3ApcyhlY2lmeSkzMCBiKHRoZSlnKG4pbSh1bSltKGIpcyhlcilmCitGdCgnKTExMTAgMzIxMyB5KG9wdGlvbikzMSBiKHNwKXMoZWNpXDAxNGVzKWYgRnEocXVhbiltKHR1bSlwCitGdCguKTYzMCAzMzcxIHkgRnMoLWMpMzg0IGIgRnQoU3ApcyhlY2lmeSkzMCBiKHRoZSlnKG4pbSh1bSltKGIpcyhlcilmCiAob2YpaShsaW5lcylmKHJlYWQpaChiKXMoZXQpbSh3KW0oZWVuKWcoZWFjKW0oaClnKGNhbGwpaCh0bylmCi1GcShjYWxsYmFjKW0oayk2IGIgRnQoLik2MzAgMTIwNSB5KElmKTI5IGIoYClwIEZzKC1DKXAKLUZ0KCcpZyhpcyloKHNwKXMoZWNpXDAxNGVkKWYod2l0aG91dClnKGApcCBGcygtYylwIEZ0KCcsKWgodGhlKWcKLShkZWZhdWx0KWcocXVhbiltKHR1bSlmKGlzKWcoNTAwMC4pNDIgYihXaGVuKTMwIGIgRnEoY2FsbGJhYyltKGspMzcKLWIgRnQoaXMpNjMwIDEzMTUgeShldiktNSBiKGFsdWF0ZWQsKTM1IGIoaXQpZShpcylmKHN1cHBsaWVkKWcodGhlKWcKLShpbmRleClnKG9mKWgodGhlKWcobmV4dClnKGFycmEpbSh5KWcoZWxlbWVuKW0odCloKHRvKWYoYilzKGUpZgotKGFzc2lnbmVkKWgoYXMpNjMwIDE0MjUgeShhbilmKGFkZGl0aW9uYWwpaChhcmd1bWVuKW0odC4pNDYKLWIgRnEoY2FsbGJhYyltKGspNDAgYiBGdChpcykzMiBiKGV2KS01IGIoYWx1YXRlZCkzMyBiKGFmdGVyKWcodGhlKWYKLShsaW5lKWgoaXMpZihyZWFkKWcoYnV0KWYoYilzKGVmb3JlKTYzMCAxNTM0IHkodGhlKWcoYXJyYSltKHkpZihlbGVtZW4pCi1tKHQpaShpcylmKGFzc2lnbmVkLik2MzAgMTY2OSB5KElmKTI1IGIobm90KWcoc3VwcGxpZWQpZih3aXRoKWgoYW4pZwotKGV4cGxpY2l0KWkob3JpZ2luLClnIEZzKG1hcGZpbGUpYyBGdCh3aWxsKWooY2xlYXIpZwotRnEoYXJyYSltKHkpMzQgYiBGdChiKXMoZWZvcmUpMjQgYihhc3NpZ25pbmcpNjMwIDE3NzgKLXkodG8pMzEgYihpdC4pNjMwIDE5MTMgeSBGcyhtYXBmaWxlKTQxIGIgRnQocmV0dXJucylnKHN1Y2Nlc3NmdWxseSlpCi0odW5sZXNzKWUoYW4paShpbiltKHYpLTUgYihhbGlkKTQzIGIob3B0aW9uKWcob3IpZyhvcHRpb24pZyhhcmd1bWVuKW0KLSh0KWcoaXMpNjMwIDIwMjIgeShzdXBwbGllZCwpMjkgYiBGcShhcnJhKW0oeSkzOSBiIEZ0KGlzKTMwCi1iKGluKW0odiktNSBiKGFsaWQpMzEgYihvcilnKHVuYXNzaWduYWJsZSwpZihvciloIEZxKGFycmEpbSh5KTM4CitGcShjYWxsYmFjKW0oayk2IGIgRnQoLik2MzAgMzUyOCB5KElmKTM2IGIoYClwIEZzKC1DKXAKK0Z0KCcpZyhpcyloKHNwKXMoZWNpXDAxNGVkKWYod2l0aG91dClnKGApcCBGcygtYylwIEZ0KCcsKWkodGhlKWYKKyhkZWZhdWx0KWYocXVhbiltKHR1bSlnKGlzKWgoNTAwMC4pNjEgYihXaGVuKTM2IGIgRnEoY2FsbGJhYyltKGspNjMwCiszNjM4IHkgRnQoaXMpZShldiktNSBiKGFsdWF0ZWQsKTM2IGIoaXQpZihpcylmKHN1cHBsaWVkKWYodGhlKWgoaW5kZXgpZgorKG9mKWgodGhlKWgobmV4dClmKGFycmEpbSh5KWcoZWxlbWVuKW0odClpKHRvKWUoYilzKGUpZyhhc3NpZ25lZCk2MzAKKzM3NDggeShhbmQpZih0aGUpZyhsaW5lKWgodG8pZihiKXMoZSlnKGFzc2lnbmVkKWcodG8paCh0aGF0KWcoZWxlbWVuKW0KKyh0KWgoYXMpZShhZGRpdGlvbmFsKWgoYXJndW1lbiltKHRzLik1MCBiIEZxKGNhbGxiYWMpbShrKTYzMAorMzg1NyB5IEZ0KGlzKTMwIGIoZXYpLTUgYihhbHVhdGVkKTMyIGIoYWZ0ZXIpZih0aGUpZihsaW5lKWgoaXMpZyhyZWFkKWYKKyhidXQpZyhiKXMoZWZvcmUpZih0aGUpaShhcnJhKW0oeSlnKGVsZW1lbiltKHQpaChpcyllKGFzc2lnbmVkLik2MzAKKzM5OTEgeShJZikyNSBiKG5vdClnKHN1cHBsaWVkKWYod2l0aCloKGFuKWcoZXhwbGljaXQpaShvcmlnaW4sKWcKK0ZzKG1hcGZpbGUpYyBGdCh3aWxsKWooY2xlYXIpZyBGcShhcnJhKW0oeSkzNCBiIEZ0KGIpcyhlZm9yZSkyNAorYihhc3NpZ25pbmcpNjMwIDQxMDAgeSh0bykzMSBiKGl0Lik2MzAgNDIzNCB5IEZzKG1hcGZpbGUpNDEKK2IgRnQocmV0dXJucylnKHN1Y2Nlc3NmdWxseSlpKHVubGVzcyllKGFuKWkoaW4pbSh2KS01CitiKGFsaWQpNDMgYihvcHRpb24pZyhvcilnKG9wdGlvbilnKGFyZ3VtZW4pbSh0KWcoaXMpNjMwCis0MzQzIHkoc3VwcGxpZWQsKTI5IGIgRnEoYXJyYSltKHkpMzkgYiBGdChpcykzMCBiKGluKW0odiktNQorYihhbGlkKTMxIGIob3IpZyh1bmFzc2lnbmFibGUsKWYob3IpaCBGcShhcnJhKW0oeSkzOAogYiBGdChpcykzMSBiKG5vdClmKGFuKWgoaW5kZXhlZCllKGFycmEpbSh5KS04IGIoLikxNTAKLTIxODIgeSBGcyhwcmludGYpODcwIDIzMTYgeShwcmludGYpNDYgYihbLXYpaCBGaSh2YXIpMTEKKzQ1MDEgeSBGcyhwcmludGYpODcwIDQ2MzQgeShwcmludGYpNDYgYihbLXYpaCBGaSh2YXIpMTEKIGIgRnMoXSk0NiBiIEZpKGZvcm1hdCk1NyBiIEZzKFspcCBGaShhcmd1bWVudHMpMTEgYiBGcyhdKTYzMAotMjQ1MSB5IEZ0KFcpLTggYihyaXRlKTI3IGIodGhlKWcoZm9ybWF0dGVkKWYgRnEoYXJndW1lbiltKHRzKWsKKzQ3NjggeSBGdChXKS04IGIocml0ZSkyNyBiKHRoZSlnKGZvcm1hdHRlZClmIEZxKGFyZ3VtZW4pbSh0cylrCiBGdCh0bylkKHRoZSlmKHN0YW5kYXJkKWYob3V0cHV0KWgodW5kZXIpZSh0aGUpaShjb24pbSh0cm9sKWkob2YpZSh0aGUpCi02MzAgMjU2MCB5IEZxKGZvcm1hdClyIEZ0KC4pNDAgYihUaGUpMjkgYiBGcShmb3JtYXQpaQotRnQoaXMpZChhKWgoYyltKGhhcmFjdGVyKWkoc3RyaW5nKWQod2hpYyltKGgpaChjb24pbSh0YWlucyloKHRocmVlKWUodCkKLW0oeXApcyhlcyloKG9mKWcob2IpNSBiKGplY3RzOik2MzAgMjY3MCB5KHBsYWluKTI4IGIoYyltKGhhcmFjdGVycywpagotKHdoaWMpbShoKWQoYXJlKWgoc2ltcGx5KWYoY29waWVkKWgodG8paChzdGFuZGFyZClkKG91dHB1dCwpaShjKW0KLShoYXJhY3RlciloKGVzY2FwKXMoZSk2MzAgMjc4MCB5KHNlcXVlbmNlcywpZyh3aGljKW0oaClmKGFyZSlnKGNvbiltKHYpCi1tKGVydGVkKWkoYW5kKWQoY29waWVkKWkodG8pZih0aGUpaChzdGFuZGFyZCllKG91dHB1dCwpaChhbmQpZyhmb3JtYXQpCi02MzAgMjg4OSB5KHNwKXMoZWNpXDAxNGNhdGlvbnMsKTM4IGIoZWFjKW0oaClnKG9mKWUod2hpYyltKGgpZyhjYXVzZXMpZwotKHByaW4pbSh0aW5nKWcob2YpZyh0aGUpaChuZXh0KWYoc3VjY2Vzc2l2KW0oZSloIEZxKGFyZ3VtZW4pbSh0KXIKLUZ0KC4pNjMwIDI5OTkgeShJbikzMSBiKGFkZGl0aW9uKWgodG8paCh0aGUpZShzdGFuZGFyZClnCi1GcyhwcmludGZcKDFcKSlmIEZ0KGZvcm1hdHMsKWkoYClwIEZzKFwwNDViKXAgRnQoJylnKGNhdXNlcylnCi1GcyhwcmludGYpZSBGdCh0bylqKGV4cGFuZCk2MzAgMzEwOCB5KGJhYyltKGtzbGFzaCkzOQotYihlc2NhcClzKGUpZihzZXF1ZW5jZXMpaChpbilmKHRoZSlnKGNvcnJlc3ApcyhvbmRpbmcpZgotRnEoYXJndW1lbiltKHQpciBGdCgsKWsoXChleGNlcHQpZSh0aGF0KWcoYClwIEZzKFxcYylwCi1GdCgnKTYzMCAzMjE4IHkodGVybWluYXRlcyk0NCBiKG91dHB1dCwpaihiYWMpbShrc2xhc2hlcylkKGluKWYoYClwCi1GcyhcXCcpcCBGdCgnLClrKGApcCBGcyhcXCIpcCBGdCgnLClnKGFuZCljKGApcCBGcyhcXD8pcAotRnQoJylnKGFyZSloKG5vdClnKHJlbW8pbSh2KW0oZWQsKWsoYW5kKTYzMCAzMzI4IHkobylzKGN0YWwpMjUKLWIoZXNjYXApcyhlcylmKGIpcyhlZ2lubmluZylmKHdpdGgpZyhgKXAgRnMoXFwwKXAgRnQoJyloKG1hKW0oeSlnKGNvbiltCi0odGFpbiloKHVwKWUodG8paChmb3VyKWYoZGlnaXRzXCksKWooYW5kKWQoYClwIEZzKFwwNDVxKXAKLUZ0KCcpaChjYXVzZXMpNjMwIDM0MzcgeSBGcyhwcmludGYpMzEgYiBGdCh0bylpKG91dHB1dClmKHRoZSloKGNvcnJlc3ApCi1zKG9uZGluZylmIEZxKGFyZ3VtZW4pbSh0KWogRnQoaW4pZChhKWgoZm9ybWF0KWcodGhhdClnKGNhbilnKGIpcyhlKWYKLShyZXVzZWQpNjMwIDM1NDcgeShhcylmKHNoZWxsKWYoaW5wdXQuKTYzMCAzNjgxIHkoVGhlKTI0Ci1iKGApcCBGcygtdilwIEZ0KCcpaChvcHRpb24pZyhjYXVzZXMpZyh0aGUpZyhvdXRwdXQpZyh0bylnKGIpcyhlKWYKLShhc3NpZ25lZCloKHRvKWgodGhlKWYodiktNSBiKGFyaWFibGUpMjUgYiBGcSh2KS01IGIoYXIpMzIKLWIgRnQocmF0aGVyKTI0IGIodGhhbik2MzAgMzc5MSB5KGIpcyhlaW5nKTMwIGIocHJpbiltKHRlZClnKHRvKWgodGhlKWcKLShzdGFuZGFyZCllKG91dHB1dC4pNjMwIDM5MjUgeShUaGUpaSBGcShmb3JtYXQpaSBGdChpcyllKHJldXNlZClmKGFzKWkKLShuZWNlc3NhcnkpZih0byloKGNvbnN1bWUpZihhbGwpaChvZilmKHRoZSlnIEZxKGFyZ3VtZW4pbSh0cyl0Ci1GdCguKTQzIGIoSWYpMzEgYih0aGUpZyBGcShmb3ItKTYzMCA0MDM1IHkobWF0KWQgRnQocmVxdWlyZXMpZShtb3JlKWcKLUZxKGFyZ3VtZW4pbSh0cylrIEZ0KHRoYW4pMjUgYihhcmUpaShzdXBwbGllZCwpZSh0aGUpaChleHRyYSloKGZvcm1hdClmCi0oc3ApcyhlY2lcMDE0Y2F0aW9ucyk2MzAgNDE0NCB5KGIpcyhlaGEpbSh2KW0oZSlqKGFzKWcoaWYpZihhKWgoemVybylnCi0odiktNSBiKGFsdWUpMjkgYihvcilnKG4pbSh1bGwpZihzdHJpbmcsKWgoYXMpZyhhcHByb3ByaWF0ZSwpZyhoYWQpZihiKQotcyhlZW4pZyhzdXBwbGllZC4pMzggYihUaGUpNjMwIDQyNTQgeShyZXR1cm4pMjkgYih2KS01Ci1iKGFsdWUpMzEgYihpcylnKHplcm8pZyhvbilmKHN1Y2Nlc3MsKWgobm9uLXplcm8pZyhvbilmKGZhaWx1cmUuKTE1MAotNDQxMyB5IEZzKHJlYWQpODcwIDQ1NDggeShyZWFkKTQ3IGIoWy1lcnNdKWYoWy1hKWggRmkoYW5hbWUpMTEKKzYzMCA0ODc4IHkgRnEoZm9ybWF0KXIgRnQoLik1NyBiKFRoZSkzNSBiKGApcCBGcygtdilwCitGdCgnKWgob3B0aW9uKWcoY2F1c2VzKWcodGhlKWcob3V0cHV0KWcodG8pZyhiKXMoZSlmKGFzc2lnbmVkKWgodG8paAorKHRoZSllKHYpLTUgYihhcmlhYmxlKTM3IGIgRnEodiktNSBiKGFyKTYzMCA0OTg3IHkgRnQocmF0aGVyKTMwCitiKHRoYW4pZyhiKXMoZWluZylnKHByaW4pbSh0ZWQpZyh0byloKHRoZSlnKHN0YW5kYXJkKWUob3V0cHV0Lik2MzAKKzUxMjEgeShUaGUpMzYgYiBGcShmb3JtYXQpaSBGdChpcylmKGEpZihjKW0oaGFyYWN0ZXIpaShzdHJpbmcpZSh3aGljKW0KKyhoKWcoY29uKW0odGFpbnMpaSh0aHJlZSllKHQpbSh5cClzKGVzKWcob2YpaChvYik1IGIoamVjdHM6KTUzCitiKHBsYWluKTYzMCA1MjMwIHkoYyltKGhhcmFjdGVycywpNDEgYih3aGljKW0oaCljKGFyZSloKHNpbXBseSllCisoY29waWVkKWkodG8pZyhzdGFuZGFyZClmKG91dHB1dCwpaShjKW0oaGFyYWN0ZXIpZyhlc2NhcClzKGUpZShzZS0pNjMwCis1MzQwIHkocXVlbmNlcywpZyh3aGljKW0oaClmKGFyZSlnKGNvbiltKHYpbShlcnRlZCloKGFuZClmKGNvcGllZClnKHRvKQorZyh0aGUpZyhzdGFuZGFyZClmKG91dHB1dCwpaShhbmQpZihmb3JtYXQpcCBlb3AgZW5kCislJVBhZ2U6IDUwIDU2CitUZVhEaWN0IGJlZ2luIDUwIDU1IGJvcCAxNTAgLTExNiBhIEZ0KDUwKTI1NzIgYihCYXNoKTMxCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkoc3ApcyhlY2lcMDE0Y2F0aW9ucywpMzgKK2IoZWFjKW0oaClnKG9mKWUod2hpYyltKGgpZyhjYXVzZXMpZyhwcmluKW0odGluZylnKG9mKWcodGhlKWgobmV4dClmCisoc3VjY2Vzc2l2KW0oZSloIEZxKGFyZ3VtZW4pbSh0KXIgRnQoLik2MzAgNDA4IHkoSW4pMjQKK2IoYWRkaXRpb24paCh0bylnKHRoZSlnKHN0YW5kYXJkKWYgRnMocHJpbnRmXCgxXCkpZSBGdChmb3JtYXRzLCkyNworYiBGcyhwcmludGYpYyBGdChpbiltKHRlcnByZXRzKWkodGhlKWYoZm9sbG8pbSh3aW5nKTYzMAorNTE4IHkoZXh0ZW5zaW9uczopNjMwIDY3NiB5IEZzKFwwNDViKTM4NCBiIEZ0KGNhdXNlcyk0MgorYiBGcyhwcmludGYpZSBGdCh0bylpKGV4cGFuZClmKGJhYyltKGtzbGFzaCloKGVzY2FwKXMoZSlnKHNlcXVlbmNlcylmCisoaW4paCh0aGUpZihjb3ItKTExMTAgNzg2IHkocmVzcClzKG9uZGluZyljIEZxKGFyZ3VtZW4pbSh0KXIKK0Z0KCwpNDIgYihcKGV4Y2VwdCllKHRoYXQpZyhgKXAgRnMoXFxjKXAgRnQoJyllKHRlcm1pbmF0ZXMpaShvdXRwdXQsKWgKKyhiYWMpbShrLSkxMTEwIDg5NiB5KHNsYXNoZXMpZChpbilmKGApcCBGcyhcXCcpcCBGdCgnLClqKGApcAorRnMoXFwiKXAgRnQoJywpZihhbmQpZShgKXAgRnMoXFw/KXAgRnQoJyloKGFyZSlnKG5vdClnKHJlbW8pbSh2KW0oZWQsKWoKKyhhbmQpYyhvKXMoY3RhbClpKGVzY2FwKXMoZXMpMTExMCAxMDA1IHkoYilzKGVnaW5uaW5nKTMwCitiKHdpdGgpZyhgKXAgRnMoXFwwKXAgRnQoJylnKG1hKW0oeSloKGNvbiltKHRhaW4paCh1cClkKHRvKWkoZm91cilmCisoZGlnaXRzXCkuKTYzMCAxMTYzIHkgRnMoXDA0NXEpMzg0IGIgRnQoY2F1c2VzKTM1IGIgRnMocHJpbnRmKWUKK0Z0KHRvKWkob3V0cHV0KWcodGhlKWcoY29ycmVzcClzKG9uZGluZyllIEZxKGFyZ3VtZW4pbSh0KWsKK0Z0KGluKWUoYSlnKGZvcm1hdCkxMTEwIDEyNzMgeSh0aGF0KWMoY2FuKWcoYilzKGUpZShyZXVzZWQpaChhcyloCisoc2hlbGwpZihpbnB1dC4pNjMwIDE0MzEgeSBGcyhcMDQ1XCgpcCBGaShkYXRlZm10KTExCitiIEZzKFwpVCkxMTEwIDE1NDEgeSBGdChjYXVzZXMpMzIgYiBGcyhwcmludGYpZiBGdCh0byloKG91dHB1dClnKHRoZSlnCisoZGF0ZS10aW1lKWkoc3RyaW5nKWUocmVzdWx0aW5nKWcoZnJvbSlmKHVzaW5nKTExMTAgMTY1MAoreSBGcShkYXRlZm0pbSh0KTQ1IGIgRnQoYXMpZChhKWcoZm9ybWF0KWcoc3RyaW5nKWcoZm9yKWcKK0ZzKHN0cmZ0aW1lKXAgRnQoXCgzXCkuKTc0IGIoVGhlKTQxIGIoY29ycmVzcClzKG9uZGluZykxMTEwCisxNzYwIHkgRnEoYXJndW1lbiltKHQpaCBGdChpcyllKGFuKWcoaW4pbSh0ZWdlcilpKHJlcHJlc2VuKW0odGluZyllCisodGhlKWcobiltKHVtKW0oYilzKGVyKWYob2YpaChzZWNvbmRzKWcoc2luY2UpMTExMCAxODcwCit5KHRoZSkyNCBiKGVwKXMobylzKGMpbShoLikzOCBiKFR3KW0obykyNCBiKHNwKXMoZWNpYWwpaChhcmd1bWVuKW0odClmCisodiktNSBiKGFsdWVzKTI0IGIobWEpbSh5KWgoYilzKGUpZSh1c2VkOikzNiBiKC0xKTI1CitiKHJlcHJlc2VuKW0odHMpMTExMCAxOTc5IHkodGhlKTMwIGIoY3VycmVuKW0odClnKHRpbWUsKWgoYW5kKWUoLTIpaQorKHJlcHJlc2VuKW0odHMpZih0aGUpZyh0aW1lKWgodGhlKWYoc2hlbGwpZyh3KW0oYXMpZyhpbiltKHYpbShvayltKGVkLikKKzYzMCAyMTM4IHkoQXJndW1lbiltKHRzKWUodG8paChub24tc3RyaW5nKWUoZm9ybWF0KWkoc3ApcyhlY2lcMDE0ZXJzKWUKKyhhcmUpaCh0cmVhdGVkKWgoYXMpZyhDKWUobGFuZ3VhZ2Upaihjb25zdGFuKW0odHMsKTYzMAorMjI0NyB5KGV4Y2VwdCkyMiBiKHRoYXQpZyhhKWcobGVhZGluZylnKHBsdXMpZShvciloKG1pbiltKHVzKWYoc2lnbilpCisoaXMpZihhbGxvKW0odyltKGVkLClrKGFuZCljKGlmKWcodGhlKWcobGVhZGluZyloKGMpbShoYXJhY3RlciloKGlzKTYzMAorMjM1NyB5KGEpaShzaW5nbGUpZyhvcilmKGRvdWJsZSloKHF1b3RlLCloKHRoZSlmKHYpLTUKK2IoYWx1ZSkyNSBiKGlzKWYodGhlKWgoQVNDSSlzKEkpZSh2KS01IGIoYWx1ZSkyNSBiKG9mKWYodGhlKWgoZm9sbG8pbQorKHdpbmcpaChjKW0oaGFyYWN0ZXIuKTYzMCAyNDkxIHkoVGhlKTMxIGIgRnEoZm9ybWF0KWkKK0Z0KGlzKWUocmV1c2VkKWYoYXMpaShuZWNlc3NhcnkpZih0byloKGNvbnN1bWUpZihhbGwpaChvZilmKHRoZSlnCitGcShhcmd1bWVuKW0odHMpdCBGdCguKTQzIGIoSWYpMzEgYih0aGUpZyBGcShmb3ItKTYzMAorMjYwMCB5KG1hdClkIEZ0KHJlcXVpcmVzKWUobW9yZSlnIEZxKGFyZ3VtZW4pbSh0cylrIEZ0KHRoYW4pMjUKK2IoYXJlKWkoc3VwcGxpZWQsKWUodGhlKWgoZXh0cmEpaChmb3JtYXQpZihzcClzKGVjaVwwMTRjYXRpb25zKTYzMAorMjcxMCB5KGIpcyhlaGEpbSh2KW0oZSlqKGFzKWcoaWYpZihhKWgoemVybylnKHYpLTUgYihhbHVlKTI5CitiKG9yKWcobiltKHVsbClmKHN0cmluZywpaChhcylnKGFwcHJvcHJpYXRlLClnKGhhZClmKGIpcyhlZW4pZworKHN1cHBsaWVkLikzOCBiKFRoZSk2MzAgMjgxOSB5KHJldHVybikyOSBiKHYpLTUgYihhbHVlKTMxCitiKGlzKWcoemVybylnKG9uKWYoc3VjY2VzcywpaChub24temVybylnKG9uKWYoZmFpbHVyZS4pMTUwCisyOTc4IHkgRnMocmVhZCk4NzAgMzExMiB5KHJlYWQpNDcgYihbLWVyc10pZihbLWEpaCBGaShhbmFtZSkxMQogYiBGcyhdKTQ1IGIoWy1kKWkgRmkoZGVsaW0pMTEgYiBGcyhdKTQ2IGIoWy1pKWggRmkodGV4dCkxMQogYiBGcyhdKTQ2IGIoWy1uKWcgRmkobmNoYXJzKTExIGIgRnMoXSk0NiBiKFstTiloIEZpKG5jaGFycykxMQogYiBGcyhdKTQ1IGIoWy1wKWkgRmkocHJvbXB0KTExIGIgRnMoXSk0NSBiKFstdClpIEZpKHRpbWUtKTg3MAotNDY1OCB5KG91dCkxMSBiIEZzKF0pNDYgYihbLXUpaCBGaShmZCkxMSBiIEZzKF0pNDYgYihbKXAKLUZpKG5hbWUpNTcgYiBGcyguLi5dKTYzMCA0NzkyIHkgRnQoT25lKTI2IGIobGluZSloKGlzKWcocmVhZClmKGZyb20paAorMzIyMSB5KG91dCkxMSBiIEZzKF0pNDYgYihbLXUpaCBGaShmZCkxMSBiIEZzKF0pNDYgYihbKXAKK0ZpKG5hbWUpNTcgYiBGcyguLi5dKTYzMCAzMzU1IHkgRnQoT25lKTI2IGIobGluZSloKGlzKWcocmVhZClmKGZyb20paAogKHRoZSlmKHN0YW5kYXJkKWcoaW5wdXQsKWgob3IpZyhmcm9tKWYodGhlKWgoXDAxNGxlKWYoZGVzY3JpcHRvciloCi1GcShmZClpIEZ0KHN1cHBsaWVkKTYzMCA0OTAyIHkoYXMpMzcgYihhbilnKGFyZ3VtZW4pbSh0KWgodG8pZih0aGUpaChgKQorRnEoZmQpaSBGdChzdXBwbGllZCk2MzAgMzQ2NSB5KGFzKTM3IGIoYW4pZyhhcmd1bWVuKW0odCloKHRvKWYodGhlKWgoYCkKIHAgRnMoLXUpcCBGdCgnKWUob3B0aW9uLClrKGFuZCljKHRoZSlpKFwwMTRyc3QpZSh3KW0ob3JkKWcoaXMpaAotKGFzc2lnbmVkKWgodG8pZih0aGUpaChcMDE0cnN0KTYzMCA1MDExIHkgRnEobmFtZSk1IGIKKyhhc3NpZ25lZCloKHRvKWYodGhlKWgoXDAxNHJzdCk2MzAgMzU3NCB5IEZxKG5hbWUpNSBiCiBGdCgsKTI4IGIodGhlKWcoc2Vjb25kKWcodyltKG9yZClmKHRvKWgodGhlKWYoc2Vjb25kKWgKIEZxKG5hbWUpNSBiIEZ0KCwpMjggYihhbmQpZihzbyloKG9uLClnKHdpdGgpZihsZWZ0byltKHYpbShlcilqKHcpbQotKG9yZHMpZChhbmQpNjMwIDUxMjEgeSh0aGVpciloKGluKW0odGVydiltKGVuaW5nKWcoc2VwYXJhdG9ycylnCisob3JkcylkKGFuZCk2MzAgMzY4NCB5KHRoZWlyKWgoaW4pbSh0ZXJ2KW0oZW5pbmcpZyhzZXBhcmF0b3JzKWcKIChhc3NpZ25lZClnKHRvKWgodGhlKWUobGFzdClpIEZxKG5hbWUpNSBiIEZ0KC4pNDAgYihJZikyNwotYih0aGVyZSloKGFyZSlnKGZldyltKGVyKWYodyltKG9yZHMpNjMwIDUyMzAgeShyZWFkKTQ0CitiKHRoZXJlKWgoYXJlKWcoZmV3KW0oZXIpZih3KW0ob3Jkcyk2MzAgMzc5NCB5KHJlYWQpNDQKIGIoZnJvbSlmKHRoZSlnKGlucHV0KWcoc3RyZWFtKWgodGhhbilnKG5hbWVzLClqKHRoZSljKHJlbWFpbmluZyloCi0obmFtZXMpZyhhcmUpZyhhc3NpZ25lZCk2MzAgNTM0MCB5KGVtcHQpbSh5KTMxIGIodiktNQorKG5hbWVzKWcoYXJlKWcoYXNzaWduZWQpNjMwIDM5MDMgeShlbXB0KW0oeSkzMSBiKHYpLTUKIGIoYWx1ZXMuKTQxIGIoVGhlKTMwIGIoYyltKGhhcmFjdGVycylpKGluKWUodGhlKWgodiktNQogYihhbHVlKTMxIGIob2YpZyh0aGUpZiBGcyhJRlMpZyBGdCh2KS01IGIoYXJpYWJsZSkzMQotYihhcmUpZyh1c2VkKWYodG8paChzcGxpdClwIGVvcCBlbmQKLSUlUGFnZTogNDggNTQKLVRlWERpY3QgYmVnaW4gNDggNTMgYm9wIDE1MCAtMTE2IGEgRnQoNDgpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeSh0aGUpMzcgYihsaW5lKWgoaW4pbSh0bylnKHcpbShvcmRzLikKLTYxIGIoVGhlKTM2IGIoYmFjKW0oa3NsYXNoKWkoYyltKGhhcmFjdGVyKWgoYClwIEZzKFxcKXAKLUZ0KCcpZShtYSltKHkpaChiKXMoZSlmKHVzZWQpZih0bylpKHJlbW8pbSh2KW0oZSloKGFuKW0oeSk2MzAKLTQwOCB5KHNwKXMoZWNpYWwpaChtZWFuaW5nKWcoZm9yKWYodGhlKWcobmV4dCloKGMpbShoYXJhY3RlciloKHJlYWQpZQorYihhcmUpZyh1c2VkKWYodG8paChzcGxpdCk2MzAgNDAxMyB5KHRoZSkzNyBiKGxpbmUpaChpbiltKHRvKWcodyltCisob3Jkcy4pNjEgYihUaGUpMzYgYihiYWMpbShrc2xhc2gpaShjKW0oaGFyYWN0ZXIpaChgKXAKK0ZzKFxcKXAgRnQoJyllKG1hKW0oeSloKGIpcyhlKWYodXNlZClmKHRvKWkocmVtbyltKHYpbShlKWgoYW4pbSh5KTYzMAorNDEyMiB5KHNwKXMoZWNpYWwpaChtZWFuaW5nKWcoZm9yKWYodGhlKWcobmV4dCloKGMpbShoYXJhY3RlciloKHJlYWQpZQogKGFuZClnKGZvcilnKGxpbmUpaChjb24pbSh0aW4pbSh1YXRpb24uKTY5IGIoSWYpMzkgYihubyk2MzAKLTUxOCB5KG5hbWVzKTI4IGIoYXJlKWgoc3VwcGxpZWQsKWYodGhlKWcobGluZSloKHJlYWQpZyhpcylmKGFzc2lnbmVkKWgKKzQyMzIgeShuYW1lcykyOCBiKGFyZSloKHN1cHBsaWVkLClmKHRoZSlnKGxpbmUpaChyZWFkKWcoaXMpZihhc3NpZ25lZCloCiAodG8pZyh0aGUpZih2KS01IGIoYXJpYWJsZSkyOSBiIEZzKFJFUExZKXAgRnQoLikzOSBiKFRoZSkyOAotYihyZXR1cm4pNjMwIDYyOCB5KGNvKXMoZGUpZShpcylnKHplcm8sKWgodW5sZXNzKWUoZW5kLW9mLVwwMTRsZSloKGlzKWcKLShlbmNvdW4pbSh0ZXJlZCwpaCBGcyhyZWFkKWUgRnQodGltZXMpaChvdXQpZyhcKGluKWcod2hpYyltKGgpZihjYXNlKWkKLSh0aGUpNjMwIDczNyB5KHJldHVybilpKGNvKXMoZGUpaShpcylnKGdyZWF0ZXIpZyh0aGFuKWcoMTI4XCksKWgob3IpZgorYihyZXR1cm4pNjMwIDQzNDEgeShjbylzKGRlKWUoaXMpZyh6ZXJvLCloKHVubGVzcyllKGVuZC1vZi1cMDE0bGUpaChpcykKK2coZW5jb3VuKW0odGVyZWQsKWggRnMocmVhZCllIEZ0KHRpbWVzKWgob3V0KWcoXChpbilnKHdoaWMpbShoKWYoY2FzZSlpCisodGhlKTYzMCA0NDUxIHkocmV0dXJuKWkoY28pcyhkZSlpKGlzKWcoZ3JlYXRlcilnKHRoYW4pZygxMjhcKSwpaChvcilmCiAoYW4pZihpbiltKHYpLTUgYihhbGlkKTMxIGIoXDAxNGxlKWcoZGVzY3JpcHRvcilmKGlzKWgoc3VwcGxpZWQpZShhcylpCi0odGhlKTYzMCA4NDcgeShhcmd1bWVuKW0odClnKHRvKWcoYClwIEZzKC11KXAgRnQoJy4pNjMwCi05ODMgeShPcHRpb25zLClmKGlmKWgoc3VwcGxpZWQsKWUoaGEpbSh2KW0oZSlpKHRoZSlnKGZvbGxvKW0od2luZyloCi0obWVhbmluZ3M6KTYzMCAxMTQ0IHkgRnMoLWEpZSBGaShhbmFtZSkxMTQgYiBGdChUaGUpMzQKKyh0aGUpNjMwIDQ1NjEgeShhcmd1bWVuKW0odClnKHRvKWcoYClwIEZzKC11KXAgRnQoJy4pNjMwCis0Njk1IHkoT3B0aW9ucywpZihpZiloKHN1cHBsaWVkLCllKGhhKW0odiltKGUpaSh0aGUpZyhmb2xsbyltKHdpbmcpaAorKG1lYW5pbmdzOik2MzAgNDg1MyB5IEZzKC1hKWUgRmkoYW5hbWUpMTE0IGIgRnQoVGhlKTM0CiBiKHcpbShvcmRzKWYoYXJlKWkoYXNzaWduZWQpZih0byloKHNlcXVlbiltKHRpYWwpaChpbmRpY2VzKWUob2YpZyh0aGUpZwotKGFycmEpbSh5KWgodiktNSBiKGFyaWFibGUpMTExMCAxMjU0IHkgRnEoYW5hbWUpNSBiIEZ0KCwpMjkKKyhhcnJhKW0oeSloKHYpLTUgYihhcmlhYmxlKTExMTAgNDk2MyB5IEZxKGFuYW1lKTUgYiBGdCgsKTI5CiBiKHN0YXJ0aW5nKWcoYXQpZigwLik0MCBiKEFsbCkyOSBiKGVsZW1lbiltKHRzKWcoYXJlKWYocmVtbyltKHYpbShlZCloCi0oZnJvbSllIEZxKGFuYW1lKTMzIGIgRnQoYilzKGVmb3JlKTExMTAgMTM2MyB5KHRoZSllKGFzc2lnbm1lbiltKHQuKTQxCisoZnJvbSllIEZxKGFuYW1lKTMzIGIgRnQoYilzKGVmb3JlKTExMTAgNTA3MiB5KHRoZSllKGFzc2lnbm1lbiltKHQuKTQxCiBiKE90aGVyKTMwIGIgRnEobmFtZSkzNiBiIEZ0KGFyZ3VtZW4pbSh0cykzMCBiKGFyZSloKGlnbm9yZWQuKTYzMAotMTUyNSB5IEZzKC1kKWYgRmkoZGVsaW0pMTE0IGIgRnQoVGhlKTQxIGIoXDAxNHJzdCloKGMpbShoYXJhY3RlciloKG9mKWYKKzUyMzAgeSBGcygtZClmIEZpKGRlbGltKTExNCBiIEZ0KFRoZSk0MSBiKFwwMTRyc3QpaChjKW0oaGFyYWN0ZXIpaChvZilmCiBGcShkZWxpbSlnIEZ0KGlzKWcodXNlZClnKHRvKWcodGVybWluYXRlKWgodGhlKWYoaW5wdXQpZihsaW5lLCkxMTEwCi0xNjM1IHkocmF0aGVyKTMwIGIodGhhbilnKG5ld2xpbmUuKTYzMCAxNzk3IHkgRnMoLWUpMzg0Ci1iIEZ0KFJlYWRsaW5lKTI4IGIoXChzZWUpaChDaGFwdGVyKWUoOCloKFtDb21tYW5kKWYoTGluZSlnKEVkaXRpbmddLClpCi0ocGFnZSlmKDkzXCkpaChpcylmKHVzZWQpMTExMCAxOTA2IHkodG8pNDIgYihvYnRhaW4pZih0aGUpZyhsaW5lLik3MwotYihSZWFkbGluZSk0MSBiKHVzZXMpZyh0aGUpZyhjdXJyZW4pbSh0KWcoXChvcilnKGRlZmF1bHQsKWooaWYpZChsaW5lKQotMTExMCAyMDE2IHkoZWRpdGluZykzMSBiKHcpbShhcylnKG5vdClmKHByZXZpb3VzbHkpZyhhY3RpdiltKGVcKSlqCi0oZWRpdGluZylmKHNldHRpbmdzLik2MzAgMjE3OCB5IEZzKC1pKWUgRmkodGV4dCkxNjIgYgotRnQoSWYpMzYgYihSZWFkbGluZSlpKGlzKWYoYilzKGVpbmcpZyh1c2VkKWYodG8paChyZWFkKWcodGhlKWcobGluZSwpagotRnEodGV4dClmIEZ0KGlzKWUocGxhY2VkKWgoaW4pbSh0bylnKHRoZSkxMTEwIDIyODcgeShlZGl0aW5nKTMxCi1iKGJ1XDAxM2VyKWUoYilzKGVmb3JlKWgoZWRpdGluZyloKGIpcyhlZ2lucy4pNjMwIDI0NDkKLXkgRnMoLW4pZiBGaShuY2hhcnMpMTExMCAyNTU5IHkgRnMocmVhZCkzOCBiIEZ0KHJldHVybnMpZihhZnRlcilqCi0ocmVhZGluZylmIEZxKG5jKW0oaGFycylqIEZ0KGMpbShoYXJhY3RlcnMpZShyYXRoZXIpZih0aGFuKWcodyltCi0oYWl0aW5nKTExMTAgMjY2OCB5KGZvcilnKGEpaChjb21wbGV0ZSloKGxpbmUpZihvZilmKGlucHV0LClpKGJ1dCllCi0oaG9ub3IpZyhhKWgoZGVsaW1pdGVyKWcoaWYpZihmZXcpbShlciloKHRoYW4pMTExMCAyNzc4Ci15IEZxKG5jKW0oaGFycykzNCBiIEZ0KGMpbShoYXJhY3RlcnMpZShhcmUpZShyZWFkKWgoYilzKGVmb3JlKWYodGhlKWcKLShkZWxpbWl0ZXIuKTYzMCAyOTM5IHkgRnMoLU4pZyBGaShuY2hhcnMpMTExMCAzMDQ5IHkKLUZzKHJlYWQpMzkgYiBGdChyZXR1cm5zKWYoYWZ0ZXIpaihyZWFkaW5nKWUoZXhhY3RseSlqCi1GcShuYyltKGhhcnMpaCBGdChjKW0oaGFyYWN0ZXJzKWYocmF0aGVyKWQodGhhbikxMTEwCi0zMTU5IHkodyltKGFpdGluZykzMiBiKGZvcilmKGEpZyhjb21wbGV0ZSlpKGxpbmUpZShvZilnKGlucHV0LClnCi0odW5sZXNzKWYoRU9GKWgoaXMpZyhlbmNvdW4pbSh0ZXJlZClnKG9yKTExMTAgMzI2OCB5Ci1GcyhyZWFkKWYgRnQodGltZXMpaShvdXQuKTQzIGIoRGVsaW1pdGVyKTMzIGIoYyltKGhhcmFjdGVycylmKGVuY291biltCi0odGVyZWQpZyhpbilmKHRoZSlnKGlucHV0KWcoYXJlKTExMTAgMzM3OCB5KG5vdClnKHRyZWF0ZWQpaChzcClzCi0oZWNpYWxseSlnKGFuZClmKGRvKWYobm90KWkoY2F1c2UpZiBGcyhyZWFkKWYgRnQodG8paShyZXR1cm4pZSh1biltCi0odGlsKWggRnEobmMpbShoYXJzKTExMTAgMzQ4NyB5IEZ0KGMpbShoYXJhY3RlcnMpaChhcmUpZihyZWFkLik2MzAKLTM2NDkgeSBGcygtcClmIEZpKHByb21wdCkxMTEwIDM3NTkgeSBGdChEaXNwbGEpbSh5KTM4Ci1iIEZxKHByb21wdClyIEZ0KCwpZih3aXRob3V0KWcoYSlmKHRyYWlsaW5nKWkobmV3bGluZSwpZyhiKXMoZWZvcmUpZQotKGF0dGVtcHRpbmcpaSh0bykxMTEwIDM4NjggeShyZWFkKWYoYW4pbSh5KWgoaW5wdXQuKTYwCi1iKFRoZSkzNyBiKHByb21wdClnKGlzKWcoZGlzcGxhKW0oeSltKGVkKWgob25seSlmKGlmKWcoaW5wdXQpZyhpcylnCi0oY29taW5nKTExMTAgMzk3OCB5KGZyb20pMzAgYihhKWgodGVybWluYWwuKTYzMCA0MTQwCi15IEZzKC1yKTM4NCBiIEZ0KElmKTIxIGIodGhpcyloKG9wdGlvbilnKGlzKWYoZ2l2KW0oZW4sKWsoYmFjKW0oa3NsYXNoKQotZChkbylzKGVzKWYobm90KWgoYWN0KWgoYXMpZihhbilmKGVzY2FwKXMoZSloKGMpbShoYXJhY3Rlci4pMTExMAotNDI0OSB5KFRoZSkzMCBiKGJhYyltKGtzbGFzaClpKGlzKWYoY29uc2lkZXJlZClnKHRvKWgoYilzKGUpZShwYXJ0KWgKLShvZilnKHRoZSlnKGxpbmUuKTQzIGIoSW4pMzAgYihwYXJ0aWN1bGFyLClpKGEpMTExMCA0MzU5Ci15KGJhYyltKGtzbGFzaC1uZXdsaW5lKWYocGFpcilmKG1hKW0oeSloKG5vdClnKGIpcyhlKWYodXNlZClmKGFzKWkoYSlnCi0obGluZSlmKGNvbiltKHRpbiltKHVhdGlvbi4pNjMwIDQ1MjEgeSBGcygtcykzODQgYiBGdChTaWxlbiltKHQpMjgKLWIobW8pcyhkZS4pNDAgYihJZikyNyBiKGlucHV0KWYoaXMpaShjb21pbmcpZyhmcm9tKWYoYSloKHRlcm1pbmFsLCloKGMpCi1tKGhhcmFjdGVycylnKGFyZSlmKG5vdCkxMTEwIDQ2MzAgeShlYyltKGhvKXMoZWQuKTYzMAotNDc5MiB5IEZzKC10KWkgRmkodGltZW91dCkxMTEwIDQ5MDIgeSBGdChDYXVzZSkyMyBiIEZzKHJlYWQpZgotRnQodG8paSh0aW1lKWYob3V0KWgoYW5kKWUocmV0dXJuKWcoZmFpbHVyZSloKGlmKWcoYSloKGNvbXBsZXRlKWcobGluZSkKLWcob2YpZihpbnB1dCkxMTEwIDUwMTEgeShpcyk0NCBiKG5vdClmKHJlYWQpaCh3aXRoaW4pZQotRnEodGltZW91dCk0NyBiIEZ0KHNlY29uZHMuKTgwIGIgRnEodGltZW91dCk0NiBiIEZ0KG1hKW0oeSllKGIpcyhlKWYoYSkKLWgoZGVjaW1hbCkxMTEwIDUxMjEgeShuKW0odW0pbShiKXMoZXIpMjYgYih3aXRoKWgoYSloKGZyYWN0aW9uYWwpaChwKXMKLShvcnRpb24pZChmb2xsbyltKHdpbmcpaih0aGUpZihkZWNpbWFsKWcocClzKG9pbiltKHQuKTQwCi1iKFRoaXMpMTExMCA1MjMwIHkob3B0aW9uKWcoaXMpZyhvbmx5KWcoZVwwMTNlY3RpdiltKGUpaihpZiljCi1GcyhyZWFkKWcgRnQoaXMpaChyZWFkaW5nKWcoaW5wdXQpZihmcm9tKWcoYSloKHRlcm1pbmFsLCkxMTEwCi01MzQwIHkocGlwKXMoZSwpMjUgYihvcillKG90aGVyKWkoc3ApcyhlY2lhbClmKFwwMTRsZTspaShpdClmKGhhcyllKG5vKQotaChlXDAxM2VjdCloKHdoZW4pZShyZWFkaW5nKWgoZnJvbSlnKHJlZ3VsYXIpcCBlb3AgZW5kCi0lJVBhZ2U6IDQ5IDU1Ci1UZVhEaWN0IGJlZ2luIDQ5IDU0IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig0Oik0MQotYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNDkpMTExMCAyOTkgeShcMDE0bGVzLik1NQotYihJZikzNCBiIEZxKHRpbWVvdXQpayBGdChpcylkKDAsKWkgRnMocmVhZClkIEZ0KHJldHVybnMpZyhzdWNjZXNzKWgKLShpZilnKGlucHV0KWcoaXMpZyhhKW0odiktNSBiKGFpbGFibGUpMzcgYihvbikxMTEwIDQwOAoteSh0aGUpaihzcClzKGVjaVwwMTRlZClmKFwwMTRsZSlnKGRlc2NyaXB0b3IsKWooZmFpbHVyZSllKG90aGVyd2lzZS4pNjkKLWIoVGhlKTM5IGIoZXhpdCloKHN0YXR1cylnKGlzKTExMTAgNTE4IHkoZ3JlYXRlcikzMiBiKHRoYW4pZSgxMjgpaChpZilnCi0odGhlKWYodGltZW91dClpKGlzKWUoZXhjZWVkZWQuKTYzMCA2ODIgeSBGcygtdSlnIEZpKGZkKTI1OAotYiBGdChSZWFkKTMxIGIoaW5wdXQpZShmcm9tKWgoXDAxNGxlKWcoZGVzY3JpcHRvciloIEZxKGZkKXQKLUZ0KC4pMTUwIDg0NyB5IEZzKHJlYWRhcnJheSk4NzAgOTU2IHkocmVhZGFycmF5KTQ1IGIoWy1uKWkKLUZpKGNvdW50KTExIGIgRnMoXSk0NiBiKFstTyloIEZpKG9yaWdpbikxMSBiIEZzKF0pNDUKLWIoWy1zKWkgRmkoY291bnQpMTEgYiBGcyhdKTQ2IGIoWy10XSlnKFstdSloIEZpKGZkKTExCi1iIEZzKF0pNDcgYihbKTg3MCAxMDY2IHkoLUMpZyBGaShjYWxsYmFjaykxMSBiIEZzKF0pNDUKLWIoWy1jKWkgRmkocXVhbnR1bSkxMSBiIEZzKF0pNDUgYihbKXAgRmkoYXJyYXkpMTEgYiBGcyhdKTYzMAotMTIwMyB5IEZ0KFJlYWQpMzcgYihsaW5lcylnKGZyb20pZih0aGUpaChzdGFuZGFyZClmKGlucHV0KWcoaW4pbSh0byloCi0odGhlKWcoaW5kZXhlZClmKGFycmEpbSh5KWkodiktNSBiKGFyaWFibGUpMzcgYiBGcShhcnJhKW0oeSk4Ci1iIEZ0KCwpMzkgYihvcik2MzAgMTMxMyB5KGZyb20pMzAgYihcMDE0bGUpZyhkZXNjcmlwdG9yKWgKLUZxKGZkKWkgRnQoaWYpZCh0aGUpaChgKXAgRnMoLXUpcCBGdCgnKWYob3B0aW9uKWgoaXMpZihzdXBwbGllZC4pNjMwCi0xNDUwIHkoQSlnKHN5bm9uKW0oeW0pZyhmb3IpZyBGcyhtYXBmaWxlKXAgRnQoLikxNTAgMTYxNAoteSBGcyhzb3VyY2UpODcwIDE3NTEgeShzb3VyY2UpNDYgYiBGaShmaWxlbmFtZSk2MzAgMTg4OAoteSBGdChBKTMwIGIoc3lub24pbSh5bSlnKGZvcilnIEZzKC4pZyBGdChcKHNlZSlpKFNlY3Rpb24pZig0LjEpZwotKFtCb3VybmUpZyhTaGVsbClmKEJ1aWx0aW5zXSwpaChwYWdlKWcoMzVcKS4pMTUwIDIwNTIKLXkgRnModHlwZSk4NzAgMjE4OSB5KHR5cGUpNDcgYihbLWFmcHRQXSllKFspcCBGaShuYW1lKTU3Ci1iIEZzKC4uLilvKF0pNjMwIDIzMjYgeSBGdChGKS04IGIob3IpNDEgYihlYWMpbShoKWggRnEobmFtZSk1Ci1iIEZ0KCwpNDQgYihpbmRpY2F0ZSllKGhvKW0odylmKGl0KWcodyltKG91bGQpZihiKXMoZSlnKGluKW0odGVycHJldGVkKQotaChpZilnKHVzZWQpZihhcyloKGEpZyhjb21tYW5kKTYzMCAyNDM2IHkobmFtZS4pNjMwIDI1NzMKLXkoSWYpZCh0aGUpZyhgKXAgRnMoLXQpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyh1c2VkLClpCi1Gcyh0eXBlKWQgRnQocHJpbiltKHRzKWcoYSlpKHNpbmdsZSlmKHcpbShvcmQpZyh3aGljKW0oaClnKGlzKWcob25lKWcKLShvZiloKGApcCBGcyhhbGlhcylwIEZ0KCcsKTYzMCAyNjgyIHkoYClwIEZzKGZ1bmN0aW9uKXAKLUZ0KCcsKTMyIGIoYClwIEZzKGJ1aWx0aW4pcCBGdCgnLClnKGApcCBGcyhmaWxlKXAgRnQoJylnKG9yKWgoYClwCi1GcyhrZXl3b3JkKXAgRnQoJywpZihpZiloIEZxKG5hbWUpMzggYiBGdChpcykzMyBiKGFuKWYoYWxpYXMsKWooc2hlbGwpZQotKGZ1bmN0aW9uLCk2MzAgMjc5MiB5KHNoZWxsKWkoYnVpbHRpbiwpZyhkaXNrKWcoXDAxNGxlLCloKG9yKWUoc2hlbGwpaAotKHJlc2VydiltKGVkKWcodyltKG9yZCwpaChyZXNwKXMoZWN0aXYpbShlbHkpLTggYiguKTU1Ci1iKElmKTM0IGIodGhlKWggRnEobmFtZSk0MCBiIEZ0KGlzKTM1IGIobm90KTYzMCAyOTAyCi15KGZvdW5kLCkyOSBiKHRoZW4paChub3RoaW5nKWgoaXMpZihwcmluKW0odGVkLClnKGFuZClnCi1Gcyh0eXBlKWYgRnQocmV0dXJucylnKGEpaShmYWlsdXJlKWcoc3RhdHVzLik2MzAgMzAzOQoteShJZikzOSBiKHRoZSlnKGApcCBGcygtcClwIEZ0KCcpZyhvcHRpb24paChpcylmKHVzZWQsKWkKLUZzKHR5cGUpZCBGdChlaXRoZXIpaChyZXR1cm5zKWYodGhlKWkobmFtZSlmKG9mKWcodGhlKWcoZGlzaylnKFwwMTRsZSlnCi0odGhhdCk2MzAgMzE0OCB5KHcpbShvdWxkKTMwIGIoYilzKGUpZyhleGVjdXRlZCwpaChvcilnKG5vdGhpbmcpZihpZilnCi0oYClwIEZzKC10KXAgRnQoJyloKHcpbShvdWxkKWYobm90KWcocmV0dXJuKWcoYClwIEZzKGZpbGUpcAotRnQoJy4pNjMwIDMyODUgeShUaGUpMjMgYihgKXAgRnMoLVApcCBGdCgnKWcob3B0aW9uKWgoZm9yY2VzKWcoYSlnCi0ocGF0aClmKHNlYXJjKW0oaCloKGZvcilmKGVhYyltKGgpaCBGcShuYW1lKTUgYiBGdCgsKTI2Ci1iKGV2KW0oZW4pZShpZilmKGApcCBGcygtdClwIEZ0KCcpZyh3KW0ob3VsZClnKG5vdCloKHJldHVybik2MzAKLTMzOTUgeShgKXAgRnMoZmlsZSlwIEZ0KCcuKTYzMCAzNTMyIHkoSWYpMzQgYihhKWkoY29tbWFuZCllKGlzKWgKLShoYXNoZWQsKWcoYClwIEZzKC1wKXAgRnQoJylnKGFuZClmKGApcCBGcygtUClwIEZ0KCcpaChwcmluKW0odClmKHRoZSloCi0oaGFzaGVkKWYodiktNSBiKGFsdWUsKTM3IGIobm90KWUobmVjZXNzYXJpbHkpNjMwIDM2NDEKLXkodGhlKWMoXDAxNGxlKWYodGhhdCloKGFwcClzKGVhcnMpZihcMDE0cnN0KWYoaW4paCBGcygkUEFUSClwCi1GdCguKTYzMCAzNzc4IHkoSWYpMzYgYih0aGUpaChgKXAgRnMoLWEpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyh1c2VkLClnCi1Gcyh0eXBlKWYgRnQocmV0dXJucylmKGFsbClqKG9mKWYodGhlKWcocGxhY2VzKWcodGhhdClnKGNvbiltKHRhaW4paAotKGFuKWYoZXhlLSk2MzAgMzg4OCB5KGN1dGFibGUpZChuYW1lZClmIEZxKFwwMTRsZSk1IGIKLUZ0KC4pNDkgYihUaGlzKTMyIGIoaW5jbHVkZXMpaChhbGlhc2VzKWkoYW5kKWQoZnVuY3Rpb25zLClpKGlmKWYoYW5kKWYKLShvbmx5KWkoaWYpZih0aGUpZyhgKXAgRnMoLXApcCBGdCgnKTYzMCAzOTk4IHkob3B0aW9uKWUoaXMpZihub3QpaAotKGFsc28pZyh1c2VkLik2MzAgNDEzNCB5KElmKTI2IGIodGhlKWgoYClwIEZzKC1mKXAgRnQoJylnKG9wdGlvbilnKGlzKWcKLSh1c2VkLClnIEZzKHR5cGUpZSBGdChkbylzKGVzKWkobm90KWcoYXR0ZW1wdClnKHRvKWgoXDAxNG5kKWQoc2hlbGwpaQotKGZ1bmN0aW9ucywpZyhhcylnKHdpdGgpNjMwIDQyNDQgeSh0aGUpayBGcyhjb21tYW5kKWQKLUZ0KGJ1aWx0aW4uKTYzMCA0MzgxIHkoVGhlKWoocmV0dXJuKWYoc3RhdHVzKWgoaXMpZyh6ZXJvKWgoaWYpZihhbGwpaAotKG9mKWYodGhlKWggRnEobmFtZXMpaSBGdChhcmUpZShmb3VuZCwpZShub24temVybylpKGlmKWYoYW4pbSh5KWcoYXJlKWgKLShub3QpNjMwIDQ0OTEgeShmb3VuZC4pMTUwIDQ2NTUgeSBGcyh0eXBlc2V0KTg3MCA0NzkyCi15KHR5cGVzZXQpNDYgYihbLWFmRnJ4aV0pZihbLXBdKWkoWylwIEZpKG5hbWUpMTEgYiBGcyhbPSlwCi1GaSh2YWx1ZSlnIEZzKF0pNDMgYiguLi4pbyhdKTYzMCA0OTI5IHkgRnQoVGhlKTI5IGIgRnModHlwZXNldClmCi1GdChjb21tYW5kKWgoaXMpZyhzdXBwbGllZClnKGZvcilnKGNvbXBhdGliaWxpdCltKHkpaih3aXRoKWQodGhlKWgKLShLb3JuKWUoc2hlbGw7KWooaG8pbSh3LSk2MzAgNTAzOSB5KGV2KW0oZXIsKWcoaXQpZyhoYXMpZihiKXMoZWVuKWcKLShkZXByZWNhdGVkKWgoaW4pZihmYSltKHYpbShvcilpKG9mKWUodGhlKWggRnMoZGVjbGFyZSlkCi1GdChidWlsdGluKWkoY29tbWFuZC4pMTUwIDUyMDMgeSBGcyh1bGltaXQpODcwIDUzNDAgeSh1bGltaXQpNDYKLWIoWy1hYmNkZWZpbG1ucHFyc3R1dnhIU1RdKTQxIGIoWylwIEZpKGxpbWl0KTExIGIgRnMoXSlwCi1lb3AgZW5kCi0lJVBhZ2U6IDUwIDU2Ci1UZVhEaWN0IGJlZ2luIDUwIDU1IGJvcCAxNTAgLTExNiBhIEZ0KDUwKTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkgRnModWxpbWl0KTI1IGIgRnQocHJvKW0odmlkZXMpaChjb24pbQotKHRyb2wpaShvKW0odiltKGVyKWcodGhlKWYocmVzb3VyY2VzKWYoYSltKHYpLTUgYihhaWxhYmxlKTI5Ci1iKHRvKWUocHJvKXMoY2Vzc2VzKWYoc3RhcnRlZCloKGIpbSh5KWcodGhlKTYzMCA0MDggeShzaGVsbCwpaShvbilmCi0oc3lzdGVtcylnKHRoYXQpaChhbGxvKW0odyloKHN1YyltKGgpZShjb24pbSh0cm9sLik0MQotYihJZikyOCBiKGFuKWcob3B0aW9uKWgoaXMpZihnaXYpbShlbiwpaShpdCllKGlzKWgoaW4pbSh0ZXJwcmV0ZWQpNjMwCi01MTggeShhcylpKGZvbGxvKW0od3M6KTYzMCA2NzEgeSBGcygtUykzODQgYiBGdChDaGFuZ2UpMzAKLWIoYW5kKWcocmVwKXMob3J0KWcodGhlKWcoc29mdCloKGxpbWl0KWcoYXNzbylzKGNpYXRlZCloKHdpdGgpZShhKWgKLShyZXNvdXJjZS4pNjMwIDgyNSB5IEZzKC1IKTM4NCBiIEZ0KENoYW5nZSkzMCBiKGFuZClnKHJlcClzKG9ydClnKHRoZSlnCi0oaGFyZClnKGxpbWl0KWgoYXNzbylzKGNpYXRlZCloKHdpdGgpZShhKWgocmVzb3VyY2UuKTYzMAotOTc4IHkgRnMoLWEpMzg0IGIgRnQoQWxsKTMxIGIoY3VycmVuKW0odClmKGxpbWl0cyloKGFyZSlnKHJlcClzKG9ydGVkLikKLTYzMCAxMTMyIHkgRnMoLWIpMzg0IGIgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKHNvKXMoYyltKGspbShldClpCi0oYnVcMDEzZXIpZShzaXplLik2MzAgMTI4NSB5IEZzKC1jKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhzaXplKQotaChvZilnKGNvcmUpZyhcMDE0bGVzKWYoY3JlYXRlZC4pNjMwIDE0MzkgeSBGcygtZCkzODQKLWIgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKHNpemUpaChvZilnKGEpZyhwcm8pcyhjZXNzJ3MpZihkYXRhKWgKLShzZWdtZW4pbSh0Lik2MzAgMTU5MiB5IEZzKC1lKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhzYyltCi0oaGVkdWxpbmcpaChwcmlvcml0KW0oeSlmKFwoKXAgRnMoIilwIEZ0KG5pY2UpcCBGcygiKXAKLUZ0KFwpLik2MzAgMTc0NSB5IEZzKC1mKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhzaXplKWgob2YpZwotKFwwMTRsZXMpZih3cml0dGVuKWgoYiltKHkpZih0aGUpZyhzaGVsbCloKGFuZClmKGl0cyloKGMpbShoaWxkcmVuLik2MzAKLTE4OTkgeSBGcygtaSkzODQgYiBGdChUaGUpMzAgYihtYXhpbSltKHVtKWcobiltKHVtKW0oYilzKGVyKWYob2YpaShwKXMKLShlbmRpbmcpZShzaWduYWxzLik2MzAgMjA1MiB5IEZzKC1sKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZwotKHNpemUpaCh0aGF0KWcobWEpbSh5KWcoYilzKGUpZihsbylzKGMpbShrKW0oZWQpaShpbiltKHRvKWYobWVtb3J5KS04Ci1iKC4pNjMwIDIyMDYgeSBGcygtbSkzODQgYiBGdChUaGUpMzYgYihtYXhpbSltKHVtKWcocmVzaWRlbiltKHQpaChzZXQpZwotKHNpemUpZyhcKG1hbiltKHkpZyhzeXN0ZW1zKWYoZG8paChub3QpZihob25vcilnKHRoaXMpMTExMAotMjMxNSB5KGxpbWl0XCkuKTYzMCAyNDY5IHkgRnMoLW4pMzg0IGIgRnQoVGhlKTM4IGIobWF4aW0pbSh1bSloKG4pbSh1bSkKLW0oYilzKGVyKWUob2YpaShvcClzKGVuKWYoXDAxNGxlKWgoZGVzY3JpcHRvcnMpZyhcKG1vc3QpZyhzeXN0ZW1zKWcoZG8pCi0xMTEwIDI1NzggeShub3QpMzEgYihhbGxvKW0odylnKHRoaXMpZyh2KS01IGIoYWx1ZSkzMQotYih0bylnKGIpcyhlKWUoc2V0XCkuKTYzMCAyNzMyIHkgRnMoLXApMzg0IGIgRnQoVGhlKTMwCi1iKHBpcClzKGUpZihidVwwMTNlciloKHNpemUuKTYzMCAyODg1IHkgRnMoLXEpMzg0IGIgRnQoVGhlKTMwCi1iKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZilpKGIpbSh5dGVzKWcoaW4pZihQT1NJWClmKG1lc3NhZ2UpagotKHF1ZXVlcy4pNjMwIDMwMzkgeSBGcygtcikzODQgYiBGdChUaGUpMzAgYihtYXhpbSltKHVtKWcocmVhbC10aW1lKWkKLShzYyltKGhlZHVsaW5nKWYocHJpb3JpdCltKHkpLTggYiguKTYzMCAzMTkyIHkgRnMoLXMpMzg0Ci1iIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhzdGFjKW0oaylpKHNpemUuKTYzMCAzMzQ1Ci15IEZzKC10KTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhhbW91biltKHQpaChvZilmKGNwdSlnKHRpbWUpaAotKGluKWYoc2Vjb25kcy4pNjMwIDM0OTkgeSBGcygtdSkzODQgYiBGdChUaGUpMzAgYihtYXhpbSltKHVtKWcobiltKHVtKW0KLShiKXMoZXIpZihvZilpKHBybylzKGNlc3NlcylmKGEpbSh2KS01IGIoYWlsYWJsZSkzMyBiKHRvKWUoYSlmKHNpbmdsZSlpCi0odXNlci4pNjMwIDM2NTIgeSBGcygtdikzODQgYiBGdChUaGUpMjkgYihtYXhpbSltKHVtKWgoYW1vdW4pbSh0KWcob2YpZwotKHZpcnR1YWwpZyhtZW1vcnkpZyhhKW0odiktNSBiKGFpbGFibGUpMzIgYih0byllKHRoZSlnKHBybylzKGNlc3MuKTYzMAotMzgwNiB5IEZzKC14KTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZilpCi0oXDAxNGxlKWYobG8pcyhjKW0oa3MuKTYzMCAzOTU5IHkgRnMoLVQpMzg0IGIgRnQoVGhlKTMwCi1iKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZilpKHRocmVhZHMuKTYzMCA0MTEzCi15KElmKWkgRnEobGltaXQpaiBGdChpcyllKGdpdiltKGVuLCloKGl0KWYoaXMpZyh0aGUpZyhuZXcpZih2KS01Ci1iKGFsdWUpMzQgYihvZilmKHRoZSloKHNwKXMoZWNpXDAxNGVkKWYocmVzb3VyY2U7KWkodGhlKWYoc3ApcyhlY2lhbClnCi1GcShsaW1pdCk2MzAgNDIyMiB5IEZ0KHYpLTUgYihhbHVlcykyNyBiIEZzKGhhcmQpcCBGdCgsKWcKLUZzKHNvZnQpcCBGdCgsKWcoYW5kKWcgRnModW5saW1pdGVkKWQgRnQoc3RhbmQpaihmb3IpZyh0aGUpZyhjdXJyZW4pbQotKHQpZyhoYXJkKWYobGltaXQsKWoodGhlKWUoY3VycmVuKW0odCk2MzAgNDMzMiB5KHNvZnQpMzgKLWIobGltaXQsKWooYW5kKWQobm8pZihsaW1pdCwpayhyZXNwKXMoZWN0aXYpbShlbHkpLTgKLWIoLik2NiBiKEEpMzggYihoYXJkKWYobGltaXQpaChjYW5ub3QpaChiKXMoZSllKGluY3JlYXNlZClpKGIpbSh5KWYoYSkKLTYzMCA0NDQxIHkobm9uLXJvKXMob3QpZih1c2VyKWYob25jZSlpKGl0KWcoaXMpZihzZXQ7KWsoYSljKHNvZnQpZwotKGxpbWl0KWgobWEpbSh5KWcoYilzKGUpZShpbmNyZWFzZWQpaCh1cClmKHRvKWkodGhlKWYodiktNQotYihhbHVlKTM4IGIob2YpNjMwIDQ1NTEgeSh0aGUpYyhoYXJkKWYobGltaXQuKTUxIGIoT3RoZXJ3aXNlLCkzNQotYih0aGUpZihjdXJyZW4pbSh0KWYodiktNSBiKGFsdWUpMzUgYihvZilmKHRoZSlmKHNvZnQpaShsaW1pdClmKGZvcilnCi0odGhlKWcoc3ApcyhlY2lcMDE0ZWQpNjMwIDQ2NjEgeShyZXNvdXJjZSkyNyBiKGlzKWgocHJpbiltKHRlZCwpZgotKHVubGVzcylnKHRoZSlnKGApcCBGcygtSClwIEZ0KCcpZyhvcHRpb24paChpcylmKHN1cHBsaWVkLikzOAotYihXaGVuKTI3IGIoc2V0dGluZyloKG5ldylmKGxpbWl0cywpNjMwIDQ3NzAgeShpZik0MAotYihuZWl0aGVyKWYoYClwIEZzKC1IKXAgRnQoJyloKG5vcilmKGApcCBGcygtUylwIEZ0KCcpaChpcylmKHN1cHBsaWVkLCkKLWkoYilzKG90aCllKHRoZSloKGhhcmQpZihhbmQpZyhzb2Z0KWgobGltaXRzKWcoYXJlKWcoc2V0Lik2OQotYihJZik2MzAgNDg4MCB5KG5vKTM1IGIob3B0aW9uKWgoaXMpZihnaXYpbShlbiwpaih0aGVuKWQoYClwCi1GcygtZilwIEZ0KCcpZyhpcylnKGFzc3VtZWQuKTU1IGIoViktOCBiKGFsdWVzKTM2IGIoYXJlKWYoaW4pZygxMDI0LWIpbQotKHl0ZSlqKGluY3JlbWVuKW0odHMsKTYzMCA0OTg5IHkoZXhjZXB0KWQoZm9yKWYoYClwIEZzKC10KXAKLUZ0KCcsKWcod2hpYyltKGgpZyhpcylnKGluKWcoc2Vjb25kcywpaChgKXAgRnMoLXApcCBGdCgnLClnKHdoaWMpbShoKWUKLShpcyloKGluKWcodW5pdHMpZihvZiloKDUxMi1iKW0oeXRlKWkoYmxvKXMoYyltKGtzLCk2MzAKLTUwOTkgeShhbmQpMzAgYihgKXAgRnMoLW4pcCBGdCgnKWcoYW5kKWcoYClwIEZzKC11KXAKLUZ0KCcsKWcod2hpYyltKGgpZyhhcmUpaCh1bnNjYWxlZClmKHYpLTUgYihhbHVlcy4pNjMwCi01MjMwIHkoVGhlKTM0IGIocmV0dXJuKWcoc3RhdHVzKWgoaXMpZih6ZXJvKWkodW5sZXNzKWUoYW4pZyhpbiltKHYpLTUKLWIoYWxpZCkzNiBiKG9wdGlvbilmKG9yKWYoYXJndW1lbiltKHQpaShpcyllKHN1cHBsaWVkLCloKG9yKTYzMAotNTM0MCB5KGFuKTMwIGIoZXJyb3IpZyhvKXMoY2N1cnMpZyh3aGlsZSloKHNldHRpbmcpZyhhKWcobmV3KWYobGltaXQuKXAKLWVvcCBlbmQKKzUzNDAgeShyYXRoZXIpMzAgYih0aGFuKWcobmV3bGluZS4pcCBlb3AgZW5kCiAlJVBhZ2U6IDUxIDU3CiBUZVhEaWN0IGJlZ2luIDUxIDU2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig0Oik0MQotYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNTEpMTUwIDI5OSB5IEZzKHVuYWxpYXMpODcwCi00MzUgeSh1bmFsaWFzKTQ2IGIoWy1hXSlnKFspcCBGaShuYW1lKTU3IGIgRnMoLi4uKTQ3Ci1iKF0pNjMwIDU3MiB5IEZ0KFJlbW8pbSh2KW0oZSkzOSBiKGVhYyltKGgpZiBGcShuYW1lKWsKLUZ0KGZyb20pMzYgYih0aGUpaChsaXN0KWgob2YpZihhbGlhc2VzLik2MSBiKElmKTM2IGIoYClwCi1GcygtYSlwIEZ0KCcpaChpcylnKHN1cHBsaWVkLCloKGFsbClmKGFsaWFzZXMpaShhcmUpNjMwCi02ODEgeShyZW1vKW0odiltKGVkLilqKEFsaWFzZXMpMzEgYihhcmUpZyhkZXNjcmliKXMoZWQpZShpbiloKFNlY3Rpb24paQotKDYuNilmKFtBbGlhc2VzXSwpaChwYWdlKWYoNzkuKTE1MCA5MTkgeSBGcig0LjMpNjggYihNbyl0KGRpZnlpbmcpNDUKLWIoU2hlbGwpZyhCZWhhKWwodmlvcikxNTAgMTE0NCB5IEZqKDQuMy4xKTYzIGIoVGhlKTQxCi1iKFNldClnKEJ1aWx0aW4pMTUwIDEyOTAgeSBGdChUaGlzKTM1IGIoYnVpbHRpbiloKGlzKWcoc28pZwotKGNvbXBsaWNhdGVkKWkodGhhdClmKGl0KWYoZGVzZXJ2KW0oZXMpaChpdHMpZihvKW0od24pZyhzZWN0aW9uLik1OQotYiBGcyhzZXQpMzUgYiBGdChhbGxvKW0od3Mpaih5KW0ob3UpZSh0byloKGMpbShoYW5nZSkxNTAKLTE0MDAgeSh0aGUpYyh2KS01IGIoYWx1ZXMpMzQgYihvZilmKHNoZWxsKWcob3B0aW9ucyloKGFuZCllKHNldClpKHRoZSlmCi0ocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMsKWgob3IpZSh0byloKGRpc3BsYSltKHkpZih0aGUpZyhuYW1lcyloCi0oYW5kKTE1MCAxNTEwIHkodiktNSBiKGFsdWVzKTMxIGIob2YpZihzaGVsbCloKHYpLTUgYihhcmlhYmxlcy4pMTUwCi0xNjc1IHkgRnMoc2V0KTg3MCAxODExIHkoc2V0KTQ3IGIoWy0tYWJlZmhrbW5wdHV2eEJDRUhQVF0pNDEKLWIoWy1vKTQ3IGIgRmkob3B0aW9uKTExIGIgRnMoXSk0NiBiKFspcCBGaShhcmd1bWVudCk1NQotYiBGcyguLi5dKTg3MCAxOTIxIHkoc2V0KTQ3IGIoWythYmVmaGttbnB0dXZ4QkNFSFBUXSk0MgotYihbK28pNDcgYiBGaShvcHRpb24pMTEgYiBGcyhdKTQ1IGIoWylwIEZpKGFyZ3VtZW50KTU2Ci1iIEZzKC4uLilvKF0pNjMwIDIwNTcgeSBGdChJZikyMiBiKG5vKWgob3B0aW9ucylnKG9yKWcoYXJndW1lbiltKHRzKWcKLShhcmUpZyhzdXBwbGllZCwpZyBGcyhzZXQpZiBGdChkaXNwbGEpbSh5cylnKHRoZSloKG5hbWVzKWcoYW5kKWYodiktNQotYihhbHVlcykyMyBiKG9mKWcoYWxsKTYzMCAyMTY3IHkoc2hlbGwpaih2KS01IGIoYXJpYWJsZXMpMjcKLWIoYW5kKWUoZnVuY3Rpb25zLCloKHNvcnRlZClnKGFjY29yZGluZyloKHRvKWcodGhlKWYoY3VycmVuKW0odClmKGxvKXMKLShjYWxlLClrKGluKWMoYSlpKGZvcm1hdCk2MzAgMjI3NiB5KHRoYXQpaShtYSltKHkpaChiKXMoZSllKHJldXNlZClnCi0oYXMpaChpbnB1dClmKGZvciloKHNldHRpbmcpaChvcillKHJlc2V0dGluZylpKHRoZSlmKGN1cnJlbiltKHRseS1zZXQpaAotKHYpLTUgYihhcmlhYmxlcy4pNjMwIDIzODYgeShSZWFkLW9ubHkpMzcgYih2KS01IGIoYXJpYWJsZXMpMzcKLWIoY2Fubm90KWgoYilzKGUpZShyZXNldC4pNTkgYihJbikzNiBiIEZsKHBvc2l4KWcgRnQobW8pcyhkZSwpaShvbmx5KWYKLShzaGVsbClmKHYpLTUgYihhcmlhYmxlcykzOCBiKGFyZSk2MzAgMjQ5NSB5KGxpc3RlZC4pNjMwCi0yNjMyIHkoV2hlbikyOSBiKG9wdGlvbnMpZyhhcmUpZyhzdXBwbGllZCwpZih0aGV5KWgoc2V0KWgob3IpZih1bnNldClmCi0oc2hlbGwpaChhdHRyaWJ1dGVzLik0MSBiKE9wdGlvbnMsKTI5IGIoaWYpZyhzcClzKGVjLSk2MzAKLTI3NDEgeShpXDAxNGVkLCloKGhhKW0odiltKGUpaSh0aGUpZShmb2xsbyltKHdpbmcpaShtZWFuaW5nczopNjMwCi0yOTA1IHkgRnMoLWEpMzg0IGIgRnQoTWFyaykzMiBiKHYpLTUgYihhcmlhYmxlcykzMyBiKGFuZCllKGZ1bmN0aW9uKWgKLSh3aGljKW0oaClnKGFyZSlnKG1vKXMoZGlcMDE0ZWQpZihvciloKGNyZWF0ZWQpaChmb3IpZihleC0pMTExMAotMzAxNCB5KHApcyhvcnQpZSh0byloKHRoZSlmKGVuKW0odmlyb25tZW4pbSh0KWgob2YpZyhzdWJzZXF1ZW4pbSh0KWYKLShjb21tYW5kcy4pNjMwIDMxNzcgeSBGcygtYikzODQgYiBGdChDYXVzZSk0NCBiKHRoZSloKHN0YXR1cylnKG9mKWYKLSh0ZXJtaW5hdGVkKWgoYmFjKW0oa2dyb3VuZClnKGpvYnMpZih0byloKGIpcyhlKWYocmVwKXMob3J0ZWQpMTExMAotMzI4NyB5KGltbWVkaWF0ZWx5KS04IGIoLCkzMCBiKHJhdGhlcilkKHRoYW4pZihiKXMoZWZvcmUpaChwcmluKW0odGluZykKLWcodGhlKWcobmV4dClnKHByaW1hcnkpZyhwcm9tcHQuKTYzMCAzNDUwIHkgRnMoLWUpMzg0Ci1iIEZ0KEV4aXQpNjUgYihpbW1lZGlhdGVseSlnKGlmKWYoYSloKHBpcClzKGVsaW5lKWUoXChzZWUpaShTZWN0aW9uKWcKLSgzLjIuMiloKFtQaXApcyhlbGluZXNdLCkxMTEwIDM1NjAgeShwYWdlKTU2IGIoOFwpLCk2MgotYih3aGljKW0oaCk1NSBiKG1hKW0oeSloKGNvbnNpc3QpZihvZiloKGEpZihzaW5nbGUpaChzaW1wbGUpZihjb21tYW5kKWcKLShcKHNlZSkxMTEwIDM2NjkgeShTZWN0aW9uKTQzIGIoMy4yLjEpaShbU2ltcGxlKWQoQ29tbWFuZHNdLClqKHBhZ2UpZQotKDhcKSwpayhhKWMoc3Vic2hlbGwpZShjb21tYW5kKTExMTAgMzc3OSB5KGVuY2xvc2VkKTMyCi1iKGluKWYocGFyZW4pbSh0aGVzZXMpaChcKHNlZSloKFNlY3Rpb24pZigzLjIuNC4zKWkoW0NvbW1hbmQpZAotKEdyb3VwaW5nXSwpMTExMCAzODg5IHkocGFnZSloKDEzXCksKWgob3IpZShvbmUpZyhvZiloKHRoZSlmKGNvbW1hbmRzKWcKLShleGVjdXRlZCloKGFzKWYocGFydClnKG9mKWgoYSlmKGNvbW1hbmQpMTExMCAzOTk4IHkobGlzdCkzNwotYihlbmNsb3NlZClnKGIpbSh5KWYoYnJhY2VzKWcoXChzZWUpaChTZWN0aW9uKWcoMy4yLjQuMyloKFtDb21tYW5kKWUKLShHcm91cGluZ10sKTExMTAgNDEwOCB5KHBhZ2UpNDggYigxM1wpKWcocmV0dXJucylkKGEpaihub24temVybylmCi0oc3RhdHVzLik5MSBiKFRoZSk0NiBiKHNoZWxsKWgoZG8pcyhlcylnKG5vdClnKGV4aXQpaChpZikxMTEwCi00MjE3IHkodGhlKTM5IGIoY29tbWFuZClmKHRoYXQpaChmYWlscylnKGlzKWYocGFydClnKG9mKWgodGhlKWYKLShjb21tYW5kKWgobGlzdClnKGltbWVkaWF0ZWx5KTExMTAgNDMyNyB5KGZvbGxvKW0od2luZyk0NwotYihhKWYgRnMod2hpbGUpZSBGdChvciloIEZzKHVudGlsKWYgRnQoayltKGV5dyltKG9yZCwpNTAKLWIocGFydCk0NSBiKG9mKWgodGhlKWcodGVzdClnKGluKWYoYW4paCBGcyhpZikxMTEwIDQ0MzYKLXkgRnQoc3RhdGVtZW4pbSh0LCkzMSBiKHBhcnQpZChvZiloKGFuKW0oeSlnKGNvbW1hbmQpZihleGVjdXRlZCloKGluKWcKLShhKWcgRnMoJiYpZSBGdChvcilpIEZzKHx8KWYgRnQobGlzdCloKGV4Y2VwdCkxMTEwIDQ1NDYKLXkodGhlKTQ4IGIoY29tbWFuZCloKGZvbGxvKW0od2luZylnKHRoZSlnKFwwMTRuYWwpZiBGcygmJilmCi1GdChvcilpIEZzKHx8KXAgRnQoLClqKGFuKW0oeSlkKGNvbW1hbmQpZihpbilnKGEpMTExMAotNDY1NiB5KHBpcClzKGVsaW5lKTM5IGIoYnV0KWYodGhlKWkobGFzdCwpaShvcilkKGlmKWcodGhlKWgoY29tbWFuZCdzKWYKLShyZXR1cm4pZihzdGF0dXMpaChpcylnKGIpcyhlaW5nKTExMTAgNDc2NSB5KGluKW0odiltKGVydGVkKTMzCi1iKHdpdGgpZSBGcyghKXAgRnQoLik0NSBiKEEpMzIgYih0cmFwKWcob24pZiBGcyhFUlIpcAotRnQoLCloKGlmKWcoc2V0LCloKGlzKWYoZXhlY3V0ZWQpZyhiKXMoZWZvcmUpZyh0aGUpZyhzaGVsbCkxMTEwCi00ODc1IHkoZXhpdHMuKTExMTAgNTAxMSB5KFRoaXMpZShvcHRpb24paChhcHBsaWVzKWYodG8paCh0aGUpZyhzaGVsbClnCi0oZW4pbSh2aXJvbm1lbiltKHQpZyhhbmQpZihlYWMpbShoKWgoc3Vic2hlbGwpZihlbi0pMTExMAotNTEyMSB5KHZpcm9ubWVuKW0odClqKHNlcGFyYXRlbHkpaShcKHNlZSlmKFNlY3Rpb24pZygzLjcuMyloKFtDb21tYW5kKWQKLShFeGVjdXRpb24paShFbi0pMTExMCA1MjMwIHkodmlyb25tZW4pbSh0XSwpaShwYWdlKWYoMzBcKSwpaShhbmQpZChtYSltCi0oeSloKGNhdXNlKWYoc3Vic2hlbGxzKWcodG8paChleGl0KWcoYilzKGVmb3JlKWYoZXhlLSkxMTEwCi01MzQwIHkoY3V0aW5nKWQoYWxsKWcodGhlKWcoY29tbWFuZHMpZihpbilnKHRoZSlnKHN1YnNoZWxsLilwCi1lb3AgZW5kCitiKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig1MSk2MzAgMjk5IHkgRnMoLWUpMzg0CitiIEZ0KFJlYWRsaW5lKTI4IGIoXChzZWUpaChDaGFwdGVyKWUoOCloKFtDb21tYW5kKWYoTGluZSlnKEVkaXRpbmddLClpCisocGFnZSlmKDk1XCkpaChpcylmKHVzZWQpMTExMCA0MDggeSh0byk0MiBiKG9idGFpbilmKHRoZSlnKGxpbmUuKTczCitiKFJlYWRsaW5lKTQxIGIodXNlcylnKHRoZSlnKGN1cnJlbiltKHQpZyhcKG9yKWcoZGVmYXVsdCwpaihpZilkKGxpbmUpCisxMTEwIDUxOCB5KGVkaXRpbmcpMzEgYih3KW0oYXMpZyhub3QpZihwcmV2aW91c2x5KWcoYWN0aXYpbShlXCkpagorKGVkaXRpbmcpZihzZXR0aW5ncy4pNjMwIDY4NyB5IEZzKC1pKWUgRmkodGV4dCkxNjIgYgorRnQoSWYpMzYgYihSZWFkbGluZSlpKGlzKWYoYilzKGVpbmcpZyh1c2VkKWYodG8paChyZWFkKWcodGhlKWcobGluZSwpagorRnEodGV4dClmIEZ0KGlzKWUocGxhY2VkKWgoaW4pbSh0bylnKHRoZSkxMTEwIDc5NyB5KGVkaXRpbmcpMzEKK2IoYnVcMDEzZXIpZShiKXMoZWZvcmUpaChlZGl0aW5nKWgoYilzKGVnaW5zLik2MzAgOTY2Cit5IEZzKC1uKWYgRmkobmNoYXJzKTExMTAgMTA3NiB5IEZzKHJlYWQpMzggYiBGdChyZXR1cm5zKWYoYWZ0ZXIpagorKHJlYWRpbmcpZiBGcShuYyltKGhhcnMpaiBGdChjKW0oaGFyYWN0ZXJzKWUocmF0aGVyKWYodGhhbilnKHcpbQorKGFpdGluZykxMTEwIDExODYgeShmb3IpZyhhKWgoY29tcGxldGUpaChsaW5lKWYob2YpZihpbnB1dCwpaShidXQpZQorKGhvbm9yKWcoYSloKGRlbGltaXRlcilnKGlmKWYoZmV3KW0oZXIpaCh0aGFuKTExMTAgMTI5NQoreSBGcShuYyltKGhhcnMpMzQgYiBGdChjKW0oaGFyYWN0ZXJzKWUoYXJlKWUocmVhZCloKGIpcyhlZm9yZSlmKHRoZSlnCisoZGVsaW1pdGVyLik2MzAgMTQ2NSB5IEZzKC1OKWcgRmkobmNoYXJzKTExMTAgMTU3NCB5CitGcyhyZWFkKTM5IGIgRnQocmV0dXJucylmKGFmdGVyKWoocmVhZGluZyllKGV4YWN0bHkpagorRnEobmMpbShoYXJzKWggRnQoYyltKGhhcmFjdGVycylmKHJhdGhlcilkKHRoYW4pMTExMAorMTY4NCB5KHcpbShhaXRpbmcpMzIgYihmb3IpZihhKWcoY29tcGxldGUpaShsaW5lKWUob2YpZyhpbnB1dCwpZworKHVubGVzcylmKEVPRiloKGlzKWcoZW5jb3VuKW0odGVyZWQpZyhvcikxMTEwIDE3OTMgeQorRnMocmVhZClmIEZ0KHRpbWVzKWkob3V0Lik0MyBiKERlbGltaXRlcikzMyBiKGMpbShoYXJhY3RlcnMpZihlbmNvdW4pbQorKHRlcmVkKWcoaW4pZih0aGUpZyhpbnB1dClnKGFyZSkxMTEwIDE5MDMgeShub3QpZyh0cmVhdGVkKWgoc3ApcworKGVjaWFsbHkpZyhhbmQpZihkbylmKG5vdClpKGNhdXNlKWYgRnMocmVhZClmIEZ0KHRvKWkocmV0dXJuKWUodW4pbQorKHRpbCloIEZxKG5jKW0oaGFycykxMTEwIDIwMTIgeSBGdChjKW0oaGFyYWN0ZXJzKWgoYXJlKWYocmVhZC4pNjMwCisyMTgyIHkgRnMoLXApZiBGaShwcm9tcHQpMTExMCAyMjkxIHkgRnQoRGlzcGxhKW0oeSkzOAorYiBGcShwcm9tcHQpciBGdCgsKWYod2l0aG91dClnKGEpZih0cmFpbGluZylpKG5ld2xpbmUsKWcoYilzKGVmb3JlKWUKKyhhdHRlbXB0aW5nKWkodG8pMTExMCAyNDAxIHkocmVhZClmKGFuKW0oeSloKGlucHV0Lik2MAorYihUaGUpMzcgYihwcm9tcHQpZyhpcylnKGRpc3BsYSltKHkpbShlZCloKG9ubHkpZihpZilnKGlucHV0KWcoaXMpZworKGNvbWluZykxMTEwIDI1MTEgeShmcm9tKTMwIGIoYSloKHRlcm1pbmFsLik2MzAgMjY4MAoreSBGcygtcikzODQgYiBGdChJZikyMSBiKHRoaXMpaChvcHRpb24pZyhpcylmKGdpdiltKGVuLClrKGJhYyltKGtzbGFzaCkKK2QoZG8pcyhlcylmKG5vdCloKGFjdCloKGFzKWYoYW4pZihlc2NhcClzKGUpaChjKW0oaGFyYWN0ZXIuKTExMTAKKzI3OTAgeShUaGUpMzAgYihiYWMpbShrc2xhc2gpaShpcylmKGNvbnNpZGVyZWQpZyh0byloKGIpcyhlKWUocGFydCloCisob2YpZyh0aGUpZyhsaW5lLik0MyBiKEluKTMwIGIocGFydGljdWxhciwpaShhKTExMTAgMjg5OQoreShiYWMpbShrc2xhc2gtbmV3bGluZSlmKHBhaXIpZihtYSltKHkpaChub3QpZyhiKXMoZSlmKHVzZWQpZihhcylpKGEpZworKGxpbmUpZihjb24pbSh0aW4pbSh1YXRpb24uKTYzMCAzMDY4IHkgRnMoLXMpMzg0IGIgRnQoU2lsZW4pbSh0KTI4CitiKG1vKXMoZGUuKTQwIGIoSWYpMjcgYihpbnB1dClmKGlzKWkoY29taW5nKWcoZnJvbSlmKGEpaCh0ZXJtaW5hbCwpaChjKQorbShoYXJhY3RlcnMpZyhhcmUpZihub3QpMTExMCAzMTc4IHkoZWMpbShobylzKGVkLik2MzAKKzMzNDcgeSBGcygtdClpIEZpKHRpbWVvdXQpMTExMCAzNDU3IHkgRnQoQ2F1c2UpMjMgYiBGcyhyZWFkKWYKK0Z0KHRvKWkodGltZSlmKG91dCloKGFuZCllKHJldHVybilnKGZhaWx1cmUpaChpZilnKGEpaChjb21wbGV0ZSlnKGxpbmUpCitnKG9mKWYoaW5wdXQpMTExMCAzNTY3IHkoaXMpNDQgYihub3QpZihyZWFkKWgod2l0aGluKWUKK0ZxKHRpbWVvdXQpNDcgYiBGdChzZWNvbmRzLik4MCBiIEZxKHRpbWVvdXQpNDYgYiBGdChtYSltKHkpZShiKXMoZSlmKGEpCitoKGRlY2ltYWwpMTExMCAzNjc2IHkobiltKHVtKW0oYilzKGVyKTI2IGIod2l0aCloKGEpaChmcmFjdGlvbmFsKWgocClzCisob3J0aW9uKWQoZm9sbG8pbSh3aW5nKWoodGhlKWYoZGVjaW1hbClnKHApcyhvaW4pbSh0Lik0MAorYihUaGlzKTExMTAgMzc4NiB5KG9wdGlvbilnKGlzKWcob25seSlnKGVcMDEzZWN0aXYpbShlKWooaWYpYworRnMocmVhZClnIEZ0KGlzKWgocmVhZGluZylnKGlucHV0KWYoZnJvbSlnKGEpaCh0ZXJtaW5hbCwpMTExMAorMzg5NSB5KHBpcClzKGUsKTI1IGIob3IpZShvdGhlcilpKHNwKXMoZWNpYWwpZihcMDE0bGU7KWkoaXQpZihoYXMpZShubykKK2goZVwwMTNlY3QpaCh3aGVuKWUocmVhZGluZyloKGZyb20pZyhyZWd1bGFyKTExMTAgNDAwNQoreShcMDE0bGVzLik1NSBiKElmKTM0IGIgRnEodGltZW91dClrIEZ0KGlzKWQoMCwpaSBGcyhyZWFkKWQKK0Z0KHJldHVybnMpZyhzdWNjZXNzKWgoaWYpZyhpbnB1dClnKGlzKWcoYSltKHYpLTUgYihhaWxhYmxlKTM3CitiKG9uKTExMTAgNDExNSB5KHRoZSlqKHNwKXMoZWNpXDAxNGVkKWYoXDAxNGxlKWcoZGVzY3JpcHRvciwpaihmYWlsdXJlKQorZShvdGhlcndpc2UuKTY5IGIoVGhlKTM5IGIoZXhpdCloKHN0YXR1cylnKGlzKTExMTAgNDIyNAoreShncmVhdGVyKTMyIGIodGhhbillKDEyOCloKGlmKWcodGhlKWYodGltZW91dClpKGlzKWUoZXhjZWVkZWQuKTYzMAorNDM5NCB5IEZzKC11KWcgRmkoZmQpMjU4IGIgRnQoUmVhZCkzMSBiKGlucHV0KWUoZnJvbSloKFwwMTRsZSlnCisoZGVzY3JpcHRvciloIEZxKGZkKXQgRnQoLikxNTAgNDU2MyB5IEZzKHJlYWRhcnJheSk4NzAKKzQ2NzIgeShyZWFkYXJyYXkpNDUgYihbLW4paSBGaShjb3VudCkxMSBiIEZzKF0pNDYgYihbLU8paAorRmkob3JpZ2luKTExIGIgRnMoXSk0NSBiKFstcylpIEZpKGNvdW50KTExIGIgRnMoXSk0NgorYihbLXRdKWcoWy11KWggRmkoZmQpMTEgYiBGcyhdKTQ3IGIoWyk4NzAgNDc4MiB5KC1DKWcKK0ZpKGNhbGxiYWNrKTExIGIgRnMoXSk0NSBiKFstYylpIEZpKHF1YW50dW0pMTEgYiBGcyhdKTQ1CitiKFspcCBGaShhcnJheSkxMSBiIEZzKF0pNjMwIDQ5MjIgeSBGdChSZWFkKTM3IGIobGluZXMpZyhmcm9tKWYodGhlKWgKKyhzdGFuZGFyZClmKGlucHV0KWcoaW4pbSh0byloKHRoZSlnKGluZGV4ZWQpZihhcnJhKW0oeSlpKHYpLTUKK2IoYXJpYWJsZSkzNyBiIEZxKGFycmEpbSh5KTggYiBGdCgsKTM5IGIob3IpNjMwIDUwMzEKK3koZnJvbSkzMCBiKFwwMTRsZSlnKGRlc2NyaXB0b3IpaCBGcShmZClpIEZ0KGlmKWQodGhlKWgoYClwCitGcygtdSlwIEZ0KCcpZihvcHRpb24paChpcylmKHN1cHBsaWVkLik2MzAgNTE3MSB5KEEpZyhzeW5vbiltKHltKWcoZm9yKQorZyBGcyhtYXBmaWxlKXAgRnQoLikxNTAgNTM0MCB5IEZzKHNvdXJjZSlwIGVvcCBlbmQKICUlUGFnZTogNTIgNTgKIFRlWERpY3QgYmVnaW4gNTIgNTcgYm9wIDE1MCAtMTE2IGEgRnQoNTIpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeSBGcygtZikzODQgYiBGdChEaXNhYmxlKTMxCi1iKFwwMTRsZW5hbWUpZyhleHBhbnNpb24pZihcKGdsb2JiaW5nXCkuKTYzMCA0NTUgeSBGcygtaCkzODQKLWIgRnQoTG8pcyhjYXRlKTMzIGIoYW5kKWUocmVtZW0pbShiKXMoZXIpaChcKGhhc2hcKSlnKGNvbW1hbmRzKWYoYXMpaAotKHRoZXkpZyhhcmUpZyhsbylzKG9rKW0oZWQpaCh1cCllKGZvcikxMTEwIDU2NSB5KGV4ZWN1dGlvbi4pNDIKLWIoVGhpcykyOSBiKG9wdGlvbilpKGlzKWcoZW5hYmxlZClmKGIpbSh5KWcoZGVmYXVsdC4pNjMwCi03MjIgeSBGcygtaykzODQgYiBGdChBbGwpMzQgYihhcmd1bWVuKW0odHMpZyhpbilmKHRoZSloKGZvcm0pZihvZilnCi0oYXNzaWdubWVuKW0odCloKHN0YXRlbWVuKW0odHMpaShhcmUpZChwbGFjZWQpaChpbikxMTEwCi04MzEgeSh0aGUpayhlbiltKHZpcm9ubWVuKW0odClnKGZvcilnKGEpZyhjb21tYW5kLCloKG5vdClmKGp1c3QpZgotKHRob3NlKWkodGhhdClmKHByZWNlZGUpZyh0aGUpMTExMCA5NDEgeShjb21tYW5kKTMwIGIobmFtZS4pNjMwCi0xMDk3IHkgRnMoLW0pMzg0IGIgRnQoSm9iKTMwIGIoY29uKW0odHJvbClpKGlzKWUoZW5hYmxlZCloKFwoc2VlKWcKLShDaGFwdGVyKWYoNylnKFtKb2IpaChDb24pbSh0cm9sXSwpZyhwYWdlKWcoODlcKS4pNjMwCi0xMjU0IHkgRnMoLW4pMzg0IGIgRnQoUmVhZCkyMSBiKGNvbW1hbmRzKWYoYnV0KWcoZG8paChub3QpZyhleGVjdXRlKWgKLSh0aGVtOylpKHRoaXMpZChtYSltKHkpZyhiKXMoZSlmKHVzZWQpZyh0byloKGMpbShoZWMpbShrKTExMTAKLTEzNjMgeShhKTQyIGIoc2NyaXB0KWcoZm9yKWcoc3luKW0odGF4KWcoZXJyb3JzLik3NSBiKFRoaXMpNDEKLWIob3B0aW9uKWgoaXMpZyhpZ25vcmVkKWcoYiltKHkpZyhpbiltKHRlcmFjdGl2KW0oZSkxMTEwCi0xNDczIHkoc2hlbGxzLik2MzAgMTYzMCB5IEZzKC1vKTMwIGIgRmkob3B0aW9uLW5hbWUpMTExMAotMTczOSB5IEZ0KFNldCloKHRoZSlmKG9wdGlvbiloKGNvcnJlc3ApcyhvbmRpbmcpZSh0bylpCi1GcShvcHRpb24tbmFtZSk1IGIgRnQoOikxMTEwIDE4OTYgeSBGcyhhbGxleHBvcnQpMTU5MAotMjAwNSB5IEZ0KFNhbWUpMzAgYihhcyloIEZzKC1hKXAgRnQoLikxMTEwIDIxNjIgeSBGcyhicmFjZWV4cGFuZCkxNTkwCi0yMjcxIHkgRnQoU2FtZSlmKGFzKWggRnMoLUIpcCBGdCguKTExMTAgMjQyOCB5IEZzKGVtYWNzKTI0MAotYiBGdChVc2UpMjUgYihhbilmIEZzKGVtYWNzKXAgRnQoLXN0KW0oeWxlKWgobGluZSlmKGVkaXRpbmcpaChpbiltCi0odGVyZmFjZSloKFwoc2VlKWcoQ2hhcHRlcillKDgpMTU5MCAyNTM4IHkoW0NvbW1hbmQpMzgKLWIoTGluZSlnKEVkaXRpbmddLClpKHBhZ2UpZig5M1wpLik2NiBiKFRoaXMpMzcgYihhbHNvKWkoYVwwMTNlY3RzKTE1OTAKLTI2NDcgeSh0aGUpMzEgYihlZGl0aW5nKWcoaW4pbSh0ZXJmYWNlKWgodXNlZClkKGZvciloCi1GcyhyZWFkKWYoLWUpcCBGdCguKTExMTAgMjgwNCB5IEZzKGVycmV4aXQpMTQ0IGIgRnQoU2FtZSkzMAotYihhcyloIEZzKC1lKXAgRnQoLikxMTEwIDI5NjAgeSBGcyhlcnJ0cmFjZSk5NiBiIEZ0KFNhbWUpMzAKLWIoYXMpaCBGcygtRSlwIEZ0KC4pMTExMCAzMTE3IHkgRnMoZnVuY3RyYWNlKTE1OTAgMzIyNgoteSBGdChTYW1lKWYoYXMpaCBGcygtVClwIEZ0KC4pMTExMCAzMzgzIHkgRnMoaGFzaGFsbCkxNDQKLWIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLWgpcCBGdCguKTExMTAgMzU0MCB5IEZzKGhpc3RleHBhbmQpMTU5MAotMzY0OSB5IEZ0KFNhbWUpZihhcyloIEZzKC1IKXAgRnQoLikxMTEwIDM4MDYgeSBGcyhoaXN0b3J5KTE0NAotYiBGdChFbmFibGUpMzkgYihjb21tYW5kKWcoaGlzdG9yeSktOCBiKCwpNDIgYihhcylkKGRlc2NyaWIpcyhlZClmKGluKWgKLShTZWN0aW9uKWgoOS4xKTE1OTAgMzkxNSB5KFtCYXNoKWQoSGlzdG9yeSlnKEYpLTggYihhY2lsaXRpZXNdLCk0MQotYihwYWdlKWMoMTIxLik2MCBiKFRoaXMpMzYgYihvcHRpb24paChpcylmKG9uKTE1OTAgNDAyNQoteShiKW0oeSkzMCBiKGRlZmF1bHQpaChpbilmKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGxzLikxMTEwCi00MTgxIHkgRnMoaWdub3JlZW9mKTE1OTAgNDI5MSB5IEZ0KEFuKWQoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbCllCi0od2lsbClnKG5vdClmKGV4aXQpaCh1cClzKG9uKWUocmVhZGluZylpKEVPRi4pMTExMCA0NDQ4Ci15IEZzKGtleXdvcmQpMTQ0IGIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLWspcCBGdCguKTExMTAKLTQ2MDQgeSBGcyhtb25pdG9yKTE0NCBiIEZ0KFNhbWUpMzAgYihhcyloIEZzKC1tKXAgRnQoLikxMTEwCi00NzYxIHkgRnMobm9jbG9iYmVyKTE1OTAgNDg3MCB5IEZ0KFNhbWUpZihhcyloIEZzKC1DKXAKLUZ0KC4pMTExMCA1MDI3IHkgRnMobm9leGVjKTE5MiBiIEZ0KFNhbWUpMzAgYihhcyloIEZzKC1uKXAKLUZ0KC4pMTExMCA1MTgzIHkgRnMobm9nbG9iKTE5MiBiIEZ0KFNhbWUpMzAgYihhcyloIEZzKC1mKXAKLUZ0KC4pMTExMCA1MzQwIHkgRnMobm9sb2cpMjQwIGIgRnQoQ3VycmVuKW0odGx5KTMwIGIoaWdub3JlZC4pcAotZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpODcwIDI5OSB5IEZzKHNvdXJjZSk0NiBiIEZpKGZpbGVuYW1lKTYzMAorNDM0IHkgRnQoQSkzMCBiKHN5bm9uKW0oeW0pZyhmb3IpZyBGcyguKWcgRnQoXChzZWUpaShTZWN0aW9uKWYoNC4xKWcKKyhbQm91cm5lKWcoU2hlbGwpZihCdWlsdGluc10sKWgocGFnZSlnKDM3XCkuKTE1MCA1OTUKK3kgRnModHlwZSk4NzAgNzMxIHkodHlwZSk0NyBiKFstYWZwdFBdKWUoWylwIEZpKG5hbWUpNTcKK2IgRnMoLi4uKW8oXSk2MzAgODY2IHkgRnQoRiktOCBiKG9yKTQxIGIoZWFjKW0oaCloIEZxKG5hbWUpNQorYiBGdCgsKTQ0IGIoaW5kaWNhdGUpZShobyltKHcpZihpdClnKHcpbShvdWxkKWYoYilzKGUpZyhpbiltKHRlcnByZXRlZCkKK2goaWYpZyh1c2VkKWYoYXMpaChhKWcoY29tbWFuZCk2MzAgOTc2IHkobmFtZS4pNjMwIDExMTEKK3koSWYpZCh0aGUpZyhgKXAgRnMoLXQpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyh1c2VkLClpCitGcyh0eXBlKWQgRnQocHJpbiltKHRzKWcoYSlpKHNpbmdsZSlmKHcpbShvcmQpZyh3aGljKW0oaClnKGlzKWcob25lKWcKKyhvZiloKGApcCBGcyhhbGlhcylwIEZ0KCcsKTYzMCAxMjIxIHkoYClwIEZzKGZ1bmN0aW9uKXAKK0Z0KCcsKTMyIGIoYClwIEZzKGJ1aWx0aW4pcCBGdCgnLClnKGApcCBGcyhmaWxlKXAgRnQoJylnKG9yKWgoYClwCitGcyhrZXl3b3JkKXAgRnQoJywpZihpZiloIEZxKG5hbWUpMzggYiBGdChpcykzMyBiKGFuKWYoYWxpYXMsKWooc2hlbGwpZQorKGZ1bmN0aW9uLCk2MzAgMTMzMCB5KHNoZWxsKWkoYnVpbHRpbiwpZyhkaXNrKWcoXDAxNGxlLCloKG9yKWUoc2hlbGwpaAorKHJlc2VydiltKGVkKWcodyltKG9yZCwpaChyZXNwKXMoZWN0aXYpbShlbHkpLTggYiguKTU1CitiKElmKTM0IGIodGhlKWggRnEobmFtZSk0MCBiIEZ0KGlzKTM1IGIobm90KTYzMCAxNDQwCit5KGZvdW5kLCkyOSBiKHRoZW4paChub3RoaW5nKWgoaXMpZihwcmluKW0odGVkLClnKGFuZClnCitGcyh0eXBlKWYgRnQocmV0dXJucylnKGEpaShmYWlsdXJlKWcoc3RhdHVzLik2MzAgMTU3NQoreShJZikzOSBiKHRoZSlnKGApcCBGcygtcClwIEZ0KCcpZyhvcHRpb24paChpcylmKHVzZWQsKWkKK0ZzKHR5cGUpZCBGdChlaXRoZXIpaChyZXR1cm5zKWYodGhlKWkobmFtZSlmKG9mKWcodGhlKWcoZGlzaylnKFwwMTRsZSlnCisodGhhdCk2MzAgMTY4NSB5KHcpbShvdWxkKTMwIGIoYilzKGUpZyhleGVjdXRlZCwpaChvcilnKG5vdGhpbmcpZihpZilnCisoYClwIEZzKC10KXAgRnQoJyloKHcpbShvdWxkKWYobm90KWcocmV0dXJuKWcoYClwIEZzKGZpbGUpcAorRnQoJy4pNjMwIDE4MjAgeShUaGUpMjMgYihgKXAgRnMoLVApcCBGdCgnKWcob3B0aW9uKWgoZm9yY2VzKWcoYSlnCisocGF0aClmKHNlYXJjKW0oaCloKGZvcilmKGVhYyltKGgpaCBGcShuYW1lKTUgYiBGdCgsKTI2CitiKGV2KW0oZW4pZShpZilmKGApcCBGcygtdClwIEZ0KCcpZyh3KW0ob3VsZClnKG5vdCloKHJldHVybik2MzAKKzE5MzAgeShgKXAgRnMoZmlsZSlwIEZ0KCcuKTYzMCAyMDY1IHkoSWYpMzQgYihhKWkoY29tbWFuZCllKGlzKWgKKyhoYXNoZWQsKWcoYClwIEZzKC1wKXAgRnQoJylnKGFuZClmKGApcCBGcygtUClwIEZ0KCcpaChwcmluKW0odClmKHRoZSloCisoaGFzaGVkKWYodiktNSBiKGFsdWUsKTM3IGIobm90KWUobmVjZXNzYXJpbHkpNjMwIDIxNzUKK3kodGhlKWMoXDAxNGxlKWYodGhhdCloKGFwcClzKGVhcnMpZihcMDE0cnN0KWYoaW4paCBGcygkUEFUSClwCitGdCguKTYzMCAyMzEwIHkoSWYpMzYgYih0aGUpaChgKXAgRnMoLWEpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyh1c2VkLClnCitGcyh0eXBlKWYgRnQocmV0dXJucylmKGFsbClqKG9mKWYodGhlKWcocGxhY2VzKWcodGhhdClnKGNvbiltKHRhaW4paAorKGFuKWYoZXhlLSk2MzAgMjQyMCB5KGN1dGFibGUpZChuYW1lZClmIEZxKFwwMTRsZSk1IGIKK0Z0KC4pNDkgYihUaGlzKTMyIGIoaW5jbHVkZXMpaChhbGlhc2VzKWkoYW5kKWQoZnVuY3Rpb25zLClpKGlmKWYoYW5kKWYKKyhvbmx5KWkoaWYpZih0aGUpZyhgKXAgRnMoLXApcCBGdCgnKTYzMCAyNTI5IHkob3B0aW9uKWUoaXMpZihub3QpaAorKGFsc28pZyh1c2VkLik2MzAgMjY2NSB5KElmKTI2IGIodGhlKWgoYClwIEZzKC1mKXAgRnQoJylnKG9wdGlvbilnKGlzKWcKKyh1c2VkLClnIEZzKHR5cGUpZSBGdChkbylzKGVzKWkobm90KWcoYXR0ZW1wdClnKHRvKWgoXDAxNG5kKWQoc2hlbGwpaQorKGZ1bmN0aW9ucywpZyhhcylnKHdpdGgpNjMwIDI3NzQgeSh0aGUpayBGcyhjb21tYW5kKWQKK0Z0KGJ1aWx0aW4uKTYzMCAyOTEwIHkoVGhlKWoocmV0dXJuKWYoc3RhdHVzKWgoaXMpZyh6ZXJvKWgoaWYpZihhbGwpaAorKG9mKWYodGhlKWggRnEobmFtZXMpaSBGdChhcmUpZShmb3VuZCwpZShub24temVybylpKGlmKWYoYW4pbSh5KWcoYXJlKWgKKyhub3QpNjMwIDMwMTkgeShmb3VuZC4pMTUwIDMxODAgeSBGcyh0eXBlc2V0KTg3MCAzMzE2Cit5KHR5cGVzZXQpNDYgYihbLWFmRnJ4aV0pZihbLXBdKWkoWylwIEZpKG5hbWUpMTEgYiBGcyhbPSlwCitGaSh2YWx1ZSlnIEZzKF0pNDMgYiguLi4pbyhdKTYzMCAzNDUxIHkgRnQoVGhlKTI5IGIgRnModHlwZXNldClmCitGdChjb21tYW5kKWgoaXMpZyhzdXBwbGllZClnKGZvcilnKGNvbXBhdGliaWxpdCltKHkpaih3aXRoKWQodGhlKWgKKyhLb3JuKWUoc2hlbGw7KWooaG8pbSh3LSk2MzAgMzU2MSB5KGV2KW0oZXIsKWcoaXQpZyhoYXMpZihiKXMoZWVuKWcKKyhkZXByZWNhdGVkKWgoaW4pZihmYSltKHYpbShvcilpKG9mKWUodGhlKWggRnMoZGVjbGFyZSlkCitGdChidWlsdGluKWkoY29tbWFuZC4pMTUwIDM3MjIgeSBGcyh1bGltaXQpODcwIDM4NTcgeSh1bGltaXQpNDYKK2IoWy1hYmNkZWZpbG1ucHFyc3R1dnhIU1RdKTQxIGIoWylwIEZpKGxpbWl0KTExIGIgRnMoXSk2MzAKKzM5OTMgeSh1bGltaXQpMjUgYiBGdChwcm8pbSh2aWRlcyloKGNvbiltKHRyb2wpaShvKW0odiltKGVyKWcodGhlKWYKKyhyZXNvdXJjZXMpZihhKW0odiktNSBiKGFpbGFibGUpMjkgYih0byllKHBybylzKGNlc3NlcylmKHN0YXJ0ZWQpaChiKW0KKyh5KWcodGhlKTYzMCA0MTAyIHkoc2hlbGwsKWkob24pZihzeXN0ZW1zKWcodGhhdCloKGFsbG8pbSh3KWgoc3VjKW0oaCllCisoY29uKW0odHJvbC4pNDEgYihJZikyOCBiKGFuKWcob3B0aW9uKWgoaXMpZihnaXYpbShlbiwpaShpdCllKGlzKWgoaW4pbQorKHRlcnByZXRlZCk2MzAgNDIxMiB5KGFzKWkoZm9sbG8pbSh3czopNjMwIDQzNzMgeSBGcygtUykzODQKK2IgRnQoQ2hhbmdlKTMwIGIoYW5kKWcocmVwKXMob3J0KWcodGhlKWcoc29mdCloKGxpbWl0KWcoYXNzbylzKGNpYXRlZCloCisod2l0aCllKGEpaChyZXNvdXJjZS4pNjMwIDQ1MzQgeSBGcygtSCkzODQgYiBGdChDaGFuZ2UpMzAKK2IoYW5kKWcocmVwKXMob3J0KWcodGhlKWcoaGFyZClnKGxpbWl0KWgoYXNzbylzKGNpYXRlZCloKHdpdGgpZShhKWgKKyhyZXNvdXJjZS4pNjMwIDQ2OTUgeSBGcygtYSkzODQgYiBGdChBbGwpMzEgYihjdXJyZW4pbSh0KWYobGltaXRzKWgKKyhhcmUpZyhyZXApcyhvcnRlZC4pNjMwIDQ4NTYgeSBGcygtYikzODQgYiBGdChUaGUpMzAKK2IobWF4aW0pbSh1bSlnKHNvKXMoYyltKGspbShldClpKGJ1XDAxM2VyKWUoc2l6ZS4pNjMwCis1MDE4IHkgRnMoLWMpMzg0IGIgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKHNpemUpaChvZilnKGNvcmUpZyhcMDE0bGVzKQorZihjcmVhdGVkLik2MzAgNTE3OSB5IEZzKC1kKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhzaXplKWgob2YpZworKGEpZyhwcm8pcyhjZXNzJ3MpZihkYXRhKWgoc2VnbWVuKW0odC4pNjMwIDUzNDAgeSBGcygtZSkzODQKK2IgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKHNjKW0oaGVkdWxpbmcpaChwcmlvcml0KW0oeSlmKFwoKXAKK0ZzKCIpcCBGdChuaWNlKXAgRnMoIilwIEZ0KFwpLilwIGVvcCBlbmQKICUlUGFnZTogNTMgNTkKIFRlWERpY3QgYmVnaW4gNTMgNTggYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDQ6KTQxCi1iKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig1MykxMTEwIDI5OSB5Ci1Gcyhub3RpZnkpMTkyIGIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLWIpcCBGdCguKTExMTAgNDU1Ci15IEZzKG5vdW5zZXQpMTQ0IGIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLXUpcCBGdCguKTExMTAKLTYxMiB5IEZzKG9uZWNtZCkxOTIgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtdClwIEZ0KC4pMTExMAotNzY5IHkgRnMocGh5c2ljYWwpOTYgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtUClwIEZ0KC4pMTExMAotOTI1IHkgRnMocGlwZWZhaWwpOTYgYiBGdChJZik0NCBiKHNldCwpayh0aGUpZChyZXR1cm4pZSh2KS01Ci1iKGFsdWUpNDUgYihvZilmKGEpaChwaXApcyhlbGluZSllKGlzKWkodGhlKWYodiktNSBiKGFsdWUpNDUKLWIob2YpMTU5MCAxMDM1IHkodGhlKTMzIGIobGFzdCloKFwocmlnaCltKHRtb3N0XCkpaChjb21tYW5kKWUodG8paAotKGV4aXQpZyh3aXRoKWYoYSlnKG5vbi16ZXJvKTE1OTAgMTE0NCB5KHN0YXR1cywpMjggYihvcilmKHplcm8pZyhpZilmCi0oYWxsKWkoY29tbWFuZHMpZShpbilnKHRoZSloKHBpcClzKGVsaW5lKWYoZXhpdClpKHN1Yy0pMTU5MAotMTI1NCB5KGNlc3NmdWxseSktOCBiKC4pNDEgYihUaGlzKTMwIGIob3B0aW9uKWgoaXMpZihkaXNhYmxlZClnKGIpbSh5KWgKLShkZWZhdWx0LikxMTEwIDE0MTAgeSBGcyhwb3NpeCkyNDAgYiBGdChDaGFuZ2UpMzAgYih0aGUpZyhiKXMoZWhhKW0KLSh2aW9yKWgob2YpZihCYXNoKWcod2hlcmUpZyh0aGUpZyhkZWZhdWx0KWgob3ApcyhlcmEtKTE1OTAKLTE1MjAgeSh0aW9uKTI1IGIoZGlcMDEzZXJzKWYoZnJvbSlnKHRoZSloIEZsKHBvc2l4KWYKLUZ0KHN0YW5kYXJkKWYodG8paShtYXRjKW0oaCloKHRoZSlmKHN0YW4tKTE1OTAgMTYzMCB5KGRhcmQpMzIKLWIoXChzZWUpaShTZWN0aW9uKWcoNi4xMSloKFtCYXNoKWUoUE9TSVgpZihNbylzKGRlXSwpaihwYWdlKWUoODRcKS4pCi0xNTkwIDE3MzkgeShUaGlzKWsoaXMpZyhpbiltKHRlbmRlZClnKHRvKWgobWFrKW0oZSlnKEJhc2gpZyhiKXMoZWhhKW0KLSh2KW0oZSlnKGFzKWcoYSlmKHN0cmljdCloKHN1LSkxNTkwIDE4NDkgeShwKXMoZXJzZXQpMzAKLWIob2YpaCh0aGF0KWYoc3RhbmRhcmQuKTExMTAgMjAwNSB5IEZzKHByaXZpbGVnZWQpMTU5MAotMjExNSB5IEZ0KFNhbWUpZyhhcyloIEZzKC1wKXAgRnQoLikxMTEwIDIyNzEgeSBGcyh2ZXJib3NlKTE0NAotYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtdilwIEZ0KC4pMTExMCAyNDI4IHkgRnModmkpMzg0Ci1iIEZ0KFVzZSkzNiBiKGEpZyBGcyh2aSlwIEZ0KC1zdCltKHlsZSlnKGxpbmUpZyhlZGl0aW5nKWcoaW4pbQotKHRlcmZhY2UuKTU4IGIoVGhpcykzNSBiKGFsc28paChhXDAxM2VjdHMpMTU5MCAyNTM4IHkodGhlKTMxCi1iKGVkaXRpbmcpZyhpbiltKHRlcmZhY2UpaCh1c2VkKWQoZm9yKWggRnMocmVhZClmKC1lKXAKLUZ0KC4pMTExMCAyNjk0IHkgRnMoeHRyYWNlKTE5MiBiIEZ0KFNhbWUpMzAgYihhcyloIEZzKC14KXAKLUZ0KC4pNjMwIDI4NTEgeSBGcygtcCkzODQgYiBGdChUKS04IGIodXJuKTMzIGIob24paChwcml2aWxlZ2VkKWgobW8pcwotKGRlLik1MSBiKEluKTM0IGIodGhpcylnKG1vKXMoZGUsKWgodGhlKWYgRnMoJEJBU0hfRU5WKWUKLUZ0KGFuZCloIEZzKCRFTlYpMTExMCAyOTYwIHkgRnQoXDAxNGxlcykyMyBiKGFyZSloKG5vdClmKHBybylzKGNlc3NlZCwpCi1oKHNoZWxsKWcoZnVuY3Rpb25zKWUoYXJlKWkobm90KWYoaW5oZXJpdGVkKWcoZnJvbSlmKHRoZSlpKGVuLSkxMTEwCi0zMDcwIHkodmlyb25tZW4pbSh0LCloKGFuZCllKHRoZSlnIEZzKFNIRUxMT1BUUylwIEZ0KCwpZgotRnMoQkFTSE9QVFMpcCBGdCgsKWggRnMoQ0RQQVRIKWUgRnQoYW5kKWkgRnMoR0xPQklHTk9SRSkxMTEwCi0zMTgwIHkgRnQodiktNSBiKGFyaWFibGVzLCkyMyBiKGlmKWUodGhleSlnKGFwcClzKGVhcilmKGluKWcodGhlKWgoZW4pbQotKHZpcm9ubWVuKW0odCwpaShhcmUpZShpZ25vcmVkLikzOCBiKElmKTIwIGIodGhlKWgoc2hlbGwpMTExMAotMzI4OSB5KGlzKTM3IGIoc3RhcnRlZCloKHdpdGgpZih0aGUpZyhlXDAxM2VjdGl2KW0oZSlqKHVzZXIpZAotKFwoZ3JvdXBcKSlnKGlkKWcobm90KWcoZXF1YWwpaCh0bylnKHRoZSlmKHJlYWwpMTExMAotMzM5OSB5KHVzZXIpaChcKGdyb3VwXCkpaChpZCwpaShhbmQpZCh0aGUpaCBGcygtcClmIEZ0KG9wdGlvbilpKGlzKWUKLShub3QpaShzdXBwbGllZCwpZih0aGVzZSloKGFjdGlvbnMpMTExMCAzNTA4IHkoYXJlKTMyCi1iKHRhayltKGVuKWkoYW5kKWQodGhlKWgoZVwwMTNlY3RpdiltKGUpaih1c2VyKWMoaWQpaChpcylnKHNldCloKHRvKWYKLSh0aGUpaChyZWFsKWYodXNlcilnKGlkLik0NSBiKElmKTMyIGIodGhlKTExMTAgMzYxOCB5Ci1GcygtcClpIEZ0KG9wdGlvbiloKGlzKWcoc3VwcGxpZWQpZihhdCloKHN0YXJ0dXAsKWgodGhlKWYoZVwwMTNlY3RpdiltCi0oZSlpKHVzZXIpZChpZClnKGlzKWgobm90KWcocmVzZXQuKTExMTAgMzcyNyB5KFQpLTggYih1cm5pbmcpMzUKLWIodGhpcylpKG9wdGlvbilnKG9cMDEzKWcoY2F1c2VzKWcodGhlKWcoZVwwMTNlY3RpdiltKGUpaSh1c2VyKWQoYW5kKWcKLShncm91cClnKGlkcylnKHRvKTExMTAgMzgzNyB5KGIpcyhlKTMwIGIoc2V0KWgodG8pZyh0aGUpZihyZWFsKWgodXNlcilmCi0oYW5kKWcoZ3JvdXApZyhpZHMuKTYzMCAzOTk0IHkgRnMoLXQpMzg0IGIgRnQoRXhpdCkzMQotYihhZnRlcilnKHJlYWRpbmcpZihhbmQpZyhleGVjdXRpbmcpaChvbmUpZyhjb21tYW5kLik2MzAKLTQxNTAgeSBGcygtdSkzODQgYiBGdChUKS04IGIocmVhdCkyNSBiKHVuc2V0KWUodiktNSBiKGFyaWFibGVzKTI1Ci1iKGFuZCllKHBhcmFtZXRlcnMpaChvdGhlciloKHRoYW4pZSh0aGUpaChzcClzKGVjaWFsKWgocGFyYW0tKTExMTAKLTQyNjAgeShldGVycykzNSBiKGApcCBGcyhAKXAgRnQoJylmKG9yKWcoYClwIEZzKCopcCBGdCgnKWgoYXMpZihhbilnCi0oZXJyb3IpZyh3aGVuKWYocClzKGVyZm9ybWluZylnKHBhcmFtZXRlcilpKGV4cGFuc2lvbi4pMTExMAotNDM2OSB5KEFuKTI4IGIoZXJyb3IpaChtZXNzYWdlKWcod2lsbClnKGIpcyhlKWYod3JpdHRlbiloKHRvKWgodGhlKWUKLShzdGFuZGFyZClnKGVycm9yLCloKGFuZClmKGEpaChub24tKTExMTAgNDQ3OSB5KGluKW0odGVyYWN0aXYpbShlKWsKLShzaGVsbCllKHdpbGwpZyhleGl0Lik2MzAgNDYzNSB5IEZzKC12KTM4NCBiIEZ0KFByaW4pbSh0KTMwCi1iKHNoZWxsKWgoaW5wdXQpZShsaW5lcylpKGFzKWcodGhleSlmKGFyZSloKHJlYWQuKTYzMAotNDc5MiB5IEZzKC14KTM4NCBiIEZ0KFByaW4pbSh0KTIxIGIoYSloKHRyYWNlKWgob2YpZihzaW1wbGUpZgotKGNvbW1hbmRzLClpIEZzKGZvcillIEZ0KGNvbW1hbmRzLClpIEZzKGNhc2UpZCBGdChjb21tYW5kcywpMTExMAotNDkwMiB5IEZzKHNlbGVjdCkyOSBiIEZ0KGNvbW1hbmRzLClqKGFuZCllKGFyaXRobWV0aWMpagotRnMoZm9yKWQgRnQoY29tbWFuZHMpaChhbmQpZih0aGVpcilpKGFyZ3UtKTExMTAgNTAxMQoteShtZW4pbSh0cyloKG9yKWYoYXNzbylzKGNpYXRlZClpKHcpbShvcmQpZShsaXN0cyloKGFmdGVyKWcodGhleSlmKGFyZSkKLWgoZXhwYW5kZWQpZihhbmQpZihiKXMoZWZvcmUpMTExMCA1MTIxIHkodGhleSlpKGFyZSlnKGV4ZWN1dGVkLik0OQotYihUaGUpMzIgYih2KS01IGIoYWx1ZSkzMyBiKG9mKWcodGhlKWcgRnMoUFM0KWYgRnQodiktNQotYihhcmlhYmxlKTM0IGIoaXMpZihleHBhbmRlZClmKGFuZCkxMTEwIDUyMzAgeSh0aGUpMjQKLWIocmVzdWx0YW4pbSh0KWgodiktNSBiKGFsdWUpMjQgYihpcylnKHByaW4pbSh0ZWQpZyhiKXMoZWZvcmUpZih0aGUpaAotKGNvbW1hbmQpZyhhbmQpZihpdHMpaShleHBhbmRlZCkxMTEwIDUzNDAgeShhcmd1bWVuKW0odHMuKXAKLWVvcCBlbmQKK2IoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDUzKTYzMCAyOTkgeSBGcygtZikzODQKK2IgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKHNpemUpaChvZilnKFwwMTRsZXMpZih3cml0dGVuKWgoYiltKHkpZih0aGUpCitnKHNoZWxsKWgoYW5kKWYoaXRzKWgoYyltKGhpbGRyZW4uKTYzMCA0ODQgeSBGcygtaSkzODQKK2IgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKG4pbSh1bSltKGIpcyhlcilmKG9mKWkocClzKGVuZGluZyllCisoc2lnbmFscy4pNjMwIDY2OCB5IEZzKC1sKTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhzaXplKWgodGhhdClnCisobWEpbSh5KWcoYilzKGUpZihsbylzKGMpbShrKW0oZWQpaShpbiltKHRvKWYobWVtb3J5KS04CitiKC4pNjMwIDg1MyB5IEZzKC1tKTM4NCBiIEZ0KFRoZSkzNiBiKG1heGltKW0odW0pZyhyZXNpZGVuKW0odCloKHNldClnCisoc2l6ZSlnKFwobWFuKW0oeSlnKHN5c3RlbXMpZihkbyloKG5vdClmKGhvbm9yKWcodGhpcykxMTEwCis5NjMgeShsaW1pdFwpLik2MzAgMTE0OCB5IEZzKC1uKTM4NCBiIEZ0KFRoZSkzOCBiKG1heGltKW0odW0paChuKW0odW0pbQorKGIpcyhlcillKG9mKWkob3ApcyhlbilmKFwwMTRsZSloKGRlc2NyaXB0b3JzKWcoXChtb3N0KWcoc3lzdGVtcylnKGRvKQorMTExMCAxMjU3IHkobm90KTMxIGIoYWxsbyltKHcpZyh0aGlzKWcodiktNSBiKGFsdWUpMzEKK2IodG8pZyhiKXMoZSllKHNldFwpLik2MzAgMTQ0MiB5IEZzKC1wKTM4NCBiIEZ0KFRoZSkzMAorYihwaXApcyhlKWYoYnVcMDEzZXIpaChzaXplLik2MzAgMTYyNyB5IEZzKC1xKTM4NCBiIEZ0KFRoZSkzMAorYihtYXhpbSltKHVtKWcobiltKHVtKW0oYilzKGVyKWYob2YpaShiKW0oeXRlcylnKGluKWYoUE9TSVgpZihtZXNzYWdlKWoKKyhxdWV1ZXMuKTYzMCAxODEyIHkgRnMoLXIpMzg0IGIgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKHJlYWwtdGltZSlpCisoc2MpbShoZWR1bGluZylmKHByaW9yaXQpbSh5KS04IGIoLik2MzAgMTk5NiB5IEZzKC1zKTM4NAorYiBGdChUaGUpMzAgYihtYXhpbSltKHVtKWcoc3RhYyltKGspaShzaXplLik2MzAgMjE4MQoreSBGcygtdCkzODQgYiBGdChUaGUpMzAgYihtYXhpbSltKHVtKWcoYW1vdW4pbSh0KWgob2YpZihjcHUpZyh0aW1lKWgKKyhpbilmKHNlY29uZHMuKTYzMCAyMzY2IHkgRnMoLXUpMzg0IGIgRnQoVGhlKTMwIGIobWF4aW0pbSh1bSlnKG4pbSh1bSltCisoYilzKGVyKWYob2YpaShwcm8pcyhjZXNzZXMpZihhKW0odiktNSBiKGFpbGFibGUpMzMgYih0byllKGEpZihzaW5nbGUpaQorKHVzZXIuKTYzMCAyNTUxIHkgRnMoLXYpMzg0IGIgRnQoVGhlKTQxIGIobWF4aW0pbSh1bSloKGFtb3VuKW0odClnKG9mKWgKKyh2aXJ0dWFsKWYobWVtb3J5KWcoYSltKHYpLTUgYihhaWxhYmxlKTQ0IGIodG8pZSh0aGUpZyhzaGVsbCwpMTExMAorMjY2MCB5KGFuZCwpMzAgYihvbilnKHNvbWUpaChzeXN0ZW1zLClnKHRvKWcoaXRzKWcoYyltKGhpbGRyZW4uKTYzMAorMjg0NSB5IEZzKC14KTM4NCBiIEZ0KFRoZSkzMCBiKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZilpCisoXDAxNGxlKWYobG8pcyhjKW0oa3MuKTYzMCAzMDMwIHkgRnMoLVQpMzg0IGIgRnQoVGhlKTMwCitiKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZilpKHRocmVhZHMuKTYzMCAzMjE1Cit5KElmKWkgRnEobGltaXQpaiBGdChpcyllKGdpdiltKGVuLCloKGl0KWYoaXMpZyh0aGUpZyhuZXcpZih2KS01CitiKGFsdWUpMzQgYihvZilmKHRoZSloKHNwKXMoZWNpXDAxNGVkKWYocmVzb3VyY2U7KWkodGhlKWYoc3ApcyhlY2lhbClnCitGcShsaW1pdCk2MzAgMzMyNCB5IEZ0KHYpLTUgYihhbHVlcykyNyBiIEZzKGhhcmQpcCBGdCgsKWcKK0ZzKHNvZnQpcCBGdCgsKWcoYW5kKWcgRnModW5saW1pdGVkKWQgRnQoc3RhbmQpaihmb3IpZyh0aGUpZyhjdXJyZW4pbQorKHQpZyhoYXJkKWYobGltaXQsKWoodGhlKWUoY3VycmVuKW0odCk2MzAgMzQzNCB5KHNvZnQpMzgKK2IobGltaXQsKWooYW5kKWQobm8pZihsaW1pdCwpayhyZXNwKXMoZWN0aXYpbShlbHkpLTgKK2IoLik2NiBiKEEpMzggYihoYXJkKWYobGltaXQpaChjYW5ub3QpaChiKXMoZSllKGluY3JlYXNlZClpKGIpbSh5KWYoYSkKKzYzMCAzNTQ0IHkobm9uLXJvKXMob3QpZih1c2VyKWYob25jZSlpKGl0KWcoaXMpZihzZXQ7KWsoYSljKHNvZnQpZworKGxpbWl0KWgobWEpbSh5KWcoYilzKGUpZShpbmNyZWFzZWQpaCh1cClmKHRvKWkodGhlKWYodiktNQorYihhbHVlKTM4IGIob2YpNjMwIDM2NTMgeSh0aGUpYyhoYXJkKWYobGltaXQuKTUxIGIoT3RoZXJ3aXNlLCkzNQorYih0aGUpZihjdXJyZW4pbSh0KWYodiktNSBiKGFsdWUpMzUgYihvZilmKHRoZSlmKHNvZnQpaShsaW1pdClmKGZvcilnCisodGhlKWcoc3ApcyhlY2lcMDE0ZWQpNjMwIDM3NjMgeShyZXNvdXJjZSkyNyBiKGlzKWgocHJpbiltKHRlZCwpZgorKHVubGVzcylnKHRoZSlnKGApcCBGcygtSClwIEZ0KCcpZyhvcHRpb24paChpcylmKHN1cHBsaWVkLikzOAorYihXaGVuKTI3IGIoc2V0dGluZyloKG5ldylmKGxpbWl0cywpNjMwIDM4NzIgeShpZik0MAorYihuZWl0aGVyKWYoYClwIEZzKC1IKXAgRnQoJyloKG5vcilmKGApcCBGcygtUylwIEZ0KCcpaChpcylmKHN1cHBsaWVkLCkKK2koYilzKG90aCllKHRoZSloKGhhcmQpZihhbmQpZyhzb2Z0KWgobGltaXRzKWcoYXJlKWcoc2V0Lik2OQorYihJZik2MzAgMzk4MiB5KG5vKTM1IGIob3B0aW9uKWgoaXMpZihnaXYpbShlbiwpaih0aGVuKWQoYClwCitGcygtZilwIEZ0KCcpZyhpcylnKGFzc3VtZWQuKTU1IGIoViktOCBiKGFsdWVzKTM2IGIoYXJlKWYoaW4pZygxMDI0LWIpbQorKHl0ZSlqKGluY3JlbWVuKW0odHMsKTYzMCA0MDkyIHkoZXhjZXB0KWQoZm9yKWYoYClwIEZzKC10KXAKK0Z0KCcsKWcod2hpYyltKGgpZyhpcylnKGluKWcoc2Vjb25kcywpaChgKXAgRnMoLXApcCBGdCgnLClnKHdoaWMpbShoKWUKKyhpcyloKGluKWcodW5pdHMpZihvZiloKDUxMi1iKW0oeXRlKWkoYmxvKXMoYyltKGtzLCk2MzAKKzQyMDEgeShhbmQpMzAgYihgKXAgRnMoLW4pcCBGdCgnKWcoYW5kKWcoYClwIEZzKC11KXAKK0Z0KCcsKWcod2hpYyltKGgpZyhhcmUpaCh1bnNjYWxlZClmKHYpLTUgYihhbHVlcy4pNjMwCis0MzQ4IHkoVGhlKTM0IGIocmV0dXJuKWcoc3RhdHVzKWgoaXMpZih6ZXJvKWkodW5sZXNzKWUoYW4pZyhpbiltKHYpLTUKK2IoYWxpZCkzNiBiKG9wdGlvbilmKG9yKWYoYXJndW1lbiltKHQpaShpcyllKHN1cHBsaWVkLCloKG9yKTYzMAorNDQ1OCB5KGFuKTMwIGIoZXJyb3IpZyhvKXMoY2N1cnMpZyh3aGlsZSloKHNldHRpbmcpZyhhKWcobmV3KWYobGltaXQuKQorMTUwIDQ2NDMgeSBGcyh1bmFsaWFzKTg3MCA0NzkwIHkodW5hbGlhcyk0NiBiKFstYV0pZyhbKXAKK0ZpKG5hbWUpNTcgYiBGcyguLi4pNDcgYihdKTYzMCA0OTM3IHkgRnQoUmVtbyltKHYpbShlKTM5CitiKGVhYyltKGgpZiBGcShuYW1lKWsgRnQoZnJvbSkzNiBiKHRoZSloKGxpc3QpaChvZilmKGFsaWFzZXMuKTYxCitiKElmKTM2IGIoYClwIEZzKC1hKXAgRnQoJyloKGlzKWcoc3VwcGxpZWQsKWgoYWxsKWYoYWxpYXNlcylpKGFyZSk2MzAKKzUwNDcgeShyZW1vKW0odiltKGVkLilqKEFsaWFzZXMpMzEgYihhcmUpZyhkZXNjcmliKXMoZWQpZShpbiloKFNlY3Rpb24pCitpKDYuNilmKFtBbGlhc2VzXSwpaChwYWdlKWYoODEuKTE1MCA1MzE3IHkgRnIoNC4zKTY4CitiKE1vKXQoZGlmeWluZyk0NSBiKFNoZWxsKWcoQmVoYSlsKHZpb3IpcCBlb3AgZW5kCiAlJVBhZ2U6IDU0IDYwCiBUZVhEaWN0IGJlZ2luIDU0IDU5IGJvcCAxNTAgLTExNiBhIEZ0KDU0KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkgRnMoLUIpMzg0IGIgRnQoVGhlKTQxCi1iKHNoZWxsKWcod2lsbClnKHApcyhlcmZvcm0pZihicmFjZSloKGV4cGFuc2lvbilnKFwoc2VlKWgoU2VjdGlvbilnCi0oMy41LjEpZyhbQnJhY2UpMTExMCA0MDggeShFeHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgxOFwpLik0MgotYihUaGlzKTMwIGIob3B0aW9uKWgoaXMpZihvbilnKGIpbSh5KWgoZGVmYXVsdC4pNjMwIDU1NgoteSBGcygtQykzODQgYiBGdChQcmV2KW0oZW4pbSh0KTI1IGIob3V0cHV0KWUocmVkaXJlY3Rpb24paCh1c2luZylmKGApcAotRnMoPilwIEZ0KCcsKWkoYClwIEZzKD4mKXAgRnQoJywpZyhhbmQpZShgKXAgRnMoPD4pcAotRnQoJylnKGZyb20paChvKW0odiltKGVyd3JpdGluZykxMTEwIDY2NiB5KGV4aXN0aW5nKTMxCi1iKFwwMTRsZXMuKTYzMCA4MTQgeSBGcygtRSkzODQgYiBGdChJZikzOSBiKHNldCwpaihhbiltKHkpZSh0cmFwKWYob24pZwotRnMoRVJSKWcgRnQoaXMpZyhpbmhlcml0ZWQpZyhiKW0oeSlnKHNoZWxsKWgoZnVuY3Rpb25zLCloKGNvbW1hbmQpMTExMAotOTIzIHkoc3Vic3RpdHV0aW9ucywpMzUgYihhbmQpZShjb21tYW5kcylnKGV4ZWN1dGVkKWkoaW4pZihhKWcKLShzdWJzaGVsbClmKGVuKW0odmlyb25tZW4pbSh0LikxMTEwIDEwMzMgeShUaGUpZCBGcyhFUlIpZgotRnQodHJhcClpKGlzKWYobm9ybWFsbHkpaChub3QpZihpbmhlcml0ZWQpZyhpbilnKHN1YyltKGgpZyhjYXNlcy4pNjMwCi0xMTgxIHkgRnMoLUgpMzg0IGIgRnQoRW5hYmxlKTM4IGIoYClwIEZzKCEpcCBGdCgnKWgoc3QpbSh5bGUpaChoaXN0b3J5KQotZShzdWJzdGl0dXRpb24pZyhcKHNlZSloKFNlY3Rpb24paCg5LjMpZihbSGlzdG9yeSlnKEluLSkxMTEwCi0xMjkwIHkodGVyYWN0aW9uXSwpZyhwYWdlKWQoMTIzXCkuKTU3IGIoVGhpcykzNCBiKG9wdGlvbilpKGlzKWYob24pZyhiKQotbSh5KWgoZGVmYXVsdClmKGZvcilnKGluKW0odGVyYWN0aXYpbShlKTExMTAgMTQwMCB5KHNoZWxscy4pNjMwCi0xNTQ4IHkgRnMoLVApMzg0IGIgRnQoSWYpNDMgYihzZXQsKWsoZG8pYyhub3QpZyhmb2xsbyltKHcpaChzeW0pbShiKXMKLShvbGljKWcobGlua3MpZSh3aGVuKWcocClzKGVyZm9ybWluZylnKGNvbW1hbmRzKTExMTAKLTE2NTcgeShzdWMpbShoKTI5IGIoYXMpaCBGcyhjZClmIEZ0KHdoaWMpbShoKWcoYyltKGhhbmdlKWgodGhlKWcKLShjdXJyZW4pbSh0KWYoZGlyZWN0b3J5KS04IGIoLik0MiBiKFRoZSkyOCBiKHBoKW0oeXNpY2FsKWooZGlyZWMtKTExMTAKLTE3NjcgeSh0b3J5KWooaXMpZyh1c2VkKWYoaW5zdGVhZC4pNTIgYihCeSkzNCBiKGRlZmF1bHQsKWgoQmFzaClmCi0oZm9sbG8pbSh3cyloKHRoZSlmKGxvZ2ljYWwpaShjKW0oaGFpbilmKG9mKTExMTAgMTg3NwoteShkaXJlY3RvcmllcylqKHdoZW4pZChwKXMoZXJmb3JtaW5nKWgoY29tbWFuZHMpZyh3aGljKW0oaClnKGMpbShoYW5nZSkKLWkodGhlKWYoY3VycmVuKW0odCkxMTEwIDE5ODYgeShkaXJlY3RvcnkpLTggYiguKTExMTAKLTIxMTUgeShGKWcob3IpMzEgYihleGFtcGxlLClnKGlmKWYoYClwIEZzKC91c3Ivc3lzKXAKLUZ0KCcpZShpcylpKGEpZyhzeW0pbShiKXMob2xpYyloKGxpbmspZih0bylnKGApcCBGcygvdXNyL2xvY2FsL3N5cylwCi1GdCgnKTExMTAgMjIyNCB5KHRoZW46KTEzNTAgMjM1MyB5IEZzKCQpNDcgYihjZCloKC91c3Ivc3lzOylkKGVjaG8paQotKCRQV0QpMTM1MCAyNDYzIHkoL3Vzci9zeXMpMTM1MCAyNTcyIHkoJClnKGNkKWgoLi47KWYocHdkKTEzNTAKLTI2ODIgeSgvdXNyKTExMTAgMjgxMSB5IEZ0KElmKTMwIGIgRnMoc2V0KWYoLVApaCBGdChpcyloKG9uLClmKHRoZW46KQotMTM1MCAyOTM5IHkgRnMoJCk0NyBiKGNkKWgoL3Vzci9zeXM7KWQoZWNobylpKCRQV0QpMTM1MAotMzA0OSB5KC91c3IvbG9jYWwvc3lzKTEzNTAgMzE1OCB5KCQpZyhjZCloKC4uOylmKHB3ZCkxMzUwCi0zMjY4IHkoL3Vzci9sb2NhbCk2MzAgMzQxNiB5KC1UKTM4NCBiIEZ0KElmKTM0IGIoc2V0LClqKGFuKW0oeSllKHRyYXApZwotKG9uKWcgRnMoREVCVUcpZSBGdChhbmQpaSBGcyhSRVRVUk4pZSBGdChhcmUpaShpbmhlcml0ZWQpZyhiKW0oeSlmCi0oc2hlbGwpaShmdW5jLSkxMTEwIDM1MjUgeSh0aW9ucywpayhjb21tYW5kKWQoc3Vic3RpdHV0aW9ucywpaChhbmQpZgotKGNvbW1hbmRzKWcoZXhlY3V0ZWQpaChpbilmKGEpaChzdWItKTExMTAgMzYzNSB5KHNoZWxsKTMzCi1iKGVuKW0odmlyb25tZW4pbSh0Lik0OSBiKFRoZSkzMiBiIEZzKERFQlVHKWcgRnQoYW5kKWcKLUZzKFJFVFVSTilmIEZ0KHRyYXBzKWgoYXJlKWkobm9ybWFsbHkpZihub3QpMTExMCAzNzQ1Ci15KGluaGVyaXRlZClkKGluKWcoc3VjKW0oaClnKGNhc2VzLik2MzAgMzg5MiB5IEZzKC0tKTM4NAotYiBGdChJZikzMSBiKG5vKWgoYXJndW1lbiltKHRzKWYoZm9sbG8pbSh3KWkodGhpcylmKG9wdGlvbiwpZyh0aGVuKWYKLSh0aGUpaChwKXMob3NpdGlvbmFsKWgocGFyYW1ldGVycykxMTEwIDQwMDIgeShhcmUpaCh1bnNldC4pNDkKLWIoT3RoZXJ3aXNlLCkzNCBiKHRoZSlnKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXJzKWcoYXJlKWcoc2V0KWcodG8pZwotKHRoZSlnIEZxKGFyLSkxMTEwIDQxMTIgeShndW1lbiltKHRzKXQgRnQoLClkKGV2KW0oZW4pZyhpZilmKHNvbWUpaChvZikKLWYodGhlbSloKGIpcyhlZ2luKWYod2l0aClnKGEpZyhgKXAgRnMoLSlwIEZ0KCcuKTYzMCA0MjYwCi15IEZzKC0pNDMyIGIgRnQoU2lnbmFsKTQ1IGIodGhlKWcoZW5kKWYob2YpaChvcHRpb25zLClrKGNhdXNlKWMoYWxsKWgKLShyZW1haW5pbmcpZSBGcShhcmd1bWVuKW0odHMpNDkgYiBGdCh0bylkKGIpcyhlKTExMTAKLTQzNjkgeShhc3NpZ25lZCkzOCBiKHRvKWgodGhlKWYocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMuKTY1Ci1iKFRoZSkzNyBiKGApcCBGcygteClwIEZ0KCcpaChhbmQpZyhgKXAgRnMoLXYpcCBGdCgnKWcob3B0aW9ucykxMTEwCi00NDc5IHkoYXJlKTI1IGIodHVybmVkKWUob1wwMTMuKTQwIGIoSWYpMjQgYih0aGVyZSloKGFyZSlnKG5vKWYKLShhcmd1bWVuKW0odHMsKWkodGhlKWYocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMpMTExMAotNDU4OCB5KHJlbWFpbilrKHVuYyltKGhhbmdlZC4pNjMwIDQ3MzYgeShVc2luZylkKGApcAotRnMoKylwIEZ0KCcpaChyYXRoZXIpZih0aGFuKWcoYClwIEZzKC0pcCBGdCgnKWcoY2F1c2VzKWgodGhlc2UpZgotKG9wdGlvbnMpaCh0bylnKGIpcyhlKWUodHVybmVkKWcob1wwMTMuKTQwIGIoVGhlKTI3IGIob3B0aW9ucyloKGNhbik2MzAKLTQ4NDYgeShhbHNvKTM2IGIoYilzKGUpZih1c2VkKWYodXApcyhvbilnKGluKW0odiltKG8pcyhjYXRpb24paihvZillCi0odGhlKWcoc2hlbGwuKTU2IGIoVGhlKTM0IGIoY3VycmVuKW0odCloKHNldCloKG9mKWYob3B0aW9ucyloKG1hKW0oeSlnCi0oYilzKGUpNjMwIDQ5NTUgeShmb3VuZCkyOSBiKGluKWggRnMoJC0pcCBGdCguKTYzMCA1MDg0Ci15KFRoZSk0MyBiKHJlbWFpbmluZyloKE4pZiBGcShhcmd1bWVuKW0odHMpNDggYiBGdChhcmUpYyhwKXMob3NpdGlvbmFsKQotZyhwYXJhbWV0ZXJzKWcoYW5kKWYoYXJlKWgoYXNzaWduZWQsKWooaW4pNjMwIDUxOTQgeShvcmRlciwpMzAKLWIodG8paCBGcygkMSlwIEZ0KCwpZiBGcygkMilwIEZ0KCwpMzYgYiguKTIyIGIoLilnKC4pNDIKLWIgRnMoJE4pcCBGdCguKWUoVGhlKTMwIGIoc3ApcyhlY2lhbCloKHBhcmFtZXRlcilnIEZzKCMpZgotRnQoaXMpZyhzZXQpaCh0bylnKE4uKTYzMCA1MzIyIHkoVGhlKWYocmV0dXJuKWYoc3RhdHVzKWkoaXMpZihhbHcpbShhKW0KLSh5cylpKHplcm8pZih1bmxlc3MpZihhbilnKGluKW0odiktNSBiKGFsaWQpMzEgYihvcHRpb24pZyhpcylmCi0oc3VwcGxpZWQuKXAgZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZqKDQuMy4xKTYzIGIoVGhlKTQxCitiKFNldClnKEJ1aWx0aW4pMTUwIDQ0NiB5IEZ0KFRoaXMpMzUgYihidWlsdGluKWgoaXMpZyhzbylnKGNvbXBsaWNhdGVkKQoraSh0aGF0KWYoaXQpZihkZXNlcnYpbShlcyloKGl0cylmKG8pbSh3bilnKHNlY3Rpb24uKTU5CitiIEZzKHNldCkzNSBiIEZ0KGFsbG8pbSh3cylqKHkpbShvdSllKHRvKWgoYyltKGhhbmdlKTE1MAorNTU1IHkodGhlKWModiktNSBiKGFsdWVzKTM0IGIob2YpZihzaGVsbClnKG9wdGlvbnMpaChhbmQpZShzZXQpaSh0aGUpZgorKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzLCloKG9yKWUodG8paChkaXNwbGEpbSh5KWYodGhlKWcobmFtZXMpaAorKGFuZCkxNTAgNjY1IHkodiktNSBiKGFsdWVzKTMxIGIob2YpZihzaGVsbCloKHYpLTUgYihhcmlhYmxlcy4pMTUwCis4MzQgeSBGcyhzZXQpODcwIDk3MiB5KHNldCk0NyBiKFstLWFiZWZoa21ucHR1dnhCQ0VIUFRdKTQxCitiKFstbyk0NyBiIEZpKG9wdGlvbi1uYW1lKTExIGIgRnMoXSk0NCBiKFspcCBGaShhcmd1bWVudCk1NgorYiBGcyguLi4pbyhdKTg3MCAxMDgyIHkoc2V0KTQ3IGIoWythYmVmaGttbnB0dXZ4QkNFSFBUXSk0MgorYihbK28pNDcgYiBGaShvcHRpb24tbmFtZSkxMSBiIEZzKF0pNDMgYihbKXAgRmkoYXJndW1lbnQpNTYKK2IgRnMoLi4uKW8oXSk2MzAgMTIxOSB5IEZ0KElmKTIyIGIobm8paChvcHRpb25zKWcob3IpZyhhcmd1bWVuKW0odHMpZworKGFyZSlnKHN1cHBsaWVkLClnIEZzKHNldClmIEZ0KGRpc3BsYSltKHlzKWcodGhlKWgobmFtZXMpZyhhbmQpZih2KS01CitiKGFsdWVzKTIzIGIob2YpZyhhbGwpNjMwIDEzMjkgeShzaGVsbClqKHYpLTUgYihhcmlhYmxlcykyNworYihhbmQpZShmdW5jdGlvbnMsKWgoc29ydGVkKWcoYWNjb3JkaW5nKWgodG8pZyh0aGUpZihjdXJyZW4pbSh0KWYobG8pcworKGNhbGUsKWsoaW4pYyhhKWkoZm9ybWF0KTYzMCAxNDM5IHkodGhhdClpKG1hKW0oeSloKGIpcyhlKWUocmV1c2VkKWcKKyhhcyloKGlucHV0KWYoZm9yKWgoc2V0dGluZyloKG9yKWUocmVzZXR0aW5nKWkodGhlKWYoY3VycmVuKW0odGx5LXNldCloCisodiktNSBiKGFyaWFibGVzLik2MzAgMTU0OCB5KFJlYWQtb25seSkzNyBiKHYpLTUgYihhcmlhYmxlcykzNworYihjYW5ub3QpaChiKXMoZSllKHJlc2V0Lik1OSBiKEluKTM2IGIgRmwocG9zaXgpZyBGdChtbylzKGRlLClpKG9ubHkpZgorKHNoZWxsKWYodiktNSBiKGFyaWFibGVzKTM4IGIoYXJlKTYzMCAxNjU4IHkobGlzdGVkLik2MzAKKzE3OTYgeShXaGVuKTI5IGIob3B0aW9ucylnKGFyZSlnKHN1cHBsaWVkLClmKHRoZXkpaChzZXQpaChvcilmKHVuc2V0KWYKKyhzaGVsbCloKGF0dHJpYnV0ZXMuKTQxIGIoT3B0aW9ucywpMjkgYihpZilnKHNwKXMoZWMtKTYzMAorMTkwNSB5KGlcMDE0ZWQsKWgoaGEpbSh2KW0oZSlpKHRoZSllKGZvbGxvKW0od2luZylpKG1lYW5pbmdzOik2MzAKKzIwNzEgeSBGcygtYSkzODQgYiBGdChNYXJrKTMyIGIodiktNSBiKGFyaWFibGVzKTMzIGIoYW5kKWUoZnVuY3Rpb24paAorKHdoaWMpbShoKWcoYXJlKWcobW8pcyhkaVwwMTRlZClmKG9yKWgoY3JlYXRlZCloKGZvcilmKGV4LSkxMTEwCisyMTgxIHkocClzKG9ydCllKHRvKWgodGhlKWYoZW4pbSh2aXJvbm1lbiltKHQpaChvZilnKHN1YnNlcXVlbiltKHQpZgorKGNvbW1hbmRzLik2MzAgMjM0NyB5IEZzKC1iKTM4NCBiIEZ0KENhdXNlKTQ0IGIodGhlKWgoc3RhdHVzKWcob2YpZgorKHRlcm1pbmF0ZWQpaChiYWMpbShrZ3JvdW5kKWcoam9icylmKHRvKWgoYilzKGUpZihyZXApcyhvcnRlZCkxMTEwCisyNDU2IHkoaW1tZWRpYXRlbHkpLTggYigsKTMwIGIocmF0aGVyKWQodGhhbilmKGIpcyhlZm9yZSloKHByaW4pbSh0aW5nKQorZyh0aGUpZyhuZXh0KWcocHJpbWFyeSlnKHByb21wdC4pNjMwIDI2MjIgeSBGcygtZSkzODQKK2IgRnQoRXhpdCk2NSBiKGltbWVkaWF0ZWx5KWcoaWYpZihhKWgocGlwKXMoZWxpbmUpZShcKHNlZSlpKFNlY3Rpb24pZworKDMuMi4yKWgoW1BpcClzKGVsaW5lc10sKTExMTAgMjczMiB5KHBhZ2UpNTYgYig4XCksKTYyCitiKHdoaWMpbShoKTU1IGIobWEpbSh5KWgoY29uc2lzdClmKG9mKWgoYSlmKHNpbmdsZSloKHNpbXBsZSlmKGNvbW1hbmQpZworKFwoc2VlKTExMTAgMjg0MSB5KFNlY3Rpb24pNDMgYigzLjIuMSlpKFtTaW1wbGUpZChDb21tYW5kc10sKWoocGFnZSllCisoOFwpLClrKGEpYyhzdWJzaGVsbCllKGNvbW1hbmQpMTExMCAyOTUxIHkoZW5jbG9zZWQpMzIKK2IoaW4pZihwYXJlbiltKHRoZXNlcyloKFwoc2VlKWgoU2VjdGlvbilmKDMuMi40LjMpaShbQ29tbWFuZClkCisoR3JvdXBpbmddLCkxMTEwIDMwNjAgeShwYWdlKWgoMTNcKSwpaChvcillKG9uZSlnKG9mKWgodGhlKWYoY29tbWFuZHMpZworKGV4ZWN1dGVkKWgoYXMpZihwYXJ0KWcob2YpaChhKWYoY29tbWFuZCkxMTEwIDMxNzAgeShsaXN0KTM3CitiKGVuY2xvc2VkKWcoYiltKHkpZihicmFjZXMpZyhcKHNlZSloKFNlY3Rpb24pZygzLjIuNC4zKWgoW0NvbW1hbmQpZQorKEdyb3VwaW5nXSwpMTExMCAzMjgwIHkocGFnZSk0OCBiKDEzXCkpZyhyZXR1cm5zKWQoYSlqKG5vbi16ZXJvKWYKKyhzdGF0dXMuKTkxIGIoVGhlKTQ2IGIoc2hlbGwpaChkbylzKGVzKWcobm90KWcoZXhpdCloKGlmKTExMTAKKzMzODkgeSh0aGUpMzkgYihjb21tYW5kKWYodGhhdCloKGZhaWxzKWcoaXMpZihwYXJ0KWcob2YpaCh0aGUpZgorKGNvbW1hbmQpaChsaXN0KWcoaW1tZWRpYXRlbHkpMTExMCAzNDk5IHkoZm9sbG8pbSh3aW5nKTQ3CitiKGEpZiBGcyh3aGlsZSllIEZ0KG9yKWggRnModW50aWwpZiBGdChrKW0oZXl3KW0ob3JkLCk1MAorYihwYXJ0KTQ1IGIob2YpaCh0aGUpZyh0ZXN0KWcoaW4pZihhbiloIEZzKGlmKTExMTAgMzYwOAoreSBGdChzdGF0ZW1lbiltKHQsKTMxIGIocGFydClkKG9mKWgoYW4pbSh5KWcoY29tbWFuZClmKGV4ZWN1dGVkKWgoaW4pZworKGEpZyBGcygmJillIEZ0KG9yKWkgRnMofHwpZiBGdChsaXN0KWgoZXhjZXB0KTExMTAgMzcxOAoreSh0aGUpNDggYihjb21tYW5kKWgoZm9sbG8pbSh3aW5nKWcodGhlKWcoXDAxNG5hbClmIEZzKCYmKWYKK0Z0KG9yKWkgRnMofHwpcCBGdCgsKWooYW4pbSh5KWQoY29tbWFuZClmKGluKWcoYSkxMTEwCiszODI4IHkocGlwKXMoZWxpbmUpMzkgYihidXQpZih0aGUpaShsYXN0LClpKG9yKWQoaWYpZyh0aGUpaChjb21tYW5kJ3MpZgorKHJldHVybilmKHN0YXR1cyloKGlzKWcoYilzKGVpbmcpMTExMCAzOTM3IHkoaW4pbSh2KW0oZXJ0ZWQpMzMKK2Iod2l0aCllIEZzKCEpcCBGdCguKTQ1IGIoQSkzMiBiKHRyYXApZyhvbilmIEZzKEVSUilwCitGdCgsKWgoaWYpZyhzZXQsKWgoaXMpZihleGVjdXRlZClnKGIpcyhlZm9yZSlnKHRoZSlnKHNoZWxsKTExMTAKKzQwNDcgeShleGl0cy4pMTExMCA0MTg1IHkoVGhpcyllKG9wdGlvbiloKGFwcGxpZXMpZih0byloKHRoZSlnKHNoZWxsKWcKKyhlbiltKHZpcm9ubWVuKW0odClnKGFuZClmKGVhYyltKGgpaChzdWJzaGVsbClmKGVuLSkxMTEwCis0Mjk0IHkodmlyb25tZW4pbSh0KWooc2VwYXJhdGVseSlpKFwoc2VlKWYoU2VjdGlvbilnKDMuNy4zKWgoW0NvbW1hbmQpZAorKEV4ZWN1dGlvbilpKEVuLSkxMTEwIDQ0MDQgeSh2aXJvbm1lbiltKHRdLClpKHBhZ2UpZigzMlwpLClpKGFuZClkKG1hKW0KKyh5KWgoY2F1c2UpZihzdWJzaGVsbHMpZyh0byloKGV4aXQpZyhiKXMoZWZvcmUpZihleGUtKTExMTAKKzQ1MTMgeShjdXRpbmcpZChhbGwpZyh0aGUpZyhjb21tYW5kcylmKGluKWcodGhlKWcoc3Vic2hlbGwuKTYzMAorNDY3OSB5IEZzKC1mKTM4NCBiIEZ0KERpc2FibGUpMzEgYihcMDE0bGVuYW1lKWcoZXhwYW5zaW9uKWYKKyhcKGdsb2JiaW5nXCkuKTYzMCA0ODQ1IHkgRnMoLWgpMzg0IGIgRnQoTG8pcyhjYXRlKTMzCitiKGFuZCllKHJlbWVtKW0oYilzKGVyKWgoXChoYXNoXCkpZyhjb21tYW5kcylmKGFzKWgodGhleSlnKGFyZSlnKGxvKXMKKyhvayltKGVkKWgodXApZShmb3IpMTExMCA0OTU1IHkoZXhlY3V0aW9uLik0MiBiKFRoaXMpMjkKK2Iob3B0aW9uKWkoaXMpZyhlbmFibGVkKWYoYiltKHkpZyhkZWZhdWx0Lik2MzAgNTEyMSB5CitGcygtaykzODQgYiBGdChBbGwpMzQgYihhcmd1bWVuKW0odHMpZyhpbilmKHRoZSloKGZvcm0pZihvZilnCisoYXNzaWdubWVuKW0odCloKHN0YXRlbWVuKW0odHMpaShhcmUpZChwbGFjZWQpaChpbikxMTEwCis1MjMwIHkodGhlKWsoZW4pbSh2aXJvbm1lbiltKHQpZyhmb3IpZyhhKWcoY29tbWFuZCwpaChub3QpZihqdXN0KWYKKyh0aG9zZSlpKHRoYXQpZihwcmVjZWRlKWcodGhlKTExMTAgNTM0MCB5KGNvbW1hbmQpMzAKK2IobmFtZS4pcCBlb3AgZW5kCiAlJVBhZ2U6IDU1IDYxCiBUZVhEaWN0IGJlZ2luIDU1IDYwIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig0Oik0MQotYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNTUpMTUwIDI5OSB5IEZqKDQuMy4yKTYzCi1iKFRoZSk0MSBiKFNob3B0KWgoQnVpbHRpbikxNTAgNDQ2IHkgRnQoVGhpcykzMCBiKGJ1aWx0aW4pZyhhbGxvKW0od3MpaAotKHkpbShvdSlnKHRvKWcoYyltKGhhbmdlKWgoYWRkaXRpb25hbClmKHNoZWxsKWYob3B0aW9uYWwpaShiKXMoZWhhKW0KLSh2aW9yLikxNTAgNjE4IHkgRnMoc2hvcHQpODcwIDc1NiB5KHNob3B0KTQ2IGIoWy1wcXN1XSlnKFstb10paChbKXAKLUZpKG9wdG5hbWUpNTYgYiBGcyguLi4pbyhdKTYzMCA4OTUgeSBGdChUKS04IGIob2dnbGUpNDcKLWIodGhlKWQodiktNSBiKGFsdWVzKTQ1IGIob2YpZyh2KS01IGIoYXJpYWJsZXMpNDUgYihjb24pbSh0cm9sbGluZylpCi0ob3B0aW9uYWwpZihzaGVsbCllKGIpcyhlaGEpbSh2aW9yLik4NCBiKFdpdGgpNDUgYihubyk2MzAKLTEwMDQgeShvcHRpb25zLCkzMiBiKG9yKWYod2l0aClnKHRoZSlnKGApcCBGcygtcClwIEZ0KCcpZyhvcHRpb24sKWgoYSlnCi0obGlzdClmKG9mKWgoYWxsKWcoc2V0dGFibGUpZyhvcHRpb25zKWcoaXMpZihkaXNwbGEpbSh5KW0oZWQsKWgod2l0aCkKLTYzMCAxMTE0IHkoYW4paShpbmRpY2F0aW9uKWkob2YpZih3aGV0aGVyKWYob3IpZyhub3QpaChlYWMpbShoKWgoaXMpZQotKHNldC4pNTQgYihUaGUpMzQgYihgKXAgRnMoLXApcCBGdCgnKWgob3B0aW9uKWcoY2F1c2VzKWcob3V0cHV0KWYodG8pCi02MzAgMTIyNCB5KGIpcyhlKWkoZGlzcGxhKW0oeSltKGVkKWgoaW4pZShhKWkoZm9ybSlmKHRoYXQpaChtYSltKHkpZyhiKQotcyhlKWUocmV1c2VkKWgoYXMpZyhpbnB1dC4pNTggYihPdGhlcikzNiBiKG9wdGlvbnMpZyhoYSltKHYpbShlKWkodGhlKQotNjMwIDEzMzMgeShmb2xsbyltKHdpbmcpMzIgYihtZWFuaW5nczopNjMwIDE1MDEgeSBGcygtcykzODQKLWIgRnQoRW5hYmxlKTMwIGIoXChzZXRcKSlpKGVhYyltKGgpZiBGcShvcHRuYW1lKTUgYiBGdCguKTYzMAotMTY2OCB5IEZzKC11KTM4NCBiIEZ0KERpc2FibGUpMzEgYihcKHVuc2V0XCkpZyhlYWMpbShoKWgKLUZxKG9wdG5hbWUpNSBiIEZ0KC4pNjMwIDE4MzYgeSBGcygtcSkzODQgYiBGdChTdXBwcmVzc2VzKTI4Ci1iKG5vcm1hbCloKG91dHB1dDspaCh0aGUpZyhyZXR1cm4pZShzdGF0dXMpaShpbmRpY2F0ZXMpaCh3aGV0aGVyKWUodGhlKQotMTExMCAxOTQ2IHkgRnEob3B0bmFtZSkzNyBiIEZ0KGlzKTMxIGIoc2V0KWgob3IpZih1bnNldC4pNDMKLWIoSWYpMzEgYihtKW0odWx0aXBsZSloIEZxKG9wdG5hbWUpMzcgYiBGdChhcmd1bWVuKW0odHMpMzEKLWIoYXJlKWgoZ2l2KW0oZW4pMTExMCAyMDU1IHkod2l0aCk0MyBiKGApcCBGcygtcSlwIEZ0KCcsKWoodGhlKWQKLShyZXR1cm4pZihzdGF0dXMpaChpcylnKHplcm8paChpZilmKGFsbClnIEZxKG9wdG5hbWVzKWsKLUZ0KGFyZSlkKGVuYWJsZWQ7KTExMTAgMjE2NSB5KG5vbi16ZXJvKTMxIGIob3RoZXJ3aXNlLik2MzAKLTIzMzMgeSBGcygtbykzODQgYiBGdChSZXN0cmljdHMpMjggYih0aGUpZyh2KS01IGIoYWx1ZXMpMjgKLWIob2YpZiBGcShvcHRuYW1lKTMzIGIgRnQodG8pYyhiKXMoZSlkKHRob3NlKWkoZGVcMDE0bmVkKWYoZm9yKWcodGhlKWcKLShgKXAgRnMoLW8pcCBGdCgnKWgob3AtKTExMTAgMjQ0MiB5KHRpb24pMjMgYih0byloKHRoZSlmCi1GcyhzZXQpZiBGdChidWlsdGluKWgoXChzZWUpZyhTZWN0aW9uKWgoNC4zLjEpaChbVGhlKWQoU2V0KWkoQnVpbHRpbl0sKQotaChwYWdlKWUoNTFcKS4pNjMwIDI2MTAgeShJZikyOSBiKGVpdGhlcilpKGApcCBGcygtcylwCi1GdCgnKWYob3IpZyhgKXAgRnMoLXUpcCBGdCgnKWYoaXMpaCh1c2VkKWcod2l0aClmKG5vKWgKLUZxKG9wdG5hbWUpMzUgYiBGdChhcmd1bWVuKW0odHMsKWModGhlKWYoZGlzcGxhKW0oeSlnKGlzKWcobGltaXRlZCk2MzAKLTI3MTkgeSh0byloKHRob3NlKWcob3B0aW9ucylnKHdoaWMpbShoKWYoYXJlKWgoc2V0KWYob3IpaCh1bnNldCwpZgotKHJlc3ApcyhlY3RpdiltKGVseSktOCBiKC4pNjMwIDI4NTggeShVbmxlc3MpMzAgYihvdGhlcndpc2UpaChub3RlZCwpZwotKHRoZSlnIEZzKHNob3B0KWQgRnQob3B0aW9ucylqKGFyZSlnKGRpc2FibGVkKWYoXChvXDAxMyk3Ci1iKFwpKTMyIGIoYiltKHkpZShkZWZhdWx0Lik2MzAgMjk5NyB5KFRoZSlkKHJldHVybilmKHN0YXR1cylpKHdoZW4pZgotKGxpc3RpbmcpaChvcHRpb25zKWcoaXMpZih6ZXJvKWkoaWYpZShhbGwpaSBGcShvcHRuYW1lcylpCi1GdChhcmUpZChlbmFibGVkLClnKG5vbi0pNjMwIDMxMDYgeSh6ZXJvKTQwIGIob3RoZXJ3aXNlLik2NgotYihXaGVuKTM5IGIoc2V0dGluZyloKG9yKWYodW5zZXR0aW5nKWcob3B0aW9ucywpaSh0aGUpZShyZXR1cm4pZgotKHN0YXR1cyloKGlzKWcoemVybyk2MzAgMzIxNiB5KHVubGVzcykzMCBiKGFuKWcgRnEob3B0bmFtZSkzNgotYiBGdChpcykzMCBiKG5vdCloKGEpZyh2KS01IGIoYWxpZCkzMCBiKHNoZWxsKWgob3B0aW9uLik2MzAKLTMzNTQgeShUaGUpZihsaXN0KWgob2YpZiBGcyhzaG9wdClmIEZ0KG9wdGlvbnMpaShpczopNjMwCi0zNTIyIHkgRnMoYXV0b2NkKTE5MiBiIEZ0KElmKTI3IGIoc2V0LCloKGEpZyhjb21tYW5kKWYobmFtZSlnKHRoYXQpaAotKGlzKWYodGhlKWcobmFtZSlnKG9mKWgoYSlmKGRpcmVjdG9yeSloKGlzKWYoZXhlY3V0ZWQpMTExMAotMzYzMiB5KGFzKWooaWYpZihpdCloKHcpbShlcmUpZih0aGUpaChhcmd1bWVuKW0odClnKHRvKWcodGhlKWYKLUZzKGNkKWcgRnQoY29tbWFuZC4pNDAgYihUaGlzKTI5IGIob3B0aW9uKWcoaXMpaChvbmx5KTExMTAKLTM3NDEgeSh1c2VkKWcoYiltKHkpZyhpbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxscy4pNjMwCi0zOTA5IHkgRnMoY2RhYmxlX3ZhcnMpMTExMCA0MDE4IHkgRnQoSWYpaCh0aGlzKWgoaXMpZyhzZXQsKWkoYW4pZQotKGFyZ3VtZW4pbSh0KWcodG8paCh0aGUpZiBGcyhjZClmIEZ0KGJ1aWx0aW4paChjb21tYW5kKWYodGhhdClpKGlzKWYKLShub3QpMTExMCA0MTI4IHkoYSljKGRpcmVjdG9yeSlnKGlzKWcoYXNzdW1lZClmKHRvKWgoYilzKGUpZih0aGUpaAotKG5hbWUpZihvZiloKGEpZyh2KS01IGIoYXJpYWJsZSkzMSBiKHdob3NlKWcodiktNSBiKGFsdWUpMzEKLWIoaXMpMTExMCA0MjM4IHkodGhlKWcoZGlyZWN0b3J5KWYodG8paShjKW0oaGFuZ2UpZih0by4pNjMwCi00NDA1IHkgRnMoY2RzcGVsbCkxNDQgYiBGdChJZikyNyBiKHNldCwpaChtaW5vcilmKGVycm9ycylmKGluKWgodGhlKWcKLShzcClzKGVsbGluZyloKG9mKWYoYSlnKGRpcmVjdG9yeSloKGNvbXApcyhvbmVuKW0odClmKGluKWcoYSloCi1GcyhjZCkxMTEwIDQ1MTUgeSBGdChjb21tYW5kKWkod2lsbCloKGIpcyhlKWYoY29ycmVjdGVkLik0MwotYihUaGUpMzAgYihlcnJvcnMpZyhjKW0oaGVjKW0oayltKGVkKWooZm9yKWQoYXJlKWgodHJhbnNwKXMob3NlZCkxMTEwCi00NjI0IHkoYyltKGhhcmFjdGVycywpNDYgYihhKWMobWlzc2luZylmKGMpbShoYXJhY3RlciwpNDcKLWIoYW5kKTQwIGIoYSlpKGMpbShoYXJhY3RlciloKHRvKXMobylnKG1hbiltKHkpLTggYiguKTc0Ci1iKElmKTQyIGIoYSkxMTEwIDQ3MzQgeShjb3JyZWN0aW9uKTI1IGIoaXMpZShmb3VuZCwpZyh0aGUpaChjb3JyZWN0ZWQpZwotKHBhdGgpZihpcylnKHByaW4pbSh0ZWQsKWgoYW5kKWYodGhlKWcoY29tbWFuZCkxMTEwIDQ4NDQKLXkocHJvKXMoY2VlZHMuKTQwIGIoVGhpcykzMCBiKG9wdGlvbiloKGlzKWYob25seSloKHVzZWQpZShiKW0oeSloKGluKW0KLSh0ZXJhY3RpdiltKGUpayhzaGVsbHMuKTYzMCA1MDExIHkgRnMoY2hlY2toYXNoKTExMTAKLTUxMjEgeSBGdChJZikyOSBiKHRoaXMpaChpcylnKHNldCwpZyhCYXNoKWcoYyltKGhlYyltKGtzKWgodGhhdClnKGEpZgotKGNvbW1hbmQpZihmb3VuZClnKGluKWcodGhlKWgoaGFzaClmKHRhYmxlKTExMTAgNTIzMAoteShleGlzdHMpayhiKXMoZWZvcmUpZih0cnlpbmcpaCh0byloKGV4ZWN1dGUpZyhpdC4pNDgKLWIoSWYpMzIgYihhKWgoaGFzaGVkKWUoY29tbWFuZClpKG5vKWYobG9uZ2VyKTExMTAgNTM0MAoteShleGlzdHMsKWYoYSlnKG5vcm1hbClmKHBhdGgpZyhzZWFyYyltKGgpaChpcylnKHApcyhlcmZvcm1lZC4pcAorYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNTUpNjMwIDI5OSB5IEZzKC1tKTM4NAorYiBGdChKb2IpMzAgYihjb24pbSh0cm9sKWkoaXMpZShlbmFibGVkKWgoXChzZWUpZyhDaGFwdGVyKWYoNylnKFtKb2IpaAorKENvbiltKHRyb2xdLClnKHBhZ2UpZyg5MVwpLik2MzAgNDYzIHkgRnMoLW4pMzg0IGIgRnQoUmVhZCkyMQorYihjb21tYW5kcylmKGJ1dClnKGRvKWgobm90KWcoZXhlY3V0ZSloKHRoZW07KWkodGhpcylkKG1hKW0oeSlnKGIpcyhlKWYKKyh1c2VkKWcodG8paChjKW0oaGVjKW0oaykxMTEwIDU3MyB5KGEpNDIgYihzY3JpcHQpZyhmb3IpZyhzeW4pbSh0YXgpZworKGVycm9ycy4pNzUgYihUaGlzKTQxIGIob3B0aW9uKWgoaXMpZyhpZ25vcmVkKWcoYiltKHkpZyhpbiltKHRlcmFjdGl2KW0KKyhlKTExMTAgNjgyIHkoc2hlbGxzLik2MzAgODQ3IHkgRnMoLW8pMzAgYiBGaShvcHRpb24tbmFtZSkxMTEwCis5NTYgeSBGdChTZXQpaCh0aGUpZihvcHRpb24paChjb3JyZXNwKXMob25kaW5nKWUodG8paQorRnEob3B0aW9uLW5hbWUpNSBiIEZ0KDopMTExMCAxMTIxIHkgRnMoYWxsZXhwb3J0KTE1OTAKKzEyMzAgeSBGdChTYW1lKTMwIGIoYXMpaCBGcygtYSlwIEZ0KC4pMTExMCAxMzk1IHkgRnMoYnJhY2VleHBhbmQpMTU5MAorMTUwNCB5IEZ0KFNhbWUpZihhcyloIEZzKC1CKXAgRnQoLikxMTEwIDE2NjkgeSBGcyhlbWFjcykyNDAKK2IgRnQoVXNlKTI1IGIoYW4pZiBGcyhlbWFjcylwIEZ0KC1zdCltKHlsZSloKGxpbmUpZihlZGl0aW5nKWgoaW4pbQorKHRlcmZhY2UpaChcKHNlZSlnKENoYXB0ZXIpZSg4KTE1OTAgMTc3OCB5KFtDb21tYW5kKTM4CitiKExpbmUpZyhFZGl0aW5nXSwpaShwYWdlKWYoOTVcKS4pNjYgYihUaGlzKTM3IGIoYWxzbylpKGFcMDEzZWN0cykxNTkwCisxODg4IHkodGhlKTMxIGIoZWRpdGluZylnKGluKW0odGVyZmFjZSloKHVzZWQpZChmb3IpaAorRnMocmVhZClmKC1lKXAgRnQoLikxMTEwIDIwNTIgeSBGcyhlcnJleGl0KTE0NCBiIEZ0KFNhbWUpMzAKK2IoYXMpaCBGcygtZSlwIEZ0KC4pMTExMCAyMjE3IHkgRnMoZXJydHJhY2UpOTYgYiBGdChTYW1lKTMwCitiKGFzKWggRnMoLUUpcCBGdCguKTExMTAgMjM4MSB5IEZzKGZ1bmN0cmFjZSkxNTkwIDI0OTEKK3kgRnQoU2FtZSlmKGFzKWggRnMoLVQpcCBGdCguKTExMTAgMjY1NSB5IEZzKGhhc2hhbGwpMTQ0CitiIEZ0KFNhbWUpMzAgYihhcyloIEZzKC1oKXAgRnQoLikxMTEwIDI4MTkgeSBGcyhoaXN0ZXhwYW5kKTE1OTAKKzI5MjkgeSBGdChTYW1lKWYoYXMpaCBGcygtSClwIEZ0KC4pMTExMCAzMDkzIHkgRnMoaGlzdG9yeSkxNDQKK2IgRnQoRW5hYmxlKTM5IGIoY29tbWFuZClnKGhpc3RvcnkpLTggYigsKTQyIGIoYXMpZChkZXNjcmliKXMoZWQpZihpbiloCisoU2VjdGlvbiloKDkuMSkxNTkwIDMyMDMgeShbQmFzaClkKEhpc3RvcnkpZyhGKS04IGIoYWNpbGl0aWVzXSwpNDEKK2IocGFnZSljKDEyNS4pNjAgYihUaGlzKTM2IGIob3B0aW9uKWgoaXMpZihvbikxNTkwIDMzMTMKK3koYiltKHkpMzAgYihkZWZhdWx0KWgoaW4pZihpbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxscy4pMTExMAorMzQ3NyB5IEZzKGlnbm9yZWVvZikxNTkwIDM1ODcgeSBGdChBbilkKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGwpZQorKHdpbGwpZyhub3QpZihleGl0KWgodXApcyhvbillKHJlYWRpbmcpaShFT0YuKTExMTAgMzc1MQoreSBGcyhrZXl3b3JkKTE0NCBiIEZ0KFNhbWUpMzAgYihhcyloIEZzKC1rKXAgRnQoLikxMTEwCiszOTE1IHkgRnMobW9uaXRvcikxNDQgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtbSlwIEZ0KC4pMTExMAorNDA4MCB5IEZzKG5vY2xvYmJlcikxNTkwIDQxODkgeSBGdChTYW1lKWYoYXMpaCBGcygtQylwCitGdCguKTExMTAgNDM1NCB5IEZzKG5vZXhlYykxOTIgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtbilwCitGdCguKTExMTAgNDUxOCB5IEZzKG5vZ2xvYikxOTIgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtZilwCitGdCguKTExMTAgNDY4MiB5IEZzKG5vbG9nKTI0MCBiIEZ0KEN1cnJlbiltKHRseSkzMCBiKGlnbm9yZWQuKTExMTAKKzQ4NDcgeSBGcyhub3RpZnkpMTkyIGIgRnQoU2FtZSkzMCBiKGFzKWggRnMoLWIpcCBGdCguKTExMTAKKzUwMTEgeSBGcyhub3Vuc2V0KTE0NCBiIEZ0KFNhbWUpMzAgYihhcyloIEZzKC11KXAgRnQoLikxMTEwCis1MTc2IHkgRnMob25lY21kKTE5MiBiIEZ0KFNhbWUpMzAgYihhcyloIEZzKC10KXAgRnQoLikxMTEwCis1MzQwIHkgRnMocGh5c2ljYWwpOTYgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtUClwIEZ0KC4pcAogZW9wIGVuZAogJSVQYWdlOiA1NiA2MgogVGVYRGljdCBiZWdpbiA1NiA2MSBib3AgMTUwIC0xMTYgYSBGdCg1NikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKGNoZWNram9icykxMTEwIDQwOAoteSBGdChJZilkKHNldCwpaShCYXNoKWUobGlzdHMpaCh0aGUpZyhzdGF0dXMpZyhvZilmKGFuKW0oeSloKHN0b3BwKXMKLShlZClmKGFuZClnKHJ1bm5pbmcpZShqb2JzKWkoYilzKGVmb3JlKTExMTAgNTE4IHkoZXhpdGluZyk0MgotYihhbilmKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGwuKTcyIGIoSWYpNDEgYihhbiltKHkpZyhqb2JzKWYoYXJlKWkKLShydW5uaW5nLClnKHRoaXMpZihjYXVzZXMpMTExMCA2MjggeSh0aGUpMzAgYihleGl0KWcodG8pZyhiKXMoZSlmCi0oZGVmZXJyZWQpZyh1biltKHRpbCloKGEpZihzZWNvbmQpaChleGl0KWcoaXMpZyhhdHRlbXB0ZWQpaCh3aXRob3V0KWUKLShhbikxMTEwIDczNyB5KGluKW0odGVydiltKGVuaW5nKWooY29tbWFuZCllKFwoc2VlKWgoQ2hhcHRlcilmKDcpaAotKFtKb2IpZihDb24pbSh0cm9sXSwpaShwYWdlKWYoODlcKS4pNDIgYihUaGUpMTExMCA4NDcKLXkoc2hlbGwpMzEgYihhbHcpbShhKW0oeXMpZyhwKXMob3N0cClzKG9uZXMpZihleGl0aW5nKWgoaWYpZyhhbiltKHkpZgotKGpvYnMpZyhhcmUpaChzdG9wcClzKGVkLik2MzAgMTAwOSB5IEZzKGNoZWNrd2luc2l6ZSkxMTEwCi0xMTE4IHkgRnQoSWYpNDEgYihzZXQsKWsoQmFzaCljKGMpbShoZWMpbShrcylpKHRoZSlmKHdpbmRvKW0odyllKHNpemUpagotKGFmdGVyKWYoZWFjKW0oaClnKGNvbW1hbmQpZihhbmQsKWooaWYpMTExMCAxMjI4IHkobmVjZXNzYXJ5KS04Ci1iKCwpMzEgYih1cClzKGRhdGVzKWYodGhlKWcodiktNSBiKGFsdWVzKTMxIGIob2YpZyBGcyhMSU5FUyllCi1GdChhbmQpZyBGcyhDT0xVTU5TKXAgRnQoLik2MzAgMTM5MCB5IEZzKGNtZGhpc3QpMTQ0Ci1iIEZ0KElmKTMzIGIoc2V0LClqKEJhc2gpZShhdHRlbXB0cyloKHRvKWcoc2EpbSh2KW0oZSlnKGFsbClnKGxpbmVzKWYKLShvZilnKGEpaChtKW0odWx0aXBsZS1saW5lKWcoY29tbWFuZCkxMTEwIDE0OTkgeShpbiljKHRoZSlnKHNhbWUpZwotKGhpc3RvcnkpZyhlbiltKHRyeSktOCBiKC4pNDIgYihUaGlzKTMwIGIoYWxsbyltKHdzKWkoZWFzeSlnCi0ocmUtZWRpdGluZylnKG9mKWYobSltKHVsdGktbGluZSkxMTEwIDE2MDkgeShjb21tYW5kcy4pNjMwCi0xNzcxIHkgRnMoY29tcGF0MzEpOTYgYiBGdChJZikyNyBiKHNldCwpaShCYXNoKWUoYyltKGhhbmdlcylpKGl0cylmKGIpcwotKGVoYSltKHZpb3IpZih0bylpKHRoYXQpZihvZilmKHYpbShlcnNpb24paCgzLjEpaCh3aXRoKWUocmVzcClzKGVjdCkKLTExMTAgMTg4MCB5KHRvKWsocXVvdGVkKWcoYXJndW1lbiltKHRzKWYodG8paCh0aGUpZyhjb25kaXRpb25hbCloCi0oY29tbWFuZCdzKWUoPSlwIEZzKH4pZyBGdChvcClzKGVyYXRvci4pNjMwIDIwNDIgeSBGcyhkaXJzcGVsbCk5NgotYiBGdChJZikyNiBiKHNldCwpaShCYXNoKWYoYXR0ZW1wdHMpZyhzcClzKGVsbGluZylnKGNvcnJlY3Rpb24pZyhvbilnCi0oZGlyZWN0b3J5KWcobmFtZXMpZihkdXJpbmcpMTExMCAyMTUxIHkodyltKG9yZCkzNiBiKGNvbXBsZXRpb24paChpZilmCi0odGhlKWcoZGlyZWN0b3J5KWcobmFtZSlnKGluaXRpYWxseSloKHN1cHBsaWVkKWUoZG8pcyhlcyloKG5vdCkxMTEwCi0yMjYxIHkoZXhpc3QuKTYzMCAyNDIzIHkgRnMoZG90Z2xvYikxNDQgYiBGdChJZikyNyBiKHNldCwpaShCYXNoKWYKLShpbmNsdWRlcylnKFwwMTRsZW5hbWVzKWcoYilzKGVnaW5uaW5nKWYod2l0aClnKGEpaChgLicpNDEKLWIoaW4pMjcgYih0aGUpaChyZXN1bHRzKWcob2YpMTExMCAyNTMyIHkoXDAxNGxlbmFtZSlqKGV4cGFuc2lvbi4pNjMwCi0yNjk0IHkgRnMoZXhlY2ZhaWwpOTYgYiBGdChJZikyNCBiKHRoaXMpaChpcylmKHNldCwpaihhKWUobm9uLWluKW0KLSh0ZXJhY3RpdiltKGUpaShzaGVsbCllKHdpbGwpZihub3QpaChleGl0KWgoaWYpZShpdCloKGNhbm5vdCloKGV4ZWN1dGUpCi0xMTEwIDI4MDQgeSh0aGUpaShcMDE0bGUpZyhzcClzKGVjaVwwMTRlZClnKGFzKWcoYW4pZyhhcmd1bWVuKW0odClnKHRvKQotaCh0aGUpZiBGcyhleGVjKWYgRnQoYnVpbHRpbiloKGNvbW1hbmQuKTM5IGIoQW4pMTExMAotMjkxMyB5KGluKW0odGVyYWN0aXYpbShlKTMzIGIoc2hlbGwpZShkbylzKGVzKWYobm90KWcoZXhpdClpKGlmKWUKLUZzKGV4ZWMpZiBGdChmYWlscy4pNjMwIDMwNzUgeSBGcyhleHBhbmRfYWxpYXNlcykxMTEwCi0zMTg1IHkgRnQoSWYpaihzZXQsKWgoYWxpYXNlcylnKGFyZSlnKGV4cGFuZGVkKWUoYXMpaChkZXNjcmliKXMoZWQpZihiKQotcyhlbG8pbSh3KWgodW5kZXIpZihBbGlhc2VzLClpKFNlYy0pMTExMCAzMjk0IHkodGlvbikzOAotYig2LjYpaChbQWxpYXNlc10sKWoocGFnZSlkKDc5Lik2NCBiKFRoaXMpMzcgYihvcHRpb24paChpcylnKGVuYWJsZWQpZwotKGIpbSh5KWcoZGVmYXVsdClnKGZvcikxMTEwIDM0MDQgeShpbiltKHRlcmFjdGl2KW0oZSkzMwotYihzaGVsbHMuKTYzMCAzNTY2IHkgRnMoZXh0ZGVidWcpOTYgYiBGdChJZikzMCBiKHNldCwpaChiKXMoZWhhKW0odmlvcikKLWcoaW4pbSh0ZW5kZWQpZihmb3IpZyh1c2UpZyhiKW0oeSlnKGRlYnVnZ2VycylnKGlzKWgoZW5hYmxlZDopMTE1OQotMzcwMSB5KDEuKTYxIGIoVGhlKTMyIGIoYClwIEZzKC1GKXAgRnQoJylnKG9wdGlvbiloKHRvKWcodGhlKWcKLUZzKGRlY2xhcmUpZCBGdChidWlsdGluKWkoXChzZWUpaShTZWN0aW9uKWYoNC4yKWgoW0Jhc2gpMTI5MAotMzgxMSB5KEJ1aWx0aW5zXSwpMjkgYihwYWdlKWcoNDFcKSlnKGRpc3BsYSltKHlzKWYodGhlKWcoc291cmNlKWgKLShcMDE0bGUpZihuYW1lKWcoYW5kKWYobGluZSloKG4pbSh1bS0pMTI5MCAzOTIxIHkoYilzKGVyKWgoY29ycmVzcClzCi0ob25kaW5nKWcodG8paShlYWMpbShoKWcoZnVuY3Rpb24pZihuYW1lKWcoc3VwcGxpZWQpZihhcylpKGFuKWYoYXJndS0pCi0xMjkwIDQwMzAgeShtZW4pbSh0LikxMTU5IDQxNjYgeSgyLik2MSBiKElmKTIwIGIodGhlKWgoY29tbWFuZClnKHJ1billCi0oYiltKHkpaSh0aGUpZiBGcyhERUJVRylnIEZ0KHRyYXApZyhyZXR1cm5zKWcoYSloKG5vbi16ZXJvKWcodiktNQotYihhbHVlLCkxMjkwIDQyNzUgeSh0aGUpMzEgYihuZXh0KWYoY29tbWFuZClnKGlzKWgoc2tpcHApcyhlZCllKGFuZClnCi0obm90KWkoZXhlY3V0ZWQuKTExNTkgNDQxMSB5KDMuKTYxIGIoSWYpMzcgYih0aGUpZyhjb21tYW5kKWcocnVuKWYoYiltCi0oeSlpKHRoZSlmIEZzKERFQlVHKWYgRnQodHJhcCloKHJldHVybnMpZihhKWkodiktNSBiKGFsdWUpMzgKLWIob2YpZigyLCkxMjkwIDQ1MjEgeShhbmQpYyh0aGUpZyhzaGVsbCloKGlzKWYoZXhlY3V0aW5nKWkoaW4pZShhKWgKLShzdWJyb3V0aW5lKWUoXChhKWkoc2hlbGwpZyhmdW5jdGlvbilmKG9yKTEyOTAgNDYzMCB5KGEpaChzaGVsbCloCi0oc2NyaXB0KWYoZXhlY3V0ZWQpaChiKW0oeSlmKHRoZSlnIEZzKC4pZyBGdChvcilnIEZzKHNvdXJjZSllCi1GdChidWlsdGluc1wpLClqKGEpZyhjYWxsKWcodG8pMTI5MCA0NzQwIHkgRnMocmV0dXJuKTI5Ci1iIEZ0KGlzKWgoc2ltKW0odWxhdGVkLikxMTU5IDQ4NzYgeSg0Lik2MSBiIEZzKEJBU0hfQVJHQykzNAotYiBGdChhbmQpaSBGcyhCQVNIX0FSR1YpZSBGdChhcmUpaih1cClzKGRhdGVkKWUoYXMpaChkZXNjcmliKXMoZWQpZyhpbikKLWcodGhlaXIpMTI5MCA0OTg1IHkoZGVzY3JpcHRpb25zKTMwIGIoXChzZWUpaShTZWN0aW9uKWYoNS4yKWcoW0Jhc2gpZwotKFYpLTggYihhcmlhYmxlc10sKTMyIGIocGFnZSlmKDYxXCkuKTExNTkgNTEyMSB5KDUuKTYxCi1iKEYpLTggYih1bmN0aW9uKTU3IGIodHJhY2luZylnKGlzKWcoZW5hYmxlZDopOTMgYihjb21tYW5kKTU2Ci1iKHN1YnN0aXR1dGlvbiwpNjMgYihzaGVsbCkxMjkwIDUyMzAgeShmdW5jdGlvbnMsKTMwCi1iKGFuZClmKHN1YnNoZWxscylnKGluKW0odiltKG9rKW0oZWQpaih3aXRoKWQgRnMoXCgpaAotRmkoY29tbWFuZCkzOSBiIEZzKFwpKTMwIGIgRnQoaW5oZXJpdClnKHRoZSkxMjkwIDUzNDAKLXkgRnMoREVCVUcpZiBGdChhbmQpaCBGcyhSRVRVUk4pZSBGdCh0cmFwcy4pcCBlb3AgZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxMTEwIDI5OSB5IEZzKHBpcGVmYWlsKTk2IGIgRnQoSWYpNDQKK2Ioc2V0LClrKHRoZSlkKHJldHVybillKHYpLTUgYihhbHVlKTQ1IGIob2YpZihhKWgocGlwKXMoZWxpbmUpZShpcylpCisodGhlKWYodiktNSBiKGFsdWUpNDUgYihvZikxNTkwIDQwOCB5KHRoZSkzMyBiKGxhc3QpaChcKHJpZ2gpbSh0bW9zdFwpKQoraChjb21tYW5kKWUodG8paChleGl0KWcod2l0aClmKGEpZyhub24temVybykxNTkwIDUxOAoreShzdGF0dXMsKTI4IGIob3IpZih6ZXJvKWcoaWYpZihhbGwpaShjb21tYW5kcyllKGluKWcodGhlKWgocGlwKXMKKyhlbGluZSlmKGV4aXQpaShzdWMtKTE1OTAgNjI4IHkoY2Vzc2Z1bGx5KS04IGIoLik0MSBiKFRoaXMpMzAKK2Iob3B0aW9uKWgoaXMpZihkaXNhYmxlZClnKGIpbSh5KWgoZGVmYXVsdC4pMTExMCA3OTIKK3kgRnMocG9zaXgpMjQwIGIgRnQoQ2hhbmdlKTMwIGIodGhlKWcoYilzKGVoYSltKHZpb3IpaChvZilmKEJhc2gpZworKHdoZXJlKWcodGhlKWcoZGVmYXVsdCloKG9wKXMoZXJhLSkxNTkwIDkwMiB5KHRpb24pMjUKK2IoZGlcMDEzZXJzKWYoZnJvbSlnKHRoZSloIEZsKHBvc2l4KWYgRnQoc3RhbmRhcmQpZih0bylpKG1hdGMpbShoKWgKKyh0aGUpZihzdGFuLSkxNTkwIDEwMTEgeShkYXJkKTMyIGIoXChzZWUpaShTZWN0aW9uKWcoNi4xMSloKFtCYXNoKWUKKyhQT1NJWClmKE1vKXMoZGVdLClqKHBhZ2UpZSg4NlwpLikxNTkwIDExMjEgeShUaGlzKWsoaXMpZyhpbiltKHRlbmRlZClnCisodG8paChtYWspbShlKWcoQmFzaClnKGIpcyhlaGEpbSh2KW0oZSlnKGFzKWcoYSlmKHN0cmljdCloKHN1LSkxNTkwCisxMjMwIHkocClzKGVyc2V0KTMwIGIob2YpaCh0aGF0KWYoc3RhbmRhcmQuKTExMTAgMTM5NQoreSBGcyhwcml2aWxlZ2VkKTE1OTAgMTUwNCB5IEZ0KFNhbWUpZyhhcyloIEZzKC1wKXAgRnQoLikxMTEwCisxNjY5IHkgRnModmVyYm9zZSkxNDQgYiBGdChTYW1lKTMwIGIoYXMpaCBGcygtdilwIEZ0KC4pMTExMAorMTgzMyB5IEZzKHZpKTM4NCBiIEZ0KFVzZSkzNiBiKGEpZyBGcyh2aSlwIEZ0KC1zdCltKHlsZSlnKGxpbmUpZworKGVkaXRpbmcpZyhpbiltKHRlcmZhY2UuKTU4IGIoVGhpcykzNSBiKGFsc28paChhXDAxM2VjdHMpMTU5MAorMTk0MyB5KHRoZSkzMSBiKGVkaXRpbmcpZyhpbiltKHRlcmZhY2UpaCh1c2VkKWQoZm9yKWgKK0ZzKHJlYWQpZigtZSlwIEZ0KC4pMTExMCAyMTA3IHkgRnMoeHRyYWNlKTE5MiBiIEZ0KFNhbWUpMzAKK2IoYXMpaCBGcygteClwIEZ0KC4pNjMwIDIyNzEgeSBGcygtcCkzODQgYiBGdChUKS04IGIodXJuKTMzCitiKG9uKWgocHJpdmlsZWdlZCloKG1vKXMoZGUuKTUxIGIoSW4pMzQgYih0aGlzKWcobW8pcyhkZSwpaCh0aGUpZgorRnMoJEJBU0hfRU5WKWUgRnQoYW5kKWggRnMoJEVOVikxMTEwIDIzODEgeSBGdChcMDE0bGVzKTIzCitiKGFyZSloKG5vdClmKHBybylzKGNlc3NlZCwpaChzaGVsbClnKGZ1bmN0aW9ucyllKGFyZSlpKG5vdClmCisoaW5oZXJpdGVkKWcoZnJvbSlmKHRoZSlpKGVuLSkxMTEwIDI0OTEgeSh2aXJvbm1lbiltKHQsKWgoYW5kKWUodGhlKWcKK0ZzKFNIRUxMT1BUUylwIEZ0KCwpZiBGcyhCQVNIT1BUUylwIEZ0KCwpaCBGcyhDRFBBVEgpZQorRnQoYW5kKWkgRnMoR0xPQklHTk9SRSkxMTEwIDI2MDAgeSBGdCh2KS01IGIoYXJpYWJsZXMsKTIzCitiKGlmKWUodGhleSlnKGFwcClzKGVhcilmKGluKWcodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQsKWkoYXJlKWUKKyhpZ25vcmVkLikzOCBiKElmKTIwIGIodGhlKWgoc2hlbGwpMTExMCAyNzEwIHkoaXMpMzcKK2Ioc3RhcnRlZCloKHdpdGgpZih0aGUpZyhlXDAxM2VjdGl2KW0oZSlqKHVzZXIpZChcKGdyb3VwXCkpZyhpZClnKG5vdClnCisoZXF1YWwpaCh0bylnKHRoZSlmKHJlYWwpMTExMCAyODE5IHkodXNlciloKFwoZ3JvdXBcKSloKGlkLClpKGFuZClkCisodGhlKWggRnMoLXApZiBGdChvcHRpb24paShpcyllKG5vdClpKHN1cHBsaWVkLClmKHRoZXNlKWgoYWN0aW9ucykxMTEwCisyOTI5IHkoYXJlKTMyIGIodGFrKW0oZW4paShhbmQpZCh0aGUpaChlXDAxM2VjdGl2KW0oZSlqKHVzZXIpYyhpZCloKGlzKQorZyhzZXQpaCh0bylmKHRoZSloKHJlYWwpZih1c2VyKWcoaWQuKTQ1IGIoSWYpMzIgYih0aGUpMTExMAorMzAzOSB5IEZzKC1wKWkgRnQob3B0aW9uKWgoaXMpZyhzdXBwbGllZClmKGF0KWgoc3RhcnR1cCwpaCh0aGUpZgorKGVcMDEzZWN0aXYpbShlKWkodXNlcilkKGlkKWcoaXMpaChub3QpZyhyZXNldC4pMTExMAorMzE0OCB5KFQpLTggYih1cm5pbmcpMzUgYih0aGlzKWkob3B0aW9uKWcob1wwMTMpZyhjYXVzZXMpZyh0aGUpZworKGVcMDEzZWN0aXYpbShlKWkodXNlcilkKGFuZClnKGdyb3VwKWcoaWRzKWcodG8pMTExMAorMzI1OCB5KGIpcyhlKTMwIGIoc2V0KWgodG8pZyh0aGUpZihyZWFsKWgodXNlcilmKGFuZClnKGdyb3VwKWcoaWRzLik2MzAKKzM0MjIgeSBGcygtdCkzODQgYiBGdChFeGl0KTMxIGIoYWZ0ZXIpZyhyZWFkaW5nKWYoYW5kKWcoZXhlY3V0aW5nKWgKKyhvbmUpZyhjb21tYW5kLik2MzAgMzU4NyB5IEZzKC11KTM4NCBiIEZ0KFQpLTggYihyZWF0KTI1CitiKHVuc2V0KWUodiktNSBiKGFyaWFibGVzKTI1IGIoYW5kKWUocGFyYW1ldGVycyloKG90aGVyKWgodGhhbillKHRoZSloCisoc3ApcyhlY2lhbCloKHBhcmFtLSkxMTEwIDM2OTYgeShldGVycykzNSBiKGApcCBGcyhAKXAKK0Z0KCcpZihvcilnKGApcCBGcygqKXAgRnQoJyloKGFzKWYoYW4pZyhlcnJvcilnKHdoZW4pZihwKXMoZXJmb3JtaW5nKWcKKyhwYXJhbWV0ZXIpaShleHBhbnNpb24uKTExMTAgMzgwNiB5KEFuKTI4IGIoZXJyb3IpaChtZXNzYWdlKWcod2lsbClnKGIpCitzKGUpZih3cml0dGVuKWgodG8paCh0aGUpZShzdGFuZGFyZClnKGVycm9yLCloKGFuZClmKGEpaChub24tKTExMTAKKzM5MTUgeShpbiltKHRlcmFjdGl2KW0oZSlrKHNoZWxsKWUod2lsbClnKGV4aXQuKTYzMCA0MDgwCit5IEZzKC12KTM4NCBiIEZ0KFByaW4pbSh0KTMwIGIoc2hlbGwpaChpbnB1dCllKGxpbmVzKWkoYXMpZyh0aGV5KWYoYXJlKQoraChyZWFkLik2MzAgNDI0NCB5IEZzKC14KTM4NCBiIEZ0KFByaW4pbSh0KTIxIGIoYSloKHRyYWNlKWgob2YpZgorKHNpbXBsZSlmKGNvbW1hbmRzLClpIEZzKGZvcillIEZ0KGNvbW1hbmRzLClpIEZzKGNhc2UpZAorRnQoY29tbWFuZHMsKTExMTAgNDM1NCB5IEZzKHNlbGVjdCkyOSBiIEZ0KGNvbW1hbmRzLClqKGFuZCllCisoYXJpdGhtZXRpYylqIEZzKGZvcilkIEZ0KGNvbW1hbmRzKWgoYW5kKWYodGhlaXIpaShhcmd1LSkxMTEwCis0NDYzIHkobWVuKW0odHMpaChvcilmKGFzc28pcyhjaWF0ZWQpaSh3KW0ob3JkKWUobGlzdHMpaChhZnRlcilnKHRoZXkpZgorKGFyZSloKGV4cGFuZGVkKWYoYW5kKWYoYilzKGVmb3JlKTExMTAgNDU3MyB5KHRoZXkpaShhcmUpZyhleGVjdXRlZC4pNDkKK2IoVGhlKTMyIGIodiktNSBiKGFsdWUpMzMgYihvZilnKHRoZSlnIEZzKFBTNClmIEZ0KHYpLTUKK2IoYXJpYWJsZSkzNCBiKGlzKWYoZXhwYW5kZWQpZihhbmQpMTExMCA0NjgyIHkodGhlKTI0CitiKHJlc3VsdGFuKW0odCloKHYpLTUgYihhbHVlKTI0IGIoaXMpZyhwcmluKW0odGVkKWcoYilzKGVmb3JlKWYodGhlKWgKKyhjb21tYW5kKWcoYW5kKWYoaXRzKWkoZXhwYW5kZWQpMTExMCA0NzkyIHkoYXJndW1lbiltKHRzLik2MzAKKzQ5NTYgeSBGcygtQikzODQgYiBGdChUaGUpNDEgYihzaGVsbClnKHdpbGwpZyhwKXMoZXJmb3JtKWYoYnJhY2UpaAorKGV4cGFuc2lvbilnKFwoc2VlKWgoU2VjdGlvbilnKDMuNS4xKWcoW0JyYWNlKTExMTAgNTA2NgoreShFeHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgxOVwpLik0MiBiKFRoaXMpMzAgYihvcHRpb24paChpcylmKG9uKWcoYiltCisoeSloKGRlZmF1bHQuKTYzMCA1MjMwIHkgRnMoLUMpMzg0IGIgRnQoUHJldiltKGVuKW0odCkyNQorYihvdXRwdXQpZShyZWRpcmVjdGlvbiloKHVzaW5nKWYoYClwIEZzKD4pcCBGdCgnLClpKGApcAorRnMoPiYpcCBGdCgnLClnKGFuZCllKGApcCBGcyg8PilwIEZ0KCcpZyhmcm9tKWgobyltKHYpbShlcndyaXRpbmcpMTExMAorNTM0MCB5KGV4aXN0aW5nKTMxIGIoXDAxNGxlcy4pcCBlb3AgZW5kCiAlJVBhZ2U6IDU3IDYzCiBUZVhEaWN0IGJlZ2luIDU3IDYyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig0Oik0MQotYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNTcpMTE1OSAyOTkgeSg2Lik2MQotYihFcnJvcik3NCBiKHRyYWNpbmcpaShpcylmKGVuYWJsZWQ6KTEzMSBiKGNvbW1hbmQpNzQKLWIoc3Vic3RpdHV0aW9uLCk4NyBiKHNoZWxsKTEyOTAgNDA4IHkoZnVuY3Rpb25zLCkzMCBiKGFuZClmKHN1YnNoZWxscylnCi0oaW4pbSh2KW0ob2spbShlZClqKHdpdGgpZCBGcyhcKCloIEZpKGNvbW1hbmQpMzkgYiBGcyhcKSkzMAotYiBGdChpbmhlcml0KWcodGhlKTEyOTAgNTE4IHkgRnMoRVJST1IpZiBGdCh0cmFwLik2MzAKLTY2NyB5IEZzKGV4dGdsb2IpMTQ0IGIgRnQoSWYpMjYgYihzZXQsKWkodGhlKWYoZXh0ZW5kZWQpZihwYXR0ZXJuKWgKLShtYXRjKW0oaGluZylnKGZlYXR1cmVzKWcoZGVzY3JpYilzKGVkKWUoYWIpcyhvKW0odiltKGUpaihcKHNlZSkxMTEwCi03NzcgeShTZWN0aW9uKWooMy41LjguMSlpKFtQKW0oYXR0ZXJuKWYoTWF0YyltKGhpbmddLClnKHBhZ2UpZigyNFwpKWgKLShhcmUpZihlbmFibGVkLik2MzAgOTI3IHkgRnMoZXh0cXVvdGUpOTYgYiBGdChJZik0OSBiKHNldCwpNTQKLWIgRnMoJCcpcCBGaShzdHJpbmcpMTEgYiBGcygnKTQ2IGIgRnQoYW5kKWogRnMoJCIpcCBGaShzdHJpbmcpMTEKLWIgRnMoIik0NiBiIEZ0KHF1b3RpbmcpayhpcylmKHApcyhlcmZvcm1lZCllKHdpdGhpbikxMTEwCi0xMDM2IHkgRnMoJHspcCBGaShwYXJhbWV0ZXIpMTEgYiBGcyh9KTMwIGIgRnQoZXhwYW5zaW9ucylqKGVuY2xvc2VkKWgKLShpbilnKGRvdWJsZSlmKHF1b3Rlcy4pNTEgYihUaGlzKTMyIGIob3B0aW9uKTExMTAgMTE0NgoteShpcyllKGVuYWJsZWQpaChiKW0oeSlmKGRlZmF1bHQuKTYzMCAxMjk1IHkgRnMoZmFpbGdsb2IpOTYKLWIgRnQoSWYpMzYgYihzZXQsKWoocGF0dGVybnMpZCh3aGljKW0oaClnKGZhaWwpaCh0byloKG1hdGMpbShoKWYKLShcMDE0bGVuYW1lcylmKGR1cmluZylnKFwwMTRsZW5hbWUpZyhleC0pMTExMCAxNDA1IHkocGFuc2lvbikzMAotYihyZXN1bHQpZyhpbilnKGFuKWcoZXhwYW5zaW9uKWgoZXJyb3IuKTYzMCAxNTU0IHkgRnMoZm9yY2VfZmlnbm9yZSkKLTExMTAgMTY2NCB5IEZ0KElmKTQzIGIoc2V0LClrKHRoZSlkKHN1XDAxNnhlcylmKHNwKXMoZWNpXDAxNGVkKWYoYiltKHkpCi1pKHRoZSlmIEZzKEZJR05PUkUpZiBGdChzaGVsbCloKHYpLTUgYihhcmlhYmxlKTQ0IGIoY2F1c2UpMTExMAotMTc3MyB5KHcpbShvcmRzKTMxIGIodG8paChiKXMoZSlmKGlnbm9yZWQpaCh3aGVuKWYocClzKGVyZm9ybWluZylmKHcpbQotKG9yZCloKGNvbXBsZXRpb24paShldiltKGVuKWYoaWYpZyh0aGUpMTExMCAxODgzIHkoaWdub3JlZCkzNwotYih3KW0ob3JkcylnKGFyZSlnKHRoZSloKG9ubHkpZihwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zLik2MgotYihTZWUpMzcgYihTZWN0aW9uKWgoNS4yKTExMTAgMTk5MyB5KFtCYXNoKTI0IGIoViktOAotYihhcmlhYmxlc10sKTI3IGIocGFnZSllKDYxLCloKGZvcilkKGEpaChkZXNjcmlwdGlvbilnKG9mKWcKLUZzKEZJR05PUkUpcCBGdCguKTM3IGIoVGhpcykyMiBiKG9wdGlvbikxMTEwIDIxMDIgeShpcykzMAotYihlbmFibGVkKWgoYiltKHkpZihkZWZhdWx0Lik2MzAgMjI1MiB5IEZzKGdsb2JzdGFyKTk2Ci1iIEZ0KElmKTM4IGIoc2V0LClqKHRoZSllKHBhdHRlcm4pZihgKXAgRnMoKiopcCBGdCgnKWgodXNlZCllKGluKWkoYSlmCi0oXDAxNGxlbmFtZSloKGV4cGFuc2lvbilmKGNvbiltKHRleHQpaih3aWxsKTExMTAgMjM2MQoteShtYXRjKW0oaClmKGEpZyhcMDE0bGVzKWYoYW5kKWYoemVybylpKG9yKWcobW9yZSlmKGRpcmVjdG9yaWVzKWgoYW5kKWYKLShzdWIpcyhkaXJlY3Rvcmllcy4pNjYgYihJZikxMTEwIDI0NzEgeSh0aGUpMzAgYihwYXR0ZXJuKWcoaXMpZyhmb2xsbyltCi0odyltKGVkKWkoYiltKHkpZChhKWkoYClwIEZzKC8pcCBGdCgnLClmKG9ubHkpZyhkaXJlY3RvcmllcyloKGFuZClmCi0oc3ViKXMoZGlyZWN0b3JpZXMpMTExMCAyNTgwIHkobWF0YyltKGguKTYzMCAyNzMwIHkgRnMoZ251X2VycmZtdCkxMTEwCi0yODM5IHkgRnQoSWYpMzUgYihzZXQsKWooc2hlbGwpZShlcnJvcilnKG1lc3NhZ2VzKWcoYXJlKWgod3JpdHRlbillKGluKQotaCh0aGUpZyhzdGFuZGFyZClmIEZsKGdudSlnIEZ0KGVycm9yKTExMTAgMjk0OSB5KG1lc3NhZ2UpYyhmb3JtYXQuKTYzMAotMzA5OCB5IEZzKGhpc3RhcHBlbmQpMTExMCAzMjA4IHkgRnQoSWYpYyhzZXQsKWoodGhlKWUoaGlzdG9yeSlnKGxpc3QpZwotKGlzKWcoYXBwKXMoZW5kZWQpZSh0bylqKHRoZSlmKFwwMTRsZSlnKG5hbWVkKWYoYiltKHkpaCh0aGUpZyh2KS01Ci1iKGFsdWUpMjkgYihvZikxMTEwIDMzMTggeSh0aGUpZCBGcyhISVNURklMRSlkIEZ0KHYpLTUKLWIoYXJpYWJsZSkyNiBiKHdoZW4pZSh0aGUpaChzaGVsbCloKGV4aXRzLCloKHJhdGhlcillKHRoYW4paChvKW0odiltCi0oZXJ3cml0aW5nKTExMTAgMzQyNyB5KHRoZSkzMSBiKFwwMTRsZS4pNjMwIDM1NzcgeSBGcyhoaXN0cmVlZGl0KTExMTAKLTM2ODYgeSBGdChJZilpKHNldCwpaChhbmQpZihSZWFkbGluZSloKGlzKWYoYilzKGVpbmcpZyh1c2VkLClnKGEpZwotKHVzZXIpZyhpcylnKGdpdiltKGVuKWgodGhlKWcob3BwKXMob3J0dW5pdCltKHkpMTExMAotMzc5NiB5KHRvKWQocmUtZWRpdClnKGEpZyhmYWlsZWQpZyhoaXN0b3J5KWYoc3Vic3RpdHV0aW9uLik2MzAKLTM5NDUgeSBGcyhoaXN0dmVyaWZ5KTExMTAgNDA1NSB5IEZ0KElmKTM1IGIoc2V0LClpKGFuZCllKFJlYWRsaW5lKWgoaXMpCi1mKGIpcyhlaW5nKWcodXNlZCwpaCh0aGUpZihyZXN1bHRzKWcob2YpZyhoaXN0b3J5KWgoc3Vic3RpdHUtKTExMTAKLTQxNjQgeSh0aW9uKWgoYXJlKWcobm90KWcoaW1tZWRpYXRlbHkpaChwYXNzZWQpZSh0byloKHRoZSlnKHNoZWxsKWcKLShwYXJzZXIuKTU5IGIoSW5zdGVhZCwpMzggYih0aGUpMTExMCA0Mjc0IHkocmVzdWx0aW5nKWkobGluZSlmKGlzKWgKLShsb2FkZWQpZyhpbiltKHRvKWcodGhlKWcoUmVhZGxpbmUpZyhlZGl0aW5nKWcoYnVcMDEzZXIsKWgoYWxsbyltKHdpbmcpCi0xMTEwIDQzODQgeShmdXJ0aGVyKTI5IGIobW8pcyhkaVwwMTRjYXRpb24uKTYzMCA0NTMzCi15IEZzKGhvc3Rjb21wbGV0ZSkxMTEwIDQ2NDMgeSBGdChJZikzOCBiKHNldCwpaihhbmQpYyhSZWFkbGluZSlpKGlzKWYKLShiKXMoZWluZylnKHVzZWQsKWgoQmFzaClnKHdpbGwpZihhdHRlbXB0KWgodG8pZyhwKXMoZXJmb3JtKTExMTAKLTQ3NTIgeShob3N0bmFtZSlkKGNvbXBsZXRpb24paCh3aGVuKWUoYSloKHcpbShvcmQpZihjb24pbSh0YWluaW5nKWkoYSlmCi0oYClwIEZzKEApcCBGdCgnKWcoaXMpZyhiKXMoZWluZylmKGNvbS0pMTExMCA0ODYyIHkocGxldGVkKWcoXChzZWUpaAotKFNlY3Rpb24pZig4LjQuNilpKFtDb21tYW5kcylkKEYpLTggYihvcikzNiBiKENvbXBsZXRpb25dLClnKHBhZ2UpZwotKDExMFwpLikxMTEwIDQ5NzEgeShUaGlzKTMwIGIob3B0aW9uKWcoaXMpaChlbmFibGVkKWYoYiltKHkpZyhkZWZhdWx0LikKLTYzMCA1MTIxIHkgRnMoaHVwb25leGl0KTExMTAgNTIzMCB5IEZ0KElmKWkoc2V0LClpKEJhc2gpZih3aWxsKWgoc2VuZClkCi1GcyhTSUdIVVApaCBGdCh0byloKGFsbCloKGpvYnMpZSh3aGVuKWcoYW4pZyhpbiltKHRlcmFjdGl2KW0oZSlrKGxvZ2luKQotMTExMCA1MzQwIHkoc2hlbGwpMzEgYihleGl0cylnKFwoc2VlKWcoU2VjdGlvbilnKDMuNy42KWgoW1NpZ25hbHNdLClnCi0ocGFnZSlmKDMyXCkuKXAgZW9wIGVuZAorYihTaGVsbCkzMCBiKEJ1aWx0aW4paChDb21tYW5kcykyMDY5IGIoNTcpNjMwIDI5OSB5IEZzKC1FKTM4NAorYiBGdChJZikzOSBiKHNldCwpaihhbiltKHkpZSh0cmFwKWYob24pZyBGcyhFUlIpZyBGdChpcylnKGluaGVyaXRlZClnCisoYiltKHkpZyhzaGVsbCloKGZ1bmN0aW9ucywpaChjb21tYW5kKTExMTAgNDA4IHkoc3Vic3RpdHV0aW9ucywpMzUKK2IoYW5kKWUoY29tbWFuZHMpZyhleGVjdXRlZClpKGluKWYoYSlnKHN1YnNoZWxsKWYoZW4pbSh2aXJvbm1lbiltKHQuKQorMTExMCA1MTggeShUaGUpZCBGcyhFUlIpZiBGdCh0cmFwKWkoaXMpZihub3JtYWxseSloKG5vdClmKGluaGVyaXRlZClnCisoaW4pZyhzdWMpbShoKWcoY2FzZXMuKTYzMCA2NzAgeSBGcygtSCkzODQgYiBGdChFbmFibGUpMzgKK2IoYClwIEZzKCEpcCBGdCgnKWgoc3QpbSh5bGUpaChoaXN0b3J5KWUoc3Vic3RpdHV0aW9uKWcoXChzZWUpaAorKFNlY3Rpb24paCg5LjMpZihbSGlzdG9yeSlnKEluLSkxMTEwIDc4MCB5KHRlcmFjdGlvbl0sKWcocGFnZSlkKDEyN1wpLikKKzU3IGIoVGhpcykzNCBiKG9wdGlvbilpKGlzKWYob24pZyhiKW0oeSloKGRlZmF1bHQpZihmb3IpZyhpbiltCisodGVyYWN0aXYpbShlKTExMTAgODkwIHkoc2hlbGxzLik2MzAgMTA0MiB5IEZzKC1QKTM4NAorYiBGdChJZik0MyBiKHNldCwpayhkbyljKG5vdClnKGZvbGxvKW0odyloKHN5bSltKGIpcyhvbGljKWcobGlua3MpZQorKHdoZW4pZyhwKXMoZXJmb3JtaW5nKWcoY29tbWFuZHMpMTExMCAxMTUyIHkoc3VjKW0oaCkyOQorYihhcyloIEZzKGNkKWYgRnQod2hpYyltKGgpZyhjKW0oaGFuZ2UpaCh0aGUpZyhjdXJyZW4pbSh0KWYoZGlyZWN0b3J5KQorLTggYiguKTQyIGIoVGhlKTI4IGIocGgpbSh5c2ljYWwpaihkaXJlYy0pMTExMCAxMjYxIHkodG9yeSlqKGlzKWcodXNlZCkKK2YoaW5zdGVhZC4pNTIgYihCeSkzNCBiKGRlZmF1bHQsKWgoQmFzaClmKGZvbGxvKW0od3MpaCh0aGUpZihsb2dpY2FsKWkKKyhjKW0oaGFpbilmKG9mKTExMTAgMTM3MSB5KGRpcmVjdG9yaWVzKWood2hlbilkKHApcyhlcmZvcm1pbmcpaAorKGNvbW1hbmRzKWcod2hpYyltKGgpZyhjKW0oaGFuZ2UpaSh0aGUpZihjdXJyZW4pbSh0KTExMTAKKzE0ODAgeShkaXJlY3RvcnkpLTggYiguKTExMTAgMTYxMSB5KEYpZyhvcikzMSBiKGV4YW1wbGUsKWcoaWYpZihgKXAKK0ZzKC91c3Ivc3lzKXAgRnQoJyllKGlzKWkoYSlnKHN5bSltKGIpcyhvbGljKWgobGluaylmKHRvKWcoYClwCitGcygvdXNyL2xvY2FsL3N5cylwIEZ0KCcpMTExMCAxNzIxIHkodGhlbjopMTM1MCAxODUyCit5IEZzKCQpNDcgYihjZCloKC91c3Ivc3lzOylkKGVjaG8paSgkUFdEKTEzNTAgMTk2MiB5KC91c3Ivc3lzKTEzNTAKKzIwNzEgeSgkKWcoY2QpaCguLjspZihwd2QpMTM1MCAyMTgxIHkoL3VzcikxMTEwIDIzMTIKK3kgRnQoSWYpMzAgYiBGcyhzZXQpZigtUCloIEZ0KGlzKWgob24sKWYodGhlbjopMTM1MCAyNDQzCit5IEZzKCQpNDcgYihjZCloKC91c3Ivc3lzOylkKGVjaG8paSgkUFdEKTEzNTAgMjU1MiB5KC91c3IvbG9jYWwvc3lzKQorMTM1MCAyNjYyIHkoJClnKGNkKWgoLi47KWYocHdkKTEzNTAgMjc3MSB5KC91c3IvbG9jYWwpNjMwCisyOTI0IHkoLVQpMzg0IGIgRnQoSWYpMzQgYihzZXQsKWooYW4pbSh5KWUodHJhcClnKG9uKWcKK0ZzKERFQlVHKWUgRnQoYW5kKWkgRnMoUkVUVVJOKWUgRnQoYXJlKWkoaW5oZXJpdGVkKWcoYiltKHkpZihzaGVsbClpCisoZnVuYy0pMTExMCAzMDMzIHkodGlvbnMsKWsoY29tbWFuZClkKHN1YnN0aXR1dGlvbnMsKWgoYW5kKWYoY29tbWFuZHMpZworKGV4ZWN1dGVkKWgoaW4pZihhKWgoc3ViLSkxMTEwIDMxNDMgeShzaGVsbCkzMyBiKGVuKW0odmlyb25tZW4pbSh0Lik0OQorYihUaGUpMzIgYiBGcyhERUJVRylnIEZ0KGFuZClnIEZzKFJFVFVSTilmIEZ0KHRyYXBzKWgoYXJlKWkobm9ybWFsbHkpZgorKG5vdCkxMTEwIDMyNTMgeShpbmhlcml0ZWQpZChpbilnKHN1YyltKGgpZyhjYXNlcy4pNjMwCiszNDA1IHkgRnMoLS0pMzg0IGIgRnQoSWYpMzEgYihubyloKGFyZ3VtZW4pbSh0cylmKGZvbGxvKW0odylpKHRoaXMpZgorKG9wdGlvbiwpZyh0aGVuKWYodGhlKWgocClzKG9zaXRpb25hbCloKHBhcmFtZXRlcnMpMTExMAorMzUxNSB5KGFyZSloKHVuc2V0Lik0OSBiKE90aGVyd2lzZSwpMzQgYih0aGUpZyhwKXMob3NpdGlvbmFsKWcKKyhwYXJhbWV0ZXJzKWcoYXJlKWcoc2V0KWcodG8pZyh0aGUpZyBGcShhci0pMTExMCAzNjI0Cit5KGd1bWVuKW0odHMpdCBGdCgsKWQoZXYpbShlbilnKGlmKWYoc29tZSloKG9mKWYodGhlbSloKGIpcyhlZ2luKWYKKyh3aXRoKWcoYSlnKGApcCBGcygtKXAgRnQoJy4pNjMwIDM3NzcgeSBGcygtKTQzMiBiIEZ0KFNpZ25hbCk0NQorYih0aGUpZyhlbmQpZihvZiloKG9wdGlvbnMsKWsoY2F1c2UpYyhhbGwpaChyZW1haW5pbmcpZQorRnEoYXJndW1lbiltKHRzKTQ5IGIgRnQodG8pZChiKXMoZSkxMTEwIDM4ODYgeShhc3NpZ25lZCkzOAorYih0byloKHRoZSlmKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzLik2NSBiKFRoZSkzNworYihgKXAgRnMoLXgpcCBGdCgnKWgoYW5kKWcoYClwIEZzKC12KXAgRnQoJylnKG9wdGlvbnMpMTExMAorMzk5NiB5KGFyZSkyNSBiKHR1cm5lZCllKG9cMDEzLik0MCBiKElmKTI0IGIodGhlcmUpaChhcmUpZyhubylmCisoYXJndW1lbiltKHRzLClpKHRoZSlmKHApcyhvc2l0aW9uYWwpaChwYXJhbWV0ZXJzKTExMTAKKzQxMDUgeShyZW1haW4payh1bmMpbShoYW5nZWQuKTYzMCA0MjU4IHkoVXNpbmcpZChgKXAKK0ZzKCspcCBGdCgnKWgocmF0aGVyKWYodGhhbilnKGApcCBGcygtKXAgRnQoJylnKGNhdXNlcyloKHRoZXNlKWYKKyhvcHRpb25zKWgodG8pZyhiKXMoZSllKHR1cm5lZClnKG9cMDEzLik0MCBiKFRoZSkyNyBiKG9wdGlvbnMpaChjYW4pNjMwCis0MzY3IHkoYWxzbykzNiBiKGIpcyhlKWYodXNlZClmKHVwKXMob24pZyhpbiltKHYpbShvKXMoY2F0aW9uKWoob2YpZQorKHRoZSlnKHNoZWxsLik1NiBiKFRoZSkzNCBiKGN1cnJlbiltKHQpaChzZXQpaChvZilmKG9wdGlvbnMpaChtYSltKHkpZworKGIpcyhlKTYzMCA0NDc3IHkoZm91bmQpMjkgYihpbiloIEZzKCQtKXAgRnQoLik2MzAgNDYwOAoreShUaGUpNDMgYihyZW1haW5pbmcpaChOKWYgRnEoYXJndW1lbiltKHRzKTQ4IGIgRnQoYXJlKWMocClzKG9zaXRpb25hbCkKK2cocGFyYW1ldGVycylnKGFuZClmKGFyZSloKGFzc2lnbmVkLClqKGluKTYzMCA0NzE3IHkob3JkZXIsKTMwCitiKHRvKWggRnMoJDEpcCBGdCgsKWYgRnMoJDIpcCBGdCgsKTM2IGIoLikyMiBiKC4pZyguKTQyCitiIEZzKCROKXAgRnQoLillKFRoZSkzMCBiKHNwKXMoZWNpYWwpaChwYXJhbWV0ZXIpZyBGcygjKWYKK0Z0KGlzKWcoc2V0KWgodG8pZyhOLik2MzAgNDg0OCB5KFRoZSlmKHJldHVybilmKHN0YXR1cylpKGlzKWYoYWx3KW0oYSltCisoeXMpaSh6ZXJvKWYodW5sZXNzKWYoYW4pZyhpbiltKHYpLTUgYihhbGlkKTMxIGIob3B0aW9uKWcoaXMpZgorKHN1cHBsaWVkLikxNTAgNTA0MSB5IEZqKDQuMy4yKTYzIGIoVGhlKTQxIGIoU2hvcHQpaChCdWlsdGluKTE1MAorNTE4OCB5IEZ0KFRoaXMpMzAgYihidWlsdGluKWcoYWxsbyltKHdzKWgoeSltKG91KWcodG8pZyhjKW0oaGFuZ2UpaAorKGFkZGl0aW9uYWwpZihzaGVsbClmKG9wdGlvbmFsKWkoYilzKGVoYSltKHZpb3IuKTE1MAorNTM0MCB5IEZzKHNob3B0KXAgZW9wIGVuZAogJSVQYWdlOiA1OCA2NAogVGVYRGljdCBiZWdpbiA1OCA2MyBib3AgMTUwIC0xMTYgYSBGdCg1OCkyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKGludGVyYWN0aXZlX2NvbW1lbnRzKTExMTAKLTQwOCB5IEZ0KEFsbG8pbSh3KWMoYSlnKHcpbShvcmQpZShiKXMoZWdpbm5pbmcpZyh3aXRoKWgoYClwCi1GcygjKXAgRnQoJylnKHRvKWgoY2F1c2UpZih0aGF0KWgodyltKG9yZClmKGFuZClmKGFsbClpKHJlbWFpbi0pMTExMAotNTE4IHkoaW5nKTQxIGIoYyltKGhhcmFjdGVycylpKG9uKWUodGhhdCloKGxpbmUpZyh0bylnKGIpcyhlKWYoaWdub3JlZCkKLWcoaW4pZyhhbilnKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGwuKTExMTAgNjI4IHkoVGhpcykzMAotYihvcHRpb24pZyhpcyloKGVuYWJsZWQpZihiKW0oeSlnKGRlZmF1bHQuKTYzMCA3NzcgeQotRnMobGl0aGlzdCkxNDQgYiBGdChJZikyMiBiKGVuYWJsZWQsKWkoYW5kKWQodGhlKWggRnMoY21kaGlzdCllCi1GdChvcHRpb24paihpcylmKGVuYWJsZWQsKWkobSltKHVsdGktbGluZSlmKGNvbW1hbmRzKTExMTAKLTg4NyB5KGFyZSkyOCBiKHNhKW0odiltKGVkKWgodG8pZyh0aGUpZihoaXN0b3J5KWcod2l0aClmKGVtKW0oYilzCi0oZWRkZWQpZyhuZXdsaW5lcyloKHJhdGhlcilnKHRoYW4pZih1c2luZykxMTEwIDk5NiB5KHNlbWljb2xvbikzMgotYihzZXBhcmF0b3JzKWYod2hlcmUpZShwKXMob3NzaWJsZS4pNjMwIDExNDYgeSBGcyhsb2dpbl9zaGVsbCkxMTEwCi0xMjU1IHkgRnQoVGhlKTM1IGIoc2hlbGwpaChzZXRzKWcodGhpcylmKG9wdGlvbiloKGlmKWcoaXQpZyhpcylmCi0oc3RhcnRlZCloKGFzKWcoYSlnKGxvZ2luKWcoc2hlbGwpZyhcKHNlZSlnKFNlYy0pMTExMAotMTM2NSB5KHRpb24pMjkgYig2LjEpZyhbSW4pbSh2KW0ob2tpbmcpaChCYXNoXSwpZihwYWdlKWcoNzFcKS4pNDEKLWIoVGhlKTI4IGIodiktNSBiKGFsdWUpMjkgYihtYSltKHkpZyhub3QpZihiKXMoZSlnKGMpbShoYW5nZWQuKTYzMAotMTUxNCB5IEZzKG1haWx3YXJuKTk2IGIgRnQoSWYpMzQgYihzZXQsKWkoYW5kKWUoYSloKFwwMTRsZSlnKHRoYXQpZwotKEJhc2gpZihpcyloKGMpbShoZWMpbShraW5nKWgoZm9yKWYobWFpbClnKGhhcylmKGIpcyhlZW4pZyhhY2Nlc3NlZCkKLTExMTAgMTYyNCB5KHNpbmNlKTI0IGIodGhlKWgobGFzdClnKHRpbWUpZihpdCloKHcpbShhcylmKGMpbShoZWMpbShrKW0KLShlZCwpayh0aGUpYyhtZXNzYWdlKWggRnMoIlRoZSlrKG1haWwpaChpbilmIEZpKG1haWwtKTExMTAKLTE3MzMgeShmaWxlKTQwIGIgRnMoaGFzKTI5IGIoYmVlbilnKHJlYWQiKWcgRnQoaXMpaShkaXNwbGEpbSh5KW0oZWQuKQotNjMwIDE4ODMgeSBGcyhub19lbXB0eV9jbWRfY29tcGxldGlvbikxMTEwIDE5OTMgeSBGdChJZilmKHNldCwpZyhhbmQpZwotKFJlYWRsaW5lKWcoaXMpaChiKXMoZWluZyllKHVzZWQsKWgoQmFzaClnKHdpbGwpZyhub3QpZyhhdHRlbXB0KWkodG8pZQotKHNlYXJjKW0oaCkxMTEwIDIxMDIgeSh0aGUpMjUgYiBGcyhQQVRIKWYgRnQoZm9yKWgocClzKG9zc2libGUpZgotKGNvbXBsZXRpb25zKWood2hlbilkKGNvbXBsZXRpb24paShpcylmKGF0dGVtcHRlZCloKG9uKTExMTAKLTIyMTIgeShhbilrKGVtcHQpbSh5KWgobGluZS4pNjMwIDIzNjEgeSBGcyhub2Nhc2VnbG9iKTExMTAKLTI0NzEgeSBGdChJZikzOCBiKHNldCwpayhCYXNoKWQobWF0YyltKGhlcylnKFwwMTRsZW5hbWVzKWcoaW4pZihhKWgKLShjYXNlLWluc2Vuc2l0aXYpbShlKWooZmFzaGlvbiljKHdoZW4pMTExMCAyNTgwIHkocClzKGVyZm9ybWluZykyOQotYihcMDE0bGVuYW1lKWkoZXhwYW5zaW9uLik2MzAgMjczMCB5IEZzKG5vY2FzZW1hdGNoKTExMTAKLTI4MzkgeSBGdChJZik0MiBiKHNldCwpayhCYXNoKWQobWF0YyltKGhlcylnKHBhdHRlcm5zKWcoaW4pZihhKWgKLShjYXNlLWluc2Vuc2l0aXYpbShlKWkoZmFzaGlvbilkKHdoZW4pMTExMCAyOTQ5IHkocClzKGVyZm9ybWluZykzMQotYihtYXRjKW0oaGluZylpKHdoaWxlKWYoZXhlY3V0aW5nKWkgRnMoY2FzZSlkIEZ0KG9yKWgKLUZzKFtbKWcgRnQoY29uZGl0aW9uYWwpaChjb20tKTExMTAgMzA1OSB5KG1hbmRzLik2MzAKLTMyMDggeSBGcyhudWxsZ2xvYik5NiBiIEZ0KElmKTIzIGIoc2V0LClqKEJhc2gpZShhbGxvKW0od3MpZwotKFwwMTRsZW5hbWUpZyhwYXR0ZXJucylnKHdoaWMpbShoKWYobWF0YyltKGgpaChubylnKFwwMTRsZXMpZih0bylpCi0oZXhwYW5kKTExMTAgMzMxOCB5KHRvKTMxIGIoYSlnKG4pbSh1bGwpZihzdHJpbmcsKWgocmF0aGVyKWYodGhhbilnCi0odGhlbXNlbHYpbShlcy4pNjMwIDM0NjcgeSBGcyhwcm9nY29tcCk5NiBiIEZ0KElmKTI1Ci1iKHNldCwpaSh0aGUpZihwcm9ncmFtbWFibGUpZyhjb21wbGV0aW9uKWcoZmFjaWxpdGllcylpKFwoc2VlKWYKLShTZWN0aW9uKWYoOC42KWgoW1Byby0pMTExMCAzNTc3IHkoZ3JhbW1hYmxlKTQ1IGIoQ29tcGxldGlvbl0sKWsocGFnZSljCi0oMTE1XCkpaChhcmUpZihlbmFibGVkLik4MiBiKFRoaXMpNDQgYihvcHRpb24paChpcykxMTEwCi0zNjg2IHkoZW5hYmxlZCkzMCBiKGIpbSh5KWgoZGVmYXVsdC4pNjMwIDM4MzYgeSBGcyhwcm9tcHR2YXJzKTExMTAKLTM5NDUgeSBGdChJZikyNCBiKHNldCwpaShwcm9tcHQpZChzdHJpbmdzKWgodW5kZXJnbylmKHBhcmFtZXRlcilpCi0oZXhwYW5zaW9uLClnKGNvbW1hbmQpZihzdWItKTExMTAgNDA1NSB5KHN0aXR1dGlvbiwpMzQKLWIoYXJpdGhtZXRpYylmKGV4cGFuc2lvbiwpZyhhbmQpZShxdW90ZSlpKHJlbW8pbSh2KS01Ci1iKGFsKTMzIGIoYWZ0ZXIpZyhiKXMoZWluZyllKGV4LSkxMTEwIDQxNjQgeShwYW5kZWQpMzkKLWIoYXMpaShkZXNjcmliKXMoZWQpZShiKXMoZWxvKW0odylpKFwoc2VlKWcoU2VjdGlvbilnKDYuOSlnKFtQcmluKW0KLSh0aW5nKWcoYSlnKFByb21wdF0sKTExMTAgNDI3NCB5KHBhZ2UpMzEgYig4MlwpLik0MiBiKFRoaXMpMzAKLWIob3B0aW9uKWcoaXMpaChlbmFibGVkKWYoYiltKHkpZyhkZWZhdWx0Lik2MzAgNDQyMyB5Ci1GcyhyZXN0cmljdGVkX3NoZWxsKTExMTAgNDUzMyB5IEZ0KFRoZSk0MCBiKHNoZWxsKWgoc2V0cylnKHRoaXMpZwotKG9wdGlvbilnKGlmKWcoaXQpaChpcyllKHN0YXJ0ZWQpaShpbillKHJlc3RyaWN0ZWQpaShtbylzKGRlKWUoXChzZWUpCi0xMTEwIDQ2NDMgeShTZWN0aW9uKWMoNi4xMClnKFtUaGUpZihSZXN0cmljdGVkKWcoU2hlbGxdLClpKHBhZ2UpZQotKDg0XCkuKTU2IGIoVGhlKTM0IGIodiktNSBiKGFsdWUpMzUgYihtYSltKHkpaChub3QpMTExMAotNDc1MiB5KGIpcyhlKWMoYyltKGhhbmdlZC4pNDkgYihUaGlzKTMyIGIoaXMpaChub3QpaChyZXNldClmKHdoZW4pZgotKHRoZSloKHN0YXJ0dXApZyhcMDE0bGVzKWYoYXJlKWkoZXhlY3V0ZWQsKTExMTAgNDg2MgoteShhbGxvKW0od2luZylrKHRoZSllKHN0YXJ0dXApZihcMDE0bGVzKWgodG8pZyhkaXNjbyltKHYpbShlciloCi0od2hldGhlcilmKG9yKWYobm90KWkoYSlmKHNoZWxsKWcoaXMpZyhyZS0pMTExMCA0OTcxCi15KHN0cmljdGVkLik2MzAgNTEyMSB5IEZzKHNoaWZ0X3ZlcmJvc2UpMTExMCA1MjMwIHkgRnQoSWYpZyh0aGlzKWcoaXMpZwotKHNldCwpaih0aGUpZCBGcyhzaGlmdClmIEZ0KGJ1aWx0aW4paChwcmluKW0odHMpZihhbiloKGVycm9yKWcobWVzc2FnZSkKLWkod2hlbilkKHRoZSkxMTEwIDUzNDAgeShzaGlmdCkzMCBiKGNvdW4pbSh0KWgoZXhjZWVkcylnKHRoZSlnKG4pbSh1bSltCi0oYilzKGVyKWUob2YpaChwKXMob3NpdGlvbmFsKWkocGFyYW1ldGVycy4pcCBlb3AgZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk4NzAgMjk5IHkgRnMoc2hvcHQpNDYgYihbLXBxc3VdKWcoWy1vXSloKFspcAorRmkob3B0bmFtZSk1NiBiIEZzKC4uLilvKF0pNjMwIDQyNyB5IEZ0KFQpLTggYihvZ2dsZSk0NworYih0aGUpZCh2KS01IGIoYWx1ZXMpNDUgYihvZilnKHYpLTUgYihhcmlhYmxlcyk0NSBiKGNvbiltKHRyb2xsaW5nKWkKKyhvcHRpb25hbClmKHNoZWxsKWUoYilzKGVoYSltKHZpb3IuKTg0IGIoV2l0aCk0NSBiKG5vKTYzMAorNTM2IHkob3B0aW9ucywpMzIgYihvcilmKHdpdGgpZyh0aGUpZyhgKXAgRnMoLXApcCBGdCgnKWcob3B0aW9uLCloKGEpZworKGxpc3QpZihvZiloKGFsbClnKHNldHRhYmxlKWcob3B0aW9ucylnKGlzKWYoZGlzcGxhKW0oeSltKGVkLCloKHdpdGgpCis2MzAgNjQ2IHkoYW4paShpbmRpY2F0aW9uKWkob2YpZih3aGV0aGVyKWYob3IpZyhub3QpaChlYWMpbShoKWgoaXMpZQorKHNldC4pNTQgYihUaGUpMzQgYihgKXAgRnMoLXApcCBGdCgnKWgob3B0aW9uKWcoY2F1c2VzKWcob3V0cHV0KWYodG8pCis2MzAgNzU2IHkoYilzKGUpaShkaXNwbGEpbSh5KW0oZWQpaChpbillKGEpaShmb3JtKWYodGhhdCloKG1hKW0oeSlnKGIpcworKGUpZShyZXVzZWQpaChhcylnKGlucHV0Lik1OCBiKE90aGVyKTM2IGIob3B0aW9ucylnKGhhKW0odiltKGUpaSh0aGUpCis2MzAgODY1IHkoZm9sbG8pbSh3aW5nKTMyIGIobWVhbmluZ3M6KTYzMCAxMDExIHkgRnMoLXMpMzg0CitiIEZ0KEVuYWJsZSkzMCBiKFwoc2V0XCkpaShlYWMpbShoKWYgRnEob3B0bmFtZSk1IGIgRnQoLik2MzAKKzExNTcgeSBGcygtdSkzODQgYiBGdChEaXNhYmxlKTMxIGIoXCh1bnNldFwpKWcoZWFjKW0oaCloCitGcShvcHRuYW1lKTUgYiBGdCguKTYzMCAxMzAzIHkgRnMoLXEpMzg0IGIgRnQoU3VwcHJlc3NlcykyOAorYihub3JtYWwpaChvdXRwdXQ7KWgodGhlKWcocmV0dXJuKWUoc3RhdHVzKWkoaW5kaWNhdGVzKWgod2hldGhlcillKHRoZSkKKzExMTAgMTQxMyB5IEZxKG9wdG5hbWUpMzcgYiBGdChpcykzMSBiKHNldCloKG9yKWYodW5zZXQuKTQzCitiKElmKTMxIGIobSltKHVsdGlwbGUpaCBGcShvcHRuYW1lKTM3IGIgRnQoYXJndW1lbiltKHRzKTMxCitiKGFyZSloKGdpdiltKGVuKTExMTAgMTUyMyB5KHdpdGgpNDMgYihgKXAgRnMoLXEpcCBGdCgnLClqKHRoZSlkCisocmV0dXJuKWYoc3RhdHVzKWgoaXMpZyh6ZXJvKWgoaWYpZihhbGwpZyBGcShvcHRuYW1lcylrCitGdChhcmUpZChlbmFibGVkOykxMTEwIDE2MzIgeShub24temVybykzMSBiKG90aGVyd2lzZS4pNjMwCisxNzc4IHkgRnMoLW8pMzg0IGIgRnQoUmVzdHJpY3RzKTI4IGIodGhlKWcodiktNSBiKGFsdWVzKTI4CitiKG9mKWYgRnEob3B0bmFtZSkzMyBiIEZ0KHRvKWMoYilzKGUpZCh0aG9zZSlpKGRlXDAxNG5lZClmKGZvcilnKHRoZSlnCisoYClwIEZzKC1vKXAgRnQoJyloKG9wLSkxMTEwIDE4ODggeSh0aW9uKTIzIGIodG8paCh0aGUpZgorRnMoc2V0KWYgRnQoYnVpbHRpbiloKFwoc2VlKWcoU2VjdGlvbiloKDQuMy4xKWgoW1RoZSlkKFNldClpKEJ1aWx0aW5dLCkKK2gocGFnZSllKDU0XCkuKTYzMCAyMDM0IHkoSWYpMjkgYihlaXRoZXIpaShgKXAgRnMoLXMpcAorRnQoJylmKG9yKWcoYClwIEZzKC11KXAgRnQoJylmKGlzKWgodXNlZClnKHdpdGgpZihubyloCitGcShvcHRuYW1lKTM1IGIgRnQoYXJndW1lbiltKHRzLCljKHRoZSlmKGRpc3BsYSltKHkpZyhpcylnKGxpbWl0ZWQpNjMwCisyMTQ0IHkodG8paCh0aG9zZSlnKG9wdGlvbnMpZyh3aGljKW0oaClmKGFyZSloKHNldClmKG9yKWgodW5zZXQsKWYKKyhyZXNwKXMoZWN0aXYpbShlbHkpLTggYiguKTYzMCAyMjcxIHkoVW5sZXNzKTMwIGIob3RoZXJ3aXNlKWgobm90ZWQsKWcKKyh0aGUpZyBGcyhzaG9wdClkIEZ0KG9wdGlvbnMpaihhcmUpZyhkaXNhYmxlZClmKFwob1wwMTMpNworYihcKSkzMiBiKGIpbSh5KWUoZGVmYXVsdC4pNjMwIDIzOTkgeShUaGUpZChyZXR1cm4pZihzdGF0dXMpaSh3aGVuKWYKKyhsaXN0aW5nKWgob3B0aW9ucylnKGlzKWYoemVybylpKGlmKWUoYWxsKWkgRnEob3B0bmFtZXMpaQorRnQoYXJlKWQoZW5hYmxlZCwpZyhub24tKTYzMCAyNTA5IHkoemVybyk0MCBiKG90aGVyd2lzZS4pNjYKK2IoV2hlbikzOSBiKHNldHRpbmcpaChvcilmKHVuc2V0dGluZylnKG9wdGlvbnMsKWkodGhlKWUocmV0dXJuKWYKKyhzdGF0dXMpaChpcylnKHplcm8pNjMwIDI2MTkgeSh1bmxlc3MpMzAgYihhbilnIEZxKG9wdG5hbWUpMzYKK2IgRnQoaXMpMzAgYihub3QpaChhKWcodiktNSBiKGFsaWQpMzAgYihzaGVsbCloKG9wdGlvbi4pNjMwCisyNzQ2IHkoVGhlKWYobGlzdCloKG9mKWYgRnMoc2hvcHQpZiBGdChvcHRpb25zKWkoaXM6KTYzMAorMjg5MiB5IEZzKGF1dG9jZCkxOTIgYiBGdChJZikyNyBiKHNldCwpaChhKWcoY29tbWFuZClmKG5hbWUpZyh0aGF0KWgKKyhpcylmKHRoZSlnKG5hbWUpZyhvZiloKGEpZihkaXJlY3RvcnkpaChpcylmKGV4ZWN1dGVkKTExMTAKKzMwMDIgeShhcylqKGlmKWYoaXQpaCh3KW0oZXJlKWYodGhlKWgoYXJndW1lbiltKHQpZyh0bylnKHRoZSlmCitGcyhjZClnIEZ0KGNvbW1hbmQuKTQwIGIoVGhpcykyOSBiKG9wdGlvbilnKGlzKWgob25seSkxMTEwCiszMTEyIHkodXNlZClnKGIpbSh5KWcoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbHMuKTYzMAorMzI1OCB5IEZzKGNkYWJsZV92YXJzKTExMTAgMzM2NyB5IEZ0KElmKWgodGhpcyloKGlzKWcoc2V0LClpKGFuKWUKKyhhcmd1bWVuKW0odClnKHRvKWgodGhlKWYgRnMoY2QpZiBGdChidWlsdGluKWgoY29tbWFuZClmKHRoYXQpaShpcylmCisobm90KTExMTAgMzQ3NyB5KGEpYyhkaXJlY3RvcnkpZyhpcylnKGFzc3VtZWQpZih0byloKGIpcyhlKWYodGhlKWgKKyhuYW1lKWYob2YpaChhKWcodiktNSBiKGFyaWFibGUpMzEgYih3aG9zZSlnKHYpLTUgYihhbHVlKTMxCitiKGlzKTExMTAgMzU4NyB5KHRoZSlnKGRpcmVjdG9yeSlmKHRvKWkoYyltKGhhbmdlKWYodG8uKTYzMAorMzczMyB5IEZzKGNkc3BlbGwpMTQ0IGIgRnQoSWYpMjcgYihzZXQsKWgobWlub3IpZihlcnJvcnMpZihpbiloKHRoZSlnCisoc3ApcyhlbGxpbmcpaChvZilmKGEpZyhkaXJlY3RvcnkpaChjb21wKXMob25lbiltKHQpZihpbilnKGEpaAorRnMoY2QpMTExMCAzODQyIHkgRnQoY29tbWFuZClpKHdpbGwpaChiKXMoZSlmKGNvcnJlY3RlZC4pNDMKK2IoVGhlKTMwIGIoZXJyb3JzKWcoYyltKGhlYyltKGspbShlZClqKGZvcilkKGFyZSloKHRyYW5zcClzKG9zZWQpMTExMAorMzk1MiB5KGMpbShoYXJhY3RlcnMsKTQ2IGIoYSljKG1pc3NpbmcpZihjKW0oaGFyYWN0ZXIsKTQ3CitiKGFuZCk0MCBiKGEpaShjKW0oaGFyYWN0ZXIpaCh0bylzKG8pZyhtYW4pbSh5KS04IGIoLik3NAorYihJZik0MiBiKGEpMTExMCA0MDYxIHkoY29ycmVjdGlvbikyNSBiKGlzKWUoZm91bmQsKWcodGhlKWgoY29ycmVjdGVkKWcKKyhwYXRoKWYoaXMpZyhwcmluKW0odGVkLCloKGFuZClmKHRoZSlnKGNvbW1hbmQpMTExMCA0MTcxCit5KHBybylzKGNlZWRzLik0MCBiKFRoaXMpMzAgYihvcHRpb24paChpcylmKG9ubHkpaCh1c2VkKWUoYiltKHkpaChpbiltCisodGVyYWN0aXYpbShlKWsoc2hlbGxzLik2MzAgNDMxNyB5IEZzKGNoZWNraGFzaCkxMTEwCis0NDI3IHkgRnQoSWYpMjkgYih0aGlzKWgoaXMpZyhzZXQsKWcoQmFzaClnKGMpbShoZWMpbShrcyloKHRoYXQpZyhhKWYKKyhjb21tYW5kKWYoZm91bmQpZyhpbilnKHRoZSloKGhhc2gpZih0YWJsZSkxMTEwIDQ1MzYKK3koZXhpc3RzKWsoYilzKGVmb3JlKWYodHJ5aW5nKWgodG8paChleGVjdXRlKWcoaXQuKTQ4CitiKElmKTMyIGIoYSloKGhhc2hlZCllKGNvbW1hbmQpaShubylmKGxvbmdlcikxMTEwIDQ2NDYKK3koZXhpc3RzLClmKGEpZyhub3JtYWwpZihwYXRoKWcoc2VhcmMpbShoKWgoaXMpZyhwKXMoZXJmb3JtZWQuKTYzMAorNDc5MiB5IEZzKGNoZWNram9icykxMTEwIDQ5MDIgeSBGdChJZilkKHNldCwpaShCYXNoKWUobGlzdHMpaCh0aGUpZworKHN0YXR1cylnKG9mKWYoYW4pbSh5KWgoc3RvcHApcyhlZClmKGFuZClnKHJ1bm5pbmcpZShqb2JzKWkoYilzKGVmb3JlKQorMTExMCA1MDExIHkoZXhpdGluZyk0MiBiKGFuKWYoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbC4pNzIKK2IoSWYpNDEgYihhbiltKHkpZyhqb2JzKWYoYXJlKWkocnVubmluZywpZyh0aGlzKWYoY2F1c2VzKTExMTAKKzUxMjEgeSh0aGUpMzAgYihleGl0KWcodG8pZyhiKXMoZSlmKGRlZmVycmVkKWcodW4pbSh0aWwpaChhKWYoc2Vjb25kKWgKKyhleGl0KWcoaXMpZyhhdHRlbXB0ZWQpaCh3aXRob3V0KWUoYW4pMTExMCA1MjMwIHkoaW4pbSh0ZXJ2KW0oZW5pbmcpagorKGNvbW1hbmQpZShcKHNlZSloKENoYXB0ZXIpZig3KWgoW0pvYilmKENvbiltKHRyb2xdLClpKHBhZ2UpZig5MVwpLik0MgorYihUaGUpMTExMCA1MzQwIHkoc2hlbGwpMzEgYihhbHcpbShhKW0oeXMpZyhwKXMob3N0cClzKG9uZXMpZihleGl0aW5nKWgKKyhpZilnKGFuKW0oeSlmKGpvYnMpZyhhcmUpaChzdG9wcClzKGVkLilwIGVvcCBlbmQKICUlUGFnZTogNTkgNjUKIFRlWERpY3QgYmVnaW4gNTkgNjQgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDQ6KTQxCi1iKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig1OSk2MzAgMjk5IHkgRnMoc291cmNlcGF0aCkxMTEwCi00MDggeSBGdChJZikyMiBiKHNldCwpaih0aGUpZSBGcyhzb3VyY2UpZSBGdChidWlsdGluKWgodXNlcylnKHRoZSloKHYpCi0tNSBiKGFsdWUpMjMgYihvZilnIEZzKFBBVEgpZSBGdCh0bylqKFwwMTRuZClkKHRoZSloKGRpcmVjdG9yeSkxMTEwCi01MTggeShjb24pbSh0YWluaW5nKTI5IGIodGhlKWUoXDAxNGxlKWgoc3VwcGxpZWQpZShhcyloKGFuKWcoYXJndW1lbiltCi0odC4pNDAgYihUaGlzKTI3IGIob3B0aW9uKWgoaXMpZihlbmFibGVkKTExMTAgNjI4IHkoYiltKHkpaihkZWZhdWx0LikKLTYzMCA3ODcgeSBGcyh4cGdfZWNobyk5NiBiIEZ0KElmKTMxIGIoc2V0LCloKHRoZSlnIEZzKGVjaG8pZQotRnQoYnVpbHRpbiloKGV4cGFuZHMpZihiYWMpbShrc2xhc2gtZXNjYXApcyhlKWooc2VxdWVuY2VzKWYoYiltKHkpZgotKGRlLSkxMTEwIDg5NyB5KGZhdWx0Lik2MzAgMTA1NiB5KFRoZSljKHJldHVybilmKHN0YXR1cylpKHdoZW4pZgotKGxpc3RpbmcpaChvcHRpb25zKWcoaXMpZih6ZXJvKWkoaWYpZShhbGwpaSBGcShvcHRuYW1lcylpCi1GdChhcmUpZChlbmFibGVkLClnKG5vbi0pNjMwIDExNjYgeSh6ZXJvKTQwIGIob3RoZXJ3aXNlLik2NgotYihXaGVuKTM5IGIoc2V0dGluZyloKG9yKWYodW5zZXR0aW5nKWcob3B0aW9ucywpaSh0aGUpZShyZXR1cm4pZgotKHN0YXR1cyloKGlzKWcoemVybyk2MzAgMTI3NSB5KHVubGVzcykzMCBiKGFuKWcgRnEob3B0bmFtZSkzNgotYiBGdChpcykzMCBiKG5vdCloKGEpZyh2KS01IGIoYWxpZCkzMCBiKHNoZWxsKWgob3B0aW9uLikxNTAKLTE1MDggeSBGcig0LjQpNjggYihTcCl0KGVjaWFsKTQ1IGIoQnVpbHRpbnMpMTUwIDE2NjcKLXkgRnQoRiktOCBiKG9yKTM1IGIoaGlzdG9yaWNhbCloKHJlYXNvbnMsKWcodGhlKWUgRmwocG9zaXgpZwotRnQoc3RhbmRhcmQpZihoYXMpaShjbGFzc2lcMDE0ZWQpZihzZXYpbShlcmFsKWkoYnVpbHRpbillKGNvbW1hbmRzKWcKLShhcyloIEZrKHNwKS01IGIoZS0pMTUwIDE3NzcgeShjaWFsKXAgRnQoLik0NyBiKFdoZW4pMzMKLWIoQmFzaClmKGlzKWgoZXhlY3V0aW5nKWcoaW4pZiBGbChwb3NpeClnIEZ0KG1vKXMoZGUsKWgodGhlKWcoc3ApcwotKGVjaWFsKWcoYnVpbHRpbnMpZShkaVwwMTNlcilpKGZyb20pZihvdGhlcilnKGJ1aWx0aW4pMTUwCi0xODg2IHkoY29tbWFuZHMpZShpbilnKHRocmVlKWgocmVzcClzKGVjdHM6KTE5OSAyMDIxCi15KDEuKTYxIGIoU3ApcyhlY2lhbCkzMSBiKGJ1aWx0aW5zKWUoYXJlKWkoZm91bmQpZShiKXMoZWZvcmUpaChzaGVsbCloCi0oZnVuY3Rpb25zKWYoZHVyaW5nKWYoY29tbWFuZCloKGxvKXMob2t1cC4pMTk5IDIxNTUgeSgyLik2MQotYihJZikzMCBiKGEpaChzcClzKGVjaWFsKWcoYnVpbHRpbilmKHJldHVybnMpZihhbiloKGVycm9yKWcoc3RhdHVzLCloCi0oYSlnKG5vbi1pbiltKHRlcmFjdGl2KW0oZSlpKHNoZWxsKWQoZXhpdHMuKTE5OSAyMjkwCi15KDMuKTYxIGIoQXNzaWdubWVuKW0odCkzMCBiKHN0YXRlbWVuKW0odHMpaChwcmVjZWRpbmcpZih0aGUpZihjb21tYW5kKQotZyhzdGEpbSh5KWkoaW4pZShlXDAxM2VjdClpKGluKWUodGhlKWgoc2hlbGwpZihlbiltKHZpcm9ubWVuKW0odCkzMzAKLTIzOTkgeShhZnRlcilpKHRoZSlmKGNvbW1hbmQpaChjb21wbGV0ZXMuKTI3NSAyNTU5IHkoV2hlbikzNgotYihCYXNoKWcoaXMpaChub3QpZihleGVjdXRpbmcpaShpbillIEZsKHBvc2l4KWYgRnQobW8pcyhkZSwpaih0aGVzZSlmCi0oYnVpbHRpbnMpZihiKXMoZWhhKW0odiltKGUpaChubylmKGRpXDAxM2VyZW4pbSh0bHkpaCh0aGFuKTE1MAotMjY2OCB5KHRoZSkzMSBiKHJlc3QpZihvZiloKHRoZSlmKEJhc2gpaChidWlsdGluKWUoY29tbWFuZHMuKTQxCi1iKFRoZSkzMCBiKEJhc2gpZyBGbChwb3NpeClnIEZ0KG1vKXMoZGUpZyhpcylnKGRlc2NyaWIpcyhlZClmKGluKWgKLShTZWN0aW9uKWgoNi4xMSkxNTAgMjc3OCB5KFtCYXNoKWcoUE9TSVgpZShNbylzKGRlXSwpaShwYWdlKWcoODQuKTI3NQotMjkxMiB5KFRoZXNlKWYoYXJlKWcodGhlKWggRmwocG9zaXgpZiBGdChzcClzKGVjaWFsKWgoYnVpbHRpbnM6KTM5MAotMzA0NyB5IEZzKGJyZWFrKTQ2IGIoOilpKC4pZihjb250aW51ZSlmKGV2YWwpZyhleGVjKWgoZXhpdClnKGV4cG9ydClmCi0ocmVhZG9ubHkpZihyZXR1cm4paChzZXQpMzkwIDMxNTYgeShzaGlmdClnKHRyYXApaCh1bnNldClwCi1lb3AgZW5kCitiKFNoZWxsKTMwIGIoQnVpbHRpbiloKENvbW1hbmRzKTIwNjkgYig1OSk2MzAgMjk5IHkgRnMoY2hlY2t3aW5zaXplKQorMTExMCA0MDggeSBGdChJZik0MSBiKHNldCwpayhCYXNoKWMoYyltKGhlYyltKGtzKWkodGhlKWYod2luZG8pbSh3KWUKKyhzaXplKWooYWZ0ZXIpZihlYWMpbShoKWcoY29tbWFuZClmKGFuZCwpaihpZikxMTEwIDUxOAoreShuZWNlc3NhcnkpLTggYigsKTMxIGIodXApcyhkYXRlcylmKHRoZSlnKHYpLTUgYihhbHVlcykzMQorYihvZilnIEZzKExJTkVTKWUgRnQoYW5kKWcgRnMoQ09MVU1OUylwIEZ0KC4pNjMwIDY3NworeSBGcyhjbWRoaXN0KTE0NCBiIEZ0KElmKTMzIGIoc2V0LClqKEJhc2gpZShhdHRlbXB0cyloKHRvKWcoc2EpbSh2KW0oZSkKK2coYWxsKWcobGluZXMpZihvZilnKGEpaChtKW0odWx0aXBsZS1saW5lKWcoY29tbWFuZCkxMTEwCis3ODcgeShpbiljKHRoZSlnKHNhbWUpZyhoaXN0b3J5KWcoZW4pbSh0cnkpLTggYiguKTQyCitiKFRoaXMpMzAgYihhbGxvKW0od3MpaShlYXN5KWcocmUtZWRpdGluZylnKG9mKWYobSltKHVsdGktbGluZSkxMTEwCis4OTcgeShjb21tYW5kcy4pNjMwIDEwNTYgeSBGcyhjb21wYXQzMSk5NiBiIEZ0KElmKTI3CitiKHNldCwpaShCYXNoKWUoYyltKGhhbmdlcylpKGl0cylmKGIpcyhlaGEpbSh2aW9yKWYodG8paSh0aGF0KWYob2YpZih2KQorbShlcnNpb24paCgzLjEpaCh3aXRoKWUocmVzcClzKGVjdCkxMTEwIDExNjYgeSh0bylrKHF1b3RlZClnKGFyZ3VtZW4pbQorKHRzKWYodG8paCh0aGUpZyhjb25kaXRpb25hbCloKGNvbW1hbmQncyllKGApcCBGcyg9filwCitGdCgnKWcob3ApcyhlcmF0b3IuKTYzMCAxMzI1IHkgRnMoY29tcGF0MzIpOTYgYiBGdChJZikyNworYihzZXQsKWkoQmFzaCllKGMpbShoYW5nZXMpaShpdHMpZihiKXMoZWhhKW0odmlvcilmKHRvKWkodGhhdClmKG9mKWYodikKK20oZXJzaW9uKWgoMy4yKWgod2l0aCllKHJlc3ApcyhlY3QpMTExMCAxNDM1IHkodG8paChsbylzKGNhbGUtc3ApcworKGVjaVwwMTRjKWcoc3RyaW5nKWYoY29tcGFyaXNvbilnKHdoZW4pZih1c2luZylnKHRoZSloKGApcAorRnMoW1spcCBGdCgnKWcoY29uZGl0aW9uYWwpMTExMCAxNTQ0IHkoY29tbWFuZCdzKTM2IGIoYClwCitGcyg8KXAgRnQoJylnKGFuZClmKGApcCBGcyg+KXAgRnQoJyloKG9wKXMoZXJhdG9ycy4pNTcKK2IoQmFzaCkzNiBiKHYpbShlcnNpb25zKWcocHJpb3IpZih0byloKGJhc2gtNC4wKTExMTAKKzE2NTQgeSh1c2UpMjkgYihBU0NJKXMoSSlmKGNvbGxhdGlvbilrKGFuZClkKHN0cmNtcFwoM1wpOyloKGJhc2gtNC4xKWcKKyhhbmQpZihsYXRlciloKHVzZSlnKHRoZSlmKGN1ci0pMTExMCAxNzYzIHkocmVuKW0odClpKGxvKXMoY2FsZSdzKWgKKyhjb2xsYXRpb24pZyhzZXF1ZW5jZSlmKGFuZClmKHN0cmNvbGxcKDNcKS4pNjMwIDE5MjMKK3kgRnMoY29tcGF0NDApOTYgYiBGdChJZikyNyBiKHNldCwpaShCYXNoKWUoYyltKGhhbmdlcylpKGl0cylmKGIpcyhlaGEpCittKHZpb3IpZih0bylpKHRoYXQpZihvZilmKHYpbShlcnNpb24paCg0LjApaCh3aXRoKWUocmVzcClzKGVjdCkxMTEwCisyMDMyIHkodG8paChsbylzKGNhbGUtc3ApcyhlY2lcMDE0YylnKHN0cmluZylmKGNvbXBhcmlzb24pZyh3aGVuKWYKKyh1c2luZylnKHRoZSloKGApcCBGcyhbWylwIEZ0KCcpZyhjb25kaXRpb25hbCkxMTEwIDIxNDIKK3koY29tbWFuZCdzKWooYClwIEZzKDwpcCBGdCgnKWgoYW5kKWUoYClwIEZzKD4pcCBGdCgnKWkob3ApcyhlcmF0b3JzKWYKKyhcKHNlZSloKHByZXZpb3VzKWYoaXRlbVwpKWgoYW5kKWYodGhlKWcoZVwwMTNlY3QpMTExMAorMjI1MiB5KG9mKWgoaW4pbSh0ZXJydXB0aW5nKWYoYSlnKGNvbW1hbmQpaChsaXN0Lik2MzAKKzI0MTEgeSBGcyhjb21wYXQ0MSk5NiBiIEZ0KElmKTI3IGIoc2V0LClpKEJhc2gsKWcod2hlbillKGluKWcocClzKG9zaXgpCitnKG1vKXMoZGUsKWgodHJlYXRzKWgoYSlmKHNpbmdsZSlnKHF1b3RlKWgoaW4pZShhKWgoZG91YmxlLSkxMTEwCisyNTIxIHkocXVvdGVkKTQ2IGIocGFyYW1ldGVyKWgoZXhwYW5zaW9uKWYoYXMpZyhhKWgoc3ApcyhlY2lhbClmKGMpbQorKGhhcmFjdGVyLik5MCBiKFRoZSk0NSBiKHNpbmdsZSkxMTEwIDI2MzAgeShxdW90ZXMpMzQKK2IobSltKHVzdClnKG1hdGMpbShoKWgoXChhbilmKGV2KW0oZW4paChuKW0odW0pbShiKXMoZXJcKSllKGFuZClnKHRoZSloCisoYyltKGhhcmFjdGVycyloKGIpcyhldCltKHcpbShlZW4pMTExMCAyNzQwIHkodGhlKTQwCitiKHNpbmdsZSlnKHF1b3RlcylnKGFyZSlnKGNvbnNpZGVyZWQpZyhxdW90ZWQuKTY5IGIoVGhpcykzOAorYihpcylpKHRoZSlnKGIpcyhlaGEpbSh2aW9yKWcob2YpMTExMCAyODQ5IHkgRmwocG9zaXgpZgorRnQobW8pcyhkZSlnKHRocm91Z2gpZyh2KW0oZXJzaW9uKWgoNC4xLik2OSBiKFRoZSkzOQorYihkZWZhdWx0KWcoQmFzaCloKGIpcyhlaGEpbSh2aW9yKWcocmUtKTExMTAgMjk1OSB5KG1haW5zKTMwCitiKGFzKWgoaW4pZihwcmV2aW91cylnKHYpbShlcnNpb25zLik2MzAgMzExOCB5IEZzKGRpcnNwZWxsKTk2CitiIEZ0KElmKTI2IGIoc2V0LClpKEJhc2gpZihhdHRlbXB0cylnKHNwKXMoZWxsaW5nKWcoY29ycmVjdGlvbilnKG9uKWcKKyhkaXJlY3RvcnkpZyhuYW1lcylmKGR1cmluZykxMTEwIDMyMjggeSh3KW0ob3JkKTM2IGIoY29tcGxldGlvbiloKGlmKWYKKyh0aGUpZyhkaXJlY3RvcnkpZyhuYW1lKWcoaW5pdGlhbGx5KWgoc3VwcGxpZWQpZShkbylzKGVzKWgobm90KTExMTAKKzMzMzcgeShleGlzdC4pNjMwIDM0OTcgeSBGcyhkb3RnbG9iKTE0NCBiIEZ0KElmKTI3IGIoc2V0LClpKEJhc2gpZgorKGluY2x1ZGVzKWcoXDAxNGxlbmFtZXMpZyhiKXMoZWdpbm5pbmcpZih3aXRoKWcoYSloKGAuJyk0MQorYihpbikyNyBiKHRoZSloKHJlc3VsdHMpZyhvZikxMTEwIDM2MDYgeShcMDE0bGVuYW1lKWooZXhwYW5zaW9uLik2MzAKKzM3NjYgeSBGcyhleGVjZmFpbCk5NiBiIEZ0KElmKTI0IGIodGhpcyloKGlzKWYoc2V0LClqKGEpZShub24taW4pbQorKHRlcmFjdGl2KW0oZSlpKHNoZWxsKWUod2lsbClmKG5vdCloKGV4aXQpaChpZillKGl0KWgoY2Fubm90KWgoZXhlY3V0ZSkKKzExMTAgMzg3NSB5KHRoZSlpKFwwMTRsZSlnKHNwKXMoZWNpXDAxNGVkKWcoYXMpZyhhbilnKGFyZ3VtZW4pbSh0KWcodG8pCitoKHRoZSlmIEZzKGV4ZWMpZiBGdChidWlsdGluKWgoY29tbWFuZC4pMzkgYihBbikxMTEwCiszOTg1IHkoaW4pbSh0ZXJhY3RpdiltKGUpMzMgYihzaGVsbCllKGRvKXMoZXMpZihub3QpZyhleGl0KWkoaWYpZQorRnMoZXhlYylmIEZ0KGZhaWxzLik2MzAgNDE0NCB5IEZzKGV4cGFuZF9hbGlhc2VzKTExMTAKKzQyNTQgeSBGdChJZilqKHNldCwpaChhbGlhc2VzKWcoYXJlKWcoZXhwYW5kZWQpZShhcyloKGRlc2NyaWIpcyhlZClmKGIpCitzKGVsbyltKHcpaCh1bmRlcilmKEFsaWFzZXMsKWkoU2VjLSkxMTEwIDQzNjQgeSh0aW9uKTM4CitiKDYuNiloKFtBbGlhc2VzXSwpaihwYWdlKWQoODEuKTY0IGIoVGhpcykzNyBiKG9wdGlvbiloKGlzKWcoZW5hYmxlZClnCisoYiltKHkpZyhkZWZhdWx0KWcoZm9yKTExMTAgNDQ3MyB5KGluKW0odGVyYWN0aXYpbShlKTMzCitiKHNoZWxscy4pNjMwIDQ2MzMgeSBGcyhleHRkZWJ1Zyk5NiBiIEZ0KElmKTMwIGIoc2V0LCloKGIpcyhlaGEpbSh2aW9yKQorZyhpbiltKHRlbmRlZClmKGZvcilnKHVzZSlnKGIpbSh5KWcoZGVidWdnZXJzKWcoaXMpaChlbmFibGVkOikxMTU5Cis0NzY3IHkoMS4pNjEgYihUaGUpMzIgYihgKXAgRnMoLUYpcCBGdCgnKWcob3B0aW9uKWgodG8pZyh0aGUpZworRnMoZGVjbGFyZSlkIEZ0KGJ1aWx0aW4paShcKHNlZSlpKFNlY3Rpb24pZig0LjIpaChbQmFzaCkxMjkwCis0ODc3IHkoQnVpbHRpbnNdLCkyOSBiKHBhZ2UpZyg0M1wpKWcoZGlzcGxhKW0oeXMpZih0aGUpZyhzb3VyY2UpaAorKFwwMTRsZSlmKG5hbWUpZyhhbmQpZihsaW5lKWgobiltKHVtLSkxMjkwIDQ5ODYgeShiKXMoZXIpaChjb3JyZXNwKXMKKyhvbmRpbmcpZyh0bylpKGVhYyltKGgpZyhmdW5jdGlvbilmKG5hbWUpZyhzdXBwbGllZClmKGFzKWkoYW4pZihhcmd1LSkKKzEyOTAgNTA5NiB5KG1lbiltKHQuKTExNTkgNTIzMCB5KDIuKTYxIGIoSWYpMjAgYih0aGUpaChjb21tYW5kKWcocnVuKWUKKyhiKW0oeSlpKHRoZSlmIEZzKERFQlVHKWcgRnQodHJhcClnKHJldHVybnMpZyhhKWgobm9uLXplcm8pZyh2KS01CitiKGFsdWUsKTEyOTAgNTM0MCB5KHRoZSkzMSBiKG5leHQpZihjb21tYW5kKWcoaXMpaChza2lwcClzKGVkKWUoYW5kKWcKKyhub3QpaShleGVjdXRlZC4pcCBlb3AgZW5kCiAlJVBhZ2U6IDYwIDY2Ci1UZVhEaWN0IGJlZ2luIDYwIDY1IGJvcCBlb3AgZW5kCitUZVhEaWN0IGJlZ2luIDYwIDY1IGJvcCAxNTAgLTExNiBhIEZ0KDYwKTI1NzIgYihCYXNoKTMxCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxMTU5IDI5OSB5KDMuKTYxIGIoSWYpMzcgYih0aGUpZyhjb21tYW5kKWcocnVuKQorZihiKW0oeSlpKHRoZSlmIEZzKERFQlVHKWYgRnQodHJhcCloKHJldHVybnMpZihhKWkodiktNQorYihhbHVlKTM4IGIob2YpZigyLCkxMjkwIDQwOCB5KGFuZCljKHRoZSlnKHNoZWxsKWgoaXMpZihleGVjdXRpbmcpaShpbikKK2UoYSloKHN1YnJvdXRpbmUpZShcKGEpaShzaGVsbClnKGZ1bmN0aW9uKWYob3IpMTI5MCA1MTgKK3koYSloKHNoZWxsKWgoc2NyaXB0KWYoZXhlY3V0ZWQpaChiKW0oeSlmKHRoZSlnIEZzKC4pZworRnQob3IpZyBGcyhzb3VyY2UpZSBGdChidWlsdGluc1wpLClqKGEpZyhjYWxsKWcodG8pMTI5MAorNjI4IHkgRnMocmV0dXJuKTI5IGIgRnQoaXMpaChzaW0pbSh1bGF0ZWQuKTExNTkgNzYzIHkoNC4pNjEKK2IgRnMoQkFTSF9BUkdDKTM0IGIgRnQoYW5kKWkgRnMoQkFTSF9BUkdWKWUgRnQoYXJlKWoodXApcyhkYXRlZCllKGFzKWgKKyhkZXNjcmliKXMoZWQpZyhpbilnKHRoZWlyKTEyOTAgODczIHkoZGVzY3JpcHRpb25zKTMwCitiKFwoc2VlKWkoU2VjdGlvbilmKDUuMilnKFtCYXNoKWcoViktOCBiKGFyaWFibGVzXSwpMzIKK2IocGFnZSlmKDYzXCkuKTExNTkgMTAwOSB5KDUuKTYxIGIoRiktOCBiKHVuY3Rpb24pNTcKK2IodHJhY2luZylnKGlzKWcoZW5hYmxlZDopOTMgYihjb21tYW5kKTU2IGIoc3Vic3RpdHV0aW9uLCk2MworYihzaGVsbCkxMjkwIDExMTggeShmdW5jdGlvbnMsKTMwIGIoYW5kKWYoc3Vic2hlbGxzKWcoaW4pbSh2KW0ob2spbShlZCkKK2ood2l0aClkIEZzKFwoKWggRmkoY29tbWFuZCkzOSBiIEZzKFwpKTMwIGIgRnQoaW5oZXJpdClnKHRoZSkxMjkwCisxMjI4IHkgRnMoREVCVUcpZiBGdChhbmQpaCBGcyhSRVRVUk4pZSBGdCh0cmFwcy4pMTE1OQorMTM2MyB5KDYuKTYxIGIoRXJyb3IpNDEgYih0cmFjaW5nKWkoaXMpZihlbmFibGVkOik2MworYihjb21tYW5kKTQyIGIoc3Vic3RpdHV0aW9uLClpKHNoZWxsKWYoZnVuYy0pMTI5MCAxNDczCit5KHRpb25zLCkzMCBiKGFuZClmKHN1YnNoZWxscylnKGluKW0odiltKG9rKW0oZWQpaSh3aXRoKWUKK0ZzKFwoKWggRmkoY29tbWFuZCkzOSBiIEZzKFwpKTI5IGIgRnQoaW5oZXJpdClnKHRoZSloCitGcyhFUlIpMTI5MCAxNTgzIHkgRnQodHJhcC4pNjMwIDE3NDQgeSBGcyhleHRnbG9iKTE0NAorYiBGdChJZikyNiBiKHNldCwpaSh0aGUpZihleHRlbmRlZClmKHBhdHRlcm4paChtYXRjKW0oaGluZylnKGZlYXR1cmVzKWcKKyhkZXNjcmliKXMoZWQpZShhYilzKG8pbSh2KW0oZSlqKFwoc2VlKTExMTAgMTg1NCB5KFNlY3Rpb24paigzLjUuOC4xKWkKKyhbUCltKGF0dGVybilmKE1hdGMpbShoaW5nXSwpZyhwYWdlKWYoMjZcKSloKGFyZSlmKGVuYWJsZWQuKTYzMAorMjAxNiB5IEZzKGV4dHF1b3RlKTk2IGIgRnQoSWYpNDkgYihzZXQsKTU0IGIgRnMoJCcpcAorRmkoc3RyaW5nKTExIGIgRnMoJyk0NiBiIEZ0KGFuZClqIEZzKCQiKXAgRmkoc3RyaW5nKTExCitiIEZzKCIpNDYgYiBGdChxdW90aW5nKWsoaXMpZihwKXMoZXJmb3JtZWQpZSh3aXRoaW4pMTExMAorMjEyNSB5IEZzKCR7KXAgRmkocGFyYW1ldGVyKTExIGIgRnMofSkzMCBiIEZ0KGV4cGFuc2lvbnMpaihlbmNsb3NlZCloCisoaW4pZyhkb3VibGUpZihxdW90ZXMuKTUxIGIoVGhpcykzMiBiKG9wdGlvbikxMTEwIDIyMzUKK3koaXMpZShlbmFibGVkKWgoYiltKHkpZihkZWZhdWx0Lik2MzAgMjM5NyB5IEZzKGZhaWxnbG9iKTk2CitiIEZ0KElmKTM2IGIoc2V0LClqKHBhdHRlcm5zKWQod2hpYyltKGgpZyhmYWlsKWgodG8paChtYXRjKW0oaClmCisoXDAxNGxlbmFtZXMpZihkdXJpbmcpZyhcMDE0bGVuYW1lKWcoZXgtKTExMTAgMjUwNiB5KHBhbnNpb24pMzAKK2IocmVzdWx0KWcoaW4pZyhhbilnKGV4cGFuc2lvbiloKGVycm9yLik2MzAgMjY2OCB5IEZzKGZvcmNlX2ZpZ25vcmUpCisxMTEwIDI3NzggeSBGdChJZik0MyBiKHNldCwpayh0aGUpZChzdVwwMTZ4ZXMpZihzcClzKGVjaVwwMTRlZClmKGIpbSh5KQoraSh0aGUpZiBGcyhGSUdOT1JFKWYgRnQoc2hlbGwpaCh2KS01IGIoYXJpYWJsZSk0NCBiKGNhdXNlKTExMTAKKzI4ODcgeSh3KW0ob3JkcykzMSBiKHRvKWgoYilzKGUpZihpZ25vcmVkKWgod2hlbilmKHApcyhlcmZvcm1pbmcpZih3KW0KKyhvcmQpaChjb21wbGV0aW9uKWkoZXYpbShlbilmKGlmKWcodGhlKTExMTAgMjk5NyB5KGlnbm9yZWQpMzcKK2IodyltKG9yZHMpZyhhcmUpZyh0aGUpaChvbmx5KWYocClzKG9zc2libGUpZyhjb21wbGV0aW9ucy4pNjIKK2IoU2VlKTM3IGIoU2VjdGlvbiloKDUuMikxMTEwIDMxMDYgeShbQmFzaCkyNCBiKFYpLTgKK2IoYXJpYWJsZXNdLCkyNyBiKHBhZ2UpZSg2MywpaChmb3IpZChhKWgoZGVzY3JpcHRpb24pZyhvZilnCitGcyhGSUdOT1JFKXAgRnQoLikzNyBiKFRoaXMpMjIgYihvcHRpb24pMTExMCAzMjE2IHkoaXMpMzAKK2IoZW5hYmxlZCloKGIpbSh5KWYoZGVmYXVsdC4pNjMwIDMzNzggeSBGcyhnbG9ic3Rhcik5NgorYiBGdChJZikzOCBiKHNldCwpaih0aGUpZShwYXR0ZXJuKWYoYClwIEZzKCoqKXAgRnQoJyloKHVzZWQpZShpbilpKGEpZgorKFwwMTRsZW5hbWUpaChleHBhbnNpb24pZihjb24pbSh0ZXh0KWood2lsbCkxMTEwIDM0ODcKK3kobWF0YyltKGgpZihhKWcoXDAxNGxlcylmKGFuZClmKHplcm8paShvcilnKG1vcmUpZihkaXJlY3RvcmllcyloKGFuZClmCisoc3ViKXMoZGlyZWN0b3JpZXMuKTY2IGIoSWYpMTExMCAzNTk3IHkodGhlKTMwIGIocGF0dGVybilnKGlzKWcoZm9sbG8pbQorKHcpbShlZClpKGIpbSh5KWQoYSlpKGApcCBGcygvKXAgRnQoJywpZihvbmx5KWcoZGlyZWN0b3JpZXMpaChhbmQpZgorKHN1YilzKGRpcmVjdG9yaWVzKTExMTAgMzcwNyB5KG1hdGMpbShoLik2MzAgMzg2OCB5IEZzKGdudV9lcnJmbXQpMTExMAorMzk3OCB5IEZ0KElmKTM1IGIoc2V0LClqKHNoZWxsKWUoZXJyb3IpZyhtZXNzYWdlcylnKGFyZSloKHdyaXR0ZW4pZShpbikKK2godGhlKWcoc3RhbmRhcmQpZiBGbChnbnUpZyBGdChlcnJvcikxMTEwIDQwODggeShtZXNzYWdlKWMoZm9ybWF0Lik2MzAKKzQyNDkgeSBGcyhoaXN0YXBwZW5kKTExMTAgNDM1OSB5IEZ0KElmKWMoc2V0LClqKHRoZSllKGhpc3RvcnkpZyhsaXN0KWcKKyhpcylnKGFwcClzKGVuZGVkKWUodG8paih0aGUpZihcMDE0bGUpZyhuYW1lZClmKGIpbSh5KWgodGhlKWcodiktNQorYihhbHVlKTI5IGIob2YpMTExMCA0NDY4IHkodGhlKWQgRnMoSElTVEZJTEUpZCBGdCh2KS01CitiKGFyaWFibGUpMjYgYih3aGVuKWUodGhlKWgoc2hlbGwpaChleGl0cywpaChyYXRoZXIpZSh0aGFuKWgobyltKHYpbQorKGVyd3JpdGluZykxMTEwIDQ1NzggeSh0aGUpMzEgYihcMDE0bGUuKTYzMCA0NzQwIHkgRnMoaGlzdHJlZWRpdCkxMTEwCis0ODQ5IHkgRnQoSWYpaShzZXQsKWgoYW5kKWYoUmVhZGxpbmUpaChpcylmKGIpcyhlaW5nKWcodXNlZCwpZyhhKWcKKyh1c2VyKWcoaXMpZyhnaXYpbShlbiloKHRoZSlnKG9wcClzKG9ydHVuaXQpbSh5KTExMTAKKzQ5NTkgeSh0bylkKHJlLWVkaXQpZyhhKWcoZmFpbGVkKWcoaGlzdG9yeSlmKHN1YnN0aXR1dGlvbi4pNjMwCis1MTIxIHkgRnMoaGlzdHZlcmlmeSkxMTEwIDUyMzAgeSBGdChJZikzNSBiKHNldCwpaShhbmQpZShSZWFkbGluZSloKGlzKQorZihiKXMoZWluZylnKHVzZWQsKWgodGhlKWYocmVzdWx0cylnKG9mKWcoaGlzdG9yeSloKHN1YnN0aXR1LSkxMTEwCis1MzQwIHkodGlvbiloKGFyZSlnKG5vdClnKGltbWVkaWF0ZWx5KWgocGFzc2VkKWUodG8paCh0aGUpZyhzaGVsbClnCisocGFyc2VyLik1OSBiKEluc3RlYWQsKTM4IGIodGhlKXAgZW9wIGVuZAogJSVQYWdlOiA2MSA2NwotVGVYRGljdCBiZWdpbiA2MSA2NiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNTopNDEKLWIoU2hlbGwpMzAgYihWKS04IGIoYXJpYWJsZXMpMjQ1OSBiKDYxKTE1MCAyOTkgeSBGbyg1KTgwCi1iKFNoZWxsKTUzIGIoViktMTMgYihhcmlhYmxlcykxNTAgNTU5IHkgRnQoVGhpcykyMSBiKGMpbShoYXB0ZXIpaQotKGRlc2NyaWIpcyhlcyllKHRoZSlpKHNoZWxsKWYodiktNSBiKGFyaWFibGVzKTIzIGIodGhhdClmKEJhc2gpaCh1c2VzLikKLTM3IGIoQmFzaCkyMyBiKGF1dG9tYXRpY2FsbHkpaChhc3NpZ25zKWYoZGVmYXVsdCkxNTAKLTY2OCB5KHYpLTUgYihhbHVlcykzMSBiKHRvKWcoYSlnKG4pbSh1bSltKGIpcyhlcillKG9mKWgodiktNQotYihhcmlhYmxlcy4pMTUwIDkxNCB5IEZyKDUuMSk2OCBiKEJvdXJuZSk0NSBiKFNoZWxsKWcoViktMTEKLWIoYXJpYWJsZXMpMTUwIDEwNzMgeSBGdChCYXNoKTMwIGIodXNlcylnKGNlcnRhaW4paChzaGVsbClnKHYpLTUKLWIoYXJpYWJsZXMpMzEgYihpbilmKHRoZSlnKHNhbWUpaCh3KW0oYSltKHkpZyhhcylnKHRoZSlmKEJvdXJuZSlnCi0oc2hlbGwuKTQxIGIoSW4pMzAgYihzb21lKWcoY2FzZXMsKWkoQmFzaCkxNTAgMTE4MyB5KGFzc2lnbnMpZihhKWYKLShkZWZhdWx0KWgodiktNSBiKGFsdWUpMzEgYih0bylnKHRoZSlmKHYpLTUgYihhcmlhYmxlLikxNTAKLTEzNTUgeSBGcyhDRFBBVEgpMTkyIGIgRnQoQSkzOSBiKGNvbG9uLXNlcGFyYXRlZClpKGxpc3QpZShvZilnCi0oZGlyZWN0b3JpZXMpaCh1c2VkKWYoYXMpZyhhKWcoc2VhcmMpbShoKWgocGF0aCllKGZvciloKHRoZSlnCi1GcyhjZClmIEZ0KGJ1aWx0aW4pNjMwIDE0NjQgeShjb21tYW5kLikxNTAgMTYzMiB5IEZzKEhPTUUpMjg4Ci1iIEZ0KFRoZSkyMyBiKGN1cnJlbiltKHQpaCh1c2VyJ3MpZihob21lKWcoZGlyZWN0b3J5OylrKHRoZSlkKGRlZmF1bHQpZwotKGZvcilmKHRoZSloIEZzKGNkKWYgRnQoYnVpbHRpbilnKGNvbW1hbmQuKTM4IGIoVGhlKTYzMAotMTc0MiB5KHYpLTUgYihhbHVlKTM3IGIob2YpZih0aGlzKWcodiktNSBiKGFyaWFibGUpMzcKLWIoaXMpZyhhbHNvKWcodXNlZCllKGIpbSh5KWgodGlsZGUpaChleHBhbnNpb24pZihcKHNlZSlpKFNlY3Rpb24pZgotKDMuNS4yKWgoW1RpbGRlKTYzMCAxODUyIHkoRXhwYW5zaW9uXSwpMzAgYihwYWdlKWgoMTlcKS4pMTUwCi0yMDIwIHkgRnMoSUZTKTMzNiBiIEZ0KEEpMjUgYihsaXN0KWkob2YpZShjKW0oaGFyYWN0ZXJzKWkodGhhdClmCi0oc2VwYXJhdGUpZyhcMDE0ZWxkczspaCh1c2VkKWUod2hlbilmKHRoZSlpKHNoZWxsKWYoc3BsaXRzKWgodyltKG9yZHMpZQotKGFzKWkocGFydCk2MzAgMjEyOSB5KG9mKTMxIGIoZXhwYW5zaW9uLikxNTAgMjI5NyB5IEZzKE1BSUwpMjg4Ci1iIEZ0KElmKTI2IGIodGhpcylmKHBhcmFtZXRlcilpKGlzKWYoc2V0KWcodG8paChhKWcoXDAxNGxlbmFtZSlmKGFuZClmCi0odGhlKWggRnMoTUFJTFBBVEgpZSBGdCh2KS01IGIoYXJpYWJsZSkyNyBiKGlzKWYobm90KWcoc2V0LClpKEJhc2gpNjMwCi0yNDA3IHkoaW5mb3JtcylpKHRoZSlnKHVzZXIpZyhvZilnKHRoZSloKGFycml2KS01IGIoYWwpMzEKLWIob2YpZihtYWlsKWgoaW4pZih0aGUpaChzcClzKGVjaVwwMTRlZClmKFwwMTRsZS4pMTUwCi0yNTc1IHkgRnMoTUFJTFBBVEgpOTYgYiBGdChBKTMzIGIoY29sb24tc2VwYXJhdGVkKWkobGlzdClmKG9mKWYKLShcMDE0bGVuYW1lcyloKHdoaWMpbShoKWYodGhlKWcoc2hlbGwpZyhwKXMoZXJpbylzKGRpY2FsbHkpaChjKW0oaGVjKW0KLShrcylnKGZvcilmKG5ldyk2MzAgMjY4NCB5KG1haWwuKTYwIGIoRWFjKW0oaCkzNyBiKGxpc3QpZyhlbiltKHRyeSlnCi0oY2FuKWcoc3ApcyhlY2lmeSlmKHRoZSloKG1lc3NhZ2UpaCh0aGF0KWYoaXMpZyhwcmluKW0odGVkKWYod2hlbilmCi0obmV3KWgobWFpbCk2MzAgMjc5NCB5KGFycml2KW0oZXMpMjkgYihpbilnKHRoZSlnKG1haWwpZyhcMDE0bGUpZyhiKW0KLSh5KWcoc2VwYXJhdGluZylnKHRoZSlnKFwwMTRsZSlnKG5hbWUpZyhmcm9tKWYodGhlKWgobWVzc2FnZSloKHdpdGgpZQotKGEpaShgKXAgRnMoPylwIEZ0KCcuKTYzMCAyOTAzIHkoV2hlbilpKHVzZWQpZihpbiloKHRoZSlnKHRleHQpaShvZillCi0odGhlKWcobWVzc2FnZSwpaSBGcygkXyllIEZ0KGV4cGFuZHMpZih0bylpKHRoZSlmKG5hbWUpZyhvZiloKHRoZSlmCi0oY3VycmVuKW0odCk2MzAgMzAxMyB5KG1haWwpZihcMDE0bGUuKTE1MCAzMTgxIHkgRnMoT1BUQVJHKTE5MgotYiBGdChUaGUpMzAgYih2KS01IGIoYWx1ZSkzMSBiKG9mKWYodGhlKWgobGFzdClnKG9wdGlvbilnKGFyZ3VtZW4pbSh0KWcKLShwcm8pcyhjZXNzZWQpZihiKW0oeSlnKHRoZSlnIEZzKGdldG9wdHMpZiBGdChidWlsdGluLikxNTAKLTMzNDkgeSBGcyhPUFRJTkQpMTkyIGIgRnQoVGhlKTMwIGIoaW5kZXgpZyhvZilnKHRoZSloKGxhc3QpZyhvcHRpb24pZwotKGFyZ3VtZW4pbSh0KWcocHJvKXMoY2Vzc2VkKWYoYiltKHkpZyh0aGUpZyBGcyhnZXRvcHRzKWYKLUZ0KGJ1aWx0aW4uKTE1MCAzNTE3IHkgRnMoUEFUSCkyODggYiBGdChBKTMyIGIoY29sb24tc2VwYXJhdGVkKWkobGlzdClmCi0ob2YpZihkaXJlY3RvcmllcyloKGluKWUod2hpYyltKGgpaCh0aGUpZyhzaGVsbClnKGxvKXMob2tzKWgoZm9yKWYKLShjb21tYW5kcy4pNDUgYihBKTYzMCAzNjI2IHkoemVyby1sZW5ndGgpZShcKG4pbSh1bGxcKSlnKGRpcmVjdG9yeSlmCi0obmFtZSlnKGluKWcodGhlKWcodiktNSBiKGFsdWUpNDIgYihvZilnIEZzKFBBVEgpZiBGdChpbmRpY2F0ZXMpaSh0aGUpZgotKGN1cnJlbiltKHQpNjMwIDM3MzYgeShkaXJlY3RvcnkpLTggYiguKTQ5IGIoQSkzMyBiKG4pbSh1bGwpZgotKGRpcmVjdG9yeSlpKG5hbWUpZShtYSltKHkpaShhcHApcyhlYXIpZShhcyloKHQpbSh3KW0obyloKGFkamFjZW4pbSh0KWcKLShjb2xvbnMsKWcob3IpZihhcylnKGFuKTYzMCAzODQ2IHkoaW5pdGlhbClmKG9yKWUodHJhaWxpbmcpaChjb2xvbi4pMTUwCi00MDE0IHkgRnMoUFMxKTMzNiBiIEZ0KFRoZSkzNSBiKHByaW1hcnkpZihwcm9tcHQpaChzdHJpbmcuKTU1Ci1iKFRoZSkzNSBiKGRlZmF1bHQpaCh2KS01IGIoYWx1ZSkzNSBiKGlzKWgoYClwIEZzKFxccy1cXHZcXCQpMjgKLWIgRnQoJy4pNTYgYihTZWUpMzYgYihTZWN0aW9uKWcoNi45KTYzMCA0MTIzIHkoW1ByaW4pbSh0aW5nKTI4Ci1iKGEpZyhQcm9tcHRdLClnKHBhZ2UpaCg4MiwpZyhmb3IpZSh0aGUpaChjb21wbGV0ZSloKGxpc3QpZyhvZillKGVzY2FwKQotcyhlKWgoc2VxdWVuY2VzKWcodGhhdCloKGFyZSk2MzAgNDIzMyB5KGV4cGFuZGVkKWgoYilzKGVmb3JlKWcKLUZzKFBTMSlmIEZ0KGlzKWgoZGlzcGxhKW0oeSltKGVkLikxNTAgNDQwMSB5IEZzKFBTMikzMzYKLWIgRnQoVGhlKTMwIGIoc2Vjb25kYXJ5KWcocHJvbXB0KWcoc3RyaW5nLik0MSBiKFRoZSkyOQotYihkZWZhdWx0KWkodiktNSBiKGFsdWUpMzEgYihpcylmKGApcCBGcyg+KWcgRnQoJy4pMTUwCi00NjQ2IHkgRnIoNS4yKTY4IGIoQmFzaCk0NSBiKFYpLTExIGIoYXJpYWJsZXMpMTUwIDQ4MDUKLXkgRnQoVGhlc2UpNDUgYih2KS01IGIoYXJpYWJsZXMpNDYgYihhcmUpZyhzZXQpZyhvcilmKHVzZWQpZihiKW0oeSloCi0oQmFzaCwpNTAgYihidXQpNDQgYihvdGhlcilpKHNoZWxscylmKGRvKWgobm90KWYobm9ybWFsbHkpaCh0cmVhdClnCi0odGhlbSkxNTAgNDkxNSB5KHNwKXMoZWNpYWxseSktOCBiKC4pMjc1IDUwNTggeShBKTI0Ci1iKGZldylnKHYpLTUgYihhcmlhYmxlcykyNCBiKHVzZWQpZyhiKW0oeSlmKEJhc2gpaShhcmUpZihkZXNjcmliKXMoZWQpZgotKGluKWgoZGlcMDEzZXJlbiltKHQpZyhjKW0oaGFwdGVyczopMzggYih2KS01IGIoYXJpYWJsZXMpMjUKLWIoZm9yKWYoY29uKW0odHJvbGxpbmcpMTUwIDUxNjggeSh0aGUpMzEgYihqb2IpZihjb24pbSh0cm9sKWgKLShmYWNpbGl0aWVzKWkoXChzZWUpZShTZWN0aW9uKWcoNy4zKWgoW0pvYillKENvbiltKHRyb2wpaChWKS04Ci1iKGFyaWFibGVzXSwpMzIgYihwYWdlKWcoOTJcKS4pMTUwIDUzNDAgeSBGcyhCQVNIKTI4OAotYiBGdChUaGUpMzAgYihmdWxsKWcocGF0aG5hbWUpZyh1c2VkKWcodG8paChleGVjdXRlKWgodGhlKWUoY3VycmVuKW0odCkKLWcoaW5zdGFuY2UpaChvZilnKEJhc2guKXAgZW9wIGVuZAorVGVYRGljdCBiZWdpbiA2MSA2NiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNDopNDEKK2IoU2hlbGwpMzAgYihCdWlsdGluKWgoQ29tbWFuZHMpMjA2OSBiKDYxKTExMTAgMjk5IHkocmVzdWx0aW5nKTQwCitiKGxpbmUpZihpcyloKGxvYWRlZClnKGluKW0odG8pZyh0aGUpZyhSZWFkbGluZSlnKGVkaXRpbmcpZyhidVwwMTNlciwpaAorKGFsbG8pbSh3aW5nKTExMTAgNDA4IHkoZnVydGhlcikyOSBiKG1vKXMoZGlcMDE0Y2F0aW9uLik2MzAKKzU2NCB5IEZzKGhvc3Rjb21wbGV0ZSkxMTEwIDY3MyB5IEZ0KElmKTM4IGIoc2V0LClqKGFuZCljKFJlYWRsaW5lKWkoaXMpCitmKGIpcyhlaW5nKWcodXNlZCwpaChCYXNoKWcod2lsbClmKGF0dGVtcHQpaCh0bylnKHApcyhlcmZvcm0pMTExMAorNzgzIHkoaG9zdG5hbWUpZChjb21wbGV0aW9uKWgod2hlbillKGEpaCh3KW0ob3JkKWYoY29uKW0odGFpbmluZylpKGEpZgorKGApcCBGcyhAKXAgRnQoJylnKGlzKWcoYilzKGVpbmcpZihjb20tKTExMTAgODkyIHkocGxldGVkKWcoXChzZWUpaAorKFNlY3Rpb24pZig4LjQuNilpKFtDb21tYW5kcylkKEYpLTggYihvcikzNiBiKENvbXBsZXRpb25dLClnKHBhZ2UpZworKDExMlwpLikxMTEwIDEwMDIgeShUaGlzKTMwIGIob3B0aW9uKWcoaXMpaChlbmFibGVkKWYoYiltKHkpZyhkZWZhdWx0LikKKzYzMCAxMTU3IHkgRnMoaHVwb25leGl0KTExMTAgMTI2NyB5IEZ0KElmKWkoc2V0LClpKEJhc2gpZih3aWxsKWgoc2VuZClkCitGcyhTSUdIVVApaCBGdCh0byloKGFsbCloKGpvYnMpZSh3aGVuKWcoYW4pZyhpbiltKHRlcmFjdGl2KW0oZSlrKGxvZ2luKQorMTExMCAxMzc3IHkoc2hlbGwpMzEgYihleGl0cylnKFwoc2VlKWcoU2VjdGlvbilnKDMuNy42KWgoW1NpZ25hbHNdLClnCisocGFnZSlmKDM0XCkuKTYzMCAxNTMyIHkgRnMoaW50ZXJhY3RpdmVfY29tbWVudHMpMTExMAorMTY0MSB5IEZ0KEFsbG8pbSh3KWMoYSlnKHcpbShvcmQpZShiKXMoZWdpbm5pbmcpZyh3aXRoKWgoYClwCitGcygjKXAgRnQoJylnKHRvKWgoY2F1c2UpZih0aGF0KWgodyltKG9yZClmKGFuZClmKGFsbClpKHJlbWFpbi0pMTExMAorMTc1MSB5KGluZyk0MSBiKGMpbShoYXJhY3RlcnMpaShvbillKHRoYXQpaChsaW5lKWcodG8pZyhiKXMoZSlmCisoaWdub3JlZClnKGluKWcoYW4pZyhpbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsLikxMTEwCisxODYxIHkoVGhpcykzMCBiKG9wdGlvbilnKGlzKWgoZW5hYmxlZClmKGIpbSh5KWcoZGVmYXVsdC4pNjMwCisyMDE2IHkgRnMobGFzdHBpcGUpOTYgYiBGdChJZikyNCBiKHNldCwpaShhbmQpZShqb2IpZyhjb24pbSh0cm9sKWkoaXMpZgorKG5vdClmKGFjdGl2KW0oZSwpayh0aGUpZChzaGVsbClmKHJ1bnMpZih0aGUpaShsYXN0KWcoY29tbWFuZCkxMTEwCisyMTI1IHkob2YpMzcgYihhKWgocGlwKXMoZWxpbmUpZShub3QpaChleGVjdXRlZCloKGluKWYodGhlKWcoYmFjKW0KKyhrZ3JvdW5kKWcoaW4pZyh0aGUpZyhjdXJyZW4pbSh0KWcoc2hlbGwpMTExMCAyMjM1IHkoZW4pbSh2aXJvbm1lbiltCisodC4pNjMwIDIzOTAgeSBGcyhsaXRoaXN0KTE0NCBiIEZ0KElmKTIyIGIoZW5hYmxlZCwpaShhbmQpZCh0aGUpaAorRnMoY21kaGlzdCllIEZ0KG9wdGlvbilqKGlzKWYoZW5hYmxlZCwpaShtKW0odWx0aS1saW5lKWYoY29tbWFuZHMpMTExMAorMjUwMCB5KGFyZSkyOCBiKHNhKW0odiltKGVkKWgodG8pZyh0aGUpZihoaXN0b3J5KWcod2l0aClmKGVtKW0oYilzCisoZWRkZWQpZyhuZXdsaW5lcyloKHJhdGhlcilnKHRoYW4pZih1c2luZykxMTEwIDI2MDkgeShzZW1pY29sb24pMzIKK2Ioc2VwYXJhdG9ycylmKHdoZXJlKWUocClzKG9zc2libGUuKTYzMCAyNzY1IHkgRnMobG9naW5fc2hlbGwpMTExMAorMjg3NCB5IEZ0KFRoZSkzNSBiKHNoZWxsKWgoc2V0cylnKHRoaXMpZihvcHRpb24paChpZilnKGl0KWcoaXMpZgorKHN0YXJ0ZWQpaChhcylnKGEpZyhsb2dpbilnKHNoZWxsKWcoXChzZWUpZyhTZWMtKTExMTAKKzI5ODQgeSh0aW9uKTI5IGIoNi4xKWcoW0luKW0odiltKG9raW5nKWgoQmFzaF0sKWYocGFnZSlnKDczXCkuKTQxCitiKFRoZSkyOCBiKHYpLTUgYihhbHVlKTI5IGIobWEpbSh5KWcobm90KWYoYilzKGUpZyhjKW0oaGFuZ2VkLik2MzAKKzMxMzkgeSBGcyhtYWlsd2Fybik5NiBiIEZ0KElmKTM0IGIoc2V0LClpKGFuZCllKGEpaChcMDE0bGUpZyh0aGF0KWcKKyhCYXNoKWYoaXMpaChjKW0oaGVjKW0oa2luZyloKGZvcilmKG1haWwpZyhoYXMpZihiKXMoZWVuKWcoYWNjZXNzZWQpCisxMTEwIDMyNDkgeShzaW5jZSkyNCBiKHRoZSloKGxhc3QpZyh0aW1lKWYoaXQpaCh3KW0oYXMpZihjKW0oaGVjKW0oayltCisoZWQsKWsodGhlKWMobWVzc2FnZSloIEZzKCJUaGUpayhtYWlsKWgoaW4pZiBGaShtYWlsLSkxMTEwCiszMzU4IHkoZmlsZSk0MCBiIEZzKGhhcykyOSBiKGJlZW4pZyhyZWFkIilnIEZ0KGlzKWkoZGlzcGxhKW0oeSltKGVkLikKKzYzMCAzNTEzIHkgRnMobm9fZW1wdHlfY21kX2NvbXBsZXRpb24pMTExMCAzNjIzIHkgRnQoSWYpZihzZXQsKWcoYW5kKWcKKyhSZWFkbGluZSlnKGlzKWgoYilzKGVpbmcpZSh1c2VkLCloKEJhc2gpZyh3aWxsKWcobm90KWcoYXR0ZW1wdClpKHRvKWUKKyhzZWFyYyltKGgpMTExMCAzNzMzIHkodGhlKTI1IGIgRnMoUEFUSClmIEZ0KGZvciloKHApcyhvc3NpYmxlKWYKKyhjb21wbGV0aW9ucylqKHdoZW4pZChjb21wbGV0aW9uKWkoaXMpZihhdHRlbXB0ZWQpaChvbikxMTEwCiszODQyIHkoYW4payhlbXB0KW0oeSloKGxpbmUuKTYzMCAzOTk4IHkgRnMobm9jYXNlZ2xvYikxMTEwCis0MTA3IHkgRnQoSWYpMzggYihzZXQsKWsoQmFzaClkKG1hdGMpbShoZXMpZyhcMDE0bGVuYW1lcylnKGluKWYoYSloCisoY2FzZS1pbnNlbnNpdGl2KW0oZSlqKGZhc2hpb24pYyh3aGVuKTExMTAgNDIxNyB5KHApcyhlcmZvcm1pbmcpMjkKK2IoXDAxNGxlbmFtZSlpKGV4cGFuc2lvbi4pNjMwIDQzNzIgeSBGcyhub2Nhc2VtYXRjaCkxMTEwCis0NDgyIHkgRnQoSWYpNDIgYihzZXQsKWsoQmFzaClkKG1hdGMpbShoZXMpZyhwYXR0ZXJucylnKGluKWYoYSloCisoY2FzZS1pbnNlbnNpdGl2KW0oZSlpKGZhc2hpb24pZCh3aGVuKTExMTAgNDU5MSB5KHApcyhlcmZvcm1pbmcpMzEKK2IobWF0YyltKGhpbmcpaSh3aGlsZSlmKGV4ZWN1dGluZylpIEZzKGNhc2UpZCBGdChvciloCitGcyhbWylnIEZ0KGNvbmRpdGlvbmFsKWgoY29tLSkxMTEwIDQ3MDEgeShtYW5kcy4pNjMwCis0ODU2IHkgRnMobnVsbGdsb2IpOTYgYiBGdChJZikyMyBiKHNldCwpaihCYXNoKWUoYWxsbyltKHdzKWcKKyhcMDE0bGVuYW1lKWcocGF0dGVybnMpZyh3aGljKW0oaClmKG1hdGMpbShoKWgobm8pZyhcMDE0bGVzKWYodG8paQorKGV4cGFuZCkxMTEwIDQ5NjYgeSh0bykzMSBiKGEpZyhuKW0odWxsKWYoc3RyaW5nLCloKHJhdGhlcilmKHRoYW4pZworKHRoZW1zZWx2KW0oZXMuKTYzMCA1MTIxIHkgRnMocHJvZ2NvbXApOTYgYiBGdChJZikyNQorYihzZXQsKWkodGhlKWYocHJvZ3JhbW1hYmxlKWcoY29tcGxldGlvbilnKGZhY2lsaXRpZXMpaShcKHNlZSlmCisoU2VjdGlvbilmKDguNiloKFtQcm8tKTExMTAgNTIzMCB5KGdyYW1tYWJsZSk0NSBiKENvbXBsZXRpb25dLClrKHBhZ2UpYworKDExN1wpKWgoYXJlKWYoZW5hYmxlZC4pODIgYihUaGlzKTQ0IGIob3B0aW9uKWgoaXMpMTExMAorNTM0MCB5KGVuYWJsZWQpMzAgYihiKW0oeSloKGRlZmF1bHQuKXAgZW9wIGVuZAogJSVQYWdlOiA2MiA2OAogVGVYRGljdCBiZWdpbiA2MiA2NyBib3AgMTUwIC0xMTYgYSBGdCg2MikyNTcyIGIoQmFzaCkzMQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKHByb21wdHZhcnMpMTExMAorNDA4IHkgRnQoSWYpMjQgYihzZXQsKWkocHJvbXB0KWQoc3RyaW5ncyloKHVuZGVyZ28pZihwYXJhbWV0ZXIpaQorKGV4cGFuc2lvbiwpZyhjb21tYW5kKWYoc3ViLSkxMTEwIDUxOCB5KHN0aXR1dGlvbiwpMzQKK2IoYXJpdGhtZXRpYylmKGV4cGFuc2lvbiwpZyhhbmQpZShxdW90ZSlpKHJlbW8pbSh2KS01CitiKGFsKTMzIGIoYWZ0ZXIpZyhiKXMoZWluZyllKGV4LSkxMTEwIDYyOCB5KHBhbmRlZCkzOQorYihhcylpKGRlc2NyaWIpcyhlZCllKGIpcyhlbG8pbSh3KWkoXChzZWUpZyhTZWN0aW9uKWcoNi45KWcoW1ByaW4pbQorKHRpbmcpZyhhKWcoUHJvbXB0XSwpMTExMCA3MzcgeShwYWdlKTMxIGIoODRcKS4pNDIgYihUaGlzKTMwCitiKG9wdGlvbilnKGlzKWgoZW5hYmxlZClmKGIpbSh5KWcoZGVmYXVsdC4pNjMwIDg5NyB5CitGcyhyZXN0cmljdGVkX3NoZWxsKTExMTAgMTAwNiB5IEZ0KFRoZSk0MCBiKHNoZWxsKWgoc2V0cylnKHRoaXMpZworKG9wdGlvbilnKGlmKWcoaXQpaChpcyllKHN0YXJ0ZWQpaShpbillKHJlc3RyaWN0ZWQpaShtbylzKGRlKWUoXChzZWUpCisxMTEwIDExMTYgeShTZWN0aW9uKWMoNi4xMClnKFtUaGUpZihSZXN0cmljdGVkKWcoU2hlbGxdLClpKHBhZ2UpZQorKDg2XCkuKTU2IGIoVGhlKTM0IGIodiktNSBiKGFsdWUpMzUgYihtYSltKHkpaChub3QpMTExMAorMTIyNSB5KGIpcyhlKWMoYyltKGhhbmdlZC4pNDkgYihUaGlzKTMyIGIoaXMpaChub3QpaChyZXNldClmKHdoZW4pZgorKHRoZSloKHN0YXJ0dXApZyhcMDE0bGVzKWYoYXJlKWkoZXhlY3V0ZWQsKTExMTAgMTMzNQoreShhbGxvKW0od2luZylrKHRoZSllKHN0YXJ0dXApZihcMDE0bGVzKWgodG8pZyhkaXNjbyltKHYpbShlciloCisod2hldGhlcilmKG9yKWYobm90KWkoYSlmKHNoZWxsKWcoaXMpZyhyZS0pMTExMCAxNDQ1Cit5KHN0cmljdGVkLik2MzAgMTYwNCB5IEZzKHNoaWZ0X3ZlcmJvc2UpMTExMCAxNzE0IHkgRnQoSWYpZyh0aGlzKWcoaXMpZworKHNldCwpaih0aGUpZCBGcyhzaGlmdClmIEZ0KGJ1aWx0aW4paChwcmluKW0odHMpZihhbiloKGVycm9yKWcobWVzc2FnZSkKK2kod2hlbilkKHRoZSkxMTEwIDE4MjMgeShzaGlmdCkzMCBiKGNvdW4pbSh0KWgoZXhjZWVkcylnKHRoZSlnKG4pbSh1bSltCisoYilzKGVyKWUob2YpaChwKXMob3NpdGlvbmFsKWkocGFyYW1ldGVycy4pNjMwIDE5ODMgeQorRnMoc291cmNlcGF0aCkxMTEwIDIwOTIgeSBGdChJZikyMiBiKHNldCwpaih0aGUpZSBGcyhzb3VyY2UpZQorRnQoYnVpbHRpbiloKHVzZXMpZyh0aGUpaCh2KS01IGIoYWx1ZSkyMyBiKG9mKWcgRnMoUEFUSCllCitGdCh0bylqKFwwMTRuZClkKHRoZSloKGRpcmVjdG9yeSkxMTEwIDIyMDIgeShjb24pbSh0YWluaW5nKTI5CitiKHRoZSllKFwwMTRsZSloKHN1cHBsaWVkKWUoYXMpaChhbilnKGFyZ3VtZW4pbSh0Lik0MAorYihUaGlzKTI3IGIob3B0aW9uKWgoaXMpZihlbmFibGVkKTExMTAgMjMxMSB5KGIpbSh5KWooZGVmYXVsdC4pNjMwCisyNDcxIHkgRnMoeHBnX2VjaG8pOTYgYiBGdChJZikzMSBiKHNldCwpaCh0aGUpZyBGcyhlY2hvKWUKK0Z0KGJ1aWx0aW4paChleHBhbmRzKWYoYmFjKW0oa3NsYXNoLWVzY2FwKXMoZSlqKHNlcXVlbmNlcylmKGIpbSh5KWYKKyhkZS0pMTExMCAyNTgwIHkoZmF1bHQuKTYzMCAyNzQwIHkoVGhlKWMocmV0dXJuKWYoc3RhdHVzKWkod2hlbilmCisobGlzdGluZyloKG9wdGlvbnMpZyhpcylmKHplcm8paShpZillKGFsbClpIEZxKG9wdG5hbWVzKWkKK0Z0KGFyZSlkKGVuYWJsZWQsKWcobm9uLSk2MzAgMjg0OSB5KHplcm8pNDAgYihvdGhlcndpc2UuKTY2CitiKFdoZW4pMzkgYihzZXR0aW5nKWgob3IpZih1bnNldHRpbmcpZyhvcHRpb25zLClpKHRoZSllKHJldHVybilmCisoc3RhdHVzKWgoaXMpZyh6ZXJvKTYzMCAyOTU5IHkodW5sZXNzKTMwIGIoYW4pZyBGcShvcHRuYW1lKTM2CitiIEZ0KGlzKTMwIGIobm90KWgoYSlnKHYpLTUgYihhbGlkKTMwIGIoc2hlbGwpaChvcHRpb24uKTE1MAorMzE5MSB5IEZyKDQuNCk2OCBiKFNwKXQoZWNpYWwpNDUgYihCdWlsdGlucykxNTAgMzM1MQoreSBGdChGKS04IGIob3IpMzUgYihoaXN0b3JpY2FsKWgocmVhc29ucywpZyh0aGUpZSBGbChwb3NpeClnCitGdChzdGFuZGFyZClmKGhhcylpKGNsYXNzaVwwMTRlZClmKHNldiltKGVyYWwpaShidWlsdGluKWUoY29tbWFuZHMpZworKGFzKWggRmsoc3ApLTUgYihlLSkxNTAgMzQ2MCB5KGNpYWwpcCBGdCguKTQ3IGIoV2hlbikzMworYihCYXNoKWYoaXMpaChleGVjdXRpbmcpZyhpbilmIEZsKHBvc2l4KWcgRnQobW8pcyhkZSwpaCh0aGUpZyhzcClzCisoZWNpYWwpZyhidWlsdGlucyllKGRpXDAxM2VyKWkoZnJvbSlmKG90aGVyKWcoYnVpbHRpbikxNTAKKzM1NzAgeShjb21tYW5kcyllKGluKWcodGhyZWUpaChyZXNwKXMoZWN0czopMTk5IDM3MDQKK3koMS4pNjEgYihTcClzKGVjaWFsKTMxIGIoYnVpbHRpbnMpZShhcmUpaShmb3VuZCllKGIpcyhlZm9yZSloKHNoZWxsKWgKKyhmdW5jdGlvbnMpZihkdXJpbmcpZihjb21tYW5kKWgobG8pcyhva3VwLikxOTkgMzgzOSB5KDIuKTYxCitiKElmKTMwIGIoYSloKHNwKXMoZWNpYWwpZyhidWlsdGluKWYocmV0dXJucylmKGFuKWgoZXJyb3IpZyhzdGF0dXMsKWgKKyhhKWcobm9uLWluKW0odGVyYWN0aXYpbShlKWkoc2hlbGwpZChleGl0cy4pMTk5IDM5NzMKK3koMy4pNjEgYihBc3NpZ25tZW4pbSh0KTMwIGIoc3RhdGVtZW4pbSh0cyloKHByZWNlZGluZylmKHRoZSlmKGNvbW1hbmQpCitnKHN0YSltKHkpaShpbillKGVcMDEzZWN0KWkoaW4pZSh0aGUpaChzaGVsbClmKGVuKW0odmlyb25tZW4pbSh0KTMzMAorNDA4MyB5KGFmdGVyKWkodGhlKWYoY29tbWFuZCloKGNvbXBsZXRlcy4pMjc1IDQyNDIgeShXaGVuKTM2CitiKEJhc2gpZyhpcyloKG5vdClmKGV4ZWN1dGluZylpKGluKWUgRmwocG9zaXgpZiBGdChtbylzKGRlLClqKHRoZXNlKWYKKyhidWlsdGlucylmKGIpcyhlaGEpbSh2KW0oZSloKG5vKWYoZGlcMDEzZXJlbiltKHRseSloKHRoYW4pMTUwCis0MzUyIHkodGhlKTMxIGIocmVzdClmKG9mKWgodGhlKWYoQmFzaCloKGJ1aWx0aW4pZShjb21tYW5kcy4pNDEKK2IoVGhlKTMwIGIoQmFzaClnIEZsKHBvc2l4KWcgRnQobW8pcyhkZSlnKGlzKWcoZGVzY3JpYilzKGVkKWYoaW4paAorKFNlY3Rpb24paCg2LjExKTE1MCA0NDYyIHkoW0Jhc2gpZyhQT1NJWCllKE1vKXMoZGVdLClpKHBhZ2UpZyg4Ni4pMjc1Cis0NTk2IHkoVGhlc2UpZihhcmUpZyh0aGUpaCBGbChwb3NpeClmIEZ0KHNwKXMoZWNpYWwpaChidWlsdGluczopMzkwCis0NzMxIHkgRnMoYnJlYWspNDYgYig6KWkoLilmKGNvbnRpbnVlKWYoZXZhbClnKGV4ZWMpaChleGl0KWcoZXhwb3J0KWYKKyhyZWFkb25seSlmKHJldHVybiloKHNldCkzOTAgNDg0MCB5KHNoaWZ0KWcodHJhcCloKHVuc2V0KXAKK2VvcCBlbmQKKyUlUGFnZTogNjMgNjkKK1RlWERpY3QgYmVnaW4gNjMgNjggYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDU6KTQxCitiKFNoZWxsKTMwIGIoViktOCBiKGFyaWFibGVzKTI0NTkgYig2MykxNTAgMjk5IHkgRm8oNSk4MAorYihTaGVsbCk1MyBiKFYpLTEzIGIoYXJpYWJsZXMpMTUwIDU0MSB5IEZ0KFRoaXMpMjEgYihjKW0oaGFwdGVyKWkKKyhkZXNjcmliKXMoZXMpZSh0aGUpaShzaGVsbClmKHYpLTUgYihhcmlhYmxlcykyMyBiKHRoYXQpZihCYXNoKWgodXNlcy4pCiszNyBiKEJhc2gpMjMgYihhdXRvbWF0aWNhbGx5KWgoYXNzaWducylmKGRlZmF1bHQpMTUwCis2NTEgeSh2KS01IGIoYWx1ZXMpMzEgYih0bylnKGEpZyhuKW0odW0pbShiKXMoZXIpZShvZiloKHYpLTUKK2IoYXJpYWJsZXMuKTE1MCA4ODggeSBGcig1LjEpNjggYihCb3VybmUpNDUgYihTaGVsbClnKFYpLTExCitiKGFyaWFibGVzKTE1MCAxMDQ3IHkgRnQoQmFzaCkzMCBiKHVzZXMpZyhjZXJ0YWluKWgoc2hlbGwpZyh2KS01CitiKGFyaWFibGVzKTMxIGIoaW4pZih0aGUpZyhzYW1lKWgodyltKGEpbSh5KWcoYXMpZyh0aGUpZihCb3VybmUpZworKHNoZWxsLik0MSBiKEluKTMwIGIoc29tZSlnKGNhc2VzLClpKEJhc2gpMTUwIDExNTcgeShhc3NpZ25zKWYoYSlmCisoZGVmYXVsdCloKHYpLTUgYihhbHVlKTMxIGIodG8pZyh0aGUpZih2KS01IGIoYXJpYWJsZS4pMTUwCisxMzIwIHkgRnMoQ0RQQVRIKTE5MiBiIEZ0KEEpMzkgYihjb2xvbi1zZXBhcmF0ZWQpaShsaXN0KWUob2YpZworKGRpcmVjdG9yaWVzKWgodXNlZClmKGFzKWcoYSlnKHNlYXJjKW0oaCloKHBhdGgpZShmb3IpaCh0aGUpZworRnMoY2QpZiBGdChidWlsdGluKTYzMCAxNDMwIHkoY29tbWFuZC4pMTUwIDE1OTIgeSBGcyhIT01FKTI4OAorYiBGdChUaGUpMjMgYihjdXJyZW4pbSh0KWgodXNlcidzKWYoaG9tZSlnKGRpcmVjdG9yeTspayh0aGUpZChkZWZhdWx0KWcKKyhmb3IpZih0aGUpaCBGcyhjZClmIEZ0KGJ1aWx0aW4pZyhjb21tYW5kLikzOCBiKFRoZSk2MzAKKzE3MDIgeSh2KS01IGIoYWx1ZSkzNyBiKG9mKWYodGhpcylnKHYpLTUgYihhcmlhYmxlKTM3CitiKGlzKWcoYWxzbylnKHVzZWQpZShiKW0oeSloKHRpbGRlKWgoZXhwYW5zaW9uKWYoXChzZWUpaShTZWN0aW9uKWYKKygzLjUuMiloKFtUaWxkZSk2MzAgMTgxMSB5KEV4cGFuc2lvbl0sKTMwIGIocGFnZSloKDIwXCkuKTE1MAorMTk3MyB5IEZzKElGUykzMzYgYiBGdChBKTI1IGIobGlzdClpKG9mKWUoYyltKGhhcmFjdGVycylpKHRoYXQpZgorKHNlcGFyYXRlKWcoXDAxNGVsZHM7KWgodXNlZCllKHdoZW4pZih0aGUpaShzaGVsbClmKHNwbGl0cyloKHcpbShvcmRzKWUKKyhhcylpKHBhcnQpNjMwIDIwODMgeShvZikzMSBiKGV4cGFuc2lvbi4pMTUwIDIyNDUgeSBGcyhNQUlMKTI4OAorYiBGdChJZik0NCBiKHRoaXMpZyhwYXJhbWV0ZXIpaChpcylnKHNldClnKHRvKWcoYSlmKFwwMTRsZW5hbWUpaChvcilmCisoZGlyZWN0b3J5KWgobmFtZSlnKGFuZClmKHRoZSlnIEZzKE1BSUxQQVRIKTYzMCAyMzU1Cit5IEZ0KHYpLTUgYihhcmlhYmxlKTMyIGIoaXMpZShub3QpaChzZXQsKWgoQmFzaClmKGluZm9ybXMpZih0aGUpaCh1c2VyKQorZihvZiloKHRoZSlnKGFycml2KS01IGIoYWwpMzEgYihvZilnKG1haWwpZyhpbilnKHRoZSlnKHNwKXMoZWNpXDAxNGVkKQorNjMwIDI0NjQgeShcMDE0bGUpZihvciloKE1haWxkaXItZm9ybWF0KWcoZGlyZWN0b3J5KS04CitiKC4pMTUwIDI2MjcgeSBGcyhNQUlMUEFUSCk5NiBiIEZ0KEEpMzMgYihjb2xvbi1zZXBhcmF0ZWQpaShsaXN0KWYob2YpZgorKFwwMTRsZW5hbWVzKWgod2hpYyltKGgpZih0aGUpZyhzaGVsbClnKHApcyhlcmlvKXMoZGljYWxseSloKGMpbShoZWMpbQorKGtzKWcoZm9yKWYobmV3KTYzMCAyNzM2IHkobWFpbC4pNjAgYihFYWMpbShoKTM3IGIobGlzdClnKGVuKW0odHJ5KWcKKyhjYW4pZyhzcClzKGVjaWZ5KWYodGhlKWgobWVzc2FnZSloKHRoYXQpZihpcylnKHByaW4pbSh0ZWQpZih3aGVuKWYKKyhuZXcpaChtYWlsKTYzMCAyODQ2IHkoYXJyaXYpbShlcykyOSBiKGluKWcodGhlKWcobWFpbClnKFwwMTRsZSlnKGIpbQorKHkpZyhzZXBhcmF0aW5nKWcodGhlKWcoXDAxNGxlKWcobmFtZSlnKGZyb20pZih0aGUpaChtZXNzYWdlKWgod2l0aCllCisoYSlpKGApcCBGcyg/KXAgRnQoJy4pNjMwIDI5NTUgeShXaGVuKWkodXNlZClmKGluKWgodGhlKWcodGV4dClpKG9mKWUKKyh0aGUpZyhtZXNzYWdlLClpIEZzKCRfKWUgRnQoZXhwYW5kcylmKHRvKWkodGhlKWYobmFtZSlnKG9mKWgodGhlKWYKKyhjdXJyZW4pbSh0KTYzMCAzMDY1IHkobWFpbClmKFwwMTRsZS4pMTUwIDMyMjcgeSBGcyhPUFRBUkcpMTkyCitiIEZ0KFRoZSkzMCBiKHYpLTUgYihhbHVlKTMxIGIob2YpZih0aGUpaChsYXN0KWcob3B0aW9uKWcoYXJndW1lbiltKHQpZworKHBybylzKGNlc3NlZClmKGIpbSh5KWcodGhlKWcgRnMoZ2V0b3B0cylmIEZ0KGJ1aWx0aW4uKTE1MAorMzM4OSB5IEZzKE9QVElORCkxOTIgYiBGdChUaGUpMzAgYihpbmRleClnKG9mKWcodGhlKWgobGFzdClnKG9wdGlvbilnCisoYXJndW1lbiltKHQpZyhwcm8pcyhjZXNzZWQpZihiKW0oeSlnKHRoZSlnIEZzKGdldG9wdHMpZgorRnQoYnVpbHRpbi4pMTUwIDM1NTIgeSBGcyhQQVRIKTI4OCBiIEZ0KEEpMzIgYihjb2xvbi1zZXBhcmF0ZWQpaShsaXN0KWYKKyhvZilmKGRpcmVjdG9yaWVzKWgoaW4pZSh3aGljKW0oaCloKHRoZSlnKHNoZWxsKWcobG8pcyhva3MpaChmb3IpZgorKGNvbW1hbmRzLik0NSBiKEEpNjMwIDM2NjEgeSh6ZXJvLWxlbmd0aCllKFwobiltKHVsbFwpKWcoZGlyZWN0b3J5KWYKKyhuYW1lKWcoaW4pZyh0aGUpZyh2KS01IGIoYWx1ZSk0MiBiKG9mKWcgRnMoUEFUSClmIEZ0KGluZGljYXRlcylpKHRoZSlmCisoY3VycmVuKW0odCk2MzAgMzc3MSB5KGRpcmVjdG9yeSktOCBiKC4pNDkgYihBKTMzIGIobiltKHVsbClmCisoZGlyZWN0b3J5KWkobmFtZSllKG1hKW0oeSlpKGFwcClzKGVhcillKGFzKWgodCltKHcpbShvKWgoYWRqYWNlbiltKHQpZworKGNvbG9ucywpZyhvcilmKGFzKWcoYW4pNjMwIDM4ODAgeShpbml0aWFsKWYob3IpZSh0cmFpbGluZyloKGNvbG9uLikxNTAKKzQwNDIgeSBGcyhQUzEpMzM2IGIgRnQoVGhlKTM1IGIocHJpbWFyeSlmKHByb21wdCloKHN0cmluZy4pNTUKK2IoVGhlKTM1IGIoZGVmYXVsdCloKHYpLTUgYihhbHVlKTM1IGIoaXMpaChgKXAgRnMoXFxzLVxcdlxcJCkyOAorYiBGdCgnLik1NiBiKFNlZSkzNiBiKFNlY3Rpb24pZyg2LjkpNjMwIDQxNTIgeShbUHJpbiltKHRpbmcpMjgKK2IoYSlnKFByb21wdF0sKWcocGFnZSloKDg0LClnKGZvcillKHRoZSloKGNvbXBsZXRlKWgobGlzdClnKG9mKWUoZXNjYXApCitzKGUpaChzZXF1ZW5jZXMpZyh0aGF0KWgoYXJlKTYzMCA0MjYyIHkoZXhwYW5kZWQpaChiKXMoZWZvcmUpZworRnMoUFMxKWYgRnQoaXMpaChkaXNwbGEpbSh5KW0oZWQuKTE1MCA0NDI0IHkgRnMoUFMyKTMzNgorYiBGdChUaGUpMzAgYihzZWNvbmRhcnkpZyhwcm9tcHQpZyhzdHJpbmcuKTQxIGIoVGhlKTI5CitiKGRlZmF1bHQpaSh2KS01IGIoYWx1ZSkzMSBiKGlzKWYoYClwIEZzKD4pZyBGdCgnLikxNTAKKzQ2NjEgeSBGcig1LjIpNjggYihCYXNoKTQ1IGIoViktMTEgYihhcmlhYmxlcykxNTAgNDgyMAoreSBGdChUaGVzZSk0NSBiKHYpLTUgYihhcmlhYmxlcyk0NiBiKGFyZSlnKHNldClnKG9yKWYodXNlZClmKGIpbSh5KWgKKyhCYXNoLCk1MCBiKGJ1dCk0NCBiKG90aGVyKWkoc2hlbGxzKWYoZG8paChub3QpZihub3JtYWxseSloKHRyZWF0KWcKKyh0aGVtKTE1MCA0OTI5IHkoc3ApcyhlY2lhbGx5KS04IGIoLikyNzUgNTA2NyB5KEEpMjQKK2IoZmV3KWcodiktNSBiKGFyaWFibGVzKTI0IGIodXNlZClnKGIpbSh5KWYoQmFzaClpKGFyZSlmKGRlc2NyaWIpcyhlZClmCisoaW4paChkaVwwMTNlcmVuKW0odClnKGMpbShoYXB0ZXJzOikzOCBiKHYpLTUgYihhcmlhYmxlcykyNQorYihmb3IpZihjb24pbSh0cm9sbGluZykxNTAgNTE3NiB5KHRoZSkzMSBiKGpvYilmKGNvbiltKHRyb2wpaAorKGZhY2lsaXRpZXMpaShcKHNlZSllKFNlY3Rpb24pZyg3LjMpaChbSm9iKWUoQ29uKW0odHJvbCloKFYpLTgKK2IoYXJpYWJsZXNdLCkzMiBiKHBhZ2UpZyg5NFwpLikxNTAgNTM0MCB5IEZzKEJBU0gpMjg4CitiIEZ0KFRoZSkzMCBiKGZ1bGwpZyhwYXRobmFtZSlnKHVzZWQpZyh0byloKGV4ZWN1dGUpaCh0aGUpZShjdXJyZW4pbSh0KQorZyhpbnN0YW5jZSloKG9mKWcoQmFzaC4pcCBlb3AgZW5kCislJVBhZ2U6IDY0IDcwCitUZVhEaWN0IGJlZ2luIDY0IDY5IGJvcCAxNTAgLTExNiBhIEZ0KDY0KTI1NzIgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoQkFTSE9QVFMpOTYgYiBGdChBKTMxCiBiKGNvbG9uLXNlcGFyYXRlZCloKGxpc3QpZihvZilnKGVuYWJsZWQpZihzaGVsbCloKG9wdGlvbnMuKTQxCiBiKEVhYyltKGgpMzEgYih3KW0ob3JkKWYoaW4pZyh0aGUpaChsaXN0KWcoaXMpZyhhKWcodiktNQogYihhbGlkKTYzMCA0MDggeShhcmd1bWVuKW0odCkzMyBiKGZvcilnKHRoZSlmKGApcCBGcygtcylwCiBGdCgnKWgob3B0aW9uKWcodG8pZyh0aGUpZyBGcyhzaG9wdCllIEZ0KGJ1aWx0aW4paShjb21tYW5kKWYoXChzZWUpaQotKFNlY3Rpb24pZig0LjMuMik2MzAgNTE4IHkoW1RoZSlqKFNob3B0KWcoQnVpbHRpbl0sKWkocGFnZSlmKDU1XCkuKTYwCisoU2VjdGlvbilmKDQuMy4yKTYzMCA1MTggeShbVGhlKWooU2hvcHQpZyhCdWlsdGluXSwpaShwYWdlKWYoNTdcKS4pNjAKIGIoVGhlKTM2IGIob3B0aW9ucyloKGFwcClzKGVhcmluZylmKGluKWcgRnMoQkFTSE9QVFMpZQogRnQoYXJlKWkodGhvc2UpNjMwIDYyOCB5KHJlcClzKG9ydGVkKWUoYXMpaChgKXAgRnMob24pcAogRnQoJylmKGIpbSh5KWgoYClwIEZzKHNob3B0KXAgRnQoJy4pNTMgYihJZikzNCBiKHRoaXMpZyh2KS01CkBAIC05MTU3LDIwICs5MzQyLDIwIEBACiA3MzcgeShzdGFydHMpMjUgYih1cCwpZihlYWMpbShoKWkoc2hlbGwpZShvcHRpb24paChpbillKHRoZSlpKGxpc3QpZwogKHdpbGwpZihiKXMoZSlnKGVuYWJsZWQpZyhiKXMoZWZvcmUpZyhyZWFkaW5nKWcoYW4pbSh5KWcoc3RhcnR1cCk2MzAKIDg0NyB5KFwwMTRsZXMuKTQxIGIoVGhpcykyOSBiKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZyhyZWFkb25seSktOAotYiguKTE1MCA5OTggeSBGcyhCQVNIUElEKTE0NCBiIEZ0KEV4cGFuZHMpMzYgYih0bylqKHRoZSlmKHBybylzKGNlc3MpZwotKGlkKWYob2YpaCh0aGUpZyhjdXJyZW4pbSh0KWcoQmFzaClnKHBybylzKGNlc3MuKTYzIGIoVGhpcykzNwotYihkaVwwMTNlcnMpZyhmcm9tKWggRnMoJCQpNjMwIDExMDcgeSBGdCh1bmRlcikzMSBiKGNlcnRhaW4pagorYiguKTE1MCA5OTggeSBGcyhCQVNIUElEKTE0NCBiIEZ0KEV4cGFuZHMpMzUgYih0bylpKHRoZSlmKHBybylzKGNlc3MpZgorKElEKWkob2YpZih0aGUpZyhjdXJyZW4pbSh0KWcoQmFzaClnKHBybylzKGNlc3MuKTU4IGIoVGhpcykzNQorYihkaVwwMTNlcnMpaChmcm9tKWcgRnMoJCQpNjMwIDExMDcgeSBGdCh1bmRlcikzMSBiKGNlcnRhaW4pagogKGNpcmN1bXN0YW5jZXMsKWgoc3VjKW0oaCllKGFzKWcoc3Vic2hlbGxzKWYodGhhdClpKGRvKWYobm90KWcocmVxdWlyZSkKIGcoQmFzaClnKHRvKWgoYilzKGUpNjMwIDEyMTcgeShyZS1pbml0aWFsaXplZC4pMTUwIDEzNjcKIHkgRnMoQkFTSF9BTElBU0VTKTYzMCAxNDc3IHkgRnQoQW4pNDAgYihhc3NvKXMoY2lhdGl2KW0oZSlqKGFycmEpbSh5KWQKICh2KS01IGIoYXJpYWJsZSk0MSBiKHdob3NlKWYobWVtKW0oYilzKGVycylmKGNvcnJlc3ApcyhvbmQpZyh0bylpKHRoZSlmCi0oaW4pbSh0ZXJuYWwpaChsaXN0KTYzMCAxNTg3IHkob2YpZyhhbGlhc2VzKWgoYXMpZihtYWluKW0odGFpbmVkKWcoYiltCi0oeSlnKHRoZSlmIEZzKGFsaWFzKWcgRnQoYnVpbHRpbilnKFwoc2VlKWgoU2VjdGlvbiloKDQuMSlmKFtCb3VybmUpZwotKFNoZWxsKTYzMCAxNjk2IHkoQnVpbHRpbnNdLCkzNiBiKHBhZ2UpZSgzNVwpLik1MyBiKEVsZW1lbiltKHRzKTM1Ci1iKGFkZGVkKWUodG8paSh0aGlzKWUoYXJyYSltKHkpaShhcHApcyhlYXIpZShpbiloKHRoZSlnKGFsaWFzKWgobGlzdDspaQotKHVuLSk2MzAgMTgwNiB5KHNldHRpbmcpMzEgYihhcnJhKW0oeSlnKGVsZW1lbiltKHRzKWgoY2F1c2UpZihhbGlhc2VzKWgKLSh0bylmKGIpcyhlKWYocmVtbyltKHYpbShlZCloKGZyb20pZih0aGUpaChhbGlhcylnKGxpc3QuKTE1MAotMTk1NiB5IEZzKEJBU0hfQVJHQyk2MzAgMjA2NiB5IEZ0KEFuKWYoYXJyYSltKHkpaCh2KS01CisoaW4pbSh0ZXJuYWwpaChsaXN0KTYzMCAxNTg3IHkob2YpYyhhbGlhc2VzKWgoYXMpZihtYWluKW0odGFpbmVkKWcoYiltCisoeSlnKHRoZSlnIEZzKGFsaWFzKWUgRnQoYnVpbHRpbi4pNTkgYihcKHNlZSkzNyBiKFNlY3Rpb24paCg0LjEpZgorKFtCb3VybmUpZyhTaGVsbCk2MzAgMTY5NiB5KEJ1aWx0aW5zXSwpZihwYWdlKWUoMzdcKS4pNTMKK2IoRWxlbWVuKW0odHMpMzUgYihhZGRlZCllKHRvKWkodGhpcyllKGFycmEpbSh5KWkoYXBwKXMoZWFyKWUoaW4paCh0aGUpCitnKGFsaWFzKWgobGlzdDspaSh1bi0pNjMwIDE4MDYgeShzZXR0aW5nKTMxIGIoYXJyYSltKHkpZyhlbGVtZW4pbSh0cyloCisoY2F1c2UpZihhbGlhc2VzKWgodG8pZihiKXMoZSlmKHJlbW8pbSh2KW0oZWQpaChmcm9tKWYodGhlKWgoYWxpYXMpZworKGxpc3QuKTE1MCAxOTU2IHkgRnMoQkFTSF9BUkdDKTYzMCAyMDY2IHkgRnQoQW4pZihhcnJhKW0oeSloKHYpLTUKIGIoYXJpYWJsZSkzMSBiKHdob3NlKWYodiktNSBiKGFsdWVzKTMxIGIoYXJlKWcodGhlKWYobiltKHVtKW0oYilzKGVyKWcKIChvZilnKHBhcmFtZXRlcnMpaChpbilmKGVhYyltKGgpaChmcmFtZSlnKG9mKTYzMCAyMTc2CiB5KHRoZSkyNiBiKGN1cnJlbiltKHQpZihiYXNoKWcoZXhlY3V0aW9uKWkoY2FsbClnKHN0YWMpbShrLik0MQpAQCAtOTE4Miw3ICs5MzY3LDcgQEAKIDI1MDQgeShpcylnKHB1c2hlZClmKG9uKW0odG8paSBGcyhCQVNIX0FSR0MpcCBGdCguKTU5CiBiKFRoZSkzNyBiKHNoZWxsKWcoc2V0cyloIEZzKEJBU0hfQVJHQyljIEZ0KG9ubHkpayh3aGVuKWUoaW4paAogKGV4dGVuZGVkKTYzMCAyNjE0IHkoZGVidWdnaW5nKTIzIGIobW8pcyhkZSlmKFwoc2VlKWgoU2VjdGlvbilnKDQuMy4yKWkKLShbVGhlKWQoU2hvcHQpZyhCdWlsdGluXSwpaihwYWdlKWUoNTUpaChmb3IpZShhKWgoZGVzY3JpcHRpb24pNjMwCisoW1RoZSlkKFNob3B0KWcoQnVpbHRpbl0sKWoocGFnZSllKDU3KWgoZm9yKWUoYSloKGRlc2NyaXB0aW9uKTYzMAogMjcyNCB5KG9mKTMxIGIodGhlKWYgRnMoZXh0ZGVidWcpZSBGdChvcHRpb24paih0bylnKHRoZSlnCiBGcyhzaG9wdCllIEZ0KGJ1aWx0aW5cKS4pMTUwIDI4NzQgeSBGcyhCQVNIX0FSR1YpNjMwCiAyOTg0IHkgRnQoQW4pMjQgYihhcnJhKW0oeSlnKHYpLTUgYihhcmlhYmxlKTI1IGIoY29uKW0odGFpbmluZyloKGFsbClmCkBAIC05MTk1LDE0ICs5MzgwLDE0IEBACiAob24pbSh0bylpIEZzKEJBU0hfQVJHVilwIEZ0KC4pNjYgYihUaGUpNDAgYihzaGVsbCk2MzAKIDM0MjIgeShzZXRzKTI4IGIgRnMoQkFTSF9BUkdWKWUgRnQob25seSlpKHdoZW4pZihpbiloKGV4dGVuZGVkKWcKIChkZWJ1Z2dpbmcpZyhtbylzKGRlKWcoXChzZWUpaChTZWN0aW9uKWYoNC4zLjIpaShbVGhlKTYzMAotMzUzMiB5KFNob3B0KWkoQnVpbHRpbl0sKWgocGFnZSlnKDU1KWcoZm9yKWYoYSloKGRlc2NyaXB0aW9uKWYob2YpaAorMzUzMiB5KFNob3B0KWkoQnVpbHRpbl0sKWgocGFnZSlnKDU3KWcoZm9yKWYoYSloKGRlc2NyaXB0aW9uKWYob2YpaAogKHRoZSlmIEZzKGV4dGRlYnVnKWUgRnQob3B0aW9uKWoodG8pZyh0aGUpZiBGcyhzaG9wdCk2MzAKIDM2NDEgeSBGdChidWlsdGluXCkuKTE1MCAzNzkyIHkgRnMoQkFTSF9DTURTKTYzMCAzOTAyCiB5IEZ0KEFuKWkoYXNzbylzKGNpYXRpdiltKGUpaShhcnJhKW0oeSlmKHYpLTUgYihhcmlhYmxlKTM1CiBiKHdob3NlKWYobWVtKW0oYilzKGVycylmKGNvcnJlc3ApcyhvbmQpZyh0bylpKHRoZSlmKGluKW0odGVybmFsKWgKIChoYXNoKTYzMCA0MDExIHkodGFibGUpYyhvZilnKGNvbW1hbmRzKWYoYXMpZyhtYWluKW0odGFpbmVkKWgoYiltKHkpZwogKHRoZSlmIEZzKGhhc2gpZiBGdChidWlsdGluKWgoXChzZWUpaChTZWN0aW9uKWcoNC4xKWgoW0JvdXJuZSk2MzAKLTQxMjEgeShTaGVsbCkyMyBiKEJ1aWx0aW5zXSwpaihwYWdlKWUoMzVcKS4pNDAgYihFbGVtZW4pbSh0cykyNAorNDEyMSB5KFNoZWxsKTIzIGIoQnVpbHRpbnNdLClqKHBhZ2UpZSgzN1wpLik0MCBiKEVsZW1lbiltKHRzKTI0CiBiKGFkZGVkKWUodG8paih0aGlzKWUoYXJyYSltKHkpaChhcHApcyhlYXIpZShpbilpKHRoZSlmKGhhc2gpZyh0YWJsZTspCiA2MzAgNDIzMCB5KHVuc2V0dGluZykzMCBiKGFycmEpbSh5KWgoZWxlbWVuKW0odHMpaChjYXVzZSlmKGNvbW1hbmRzKWYKICh0byloKGIpcyhlKWYocmVtbyltKHYpbShlZCloKGZyb20pZih0aGUpaChoYXNoKWUodGFibGUuKTE1MApAQCAtOTIxNiwxMjkgKzk0MDEsMTMyIEBACiAoc2hlbGwpaChzY3JpcHQsKWcoaXRzKWcodiktNSBiKGFsdWUpMjkgYihpcyk2MzAgNDk3MAogeShleHBhbmRlZClrKGFuZCloKHVzZWQpZyhhcylnKHRoZSloKG5hbWUpZihvZilnKGEpaChzdGFydHVwKWYoXDAxNGxlKWcKICh0byloKHJlYWQpZihiKXMoZWZvcmUpZyhleGVjdXRpbmcpaSh0aGUpNjMwIDUwODAgeShzY3JpcHQuKTQxCi1iKFNlZSkzMCBiKFNlY3Rpb24paCg2LjIpaChbQmFzaClmKFN0YXJ0dXApZShGaWxlc10sKWoocGFnZSlmKDczLikxNTAKK2IoU2VlKTMwIGIoU2VjdGlvbiloKDYuMiloKFtCYXNoKWYoU3RhcnR1cCllKEZpbGVzXSwpaihwYWdlKWYoNzUuKTE1MAogNTIzMCB5IEZzKEJBU0hfRVhFQ1VUSU9OX1NUUklORyk2MzAgNTM0MCB5IEZ0KFRoZSlmKGNvbW1hbmQpZyhhcmd1bWVuKW0KICh0KWgodG8pZyh0aGUpZyhgKXAgRnMoLWMpcCBGdCgnKWYoaW4pbSh2KW0obylzKGNhdGlvbilpKG9wdGlvbi4pcAogZW9wIGVuZAotJSVQYWdlOiA2MyA2OQotVGVYRGljdCBiZWdpbiA2MyA2OCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNTopNDEKLWIoU2hlbGwpMzAgYihWKS04IGIoYXJpYWJsZXMpMjQ1OSBiKDYzKTE1MCAyOTkgeSBGcyhCQVNIX0xJTkVOTyk2MzAKLTQwOCB5IEZ0KEFuKTM4IGIoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSkzOSBiKHdob3NlKWcobWVtKW0oYilzKGVycyllCi0oYXJlKWkodGhlKWcobGluZSlnKG4pbSh1bSltKGIpcyhlcnMpZShpbiloKHNvdXJjZSloKFwwMTRsZXMpZihjb3JyZS0pCi02MzAgNTE4IHkoc3ApcyhvbmRpbmcpZyh0bylpKGVhYyltKGgpaChtZW0pbShiKXMoZXIpZShvZiloCi1GcShGVU5DTkFNRSk1IGIgRnQoLik0MSBiIEZzKCR7QkFTSF9MSU5FTk9bJGldfSkzNCBiCi1GdChpcyk0MCBiKHRoZSlnKGxpbmUpNjMwIDYyOCB5KG4pbSh1bSltKGIpcyhlcik0NyBiKGluKWgodGhlKWcoc291cmNlKQotaChcMDE0bGUpZih3aGVyZSlnIEZzKCR7RlVOQ05BTUVbJGldfSljIEZ0KHcpbShhcyk0OQotYihjYWxsZWQpZyhcKG9yKWcgRnMoJHtCQVNIXyk2MzAgNzM3IHkoTElORU5PWyRpLTFdfSkyMgotYiBGdChpZilqKHJlZmVyZW5jZWQpZyh3aXRoaW4pZihhbm90aGVyKWkoc2hlbGwpZihmdW5jdGlvblwpLikzOQotYihUaGUpMjUgYihjb3JyZXNwKXMob25kaW5nKTYzMCA4NDcgeShzb3VyY2UpZihcMDE0bGUpaChuYW1lKWYoaXMpZwotRnMoJHtCQVNIX1NPVVJDRVskaV19KXAgRnQoLikzNCBiKFVzZSkyNSBiIEZzKExJTkVOTylkCi1GdCh0bylqKG9idGFpbilnKHRoZSlnKGN1cnJlbiltKHQpZihsaW5lKTYzMCA5NTYgeShuKW0odW0pbShiKXMoZXIuKTE1MAotMTExMiB5IEZzKEJBU0hfUkVNQVRDSCk2MzAgMTIyMSB5IEZ0KEFuKTQzIGIoYXJyYSltKHkpaSh2KS01CislJVBhZ2U6IDY1IDcxCitUZVhEaWN0IGJlZ2luIDY1IDcwIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig1Oik0MQorYihTaGVsbCkzMCBiKFYpLTggYihhcmlhYmxlcykyNDU5IGIoNjUpMTUwIDI5OSB5IEZzKEJBU0hfTElORU5PKTYzMAorNDA4IHkgRnQoQW4pNjIgYihhcnJhKW0oeSlpKHYpLTUgYihhcmlhYmxlKTYzIGIod2hvc2UpZyhtZW0pbShiKXMoZXJzKWUKKyhhcmUpaih0aGUpZShsaW5lKWgobiltKHVtKW0oYilzKGVycylmKGluKWcoc291cmNlKWgoXDAxNGxlcyk2MzAKKzUxOCB5KHdoZXJlKTQ2IGIoZWFjKW0oaClpKGNvcnJlc3ApcyhvbmRpbmcpZShtZW0pbShiKXMoZXIpZihvZilpCitGcShGVU5DTkFNRSk1MyBiIEZ0KHcpbShhcyk0NyBiKGluKW0odiltKG9rKW0oZWQuKTkxCitiIEZzKCR7QkFTSF8pNjMwIDYyOCB5KExJTkVOT1skaV19KTM5IGIgRnQoaXMpaSh0aGUpaChsaW5lKWcobiltKHVtKW0KKyhiKXMoZXIpZShpbilpKHRoZSlmKHNvdXJjZSloKFwwMTRsZSlnKFwoKXAgRnMoJHtCQVNIX1NPVVJDRVskaSsxXX0pcAorRnQoXCkpNjMwIDczNyB5KHdoZXJlKWQgRnMoJHtGVU5DTkFNRVskaV19KWMgRnQodyltKGFzKWsoY2FsbGVkKWkoXChvcikKK2UgRnMoJHtCQVNIX0xJTkVOT1skaS0xXX0pMzQgYiBGdChpZikzOSBiKHJlZmVyZW5jZWQpNjMwCis4NDcgeSh3aXRoaW4pMzAgYihhbm90aGVyKWcoc2hlbGwpaChmdW5jdGlvblwpLik0MSBiKFVzZSkzMQorYiBGcyhMSU5FTk8pZCBGdCh0bylqKG9idGFpbilnKHRoZSlnKGN1cnJlbiltKHQpZihsaW5lKWgobiltKHVtKW0oYilzCisoZXIuKTE1MCAxMDAyIHkgRnMoQkFTSF9SRU1BVENIKTYzMCAxMTEyIHkgRnQoQW4pNDMgYihhcnJhKW0oeSlpKHYpLTUKIGIoYXJpYWJsZSk0NCBiKHdob3NlKWcobWVtKW0oYilzKGVycylmKGFyZSloKGFzc2lnbmVkKWcoYiltKHkpZih0aGUpaAotKGApcCBGcyg9filwIEZ0KCcpZyhiaW5hcnkpZihvcClzKGVyYXRvcik2MzAgMTMzMSB5KHRvKTM3CisoYClwIEZzKD1+KXAgRnQoJylnKGJpbmFyeSlmKG9wKXMoZXJhdG9yKTYzMCAxMjIxIHkodG8pMzcKIGIodGhlKWYgRnMoW1spZyBGdChjb25kaXRpb25hbClpKGNvbW1hbmQpZShcKHNlZSloKFNlY3Rpb24pZygzLjIuNC4yKWkKLShbQ29uZGl0aW9uYWwpZShDb25zdHJ1Y3RzXSwpNjMwIDE0NDAgeShwYWdlKWUoMTBcKS4pNTIKKyhbQ29uZGl0aW9uYWwpZShDb25zdHJ1Y3RzXSwpNjMwIDEzMzEgeShwYWdlKWUoMTBcKS4pNTIKIGIoVGhlKTMzIGIoZWxlbWVuKW0odClqKHdpdGgpZChpbmRleClnKDApaShpcylmKHRoZSlnKHApcyhvcnRpb24pZihvZiloCi0odGhlKWcoc3RyaW5nKWcobWF0YyltKGhpbmcpaCh0aGUpNjMwIDE1NTAgeShlbiltKHRpcmUpMjkKKyh0aGUpZyhzdHJpbmcpZyhtYXRjKW0oaGluZyloKHRoZSk2MzAgMTQ0MCB5KGVuKW0odGlyZSkyOQogYihyZWd1bGFyKWYoZXhwcmVzc2lvbi4pNDAgYihUaGUpMjcgYihlbGVtZW4pbSh0KWood2l0aClkKGluZGV4KWgKIEZxKG4pZiBGdChpcyloKHRoZSlnKHApcyhvcnRpb24pZyhvZilnKHRoZSlnKHN0cmluZyk2MzAKLTE2NjAgeShtYXRjKW0oaGluZylqKHRoZSlnIEZxKG4pcCBGdCh0aClmKHBhcmVuKW0odGhlc2l6ZWQpaChzdWIpcworMTU1MCB5KG1hdGMpbShoaW5nKWoodGhlKWcgRnEobilwIEZ0KHRoKWYocGFyZW4pbSh0aGVzaXplZCloKHN1YilzCiAoZXhwcmVzc2lvbi4pMzkgYihUaGlzKTI5IGIodiktNSBiKGFyaWFibGUpMzEgYihpcylnKHJlYWQtb25seSktOAotYiguKTE1MCAxODE1IHkgRnMoQkFTSF9TT1VSQ0UpNjMwIDE5MjQgeSBGdChBbikyNCBiKGFycmEpbSh5KWgodiktNQotYihhcmlhYmxlKTI2IGIod2hvc2UpZShtZW0pbShiKXMoZXJzKWcoYXJlKWgodGhlKWcoc291cmNlKWYKLShcMDE0bGVuYW1lcyloKGNvcnJlc3ApcyhvbmRpbmcpZSh0bylqKHRoZSk2MzAgMjAzNCB5KGVsZW1lbiltKHRzKTMyCi1iKGluKWUodGhlKWcgRnMoRlVOQ05BTUUpZSBGdChhcnJhKW0oeSlqKHYpLTUgYihhcmlhYmxlLikxNTAKLTIxODkgeSBGcyhCQVNIX1NVQlNIRUxMKTYzMCAyMjk5IHkgRnQoSW5jcmVtZW4pbSh0ZWQpMzQKK2IoLikxNTAgMTcwNSB5IEZzKEJBU0hfU09VUkNFKTYzMCAxODE1IHkgRnQoQW4pNDAgYihhcnJhKW0oeSloKHYpLTUKK2IoYXJpYWJsZSk0MSBiKHdob3NlKWYobWVtKW0oYilzKGVycylnKGFyZSloKHRoZSlnKHNvdXJjZSlmCisoXDAxNGxlbmFtZXMpaCh3aGVyZSlmKHRoZSlnKGNvcnJlLSk2MzAgMTkyNCB5KHNwKXMob25kaW5nKTI3CitiKHNoZWxsKWkoZnVuY3Rpb24pZihuYW1lcylnKGluKWcodGhlKWggRnMoRlVOQ05BTUUpZAorRnQoYXJyYSltKHkpaih2KS01IGIoYXJpYWJsZSkzMCBiKGFyZSlmKGRlXDAxNG5lZC4pMzgKK2IoVGhlKTYzMCAyMDM0IHkoc2hlbGwpMjYgYihmdW5jdGlvbilnIEZzKCR7RlVOQ05BTUVbJGldfSljCitGdChpcylrKGRlXDAxNG5lZClmKGluKWcodGhlKWgoXDAxNGxlKWggRnMoJHtCQVNIX1NPVVJDRVskaV19KTIxCitiIEZ0KGFuZCk2MzAgMjE0NCB5KGNhbGxlZCkzMiBiKGZyb20pZCBGcygke0JBU0hfU09VUkNFWyRpKzFdfSkxNTAKKzIyOTkgeShCQVNIX1NVQlNIRUxMKTYzMCAyNDA4IHkgRnQoSW5jcmVtZW4pbSh0ZWQpMzQKIGIoYiltKHkpaChvbmUpZihlYWMpbShoKWkodGltZSlmKGEpZihzdWJzaGVsbClnKG9yKWcoc3Vic2hlbGwpZihlbiltCi0odmlyb25tZW4pbSh0KWkoaXMpZihzcGEpbSh3bmVkLik2MzAgMjQwOCB5KFRoZSljKGluaXRpYWwpaCh2KS01Ci1iKGFsdWUpMzEgYihpcylnKDAuKTE1MCAyNTY0IHkgRnMoQkFTSF9WRVJTSU5GTyk2MzAgMjY3MworKHZpcm9ubWVuKW0odClpKGlzKWYoc3BhKW0od25lZC4pNjMwIDI1MTggeShUaGUpYyhpbml0aWFsKWgodiktNQorYihhbHVlKTMxIGIoaXMpZygwLikxNTAgMjY3MyB5IEZzKEJBU0hfVkVSU0lORk8pNjMwIDI3ODMKIHkgRnQoQSkzNiBiKHJlYWRvbmx5KWcoYXJyYSltKHkpZyh2KS01IGIoYXJpYWJsZSkzNyBiKFwoc2VlKWYoU2VjdGlvbiloCi0oNi43KWcoW0FycmEpbSh5c10sKWgocGFnZSllKDgwXCkpaCh3aG9zZSlmKG1lbSltKGIpcyhlcnMpNjMwCi0yNzgzIHkoaG9sZCljKHYpbShlcnNpb24paChpbmZvcm1hdGlvbilmKGZvcilnKHRoaXMpZyhpbnN0YW5jZSloKG9mKWcKKyg2LjcpZyhbQXJyYSltKHlzXSwpaChwYWdlKWUoODJcKSloKHdob3NlKWYobWVtKW0oYilzKGVycyk2MzAKKzI4OTIgeShob2xkKWModiltKGVyc2lvbiloKGluZm9ybWF0aW9uKWYoZm9yKWcodGhpcylnKGluc3RhbmNlKWgob2YpZwogKEJhc2guKTQ2IGIoVGhlKTMyIGIodiktNSBiKGFsdWVzKTMyIGIoYXNzaWduZWQpaCh0bylnKHRoZSk2MzAKLTI4OTIgeShhcnJhKW0oeSllKG1lbSltKGIpcyhlcnMpZShhcmUpaShhcylnKGZvbGxvKW0od3M6KTYzMAotMzA0OCB5IEZzKEJBU0hfVkVSU0lORk9bMF0pMTExMCAzMTU3IHkgRnQoVGhlKWYobWEpNQorMzAwMiB5KGFycmEpbSh5KWUobWVtKW0oYilzKGVycyllKGFyZSlpKGFzKWcoZm9sbG8pbSh3czopNjMwCiszMTU3IHkgRnMoQkFTSF9WRVJTSU5GT1swXSkxMTEwIDMyNjcgeSBGdChUaGUpZihtYSk1CiBiKGpvcikzMCBiKHYpbShlcnNpb24paChuKW0odW0pbShiKXMoZXIpZShcKHRoZSlpIEZxKHJlbGVhc2UpNQotYiBGdChcKS4pNjMwIDMzMTMgeSBGcyhCQVNIX1ZFUlNJTkZPWzFdKTExMTAgMzQyMiB5IEZ0KFRoZSkzMAorYiBGdChcKS4pNjMwIDM0MjIgeSBGcyhCQVNIX1ZFUlNJTkZPWzFdKTExMTAgMzUzMiB5IEZ0KFRoZSkzMAogYihtaW5vcilnKHYpbShlcnNpb24paChuKW0odW0pbShiKXMoZXIpZShcKHRoZSlpIEZxKHYpbShlcnNpb24pcAotRnQoXCkuKTYzMCAzNTc3IHkgRnMoQkFTSF9WRVJTSU5GT1syXSkxMTEwIDM2ODcgeSBGdChUaGUpZihwYXRjKW0oaCloCi0obGV2KW0oZWwuKTYzMCAzODQyIHkgRnMoQkFTSF9WRVJTSU5GT1szXSkxMTEwIDM5NTIgeQotRnQoVGhlKWYoYnVpbGQpZih2KW0oZXJzaW9uLik2MzAgNDEwNyB5IEZzKEJBU0hfVkVSU0lORk9bNF0pMTExMAotNDIxNyB5IEZ0KFRoZSloKHJlbGVhc2UpaShzdGF0dXMpZShcKGUuZy4sKWogRnEoYilzKGV0YTEpNwotYiBGdChcKS4pNjMwIDQzNzIgeSBGcyhCQVNIX1ZFUlNJTkZPWzVdKTExMTAgNDQ4MiB5IEZ0KFRoZSkzMAotYih2KS01IGIoYWx1ZSkzMSBiKG9mKWYgRnMoTUFDSFRZUEUpcCBGdCguKTE1MCA0NjM3IHkKLUZzKEJBU0hfVkVSU0lPTik2MzAgNDc0NiB5IEZ0KFRoZSlnKHYpbShlcnNpb24paChuKW0odW0pbShiKXMoZXIpZShvZiloCi0odGhlKWgoY3VycmVuKW0odClmKGluc3RhbmNlKWgob2YpZyhCYXNoLikxNTAgNDkwMiB5Ci1GcyhCQVNIX1hUUkFDRUZEKTYzMCA1MDExIHkgRnQoSWYpZihzZXQpaCh0byloKGFuKWUoaW4pbSh0ZWdlcilpCitGdChcKS4pNjMwIDM2ODcgeSBGcyhCQVNIX1ZFUlNJTkZPWzJdKTExMTAgMzc5NyB5IEZ0KFRoZSlmKHBhdGMpbShoKWgKKyhsZXYpbShlbC4pNjMwIDM5NTIgeSBGcyhCQVNIX1ZFUlNJTkZPWzNdKTExMTAgNDA2MSB5CitGdChUaGUpZihidWlsZClmKHYpbShlcnNpb24uKTYzMCA0MjE3IHkgRnMoQkFTSF9WRVJTSU5GT1s0XSkxMTEwCis0MzI2IHkgRnQoVGhlKWgocmVsZWFzZSlpKHN0YXR1cyllKFwoZS5nLiwpaiBGcShiKXMoZXRhMSk3CitiIEZ0KFwpLik2MzAgNDQ4MiB5IEZzKEJBU0hfVkVSU0lORk9bNV0pMTExMCA0NTkxIHkgRnQoVGhlKTMwCitiKHYpLTUgYihhbHVlKTMxIGIob2YpZiBGcyhNQUNIVFlQRSlwIEZ0KC4pMTUwIDQ3NDYgeQorRnMoQkFTSF9WRVJTSU9OKTYzMCA0ODU2IHkgRnQoVGhlKWcodiltKGVyc2lvbiloKG4pbSh1bSltKGIpcyhlcillKG9mKWgKKyh0aGUpaChjdXJyZW4pbSh0KWYoaW5zdGFuY2UpaChvZilnKEJhc2guKTE1MCA1MDExIHkKK0ZzKEJBU0hfWFRSQUNFRkQpNjMwIDUxMjEgeSBGdChJZilmKHNldCloKHRvKWgoYW4pZShpbiltKHRlZ2VyKWkKIChjb3JyZXNwKXMob25kaW5nKWUodG8paChhKWcodiktNSBiKGFsaWQpMzEgYihcMDE0bGUpZyhkZXNjcmlwdG9yLClnCi0oQmFzaClnKHdpbGwpZyh3cml0ZSlnKHRoZSk2MzAgNTEyMSB5KHRyYWNlKTM3IGIob3V0cHV0KWYoZ2VuZXJhdGVkKWgKKyhCYXNoKWcod2lsbClnKHdyaXRlKWcodGhlKTYzMCA1MjMwIHkodHJhY2UpMzcgYihvdXRwdXQpZihnZW5lcmF0ZWQpaAogKHdoZW4pZihgKXAgRnMoc2V0KTI5IGIoLXgpcCBGdCgnKTM2IGIoaXMpZyhlbmFibGVkKWgodG8pZyh0aGF0KWYKLShcMDE0bGUpaChkZXNjcmlwdG9yLik1OCBiKFRoaXMpNjMwIDUyMzAgeShhbGxvKW0od3MpMjkKKyhcMDE0bGUpaChkZXNjcmlwdG9yLik1OCBiKFRoaXMpNjMwIDUzNDAgeShhbGxvKW0od3MpMjkKIGIodHJhY2luZyloKG91dHB1dClkKHRvKWkoYilzKGUpZihzZXBhcmF0ZWQpZyhmcm9tKWcoZGlhZ25vc3RpYyloKGFuZClmCi0oZXJyb3IpZihtZXNzYWdlcy4pNDEgYihUaGUpNjMwIDUzNDAgeShcMDE0bGUpMzEgYihkZXNjcmlwdG9yKWYoaXMpaAotKGNsb3NlZClnKHdoZW4pZiBGcyhCQVNIX1hUUkFDRUZEKWQgRnQoaXMpayh1bnNldClmKG9yKWcoYXNzaWduZWQpaChhKWcKLShuZXcpZih2KS01IGIoYWx1ZS4pcCBlb3AgZW5kCi0lJVBhZ2U6IDY0IDcwCi1UZVhEaWN0IGJlZ2luIDY0IDY5IGJvcCAxNTAgLTExNiBhIEZ0KDY0KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkoVW5zZXR0aW5nKTQ1IGIgRnMoQkFTSF9YVFJBQ0VGRCk0MAorKGVycm9yKWYobWVzc2FnZXMuKTQxIGIoVGhlKXAgZW9wIGVuZAorJSVQYWdlOiA2NiA3MgorVGVYRGljdCBiZWdpbiA2NiA3MSBib3AgMTUwIC0xMTYgYSBGdCg2NikyNTcyIGIoQmFzaCkzMQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KFwwMTRsZSlnKGRlc2NyaXB0b3IpZihpcyloKGNsb3NlZClnCisod2hlbilmIEZzKEJBU0hfWFRSQUNFRkQpZCBGdChpcylrKHVuc2V0KWYob3IpZyhhc3NpZ25lZCloKGEpZyhuZXcpZih2KQorLTUgYihhbHVlLik2MzAgNDA4IHkoVW5zZXR0aW5nKTQ1IGIgRnMoQkFTSF9YVFJBQ0VGRCk0MAogYiBGdChvcilrKGFzc2lnbmluZylnKGl0KWcodGhlKWcoZW1wdCltKHkpaChzdHJpbmcpZShjYXVzZXMpaSh0aGUpZgotKHRyYWNlKTYzMCA0MDggeShvdXRwdXQpMzMgYih0bylpKGIpcyhlKWQoc2VuKW0odClqKHRvKWYodGhlKWcKKyh0cmFjZSk2MzAgNTE4IHkob3V0cHV0KTMzIGIodG8paShiKXMoZSlkKHNlbiltKHQpaih0bylmKHRoZSlnCiAoc3RhbmRhcmQpZShlcnJvci4pNTAgYihOb3RlKTM1IGIodGhhdClnKHNldHRpbmcpZiBGcyhCQVNIX1hUUkFDRUZEKWMKLUZ0KHRvKTYzMCA1MTggeSgyKTM5IGIoXCh0aGUpaChzdGFuZGFyZCllKGVycm9yKWcoXDAxNGxlKWgKK0Z0KHRvKTYzMCA2MjggeSgyKTM5IGIoXCh0aGUpaChzdGFuZGFyZCllKGVycm9yKWcoXDAxNGxlKWgKIChkZXNjcmlwdG9yXCkpaChhbmQpZSh0aGVuKWgodW5zZXR0aW5nKWcoaXQpZyh3aWxsKWcocmVzdWx0KWcoaW4pZyh0aGUpCi02MzAgNjI4IHkoc3RhbmRhcmQpMzAgYihlcnJvcilnKGIpcyhlaW5nKWYoY2xvc2VkLikxNTAKLTgxOSB5IEZzKENPTFVNTlMpMTQ0IGIgRnQoVXNlZCkzNiBiKGIpbSh5KWgodGhlKWYgRnMoc2VsZWN0KWYKLUZ0KGJ1aWx0aW4paChjb21tYW5kKWgodG8pZyhkZXRlcm1pbmUpZih0aGUpaCh0ZXJtaW5hbClnKHdpZHRoKWYod2hlbikKLTYzMCA5MjkgeShwcmluKW0odGluZykzMCBiKHNlbGVjdGlvbilpKGxpc3RzLik0MiBiKEF1dG9tYXRpY2FsbHkpMzMKLWIoc2V0KWUodXApcyhvbilkKHJlY2VpcHQpayhvZillKGEpaCBGcyhTSUdXSU5DSClwIEZ0KC4pMTUwCi0xMTIxIHkgRnMoQ09NUF9DV09SRCk2MzAgMTIzMCB5IEZ0KEFuKTM4IGIoaW5kZXgpZyhpbiltKHRvKWgKKzYzMCA3MzcgeShzdGFuZGFyZCkzMCBiKGVycm9yKWcoYilzKGVpbmcpZihjbG9zZWQuKTE1MAorOTE1IHkgRnMoQ09MVU1OUykxNDQgYiBGdChVc2VkKTMyIGIoYiltKHkpZih0aGUpaCBGcyhzZWxlY3QpZQorRnQoY29tbWFuZCloKHRvKWkoZGV0ZXJtaW5lKWYodGhlKWYodGVybWluYWwpaSh3aWR0aClkKHdoZW4paChwcmluKW0KKyh0aW5nKTYzMCAxMDI1IHkoc2VsZWN0aW9uKWgobGlzdHMuKTQxIGIoQXV0b21hdGljYWxseSkzMworYihzZXQpZSh1cClzKG9uKWUocmVjZWlwdClpKG9mKWcoYSlnIEZzKFNJR1dJTkNIKXAgRnQoLikxNTAKKzEyMDMgeSBGcyhDT01QX0NXT1JEKTYzMCAxMzEzIHkgRnQoQW4pMzggYihpbmRleClnKGluKW0odG8paAogRnMoJHtDT01QX1dPUkRTfSljIEZ0KG9mKWsodGhlKWcodyltKG9yZClmKGNvbiltKHRhaW5pbmcpaSh0aGUpZQotKGN1cnJlbiltKHQpZyhjdXJzb3IpZyhwKXMoby0pNjMwIDEzNDAgeShzaXRpb24uKTcyIGIoVGhpcyk0MAorKGN1cnJlbiltKHQpZyhjdXJzb3IpZyhwKXMoby0pNjMwIDE0MjIgeShzaXRpb24uKTcyIGIoVGhpcyk0MAogYih2KS01IGIoYXJpYWJsZSk0MSBiKGlzKWYoYSltKHYpLTUgYihhaWxhYmxlKTQzIGIob25seSllKGluKWYoc2hlbGwpaAogKGZ1bmN0aW9ucylmKGluKW0odiltKG9rKW0oZWQpaShiKW0oeSllKHRoZSloKHByby0pNjMwCi0xNDUwIHkoZ3JhbW1hYmxlKTM2IGIoY29tcGxldGlvbilnKGZhY2lsaXRpZXMpaShcKHNlZSllKFNlY3Rpb24pZyg4LjYpZwotKFtQcm9ncmFtbWFibGUpZyhDb21wbGV0aW9uXSwpNjMwIDE1NTkgeShwYWdlKTMxIGIoMTE1XCkuKTE1MAotMTc1MSB5IEZzKENPTVBfTElORSk2MzAgMTg2MSB5IEZ0KFRoZSkzOCBiKGN1cnJlbiltKHQpaChjb21tYW5kKWYKKzE1MzIgeShncmFtbWFibGUpMzYgYihjb21wbGV0aW9uKWcoZmFjaWxpdGllcylpKFwoc2VlKWUoU2VjdGlvbilnKDguNilnCisoW1Byb2dyYW1tYWJsZSlnKENvbXBsZXRpb25dLCk2MzAgMTY0MSB5KHBhZ2UpMzEgYigxMTdcKS4pMTUwCisxODE5IHkgRnMoQ09NUF9MSU5FKTYzMCAxOTI5IHkgRnQoVGhlKTM4IGIoY3VycmVuKW0odCloKGNvbW1hbmQpZgogKGxpbmUuKTY2IGIoVGhpcykzNyBiKHYpLTUgYihhcmlhYmxlKTQwIGIoaXMpZihhKW0odiktNQotYihhaWxhYmxlKTQxIGIob25seSlkKGluKWgoc2hlbGwpZihmdW5jdGlvbnMpNjMwIDE5NzAKK2IoYWlsYWJsZSk0MSBiKG9ubHkpZChpbiloKHNoZWxsKWYoZnVuY3Rpb25zKTYzMCAyMDM5CiB5KGFuZCkyNSBiKGV4dGVybmFsKWgoY29tbWFuZHMpZihpbiltKHYpbShvayltKGVkKWgoYiltKHkpZih0aGUpaAotKHByb2dyYW1tYWJsZSlmKGNvbXBsZXRpb24paShmYWNpbGl0aWVzKWcoXChzZWUpNjMwIDIwODAKLXkoU2VjdGlvbilrKDguNiloKFtQcm9ncmFtbWFibGUpZihDb21wbGV0aW9uXSwpZyhwYWdlKWcoMTE1XCkuKTE1MAotMjI3MSB5IEZzKENPTVBfUE9JTlQpNjMwIDIzODEgeSBGdChUaGUpMjUgYihpbmRleClnKG9mKWgodGhlKWcoY3VycmVuKW0KKyhwcm9ncmFtbWFibGUpZihjb21wbGV0aW9uKWkoZmFjaWxpdGllcylnKFwoc2VlKTYzMCAyMTQ4Cit5KFNlY3Rpb24payg4LjYpaChbUHJvZ3JhbW1hYmxlKWYoQ29tcGxldGlvbl0sKWcocGFnZSlnKDExN1wpLikxNTAKKzIzMjYgeSBGcyhDT01QX1BPSU5UKTYzMCAyNDM2IHkgRnQoVGhlKTI1IGIoaW5kZXgpZyhvZiloKHRoZSlnKGN1cnJlbiltCiAodClmKGN1cnNvcilnKHApcyhvc2l0aW9uKWgocmVsYXRpdiltKGUpaSh0byllKHRoZSlnKGIpcyhlZ2lubmluZylmKG9mKQotZyh0aGUpaChjdXJyZW4pbSh0KTYzMCAyNDkxIHkoY29tbWFuZC4pNDAgYihJZikyNyBiKHRoZSloKGN1cnJlbiltKHQpZworZyh0aGUpaChjdXJyZW4pbSh0KTYzMCAyNTQ1IHkoY29tbWFuZC4pNDAgYihJZikyNyBiKHRoZSloKGN1cnJlbiltKHQpZwogKGN1cnNvcilnKHApcyhvc2l0aW9uKWcoaXMpZyhhdClnKHRoZSlnKGVuZClnKG9mKWcodGhlKWcoY3VycmVuKW0odClnCi0oY29tbWFuZCwpNjMwIDI2MDAgeSh0aGUpaSh2KS01IGIoYWx1ZSkzMCBiKG9mKWcodGhpcylnKHYpLTUKKyhjb21tYW5kLCk2MzAgMjY1NSB5KHRoZSlpKHYpLTUgYihhbHVlKTMwIGIob2YpZyh0aGlzKWcodiktNQogYihhcmlhYmxlKTMxIGIoaXMpZihlcXVhbClnKHRvKWggRnMoJHsjQ09NUF9MSU5FfSlwIEZ0KC4pMzcKIGIoVGhpcykyOSBiKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZihhKW0odiktNSBiKGFpbGFibGUpNjMwCi0yNzEwIHkob25seSkzNiBiKGluKWYoc2hlbGwpaChmdW5jdGlvbnMpZihhbmQpZyhleHRlcm5hbCloKGNvbW1hbmRzKWcKLShpbiltKHYpbShvayltKGVkKWgoYiltKHkpZSh0aGUpaChwcm9ncmFtbWFibGUpNjMwIDI4MTkKKzI3NjUgeShvbmx5KTM2IGIoaW4pZihzaGVsbCloKGZ1bmN0aW9ucylmKGFuZClnKGV4dGVybmFsKWgoY29tbWFuZHMpZworKGluKW0odiltKG9rKW0oZWQpaChiKW0oeSllKHRoZSloKHByb2dyYW1tYWJsZSk2MzAgMjg3NAogeShjb21wbGV0aW9uKWMoZmFjaWxpdGllcylnKFwoc2VlKWcoU2VjdGlvbilmKDguNilnKFtQcm9ncmFtbWFibGUpZwotKENvbXBsZXRpb25dLCloKHBhZ2UpZigxMTVcKS4pMTUwIDMwMTEgeSBGcyhDT01QX1RZUEUpNjMwCi0zMTIxIHkgRnQoU2V0KWModG8paChhbilmKGluKW0odGVnZXIpaCh2KS01IGIoYWx1ZSkyOAorKENvbXBsZXRpb25dLCloKHBhZ2UpZigxMTdcKS4pMTUwIDMwNTIgeSBGcyhDT01QX1RZUEUpNjMwCiszMTYyIHkgRnQoU2V0KWModG8paChhbilmKGluKW0odGVnZXIpaCh2KS01IGIoYWx1ZSkyOAogYihjb3JyZXNwKXMob25kaW5nKWUodG8paCh0aGUpaCh0KW0oeXApcyhlKWYob2YpZyhjb21wbGV0aW9uKWgKLShhdHRlbXB0ZWQpZyh0aGF0KTYzMCAzMjMwIHkoY2F1c2VkKWUoYSlnKGNvbXBsZXRpb24paShmdW5jdGlvbilkKHRvKWkKKyhhdHRlbXB0ZWQpZyh0aGF0KTYzMCAzMjcxIHkoY2F1c2VkKWUoYSlnKGNvbXBsZXRpb24paShmdW5jdGlvbilkKHRvKWkKIChiKXMoZSllKGNhbGxlZDopNDAgYiBGcShUKS04IGIoQUIpNSBiIEZ0KCwpMjcgYihmb3IpZihub3JtYWwpZwotKGNvbXBsZXRpb24sKWkoYClwIEZzKD8pcCBGdCgnLClmKGZvcik2MzAgMzM0MCB5KGxpc3RpbmcpMzUKKyhjb21wbGV0aW9uLClpKGApcCBGcyg/KXAgRnQoJywpZihmb3IpNjMwIDMzODEgeShsaXN0aW5nKTM1CiBiKGNvbXBsZXRpb25zKWgoYWZ0ZXIpZihzdWNjZXNzaXYpbShlKWcodGFicywpaChgKXAgRnMoISlwCiBGdCgnLClnKGZvcillKGxpc3RpbmcpaChhbHRlcm5hdGl2KW0oZXMpaShvbilkKHBhcnRpYWwpNjMwCi0zNDUwIHkodyltKG9yZCkyMiBiKGNvbXBsZXRpb24sKWsoYClwIEZzKEApcCBGdCgnLClmKHRvKWUobGlzdClnCiszNDkxIHkodyltKG9yZCkyMiBiKGNvbXBsZXRpb24sKWsoYClwIEZzKEApcCBGdCgnLClmKHRvKWUobGlzdClnCiAoY29tcGxldGlvbnMpaChpZilmKHRoZSlnKHcpbShvcmQpZihpcyloKG5vdClnKHVubW8pcyhkaVwwMTRlZCwpZihvciloCi0oYClwIEZzKFwwNDUpcCBGdCgnLCloKGZvcik2MzAgMzU1OSB5KG1lbiltKHUpaShjb21wbGV0aW9uLik0MQorKGApcCBGcyhcMDQ1KXAgRnQoJywpaChmb3IpNjMwIDM2MDAgeShtZW4pbSh1KWkoY29tcGxldGlvbi4pNDEKIGIoVGhpcykyNSBiKHYpLTUgYihhcmlhYmxlKTI3IGIoaXMpZyhhKW0odiktNSBiKGFpbGFibGUpMjgKIGIob25seSlmKGluKWYoc2hlbGwpZyhmdW5jdGlvbnMpZyhhbmQpZyhleHRlcm5hbCk2MzAKLTM2NjkgeShjb21tYW5kcykzMiBiKGluKW0odiltKG9rKW0oZWQpaShiKW0oeSllKHRoZSlnKHByb2dyYW1tYWJsZSloCiszNzEwIHkoY29tbWFuZHMpMzIgYihpbiltKHYpbShvayltKGVkKWkoYiltKHkpZSh0aGUpZyhwcm9ncmFtbWFibGUpaAogKGNvbXBsZXRpb24pZyhmYWNpbGl0aWVzKWkoXChzZWUpZShTZWN0aW9uKWcoOC42KTYzMAotMzc3OCB5KFtQcm9ncmFtbWFibGUpZShDb21wbGV0aW9uXSwpaChwYWdlKWYoMTE1XCkuKTE1MAotMzk3MCB5IEZzKENPTVBfS0VZKTk2IGIgRnQoVGhlKTI5IGIoayltKGV5KWkoXChvcilnKFwwMTRuYWwpZShrKW0oZXkpaQorMzgxOSB5KFtQcm9ncmFtbWFibGUpZShDb21wbGV0aW9uXSwpaChwYWdlKWYoMTE3XCkuKTE1MAorMzk5OCB5IEZzKENPTVBfS0VZKTk2IGIgRnQoVGhlKTI5IGIoayltKGV5KWkoXChvcilnKFwwMTRuYWwpZShrKW0oZXkpaQogKG9mKWYoYSlnKGspbShleSloKHNlcXVlbmNlXCkpZyh1c2VkKWUodG8paShpbiltKHYpbShvayltKGUpaCh0aGUpZQotKGN1cnJlbiltKHQpZyhjb21wbGV0aW9uKTYzMCA0MDgwIHkoZnVuY3Rpb24uKTE1MCA0MjcxCi15IEZzKENPTVBfV09SREJSRUFLUyk2MzAgNDM4MSB5IEZ0KFRoZSlmKHNldClpKG9mKWUoYyltKGhhcmFjdGVycylqCisoY3VycmVuKW0odClnKGNvbXBsZXRpb24pNjMwIDQxMDcgeShmdW5jdGlvbi4pMTUwIDQyODUKK3kgRnMoQ09NUF9XT1JEQlJFQUtTKTYzMCA0Mzk1IHkgRnQoVGhlKWYoc2V0KWkob2YpZShjKW0oaGFyYWN0ZXJzKWoKICh0aGF0KWUodGhlKWcoUmVhZGxpbmUpZyhsaWJyYXJ5KWcodHJlYXRzKWcoYXMpZyh3KW0ob3JkKWcoc2VwYXJhdG9ycylnCi0od2hlbik2MzAgNDQ5MSB5KHApcyhlcmZvcm1pbmcpaSh3KW0ob3JkKWgoY29tcGxldGlvbi4pNTEKKyh3aGVuKTYzMCA0NTA0IHkocClzKGVyZm9ybWluZylpKHcpbShvcmQpaChjb21wbGV0aW9uLik1MQogYihJZikzMyBiIEZzKENPTVBfV09SREJSRUFLUyljIEZ0KGlzKTM0IGIodW5zZXQsKWcoaXQpZihsb3NlcylpKGl0cyllCi0oc3ApcyhlY2lhbCk2MzAgNDYwMCB5KHByb3ApcyhlcnRpZXMsKWQoZXYpbShlbiloKGlmKWYoaXQpaChpcylnCisoc3ApcyhlY2lhbCk2MzAgNDYxNCB5KHByb3ApcyhlcnRpZXMsKWQoZXYpbShlbiloKGlmKWYoaXQpaChpcylnCiAoc3Vic2VxdWVuKW0odGx5KWYocmVzZXQuKTE1MCA0NzkyIHkgRnMoQ09NUF9XT1JEUyk2MzAKIDQ5MDIgeSBGdChBbikzNiBiKGFycmEpbSh5KWcodiktNSBiKGFyaWFibGUpMzcgYihjb25zaXN0aW5nKWcob2YpZih0aGUpCiBnKGluZGl2aWR1YWwpZih3KW0ob3JkcyloKGluKWYodGhlKWgoY3VycmVuKW0odClnKGNvbW1hbmQpNjMwCkBAIC05MzQ4LDk0MiArOTUzNiw5NzggQEAKIGIoVGhpcykzNiBiKHYpLTUgYihhcmlhYmxlKTM3IGIoaXMpZihhKW0odiktNSBiKGFpbGFibGUpMzkKIGIob25seSllKGluKWYoc2hlbGwpaChmdW5jLSk2MzAgNTIzMCB5KHRpb25zKTMyIGIoaW4pbSh2KW0ob2spbShlZClpKGIpCiBtKHkpZCh0aGUpaShwcm9ncmFtbWFibGUpZihjb21wbGV0aW9uKWgoZmFjaWxpdGllcyloKFwoc2VlKWYoU2VjdGlvbilnCi0oOC42KWcoW1Byby0pNjMwIDUzNDAgeShncmFtbWFibGUpZShDb21wbGV0aW9uXSwpZyhwYWdlKWcoMTE1XCkuKXAKKyg4LjYpZyhbUHJvLSk2MzAgNTM0MCB5KGdyYW1tYWJsZSllKENvbXBsZXRpb25dLClnKHBhZ2UpZygxMTdcKS4pcAogZW9wIGVuZAotJSVQYWdlOiA2NSA3MQotVGVYRGljdCBiZWdpbiA2NSA3MCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNTopNDEKLWIoU2hlbGwpMzAgYihWKS04IGIoYXJpYWJsZXMpMjQ1OSBiKDY1KTE1MCAyOTkgeSBGcyhDT01QUkVQTFkpNjMwCislJVBhZ2U6IDY3IDczCitUZVhEaWN0IGJlZ2luIDY3IDcyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig1Oik0MQorYihTaGVsbCkzMCBiKFYpLTggYihhcmlhYmxlcykyNDU5IGIoNjcpMTUwIDI5OSB5IEZzKENPTVBSRVBMWSk2MzAKIDQwOCB5IEZ0KEFuKTM3IGIoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSkzOCBiKGZyb20pZih3aGljKW0oaClnKEJhc2gpCiBnKHJlYWRzKWcodGhlKWgocClzKG9zc2libGUpZShjb21wbGV0aW9ucylqKGdlbmVyYXRlZCk2MzAKIDUxOCB5KGIpbSh5KTMzIGIoYSlnKHNoZWxsKWgoZnVuY3Rpb24pZihpbiltKHYpbShvayltKGVkKWgoYiltKHkpZih0aGUpCiBnKHByb2dyYW1tYWJsZSloKGNvbXBsZXRpb24pZyhmYWNpbGl0KW0oeSloKFwoc2VlKWYoU2VjLSk2MzAKLTYyOCB5KHRpb24pZCg4LjYpZyhbUHJvZ3JhbW1hYmxlKWcoQ29tcGxldGlvbl0sKWgocGFnZSlmKDExNVwpLikxNTAKLTc3NCB5IEZzKERJUlNUQUNLKTk2IGIgRnQoQW4pMjYgYihhcnJhKW0oeSloKHYpLTUgYihhcmlhYmxlKTI4Cis2MjggeSh0aW9uKWQoOC42KWcoW1Byb2dyYW1tYWJsZSlnKENvbXBsZXRpb25dLCloKHBhZ2UpZigxMTdcKS4pMTUwCis3ODkgeSBGcyhDT1BST0MpMTkyIGIgRnQoQW4pMjcgYihhcnJhKW0oeSlnKHYpLTUgYihhcmlhYmxlKTI4CitiKGNyZWF0ZWQpZyh0bylmKGhvbGQpZyh0aGUpZyhcMDE0bGUpZyhkZXNjcmlwdG9ycylnKGZvcilnKG91dHB1dClmCisoZnJvbSloKGFuZClmKGlucHV0KTYzMCA4OTkgeSh0bykzMSBiKGFuKWYodW5uYW1lZClmKGNvcHJvKXMoY2VzcylpCisoXChzZWUpZyhTZWN0aW9uKWgoMy4yLjUpZyhbQ29wcm8pcyhjZXNzZXNdLClmKHBhZ2UpZygxNFwpLikxNTAKKzEwNjEgeSBGcyhESVJTVEFDSyk5NiBiIEZ0KEFuKTI2IGIoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSkyOAogYihjb24pbSh0YWluaW5nKWcodGhlKWYoY3VycmVuKW0odClmKGNvbiltKHRlbiltKHRzKWoob2YpZSh0aGUpZgotKGRpcmVjdG9yeSlpKHN0YWMpbShrLik0MSBiKERpcmVjLSk2MzAgODgzIHkodG9yaWVzKTMzCisoZGlyZWN0b3J5KWkoc3RhYyltKGsuKTQxIGIoRGlyZWMtKTYzMCAxMTcwIHkodG9yaWVzKTMzCiBiKGFwcClzKGVhcilmKGluKWcodGhlKWgoc3RhYyltKGspaChpbillKHRoZSloKG9yZGVyKWYodGhleSloKGFyZSlnCiAoZGlzcGxhKW0oeSltKGVkKWcoYiltKHkpZih0aGUpaCBGcyhkaXJzKWUgRnQoYnVpbHRpbi4pNjMwCi05OTMgeShBc3NpZ25pbmcpZih0byloKG1lbSltKGIpcyhlcnMpZihvZilnKHRoaXMpZyhhcnJhKW0oeSlnKHYpLTUKKzEyODAgeShBc3NpZ25pbmcpZih0byloKG1lbSltKGIpcyhlcnMpZihvZilnKHRoaXMpZyhhcnJhKW0oeSlnKHYpLTUKIGIoYXJpYWJsZSkzMSBiKG1hKW0oeSlnKGIpcyhlKWUodXNlZCloKHRvKWgobW8pcyhkaWZ5KWUoZGlyZWN0b3JpZXMpNjMwCi0xMTAzIHkoYWxyZWFkeSk0MSBiKGluKWYodGhlKWgoc3RhYyltKGssKWsoYnV0KTQwIGIodGhlKWgKKzEzOTAgeShhbHJlYWR5KTQxIGIoaW4pZih0aGUpaChzdGFjKW0oaywpayhidXQpNDAgYih0aGUpaAogRnMocHVzaGQpZSBGdChhbmQpaCBGcyhwb3BkKWYgRnQoYnVpbHRpbnMpaChtKW0odXN0KWgoYilzKGUpZSh1c2VkKWgKLSh0bylpKGFkZCk2MzAgMTIxMiB5KGFuZCkzNyBiKHJlbW8pbSh2KW0oZSloKGRpcmVjdG9yaWVzLik2MworKHRvKWkoYWRkKTYzMCAxNDk5IHkoYW5kKTM3IGIocmVtbyltKHYpbShlKWgoZGlyZWN0b3JpZXMuKTYzCiBiKEFzc2lnbm1lbiltKHQpMzcgYih0byloKHRoaXMpZih2KS01IGIoYXJpYWJsZSkzOCBiKHdpbGwpZyhub3QpZihjKW0KLShoYW5nZSlpKHRoZSllKGN1ci0pNjMwIDEzMjIgeShyZW4pbSh0KWMoZGlyZWN0b3J5KS04CisoaGFuZ2UpaSh0aGUpZShjdXItKTYzMCAxNjA5IHkocmVuKW0odCljKGRpcmVjdG9yeSktOAogYiguKTQ3IGIoSWYpMzIgYiBGcyhESVJTVEFDSyllIEZ0KGlzKWkodW5zZXQsKWcoaXQpaChsb3NlcylnKGl0cylnKHNwKXMKIChlY2lhbClnKHByb3ApcyhlcnRpZXMsKWYoZXYpbShlbiloKGlmKWYoaXQpaChpcyk2MzAKLTE0MzEgeShzdWJzZXF1ZW4pbSh0bHkpZChyZXNldC4pMTUwIDE1NzcgeSBGcyhFTUFDUykyNDAKKzE3MTggeShzdWJzZXF1ZW4pbSh0bHkpZChyZXNldC4pMTUwIDE4ODAgeSBGcyhFTUFDUykyNDAKIGIgRnQoSWYpMzEgYihCYXNoKWgoXDAxNG5kcylkKHRoaXMpaih2KS01IGIoYXJpYWJsZSkzMgogYihpbilmKHRoZSloKGVuKW0odmlyb25tZW4pbSh0KWcod2hlbillKHRoZSlpKHNoZWxsKWYoc3RhcnRzKWgod2l0aClmCi0odiktNSBiKGFsdWUpNjMwIDE2ODcgeShgKXAgRnModClwIEZ0KCcsKTM4IGIoaXQpZShhc3N1bWVzKWcodGhhdClnCi0odGhlKWgoc2hlbGwpZihpcylnKHJ1bm5pbmcpZShpbilpKGFuKWcoZW1hY3MpZyhzaGVsbCloKGJ1XDAxM2VyKWUoYW5kKQotZyhkaXNhYmxlcyk2MzAgMTc5NyB5KGxpbmUpYyhlZGl0aW5nLikxNTAgMTk0MyB5IEZzKEVVSUQpMjg4Ci1iIEZ0KFRoZSkzMCBiKG4pbSh1bWVyaWMpZyhlXDAxM2VjdGl2KW0oZSlqKHVzZXIpZChpZClnKG9mKWcodGhlKWgKLShjdXJyZW4pbSh0KWYodXNlci4pNDAgYihUaGlzKTMwIGIodiktNSBiKGFyaWFibGUpMzEKLWIoaXMpZihyZWFkb25seSktOCBiKC4pMTUwIDIwODkgeSBGcyhGQ0VESVQpMTkyIGIgRnQoVGhlKTMwCi1iKGVkaXRvciloKHVzZWQpZShhcylpKGEpZyhkZWZhdWx0KWYoYiltKHkpaCh0aGUpZihgKXAKKyh2KS01IGIoYWx1ZSk2MzAgMTk5MCB5KGApcCBGcyh0KXAgRnQoJywpMzYgYihpdClmKGFzc3VtZXMpZih0aGF0KWgKKyh0aGUpZyhzaGVsbClmKGlzKWgocnVubmluZyllKGluKWgoYW4pZyhFbWFjcyloKHNoZWxsKWcoYnVcMDEzZXIpZShhbmQpCitoKGRpc2FibGVzKTYzMCAyMDk5IHkobGluZSlkKGVkaXRpbmcuKTE1MCAyMjYxIHkgRnMoRU5WKTMzNgorYiBGdChTaW1pbGFyKTM1IGIodG8pZyBGcyhCQVNIX0VOVilwIEZ0KDspaCh1c2VkKWUod2hlbilnKHRoZSloKHNoZWxsKWcKKyhpcylnKGluKW0odiltKG9rKW0oZWQpaChpbillIEZsKHBvc2l4KWggRnQoTW8pcyhkZSlnKFwoc2VlKWcoU2VjLSk2MzAKKzIzNzEgeSh0aW9uKWMoNi4xMSloKFtCYXNoKWYoUE9TSVgpZShNbylzKGRlXSwpaShwYWdlKWcoODZcKS4pMTUwCisyNTMyIHkgRnMoRVVJRCkyODggYiBGdChUaGUpMzAgYihuKW0odW1lcmljKWcoZVwwMTNlY3RpdiltKGUpaih1c2VyKWQKKyhpZClnKG9mKWcodGhlKWgoY3VycmVuKW0odClmKHVzZXIuKTQwIGIoVGhpcykzMCBiKHYpLTUKK2IoYXJpYWJsZSkzMSBiKGlzKWYocmVhZG9ubHkpLTggYiguKTE1MCAyNjk0IHkgRnMoRkNFRElUKTE5MgorYiBGdChUaGUpMzAgYihlZGl0b3IpaCh1c2VkKWUoYXMpaShhKWcoZGVmYXVsdClmKGIpbSh5KWgodGhlKWYoYClwCiBGcygtZSlwIEZ0KCcpZyhvcHRpb24paCh0bylnKHRoZSlnIEZzKGZjKWYgRnQoYnVpbHRpbilnKGNvbW1hbmQuKTE1MAotMjIzNSB5IEZzKEZJR05PUkUpMTQ0IGIgRnQoQSkzNSBiKGNvbG9uLXNlcGFyYXRlZClpKGxpc3QpZihvZilnCisyODU2IHkgRnMoRklHTk9SRSkxNDQgYiBGdChBKTM1IGIoY29sb24tc2VwYXJhdGVkKWkobGlzdClmKG9mKWcKIChzdVwwMTZ4ZXMpZSh0bylpKGlnbm9yZSlnKHdoZW4pZShwKXMoZXJmb3JtaW5nKWcoXDAxNGxlbmFtZSlpKGNvbXBsZS0pCi02MzAgMjM0NSB5KHRpb24uKWooQSkyNSBiKFwwMTRsZSlnKG5hbWUpZyh3aG9zZSlmKHN1XDAxNngpZyhtYXRjKW0oaGVzKQorNjMwIDI5NjYgeSh0aW9uLilqKEEpMjUgYihcMDE0bGUpZyhuYW1lKWcod2hvc2UpZihzdVwwMTZ4KWcobWF0YyltKGhlcykKIGkob25lKWYob2YpZyh0aGUpZyhlbiltKHRyaWVzKWcoaW4pZyBGcyhGSUdOT1JFKWQgRnQoaXMpaihleGNsdWRlZCk2MzAKLTI0NTQgeShmcm9tKTMwIGIodGhlKWcobGlzdCloKG9mKWcobWF0YyltKGhlZClnKFwwMTRsZSlnKG5hbWVzLik0MAorMzA3NSB5KGZyb20pMzAgYih0aGUpZyhsaXN0KWgob2YpZyhtYXRjKW0oaGVkKWcoXDAxNGxlKWcobmFtZXMuKTQwCiBiKEEpMzEgYihzYW1wbGUpZih2KS01IGIoYWx1ZSkzMSBiKGlzKWcoYClwIEZzKC5vOn4pcAotRnQoJykxNTAgMjYwMCB5IEZzKEZVTkNOQU1FKTk2IGIgRnQoQW4pMzUgYihhcnJhKW0oeSlpKHYpLTUKK0Z0KCcpMTUwIDMyMzcgeSBGcyhGVU5DTkFNRSk5NiBiIEZ0KEFuKTM1IGIoYXJyYSltKHkpaSh2KS01CiBiKGFyaWFibGUpMzYgYihjb24pbSh0YWluaW5nKWgodGhlKWYobmFtZXMpZyhvZilnKGFsbClnKHNoZWxsKWcKLShmdW5jdGlvbnMpZyhjdXJyZW4pbSh0bHkpZihpbiloKHRoZSk2MzAgMjcxMCB5KGV4ZWN1dGlvbilnKGNhbGwpaAorKGZ1bmN0aW9ucylnKGN1cnJlbiltKHRseSlmKGluKWgodGhlKTYzMCAzMzQ2IHkoZXhlY3V0aW9uKWcoY2FsbCloCiAoc3RhYyltKGsuKTU3IGIoVGhlKTM0IGIoZWxlbWVuKW0odClqKHdpdGgpZShpbmRleClnKDApaChpcylmKHRoZSlnCi0obmFtZSloKG9mKWYoYW4pbSh5KWgoY3VycmVuKW0odGx5LSk2MzAgMjgxOSB5KGV4ZWN1dGluZylpKHNoZWxsKWYKLShmdW5jdGlvbi4pNjEgYihUaGUpMzYgYihiKXMob3R0b20tbW9zdClpKGVsZW1lbiltKHQpaChpcyllCi1GcygibWFpbiIpcCBGdCguKTU5IGIoVGhpcykzNiBiKHYpLTUgYihhcmlhYmxlKTYzMCAyOTI5Ci15KGV4aXN0cykzMyBiKG9ubHkpZyh3aGVuKWYoYSloKHNoZWxsKWcoZnVuY3Rpb24pZihpcyloKGV4ZWN1dGluZy4pNDkKLWIoQXNzaWdubWVuKW0odHMpMzMgYih0bylnIEZzKEZVTkNOQU1FKWUgRnQoaGEpbSh2KW0oZSk2MzAKLTMwMzkgeShubykzNiBiKGVcMDEzZWN0KWgoYW5kKWUocmV0dXJuKWYoYW4paShlcnJvcilmKHN0YXR1cy4pNTcKLWIoSWYpMzYgYiBGcyhGVU5DTkFNRSlkIEZ0KGlzKWoodW5zZXQsKWgoaXQpZihsb3NlcylnKGl0cylnKHNwKXMoZWNpYWwpCi02MzAgMzE0OCB5KHByb3ApcyhlcnRpZXMsKTMwIGIoZXYpbShlbiloKGlmKWYoaXQpaChpcylnKHN1YnNlcXVlbiltCi0odGx5KWYocmVzZXQuKTE1MCAzMjk0IHkgRnMoR0xPQklHTk9SRSk2MzAgMzQwNCB5IEZ0KEEpMzgKLWIoY29sb24tc2VwYXJhdGVkKWkobGlzdClmKG9mKWYocGF0dGVybnMpZyhkZVwwMTRuaW5nKWYodGhlKWgoc2V0KWcob2YpCi1oKFwwMTRsZW5hbWVzKWYodG8pZyhiKXMoZSlnKGlnbm9yZWQpNjMwIDM1MTMgeShiKW0oeSkzMQotYihcMDE0bGVuYW1lKWcoZXhwYW5zaW9uLik0MyBiKElmKTMxIGIoYSloKFwwMTRsZW5hbWUpZihtYXRjKW0oaGVkKWgoYikKLW0oeSlmKGEpZyhcMDE0bGVuYW1lKWgoZXhwYW5zaW9uKWYocGF0dGVybik2MzAgMzYyMyB5KGFsc28paShtYXRjKW0KLShoZXMpZyhvbmUpZihvZilnKHRoZSlnKHBhdHRlcm5zKWcoaW4pZiBGcyhHTE9CSUdOT1JFKXAKLUZ0KCwpZihpdClpKGlzKWcocmVtbyltKHYpbShlZCloKGZyb20pZSh0aGUpaChsaXN0KWgob2YpNjMwCi0zNzMzIHkobWF0YyltKGhlcy4pMTUwIDM4NzkgeSBGcyhHUk9VUFMpMTkyIGIgRnQoQW4pMzYKLWIoYXJyYSltKHkpZyh2KS01IGIoYXJpYWJsZSkzNyBiKGNvbiltKHRhaW5pbmcpZyh0aGUpZihsaXN0KWgob2YpZgotKGdyb3VwcylnKG9mKWcod2hpYyltKGgpZih0aGUpaShjdXJyZW4pbSh0KWUodXNlciloKGlzKWcoYSk2MzAKLTM5ODggeShtZW0pbShiKXMoZXIuKTQ3IGIoQXNzaWdubWVuKW0odHMpMzMgYih0bylnIEZzKEdST1VQUyllCi1GdChoYSltKHYpbShlKWoobm8pZihlXDAxM2VjdCloKGFuZCllKHJldHVybilnKGFuKWcoZXJyb3IpZyhzdGF0dXMuKTQ4Ci1iKElmKTYzMCA0MDk4IHkgRnMoR1JPVVBTKTI5IGIgRnQoaXMpaCh1bnNldCwpZyhpdCloKGxvc2VzKWcoaXRzKWcoc3ApcwotKGVjaWFsKWcocHJvcClzKGVydGllcywpZihldiltKGVuKWgoaWYpZihpdCloKGlzKWcoc3Vic2VxdWVuKW0odGx5KWYKLShyZXNldC4pMTUwIDQyNDQgeSBGcyhoaXN0Y2hhcnMpNjMwIDQzNTQgeSBGdChVcCljKHRvKWcodGhyZWUpZyhjKW0KLShoYXJhY3RlcnMpaSh3aGljKW0oaClkKGNvbiltKHRyb2wpaihoaXN0b3J5KWQoZXhwYW5zaW9uLClpKHF1aWMpbShrKWcKLShzdWJzdGl0dXRpb24sKWcoYW5kKTYzMCA0NDYzIHkodG9rKW0oZW5pemF0aW9uKWsoXChzZWUpZihTZWN0aW9uKWYKLSg5LjMpaChbSGlzdG9yeSlmKEluKW0odGVyYWN0aW9uXSwpaShwYWdlKWYoMTIzXCkuKTQxCi1iKFRoZSkyOSBiKFwwMTRyc3QpZShjKW0oaGFyYWMtKTYzMCA0NTczIHkodGVyKWooaXMpZih0aGUpZwotRnEoaGlzdG9yeSlnKGV4cGFuc2lvbilnIEZ0KGMpbShoYXJhY3Rlciwpaih0aGF0KWUoaXMsKWYodGhlKWgoYyltCi0oaGFyYWN0ZXIpaCh3aGljKW0oaClkKHNpZ25pXDAxNGVzKWkodGhlKTYzMCA0NjgyIHkoc3RhcnQpMjUKLWIob2YpZihhKWgoaGlzdG9yeSlmKGV4cGFuc2lvbiwpaShub3JtYWxseSllKGApcCBGcyghKXAKLUZ0KCcuKTM5IGIoVGhlKTI0IGIoc2Vjb25kKWcoYyltKGhhcmFjdGVyKWkoaXMpZSh0aGUpZyhjKW0oaGFyYWN0ZXIpNjMwCi00NzkyIHkod2hpYyltKGgpMzYgYihzaWduaVwwMTRlcylnKGBxdWljKW0oayloKHN1YnN0aXR1dGlvbicpZih3aGVuKWYKLShzZWVuKWgoYXMpZyh0aGUpZyhcMDE0cnN0KWYoYyltKGhhcmFjdGVyKWoob24pZShhKWcobGluZSwpNjMwCi00OTAyIHkobm9ybWFsbHkpMjcgYihgKXAgRnMoXilwIEZ0KCcuKTM5IGIoVGhlKTI2IGIob3B0aW9uYWwpaSh0aGlyZClkCi0oYyltKGhhcmFjdGVyKWooaXMpZSh0aGUpaChjKW0oaGFyYWN0ZXIpaCh3aGljKW0oaCllKGluZGljYXRlcyloKHRoYXQpCi02MzAgNTAxMSB5KHRoZSkzNCBiKHJlbWFpbmRlcilmKG9mKWgodGhlKWcobGluZSlnKGlzKWYoYSloKGNvbW1lbiltKHQpaAotKHdoZW4pZShmb3VuZClmKGFzKWkodGhlKWcoXDAxNHJzdClmKGMpbShoYXJhY3RlcilpKG9mKWYoYSk2MzAKLTUxMjEgeSh3KW0ob3JkLClpKHVzdWFsbHkpZihgKXAgRnMoIylwIEZ0KCcuKTU1IGIoVGhlKTM0Ci1iKGhpc3RvcnkpaChjb21tZW4pbSh0KWgoYyltKGhhcmFjdGVyKWgoY2F1c2VzKWUoaGlzdG9yeSlnCi0oc3Vic3RpdHV0aW9uKTYzMCA1MjMwIHkodG8pMjcgYihiKXMoZSlmKHNraXBwKXMoZWQpZihmb3IpaSh0aGUpZgotKHJlbWFpbmluZyloKHcpbShvcmRzKWYob24paCh0aGUpZihsaW5lLik0MCBiKEl0KTI3IGIoZG8pcyhlcylmKG5vdCloCi0obmVjZXNzYXJpbHkpZyhjYXVzZSk2MzAgNTM0MCB5KHRoZSlrKHNoZWxsKWYocGFyc2VyKWcodG8paCh0cmVhdClnCi0odGhlKWcocmVzdClnKG9mKWYodGhlKWgobGluZSlmKGFzKWgoYSlnKGNvbW1lbiltKHQuKXAKLWVvcCBlbmQKLSUlUGFnZTogNjYgNzIKLVRlWERpY3QgYmVnaW4gNjYgNzEgYm9wIDE1MCAtMTE2IGEgRnQoNjYpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyhISVNUQ01EKTE0NCBiIEZ0KFRoZSkzNQotYihoaXN0b3J5KWgobiltKHVtKW0oYilzKGVyLClnKG9yKWYoaW5kZXgpZyhpbiloKHRoZSlnKGhpc3RvcnkpZihsaXN0LCkKLWoob2YpZSh0aGUpZyhjdXJyZW4pbSh0KWYoY29tbWFuZC4pNTYgYihJZik2MzAgNDA4IHkKLUZzKEhJU1RDTUQpMjggYiBGdChpcyloKHVuc2V0LCloKGl0KWcobG9zZXMpaChpdHMpZihzcClzKGVjaWFsKWcocHJvcClzCi0oZXJ0aWVzLClnKGV2KW0oZW4pZyhpZilnKGl0KWcoaXMpZyhzdWJzZXF1ZW4pbSh0bHkpZihyZXNldC4pMTUwCi01NTIgeSBGcyhISVNUQ09OVFJPTCk2MzAgNjYxIHkgRnQoQSk0MCBiKGNvbG9uLXNlcGFyYXRlZClpKGxpc3QpZihvZilmCi0odiktNSBiKGFsdWVzKTQwIGIoY29uKW0odHJvbGxpbmcpaShobyltKHcpZShjb21tYW5kcylnKGFyZSloKHNhKW0odiltCi0oZWQpZyhvbilmKHRoZSk2MzAgNzcxIHkoaGlzdG9yeSkyOSBiKGxpc3QuKTQxIGIoSWYpMjgKLWIodGhlKWgobGlzdCloKG9mKWYodiktNSBiKGFsdWVzKTI5IGIoaW5jbHVkZXMpZihgKXAKLUZzKGlnbm9yZXNwYWNlKXAgRnQoJywpZihsaW5lcylpKHdoaWMpbShoKWcoYilzKGVnaW4pZih3aXRoKTYzMAotODgxIHkoYSkzOSBiKHNwYWNlKWcoYyltKGhhcmFjdGVyKWkoYXJlKWUobm90KWcoc2EpbSh2KW0oZWQpZyhpbilnKHRoZSkKLWcoaGlzdG9yeSlmKGxpc3QuKTY2IGIoQSkzOSBiKHYpLTUgYihhbHVlKTM5IGIob2YpZyhgKXAKLUZzKGlnbm9yZWR1cHMpcCBGdCgnKTYzMCA5OTAgeShjYXVzZXMpMzQgYihsaW5lcyloKHdoaWMpbShoKWYobWF0YyltKGgpCi1oKHRoZSlmKHByZXZpb3VzKWYoaGlzdG9yeSloKGVuKW0odHJ5KWgodG8pZyhub3QpZihiKXMoZSlmKHNhKW0odiltCi0oZWQuKTUzIGIoQSkzNCBiKHYpLTUgYihhbHVlKTYzMCAxMTAwIHkob2YpMzIgYihgKXAgRnMoaWdub3JlYm90aClwCi1GdCgnKWQoaXMpaihzaG9ydGhhbmQpZShmb3IpaShgKXAgRnMoaWdub3Jlc3BhY2UpcCBGdCgnKWQoYW5kKWkoYClwCi1GcyhpZ25vcmVkdXBzKXAgRnQoJy4pNDIgYihBKTMyIGIodiktNSBiKGFsdWUpMzIgYihvZik2MzAKLTEyMDkgeShgKXAgRnMoZXJhc2VkdXBzKXAgRnQoJylmKGNhdXNlcylpKGFsbCloKHByZXZpb3VzKWYobGluZXMpZwotKG1hdGMpbShoaW5nKWgodGhlKWYoY3VycmVuKW0odClnKGxpbmUpZyh0byloKGIpcyhlKWUocmVtbyltKHYpbShlZCk2MzAKLTEzMTkgeShmcm9tKTQyIGIodGhlKWgoaGlzdG9yeSlmKGxpc3QpaShiKXMoZWZvcmUpZSh0aGF0KWgobGluZSlnKGlzKWcKLShzYSltKHYpbShlZC4pNzggYihBbiltKHkpNDMgYih2KS01IGIoYWx1ZSk0MyBiKG5vdClnKGluKWYodGhlKWgoYWIpcwotKG8pbSh2KW0oZSk2MzAgMTQyOCB5KGxpc3QpMzUgYihpcylnKGlnbm9yZWQuKTUzIGIoSWYpMzQKLWIgRnMoSElTVENPTlRST0wpZSBGdChpcylpKHVuc2V0LClpKG9yKWUoZG8pcyhlcyloKG5vdClnKGluY2x1ZGUpZihhKWgKLSh2KS01IGIoYWxpZCkzNSBiKHYpLTUgYihhbHVlLCkzNiBiKGFsbCk2MzAgMTUzOCB5KGxpbmVzKTMwCi1iKHJlYWQpZyhiKW0oeSlnKHRoZSlnKHNoZWxsKWcocGFyc2VyKWcoYXJlKWcoc2EpbSh2KW0oZWQpaChvbilmKHRoZSlnCi0oaGlzdG9yeSlnKGxpc3QsKWgoc3ViKTUgYihqZWN0KTMwIGIodG8pZyh0aGUpZyh2KS01Ci1iKGFsdWUpNjMwIDE2NDggeShvZik0MiBiIEZzKEhJU1RJR05PUkUpcCBGdCguKTczIGIoVGhlKTQyCi1iKHNlY29uZClnKGFuZClnKHN1YnNlcXVlbiltKHQpZihsaW5lcyloKG9mKWgoYSlmKG0pbSh1bHRpLWxpbmUpaChjb21wKQotcyhvdW5kKTYzMCAxNzU3IHkoY29tbWFuZCkzMyBiKGFyZSloKG5vdClnKHRlc3RlZCwpaShhbmQpZChhcmUpaChhZGRlZCkKLWYodG8paCh0aGUpZyhoaXN0b3J5KWcocmVnYXJkbGVzcylnKG9mKWcodGhlKWYodiktNSBiKGFsdWUpNjMwCi0xODY3IHkob2YpMzEgYiBGcyhISVNUQ09OVFJPTClwIEZ0KC4pMTUwIDIwMTAgeSBGcyhISVNURklMRSk5NgotYiBGdChUaGUpMjcgYihuYW1lKWgob2YpZyh0aGUpZyhcMDE0bGUpZyh0byloKHdoaWMpbShoKWYodGhlKWcoY29tbWFuZCkKLWYoaGlzdG9yeSloKGlzKWcoc2EpbSh2KW0oZWQuKTQxIGIoVGhlKTI3IGIoZGVmYXVsdCloKHYpLTUKLWIoYWx1ZSk2MzAgMjEyMCB5KGlzKTMwIGIoYClwIEZzKH4vLmJhc2hfaGlzdG9yeSlwIEZ0KCcuKTE1MAotMjI2MyB5IEZzKEhJU1RGSUxFU0laRSk2MzAgMjM3MyB5IEZ0KFRoZSljKG1heGltKW0odW0pZihuKW0odW0pbShiKXMKLShlcilnKG9mKWgobGluZXMpaChjb24pbSh0YWluZWQpZyhpbilmKHRoZSlnKGhpc3RvcnkpZyhcMDE0bGUuKTM5Ci1iKFdoZW4pMjYgYih0aGlzKWcodiktNSBiKGFyaWFibGUpNjMwIDI0ODIgeShpcykzMyBiKGFzc2lnbmVkKWgoYSlnKHYpCi0tNSBiKGFsdWUsKTM1IGIodGhlKWYoaGlzdG9yeSlmKFwwMTRsZSlnKGlzKWgodHJ1bmNhdGVkLClnKGlmKWcKLShuZWNlc3NhcnkpLTggYigsKTM1IGIoYiltKHkpZShyZW1vKW0odmluZylpKHRoZSk2MzAKLTI1OTIgeShvbGRlc3QpMjkgYihlbiltKHRyaWVzLClnKHRvKWcoY29uKW0odGFpbilnKG5vKWYobW9yZSlnKHRoYW4pZgotKHRoYXQpaShuKW0odW0pbShiKXMoZXIpZShvZiloKGxpbmVzLik0MCBiKFRoZSkyNyBiKGhpc3RvcnkpaChcMDE0bGUpZwotKGlzKTYzMCAyNzAxIHkoYWxzbykzMyBiKHRydW5jYXRlZCllKHRvKWgodGhpcylnKHNpemUpZyhhZnRlcilnCi0od3JpdGluZylnKGl0KWcod2hlbilmKGFuKWcoaW4pbSh0ZXJhY3RpdiltKGUpayhzaGVsbCljKGV4aXRzLik0NQotYihUaGUpNjMwIDI4MTEgeShkZWZhdWx0KTMxIGIodiktNSBiKGFsdWUpMzAgYihpcyloKDUwMC4pMTUwCi0yOTU0IHkgRnMoSElTVElHTk9SRSk2MzAgMzA2NCB5IEZ0KEEpaShjb2xvbi1zZXBhcmF0ZWQpaChsaXN0KWYob2YpZwotKHBhdHRlcm5zKWYodXNlZClnKHRvKWgoZGVjaWRlKWcod2hpYyltKGgpZihjb21tYW5kKWcobGluZXMpaChzaG91bGQpCi02MzAgMzE3MyB5KGIpcyhlKWYoc2EpbSh2KW0oZWQpaChvbilnKHRoZSlmKGhpc3RvcnkpaChsaXN0Lik0NwotYihFYWMpbShoKTMzIGIocGF0dGVybilnKGlzKWYoYW5jKW0oaG9yZWQpaChhdClnKHRoZSlmKGIpcyhlZ2lubmluZylnCi0ob2YpaCh0aGUpNjMwIDMyODMgeShsaW5lKTQzIGIoYW5kKWUobSltKHVzdCloKG1hdGMpbShoKWgodGhlKWcKLShjb21wbGV0ZSloKGxpbmUpZShcKG5vKWgoaW1wbGljaXQpZyhgKXAgRnMoKilwIEZ0KCcpZihpcylnKGFwcClzCi0oZW5kZWRcKS4pNzUgYihFYWMpbShoKTYzMCAzMzkzIHkocGF0dGVybik0MiBiKGlzKWcodGVzdGVkKWcoYWdhaW5zdCloCi0odGhlKWYobGluZSlnKGFmdGVyKWcodGhlKWcoYyltKGhlYyltKGtzKWgoc3ApcyhlY2lcMDE0ZWQpZShiKW0oeSloCi1GcyhISVNUQ09OVFJPTCk2MzAgMzUwMiB5IEZ0KGFyZSkzNyBiKGFwcGxpZWQuKTU5IGIoSW4pMzYKLWIoYWRkaXRpb24paCh0bylnKHRoZSlnKG5vcm1hbClnKHNoZWxsKWYocGF0dGVybiloKG1hdGMpbShoaW5nKWgoYyltCi0oaGFyYWN0ZXJzLClpKGApcCBGcygmKXAgRnQoJyk2MzAgMzYxMiB5KG1hdGMpbShoZXMpZCh0aGUpZihwcmV2aW91cylnCi0oaGlzdG9yeSlnKGxpbmUuKTU3IGIoYClwIEZzKCYpcCBGdCgnKTM2IGIobWEpbSh5KWgoYilzKGUpZShlc2NhcClzKGVkKQotaCh1c2luZylnKGEpZyhiYWMpbShrc2xhc2g7KWsodGhlKTYzMCAzNzIxIHkoYmFjKW0oa3NsYXNoKTM0Ci1iKGlzKWcocmVtbyltKHYpbShlZCloKGIpcyhlZm9yZSllKGF0dGVtcHRpbmcpaShhKWcobWF0YyltKGguKTUxCi1iKFRoZSkzNCBiKHNlY29uZClmKGFuZCloKHN1YnNlcXVlbiltKHQpNjMwIDM4MzEgeShsaW5lcyllKG9mKWgoYSlnKG0pbQotKHVsdGktbGluZSlnKGNvbXApcyhvdW5kKWUoY29tbWFuZCloKGFyZSloKG5vdClmKHRlc3RlZCwpaShhbmQpZShhcmUpZwotKGFkZGVkKWcodG8paCh0aGUpNjMwIDM5NDEgeShoaXN0b3J5KWQocmVnYXJkbGVzcyloKG9mKWcodGhlKWYodiktNQotYihhbHVlKTMxIGIob2YpZyBGcyhISVNUSUdOT1JFKXAgRnQoLik2MzAgNDA2NyB5IEZzKEhJU1RJR05PUkUpMjAKLWIgRnQoc3Vic3VtZXMpZyh0aGUpaihmdW5jdGlvbilmKG9mKWggRnMoSElTVENPTlRST0wpcAotRnQoLikzNSBiKEEpMjMgYihwYXR0ZXJuKWYob2YpaChgKXAgRnMoJilwIEZ0KCcpZyhpcylmKGlkZW4pbSh0aWNhbCk2MzAKLTQxNzcgeSh0bylrIEZzKGlnbm9yZWR1cHMpcCBGdCgsKWUoYW5kKWgoYSloKHBhdHRlcm4pZyhvZilmKGApcAotRnMoWykzMSBiKF0qKXAgRnQoJykyNSBiKGlzKWgoaWRlbiltKHRpY2FsKWgodG8pZiBGcyhpZ25vcmVzcGFjZSlwCi1GdCguKTM2IGIoQ29tKW0oYmluaW5nKTYzMCA0Mjg2IHkodGhlc2UpMzAgYih0KW0odyltKG8paChwYXR0ZXJucywpZgotKHNlcGFyYXRpbmcpZyh0aGVtKWcod2l0aClmKGEpaChjb2xvbiwpaChwcm8pbSh2aWRlcyllKHRoZSloCi0oZnVuY3Rpb25hbGl0KW0oeSloKG9mKTYzMCA0Mzk2IHkgRnMoaWdub3JlYm90aClwIEZ0KC4pMTUwCi00NTM5IHkgRnMoSElTVFNJWkUpOTYgYiBGdChUaGUpNDIgYihtYXhpbSltKHVtKWcobiltKHVtKW0oYilzKGVyKWYob2YpaQotKGNvbW1hbmRzKWUodG8paihyZW1lbSltKGIpcyhlcilkKG9uKWgodGhlKWgoaGlzdG9yeSlmKGxpc3QuKTc3Ci1iKFRoZSk2MzAgNDY0OSB5KGRlZmF1bHQpMzEgYih2KS01IGIoYWx1ZSkzMCBiKGlzKWgoNTAwLikxNTAKLTQ3OTIgeSBGcyhISVNUVElNRUZPUk1BVCk2MzAgNDkwMiB5IEZ0KElmKTQ0IGIodGhpcylnKHYpLTUKLWIoYXJpYWJsZSk0NSBiKGlzKWYoc2V0KWcoYW5kKWcobm90KWcobiltKHVsbCwpayhpdHMpZCh2KS01Ci1iKGFsdWUpNDQgYihpcylnKHVzZWQpZyhhcylnKGEpaChmb3JtYXQpZihzdHJpbmcpZyhmb3IpNjMwCi01MDExIHkgRnEoc3RyZnRpbWUpYyBGdCh0bykzNSBiKHByaW4pbSh0KWYodGhlKWgodGltZSlnKHN0YW1wKWYoYXNzbylzCi0oY2lhdGVkKWkod2l0aClmKGVhYyltKGgpZyhoaXN0b3J5KWcoZW4pbSh0cnkpZihkaXNwbGEpbSh5KW0oZWQpNjMwCi01MTIxIHkoYiltKHkpZyh0aGUpZiBGcyhoaXN0b3J5KWYgRnQoYnVpbHRpbi4pNTAgYihJZikzMwotYih0aGlzKWgodiktNSBiKGFyaWFibGUpMzQgYihpcylnKHNldCwpaCh0aW1lKWYoc3RhbXBzKWcoYXJlKWcod3JpdHRlbikKLWYodG8paSh0aGUpNjMwIDUyMzAgeShoaXN0b3J5KTI2IGIoXDAxNGxlKWcoc28pZyh0aGV5KWcobWEpbSh5KWgoYilzKGUpCi1lKHByZXNlcnYpbShlZClnKGFjcm9zcylpKHNoZWxsKWYoc2Vzc2lvbnMuKTM5IGIoVGhpcykyNQotYih1c2VzKWgodGhlKWcoaGlzdG9yeSk2MzAgNTM0MCB5KGNvbW1lbiltKHQpMzEgYihjKW0oaGFyYWN0ZXIpaCh0bylmCi0oZGlzdGluZ3Vpc2gpZih0aW1lc3RhbXBzKWgoZnJvbSlmKG90aGVyKWcoaGlzdG9yeSloKGxpbmVzLilwCi1lb3AgZW5kCi0lJVBhZ2U6IDY3IDczCi1UZVhEaWN0IGJlZ2luIDY3IDcyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig1Oik0MQotYihTaGVsbCkzMCBiKFYpLTggYihhcmlhYmxlcykyNDU5IGIoNjcpMTUwIDI5OSB5IEZzKEhPU1RGSUxFKTk2Ci1iIEZ0KENvbiltKHRhaW5zKTM5IGIodGhlKWYobmFtZSlnKG9mKWgoYSlnKFwwMTRsZSlmKGluKWcodGhlKWcoc2FtZSloCi0oZm9ybWF0KWcoYXMpZihgKXAgRnMoL2V0Yy9ob3N0cylwIEZ0KCcpZSh0aGF0KWooc2hvdWxkKTYzMAotNDA4IHkoYilzKGUpaShyZWFkKWgod2hlbilmKHRoZSlpKHNoZWxsKWYobmVlZHMpZih0bylpKGNvbXBsZXRlKWgoYSllCi0oaG9zdG5hbWUuKTc2IGIoVGhlKTQyIGIobGlzdClnKG9mKWcocClzKG9zc2libGUpNjMwCi01MTggeShob3N0bmFtZSkyNiBiKGNvbXBsZXRpb25zKWcobWEpbSh5KWgoYilzKGUpZChjKW0oaGFuZ2VkKWood2hpbGUpZQotKHRoZSloKHNoZWxsKWcoaXMpZihydW5uaW5nOyloKHRoZSlnKG5leHQpZih0aW1lKTYzMAotNjI4IHkoaG9zdG5hbWUpMzcgYihjb21wbGV0aW9uKWkoaXMpZShhdHRlbXB0ZWQpaChhZnRlcilnKHRoZSlmKHYpLTUKLWIoYWx1ZSkzNyBiKGlzKWgoYyltKGhhbmdlZCwpaChCYXNoKWUoYWRkcylnKHRoZSk2MzAKLTczNyB5KGNvbiltKHRlbiltKHRzKTQzIGIob2YpZih0aGUpZihuZXcpZyhcMDE0bGUpaCh0bylnKHRoZSlmCi0oZXhpc3RpbmcpaShsaXN0Lik3NCBiKElmKTQxIGIgRnMoSE9TVEZJTEUpZSBGdChpcylpKHNldCwpayhidXQpYyhoYXMpZwotKG5vKTYzMCA4NDcgeSh2KS01IGIoYWx1ZSwpMjkgYihvcillKGRvKXMoZXMpaChub3QpZyhuYW1lKWYoYSloCi0ocmVhZGFibGUpZyhcMDE0bGUsKWgoQmFzaClmKGF0dGVtcHRzKWcodG8pZyhyZWFkKWcoYClwCi1GcygvZXRjL2hvc3RzKXAgRnQoJylkKHRvKTYzMCA5NTYgeShvYnRhaW4paih0aGUpZyhsaXN0KWgob2YpZihwKXMKLShvc3NpYmxlKWYoaG9zdG5hbWUpaChjb21wbGV0aW9ucy4pNDEgYihXaGVuKTI4IGIgRnMoSE9TVEZJTEUpZQotRnQoaXMpaSh1bnNldCwpZyh0aGUpNjMwIDEwNjYgeShob3N0bmFtZSlqKGxpc3QpZyhpcylmKGNsZWFyZWQuKTE1MAotMTIyNiB5IEZzKEhPU1ROQU1FKTk2IGIgRnQoVGhlKTMwIGIobmFtZSlnKG9mKWgodGhlKWYoY3VycmVuKW0odCloCi0oaG9zdC4pMTUwIDEzODYgeSBGcyhIT1NUVFlQRSk5NiBiIEZ0KEEpMzAgYihzdHJpbmcpaChkZXNjcmliaW5nKWYodGhlKQotZyhtYWMpbShoaW5lKWgoQmFzaClnKGlzKWYocnVubmluZylmKG9uLikxNTAgMTU0NyB5IEZzKElHTk9SRUVPRik2MzAKLTE2NTYgeSBGdChDb24pbSh0cm9scyllKHRoZSloKGFjdGlvbilnKG9mKWYodGhlKWcoc2hlbGwpZyhvbilnKHJlY2VpcHQpCi1oKG9mKWYoYW4pZyBGcyhFT0YpZiBGdChjKW0oaGFyYWN0ZXIpaShhcylnKHRoZSlmKHNvbGUpaChpbnB1dC4pNjMwCi0xNzY2IHkoSWYpaShzZXQsKWkodGhlKWYodiktNSBiKGFsdWUpMzIgYihkZW5vdGVzKWYodGhlKWcobiltKHVtKW0oYilzCi0oZXIpZihvZiloKGNvbnNlY3V0aXYpbShlKWkgRnMoRU9GKWQgRnQoYyltKGhhcmFjdGVycylpKHRoYXQpZihjYW4paChiKQotcyhlKTYzMCAxODc1IHkocmVhZCk0MCBiKGFzKWYodGhlKWgoXDAxNHJzdClmKGMpbShoYXJhY3RlcilpKG9uKWYoYW4pZgotKGlucHV0KWcobGluZSloKGIpcyhlZm9yZSlmKHRoZSloKHNoZWxsKWcod2lsbClnKGV4aXQuKTcwCi1iKElmKTM5IGIodGhlKTYzMCAxOTg1IHkodiktNSBiKGFyaWFibGUpMzggYihleGlzdHMpZihidXQpZihkbylzKGVzKWcKLShub3QpaChoYSltKHYpbShlKWgoYSlnKG4pbSh1bWVyaWMpZSh2KS01IGIoYWx1ZSkzNyBiKFwob3IpaChoYXMpZShubyloCi0odiktNSBiKGFsdWVcKSkzNyBiKHRoZW4pZyh0aGUpNjMwIDIwOTQgeShkZWZhdWx0KTMxCi1iKGlzKWcoMTAuKTQzIGIoSWYpMzAgYih0aGUpaCh2KS01IGIoYXJpYWJsZSkzMSBiKGRvKXMoZXMpZyhub3QpZwotKGV4aXN0LCloKHRoZW4pZSBGcyhFT0YpZyBGdChzaWduaVwwMTRlcyloKHRoZSlnKGVuZClmKG9mKWgoaW5wdXQpNjMwCi0yMjA0IHkodG8pZyh0aGUpZyhzaGVsbC4pNDEgYihUaGlzKTI5IGIoaXMpaShvbmx5KWYoaW4pZyhlXDAxM2VjdClpCi0oZm9yKWUoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbHMuKTE1MCAyMzY0IHkgRnMoSU5QVVRSQykxNDQKLWIgRnQoVGhlKTY4IGIobmFtZSloKG9mKWYodGhlKWgoUmVhZGxpbmUpZyhpbml0aWFsaXphdGlvbilqKFwwMTRsZSwpNzgKLWIobyltKHYpbShlcnJpZGluZyk2OSBiKHRoZSlnKGRlZmF1bHQpZyhvZik2MzAgMjQ3NCB5KGApcAotRnMofi8uaW5wdXRyYylwIEZ0KCcuKTE1MCAyNjM0IHkgRnMoTEFORykyODggYiBGdChVc2VkKTI4Ci1iKHRvKWgoZGV0ZXJtaW5lKWYodGhlKWcobG8pcyhjYWxlKWgoY2F0ZWdvcnkpaChmb3IpZShhbiltKHkpaAotKGNhdGVnb3J5KWgobm90KWUoc3ApcyhlY2lcMDE0Y2FsbHkpZyhzZWxlY3RlZCk2MzAgMjc0NAoteSh3aXRoKWkoYSloKHYpLTUgYihhcmlhYmxlKTMxIGIoc3RhcnRpbmcpZyh3aXRoKWYgRnMoTENfKXAKLUZ0KC4pMTUwIDI5MDQgeSBGcyhMQ19BTEwpMTkyIGIgRnQoVGhpcykyOCBiKHYpLTUgYihhcmlhYmxlKTI5Ci1iKG8pbSh2KW0oZXJyaWRlcyloKHRoZSlmKHYpLTUgYihhbHVlKTI5IGIob2YpZyBGcyhMQU5HKWYKLUZ0KGFuZClnKGFuKW0oeSloKG90aGVyKWcgRnMoTENfKWYgRnQodiktNSBiKGFyaWFibGUpMjkKLWIoc3ApcyhlY2lmeWluZyk2MzAgMzAxMyB5KGEpaShsbylzKGNhbGUpaChjYXRlZ29yeSktOAotYiguKTE1MCAzMTczIHkgRnMoTENfQ09MTEFURSk2MzAgMzI4MyB5IEZ0KFRoaXMpMzcgYih2KS01Ci1iKGFyaWFibGUpMzggYihkZXRlcm1pbmVzKWcodGhlKWcoY29sbGF0aW9uKWkob3JkZXIpZCh1c2VkKWcod2hlbilmCi0oc29ydGluZylpKHRoZSlnKHJlc3VsdHMpZyhvZik2MzAgMzM5MyB5KFwwMTRsZW5hbWUpZShleHBhbnNpb24sKWkoYW5kKQotZShkZXRlcm1pbmVzKWcodGhlKWgoYilzKGVoYSltKHZpb3IpZihvZilnKHJhbmdlKWgoZXhwcmVzc2lvbnMsKWgKLShlcXVpdi0pNjMwIDM1MDIgeShhbGVuY2UpZShjbGFzc2VzLCloKGFuZCllKGNvbGxhdGluZylpKHNlcXVlbmNlcyllCi0od2l0aGluKWYoXDAxNGxlbmFtZSloKGV4cGFuc2lvbilnKGFuZClmKHBhdHRlcm4pNjMwCi0zNjEyIHkobWF0YyltKGhpbmcpZChcKHNlZSloKFNlY3Rpb24pZigzLjUuOCloKFtGaWxlbmFtZSlnKEV4cGFuc2lvbl0sKQotZShwYWdlKWgoMjRcKS4pMTUwIDM3NzIgeSBGcyhMQ19DVFlQRSk5NiBiIEZ0KFRoaXMpMzYKLWIodiktNSBiKGFyaWFibGUpMzcgYihkZXRlcm1pbmVzKWYodGhlKWgoaW4pbSh0ZXJwcmV0YXRpb24paChvZilmKGMpbQotKGhhcmFjdGVycyloKGFuZCllKHRoZSlnKGIpcyhlaGEpbSh2aW9yKWgob2YpNjMwIDM4ODIKLXkoYyltKGhhcmFjdGVyKTQ2IGIoY2xhc3NlcylnKHdpdGhpbillKFwwMTRsZW5hbWUpaChleHBhbnNpb24pZyhhbmQpZgotKHBhdHRlcm4paChtYXRjKW0oaGluZyloKFwoc2VlKWYoU2VjLSk2MzAgMzk5MSB5KHRpb24pMzEKLWIoMy41LjgpaChbRmlsZW5hbWUpZyhFeHBhbnNpb25dLCllKHBhZ2UpaCgyNFwpLikxNTAKLTQxNTEgeSBGcyhMQ19NRVNTQUdFUyk2MzAgNDI2MSB5IEZ0KFRoaXMpMjUgYih2KS01IGIoYXJpYWJsZSkyNwotYihkZXRlcm1pbmVzKWYodGhlKWcobG8pcyhjYWxlKWkodXNlZClkKHRvKWkodHJhbnNsYXRlKWcoZG91YmxlLXF1b3RlZCkKLWYoc3RyaW5ncylnKHByZS0pNjMwIDQzNzEgeShjZWRlZCkzMSBiKGIpbSh5KWYoYSloKGApcAotRnMoJClwIEZ0KCcpZihcKHNlZSloKFNlY3Rpb24paCgzLjEuMi41KWcoW0xvKXMoY2FsZSlnKFQpLTgKLWIocmFuc2xhdGlvbl0sKTMyIGIocGFnZSlmKDdcKS4pMTUwIDQ1MzEgeSBGcyhMQ19OVU1FUklDKTYzMAotNDY0MCB5IEZ0KFRoaXMpZih2KS01IGIoYXJpYWJsZSkzMSBiKGRldGVybWluZXMpZih0aGUpaChsbylzKGNhbGUpaAotKGNhdGVnb3J5KWcodXNlZCllKGZvcilnKG4pbSh1bSltKGIpcyhlcilmKGZvcm1hdHRpbmcuKTE1MAotNDgwMCB5IEZzKExJTkVOTykxOTIgYiBGdChUaGUpMzAgYihsaW5lKWgobiltKHVtKW0oYilzKGVyKWUoaW4paCh0aGUpZwotKHNjcmlwdCloKG9yKWYoc2hlbGwpZyhmdW5jdGlvbiloKGN1cnJlbiltKHRseSlmKGV4ZWN1dGluZy4pMTUwCi00OTYxIHkgRnMoTElORVMpMjQwIGIgRnQoVXNlZCkyNSBiKGIpbSh5KWcodGhlKWcgRnMoc2VsZWN0KWUKLUZ0KGJ1aWx0aW4paShjb21tYW5kKWcodG8paChkZXRlcm1pbmUpZih0aGUpZyhjb2x1bW4pZyhsZW5ndGgpZyhmb3IpZwotKHByaW4pbSh0LSk2MzAgNTA3MCB5KGluZykzMSBiKHNlbGVjdGlvbiloKGxpc3RzLik0MQotYihBdXRvbWF0aWNhbGx5KTMzIGIoc2V0KWUodXApcyhvbillKHJlY2VpcHQpaShvZilmKGEpaAotRnMoU0lHV0lOQ0gpcCBGdCguKTE1MCA1MjMwIHkgRnMoTUFDSFRZUEUpOTYgYiBGdChBKTI2Ci1iKHN0cmluZylnKHRoYXQpaChmdWxseSlmKGRlc2NyaWIpcyhlcylmKHRoZSloKHN5c3RlbSlnKHQpbSh5cClzKGUpaAotKG9uKWYod2hpYyltKGgpZihCYXNoKWkoaXMpZihleGVjdXRpbmcsKWkoaW4pZSh0aGUpNjMwCi01MzQwIHkoc3RhbmRhcmQpayBGbChnbnUpZyBGcShjcHUtY29tcGFuKW0oeS1zeXN0ZW0paAotRnQoZm9ybWF0LilwIGVvcCBlbmQKKyhuYW1lKWgob2YpZihhbiltKHkpaChjdXJyZW4pbSh0bHktKTYzMCAzNDU2IHkoZXhlY3V0aW5nKWYoc2hlbGwpZgorKGZ1bmN0aW9uLik1MSBiKFRoZSkzNCBiKGIpcyhvdHRvbS1tb3N0KWgoZWxlbWVuKW0odClnKFwodGhlKWcob25lKWYKKyh3aXRoKWcodGhlKWcoaGlnaGVzdCk2MzAgMzU2NiB5KGluZGV4XCkpZShpcyloIEZzKCJtYWluIilwCitGdCguKTQ0IGIoVGhpcykzMiBiKHYpLTUgYihhcmlhYmxlKTMzIGIoZXhpc3RzKWcob25seSlnKHdoZW4pZShhKWkKKyhzaGVsbClmKGZ1bmN0aW9uKWcoaXMpZyhleGVjdXRpbmcuKTYzMCAzNjc1IHkoQXNzaWdubWVuKW0odHMpMjMKK2IodG8paCBGcyhGVU5DTkFNRSljIEZ0KGhhKW0odiltKGUpayhubylmKGVcMDEzZWN0KWgoYW5kKWUocmV0dXJuKWcoYW4pCitnKGVycm9yKWcoc3RhdHVzLikzOSBiKElmKTIyIGIgRnMoRlVOQ05BTUUpNjMwIDM3ODUgeQorRnQoaXMpMzAgYih1bnNldCwpaChpdClnKGxvc2VzKWcoaXRzKWYoc3ApcyhlY2lhbCloKHByb3ApcyhlcnRpZXMsKWYKKyhldiltKGVuKWgoaWYpZyhpdClnKGlzKWYoc3Vic2VxdWVuKW0odGx5KWcocmVzZXQuKTYzMAorMzkyMSB5KFRoaXMpaCh2KS01IGIoYXJpYWJsZSkzMiBiKGNhbilmKGIpcyhlKWcodXNlZClnKHdpdGgpZworRnMoQkFTSF9MSU5FTk8pZCBGdChhbmQpaiBGcyhCQVNIX1NPVVJDRSlwIEZ0KC4pNDAgYihFYWMpbShoKTMyCitiKGVsZW1lbiltKHQpNjMwIDQwMzAgeShvZilnIEZzKEZVTkNOQU1FKWQgRnQoaGFzKWooY29ycmVzcClzKG9uZGluZyllCisoZWxlbWVuKW0odHMpaihpbilmIEZzKEJBU0hfTElORU5PKWMgRnQoYW5kKWsgRnMoQkFTSF9TT1VSQ0UpYworRnQodG8pNjMwIDQxNDAgeShkZXNjcmliKXMoZSkzOSBiKHRoZSloKGNhbGwpaChzdGFjKW0oay4pNzAKK2IoRiktOCBiKG9yKTQxIGIoaW5zdGFuY2UsKWkgRnMoJHtGVU5DTkFNRVskaV19KTM1IGIKK0Z0KHcpbShhcyk0MSBiKGNhbGxlZClmKGZyb20pZyh0aGUpNjMwIDQyNDkgeShcMDE0bGUpMjcKK2IgRnMoJHtCQVNIX1NPVVJDRVskaSsxXX0pMjEgYiBGdChhdCkyNyBiKGxpbmUpaChuKW0odW0pbShiKXMoZXIpZAorRnMoJHtCQVNIX0xJTkVOT1skaV19KXAgRnQoLikzNCBiKFRoZSkyNyBiIEZzKGNhbGxlcik2MzAKKzQzNTkgeSBGdChidWlsdGluKWooZGlzcGxhKW0oeXMpZyh0aGUpaChjdXJyZW4pbSh0KWYoY2FsbClpKHN0YWMpbShrKWcKKyh1c2luZylkKHRoaXMpaShpbmZvcm1hdGlvbi4pMTUwIDQ1MjEgeSBGcyhGVU5DTkVTVCk5NgorYiBGdChJZikzNCBiKHNldClpKHRvKWYoYSloKG4pbSh1bWVyaWMpZSh2KS01IGIoYWx1ZSkzNgorYihncmVhdGVyKWcodGhhbillKDAsKWooZGVcMDE0bmVzKWQoYSloKG1heGltKW0odW0pZyhmdW5jdGlvbilnCisobmVzdGluZyk2MzAgNDYzMCB5KGxldiltKGVsLik0MiBiKEYpLTggYih1bmN0aW9uKTI5CitiKGluKW0odiltKG8pcyhjYXRpb25zKWgodGhhdClmKGV4Y2VlZCloKHRoaXMpZShuZXN0aW5nKWgobGV2KW0oZWwpaAorKHdpbGwpZihjYXVzZSlnKHRoZSlmKGN1cnJlbiltKHQpNjMwIDQ3NDAgeShjb21tYW5kKWkodG8paChhYilzKG9ydC4pCisxNTAgNDkwMiB5IEZzKEdMT0JJR05PUkUpNjMwIDUwMTEgeSBGdChBKTM4IGIoY29sb24tc2VwYXJhdGVkKWkobGlzdClmCisob2YpZihwYXR0ZXJucylnKGRlXDAxNG5pbmcpZih0aGUpaChzZXQpZyhvZiloKFwwMTRsZW5hbWVzKWYodG8pZyhiKXMKKyhlKWcoaWdub3JlZCk2MzAgNTEyMSB5KGIpbSh5KTMxIGIoXDAxNGxlbmFtZSlnKGV4cGFuc2lvbi4pNDMKK2IoSWYpMzEgYihhKWgoXDAxNGxlbmFtZSlmKG1hdGMpbShoZWQpaChiKW0oeSlmKGEpZyhcMDE0bGVuYW1lKWgKKyhleHBhbnNpb24pZihwYXR0ZXJuKTYzMCA1MjMwIHkoYWxzbylpKG1hdGMpbShoZXMpZyhvbmUpZihvZilnKHRoZSlnCisocGF0dGVybnMpZyhpbilmIEZzKEdMT0JJR05PUkUpcCBGdCgsKWYoaXQpaShpcylnKHJlbW8pbSh2KW0oZWQpaChmcm9tKQorZSh0aGUpaChsaXN0KWgob2YpNjMwIDUzNDAgeShtYXRjKW0oaGVzLilwIGVvcCBlbmQKICUlUGFnZTogNjggNzQKIFRlWERpY3QgYmVnaW4gNjggNzMgYm9wIDE1MCAtMTE2IGEgRnQoNjgpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyhNQUlMQ0hFQ0spNjMwIDQwOAoteSBGdChIbyltKHcpZChvZnRlbilnKFwoaW4pZyhzZWNvbmRzXCkpZyh0aGF0KWcodGhlKWYoc2hlbGwpaChzaG91bGQpZgotKGMpbShoZWMpbShrKWkoZm9yKWUobWFpbCloKGluKWYodGhlKWgoXDAxNGxlcylnKHNwKXMoZWNpXDAxNGVkKTYzMAotNTE4IHkoaW4paSh0aGUpaCBGcyhNQUlMUEFUSCllIEZ0KG9yKWkgRnMoTUFJTCllIEZ0KHYpLTUKLWIoYXJpYWJsZXMuKTQzIGIoVGhlKTMwIGIoZGVmYXVsdCloKGlzKWYoNjApaShzZWNvbmRzLik0MgotYihXaGVuKTMwIGIoaXQpaChpcylnKHRpbWUpNjMwIDYyOCB5KHRvKTM3IGIoYyltKGhlYyltKGspaChmb3IpZShtYWlsLCkKLWoodGhlKWUoc2hlbGwpZihkbylzKGVzKWcoc28paChiKXMoZWZvcmUpZihkaXNwbGEpbSh5aW5nKWgodGhlKWYKLShwcmltYXJ5KWcocHJvbXB0Lik1NyBiKElmKTYzMCA3MzcgeSh0aGlzKTM3IGIodiktNSBiKGFyaWFibGUpMzgKLWIoaXMpZih1bnNldCwpaChvcilmKHNldCloKHRvKWcoYSlmKHYpLTUgYihhbHVlKTM4IGIodGhhdClmKGlzKWcobm90KWgKLShhKWYobiltKHVtKW0oYilzKGVyKWYoZ3JlYXRlcilpKHRoYW4pZihvcik2MzAgODQ3IHkoZXF1YWwpMzEKLWIodG8pZyh6ZXJvLClnKHRoZSlnKHNoZWxsKWcoZGlzYWJsZXMpZihtYWlsKWgoYyltKGhlYyltKGtpbmcuKTE1MAotMTAwMyB5IEZzKE9MRFBXRCkxOTIgYiBGdChUaGUpMzAgYihwcmV2aW91cylnKHcpbShvcmtpbmcpZyhkaXJlY3RvcnkpaAotKGFzKWcoc2V0KWcoYiltKHkpZih0aGUpaCBGcyhjZCllIEZ0KGJ1aWx0aW4uKTE1MCAxMTYwCi15IEZzKE9QVEVSUikxOTIgYiBGdChJZikzNSBiKHNldClpKHRvKWYodGhlKWgodiktNSBiKGFsdWUpMzYKLWIoMSwpaShCYXNoKWUoZGlzcGxhKW0oeXMpZyhlcnJvcilmKG1lc3NhZ2VzKWkoZ2VuZXJhdGVkKWcoYiltKHkpZih0aGUpCi1nIEZzKGdldG9wdHMpNjMwIDEyNzAgeSBGdChidWlsdGluKTMwIGIoY29tbWFuZC4pMTUwCi0xNDI2IHkgRnMoT1NUWVBFKTE5MiBiIEZ0KEEpMzAgYihzdHJpbmcpaChkZXNjcmliaW5nKWYodGhlKWcob3ApcwotKGVyYXRpbmcpaChzeXN0ZW0pZyhCYXNoKWYoaXMpaChydW5uaW5nKWQob24uKTE1MCAxNTgzCi15IEZzKFBJUEVTVEFUVVMpNjMwIDE2OTIgeSBGdChBbikyMyBiKGFycmEpbSh5KWgodiktNQotYihhcmlhYmxlKTI0IGIoXChzZWUpaChTZWN0aW9uKWYoNi43KWgoW0FycmEpbSh5c10sKWcocGFnZSlmKDgwXCkpaAotKGNvbiltKHRhaW5pbmcpZyhhKWYobGlzdClnKG9mKWcoZXhpdClnKHN0YS0pNjMwIDE4MDIKLXkodHVzKWgodiktNSBiKGFsdWVzKTI3IGIoZnJvbSllKHRoZSloKHBybylzKGNlc3NlcylnKGluKWYodGhlKWgKLShtb3N0LXJlY2VuKW0odGx5LWV4ZWN1dGVkKWooZm9yZWdyb3VuZCljKHBpcClzKGVsaW5lKTYzMAotMTkxMSB5KFwod2hpYyltKGgpMzAgYihtYSltKHkpaChjb24pbSh0YWluKWgob25seSlmKGEpZihzaW5nbGUpaAotKGNvbW1hbmRcKS4pMTUwIDIwNjggeSBGcyhQT1NJWExZX0NPUlJFQ1QpNjMwIDIxNzggeQotRnQoSWYpaCh0aGlzKWgodiktNSBiKGFyaWFibGUpMzQgYihpcylmKGluKWYodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQpaAotKHdoZW4pZCBGcyhiYXNoKWggRnQoc3RhcnRzLClpKHRoZSlmKHNoZWxsKWcoZW4pbSh0ZXJzKWgKLUZsKHBvc2l4KTYzMCAyMjg3IHkgRnQobW8pcyhkZSkyMiBiKFwoc2VlKWgoU2VjdGlvbilnKDYuMTEpaChbQmFzaCllCi0oUE9TSVgpZihNbylzKGRlXSwpayhwYWdlKWUoODRcKSlnKGIpcyhlZm9yZSlmKHJlYWRpbmcpZyh0aGUpZyhzdGFydHVwKQotNjMwIDIzOTcgeShcMDE0bGVzLCkzMiBiKGFzKWYoaWYpaCh0aGUpZihgKXAgRnMoLS1wb3NpeClwCi1GdCgnKWYoaW4pbSh2KW0obylzKGNhdGlvbilqKG9wdGlvbilmKGhhZClmKGIpcyhlZW4pZyhzdXBwbGllZC4pNDIKLWIoSWYpMzEgYihpdCloKGlzKWYoc2V0KWgod2hpbGUpNjMwIDI1MDYgeSh0aGUpZihzaGVsbClmKGlzKWgocnVubmluZywpCi1kIEZzKGJhc2gpaSBGdChlbmFibGVzKWcgRmwocG9zaXgpZyBGdChtbylzKGRlLClnKGFzKWgoaWYpZih0aGUpaAotKGNvbW1hbmQpODcwIDI2MzkgeSBGcyhzZXQpNDcgYigtbylnKHBvc2l4KTYzMCAyNzcyIHkKLUZ0KGhhZCkzMCBiKGIpcyhlZW4pZihleGVjdXRlZC4pMTUwIDI5MjkgeSBGcyhQUElEKTI4OAotYiBGdChUaGUpMzAgYihwcm8pcyhjZXNzKWcgRmwoaWQpZyBGdChvZiloKHRoZSlmKHNoZWxsJ3MpaChwYXJlbiltKHQpZwotKHBybylzKGNlc3MuKTQwIGIoVGhpcykzMCBiKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZihyZWFkb25seSktOAotYiguKTE1MCAzMDg2IHkgRnMoUFJPTVBUX0NPTU1BTkQpNjMwIDMxOTUgeSBGdChJZikzMgotYihzZXQsKWgodGhlKWYodiktNSBiKGFsdWUpMzMgYihpcylmKGluKW0odGVycHJldGVkKWcoYXMpZyhhKWgoY29tbWFuZCkKLWYodG8paChleGVjdXRlKWcoYilzKGVmb3JlKWYodGhlKWcocHJpbiltKHRpbmcpZyhvZik2MzAKLTMzMDUgeShlYWMpbShoKWcocHJpbWFyeSlkKHByb21wdClnKFwoKXAgRnMoJFBTMSlwIEZ0KFwpLikxNTAKLTM0NjEgeSBGcyhQUk9NUFRfRElSVFJJTSk2MzAgMzU3MSB5IEZ0KElmKWUoc2V0KWcodG8paChhKWcobiltKHVtKW0oYilzCi0oZXIpZShncmVhdGVyKWkodGhhbilmKHplcm8sKWkodGhlKWUodiktNSBiKGFsdWUpMjggYihpcylmKHVzZWQpZyhhcylnCi0odGhlKWgobiltKHVtKW0oYilzKGVyKWUob2YpaCh0cmFpbGluZyk2MzAgMzY4MCB5KGRpcmVjdG9yeSkzNQotYihjb21wKXMob25lbiltKHRzKWcodG8paChyZXRhaW4pZih3aGVuKWYoZXhwYW5kaW5nKWcodGhlKWgKLUZzKFxcdylmIEZ0KGFuZClnIEZzKFxcVylnIEZ0KHByb21wdClnKHN0cmluZyk2MzAgMzc5MAoteShlc2NhcClzKGVzKTI3IGIoXChzZWUpZyhTZWN0aW9uKWcoNi45KWgoW1ByaW4pbSh0aW5nKWYoYSlnKFByb21wdF0sKWcKLShwYWdlKWcoODJcKS4pNDAgYihDaGFyYWN0ZXJzKTI3IGIocmVtbyltKHYpbShlZCloKGFyZSk2MzAKLTM5MDAgeShyZXBsYWNlZClqKHdpdGgpZihhbilnKGVsbGlwc2lzLikxNTAgNDA1NiB5IEZzKFBTMykzMzYKLWIgRnQoVGhlKTM0IGIodiktNSBiKGFsdWUpMzUgYihvZilmKHRoaXMpZyh2KS01IGIoYXJpYWJsZSkzNQotYihpcylnKHVzZWQpZShhcylpKHRoZSlmKHByb21wdClnKGZvcilnKHRoZSlnIEZzKHNlbGVjdClmCi1GdChjb21tYW5kLik1MiBiKElmKTYzMCA0MTY2IHkodGhpcykzMCBiKHYpLTUgYihhcmlhYmxlKTMxCi1iKGlzKWcobm90KWYoc2V0LClpKHRoZSllIEZzKHNlbGVjdClmIEZ0KGNvbW1hbmQpaChwcm9tcHRzKWYod2l0aCloKGApcAotRnMoIz8pZyBGdCgnKTE1MCA0MzIyIHkgRnMoUFM0KTMzNiBiIEZ0KFRoZSkyMCBiKHYpLTUKLWIoYWx1ZSkyMiBiKGlzKWUodGhlKWgocHJvbXB0KWYocHJpbiltKHRlZCloKGIpcyhlZm9yZSlmKHRoZSloKGNvbW1hbmQpCi1nKGxpbmUpZyhpcylnKGVjKW0oaG8pcyhlZClnKHdoZW4pZih0aGUpaChgKXAgRnMoLXgpcAotRnQoJyk2MzAgNDQzMiB5KG9wdGlvbikzMiBiKGlzKWYoc2V0KWgoXChzZWUpZyhTZWN0aW9uKWgoNC4zLjEpZyhbVGhlKWUKLShTZXQpZyhCdWlsdGluXSwpaShwYWdlKWYoNTFcKS4pNDUgYihUaGUpMzEgYihcMDE0cnN0KWYoYyltKGhhcmFjdGVyKQotNjMwIDQ1NDIgeShvZilrIEZzKFBTNClnIEZ0KGlzKWcocmVwbGljYXRlZClpKG0pbSh1bHRpcGxlKWYodGltZXMsKWgKLShhcyllKG5lY2Vzc2FyeSktOCBiKCwpMzcgYih0byllKGluZGljYXRlKWcobSltKHVsdGlwbGUpZyhsZXYpbShlbHMpaAotKG9mKTYzMCA0NjUxIHkoaW5kaXJlY3Rpb24uKTQxIGIoVGhlKTMwIGIoZGVmYXVsdCloKGlzKWYoYClwCi1GcygrKWcgRnQoJy4pMTUwIDQ4MDggeSBGcyhQV0QpMzM2IGIgRnQoVGhlKTMwIGIoY3VycmVuKW0odClnKHcpbQotKG9ya2luZyloKGRpcmVjdG9yeSlnKGFzKWYoc2V0KWgoYiltKHkpZih0aGUpaCBGcyhjZClmCi1GdChidWlsdGluLikxNTAgNDk2NCB5IEZzKFJBTkRPTSkxOTIgYiBGdChFYWMpbShoKTMwCi1iKHRpbWUpZyh0aGlzKWYocGFyYW1ldGVyKWcoaXMpZyhyZWZlcmVuY2VkLCloKGEpZihyYW5kb20pZyhpbiltKHRlZ2VyKQotaChiKXMoZXQpbSh3KW0oZWVuKWcoMClmKGFuZClnKDMyNzY3KTYzMCA1MDc0IHkoaXMpaShnZW5lcmF0ZWQuKTQzCi1iKEFzc2lnbmluZykzMSBiKGEpZyh2KS01IGIoYWx1ZSkzMSBiKHRvKWcodGhpcylnKHYpLTUKLWIoYXJpYWJsZSkzMSBiKHNlZWRzKWcodGhlKWcocmFuZG9tKWYobiltKHVtKW0oYilzKGVyKWYoZ2VuLSk2MzAKLTUxODMgeShlcmF0b3IuKTE1MCA1MzQwIHkgRnMoUkVQTFkpMjQwIGIgRnQoVGhlKTMwIGIoZGVmYXVsdClnKHYpLTUKLWIoYXJpYWJsZSkzMiBiKGZvcillKHRoZSlnIEZzKHJlYWQpZyBGdChidWlsdGluLilwIGVvcAotZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoR1JPVVBTKTE5MiBiIEZ0KEFuKTM2CitiKGFycmEpbSh5KWcodiktNSBiKGFyaWFibGUpMzcgYihjb24pbSh0YWluaW5nKWcodGhlKWYobGlzdCloKG9mKWYKKyhncm91cHMpZyhvZilnKHdoaWMpbShoKWYodGhlKWkoY3VycmVuKW0odCllKHVzZXIpaChpcylnKGEpNjMwCis0MDggeShtZW0pbShiKXMoZXIuKTQ3IGIoQXNzaWdubWVuKW0odHMpMzMgYih0bylnIEZzKEdST1VQUyllCitGdChoYSltKHYpbShlKWoobm8pZihlXDAxM2VjdCloKGFuZCllKHJldHVybilnKGFuKWcoZXJyb3IpZyhzdGF0dXMuKTQ4CitiKElmKTYzMCA1MTggeSBGcyhHUk9VUFMpMjkgYiBGdChpcyloKHVuc2V0LClnKGl0KWgobG9zZXMpZyhpdHMpZyhzcClzCisoZWNpYWwpZyhwcm9wKXMoZXJ0aWVzLClmKGV2KW0oZW4paChpZilmKGl0KWgoaXMpZyhzdWJzZXF1ZW4pbSh0bHkpZgorKHJlc2V0LikxNTAgNjgyIHkgRnMoaGlzdGNoYXJzKTYzMCA3OTIgeSBGdChVcCljKHRvKWcodGhyZWUpZyhjKW0KKyhoYXJhY3RlcnMpaSh3aGljKW0oaClkKGNvbiltKHRyb2wpaihoaXN0b3J5KWQoZXhwYW5zaW9uLClpKHF1aWMpbShrKWcKKyhzdWJzdGl0dXRpb24sKWcoYW5kKTYzMCA5MDIgeSh0b2spbShlbml6YXRpb24payhcKHNlZSlmKFNlY3Rpb24pZig5LjMpCitoKFtIaXN0b3J5KWYoSW4pbSh0ZXJhY3Rpb25dLClpKHBhZ2UpZigxMjdcKS4pNDEgYihUaGUpMjkKK2IoXDAxNHJzdCllKGMpbShoYXJhYy0pNjMwIDEwMTEgeSh0ZXIpaihpcylmKHRoZSlnIEZxKGhpc3RvcnkpZworKGV4cGFuc2lvbilnIEZ0KGMpbShoYXJhY3Rlciwpaih0aGF0KWUoaXMsKWYodGhlKWgoYyltKGhhcmFjdGVyKWgod2hpYykKK20oaClkKHNpZ25pXDAxNGVzKWkodGhlKTYzMCAxMTIxIHkoc3RhcnQpMjUgYihvZilmKGEpaChoaXN0b3J5KWYKKyhleHBhbnNpb24sKWkobm9ybWFsbHkpZShgKXAgRnMoISlwIEZ0KCcuKTM5IGIoVGhlKTI0CitiKHNlY29uZClnKGMpbShoYXJhY3RlcilpKGlzKWUodGhlKWcoYyltKGhhcmFjdGVyKTYzMAorMTIzMCB5KHdoaWMpbShoKTM2IGIoc2lnbmlcMDE0ZXMpZyhgcXVpYyltKGspaChzdWJzdGl0dXRpb24nKWYod2hlbilmCisoc2VlbiloKGFzKWcodGhlKWcoXDAxNHJzdClmKGMpbShoYXJhY3RlcilqKG9uKWUoYSlnKGxpbmUsKTYzMAorMTM0MCB5KG5vcm1hbGx5KTI3IGIoYClwIEZzKF4pcCBGdCgnLikzOSBiKFRoZSkyNiBiKG9wdGlvbmFsKWkodGhpcmQpZAorKGMpbShoYXJhY3RlcilqKGlzKWUodGhlKWgoYyltKGhhcmFjdGVyKWgod2hpYyltKGgpZShpbmRpY2F0ZXMpaCh0aGF0KQorNjMwIDE0NTAgeSh0aGUpMzQgYihyZW1haW5kZXIpZihvZiloKHRoZSlnKGxpbmUpZyhpcylmKGEpaChjb21tZW4pbSh0KWgKKyh3aGVuKWUoZm91bmQpZihhcylpKHRoZSlnKFwwMTRyc3QpZihjKW0oaGFyYWN0ZXIpaShvZilmKGEpNjMwCisxNTU5IHkodyltKG9yZCwpaSh1c3VhbGx5KWYoYClwIEZzKCMpcCBGdCgnLik1NSBiKFRoZSkzNAorYihoaXN0b3J5KWgoY29tbWVuKW0odCloKGMpbShoYXJhY3RlciloKGNhdXNlcyllKGhpc3RvcnkpZworKHN1YnN0aXR1dGlvbik2MzAgMTY2OSB5KHRvKTI3IGIoYilzKGUpZihza2lwcClzKGVkKWYoZm9yKWkodGhlKWYKKyhyZW1haW5pbmcpaCh3KW0ob3JkcylmKG9uKWgodGhlKWYobGluZS4pNDAgYihJdCkyNyBiKGRvKXMoZXMpZihub3QpaAorKG5lY2Vzc2FyaWx5KWcoY2F1c2UpNjMwIDE3NzggeSh0aGUpayhzaGVsbClmKHBhcnNlcilnKHRvKWgodHJlYXQpZworKHRoZSlnKHJlc3QpZyhvZilmKHRoZSloKGxpbmUpZihhcyloKGEpZyhjb21tZW4pbSh0LikxNTAKKzE5NDMgeSBGcyhISVNUQ01EKTE0NCBiIEZ0KFRoZSkzNSBiKGhpc3RvcnkpaChuKW0odW0pbShiKXMoZXIsKWcob3IpZgorKGluZGV4KWcoaW4paCh0aGUpZyhoaXN0b3J5KWYobGlzdCwpaihvZillKHRoZSlnKGN1cnJlbiltKHQpZihjb21tYW5kLikKKzU2IGIoSWYpNjMwIDIwNTIgeSBGcyhISVNUQ01EKTI4IGIgRnQoaXMpaCh1bnNldCwpaChpdClnKGxvc2VzKWgoaXRzKWYKKyhzcClzKGVjaWFsKWcocHJvcClzKGVydGllcywpZyhldiltKGVuKWcoaWYpZyhpdClnKGlzKWcoc3Vic2VxdWVuKW0KKyh0bHkpZihyZXNldC4pMTUwIDIyMTcgeSBGcyhISVNUQ09OVFJPTCk2MzAgMjMyNiB5IEZ0KEEpNDAKK2IoY29sb24tc2VwYXJhdGVkKWkobGlzdClmKG9mKWYodiktNSBiKGFsdWVzKTQwIGIoY29uKW0odHJvbGxpbmcpaShobyltCisodyllKGNvbW1hbmRzKWcoYXJlKWgoc2EpbSh2KW0oZWQpZyhvbilmKHRoZSk2MzAgMjQzNgoreShoaXN0b3J5KTI5IGIobGlzdC4pNDEgYihJZikyOCBiKHRoZSloKGxpc3QpaChvZilmKHYpLTUKK2IoYWx1ZXMpMjkgYihpbmNsdWRlcylmKGApcCBGcyhpZ25vcmVzcGFjZSlwIEZ0KCcsKWYobGluZXMpaSh3aGljKW0oaClnCisoYilzKGVnaW4pZih3aXRoKTYzMCAyNTQ1IHkoYSkzOSBiKHNwYWNlKWcoYyltKGhhcmFjdGVyKWkoYXJlKWUobm90KWcKKyhzYSltKHYpbShlZClnKGluKWcodGhlKWcoaGlzdG9yeSlmKGxpc3QuKTY2IGIoQSkzOSBiKHYpLTUKK2IoYWx1ZSkzOSBiKG9mKWcoYClwIEZzKGlnbm9yZWR1cHMpcCBGdCgnKTYzMCAyNjU1IHkoY2F1c2VzKTM0CitiKGxpbmVzKWgod2hpYyltKGgpZihtYXRjKW0oaCloKHRoZSlmKHByZXZpb3VzKWYoaGlzdG9yeSloKGVuKW0odHJ5KWgKKyh0bylnKG5vdClmKGIpcyhlKWYoc2EpbSh2KW0oZWQuKTUzIGIoQSkzNCBiKHYpLTUgYihhbHVlKTYzMAorMjc2NSB5KG9mKTMyIGIoYClwIEZzKGlnbm9yZWJvdGgpcCBGdCgnKWQoaXMpaihzaG9ydGhhbmQpZShmb3IpaShgKXAKK0ZzKGlnbm9yZXNwYWNlKXAgRnQoJylkKGFuZClpKGApcCBGcyhpZ25vcmVkdXBzKXAgRnQoJy4pNDIKK2IoQSkzMiBiKHYpLTUgYihhbHVlKTMyIGIob2YpNjMwIDI4NzQgeShgKXAgRnMoZXJhc2VkdXBzKXAKK0Z0KCcpZihjYXVzZXMpaShhbGwpaChwcmV2aW91cylmKGxpbmVzKWcobWF0YyltKGhpbmcpaCh0aGUpZihjdXJyZW4pbQorKHQpZyhsaW5lKWcodG8paChiKXMoZSllKHJlbW8pbSh2KW0oZWQpNjMwIDI5ODQgeShmcm9tKTQyCitiKHRoZSloKGhpc3RvcnkpZihsaXN0KWkoYilzKGVmb3JlKWUodGhhdCloKGxpbmUpZyhpcylnKHNhKW0odiltKGVkLik3OAorYihBbiltKHkpNDMgYih2KS01IGIoYWx1ZSk0MyBiKG5vdClnKGluKWYodGhlKWgoYWIpcyhvKW0odiltKGUpNjMwCiszMDkzIHkobGlzdCkzNSBiKGlzKWcoaWdub3JlZC4pNTMgYihJZikzNCBiIEZzKEhJU1RDT05UUk9MKWUKK0Z0KGlzKWkodW5zZXQsKWkob3IpZShkbylzKGVzKWgobm90KWcoaW5jbHVkZSlmKGEpaCh2KS01CitiKGFsaWQpMzUgYih2KS01IGIoYWx1ZSwpMzYgYihhbGwpNjMwIDMyMDMgeShsaW5lcykzMAorYihyZWFkKWcoYiltKHkpZyh0aGUpZyhzaGVsbClnKHBhcnNlcilnKGFyZSlnKHNhKW0odiltKGVkKWgob24pZih0aGUpZworKGhpc3RvcnkpZyhsaXN0LCloKHN1Yik1IGIoamVjdCkzMCBiKHRvKWcodGhlKWcodiktNQorYihhbHVlKTYzMCAzMzEzIHkob2YpNDIgYiBGcyhISVNUSUdOT1JFKXAgRnQoLik3MyBiKFRoZSk0MgorYihzZWNvbmQpZyhhbmQpZyhzdWJzZXF1ZW4pbSh0KWYobGluZXMpaChvZiloKGEpZihtKW0odWx0aS1saW5lKWgoY29tcCkKK3Mob3VuZCk2MzAgMzQyMiB5KGNvbW1hbmQpMzMgYihhcmUpaChub3QpZyh0ZXN0ZWQsKWkoYW5kKWQoYXJlKWgoYWRkZWQpCitmKHRvKWgodGhlKWcoaGlzdG9yeSlnKHJlZ2FyZGxlc3MpZyhvZilnKHRoZSlmKHYpLTUgYihhbHVlKTYzMAorMzUzMiB5KG9mKTMxIGIgRnMoSElTVENPTlRST0wpcCBGdCguKTE1MCAzNjk2IHkgRnMoSElTVEZJTEUpOTYKK2IgRnQoVGhlKTI3IGIobmFtZSloKG9mKWcodGhlKWcoXDAxNGxlKWcodG8paCh3aGljKW0oaClmKHRoZSlnKGNvbW1hbmQpCitmKGhpc3RvcnkpaChpcylnKHNhKW0odiltKGVkLik0MSBiKFRoZSkyNyBiKGRlZmF1bHQpaCh2KS01CitiKGFsdWUpNjMwIDM4MDYgeShpcykzMCBiKGApcCBGcyh+Ly5iYXNoX2hpc3RvcnkpcCBGdCgnLikxNTAKKzM5NzAgeSBGcyhISVNURklMRVNJWkUpNjMwIDQwODAgeSBGdChUaGUpYyhtYXhpbSltKHVtKWYobiltKHVtKW0oYilzCisoZXIpZyhvZiloKGxpbmVzKWgoY29uKW0odGFpbmVkKWcoaW4pZih0aGUpZyhoaXN0b3J5KWcoXDAxNGxlLikzOQorYihXaGVuKTI2IGIodGhpcylnKHYpLTUgYihhcmlhYmxlKTYzMCA0MTg5IHkoaXMpMzMgYihhc3NpZ25lZCloKGEpZyh2KQorLTUgYihhbHVlLCkzNSBiKHRoZSlmKGhpc3RvcnkpZihcMDE0bGUpZyhpcyloKHRydW5jYXRlZCwpZyhpZilnCisobmVjZXNzYXJ5KS04IGIoLCkzNSBiKGIpbSh5KWUocmVtbyltKHZpbmcpaSh0aGUpNjMwCis0Mjk5IHkob2xkZXN0KTI5IGIoZW4pbSh0cmllcywpZyh0bylnKGNvbiltKHRhaW4pZyhubylmKG1vcmUpZyh0aGFuKWYKKyh0aGF0KWkobiltKHVtKW0oYilzKGVyKWUob2YpaChsaW5lcy4pNDAgYihUaGUpMjcgYihoaXN0b3J5KWgoXDAxNGxlKWcKKyhpcyk2MzAgNDQwOCB5KGFsc28pMzMgYih0cnVuY2F0ZWQpZSh0byloKHRoaXMpZyhzaXplKWcoYWZ0ZXIpZworKHdyaXRpbmcpZyhpdClnKHdoZW4pZihhbilnKGluKW0odGVyYWN0aXYpbShlKWsoc2hlbGwpYyhleGl0cy4pNDUKK2IoVGhlKTYzMCA0NTE4IHkoZGVmYXVsdCkzMSBiKHYpLTUgYihhbHVlKTMwIGIoaXMpaCg1MDAuKTE1MAorNDY4MiB5IEZzKEhJU1RJR05PUkUpNjMwIDQ3OTIgeSBGdChBKWkoY29sb24tc2VwYXJhdGVkKWgobGlzdClmKG9mKWcKKyhwYXR0ZXJucylmKHVzZWQpZyh0byloKGRlY2lkZSlnKHdoaWMpbShoKWYoY29tbWFuZClnKGxpbmVzKWgoc2hvdWxkKQorNjMwIDQ5MDIgeShiKXMoZSlmKHNhKW0odiltKGVkKWgob24pZyh0aGUpZihoaXN0b3J5KWgobGlzdC4pNDcKK2IoRWFjKW0oaCkzMyBiKHBhdHRlcm4pZyhpcylmKGFuYyltKGhvcmVkKWgoYXQpZyh0aGUpZihiKXMoZWdpbm5pbmcpZworKG9mKWgodGhlKTYzMCA1MDExIHkobGluZSk0MyBiKGFuZCllKG0pbSh1c3QpaChtYXRjKW0oaCloKHRoZSlnCisoY29tcGxldGUpaChsaW5lKWUoXChubyloKGltcGxpY2l0KWcoYClwIEZzKCopcCBGdCgnKWYoaXMpZyhhcHApcworKGVuZGVkXCkuKTc1IGIoRWFjKW0oaCk2MzAgNTEyMSB5KHBhdHRlcm4pNDIgYihpcylnKHRlc3RlZClnKGFnYWluc3QpaAorKHRoZSlmKGxpbmUpZyhhZnRlcilnKHRoZSlnKGMpbShoZWMpbShrcyloKHNwKXMoZWNpXDAxNGVkKWUoYiltKHkpaAorRnMoSElTVENPTlRST0wpNjMwIDUyMzAgeSBGdChhcmUpMzcgYihhcHBsaWVkLik1OSBiKEluKTM2CitiKGFkZGl0aW9uKWgodG8pZyh0aGUpZyhub3JtYWwpZyhzaGVsbClmKHBhdHRlcm4paChtYXRjKW0oaGluZyloKGMpbQorKGhhcmFjdGVycywpaShgKXAgRnMoJilwIEZ0KCcpNjMwIDUzNDAgeShtYXRjKW0oaGVzKWQodGhlKWYocHJldmlvdXMpZworKGhpc3RvcnkpZyhsaW5lLik1NyBiKGApcCBGcygmKXAgRnQoJykzNiBiKG1hKW0oeSloKGIpcyhlKWUoZXNjYXApcyhlZCkKK2godXNpbmcpZyhhKWcoYmFjKW0oa3NsYXNoOylrKHRoZSlwIGVvcCBlbmQKICUlUGFnZTogNjkgNzUKIFRlWERpY3QgYmVnaW4gNjkgNzQgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDU6KTQxCi1iKFNoZWxsKTMwIGIoViktOCBiKGFyaWFibGVzKTI0NTkgYig2OSkxNTAgMjk5IHkgRnMoU0VDT05EUykxNDQKLWIgRnQoVGhpcyk0MCBiKHYpLTUgYihhcmlhYmxlKTQxIGIoZXhwYW5kcylmKHRvKWgodGhlKWcobiltKHVtKW0oYilzCi0oZXIpZShvZilpKHNlY29uZHMpZyhzaW5jZSlnKHRoZSlmKHNoZWxsKWgodyltKGFzKWcoc3RhcnRlZC4pNjMwCi00MDggeShBc3NpZ25tZW4pbSh0KWkodG8pZyh0aGlzKWcodiktNSBiKGFyaWFibGUpNDMgYihyZXNldHMpZyh0aGUpZwotKGNvdW4pbSh0KWcodG8pZyh0aGUpZyh2KS01IGIoYWx1ZSk0MyBiKGFzc2lnbmVkLClqKGFuZCljKHRoZSk2MzAKLTUxOCB5KGV4cGFuZGVkKTM1IGIodiktNSBiKGFsdWUpMzYgYihiKXMoZWNvbWVzKWgodGhlKWYodiktNQotYihhbHVlKTM2IGIoYXNzaWduZWQpZyhwbHVzKWYodGhlKWgobiltKHVtKW0oYilzKGVyKWYob2YpaChzZWNvbmRzKWcKLShzaW5jZSk2MzAgNjI4IHkodGhlKTMxIGIoYXNzaWdubWVuKW0odC4pMTUwIDc3OSB5IEZzKFNIRUxMKTI0MAotYiBGdChUaGUpMjkgYihmdWxsKWgocGF0aG5hbWUpZyh0byloKHRoZSlmKHNoZWxsKWcoaXMpZyhrKW0oZXB0KWcoaW4pZwotKHRoaXMpZyhlbiltKHZpcm9ubWVuKW0odClnKHYpLTUgYihhcmlhYmxlLik0MiBiKElmKTI5Ci1iKGl0KWkoaXMpZihub3QpNjMwIDg4OSB5KHNldCkzNiBiKHdoZW4pZih0aGUpaChzaGVsbClnKHN0YXJ0cywpaShCYXNoKQotZShhc3NpZ25zKWgodG8pZihpdCloKHRoZSlmKGZ1bGwpZihwYXRobmFtZSloKG9mKWcodGhlKWcoY3VycmVuKW0odCk2MzAKLTk5OSB5KHVzZXIncykzMCBiKGxvZ2luKWgoc2hlbGwuKTE1MCAxMTUwIHkgRnMoU0hFTExPUFRTKTYzMAotMTI2MCB5IEZ0KEEpZyhjb2xvbi1zZXBhcmF0ZWQpaChsaXN0KWYob2YpZyhlbmFibGVkKWYoc2hlbGwpaChvcHRpb25zLikKLTQxIGIoRWFjKW0oaCkzMSBiKHcpbShvcmQpZihpbilnKHRoZSloKGxpc3QpZyhpcylnKGEpZyh2KS01Ci1iKGFsaWQpNjMwIDEzNjkgeShhcmd1bWVuKW0odCkyNCBiKGZvcilmKHRoZSloKGApcCBGcygtbylwCi1GdCgnKWYob3B0aW9uKWgodG8pZyh0aGUpZyBGcyhzZXQpZiBGdChidWlsdGluKWcoY29tbWFuZClnKFwoc2VlKWkKLShTZWN0aW9uKWYoNC4zLjEpaChbVGhlKTYzMCAxNDc5IHkoU2V0KWsoQnVpbHRpbl0sKWgocGFnZSlmKDUxXCkuKTQyCi1iKFRoZSkyOCBiKG9wdGlvbnMpaChhcHApcyhlYXJpbmcpZihpbilnIEZzKFNIRUxMT1BUUyllCi1GdChhcmUpaih0aG9zZSloKHJlcClzKG9ydGVkKTYzMCAxNTg5IHkoYXMpZyhgKXAgRnMob24pcAotRnQoJylmKGIpbSh5KWgoYClwIEZzKHNldClnKC1vKXAgRnQoJy4pNDAgYihJZikyOSBiKHRoaXMpaCh2KS01Ci1iKGFyaWFibGUpMzAgYihpcylnKGluKWYodGhlKWgoZW4pbSh2aXJvbm1lbiltKHQpZyh3aGVuKWYoQmFzaCloCi0oc3RhcnRzKWcodXAsKTYzMCAxNjk4IHkoZWFjKW0oaCk0MSBiKHNoZWxsKWUob3B0aW9uKWgoaW4pZih0aGUpaChsaXN0KQotZyh3aWxsKWYoYilzKGUpZyhlbmFibGVkKWgoYilzKGVmb3JlKWYocmVhZGluZylnKGFuKW0oeSloKHN0YXJ0dXApZgotKFwwMTRsZXMuKTYzMCAxODA4IHkoVGhpcykzMCBiKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZihyZWFkb25seSktOAotYiguKTE1MCAxOTYwIHkgRnMoU0hMVkwpMjQwIGIgRnQoSW5jcmVtZW4pbSh0ZWQpMjEgYihiKW0oeSlnKG9uZSlnKGVhYykKLW0oaCloKHRpbWUpZihhKWgobmV3KWUoaW5zdGFuY2UpaChvZilnKEJhc2gpZyhpcylnKHN0YXJ0ZWQuKTM4Ci1iKFRoaXMpMjAgYihpcyloKGluKW0odGVuZGVkKTYzMCAyMDY5IHkodG8pMzEgYihiKXMoZSlmKGEpaChjb3VuKW0odClnCi0ob2YpZihobyltKHcpaChkZWVwbHkpZih5KW0ob3VyKWcoQmFzaCloKHNoZWxscylmKGFyZSloKG5lc3RlZC4pMTUwCi0yMjIxIHkgRnMoVElNRUZPUk1BVCk2MzAgMjMzMCB5IEZ0KFRoZSlmKHYpLTUgYihhbHVlKTMyCi1iKG9mKWYodGhpcylnKHBhcmFtZXRlcilnKGlzKWcodXNlZClmKGFzKWgoYSlnKGZvcm1hdCloKHN0cmluZylmKHNwKXMKLShlY2lmeWluZylmKGhvKW0odyloKHRoZSlnKHRpbS0pNjMwIDI0NDAgeShpbmcpMzcgYihpbmZvcm1hdGlvbilmKGZvciloCi0ocGlwKXMoZWxpbmVzKWYocHJlXDAxNHhlZClmKHdpdGgpaCh0aGUpaCBGcyh0aW1lKWUgRnQocmVzZXJ2KW0oZWQpaSh3KQotbShvcmQpZihzaG91bGQpZyhiKXMoZSk2MzAgMjU1MCB5KGRpc3BsYSltKHkpbShlZC4payhUaGUpMjcKLWIoYClwIEZzKFwwNDUpcCBGdCgnKWgoYyltKGhhcmFjdGVyKWgoaW4pbSh0cm8pcyhkdWNlcyllKGFuKWgoZXNjYXApcwotKGUpZyhzZXF1ZW5jZSlnKHRoYXQpZyhpcylmKGV4cGFuZGVkKWcodG8pNjMwIDI2NTkgeShhKTM3Ci1iKHRpbWUpZyh2KS01IGIoYWx1ZSkzNiBiKG9yKWgob3RoZXIpZihpbmZvcm1hdGlvbi4pNTkKLWIoVGhlKTM2IGIoZXNjYXApcyhlKWcoc2VxdWVuY2VzKWgoYW5kKWUodGhlaXIpaShtZWFuaW5ncyk2MzAKLTI3NjkgeShhcmUpMzEgYihhcylmKGZvbGxvKW0od3M7KWkodGhlKWYoYnJhY2VzKWYoZGVub3RlKWgob3B0aW9uYWwpaAotKHApcyhvcnRpb25zLik2MzAgMjkyMSB5IEZzKFwwNDVcMDQ1KTM4NCBiIEZ0KEEpMzAgYihsaXRlcmFsKWkoYClwCi1GcyhcMDQ1KXAgRnQoJy4pNjMwIDMwNzIgeSBGcyhcMDQ1WylwIEZpKHApMTEgYiBGcyhdW2xdUik4NQotYiBGdChUaGUpMzAgYihlbGFwc2VkKWgodGltZSlnKGluKWYoc2Vjb25kcy4pNjMwIDMyMjQKLXkgRnMoXDA0NVspcCBGaShwKTExIGIgRnMoXVtsXVUpODUgYiBGdChUaGUpMzAgYihuKW0odW0pbShiKXMoZXIpZihvZiloCi0oQ1BVKWcoc2Vjb25kcyloKHNwKXMoZW4pbSh0KWYoaW4pZyh1c2VyKWYobW8pcyhkZS4pNjMwCi0zMzc2IHkgRnMoXDA0NVspcCBGaShwKTExIGIgRnMoXVtsXVMpODUgYiBGdChUaGUpMzAgYihuKW0odW0pbShiKXMoZXIpZgotKG9mKWgoQ1BVKWcoc2Vjb25kcyloKHNwKXMoZW4pbSh0KWYoaW4pZyhzeXN0ZW0pZyhtbylzKGRlLik2MzAKLTM1MjggeSBGcyhcMDQ1UCkzODQgYiBGdChUaGUpMzAgYihDUFUpZyhwKXMoZXJjZW4pbSh0YWdlLClpKGNvbXB1dGVkKWUKLShhcyloKFwoXDA0NVUpZiBGcygrKWcgRnQoXDA0NVNcKSlnKC8paChcMDQ1Ui4pNjMwIDM2NzkKLXkoVGhlKTIzIGIob3B0aW9uYWwpaiBGcShwKWcgRnQoaXMpZShhKWcoZGlnaXQpaChzcClzKGVjaWZ5aW5nKWUodGhlKWgKLShwcmVjaXNpb24sKWkodGhlKWUobiltKHVtKW0oYilzKGVyKWYob2YpaChmcmFjdGlvbmFsKWgoZGlnaXRzKTYzMAotMzc4OSB5KGFmdGVyKTM2IGIoYSlmKGRlY2ltYWwpaShwKXMob2luKW0odC4pNTUgYihBKTM1Ci1iKHYpLTUgYihhbHVlKTM2IGIob2YpZigwKWgoY2F1c2VzKWcobm8pZihkZWNpbWFsKWgocClzKG9pbiltKHQpZihvciloCi0oZnJhY3Rpb24pZyh0bylnKGIpcyhlKTYzMCAzODk4IHkob3V0cHV0Lik0OCBiKEEpbSh0KTM0Ci1iKG1vc3QpZih0aHJlZSlnKHBsYWNlcyloKGFmdGVyKWYodGhlKWcoZGVjaW1hbCloKHApcyhvaW4pbSh0KWYobWEpbSh5KQotaChiKXMoZSllKHNwKXMoZWNpXDAxNGVkOylpKHYpLTUgYihhbHVlcyk2MzAgNDAwOCB5KG9mKTMxCi1iIEZxKHApaCBGdChncmVhdGVyKWcodGhhbillKDMpaChhcmUpZihjKW0oaGFuZ2VkKWgodG8pZygzLik0MgotYihJZikyOSBiIEZxKHApayBGdChpcylkKG5vdCloKHNwKXMoZWNpXDAxNGVkLClmKHRoZSloKHYpLTUKLWIoYWx1ZSkzMCBiKDMpaChpcylnKHVzZWQuKTYzMCA0MTM5IHkoVGhlKTU0IGIob3B0aW9uYWwpaAotRnMobClmIEZ0KHNwKXMoZWNpXDAxNGVzKWcoYSloKGxvbmdlcilmKGZvcm1hdCwpNjEgYihpbmNsdWRpbmcpNTQKLWIobWluKW0odXRlcywpNjEgYihvZik1NCBiKHRoZSlnKGZvcm0pNjMwIDQyNDggeSBGcShNTSkxMAotYiBGdChtKXAgRnEoU1MpNSBiIEZ0KC4pcCBGcShGRilpIEZ0KHMuKTEwMiBiKFRoZSk1MAotYih2KS01IGIoYWx1ZSk1MSBiKG9mKWcgRnEocClpIEZ0KGRldGVybWluZXMpZSh3aGV0aGVyKWYob3IpaChub3QpZgotKHRoZSloKGZyYWN0aW9uKWgoaXMpNjMwIDQzNTggeShpbmNsdWRlZC4pNjMwIDQ0ODkgeShJZikzMAotYih0aGlzKWcodiktNSBiKGFyaWFibGUpMzEgYihpcylnKG5vdClmKHNldCwpaShCYXNoKWUoYWN0cyloKGFzKWcoaWYpZgotKGl0KWgoaGFkKWYodGhlKWgodiktNSBiKGFsdWUpODcwIDQ2MTkgeSBGcwotKCQnXFxucmVhbFxcdFwwNDUzbFJcXG51c2VyXFx0XDA0NTMpbyhsVVxcbilvKHN5c1xcKW8odFwwNDUzKW8obFMnKTYzMAotNDc1MCB5IEZ0KElmKTM3IGIodGhlKWcodiktNSBiKGFsdWUpMzggYihpcylmKG4pbSh1bGwsKWkobm8pZih0aW1pbmcpZgotKGluZm9ybWF0aW9uKWgoaXMpZihkaXNwbGEpbSh5KW0oZWQuKTYyIGIoQSkzNyBiKHRyYWlsaW5nKWkobmV3bGluZSllCi0oaXMpNjMwIDQ4NTkgeShhZGRlZCkzMCBiKHdoZW4pZih0aGUpaShmb3JtYXQpZihzdHJpbmcpaChpcylmKGRpc3BsYSltCi0oeSltKGVkLikxNTAgNTAxMSB5IEZzKFRNT1VUKTI0MCBiIEZ0KElmKTIyIGIoc2V0KWgodG8pZyhhKWcodiktNQotYihhbHVlKTIzIGIoZ3JlYXRlciloKHRoYW4pZSh6ZXJvLClqIEZzKFRNT1VUKWQgRnQoaXMpZyh0cmVhdGVkKWkoYXMpZQotKHRoZSloKGRlZmF1bHQpZyh0aW1lb3V0KWcoZm9yKWcodGhlKTYzMCA1MTIxIHkgRnMocmVhZCkzMQotYiBGdChidWlsdGluKWgoXChzZWUpaChTZWN0aW9uKWYoNC4yKWkoW0Jhc2gpZShCdWlsdGluc10sKWgocGFnZSlnCi0oNDFcKS4pNDcgYihUaGUpMzIgYiBGcyhzZWxlY3QpZSBGdChjb21tYW5kKTYzMCA1MjMwCi15KFwoc2VlKWYoU2VjdGlvbiloKDMuMi40LjIpZyhbQ29uZGl0aW9uYWwpZyhDb25zdHJ1Y3RzXSwpZShwYWdlKWkKLSgxMFwpKWYodGVybWluYXRlcylnKGlmKWcoaW5wdXQpZShkbylzKGVzKTYzMCA1MzQwIHkobm90KWsoYXJyaXYpbShlKWcKLShhZnRlcilnIEZzKFRNT1VUKWUgRnQoc2Vjb25kcyloKHdoZW4pZihpbnB1dCloKGlzKWcoY29taW5nKWgoZnJvbSlmKGEpCi1oKHRlcm1pbmFsLilwIGVvcCBlbmQKK2IoU2hlbGwpMzAgYihWKS04IGIoYXJpYWJsZXMpMjQ1OSBiKDY5KTYzMCAyOTkgeShiYWMpbShrc2xhc2gpMzQKK2IoaXMpZyhyZW1vKW0odiltKGVkKWgoYilzKGVmb3JlKWUoYXR0ZW1wdGluZylpKGEpZyhtYXRjKW0oaC4pNTEKK2IoVGhlKTM0IGIoc2Vjb25kKWYoYW5kKWgoc3Vic2VxdWVuKW0odCk2MzAgNDA4IHkobGluZXMpZShvZiloKGEpZyhtKW0KKyh1bHRpLWxpbmUpZyhjb21wKXMob3VuZCllKGNvbW1hbmQpaChhcmUpaChub3QpZih0ZXN0ZWQsKWkoYW5kKWUoYXJlKWcKKyhhZGRlZClnKHRvKWgodGhlKTYzMCA1MTggeShoaXN0b3J5KWQocmVnYXJkbGVzcyloKG9mKWcodGhlKWYodiktNQorYihhbHVlKTMxIGIob2YpZyBGcyhISVNUSUdOT1JFKXAgRnQoLik2MzAgNjQ5IHkgRnMoSElTVElHTk9SRSkyMAorYiBGdChzdWJzdW1lcylnKHRoZSlqKGZ1bmN0aW9uKWYob2YpaCBGcyhISVNUQ09OVFJPTClwCitGdCguKTM1IGIoQSkyMyBiKHBhdHRlcm4pZihvZiloKGApcCBGcygmKXAgRnQoJylnKGlzKWYoaWRlbiltKHRpY2FsKTYzMAorNzU4IHkodG8payBGcyhpZ25vcmVkdXBzKXAgRnQoLCllKGFuZCloKGEpaChwYXR0ZXJuKWcob2YpZihgKXAKK0ZzKFspMzEgYihdKilwIEZ0KCcpMjUgYihpcyloKGlkZW4pbSh0aWNhbCloKHRvKWYgRnMoaWdub3Jlc3BhY2UpcAorRnQoLikzNiBiKENvbSltKGJpbmluZyk2MzAgODY4IHkodGhlc2UpMzAgYih0KW0odyltKG8paChwYXR0ZXJucywpZgorKHNlcGFyYXRpbmcpZyh0aGVtKWcod2l0aClmKGEpaChjb2xvbiwpaChwcm8pbSh2aWRlcyllKHRoZSloCisoZnVuY3Rpb25hbGl0KW0oeSloKG9mKTYzMCA5NzcgeSBGcyhpZ25vcmVib3RoKXAgRnQoLikxNTAKKzExMjkgeSBGcyhISVNUU0laRSk5NiBiIEZ0KFRoZSk0MiBiKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZilpCisoY29tbWFuZHMpZSh0bylqKHJlbWVtKW0oYilzKGVyKWQob24paCh0aGUpaChoaXN0b3J5KWYobGlzdC4pNzcKK2IoVGhlKTYzMCAxMjM4IHkoZGVmYXVsdCkzMSBiKHYpLTUgYihhbHVlKTMwIGIoaXMpaCg1MDAuKTE1MAorMTM5MCB5IEZzKEhJU1RUSU1FRk9STUFUKTYzMCAxNDk5IHkgRnQoSWYpNDQgYih0aGlzKWcodiktNQorYihhcmlhYmxlKTQ1IGIoaXMpZihzZXQpZyhhbmQpZyhub3QpZyhuKW0odWxsLClrKGl0cylkKHYpLTUKK2IoYWx1ZSk0NCBiKGlzKWcodXNlZClnKGFzKWcoYSloKGZvcm1hdClmKHN0cmluZylnKGZvcik2MzAKKzE2MDkgeSBGcShzdHJmdGltZSljIEZ0KHRvKTM1IGIocHJpbiltKHQpZih0aGUpaCh0aW1lKWcoc3RhbXApZihhc3NvKXMKKyhjaWF0ZWQpaSh3aXRoKWYoZWFjKW0oaClnKGhpc3RvcnkpZyhlbiltKHRyeSlmKGRpc3BsYSltKHkpbShlZCk2MzAKKzE3MTggeShiKW0oeSlnKHRoZSlmIEZzKGhpc3RvcnkpZiBGdChidWlsdGluLik1MCBiKElmKTMzCitiKHRoaXMpaCh2KS01IGIoYXJpYWJsZSkzNCBiKGlzKWcoc2V0LCloKHRpbWUpZihzdGFtcHMpZyhhcmUpZyh3cml0dGVuKQorZih0bylpKHRoZSk2MzAgMTgyOCB5KGhpc3RvcnkpMjYgYihcMDE0bGUpZyhzbylnKHRoZXkpZyhtYSltKHkpaChiKXMoZSkKK2UocHJlc2VydiltKGVkKWcoYWNyb3NzKWkoc2hlbGwpZihzZXNzaW9ucy4pMzkgYihUaGlzKTI1CitiKHVzZXMpaCh0aGUpZyhoaXN0b3J5KTYzMCAxOTM3IHkoY29tbWVuKW0odCkzMSBiKGMpbShoYXJhY3RlciloKHRvKWYKKyhkaXN0aW5ndWlzaClmKHRpbWVzdGFtcHMpaChmcm9tKWYob3RoZXIpZyhoaXN0b3J5KWgobGluZXMuKTE1MAorMjA4OSB5IEZzKEhPU1RGSUxFKTk2IGIgRnQoQ29uKW0odGFpbnMpMzkgYih0aGUpZihuYW1lKWcob2YpaChhKWcKKyhcMDE0bGUpZihpbilnKHRoZSlnKHNhbWUpaChmb3JtYXQpZyhhcylmKGApcCBGcygvZXRjL2hvc3RzKXAKK0Z0KCcpZSh0aGF0KWooc2hvdWxkKTYzMCAyMTk4IHkoYilzKGUpaShyZWFkKWgod2hlbilmKHRoZSlpKHNoZWxsKWYKKyhuZWVkcylmKHRvKWkoY29tcGxldGUpaChhKWUoaG9zdG5hbWUuKTc2IGIoVGhlKTQyIGIobGlzdClnKG9mKWcocClzCisob3NzaWJsZSk2MzAgMjMwOCB5KGhvc3RuYW1lKTI2IGIoY29tcGxldGlvbnMpZyhtYSltKHkpaChiKXMoZSlkKGMpbQorKGhhbmdlZClqKHdoaWxlKWUodGhlKWgoc2hlbGwpZyhpcylmKHJ1bm5pbmc7KWgodGhlKWcobmV4dClmKHRpbWUpNjMwCisyNDE4IHkoaG9zdG5hbWUpMzcgYihjb21wbGV0aW9uKWkoaXMpZShhdHRlbXB0ZWQpaChhZnRlcilnKHRoZSlmKHYpLTUKK2IoYWx1ZSkzNyBiKGlzKWgoYyltKGhhbmdlZCwpaChCYXNoKWUoYWRkcylnKHRoZSk2MzAKKzI1MjcgeShjb24pbSh0ZW4pbSh0cyk0MyBiKG9mKWYodGhlKWYobmV3KWcoXDAxNGxlKWgodG8pZyh0aGUpZgorKGV4aXN0aW5nKWkobGlzdC4pNzQgYihJZik0MSBiIEZzKEhPU1RGSUxFKWUgRnQoaXMpaShzZXQsKWsoYnV0KWMoaGFzKWcKKyhubyk2MzAgMjYzNyB5KHYpLTUgYihhbHVlLCkyOSBiKG9yKWUoZG8pcyhlcyloKG5vdClnKG5hbWUpZihhKWgKKyhyZWFkYWJsZSlnKFwwMTRsZSwpaChCYXNoKWYoYXR0ZW1wdHMpZyh0bylnKHJlYWQpZyhgKXAKK0ZzKC9ldGMvaG9zdHMpcCBGdCgnKWQodG8pNjMwIDI3NDYgeShvYnRhaW4paih0aGUpZyhsaXN0KWgob2YpZihwKXMKKyhvc3NpYmxlKWYoaG9zdG5hbWUpaChjb21wbGV0aW9ucy4pNDEgYihXaGVuKTI4IGIgRnMoSE9TVEZJTEUpZQorRnQoaXMpaSh1bnNldCwpZyh0aGUpNjMwIDI4NTYgeShob3N0bmFtZSlqKGxpc3QpZyhpcylmKGNsZWFyZWQuKTE1MAorMzAwNyB5IEZzKEhPU1ROQU1FKTk2IGIgRnQoVGhlKTMwIGIobmFtZSlnKG9mKWgodGhlKWYoY3VycmVuKW0odCloCisoaG9zdC4pMTUwIDMxNTkgeSBGcyhIT1NUVFlQRSk5NiBiIEZ0KEEpMzAgYihzdHJpbmcpaChkZXNjcmliaW5nKWYodGhlKQorZyhtYWMpbShoaW5lKWgoQmFzaClnKGlzKWYocnVubmluZylmKG9uLikxNTAgMzMxMCB5IEZzKElHTk9SRUVPRik2MzAKKzM0MjAgeSBGdChDb24pbSh0cm9scyllKHRoZSloKGFjdGlvbilnKG9mKWYodGhlKWcoc2hlbGwpZyhvbilnKHJlY2VpcHQpCitoKG9mKWYoYW4pZyBGcyhFT0YpZiBGdChjKW0oaGFyYWN0ZXIpaShhcylnKHRoZSlmKHNvbGUpaChpbnB1dC4pNjMwCiszNTI5IHkoSWYpaShzZXQsKWkodGhlKWYodiktNSBiKGFsdWUpMzIgYihkZW5vdGVzKWYodGhlKWcobiltKHVtKW0oYilzCisoZXIpZihvZiloKGNvbnNlY3V0aXYpbShlKWkgRnMoRU9GKWQgRnQoYyltKGhhcmFjdGVycylpKHRoYXQpZihjYW4paChiKQorcyhlKTYzMCAzNjM5IHkocmVhZCk0MCBiKGFzKWYodGhlKWgoXDAxNHJzdClmKGMpbShoYXJhY3RlcilpKG9uKWYoYW4pZgorKGlucHV0KWcobGluZSloKGIpcyhlZm9yZSlmKHRoZSloKHNoZWxsKWcod2lsbClnKGV4aXQuKTcwCitiKElmKTM5IGIodGhlKTYzMCAzNzQ4IHkodiktNSBiKGFyaWFibGUpMzggYihleGlzdHMpZihidXQpZihkbylzKGVzKWcKKyhub3QpaChoYSltKHYpbShlKWgoYSlnKG4pbSh1bWVyaWMpZSh2KS01IGIoYWx1ZSkzNyBiKFwob3IpaChoYXMpZShubyloCisodiktNSBiKGFsdWVcKSkzNyBiKHRoZW4pZyh0aGUpNjMwIDM4NTggeShkZWZhdWx0KTMxCitiKGlzKWcoMTAuKTQzIGIoSWYpMzAgYih0aGUpaCh2KS01IGIoYXJpYWJsZSkzMSBiKGRvKXMoZXMpZyhub3QpZworKGV4aXN0LCloKHRoZW4pZSBGcyhFT0YpZyBGdChzaWduaVwwMTRlcyloKHRoZSlnKGVuZClmKG9mKWgoaW5wdXQpNjMwCiszOTY4IHkodG8pZyh0aGUpZyhzaGVsbC4pNDEgYihUaGlzKTI5IGIoaXMpaShvbmx5KWYoaW4pZyhlXDAxM2VjdClpCisoZm9yKWUoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbHMuKTE1MCA0MTE5IHkgRnMoSU5QVVRSQykxNDQKK2IgRnQoVGhlKTY4IGIobmFtZSloKG9mKWYodGhlKWgoUmVhZGxpbmUpZyhpbml0aWFsaXphdGlvbilqKFwwMTRsZSwpNzgKK2IobyltKHYpbShlcnJpZGluZyk2OSBiKHRoZSlnKGRlZmF1bHQpZyhvZik2MzAgNDIyOCB5KGApcAorRnMofi8uaW5wdXRyYylwIEZ0KCcuKTE1MCA0MzgwIHkgRnMoTEFORykyODggYiBGdChVc2VkKTI4CitiKHRvKWgoZGV0ZXJtaW5lKWYodGhlKWcobG8pcyhjYWxlKWgoY2F0ZWdvcnkpaChmb3IpZShhbiltKHkpaAorKGNhdGVnb3J5KWgobm90KWUoc3ApcyhlY2lcMDE0Y2FsbHkpZyhzZWxlY3RlZCk2MzAgNDQ4OQoreSh3aXRoKWkoYSloKHYpLTUgYihhcmlhYmxlKTMxIGIoc3RhcnRpbmcpZyh3aXRoKWYgRnMoTENfKXAKK0Z0KC4pMTUwIDQ2NDEgeSBGcyhMQ19BTEwpMTkyIGIgRnQoVGhpcykyOCBiKHYpLTUgYihhcmlhYmxlKTI5CitiKG8pbSh2KW0oZXJyaWRlcyloKHRoZSlmKHYpLTUgYihhbHVlKTI5IGIob2YpZyBGcyhMQU5HKWYKK0Z0KGFuZClnKGFuKW0oeSloKG90aGVyKWcgRnMoTENfKWYgRnQodiktNSBiKGFyaWFibGUpMjkKK2Ioc3ApcyhlY2lmeWluZyk2MzAgNDc1MCB5KGEpaShsbylzKGNhbGUpaChjYXRlZ29yeSktOAorYiguKTE1MCA0OTAyIHkgRnMoTENfQ09MTEFURSk2MzAgNTAxMSB5IEZ0KFRoaXMpMzcgYih2KS01CitiKGFyaWFibGUpMzggYihkZXRlcm1pbmVzKWcodGhlKWcoY29sbGF0aW9uKWkob3JkZXIpZCh1c2VkKWcod2hlbilmCisoc29ydGluZylpKHRoZSlnKHJlc3VsdHMpZyhvZik2MzAgNTEyMSB5KFwwMTRsZW5hbWUpZShleHBhbnNpb24sKWkoYW5kKQorZShkZXRlcm1pbmVzKWcodGhlKWgoYilzKGVoYSltKHZpb3IpZihvZilnKHJhbmdlKWgoZXhwcmVzc2lvbnMsKWgKKyhlcXVpdi0pNjMwIDUyMzAgeShhbGVuY2UpZShjbGFzc2VzLCloKGFuZCllKGNvbGxhdGluZylpKHNlcXVlbmNlcyllCisod2l0aGluKWYoXDAxNGxlbmFtZSloKGV4cGFuc2lvbilnKGFuZClmKHBhdHRlcm4pNjMwCis1MzQwIHkobWF0YyltKGhpbmcpZChcKHNlZSloKFNlY3Rpb24pZigzLjUuOCloKFtGaWxlbmFtZSlnKEV4cGFuc2lvbl0sKQorZShwYWdlKWgoMjVcKS4pcCBlb3AgZW5kCiAlJVBhZ2U6IDcwIDc2CiBUZVhEaWN0IGJlZ2luIDcwIDc1IGJvcCAxNTAgLTExNiBhIEZ0KDcwKTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkoSW4pMjUgYihhbiloKGluKW0odGVyYWN0aXYpbShlKWkKLShzaGVsbCwpZyh0aGUpZSh2KS01IGIoYWx1ZSkyNiBiKGlzKWcoaW4pbSh0ZXJwcmV0ZWQpZyhhcylnKHRoZSlnKG4pbQotKHVtKW0oYilzKGVyKWYob2YpaChzZWNvbmRzKWYodG8paSh3KW0oYWl0KTYzMCA0MDggeShmb3IpMzIKLWIoaW5wdXQpZihhZnRlcilpKGlzc3VpbmcpZih0aGUpZyhwcmltYXJ5KWcocHJvbXB0KWYod2hlbilnKHRoZSlpCi0oc2hlbGwpZihpcyloKGluKW0odGVyYWN0aXYpbShlLik0OSBiKEJhc2gpNjMwIDUxOCB5KHRlcm1pbmF0ZXMpMzEKLWIoYWZ0ZXIpZyh0aGF0KWcobiltKHVtKW0oYilzKGVyKWUob2YpaShzZWNvbmRzKWYoaWYpZyhpbnB1dClnKGRvKXMoZXMpCi1nKG5vdClnKGFycml2KW0oZS4pMTUwIDY3NyB5IEZzKFRNUERJUikxOTIgYiBGdChJZikzOQotYihzZXQsKWooQmFzaCllKHVzZXMpZihpdHMpaCh2KS01IGIoYWx1ZSk0MCBiKGFzKWYodGhlKWgobmFtZSlmKG9mKWgoYSkKLWcoZGlyZWN0b3J5KWcoaW4pZih3aGljKW0oaClnKEJhc2gpaChjcmVhdGVzKTYzMCA3ODcKLXkodGVtcClzKG9yYXJ5KTMwIGIoXDAxNGxlcylnKGZvcilnKHRoZSloKHNoZWxsJ3MpZyh1c2UuKTE1MAotOTQ2IHkgRnMoVUlEKTMzNiBiIEZ0KFRoZSkzMCBiKG4pbSh1bWVyaWMpZyhyZWFsKWgodXNlcilmKGlkKWcob2YpZwotKHRoZSloKGN1cnJlbiltKHQpZih1c2VyLik0MCBiKFRoaXMpMzAgYih2KS01IGIoYXJpYWJsZSkzMQotYihpcylmKHJlYWRvbmx5KS04IGIoLilwIGVvcCBlbmQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyhMQ19DVFlQRSk5NiBiIEZ0KFRoaXMpMzYKK2IodiktNSBiKGFyaWFibGUpMzcgYihkZXRlcm1pbmVzKWYodGhlKWgoaW4pbSh0ZXJwcmV0YXRpb24paChvZilmKGMpbQorKGhhcmFjdGVycyloKGFuZCllKHRoZSlnKGIpcyhlaGEpbSh2aW9yKWgob2YpNjMwIDQwOAoreShjKW0oaGFyYWN0ZXIpNDYgYihjbGFzc2VzKWcod2l0aGluKWUoXDAxNGxlbmFtZSloKGV4cGFuc2lvbilnKGFuZClmCisocGF0dGVybiloKG1hdGMpbShoaW5nKWgoXChzZWUpZihTZWMtKTYzMCA1MTggeSh0aW9uKTMxCitiKDMuNS44KWgoW0ZpbGVuYW1lKWcoRXhwYW5zaW9uXSwpZShwYWdlKWgoMjVcKS4pMTUwCis2NzkgeSBGcyhMQ19NRVNTQUdFUyk2MzAgNzg4IHkgRnQoVGhpcykyNSBiKHYpLTUgYihhcmlhYmxlKTI3CitiKGRldGVybWluZXMpZih0aGUpZyhsbylzKGNhbGUpaSh1c2VkKWQodG8paSh0cmFuc2xhdGUpZyhkb3VibGUtcXVvdGVkKQorZihzdHJpbmdzKWcocHJlLSk2MzAgODk4IHkoY2VkZWQpMzEgYihiKW0oeSlmKGEpaChgKXAKK0ZzKCQpcCBGdCgnKWYoXChzZWUpaChTZWN0aW9uKWgoMy4xLjIuNSlnKFtMbylzKGNhbGUpZyhUKS04CitiKHJhbnNsYXRpb25dLCkzMiBiKHBhZ2UpZig3XCkuKTE1MCAxMDU5IHkgRnMoTENfTlVNRVJJQyk2MzAKKzExNjggeSBGdChUaGlzKWYodiktNSBiKGFyaWFibGUpMzEgYihkZXRlcm1pbmVzKWYodGhlKWgobG8pcyhjYWxlKWgKKyhjYXRlZ29yeSlnKHVzZWQpZShmb3IpZyhuKW0odW0pbShiKXMoZXIpZihmb3JtYXR0aW5nLikxNTAKKzEzMjkgeSBGcyhMSU5FTk8pMTkyIGIgRnQoVGhlKTMwIGIobGluZSloKG4pbSh1bSltKGIpcyhlcillKGluKWgodGhlKWcKKyhzY3JpcHQpaChvcilmKHNoZWxsKWcoZnVuY3Rpb24paChjdXJyZW4pbSh0bHkpZihleGVjdXRpbmcuKTE1MAorMTQ5MCB5IEZzKExJTkVTKTI0MCBiIEZ0KFVzZWQpNDMgYihiKW0oeSlnKHRoZSlnIEZzKHNlbGVjdCllCitGdChjb21tYW5kKWkodG8pZyhkZXRlcm1pbmUpZyh0aGUpZyhjb2x1bW4pZyhsZW5ndGgpZyhmb3IpZyhwcmluKW0KKyh0aW5nKTYzMCAxNTk5IHkoc2VsZWN0aW9uKTMyIGIobGlzdHMuKTQxIGIoQXV0b21hdGljYWxseSkzMworYihzZXQpZSh1cClzKG9uKWUocmVjZWlwdClpKG9mKWcoYSlnIEZzKFNJR1dJTkNIKXAgRnQoLikxNTAKKzE3NjAgeSBGcyhNQUNIVFlQRSk5NiBiIEZ0KEEpMjYgYihzdHJpbmcpZyh0aGF0KWgoZnVsbHkpZihkZXNjcmliKXMoZXMpCitmKHRoZSloKHN5c3RlbSlnKHQpbSh5cClzKGUpaChvbilmKHdoaWMpbShoKWYoQmFzaClpKGlzKWYoZXhlY3V0aW5nLClpCisoaW4pZSh0aGUpNjMwIDE4NzAgeShzdGFuZGFyZClrIEZsKGdudSlnIEZxKGNwdS1jb21wYW4pbSh5LXN5c3RlbSloCitGdChmb3JtYXQuKTE1MCAyMDMwIHkgRnMoTUFJTENIRUNLKTYzMCAyMTQwIHkgRnQoSG8pbSh3KWQob2Z0ZW4pZyhcKGluKQorZyhzZWNvbmRzXCkpZyh0aGF0KWcodGhlKWYoc2hlbGwpaChzaG91bGQpZihjKW0oaGVjKW0oaylpKGZvcillKG1haWwpaAorKGluKWYodGhlKWgoXDAxNGxlcylnKHNwKXMoZWNpXDAxNGVkKTYzMCAyMjUwIHkoaW4paSh0aGUpaAorRnMoTUFJTFBBVEgpZSBGdChvcilpIEZzKE1BSUwpZSBGdCh2KS01IGIoYXJpYWJsZXMuKTQzCitiKFRoZSkzMCBiKGRlZmF1bHQpaChpcylmKDYwKWkoc2Vjb25kcy4pNDIgYihXaGVuKTMwCitiKGl0KWgoaXMpZyh0aW1lKTYzMCAyMzU5IHkodG8pMzcgYihjKW0oaGVjKW0oayloKGZvcillKG1haWwsKWoodGhlKWUKKyhzaGVsbClmKGRvKXMoZXMpZyhzbyloKGIpcyhlZm9yZSlmKGRpc3BsYSltKHlpbmcpaCh0aGUpZihwcmltYXJ5KWcKKyhwcm9tcHQuKTU3IGIoSWYpNjMwIDI0NjkgeSh0aGlzKTM3IGIodiktNSBiKGFyaWFibGUpMzgKK2IoaXMpZih1bnNldCwpaChvcilmKHNldCloKHRvKWcoYSlmKHYpLTUgYihhbHVlKTM4IGIodGhhdClmKGlzKWcobm90KWgKKyhhKWYobiltKHVtKW0oYilzKGVyKWYoZ3JlYXRlcilpKHRoYW4pZihvcik2MzAgMjU3OCB5KGVxdWFsKTMxCitiKHRvKWcoemVybywpZyh0aGUpZyhzaGVsbClnKGRpc2FibGVzKWYobWFpbCloKGMpbShoZWMpbShraW5nLikxNTAKKzI3MzkgeSBGcyhNQVBGSUxFKTE0NCBiIEZ0KEFuKTM1IGIoYXJyYSltKHkpaCh2KS01IGIoYXJpYWJsZSkzNgorYihjcmVhdGVkKWcodG8paChob2xkKWUodGhlKWcodGV4dClpKHJlYWQpZShiKW0oeSlnKHRoZSloCitGcyhtYXBmaWxlKWQgRnQoYnVpbHRpbilpKHdoZW4pNjMwIDI4NDkgeShubykzMCBiKHYpLTUKK2IoYXJpYWJsZSkzMSBiKG5hbWUpZyhpcylmKHN1cHBsaWVkLikxNTAgMzAwOSB5IEZzKE9MRFBXRCkxOTIKK2IgRnQoVGhlKTMwIGIocHJldmlvdXMpZyh3KW0ob3JraW5nKWcoZGlyZWN0b3J5KWgoYXMpZyhzZXQpZyhiKW0oeSlmCisodGhlKWggRnMoY2QpZSBGdChidWlsdGluLikxNTAgMzE3MCB5IEZzKE9QVEVSUikxOTIgYgorRnQoSWYpMzUgYihzZXQpaSh0bylmKHRoZSloKHYpLTUgYihhbHVlKTM2IGIoMSwpaShCYXNoKWUoZGlzcGxhKW0oeXMpZworKGVycm9yKWYobWVzc2FnZXMpaShnZW5lcmF0ZWQpZyhiKW0oeSlmKHRoZSlnIEZzKGdldG9wdHMpNjMwCiszMjgwIHkgRnQoYnVpbHRpbikzMCBiKGNvbW1hbmQuKTE1MCAzNDQwIHkgRnMoT1NUWVBFKTE5MgorYiBGdChBKTMwIGIoc3RyaW5nKWgoZGVzY3JpYmluZylmKHRoZSlnKG9wKXMoZXJhdGluZyloKHN5c3RlbSlnKEJhc2gpZgorKGlzKWgocnVubmluZylkKG9uLikxNTAgMzYwMSB5IEZzKFBJUEVTVEFUVVMpNjMwIDM3MTEKK3kgRnQoQW4pMjMgYihhcnJhKW0oeSloKHYpLTUgYihhcmlhYmxlKTI0IGIoXChzZWUpaChTZWN0aW9uKWYoNi43KWgKKyhbQXJyYSltKHlzXSwpZyhwYWdlKWYoODJcKSloKGNvbiltKHRhaW5pbmcpZyhhKWYobGlzdClnKG9mKWcoZXhpdClnCisoc3RhLSk2MzAgMzgyMCB5KHR1cyloKHYpLTUgYihhbHVlcykyNyBiKGZyb20pZSh0aGUpaChwcm8pcyhjZXNzZXMpZworKGluKWYodGhlKWgobW9zdC1yZWNlbiltKHRseS1leGVjdXRlZClqKGZvcmVncm91bmQpYyhwaXApcyhlbGluZSk2MzAKKzM5MzAgeShcKHdoaWMpbShoKTMwIGIobWEpbSh5KWgoY29uKW0odGFpbiloKG9ubHkpZihhKWYoc2luZ2xlKWgKKyhjb21tYW5kXCkuKTE1MCA0MDkxIHkgRnMoUE9TSVhMWV9DT1JSRUNUKTYzMCA0MjAwIHkKK0Z0KElmKWgodGhpcyloKHYpLTUgYihhcmlhYmxlKTM0IGIoaXMpZihpbilmKHRoZSloKGVuKW0odmlyb25tZW4pbSh0KWgKKyh3aGVuKWQgRnMoYmFzaCloIEZ0KHN0YXJ0cywpaSh0aGUpZihzaGVsbClnKGVuKW0odGVycyloCitGbChwb3NpeCk2MzAgNDMxMCB5IEZ0KG1vKXMoZGUpMjIgYihcKHNlZSloKFNlY3Rpb24pZyg2LjExKWgoW0Jhc2gpZQorKFBPU0lYKWYoTW8pcyhkZV0sKWsocGFnZSllKDg2XCkpZyhiKXMoZWZvcmUpZihyZWFkaW5nKWcodGhlKWcoc3RhcnR1cCkKKzYzMCA0NDE5IHkoXDAxNGxlcywpMzIgYihhcylmKGlmKWgodGhlKWYoYClwIEZzKC0tcG9zaXgpcAorRnQoJylmKGluKW0odiltKG8pcyhjYXRpb24paihvcHRpb24pZihoYWQpZihiKXMoZWVuKWcoc3VwcGxpZWQuKTQyCitiKElmKTMxIGIoaXQpaChpcylmKHNldCloKHdoaWxlKTYzMCA0NTI5IHkodGhlKWYoc2hlbGwpZihpcyloKHJ1bm5pbmcsKQorZCBGcyhiYXNoKWkgRnQoZW5hYmxlcylnIEZsKHBvc2l4KWcgRnQobW8pcyhkZSwpZyhhcyloKGlmKWYodGhlKWgKKyhjb21tYW5kKTg3MCA0NjY0IHkgRnMoc2V0KTQ3IGIoLW8pZyhwb3NpeCk2MzAgNDc5OSB5CitGdChoYWQpMzAgYihiKXMoZWVuKWYoZXhlY3V0ZWQuKTE1MCA0OTYwIHkgRnMoUFBJRCkyODgKK2IgRnQoVGhlKTMwIGIocHJvKXMoY2VzcylnIEZsKGlkKWcgRnQob2YpaCh0aGUpZihzaGVsbCdzKWgocGFyZW4pbSh0KWcKKyhwcm8pcyhjZXNzLik0MCBiKFRoaXMpMzAgYih2KS01IGIoYXJpYWJsZSkzMSBiKGlzKWYocmVhZG9ubHkpLTgKK2IoLikxNTAgNTEyMSB5IEZzKFBST01QVF9DT01NQU5EKTYzMCA1MjMwIHkgRnQoSWYpMzIKK2Ioc2V0LCloKHRoZSlmKHYpLTUgYihhbHVlKTMzIGIoaXMpZihpbiltKHRlcnByZXRlZClnKGFzKWcoYSloKGNvbW1hbmQpCitmKHRvKWgoZXhlY3V0ZSlnKGIpcyhlZm9yZSlmKHRoZSlnKHByaW4pbSh0aW5nKWcob2YpNjMwCis1MzQwIHkoZWFjKW0oaClnKHByaW1hcnkpZChwcm9tcHQpZyhcKClwIEZzKCRQUzEpcCBGdChcKS4pcAorZW9wIGVuZAogJSVQYWdlOiA3MSA3NwotVGVYRGljdCBiZWdpbiA3MSA3NiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNjopNDEKLWIoQmFzaCkzMCBiKEYpLTggYihlYXR1cmVzKTI0ODQgYig3MSkxNTAgMjk5IHkgRm8oNik4MAotYihCYXNoKTU0IGIoRiktMTMgYihlYXR1cmVzKTE1MCA1NTQgeSBGdChUaGlzKTMwIGIoc2VjdGlvbiloKGRlc2NyaWIpcwotKGVzKWYoZmVhdHVyZXMpZyh1bmlxdWUpZyh0byloKEJhc2guKTE1MCA3OTcgeSBGcig2LjEpNjgKLWIoSW4pbCh2KWwob2tpbmcpNDYgYihCYXNoKTM5MCA5NTcgeSBGcyhiYXNoKWgoW2xvbmctb3B0XSllKFstaXJdKWgKLShbLWFiZWZoa21ucHR1dnhkQkNESFBdKWMoWy1vKTQ3IGIgRmkob3B0aW9uKTExIGIgRnMoXSk0NQotYihbLU8paSBGaShzaG9wdF9vcHRpb24pMTEgYiBGcyhdKTQ0IGIoWylwIEZpKGFyLSkzOTAKLTEwNjYgeShndW1lbnQpNTcgYiBGcyguLi4pbyhdKTM5MCAxMTc2IHkoYmFzaCk0NyBiKFtsb25nLW9wdF0pZQotKFstYWJlZmhrbW5wdHV2eGRCQ0RIUF0pYyhbLW8pNDcgYiBGaShvcHRpb24pMTEgYiBGcyhdKTQ2Ci1iKFstTylnIEZpKHNob3B0X29wdGlvbikxMSBiIEZzKF0pNDQgYigtYylqIEZpKHN0cmluZyk1NwotYiBGcyhbKXAgRmkoYXItKTM5MCAxMjg2IHkoZ3VtZW50KWcgRnMoLi4uKW8oXSkzOTAgMTM5NQoteShiYXNoKTQ3IGIoW2xvbmctb3B0XSllKC1zKWkoWy1hYmVmaGttbnB0dXZ4ZEJDREhQXSk0MgotYihbLW8payBGaShvcHRpb24pMTEgYiBGcyhdKTQ2IGIoWy1PKWggRmkoc2hvcHRfb3B0aW9uKTExCi1iIEZzKF0pNDMgYihbKXAgRmkoYXItKTM5MCAxNTA1IHkoZ3VtZW50KTU3IGIgRnMoLi4uKW8oXSkyNzUKLTE2NDYgeSBGdChJbikyMiBiKGFkZGl0aW9uKWkodG8pZyh0aGUpZyhzaW5nbGUtYyltKGhhcmFjdGVyKWkoc2hlbGwpZQotKGNvbW1hbmQtbGluZSlnKG9wdGlvbnMpZihcKHNlZSlpKFNlY3Rpb24pZig0LjMuMSlpKFtUaGUpZChTZXQpMTUwCi0xNzU2IHkoQnVpbHRpbl0sKWsocGFnZSllKDUxXCksKWkodGhlcmUpZShhcmUpZyhzZXYpbShlcmFsKWgobSltCi0odWx0aS1jKW0oaGFyYWN0ZXIpaChvcHRpb25zKWUodGhhdClnKHkpbShvdSlnKGNhbilnKHVzZS4pMzgKLWIoVGhlc2UpMjUgYihvcHRpb25zKTE1MCAxODY1IHkobSltKHVzdCkzMCBiKGFwcClzKGVhcilnKG9uKWcodGhlKWgKLShjb21tYW5kKWYobGluZSloKGIpcyhlZm9yZSlmKHRoZSlnKHNpbmdsZS1jKW0oaGFyYWN0ZXIpaihvcHRpb25zKWUodG8pCi1nKGIpcyhlKWYocmVjb2duaXplZC4pMTUwIDIwMzUgeSBGcygtLWRlYnVnZ2VyKTYzMCAyMTQ1Ci15IEZ0KEFycmFuZ2Upaihmb3IpZyh0aGUpZyhkZWJ1Z2dlcilnKHByb1wwMTRsZSlnKHRvKWgoYilzKGUpZQotKGV4ZWN1dGVkKWkoYilzKGVmb3JlKWYodGhlKWcoc2hlbGwpZyhzdGFydHMuKTQ5IGIoVCktOAotYih1cm5zKTYzMCAyMjU1IHkob24pMjUgYihleHRlbmRlZClnKGRlYnVnZ2luZylnKG1vKXMoZGUpZihcKHNlZSlpCi0oU2VjdGlvbilnKDQuMy4yKWgoW1RoZSlkKFNob3B0KWgoQnVpbHRpbl0sKWkocGFnZSllKDU1KWgoZm9yKTYzMAotMjM2NCB5KGEpMzUgYihkZXNjcmlwdGlvbilmKG9mKWgodGhlKWcgRnMoZXh0ZGVidWcpZAotRnQob3B0aW9uKWoodG8pZyh0aGUpZiBGcyhzaG9wdClmIEZ0KGJ1aWx0aW5cKSlpKGFuZClmKHNoZWxsKWcKLShmdW5jdGlvbik2MzAgMjQ3NCB5KHRyYWNpbmcpZChcKHNlZSlnKFNlY3Rpb24paCg0LjMuMSlnKFtUaGUpZShTZXQpZwotKEJ1aWx0aW5dLCloKHBhZ2UpZyg1MSloKGZvcillKGEpZyhkZXNjcmlwdGlvbiloKG9mKWYodGhlKWgKLUZzKC1vKTYzMCAyNTgzIHkoZnVuY3RyYWNlKWQgRnQob3B0aW9uXCkuKTE1MCAyNzUwIHkKLUZzKC0tZHVtcC1wby1zdHJpbmdzKTYzMCAyODU5IHkgRnQoQSkzNyBiKGxpc3QpZyhvZilmKGFsbClpCi0oZG91YmxlLXF1b3RlZCllKHN0cmluZ3MpZyhwcmVjZWRlZClnKGIpbSh5KWgoYClwIEZzKCQpcAotRnQoJylmKGlzKWgocHJpbiltKHRlZClmKG9uKWcodGhlKWgoc3RhbmRhcmQpNjMwIDI5NjkKLXkob3V0cHV0KTI0IGIoaW4paCh0aGUpZyBGbChnbnUpZiBGcyhnZXR0ZXh0KWYgRnQoUE8paShcKHApcyhvcnRhYmxlKWcKLShvYik1IGIoamVjdFwpKTI2IGIoXDAxNGxlKWYoZm9ybWF0LikzOSBiKEVxdWl2KS01IGIoYWxlbiltKHQpMjYKLWIodG8pZihgKXAgRnMoLUQpcCBGdCgnKTYzMCAzMDc5IHkoZXhjZXB0KTMxIGIoZm9yKWYodGhlKWgob3V0cHV0KWYKLShmb3JtYXQuKTE1MCAzMjQ1IHkgRnMoLS1kdW1wLXN0cmluZ3MpNjMwIDMzNTUgeSBGdChFcXVpdiktNQotYihhbGVuKW0odCkzMSBiKHRvKWcoYClwIEZzKC1EKXAgRnQoJy4pMTUwIDM1MjEgeSBGcygtLWhlbHApMTkyCi1iIEZ0KERpc3BsYSltKHkpMzIgYihhKWUodXNhZ2UpaChtZXNzYWdlKWgob24pZShzdGFuZGFyZClnKG91dHB1dClnCi0oYW5kKWYoZXhpdClqKHN1Y2Nlc3NmdWxseSktOCBiKC4pMTUwIDM2ODggeSBGcygtLWluaXQtZmlsZSkyNwotYiBGaShmaWxlbmFtZSkxNTAgMzc5NyB5IEZzKC0tcmNmaWxlKWggRmkoZmlsZW5hbWUpNjMwCi0zOTA3IHkgRnQoRXhlY3V0ZSk0MiBiKGNvbW1hbmRzKWYoZnJvbSlmIEZxKFwwMTRsZW5hbWUpNDcKLWIgRnQoXChpbnN0ZWFkKTQyIGIob2YpZihgKXAgRnMofi8uYmFzaHJjKXAgRnQoJ1wpKWUoaW4paShhbilnKGluKW0KLSh0ZXJhY3RpdiltKGUpNjMwIDQwMTYgeShzaGVsbC4pMTUwIDQxODMgeSBGcygtLWxvZ2luKTE0NAotYiBGdChFcXVpdiktNSBiKGFsZW4pbSh0KTMxIGIodG8pZyhgKXAgRnMoLWwpcCBGdCgnLikxNTAKLTQzNDkgeSBGcygtLW5vZWRpdGluZyk2MzAgNDQ1OSB5IEZ0KERvKWgobm90KWUodXNlKWgodGhlKWcKLUZsKGdudSlmIEZ0KFJlYWRsaW5lKWkobGlicmFyeSllKFwoc2VlKWgoQ2hhcHRlcilnKDgpZyhbQ29tbWFuZClmKExpbmUpCi1nKEVkaXRpbmddLCk2MzAgNDU2OSB5KHBhZ2UpaCg5M1wpKWgodG8pZihyZWFkKWYoY29tbWFuZClnKGxpbmVzKWgKLSh3aGVuKWUodGhlKWkoc2hlbGwpZihpcyloKGluKW0odGVyYWN0aXYpbShlLikxNTAgNDczNQoteSBGcygtLW5vcHJvZmlsZSk2MzAgNDg0NSB5IEZ0KERvbid0KWgobG9hZClmKHRoZSlnKHN5c3RlbS13aWRlKWcKLShzdGFydHVwKWYoXDAxNGxlKWcoYClwIEZzKC9ldGMvcHJvZmlsZSlwIEZ0KCcpZShvcilqKGFuKW0oeSlnKG9mKWcKLSh0aGUpZihwKXMoZXJzb25hbCk2MzAgNDk1NCB5KGluaXRpYWxpemF0aW9uKWcoXDAxNGxlcylkKGApcAotRnMofi8uYmFzaF9wcm9maWxlKXAgRnQoJywpZShgKXAgRnMofi8uYmFzaF9sb2dpbilwIEZ0KCcsKWcob3IpaShgKXAKLUZzKH4vLnByb2ZpbGUpcCBGdCgnKWUod2hlbik2MzAgNTA2NCB5KEJhc2gpMzEgYihpcylmKGluKW0odiltKG9rKW0oZWQpCi1pKGFzKWUoYSloKGxvZ2luKWcoc2hlbGwuKTE1MCA1MjMwIHkgRnMoLS1ub3JjKTE5MiBiCi1GdChEb24ndCkzMSBiKHJlYWQpZyh0aGUpZihgKXAgRnMofi8uYmFzaHJjKXAgRnQoJylmKGluaXRpYWxpemF0aW9uKWsKLShcMDE0bGUpZChpbilnKGFuKWgoaW4pbSh0ZXJhY3RpdiltKGUpaShzaGVsbC4pNDEgYihUaGlzKTMwCi1iKGlzKWcob24pNjMwIDUzNDAgeShiKW0oeSlnKGRlZmF1bHQpaChpZilmKHRoZSloKHNoZWxsKWYoaXMpaChpbiltKHYpbQotKG9rKW0oZWQpaChhcyllIEZzKHNoKXAgRnQoLilwIGVvcCBlbmQKK1RlWERpY3QgYmVnaW4gNzEgNzYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDU6KTQxCitiKFNoZWxsKTMwIGIoViktOCBiKGFyaWFibGVzKTI0NTkgYig3MSkxNTAgMjk5IHkgRnMoUFJPTVBUX0RJUlRSSU0pNjMwCis0MDggeSBGdChJZikyNyBiKHNldClnKHRvKWgoYSlnKG4pbSh1bSltKGIpcyhlcillKGdyZWF0ZXIpaSh0aGFuKWYKKyh6ZXJvLClpKHRoZSllKHYpLTUgYihhbHVlKTI4IGIoaXMpZih1c2VkKWcoYXMpZyh0aGUpaChuKW0odW0pbShiKXMoZXIpCitlKG9mKWgodHJhaWxpbmcpNjMwIDUxOCB5KGRpcmVjdG9yeSkzNSBiKGNvbXApcyhvbmVuKW0odHMpZyh0byloCisocmV0YWluKWYod2hlbilmKGV4cGFuZGluZylnKHRoZSloIEZzKFxcdylmIEZ0KGFuZClnCitGcyhcXFcpZyBGdChwcm9tcHQpZyhzdHJpbmcpNjMwIDYyOCB5KGVzY2FwKXMoZXMpMjcgYihcKHNlZSlnKFNlY3Rpb24pZworKDYuOSloKFtQcmluKW0odGluZylmKGEpZyhQcm9tcHRdLClnKHBhZ2UpZyg4NFwpLik0MAorYihDaGFyYWN0ZXJzKTI3IGIocmVtbyltKHYpbShlZCloKGFyZSk2MzAgNzM3IHkocmVwbGFjZWQpaih3aXRoKWYoYW4pZworKGVsbGlwc2lzLikxNTAgODkyIHkgRnMoUFMzKTMzNiBiIEZ0KFRoZSkzNCBiKHYpLTUgYihhbHVlKTM1CitiKG9mKWYodGhpcylnKHYpLTUgYihhcmlhYmxlKTM1IGIoaXMpZyh1c2VkKWUoYXMpaSh0aGUpZihwcm9tcHQpZyhmb3IpZworKHRoZSlnIEZzKHNlbGVjdClmIEZ0KGNvbW1hbmQuKTUyIGIoSWYpNjMwIDEwMDIgeSh0aGlzKTMwCitiKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZyhub3QpZihzZXQsKWkodGhlKWUgRnMoc2VsZWN0KWYKK0Z0KGNvbW1hbmQpaChwcm9tcHRzKWYod2l0aCloKGApcCBGcygjPylnIEZ0KCcpMTUwIDExNTcKK3kgRnMoUFM0KTMzNiBiIEZ0KFRoZSkyMCBiKHYpLTUgYihhbHVlKTIyIGIoaXMpZSh0aGUpaChwcm9tcHQpZihwcmluKW0KKyh0ZWQpaChiKXMoZWZvcmUpZih0aGUpaChjb21tYW5kKWcobGluZSlnKGlzKWcoZWMpbShobylzKGVkKWcod2hlbilmCisodGhlKWgoYClwIEZzKC14KXAgRnQoJyk2MzAgMTI2NyB5KG9wdGlvbikzMiBiKGlzKWYoc2V0KWgoXChzZWUpZworKFNlY3Rpb24paCg0LjMuMSlnKFtUaGUpZShTZXQpZyhCdWlsdGluXSwpaShwYWdlKWYoNTRcKS4pNDUKK2IoVGhlKTMxIGIoXDAxNHJzdClmKGMpbShoYXJhY3Rlcik2MzAgMTM3NyB5KG9mKWsgRnMoUFM0KWcKK0Z0KGlzKWcocmVwbGljYXRlZClpKG0pbSh1bHRpcGxlKWYodGltZXMsKWgoYXMpZShuZWNlc3NhcnkpLTgKK2IoLCkzNyBiKHRvKWUoaW5kaWNhdGUpZyhtKW0odWx0aXBsZSlnKGxldiltKGVscyloKG9mKTYzMAorMTQ4NiB5KGluZGlyZWN0aW9uLik0MSBiKFRoZSkzMCBiKGRlZmF1bHQpaChpcylmKGApcAorRnMoKylnIEZ0KCcuKTE1MCAxNjQxIHkgRnMoUFdEKTMzNiBiIEZ0KFRoZSkzMCBiKGN1cnJlbiltKHQpZyh3KW0KKyhvcmtpbmcpaChkaXJlY3RvcnkpZyhhcylmKHNldCloKGIpbSh5KWYodGhlKWggRnMoY2QpZgorRnQoYnVpbHRpbi4pMTUwIDE3OTcgeSBGcyhSQU5ET00pMTkyIGIgRnQoRWFjKW0oaCkzMAorYih0aW1lKWcodGhpcylmKHBhcmFtZXRlcilnKGlzKWcocmVmZXJlbmNlZCwpaChhKWYocmFuZG9tKWcoaW4pbSh0ZWdlcikKK2goYilzKGV0KW0odyltKGVlbilnKDApZihhbmQpZygzMjc2Nyk2MzAgMTkwNiB5KGlzKWkoZ2VuZXJhdGVkLik0MworYihBc3NpZ25pbmcpMzEgYihhKWcodiktNSBiKGFsdWUpMzEgYih0bylnKHRoaXMpZyh2KS01CitiKGFyaWFibGUpMzEgYihzZWVkcylnKHRoZSlnKHJhbmRvbSlmKG4pbSh1bSltKGIpcyhlcilmKGdlbi0pNjMwCisyMDE2IHkoZXJhdG9yLikxNTAgMjE3MSB5IEZzKFJFQURMSU5FX0xJTkUpNjMwIDIyODEgeQorRnQoVGhlKWUoY29uKW0odGVuKW0odHMpaShvZilmKHRoZSlnKFJlYWRsaW5lKWcobGluZSlnKGJ1XDAxM2VyLClmKGZvcikKK2godXNlKWYod2l0aClnKGApcCBGcyhiaW5kKWooLXgpcCBGdCgnKWQoXChzZWUpaChTZWN0aW9uKWgoNC4yKTYzMAorMjM5MCB5KFtCYXNoKWkoQnVpbHRpbnNdLClnKHBhZ2UpZyg0M1wpLikxNTAgMjU0NSB5IEZzKFJFQURMSU5FX1BPSU5UKQorNjMwIDI2NTUgeSBGdChUaGUpMjMgYihwKXMob3NpdGlvbilnKG9mKWcodGhlKWgoaW5zZXJ0aW9uKWYocClzKG9pbiltCisodClnKGluKWcodGhlKWcoUmVhZGxpbmUpaChsaW5lKWYoYnVcMDEzZXIsKWgoZm9yKWYodXNlKWcod2l0aClnKGApcAorRnMoYmluZCk2MzAgMjc2NSB5KC14KXAgRnQoJykzMCBiKFwoc2VlKWgoU2VjdGlvbiloKDQuMilmKFtCYXNoKWcKKyhCdWlsdGluc10sKWcocGFnZSlnKDQzXCkuKTE1MCAyOTIwIHkgRnMoUkVQTFkpMjQwIGIKK0Z0KFRoZSkzMCBiKGRlZmF1bHQpZyh2KS01IGIoYXJpYWJsZSkzMiBiKGZvcillKHRoZSlnCitGcyhyZWFkKWcgRnQoYnVpbHRpbi4pMTUwIDMwNzUgeSBGcyhTRUNPTkRTKTE0NCBiIEZ0KFRoaXMpNDAKK2IodiktNSBiKGFyaWFibGUpNDEgYihleHBhbmRzKWYodG8paCh0aGUpZyhuKW0odW0pbShiKXMoZXIpZShvZilpCisoc2Vjb25kcylnKHNpbmNlKWcodGhlKWYoc2hlbGwpaCh3KW0oYXMpZyhzdGFydGVkLik2MzAKKzMxODUgeShBc3NpZ25tZW4pbSh0KWkodG8pZyh0aGlzKWcodiktNSBiKGFyaWFibGUpNDMKK2IocmVzZXRzKWcodGhlKWcoY291biltKHQpZyh0bylnKHRoZSlnKHYpLTUgYihhbHVlKTQzCitiKGFzc2lnbmVkLClqKGFuZCljKHRoZSk2MzAgMzI5NCB5KGV4cGFuZGVkKTM1IGIodiktNQorYihhbHVlKTM2IGIoYilzKGVjb21lcyloKHRoZSlmKHYpLTUgYihhbHVlKTM2IGIoYXNzaWduZWQpZyhwbHVzKWYodGhlKWgKKyhuKW0odW0pbShiKXMoZXIpZihvZiloKHNlY29uZHMpZyhzaW5jZSk2MzAgMzQwNCB5KHRoZSkzMQorYihhc3NpZ25tZW4pbSh0LikxNTAgMzU1OSB5IEZzKFNIRUxMKTI0MCBiIEZ0KFRoZSkyOQorYihmdWxsKWgocGF0aG5hbWUpZyh0byloKHRoZSlmKHNoZWxsKWcoaXMpZyhrKW0oZXB0KWcoaW4pZyh0aGlzKWcoZW4pbQorKHZpcm9ubWVuKW0odClnKHYpLTUgYihhcmlhYmxlLik0MiBiKElmKTI5IGIoaXQpaShpcylmKG5vdCk2MzAKKzM2NjkgeShzZXQpMzYgYih3aGVuKWYodGhlKWgoc2hlbGwpZyhzdGFydHMsKWkoQmFzaCllKGFzc2lnbnMpaCh0bylmCisoaXQpaCh0aGUpZihmdWxsKWYocGF0aG5hbWUpaChvZilnKHRoZSlnKGN1cnJlbiltKHQpNjMwCiszNzc4IHkodXNlcidzKTMwIGIobG9naW4paChzaGVsbC4pMTUwIDM5MzQgeSBGcyhTSEVMTE9QVFMpNjMwCis0MDQzIHkgRnQoQSlnKGNvbG9uLXNlcGFyYXRlZCloKGxpc3QpZihvZilnKGVuYWJsZWQpZihzaGVsbCloKG9wdGlvbnMuKQorNDEgYihFYWMpbShoKTMxIGIodyltKG9yZClmKGluKWcodGhlKWgobGlzdClnKGlzKWcoYSlnKHYpLTUKK2IoYWxpZCk2MzAgNDE1MyB5KGFyZ3VtZW4pbSh0KTI0IGIoZm9yKWYodGhlKWgoYClwIEZzKC1vKXAKK0Z0KCcpZihvcHRpb24paCh0bylnKHRoZSlnIEZzKHNldClmIEZ0KGJ1aWx0aW4pZyhjb21tYW5kKWcoXChzZWUpaQorKFNlY3Rpb24pZig0LjMuMSloKFtUaGUpNjMwIDQyNjIgeShTZXQpayhCdWlsdGluXSwpaChwYWdlKWYoNTRcKS4pNDIKK2IoVGhlKTI4IGIob3B0aW9ucyloKGFwcClzKGVhcmluZylmKGluKWcgRnMoU0hFTExPUFRTKWUKK0Z0KGFyZSlqKHRob3NlKWgocmVwKXMob3J0ZWQpNjMwIDQzNzIgeShhcylnKGApcCBGcyhvbilwCitGdCgnKWYoYiltKHkpaChgKXAgRnMoc2V0KWcoLW8pcCBGdCgnLik0MCBiKElmKTI5IGIodGhpcyloKHYpLTUKK2IoYXJpYWJsZSkzMCBiKGlzKWcoaW4pZih0aGUpaChlbiltKHZpcm9ubWVuKW0odClnKHdoZW4pZihCYXNoKWgKKyhzdGFydHMpZyh1cCwpNjMwIDQ0ODIgeShlYWMpbShoKTQxIGIoc2hlbGwpZShvcHRpb24paChpbilmKHRoZSloKGxpc3QpCitnKHdpbGwpZihiKXMoZSlnKGVuYWJsZWQpaChiKXMoZWZvcmUpZihyZWFkaW5nKWcoYW4pbSh5KWgoc3RhcnR1cClmCisoXDAxNGxlcy4pNjMwIDQ1OTEgeShUaGlzKTMwIGIodiktNSBiKGFyaWFibGUpMzEgYihpcylmKHJlYWRvbmx5KS04CitiKC4pMTUwIDQ3NDYgeSBGcyhTSExWTCkyNDAgYiBGdChJbmNyZW1lbiltKHRlZCkyMSBiKGIpbSh5KWcob25lKWcoZWFjKQorbShoKWgodGltZSlmKGEpaChuZXcpZShpbnN0YW5jZSloKG9mKWcoQmFzaClnKGlzKWcoc3RhcnRlZC4pMzgKK2IoVGhpcykyMCBiKGlzKWgoaW4pbSh0ZW5kZWQpNjMwIDQ4NTYgeSh0bykzMSBiKGIpcyhlKWYoYSloKGNvdW4pbSh0KWcKKyhvZilmKGhvKW0odyloKGRlZXBseSlmKHkpbShvdXIpZyhCYXNoKWgoc2hlbGxzKWYoYXJlKWgobmVzdGVkLikxNTAKKzUwMTEgeSBGcyhUSU1FRk9STUFUKTYzMCA1MTIxIHkgRnQoVGhlKWYodiktNSBiKGFsdWUpMzIKK2Iob2YpZih0aGlzKWcocGFyYW1ldGVyKWcoaXMpZyh1c2VkKWYoYXMpaChhKWcoZm9ybWF0KWgoc3RyaW5nKWYoc3ApcworKGVjaWZ5aW5nKWYoaG8pbSh3KWgodGhlKWcodGltLSk2MzAgNTIzMCB5KGluZykzNyBiKGluZm9ybWF0aW9uKWYoZm9yKWgKKyhwaXApcyhlbGluZXMpZihwcmVcMDE0eGVkKWYod2l0aCloKHRoZSloIEZzKHRpbWUpZSBGdChyZXNlcnYpbShlZClpKHcpCittKG9yZClmKHNob3VsZClnKGIpcyhlKTYzMCA1MzQwIHkoZGlzcGxhKW0oeSltKGVkLilrKFRoZSkyNworYihgKXAgRnMoXDA0NSlwIEZ0KCcpaChjKW0oaGFyYWN0ZXIpaChpbiltKHRybylzKGR1Y2VzKWUoYW4paChlc2NhcClzCisoZSlnKHNlcXVlbmNlKWcodGhhdClnKGlzKWYoZXhwYW5kZWQpZyh0bylwIGVvcCBlbmQKICUlUGFnZTogNzIgNzgKIFRlWERpY3QgYmVnaW4gNzIgNzcgYm9wIDE1MCAtMTE2IGEgRnQoNzIpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcygtLXBvc2l4KTE0NCBiIEZ0KENoYW5nZSkyNAotYih0aGUpaChiKXMoZWhhKW0odmlvcilmKG9mKWcoQmFzaCloKHdoZXJlKWUodGhlKWkoZGVmYXVsdClmKG9wKXMKLShlcmF0aW9uKWgoZGlcMDEzZXJzKWYoZnJvbSlmKHRoZSlpIEZsKHBvc2l4KTYzMCA0MDgKLXkgRnQoc3RhbmRhcmQpMzUgYih0byloKG1hdGMpbShoKWcodGhlKWcoc3RhbmRhcmQuKTU1Ci1iKFRoaXMpMzUgYihpcyloKGluKW0odGVuZGVkKWYodG8paChtYWspbShlKWgoQmFzaClmKGIpcyhlaGEpbSh2KW0oZSlnCi0oYXMpZyhhKTYzMCA1MTggeShzdHJpY3QpMjYgYihzdXApcyhlcnNldCllKG9mKWgodGhhdClnKHN0YW5kYXJkLikzOAotYihTZWUpMjYgYihTZWN0aW9uKWYoNi4xMSlpKFtCYXNoKWUoUE9TSVgpZihNbylzKGRlXSwpaihwYWdlKWYoODQsKTYzMAotNjI4IHkoZm9yKWsoYSloKGRlc2NyaXB0aW9uKWYob2YpaCh0aGUpZihCYXNoKWggRmwocG9zaXgpZgotRnQobW8pcyhkZS4pMTUwIDc4NyB5IEZzKC0tcmVzdHJpY3RlZCk2MzAgODk3IHkgRnQoTWFrKW0oZSk1NAotYih0aGUpZShzaGVsbClnKGEpaChyZXN0cmljdGVkKWcoc2hlbGwpZihcKHNlZSloKFNlY3Rpb24pZyg2LjEwKWgoW1RoZSkKLWQoUmVzdHJpY3RlZClqKFNoZWxsXSwpNjMwIDEwMDYgeShwYWdlKTMxIGIoODRcKS4pMTUwCi0xMTY2IHkgRnMoLS12ZXJib3NlKTYzMCAxMjc1IHkgRnQoRXF1aXYpLTUgYihhbGVuKW0odCkzMQotYih0bylnKGApcCBGcygtdilwIEZ0KCcuKTQxIGIoUHJpbiltKHQpMzAgYihzaGVsbCloKGlucHV0KWUobGluZXMpaShhcykKLWcodGhleSdyZSlmKHJlYWQuKTE1MCAxNDM1IHkgRnMoLS12ZXJzaW9uKTYzMCAxNTQ0IHkKLUZ0KFNobyltKHcpZSh2KW0oZXJzaW9uKWcoaW5mb3JtYXRpb24pZyhmb3IpZyh0aGlzKWcoaW5zdGFuY2UpaChvZilmCi0oQmFzaClnKG9uKWcodGhlKWcoc3RhbmRhcmQpZihvdXRwdXQpaChhbmQpNjMwIDE2NTQgeShleGl0KWoKLShzdWNjZXNzZnVsbHkpLTggYiguKTI3NSAxODEzIHkoVGhlcmUpMjggYihhcmUpaShzZXYpbShlcmFsKWcoc2luZ2xlLWMpCi1tKGhhcmFjdGVyKWkob3B0aW9ucylkKHRoYXQpaChtYSltKHkpZyhiKXMoZSllKHN1cHBsaWVkKWcoYXQpaShpbiltKHYpbQotKG8pcyhjYXRpb24paCh3aGljKW0oaCllKGFyZSkxNTAgMTkyMyB5KG5vdClpKGEpbSh2KS01Ci1iKGFpbGFibGUpMzIgYih3aXRoKWUodGhlKWggRnMoc2V0KWUgRnQoYnVpbHRpbi4pMTUwCi0yMDgyIHkgRnMoLWMpaCBGaShzdHJpbmcpNjMwIDIxOTIgeSBGdChSZWFkKTIzIGIoYW5kKWYoZXhlY3V0ZSlpCi0oY29tbWFuZHMpZihmcm9tKWYgRnEoc3RyaW5nKTMxIGIgRnQoYWZ0ZXIpMjMgYihwcm8pcyhjZXNzaW5nKWYodGhlKWgKLShvcHRpb25zLClpKHRoZW4pZShleGl0Lik2MzAgMjMwMSB5KEFuKW0oeSkzNyBiKHJlbWFpbmluZylmKGFyZ3VtZW4pbQotKHRzKWgoYXJlKWcoYXNzaWduZWQpZyh0bylnKHRoZSlnKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXJzLClpCi0oc3RhcnRpbmcpNjMwIDI0MTEgeSh3aXRoKTMwIGIgRnMoJDApcCBGdCguKTE1MCAyNTcwCi15IEZzKC1pKTM4NCBiIEZ0KEYpLTggYihvcmNlKTIyIGIodGhlKWcoc2hlbGwpZih0bylnKHJ1bilmKGluKW0KLSh0ZXJhY3RpdiltKGVseSktOCBiKC4pNDEgYihJbiltKHRlcmFjdGl2KW0oZSkyMyBiKHNoZWxscyllKGFyZSloCi0oZGVzY3JpYilzKGVkKWQoaW4paShTZWN0aW9uKWgoNi4zKTYzMCAyNjgwIHkoW0luKW0odGVyYWN0aXYpbShlKTMzCi1iKFNoZWxsc10sKWUocGFnZSlnKDc1LikxNTAgMjgzOSB5IEZzKC1sKTM4NCBiIEZ0KE1hayltKGUpMzMKLWIodGhpcyllKHNoZWxsKWgoYWN0KWcoYXMpZyhpZilmKGl0KWgoaGFkKWYoYilzKGVlbilmKGRpcmVjdGx5KWkoaW4pbQotKHYpbShvayltKGVkKWgoYiltKHkpZihsb2dpbi4pNDQgYihXaGVuKTMxIGIodGhlKWgoc2hlbGwpNjMwCi0yOTQ5IHkoaXMpMzcgYihpbiltKHRlcmFjdGl2KW0oZSwpNDMgYih0aGlzKTM3IGIoaXMpZyhlcXVpdiktNQotYihhbGVuKW0odCkzOSBiKHRvKWYoc3RhcnRpbmcpaChhKWUobG9naW4paShzaGVsbCllKHdpdGgpZyhgKXAKLUZzKGV4ZWMpMzAgYigtbClnKGJhc2gpcCBGdCgnLik2MzAgMzA1OSB5KFdoZW4paCh0aGUpZyhzaGVsbCloKGlzKWYKLShub3QpZyhpbiltKHRlcmFjdGl2KW0oZSwpayh0aGUpYyhsb2dpbiloKHNoZWxsKWcoc3RhcnR1cClmKFwwMTRsZXMpZwotKHdpbGwpZyhiKXMoZSlnKGV4ZWN1dGVkLik2MzAgMzE2OCB5KGApcCBGcyhleGVjKWUoYmFzaCloKC1sKXAKLUZ0KCcpNDMgYihvciloKGApcCBGcyhleGVjKTI5IGIoYmFzaClnKC0tbG9naW4pcCBGdCgnKTQyCi1iKHdpbGwpaShyZXBsYWNlKWgodGhlKWYoY3VycmVuKW0odClmKHNoZWxsKWgod2l0aClnKGEpNjMwCi0zMjc4IHkoQmFzaCkyNiBiKGxvZ2luKWcoc2hlbGwuKTM5IGIoU2VlKTI2IGIoU2VjdGlvbilnKDYuMiloKFtCYXNoKWUKLShTdGFydHVwKWcoRmlsZXNdLClqKHBhZ2UpZSg3MywpaShmb3IpZChhKWgoZGVzY3JpcHRpb24pNjMwCi0zMzg3IHkob2YpMzEgYih0aGUpZihzcClzKGVjaWFsKWgoYilzKGVoYSltKHZpb3IpZyhvZilmKGEpaChsb2dpbilnCi0oc2hlbGwuKTE1MCAzNTQ3IHkgRnMoLXIpMzg0IGIgRnQoTWFrKW0oZSk1NCBiKHRoZSllKHNoZWxsKWcoYSloCi0ocmVzdHJpY3RlZClnKHNoZWxsKWYoXChzZWUpaChTZWN0aW9uKWcoNi4xMCloKFtUaGUpZChSZXN0cmljdGVkKWoKLShTaGVsbF0sKTYzMCAzNjU2IHkocGFnZSkzMSBiKDg0XCkuKTE1MCAzODE2IHkgRnMoLXMpMzg0Ci1iIEZ0KElmKTI0IGIodGhpcyloKG9wdGlvbiloKGlzKWYocHJlc2VuKW0odCwpaChvcilmKGlmKWcobm8pZihhcmd1bWVuKQotbSh0cylpKHJlbWFpbillKGFmdGVyKWkob3B0aW9uKWYocHJvKXMoY2Vzc2luZywpaCh0aGVuKTYzMAotMzkyNSB5KGNvbW1hbmRzKWkoYXJlKWgocmVhZClnKGZyb20pZih0aGUpaChzdGFuZGFyZClmKGlucHV0LikzOQotYihUaGlzKTI4IGIob3B0aW9uKWgoYWxsbyltKHdzKWgodGhlKWYocClzKG9zaXRpb25hbCk2MzAKLTQwMzUgeShwYXJhbWV0ZXJzKWkodG8pZyhiKXMoZSlmKHNldClnKHdoZW4pZyhpbiltKHYpbShva2luZyloKGFuKWcoaW4pCi1tKHRlcmFjdGl2KW0oZSlpKHNoZWxsLikxNTAgNDE5NCB5IEZzKC1EKTM4NCBiIEZ0KEEpMzcKLWIobGlzdClnKG9mKWYoYWxsKWkoZG91YmxlLXF1b3RlZCllKHN0cmluZ3MpZyhwcmVjZWRlZClnKGIpbSh5KWgoYClwCi1GcygkKXAgRnQoJylmKGlzKWgocHJpbiltKHRlZClmKG9uKWcodGhlKWgoc3RhbmRhcmQpNjMwCi00MzA0IHkob3V0cHV0Lik2MyBiKFRoZXNlKTM4IGIoYXJlKWcodGhlKWcoc3RyaW5ncylnKHRoYXQpaChhcmUpZihzdWIpNQotYihqZWN0KTM4IGIodG8paChsYW5ndWFnZSlnKHRyYW5zbGF0aW9uKWcod2hlbik2MzAgNDQxMwoteSh0aGUpZShjdXJyZW4pbSh0KWcobG8pcyhjYWxlKWgoaXMpZihub3QpZyBGcyhDKWcgRnQob3IpZgotRnMoUE9TSVgpZyBGdChcKHNlZSloKFNlY3Rpb24paCgzLjEuMi41KWgoW0xvKXMoY2FsZSlnKFQpLTgKLWIocmFuc2xhdGlvbl0sKTYzMCA0NTIzIHkocGFnZSkzMSBiKDdcKS4pNDIgYihUaGlzKTI5Ci1iKGltcGxpZXMpaSh0aGUpZihgKXAgRnMoLW4pcCBGdCgnKWgob3B0aW9uOylnKG5vKWYoY29tbWFuZHMpZyh3aWxsKWgKLShiKXMoZSllKGV4ZWN1dGVkLikxNTAgNDY4MiB5IEZzKFstK11PKWcoWylwIEZpKHNob3B0X29wdGlvbikxMQotYiBGcyhdKTYzMCA0NzkyIHkgRnEoc2hvcHQpcCA4NTQgNDc5MiAyOCA0IHYgNDAgdyhvcHRpb24pNDQKLWIgRnQoaXMpZyhvbmUpaChvZilmKHRoZSlnKHNoZWxsKWgob3B0aW9ucylmKGFjY2VwdGVkKWgoYiltKHkpZih0aGUpaAotRnMoc2hvcHQpZCBGdChidWlsdGluKWkoXChzZWUpNjMwIDQ5MDIgeShTZWN0aW9uKTI4IGIoNC4zLjIpZyhbVGhlKWYKLShTaG9wdClmKEJ1aWx0aW5dLClpKHBhZ2UpZig1NVwpLik0MSBiKElmKTI2IGIgRnEoc2hvcHQpcAotMjY5MCA0OTAyIFYgNDAgdyhvcHRpb24paCBGdChpcylnKHByZXNlbiltKHQsKWgoYClwIEZzKC1PKXAKLUZ0KCcpZihzZXRzKTYzMCA1MDExIHkodGhlKTQwIGIodiktNSBiKGFsdWUpNDAgYihvZilmKHRoYXQpaChvcHRpb247KTQ1Ci1iKGApcCBGcygrTylwIEZ0KCcpNDAgYih1bnNldHMpZShpdC4pNjkgYihJZikzOSBiIEZxKHNob3B0KXAKLTI2MzEgNTAxMSBWIDQwIHcob3B0aW9uKWggRnQoaXMpZihub3QpaChzdXBwbGllZCwpaCh0aGUpNjMwCi01MTIxIHkobmFtZXMpZShhbmQpZyh2KS01IGIoYWx1ZXMpNDAgYihvZilnKHRoZSlnKHNoZWxsKWYob3B0aW9ucyloCi0oYWNjZXB0ZWQpaChiKW0oeSllIEZzKHNob3B0KWYgRnQoYXJlKWkocHJpbiltKHRlZClmKG9uKWgodGhlKTYzMAotNTIzMCB5KHN0YW5kYXJkKTMzIGIob3V0cHV0Lik1MCBiKElmKTMzIGIodGhlKWgoaW4pbSh2KW0obylzKGNhdGlvbilpCi0ob3B0aW9uKWUoaXMpZyhgKXAgRnMoK08pcCBGdCgnLClnKHRoZSlnKG91dHB1dClmKGlzKWgoZGlzcGxhKW0oeSltKGVkKQotZyhpbilnKGEpNjMwIDUzNDAgeShmb3JtYXQpZCh0aGF0KWcobWEpbSh5KWcoYilzKGUpZShyZXVzZWQpaChhcyloCi0oaW5wdXQuKXAgZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KGEpMzcgYih0aW1lKWcodiktNQorYihhbHVlKTM2IGIob3IpaChvdGhlcilmKGluZm9ybWF0aW9uLik1OSBiKFRoZSkzNiBiKGVzY2FwKXMoZSlnCisoc2VxdWVuY2VzKWgoYW5kKWUodGhlaXIpaShtZWFuaW5ncyk2MzAgNDA4IHkoYXJlKTMxCitiKGFzKWYoZm9sbG8pbSh3czspaSh0aGUpZihicmFjZXMpZihkZW5vdGUpaChvcHRpb25hbCloKHApcyhvcnRpb25zLikKKzYzMCA1NjggeSBGcyhcMDQ1XDA0NSkzODQgYiBGdChBKTMwIGIobGl0ZXJhbClpKGApcCBGcyhcMDQ1KXAKK0Z0KCcuKTYzMCA3MjcgeSBGcyhcMDQ1WylwIEZpKHApMTEgYiBGcyhdW2xdUik4NSBiIEZ0KFRoZSkzMAorYihlbGFwc2VkKWgodGltZSlnKGluKWYoc2Vjb25kcy4pNjMwIDg4NyB5IEZzKFwwNDVbKXAKK0ZpKHApMTEgYiBGcyhdW2xdVSk4NSBiIEZ0KFRoZSkzMCBiKG4pbSh1bSltKGIpcyhlcilmKG9mKWgoQ1BVKWcKKyhzZWNvbmRzKWgoc3ApcyhlbiltKHQpZihpbilnKHVzZXIpZihtbylzKGRlLik2MzAgMTA0NgoreSBGcyhcMDQ1WylwIEZpKHApMTEgYiBGcyhdW2xdUyk4NSBiIEZ0KFRoZSkzMCBiKG4pbSh1bSltKGIpcyhlcilmKG9mKWgKKyhDUFUpZyhzZWNvbmRzKWgoc3ApcyhlbiltKHQpZihpbilnKHN5c3RlbSlnKG1vKXMoZGUuKTYzMAorMTIwNSB5IEZzKFwwNDVQKTM4NCBiIEZ0KFRoZSkzMCBiKENQVSlnKHApcyhlcmNlbiltKHRhZ2UsKWkoY29tcHV0ZWQpZQorKGFzKWgoXChcMDQ1VSlmIEZzKCspZyBGdChcMDQ1U1wpKWcoLyloKFwwNDVSLik2MzAgMTM2NQoreShUaGUpMjMgYihvcHRpb25hbClqIEZxKHApZyBGdChpcyllKGEpZyhkaWdpdCloKHNwKXMoZWNpZnlpbmcpZSh0aGUpaAorKHByZWNpc2lvbiwpaSh0aGUpZShuKW0odW0pbShiKXMoZXIpZihvZiloKGZyYWN0aW9uYWwpaChkaWdpdHMpNjMwCisxNDc0IHkoYWZ0ZXIpMzYgYihhKWYoZGVjaW1hbClpKHApcyhvaW4pbSh0Lik1NSBiKEEpMzUKK2IodiktNSBiKGFsdWUpMzYgYihvZilmKDApaChjYXVzZXMpZyhubylmKGRlY2ltYWwpaChwKXMob2luKW0odClmKG9yKWgKKyhmcmFjdGlvbilnKHRvKWcoYilzKGUpNjMwIDE1ODQgeShvdXRwdXQuKTQ4IGIoQSltKHQpMzQKK2IobW9zdClmKHRocmVlKWcocGxhY2VzKWgoYWZ0ZXIpZih0aGUpZyhkZWNpbWFsKWgocClzKG9pbiltKHQpZihtYSltKHkpCitoKGIpcyhlKWUoc3ApcyhlY2lcMDE0ZWQ7KWkodiktNSBiKGFsdWVzKTYzMCAxNjk0IHkob2YpMzEKK2IgRnEocCloIEZ0KGdyZWF0ZXIpZyh0aGFuKWUoMyloKGFyZSlmKGMpbShoYW5nZWQpaCh0bylnKDMuKTQyCitiKElmKTI5IGIgRnEocClrIEZ0KGlzKWQobm90KWgoc3ApcyhlY2lcMDE0ZWQsKWYodGhlKWgodiktNQorYihhbHVlKTMwIGIoMyloKGlzKWcodXNlZC4pNjMwIDE4MjggeShUaGUpNTQgYihvcHRpb25hbCloCitGcyhsKWYgRnQoc3ApcyhlY2lcMDE0ZXMpZyhhKWgobG9uZ2VyKWYoZm9ybWF0LCk2MSBiKGluY2x1ZGluZyk1NAorYihtaW4pbSh1dGVzLCk2MSBiKG9mKTU0IGIodGhlKWcoZm9ybSk2MzAgMTkzOCB5IEZxKE1NKTEwCitiIEZ0KG0pcCBGcShTUyk1IGIgRnQoLilwIEZxKEZGKWkgRnQocy4pMTAyIGIoVGhlKTUwCitiKHYpLTUgYihhbHVlKTUxIGIob2YpZyBGcShwKWkgRnQoZGV0ZXJtaW5lcyllKHdoZXRoZXIpZihvciloKG5vdClmCisodGhlKWgoZnJhY3Rpb24paChpcyk2MzAgMjA0NyB5KGluY2x1ZGVkLik2MzAgMjE4MiB5KElmKTMwCitiKHRoaXMpZyh2KS01IGIoYXJpYWJsZSkzMSBiKGlzKWcobm90KWYoc2V0LClpKEJhc2gpZShhY3RzKWgoYXMpZyhpZilmCisoaXQpaChoYWQpZih0aGUpaCh2KS01IGIoYWx1ZSk4NzAgMjMxNiB5IEZzCisoJCdcXG5yZWFsXFx0XDA0NTNsUlxcbnVzZXJcXHRcMDQ1MylvKGxVXFxuKW8oc3lzXFwpbyh0XDA0NTMpbyhsUycpNjMwCisyNDUxIHkgRnQoSWYpMzcgYih0aGUpZyh2KS01IGIoYWx1ZSkzOCBiKGlzKWYobiltKHVsbCwpaShubylmKHRpbWluZylmCisoaW5mb3JtYXRpb24paChpcylmKGRpc3BsYSltKHkpbShlZC4pNjIgYihBKTM3IGIodHJhaWxpbmcpaShuZXdsaW5lKWUKKyhpcyk2MzAgMjU2MCB5KGFkZGVkKTMwIGIod2hlbilmKHRoZSlpKGZvcm1hdClmKHN0cmluZyloKGlzKWYoZGlzcGxhKW0KKyh5KW0oZWQuKTE1MCAyNzIwIHkgRnMoVE1PVVQpMjQwIGIgRnQoSWYpMjIgYihzZXQpaCh0bylnKGEpZyh2KS01CitiKGFsdWUpMjMgYihncmVhdGVyKWgodGhhbillKHplcm8sKWogRnMoVE1PVVQpZCBGdChpcylnKHRyZWF0ZWQpaShhcyllCisodGhlKWgoZGVmYXVsdClnKHRpbWVvdXQpZyhmb3IpZyh0aGUpNjMwIDI4MjkgeSBGcyhyZWFkKTMxCitiIEZ0KGJ1aWx0aW4paChcKHNlZSloKFNlY3Rpb24pZig0LjIpaShbQmFzaCllKEJ1aWx0aW5zXSwpaChwYWdlKWcKKyg0M1wpLik0NyBiKFRoZSkzMiBiIEZzKHNlbGVjdCllIEZ0KGNvbW1hbmQpNjMwIDI5MzkKK3koXChzZWUpZihTZWN0aW9uKWgoMy4yLjQuMilnKFtDb25kaXRpb25hbClnKENvbnN0cnVjdHNdLCllKHBhZ2UpaQorKDEwXCkpZih0ZXJtaW5hdGVzKWcoaWYpZyhpbnB1dCllKGRvKXMoZXMpNjMwIDMwNDkgeShub3QpayhhcnJpdiltKGUpZworKGFmdGVyKWcgRnMoVE1PVVQpZSBGdChzZWNvbmRzKWgod2hlbilmKGlucHV0KWgoaXMpZyhjb21pbmcpaChmcm9tKWYoYSkKK2godGVybWluYWwuKTYzMCAzMTgzIHkoSW4pMjUgYihhbiloKGluKW0odGVyYWN0aXYpbShlKWkoc2hlbGwsKWcodGhlKWUKKyh2KS01IGIoYWx1ZSkyNiBiKGlzKWcoaW4pbSh0ZXJwcmV0ZWQpZyhhcylnKHRoZSlnKG4pbSh1bSltKGIpcyhlcilmCisob2YpaChzZWNvbmRzKWYodG8paSh3KW0oYWl0KTYzMCAzMjkzIHkoZm9yKTMyIGIoaW5wdXQpZihhZnRlcilpCisoaXNzdWluZylmKHRoZSlnKHByaW1hcnkpZyhwcm9tcHQpZih3aGVuKWcodGhlKWkoc2hlbGwpZihpcyloKGluKW0KKyh0ZXJhY3RpdiltKGUuKTQ5IGIoQmFzaCk2MzAgMzQwMiB5KHRlcm1pbmF0ZXMpMzEgYihhZnRlcilnKHRoYXQpZyhuKW0KKyh1bSltKGIpcyhlcillKG9mKWkoc2Vjb25kcylmKGlmKWcoaW5wdXQpZyhkbylzKGVzKWcobm90KWcoYXJyaXYpbShlLikKKzE1MCAzNTYyIHkgRnMoVE1QRElSKTE5MiBiIEZ0KElmKTM5IGIoc2V0LClqKEJhc2gpZSh1c2VzKWYoaXRzKWgodiktNQorYihhbHVlKTQwIGIoYXMpZih0aGUpaChuYW1lKWYob2YpaChhKWcoZGlyZWN0b3J5KWcoaW4pZih3aGljKW0oaClnCisoQmFzaCloKGNyZWF0ZXMpNjMwIDM2NzEgeSh0ZW1wKXMob3JhcnkpMzAgYihcMDE0bGVzKWcoZm9yKWcodGhlKWgKKyhzaGVsbCdzKWcodXNlLikxNTAgMzgzMSB5IEZzKFVJRCkzMzYgYiBGdChUaGUpMzAgYihuKW0odW1lcmljKWcocmVhbCloCisodXNlcilmKGlkKWcob2YpZyh0aGUpaChjdXJyZW4pbSh0KWYodXNlci4pNDAgYihUaGlzKTMwCitiKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZihyZWFkb25seSktOCBiKC4pcCBlb3AgZW5kCiAlJVBhZ2U6IDczIDc5CiBUZVhEaWN0IGJlZ2luIDczIDc4IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig2Oik0MQotYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDczKTE1MCAyOTkgeSBGcygtLSkzODQKLWIgRnQoQSkzOCBiIEZzKC0tKWcgRnQoc2lnbmFscylnKHRoZSloKGVuZCllKG9mKWkob3B0aW9ucylmKGFuZClnCi0oZGlzYWJsZXMpZyhmdXJ0aGVyKWYob3B0aW9uKWgocHJvKXMoY2Vzc2luZy4pNjQgYihBbiltKHkpNjMwCi00MDggeShhcmd1bWVuKW0odHMpMzEgYihhZnRlcilnKHRoZSlmIEZzKC0tKWcgRnQoYXJlKWgodHJlYXRlZClnKGFzKWcKLShcMDE0bGVuYW1lcylmKGFuZClnKGFyZ3VtZW4pbSh0cy4pMjc1IDU2NyB5KEEpZCBGayhsbyktNQotYihnaW4pMzUgYiBGdChzaGVsbCkyNyBiKGlzKWcob25lKWgod2hvc2UpZihcMDE0cnN0KWYoYyltKGhhcmFjdGVyKWoKLShvZillKGFyZ3VtZW4pbSh0KWgoemVybylmKGlzKWgoYClwIEZzKC0pcCBGdCgnLClnKG9yKWYob25lKWcoaW4pbSh2KW0KLShvayltKGVkKWkod2l0aCllKHRoZSkxNTAgNjc2IHkoYClwIEZzKC0tbG9naW4pcCBGdCgnKWkob3B0aW9uLikyNzUKLTgxMCB5KEFuKTI0IGIgRmsoaW50ZXIpLTUgYihhY3RpdmUpMzMgYiBGdChzaGVsbCkyNSBiKGlzKWcob25lKWcKLShzdGFydGVkKWcod2l0aG91dClnKG5vbi1vcHRpb24paChhcmd1bWVuKW0odHMsKWcodW5sZXNzKWYoYClwCi1GcygtcylwIEZ0KCcpZihpcyloKHNwKXMoZWNpXDAxNGVkLCkxNTAgOTIwIHkod2l0aG91dCk0MwotYihzcClzKGVjaWZ5aW5nKWYodGhlKWkoYClwIEZzKC1jKXAgRnQoJyllKG9wdGlvbiwpNDcKLWIoYW5kKTQyIGIod2hvc2UpaChpbnB1dClmKGFuZClnKG91dHB1dClnKGFyZSloKGIpcyhvdGgpZyhjb25uZWN0ZWQpZwotKHRvKTE1MCAxMDI5IHkodGVybWluYWxzKTIyIGIoXChhcyloKGRldGVybWluZWQpZihiKW0oeSlnCi1Gcyhpc2F0dHlcKDNcKSlwIEZ0KFwpLClmKG9yKWkob25lKWYoc3RhcnRlZClnKHdpdGgpZyh0aGUpZyhgKXAKLUZzKC1pKXAgRnQoJylnKG9wdGlvbi4pMzkgYihTZWUpMjIgYihTZWN0aW9uKWgoNi4zKTE1MAotMTEzOSB5KFtJbiltKHRlcmFjdGl2KW0oZSkzMyBiKFNoZWxsc10sKWUocGFnZSlnKDc1LClnKGZvcilmKG1vcmUpaAotKGluZm9ybWF0aW9uLikyNzUgMTI3MyB5KElmKTM4IGIoYXJndW1lbiltKHRzKWgocmVtYWluKWcoYWZ0ZXIpZwotKG9wdGlvbiloKHBybylzKGNlc3NpbmcsKWgoYW5kKWQobmVpdGhlciloKHRoZSlnKGApcAotRnMoLWMpcCBGdCgnKWYobm9yKWgodGhlKWcoYClwIEZzKC1zKXAgRnQoJylmKG9wdGlvbikxNTAKLTEzODIgeShoYXMpMzMgYihiKXMoZWVuKWcoc3VwcGxpZWQsKWgodGhlKWcoXDAxNHJzdCllKGFyZ3VtZW4pbSh0KWooaXMpCi1lKGFzc3VtZWQpZyh0byloKGIpcyhlKWYodGhlKWgobmFtZSlnKG9mKWcoYSlnKFwwMTRsZSlnKGNvbiltKHRhaW5pbmcpaAotKHNoZWxsKTE1MCAxNDkyIHkoY29tbWFuZHMpMzAgYihcKHNlZSlnKFNlY3Rpb24paCgzLjgpZyhbU2hlbGwpZgotKFNjcmlwdHNdLClnKHBhZ2UpaCgzM1wpLik0MSBiKFdoZW4pMzAgYihCYXNoKWcoaXMpZyhpbiltKHYpbShvayltKGVkKWkKLShpbilkKHRoaXMpaChmYXNoaW9uLCkxNTAgMTYwMSB5IEZzKCQwKTM3IGIgRnQoaXMpZyhzZXQpaCh0byloKHRoZSllCi0obmFtZSloKG9mKWYodGhlKWgoXDAxNGxlLClpKGFuZCljKHRoZSlpKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXJzKWcKLShhcmUpZyhzZXQpZyh0bylnKHRoZSlnKHJlbWFpbmluZykxNTAgMTcxMSB5KGFyZ3VtZW4pbSh0cy4paChCYXNoKTI2Ci1iKHJlYWRzKWYoYW5kKWcoZXhlY3V0ZXMpaChjb21tYW5kcylmKGZyb20pZyh0aGlzKWcoXDAxNGxlLClpKHRoZW4pZQotKGV4aXRzLik0MCBiKEJhc2gncykyNSBiKGV4aXQpaShzdGF0dXMpMTUwIDE4MjEgeShpcylmKHRoZSloKGV4aXQpaAotKHN0YXR1cyllKG9mKWgodGhlKWcobGFzdClnKGNvbW1hbmQpZihleGVjdXRlZCloKGluKWcodGhlKWYoc2NyaXB0Lik0MAotYihJZikyNiBiKG5vKWcoY29tbWFuZHMpZyhhcmUpaChleGVjdXRlZCwpMTUwIDE5MzAgeSh0aGUpayhleGl0KWcKLShzdGF0dXMpZyhpcylmKDAuKTE1MCAyMTYxIHkgRnIoNi4yKTY4IGIoQmFzaCk0NSBiKFN0YXJ0dXApZyhGaWxlcykxNTAKLTIzMjEgeSBGdChUaGlzKTIzIGIoc2VjdGlvbilqKGRlc2NyaWIpcyhlcylkKGhvKW0odylpKEJhc2gpZihleGVjdXRlcyloCi0oaXRzKWcoc3RhcnR1cClmKFwwMTRsZXMuKTM4IGIoSWYpMjQgYihhbiltKHkpaChvZilmKHRoZSloKFwwMTRsZXMpZgotKGV4aXN0KWgoYnV0KWUoY2Fubm90KTE1MCAyNDMwIHkoYilzKGUpayhyZWFkLClpKEJhc2gpZihyZXApcyhvcnRzKWYKLShhbiloKGVycm9yLikzOSBiKFRpbGRlcykyOCBiKGFyZSlnKGV4cGFuZGVkKWYoaW4paChcMDE0bGUpZyhuYW1lcylnCi0oYXMpZyhkZXNjcmliKXMoZWQpZShhYilzKG8pbSh2KW0oZSlqKHVuZGVyKTE1MCAyNTQwCi15KFRpbGRlKWgoRXhwYW5zaW9uKWcoXChzZWUpaChTZWN0aW9uKWgoMy41LjIpZyhbVGlsZGUpZShFeHBhbnNpb25dLCloCi0ocGFnZSlnKDE5XCkuKTI3NSAyNjc0IHkoSW4pbSh0ZXJhY3RpdiltKGUpaChzaGVsbHMpZihhcmUpZyhkZXNjcmliKXMKLShlZCllKGluKWgoU2VjdGlvbiloKDYuMyloKFtJbiltKHRlcmFjdGl2KW0oZSloKFNoZWxsc10sKWQocGFnZSloKDc1LikKLTE1MCAyODcyIHkgRmooSW4pbSh2KW0ob2spbShlZCk0MCBiKGFzKWgoYW4pZihpbiltKHRlcmFjdGl2KW0oZSlmCi0obG9naW4paihzaGVsbCwpZyhvcilnKHdpdGgpZShgKXAgRmgoLS1sb2dpbilwIEZqKCcpMTUwCi0zMDE5IHkgRnQoV2hlbiljKEJhc2gpZihpcyloKGluKW0odiltKG9rKW0oZWQpaChhcylmKGFuKWcoaW4pbQotKHRlcmFjdGl2KW0oZSlqKGxvZ2luKWQoc2hlbGwsKWkob3IpZShhcylnKGEpZyhub24taW4pbSh0ZXJhY3RpdiltKGUpaQotKHNoZWxsKWUod2l0aClnKHRoZSkxNTAgMzEyOCB5KGApcCBGcygtLWxvZ2luKXAgRnQoJylqKG9wdGlvbiwpayhpdCllCi0oXDAxNHJzdCllKHJlYWRzKWgoYW5kKWcoZXhlY3V0ZXMpaChjb21tYW5kcylmKGZyb20pZih0aGUpaShcMDE0bGUpZihgKQotcCBGcygvZXRjL3Byb2ZpbGUpcCBGdCgnLClnKGlmKTE1MCAzMjM4IHkodGhhdCkzNSBiKFwwMTRsZSlnKGV4aXN0cy4pNTUKLWIoQWZ0ZXIpMzUgYihyZWFkaW5nKWcodGhhdClnKFwwMTRsZSwpaChpdClnKGxvKXMob2tzKWYoZm9yKWYoYClwCi1Gcyh+Ly5iYXNoX3Byb2ZpbGUpcCBGdCgnLClmKGApcCBGcyh+Ly5iYXNoX2xvZ2luKXAgRnQoJywpMTUwCi0zMzQ4IHkoYW5kKTI4IGIoYClwIEZzKH4vLnByb2ZpbGUpcCBGdCgnLClmKGluKWkodGhhdClnKG9yZGVyLClnKGFuZClmCi0ocmVhZHMpZyhhbmQpaChleGVjdXRlcyloKGNvbW1hbmRzKWUoZnJvbSlnKHRoZSloKFwwMTRyc3QpZihvbmUpaCh0aGF0KQotMTUwIDM0NTcgeShleGlzdHMpaShhbmQpZShpcyloKHJlYWRhYmxlLik0MSBiKFRoZSkzMAotYihgKXAgRnMoLS1ub3Byb2ZpbGUpcCBGdCgnKWQob3B0aW9uKWsobWEpbSh5KWYoYilzKGUpZyh1c2VkKWYod2hlbilnCi0odGhlKWgoc2hlbGwpaChpcylmKHN0YXJ0ZWQpZyh0bykxNTAgMzU2NyB5KGluaGliaXQpZyh0aGlzKWcoYilzKGVoYSltCi0odmlvci4pMjc1IDM3MDEgeShXaGVuKTcyIGIoYSlpKGxvZ2luKWcoc2hlbGwpZihleGl0cywpODUKLWIoQmFzaCk3MyBiKHJlYWRzKWcoYW5kKWcoZXhlY3V0ZXMpaChjb21tYW5kcylmKGZyb20pZyh0aGUpZyhcMDE0bGUpMTUwCi0zODEwIHkoYClwIEZzKH4vLmJhc2hfbG9nb3V0KXAgRnQoJywpMjcgYihpZilrKGl0KWYoZXhpc3RzLikxNTAKLTQwMDggeSBGaihJbiltKHYpbShvayltKGVkKTQwIGIoYXMpaChhbilmKGluKW0odGVyYWN0aXYpbShlKWYKLShub24tbG9naW4payhzaGVsbCkxNTAgNDE1NSB5IEZ0KFdoZW4pZyhhbiloKGluKW0odGVyYWN0aXYpbShlKWkoc2hlbGwpCi1lKHRoYXQpZyhpcylmKG5vdCloKGEpZyhsb2dpbilnKHNoZWxsKWcoaXMpZihzdGFydGVkLCk0OAotYihCYXNoKWMocmVhZHMpZihhbmQpZyhleGVjdXRlcykxNTAgNDI2NSB5KGNvbW1hbmRzKTI0Ci1iKGZyb20pZihgKXAgRnMofi8uYmFzaHJjKXAgRnQoJywpaChpZilnKHRoYXQpZyhcMDE0bGUpZyhleGlzdHMuKTQwCi1iKFRoaXMpMjMgYihtYSltKHkpaShiKXMoZSllKGluaGliaXRlZClnKGIpbSh5KWgodXNpbmcpZyh0aGUpZyhgKXAKLUZzKC0tbm9yYylwIEZ0KCcpMTUwIDQzNzQgeShvcHRpb24uKTUyIGIoVGhlKTMzIGIoYClwCi1GcygtLXJjZmlsZSkyOCBiIEZpKGZpbGUpMTEgYiBGdCgnKTMzIGIob3B0aW9uKWgod2lsbClnKGZvcmNlKWgoQmFzaClmCi0odG8paChyZWFkKWUoYW5kKWgoZXhlY3V0ZSloKGNvbW1hbmRzKWUoZnJvbSkxNTAgNDQ4NAoteSBGcShcMDE0bGUpaiBGdChpbnN0ZWFkKTMwIGIob2YpaChgKXAgRnMofi8uYmFzaHJjKXAKLUZ0KCcuKTI3NSA0NjE4IHkoU28sKWYodCltKHlwaWNhbGx5KS04IGIoLCkzMyBiKHkpbShvdXIpZChgKXAKLUZzKH4vLmJhc2hfcHJvZmlsZSlwIEZ0KCcpZChjb24pbSh0YWlucykzMiBiKHRoZSllKGxpbmUpMzkwCi00NzUyIHkgRnMoaWYpNDcgYihbKWgoLWYpZih+Ly5iYXNocmMpZShdOylpKHRoZW4pZyguKWcofi8uYmFzaHJjOyllKGZpKQotMTUwIDQ4ODUgeSBGdChhZnRlcikzMSBiKFwob3IpZyhiKXMoZWZvcmVcKSlmKGFuKW0oeSloKGxvZ2luLXNwKXMKLShlY2lcMDE0YylnKGluaXRpYWxpemF0aW9ucy4pMTUwIDUwODMgeSBGaihJbiltKHYpbShvayltKGVkKTQwCi1iKG5vbi1pbiltKHRlcmFjdGl2KW0oZWx5KTE1MCA1MjMwIHkgRnQoV2hlbikzMyBiKEJhc2gpZyhpcylnKHN0YXJ0ZWQpaAotKG5vbi1pbiltKHRlcmFjdGl2KW0oZWx5KS04IGIoLCkzNyBiKHRvKWQocnVuKWUoYSloKHNoZWxsKWgoc2NyaXB0LClnCi0oZm9yKWYoZXhhbXBsZSwpaShpdCllKGxvKXMob2tzKWgoZm9yKWYodGhlKTE1MCA1MzQwCi15KHYpLTUgYihhcmlhYmxlKTM1IGIgRnMoQkFTSF9FTlYpZCBGdChpbilpKHRoZSloKGVuKW0odmlyb25tZW4pbSh0LCloCi0oZXhwYW5kcyllKGl0cylnKHYpLTUgYihhbHVlKTM1IGIoaWYpZyhpdClnKGFwcClzKGVhcnMpZSh0aGVyZSwpaihhbmQpZQotKHVzZXMpZyh0aGUpcCBlb3AgZW5kCitiKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoNzMpMTUwIDI5OSB5IEZvKDYpODAKK2IoQmFzaCk1NCBiKEYpLTEzIGIoZWF0dXJlcykxNTAgNTI0IHkgRnQoVGhpcykzMCBiKHNlY3Rpb24paChkZXNjcmliKXMKKyhlcylmKGZlYXR1cmVzKWcodW5pcXVlKWcodG8paChCYXNoLikxNTAgNzUyIHkgRnIoNi4xKTY4CitiKEluKWwodilsKG9raW5nKTQ2IGIoQmFzaCkzOTAgOTEyIHkgRnMoYmFzaCloKFtsb25nLW9wdF0pZShbLWlyXSloCisoWy1hYmVmaGttbnB0dXZ4ZEJDREhQXSljKFstbyk0NyBiIEZpKG9wdGlvbikxMSBiIEZzKF0pNDUKK2IoWy1PKWkgRmkoc2hvcHRfb3B0aW9uKTExIGIgRnMoXSk0NCBiKFspcCBGaShhci0pMzkwCisxMDIxIHkoZ3VtZW50KTU3IGIgRnMoLi4uKW8oXSkzOTAgMTEzMSB5KGJhc2gpNDcgYihbbG9uZy1vcHRdKWUKKyhbLWFiZWZoa21ucHR1dnhkQkNESFBdKWMoWy1vKTQ3IGIgRmkob3B0aW9uKTExIGIgRnMoXSk0NgorYihbLU8pZyBGaShzaG9wdF9vcHRpb24pMTEgYiBGcyhdKTQ0IGIoLWMpaiBGaShzdHJpbmcpNTcKK2IgRnMoWylwIEZpKGFyLSkzOTAgMTI0MCB5KGd1bWVudClnIEZzKC4uLilvKF0pMzkwIDEzNTAKK3koYmFzaCk0NyBiKFtsb25nLW9wdF0pZSgtcylpKFstYWJlZmhrbW5wdHV2eGRCQ0RIUF0pNDIKK2IoWy1vKWsgRmkob3B0aW9uKTExIGIgRnMoXSk0NiBiKFstTyloIEZpKHNob3B0X29wdGlvbikxMQorYiBGcyhdKTQzIGIoWylwIEZpKGFyLSkzOTAgMTQ2MCB5KGd1bWVudCk1NyBiIEZzKC4uLilvKF0pMjc1CisxNTkyIHkgRnQoQWxsKTMxIGIob2YpZyh0aGUpZihzaW5nbGUtYyltKGhhcmFjdGVyKWsob3B0aW9ucylkKHVzZWQpZgorKHdpdGgpZyh0aGUpaCBGcyhzZXQpZiBGdChidWlsdGluKWcoXChzZWUpaChTZWN0aW9uKWgoNC4zLjEpZyhbVGhlKWYKKyhTZXQpMTUwIDE3MDIgeShCdWlsdGluXSwpNDUgYihwYWdlKWMoNTRcKSlpKGNhbillKGIpcyhlKWYodXNlZCloKGFzKWcKKyhvcHRpb25zKWcod2hlbilmKHRoZSlpKHNoZWxsKWYoaXMpZyhpbiltKHYpbShvayltKGVkLik3NAorYihJbik0MSBiKGFkZGl0aW9uLClqKHRoZXJlKTE1MCAxODExIHkoYXJlKTM4IGIoc2V2KW0oZXJhbCloKG0pbQorKHVsdGktYyltKGhhcmFjdGVyKWgob3B0aW9ucylkKHRoYXQpaCh5KW0ob3UpZyhjYW4pZyh1c2UuKTYxCitiKFRoZXNlKTM4IGIob3B0aW9ucylmKG0pbSh1c3QpaChhcHApcyhlYXIpZShvbilpKHRoZSkxNTAKKzE5MjEgeShjb21tYW5kKTMwIGIobGluZSloKGIpcyhlZm9yZSlmKHRoZSlnKHNpbmdsZS1jKW0oaGFyYWN0ZXIpagorKG9wdGlvbnMpZSh0bylnKGIpcyhlKWYocmVjb2duaXplZC4pMTUwIDIwNzYgeSBGcygtLWRlYnVnZ2VyKTYzMAorMjE4NiB5IEZ0KEFycmFuZ2Upaihmb3IpZyh0aGUpZyhkZWJ1Z2dlcilnKHByb1wwMTRsZSlnKHRvKWgoYilzKGUpZQorKGV4ZWN1dGVkKWkoYilzKGVmb3JlKWYodGhlKWcoc2hlbGwpZyhzdGFydHMuKTQ5IGIoVCktOAorYih1cm5zKTYzMCAyMjk2IHkob24pMzcgYihleHRlbmRlZClnKGRlYnVnZ2luZylnKG1vKXMoZGUpZyhcKHNlZSloCisoU2VjdGlvbilnKDQuMy4yKWcoW1RoZSlmKFNob3B0KWcoQnVpbHRpbl0sKWkocGFnZSlmKDU3KTYzMAorMjQwNSB5KGZvcikzMCBiKGEpaChkZXNjcmlwdGlvbilmKG9mKWgodGhlKWYgRnMoZXh0ZGVidWcpZgorRnQob3B0aW9uKWgodG8paCh0aGUpZyBGcyhzaG9wdCllIEZ0KGJ1aWx0aW5cKS4pMTUwIDI1NjEKK3kgRnMoLS1kdW1wLXBvLXN0cmluZ3MpNjMwIDI2NzAgeSBGdChBKTM3IGIobGlzdClnKG9mKWYoYWxsKWkKKyhkb3VibGUtcXVvdGVkKWUoc3RyaW5ncylnKHByZWNlZGVkKWcoYiltKHkpaChgKXAgRnMoJClwCitGdCgnKWYoaXMpaChwcmluKW0odGVkKWYob24pZyh0aGUpaChzdGFuZGFyZCk2MzAgMjc4MAoreShvdXRwdXQpMjQgYihpbiloKHRoZSlnIEZsKGdudSlmIEZzKGdldHRleHQpZiBGdChQTylpKFwocClzKG9ydGFibGUpZworKG9iKTUgYihqZWN0XCkpMjYgYihcMDE0bGUpZihmb3JtYXQuKTM5IGIoRXF1aXYpLTUgYihhbGVuKW0odCkyNgorYih0bylmKGApcCBGcygtRClwIEZ0KCcpNjMwIDI4OTAgeShleGNlcHQpMzEgYihmb3IpZih0aGUpaChvdXRwdXQpZgorKGZvcm1hdC4pMTUwIDMwNDUgeSBGcygtLWR1bXAtc3RyaW5ncyk2MzAgMzE1NSB5IEZ0KEVxdWl2KS01CitiKGFsZW4pbSh0KTMxIGIodG8pZyhgKXAgRnMoLUQpcCBGdCgnLikxNTAgMzMxMCB5IEZzKC0taGVscCkxOTIKK2IgRnQoRGlzcGxhKW0oeSkzMiBiKGEpZSh1c2FnZSloKG1lc3NhZ2UpaChvbillKHN0YW5kYXJkKWcob3V0cHV0KWcKKyhhbmQpZihleGl0KWooc3VjY2Vzc2Z1bGx5KS04IGIoLikxNTAgMzQ2NiB5IEZzKC0taW5pdC1maWxlKTI3CitiIEZpKGZpbGVuYW1lKTE1MCAzNTc2IHkgRnMoLS1yY2ZpbGUpaCBGaShmaWxlbmFtZSk2MzAKKzM2ODUgeSBGdChFeGVjdXRlKTQyIGIoY29tbWFuZHMpZihmcm9tKWYgRnEoXDAxNGxlbmFtZSk0NworYiBGdChcKGluc3RlYWQpNDIgYihvZilmKGApcCBGcyh+Ly5iYXNocmMpcCBGdCgnXCkpZShpbilpKGFuKWcoaW4pbQorKHRlcmFjdGl2KW0oZSk2MzAgMzc5NSB5KHNoZWxsLikxNTAgMzk1MCB5IEZzKC0tbG9naW4pMTQ0CitiIEZ0KEVxdWl2KS01IGIoYWxlbiltKHQpMzEgYih0bylnKGApcCBGcygtbClwIEZ0KCcuKTE1MAorNDEwNiB5IEZzKC0tbm9lZGl0aW5nKTYzMCA0MjE2IHkgRnQoRG8paChub3QpZSh1c2UpaCh0aGUpZworRmwoZ251KWYgRnQoUmVhZGxpbmUpaShsaWJyYXJ5KWUoXChzZWUpaChDaGFwdGVyKWcoOClnKFtDb21tYW5kKWYoTGluZSkKK2coRWRpdGluZ10sKTYzMCA0MzI1IHkocGFnZSloKDk1XCkpaCh0bylmKHJlYWQpZihjb21tYW5kKWcobGluZXMpaAorKHdoZW4pZSh0aGUpaShzaGVsbClmKGlzKWgoaW4pbSh0ZXJhY3RpdiltKGUuKTE1MCA0NDgxCit5IEZzKC0tbm9wcm9maWxlKTYzMCA0NTkwIHkgRnQoRG9uJ3QpaChsb2FkKWYodGhlKWcoc3lzdGVtLXdpZGUpZworKHN0YXJ0dXApZihcMDE0bGUpZyhgKXAgRnMoL2V0Yy9wcm9maWxlKXAgRnQoJyllKG9yKWooYW4pbSh5KWcob2YpZworKHRoZSlmKHApcyhlcnNvbmFsKTYzMCA0NzAwIHkoaW5pdGlhbGl6YXRpb24pZyhcMDE0bGVzKWQoYClwCitGcyh+Ly5iYXNoX3Byb2ZpbGUpcCBGdCgnLCllKGApcCBGcyh+Ly5iYXNoX2xvZ2luKXAgRnQoJywpZyhvcilpKGApcAorRnMofi8ucHJvZmlsZSlwIEZ0KCcpZSh3aGVuKTYzMCA0ODEwIHkoQmFzaCkzMSBiKGlzKWYoaW4pbSh2KW0ob2spbShlZCkKK2koYXMpZShhKWgobG9naW4pZyhzaGVsbC4pMTUwIDQ5NjUgeSBGcygtLW5vcmMpMTkyIGIKK0Z0KERvbid0KTMxIGIocmVhZClnKHRoZSlmKGApcCBGcyh+Ly5iYXNocmMpcCBGdCgnKWYoaW5pdGlhbGl6YXRpb24paworKFwwMTRsZSlkKGluKWcoYW4paChpbiltKHRlcmFjdGl2KW0oZSlpKHNoZWxsLik0MSBiKFRoaXMpMzAKK2IoaXMpZyhvbik2MzAgNTA3NSB5KGIpbSh5KWcoZGVmYXVsdCloKGlmKWYodGhlKWgoc2hlbGwpZihpcyloKGluKW0odiltCisob2spbShlZCloKGFzKWUgRnMoc2gpcCBGdCguKTE1MCA1MjMwIHkgRnMoLS1wb3NpeCkxNDQKK2IgRnQoQ2hhbmdlKTI0IGIodGhlKWgoYilzKGVoYSltKHZpb3IpZihvZilnKEJhc2gpaCh3aGVyZSllKHRoZSlpCisoZGVmYXVsdClmKG9wKXMoZXJhdGlvbiloKGRpXDAxM2VycylmKGZyb20pZih0aGUpaSBGbChwb3NpeCk2MzAKKzUzNDAgeSBGdChzdGFuZGFyZCkzNSBiKHRvKWgobWF0YyltKGgpZyh0aGUpZyhzdGFuZGFyZC4pNTUKK2IoVGhpcykzNSBiKGlzKWgoaW4pbSh0ZW5kZWQpZih0byloKG1hayltKGUpaChCYXNoKWYoYilzKGVoYSltKHYpbShlKWcKKyhhcylnKGEpcCBlb3AgZW5kCiAlJVBhZ2U6IDc0IDgwCiBUZVhEaWN0IGJlZ2luIDc0IDc5IGJvcCAxNTAgLTExNiBhIEZ0KDc0KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkoZXhwYW5kZWQpZih2KS01IGIoYWx1ZSkzMAotYihhcyloKHRoZSlnKG5hbWUpZihvZiloKGEpZihcMDE0bGUpaCh0bylnKHJlYWQpZihhbmQpZyhleGVjdXRlLik0MgotYihCYXNoKTMxIGIoYilzKGVoYSltKHYpbShlcylnKGFzKWcoaWYpZih0aGUpZyhmb2xsbyltKHdpbmcpMTUwCi00MDggeShjb21tYW5kKWcodyltKGVyZSloKGV4ZWN1dGVkOikzOTAgNTcwIHkgRnMoaWYpNDcKLWIoWyloKC1uKWYoIiRCQVNIX0VOViIpZShdOylpKHRoZW4pZiguKWkoIiRCQVNIX0VOViI7KWMoZmkpMTUwCi03MzIgeSBGdChidXQpMzAgYih0aGUpZyh2KS01IGIoYWx1ZSkzMSBiKG9mKWcodGhlKWYgRnMoUEFUSClmCi1GdCh2KS01IGIoYXJpYWJsZSkzMiBiKGlzKWUobm90KWgodXNlZCllKHRvKWkoc2VhcmMpbShoKWcoZm9yKWYodGhlKWgKLShcMDE0bGUpZihuYW1lLikyNzUgODkzIHkoQXMpMzggYihub3RlZCloKGFiKXMobyltKHYpbShlLClqKGlmKWMoYSloCi0obm9uLWluKW0odGVyYWN0aXYpbShlKWkoc2hlbGwpZShpcylnKGluKW0odiltKG9rKW0oZWQpaCh3aXRoKWUodGhlKWcKLShgKXAgRnMoLS1sb2dpbilwIEZ0KCcpZyhvcHRpb24sKWooQmFzaCkxNTAgMTAwMyB5KGF0dGVtcHRzKTMxCi1iKHRvKWcocmVhZClnKGFuZCllKGV4ZWN1dGUpaihjb21tYW5kcyllKGZyb20pZyh0aGUpaChsb2dpbilnKHNoZWxsKWcKLShzdGFydHVwKWUoXDAxNGxlcy4pMTUwIDEyMjkgeSBGaihJbiltKHYpbShvayltKGVkKTQwCi1iKHdpdGgpZyhuYW1lKWggRmgoc2gpMTUwIDEzNzYgeSBGdChJZiljKEJhc2gpZyhpcylnKGluKW0odiltKG9rKW0oZWQpaQotKHdpdGgpZSh0aGUpZyhuYW1lKWcgRnMoc2gpcCBGdCgsKWkoaXQpZih0cmllcylmKHRvKWgobWltaWMpZyh0aGUpZgotKHN0YXJ0dXApZyhiKXMoZWhhKW0odmlvcilnKG9mKWgoaGlzdG9yaWNhbCkxNTAgMTQ4NgoteSh2KW0oZXJzaW9ucykzMSBiKG9mKWYgRnMoc2gpZyBGdChhcyloKGNsb3NlbHkpaChhcyllKHApcyhvc3NpYmxlLClnCi0od2hpbGUpaChjb25mb3JtaW5nKWYodG8paCh0aGUpZyBGbChwb3NpeCllIEZ0KHN0YW5kYXJkKWgoYXMpaCh3KW0KLShlbGwuKTI3NSAxNjQ3IHkoV2hlbik1MCBiKGluKW0odiltKG9rKW0oZWQpaihhcylmKGFuKWYoaW4pbSh0ZXJhY3RpdiltCi0oZSlqKGxvZ2luKWUoc2hlbGwsKTU3IGIob3IpNTEgYihhcylnKGEpaChub24taW4pbSh0ZXJhY3RpdiltKGUpaAotKHNoZWxsKWYod2l0aClmKHRoZSkxNTAgMTc1NyB5KGApcCBGcygtLWxvZ2luKXAgRnQoJykzOQotYihvcHRpb24sKWsoaXQpZShcMDE0cnN0KWUoYXR0ZW1wdHMpaSh0bylnKHJlYWQpZihhbmQpZyhleGVjdXRlKWgKLShjb21tYW5kcylmKGZyb20pZyhgKXAgRnMoL2V0Yy9wcm9maWxlKXAgRnQoJykxNTAgMTg2NwoteShhbmQpZChgKXAgRnMofi8ucHJvZmlsZSlwIEZ0KCcsKWcoaW4pZyh0aGF0KWgob3JkZXIuKTYyCi1iKFRoZSkzNyBiKGApcCBGcygtLW5vcHJvZmlsZSlwIEZ0KCcpZShvcHRpb24paihtYSltKHkpZyhiKXMoZSlmKHVzZWQpZwotKHRvKWgoaW5oaWJpdClmKHRoaXMpMTUwIDE5NzYgeShiKXMoZWhhKW0odmlvci4pODIgYihXaGVuKTQ0Ci1iKGluKW0odiltKG9rKW0oZWQpaChhcylnKGFuKWYoaW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbClkKHdpdGgpZyh0aGUpZwotKG5hbWUpZyBGcyhzaClwIEZ0KCwpaihCYXNoKWQobG8pcyhva3MpaChmb3IpZih0aGUpMTUwCi0yMDg2IHkodiktNSBiKGFyaWFibGUpMzcgYiBGcyhFTlYpcCBGdCgsKWcoZXhwYW5kcyllKGl0cylpKHYpLTUKLWIoYWx1ZSkzNiBiKGlmKWcoaXQpaChpcylmKGRlXDAxNG5lZCwpaChhbmQpZSh1c2VzKWgodGhlKWcoZXhwYW5kZWQpZwotKHYpLTUgYihhbHVlKTM2IGIoYXMpaCh0aGUpZihuYW1lKTE1MCAyMTk1IHkob2YpaShhKWgoXDAxNGxlKWcodG8pZwotKHJlYWQpZihhbmQpZyhleGVjdXRlLik2NiBiKFNpbmNlKTM4IGIoYSloKHNoZWxsKWYoaW4pbSh2KW0ob2spbShlZClpCi0oYXMpZiBGcyhzaCllIEZ0KGRvKXMoZXMpaChub3QpaChhdHRlbXB0KWcodG8pZyhyZWFkKWcoYW5kKTE1MAotMjMwNSB5KGV4ZWN1dGUpaShjb21tYW5kcyllKGZyb20pZyhhbiltKHkpaChvdGhlcilnKHN0YXJ0dXApZihcMDE0bGVzLCkKLWoodGhlKWUoYClwIEZzKC0tcmNmaWxlKXAgRnQoJylkKG9wdGlvbilqKGhhcylnKG5vKWYoZVwwMTNlY3QuKTcwCi1iKEEpMTUwIDI0MTUgeShub24taW4pbSh0ZXJhY3RpdiltKGUpMzIgYihzaGVsbClkKGluKW0odiltKG9rKW0oZWQpaAotKHdpdGgpZih0aGUpZyhuYW1lKWcgRnMoc2gpZiBGdChkbylzKGVzKWcobm90KWkoYXR0ZW1wdClnKHRvKWYocmVhZClnCi0oYW4pbSh5KWcob3RoZXIpZyhzdGFydHVwKTE1MCAyNTI0IHkoXDAxNGxlcy4pMjc1IDI2ODYKLXkoV2hlbiloKGluKW0odiltKG9rKW0oZWQpaChhcylnIEZzKHNoKXAgRnQoLClmKEJhc2gpaChlbiltKHRlcnMpZwotRmwocG9zaXgpZSBGdChtbylzKGRlKWgoYWZ0ZXIpaCh0aGUpZyhzdGFydHVwKWYoXDAxNGxlcylnKGFyZSloKHJlYWQuKQotMTUwIDI5MTIgeSBGaihJbiltKHYpbShvayltKGVkKTQwIGIoaW4paCBGZyhwb3NpeClnIEZqKG1vKXMoZGUpMTUwCi0zMDU5IHkgRnQoV2hlbikyNSBiKEJhc2gpZyhpcyloKHN0YXJ0ZWQpZihpbilnIEZsKHBvc2l4KWcKLUZ0KG1vKXMoZGUsKWgoYXMpZih3aXRoKWcodGhlKWgoYClwIEZzKC0tcG9zaXgpcCBGdCgnKWQoY29tbWFuZClpKGxpbmUpCi1oKG9wdGlvbiwpaChpdClmKGZvbGxvKW0od3MpMTUwIDMxNjkgeSh0aGUpZSBGbChwb3NpeClmCi1GdChzdGFuZGFyZCloKGZvcilmKHN0YXJ0dXApaChcMDE0bGVzLikzOCBiKEluKTI0IGIodGhpcylnKG1vKXMoZGUsKWgKLShpbiltKHRlcmFjdGl2KW0oZSlpKHNoZWxscylkKGV4cGFuZClmKHRoZSloIEZzKEVOVilmCi1GdCh2KS01IGIoYXJpYWJsZSkxNTAgMzI3OCB5KGFuZCkzMCBiKGNvbW1hbmRzKWcoYXJlKWcocmVhZCloKGFuZCllCi0oZXhlY3V0ZWQpaihmcm9tKWQodGhlKWkoXDAxNGxlKWYod2hvc2UpZyhuYW1lKWgoaXMpZih0aGUpaChleHBhbmRlZCllCi0odiktNSBiKGFsdWUuKTQxIGIoTm8pMTUwIDMzODggeShvdGhlcikzMSBiKHN0YXJ0dXApZihcMDE0bGVzKWcoYXJlKWgKLShyZWFkLikxNTAgMzYxNCB5IEZqKEluKW0odiltKG9rKW0oZWQpNDAgYihiKW0oeSlnKHJlbW90ZSloKHNoZWxsKWgKLShkYWVtb24pMTUwIDM3NjEgeSBGdChCYXNoKTM2IGIoYXR0ZW1wdHMpaCh0bylnKGRldGVybWluZSlmKHdoZW4pZihpdClpCi0oaXMpZihiKXMoZWluZylnKHJ1billKHdpdGgpaShpdHMpZyhzdGFuZGFyZClnKGlucHV0KWYoY29ubmVjdGVkKWkodG8pZwotKGEpMTUwIDM4NzEgeShhKWUobmV0KW0odyltKG9yayloKGNvbm5lY3Rpb24sKWgoYXMpZShpZilnKGIpbSh5KWcodGhlKWcKLShyZW1vdGUpZyhzaGVsbClnKGRhZW1vbiwpaSh1c3VhbGx5KWQgRnMocnNoZClwIEZ0KCwpaChvcilnKHRoZSlnCi0oc2VjdXJlKWcoc2hlbGwpMTUwIDM5ODAgeShkYWVtb24pNDEgYiBGcyhzc2hkKXAgRnQoLik3MAotYihJZik0MCBiKEJhc2gpaChkZXRlcm1pbmVzKWYoaXQpaChpcylnKGIpcyhlaW5nKWYocnVuKWYoaW4paSh0aGlzKWYKLShmYXNoaW9uLClqKGl0KWUocmVhZHMpZyhhbmQpZihleGVjdXRlcykxNTAgNDA5MCB5KGNvbW1hbmRzKTI2Ci1iKGZyb20pZihgKXAgRnMofi8uYmFzaHJjKXAgRnQoJywpZyhpZilpKHRoYXQpZihcMDE0bGUpZyhleGlzdHMpaChhbmQpZgotKGlzKWcocmVhZGFibGUuKTQwIGIoSXQpMjYgYih3aWxsKWcobm90KWcoZG8pZyh0aGlzKWcoaWYpZyhpbiltKHYpbShvaykKLW0oZWQpMTUwIDQyMDAgeShhcylnIEZzKHNoKXAgRnQoLikzOSBiKFRoZSkyNSBiKGApcCBGcygtLW5vcmMpcAotRnQoJylnKG9wdGlvbiloKG1hKW0oeSlnKGIpcyhlKWYodXNlZClnKHRvKWkoaW5oaWJpdCllKHRoaXMpaChiKXMoZWhhKW0KLSh2aW9yLCloKGFuZCllKHRoZSloKGApcCBGcygtLXJjZmlsZSlwIEZ0KCcpZShvcHRpb24pMTUwCi00MzA5IHkobWEpbSh5KTMzIGIoYilzKGUpZyh1c2VkKWYodG8paChmb3JjZSloKGFub3RoZXIpZihcMDE0bGUpZyh0bylnCi0oYilzKGUpZyhyZWFkLClnKGJ1dClmIEZzKHJzaGQpZyBGdChkbylzKGVzKWgobm90KWcoZ2VuZXJhbGx5KWgoaW4pbSh2KQotbShvayltKGUpaCh0aGUpZShzaGVsbCkxNTAgNDQxOSB5KHdpdGgpZCh0aG9zZSloKG9wdGlvbnMpZyhvcilmKGFsbG8pbQotKHcpaSh0aGVtKWUodG8paChiKXMoZSlmKHNwKXMoZWNpXDAxNGVkLikxNTAgNDY0NSB5IEZqKEluKW0odiltKG9rKW0KLShlZCk0MCBiKHdpdGgpZyh1bmVxdWFsKWgoZVwwMTNlY3RpdiltKGUpZShhbmQpaShyZWFsKWcKLUZnKHVpZC9naWQpcCBGaihzKTE1MCA0NzkyIHkgRnQoSWYpMzQgYihCYXNoKWgoaXMpZyhzdGFydGVkKWcod2l0aClmCi0odGhlKWgoZVwwMTNlY3RpdiltKGUpaSh1c2VyKWQoXChncm91cFwpKWgoaWQpZihub3QpaChlcXVhbClnKHRvKWcodGhlKQotZyhyZWFsKWcodXNlcilmKFwoZ3JvdXBcKSloKGlkLCkxNTAgNDkwMiB5KGFuZCkyNiBiKHRoZSlpCi1GcygtcCllIEZ0KG9wdGlvbiloKGlzKWcobm90KWgoc3VwcGxpZWQsKWUobm8paChzdGFydHVwKWcoXDAxNGxlcylnCi0oYXJlKWcocmVhZCwpaChzaGVsbClmKGZ1bmN0aW9ucylnKGFyZSlnKG5vdClnKGluaGVyaXRlZCkxNTAKLTUwMTEgeShmcm9tKTQxIGIodGhlKWcoZW4pbSh2aXJvbm1lbiltKHQsKWoodGhlKWQgRnMoU0hFTExPUFRTKXAKLUZ0KCwpaCBGcyhCQVNIT1BUUylwIEZ0KCwpZyBGcyhDRFBBVEgpcCBGdCgsKWcoYW5kKWUKLUZzKEdMT0JJR05PUkUpZSBGdCh2KS01IGIoYXJpYWJsZXMsKTQ1IGIoaWYpMTUwIDUxMjEKLXkodGhleSkyOCBiKGFwcClzKGVhcilmKGluKWgodGhlKWcoZW4pbSh2aXJvbm1lbiltKHQsKWkoYXJlKWUoaWdub3JlZCwpCi1oKGFuZCllKHRoZSloKGVcMDEzZWN0aXYpbShlKWoodXNlciljKGlkKWgoaXMpZyhzZXQpZyh0byloKHRoZSlmKHJlYWwpaAotKHVzZXIpMTUwIDUyMzAgeShpZC4pNjIgYihJZikzOCBiKHRoZSlmIEZzKC1wKWggRnQob3B0aW9uKWcoaXMpZgotKHN1cHBsaWVkKWcoYXQpaChpbiltKHYpbShvKXMoY2F0aW9uLClrKHRoZSljKHN0YXJ0dXApZihiKXMoZWhhKW0odmlvcikKLWgoaXMpZyh0aGUpZyhzYW1lLClpKGJ1dClkKHRoZSkxNTAgNTM0MCB5KGVcMDEzZWN0aXYpbShlKWModXNlcilkKGlkKWcKLShpcylnKG5vdCloKHJlc2V0LilwIGVvcCBlbmQKK2IoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShzdHJpY3QpMjYgYihzdXApcyhlcnNldCllKG9mKWgodGhhdClnCisoc3RhbmRhcmQuKTM4IGIoU2VlKTI2IGIoU2VjdGlvbilmKDYuMTEpaShbQmFzaCllKFBPU0lYKWYoTW8pcyhkZV0sKWoKKyhwYWdlKWYoODYsKTYzMCA0MDggeShmb3IpayhhKWgoZGVzY3JpcHRpb24pZihvZiloKHRoZSlmKEJhc2gpaAorRmwocG9zaXgpZiBGdChtbylzKGRlLikxNTAgNTY0IHkgRnMoLS1yZXN0cmljdGVkKTYzMAorNjczIHkgRnQoTWFrKW0oZSk1NCBiKHRoZSllKHNoZWxsKWcoYSloKHJlc3RyaWN0ZWQpZyhzaGVsbClmKFwoc2VlKWgKKyhTZWN0aW9uKWcoNi4xMCloKFtUaGUpZChSZXN0cmljdGVkKWooU2hlbGxdLCk2MzAgNzgzCit5KHBhZ2UpMzEgYig4NlwpLikxNTAgOTM4IHkgRnMoLS12ZXJib3NlKTYzMCAxMDQ4IHkgRnQoRXF1aXYpLTUKK2IoYWxlbiltKHQpMzEgYih0bylnKGApcCBGcygtdilwIEZ0KCcuKTQxIGIoUHJpbiltKHQpMzAKK2Ioc2hlbGwpaChpbnB1dCllKGxpbmVzKWkoYXMpZyh0aGV5J3JlKWYocmVhZC4pMTUwIDEyMDMKK3kgRnMoLS12ZXJzaW9uKTYzMCAxMzEzIHkgRnQoU2hvKW0odyllKHYpbShlcnNpb24pZyhpbmZvcm1hdGlvbilnKGZvcilnCisodGhpcylnKGluc3RhbmNlKWgob2YpZihCYXNoKWcob24pZyh0aGUpZyhzdGFuZGFyZClmKG91dHB1dCloKGFuZCk2MzAKKzE0MjIgeShleGl0KWooc3VjY2Vzc2Z1bGx5KS04IGIoLikyNzUgMTU3NyB5KFRoZXJlKTI4CitiKGFyZSlpKHNldiltKGVyYWwpZyhzaW5nbGUtYyltKGhhcmFjdGVyKWkob3B0aW9ucylkKHRoYXQpaChtYSltKHkpZyhiKQorcyhlKWUoc3VwcGxpZWQpZyhhdClpKGluKW0odiltKG8pcyhjYXRpb24paCh3aGljKW0oaCllKGFyZSkxNTAKKzE2ODcgeShub3QpaShhKW0odiktNSBiKGFpbGFibGUpMzIgYih3aXRoKWUodGhlKWggRnMoc2V0KWUKK0Z0KGJ1aWx0aW4uKTE1MCAxODQyIHkgRnMoLWMpaCBGaShzdHJpbmcpNjMwIDE5NTIgeSBGdChSZWFkKTIzCitiKGFuZClmKGV4ZWN1dGUpaShjb21tYW5kcylmKGZyb20pZiBGcShzdHJpbmcpMzEgYiBGdChhZnRlcikyMworYihwcm8pcyhjZXNzaW5nKWYodGhlKWgob3B0aW9ucywpaSh0aGVuKWUoZXhpdC4pNjMwIDIwNjEKK3koQW4pbSh5KTM3IGIocmVtYWluaW5nKWYoYXJndW1lbiltKHRzKWgoYXJlKWcoYXNzaWduZWQpZyh0bylnKHRoZSlnKHApCitzKG9zaXRpb25hbClnKHBhcmFtZXRlcnMsKWkoc3RhcnRpbmcpNjMwIDIxNzEgeSh3aXRoKTMwCitiIEZzKCQwKXAgRnQoLikxNTAgMjMyNiB5IEZzKC1pKTM4NCBiIEZ0KEYpLTggYihvcmNlKTIyCitiKHRoZSlnKHNoZWxsKWYodG8pZyhydW4pZihpbiltKHRlcmFjdGl2KW0oZWx5KS04IGIoLik0MQorYihJbiltKHRlcmFjdGl2KW0oZSkyMyBiKHNoZWxscyllKGFyZSloKGRlc2NyaWIpcyhlZClkKGluKWkoU2VjdGlvbiloCisoNi4zKTYzMCAyNDM2IHkoW0luKW0odGVyYWN0aXYpbShlKTMzIGIoU2hlbGxzXSwpZShwYWdlKWcoNzYuKTE1MAorMjU5MSB5IEZzKC1sKTM4NCBiIEZ0KE1hayltKGUpMzMgYih0aGlzKWUoc2hlbGwpaChhY3QpZyhhcylnKGlmKWYoaXQpaAorKGhhZClmKGIpcyhlZW4pZihkaXJlY3RseSlpKGluKW0odiltKG9rKW0oZWQpaChiKW0oeSlmKGxvZ2luLik0NAorYihXaGVuKTMxIGIodGhlKWgoc2hlbGwpNjMwIDI3MDEgeShpcykzNyBiKGluKW0odGVyYWN0aXYpbShlLCk0MworYih0aGlzKTM3IGIoaXMpZyhlcXVpdiktNSBiKGFsZW4pbSh0KTM5IGIodG8pZihzdGFydGluZyloKGEpZShsb2dpbilpCisoc2hlbGwpZSh3aXRoKWcoYClwIEZzKGV4ZWMpMzAgYigtbClnKGJhc2gpcCBGdCgnLik2MzAKKzI4MTAgeShXaGVuKWgodGhlKWcoc2hlbGwpaChpcylmKG5vdClnKGluKW0odGVyYWN0aXYpbShlLClrKHRoZSljCisobG9naW4paChzaGVsbClnKHN0YXJ0dXApZihcMDE0bGVzKWcod2lsbClnKGIpcyhlKWcoZXhlY3V0ZWQuKTYzMAorMjkyMCB5KGApcCBGcyhleGVjKWUoYmFzaCloKC1sKXAgRnQoJyk0MyBiKG9yKWgoYClwIEZzKGV4ZWMpMjkKK2IoYmFzaClnKC0tbG9naW4pcCBGdCgnKTQyIGIod2lsbClpKHJlcGxhY2UpaCh0aGUpZihjdXJyZW4pbSh0KWYoc2hlbGwpCitoKHdpdGgpZyhhKTYzMCAzMDI5IHkoQmFzaCkyNiBiKGxvZ2luKWcoc2hlbGwuKTM5IGIoU2VlKTI2CitiKFNlY3Rpb24pZyg2LjIpaChbQmFzaCllKFN0YXJ0dXApZyhGaWxlc10sKWoocGFnZSllKDc1LClpKGZvcilkKGEpaAorKGRlc2NyaXB0aW9uKTYzMCAzMTM5IHkob2YpMzEgYih0aGUpZihzcClzKGVjaWFsKWgoYilzKGVoYSltKHZpb3IpZyhvZikKK2YoYSloKGxvZ2luKWcoc2hlbGwuKTE1MCAzMjk0IHkgRnMoLXIpMzg0IGIgRnQoTWFrKW0oZSk1NAorYih0aGUpZShzaGVsbClnKGEpaChyZXN0cmljdGVkKWcoc2hlbGwpZihcKHNlZSloKFNlY3Rpb24pZyg2LjEwKWgoW1RoZSkKK2QoUmVzdHJpY3RlZClqKFNoZWxsXSwpNjMwIDM0MDQgeShwYWdlKTMxIGIoODZcKS4pMTUwCiszNTU5IHkgRnMoLXMpMzg0IGIgRnQoSWYpMjQgYih0aGlzKWgob3B0aW9uKWgoaXMpZihwcmVzZW4pbSh0LCloKG9yKWYKKyhpZilnKG5vKWYoYXJndW1lbiltKHRzKWkocmVtYWluKWUoYWZ0ZXIpaShvcHRpb24pZihwcm8pcyhjZXNzaW5nLCloCisodGhlbik2MzAgMzY2OSB5KGNvbW1hbmRzKWkoYXJlKWgocmVhZClnKGZyb20pZih0aGUpaChzdGFuZGFyZClmCisoaW5wdXQuKTM5IGIoVGhpcykyOCBiKG9wdGlvbiloKGFsbG8pbSh3cyloKHRoZSlmKHApcyhvc2l0aW9uYWwpNjMwCiszNzc4IHkocGFyYW1ldGVycylpKHRvKWcoYilzKGUpZihzZXQpZyh3aGVuKWcoaW4pbSh2KW0ob2tpbmcpaChhbilnKGluKQorbSh0ZXJhY3RpdiltKGUpaShzaGVsbC4pMTUwIDM5MzQgeSBGcygtRCkzODQgYiBGdChBKTM3CitiKGxpc3QpZyhvZilmKGFsbClpKGRvdWJsZS1xdW90ZWQpZShzdHJpbmdzKWcocHJlY2VkZWQpZyhiKW0oeSloKGApcAorRnMoJClwIEZ0KCcpZihpcyloKHByaW4pbSh0ZWQpZihvbilnKHRoZSloKHN0YW5kYXJkKTYzMAorNDA0MyB5KG91dHB1dC4pNjMgYihUaGVzZSkzOCBiKGFyZSlnKHRoZSlnKHN0cmluZ3MpZyh0aGF0KWgoYXJlKWYoc3ViKTUKK2IoamVjdCkzOCBiKHRvKWgobGFuZ3VhZ2UpZyh0cmFuc2xhdGlvbilnKHdoZW4pNjMwIDQxNTMKK3kodGhlKWUoY3VycmVuKW0odClnKGxvKXMoY2FsZSloKGlzKWYobm90KWcgRnMoQylnIEZ0KG9yKWYKK0ZzKFBPU0lYKWcgRnQoXChzZWUpaChTZWN0aW9uKWgoMy4xLjIuNSloKFtMbylzKGNhbGUpZyhUKS04CitiKHJhbnNsYXRpb25dLCk2MzAgNDI2MiB5KHBhZ2UpMzEgYig3XCkuKTQyIGIoVGhpcykyOQorYihpbXBsaWVzKWkodGhlKWYoYClwIEZzKC1uKXAgRnQoJyloKG9wdGlvbjspZyhubylmKGNvbW1hbmRzKWcod2lsbCloCisoYilzKGUpZShleGVjdXRlZC4pMTUwIDQ0MTggeSBGcyhbLStdTylnKFspcCBGaShzaG9wdF9vcHRpb24pMTEKK2IgRnMoXSk2MzAgNDUyNyB5IEZxKHNob3B0KXAgODU0IDQ1MjcgMjggNCB2IDQwIHcob3B0aW9uKTQ0CitiIEZ0KGlzKWcob25lKWgob2YpZih0aGUpZyhzaGVsbCloKG9wdGlvbnMpZihhY2NlcHRlZCloKGIpbSh5KWYodGhlKWgKK0ZzKHNob3B0KWQgRnQoYnVpbHRpbilpKFwoc2VlKTYzMCA0NjM3IHkoU2VjdGlvbikyOCBiKDQuMy4yKWcoW1RoZSlmCisoU2hvcHQpZihCdWlsdGluXSwpaShwYWdlKWYoNTdcKS4pNDEgYihJZikyNiBiIEZxKHNob3B0KXAKKzI2OTAgNDYzNyBWIDQwIHcob3B0aW9uKWggRnQoaXMpZyhwcmVzZW4pbSh0LCloKGApcCBGcygtTylwCitGdCgnKWYoc2V0cyk2MzAgNDc0NiB5KHRoZSk0MCBiKHYpLTUgYihhbHVlKTQwIGIob2YpZih0aGF0KWgob3B0aW9uOyk0NQorYihgKXAgRnMoK08pcCBGdCgnKTQwIGIodW5zZXRzKWUoaXQuKTY5IGIoSWYpMzkgYiBGcShzaG9wdClwCisyNjMxIDQ3NDYgViA0MCB3KG9wdGlvbiloIEZ0KGlzKWYobm90KWgoc3VwcGxpZWQsKWgodGhlKTYzMAorNDg1NiB5KG5hbWVzKWUoYW5kKWcodiktNSBiKGFsdWVzKTQwIGIob2YpZyh0aGUpZyhzaGVsbClmKG9wdGlvbnMpaAorKGFjY2VwdGVkKWgoYiltKHkpZSBGcyhzaG9wdClmIEZ0KGFyZSlpKHByaW4pbSh0ZWQpZihvbiloKHRoZSk2MzAKKzQ5NjYgeShzdGFuZGFyZCkzMyBiKG91dHB1dC4pNTAgYihJZikzMyBiKHRoZSloKGluKW0odiltKG8pcyhjYXRpb24paQorKG9wdGlvbillKGlzKWcoYClwIEZzKCtPKXAgRnQoJywpZyh0aGUpZyhvdXRwdXQpZihpcyloKGRpc3BsYSltKHkpbShlZCkKK2coaW4pZyhhKTYzMCA1MDc1IHkoZm9ybWF0KWQodGhhdClnKG1hKW0oeSlnKGIpcyhlKWUocmV1c2VkKWgoYXMpaAorKGlucHV0LikxNTAgNTIzMCB5IEZzKC0tKTM4NCBiIEZ0KEEpMzggYiBGcygtLSlnIEZ0KHNpZ25hbHMpZyh0aGUpaAorKGVuZCllKG9mKWkob3B0aW9ucylmKGFuZClnKGRpc2FibGVzKWcoZnVydGhlcilmKG9wdGlvbiloKHBybylzCisoY2Vzc2luZy4pNjQgYihBbiltKHkpNjMwIDUzNDAgeShhcmd1bWVuKW0odHMpMzEgYihhZnRlcilnKHRoZSlmCitGcygtLSlnIEZ0KGFyZSloKHRyZWF0ZWQpZyhhcylnKFwwMTRsZW5hbWVzKWYoYW5kKWcoYXJndW1lbiltKHRzLilwCitlb3AgZW5kCiAlJVBhZ2U6IDc1IDgxCiBUZVhEaWN0IGJlZ2luIDc1IDgwIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig2Oik0MQotYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDc1KTE1MCAyOTkgeSBGcig2LjMpNjgKLWIoSW4pbCh0ZXJhY3RpdilsKGUpNDcgYihTaGVsbHMpMTUwIDUyMCB5IEZqKDYuMy4xKTYzCi1iKFdoYXQpNDAgYihpcyloKGFuKWcoSW4pbSh0ZXJhY3RpdiltKGUpZShTaGVsbD8pMTUwCi02NjcgeSBGdChBbiljKGluKW0odGVyYWN0aXYpbShlKWsoc2hlbGwpZChpcylnKG9uZSlnKHN0YXJ0ZWQpZyh3aXRob3V0KQotZihub24tb3B0aW9uKWgoYXJndW1lbiltKHRzLClpKHVubGVzcylkKGApcCBGcygtcylwIEZ0KCcpaChpcylmKHNwKXMKLShlY2lcMDE0ZWQsKTE1MCA3NzcgeSh3aXRob3V0KWYoc3ApcyhlY2lmeWluZyloKHRoZSlmKGApcAotRnMoLWMpcCBGdCgnKWcob3B0aW9uLClqKGFuZCljKHdob3NlKWgoaW5wdXQpZyhhbmQpZyhlcnJvcilnKG91dHB1dClnCi0oYXJlKWcoYilzKG90aClnKGNvbm5lY3RlZCkxNTAgODg2IHkodG8pZCh0ZXJtaW5hbHMpZyhcKGFzKWcKLShkZXRlcm1pbmVkKWYoYiltKHkpZyBGcyhpc2F0dHlcKDNcKSlwIEZ0KFwpLClmKG9yKWgob25lKWgoc3RhcnRlZClmCi0od2l0aClnKHRoZSloKGApcCBGcygtaSlwIEZ0KCcpZihvcHRpb24uKTI3NSAxMDE4IHkoQW4pZyhpbiltKHRlcmFjdGl2KQotbShlKWooc2hlbGwpZChnZW5lcmFsbHkpaShyZWFkcyllKGZyb20pZyhhbmQpZyh3cml0ZXMpZyh0byloKGEpZwotKHVzZXIncylmKHRlcm1pbmFsLikyNzUgMTE1MCB5KFRoZSllKGApcCBGcygtcylwIEZ0KCcpaShpbiltKHYpbShvKXMKLShjYXRpb24paChvcHRpb24pZihtYSltKHkpZyhiKXMoZSlmKHVzZWQpZih0bylpKHNldClnKHRoZSlnKHApcwotKG9zaXRpb25hbClnKHBhcmFtZXRlcnMpZih3aGVuKWcoYW4pZyhpbiltKHRlci0pMTUwIDEyNTkKLXkoYWN0aXYpbShlKWsoc2hlbGwpZChpcyloKHN0YXJ0ZWQuKTE1MCAxNDUzIHkgRmooNi4zLjIpNjMKLWIoSXMpNDEgYih0aGlzKWcoU2hlbGwpZyhJbiltKHRlcmFjdGl2KW0oZT8pMTUwIDE2MDAKLXkgRnQoVCktOCBiKG8pMzAgYihkZXRlcm1pbmUpZyh3aXRoaW4pZihhKWgoc3RhcnR1cClnKHNjcmlwdClmKHdoZXRoZXIpCi1nKG9yKWgobm90KWcoQmFzaClnKGlzKWcocnVubmluZyllKGluKW0odGVyYWN0aXYpbShlbHkpLTgKLWIoLCkzMyBiKHRlc3QpZSh0aGUpMTUwIDE3MTAgeSh2KS01IGIoYWx1ZSkzMCBiKG9mKWcodGhlKWYoYClwCi1GcygtKXAgRnQoJyloKHNwKXMoZWNpYWwpZyhwYXJhbWV0ZXIuKTQxIGIoSXQpMjkgYihjb24pbSh0YWlucylpCi1GcyhpKWUgRnQod2hlbilnKHRoZSlnKHNoZWxsKWgoaXMpZihpbiltKHRlcmFjdGl2KW0oZS4pNDQKLWIoRiktOCBiKG9yKTMwIGIoZXhhbXBsZTopMzkwIDE4NDEgeSBGcyhjYXNlKTQ3IGIoIiQtIilmKGluKTM5MAotMTk1MSB5KCppKlwpKWgoZWNobylmKFRoaXMpaChzaGVsbClmKGlzKWgoaW50ZXJhY3RpdmUpZSg7OykzOTAKLTIwNjEgeSgqXCkpaShlY2hvKWcoVGhpcylmKHNoZWxsKWgoaXMpZyhub3QpZyhpbnRlcmFjdGl2ZSllKDs7KTM5MAotMjE3MCB5KGVzYWMpMjc1IDIzMDIgeSBGdChBbHRlcm5hdGl2KW0oZWx5KS04IGIoLCkyOAotYihzdGFydHVwKTIzIGIoc2NyaXB0cyloKG1hKW0oeSlnKGV4YW1pbmUpZyh0aGUpZyh2KS01Ci1iKGFyaWFibGUpMjUgYiBGcyhQUzEpcCBGdCg7KWcoaXQpZyhpcyllKHVuc2V0KWgoaW4pZihub24taW4pbQotKHRlcmFjdGl2KW0oZSkxNTAgMjQxMSB5KHNoZWxscywpMzEgYihhbmQpZShzZXQpaShpbilmKGluKW0odGVyYWN0aXYpbQotKGUpayhzaGVsbHMuKTQwIGIoVGgpbSh1czopMzkwIDI1NDMgeSBGcyhpZik0NyBiKFspaCgteilmKCIkUFMxIilmKF07KWgKLSh0aGVuKTc3MiAyNjUzIHkoZWNobylmKFRoaXMpaChzaGVsbClmKGlzKWkobm90KWYoaW50ZXJhY3RpdmUpMzkwCi0yNzYyIHkoZWxzZSk3NzIgMjg3MiB5KGVjaG8pZihUaGlzKWgoc2hlbGwpZihpcylpKGludGVyYWN0aXZlKTM5MAotMjk4MSB5KGZpKTE1MCAzMTc1IHkgRmooNi4zLjMpNjMgYihJbiltKHRlcmFjdGl2KW0oZSkzOAotYihTaGVsbClrKEJlaGEpbSh2aW9yKTE1MCAzMzIyIHkgRnQoV2hlbikzMCBiKHRoZSloKHNoZWxsKWYoaXMpaAotKHJ1bm5pbmcpZChpbiltKHRlcmFjdGl2KW0oZWx5KS04IGIoLCkzNCBiKGl0KWQoYyltKGhhbmdlcyloKGl0cylmKGIpcwotKGVoYSltKHZpb3IpZihpbilnKHNldiltKGVyYWwpaSh3KW0oYSltKHlzLikxOTkgMzQ1NAoteSgxLik2MSBiKFN0YXJ0dXApMzcgYihcMDE0bGVzKWcoYXJlKWgocmVhZClmKGFuZClnKGV4ZWN1dGVkKWgoYXMpZgotKGRlc2NyaWIpcyhlZClnKGluKWcoU2VjdGlvbiloKDYuMilnKFtCYXNoKWcoU3RhcnR1cCllKEZpbGVzXSwpMzMwCi0zNTYzIHkocGFnZSkzMSBiKDczLikxOTkgMzY5NSB5KDIuKTYxIGIoSm9iKTM1IGIoQ29uKW0odHJvbClnKFwoc2VlKWgKLShDaGFwdGVyKWYoNylnKFtKb2IpZyhDb24pbSh0cm9sXSwpaShwYWdlKWYoODlcKSlnKGlzKWYoZW5hYmxlZClnKGIpbQotKHkpZyhkZWZhdWx0Lik1NSBiKFdoZW4pMzQgYihqb2IpMzMwIDM4MDUgeShjb24pbSh0cm9sKWgoaXMpZihpbilmCi0oZVwwMTNlY3QsKWsoQmFzaClkKGlnbm9yZXMpZyh0aGUpZyhrKW0oZXliKXMob2FyZC1nZW5lcmF0ZWQpaChqb2IpZQotKGNvbiltKHRyb2wpaShzaWduYWxzKWcgRnMoU0lHVFRJTilwIEZ0KCwpMzMwIDM5MTQgeQotRnMoU0lHVFRPVSlwIEZ0KCwpMjkgYihhbmQpZyBGcyhTSUdUU1RQKXAgRnQoLikxOTkgNDA0NgoteSgzLik2MSBiKEJhc2gpMzkgYihleHBhbmRzKWYoYW5kKWcoZGlzcGxhKW0oeXMpaCBGcyhQUzEpZgotRnQoYilzKGVmb3JlKWgocmVhZGluZylnKHRoZSlnKFwwMTRyc3QpZihsaW5lKWgob2YpZyhhKWcoY29tbWFuZCwpaQotKGFuZClkKGV4LSkzMzAgNDE1NiB5KHBhbmRzKTMwIGIoYW5kKWcoZGlzcGxhKW0oeXMpaAotRnMoUFMyKWUgRnQoYilzKGVmb3JlKWkocmVhZGluZylnKHRoZSlnKHNlY29uZClmKGFuZCloKHN1YnNlcXVlbiltKHQpZgotKGxpbmVzKWgob2YpZyhhKWcobSltKHVsdGktbGluZSkzMzAgNDI2NSB5KGNvbW1hbmQuKTE5OQotNDM5NyB5KDQuKTYxIGIoQmFzaCkyNiBiKGV4ZWN1dGVzKWkodGhlKWUodiktNSBiKGFsdWUpMjcKLWIob2YpZih0aGUpaCBGcyhQUk9NUFRfQ09NTUFORCkyMiBiIEZ0KHYpLTUgYihhcmlhYmxlKTI3Ci1iKGFzKWcoYSlmKGNvbW1hbmQpZyhiKXMoZWZvcmUpZyhwcmluKW0odGluZykzMzAgNDUwNgoteSh0aGUpMzEgYihwcmltYXJ5KWUocHJvbXB0LCloIEZzKCRQUzEpZiBGdChcKHNlZSlpKFNlY3Rpb24pZyg1LjIpaAotKFtCYXNoKWYoViktOCBiKGFyaWFibGVzXSwpMzIgYihwYWdlKWYoNjFcKS4pMTk5IDQ2MzgKLXkoNS4pNjEgYihSZWFkbGluZSkzMCBiKFwoc2VlKWgoQ2hhcHRlcillKDgpaChbQ29tbWFuZCllKExpbmUpaQotKEVkaXRpbmddLClnKHBhZ2UpZyg5M1wpKWgoaXMpZih1c2VkKWYodG8paChyZWFkKWYoY29tbWFuZHMpMzMwCi00NzQ4IHkoZnJvbSloKHRoZSlnKHVzZXIncylnKHRlcm1pbmFsLikxOTkgNDg3OSB5KDYuKTYxCi1iKEJhc2gpMzYgYihpbnNwKXMoZWN0cylnKHRoZSloKHYpLTUgYihhbHVlKTM3IGIob2YpZih0aGUpZwotRnMoaWdub3JlZW9mKWUgRnQob3B0aW9uKWoodG8pZyBGcyhzZXQpMjkgYigtbykzNiBiIEZ0KGluc3RlYWQpaChvZilmCi0oZXhpdGluZylpKGltbWUtKTMzMCA0OTg5IHkoZGlhdGVseSlmKHdoZW4pZShpdClpKHJlY2VpdiltKGVzKWgoYW4pZQotRnMoRU9GKWYgRnQob24paChpdHMpZyhzdGFuZGFyZClmKGlucHV0KWcod2hlbiloKHJlYWRpbmcpZyhhKWcoY29tbWFuZCkKLWcoXChzZWUpMzMwIDUwOTkgeShTZWN0aW9uKTMxIGIoNC4zLjEpaChbVGhlKWUoU2V0KWgoQnVpbHRpbl0sKWcocGFnZSlnCi0oNTFcKS4pMTk5IDUyMzAgeSg3Lik2MSBiKENvbW1hbmQpNDMgYihoaXN0b3J5KWgoXChzZWUpaChTZWN0aW9uKWcoOS4xKQotZyhbQmFzaClmKEhpc3RvcnkpaChGKS04IGIoYWNpbGl0aWVzXSwpNTEgYihwYWdlKTQ1IGIoMTIxXCkpaChhbmQpZAotKGhpc3RvcnkpMzMwIDUzNDAgeShleHBhbnNpb24pMjMgYihcKHNlZSlpKFNlY3Rpb24pZig5LjMpaChbSGlzdG9yeSlmCi0oSW4pbSh0ZXJhY3Rpb25dLClqKHBhZ2UpZCgxMjNcKSloKGFyZSlmKGVuYWJsZWQpZyhiKW0oeSlmKGRlZmF1bHQuKTM5Ci1iKEJhc2gpcCBlb3AgZW5kCitiKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoNzUpMjc1IDI5OSB5KEEpMjcgYgorRmsobG8pLTUgYihnaW4pMzUgYiBGdChzaGVsbCkyNyBiKGlzKWcob25lKWgod2hvc2UpZihcMDE0cnN0KWYoYyltCisoaGFyYWN0ZXIpaihvZillKGFyZ3VtZW4pbSh0KWgoemVybylmKGlzKWgoYClwIEZzKC0pcAorRnQoJywpZyhvcilmKG9uZSlnKGluKW0odiltKG9rKW0oZWQpaSh3aXRoKWUodGhlKTE1MAorNDA4IHkoYClwIEZzKC0tbG9naW4pcCBGdCgnKWkob3B0aW9uLikyNzUgNTQ2IHkoQW4pMjQKK2IgRmsoaW50ZXIpLTUgYihhY3RpdmUpMzMgYiBGdChzaGVsbCkyNSBiKGlzKWcob25lKWcoc3RhcnRlZClnKHdpdGhvdXQpCitnKG5vbi1vcHRpb24paChhcmd1bWVuKW0odHMsKWcodW5sZXNzKWYoYClwIEZzKC1zKXAgRnQoJylmKGlzKWgoc3ApcworKGVjaVwwMTRlZCwpMTUwIDY1NiB5KHdpdGhvdXQpNDMgYihzcClzKGVjaWZ5aW5nKWYodGhlKWkoYClwCitGcygtYylwIEZ0KCcpZShvcHRpb24sKTQ3IGIoYW5kKTQyIGIod2hvc2UpaChpbnB1dClmKGFuZClnKG91dHB1dClnCisoYXJlKWgoYilzKG90aClnKGNvbm5lY3RlZClnKHRvKTE1MCA3NjYgeSh0ZXJtaW5hbHMpMjIKK2IoXChhcyloKGRldGVybWluZWQpZihiKW0oeSlnIEZzKGlzYXR0eVwoM1wpKXAgRnQoXCksKWYob3IpaShvbmUpZgorKHN0YXJ0ZWQpZyh3aXRoKWcodGhlKWcoYClwIEZzKC1pKXAgRnQoJylnKG9wdGlvbi4pMzkKK2IoU2VlKTIyIGIoU2VjdGlvbiloKDYuMykxNTAgODc1IHkoW0luKW0odGVyYWN0aXYpbShlKTMzCitiKFNoZWxsc10sKWUocGFnZSlnKDc2LClnKGZvcilmKG1vcmUpaChpbmZvcm1hdGlvbi4pMjc1CisxMDEzIHkoSWYpMzggYihhcmd1bWVuKW0odHMpaChyZW1haW4pZyhhZnRlcilnKG9wdGlvbiloKHBybylzKGNlc3NpbmcsKQoraChhbmQpZChuZWl0aGVyKWgodGhlKWcoYClwIEZzKC1jKXAgRnQoJylmKG5vciloKHRoZSlnKGApcAorRnMoLXMpcCBGdCgnKWYob3B0aW9uKTE1MCAxMTIzIHkoaGFzKTMzIGIoYilzKGVlbilnKHN1cHBsaWVkLCloKHRoZSlnCisoXDAxNHJzdCllKGFyZ3VtZW4pbSh0KWooaXMpZShhc3N1bWVkKWcodG8paChiKXMoZSlmKHRoZSloKG5hbWUpZyhvZilnCisoYSlnKFwwMTRsZSlnKGNvbiltKHRhaW5pbmcpaChzaGVsbCkxNTAgMTIzMiB5KGNvbW1hbmRzKTMwCitiKFwoc2VlKWcoU2VjdGlvbiloKDMuOClnKFtTaGVsbClmKFNjcmlwdHNdLClnKHBhZ2UpaCgzNFwpLik0MQorYihXaGVuKTMwIGIoQmFzaClnKGlzKWcoaW4pbSh2KW0ob2spbShlZClpKGluKWQodGhpcyloKGZhc2hpb24sKTE1MAorMTM0MiB5IEZzKCQwKTM3IGIgRnQoaXMpZyhzZXQpaCh0byloKHRoZSllKG5hbWUpaChvZilmKHRoZSloKFwwMTRsZSwpaQorKGFuZCljKHRoZSlpKHApcyhvc2l0aW9uYWwpZyhwYXJhbWV0ZXJzKWcoYXJlKWcoc2V0KWcodG8pZyh0aGUpZworKHJlbWFpbmluZykxNTAgMTQ1MSB5KGFyZ3VtZW4pbSh0cy4paChCYXNoKTI2IGIocmVhZHMpZihhbmQpZyhleGVjdXRlcykKK2goY29tbWFuZHMpZihmcm9tKWcodGhpcylnKFwwMTRsZSwpaSh0aGVuKWUoZXhpdHMuKTQwCitiKEJhc2gncykyNSBiKGV4aXQpaShzdGF0dXMpMTUwIDE1NjEgeShpcylmKHRoZSloKGV4aXQpaChzdGF0dXMpZShvZiloCisodGhlKWcobGFzdClnKGNvbW1hbmQpZihleGVjdXRlZCloKGluKWcodGhlKWYoc2NyaXB0Lik0MAorYihJZikyNiBiKG5vKWcoY29tbWFuZHMpZyhhcmUpaChleGVjdXRlZCwpMTUwIDE2NzEgeSh0aGUpayhleGl0KWcKKyhzdGF0dXMpZyhpcylmKDAuKTE1MCAxOTA4IHkgRnIoNi4yKTY4IGIoQmFzaCk0NSBiKFN0YXJ0dXApZyhGaWxlcykxNTAKKzIwNjggeSBGdChUaGlzKTIzIGIoc2VjdGlvbilqKGRlc2NyaWIpcyhlcylkKGhvKW0odylpKEJhc2gpZihleGVjdXRlcyloCisoaXRzKWcoc3RhcnR1cClmKFwwMTRsZXMuKTM4IGIoSWYpMjQgYihhbiltKHkpaChvZilmKHRoZSloKFwwMTRsZXMpZgorKGV4aXN0KWgoYnV0KWUoY2Fubm90KTE1MCAyMTc3IHkoYilzKGUpayhyZWFkLClpKEJhc2gpZihyZXApcyhvcnRzKWYKKyhhbiloKGVycm9yLikzOSBiKFRpbGRlcykyOCBiKGFyZSlnKGV4cGFuZGVkKWYoaW4paChcMDE0bGUpZyhuYW1lcylnCisoYXMpZyhkZXNjcmliKXMoZWQpZShhYilzKG8pbSh2KW0oZSlqKHVuZGVyKTE1MCAyMjg3Cit5KFRpbGRlKWgoRXhwYW5zaW9uKWcoXChzZWUpaChTZWN0aW9uKWgoMy41LjIpZyhbVGlsZGUpZShFeHBhbnNpb25dLCloCisocGFnZSlnKDIwXCkuKTI3NSAyNDI1IHkoSW4pbSh0ZXJhY3RpdiltKGUpaChzaGVsbHMpZihhcmUpZyhkZXNjcmliKXMKKyhlZCllKGluKWgoU2VjdGlvbiloKDYuMyloKFtJbiltKHRlcmFjdGl2KW0oZSloKFNoZWxsc10sKWQocGFnZSloKDc2LikKKzE1MCAyNjI3IHkgRmooSW4pbSh2KW0ob2spbShlZCk0MCBiKGFzKWgoYW4pZihpbiltKHRlcmFjdGl2KW0oZSlmCisobG9naW4paihzaGVsbCwpZyhvcilnKHdpdGgpZShgKXAgRmgoLS1sb2dpbilwIEZqKCcpMTUwCisyNzc0IHkgRnQoV2hlbiljKEJhc2gpZihpcyloKGluKW0odiltKG9rKW0oZWQpaChhcylmKGFuKWcoaW4pbQorKHRlcmFjdGl2KW0oZSlqKGxvZ2luKWQoc2hlbGwsKWkob3IpZShhcylnKGEpZyhub24taW4pbSh0ZXJhY3RpdiltKGUpaQorKHNoZWxsKWUod2l0aClnKHRoZSkxNTAgMjg4NCB5KGApcCBGcygtLWxvZ2luKXAgRnQoJylqKG9wdGlvbiwpayhpdCllCisoXDAxNHJzdCllKHJlYWRzKWgoYW5kKWcoZXhlY3V0ZXMpaChjb21tYW5kcylmKGZyb20pZih0aGUpaShcMDE0bGUpZihgKQorcCBGcygvZXRjL3Byb2ZpbGUpcCBGdCgnLClnKGlmKTE1MCAyOTkzIHkodGhhdCkzNSBiKFwwMTRsZSlnKGV4aXN0cy4pNTUKK2IoQWZ0ZXIpMzUgYihyZWFkaW5nKWcodGhhdClnKFwwMTRsZSwpaChpdClnKGxvKXMob2tzKWYoZm9yKWYoYClwCitGcyh+Ly5iYXNoX3Byb2ZpbGUpcCBGdCgnLClmKGApcCBGcyh+Ly5iYXNoX2xvZ2luKXAgRnQoJywpMTUwCiszMTAzIHkoYW5kKTI4IGIoYClwIEZzKH4vLnByb2ZpbGUpcCBGdCgnLClmKGluKWkodGhhdClnKG9yZGVyLClnKGFuZClmCisocmVhZHMpZyhhbmQpaChleGVjdXRlcyloKGNvbW1hbmRzKWUoZnJvbSlnKHRoZSloKFwwMTRyc3QpZihvbmUpaCh0aGF0KQorMTUwIDMyMTMgeShleGlzdHMpaShhbmQpZShpcyloKHJlYWRhYmxlLik0MSBiKFRoZSkzMAorYihgKXAgRnMoLS1ub3Byb2ZpbGUpcCBGdCgnKWQob3B0aW9uKWsobWEpbSh5KWYoYilzKGUpZyh1c2VkKWYod2hlbilnCisodGhlKWgoc2hlbGwpaChpcylmKHN0YXJ0ZWQpZyh0bykxNTAgMzMyMiB5KGluaGliaXQpZyh0aGlzKWcoYilzKGVoYSltCisodmlvci4pMjc1IDM0NjAgeShXaGVuKTcyIGIoYSlpKGxvZ2luKWcoc2hlbGwpZihleGl0cywpODUKK2IoQmFzaCk3MyBiKHJlYWRzKWcoYW5kKWcoZXhlY3V0ZXMpaChjb21tYW5kcylmKGZyb20pZyh0aGUpZyhcMDE0bGUpMTUwCiszNTcwIHkoYClwIEZzKH4vLmJhc2hfbG9nb3V0KXAgRnQoJywpMjcgYihpZilrKGl0KWYoZXhpc3RzLikxNTAKKzM3NzIgeSBGaihJbiltKHYpbShvayltKGVkKTQwIGIoYXMpaChhbilmKGluKW0odGVyYWN0aXYpbShlKWYKKyhub24tbG9naW4payhzaGVsbCkxNTAgMzkxOSB5IEZ0KFdoZW4pZyhhbiloKGluKW0odGVyYWN0aXYpbShlKWkoc2hlbGwpCitlKHRoYXQpZyhpcylmKG5vdCloKGEpZyhsb2dpbilnKHNoZWxsKWcoaXMpZihzdGFydGVkLCk0OAorYihCYXNoKWMocmVhZHMpZihhbmQpZyhleGVjdXRlcykxNTAgNDAyOSB5KGNvbW1hbmRzKTI0CitiKGZyb20pZihgKXAgRnMofi8uYmFzaHJjKXAgRnQoJywpaChpZilnKHRoYXQpZyhcMDE0bGUpZyhleGlzdHMuKTQwCitiKFRoaXMpMjMgYihtYSltKHkpaShiKXMoZSllKGluaGliaXRlZClnKGIpbSh5KWgodXNpbmcpZyh0aGUpZyhgKXAKK0ZzKC0tbm9yYylwIEZ0KCcpMTUwIDQxMzggeShvcHRpb24uKTUyIGIoVGhlKTMzIGIoYClwCitGcygtLXJjZmlsZSkyOCBiIEZpKGZpbGUpMTEgYiBGdCgnKTMzIGIob3B0aW9uKWgod2lsbClnKGZvcmNlKWgoQmFzaClmCisodG8paChyZWFkKWUoYW5kKWgoZXhlY3V0ZSloKGNvbW1hbmRzKWUoZnJvbSkxNTAgNDI0OAoreSBGcShcMDE0bGUpaiBGdChpbnN0ZWFkKTMwIGIob2YpaChgKXAgRnMofi8uYmFzaHJjKXAKK0Z0KCcuKTI3NSA0Mzg2IHkoU28sKWYodCltKHlwaWNhbGx5KS04IGIoLCkzMyBiKHkpbShvdXIpZChgKXAKK0ZzKH4vLmJhc2hfcHJvZmlsZSlwIEZ0KCcpZChjb24pbSh0YWlucykzMiBiKHRoZSllKGxpbmUpMzkwCis0NTI0IHkgRnMoaWYpNDcgYihbKWgoLWYpZih+Ly5iYXNocmMpZShdOylpKHRoZW4pZyguKWcofi8uYmFzaHJjOyllKGZpKQorMTUwIDQ2NjIgeSBGdChhZnRlcikzMSBiKFwob3IpZyhiKXMoZWZvcmVcKSlmKGFuKW0oeSloKGxvZ2luLXNwKXMKKyhlY2lcMDE0YylnKGluaXRpYWxpemF0aW9ucy4pMTUwIDQ4NjQgeSBGaihJbiltKHYpbShvayltKGVkKTQwCitiKG5vbi1pbiltKHRlcmFjdGl2KW0oZWx5KTE1MCA1MDExIHkgRnQoV2hlbikzMyBiKEJhc2gpZyhpcylnKHN0YXJ0ZWQpaAorKG5vbi1pbiltKHRlcmFjdGl2KW0oZWx5KS04IGIoLCkzNyBiKHRvKWQocnVuKWUoYSloKHNoZWxsKWgoc2NyaXB0LClnCisoZm9yKWYoZXhhbXBsZSwpaShpdCllKGxvKXMob2tzKWgoZm9yKWYodGhlKTE1MCA1MTIxCit5KHYpLTUgYihhcmlhYmxlKTM1IGIgRnMoQkFTSF9FTlYpZCBGdChpbilpKHRoZSloKGVuKW0odmlyb25tZW4pbSh0LCloCisoZXhwYW5kcyllKGl0cylnKHYpLTUgYihhbHVlKTM1IGIoaWYpZyhpdClnKGFwcClzKGVhcnMpZSh0aGVyZSwpaihhbmQpZQorKHVzZXMpZyh0aGUpMTUwIDUyMzAgeShleHBhbmRlZCljKHYpLTUgYihhbHVlKTMwIGIoYXMpaCh0aGUpZyhuYW1lKWYKKyhvZiloKGEpZihcMDE0bGUpaCh0bylnKHJlYWQpZihhbmQpZyhleGVjdXRlLik0MiBiKEJhc2gpMzEKK2IoYilzKGVoYSltKHYpbShlcylnKGFzKWcoaWYpZih0aGUpZyhmb2xsbyltKHdpbmcpMTUwCis1MzQwIHkoY29tbWFuZClnKHcpbShlcmUpaChleGVjdXRlZDopcCBlb3AgZW5kCiAlJVBhZ2U6IDc2IDgyCiBUZVhEaWN0IGJlZ2luIDc2IDgxIGJvcCAxNTAgLTExNiBhIEZ0KDc2KTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkzMzAgMjk5IHkod2lsbCkyMyBiKHNhKW0odiltKGUpaSh0aGUpZShjb21tYW5kKQotZihoaXN0b3J5KWgodG8paCh0aGUpZihcMDE0bGUpZyhuYW1lZClmKGIpbSh5KWggRnMoJEhJU1RGSUxFKWQKLUZ0KHdoZW4paShhbiloKGluKW0odGVyYWN0aXYpbShlKWooc2hlbGwpMzMwIDQwOCB5KGV4aXRzLikxOTkKLTU0MyB5KDguKTYxIGIoQWxpYXMpMzEgYihleHBhbnNpb24pZyhcKHNlZSlnKFNlY3Rpb24pZyg2LjYpZwotKFtBbGlhc2VzXSwpaShwYWdlKWUoNzlcKSloKGlzKWUocClzKGVyZm9ybWVkKWYoYiltKHkpaChkZWZhdWx0LikxOTkKLTY3OCB5KDkuKTYxIGIoSW4pMjQgYih0aGUpZyhhYnNlbmNlKWgob2YpZihhbiltKHkpaCh0cmFwcywpZyhCYXNoKWcKLShpZ25vcmVzKWYgRnMoU0lHVEVSTSlmIEZ0KFwoc2VlKWkoU2VjdGlvbilnKDMuNy42KWgoW1NpZ25hbHNdLClnKHBhZ2UpCi1mKDMyXCkuKTE1NCA4MTMgeSgxMC4pNjEgYihJbikyNiBiKHRoZSloKGFic2VuY2UpaChvZilmKGFuKW0oeSlnCi0odHJhcHMsKWcgRnMoU0lHSU5UKWUgRnQoaXMpaShjYXVnaCltKHQpaChhbmQpZihoYW5kbGVkKWUoXChcKHNlZSlrCi0oU2VjdGlvbillKDMuNy42KWkoW1NpZ25hbHNdLCkzMzAgOTIzIHkocGFnZSlpKDMyXCkuKTQyCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkzOTAgMjk5IHkgRnMoaWYpNDcgYihbKWgoLW4pZigiJEJBU0hfRU5WIillKF07KQoraSh0aGVuKWYoLilpKCIkQkFTSF9FTlYiOyljKGZpKTE1MCA0NjEgeSBGdChidXQpMzAgYih0aGUpZyh2KS01CitiKGFsdWUpMzEgYihvZilnKHRoZSlmIEZzKFBBVEgpZiBGdCh2KS01IGIoYXJpYWJsZSkzMgorYihpcyllKG5vdCloKHVzZWQpZSh0bylpKHNlYXJjKW0oaClnKGZvcilmKHRoZSloKFwwMTRsZSlmKG5hbWUuKTI3NQorNjIyIHkoQXMpMzggYihub3RlZCloKGFiKXMobyltKHYpbShlLClqKGlmKWMoYSloKG5vbi1pbiltKHRlcmFjdGl2KW0oZSkKK2koc2hlbGwpZShpcylnKGluKW0odiltKG9rKW0oZWQpaCh3aXRoKWUodGhlKWcoYClwIEZzKC0tbG9naW4pcAorRnQoJylnKG9wdGlvbiwpaihCYXNoKTE1MCA3MzIgeShhdHRlbXB0cykzMSBiKHRvKWcocmVhZClnKGFuZCllCisoZXhlY3V0ZSlqKGNvbW1hbmRzKWUoZnJvbSlnKHRoZSloKGxvZ2luKWcoc2hlbGwpZyhzdGFydHVwKWUoXDAxNGxlcy4pCisxNTAgOTU4IHkgRmooSW4pbSh2KW0ob2spbShlZCk0MCBiKHdpdGgpZyhuYW1lKWggRmgoc2gpMTUwCisxMTA1IHkgRnQoSWYpYyhCYXNoKWcoaXMpZyhpbiltKHYpbShvayltKGVkKWkod2l0aCllKHRoZSlnKG5hbWUpZworRnMoc2gpcCBGdCgsKWkoaXQpZih0cmllcylmKHRvKWgobWltaWMpZyh0aGUpZihzdGFydHVwKWcoYilzKGVoYSltCisodmlvcilnKG9mKWgoaGlzdG9yaWNhbCkxNTAgMTIxNSB5KHYpbShlcnNpb25zKTMxIGIob2YpZgorRnMoc2gpZyBGdChhcyloKGNsb3NlbHkpaChhcyllKHApcyhvc3NpYmxlLClnKHdoaWxlKWgoY29uZm9ybWluZylmKHRvKWgKKyh0aGUpZyBGbChwb3NpeCllIEZ0KHN0YW5kYXJkKWgoYXMpaCh3KW0oZWxsLikyNzUgMTM3NgoreShXaGVuKTUwIGIoaW4pbSh2KW0ob2spbShlZClqKGFzKWYoYW4pZihpbiltKHRlcmFjdGl2KW0oZSlqKGxvZ2luKWUKKyhzaGVsbCwpNTcgYihvcik1MSBiKGFzKWcoYSloKG5vbi1pbiltKHRlcmFjdGl2KW0oZSloKHNoZWxsKWYod2l0aClmCisodGhlKTE1MCAxNDg2IHkoYClwIEZzKC0tbG9naW4pcCBGdCgnKTM5IGIob3B0aW9uLClrKGl0KWUoXDAxNHJzdCllCisoYXR0ZW1wdHMpaSh0bylnKHJlYWQpZihhbmQpZyhleGVjdXRlKWgoY29tbWFuZHMpZihmcm9tKWcoYClwCitGcygvZXRjL3Byb2ZpbGUpcCBGdCgnKTE1MCAxNTk2IHkoYW5kKWQoYClwIEZzKH4vLnByb2ZpbGUpcAorRnQoJywpZyhpbilnKHRoYXQpaChvcmRlci4pNjIgYihUaGUpMzcgYihgKXAgRnMoLS1ub3Byb2ZpbGUpcAorRnQoJyllKG9wdGlvbilqKG1hKW0oeSlnKGIpcyhlKWYodXNlZClnKHRvKWgoaW5oaWJpdClmKHRoaXMpMTUwCisxNzA1IHkoYilzKGVoYSltKHZpb3IuKTgyIGIoV2hlbik0NCBiKGluKW0odiltKG9rKW0oZWQpaChhcylnKGFuKWYoaW4pbQorKHRlcmFjdGl2KW0oZSlqKHNoZWxsKWQod2l0aClnKHRoZSlnKG5hbWUpZyBGcyhzaClwIEZ0KCwpaihCYXNoKWQobG8pcworKG9rcyloKGZvcilmKHRoZSkxNTAgMTgxNSB5KHYpLTUgYihhcmlhYmxlKTM3IGIgRnMoRU5WKXAKK0Z0KCwpZyhleHBhbmRzKWUoaXRzKWkodiktNSBiKGFsdWUpMzYgYihpZilnKGl0KWgoaXMpZihkZVwwMTRuZWQsKWgKKyhhbmQpZSh1c2VzKWgodGhlKWcoZXhwYW5kZWQpZyh2KS01IGIoYWx1ZSkzNiBiKGFzKWgodGhlKWYobmFtZSkxNTAKKzE5MjQgeShvZilpKGEpaChcMDE0bGUpZyh0bylnKHJlYWQpZihhbmQpZyhleGVjdXRlLik2NgorYihTaW5jZSkzOCBiKGEpaChzaGVsbClmKGluKW0odiltKG9rKW0oZWQpaShhcylmIEZzKHNoKWUKK0Z0KGRvKXMoZXMpaChub3QpaChhdHRlbXB0KWcodG8pZyhyZWFkKWcoYW5kKTE1MCAyMDM0Cit5KGV4ZWN1dGUpaShjb21tYW5kcyllKGZyb20pZyhhbiltKHkpaChvdGhlcilnKHN0YXJ0dXApZihcMDE0bGVzLClqCisodGhlKWUoYClwIEZzKC0tcmNmaWxlKXAgRnQoJylkKG9wdGlvbilqKGhhcylnKG5vKWYoZVwwMTNlY3QuKTcwCitiKEEpMTUwIDIxNDMgeShub24taW4pbSh0ZXJhY3RpdiltKGUpMzIgYihzaGVsbClkKGluKW0odiltKG9rKW0oZWQpaAorKHdpdGgpZih0aGUpZyhuYW1lKWcgRnMoc2gpZiBGdChkbylzKGVzKWcobm90KWkoYXR0ZW1wdClnKHRvKWYocmVhZClnCisoYW4pbSh5KWcob3RoZXIpZyhzdGFydHVwKTE1MCAyMjUzIHkoXDAxNGxlcy4pMjc1IDI0MTUKK3koV2hlbiloKGluKW0odiltKG9rKW0oZWQpaChhcylnIEZzKHNoKXAgRnQoLClmKEJhc2gpaChlbiltKHRlcnMpZworRmwocG9zaXgpZSBGdChtbylzKGRlKWgoYWZ0ZXIpaCh0aGUpZyhzdGFydHVwKWYoXDAxNGxlcylnKGFyZSloKHJlYWQuKQorMTUwIDI2NDEgeSBGaihJbiltKHYpbShvayltKGVkKTQwIGIoaW4paCBGZyhwb3NpeClnIEZqKG1vKXMoZGUpMTUwCisyNzg4IHkgRnQoV2hlbikyNSBiKEJhc2gpZyhpcyloKHN0YXJ0ZWQpZihpbilnIEZsKHBvc2l4KWcKK0Z0KG1vKXMoZGUsKWgoYXMpZih3aXRoKWcodGhlKWgoYClwIEZzKC0tcG9zaXgpcCBGdCgnKWQoY29tbWFuZClpKGxpbmUpCitoKG9wdGlvbiwpaChpdClmKGZvbGxvKW0od3MpMTUwIDI4OTggeSh0aGUpZSBGbChwb3NpeClmCitGdChzdGFuZGFyZCloKGZvcilmKHN0YXJ0dXApaChcMDE0bGVzLikzOCBiKEluKTI0IGIodGhpcylnKG1vKXMoZGUsKWgKKyhpbiltKHRlcmFjdGl2KW0oZSlpKHNoZWxscylkKGV4cGFuZClmKHRoZSloIEZzKEVOVilmCitGdCh2KS01IGIoYXJpYWJsZSkxNTAgMzAwNyB5KGFuZCkzMCBiKGNvbW1hbmRzKWcoYXJlKWcocmVhZCloKGFuZCllCisoZXhlY3V0ZWQpaihmcm9tKWQodGhlKWkoXDAxNGxlKWYod2hvc2UpZyhuYW1lKWgoaXMpZih0aGUpaChleHBhbmRlZCllCisodiktNSBiKGFsdWUuKTQxIGIoTm8pMTUwIDMxMTcgeShvdGhlcikzMSBiKHN0YXJ0dXApZihcMDE0bGVzKWcoYXJlKWgKKyhyZWFkLikxNTAgMzM0MyB5IEZqKEluKW0odiltKG9rKW0oZWQpNDAgYihiKW0oeSlnKHJlbW90ZSloKHNoZWxsKWgKKyhkYWVtb24pMTUwIDM0OTAgeSBGdChCYXNoKTM2IGIoYXR0ZW1wdHMpaCh0bylnKGRldGVybWluZSlmKHdoZW4pZihpdClpCisoaXMpZihiKXMoZWluZylnKHJ1billKHdpdGgpaShpdHMpZyhzdGFuZGFyZClnKGlucHV0KWYoY29ubmVjdGVkKWkodG8pZworKGEpMTUwIDM2MDAgeShuZXQpbSh3KW0ob3JrKWgoY29ubmVjdGlvbiwpaihhcyljKHdoZW4pZyhleGVjdXRlZCloKGIpbQorKHkpZih0aGUpaChyZW1vdGUpZyhzaGVsbClnKGRhZW1vbiwpaCh1c3VhbGx5KWUgRnMocnNoZClwCitGdCgsKWgob3IpZyh0aGUpMTUwIDM3MDkgeShzZWN1cmUpYyhzaGVsbClmKGRhZW1vbiloCitGcyhzc2hkKXAgRnQoLik0OSBiKElmKTMzIGIoQmFzaClnKGRldGVybWluZXMpaChpdClnKGlzKWYoYilzKGVpbmcpZworKHJ1bilmKGluKWkodGhpcylmKGZhc2hpb24sKWgoaXQpZyhyZWFkcylnKGFuZCkxNTAgMzgxOQoreShleGVjdXRlcyk0MiBiKGNvbW1hbmRzKWUoZnJvbSlnKGApcCBGcyh+Ly5iYXNocmMpcAorRnQoJywpaChpZilnKHRoYXQpZyhcMDE0bGUpZihleGlzdHMpaShhbmQpZShpcylnKHJlYWRhYmxlLik3MgorYihJdCk0MCBiKHdpbGwpaChub3QpZyhkbykxNTAgMzkyOSB5KHRoaXMpMzUgYihpZilnKGluKW0odiltKG9rKW0oZWQpaQorKGFzKWYgRnMoc2gpcCBGdCguKTU1IGIoVGhlKTM0IGIoYClwIEZzKC0tbm9yYylwIEZ0KCcpZyhvcHRpb24paShtYSltCisoeSlnKGIpcyhlKWYodXNlZClmKHRvKWkoaW5oaWJpdClmKHRoaXMpZyhiKXMoZWhhKW0odmlvciwpaShhbmQpZSh0aGUpCisxNTAgNDAzOCB5KGApcCBGcygtLXJjZmlsZSlwIEZ0KCcpMjUgYihvcHRpb24paShtYSltKHkpZyhiKXMoZSlmKHVzZWQpZworKHRvKWkoZm9yY2UpZihhbm90aGVyKWcoXDAxNGxlKWcodG8pZyhiKXMoZSlmKHJlYWQsKWkoYnV0KWUKK0ZzKHJzaGQpZiBGdChkbylzKGVzKWkobm90KWcoZ2VuZXJhbGx5KTE1MCA0MTQ4IHkoaW4pbSh2KW0ob2spbShlKTMyCitiKHRoZSlmKHNoZWxsKWYod2l0aCloKHRob3NlKWYob3B0aW9ucyloKG9yKWYoYWxsbyltKHcpaSh0aGVtKWYodG8pZyhiKQorcyhlKWUoc3ApcyhlY2lcMDE0ZWQuKTE1MCA0Mzc0IHkgRmooSW4pbSh2KW0ob2spbShlZCk0MAorYih3aXRoKWcodW5lcXVhbCloKGVcMDEzZWN0aXYpbShlKWUoYW5kKWkocmVhbClnIEZnKHVpZC9naWQpcAorRmoocykxNTAgNDUyMSB5IEZ0KElmKTM0IGIoQmFzaCloKGlzKWcoc3RhcnRlZClnKHdpdGgpZih0aGUpaAorKGVcMDEzZWN0aXYpbShlKWkodXNlcilkKFwoZ3JvdXBcKSloKGlkKWYobm90KWgoZXF1YWwpZyh0bylnKHRoZSlnCisocmVhbClnKHVzZXIpZihcKGdyb3VwXCkpaChpZCwpMTUwIDQ2MzEgeShhbmQpMjYgYih0aGUpaQorRnMoLXApZSBGdChvcHRpb24paChpcylnKG5vdCloKHN1cHBsaWVkLCllKG5vKWgoc3RhcnR1cClnKFwwMTRsZXMpZworKGFyZSlnKHJlYWQsKWgoc2hlbGwpZihmdW5jdGlvbnMpZyhhcmUpZyhub3QpZyhpbmhlcml0ZWQpMTUwCis0NzQwIHkoZnJvbSk0MSBiKHRoZSlnKGVuKW0odmlyb25tZW4pbSh0LClqKHRoZSlkIEZzKFNIRUxMT1BUUylwCitGdCgsKWggRnMoQkFTSE9QVFMpcCBGdCgsKWcgRnMoQ0RQQVRIKXAgRnQoLClnKGFuZCllCitGcyhHTE9CSUdOT1JFKWUgRnQodiktNSBiKGFyaWFibGVzLCk0NSBiKGlmKTE1MCA0ODUwCit5KHRoZXkpMjggYihhcHApcyhlYXIpZihpbiloKHRoZSlnKGVuKW0odmlyb25tZW4pbSh0LClpKGFyZSllKGlnbm9yZWQsKQoraChhbmQpZSh0aGUpaChlXDAxM2VjdGl2KW0oZSlqKHVzZXIpYyhpZCloKGlzKWcoc2V0KWcodG8paCh0aGUpZihyZWFsKWgKKyh1c2VyKTE1MCA0OTU5IHkoaWQuKTYyIGIoSWYpMzggYih0aGUpZiBGcygtcCloIEZ0KG9wdGlvbilnKGlzKWYKKyhzdXBwbGllZClnKGF0KWgoaW4pbSh2KW0obylzKGNhdGlvbiwpayh0aGUpYyhzdGFydHVwKWYoYilzKGVoYSltKHZpb3IpCitoKGlzKWcodGhlKWcoc2FtZSwpaShidXQpZCh0aGUpMTUwIDUwNjkgeShlXDAxM2VjdGl2KW0oZSljKHVzZXIpZChpZClnCisoaXMpZyhub3QpaChyZXNldC4pMTUwIDUzNDIgeSBGcig2LjMpNjggYihJbilsKHRlcmFjdGl2KWwoZSk0NworYihTaGVsbHMpcCBlb3AgZW5kCislJVBhZ2U6IDc3IDgzCitUZVhEaWN0IGJlZ2luIDc3IDgyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig2Oik0MQorYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDc3KTE1MCAyOTkgeSBGaig2LjMuMSk2MworYihXaGF0KTQwIGIoaXMpaChhbilnKEluKW0odGVyYWN0aXYpbShlKWUoU2hlbGw/KTE1MAorNDQ2IHkgRnQoQW4pYyhpbiltKHRlcmFjdGl2KW0oZSlrKHNoZWxsKWQoaXMpZyhvbmUpZyhzdGFydGVkKWcod2l0aG91dCkKK2Yobm9uLW9wdGlvbiloKGFyZ3VtZW4pbSh0cywpaSh1bmxlc3MpZChgKXAgRnMoLXMpcCBGdCgnKWgoaXMpZihzcClzCisoZWNpXDAxNGVkLCkxNTAgNTU1IHkod2l0aG91dClmKHNwKXMoZWNpZnlpbmcpaCh0aGUpZihgKXAKK0ZzKC1jKXAgRnQoJylnKG9wdGlvbiwpaihhbmQpYyh3aG9zZSloKGlucHV0KWcoYW5kKWcoZXJyb3IpZyhvdXRwdXQpZworKGFyZSlnKGIpcyhvdGgpZyhjb25uZWN0ZWQpMTUwIDY2NSB5KHRvKWQodGVybWluYWxzKWcoXChhcylnCisoZGV0ZXJtaW5lZClmKGIpbSh5KWcgRnMoaXNhdHR5XCgzXCkpcCBGdChcKSwpZihvciloKG9uZSloKHN0YXJ0ZWQpZgorKHdpdGgpZyh0aGUpaChgKXAgRnMoLWkpcCBGdCgnKWYob3B0aW9uLikyNzUgNzk3IHkoQW4pZyhpbiltKHRlcmFjdGl2KW0KKyhlKWooc2hlbGwpZChnZW5lcmFsbHkpaShyZWFkcyllKGZyb20pZyhhbmQpZyh3cml0ZXMpZyh0byloKGEpZyh1c2VyJ3MpCitmKHRlcm1pbmFsLikyNzUgOTI5IHkoVGhlKWUoYClwIEZzKC1zKXAgRnQoJylpKGluKW0odiltKG8pcyhjYXRpb24paAorKG9wdGlvbilmKG1hKW0oeSlnKGIpcyhlKWYodXNlZClmKHRvKWkoc2V0KWcodGhlKWcocClzKG9zaXRpb25hbClnCisocGFyYW1ldGVycylmKHdoZW4pZyhhbilnKGluKW0odGVyLSkxNTAgMTAzOCB5KGFjdGl2KW0oZSlrKHNoZWxsKWQoaXMpaAorKHN0YXJ0ZWQuKTE1MCAxMjMyIHkgRmooNi4zLjIpNjMgYihJcyk0MSBiKHRoaXMpZyhTaGVsbClnKEluKW0KKyh0ZXJhY3RpdiltKGU/KTE1MCAxMzc5IHkgRnQoVCktOCBiKG8pMzAgYihkZXRlcm1pbmUpZyh3aXRoaW4pZihhKWgKKyhzdGFydHVwKWcoc2NyaXB0KWYod2hldGhlcilnKG9yKWgobm90KWcoQmFzaClnKGlzKWcocnVubmluZyllKGluKW0KKyh0ZXJhY3RpdiltKGVseSktOCBiKCwpMzMgYih0ZXN0KWUodGhlKTE1MCAxNDg5IHkodiktNQorYihhbHVlKTMwIGIob2YpZyh0aGUpZihgKXAgRnMoLSlwIEZ0KCcpaChzcClzKGVjaWFsKWcocGFyYW1ldGVyLik0MQorYihJdCkyOSBiKGNvbiltKHRhaW5zKWkgRnMoaSllIEZ0KHdoZW4pZyh0aGUpZyhzaGVsbCloKGlzKWYoaW4pbQorKHRlcmFjdGl2KW0oZS4pNDQgYihGKS04IGIob3IpMzAgYihleGFtcGxlOikzOTAgMTYyMQoreSBGcyhjYXNlKTQ3IGIoIiQtIilmKGluKTM5MCAxNzMwIHkoKmkqXCkpaChlY2hvKWYoVGhpcyloKHNoZWxsKWYoaXMpaAorKGludGVyYWN0aXZlKWUoOzspMzkwIDE4NDAgeSgqXCkpaShlY2hvKWcoVGhpcylmKHNoZWxsKWgoaXMpZyhub3QpZworKGludGVyYWN0aXZlKWUoOzspMzkwIDE5NDkgeShlc2FjKTI3NSAyMDgxIHkgRnQoQWx0ZXJuYXRpdiltKGVseSktOAorYigsKTI4IGIoc3RhcnR1cCkyMyBiKHNjcmlwdHMpaChtYSltKHkpZyhleGFtaW5lKWcodGhlKWcodiktNQorYihhcmlhYmxlKTI1IGIgRnMoUFMxKXAgRnQoOylnKGl0KWcoaXMpZSh1bnNldCloKGluKWYobm9uLWluKW0KKyh0ZXJhY3RpdiltKGUpMTUwIDIxOTEgeShzaGVsbHMsKTMxIGIoYW5kKWUoc2V0KWkoaW4pZihpbiltKHRlcmFjdGl2KW0KKyhlKWsoc2hlbGxzLik0MCBiKFRoKW0odXM6KTM5MCAyMzIzIHkgRnMoaWYpNDcgYihbKWgoLXopZigiJFBTMSIpZihdOyloCisodGhlbik3NzIgMjQzMiB5KGVjaG8pZihUaGlzKWgoc2hlbGwpZihpcylpKG5vdClmKGludGVyYWN0aXZlKTM5MAorMjU0MiB5KGVsc2UpNzcyIDI2NTEgeShlY2hvKWYoVGhpcyloKHNoZWxsKWYoaXMpaShpbnRlcmFjdGl2ZSkzOTAKKzI3NjEgeShmaSkxNTAgMjk1NSB5IEZqKDYuMy4zKTYzIGIoSW4pbSh0ZXJhY3RpdiltKGUpMzgKK2IoU2hlbGwpayhCZWhhKW0odmlvcikxNTAgMzEwMiB5IEZ0KFdoZW4pMzAgYih0aGUpaChzaGVsbClmKGlzKWgKKyhydW5uaW5nKWQoaW4pbSh0ZXJhY3RpdiltKGVseSktOCBiKCwpMzQgYihpdClkKGMpbShoYW5nZXMpaChpdHMpZihiKXMKKyhlaGEpbSh2aW9yKWYoaW4pZyhzZXYpbShlcmFsKWkodyltKGEpbSh5cy4pMTk5IDMyMzQKK3koMS4pNjEgYihTdGFydHVwKTM3IGIoXDAxNGxlcylnKGFyZSloKHJlYWQpZihhbmQpZyhleGVjdXRlZCloKGFzKWYKKyhkZXNjcmliKXMoZWQpZyhpbilnKFNlY3Rpb24paCg2LjIpZyhbQmFzaClnKFN0YXJ0dXApZShGaWxlc10sKTMzMAorMzM0MyB5KHBhZ2UpMzEgYig3NS4pMTk5IDM0NzUgeSgyLik2MSBiKEpvYikzNSBiKENvbiltKHRyb2wpZyhcKHNlZSloCisoQ2hhcHRlcilmKDcpZyhbSm9iKWcoQ29uKW0odHJvbF0sKWkocGFnZSlmKDkxXCkpZyhpcylmKGVuYWJsZWQpZyhiKW0KKyh5KWcoZGVmYXVsdC4pNTUgYihXaGVuKTM0IGIoam9iKTMzMCAzNTg1IHkoY29uKW0odHJvbCloKGlzKWYoaW4pZgorKGVcMDEzZWN0LClrKEJhc2gpZChpZ25vcmVzKWcodGhlKWcoayltKGV5YilzKG9hcmQtZ2VuZXJhdGVkKWgoam9iKWUKKyhjb24pbSh0cm9sKWkoc2lnbmFscylnIEZzKFNJR1RUSU4pcCBGdCgsKTMzMCAzNjk0IHkKK0ZzKFNJR1RUT1UpcCBGdCgsKTI5IGIoYW5kKWcgRnMoU0lHVFNUUClwIEZ0KC4pMTk5IDM4MjYKK3koMy4pNjEgYihCYXNoKTM5IGIoZXhwYW5kcylmKGFuZClnKGRpc3BsYSltKHlzKWggRnMoUFMxKWYKK0Z0KGIpcyhlZm9yZSloKHJlYWRpbmcpZyh0aGUpZyhcMDE0cnN0KWYobGluZSloKG9mKWcoYSlnKGNvbW1hbmQsKWkKKyhhbmQpZChleC0pMzMwIDM5MzYgeShwYW5kcykzMCBiKGFuZClnKGRpc3BsYSltKHlzKWgKK0ZzKFBTMillIEZ0KGIpcyhlZm9yZSlpKHJlYWRpbmcpZyh0aGUpZyhzZWNvbmQpZihhbmQpaChzdWJzZXF1ZW4pbSh0KWYKKyhsaW5lcyloKG9mKWcoYSlnKG0pbSh1bHRpLWxpbmUpMzMwIDQwNDUgeShjb21tYW5kLikxOTkKKzQxNzcgeSg0Lik2MSBiKEJhc2gpMjYgYihleGVjdXRlcylpKHRoZSllKHYpLTUgYihhbHVlKTI3CitiKG9mKWYodGhlKWggRnMoUFJPTVBUX0NPTU1BTkQpMjIgYiBGdCh2KS01IGIoYXJpYWJsZSkyNworYihhcylnKGEpZihjb21tYW5kKWcoYilzKGVmb3JlKWcocHJpbiltKHRpbmcpMzMwIDQyODcKK3kodGhlKTMxIGIocHJpbWFyeSllKHByb21wdCwpaCBGcygkUFMxKWYgRnQoXChzZWUpaShTZWN0aW9uKWcoNS4yKWgKKyhbQmFzaClmKFYpLTggYihhcmlhYmxlc10sKTMyIGIocGFnZSlmKDYzXCkuKTE5OSA0NDE5Cit5KDUuKTYxIGIoUmVhZGxpbmUpMzAgYihcKHNlZSloKENoYXB0ZXIpZSg4KWgoW0NvbW1hbmQpZShMaW5lKWkKKyhFZGl0aW5nXSwpZyhwYWdlKWcoOTVcKSloKGlzKWYodXNlZClmKHRvKWgocmVhZClmKGNvbW1hbmRzKTMzMAorNDUyOCB5KGZyb20paCh0aGUpZyh1c2VyJ3MpZyh0ZXJtaW5hbC4pMTk5IDQ2NjAgeSg2Lik2MQorYihCYXNoKTM2IGIoaW5zcClzKGVjdHMpZyh0aGUpaCh2KS01IGIoYWx1ZSkzNyBiKG9mKWYodGhlKWcKK0ZzKGlnbm9yZWVvZillIEZ0KG9wdGlvbilqKHRvKWcgRnMoc2V0KTI5IGIoLW8pMzYgYiBGdChpbnN0ZWFkKWgob2YpZgorKGV4aXRpbmcpaShpbW1lLSkzMzAgNDc3MCB5KGRpYXRlbHkpZih3aGVuKWUoaXQpaShyZWNlaXYpbShlcyloKGFuKWUKK0ZzKEVPRilmIEZ0KG9uKWgoaXRzKWcoc3RhbmRhcmQpZihpbnB1dClnKHdoZW4paChyZWFkaW5nKWcoYSlnKGNvbW1hbmQpCitnKFwoc2VlKTMzMCA0ODc5IHkoU2VjdGlvbikzMSBiKDQuMy4xKWgoW1RoZSllKFNldCloKEJ1aWx0aW5dLClnKHBhZ2UpZworKDU0XCkuKTE5OSA1MDExIHkoNy4pNjEgYihDb21tYW5kKTQzIGIoaGlzdG9yeSloKFwoc2VlKWgoU2VjdGlvbilnKDkuMSkKK2coW0Jhc2gpZihIaXN0b3J5KWgoRiktOCBiKGFjaWxpdGllc10sKTUxIGIocGFnZSk0NSBiKDEyNVwpKWgoYW5kKWQKKyhoaXN0b3J5KTMzMCA1MTIxIHkoZXhwYW5zaW9uKTIzIGIoXChzZWUpaShTZWN0aW9uKWYoOS4zKWgoW0hpc3RvcnkpZgorKEluKW0odGVyYWN0aW9uXSwpaihwYWdlKWQoMTI3XCkpaChhcmUpZihlbmFibGVkKWcoYiltKHkpZihkZWZhdWx0LikzOQorYihCYXNoKTMzMCA1MjMwIHkod2lsbCkyMyBiKHNhKW0odiltKGUpaSh0aGUpZShjb21tYW5kKWYoaGlzdG9yeSloKHRvKWgKKyh0aGUpZihcMDE0bGUpZyhuYW1lZClmKGIpbSh5KWggRnMoJEhJU1RGSUxFKWQgRnQod2hlbilpKGFuKWgoaW4pbQorKHRlcmFjdGl2KW0oZSlqKHNoZWxsKTMzMCA1MzQwIHkoZXhpdHMuKXAgZW9wIGVuZAorJSVQYWdlOiA3OCA4NAorVGVYRGljdCBiZWdpbiA3OCA4MyBib3AgMTUwIC0xMTYgYSBGdCg3OCkyNTcyIGIoQmFzaCkzMQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTk5IDI5OSB5KDguKTYxIGIoQWxpYXMpMzEgYihleHBhbnNpb24pZyhcKHNlZSkKK2coU2VjdGlvbilnKDYuNilnKFtBbGlhc2VzXSwpaShwYWdlKWUoODFcKSloKGlzKWUocClzKGVyZm9ybWVkKWYoYiltKHkpCitoKGRlZmF1bHQuKTE5OSA0MzEgeSg5Lik2MSBiKEluKTI0IGIodGhlKWcoYWJzZW5jZSloKG9mKWYoYW4pbSh5KWgKKyh0cmFwcywpZyhCYXNoKWcoaWdub3JlcylmIEZzKFNJR1RFUk0pZiBGdChcKHNlZSlpKFNlY3Rpb24pZygzLjcuNiloCisoW1NpZ25hbHNdLClnKHBhZ2UpZigzNFwpLikxNTQgNTYzIHkoMTAuKTYxIGIoSW4pMjYgYih0aGUpaChhYnNlbmNlKWgKKyhvZilmKGFuKW0oeSlnKHRyYXBzLClnIEZzKFNJR0lOVCllIEZ0KGlzKWkoY2F1Z2gpbSh0KWgoYW5kKWYoaGFuZGxlZCllCisoXChcKHNlZSlrKFNlY3Rpb24pZSgzLjcuNilpKFtTaWduYWxzXSwpMzMwIDY3MiB5KHBhZ2UpaSgzNFwpLik0MgogYiBGcyhTSUdJTlQpMjkgYiBGdCh3aWxsKWgoaW4pbSh0ZXJydXB0KWcoc29tZSloKHNoZWxsKWcoYnVpbHRpbnMuKTE1NAotMTA1OCB5KDExLik2MSBiKEFuKTQwIGIoaW4pbSh0ZXJhY3RpdiltKGUpaihsb2dpbillKHNoZWxsKWcoc2VuZHMpZShhKWkKKzgwNCB5KDExLik2MSBiKEFuKTQwIGIoaW4pbSh0ZXJhY3RpdiltKGUpaihsb2dpbillKHNoZWxsKWcoc2VuZHMpZShhKWkKIEZzKFNJR0hVUClkIEZ0KHRvKWooYWxsKWcoam9icylmKG9uKWcoZXhpdCloKGlmKWcodGhlKWYKLUZzKGh1cG9uZXhpdCllIEZ0KHNoZWxsKTMzMCAxMTY3IHkob3B0aW9uKTMxIGIoaGFzKWYoYilzKGVlbilnKGVuYWJsZWQpCi1nKFwoc2VlKWgoU2VjdGlvbilnKDMuNy42KWkoW1NpZ25hbHNdLCllKHBhZ2UpZygzMlwpLikxNTQKLTEzMDIgeSgxMi4pNjEgYihUaGUpMjYgYihgKXAgRnMoLW4pcCBGdCgnKWYoaW4pbSh2KW0obylzKGNhdGlvbilrCitGcyhodXBvbmV4aXQpZSBGdChzaGVsbCkzMzAgOTE0IHkob3B0aW9uKTMxIGIoaGFzKWYoYilzKGVlbilnKGVuYWJsZWQpZworKFwoc2VlKWgoU2VjdGlvbilnKDMuNy42KWkoW1NpZ25hbHNdLCllKHBhZ2UpZygzNFwpLikxNTQKKzEwNDYgeSgxMi4pNjEgYihUaGUpMjYgYihgKXAgRnMoLW4pcCBGdCgnKWYoaW4pbSh2KW0obylzKGNhdGlvbilrCiAob3B0aW9uKWQoaXMpZyhpZ25vcmVkLCloKGFuZClmKGApcCBGcyhzZXQpaygtbilwIEZ0KCcpMjUKIGIoaGFzKWgobm8pZyhlXDAxM2VjdClpKFwoc2VlKWUoU2VjdGlvbiloKDQuMy4xKWgoW1RoZSkzMzAKLTE0MTIgeShTZXQpaihCdWlsdGluXSwpZyhwYWdlKWcoNTFcKS4pMTU0IDE1NDcgeSgxMy4pNjEKKzExNTUgeShTZXQpaihCdWlsdGluXSwpZyhwYWdlKWcoNTRcKS4pMTU0IDEyODcgeSgxMy4pNjEKIGIoQmFzaCkzMiBiKHdpbGwpZyhjKW0oaGVjKW0oaylpKGZvcillKG1haWwpZyhwKXMoZXJpbylzKGRpY2FsbHkpLTgKIGIoLCkzNCBiKGRlcClzKGVuZGluZyljKG9uKWkodGhlKWcodiktNSBiKGFsdWVzKTMyIGIob2YpZyh0aGUpaAotRnMoTUFJTClwIEZ0KCwpZSBGcyhNQUlMUEFUSClwIEZ0KCwpMzMwIDE2NTYgeShhbmQpZgorRnMoTUFJTClwIEZ0KCwpZSBGcyhNQUlMUEFUSClwIEZ0KCwpMzMwIDEzOTcgeShhbmQpZgogRnMoTUFJTENIRUNLKWUgRnQoc2hlbGwpaSh2KS01IGIoYXJpYWJsZXMpMzEgYihcKHNlZSloKFNlY3Rpb24pZig1LjIpZwotKFtCYXNoKWcoViktOCBiKGFyaWFibGVzXSwpMzIgYihwYWdlKWYoNjFcKS4pMTU0IDE3OTEKKyhbQmFzaClnKFYpLTggYihhcmlhYmxlc10sKTMyIGIocGFnZSlmKDYzXCkuKTE1NCAxNTI4CiB5KDE0Lik2MSBiKEV4cGFuc2lvbikzMiBiKGVycm9ycyloKGR1ZSlmKHRvKWkocmVmZXJlbmNlcylmKHRvKWgodW4pbShiKQogcyhvdW5kKWMoc2hlbGwpaih2KS01IGIoYXJpYWJsZXMpMzQgYihhZnRlcilnKGApcCBGcyhzZXQpMjkKLWIoLXUpcCBGdCgnKWsoaGFzKWcoYilzKGVlbikzMzAgMTkwMSB5KGVuYWJsZWQpZCh3aWxsKWgobm90KWcoY2F1c2UpZworYigtdSlwIEZ0KCcpayhoYXMpZyhiKXMoZWVuKTMzMCAxNjM4IHkoZW5hYmxlZClkKHdpbGwpaChub3QpZyhjYXVzZSlnCiAodGhlKWYoc2hlbGwpaCh0bylnKGV4aXQpZyhcKHNlZSlnKFNlY3Rpb24paCg0LjMuMSlnKFtUaGUpZShTZXQpaAotKEJ1aWx0aW5dLClnKHBhZ2UpZyg1MVwpLikxNTQgMjAzNiB5KDE1Lik2MSBiKFRoZSk0OAorKEJ1aWx0aW5dLClnKHBhZ2UpZyg1NFwpLikxNTQgMTc3MCB5KDE1Lik2MSBiKFRoZSk0OAogYihzaGVsbCloKHdpbGwpZihub3QpaChleGl0KWcob24pZyhleHBhbnNpb24pZihlcnJvcnMpZyhjYXVzZWQpZyhiKW0oeSkKIGggRnEodiktNSBiKGFyKTU0IGIgRnQoYilzKGVpbmcpNDggYih1bnNldClnKG9yKWgobiltKHVsbClmKGluKTMzMAotMjE0NiB5IEZzKCR7KXAgRmkodmFyKTExIGIgRnMoOj8pcCBGaSh3b3JkKWcgRnMofSkyNgorMTg3OSB5IEZzKCR7KXAgRmkodmFyKTExIGIgRnMoOj8pcCBGaSh3b3JkKWcgRnMofSkyNgogYiBGdChleHBhbnNpb25zKWsoXChzZWUpaChTZWN0aW9uKWgoMy41LjMpZyhbU2hlbGwpZShQKW0oYXJhbWV0ZXIpaQotKEV4cGFuc2lvbl0sKWUocGFnZSloKDE5XCkuKTE1NCAyMjgwIHkoMTYuKTYxIGIoUmVkaXJlY3Rpb24pMzEKKyhFeHBhbnNpb25dLCllKHBhZ2UpaCgyMVwpLikxNTQgMjAxMSB5KDE2Lik2MSBiKFJlZGlyZWN0aW9uKTMxCiBiKGVycm9ycylmKGVuY291biltKHRlcmVkKWgoYiltKHkpZihzaGVsbCloKGJ1aWx0aW5zKWYod2lsbClnKG5vdCloCi0oY2F1c2UpZyh0aGUpZihzaGVsbCloKHRvKWcoZXhpdC4pMTU0IDI0MTUgeSgxNy4pNjEgYihXaGVuKTI2CisoY2F1c2UpZyh0aGUpZihzaGVsbCloKHRvKWcoZXhpdC4pMTU0IDIxNDMgeSgxNy4pNjEgYihXaGVuKTI2CiBiKHJ1bm5pbmcpZihpbilpIEZsKHBvc2l4KWUgRnQobW8pcyhkZSwpaihhKWYoc3ApcyhlY2lhbClnKGJ1aWx0aW4pZgogKHJldHVybmluZylnKGFuKWcoZXJyb3IpaChzdGF0dXMpZyh3aWxsKWcobm90KWYoY2F1c2UpMzMwCi0yNTI1IHkodGhlKTMxIGIoc2hlbGwpZih0byloKGV4aXQpaChcKHNlZSlmKFNlY3Rpb24pZyg2LjExKWgoW0Jhc2gpZgotKFBPU0lYKWUoTW8pcyhkZV0sKWkocGFnZSlnKDg0XCkuKTE1NCAyNjYwIHkoMTguKTYxIGIoQSkzNAorMjI1MyB5KHRoZSkzMSBiKHNoZWxsKWYodG8paChleGl0KWgoXChzZWUpZihTZWN0aW9uKWcoNi4xMSloKFtCYXNoKWYKKyhQT1NJWCllKE1vKXMoZGVdLClpKHBhZ2UpZyg4NlwpLikxNTQgMjM4NSB5KDE4Lik2MSBiKEEpMzQKIGIoZmFpbGVkKWcgRnMoZXhlYylmIEZ0KHdpbGwpaChub3QpZyhjYXVzZSlnKHRoZSlnKHNoZWxsKWcodG8pZyhleGl0KWgKIChcKHNlZSlmKFNlY3Rpb24paCg0LjEpZyhbQm91cm5lKWYoU2hlbGwpZihCdWlsdGluc10sKTMzMAotMjc3MCB5KHBhZ2UpZSgzNVwpLikxNTQgMjkwNCB5KDE5Lik2MSBiKFApbShhcnNlcikzMQorMjQ5NCB5KHBhZ2UpZSgzN1wpLikxNTQgMjYyNiB5KDE5Lik2MSBiKFApbShhcnNlcikzMQogYihzeW4pbSh0YXgpZihlcnJvcnMpZyh3aWxsKWgobm90KWcoY2F1c2UpZyh0aGUpZihzaGVsbCloKHRvKWcoZXhpdC4pCi0xNTQgMzAzOSB5KDIwLik2MSBiKFNpbXBsZSkyMSBiKHNwKXMoZWxsaW5nKWgoY29ycmVjdGlvbilnKGZvcilnCisxNTQgMjc1OCB5KDIwLik2MSBiKFNpbXBsZSkyMSBiKHNwKXMoZWxsaW5nKWgoY29ycmVjdGlvbilnKGZvcilnCiAoZGlyZWN0b3J5KWcoYXJndW1lbiltKHRzKWYodG8paSh0aGUpZSBGcyhjZClnIEZ0KGJ1aWx0aW4pZyhpcyloCi0oZW5hYmxlZClmKGIpbSh5KWgoZGVmYXVsdCkzMzAgMzE0OSB5KFwoc2VlKTM1IGIodGhlKWcoZGVzY3JpcHRpb24pZgorKGVuYWJsZWQpZihiKW0oeSloKGRlZmF1bHQpMzMwIDI4NjggeShcKHNlZSkzNSBiKHRoZSlnKGRlc2NyaXB0aW9uKWYKIChvZiloKHRoZSlmIEZzKGNkc3BlbGwpZiBGdChvcHRpb24paCh0bylpKHRoZSllIEZzKHNob3B0KWYKLUZ0KGJ1aWx0aW4paChpbilnKFNlY3Rpb24paCg0LjMuMiloKFtUaGUpMzMwIDMyNTkgeShTaG9wdCkzMAotYihCdWlsdGluXSwpaChwYWdlKWcoNTVcKS4pMTU0IDMzOTQgeSgyMS4pNjEgYihUaGUpNDIKK0Z0KGJ1aWx0aW4paChpbilnKFNlY3Rpb24paCg0LjMuMiloKFtUaGUpMzMwIDI5NzcgeShTaG9wdCkzMAorYihCdWlsdGluXSwpaChwYWdlKWcoNTdcKS4pMTU0IDMxMDkgeSgyMS4pNjEgYihUaGUpNDIKIGIoc2hlbGwpaCh3aWxsKWcoYyltKGhlYyltKGspaCh0aGUpZih2KS01IGIoYWx1ZSk0MyBiKG9mKWYodGhlKWgKIEZzKFRNT1VUKWUgRnQodiktNSBiKGFyaWFibGUpNDQgYihhbmQpZShleGl0KWgoaWYpZyhhKWcoY29tbWFuZClmKGlzKWgKLShub3QpMzMwIDM1MDMgeShyZWFkKTMwIGIod2l0aGluKWcodGhlKWcoc3ApcyhlY2lcMDE0ZWQpZihuKW0odW0pbShiKXMKKyhub3QpMzMwIDMyMTkgeShyZWFkKTMwIGIod2l0aGluKWcodGhlKWcoc3ApcyhlY2lcMDE0ZWQpZihuKW0odW0pbShiKXMKIChlcilnKG9mKWkoc2Vjb25kcylmKGFmdGVyKWcocHJpbiltKHRpbmcpZyBGcygkUFMxKWYKLUZ0KFwoc2VlKWkoU2VjdGlvbilnKDUuMiloKFtCYXNoKTMzMCAzNjEzIHkoViktOCBiKGFyaWFibGVzXSwpMzIKLWIocGFnZSlmKDYxXCkuKTE1MCAzODQ3IHkgRnIoNi40KTY4IGIoQmFzaCk0NSBiKENvbmRpdGlvbmFsKWgKLShFeHByZXNzaW9ucykxNTAgNDAwNiB5IEZ0KENvbmRpdGlvbmFsKTI2IGIoZXhwcmVzc2lvbnMpZyhhcmUpZyh1c2VkKWYKK0Z0KFwoc2VlKWkoU2VjdGlvbilnKDUuMiloKFtCYXNoKTMzMCAzMzI4IHkoViktOCBiKGFyaWFibGVzXSwpMzIKK2IocGFnZSlmKDYzXCkuKTE1MCAzNTU1IHkgRnIoNi40KTY4IGIoQmFzaCk0NSBiKENvbmRpdGlvbmFsKWgKKyhFeHByZXNzaW9ucykxNTAgMzcxNSB5IEZ0KENvbmRpdGlvbmFsKTI2IGIoZXhwcmVzc2lvbnMpZyhhcmUpZyh1c2VkKWYKIChiKW0oeSlnKHRoZSloIEZzKFtbKWYgRnQoY29tcClzKG91bmQpZyhjb21tYW5kKWcoYW5kKWcodGhlKWgKLUZzKHRlc3QpZiBGdChhbmQpZyBGcyhbKWcgRnQoYnVpbHRpbikxNTAgNDExNiB5KGNvbW1hbmRzLikyNzUKLTQyNTEgeShFeHByZXNzaW9ucykzMiBiKG1hKW0oeSloKGIpcyhlKWcodW5hcnkpZihvciloKGJpbmFyeSktOAorRnModGVzdClmIEZ0KGFuZClnIEZzKFspZyBGdChidWlsdGluKTE1MCAzODI0IHkoY29tbWFuZHMuKTI3NQorMzk1NiB5KEV4cHJlc3Npb25zKTMyIGIobWEpbSh5KWgoYilzKGUpZyh1bmFyeSlmKG9yKWgoYmluYXJ5KS04CiBiKC4pNDggYihVbmFyeSkzMyBiKGV4cHJlc3Npb25zKWYoYXJlKWkob2Z0ZW4pZih1c2VkKWYodG8paShleGFtaW5lKWcKLSh0aGUpMTUwIDQzNjEgeShzdGF0dXMpMjYgYihvZilnKGEpaChcMDE0bGUuKTM5IGIoVGhlcmUpMjYKKyh0aGUpMTUwIDQwNjYgeShzdGF0dXMpMjYgYihvZilnKGEpaChcMDE0bGUuKTM5IGIoVGhlcmUpMjYKIGIoYXJlKWcoc3RyaW5nKWcob3ApcyhlcmF0b3JzKWcoYW5kKWcobiltKHVtZXJpYylmKGNvbXBhcmlzb24paShvcClzCi0oZXJhdG9ycylmKGFzKWcodyltKGVsbC4pNDAgYihJZikyNiBiKHRoZSkxNTAgNDQ3MCB5CisoZXJhdG9ycylmKGFzKWcodyltKGVsbC4pNDAgYihJZikyNiBiKHRoZSkxNTAgNDE3NSB5CiBGcShcMDE0bGUpMzggYiBGdChhcmd1bWVuKW0odCljKHRvKWYob25lKWgob2YpZih0aGUpZyhwcmltYXJpZXMpZyhpcylnCiAob2YpZyh0aGUpZyhmb3JtKWcoYClwIEZzKC9kZXYvZmQvKXAgRmkoTikxMSBiIEZ0KCcsKTMxCi1iKHRoZW4paShcMDE0bGUpZyhkZXNjcmlwdG9yKWcgRnEoTik0MyBiIEZ0KGlzKTE1MCA0NTgwCitiKHRoZW4paShcMDE0bGUpZyhkZXNjcmlwdG9yKWcgRnEoTik0MyBiIEZ0KGlzKTE1MCA0Mjg1CiB5KGMpbShoZWMpbShrKW0oZWQuKWUoSWYpMjYgYih0aGUpZyBGcShcMDE0bGUpMzEgYiBGdChhcmd1bWVuKW0odCkyNgogYih0byloKG9uZSlmKG9mKWcodGhlKWgocHJpbWFyaWVzKWUoaXMpaChvbmUpZyhvZilnKGApcAogRnMoL2Rldi9zdGRpbilwIEZ0KCcsKWYoYClwIEZzKC9kZXYvc3Rkb3V0KXAgRnQoJywpMTUwCi00Njg5IHkob3IpMzAgYihgKXAgRnMoL2Rldi9zdGRlcnIpcCBGdCgnLCllKFwwMTRsZSlqKGRlc2NyaXB0b3IpZigwLCloCis0Mzk1IHkob3IpMzAgYihgKXAgRnMoL2Rldi9zdGRlcnIpcCBGdCgnLCllKFwwMTRsZSlqKGRlc2NyaXB0b3IpZigwLCloCiAoMSwpZyhvcilnKDIsKWcocmVzcClzKGVjdGl2KW0oZWx5KS04IGIoLCkzMiBiKGlzKWUoYyltKGhlYyltKGspbShlZC4pCi0yNzUgNDgyNSB5KFdoZW4paCh1c2VkKWcod2l0aClnKGApcCBGcyhbWylwIEZ0KCcsKWgoVGhlKWYoYClwCi1Gcyg8KXAgRnQoJyloKGFuZClmKGApcCBGcyg+KXAgRnQoJylnKG9wKXMoZXJhdG9ycyloKHNvcnQpZwotKGxleGljb2dyYXBoaWNhbGx5KWkodXNpbmcpZCh0aGUpaChjdXJyZW4pbSh0KTE1MCA0OTM0Ci15KGxvKXMoY2FsZS4pMjc1IDUwNzAgeShVbmxlc3MpNDQgYihvdGhlcndpc2UpaChzcClzKGVjaVwwMTRlZCwpagorMjc1IDQ1MjYgeShXaGVuKWoodXNlZClnKHdpdGgpaChgKXAgRnMoW1spcCBGdCgnLCloKHRoZSlmKGApcAorRnMoPClwIEZ0KCcpZyhhbmQpZihgKXAgRnMoPilwIEZ0KCcpaChvcClzKGVyYXRvcnMpZyhzb3J0KWcKKyhsZXhpY29ncmFwaGljYWxseSlqKHVzaW5nKWModGhlKWgoY3VycmVuKW0odCkxNTAgNDYzNgoreShsbylzKGNhbGUuKTQyIGIoVGhlKTMwIGIgRnModGVzdClmIEZ0KGNvbW1hbmQpaSh1c2VzKWYoQVNDSSlzKEkpZQorKG9yZGVyaW5nLikyNzUgNDc2OCB5KFVubGVzcyk0NCBiKG90aGVyd2lzZSloKHNwKXMoZWNpXDAxNGVkLClqCiAocHJpbWFyaWVzKWModGhhdCloKG9wKXMoZXJhdGUpZyhvbilnKFwwMTRsZXMpZihmb2xsbyltKHcpaShzeW0pbShiKXMKLShvbGljKWYobGlua3MpZyhhbmQpMTUwIDUxNzkgeShvcClzKGVyYXRlKTMxIGIob24pZih0aGUpaCh0YXJnZXQpaChvZillCisob2xpYylmKGxpbmtzKWcoYW5kKTE1MCA0ODc4IHkob3ApcyhlcmF0ZSkzMSBiKG9uKWYodGhlKWgodGFyZ2V0KWgob2YpZQogKHRoZSloKGxpbmssKWYocmF0aGVyKWgodGhhbilmKHRoZSlnKGxpbmspaChpdHNlbGYuKTE1MAotNTM0MCB5IEZzKC1hKWYgRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZwotRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzLilwIGVvcCBlbmQKLSUlUGFnZTogNzcgODMKLVRlWERpY3QgYmVnaW4gNzcgODIgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDY6KTQxCi1iKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoNzcpMTUwIDI5OSB5IEZzKC1iKTMwCi1iIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2Ci1iIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcoYSloKGJsbylzKGMpbShrKWcoc3ApcyhlY2lhbClnKFwwMTRsZS4pMTUwCi00NjEgeSBGcygtYylmIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2Ci1iIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcoYSloKGMpbShoYXJhY3RlciloKHNwKXMoZWNpYWwpZihcMDE0bGUuKTE1MAotNjIzIHkgRnMoLWQpZiBGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKFwwMTRsZSkzNgotYiBGdChleGlzdHMpMzEgYihhbmQpZihpcylnKGEpaChkaXJlY3RvcnkpLTggYiguKTE1MAotNzg1IHkgRnMoLWUpMzAgYiBGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnCi1GcShcMDE0bGUpMzYgYiBGdChleGlzdHMuKTE1MCA5NDggeSBGcygtZikzMCBiIEZpKGZpbGUpMTYyCis1MDMyIHkgRnMoLWEpZiBGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnCitGcShcMDE0bGUpMzYgYiBGdChleGlzdHMuKTE1MCA1MTg2IHkgRnMoLWIpMzAgYiBGaShmaWxlKTE2MgogYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEKLWIoYW5kKWYoaXMpZyhhKWgocmVndWxhcilmKFwwMTRsZS4pMTUwIDExMTAgeSBGcygtZylnCitiKGFuZClmKGlzKWcoYSloKGJsbylzKGMpbShrKWcoc3ApcyhlY2lhbClnKFwwMTRsZS4pMTUwCis1MzQwIHkgRnMoLWMpZiBGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnCitGcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEgYihhbmQpZihpcylnKGEpaChjKW0oaGFyYWN0ZXIpaChzcClzKGVjaWFsKQorZihcMDE0bGUuKXAgZW9wIGVuZAorJSVQYWdlOiA3OSA4NQorVGVYRGljdCBiZWdpbiA3OSA4NCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNjopNDEKK2IoQmFzaCkzMCBiKEYpLTggYihlYXR1cmVzKTI0ODQgYig3OSkxNTAgMjk5IHkgRnMoLWQpMzAKK2IgRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShcMDE0bGUpMzYKK2IgRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhhKWgoZGlyZWN0b3J5KS04IGIoLikxNTAKKzQ2MyB5IEZzKC1lKTMwIGIgRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZworRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzLikxNTAgNjI4IHkgRnMoLWYpMzAgYiBGaShmaWxlKTE2MgorYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEKK2IoYW5kKWYoaXMpZyhhKWgocmVndWxhcilmKFwwMTRsZS4pMTUwIDc5MiB5IEZzKC1nKWcKIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2IGIKIEZ0KGV4aXN0cykzMSBiKGFuZClmKGl0cylnKHNldC1ncm91cC1pZCloKGJpdClnKGlzKWYoc2V0LikxNTAKLTEyNzIgeSBGcygtaClnIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKLUZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcoYSloKHN5bSltKGIpcyhvbGljKWcobGluay4pMTUwCi0xNDM0IHkgRnMoLWspZiBGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnCis5NTYgeSBGcygtaClnIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2CitiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcoYSloKHN5bSltKGIpcyhvbGljKWcobGluay4pMTUwCisxMTIxIHkgRnMoLWspZiBGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnCiBGcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEgYihhbmQpZihpdHMpZyBGcygiKXAgRnQoc3RpYyltKGt5KXAKLUZzKCIpaCBGdChiaXQpZyhpcylmKHNldC4pMTUwIDE1OTYgeSBGcygtcClnIEZpKGZpbGUpMTYyCitGcygiKWggRnQoYml0KWcoaXMpZihzZXQuKTE1MCAxMjg1IHkgRnMoLXApZyBGaShmaWxlKTE2MgogYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEKLWIoYW5kKWYoaXMpZyhhKWgobmFtZWQpZihwaXApcyhlKWYoXChGSUYpbShPXCkuKTE1MCAxNzU5CitiKGFuZClmKGlzKWcoYSloKG5hbWVkKWYocGlwKXMoZSlmKFwoRklGKW0oT1wpLikxNTAgMTQ1MAogeSBGcygtciloIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2Ci1iIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcocmVhZGFibGUuKTE1MCAxOTIxIHkgRnMoLXMpZworYiBGdChleGlzdHMpMzEgYihhbmQpZihpcylnKHJlYWRhYmxlLikxNTAgMTYxNCB5IEZzKC1zKWcKIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcgRnEoXDAxNGxlKTM2IGIKIEZ0KGV4aXN0cykzMSBiKGFuZClmKGhhcylnKGEpZyhzaXplKWkoZ3JlYXRlcilmKHRoYW4pZih6ZXJvLikxNTAKLTIwODMgeSBGcygtdClnIEZpKGZkKTI1OCBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnKFwwMTRsZSloKGRlc2NyaXB0b3IpCisxNzc4IHkgRnMoLXQpZyBGaShmZCkyNTggYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyhcMDE0bGUpaChkZXNjcmlwdG9yKQogZiBGcShmZClqIEZ0KGlzKWUob3ApcyhlbillKGFuZCloKHJlZmVycylnKHRvKWgoYSlnKHRlcm1pbmFsLikxNTAKLTIyNDUgeSBGcygtdSlmIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKKzE5NDMgeSBGcygtdSlmIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKIEZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGl0cylnKHNldC11c2VyLWlkKWgoYml0KWYoaXMpaAotKHNldC4pMTUwIDI0MDcgeSBGcygtdylmIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMAorKHNldC4pMTUwIDIxMDcgeSBGcygtdylmIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMAogYihpZilnIEZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcod3JpdGFibGUuKTE1MAotMjU3MCB5IEZzKC14KWcgRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZworMjI3MSB5IEZzKC14KWcgRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZwogRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhleGVjdXRhYmxlLikxNTAKLTI3MzIgeSBGcygtTylnIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKKzI0MzYgeSBGcygtRylnIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKIEZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcobyltKHduZWQpZyhiKW0oeSloKHRoZSlmCi0oZVwwMTNlY3RpdiltKGUpaih1c2VyKWQoaWQuKTE1MCAyODk0IHkgRnMoLUcpZyBGaShmaWxlKTE2MgorKGVcMDEzZWN0aXYpbShlKWooZ3JvdXApZChpZC4pMTUwIDI2MDAgeSBGcygtTClnIEZpKGZpbGUpMTYyCiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnIEZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMQotYihhbmQpZihpcylnKG8pbSh3bmVkKWcoYiltKHkpaCh0aGUpZihlXDAxM2VjdGl2KW0oZSlqKGdyb3VwKWQoaWQuKTE1MAotMzA1NiB5IEZzKC1MKWcgRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZwotRnEoXDAxNGxlKTM2IGIgRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhhKWgoc3ltKW0oYilzKG9saWMpZyhsaW5rLikxNTAKLTMyMTggeSBGcygtUylmIEZpKGZpbGUpMTYyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKLUZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcoYSloKHNvKXMoYyltKGspbShldC4pMTUwCi0zMzgxIHkgRnMoLU4pZiBGaShmaWxlKTE2MiBiIEZ0KFQpLTggYihydWUpMzAgYihpZilnCi1GcShcMDE0bGUpMzYgYiBGdChleGlzdHMpMzEgYihhbmQpZihoYXMpZyhiKXMoZWVuKWYobW8pcyhkaVwwMTRlZCloCi0oc2luY2UpZyhpdCloKHcpbShhcylnKGxhc3QpZyhyZWFkLikxNTAgMzU0MyB5IEZpKGZpbGUxKTM5Ci1iIEZzKC1udCkzMCBiIEZpKGZpbGUyKTYzMCAzNjUyIHkgRnQoVCktOCBiKHJ1ZSkyMyBiKGlmKWcKLUZxKFwwMTRsZTEpMzEgYiBGdChpcykyNCBiKG5ldyltKGVyKWYoXChhY2NvcmRpbmcpaSh0bylmKG1vKXMKLShkaVwwMTRjYXRpb24pZyhkYXRlXCkpZyh0aGFuKWcgRnEoXDAxNGxlMik3IGIgRnQoLCkyNQotYihvcilmKGlmKWYgRnEoXDAxNGxlMSkzMSBiIEZ0KGV4aXN0cyk2MzAgMzc2MiB5KGFuZClmCi1GcShcMDE0bGUyKTM4IGIgRnQoZG8pcyhlcykzMCBiKG5vdC4pMTUwIDM5MjQgeSBGaShmaWxlMSkzOQotYiBGcygtb3QpMzAgYiBGaShmaWxlMik2MzAgNDAzNCB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnCi1GcShcMDE0bGUxKTM4IGIgRnQoaXMpMzEgYihvbGRlcilmKHRoYW4pZyBGcShcMDE0bGUyKTcKLWIgRnQoLCkzMiBiKG9yKWUoaWYpaCBGcShcMDE0bGUyKTM4IGIgRnQoZXhpc3RzKTMxIGIoYW5kKWUKLUZxKFwwMTRsZTEpMzkgYiBGdChkbylzKGVzKTMwIGIobm90LikxNTAgNDE5NiB5IEZpKGZpbGUxKTM5Ci1iIEZzKC1lZikzMCBiIEZpKGZpbGUyKTYzMCA0MzA1IHkgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcKLUZxKFwwMTRsZTEpMzggYiBGdChhbmQpMzAgYiBGcShcMDE0bGUyKTM4IGIgRnQocmVmZXIpMzAKLWIodG8paSh0aGUpZShzYW1lKWgoZGV2aWNlKWcoYW5kKWYoaW5vKXMoZGUpZyhuKW0odW0pbShiKXMoZXJzLikxNTAKLTQ0NjggeSBGcygtbylnIEZpKG9wdG5hbWUpNjMwIDQ1NzcgeSBGdChUKS04IGIocnVlKTQxCi1iKGlmKWcoc2hlbGwpZyhvcHRpb24paCBGcShvcHRuYW1lKTQ3IGIgRnQoaXMpNDEgYihlbmFibGVkLik3MwotYihUaGUpNDEgYihsaXN0KWgob2YpZihvcHRpb25zKWcoYXBwKXMoZWFycylnKGluKWcodGhlKTYzMAotNDY4NyB5KGRlc2NyaXB0aW9uKWgob2YpZih0aGUpaChgKXAgRnMoLW8pcCBGdCgnKWYob3B0aW9uKWgodG8paCh0aGUpZQorYihhbmQpZihpcylnKGEpaChzeW0pbShiKXMob2xpYylnKGxpbmsuKTE1MCAyNzY1IHkgRnMoLU4pZgorRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShcMDE0bGUpMzYgYgorRnQoZXhpc3RzKTMxIGIoYW5kKWYoaGFzKWcoYilzKGVlbilmKG1vKXMoZGlcMDE0ZWQpaChzaW5jZSlnKGl0KWgodyltCisoYXMpZyhsYXN0KWcocmVhZC4pMTUwIDI5MjkgeSBGcygtTylmIEZpKGZpbGUpMTYyIGIgRnQoVCktOAorYihydWUpMzAgYihpZilnIEZxKFwwMTRsZSkzNiBiIEZ0KGV4aXN0cykzMSBiKGFuZClmKGlzKWcobyltKHduZWQpZyhiKW0KKyh5KWgodGhlKWYoZVwwMTNlY3RpdiltKGUpaih1c2VyKWQoaWQuKTE1MCAzMDkzIHkgRnMoLVMpZworRmkoZmlsZSkxNjIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShcMDE0bGUpMzYgYgorRnQoZXhpc3RzKTMxIGIoYW5kKWYoaXMpZyhhKWgoc28pcyhjKW0oayltKGV0LikxNTAgMzI1OAoreSBGaShmaWxlMSkzOSBiIEZzKC1lZikzMCBiIEZpKGZpbGUyKTYzMCAzMzY3IHkgRnQoVCktOAorYihydWUpMzAgYihpZilnIEZxKFwwMTRsZTEpMzggYiBGdChhbmQpMzAgYiBGcShcMDE0bGUyKTM4CitiIEZ0KHJlZmVyKTMwIGIodG8paSh0aGUpZShzYW1lKWgoZGV2aWNlKWcoYW5kKWYoaW5vKXMoZGUpZyhuKW0odW0pbShiKQorcyhlcnMuKTE1MCAzNTMyIHkgRmkoZmlsZTEpMzkgYiBGcygtbnQpMzAgYiBGaShmaWxlMik2MzAKKzM2NDEgeSBGdChUKS04IGIocnVlKTIzIGIoaWYpZyBGcShcMDE0bGUxKTMxIGIgRnQoaXMpMjQKK2IobmV3KW0oZXIpZihcKGFjY29yZGluZylpKHRvKWYobW8pcyhkaVwwMTRjYXRpb24pZyhkYXRlXCkpZyh0aGFuKWcKK0ZxKFwwMTRsZTIpNyBiIEZ0KCwpMjUgYihvcilmKGlmKWYgRnEoXDAxNGxlMSkzMSBiIEZ0KGV4aXN0cyk2MzAKKzM3NTEgeShhbmQpZiBGcShcMDE0bGUyKTM4IGIgRnQoZG8pcyhlcykzMCBiKG5vdC4pMTUwCiszOTE1IHkgRmkoZmlsZTEpMzkgYiBGcygtb3QpMzAgYiBGaShmaWxlMik2MzAgNDAyNSB5CitGdChUKS04IGIocnVlKTMwIGIoaWYpZyBGcShcMDE0bGUxKTM4IGIgRnQoaXMpMzEgYihvbGRlcilmKHRoYW4pZworRnEoXDAxNGxlMik3IGIgRnQoLCkzMiBiKG9yKWUoaWYpaCBGcShcMDE0bGUyKTM4IGIgRnQoZXhpc3RzKTMxCitiKGFuZCllIEZxKFwwMTRsZTEpMzkgYiBGdChkbylzKGVzKTMwIGIobm90LikxNTAgNDE4OQoreSBGcygtbylnIEZpKG9wdG5hbWUpNjMwIDQyOTkgeSBGdChUKS04IGIocnVlKTQxIGIoaWYpZyh0aGUpZyhzaGVsbCloCisob3B0aW9uKWYgRnEob3B0bmFtZSk0NyBiIEZ0KGlzKTQxIGIoZW5hYmxlZC4pNzMgYihUaGUpNDEKK2IobGlzdCloKG9mKWYob3B0aW9ucyloKGFwcClzKGVhcnMpZShpbik2MzAgNDQwOCB5KHRoZSkzMAorYihkZXNjcmlwdGlvbilmKG9mKWgodGhlKWcoYClwIEZzKC1vKXAgRnQoJylmKG9wdGlvbiloKHRvKWgodGhlKWUKIEZzKHNldClnIEZ0KGJ1aWx0aW4pZyhcKHNlZSlpKFNlY3Rpb24pZig0LjMuMSloKFtUaGUpZihTZXQpNjMwCi00Nzk2IHkoQnVpbHRpbl0sKTMxIGIocGFnZSlnKDUxXCkuKTE1MCA0OTU5IHkgRnMoLXopZgotRmkoc3RyaW5nKTYzMCA1MDY4IHkgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcodGhlKWgobGVuZ3RoKWcob2YpZgotRnEoc3RyaW5nKTM4IGIgRnQoaXMpMzEgYih6ZXJvLikxNTAgNTIzMCB5IEZzKC1uKWYgRmkoc3RyaW5nKTE1MAotNTM0MCB5KHN0cmluZykxOTIgYiBGdChUKS04IGIocnVlKTMwIGIoaWYpZyh0aGUpaChsZW5ndGgpZyhvZilmCis0NTE4IHkoQnVpbHRpbl0sKWgocGFnZSlnKDU0XCkuKTE1MCA0NjgyIHkgRnMoLXYpZiBGaSh2YXJuYW1lKTYzMAorNDc5MiB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnKHRoZSloKHNoZWxsKWYodiktNSBiKGFyaWFibGUpMzIKK2IgRnEodiktNSBiKGFybmFtZSkzNSBiIEZ0KGlzKTMwIGIoc2V0KWgoXChoYXMpZyhiKXMoZWVuKWUoYXNzaWduZWQpaQorKGEpZyh2KS01IGIoYWx1ZVwpLikxNTAgNDk1NiB5IEZzKC16KTMwIGIgRmkoc3RyaW5nKTYzMAorNTA2NiB5IEZ0KFQpLTggYihydWUpMzAgYihpZilnKHRoZSloKGxlbmd0aClnKG9mKWYgRnEoc3RyaW5nKTM4CitiIEZ0KGlzKTMxIGIoemVyby4pMTUwIDUyMzAgeSBGcygtbilmIEZpKHN0cmluZykxNTAgNTM0MAoreShzdHJpbmcpMTkyIGIgRnQoVCktOCBiKHJ1ZSkzMCBiKGlmKWcodGhlKWgobGVuZ3RoKWcob2YpZgogRnEoc3RyaW5nKTM4IGIgRnQoaXMpMzEgYihub24temVyby4pcCBlb3AgZW5kCi0lJVBhZ2U6IDc4IDg0Ci1UZVhEaWN0IGJlZ2luIDc4IDgzIGJvcCAxNTAgLTExNiBhIEZ0KDc4KTI1NzIgYihCYXNoKTMxCislJVBhZ2U6IDgwIDg2CitUZVhEaWN0IGJlZ2luIDgwIDg1IGJvcCAxNTAgLTExNiBhIEZ0KDgwKTI1NzIgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRmkoc3RyaW5nMSkzOSBiIEZzKD09KTMwCiBiIEZpKHN0cmluZzIpMTUwIDQwOCB5KHN0cmluZzEpMzkgYiBGcyg9KTMwIGIgRmkoc3RyaW5nMik2MzAKIDUxOCB5IEZ0KFQpLTggYihydWUpMzUgYihpZiloKHRoZSlnKHN0cmluZ3MpZyhhcmUpZyhlcXVhbC4pNTgKQEAgLTEwMzM3LDkgKzEwNTYxLDkgQEAKIGIoYW5kKWUoaW5lcXVhbGl0KW0oeSkxNTAgNTAxNiB5IEZzKCYpNDMyIGIgRnQoYml0KW0od2lzZSkzMQogYihBTkQpMTUwIDUxNzggeSBGcyheKTQzMiBiIEZ0KGJpdCltKHdpc2UpMzEgYihleGNsdXNpdiltKGUpaChPUikxNTAKIDUzNDAgeSBGcyh8KTQzMiBiIEZ0KGJpdCltKHdpc2UpMzEgYihPUilwIGVvcCBlbmQKLSUlUGFnZTogNzkgODUKLVRlWERpY3QgYmVnaW4gNzkgODQgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDY6KTQxCi1iKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoNzkpMTUwIDI5OSB5IEZzKCYmKTM4NAorJSVQYWdlOiA4MSA4NworVGVYRGljdCBiZWdpbiA4MSA4NiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNjopNDEKK2IoQmFzaCkzMCBiKEYpLTggYihlYXR1cmVzKTI0ODQgYig4MSkxNTAgMjk5IHkgRnMoJiYpMzg0CiBiIEZ0KGxvZ2ljYWwpMzMgYihBTkQpMTUwIDQ0NiB5IEZzKHx8KTM4NCBiIEZ0KGxvZ2ljYWwpMzMKIGIoT1IpMTUwIDU5MiB5IEZzKGV4cHIpYyg/KWgoZXhwcilmKDopaChleHByKTYzMCA3MDIKIHkgRnQoY29uZGl0aW9uYWwpaShvcClzKGVyYXRvcikxNTAgODQ5IHkgRnMoPSllKCo9KWcoLz0pZyhcMDQ1PSlmKCs9KWgKQEAgLTEwMzU5LDY0NyArMTA1ODMsNjY1IEBACiAoaXQpaChpcylnKHJlZmVyZW5jZWQsKWkob3IpMTUwIDE5MDkgeSh3aGVuKTMxIGIoYSlpKHYpLTUKIGIoYXJpYWJsZSkzMyBiKHdoaWMpbShoKWYoaGFzKWcoYilzKGVlbilmKGdpdiltKGVuKWoodGhlKWUKIEZxKGluKW0odGVnZXIpNDAgYiBGdChhdHRyaWJ1dGUpMzMgYih1c2luZylmKGApcCBGcyhkZWNsYXJlKWQoLWkpcAotRnQoJylpKGlzKWkoYXNzaWduZWQpMTUwIDIwMTkgeShhKWsodiktNSBiKGFsdWUuKTU4IGIoQSkzNgotYihuKW0odWxsKWcodiktNSBiKGFsdWUpMzcgYihldiktNSBiKGFsdWF0ZXMpMzggYih0bylmKDAuKTU4Ci1iKEEpMzYgYihzaGVsbCloKHYpLTUgYihhcmlhYmxlKTM2IGIobmVlZClnKG5vdCloKGhhKW0odiltKGUpZyhpdHMpZwotKGluKW0odGVnZXIpZyhhdHRyaWJ1dGUpMTUwIDIxMjggeSh0dXJuZWQpMjkgYihvbiloKHRvKWkoYilzKGUpZCh1c2VkKWgKLShpbilnKGFuKWcoZXhwcmVzc2lvbi4pMjc1IDIyNTYgeShDb25zdGFuKW0odHMpNDEgYih3aXRoKWcoYSloKGxlYWRpbmcpCi1mKDApaChhcmUpZyhpbiltKHRlcnByZXRlZClmKGFzKWcobylzKGN0YWwpaShuKW0odW0pbShiKXMoZXJzLik3MgotYihBKTQxIGIobGVhZGluZyloKGApcCBGcygweClwIEZ0KCcpZihvcilnKGApcCBGcygwWClwCi1GdCgnKTE1MCAyMzY2IHkoZGVub3RlcykzMSBiKGhleGFkZWNpbWFsLik0MyBiKE90aGVyd2lzZSwpMzEKLWIobiltKHVtKW0oYilzKGVycyllKHRhayltKGUpayh0aGUpZShmb3JtKWYoWylwIEZxKGJhc2UpNQotYiBGcygjKXAgRnQoXSlwIEZxKG4pcCBGdCgsKTMxIGIod2hlcmUpZiBGcShiYXNlKTM2IGIKLUZ0KGlzKTMxIGIoYSlnKGRlY2ltYWwpMTUwIDI0NzYgeShuKW0odW0pbShiKXMoZXIpMjYKLWIoYilzKGV0KW0odyltKGVlbilpKDIpZihhbmQpZyg2NCloKHJlcHJlc2VuKW0odGluZylnKHRoZSlmKGFyaXRobWV0aWMpCi1oKGJhc2UsKWgoYW5kKWQgRnEobiloIEZ0KGlzKWcoYSloKG4pbSh1bSltKGIpcyhlcillKGluKWgodGhhdCloKGJhc2UuKQotMTUwIDI1ODUgeShJZikzOSBiIEZxKGJhc2UpNSBiIEZzKCMpNDAgYiBGdChpcylnKG9taXR0ZWQsKWoodGhlbilkCi0oYmFzZSlnKDEwKWcoaXMpZyh1c2VkLik2OCBiKFRoZSkzOSBiKGRpZ2l0cylpKGdyZWF0ZXIpZyh0aGFuKWUoOSloCi0oYXJlKWcocmVwcmVzZW4pbSh0ZWQpZyhiKW0oeSkxNTAgMjY5NSB5KHRoZSkzNCBiKGxvKW0odyltKGVyY2FzZSloCi0obGV0dGVycywpaCh0aGUpZCh1cHApcyhlcmNhc2UpZyhsZXR0ZXJzLClpKGApcCBGcyhAKXAKLUZ0KCcsKWcoYW5kKWUoYClwIEZzKF8pcCBGdCgnLCloKGluKWYodGhhdCloKG9yZGVyLik1MAotYihJZikzMiBiIEZxKGJhc2UpMzkgYiBGdChpcykzNCBiKGxlc3MpZih0aGFuKTE1MCAyODA0Ci15KG9yKWkoZXF1YWwpZyh0bylnKDM2LClpKGxvKW0odyltKGVyY2FzZSlnKGFuZCllKHVwcClzKGVyY2FzZSllCi0obGV0dGVycylqKG1hKW0oeSlnKGIpcyhlKWUodXNlZClnKGluKW0odGVyYyltKGhhbmdlYWJseSlpKHRvKWcKLShyZXByZXNlbiltKHQpMTUwIDI5MTQgeShuKW0odW0pbShiKXMoZXJzKTI5IGIoYilzKGV0KW0odyltKGVlbilpKDEwKWcKLShhbmQpZigzNS4pMjc1IDMwNDIgeShPcClzKGVyYXRvcnMpNDQgYihhcmUpaChldiktNSBiKGFsdWF0ZWQpNDYKLWIoaW4pZihvcmRlcilmKG9mKWgocHJlY2VkZW5jZS4pODUgYihTdWItZXhwcmVzc2lvbnMpNDQKLWIoaW4pZyhwYXJlbiltKHRoZXNlcylpKGFyZSkxNTAgMzE1MiB5KGV2KS01IGIoYWx1YXRlZCkzMgotYihcMDE0cnN0KWQoYW5kKWgobWEpbSh5KWgobyltKHYpbShlcnJpZGUpZyh0aGUpZyhwcmVjZWRlbmNlKWcocnVsZXMpZgotKGFiKXMobyltKHYpbShlLikxNTAgMzM3MSB5IEZyKDYuNik2OCBiKEFsaWFzZXMpMTUwIDM1MzEKLXkgRnEoQWxpYXNlcyk0MSBiIEZ0KGFsbG8pbSh3KWQoYSlmKHN0cmluZylmKHRvKWgoYilzKGUpZihzdWJzdGl0dXRlZClnCi0oZm9yKWcoYSlnKHcpbShvcmQpZyh3aGVuKWcoaXQpaChpcylmKHVzZWQpZihhcylpKHRoZSlnKFwwMTRyc3QpZSh3KW0KLShvcmQpaChvZiloKGEpMTUwIDM2NDAgeShzaW1wbGUpMzIgYihjb21tYW5kLik0NSBiKFRoZSkzMQotYihzaGVsbClpKG1haW4pbSh0YWlucylmKGEpaChsaXN0KWYob2YpZyhhbGlhc2VzKWkodGhhdCllKG1hKW0oeSloKGIpcwotKGUpZShzZXQpaChhbmQpZyh1bnNldClmKHdpdGgpaCh0aGUpMTUwIDM3NTAgeSBGcyhhbGlhcylkCi1GdChhbmQpaCBGcyh1bmFsaWFzKWUgRnQoYnVpbHRpbilpKGNvbW1hbmRzLikyNzUgMzg3OAoteShUaGUpZihcMDE0cnN0KWYodyltKG9yZClpKG9mKWYoZWFjKW0oaClpKHNpbXBsZSlmKGNvbW1hbmQsKWcoaWYpZgotKHVucXVvdGVkLClnKGlzKWgoYyltKGhlYyltKGspbShlZCloKHRvKWcoc2VlKWYoaWYpZyhpdClnKGhhcylmKGFuKWcKLShhbGlhcy4pMTUwIDM5ODggeShJZikyNCBiKHNvLClpKHRoYXQpZyh3KW0ob3JkKWUoaXMpaChyZXBsYWNlZClnKGIpbQotKHkpZih0aGUpaCh0ZXh0KWgob2YpZSh0aGUpaChhbGlhcy4pNDAgYihUaGUpMjQgYihjKW0oaGFyYWN0ZXJzKWkoYClwCi1GcygvKXAgRnQoJywpaChgKXAgRnMoJClwIEZ0KCcsKWYoYClwIEZzKGApcCBGdCgnLClnKGApcAotRnMoPSlwIEZ0KCcpZihhbmQpZihhbiltKHkpaChvZikxNTAgNDA5NyB5KHRoZSllKHNoZWxsKWcobWV0YWMpbQotKGhhcmFjdGVycylpKG9yKWUocXVvdGluZylnKGMpbShoYXJhY3RlcnMpaChsaXN0ZWQpZyhhYilzKG8pbSh2KW0oZSlnCi0obWEpbSh5KWYobm90KWcoYXBwKXMoZWFyKWYoaW4paChhbilnKGFsaWFzKWgobmFtZS4pMTUwCi00MjA3IHkoVGhlKWUocmVwbGFjZW1lbiltKHQpaCh0ZXh0KWcobWEpbSh5KWcoY29uKW0odGFpbiloKGFuKW0oeSllKHYpCi0tNSBiKGFsaWQpMjMgYihzaGVsbClmKGlucHV0LCloKGluY2x1ZGluZylmKHNoZWxsKWcobWV0YWMpbShoYXJhY3RlcnMuKQotNDAgYihUaGUpMTUwIDQzMTcgeShcMDE0cnN0KTM1IGIodyltKG9yZClnKG9mKWgodGhlKWcocmVwbGFjZW1lbiltKHQpaQotKHRleHQpZShpcylnKHRlc3RlZCloKGZvcillKGFsaWFzZXMsKWsoYnV0KWMoYSloKHcpbShvcmQpZyh0aGF0KWcoaXMpZwotKGlkZW4pbSh0aWNhbClpKHRvKWUoYW4pMTUwIDQ0MjYgeShhbGlhcyljKGIpcyhlaW5nKWYoZXhwYW5kZWQpZihpcyloCi0obm90KWcoZXhwYW5kZWQpZihhKWgoc2Vjb25kKWcodGltZS4pNDMgYihUaGlzKTMwIGIobWVhbnMpaCh0aGF0KWcob25lKQotZyhtYSltKHkpaChhbGlhcylnIEZzKGxzKWUgRnQodG8pMTUwIDQ1MzYgeSBGcygibHMpZigtRiIpcAotRnQoLCkzNiBiKGZvcilmKGluc3RhbmNlLClpKGFuZClkKEJhc2gpaChkbylzKGVzKWcobm90KWcodHJ5KWcodG8pZwotKHJlY3Vyc2l2KW0oZWx5KWgoZXhwYW5kKWUodGhlKWgocmVwbGFjZW1lbiltKHQpaSh0ZXh0LikxNTAKLTQ2NDUgeShJZikzMSBiKHRoZSloKGxhc3QpaChjKW0oaGFyYWN0ZXIpZyhvZilmKHRoZSlnKGFsaWFzKWgodiktNQotYihhbHVlKTMyIGIoaXMpZyhhKWcoc3BhY2UpZyhvcilnKHRhYilnKGMpbShoYXJhY3RlciwpaSh0aGVuKWQodGhlKWgKLShuZXh0KWcoY29tbWFuZCkxNTAgNDc1NSB5KHcpbShvcmQpZShmb2xsbyltKHdpbmcpaSh0aGUpZShhbGlhcylpKGlzKWUKLShhbHNvKWkoYyltKGhlYyltKGspbShlZClnKGZvcillKGFsaWFzKWkoZXhwYW5zaW9uLikyNzUKLTQ4ODMgeShBbGlhc2VzKWQoYXJlKWYoY3JlYXRlZClpKGFuZClkKGxpc3RlZClpKHdpdGgpZih0aGUpZwotRnMoYWxpYXMpZiBGdChjb21tYW5kLCloKGFuZClnKHJlbW8pbSh2KW0oZWQpaCh3aXRoKWYodGhlKWcKK0Z0KCcpaShpcylpKGFzc2lnbmVkKTE1MCAyMDE5IHkoYSlqKHYpLTUgYihhbHVlLik1OCBiKEEpMzYKK2IobiltKHVsbClmKHYpLTUgYihhbHVlKTM3IGIoZXYpLTUgYihhbHVhdGVzKTM3IGIodG8pZygwLik1NworYihBKTM2IGIoc2hlbGwpZyh2KS01IGIoYXJpYWJsZSkzNyBiKG5lZWQpZShub3QpaChoYSltKHYpbShlKWgoaXRzKWYKK0ZxKGluKW0odGVnZXIpNDQgYiBGdChhdHRyaWJ1dGUpMTUwIDIxMjggeSh0dXJuZWQpMjkKK2Iob24paCh0bylpKGIpcyhlKWQodXNlZCloKGluKWcoYW4pZyhleHByZXNzaW9uLikyNzUKKzIyNTYgeShDb25zdGFuKW0odHMpNDEgYih3aXRoKWcoYSloKGxlYWRpbmcpZigwKWgoYXJlKWcoaW4pbSh0ZXJwcmV0ZWQpCitmKGFzKWcobylzKGN0YWwpaShuKW0odW0pbShiKXMoZXJzLik3MiBiKEEpNDEgYihsZWFkaW5nKWgoYClwCitGcygweClwIEZ0KCcpZihvcilnKGApcCBGcygwWClwIEZ0KCcpMTUwIDIzNjYgeShkZW5vdGVzKTMxCitiKGhleGFkZWNpbWFsLik0MiBiKE90aGVyd2lzZSwpMzAgYihuKW0odW0pbShiKXMoZXJzKWYodGFrKW0oZSlqKHRoZSlmCisoZm9ybSlmKFspcCBGcShiYXNlKTUgYiBGcygjKXAgRnQoXSlwIEZxKG4pcCBGdCgsKTMxCitiKHdoZXJlKWYodGhlKWcob3B0aW9uYWwpaSBGcShiYXNlKTE1MCAyNDc2IHkgRnQoaXMpZChhKWgoZGVjaW1hbClnKG4pbQorKHVtKW0oYilzKGVyKWUoYilzKGV0KW0odyltKGVlbiloKDIpaChhbmQpZSg2NClpKHJlcHJlc2VuKW0odGluZylnKHRoZSkKK2YoYXJpdGhtZXRpYylpKGJhc2UsKWUoYW5kKWcgRnEobilnIEZ0KGlzKWcoYSlnKG4pbSh1bSltKGIpcyhlcikxNTAKKzI1ODUgeShpbik0MSBiKHRoYXQpaShiYXNlLik3NCBiKElmKTQyIGIgRnEoYmFzZSk1IGIKK0ZzKCMpNDEgYiBGdChpcyloKG9taXR0ZWQsKWsodGhlbik0MSBiKGJhc2UpaCgxMClnKGlzKWcodXNlZC4pNzQKK2IoVGhlKTQxIGIoZGlnaXRzKWgoZ3JlYXRlciloKHRoYW4pZSg5KWkoYXJlKTE1MCAyNjk1Cit5KHJlcHJlc2VuKW0odGVkKTM4IGIoYiltKHkpZih0aGUpaChsbyltKHcpbShlcmNhc2UpaihsZXR0ZXJzLClnKHRoZSlkCisodXBwKXMoZXJjYXNlKWYobGV0dGVycywpayhgKXAgRnMoQClwIEZ0KCcsKWYoYW5kKWQoYClwCitGcyhfKXAgRnQoJywpaihpbilkKHRoYXQpaShvcmRlci4pNjIgYihJZikxNTAgMjgwNCB5CitGcShiYXNlKTI4IGIgRnQoaXMpMjIgYihsZXNzKWgodGhhbilmKG9yKWgoZXF1YWwpZih0bylpKDM2LCloKGxvKW0odyltCisoZXJjYXNlKWcoYW5kKWModXBwKXMoZXJjYXNlKWgobGV0dGVycylpKG1hKW0oeSlmKGIpcyhlKWUodXNlZCloKGluKW0KKyh0ZXJjKW0oaGFuZ2VhYmx5KTE1MCAyOTE0IHkodG8pMzEgYihyZXByZXNlbiltKHQpZyhuKW0odW0pbShiKXMoZXJzKWQKKyhiKXMoZXQpbSh3KW0oZWVuKWooMTApaChhbmQpZCgzNS4pMjc1IDMwNDIgeShPcClzKGVyYXRvcnMpNDQKK2IoYXJlKWgoZXYpLTUgYihhbHVhdGVkKTQ2IGIoaW4pZihvcmRlcilmKG9mKWgocHJlY2VkZW5jZS4pODUKK2IoU3ViLWV4cHJlc3Npb25zKTQ0IGIoaW4pZyhwYXJlbiltKHRoZXNlcylpKGFyZSkxNTAKKzMxNTIgeShldiktNSBiKGFsdWF0ZWQpMzIgYihcMDE0cnN0KWQoYW5kKWgobWEpbSh5KWgobyltKHYpbShlcnJpZGUpZworKHRoZSlnKHByZWNlZGVuY2UpZyhydWxlcylmKGFiKXMobyltKHYpbShlLikxNTAgMzM3MQoreSBGcig2LjYpNjggYihBbGlhc2VzKTE1MCAzNTMxIHkgRnEoQWxpYXNlcyk0MSBiIEZ0KGFsbG8pbSh3KWQoYSlmCisoc3RyaW5nKWYodG8paChiKXMoZSlmKHN1YnN0aXR1dGVkKWcoZm9yKWcoYSlnKHcpbShvcmQpZyh3aGVuKWcoaXQpaAorKGlzKWYodXNlZClmKGFzKWkodGhlKWcoXDAxNHJzdCllKHcpbShvcmQpaChvZiloKGEpMTUwCiszNjQwIHkoc2ltcGxlKTMyIGIoY29tbWFuZC4pNDUgYihUaGUpMzEgYihzaGVsbClpKG1haW4pbSh0YWlucylmKGEpaAorKGxpc3QpZihvZilnKGFsaWFzZXMpaSh0aGF0KWUobWEpbSh5KWgoYilzKGUpZShzZXQpaChhbmQpZyh1bnNldClmCisod2l0aCloKHRoZSkxNTAgMzc1MCB5IEZzKGFsaWFzKWQgRnQoYW5kKWggRnModW5hbGlhcyllCitGdChidWlsdGluKWkoY29tbWFuZHMuKTI3NSAzODc4IHkoVGhlKWYoXDAxNHJzdClmKHcpbShvcmQpaShvZilmKGVhYyltCisoaClpKHNpbXBsZSlmKGNvbW1hbmQsKWcoaWYpZih1bnF1b3RlZCwpZyhpcyloKGMpbShoZWMpbShrKW0oZWQpaCh0bylnCisoc2VlKWYoaWYpZyhpdClnKGhhcylmKGFuKWcoYWxpYXMuKTE1MCAzOTg4IHkoSWYpMjQgYihzbywpaSh0aGF0KWcodyltCisob3JkKWUoaXMpaChyZXBsYWNlZClnKGIpbSh5KWYodGhlKWgodGV4dCloKG9mKWUodGhlKWgoYWxpYXMuKTQwCitiKFRoZSkyNCBiKGMpbShoYXJhY3RlcnMpaShgKXAgRnMoLylwIEZ0KCcsKWgoYClwIEZzKCQpcAorRnQoJywpZihgKXAgRnMoYClwIEZ0KCcsKWcoYClwIEZzKD0pcCBGdCgnKWYoYW5kKWYoYW4pbSh5KWgob2YpMTUwCis0MDk3IHkodGhlKWUoc2hlbGwpZyhtZXRhYyltKGhhcmFjdGVycylpKG9yKWUocXVvdGluZylnKGMpbShoYXJhY3RlcnMpaAorKGxpc3RlZClnKGFiKXMobyltKHYpbShlKWcobWEpbSh5KWYobm90KWcoYXBwKXMoZWFyKWYoaW4paChhbilnKGFsaWFzKWgKKyhuYW1lLikxNTAgNDIwNyB5KFRoZSllKHJlcGxhY2VtZW4pbSh0KWgodGV4dClnKG1hKW0oeSlnKGNvbiltKHRhaW4paAorKGFuKW0oeSllKHYpLTUgYihhbGlkKTIzIGIoc2hlbGwpZihpbnB1dCwpaChpbmNsdWRpbmcpZihzaGVsbClnKG1ldGFjKW0KKyhoYXJhY3RlcnMuKTQwIGIoVGhlKTE1MCA0MzE3IHkoXDAxNHJzdCkzNSBiKHcpbShvcmQpZyhvZiloKHRoZSlnCisocmVwbGFjZW1lbiltKHQpaSh0ZXh0KWUoaXMpZyh0ZXN0ZWQpaChmb3IpZShhbGlhc2VzLClrKGJ1dCljKGEpaCh3KW0KKyhvcmQpZyh0aGF0KWcoaXMpZyhpZGVuKW0odGljYWwpaSh0byllKGFuKTE1MCA0NDI2IHkoYWxpYXMpYyhiKXMoZWluZylmCisoZXhwYW5kZWQpZihpcyloKG5vdClnKGV4cGFuZGVkKWYoYSloKHNlY29uZClnKHRpbWUuKTQzCitiKFRoaXMpMzAgYihtZWFucyloKHRoYXQpZyhvbmUpZyhtYSltKHkpaChhbGlhcylnIEZzKGxzKWUKK0Z0KHRvKTE1MCA0NTM2IHkgRnMoImxzKWYoLUYiKXAgRnQoLCkzNiBiKGZvcilmKGluc3RhbmNlLClpKGFuZClkKEJhc2gpCitoKGRvKXMoZXMpZyhub3QpZyh0cnkpZyh0bylnKHJlY3Vyc2l2KW0oZWx5KWgoZXhwYW5kKWUodGhlKWgKKyhyZXBsYWNlbWVuKW0odClpKHRleHQuKTE1MCA0NjQ1IHkoSWYpMzEgYih0aGUpaChsYXN0KWgoYyltKGhhcmFjdGVyKWcKKyhvZilmKHRoZSlnKGFsaWFzKWgodiktNSBiKGFsdWUpMzIgYihpcylnKGEpZyhzcGFjZSlnKG9yKWcodGFiKWcoYyltCisoaGFyYWN0ZXIsKWkodGhlbilkKHRoZSloKG5leHQpZyhjb21tYW5kKTE1MCA0NzU1IHkodyltKG9yZCllKGZvbGxvKW0KKyh3aW5nKWkodGhlKWUoYWxpYXMpaShpcyllKGFsc28paShjKW0oaGVjKW0oayltKGVkKWcoZm9yKWUoYWxpYXMpaQorKGV4cGFuc2lvbi4pMjc1IDQ4ODMgeShBbGlhc2VzKWQoYXJlKWYoY3JlYXRlZClpKGFuZClkKGxpc3RlZClpKHdpdGgpZgorKHRoZSlnIEZzKGFsaWFzKWYgRnQoY29tbWFuZCwpaChhbmQpZyhyZW1vKW0odiltKGVkKWgod2l0aClmKHRoZSlnCiBGcyh1bmFsaWFzKTE1MCA0OTkzIHkgRnQoY29tbWFuZC4pMjc1IDUxMjEgeShUaGVyZSk0NAogYihpcyloKG5vKWcobWVjKW0oaGFuaXNtKWcoZm9yKWYodXNpbmcpaChhcmd1bWVuKW0odHMpZyhpbilmKHRoZSloCiAocmVwbGFjZW1lbiltKHQpaSh0ZXh0LClpKGFzKWQoaW4pZSBGcyhjc2gpcCBGdCguKTgzCiBiKElmKTE1MCA1MjMwIHkoYXJndW1lbiltKHRzKTM3IGIoYXJlKWgobmVlZGVkLClnKGEpZyhzaGVsbClmKGZ1bmN0aW9uKQogZihzaG91bGQpZyhiKXMoZSloKHVzZWQpZihcKHNlZSlpKFNlY3Rpb24pZygzLjMpZyhbU2hlbGwpZihGKS04Ci1iKHVuY3Rpb25zXSwpMTUwIDUzNDAgeShwYWdlKTMxIGIoMTRcKS4pcCBlb3AgZW5kCi0lJVBhZ2U6IDgwIDg2Ci1UZVhEaWN0IGJlZ2luIDgwIDg1IGJvcCAxNTAgLTExNiBhIEZ0KDgwKTI1NzIgYihCYXNoKTMxCitiKHVuY3Rpb25zXSwpMTUwIDUzNDAgeShwYWdlKTMxIGIoMTVcKS4pcCBlb3AgZW5kCislJVBhZ2U6IDgyIDg4CitUZVhEaWN0IGJlZ2luIDgyIDg3IGJvcCAxNTAgLTExNiBhIEZ0KDgyKTI1NzIgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkyNzUgMjk5IHkoQWxpYXNlcylpKGFyZSloKG5vdCllKGV4cGFuZGVkKWcKICh3aGVuKWcodGhlKWgoc2hlbGwpZyhpcylnKG5vdClnKGluKW0odGVyYWN0aXYpbShlLClqKHVubGVzcyljKHRoZSloCiBGcyhleHBhbmRfYWxpYXNlcykxNTAgNDA4IHkgRnQoc2hlbGwpZShvcHRpb24pZihpcyloKHNldClnKHVzaW5nKWYKIEZzKHNob3B0KWYgRnQoXChzZWUpaShTZWN0aW9uKWcoNC4zLjIpaChbVGhlKWUoU2hvcHQpZyhCdWlsdGluXSwpaAotKHBhZ2UpZyg1NVwpLikyNzUgNTQwIHkoVGhlKTM4IGIocnVsZXMpaChjb25jZXJuaW5nKWgodGhlKWYKKyhwYWdlKWcoNTdcKS4pMjc1IDU0MiB5KFRoZSkzOCBiKHJ1bGVzKWgoY29uY2VybmluZyloKHRoZSlmCiAoZGVcMDE0bml0aW9uKWcoYW5kKWcodXNlKWcob2YpZyhhbGlhc2VzKWkoYXJlKWUoc29tZXdoYXQpaChjb25mdXNpbmcuKQotNjcgYihCYXNoKTE1MCA2NTAgeShhbHcpbShhKW0oeXMpNDIgYihyZWFkcylmKGF0KWgobGVhc3QpZyhvbmUpZgorNjcgYihCYXNoKTE1MCA2NTEgeShhbHcpbShhKW0oeXMpNDIgYihyZWFkcylmKGF0KWgobGVhc3QpZyhvbmUpZgogKGNvbXBsZXRlKWkobGluZSllKG9mKWcoaW5wdXQpZihiKXMoZWZvcmUpaChleGVjdXRpbmcpaChhbiltKHkpZihvZilnCi0odGhlKWcoY29tbWFuZHMpMTUwIDc2MCB5KG9uKWgodGhhdCloKGxpbmUuKTc3IGIoQWxpYXNlcyk0NAorKHRoZSlnKGNvbW1hbmRzKTE1MCA3NjEgeShvbiloKHRoYXQpaChsaW5lLik3NyBiKEFsaWFzZXMpNDQKIGIoYXJlKWUoZXhwYW5kZWQpZyh3aGVuKWYoYSlpKGNvbW1hbmQpZihpcylnKHJlYWQsKWsobm90KWMod2hlbilnKGl0KWcKLShpcyloKGV4ZWN1dGVkLikxNTAgODY5IHkoVGhlcmVmb3JlLClmKGFuKWUoYWxpYXMpaChkZVwwMTRuaXRpb24pZShhcHApCisoaXMpaChleGVjdXRlZC4pMTUwIDg3MCB5KFRoZXJlZm9yZSwpZihhbillKGFsaWFzKWgoZGVcMDE0bml0aW9uKWUoYXBwKQogcyhlYXJpbmcpaChvbilmKHRoZSloKHNhbWUpaChsaW5lKWYoYXMpZyhhbm90aGVyKWcoY29tbWFuZClmKGRvKXMoZXMpaAotKG5vdCkxNTAgOTc5IHkodGFrKW0oZSkzMSBiKGVcMDEzZWN0KWYodW4pbSh0aWwpZyh0aGUpZihuZXh0KWcobGluZSloCisobm90KTE1MCA5ODAgeSh0YWspbShlKTMxIGIoZVwwMTNlY3QpZih1biltKHRpbClnKHRoZSlmKG5leHQpZyhsaW5lKWgKIChvZilmKGlucHV0KWYoaXMpaChyZWFkLik0MSBiKFRoZSkyOCBiKGNvbW1hbmRzKWgoZm9sbG8pbSh3aW5nKWkodGhlKWUKLShhbGlhcyloKGRlXDAxNG5pdGlvbikxNTAgMTA4OCB5KG9uKWQodGhhdCloKGxpbmUpZihhcmUpaChub3QpZgorKGFsaWFzKWgoZGVcMDE0bml0aW9uKTE1MCAxMDkwIHkob24pZCh0aGF0KWgobGluZSlmKGFyZSloKG5vdClmCiAoYVwwMTNlY3RlZClpKGIpbSh5KWUodGhlKWcobmV3KWcoYWxpYXMuKTQxIGIoVGhpcykyNgogYihiKXMoZWhhKW0odmlvciloKGlzKWcoYWxzbyloKGFuKWYoaXNzdWUpZyh3aGVuKWYoZnVuY3Rpb25zKTE1MAotMTE5OCB5KGFyZSlkKGV4ZWN1dGVkLikzOSBiKEFsaWFzZXMpMjQgYihhcmUpZihleHBhbmRlZClmKHdoZW4pZihhKWkKKzExOTkgeShhcmUpZChleGVjdXRlZC4pMzkgYihBbGlhc2VzKTI0IGIoYXJlKWYoZXhwYW5kZWQpZih3aGVuKWYoYSlpCiAoZnVuY3Rpb24pZyhkZVwwMTRuaXRpb24pZihpcyloKHJlYWQsKWgobm90KWYod2hlbillKHRoZSlpKGZ1bmN0aW9uKTE1MAotMTMwOCB5KGlzKWkoZXhlY3V0ZWQsKWooYilzKGVjYXVzZSlkKGEpaChmdW5jdGlvbilmKGRlXDAxNG5pdGlvbilmKGlzKWkKKzEzMDkgeShpcylpKGV4ZWN1dGVkLClqKGIpcyhlY2F1c2UpZChhKWgoZnVuY3Rpb24pZihkZVwwMTRuaXRpb24pZihpcylpCiAoaXRzZWxmKWcoYSlmKGNvbXApcyhvdW5kKWYoY29tbWFuZC4pMzkgYihBcykyNSBiKGEpaChjb25zZXF1ZW5jZSwpMTUwCi0xNDE3IHkoYWxpYXNlcykzNiBiKGRlXDAxNG5lZClkKGluKWgoYSlnKGZ1bmN0aW9uKWcoYXJlKWgobm90KWYoYSltKHYpCisxNDE4IHkoYWxpYXNlcykzNiBiKGRlXDAxNG5lZClkKGluKWgoYSlnKGZ1bmN0aW9uKWcoYXJlKWgobm90KWYoYSltKHYpCiAtNSBiKGFpbGFibGUpMzcgYih1biltKHRpbClkKGFmdGVyKWgodGhhdClnKGZ1bmN0aW9uKWYoaXMpZyhleGVjdXRlZC4pCi01MyBiKFQpLTggYihvKTM1IGIoYilzKGUpMTUwIDE1MjcgeShzYWZlLCk0MSBiKGFsdyltKGEpbSh5cylmKHB1dClkCis1MyBiKFQpLTggYihvKTM1IGIoYilzKGUpMTUwIDE1MjggeShzYWZlLCk0MSBiKGFsdyltKGEpbSh5cylmKHB1dClkCiAoYWxpYXMpaihkZVwwMTRuaXRpb25zKWUob24pZyhhKWgoc2VwYXJhdGUpZyhsaW5lLClpKGFuZClkKGRvKWcobm90KWcKLSh1c2UpZyBGcyhhbGlhcylmIEZ0KGluKWgoY29tcClzKG91bmQpMTUwIDE2MzYgeShjb21tYW5kcy4pMjc1Ci0xNzY4IHkoRiktOCBiKG9yKTMxIGIoYWxtb3N0KWcoZXYpbShlcnkpZyhwdXJwKXMob3NlLCllKHNoZWxsKWkKKyh1c2UpZyBGcyhhbGlhcylmIEZ0KGluKWgoY29tcClzKG91bmQpMTUwIDE2MzggeShjb21tYW5kcy4pMjc1CisxNzcxIHkoRiktOCBiKG9yKTMxIGIoYWxtb3N0KWcoZXYpbShlcnkpZyhwdXJwKXMob3NlLCllKHNoZWxsKWkKIChmdW5jdGlvbnMpZihhcmUpZyhwcmVmZXJyZWQpZyhvKW0odiltKGVyKWgoYWxpYXNlcy4pMTUwCi0xOTk2IHkgRnIoNi43KTY4IGIoQXJyYSlsKHlzKTE1MCAyMTU1IHkgRnQoQmFzaCkzMyBiKHBybyltKHZpZGVzKWcKKzIwMDEgeSBGcig2LjcpNjggYihBcnJhKWwoeXMpMTUwIDIxNjAgeSBGdChCYXNoKTMzIGIocHJvKW0odmlkZXMpZwogKG9uZS1kaW1lbnNpb25hbClnKGluZGV4ZWQpZihhbmQpaChhc3NvKXMoY2lhdGl2KW0oZSlpKGFycmEpbSh5KWUodiktNQogYihhcmlhYmxlcy4pNDkgYihBbiltKHkpMzMgYih2KS01IGIoYXJpYWJsZSkzMyBiKG1hKW0oeSkxNTAKLTIyNjUgeShiKXMoZSllKHVzZWQpaChhcylnKGFuKWcoaW5kZXhlZClmKGFycmEpbSh5OylqKHRoZSllCisyMjcwIHkoYilzKGUpZSh1c2VkKWgoYXMpZyhhbilnKGluZGV4ZWQpZihhcnJhKW0oeTspaih0aGUpZQogRnMoZGVjbGFyZSllIEZ0KGJ1aWx0aW4paCh3aWxsKWkoZXhwbGljaXRseSlnKGRlY2xhcmUpZyhhbilmKGFycmEpbSh5KQotLTggYiguKTQ2IGIoVGhlcmUpMzIgYihpcykxNTAgMjM3NCB5KG5vKWgobWF4aW0pbSh1bSlnKGxpbWl0KWgob24pZgorLTggYiguKTQ2IGIoVGhlcmUpMzIgYihpcykxNTAgMjM3OSB5KG5vKWgobWF4aW0pbSh1bSlnKGxpbWl0KWgob24pZgogKHRoZSlnKHNpemUpaChvZilnKGFuKWYoYXJyYSltKHkpLTggYigsKTM1IGIobm9yKWQoYW4pbSh5KWkocmVxdWlyZW1lbikKLW0odClmKHRoYXQpaChtZW0pbShiKXMoZXJzKWUoYilzKGUpZyhpbmRleGVkKTE1MCAyNDg0CittKHQpZih0aGF0KWgobWVtKW0oYilzKGVycyllKGIpcyhlKWcoaW5kZXhlZCkxNTAgMjQ4OQogeShvcikyNiBiKGFzc2lnbmVkKWgoY29uKW0odGlndW91c2x5KS04IGIoLik0MSBiKEluZGV4ZWQpMjUKIGIoYXJyYSltKHlzKWkoYXJlKWYocmVmZXJlbmNlZClnKHVzaW5nKWcoaW4pbSh0ZWdlcnMpaShcKGluY2x1ZGluZyllCi0oYXJpdGhtZXRpYykxNTAgMjU5MyB5KGV4cHJlc3Npb25zKTQxIGIoXChzZWUpaChTZWN0aW9uKWcoNi41KWgoW1NoZWxsKQotZShBcml0aG1ldGljXSwpNDYgYihwYWdlKWMoNzhcKSlnKGFuZClmKGFyZSlnKHplcm8tYmFzZWQ7KTQ4Ci1iKGFzc28pcyhjaWF0aXYpbShlKTE1MCAyNzAzIHkoYXJyYSltKHlzKTMxIGIodXNlKWYoYXJiaXRyYXJ5KWcKLShzdHJpbmdzLikyNzUgMjgzNSB5KEFuKWMoaW5kZXhlZCloKGFycmEpbSh5KWgoaXMpZihjcmVhdGVkKWgKKyhhcml0aG1ldGljKTE1MCAyNTk4IHkoZXhwcmVzc2lvbnMpNDEgYihcKHNlZSloKFNlY3Rpb24pZyg2LjUpaChbU2hlbGwpCitlKEFyaXRobWV0aWNdLCk0NiBiKHBhZ2UpYyg4MFwpKWcoYW5kKWYoYXJlKWcoemVyby1iYXNlZDspNDgKK2IoYXNzbylzKGNpYXRpdiltKGUpMTUwIDI3MDggeShhcnJhKW0oeXMpMzEgYih1c2UpZihhcmJpdHJhcnkpZworKHN0cmluZ3MuKTI3NSAyODQxIHkoQW4pYyhpbmRleGVkKWgoYXJyYSltKHkpaChpcylmKGNyZWF0ZWQpaAogKGF1dG9tYXRpY2FsbHkpaihpZiljKGFuKW0oeSlnKHYpLTUgYihhcmlhYmxlKTI4IGIoaXMpZyhhc3NpZ25lZClmKHRvKWgKLSh1c2luZylmKHRoZSlnKHN5biltKHRheCkzOTAgMjk2NyB5IEZzKG5hbWVbKXAgRmkoc3Vic2NyaXB0KTExCi1iIEZzKF09KXAgRmkodmFsdWUpMTUwIDMwOTkgeSBGdChUaGUpMjUgYiBGcShzdWJzY3JpcHQpZwotRnQoaXMpaCh0cmVhdGVkKWcoYXMpZihhbilnKGFyaXRobWV0aWMpaChleHByZXNzaW9uKWYodGhhdCloKG0pbSh1c3QpZgotKGV2KS01IGIoYWx1YXRlKTI3IGIodG8pZShhKWgobiltKHVtKW0oYilzKGVyKWUoZ3JlYXRlcikxNTAKLTMyMDggeSh0aGFuKTMwIGIob3IpZyhlcXVhbCloKHRvKWcoemVyby4pNDIgYihUKS04IGIobykzMQotYihleHBsaWNpdGx5KWgoZGVjbGFyZSlmKGFuKWYoYXJyYSltKHkpLTggYigsKTMyIGIodXNlKTM5MAotMzM0MCB5IEZzKGRlY2xhcmUpNDYgYigtYSloIEZpKG5hbWUpMTUwIDM0NzIgeSBGdChUaGUpMzAKLWIoc3luKW0odGF4KTM5MCAzNjA0IHkgRnMoZGVjbGFyZSk0NiBiKC1hKWggRmkobmFtZSkxMQotYiBGcyhbKXAgRmkoc3Vic2NyaXB0KWcgRnMoXSkxNTAgMzczNiB5IEZ0KGlzKTMwIGIoYWxzbylpKGFjY2VwdGVkOylnCi0odGhlKWUgRnEoc3Vic2NyaXB0KWggRnQoaXMpZyhpZ25vcmVkLikyNzUgMzg2OCB5KEFzc28pcyhjaWF0aXYpbShlKWgKLShhcnJhKW0oeXMpZihhcmUpZyhjcmVhdGVkKWcodXNpbmcpMzkwIDQwMDAgeSBGcyhkZWNsYXJlKTQ2Ci1iKC1BKWggRmkobmFtZSkxMSBiIEZzKC4pMjc1IDQxMzIgeSBGdChBKW0odHRyaWJ1dGVzKTQ2Ci1iKG1hKW0oeSloKGIpcyhlKWUoc3ApcyhlY2lcMDE0ZWQpZyhmb3IpaChhbilnKGFycmEpbSh5KWcodiktNQotYihhcmlhYmxlKTQ3IGIodXNpbmcpZSh0aGUpaCBGcyhkZWNsYXJlKWUgRnQoYW5kKWggRnMocmVhZG9ubHkpMTUwCi00MjQyIHkgRnQoYnVpbHRpbnMuKTQwIGIoRWFjKW0oaCkzMSBiKGF0dHJpYnV0ZSlnKGFwcGxpZXMpZyh0bylnKGFsbClnCi0obWVtKW0oYilzKGVycylmKG9mKWcoYW4paChhcnJhKW0oeSktOCBiKC4pMjc1IDQzNzQgeShBcnJhKW0oeXMpMzAKLWIoYXJlKWgoYXNzaWduZWQpZih0byloKHVzaW5nKWYoY29tcClzKG91bmQpZihhc3NpZ25tZW4pbSh0cylpKG9mKWcKLSh0aGUpZihmb3JtKTM5MCA0NTA2IHkgRnMobmFtZT1cKHZhbHVlKXAgRmkoMSk1NSBiIEZzKC4uLik0NwotYih2YWx1ZSlwIEZpKG4pMTEgYiBGcyhcKSkxNTAgNDYzOCB5IEZ0KHdoZXJlKTM3IGIoZWFjKW0oaClpCi1GcSh2KS01IGIoYWx1ZSk0MiBiIEZ0KGlzKWMob2YpZyh0aGUpZihmb3JtKWcgRnMoWylwCi1GaShzdWJzY3JpcHQpMTEgYiBGcyhdPSlwIEZxKHN0cmluZylkIEZ0KC4pNTggYihJbmRleGVkKTM2Ci1iKGFycmEpbSh5KWkoYXNzaWdubWVuKW0odHMpZyhkbylnKG5vdCkxNTAgNDc0NyB5KHJlcXVpcmUpYyh0aGUpZyhicmFjKQotbShrKW0oZXQpaChhbmQpZShzdWJzY3JpcHQuKTUwIGIoV2hlbikzNCBiKGFzc2lnbmluZylnKHRvKWcoaW5kZXhlZClnCi0oYXJyYSltKHlzLCloKGlmKWYodGhlKWcob3B0aW9uYWwpaChzdWItKTE1MCA0ODU3IHkoc2NyaXB0KWMoaXMpaAotKHN1cHBsaWVkLClmKHRoYXQpaChpbmRleClmKGlzKWgoYXNzaWduZWQpZyh0bzspaChvdGhlcndpc2UpZih0aGUpZgotKGluZGV4KWgob2YpZih0aGUpaChlbGVtZW4pbSh0KWgoYXNzaWduZWQpZihpcykxNTAgNDk2NgoteSh0aGUpZihsYXN0KWcoaW5kZXgpZihhc3NpZ25lZClnKHRvKWgoYiltKHkpZyh0aGUpZihzdGF0ZW1lbiltKHQpaQotKHBsdXMpZShvbmUuKTQxIGIoSW5kZXhpbmcpMzAgYihzdGFydHMpZyhhdClpKHplcm8uKTI3NQotNTA5OCB5KFdoZW4pZShhc3NpZ25pbmcpaCh0bylnKGFuKWYoYXNzbylzKGNpYXRpdiltKGUpaihhcnJhKW0oeSktOAotYigsKTMyIGIodGhlKWUoc3Vic2NyaXB0KWYoaXMpaShyZXF1aXJlZC4pMjc1IDUyMzAgeShUaGlzKWYoc3luKW0odGF4KWoKLShpcyllKGFsc28paShhY2NlcHRlZClnKGIpbSh5KWYodGhlKWYgRnMoZGVjbGFyZSlmIEZ0KGJ1aWx0aW4uKTQ0Ci1iKEluZGl2aWR1YWwpMzEgYihhcnJhKW0oeSloKGVsZW1lbiltKHRzKWgobWEpbSh5KWcoYilzKGUpMTUwCi01MzQwIHkoYXNzaWduZWQpZSh0bylnKHVzaW5nKWYodGhlKWcgRnMobmFtZVspcCBGcShzdWJzY3JpcHQpcgotRnMoXT0pcCBGcSh2KS01IGIoYWx1ZSkzMyBiIEZ0KHN5biltKHRheCllKGluKW0odHJvKXMoZHVjZWQpZihhYilzKG8pbQotKHYpbShlLilwIGVvcCBlbmQKLSUlUGFnZTogODEgODcKLVRlWERpY3QgYmVnaW4gODEgODYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDY6KTQxCi1iKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoODEpMjc1IDI5OSB5KEFuKW0oeSkzMwotYihlbGVtZW4pbSh0KWkob2YpZihhbilmKGFycmEpbSh5KWgobWEpbSh5KWcoYilzKGUpZihyZWZlcmVuY2VkKWcKLSh1c2luZylnIEZzKCR7bmFtZVspcCBGcShzdWJzY3JpcHQpciBGcyhdfSlwIEZ0KC4pNDYKLWIoVGhlKTMzIGIoYnJhY2VzKWgoYXJlKTE1MCA0MDggeShyZXF1aXJlZCkyOCBiKHRvKWooYSltKHYpbShvaWQpZgotKGNvblwwMTVpY3RzKWcod2l0aClmKHRoZSloKHNoZWxsJ3MpZihcMDE0bGVuYW1lKWgoZXhwYW5zaW9uKWYob3ApcwotKGVyYXRvcnMuKTQxIGIoSWYpMjggYih0aGUpaSBGcShzdWJzY3JpcHQpZyBGdChpcykxNTAKLTUxOCB5KGApcCBGcyhAKXAgRnQoJylmKG9yKWcoYClwIEZzKCopcCBGdCgnLClnKHRoZSlnKHcpbShvcmQpZwotKGV4cGFuZHMpZih0bylpKGFsbClmKG1lbSltKGIpcyhlcnMpZihvZiloKHRoZSlnKGFycmEpbSh5KWgKLUZxKG5hbWUpNSBiIEZ0KC4pNDAgYihUaGVzZSkyOSBiKHN1YnNjcmlwdHMpZShkaVwwMTNlcilpKG9ubHkpMTUwCi02MjggeSh3aGVuKTM2IGIodGhlKWcodyltKG9yZClnKGFwcClzKGVhcnMpZyh3aXRoaW4pZyhkb3VibGUpZyhxdW90ZXMuKQotNjAgYihJZikzNiBiKHRoZSloKHcpbShvcmQpZihpcylnKGRvdWJsZS1xdW90ZWQsKWogRnMoJHtuYW1lWypdfSkxNTAKLTczNyB5IEZ0KGV4cGFuZHMpMjAgYih0byloKGEpZyhzaW5nbGUpZyh3KW0ob3JkKWYod2l0aCloKHRoZSlnKHYpLTUKLWIoYWx1ZSkyMSBiKG9mKWYoZWFjKW0oaClpKGFycmEpbSh5KWYobWVtKW0oYilzKGVyKWYoc2VwYXJhdGVkKWgoYiltKHkpCi1nKHRoZSlmKFwwMTRyc3QpZyhjKW0oaGFyYWN0ZXIpMTUwIDg0NyB5KG9mKTM4IGIodGhlKWcKLUZzKElGUylmIEZ0KHYpLTUgYihhcmlhYmxlLCk0MSBiKGFuZCljIEZzKCR7bmFtZVtAXX0pZQotRnQoZXhwYW5kcylpKGVhYyltKGgpaShlbGVtZW4pbSh0KWcob2YpZiBGcShuYW1lKTQzIGIKLUZ0KHRvKWMoYSlmKHNlcGFyYXRlKWgodyltKG9yZC4pMTUwIDk1NiB5KFdoZW4pMzIgYih0aGVyZSloKGFyZSlmKG5vKWcKLShhcnJhKW0oeSloKG1lbSltKGIpcyhlcnMsKWYgRnMoJHtuYW1lW0BdfSllIEZ0KGV4cGFuZHMpaCh0bylpCi0obm90aGluZy4pNDcgYihJZikzMSBiKHRoZSlpKGRvdWJsZS1xdW90ZWQpMTUwIDEwNjYgeShleHBhbnNpb24pMzkKLWIobylzKGNjdXJzKWgod2l0aGluKWYoYSloKHcpbShvcmQsKWkodGhlKWQoZXhwYW5zaW9uKWgob2YpZyh0aGUpZgotKFwwMTRyc3QpZyhwYXJhbWV0ZXIpaChpcylnKGpvaW5lZClmKHdpdGgpaCh0aGUpMTUwIDExNzYKLXkoYilzKGVnaW5uaW5nKWoocGFydCloKG9mKWcodGhlKWcob3JpZ2luYWwpaCh3KW0ob3JkLClqKGFuZCk0MwotYih0aGUpaChleHBhbnNpb24pZyhvZilnKHRoZSlnKGxhc3QpaChwYXJhbWV0ZXIpZihpcylnKGpvaW5lZCkxNTAKLTEyODUgeSh3aXRoKTM1IGIodGhlKWcobGFzdCloKHBhcnQpZihvZilnKHRoZSlnKG9yaWdpbmFsKWgodyltKG9yZC4pNTUKLWIoVGhpcykzNCBiKGlzKWgoYW5hbG9nb3VzKWgodG8pZyh0aGUpZihleHBhbnNpb24pZyhvZilnKHRoZSlnKHNwKXMKLShlY2lhbCkxNTAgMTM5NSB5KHBhcmFtZXRlcnMpMjggYihgKXAgRnMoQClwIEZ0KCcpZyhhbmQpZihgKXAKLUZzKCopcCBGdCgnLikzOSBiIEZzKCR7I25hbWVbKXAgRnEoc3Vic2NyaXB0KXIgRnMoXX0pMjQKLWIgRnQoZXhwYW5kcylqKHRvKWgodGhlKWcobGVuZ3RoKWcob2YpZiBGcygke25hbWVbKXAKLUZxKHN1YnNjcmlwdClyIEZzKF19KXAgRnQoLikxNTAgMTUwNCB5KElmKWogRnEoc3Vic2NyaXB0KWkKLUZ0KGlzKWYoYClwIEZzKEApcCBGdCgnKWYob3IpaChgKXAgRnMoKilwIEZ0KCcsKWcodGhlKWcoZXhwYW5zaW9uKWcoaXMpCi1nKHRoZSlnKG4pbSh1bSltKGIpcyhlcillKG9mKWkoZWxlbWVuKW0odHMpaChpbilmKHRoZSlnKGFycmEpbSh5KS04Ci1iKC4pNDIgYihSZWZlcmVuY2luZykxNTAgMTYxNCB5KGFuKTMwIGIoYXJyYSltKHkpaCh2KS01Ci1iKGFyaWFibGUpMzEgYih3aXRob3V0KWcoYSlmKHN1YnNjcmlwdClnKGlzKWcoZXF1aXYpLTUKLWIoYWxlbiltKHQpMzIgYih0bylmKHJlZmVyZW5jaW5nKWcod2l0aClmKGEpZyhzdWJzY3JpcHQpZyhvZilnKDAuKTI3NQotMTc1NyB5KEFuKTM1IGIoYXJyYSltKHkpaSh2KS01IGIoYXJpYWJsZSkzNyBiKGlzKWcoY29uc2lkZXJlZClmKHNldCloCi0oaWYpZihhKWgoc3Vic2NyaXB0KWUoaGFzKWgoYilzKGVlbilnKGFzc2lnbmVkKWcoYSloKHYpLTUKLWIoYWx1ZS4pNTkgYihUaGUpMzYgYihuKW0odWxsKTE1MCAxODY2IHkoc3RyaW5nKTMwIGIoaXMpaChhKWcodiktNQotYihhbGlkKTMwIGIodiktNSBiKGFsdWUuKTI3NSAyMDA5IHkoVGhlKTMyIGIgRnModW5zZXQpZwotRnQoYnVpbHRpbiloKGlzKWcodXNlZClnKHRvKWgoZGVzdHJvKW0oeSlnKGFycmEpbSh5cy4pNTAKLWIgRnModW5zZXQpMzEgYiBGcShuYW1lKTUgYiBGdChbKXAgRnEoc3Vic2NyaXB0KXIgRnQoXSkzMwotYihkZXN0cm8pbSh5cyloKHRoZSlmKGFycmEpbSh5KTE1MCAyMTE5IHkoZWxlbWVuKW0odClpKGF0KWcoaW5kZXgpZgotRnEoc3Vic2NyaXB0KXIgRnQoLik1MCBiKENhcmUpMzQgYihtKW0odXN0KWYoYilzKGUpaCh0YWspbShlbiloKHRvKWYoYSkKLW0odiltKG9pZClpKHVuKW0odyltKGFuKW0odGVkKWUoc2lkZSlnKGVcMDEzZWN0cyloKGNhdXNlZClmKGIpbSh5KTE1MAotMjIyOCB5KFwwMTRsZW5hbWUpNDAgYihleHBhbnNpb24uKTY5IGIgRnModW5zZXQpMzkgYgotRnEobmFtZSk1IGIgRnQoLCk0MiBiKHdoZXJlKWUgRnEobmFtZSk0NSBiIEZ0KGlzKTM5IGIoYW4paChhcnJhKW0oeSktOAotYigsKTQ0IGIocmVtbyltKHYpbShlcylkKHRoZSlmKGVuKW0odGlyZSloKGFycmEpbSh5KS04Ci1iKC4pNzAgYihBKTE1MCAyMzM4IHkoc3Vic2NyaXB0KTI5IGIob2YpaShgKXAgRnMoKilwCi1GdCgnKWYob3IpaChgKXAgRnMoQClwIEZ0KCcpZihhbHNvKWgocmVtbyltKHYpbShlcyloKHRoZSlmKGVuKW0odGlyZSlnCi0oYXJyYSltKHkpLTggYiguKTI3NSAyNDgxIHkoVGhlKTQxIGIgRnMoZGVjbGFyZSlwIEZ0KCwpaQotRnMobG9jYWwpcCBGdCgsKWgoYW5kKWQgRnMocmVhZG9ubHkpZiBGdChidWlsdGlucyloKGVhYyltKGgpaihhY2NlcHQpZgotKGEpZihgKXAgRnMoLWEpcCBGdCgnKWcob3B0aW9uKWgodG8pZihzcClzKGVjaWZ5KWcoYW4pMTUwCi0yNTkxIHkoaW5kZXhlZCkzNCBiKGFycmEpbSh5KWgoYW5kKWYoYSloKGApcCBGcygtQSlwCi1GdCgnKWcob3B0aW9uKWcodG8pZyhzcClzKGVjaWZ5KWcoYW4pZihhc3NvKXMoY2lhdGl2KW0oZSlqKGFycmEpbSh5KS04Ci1iKC4pNTUgYihUaGUpMzQgYiBGcyhyZWFkKWYgRnQoYnVpbHRpbilpKGFjY2VwdHMpMTUwCi0yNzAwIHkoYSloKGApcCBGcygtYSlwIEZ0KCcpZihvcHRpb24paCh0bylnKGFzc2lnbilnKGEpZihsaXN0KWgob2YpZyh3KQotbShvcmRzKWYocmVhZClnKGZyb20pZyh0aGUpaChzdGFuZGFyZCllKGlucHV0KWgodG8paChhbilmKGFycmEpbSh5KS04Ci1iKCwpMzggYihhbmQpZChjYW4pMTUwIDI4MTAgeShyZWFkKWModiktNSBiKGFsdWVzKTMxCi1iKGZyb20pZih0aGUpaChzdGFuZGFyZClmKGlucHV0KWcoaW4pbSh0bylpKGluZGl2aWR1YWwpZShhcnJhKW0oeSloCi0oZWxlbWVuKW0odHMuKTQ0IGIoVGhlKTMwIGIgRnMoc2V0KWcgRnQoYW5kKWcgRnMoZGVjbGFyZSkxNTAKLTI5MTkgeSBGdChidWlsdGlucylnKGRpc3BsYSltKHkpZyhhcnJhKW0oeSloKHYpLTUgYihhbHVlcykzMQotYihpbilmKGEpaCh3KW0oYSltKHkpZyh0aGF0KWcoYWxsbyltKHdzKWgodGhlbSllKHRvKWgoYilzKGUpZihyZXVzZWQpZwotKGFzKWcoaW5wdXQuKTE1MCAzMTY0IHkgRnIoNi44KTY4IGIoVGhlKTQ1IGIoRGlyZWN0b3J5KWcoU3RhYylsKGspMTUwCi0zMzI0IHkgRnQoVGhlKTIxIGIoZGlyZWN0b3J5KWgoc3RhYyltKGspaChpcyllKGEpaChsaXN0KWcob2YpZihyZWNlbiltCi0odGx5LXZpc2l0ZWQpaihkaXJlY3Rvcmllcy4pMzkgYihUaGUpMjAgYiBGcyhwdXNoZClnCi1GdChidWlsdGluKWgoYWRkcylnKGRpcmVjdG9yaWVzKTE1MCAzNDMzIHkodG8pNDIgYih0aGUpZihzdGFjKW0oaylpKGFzKQotZShpdCloKGMpbShoYW5nZXMpZyh0aGUpZihjdXJyZW4pbSh0KWcoZGlyZWN0b3J5KS04IGIoLCk0NQotYihhbmQpNDAgYih0aGUpaSBGcyhwb3BkKWUgRnQoYnVpbHRpbilnKHJlbW8pbSh2KW0oZXMpaihzcClzKGVjaVwwMTRlZCkKLTE1MCAzNTQzIHkoZGlyZWN0b3JpZXMpMjkgYihmcm9tKWYodGhlKWgoc3RhYyltKGspaChhbmQpZChjKW0oaGFuZ2VzKWoKLSh0aGUpZShjdXJyZW4pbSh0KWcoZGlyZWN0b3J5KWgodG8pZyh0aGUpZyhkaXJlY3RvcnkpZihyZW1vKW0odiltKGVkLikKLTQxIGIoVGhlKTE1MCAzNjUzIHkgRnMoZGlycykyOSBiIEZ0KGJ1aWx0aW4paChkaXNwbGEpbSh5cyloKHRoZSlmKGNvbiltCi0odGVuKW0odHMpaShvZilmKHRoZSlmKGRpcmVjdG9yeSloKHN0YWMpbShrLikyNzUgMzc5NQoteShUaGUpayhjb24pbSh0ZW4pbSh0cylpKG9mKWYodGhlKWgoZGlyZWN0b3J5KWYoc3RhYyltKGspaChhcmUpZihhbHNvKWgKLSh2aXNpYmxlKWcoYXMpZih0aGUpZyh2KS01IGIoYWx1ZSkzNiBiKG9mKWcodGhlKWcgRnMoRElSU1RBQ0spZQotRnQoc2hlbGwpMTUwIDM5MDUgeSh2KS01IGIoYXJpYWJsZS4pMTUwIDQxMTMgeSBGaig2LjguMSk2MwotYihEaXJlY3RvcnkpNDAgYihTdGFjKW0oaylnKEJ1aWx0aW5zKTE1MCA0Mjg5IHkgRnMoZGlycyk4NzAKLTQ0MjcgeShkaXJzKTQ3IGIoWyspcCBGaShOKTU3IGIgRnMofCk0OCBiKC0pcCBGaShOKTExCi1iIEZzKF0pNDYgYihbLWNscHZdKTYzMCA0NTY2IHkgRnQoRGlzcGxhKW0oeSkzNSBiKHRoZSlmKGxpc3QpZyhvZilnCi0oY3VycmVuKW0odGx5KWcocmVtZW0pbShiKXMoZXJlZClmKGRpcmVjdG9yaWVzLik1MSBiKERpcmVjdG9yaWVzKTM2Ci1iKGFyZSllKGFkZGVkKWYodG8pNjMwIDQ2NzYgeSh0aGUpMjggYihsaXN0KWgod2l0aClmKHRoZSlnCi1GcyhwdXNoZClmIEZ0KGNvbW1hbmQ7KWkodGhlKWYgRnMocG9wZClmIEZ0KGNvbW1hbmQpaChyZW1vKW0odiltKGVzKWgKLShkaXJlY3RvcmllcylnKGZyb20pNjMwIDQ3ODUgeSh0aGUpaShsaXN0Lik2MzAgNDk1MyB5Ci1GcygrKXAgRmkoTikzODQgYiBGdChEaXNwbGEpbSh5cykyMyBiKHRoZSlmIEZxKE4pMTAgYgotRnQodGgpMjEgYihkaXJlY3RvcnkpaChcKGNvdW4pbSh0aW5nKWgoZnJvbSllKHRoZSloKGxlZnQpZyhvZilnKHRoZSlnCi0obGlzdClnKHByaW4pbSh0ZWQpMTExMCA1MDYzIHkoYiltKHkpMzAgYiBGcyhkaXJzKWYgRnQod2hlbiloKGluKW0odiltCi0ob2spbShlZClpKHdpdGhvdXQpZShvcHRpb25zXCksKWgoc3RhcnRpbmcpZyh3aXRoKWcoemVyby4pNjMwCi01MjMwIHkgRnMoLSlwIEZpKE4pMzg0IGIgRnQoRGlzcGxhKW0oeXMpNDcgYih0aGUpZyBGcShOKTEwCi1iIEZ0KHRoKTQ2IGIoZGlyZWN0b3J5KWgoXChjb3VuKW0odGluZylnKGZyb20pZih0aGUpZyhyaWdoKW0odCloKG9mKWcKLSh0aGUpZihsaXN0KTExMTAgNTM0MCB5KHByaW4pbSh0ZWQpMjUgYihiKW0oeSlnIEZzKGRpcnMpZwotRnQod2hlbilmKGluKW0odiltKG9rKW0oZWQpaih3aXRob3V0KWYob3B0aW9uc1wpLCloKHN0YXJ0aW5nKWcod2l0aCllCi0oemVyby4pcCBlb3AgZW5kCi0lJVBhZ2U6IDgyIDg4Ci1UZVhEaWN0IGJlZ2luIDgyIDg3IGJvcCAxNTAgLTExNiBhIEZ0KDgyKTI1NzIgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkgRnMoLWMpMzg0IGIgRnQoQ2xlYXJzKTMxCi1iKHRoZSlmKGRpcmVjdG9yeSloKHN0YWMpbShrKWgoYiltKHkpZShkZWxldGluZyloKGFsbCloKG9mKWUodGhlKWgKLShlbGVtZW4pbSh0cy4pNjMwIDQ1NyB5IEZzKC1sKTM4NCBiIEZ0KFBybylzKGR1Y2VzKTMwCi1iKGEpaShsb25nZXIpZyhsaXN0aW5nOyloKHRoZSlmKGRlZmF1bHQpZihsaXN0aW5nKWkoZm9ybWF0KWUodXNlcylnKGEpaAotKHRpbGRlKWcodG8pMTExMCA1NjcgeShkZW5vdGUpZih0aGUpZihob21lKWgoZGlyZWN0b3J5KS04Ci1iKC4pNjMwIDcyNSB5IEZzKC1wKTM4NCBiIEZ0KENhdXNlcykzMCBiIEZzKGRpcnMpZiBGdCh0bylpKHByaW4pbSh0KWYKLSh0aGUpaChkaXJlY3RvcnkpZyhzdGFjKW0oayloKHdpdGgpZShvbmUpZyhlbiltKHRyeSloKHApcyhlcillKGxpbmUuKQotNjMwIDg4MyB5IEZzKC12KTM4NCBiIEZ0KENhdXNlcykzNiBiIEZzKGRpcnMpZiBGdCh0bylpKHByaW4pbSh0KWYodGhlKWcKLShkaXJlY3RvcnkpaChzdGFjKW0oayloKHdpdGgpZShvbmUpaChlbiltKHRyeSlmKHApcyhlcilmKGxpbmUsKTExMTAKLTk5MyB5KHByZVwwMTR4aW5nKTMwIGIoZWFjKW0oaCloKGVuKW0odHJ5KWcod2l0aClmKGl0cyloKGluZGV4KWUoaW4paQotKHRoZSlmKHN0YWMpbShrLikxNTAgMTE1MSB5IEZzKHBvcGQpODcwIDEyODUgeShwb3BkKTQ3Ci1iKFsrKXAgRmkoTik1NyBiIEZzKHwpNDggYigtKXAgRmkoTikxMSBiIEZzKF0pNDYgYihbLW5dKTYzMAotMTQxOSB5IEZ0KFJlbW8pbSh2KW0oZSkyNiBiKHRoZSllKHRvcClnKGVuKW0odHJ5KWgoZnJvbSllKHRoZSloCi0oZGlyZWN0b3J5KWgoc3RhYyltKGssKWkoYW5kKWMgRnMoY2QpaCBGdCh0byloKHRoZSlmKG5ldylmKHRvcClpCi0oZGlyZWN0b3J5KS04IGIoLik2MzAgMTUyOCB5KFdoZW4pMzIgYihubylnKGFyZ3VtZW4pbSh0cyloKGFyZSlnKGdpdiltCi0oZW4sKWggRnMocG9wZClkIEZ0KHJlbW8pbSh2KW0oZXMpaih0aGUpZih0b3ApZihkaXJlY3RvcnkpaChmcm9tKWYodGhlKQotZyhzdGFjKW0oayk2MzAgMTYzOCB5KGFuZClmKHApcyhlcmZvcm1zKWUoYSlqIEZzKGNkKWYKLUZ0KHRvKWgodGhlKWYobmV3KWcodG9wKWgoZGlyZWN0b3J5KS04IGIoLik0NCBiKFRoZSkzMQotYihlbGVtZW4pbSh0cylpKGFyZSllKG4pbSh1bSltKGIpcyhlcmVkKWYoZnJvbSk2MzAgMTc0OAoteSgwKWQoc3RhcnRpbmcpZyhhdClnKHRoZSlnKFwwMTRyc3QpZihkaXJlY3RvcnkpaChsaXN0ZWQpZyh3aXRoKWYKLUZzKGRpcnMpcCBGdCg7KWgoaS5lLiwpaSBGcyhwb3BkKWMgRnQoaXMpaShlcXVpdiktNSBiKGFsZW4pbSh0KTI4Ci1iKHRvKWYgRnMocG9wZCk2MzAgMTg1NyB5KCswKXAgRnQoLik2MzAgMjAxNSB5IEZzKCspcAotRmkoTikzODQgYiBGdChSZW1vKW0odiltKGVzKTIyIGIodGhlKWYgRnEoTikxMCBiIEZ0KHRoKTIwCi1iKGRpcmVjdG9yeSlnKFwoY291biltKHRpbmcpaShmcm9tKWUodGhlKWcobGVmdCloKG9mKWcodGhlKWYobGlzdCloCi0ocHJpbiltKHRlZCkxMTEwIDIxMjUgeShiKW0oeSkzMCBiIEZzKGRpcnMpcCBGdChcKSwpZyhzdGFydGluZyloKHdpdGgpZgotKHplcm8uKTYzMCAyMjgzIHkgRnMoLSlwIEZpKE4pMzg0IGIgRnQoUmVtbyltKHYpbShlcyk0NgotYih0aGUpZyBGcShOKTEwIGIgRnQodGgpNDQgYihkaXJlY3RvcnkpaChcKGNvdW4pbSh0aW5nKWgoZnJvbSlmKHRoZSlnCi0ocmlnaCltKHQpZyhvZilnKHRoZSlnKGxpc3QpMTExMCAyMzkzIHkocHJpbiltKHRlZCkzMAotYihiKW0oeSlnIEZzKGRpcnMpcCBGdChcKSwpZyhzdGFydGluZyloKHdpdGgpZih6ZXJvLik2MzAKLTI1NTEgeSBGcygtbikzODQgYiBGdChTdXBwcmVzc2VzKTI3IGIodGhlKWoobm9ybWFsKWcoYyltKGhhbmdlKWcob2YpZwotKGRpcmVjdG9yeSlnKHdoZW4pZShyZW1vKW0odmluZylqKGRpcmVjdG8tKTExMTAgMjY2MQoteShyaWVzKWYoZnJvbSlnKHRoZSloKHN0YWMpbShrLCloKHNvKWYodGhhdClnKG9ubHkpZih0aGUpaChzdGFjKW0oaylnCi0oaXMpZyhtYW5pcHVsYXRlZC4pMTUwIDI4MTkgeSBGcyhwdXNoZCk4NzAgMjk1MyB5KHB1c2hkKTQ2Ci1iKFstbl0paChbKylwIEZpKE4pNTcgYiBGcyh8KTQ4IGIgRmkoLU4pNTggYiBGcyh8KTQ3Ci1iIEZpKGRpcik1NyBiIEZzKF0pNjMwIDMwODcgeSBGdChTYSltKHYpbShlKTI5IGIodGhlKWYoY3VycmVuKW0odClnCi0oZGlyZWN0b3J5KWcob24pZyh0aGUpZyh0b3ApZyhvZilnKHRoZSlnKGRpcmVjdG9yeSloKHN0YWMpbShrKWcoYW5kKWUKLSh0aGVuKWggRnMoY2QpZiBGdCh0bylpIEZxKGRpcik3IGIgRnQoLik2MzAgMzE5NiB5KFdpdGgpMzEKLWIobm8pZihhcmd1bWVuKW0odHMsKWggRnMocHVzaGQpZSBGdChleGMpbShoYW5nZXMpaih0aGUpZSh0b3ApaCh0KW0odyltCi0obyloKGRpcmVjdG9yaWVzLik2MzAgMzM1NCB5IEZzKC1uKTM4NCBiIEZ0KFN1cHByZXNzZXMpMjYKLWIodGhlKWkobm9ybWFsKWgoYyltKGhhbmdlKWcob2YpZihkaXJlY3RvcnkpaCh3aGVuKWUoYWRkaW5nKWgKLShkaXJlY3RvcmllcykxMTEwIDM0NjQgeSh0bylqKHRoZSlnKHN0YWMpbShrLCloKHNvKWUodGhhdCloKG9ubHkpZyh0aGUpCi1mKHN0YWMpbShrKWkoaXMpZihtYW5pcHVsYXRlZC4pNjMwIDM2MjIgeSBGcygrKXAgRmkoTikzODQKLWIgRnQoQnJpbmdzKTI5IGIodGhlKWYgRnEoTikxMCBiIEZ0KHRoKTI5IGIoZGlyZWN0b3J5KWcoXChjb3VuKW0odGluZyloCi0oZnJvbSllKHRoZSlnKGxlZnQpaShvZillKHRoZSloKGxpc3QpZyhwcmluKW0odGVkKTExMTAKLTM3MzIgeShiKW0oeSkzNCBiIEZzKGRpcnMpcCBGdCgsKWcoc3RhcnRpbmcpaCh3aXRoKWYoemVyb1wpKWkodG8pZih0aGUpCi1mKHRvcClnKG9mKWgodGhlKWYobGlzdCloKGIpbSh5KWYocm90YXRpbmcpaSh0aGUpMTExMAotMzg0MSB5KHN0YWMpbShrLik2MzAgNDAwMCB5IEZzKC0pcCBGaShOKTM4NCBiIEZ0KEJyaW5ncykyMwotYih0aGUpZyBGcShOKTEwIGIgRnQodGgpMjMgYihkaXJlY3RvcnkpaChcKGNvdW4pbSh0aW5nKWcoZnJvbSllKHRoZSlpCi0ocmlnaCltKHQpZihvZilnKHRoZSloKGxpc3QpZihwcmluKW0odGVkKTExMTAgNDEwOSB5KGIpbSh5KTM0Ci1iIEZzKGRpcnMpcCBGdCgsKWcoc3RhcnRpbmcpaCh3aXRoKWYoemVyb1wpKWkodG8pZih0aGUpZih0b3ApZyhvZiloCi0odGhlKWYobGlzdCloKGIpbSh5KWYocm90YXRpbmcpaSh0aGUpMTExMCA0MjE5IHkoc3RhYyltKGsuKTYzMAotNDM3NyB5IEZpKGRpcikzMzYgYiBGdChNYWspbShlcykzNiBiKHRoZSlmKGN1cnJlbiltKHQpZyh3KW0ob3JraW5nKWcKLShkaXJlY3RvcnkpZyhiKXMoZSlmKHRoZSloKHRvcClnKG9mKWcodGhlKWcoc3RhYyltKGssKWooYW5kKTExMTAKLTQ0ODcgeSh0aGVuKTMwIGIoZXhlY3V0ZXMpaSh0aGUpZShlcXVpdiktNSBiKGFsZW4pbSh0KTMyCi1iKG9mKWYoYClwIEZzKGNkKWYgRnEoZGlyKTcgYiBGdCgnLikzOSBiIEZzKGNkKXAgRnQocykzMAotYih0byloIEZxKGRpcik3IGIgRnQoLikxNTAgNDcxOCB5IEZyKDYuOSk2OCBiKENvbilsKHRyb2xsaW5nKTQ3Ci1iKHRoZSllKFByb21wdCkxNTAgNDg3NyB5IEZ0KFRoZSkyNCBiKHYpLTUgYihhbHVlKTI0Ci1iKG9mKWgodGhlKWYodiktNSBiKGFyaWFibGUpMjUgYiBGcyhQUk9NUFRfQ09NTUFORCkyMAotYiBGdChpcykyNSBiKGV4YW1pbmVkKWYoanVzdClnKGIpcyhlZm9yZSlmKEJhc2gpaShwcmluKW0odHMpZShlYWMpbShoKWoKLShwcmltYXJ5KTE1MCA0OTg3IHkocHJvbXB0LikzOSBiKElmKTI4IGIgRnMoUFJPTVBUX0NPTU1BTkQpZAotRnQoaXMpaihzZXQpaChhbmQpZihoYXMpZyhhKWgobm9uLW4pbSh1bGwpZih2KS01IGIoYWx1ZSwpMjkKLWIodGhlbilmKHRoZSloKHYpLTUgYihhbHVlKTI5IGIoaXMpZihleGVjdXRlZClpKGp1c3QpMTUwCi01MDk2IHkoYXMpaChpZilmKGl0KWgoaGFkKWYoYilzKGVlbilmKHQpbSh5cClzKGVkKWgob24paCh0aGUpZihjb21tYW5kKQotZyhsaW5lLikyNzUgNTIzMCB5KEluKWQoYWRkaXRpb24sKWoodGhlKWYoZm9sbG8pbSh3aW5nKWgodGFibGUpZgotKGRlc2NyaWIpcyhlcylmKHRoZSloKHNwKXMoZWNpYWwpZyhjKW0oaGFyYWN0ZXJzKWgod2hpYyltKGgpZihjYW4pZgotKGFwcClzKGVhcilnKGluKWgodGhlKTE1MCA1MzQwIHkocHJvbXB0KWcodiktNSBiKGFyaWFibGVzOilwCisodXNpbmcpZih0aGUpZyhzeW4pbSh0YXgpMzkwIDI5NzQgeSBGcyhuYW1lWylwIEZpKHN1YnNjcmlwdCkxMQorYiBGcyhdPSlwIEZpKHZhbHVlKTE1MCAzMTA4IHkgRnQoVGhlKTM3IGIgRnEoc3Vic2NyaXB0KWgKK0Z0KGlzKWYodHJlYXRlZCloKGFzKWYoYW4pZyhhcml0aG1ldGljKWkoZXhwcmVzc2lvbillKHRoYXQpZyhtKW0odXN0KWcKKyhldiktNSBiKGFsdWF0ZSkzOSBiKHRvKWYoYSlnKG4pbSh1bSltKGIpcyhlci4pNTkgYihJZikxNTAKKzMyMTcgeSBGcShzdWJzY3JpcHQpMjkgYiBGdChldiktNSBiKGFsdWF0ZXMpMjkgYih0bylnKGEpZyhuKW0odW0pbShiKXMKKyhlcilkKGxlc3Mpaih0aGFuKWUoemVybywpaihpdCllKGlzKWgodXNlZCllKGFzKWgoYW4pZyhvXDAxM3NldCloKGZyb20pCitmKG9uZSlnKGdyZWF0ZXIpaCh0aGFuKTE1MCAzMzI3IHkodGhlKWgoYXJyYSltKHkncyloKG1heGltKW0odW0pZQorKGluZGV4KWgoXChzbylnKGEpaChzdWIpcyhjcmlwdClkKG9mKWkoLTEpaChyZWZlcnMpZSh0bylpKHRoZSlmKGxhc3QpaAorKGVsZW1lbiltKHQpZyhvZilmKHRoZSlnKGFycmEpbSh5XCkuKTQxIGIoVCktOCBiKG8pMTUwCiszNDM2IHkoZXhwbGljaXRseSkzMiBiKGRlY2xhcmUpZihhbilnKGFycmEpbSh5KS04IGIoLCkzMQorYih1c2UpMzkwIDM1NzAgeSBGcyhkZWNsYXJlKTQ2IGIoLWEpaCBGaShuYW1lKTE1MCAzNzAzCit5IEZ0KFRoZSkzMCBiKHN5biltKHRheCkzOTAgMzgzNiB5IEZzKGRlY2xhcmUpNDYgYigtYSloCitGaShuYW1lKTExIGIgRnMoWylwIEZpKHN1YnNjcmlwdClnIEZzKF0pMTUwIDM5NjkgeSBGdChpcykzMAorYihhbHNvKWkoYWNjZXB0ZWQ7KWcodGhlKWUgRnEoc3Vic2NyaXB0KWggRnQoaXMpZyhpZ25vcmVkLikyNzUKKzQxMDIgeShBc3NvKXMoY2lhdGl2KW0oZSloKGFycmEpbSh5cylmKGFyZSlnKGNyZWF0ZWQpZyh1c2luZykzOTAKKzQyMzYgeSBGcyhkZWNsYXJlKTQ2IGIoLUEpaCBGaShuYW1lKTExIGIgRnMoLikyNzUgNDM2OQoreSBGdChBKW0odHRyaWJ1dGVzKTQ2IGIobWEpbSh5KWgoYilzKGUpZShzcClzKGVjaVwwMTRlZClnKGZvciloKGFuKWcKKyhhcnJhKW0oeSlnKHYpLTUgYihhcmlhYmxlKTQ3IGIodXNpbmcpZSh0aGUpaCBGcyhkZWNsYXJlKWUKK0Z0KGFuZCloIEZzKHJlYWRvbmx5KTE1MCA0NDc4IHkgRnQoYnVpbHRpbnMuKTQwIGIoRWFjKW0oaCkzMQorYihhdHRyaWJ1dGUpZyhhcHBsaWVzKWcodG8pZyhhbGwpZyhtZW0pbShiKXMoZXJzKWYob2YpZyhhbiloKGFycmEpbSh5KQorLTggYiguKTI3NSA0NjEyIHkoQXJyYSltKHlzKTMwIGIoYXJlKWgoYXNzaWduZWQpZih0byloKHVzaW5nKWYoY29tcClzCisob3VuZClmKGFzc2lnbm1lbiltKHRzKWkob2YpZyh0aGUpZihmb3JtKTM5MCA0NzQ1IHkgRnMobmFtZT1cKHZhbHVlKXAKK0ZpKDEpNTUgYiBGcyguLi4pNDcgYih2YWx1ZSlwIEZpKG4pMTEgYiBGcyhcKSkxNTAgNDg3OAoreSBGdCh3aGVyZSkzNyBiKGVhYyltKGgpaSBGcSh2KS01IGIoYWx1ZSk0MiBiIEZ0KGlzKWMob2YpZyh0aGUpZihmb3JtKWcKK0ZzKFspcCBGaShzdWJzY3JpcHQpMTEgYiBGcyhdPSlwIEZxKHN0cmluZylkIEZ0KC4pNTgKK2IoSW5kZXhlZCkzNiBiKGFycmEpbSh5KWkoYXNzaWdubWVuKW0odHMpZyhkbylnKG5vdCkxNTAKKzQ5ODggeShyZXF1aXJlKWModGhlKWcoYnJhYyltKGspbShldCloKGFuZCllKHN1YnNjcmlwdC4pNTAKK2IoV2hlbikzNCBiKGFzc2lnbmluZylnKHRvKWcoaW5kZXhlZClnKGFycmEpbSh5cywpaChpZilmKHRoZSlnCisob3B0aW9uYWwpaChzdWItKTE1MCA1MDk3IHkoc2NyaXB0KWMoaXMpaChzdXBwbGllZCwpZih0aGF0KWgoaW5kZXgpZgorKGlzKWgoYXNzaWduZWQpZyh0bzspaChvdGhlcndpc2UpZih0aGUpZihpbmRleCloKG9mKWYodGhlKWgoZWxlbWVuKW0odCkKK2goYXNzaWduZWQpZihpcykxNTAgNTIwNyB5KHRoZSlmKGxhc3QpZyhpbmRleClmKGFzc2lnbmVkKWcodG8paChiKW0oeSlnCisodGhlKWYoc3RhdGVtZW4pbSh0KWkocGx1cyllKG9uZS4pNDEgYihJbmRleGluZykzMCBiKHN0YXJ0cylnKGF0KWkKKyh6ZXJvLikyNzUgNTM0MCB5KFdoZW4pZShhc3NpZ25pbmcpaCh0bylnKGFuKWYoYXNzbylzKGNpYXRpdiltKGUpagorKGFycmEpbSh5KS04IGIoLCkzMiBiKHRoZSllKHN1YnNjcmlwdClmKGlzKWkocmVxdWlyZWQuKXAKIGVvcCBlbmQKICUlUGFnZTogODMgODkKIFRlWERpY3QgYmVnaW4gODMgODggYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDY6KTQxCi1iKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoODMpMTUwIDI5OSB5IEZzKFxcYSkzODQKLWIgRnQoQSkzMCBiKGIpcyhlbGwpaChjKW0oaGFyYWN0ZXIuKTE1MCA0NTcgeSBGcyhcXGQpMzg0Ci1iIEZ0KFRoZSkzMCBiKGRhdGUsKWgoaW4pZiBGcygiKXAgRnQoVyktOCBiKGVla2RhKW0oeSkzMgotYihNb24pbSh0aClmKERhdGUpcCBGcygiKWggRnQoZm9ybWF0KWYoXChlLmcuLCloIEZzKCIpcAotRnQoVCktOCBiKHVlKTMwIGIoTWEpbSh5KWgoMjYpcCBGcygiKXAgRnQoXCkuKTE1MCA2MTUKLXkgRnMoXFxEeylwIEZpKGZvcm1hdCkxMSBiIEZzKH0pNjMwIDcyNSB5IEZ0KFRoZSkyNyBiCi1GcShmb3JtYXQpaSBGdChpcylmKHBhc3NlZCllKHRvKWkgRnMoc3RyZnRpbWUpcCBGdChcKDNcKSlmKGFuZClmKHRoZSlpCi0ocmVzdWx0KWYoaXMpZyhpbnNlcnRlZClnKGluKW0odG8paCh0aGUpZyhwcm9tcHQpNjMwCi04MzUgeShzdHJpbmc7KTQyIGIoYW4pZChlbXB0KW0oeSlmIEZxKGZvcm1hdClqIEZ0KHJlc3VsdHMpZChpbilnKGEpaAotKGxvKXMoY2FsZS1zcClzKGVjaVwwMTRjKWgodGltZSlmKHJlcHJlc2VuKW0odGF0aW9uLik2NQotYihUaGUpNjMwIDk0NCB5KGJyYWNlcykzMSBiKGFyZSlmKHJlcXVpcmVkLikxNTAgMTEwMwoteSBGcyhcXGUpMzg0IGIgRnQoQW4pMzAgYihlc2NhcClzKGUpaChjKW0oaGFyYWN0ZXIuKTE1MAotMTI2MSB5IEZzKFxcaCkzODQgYiBGdChUaGUpMzAgYihob3N0bmFtZSwpaCh1cCllKHRvKWkodGhlKWcoXDAxNHJzdCllCi0oYC4nLikxNTAgMTQxOSB5IEZzKFxcSCkzODQgYiBGdChUaGUpMzAgYihob3N0bmFtZS4pMTUwCi0xNTc3IHkgRnMoXFxqKTM4NCBiIEZ0KFRoZSkzMCBiKG4pbSh1bSltKGIpcyhlcilmKG9mKWgoam9icylnKGN1cnJlbiltCi0odGx5KWgobWFuYWdlZClnKGIpbSh5KWYodGhlKWcoc2hlbGwuKTE1MCAxNzM2IHkgRnMoXFxsKTM4NAotYiBGdChUaGUpMzAgYihiYXNlbmFtZSloKG9mKWYodGhlKWgoc2hlbGwncylmKHRlcm1pbmFsKWgoZGV2aWNlKWcKLShuYW1lLikxNTAgMTg5NCB5IEZzKFxcbikzODQgYiBGdChBKTMwIGIobmV3bGluZS4pMTUwCi0yMDUyIHkgRnMoXFxyKTM4NCBiIEZ0KEEpMzAgYihjYXJyaWFnZSlpKHJldHVybi4pMTUwCi0yMjExIHkgRnMoXFxzKTM4NCBiIEZ0KFRoZSkyMiBiKG5hbWUpZyhvZiloKHRoZSlmKHNoZWxsLClpKHRoZSlmCi0oYmFzZW5hbWUpZihvZiloIEZzKCQwKWYgRnQoXCh0aGUpZyhwKXMob3J0aW9uKWcoZm9sbG8pbSh3aW5nKWkodGhlKWYKLShcMDE0bmFsKWUoc2xhc2hcKS4pMTUwIDIzNjkgeSBGcyhcXHQpMzg0IGIgRnQoVGhlKTMwCi1iKHRpbWUsKWgoaW4pZigyNC1ob3VyKWgoSEg6TU06U1MpZyhmb3JtYXQuKTE1MCAyNTI3Ci15IEZzKFxcVCkzODQgYiBGdChUaGUpMzAgYih0aW1lLCloKGluKWYoMTItaG91ciloKEhIOk1NOlNTKWcoZm9ybWF0LikKLTE1MCAyNjg1IHkgRnMoXFxAKTM4NCBiIEZ0KFRoZSkzMCBiKHRpbWUsKWgoaW4pZigxMi1ob3VyKWgoYW0vcG0pZgotKGZvcm1hdC4pMTUwIDI4NDQgeSBGcyhcXEEpMzg0IGIgRnQoVGhlKTMwIGIodGltZSwpaChpbilmKDI0LWhvdXIpaAotKEhIOk1NKWcoZm9ybWF0LikxNTAgMzAwMiB5IEZzKFxcdSkzODQgYiBGdChUaGUpMzAgYih1c2VybmFtZSlnKG9mKWcKLSh0aGUpaChjdXJyZW4pbSh0KWYodXNlci4pMTUwIDMxNjAgeSBGcyhcXHYpMzg0IGIgRnQoVGhlKTMwCi1iKHYpbShlcnNpb24paChvZilmKEJhc2gpaChcKGUuZy4sKWgoMi4wMFwpKTE1MCAzMzE5Ci15IEZzKFxcVikzODQgYiBGdChUaGUpMzAgYihyZWxlYXNlKWkob2YpZShCYXNoLCloKHYpbShlcnNpb24pZwotRnMoKylmIEZ0KHBhdGMpbShobGV2KW0oZWwpaShcKGUuZy4sKWgoMi4wMC4wXCkpMTUwIDM0NzcKLXkgRnMoXFx3KTM4NCBiIEZ0KFRoZSkzNCBiKGN1cnJlbiltKHQpaCh3KW0ob3JraW5nKWcoZGlyZWN0b3J5KS04Ci1iKCwpMzcgYih3aXRoKWUgRnMoJEhPTUUpZSBGdChhYmJyZXZpYXRlZClqKHdpdGgpZShhKWgodGlsZGUpaChcKHVzZXMpZgotKHRoZSk2MzAgMzU4NyB5IEZzKCRQUk9NUFRfRElSVFJJTSkyNiBiIEZ0KHYpLTUgYihhcmlhYmxlXCkuKTE1MAotMzc0NSB5IEZzKFxcVykzODQgYiBGdChUaGUpMzAgYihiYXNlbmFtZSloKG9mKWYgRnMoJFBXRClwCi1GdCgsKWcod2l0aClnIEZzKCRIT01FKWYgRnQoYWJicmV2aWF0ZWQpaCh3aXRoKWcoYSloKHRpbGRlLikxNTAKLTM5MDMgeSBGcyhcXCEpMzg0IGIgRnQoVGhlKTMwIGIoaGlzdG9yeSlnKG4pbSh1bSltKGIpcyhlcilmKG9mKWkodGhpcylmCi0oY29tbWFuZC4pMTUwIDQwNjEgeSBGcyhcXCMpMzg0IGIgRnQoVGhlKTMwIGIoY29tbWFuZClnKG4pbSh1bSltKGIpcwotKGVyKWYob2YpaSh0aGlzKWYoY29tbWFuZC4pMTUwIDQyMjAgeSBGcyhcXCQpMzg0IGIgRnQoSWYpMzAKLWIodGhlKWcoZVwwMTNlY3RpdiltKGUpaih1aWQpZChpcylnKDAsKWggRnMoIylwIEZ0KCwpZyhvdGhlcndpc2UpZwotRnMoJClwIEZ0KC4pMTUwIDQzNzggeSBGcyhcXClwIEZpKG5ubikyODggYiBGdChUaGUpMzAKLWIoYyltKGhhcmFjdGVyKWkod2hvc2UpZShBU0NJKXMoSSlmKGNvKXMoZGUpaChpcyloKHRoZSlmKG8pcyhjdGFsKWkodikKLS01IGIoYWx1ZSkzMSBiIEZxKG5ubilwIEZ0KC4pMTUwIDQ1MzYgeSBGcyhcXFxcKTM4NCBiCi1GdChBKTMwIGIoYmFjKW0oa3NsYXNoLikxNTAgNDY5NSB5IEZzKFxcWykzODQgYiBGdChCZWdpbikzOAotYihhKWYoc2VxdWVuY2UpZyhvZilnKG5vbi1wcmluKW0odGluZylnKGMpbShoYXJhY3RlcnMuKTYxCi1iKFRoaXMpMzYgYihjb3VsZCloKGIpcyhlKWcodXNlZClmKHRvKWgoZW0pbShiKXMoZWQpZyhhKTYzMAotNDgwNCB5KHRlcm1pbmFsKTMxIGIoY29uKW0odHJvbCloKHNlcXVlbmNlKWUoaW4pbSh0bylpKHRoZSllKHByb21wdC4pCi0xNTAgNDk2MyB5IEZzKFxcXSkzODQgYiBGdChFbmQpMjkgYihhKWkoc2VxdWVuY2UpZyhvZilmKG5vbi1wcmluKW0KLSh0aW5nKWcoYyltKGhhcmFjdGVycy4pMjc1IDUxMjEgeShUaGUpMjUgYihjb21tYW5kKWgobiltKHVtKW0oYilzKGVyKWYKLShhbmQpaCh0aGUpZyhoaXN0b3J5KWcobiltKHVtKW0oYilzKGVyKWYoYXJlKWkodXN1YWxseSlmKGRpXDAxM2VyZW4pbQotKHQ6KTM5IGIodGhlKTI2IGIoaGlzdG9yeSlnKG4pbSh1bSltKGIpcyhlcikxNTAgNTIzMAoteShvZiloKGEpZihjb21tYW5kKWgoaXMpZihpdHMpaChwKXMob3NpdGlvbilmKGluKWcodGhlKWgoaGlzdG9yeSlmCi0obGlzdCwpaSh3aGljKW0oaClmKG1hKW0oeSlnKGluY2x1ZGUpZihjb21tYW5kcylnKHJlc3RvcmVkKWcoZnJvbSkxNTAKLTUzNDAgeSh0aGUpMzkgYihoaXN0b3J5KWgoXDAxNGxlKWYoXChzZWUpaChTZWN0aW9uKWcoOS4xKWgoW0Jhc2gpZQotKEhpc3RvcnkpaChGKS04IGIoYWNpbGl0aWVzXSwpNDUgYihwYWdlKTQwIGIoMTIxXCksKWood2hpbGUpZCh0aGUpZgotKGNvbW1hbmQpcCBlb3AgZW5kCitiKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoODMpMjc1IDI5OSB5KFRoaXMpMzAKK2Ioc3luKW0odGF4KWooaXMpZShhbHNvKWkoYWNjZXB0ZWQpZyhiKW0oeSlmKHRoZSlmIEZzKGRlY2xhcmUpZgorRnQoYnVpbHRpbi4pNDQgYihJbmRpdmlkdWFsKTMxIGIoYXJyYSltKHkpaChlbGVtZW4pbSh0cyloKG1hKW0oeSlnKGIpcworKGUpMTUwIDQwOCB5KGFzc2lnbmVkKWUodG8pZyh1c2luZylmKHRoZSlnIEZzKG5hbWVbKXAKK0ZxKHN1YnNjcmlwdClyIEZzKF09KXAgRnEodiktNSBiKGFsdWUpMzMgYiBGdChzeW4pbSh0YXgpZShpbiltKHRybylzCisoZHVjZWQpZihhYilzKG8pbSh2KW0oZS4pMjc1IDU1NCB5KEFuKW0oeSlqKGVsZW1lbiltKHQpaShvZilmKGFuKWYKKyhhcnJhKW0oeSloKG1hKW0oeSlnKGIpcyhlKWYocmVmZXJlbmNlZClnKHVzaW5nKWcgRnMoJHtuYW1lWylwCitGcShzdWJzY3JpcHQpciBGcyhdfSlwIEZ0KC4pNDYgYihUaGUpMzMgYihicmFjZXMpaChhcmUpMTUwCis2NjMgeShyZXF1aXJlZCkyOCBiKHRvKWooYSltKHYpbShvaWQpZihjb25cMDE1aWN0cylnKHdpdGgpZih0aGUpaAorKHNoZWxsJ3MpZihcMDE0bGVuYW1lKWgoZXhwYW5zaW9uKWYob3ApcyhlcmF0b3JzLik0MQorYihJZikyOCBiKHRoZSlpIEZxKHN1YnNjcmlwdClnIEZ0KGlzKTE1MCA3NzMgeShgKXAgRnMoQClwCitGdCgnKWYob3IpZyhgKXAgRnMoKilwIEZ0KCcsKWcodGhlKWcodyltKG9yZClnKGV4cGFuZHMpZih0bylpKGFsbClmCisobWVtKW0oYilzKGVycylmKG9mKWgodGhlKWcoYXJyYSltKHkpaCBGcShuYW1lKTUgYiBGdCguKTQwCitiKFRoZXNlKTI5IGIoc3Vic2NyaXB0cyllKGRpXDAxM2VyKWkob25seSkxNTAgODgzIHkod2hlbikzNgorYih0aGUpZyh3KW0ob3JkKWcoYXBwKXMoZWFycylnKHdpdGhpbilnKGRvdWJsZSlnKHF1b3Rlcy4pNjAKK2IoSWYpMzYgYih0aGUpaCh3KW0ob3JkKWYoaXMpZyhkb3VibGUtcXVvdGVkLClqIEZzKCR7bmFtZVsqXX0pMTUwCis5OTIgeSBGdChleHBhbmRzKTIwIGIodG8paChhKWcoc2luZ2xlKWcodyltKG9yZClmKHdpdGgpaCh0aGUpZyh2KS01CitiKGFsdWUpMjEgYihvZilmKGVhYyltKGgpaShhcnJhKW0oeSlmKG1lbSltKGIpcyhlcilmKHNlcGFyYXRlZCloKGIpbSh5KQorZyh0aGUpZihcMDE0cnN0KWcoYyltKGhhcmFjdGVyKTE1MCAxMTAyIHkob2YpMzggYih0aGUpZworRnMoSUZTKWYgRnQodiktNSBiKGFyaWFibGUsKTQxIGIoYW5kKWMgRnMoJHtuYW1lW0BdfSllCitGdChleHBhbmRzKWkoZWFjKW0oaClpKGVsZW1lbiltKHQpZyhvZilmIEZxKG5hbWUpNDMgYgorRnQodG8pYyhhKWYoc2VwYXJhdGUpaCh3KW0ob3JkLikxNTAgMTIxMSB5KFdoZW4pMzIgYih0aGVyZSloKGFyZSlmKG5vKWcKKyhhcnJhKW0oeSloKG1lbSltKGIpcyhlcnMsKWYgRnMoJHtuYW1lW0BdfSllIEZ0KGV4cGFuZHMpaCh0bylpCisobm90aGluZy4pNDcgYihJZikzMSBiKHRoZSlpKGRvdWJsZS1xdW90ZWQpMTUwIDEzMjEgeShleHBhbnNpb24pMzkKK2IobylzKGNjdXJzKWgod2l0aGluKWYoYSloKHcpbShvcmQsKWkodGhlKWQoZXhwYW5zaW9uKWgob2YpZyh0aGUpZgorKFwwMTRyc3QpZyhwYXJhbWV0ZXIpaChpcylnKGpvaW5lZClmKHdpdGgpaCh0aGUpMTUwIDE0MzEKK3koYilzKGVnaW5uaW5nKWoocGFydCloKG9mKWcodGhlKWcob3JpZ2luYWwpaCh3KW0ob3JkLClqKGFuZCk0MworYih0aGUpaChleHBhbnNpb24pZyhvZilnKHRoZSlnKGxhc3QpaChwYXJhbWV0ZXIpZihpcylnKGpvaW5lZCkxNTAKKzE1NDAgeSh3aXRoKTM1IGIodGhlKWcobGFzdCloKHBhcnQpZihvZilnKHRoZSlnKG9yaWdpbmFsKWgodyltKG9yZC4pNTUKK2IoVGhpcykzNCBiKGlzKWgoYW5hbG9nb3VzKWgodG8pZyh0aGUpZihleHBhbnNpb24pZyhvZilnKHRoZSlnKHNwKXMKKyhlY2lhbCkxNTAgMTY1MCB5KHBhcmFtZXRlcnMpMjggYihgKXAgRnMoQClwIEZ0KCcpZyhhbmQpZihgKXAKK0ZzKCopcCBGdCgnLikzOSBiIEZzKCR7I25hbWVbKXAgRnEoc3Vic2NyaXB0KXIgRnMoXX0pMjQKK2IgRnQoZXhwYW5kcylqKHRvKWgodGhlKWcobGVuZ3RoKWcob2YpZiBGcygke25hbWVbKXAKK0ZxKHN1YnNjcmlwdClyIEZzKF19KXAgRnQoLikxNTAgMTc1OSB5KElmKWogRnEoc3Vic2NyaXB0KWkKK0Z0KGlzKWYoYClwIEZzKEApcCBGdCgnKWYob3IpaChgKXAgRnMoKilwIEZ0KCcsKWcodGhlKWcoZXhwYW5zaW9uKWcoaXMpCitnKHRoZSlnKG4pbSh1bSltKGIpcyhlcillKG9mKWkoZWxlbWVuKW0odHMpaChpbilmKHRoZSlnKGFycmEpbSh5KS04CitiKC4pNDIgYihSZWZlcmVuY2luZykxNTAgMTg2OSB5KGFuKTMwIGIoYXJyYSltKHkpaCh2KS01CitiKGFyaWFibGUpMzEgYih3aXRob3V0KWcoYSlmKHN1YnNjcmlwdClnKGlzKWcoZXF1aXYpLTUKK2IoYWxlbiltKHQpMzIgYih0bylmKHJlZmVyZW5jaW5nKWcod2l0aClmKGEpZyhzdWJzY3JpcHQpZyhvZilnKDAuKTI3NQorMjAxNCB5KEFuKTM1IGIoYXJyYSltKHkpaSh2KS01IGIoYXJpYWJsZSkzNyBiKGlzKWcoY29uc2lkZXJlZClmKHNldCloCisoaWYpZihhKWgoc3Vic2NyaXB0KWUoaGFzKWgoYilzKGVlbilnKGFzc2lnbmVkKWcoYSloKHYpLTUKK2IoYWx1ZS4pNTkgYihUaGUpMzYgYihuKW0odWxsKTE1MCAyMTI0IHkoc3RyaW5nKTMwIGIoaXMpaChhKWcodiktNQorYihhbGlkKTMwIGIodiktNSBiKGFsdWUuKTI3NSAyMjY5IHkoVGhlKTMyIGIgRnModW5zZXQpZworRnQoYnVpbHRpbiloKGlzKWcodXNlZClnKHRvKWgoZGVzdHJvKW0oeSlnKGFycmEpbSh5cy4pNTAKK2IgRnModW5zZXQpMzEgYiBGcShuYW1lKTUgYiBGdChbKXAgRnEoc3Vic2NyaXB0KXIgRnQoXSkzMworYihkZXN0cm8pbSh5cyloKHRoZSlmKGFycmEpbSh5KTE1MCAyMzc5IHkoZWxlbWVuKW0odClpKGF0KWcoaW5kZXgpZgorRnEoc3Vic2NyaXB0KXIgRnQoLik1MCBiKENhcmUpMzQgYihtKW0odXN0KWYoYilzKGUpaCh0YWspbShlbiloKHRvKWYoYSkKK20odiltKG9pZClpKHVuKW0odyltKGFuKW0odGVkKWUoc2lkZSlnKGVcMDEzZWN0cyloKGNhdXNlZClmKGIpbSh5KTE1MAorMjQ4OCB5KFwwMTRsZW5hbWUpNDAgYihleHBhbnNpb24uKTY5IGIgRnModW5zZXQpMzkgYgorRnEobmFtZSk1IGIgRnQoLCk0MiBiKHdoZXJlKWUgRnEobmFtZSk0NSBiIEZ0KGlzKTM5IGIoYW4paChhcnJhKW0oeSktOAorYigsKTQ0IGIocmVtbyltKHYpbShlcylkKHRoZSlmKGVuKW0odGlyZSloKGFycmEpbSh5KS04CitiKC4pNzAgYihBKTE1MCAyNTk4IHkoc3Vic2NyaXB0KTI5IGIob2YpaShgKXAgRnMoKilwCitGdCgnKWYob3IpaChgKXAgRnMoQClwIEZ0KCcpZihhbHNvKWgocmVtbyltKHYpbShlcyloKHRoZSlmKGVuKW0odGlyZSlnCisoYXJyYSltKHkpLTggYiguKTI3NSAyNzQzIHkoVGhlKTQxIGIgRnMoZGVjbGFyZSlwIEZ0KCwpaQorRnMobG9jYWwpcCBGdCgsKWgoYW5kKWQgRnMocmVhZG9ubHkpZiBGdChidWlsdGlucyloKGVhYyltKGgpaihhY2NlcHQpZgorKGEpZihgKXAgRnMoLWEpcCBGdCgnKWcob3B0aW9uKWgodG8pZihzcClzKGVjaWZ5KWcoYW4pMTUwCisyODUzIHkoaW5kZXhlZCkzNCBiKGFycmEpbSh5KWgoYW5kKWYoYSloKGApcCBGcygtQSlwCitGdCgnKWcob3B0aW9uKWcodG8pZyhzcClzKGVjaWZ5KWcoYW4pZihhc3NvKXMoY2lhdGl2KW0oZSlqKGFycmEpbSh5KS04CitiKC4pNTUgYihUaGUpMzQgYiBGcyhyZWFkKWYgRnQoYnVpbHRpbilpKGFjY2VwdHMpMTUwCisyOTYzIHkoYSloKGApcCBGcygtYSlwIEZ0KCcpZihvcHRpb24paCh0bylnKGFzc2lnbilnKGEpZihsaXN0KWgob2YpZyh3KQorbShvcmRzKWYocmVhZClnKGZyb20pZyh0aGUpaChzdGFuZGFyZCllKGlucHV0KWgodG8paChhbilmKGFycmEpbSh5KS04CitiKCwpMzggYihhbmQpZChjYW4pMTUwIDMwNzIgeShyZWFkKWModiktNSBiKGFsdWVzKTMxCitiKGZyb20pZih0aGUpaChzdGFuZGFyZClmKGlucHV0KWcoaW4pbSh0bylpKGluZGl2aWR1YWwpZShhcnJhKW0oeSloCisoZWxlbWVuKW0odHMuKTQ0IGIoVGhlKTMwIGIgRnMoc2V0KWcgRnQoYW5kKWcgRnMoZGVjbGFyZSkxNTAKKzMxODIgeSBGdChidWlsdGlucylnKGRpc3BsYSltKHkpZyhhcnJhKW0oeSloKHYpLTUgYihhbHVlcykzMQorYihpbilmKGEpaCh3KW0oYSltKHkpZyh0aGF0KWcoYWxsbyltKHdzKWgodGhlbSllKHRvKWgoYilzKGUpZihyZXVzZWQpZworKGFzKWcoaW5wdXQuKTE1MCAzNDMxIHkgRnIoNi44KTY4IGIoVGhlKTQ1IGIoRGlyZWN0b3J5KWcoU3RhYylsKGspMTUwCiszNTkwIHkgRnQoVGhlKTIxIGIoZGlyZWN0b3J5KWgoc3RhYyltKGspaChpcyllKGEpaChsaXN0KWcob2YpZihyZWNlbiltCisodGx5LXZpc2l0ZWQpaihkaXJlY3Rvcmllcy4pMzkgYihUaGUpMjAgYiBGcyhwdXNoZClnCitGdChidWlsdGluKWgoYWRkcylnKGRpcmVjdG9yaWVzKTE1MCAzNzAwIHkodG8pNDIgYih0aGUpZihzdGFjKW0oaylpKGFzKQorZShpdCloKGMpbShoYW5nZXMpZyh0aGUpZihjdXJyZW4pbSh0KWcoZGlyZWN0b3J5KS04IGIoLCk0NQorYihhbmQpNDAgYih0aGUpaSBGcyhwb3BkKWUgRnQoYnVpbHRpbilnKHJlbW8pbSh2KW0oZXMpaihzcClzKGVjaVwwMTRlZCkKKzE1MCAzODA5IHkoZGlyZWN0b3JpZXMpMjkgYihmcm9tKWYodGhlKWgoc3RhYyltKGspaChhbmQpZChjKW0oaGFuZ2VzKWoKKyh0aGUpZShjdXJyZW4pbSh0KWcoZGlyZWN0b3J5KWgodG8pZyh0aGUpZyhkaXJlY3RvcnkpZihyZW1vKW0odiltKGVkLikKKzQxIGIoVGhlKTE1MCAzOTE5IHkgRnMoZGlycykyOSBiIEZ0KGJ1aWx0aW4paChkaXNwbGEpbSh5cyloKHRoZSlmKGNvbiltCisodGVuKW0odHMpaShvZilmKHRoZSlmKGRpcmVjdG9yeSloKHN0YWMpbShrLikyNzUgNDA2NAoreShUaGUpayhjb24pbSh0ZW4pbSh0cylpKG9mKWYodGhlKWgoZGlyZWN0b3J5KWYoc3RhYyltKGspaChhcmUpZihhbHNvKWgKKyh2aXNpYmxlKWcoYXMpZih0aGUpZyh2KS01IGIoYWx1ZSkzNiBiKG9mKWcodGhlKWcgRnMoRElSU1RBQ0spZQorRnQoc2hlbGwpMTUwIDQxNzQgeSh2KS01IGIoYXJpYWJsZS4pMTUwIDQzODQgeSBGaig2LjguMSk2MworYihEaXJlY3RvcnkpNDAgYihTdGFjKW0oaylnKEJ1aWx0aW5zKTE1MCA0NTYxIHkgRnMoZGlycyk4NzAKKzQ3MDEgeShkaXJzKTQ3IGIoWyspcCBGaShOKTU3IGIgRnMofCk0OCBiKC0pcCBGaShOKTExCitiIEZzKF0pNDYgYihbLWNscHZdKTYzMCA0ODQxIHkgRnQoRGlzcGxhKW0oeSkzNSBiKHRoZSlmKGxpc3QpZyhvZilnCisoY3VycmVuKW0odGx5KWcocmVtZW0pbShiKXMoZXJlZClmKGRpcmVjdG9yaWVzLik1MSBiKERpcmVjdG9yaWVzKTM2CitiKGFyZSllKGFkZGVkKWYodG8pNjMwIDQ5NTEgeSh0aGUpMjggYihsaXN0KWgod2l0aClmKHRoZSlnCitGcyhwdXNoZClmIEZ0KGNvbW1hbmQ7KWkodGhlKWYgRnMocG9wZClmIEZ0KGNvbW1hbmQpaChyZW1vKW0odiltKGVzKWgKKyhkaXJlY3RvcmllcylnKGZyb20pNjMwIDUwNjAgeSh0aGUpaShsaXN0Lik2MzAgNTIzMCB5CitGcygrKXAgRmkoTikzODQgYiBGdChEaXNwbGEpbSh5cykyMyBiKHRoZSlmIEZxKE4pMTAgYgorRnQodGgpMjEgYihkaXJlY3RvcnkpaChcKGNvdW4pbSh0aW5nKWgoZnJvbSllKHRoZSloKGxlZnQpZyhvZilnKHRoZSlnCisobGlzdClnKHByaW4pbSh0ZWQpMTExMCA1MzQwIHkoYiltKHkpMzAgYiBGcyhkaXJzKWYgRnQod2hlbiloKGluKW0odiltCisob2spbShlZClpKHdpdGhvdXQpZShvcHRpb25zXCksKWgoc3RhcnRpbmcpZyh3aXRoKWcoemVyby4pcAorZW9wIGVuZAogJSVQYWdlOiA4NCA5MAogVGVYRGljdCBiZWdpbiA4NCA4OSBib3AgMTUwIC0xMTYgYSBGdCg4NCkyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5KG4pbSh1bSltKGIpcyhlcik0MgotYihpcyloKHRoZSloKHApcyhvc2l0aW9uKWYoaW4pZyh0aGUpZyhzZXF1ZW5jZSloKG9mKWYoY29tbWFuZHMpZwotKGV4ZWN1dGVkKWgoZHVyaW5nKWUodGhlKWkoY3VycmVuKW0odClmKHNoZWxsKTE1MCA0MDgKLXkoc2Vzc2lvbi4pMjc1IDU1MCB5KEFmdGVyKTM1IGIodGhlKWcoc3RyaW5nKWcoaXMpZyhkZWNvKXMoZGVkLCloKGl0KWYKLShpcylnKGV4cGFuZGVkKWYodmlhKWkocGFyYW1ldGVyKWYoZXhwYW5zaW9uLClpKGNvbW1hbmQpZChzdWJzdGktKTE1MAotNjU5IHkodHV0aW9uLClrKGFyaXRobWV0aWMpZihleHBhbnNpb24sKWcoYW5kKWUocXVvdGUpaChyZW1vKW0odiktNQotYihhbCwpMzkgYihzdWIpNSBiKGplY3QpMzUgYih0bylpKHRoZSlmKHYpLTUgYihhbHVlKTM2Ci1iKG9mKWcodGhlKWcgRnMocHJvbXB0dmFycykxNTAgNzY5IHkgRnQoc2hlbGwpMzEgYihvcHRpb24pZihcKHNlZSlpCi0oU2VjdGlvbilmKDQuMilnKFtCYXNoKWcoQnVpbHRpbnNdLClnKHBhZ2UpZyg0MVwpLikxNTAKLTEwMTIgeSBGcig2LjEwKTY4IGIoVGhlKTQ1IGIoUmVzdHJpY3RlZCloKFNoZWxsKTE1MCAxMTcxCi15IEZ0KElmKTI3IGIoQmFzaCloKGlzKWcoc3RhcnRlZClnKHdpdGgpZyh0aGUpZyhuYW1lKWcKLUZzKHJiYXNoKXAgRnQoLClmKG9yKWcodGhlKWgoYClwIEZzKC0tcmVzdHJpY3RlZClwIEZ0KCcpZChvcilqKGApcAotRnMoLXIpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyhzdXBwbGllZCllKGF0KTE1MCAxMjgxIHkoaW4pbSh2KW0obylzCi0oY2F0aW9uLClrKHRoZSlkKHNoZWxsKWcoYilzKGVjb21lcyloKHJlc3RyaWN0ZWQuKTQwCi1iKEEpMjcgYihyZXN0cmljdGVkKWgoc2hlbGwpZihpcylnKHVzZWQpZih0bylpKHNldClmKHVwKWYoYW4paChlbiltCi0odmlyb25tZW4pbSh0KTE1MCAxMzkxIHkobW9yZSlnKGNvbiltKHRyb2xsZWQpaSh0aGFuKWUodGhlKWcoc3RhbmRhcmQpZwotKHNoZWxsLik0MCBiKEEpMjcgYihyZXN0cmljdGVkKWgoc2hlbGwpZihiKXMoZWhhKW0odiltKGVzKWgoaWRlbiltCi0odGljYWxseSloKHRvKWYgRnMoYmFzaCllIEZ0KHdpdGgpMTUwIDE1MDAgeSh0aGUpMzEgYihleGNlcHRpb24pZyh0aGF0KQotZyh0aGUpZyhmb2xsbyltKHdpbmcpaChhcmUpZShkaXNhbGxvKW0odyltKGVkKWkob3IpZShub3QpaChwKXMKLShlcmZvcm1lZDopMjI1IDE2NDIgeSBGcChcMDE3KTYwIGIgRnQoQ2hhbmdpbmcpMzAgYihkaXJlY3RvcmllcyloKHdpdGgpCi1nKHRoZSlmIEZzKGNkKWcgRnQoYnVpbHRpbi4pMjI1IDE3ODAgeSBGcChcMDE3KTYwIGIgRnQoU2V0dGluZykzMQotYihvcilmKHVuc2V0dGluZyloKHRoZSlnKHYpLTUgYihhbHVlcykzMCBiKG9mKWgodGhlKWYKLUZzKFNIRUxMKXAgRnQoLClnIEZzKFBBVEgpcCBGdCgsKWYgRnMoRU5WKXAgRnQoLCloKG9yKWcKLUZzKEJBU0hfRU5WKWUgRnQodiktNSBiKGFyaWFibGVzLikyMjUgMTkxNyB5IEZwKFwwMTcpNjAKLWIgRnQoU3ApcyhlY2lmeWluZykzMCBiKGNvbW1hbmQpZyhuYW1lcylnKGNvbiltKHRhaW5pbmcpaShzbGFzaGVzLikyMjUKLTIwNTUgeSBGcChcMDE3KTYwIGIgRnQoU3ApcyhlY2lmeWluZykzMCBiKGEpaChcMDE0bGVuYW1lKWYoY29uKW0KLSh0YWluaW5nKWkoYSlmKHNsYXNoKWYoYXMpaChhbilmKGFyZ3VtZW4pbSh0KWgodG8pZyh0aGUpZgotRnMoLiloIEZ0KGJ1aWx0aW4pZShjb21tYW5kLikyMjUgMjE5MyB5IEZwKFwwMTcpNjAgYgotRnQoU3ApcyhlY2lmeWluZykyOCBiKGEpaShcMDE0bGVuYW1lKWYoY29uKW0odGFpbmluZyloKGEpZyhzbGFzaCllKGFzKWgKLShhbilnKGFyZ3VtZW4pbSh0KWgodG8pZih0aGUpZyhgKXAgRnMoLXApcCBGdCgnKWcob3B0aW9uKWcodG8paCh0aGUpZgotRnMoaGFzaCkzMzAgMjMwMyB5IEZ0KGJ1aWx0aW4paChjb21tYW5kLikyMjUgMjQ0MSB5IEZwKFwwMTcpNjAKLWIgRnQoSW1wKXMob3J0aW5nKTMwIGIoZnVuY3Rpb24pZyhkZVwwMTRuaXRpb25zKWcoZnJvbSlmKHRoZSlpKHNoZWxsKWcKLShlbiltKHZpcm9ubWVuKW0odClnKGF0KWcoc3RhcnR1cC4pMjI1IDI1NzkgeSBGcChcMDE3KTYwCi1iIEZ0KFApbShhcnNpbmcpMzEgYih0aGUpZih2KS01IGIoYWx1ZSkzMSBiKG9mKWcgRnMoU0hFTExPUFRTKWQKLUZ0KGZyb20paCh0aGUpaShzaGVsbClnKGVuKW0odmlyb25tZW4pbSh0KWcoYXQpZyhzdGFydHVwLikyMjUKLTI3MTcgeSBGcChcMDE3KTYwIGIgRnQoUmVkaXJlY3RpbmcpMzEgYihvdXRwdXQpZih1c2luZylnKHRoZSloKGApcAotRnMoPilwIEZ0KCcsKWcoYClwIEZzKD58KXAgRnQoJywpZihgKXAgRnMoPD4pcCBGdCgnLCloKGApcAotRnMoPiYpcCBGdCgnLClmKGApcCBGcygmPilwIEZ0KCcsKWgoYW5kKWUoYClwIEZzKD4+KXAKLUZ0KCcpaShyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9ycy4pMjI1IDI4NTUgeSBGcChcMDE3KTYwCi1iIEZ0KFVzaW5nKTMxIGIodGhlKWYgRnMoZXhlYylmIEZ0KGJ1aWx0aW4paCh0byloKHJlcGxhY2UpaCh0aGUpZQotKHNoZWxsKWgod2l0aClmKGFub3RoZXIpaChjb21tYW5kLikyMjUgMjk5MyB5IEZwKFwwMTcpNjAKLWIgRnQoQWRkaW5nKTQwIGIob3IpaChkZWxldGluZyloKGJ1aWx0aW4pZShjb21tYW5kcyloKHdpdGgpZih0aGUpaChgKXAKLUZzKC1mKXAgRnQoJylnKGFuZClmKGApcCBGcygtZClwIEZ0KCcpaChvcHRpb25zKWcodG8paCh0aGUpZgotRnMoZW5hYmxlKTMzMCAzMTAyIHkgRnQoYnVpbHRpbi4pMjI1IDMyNDAgeSBGcChcMDE3KTYwCi1iIEZ0KFVzaW5nKTMxIGIodGhlKWYgRnMoZW5hYmxlKWYgRnQoYnVpbHRpbiloKGNvbW1hbmQpZyh0byloKGVuYWJsZSlnCi0oZGlzYWJsZWQpZihzaGVsbClnKGJ1aWx0aW5zLikyMjUgMzM3OCB5IEZwKFwwMTcpNjAgYgotRnQoU3ApcyhlY2lmeWluZykzMCBiKHRoZSlnKGApcCBGcygtcClwIEZ0KCcpaChvcHRpb24pZyh0bylnKHRoZSlmCi1Gcyhjb21tYW5kKWYgRnQoYnVpbHRpbi4pMjI1IDM1MTYgeSBGcChcMDE3KTYwIGIgRnQoVCktOAotYih1cm5pbmcpMjkgYihvXDAxMylpKHJlc3RyaWN0ZWQpZyhtbylzKGRlKWYod2l0aClnKGApcAotRnMoc2V0KWcoK3IpcCBGdCgnKWcob3IpZyhgKXAgRnMoc2V0KWcoK28pZyhyZXN0cmljdGVkKXAKLUZ0KCcuKTI3NSAzNjg2IHkoVGhlc2UpZyhyZXN0cmljdGlvbnMpaChhcmUpZyhlbmZvcmNlZClmKGFmdGVyKWgoYW4pbQotKHkpZyhzdGFydHVwKWYoXDAxNGxlcylnKGFyZSloKHJlYWQuKTI3NSAzODI4IHkoV2hlbilqKGEpaShjb21tYW5kKWUKLSh0aGF0KWkoaXMpZihmb3VuZClmKHRvKWgoYilzKGUpZyhhKWcoc2hlbGwpZyhzY3JpcHQpZyhpcylnKGV4ZWN1dGVkKWgKLShcKHNlZSlnKFNlY3Rpb24pZygzLjgpZyhbU2hlbGwpMTUwIDM5MzcgeShTY3JpcHRzXSwpMjUKLWIocGFnZSllKDMzXCksKWogRnMocmJhc2gpYyBGdCh0dXJucylnKG9cMDEzKWkoYW4pbSh5KWYocmVzdHJpY3Rpb25zKWgKLShpbilmKHRoZSlnKHNoZWxsKWgoc3BhKW0od25lZCllKHRvKWkoZXhlY3V0ZSlnKHRoZSlnKHNjcmlwdC4pMTUwCi00MTgwIHkgRnIoNi4xMSk2OCBiKEJhc2gpNDUgYihQT1NJWClmKE1vKXQoZGUpMTUwIDQzMzkKLXkgRnQoU3RhcnRpbmcpMzQgYihCYXNoKWYod2l0aClnKHRoZSlnKGApcCBGcygtLXBvc2l4KXAKLUZ0KCcpZihjb21tYW5kLWxpbmUpaShvcHRpb24pZyhvcilmKGV4ZWN1dGluZyloKGApcCBGcyhzZXQpYygtbylnCi0ocG9zaXgpcCBGdCgnKWkod2hpbGUpMTUwIDQ0NDkgeShCYXNoKTI2IGIoaXMpZyhydW5uaW5nKWUod2lsbClqKGNhdXNlKQotZihCYXNoKWcodG8paChjb25mb3JtKWYobW9yZSlnKGNsb3NlbHkpaCh0bylnKHRoZSlmIEZsKHBvc2l4KWYKLUZ0KHN0YW5kYXJkKWcoYiltKHkpaChjKW0oaGFuZ2luZykxNTAgNDU1OSB5KHRoZSkzMSBiKGIpcyhlaGEpbSh2aW9yKWYKLSh0byloKG1hdGMpbShoKWcodGhhdClnKHNwKXMoZWNpXDAxNGVkKWYoYiltKHkpZyBGbChwb3NpeClnCi1GdChpbilnKGFyZWFzKWgod2hlcmUpZih0aGUpaChCYXNoKWYoZGVmYXVsdCloKGRpXDAxM2Vycy4pMjc1Ci00NzAwIHkoV2hlbilmKGluKW0odiltKG9rKW0oZWQpaChhcylnIEZzKHNoKXAgRnQoLClmKEJhc2gpaChlbiltKHRlcnMpZwotRmwocG9zaXgpZSBGdChtbylzKGRlKWgoYWZ0ZXIpaChyZWFkaW5nKWcodGhlKWYoc3RhcnR1cClnKFwwMTRsZXMuKTI3NQotNDg0MSB5KFRoZSlmKGZvbGxvKW0od2luZylqKGxpc3QpZihpcylnKHdoYXQncylmKGMpbShoYW5nZWQpaCh3aGVuKWUoYCkKLXAgRmwocG9zaXgpaCBGdChtbylzKGRlJyloKGlzKWYoaW4pZyhlXDAxM2VjdDopMTk5IDQ5ODMKLXkoMS4pNjEgYihXaGVuKTI4IGIoYSlpKGNvbW1hbmQpZShpbilnKHRoZSloKGhhc2gpZih0YWJsZSlpKG5vKWUKLShsb25nZXIpaChleGlzdHMsKWgoQmFzaClmKHdpbGwpZyhyZS1zZWFyYyltKGgpaCBGcygkUEFUSClkCi1GdCh0bylpKFwwMTRuZCkzMzAgNTA5MiB5KHRoZSlpKG5ldyllKGxvKXMoY2F0aW9uLik0MwotYihUaGlzKTI5IGIoaXMpaShhbHNvKWcoYSltKHYpLTUgYihhaWxhYmxlKTMzIGIod2l0aClkKGApcAotRnMoc2hvcHQpZigtcyloKGNoZWNraGFzaClwIEZ0KCcuKTE5OSA1MjMwIHkoMi4pNjEgYihUaGUpNDIKLWIobWVzc2FnZSloKHByaW4pbSh0ZWQpZShiKW0oeSloKHRoZSlnKGpvYilnKGNvbiltKHRyb2wpaShjbylzKGRlKWUKLShhbmQpZihidWlsdGlucyloKHdoZW4pZihhKWgoam9iKWcoZXhpdHMpaCh3aXRoKWYoYSkzMzAKLTUzNDAgeShub24temVybykzMSBiKHN0YXR1cylnKGlzKWYoYERvbmVcKHN0YXR1c1wpJy4pcAotZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKC0pcCBGaShOKTM4NCBiIEZ0KERpc3BsYSltKHlzKTQ3CitiKHRoZSlnIEZxKE4pMTAgYiBGdCh0aCk0NiBiKGRpcmVjdG9yeSloKFwoY291biltKHRpbmcpZyhmcm9tKWYodGhlKWcKKyhyaWdoKW0odCloKG9mKWcodGhlKWYobGlzdCkxMTEwIDQwOCB5KHByaW4pbSh0ZWQpMjUKK2IoYiltKHkpZyBGcyhkaXJzKWcgRnQod2hlbilmKGluKW0odiltKG9rKW0oZWQpaih3aXRob3V0KWYob3B0aW9uc1wpLCloCisoc3RhcnRpbmcpZyh3aXRoKWUoemVyby4pNjMwIDU2NSB5IEZzKC1jKTM4NCBiIEZ0KENsZWFycykzMQorYih0aGUpZihkaXJlY3RvcnkpaChzdGFjKW0oayloKGIpbSh5KWUoZGVsZXRpbmcpaChhbGwpaChvZillKHRoZSloCisoZWxlbWVuKW0odHMuKTYzMCA3MjIgeSBGcygtbCkzODQgYiBGdChQcm8pcyhkdWNlcykzMAorYihhKWkobG9uZ2VyKWcobGlzdGluZzspaCh0aGUpZihkZWZhdWx0KWYobGlzdGluZylpKGZvcm1hdCllKHVzZXMpZyhhKWgKKyh0aWxkZSlnKHRvKTExMTAgODMxIHkoZGVub3RlKWYodGhlKWYoaG9tZSloKGRpcmVjdG9yeSktOAorYiguKTYzMCA5ODggeSBGcygtcCkzODQgYiBGdChDYXVzZXMpMzAgYiBGcyhkaXJzKWYgRnQodG8paShwcmluKW0odClmCisodGhlKWgoZGlyZWN0b3J5KWcoc3RhYyltKGspaCh3aXRoKWUob25lKWcoZW4pbSh0cnkpaChwKXMoZXIpZShsaW5lLikKKzYzMCAxMTQ1IHkgRnMoLXYpMzg0IGIgRnQoQ2F1c2VzKTM2IGIgRnMoZGlycylmIEZ0KHRvKWkocHJpbiltKHQpZih0aGUpCitnKGRpcmVjdG9yeSloKHN0YWMpbShrKWgod2l0aCllKG9uZSloKGVuKW0odHJ5KWYocClzKGVyKWYobGluZSwpMTExMAorMTI1NCB5KHByZVwwMTR4aW5nKTMwIGIoZWFjKW0oaCloKGVuKW0odHJ5KWcod2l0aClmKGl0cyloKGluZGV4KWUoaW4paQorKHRoZSlmKHN0YWMpbShrLikxNTAgMTQxMSB5IEZzKHBvcGQpODcwIDE1NDQgeShwb3BkKTQ3CitiKFsrKXAgRmkoTik1NyBiIEZzKHwpNDggYigtKXAgRmkoTikxMSBiIEZzKF0pNDYgYihbLW5dKTYzMAorMTY3NyB5IEZ0KFJlbW8pbSh2KW0oZSkyNiBiKHRoZSllKHRvcClnKGVuKW0odHJ5KWgoZnJvbSllKHRoZSloCisoZGlyZWN0b3J5KWgoc3RhYyltKGssKWkoYW5kKWMgRnMoY2QpaCBGdCh0byloKHRoZSlmKG5ldylmKHRvcClpCisoZGlyZWN0b3J5KS04IGIoLik2MzAgMTc4NyB5KFdoZW4pMzIgYihubylnKGFyZ3VtZW4pbSh0cyloKGFyZSlnKGdpdiltCisoZW4sKWggRnMocG9wZClkIEZ0KHJlbW8pbSh2KW0oZXMpaih0aGUpZih0b3ApZihkaXJlY3RvcnkpaChmcm9tKWYodGhlKQorZyhzdGFjKW0oayk2MzAgMTg5NyB5KGFuZClmKHApcyhlcmZvcm1zKWUoYSlqIEZzKGNkKWYKK0Z0KHRvKWgodGhlKWYobmV3KWcodG9wKWgoZGlyZWN0b3J5KS04IGIoLik0NCBiKFRoZSkzMQorYihlbGVtZW4pbSh0cylpKGFyZSllKG4pbSh1bSltKGIpcyhlcmVkKWYoZnJvbSk2MzAgMjAwNgoreSgwKWQoc3RhcnRpbmcpZyhhdClnKHRoZSlnKFwwMTRyc3QpZihkaXJlY3RvcnkpaChsaXN0ZWQpZyh3aXRoKWYKK0ZzKGRpcnMpcCBGdCg7KWgoaS5lLiwpaSBGcyhwb3BkKWMgRnQoaXMpaShlcXVpdiktNSBiKGFsZW4pbSh0KTI4CitiKHRvKWYgRnMocG9wZCk2MzAgMjExNiB5KCswKXAgRnQoLik2MzAgMjI3MyB5IEZzKCspcAorRmkoTikzODQgYiBGdChSZW1vKW0odiltKGVzKTIyIGIodGhlKWYgRnEoTikxMCBiIEZ0KHRoKTIwCitiKGRpcmVjdG9yeSlnKFwoY291biltKHRpbmcpaShmcm9tKWUodGhlKWcobGVmdCloKG9mKWcodGhlKWYobGlzdCloCisocHJpbiltKHRlZCkxMTEwIDIzODIgeShiKW0oeSkzMCBiIEZzKGRpcnMpcCBGdChcKSwpZyhzdGFydGluZyloKHdpdGgpZgorKHplcm8uKTYzMCAyNTM5IHkgRnMoLSlwIEZpKE4pMzg0IGIgRnQoUmVtbyltKHYpbShlcyk0NgorYih0aGUpZyBGcShOKTEwIGIgRnQodGgpNDQgYihkaXJlY3RvcnkpaChcKGNvdW4pbSh0aW5nKWgoZnJvbSlmKHRoZSlnCisocmlnaCltKHQpZyhvZilnKHRoZSlnKGxpc3QpMTExMCAyNjQ4IHkocHJpbiltKHRlZCkzMAorYihiKW0oeSlnIEZzKGRpcnMpcCBGdChcKSwpZyhzdGFydGluZyloKHdpdGgpZih6ZXJvLik2MzAKKzI4MDUgeSBGcygtbikzODQgYiBGdChTdXBwcmVzc2VzKTI3IGIodGhlKWoobm9ybWFsKWcoYyltKGhhbmdlKWcob2YpZworKGRpcmVjdG9yeSlnKHdoZW4pZShyZW1vKW0odmluZylqKGRpcmVjdG8tKTExMTAgMjkxNQoreShyaWVzKWYoZnJvbSlnKHRoZSloKHN0YWMpbShrLCloKHNvKWYodGhhdClnKG9ubHkpZih0aGUpaChzdGFjKW0oaylnCisoaXMpZyhtYW5pcHVsYXRlZC4pMTUwIDMwNzEgeSBGcyhwdXNoZCk4NzAgMzIwNSB5KHB1c2hkKTQ2CitiKFstbl0paChbKylwIEZpKE4pNTcgYiBGcyh8KTQ4IGIgRmkoLU4pNTggYiBGcyh8KTQ3CitiIEZpKGRpcik1NyBiIEZzKF0pNjMwIDMzMzggeSBGdChTYSltKHYpbShlKTI5IGIodGhlKWYoY3VycmVuKW0odClnCisoZGlyZWN0b3J5KWcob24pZyh0aGUpZyh0b3ApZyhvZilnKHRoZSlnKGRpcmVjdG9yeSloKHN0YWMpbShrKWcoYW5kKWUKKyh0aGVuKWggRnMoY2QpZiBGdCh0bylpIEZxKGRpcik3IGIgRnQoLik2MzAgMzQ0NyB5KFdpdGgpMzEKK2Iobm8pZihhcmd1bWVuKW0odHMsKWggRnMocHVzaGQpZSBGdChleGMpbShoYW5nZXMpaih0aGUpZSh0b3ApaCh0KW0odyltCisobyloKGRpcmVjdG9yaWVzLik2MzAgMzYwNCB5IEZzKC1uKTM4NCBiIEZ0KFN1cHByZXNzZXMpMjYKK2IodGhlKWkobm9ybWFsKWgoYyltKGhhbmdlKWcob2YpZihkaXJlY3RvcnkpaCh3aGVuKWUoYWRkaW5nKWgKKyhkaXJlY3RvcmllcykxMTEwIDM3MTQgeSh0bylqKHRoZSlnKHN0YWMpbShrLCloKHNvKWUodGhhdCloKG9ubHkpZyh0aGUpCitmKHN0YWMpbShrKWkoaXMpZihtYW5pcHVsYXRlZC4pNjMwIDM4NzAgeSBGcygrKXAgRmkoTikzODQKK2IgRnQoQnJpbmdzKTI5IGIodGhlKWYgRnEoTikxMCBiIEZ0KHRoKTI5IGIoZGlyZWN0b3J5KWcoXChjb3VuKW0odGluZyloCisoZnJvbSllKHRoZSlnKGxlZnQpaShvZillKHRoZSloKGxpc3QpZyhwcmluKW0odGVkKTExMTAKKzM5ODAgeShiKW0oeSkzNCBiIEZzKGRpcnMpcCBGdCgsKWcoc3RhcnRpbmcpaCh3aXRoKWYoemVyb1wpKWkodG8pZih0aGUpCitmKHRvcClnKG9mKWgodGhlKWYobGlzdCloKGIpbSh5KWYocm90YXRpbmcpaSh0aGUpMTExMAorNDA4OSB5KHN0YWMpbShrLik2MzAgNDI0NiB5IEZzKC0pcCBGaShOKTM4NCBiIEZ0KEJyaW5ncykyMworYih0aGUpZyBGcShOKTEwIGIgRnQodGgpMjMgYihkaXJlY3RvcnkpaChcKGNvdW4pbSh0aW5nKWcoZnJvbSllKHRoZSlpCisocmlnaCltKHQpZihvZilnKHRoZSloKGxpc3QpZihwcmluKW0odGVkKTExMTAgNDM1NiB5KGIpbSh5KTM0CitiIEZzKGRpcnMpcCBGdCgsKWcoc3RhcnRpbmcpaCh3aXRoKWYoemVyb1wpKWkodG8pZih0aGUpZih0b3ApZyhvZiloCisodGhlKWYobGlzdCloKGIpbSh5KWYocm90YXRpbmcpaSh0aGUpMTExMCA0NDY1IHkoc3RhYyltKGsuKTYzMAorNDYyMiB5IEZpKGRpcikzMzYgYiBGdChNYWspbShlcykzNiBiKHRoZSlmKGN1cnJlbiltKHQpZyh3KW0ob3JraW5nKWcKKyhkaXJlY3RvcnkpZyhiKXMoZSlmKHRoZSloKHRvcClnKG9mKWcodGhlKWcoc3RhYyltKGssKWooYW5kKTExMTAKKzQ3MzIgeSh0aGVuKTMwIGIoZXhlY3V0ZXMpaSh0aGUpZShlcXVpdiktNSBiKGFsZW4pbSh0KTMyCitiKG9mKWYoYClwIEZzKGNkKWYgRnEoZGlyKTcgYiBGdCgnLikzOSBiIEZzKGNkKXAgRnQocykzMAorYih0byloIEZxKGRpcik3IGIgRnQoLikxNTAgNDk2MSB5IEZyKDYuOSk2OCBiKENvbilsKHRyb2xsaW5nKTQ3CitiKHRoZSllKFByb21wdCkxNTAgNTEyMSB5IEZ0KFRoZSkyNCBiKHYpLTUgYihhbHVlKTI0CitiKG9mKWgodGhlKWYodiktNSBiKGFyaWFibGUpMjUgYiBGcyhQUk9NUFRfQ09NTUFORCkyMAorYiBGdChpcykyNSBiKGV4YW1pbmVkKWYoanVzdClnKGIpcyhlZm9yZSlmKEJhc2gpaShwcmluKW0odHMpZShlYWMpbShoKWoKKyhwcmltYXJ5KTE1MCA1MjMwIHkocHJvbXB0LikzOSBiKElmKTI4IGIgRnMoUFJPTVBUX0NPTU1BTkQpZAorRnQoaXMpaihzZXQpaChhbmQpZihoYXMpZyhhKWgobm9uLW4pbSh1bGwpZih2KS01IGIoYWx1ZSwpMjkKK2IodGhlbilmKHRoZSloKHYpLTUgYihhbHVlKTI5IGIoaXMpZihleGVjdXRlZClpKGp1c3QpMTUwCis1MzQwIHkoYXMpaChpZilmKGl0KWgoaGFkKWYoYilzKGVlbilmKHQpbSh5cClzKGVkKWgob24paCh0aGUpZihjb21tYW5kKQorZyhsaW5lLilwIGVvcCBlbmQKICUlUGFnZTogODUgOTEKIFRlWERpY3QgYmVnaW4gODUgOTAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDY6KTQxCi1iKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoODUpMTk5IDI5OSB5KDMuKTYxCi1iKFRoZSk0MCBiKG1lc3NhZ2UpaChwcmluKW0odGVkKWYoYiltKHkpZyh0aGUpaChqb2IpZihjb24pbSh0cm9sKWgoY28pcwotKGRlKWcoYW5kKWYoYnVpbHRpbnMpZih3aGVuKWgoYSlnKGpvYilnKGlzKWgoc3RvcHApcyhlZCllKGlzKTMzMAotNDA4IHkoYFN0b3BwKXMoZWRcKClwIEZxKHNpZ25hbWUpNSBiIEZ0KFwpJywpMzEgYih3aGVyZSlmCi1GcShzaWduYW1lKTM2IGIgRnQoaXMsKTMxIGIoZm9yKWYoZXhhbXBsZSwpaCBGcyhTSUdUU1RQKXAKLUZ0KC4pMTk5IDU0NSB5KDQuKTYxIGIoVGhlKTI3IGIgRnMoYmcpZyBGdChidWlsdGluKWcodXNlcylnKHRoZSloCi0ocmVxdWlyZWQpZihmb3JtYXQpaCh0bylnKGRlc2NyaWIpcyhlKWYoZWFjKW0oaClpKGpvYillKHBsYWNlZCloKGluKWYKLSh0aGUpaChiYWMpbShrZ3JvdW5kLCkzMzAgNjU1IHkod2hpYyltKGgpaChkbylzKGVzKWcobm90KWcoaW5jbHVkZSlnCi0oYW4pZyhpbmRpY2F0aW9uKWgob2YpZih3aGV0aGVyKWYodGhlKWgoam9iKWcoaXMpZyh0aGUpaChjdXJyZW4pbSh0KWUKLShvciloKHByZXZpb3VzKWcoam9iLikxOTkgNzkyIHkoNS4pNjEgYihSZXNlcnYpbShlZCk0MAotYih3KW0ob3JkcylnKGFwcClzKGVhcmluZylmKGluKWgoYSlnKGNvbiltKHRleHQpaSh3aGVyZSlkKHJlc2VydiltKGVkKWgKLSh3KW0ob3JkcylmKGFyZSlpKHJlY29nbml6ZWQpZyhkbylmKG5vdCkzMzAgOTAyIHkodW5kZXJnbykzMAotYihhbGlhcyloKGV4cGFuc2lvbi4pMTk5IDEwMzkgeSg2Lik2MSBiKFRoZSkzOCBiIEZsKHBvc2l4KWgKLUZzKFBTMSlmIEZ0KGFuZClnIEZzKFBTMilnIEZ0KGV4cGFuc2lvbnMpZyhvZilpKGApcCBGcyghKXAKLUZ0KCcpZih0bylnKHRoZSlnKGhpc3RvcnkpZyhuKW0odW0pbShiKXMoZXIpZihhbmQpZyhgKXAKLUZzKCEhKXAgRnQoJyloKHRvKWcoYClwIEZzKCEpcCBGdCgnKWgoYXJlKTMzMCAxMTQ4IHkoZW5hYmxlZCwpMjYKLWIoYW5kKWYocGFyYW1ldGVyKWcoZXhwYW5zaW9uKWcoaXMpZyhwKXMoZXJmb3JtZWQpZShvbilpKHRoZSlnKHYpLTUKLWIoYWx1ZXMpMjUgYihvZilnIEZzKFBTMSlmIEZ0KGFuZCloIEZzKFBTMilmIEZ0KHJlZ2FyZGxlc3MpMzMwCi0xMjU4IHkob2YpMzEgYih0aGUpZihzZXR0aW5nKWkob2YpZSh0aGUpaCBGcyhwcm9tcHR2YXJzKWMKLUZ0KG9wdGlvbi4pMTk5IDEzOTUgeSg3Lik2MSBiKFRoZSkzMCBiIEZsKHBvc2l4KWcgRnQoc3RhcnR1cClmKFwwMTRsZXMpCi1pKGFyZSlnKGV4ZWN1dGVkKWcoXCgpcCBGcygkRU5WKXAgRnQoXCkpZihyYXRoZXIpZyh0aGFuKWcodGhlKWgobm9ybWFsKQotZihCYXNoKWcoXDAxNGxlcy4pMTk5IDE1MzIgeSg4Lik2MSBiKFRpbGRlKTMwIGIoZXhwYW5zaW9uKWcoaXMpZihvbmx5KWgKLShwKXMoZXJmb3JtZWQpZihvbiloKGFzc2lnbm1lbiltKHRzKWcocHJlY2VkaW5nKWcoYSlnKGNvbW1hbmQpZyhuYW1lLClnCi0ocmF0aGVyKTMzMCAxNjQxIHkodGhhbilnKG9uKWcoYWxsKWkoYXNzaWdubWVuKW0odClmKHN0YXRlbWVuKW0odHMpaAotKG9uKWUodGhlKWgobGluZS4pMTk5IDE3NzggeSg5Lik2MSBiKFRoZSkzMCBiKGRlZmF1bHQpZyhoaXN0b3J5KWgKLShcMDE0bGUpZihpcyloKGApcCBGcyh+Ly5zaF9oaXN0b3J5KXAgRnQoJyljKFwodGhpcylrKGlzKWYodGhlKWcKLShkZWZhdWx0KWgodiktNSBiKGFsdWUpMzEgYihvZilmIEZzKCRISVNURklMRSlwIEZ0KFwpLikxNTQKLTE5MTUgeSgxMC4pNjEgYihUaGUpMjMgYihvdXRwdXQpZihvZilpKGApcCBGcyhraWxsKTI5Ci1iKC1sKXAgRnQoJykyMyBiKHByaW4pbSh0cylmKGFsbClpKHRoZSlnKHNpZ25hbClmKG5hbWVzKWcob24pZyhhKWgKLShzaW5nbGUpZyhsaW5lLCloKHNlcGFyYXRlZCllKGIpbSh5KWcoc3BhY2VzLCkzMzAgMjAyNQoteSh3aXRob3V0KTMwIGIodGhlKWgoYClwIEZzKFNJRylwIEZ0KCcpZihwcmVcMDE0eC4pMTU0Ci0yMTYyIHkoMTEuKTYxIGIoVGhlKTMwIGIgRnMoa2lsbClmIEZ0KGJ1aWx0aW4paChkbylzKGVzKWcobm90KWgoYWNjZXB0KQotaChzaWduYWwpZihuYW1lcylmKHdpdGgpZyhhKWgoYClwIEZzKFNJRylwIEZ0KCcpZihwcmVcMDE0eC4pMTU0Ci0yMjk5IHkoMTIuKTYxIGIoTm9uLWluKW0odGVyYWN0aXYpbShlKTM0IGIoc2hlbGxzKWMoZXhpdCloKGlmKWcKLUZxKFwwMTRsZW5hbWUpayBGdChpbikzMCBiIEZzKC4pZyBGcShcMDE0bGVuYW1lKTM2IGIKLUZ0KGlzKTMxIGIobm90KWYoZm91bmQuKTE1NCAyNDM2IHkoMTMuKTYxIGIoTm9uLWluKW0odGVyYWN0aXYpbShlKTQxCi1iKHNoZWxscylkKGV4aXQpaChpZilmKGEpZyhzeW4pbSh0YXgpZyhlcnJvcilnKGluKWYoYW4paChhcml0aG1ldGljKWgKLShleHBhbnNpb24pZihyZXN1bHRzKWYoaW4paChhbikzMzAgMjU0NSB5KGluKW0odiktNSBiKGFsaWQpMzEKLWIoZXhwcmVzc2lvbi4pMTU0IDI2ODIgeSgxNC4pNjEgYihSZWRpcmVjdGlvbikyNSBiKG9wKXMoZXJhdG9ycylmKGRvKWcKLShub3QpZyhwKXMoZXJmb3JtKWYoXDAxNGxlbmFtZSloKGV4cGFuc2lvbilnKG9uKWcodGhlKWcodyltKG9yZClmKGluKWgKLSh0aGUpZyhyZWRpcmVjdGlvbikzMzAgMjc5MiB5KHVubGVzcykzMCBiKHRoZSlnKHNoZWxsKWgoaXMpZihpbiltCi0odGVyYWN0aXYpbShlLikxNTQgMjkyOSB5KDE1Lik2MSBiKFJlZGlyZWN0aW9uKTMxIGIob3ApcyhlcmF0b3JzKWcoZG8pZgotKG5vdCloKHApcyhlcmZvcm0pZSh3KW0ob3JkKWgoc3BsaXR0aW5nKWgob24pZih0aGUpaCh3KW0ob3JkKWYoaW4pZwotKHRoZSlnKHJlZGlyZWN0aW9uLikxNTQgMzA2NiB5KDE2Lik2MSBiKEYpLTggYih1bmN0aW9uKTM1Ci1iKG5hbWVzKWcobSltKHVzdClmKGIpcyhlKWcodiktNSBiKGFsaWQpMzUgYihzaGVsbClmCi1GcyhuYW1lKXAgRnQocy4pNTIgYihUaGF0KTM0IGIoaXMsKWkodGhleSlmKG1hKW0oeSlnKG5vdClnKGNvbiltKHRhaW4pZwotKGMpbShoYXJhY3RlcnMpMzMwIDMxNzYgeShvdGhlcillKHRoYW4pZyhsZXR0ZXJzLCloKGRpZ2l0cywpaChhbmQpZAotKHVuZGVyc2NvcmVzLCloKGFuZClmKG1hKW0oeSloKG5vdClnKHN0YXJ0KWgod2l0aCllKGEpaChkaWdpdC4pNDkKLWIoRGVjbGFyaW5nKTMzMCAzMjg1IHkoYSkzMSBiKGZ1bmN0aW9uKWYod2l0aClnKGFuKWcoaW4pbSh2KS01Ci1iKGFsaWQpMzEgYihuYW1lKWcoY2F1c2VzKWYoYSloKGZhdGFsKWgoc3luKW0odGF4KWYoZXJyb3IpZihpbilnCi0obm9uLWluKW0odGVyYWN0aXYpbShlKWooc2hlbGxzLikxNTQgMzQyMiB5KDE3Lik2MSBiCi1GbChwb3NpeCkzMCBiIEZ0KHNwKXMoZWNpYWwpaChidWlsdGlucyllKGFyZSlpKGZvdW5kKWUoYilzKGVmb3JlKWgKLShzaGVsbCloKGZ1bmN0aW9ucylmKGR1cmluZylmKGNvbW1hbmQpaChsbylzKG9rdXAuKTE1NAotMzU1OSB5KDE4Lik2MSBiKElmKTI0IGIoYSlnIEZsKHBvc2l4KWcgRnQoc3ApcyhlY2lhbCloKGJ1aWx0aW4pZgotKHJldHVybnMpZihhbiloKGVycm9yKWcoc3RhdHVzLClpKGEpZShub24taW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbCllCi0oZXhpdHMuKTM5IGIoVGhlKTI0IGIoZmF0YWwpMzMwIDM2NjkgeShlcnJvcnMpaShhcmUpaCh0aG9zZSlmKGxpc3RlZCloCi0oaW4pZih0aGUpaChQT1NJWCllKHN0YW5kYXJkLClpKGFuZClmKGluY2x1ZGUpZyh0aGluZ3MpZyhsaWspbShlKWkKLShwYXNzaW5nKWUoaW5jb3JyZWN0KTMzMCAzNzc4IHkob3B0aW9ucywpNDMgYihyZWRpcmVjdGlvbilkKGVycm9ycywpaQotKHYpLTUgYihhcmlhYmxlKTQxIGIoYXNzaWdubWVuKW0odClnKGVycm9ycyllKGZvcilnKGFzc2lnbm1lbiltKHRzKWkKLShwcmVjZWRpbmcpZih0aGUpMzMwIDM4ODggeShjb21tYW5kKTMwIGIobmFtZSwpaChhbmQpZihzbylnKG9uLikxNTQKLTQwMjUgeSgxOS4pNjEgYihJZikzNCBiIEZzKENEUEFUSClmIEZ0KGlzKWgoc2V0LClpKHRoZSlmCi1GcyhjZClmIEZ0KGJ1aWx0aW4pZyh3aWxsKWcobm90KWgoaW1wbGljaXRseSloKGFwcClzKGVuZCljKHRoZSlqCi0oY3VycmVuKW0odClmKGRpcmVjdG9yeSloKHRvKWcoaXQuKTMzMCA0MTM0IHkoVGhpcykyOQotYihtZWFucylnKHRoYXQpaCBGcyhjZClmIEZ0KHdpbGwpaChmYWlsKWcoaWYpZyhubylmKHYpLTUKLWIoYWxpZCkzMCBiKGRpcmVjdG9yeSlnKG5hbWUpZihjYW4paChiKXMoZSlmKGNvbnN0cnVjdGVkKWgoZnJvbSlmKGFuKW0KLSh5KWgob2YpMzMwIDQyNDQgeSh0aGUpaShlbiltKHRyaWVzKWcoaW4pZiBGcygkQ0RQQVRIKXAKLUZ0KCwpZShldiltKGVuKWooaWYpZyh0aGUpZihhKWgoZGlyZWN0b3J5KWcod2l0aClmKHRoZSlnKHNhbWUpaChuYW1lKWYKLShhcyloKHRoZSlnKG5hbWUpZihnaXYpbShlbikzMzAgNDM1NCB5KGFzKWcoYW4pZihhcmd1bWVuKW0odCloKHRvKWcKLUZzKGNkKWYgRnQoZXhpc3RzKWgoaW4pZih0aGUpZyhjdXJyZW4pbSh0KWcoZGlyZWN0b3J5KS04Ci1iKC4pMTU0IDQ0OTEgeSgyMC4pNjEgYihBKTMxIGIobm9uLWluKW0odGVyYWN0aXYpbShlKWooc2hlbGwpZChleGl0cyloCi0od2l0aCllKGFuKWgoZXJyb3IpZyhzdGF0dXMpZyhpZilnKGEpZyh2KS01IGIoYXJpYWJsZSkzMgotYihhc3NpZ25tZW4pbSh0KWcoZXJyb3IpZShvKXMoY2N1cnMpMzMwIDQ2MDAgeSh3aGVuKTM4Ci1iKG5vKWgoY29tbWFuZClnKG5hbWUpZyhmb2xsbyltKHdzKWkodGhlKWUoYXNzaWdubWVuKW0odCloKHN0YXRlbWVuKW0KLSh0cy4pNjkgYihBKTM5IGIodiktNSBiKGFyaWFibGUpNDAgYihhc3NpZ25tZW4pbSh0KTMzMAotNDcxMCB5KGVycm9yKTMwIGIobylzKGNjdXJzLClnKGZvcilnKGV4YW1wbGUsKWkod2hlbilkKHRyeWluZylpKHRvKWcKLShhc3NpZ24pZihhKWgodiktNSBiKGFsdWUpMzEgYih0bylnKGEpZyhyZWFkb25seSlmKHYpLTUKLWIoYXJpYWJsZS4pMTU0IDQ4NDcgeSgyMS4pNjEgYihBKTQzIGIobm9uLWluKW0odGVyYWN0aXYpbShlKWkoc2hlbGwpZQotKGV4aXRzKWgod2l0aClmKGFuKWYoZXJyb3IpaChzdGF0dXMpZyhpZilnKHRoZSlnKGl0ZXJhdGlvbiloKHYpLTUKLWIoYXJpYWJsZSk0NCBiKGluKWYoYSlnIEZzKGZvcikzMzAgNDk1NiB5IEZ0KHN0YXRlbWVuKW0odCkzMgotYihvcilmKHRoZSlmKHNlbGVjdGlvbilpKHYpLTUgYihhcmlhYmxlKTMyIGIoaW4pZShhKWcKLUZzKHNlbGVjdClmIEZ0KHN0YXRlbWVuKW0odClqKGlzKWYoYSlmKHJlYWRvbmx5KWgodiktNQotYihhcmlhYmxlLikxNTQgNTA5MyB5KDIyLik2MSBiKFBybylzKGNlc3MpMzAgYihzdWJzdGl0dXRpb24pZyhpcyloKG5vdCkKLWYoYSltKHYpLTUgYihhaWxhYmxlLikxNTQgNTIzMCB5KDIzLik2MSBiKEFzc2lnbm1lbiltKHQpMjMKLWIoc3RhdGVtZW4pbSh0cyloKHByZWNlZGluZyllIEZsKHBvc2l4KWYgRnQoc3ApcyhlY2lhbClpKGJ1aWx0aW5zKWYocClzCi0oZXJzaXN0KWcoaW4pZih0aGUpaShzaGVsbClmKGVuKW0odmlyb25tZW4pbSh0KTMzMCA1MzQwCi15KGFmdGVyKTMxIGIodGhlKWYoYnVpbHRpbilnKGNvbXBsZXRlcy4pcCBlb3AgZW5kCitiKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoODUpMjc1IDI5OSB5KEluKTI3CitiKGFkZGl0aW9uLClqKHRoZSlmKGZvbGxvKW0od2luZyloKHRhYmxlKWYoZGVzY3JpYilzKGVzKWYodGhlKWgoc3ApcworKGVjaWFsKWcoYyltKGhhcmFjdGVycyloKHdoaWMpbShoKWYoY2FuKWYoYXBwKXMoZWFyKWcoaW4paCh0aGUpMTUwCis0MDggeShwcm9tcHQpZyh2KS01IGIoYXJpYWJsZXM6KTE1MCA1NzIgeSBGcyhcXGEpMzg0CitiIEZ0KEEpMzAgYihiKXMoZWxsKWgoYyltKGhhcmFjdGVyLikxNTAgNzM1IHkgRnMoXFxkKTM4NAorYiBGdChUaGUpMzAgYihkYXRlLCloKGluKWYgRnMoIilwIEZ0KFcpLTggYihlZWtkYSltKHkpMzIKK2IoTW9uKW0odGgpZihEYXRlKXAgRnMoIiloIEZ0KGZvcm1hdClmKFwoZS5nLiwpaCBGcygiKXAKK0Z0KFQpLTggYih1ZSkzMCBiKE1hKW0oeSloKDI2KXAgRnMoIilwIEZ0KFwpLikxNTAgODk3Cit5IEZzKFxcRHspcCBGaShmb3JtYXQpMTEgYiBGcyh9KTYzMCAxMDA2IHkgRnQoVGhlKTI3CitiIEZxKGZvcm1hdClpIEZ0KGlzKWYocGFzc2VkKWUodG8paSBGcyhzdHJmdGltZSlwIEZ0KFwoM1wpKWYoYW5kKWYodGhlKQoraShyZXN1bHQpZihpcylnKGluc2VydGVkKWcoaW4pbSh0byloKHRoZSlnKHByb21wdCk2MzAKKzExMTYgeShzdHJpbmc7KTQyIGIoYW4pZChlbXB0KW0oeSlmIEZxKGZvcm1hdClqIEZ0KHJlc3VsdHMpZChpbilnKGEpaAorKGxvKXMoY2FsZS1zcClzKGVjaVwwMTRjKWgodGltZSlmKHJlcHJlc2VuKW0odGF0aW9uLik2NQorYihUaGUpNjMwIDEyMjYgeShicmFjZXMpMzEgYihhcmUpZihyZXF1aXJlZC4pMTUwIDEzODgKK3kgRnMoXFxlKTM4NCBiIEZ0KEFuKTMwIGIoZXNjYXApcyhlKWgoYyltKGhhcmFjdGVyLikxNTAKKzE1NTAgeSBGcyhcXGgpMzg0IGIgRnQoVGhlKTMwIGIoaG9zdG5hbWUsKWgodXApZSh0bylpKHRoZSlnKFwwMTRyc3QpZQorKGAuJy4pMTUwIDE3MTIgeSBGcyhcXEgpMzg0IGIgRnQoVGhlKTMwIGIoaG9zdG5hbWUuKTE1MAorMTg3NSB5IEZzKFxcaikzODQgYiBGdChUaGUpMzAgYihuKW0odW0pbShiKXMoZXIpZihvZiloKGpvYnMpZyhjdXJyZW4pbQorKHRseSloKG1hbmFnZWQpZyhiKW0oeSlmKHRoZSlnKHNoZWxsLikxNTAgMjAzNyB5IEZzKFxcbCkzODQKK2IgRnQoVGhlKTMwIGIoYmFzZW5hbWUpaChvZilmKHRoZSloKHNoZWxsJ3MpZih0ZXJtaW5hbCloKGRldmljZSlnCisobmFtZS4pMTUwIDIxOTkgeSBGcyhcXG4pMzg0IGIgRnQoQSkzMCBiKG5ld2xpbmUuKTE1MAorMjM2MiB5IEZzKFxccikzODQgYiBGdChBKTMwIGIoY2FycmlhZ2UpaShyZXR1cm4uKTE1MAorMjUyNCB5IEZzKFxccykzODQgYiBGdChUaGUpMjIgYihuYW1lKWcob2YpaCh0aGUpZihzaGVsbCwpaSh0aGUpZgorKGJhc2VuYW1lKWYob2YpaCBGcygkMClmIEZ0KFwodGhlKWcocClzKG9ydGlvbilnKGZvbGxvKW0od2luZylpKHRoZSlmCisoXDAxNG5hbCllKHNsYXNoXCkuKTE1MCAyNjg2IHkgRnMoXFx0KTM4NCBiIEZ0KFRoZSkzMAorYih0aW1lLCloKGluKWYoMjQtaG91ciloKEhIOk1NOlNTKWcoZm9ybWF0LikxNTAgMjg0OQoreSBGcyhcXFQpMzg0IGIgRnQoVGhlKTMwIGIodGltZSwpaChpbilmKDEyLWhvdXIpaChISDpNTTpTUylnKGZvcm1hdC4pCisxNTAgMzAxMSB5IEZzKFxcQCkzODQgYiBGdChUaGUpMzAgYih0aW1lLCloKGluKWYoMTItaG91ciloKGFtL3BtKWYKKyhmb3JtYXQuKTE1MCAzMTczIHkgRnMoXFxBKTM4NCBiIEZ0KFRoZSkzMCBiKHRpbWUsKWgoaW4pZigyNC1ob3VyKWgKKyhISDpNTSlnKGZvcm1hdC4pMTUwIDMzMzUgeSBGcyhcXHUpMzg0IGIgRnQoVGhlKTMwIGIodXNlcm5hbWUpZyhvZilnCisodGhlKWgoY3VycmVuKW0odClmKHVzZXIuKTE1MCAzNDk4IHkgRnMoXFx2KTM4NCBiIEZ0KFRoZSkzMAorYih2KW0oZXJzaW9uKWgob2YpZihCYXNoKWgoXChlLmcuLCloKDIuMDBcKSkxNTAgMzY2MAoreSBGcyhcXFYpMzg0IGIgRnQoVGhlKTMwIGIocmVsZWFzZSlpKG9mKWUoQmFzaCwpaCh2KW0oZXJzaW9uKWcKK0ZzKCspZiBGdChwYXRjKW0oaGxldiltKGVsKWkoXChlLmcuLCloKDIuMDAuMFwpKTE1MCAzODIyCit5IEZzKFxcdykzODQgYiBGdChUaGUpMzQgYihjdXJyZW4pbSh0KWgodyltKG9ya2luZylnKGRpcmVjdG9yeSktOAorYigsKTM3IGIod2l0aCllIEZzKCRIT01FKWUgRnQoYWJicmV2aWF0ZWQpaih3aXRoKWUoYSloKHRpbGRlKWgoXCh1c2VzKWYKKyh0aGUpNjMwIDM5MzIgeSBGcygkUFJPTVBUX0RJUlRSSU0pMjYgYiBGdCh2KS01IGIoYXJpYWJsZVwpLikxNTAKKzQwOTQgeSBGcyhcXFcpMzg0IGIgRnQoVGhlKTMwIGIoYmFzZW5hbWUpaChvZilmIEZzKCRQV0QpcAorRnQoLClnKHdpdGgpZyBGcygkSE9NRSlmIEZ0KGFiYnJldmlhdGVkKWgod2l0aClnKGEpaCh0aWxkZS4pMTUwCis0MjU3IHkgRnMoXFwhKTM4NCBiIEZ0KFRoZSkzMCBiKGhpc3RvcnkpZyhuKW0odW0pbShiKXMoZXIpZihvZilpKHRoaXMpZgorKGNvbW1hbmQuKTE1MCA0NDE5IHkgRnMoXFwjKTM4NCBiIEZ0KFRoZSkzMCBiKGNvbW1hbmQpZyhuKW0odW0pbShiKXMKKyhlcilmKG9mKWkodGhpcylmKGNvbW1hbmQuKTE1MCA0NTgxIHkgRnMoXFwkKTM4NCBiIEZ0KElmKTMwCitiKHRoZSlnKGVcMDEzZWN0aXYpbShlKWoodWlkKWQoaXMpZygwLCloIEZzKCMpcCBGdCgsKWcob3RoZXJ3aXNlKWcKK0ZzKCQpcCBGdCguKTE1MCA0NzQzIHkgRnMoXFwpcCBGaShubm4pMjg4IGIgRnQoVGhlKTMwCitiKGMpbShoYXJhY3RlcilpKHdob3NlKWUoQVNDSSlzKEkpZihjbylzKGRlKWgoaXMpaCh0aGUpZihvKXMoY3RhbClpKHYpCistNSBiKGFsdWUpMzEgYiBGcShubm4pcCBGdCguKTE1MCA0OTA2IHkgRnMoXFxcXCkzODQgYgorRnQoQSkzMCBiKGJhYyltKGtzbGFzaC4pMTUwIDUwNjggeSBGcyhcXFspMzg0IGIgRnQoQmVnaW4pMzgKK2IoYSlmKHNlcXVlbmNlKWcob2YpZyhub24tcHJpbiltKHRpbmcpZyhjKW0oaGFyYWN0ZXJzLik2MQorYihUaGlzKTM2IGIoY291bGQpaChiKXMoZSlnKHVzZWQpZih0byloKGVtKW0oYilzKGVkKWcoYSk2MzAKKzUxNzggeSh0ZXJtaW5hbCkzMSBiKGNvbiltKHRyb2wpaChzZXF1ZW5jZSllKGluKW0odG8paSh0aGUpZShwcm9tcHQuKQorMTUwIDUzNDAgeSBGcyhcXF0pMzg0IGIgRnQoRW5kKTI5IGIoYSlpKHNlcXVlbmNlKWcob2YpZihub24tcHJpbiltCisodGluZylnKGMpbShoYXJhY3RlcnMuKXAgZW9wIGVuZAogJSVQYWdlOiA4NiA5MgogVGVYRGljdCBiZWdpbiA4NiA5MSBib3AgMTUwIC0xMTYgYSBGdCg4NikyNTcyIGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTU0IDI5OSB5KDI0Lik2MSBiKEFzc2lnbm1lbiltKHQpMzUKLWIoc3RhdGVtZW4pbSh0cyloKHByZWNlZGluZylmKHNoZWxsKWYoZnVuY3Rpb24pZyhjYWxscylpKHApcyhlcnNpc3QpZQotKGluKWcodGhlKWgoc2hlbGwpZihlbiltKHZpcm9ubWVuKW0odCkzMzAgNDA4IHkoYWZ0ZXIpZCh0aGUpZihmdW5jdGlvbikKLWgocmV0dXJucywpZShhcylpKGlmKWYoYSloIEZsKHBvc2l4KWUgRnQoc3ApcyhlY2lhbClpKGJ1aWx0aW4pZgotKGNvbW1hbmQpZyhoYWQpZyhiKXMoZWVuKWcoZXhlY3V0ZWQuKTE1NCA1MzUgeSgyNS4pNjEKLWIoVGhlKTM4IGIgRnMoZXhwb3J0KWYgRnQoYW5kKWcgRnMocmVhZG9ubHkpZiBGdChidWlsdGluKWkoY29tbWFuZHMpZwotKGRpc3BsYSltKHkpaCh0aGVpcilmKG91dHB1dClnKGluKWcodGhlKWgoZm9ybWF0KWcocmUtKTMzMAotNjQ1IHkocXVpcmVkKTMwIGIoYiltKHkpZyBGbChwb3NpeClwIEZ0KC4pMTU0IDc3MiB5KDI2Lik2MQotYihUaGUpMzAgYiBGcyh0cmFwKWYgRnQoYnVpbHRpbiloKGRpc3BsYSltKHlzKWcoc2lnbmFsKWkobmFtZXMpZQotKHdpdGhvdXQpZyh0aGUpaChsZWFkaW5nKWcgRnMoU0lHKXAgRnQoLikxNTQgODk5IHkoMjcuKTYxCi1iKFRoZSkzOSBiIEZzKHRyYXApZSBGdChidWlsdGluKWkoZG8pcyhlc24ndClnKGMpbShoZWMpbShrKWgodGhlKWcKLShcMDE0cnN0KWUoYXJndW1lbiltKHQpaShmb3IpZShhKWkocClzKG9zc2libGUpZShzaWduYWwpaShzcClzCi0oZWNpXDAxNGNhdGlvbikzMzAgMTAwOCB5KGFuZCkzMCBiKHJldiltKGVydClpKHRoZSllKHNpZ25hbClpKGhhbmRsaW5nKQotZSh0byloKHRoZSlnKG9yaWdpbmFsKWgoZGlzcClzKG9zaXRpb24pZShpZiloKGl0KWcoaXMsKWcodW5sZXNzKWYodGhhdCkKLWgoYXJndW1lbiltKHQpMzMwIDExMTggeShjb25zaXN0cyllKHNvbGVseSlnKG9mKWcoZGlnaXRzKWcoYW5kKWYoaXMpZwotKGEpaCh2KS01IGIoYWxpZCkyOSBiKHNpZ25hbClnKG4pbSh1bSltKGIpcyhlci4pMzggYihJZikyOAotYih1c2VycylnKHcpbShhbiltKHQpaCh0bylnKHJlc2V0KWcodGhlKWcoaGFuZGxlcikzMzAKLTEyMjggeShmb3IpaChhKWcoZ2l2KW0oZW4paChzaWduYWwpZyh0bylmKHRoZSloKG9yaWdpbmFsKWcoZGlzcClzCi0ob3NpdGlvbiwpZih0aGV5KWcoc2hvdWxkKWYodXNlKWgoYClwIEZzKC0pcCBGdCgnKWcoYXMpZyh0aGUpZyhcMDE0cnN0KQotZihhcmd1bWVuKW0odC4pMTU0IDEzNTQgeSgyOC4pNjEgYihUaGUpMjEgYiBGcyguKWggRnQoYW5kKWYKLUZzKHNvdXJjZSlmIEZ0KGJ1aWx0aW5zKWgoZG8pZyhub3QpaChzZWFyYyltKGgpaCh0aGUpZihjdXJyZW4pbSh0KWYKLShkaXJlY3RvcnkpaChmb3IpZyh0aGUpZyhcMDE0bGVuYW1lKWYoYXJndW1lbiltKHQpMzMwCi0xNDY0IHkoaWYpMzAgYihpdCloKGlzKWcobm90KWYoZm91bmQpZihiKW0oeSlpKHNlYXJjKW0oaGluZylnCi1GcyhQQVRIKXAgRnQoLikxNTQgMTU5MSB5KDI5Lik2MSBiKFN1YnNoZWxscykyMCBiKHNwYSltKHduZWQpaCh0byloCi0oZXhlY3V0ZSlnKGNvbW1hbmQpZyhzdWJzdGl0dXRpb25zKWYoaW5oZXJpdClnKHRoZSlnKHYpLTUKLWIoYWx1ZSkyMiBiKG9mKWcodGhlKWYoYClwIEZzKC1lKXAgRnQoJylnKG9wdGlvbikzMzAKLTE3MDAgeShmcm9tKTM0IGIodGhlKWgocGFyZW4pbSh0KWcoc2hlbGwuKTU1IGIoV2hlbikzNAotYihub3QpaShpbillIEZsKHBvc2l4KWcgRnQobW8pcyhkZSwpaShCYXNoKWYoY2xlYXJzKWgodGhlKWYoYClwCi1GcygtZSlwIEZ0KCcpZihvcHRpb24paShpbillKHN1YyltKGgpMzMwIDE4MTAgeShzdWJzaGVsbHMuKTE1NAotMTkzNyB5KDMwLik2MSBiKEFsaWFzKTMxIGIoZXhwYW5zaW9uKWcoaXMpZihhbHcpbShhKW0oeXMpaShlbmFibGVkLCllCi0oZXYpbShlbilpKGluKWUobm9uLWluKW0odGVyYWN0aXYpbShlKWooc2hlbGxzLikxNTQgMjA2NAoteSgzMS4pNjEgYihXaGVuKTQzIGIodGhlKWcgRnMoYWxpYXMpZiBGdChidWlsdGluKWcoZGlzcGxhKW0oeXMpaShhbGlhcykKLWcoZGVcMDE0bml0aW9ucywpaShpdClkKGRvKXMoZXMpZyhub3QpZyhkaXNwbGEpbSh5KWgodGhlbSlmKHdpdGgpZyhhKQotMzMwIDIxNzMgeShsZWFkaW5nKTMxIGIoYClwIEZzKGFsaWFzKWUgRnQoJylpKHVubGVzcylmKHRoZSlnKGApcAotRnMoLXApcCBGdCgnKWcob3B0aW9uKWgoaXMpZyhzdXBwbGllZC4pMTU0IDIzMDAgeSgzMi4pNjEKLWIoV2hlbik0MCBiKHRoZSlnIEZzKHNldClmIEZ0KGJ1aWx0aW4paChpcylnKGluKW0odiltKG9rKW0oZWQpaAotKHdpdGhvdXQpZihvcHRpb25zLClqKGl0KWUoZG8pcyhlcylmKG5vdClnKGRpc3BsYSltKHkpZyhzaGVsbClnCi0oZnVuY3Rpb24pMzMwIDI0MTAgeShuYW1lcykzMCBiKGFuZClnKGRlXDAxNG5pdGlvbnMuKTE1NAotMjUzNyB5KDMzLik2MSBiKFdoZW4pMzYgYih0aGUpZyBGcyhzZXQpZyBGdChidWlsdGluKWcoaXMpZyhpbiltKHYpbShvaykKLW0oZWQpaSh3aXRob3V0KWUob3B0aW9ucywpaShpdClmKGRpc3BsYSltKHlzKWYodiktNSBiKGFyaWFibGUpMzcKLWIodiktNSBiKGFsdWVzKTM3IGIod2l0aG91dCkzMzAgMjY0NiB5KHF1b3RlcywpMjYgYih1bmxlc3MpZCh0aGV5KWkKLShjb24pbSh0YWluKWcoc2hlbGwpZihtZXRhYyltKGhhcmFjdGVycywpayhldiltKGVuKWQoaWYpZih0aGUpZyhyZXN1bHQpCi1nKGNvbiltKHRhaW5zKWkobm9ucHJpbiltKHRpbmcpMzMwIDI3NTYgeShjKW0oaGFyYWN0ZXJzLikxNTQKLTI4ODMgeSgzNC4pNjEgYihXaGVuKTM1IGIodGhlKWcgRnMoY2QpZiBGdChidWlsdGluKWgoaXMpZyhpbiltKHYpbShvayltCi0oZWQpaShpbilkIEZxKGxvZ2ljYWwpNDEgYiBGdChtbylzKGRlLCkzNiBiKGFuZClmKHRoZSlnKHBhdGhuYW1lKWcKLShjb25zdHJ1Y3RlZClnKGZyb20pMzMwIDI5OTIgeSBGcygkUFdEKWkgRnQoYW5kKWgodGhlKWgoZGlyZWN0b3J5KWYKLShuYW1lKWgoc3VwcGxpZWQpZShhcylpKGFuKWYoYXJndW1lbiltKHQpaChkbylzKGVzKWYobm90KWcocmVmZXIpaCh0bylnCi0oYW4pZihleGlzdGluZykzMzAgMzEwMiB5KGRpcmVjdG9yeSktOCBiKCwpMzIgYiBGcyhjZClkCi1GdCh3aWxsKWkoZmFpbClnKGluc3RlYWQpZyhvZilmKGZhbGxpbmcpaChiYWMpbShrKWgodG8pZgotRnEocGgpbSh5c2ljYWwpaiBGdChtbylzKGRlLikxNTQgMzIyOSB5KDM1Lik2MSBiKFdoZW4pMjAKLWIodGhlKWggRnMocHdkKWUgRnQoYnVpbHRpbiloKGlzKWcoc3VwcGxpZWQpZyh0aGUpZyhgKXAKLUZzKC1QKXAgRnQoJylnKG9wdGlvbiwpaihpdCllKHJlc2V0cylnIEZzKCRQV0QpZSBGdCh0bylpKGEpZyhwYXRobmFtZSlmCi0oY29uKW0odGFpbmluZykzMzAgMzMzOSB5KG5vKTMwIGIoc3ltbGlua3MuKTE1NCAzNDY1Ci15KDM2Lik2MSBiKFRoZSkzNiBiIEZzKHB3ZClmIEZ0KGJ1aWx0aW4paCh2KW0oZXJpXDAxNGVzKWgodGhhdClnKHRoZSlmCi0odiktNSBiKGFsdWUpMzcgYihpdClnKHByaW4pbSh0cyllKGlzKWkodGhlKWYoc2FtZSloKGFzKWYodGhlKWgoY3VycmVuKQotbSh0KWYoZGlyZWN0b3J5KS04IGIoLCkzMzAgMzU3NSB5KGV2KW0oZW4pMzEgYihpZilmKGl0KWgoaXMpZyhub3QpZgotKGFzayltKGVkKWgodG8pZyhjKW0oaGVjKW0oayloKHRoZSlmKFwwMTRsZSlmKHN5c3RlbSloKHdpdGgpZih0aGUpaChgKXAKLUZzKC1QKXAgRnQoJylmKG9wdGlvbi4pMTU0IDM3MDIgeSgzNy4pNjEgYihXaGVuKTM1IGIobGlzdGluZylnKHRoZSlnCi0oaGlzdG9yeSktOCBiKCwpMzYgYih0aGUpZiBGcyhmYylnIEZ0KGJ1aWx0aW4pZihkbylzKGVzKWcobm90KWgKLShpbmNsdWRlKWcoYW4pZihpbmRpY2F0aW9uKWkob2YpZih3aGV0aGVyKWYob3IpMzMwIDM4MTEKLXkobm90KWQoYSlmKGhpc3RvcnkpaChlbiltKHRyeSlmKGhhcylnKGIpcyhlZW4pZyhtbylzKGRpXDAxNGVkLikxNTQKLTM5MzggeSgzOC4pNjEgYihUaGUpMzAgYihkZWZhdWx0KWcoZWRpdG9yKWgodXNlZClmKGIpbSh5KWcKLUZzKGZjKWcgRnQoaXMpZyBGcyhlZClwIEZ0KC4pMTU0IDQwNjUgeSgzOS4pNjEgYihUaGUpMzcKLWIgRnModHlwZSlnIEZ0KGFuZClnIEZzKGNvbW1hbmQpZiBGdChidWlsdGlucylpKHdpbGwpZyhub3QpZyhyZXApcyhvcnQpCi1mKGEpaShub24tZXhlY3V0YWJsZSlnKFwwMTRsZSlmKGFzKWcoaGEpbSh2aW5nKWgoYilzKGVlbikzMzAKLTQxNzUgeShmb3VuZCwpMjYgYih0aG91Z2gpaCh0aGUpZyhzaGVsbClnKHdpbGwpZyhhdHRlbXB0KWgodG8pZwotKGV4ZWN1dGUpZyhzdWMpbShoKWYoYSlnKFwwMTRsZSlnKGlmKWcoaXQpZyhpcylnKHRoZSlnKG9ubHkpZyhzby1uYW1lZCkKLWcoXDAxNGxlKTMzMCA0Mjg0IHkoZm91bmQpaShpbiloIEZzKCRQQVRIKXAgRnQoLikxNTQKLTQ0MTEgeSg0MC4pNjEgYihUaGUpMzMgYiBGcyh2aSlmIEZ0KGVkaXRpbmcpaShtbylzKGRlKWYod2lsbClnKGluKW0odiltCi0ob2spbShlKWkodGhlKWUgRnModmkpZyBGdChlZGl0b3IpaChkaXJlY3RseSlmKHdoZW4pZih0aGUpaShgKXAKLUZzKHYpcCBGdCgnKWYoY29tbWFuZClnKGlzKWcocnVuLCkzMzAgNDUyMSB5KGluc3RlYWQpZShvZilmKGMpbShoZWMpbQotKGtpbmcpaSBGcygkVklTVUFMKWQgRnQoYW5kKWcgRnMoJEVESVRPUilwIEZ0KC4pMTU0IDQ2NDgKLXkoNDEuKTYxIGIoV2hlbik0MSBiKHRoZSlnIEZzKHhwZ19lY2hvKWUgRnQob3B0aW9uKWkoaXMpZyhlbmFibGVkLClqCi0oQmFzaClkKGRvKXMoZXMpZyhub3QpZyhhdHRlbXB0KWgodG8pZyhpbiltKHRlcnByZXQpZihhbiltKHkpaChhci0pMzMwCi00NzU3IHkoZ3VtZW4pbSh0cykzNSBiKHRvKWcgRnMoZWNobyllIEZ0KGFzKWkob3B0aW9ucy4pNTQKLWIoRWFjKW0oaCkzNSBiKGFyZ3VtZW4pbSh0KWcoaXMpZihkaXNwbGEpbSh5KW0oZWQsKWooYWZ0ZXIpZShlc2NhcClzKGUpCi1nKGMpbShoYXJhY3RlcnMpaChhcmUpMzMwIDQ4NjcgeShjb24pbSh2KW0oZXJ0ZWQuKTE1NAotNDk5NCB5KDQyLik2MSBiKFRoZSkzMCBiIEZzKHVsaW1pdClmIEZ0KGJ1aWx0aW4pZyh1c2VzKWgoYSloKGJsbylzKGMpbQotKGspZyhzaXplKWcob2YpZyg1MTIpZyhiKW0oeXRlcylnKGZvcilmKHRoZSloKGApcCBGcygtYylwCi1GdCgnKWYoYW5kKWcoYClwIEZzKC1mKXAgRnQoJylnKG9wdGlvbnMuKTE1NCA1MTIxIHkoNDMuKTYxCi1iKFRoZSkzOSBiKGFycml2KS01IGIoYWwpNDEgYihvZilmIEZzKFNJR0NITEQpZSBGdCh3aGVuKWgoYSloKHRyYXApZwotKGlzKWcoc2V0KWgob24pZiBGcyhTSUdDSExEKWUgRnQoZG8pcyhlcyloKG5vdCloKGluKW0odGVycnVwdClnKHRoZSlnCi1Gcyh3YWl0KTMzMCA1MjMwIHkgRnQoYnVpbHRpbiljKGFuZCloKGNhdXNlKWcoaXQpaCh0bylmKHJldHVybilmCi0oaW1tZWRpYXRlbHkpLTggYiguKTYyIGIoVGhlKTM3IGIodHJhcClmKGNvbW1hbmQpaChpcylnKHJ1billKG9uY2UpagotKGZvcilmKGVhYyltKGgpMzMwIDUzNDAgeShjKW0oaGlsZCkzMSBiKHRoYXQpZyhleGl0cy4pcAotZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMjc1IDI5OSB5KFRoZSkyNSBiKGNvbW1hbmQpaChuKW0odW0pbShiKXMoZXIpZgorKGFuZCloKHRoZSlnKGhpc3RvcnkpZyhuKW0odW0pbShiKXMoZXIpZihhcmUpaSh1c3VhbGx5KWYoZGlcMDEzZXJlbiltCisodDopMzkgYih0aGUpMjYgYihoaXN0b3J5KWcobiltKHVtKW0oYilzKGVyKTE1MCA0MDggeShvZiloKGEpZihjb21tYW5kKQoraChpcylmKGl0cyloKHApcyhvc2l0aW9uKWYoaW4pZyh0aGUpaChoaXN0b3J5KWYobGlzdCwpaSh3aGljKW0oaClmKG1hKW0KKyh5KWcoaW5jbHVkZSlmKGNvbW1hbmRzKWcocmVzdG9yZWQpZyhmcm9tKTE1MCA1MTggeSh0aGUpMzkKK2IoaGlzdG9yeSloKFwwMTRsZSlmKFwoc2VlKWgoU2VjdGlvbilnKDkuMSloKFtCYXNoKWUoSGlzdG9yeSloKEYpLTgKK2IoYWNpbGl0aWVzXSwpNDUgYihwYWdlKTQwIGIoMTI1XCksKWood2hpbGUpZCh0aGUpZihjb21tYW5kKTE1MAorNjI4IHkobiltKHVtKW0oYilzKGVyKWooaXMpaCh0aGUpaChwKXMob3NpdGlvbilmKGluKWcodGhlKWcoc2VxdWVuY2UpaAorKG9mKWYoY29tbWFuZHMpZyhleGVjdXRlZCloKGR1cmluZyllKHRoZSlpKGN1cnJlbiltKHQpZihzaGVsbCkxNTAKKzczNyB5KHNlc3Npb24uKTI3NSA4NzQgeShBZnRlcikzNSBiKHRoZSlnKHN0cmluZylnKGlzKWcoZGVjbylzKGRlZCwpaAorKGl0KWYoaXMpZyhleHBhbmRlZClmKHZpYSlpKHBhcmFtZXRlcilmKGV4cGFuc2lvbiwpaShjb21tYW5kKWQoc3Vic3RpLSkKKzE1MCA5ODMgeSh0dXRpb24sKWsoYXJpdGhtZXRpYylmKGV4cGFuc2lvbiwpZyhhbmQpZShxdW90ZSloKHJlbW8pbSh2KS01CitiKGFsLCkzOSBiKHN1Yik1IGIoamVjdCkzNSBiKHRvKWkodGhlKWYodiktNSBiKGFsdWUpMzYKK2Iob2YpZyh0aGUpZyBGcyhwcm9tcHR2YXJzKTE1MCAxMDkzIHkgRnQoc2hlbGwpMzEgYihvcHRpb24pZihcKHNlZSlpCisoU2VjdGlvbilmKDQuMilnKFtCYXNoKWcoQnVpbHRpbnNdLClnKHBhZ2UpZyg0M1wpLikxNTAKKzEzMjggeSBGcig2LjEwKTY4IGIoVGhlKTQ1IGIoUmVzdHJpY3RlZCloKFNoZWxsKTE1MCAxNDg4Cit5IEZ0KElmKTI3IGIoQmFzaCloKGlzKWcoc3RhcnRlZClnKHdpdGgpZyh0aGUpZyhuYW1lKWcKK0ZzKHJiYXNoKXAgRnQoLClmKG9yKWcodGhlKWgoYClwIEZzKC0tcmVzdHJpY3RlZClwIEZ0KCcpZChvcilqKGApcAorRnMoLXIpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyhzdXBwbGllZCllKGF0KTE1MCAxNTk3IHkoaW4pbSh2KW0obylzCisoY2F0aW9uLClrKHRoZSlkKHNoZWxsKWcoYilzKGVjb21lcyloKHJlc3RyaWN0ZWQuKTQwCitiKEEpMjcgYihyZXN0cmljdGVkKWgoc2hlbGwpZihpcylnKHVzZWQpZih0bylpKHNldClmKHVwKWYoYW4paChlbiltCisodmlyb25tZW4pbSh0KTE1MCAxNzA3IHkobW9yZSlnKGNvbiltKHRyb2xsZWQpaSh0aGFuKWUodGhlKWcoc3RhbmRhcmQpZworKHNoZWxsLik0MCBiKEEpMjcgYihyZXN0cmljdGVkKWgoc2hlbGwpZihiKXMoZWhhKW0odiltKGVzKWgoaWRlbiltCisodGljYWxseSloKHRvKWYgRnMoYmFzaCllIEZ0KHdpdGgpMTUwIDE4MTcgeSh0aGUpMzEgYihleGNlcHRpb24pZyh0aGF0KQorZyh0aGUpZyhmb2xsbyltKHdpbmcpaChhcmUpZShkaXNhbGxvKW0odyltKGVkKWkob3IpZShub3QpaChwKXMKKyhlcmZvcm1lZDopMjI1IDE5NTMgeSBGcChcMDE3KTYwIGIgRnQoQ2hhbmdpbmcpMzAgYihkaXJlY3RvcmllcyloKHdpdGgpCitnKHRoZSlmIEZzKGNkKWcgRnQoYnVpbHRpbi4pMjI1IDIwODkgeSBGcChcMDE3KTYwIGIgRnQoU2V0dGluZykzMQorYihvcilmKHVuc2V0dGluZyloKHRoZSlnKHYpLTUgYihhbHVlcykzMCBiKG9mKWgodGhlKWYKK0ZzKFNIRUxMKXAgRnQoLClnIEZzKFBBVEgpcCBGdCgsKWYgRnMoRU5WKXAgRnQoLCloKG9yKWcKK0ZzKEJBU0hfRU5WKWUgRnQodiktNSBiKGFyaWFibGVzLikyMjUgMjIyNCB5IEZwKFwwMTcpNjAKK2IgRnQoU3ApcyhlY2lmeWluZykzMCBiKGNvbW1hbmQpZyhuYW1lcylnKGNvbiltKHRhaW5pbmcpaShzbGFzaGVzLikyMjUKKzIzNjAgeSBGcChcMDE3KTYwIGIgRnQoU3ApcyhlY2lmeWluZykzMCBiKGEpaChcMDE0bGVuYW1lKWYoY29uKW0KKyh0YWluaW5nKWkoYSlmKHNsYXNoKWYoYXMpaChhbilmKGFyZ3VtZW4pbSh0KWgodG8pZyh0aGUpZgorRnMoLiloIEZ0KGJ1aWx0aW4pZShjb21tYW5kLikyMjUgMjQ5NSB5IEZwKFwwMTcpNjAgYgorRnQoU3ApcyhlY2lmeWluZykyOCBiKGEpaShcMDE0bGVuYW1lKWYoY29uKW0odGFpbmluZyloKGEpZyhzbGFzaCllKGFzKWgKKyhhbilnKGFyZ3VtZW4pbSh0KWgodG8pZih0aGUpZyhgKXAgRnMoLXApcCBGdCgnKWcob3B0aW9uKWcodG8paCh0aGUpZgorRnMoaGFzaCkzMzAgMjYwNSB5IEZ0KGJ1aWx0aW4paChjb21tYW5kLikyMjUgMjc0MCB5IEZwKFwwMTcpNjAKK2IgRnQoSW1wKXMob3J0aW5nKTMwIGIoZnVuY3Rpb24pZyhkZVwwMTRuaXRpb25zKWcoZnJvbSlmKHRoZSlpKHNoZWxsKWcKKyhlbiltKHZpcm9ubWVuKW0odClnKGF0KWcoc3RhcnR1cC4pMjI1IDI4NzYgeSBGcChcMDE3KTYwCitiIEZ0KFApbShhcnNpbmcpMzEgYih0aGUpZih2KS01IGIoYWx1ZSkzMSBiKG9mKWcgRnMoU0hFTExPUFRTKWQKK0Z0KGZyb20paCh0aGUpaShzaGVsbClnKGVuKW0odmlyb25tZW4pbSh0KWcoYXQpZyhzdGFydHVwLikyMjUKKzMwMTEgeSBGcChcMDE3KTYwIGIgRnQoUmVkaXJlY3RpbmcpMzEgYihvdXRwdXQpZih1c2luZylnKHRoZSloKGApcAorRnMoPilwIEZ0KCcsKWcoYClwIEZzKD58KXAgRnQoJywpZihgKXAgRnMoPD4pcCBGdCgnLCloKGApcAorRnMoPiYpcCBGdCgnLClmKGApcCBGcygmPilwIEZ0KCcsKWgoYW5kKWUoYClwIEZzKD4+KXAKK0Z0KCcpaShyZWRpcmVjdGlvbilnKG9wKXMoZXJhdG9ycy4pMjI1IDMxNDcgeSBGcChcMDE3KTYwCitiIEZ0KFVzaW5nKTMxIGIodGhlKWYgRnMoZXhlYylmIEZ0KGJ1aWx0aW4paCh0byloKHJlcGxhY2UpaCh0aGUpZQorKHNoZWxsKWgod2l0aClmKGFub3RoZXIpaChjb21tYW5kLikyMjUgMzI4MiB5IEZwKFwwMTcpNjAKK2IgRnQoQWRkaW5nKTQwIGIob3IpaChkZWxldGluZyloKGJ1aWx0aW4pZShjb21tYW5kcyloKHdpdGgpZih0aGUpaChgKXAKK0ZzKC1mKXAgRnQoJylnKGFuZClmKGApcCBGcygtZClwIEZ0KCcpaChvcHRpb25zKWcodG8paCh0aGUpZgorRnMoZW5hYmxlKTMzMCAzMzkyIHkgRnQoYnVpbHRpbi4pMjI1IDM1MjcgeSBGcChcMDE3KTYwCitiIEZ0KFVzaW5nKTMxIGIodGhlKWYgRnMoZW5hYmxlKWYgRnQoYnVpbHRpbiloKGNvbW1hbmQpZyh0byloKGVuYWJsZSlnCisoZGlzYWJsZWQpZihzaGVsbClnKGJ1aWx0aW5zLikyMjUgMzY2MyB5IEZwKFwwMTcpNjAgYgorRnQoU3ApcyhlY2lmeWluZykzMCBiKHRoZSlnKGApcCBGcygtcClwIEZ0KCcpaChvcHRpb24pZyh0bylnKHRoZSlmCitGcyhjb21tYW5kKWYgRnQoYnVpbHRpbi4pMjI1IDM3OTggeSBGcChcMDE3KTYwIGIgRnQoVCktOAorYih1cm5pbmcpMjkgYihvXDAxMylpKHJlc3RyaWN0ZWQpZyhtbylzKGRlKWYod2l0aClnKGApcAorRnMoc2V0KWcoK3IpcCBGdCgnKWcob3IpZyhgKXAgRnMoc2V0KWcoK28pZyhyZXN0cmljdGVkKXAKK0Z0KCcuKTI3NSAzOTYxIHkoVGhlc2UpZyhyZXN0cmljdGlvbnMpaChhcmUpZyhlbmZvcmNlZClmKGFmdGVyKWgoYW4pbQorKHkpZyhzdGFydHVwKWYoXDAxNGxlcylnKGFyZSloKHJlYWQuKTI3NSA0MDk3IHkoV2hlbilqKGEpaShjb21tYW5kKWUKKyh0aGF0KWkoaXMpZihmb3VuZClmKHRvKWgoYilzKGUpZyhhKWcoc2hlbGwpZyhzY3JpcHQpZyhpcylnKGV4ZWN1dGVkKWgKKyhcKHNlZSlnKFNlY3Rpb24pZygzLjgpZyhbU2hlbGwpMTUwIDQyMDcgeShTY3JpcHRzXSwpMjUKK2IocGFnZSllKDM0XCksKWogRnMocmJhc2gpYyBGdCh0dXJucylnKG9cMDEzKWkoYW4pbSh5KWYocmVzdHJpY3Rpb25zKWgKKyhpbilmKHRoZSlnKHNoZWxsKWgoc3BhKW0od25lZCllKHRvKWkoZXhlY3V0ZSlnKHRoZSlnKHNjcmlwdC4pMTUwCis0NDQyIHkgRnIoNi4xMSk2OCBiKEJhc2gpNDUgYihQT1NJWClmKE1vKXQoZGUpMTUwIDQ2MDIKK3kgRnQoU3RhcnRpbmcpMzQgYihCYXNoKWYod2l0aClnKHRoZSlnKGApcCBGcygtLXBvc2l4KXAKK0Z0KCcpZihjb21tYW5kLWxpbmUpaShvcHRpb24pZyhvcilmKGV4ZWN1dGluZyloKGApcCBGcyhzZXQpYygtbylnCisocG9zaXgpcCBGdCgnKWkod2hpbGUpMTUwIDQ3MTEgeShCYXNoKTI2IGIoaXMpZyhydW5uaW5nKWUod2lsbClqKGNhdXNlKQorZihCYXNoKWcodG8paChjb25mb3JtKWYobW9yZSlnKGNsb3NlbHkpaCh0bylnKHRoZSlmIEZsKHBvc2l4KWYKK0Z0KHN0YW5kYXJkKWcoYiltKHkpaChjKW0oaGFuZ2luZykxNTAgNDgyMSB5KHRoZSkzMSBiKGIpcyhlaGEpbSh2aW9yKWYKKyh0byloKG1hdGMpbShoKWcodGhhdClnKHNwKXMoZWNpXDAxNGVkKWYoYiltKHkpZyBGbChwb3NpeClnCitGdChpbilnKGFyZWFzKWgod2hlcmUpZih0aGUpaChCYXNoKWYoZGVmYXVsdCloKGRpXDAxM2Vycy4pMjc1Cis0OTU3IHkoV2hlbilmKGluKW0odiltKG9rKW0oZWQpaChhcylnIEZzKHNoKXAgRnQoLClmKEJhc2gpaChlbiltKHRlcnMpZworRmwocG9zaXgpZSBGdChtbylzKGRlKWgoYWZ0ZXIpaChyZWFkaW5nKWcodGhlKWYoc3RhcnR1cClnKFwwMTRsZXMuKTI3NQorNTA5NCB5KFRoZSlmKGZvbGxvKW0od2luZylqKGxpc3QpZihpcylnKHdoYXQncylmKGMpbShoYW5nZWQpaCh3aGVuKWUoYCkKK3AgRmwocG9zaXgpaCBGdChtbylzKGRlJyloKGlzKWYoaW4pZyhlXDAxM2VjdDopMTk5IDUyMzAKK3koMS4pNjEgYihXaGVuKTI4IGIoYSlpKGNvbW1hbmQpZShpbilnKHRoZSloKGhhc2gpZih0YWJsZSlpKG5vKWUKKyhsb25nZXIpaChleGlzdHMsKWgoQmFzaClmKHdpbGwpZyhyZS1zZWFyYyltKGgpaCBGcygkUEFUSClkCitGdCh0bylpKFwwMTRuZCkzMzAgNTM0MCB5KHRoZSlpKG5ldyllKGxvKXMoY2F0aW9uLik0MworYihUaGlzKTI5IGIoaXMpaShhbHNvKWcoYSltKHYpLTUgYihhaWxhYmxlKTMzIGIod2l0aClkKGApcAorRnMoc2hvcHQpZigtcyloKGNoZWNraGFzaClwIEZ0KCcuKXAgZW9wIGVuZAogJSVQYWdlOiA4NyA5MwogVGVYRGljdCBiZWdpbiA4NyA5MiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNjopNDEKLWIoQmFzaCkzMCBiKEYpLTggYihlYXR1cmVzKTI0ODQgYig4NykyNzUgMjk5IHkoVGhlcmUpMzQKLWIoaXMpZyhvdGhlciloIEZsKHBvc2l4KWYgRnQoYilzKGVoYSltKHZpb3IpaCh0aGF0KWcoQmFzaClnKGRvKXMoZXMpZgotKG5vdCloKGltcGxlbWVuKW0odClnKGIpbSh5KWcoZGVmYXVsdClmKGV2KW0oZW4paSh3aGVuKWQoaW4pMTUwCi00MDggeSBGbChwb3NpeClkIEZ0KG1vKXMoZGUuKTQwIGIoU3ApcyhlY2lcMDE0Y2FsbHk6KTE5OQotNTQzIHkoMS4pNjEgYihUaGUpMzAgYiBGcyhmYylmIEZ0KGJ1aWx0aW4paChjKW0oaGVjKW0oa3MpaQorYihCYXNoKTMwIGIoRiktOCBiKGVhdHVyZXMpMjQ4NCBiKDg3KTE5OSAyOTkgeSgyLik2MQorYihUaGUpNDIgYihtZXNzYWdlKWgocHJpbiltKHRlZCllKGIpbSh5KWgodGhlKWcoam9iKWcoY29uKW0odHJvbClpKGNvKXMKKyhkZSllKGFuZClmKGJ1aWx0aW5zKWgod2hlbilmKGEpaChqb2IpZyhleGl0cyloKHdpdGgpZihhKTMzMAorNDA4IHkobm9uLXplcm8pMzEgYihzdGF0dXMpZyhpcylmKGBEb25lXChzdGF0dXNcKScuKTE5OQorNTQwIHkoMy4pNjEgYihUaGUpNDAgYihtZXNzYWdlKWgocHJpbiltKHRlZClmKGIpbSh5KWcodGhlKWgoam9iKWYoY29uKW0KKyh0cm9sKWgoY28pcyhkZSlnKGFuZClmKGJ1aWx0aW5zKWYod2hlbiloKGEpZyhqb2IpZyhpcyloKHN0b3BwKXMoZWQpZQorKGlzKTMzMCA2NTAgeShgU3RvcHApcyhlZFwoKXAgRnEoc2lnbmFtZSk1IGIgRnQoXCknLCkzMQorYih3aGVyZSlmIEZxKHNpZ25hbWUpMzYgYiBGdChpcywpMzEgYihmb3IpZihleGFtcGxlLCloCitGcyhTSUdUU1RQKXAgRnQoLikxOTkgNzgxIHkoNC4pNjEgYihUaGUpMjcgYiBGcyhiZylnCitGdChidWlsdGluKWcodXNlcylnKHRoZSloKHJlcXVpcmVkKWYoZm9ybWF0KWgodG8pZyhkZXNjcmliKXMoZSlmKGVhYyltCisoaClpKGpvYillKHBsYWNlZCloKGluKWYodGhlKWgoYmFjKW0oa2dyb3VuZCwpMzMwIDg5MQoreSh3aGljKW0oaCloKGRvKXMoZXMpZyhub3QpZyhpbmNsdWRlKWcoYW4pZyhpbmRpY2F0aW9uKWgob2YpZih3aGV0aGVyKWYKKyh0aGUpaChqb2IpZyhpcylnKHRoZSloKGN1cnJlbiltKHQpZShvciloKHByZXZpb3VzKWcoam9iLikxOTkKKzEwMjIgeSg1Lik2MSBiKFJlc2VydiltKGVkKTQwIGIodyltKG9yZHMpZyhhcHApcyhlYXJpbmcpZihpbiloKGEpZyhjb24pCittKHRleHQpaSh3aGVyZSlkKHJlc2VydiltKGVkKWgodyltKG9yZHMpZihhcmUpaShyZWNvZ25pemVkKWcoZG8pZihub3QpCiszMzAgMTEzMiB5KHVuZGVyZ28pMzAgYihhbGlhcyloKGV4cGFuc2lvbi4pMTk5IDEyNjMgeSg2Lik2MQorYihUaGUpMzggYiBGbChwb3NpeCloIEZzKFBTMSlmIEZ0KGFuZClnIEZzKFBTMilnIEZ0KGV4cGFuc2lvbnMpZyhvZilpCisoYClwIEZzKCEpcCBGdCgnKWYodG8pZyh0aGUpZyhoaXN0b3J5KWcobiltKHVtKW0oYilzKGVyKWYoYW5kKWcoYClwCitGcyghISlwIEZ0KCcpaCh0bylnKGApcCBGcyghKXAgRnQoJyloKGFyZSkzMzAgMTM3MyB5KGVuYWJsZWQsKTI2CitiKGFuZClmKHBhcmFtZXRlcilnKGV4cGFuc2lvbilnKGlzKWcocClzKGVyZm9ybWVkKWUob24paSh0aGUpZyh2KS01CitiKGFsdWVzKTI1IGIob2YpZyBGcyhQUzEpZiBGdChhbmQpaCBGcyhQUzIpZiBGdChyZWdhcmRsZXNzKTMzMAorMTQ4MiB5KG9mKTMxIGIodGhlKWYoc2V0dGluZylpKG9mKWUodGhlKWggRnMocHJvbXB0dmFycyljCitGdChvcHRpb24uKTE5OSAxNjE0IHkoNy4pNjEgYihUaGUpMzAgYiBGbChwb3NpeClnIEZ0KHN0YXJ0dXApZihcMDE0bGVzKQoraShhcmUpZyhleGVjdXRlZClnKFwoKXAgRnMoJEVOVilwIEZ0KFwpKWYocmF0aGVyKWcodGhhbilnKHRoZSloKG5vcm1hbCkKK2YoQmFzaClnKFwwMTRsZXMuKTE5OSAxNzQ1IHkoOC4pNjEgYihUaWxkZSkzMCBiKGV4cGFuc2lvbilnKGlzKWYob25seSloCisocClzKGVyZm9ybWVkKWYob24paChhc3NpZ25tZW4pbSh0cylnKHByZWNlZGluZylnKGEpZyhjb21tYW5kKWcobmFtZSwpZworKHJhdGhlcikzMzAgMTg1NSB5KHRoYW4pZyhvbilnKGFsbClpKGFzc2lnbm1lbiltKHQpZihzdGF0ZW1lbiltKHRzKWgKKyhvbillKHRoZSloKGxpbmUuKTE5OSAxOTg3IHkoOS4pNjEgYihUaGUpMzAgYihkZWZhdWx0KWcoaGlzdG9yeSloCisoXDAxNGxlKWYoaXMpaChgKXAgRnMofi8uc2hfaGlzdG9yeSlwIEZ0KCcpYyhcKHRoaXMpayhpcylmKHRoZSlnCisoZGVmYXVsdCloKHYpLTUgYihhbHVlKTMxIGIob2YpZiBGcygkSElTVEZJTEUpcCBGdChcKS4pMTU0CisyMTE4IHkoMTAuKTYxIGIoVGhlKTIzIGIob3V0cHV0KWYob2YpaShgKXAgRnMoa2lsbCkyOQorYigtbClwIEZ0KCcpMjMgYihwcmluKW0odHMpZihhbGwpaSh0aGUpZyhzaWduYWwpZihuYW1lcylnKG9uKWcoYSloCisoc2luZ2xlKWcobGluZSwpaChzZXBhcmF0ZWQpZShiKW0oeSlnKHNwYWNlcywpMzMwIDIyMjgKK3kod2l0aG91dCkzMCBiKHRoZSloKGApcCBGcyhTSUcpcCBGdCgnKWYocHJlXDAxNHguKTE1NAorMjM1OSB5KDExLik2MSBiKFRoZSkzMCBiIEZzKGtpbGwpZiBGdChidWlsdGluKWgoZG8pcyhlcylnKG5vdCloKGFjY2VwdCkKK2goc2lnbmFsKWYobmFtZXMpZih3aXRoKWcoYSloKGApcCBGcyhTSUcpcCBGdCgnKWYocHJlXDAxNHguKTE1NAorMjQ5MSB5KDEyLik2MSBiKE5vbi1pbiltKHRlcmFjdGl2KW0oZSkzNCBiKHNoZWxscyljKGV4aXQpaChpZilnCitGcShcMDE0bGVuYW1lKWsgRnQoaW4pMzAgYiBGcyguKWcgRnEoXDAxNGxlbmFtZSkzNiBiCitGdChpcykzMSBiKG5vdClmKGZvdW5kLikxNTQgMjYyMiB5KDEzLik2MSBiKE5vbi1pbiltKHRlcmFjdGl2KW0oZSk0MQorYihzaGVsbHMpZChleGl0KWgoaWYpZihhKWcoc3luKW0odGF4KWcoZXJyb3IpZyhpbilmKGFuKWgoYXJpdGhtZXRpYyloCisoZXhwYW5zaW9uKWYocmVzdWx0cylmKGluKWgoYW4pMzMwIDI3MzIgeShpbiltKHYpLTUgYihhbGlkKTMxCitiKGV4cHJlc3Npb24uKTE1NCAyODYzIHkoMTQuKTYxIGIoTm9uLWluKW0odGVyYWN0aXYpbShlKTI3CitiKHNoZWxscyljKGV4aXQpaShpZillKHRoZXJlKWgoaXMpZihhKWgoc3luKW0odGF4KWcoZXJyb3IpZihpbilnKGEpaAorKHNjcmlwdClmKHJlYWQpZyh3aXRoKWgodGhlKWYgRnMoLilnIEZ0KG9yKWggRnMoc291cmNlKTMzMAorMjk3MyB5IEZ0KGJ1aWx0aW5zLCkzMCBiKG9yKWcoaW4pZyhhKWgoc3RyaW5nKWcocHJvKXMoY2Vzc2VkKWUoYiltKHkpaQorKHRoZSlmIEZzKGV2YWwpZiBGdChidWlsdGluLikxNTQgMzEwNCB5KDE1Lik2MSBiKFJlZGlyZWN0aW9uKTI1CitiKG9wKXMoZXJhdG9ycylmKGRvKWcobm90KWcocClzKGVyZm9ybSlmKFwwMTRsZW5hbWUpaChleHBhbnNpb24pZyhvbilnCisodGhlKWcodyltKG9yZClmKGluKWgodGhlKWcocmVkaXJlY3Rpb24pMzMwIDMyMTQgeSh1bmxlc3MpMzAKK2IodGhlKWcoc2hlbGwpaChpcylmKGluKW0odGVyYWN0aXYpbShlLikxNTQgMzM0NSB5KDE2Lik2MQorYihSZWRpcmVjdGlvbikzMSBiKG9wKXMoZXJhdG9ycylnKGRvKWYobm90KWgocClzKGVyZm9ybSllKHcpbShvcmQpaAorKHNwbGl0dGluZyloKG9uKWYodGhlKWgodyltKG9yZClmKGluKWcodGhlKWcocmVkaXJlY3Rpb24uKTE1NAorMzQ3NyB5KDE3Lik2MSBiKEYpLTggYih1bmN0aW9uKTM1IGIobmFtZXMpZyhtKW0odXN0KWYoYilzKGUpZyh2KS01CitiKGFsaWQpMzUgYihzaGVsbClmIEZzKG5hbWUpcCBGdChzLik1MiBiKFRoYXQpMzQgYihpcywpaSh0aGV5KWYobWEpbSh5KQorZyhub3QpZyhjb24pbSh0YWluKWcoYyltKGhhcmFjdGVycykzMzAgMzU4NyB5KG90aGVyKWUodGhhbilnKGxldHRlcnMsKWgKKyhkaWdpdHMsKWgoYW5kKWQodW5kZXJzY29yZXMsKWgoYW5kKWYobWEpbSh5KWgobm90KWcoc3RhcnQpaCh3aXRoKWUoYSloCisoZGlnaXQuKTQ5IGIoRGVjbGFyaW5nKTMzMCAzNjk2IHkoYSkzMSBiKGZ1bmN0aW9uKWYod2l0aClnKGFuKWcoaW4pbSh2KQorLTUgYihhbGlkKTMxIGIobmFtZSlnKGNhdXNlcylmKGEpaChmYXRhbCloKHN5biltKHRheClmKGVycm9yKWYoaW4pZworKG5vbi1pbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxscy4pMTU0IDM4MjggeSgxOC4pNjEgYgorRmwocG9zaXgpMzAgYiBGdChzcClzKGVjaWFsKWgoYnVpbHRpbnMpZShhcmUpaShmb3VuZCllKGIpcyhlZm9yZSloCisoc2hlbGwpaChmdW5jdGlvbnMpZihkdXJpbmcpZihjb21tYW5kKWgobG8pcyhva3VwLikxNTQKKzM5NTkgeSgxOS4pNjEgYihUaGUpMjkgYiBGcyh0aW1lKWcgRnQocmVzZXJ2KW0oZWQpaCh3KW0ob3JkKWcobWEpbSh5KWcKKyhiKXMoZSlnKHVzZWQpZihiKW0oeSloKGl0c2VsZilnKGFzKWcoYSloKGNvbW1hbmQuKTQwCitiKFdoZW4pMzAgYih1c2VkKWYoaW4pZyh0aGlzKWgodyltKGEpbSh5KS04IGIoLCkzMzAgNDA2OQoreShpdCkzMyBiKGRpc3BsYSltKHlzKWcodGltaW5nKWcoc3RhdGlzdGljcyloKGZvcillKHRoZSloKHNoZWxsKWcoYW5kKWYKKyhpdHMpZyhjb21wbGV0ZWQpaShjKW0oaGlsZHJlbi4pNDcgYihUaGUpMzIgYiBGcyhUSU1FRk9STUFUKTMzMAorNDE3OCB5IEZ0KHYpLTUgYihhcmlhYmxlKTMxIGIoY29uKW0odHJvbHMpaCh0aGUpZShmb3JtYXQpaChvZilnKHRoZSlmCisodGltaW5nKWgoaW5mb3JtYXRpb24uKTE1NCA0MzEwIHkoMjAuKTYxIGIoV2hlbikzMyBiKHBhcnNpbmcpZihhbmQpZworKGV4cGFuZGluZylnKGEpaSgkKXAgRnMoeyk2IGIgRnQoLikyMiBiKC4pZyguKTExIGIgRnMofSkzMworYiBGdChleHBhbnNpb24pZih0aGF0KWkoYXBwKXMoZWFycyllKHdpdGhpbilnKGRvdWJsZSlnKHF1b3RlcywpMzMwCis0NDE5IHkoc2luZ2xlKTQyIGIocXVvdGVzKWcoYXJlKWcobm8pZyhsb25nZXIpZyhzcClzKGVjaWFsKWcoYW5kKWYKKyhjYW5ub3QpaShiKXMoZSllKHVzZWQpZyh0byloKHF1b3RlKWcoYSlnKGNsb3NpbmcpaChicmFjZSlmKG9yKTMzMAorNDUyOSB5KG90aGVyKTMxIGIoc3ApcyhlY2lhbCloKGMpbShoYXJhY3RlciwpaSh1bmxlc3MpYyh0aGUpaShvcClzCisoZXJhdG9yKWYoaXMpZyhvbmUpaChvZilmKHRob3NlKWgoZGVcMDE0bmVkKWUodG8paShwKXMoZXJmb3JtKWUKKyhwYXR0ZXJuKTMzMCA0NjM5IHkocmVtbyltKHYpLTUgYihhbC4pNDIgYihJbikzMCBiKHRoaXMpZyhjYXNlLClpKHRoZXkpCitlKGRvKWcobm90KWgoaGEpbSh2KW0oZSloKHRvKWYoYXBwKXMoZWFyKWUoYXMpaShtYXRjKW0oaGVkKWcocGFpcnMuKTE1NAorNDc3MCB5KDIxLik2MSBiKFRoZSkyOSBiKHBhcnNlcilnKGRvKXMoZXMpZyhub3QpaChyZWNvZ25pemUpaAorRnModGltZSlkIEZ0KGFzKWkoYSlnKHJlc2VydiltKGVkKWYodyltKG9yZClnKGlmKWgodGhlKWYobmV4dCloKHRvayltCisoZW4paChiKXMoZWdpbnMpZCh3aXRoKWkoYSkzMzAgNDg4MCB5KGApcCBGcygtKXAgRnQoJy4pMTU0Cis1MDExIHkoMjIuKTYxIGIoSWYpMjQgYihhKWcgRmwocG9zaXgpZyBGdChzcClzKGVjaWFsKWgoYnVpbHRpbilmCisocmV0dXJucylmKGFuKWgoZXJyb3IpZyhzdGF0dXMsKWkoYSllKG5vbi1pbiltKHRlcmFjdGl2KW0oZSlqKHNoZWxsKWUKKyhleGl0cy4pMzkgYihUaGUpMjQgYihmYXRhbCkzMzAgNTEyMSB5KGVycm9ycykzMCBiKGFyZSloKHRob3NlKWYKKyhsaXN0ZWQpaChpbilmKHRoZSloIEZsKHBvc2l4KWUgRnQoc3RhbmRhcmQsKWgoYW5kKWcoaW5jbHVkZSlnKHRoaW5ncylnCisobGlrKW0oZSlpKHBhc3NpbmcpZShpbmNvcnJlY3QpMzMwIDUyMzAgeShvcHRpb25zLCk0MworYihyZWRpcmVjdGlvbilkKGVycm9ycywpaSh2KS01IGIoYXJpYWJsZSk0MSBiKGFzc2lnbm1lbiltKHQpZyhlcnJvcnMpZQorKGZvcilnKGFzc2lnbm1lbiltKHRzKWkocHJlY2VkaW5nKWYodGhlKTMzMCA1MzQwIHkoY29tbWFuZCkzMAorYihuYW1lLCloKGFuZClmKHNvKWcob24uKXAgZW9wIGVuZAorJSVQYWdlOiA4OCA5NAorVGVYRGljdCBiZWdpbiA4OCA5MyBib3AgMTUwIC0xMTYgYSBGdCg4OCkyNTcyIGIoQmFzaCkzMQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTU0IDI5OSB5KDIzLik2MSBiKEEpMzEgYihub24taW4pbSh0ZXJhY3RpdiltCisoZSlqKHNoZWxsKWQoZXhpdHMpaCh3aXRoKWUoYW4paChlcnJvcilnKHN0YXR1cylnKGlmKWcoYSlnKHYpLTUKK2IoYXJpYWJsZSkzMiBiKGFzc2lnbm1lbiltKHQpZyhlcnJvcillKG8pcyhjY3VycykzMzAKKzQwOCB5KHdoZW4pMzggYihubyloKGNvbW1hbmQpZyhuYW1lKWcoZm9sbG8pbSh3cylpKHRoZSllKGFzc2lnbm1lbiltKHQpCitoKHN0YXRlbWVuKW0odHMuKTY5IGIoQSkzOSBiKHYpLTUgYihhcmlhYmxlKTQwIGIoYXNzaWdubWVuKW0odCkzMzAKKzUxOCB5KGVycm9yKTMwIGIobylzKGNjdXJzLClnKGZvcilnKGV4YW1wbGUsKWkod2hlbilkKHRyeWluZylpKHRvKWcKKyhhc3NpZ24pZihhKWgodiktNSBiKGFsdWUpMzEgYih0bylnKGEpZyhyZWFkb25seSlmKHYpLTUKK2IoYXJpYWJsZS4pMTU0IDY0NSB5KDI0Lik2MSBiKEEpMjggYihub24taW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbCllCisoZXhpc3RzKWYod2l0aClnKGFuKWcoZXJyb3IpZyhzdGF0dXMpaChpZilmKGEpZyh2KS01CitiKGFyaWFibGUpMjkgYihhc3NpZ25tZW4pbSh0KWcoZXJyb3IpZihvKXMoY2N1cnMpMzMwCis3NTUgeShpbilpKGFuKWcoYXNzaWdubWVuKW0odClpKHN0YXRlbWVuKW0odClnKHByZWNlZGluZyllKGEpaChzcClzCisoZWNpYWwpZyhidWlsdGluLClmKGJ1dClnKG5vdClnKHdpdGgpaChhbiltKHkpZihvdGhlciloKHNpbXBsZSkzMzAKKzg2NCB5KGNvbW1hbmQuKTE1NCA5OTEgeSgyNS4pNjEgYihBKTQzIGIobm9uLWluKW0odGVyYWN0aXYpbShlKWkoc2hlbGwpCitlKGV4aXRzKWgod2l0aClmKGFuKWYoZXJyb3IpaChzdGF0dXMpZyhpZilnKHRoZSlnKGl0ZXJhdGlvbiloKHYpLTUKK2IoYXJpYWJsZSk0NCBiKGluKWYoYSlnIEZzKGZvcikzMzAgMTEwMSB5IEZ0KHN0YXRlbWVuKW0odCkzMgorYihvcilmKHRoZSlmKHNlbGVjdGlvbilpKHYpLTUgYihhcmlhYmxlKTMyIGIoaW4pZShhKWcKK0ZzKHNlbGVjdClmIEZ0KHN0YXRlbWVuKW0odClqKGlzKWYoYSlmKHJlYWRvbmx5KWgodiktNQorYihhcmlhYmxlLikxNTQgMTIyOCB5KDI2Lik2MSBiKFBybylzKGNlc3MpMzAgYihzdWJzdGl0dXRpb24pZyhpcyloKG5vdCkKK2YoYSltKHYpLTUgYihhaWxhYmxlLikxNTQgMTM1NCB5KDI3Lik2MSBiKEFzc2lnbm1lbiltKHQpMjMKK2Ioc3RhdGVtZW4pbSh0cyloKHByZWNlZGluZyllIEZsKHBvc2l4KWYgRnQoc3ApcyhlY2lhbClpKGJ1aWx0aW5zKWYocClzCisoZXJzaXN0KWcoaW4pZih0aGUpaShzaGVsbClmKGVuKW0odmlyb25tZW4pbSh0KTMzMCAxNDY0Cit5KGFmdGVyKTMxIGIodGhlKWYoYnVpbHRpbilnKGNvbXBsZXRlcy4pMTU0IDE1OTEgeSgyOC4pNjEKK2IoQXNzaWdubWVuKW0odCkzNSBiKHN0YXRlbWVuKW0odHMpaChwcmVjZWRpbmcpZihzaGVsbClmKGZ1bmN0aW9uKWcKKyhjYWxscylpKHApcyhlcnNpc3QpZShpbilnKHRoZSloKHNoZWxsKWYoZW4pbSh2aXJvbm1lbiltKHQpMzMwCisxNzAwIHkoYWZ0ZXIpZCh0aGUpZihmdW5jdGlvbiloKHJldHVybnMsKWUoYXMpaShpZilmKGEpaAorRmwocG9zaXgpZSBGdChzcClzKGVjaWFsKWkoYnVpbHRpbilmKGNvbW1hbmQpZyhoYWQpZyhiKXMoZWVuKWcKKyhleGVjdXRlZC4pMTU0IDE4MjcgeSgyOS4pNjEgYihUaGUpMzggYiBGcyhleHBvcnQpZiBGdChhbmQpZworRnMocmVhZG9ubHkpZiBGdChidWlsdGluKWkoY29tbWFuZHMpZyhkaXNwbGEpbSh5KWgodGhlaXIpZihvdXRwdXQpZyhpbikKK2codGhlKWgoZm9ybWF0KWcocmUtKTMzMCAxOTM3IHkocXVpcmVkKTMwIGIoYiltKHkpZyBGbChwb3NpeClwCitGdCguKTE1NCAyMDY0IHkoMzAuKTYxIGIoVGhlKTMwIGIgRnModHJhcClmIEZ0KGJ1aWx0aW4paChkaXNwbGEpbSh5cylnCisoc2lnbmFsKWkobmFtZXMpZSh3aXRob3V0KWcodGhlKWgobGVhZGluZylnIEZzKFNJRylwCitGdCguKTE1NCAyMTkxIHkoMzEuKTYxIGIoVGhlKTM5IGIgRnModHJhcCllIEZ0KGJ1aWx0aW4paShkbylzKGVzbid0KWcKKyhjKW0oaGVjKW0oayloKHRoZSlnKFwwMTRyc3QpZShhcmd1bWVuKW0odClpKGZvcillKGEpaShwKXMob3NzaWJsZSllCisoc2lnbmFsKWkoc3ApcyhlY2lcMDE0Y2F0aW9uKTMzMCAyMzAwIHkoYW5kKTMwIGIocmV2KW0oZXJ0KWkodGhlKWUKKyhzaWduYWwpaShoYW5kbGluZyllKHRvKWgodGhlKWcob3JpZ2luYWwpaChkaXNwKXMob3NpdGlvbillKGlmKWgoaXQpZworKGlzLClnKHVubGVzcylmKHRoYXQpaChhcmd1bWVuKW0odCkzMzAgMjQxMCB5KGNvbnNpc3RzKWUoc29sZWx5KWcob2YpZworKGRpZ2l0cylnKGFuZClmKGlzKWcoYSloKHYpLTUgYihhbGlkKTI5IGIoc2lnbmFsKWcobiltKHVtKW0oYilzKGVyLikzOAorYihJZikyOCBiKHVzZXJzKWcodyltKGFuKW0odCloKHRvKWcocmVzZXQpZyh0aGUpZyhoYW5kbGVyKTMzMAorMjUxOSB5KGZvciloKGEpZyhnaXYpbShlbiloKHNpZ25hbClnKHRvKWYodGhlKWgob3JpZ2luYWwpZyhkaXNwKXMKKyhvc2l0aW9uLClmKHRoZXkpZyhzaG91bGQpZih1c2UpaChgKXAgRnMoLSlwIEZ0KCcpZyhhcylnKHRoZSlnKFwwMTRyc3QpCitmKGFyZ3VtZW4pbSh0LikxNTQgMjY0NiB5KDMyLik2MSBiKFRoZSkyMSBiIEZzKC4paCBGdChhbmQpZgorRnMoc291cmNlKWYgRnQoYnVpbHRpbnMpaChkbylnKG5vdCloKHNlYXJjKW0oaCloKHRoZSlmKGN1cnJlbiltKHQpZgorKGRpcmVjdG9yeSloKGZvcilnKHRoZSlnKFwwMTRsZW5hbWUpZihhcmd1bWVuKW0odCkzMzAKKzI3NTYgeShpZikzMCBiKGl0KWgoaXMpZyhub3QpZihmb3VuZClmKGIpbSh5KWkoc2VhcmMpbShoaW5nKWcKK0ZzKFBBVEgpcCBGdCguKTE1NCAyODgzIHkoMzMuKTYxIGIoU3Vic2hlbGxzKTIwIGIoc3BhKW0od25lZCloKHRvKWgKKyhleGVjdXRlKWcoY29tbWFuZClnKHN1YnN0aXR1dGlvbnMpZihpbmhlcml0KWcodGhlKWcodiktNQorYihhbHVlKTIyIGIob2YpZyh0aGUpZihgKXAgRnMoLWUpcCBGdCgnKWcob3B0aW9uKTMzMAorMjk5MiB5KGZyb20pMzQgYih0aGUpaChwYXJlbiltKHQpZyhzaGVsbC4pNTUgYihXaGVuKTM0CitiKG5vdClpKGluKWUgRmwocG9zaXgpZyBGdChtbylzKGRlLClpKEJhc2gpZihjbGVhcnMpaCh0aGUpZihgKXAKK0ZzKC1lKXAgRnQoJylmKG9wdGlvbilpKGluKWUoc3VjKW0oaCkzMzAgMzEwMiB5KHN1YnNoZWxscy4pMTU0CiszMjI5IHkoMzQuKTYxIGIoQWxpYXMpMzEgYihleHBhbnNpb24pZyhpcylmKGFsdyltKGEpbSh5cylpKGVuYWJsZWQsKWUKKyhldiltKGVuKWkoaW4pZShub24taW4pbSh0ZXJhY3RpdiltKGUpaihzaGVsbHMuKTE1NCAzMzU2Cit5KDM1Lik2MSBiKFdoZW4pNDMgYih0aGUpZyBGcyhhbGlhcylmIEZ0KGJ1aWx0aW4pZyhkaXNwbGEpbSh5cylpKGFsaWFzKQorZyhkZVwwMTRuaXRpb25zLClpKGl0KWQoZG8pcyhlcylnKG5vdClnKGRpc3BsYSltKHkpaCh0aGVtKWYod2l0aClnKGEpCiszMzAgMzQ2NSB5KGxlYWRpbmcpMzEgYihgKXAgRnMoYWxpYXMpZSBGdCgnKWkodW5sZXNzKWYodGhlKWcoYClwCitGcygtcClwIEZ0KCcpZyhvcHRpb24paChpcylnKHN1cHBsaWVkLikxNTQgMzU5MiB5KDM2Lik2MQorYihXaGVuKTQwIGIodGhlKWcgRnMoc2V0KWYgRnQoYnVpbHRpbiloKGlzKWcoaW4pbSh2KW0ob2spbShlZCloCisod2l0aG91dClmKG9wdGlvbnMsKWooaXQpZShkbylzKGVzKWYobm90KWcoZGlzcGxhKW0oeSlnKHNoZWxsKWcKKyhmdW5jdGlvbikzMzAgMzcwMiB5KG5hbWVzKTMwIGIoYW5kKWcoZGVcMDE0bml0aW9ucy4pMTU0CiszODI5IHkoMzcuKTYxIGIoV2hlbikzNiBiKHRoZSlnIEZzKHNldClnIEZ0KGJ1aWx0aW4pZyhpcylnKGluKW0odiltKG9rKQorbShlZClpKHdpdGhvdXQpZShvcHRpb25zLClpKGl0KWYoZGlzcGxhKW0oeXMpZih2KS01IGIoYXJpYWJsZSkzNworYih2KS01IGIoYWx1ZXMpMzcgYih3aXRob3V0KTMzMCAzOTM4IHkocXVvdGVzLCkyNiBiKHVubGVzcylkKHRoZXkpaQorKGNvbiltKHRhaW4pZyhzaGVsbClmKG1ldGFjKW0oaGFyYWN0ZXJzLClrKGV2KW0oZW4pZChpZilmKHRoZSlnKHJlc3VsdCkKK2coY29uKW0odGFpbnMpaShub25wcmluKW0odGluZykzMzAgNDA0OCB5KGMpbShoYXJhY3RlcnMuKTE1NAorNDE3NSB5KDM4Lik2MSBiKFdoZW4pMzUgYih0aGUpZyBGcyhjZClmIEZ0KGJ1aWx0aW4paChpcylnKGluKW0odiltKG9rKW0KKyhlZClpKGluKWQgRnEobG9naWNhbCk0MSBiIEZ0KG1vKXMoZGUsKTM2IGIoYW5kKWYodGhlKWcocGF0aG5hbWUpZworKGNvbnN0cnVjdGVkKWcoZnJvbSkzMzAgNDI4NCB5IEZzKCRQV0QpaSBGdChhbmQpaCh0aGUpaChkaXJlY3RvcnkpZgorKG5hbWUpaChzdXBwbGllZCllKGFzKWkoYW4pZihhcmd1bWVuKW0odCloKGRvKXMoZXMpZihub3QpZyhyZWZlciloKHRvKWcKKyhhbilmKGV4aXN0aW5nKTMzMCA0Mzk0IHkoZGlyZWN0b3J5KS04IGIoLCkzMiBiIEZzKGNkKWQKK0Z0KHdpbGwpaShmYWlsKWcoaW5zdGVhZClnKG9mKWYoZmFsbGluZyloKGJhYyltKGspaCh0bylmCitGcShwaCltKHlzaWNhbClqIEZ0KG1vKXMoZGUuKTE1NCA0NTIxIHkoMzkuKTYxIGIoVGhlKTM2CitiIEZzKHB3ZClmIEZ0KGJ1aWx0aW4paCh2KW0oZXJpXDAxNGVzKWgodGhhdClnKHRoZSlmKHYpLTUKK2IoYWx1ZSkzNyBiKGl0KWcocHJpbiltKHRzKWUoaXMpaSh0aGUpZihzYW1lKWgoYXMpZih0aGUpaChjdXJyZW4pbSh0KWYKKyhkaXJlY3RvcnkpLTggYigsKTMzMCA0NjMxIHkoZXYpbShlbikzMSBiKGlmKWYoaXQpaChpcylnKG5vdClmKGFzayltCisoZWQpaCh0bylnKGMpbShoZWMpbShrKWgodGhlKWYoXDAxNGxlKWYoc3lzdGVtKWgod2l0aClmKHRoZSloKGApcAorRnMoLVApcCBGdCgnKWYob3B0aW9uLikxNTQgNDc1NyB5KDQwLik2MSBiKFdoZW4pMzUgYihsaXN0aW5nKWcodGhlKWcKKyhoaXN0b3J5KS04IGIoLCkzNiBiKHRoZSlmIEZzKGZjKWcgRnQoYnVpbHRpbilmKGRvKXMoZXMpZyhub3QpaAorKGluY2x1ZGUpZyhhbilmKGluZGljYXRpb24paShvZilmKHdoZXRoZXIpZihvcikzMzAgNDg2NworeShub3QpZChhKWYoaGlzdG9yeSloKGVuKW0odHJ5KWYoaGFzKWcoYilzKGVlbilnKG1vKXMoZGlcMDE0ZWQuKTE1NAorNDk5NCB5KDQxLik2MSBiKFRoZSkzMCBiKGRlZmF1bHQpZyhlZGl0b3IpaCh1c2VkKWYoYiltKHkpZworRnMoZmMpZyBGdChpcylnIEZzKGVkKXAgRnQoLikxNTQgNTEyMSB5KDQyLik2MSBiKFRoZSkzNworYiBGcyh0eXBlKWcgRnQoYW5kKWcgRnMoY29tbWFuZClmIEZ0KGJ1aWx0aW5zKWkod2lsbClnKG5vdClnKHJlcClzKG9ydCkKK2YoYSlpKG5vbi1leGVjdXRhYmxlKWcoXDAxNGxlKWYoYXMpZyhoYSltKHZpbmcpaChiKXMoZWVuKTMzMAorNTIzMCB5KGZvdW5kLCkyNiBiKHRob3VnaCloKHRoZSlnKHNoZWxsKWcod2lsbClnKGF0dGVtcHQpaCh0bylnCisoZXhlY3V0ZSlnKHN1YyltKGgpZihhKWcoXDAxNGxlKWcoaWYpZyhpdClnKGlzKWcodGhlKWcob25seSlnKHNvLW5hbWVkKQorZyhcMDE0bGUpMzMwIDUzNDAgeShmb3VuZClpKGluKWggRnMoJFBBVEgpcCBGdCguKXAgZW9wCitlbmQKKyUlUGFnZTogODkgOTUKK1RlWERpY3QgYmVnaW4gODkgOTQgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDY6KTQxCitiKEJhc2gpMzAgYihGKS04IGIoZWF0dXJlcykyNDg0IGIoODkpMTU0IDI5OSB5KDQzLik2MQorYihUaGUpMzMgYiBGcyh2aSlmIEZ0KGVkaXRpbmcpaShtbylzKGRlKWYod2lsbClnKGluKW0odiltKG9rKW0oZSlpKHRoZSkKK2UgRnModmkpZyBGdChlZGl0b3IpaChkaXJlY3RseSlmKHdoZW4pZih0aGUpaShgKXAgRnModilwCitGdCgnKWYoY29tbWFuZClnKGlzKWcocnVuLCkzMzAgNDA4IHkoaW5zdGVhZCllKG9mKWYoYyltKGhlYyltKGtpbmcpaQorRnMoJFZJU1VBTClkIEZ0KGFuZClnIEZzKCRFRElUT1IpcCBGdCguKTE1NCA1NDMgeSg0NC4pNjEKK2IoV2hlbik0MSBiKHRoZSlnIEZzKHhwZ19lY2hvKWUgRnQob3B0aW9uKWkoaXMpZyhlbmFibGVkLClqKEJhc2gpZChkbylzCisoZXMpZyhub3QpZyhhdHRlbXB0KWgodG8pZyhpbiltKHRlcnByZXQpZihhbiltKHkpaChhci0pMzMwCis2NTMgeShndW1lbiltKHRzKTM1IGIodG8pZyBGcyhlY2hvKWUgRnQoYXMpaShvcHRpb25zLik1NAorYihFYWMpbShoKTM1IGIoYXJndW1lbiltKHQpZyhpcylmKGRpc3BsYSltKHkpbShlZCwpaihhZnRlcillKGVzY2FwKXMoZSkKK2coYyltKGhhcmFjdGVycyloKGFyZSkzMzAgNzYyIHkoY29uKW0odiltKGVydGVkLikxNTQKKzg5NyB5KDQ1Lik2MSBiKFRoZSkzMCBiIEZzKHVsaW1pdClmIEZ0KGJ1aWx0aW4pZyh1c2VzKWgoYSloKGJsbylzKGMpbQorKGspZyhzaXplKWcob2YpZyg1MTIpZyhiKW0oeXRlcylnKGZvcilmKHRoZSloKGApcCBGcygtYylwCitGdCgnKWYoYW5kKWcoYClwIEZzKC1mKXAgRnQoJylnKG9wdGlvbnMuKTE1NCAxMDMxIHkoNDYuKTYxCitiKFRoZSkzOSBiKGFycml2KS01IGIoYWwpNDEgYihvZilmIEZzKFNJR0NITEQpZSBGdCh3aGVuKWgoYSloKHRyYXApZworKGlzKWcoc2V0KWgob24pZiBGcyhTSUdDSExEKWUgRnQoZG8pcyhlcyloKG5vdCloKGluKW0odGVycnVwdClnKHRoZSlnCitGcyh3YWl0KTMzMCAxMTQxIHkgRnQoYnVpbHRpbiljKGFuZCloKGNhdXNlKWcoaXQpaCh0bylmKHJldHVybilmCisoaW1tZWRpYXRlbHkpLTggYiguKTYyIGIoVGhlKTM3IGIodHJhcClmKGNvbW1hbmQpaChpcylnKHJ1billKG9uY2UpagorKGZvcilmKGVhYyltKGgpMzMwIDEyNTAgeShjKW0oaGlsZCkzMSBiKHRoYXQpZyhleGl0cy4pMjc1CisxNDEwIHkoVGhlcmUpaihpcylnKG90aGVyKWggRmwocG9zaXgpZiBGdChiKXMoZWhhKW0odmlvciloKHRoYXQpZyhCYXNoKQorZyhkbylzKGVzKWYobm90KWgoaW1wbGVtZW4pbSh0KWcoYiltKHkpZyhkZWZhdWx0KWYoZXYpbShlbilpKHdoZW4pZChpbikKKzE1MCAxNTE5IHkgRmwocG9zaXgpZCBGdChtbylzKGRlLik0MCBiKFNwKXMoZWNpXDAxNGNhbGx5OikxOTkKKzE2NTQgeSgxLik2MSBiKFRoZSkzMCBiIEZzKGZjKWYgRnQoYnVpbHRpbiloKGMpbShoZWMpbShrcylpCiBGcygkRURJVE9SKWMgRnQoYXMpaihhKWYocHJvZ3JhbSlnKHRvKWgoZWRpdClnKGhpc3RvcnkpZihlbiltKHRyaWVzKWgKLShpZilmIEZzKEZDRURJVClmIEZ0KGlzKWgodW5zZXQsKTMzMCA2NTMgeShyYXRoZXIpZyh0aGFuKWcoZGVmYXVsdGluZyloCi0oZGlyZWN0bHkpZyh0bylnIEZzKGVkKXAgRnQoLik0MCBiIEZzKGZjKTMwIGIgRnQodXNlcylnCi1GcyhlZClnIEZ0KGlmKWcgRnMoRURJVE9SKWYgRnQoaXMpaCh1bnNldC4pMTk5IDc4NyB5KDIuKTYxCisoaWYpZiBGcyhGQ0VESVQpZiBGdChpcyloKHVuc2V0LCkzMzAgMTc2MyB5KHJhdGhlcilnKHRoYW4pZyhkZWZhdWx0aW5nKQoraChkaXJlY3RseSlnKHRvKWcgRnMoZWQpcCBGdCguKTQwIGIgRnMoZmMpMzAgYiBGdCh1c2VzKWcKK0ZzKGVkKWcgRnQoaWYpZyBGcyhFRElUT1IpZiBGdChpcyloKHVuc2V0LikxOTkgMTg5OCB5KDIuKTYxCiBiKEFzKTI5IGIobm90ZWQpZyhhYilzKG8pbSh2KW0oZSwpaShCYXNoKWUocmVxdWlyZXMpZyh0aGUpZwogRnMoeHBnX2VjaG8pZSBGdChvcHRpb24paih0bylnKGIpcyhlKWUoZW5hYmxlZCloKGZvcilnKHRoZSlnCi1GcyhlY2hvKWYgRnQoYnVpbHRpbikzMzAgODk3IHkodG8paihiKXMoZSlmKGZ1bGx5KWcoY29uZm9ybWFuKW0odC4pMjc1Ci0xMDU2IHkoQmFzaCk2NiBiKGNhbiloKGIpcyhlKWYoY29uXDAxNGd1cmVkKWcodG8paShiKXMoZSllCitGcyhlY2hvKWYgRnQoYnVpbHRpbikzMzAgMjAwNyB5KHRvKWooYilzKGUpZihmdWxseSlnKGNvbmZvcm1hbiltKHQuKTI3NQorMjE2NyB5KEJhc2gpNjYgYihjYW4paChiKXMoZSlmKGNvblwwMTRndXJlZClnKHRvKWkoYilzKGUpZQogRmwocG9zaXgpcCBGdCgtY29uZm9ybWFuKW0odCloKGIpbSh5KWYoZGVmYXVsdCwpNzcgYihiKW0oeSk2NgotYihzcClzKGVjaWZ5aW5nKWgodGhlKTE1MCAxMTY2IHkoYClwIEZzKC0tZW5hYmxlLXN0cmljdC1wb3NpeC1kZWYpbworYihzcClzKGVjaWZ5aW5nKWgodGhlKTE1MCAyMjc2IHkoYClwIEZzKC0tZW5hYmxlLXN0cmljdC1wb3NpeC1kZWYpbwogKGF1bHQpbyBGdCgnKWkodG8pNzYgYiBGcyhjb25maWd1cmUpYyBGdCh3aGVuKWkoYnVpbGRpbmcpZyhcKHNlZSlpCi0oU2VjdGlvbilmKDEwLjgpMTUwIDEyNzUgeShbT3B0aW9uYWwpMzEgYihGKS04IGIoZWF0dXJlc10sKTMyCi1iKHBhZ2UpZigxMjlcKS4pcCBlb3AgZW5kCi0lJVBhZ2U6IDg4IDk0Ci1UZVhEaWN0IGJlZ2luIDg4IDkzIGJvcCBlb3AgZW5kCi0lJVBhZ2U6IDg5IDk1Ci1UZVhEaWN0IGJlZ2luIDg5IDk0IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig3Oik0MQotYihKb2IpMzAgYihDb24pbSh0cm9sKTI1NzEgYig4OSkxNTAgMjk5IHkgRm8oNyk4MCBiKEpvYik1NAorKFNlY3Rpb24pZigxMC44KTE1MCAyMzg2IHkoW09wdGlvbmFsKTMxIGIoRiktOCBiKGVhdHVyZXNdLCkzMgorYihwYWdlKWYoMTMzXCkuKXAgZW9wIGVuZAorJSVQYWdlOiA5MCA5NgorVGVYRGljdCBiZWdpbiA5MCA5NSBib3AgZW9wIGVuZAorJSVQYWdlOiA5MSA5NworVGVYRGljdCBiZWdpbiA5MSA5NiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNzopNDEKK2IoSm9iKTMwIGIoQ29uKW0odHJvbCkyNTcxIGIoOTEpMTUwIDI5OSB5IEZvKDcpODAgYihKb2IpNTQKIGIoQ29uKWwodHJvbCkxNTAgNTIxIHkgRnQoVGhpcykyNSBiKGMpbShoYXB0ZXIpaShkaXNjdXNzZXMpZih3aGF0KWcKIChqb2IpZihjb24pbSh0cm9sKWooaXMsKWYoaG8pbSh3KWYoaXQpaCh3KW0ob3JrcywpZyhhbmQpZihobyltKHcpZwogKEJhc2gpZyhhbGxvKW0od3MpaCh5KW0ob3UpZyh0bylnKGFjY2VzcykxNTAgNjMxIHkoaXRzKWsoZmFjaWxpdGllcy4pCkBAIC0xMTA5MSw4ICsxMTMzMyw4IEBACiBpKFwwMTVhZ2dlZClmKHdpdGgpZihhKWgoYClwIEZzKCspcCBGdCgnLClpKGFuZClkKHRoZSkxNTAKIDUzNDAgeShwcmV2aW91cykzMCBiKGpvYilnKHdpdGgpZyhhKWgoYClwIEZzKC0pcCBGdCgnLilwCiBlb3AgZW5kCi0lJVBhZ2U6IDkwIDk2Ci1UZVhEaWN0IGJlZ2luIDkwIDk1IGJvcCAxNTAgLTExNiBhIEZ0KDkwKTI1NzIgYihCYXNoKTMxCislJVBhZ2U6IDkyIDk4CitUZVhEaWN0IGJlZ2luIDkyIDk3IGJvcCAxNTAgLTExNiBhIEZ0KDkyKTI1NzIgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkyNzUgMjk5IHkoQSkzOCBiKGpvYilnKG1hKW0oeSloKGFsc28pZyhiKXMoZSlmCiAocmVmZXJyZWQpZih0bylqKHVzaW5nKWQoYSlpKHByZVwwMTR4KWUob2YpaSh0aGUpZihuYW1lKWgodXNlZCllKHRvKWkKIChzdGFydClnKGl0LClpKG9yKWUodXNpbmcpZihhKTE1MCA0MDggeShzdWJzdHJpbmcpMjkKQEAgLTExMTE4LDEzICsxMTM2MCwxMyBAQAogYihJZikyNCBiKHRoZSlpKGApcCBGcygtYilwIEZ0KCcpZShvcHRpb24paSh0bylmKHRoZSlnCiBGcyhzZXQpZiBGdChidWlsdGluKWgoaXMpZyhlbmFibGVkLCloKEJhc2gpZihyZXApcyhvcnRzKWYoc3VjKW0oaCloKGMpbQogKGhhbmdlcykxNTAgMTQ0MyB5KGltbWVkaWF0ZWx5KWcoXChzZWUpZyhTZWN0aW9uKWcoNC4zLjEpZyhbVGhlKWYoU2V0KWcKLShCdWlsdGluXSwpaShwYWdlKWYoNTFcKS4pNDAgYihBbiltKHkpMjQgYih0cmFwKWYob24paAorKEJ1aWx0aW5dLClpKHBhZ2UpZig1NFwpLik0MCBiKEFuKW0oeSkyNCBiKHRyYXApZihvbiloCiBGcyhTSUdDSExEKWUgRnQoaXMpaShleGVjdXRlZCkxNTAgMTU1MyB5KGZvcikzMCBiKGVhYyltKGgpaShjKW0oaGlsZCllCiAocHJvKXMoY2VzcylnKHRoYXQpaChleGl0cy4pMjc1IDE2ODcgeShJZikyNSBiKGFuKWgoYXR0ZW1wdCloKHRvKWcKIChleGl0KWcoQmFzaClmKGlzKWgobWFkZSlmKHdoaWxlKWcoam9icylmKGFyZSlpKHN0b3BwKXMoZWQsKWYoXChvciloCiAocnVubmluZywpZShpZiloKHRoZSlnIEZzKGNoZWNram9icykxNTAgMTc5NiB5IEZ0KG9wdGlvbillKGlzKWYKIChlbmFibGVkKWgoeylnKHNlZSlnKFNlY3Rpb24pZyg0LjMuMiloKFtUaGUpZShTaG9wdClnKEJ1aWx0aW5dLClqKHBhZ2UpCi1lKDU1XCksKWkodGhlKWUoc2hlbGwpZihwcmluKW0odHMpZyhhKWgodyltKGFybmluZykxNTAKK2UoNTdcKSwpaSh0aGUpZShzaGVsbClmKHByaW4pbSh0cylnKGEpaCh3KW0oYXJuaW5nKTE1MAogMTkwNiB5KG1lc3NhZ2UsKWsoYW5kKWMoaWYpaSh0aGUpZiBGcyhjaGVja2pvYnMpZSBGdChvcHRpb24paihpcylmCiAoZW5hYmxlZCwpaShsaXN0cyllKHRoZSloKGpvYnMpZihhbmQpZih0aGVpcilpKHN0YXR1c2VzLikzOQogYihUaGUpMjUgYiBGcyhqb2JzKTE1MCAyMDE2IHkgRnQoY29tbWFuZCkzNiBiKG1hKW0oeSloKHRoZW4pZihiKXMoZSlmCkBAIC0xMTE2OSw5ICsxMTQxMSw5IEBACiAoc3RhdHVzLik2MzAgNTM0MCB5IEZzKC1wKTM4NCBiIEZ0KExpc3QpMzEgYihvbmx5KWYodGhlKWgocHJvKXMoY2VzcylmCiBGbChpZClnIEZ0KG9mKWgodGhlKWYoam9iJ3MpZyhwcm8pcyhjZXNzKWcoZ3JvdXApZyhsZWFkZXIuKXAKIGVvcCBlbmQKLSUlUGFnZTogOTEgOTcKLVRlWERpY3QgYmVnaW4gOTEgOTYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDc6KTQxCi1iKEpvYikzMCBiKENvbiltKHRyb2wpMjU3MSBiKDkxKTYzMCAyOTkgeSBGcygtcikzODQgYgorJSVQYWdlOiA5MyA5OQorVGVYRGljdCBiZWdpbiA5MyA5OCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoNzopNDEKK2IoSm9iKTMwIGIoQ29uKW0odHJvbCkyNTcxIGIoOTMpNjMwIDI5OSB5IEZzKC1yKTM4NCBiCiBGdChSZXN0cmljdCkzMSBiKG91dHB1dClmKHRvKWkocnVubmluZyljKGpvYnMuKTYzMCA0NjEKIHkgRnMoLXMpMzg0IGIgRnQoUmVzdHJpY3QpMzEgYihvdXRwdXQpZih0bylpKHN0b3BwKXMoZWQpZChqb2JzLik2MzAKIDYyMiB5KElmKTIzIGIgRnEoam9ic3ApcyhlYykyOCBiIEZ0KGlzKWMoZ2l2KW0oZW4sKWkob3V0cHV0KWQoaXMpaApAQCAtMTEyNDcsOCArMTE0ODksOCBAQAogKHN1c3ApcyhlbmRlZDspaCh0aGUpZyhgKXAgRnMoLWYpcCBGdCgnKWcob3B0aW9uKWcoY2FuKWgoYilzKGUpZSh1c2VkKWcKICh0bylpKG8pbSh2KW0oZXJyaWRlKWcodGhpcylmKGFuZClmKGZvcmNlKTYzMCA1MzQwIHkodGhlKTMxCiBiKHN1c3ApcyhlbnNpb24uKXAgZW9wIGVuZAotJSVQYWdlOiA5MiA5OAotVGVYRGljdCBiZWdpbiA5MiA5NyBib3AgMTUwIC0xMTYgYSBGdCg5MikyNTcyIGIoQmFzaCkzMQorJSVQYWdlOiA5NCAxMDAKK1RlWERpY3QgYmVnaW4gOTQgOTkgYm9wIDE1MCAtMTE2IGEgRnQoOTQpMjU3MiBiKEJhc2gpMzEKIGIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTI3NSAyOTkgeShXaGVuKWYoam9iKWYoY29uKW0odHJvbClqKGlzKWUobm90KWgKIChhY3RpdiltKGUsKWkodGhlKWQgRnMoa2lsbClmIEZ0KGFuZCloIEZzKHdhaXQpZiBGdChidWlsdGlucylnKGRvKWgKIChub3QpaChhY2NlcHQpaCBGcShqb2JzcClzKGVjKWogRnQoYXJndS0pMTUwIDQwOCB5KG1lbiltKHRzLik0MQpAQCAtMTEyNzUsMTUgKzExNTE3LDE1IEBACiA2MiBiKFRoZSkzNyBiKGApcCBGcyhzdWJzdHJpbmcpcCBGdCgnKWUodiktNSBiKGFsdWUpMzgKIGIocHJvKW0odmlkZXMpZihmdW5jdGlvbmFsaXQpbSh5KWkoYW5hbG9nb3VzKWcodG8pNjMwCiAxOTIxIHkodGhlKWYoYClwIEZzKFwwNDU/KXAgRnQoJylmKGpvYiloIEZsKGlkKWYgRnQoXChzZWUpaShTZWN0aW9uKWYKLSg3LjEpaChbSm9iKWYoQ29uKW0odHJvbClnKEJhc2ljc10sKWoocGFnZSlkKDg5XCkuKTY0CisoNy4xKWgoW0pvYilmKENvbiltKHRyb2wpZyhCYXNpY3NdLClqKHBhZ2UpZCg5MVwpLik2NAogYihJZikzNyBiKHNldCloKHRvKWgoYW4pbSh5KTYzMCAyMDMxIHkob3RoZXIpMzIgYih2KS01CiBiKGFsdWUsKTMyIGIodGhlKWcoc3VwcGxpZWQpZShzdHJpbmcpaShtKW0odXN0KWYoYilzKGUpZyhhKWgocHJlXDAxNHgpZgogKG9mKWgoYSlnKHN0b3BwKXMoZWQpZShqb2IncylpKG5hbWU7KWcodGhpcyk2MzAgMjE0MAogeShwcm8pbSh2aWRlcyllKGZ1bmN0aW9uYWxpdCltKHkpaShhbmFsb2dvdXMpZyh0bylmKHRoZSlnKGApcAogRnMoXDA0NSlwIEZ0KCcpZihqb2IpZyBGbChpZClwIEZ0KC4pcCBlb3AgZW5kCi0lJVBhZ2U6IDkzIDk5Ci1UZVhEaWN0IGJlZ2luIDkzIDk4IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig4Oik0MQotYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjEwNyBiKDkzKTE1MCAyOTkgeSBGbyg4KTgwCislJVBhZ2U6IDk1IDEwMQorVGVYRGljdCBiZWdpbiA5NSAxMDAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCitiKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMTA3IGIoOTUpMTUwIDI5OSB5IEZvKDgpODAKIGIoQ29tbWFuZCk1NCBiKExpbmUpZihFZGl0aW5nKTE1MCA2NDAgeSBGdChUaGlzKTI4IGIoYyltKGhhcHRlcilpCiAoZGVzY3JpYilzKGVzKWUodGhlKWgoYmFzaWMpZyhmZWF0dXJlcyloKG9mKWYodGhlKWcgRmwoZ251KWYKIEZ0KGNvbW1hbmQpaChsaW5lKWcoZWRpdGluZyloKGluKW0odGVyZmFjZS4pNDIgYihDb20tKTE1MApAQCAtMTEyOTYsMTQgKzExNTM4LDE0IEBACiAobylzKGNhdGlvbi4pNDIgYihMaW5lKTI2IGIoZWRpdGluZykxNTAgMTA3OCB5KGlzKWkoYWxzbyloKHVzZWQpZSh3aGVuKQogaCh1c2luZylmKHRoZSloKGApcCBGcygtZSlwIEZ0KCcpZyhvcHRpb24paCh0bylnKHRoZSlmCiBGcyhyZWFkKWYgRnQoYnVpbHRpbiloKGNvbW1hbmQpZihcKHNlZSlpKFNlY3Rpb24pZyg0LjIpaChbQmFzaCkxNTAKLTExODggeShCdWlsdGluc10sKTM3IGIocGFnZSlmKDQxXCkuKTU3IGIoQnkpMzYgYihkZWZhdWx0LCloKHRoZSllKGxpbmUpCi1oKGVkaXRpbmcpZyhjb21tYW5kcylmKGFyZSloKHNpbWlsYXIpZih0bylpKHRob3NlKWUob2YpaChlbWFjcy4pMTUwCi0xMjk3IHkoQSlmKHZpLXN0KW0oeWxlKWgobGluZSlmKGVkaXRpbmcpZyhpbiltKHRlcmZhY2UpaChpcyllKGFsc28paShhKQorMTE4OCB5KEJ1aWx0aW5zXSwpMzYgYihwYWdlKWYoNDNcKS4pNTIgYihCeSkzNSBiKGRlZmF1bHQsKWcodGhlKWYobGluZSkKK2goZWRpdGluZylmKGNvbW1hbmRzKWcoYXJlKWgoc2ltaWxhcilmKHRvKWgodGhvc2UpZihvZilnKEVtYWNzLikxNTAKKzEyOTcgeShBKWgodmktc3QpbSh5bGUpaChsaW5lKWYoZWRpdGluZylnKGluKW0odGVyZmFjZSloKGlzKWUoYWxzbylpKGEpCiBtKHYpLTUgYihhaWxhYmxlLik1NSBiKExpbmUpMzQgYihlZGl0aW5nKWgoY2FuKWcoYilzKGUpZihlbmFibGVkKWcoYXQpaAogKGFuKW0oeSlnKHRpbWUpMTUwIDE0MDcgeSh1c2luZykyOCBiKHRoZSlpKGApcCBGcygtbylnKGVtYWNzKXAKIEZ0KCcpZChvcilpKGApcCBGcygtbyloKHZpKXAgRnQoJylmKG9wdGlvbnMpZyh0byloKHRoZSlmCiBGcyhzZXQpZiBGdChidWlsdGluKWgoY29tbWFuZClnKFwoc2VlKWgoU2VjdGlvbilmKDQuMy4xKWkoW1RoZSkxNTAKLTE1MTcgeShTZXQpZyhCdWlsdGluXSwpZyhwYWdlKWcoNTFcKSwpaChvcillKGRpc2FibGVkKWcodXNpbmcpZyh0aGUpaAorMTUxNyB5KFNldClnKEJ1aWx0aW5dLClnKHBhZ2UpZyg1NFwpLCloKG9yKWUoZGlzYWJsZWQpZyh1c2luZylnKHRoZSloCiAoYClwIEZzKCtvKWYoZW1hY3MpcCBGdCgnKWYob3IpaChgKXAgRnMoK28pZyh2aSlwIEZ0KCcpZyhvcHRpb25zKWgodG8pZwogRnMoc2V0KXAgRnQoLikxNTAgMTgwMiB5IEZyKDguMSk2OCBiKEluKWwodHJvKXQoZHVjdGlvbik0NQogYih0bylnKExpbmUpaChFZGl0aW5nKTE1MCAxOTYyIHkgRnQoVGhlKTMwIGIoZm9sbG8pbSh3aW5nKWkocGFyYWdyYXBocykKQEAgLTExMzQzLDcgKzExNTg1LDcgQEAKIEZ0KCwpZyBGcyhSRVQpcCBGdCgsKTE1MCAzOTA4IHkoYW5kKWQgRnMoVEFCKWYgRnQoYWxsKWooc3RhbmQpZShmb3IpZwogKHRoZW1zZWx2KW0oZXMpaSh3aGVuKWQoc2VlbilpKGluKWYodGhpcylnKHRleHQsKWoob3IpZChpbiloKGFuKWYoaW5pdCkKIGgoXDAxNGxlKWYoXChzZWUpaShTZWN0aW9uKWYoOC4zKTE1MCA0MDE4IHkoW1JlYWRsaW5lKTI3Ci1iKEluaXQpZyhGaWxlXSwpaShwYWdlKWUoOTZcKS4pNDEgYihJZikyNiBiKHkpbShvdXIpaChrKW0oZXliKXMob2FyZClmCitiKEluaXQpZyhGaWxlXSwpaShwYWdlKWUoOThcKS4pNDEgYihJZikyNiBiKHkpbShvdXIpaChrKW0oZXliKXMob2FyZClmCiAobGFjKW0oa3MpaShhKWYgRnMoTEZEKWYgRnQoayltKGV5KS04IGIoLCkyOSBiKHQpbSh5cGluZyllCiBGcyhDLWopZSBGdCh3aWxsKWkocHJvKXMoZHVjZSlmKHRoZSkxNTAgNDEyOCB5KGRlc2lyZWQpayhjKW0oaGFyYWN0ZXIuKQogNDIgYihUaGUpMzAgYiBGcyhSRVQpZyBGdChrKW0oZXkpaChtYSltKHkpZyhiKXMoZSllKGxhYilzKGVsZWQpaQpAQCAtMTEzNjcsOCArMTE2MDksOCBAQAogRnMoUkVUKXAgRnQoOylpKHRoZSlnKGVuKW0odGlyZSlnKGxpbmUpZihpcyloKGFjY2VwdGVkKWcocmVnYXJkbGVzcylnCiAob2YpZih0aGUpaChsbylzKGNhdGlvbiloKG9mKWUodGhlKWgoY3Vyc29yKTE1MCA1MzQwCiB5KHdpdGhpbiljKHRoZSlnKGxpbmUuKXAgZW9wIGVuZAotJSVQYWdlOiA5NCAxMDAKLVRlWERpY3QgYmVnaW4gOTQgOTkgYm9wIDE1MCAtMTE2IGEgRnQoOTQpMjU3MiBiKEJhc2gpMzEKKyUlUGFnZTogOTYgMTAyCitUZVhEaWN0IGJlZ2luIDk2IDEwMSBib3AgMTUwIC0xMTYgYSBGdCg5NikyNTcyIGIoQmFzaCkzMQogYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZqKDguMi4xKTYzIGIoUmVhZGxpbmUpNDAKIGIoQmFyZSloKEVzc2VuKW0odGlhbHMpMTUwIDQ0NiB5IEZ0KEluKTMxIGIob3JkZXIpaCh0byloKGVuKW0odGVyKWcoYyltCiAoaGFyYWN0ZXJzKWcoaW4pbSh0bylnKHRoZSlnKGxpbmUsKWcoc2ltcGx5KWUodCltKHlwKXMoZSlpKHRoZW0uKTQ2CkBAIC0xMTQzNiw5ICsxMTY3OCw5IEBACiBiKHRoYXQpZihjb24pbSh0cm9sKWcoayltKGV5c3Ryb2spbShlcyloKG9wKXMoZXJhdGUpZShvbilnKGMpbQogKGhhcmFjdGVycyloKHdoaWxlKWYobWV0YSloKGspbShleXN0cm9rKW0oZXMpaChvcClzKGVyYXRlKWUob24pMTUwCiA1MzQwIHkodyltKG9yZHMuKXAgZW9wIGVuZAotJSVQYWdlOiA5NSAxMDEKLVRlWERpY3QgYmVnaW4gOTUgMTAwIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig4Oik0MQotYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjEwNyBiKDk1KTE1MCAyOTkgeSBGaig4LjIuMyk2MworJSVQYWdlOiA5NyAxMDMKK1RlWERpY3QgYmVnaW4gOTcgMTAyIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig4Oik0MQorYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjEwNyBiKDk3KTE1MCAyOTkgeSBGaig4LjIuMyk2MwogYihSZWFkbGluZSk0MCBiKEtpbGxpbmcpaShDb21tYW5kcykxNTAgNDQ2IHkgRnEoS2lsbGluZykzNQogYiBGdCh0ZXh0KTI4IGIobWVhbnMpZSh0byloKGRlbGV0ZSloKHRoZSlmKHRleHQpZyhmcm9tKWcodGhlKWYobGluZSwpaQogKGJ1dCllKHRvKWgoc2EpbSh2KW0oZSloKGl0KWcoYSltKHcpbShhKW0oeSlnKGZvcillKGxhdGVyKWkodXNlLClmCkBAIC0xMTUxMiwxMiArMTE3NTQsMTIgQEAKIGIoZm9yKWkoQ29tbWFuZHMpZyhpbilmKHRoZSlnKEhpc3RvcnkpMTUwIDUxMjEgeSBGdChSZWFkbGluZSkzNQogYihwcm8pbSh2aWRlcylmKGNvbW1hbmRzKWcoZm9yKWcoc2VhcmMpbShoaW5nKWgodGhyb3VnaCllKHRoZSlpCiAoY29tbWFuZClmKGhpc3RvcnkpZyhcKHNlZSloKFNlY3Rpb24pZyg5LjEpMTUwIDUyMzAgeShbQmFzaClpKEhpc3RvcnkpaAotKEYpLTggYihhY2lsaXRpZXNdLCk0MiBiKHBhZ2UpMzcgYigxMjFcKSlpKGZvcilkKGxpbmVzKWgoY29uKW0odGFpbmluZykKKyhGKS04IGIoYWNpbGl0aWVzXSwpNDIgYihwYWdlKTM3IGIoMTI1XCkpaShmb3IpZChsaW5lcyloKGNvbiltKHRhaW5pbmcpCiBpKGEpZShzcClzKGVjaVwwMTRlZClmKHN0cmluZy4pNjAgYihUaGVyZSkzNiBiKGFyZSlpKHQpbSh3KW0obykxNTAKIDUzNDAgeShzZWFyYyltKGgpMzEgYihtbylzKGRlczopNDAgYiBGcShpbmNyZW1lbiltKHRhbCkzNQogYiBGdChhbmQpMzAgYiBGcShub24taW5jcmVtZW4pbSh0YWwpcCBGdCguKXAgZW9wIGVuZAotJSVQYWdlOiA5NiAxMDIKLVRlWERpY3QgYmVnaW4gOTYgMTAxIGJvcCAxNTAgLTExNiBhIEZ0KDk2KTI1NzIgYihCYXNoKTMxCislJVBhZ2U6IDk4IDEwNAorVGVYRGljdCBiZWdpbiA5OCAxMDMgYm9wIDE1MCAtMTE2IGEgRnQoOTgpMjU3MiBiKEJhc2gpMzEKIGIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTI3NSAyOTkgeShJbmNyZW1lbiltKHRhbCkyNiBiKHNlYXJjKW0oaGVzKWgoYilzCiAoZWdpbillKGIpcyhlZm9yZSlnKHRoZSloKHVzZXIpZihoYXMpaChcMDE0bmlzaGVkKWUodCltKHlwaW5nKWkodGhlKWcKIChzZWFyYyltKGgpZyhzdHJpbmcuKTM5IGIoQXMpMjYgYihlYWMpbShoKTE1MCA0MDggeShjKW0oaGFyYWN0ZXIpMzcKQEAgLTExNTk0LDcgKzExODM2LDcgQEAKIChhKWcoYClwIEZzKCMpcCBGdCgnKWcoYXJlKWgoY29tbWVuKW0odHMuKTczIGIoTGluZXMpNDEKIGIoYilzKGVnaW5uaW5nKWYod2l0aClnKGEpaShgKXAgRnMoJClwIEZ0KCcpZihpbmRpY2F0ZSkxNTAKIDQ3MzAgeShjb25kaXRpb25hbCllKGNvbnN0cnVjdHMpZihcKHNlZSlnKFNlY3Rpb24paCg4LjMuMilnCi0oW0NvbmRpdGlvbmFsKWcoSW5pdCllKENvbnN0cnVjdHNdLClqKHBhZ2UpZSgxMDJcKS4pNjQKKyhbQ29uZGl0aW9uYWwpZyhJbml0KWUoQ29uc3RydWN0c10sKWoocGFnZSllKDEwNFwpLik2NAogYihPdGhlcikxNTAgNDgzOSB5KGxpbmVzKTMxIGIoZGVub3RlKWcodiktNSBiKGFyaWFibGUpMzEKIGIoc2V0dGluZ3MpZyhhbmQpZihrKW0oZXkpaChiaW5kaW5ncy4pMTUwIDUwMTEgeShWKS04CiBiKGFyaWFibGUpMzIgYihTZXR0aW5ncyk2MzAgNTEyMSB5KFkpLTggYihvdSk0MSBiKGNhbilnKG1vKXMoZGlmeSllCkBAIC0xMTYwMyw0MzAgKzExODQ1LDQ1MCBAQAogYihpbilmKFJlYWRsaW5lKWkodXNpbmcpZSh0aGUpZyBGcyhzZXQpZyBGdChjb21tYW5kKWcod2l0aGluKWcodGhlKWgKIChpbml0KWcoXDAxNGxlLik1MCBiKFRoZSkzMyBiKHN5biltKHRheCk2MzAgNTM0MCB5KGlzKWQoc2ltcGxlOilwCiBlb3AgZW5kCi0lJVBhZ2U6IDk3IDEwMwotVGVYRGljdCBiZWdpbiA5NyAxMDIgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCi1iKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMTA3IGIoOTcpODcwIDI5OSB5IEZzKHNldCk0NwotYiBGaSh2YXJpYWJsZSk1NiBiKHZhbHVlKTYzMCA0NDUgeSBGdChIZXJlLCkyOSBiKGZvcillKGV4YW1wbGUsKWgoaXMpZwotKGhvKW0odylmKHRvKWgoYyltKGhhbmdlKWcoZnJvbSlmKHRoZSlnKGRlZmF1bHQpaChFbWFjcy1saWspbShlKWgoayltCi0oZXkpZihiaW5kaW5nKWUodG8pNjMwIDU1NSB5KHVzZSlrIEZzKHZpKWcgRnQobGluZSloKGVkaXRpbmcpZwotKGNvbW1hbmRzOik4NzAgNzAxIHkgRnMoc2V0KTQ3IGIoZWRpdGluZy1tb2RlKWQodmkpNjMwCi04NDcgeSBGdChWKS04IGIoYXJpYWJsZSkzNiBiKG5hbWVzKWYoYW5kKWcodiktNSBiKGFsdWVzLCkzNgotYih3aGVyZSlmKGFwcHJvcHJpYXRlLCloKGFyZSlnKHJlY29nbml6ZWQpZyh3aXRob3V0KWYocmVnYXJkKTYzMAotOTU2IHkodG8pYyhjYXNlLik0MiBiKFVucmVjb2duaXplZCkzMSBiKHYpLTUgYihhcmlhYmxlKTMxCi1iKG5hbWVzKWcoYXJlKWYoaWdub3JlZC4pNjMwIDExMDMgeShCbylzKG9sZWFuKWModiktNQotYihhcmlhYmxlcykyNiBiKFwodGhvc2UpZyh0aGF0KWcoY2FuKWYoYilzKGUpZihzZXQpaSh0bylnKG9uKWYob3IpZwotKG9cMDEzKTcgYihcKSkyNSBiKGFyZSloKHNldClmKHRvKWgob24pZihpZilnKHRoZSlnKHYpLTUKLWIoYWx1ZSkyNiBiKGlzKTYzMCAxMjEyIHkobiltKHVsbCllKG9yKWcoZW1wdCltKHkpLTgKLWIoLCkyNyBiIEZxKG9uKWQgRnQoXChjYXNlLWluc2Vuc2l0aXYpbShlXCksKTI5IGIob3IpMjQKLWIoMS4pMzkgYihBbiltKHkpMjUgYihvdGhlcilmKHYpLTUgYihhbHVlKTI1IGIocmVzdWx0cylmKGluKWcodGhlKWcodikKLS01IGIoYXJpYWJsZSk2MzAgMTMyMiB5KGIpcyhlaW5nKTMwIGIoc2V0KWgodG8pZyhvXDAxMy4pNjMwCi0xNDY4IHkoVGhlKTM3IGIgRnMoYmluZCkzMCBiKC1WKTM3IGIgRnQoY29tbWFuZClnKGxpc3RzKWkodGhlKWYoY3VycmVuKQotbSh0KWYoUmVhZGxpbmUpaSh2KS01IGIoYXJpYWJsZSkzOCBiKG5hbWVzKWcoYW5kKWYodiktNQotYihhbHVlcy4pNjMwIDE1NzcgeShTZWUpMzEgYihTZWN0aW9uKWcoNC4yKWcoW0Jhc2gpZyhCdWlsdGluc10sKWcocGFnZSkKLWcoNDEuKTYzMCAxNzI0IHkoQSlmKGdyZWF0KWkoZGVhbClmKG9mKWcocnVuLXRpbWUpZihiKXMoZWhhKW0odmlvcilnCi0oaXMpZyhjKW0oaGFuZ2VhYmxlKWood2l0aClkKHRoZSlnKGZvbGxvKW0od2luZylpKHYpLTUKLWIoYXJpYWJsZXMuKTYzMCAxOTA2IHkgRnMoYmVsbC1zdHlsZSkxMTEwIDIwMTYgeSBGdChDb24pbSh0cm9scyk0NAotYih3aGF0KWcoaGFwcClzKGVucyllKHdoZW4paChSZWFkbGluZSlpKHcpbShhbiltKHRzKWYodG8paChyaW5nKWUodGhlKWgKLSh0ZXJtaS0pMTExMCAyMTI1IHkobmFsKTM3IGIoYilzKGVsbC4pNjEgYihJZikzNyBiKHNldCloKHRvKWcoYClwCi1Gcyhub25lKXAgRnQoJywpZyhSZWFkbGluZSlnKG5ldiltKGVyKWcocmluZ3MpZSh0aGUpaShiKXMoZWxsLik2MQotYihJZikzNiBiKHNldClpKHRvKTExMTAgMjIzNSB5KGApcCBGcyh2aXNpYmxlKXAgRnQoJywpMzIKLWIoUmVhZGxpbmUpaSh1c2VzKWYoYSlnKHZpc2libGUpZyhiKXMoZWxsKWcoaWYpZyhvbmUpZyhpcylnKGEpbSh2KS01Ci1iKGFpbGFibGUuKTUxIGIoSWYpMzMgYihzZXQpZyh0bykxMTEwIDIzNDUgeShgKXAgRnMoYXVkaWJsZSlwCi1GdCgnKWooXCh0aGUpaShkZWZhdWx0XCksKWkoUmVhZGxpbmUpZShhdHRlbXB0cylnKHRvKWgocmluZyllKHRoZSlnCi0odGVybWluYWwncykxMTEwIDI0NTQgeShiKXMoZWxsLik2MzAgMjYzNyB5IEZzKGJpbmQtdHR5LXNwZWNpYWwtY2hhcnMpCi0xMTEwIDI3NDYgeSBGdChJZik0NSBiKHNldCloKHRvKWYoYClwIEZzKG9uKXAgRnQoJywpNTAKLWIoUmVhZGxpbmUpNDUgYihhdHRlbXB0cylpKHRvKWYoYmluZClkKHRoZSlqKGNvbiltKHRyb2wpZyhjKW0KLShoYXJhY3RlcnMpMTExMCAyODU2IHkodHJlYXRlZCkzNiBiKHNwKXMoZWNpYWxseSloKGIpbSh5KWUodGhlKWgoayltCi0oZXJuZWwncylnKHRlcm1pbmFsKWcoZHJpdiltKGVyKWYodG8paCh0aGVpcilmKFJlYWRsaW5lKTExMTAKLTI5NjYgeShlcXVpdiktNSBiKGFsZW4pbSh0cy4pNjMwIDMxNDggeSBGcyhjb21tZW50LWJlZ2luKTExMTAKLTMyNTggeSBGdChUaGUpMjkgYihzdHJpbmcpZyh0byloKGluc2VydClmKGF0KWgodGhlKWYoYilzKGVnaW5uaW5nKWcob2YpCi1nKHRoZSloKGxpbmUpZih3aGVuKWYodGhlKWkgRnMoaW5zZXJ0LSkxMTEwIDMzNjcgeShjb21tZW50KWUKLUZ0KGNvbW1hbmQpaihpcylmKGV4ZWN1dGVkLik0MiBiKFRoZSkyOSBiKGRlZmF1bHQpaSh2KS01Ci1iKGFsdWUpMzEgYihpcylmIEZzKCIjIilwIEZ0KC4pNjMwIDM1NTAgeSBGcyhjb21wbGV0aW9uLWlnbm9yZS1jYXNlKQotMTExMCAzNjYwIHkgRnQoSWYpZChzZXQpaCh0bylnKGApcCBGcyhvbilwIEZ0KCcsKWcoUmVhZGxpbmUpZyhwKXMKLShlcmZvcm1zKWUoXDAxNGxlbmFtZSloKG1hdGMpbShoaW5nKWkoYW5kKWUoY29tcGxldGlvbikxMTEwCi0zNzY5IHkoaW4paihhKWgoY2FzZS1pbnNlbnNpdGl2KW0oZSlpKGZhc2hpb24uKTQwIGIoVGhlKTMwCi1iKGRlZmF1bHQpaCh2KS01IGIoYWx1ZSkzMCBiKGlzKWgoYClwIEZzKG9mZilwIEZ0KCcuKTYzMAotMzk1MiB5IEZzKGNvbXBsZXRpb24tcHJlZml4LWRpc3BsYSlvKHktbGUpbyhuZ3RoKTExMTAKLTQwNjEgeSBGdChUaGUpZyhsZW5ndGgpZyhpbilnKGMpbShoYXJhY3RlcnMpaShvZilmKHRoZSlmKGNvbW1vbiloCi0ocHJlXDAxNHgpZShvZiloKGEpaChsaXN0KWcob2YpZihwKXMob3NzaWJsZSkxMTEwIDQxNzEKLXkoY29tcGxldGlvbnMpZyh0aGF0KWYoaXMpZyhkaXNwbGEpbSh5KW0oZWQpZyh3aXRob3V0KWcobW8pcwotKGRpXDAxNGNhdGlvbi4pNDEgYihXaGVuKTI5IGIoc2V0KWgodG8paChhKTExMTAgNDI4MQoteSh2KS01IGIoYWx1ZSkyNiBiKGdyZWF0ZXIpaCh0aGFuKWUoemVybywpaihjb21tb24pZShwcmVcMDE0eGVzKWUKLShsb25nZXIpaih0aGFuKWUodGhpcylnKHYpLTUgYihhbHVlKTI3IGIoYXJlKTExMTAgNDM5MAoteShyZXBsYWNlZClrKHdpdGgpZihhbilnKGVsbGlwc2lzKWgod2hlbillKGRpc3BsYSltKHlpbmcpaShwKXMob3NzaWJsZSkKLWYoY29tcGxldGlvbnMuKTYzMCA0NTczIHkgRnMoY29tcGxldGlvbi1xdWVyeS1pdGVtcykxMTEwCi00NjgyIHkgRnQoVGhlKWMobiltKHVtKW0oYilzKGVyKWYob2YpaChwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zKWgKLSh0aGF0KWcoZGV0ZXJtaW5lcylmKHdoZW4pZih0aGUpaSh1c2VyKTExMTAgNDc5MiB5KGlzKWkoYXNrKW0oZWQpaAotKHdoZXRoZXIpZih0aGUpaChsaXN0KWcob2YpZihwKXMob3NzaWJpbGl0aWVzKWgoc2hvdWxkKWUoYilzKGUpaAotKGRpc3BsYSltKHkpbShlZC4pNDEgYihJZikyOSBiKHRoZSkxMTEwIDQ5MDIgeShuKW0odW0pbShiKXMoZXIpZChvZiloCi0ocClzKG9zc2libGUpZihjb21wbGV0aW9ucylpKGlzKWYoZ3JlYXRlciloKHRoYW4pZSh0aGlzKWgodiktNQotYihhbHVlLCkyOCBiKFJlYWRsaW5lKTExMTAgNTAxMSB5KHdpbGwpZihhc2spZyh0aGUpZih1c2VyKWcod2hldGhlcilnCi0ob3IpZyhub3QpaChoZSlmKHdpc2hlcylnKHRvKWkodmlldyllKHRoZW07KWkob3RoZXJ3aXNlLCkxMTEwCi01MTIxIHkodGhleSlkKGFyZSlmKHNpbXBseSlnKGxpc3RlZC4pNDAgYihUaGlzKTIzIGIodiktNQotYihhcmlhYmxlKTI1IGIobSltKHVzdClnKGIpcyhlKWUoc2V0KWkodG8pZyhhbilnKGluKW0odGVnZXIpZyh2KS01Ci1iKGFsdWUpMTExMCA1MjMwIHkoZ3JlYXRlcikyNiBiKHRoYW4pZihvcilmKGVxdWFsKWkodG8pZigwLik0MAotYihBKTI0IGIobmVnYXRpdiltKGUpaih2KS01IGIoYWx1ZSkyNiBiKG1lYW5zKWUoUmVhZGxpbmUpaShzaG91bGQpMTExMAotNTM0MCB5KG5ldiltKGVyKTMxIGIoYXNrLik0MSBiKFRoZSkyOSBiKGRlZmF1bHQpaShsaW1pdClnKGlzKWcKLUZzKDEwMClwIEZ0KC4pcCBlb3AgZW5kCi0lJVBhZ2U6IDk4IDEwNAotVGVYRGljdCBiZWdpbiA5OCAxMDMgYm9wIDE1MCAtMTE2IGEgRnQoOTgpMjU3MiBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeSBGcyhjb252ZXJ0LW1ldGEpMTExMAotNDA4IHkgRnQoSWYpMjIgYihzZXQpZyh0byloKGApcCBGcyhvbilwIEZ0KCcsKWgoUmVhZGxpbmUpZih3aWxsKWYoY29uKW0KLSh2KW0oZXJ0KWkoYyltKGhhcmFjdGVycylmKHdpdGgpZih0aGUpZyhlaWdoKW0odGgpaChiaXQpZihzZXQpMTExMAotNTE4IHkodG8pMzMgYihhbillIEZsKGFzY2kpcihpKWggRnQoayltKGV5KWgoc2VxdWVuY2UpZihiKW0oeSlnCi0oc3RyaXBwaW5nKWYodGhlKWgoZWlnaCltKHRoKWgoYml0KWYoYW5kKWYocHJlXDAxNHhpbmcpMTExMAotNjI4IHkoYW4pMjQgYiBGcyhFU0MpZyBGdChjKW0oaGFyYWN0ZXIsKWooY29uKW0odiltKGVydGluZylmKHRoZW0pZih0bykKLWcoYSlnKG1ldGEtcHJlXDAxNHhlZClmKGspbShleSloKHNlcXVlbmNlLikxMTEwIDczNyB5KFRoZSkzMAotYihkZWZhdWx0KWcodiktNSBiKGFsdWUpMzEgYihpcylnKGApcCBGcyhvbilwIEZ0KCcuKTYzMAotODk2IHkgRnMoZGlzYWJsZS1jb21wbGV0aW9uKTExMTAgMTAwNSB5IEZ0KElmKTM2IGIoc2V0KWgodG8paChgKXAKLUZzKE9uKXAgRnQoJywpZyhSZWFkbGluZSlmKHdpbGwpZyhpbmhpYml0KWYodyltKG9yZCloKGNvbXBsZXRpb24uKTYwCi1iKENvbXBsZXRpb24pMTExMCAxMTE1IHkoYyltKGhhcmFjdGVycykyOCBiKHdpbGwpZShiKXMoZSlmKGluc2VydGVkKWgKLShpbiltKHRvKWgodGhlKWcobGluZSlmKGFzKWcoaWYpZyh0aGV5KWgoaGFkKWUoYilzKGVlbilnKG1hcHApcyhlZCkxMTEwCi0xMjI0IHkodG8pMzEgYiBGcyhzZWxmLWluc2VydClwIEZ0KC4pMzggYihUaGUpMzAgYihkZWZhdWx0KWcoaXMpaChgKXAKLUZzKG9mZilwIEZ0KCcuKTYzMCAxMzgzIHkgRnMoZWRpdGluZy1tb2RlKTExMTAgMTQ5MiB5Ci1GdChUaGUpZCBGcyhlZGl0aW5nLW1vZGUpZSBGdCh2KS01IGIoYXJpYWJsZSkyOSBiKGNvbiltKHRyb2xzKWgod2hpYyltCi0oaCllKGRlZmF1bHQpaChzZXQpaChvZillKGspbShleSlpKGJpbmQtKTExMTAgMTYwMiB5KGluZ3MpMjUKLWIoaXMpZyh1c2VkLikzOCBiKEJ5KTI2IGIoZGVmYXVsdCwpZyhSZWFkbGluZSlnKHN0YXJ0cylmKHVwKWYoaW4paAotKEVtYWNzKWcoZWRpdGluZyloKG1vKXMoZGUsKTExMTAgMTcxMSB5KHdoZXJlKWoodGhlKWcoayltKGV5c3Ryb2spbShlcykKLWkoYXJlKWUobW9zdCloKHNpbWlsYXIpZih0byloKEVtYWNzLik0MCBiKFRoaXMpMjkgYih2KS01Ci1iKGFyaWFibGUpMzAgYihjYW4pMTExMCAxODIxIHkoYilzKGUpZyhzZXQpaCh0bylnKGVpdGhlcilnKGApcAotRnMoZW1hY3MpcCBGdCgnKWUob3IpaChgKXAgRnModmkpcCBGdCgnLik2MzAgMTk3OSB5IEZzCi0oZWNoby1jb250cm9sLWNoYXJhY3RlcnMpMTExMCAyMDg5IHkgRnQoV2hlbilnKHNldCloKHRvKWcoYClwCi1GcyhvbilwIEZ0KCcsKWYob24pZyhvcClzKGVyYXRpbmcpaChzeXN0ZW1zKWYodGhhdCloKGluZGljYXRlKWcodGhleSlnCi0oc3VwcClzKG9ydCkxMTEwIDIxOTggeShpdCwpaShyZWFkbGluZSllKGVjKW0oaG8pcyhlcylpKGEpZihjKW0KLShoYXJhY3RlciloKGNvcnJlc3ApcyhvbmRpbmcpZCh0bylqKGEpZihzaWduYWwpZyhnZW5lcmF0ZWQpMTExMAotMjMwOCB5KGZyb20pZSh0aGUpZyhrKW0oZXliKXMob2FyZC4pNDEgYihUaGUpMzAgYihkZWZhdWx0KWcoaXMpaChgKXAKLUZzKG9uKXAgRnQoJy4pNjMwIDI0NjYgeSBGcyhlbmFibGUta2V5cGFkKTExMTAgMjU3NiB5Ci1GdChXaGVuKTIzIGIoc2V0KWgodG8pZyhgKXAgRnMob24pcCBGdCgnLCloKFJlYWRsaW5lKWYod2lsbClnKHRyeSlmKHRvKQotaChlbmFibGUpZyh0aGUpZihhcHBsaWNhdGlvbilpKGspbShleXBhZCkxMTEwIDI2ODUgeSh3aGVuKWgoaXQpaChpcylmCi0oY2FsbGVkLik0MSBiKFNvbWUpMjcgYihzeXN0ZW1zKWYobmVlZCloKHRoaXMpZih0byloKGVuYWJsZSlnKHRoZSlnCi0oYXJybyltKHcpZyhrKW0oZXlzLikxMTEwIDI3OTUgeShUaGUpaihkZWZhdWx0KWcoaXMpaChgKXAKLUZzKG9mZilwIEZ0KCcuKTYzMCAyOTUzIHkgRnMoZW5hYmxlLW1ldGEta2V5KTExMTAgMzA2MwoteSBGdChXaGVuKTQwIGIoc2V0KWcodG8pZyhgKXAgRnMob24pcCBGdCgnLClqKFJlYWRsaW5lKWQod2lsbClnKHRyeSlnCi0odG8pZyhlbmFibGUpZyhhbiltKHkpZyhtZXRhKWgobW8pcyhkaVwwMTRlcikxMTEwIDMxNzMKLXkoayltKGV5KWkodGhlKWUodGVybWluYWwpaShjbGFpbXMpZih0byloKHN1cHApcyhvcnQpZCh3aGVuKWgoaXQpaChpcylnCi0oY2FsbGVkLik3NiBiKE9uKTQxIGIobWFuKW0oeSkxMTEwIDMyODIgeSh0ZXJtaW5hbHMsKWModGhlKWUobWV0YSloKGspbQotKGV5KWcoaXMpZih1c2VkKWcodG8paChzZW5kKWUoZWlnaCltKHQtYml0KWooYyltKGhhcmFjdGVycy4pNTYKLWIoVGhlKTExMTAgMzM5MiB5KGRlZmF1bHQpMzEgYihpcylmKGApcCBGcyhvbilwIEZ0KCcuKTYzMAotMzU1MCB5IEZzKGV4cGFuZC10aWxkZSkxMTEwIDM2NjAgeSBGdChJZilkKHNldCloKHRvKWgoYClwCi1GcyhvbilwIEZ0KCcsKWYodGlsZGUpZyhleHBhbnNpb24pZyhpcylmKHApcyhlcmZvcm1lZClmKHdoZW4paAotKFJlYWRsaW5lKWgoYXR0ZW1wdHMpMTExMCAzNzY5IHkodyltKG9yZClpKGNvbXBsZXRpb24uKTQyCi1iKFRoZSkzMCBiKGRlZmF1bHQpZyhpcyloKGApcCBGcyhvZmYpcCBGdCgnLik2MzAgMzkyNwoteSBGcyhoaXN0b3J5LXByZXNlcnZlLXBvaW50KTExMTAgNDAzNyB5IEZ0KElmKTQxIGIoc2V0KWgodG8paChgKXAKLUZzKG9uKXAgRnQoJywpaSh0aGUpYyhoaXN0b3J5KWgoY28pcyhkZSlnKGF0dGVtcHRzKWgodG8pZihwbGFjZSloKHRoZSlmCi0ocClzKG9pbiltKHQpZihcKHRoZSkxMTEwIDQxNDcgeShjdXJyZW4pbSh0KTM1IGIoY3Vyc29yKWcocClzCi0ob3NpdGlvblwpKWcoYXQpaCh0aGUpZyhzYW1lKWYobG8pcyhjYXRpb24paShvbillKGVhYyltKGgpaChoaXN0b3J5KWcKLShsaW5lKTExMTAgNDI1NiB5KHJldHJpZXYpbShlZCloKHdpdGgpZiBGcyhwcmV2aW91cy1oaXN0b3J5KWMKLUZ0KG9yKTM3IGIgRnMobmV4dC1oaXN0b3J5KXAgRnQoLik1NSBiKFRoZSkzNiBiKGRlZmF1bHQpMTExMAotNDM2NiB5KGlzKTMwIGIoYClwIEZzKG9mZilwIEZ0KCcuKTYzMCA0NTI0IHkgRnMoaGlzdG9yeS1zaXplKTExMTAKLTQ2MzQgeSBGdChTZXQpMzkgYih0aGUpZyhtYXhpbSltKHVtKWcobiltKHVtKW0oYilzKGVyKWYob2YpaChoaXN0b3J5KWcKLShlbiltKHRyaWVzKWgoc2EpbSh2KW0oZWQpZyhpbilmKHRoZSlnKGhpc3RvcnkpMTExMCA0NzQzCi15KGxpc3QuKTUzIGIoSWYpMzQgYihzZXQpaCh0bylnKHplcm8sKWkodGhlKWQobiltKHVtKW0oYilzKGVyKWcob2YpZwotKGVuKW0odHJpZXMpaChpbilmKHRoZSloKGhpc3RvcnkpZihsaXN0KWgoaXMpZyhub3QpMTExMAotNDg1MyB5KGxpbWl0ZWQuKTYzMCA1MDExIHkgRnMoaG9yaXpvbnRhbC1zY3JvbGwtbW9kZSkxMTEwCi01MTIxIHkgRnQoVGhpcylnKHYpLTUgYihhcmlhYmxlKTM3IGIoY2FuKWYoYilzKGUpZihzZXQpaCh0byloKGVpdGhlcilmCi0oYClwIEZzKG9uKXAgRnQoJylnKG9yKWcoYClwIEZzKG9mZilwIEZ0KCcuKTU3IGIoU2V0dGluZykzNgotYihpdClnKHRvKWgoYClwIEZzKG9uKXAgRnQoJykxMTEwIDUyMzAgeShtZWFucykyNiBiKHRoYXQpaCh0aGUpZih0ZXh0KWgKLShvZilnKHRoZSlmKGxpbmVzKWcoYilzKGVpbmcpZyhlZGl0ZWQpaCh3aWxsKWYoc2Nyb2xsKWgoaG9yaXpvbiltCi0odGFsbHkpMTExMCA1MzQwIHkob24pMzIgYihhKWcoc2luZ2xlKWcoc2NyZWVuKWcobGluZSlnKHdoZW4pZSh0aGV5KWkKLShhcmUpZyhsb25nZXIpaCh0aGFuKWUodGhlKWgod2lkdGgpZihvZiloKHRoZSlwIGVvcCBlbmQKICUlUGFnZTogOTkgMTA1CiBUZVhEaWN0IGJlZ2luIDk5IDEwNCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoODopNDEKLWIoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIxMDcgYig5OSkxMTEwIDI5OSB5KHNjcmVlbiwpMjcKLWIoaW5zdGVhZClnKG9mKWYod3JhcHBpbmcpZihvbiltKHRvKWkoYSlmKG5ldylnKHNjcmVlbilnKGxpbmUuKTM5Ci1iKEJ5KTI3IGIoZGVmYXVsdCwpZyh0aGlzKTExMTAgNDA4IHkodiktNSBiKGFyaWFibGUpMzEKLWIoaXMpZyhzZXQpZih0bylpKGApcCBGcyhvZmYpcCBGdCgnLik2MzAgNTY3IHkgRnMoaW5wdXQtbWV0YSkxMTEwCi02NzYgeSBGdChJZilmKHNldClnKHRvKWgoYClwIEZzKG9uKXAgRnQoJywpZyhSZWFkbGluZSlnKHdpbGwpZihlbmFibGUpaAotKGVpZ2gpbSh0LWJpdCloKGlucHV0KWQoXChpdClpKHdpbGwpZihub3QpaChjbGVhcikxMTEwCi03ODYgeSh0aGUpNDAgYihlaWdoKW0odGgpZyhiaXQpZyhpbilmKHRoZSloKGMpbShoYXJhY3RlcnMpaChpdClmCi0ocmVhZHNcKSwpaihyZWdhcmRsZXNzKWMob2YpaCh3aGF0KWcodGhlKTExMTAgODk2IHkodGVybWluYWwpZyhjbGFpbXMpaAotKGl0KWcoY2FuKWYoc3VwcClzKG9ydC4pNjggYihUaGUpMzkgYihkZWZhdWx0KWgodiktNQotYihhbHVlKTQwIGIoaXMpZyhgKXAgRnMob2ZmKXAgRnQoJy4pNjkgYihUaGUpMTExMCAxMDA1Ci15KG5hbWUpMzAgYiBGcyhtZXRhLWZsYWcpZSBGdChpcylqKGEpZihzeW5vbiltKHltKWcoZm9yKWcodGhpcyloKHYpLTUKLWIoYXJpYWJsZS4pNjMwIDExNjMgeSBGcyhpc2VhcmNoLXRlcm1pbmF0b3JzKTExMTAgMTI3MwoteSBGdChUaGUpNTEgYihzdHJpbmcpaChvZilnKGMpbShoYXJhY3RlcnMpaCh0aGF0KWYoc2hvdWxkKWUodGVybWluYXRlKWoKLShhbilmKGluY3JlbWVuKW0odGFsKTExMTAgMTM4MyB5KHNlYXJjKW0oaCkyNSBiKHdpdGhvdXQpZyhzdWJzZXF1ZW4pbQotKHRseSlnKGV4ZWN1dGluZyloKHRoZSlmKGMpbShoYXJhY3RlciloKGFzKWYoYSlnKGNvbW1hbmQpMTExMAotMTQ5MiB5KFwoc2VlKTQyIGIoU2VjdGlvbilmKDguMi41KWkoW1NlYXJjKW0oaGluZ10sKWkocGFnZSljKDk1XCkuKTczCi1iKElmKTQxIGIodGhpcylnKHYpLTUgYihhcmlhYmxlKTQxIGIoaGFzKWcobm90KTExMTAgMTYwMgoteShiKXMoZWVuKTM1IGIoZ2l2KW0oZW4paChhKWcodiktNSBiKGFsdWUsKTM3IGIodGhlKWYoYyltKGhhcmFjdGVycyloCi1GcyhFU0MpZCBGdChhbmQpaCBGaShDLUopZyBGdCh3aWxsKWgodGVybWluYXRlKWcoYW4pMTExMAotMTcxMSB5KGluY3JlbWVuKW0odGFsKWMoc2VhcmMpbShoLik2MzAgMTg3MCB5IEZzKGtleW1hcCkxOTIKLWIgRnQoU2V0cykzOSBiKFJlYWRsaW5lJ3MpZyhpZGVhKWgob2YpZih0aGUpZyhjdXJyZW4pbSh0KWYoayltKGV5bWFwKWgKLShmb3IpZyhrKW0oZXkpZyhiaW5kaW5nKWYoY29tLSkxMTEwIDE5NzkgeShtYW5kcy4pODEKLWIoQWNjZXB0YWJsZSk0NyBiIEZzKGtleW1hcCk0MiBiIEZ0KG5hbWVzKWkoYXJlKWggRnMoZW1hY3MpcAotRnQoLClpIEZzKGVtYWNzLXN0YW5kYXJkKXAgRnQoLCkxMTEwIDIwODkgeSBGcyhlbWFjcy1tZXRhKXAKLUZ0KCwpOTkgYiBGcyhlbWFjcy1jdGx4KXAgRnQoLClmIEZzKHZpKXAgRnQoLClqIEZzKHZpLW1vdmUpcAotRnQoLClmIEZzKHZpLWNvbW1hbmQpcCBGdCgsKWYoYW5kKTExMTAgMjE5OCB5IEZzKHZpLWluc2VydClwCi1GdCguKTY0IGIgRnModmkpMzggYiBGdChpcyloKGVxdWl2KS01IGIoYWxlbiltKHQpNDEgYih0byllCi1Gcyh2aS1jb21tYW5kKXAgRnQoOylpIEZzKGVtYWNzKWMgRnQoaXMpaShlcXVpdiktNSBiKGFsZW4pbSh0KTExMTAKLTIzMDggeSh0bykzMyBiIEZzKGVtYWNzLXN0YW5kYXJkKXAgRnQoLik0MSBiKFRoZSkzMSBiKGRlZmF1bHQpaCh2KS01Ci1iKGFsdWUpMzIgYihpcylnIEZzKGVtYWNzKXAgRnQoLik0NCBiKFRoZSkzMSBiKHYpLTUgYihhbHVlKTMzCi1iKG9mKWYodGhlKTExMTAgMjQxOCB5IEZzKGVkaXRpbmctbW9kZSkyNyBiIEZ0KHYpLTUgYihhcmlhYmxlKTMxCi1iKGFsc28paChhXDAxM2VjdHMpZih0aGUpZyhkZWZhdWx0KWYoayltKGV5bWFwLik2MzAgMjU3NgoteSBGcyhtYXJrLWRpcmVjdG9yaWVzKTExMTAgMjY4NSB5IEZ0KElmKTM4IGIoc2V0KWcodG8paChgKXAKLUZzKG9uKXAgRnQoJywpaShjb21wbGV0ZWQpZShkaXJlY3RvcnkpZihuYW1lcylnKGhhKW0odiltKGUpaShhKWUoc2xhc2gpCi1nKGFwcClzKGVuZGVkLikxMTEwIDI3OTUgeShUaGUpMzAgYihkZWZhdWx0KWcoaXMpaChgKXAKLUZzKG9uKXAgRnQoJy4pNjMwIDI5NTMgeSBGcyhtYXJrLW1vZGlmaWVkLWxpbmVzKTExMTAKLTMwNjMgeSBGdChUaGlzKWsodiktNSBiKGFyaWFibGUsKTM4IGIod2hlbilkKHNldCloKHRvKWgoYClwCi1GcyhvbilwIEZ0KCcsKWcoY2F1c2VzKWcoUmVhZGxpbmUpZih0byloKGRpc3BsYSltKHkpZihhbilmKGFzLSkxMTEwCi0zMTczIHkodGVyaXNrKWYoXChgKXAgRnMoKilwIEZ0KCdcKSloKGF0KWYodGhlKWcoc3RhcnQpZyhvZilnKGhpc3RvcnkpZwotKGxpbmVzKWcod2hpYyltKGgpZihoYSltKHYpbShlKWkoYilzKGVlbillKG1vKXMoZGlcMDE0ZWQuKTExMTAKLTMyODIgeShUaGlzKWQodiktNSBiKGFyaWFibGUpMzEgYihpcylmKGApcCBGcyhvZmYpcCBGdCgnKWcoYiltKHkpZwotKGRlZmF1bHQuKTYzMCAzNDQwIHkgRnMobWFyay1zeW1saW5rZWQtZGlyZWN0b3JpKW8oZXMpMTExMAotMzU1MCB5IEZ0KElmKTQ0IGIoc2V0KWgodG8paChgKXAgRnMob24pcCBGdCgnLClpKGNvbXBsZXRlZCllKG5hbWVzKWYKLSh3aGljKW0oaClmKGFyZSloKHN5bSltKGIpcyhvbGljKWcobGlua3MpZyh0bylnKGRpLSkxMTEwCi0zNjYwIHkocmVjdG9yaWVzKWooaGEpbSh2KW0oZSlmKGEpZyhzbGFzaClmKGFwcClzKGVuZGVkKWUoXChzdWIpNQotYihqZWN0KTQ3IGIodG8pZyh0aGUpZih2KS01IGIoYWx1ZSk0NyBiKG9mKWYgRnMobWFyay0pMTExMAotMzc2OSB5KGRpcmVjdG9yaWVzKXAgRnQoXCkuKTM4IGIoVGhlKTMwIGIoZGVmYXVsdClnKGlzKWgoYClwCi1GcyhvZmYpcCBGdCgnLik2MzAgMzkyNyB5IEZzKG1hdGNoLWhpZGRlbi1maWxlcykxMTEwCi00MDM3IHkgRnQoVGhpcykyMSBiKHYpLTUgYihhcmlhYmxlLCkyNSBiKHdoZW4pZChzZXQpZyh0byloKGApcAotRnMob24pcCBGdCgnLCloKGNhdXNlcylmKFJlYWRsaW5lKWcodG8pZyhtYXRjKW0oaClnKFwwMTRsZXMpZih3aG9zZSkKLTExMTAgNDE0NyB5KG5hbWVzKTQ0IGIoYilzKGVnaW4pZyh3aXRoKWcoYSlnKGApcCBGcyguKXAKLUZ0KCcpZyhcKGhpZGRlbilmKFwwMTRsZXNcKSlpKHdoZW4pZShwKXMoZXJmb3JtaW5nKWcoXDAxNGxlbmFtZSkxMTEwCi00MjU2IHkoY29tcGxldGlvbiwpaih1bmxlc3MpNDEgYih0aGUpZyhsZWFkaW5nKWgoYClwCi1GcyguKXAgRnQoJylnKGlzKWcoc3VwcGxpZWQpZShiKW0oeSloKHRoZSloKHVzZXIpZihpbilnKHRoZSkxMTEwCi00MzY2IHkoXDAxNGxlbmFtZSkzMSBiKHRvKWcoYilzKGUpZShjb21wbGV0ZWQuKTQyIGIoVGhpcykzMAotYih2KS01IGIoYXJpYWJsZSkzMSBiKGlzKWYoYClwIEZzKG9uKXAgRnQoJyloKGIpbSh5KWYoZGVmYXVsdC4pNjMwCi00NTI0IHkgRnMob3V0cHV0LW1ldGEpMTExMCA0NjM0IHkgRnQoSWYpMzUgYihzZXQpaCh0bylnKGApcAotRnMob24pcCBGdCgnLCloKFJlYWRsaW5lKWYod2lsbClnKGRpc3BsYSltKHkpZihjKW0oaGFyYWN0ZXJzKWkod2l0aCllCi0odGhlKWgoZWlnaCltKHRoKWcoYml0KTExMTAgNDc0MyB5KHNldCloKGRpcmVjdGx5KWcocmF0aGVyKWYodGhhbilnKGFzKQotaChhKWcobWV0YS1wcmVcMDE0eGVkKWYoZXNjYXApcyhlKWgoc2VxdWVuY2UuKTU5IGIoVGhlKTExMTAKLTQ4NTMgeShkZWZhdWx0KTMxIGIoaXMpZihgKXAgRnMob2ZmKXAgRnQoJy4pNjMwIDUwMTEKLXkgRnMocGFnZS1jb21wbGV0aW9ucykxMTEwIDUxMjEgeSBGdChJZilqKHNldClpKHRvKWYoYClwCi1GcyhvbilwIEZ0KCcsKWgoUmVhZGxpbmUpZyh1c2VzKWUoYW4paChpbiltKHRlcm5hbCloCi1Gcyhtb3JlKXAgRnQoLWxpayltKGUpZihwYWdlcilnKHRvKWgoZGlzcGxhKW0oeSkxMTEwCi01MjMwIHkoYSllKHNjcmVlbmZ1bClmKG9mKWcocClzKG9zc2libGUpZyhjb21wbGV0aW9ucylpKGF0KWYoYSlnKHRpbWUuKQotNDcgYihUaGlzKTMxIGIodiktNSBiKGFyaWFibGUpMzQgYihpcyllKGApcCBGcyhvbilwIEZ0KCcpMTExMAotNTM0MCB5KGIpbSh5KWUoZGVmYXVsdC4pcCBlb3AgZW5kCitiKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMTA3IGIoOTkpODcwIDI5OSB5IEZzKHNldCk0NworYiBGaSh2YXJpYWJsZSk1NiBiKHZhbHVlKTYzMCA0MzYgeSBGdChIZXJlLCkyOSBiKGZvcillKGV4YW1wbGUsKWgoaXMpZworKGhvKW0odylmKHRvKWgoYyltKGhhbmdlKWcoZnJvbSlmKHRoZSlnKGRlZmF1bHQpaChFbWFjcy1saWspbShlKWgoayltCisoZXkpZihiaW5kaW5nKWUodG8pNjMwIDU0NSB5KHVzZSlrIEZzKHZpKWcgRnQobGluZSloKGVkaXRpbmcpZworKGNvbW1hbmRzOik4NzAgNjgyIHkgRnMoc2V0KTQ3IGIoZWRpdGluZy1tb2RlKWQodmkpNjMwCis4MTkgeSBGdChWKS04IGIoYXJpYWJsZSkzNiBiKG5hbWVzKWYoYW5kKWcodiktNSBiKGFsdWVzLCkzNgorYih3aGVyZSlmKGFwcHJvcHJpYXRlLCloKGFyZSlnKHJlY29nbml6ZWQpZyh3aXRob3V0KWYocmVnYXJkKTYzMAorOTI5IHkodG8pYyhjYXNlLik0MiBiKFVucmVjb2duaXplZCkzMSBiKHYpLTUgYihhcmlhYmxlKTMxCitiKG5hbWVzKWcoYXJlKWYoaWdub3JlZC4pNjMwIDEwNjYgeShCbylzKG9sZWFuKWModiktNQorYihhcmlhYmxlcykyNiBiKFwodGhvc2UpZyh0aGF0KWcoY2FuKWYoYilzKGUpZihzZXQpaSh0bylnKG9uKWYob3IpZworKG9cMDEzKTcgYihcKSkyNSBiKGFyZSloKHNldClmKHRvKWgob24pZihpZilnKHRoZSlnKHYpLTUKK2IoYWx1ZSkyNiBiKGlzKTYzMCAxMTc2IHkobiltKHVsbCllKG9yKWcoZW1wdCltKHkpLTgKK2IoLCkyNyBiIEZxKG9uKWQgRnQoXChjYXNlLWluc2Vuc2l0aXYpbShlXCksKTI5IGIob3IpMjQKK2IoMS4pMzkgYihBbiltKHkpMjUgYihvdGhlcilmKHYpLTUgYihhbHVlKTI1IGIocmVzdWx0cylmKGluKWcodGhlKWcodikKKy01IGIoYXJpYWJsZSk2MzAgMTI4NSB5KGIpcyhlaW5nKTMwIGIoc2V0KWgodG8pZyhvXDAxMy4pNjMwCisxNDIyIHkoVGhlKTM3IGIgRnMoYmluZCkzMCBiKC1WKTM3IGIgRnQoY29tbWFuZClnKGxpc3RzKWkodGhlKWYoY3VycmVuKQorbSh0KWYoUmVhZGxpbmUpaSh2KS01IGIoYXJpYWJsZSkzOCBiKG5hbWVzKWcoYW5kKWYodiktNQorYihhbHVlcy4pNjMwIDE1MzIgeShTZWUpMzEgYihTZWN0aW9uKWcoNC4yKWcoW0Jhc2gpZyhCdWlsdGluc10sKWcocGFnZSkKK2coNDMuKTYzMCAxNjY5IHkoQSlmKGdyZWF0KWkoZGVhbClmKG9mKWcocnVuLXRpbWUpZihiKXMoZWhhKW0odmlvcilnCisoaXMpZyhjKW0oaGFuZ2VhYmxlKWood2l0aClkKHRoZSlnKGZvbGxvKW0od2luZylpKHYpLTUKK2IoYXJpYWJsZXMuKTYzMCAxODMzIHkgRnMoYmVsbC1zdHlsZSkxMTEwIDE5NDMgeSBGdChDb24pbSh0cm9scyk0NAorYih3aGF0KWcoaGFwcClzKGVucyllKHdoZW4paChSZWFkbGluZSlpKHcpbShhbiltKHRzKWYodG8paChyaW5nKWUodGhlKWgKKyh0ZXJtaS0pMTExMCAyMDUyIHkobmFsKTM3IGIoYilzKGVsbC4pNjEgYihJZikzNyBiKHNldCloKHRvKWcoYClwCitGcyhub25lKXAgRnQoJywpZyhSZWFkbGluZSlnKG5ldiltKGVyKWcocmluZ3MpZSh0aGUpaShiKXMoZWxsLik2MQorYihJZikzNiBiKHNldClpKHRvKTExMTAgMjE2MiB5KGApcCBGcyh2aXNpYmxlKXAgRnQoJywpMzIKK2IoUmVhZGxpbmUpaSh1c2VzKWYoYSlnKHZpc2libGUpZyhiKXMoZWxsKWcoaWYpZyhvbmUpZyhpcylnKGEpbSh2KS01CitiKGFpbGFibGUuKTUxIGIoSWYpMzMgYihzZXQpZyh0bykxMTEwIDIyNzEgeShgKXAgRnMoYXVkaWJsZSlwCitGdCgnKWooXCh0aGUpaShkZWZhdWx0XCksKWkoUmVhZGxpbmUpZShhdHRlbXB0cylnKHRvKWgocmluZyllKHRoZSlnCisodGVybWluYWwncykxMTEwIDIzODEgeShiKXMoZWxsLik2MzAgMjU0NSB5IEZzKGJpbmQtdHR5LXNwZWNpYWwtY2hhcnMpCisxMTEwIDI2NTUgeSBGdChJZik0NSBiKHNldCloKHRvKWYoYClwIEZzKG9uKXAgRnQoJywpNTAKK2IoUmVhZGxpbmUpNDUgYihhdHRlbXB0cylpKHRvKWYoYmluZClkKHRoZSlqKGNvbiltKHRyb2wpZyhjKW0KKyhoYXJhY3RlcnMpMTExMCAyNzY1IHkodHJlYXRlZCkzNiBiKHNwKXMoZWNpYWxseSloKGIpbSh5KWUodGhlKWgoayltCisoZXJuZWwncylnKHRlcm1pbmFsKWcoZHJpdiltKGVyKWYodG8paCh0aGVpcilmKFJlYWRsaW5lKTExMTAKKzI4NzQgeShlcXVpdiktNSBiKGFsZW4pbSh0cy4pNjMwIDMwMzkgeSBGcyhjb21tZW50LWJlZ2luKTExMTAKKzMxNDggeSBGdChUaGUpMjkgYihzdHJpbmcpZyh0byloKGluc2VydClmKGF0KWgodGhlKWYoYilzKGVnaW5uaW5nKWcob2YpCitnKHRoZSloKGxpbmUpZih3aGVuKWYodGhlKWkgRnMoaW5zZXJ0LSkxMTEwIDMyNTggeShjb21tZW50KWUKK0Z0KGNvbW1hbmQpaihpcylmKGV4ZWN1dGVkLik0MiBiKFRoZSkyOSBiKGRlZmF1bHQpaSh2KS01CitiKGFsdWUpMzEgYihpcylmIEZzKCIjIilwIEZ0KC4pNjMwIDM0MjIgeSBGcyhjb21wbGV0aW9uLWRpc3BsYXktd2lkdGgpCisxMTEwIDM1MzIgeSBGdChUaGUpNDEgYihuKW0odW0pbShiKXMoZXIpZihvZilpKHNjcmVlbilnKGNvbHVtbnMpZih1c2VkKQorZyh0byloKGRpc3BsYSltKHkpZyhwKXMob3NzaWJsZSlmKG1hdGMpbShoZXMpMTExMCAzNjQxCit5KHdoZW4pMjggYihwKXMoZXJmb3JtaW5nKWcoY29tcGxldGlvbi4pNDEgYihUaGUpMjkgYih2KS01CitiKGFsdWUpMjkgYihpcylnKGlnbm9yZWQpZyhpZilnKGl0KWgoaXMpZihsZXNzKWcodGhhbikxMTEwCiszNzUxIHkoMCllKG9yKWYoZ3JlYXRlciloKHRoYW4pZih0aGUpZyh0ZXJtaW5hbCloKHNjcmVlbilmKHdpZHRoLikzOQorYihBKTI2IGIodiktNSBiKGFsdWUpMjcgYihvZilmKDApaCh3aWxsKWYoY2F1c2UpMTExMAorMzg2MSB5KG1hdGMpbShoZXMpMzIgYih0bylmKGIpcyhlKWUoZGlzcGxhKW0oeSltKGVkKWkob25lKWcocClzKGVyKWUKKyhsaW5lLik0MSBiKFRoZSkzMCBiKGRlZmF1bHQpaCh2KS01IGIoYWx1ZSkzMSBiKGlzKWYoLTEuKTYzMAorNDAyNSB5IEZzKGNvbXBsZXRpb24taWdub3JlLWNhc2UpMTExMCA0MTM0IHkgRnQoSWYpZChzZXQpaCh0bylnKGApcAorRnMob24pcCBGdCgnLClnKFJlYWRsaW5lKWcocClzKGVyZm9ybXMpZShcMDE0bGVuYW1lKWgobWF0YyltKGhpbmcpaQorKGFuZCllKGNvbXBsZXRpb24pMTExMCA0MjQ0IHkoaW4paihhKWgoY2FzZS1pbnNlbnNpdGl2KW0oZSlpKGZhc2hpb24uKQorNDAgYihUaGUpMzAgYihkZWZhdWx0KWgodiktNSBiKGFsdWUpMzAgYihpcyloKGApcCBGcyhvZmYpcAorRnQoJy4pNjMwIDQ0MDggeSBGcyhjb21wbGV0aW9uLW1hcC1jYXNlKTExMTAgNDUxOCB5IEZ0KElmKTIyCitiKHNldClnKHRvKWgoYClwIEZzKG9uKXAgRnQoJywpaChhbmQpZSBGcShjb21wbGV0aW9uLWlnbm9yZS1jYXNlKTMxCitiIEZ0KGlzKTIyIGIoZW5hYmxlZCwpaShSZWFkbGluZSlmKHRyZWF0cykxMTEwIDQ2MjggeShoKW0oeXBoZW5zKTI5CitiKFwoYClwIEZzKC0pcCBGdCgnXCkpaihhbmQpZSh1bmRlcnNjb3JlcylnKFwoYClwIEZzKF8pcAorRnQoJ1wpKWkoYXMpZihlcXVpdiktNSBiKGFsZW4pbSh0KTMyIGIod2hlbillKHApcyhlcmZvcm1pbmcpMTExMAorNDczNyB5KGNhc2UtaW5zZW5zaXRpdiltKGUpaihcMDE0bGVuYW1lKWQobWF0YyltKGhpbmcpaShhbmQpZQorKGNvbXBsZXRpb24uKTYzMCA0OTAyIHkgRnMoY29tcGxldGlvbi1wcmVmaXgtZGlzcGxhKW8oeS1sZSlvKG5ndGgpMTExMAorNTAxMSB5IEZ0KFRoZSloKGxlbmd0aClnKGluKWcoYyltKGhhcmFjdGVycylpKG9mKWYodGhlKWYoY29tbW9uKWgKKyhwcmVcMDE0eCllKG9mKWgoYSloKGxpc3QpZyhvZilmKHApcyhvc3NpYmxlKTExMTAgNTEyMQoreShjb21wbGV0aW9ucylnKHRoYXQpZihpcylnKGRpc3BsYSltKHkpbShlZClnKHdpdGhvdXQpZyhtbylzCisoZGlcMDE0Y2F0aW9uLik0MSBiKFdoZW4pMjkgYihzZXQpaCh0byloKGEpMTExMCA1MjMwCit5KHYpLTUgYihhbHVlKTI2IGIoZ3JlYXRlciloKHRoYW4pZSh6ZXJvLClqKGNvbW1vbillKHByZVwwMTR4ZXMpZQorKGxvbmdlcilqKHRoYW4pZSh0aGlzKWcodiktNSBiKGFsdWUpMjcgYihhcmUpMTExMCA1MzQwCit5KHJlcGxhY2VkKWsod2l0aClmKGFuKWcoZWxsaXBzaXMpaCh3aGVuKWUoZGlzcGxhKW0oeWluZylpKHApcyhvc3NpYmxlKQorZihjb21wbGV0aW9ucy4pcCBlb3AgZW5kCiAlJVBhZ2U6IDEwMCAxMDYKIFRlWERpY3QgYmVnaW4gMTAwIDEwNSBib3AgMTUwIC0xMTYgYSBGdCgxMDApMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeSBGcyhwcmludC1jb21wbGV0aW9ucy1ob3Jpem8pbyhudGFsKW8KLShseSkxMTEwIDQwOCB5IEZ0KElmKTIzIGIoc2V0KWkodG8pZyhgKXAgRnMob24pcCBGdCgnLClnKFJlYWRsaW5lKWcKLSh3aWxsKWYoZGlzcGxhKW0oeSlnKGNvbXBsZXRpb25zKWgod2l0aClmKG1hdGMpbShoZXMpaChzb3J0ZWQpMTExMAotNTE4IHkoaG9yaXpvbiltKHRhbGx5KTQ1IGIoaW4pZShhbHBoYWIpcyhldGljYWwpaShvcmRlciwpaShyYXRoZXIpYwotKHRoYW4pZyhkbyltKHduKWcodGhlKWgoc2NyZWVuLikxMTEwIDYyOCB5KFRoZSkzMCBiKGRlZmF1bHQpZyhpcyloKGApcAotRnMob2ZmKXAgRnQoJy4pNjMwIDc4OCB5IEZzKHJldmVydC1hbGwtYXQtbmV3bGluZSkxMTEwCi04OTcgeSBGdChJZillKHNldCloKHRvKWcoYClwIEZzKG9uKXAgRnQoJywpZyhSZWFkbGluZSlnKHdpbGwpZyh1bmRvKWYKLShhbGwpaChjKW0oaGFuZ2VzKWgodG8pZihoaXN0b3J5KWcobGluZXMpZihiKXMoZWZvcmUpMTExMAotMTAwNyB5KHJldHVybmluZylmKHdoZW4pZiBGcyhhY2NlcHQtbGluZSlmIEZ0KGlzKWooZXhlY3V0ZWQuKTQxCi1iKEJ5KTI5IGIoZGVmYXVsdCwpZyhoaXN0b3J5KWcobGluZXMpMTExMCAxMTE3IHkobWEpbSh5KTQyCi1iKGIpcyhlKWcobW8pcyhkaVwwMTRlZCllKGFuZCloKHJldGFpbilpKGluZGl2aWR1YWwpZSh1bmRvKWcobGlzdHMpaAotKGFjcm9zcylnKGNhbGxzKWgodG8pMTExMCAxMjI2IHkgRnMocmVhZGxpbmUpcCBGdCguKTM4Ci1iKFRoZSkzMCBiKGRlZmF1bHQpaChpcylmKGApcCBGcyhvZmYpcCBGdCgnLik2MzAgMTM4NgoteSBGcyhzaG93LWFsbC1pZi1hbWJpZ3VvdXMpMTExMCAxNDk2IHkgRnQoVGhpcylmKGFsdGVycylpKHRoZSlmCi0oZGVmYXVsdClnKGIpcyhlaGEpbSh2aW9yKWcob2YpZyh0aGUpaChjb21wbGV0aW9uKWcoZnVuY3Rpb25zLik0MAotYihJZikyOSBiKHNldCkxMTEwIDE2MDYgeSh0bylmKGApcCBGcyhvbilwIEZ0KCcsKWcodyltKG9yZHMpZih3aGljKW0oaCkKLWcoaGEpbSh2KW0oZSlpKG1vcmUpZih0aGFuKWYob25lKWgocClzKG9zc2libGUpZihjb21wbGV0aW9uKWgoY2F1c2UpCi0xMTEwIDE3MTUgeSh0aGUpMzkgYihtYXRjKW0oaGVzKWgodG8pZyhiKXMoZSllKGxpc3RlZCloKGltbWVkaWF0ZWx5KWkKLShpbnN0ZWFkKWUob2YpZyhyaW5naW5nKWcodGhlKWcoYilzKGVsbC4pMTExMCAxODI1IHkoVGhlKTMwCi1iKGRlZmF1bHQpZyh2KS01IGIoYWx1ZSkzMSBiKGlzKWcoYClwIEZzKG9mZilwIEZ0KCcuKTYzMAotMTk4NSB5IEZzKHNob3ctYWxsLWlmLXVubW9kaWZpZWQpMTExMCAyMDk0IHkgRnQoVGhpcykzOAotYihhbHRlcnMpaCh0aGUpZyhkZWZhdWx0KWcoYilzKGVoYSltKHZpb3IpZyhvZilmKHRoZSloKGNvbXBsZXRpb24paAotKGZ1bmN0aW9ucyllKGluKWgoYSkxMTEwIDIyMDQgeShmYXNoaW9uKTI1IGIoc2ltaWxhcilnKHRvKWgKLUZxKHNobyltKHctYWxsLWlmLWFtKW0oYmlndW91cyl0IEZ0KC4pNDEgYihJZikyNCBiKHNldClpKHRvKWYoYClwCi1GcyhvbilwIEZ0KCcsKWkodyltKG9yZHMpZCh3aGljKW0oaCkxMTEwIDIzMTQgeShoYSltKHYpbShlKTMyCi1iKG1vcmUpZih0aGFuKWYob25lKWkocClzKG9zc2libGUpZShjb21wbGV0aW9uKWkod2l0aG91dClmKGFuKW0oeSlnKHApcwotKG9zc2libGUpZihwYXItKTExMTAgMjQyMyB5KHRpYWwpNDMgYihjb21wbGV0aW9uKWgoXCh0aGUpZihwKXMob3NzaWJsZSkKLWYoY29tcGxldGlvbnMpaChkb24ndClmKHNoYXJlKWcoYSloKGNvbW1vbikxMTEwIDI1MzMKLXkocHJlXDAxNHhcKSkzMCBiKGNhdXNlKWcodGhlKWgobWF0YyltKGhlcylnKHRvKWcoYilzKGUpZihsaXN0ZWQpZwotKGltbWVkaWF0ZWx5KWkoaW5zdGVhZCllKG9mKWgocmluZy0pMTExMCAyNjQyIHkoaW5nKWcodGhlKWYoYilzKGVsbC4pNDEKLWIoVGhlKTMwIGIoZGVmYXVsdClnKHYpLTUgYihhbHVlKTMxIGIoaXMpZihgKXAgRnMob2ZmKXAKLUZ0KCcuKTYzMCAyODAzIHkgRnMoc2tpcC1jb21wbGV0ZWQtdGV4dCkxMTEwIDI5MTIgeSBGdChJZilpKHNldClpKHRvKWYKLShgKXAgRnMob24pcCBGdCgnLCloKHRoaXMpZihhbHRlcnMpZyh0aGUpZyhkZWZhdWx0KWcoY29tcGxldGlvbiloKGIpcwotKGVoYSltKHZpb3IpZih3aGVuKWYoaW4tKTExMTAgMzAyMiB5KHNlcnRpbmcpZChhKWgoc2luZ2xlKWcobWF0YyltKGgpZgotKGluKW0odG8paCh0aGUpZyhsaW5lLik0MCBiKEl0J3MpMzAgYihvbmx5KWYoYWN0aXYpbShlKWkod2hlbilkKHApcwotKGVyZm9ybS0pMTExMCAzMTMxIHkoaW5nKTM1IGIoY29tcGxldGlvbiloKGluKWUodGhlKWgobWlkZGxlKWYob2YpaChhKWYKLSh3KW0ob3JkLik1MyBiKElmKTM1IGIoZW5hYmxlZCwpZyhyZWFkbGluZSlnKGRvKXMoZXMpMTExMAotMzI0MSB5KG5vdCk0MSBiKGluc2VydClmKGMpbShoYXJhY3RlcnMpaShmcm9tKWUodGhlKWgoY29tcGxldGlvbiloCi0odGhhdClmKG1hdGMpbShoKWcoYyltKGhhcmFjdGVycykxMTEwIDMzNTEgeShhZnRlciljKHApcyhvaW4pbSh0KWcoaW4pZwotKHRoZSlnKHcpbShvcmQpZihiKXMoZWluZylnKGNvbXBsZXRlZCwpayhzbylkKHApcyhvcnRpb25zKWYob2YpaCh0aGUpZwotKHcpbShvcmQpMTExMCAzNDYwIHkoZm9sbG8pbSh3aW5nKWModGhlKWYoY3Vyc29yKWYoYXJlKWgobm90KWcKLShkdXBsaWNhdGVkLik0NSBiKEYpLTggYihvcikzMiBiKGluc3RhbmNlLCloKGlmKWYodGhpcylmKGlzKWgoZW4tKTExMTAKLTM1NzAgeShhYmxlZCwpNDMgYihhdHRlbXB0aW5nKWYoY29tcGxldGlvbilnKHdoZW4pZCh0aGUpaShjdXJzb3IpZihpcylnCi0oYWZ0ZXIpaCh0aGUpZyhgKXAgRnMoZSlwIEZ0KCcpZihpbikxMTEwIDM2NzkgeShgKXAgRnMoTWFrZWZpbGUpcAotRnQoJyljKHdpbGwpaShyZXN1bHQpZihpbilnKGApcCBGcyhNYWtlZmlsZSlwIEZ0KCcpZihyYXRoZXIpaCh0aGFuKWgoYCkKLXAgRnMoTWFrZWZpbGVmaWxlKXAgRnQoJywpMTExMCAzNzg5IHkoYXNzdW1pbmcpZCh0aGVyZSlnKGlzKWgoYSlmCi0oc2luZ2xlKWgocClzKG9zc2libGUpZihjb21wbGV0aW9uLik1NiBiKFRoZSkzNSBiKGRlZmF1bHQpZyh2KS01Ci1iKGFsdWUpMTExMCAzODk4IHkoaXMpMzAgYihgKXAgRnMob2ZmKXAgRnQoJy4pNjMwIDQwNTkKLXkgRnModmlzaWJsZS1zdGF0cykxMTEwIDQxNjggeSBGdChJZiloKHNldClpKHRvKWYoYClwCi1GcyhvbilwIEZ0KCcsKWgoYSlmKGMpbShoYXJhY3RlcilpKGRlbm90aW5nKWUoYSlnKFwwMTRsZSdzKWcodCltKHlwKXMKLShlKWcoaXMpZyhhcHApcyhlbmRlZCllKHRvKWoodGhlKTExMTAgNDI3OCB5KFwwMTRsZW5hbWUpZSh3aGVuKWUKLShsaXN0aW5nKWkocClzKG9zc2libGUpZihjb21wbGV0aW9ucy4pNDIgYihUaGUpMzAgYihkZWZhdWx0KWcoaXMpaChgKXAKLUZzKG9mZilwIEZ0KCcuKTE1MCA0NDM4IHkoS2V5KWYoQmluZGluZ3MpNjMwIDQ1NDggeShUaGUpNDEKLWIoc3luKW0odGF4KWkoZm9yKWYoY29uKW0odHJvbGxpbmcpaChrKW0oZXkpZyhiaW5kaW5ncyllKGluKWgodGhlKWcKLShpbml0KWcoXDAxNGxlKWcoaXMpZyhzaW1wbGUuKTc1IGIoRmlyc3QpNDMgYih5KW0ob3UpNjMwCi00NjU3IHkobmVlZCkyNyBiKHRvKWkoXDAxNG5kKWQodGhlKWkobmFtZSlmKG9mKWgodGhlKWcoY29tbWFuZClmKHRoYXQpaQotKHkpbShvdSlmKHcpbShhbiltKHQpZyh0bylnKGMpbShoYW5nZS4pNDEgYihUaGUpMjcgYihmb2xsbyltKHdpbmcpNjMwCi00NzY3IHkoc2VjdGlvbnMpMzcgYihjb24pbSh0YWluKWcodGFibGVzKWcob2YpZih0aGUpZyhjb21tYW5kKWYobmFtZSwpagotKHRoZSllKGRlZmF1bHQpZyhrKW0oZXliaW5kaW5nLCloKGlmKWYoYW4pbSh5KS04IGIoLCk2MzAKLTQ4NzYgeShhbmQpMzAgYihhKWgoc2hvcnQpZihkZXNjcmlwdGlvbilnKG9mKWgod2hhdClmKHRoZSlnKGNvbW1hbmQpaAotKGRvKXMoZXMuKTYzMCA1MDExIHkoT25jZSkzNiBiKHkpbShvdSlnKGtubyltKHcpZyh0aGUpZyhuYW1lKWcob2YpZwotKHRoZSlnKGNvbW1hbmQsKWgoc2ltcGx5KWYocGxhY2UpaChvbillKGEpaShsaW5lKWYoaW4pZyh0aGUpZyhpbml0KTYzMAotNTEyMSB5KFwwMTRsZSllKHRoZSlnKG5hbWUpZihvZiloKHRoZSlnKGspbShleSlnKHkpbShvdSlnKHdpc2gpZih0byloCi0oYmluZClmKHRoZSloKGNvbW1hbmQpZih0bywpaShhKWYoY29sb24sKWkoYW5kKWQodGhlbik2MzAKLTUyMzAgeSh0aGUpZihuYW1lKWgob2YpZih0aGUpZyhjb21tYW5kLik0NiBiKFRoZXJlKTMyCi1iKGNhbilnKGIpcyhlKWcobm8pZyhzcGFjZSlnKGIpcyhldCltKHcpbShlZW4paCh0aGUpZihrKW0oZXkpaChuYW1lKWcKLShhbmQpNjMwIDUzNDAgeSh0aGUpNDEgYihjb2xvbiloKHspZih0aGF0KWcod2lsbClnKGIpcyhlKWcoaW4pbQotKHRlcnByZXRlZClnKGFzKWcocGFydClmKG9mKWgodGhlKWcoayltKGV5KWgobmFtZS4pNzIKLWIoVGhlKTQwIGIobmFtZSloKG9mKXAgZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKGNvbXBsZXRpb24tcXVlcnktaXRlbXMpMTExMAorNDA4IHkgRnQoVGhlKTI2IGIobiltKHVtKW0oYilzKGVyKWYob2YpaChwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zKWgKKyh0aGF0KWcoZGV0ZXJtaW5lcylmKHdoZW4pZih0aGUpaSh1c2VyKTExMTAgNTE4IHkoaXMpaShhc2spbShlZCloCisod2hldGhlcilmKHRoZSloKGxpc3QpZyhvZilmKHApcyhvc3NpYmlsaXRpZXMpaChzaG91bGQpZShiKXMoZSloCisoZGlzcGxhKW0oeSltKGVkLik0MSBiKElmKTI5IGIodGhlKTExMTAgNjI4IHkobiltKHVtKW0oYilzKGVyKWQob2YpaChwKQorcyhvc3NpYmxlKWYoY29tcGxldGlvbnMpaShpcylmKGdyZWF0ZXIpaCh0aGFuKWUodGhpcyloKHYpLTUKK2IoYWx1ZSwpMjggYihSZWFkbGluZSkxMTEwIDczNyB5KHdpbGwpZihhc2spZyh0aGUpZih1c2VyKWcod2hldGhlcilnCisob3IpZyhub3QpaChoZSlmKHdpc2hlcylnKHRvKWkodmlldyllKHRoZW07KWkob3RoZXJ3aXNlLCkxMTEwCis4NDcgeSh0aGV5KWQoYXJlKWYoc2ltcGx5KWcobGlzdGVkLik0MCBiKFRoaXMpMjMgYih2KS01CitiKGFyaWFibGUpMjUgYihtKW0odXN0KWcoYilzKGUpZShzZXQpaSh0bylnKGFuKWcoaW4pbSh0ZWdlcilnKHYpLTUKK2IoYWx1ZSkxMTEwIDk1NiB5KGdyZWF0ZXIpMjYgYih0aGFuKWYob3IpZihlcXVhbClpKHRvKWYoMC4pNDAKK2IoQSkyNCBiKG5lZ2F0aXYpbShlKWoodiktNSBiKGFsdWUpMjYgYihtZWFucyllKFJlYWRsaW5lKWkoc2hvdWxkKTExMTAKKzEwNjYgeShuZXYpbShlcikzMSBiKGFzay4pNDEgYihUaGUpMjkgYihkZWZhdWx0KWkobGltaXQpZyhpcylnCitGcygxMDApcCBGdCguKTYzMCAxMjMwIHkgRnMoY29udmVydC1tZXRhKTExMTAgMTM0MCB5CitGdChJZikyMiBiKHNldClnKHRvKWgoYClwIEZzKG9uKXAgRnQoJywpaChSZWFkbGluZSlmKHdpbGwpZihjb24pbSh2KW0KKyhlcnQpaShjKW0oaGFyYWN0ZXJzKWYod2l0aClmKHRoZSlnKGVpZ2gpbSh0aCloKGJpdClmKHNldCkxMTEwCisxNDUwIHkodG8pMzMgYihhbillIEZsKGFzY2kpcihpKWggRnQoayltKGV5KWgoc2VxdWVuY2UpZihiKW0oeSlnCisoc3RyaXBwaW5nKWYodGhlKWgoZWlnaCltKHRoKWgoYml0KWYoYW5kKWYocHJlXDAxNHhpbmcpMTExMAorMTU1OSB5KGFuKTI0IGIgRnMoRVNDKWcgRnQoYyltKGhhcmFjdGVyLClqKGNvbiltKHYpbShlcnRpbmcpZih0aGVtKWYKKyh0bylnKGEpZyhtZXRhLXByZVwwMTR4ZWQpZihrKW0oZXkpaChzZXF1ZW5jZS4pMTExMCAxNjY5Cit5KFRoZSkzMCBiKGRlZmF1bHQpZyh2KS01IGIoYWx1ZSkzMSBiKGlzKWcoYClwIEZzKG9uKXAKK0Z0KCcuKTYzMCAxODMzIHkgRnMoZGlzYWJsZS1jb21wbGV0aW9uKTExMTAgMTk0MyB5IEZ0KElmKTM2CitiKHNldCloKHRvKWgoYClwIEZzKE9uKXAgRnQoJywpZyhSZWFkbGluZSlmKHdpbGwpZyhpbmhpYml0KWYodyltKG9yZCloCisoY29tcGxldGlvbi4pNjAgYihDb21wbGV0aW9uKTExMTAgMjA1MiB5KGMpbShoYXJhY3RlcnMpMjgKK2Iod2lsbCllKGIpcyhlKWYoaW5zZXJ0ZWQpaChpbiltKHRvKWgodGhlKWcobGluZSlmKGFzKWcoaWYpZyh0aGV5KWgKKyhoYWQpZShiKXMoZWVuKWcobWFwcClzKGVkKTExMTAgMjE2MiB5KHRvKTMxIGIgRnMoc2VsZi1pbnNlcnQpcAorRnQoLikzOCBiKFRoZSkzMCBiKGRlZmF1bHQpZyhpcyloKGApcCBGcyhvZmYpcCBGdCgnLik2MzAKKzIzMjYgeSBGcyhlZGl0aW5nLW1vZGUpMTExMCAyNDM2IHkgRnQoVGhlKWQgRnMoZWRpdGluZy1tb2RlKWUKK0Z0KHYpLTUgYihhcmlhYmxlKTI5IGIoY29uKW0odHJvbHMpaCh3aGljKW0oaCllKGRlZmF1bHQpaChzZXQpaChvZillKGspCittKGV5KWkoYmluZC0pMTExMCAyNTQ1IHkoaW5ncykyNSBiKGlzKWcodXNlZC4pMzggYihCeSkyNgorYihkZWZhdWx0LClnKFJlYWRsaW5lKWcoc3RhcnRzKWYodXApZihpbiloKEVtYWNzKWcoZWRpdGluZyloKG1vKXMoZGUsKQorMTExMCAyNjU1IHkod2hlcmUpaih0aGUpZyhrKW0oZXlzdHJvayltKGVzKWkoYXJlKWUobW9zdCloKHNpbWlsYXIpZih0bykKK2goRW1hY3MuKTQwIGIoVGhpcykyOSBiKHYpLTUgYihhcmlhYmxlKTMwIGIoY2FuKTExMTAKKzI3NjUgeShiKXMoZSlnKHNldCloKHRvKWcoZWl0aGVyKWcoYClwIEZzKGVtYWNzKXAgRnQoJyllKG9yKWgoYClwCitGcyh2aSlwIEZ0KCcuKTYzMCAyOTI5IHkgRnMoZWNoby1jb250cm9sLWNoYXJhY3RlcnMpMTExMAorMzAzOSB5IEZ0KFdoZW4pZyhzZXQpaCh0bylnKGApcCBGcyhvbilwIEZ0KCcsKWYob24pZyhvcClzKGVyYXRpbmcpaAorKHN5c3RlbXMpZih0aGF0KWgoaW5kaWNhdGUpZyh0aGV5KWcoc3VwcClzKG9ydCkxMTEwIDMxNDgKK3koaXQsKWkocmVhZGxpbmUpZShlYyltKGhvKXMoZXMpaShhKWYoYyltKGhhcmFjdGVyKWgoY29ycmVzcClzKG9uZGluZylkCisodG8paihhKWYoc2lnbmFsKWcoZ2VuZXJhdGVkKTExMTAgMzI1OCB5KGZyb20pZSh0aGUpZyhrKW0oZXliKXMob2FyZC4pCis0MSBiKFRoZSkzMCBiKGRlZmF1bHQpZyhpcyloKGApcCBGcyhvbilwIEZ0KCcuKTYzMCAzNDIyCit5IEZzKGVuYWJsZS1rZXlwYWQpMTExMCAzNTMyIHkgRnQoV2hlbikyMyBiKHNldCloKHRvKWcoYClwCitGcyhvbilwIEZ0KCcsKWgoUmVhZGxpbmUpZih3aWxsKWcodHJ5KWYodG8paChlbmFibGUpZyh0aGUpZgorKGFwcGxpY2F0aW9uKWkoayltKGV5cGFkKTExMTAgMzY0MSB5KHdoZW4paChpdCloKGlzKWYoY2FsbGVkLik0MQorYihTb21lKTI3IGIoc3lzdGVtcylmKG5lZWQpaCh0aGlzKWYodG8paChlbmFibGUpZyh0aGUpZyhhcnJvKW0odylnKGspbQorKGV5cy4pMTExMCAzNzUxIHkoVGhlKWooZGVmYXVsdClnKGlzKWgoYClwIEZzKG9mZilwIEZ0KCcuKTYzMAorMzkxNSB5IEZzKGVuYWJsZS1tZXRhLWtleSkxMTEwIDQwMjUgeSBGdChXaGVuKTQwIGIoc2V0KWcodG8pZyhgKXAKK0ZzKG9uKXAgRnQoJywpaihSZWFkbGluZSlkKHdpbGwpZyh0cnkpZyh0bylnKGVuYWJsZSlnKGFuKW0oeSlnKG1ldGEpaAorKG1vKXMoZGlcMDE0ZXIpMTExMCA0MTM0IHkoayltKGV5KWkodGhlKWUodGVybWluYWwpaShjbGFpbXMpZih0byloCisoc3VwcClzKG9ydClkKHdoZW4paChpdCloKGlzKWcoY2FsbGVkLik3NiBiKE9uKTQxIGIobWFuKW0oeSkxMTEwCis0MjQ0IHkodGVybWluYWxzLCljKHRoZSllKG1ldGEpaChrKW0oZXkpZyhpcylmKHVzZWQpZyh0byloKHNlbmQpZShlaWdoKQorbSh0LWJpdClqKGMpbShoYXJhY3RlcnMuKTU2IGIoVGhlKTExMTAgNDM1NCB5KGRlZmF1bHQpMzEKK2IoaXMpZihgKXAgRnMob24pcCBGdCgnLik2MzAgNDUxOCB5IEZzKGV4cGFuZC10aWxkZSkxMTEwCis0NjI4IHkgRnQoSWYpZChzZXQpaCh0byloKGApcCBGcyhvbilwIEZ0KCcsKWYodGlsZGUpZyhleHBhbnNpb24pZyhpcylmCisocClzKGVyZm9ybWVkKWYod2hlbiloKFJlYWRsaW5lKWgoYXR0ZW1wdHMpMTExMCA0NzM3Cit5KHcpbShvcmQpaShjb21wbGV0aW9uLik0MiBiKFRoZSkzMCBiKGRlZmF1bHQpZyhpcyloKGApcAorRnMob2ZmKXAgRnQoJy4pNjMwIDQ5MDIgeSBGcyhoaXN0b3J5LXByZXNlcnZlLXBvaW50KTExMTAKKzUwMTEgeSBGdChJZik0MSBiKHNldCloKHRvKWgoYClwIEZzKG9uKXAgRnQoJywpaSh0aGUpYyhoaXN0b3J5KWgoY28pcworKGRlKWcoYXR0ZW1wdHMpaCh0bylmKHBsYWNlKWgodGhlKWYocClzKG9pbiltKHQpZihcKHRoZSkxMTEwCis1MTIxIHkoY3VycmVuKW0odCkzNSBiKGN1cnNvcilnKHApcyhvc2l0aW9uXCkpZyhhdCloKHRoZSlnKHNhbWUpZihsbylzCisoY2F0aW9uKWkob24pZShlYWMpbShoKWgoaGlzdG9yeSlnKGxpbmUpMTExMCA1MjMwIHkocmV0cmlldiltKGVkKWgKKyh3aXRoKWYgRnMocHJldmlvdXMtaGlzdG9yeSljIEZ0KG9yKTM3IGIgRnMobmV4dC1oaXN0b3J5KXAKK0Z0KC4pNTUgYihUaGUpMzYgYihkZWZhdWx0KTExMTAgNTM0MCB5KGlzKTMwIGIoYClwIEZzKG9mZilwCitGdCgnLilwIGVvcCBlbmQKICUlUGFnZTogMTAxIDEwNwogVGVYRGljdCBiZWdpbiAxMDEgMTA2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig4Oik0MQotYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDEwMSk2MzAgMjk5IHkodGhlKTM1Ci1iKGspbShleSlnKGNhbilnKGIpcyhlKWYoZXhwcmVzc2VkKWYoaW4paShkaVwwMTNlcmVuKW0odClnKHcpbShhKW0oeXMsKQotaChkZXApcyhlbmRpbmcpZChvbiloKHdoYXQpaCh5KW0ob3UpZyhcMDE0bmQpZShtb3N0KTYzMAotNDA4IHkoY29tZm9ydGFibGUuKTYzMCA1MzggeShJbilpKGFkZGl0aW9uKWgodG8paChjb21tYW5kKWYobmFtZXMsKWkKLShyZWFkbGluZSllKGFsbG8pbSh3cyloKGspbShleXMpZyh0bylnKGIpcyhlKWUoYilzKG91bmQpZih0bylqKGEpZgotKHN0cmluZyk2MzAgNjQ4IHkodGhhdCkzMSBiKGlzKWYoaW5zZXJ0ZWQpaCh3aGVuKWUodGhlKWkoayltKGV5KWcoaXMpZgotKHByZXNzZWQpZyhcKGEpaCBGcShtYWNybyk1IGIgRnQoXCkuKTYzMCA3NzggeShUaGUpNDIKLWIgRnMoYmluZCkzMCBiKC1wKTQyIGIgRnQoY29tbWFuZCloKGRpc3BsYSltKHlzKWcoUmVhZGxpbmUpZyhmdW5jdGlvbilnCi0obmFtZXMpZyhhbmQpZihiaW5kaW5ncylnKGluKWgoYSk2MzAgODg3IHkoZm9ybWF0KTM3Ci1iKHRoYXQpaChjYW4pZihwdXQpZihkaXJlY3RseSlpKGluKW0odG8pZyhhbilmKGluaXRpYWxpemF0aW9uKWoKLShcMDE0bGUuKTYwIGIoU2VlKTM4IGIoU2VjdGlvbilmKDQuMilpKFtCYXNoKTYzMCA5OTcKLXkoQnVpbHRpbnNdLCkzMSBiKHBhZ2UpZyg0MS4pNjMwIDExNDcgeSBGcShrKW0oZXluYW1lKTUKLWIgRnQoOik0MiBiIEZxKGZ1bmN0aW9uLW5hbWUpMzUgYiBGdChvciljIEZxKG1hY3JvKTExMTAKLTEyNTcgeShrKW0oZXluYW1lKWsgRnQoaXMpMjkgYih0aGUpZihuYW1lKWgob2YpZyhhKWcoayltKGV5KWgoc3ApcwotKGVsbGVkKWUob3V0KWgoaW4pZyhFbmdsaXNoLikzOSBiKEYpLTggYihvcikzMCBiKGV4YW1wbGU6KTEzNTAKLTEzODcgeSBGcyhDb250cm9sLXU6KTQ1IGIodW5pdmVyc2FsLWFyZ3VtZW50KTEzNTAgMTQ5NgoteShNZXRhLVJ1Ym91dDopZihiYWNrd2FyZC1raWxsLXdvcmQpMTM1MCAxNjA2IHkoQ29udHJvbC1vOiloKCI+KWkKLShvdXRwdXQiKTExMTAgMTczNiB5IEZ0KEluKTM4IGIodGhlKWgoYWIpcyhvKW0odiltKGUpaChleGFtcGxlLCloCi1GaShDLXUpZCBGdChpcyloKGIpcyhvdW5kKWQodG8payh0aGUpZShmdW5jdGlvbiloIEZzKHVuaXZlcnNhbC0pMTExMAotMTg0NSB5KGFyZ3VtZW50KXAgRnQoLClmIEZpKE0tREVMKWUgRnQoaXMpaShiKXMob3VuZCllKHRvKWkodGhlKWcKLShmdW5jdGlvbilnIEZzKGJhY2t3YXJkLWtpbGwtd29yZClwIEZ0KCwpMTExMCAxOTU1IHkoYW5kKWcKLUZpKEMtbylnIEZ0KGlzKWgoYilzKG91bmQpZSh0bylqKHJ1bilkKHRoZSlqKG1hY3JvKWYoZXhwcmVzc2VkKWcob24pZgotKHRoZSlpKHJpZ2gpbSh0KWYoaGFuZCkxMTEwIDIwNjQgeShzaWRlKTMwIGIoXCh0aGF0KWkoaXMsKWUodG8paAotKGluc2VydClnKHRoZSlmKHRleHQpaShgKXAgRnMoPillKG91dHB1dClwIEZ0KCcpZihpbiltKHRvKWkodGhlKWcKLShsaW5lXCkuKTExMTAgMjE5NCB5KEEpMzcgYihuKW0odW0pbShiKXMoZXIpZihvZiloKHN5bSltKGIpcyhvbGljKWcoYyltCi0oaGFyYWN0ZXIpaShuYW1lcyllKGFyZSlnKHJlY29nbml6ZWQpaCh3aGlsZSlmKHByby0pMTExMAotMjMwNCB5KGNlc3NpbmcpMjIgYih0aGlzKWcoayltKGV5KWcoYmluZGluZyllKHN5biltKHRheDopMzcKLWIgRnEoREVMKXAgRnQoLCkyMiBiIEZxKEVTQyk4IGIgRnQoLCkyMCBiIEZxKEVTQ0FQRSk1Ci1iIEZ0KCwpMjEgYiBGcShMRkQpNSBiIEZ0KCwpMjIgYiBGcShORVctKTExMTAgMjQxNCB5KExJTkUpNQotYiBGdCgsKTMxIGIgRnEoUkVUKTcgYiBGdCgsKTI5IGIgRnEoUkVUVVJOKTEwIGIgRnQoLCkzMAotYiBGcShSKW0oVUJPVVQpNyBiIEZ0KCwpMzEgYiBGcShTUCktOCBiKEEpbShDRSk1IGIgRnQoLCkzMQotYiBGcShTUEMpOCBiIEZ0KCwpMjkgYihhbmQpaCBGcShUKS04IGIoQUIpNSBiIEZ0KC4pNjMwCi0yNTY0IHkgRnMoIilwIEZxKGspbShleXNlcSlyIEZzKCIpcCBGdCg6KTQxIGIgRnEoZnVuY3Rpb24tbmFtZSkzNgotYiBGdChvcikzMCBiIEZxKG1hY3JvKTExMTAgMjY3MyB5KGspbShleXNlcSlrIEZ0KGRpXDAxM2VycylkKGZyb20pZgotRnEoayltKGV5bmFtZSkzNyBiIEZ0KGFiKXMobyltKHYpbShlKTMyIGIoaW4pZih0aGF0KWgoc3RyaW5ncylmCi0oZGVub3RpbmcpZyhhbilnKGVuLSkxMTEwIDI3ODMgeSh0aXJlKWooayltKGV5KWgoc2VxdWVuY2UpZihjYW4pZyhiKXMKLShlKWYoc3ApcyhlY2lcMDE0ZWQsKWgoYiltKHkpZihwbGFjaW5nKWkodGhlKWYoayltKGV5KWcoc2VxdWVuY2UpZyhpbikKLTExMTAgMjg5MiB5KGRvdWJsZSkyOSBiKHF1b3Rlcy4pNDEgYihTb21lKTI5IGIgRmwoZ251KWgKLUZ0KEVtYWNzKWYoc3QpbSh5bGUpaShrKW0oZXkpZihlc2NhcClzKGVzKWcoY2FuKWcoYilzKGUpZih1c2VkLClnKGFzKQotMTExMCAzMDAyIHkoaW4payh0aGUpaChmb2xsbyltKHdpbmcpaShleGFtcGxlLClmKGJ1dCllKHRoZSloKHNwKXMKLShlY2lhbCloKGMpbShoYXJhY3RlcilnKG5hbWVzKWYoYXJlKWcobm90KTExMTAgMzExMiB5KHJlY29nbml6ZWQuKTEzNTAKLTMyNDIgeSBGcygiXFxDLXUiOik0NiBiKHVuaXZlcnNhbC1hcmd1bWVudCkxMzUwIDMzNTEKLXkoIlxcQy14XFxDLXIiOilmKHJlLXJlYWQtaW5pdC1maWxlKTEzNTAgMzQ2MSB5KCJcXGVbMTF+IjopZygiRnVuY3Rpb24pCi1oKEtleSlnKDEiKTExMTAgMzU5MSB5IEZ0KEluKTY0IGIodGhlKWcoYWIpcyhvKW0odiltKGUpaShleGFtcGxlLCk3NAotYiBGaShDLXUpNjQgYiBGdChpcylnKGFnYWluKWkoYilzKG91bmQpYyh0bylrKHRoZSllKGZ1bmN0aW9uKTExMTAKLTM3MDAgeSBGcyh1bml2ZXJzYWwtYXJndW1lbnQpMzkgYiBGdChcKGp1c3QpayhhcyloKGl0KWcodyltKGFzKWcoaW4pZwotKHRoZSlmKFwwMTRyc3QpZyhleGFtcGxlXCksKTQ5IGIoYClwIEZpKEMteCkxMTEwIDM4MTAKLXkoQy1yKXAgRnQoJykzMCBiKGlzKWcoYilzKG91bmQpZSh0bylqKHRoZSlnKGZ1bmN0aW9uKWYKLUZzKHJlLXJlYWQtaW5pdC1maWxlKXAgRnQoLCljKGFuZClqKGApcCBGcyhFU0MpaChbKWcoMSlnKDEpMTExMAotMzkxOSB5KH4pcCBGdCgnKWcoaXMpaChiKXMob3VuZClkKHRvKWooaW5zZXJ0KWYodGhlKWgodGV4dClnKGApcAotRnMoRnVuY3Rpb24pZShLZXkpZygxKXAgRnQoJy4pNjMwIDQwNzAgeShUaGUpZyhmb2xsbyltKHdpbmcpaQotRmwoZ251KWYgRnQoRW1hY3MpZyhzdCltKHlsZSloKGVzY2FwKXMoZSlmKHNlcXVlbmNlcylnKGFyZSlnKGEpbSh2KS01Ci1iKGFpbGFibGUpMzIgYih3aGVuKWQoc3ApcyhlY2lmeWluZyk2MzAgNDE3OSB5KGspbShleSlpKHNlcXVlbmNlczopNjMwCi00MzI5IHkgRmkoXFxDLSkzMzYgYiBGdChjb24pbSh0cm9sKTMyIGIocHJlXDAxNHgpNjMwCi00NDc5IHkgRmkoXFxNLSkzMzYgYiBGdChtZXRhKTMxIGIocHJlXDAxNHgpNjMwIDQ2MzAgeQotRmkoXFxlKTM4NCBiIEZ0KGFuKTMwIGIoZXNjYXApcyhlKWgoYyltKGhhcmFjdGVyKTYzMAotNDc4MCB5IEZpKFxcXFwpMzg0IGIgRnQoYmFjKW0oa3NsYXNoKTYzMCA0OTMwIHkgRmkoXFwpcAotRnMoIilnKCIpcCBGdCgsKTMwIGIoYSloKGRvdWJsZSlmKHF1b3RhdGlvbilpKG1hcmspNjMwCi01MDgwIHkgRmkoXFwnKTM4NCBiIEZzKCcpcCBGdCgsKTMwIGIoYSloKHNpbmdsZSlnKHF1b3RlKWcob3IpZihhcClzCi0ob3N0cm9waGUpNjMwIDUyMzAgeShJbilkKGFkZGl0aW9uKWgodG8pZyh0aGUpZyBGbChnbnUpZgotRnQoRW1hY3MpaChzdCltKHlsZSloKGVzY2FwKXMoZSlmKHNlcXVlbmNlcywpaChhKWYoc2Vjb25kKWYoc2V0KWgob2YpZwotKGJhYyltKGtzbGFzaCk2MzAgNTM0MCB5KGVzY2FwKXMoZXMpaihpcylmKGEpbSh2KS01IGIoYWlsYWJsZTopcAotZW9wIGVuZAorYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDEwMSk2MzAgMjk5IHkgRnMoaGlzdG9yeS1zaXplKTExMTAKKzQwOCB5IEZ0KFNldCkzOSBiKHRoZSlnKG1heGltKW0odW0pZyhuKW0odW0pbShiKXMoZXIpZihvZiloKGhpc3RvcnkpZworKGVuKW0odHJpZXMpaChzYSltKHYpbShlZClnKGluKWYodGhlKWcoaGlzdG9yeSkxMTEwIDUxOAoreShsaXN0Lik1MyBiKElmKTM0IGIoc2V0KWgodG8pZyh6ZXJvLClpKHRoZSlkKG4pbSh1bSltKGIpcyhlcilnKG9mKWcKKyhlbiltKHRyaWVzKWgoaW4pZih0aGUpaChoaXN0b3J5KWYobGlzdCloKGlzKWcobm90KTExMTAKKzYyOCB5KGxpbWl0ZWQuKTYzMCA3NzggeSBGcyhob3Jpem9udGFsLXNjcm9sbC1tb2RlKTExMTAKKzg4OCB5IEZ0KFRoaXMpZyh2KS01IGIoYXJpYWJsZSkzNyBiKGNhbilmKGIpcyhlKWYoc2V0KWgodG8paChlaXRoZXIpZgorKGApcCBGcyhvbilwIEZ0KCcpZyhvcilnKGApcCBGcyhvZmYpcCBGdCgnLik1NyBiKFNldHRpbmcpMzYKK2IoaXQpZyh0byloKGApcCBGcyhvbilwIEZ0KCcpMTExMCA5OTggeShtZWFucykyNiBiKHRoYXQpaCh0aGUpZih0ZXh0KWgKKyhvZilnKHRoZSlmKGxpbmVzKWcoYilzKGVpbmcpZyhlZGl0ZWQpaCh3aWxsKWYoc2Nyb2xsKWgoaG9yaXpvbiltCisodGFsbHkpMTExMCAxMTA3IHkob24pMzIgYihhKWcoc2luZ2xlKWcoc2NyZWVuKWcobGluZSlnKHdoZW4pZSh0aGV5KWkKKyhhcmUpZyhsb25nZXIpaCh0aGFuKWUodGhlKWgod2lkdGgpZihvZiloKHRoZSkxMTEwIDEyMTcKK3koc2NyZWVuLCkyNyBiKGluc3RlYWQpZyhvZilmKHdyYXBwaW5nKWYob24pbSh0bylpKGEpZihuZXcpZyhzY3JlZW4pZworKGxpbmUuKTM5IGIoQnkpMjcgYihkZWZhdWx0LClnKHRoaXMpMTExMCAxMzI2IHkodiktNQorYihhcmlhYmxlKTMxIGIoaXMpZyhzZXQpZih0bylpKGApcCBGcyhvZmYpcCBGdCgnLik2MzAKKzE0NzcgeSBGcyhpbnB1dC1tZXRhKTExMTAgMTU4NyB5IEZ0KElmKWYoc2V0KWcodG8paChgKXAKK0ZzKG9uKXAgRnQoJywpZyhSZWFkbGluZSlnKHdpbGwpZihlbmFibGUpaChlaWdoKW0odC1iaXQpaChpbnB1dClkKFwoaXQpCitpKHdpbGwpZihub3QpaChjbGVhcikxMTEwIDE2OTYgeSh0aGUpNDAgYihlaWdoKW0odGgpZyhiaXQpZyhpbilmKHRoZSloCisoYyltKGhhcmFjdGVycyloKGl0KWYocmVhZHNcKSwpaihyZWdhcmRsZXNzKWMob2YpaCh3aGF0KWcodGhlKTExMTAKKzE4MDYgeSh0ZXJtaW5hbClnKGNsYWltcyloKGl0KWcoY2FuKWYoc3VwcClzKG9ydC4pNjgKK2IoVGhlKTM5IGIoZGVmYXVsdCloKHYpLTUgYihhbHVlKTQwIGIoaXMpZyhgKXAgRnMob2ZmKXAKK0Z0KCcuKTY5IGIoVGhlKTExMTAgMTkxNSB5KG5hbWUpMzAgYiBGcyhtZXRhLWZsYWcpZSBGdChpcylqKGEpZihzeW5vbiltCisoeW0pZyhmb3IpZyh0aGlzKWgodiktNSBiKGFyaWFibGUuKTYzMCAyMDY2IHkgRnMoaXNlYXJjaC10ZXJtaW5hdG9ycykKKzExMTAgMjE3NiB5IEZ0KFRoZSk1MSBiKHN0cmluZyloKG9mKWcoYyltKGhhcmFjdGVycyloKHRoYXQpZihzaG91bGQpZQorKHRlcm1pbmF0ZSlqKGFuKWYoaW5jcmVtZW4pbSh0YWwpMTExMCAyMjg1IHkoc2VhcmMpbShoKTI1CitiKHdpdGhvdXQpZyhzdWJzZXF1ZW4pbSh0bHkpZyhleGVjdXRpbmcpaCh0aGUpZihjKW0oaGFyYWN0ZXIpaChhcylmKGEpZworKGNvbW1hbmQpMTExMCAyMzk1IHkoXChzZWUpNDIgYihTZWN0aW9uKWYoOC4yLjUpaShbU2VhcmMpbShoaW5nXSwpaQorKHBhZ2UpYyg5N1wpLik3MyBiKElmKTQxIGIodGhpcylnKHYpLTUgYihhcmlhYmxlKTQxIGIoaGFzKWcobm90KTExMTAKKzI1MDQgeShiKXMoZWVuKTM1IGIoZ2l2KW0oZW4paChhKWcodiktNSBiKGFsdWUsKTM3IGIodGhlKWYoYyltCisoaGFyYWN0ZXJzKWggRnMoRVNDKWQgRnQoYW5kKWggRmkoQy1KKWcgRnQod2lsbCloKHRlcm1pbmF0ZSlnKGFuKTExMTAKKzI2MTQgeShpbmNyZW1lbiltKHRhbCljKHNlYXJjKW0oaC4pNjMwIDI3NjUgeSBGcyhrZXltYXApMTkyCitiIEZ0KFNldHMpMzkgYihSZWFkbGluZSdzKWcoaWRlYSloKG9mKWYodGhlKWcoY3VycmVuKW0odClmKGspbShleW1hcCloCisoZm9yKWcoayltKGV5KWcoYmluZGluZylmKGNvbS0pMTExMCAyODc0IHkobWFuZHMuKTgxCitiKEFjY2VwdGFibGUpNDcgYiBGcyhrZXltYXApNDIgYiBGdChuYW1lcylpKGFyZSloIEZzKGVtYWNzKXAKK0Z0KCwpaSBGcyhlbWFjcy1zdGFuZGFyZClwIEZ0KCwpMTExMCAyOTg0IHkgRnMoZW1hY3MtbWV0YSlwCitGdCgsKTk5IGIgRnMoZW1hY3MtY3RseClwIEZ0KCwpZiBGcyh2aSlwIEZ0KCwpaiBGcyh2aS1tb3ZlKXAKK0Z0KCwpZiBGcyh2aS1jb21tYW5kKXAgRnQoLClmKGFuZCkxMTEwIDMwOTMgeSBGcyh2aS1pbnNlcnQpcAorRnQoLik2NCBiIEZzKHZpKTM4IGIgRnQoaXMpaChlcXVpdiktNSBiKGFsZW4pbSh0KTQxIGIodG8pZQorRnModmktY29tbWFuZClwIEZ0KDspaSBGcyhlbWFjcyljIEZ0KGlzKWkoZXF1aXYpLTUgYihhbGVuKW0odCkxMTEwCiszMjAzIHkodG8pMzMgYiBGcyhlbWFjcy1zdGFuZGFyZClwIEZ0KC4pNDEgYihUaGUpMzEgYihkZWZhdWx0KWgodiktNQorYihhbHVlKTMyIGIoaXMpZyBGcyhlbWFjcylwIEZ0KC4pNDQgYihUaGUpMzEgYih2KS01IGIoYWx1ZSkzMworYihvZilmKHRoZSkxMTEwIDMzMTMgeSBGcyhlZGl0aW5nLW1vZGUpMjcgYiBGdCh2KS01IGIoYXJpYWJsZSkzMQorYihhbHNvKWgoYVwwMTNlY3RzKWYodGhlKWcoZGVmYXVsdClmKGspbShleW1hcC4pNjMwIDM0NjMKK3kgRnMobWFyay1kaXJlY3RvcmllcykxMTEwIDM1NzMgeSBGdChJZikzOCBiKHNldClnKHRvKWgoYClwCitGcyhvbilwIEZ0KCcsKWkoY29tcGxldGVkKWUoZGlyZWN0b3J5KWYobmFtZXMpZyhoYSltKHYpbShlKWkoYSllKHNsYXNoKQorZyhhcHApcyhlbmRlZC4pMTExMCAzNjgyIHkoVGhlKTMwIGIoZGVmYXVsdClnKGlzKWgoYClwCitGcyhvbilwIEZ0KCcuKTYzMCAzODMzIHkgRnMobWFyay1tb2RpZmllZC1saW5lcykxMTEwCiszOTQzIHkgRnQoVGhpcylrKHYpLTUgYihhcmlhYmxlLCkzOCBiKHdoZW4pZChzZXQpaCh0byloKGApcAorRnMob24pcCBGdCgnLClnKGNhdXNlcylnKFJlYWRsaW5lKWYodG8paChkaXNwbGEpbSh5KWYoYW4pZihhcy0pMTExMAorNDA1MiB5KHRlcmlzaylmKFwoYClwIEZzKCopcCBGdCgnXCkpaChhdClmKHRoZSlnKHN0YXJ0KWcob2YpZyhoaXN0b3J5KWcKKyhsaW5lcylnKHdoaWMpbShoKWYoaGEpbSh2KW0oZSlpKGIpcyhlZW4pZShtbylzKGRpXDAxNGVkLikxMTEwCis0MTYyIHkoVGhpcylkKHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZihgKXAgRnMob2ZmKXAgRnQoJylnKGIpbSh5KWcKKyhkZWZhdWx0Lik2MzAgNDMxMyB5IEZzKG1hcmstc3ltbGlua2VkLWRpcmVjdG9yaSlvKGVzKTExMTAKKzQ0MjIgeSBGdChJZik0NCBiKHNldCloKHRvKWgoYClwIEZzKG9uKXAgRnQoJywpaShjb21wbGV0ZWQpZShuYW1lcylmCisod2hpYyltKGgpZihhcmUpaChzeW0pbShiKXMob2xpYylnKGxpbmtzKWcodG8pZyhkaS0pMTExMAorNDUzMiB5KHJlY3RvcmllcylqKGhhKW0odiltKGUpZihhKWcoc2xhc2gpZihhcHApcyhlbmRlZCllKFwoc3ViKTUKK2IoamVjdCk0NyBiKHRvKWcodGhlKWYodiktNSBiKGFsdWUpNDcgYihvZilmIEZzKG1hcmstKTExMTAKKzQ2NDEgeShkaXJlY3RvcmllcylwIEZ0KFwpLikzOCBiKFRoZSkzMCBiKGRlZmF1bHQpZyhpcyloKGApcAorRnMob2ZmKXAgRnQoJy4pNjMwIDQ3OTIgeSBGcyhtYXRjaC1oaWRkZW4tZmlsZXMpMTExMAorNDkwMiB5IEZ0KFRoaXMpMjEgYih2KS01IGIoYXJpYWJsZSwpMjUgYih3aGVuKWQoc2V0KWcodG8paChgKXAKK0ZzKG9uKXAgRnQoJywpaChjYXVzZXMpZihSZWFkbGluZSlnKHRvKWcobWF0YyltKGgpZyhcMDE0bGVzKWYod2hvc2UpCisxMTEwIDUwMTEgeShuYW1lcyk0NCBiKGIpcyhlZ2luKWcod2l0aClnKGEpZyhgKXAgRnMoLilwCitGdCgnKWcoXChoaWRkZW4pZihcMDE0bGVzXCkpaSh3aGVuKWUocClzKGVyZm9ybWluZylnKFwwMTRsZW5hbWUpMTExMAorNTEyMSB5KGNvbXBsZXRpb24uKTc1IGIoSWYpNDEgYihzZXQpZyh0byloKGApcCBGcyhvZmYpcAorRnQoJywpaSh0aGUpZShsZWFkaW5nKWcoYClwIEZzKC4pcCBGdCgnKWYobSltKHVzdClnKGIpcyhlKWcoc3VwcGxpZWQpZgorKGIpbSh5KTExMTAgNTIzMCB5KHRoZSkzNCBiKHVzZXIpZyhpbilnKHRoZSlnKFwwMTRsZW5hbWUpZyh0byloKGIpcyhlKWYKKyhjb21wbGV0ZWQuKTUzIGIoVGhpcykzMyBiKHYpLTUgYihhcmlhYmxlKTM1IGIoaXMpZihgKXAKK0ZzKG9uKXAgRnQoJylnKGIpbSh5KTExMTAgNTM0MCB5KGRlZmF1bHQuKXAgZW9wIGVuZAogJSVQYWdlOiAxMDIgMTA4CiBUZVhEaWN0IGJlZ2luIDEwMiAxMDcgYm9wIDE1MCAtMTE2IGEgRnQoMTAyKTI1MjcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkgRnMoXFxhKTM4NCBiIEZ0KGFsZXJ0KTMxCi1iKFwoYilzKGVsbFwpKTYzMCA0NjAgeSBGcyhcXGIpMzg0IGIgRnQoYmFjKW0oa3NwYWNlKTYzMAotNjIxIHkgRnMoXFxkKWcgRnQoZGVsZXRlKTYzMCA3ODIgeSBGcyhcXGYpZyBGdChmb3JtKTMwCi1iKGZlZWQpNjMwIDk0MyB5IEZzKFxcbikzODQgYiBGdChuZXdsaW5lKTYzMCAxMTA0IHkgRnMoXFxyKWcKLUZ0KGNhcnJpYWdlKTMyIGIocmV0dXJuKTYzMCAxMjY2IHkgRnMoXFx0KTM4NCBiIEZ0KGhvcml6b24pbSh0YWwpMzIKLWIodGFiKTYzMCAxNDI3IHkgRnMoXFx2KTM4NCBiIEZ0KHYpbShlcnRpY2FsKTMyIGIodGFiKTYzMAotMTU4OCB5IEZzKFxcKXAgRmkobm5uKTI4OCBiIEZ0KHRoZSkzNSBiKGVpZ2gpbSh0LWJpdCloKGMpbShoYXJhY3RlcilnCi0od2hvc2UpZSh2KS01IGIoYWx1ZSkzNSBiKGlzKWcodGhlKWYobylzKGN0YWwpaSh2KS01Ci1iKGFsdWUpMzUgYiBGcShubm4pZSBGdChcKG9uZSlpKHRvKTExMTAgMTY5NyB5KHRocmVlKWMoZGlnaXRzXCkpNjMwCi0xODU4IHkgRnMoXFx4KXAgRmkoSEgpMjg4IGIgRnQodGhlKTQwIGIoZWlnaCltKHQtYml0KWgoYyltKGhhcmFjdGVyKWcKLSh3aG9zZSllKHYpLTUgYihhbHVlKTM5IGIoaXMpaCh0aGUpZihoZXhhZGVjaW1hbClpKHYpLTUKLWIoYWx1ZSk0MCBiIEZxKEhIKTExMTAgMTk2OCB5IEZ0KFwob25lKTMxIGIob3IpZih0KW0odyltKG8paShoZXgpZQotKGRpZ2l0c1wpKTYzMCAyMTI5IHkoV2hlbikzNyBiKGVuKW0odGVyaW5nKWgodGhlKWcodGV4dClnKG9mKWcoYSlnCi0obWFjcm8sKWkoc2luZ2xlKWUob3IpZihkb3VibGUpZyhxdW90ZXMpaChtKW0odXN0KWYoYilzKGUpZyh1c2VkKWYodG8pCi02MzAgMjIzOSB5KGluZGljYXRlKTIzIGIoYSllKG1hY3JvKWgoZGVcMDE0bml0aW9uLikzOAotYihVbnF1b3RlZCkyMSBiKHRleHQpaShpcyllKGFzc3VtZWQpZyh0byloKGIpcyhlKWYoYSloKGZ1bmN0aW9uKWYKLShuYW1lLikzOCBiKEluKTYzMCAyMzQ4IHkodGhlKTIyIGIobWFjcm8pZihiKXMobylzKGR5KS04Ci1iKCwpMjMgYih0aGUpZShiYWMpbShrc2xhc2gpaChlc2NhcClzKGVzKWcoZGVzY3JpYilzKGVkKWUoYWIpcyhvKW0odiltCi0oZSlqKGFyZSllKGV4cGFuZGVkLikzNyBiKEJhYyltKGtzbGFzaCk2MzAgMjQ1OCB5KHdpbGwpaihxdW90ZSloKGFuKW0KLSh5KWYob3RoZXIpZyhjKW0oaGFyYWN0ZXIpaShpbilkKHRoZSlpKG1hY3JvKWYodGV4dCwpayhpbmNsdWRpbmcpMzkKLWIoYClwIEZzKCIpcCBGdCgnKWgoYW5kKWcoYClwIEZzKCcpcCBGdCgnLik2OSBiKEYpLTgKLWIob3IpNjMwIDI1NjggeShleGFtcGxlLCkyOCBiKHRoZSllKGZvbGxvKW0od2luZyloKGJpbmRpbmcpZCh3aWxsKWkKLShtYWspbShlKWgoYClwIEZpKEMteClqIEZzKFxcKXAgRnQoJyljKGluc2VydClmKGEpaChzaW5nbGUpaChgKXAKLUZzKFxcKXAgRnQoJylmKGluKW0odG8pZyh0aGUpZyhsaW5lOik4NzAgMjcwMyB5IEZzKCJcXEMteFxcXFwiOik0NQotYigiXFxcXCIpMTUwIDI5MDQgeSBGaig4LjMuMik2MyBiKENvbmRpdGlvbmFsKTQxIGIoSW5pdClnKENvbnN0cnVjdHMpCi0xNTAgMzA1MSB5IEZ0KFJlYWRsaW5lKWMoaW1wbGVtZW4pbSh0cylnKGEpaChmYWNpbGl0KW0oeSlnKHNpbWlsYXIpZgotKGluKWcoc3Bpcml0KWYodG8paSh0aGUpZihjb25kaXRpb25hbCloKGNvbXBpbGF0aW9uKWcoZmVhdHVyZXMpZihvZikxNTAKLTMxNjAgeSh0aGUpMzEgYihDKWYocHJlcHJvKXMoY2Vzc29yKWcod2hpYyltKGgpZyhhbGxvKW0od3MpaShrKW0oZXkpZwotKGJpbmRpbmdzKWQoYW5kKWgodiktNSBiKGFyaWFibGUpMzIgYihzZXR0aW5ncylmKHRvKWgoYilzKGUpZShwKXMKLShlcmZvcm1lZClmKGFzKWkodGhlKTE1MCAzMjcwIHkocmVzdWx0KWYob2YpaCh0ZXN0cy4pNDEKLWIoVGhlcmUpMzAgYihhcmUpaChmb3VyKWYocGFyc2VyKWYoZGlyZWN0aXYpbShlcylqKHVzZWQuKTE1MAotMzQzMiB5IEZzKCRpZikzMzYgYiBGdChUaGUpMzEgYiBGcygkaWYpZiBGdChjb25zdHJ1Y3QpaShhbGxvKW0od3MpaAotKGJpbmRpbmdzKWQodG8paShiKXMoZSllKG1hZGUpaShiYXNlZClmKG9uKWcodGhlKWcoZWRpdGluZyloKG1vKXMoZGUsKWcKLSh0aGUpNjMwIDM1NDIgeSh0ZXJtaW5hbCkzOSBiKGIpcyhlaW5nKWUodXNlZCwpaihvcillKHRoZSlnCi0oYXBwbGljYXRpb24paCh1c2luZylmKFJlYWRsaW5lLik2NCBiKFRoZSkzOCBiKHRleHQpaChvZilmKHRoZSlnKHRlc3QpCi02MzAgMzY1MSB5KGV4dGVuZHMpMzAgYih0byloKHRoZSlnKGVuZClmKG9mKWcodGhlKWgobGluZTspZyhubylmKGMpbQotKGhhcmFjdGVycylpKGFyZSlmKHJlcXVpcmVkKWUodG8paShpc29sYXRlKWkoaXQuKTYzMAotMzgxMiB5IEZzKG1vZGUpMjg4IGIgRnQoVGhlKTIwIGIgRnMobW9kZT0pZyBGdChmb3JtKWcob2YpaCh0aGUpZwotRnMoJGlmKWYgRnQoZGlyZWN0aXYpbShlKWooaXMpZSh1c2VkKWYodG8paCh0ZXN0KWgod2hldGhlcillKFJlYWRsaW5lKQotMTExMCAzOTIyIHkoaXMpMjkgYihpbiloIEZzKGVtYWNzKWUgRnQob3IpaCBGcyh2aSlnIEZ0KG1vKXMoZGUuKTQwCi1iKFRoaXMpMjkgYihtYSltKHkpaChiKXMoZSllKHVzZWQpaChpbilnKGNvbmp1bmN0aW9uKWgod2l0aClmKHRoZSkxMTEwCi00MDMxIHkoYClwIEZzKHNldCloKGtleW1hcClwIEZ0KCcpYyhjb21tYW5kLClpKGZvcilmKGluc3RhbmNlLClpKHRvKWYKLShzZXQpZyhiaW5kaW5ncylmKGluKWcodGhlKWggRnMoZW1hY3MtKTExMTAgNDE0MSB5KHN0YW5kYXJkKTIzCi1iIEZ0KGFuZCloIEZzKGVtYWNzLWN0bHgpZiBGdChrKW0oZXltYXBzKWkob25seSlnKGlmKWcoUmVhZGxpbmUpaChpcylmCi0oc3RhcnRpbmcpaChvdXQpMTExMCA0MjUxIHkoaW4payBGcyhlbWFjcylmIEZ0KG1vKXMoZGUuKTYzMAotNDQxMiB5IEZzKHRlcm0pMjg4IGIgRnQoVGhlKTI2IGIgRnModGVybT0pZyBGdChmb3JtKWcobWEpbSh5KWkoYilzKGUpZQotKHVzZWQpZyh0bylpKGluY2x1ZGUpZih0ZXJtaW5hbC1zcClzKGVjaVwwMTRjKWcoayltKGV5KWgoYmluZC0pMTExMAotNDUyMSB5KGluZ3MsKTM4IGIocClzKGVyaGFwcyljKHRvKWooYmluZCllKHRoZSloKGspbShleSloKHNlcXVlbmNlcylmCi0ob3V0cHV0KWcoYiltKHkpZyh0aGUpZyh0ZXJtaW5hbCdzKTExMTAgNDYzMSB5KGZ1bmN0aW9uKTI0Ci1iKGspbShleXMuKTM5IGIoVGhlKTIzIGIodyltKG9yZCloKG9uKWYodGhlKWkocmlnaCltKHQpZihzaWRlKWcob2YpZwotKHRoZSlnKGApcCBGcyg9KXAgRnQoJylnKGlzKWcodGVzdGVkKWgoYWdhaW5zdCkxMTEwIDQ3NDEKLXkoYilzKG90aClrKHRoZSloKGZ1bGwpZyhuYW1lKWcob2YpZyh0aGUpZyh0ZXJtaW5hbCloKGFuZCllKHRoZSlpKHApcwotKG9ydGlvbillKG9mKWgodGhlKWcodGVybWluYWwpMTExMCA0ODUwIHkobmFtZSlrKGIpcyhlZm9yZSlmKHRoZSlnCi0oXDAxNHJzdClnKGApcCBGcygtKXAgRnQoJy4pNTAgYihUaGlzKTMzIGIoYWxsbyltKHdzKWkKLUZzKHN1billIEZ0KHRvKWgobWF0YyltKGgpZyhiKXMob3RoKWYgRnMoc3VuKWcgRnQoYW5kKTExMTAKLTQ5NjAgeSBGcyhzdW4tY21kKXAgRnQoLCljKGZvciloKGluc3RhbmNlLik2MzAgNTEyMSB5Ci1GcyhhcHBsaWNhdGlvbikxMTEwIDUyMzAgeSBGdChUaGUpMjEgYiBGcShhcHBsaWNhdGlvbilqCi1GdChjb25zdHJ1Y3QpZShpcylnKHVzZWQpZih0bylpKGluY2x1ZGUpZihhcHBsaWNhdGlvbi1zcClzKGVjaVwwMTRjKWgKLShzZXQtKTExMTAgNTM0MCB5KHRpbmdzLikzOSBiKEVhYyltKGgpMjYgYihwcm9ncmFtKWUodXNpbmcpZyh0aGUpaAotKFJlYWRsaW5lKWcobGlicmFyeSlnKHNldHMpZyh0aGUpZyBGcShhcHBsaWNhdGlvbilwIGVvcAotZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkgRnMobWVudS1jb21wbGV0ZS1kaXNwbGF5LXByKW8oZWZpeCkKKzExMTAgNDA4IHkgRnQoSWYpaShzZXQpaCh0bylnKGApcCBGcyhvbilwIEZ0KCcsKWgobWVuKW0odSllKGNvbXBsZXRpb24pCitpKGRpc3BsYSltKHlzKWUodGhlKWgoY29tbW9uKWcocHJlXDAxNHgpZShvZilpKHRoZSkxMTEwCis1MTggeShsaXN0KWsob2YpZyhwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zKWkoXCh3aGljKW0oaCllKG1hKW0oeSloKGIpcworKGUpZihlbXB0KW0oeVwpKWkoYilzKGVmb3JlKWUoY3ljbGluZykxMTEwIDYyOCB5KHRocm91Z2gpMzAKK2IodGhlKWcobGlzdC4pNDIgYihUaGUpMjkgYihkZWZhdWx0KWkoaXMpZihgKXAgRnMob2ZmKXAKK0Z0KCcuKTYzMCA3ODQgeSBGcyhvdXRwdXQtbWV0YSkxMTEwIDg5NCB5IEZ0KElmKTM1IGIoc2V0KWgodG8pZyhgKXAKK0ZzKG9uKXAgRnQoJywpaChSZWFkbGluZSlmKHdpbGwpZyhkaXNwbGEpbSh5KWYoYyltKGhhcmFjdGVycylpKHdpdGgpZQorKHRoZSloKGVpZ2gpbSh0aClnKGJpdCkxMTEwIDEwMDMgeShzZXQpaChkaXJlY3RseSlnKHJhdGhlcilmKHRoYW4pZyhhcykKK2goYSlnKG1ldGEtcHJlXDAxNHhlZClmKGVzY2FwKXMoZSloKHNlcXVlbmNlLik1OSBiKFRoZSkxMTEwCisxMTEzIHkoZGVmYXVsdCkzMSBiKGlzKWYoYClwIEZzKG9mZilwIEZ0KCcuKTYzMCAxMjcwCit5IEZzKHBhZ2UtY29tcGxldGlvbnMpMTExMCAxMzc5IHkgRnQoSWYpaihzZXQpaSh0bylmKGApcAorRnMob24pcCBGdCgnLCloKFJlYWRsaW5lKWcodXNlcyllKGFuKWgoaW4pbSh0ZXJuYWwpaAorRnMobW9yZSlwIEZ0KC1saWspbShlKWYocGFnZXIpZyh0byloKGRpc3BsYSltKHkpMTExMAorMTQ4OSB5KGEpZShzY3JlZW5mdWwpZihvZilnKHApcyhvc3NpYmxlKWcoY29tcGxldGlvbnMpaShhdClmKGEpZyh0aW1lLikKKzQ3IGIoVGhpcykzMSBiKHYpLTUgYihhcmlhYmxlKTM0IGIoaXMpZShgKXAgRnMob24pcCBGdCgnKTExMTAKKzE1OTggeShiKW0oeSllKGRlZmF1bHQuKTYzMCAxNzU1IHkgRnMocHJpbnQtY29tcGxldGlvbnMtaG9yaXpvKW8obnRhbClvCisobHkpMTExMCAxODY0IHkgRnQoSWYpMjMgYihzZXQpaSh0bylnKGApcCBGcyhvbilwIEZ0KCcsKWcoUmVhZGxpbmUpZworKHdpbGwpZihkaXNwbGEpbSh5KWcoY29tcGxldGlvbnMpaCh3aXRoKWYobWF0YyltKGhlcyloKHNvcnRlZCkxMTEwCisxOTc0IHkoaG9yaXpvbiltKHRhbGx5KTQ1IGIoaW4pZShhbHBoYWIpcyhldGljYWwpaShvcmRlciwpaShyYXRoZXIpYworKHRoYW4pZyhkbyltKHduKWcodGhlKWgoc2NyZWVuLikxMTEwIDIwODQgeShUaGUpMzAgYihkZWZhdWx0KWcoaXMpaChgKXAKK0ZzKG9mZilwIEZ0KCcuKTYzMCAyMjQwIHkgRnMocmV2ZXJ0LWFsbC1hdC1uZXdsaW5lKTExMTAKKzIzNTAgeSBGdChJZillKHNldCloKHRvKWcoYClwIEZzKG9uKXAgRnQoJywpZyhSZWFkbGluZSlnKHdpbGwpZyh1bmRvKWYKKyhhbGwpaChjKW0oaGFuZ2VzKWgodG8pZihoaXN0b3J5KWcobGluZXMpZihiKXMoZWZvcmUpMTExMAorMjQ1OSB5KHJldHVybmluZylmKHdoZW4pZiBGcyhhY2NlcHQtbGluZSlmIEZ0KGlzKWooZXhlY3V0ZWQuKTQxCitiKEJ5KTI5IGIoZGVmYXVsdCwpZyhoaXN0b3J5KWcobGluZXMpMTExMCAyNTY5IHkobWEpbSh5KTQyCitiKGIpcyhlKWcobW8pcyhkaVwwMTRlZCllKGFuZCloKHJldGFpbilpKGluZGl2aWR1YWwpZSh1bmRvKWcobGlzdHMpaAorKGFjcm9zcylnKGNhbGxzKWgodG8pMTExMCAyNjc5IHkgRnMocmVhZGxpbmUpcCBGdCguKTM4CitiKFRoZSkzMCBiKGRlZmF1bHQpaChpcylmKGApcCBGcyhvZmYpcCBGdCgnLik2MzAgMjgzNQoreSBGcyhzaG93LWFsbC1pZi1hbWJpZ3VvdXMpMTExMCAyOTQ1IHkgRnQoVGhpcylmKGFsdGVycylpKHRoZSlmCisoZGVmYXVsdClnKGIpcyhlaGEpbSh2aW9yKWcob2YpZyh0aGUpaChjb21wbGV0aW9uKWcoZnVuY3Rpb25zLik0MAorYihJZikyOSBiKHNldCkxMTEwIDMwNTQgeSh0bylmKGApcCBGcyhvbilwIEZ0KCcsKWcodyltKG9yZHMpZih3aGljKW0oaCkKK2coaGEpbSh2KW0oZSlpKG1vcmUpZih0aGFuKWYob25lKWgocClzKG9zc2libGUpZihjb21wbGV0aW9uKWgoY2F1c2UpCisxMTEwIDMxNjQgeSh0aGUpMzkgYihtYXRjKW0oaGVzKWgodG8pZyhiKXMoZSllKGxpc3RlZCloKGltbWVkaWF0ZWx5KWkKKyhpbnN0ZWFkKWUob2YpZyhyaW5naW5nKWcodGhlKWcoYilzKGVsbC4pMTExMCAzMjczIHkoVGhlKTMwCitiKGRlZmF1bHQpZyh2KS01IGIoYWx1ZSkzMSBiKGlzKWcoYClwIEZzKG9mZilwIEZ0KCcuKTYzMAorMzQzMCB5IEZzKHNob3ctYWxsLWlmLXVubW9kaWZpZWQpMTExMCAzNTQwIHkgRnQoVGhpcykzOAorYihhbHRlcnMpaCh0aGUpZyhkZWZhdWx0KWcoYilzKGVoYSltKHZpb3IpZyhvZilmKHRoZSloKGNvbXBsZXRpb24paAorKGZ1bmN0aW9ucyllKGluKWgoYSkxMTEwIDM2NDkgeShmYXNoaW9uKTI1IGIoc2ltaWxhcilnKHRvKWgKK0ZxKHNobyltKHctYWxsLWlmLWFtKW0oYmlndW91cyl0IEZ0KC4pNDEgYihJZikyNCBiKHNldClpKHRvKWYoYClwCitGcyhvbilwIEZ0KCcsKWkodyltKG9yZHMpZCh3aGljKW0oaCkxMTEwIDM3NTkgeShoYSltKHYpbShlKTMyCitiKG1vcmUpZih0aGFuKWYob25lKWkocClzKG9zc2libGUpZShjb21wbGV0aW9uKWkod2l0aG91dClmKGFuKW0oeSlnKHApcworKG9zc2libGUpZihwYXItKTExMTAgMzg2OCB5KHRpYWwpNDMgYihjb21wbGV0aW9uKWgoXCh0aGUpZihwKXMob3NzaWJsZSkKK2YoY29tcGxldGlvbnMpaChkb24ndClmKHNoYXJlKWcoYSloKGNvbW1vbikxMTEwIDM5NzgKK3kocHJlXDAxNHhcKSkzMCBiKGNhdXNlKWcodGhlKWgobWF0YyltKGhlcylnKHRvKWcoYilzKGUpZihsaXN0ZWQpZworKGltbWVkaWF0ZWx5KWkoaW5zdGVhZCllKG9mKWgocmluZy0pMTExMCA0MDg4IHkoaW5nKWcodGhlKWYoYilzKGVsbC4pNDEKK2IoVGhlKTMwIGIoZGVmYXVsdClnKHYpLTUgYihhbHVlKTMxIGIoaXMpZihgKXAgRnMob2ZmKXAKK0Z0KCcuKTYzMCA0MjQ0IHkgRnMoc2tpcC1jb21wbGV0ZWQtdGV4dCkxMTEwIDQzNTQgeSBGdChJZilpKHNldClpKHRvKWYKKyhgKXAgRnMob24pcCBGdCgnLCloKHRoaXMpZihhbHRlcnMpZyh0aGUpZyhkZWZhdWx0KWcoY29tcGxldGlvbiloKGIpcworKGVoYSltKHZpb3IpZih3aGVuKWYoaW4tKTExMTAgNDQ2MyB5KHNlcnRpbmcpZChhKWgoc2luZ2xlKWcobWF0YyltKGgpZgorKGluKW0odG8paCh0aGUpZyhsaW5lLik0MCBiKEl0J3MpMzAgYihvbmx5KWYoYWN0aXYpbShlKWkod2hlbilkKHApcworKGVyZm9ybS0pMTExMCA0NTczIHkoaW5nKTM1IGIoY29tcGxldGlvbiloKGluKWUodGhlKWgobWlkZGxlKWYob2YpaChhKWYKKyh3KW0ob3JkLik1MyBiKElmKTM1IGIoZW5hYmxlZCwpZyhyZWFkbGluZSlnKGRvKXMoZXMpMTExMAorNDY4MiB5KG5vdCk0MSBiKGluc2VydClmKGMpbShoYXJhY3RlcnMpaShmcm9tKWUodGhlKWgoY29tcGxldGlvbiloCisodGhhdClmKG1hdGMpbShoKWcoYyltKGhhcmFjdGVycykxMTEwIDQ3OTIgeShhZnRlciljKHApcyhvaW4pbSh0KWcoaW4pZworKHRoZSlnKHcpbShvcmQpZihiKXMoZWluZylnKGNvbXBsZXRlZCwpayhzbylkKHApcyhvcnRpb25zKWYob2YpaCh0aGUpZworKHcpbShvcmQpMTExMCA0OTAyIHkoZm9sbG8pbSh3aW5nKWModGhlKWYoY3Vyc29yKWYoYXJlKWgobm90KWcKKyhkdXBsaWNhdGVkLik0NSBiKEYpLTggYihvcikzMiBiKGluc3RhbmNlLCloKGlmKWYodGhpcylmKGlzKWgoZW4tKTExMTAKKzUwMTEgeShhYmxlZCwpNDMgYihhdHRlbXB0aW5nKWYoY29tcGxldGlvbilnKHdoZW4pZCh0aGUpaShjdXJzb3IpZihpcylnCisoYWZ0ZXIpaCh0aGUpZyhgKXAgRnMoZSlwIEZ0KCcpZihpbikxMTEwIDUxMjEgeShgKXAgRnMoTWFrZWZpbGUpcAorRnQoJyljKHdpbGwpaShyZXN1bHQpZihpbilnKGApcCBGcyhNYWtlZmlsZSlwIEZ0KCcpZihyYXRoZXIpaCh0aGFuKWgoYCkKK3AgRnMoTWFrZWZpbGVmaWxlKXAgRnQoJywpMTExMCA1MjMwIHkoYXNzdW1pbmcpZCh0aGVyZSlnKGlzKWgoYSlmCisoc2luZ2xlKWgocClzKG9zc2libGUpZihjb21wbGV0aW9uLik1NiBiKFRoZSkzNSBiKGRlZmF1bHQpZyh2KS01CitiKGFsdWUpMTExMCA1MzQwIHkoaXMpMzAgYihgKXAgRnMob2ZmKXAgRnQoJy4pcCBlb3AgZW5kCiAlJVBhZ2U6IDEwMyAxMDkKIFRlWERpY3QgYmVnaW4gMTAzIDEwOCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoODopNDEKLWIoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMDMpMTExMCAyOTkgeSBGcShuYW1lKTUKLWIgRnQoLCkyNSBiKGFuZClkKHkpbShvdSloKGNhbilnKHRlc3QpaChmb3IpZShhKWgocGFydGljdWxhciloKHYpLTUKLWIoYWx1ZS4pMzggYihUaGlzKTIyIGIoY291bGQpaChiKXMoZSlmKHVzZWQpZyh0bykxMTEwCi00MDggeShiaW5kKTMyIGIoayltKGV5KWgoc2VxdWVuY2VzKWcodG8paChmdW5jdGlvbnMpZSh1c2VmdWwpZyhmb3IpaChhKQotZyhzcClzKGVjaVwwMTRjKWYocHJvZ3JhbS4pNDggYihGKS04IGIob3IpMTExMCA1MTggeShpbnN0YW5jZSwpMzUKLWIodGhlKWUoZm9sbG8pbSh3aW5nKWgoY29tbWFuZClmKGFkZHMpZihhKWkoayltKGV5KWYoc2VxdWVuY2UpaCh0aGF0KWYKLShxdW90ZXMpMTExMCA2MjggeSh0aGUpZShjdXJyZW4pbSh0KWYob3IpZyhwcmV2aW91cylnKHcpbShvcmQpZyhpbilnCi0oQmFzaDopMTM1MCA3NjIgeSBGcygkaWYpNDcgYihCYXNoKTEzNTAgODcyIHkoIylnKFF1b3RlKWcodGhlKWcKLShjdXJyZW50KWYob3IpaChwcmV2aW91cyllKHdvcmQpMTM1MCA5ODEgeSgiXFxDLXhxIjopaAotKCJcXGViXFwiXFxlZlxcIiIpMTM1MCAxMDkxIHkoJGVuZGlmKTE1MCAxMjUwIHkoJGVuZGlmKTE5MgotYiBGdChUaGlzKTI5IGIoY29tbWFuZCwpaShhcylmKHNlZW4paChpbilmKHRoZSlnKHByZXZpb3VzKWcoZXhhbXBsZSwpaAotKHRlcm1pbmF0ZXMpZyhhbilnIEZzKCRpZillIEZ0KGNvbW1hbmQuKTE1MCAxNDEwIHkgRnMoJGVsc2UpMjQwCi1iIEZ0KENvbW1hbmRzKTI5IGIoaW4paCh0aGlzKWgoYnJhbmMpbShoKWUob2YpaSh0aGUpZgotRnMoJGlmKWcgRnQoZGlyZWN0aXYpbShlKWkoYXJlKWYoZXhlY3V0ZWQpZyhpZilmKHRoZSloKHRlc3QpZyhmYWlscy4pCi0xNTAgMTU2OSB5IEZzKCRpbmNsdWRlKTk2IGIgRnQoVGhpcyk0MyBiKGRpcmVjdGl2KW0oZSlpKHRhayltKGVzKWcoYSllCi0oc2luZ2xlKWkoXDAxNGxlbmFtZSllKGFzKWgoYW4pZihhcmd1bWVuKW0odCloKGFuZClmKHJlYWRzKWcoY29tbWFuZHMpCi02MzAgMTY3OSB5KGFuZCkzOCBiKGJpbmRpbmdzKWYoZnJvbSloKHRoYXQpaShcMDE0bGUuKTY1Ci1iKEYpLTggYihvcikzOSBiKGV4YW1wbGUsKWoodGhlKWQoZm9sbG8pbSh3aW5nKWgoZGlyZWN0aXYpbShlKWcocmVhZHMpZQotKGZyb20pNjMwIDE3ODggeShgKXAgRnMoL2V0Yy9pbnB1dHJjKXAgRnQoJzopODcwIDE5MjMKLXkgRnMoJGluY2x1ZGUpNDYgYigvZXRjL2lucHV0cmMpMTUwIDIxMjIgeSBGaig4LjMuMyk2MwotYihTYW1wbGUpNDEgYihJbml0KWcoRmlsZSkxNTAgMjI2OSB5IEZ0KEhlcmUpMjcgYihpcylmKGFuKWgoZXhhbXBsZSlnCi0ob2YpZihhbiloIEZxKGlucHV0cmMpayBGdChcMDE0bGUuKTM5IGIoVGhpcykyNiBiKGlsbHVzdHJhdGVzKWgoayltKGV5KQotaChiaW5kaW5nLCllKHYpLTUgYihhcmlhYmxlKTI3IGIoYXNzaWdubWVuKW0odCwpaShhbmQpMTUwCi0yMzc5IHkoY29uZGl0aW9uYWwpaihzeW4pbSh0YXguKXAgZW9wIGVuZAorYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDEwMyk2MzAgMjk5IHkgRnModmlzaWJsZS1zdGF0cykKKzExMTAgNDA4IHkgRnQoSWYpMzEgYihzZXQpaSh0bylmKGApcCBGcyhvbilwIEZ0KCcsKWgoYSlmKGMpbShoYXJhY3RlcilpCisoZGVub3RpbmcpZShhKWcoXDAxNGxlJ3MpZyh0KW0oeXApcyhlKWcoaXMpZyhhcHApcyhlbmRlZCllKHRvKWoodGhlKQorMTExMCA1MTggeShcMDE0bGVuYW1lKWUod2hlbillKGxpc3RpbmcpaShwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zLik0MgorYihUaGUpMzAgYihkZWZhdWx0KWcoaXMpaChgKXAgRnMob2ZmKXAgRnQoJy4pMTUwIDY3NQoreShLZXkpZihCaW5kaW5ncyk2MzAgNzg0IHkoVGhlKTQxIGIoc3luKW0odGF4KWkoZm9yKWYoY29uKW0odHJvbGxpbmcpaAorKGspbShleSlnKGJpbmRpbmdzKWUoaW4paCh0aGUpZyhpbml0KWcoXDAxNGxlKWcoaXMpZyhzaW1wbGUuKTc1CitiKEZpcnN0KTQzIGIoeSltKG91KTYzMCA4OTQgeShuZWVkKTI3IGIodG8paShcMDE0bmQpZCh0aGUpaShuYW1lKWYob2YpaAorKHRoZSlnKGNvbW1hbmQpZih0aGF0KWkoeSltKG91KWYodyltKGFuKW0odClnKHRvKWcoYyltKGhhbmdlLik0MQorYihUaGUpMjcgYihmb2xsbyltKHdpbmcpNjMwIDEwMDMgeShzZWN0aW9ucykzNyBiKGNvbiltKHRhaW4pZyh0YWJsZXMpZworKG9mKWYodGhlKWcoY29tbWFuZClmKG5hbWUsKWoodGhlKWUoZGVmYXVsdClnKGspbShleWJpbmRpbmcsKWgoaWYpZihhbikKK20oeSktOCBiKCwpNjMwIDExMTMgeShhbmQpMzAgYihhKWgoc2hvcnQpZihkZXNjcmlwdGlvbilnKG9mKWgod2hhdClmCisodGhlKWcoY29tbWFuZCloKGRvKXMoZXMuKTYzMCAxMjQ2IHkoT25jZSkzNiBiKHkpbShvdSlnKGtubyltKHcpZyh0aGUpZworKG5hbWUpZyhvZilnKHRoZSlnKGNvbW1hbmQsKWgoc2ltcGx5KWYocGxhY2UpaChvbillKGEpaShsaW5lKWYoaW4pZworKHRoZSlnKGluaXQpNjMwIDEzNTYgeShcMDE0bGUpZSh0aGUpZyhuYW1lKWYob2YpaCh0aGUpZyhrKW0oZXkpZyh5KW0KKyhvdSlnKHdpc2gpZih0byloKGJpbmQpZih0aGUpaChjb21tYW5kKWYodG8sKWkoYSlmKGNvbG9uLClpKGFuZClkKHRoZW4pCis2MzAgMTQ2NSB5KHRoZSlmKG5hbWUpaChvZilmKHRoZSlnKGNvbW1hbmQuKTQ2IGIoVGhlcmUpMzIKK2IoY2FuKWcoYilzKGUpZyhubylnKHNwYWNlKWcoYilzKGV0KW0odyltKGVlbiloKHRoZSlmKGspbShleSloKG5hbWUpZworKGFuZCk2MzAgMTU3NSB5KHRoZSk0MSBiKGNvbG9uKWgoeylmKHRoYXQpZyh3aWxsKWcoYilzKGUpZyhpbiltCisodGVycHJldGVkKWcoYXMpZyhwYXJ0KWYob2YpaCh0aGUpZyhrKW0oZXkpaChuYW1lLik3MgorYihUaGUpNDAgYihuYW1lKWgob2YpNjMwIDE2ODQgeSh0aGUpMzUgYihrKW0oZXkpZyhjYW4pZyhiKXMoZSlmCisoZXhwcmVzc2VkKWYoaW4paShkaVwwMTNlcmVuKW0odClnKHcpbShhKW0oeXMsKWgoZGVwKXMoZW5kaW5nKWQob24paAorKHdoYXQpaCh5KW0ob3UpZyhcMDE0bmQpZShtb3N0KTYzMCAxNzk0IHkoY29tZm9ydGFibGUuKTYzMAorMTkyNyB5KEluKWkoYWRkaXRpb24paCh0byloKGNvbW1hbmQpZihuYW1lcywpaShyZWFkbGluZSllKGFsbG8pbSh3cyloCisoayltKGV5cylnKHRvKWcoYilzKGUpZShiKXMob3VuZClmKHRvKWooYSlmKHN0cmluZyk2MzAKKzIwMzcgeSh0aGF0KTMxIGIoaXMpZihpbnNlcnRlZCloKHdoZW4pZSh0aGUpaShrKW0oZXkpZyhpcylmKHByZXNzZWQpZworKFwoYSloIEZxKG1hY3JvKTUgYiBGdChcKS4pNjMwIDIxNzAgeShUaGUpNDIgYiBGcyhiaW5kKTMwCitiKC1wKTQyIGIgRnQoY29tbWFuZCloKGRpc3BsYSltKHlzKWcoUmVhZGxpbmUpZyhmdW5jdGlvbilnKG5hbWVzKWcoYW5kKQorZihiaW5kaW5ncylnKGluKWgoYSk2MzAgMjI3OSB5KGZvcm1hdCkzNyBiKHRoYXQpaChjYW4pZihwdXQpZihkaXJlY3RseSkKK2koaW4pbSh0bylnKGFuKWYoaW5pdGlhbGl6YXRpb24paihcMDE0bGUuKTYwIGIoU2VlKTM4CitiKFNlY3Rpb24pZig0LjIpaShbQmFzaCk2MzAgMjM4OSB5KEJ1aWx0aW5zXSwpMzEgYihwYWdlKWcoNDMuKTYzMAorMjU0NSB5IEZxKGspbShleW5hbWUpNSBiIEZ0KDopNDIgYiBGcShmdW5jdGlvbi1uYW1lKTM1CitiIEZ0KG9yKWMgRnEobWFjcm8pMTExMCAyNjU1IHkoayltKGV5bmFtZSlrIEZ0KGlzKTI5CitiKHRoZSlmKG5hbWUpaChvZilnKGEpZyhrKW0oZXkpaChzcClzKGVsbGVkKWUob3V0KWgoaW4pZyhFbmdsaXNoLikzOQorYihGKS04IGIob3IpMzAgYihleGFtcGxlOikxMzUwIDI3ODggeSBGcyhDb250cm9sLXU6KTQ1CitiKHVuaXZlcnNhbC1hcmd1bWVudCkxMzUwIDI4OTggeShNZXRhLVJ1Ym91dDopZihiYWNrd2FyZC1raWxsLXdvcmQpMTM1MAorMzAwNyB5KENvbnRyb2wtbzopaCgiPilpKG91dHB1dCIpMTExMCAzMTQwIHkgRnQoSW4pMzgKK2IodGhlKWgoYWIpcyhvKW0odiltKGUpaChleGFtcGxlLCloIEZpKEMtdSlkIEZ0KGlzKWgoYilzKG91bmQpZCh0bylrCisodGhlKWUoZnVuY3Rpb24paCBGcyh1bml2ZXJzYWwtKTExMTAgMzI1MCB5KGFyZ3VtZW50KXAKK0Z0KCwpZiBGaShNLURFTCllIEZ0KGlzKWkoYilzKG91bmQpZSh0bylpKHRoZSlnKGZ1bmN0aW9uKWcKK0ZzKGJhY2t3YXJkLWtpbGwtd29yZClwIEZ0KCwpMTExMCAzMzYwIHkoYW5kKWcgRmkoQy1vKWcKK0Z0KGlzKWgoYilzKG91bmQpZSh0bylqKHJ1bilkKHRoZSlqKG1hY3JvKWYoZXhwcmVzc2VkKWcob24pZih0aGUpaQorKHJpZ2gpbSh0KWYoaGFuZCkxMTEwIDM0NjkgeShzaWRlKTMwIGIoXCh0aGF0KWkoaXMsKWUodG8paChpbnNlcnQpZworKHRoZSlmKHRleHQpaShgKXAgRnMoPillKG91dHB1dClwIEZ0KCcpZihpbiltKHRvKWkodGhlKWcobGluZVwpLikxMTEwCiszNjAyIHkoQSkzNyBiKG4pbSh1bSltKGIpcyhlcilmKG9mKWgoc3ltKW0oYilzKG9saWMpZyhjKW0oaGFyYWN0ZXIpaQorKG5hbWVzKWUoYXJlKWcocmVjb2duaXplZCloKHdoaWxlKWYocHJvLSkxMTEwIDM3MTIgeShjZXNzaW5nKTIyCitiKHRoaXMpZyhrKW0oZXkpZyhiaW5kaW5nKWUoc3luKW0odGF4OikzNyBiIEZxKERFTClwCitGdCgsKTIyIGIgRnEoRVNDKTggYiBGdCgsKTIwIGIgRnEoRVNDQVBFKTUgYiBGdCgsKTIxCitiIEZxKExGRCk1IGIgRnQoLCkyMiBiIEZxKE5FVy0pMTExMCAzODIxIHkoTElORSk1IGIgRnQoLCkzMQorYiBGcShSRVQpNyBiIEZ0KCwpMjkgYiBGcShSRVRVUk4pMTAgYiBGdCgsKTMwIGIgRnEoUiltKFVCT1VUKTcKK2IgRnQoLCkzMSBiIEZxKFNQKS04IGIoQSltKENFKTUgYiBGdCgsKTMxIGIgRnEoU1BDKTgKK2IgRnQoLCkyOSBiKGFuZCloIEZxKFQpLTggYihBQik1IGIgRnQoLik2MzAgMzk3OCB5IEZzKCIpcAorRnEoayltKGV5c2VxKXIgRnMoIilwIEZ0KDopNDEgYiBGcShmdW5jdGlvbi1uYW1lKTM2IGIKK0Z0KG9yKTMwIGIgRnEobWFjcm8pMTExMCA0MDg4IHkoayltKGV5c2VxKWsgRnQoZGlcMDEzZXJzKWQoZnJvbSlmCitGcShrKW0oZXluYW1lKTM3IGIgRnQoYWIpcyhvKW0odiltKGUpMzIgYihpbilmKHRoYXQpaChzdHJpbmdzKWYKKyhkZW5vdGluZylnKGFuKWcoZW4tKTExMTAgNDE5NyB5KHRpcmUpaihrKW0oZXkpaChzZXF1ZW5jZSlmKGNhbilnKGIpcworKGUpZihzcClzKGVjaVwwMTRlZCwpaChiKW0oeSlmKHBsYWNpbmcpaSh0aGUpZihrKW0oZXkpZyhzZXF1ZW5jZSlnKGluKQorMTExMCA0MzA3IHkoZG91YmxlKTI5IGIocXVvdGVzLik0MSBiKFNvbWUpMjkgYiBGbChnbnUpaAorRnQoRW1hY3MpZihzdCltKHlsZSlpKGspbShleSlmKGVzY2FwKXMoZXMpZyhjYW4pZyhiKXMoZSlmKHVzZWQsKWcoYXMpCisxMTEwIDQ0MTYgeShpbilrKHRoZSloKGZvbGxvKW0od2luZylpKGV4YW1wbGUsKWYoYnV0KWUodGhlKWgoc3ApcworKGVjaWFsKWgoYyltKGhhcmFjdGVyKWcobmFtZXMpZihhcmUpZyhub3QpMTExMCA0NTI2IHkocmVjb2duaXplZC4pMTM1MAorNDY1OSB5IEZzKCJcXEMtdSI6KTQ2IGIodW5pdmVyc2FsLWFyZ3VtZW50KTEzNTAgNDc2OQoreSgiXFxDLXhcXEMtciI6KWYocmUtcmVhZC1pbml0LWZpbGUpMTM1MCA0ODc4IHkoIlxcZVsxMX4iOilnKCJGdW5jdGlvbikKK2goS2V5KWcoMSIpMTExMCA1MDExIHkgRnQoSW4pNjQgYih0aGUpZyhhYilzKG8pbSh2KW0oZSlpKGV4YW1wbGUsKTc0CitiIEZpKEMtdSk2NCBiIEZ0KGlzKWcoYWdhaW4paShiKXMob3VuZCljKHRvKWsodGhlKWUoZnVuY3Rpb24pMTExMAorNTEyMSB5IEZzKHVuaXZlcnNhbC1hcmd1bWVudCkzOSBiIEZ0KFwoanVzdClrKGFzKWgoaXQpZyh3KW0oYXMpZyhpbilnCisodGhlKWYoXDAxNHJzdClnKGV4YW1wbGVcKSwpNDkgYihgKXAgRmkoQy14KTExMTAgNTIzMAoreShDLXIpcCBGdCgnKTMwIGIoaXMpZyhiKXMob3VuZCllKHRvKWoodGhlKWcoZnVuY3Rpb24pZgorRnMocmUtcmVhZC1pbml0LWZpbGUpcCBGdCgsKWMoYW5kKWooYClwIEZzKEVTQyloKFspZygxKWcoMSkxMTEwCis1MzQwIHkofilwIEZ0KCcpZyhpcyloKGIpcyhvdW5kKWQodG8paihpbnNlcnQpZih0aGUpaCh0ZXh0KWcoYClwCitGcyhGdW5jdGlvbillKEtleSlnKDEpcCBGdCgnLilwIGVvcCBlbmQKICUlUGFnZTogMTA0IDExMAogVGVYRGljdCBiZWdpbiAxMDQgMTA5IGJvcCAxNTAgLTExNiBhIEZ0KDEwNCkyNTI3IGIoQmFzaCkzMQorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KFRoZSllKGZvbGxvKW0od2luZylpCitGbChnbnUpZiBGdChFbWFjcylnKHN0KW0oeWxlKWgoZXNjYXApcyhlKWYoc2VxdWVuY2VzKWcoYXJlKWcoYSltKHYpLTUKK2IoYWlsYWJsZSkzMiBiKHdoZW4pZChzcClzKGVjaWZ5aW5nKTYzMCA0MDggeShrKW0oZXkpaShzZXF1ZW5jZXM6KTYzMAorNTc4IHkgRmkoXFxDLSkzMzYgYiBGdChjb24pbSh0cm9sKTMyIGIocHJlXDAxNHgpNjMwIDc0OAoreSBGaShcXE0tKTMzNiBiIEZ0KG1ldGEpMzEgYihwcmVcMDE0eCk2MzAgOTE4IHkgRmkoXFxlKTM4NAorYiBGdChhbikzMCBiKGVzY2FwKXMoZSloKGMpbShoYXJhY3Rlcik2MzAgMTA4NyB5IEZpKFxcXFwpMzg0CitiIEZ0KGJhYyltKGtzbGFzaCk2MzAgMTI1NyB5IEZpKFxcKXAgRnMoIilnKCIpcCBGdCgsKTMwCitiKGEpaChkb3VibGUpZihxdW90YXRpb24paShtYXJrKTYzMCAxNDI3IHkgRmkoXFwnKTM4NAorYiBGcygnKXAgRnQoLCkzMCBiKGEpaChzaW5nbGUpZyhxdW90ZSlnKG9yKWYoYXApcyhvc3Ryb3BoZSk2MzAKKzE1OTcgeShJbilkKGFkZGl0aW9uKWgodG8pZyh0aGUpZyBGbChnbnUpZiBGdChFbWFjcyloKHN0KW0oeWxlKWgoZXNjYXApCitzKGUpZihzZXF1ZW5jZXMsKWgoYSlmKHNlY29uZClmKHNldCloKG9mKWcoYmFjKW0oa3NsYXNoKTYzMAorMTcwNiB5KGVzY2FwKXMoZXMpaihpcylmKGEpbSh2KS01IGIoYWlsYWJsZTopNjMwIDE4NzYKK3kgRnMoXFxhKTM4NCBiIEZ0KGFsZXJ0KTMxIGIoXChiKXMoZWxsXCkpNjMwIDIwNDYgeSBGcyhcXGIpMzg0CitiIEZ0KGJhYyltKGtzcGFjZSk2MzAgMjIxNSB5IEZzKFxcZClnIEZ0KGRlbGV0ZSk2MzAgMjM4NQoreSBGcyhcXGYpZyBGdChmb3JtKTMwIGIoZmVlZCk2MzAgMjU1NSB5IEZzKFxcbikzODQgYgorRnQobmV3bGluZSk2MzAgMjcyNCB5IEZzKFxccilnIEZ0KGNhcnJpYWdlKTMyIGIocmV0dXJuKTYzMAorMjg5NCB5IEZzKFxcdCkzODQgYiBGdChob3Jpem9uKW0odGFsKTMyIGIodGFiKTYzMCAzMDY0Cit5IEZzKFxcdikzODQgYiBGdCh2KW0oZXJ0aWNhbCkzMiBiKHRhYik2MzAgMzIzNCB5IEZzKFxcKXAKK0ZpKG5ubikyODggYiBGdCh0aGUpMzUgYihlaWdoKW0odC1iaXQpaChjKW0oaGFyYWN0ZXIpZyh3aG9zZSllKHYpLTUKK2IoYWx1ZSkzNSBiKGlzKWcodGhlKWYobylzKGN0YWwpaSh2KS01IGIoYWx1ZSkzNSBiIEZxKG5ubillCitGdChcKG9uZSlpKHRvKTExMTAgMzM0MyB5KHRocmVlKWMoZGlnaXRzXCkpNjMwIDM1MTMgeQorRnMoXFx4KXAgRmkoSEgpMjg4IGIgRnQodGhlKTQwIGIoZWlnaCltKHQtYml0KWgoYyltKGhhcmFjdGVyKWcod2hvc2UpZQorKHYpLTUgYihhbHVlKTM5IGIoaXMpaCh0aGUpZihoZXhhZGVjaW1hbClpKHYpLTUgYihhbHVlKTQwCitiIEZxKEhIKTExMTAgMzYyMiB5IEZ0KFwob25lKTMxIGIob3IpZih0KW0odyltKG8paShoZXgpZShkaWdpdHNcKSk2MzAKKzM3OTIgeShXaGVuKTM3IGIoZW4pbSh0ZXJpbmcpaCh0aGUpZyh0ZXh0KWcob2YpZyhhKWcobWFjcm8sKWkoc2luZ2xlKWUKKyhvcilmKGRvdWJsZSlnKHF1b3RlcyloKG0pbSh1c3QpZihiKXMoZSlnKHVzZWQpZih0byk2MzAKKzM5MDIgeShpbmRpY2F0ZSkyMyBiKGEpZShtYWNybyloKGRlXDAxNG5pdGlvbi4pMzggYihVbnF1b3RlZCkyMQorYih0ZXh0KWkoaXMpZShhc3N1bWVkKWcodG8paChiKXMoZSlmKGEpaChmdW5jdGlvbilmKG5hbWUuKTM4CitiKEluKTYzMCA0MDExIHkodGhlKTIyIGIobWFjcm8pZihiKXMobylzKGR5KS04IGIoLCkyMworYih0aGUpZShiYWMpbShrc2xhc2gpaChlc2NhcClzKGVzKWcoZGVzY3JpYilzKGVkKWUoYWIpcyhvKW0odiltKGUpagorKGFyZSllKGV4cGFuZGVkLikzNyBiKEJhYyltKGtzbGFzaCk2MzAgNDEyMSB5KHdpbGwpaihxdW90ZSloKGFuKW0oeSlmCisob3RoZXIpZyhjKW0oaGFyYWN0ZXIpaShpbilkKHRoZSlpKG1hY3JvKWYodGV4dCwpayhpbmNsdWRpbmcpMzkKK2IoYClwIEZzKCIpcCBGdCgnKWgoYW5kKWcoYClwIEZzKCcpcCBGdCgnLik2OSBiKEYpLTgKK2Iob3IpNjMwIDQyMzEgeShleGFtcGxlLCkyOCBiKHRoZSllKGZvbGxvKW0od2luZyloKGJpbmRpbmcpZCh3aWxsKWkKKyhtYWspbShlKWgoYClwIEZpKEMteClqIEZzKFxcKXAgRnQoJyljKGluc2VydClmKGEpaChzaW5nbGUpaChgKXAKK0ZzKFxcKXAgRnQoJylmKGluKW0odG8pZyh0aGUpZyhsaW5lOik4NzAgNDM3MCB5IEZzKCJcXEMteFxcXFwiOik0NQorYigiXFxcXCIpMTUwIDQ1ODAgeSBGaig4LjMuMik2MyBiKENvbmRpdGlvbmFsKTQxIGIoSW5pdClnKENvbnN0cnVjdHMpCisxNTAgNDcyNyB5IEZ0KFJlYWRsaW5lKWMoaW1wbGVtZW4pbSh0cylnKGEpaChmYWNpbGl0KW0oeSlnKHNpbWlsYXIpZgorKGluKWcoc3Bpcml0KWYodG8paSh0aGUpZihjb25kaXRpb25hbCloKGNvbXBpbGF0aW9uKWcoZmVhdHVyZXMpZihvZikxNTAKKzQ4MzYgeSh0aGUpMzEgYihDKWYocHJlcHJvKXMoY2Vzc29yKWcod2hpYyltKGgpZyhhbGxvKW0od3MpaShrKW0oZXkpZworKGJpbmRpbmdzKWQoYW5kKWgodiktNSBiKGFyaWFibGUpMzIgYihzZXR0aW5ncylmKHRvKWgoYilzKGUpZShwKXMKKyhlcmZvcm1lZClmKGFzKWkodGhlKTE1MCA0OTQ2IHkocmVzdWx0KWYob2YpaCh0ZXN0cy4pNDEKK2IoVGhlcmUpMzAgYihhcmUpaChmb3VyKWYocGFyc2VyKWYoZGlyZWN0aXYpbShlcylqKHVzZWQuKTE1MAorNTEyMSB5IEZzKCRpZikzMzYgYiBGdChUaGUpMzEgYiBGcygkaWYpZiBGdChjb25zdHJ1Y3QpaShhbGxvKW0od3MpaAorKGJpbmRpbmdzKWQodG8paShiKXMoZSllKG1hZGUpaShiYXNlZClmKG9uKWcodGhlKWcoZWRpdGluZyloKG1vKXMoZGUsKWcKKyh0aGUpNjMwIDUyMzAgeSh0ZXJtaW5hbCkzOSBiKGIpcyhlaW5nKWUodXNlZCwpaihvcillKHRoZSlnCisoYXBwbGljYXRpb24paCh1c2luZylmKFJlYWRsaW5lLik2NCBiKFRoZSkzOCBiKHRleHQpaChvZilmKHRoZSlnKHRlc3QpCis2MzAgNTM0MCB5KGV4dGVuZHMpMzAgYih0byloKHRoZSlnKGVuZClmKG9mKWcodGhlKWgobGluZTspZyhubylmKGMpbQorKGhhcmFjdGVycylpKGFyZSlmKHJlcXVpcmVkKWUodG8paShpc29sYXRlKWkoaXQuKXAgZW9wCitlbmQKKyUlUGFnZTogMTA1IDExMQorVGVYRGljdCBiZWdpbiAxMDUgMTEwIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig4Oik0MQorYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDEwNSk2MzAgMjk5IHkgRnMobW9kZSkyODgKK2IgRnQoVGhlKTIwIGIgRnMobW9kZT0pZyBGdChmb3JtKWcob2YpaCh0aGUpZyBGcygkaWYpZgorRnQoZGlyZWN0aXYpbShlKWooaXMpZSh1c2VkKWYodG8paCh0ZXN0KWgod2hldGhlcillKFJlYWRsaW5lKTExMTAKKzQwOCB5KGlzKTI5IGIoaW4paCBGcyhlbWFjcyllIEZ0KG9yKWggRnModmkpZyBGdChtbylzKGRlLik0MAorYihUaGlzKTI5IGIobWEpbSh5KWgoYilzKGUpZSh1c2VkKWgoaW4pZyhjb25qdW5jdGlvbiloKHdpdGgpZih0aGUpMTExMAorNTE4IHkoYClwIEZzKHNldCloKGtleW1hcClwIEZ0KCcpYyhjb21tYW5kLClpKGZvcilmKGluc3RhbmNlLClpKHRvKWYKKyhzZXQpZyhiaW5kaW5ncylmKGluKWcodGhlKWggRnMoZW1hY3MtKTExMTAgNjI4IHkoc3RhbmRhcmQpMjMKK2IgRnQoYW5kKWggRnMoZW1hY3MtY3RseClmIEZ0KGspbShleW1hcHMpaShvbmx5KWcoaWYpZyhSZWFkbGluZSloKGlzKWYKKyhzdGFydGluZyloKG91dCkxMTEwIDczNyB5KGluKWsgRnMoZW1hY3MpZiBGdChtbylzKGRlLik2MzAKKzg5NyB5IEZzKHRlcm0pMjg4IGIgRnQoVGhlKTI2IGIgRnModGVybT0pZyBGdChmb3JtKWcobWEpbSh5KWkoYilzKGUpZQorKHVzZWQpZyh0bylpKGluY2x1ZGUpZih0ZXJtaW5hbC1zcClzKGVjaVwwMTRjKWcoayltKGV5KWgoYmluZC0pMTExMAorMTAwNiB5KGluZ3MsKTM4IGIocClzKGVyaGFwcyljKHRvKWooYmluZCllKHRoZSloKGspbShleSloKHNlcXVlbmNlcylmCisob3V0cHV0KWcoYiltKHkpZyh0aGUpZyh0ZXJtaW5hbCdzKTExMTAgMTExNiB5KGZ1bmN0aW9uKTI0CitiKGspbShleXMuKTM5IGIoVGhlKTIzIGIodyltKG9yZCloKG9uKWYodGhlKWkocmlnaCltKHQpZihzaWRlKWcob2YpZworKHRoZSlnKGApcCBGcyg9KXAgRnQoJylnKGlzKWcodGVzdGVkKWgoYWdhaW5zdCkxMTEwIDEyMjUKK3koYilzKG90aClrKHRoZSloKGZ1bGwpZyhuYW1lKWcob2YpZyh0aGUpZyh0ZXJtaW5hbCloKGFuZCllKHRoZSlpKHApcworKG9ydGlvbillKG9mKWgodGhlKWcodGVybWluYWwpMTExMCAxMzM1IHkobmFtZSlrKGIpcyhlZm9yZSlmKHRoZSlnCisoXDAxNHJzdClnKGApcCBGcygtKXAgRnQoJy4pNTAgYihUaGlzKTMzIGIoYWxsbyltKHdzKWkKK0ZzKHN1billIEZ0KHRvKWgobWF0YyltKGgpZyhiKXMob3RoKWYgRnMoc3VuKWcgRnQoYW5kKTExMTAKKzE0NDUgeSBGcyhzdW4tY21kKXAgRnQoLCljKGZvciloKGluc3RhbmNlLik2MzAgMTYwNCB5CitGcyhhcHBsaWNhdGlvbikxMTEwIDE3MTQgeSBGdChUaGUpMjEgYiBGcShhcHBsaWNhdGlvbilqCitGdChjb25zdHJ1Y3QpZShpcylnKHVzZWQpZih0bylpKGluY2x1ZGUpZihhcHBsaWNhdGlvbi1zcClzKGVjaVwwMTRjKWgKKyhzZXQtKTExMTAgMTgyMyB5KHRpbmdzLikzOSBiKEVhYyltKGgpMjYgYihwcm9ncmFtKWUodXNpbmcpZyh0aGUpaAorKFJlYWRsaW5lKWcobGlicmFyeSlnKHNldHMpZyh0aGUpZyBGcShhcHBsaWNhdGlvbikxMTEwCisxOTMzIHkobmFtZSk1IGIgRnQoLCkyNSBiKGFuZClkKHkpbShvdSloKGNhbilnKHRlc3QpaChmb3IpZShhKWgKKyhwYXJ0aWN1bGFyKWgodiktNSBiKGFsdWUuKTM4IGIoVGhpcykyMiBiKGNvdWxkKWgoYilzKGUpZih1c2VkKWcodG8pCisxMTEwIDIwNDIgeShiaW5kKTMyIGIoayltKGV5KWgoc2VxdWVuY2VzKWcodG8paChmdW5jdGlvbnMpZSh1c2VmdWwpZworKGZvciloKGEpZyhzcClzKGVjaVwwMTRjKWYocHJvZ3JhbS4pNDggYihGKS04IGIob3IpMTExMAorMjE1MiB5KGluc3RhbmNlLCkzNSBiKHRoZSllKGZvbGxvKW0od2luZyloKGNvbW1hbmQpZihhZGRzKWYoYSlpKGspbShleSkKK2Yoc2VxdWVuY2UpaCh0aGF0KWYocXVvdGVzKTExMTAgMjI2MiB5KHRoZSllKGN1cnJlbiltKHQpZihvcilnCisocHJldmlvdXMpZyh3KW0ob3JkKWcoaW4pZyhCYXNoOikxMzUwIDIzOTYgeSBGcygkaWYpNDcKK2IoQmFzaCkxMzUwIDI1MDYgeSgjKWcoUXVvdGUpZyh0aGUpZyhjdXJyZW50KWYob3IpaChwcmV2aW91cyllKHdvcmQpCisxMzUwIDI2MTUgeSgiXFxDLXhxIjopaCgiXFxlYlxcIlxcZWZcXCIiKTEzNTAgMjcyNSB5KCRlbmRpZikxNTAKKzI4ODQgeSgkZW5kaWYpMTkyIGIgRnQoVGhpcykyOSBiKGNvbW1hbmQsKWkoYXMpZihzZWVuKWgoaW4pZih0aGUpZworKHByZXZpb3VzKWcoZXhhbXBsZSwpaCh0ZXJtaW5hdGVzKWcoYW4pZyBGcygkaWYpZSBGdChjb21tYW5kLikxNTAKKzMwNDQgeSBGcygkZWxzZSkyNDAgYiBGdChDb21tYW5kcykyOSBiKGluKWgodGhpcyloKGJyYW5jKW0oaCllKG9mKWkKKyh0aGUpZiBGcygkaWYpZyBGdChkaXJlY3RpdiltKGUpaShhcmUpZihleGVjdXRlZClnKGlmKWYodGhlKWgodGVzdClnCisoZmFpbHMuKTE1MCAzMjAzIHkgRnMoJGluY2x1ZGUpOTYgYiBGdChUaGlzKTQzIGIoZGlyZWN0aXYpbShlKWkodGFrKW0KKyhlcylnKGEpZShzaW5nbGUpaShcMDE0bGVuYW1lKWUoYXMpaChhbilmKGFyZ3VtZW4pbSh0KWgoYW5kKWYocmVhZHMpZworKGNvbW1hbmRzKTYzMCAzMzEzIHkoYW5kKTM4IGIoYmluZGluZ3MpZihmcm9tKWgodGhhdClpKFwwMTRsZS4pNjUKK2IoRiktOCBiKG9yKTM5IGIoZXhhbXBsZSwpaih0aGUpZChmb2xsbyltKHdpbmcpaChkaXJlY3RpdiltKGUpZyhyZWFkcyllCisoZnJvbSk2MzAgMzQyMiB5KGApcCBGcygvZXRjL2lucHV0cmMpcCBGdCgnOik4NzAgMzU1NworeSBGcygkaW5jbHVkZSk0NiBiKC9ldGMvaW5wdXRyYykxNTAgMzc1NiB5IEZqKDguMy4zKTYzCitiKFNhbXBsZSk0MSBiKEluaXQpZyhGaWxlKTE1MCAzOTAzIHkgRnQoSGVyZSkyNyBiKGlzKWYoYW4paChleGFtcGxlKWcKKyhvZilmKGFuKWggRnEoaW5wdXRyYylrIEZ0KFwwMTRsZS4pMzkgYihUaGlzKTI2IGIoaWxsdXN0cmF0ZXMpaChrKW0oZXkpCitoKGJpbmRpbmcsKWUodiktNSBiKGFyaWFibGUpMjcgYihhc3NpZ25tZW4pbSh0LClpKGFuZCkxNTAKKzQwMTIgeShjb25kaXRpb25hbClqKHN5biltKHRheC4pcCBlb3AgZW5kCislJVBhZ2U6IDEwNiAxMTIKK1RlWERpY3QgYmVnaW4gMTA2IDExMSBib3AgMTUwIC0xMTYgYSBGdCgxMDYpMjUyNyBiKEJhc2gpMzEKIGIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTM5MCA0MDggeSBGcygjKTQ3IGIoVGhpcylnKGZpbGUpZyhjb250cm9scyllCiAodGhlKWkoYmVoYXZpb3VyKWUob2YpaihsaW5lKWUoaW5wdXQpaChlZGl0aW5nKWUoZm9yKTM5MAogNTE4IHkoIylpKHByb2dyYW1zKWYodGhhdCloKHVzZSlnKHRoZSlmKEdOVSloKFJlYWRsaW5lKWYobGlicmFyeS4pOTMKQEAgLTEyMDU1LDkgKzEyMzE3LDkgQEAKIDQ5MDIgeSgjKTM5MCA1MDExIHkoIyk0NyBiKEFycm93KWcoa2V5cylmKGluKWkoOClmKGJpdClnKEFOU0kpZyhtb2RlKQogMzkwIDUxMjEgeSgjKTM5MCA1MjMwIHkoIyJcXE0tXFxDLVtEIjopMzMxIGIoYmFja3dhcmQtY2hhcikzOTAKIDUzNDAgeSgjIlxcTS1cXEMtW0MiOilnKGZvcndhcmQtY2hhcilwIGVvcCBlbmQKLSUlUGFnZTogMTA1IDExMQotVGVYRGljdCBiZWdpbiAxMDUgMTEwIGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig4Oik0MQotYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDEwNSkzOTAgMjk5IHkgRnMoIyJcXE0tXFxDLVtBIjopCislJVBhZ2U6IDEwNyAxMTMKK1RlWERpY3QgYmVnaW4gMTA3IDExMiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoODopNDEKK2IoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMDcpMzkwIDI5OSB5IEZzKCMiXFxNLVxcQy1bQSI6KQogMzMxIGIocHJldmlvdXMtaGlzdG9yeSkzOTAgNDA4IHkoIyJcXE0tXFxDLVtCIjopZyhuZXh0LWhpc3RvcnkpMzkwCiA2MjggeShDLXE6KTQ3IGIocXVvdGVkLWluc2VydCkzOTAgODQ3IHkoJGVuZGlmKTM5MCAxMDY2CiB5KCMpZyhBbiloKG9sZC1zdHlsZSlkKGJpbmRpbmcuKTkzIGIoVGhpcyk0NyBiKGhhcHBlbnMpZih0byloKGJlKWcodGhlKQpAQCAtMTIwOTAsOCArMTIzNTIsOCBAQAogKGNvbXBsZXRpb25zKWUoZm9yKTM5MCA1MTIxIHkoIylqKGEpaCh3b3JkLCllKGFzayloKHRoZSlnKHVzZXIpZyhpZilnCiAoaGUpZyh3YW50cylmKHRvKWkoc2VlKWYoYWxsKWYob2YpaSh0aGVtKTM5MCA1MjMwIHkoc2V0KWYKIChjb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zKTQyIGIoMTUwKXAgZW9wIGVuZAotJSVQYWdlOiAxMDYgMTEyCi1UZVhEaWN0IGJlZ2luIDEwNiAxMTEgYm9wIDE1MCAtMTE2IGEgRnQoMTA2KTI1MjcgYihCYXNoKTMxCislJVBhZ2U6IDEwOCAxMTQKK1RlWERpY3QgYmVnaW4gMTA4IDExMyBib3AgMTUwIC0xMTYgYSBGdCgxMDgpMjUyNyBiKEJhc2gpMzEKIGIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTM5MCAyOTkgeSBGcygjKTQ3IGIoRm9yKWcoRlRQKTM5MAogNDA4IHkoJGlmKWcoRnRwKTM5MCA1MTggeSgiXFxDLXhnIjopZigiZ2V0KWcoXFxNLT8iKTM5MAogNjI4IHkoIlxcQy14dCI6KWcoInB1dClnKFxcTS0/IikzOTAgNzM3IHkoIlxcTS0uIjopZyh5YW5rLWxhc3QtYXJnKTM5MApAQCAtMTIxMDIsNyArMTIzNjQsNyBAQAogKGIpbSh5KWgoZXhlY3V0aW5nKWkgRnMoYmluZCkyOSBiKC1QKTM5IGIgRnQob3IsKWooZm9yKWQoYSloKG1vcmUpZwogKHRlcnNlKWcoZm9ybWF0LClpKHN1aXRhYmxlKWUoZm9yKWYoYW4pMTUwIDE0NTQgeSBGcShpbnB1dHJjKTM0CiBiIEZ0KFwwMTRsZSwpMjkgYiBGcyhiaW5kKWcoLXApcCBGdCguKTQwIGIoXChTZWUpMzAgYihTZWN0aW9uKWYoNC4yKWgKLShbQmFzaClnKEJ1aWx0aW5zXSwpZyhwYWdlKWcoNDEuXCkpNDEgYihDb21tYW5kKTI4IGIobmFtZXMpaCh3aXRob3V0KQorKFtCYXNoKWcoQnVpbHRpbnNdLClnKHBhZ2UpZyg0My5cKSk0MSBiKENvbW1hbmQpMjggYihuYW1lcyloKHdpdGhvdXQpCiAxNTAgMTU2MyB5KGFuKWgoYWNjb21wYW4pbSh5aW5nKWkoayltKGV5KWYoc2VxdWVuY2UpZyhhcmUpZyh1biltKGIpcwogKG91bmQpZChiKW0oeSlpKGRlZmF1bHQuKTI3NSAxNjk2IHkoSW4pMjUgYih0aGUpaChmb2xsbyltKHdpbmcpaQogKGRlc2NyaXB0aW9ucywpZiBGcShwKXMob2luKW0odCloIEZ0KHJlZmVycyllKHRvKWgodGhlKWYoY3VycmVuKW0odClnCkBAIC0xMjEzOSw5ICsxMjQwMSw5IEBACiBiKFwoXCkpNjMwIDUzMjIgeSBGdChSZWZyZXNoKTMwIGIodGhlKWcoY3VycmVuKW0odCloKGxpbmUuKTQxCiBiKEJ5KTMwIGIoZGVmYXVsdCwpaCh0aGlzKWYoaXMpaCh1biltKGIpcyhvdW5kLilwIGVvcAogZW5kCi0lJVBhZ2U6IDEwNyAxMTMKLVRlWERpY3QgYmVnaW4gMTA3IDExMiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoODopNDEKLWIoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMDcpMTUwIDI5OSB5IEZqKDguNC4yKTYzCislJVBhZ2U6IDEwOSAxMTUKK1RlWERpY3QgYmVnaW4gMTA5IDExNCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoODopNDEKK2IoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMDkpMTUwIDI5OSB5IEZqKDguNC4yKTYzCiBiKENvbW1hbmRzKTQyIGIoRiktMTAgYihvcik0MSBiKE1hbmlwdWxhdGluZyloKFRoZSlmKEhpc3RvcnkpMTUwCiA0NzMgeSBGcyhhY2NlcHQtbGluZSkyNyBiKFwoTmV3bGluZSloKG9yKWkoUmV0dXJuXCkpNjMwCiA1ODIgeSBGdChBY2NlcHQpMjUgYih0aGUpZShsaW5lKWgocmVnYXJkbGVzcylnKG9mKWYod2hlcmUpZyh0aGUpaApAQCAtMTIyMDIsODg2ICsxMjQ2NCw5MDQgQEAKIDUzNDAgeSgwXCkuKTY5IGIoQSk0MCBiKG5lZ2F0aXYpbShlKWgoYXJndW1lbiltKHQpZihpbnNlcnRzKWcodGhlKWYKIEZxKG4pcCBGdCh0aClnKHcpbShvcmQpZyhmcm9tKWcodGhlKWgoZW5kKWYob2YpaCh0aGUpZihwcmV2aW91cylwCiBlb3AgZW5kCi0lJVBhZ2U6IDEwOCAxMTQKLVRlWERpY3QgYmVnaW4gMTA4IDExMyBib3AgMTUwIC0xMTYgYSBGdCgxMDgpMjUyNyBiKEJhc2gpMzEKKyUlUGFnZTogMTEwIDExNgorVGVYRGljdCBiZWdpbiAxMTAgMTE1IGJvcCAxNTAgLTExNiBhIEZ0KDExMCkyNTI3IGIoQmFzaCkzMQogYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5KGNvbW1hbmQuKTQ4IGIoT25jZSkzMwogYih0aGUpZyhhcmd1bWVuKW0odCloIEZxKG4pZSBGdChpcyloKGNvbXB1dGVkLCloKHRoZSlmKGFyZ3VtZW4pbSh0KWcKIChpcylnKGV4dHJhY3RlZClpKGFzKWUoaWYpNjMwIDQwOCB5KHRoZSllKGApcCBGcyghKXAKIEZpKG4pMTEgYiBGdCgnKTI5IGIoaGlzdG9yeSlpKGV4cGFuc2lvbilmKGhhZClnKGIpcyhlZW4pZihzcClzCi0oZWNpXDAxNGVkLikxNTAgNTg0IHkgRnMoeWFuay1sYXN0LWFyZyllKFwoTS0uKWkob3IpaChNLV9cKSk2MzAKLTY5MyB5IEZ0KEluc2VydClrKGxhc3QpaShhcmd1bWVuKW0odClnKHRvKWcodGhlKWYocHJldmlvdXMpZihjb21tYW5kKWgKLShcKHRoZSloKGxhc3QpZih3KW0ob3JkKWcob2YpZyh0aGUpZyhwcmV2aW91cyk2MzAgODAzCi15KGhpc3RvcnkpYyhlbiltKHRyeVwpLik0MSBiKFdpdGgpMzEgYihhbilnKGFyZ3VtZW4pbSh0LClnKGIpcyhlaGEpbSh2KQotbShlKWcoZXhhY3RseSlpKGxpayltKGUpZiBGcyh5YW5rLW50aC1hcmcpcCBGdCguKTM4IGIoU3VjY2VzLSk2MzAKLTkxMyB5KHNpdiltKGUpZChjYWxscyloKHRvKWYgRnMoeWFuay1sYXN0LWFyZyljIEZ0KG1vKW0odiltKGUpMzYKLWIoYmFjKW0oaylnKHRocm91Z2gpZCh0aGUpaShoaXN0b3J5KWcobGlzdCwpaChpbnNlcnRpbmcpZih0aGUpNjMwCi0xMDIyIHkobGFzdClkKGFyZ3VtZW4pbSh0KWYob2YpZyhlYWMpbShoKWgobGluZSlmKGluKWYodHVybi4pNDEKLWIoVGhlKTMwIGIoaGlzdG9yeSloKGV4cGFuc2lvbilmKGZhY2lsaXRpZXMpaihhcmUpZSh1c2VkKWYodG8pNjMwCi0xMTMyIHkoZXh0cmFjdClpKHRoZSllKGxhc3QpaShhcmd1bWVuKW0odCwpZihhcylmKGlmKWgodGhlKWYoYClwCi1GcyghJClwIEZ0KCcpZyhoaXN0b3J5KWgoZXhwYW5zaW9uKWYoaGFkKWcoYilzKGVlbilmKHNwKXMoZWNpXDAxNGVkLikKLTE1MCAxMzQ3IHkgRmooOC40LjMpNjMgYihDb21tYW5kcyk0MiBiKEYpLTEwIGIob3IpNDEKLWIoQ2hhbmdpbmcpZyhUKS0xMCBiKGV4dCkxNTAgMTUyNyB5IEZzKGRlbGV0ZS1jaGFyKTI3Ci1iKFwoQy1kXCkpNjMwIDE2MzYgeSBGdChEZWxldGUpNDEgYih0aGUpZShjKW0oaGFyYWN0ZXIpaShhdCllKHApcyhvaW4pbQotKHQuKTY2IGIoSWYpMzkgYihwKXMob2luKW0odClmKGlzKWgoYXQpaCh0aGUpZihiKXMoZWdpbm5pbmcpZihvZiloKHRoZSkKLWcobGluZSwpaih0aGVyZSk2MzAgMTc0NiB5KGFyZSkzNyBiKG5vKWcoYyltKGhhcmFjdGVycylpKGluKWQodGhlKWkKKyhlY2lcMDE0ZWQuKTE1MCA1NzkgeSBGcyh5YW5rLWxhc3QtYXJnKWUoXChNLS4paShvciloKE0tX1wpKTYzMAorNjg5IHkgRnQoSW5zZXJ0KWsobGFzdClpKGFyZ3VtZW4pbSh0KWcodG8pZyh0aGUpZihwcmV2aW91cylmKGNvbW1hbmQpaAorKFwodGhlKWgobGFzdClmKHcpbShvcmQpZyhvZilnKHRoZSlnKHByZXZpb3VzKTYzMCA3OTgKK3koaGlzdG9yeSllKGVuKW0odHJ5XCkuKTUxIGIoV2l0aCkzNCBiKGEpZyhuKW0odW1lcmljKWcoYXJndW1lbiltKHQsKWgKKyhiKXMoZWhhKW0odiltKGUpZihleGFjdGx5KWgobGlrKW0oZSlnIEZzKHlhbmstbnRoLWFyZylwCitGdCguKTYzMCA5MDggeShTdWNjZXNzaXYpbShlKTI2IGIoY2FsbHMpZyh0bylmIEZzKHlhbmstbGFzdC1hcmcpYworRnQobW8pbSh2KW0oZSkyNyBiKGJhYyltKGspZSh0aHJvdWdoKWYodGhlKWgoaGlzdG9yeSlnKGxpc3QsKWkKKyhpbnNlcnRpbmcpNjMwIDEwMTggeSh0aGUpYyhsYXN0KWcodyltKG9yZClmKFwob3IpaCh0aGUpZyh3KW0ob3JkKWYoc3ApCitzKGVjaVwwMTRlZClnKGIpbSh5KWcodGhlKWgoYXJndW1lbiltKHQpZyh0bylnKHRoZSlnKFwwMTRyc3QpZihjYWxsXCkpaQorKG9mKWYoZWFjKW0oaCloKGxpbmUpNjMwIDExMjcgeShpbikzNiBiKHR1cm4uKTU4IGIoQW4pbSh5KTM2CitiKG4pbSh1bWVyaWMpaChhcmd1bWVuKW0odClmKHN1cHBsaWVkKWcodG8paCh0aGVzZSlnKHN1Y2Nlc3NpdiltKGUpZworKGNhbGxzKWgoZGV0ZXJtaW5lcyk2MzAgMTIzNyB5KHRoZSlkKGRpcmVjdGlvbilnKHRvKWgobW8pbSh2KW0oZSlnCisodGhyb3VnaCllKHRoZSloKGhpc3RvcnkpLTggYiguKTU0IGIoQSkzNSBiKG5lZ2F0aXYpbShlKWkoYXJndW1lbiltKHQpZQorKHN3aXRjKW0oaGVzKWgodGhlKTYzMCAxMzQ2IHkoZGlyZWN0aW9uKTIzIGIodGhyb3VnaClnKHRoZSlnKGhpc3RvcnkpZgorKFwoYmFjKW0oaylpKG9yKWYoZm9ydyltKGFyZFwpLikzOCBiKFRoZSkyMiBiKGhpc3RvcnkpaChleHBhbnNpb24pZworKGZhY2lsaXRpZXMpNjMwIDE0NTYgeShhcmUpMjggYih1c2VkKWYodG8paChleHRyYWN0KWgodGhlKWYobGFzdClnCisoYXJndW1lbiltKHQsKWgoYXMpZShpZiloKHRoZSlnKGApcCBGcyghJClwIEZ0KCcpZihoaXN0b3J5KWcoZXhwYW5zaW9uKQoraChoYWQpZihiKXMoZWVuKTYzMCAxNTY1IHkoc3ApcyhlY2lcMDE0ZWQuKTE1MCAxNzc2IHkKK0ZqKDguNC4zKTYzIGIoQ29tbWFuZHMpNDIgYihGKS0xMCBiKG9yKTQxIGIoQ2hhbmdpbmcpZyhUKS0xMAorYihleHQpMTUwIDE5NTMgeSBGcyhkZWxldGUtY2hhcikyNyBiKFwoQy1kXCkpNjMwIDIwNjMKK3kgRnQoRGVsZXRlKTQxIGIodGhlKWUoYyltKGhhcmFjdGVyKWkoYXQpZShwKXMob2luKW0odC4pNjYKK2IoSWYpMzkgYihwKXMob2luKW0odClmKGlzKWgoYXQpaCh0aGUpZihiKXMoZWdpbm5pbmcpZihvZiloKHRoZSlnCisobGluZSwpaih0aGVyZSk2MzAgMjE3MyB5KGFyZSkzNyBiKG5vKWcoYyltKGhhcmFjdGVycylpKGluKWQodGhlKWkKIChsaW5lLCloKGFuZClkKHRoZSloKGxhc3QpaChjKW0oaGFyYWN0ZXIpaCh0KW0oeXApcyhlZCllKHcpbShhcylnKG5vdClnCi0oYilzKG91bmQpZSh0byk2MzAgMTg1NSB5IEZzKGRlbGV0ZS1jaGFyKXAgRnQoLCkyOCBiKHRoZW4paShyZXR1cm4pZgotRmwoZW9mKXAgRnQoLikxNTAgMjAzMSB5IEZzKGJhY2t3YXJkLWRlbGV0ZS1jaGFyKWMoXChSdWJvdXRcKSk2MzAKLTIxNDAgeSBGdChEZWxldGUpMzIgYih0aGUpZihjKW0oaGFyYWN0ZXIpZyhiKXMoZWhpbmQpZSh0aGUpaChjdXJzb3IuKTQwCisoYilzKG91bmQpZSh0byk2MzAgMjI4MiB5IEZzKGRlbGV0ZS1jaGFyKXAgRnQoLCkyOCBiKHRoZW4paShyZXR1cm4pZgorRmwoZW9mKXAgRnQoLikxNTAgMjQ1MyB5IEZzKGJhY2t3YXJkLWRlbGV0ZS1jaGFyKWMoXChSdWJvdXRcKSk2MzAKKzI1NjIgeSBGdChEZWxldGUpMzIgYih0aGUpZihjKW0oaGFyYWN0ZXIpZyhiKXMoZWhpbmQpZSh0aGUpaChjdXJzb3IuKTQwCiBiKEEpMzAgYihuKW0odW1lcmljKWcoYXJndW1lbiltKHQpaChtZWFucylmKHRvKWgoa2lsbClnKHRoZSk2MzAKLTIyNTAgeShjKW0oaGFyYWN0ZXJzKWgoaW5zdGVhZCllKG9mKWgoZGVsZXRpbmcpZyh0aGVtLikxNTAKLTI0MjUgeSBGcyhmb3J3YXJkLWJhY2t3YXJkLWRlbGV0ZS0pbyhjaGFyKTI0IGIoXChcKSk2MzAKLTI1MzUgeSBGdChEZWxldGUpNDAgYih0aGUpZihjKW0oaGFyYWN0ZXIpaCh1bmRlciljKHRoZSlqKGN1cnNvciwpaAorMjY3MiB5KGMpbShoYXJhY3RlcnMpaChpbnN0ZWFkKWUob2YpaChkZWxldGluZylnKHRoZW0uKTE1MAorMjg0MyB5IEZzKGZvcndhcmQtYmFja3dhcmQtZGVsZXRlLSlvKGNoYXIpMjQgYihcKFwpKTYzMAorMjk1MiB5IEZ0KERlbGV0ZSk0MCBiKHRoZSlmKGMpbShoYXJhY3RlciloKHVuZGVyKWModGhlKWooY3Vyc29yLCloCiAodW5sZXNzKWQodGhlKWkoY3Vyc29yKWUoaXMpaChhdCloKHRoZSlnKGVuZCllKG9mKWkodGhlKTYzMAotMjY0NCB5KGxpbmUsKTMzIGIoaW4pZSh3aGljKW0oaClnKGNhc2UpaSh0aGUpZihjKW0oaGFyYWN0ZXIpaChiKXMKKzMwNjIgeShsaW5lLCkzMyBiKGluKWUod2hpYyltKGgpZyhjYXNlKWkodGhlKWYoYyltKGhhcmFjdGVyKWgoYilzCiAoZWhpbmQpZCh0aGUpaShjdXJzb3IpZihpcylnKGRlbGV0ZWQuKTQ2IGIoQnkpMzIgYihkZWZhdWx0LClnKHRoaXMpNjMwCi0yNzU0IHkoaXMpZShub3QpaChiKXMob3VuZClkKHRvKWooYSlnKGspbShleSktOCBiKC4pMTUwCi0yOTI5IHkgRnMocXVvdGVkLWluc2VydCkyNyBiKFwoQy1xKWkob3IpaChDLXZcKSk2MzAgMzAzOQorMzE3MiB5KGlzKWUobm90KWgoYilzKG91bmQpZCh0bylqKGEpZyhrKW0oZXkpLTggYiguKTE1MAorMzM0MiB5IEZzKHF1b3RlZC1pbnNlcnQpMjcgYihcKEMtcSlpKG9yKWgoQy12XCkpNjMwIDM0NTIKIHkgRnQoQWRkKWoodGhlKWkobmV4dClmKGMpbShoYXJhY3RlcilpKHQpbSh5cClzKGVkKWUodG8paCh0aGUpZihsaW5lKWgKICh2KW0oZXJiYXRpbS4pNTMgYihUaGlzKTMzIGIoaXMpaShobyltKHcpZih0byloKGluc2VydClmKGspbShleSk2MzAKLTMxNDggeShzZXF1ZW5jZXMpZChsaWspbShlKWcgRmkoQy1xKXAgRnQoLClmKGZvcilnKGV4YW1wbGUuKTE1MAotMzMyNCB5IEZzKHNlbGYtaW5zZXJ0KWQoXChhLClqKGIsKWcoQSwpZigxLCloKCEsKWcoLi4uKW8oXCkpNjMwCi0zNDMzIHkgRnQoSW5zZXJ0KWcoeSltKG91cnNlbGYuKTE1MCAzNjA5IHkgRnModHJhbnNwb3NlLWNoYXJzKWMKLShcKEMtdFwpKTYzMCAzNzE4IHkgRnQoRHJhZykzMyBiKHRoZSlmKGMpbShoYXJhY3RlciloKGIpcyhlZm9yZSlmKHRoZSlnCiszNTYxIHkoc2VxdWVuY2VzKWQobGlrKW0oZSlnIEZpKEMtcSlwIEZ0KCwpZihmb3IpZyhleGFtcGxlLikxNTAKKzM3MzIgeSBGcyhzZWxmLWluc2VydClkKFwoYSwpaihiLClnKEEsKWYoMSwpaCghLClnKC4uLilvKFwpKTYzMAorMzg0MiB5IEZ0KEluc2VydClnKHkpbShvdXJzZWxmLikxNTAgNDAxMiB5IEZzKHRyYW5zcG9zZS1jaGFycyljCisoXChDLXRcKSk2MzAgNDEyMiB5IEZ0KERyYWcpMzMgYih0aGUpZihjKW0oaGFyYWN0ZXIpaChiKXMoZWZvcmUpZih0aGUpZwogKGN1cnNvcilmKGZvcncpbShhcmQpaChvKW0odiltKGVyKWgodGhlKWYoYyltKGhhcmFjdGVyKWkoYXQpZSh0aGUpZwotKGN1cnNvciwpNjMwIDM4MjggeShtbyltKHZpbmcpayh0aGUpZyhjdXJzb3IpZihmb3J3KW0oYXJkKWcoYXMpZyh3KW0KKyhjdXJzb3IsKTYzMCA0MjMyIHkobW8pbSh2aW5nKWsodGhlKWcoY3Vyc29yKWYoZm9ydyltKGFyZClnKGFzKWcodyltCiAoZWxsLik1NyBiKElmKTM1IGIodGhlKWgoaW5zZXJ0aW9uKWcocClzKG9pbiltKHQpZihpcylnKGF0KWkodGhlKWUoZW5kKQotZyhvZiloKHRoZSk2MzAgMzkzNyB5KGxpbmUsKTI0IGIodGhlbillKHRoaXMpZyh0cmFuc3Apcyhvc2VzKWYodGhlKWgKK2cob2YpaCh0aGUpNjMwIDQzNDEgeShsaW5lLCkyNCBiKHRoZW4pZSh0aGlzKWcodHJhbnNwKXMob3NlcylmKHRoZSloCiAobGFzdCloKHQpbSh3KW0obylnKGMpbShoYXJhY3RlcnMpZyhvZilmKHRoZSloKGxpbmUuKTM4Ci1iKE5lZ2F0aXYpbShlKTI1IGIoYXJndW1lbiltKHRzKTYzMCA0MDQ3IHkoaGEpbSh2KW0oZSkzMgotYihubyllKGVcMDEzZWN0LikxNTAgNDIyMiB5IEZzKHRyYW5zcG9zZS13b3JkcyljKFwoTS10XCkpNjMwCi00MzMyIHkgRnQoRHJhZykzMyBiKHRoZSlnKHcpbShvcmQpZihiKXMoZWZvcmUpZyhwKXMob2luKW0odClnKHBhc3QpZworYihOZWdhdGl2KW0oZSkyNSBiKGFyZ3VtZW4pbSh0cyk2MzAgNDQ1MSB5KGhhKW0odiltKGUpMzIKK2Iobm8pZShlXDAxM2VjdC4pMTUwIDQ2MjEgeSBGcyh0cmFuc3Bvc2Utd29yZHMpYyhcKE0tdFwpKTYzMAorNDczMSB5IEZ0KERyYWcpMzMgYih0aGUpZyh3KW0ob3JkKWYoYilzKGVmb3JlKWcocClzKG9pbiltKHQpZyhwYXN0KWcKICh0aGUpaCh3KW0ob3JkKWYoYWZ0ZXIpZyhwKXMob2luKW0odCwpaShtbyltKHZpbmcpZihwKXMob2luKW0odClmKHBhc3QpCi1nKHRoYXQpNjMwIDQ0NDEgeSh3KW0ob3JkKWMoYXMpaCh3KW0oZWxsLik0MSBiKElmKTI3CitnKHRoYXQpNjMwIDQ4NDEgeSh3KW0ob3JkKWMoYXMpaCh3KW0oZWxsLik0MSBiKElmKTI3CiBiKHRoZSlpKGluc2VydGlvbilmKHApcyhvaW4pbSh0KWgoaXMpZihhdCloKHRoZSlnKGVuZCllKG9mKWkodGhlKWYKLShsaW5lLClpKHRoaXMpZSh0cmFuc3Apcyhvc2VzKWcodGhlKTYzMCA0NTUxIHkobGFzdClqKHQpbSh3KW0obyloKHcpbQotKG9yZHMpZShvbilnKHRoZSloKGxpbmUuKTE1MCA0NzI2IHkgRnModXBjYXNlLXdvcmQpYyhcKE0tdVwpKTYzMAotNDgzNiB5IEZ0KFVwcClzKGVyY2FzZSkzMiBiKHRoZSlnKGN1cnJlbiltKHQpZyhcKG9yKWcoZm9sbG8pbSh3aW5nXCkpaQorKGxpbmUsKWkodGhpcyllKHRyYW5zcClzKG9zZXMpZyh0aGUpNjMwIDQ5NTAgeShsYXN0KWoodCltKHcpbShvKWgodyltCisob3JkcyllKG9uKWcodGhlKWgobGluZS4pMTUwIDUxMjEgeSBGcyh1cGNhc2Utd29yZCljKFwoTS11XCkpNjMwCis1MjMwIHkgRnQoVXBwKXMoZXJjYXNlKTMyIGIodGhlKWcoY3VycmVuKW0odClnKFwob3IpZyhmb2xsbyltKHdpbmdcKSlpCiAodyltKG9yZC4pNDUgYihXaXRoKTMyIGIoYSlnKG5lZ2F0aXYpbShlKWooYXJndW1lbiltKHQsKWUodXBwKXMoZXItKTYzMAotNDk0NiB5KGNhc2UpZSh0aGUpZyhwcmV2aW91cylmKHcpbShvcmQsKWcoYnV0KWcoZG8pZyhub3QpaChtbyltKHYpbShlKWgKLSh0aGUpZShjdXJzb3IuKTE1MCA1MTIxIHkgRnMoZG93bmNhc2Utd29yZClkKFwoTS1sXCkpNjMwCi01MjMwIHkgRnQoTG8pbSh3KW0oZXJjYXNlKWModGhlKWYoY3VycmVuKW0odClmKFwob3IpaChmb2xsbyltKHdpbmdcKSlpCi0odyltKG9yZC4pMzcgYihXaXRoKTIyIGIoYSlnKG5lZ2F0aXYpbShlKWkoYXJndW1lbiltKHQsKWcobG8pbSh3KW0KLShlcmNhc2UpNjMwIDUzNDAgeSh0aGUpMzEgYihwcmV2aW91cyllKHcpbShvcmQsKWkoYnV0KWUoZG8paShub3QpZihtbyltCi0odiltKGUpaSh0aGUpZihjdXJzb3IuKXAgZW9wIGVuZAotJSVQYWdlOiAxMDkgMTE1Ci1UZVhEaWN0IGJlZ2luIDEwOSAxMTQgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCi1iKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMDYyIGIoMTA5KTE1MCAyOTkgeSBGcyhjYXBpdGFsaXplLXdvcmQpCi0yNiBiKFwoTS1jXCkpNjMwIDQwOCB5IEZ0KENhcGl0YWxpemUpZCh0aGUpZihjdXJyZW4pbSh0KWYoXChvcilnKGZvbGxvKQotbSh3aW5nXCkpaSh3KW0ob3JkLikzOCBiKFdpdGgpMjEgYihhKWgobmVnYXRpdiltKGUpaChhcmd1bWVuKW0odCwpaAotKGNhcGl0YWxpemUpNjMwIDUxOCB5KHRoZSkzMSBiKHByZXZpb3VzKWUodyltKG9yZCwpaShidXQpZShkbylpKG5vdClmCi0obW8pbSh2KW0oZSlpKHRoZSlmKGN1cnNvci4pMTUwIDY3MSB5IEZzKG92ZXJ3cml0ZS1tb2RlKTI2Ci1iKFwoXCkpNjMwIDc4MCB5IEZ0KFQpLTggYihvZ2dsZSkzNSBiKG8pbSh2KW0oZXJ3cml0ZSlnKG1vKXMoZGUuKTQ4Ci1iKFdpdGgpMzMgYihhbilnKGV4cGxpY2l0KWgocClzKG9zaXRpdiltKGUpZyhuKW0odW1lcmljKWYoYXJndW1lbiltKHQsKQotaChzd2l0YyltKGhlcyk2MzAgODkwIHkodG8pMjIgYihvKW0odiltKGVyd3JpdGUpaShtbylzKGRlLikzNwotYihXaXRoKTIyIGIoYW4pZyhleHBsaWNpdCloKG5vbi1wKXMob3NpdGl2KW0oZSlmKG4pbSh1bWVyaWMpZyhhcmd1bWVuKW0KLSh0LClpKHN3aXRjKW0oaGVzKWUodG8pNjMwIDk5OSB5KGluc2VydCkzMCBiKG1vKXMoZGUuKTQxCi1iKFRoaXMpMzAgYihjb21tYW5kKWgoYVwwMTNlY3RzKWgob25seSllIEZzKGVtYWNzKWYgRnQobW8pcyhkZTspaQotRnModmkpZiBGdChtbylzKGRlKWcoZG8pcyhlcylnKG8pbSh2KW0oZXJ3cml0ZSk2MzAgMTEwOQoteShkaVwwMTNlcmVuKW0odGx5KS04IGIoLik0MiBiKEVhYyltKGgpMzEgYihjYWxsKWgodG8pZgotRnMocmVhZGxpbmVcKFwpKWMgRnQoc3RhcnRzKWsoaW4pZihpbnNlcnQpZyhtbylzKGRlLik2MzAKLTEyNDAgeShJbillKG8pbSh2KW0oZXJ3cml0ZSlqKG1vKXMoZGUsKWUoYyltKGhhcmFjdGVycylpKGIpcyhvdW5kKWModG8pCi1qIEZzKHNlbGYtaW5zZXJ0KWMgRnQocmVwbGFjZSlrKHRoZSlnKHRleHQpZyhhdClnKHApcyhvaW4pbSh0KTYzMAotMTM1MCB5KHJhdGhlcik0MSBiKHRoYW4paChwdXNoaW5nKWUodGhlKWkodGV4dClnKHRvKWcodGhlKWcocmlnaCltKHQuKQotNzUgYihDaGFyYWN0ZXJzKTQyIGIoYilzKG91bmQpZCh0bylqIEZzKGJhY2t3YXJkLSk2MzAKLTE0NTkgeShkZWxldGUtY2hhcikyNyBiIEZ0KHJlcGxhY2UpMzIgYih0aGUpZShjKW0oaGFyYWN0ZXIpaShiKXMoZWZvcmUpCi1lKHApcyhvaW4pbSh0KWgod2l0aClmKGEpZyhzcGFjZS4pNjMwIDE1OTAgeShCeSloKGRlZmF1bHQsKWYodGhpcyloCi0oY29tbWFuZClmKGlzKWcodW4pbShiKXMob3VuZC4pMTUwIDE3ODMgeSBGaig4LjQuNCk2MwotYihLaWxsaW5nKTQyIGIoQW5kKWUoWSktMTAgYihhbmtpbmcpMTUwIDE5NTEgeSBGcyhraWxsLWxpbmUpMjgKLWIoXChDLWtcKSk2MzAgMjA2MSB5IEZ0KEtpbGwpaih0aGUpZih0ZXh0KWkoZnJvbSllKHApcyhvaW4pbSh0KWcodG8paAotKHRoZSlnKGVuZCllKG9mKWkodGhlKWYobGluZS4pMTUwIDIyMTMgeSBGcyhiYWNrd2FyZC1raWxsLWxpbmUpMjUKLWIoXChDLXgpMzAgYihSdWJvdXRcKSk2MzAgMjMyMyB5IEZ0KEtpbGwpaChiYWMpbShrdyltKGFyZClnKHRvKWcodGhlKWYKLShiKXMoZWdpbm5pbmcpZyhvZilnKHRoZSloKGxpbmUuKTE1MCAyNDc2IHkgRnModW5peC1saW5lLWRpc2NhcmQpMjYKLWIoXChDLXVcKSk2MzAgMjU4NSB5IEZ0KEtpbGwpMzEgYihiYWMpbShrdyltKGFyZClnKGZyb20pZSh0aGUpaShjdXJzb3IpCi1mKHRvKWgodGhlKWYoYilzKGVnaW5uaW5nKWcob2YpaCh0aGUpZihjdXJyZW4pbSh0KWcobGluZS4pMTUwCi0yNzM4IHkgRnMoa2lsbC13aG9sZS1saW5lKWMoXChcKSk2MzAgMjg0NyB5IEZ0KEtpbGwpMzcKLWIoYWxsKWcoYyltKGhhcmFjdGVycyloKG9uKWYodGhlKWYoY3VycmVuKW0odCloKGxpbmUsKWgobm8pZihtYXR0ZXIpZwotKHdoZXJlKWYocClzKG9pbiltKHQpaChpcy4pNTkgYihCeSkzNiBiKGRlZmF1bHQsKTYzMAotMjk1NyB5KHRoaXMpMzAgYihpcyloKHVuKW0oYilzKG91bmQuKTE1MCAzMTA5IHkgRnMoa2lsbC13b3JkKWQoXChNLWRcKSkKLTYzMCAzMjE5IHkgRnQoS2lsbClpKGZyb20pZihwKXMob2luKW0odClnKHRvKWgodGhlKWcoZW5kKWUob2YpaSh0aGUpZgotKGN1cnJlbiltKHQpaCh3KW0ob3JkLClmKG9yKWcoaWYpaChiKXMoZXQpbSh3KW0oZWVuKWcodyltKG9yZHMsKWYodG8paAotKHRoZSlnKGVuZCk2MzAgMzMyOSB5KG9mKWgodGhlKWYobmV4dCloKHcpbShvcmQuKTQwIGIoVyktOAotYihvcmQpMzEgYihiKXMob3VuZGFyaWVzKWUoYXJlKWgodGhlKWgoc2FtZSlnKGFzKWYgRnMoZm9yd2FyZC13b3JkKXAKLUZ0KC4pMTUwIDM0ODEgeSBGcyhiYWNrd2FyZC1raWxsLXdvcmQpMjUgYihcKE0tREVMXCkpNjMwCi0zNTkxIHkgRnQoS2lsbClrKHRoZSlnKHcpbShvcmQpZyhiKXMoZWhpbmQpZShwKXMob2luKW0odC4pNDAKLWIoVyktOCBiKG9yZCkyOSBiKGIpcyhvdW5kYXJpZXMpZihhcmUpaCh0aGUpZyhzYW1lKWcoYXMpZwotRnMoYmFja3dhcmQtd29yZClwIEZ0KC4pMTUwIDM3NDMgeSBGcyhzaGVsbC1raWxsLXdvcmQpZChcKFwpKTYzMAotMzg1MyB5IEZ0KEtpbGwpayhmcm9tKWYocClzKG9pbiltKHQpZyh0byloKHRoZSlnKGVuZCllKG9mKWkodGhlKWYKLShjdXJyZW4pbSh0KWgodyltKG9yZCwpZihvcilnKGlmKWgoYilzKGV0KW0odyltKGVlbilnKHcpbShvcmRzLClmKHRvKWgKLSh0aGUpZyhlbmQpNjMwIDM5NjMgeShvZiloKHRoZSlmKG5leHQpaCh3KW0ob3JkLik0MCBiKFcpLTgKLWIob3JkKTMxIGIoYilzKG91bmRhcmllcyllKGFyZSloKHRoZSloKHNhbWUpZyhhcylmIEZzCi0oc2hlbGwtZm9yd2FyZC13b3JkKXAgRnQoLikxNTAgNDExNSB5IEZzKGJhY2t3YXJkLWtpbGwtd29yZCkyNQotYihcKFwpKTYzMCA0MjI1IHkgRnQoS2lsbClkKHRoZSloKHcpbShvcmQpZShiKXMoZWhpbmQpZyhwKXMob2luKW0odC4pMzgKLWIoVyktOCBiKG9yZCkyMiBiKGIpcyhvdW5kYXJpZXMpZihhcmUpaCh0aGUpZyhzYW1lKWgoYXMpZgotRnMoc2hlbGwtYmFja3dhcmQtKTYzMCA0MzM0IHkod29yZClwIEZ0KC4pMTUwIDQ0ODcgeQotRnModW5peC13b3JkLXJ1Ym91dClrKFwoQy13XCkpNjMwIDQ1OTYgeSBGdChLaWxsKTMyIGIodGhlKWcodyltKG9yZClmCi0oYilzKGVoaW5kKWYocClzKG9pbiltKHQsKWkodXNpbmcpZih3aGl0ZSloKHNwYWNlKWcoYXMpZyhhKWcodyltKG9yZClmCi0oYilzKG91bmRhcnkpLTggYiguKTQzIGIoVGhlKTMxIGIoa2lsbGVkKTYzMCA0NzA2IHkodGV4dClnKGlzKWcoc2EpbSh2KQotbShlZClnKG9uKWcodGhlKWYoa2lsbC1yaW5nLikxNTAgNDg1OSB5IEZzKHVuaXgtZmlsZW5hbWUtcnVib3V0KTI1Ci1iKFwoXCkpNjMwIDQ5NjggeSBGdChLaWxsKTM3IGIodGhlKWYodyltKG9yZClnKGIpcyhlaGluZClmKHApcyhvaW4pbQotKHQsKWoodXNpbmcpZSh3aGl0ZSlnKHNwYWNlKWgoYW5kKWYodGhlKWcoc2xhc2gpZyhjKW0oaGFyYWN0ZXIpaShhcylmCi0odGhlKTYzMCA1MDc4IHkodyltKG9yZCkzMCBiKGIpcyhvdW5kYXJpZXMuKTM5IGIoVGhlKTMwCi1iKGtpbGxlZCloKHRleHQpZyhpcylnKHNhKW0odiltKGVkKWcob24pZyh0aGUpZihraWxsLXJpbmcuKTE1MAotNTIzMCB5IEZzKGRlbGV0ZS1ob3Jpem9udGFsLXNwYWNlKTI0IGIoXChcKSk2MzAgNTM0MAoteSBGdChEZWxldGUpMzMgYihhbGwpZShzcGFjZXMpZyhhbmQpZSh0YWJzKWkoYXJvdW5kKWUocClzKG9pbiltKHQuKTQxCi1iKEJ5KTMxIGIoZGVmYXVsdCwpZih0aGlzKWgoaXMpZih1biltKGIpcyhvdW5kLilwIGVvcAotZW5kCi0lJVBhZ2U6IDExMCAxMTYKLVRlWERpY3QgYmVnaW4gMTEwIDExNSBib3AgMTUwIC0xMTYgYSBGdCgxMTApMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyhraWxsLXJlZ2lvbiljKFwoXCkpNjMwCi00MDggeSBGdChLaWxsKWsodGhlKWYodGV4dClpKGluKWUodGhlKWcoY3VycmVuKW0odCloKHJlZ2lvbi4pNDEKLWIoQnkpMzEgYihkZWZhdWx0LClmKHRoaXMpaChjb21tYW5kKWYoaXMpZyh1biltKGIpcyhvdW5kLikxNTAKLTU3OSB5IEZzKGNvcHktcmVnaW9uLWFzLWtpbGwpMjUgYihcKFwpKTYzMCA2ODkgeSBGdChDb3ApbSh5KTM0Ci1iKHRoZSlnKHRleHQpaChpbilmKHRoZSlnKHJlZ2lvbilnKHRvKWgodGhlKWYoa2lsbCloKGJ1XDAxM2VyLClmKHNvKWcKLShpdCloKGNhbilmKGIpcyhlKWYoeSltKGFuayltKGVkKWkocmlnaCltKHQpZihhKW0odyltKGEpbSh5KS04Ci1iKC4pNjMwIDc5OSB5KEJ5KTMxIGIoZGVmYXVsdCwpZih0aGlzKWgoY29tbWFuZClmKGlzKWcodW4pbShiKXMob3VuZC4pCi0xNTAgOTY5IHkgRnMoY29weS1iYWNrd2FyZC13b3JkKTI1IGIoXChcKSk2MzAgMTA3OSB5Ci1GdChDb3ApbSh5KTM4IGIodGhlKWgodyltKG9yZClmKGIpcyhlZm9yZSlnKHApcyhvaW4pbSh0KWcodG8paSh0aGUpZQotKGtpbGwpaChidVwwMTNlci4pNjQgYihUaGUpMzggYih3KW0ob3JkKWcoYilzKG91bmRhcmllcylmKGFyZSlpKHRoZSk2MzAKLTExODkgeShzYW1lKTMxIGIoYXMpZiBGcyhiYWNrd2FyZC13b3JkKXAgRnQoLikzOCBiKEJ5KTMwCi1iKGRlZmF1bHQsKWgodGhpcylmKGNvbW1hbmQpZyhpcyloKHVuKW0oYilzKG91bmQuKTE1MAotMTM1OSB5IEZzKGNvcHktZm9yd2FyZC13b3JkKTI2IGIoXChcKSk2MzAgMTQ2OSB5IEZ0KENvcCltKHkpMzEKLWIodGhlKWcodyltKG9yZClnKGZvbGxvKW0od2luZyloKHApcyhvaW4pbSh0KWYodG8paCh0aGUpZihraWxsKWgKLShidVwwMTNlci4pNDIgYihUaGUpMzAgYih3KW0ob3JkKWgoYilzKG91bmRhcmllcyllKGFyZSlqKHRoZSk2MzAKLTE1NzkgeShzYW1lKWYoYXMpZiBGcyhmb3J3YXJkLXdvcmQpcCBGdCguKTM4IGIoQnkpMzAKLWIoZGVmYXVsdCwpaCh0aGlzKWcoY29tbWFuZClmKGlzKWcodW4pbShiKXMob3VuZC4pMTUwCi0xNzQ5IHkgRnMoeWFuaylmKFwoQy15XCkpNjMwIDE4NTkgeSBGdChZKS04IGIoYW5rKTMxCi1iKHRoZSlmKHRvcCloKG9mKWcodGhlKWYoa2lsbCloKHJpbmcpZihpbiltKHRvKWkodGhlKWUoYnVcMDEzZXIpZyhhdCloCi0ocClzKG9pbiltKHQuKTE1MCAyMDMwIHkgRnMoeWFuay1wb3ApZChcKE0teVwpKTYzMCAyMTM5Ci15IEZ0KFJvdGF0ZSkzNiBiKHRoZSlmKGtpbGwtcmluZywpaShhbmQpZCh5KW0oYW5rKWgodGhlKWYobmV3KWcodG9wLik1NAotYihZKS04IGIob3UpMzUgYihjYW4pZyhvbmx5KWYoZG8paCh0aGlzKWYoaWYpaCh0aGUpZyhwcmlvcik2MzAKLTIyNDkgeShjb21tYW5kKTMwIGIoaXMpaCBGcyh5YW5rKWUgRnQob3IpaCBGcyh5YW5rLXBvcClwCi1GdCguKTE1MCAyNDYwIHkgRmooOC40LjUpNjMgYihTcClzKGVjaWZ5aW5nKTQyIGIoTnVtZXJpYylmKEFyZ3VtZW4pbQotKHRzKTE1MCAyNjM3IHkgRnMoZGlnaXQtYXJndW1lbnQpMjYgYihcKClwIEZpKE0tMClwIEZzKCwpagotRmkoTS0xKXAgRnMoLCloKC4uLilmIEZpKE0tLSlwIEZzKFwpKTYzMCAyNzQ3IHkgRnQoQWRkKWQodGhpcyloKGRpZ2l0KWcKLSh0byloKHRoZSlmKGFyZ3VtZW4pbSh0KWcoYWxyZWFkeSloKGFjY3VtKW0odWxhdGluZywpaChvcillKHN0YXJ0KWgoYSlmCi0obmV3KWYoYXJndW1lbiltKHQuKTYzMCAyODU3IHkgRmkoTS0tKWogRnQoc3RhcnRzKWkoYSlnKG5lZ2F0aXYpbShlKWkKLShhcmd1bWVuKW0odC4pMTUwIDMwMjcgeSBGcyh1bml2ZXJzYWwtYXJndW1lbnQpMjUgYihcKFwpKTYzMAotMzEzNyB5IEZ0KFRoaXMpZyhpcylnKGFub3RoZXIpaCh3KW0oYSltKHkpZyh0byloKHNwKXMoZWNpZnkpZShhbilnCi0oYXJndW1lbiltKHQuKTQwIGIoSWYpMjUgYih0aGlzKWcoY29tbWFuZCloKGlzKWYoZm9sbG8pbSh3KW0oZWQpaShiKW0KLSh5KWYob25lKTYzMCAzMjQ3IHkob3Ipayhtb3JlKWYoZGlnaXRzLClpKG9wdGlvbmFsbHkpZyh3aXRoKWUoYSloCi0obGVhZGluZyloKG1pbiltKHVzKWUoc2lnbiwpaCh0aG9zZSlnKGRpZ2l0cylnKGRlXDAxNG5lKWYodGhlKWgoYXItKTYzMAotMzM1NiB5KGd1bWVuKW0odC4pNDEgYihJZikyOCBiKHRoZSlpKGNvbW1hbmQpZihpcylnKGZvbGxvKW0odyltKGVkKWgoYikKLW0oeSlmKGRpZ2l0cywpaShleGVjdXRpbmcpZiBGcyh1bml2ZXJzYWwtYXJndW1lbnQpNjMwCi0zNDY2IHkgRnQoYWdhaW4paihlbmRzKWUodGhlKWgobiltKHVtZXJpYylmKGFyZ3VtZW4pbSh0LClpKGJ1dCllKGlzKWgKLShvdGhlcndpc2UpZyhpZ25vcmVkLik0NSBiKEFzKTMyIGIoYSlnKHNwKXMoZWNpYWwpaChjYXNlLCk2MzAKLTM1NzUgeShpZilnKHRoaXMpZyhjb21tYW5kKWYoaXMpaChpbW1lZGlhdGVseSloKGZvbGxvKW0odyltKGVkKWgoYiltKHkpCi1kKGEpaChjKW0oaGFyYWN0ZXIpaSh0aGF0KWUoaXMpZyhuZWl0aGVyKWcoYSlnKGRpZ2l0KTYzMAotMzY4NSB5KG9yKTI4IGIobWluKW0odXMpZihzaWduLClpKHRoZSlmKGFyZ3VtZW4pbSh0KWcoY291biltKHQpaChmb3IpZQotKHRoZSlpKG5leHQpZihjb21tYW5kKWYoaXMpaChtKW0odWx0aXBsaWVkKWgoYiltKHkpZShmb3VyLik2MzAKLTM3OTUgeShUaGUpMzcgYihhcmd1bWVuKW0odCloKGNvdW4pbSh0KWYoaXMpaChpbml0aWFsbHkpaChvbmUsKWcoc28pZgotKGV4ZWN1dGluZylnKHRoaXMpZihmdW5jdGlvbilnKHRoZSloKFwwMTRyc3QpZSh0aW1lKTYzMAotMzkwNCB5KG1hayltKGVzKWQodGhlKWUoYXJndW1lbiltKHQpaShjb3VuKW0odClmKGZvdXIsKWYoYSlpKHNlY29uZCllCi0odGltZSlpKG1hayltKGVzKWYodGhlKWcoYXJndW1lbiltKHQpZyhjb3VuKW0odCloKHNpeC0pNjMwCi00MDE0IHkodGVlbiwpZShhbmQpZihzbyloKG9uLik0MCBiKEJ5KTMxIGIoZGVmYXVsdCwpZyh0aGlzKWYoaXMpZyhub3QpaAotKGIpcyhvdW5kKWQodG8paihhKWcoayltKGV5KS04IGIoLikxNTAgNDIyNCB5IEZqKDguNC42KTYzCi1iKExldHRpbmcpNDAgYihSZWFkbGluZSloKFQpbSh5cClzKGUpZyhGKS0xMCBiKG9yKTQyCi1iKFkpLTEwIGIob3UpMTUwIDQ0MDIgeSBGcyhjb21wbGV0ZSkyOCBiKFwoVEFCXCkpNjMwCi00NTEyIHkgRnQoQSltKHR0ZW1wdCljKHRvKWYocClzKGVyZm9ybSllKGNvbXBsZXRpb24paihvbilmKHRoZSlnKHRleHQpZwotKGIpcyhlZm9yZSlmKHApcyhvaW4pbSh0LikzOSBiKFRoZSkyMiBiKGFjdHVhbClpKGNvbXBsZXRpb24pNjMwCi00NjIxIHkocClzKGVyZm9ybWVkKTMzIGIoaXMpaChhcHBsaWNhdGlvbi1zcClzKGVjaVwwMTRjLik1MwotYihCYXNoKTM1IGIoYXR0ZW1wdHMpZyhjb21wbGV0aW9uKWcodHJlYXRpbmcpaCh0aGUpZSh0ZXh0KTYzMAotNDczMSB5KGFzKTM5IGIoYSloKHYpLTUgYihhcmlhYmxlKTM5IGIoXChpZiloKHRoZSlmKHRleHQpaChiKXMoZWdpbnMpZQotKHdpdGgpaChgKXAgRnMoJClwIEZ0KCdcKSwpaih1c2VybmFtZSljKFwoaWYpaSh0aGUpZih0ZXh0KWgoYilzKGVnaW5zKWUKLSh3aXRoKTYzMCA0ODQwIHkoYClwIEZzKH4pcCBGdCgnXCksKTMxIGIoaG9zdG5hbWUpZihcKGlmKWcodGhlKWcodGV4dCloCi0oYilzKGVnaW5zKWUod2l0aCloKGApcCBGcyhAKXAgRnQoJ1wpLCloKG9yKWYoY29tbWFuZClmKFwoaW5jbHVkaW5nKWgKLShhbGlhc2VzKWkoYW5kKTYzMCA0OTUwIHkoZnVuY3Rpb25zXCkpaihpbilmKHR1cm4uKTUzCi1iKElmKTM0IGIobm9uZSlnKG9mKWgodGhlc2UpaChwcm8pcyhkdWNlcylkKGEpaShtYXRjKW0oaCwpaShcMDE0bGVuYW1lKQotZShjb21wbGV0aW9uKWgoaXMpNjMwIDUwNjAgeShhdHRlbXB0ZWQuKTE1MCA1MjMwIHkgRnMKLShwb3NzaWJsZS1jb21wbGV0aW9ucykyNSBiKFwoTS0/XCkpNjMwIDUzNDAgeSBGdChMaXN0KTMxCi1iKHRoZSlmKHApcyhvc3NpYmxlKWcoY29tcGxldGlvbnMpaShvZillKHRoZSloKHRleHQpZyhiKXMoZWZvcmUpZihwKXMKLShvaW4pbSh0LilwIGVvcCBlbmQKKzUzNDAgeShjYXNlKWUodGhlKWcocHJldmlvdXMpZih3KW0ob3JkLClnKGJ1dClnKGRvKWcobm90KWgobW8pbSh2KW0oZSloCisodGhlKWUoY3Vyc29yLilwIGVvcCBlbmQKICUlUGFnZTogMTExIDExNwogVGVYRGljdCBiZWdpbiAxMTEgMTE2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig4Oik0MQotYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDExMSkxNTAgMjk5IHkgRnMKLShpbnNlcnQtY29tcGxldGlvbnMpMjUgYihcKE0tKlwpKTYzMCA0MDggeSBGdChJbnNlcnQpMzAKLWIoYWxsKWgoY29tcGxldGlvbnMpaChvZilmKHRoZSlnKHRleHQpZyhiKXMoZWZvcmUpZihwKXMob2luKW0odCloKHRoYXQpCi1nKHcpbShvdWxkKWYoaGEpbSh2KW0oZSlpKGIpcyhlZW4pZShnZW5lcmF0ZWQpNjMwIDUxOAoteShiKW0oeSlnIEZzKHBvc3NpYmxlLWNvbXBsZXRpb25zKXAgRnQoLikxNTAgNjgyIHkgRnMobWVudS1jb21wbGV0ZSlkCi0oXChcKSk2MzAgNzkyIHkgRnQoU2ltaWxhcilkKHRvKWcgRnMoY29tcGxldGUpcCBGdCgsKWYoYnV0KWgocmVwbGFjZXMpZwotKHRoZSlnKHcpbShvcmQpZyh0bylnKGIpcyhlKWYoY29tcGxldGVkKWkod2l0aCllKGEpaShzaW5nbGUpZihtYXRjKW0oaCkKLTYzMCA5MDIgeShmcm9tKTM3IGIodGhlKWgobGlzdCloKG9mKWYocClzKG9zc2libGUpZihjb21wbGV0aW9ucy4pNjQKLWIoUmVwKXMoZWF0ZWQpMzkgYihleGVjdXRpb24pZyhvZilmIEZzKG1lbnUtY29tcGxldGUpNjMwCi0xMDExIHkgRnQoc3RlcHMpaSh0aHJvdWdoKWcodGhlKWcobGlzdCloKG9mKWYocClzKG9zc2libGUpZwotKGNvbXBsZXRpb25zLClrKGluc2VydGluZyljKGVhYyltKGgpaShtYXRjKW0oaClmKGluKWYodHVybi4pNjMwCi0xMTIxIHkoQSltKHQpZSh0aGUpZihlbmQpZihvZiloKHRoZSlnKGxpc3QpZyhvZilnKGNvbXBsZXRpb25zLClpKHRoZSllCi0oYilzKGVsbClnKGlzKWcocnVuZylmKFwoc3ViKTUgYihqZWN0KTM2IGIodG8paSh0aGUpZihzZXR0aW5nKTYzMAotMTIzMCB5KG9mKWYgRnMoYmVsbC1zdHlsZSlwIEZ0KFwpKWUoYW5kKWgodGhlKWgob3JpZ2luYWwpaSh0ZXh0KWYoaXMpZgotKHJlc3RvcmVkLik1NyBiKEFuKTM2IGIoYXJndW1lbiltKHQpaChvZilmIEZxKG4pZiBGdChtbyltKHYpbShlcylpCi1GcShuKTYzMCAxMzQwIHkgRnQocClzKG9zaXRpb25zKWUoZm9ydyltKGFyZClmKGluKWcodGhlKWgobGlzdCloKG9mKWUKLShtYXRjKW0oaGVzOykzOSBiKGEpYyhuZWdhdGl2KW0oZSlpKGFyZ3VtZW4pbSh0KWUobWEpbSh5KWcoYilzKGUpZgotKHVzZWQpZyh0byk2MzAgMTQ1MCB5KG1vKW0odiltKGUpNDAgYihiYWMpbShrdyltKGFyZCllKHRocm91Z2gpZyh0aGUpZwotKGxpc3QuKTY1IGIoVGhpcykzOCBiKGNvbW1hbmQpZyhpcylnKGluKW0odGVuZGVkKWcodG8paChiKXMoZSlmKGIpcwotKG91bmQpZSh0byk2MzAgMTU1OSB5IEZzKFRBQilwIEZ0KCwpMzAgYihidXQpZihpcylpKHVuKW0oYilzKG91bmQpZChiKW0KLSh5KWkoZGVmYXVsdC4pMTUwIDE3MjQgeSBGcyhtZW51LWNvbXBsZXRlLWJhY2t3YXJkKTI0Ci1iKFwoXCkpNjMwIDE4MzMgeSBGdChJZGVuKW0odGljYWwpMzYgYih0bylnIEZzKG1lbnUtY29tcGxldGUpcAotRnQoLClkKGJ1dCloKG1vKW0odiltKGVzKWooYmFjKW0oa3cpbShhcmQpZSh0aHJvdWdoKWYodGhlKWkobGlzdClmKG9mKWcKLShwKXMob3NzaWJsZSk2MzAgMTk0MyB5KGNvbXBsZXRpb25zLClkKGFzKWUoaWYpaCBGcyhtZW51LWNvbXBsZXRlKTI2Ci1iIEZ0KGhhZClrKGIpcyhlZW4pZyhnaXYpbShlbiloKGEpZyhuZWdhdGl2KW0oZSlpKGFyZ3VtZW4pbSh0LikxNTAKLTIxMDcgeSBGcyhkZWxldGUtY2hhci1vci1saXN0KTI1IGIoXChcKSk2MzAgMjIxNyB5IEZ0KERlbGV0ZXMpayh0aGUpZQotKGMpbShoYXJhY3RlciloKHVuZGVyKWUodGhlKWgoY3Vyc29yKWYoaWYpaChub3QpZyhhdClnKHRoZSlnKGIpcwotKGVnaW5uaW5nKWcob3IpZihlbmQpaChvZilnKHRoZSlnKGxpbmUpNjMwIDIzMjYgeShcKGxpayltKGUpawotRnMoZGVsZXRlLWNoYXIpcCBGdChcKS4pMzcgYihJZikyOSBiKGF0KWgodGhlKWYoZW5kKWYob2YpaSh0aGUpZihsaW5lLCkKLWgoYilzKGVoYSltKHYpbShlcylnKGlkZW4pbSh0aWNhbGx5KWgodG8pZSBGcyhwb3NzaWJsZS0pNjMwCi0yNDM2IHkoY29tcGxldGlvbnMpcCBGdCguKTM4IGIoVGhpcykyOSBiKGNvbW1hbmQpaChpcyloKHVuKW0oYilzKG91bmQpZAotKGIpbSh5KWkoZGVmYXVsdC4pMTUwIDI2MDAgeSBGcyhjb21wbGV0ZS1maWxlbmFtZSljKFwoTS0vXCkpNjMwCi0yNzEwIHkgRnQoQSltKHR0ZW1wdCkzMiBiKFwwMTRsZW5hbWUpZShjb21wbGV0aW9uKWkob24pZSh0aGUpaCh0ZXh0KWcKLShiKXMoZWZvcmUpZihwKXMob2luKW0odC4pMTUwIDI4NzQgeSBGcyhwb3NzaWJsZS1maWxlbmFtZS1jb21wbGUpbwotKHRpb24pbyhzKTI0IGIoXChDLXgpMzAgYigvXCkpNjMwIDI5ODQgeSBGdChMaXN0KWYodGhlKWcocClzKG9zc2libGUpZgotKGNvbXBsZXRpb25zKWgob2YpZyh0aGUpZyh0ZXh0KWcoYilzKGVmb3JlKWcocClzKG9pbiltKHQsKWcodHJlYXRpbmcpaAotKGl0KWYoYXMpZyhhKWYoXDAxNGxlbmFtZS4pMTUwIDMxNDggeSBGcyhjb21wbGV0ZS11c2VybmFtZSllKFwoTS1+XCkpCi02MzAgMzI1OCB5IEZ0KEEpbSh0dGVtcHQpMzIgYihjb21wbGV0aW9uKWYob24pZyh0aGUpZih0ZXh0KWkoYilzKGVmb3JlKQotZShwKXMob2luKW0odCwpZyh0cmVhdGluZylpKGl0KWYoYXMpZihhKWgodXNlcm5hbWUuKTE1MAotMzQyMiB5IEZzKHBvc3NpYmxlLXVzZXJuYW1lLWNvbXBsZSlvKHRpb24pbyhzKTI0IGIoXChDLXgpMzAKLWIoflwpKTYzMCAzNTMyIHkgRnQoTGlzdCkyNSBiKHRoZSlnKHApcyhvc3NpYmxlKWcoY29tcGxldGlvbnMpaChvZilmCi0odGhlKWcodGV4dCloKGIpcyhlZm9yZSlmKHApcyhvaW4pbSh0LCloKHRyZWF0aW5nKWcoaXQpZyhhcylmKGEpZwotKHVzZXJuYW1lLikxNTAgMzY5NiB5IEZzKGNvbXBsZXRlLXZhcmlhYmxlKWgoXChNLSRcKSk2MzAKLTM4MDYgeSBGdChBKW0odHRlbXB0KTMyIGIoY29tcGxldGlvbilmKG9uKWcodGhlKWYodGV4dClpKGIpcyhlZm9yZSllKHApCi1zKG9pbiltKHQsKWcodHJlYXRpbmcpaShpdClmKGFzKWYoYSloKHNoZWxsKWcodiktNSBiKGFyaWFibGUuKTE1MAotMzk3MCB5IEZzKHBvc3NpYmxlLXZhcmlhYmxlLWNvbXBsZSlvKHRpb24pbyhzKTI0IGIoXChDLXgpMzAKLWIoJFwpKTYzMCA0MDgwIHkgRnQoTGlzdCk0MiBiKHRoZSlnKHApcyhvc3NpYmxlKWcoY29tcGxldGlvbnMpaChvZilmCi0odGhlKWcodGV4dCloKGIpcyhlZm9yZSllKHApcyhvaW4pbSh0LCk0NiBiKHRyZWF0aW5nKWQoaXQpZihhcylnKGEpaAotKHNoZWxsKTYzMCA0MTg5IHkodiktNSBiKGFyaWFibGUuKTE1MCA0MzU0IHkgRnMoY29tcGxldGUtaG9zdG5hbWUpMjYKLWIoXChNLUBcKSk2MzAgNDQ2MyB5IEZ0KEEpbSh0dGVtcHQpMzIgYihjb21wbGV0aW9uKWYob24pZyh0aGUpZih0ZXh0KWkKLShiKXMoZWZvcmUpZShwKXMob2luKW0odCwpZyh0cmVhdGluZylpKGl0KWYoYXMpZihhKWgoaG9zdG5hbWUuKTE1MAotNDYyOCB5IEZzKHBvc3NpYmxlLWhvc3RuYW1lLWNvbXBsZSlvKHRpb24pbyhzKTI0IGIoXChDLXgpMzAKLWIoQFwpKTYzMCA0NzM3IHkgRnQoTGlzdCkyNSBiKHRoZSlnKHApcyhvc3NpYmxlKWYoY29tcGxldGlvbnMpaChvZilnCi0odGhlKWcodGV4dClnKGIpcyhlZm9yZSlnKHApcyhvaW4pbSh0LCloKHRyZWF0aW5nKWcoaXQpZihhcylmKGEpaAotKGhvc3RuYW1lLikxNTAgNDkwMiB5IEZzKGNvbXBsZXRlLWNvbW1hbmQpaChcKE0tIVwpKTYzMAotNTAxMSB5IEZ0KEEpbSh0dGVtcHQpMzIgYihjb21wbGV0aW9uKWcob24pZih0aGUpZyh0ZXh0KWgoYilzKGVmb3JlKWUocCkKLXMob2luKW0odCwpaCh0cmVhdGluZyloKGl0KWcoYXMpZihhKWcoY29tbWFuZClnKG5hbWUuKTYzMAotNTEyMSB5KENvbW1hbmQpNDYgYihjb21wbGV0aW9uKWkoYXR0ZW1wdHMpZyh0bylmKG1hdGMpbShoKWgodGhlKWYodGV4dCkKLWgoYWdhaW5zdClnKGFsaWFzZXMsKTUzIGIocmVzZXJ2KW0oZWQpNjMwIDUyMzAgeSh3KW0ob3JkcywpMzYKLWIoc2hlbGwpZyhmdW5jdGlvbnMsKWgoc2hlbGwpZShidWlsdGlucywpaShhbmQpZShcMDE0bmFsbHkpZwotKGV4ZWN1dGFibGUpaShcMDE0bGVuYW1lcywpZyhpbillKHRoYXQpNjMwIDUzNDAgeShvcmRlci4pcAotZW9wIGVuZAorYihDb21tYW5kKTI5IGIoTGluZSlpKEVkaXRpbmcpMjA2MiBiKDExMSkxNTAgMjk5IHkgRnMoZG93bmNhc2Utd29yZCkyNworYihcKE0tbFwpKTYzMCA0MDggeSBGdChMbyltKHcpbShlcmNhc2UpYyh0aGUpZihjdXJyZW4pbSh0KWYoXChvciloCisoZm9sbG8pbSh3aW5nXCkpaSh3KW0ob3JkLikzNyBiKFdpdGgpMjIgYihhKWcobmVnYXRpdiltKGUpaShhcmd1bWVuKW0KKyh0LClnKGxvKW0odyltKGVyY2FzZSk2MzAgNTE4IHkodGhlKTMxIGIocHJldmlvdXMpZSh3KW0ob3JkLClpKGJ1dCllCisoZG8paShub3QpZihtbyltKHYpbShlKWkodGhlKWYoY3Vyc29yLikxNTAgNjkyIHkgRnMoY2FwaXRhbGl6ZS13b3JkKTI2CitiKFwoTS1jXCkpNjMwIDgwMSB5IEZ0KENhcGl0YWxpemUpZCh0aGUpZihjdXJyZW4pbSh0KWYoXChvcilnKGZvbGxvKW0KKyh3aW5nXCkpaSh3KW0ob3JkLikzOCBiKFdpdGgpMjEgYihhKWgobmVnYXRpdiltKGUpaChhcmd1bWVuKW0odCwpaAorKGNhcGl0YWxpemUpNjMwIDkxMSB5KHRoZSkzMSBiKHByZXZpb3VzKWUodyltKG9yZCwpaShidXQpZShkbylpKG5vdClmCisobW8pbSh2KW0oZSlpKHRoZSlmKGN1cnNvci4pMTUwIDEwODQgeSBGcyhvdmVyd3JpdGUtbW9kZSkyNgorYihcKFwpKTYzMCAxMTk0IHkgRnQoVCktOCBiKG9nZ2xlKTM1IGIobyltKHYpbShlcndyaXRlKWcobW8pcyhkZS4pNDgKK2IoV2l0aCkzMyBiKGFuKWcoZXhwbGljaXQpaChwKXMob3NpdGl2KW0oZSlnKG4pbSh1bWVyaWMpZihhcmd1bWVuKW0odCwpCitoKHN3aXRjKW0oaGVzKTYzMCAxMzA0IHkodG8pMjIgYihvKW0odiltKGVyd3JpdGUpaShtbylzKGRlLikzNworYihXaXRoKTIyIGIoYW4pZyhleHBsaWNpdCloKG5vbi1wKXMob3NpdGl2KW0oZSlmKG4pbSh1bWVyaWMpZyhhcmd1bWVuKW0KKyh0LClpKHN3aXRjKW0oaGVzKWUodG8pNjMwIDE0MTMgeShpbnNlcnQpMzAgYihtbylzKGRlLik0MQorYihUaGlzKTMwIGIoY29tbWFuZCloKGFcMDEzZWN0cyloKG9ubHkpZSBGcyhlbWFjcylmIEZ0KG1vKXMoZGU7KWkKK0ZzKHZpKWYgRnQobW8pcyhkZSlnKGRvKXMoZXMpZyhvKW0odiltKGVyd3JpdGUpNjMwIDE1MjMKK3koZGlcMDEzZXJlbiltKHRseSktOCBiKC4pNDIgYihFYWMpbShoKTMxIGIoY2FsbCloKHRvKWYKK0ZzKHJlYWRsaW5lXChcKSljIEZ0KHN0YXJ0cylrKGluKWYoaW5zZXJ0KWcobW8pcyhkZS4pNjMwCisxNjY0IHkoSW4pZShvKW0odiltKGVyd3JpdGUpaihtbylzKGRlLCllKGMpbShoYXJhY3RlcnMpaShiKXMob3VuZCljKHRvKQoraiBGcyhzZWxmLWluc2VydCljIEZ0KHJlcGxhY2Upayh0aGUpZyh0ZXh0KWcoYXQpZyhwKXMob2luKW0odCk2MzAKKzE3NzQgeShyYXRoZXIpNDEgYih0aGFuKWgocHVzaGluZyllKHRoZSlpKHRleHQpZyh0bylnKHRoZSlnKHJpZ2gpbSh0LikKKzc1IGIoQ2hhcmFjdGVycyk0MiBiKGIpcyhvdW5kKWQodG8paiBGcyhiYWNrd2FyZC0pNjMwCisxODgzIHkoZGVsZXRlLWNoYXIpMjcgYiBGdChyZXBsYWNlKTMyIGIodGhlKWUoYyltKGhhcmFjdGVyKWkoYilzKGVmb3JlKQorZShwKXMob2luKW0odCloKHdpdGgpZihhKWcoc3BhY2UuKTYzMCAyMDI1IHkoQnkpaChkZWZhdWx0LClmKHRoaXMpaAorKGNvbW1hbmQpZihpcylnKHVuKW0oYilzKG91bmQuKTE1MCAyMjM4IHkgRmooOC40LjQpNjMKK2IoS2lsbGluZyk0MiBiKEFuZCllKFkpLTEwIGIoYW5raW5nKTE1MCAyNDE3IHkgRnMoa2lsbC1saW5lKTI4CitiKFwoQy1rXCkpNjMwIDI1MjcgeSBGdChLaWxsKWoodGhlKWYodGV4dClpKGZyb20pZShwKXMob2luKW0odClnKHRvKWgKKyh0aGUpZyhlbmQpZShvZilpKHRoZSlmKGxpbmUuKTE1MCAyNzAwIHkgRnMoYmFja3dhcmQta2lsbC1saW5lKTI1CitiKFwoQy14KTMwIGIoUnVib3V0XCkpNjMwIDI4MTAgeSBGdChLaWxsKWgoYmFjKW0oa3cpbShhcmQpZyh0bylnKHRoZSlmCisoYilzKGVnaW5uaW5nKWcob2YpZyh0aGUpaChsaW5lLikxNTAgMjk4NCB5IEZzKHVuaXgtbGluZS1kaXNjYXJkKTI2CitiKFwoQy11XCkpNjMwIDMwOTMgeSBGdChLaWxsKTMxIGIoYmFjKW0oa3cpbShhcmQpZyhmcm9tKWUodGhlKWkoY3Vyc29yKQorZih0byloKHRoZSlmKGIpcyhlZ2lubmluZylnKG9mKWgodGhlKWYoY3VycmVuKW0odClnKGxpbmUuKTE1MAorMzI2NyB5IEZzKGtpbGwtd2hvbGUtbGluZSljKFwoXCkpNjMwIDMzNzYgeSBGdChLaWxsKTM3CitiKGFsbClnKGMpbShoYXJhY3RlcnMpaChvbilmKHRoZSlmKGN1cnJlbiltKHQpaChsaW5lLCloKG5vKWYobWF0dGVyKWcKKyh3aGVyZSlmKHApcyhvaW4pbSh0KWgoaXMuKTU5IGIoQnkpMzYgYihkZWZhdWx0LCk2MzAKKzM0ODYgeSh0aGlzKTMwIGIoaXMpaCh1biltKGIpcyhvdW5kLikxNTAgMzY1OSB5IEZzKGtpbGwtd29yZClkKFwoTS1kXCkpCis2MzAgMzc2OSB5IEZ0KEtpbGwpaShmcm9tKWYocClzKG9pbiltKHQpZyh0byloKHRoZSlnKGVuZCllKG9mKWkodGhlKWYKKyhjdXJyZW4pbSh0KWgodyltKG9yZCwpZihvcilnKGlmKWgoYilzKGV0KW0odyltKGVlbilnKHcpbShvcmRzLClmKHRvKWgKKyh0aGUpZyhlbmQpNjMwIDM4NzkgeShvZiloKHRoZSlmKG5leHQpaCh3KW0ob3JkLik0MCBiKFcpLTgKK2Iob3JkKTMxIGIoYilzKG91bmRhcmllcyllKGFyZSloKHRoZSloKHNhbWUpZyhhcylmIEZzKGZvcndhcmQtd29yZClwCitGdCguKTE1MCA0MDUyIHkgRnMoYmFja3dhcmQta2lsbC13b3JkKTI1IGIoXChNLURFTFwpKTYzMAorNDE2MiB5IEZ0KEtpbGwpayh0aGUpZyh3KW0ob3JkKWcoYilzKGVoaW5kKWUocClzKG9pbiltKHQuKTQwCitiKFcpLTggYihvcmQpMjkgYihiKXMob3VuZGFyaWVzKWYoYXJlKWgodGhlKWcoc2FtZSlnKGFzKWcKK0ZzKGJhY2t3YXJkLXdvcmQpcCBGdCguKTE1MCA0MzM1IHkgRnMoc2hlbGwta2lsbC13b3JkKWQoXChcKSk2MzAKKzQ0NDUgeSBGdChLaWxsKWsoZnJvbSlmKHApcyhvaW4pbSh0KWcodG8paCh0aGUpZyhlbmQpZShvZilpKHRoZSlmCisoY3VycmVuKW0odCloKHcpbShvcmQsKWYob3IpZyhpZiloKGIpcyhldCltKHcpbShlZW4pZyh3KW0ob3JkcywpZih0byloCisodGhlKWcoZW5kKTYzMCA0NTU1IHkob2YpaCh0aGUpZihuZXh0KWgodyltKG9yZC4pNDAgYihXKS04CitiKG9yZCkzMSBiKGIpcyhvdW5kYXJpZXMpZShhcmUpaCh0aGUpaChzYW1lKWcoYXMpZiBGcworKHNoZWxsLWZvcndhcmQtd29yZClwIEZ0KC4pMTUwIDQ3MjggeSBGcyhzaGVsbC1iYWNrd2FyZC1raWxsLXdvcmQpMjQKK2IoXChcKSk2MzAgNDgzOCB5IEZ0KEtpbGwpZSh0aGUpaCh3KW0ob3JkKWUoYilzKGVoaW5kKWcocClzKG9pbiltKHQuKTM4CitiKFcpLTggYihvcmQpMjIgYihiKXMob3VuZGFyaWVzKWYoYXJlKWgodGhlKWcoc2FtZSloKGFzKWYKK0ZzKHNoZWxsLWJhY2t3YXJkLSk2MzAgNDk0NyB5KHdvcmQpcCBGdCguKTE1MCA1MTIxIHkKK0ZzKHVuaXgtd29yZC1ydWJvdXQpayhcKEMtd1wpKTYzMCA1MjMwIHkgRnQoS2lsbCkzMiBiKHRoZSlnKHcpbShvcmQpZgorKGIpcyhlaGluZClmKHApcyhvaW4pbSh0LClpKHVzaW5nKWYod2hpdGUpaChzcGFjZSlnKGFzKWcoYSlnKHcpbShvcmQpZgorKGIpcyhvdW5kYXJ5KS04IGIoLik0MyBiKFRoZSkzMSBiKGtpbGxlZCk2MzAgNTM0MCB5KHRleHQpZyhpcylnKHNhKW0odikKK20oZWQpZyhvbilnKHRoZSlmKGtpbGwtcmluZy4pcCBlb3AgZW5kCiAlJVBhZ2U6IDExMiAxMTgKIFRlWERpY3QgYmVnaW4gMTEyIDExNyBib3AgMTUwIC0xMTYgYSBGdCgxMTIpMjUyNyBiKEJhc2gpMzEKLWIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcyhwb3NzaWJsZS1jb21tYW5kLWNvbXBsZXQpbyhpb25zKTI0Ci1iKFwoQy14KTI5IGIoIVwpKTYzMCA0MDggeSBGdChMaXN0KWQodGhlKWgocClzKG9zc2libGUpZihjb21wbGV0aW9ucyloCi0ob2YpZih0aGUpaCh0ZXh0KWcoYilzKGVmb3JlKWYocClzKG9pbiltKHQsKWgodHJlYXRpbmcpZyhpdClnKGFzKWcoYSlmCi0oY29tbWFuZCk2MzAgNTE4IHkobmFtZS4pMTUwIDY3NSB5IEZzKGR5bmFtaWMtY29tcGxldGUtaGlzdG9yeSllCi0oXChNLVRBQlwpKTYzMCA3ODQgeSBGdChBKW0odHRlbXB0KTMxIGIoY29tcGxldGlvbiloKG9uKWUodGhlKWcodGV4dCloCi0oYilzKGVmb3JlKWYocClzKG9pbiltKHQsKWcoY29tcGFyaW5nKWgodGhlKWYodGV4dCloKGFnYWluc3QpaChsaW5lcykKLTYzMCA4OTQgeShmcm9tKWUodGhlKWcoaGlzdG9yeSloKGxpc3QpZyhmb3IpZihwKXMob3NzaWJsZSlnKGNvbXBsZXRpb24pCi1pKG1hdGMpbShoZXMuKTE1MCAxMDUxIHkgRnMoZGFiYnJldi1leHBhbmQpMjYgYihcKFwpKTYzMAotMTE2MCB5IEZ0KEEpbSh0dGVtcHQpaShtZW4pbSh1KWUoY29tcGxldGlvbilpKG9uKWYodGhlKWcodGV4dClnKGIpcwotKGVmb3JlKWYocClzKG9pbiltKHQsKWkoY29tcGFyaW5nKWYodGhlKWcodGV4dCloKGFnYWluc3QpNjMwCi0xMjcwIHkobGluZXMpaihmcm9tKWUodGhlKWkoaGlzdG9yeSlmKGxpc3QpaChmb3IpZyhwKXMob3NzaWJsZSllCi0oY29tcGxldGlvbilqKG1hdGMpbShoZXMuKTE1MCAxNDI3IHkgRnMoY29tcGxldGUtaW50by1icmFjZXMpMjUKLWIoXChNLXtcKSk2MzAgMTUzNiB5IEZ0KFApbShlcmZvcm0pZihcMDE0bGVuYW1lKWYoY29tcGxldGlvbilpKGFuZClmCi0oaW5zZXJ0KWYodGhlKWgobGlzdClnKG9mKWcocClzKG9zc2libGUpZihjb21wbGV0aW9ucylpKGVuY2xvc2VkKTYzMAotMTY0NiB5KHdpdGhpbikzNCBiKGJyYWNlcyloKHNvKWYodGhlKWgobGlzdClnKGlzKWcoYSltKHYpLTUKLWIoYWlsYWJsZSkzNyBiKHRvKWUodGhlKWcoc2hlbGwpZyhcKHNlZSlnKFNlY3Rpb24paCgzLjUuMSlnKFtCcmFjZSlnCi0oRXgtKTYzMCAxNzU1IHkocGFuc2lvbl0sKTMwIGIocGFnZSloKDE4XCkuKTE1MCAxOTUyCi15IEZqKDguNC43KTYzIGIoS2V5YilzKG9hcmQpNDEgYihNYWNyb3MpMTUwIDIxMjIgeSBGcyhzdGFydC1rYmQtbWFjcm8pCi0yNiBiKFwoQy14KWooXChcKSk2MzAgMjIzMiB5IEZ0KEJlZ2luKWkoc2EpbSh2aW5nKWgodGhlKWUoYyltCi0oaGFyYWN0ZXJzKWkodCltKHlwKXMoZWQpZShpbiltKHRvKWgodGhlKWcoY3VycmVuKW0odClmKGspbShleWIpcyhvYXJkKQotZyhtYWNyby4pMTUwIDIzODkgeSBGcyhlbmQta2JkLW1hY3JvKWQoXChDLXgpaShcKVwpKTYzMAotMjQ5OCB5IEZ0KFN0b3ApZShzYSltKHZpbmcpaCh0aGUpZyhjKW0oaGFyYWN0ZXJzKWcodCltKHlwKXMoZWQpZihpbiltCi0odG8paSh0aGUpZShjdXJyZW4pbSh0KWcoayltKGV5YilzKG9hcmQpZyhtYWNybyloKGFuZClmKHNhKW0odiltKGUpaQotKHRoZSk2MzAgMjYwOCB5KGRlXDAxNG5pdGlvbi4pMTUwIDI3NjUgeSBGcyhjYWxsLWxhc3Qta2JkLW1hY3JvKWMKLShcKEMteClrKGVcKSk2MzAgMjg3NCB5IEZ0KFJlLWV4ZWN1dGUpMzcgYih0aGUpZShsYXN0KWgoayltKGV5YilzKG9hcmQpCi1mKG1hY3JvKWgoZGVcMDE0bmVkLClmKGIpbSh5KWgobWFraW5nKWYodGhlKWcoYyltKGhhcmFjdGVycylpKGluKWUodGhlKQotNjMwIDI5ODQgeShtYWNybyljKGFwcClzKGVhcilmKGFzKWcoaWYpaCh0KW0oeXApcyhlZClmKGF0KWgodGhlKWYoayltCi0oZXliKXMob2FyZC4pMTUwIDMxODAgeSBGaig4LjQuOCk2MyBiKFNvbWUpNDEgYihNaXNjZWxsYW5lb3VzKWkKLShDb21tYW5kcykxNTAgMzM1MSB5IEZzKHJlLXJlYWQtaW5pdC1maWxlKTI2IGIoXChDLXgpaihDLXJcKSk2MzAKLTM0NjAgeSBGdChSZWFkKTIyIGIoaW4pZyh0aGUpZyhjb24pbSh0ZW4pbSh0cyloKG9mKWYodGhlKWcKLUZxKGlucHV0cmMpMjcgYiBGdChcMDE0bGUsKWQoYW5kKWQoaW5jb3JwKXMob3JhdGUpaChhbiltKHkpaChiaW5kaW5ncylkCi0ob3IpaSh2KS01IGIoYXJpYWJsZSk2MzAgMzU3MCB5KGFzc2lnbm1lbiltKHRzKTMxIGIoZm91bmQpZSh0aGVyZS4pMTUwCi0zNzI3IHkgRnMoYWJvcnQpZyhcKEMtZ1wpKTYzMCAzODM2IHkgRnQoQWIpcyhvcnQpZCh0aGUpaChjdXJyZW4pbSh0KWYKLShlZGl0aW5nKWgoY29tbWFuZClmKGFuZClnKHJpbmcpaCh0aGUpZih0ZXJtaW5hbCdzKWgoYilzKGVsbClnKFwoc3ViKTUKLWIoamVjdCkyNiBiKHRvKWkodGhlKTYzMCAzOTQ2IHkoc2V0dGluZylqKG9mKWcgRnMoYmVsbC1zdHlsZSlwCi1GdChcKS4pMTUwIDQxMDMgeSBGcyhkby11cHBlcmNhc2UtdmVyc2lvbikyNSBiKFwoTS1hLClrKE0tYiwpZyhNLSlwCi1GaSh4KTExIGIgRnMoLCkyOSBiKC4uLilvKFwpKTYzMCA0MjEyIHkgRnQoSWYpZSh0aGUpaChtZXRhXDAxNGVkKWcoYyltCi0oaGFyYWN0ZXIpaCBGcSh4KTM0IGIgRnQoaXMpMjggYihsbyltKHcpbShlcmNhc2UsKWkocnVuKWQodGhlKWcKLShjb21tYW5kKWgodGhhdClnKGlzKWcoYilzKG91bmQpZCh0bylrKHRoZSk2MzAgNDMyMiB5KGNvcnJlc3ApcyhvbmRpbmcpCi1nKHVwcClzKGVyY2FzZSloKGMpbShoYXJhY3Rlci4pMTUwIDQ0NzkgeSBGcyhwcmVmaXgtbWV0YSlkKFwoRVNDXCkpNjMwCi00NTg4IHkgRnQoTWV0YWZ5KTM5IGIodGhlKWUobmV4dCloKGMpbShoYXJhY3RlciloKHQpbSh5cClzKGVkLik2MgotYihUaGlzKTM3IGIoaXMpZyhmb3IpaChrKW0oZXliKXMob2FyZHMpZih3aXRob3V0KWcoYSloKG1ldGEpZyhrKW0oZXkpLTgKLWIoLik2MzAgNDY5OCB5KFQpbSh5cGluZykzMCBiKGApcCBGcyhFU0MpZyhmKXAgRnQoJylnKGlzKWgoZXF1aXYpLTUKLWIoYWxlbiltKHQpMzEgYih0bylnKHQpbSh5cGluZylnIEZpKE0tZilwIEZ0KC4pMTUwIDQ4NTQKLXkgRnModW5kbyllKFwoQy1fKWcob3IpaChDLXgpZyhDLXVcKSk2MzAgNDk2NCB5IEZ0KEluY3JlbWVuKW0odGFsKWgKLSh1bmRvLClmKHNlcGFyYXRlbHkpaChyZW1lbSltKGIpcyhlcmVkKWYoZm9yKWcoZWFjKW0oaClpKGxpbmUuKTE1MAotNTEyMSB5IEZzKHJldmVydC1saW5lKTI3IGIoXChNLXJcKSk2MzAgNTIzMCB5IEZ0KFVuZG8pMzMKLWIoYWxsKWgoYyltKGhhbmdlcylnKG1hZGUpZih0byloKHRoaXMpZihsaW5lLik0OSBiKFRoaXMpMzIKLWIoaXMpaChsaWspbShlKWkoZXhlY3V0aW5nKWYodGhlKWYgRnModW5kbylmIEZ0KGNvbW1hbmQpNjMwCi01MzQwIHkoZW5vdWdoKWUodGltZXMpaCh0bylnKGdldCloKGJhYyltKGspZih0bylnKHRoZSlmKGIpcyhlZ2lubmluZy4pcAotZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZzKHVuaXgtZmlsZW5hbWUtcnVib3V0KTI1CitiKFwoXCkpNjMwIDQwOCB5IEZ0KEtpbGwpMzcgYih0aGUpZih3KW0ob3JkKWcoYilzKGVoaW5kKWYocClzKG9pbiltKHQsKQoraih1c2luZyllKHdoaXRlKWcoc3BhY2UpaChhbmQpZih0aGUpZyhzbGFzaClnKGMpbShoYXJhY3RlcilpKGFzKWYodGhlKQorNjMwIDUxOCB5KHcpbShvcmQpMzAgYihiKXMob3VuZGFyaWVzLikzOSBiKFRoZSkzMCBiKGtpbGxlZCloKHRleHQpZyhpcykKK2coc2EpbSh2KW0oZWQpZyhvbilnKHRoZSlmKGtpbGwtcmluZy4pMTUwIDY3MyB5IEZzCisoZGVsZXRlLWhvcml6b250YWwtc3BhY2UpMjQgYihcKFwpKTYzMCA3ODMgeSBGdChEZWxldGUpMzMKK2IoYWxsKWUoc3BhY2VzKWcoYW5kKWUodGFicylpKGFyb3VuZCllKHApcyhvaW4pbSh0Lik0MQorYihCeSkzMSBiKGRlZmF1bHQsKWYodGhpcyloKGlzKWYodW4pbShiKXMob3VuZC4pMTUwIDkzOAoreSBGcyhraWxsLXJlZ2lvbilkKFwoXCkpNjMwIDEwNDggeSBGdChLaWxsKWsodGhlKWYodGV4dClpKGluKWUodGhlKWcKKyhjdXJyZW4pbSh0KWgocmVnaW9uLik0MSBiKEJ5KTMxIGIoZGVmYXVsdCwpZih0aGlzKWgoY29tbWFuZClmKGlzKWcodW4pCittKGIpcyhvdW5kLikxNTAgMTIwMyB5IEZzKGNvcHktcmVnaW9uLWFzLWtpbGwpMjUgYihcKFwpKTYzMAorMTMxMyB5IEZ0KENvcCltKHkpMzQgYih0aGUpZyh0ZXh0KWgoaW4pZih0aGUpZyhyZWdpb24pZyh0byloKHRoZSlmCisoa2lsbCloKGJ1XDAxM2VyLClmKHNvKWcoaXQpaChjYW4pZihiKXMoZSlmKHkpbShhbmspbShlZClpKHJpZ2gpbSh0KWYKKyhhKW0odyltKGEpbSh5KS04IGIoLik2MzAgMTQyMiB5KEJ5KTMxIGIoZGVmYXVsdCwpZih0aGlzKWgoY29tbWFuZClmCisoaXMpZyh1biltKGIpcyhvdW5kLikxNTAgMTU3OCB5IEZzKGNvcHktYmFja3dhcmQtd29yZCkyNQorYihcKFwpKTYzMCAxNjg3IHkgRnQoQ29wKW0oeSkzOCBiKHRoZSloKHcpbShvcmQpZihiKXMoZWZvcmUpZyhwKXMob2luKW0KKyh0KWcodG8paSh0aGUpZShraWxsKWgoYnVcMDEzZXIuKTY0IGIoVGhlKTM4IGIodyltKG9yZClnKGIpcyhvdW5kYXJpZXMpCitmKGFyZSlpKHRoZSk2MzAgMTc5NyB5KHNhbWUpMzEgYihhcylmIEZzKGJhY2t3YXJkLXdvcmQpcAorRnQoLikzOCBiKEJ5KTMwIGIoZGVmYXVsdCwpaCh0aGlzKWYoY29tbWFuZClnKGlzKWgodW4pbShiKXMob3VuZC4pMTUwCisxOTUyIHkgRnMoY29weS1mb3J3YXJkLXdvcmQpMjYgYihcKFwpKTYzMCAyMDYyIHkgRnQoQ29wKW0oeSkzMQorYih0aGUpZyh3KW0ob3JkKWcoZm9sbG8pbSh3aW5nKWgocClzKG9pbiltKHQpZih0byloKHRoZSlmKGtpbGwpaAorKGJ1XDAxM2VyLik0MiBiKFRoZSkzMCBiKHcpbShvcmQpaChiKXMob3VuZGFyaWVzKWUoYXJlKWoodGhlKTYzMAorMjE3MSB5KHNhbWUpZihhcylmIEZzKGZvcndhcmQtd29yZClwIEZ0KC4pMzggYihCeSkzMAorYihkZWZhdWx0LCloKHRoaXMpZyhjb21tYW5kKWYoaXMpZyh1biltKGIpcyhvdW5kLikxNTAKKzIzMjcgeSBGcyh5YW5rKWYoXChDLXlcKSk2MzAgMjQzNiB5IEZ0KFkpLTggYihhbmspMzEKK2IodGhlKWYodG9wKWgob2YpZyh0aGUpZihraWxsKWgocmluZylmKGluKW0odG8paSh0aGUpZShidVwwMTNlcilnKGF0KWgKKyhwKXMob2luKW0odC4pMTUwIDI1OTIgeSBGcyh5YW5rLXBvcClkKFwoTS15XCkpNjMwIDI3MDEKK3kgRnQoUm90YXRlKTM2IGIodGhlKWYoa2lsbC1yaW5nLClpKGFuZClkKHkpbShhbmspaCh0aGUpZihuZXcpZyh0b3AuKTU0CitiKFkpLTggYihvdSkzNSBiKGNhbilnKG9ubHkpZihkbyloKHRoaXMpZihpZiloKHRoZSlnKHByaW9yKTYzMAorMjgxMSB5KGNvbW1hbmQpMzAgYihpcyloIEZzKHlhbmspZSBGdChvciloIEZzKHlhbmstcG9wKXAKK0Z0KC4pMTUwIDMwMDYgeSBGaig4LjQuNSk2MyBiKFNwKXMoZWNpZnlpbmcpNDIgYihOdW1lcmljKWYoQXJndW1lbiltCisodHMpMTUwIDMxNzYgeSBGcyhkaWdpdC1hcmd1bWVudCkyNiBiKFwoKXAgRmkoTS0wKXAgRnMoLClqCitGaShNLTEpcCBGcygsKWgoLi4uKWYgRmkoTS0tKXAgRnMoXCkpNjMwIDMyODUgeSBGdChBZGQpZCh0aGlzKWgoZGlnaXQpZworKHRvKWgodGhlKWYoYXJndW1lbiltKHQpZyhhbHJlYWR5KWgoYWNjdW0pbSh1bGF0aW5nLCloKG9yKWUoc3RhcnQpaChhKWYKKyhuZXcpZihhcmd1bWVuKW0odC4pNjMwIDMzOTUgeSBGaShNLS0paiBGdChzdGFydHMpaShhKWcobmVnYXRpdiltKGUpaQorKGFyZ3VtZW4pbSh0LikxNTAgMzU1MCB5IEZzKHVuaXZlcnNhbC1hcmd1bWVudCkyNSBiKFwoXCkpNjMwCiszNjYwIHkgRnQoVGhpcylnKGlzKWcoYW5vdGhlciloKHcpbShhKW0oeSlnKHRvKWgoc3ApcyhlY2lmeSllKGFuKWcKKyhhcmd1bWVuKW0odC4pNDAgYihJZikyNSBiKHRoaXMpZyhjb21tYW5kKWgoaXMpZihmb2xsbyltKHcpbShlZClpKGIpbQorKHkpZihvbmUpNjMwIDM3NzAgeShvcilrKG1vcmUpZihkaWdpdHMsKWkob3B0aW9uYWxseSlnKHdpdGgpZShhKWgKKyhsZWFkaW5nKWgobWluKW0odXMpZShzaWduLCloKHRob3NlKWcoZGlnaXRzKWcoZGVcMDE0bmUpZih0aGUpaChhci0pNjMwCiszODc5IHkoZ3VtZW4pbSh0Lik0MSBiKElmKTI4IGIodGhlKWkoY29tbWFuZClmKGlzKWcoZm9sbG8pbSh3KW0oZWQpaChiKQorbSh5KWYoZGlnaXRzLClpKGV4ZWN1dGluZylmIEZzKHVuaXZlcnNhbC1hcmd1bWVudCk2MzAKKzM5ODkgeSBGdChhZ2FpbilqKGVuZHMpZSh0aGUpaChuKW0odW1lcmljKWYoYXJndW1lbiltKHQsKWkoYnV0KWUoaXMpaAorKG90aGVyd2lzZSlnKGlnbm9yZWQuKTQ1IGIoQXMpMzIgYihhKWcoc3ApcyhlY2lhbCloKGNhc2UsKTYzMAorNDA5OCB5KGlmKWcodGhpcylnKGNvbW1hbmQpZihpcyloKGltbWVkaWF0ZWx5KWgoZm9sbG8pbSh3KW0oZWQpaChiKW0oeSkKK2QoYSloKGMpbShoYXJhY3RlcilpKHRoYXQpZShpcylnKG5laXRoZXIpZyhhKWcoZGlnaXQpNjMwCis0MjA4IHkob3IpMjggYihtaW4pbSh1cylmKHNpZ24sKWkodGhlKWYoYXJndW1lbiltKHQpZyhjb3VuKW0odCloKGZvcillCisodGhlKWkobmV4dClmKGNvbW1hbmQpZihpcyloKG0pbSh1bHRpcGxpZWQpaChiKW0oeSllKGZvdXIuKTYzMAorNDMxNyB5KFRoZSkzNyBiKGFyZ3VtZW4pbSh0KWgoY291biltKHQpZihpcyloKGluaXRpYWxseSloKG9uZSwpZyhzbylmCisoZXhlY3V0aW5nKWcodGhpcylmKGZ1bmN0aW9uKWcodGhlKWgoXDAxNHJzdCllKHRpbWUpNjMwCis0NDI3IHkobWFrKW0oZXMpZCh0aGUpZShhcmd1bWVuKW0odClpKGNvdW4pbSh0KWYoZm91ciwpZihhKWkoc2Vjb25kKWUKKyh0aW1lKWkobWFrKW0oZXMpZih0aGUpZyhhcmd1bWVuKW0odClnKGNvdW4pbSh0KWgoc2l4LSk2MzAKKzQ1MzcgeSh0ZWVuLCllKGFuZClmKHNvKWgob24uKTQwIGIoQnkpMzEgYihkZWZhdWx0LClnKHRoaXMpZihpcylnKG5vdCloCisoYilzKG91bmQpZCh0bylqKGEpZyhrKW0oZXkpLTggYiguKTE1MCA0NzMyIHkgRmooOC40LjYpNjMKK2IoTGV0dGluZyk0MCBiKFJlYWRsaW5lKWgoVCltKHlwKXMoZSlnKEYpLTEwIGIob3IpNDIKK2IoWSktMTAgYihvdSkxNTAgNDkwMiB5IEZzKGNvbXBsZXRlKTI4IGIoXChUQUJcKSk2MzAKKzUwMTEgeSBGdChBKW0odHRlbXB0KWModG8pZihwKXMoZXJmb3JtKWUoY29tcGxldGlvbilqKG9uKWYodGhlKWcodGV4dClnCisoYilzKGVmb3JlKWYocClzKG9pbiltKHQuKTM5IGIoVGhlKTIyIGIoYWN0dWFsKWkoY29tcGxldGlvbik2MzAKKzUxMjEgeShwKXMoZXJmb3JtZWQpMzMgYihpcyloKGFwcGxpY2F0aW9uLXNwKXMoZWNpXDAxNGMuKTUzCitiKEJhc2gpMzUgYihhdHRlbXB0cylnKGNvbXBsZXRpb24pZyh0cmVhdGluZyloKHRoZSllKHRleHQpNjMwCis1MjMwIHkoYXMpMzkgYihhKWgodiktNSBiKGFyaWFibGUpMzkgYihcKGlmKWgodGhlKWYodGV4dCloKGIpcyhlZ2lucyllCisod2l0aCloKGApcCBGcygkKXAgRnQoJ1wpLClqKHVzZXJuYW1lKWMoXChpZilpKHRoZSlmKHRleHQpaChiKXMoZWdpbnMpZQorKHdpdGgpNjMwIDUzNDAgeShgKXAgRnMofilwIEZ0KCdcKSwpMzEgYihob3N0bmFtZSlmKFwoaWYpZyh0aGUpZyh0ZXh0KWgKKyhiKXMoZWdpbnMpZSh3aXRoKWgoYClwIEZzKEApcCBGdCgnXCksKWgob3IpZihjb21tYW5kKWYoXChpbmNsdWRpbmcpaAorKGFsaWFzZXMpaShhbmQpcCBlb3AgZW5kCiAlJVBhZ2U6IDExMyAxMTkKIFRlWERpY3QgYmVnaW4gMTEzIDExOCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoODopNDEKLWIoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMTMpMTUwIDI5OSB5IEZzKHRpbGRlLWV4cGFuZCkyNwotYihcKE0tJlwpKTYzMCA0MDggeSBGdChQKW0oZXJmb3JtKWoodGlsZGUpaChleHBhbnNpb24pZyhvbilmKHRoZSlnCi0oY3VycmVuKW0odCloKHcpbShvcmQuKTE1MCA1NTUgeSBGcyhzZXQtbWFyaylkKFwoQy1AXCkpNjMwCi02NjQgeSBGdChTZXQpMzMgYih0aGUpZyhtYXJrKWYodG8paSh0aGUpZihwKXMob2luKW0odC4pNDgKLWIoSWYpMzIgYihhKWgobiltKHVtZXJpYylnKGFyZ3VtZW4pbSh0KWcoaXMpZyhzdXBwbGllZCwpZih0aGUpaChtYXJrKWcKLShpcylmKHNldCk2MzAgNzc0IHkodG8pZih0aGF0KWcocClzKG9zaXRpb24uKTE1MCA5MjAKLXkgRnMoZXhjaGFuZ2UtcG9pbnQtYW5kLW1hcmspMjQgYihcKEMteCkyOSBiKEMteFwpKTYzMAotMTAyOSB5IEZ0KFN3KW0oYXApaSh0aGUpZyhwKXMob2luKW0odClnKHdpdGgpZyh0aGUpZyhtYXJrLik0MwotYihUaGUpMzEgYihjdXJyZW4pbSh0KWcoY3Vyc29yKWYocClzKG9zaXRpb24paShpcylmKHNldCloKHRvKWYodGhlKWgKLShzYSltKHYpbShlZCk2MzAgMTEzOSB5KHApcyhvc2l0aW9uLClmKGFuZCllKHRoZSlpKG9sZClnKGN1cnNvcillKHApcwotKG9zaXRpb24paShpcylmKHNhKW0odiltKGVkKWkoYXMpZSh0aGUpaChtYXJrLikxNTAgMTI4NQoteSBGcyhjaGFyYWN0ZXItc2VhcmNoKTI2IGIoXChDLV1cKSk2MzAgMTM5NSB5IEZ0KEEpZihjKW0oaGFyYWN0ZXIpaChpcykKLWYocmVhZClnKGFuZClmKHApcyhvaW4pbSh0KWgoaXMpZyhtbyltKHYpbShlZCloKHRvKWcodGhlKWYobmV4dClnKG8pcwotKGNjdXJyZW5jZSlnKG9mKWcodGhhdClnKGMpbShoYXJhY3Rlci4pNjMwIDE1MDQgeShBKTMwCi1iKG5lZ2F0aXYpbShlKWooY291biltKHQpZShzZWFyYyltKGhlcylnKGZvcilmKHByZXZpb3VzKWcobylzCi0oY2N1cnJlbmNlcy4pMTUwIDE2NTAgeSBGcyhjaGFyYWN0ZXItc2VhcmNoLWJhY2t3YXIpbyhkKTI0Ci1iKFwoTS1DLV1cKSk2MzAgMTc2MCB5IEZ0KEEpNDUgYihjKW0oaGFyYWN0ZXIpaChpcylmKHJlYWQpZyhhbmQpZihwKXMKLShvaW4pbSh0KWgoaXMpZyhtbyltKHYpbShlZCloKHRvKWYodGhlKWcocHJldmlvdXMpZihvKXMoY2N1cnJlbmNlKWgob2YpCi1nKHRoYXQpNjMwIDE4NzAgeShjKW0oaGFyYWN0ZXIuKWQoQSkzMSBiKG5lZ2F0aXYpbShlKWgoY291biltKHQpZgotKHNlYXJjKW0oaGVzKWgoZm9yKWUoc3Vic2VxdWVuKW0odClmKG8pcyhjY3VycmVuY2VzLikxNTAKLTIwMTYgeSBGcyhza2lwLWNzaS1zZXF1ZW5jZSlkKFwoXCkpNjMwIDIxMjUgeSBGdChSZWFkKWkoZW5vdWdoKWYoYyltCi0oaGFyYWN0ZXJzKWgodG8pZyhjb25zdW1lKWYoYSloKG0pbSh1bHRpLWspbShleSloKHNlcXVlbmNlKWYoc3VjKW0oaClmCi0oYXMpZyh0aG9zZSloKGRlXDAxNG5lZCk2MzAgMjIzNSB5KGZvcikzNyBiKGspbShleXMpaChsaWspbShlKWcoSG9tZSlnCi0oYW5kKWYoRW5kLik2MCBiKFN1YyltKGgpMzcgYihzZXF1ZW5jZXMpZyhiKXMoZWdpbilnKHdpdGgpZyhhKWgoQ29uKW0KLSh0cm9sKWcoU2VxdWVuY2UpNjMwIDIzNDUgeShJbmRpY2F0b3IpZihcKENTSVwpLClmKHVzdWFsbHkpaChFU0MtWy4pNTkKLWIoSWYpMzYgYih0aGlzKWcoc2VxdWVuY2UpaChpcylnKGIpcyhvdW5kKWQodG8payBGcygiXFwpcAotRnQoZVspcCBGcygiKXAgRnQoLClnKGspbShleXMpZihwcm8tKTYzMCAyNDU0IHkoZHVjaW5nKTMxCi1iKHN1YyltKGgpaChzZXF1ZW5jZXMpZyh3aWxsKWgoaGEpbSh2KW0oZSlnKG5vKWYoZVwwMTNlY3QpaCh1bmxlc3MpZQotKGV4cGxpY2l0bHkpaihiKXMob3VuZCljKHRvKWkoYSloKHJlYWRsaW5lKTYzMCAyNTY0IHkoY29tbWFuZCwpZgotKGluc3RlYWQpZyhvZilnKGluc2VydGluZylnKHN0cmEpbSh5KWgoYyltKGhhcmFjdGVycylnKGluKW0odG8pZyh0aGUpZgotKGVkaXRpbmcpaChidVwwMTNlci4pNDQgYihUaGlzKTMxIGIoaXMpNjMwIDI2NzMgeSh1biltKGIpcyhvdW5kKWQoYiltCi0oeSlpKGRlZmF1bHQsKWgoYnV0KWYodXN1YWxseSlnKGIpcyhvdW5kKWUodG8paihFU0MtWy4pMTUwCi0yODE5IHkgRnMoaW5zZXJ0LWNvbW1lbnQpMjYgYihcKE0tI1wpKTYzMCAyOTI5IHkgRnQoV2l0aG91dCkzNgotYihhKWcobiltKHVtZXJpYylnKGFyZ3VtZW4pbSh0LCloKHRoZSlmKHYpLTUgYihhbHVlKTM2Ci1iKG9mKWcodGhlKWcgRnMoY29tbWVudC1iZWdpbiljIEZ0KHYpLTUgYihhcmlhYmxlKTM2Ci1iKGlzKWcoaW4tKTYzMCAzMDM5IHkoc2VydGVkKWMoYXQpZyh0aGUpZyhiKXMoZWdpbm5pbmcpZihvZiloKHRoZSlmCi0oY3VycmVuKW0odCloKGxpbmUuKTQ1IGIoSWYpMzEgYihhKWgobiltKHVtZXJpYylmKGFyZ3VtZW4pbSh0KWgoaXMpZwotKHN1cHBsaWVkLCk2MzAgMzE0OCB5KHRoaXMpayhjb21tYW5kKWgoYWN0cylnKGFzKWcoYSlnKHRvZ2dsZTopNTUKLWIoaWYpMzcgYih0aGUpZihjKW0oaGFyYWN0ZXJzKWkoYXQpZyh0aGUpZShiKXMoZWdpbm5pbmcpZyhvZiloKHRoZSlnCi0obGluZSk2MzAgMzI1OCB5KGRvKTMwIGIobm90KWgobWF0YyltKGgpaCh0aGUpZih2KS01Ci1iKGFsdWUpMzEgYihvZilmIEZzKGNvbW1lbnQtYmVnaW4pcCBGdCgsKWUodGhlKWkodiktNQotYihhbHVlKTMxIGIoaXMpZyhpbnNlcnRlZCwpZyhvdGhlcndpc2UpZyh0aGUpNjMwIDMzNjcKLXkoYyltKGhhcmFjdGVycyk0MiBiKGluKWQgRnMoY29tbWVudC1iZWdpbillIEZ0KGFyZSlqKGRlbGV0ZWQpaChmcm9tKWYKLSh0aGUpZyhiKXMoZWdpbm5pbmcpZyhvZilnKHRoZSlnKGxpbmUuKTcxIGIoSW4pNjMwIDM0NzcKLXkoZWl0aGVyKTM3IGIoY2FzZSwpaih0aGUpZShsaW5lKWYoaXMpZyhhY2NlcHRlZClpKGFzKWUoaWYpZyhhKWcKLShuZXdsaW5lKWcoaGFkKWcoYilzKGVlbilmKHQpbSh5cClzKGVkLik2MCBiKFRoZSkzNyBiKGRlZmF1bHQpNjMwCi0zNTg3IHkodiktNSBiKGFsdWUpMzIgYihvZilnIEZzKGNvbW1lbnQtYmVnaW4pYyBGdChjYXVzZXMpayh0aGlzKWYKLShjb21tYW5kKWgodG8pZyhtYWspbShlKWgodGhlKWUoY3VycmVuKW0odCloKGxpbmUpZyhhKWcoc2hlbGwpNjMwCi0zNjk2IHkoY29tbWVuKW0odC4pNDAgYihJZikyNiBiKGEpaChuKW0odW1lcmljKWYoYXJndW1lbiltKHQpaChjYXVzZXMpZwotKHRoZSlmKGNvbW1lbiltKHQpaShjKW0oaGFyYWN0ZXIpZyh0bylmKGIpcyhlKWYocmVtbyltKHYpbShlZCwpNjMwCi0zODA2IHkodGhlKTMxIGIobGluZSlmKHdpbGwpaChiKXMoZSlmKGV4ZWN1dGVkKWgoYiltKHkpZih0aGUpaChzaGVsbC4pCi0xNTAgMzk1MiB5IEZzKGR1bXAtZnVuY3Rpb25zKTI2IGIoXChcKSk2MzAgNDA2MSB5IEZ0KFByaW4pbSh0KWcoYWxsKWkKLShvZillKHRoZSloKGZ1bmN0aW9ucylmKGFuZClnKHRoZWlyKWcoayltKGV5KWgoYmluZGluZ3MpZSh0bylqKHRoZSllCi0oUmVhZGxpbmUpaChvdXRwdXQpZihzdHJlYW0uKTYzMCA0MTcxIHkoSWYpMzEgYihhKWgobiltKHVtZXJpYylnCi0oYXJndW1lbiltKHQpZyhpcylnKHN1cHBsaWVkLClmKHRoZSloKG91dHB1dClmKGlzKWgoZm9ybWF0dGVkKWcoaW4pZgotKHN1YyltKGgpaChhKWcodyltKGEpbSh5KWcodGhhdCk2MzAgNDI4MSB5KGl0KWYoY2FuKWcoYilzKGUpZShtYWRlKWkKLShwYXJ0KWYob2YpZyhhbiloIEZxKGlucHV0cmMpayBGdChcMDE0bGUuKTQxIGIoVGhpcykyOQotYihjb21tYW5kKWgoaXMpaCh1biltKGIpcyhvdW5kKWMoYiltKHkpayhkZWZhdWx0LikxNTAKLTQ0MjcgeSBGcyhkdW1wLXZhcmlhYmxlcykyNiBiKFwoXCkpNjMwIDQ1MzYgeSBGdChQcmluKW0odCkyMQotYihhbGwpaChvZilnKHRoZSlmKHNldHRhYmxlKWkodiktNSBiKGFyaWFibGVzKTIyIGIoYW5kKWYodGhlaXIpZyh2KS01Ci1iKGFsdWVzKTIyIGIodG8pZyh0aGUpZihSZWFkbGluZSloKG91dHB1dClmKHN0cmVhbS4pNjMwCi00NjQ2IHkoSWYpMzEgYihhKWgobiltKHVtZXJpYylnKGFyZ3VtZW4pbSh0KWcoaXMpZyhzdXBwbGllZCwpZih0aGUpaAotKG91dHB1dClmKGlzKWgoZm9ybWF0dGVkKWcoaW4pZihzdWMpbShoKWgoYSlnKHcpbShhKW0oeSlnKHRoYXQpNjMwCi00NzU2IHkoaXQpZihjYW4pZyhiKXMoZSllKG1hZGUpaShwYXJ0KWYob2YpZyhhbiloIEZxKGlucHV0cmMpawotRnQoXDAxNGxlLik0MSBiKFRoaXMpMjkgYihjb21tYW5kKWgoaXMpaCh1biltKGIpcyhvdW5kKWMoYiltKHkpawotKGRlZmF1bHQuKTE1MCA0OTAyIHkgRnMoZHVtcC1tYWNyb3MpYyhcKFwpKTYzMCA1MDExIHkKLUZ0KFByaW4pbSh0KTM0IGIoYWxsKWcob2YpZyh0aGUpZyhSZWFkbGluZSlnKGspbShleSloKHNlcXVlbmNlcylmKGIpcwotKG91bmQpZSh0bylpKG1hY3JvcylnKGFuZClmKHRoZSloKHN0cmluZ3MpZyh0aGV5KTYzMAotNTEyMSB5KG91dHB1dC4pNTMgYihJZikzNSBiKGEpZyhuKW0odW1lcmljKWYoYXJndW1lbiltKHQpaShpcyllCi0oc3VwcGxpZWQsKWgodGhlKWcob3V0cHV0KWcoaXMpZihmb3JtYXR0ZWQpaShpbillKHN1YyltKGgpaChhKTYzMAotNTIzMCB5KHcpbShhKW0oeSljKHRoYXQpZyhpdClmKGNhbilnKGIpcyhlKWcobWFkZSlnKHBhcnQpZihvZilpKGFuKWUKLUZxKGlucHV0cmMpMzUgYiBGdChcMDE0bGUuKTQxIGIoVGhpcykyOSBiKGNvbW1hbmQpaChpcylnKHVuKW0oYilzKG91bmQpCi1kKGIpbSh5KTYzMCA1MzQwIHkoZGVmYXVsdC4pcCBlb3AgZW5kCitiKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMDYyIGIoMTEzKTYzMCAyOTkgeShmdW5jdGlvbnNcKSkzNQorYihpbilmKHR1cm4uKTUzIGIoSWYpMzQgYihub25lKWcob2YpaCh0aGVzZSloKHBybylzKGR1Y2VzKWQoYSlpKG1hdGMpbQorKGgsKWkoXDAxNGxlbmFtZSllKGNvbXBsZXRpb24paChpcyk2MzAgNDA4IHkoYXR0ZW1wdGVkLikxNTAKKzU3MyB5IEZzKHBvc3NpYmxlLWNvbXBsZXRpb25zKTI1IGIoXChNLT9cKSk2MzAgNjgyIHkKK0Z0KExpc3QpMzUgYih0aGUpZyhwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zKWkob2YpZSh0aGUpaCh0ZXh0KWgoYilzCisoZWZvcmUpZShwKXMob2luKW0odC4pNTQgYihXaGVuKTM0IGIoZGlzcGxhKW0oeWluZyloKGNvbS0pNjMwCis3OTIgeShwbGV0aW9ucywpZihSZWFkbGluZSlmKHNldHMpZih0aGUpaChuKW0odW0pbShiKXMoZXIpZShvZilpCisoY29sdW1ucylmKHVzZWQpZihmb3IpaShkaXNwbGEpbSh5KWYodG8paCh0aGUpZyh2KS01CitiKGFsdWUpMzMgYihvZik2MzAgOTAyIHkgRnMoY29tcGxldGlvbi1kaXNwbGF5LXdpZHRoKW8KK0Z0KCwpZyh0aGUpaih2KS01IGIoYWx1ZSkzNyBiKG9mKWcodGhlKWYoZW4pbSh2aXJvbm1lbiltKHQpaCh2KS01CitiKGFyaWFibGUpMzggYiBGcyhDT0xVTU5TKXAgRnQoLCk2MzAgMTAxMSB5KG9yKTMwIGIodGhlKWgoc2NyZWVuKWYKKyh3aWR0aCwpZyhpbilnKHRoYXQpaChvcmRlci4pMTUwIDExNzYgeSBGcyhpbnNlcnQtY29tcGxldGlvbnMpMjUKK2IoXChNLSpcKSk2MzAgMTI4NSB5IEZ0KEluc2VydCkzMCBiKGFsbCloKGNvbXBsZXRpb25zKWgob2YpZih0aGUpZworKHRleHQpZyhiKXMoZWZvcmUpZihwKXMob2luKW0odCloKHRoYXQpZyh3KW0ob3VsZClmKGhhKW0odiltKGUpaShiKXMKKyhlZW4pZShnZW5lcmF0ZWQpNjMwIDEzOTUgeShiKW0oeSlnIEZzKHBvc3NpYmxlLWNvbXBsZXRpb25zKXAKK0Z0KC4pMTUwIDE1NTkgeSBGcyhtZW51LWNvbXBsZXRlKWQoXChcKSk2MzAgMTY2OSB5IEZ0KFNpbWlsYXIpZCh0bylnCitGcyhjb21wbGV0ZSlwIEZ0KCwpZihidXQpaChyZXBsYWNlcylnKHRoZSlnKHcpbShvcmQpZyh0bylnKGIpcyhlKWYKKyhjb21wbGV0ZWQpaSh3aXRoKWUoYSlpKHNpbmdsZSlmKG1hdGMpbShoKTYzMCAxNzc4IHkoZnJvbSkzNworYih0aGUpaChsaXN0KWgob2YpZihwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zLik2NCBiKFJlcClzKGVhdGVkKTM5CitiKGV4ZWN1dGlvbilnKG9mKWYgRnMobWVudS1jb21wbGV0ZSk2MzAgMTg4OCB5IEZ0KHN0ZXBzKWkodGhyb3VnaClnCisodGhlKWcobGlzdCloKG9mKWYocClzKG9zc2libGUpZyhjb21wbGV0aW9ucywpayhpbnNlcnRpbmcpYyhlYWMpbShoKWkKKyhtYXRjKW0oaClmKGluKWYodHVybi4pNjMwIDE5OTggeShBKW0odCllKHRoZSlmKGVuZClmKG9mKWgodGhlKWcobGlzdClnCisob2YpZyhjb21wbGV0aW9ucywpaSh0aGUpZShiKXMoZWxsKWcoaXMpZyhydW5nKWYoXChzdWIpNQorYihqZWN0KTM2IGIodG8paSh0aGUpZihzZXR0aW5nKTYzMCAyMTA3IHkob2YpZiBGcyhiZWxsLXN0eWxlKXAKK0Z0KFwpKWUoYW5kKWgodGhlKWgob3JpZ2luYWwpaSh0ZXh0KWYoaXMpZihyZXN0b3JlZC4pNTcKK2IoQW4pMzYgYihhcmd1bWVuKW0odCloKG9mKWYgRnEobilmIEZ0KG1vKW0odiltKGVzKWkKK0ZxKG4pNjMwIDIyMTcgeSBGdChwKXMob3NpdGlvbnMpZShmb3J3KW0oYXJkKWYoaW4pZyh0aGUpaChsaXN0KWgob2YpZQorKG1hdGMpbShoZXM7KTM5IGIoYSljKG5lZ2F0aXYpbShlKWkoYXJndW1lbiltKHQpZShtYSltKHkpZyhiKXMoZSlmCisodXNlZClnKHRvKTYzMCAyMzI2IHkobW8pbSh2KW0oZSk0MCBiKGJhYyltKGt3KW0oYXJkKWUodGhyb3VnaClnKHRoZSlnCisobGlzdC4pNjUgYihUaGlzKTM4IGIoY29tbWFuZClnKGlzKWcoaW4pbSh0ZW5kZWQpZyh0byloKGIpcyhlKWYoYilzCisob3VuZCllKHRvKTYzMCAyNDM2IHkgRnMoVEFCKXAgRnQoLCkzMCBiKGJ1dClmKGlzKWkodW4pbShiKXMob3VuZClkKGIpbQorKHkpaShkZWZhdWx0LikxNTAgMjYwMCB5IEZzKG1lbnUtY29tcGxldGUtYmFja3dhcmQpMjQKK2IoXChcKSk2MzAgMjcxMCB5IEZ0KElkZW4pbSh0aWNhbCkzNiBiKHRvKWcgRnMobWVudS1jb21wbGV0ZSlwCitGdCgsKWQoYnV0KWgobW8pbSh2KW0oZXMpaihiYWMpbShrdyltKGFyZCllKHRocm91Z2gpZih0aGUpaShsaXN0KWYob2YpZworKHApcyhvc3NpYmxlKTYzMCAyODE5IHkoY29tcGxldGlvbnMsKWQoYXMpZShpZiloIEZzKG1lbnUtY29tcGxldGUpMjYKK2IgRnQoaGFkKWsoYilzKGVlbilnKGdpdiltKGVuKWgoYSlnKG5lZ2F0aXYpbShlKWkoYXJndW1lbiltKHQuKTE1MAorMjk4NCB5IEZzKGRlbGV0ZS1jaGFyLW9yLWxpc3QpMjUgYihcKFwpKTYzMCAzMDkzIHkgRnQoRGVsZXRlcylrKHRoZSllCisoYyltKGhhcmFjdGVyKWgodW5kZXIpZSh0aGUpaChjdXJzb3IpZihpZiloKG5vdClnKGF0KWcodGhlKWcoYilzCisoZWdpbm5pbmcpZyhvcilmKGVuZCloKG9mKWcodGhlKWcobGluZSk2MzAgMzIwMyB5KFwobGlrKW0oZSlrCitGcyhkZWxldGUtY2hhcilwIEZ0KFwpLikzNyBiKElmKTI5IGIoYXQpaCh0aGUpZihlbmQpZihvZilpKHRoZSlmKGxpbmUsKQoraChiKXMoZWhhKW0odiltKGVzKWcoaWRlbiltKHRpY2FsbHkpaCh0byllIEZzKHBvc3NpYmxlLSk2MzAKKzMzMTMgeShjb21wbGV0aW9ucylwIEZ0KC4pMzggYihUaGlzKTI5IGIoY29tbWFuZCloKGlzKWgodW4pbShiKXMob3VuZClkCisoYiltKHkpaShkZWZhdWx0LikxNTAgMzQ3NyB5IEZzKGNvbXBsZXRlLWZpbGVuYW1lKWMoXChNLS9cKSk2MzAKKzM1ODcgeSBGdChBKW0odHRlbXB0KTMyIGIoXDAxNGxlbmFtZSllKGNvbXBsZXRpb24paShvbillKHRoZSloKHRleHQpZworKGIpcyhlZm9yZSlmKHApcyhvaW4pbSh0LikxNTAgMzc1MSB5IEZzKHBvc3NpYmxlLWZpbGVuYW1lLWNvbXBsZSlvCisodGlvbilvKHMpMjQgYihcKEMteCkzMCBiKC9cKSk2MzAgMzg2MSB5IEZ0KExpc3QpZih0aGUpZyhwKXMob3NzaWJsZSlmCisoY29tcGxldGlvbnMpaChvZilnKHRoZSlnKHRleHQpZyhiKXMoZWZvcmUpZyhwKXMob2luKW0odCwpZyh0cmVhdGluZyloCisoaXQpZihhcylnKGEpZihcMDE0bGVuYW1lLikxNTAgNDAyNSB5IEZzKGNvbXBsZXRlLXVzZXJuYW1lKWUoXChNLX5cKSkKKzYzMCA0MTM0IHkgRnQoQSltKHR0ZW1wdCkzMiBiKGNvbXBsZXRpb24pZihvbilnKHRoZSlmKHRleHQpaShiKXMoZWZvcmUpCitlKHApcyhvaW4pbSh0LClnKHRyZWF0aW5nKWkoaXQpZihhcylmKGEpaCh1c2VybmFtZS4pMTUwCis0Mjk5IHkgRnMocG9zc2libGUtdXNlcm5hbWUtY29tcGxlKW8odGlvbilvKHMpMjQgYihcKEMteCkzMAorYih+XCkpNjMwIDQ0MDggeSBGdChMaXN0KTI1IGIodGhlKWcocClzKG9zc2libGUpZyhjb21wbGV0aW9ucyloKG9mKWYKKyh0aGUpZyh0ZXh0KWgoYilzKGVmb3JlKWYocClzKG9pbiltKHQsKWgodHJlYXRpbmcpZyhpdClnKGFzKWYoYSlnCisodXNlcm5hbWUuKTE1MCA0NTczIHkgRnMoY29tcGxldGUtdmFyaWFibGUpaChcKE0tJFwpKTYzMAorNDY4MiB5IEZ0KEEpbSh0dGVtcHQpMzIgYihjb21wbGV0aW9uKWYob24pZyh0aGUpZih0ZXh0KWkoYilzKGVmb3JlKWUocCkKK3Mob2luKW0odCwpZyh0cmVhdGluZylpKGl0KWYoYXMpZihhKWgoc2hlbGwpZyh2KS01IGIoYXJpYWJsZS4pMTUwCis0ODQ3IHkgRnMocG9zc2libGUtdmFyaWFibGUtY29tcGxlKW8odGlvbilvKHMpMjQgYihcKEMteCkzMAorYigkXCkpNjMwIDQ5NTYgeSBGdChMaXN0KTQyIGIodGhlKWcocClzKG9zc2libGUpZyhjb21wbGV0aW9ucyloKG9mKWYKKyh0aGUpZyh0ZXh0KWgoYilzKGVmb3JlKWUocClzKG9pbiltKHQsKTQ2IGIodHJlYXRpbmcpZChpdClmKGFzKWcoYSloCisoc2hlbGwpNjMwIDUwNjYgeSh2KS01IGIoYXJpYWJsZS4pMTUwIDUyMzAgeSBGcyhjb21wbGV0ZS1ob3N0bmFtZSkyNgorYihcKE0tQFwpKTYzMCA1MzQwIHkgRnQoQSltKHR0ZW1wdCkzMiBiKGNvbXBsZXRpb24pZihvbilnKHRoZSlmKHRleHQpaQorKGIpcyhlZm9yZSllKHApcyhvaW4pbSh0LClnKHRyZWF0aW5nKWkoaXQpZihhcylmKGEpaChob3N0bmFtZS4pcAorZW9wIGVuZAogJSVQYWdlOiAxMTQgMTIwCiBUZVhEaWN0IGJlZ2luIDExNCAxMTkgYm9wIDE1MCAtMTE2IGEgRnQoMTE0KTI1MjcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoZ2xvYi1jb21wbGV0ZS13b3JkKTI1Ci1iKFwoTS1nXCkpNjMwIDQwOCB5IEZ0KFRoZSlpKHcpbShvcmQpaChiKXMoZWZvcmUpZihwKXMob2luKW0odCloKGlzKWcKLSh0cmVhdGVkKWgoYXMpZihhKWgocGF0dGVybilmKGZvcilmKHBhdGhuYW1lKWgoZXhwYW5zaW9uLClnKHdpdGgpZyhhbikKLTYzMCA1MTggeShhc3RlcmlzaylkKGltcGxpY2l0bHkpaChhcHApcyhlbmRlZC4pMzcgYihUaGlzKTIzCi1iKHBhdHRlcm4paShpcylmKHVzZWQpZyh0byloKGdlbmVyYXRlKWgoYSllKGxpc3QpaChvZilnKG1hdGMpbShoaW5nKTYzMAotNjI4IHkoXDAxNGxlKTMwIGIobmFtZXMpaChmb3IpZihwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zLikxNTAKLTc5MSB5IEZzKGdsb2ItZXhwYW5kLXdvcmQpYyhcKEMteClqKCpcKSk2MzAgOTAwIHkgRnQoVGhlKTQwCi1iKHcpbShvcmQpZyhiKXMoZWZvcmUpZyhwKXMob2luKW0odCloKGlzKWcodHJlYXRlZClnKGFzKWcoYSlnKHBhdHRlcm4pZwotKGZvcilmKHBhdGhuYW1lKWcoZXhwYW5zaW9uLClrKGFuZCk2MzAgMTAxMCB5KHRoZSljKGxpc3QpZyhvZilmKG1hdGMpbQotKGhpbmcpaShcMDE0bGUpZShuYW1lcylnKGlzKWgoaW5zZXJ0ZWQsKWgocmVwbGFjaW5nKWcodGhlKWUodyltKG9yZC4pNjcKLWIoSWYpMzkgYihhKWgobiltKHVtZXJpYyk2MzAgMTEyMCB5KGFyZ3VtZW4pbSh0KTMxIGIoaXMpZihzdXBwbGllZCwpZwotKGEpZyhgKXAgRnMoKilwIEZ0KCcpaChpcylmKGFwcClzKGVuZGVkKWYoYilzKGVmb3JlKWgocGF0aG5hbWUpZwotKGV4cGFuc2lvbi4pMTUwIDEyODMgeSBGcyhnbG9iLWxpc3QtZXhwYW5zaW9ucykyNSBiKFwoQy14KWsoZ1wpKTYzMAotMTM5MiB5IEZ0KFRoZSlrKGxpc3QpaChvZilmKGV4cGFuc2lvbnMpZyh0aGF0KWgodyltKG91bGQpZihoYSltKHYpbShlKWgKLShiKXMoZWVuKWYoZ2VuZXJhdGVkKWgoYiltKHkpZiBGcyhnbG9iLWV4cGFuZC13b3JkKTYzMAotMTUwMiB5IEZ0KGlzKWgoZGlzcGxhKW0oeSltKGVkLCloKGFuZCllKHRoZSloKGxpbmUpZyhpcylmKHJlZHJhKW0od24uKQotNTAgYihJZikzMyBiKGEpaChuKW0odW1lcmljKWcoYXJndW1lbiltKHQpZyhpcylmKHN1cHBsaWVkLCloKGEpZyhgKXAKLUZzKCopcCBGdCgnKTYzMCAxNjExIHkoaXMpYyhhcHApcyhlbmRlZClmKGIpcyhlZm9yZSloKHBhdGhuYW1lKWcKLShleHBhbnNpb24uKTE1MCAxNzc1IHkgRnMoZGlzcGxheS1zaGVsbC12ZXJzaW9uKTI1IGIoXChDLXgpayhDLXZcKSk2MzAKLTE4ODQgeSBGdChEaXNwbGEpbSh5KWoodiltKGVyc2lvbillKGluZm9ybWF0aW9uKWgoYWIpcyhvdXQpZih0aGUpaAotKGN1cnJlbiltKHQpZihpbnN0YW5jZSloKG9mKWYoQmFzaC4pMTUwIDIwNDcgeSBGcyhzaGVsbC1leHBhbmQtbGluZSljCi0oXChNLUMtZVwpKTYzMCAyMTU3IHkgRnQoRXhwYW5kKTM0IGIodGhlKWgobGluZSloKGFzKWcodGhlKWYoc2hlbGwpaAotKGRvKXMoZXMuKTU1IGIoVGhpcykzNCBiKHApcyhlcmZvcm1zKWcoYWxpYXMpaShhbmQpZihoaXN0b3J5KWcKLShleHBhbnNpb24pNjMwIDIyNjYgeShhcylmKHcpbShlbGwpZyhhcylnKGFsbCloKG9mKWUodGhlKWgoc2hlbGwpZyh3KW0KLShvcmQpZihleHBhbnNpb25zKWcoXChzZWUpaShTZWN0aW9uKWYoMy41KWgoW1NoZWxsKWUoRXhwYW5zaW9uc10sKTYzMAotMjM3NiB5KHBhZ2UpZSgxN1wpLikxNTAgMjUzOSB5IEZzKGhpc3RvcnktZXhwYW5kLWxpbmUpMjUKLWIoXChNLV5cKSk2MzAgMjY0OSB5IEZ0KFApbShlcmZvcm0pMzAgYihoaXN0b3J5KWgoZXhwYW5zaW9uKWYob24pZyh0aGUpCi1oKGN1cnJlbiltKHQpZihsaW5lLikxNTAgMjgxMiB5IEZzKG1hZ2ljLXNwYWNlKWQoXChcKSk2MzAKLTI5MjEgeSBGdChQKW0oZXJmb3JtKWMoaGlzdG9yeSlnKGV4cGFuc2lvbilnKG9uKWcodGhlKWcoY3VycmVuKW0odClnCi0obGluZSlnKGFuZClnKGluc2VydClnKGEpZyhzcGFjZSloKFwoc2VlKWcoU2VjdGlvbilnKDkuMyk2MzAKLTMwMzEgeShbSGlzdG9yeSkzMSBiKEluKW0odGVyYWN0aW9uXSwpaShwYWdlKWUoMTIzXCkuKTE1MAotMzE5NCB5IEZzKGFsaWFzLWV4cGFuZC1saW5lKTI2IGIoXChcKSk2MzAgMzMwNCB5IEZ0KFApbShlcmZvcm0paShhbGlhcykKLWkoZXhwYW5zaW9uKWUob24pZyh0aGUpaChjdXJyZW4pbSh0KWYobGluZSloKFwoc2VlKWcoU2VjdGlvbilnKDYuNiloCi0oW0FsaWFzZXNdLClnKHBhZ2UpZig3OVwpLikxNTAgMzQ2NyB5IEZzKGhpc3RvcnktYW5kLWFsaWFzLWV4cGFuZClvCi0oLWxpbilvKGUpMjQgYihcKFwpKTYzMCAzNTc2IHkgRnQoUCltKGVyZm9ybSkzMCBiKGhpc3RvcnkpaChhbmQpZQotKGFsaWFzKWooZXhwYW5zaW9uKWUob24pZyh0aGUpaChjdXJyZW4pbSh0KWYobGluZS4pMTUwCi0zNzQwIHkgRnMoaW5zZXJ0LWxhc3QtYXJndW1lbnQpMjUgYihcKE0tLilrKG9yKWgoTS1fXCkpNjMwCi0zODQ5IHkgRnQoQSlnKHN5bm9uKW0oeW0pZyhmb3IpZyBGcyh5YW5rLWxhc3QtYXJnKXAgRnQoLikxNTAKLTQwMTIgeSBGcyhvcGVyYXRlLWFuZC1nZXQtbmV4dCkyNSBiKFwoQy1vXCkpNjMwIDQxMjIKLXkgRnQoQWNjZXB0KTQyIGIodGhlKWUoY3VycmVuKW0odCloKGxpbmUpZihmb3IpaChleGVjdXRpb24pZyhhbmQpZgotKGZldGMpbShoKWkodGhlKWUobmV4dCloKGxpbmUpZyhyZWxhdGl2KW0oZSlpKHRvKWUodGhlKTYzMAotNDIzMSB5KGN1cnJlbiltKHQpMzAgYihsaW5lKWgoZnJvbSlmKHRoZSlnKGhpc3RvcnkpaChmb3IpZihlZGl0aW5nLik0MQotYihBbiltKHkpMzEgYihhcmd1bWVuKW0odClmKGlzKWgoaWdub3JlZC4pMTUwIDQzOTUgeQotRnMoZWRpdC1hbmQtZXhlY3V0ZS1jb21tYW5kKTI0IGIoXChDLXhDLWVcKSk2MzAgNDUwNAoteSBGdChJbiltKHYpbShvayltKGUpMzQgYihhbilmKGVkaXRvcilnKG9uKWcodGhlKWcoY3VycmVuKW0odClmCi0oY29tbWFuZCloKGxpbmUsKWgoYW5kKWUoZXhlY3V0ZSlpKHRoZSlmKHJlc3VsdClnKGFzKWcoc2hlbGwpNjMwCi00NjE0IHkoY29tbWFuZHMuKTgxIGIoQmFzaCk0NCBiKGF0dGVtcHRzKWgodG8pZyhpbiltKHYpbShvayltKGUpaAotRnMoJFZJU1VBTClwIEZ0KCwpZiBGcygkRURJVE9SKXAgRnQoLCloKGFuZClkIEZzKGVtYWNzKWcKLUZ0KGFzKWgodGhlKTYzMCA0NzIzIHkoZWRpdG9yLCkzMSBiKGluKWYodGhhdCloKG9yZGVyLikxNTAKLTQ5NjEgeSBGcig4LjUpNjggYihSZWFkbGluZSk0NyBiKHZpKWUoTW8pdChkZSkxNTAgNTEyMQoteSBGdChXaGlsZSkzMiBiKHRoZSlnKFJlYWRsaW5lKWcobGlicmFyeSlmKGRvKXMoZXMpZyhub3QpaChoYSltKHYpbShlKWgKLShhKWYoZnVsbClmKHNldCloKG9mKWcgRnModmkpZiBGdChlZGl0aW5nKWgoZnVuY3Rpb25zLClmKGl0KWgoZG8pcyhlcylnCi0oY29uKW0odGFpbikxNTAgNTIzMCB5KGVub3VnaClpKHRvKWgoYWxsbyltKHcpZyhzaW1wbGUpZihlZGl0aW5nKWgob2YpZgotKHRoZSlnKGxpbmUuKTUyIGIoVGhlKTM0IGIoUmVhZGxpbmUpZyBGcyh2aSlnIEZ0KG1vKXMoZGUpZihiKXMoZWhhKW0odikKLW0oZXMpaShhcylmKHNwKXMoZWNpXDAxNGVkKWYoaW4pMTUwIDUzNDAgeSh0aGUpZSBGbChwb3NpeCllCi1GdCgxMDAzLjIpayhzdGFuZGFyZC4pcCBlb3AgZW5kCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMocG9zc2libGUtaG9zdG5hbWUtY29tcGxlKW8odGlvbilvCisocykyNCBiKFwoQy14KTMwIGIoQFwpKTYzMCA0MDggeSBGdChMaXN0KTI1IGIodGhlKWcocClzKG9zc2libGUpZgorKGNvbXBsZXRpb25zKWgob2YpZyh0aGUpZyh0ZXh0KWcoYilzKGVmb3JlKWcocClzKG9pbiltKHQsKWgodHJlYXRpbmcpZworKGl0KWYoYXMpZihhKWgoaG9zdG5hbWUuKTE1MCA1NzggeSBGcyhjb21wbGV0ZS1jb21tYW5kKWgoXChNLSFcKSk2MzAKKzY4OCB5IEZ0KEEpbSh0dGVtcHQpMzIgYihjb21wbGV0aW9uKWcob24pZih0aGUpZyh0ZXh0KWgoYilzKGVmb3JlKWUocClzCisob2luKW0odCwpaCh0cmVhdGluZyloKGl0KWcoYXMpZihhKWcoY29tbWFuZClnKG5hbWUuKTYzMAorNzk3IHkoQ29tbWFuZCk0NiBiKGNvbXBsZXRpb24paShhdHRlbXB0cylnKHRvKWYobWF0YyltKGgpaCh0aGUpZih0ZXh0KWgKKyhhZ2FpbnN0KWcoYWxpYXNlcywpNTMgYihyZXNlcnYpbShlZCk2MzAgOTA3IHkodyltKG9yZHMsKTM2CitiKHNoZWxsKWcoZnVuY3Rpb25zLCloKHNoZWxsKWUoYnVpbHRpbnMsKWkoYW5kKWUoXDAxNG5hbGx5KWcKKyhleGVjdXRhYmxlKWkoXDAxNGxlbmFtZXMsKWcoaW4pZSh0aGF0KTYzMCAxMDE3IHkob3JkZXIuKTE1MAorMTE4NiB5IEZzKHBvc3NpYmxlLWNvbW1hbmQtY29tcGxldClvKGlvbnMpMjQgYihcKEMteCkyOQorYighXCkpNjMwIDEyOTYgeSBGdChMaXN0KWQodGhlKWgocClzKG9zc2libGUpZihjb21wbGV0aW9ucyloKG9mKWYodGhlKWgKKyh0ZXh0KWcoYilzKGVmb3JlKWYocClzKG9pbiltKHQsKWgodHJlYXRpbmcpZyhpdClnKGFzKWcoYSlmKGNvbW1hbmQpNjMwCisxNDA2IHkobmFtZS4pMTUwIDE1NzUgeSBGcyhkeW5hbWljLWNvbXBsZXRlLWhpc3RvcnkpZShcKE0tVEFCXCkpNjMwCisxNjg1IHkgRnQoQSltKHR0ZW1wdCkzMSBiKGNvbXBsZXRpb24paChvbillKHRoZSlnKHRleHQpaChiKXMoZWZvcmUpZihwKQorcyhvaW4pbSh0LClnKGNvbXBhcmluZyloKHRoZSlmKHRleHQpaChhZ2FpbnN0KWgobGluZXMpNjMwCisxNzk1IHkoZnJvbSllKHRoZSlnKGhpc3RvcnkpaChsaXN0KWcoZm9yKWYocClzKG9zc2libGUpZyhjb21wbGV0aW9uKWkKKyhtYXRjKW0oaGVzLikxNTAgMTk2NCB5IEZzKGRhYmJyZXYtZXhwYW5kKTI2IGIoXChcKSk2MzAKKzIwNzQgeSBGdChBKW0odHRlbXB0KWkobWVuKW0odSllKGNvbXBsZXRpb24paShvbilmKHRoZSlnKHRleHQpZyhiKXMKKyhlZm9yZSlmKHApcyhvaW4pbSh0LClpKGNvbXBhcmluZylmKHRoZSlnKHRleHQpaChhZ2FpbnN0KTYzMAorMjE4MyB5KGxpbmVzKWooZnJvbSllKHRoZSlpKGhpc3RvcnkpZihsaXN0KWgoZm9yKWcocClzKG9zc2libGUpZQorKGNvbXBsZXRpb24paihtYXRjKW0oaGVzLikxNTAgMjM1MyB5IEZzKGNvbXBsZXRlLWludG8tYnJhY2VzKTI1CitiKFwoTS17XCkpNjMwIDI0NjMgeSBGdChQKW0oZXJmb3JtKWYoXDAxNGxlbmFtZSlmKGNvbXBsZXRpb24paShhbmQpZgorKGluc2VydClmKHRoZSloKGxpc3QpZyhvZilnKHApcyhvc3NpYmxlKWYoY29tcGxldGlvbnMpaShlbmNsb3NlZCk2MzAKKzI1NzIgeSh3aXRoaW4pMzQgYihicmFjZXMpaChzbylmKHRoZSloKGxpc3QpZyhpcylnKGEpbSh2KS01CitiKGFpbGFibGUpMzcgYih0byllKHRoZSlnKHNoZWxsKWcoXChzZWUpZyhTZWN0aW9uKWgoMy41LjEpZyhbQnJhY2UpZworKEV4LSk2MzAgMjY4MiB5KHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgxOVwpLikxNTAgMjg5MgoreSBGaig4LjQuNyk2MyBiKEtleWIpcyhvYXJkKTQxIGIoTWFjcm9zKTE1MCAzMDY5IHkgRnMoc3RhcnQta2JkLW1hY3JvKQorMjYgYihcKEMteClqKFwoXCkpNjMwIDMxNzggeSBGdChCZWdpbilpKHNhKW0odmluZyloKHRoZSllKGMpbQorKGhhcmFjdGVycylpKHQpbSh5cClzKGVkKWUoaW4pbSh0byloKHRoZSlnKGN1cnJlbiltKHQpZihrKW0oZXliKXMob2FyZCkKK2cobWFjcm8uKTE1MCAzMzQ4IHkgRnMoZW5kLWtiZC1tYWNybylkKFwoQy14KWkoXClcKSk2MzAKKzM0NTggeSBGdChTdG9wKWUoc2EpbSh2aW5nKWgodGhlKWcoYyltKGhhcmFjdGVycylnKHQpbSh5cClzKGVkKWYoaW4pbQorKHRvKWkodGhlKWUoY3VycmVuKW0odClnKGspbShleWIpcyhvYXJkKWcobWFjcm8paChhbmQpZihzYSltKHYpbShlKWkKKyh0aGUpNjMwIDM1NjcgeShkZVwwMTRuaXRpb24uKTE1MCAzNzM3IHkgRnMoY2FsbC1sYXN0LWtiZC1tYWNybyljCisoXChDLXgpayhlXCkpNjMwIDM4NDcgeSBGdChSZS1leGVjdXRlKTM3IGIodGhlKWUobGFzdCloKGspbShleWIpcyhvYXJkKQorZihtYWNybyloKGRlXDAxNG5lZCwpZihiKW0oeSloKG1ha2luZylmKHRoZSlnKGMpbShoYXJhY3RlcnMpaShpbillKHRoZSkKKzYzMCAzOTU2IHkobWFjcm8pYyhhcHApcyhlYXIpZihhcylnKGlmKWgodCltKHlwKXMoZWQpZihhdCloKHRoZSlmKGspbQorKGV5YilzKG9hcmQuKTE1MCA0MTY2IHkgRmooOC40LjgpNjMgYihTb21lKTQxIGIoTWlzY2VsbGFuZW91cylpCisoQ29tbWFuZHMpMTUwIDQzNDMgeSBGcyhyZS1yZWFkLWluaXQtZmlsZSkyNiBiKFwoQy14KWooQy1yXCkpNjMwCis0NDUyIHkgRnQoUmVhZCkyMiBiKGluKWcodGhlKWcoY29uKW0odGVuKW0odHMpaChvZilmKHRoZSlnCitGcShpbnB1dHJjKTI3IGIgRnQoXDAxNGxlLClkKGFuZClkKGluY29ycClzKG9yYXRlKWgoYW4pbSh5KWgoYmluZGluZ3MpZAorKG9yKWkodiktNSBiKGFyaWFibGUpNjMwIDQ1NjIgeShhc3NpZ25tZW4pbSh0cykzMSBiKGZvdW5kKWUodGhlcmUuKTE1MAorNDczMiB5IEZzKGFib3J0KWcoXChDLWdcKSk2MzAgNDg0MSB5IEZ0KEFiKXMob3J0KWQodGhlKWgoY3VycmVuKW0odClmCisoZWRpdGluZyloKGNvbW1hbmQpZihhbmQpZyhyaW5nKWgodGhlKWYodGVybWluYWwncyloKGIpcyhlbGwpZyhcKHN1Yik1CitiKGplY3QpMjYgYih0bylpKHRoZSk2MzAgNDk1MSB5KHNldHRpbmcpaihvZilnIEZzKGJlbGwtc3R5bGUpcAorRnQoXCkuKTE1MCA1MTIxIHkgRnMoZG8tdXBwZXJjYXNlLXZlcnNpb24pMjUgYihcKE0tYSwpayhNLWIsKWcoTS0pcAorRmkoeCkxMSBiIEZzKCwpMjkgYiguLi4pbyhcKSk2MzAgNTIzMCB5IEZ0KElmKWUodGhlKWgobWV0YVwwMTRlZClnKGMpbQorKGhhcmFjdGVyKWggRnEoeCkzNCBiIEZ0KGlzKTI4IGIobG8pbSh3KW0oZXJjYXNlLClpKHJ1bilkKHRoZSlnCisoY29tbWFuZCloKHRoYXQpZyhpcylnKGIpcyhvdW5kKWQodG8payh0aGUpNjMwIDUzNDAgeShjb3JyZXNwKXMob25kaW5nKQorZyh1cHApcyhlcmNhc2UpaChjKW0oaGFyYWN0ZXIuKXAgZW9wIGVuZAogJSVQYWdlOiAxMTUgMTIxCiBUZVhEaWN0IGJlZ2luIDExNSAxMjAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCi1iKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMDYyIGIoMTE1KTI3NSAyOTkgeShJbikzNQotYihvcmRlcilnKHRvKWkoc3dpdGMpbShoKWYoaW4pbSh0ZXJhY3RpdiltKGVseSlqKGIpcyhldCltKHcpbShlZW4pZAotRnMoZW1hY3MpZiBGdChhbmQpZyBGcyh2aSlnIEZ0KGVkaXRpbmcpaChtbylzKGRlcywpaCh1c2UpZih0aGUpZyhgKXAKLUZzKHNldCkzMCBiKC1vKTE1MCA0MDggeShlbWFjcylwIEZ0KCcpNDMgYihhbmQpaChgKXAKLUZzKHNldCkzMCBiKC1vKWYodmkpcCBGdCgnKTQ0IGIoY29tbWFuZHMpZyhcKHNlZSlpKFNlY3Rpb24pZig0LjMuMSloCi0oW1RoZSllKFNldCloKEJ1aWx0aW5dLClqKHBhZ2UpZSg1MVwpLik4MyBiKFRoZSkxNTAgNTE4Ci15KFJlYWRsaW5lKTMxIGIoZGVmYXVsdClnKGlzKWYgRnMoZW1hY3MpZiBGdChtbylzKGRlLikyNzUKLTY1MSB5KFdoZW4pZyh5KW0ob3UpaShlbiltKHRlcilmKGEpaChsaW5lKWYoaW4pZyBGcyh2aSlmCi1GdChtbylzKGRlLCloKHkpbShvdSloKGFyZSlmKGFscmVhZHkpaChwbGFjZWQpZihpbilnKGBpbnNlcnRpb24nKWcobW8pcwotKGRlLClnKGFzKWgoaWYpZih5KW0ob3UpMTUwIDc2MCB5KGhhZClmKHQpbSh5cClzKGVkKWcoYW4pZyhgKXAKLUZzKGkpcCBGdCgnLik0MSBiKFByZXNzaW5nKTI5IGIgRnMoRVNDKWYgRnQoc3dpdGMpbShoZXMpaSh5KW0ob3UpZyhpbiltCi0odG8paChgY29tbWFuZCcpZShtbylzKGRlLCloKHdoZXJlKWUoeSltKG91KWkoY2FuKWcoZWRpdClnKHRoZSkxNTAKLTg3MCB5KHRleHQpMzUgYihvZilmKHRoZSlnKGxpbmUpZyh3aXRoKWYodGhlKWgoc3RhbmRhcmQpZgotRnModmkpZyBGdChtbyltKHYpbShlbWVuKW0odClqKGspbShleXMsKWcobW8pbSh2KW0oZSlmKHRvKWYocHJldmlvdXMpZwotKGhpc3RvcnkpZihsaW5lcyloKHdpdGgpMTUwIDk3OSB5KGApcCBGcyhrKXAgRnQoJylkKGFuZCllKHN1YnNlcXVlbiltCi0odCloKGxpbmVzKWgod2l0aClmKGApcCBGcyhqKXAgRnQoJywpZyhhbmQpZyhzbyloKGZvcnRoLikxNTAKLTEyMDggeSBGcig4LjYpNjggYihQcm9ncmFtbWFibGUpNDcgYihDb21wbGV0aW9uKTE1MCAxMzY3Ci15IEZ0KFdoZW4pMjUgYih3KW0ob3JkKWcoY29tcGxldGlvbilpKGlzKWYoYXR0ZW1wdGVkKWcoZm9yKWcoYW4pZgotKGFyZ3VtZW4pbSh0KWgodG8pZyhhKWcoY29tbWFuZClmKGZvciloKHdoaWMpbShoKWYoYSloKGNvbXBsZXRpb24pMTUwCi0xNDc3IHkoc3ApcyhlY2lcMDE0Y2F0aW9uKTQwIGIoXChhKWggRnEoY29tcHNwKXMoZWMpNgotYiBGdChcKSkzOSBiKGhhcyloKGIpcyhlZW4pZihkZVwwMTRuZWQpZih1c2luZyloKHRoZSloCi1Gcyhjb21wbGV0ZSlkIEZ0KGJ1aWx0aW4paihcKHNlZSlnKFNlY3Rpb24paCg4LjcpMTUwCi0xNTg2IHkoW1Byb2dyYW1tYWJsZSloKENvbXBsZXRpb24pZihCdWlsdGluc10sKWsocGFnZSlkKDExN1wpLClqKHRoZSljCi0ocHJvZ3JhbW1hYmxlKWcoY29tcGxldGlvbilpKGZhY2lsaXRpZXMpMTUwIDE2OTYgeShhcmUpMzEKLWIoaW4pbSh2KW0ob2spbShlZC4pMjc1IDE4MjggeShGaXJzdCwpMjMgYih0aGUpZShjb21tYW5kKWcobmFtZSlnKGlzKWgKLShpZGVuKW0odGlcMDE0ZWQuKTM3IGIoSWYpMjEgYihhKWcoY29tcHNwKXMoZWMpZyhoYXMpZyhiKXMoZWVuKWYKLShkZVwwMTRuZWQpZyhmb3IpaCh0aGF0KWgoY29tbWFuZCwpMTUwIDE5MzggeSh0aGUpNDQKLWIoY29tcHNwKXMoZWMpZyhpcylnKHVzZWQpZih0byloKGdlbmVyYXRlKWkodGhlKWUobGlzdClnKG9mKWcocClzCi0ob3NzaWJsZSlnKGNvbXBsZXRpb25zKWgoZm9yKWUodGhlKWgodyltKG9yZC4pODEgYihJZik0NAotYih0aGUpMTUwIDIwNDggeShjb21tYW5kKTM2IGIodyltKG9yZClnKGlzKWcodGhlKWcoZW1wdCltKHkpaChzdHJpbmcpZgotKFwoY29tcGxldGlvbilpKGF0dGVtcHRlZClmKGF0KWcodGhlKWcoYilzKGVnaW5uaW5nKWUob2YpaChhbiloKGVtcHQpbQotKHkpMTUwIDIxNTcgeShsaW5lXCksKTI4IGIoYW4pbSh5KWUoY29tcHNwKXMoZWMpZihkZVwwMTRuZWQpZyh3aXRoKWcKLSh0aGUpaChgKXAgRnMoLUUpcCBGdCgnKWYob3B0aW9uKWkodG8pZiBGcyhjb21wbGV0ZSllCi1GdChpcyloKHVzZWQuKTM5IGIoSWYpMjUgYih0aGUpaChjb21tYW5kKWYodyltKG9yZCkxNTAKLTIyNjcgeShpcylpKGEpaChmdWxsKWUocGF0aG5hbWUsKWkoYSlnKGNvbXBzcClzKGVjKWUoZm9yKWgodGhlKWcoZnVsbClnCi0ocGF0aG5hbWUpZyhpcylnKHNlYXJjKW0oaGVkKWgoZm9yKWYoXDAxNHJzdC4pMzkgYihJZikyNgotYihubyloKGNvbXBzcClzKGVjKWcoaXMpMTUwIDIzNzYgeShmb3VuZCkyMiBiKGZvcilnKHRoZSloKGZ1bGwpZwotKHBhdGhuYW1lLCloKGFuKWYoYXR0ZW1wdCloKGlzKWYobWFkZSlnKHRvKWcoXDAxNG5kKWYoYSloKGNvbXBzcClzKGVjKWYKLShmb3IpaCh0aGUpZyhwKXMob3J0aW9uKWYoZm9sbG8pbSh3aW5nKTE1MCAyNDg2IHkodGhlKTM0Ci1iKFwwMTRuYWwpZyhzbGFzaC4pNTMgYihJZikzNCBiKHRob3NlKWcoc2VhcmMpbShoZXMpaShkbyllKG5vdClnCi0ocmVzdWx0KWgoaW4pZihhKWcoY29tcHNwKXMoZWMsKWgoYW4pbSh5KWcoY29tcHNwKXMoZWMpZihkZVwwMTRuZWQpZgotKHdpdGgpMTUwIDI1OTUgeSh0aGUpZShgKXAgRnMoLUQpcCBGdCgnKWYob3B0aW9uKWgodG8pZwotRnMoY29tcGxldGUpZCBGdChpcylpKHVzZWQpZyhhcylnKHRoZSloKGRlZmF1bHQuKTI3NQotMjcyOCB5KE9uY2UpaihhKWcoY29tcHNwKXMoZWMpZyhoYXMpZyhiKXMoZWVuKWYoZm91bmQsKWgoaXQpaChpcylmCi0odXNlZClmKHRvKWkoZ2VuZXJhdGUpaCh0aGUpZShsaXN0KWgob2YpZihtYXRjKW0oaGluZyloKHcpbShvcmRzLik1MQotYihJZikxNTAgMjgzOCB5KGEpMzcgYihjb21wc3ApcyhlYylmKGlzKWcobm90KWgoZm91bmQsKWYodGhlKWgoZGVmYXVsdCkKLWYoQmFzaCloKGNvbXBsZXRpb24pZyhkZXNjcmliKXMoZWQpZShhYilzKG8pbSh2KW0oZSlqKFwoc2VlKWYoU2VjdGlvbilnCi0oOC40LjYpMTUwIDI5NDcgeShbQ29tbWFuZHMpMzAgYihGKS04IGIob3IpMzEgYihDb21wbGV0aW9uXSwpZyhwYWdlKWcKLSgxMTBcKSloKGlzKWYocClzKGVyZm9ybWVkLikyNzUgMzA4MCB5KEZpcnN0LClnKHRoZSlnKGFjdGlvbnMpZyhzcClzCi0oZWNpXDAxNGVkKWYoYiltKHkpaCh0aGUpZihjb21wc3ApcyhlYyloKGFyZSlnKHVzZWQuKTQwCi1iKE9ubHkpMzAgYihtYXRjKW0oaGVzKWkod2hpYyltKGgpZShhcmUpaChwcmVcMDE0eGVkKTE1MAotMzE4OSB5KGIpbSh5KTI1IGIodGhlKWgodyltKG9yZClmKGIpcyhlaW5nKWYoY29tcGxldGVkKWooYXJlKWUKLShyZXR1cm5lZC4pMzggYihXaGVuKTI1IGIodGhlKWgoYClwIEZzKC1mKXAgRnQoJylmKG9yKWcoYClwCi1GcygtZClwIEZ0KCcpZyhvcHRpb24paChpcylmKHVzZWQpZyhmb3IpZyhcMDE0bGVuYW1lKTE1MAotMzI5OSB5KG9yKTMwIGIoZGlyZWN0b3J5KWgobmFtZSlmKGNvbXBsZXRpb24sKWkodGhlKWUoc2hlbGwpaCh2KS01Ci1iKGFyaWFibGUpMzEgYiBGcyhGSUdOT1JFKWQgRnQoaXMpaSh1c2VkKWYodG8paShcMDE0bHRlcilnKHRoZSlmKG1hdGMpbQotKGhlcy4pNDIgYihTZWUpMTUwIDM0MDggeShTZWN0aW9uKTMxIGIoNS4yKWgoW0Jhc2gpZShWKS04Ci1iKGFyaWFibGVzXSwpMzMgYihwYWdlKWUoNjEsKWcoZm9yKWYoYSloKGRlc2NyaXB0aW9uKWcob2YpZgotRnMoRklHTk9SRSlwIEZ0KC4pMjc1IDM1NDEgeShBbiltKHkpZihjb21wbGV0aW9ucyloKHNwKXMoZWNpXDAxNGVkKWYoYikKLW0oeSlnKGEpaChcMDE0bGVuYW1lKWYoZXhwYW5zaW9uKWgocGF0dGVybilmKHRvKWgodGhlKWcoYClwCi1GcygtRylwIEZ0KCcpZihvcHRpb24paChhcmUpZihnZW5lci0pMTUwIDM2NTAgeShhdGVkKWgobmV4dC4pNDAKLWIoVGhlKTI5IGIodyltKG9yZHMpZyhnZW5lcmF0ZWQpaChiKW0oeSlmKHRoZSloKHBhdHRlcm4pZihuZWVkKWcobm90KWcKLShtYXRjKW0oaClpKHRoZSllKHcpbShvcmQpZyhiKXMoZWluZylnKGNvbXBsZXRlZC4pMTUwCi0zNzYwIHkoVGhlKTQyIGIgRnMoR0xPQklHTk9SRSlkIEZ0KHNoZWxsKWsodiktNSBiKGFyaWFibGUpNDMKLWIoaXMpZihub3QpaCh1c2VkKWUodG8paShcMDE0bHRlcilmKHRoZSloKG1hdGMpbShoZXMsKWooYnV0KWModGhlKWcKLUZzKEZJR05PUkUpZiBGdChzaGVsbCkxNTAgMzg3MCB5KHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZyh1c2VkLikyNzUKLTQwMDIgeShOZXh0LClrKHRoZSlnKHN0cmluZyllKHNwKXMoZWNpXDAxNGVkKWgoYXMpZyh0aGUpZyhhcmd1bWVuKW0odClnCi0odG8paCh0aGUpZihgKXAgRnMoLVcpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyhjb25zaWRlcmVkLik1MgotYihUaGUpMzMgYihzdHJpbmcpMTUwIDQxMTIgeShpcylnKFwwMTRyc3QpZShzcGxpdClpKHVzaW5nKWYodGhlKWgoYyltCi0oaGFyYWN0ZXJzKWgoaW4pZSh0aGUpaCBGcyhJRlMpZSBGdChzcClzKGVjaWFsKWoodiktNQotYihhcmlhYmxlKTMzIGIoYXMpZyhkZWxpbWl0ZXJzLik0OCBiKFNoZWxsKTMyIGIocXVvdGluZyloKGlzKTE1MAotNDIyMSB5KGhvbm9yZWQuKTU2IGIoRWFjKW0oaCkzNyBiKHcpbShvcmQpZShpcyloKHRoZW4pZihleHBhbmRlZClnCi0odXNpbmcpaChicmFjZSlnKGV4cGFuc2lvbiwpaCh0aWxkZSlmKGV4cGFuc2lvbiwpaChwYXJhbWV0ZXIpMTUwCi00MzMxIHkoYW5kKTQ0IGIodiktNSBiKGFyaWFibGUpNDYgYihleHBhbnNpb24sKWooY29tbWFuZCk0NAotYihzdWJzdGl0dXRpb24sKTQ5IGIoYW5kKTQ0IGIoYXJpdGhtZXRpYylpKGV4cGFuc2lvbiwpaihhcyljKGRlc2NyaWIpcwotKGVkKTE1MCA0NDQwIHkoYWIpcyhvKW0odiltKGUpMzggYihcKHNlZSlmKFNlY3Rpb24paCgzLjUpZyhbU2hlbGwpZQotKEV4cGFuc2lvbnNdLClpKHBhZ2UpZigxN1wpLik2MSBiKFRoZSkzNiBiKHJlc3VsdHMpaChhcmUpZyhzcGxpdClmCi0odXNpbmcpaCh0aGUpZihydWxlcykxNTAgNDU1MCB5KGRlc2NyaWIpcyhlZCkyOSBiKGFiKXMobyltKHYpbShlKWkKLShcKHNlZSlmKFNlY3Rpb24paCgzLjUuNyloKFtXKS04IGIob3JkKTMwIGIoU3BsaXR0aW5nXSwpaChwYWdlKWYoMjNcKS4pCi00MiBiKFRoZSkzMCBiKHJlc3VsdHMpZihvZiloKHRoZSlnKGV4cGFuc2lvbikxNTAgNDY2MAoteShhcmUpZihwcmVcMDE0eC1tYXRjKW0oaGVkKWgoYWdhaW5zdClnKHRoZSlmKHcpbShvcmQpZyhiKXMoZWluZylmCi0oY29tcGxldGVkLClqKGFuZClkKHRoZSlpKG1hdGMpbShoaW5nKWcodyltKG9yZHMpZShiKXMoZWNvbWUpaSh0aGUpMTUwCi00NzY5IHkocClzKG9zc2libGUpZyhjb21wbGV0aW9ucy4pMjc1IDQ5MDIgeShBZnRlcilmKHRoZXNlKWcobWF0YyltCi0oaGVzKWkoaGEpbSh2KW0oZSlmKGIpcyhlZW4pZihnZW5lcmF0ZWQsKWgoYW4pbSh5KWcoc2hlbGwpZihmdW5jdGlvbilnCi0ob3IpZyhjb21tYW5kKWcoc3ApcyhlY2lcMDE0ZWQpZih3aXRoKTE1MCA1MDExIHkodGhlKWkoYClwCi1GcygtRilwIEZ0KCcpZyhhbmQpZihgKXAgRnMoLUMpcCBGdCgnKWgob3B0aW9ucylnKGlzKWcoaW4pbSh2KW0ob2spbQotKGVkLik0MSBiKFdoZW4pMzAgYih0aGUpZyhjb21tYW5kKWcob3IpZihmdW5jdGlvbiloKGlzKWcoaW4pbSh2KW0ob2spbQotKGVkLCloKHRoZSlmIEZzKENPTVBfKTE1MCA1MTIxIHkoTElORSlwIEZ0KCwpNDIgYiBGcyhDT01QX1BPSU5UKXAKLUZ0KCwpZCBGcyhDT01QX0tFWSlwIEZ0KCwpaShhbmQpZSBGcyhDT01QX1RZUEUpZiBGdCh2KS01Ci1iKGFyaWFibGVzKTQxIGIoYXJlKWYoYXNzaWduZWQpZyh2KS01IGIoYWx1ZXMpNDEgYihhcylmKGRlc2NyaWIpcyhlZCkKLTE1MCA1MjMwIHkoYWIpcyhvKW0odiltKGUpayhcKHNlZSlnKFNlY3Rpb24pZig1LjIpaChbQmFzaClmKFYpLTgKLWIoYXJpYWJsZXNdLCk0OCBiKHBhZ2UpYyg2MVwpLik3OSBiKElmKTQyIGIoYSlpKHNoZWxsKWYoZnVuY3Rpb24pZihpcyloCi0oYilzKGVpbmcpZihpbiltKHYpbShvayltKGVkLCkxNTAgNTM0MCB5KHRoZSkzNyBiIEZzKENPTVBfV09SRFMpZAotRnQoYW5kKWkgRnMoQ09NUF9DV09SRCllIEZ0KHYpLTUgYihhcmlhYmxlcykzOCBiKGFyZSlmKGFsc28paChzZXQuKTYwCi1iKFdoZW4pMzcgYih0aGUpZyhmdW5jdGlvbilmKG9yKWgoY29tbWFuZClwIGVvcCBlbmQKK2IoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMTUpMTUwIDI5OSB5IEZzKHByZWZpeC1tZXRhKTI3CitiKFwoRVNDXCkpNjMwIDQwOCB5IEZ0KE1ldGFmeSkzOSBiKHRoZSllKG5leHQpaChjKW0oaGFyYWN0ZXIpaCh0KW0oeXApcworKGVkLik2MiBiKFRoaXMpMzcgYihpcylnKGZvciloKGspbShleWIpcyhvYXJkcylmKHdpdGhvdXQpZyhhKWgobWV0YSlnCisoayltKGV5KS04IGIoLik2MzAgNTE4IHkoVCltKHlwaW5nKTMwIGIoYClwIEZzKEVTQylnKGYpcAorRnQoJylnKGlzKWgoZXF1aXYpLTUgYihhbGVuKW0odCkzMSBiKHRvKWcodCltKHlwaW5nKWcKK0ZpKE0tZilwIEZ0KC4pMTUwIDY3MSB5IEZzKHVuZG8pZShcKEMtXylnKG9yKWgoQy14KWcoQy11XCkpNjMwCis3ODEgeSBGdChJbmNyZW1lbiltKHRhbCloKHVuZG8sKWYoc2VwYXJhdGVseSloKHJlbWVtKW0oYilzKGVyZWQpZihmb3IpZworKGVhYyltKGgpaShsaW5lLikxNTAgOTM0IHkgRnMocmV2ZXJ0LWxpbmUpMjcgYihcKE0tclwpKTYzMAorMTA0NCB5IEZ0KFVuZG8pMzMgYihhbGwpaChjKW0oaGFuZ2VzKWcobWFkZSlmKHRvKWgodGhpcylmKGxpbmUuKTQ5CitiKFRoaXMpMzIgYihpcyloKGxpayltKGUpaShleGVjdXRpbmcpZih0aGUpZiBGcyh1bmRvKWYKK0Z0KGNvbW1hbmQpNjMwIDExNTQgeShlbm91Z2gpZSh0aW1lcyloKHRvKWcoZ2V0KWgoYmFjKW0oaylmKHRvKWcodGhlKWYKKyhiKXMoZWdpbm5pbmcuKTE1MCAxMzA3IHkgRnModGlsZGUtZXhwYW5kKWQoXChNLSZcKSk2MzAKKzE0MTcgeSBGdChQKW0oZXJmb3JtKWoodGlsZGUpaChleHBhbnNpb24pZyhvbilmKHRoZSlnKGN1cnJlbiltKHQpaCh3KW0KKyhvcmQuKTE1MCAxNTcwIHkgRnMoc2V0LW1hcmspZChcKEMtQFwpKTYzMCAxNjgwIHkgRnQoU2V0KTMzCitiKHRoZSlnKG1hcmspZih0bylpKHRoZSlmKHApcyhvaW4pbSh0Lik0OCBiKElmKTMyIGIoYSloKG4pbSh1bWVyaWMpZworKGFyZ3VtZW4pbSh0KWcoaXMpZyhzdXBwbGllZCwpZih0aGUpaChtYXJrKWcoaXMpZihzZXQpNjMwCisxNzg5IHkodG8pZih0aGF0KWcocClzKG9zaXRpb24uKTE1MCAxOTQzIHkgRnMoZXhjaGFuZ2UtcG9pbnQtYW5kLW1hcmspCisyNCBiKFwoQy14KTI5IGIoQy14XCkpNjMwIDIwNTIgeSBGdChTdyltKGFwKWkodGhlKWcocClzKG9pbiltKHQpZyh3aXRoKQorZyh0aGUpZyhtYXJrLik0MyBiKFRoZSkzMSBiKGN1cnJlbiltKHQpZyhjdXJzb3IpZihwKXMob3NpdGlvbilpKGlzKWYKKyhzZXQpaCh0bylmKHRoZSloKHNhKW0odiltKGVkKTYzMCAyMTYyIHkocClzKG9zaXRpb24sKWYoYW5kKWUodGhlKWkKKyhvbGQpZyhjdXJzb3IpZShwKXMob3NpdGlvbilpKGlzKWYoc2EpbSh2KW0oZWQpaShhcyllKHRoZSloKG1hcmsuKTE1MAorMjMxNSB5IEZzKGNoYXJhY3Rlci1zZWFyY2gpMjYgYihcKEMtXVwpKTYzMCAyNDI1IHkgRnQoQSlmKGMpbShoYXJhY3RlcikKK2goaXMpZihyZWFkKWcoYW5kKWYocClzKG9pbiltKHQpaChpcylnKG1vKW0odiltKGVkKWgodG8pZyh0aGUpZihuZXh0KWcKKyhvKXMoY2N1cnJlbmNlKWcob2YpZyh0aGF0KWcoYyltKGhhcmFjdGVyLik2MzAgMjUzNCB5KEEpMzAKK2IobmVnYXRpdiltKGUpaihjb3VuKW0odCllKHNlYXJjKW0oaGVzKWcoZm9yKWYocHJldmlvdXMpZyhvKXMKKyhjY3VycmVuY2VzLikxNTAgMjY4OCB5IEZzKGNoYXJhY3Rlci1zZWFyY2gtYmFja3dhcilvKGQpMjQKK2IoXChNLUMtXVwpKTYzMCAyNzk4IHkgRnQoQSk0NSBiKGMpbShoYXJhY3RlciloKGlzKWYocmVhZClnKGFuZClmKHApcworKG9pbiltKHQpaChpcylnKG1vKW0odiltKGVkKWgodG8pZih0aGUpZyhwcmV2aW91cylmKG8pcyhjY3VycmVuY2UpaChvZikKK2codGhhdCk2MzAgMjkwNyB5KGMpbShoYXJhY3Rlci4pZChBKTMxIGIobmVnYXRpdiltKGUpaChjb3VuKW0odClmCisoc2VhcmMpbShoZXMpaChmb3IpZShzdWJzZXF1ZW4pbSh0KWYobylzKGNjdXJyZW5jZXMuKTE1MAorMzA2MSB5IEZzKHNraXAtY3NpLXNlcXVlbmNlKWQoXChcKSk2MzAgMzE3MCB5IEZ0KFJlYWQpaShlbm91Z2gpZihjKW0KKyhoYXJhY3RlcnMpaCh0bylnKGNvbnN1bWUpZihhKWgobSltKHVsdGktayltKGV5KWgoc2VxdWVuY2UpZihzdWMpbShoKWYKKyhhcylnKHRob3NlKWgoZGVcMDE0bmVkKTYzMCAzMjgwIHkoZm9yKTM3IGIoayltKGV5cyloKGxpayltKGUpZyhIb21lKWcKKyhhbmQpZihFbmQuKTYwIGIoU3VjKW0oaCkzNyBiKHNlcXVlbmNlcylnKGIpcyhlZ2luKWcod2l0aClnKGEpaChDb24pbQorKHRyb2wpZyhTZXF1ZW5jZSk2MzAgMzM4OSB5KEluZGljYXRvcilmKFwoQ1NJXCksKWYodXN1YWxseSloKEVTQy1bLik1OQorYihJZikzNiBiKHRoaXMpZyhzZXF1ZW5jZSloKGlzKWcoYilzKG91bmQpZCh0bylrIEZzKCJcXClwCitGdChlWylwIEZzKCIpcCBGdCgsKWcoayltKGV5cylmKHByby0pNjMwIDM0OTkgeShkdWNpbmcpMzEKK2Ioc3VjKW0oaCloKHNlcXVlbmNlcylnKHdpbGwpaChoYSltKHYpbShlKWcobm8pZihlXDAxM2VjdCloKHVubGVzcyllCisoZXhwbGljaXRseSlqKGIpcyhvdW5kKWModG8paShhKWgocmVhZGxpbmUpNjMwIDM2MDggeShjb21tYW5kLClmCisoaW5zdGVhZClnKG9mKWcoaW5zZXJ0aW5nKWcoc3RyYSltKHkpaChjKW0oaGFyYWN0ZXJzKWcoaW4pbSh0bylnKHRoZSlmCisoZWRpdGluZyloKGJ1XDAxM2VyLik0NCBiKFRoaXMpMzEgYihpcyk2MzAgMzcxOCB5KHVuKW0oYilzKG91bmQpZChiKW0KKyh5KWkoZGVmYXVsdCwpaChidXQpZih1c3VhbGx5KWcoYilzKG91bmQpZSh0bylqKEVTQy1bLikxNTAKKzM4NzEgeSBGcyhpbnNlcnQtY29tbWVudCkyNiBiKFwoTS0jXCkpNjMwIDM5ODEgeSBGdChXaXRob3V0KTM2CitiKGEpZyhuKW0odW1lcmljKWcoYXJndW1lbiltKHQsKWgodGhlKWYodiktNSBiKGFsdWUpMzYKK2Iob2YpZyh0aGUpZyBGcyhjb21tZW50LWJlZ2luKWMgRnQodiktNSBiKGFyaWFibGUpMzYKK2IoaXMpZyhpbi0pNjMwIDQwOTEgeShzZXJ0ZWQpYyhhdClnKHRoZSlnKGIpcyhlZ2lubmluZylmKG9mKWgodGhlKWYKKyhjdXJyZW4pbSh0KWgobGluZS4pNDUgYihJZikzMSBiKGEpaChuKW0odW1lcmljKWYoYXJndW1lbiltKHQpaChpcylnCisoc3VwcGxpZWQsKTYzMCA0MjAwIHkodGhpcylrKGNvbW1hbmQpaChhY3RzKWcoYXMpZyhhKWcodG9nZ2xlOik1NQorYihpZikzNyBiKHRoZSlmKGMpbShoYXJhY3RlcnMpaShhdClnKHRoZSllKGIpcyhlZ2lubmluZylnKG9mKWgodGhlKWcKKyhsaW5lKTYzMCA0MzEwIHkoZG8pMzAgYihub3QpaChtYXRjKW0oaCloKHRoZSlmKHYpLTUKK2IoYWx1ZSkzMSBiKG9mKWYgRnMoY29tbWVudC1iZWdpbilwIEZ0KCwpZSh0aGUpaSh2KS01CitiKGFsdWUpMzEgYihpcylnKGluc2VydGVkLClnKG90aGVyd2lzZSlnKHRoZSk2MzAgNDQxOQoreShjKW0oaGFyYWN0ZXJzKTQyIGIoaW4pZCBGcyhjb21tZW50LWJlZ2luKWUgRnQoYXJlKWooZGVsZXRlZCloKGZyb20pZgorKHRoZSlnKGIpcyhlZ2lubmluZylnKG9mKWcodGhlKWcobGluZS4pNzEgYihJbik2MzAgNDUyOQoreShlaXRoZXIpMzcgYihjYXNlLClqKHRoZSllKGxpbmUpZihpcylnKGFjY2VwdGVkKWkoYXMpZShpZilnKGEpZworKG5ld2xpbmUpZyhoYWQpZyhiKXMoZWVuKWYodCltKHlwKXMoZWQuKTYwIGIoVGhlKTM3IGIoZGVmYXVsdCk2MzAKKzQ2MzkgeSh2KS01IGIoYWx1ZSkzMiBiKG9mKWcgRnMoY29tbWVudC1iZWdpbiljIEZ0KGNhdXNlcylrKHRoaXMpZgorKGNvbW1hbmQpaCh0bylnKG1hayltKGUpaCh0aGUpZShjdXJyZW4pbSh0KWgobGluZSlnKGEpZyhzaGVsbCk2MzAKKzQ3NDggeShjb21tZW4pbSh0Lik0MCBiKElmKTI2IGIoYSloKG4pbSh1bWVyaWMpZihhcmd1bWVuKW0odCloKGNhdXNlcylnCisodGhlKWYoY29tbWVuKW0odClpKGMpbShoYXJhY3RlcilnKHRvKWYoYilzKGUpZihyZW1vKW0odiltKGVkLCk2MzAKKzQ4NTggeSh0aGUpMzEgYihsaW5lKWYod2lsbCloKGIpcyhlKWYoZXhlY3V0ZWQpaChiKW0oeSlmKHRoZSloKHNoZWxsLikKKzE1MCA1MDExIHkgRnMoZHVtcC1mdW5jdGlvbnMpMjYgYihcKFwpKTYzMCA1MTIxIHkgRnQoUHJpbiltKHQpZyhhbGwpaQorKG9mKWUodGhlKWgoZnVuY3Rpb25zKWYoYW5kKWcodGhlaXIpZyhrKW0oZXkpaChiaW5kaW5ncyllKHRvKWoodGhlKWUKKyhSZWFkbGluZSloKG91dHB1dClmKHN0cmVhbS4pNjMwIDUyMzAgeShJZikzMSBiKGEpaChuKW0odW1lcmljKWcKKyhhcmd1bWVuKW0odClnKGlzKWcoc3VwcGxpZWQsKWYodGhlKWgob3V0cHV0KWYoaXMpaChmb3JtYXR0ZWQpZyhpbilmCisoc3VjKW0oaCloKGEpZyh3KW0oYSltKHkpZyh0aGF0KTYzMCA1MzQwIHkoaXQpZihjYW4pZyhiKXMoZSllKG1hZGUpaQorKHBhcnQpZihvZilnKGFuKWggRnEoaW5wdXRyYylrIEZ0KFwwMTRsZS4pNDEgYihUaGlzKTI5CitiKGNvbW1hbmQpaChpcyloKHVuKW0oYilzKG91bmQpYyhiKW0oeSlrKGRlZmF1bHQuKXAgZW9wCitlbmQKICUlUGFnZTogMTE2IDEyMgogVGVYRGljdCBiZWdpbiAxMTYgMTIxIGJvcCAxNTAgLTExNiBhIEZ0KDExNikyNTI3IGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5KGlzKTQyIGIoaW4pbSh2KW0ob2spbShlZCwpayh0aGUpNDEKLWIoXDAxNHJzdClnKGFyZ3VtZW4pbSh0KWgoaXMpZyh0aGUpZyhuYW1lKWYob2YpaCh0aGUpZyhjb21tYW5kKWYod2hvc2UpCi1oKGFyZ3VtZW4pbSh0cylmKGFyZSloKGIpcyhlaW5nKTE1MCA0MDggeShjb21wbGV0ZWQsKWQodGhlKWQoc2Vjb25kKWcKLShhcmd1bWVuKW0odCloKGlzKWYodGhlKWcodyltKG9yZClnKGIpcyhlaW5nKWcoY29tcGxldGVkLClpKGFuZCllKHRoZSlnCi0odGhpcmQpZihhcmd1bWVuKW0odClpKGlzKTE1MCA1MTggeSh0aGUpMjggYih3KW0ob3JkKWcocHJlY2VkaW5nKWgodGhlKQotZih3KW0ob3JkKWcoYilzKGVpbmcpZyhjb21wbGV0ZWQpaChvbilmKHRoZSloKGN1cnJlbiltKHQpZihjb21tYW5kKWcKLShsaW5lLik0MCBiKE5vKTI5IGIoXDAxNGx0ZXJpbmcpZyhvZikxNTAgNjI4IHkodGhlKWkoZ2VuZXJhdGVkKWgKLShjb21wbGV0aW9ucyloKGFnYWluc3QpZih0aGUpZih3KW0ob3JkKWcoYilzKGVpbmcpZyhjb21wbGV0ZWQpaChpcylmKHApCi1zKGVyZm9ybWVkOylmKHRoZSloKGZ1bmN0aW9uKWcob3IpMTUwIDczNyB5KGNvbW1hbmQpZihoYXMpZyhjb21wbGV0ZSlpCi0oZnJlZWRvbSllKGluKWcoZ2VuZXJhdGluZylpKHRoZSlmKG1hdGMpbShoZXMuKTI3NSA4NzEKLXkoQW4pbSh5KWcoZnVuY3Rpb24paChzcClzKGVjaVwwMTRlZClmKHdpdGgpZyhgKXAgRnMoLUYpcAotRnQoJyloKGlzKWcoaW4pbSh2KW0ob2spbShlZCloKFwwMTRyc3QuKTQ0IGIoVGhlKTMxIGIoZnVuY3Rpb24paChtYSltCi0oeSlnKHVzZSlnKGFuKW0oeSlnKG9mKWcodGhlKWcoc2hlbGwpMTUwIDk4MSB5KGZhY2lsaXRpZXMsKTUwCi1iKGluY2x1ZGluZyk0NCBiKHRoZSloIEZzKGNvbXBnZW4pZCBGdChhbmQpaSBGcyhjb21wb3B0KWUKLUZ0KGJ1aWx0aW5zKWkoZGVzY3JpYilzKGVkKWYoYilzKGVsbyltKHcpaChcKHNlZSlpKFNlY3Rpb24pZig4LjcpMTUwCi0xMDkwIHkoW1Byb2dyYW1tYWJsZSkzMSBiKENvbXBsZXRpb24paChCdWlsdGluc10sKWYocGFnZSloKDExN1wpLClnKHRvKQotZyhnZW5lcmF0ZSlnKHRoZSlmKG1hdGMpbShoZXMuKTQyIGIoSXQpMzEgYihtKW0odXN0KWcocHV0KWYodGhlKTE1MAotMTIwMCB5KHApcyhvc3NpYmxlKWcoY29tcGxldGlvbnMpaChpbilmKHRoZSloIEZzKENPTVBSRVBMWSlkCi1GdChhcnJhKW0oeSlqKHYpLTUgYihhcmlhYmxlLikyNzUgMTMzNCB5KE5leHQsKTIzIGIoYW4pbSh5KWUoY29tbWFuZClmCi0oc3ApcyhlY2lcMDE0ZWQpZyh3aXRoKWcodGhlKWgoYClwIEZzKC1DKXAgRnQoJylmKG9wdGlvbiloKGlzKWcoaW4pbSh2KQotbShvayltKGVkKWgoaW4pZShhbilnKGVuKW0odmlyb25tZW4pbSh0KWgoZXF1aXYpLTUgYihhbGVuKW0odCkxNTAKLTE0NDMgeSh0bykyNiBiKGNvbW1hbmQpZShzdWJzdGl0dXRpb24uKTM5IGIoSXQpMjUgYihzaG91bGQpZihwcmluKW0odCloCi0oYSlnKGxpc3QpaChvZilmKGNvbXBsZXRpb25zLClpKG9uZSllKHApcyhlcilmKGxpbmUsKWoodG8pZih0aGUpZgotKHN0YW5kYXJkKTE1MCAxNTUzIHkob3V0cHV0Lik0MCBiKEJhYyltKGtzbGFzaCkzMiBiKG1hKW0oeSlmKGIpcyhlKWYKLSh1c2VkKWcodG8paChlc2NhcClzKGUpZyhhKWYobmV3bGluZSwpaChpZilmKG5lY2Vzc2FyeSktOAotYiguKTI3NSAxNjg3IHkoQWZ0ZXIpNDIgYihhbGwpZyhvZilnKHRoZSlnKHApcyhvc3NpYmxlKWcoY29tcGxldGlvbnMpaAotKGFyZSlmKGdlbmVyYXRlZCwpayhhbiltKHkpYyhcMDE0bHRlcilnKHNwKXMoZWNpXDAxNGVkKWYod2l0aCloKHRoZSlnCi0oYClwIEZzKC1YKXAgRnQoJykxNTAgMTc5NyB5KG9wdGlvbikzNCBiKGlzKWYoYXBwbGllZClnKHRvKWgodGhlKWYKLShsaXN0Lik0OSBiKFRoZSkzMyBiKFwwMTRsdGVyKWcoaXMpZyhhKWgocGF0dGVybilmKGFzKWcodXNlZClnKGZvcilnCi0ocGF0aG5hbWUpZyhleHBhbnNpb247KWgoYSlnKGApcCBGcygmKXAgRnQoJykxNTAgMTkwNgoteShpbikzOSBiKHRoZSlnKHBhdHRlcm4pZyhpcylnKHJlcGxhY2VkKWcod2l0aClnKHRoZSlnKHRleHQpaChvZilmKHRoZSkKLWcodyltKG9yZClnKGIpcyhlaW5nKWYoY29tcGxldGVkLik2OCBiKEEpMzkgYihsaXRlcmFsKWgoYClwCi1GcygmKXAgRnQoJylmKG1hKW0oeSkxNTAgMjAxNiB5KGIpcyhlKWUoZXNjYXApcyhlZCloKHdpdGgpZyhhKWgoYmFjKW0KLShrc2xhc2g7KWsodGhlKTM4IGIoYmFjKW0oa3NsYXNoKWgoaXMpZihyZW1vKW0odiltKGVkKWgoYilzKGVmb3JlKWUKLShhdHRlbXB0aW5nKWooYSllKG1hdGMpbShoLik2NSBiKEFuKW0oeSkxNTAgMjEyNSB5KGNvbXBsZXRpb24pMzUKLWIodGhhdClnKG1hdGMpbShoZXMpZyh0aGUpZihwYXR0ZXJuKWcod2lsbClnKGIpcyhlKWcocmVtbyltKHYpbShlZCloCi0oZnJvbSllKHRoZSloKGxpc3QuKTUzIGIoQSkzNCBiKGxlYWRpbmcpZyhgKXAgRnMoISlwCi1GdCgnKWgobmVnYXRlcykxNTAgMjIzNSB5KHRoZSljKHBhdHRlcm47KWYoaW4pZyh0aGlzKWgoY2FzZSlnKGFuKW0oeSlnCi0oY29tcGxldGlvbilnKG5vdClnKG1hdGMpbShoaW5nKWgodGhlKWUocGF0dGVybiloKHdpbGwpZihiKXMoZSlnKHJlbW8pbQotKHYpbShlZC4pMjc1IDIzNjkgeShGaW5hbGx5KS04IGIoLCkzMyBiKGFuKW0oeSlmKHByZVwwMTR4KWYoYW5kKWcKLShzdVwwMTZ4KWcoc3ApcyhlY2lcMDE0ZWQpZyh3aXRoKWgodGhlKWcoYClwIEZzKC1QKXAKLUZ0KCcpZihhbmQpZyhgKXAgRnMoLVMpcCBGdCgnKWgob3B0aW9ucylnKGFyZSlnKGFkZGVkKWYodG8paShlYWMpbShoKQotMTUwIDI0NzggeShtZW0pbShiKXMoZXIpZShvZilnKHRoZSloKGNvbXBsZXRpb24paChsaXN0LClmKGFuZClmKHRoZSloCi0ocmVzdWx0KWYoaXMpaChyZXR1cm5lZCllKHRvKWkodGhlKWcoUmVhZGxpbmUpZyhjb21wbGV0aW9uKWgoY28pcyhkZSkKLTE1MCAyNTg4IHkoYXMpZSh0aGUpZihsaXN0KWgob2YpZyhwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zLikyNzUKLTI3MjIgeShJZikyMiBiKHRoZSlpKHByZXZpb3VzbHktYXBwbGllZClmKGFjdGlvbnMpaShkbyllKG5vdCloCi0oZ2VuZXJhdGUpaChhbiltKHkpZihtYXRjKW0oaGVzLClpKGFuZClkKHRoZSlnKGApcCBGcygtbykzMAotYihkaXJuYW1lcylwIEZ0KCcpMjIgYihvcC0pMTUwIDI4MzIgeSh0aW9uKTI5IGIodyltKGFzKWYoc3VwcGxpZWQpZih0bykKLWkgRnMoY29tcGxldGUpZCBGdCh3aGVuKWgodGhlKWgoY29tcHNwKXMoZWMpZyh3KW0oYXMpZyhkZVwwMTRuZWQsKWcKLShkaXJlY3RvcnkpZyhuYW1lKWgoY29tcGxldGlvbikxNTAgMjk0MSB5KGlzKWgoYXR0ZW1wdGVkLikyNzUKLTMwNzUgeShJZilnKHRoZSlpKGApcCBGcygtbyllKHBsdXNkaXJzKXAgRnQoJylmKG9wdGlvbilqKHcpbShhcylmCi0oc3VwcGxpZWQpZih0bylpIEZzKGNvbXBsZXRlKWUgRnQod2hlbilnKHRoZSloKGNvbXBzcClzKGVjKWcodyltKGFzKWgKLShkZVwwMTRuZWQsKTE1MCAzMTg1IHkoZGlyZWN0b3J5KWsobmFtZSlmKGNvbXBsZXRpb24paShpcyllKGF0dGVtcHRlZCloCi0oYW5kKWYoYW4pbSh5KWgobWF0YyltKGhlcylnKGFyZSlnKGFkZGVkKWYodG8paCh0aGUpZihyZXN1bHRzKWcob2YpaAotKHRoZSkxNTAgMzI5NCB5KG90aGVyKTMxIGIoYWN0aW9ucy4pMjc1IDM0MjggeShCeSlnKGRlZmF1bHQsKWkoaWYpZShhKWgKLShjb21wc3ApcyhlYylmKGlzKWgoZm91bmQsKWYod2hhdGV2KW0oZXIpaChpdClnKGdlbmVyYXRlcyloKGlzKWUKLShyZXR1cm5lZClnKHRvKWgodGhlKWcoY29tcGxldGlvbikxNTAgMzUzOCB5KGNvKXMoZGUpMjEKLWIoYXMpZyh0aGUpZyhmdWxsKWcoc2V0KWcob2YpZyhwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zLikzOQotYihUaGUpMjAgYihkZWZhdWx0KWgoQmFzaClnKGNvbXBsZXRpb25zKWgoYXJlKWcobm90KWYoYXR0ZW1wdGVkLCkxNTAKLTM2NDcgeShhbmQpayh0aGUpaChSZWFkbGluZSlnKGRlZmF1bHQpZyhvZilnKFwwMTRsZW5hbWUpZyhjb21wbGV0aW9uKWgKLShpcylmKGRpc2FibGVkLikzOCBiKElmKTI2IGIodGhlKWcoYClwIEZzKC1vKWsoYmFzaGRlZmF1bHQpcAotRnQoJykyMiBiKG9wdGlvbikxNTAgMzc1NyB5KHcpbShhcylpKHN1cHBsaWVkKWUodG8pagotRnMoY29tcGxldGUpYyBGdCh3aGVuKWkodGhlKWcoY29tcHNwKXMoZWMpaCh3KW0oYXMpZyhkZVwwMTRuZWQsKWcodGhlKWYKLShkZWZhdWx0KWgoQmFzaClnKGNvbXBsZXRpb25zKWgoYXJlKTE1MCAzODY3IHkoYXR0ZW1wdGVkKWYoaWYpZih0aGUpZwotKGNvbXBzcClzKGVjKWcoZ2VuZXJhdGVzKWkobm8pZShtYXRjKW0oaGVzLikzOSBiKElmKTIzCi1iKHRoZSlnKGApcCBGcygtbykzMCBiKGRlZmF1bHQpcCBGdCgnKTIxIGIob3B0aW9uKWoodyltKGFzKWYoc3VwcGxpZWQpZgotKHRvKTE1MCAzOTc2IHkgRnMoY29tcGxldGUpaiBGdCh3aGVuKWgodGhlKWgoY29tcHNwKXMoZWMpZih3KW0oYXMpaQotKGRlXDAxNG5lZCwpZShSZWFkbGluZSdzKWkoZGVmYXVsdClmKGNvbXBsZXRpb24paCh3aWxsKWYoYilzKGUpZihwKXMKLShlcmZvcm1lZCkxNTAgNDA4NiB5KGlmKWsodGhlKWgoY29tcHNwKXMoZWMpZihcKGFuZCwpZyhpZiloKGF0dGVtcHRlZCwpCi1nKHRoZSlnKGRlZmF1bHQpZihCYXNoKWgoY29tcGxldGlvbnNcKSloKGdlbmVyYXRlKWcobm8pZShtYXRjKW0oaGVzLikKLTI3NSA0MjIwIHkoV2hlbikyMCBiKGEpaShjb21wc3ApcyhlYyllKGluZGljYXRlcylpKHRoYXQpZyhkaXJlY3RvcnkpZwotKG5hbWUpZihjb21wbGV0aW9uKWgoaXMpZihkZXNpcmVkLClpKHRoZSllKHByb2dyYW1tYWJsZSkxNTAKLTQzMjkgeShjb21wbGV0aW9uKTMxIGIoZnVuY3Rpb25zKWUoZm9yY2UpaShSZWFkbGluZSlmKHRvKWgoYXBwKXMoZW5kKWQKLShhKWkoc2xhc2gpZyh0bylnKGNvbXBsZXRlZCloKG5hbWVzKWUod2hpYyltKGgpaChhcmUpZyhzeW0tKTE1MAotNDQzOSB5KGIpcyhvbGljKTQwIGIobGlua3MpZyh0byloKGRpcmVjdG9yaWVzLClqKHN1Yik1Ci1iKGplY3QpNDAgYih0byloKHRoZSlmKHYpLTUgYihhbHVlKTQxIGIob2YpZih0aGUpZyBGcShtYXJrLWRpcmVjdG9yaWVzKQotNDUgYiBGdChSZWFkbGluZSljKHYpLTUgYihhcmlhYmxlLCkxNTAgNDU0OCB5KHJlZ2FyZGxlc3MpMzEKLWIob2YpZih0aGUpaChzZXR0aW5nKWcob2YpZyh0aGUpZiBGcShtYXJrLXN5bWxpbmspbShlZC1kaXJlY3RvcmllcykzNgotYiBGdChSZWFkbGluZSkzMSBiKHYpLTUgYihhcmlhYmxlLikyNzUgNDY4MiB5KFRoZXJlKTI1Ci1iKGlzKWkoc29tZSlnKHN1cHApcyhvcnQpZShmb3IpaChkeW5hbWljYWxseSloKG1vKXMoZGlmeWluZylmCi0oY29tcGxldGlvbnMuKTQwIGIoVGhpcykyNiBiKGlzKWcobW9zdCloKHVzZWZ1bClmKHdoZW4pMTUwCi00NzkyIHkodXNlZCkzNyBiKGluKWgoY29tKW0oYmluYXRpb24paCh3aXRoKWUoYSlpKGRlZmF1bHQpZihjb21wbGV0aW9uKQotaChzcClzKGVjaVwwMTRlZCllKHdpdGgpaChgKXAgRnMoLUQpcCBGdCgnLik2MyBiKEl0J3MpMzgKLWIocClzKG9zc2libGUpZihmb3IpaChzaGVsbCkxNTAgNDkwMiB5KGZ1bmN0aW9ucykyOCBiKGV4ZWN1dGVkKWgoYXMpZgotKGNvbXBsZXRpb24paShoYW5kbGVycylkKHRvKWkoaW5kaWNhdGUpZyh0aGF0KWcoY29tcGxldGlvbilnKHNob3VsZCllCi0oYilzKGUpaChyZXRyaWVkKWcoYiltKHkpMTUwIDUwMTEgeShyZXR1cm5pbmcpaihhbilpKGV4aXQpZyhzdGF0dXMpZgotKG9mKWgoMTI0Lik0OCBiKElmKTMxIGIoYSlpKHNoZWxsKWYoZnVuY3Rpb24pZyhyZXR1cm5zKWYoMTI0LClrKGFuZCljCi0oYyltKGhhbmdlcylqKHRoZSllKGNvbXBzcClzKGVjKTE1MCA1MTIxIHkoYXNzbylzKGNpYXRlZCk0MwotYih3aXRoKWUodGhlKWcoY29tbWFuZClnKG9uKWcod2hpYyltKGgpZyhjb21wbGV0aW9uKWkoaXMpZShiKXMoZWluZylnCi0oYXR0ZW1wdGVkKWgoXChzdXBwbGllZCllKGFzKWkodGhlKTE1MCA1MjMwIHkoXDAxNHJzdCkyOQotYihhcmd1bWVuKW0odCloKHdoZW4pZSh0aGUpaShmdW5jdGlvbilmKGlzKWcoZXhlY3V0ZWRcKSwpagotKHByb2dyYW1tYWJsZSlkKGNvbXBsZXRpb24paShyZXN0YXJ0cylmKGZyb20pZih0aGUpMTUwCi01MzQwIHkoYilzKGVnaW5uaW5nLCk0MCBiKHdpdGgpZShhbiloKGF0dGVtcHQpZyh0byloKFwwMTRuZClkKGEpaQotKGNvbXBzcClzKGVjKWYoZm9yKWcodGhhdCloKGNvbW1hbmQuKTY1IGIoVGhpcykzOCBiKGFsbG8pbSh3cylpKGEpZgotKHNldClnKG9mKXAgZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZzKGR1bXAtdmFyaWFibGVzKTI2CitiKFwoXCkpNjMwIDQwOCB5IEZ0KFByaW4pbSh0KTIxIGIoYWxsKWgob2YpZyh0aGUpZihzZXR0YWJsZSlpKHYpLTUKK2IoYXJpYWJsZXMpMjIgYihhbmQpZih0aGVpcilnKHYpLTUgYihhbHVlcykyMiBiKHRvKWcodGhlKWYoUmVhZGxpbmUpaAorKG91dHB1dClmKHN0cmVhbS4pNjMwIDUxOCB5KElmKTMxIGIoYSloKG4pbSh1bWVyaWMpZyhhcmd1bWVuKW0odClnKGlzKWcKKyhzdXBwbGllZCwpZih0aGUpaChvdXRwdXQpZihpcyloKGZvcm1hdHRlZClnKGluKWYoc3VjKW0oaCloKGEpZyh3KW0oYSltCisoeSlnKHRoYXQpNjMwIDYyOCB5KGl0KWYoY2FuKWcoYilzKGUpZShtYWRlKWkocGFydClmKG9mKWcoYW4paAorRnEoaW5wdXRyYylrIEZ0KFwwMTRsZS4pNDEgYihUaGlzKTI5IGIoY29tbWFuZCloKGlzKWgodW4pbShiKXMob3VuZCljCisoYiltKHkpayhkZWZhdWx0LikxNTAgNzkyIHkgRnMoZHVtcC1tYWNyb3MpYyhcKFwpKTYzMAorOTAyIHkgRnQoUHJpbiltKHQpMzQgYihhbGwpZyhvZilnKHRoZSlnKFJlYWRsaW5lKWcoayltKGV5KWgoc2VxdWVuY2VzKWYKKyhiKXMob3VuZCllKHRvKWkobWFjcm9zKWcoYW5kKWYodGhlKWgoc3RyaW5ncylnKHRoZXkpNjMwCisxMDExIHkob3V0cHV0Lik1MyBiKElmKTM1IGIoYSlnKG4pbSh1bWVyaWMpZihhcmd1bWVuKW0odClpKGlzKWUKKyhzdXBwbGllZCwpaCh0aGUpZyhvdXRwdXQpZyhpcylmKGZvcm1hdHRlZClpKGluKWUoc3VjKW0oaCloKGEpNjMwCisxMTIxIHkodyltKGEpbSh5KWModGhhdClnKGl0KWYoY2FuKWcoYilzKGUpZyhtYWRlKWcocGFydClmKG9mKWkoYW4pZQorRnEoaW5wdXRyYykzNSBiIEZ0KFwwMTRsZS4pNDEgYihUaGlzKTI5IGIoY29tbWFuZCloKGlzKWcodW4pbShiKXMob3VuZCkKK2QoYiltKHkpNjMwIDEyMzAgeShkZWZhdWx0LikxNTAgMTM5NSB5IEZzKGdsb2ItY29tcGxldGUtd29yZCllKFwoTS1nXCkpCis2MzAgMTUwNCB5IEZ0KFRoZSlpKHcpbShvcmQpaChiKXMoZWZvcmUpZihwKXMob2luKW0odCloKGlzKWcodHJlYXRlZCloCisoYXMpZihhKWgocGF0dGVybilmKGZvcilmKHBhdGhuYW1lKWgoZXhwYW5zaW9uLClnKHdpdGgpZyhhbik2MzAKKzE2MTQgeShhc3RlcmlzaylkKGltcGxpY2l0bHkpaChhcHApcyhlbmRlZC4pMzcgYihUaGlzKTIzCitiKHBhdHRlcm4paShpcylmKHVzZWQpZyh0byloKGdlbmVyYXRlKWgoYSllKGxpc3QpaChvZilnKG1hdGMpbShoaW5nKTYzMAorMTcyNCB5KFwwMTRsZSkzMCBiKG5hbWVzKWgoZm9yKWYocClzKG9zc2libGUpZyhjb21wbGV0aW9ucy4pMTUwCisxODg4IHkgRnMoZ2xvYi1leHBhbmQtd29yZCljKFwoQy14KWooKlwpKTYzMCAxOTk4IHkgRnQoVGhlKTQwCitiKHcpbShvcmQpZyhiKXMoZWZvcmUpZyhwKXMob2luKW0odCloKGlzKWcodHJlYXRlZClnKGFzKWcoYSlnKHBhdHRlcm4pZworKGZvcilmKHBhdGhuYW1lKWcoZXhwYW5zaW9uLClrKGFuZCk2MzAgMjEwNyB5KHRoZSljKGxpc3QpZyhvZilmKG1hdGMpbQorKGhpbmcpaShcMDE0bGUpZShuYW1lcylnKGlzKWgoaW5zZXJ0ZWQsKWgocmVwbGFjaW5nKWcodGhlKWUodyltKG9yZC4pNjcKK2IoSWYpMzkgYihhKWgobiltKHVtZXJpYyk2MzAgMjIxNyB5KGFyZ3VtZW4pbSh0KTMxIGIoaXMpZihzdXBwbGllZCwpZworKGEpZyhgKXAgRnMoKilwIEZ0KCcpaChpcylmKGFwcClzKGVuZGVkKWYoYilzKGVmb3JlKWgocGF0aG5hbWUpZworKGV4cGFuc2lvbi4pMTUwIDIzODEgeSBGcyhnbG9iLWxpc3QtZXhwYW5zaW9ucykyNSBiKFwoQy14KWsoZ1wpKTYzMAorMjQ5MSB5IEZ0KFRoZSlrKGxpc3QpaChvZilmKGV4cGFuc2lvbnMpZyh0aGF0KWgodyltKG91bGQpZihoYSltKHYpbShlKWgKKyhiKXMoZWVuKWYoZ2VuZXJhdGVkKWgoYiltKHkpZiBGcyhnbG9iLWV4cGFuZC13b3JkKTYzMAorMjYwMCB5IEZ0KGlzKWgoZGlzcGxhKW0oeSltKGVkLCloKGFuZCllKHRoZSloKGxpbmUpZyhpcylmKHJlZHJhKW0od24uKQorNTAgYihJZikzMyBiKGEpaChuKW0odW1lcmljKWcoYXJndW1lbiltKHQpZyhpcylmKHN1cHBsaWVkLCloKGEpZyhgKXAKK0ZzKCopcCBGdCgnKTYzMCAyNzEwIHkoaXMpYyhhcHApcyhlbmRlZClmKGIpcyhlZm9yZSloKHBhdGhuYW1lKWcKKyhleHBhbnNpb24uKTE1MCAyODc0IHkgRnMoZGlzcGxheS1zaGVsbC12ZXJzaW9uKTI1IGIoXChDLXgpayhDLXZcKSk2MzAKKzI5ODQgeSBGdChEaXNwbGEpbSh5KWoodiltKGVyc2lvbillKGluZm9ybWF0aW9uKWgoYWIpcyhvdXQpZih0aGUpaAorKGN1cnJlbiltKHQpZihpbnN0YW5jZSloKG9mKWYoQmFzaC4pMTUwIDMxNDggeSBGcyhzaGVsbC1leHBhbmQtbGluZSljCisoXChNLUMtZVwpKTYzMCAzMjU4IHkgRnQoRXhwYW5kKTM0IGIodGhlKWgobGluZSloKGFzKWcodGhlKWYoc2hlbGwpaAorKGRvKXMoZXMuKTU1IGIoVGhpcykzNCBiKHApcyhlcmZvcm1zKWcoYWxpYXMpaShhbmQpZihoaXN0b3J5KWcKKyhleHBhbnNpb24pNjMwIDMzNjcgeShhcylmKHcpbShlbGwpZyhhcylnKGFsbCloKG9mKWUodGhlKWgoc2hlbGwpZyh3KW0KKyhvcmQpZihleHBhbnNpb25zKWcoXChzZWUpaShTZWN0aW9uKWYoMy41KWgoW1NoZWxsKWUoRXhwYW5zaW9uc10sKTYzMAorMzQ3NyB5KHBhZ2UpZSgxOVwpLikxNTAgMzY0MSB5IEZzKGhpc3RvcnktZXhwYW5kLWxpbmUpMjUKK2IoXChNLV5cKSk2MzAgMzc1MSB5IEZ0KFApbShlcmZvcm0pMzAgYihoaXN0b3J5KWgoZXhwYW5zaW9uKWYob24pZyh0aGUpCitoKGN1cnJlbiltKHQpZihsaW5lLikxNTAgMzkxNSB5IEZzKG1hZ2ljLXNwYWNlKWQoXChcKSk2MzAKKzQwMjUgeSBGdChQKW0oZXJmb3JtKWMoaGlzdG9yeSlnKGV4cGFuc2lvbilnKG9uKWcodGhlKWcoY3VycmVuKW0odClnCisobGluZSlnKGFuZClnKGluc2VydClnKGEpZyhzcGFjZSloKFwoc2VlKWcoU2VjdGlvbilnKDkuMyk2MzAKKzQxMzQgeShbSGlzdG9yeSkzMSBiKEluKW0odGVyYWN0aW9uXSwpaShwYWdlKWUoMTI3XCkuKTE1MAorNDI5OSB5IEZzKGFsaWFzLWV4cGFuZC1saW5lKTI2IGIoXChcKSk2MzAgNDQwOCB5IEZ0KFApbShlcmZvcm0paShhbGlhcykKK2koZXhwYW5zaW9uKWUob24pZyh0aGUpaChjdXJyZW4pbSh0KWYobGluZSloKFwoc2VlKWcoU2VjdGlvbilnKDYuNiloCisoW0FsaWFzZXNdLClnKHBhZ2UpZig4MVwpLikxNTAgNDU3MyB5IEZzKGhpc3RvcnktYW5kLWFsaWFzLWV4cGFuZClvCisoLWxpbilvKGUpMjQgYihcKFwpKTYzMCA0NjgyIHkgRnQoUCltKGVyZm9ybSkzMCBiKGhpc3RvcnkpaChhbmQpZQorKGFsaWFzKWooZXhwYW5zaW9uKWUob24pZyh0aGUpaChjdXJyZW4pbSh0KWYobGluZS4pMTUwCis0ODQ3IHkgRnMoaW5zZXJ0LWxhc3QtYXJndW1lbnQpMjUgYihcKE0tLilrKG9yKWgoTS1fXCkpNjMwCis0OTU2IHkgRnQoQSlnKHN5bm9uKW0oeW0pZyhmb3IpZyBGcyh5YW5rLWxhc3QtYXJnKXAgRnQoLikxNTAKKzUxMjEgeSBGcyhvcGVyYXRlLWFuZC1nZXQtbmV4dCkyNSBiKFwoQy1vXCkpNjMwIDUyMzAKK3kgRnQoQWNjZXB0KTQyIGIodGhlKWUoY3VycmVuKW0odCloKGxpbmUpZihmb3IpaChleGVjdXRpb24pZyhhbmQpZgorKGZldGMpbShoKWkodGhlKWUobmV4dCloKGxpbmUpZyhyZWxhdGl2KW0oZSlpKHRvKWUodGhlKTYzMAorNTM0MCB5KGN1cnJlbiltKHQpMzAgYihsaW5lKWgoZnJvbSlmKHRoZSlnKGhpc3RvcnkpaChmb3IpZihlZGl0aW5nLik0MQorYihBbiltKHkpMzEgYihhcmd1bWVuKW0odClmKGlzKWgoaWdub3JlZC4pcCBlb3AgZW5kCiAlJVBhZ2U6IDExNyAxMjMKIFRlWERpY3QgYmVnaW4gMTE3IDEyMiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoODopNDEKLWIoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMTcpMTUwIDI5OSB5KGNvbXBsZXRpb25zKTMzCi1iKHRvKWYoYilzKGUpZyhidWlsdClmKGR5bmFtaWNhbGx5KWkoYXMpZihjb21wbGV0aW9uKWgoaXMpZihhdHRlbXB0ZWQsKQotaChyYXRoZXIpZih0aGFuKWYoYilzKGVpbmcpZyhsb2FkZWQpMTUwIDQwOCB5KGFsbClnKGF0KWcob25jZS4pMjc1Ci01NjQgeShGKS04IGIob3IpMzggYihpbnN0YW5jZSwpaChhc3N1bWluZyllKHRoYXQpaCh0aGVyZSlmKGlzKWgoYSlmCi0obGlicmFyeSlnKG9mKWcoY29tcHNwKXMoZWNzLClpKGVhYyltKGgpZyhrKW0oZXB0KWUoaW4pZyhhKWgoXDAxNGxlKWYKLShjb3JyZS0pMTUwIDY3MyB5KHNwKXMob25kaW5nKWcodG8paih0aGUpZihuYW1lKWYob2YpaCh0aGUpZyhjb21tYW5kLClpCi0odGhlKWUoZm9sbG8pbSh3aW5nKWgoZGVmYXVsdClmKGNvbXBsZXRpb24paChmdW5jdGlvbillKHcpbShvdWxkKTE1MAotNzgzIHkobG9hZCkzMSBiKGNvbXBsZXRpb25zKWcoZHluYW1pY2FsbHk6KTM5MCA5MzggeQotRnMoX2NvbXBsZXRpb25fbG9hZGVyXChcKSkzOTAgMTA0OCB5KHspMzkwIDExNTcgeSguKTQ3Ci1iKCIvZXRjL2Jhc2hfY29tcGxldGlvbi5kLyQxKW8oLnNoIik0MSBiKD4vZGV2L251bGwpaygyPiYxKWkoJiYpZwotKHJldHVybilmKDEyNCkzOTAgMTI2NyB5KH0pMzkwIDEzNzYgeShjb21wbGV0ZSlnKC1EKWgoLUYpZwotKF9jb21wbGV0aW9uX2xvYWRlcikxNTAgMTY0MCB5IEZyKDguNyk2OCBiKFByb2dyYW1tYWJsZSk0NwotYihDb21wbGV0aW9uKWYoQnVpbHRpbnMpMTUwIDE3OTkgeSBGdChUdyltKG8pMjcgYihidWlsdGluKWcoY29tbWFuZHMpZwotKGFyZSlnKGEpbSh2KS01IGIoYWlsYWJsZSkyOSBiKHRvKWYobWFuaXB1bGF0ZSlnKHRoZSlmKHByb2dyYW1tYWJsZSlnCi0oY29tcGxldGlvbiloKGZhY2lsaXRpZXMuKTE1MCAxOTkwIHkgRnMoY29tcGdlbik4NzAgMjEzNAoteShjb21wZ2VuKTQ2IGIoWylwIEZpKG9wdGlvbikxMSBiIEZzKF0pNDUgYihbKXAgRmkod29yZCkxMQotYiBGcyhdKTYzMCAyMjc5IHkgRnQoR2VuZXJhdGUpMjcgYihwKXMob3NzaWJsZSllKGNvbXBsZXRpb24paShtYXRjKW0KLShoZXMpZyhmb3IpZSBGcSh3KW0ob3JkKWsgRnQoYWNjb3JkaW5nKWUodG8pZih0aGUpZyBGcShvcHRpb24pcAotRnQocywpaCh3aGljKW0oaCk2MzAgMjM4OSB5KG1hKW0oeSloKGIpcyhlKWYoYW4pbSh5KWgob3B0aW9uKWcKLShhY2NlcHRlZCloKGIpbSh5KWUodGhlKWggRnMoY29tcGxldGUpZCBGdChidWlsdGluKWood2l0aClmKHRoZSloCi0oZXhjZXB0aW9uKWcob2YpZyhgKXAgRnMoLXApcCBGdCgnKTYzMCAyNDk4IHkoYW5kKWsoYClwCi1GcygtcilwIEZ0KCcsKWkoYW5kKWUod3JpdGUpaCh0aGUpZyhtYXRjKW0oaGVzKWgodG8pZyh0aGUpZihzdGFuZGFyZClmCi0ob3V0cHV0Lik0OCBiKFdoZW4pMzMgYih1c2luZylmKHRoZSloKGApcCBGcygtRilwIEZ0KCcpNjMwCi0yNjA4IHkob3IpMjggYihgKXAgRnMoLUMpcCBGdCgnKWcob3B0aW9ucywpaCh0aGUpZih2KS01Ci1iKGFyaW91cykyOSBiKHNoZWxsKWYodiktNSBiKGFyaWFibGVzKTI5IGIoc2V0KWYoYiltKHkpZyh0aGUpZwotKHByb2dyYW1tYWJsZSloKGNvbXBsZXRpb24pNjMwIDI3MTggeShmYWNpbGl0aWVzLClrKHdoaWxlKWQoYSltKHYpLTUKLWIoYWlsYWJsZSwpMzMgYih3aWxsKWUobm90KWcoaGEpbSh2KW0oZSlnKHVzZWZ1bClmKHYpLTUKLWIoYWx1ZXMuKTYzMCAyODYyIHkoVGhlKTM0IGIobWF0YyltKGhlcyloKHdpbGwpZyhiKXMoZSlmKGdlbmVyYXRlZCloCi0oaW4pZih0aGUpaChzYW1lKWcodyltKGEpbSh5KWcoYXMpZyhpZilmKHRoZSloKHByb2dyYW1tYWJsZSlmKGNvbS0pNjMwCi0yOTcyIHkocGxldGlvbilkKGNvKXMoZGUpZyhoYWQpZihnZW5lcmF0ZWQpaSh0aGVtKWUoZGlyZWN0bHkpaShmcm9tKWUKLShhKWgoY29tcGxldGlvbiloKHNwKXMoZWNpXDAxNGNhdGlvbilmKHdpdGgpNjMwIDMwODIKLXkodGhlKWUoc2FtZSloKFwwMTVhZ3MuKTQwIGIoSWYpMjkgYiBGcSh3KW0ob3JkKWogRnQoaXMpZChzcClzCi0oZWNpXDAxNGVkLClnKG9ubHkpZyh0aG9zZSloKGNvbXBsZXRpb25zKWcobWF0YyltKGhpbmcpZwotRnEodyltKG9yZClqIEZ0KHdpbGwpNjMwIDMxOTEgeShiKXMoZSlkKGRpc3BsYSltKHkpbShlZC4pNjMwCi0zMzM2IHkoVGhlKTI0IGIocmV0dXJuKWcodiktNSBiKGFsdWUpMjUgYihpcylnKHRydWUpZih1bmxlc3MpZyhhbiloKGluKQotbSh2KS01IGIoYWxpZCkyNSBiKG9wdGlvbilnKGlzKWcoc3VwcGxpZWQsKWYob3IpaChubylnKG1hdGMpbShoZXMpZyh3KW0KLShlcmUpNjMwIDM0NDYgeShnZW5lcmF0ZWQuKTE1MCAzNjI2IHkgRnMoY29tcGxldGUpODcwCi0zNzcwIHkoY29tcGxldGUpNDYgYihbLWFiY2RlZmdqa3N1dl0pZChbLW8payBGaShjb21wLW9wdGlvbikxMQotYiBGcyhdKTQ0IGIoWy1ERV0paShbLUEpaCBGaShhY3Rpb24pMTEgYiBGcyhdKTQ2IGIoWy0pODcwCi0zODgwIHkoRyloIEZpKGdsb2JwYXQpMTEgYiBGcyhdKTQ2IGIoWy1XKWcgRmkod29yZGxpc3QpMTEKLWIgRnMoXSk4NzAgMzk5MCB5KFstRik0NyBiIEZpKGZ1bmN0aW9uKTExIGIgRnMoXSk0NSBiKFstQylpCi1GaShjb21tYW5kKTExIGIgRnMoXSk0NSBiKFstWClpIEZpKGZpbHRlcnBhdCkxMSBiIEZzKF0pODcwCi00MDk5IHkoWy1QKTQ3IGIgRmkocHJlZml4KTExIGIgRnMoXSk0NSBiKFstUylpIEZpKHN1ZmZpeCkxMQotYiBGcyhdKTQ1IGIgRmkobmFtZSk1OCBiIEZzKFspcCBGaShuYW1lKWYgRnMoLi4uKW8oXSk4NzAKLTQyMDkgeShjb21wbGV0ZSk0NiBiKC1wcilnKFstREVdKWgoWylwIEZpKG5hbWUpNTcgYiBGcyguLi4pbyhdKTYzMAotNDM1NCB5IEZ0KFNwKXMoZWNpZnkpMzMgYihobyltKHcpaChhcmd1bWVuKW0odHMpaCh0bylmKGVhYyltKGgpaQotRnEobmFtZSlqIEZ0KHNob3VsZCkzMyBiKGIpcyhlKWcoY29tcGxldGVkLik1MyBiKElmKTMzCi1iKHRoZSlpKGApcCBGcygtcClwIEZ0KCcpZShvcHRpb24pNjMwIDQ0NjMgeShpcylkKHN1cHBsaWVkLCllKG9yKWkoaWYpZwotKG5vKWYob3B0aW9ucyloKGFyZSlnKHN1cHBsaWVkLClmKGV4aXN0aW5nKWgoY29tcGxldGlvbiloKHNwKXMKLShlY2lcMDE0Y2F0aW9ucylnKGFyZSk2MzAgNDU3MyB5KHByaW4pbSh0ZWQpNDMgYihpbiloKGEpZyh3KW0oYSltKHkpaAotKHRoYXQpZihhbGxvKW0od3MpaCh0aGVtKWYodG8pZyhiKXMoZSlnKHJldXNlZClmKGFzKWgoaW5wdXQuKTgwCi1iKFRoZSk0MyBiKGApcCBGcygtcilwIEZ0KCcpZyhvcHRpb24pNjMwIDQ2ODIgeShyZW1vKW0odiltKGVzKTI5Ci1iKGEpZShjb21wbGV0aW9uKWkoc3ApcyhlY2lcMDE0Y2F0aW9uKWUoZm9yKWcoZWFjKW0oaClpCi1GcShuYW1lKTUgYiBGdCgsKTI4IGIob3IsKWcoaWYpZihubylnIEZxKG5hbWUpNSBiIEZ0KHMpMjcKLWIoYXJlKWgoc3VwcGxpZWQsKTYzMCA0NzkyIHkoYWxsKTQ2IGIoY29tcGxldGlvbiloKHNwKXMKLShlY2lcMDE0Y2F0aW9ucy4pODcgYihUaGUpNDUgYihgKXAgRnMoLUQpcCBGdCgnKWgob3B0aW9uKWcoaW5kaWNhdGVzKWcKLSh0aGF0KWcodGhlKWcocmVtYWluaW5nKTYzMCA0OTAyIHkob3B0aW9ucykzNSBiKGFuZClmKGFjdGlvbnMpaChzaG91bGQpCi1mKGFwcGx5KWcodG8paCh0aGUpZyhcXGRlZmF1bHQiKWcoY29tbWFuZClmKGNvbXBsZXRpb247KWsodGhhdCk2MzAKLTUwMTEgeShpcywpMjUgYihjb21wbGV0aW9uKWcoYXR0ZW1wdGVkKWcob24pZShhKWgoY29tbWFuZClmKGZvcilnKHdoaWMpCi1tKGgpaChubylmKGNvbXBsZXRpb24paShoYXMpZShwcmV2aW91c2x5KTYzMCA1MTIxIHkoYilzKGVlbikyOAotYihkZVwwMTRuZWQuKTM5IGIoVGhlKTI3IGIoYClwIEZzKC1FKXAgRnQoJylpKG9wdGlvbilnKGluZGljYXRlcylnCi0odGhhdClnKHRoZSlnKHJlbWFpbmluZylmKG9wdGlvbnMpaChhbmQpZihhY3Rpb25zKTYzMAotNTIzMCB5KHNob3VsZClpKGFwcGx5KWkodG8pZyhcXGVtcHQpbSh5IilnKGNvbW1hbmQpZyhjb21wbGV0aW9uOyloCi0odGhhdClmKGlzLClnKGNvbXBsZXRpb24paChhdHRlbXB0ZWQpNjMwIDUzNDAgeShvbilkKGEpaChibGFuaylmKGxpbmUuKQotcCBlb3AgZW5kCitiKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMDYyIGIoMTE3KTE1MCAyOTkgeSBGcworKGVkaXQtYW5kLWV4ZWN1dGUtY29tbWFuZCkyNCBiKFwoQy14Qy1lXCkpNjMwIDQwOCB5IEZ0KEluKW0odiltKG9rKW0oZSkKKzM0IGIoYW4pZihlZGl0b3IpZyhvbilnKHRoZSlnKGN1cnJlbiltKHQpZihjb21tYW5kKWgobGluZSwpaChhbmQpZQorKGV4ZWN1dGUpaSh0aGUpZihyZXN1bHQpZyhhcylnKHNoZWxsKTYzMCA1MTggeShjb21tYW5kcy4pODEKK2IoQmFzaCk0NCBiKGF0dGVtcHRzKWgodG8pZyhpbiltKHYpbShvayltKGUpaCBGcygkVklTVUFMKXAKK0Z0KCwpZiBGcygkRURJVE9SKXAgRnQoLCloKGFuZClkIEZzKGVtYWNzKWcgRnQoYXMpaCh0aGUpNjMwCis2MjggeShlZGl0b3IsKTMxIGIoaW4pZih0aGF0KWgob3JkZXIuKTE1MCA4NjQgeSBGcig4LjUpNjgKK2IoUmVhZGxpbmUpNDcgYih2aSllKE1vKXQoZGUpMTUwIDEwMjQgeSBGdChXaGlsZSkzMiBiKHRoZSlnKFJlYWRsaW5lKWcKKyhsaWJyYXJ5KWYoZG8pcyhlcylnKG5vdCloKGhhKW0odiltKGUpaChhKWYoZnVsbClmKHNldCloKG9mKWcKK0ZzKHZpKWYgRnQoZWRpdGluZyloKGZ1bmN0aW9ucywpZihpdCloKGRvKXMoZXMpZyhjb24pbSh0YWluKTE1MAorMTEzMyB5KGVub3VnaClpKHRvKWgoYWxsbyltKHcpZyhzaW1wbGUpZihlZGl0aW5nKWgob2YpZih0aGUpZyhsaW5lLik1MgorYihUaGUpMzQgYihSZWFkbGluZSlnIEZzKHZpKWcgRnQobW8pcyhkZSlmKGIpcyhlaGEpbSh2KW0oZXMpaShhcylmKHNwKXMKKyhlY2lcMDE0ZWQpZihpbikxNTAgMTI0MyB5KHRoZSllIEZsKHBvc2l4KWUgRnQoc3RhbmRhcmQuKTI3NQorMTM4MCB5KEluKTM1IGIob3JkZXIpZyh0bylpKHN3aXRjKW0oaClmKGluKW0odGVyYWN0aXYpbShlbHkpaihiKXMoZXQpbQorKHcpbShlZW4pZCBGcyhlbWFjcylmIEZ0KGFuZClnIEZzKHZpKWcgRnQoZWRpdGluZyloKG1vKXMoZGVzLCloKHVzZSlmCisodGhlKWcoYClwIEZzKHNldCkzMCBiKC1vKTE1MCAxNDkwIHkoZW1hY3MpcCBGdCgnKTQzCitiKGFuZCloKGApcCBGcyhzZXQpMzAgYigtbylmKHZpKXAgRnQoJyk0NCBiKGNvbW1hbmRzKWcoXChzZWUpaShTZWN0aW9uKQorZig0LjMuMSloKFtUaGUpZShTZXQpaChCdWlsdGluXSwpaihwYWdlKWUoNTRcKS4pODMgYihUaGUpMTUwCisxNTk5IHkoUmVhZGxpbmUpMzEgYihkZWZhdWx0KWcoaXMpZiBGcyhlbWFjcylmIEZ0KG1vKXMoZGUuKTI3NQorMTczNyB5KFdoZW4pZyh5KW0ob3UpaShlbiltKHRlcilmKGEpaChsaW5lKWYoaW4pZyBGcyh2aSlmCitGdChtbylzKGRlLCloKHkpbShvdSloKGFyZSlmKGFscmVhZHkpaChwbGFjZWQpZihpbilnKGBpbnNlcnRpb24nKWcobW8pcworKGRlLClnKGFzKWgoaWYpZih5KW0ob3UpMTUwIDE4NDYgeShoYWQpZih0KW0oeXApcyhlZClnKGFuKWcoYClwCitGcyhpKXAgRnQoJy4pNDEgYihQcmVzc2luZykyOSBiIEZzKEVTQylmIEZ0KHN3aXRjKW0oaGVzKWkoeSltKG91KWcoaW4pbQorKHRvKWgoYGNvbW1hbmQnKWUobW8pcyhkZSwpaCh3aGVyZSllKHkpbShvdSlpKGNhbilnKGVkaXQpZyh0aGUpMTUwCisxOTU2IHkodGV4dCkzNSBiKG9mKWYodGhlKWcobGluZSlnKHdpdGgpZih0aGUpaChzdGFuZGFyZClmCitGcyh2aSlnIEZ0KG1vKW0odiltKGVtZW4pbSh0KWooayltKGV5cywpZyhtbyltKHYpbShlKWYodG8pZihwcmV2aW91cylnCisoaGlzdG9yeSlmKGxpbmVzKWgod2l0aCkxNTAgMjA2NiB5KGApcCBGcyhrKXAgRnQoJylkKGFuZCllKHN1YnNlcXVlbiltCisodCloKGxpbmVzKWgod2l0aClmKGApcCBGcyhqKXAgRnQoJywpZyhhbmQpZyhzbyloKGZvcnRoLikxNTAKKzIzMDIgeSBGcig4LjYpNjggYihQcm9ncmFtbWFibGUpNDcgYihDb21wbGV0aW9uKTE1MCAyNDYyCit5IEZ0KFdoZW4pMjUgYih3KW0ob3JkKWcoY29tcGxldGlvbilpKGlzKWYoYXR0ZW1wdGVkKWcoZm9yKWcoYW4pZgorKGFyZ3VtZW4pbSh0KWgodG8pZyhhKWcoY29tbWFuZClmKGZvciloKHdoaWMpbShoKWYoYSloKGNvbXBsZXRpb24pMTUwCisyNTcxIHkoc3ApcyhlY2lcMDE0Y2F0aW9uKTQwIGIoXChhKWggRnEoY29tcHNwKXMoZWMpNgorYiBGdChcKSkzOSBiKGhhcyloKGIpcyhlZW4pZihkZVwwMTRuZWQpZih1c2luZyloKHRoZSloCitGcyhjb21wbGV0ZSlkIEZ0KGJ1aWx0aW4paihcKHNlZSlnKFNlY3Rpb24paCg4LjcpMTUwCisyNjgxIHkoW1Byb2dyYW1tYWJsZSloKENvbXBsZXRpb24pZihCdWlsdGluc10sKWsocGFnZSlkKDExOVwpLClqKHRoZSljCisocHJvZ3JhbW1hYmxlKWcoY29tcGxldGlvbilpKGZhY2lsaXRpZXMpMTUwIDI3OTAgeShhcmUpMzEKK2IoaW4pbSh2KW0ob2spbShlZC4pMjc1IDI5MjggeShGaXJzdCwpMjMgYih0aGUpZShjb21tYW5kKWcobmFtZSlnKGlzKWgKKyhpZGVuKW0odGlcMDE0ZWQuKTM3IGIoSWYpMjEgYihhKWcoY29tcHNwKXMoZWMpZyhoYXMpZyhiKXMoZWVuKWYKKyhkZVwwMTRuZWQpZyhmb3IpaCh0aGF0KWgoY29tbWFuZCwpMTUwIDMwMzcgeSh0aGUpNDQKK2IoY29tcHNwKXMoZWMpZyhpcylnKHVzZWQpZih0byloKGdlbmVyYXRlKWkodGhlKWUobGlzdClnKG9mKWcocClzCisob3NzaWJsZSlnKGNvbXBsZXRpb25zKWgoZm9yKWUodGhlKWgodyltKG9yZC4pODEgYihJZik0NAorYih0aGUpMTUwIDMxNDcgeShjb21tYW5kKTM2IGIodyltKG9yZClnKGlzKWcodGhlKWcoZW1wdCltKHkpaChzdHJpbmcpZgorKFwoY29tcGxldGlvbilpKGF0dGVtcHRlZClmKGF0KWcodGhlKWcoYilzKGVnaW5uaW5nKWUob2YpaChhbiloKGVtcHQpbQorKHkpMTUwIDMyNTYgeShsaW5lXCksKTI4IGIoYW4pbSh5KWUoY29tcHNwKXMoZWMpZihkZVwwMTRuZWQpZyh3aXRoKWcKKyh0aGUpaChgKXAgRnMoLUUpcCBGdCgnKWYob3B0aW9uKWkodG8pZiBGcyhjb21wbGV0ZSllCitGdChpcyloKHVzZWQuKTM5IGIoSWYpMjUgYih0aGUpaChjb21tYW5kKWYodyltKG9yZCkxNTAKKzMzNjYgeShpcylpKGEpaChmdWxsKWUocGF0aG5hbWUsKWkoYSlnKGNvbXBzcClzKGVjKWUoZm9yKWgodGhlKWcoZnVsbClnCisocGF0aG5hbWUpZyhpcylnKHNlYXJjKW0oaGVkKWgoZm9yKWYoXDAxNHJzdC4pMzkgYihJZikyNgorYihubyloKGNvbXBzcClzKGVjKWcoaXMpMTUwIDM0NzYgeShmb3VuZCkyMiBiKGZvcilnKHRoZSloKGZ1bGwpZworKHBhdGhuYW1lLCloKGFuKWYoYXR0ZW1wdCloKGlzKWYobWFkZSlnKHRvKWcoXDAxNG5kKWYoYSloKGNvbXBzcClzKGVjKWYKKyhmb3IpaCh0aGUpZyhwKXMob3J0aW9uKWYoZm9sbG8pbSh3aW5nKTE1MCAzNTg1IHkodGhlKTM0CitiKFwwMTRuYWwpZyhzbGFzaC4pNTMgYihJZikzNCBiKHRob3NlKWcoc2VhcmMpbShoZXMpaShkbyllKG5vdClnCisocmVzdWx0KWgoaW4pZihhKWcoY29tcHNwKXMoZWMsKWgoYW4pbSh5KWcoY29tcHNwKXMoZWMpZihkZVwwMTRuZWQpZgorKHdpdGgpMTUwIDM2OTUgeSh0aGUpZShgKXAgRnMoLUQpcCBGdCgnKWYob3B0aW9uKWgodG8pZworRnMoY29tcGxldGUpZCBGdChpcylpKHVzZWQpZyhhcylnKHRoZSloKGRlZmF1bHQuKTI3NQorMzgzMiB5KE9uY2UpaihhKWcoY29tcHNwKXMoZWMpZyhoYXMpZyhiKXMoZWVuKWYoZm91bmQsKWgoaXQpaChpcylmCisodXNlZClmKHRvKWkoZ2VuZXJhdGUpaCh0aGUpZShsaXN0KWgob2YpZihtYXRjKW0oaGluZyloKHcpbShvcmRzLik1MQorYihJZikxNTAgMzk0MiB5KGEpMzcgYihjb21wc3ApcyhlYylmKGlzKWcobm90KWgoZm91bmQsKWYodGhlKWgoZGVmYXVsdCkKK2YoQmFzaCloKGNvbXBsZXRpb24pZyhkZXNjcmliKXMoZWQpZShhYilzKG8pbSh2KW0oZSlqKFwoc2VlKWYoU2VjdGlvbilnCisoOC40LjYpMTUwIDQwNTEgeShbQ29tbWFuZHMpMzAgYihGKS04IGIob3IpMzEgYihDb21wbGV0aW9uXSwpZyhwYWdlKWcKKygxMTJcKSloKGlzKWYocClzKGVyZm9ybWVkLikyNzUgNDE4OSB5KEZpcnN0LClnKHRoZSlnKGFjdGlvbnMpZyhzcClzCisoZWNpXDAxNGVkKWYoYiltKHkpaCh0aGUpZihjb21wc3ApcyhlYyloKGFyZSlnKHVzZWQuKTQwCitiKE9ubHkpMzAgYihtYXRjKW0oaGVzKWkod2hpYyltKGgpZShhcmUpaChwcmVcMDE0eGVkKTE1MAorNDI5OCB5KGIpbSh5KTI1IGIodGhlKWgodyltKG9yZClmKGIpcyhlaW5nKWYoY29tcGxldGVkKWooYXJlKWUKKyhyZXR1cm5lZC4pMzggYihXaGVuKTI1IGIodGhlKWgoYClwIEZzKC1mKXAgRnQoJylmKG9yKWcoYClwCitGcygtZClwIEZ0KCcpZyhvcHRpb24paChpcylmKHVzZWQpZyhmb3IpZyhcMDE0bGVuYW1lKTE1MAorNDQwOCB5KG9yKTMwIGIoZGlyZWN0b3J5KWgobmFtZSlmKGNvbXBsZXRpb24sKWkodGhlKWUoc2hlbGwpaCh2KS01CitiKGFyaWFibGUpMzEgYiBGcyhGSUdOT1JFKWQgRnQoaXMpaSh1c2VkKWYodG8paShcMDE0bHRlcilnKHRoZSlmKG1hdGMpbQorKGhlcy4pNDIgYihTZWUpMTUwIDQ1MTcgeShTZWN0aW9uKTMxIGIoNS4yKWgoW0Jhc2gpZShWKS04CitiKGFyaWFibGVzXSwpMzMgYihwYWdlKWUoNjMsKWcoZm9yKWYoYSloKGRlc2NyaXB0aW9uKWcob2YpZgorRnMoRklHTk9SRSlwIEZ0KC4pMjc1IDQ2NTUgeShBbiltKHkpZihjb21wbGV0aW9ucyloKHNwKXMoZWNpXDAxNGVkKWYoYikKK20oeSlnKGEpaChcMDE0bGVuYW1lKWYoZXhwYW5zaW9uKWgocGF0dGVybilmKHRvKWgodGhlKWcoYClwCitGcygtRylwIEZ0KCcpZihvcHRpb24paChhcmUpZihnZW5lci0pMTUwIDQ3NjQgeShhdGVkKWgobmV4dC4pNDAKK2IoVGhlKTI5IGIodyltKG9yZHMpZyhnZW5lcmF0ZWQpaChiKW0oeSlmKHRoZSloKHBhdHRlcm4pZihuZWVkKWcobm90KWcKKyhtYXRjKW0oaClpKHRoZSllKHcpbShvcmQpZyhiKXMoZWluZylnKGNvbXBsZXRlZC4pMTUwCis0ODc0IHkoVGhlKTQyIGIgRnMoR0xPQklHTk9SRSlkIEZ0KHNoZWxsKWsodiktNSBiKGFyaWFibGUpNDMKK2IoaXMpZihub3QpaCh1c2VkKWUodG8paShcMDE0bHRlcilmKHRoZSloKG1hdGMpbShoZXMsKWooYnV0KWModGhlKWcKK0ZzKEZJR05PUkUpZiBGdChzaGVsbCkxNTAgNDk4MyB5KHYpLTUgYihhcmlhYmxlKTMxIGIoaXMpZyh1c2VkLikyNzUKKzUxMjEgeShOZXh0LClrKHRoZSlnKHN0cmluZyllKHNwKXMoZWNpXDAxNGVkKWgoYXMpZyh0aGUpZyhhcmd1bWVuKW0odClnCisodG8paCh0aGUpZihgKXAgRnMoLVcpcCBGdCgnKWcob3B0aW9uKWcoaXMpZyhjb25zaWRlcmVkLik1MgorYihUaGUpMzMgYihzdHJpbmcpMTUwIDUyMzAgeShpcylnKFwwMTRyc3QpZShzcGxpdClpKHVzaW5nKWYodGhlKWgoYyltCisoaGFyYWN0ZXJzKWgoaW4pZSh0aGUpaCBGcyhJRlMpZSBGdChzcClzKGVjaWFsKWoodiktNQorYihhcmlhYmxlKTMzIGIoYXMpZyhkZWxpbWl0ZXJzLik0OCBiKFNoZWxsKTMyIGIocXVvdGluZyloKGlzKTE1MAorNTM0MCB5KGhvbm9yZWQuKTU2IGIoRWFjKW0oaCkzNyBiKHcpbShvcmQpZShpcyloKHRoZW4pZihleHBhbmRlZClnCisodXNpbmcpaChicmFjZSlnKGV4cGFuc2lvbiwpaCh0aWxkZSlmKGV4cGFuc2lvbiwpaChwYXJhbWV0ZXIpcAorZW9wIGVuZAogJSVQYWdlOiAxMTggMTI0CiBUZVhEaWN0IGJlZ2luIDExOCAxMjMgYm9wIDE1MCAtMTE2IGEgRnQoMTE4KTI1MjcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkoVGhlKWUocHJvKXMoY2VzcylnKG9mKWgoYXBwbHlpbmcpZwotKHRoZXNlKWcoY29tcGxldGlvbilnKHNwKXMoZWNpXDAxNGNhdGlvbnMpaCh3aGVuKWQodyltKG9yZClpCi0oY29tcGxldGlvbik2MzAgNDA4IHkoaXMpMzUgYihhdHRlbXB0ZWQpaChpcylmKGRlc2NyaWIpcyhlZClmKGFiKXMobyltCi0odiltKGUpaihcKHNlZSlmKFNlY3Rpb24pZyg4LjYpZyhbUHJvZ3JhbW1hYmxlKWcoQ29tcGxldGlvbl0sKTYzMAotNTE4IHkocGFnZSkzMSBiKDExNVwpLik0MiBiKFRoZSkzMCBiKGApcCBGcygtRClwIEZ0KCcpaChvcHRpb24pZih0YWspbQotKGVzKWkocHJlY2VkZW5jZSlmKG8pbSh2KW0oZXIpaChgKXAgRnMoLUUpcCBGdCgnLik2MzAKLTY1NiB5KE90aGVyKTQxIGIob3B0aW9ucywpNDYgYihpZik0MSBiKHNwKXMoZWNpXDAxNGVkLClqKGhhKW0odiltKGUpZgotKHRoZSlmKGZvbGxvKW0od2luZylpKG1lYW5pbmdzLik3NSBiKFRoZSk0MSBiKGFyZ3VtZW4pbSh0cyloKHRvKTYzMAotNzY2IHkodGhlKWUoYClwIEZzKC1HKXAgRnQoJywpaihgKXAgRnMoLVcpcCBGdCgnLClnKGFuZClkKGApcAotRnMoLVgpcCBGdCgnKWcob3B0aW9ucylnKFwoYW5kLClqKGlmKWQobmVjZXNzYXJ5KS04IGIoLCk0NAotYih0aGUpYyhgKXAgRnMoLVApcCBGdCgnKWgoYW5kKWUoYClwIEZzKC1TKXAgRnQoJyloKG9wdGlvbnNcKSk2MzAKLTg3NSB5KHNob3VsZCkzMCBiKGIpcyhlKWgocXVvdGVkKWcodG8paChwcm90ZWN0KWcodGhlbSlmKGZyb20pZwotKGV4cGFuc2lvbilnKGIpcyhlZm9yZSlnKHRoZSlnIEZzKGNvbXBsZXRlKWUgRnQoYnVpbHRpbik2MzAKLTk4NSB5KGlzKWgoaW4pbSh2KW0ob2spbShlZC4pNjMwIDExNTEgeSBGcygtbylnIEZpKGNvbXAtb3B0aW9uKTExMTAKLTEyNjEgeSBGdChUaGUpYyBGcShjb21wLW9wdGlvbilpIEZ0KGNvbiltKHRyb2xzKWcoc2V2KW0oZXJhbCloKGFzcClzCi0oZWN0cyllKG9mKWcodGhlKWcoY29tcHNwKXMoZWMncylnKGIpcyhlaGEpbSh2LSkxMTEwCi0xMzcwIHkoaW9yKWcoYilzKGV5KW0ob25kKWYodGhlKWcoc2ltcGxlKWgoZ2VuZXJhdGlvbiloKG9mKWUKLShjb21wbGV0aW9ucy4pNDEgYiBGcShjb21wLW9wdGlvbikyNyBiIEZ0KG1hKW0oeSkxMTEwCi0xNDgwIHkoYilzKGUpaihvbmUpZyhvZjopMTExMCAxNjQ2IHkgRnMoYmFzaGRlZmF1bHQpMTU5MAotMTc1NiB5IEZ0KFApbShlcmZvcm0pZCh0aGUpaChyZXN0KWYob2YpaCh0aGUpZyhkZWZhdWx0KWYoQmFzaCloCi0oY29tcGxldGlvbnMpZyhpZilnKHRoZSkxNTkwIDE4NjYgeShjb21wc3ApcyhlYylpKGdlbmVyYXRlcylpKG5vKWUKLShtYXRjKW0oaGVzLikxMTEwIDIwMzIgeSBGcyhkZWZhdWx0KTE0NCBiIEZ0KFVzZSkyMiBiKFJlYWRsaW5lJ3MpZwotKGRlZmF1bHQpZyhcMDE0bGVuYW1lKWcoY29tcGxldGlvbilnKGlmKWcodGhlKWcoY29tcC0pMTU5MAotMjE0MiB5KHNwKXMoZWMpMzAgYihnZW5lcmF0ZXMpaShubyllKG1hdGMpbShoZXMuKTExMTAKLTIzMDggeSBGcyhkaXJuYW1lcyk5NiBiIEZ0KFApbShlcmZvcm0pNDYgYihkaXJlY3RvcnkpZyhuYW1lKWgKLShjb21wbGV0aW9uKWcoaWYpZih0aGUpZyhjb21wc3ApcyhlYykxNTkwIDI0MTggeShnZW5lcmF0ZXMpMzIKLWIobm8pZShtYXRjKW0oaGVzLikxMTEwIDI1ODQgeSBGcyhmaWxlbmFtZXMpMTU5MCAyNjk0Ci15IEZ0KFQpLTggYihlbGwpNDAgYihSZWFkbGluZSlmKHRoYXQpaCh0aGUpZihjb21wc3ApcyhlYylmKGdlbmVyYXRlcylqCi0oXDAxNGxlbmFtZXMsKTE1OTAgMjgwMyB5KHNvKTI5IGIoaXQpaChjYW4pZihwKXMoZXJmb3JtKWYoYW4pbSh5KWgKLShcMDE0bGVuYW1lLXNwKXMoZWNpXDAxNGMpaChwcm8pcyhjZXNzaW5nKWUoXChsaWspbShlKTE1OTAKLTI5MTMgeShhZGRpbmcpZChhKWgoc2xhc2gpZih0byloKGRpcmVjdG9yeSlnKG5hbWVzKWYocXVvdGluZyloKHNwKXMKLShlY2lhbClnKGMpbShoYXItKTE1OTAgMzAyMiB5KGFjdGVycywpMzkgYihvcilkKHN1cHByZXNzaW5nKWYodHJhaWxpbmcpCi1pKHNwYWNlc1wpLik1OSBiKFRoaXMpMzUgYihvcHRpb24paShpcykxNTkwIDMxMzIgeShpbiltKHRlbmRlZCkzMAotYih0bylnKGIpcyhlKWcodXNlZClmKHdpdGgpZyhzaGVsbClpKGZ1bmN0aW9ucyllKHNwKXMoZWNpXDAxNGVkKWcod2l0aCkKLTE1OTAgMzI0MiB5KGApcCBGcygtRilwIEZ0KCcuKTExMTAgMzQwOCB5IEZzKG5vc3BhY2UpMTQ0Ci1iIEZ0KFQpLTggYihlbGwpNDAgYihSZWFkbGluZSlnKG5vdClnKHRvKWcoYXBwKXMoZW5kKWQoYSlqKHNwYWNlKWcKLShcKHRoZSlmKGRlZmF1bHRcKSloKHRvKTE1OTAgMzUxOCB5KHcpbShvcmRzKTMwIGIoY29tcGxldGVkKWgoYXQpZyh0aGUpCi1nKGVuZClmKG9mKWcodGhlKWgobGluZS4pMTExMCAzNjg0IHkgRnMocGx1c2RpcnMpOTYgYgotRnQoQWZ0ZXIpMzAgYihhbiltKHkpaChtYXRjKW0oaGVzKWcoZGVcMDE0bmVkKWQoYiltKHkpaSh0aGUpZyhjb21wc3ApcwotKGVjKWcoYXJlKWcoZ2VuZXItKTE1OTAgMzc5NCB5KGF0ZWQsKWcoZGlyZWN0b3J5KWYobmFtZSlnKGNvbXBsZXRpb24paQotKGlzKWQoYXR0ZW1wdGVkKWkoYW5kKWYoYW4pbSh5KTE1OTAgMzkwMyB5KG1hdGMpbShoZXMpaihhcmUpZShhZGRlZClnCi0odG8paCh0aGUpZyhyZXN1bHRzKWYob2YpZyh0aGUpaChvdGhlcilnKGFjdGlvbnMuKTYzMAotNDA3MCB5IEZzKC1BKWYgRmkoYWN0aW9uKTExMTAgNDE3OSB5IEZ0KFRoZSkyNSBiIEZxKGFjdGlvbiloCi1GdChtYSltKHkpZyhiKXMoZSllKG9uZSloKG9mKWgodGhlKWYoZm9sbG8pbSh3aW5nKWkodG8pZShnZW5lcmF0ZSlpKGEpZQotKGxpc3QpaChvZilmKHApcyhvc3NpYmxlKTExMTAgNDI4OSB5KGNvbXBsZXRpb25zOikxMTEwCi00NDU1IHkgRnMoYWxpYXMpMjQwIGIgRnQoQWxpYXMpMzEgYihuYW1lcy4pNDEgYihNYSltKHkpMzEKLWIoYWxzbyloKGIpcyhlKWUoc3ApcyhlY2lcMDE0ZWQpZihhcylpKGApcCBGcygtYSlwIEZ0KCcuKTExMTAKLTQ2MjIgeSBGcyhhcnJheXZhcik5NiBiIEZ0KEFycmEpbSh5KTMxIGIodiktNSBiKGFyaWFibGUpMzEKLWIobmFtZXMuKTExMTAgNDc4OCB5IEZzKGJpbmRpbmcpMTQ0IGIgRnQoUmVhZGxpbmUpMzAKLWIoayltKGV5KWYoYmluZGluZylmKG5hbWVzKWgoXChzZWUpaChTZWN0aW9uKWYoOC40KWgoW0JpbmRhYmxlKTE1OTAKLTQ4OTggeShSZWFkbGluZSloKENvbW1hbmRzXSwpZihwYWdlKWgoMTA2XCkuKTExMTAgNTA2NAoteSBGcyhidWlsdGluKTE0NCBiIEZ0KE5hbWVzKTIxIGIob2YpZyhzaGVsbClmKGJ1aWx0aW4paChjb21tYW5kcy4pMzcKLWIoTWEpbSh5KTIxIGIoYWxzbyloKGIpcyhlKWUoc3ApcyhlY2lcMDE0ZWQpMTU5MCA1MTc0Ci15KGFzKTMxIGIoYClwIEZzKC1iKXAgRnQoJy4pMTExMCA1MzQwIHkgRnMoY29tbWFuZCkxNDQKLWIgRnQoQ29tbWFuZCkyOSBiKG5hbWVzLik0MSBiKE1hKW0oeSkzMiBiKGFsc28pZihiKXMoZSlmKHNwKXMKLShlY2lcMDE0ZWQpZihhcylpKGApcCBGcygtYylwIEZ0KCcuKXAgZW9wIGVuZAorYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5KGFuZCk0NCBiKHYpLTUgYihhcmlhYmxlKTQ2CitiKGV4cGFuc2lvbiwpaihjb21tYW5kKTQ0IGIoc3Vic3RpdHV0aW9uLCk0OSBiKGFuZCk0NAorYihhcml0aG1ldGljKWkoZXhwYW5zaW9uLClqKGFzKWMoZGVzY3JpYilzKGVkKTE1MCA0MDgKK3koYWIpcyhvKW0odiltKGUpMzggYihcKHNlZSlmKFNlY3Rpb24paCgzLjUpZyhbU2hlbGwpZShFeHBhbnNpb25zXSwpaQorKHBhZ2UpZigxOVwpLik2MSBiKFRoZSkzNiBiKHJlc3VsdHMpaChhcmUpZyhzcGxpdClmKHVzaW5nKWgodGhlKWYKKyhydWxlcykxNTAgNTE4IHkoZGVzY3JpYilzKGVkKTI5IGIoYWIpcyhvKW0odiltKGUpaShcKHNlZSlmKFNlY3Rpb24paAorKDMuNS43KWgoW1cpLTggYihvcmQpMzAgYihTcGxpdHRpbmddLCloKHBhZ2UpZigyNVwpLik0MgorYihUaGUpMzAgYihyZXN1bHRzKWYob2YpaCh0aGUpZyhleHBhbnNpb24pMTUwIDYyOCB5KGFyZSlmCisocHJlXDAxNHgtbWF0YyltKGhlZCloKGFnYWluc3QpZyh0aGUpZih3KW0ob3JkKWcoYilzKGVpbmcpZihjb21wbGV0ZWQsKQoraihhbmQpZCh0aGUpaShtYXRjKW0oaGluZylnKHcpbShvcmRzKWUoYilzKGVjb21lKWkodGhlKTE1MAorNzM3IHkocClzKG9zc2libGUpZyhjb21wbGV0aW9ucy4pMjc1IDg4OCB5KEFmdGVyKWYodGhlc2UpZyhtYXRjKW0oaGVzKWkKKyhoYSltKHYpbShlKWYoYilzKGVlbilmKGdlbmVyYXRlZCwpaChhbiltKHkpZyhzaGVsbClmKGZ1bmN0aW9uKWcob3IpZworKGNvbW1hbmQpZyhzcClzKGVjaVwwMTRlZClmKHdpdGgpMTUwIDk5OCB5KHRoZSlpKGApcAorRnMoLUYpcCBGdCgnKWcoYW5kKWYoYClwIEZzKC1DKXAgRnQoJyloKG9wdGlvbnMpZyhpcylnKGluKW0odiltKG9rKW0KKyhlZC4pNDEgYihXaGVuKTMwIGIodGhlKWcoY29tbWFuZClnKG9yKWYoZnVuY3Rpb24paChpcylnKGluKW0odiltKG9rKW0KKyhlZCwpaCh0aGUpZiBGcyhDT01QXykxNTAgMTEwNyB5KExJTkUpcCBGdCgsKTQyIGIgRnMoQ09NUF9QT0lOVClwCitGdCgsKWQgRnMoQ09NUF9LRVkpcCBGdCgsKWkoYW5kKWUgRnMoQ09NUF9UWVBFKWYgRnQodiktNQorYihhcmlhYmxlcyk0MSBiKGFyZSlmKGFzc2lnbmVkKWcodiktNSBiKGFsdWVzKTQxIGIoYXMpZihkZXNjcmliKXMoZWQpCisxNTAgMTIxNyB5KGFiKXMobyltKHYpbShlKWsoXChzZWUpZyhTZWN0aW9uKWYoNS4yKWgoW0Jhc2gpZihWKS04CitiKGFyaWFibGVzXSwpNDggYihwYWdlKWMoNjNcKS4pNzkgYihJZik0MiBiKGEpaShzaGVsbClmKGZ1bmN0aW9uKWYoaXMpaAorKGIpcyhlaW5nKWYoaW4pbSh2KW0ob2spbShlZCwpMTUwIDEzMjYgeSh0aGUpMzcgYiBGcyhDT01QX1dPUkRTKWQKK0Z0KGFuZClpIEZzKENPTVBfQ1dPUkQpZSBGdCh2KS01IGIoYXJpYWJsZXMpMzggYihhcmUpZihhbHNvKWgoc2V0Lik2MAorYihXaGVuKTM3IGIodGhlKWcoZnVuY3Rpb24pZihvciloKGNvbW1hbmQpMTUwIDE0MzYgeShpcyk0MgorYihpbiltKHYpbShvayltKGVkLClrKHRoZSk0MSBiKFwwMTRyc3QpZyhhcmd1bWVuKW0odCloKGlzKWcodGhlKWcobmFtZSkKK2Yob2YpaCh0aGUpZyhjb21tYW5kKWYod2hvc2UpaChhcmd1bWVuKW0odHMpZihhcmUpaChiKXMoZWluZykxNTAKKzE1NDUgeShjb21wbGV0ZWQsKWQodGhlKWQoc2Vjb25kKWcoYXJndW1lbiltKHQpaChpcylmKHRoZSlnKHcpbShvcmQpZworKGIpcyhlaW5nKWcoY29tcGxldGVkLClpKGFuZCllKHRoZSlnKHRoaXJkKWYoYXJndW1lbiltKHQpaShpcykxNTAKKzE2NTUgeSh0aGUpMjggYih3KW0ob3JkKWcocHJlY2VkaW5nKWgodGhlKWYodyltKG9yZClnKGIpcyhlaW5nKWcKKyhjb21wbGV0ZWQpaChvbilmKHRoZSloKGN1cnJlbiltKHQpZihjb21tYW5kKWcobGluZS4pNDAKK2IoTm8pMjkgYihcMDE0bHRlcmluZylnKG9mKTE1MCAxNzY1IHkodGhlKWkoZ2VuZXJhdGVkKWgoY29tcGxldGlvbnMpaAorKGFnYWluc3QpZih0aGUpZih3KW0ob3JkKWcoYilzKGVpbmcpZyhjb21wbGV0ZWQpaChpcylmKHApcyhlcmZvcm1lZDspZgorKHRoZSloKGZ1bmN0aW9uKWcob3IpMTUwIDE4NzQgeShjb21tYW5kKWYoaGFzKWcoY29tcGxldGUpaShmcmVlZG9tKWUKKyhpbilnKGdlbmVyYXRpbmcpaSh0aGUpZihtYXRjKW0oaGVzLikyNzUgMjAyNSB5KEFuKW0oeSlnKGZ1bmN0aW9uKWgoc3ApCitzKGVjaVwwMTRlZClmKHdpdGgpZyhgKXAgRnMoLUYpcCBGdCgnKWgoaXMpZyhpbiltKHYpbShvayltKGVkKWgKKyhcMDE0cnN0Lik0NCBiKFRoZSkzMSBiKGZ1bmN0aW9uKWgobWEpbSh5KWcodXNlKWcoYW4pbSh5KWcob2YpZyh0aGUpZworKHNoZWxsKTE1MCAyMTM0IHkoZmFjaWxpdGllcywpNTAgYihpbmNsdWRpbmcpNDQgYih0aGUpaAorRnMoY29tcGdlbilkIEZ0KGFuZClpIEZzKGNvbXBvcHQpZSBGdChidWlsdGlucylpKGRlc2NyaWIpcyhlZClmKGIpcworKGVsbyltKHcpaChcKHNlZSlpKFNlY3Rpb24pZig4LjcpMTUwIDIyNDQgeShbUHJvZ3JhbW1hYmxlKTMxCitiKENvbXBsZXRpb24paChCdWlsdGluc10sKWYocGFnZSloKDExOVwpLClnKHRvKWcoZ2VuZXJhdGUpZyh0aGUpZihtYXRjKQorbShoZXMuKTQyIGIoSXQpMzEgYihtKW0odXN0KWcocHV0KWYodGhlKTE1MCAyMzU0IHkocClzKG9zc2libGUpZworKGNvbXBsZXRpb25zKWgoaW4pZih0aGUpaCBGcyhDT01QUkVQTFkpZCBGdChhcnJhKW0oeSlqKHYpLTUKK2IoYXJpYWJsZS4pMjc1IDI1MDQgeShOZXh0LCkyMyBiKGFuKW0oeSllKGNvbW1hbmQpZihzcClzKGVjaVwwMTRlZClnCisod2l0aClnKHRoZSloKGApcCBGcygtQylwIEZ0KCcpZihvcHRpb24paChpcylnKGluKW0odiltKG9rKW0oZWQpaChpbillCisoYW4pZyhlbiltKHZpcm9ubWVuKW0odCloKGVxdWl2KS01IGIoYWxlbiltKHQpMTUwIDI2MTQKK3kodG8pMjYgYihjb21tYW5kKWUoc3Vic3RpdHV0aW9uLikzOSBiKEl0KTI1IGIoc2hvdWxkKWYocHJpbiltKHQpaChhKWcKKyhsaXN0KWgob2YpZihjb21wbGV0aW9ucywpaShvbmUpZShwKXMoZXIpZihsaW5lLClqKHRvKWYodGhlKWYoc3RhbmRhcmQpCisxNTAgMjcyNCB5KG91dHB1dC4pNDAgYihCYWMpbShrc2xhc2gpMzIgYihtYSltKHkpZihiKXMoZSlmKHVzZWQpZyh0byloCisoZXNjYXApcyhlKWcoYSlmKG5ld2xpbmUsKWgoaWYpZihuZWNlc3NhcnkpLTggYiguKTI3NQorMjg3NCB5KEFmdGVyKTQyIGIoYWxsKWcob2YpZyh0aGUpZyhwKXMob3NzaWJsZSlnKGNvbXBsZXRpb25zKWgoYXJlKWYKKyhnZW5lcmF0ZWQsKWsoYW4pbSh5KWMoXDAxNGx0ZXIpZyhzcClzKGVjaVwwMTRlZClmKHdpdGgpaCh0aGUpZyhgKXAKK0ZzKC1YKXAgRnQoJykxNTAgMjk4NCB5KG9wdGlvbikzNCBiKGlzKWYoYXBwbGllZClnKHRvKWgodGhlKWYobGlzdC4pNDkKK2IoVGhlKTMzIGIoXDAxNGx0ZXIpZyhpcylnKGEpaChwYXR0ZXJuKWYoYXMpZyh1c2VkKWcoZm9yKWcocGF0aG5hbWUpZworKGV4cGFuc2lvbjspaChhKWcoYClwIEZzKCYpcCBGdCgnKTE1MCAzMDkzIHkoaW4pMzkgYih0aGUpZyhwYXR0ZXJuKWcKKyhpcylnKHJlcGxhY2VkKWcod2l0aClnKHRoZSlnKHRleHQpaChvZilmKHRoZSlnKHcpbShvcmQpZyhiKXMoZWluZylmCisoY29tcGxldGVkLik2OCBiKEEpMzkgYihsaXRlcmFsKWgoYClwIEZzKCYpcCBGdCgnKWYobWEpbSh5KTE1MAorMzIwMyB5KGIpcyhlKWUoZXNjYXApcyhlZCloKHdpdGgpZyhhKWgoYmFjKW0oa3NsYXNoOylrKHRoZSkzOAorYihiYWMpbShrc2xhc2gpaChpcylmKHJlbW8pbSh2KW0oZWQpaChiKXMoZWZvcmUpZShhdHRlbXB0aW5nKWooYSllCisobWF0YyltKGguKTY1IGIoQW4pbSh5KTE1MCAzMzEzIHkoY29tcGxldGlvbikzNSBiKHRoYXQpZyhtYXRjKW0oaGVzKWcKKyh0aGUpZihwYXR0ZXJuKWcod2lsbClnKGIpcyhlKWcocmVtbyltKHYpbShlZCloKGZyb20pZSh0aGUpaChsaXN0Lik1MworYihBKTM0IGIobGVhZGluZylnKGApcCBGcyghKXAgRnQoJyloKG5lZ2F0ZXMpMTUwIDM0MjIKK3kodGhlKWMocGF0dGVybjspZihpbilnKHRoaXMpaChjYXNlKWcoYW4pbSh5KWcoY29tcGxldGlvbilnKG5vdClnKG1hdGMpCittKGhpbmcpaCh0aGUpZShwYXR0ZXJuKWgod2lsbClmKGIpcyhlKWcocmVtbyltKHYpbShlZC4pMjc1CiszNTczIHkoRmluYWxseSktOCBiKCwpMzMgYihhbiltKHkpZihwcmVcMDE0eClmKGFuZClnKHN1XDAxNngpZyhzcClzCisoZWNpXDAxNGVkKWcod2l0aCloKHRoZSlnKGApcCBGcygtUClwIEZ0KCcpZihhbmQpZyhgKXAKK0ZzKC1TKXAgRnQoJyloKG9wdGlvbnMpZyhhcmUpZyhhZGRlZClmKHRvKWkoZWFjKW0oaCkxNTAKKzM2ODIgeShtZW0pbShiKXMoZXIpZShvZilnKHRoZSloKGNvbXBsZXRpb24paChsaXN0LClmKGFuZClmKHRoZSloCisocmVzdWx0KWYoaXMpaChyZXR1cm5lZCllKHRvKWkodGhlKWcoUmVhZGxpbmUpZyhjb21wbGV0aW9uKWgoY28pcyhkZSkKKzE1MCAzNzkyIHkoYXMpZSh0aGUpZihsaXN0KWgob2YpZyhwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zLikyNzUKKzM5NDMgeShJZikyMiBiKHRoZSlpKHByZXZpb3VzbHktYXBwbGllZClmKGFjdGlvbnMpaShkbyllKG5vdCloCisoZ2VuZXJhdGUpaChhbiltKHkpZihtYXRjKW0oaGVzLClpKGFuZClkKHRoZSlnKGApcCBGcygtbykzMAorYihkaXJuYW1lcylwIEZ0KCcpMjIgYihvcC0pMTUwIDQwNTIgeSh0aW9uKTI5IGIodyltKGFzKWYoc3VwcGxpZWQpZih0bykKK2kgRnMoY29tcGxldGUpZCBGdCh3aGVuKWgodGhlKWgoY29tcHNwKXMoZWMpZyh3KW0oYXMpZyhkZVwwMTRuZWQsKWcKKyhkaXJlY3RvcnkpZyhuYW1lKWgoY29tcGxldGlvbikxNTAgNDE2MiB5KGlzKWgoYXR0ZW1wdGVkLikyNzUKKzQzMTMgeShJZilnKHRoZSlpKGApcCBGcygtbyllKHBsdXNkaXJzKXAgRnQoJylmKG9wdGlvbilqKHcpbShhcylmCisoc3VwcGxpZWQpZih0bylpIEZzKGNvbXBsZXRlKWUgRnQod2hlbilnKHRoZSloKGNvbXBzcClzKGVjKWcodyltKGFzKWgKKyhkZVwwMTRuZWQsKTE1MCA0NDIyIHkoZGlyZWN0b3J5KWsobmFtZSlmKGNvbXBsZXRpb24paShpcyllKGF0dGVtcHRlZCloCisoYW5kKWYoYW4pbSh5KWgobWF0YyltKGhlcylnKGFyZSlnKGFkZGVkKWYodG8paCh0aGUpZihyZXN1bHRzKWcob2YpaAorKHRoZSkxNTAgNDUzMiB5KG90aGVyKTMxIGIoYWN0aW9ucy4pMjc1IDQ2ODIgeShCeSlnKGRlZmF1bHQsKWkoaWYpZShhKWgKKyhjb21wc3ApcyhlYylmKGlzKWgoZm91bmQsKWYod2hhdGV2KW0oZXIpaChpdClnKGdlbmVyYXRlcyloKGlzKWUKKyhyZXR1cm5lZClnKHRvKWgodGhlKWcoY29tcGxldGlvbikxNTAgNDc5MiB5KGNvKXMoZGUpMjEKK2IoYXMpZyh0aGUpZyhmdWxsKWcoc2V0KWcob2YpZyhwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zLikzOQorYihUaGUpMjAgYihkZWZhdWx0KWgoQmFzaClnKGNvbXBsZXRpb25zKWgoYXJlKWcobm90KWYoYXR0ZW1wdGVkLCkxNTAKKzQ5MDIgeShhbmQpayh0aGUpaChSZWFkbGluZSlnKGRlZmF1bHQpZyhvZilnKFwwMTRsZW5hbWUpZyhjb21wbGV0aW9uKWgKKyhpcylmKGRpc2FibGVkLikzOCBiKElmKTI2IGIodGhlKWcoYClwIEZzKC1vKWsoYmFzaGRlZmF1bHQpcAorRnQoJykyMiBiKG9wdGlvbikxNTAgNTAxMSB5KHcpbShhcylpKHN1cHBsaWVkKWUodG8pagorRnMoY29tcGxldGUpYyBGdCh3aGVuKWkodGhlKWcoY29tcHNwKXMoZWMpaCh3KW0oYXMpZyhkZVwwMTRuZWQsKWcodGhlKWYKKyhkZWZhdWx0KWgoQmFzaClnKGNvbXBsZXRpb25zKWgoYXJlKTE1MCA1MTIxIHkoYXR0ZW1wdGVkKWYoaWYpZih0aGUpZworKGNvbXBzcClzKGVjKWcoZ2VuZXJhdGVzKWkobm8pZShtYXRjKW0oaGVzLikzOSBiKElmKTIzCitiKHRoZSlnKGApcCBGcygtbykzMCBiKGRlZmF1bHQpcCBGdCgnKTIxIGIob3B0aW9uKWoodyltKGFzKWYoc3VwcGxpZWQpZgorKHRvKTE1MCA1MjMwIHkgRnMoY29tcGxldGUpaiBGdCh3aGVuKWgodGhlKWgoY29tcHNwKXMoZWMpZih3KW0oYXMpaQorKGRlXDAxNG5lZCwpZShSZWFkbGluZSdzKWkoZGVmYXVsdClmKGNvbXBsZXRpb24paCh3aWxsKWYoYilzKGUpZihwKXMKKyhlcmZvcm1lZCkxNTAgNTM0MCB5KGlmKWsodGhlKWgoY29tcHNwKXMoZWMpZihcKGFuZCwpZyhpZiloKGF0dGVtcHRlZCwpCitnKHRoZSlnKGRlZmF1bHQpZihCYXNoKWgoY29tcGxldGlvbnNcKSloKGdlbmVyYXRlKWcobm8pZShtYXRjKW0oaGVzLilwCitlb3AgZW5kCiAlJVBhZ2U6IDExOSAxMjUKIFRlWERpY3QgYmVnaW4gMTE5IDEyNCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoODopNDEKLWIoQ29tbWFuZCkyOSBiKExpbmUpaShFZGl0aW5nKTIwNjIgYigxMTkpMTExMCAyOTkgeSBGcyhkaXJlY3RvcnkpMTU5MAotNDA4IHkgRnQoRGlyZWN0b3J5KTMyIGIobmFtZXMuKTQwIGIoTWEpbSh5KTMyIGIoYWxzbylmKGIpcyhlKWYoc3ApcwotKGVjaVwwMTRlZClnKGFzKWcoYClwIEZzKC1kKXAgRnQoJy4pMTExMCA1NzMgeSBGcyhkaXNhYmxlZCk5NgotYiBGdChOYW1lcykzMSBiKG9mKWcoZGlzYWJsZWQpZihzaGVsbClnKGJ1aWx0aW5zLikxMTEwCi03MzcgeSBGcyhlbmFibGVkKTE0NCBiIEZ0KE5hbWVzKTMxIGIob2YpZyhlbmFibGVkKWYoc2hlbGwpZyhidWlsdGlucy4pCi0xMTEwIDkwMiB5IEZzKGV4cG9ydCkxOTIgYiBGdChOYW1lcykzNCBiKG9mKWYoZXhwKXMob3J0ZWQpZihzaGVsbCloKHYpCi0tNSBiKGFyaWFibGVzLik0OSBiKE1hKW0oeSkzNSBiKGFsc28pZShiKXMoZSlnKHNwKXMoZWNpLSkxNTkwCi0xMDExIHkoXDAxNGVkKWQoYXMpZyhgKXAgRnMoLWUpcCBGdCgnLikxMTEwIDExNzYgeSBGcyhmaWxlKTI4OAotYiBGdChGaWxlKTMyIGIobmFtZXMuKTQwIGIoTWEpbSh5KTMyIGIoYWxzbylmKGIpcyhlKWYoc3ApcyhlY2lcMDE0ZWQpZgotKGFzKWkoYClwIEZzKC1mKXAgRnQoJy4pMTExMCAxMzQwIHkgRnMoZnVuY3Rpb24pOTYgYgotRnQoTmFtZXMpMzEgYihvZilnKHNoZWxsKWYoZnVuY3Rpb25zLikxMTEwIDE1MDQgeSBGcyhncm91cCkyNDAKLWIgRnQoR3JvdXApMzAgYihuYW1lcy4pNDAgYihNYSltKHkpMzIgYihhbHNvKWYoYilzKGUpZihzcClzKGVjaVwwMTRlZClnCi0oYXMpZyhgKXAgRnMoLWcpcCBGdCgnLikxMTEwIDE2NjkgeSBGcyhoZWxwdG9waWMpMTU5MAotMTc3OCB5IEZ0KEhlbHApMzcgYih0b3BpY3MpZyhhcylnKGFjY2VwdGVkKWgoYiltKHkpZSh0aGUpaAotRnMoaGVscClmIEZ0KGJ1aWx0aW4pZyhcKHNlZSloKFNlYy0pMTU5MCAxODg4IHkodGlvbikzMQotYig0LjIpZyhbQmFzaClnKEJ1aWx0aW5zXSwpZyhwYWdlKWcoNDFcKS4pMTExMCAyMDUyIHkKLUZzKGhvc3RuYW1lKTk2IGIgRnQoSG9zdG5hbWVzLCk4OSBiKGFzKTc2IGIodGFrKW0oZW4paChmcm9tKWYodGhlKWcKLShcMDE0bGUpaChzcClzKGVjaVwwMTRlZCllKGIpbSh5KTE1OTAgMjE2MiB5KHRoZSk1NSBiCi1GcyhIT1NURklMRSllIEZ0KHNoZWxsKWoodiktNSBiKGFyaWFibGUpNTYgYihcKHNlZSlnKFNlY3Rpb24pZyg1LjIpaAotKFtCYXNoKTE1OTAgMjI3MSB5KFYpLTggYihhcmlhYmxlc10sKTMyIGIocGFnZSlmKDYxXCkuKTExMTAKLTI0MzYgeSBGcyhqb2IpMzM2IGIgRnQoSm9iKTMxIGIobmFtZXMsKWgoaWYpZyhqb2IpZihjb24pbSh0cm9sKWkoaXMpZgotKGFjdGl2KW0oZS4pNDYgYihNYSltKHkpMzMgYihhbHNvKWcoYilzKGUpZShzcClzKGVjaS0pMTU5MAotMjU0NSB5KFwwMTRlZClmKGFzKWcoYClwIEZzKC1qKXAgRnQoJy4pMTExMCAyNzEwIHkgRnMoa2V5d29yZCkxNDQKLWIgRnQoU2hlbGwpMzAgYihyZXNlcnYpbShlZCloKHcpbShvcmRzLik0MCBiKE1hKW0oeSkzMgotYihhbHNvKWYoYilzKGUpZihzcClzKGVjaVwwMTRlZClmKGFzKWkoYClwIEZzKC1rKXAgRnQoJy4pMTExMAotMjg3NCB5IEZzKHJ1bm5pbmcpMTQ0IGIgRnQoTmFtZXMpMzEgYihvZilnKHJ1bm5pbmcpZChqb2JzLClpKGlmKWgoam9iKWYKLShjb24pbSh0cm9sKWgoaXMpZyhhY3RpdiltKGUuKTExMTAgMzAzOSB5IEZzKHNlcnZpY2UpMTQ0Ci1iIEZ0KFNlcnZpY2UpMzEgYihuYW1lcy4pNDEgYihNYSltKHkpMzEgYihhbHNvKWcoYilzKGUpZihzcClzCi0oZWNpXDAxNGVkKWcoYXMpZyhgKXAgRnMoLXMpcCBGdCgnLikxMTEwIDMyMDMgeSBGcyhzZXRvcHQpMTkyCi1iIEZ0KFYpLTggYihhbGlkKTM0IGIoYXJndW1lbiltKHRzKWYoZm9yKWYodGhlKWgoYClwCi1GcygtbylwIEZ0KCcpZyhvcHRpb24pZyh0byloKHRoZSlmIEZzKHNldCllIEZ0KGJ1aWx0aW4pMTU5MAotMzMxMyB5KFwoc2VlKWcoU2VjdGlvbiloKDQuMy4xKWcoW1RoZSllKFNldClnKEJ1aWx0aW5dLClpKHBhZ2UpZig1MVwpLikKLTExMTAgMzQ3NyB5IEZzKHNob3B0KTI0MCBiIEZ0KFNoZWxsKTQwIGIob3B0aW9uKWcobmFtZXMpZyhhcylnCi0oYWNjZXB0ZWQpaShiKW0oeSllKHRoZSlnIEZzKHNob3B0KWUgRnQoYnVpbHRpbikxNTkwCi0zNTg3IHkoXChzZWUpMzEgYihTZWN0aW9uKWgoNC4yKWYoW0Jhc2gpZyhCdWlsdGluc10sKWcocGFnZSlnKDQxXCkuKQotMTExMCAzNzUxIHkgRnMoc2lnbmFsKTE5MiBiIEZ0KFNpZ25hbCkzMSBiKG5hbWVzLikxMTEwCi0zOTE1IHkgRnMoc3RvcHBlZCkxNDQgYiBGdChOYW1lcykzMSBiKG9mKWcoc3RvcHApcyhlZCllKGpvYnMsKWgoaWYpZwotKGpvYilnKGNvbiltKHRyb2wpaShpcylmKGFjdGl2KW0oZS4pMTExMCA0MDgwIHkgRnModXNlcikyODgKLWIgRnQoVXNlcikzMCBiKG5hbWVzLik0MSBiKE1hKW0oeSkzMiBiKGFsc28pZihiKXMoZSlmKHNwKXMoZWNpXDAxNGVkKWYKLShhcylpKGApcCBGcygtdSlwIEZ0KCcuKTExMTAgNDI0NCB5IEZzKHZhcmlhYmxlKTk2IGIKLUZ0KE5hbWVzKTM2IGIob2YpZyhhbGwpZyhzaGVsbClnKHYpLTUgYihhcmlhYmxlcy4pNTYKLWIoTWEpbSh5KTM3IGIoYWxzbylmKGIpcyhlKWYoc3ApcyhlY2lcMDE0ZWQpZyhhcykxNTkwCi00MzU0IHkoYClwIEZzKC12KXAgRnQoJy4pNjMwIDQ1MTggeSBGcygtRykzMCBiIEZpKGdsb2JwYXQpMTExMAotNDYyOCB5IEZ0KFRoZSkzOSBiKFwwMTRsZW5hbWUpaChleHBhbnNpb24pZyhwYXR0ZXJuKWcKLUZxKGdsb2JwYXQpaiBGdChpcylkKGV4cGFuZGVkKWYodG8paChnZW5lcmF0ZSkxMTEwIDQ3MzcKLXkodGhlKTMxIGIocClzKG9zc2libGUpZShjb21wbGV0aW9ucy4pNjMwIDQ5MDIgeSBGcygtVyloCi1GaSh3b3JkbGlzdCkxMTEwIDUwMTEgeSBGdChUaGUpMjQgYiBGcSh3KW0ob3JkbGlzdClrCi1GdChpcylkKHNwbGl0KWcodXNpbmcpZih0aGUpaChjKW0oaGFyYWN0ZXJzKWkoaW4pZCh0aGUpaQotRnMoSUZTKWUgRnQoc3ApcyhlY2lhbCloKHYpLTUgYihhcmlhYmxlKTExMTAgNTEyMSB5KGFzKTM2Ci1iKGRlbGltaXRlcnMsKWkoYW5kKWUoZWFjKW0oaCloKHJlc3VsdGFuKW0odClnKHcpbShvcmQpZShpcyloCi0oZXhwYW5kZWQuKTU3IGIoVGhlKTM1IGIocClzKG9zc2libGUpMTExMCA1MjMwIHkoY29tcGxldGlvbnMpYyhhcmUpZQotKHRoZSloKG1lbSltKGIpcyhlcnMpZihvZilnKHRoZSloKHJlc3VsdGFuKW0odClnKGxpc3QpZyh3aGljKW0oaClmCi0obWF0YyltKGgpaSh0aGUpMTExMCA1MzQwIHkodyltKG9yZClmKGIpcyhlaW5nKWcoY29tcGxldGVkLilwCitiKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMDYyIGIoMTE5KTI3NSAyOTkgeShXaGVuKTIwCitiKGEpaShjb21wc3ApcyhlYyllKGluZGljYXRlcylpKHRoYXQpZyhkaXJlY3RvcnkpZyhuYW1lKWYoY29tcGxldGlvbiloCisoaXMpZihkZXNpcmVkLClpKHRoZSllKHByb2dyYW1tYWJsZSkxNTAgNDA4IHkoY29tcGxldGlvbikzMQorYihmdW5jdGlvbnMpZShmb3JjZSlpKFJlYWRsaW5lKWYodG8paChhcHApcyhlbmQpZChhKWkoc2xhc2gpZyh0bylnCisoY29tcGxldGVkKWgobmFtZXMpZSh3aGljKW0oaCloKGFyZSlnKHN5bS0pMTUwIDUxOCB5KGIpcyhvbGljKTQwCitiKGxpbmtzKWcodG8paChkaXJlY3RvcmllcywpaihzdWIpNSBiKGplY3QpNDAgYih0byloKHRoZSlmKHYpLTUKK2IoYWx1ZSk0MSBiKG9mKWYodGhlKWcgRnEobWFyay1kaXJlY3Rvcmllcyk0NSBiIEZ0KFJlYWRsaW5lKWModiktNQorYihhcmlhYmxlLCkxNTAgNjI4IHkocmVnYXJkbGVzcykzMSBiKG9mKWYodGhlKWgoc2V0dGluZylnKG9mKWcodGhlKWYKK0ZxKG1hcmstc3ltbGluayltKGVkLWRpcmVjdG9yaWVzKTM2IGIgRnQoUmVhZGxpbmUpMzEKK2IodiktNSBiKGFyaWFibGUuKTI3NSA3NzAgeShUaGVyZSkyNSBiKGlzKWkoc29tZSlnKHN1cHApcyhvcnQpZShmb3IpaAorKGR5bmFtaWNhbGx5KWgobW8pcyhkaWZ5aW5nKWYoY29tcGxldGlvbnMuKTQwIGIoVGhpcykyNgorYihpcylnKG1vc3QpaCh1c2VmdWwpZih3aGVuKTE1MCA4ODAgeSh1c2VkKTM3IGIoaW4paChjb20pbShiaW5hdGlvbiloCisod2l0aCllKGEpaShkZWZhdWx0KWYoY29tcGxldGlvbiloKHNwKXMoZWNpXDAxNGVkKWUod2l0aCloKGApcAorRnMoLUQpcCBGdCgnLik2MyBiKEl0J3MpMzggYihwKXMob3NzaWJsZSlmKGZvciloKHNoZWxsKTE1MAorOTg5IHkoZnVuY3Rpb25zKTI4IGIoZXhlY3V0ZWQpaChhcylmKGNvbXBsZXRpb24paShoYW5kbGVycylkKHRvKWkKKyhpbmRpY2F0ZSlnKHRoYXQpZyhjb21wbGV0aW9uKWcoc2hvdWxkKWUoYilzKGUpaChyZXRyaWVkKWcoYiltKHkpMTUwCisxMDk5IHkocmV0dXJuaW5nKWooYW4paShleGl0KWcoc3RhdHVzKWYob2YpaCgxMjQuKTQ4CitiKElmKTMxIGIoYSlpKHNoZWxsKWYoZnVuY3Rpb24pZyhyZXR1cm5zKWYoMTI0LClrKGFuZCljKGMpbShoYW5nZXMpagorKHRoZSllKGNvbXBzcClzKGVjKTE1MCAxMjA5IHkoYXNzbylzKGNpYXRlZCk0MyBiKHdpdGgpZSh0aGUpZyhjb21tYW5kKWcKKyhvbilnKHdoaWMpbShoKWcoY29tcGxldGlvbilpKGlzKWUoYilzKGVpbmcpZyhhdHRlbXB0ZWQpaChcKHN1cHBsaWVkKWUKKyhhcylpKHRoZSkxNTAgMTMxOCB5KFwwMTRyc3QpMjkgYihhcmd1bWVuKW0odCloKHdoZW4pZSh0aGUpaShmdW5jdGlvbilmCisoaXMpZyhleGVjdXRlZFwpLClqKHByb2dyYW1tYWJsZSlkKGNvbXBsZXRpb24paShyZXN0YXJ0cylmKGZyb20pZih0aGUpCisxNTAgMTQyOCB5KGIpcyhlZ2lubmluZywpZSh3aXRoKWcoYW4paChhdHRlbXB0KWcodG8pZyhcMDE0bmQpZShhKWkobmV3KQorZShjb21wc3ApcyhlYylpKGZvcilmKHRoYXQpaChjb21tYW5kLikzOSBiKFRoaXMpMjcgYihhbGxvKW0od3MpaChhKWcKKyhzZXQpZyhvZikxNTAgMTUzNyB5KGNvbXBsZXRpb25zKTMzIGIodG8pZihiKXMoZSlnKGJ1aWx0KWYoZHluYW1pY2FsbHkpCitpKGFzKWYoY29tcGxldGlvbiloKGlzKWYoYXR0ZW1wdGVkLCloKHJhdGhlcilmKHRoYW4pZihiKXMoZWluZylnCisobG9hZGVkKTE1MCAxNjQ3IHkoYWxsKWcoYXQpZyhvbmNlLikyNzUgMTc4OSB5KEYpLTggYihvcikzOAorYihpbnN0YW5jZSwpaChhc3N1bWluZyllKHRoYXQpaCh0aGVyZSlmKGlzKWgoYSlmKGxpYnJhcnkpZyhvZilnKGNvbXBzcCkKK3MoZWNzLClpKGVhYyltKGgpZyhrKW0oZXB0KWUoaW4pZyhhKWgoXDAxNGxlKWYoY29ycmUtKTE1MAorMTg5OSB5KHNwKXMob25kaW5nKWcodG8paih0aGUpZihuYW1lKWYob2YpaCh0aGUpZyhjb21tYW5kLClpKHRoZSllCisoZm9sbG8pbSh3aW5nKWgoZGVmYXVsdClmKGNvbXBsZXRpb24paChmdW5jdGlvbillKHcpbShvdWxkKTE1MAorMjAwOSB5KGxvYWQpMzEgYihjb21wbGV0aW9ucylnKGR5bmFtaWNhbGx5OikzOTAgMjE1MQoreSBGcyhfY29tcGxldGlvbl9sb2FkZXJcKFwpKTM5MCAyMjYxIHkoeykzOTAgMjM3MCB5KC4pNDcKK2IoIi9ldGMvYmFzaF9jb21wbGV0aW9uLmQvJDEpbyguc2giKTQxIGIoPi9kZXYvbnVsbClrKDI+JjEpaSgmJilnCisocmV0dXJuKWYoMTI0KTM5MCAyNDgwIHkofSkzOTAgMjU4OSB5KGNvbXBsZXRlKWcoLUQpaCgtRilnCisoX2NvbXBsZXRpb25fbG9hZGVyKTE1MCAyODM0IHkgRnIoOC43KTY4IGIoUHJvZ3JhbW1hYmxlKTQ3CitiKENvbXBsZXRpb24pZihCdWlsdGlucykxNTAgMjk5MyB5IEZ0KFR3KW0obykyNyBiKGJ1aWx0aW4pZyhjb21tYW5kcylnCisoYXJlKWcoYSltKHYpLTUgYihhaWxhYmxlKTI5IGIodG8pZihtYW5pcHVsYXRlKWcodGhlKWYocHJvZ3JhbW1hYmxlKWcKKyhjb21wbGV0aW9uKWgoZmFjaWxpdGllcy4pMTUwIDMxNjUgeSBGcyhjb21wZ2VuKTg3MCAzMzAzCit5KGNvbXBnZW4pNDYgYihbKXAgRmkob3B0aW9uKTExIGIgRnMoXSk0NSBiKFspcCBGaSh3b3JkKTExCitiIEZzKF0pNjMwIDM0NDIgeSBGdChHZW5lcmF0ZSkyNyBiKHApcyhvc3NpYmxlKWUoY29tcGxldGlvbilpKG1hdGMpbQorKGhlcylnKGZvcillIEZxKHcpbShvcmQpayBGdChhY2NvcmRpbmcpZSh0bylmKHRoZSlnIEZxKG9wdGlvbilwCitGdChzLCloKHdoaWMpbShoKTYzMCAzNTUyIHkobWEpbSh5KWgoYilzKGUpZihhbiltKHkpaChvcHRpb24pZworKGFjY2VwdGVkKWgoYiltKHkpZSh0aGUpaCBGcyhjb21wbGV0ZSlkIEZ0KGJ1aWx0aW4paih3aXRoKWYodGhlKWgKKyhleGNlcHRpb24pZyhvZilnKGApcCBGcygtcClwIEZ0KCcpNjMwIDM2NjEgeShhbmQpayhgKXAKK0ZzKC1yKXAgRnQoJywpaShhbmQpZSh3cml0ZSloKHRoZSlnKG1hdGMpbShoZXMpaCh0bylnKHRoZSlmKHN0YW5kYXJkKWYKKyhvdXRwdXQuKTQ4IGIoV2hlbikzMyBiKHVzaW5nKWYodGhlKWgoYClwIEZzKC1GKXAgRnQoJyk2MzAKKzM3NzEgeShvcikyOCBiKGApcCBGcygtQylwIEZ0KCcpZyhvcHRpb25zLCloKHRoZSlmKHYpLTUKK2IoYXJpb3VzKTI5IGIoc2hlbGwpZih2KS01IGIoYXJpYWJsZXMpMjkgYihzZXQpZihiKW0oeSlnKHRoZSlnCisocHJvZ3JhbW1hYmxlKWgoY29tcGxldGlvbik2MzAgMzg4MCB5KGZhY2lsaXRpZXMsKWsod2hpbGUpZChhKW0odiktNQorYihhaWxhYmxlLCkzMyBiKHdpbGwpZShub3QpZyhoYSltKHYpbShlKWcodXNlZnVsKWYodiktNQorYihhbHVlcy4pNjMwIDQwMTkgeShUaGUpMzQgYihtYXRjKW0oaGVzKWgod2lsbClnKGIpcyhlKWYoZ2VuZXJhdGVkKWgKKyhpbilmKHRoZSloKHNhbWUpZyh3KW0oYSltKHkpZyhhcylnKGlmKWYodGhlKWgocHJvZ3JhbW1hYmxlKWYoY29tLSk2MzAKKzQxMjggeShwbGV0aW9uKWQoY28pcyhkZSlnKGhhZClmKGdlbmVyYXRlZClpKHRoZW0pZShkaXJlY3RseSlpKGZyb20pZQorKGEpaChjb21wbGV0aW9uKWgoc3ApcyhlY2lcMDE0Y2F0aW9uKWYod2l0aCk2MzAgNDIzOAoreSh0aGUpZShzYW1lKWgoXDAxNWFncy4pNDAgYihJZikyOSBiIEZxKHcpbShvcmQpaiBGdChpcylkKHNwKXMKKyhlY2lcMDE0ZWQsKWcob25seSlnKHRob3NlKWgoY29tcGxldGlvbnMpZyhtYXRjKW0oaGluZylnCitGcSh3KW0ob3JkKWogRnQod2lsbCk2MzAgNDM0OCB5KGIpcyhlKWQoZGlzcGxhKW0oeSltKGVkLik2MzAKKzQ0ODYgeShUaGUpMjQgYihyZXR1cm4pZyh2KS01IGIoYWx1ZSkyNSBiKGlzKWcodHJ1ZSlmKHVubGVzcylnKGFuKWgoaW4pCittKHYpLTUgYihhbGlkKTI1IGIob3B0aW9uKWcoaXMpZyhzdXBwbGllZCwpZihvciloKG5vKWcobWF0YyltKGhlcylnKHcpbQorKGVyZSk2MzAgNDU5NiB5KGdlbmVyYXRlZC4pMTUwIDQ3NjMgeSBGcyhjb21wbGV0ZSk4NzAKKzQ5MDIgeShjb21wbGV0ZSk0NiBiKFstYWJjZGVmZ2prc3V2XSlkKFstbylrIEZpKGNvbXAtb3B0aW9uKTExCitiIEZzKF0pNDQgYihbLURFXSlpKFstQSloIEZpKGFjdGlvbikxMSBiIEZzKF0pNDYgYihbLSk4NzAKKzUwMTEgeShHKWggRmkoZ2xvYnBhdCkxMSBiIEZzKF0pNDYgYihbLVcpZyBGaSh3b3JkbGlzdCkxMQorYiBGcyhdKTg3MCA1MTIxIHkoWy1GKTQ3IGIgRmkoZnVuY3Rpb24pMTEgYiBGcyhdKTQ1IGIoWy1DKWkKK0ZpKGNvbW1hbmQpMTEgYiBGcyhdKTQ1IGIoWy1YKWkgRmkoZmlsdGVycGF0KTExIGIgRnMoXSk4NzAKKzUyMzAgeShbLVApNDcgYiBGaShwcmVmaXgpMTEgYiBGcyhdKTQ1IGIoWy1TKWkgRmkoc3VmZml4KTExCitiIEZzKF0pNDUgYiBGaShuYW1lKTU4IGIgRnMoWylwIEZpKG5hbWUpZiBGcyguLi4pbyhdKTg3MAorNTM0MCB5KGNvbXBsZXRlKTQ2IGIoLXByKWcoWy1ERV0paChbKXAgRmkobmFtZSk1NyBiIEZzKC4uLilvKF0pcAogZW9wIGVuZAogJSVQYWdlOiAxMjAgMTI2CiBUZVhEaWN0IGJlZ2luIDEyMCAxMjUgYm9wIDE1MCAtMTE2IGEgRnQoMTIwKTI1MjcgYihCYXNoKTMxCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk2MzAgMjk5IHkoU3ApcyhlY2lmeSlpKGhvKW0odyloKGFyZ3VtZW4pbSh0cyloCisodG8pZihlYWMpbShoKWkgRnEobmFtZSlqIEZ0KHNob3VsZCkzMyBiKGIpcyhlKWcoY29tcGxldGVkLik1MworYihJZikzMyBiKHRoZSlpKGApcCBGcygtcClwIEZ0KCcpZShvcHRpb24pNjMwIDQwOCB5KGlzKWQoc3VwcGxpZWQsKWUKKyhvcilpKGlmKWcobm8pZihvcHRpb25zKWgoYXJlKWcoc3VwcGxpZWQsKWYoZXhpc3RpbmcpaChjb21wbGV0aW9uKWgoc3ApCitzKGVjaVwwMTRjYXRpb25zKWcoYXJlKTYzMCA1MTggeShwcmluKW0odGVkKTQzIGIoaW4paChhKWcodyltKGEpbSh5KWgKKyh0aGF0KWYoYWxsbyltKHdzKWgodGhlbSlmKHRvKWcoYilzKGUpZyhyZXVzZWQpZihhcyloKGlucHV0Lik4MAorYihUaGUpNDMgYihgKXAgRnMoLXIpcCBGdCgnKWcob3B0aW9uKTYzMCA2MjggeShyZW1vKW0odiltKGVzKTI5CitiKGEpZShjb21wbGV0aW9uKWkoc3ApcyhlY2lcMDE0Y2F0aW9uKWUoZm9yKWcoZWFjKW0oaClpCitGcShuYW1lKTUgYiBGdCgsKTI4IGIob3IsKWcoaWYpZihubylnIEZxKG5hbWUpNSBiIEZ0KHMpMjcKK2IoYXJlKWgoc3VwcGxpZWQsKTYzMCA3MzcgeShhbGwpNDYgYihjb21wbGV0aW9uKWgoc3ApcyhlY2lcMDE0Y2F0aW9ucy4pCis4NyBiKFRoZSk0NSBiKGApcCBGcygtRClwIEZ0KCcpaChvcHRpb24pZyhpbmRpY2F0ZXMpZyh0aGF0KWcodGhlKWcKKyhyZW1haW5pbmcpNjMwIDg0NyB5KG9wdGlvbnMpMzUgYihhbmQpZihhY3Rpb25zKWgoc2hvdWxkKWYoYXBwbHkpZyh0byloCisodGhlKWcoXFxkZWZhdWx0IilnKGNvbW1hbmQpZihjb21wbGV0aW9uOylrKHRoYXQpNjMwCis5NTYgeShpcywpMjUgYihjb21wbGV0aW9uKWcoYXR0ZW1wdGVkKWcob24pZShhKWgoY29tbWFuZClmKGZvcilnKHdoaWMpbQorKGgpaChubylmKGNvbXBsZXRpb24paShoYXMpZShwcmV2aW91c2x5KTYzMCAxMDY2IHkoYilzKGVlbikyOAorYihkZVwwMTRuZWQuKTM5IGIoVGhlKTI3IGIoYClwIEZzKC1FKXAgRnQoJylpKG9wdGlvbilnKGluZGljYXRlcylnCisodGhhdClnKHRoZSlnKHJlbWFpbmluZylmKG9wdGlvbnMpaChhbmQpZihhY3Rpb25zKTYzMAorMTE3NiB5KHNob3VsZClpKGFwcGx5KWkodG8pZyhcXGVtcHQpbSh5IilnKGNvbW1hbmQpZyhjb21wbGV0aW9uOyloCisodGhhdClmKGlzLClnKGNvbXBsZXRpb24paChhdHRlbXB0ZWQpNjMwIDEyODUgeShvbilkKGEpaChibGFuaylmKGxpbmUuKQorNjMwIDE0MTkgeShUaGUpZihwcm8pcyhjZXNzKWcob2YpaChhcHBseWluZylnKHRoZXNlKWcoY29tcGxldGlvbilnKHNwKXMKKyhlY2lcMDE0Y2F0aW9ucyloKHdoZW4pZCh3KW0ob3JkKWkoY29tcGxldGlvbik2MzAgMTUyOQoreShpcykzNSBiKGF0dGVtcHRlZCloKGlzKWYoZGVzY3JpYilzKGVkKWYoYWIpcyhvKW0odiltKGUpaihcKHNlZSlmCisoU2VjdGlvbilnKDguNilnKFtQcm9ncmFtbWFibGUpZyhDb21wbGV0aW9uXSwpNjMwIDE2MzgKK3kocGFnZSkzMSBiKDExN1wpLik0MiBiKFRoZSkzMCBiKGApcCBGcygtRClwIEZ0KCcpaChvcHRpb24pZih0YWspbShlcylpCisocHJlY2VkZW5jZSlmKG8pbSh2KW0oZXIpaChgKXAgRnMoLUUpcCBGdCgnLik2MzAgMTc3MgoreShPdGhlcik0MSBiKG9wdGlvbnMsKTQ2IGIoaWYpNDEgYihzcClzKGVjaVwwMTRlZCwpaihoYSltKHYpbShlKWYodGhlKWYKKyhmb2xsbyltKHdpbmcpaShtZWFuaW5ncy4pNzUgYihUaGUpNDEgYihhcmd1bWVuKW0odHMpaCh0byk2MzAKKzE4ODIgeSh0aGUpZShgKXAgRnMoLUcpcCBGdCgnLClqKGApcCBGcygtVylwIEZ0KCcsKWcoYW5kKWQoYClwCitGcygtWClwIEZ0KCcpZyhvcHRpb25zKWcoXChhbmQsKWooaWYpZChuZWNlc3NhcnkpLTggYigsKTQ0CitiKHRoZSljKGApcCBGcygtUClwIEZ0KCcpaChhbmQpZShgKXAgRnMoLVMpcCBGdCgnKWgob3B0aW9uc1wpKTYzMAorMTk5MSB5KHNob3VsZCkzMCBiKGIpcyhlKWgocXVvdGVkKWcodG8paChwcm90ZWN0KWcodGhlbSlmKGZyb20pZworKGV4cGFuc2lvbilnKGIpcyhlZm9yZSlnKHRoZSlnIEZzKGNvbXBsZXRlKWUgRnQoYnVpbHRpbik2MzAKKzIxMDEgeShpcyloKGluKW0odiltKG9rKW0oZWQuKTYzMCAyMjU5IHkgRnMoLW8pZyBGaShjb21wLW9wdGlvbikxMTEwCisyMzY5IHkgRnQoVGhlKWMgRnEoY29tcC1vcHRpb24paSBGdChjb24pbSh0cm9scylnKHNldiltKGVyYWwpaChhc3ApcworKGVjdHMpZShvZilnKHRoZSlnKGNvbXBzcClzKGVjJ3MpZyhiKXMoZWhhKW0odi0pMTExMAorMjQ3OCB5KGlvcilnKGIpcyhleSltKG9uZClmKHRoZSlnKHNpbXBsZSloKGdlbmVyYXRpb24paChvZillCisoY29tcGxldGlvbnMuKTQxIGIgRnEoY29tcC1vcHRpb24pMjcgYiBGdChtYSltKHkpMTExMAorMjU4OCB5KGIpcyhlKWoob25lKWcob2Y6KTExMTAgMjc0NiB5IEZzKGJhc2hkZWZhdWx0KTE1OTAKKzI4NTYgeSBGdChQKW0oZXJmb3JtKWQodGhlKWgocmVzdClmKG9mKWgodGhlKWcoZGVmYXVsdClmKEJhc2gpaAorKGNvbXBsZXRpb25zKWcoaWYpZyh0aGUpMTU5MCAyOTY2IHkoY29tcHNwKXMoZWMpaShnZW5lcmF0ZXMpaShubyllCisobWF0YyltKGhlcy4pMTExMCAzMTI0IHkgRnMoZGVmYXVsdCkxNDQgYiBGdChVc2UpMjIgYihSZWFkbGluZSdzKWcKKyhkZWZhdWx0KWcoXDAxNGxlbmFtZSlnKGNvbXBsZXRpb24pZyhpZilnKHRoZSlnKGNvbXAtKTE1OTAKKzMyMzMgeShzcClzKGVjKTMwIGIoZ2VuZXJhdGVzKWkobm8pZShtYXRjKW0oaGVzLikxMTEwCiszMzkyIHkgRnMoZGlybmFtZXMpOTYgYiBGdChQKW0oZXJmb3JtKTQ2IGIoZGlyZWN0b3J5KWcobmFtZSloCisoY29tcGxldGlvbilnKGlmKWYodGhlKWcoY29tcHNwKXMoZWMpMTU5MCAzNTAxIHkoZ2VuZXJhdGVzKTMyCitiKG5vKWUobWF0YyltKGhlcy4pMTExMCAzNjYwIHkgRnMoZmlsZW5hbWVzKTE1OTAgMzc2OQoreSBGdChUKS04IGIoZWxsKTQwIGIoUmVhZGxpbmUpZih0aGF0KWgodGhlKWYoY29tcHNwKXMoZWMpZihnZW5lcmF0ZXMpagorKFwwMTRsZW5hbWVzLCkxNTkwIDM4NzkgeShzbykyOSBiKGl0KWgoY2FuKWYocClzKGVyZm9ybSlmKGFuKW0oeSloCisoXDAxNGxlbmFtZS1zcClzKGVjaVwwMTRjKWgocHJvKXMoY2Vzc2luZyllKFwobGlrKW0oZSkxNTkwCiszOTg4IHkoYWRkaW5nKWQoYSloKHNsYXNoKWYodG8paChkaXJlY3RvcnkpZyhuYW1lcylmKHF1b3RpbmcpaChzcClzCisoZWNpYWwpZyhjKW0oaGFyLSkxNTkwIDQwOTggeShhY3RlcnMsKTM5IGIob3IpZChzdXBwcmVzc2luZylmKHRyYWlsaW5nKQoraShzcGFjZXNcKS4pNTkgYihUaGlzKTM1IGIob3B0aW9uKWkoaXMpMTU5MCA0MjA4IHkoaW4pbSh0ZW5kZWQpMzAKK2IodG8pZyhiKXMoZSlnKHVzZWQpZih3aXRoKWcoc2hlbGwpaShmdW5jdGlvbnMpZShzcClzKGVjaVwwMTRlZClnKHdpdGgpCisxNTkwIDQzMTcgeShgKXAgRnMoLUYpcCBGdCgnLikxMTEwIDQ0NzUgeSBGcyhub3NwYWNlKTE0NAorYiBGdChUKS04IGIoZWxsKTQwIGIoUmVhZGxpbmUpZyhub3QpZyh0bylnKGFwcClzKGVuZClkKGEpaihzcGFjZSlnCisoXCh0aGUpZihkZWZhdWx0XCkpaCh0bykxNTkwIDQ1ODUgeSh3KW0ob3JkcykzMCBiKGNvbXBsZXRlZCloKGF0KWcodGhlKQorZyhlbmQpZihvZilnKHRoZSloKGxpbmUuKTExMTAgNDc0MyB5IEZzKHBsdXNkaXJzKTk2IGIKK0Z0KEFmdGVyKTMwIGIoYW4pbSh5KWgobWF0YyltKGhlcylnKGRlXDAxNG5lZClkKGIpbSh5KWkodGhlKWcoY29tcHNwKXMKKyhlYylnKGFyZSlnKGdlbmVyLSkxNTkwIDQ4NTMgeShhdGVkLClnKGRpcmVjdG9yeSlmKG5hbWUpZyhjb21wbGV0aW9uKWkKKyhpcylkKGF0dGVtcHRlZClpKGFuZClmKGFuKW0oeSkxNTkwIDQ5NjMgeShtYXRjKW0oaGVzKWooYXJlKWUoYWRkZWQpZworKHRvKWgodGhlKWcocmVzdWx0cylmKG9mKWcodGhlKWgob3RoZXIpZyhhY3Rpb25zLik2MzAKKzUxMjEgeSBGcygtQSlmIEZpKGFjdGlvbikxMTEwIDUyMzAgeSBGdChUaGUpMjUgYiBGcShhY3Rpb24paAorRnQobWEpbSh5KWcoYilzKGUpZShvbmUpaChvZiloKHRoZSlmKGZvbGxvKW0od2luZylpKHRvKWUoZ2VuZXJhdGUpaShhKWUKKyhsaXN0KWgob2YpZihwKXMob3NzaWJsZSkxMTEwIDUzNDAgeShjb21wbGV0aW9uczopcCBlb3AKK2VuZAorJSVQYWdlOiAxMjEgMTI3CitUZVhEaWN0IGJlZ2luIDEyMSAxMjYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCitiKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMDYyIGIoMTIxKTExMTAgMjk5IHkgRnMoYWxpYXMpMjQwCitiIEZ0KEFsaWFzKTMxIGIobmFtZXMuKTQxIGIoTWEpbSh5KTMxIGIoYWxzbyloKGIpcyhlKWUoc3ApcyhlY2lcMDE0ZWQpZgorKGFzKWkoYClwIEZzKC1hKXAgRnQoJy4pMTExMCA0NjEgeSBGcyhhcnJheXZhcik5NiBiIEZ0KEFycmEpbSh5KTMxCitiKHYpLTUgYihhcmlhYmxlKTMxIGIobmFtZXMuKTExMTAgNjIzIHkgRnMoYmluZGluZykxNDQKK2IgRnQoUmVhZGxpbmUpMzAgYihrKW0oZXkpZihiaW5kaW5nKWYobmFtZXMpaChcKHNlZSloKFNlY3Rpb24pZig4LjQpaAorKFtCaW5kYWJsZSkxNTkwIDczMiB5KFJlYWRsaW5lKWgoQ29tbWFuZHNdLClmKHBhZ2UpaCgxMDhcKS4pMTExMAorODk0IHkgRnMoYnVpbHRpbikxNDQgYiBGdChOYW1lcykyMSBiKG9mKWcoc2hlbGwpZihidWlsdGluKWgoY29tbWFuZHMuKQorMzcgYihNYSltKHkpMjEgYihhbHNvKWgoYilzKGUpZShzcClzKGVjaVwwMTRlZCkxNTkwIDEwMDQKK3koYXMpMzEgYihgKXAgRnMoLWIpcCBGdCgnLikxMTEwIDExNjYgeSBGcyhjb21tYW5kKTE0NAorYiBGdChDb21tYW5kKTI5IGIobmFtZXMuKTQxIGIoTWEpbSh5KTMyIGIoYWxzbylmKGIpcyhlKWYoc3ApcworKGVjaVwwMTRlZClmKGFzKWkoYClwIEZzKC1jKXAgRnQoJy4pMTExMCAxMzI4IHkgRnMoZGlyZWN0b3J5KTE1OTAKKzE0MzggeSBGdChEaXJlY3RvcnkpaChuYW1lcy4pNDAgYihNYSltKHkpMzIgYihhbHNvKWYoYilzKGUpZihzcClzCisoZWNpXDAxNGVkKWcoYXMpZyhgKXAgRnMoLWQpcCBGdCgnLikxMTEwIDE2MDAgeSBGcyhkaXNhYmxlZCk5NgorYiBGdChOYW1lcykzMSBiKG9mKWcoZGlzYWJsZWQpZihzaGVsbClnKGJ1aWx0aW5zLikxMTEwCisxNzYyIHkgRnMoZW5hYmxlZCkxNDQgYiBGdChOYW1lcykzMSBiKG9mKWcoZW5hYmxlZClmKHNoZWxsKWcoYnVpbHRpbnMuKQorMTExMCAxOTI0IHkgRnMoZXhwb3J0KTE5MiBiIEZ0KE5hbWVzKTM0IGIob2YpZihleHApcyhvcnRlZClmKHNoZWxsKWgodikKKy01IGIoYXJpYWJsZXMuKTQ5IGIoTWEpbSh5KTM1IGIoYWxzbyllKGIpcyhlKWcoc3ApcyhlY2ktKTE1OTAKKzIwMzMgeShcMDE0ZWQpZChhcylnKGApcCBGcygtZSlwIEZ0KCcuKTExMTAgMjE5NSB5IEZzKGZpbGUpMjg4CitiIEZ0KEZpbGUpMzIgYihuYW1lcy4pNDAgYihNYSltKHkpMzIgYihhbHNvKWYoYilzKGUpZihzcClzKGVjaVwwMTRlZClmCisoYXMpaShgKXAgRnMoLWYpcCBGdCgnLikxMTEwIDIzNTcgeSBGcyhmdW5jdGlvbik5NiBiCitGdChOYW1lcykzMSBiKG9mKWcoc2hlbGwpZihmdW5jdGlvbnMuKTExMTAgMjUxOSB5IEZzKGdyb3VwKTI0MAorYiBGdChHcm91cCkzMCBiKG5hbWVzLik0MCBiKE1hKW0oeSkzMiBiKGFsc28pZihiKXMoZSlmKHNwKXMoZWNpXDAxNGVkKWcKKyhhcylnKGApcCBGcygtZylwIEZ0KCcuKTExMTAgMjY4MSB5IEZzKGhlbHB0b3BpYykxNTkwCisyNzkxIHkgRnQoSGVscCkzNyBiKHRvcGljcylnKGFzKWcoYWNjZXB0ZWQpaChiKW0oeSllKHRoZSloCitGcyhoZWxwKWYgRnQoYnVpbHRpbilnKFwoc2VlKWgoU2VjLSkxNTkwIDI5MDAgeSh0aW9uKTMxCitiKDQuMilnKFtCYXNoKWcoQnVpbHRpbnNdLClnKHBhZ2UpZyg0M1wpLikxMTEwIDMwNjIgeQorRnMoaG9zdG5hbWUpOTYgYiBGdChIb3N0bmFtZXMsKTg5IGIoYXMpNzYgYih0YWspbShlbiloKGZyb20pZih0aGUpZworKFwwMTRsZSloKHNwKXMoZWNpXDAxNGVkKWUoYiltKHkpMTU5MCAzMTcyIHkodGhlKTU1IGIKK0ZzKEhPU1RGSUxFKWUgRnQoc2hlbGwpaih2KS01IGIoYXJpYWJsZSk1NiBiKFwoc2VlKWcoU2VjdGlvbilnKDUuMiloCisoW0Jhc2gpMTU5MCAzMjgyIHkoViktOCBiKGFyaWFibGVzXSwpMzIgYihwYWdlKWYoNjNcKS4pMTExMAorMzQ0NCB5IEZzKGpvYikzMzYgYiBGdChKb2IpMzEgYihuYW1lcywpaChpZilnKGpvYilmKGNvbiltKHRyb2wpaShpcylmCisoYWN0aXYpbShlLik0NiBiKE1hKW0oeSkzMyBiKGFsc28pZyhiKXMoZSllKHNwKXMoZWNpLSkxNTkwCiszNTUzIHkoXDAxNGVkKWYoYXMpZyhgKXAgRnMoLWopcCBGdCgnLikxMTEwIDM3MTUgeSBGcyhrZXl3b3JkKTE0NAorYiBGdChTaGVsbCkzMCBiKHJlc2VydiltKGVkKWgodyltKG9yZHMuKTQwIGIoTWEpbSh5KTMyCitiKGFsc28pZihiKXMoZSlmKHNwKXMoZWNpXDAxNGVkKWYoYXMpaShgKXAgRnMoLWspcCBGdCgnLikxMTEwCiszODc3IHkgRnMocnVubmluZykxNDQgYiBGdChOYW1lcykzMSBiKG9mKWcocnVubmluZylkKGpvYnMsKWkoaWYpaChqb2IpZgorKGNvbiltKHRyb2wpaChpcylnKGFjdGl2KW0oZS4pMTExMCA0MDM5IHkgRnMoc2VydmljZSkxNDQKK2IgRnQoU2VydmljZSkzMSBiKG5hbWVzLik0MSBiKE1hKW0oeSkzMSBiKGFsc28pZyhiKXMoZSlmKHNwKXMKKyhlY2lcMDE0ZWQpZyhhcylnKGApcCBGcygtcylwIEZ0KCcuKTExMTAgNDIwMSB5IEZzKHNldG9wdCkxOTIKK2IgRnQoViktOCBiKGFsaWQpMzQgYihhcmd1bWVuKW0odHMpZihmb3IpZih0aGUpaChgKXAKK0ZzKC1vKXAgRnQoJylnKG9wdGlvbilnKHRvKWgodGhlKWYgRnMoc2V0KWUgRnQoYnVpbHRpbikxNTkwCis0MzExIHkoXChzZWUpZyhTZWN0aW9uKWgoNC4zLjEpZyhbVGhlKWUoU2V0KWcoQnVpbHRpbl0sKWkocGFnZSlmKDU0XCkuKQorMTExMCA0NDczIHkgRnMoc2hvcHQpMjQwIGIgRnQoU2hlbGwpNDAgYihvcHRpb24pZyhuYW1lcylnKGFzKWcKKyhhY2NlcHRlZClpKGIpbSh5KWUodGhlKWcgRnMoc2hvcHQpZSBGdChidWlsdGluKTE1OTAKKzQ1ODIgeShcKHNlZSkzMSBiKFNlY3Rpb24paCg0LjIpZihbQmFzaClnKEJ1aWx0aW5zXSwpZyhwYWdlKWcoNDNcKS4pCisxMTEwIDQ3NDQgeSBGcyhzaWduYWwpMTkyIGIgRnQoU2lnbmFsKTMxIGIobmFtZXMuKTExMTAKKzQ5MDYgeSBGcyhzdG9wcGVkKTE0NCBiIEZ0KE5hbWVzKTMxIGIob2YpZyhzdG9wcClzKGVkKWUoam9icywpaChpZilnCisoam9iKWcoY29uKW0odHJvbClpKGlzKWYoYWN0aXYpbShlLikxMTEwIDUwNjggeSBGcyh1c2VyKTI4OAorYiBGdChVc2VyKTMwIGIobmFtZXMuKTQxIGIoTWEpbSh5KTMyIGIoYWxzbylmKGIpcyhlKWYoc3ApcyhlY2lcMDE0ZWQpZgorKGFzKWkoYClwIEZzKC11KXAgRnQoJy4pMTExMCA1MjMwIHkgRnModmFyaWFibGUpOTYgYgorRnQoTmFtZXMpMzYgYihvZilnKGFsbClnKHNoZWxsKWcodiktNSBiKGFyaWFibGVzLik1NgorYihNYSltKHkpMzcgYihhbHNvKWYoYilzKGUpZihzcClzKGVjaVwwMTRlZClnKGFzKTE1OTAKKzUzNDAgeShgKXAgRnMoLXYpcCBGdCgnLilwIGVvcCBlbmQKKyUlUGFnZTogMTIyIDEyOAorVGVYRGljdCBiZWdpbiAxMjIgMTI3IGJvcCAxNTAgLTExNiBhIEZ0KDEyMikyNTI3IGIoQmFzaCkzMQogYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpNjMwIDI5OSB5IEZzKC1DKWYgRmkoY29tbWFuZCkxMTEwCiA0MDggeSBGcShjb21tYW5kKTM1IGIgRnQoaXMpZShleGVjdXRlZClnKGluKWUoYSlpKHN1YnNoZWxsKWUoZW4pbQogKHZpcm9ubWVuKW0odCwpaShhbmQpZihpdHMpZyhvdXRwdXQpZyhpcykxMTEwIDUxOCB5KHVzZWQpZShhcylnKHRoZSloCi0ocClzKG9zc2libGUpZihjb21wbGV0aW9ucy4pNjMwIDY3NyB5IEZzKC1GKWcgRmkoZnVuY3Rpb24pMTExMAotNzg3IHkgRnQoVGhlKTI1IGIoc2hlbGwpaShmdW5jdGlvbillIEZxKGZ1bmN0aW9uKWggRnQoaXMpZyhleGVjdXRlZCloCi0oaW4pZSh0aGUpaShjdXJyZW4pbSh0KWUoc2hlbGwpaShlbiltKHZpcm9uLSkxMTEwIDg5NworKHApcyhvc3NpYmxlKWYoY29tcGxldGlvbnMuKTYzMCA2NzQgeSBGcygtRilnIEZpKGZ1bmN0aW9uKTExMTAKKzc4MyB5IEZ0KFRoZSkyNSBiKHNoZWxsKWkoZnVuY3Rpb24pZSBGcShmdW5jdGlvbiloIEZ0KGlzKWcoZXhlY3V0ZWQpaAorKGluKWUodGhlKWkoY3VycmVuKW0odCllKHNoZWxsKWkoZW4pbSh2aXJvbi0pMTExMCA4OTMKIHkobWVuKW0odC4pNDAgYihXaGVuKTI1IGIoaXQpaChcMDE0bmlzaGVzLClmKHRoZSloKHApcyhvc3NpYmxlKWYKLShjb21wbGV0aW9ucyloKGFyZSlnKHJldHJpZXYpbShlZClnKGZyb20pMTExMCAxMDA2IHkodGhlKTMxCisoY29tcGxldGlvbnMpaChhcmUpZyhyZXRyaWV2KW0oZWQpZyhmcm9tKTExMTAgMTAwMyB5KHRoZSkzMQogYih2KS01IGIoYWx1ZSkzMCBiKG9mKWgodGhlKWcgRnMoQ09NUFJFUExZKWMgRnQoYXJyYSltKHkpayh2KS01Ci1iKGFyaWFibGUuKTYzMCAxMTY2IHkgRnMoLVgpMzAgYiBGaShmaWx0ZXJwYXQpMTExMCAxMjc1Ci15IEZxKFwwMTRsdGVycGF0KWQgRnQoaXMpZShhKWcocGF0dGVybilnKGFzKWYodXNlZClnKGZvciloKFwwMTRsZW5hbWUpZwotKGV4cGFuc2lvbi4pMzggYihJdCkyNSBiKGlzKWcoYXBwbGllZClmKHRvKTExMTAgMTM4NQoteSh0aGUpMzAgYihsaXN0KWYob2YpaChwKXMob3NzaWJsZSlmKGNvbXBsZXRpb25zKWgoZ2VuZXJhdGVkKWgoYiltKHkpZQotKHRoZSlnKHByZWNlZGluZyloKG9wdGlvbnMpMTExMCAxNDk0IHkoYW5kKWQoYXJndW1lbiltKHRzLClpKGFuZCllKGVhYykKLW0oaClpKGNvbXBsZXRpb24pZyhtYXRjKW0oaGluZylnIEZxKFwwMTRsdGVycGF0KWggRnQoaXMpZShyZW1vKW0odiltCi0oZWQpMTExMCAxNjA0IHkoZnJvbSlpKHRoZSloKGxpc3QuKTQyIGIoQSkzMCBiKGxlYWRpbmcpaShgKXAKLUZzKCEpcCBGdCgnKWUoaW4pZyBGcShcMDE0bHRlcnBhdClqIEZ0KG5lZ2F0ZXMpZih0aGUpZihwYXR0ZXJuOylnKGluKWYKLSh0aGlzKTExMTAgMTcxNCB5KGNhc2UsKWkoYW4pbSh5KWUoY29tcGxldGlvbilpKG5vdClmKG1hdGMpbShoaW5nKWcKLUZxKFwwMTRsdGVycGF0KWkgRnQoaXMpZChyZW1vKW0odiltKGVkLik2MzAgMTg3MyB5IEZzKC1QKWcKLUZpKHByZWZpeCkxMTEwIDE5ODMgeSBGcShwcmVcMDE0eCkzOSBiIEZ0KGlzKTM0IGIoYWRkZWQpZihhdClpKHRoZSlmKGIpCi1zKGVnaW5uaW5nKWYob2YpaShlYWMpbShoKWcocClzKG9zc2libGUpZShjb21wbGV0aW9uKWkoYWZ0ZXIpMTExMAotMjA5MiB5KGFsbCljKG90aGVyKWcob3B0aW9ucylnKGhhKW0odiltKGUpZyhiKXMoZWVuKWYoYXBwbGllZC4pNjMwCi0yMjUyIHkgRnMoLVMpZyBGaShzdWZmaXgpMTExMCAyMzYxIHkgRnEoc3VcMDE2eCljIEZ0KGlzKTIwCitiKGFyaWFibGUuKTYzMCAxMTU4IHkgRnMoLUcpMzAgYiBGaShnbG9icGF0KTExMTAgMTI2OAoreSBGdChUaGUpMzkgYihcMDE0bGVuYW1lKWgoZXhwYW5zaW9uKWcocGF0dGVybilnIEZxKGdsb2JwYXQpagorRnQoaXMpZChleHBhbmRlZClmKHRvKWgoZ2VuZXJhdGUpMTExMCAxMzc3IHkodGhlKTMxIGIocClzKG9zc2libGUpZQorKGNvbXBsZXRpb25zLik2MzAgMTUzMyB5IEZzKC1QKWggRmkocHJlZml4KTExMTAgMTY0MworeSBGcShwcmVcMDE0eCkzOSBiIEZ0KGlzKTM0IGIoYWRkZWQpZihhdClpKHRoZSlmKGIpcyhlZ2lubmluZylmKG9mKWkKKyhlYWMpbShoKWcocClzKG9zc2libGUpZShjb21wbGV0aW9uKWkoYWZ0ZXIpMTExMCAxNzUyCit5KGFsbCljKG90aGVyKWcob3B0aW9ucylnKGhhKW0odiltKGUpZyhiKXMoZWVuKWYoYXBwbGllZC4pNjMwCisxOTA4IHkgRnMoLVMpZyBGaShzdWZmaXgpMTExMCAyMDE4IHkgRnEoc3VcMDE2eCljIEZ0KGlzKTIwCiBiKGFwcClzKGVuZGVkKWYodG8paShlYWMpbShoKWgocClzKG9zc2libGUpZShjb21wbGV0aW9uKWkoYWZ0ZXIpZihhbGwpZwotKG90aGVyKWcob3B0aW9ucykxMTEwIDI0NzEgeShoYSltKHYpbShlKTMyIGIoYilzKGVlbilkKGFwcGxpZWQuKTYzMAotMjYzMCB5KFRoZSkzNSBiKHJldHVybilnKHYpLTUgYihhbHVlKTM3IGIoaXMpZih0cnVlKWYodW5sZXNzKWgoYW4pZihpbikKLW0odiktNSBiKGFsaWQpMzcgYihvcHRpb24pZihpcylnKHN1cHBsaWVkLClnKGFuKWcob3B0aW9uKWgob3RoZXIpNjMwCi0yNzQwIHkodGhhbikzMSBiKGApcCBGcygtcClwIEZ0KCcpZyhvcilnKGApcCBGcygtcilwCisob3RoZXIpZyhvcHRpb25zKTExMTAgMjEyNyB5KGhhKW0odiltKGUpMzIgYihiKXMoZWVuKWQoYXBwbGllZC4pNjMwCisyMjgzIHkgRnMoLVcpaCBGaSh3b3JkbGlzdCkxMTEwIDIzOTMgeSBGdChUaGUpMjQgYiBGcSh3KW0ob3JkbGlzdClrCitGdChpcylkKHNwbGl0KWcodXNpbmcpZih0aGUpaChjKW0oaGFyYWN0ZXJzKWkoaW4pZCh0aGUpaQorRnMoSUZTKWUgRnQoc3ApcyhlY2lhbCloKHYpLTUgYihhcmlhYmxlKTExMTAgMjUwMiB5KGFzKTM2CitiKGRlbGltaXRlcnMsKWkoYW5kKWUoZWFjKW0oaCloKHJlc3VsdGFuKW0odClnKHcpbShvcmQpZShpcyloCisoZXhwYW5kZWQuKTU3IGIoVGhlKTM1IGIocClzKG9zc2libGUpMTExMCAyNjEyIHkoY29tcGxldGlvbnMpYyhhcmUpZQorKHRoZSloKG1lbSltKGIpcyhlcnMpZihvZilnKHRoZSloKHJlc3VsdGFuKW0odClnKGxpc3QpZyh3aGljKW0oaClmCisobWF0YyltKGgpaSh0aGUpMTExMCAyNzIxIHkodyltKG9yZClmKGIpcyhlaW5nKWcoY29tcGxldGVkLik2MzAKKzI4NzcgeSBGcygtWClnIEZpKGZpbHRlcnBhdCkxMTEwIDI5ODcgeSBGcShcMDE0bHRlcnBhdClkCitGdChpcyllKGEpZyhwYXR0ZXJuKWcoYXMpZih1c2VkKWcoZm9yKWgoXDAxNGxlbmFtZSlnKGV4cGFuc2lvbi4pMzgKK2IoSXQpMjUgYihpcylnKGFwcGxpZWQpZih0bykxMTEwIDMwOTYgeSh0aGUpMzAgYihsaXN0KWYob2YpaChwKXMKKyhvc3NpYmxlKWYoY29tcGxldGlvbnMpaChnZW5lcmF0ZWQpaChiKW0oeSllKHRoZSlnKHByZWNlZGluZyloKG9wdGlvbnMpCisxMTEwIDMyMDYgeShhbmQpZChhcmd1bWVuKW0odHMsKWkoYW5kKWUoZWFjKW0oaClpKGNvbXBsZXRpb24pZyhtYXRjKW0KKyhoaW5nKWcgRnEoXDAxNGx0ZXJwYXQpaCBGdChpcyllKHJlbW8pbSh2KW0oZWQpMTExMCAzMzE1Cit5KGZyb20paSh0aGUpaChsaXN0Lik0MiBiKEEpMzAgYihsZWFkaW5nKWkoYClwIEZzKCEpcAorRnQoJyllKGluKWcgRnEoXDAxNGx0ZXJwYXQpaiBGdChuZWdhdGVzKWYodGhlKWYocGF0dGVybjspZyhpbilmKHRoaXMpCisxMTEwIDM0MjUgeShjYXNlLClpKGFuKW0oeSllKGNvbXBsZXRpb24paShub3QpZihtYXRjKW0oaGluZylnCitGcShcMDE0bHRlcnBhdClpIEZ0KGlzKWQocmVtbyltKHYpbShlZC4pNjMwIDM1ODEgeShUaGUpMzUKK2IocmV0dXJuKWcodiktNSBiKGFsdWUpMzcgYihpcylmKHRydWUpZih1bmxlc3MpaChhbilmKGluKW0odiktNQorYihhbGlkKTM3IGIob3B0aW9uKWYoaXMpZyhzdXBwbGllZCwpZyhhbilnKG9wdGlvbiloKG90aGVyKTYzMAorMzY5MCB5KHRoYW4pMzEgYihgKXAgRnMoLXApcCBGdCgnKWcob3IpZyhgKXAgRnMoLXIpcAogRnQoJylnKGlzKWcoc3VwcGxpZWQpZih3aXRob3V0KWgoYSlnIEZxKG5hbWUpMzcgYiBGdChhcmd1bWVuKW0odCwpMzIKLWIoYW4pZihhdHRlbXB0KWgoaXMpZihtYWRlKWcodG8pNjMwIDI4NDkgeShyZW1vKW0odiltKGUpaChhKWUKK2IoYW4pZihhdHRlbXB0KWgoaXMpZihtYWRlKWcodG8pNjMwIDM4MDAgeShyZW1vKW0odiltKGUpaChhKWUKIChjb21wbGV0aW9uKWkoc3ApcyhlY2lcMDE0Y2F0aW9uKWYoZm9yKWYoYSloIEZxKG5hbWUpawogRnQoZm9yKTMwIGIod2hpYyltKGgpZyhubylnKHNwKXMoZWNpXDAxNGNhdGlvbiloKGV4aXN0cywpNjMwCi0yOTU5IHkob3IpZihhbiloKGVycm9yKWYobylzKGNjdXJzKWcoYWRkaW5nKWcoYSlnKGNvbXBsZXRpb24paShzcClzCi0oZWNpXDAxNGNhdGlvbi4pMTUwIDMxMTggeSBGcyhjb21wb3B0KTg3MCAzMjUzIHkoY29tcG9wdCk0NgorMzkxMCB5KG9yKWYoYW4paChlcnJvcilmKG8pcyhjY3VycylnKGFkZGluZylnKGEpZyhjb21wbGV0aW9uKWkoc3ApcworKGVjaVwwMTRjYXRpb24uKTE1MCA0MDY1IHkgRnMoY29tcG9wdCk4NzAgNDE5OCB5KGNvbXBvcHQpNDYKIGIoWy1vKWggRmkob3B0aW9uKTExIGIgRnMoXSk0NSBiKFstREVdKWgoWytvKWggRmkob3B0aW9uKTExCi1iIEZzKF0pNDYgYihbKXAgRmkobmFtZSkxMSBiIEZzKF0pNjMwIDMzODcgeSBGdChNbylzKGRpZnkpMzMKK2IgRnMoXSk0NiBiKFspcCBGaShuYW1lKTExIGIgRnMoXSk2MzAgNDMzMSB5IEZ0KE1vKXMoZGlmeSkzMwogYihjb21wbGV0aW9uKWgob3B0aW9ucylnKGZvcilmKGVhYyltKGgpaCBGcShuYW1lKTM5IGIKIEZ0KGFjY29yZGluZykzNCBiKHRvKWcodGhlKWYgRnEob3B0aW9uKXAgRnQocywpaShvcillKGZvcilnKHRoZSk2MzAKLTM0OTcgeShjdXJyZW4pbSh0bHktZXhlY3V0aW9uKTQ2IGIoY29tcGxldGlvbilmKGlmKWYobm8pZgorNDQ0MCB5KGN1cnJlbiltKHRseS1leGVjdXRpbmcpNDYgYihjb21wbGV0aW9uKWYoaWYpZihubylmCiBGcShuYW1lKTUgYiBGdChzKTQ0IGIoYXJlKWgoc3VwcGxpZWQuKTgwIGIoSWYpNDMgYihubyloCi1GcShvcHRpb24pcCBGdChzKWgoYXJlKTYzMCAzNjA2IHkoZ2l2KW0oZW4sKTMwIGIoZGlzcGxhKW0oeSllKHRoZSlnCitGcShvcHRpb24pcCBGdChzKWgoYXJlKTYzMCA0NTUwIHkoZ2l2KW0oZW4sKTMwIGIoZGlzcGxhKW0oeSllKHRoZSlnCiAoY29tcGxldGlvbiloKG9wdGlvbnMpZyhmb3IpZShlYWMpbShoKWkgRnEobmFtZSkzNCBiCi1GdChvcikyNyBiKHRoZSlpKGN1cnJlbiltKHQpZShjb21wbGV0aW9uLik2MzAgMzcxNiB5KFRoZSlmKHApcyhvc3NpYmxlKQorRnQob3IpMjcgYih0aGUpaShjdXJyZW4pbSh0KWUoY29tcGxldGlvbi4pNjMwIDQ2NTkgeShUaGUpZihwKXMob3NzaWJsZSkKIGcodiktNSBiKGFsdWVzKTI3IGIob2YpZiBGcShvcHRpb24paCBGdChhcmUpZyh0aG9zZSlnKHYpLTUKIGIoYWxpZCkyNiBiKGZvcilnKHRoZSloIEZzKGNvbXBsZXRlKWQgRnQoYnVpbHRpbilpKGRlc2NyaWIpcyhlZCk2MzAKLTM4MjYgeShhYilzKG8pbSh2KW0oZS4pNDAgYihUaGUpMjMgYihgKXAgRnMoLUQpcCBGdCgnKWkob3B0aW9uKWYKKzQ3NjkgeShhYilzKG8pbSh2KW0oZS4pNDAgYihUaGUpMjMgYihgKXAgRnMoLUQpcCBGdCgnKWkob3B0aW9uKWYKIChpbmRpY2F0ZXMpaCh0aGF0KWcodGhlKWYocmVtYWluaW5nKWcob3B0aW9ucyloKHNob3VsZCllKGFwcGx5KWgodG8paAotKHRoZSk2MzAgMzkzNSB5KFxcZGVmYXVsdCIpMzMgYihjb21tYW5kKWYoY29tcGxldGlvbjspaSh0aGF0KWYoaXMsKWcKLShjb21wbGV0aW9uKWcoYXR0ZW1wdGVkKWcob24pZihhKWcoY29tbWFuZCk2MzAgNDA0NSB5KGZvciljKHdoaWMpbShoKWYKKyh0aGUpNjMwIDQ4NzkgeShcXGRlZmF1bHQiKTMzIGIoY29tbWFuZClmKGNvbXBsZXRpb247KWkodGhhdClmKGlzLClnCisoY29tcGxldGlvbilnKGF0dGVtcHRlZClnKG9uKWYoYSlnKGNvbW1hbmQpNjMwIDQ5ODggeShmb3IpYyh3aGljKW0oaClmCiAobm8paChjb21wbGV0aW9uKWgoaGFzKWYocHJldmlvdXNseSlnKGIpcyhlZW4pZihkZVwwMTRuZWQuKTM4CiBiKFRoZSkyOCBiKGApcCBGcygtRSlwIEZ0KCcpZyhvcHRpb24pZyhpbmRpY2F0ZXMpNjMwCi00MTU0IHkodGhhdCljKHRoZSlnKHJlbWFpbmluZylnKG9wdGlvbnMpZyhzaG91bGQpZShhcHBseSloKHRvKWkoXFxlbXB0KQotbSh5IilnKGNvbW1hbmQpZShjb21wbGV0aW9uOylrKHRoYXQpNjMwIDQyNjQgeShpcywpayhjb21wbGV0aW9uKWcKLShhdHRlbXB0ZWQpaChvbillKGEpaChibGFuaylmKGxpbmUuKTYzMCA0Mzk5IHkoVGhlKWcoYClwCis1MDk4IHkodGhhdCljKHRoZSlnKHJlbWFpbmluZylnKG9wdGlvbnMpZyhzaG91bGQpZShhcHBseSloKHRvKWkoXFxlbXB0KQorbSh5IilnKGNvbW1hbmQpZShjb21wbGV0aW9uOylrKHRoYXQpNjMwIDUyMDcgeShpcywpayhjb21wbGV0aW9uKWcKKyhhdHRlbXB0ZWQpaChvbillKGEpaChibGFuaylmKGxpbmUuKTYzMCA1MzQwIHkoVGhlKWcoYClwCiBGcygtRClwIEZ0KCcpZyhvcHRpb24paCh0YWspbShlcyloKHByZWNlZGVuY2UpZihvKW0odiltKGVyKWcoYClwCi1GcygtRSlwIEZ0KCcuKTYzMCA0NTMzIHkoVGhlKTIzIGIocmV0dXJuKWcodiktNSBiKGFsdWUpMjUKLWIoaXMpZih0cnVlKWcodW5sZXNzKWYoYW4paChpbiltKHYpLTUgYihhbGlkKTI0IGIob3B0aW9uKWgoaXMpZgotKHN1cHBsaWVkLClnKGFuKWcoYXR0ZW1wdCloKGlzKWYobWFkZSk2MzAgNDY0MyB5KHRvKTMyCi1iKG1vKXMoZGlmeSlmKHRoZSlnKG9wdGlvbnMpaChmb3IpZihhKWggRnEobmFtZSlrIEZ0KGZvcikzMQotYih3aGljKW0oaClnKG5vKWcoY29tcGxldGlvbilpKHNwKXMoZWNpXDAxNGNhdGlvbilmKGV4aXN0cywpNjMwCi00NzUyIHkob3IpZShhbiloKG91dHB1dClmKGVycm9yKWcobylzKGNjdXJzLilwIGVvcCBlbmQKLSUlUGFnZTogMTIxIDEyNwotVGVYRGljdCBiZWdpbiAxMjEgMTI2IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig5Oik0MQotYihVc2luZykzMCBiKEhpc3RvcnkpaChJbiltKHRlcmFjdGl2KW0oZWx5KTE5MjUgYigxMjEpMTUwCitGcygtRSlwIEZ0KCcuKXAgZW9wIGVuZAorJSVQYWdlOiAxMjMgMTI5CitUZVhEaWN0IGJlZ2luIDEyMyAxMjggYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDg6KTQxCitiKENvbW1hbmQpMjkgYihMaW5lKWkoRWRpdGluZykyMDYyIGIoMTIzKTYzMCAyOTkgeShUaGUpMjMKK2IocmV0dXJuKWcodiktNSBiKGFsdWUpMjUgYihpcylmKHRydWUpZyh1bmxlc3MpZihhbiloKGluKW0odiktNQorYihhbGlkKTI0IGIob3B0aW9uKWgoaXMpZihzdXBwbGllZCwpZyhhbilnKGF0dGVtcHQpaChpcylmKG1hZGUpNjMwCis0MDggeSh0bykzMiBiKG1vKXMoZGlmeSlmKHRoZSlnKG9wdGlvbnMpaChmb3IpZihhKWggRnEobmFtZSlrCitGdChmb3IpMzEgYih3aGljKW0oaClnKG5vKWcoY29tcGxldGlvbilpKHNwKXMoZWNpXDAxNGNhdGlvbilmKGV4aXN0cywpCis2MzAgNTE4IHkob3IpZShhbiloKG91dHB1dClmKGVycm9yKWcobylzKGNjdXJzLilwIGVvcAorZW5kCislJVBhZ2U6IDEyNCAxMzAKK1RlWERpY3QgYmVnaW4gMTI0IDEyOSBib3AgZW9wIGVuZAorJSVQYWdlOiAxMjUgMTMxCitUZVhEaWN0IGJlZ2luIDEyNSAxMzAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDk6KTQxCitiKFVzaW5nKTMwIGIoSGlzdG9yeSloKEluKW0odGVyYWN0aXYpbShlbHkpMTkyNSBiKDEyNSkxNTAKIDI5OSB5IEZvKDkpODAgYihVc2luZyk1MyBiKEhpc3RvcnkpZyhJbilsKHRlcmFjdGl2KWwoZWx5KTE1MAogNTcyIHkgRnQoVGhpcyk0MiBiKGMpbShoYXB0ZXIpaChkZXNjcmliKXMoZXMpZihobyltKHcpZyh0byloKHVzZSlnKHRoZSkKIGYgRmwoZ251KWggRnQoSGlzdG9yeSlnKExpYnJhcnkpZShpbiltKHRlcmFjdGl2KW0oZWx5KS04CkBAIC0xMzA5NCw3ICsxMzM3NCw3IEBACiAxMjAyIHkgRnQoV2hlbik0MCBiKHRoZSloKGApcCBGcygtbykzMCBiKGhpc3RvcnkpcCBGdCgnKTM4CiBiKG9wdGlvbilqKHRvKWcodGhlKWcgRnMoc2V0KWUgRnQoYnVpbHRpbiloKGlzKWgoZW5hYmxlZClmKFwoc2VlKWgKIChTZWN0aW9uKWcoNC4zLjEpaShbVGhlKWQoU2V0KTE1MCAxMzExIHkoQnVpbHRpbl0sKTMyCi1iKHBhZ2UpZyg1MVwpLCloKHRoZSllKHNoZWxsKWgocHJvKW0odmlkZXMpZihhY2Nlc3MpaCh0bylnKHRoZSlmCitiKHBhZ2UpZyg1NFwpLCloKHRoZSllKHNoZWxsKWgocHJvKW0odmlkZXMpZihhY2Nlc3MpaCh0bylnKHRoZSlmCiBGcShjb21tYW5kKWcoaGlzdG9yeSlwIEZ0KCwpaCh0aGUpZihsaXN0KWgob2YpZihjb21tYW5kcykxNTAKIDE0MjEgeShwcmV2aW91c2x5KWgodCltKHlwKXMoZWQuKTQ3IGIoVGhlKTMzIGIodiktNSBiKGFsdWUpMzMKIGIob2YpZih0aGUpaCBGcyhISVNUU0laRSllIEZ0KHNoZWxsKWgodiktNSBiKGFyaWFibGUpMzQKQEAgLTEzMTIxLDcgKzEzNDAxLDcgQEAKIGIodGhlKWkoaGlzdG9yeSllKGxpc3QpaSh0bylnKHRoZSlmKFwwMTRsZSlnKG5hbWVkKWYoYiltKHkpaAogRnMoJEhJU1RGSUxFKXAgRnQoLikzOCBiKElmKTMwIGIodGhlKWcgRnMoaGlzdGFwcGVuZClkCiBGdChzaGVsbClqKG9wdGlvbilnKGlzKWcoc2V0KTE1MCAyNTU1IHkoXChzZWUpMjIgYihTZWN0aW9uKWcoNC4yKWcKLShbQmFzaClnKEJ1aWx0aW5zXSwpaChwYWdlKWYoNDFcKSwpaih0aGUpYyhsaW5lcylnKGFyZSloKGFwcClzKGVuZGVkKWQKKyhbQmFzaClnKEJ1aWx0aW5zXSwpaChwYWdlKWYoNDNcKSwpaih0aGUpYyhsaW5lcylnKGFyZSloKGFwcClzKGVuZGVkKWQKICh0bylqKHRoZSlmKGhpc3RvcnkpZyhcMDE0bGUsKWoob3RoZXJ3aXNlKTE1MCAyNjY0IHkodGhlKTMyCiBiKGhpc3RvcnkpZihcMDE0bGUpZyhpcyloKG8pbSh2KW0oZXJ3cml0dGVuLik0NSBiKElmKTMxCiBiIEZzKEhJU1RGSUxFKWUgRnQoaXMpaih1bnNldCwpZihvciloKGlmKWYodGhlKWgoaGlzdG9yeSlmKFwwMTRsZSlnKGlzKQpAQCAtMTMxNDgsNyArMTM0MjgsNyBAQAogLTUgYihhaWxhYmxlKTMzIGIoaW4pZShlYWMpbShoKTE1MCAzODM2IHkoZWRpdGluZyk0NQogYihtbylzKGRlKWcodGhhdClnKHBybyltKHZpZGUpZyhhY2Nlc3MpaCh0bylmKHRoZSlnKGhpc3RvcnkpZihsaXN0KWkKIChcKHNlZSlmKFNlY3Rpb24paCg4LjQuMilnKFtDb21tYW5kcyllKEYpLTggYihvcikxNTAKLTM5NDUgeShIaXN0b3J5XSwpMzEgYihwYWdlKWgoMTA3XCkuKTI3NSA0MDkzIHkoVGhlKTQ3CiszOTQ1IHkoSGlzdG9yeV0sKTMxIGIocGFnZSloKDEwOVwpLikyNzUgNDA5MyB5KFRoZSk0NwogYihzaGVsbClpKGFsbG8pbSh3cyloKGNvbiltKHRyb2wpZihvKW0odiltKGVyKWgod2hpYyltKGgpZShjb21tYW5kcylnCiAoYXJlKWgoc2EpbSh2KW0oZWQpZyhvbilmKHRoZSloKGhpc3RvcnkpZihsaXN0Lik5NSBiKFRoZSkxNTAKIDQyMDIgeSBGcyhISVNUQ09OVFJPTCkyNSBiIEZ0KGFuZClqIEZzKEhJU1RJR05PUkUpZSBGdCh2KS01CkBAIC0xMzE2NCwxMyArMTM0NDQsMTMgQEAKIG0oYilzKGVkZGVkKWYobmV3bGluZXMpaChpbnN0ZWFkKWgob2YpZihzZW1pY29sb25zLik0MAogYihUaGUpMjMgYiBGcyhzaG9wdCllIEZ0KGJ1aWx0aW4paShpcyloKHVzZWQpMTUwIDQ3NTAKIHkodG8pMzEgYihzZXQpZyh0aGVzZSlnKG9wdGlvbnMuKTQxIGIoU2VlKTMxIGIoU2VjdGlvbilnKDQuMilnKFtCYXNoKWcKLShCdWlsdGluc10sKWcocGFnZSlnKDQxLCloKGZvcillKGEpaChkZXNjcmlwdGlvbilmKG9mKWgKKyhCdWlsdGluc10sKWcocGFnZSlnKDQzLCloKGZvcillKGEpaChkZXNjcmlwdGlvbilmKG9mKWgKIEZzKHNob3B0KXAgRnQoLikxNTAgNTAwMiB5IEZyKDkuMik2OCBiKEJhc2gpNDUgYihIaXN0b3J5KWgoQnVpbHRpbnMpMTUwCiA1MTYxIHkgRnQoQmFzaCkzMSBiKHBybyltKHZpZGVzKWYodCltKHcpbShvKWkoYnVpbHRpbillKGNvbW1hbmRzKWcKICh3aGljKW0oaClnKG1hbmlwdWxhdGUpZyh0aGUpaChoaXN0b3J5KWYobGlzdCloKGFuZClmKGhpc3RvcnkpZwogKFwwMTRsZS4pMTUwIDUzNDAgeSBGcyhmYylwIGVvcCBlbmQKLSUlUGFnZTogMTIyIDEyOAotVGVYRGljdCBiZWdpbiAxMjIgMTI3IGJvcCAxNTAgLTExNiBhIEZ0KDEyMikyNTI3IGIoQmFzaCkzMQorJSVQYWdlOiAxMjYgMTMyCitUZVhEaWN0IGJlZ2luIDEyNiAxMzEgYm9wIDE1MCAtMTE2IGEgRnQoMTI2KTI1MjcgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCk4NzAgMjk5IHkgRnMoZmMpNDcgYihbLWUpZyBGaShlbmFtZSkxMQogYiBGcyhdKTQ2IGIoWy1sbnJdKWcoWylwIEZpKGZpcnN0KTExIGIgRnMoXSk0NSBiKFspcAogRmkobGFzdCkxMSBiIEZzKF0pODcwIDQwOCB5KGZjKTQ3IGIoLXMpZyhbKXAgRmkocGF0KTExCkBAIC0xMzIxNCw3ICsxMzQ5NCw3IEBACiAoeXBpbmcpZihgKXAgRnMocilmKGNjKXAgRnQoJyk2MzAgMjQ0MyB5KHJ1bnMpMzUgYih0aGUpaChsYXN0KWgKIChjb21tYW5kKWYoYilzKGVnaW5uaW5nKWcod2l0aClnIEZzKGNjKWYgRnQoYW5kKWgodCltKHlwaW5nKWcoYClwCiBGcyhyKXAgRnQoJyloKHJlLWV4ZWN1dGVzKWgodGhlKWUobGFzdCk2MzAgMjU1MiB5KGNvbW1hbmQpMzAKLWIoXChzZWUpaChTZWN0aW9uKWgoNi42KWYoW0FsaWFzZXNdLCloKHBhZ2UpZyg3OVwpLikxNTAKK2IoXChzZWUpaChTZWN0aW9uKWgoNi42KWYoW0FsaWFzZXNdLCloKHBhZ2UpZyg4MVwpLikxNTAKIDI3MDMgeSBGcyhoaXN0b3J5KTg3MCAyODMzIHkoaGlzdG9yeSk0NiBiKFspcCBGaShuKTExCiBiIEZzKF0pODcwIDI5NDMgeShoaXN0b3J5KTQ2IGIoLWMpODcwIDMwNTIgeShoaXN0b3J5KWcoLWQpaAogRmkob2Zmc2V0KTg3MCAzMTYyIHkgRnMoaGlzdG9yeSlmKFstYW5yd10pZyhbKXAgRmkoZmlsZW5hbWUpMTEKQEAgLTEzMjQ5LDE0OCArMTM1MjksMTUzIEBACiBiKGFyZSloKGxpbmVzKWcoYXBwKXMoZW5kZWQpZSh0bylpKHRoZSlmKGhpc3RvcnkpaChcMDE0bGUpMTExMAogNTM0MCB5KHNpbmNlKTMxIGIodGhlKWYoYilzKGVnaW5uaW5nKWcob2YpZyh0aGUpaChjdXJyZW4pbSh0KWYoQmFzaCloCiAoc2Vzc2lvbi4pcCBlb3AgZW5kCi0lJVBhZ2U6IDEyMyAxMjkKLVRlWERpY3QgYmVnaW4gMTIzIDEyOCBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoOTopNDEKLWIoVXNpbmcpMzAgYihIaXN0b3J5KWgoSW4pbSh0ZXJhY3RpdiltKGVseSkxOTI1IGIoMTIzKTYzMAorJSVQYWdlOiAxMjcgMTMzCitUZVhEaWN0IGJlZ2luIDEyNyAxMzIgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDk6KTQxCitiKFVzaW5nKTMwIGIoSGlzdG9yeSloKEluKW0odGVyYWN0aXYpbShlbHkpMTkyNSBiKDEyNyk2MzAKIDI5OSB5IEZzKC1yKTM4NCBiIEZ0KFJlYWQpMjYgYih0aGUpaChjdXJyZW4pbSh0KWYoaGlzdG9yeSlnKFwwMTRsZSlnCiAoYW5kKWcoYXBwKXMoZW5kKWUoaXRzKWooY29uKW0odGVuKW0odHMpaCh0bylmKHRoZSlmKGhpc3RvcnkpMTExMAotNDA4IHkobGlzdC4pNjMwIDU3MyB5IEZzKC13KTM4NCBiIEZ0KFcpLTggYihyaXRlKTMyIGIob3V0KWUodGhlKWgKKzQwOCB5KGxpc3QuKTYzMCA1NjIgeSBGcygtdykzODQgYiBGdChXKS04IGIocml0ZSkzMiBiKG91dCllKHRoZSloCiAoY3VycmVuKW0odClmKGhpc3RvcnkpZyh0bylpKHRoZSllKGhpc3RvcnkpZyhcMDE0bGUuKTYzMAotNzM5IHkgRnMoLXApMzg0IGIgRnQoUCltKGVyZm9ybSkzMSBiKGhpc3RvcnkpZihzdWJzdGl0dXRpb24paChvbilmKHRoZSkKKzcxNSB5IEZzKC1wKTM4NCBiIEZ0KFApbShlcmZvcm0pMzEgYihoaXN0b3J5KWYoc3Vic3RpdHV0aW9uKWgob24pZih0aGUpCiBoIEZxKGFyZyk4IGIgRnQocykzMSBiKGFuZClmKGRpc3BsYSltKHkpaCh0aGUpZihyZXN1bHQpaChvbikxMTEwCi04NDggeSh0aGUpZChzdGFuZGFyZClmKG91dHB1dCwpaSh3aXRob3V0KWYoc3RvcmluZylnKHRoZSlnKHJlc3VsdHMpZwotKGluKWcodGhlKWcoaGlzdG9yeSlnKGxpc3QuKTYzMCAxMDEzIHkgRnMoLXMpMzg0IGIgRnQoVGhlKTMwCis4MjQgeSh0aGUpZChzdGFuZGFyZClmKG91dHB1dCwpaSh3aXRob3V0KWYoc3RvcmluZylnKHRoZSlnKHJlc3VsdHMpZworKGluKWcodGhlKWcoaGlzdG9yeSlnKGxpc3QuKTYzMCA5NzcgeSBGcygtcykzODQgYiBGdChUaGUpMzAKIGIgRnEoYXJnKTggYiBGdChzKTMwIGIoYXJlKWgoYWRkZWQpZih0byloKHRoZSlmKGVuZClnKG9mKWgodGhlKWYKIChoaXN0b3J5KWgobGlzdClnKGFzKWYoYSloKHNpbmdsZSlnKGVuKW0odHJ5KS04IGIoLik2MzAKLTExNzggeShXaGVuKTI0IGIoYW4pbSh5KWgob2YpZih0aGUpaChgKXAgRnMoLXcpcCBGdCgnLCloKGApcAorMTEzMCB5KFdoZW4pMjQgYihhbiltKHkpaChvZilmKHRoZSloKGApcCBGcygtdylwIEZ0KCcsKWgoYClwCiBGcygtcilwIEZ0KCcsKWYoYClwIEZzKC1hKXAgRnQoJywpaChvcilmKGApcCBGcygtbilwCiBGdCgnKWYob3B0aW9ucylnKGlzKWgodXNlZCwpZyhpZilmIEZxKFwwMTRsZW5hbWUpMzAgYgotRnQoaXMpMjQgYihnaXYpbShlbiwpaih0aGVuKTYzMCAxMjg4IHkoaXQpMzIgYihpcylnKHVzZWQpZihhcyloKHRoZSlmCitGdChpcykyNCBiKGdpdiltKGVuLClqKHRoZW4pNjMwIDEyNDAgeShpdCkzMiBiKGlzKWcodXNlZClmKGFzKWgodGhlKWYKIChoaXN0b3J5KWgoXDAxNGxlLik0NSBiKElmKTMxIGIobm90LCloKHRoZW4pZyh0aGUpZih2KS01CiBiKGFsdWUpMzIgYihvZilnKHRoZSlnIEZzKEhJU1RGSUxFKWQgRnQodiktNSBiKGFyaWFibGUpMzMKLWIoaXMpNjMwIDEzOTcgeSh1c2VkLikxNTAgMTYzOCB5IEZyKDkuMyk2OCBiKEhpc3RvcnkpNDYKLWIoRXhwYW5zaW9uKTE1MCAxNzk4IHkgRnQoVGhlKWYoSGlzdG9yeSloKGxpYnJhcnkpZShwcm8pbSh2aWRlcylpKGEpZgorYihpcyk2MzAgMTM1MCB5KHVzZWQuKTE1MCAxNTc2IHkgRnIoOS4zKTY4IGIoSGlzdG9yeSk0NgorYihFeHBhbnNpb24pMTUwIDE3MzUgeSBGdChUaGUpZihIaXN0b3J5KWgobGlicmFyeSllKHBybyltKHZpZGVzKWkoYSlmCiAoaGlzdG9yeSlnKGV4cGFuc2lvbilnKGZlYXR1cmUpaCh0aGF0KWcoaXMpZihzaW1pbGFyKWgodG8pZyh0aGUpZgotKGhpc3RvcnkpMTUwIDE5MDcgeShleHBhbnNpb24pZyhwcm8pbSh2aWRlZClmKGIpbSh5KWgKKyhoaXN0b3J5KTE1MCAxODQ1IHkoZXhwYW5zaW9uKWcocHJvKW0odmlkZWQpZihiKW0oeSloCiBGcyhjc2gpcCBGdCguKTgzIGIoVGhpcyk0NCBiKHNlY3Rpb24paShkZXNjcmliKXMoZXMpZSh0aGUpaChzeW4pbSh0YXgpaAotKHVzZWQpZSh0bylpKG1hbmlwdWxhdGUpZih0aGUpMTUwIDIwMTcgeShoaXN0b3J5KTMwIGIoaW5mb3JtYXRpb24uKTI3NQotMjE1NyB5KEhpc3RvcnkpaChleHBhbnNpb25zKWYoaW4pbSh0cm8pcyhkdWNlKWcodyltKG9yZHMpZyhmcm9tKWcodGhlKWgKKyh1c2VkKWUodG8paShtYW5pcHVsYXRlKWYodGhlKTE1MCAxOTU0IHkoaGlzdG9yeSkzMCBiKGluZm9ybWF0aW9uLikyNzUKKzIwODYgeShIaXN0b3J5KWgoZXhwYW5zaW9ucylmKGluKW0odHJvKXMoZHVjZSlnKHcpbShvcmRzKWcoZnJvbSlnKHRoZSloCiAoaGlzdG9yeSlmKGxpc3QpaChpbiltKHRvKWcodGhlKWcoaW5wdXQpZihzdHJlYW0sKWgobWFraW5nKTE1MAotMjI2NiB5KGl0KWcoZWFzeSlnKHRvKWcocmVwKXMoZWF0KWcoY29tbWFuZHMsKWYoaW5zZXJ0KWcodGhlKWgoYXJndW1lbikKKzIxOTUgeShpdClnKGVhc3kpZyh0bylnKHJlcClzKGVhdClnKGNvbW1hbmRzLClmKGluc2VydClnKHRoZSloKGFyZ3VtZW4pCiBtKHRzKWYodG8paChhKWcocHJldmlvdXMpZihjb21tYW5kKWcoaW4pbSh0bylpKHRoZSllKGN1cnJlbiltKHQpMTUwCi0yMzc2IHkoaW5wdXQpZihsaW5lLClpKG9yKWcoXDAxNHgpZihlcnJvcnMpZihpbiloKHByZXZpb3VzKWcoY29tbWFuZHMpZwotKHF1aWMpbShrbHkpLTggYiguKTI3NSAyNTE2IHkoSGlzdG9yeSkyNyBiKGV4cGFuc2lvbilmKHRhayltKGVzKWkKKzIzMDUgeShpbnB1dClmKGxpbmUsKWkob3IpZyhcMDE0eClmKGVycm9ycylmKGluKWgocHJldmlvdXMpZyhjb21tYW5kcylnCisocXVpYyltKGtseSktOCBiKC4pMjc1IDI0MzYgeShIaXN0b3J5KTI3IGIoZXhwYW5zaW9uKWYodGFrKW0oZXMpaQogKHBsYWNlKWYoaW4pZih0KW0odyltKG8paShwYXJ0cy4pMzkgYihUaGUpMjYgYihcMDE0cnN0KWcoaXMpZyh0byloCi0oZGV0ZXJtaW5lKWcod2hpYyltKGgpZihsaW5lKWgoZnJvbSlmKHRoZSkxNTAgMjYyNiB5KGhpc3RvcnkpaShsaXN0KWcKKyhkZXRlcm1pbmUpZyh3aGljKW0oaClmKGxpbmUpaChmcm9tKWYodGhlKTE1MCAyNTQ2IHkoaGlzdG9yeSlpKGxpc3QpZwogKHNob3VsZClmKGIpcyhlKWcodXNlZClnKGR1cmluZylnKHN1YnN0aXR1dGlvbi4pMzkgYihUaGUpMjcKIGIoc2Vjb25kKWgoaXMpZyh0byloKHNlbGVjdClnKHApcyhvcnRpb25zKWUob2YpaCh0aGF0KWgobGluZSkxNTAKLTI3MzUgeShmb3IpZChpbmNsdXNpb24pZihpbiltKHRvKWkodGhlKWYoY3VycmVuKW0odClmKG9uZS4pNDAKKzI2NTUgeShmb3IpZChpbmNsdXNpb24pZihpbiltKHRvKWkodGhlKWYoY3VycmVuKW0odClmKG9uZS4pNDAKIGIoVGhlKTI1IGIobGluZSloKHNlbGVjdGVkKWgoZnJvbSlmKHRoZSlnKGhpc3RvcnkpZihpcyloKGNhbGxlZCloKHRoZSlmCi1GcShldiltKGVuKW0odClwIEZ0KCwpaihhbmQpMTUwIDI4NDUgeSh0aGUpMjEgYihwKXMob3J0aW9ucylnKG9mKWcKK0ZxKGV2KW0oZW4pbSh0KXAgRnQoLClqKGFuZCkxNTAgMjc2NSB5KHRoZSkyMSBiKHApcyhvcnRpb25zKWcob2YpZwogKHRoYXQpaChsaW5lKWYodGhhdCloKGFyZSlnKGFjdGVkKWcodXApcyhvbillKGFyZSloKGNhbGxlZCloCiBGcSh3KW0ob3JkcylwIEZ0KC4pMzggYihWKS04IGIoYXJpb3VzKTIxIGIgRnEobW8pcyhkaVwwMTRlcnMpagotRnQoYXJlKWUoYSltKHYpLTUgYihhaWxhYmxlKTE1MCAyOTU1IHkodG8pMzUgYihtYW5pcHVsYXRlKWYodGhlKWcKK0Z0KGFyZSllKGEpbSh2KS01IGIoYWlsYWJsZSkxNTAgMjg3NCB5KHRvKTM1IGIobWFuaXB1bGF0ZSlmKHRoZSlnCiAoc2VsZWN0ZWQpaSh3KW0ob3Jkcy4pNTEgYihUaGUpMzMgYihsaW5lKWgoaXMpZyhicm9rKW0oZW4pZyhpbiltKHRvKWgKLSh3KW0ob3JkcyllKGluKWgodGhlKWcoc2FtZSloKGZhc2hpb24pZSh0aGF0KTE1MCAzMDY0CisodyltKG9yZHMpZShpbiloKHRoZSlnKHNhbWUpaChmYXNoaW9uKWUodGhhdCkxNTAgMjk4NAogeShCYXNoKWkoZG8pcyhlcywpaChzbylmKHRoYXQpaChzZXYpbShlcmFsKWcodyltKG9yZHMpZShzdXJyb3VuZGVkKWYoYikKIG0oeSlpKHF1b3RlcylnKGFyZSlnKGNvbnNpZGVyZWQpZyhvbmUpZyh3KW0ob3JkLik1NCBiKEhpc3RvcnkpMTUwCi0zMTc0IHkoZXhwYW5zaW9ucykzNCBiKGFyZSlnKGluKW0odHJvKXMoZHVjZWQpZihiKW0oeSloKHRoZSlnKGFwcClzCiszMDk0IHkoZXhwYW5zaW9ucykzNCBiKGFyZSlnKGluKW0odHJvKXMoZHVjZWQpZihiKW0oeSloKHRoZSlnKGFwcClzCiAoZWFyYW5jZSlnKG9mKWcodGhlKWcoaGlzdG9yeSlnKGV4cGFuc2lvbilnKGMpbShoYXJhY3RlciwpaSh3aGljKW0oaCllCi0oaXMpMTUwIDMyODMgeShgKXAgRnMoISlwIEZ0KCcpZChiKW0oeSlmKGRlZmF1bHQuKTQxCisoaXMpMTUwIDMyMDMgeShgKXAgRnMoISlwIEZ0KCcpZChiKW0oeSlmKGRlZmF1bHQuKTQxCiBiKE9ubHkpMjkgYihgKXAgRnMoXFwpcCBGdCgnKWkoYW5kKWYoYClwIEZzKCcpcCBGdCgnKWcobWEpbSh5KWgoYilzKGUpZgogKHVzZWQpZyh0byloKGVzY2FwKXMoZSlnKHRoZSlmKGhpc3RvcnkpZyhleHBhbnNpb24paChjKW0oaGFyYWN0ZXIuKTI3NQotMzQyMyB5KFNldiltKGVyYWwpNDAgYihzaGVsbClnKG9wdGlvbnMpZyhzZXR0YWJsZSloKHdpdGgpZSh0aGUpaAorMzMzNSB5KFNldiltKGVyYWwpNDAgYihzaGVsbClnKG9wdGlvbnMpZyhzZXR0YWJsZSloKHdpdGgpZSh0aGUpaAogRnMoc2hvcHQpZSBGdChidWlsdGluKWgoXChzZWUpaChTZWN0aW9uKWgoNC4yKWYoW0Jhc2gpZyhCdWlsdGluc10sKTE1MAotMzUzMyB5KHBhZ2UpMzIgYig0MVwpKWgobWEpbSh5KWYoYilzKGUpZih1c2VkKWcodG8paSh0YWlsb3IpZyh0aGUpZShiKXMKKzM0NDQgeShwYWdlKTMyIGIoNDNcKSloKG1hKW0oeSlmKGIpcyhlKWYodXNlZClnKHRvKWkodGFpbG9yKWcodGhlKWUoYilzCiAoZWhhKW0odmlvciloKG9mKWcoaGlzdG9yeSlnKGV4cGFuc2lvbi4pNDQgYihJZikzMSBiKHRoZSloCi1GcyhoaXN0dmVyaWZ5KWQgRnQoc2hlbGwpMTUwIDM2NDMgeShvcHRpb24pMzkgYihpcylmKGVuYWJsZWQsKWkoYW5kKWUKK0ZzKGhpc3R2ZXJpZnkpZCBGdChzaGVsbCkxNTAgMzU1NCB5KG9wdGlvbikzOSBiKGlzKWYoZW5hYmxlZCwpaShhbmQpZQogKFJlYWRsaW5lKWcoaXMpaChiKXMoZWluZyllKHVzZWQsKWooaGlzdG9yeSllKHN1YnN0aXR1dGlvbnMpZyhhcmUpZwotKG5vdCloKGltbWVkaWF0ZWx5KTE1MCAzNzUyIHkocGFzc2VkKTMwIGIodG8paCh0aGUpZyhzaGVsbClnKHBhcnNlci4pNDAKKyhub3QpaChpbW1lZGlhdGVseSkxNTAgMzY2MyB5KHBhc3NlZCkzMCBiKHRvKWgodGhlKWcoc2hlbGwpZyhwYXJzZXIuKTQwCiBiKEluc3RlYWQsKTMwIGIodGhlKWgoZXhwYW5kZWQpZihsaW5lKWgoaXMpZihyZWxvYWRlZCloKGluKW0odG8paCh0aGUpZQotKFJlYWRsaW5lKWgoZWRpdGluZykxNTAgMzg2MiB5KGJ1XDAxM2VyKWUoZm9yKWkoZnVydGhlcillKG1vKXMKKyhSZWFkbGluZSloKGVkaXRpbmcpMTUwIDM3NzMgeShidVwwMTNlcillKGZvcilpKGZ1cnRoZXIpZShtbylzCiAoZGlcMDE0Y2F0aW9uLik0MSBiKElmKTMwIGIoUmVhZGxpbmUpaChpcylmKGIpcyhlaW5nKWcodXNlZCwpZyhhbmQpZwotKHRoZSlnIEZzKGhpc3RyZWVkaXQpZSBGdChzaGVsbClpKG9wdGlvbikxNTAgMzk3MSB5KGlzKWsoZW5hYmxlZCwpaChhKWcKKyh0aGUpZyBGcyhoaXN0cmVlZGl0KWUgRnQoc2hlbGwpaShvcHRpb24pMTUwIDM4ODIgeShpcylrKGVuYWJsZWQsKWgoYSlnCiAoZmFpbGVkKWcoaGlzdG9yeSlmKGV4cGFuc2lvbilnKHdpbGwpZyhiKXMoZSlnKHJlbG9hZGVkKWcoaW4pbSh0byloCi0odGhlKWcoUmVhZGxpbmUpZihlZGl0aW5nKWgoYnVcMDEzZXIpZShmb3IpMTUwIDQwODEgeShjb3JyZWN0aW9uLik3NAorKHRoZSlnKFJlYWRsaW5lKWYoZWRpdGluZyloKGJ1XDAxM2VyKWUoZm9yKTE1MCAzOTkyIHkoY29ycmVjdGlvbi4pNzQKIGIoVGhlKTQxIGIoYClwIEZzKC1wKXAgRnQoJylnKG9wdGlvbilnKHRvKWgodGhlKWYgRnMoaGlzdG9yeSlmCiBGdChidWlsdGluKWcoY29tbWFuZCloKG1hKW0oeSloKGIpcyhlKWUodXNlZCloKHRvKWcoc2VlKWgod2hhdCkxNTAKLTQxOTEgeShhKWMoaGlzdG9yeSlnKGV4cGFuc2lvbilmKHdpbGwpaChkbylmKGIpcyhlZm9yZSloKHVzaW5nKWYoaXQuKTYzCis0MTAyIHkoYSljKGhpc3RvcnkpZyhleHBhbnNpb24pZih3aWxsKWgoZG8pZihiKXMoZWZvcmUpaCh1c2luZylmKGl0Lik2MwogYihUaGUpMzcgYihgKXAgRnMoLXMpcCBGdCgnKWcob3B0aW9uKWgodG8paCh0aGUpZiBGcyhoaXN0b3J5KWQKLUZ0KGJ1aWx0aW4paShtYSltKHkpMTUwIDQzMDAgeShiKXMoZSljKHVzZWQpaCh0bylnKGFkZClnKGNvbW1hbmRzKWYodG8pCitGdChidWlsdGluKWkobWEpbSh5KTE1MCA0MjExIHkoYilzKGUpYyh1c2VkKWgodG8pZyhhZGQpZyhjb21tYW5kcylmKHRvKQogaSh0aGUpZihlbmQpZyhvZilnKHRoZSlnKGhpc3RvcnkpZyhsaXN0KWgod2l0aG91dClmKGFjdHVhbGx5KWkKLShleGVjdXRpbmcpZih0aGVtLCkxNTAgNDQxMCB5KHNvKWoodGhhdCloKHRoZXkpZihhcmUpZyhhKW0odiktNQorKGV4ZWN1dGluZylmKHRoZW0sKTE1MCA0MzIxIHkoc28paih0aGF0KWgodGhleSlmKGFyZSlnKGEpbSh2KS01CiBiKGFpbGFibGUpNDAgYihmb3IpZShzdWJzZXF1ZW4pbSh0KWYocmVjYWxsLik2NSBiKFRoaXMpMzcKLWIoaXMpaChtb3N0KWcodXNlZnVsKWcoaW4pZihjb25qdW5jdGlvbiloKHdpdGgpMTUwIDQ1MTkKLXkoUmVhZGxpbmUuKTI3NSA0NjU5IHkoVGhlKTMzIGIoc2hlbGwpaChhbGxvKW0od3MpaChjb24pbSh0cm9sKWgob2YpZQorYihpcyloKG1vc3QpZyh1c2VmdWwpZyhpbilmKGNvbmp1bmN0aW9uKWgod2l0aCkxNTAgNDQzMAoreShSZWFkbGluZS4pMjc1IDQ1NjIgeShUaGUpMzMgYihzaGVsbCloKGFsbG8pbSh3cyloKGNvbiltKHRyb2wpaChvZillCiAodGhlKWcodiktNSBiKGFyaW91cykzNCBiKGMpbShoYXJhY3RlcnMpaCh1c2VkKWYoYiltKHkpZih0aGUpaChoaXN0b3J5KQotZyhleHBhbnNpb24pZyhtZWMpbShoLSkxNTAgNDc2OSB5KGFuaXNtKWgod2l0aClnKHRoZSlnCitnKGV4cGFuc2lvbilnKG1lYyltKGgtKTE1MCA0NjcxIHkoYW5pc20paCh3aXRoKWcodGhlKWcKIEZzKGhpc3RjaGFycylkIEZ0KHYpLTUgYihhcmlhYmxlLCkzOCBiKGFzKWQoZXhwbGFpbmVkKWcoYWIpcyhvKW0odiltKGUpCiBpKFwoc2VlKWYoU2VjdGlvbilmKDUuMilpKFtCYXNoKWUoViktOCBiKGFyaWFibGVzXSwpMTUwCi00ODc5IHkocGFnZSkzMiBiKDYxXCkuKTQ0IGIoVGhlKTMxIGIoc2hlbGwpZyh1c2VzKWcodGhlKWcoaGlzdG9yeSlnCis0NzgxIHkocGFnZSkzMiBiKDYzXCkuKTQ0IGIoVGhlKTMxIGIoc2hlbGwpZyh1c2VzKWcodGhlKWcoaGlzdG9yeSlnCiAoY29tbWVuKW0odClpKGMpbShoYXJhY3RlcilmKHRvKWcobWFyaylmKGhpc3RvcnkpZyh0aW1lc3RhbXBzKWgod2hlbikKLTE1MCA0OTg4IHkod3JpdGluZyllKHRoZSloKGhpc3RvcnkpZihcMDE0bGUuKTE1MCA1MTkzCi15IEZqKDkuMy4xKTYzIGIoRXYpbShlbiltKHQpMzkgYihEZXNpZ25hdG9ycykxNTAgNTM0MAoteSBGdChBbikzMCBiKGV2KW0oZW4pbSh0KWkoZGVzaWduYXRvcilmKGlzKWYoYSloKHJlZmVyZW5jZSlnKHRvKWcoYSlnCi0oY29tbWFuZClmKGxpbmUpaChlbiltKHRyeSlmKGluKWcodGhlKWgoaGlzdG9yeSlmKGxpc3QuKXAKLWVvcCBlbmQKLSUlUGFnZTogMTI0IDEzMAotVGVYRGljdCBiZWdpbiAxMjQgMTI5IGJvcCAxNTAgLTExNiBhIEZ0KDEyNCkyNTI3IGIoQmFzaCkzMQorMTUwIDQ4OTEgeSh3cml0aW5nKWUodGhlKWgoaGlzdG9yeSlmKFwwMTRsZS4pMTUwIDUwODMKK3kgRmooOS4zLjEpNjMgYihFdiltKGVuKW0odCkzOSBiKERlc2lnbmF0b3JzKTE1MCA1MjMwCit5IEZ0KEFuKTMyIGIoZXYpbShlbiltKHQpaihkZXNpZ25hdG9yKWUoaXMpZyhhKWcocmVmZXJlbmNlKWcodG8paChhKWYKKyhjb21tYW5kKWYobGluZSloKGVuKW0odHJ5KWcoaW4pZyh0aGUpZyhoaXN0b3J5KWcobGlzdC4pNDgKK2IoVW5sZXNzKTMzIGIodGhlKTE1MCA1MzQwIHkocmVmZXJlbmNlKWUoaXMpZihhYnNvbHV0ZSwpaShldiltKGVuKW0odHMpCitmKGFyZSlnKHJlbGF0aXYpbShlKWkodG8pZSh0aGUpZihjdXJyZW4pbSh0KWcocClzKG9zaXRpb24paChpbilmKHRoZSloCisoaGlzdG9yeSlmKGxpc3QuKXAgZW9wIGVuZAorJSVQYWdlOiAxMjggMTM0CitUZVhEaWN0IGJlZ2luIDEyOCAxMzMgYm9wIDE1MCAtMTE2IGEgRnQoMTI4KTI1MjcgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnMoISk0MzIgYiBGdChTdGFydCkzNAogYihhKWYoaGlzdG9yeSloKHN1YnN0aXR1dGlvbiwpZyhleGNlcHQpZyh3aGVuKWYoZm9sbG8pbSh3KW0oZWQpaShiKW0oeSkKIGUoYSloKHNwYWNlLCloKHRhYiwpZih0aGUpZyhlbmQpZihvZik2MzAgNDA4IHkodGhlKWkobGluZSwpZyhgKXAKIEZzKD0pcCBGdCgnKWcob3IpZihgKXAgRnMoXCgpcCBGdCgnKWgoXCh3aGVuKWUodGhlKWkKIEZzKGV4dGdsb2IpZCBGdChzaGVsbClqKG9wdGlvbilmKGlzKWgoZW5hYmxlZClmKHVzaW5nKWcodGhlKWcKLUZzKHNob3B0KTYzMCA1MTggeSBGdChidWlsdGluXCkuKTE1MCA2ODAgeSBGcyghKXAgRmkobikzODQKK0ZzKHNob3B0KTYzMCA1MTggeSBGdChidWlsdGluXCkuKTE1MCA2NjkgeSBGcyghKXAgRmkobikzODQKIGIgRnQoUmVmZXIpMzAgYih0bylpKGNvbW1hbmQpZShsaW5lKWcgRnEobilwIEZ0KC4pMTUwCi04NDEgeSBGcyghLSlwIEZpKG4pMzM2IGIgRnQoUmVmZXIpMzAgYih0bylpKHRoZSllKGNvbW1hbmQpZwotRnEobilnIEZ0KGxpbmVzKWgoYmFjKW0oay4pMTUwIDEwMDMgeSBGcyghISkzODQgYiBGdChSZWZlcikzMAorODE5IHkgRnMoIS0pcCBGaShuKTMzNiBiIEZ0KFJlZmVyKTMwIGIodG8paSh0aGUpZShjb21tYW5kKWcKK0ZxKG4pZyBGdChsaW5lcyloKGJhYyltKGsuKTE1MCA5NzAgeSBGcyghISkzODQgYiBGdChSZWZlcikzMAogYih0bylpKHRoZSllKHByZXZpb3VzKWcoY29tbWFuZC4pNDAgYihUaGlzKTMwIGIoaXMpZyhhKWgoc3lub24pbSh5bSlmCi0oZm9yKWcoYClwIEZzKCEtMSlwIEZ0KCcuKTE1MCAxMTY0IHkgRnMoISlwIEZpKHN0cmluZykxNDQKLWIgRnQoUmVmZXIpMzAgYih0bylpKHRoZSllKG1vc3QpaChyZWNlbiltKHQpZyhjb21tYW5kKWYoc3RhcnRpbmcpaQotKHdpdGgpZSBGcShzdHJpbmcpOCBiIEZ0KC4pMTUwIDEzMjYgeSBGcyghPylwIEZpKHN0cmluZylqCi1GcyhbP10pNjMwIDE0MzYgeSBGdChSZWZlcikzMyBiKHRvKWgodGhlKWYobW9zdClnKHJlY2VuKW0odCloKGNvbW1hbmQpZgotKGNvbiltKHRhaW5pbmcpaCBGcShzdHJpbmcpOCBiIEZ0KC4pNDggYihUaGUpMzMgYih0cmFpbGluZyloKGApcAotRnMoPylwIEZ0KCcpZihtYSltKHkpaChiKXMoZSk2MzAgMTU0NSB5KG9taXR0ZWQpZChpZilnKHRoZSlmCi1GcShzdHJpbmcpMzggYiBGdChpcykzMSBiKGZvbGxvKW0odyltKGVkKWgoaW1tZWRpYXRlbHkpZyhiKW0oeSllKGEpaAotKG5ld2xpbmUuKTE1MCAxNzA3IHkgRnMoXilwIEZpKHN0cmluZzEpMTEgYiBGcyheKXAgRmkoc3RyaW5nMilnCi1GcyheKTYzMCAxODE2IHkgRnQoUXVpYyltKGspMzEgYihTdWJzdGl0dXRpb24uKTQzIGIoUmVwKXMoZWF0KTMxCisoZm9yKWcoYClwIEZzKCEtMSlwIEZ0KCcuKTE1MCAxMTIwIHkgRnMoISlwIEZpKHN0cmluZykxNDQKK2IgRnQoUmVmZXIpMjUgYih0byloKHRoZSlmKG1vc3QpaChyZWNlbiltKHQpZyhjb21tYW5kKWYocHJlY2VkaW5nKWcKKyh0aGUpZyhjdXJyZW4pbSh0KWcocClzKG9zaXRpb24pZyhpbilnKHRoZSlnKGhpc3RvcnkpNjMwCisxMjMwIHkobGlzdCkzMSBiKHN0YXJ0aW5nKWcod2l0aClmIEZxKHN0cmluZyk4IGIgRnQoLikxNTAKKzEzODEgeSBGcyghPylwIEZpKHN0cmluZylqIEZzKFs/XSk2MzAgMTQ5MCB5IEZ0KFJlZmVyKTI1CitiKHRvKWgodGhlKWYobW9zdCloKHJlY2VuKW0odClnKGNvbW1hbmQpZihwcmVjZWRpbmcpZyh0aGUpZyhjdXJyZW4pbSh0KQorZyhwKXMob3NpdGlvbilnKGluKWcodGhlKWcoaGlzdG9yeSk2MzAgMTYwMCB5KGxpc3QpMzIKK2IoY29uKW0odGFpbmluZyloIEZxKHN0cmluZyk4IGIgRnQoLik0MyBiKFRoZSkzMSBiKHRyYWlsaW5nKWgoYClwCitGcyg/KXAgRnQoJylmKG1hKW0oeSloKGIpcyhlKWYob21pdHRlZCloKGlmKWYodGhlKWggRnEoc3RyaW5nKTM5CitiIEZ0KGlzKTMxIGIoZm9sbG8pbSh3KW0oZWQpNjMwIDE3MDkgeShpbW1lZGlhdGVseSloKGIpbSh5KWUoYSloCisobmV3bGluZS4pMTUwIDE4NjAgeSBGcyheKXAgRmkoc3RyaW5nMSkxMSBiIEZzKF4pcCBGaShzdHJpbmcyKWcKK0ZzKF4pNjMwIDE5NzAgeSBGdChRdWljKW0oaykzMSBiKFN1YnN0aXR1dGlvbi4pNDMgYihSZXApcyhlYXQpMzEKIGIodGhlKWcobGFzdCloKGNvbW1hbmQsKWcocmVwbGFjaW5nKWYgRnEoc3RyaW5nMSkzOSBiCi1GdCh3aXRoKTMxIGIgRnEoc3RyaW5nMik3IGIgRnQoLik2MzAgMTkyNiB5KEVxdWl2KS01CitGdCh3aXRoKTMxIGIgRnEoc3RyaW5nMik3IGIgRnQoLik2MzAgMjA3OSB5KEVxdWl2KS01CiBiKGFsZW4pbSh0KTMxIGIodG8pZyBGcyghITpzLylwIEZpKHN0cmluZzEpMTEgYiBGcygvKXAKLUZpKHN0cmluZzIpZyBGcygvKXAgRnQoLikxNTAgMjA4OCB5IEZzKCEjKTM4NCBiIEZ0KFRoZSkzMAorRmkoc3RyaW5nMilnIEZzKC8pcCBGdCguKTE1MCAyMjMwIHkgRnMoISMpMzg0IGIgRnQoVGhlKTMwCiBiKGVuKW0odGlyZSloKGNvbW1hbmQpZihsaW5lKWgodCltKHlwKXMoZWQpZihzbyloKGZhci4pMTUwCi0yMjg5IHkgRmooOS4zLjIpNjMgYihXKS0xMCBiKG9yZCk0MSBiKERlc2lnbmF0b3JzKTE1MAotMjQzNiB5IEZ0KFcpLTggYihvcmQpMjcgYihkZXNpZ25hdG9ycyloKGFyZSlnKHVzZWQpZSh0bylpKHNlbGVjdCloCisyNDIwIHkgRmooOS4zLjIpNjMgYihXKS0xMCBiKG9yZCk0MSBiKERlc2lnbmF0b3JzKTE1MAorMjU2NyB5IEZ0KFcpLTggYihvcmQpMjcgYihkZXNpZ25hdG9ycyloKGFyZSlnKHVzZWQpZSh0bylpKHNlbGVjdCloCiAoZGVzaXJlZClkKHcpbShvcmRzKWgoZnJvbSlmKHRoZSlpKGV2KW0oZW4pbSh0Lik0MSBiKEEpMjcKIGIoYClwIEZzKDopcCBGdCgnKWcoc2VwYXJhdGVzKWgodGhlKWYoZXYpbShlbiltKHQpMTUwCi0yNTQ2IHkoc3ApcyhlY2lcMDE0Y2F0aW9uKTM4IGIoZnJvbSllKHRoZSloKHcpbShvcmQpZihkZXNpZ25hdG9yLik2MQorMjY3NyB5KHNwKXMoZWNpXDAxNGNhdGlvbikzOCBiKGZyb20pZSh0aGUpaCh3KW0ob3JkKWYoZGVzaWduYXRvci4pNjEKIGIoSXQpMzcgYihtYSltKHkpaChiKXMoZSllKG9taXR0ZWQpaShpZillKHRoZSloKHcpbShvcmQpZyhkZXNpZ25hdG9yKWcKLShiKXMoZWdpbnMpMTUwIDI2NTUgeSh3aXRoKTMwIGIoYSlnKGApcCBGcyheKXAgRnQoJywpZyhgKXAKKyhiKXMoZWdpbnMpMTUwIDI3ODYgeSh3aXRoKTMwIGIoYSlnKGApcCBGcyheKXAgRnQoJywpZyhgKXAKIEZzKCQpcCBGdCgnLClnKGApcCBGcygqKXAgRnQoJywpaChgKXAgRnMoLSlwIEZ0KCcsKWYob3IpZyhgKXAKIEZzKFwwNDUpcCBGdCgnLik0MSBiKFcpLTggYihvcmRzKTMwIGIoYXJlKWcobiltKHVtKW0oYilzKGVyZWQpZShmcm9tKWkKICh0aGUpZyhiKXMoZWdpbm5pbmcpZihvZiloKHRoZSlnKGxpbmUsKWcod2l0aClnKHRoZSkxNTAKLTI3NjUgeShcMDE0cnN0KWYodyltKG9yZClmKGIpcyhlaW5nKWgoZGVub3RlZCloKGIpbSh5KWYoMCloKFwoemVyb1wpLikKKzI4OTYgeShcMDE0cnN0KWYodyltKG9yZClmKGIpcyhlaW5nKWgoZGVub3RlZCloKGIpbSh5KWYoMCloKFwoemVyb1wpLikKIDQxIGIoVyktOCBiKG9yZHMpMzAgYihhcmUpZyhpbnNlcnRlZClmKGluKW0odG8paCh0aGUpZyhjdXJyZW4pbSh0KWYKLShsaW5lKWcoc2VwYXJhdGVkKWgoYiltKHkpMTUwIDI4NzQgeShzaW5nbGUpaChzcGFjZXMuKTI3NQotMzAxMSB5KEYpLTggYihvcikzMSBiKGV4YW1wbGUsKTE1MCAzMTc0IHkgRnMoISEpMzg0IGIKKyhsaW5lKWcoc2VwYXJhdGVkKWgoYiltKHkpMTUwIDMwMDUgeShzaW5nbGUpaChzcGFjZXMuKTI3NQorMzEzNiB5KEYpLTggYihvcikzMSBiKGV4YW1wbGUsKTE1MCAzMjg2IHkgRnMoISEpMzg0IGIKIEZ0KGRlc2lnbmF0ZXMpMzcgYih0aGUpZihwcmVjZWRpbmcpZyhjb21tYW5kLik1NyBiKFdoZW4pMzUKIGIoeSltKG91KWkodCltKHlwKXMoZSlmKHRoaXMsKWgodGhlKWYocHJlY2VkaW5nKWcoY29tLSk2MzAKLTMyODMgeShtYW5kKTMwIGIoaXMpZyhyZXApcyhlYXRlZClnKGluKWcodG90by4pMTUwIDM0NDUKKzMzOTYgeShtYW5kKTMwIGIoaXMpZyhyZXApcyhlYXRlZClnKGluKWcodG90by4pMTUwIDM1NDYKIHkgRnMoISE6JCkyODggYiBGdChkZXNpZ25hdGVzKTIzIGIodGhlKWcobGFzdClnKGFyZ3VtZW4pbSh0KWcob2YpZih0aGUpCiBoKHByZWNlZGluZylmKGNvbW1hbmQuKTM4IGIoVGhpcykyMiBiKG1hKW0oeSloKGIpcyhlKWUoc2hvcnRlbmVkKTYzMAotMzU1NSB5KHRvKTMxIGIgRnMoISQpcCBGdCguKTE1MCAzNzE2IHkgRnMoIWZpOjIpMjQwIGIKKzM2NTYgeSh0bykzMSBiIEZzKCEkKXAgRnQoLikxNTAgMzgwNiB5IEZzKCFmaToyKTI0MCBiCiBGdChkZXNpZ25hdGVzKTMwIGIodGhlKWcoc2Vjb25kKWYoYXJndW1lbiltKHQpaChvZilmKHRoZSloKG1vc3QpZgotKHJlY2VuKW0odClpKGNvbW1hbmQpZShzdGFydGluZyloKHdpdGgpZih0aGUpNjMwIDM4MjYKLXkobGV0dGVycylqIEZzKGZpKXAgRnQoLikyNzUgMzk4OCB5KEhlcmUpZShhcmUpaCh0aGUpZyh3KW0ob3JkKWYKLShkZXNpZ25hdG9yczopMTUwIDQxNTEgeSBGcygwKWcoXCh6ZXJvXCkpMTE0IGIgRnQoVGhlKTMwCisocmVjZW4pbSh0KWkoY29tbWFuZCllKHN0YXJ0aW5nKWgod2l0aClmKHRoZSk2MzAgMzkxNgoreShsZXR0ZXJzKWogRnMoZmkpcCBGdCguKTI3NSA0MDY3IHkoSGVyZSllKGFyZSloKHRoZSlnKHcpbShvcmQpZgorKGRlc2lnbmF0b3JzOikxNTAgNDIxNyB5IEZzKDApZyhcKHplcm9cKSkxMTQgYiBGdChUaGUpMzAKIGIgRnMoMClwIEZ0KHRoKWcodyltKG9yZC4pNDAgYihGKS04IGIob3IpMzEgYihtYW4pbSh5KWcoYXBwbGljYXRpb25zLCloCi0odGhpcyllKGlzKWcodGhlKWgoY29tbWFuZClmKHcpbShvcmQuKTE1MCA0MzEzIHkgRmkobik0MzIKLWIgRnQoVGhlKTMwIGIgRnEobilwIEZ0KHRoKWcodyltKG9yZC4pMTUwIDQ0NzQgeSBGcyheKTQzMgorKHRoaXMpZShpcylnKHRoZSloKGNvbW1hbmQpZih3KW0ob3JkLikxNTAgNDM2OCB5IEZpKG4pNDMyCitiIEZ0KFRoZSkzMCBiIEZxKG4pcCBGdCh0aClnKHcpbShvcmQuKTE1MCA0NTE4IHkgRnMoXik0MzIKIGIgRnQoVGhlKTMwIGIoXDAxNHJzdClmKGFyZ3VtZW4pbSh0OylqKHRoYXQpZihpcywpZih3KW0ob3JkKWcoMS4pMTUwCi00NjM2IHkgRnMoJCk0MzIgYiBGdChUaGUpMzAgYihsYXN0KWgoYXJndW1lbiltKHQuKTE1MAotNDc5OCB5IEZzKFwwNDUpNDMyIGIgRnQoVGhlKTMwIGIodyltKG9yZClnKG1hdGMpbShoZWQpaChiKW0oeSlmKHRoZSloCis0NjY5IHkgRnMoJCk0MzIgYiBGdChUaGUpMzAgYihsYXN0KWgoYXJndW1lbiltKHQuKTE1MAorNDgyMCB5IEZzKFwwNDUpNDMyIGIgRnQoVGhlKTMwIGIodyltKG9yZClnKG1hdGMpbShoZWQpaChiKW0oeSlmKHRoZSloCiAobW9zdClnKHJlY2VuKW0odClnKGApcCBGcyg/KXAgRmkoc3RyaW5nKTExIGIgRnMoPylwCi1GdCgnKTI4IGIoc2VhcmMpbShoLikxNTAgNDk1OSB5IEZpKHgpMTEgYiBGcygtKXAgRmkoeSkzMjUKK0Z0KCcpMjggYihzZWFyYyltKGguKTE1MCA0OTcwIHkgRmkoeCkxMSBiIEZzKC0pcCBGaSh5KTMyNQogYiBGdChBKTMwIGIocmFuZ2UpaChvZilnKHcpbShvcmRzOylmKGApcCBGcygtKXAgRmkoeSkxMQogYiBGdCgnKTMwIGIoYWJicmV2aWF0ZXMpaChgKXAgRnMoMC0pcCBGaSh5KTExIGIgRnQoJy4pMTUwCiA1MTIxIHkgRnMoKik0MzIgYiBGdChBbGwpMjggYihvZilnKHRoZSlnKHcpbShvcmRzLClnKGV4Y2VwdCloKHRoZSllCkBAIC0xMzM5OSw5ICsxMzY4NCw5IEBACiA1MjMwIHkodG8paih1c2UpZyhgKXAgRnMoKilwIEZ0KCcpZihpZiloKHRoZXJlKWcoaXMpZyhqdXN0KWYob25lKWgodyltCiAob3JkKWYoaW4pZyh0aGUpaChldiltKGVuKW0odDspaSh0aGUpZChlbXB0KW0oeSlpKHN0cmluZyllKGlzKWgKIChyZXR1cm5lZCllKGluKTYzMCA1MzQwIHkodGhhdClqKGNhc2UuKXAgZW9wIGVuZAotJSVQYWdlOiAxMjUgMTMxCi1UZVhEaWN0IGJlZ2luIDEyNSAxMzAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDk6KTQxCi1iKFVzaW5nKTMwIGIoSGlzdG9yeSloKEluKW0odGVyYWN0aXYpbShlbHkpMTkyNSBiKDEyNSkxNTAKKyUlUGFnZTogMTI5IDEzNQorVGVYRGljdCBiZWdpbiAxMjkgMTM0IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYig5Oik0MQorYihVc2luZykzMCBiKEhpc3RvcnkpaChJbiltKHRlcmFjdGl2KW0oZWx5KTE5MjUgYigxMjkpMTUwCiAyOTkgeSBGaSh4KTExIGIgRnMoKikzNzMgYiBGdChBYmJyZXZpYXRlcykzMSBiKGApcCBGaSh4KTExCiBiIEZzKC0kKXAgRnQoJykxNTAgNDU4IHkgRmkoeClnIEZzKC0pMzczIGIgRnQoQWJicmV2aWF0ZXMpMzEKIGIoYClwIEZpKHgpMTEgYiBGcygtJClwIEZ0KCcpMjkgYihsaWspbShlKWooYClwIEZpKHgpMTEKQEAgLTEzNDQ3LDExICsxMzczMiwxMSBAQAogRnMoJilwIEZ0KCcuKTE1MCAzODEzIHkgRnMoRyk0MzIgYiBGdChBcHBseSkzMCBiKHRoZSlnKGZvbGxvKW0od2luZylpCiAoYClwIEZzKHMpcCBGdCgnKWYobW8pcyhkaVwwMTRlcillKG9uY2UpaSh0bylnKGVhYyltKGgpaCh3KW0ob3JkKWUoaW4pZwogKHRoZSlnKGV2KW0oZW4pbSh0LilwIGVvcCBlbmQKLSUlUGFnZTogMTI2IDEzMgotVGVYRGljdCBiZWdpbiAxMjYgMTMxIGJvcCBlb3AgZW5kCi0lJVBhZ2U6IDEyNyAxMzMKLVRlWERpY3QgYmVnaW4gMTI3IDEzMiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMTA6KTQxCi1iKEluc3RhbGxpbmcpMzEgYihCYXNoKTIzNTYgYigxMjcpMTUwIDI5OSB5IEZvKDEwKTgwCislJVBhZ2U6IDEzMCAxMzYKK1RlWERpY3QgYmVnaW4gMTMwIDEzNSBib3AgZW9wIGVuZAorJSVQYWdlOiAxMzEgMTM3CitUZVhEaWN0IGJlZ2luIDEzMSAxMzYgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDEwOik0MQorYihJbnN0YWxsaW5nKTMxIGIoQmFzaCkyMzU2IGIoMTMxKTE1MCAyOTkgeSBGbygxMCk4MAogYihJbnN0YWxsaW5nKTUyIGIoQmFzaCkxNTAgNTU2IHkgRnQoVGhpcykzMSBiKGMpbShoYXB0ZXIpaChwcm8pbSh2aWRlcykKIGcoYmFzaWMpZyhpbnN0cnVjdGlvbnMpZihmb3IpZyhpbnN0YWxsaW5nKWkoQmFzaClmKG9uKWYodGhlKWgodiktNQogYihhcmlvdXMpMzEgYihzdXBwKXMob3J0ZWQpZihwbGF0LSkxNTAgNjY1IHkoZm9ybXMuKTQwCkBAIC0xMzUzMiw4ICsxMzgxNyw4IEBACiBGcyhjb25maWd1cmUpZSBGdChjcmVhdGVkKWooXChzbylnKHkpbShvdSlnKGNhbilmKGNvbXBpbGUpMTUwCiA1MzQwIHkoQmFzaClnKGZvcilmKGEpZyhkaVwwMTNlcmVuKW0odCloKGtpbmQpZihvZilnKGNvbXB1dGVyXCksKWgodCltCiAoeXApcyhlKWcoYClwIEZzKG1ha2UpZShkaXN0Y2xlYW4pcCBGdCgnLilwIGVvcCBlbmQKLSUlUGFnZTogMTI4IDEzNAotVGVYRGljdCBiZWdpbiAxMjggMTMzIGJvcCAxNTAgLTExNiBhIEZ0KDEyOCkyNTI3IGIoQmFzaCkzMQorJSVQYWdlOiAxMzIgMTM4CitUZVhEaWN0IGJlZ2luIDEzMiAxMzcgYm9wIDE1MCAtMTE2IGEgRnQoMTMyKTI1MjcgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnIoMTAuMik2OCBiKENvbXBpbGVycyk0NgogYihhbmQpZihPcHRpb25zKTE1MCA0NTggeSBGdChTb21lKTI4IGIoc3lzdGVtcyloKHJlcXVpcmUpZih1biltKHVzdWFsKWYKIChvcHRpb25zKWkoZm9yKWYoY29tcGlsYXRpb24paShvcilmKGxpbmtpbmcpZih0aGF0KWgodGhlKWcKQEAgLTEzNjE4LDkgKzEzOTAzLDkgQEAKIDUzNDAgeShidXQpYyhpZiloKGl0KWcocHJpbiltKHRzKWcoYSlnKG1lc3NhZ2UpaChzYSltKHlpbmcpZyhpdClmKGNhbiloCiAobm90KWYoZ3Vlc3MpZyh0aGUpZyhob3N0KWcodCltKHlwKXMoZSwpaChnaXYpbShlKWcoaXQpZih0aGUpaChgKXAKIEZzKC0taG9zdD1UWVBFKXAgRnQoJylwIGVvcCBlbmQKLSUlUGFnZTogMTI5IDEzNQotVGVYRGljdCBiZWdpbiAxMjkgMTM0IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigxMDopNDEKLWIoSW5zdGFsbGluZykzMSBiKEJhc2gpMjM1NiBiKDEyOSkxNTAgMjk5IHkob3B0aW9uLikzOQorJSVQYWdlOiAxMzMgMTM5CitUZVhEaWN0IGJlZ2luIDEzMyAxMzggYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDEwOik0MQorYihJbnN0YWxsaW5nKTMxIGIoQmFzaCkyMzU2IGIoMTMzKTE1MCAyOTkgeShvcHRpb24uKTM5CiBiKGApcCBGcyhUWVBFKXAgRnQoJykyNSBiKGNhbilnKGVpdGhlcilnKGIpcyhlKWcoYSlnKHNob3J0KWcobmFtZSlnCiAoZm9yKWcodGhlKWcoc3lzdGVtKWcodCltKHlwKXMoZSwpaChzdWMpbShoKWYoYXMpZyhgKXAKIEZzKHN1bjQpcCBGdCgnLCloKG9yKWYoYSlnKGNhbm9uaWNhbCkxNTAgNDA4IHkobmFtZSkzMApAQCAtMTM2OTAsOCArMTM5NzUsOCBAQAogNTM0MCB5KHNhbWUpaCBGcyhtYWxsb2MpZSBGdCh0aGF0KWooYXBwKXMoZWFycyllKGluKWcKIEZsKGdudSloIEZ0KGxpYilzKGMsKWcoYnV0KWYoYW4paChvbGRlcilmKHYpbShlcnNpb24paShvcmlnaW5hbGx5KWcKIChkZXJpdiltKGVkKXAgZW9wIGVuZAotJSVQYWdlOiAxMzAgMTM2Ci1UZVhEaWN0IGJlZ2luIDEzMCAxMzUgYm9wIDE1MCAtMTE2IGEgRnQoMTMwKTI1MjcgYihCYXNoKTMxCislJVBhZ2U6IDEzNCAxNDAKK1RlWERpY3QgYmVnaW4gMTM0IDEzOSBib3AgMTUwIC0xMTYgYSBGdCgxMzQpMjUyNyBiKEJhc2gpMzEKIGIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTYzMCAyOTkgeShmcm9tKWgodGhlKWgoNC4yKWcKIEZsKGJzZClmIEZzKG1hbGxvYylwIEZ0KC4pNDUgYihUaGlzKTMxIGIgRnMobWFsbG9jKWcKIEZ0KGlzKWkodiltKGVyeSlmKGZhc3QsKWkoYnV0KWUodyltKGFzdGVzKWgoc29tZSlnKHNwYWNlKWcob24pNjMwCkBAIC0xMzc2MiwyNyArMTQwNDcsMjcgQEAKICh4cGctZWNoby1kZWZhdWx0KXAgRnQoJykxNTAgNTM0MCB5KGFyZSkyNiBiKGVuYWJsZWQpZyhiKW0oeSlnCiAoZGVmYXVsdCwpaCh1bmxlc3MpZih0aGUpZyhvcClzKGVyYXRpbmcpZyhzeXN0ZW0pZyhkbylzKGVzKWcobm90KWcocHJvKQogbSh2aWRlKWcodGhlKWcobmVjZXNzYXJ5KWcoc3VwcClzKG9ydC4pcCBlb3AgZW5kCi0lJVBhZ2U6IDEzMSAxMzcKLVRlWERpY3QgYmVnaW4gMTMxIDEzNiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMTA6KTQxCi1iKEluc3RhbGxpbmcpMzEgYihCYXNoKTIzNTYgYigxMzEpMTUwIDI5OSB5IEZzKC0tZW5hYmxlLWFsaWFzKTYzMAorJSVQYWdlOiAxMzUgMTQxCitUZVhEaWN0IGJlZ2luIDEzNSAxNDAgYm9wIDE1MCAtMTE2IGEgRnQoQ2hhcHRlcikzMCBiKDEwOik0MQorYihJbnN0YWxsaW5nKTMxIGIoQmFzaCkyMzU2IGIoMTM1KTE1MCAyOTkgeSBGcygtLWVuYWJsZS1hbGlhcyk2MzAKIDQwOCB5IEZ0KEFsbG8pbSh3KTQxIGIoYWxpYXMpZyhleHBhbnNpb24pZihhbmQpZihpbmNsdWRlKWcodGhlKWgKIEZzKGFsaWFzKWYgRnQoYW5kKWcgRnModW5hbGlhcyllIEZ0KGJ1aWx0aW5zKWooXChzZWUpZyhTZWMtKTYzMAotNTE4IHkodGlvbikzMSBiKDYuNilnKFtBbGlhc2VzXSwpaShwYWdlKWUoNzlcKS4pMTUwIDY5MgorNTE4IHkodGlvbikzMSBiKDYuNilnKFtBbGlhc2VzXSwpaShwYWdlKWUoODFcKS4pMTUwIDY5MgogeSBGcygtLWVuYWJsZS1hcml0aC1mb3ItY29tbWEpbyhuZCk2MzAgODAxIHkgRnQoSW5jbHVkZSkyMQogYihzdXBwKXMob3J0KWcoZm9yKWcodGhlKWkoYWx0ZXJuYXRlKWcoZm9ybSlmKG9mKWcodGhlKWcKIEZzKGZvcilmIEZ0KGNvbW1hbmQpaCh0aGF0KWgoYilzKGVoYSltKHYpbShlcylmKGxpayltKGUpaSh0aGUpNjMwCiA5MTEgeShDKTMwIGIobGFuZ3VhZ2UpaSBGcyhmb3IpZCBGdChzdGF0ZW1lbiltKHQpaihcKHNlZSlnKFNlY3Rpb24pZgotKDMuMi40LjEpaShbTG8pcyhvcGluZylkKENvbnN0cnVjdHNdLCloKHBhZ2UpZyg5XCkuKTE1MAorKDMuMi40LjEpaShbTG8pcyhvcGluZylkKENvbnN0cnVjdHNdLCloKHBhZ2UpZygxMFwpLikxNTAKIDEwODQgeSBGcygtLWVuYWJsZS1hcnJheS12YXJpYWJsZXMpNjMwIDExOTQgeSBGdChJbmNsdWRlKWgoc3VwcClzKG9ydClnCiAoZm9yKWgob25lLWRpbWVuc2lvbmFsKWgoYXJyYSltKHkpZihzaGVsbCloKHYpLTUgYihhcmlhYmxlcykzMwotYihcKHNlZSloKFNlY3Rpb24pZyg2LjcpaChbQXItKTYzMCAxMzAzIHkocmEpbSh5c10sKWMocGFnZSlnKDgwXCkuKTE1MAorYihcKHNlZSloKFNlY3Rpb24pZyg2LjcpaChbQXItKTYzMCAxMzAzIHkocmEpbSh5c10sKWMocGFnZSlnKDgyXCkuKTE1MAogMTQ3NyB5IEZzKC0tZW5hYmxlLWJhbmctaGlzdG9yeSk2MzAgMTU4NyB5IEZ0KEluY2x1ZGUpMzYKIGIoc3VwcClzKG9ydClmKGZvciloIEZzKGNzaClwIEZ0KC1saWspbShlKWgoaGlzdG9yeSlnKHN1YnN0aXR1dGlvbilmCiAoXChzZWUpaChTZWN0aW9uKWcoOS4zKWgoW0hpc3RvcnkpZihJbi0pNjMwIDE2OTYgeSh0ZXJhY3Rpb25dLCljKHBhZ2UpZQotKDEyM1wpLikxNTAgMTg3MCB5IEZzKC0tZW5hYmxlLWJyYWNlLWV4cGFuc2lvbik2MzAgMTk3OQorKDEyN1wpLikxNTAgMTg3MCB5IEZzKC0tZW5hYmxlLWJyYWNlLWV4cGFuc2lvbik2MzAgMTk3OQogeSBGdChJbmNsdWRlKTQwIGIgRnMoY3NoKXAgRnQoLWxpayltKGUpaChicmFjZSlmKGV4cGFuc2lvbilnKFwoKWgKIEZzKGJ7YSxifWMpZCBGcCg3ISlpIEZzKGJhYykzMCBiKGJiYykzOSBiIEZ0KFwpLik3MSBiKFNlZSk0MAotYihTZWN0aW9uKWgoMy41LjEpNjMwIDIwODkgeShbQnJhY2UpMzIgYihFeHBhbnNpb25dLCllKHBhZ2UpaCgxOCwpaAorYihTZWN0aW9uKWgoMy41LjEpNjMwIDIwODkgeShbQnJhY2UpMzIgYihFeHBhbnNpb25dLCllKHBhZ2UpaCgxOSwpaAogKGZvcillKGEpZyhjb21wbGV0ZSlpKGRlc2NyaXB0aW9uLikxNTAgMjI2MiB5IEZzCiAoLS1lbmFibGUtY2FzZW1vZC1hdHRyaWJ1KW8odGVzKTYzMCAyMzcyIHkgRnQoSW5jbHVkZSkzNwogYihzdXBwKXMob3J0KWcoZm9yKWcoY2FzZS1tbylzKGRpZnlpbmcpaShhdHRyaWJ1dGVzKWcoaW4pZSh0aGUpaApAQCAtMTM4MDQsMjkgKzE0MDg5LDMwIEBACiBiKHN1cHApcyhvcnQpZihmb3IpaSh0aGUpZyBGcyhbWylmIEZ0KGNvbmRpdGlvbmFsKWkoY29tbWFuZC4pNTEKIGIoXChzZWUpMzQgYihTZWN0aW9uKWgoMy4yLjQuMiloKFtDb25kaS0pNjMwIDM3NjkgeSh0aW9uYWwpYwogKENvbnN0cnVjdHNdLCllKHBhZ2UpaCgxMFwpLikxNTAgMzk0MyB5IEZzKC0tZW5hYmxlLWNvbmQtcmVnZXhwKTYzMAotNDA1MiB5IEZ0KEluY2x1ZGUpZihzdXBwKXMob3J0KWYoZm9yKWkobWF0YyltKGhpbmcpaChQT1NJWClkKHJlZ3VsYXIpaQotKGV4cHJlc3Npb25zKWcodXNpbmcpZih0aGUpaChgKXAgRnMoPX4pcCBGdCgnKWcoYmluYXJ5KTYzMAotNDE2MiB5KG9wKXMoZXJhdG9yKTI1IGIoaW4pZih0aGUpaCBGcyhbWylmIEZ0KGNvbmRpdGlvbmFsKWgoY29tbWFuZC4pMzkKLWIoXChzZWUpMjUgYihTZWN0aW9uKWgoMy4yLjQuMiloKFtDb25kaXRpb25hbCllKENvbi0pNjMwCi00MjcxIHkoc3RydWN0c10sKTMxIGIocGFnZSlnKDEwXCkuKTE1MCA0NDQ1IHkgRnMoLS1lbmFibGUtY29wcm9jZXNzZXMpCi02MzAgNDU1NSB5IEZ0KEluY2x1ZGUpMjMgYihzdXBwKXMob3J0KWYoZm9yKWkoY29wcm8pcyhjZXNzZXMpZyhhbmQpZgotKHRoZSloIEZzKGNvcHJvYyllIEZ0KHJlc2VydiltKGVkKWkodyltKG9yZClnKFwoc2VlKWgoU2VjdGlvbilmKDMuMi4yKQotNjMwIDQ2NjQgeShbUGlwKXMoZWxpbmVzXSwpMzEgYihwYWdlKWcoOFwpLikxNTAgNDgzOAoteSBGcygtLWVuYWJsZS1kZWJ1Z2dlcik2MzAgNDk0NyB5IEZ0KEluY2x1ZGUpZihzdXBwKXMob3J0KWUoZm9yKWkodGhlKWgKKzQwNTIgeSBGdChJbmNsdWRlKWsoc3VwcClzKG9ydClmKGZvcilpKG1hdGMpbShoaW5nKWgKK0ZsKHBvc2l4KWUgRnQocmVndWxhciloKGV4cHJlc3Npb25zKWcodXNpbmcpZih0aGUpaChgKXAKK0ZzKD1+KXAgRnQoJylnKGJpbmFyeSk2MzAgNDE2MiB5KG9wKXMoZXJhdG9yKTI1IGIoaW4pZih0aGUpaAorRnMoW1spZiBGdChjb25kaXRpb25hbCloKGNvbW1hbmQuKTM5IGIoXChzZWUpMjUgYihTZWN0aW9uKWgoMy4yLjQuMiloCisoW0NvbmRpdGlvbmFsKWUoQ29uLSk2MzAgNDI3MSB5KHN0cnVjdHNdLCkzMSBiKHBhZ2UpZygxMFwpLikxNTAKKzQ0NDUgeSBGcygtLWVuYWJsZS1jb3Byb2Nlc3Nlcyk2MzAgNDU1NSB5IEZ0KEluY2x1ZGUpMjMKK2Ioc3VwcClzKG9ydClmKGZvcilpKGNvcHJvKXMoY2Vzc2VzKWcoYW5kKWYodGhlKWggRnMoY29wcm9jKWUKK0Z0KHJlc2VydiltKGVkKWkodyltKG9yZClnKFwoc2VlKWgoU2VjdGlvbilmKDMuMi4yKTYzMAorNDY2NCB5KFtQaXApcyhlbGluZXNdLCkzMSBiKHBhZ2UpZyg4XCkuKTE1MCA0ODM4IHkgRnMKKygtLWVuYWJsZS1kZWJ1Z2dlcik2MzAgNDk0NyB5IEZ0KEluY2x1ZGUpZihzdXBwKXMob3J0KWUoZm9yKWkodGhlKWgKIChiYXNoKWYoZGVidWdnZXIpZyhcKGRpc3RyaWJ1dGVkKWcoc2VwYXJhdGVseVwpLikxNTAKIDUxMjEgeSBGcygtLWVuYWJsZS1kaXJlY3Rvcnktc3RhY2spNjMwIDUyMzAgeSBGdChJbmNsdWRlKWooc3VwcClzKG9ydClnCiAoZm9yKWgoYSlnIEZzKGNzaClwIEZ0KC1saWspbShlKWgoZGlyZWN0b3J5KWYoc3RhYyltKGspaShhbmQpZCh0aGUpaQogRnMocHVzaGQpcCBGdCgsKWYgRnMocG9wZClwIEZ0KCwpZyhhbmQpZiBGcyhkaXJzKTYzMAogNTM0MCB5IEZ0KGJ1aWx0aW5zKWQoXChzZWUpaChTZWN0aW9uKWcoNi44KWgoW1RoZSllKERpcmVjdG9yeSlpKFN0YWMpbQotKGtdLClnKHBhZ2UpZig4MVwpLilwIGVvcCBlbmQKLSUlUGFnZTogMTMyIDEzOAotVGVYRGljdCBiZWdpbiAxMzIgMTM3IGJvcCAxNTAgLTExNiBhIEZ0KDEzMikyNTI3IGIoQmFzaCkzMQorKGtdLClnKHBhZ2UpZig4M1wpLilwIGVvcCBlbmQKKyUlUGFnZTogMTM2IDE0MgorVGVYRGljdCBiZWdpbiAxMzYgMTQxIGJvcCAxNTAgLTExNiBhIEZ0KDEzNikyNTI3IGIoQmFzaCkzMQogYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZzKC0tZW5hYmxlLWRpc2FibGVkLWJ1aWx0aSlvKG5zKTYzMAogNDA4IHkgRnQoQWxsbyltKHcpNDAgYihidWlsdGluKWUoY29tbWFuZHMpZyh0byloKGIpcyhlKWYoaW4pbSh2KW0ob2spbQogKGVkKWkodmlhKWYoYClwIEZzKGJ1aWx0aW4pMjkgYih4eHgpcCBGdCgnKTM3IGIoZXYpbShlbilqKGFmdGVyKWYKIEZzKHh4eCllIEZ0KGhhcyk2MzAgNTE4IHkoYilzKGVlbikzMSBiKGRpc2FibGVkKWcodXNpbmcpZyhgKXAKIEZzKGVuYWJsZSlkKC1uKWkoeHh4KXAgRnQoJy4pNDMgYihTZWUpMzIgYihTZWN0aW9uKWcoNC4yKWgoW0Jhc2gpZQotKEJ1aWx0aW5zXSwpaShwYWdlKWYoNDEsKTYzMCA2MjggeShmb3IpZShkZXRhaWxzKWkob2YpZSh0aGUpaAorKEJ1aWx0aW5zXSwpaShwYWdlKWYoNDMsKTYzMCA2MjggeShmb3IpZShkZXRhaWxzKWkob2YpZSh0aGUpaAogRnMoYnVpbHRpbilkIEZ0KGFuZClpIEZzKGVuYWJsZSllIEZ0KGJ1aWx0aW4paShjb21tYW5kcy4pMTUwCiA3ODMgeSBGcygtLWVuYWJsZS1kcGFyZW4tYXJpdGhtZXQpbyhpYyk2MzAgODkyIHkgRnQoSW5jbHVkZSk0MgogYihzdXBwKXMob3J0KWYoZm9yKWgodGhlKWggRnMoXChcKC4uLilvKFwpXCkpZiBGdChjb21tYW5kKWcoXChzZWUpaQpAQCAtMTM4MzUsMjEgKzE0MTIxLDIxIEBACiAxMjY3IHkgRnQoSW5jbHVkZSk0MCBiKHN1cHApcyhvcnQpZShmb3IpaSh0aGUpaChleHRlbmRlZClmKHBhdHRlcm4paAogKG1hdGMpbShoaW5nKWcoZmVhdHVyZXMpZyhkZXNjcmliKXMoZWQpZShhYilzKG8pbSh2KW0oZSk2MzAKIDEzNzcgeSh1bmRlcikyOSBiKFNlY3Rpb24paSgzLjUuOC4xKWkoW1ApbShhdHRlcm4pZShNYXRjKW0oaGluZ10sKWkKLShwYWdlKWUoMjQuKTE1MCAxNTMyIHkgRnMoLS1lbmFibGUtZXh0ZW5kZWQtZ2xvYi1kKW8oZWZhdSlvKGx0KTYzMAorKHBhZ2UpZSgyNi4pMTUwIDE1MzIgeSBGcygtLWVuYWJsZS1leHRlbmRlZC1nbG9iLWQpbyhlZmF1KW8obHQpNjMwCiAxNjQxIHkgRnQoU2V0KTQwIGIodGhlKWcoZGVmYXVsdClnKHYpLTUgYihhbHVlKTQxIGIob2YpZih0aGUpZwogRnEoZXh0Z2xvYilqIEZ0KHNoZWxsKWQob3B0aW9uKWcoZGVzY3JpYilzKGVkKWYoYWIpcyhvKW0odiltKGUpaSh1bmRlcikKIGQoU2VjLSk2MzAgMTc1MSB5KHRpb24pMzEgYig0LjMuMiloKFtUaGUpZShTaG9wdClnKEJ1aWx0aW5dLCloKHBhZ2UpZwotKDU1KWcodG8paChiKXMoZSlkKGVuYWJsZWQuKTE1MCAxOTA2IHkgRnMoLS1lbmFibGUtaGVscC1idWlsdGluKTYzMAorKDU3KWcodG8paChiKXMoZSlkKGVuYWJsZWQuKTE1MCAxOTA2IHkgRnMoLS1lbmFibGUtaGVscC1idWlsdGluKTYzMAogMjAxNiB5IEZ0KEluY2x1ZGUpMjQgYih0aGUpaCBGcyhoZWxwKWYgRnQoYnVpbHRpbiwpaCh3aGljKW0oaClnKGRpc3BsYSkKIG0oeXMpZihoZWxwKWgob24pZihzaGVsbCloKGJ1aWx0aW5zKWYoYW5kKWgodiktNSBiKGFyaWFibGVzKTI1CiBiKFwoc2VlKTYzMCAyMTI1IHkoU2VjdGlvbikzMSBiKDQuMiloKFtCYXNoKWUoQnVpbHRpbnNdLClpKHBhZ2UpZgotKDQxXCkuKTE1MCAyMjgxIHkgRnMoLS1lbmFibGUtaGlzdG9yeSk2MzAgMjM5MCB5IEZ0KEluY2x1ZGUpZShjb21tYW5kKWcKKyg0M1wpLikxNTAgMjI4MSB5IEZzKC0tZW5hYmxlLWhpc3RvcnkpNjMwIDIzOTAgeSBGdChJbmNsdWRlKWUoY29tbWFuZClnCiAoaGlzdG9yeSloKGFuZClmKHRoZSloIEZzKGZjKWYgRnQoYW5kKWcgRnMoaGlzdG9yeSllCiBGdChidWlsdGluKWooY29tbWFuZHMpZihcKHNlZSloKFNlYy0pNjMwIDI1MDAgeSh0aW9uKWgoOS4xKWcoW0Jhc2gpZwotKEhpc3RvcnkpZyhGKS04IGIoYWNpbGl0aWVzXSwpMzQgYihwYWdlKWQoMTIxXCkuKTE1MAorKEhpc3RvcnkpZyhGKS04IGIoYWNpbGl0aWVzXSwpMzQgYihwYWdlKWQoMTI1XCkuKTE1MAogMjY1NSB5IEZzKC0tZW5hYmxlLWpvYi1jb250cm9sKTYzMCAyNzY1IHkgRnQoVGhpcyllKGVuYWJsZXMpaSh0aGUpZgogKGpvYilnKGNvbiltKHRyb2wpaChmZWF0dXJlcylnKFwoc2VlKWcoQ2hhcHRlcilmKDcpZyhbSm9iKWcoQ29uKW0KLSh0cm9sXSwpaChwYWdlKWcoODlcKSwpaChpZik2MzAgMjg3NCB5KHRoZSlmKG9wKXMoZXJhdGluZylmKHN5c3RlbSloCisodHJvbF0sKWgocGFnZSlnKDkxXCksKWgoaWYpNjMwIDI4NzQgeSh0aGUpZihvcClzKGVyYXRpbmcpZihzeXN0ZW0paAogKHN1cHApcyhvcnRzKWQodGhlbS4pMTUwIDMwMjkgeSBGcygtLWVuYWJsZS1tdWx0aWJ5dGUpNjMwCiAzMTM5IHkgRnQoVGhpcyloKGVuYWJsZXMpaShzdXBwKXMob3J0KWQoZm9yKWkobSltKHVsdGliKW0oeXRlKWgoYyltCiAoaGFyYWN0ZXJzKWcoaWYpZih0aGUpZyhvcClzKGVyYXRpbmcpaChzeXN0ZW0pZihwcm8pbSh2aWRlcyk2MzAKQEAgLTEzODU5LDE0ICsxNDE0NSwxNCBAQAogRnMoL2Rldi90Y3AvKXAgRmkoaG9zdCkxMSBiIEZzKC8pcCBGaShwb3J0KTYzMCAzNjIzIHkKIEZ0KGFuZCkyOSBiIEZzKC9kZXYvdWRwLylwIEZpKGhvc3QpMTEgYiBGcygvKXAgRmkocG9ydCkzNAogYiBGdCh3aGVuKTI4IGIodXNlZClnKGluKWgocmVkaXJlY3Rpb25zKWgoXChzZWUpZyhTZWN0aW9uKWcoMy42KWcKLShbUmVkaXJlYy0pNjMwIDM3MzMgeSh0aW9uc10sKWgocGFnZSlnKDI2XCkuKTE1MCAzODg4CisoW1JlZGlyZWMtKTYzMCAzNzMzIHkodGlvbnNdLCloKHBhZ2UpZygyN1wpLikxNTAgMzg4OAogeSBGcygtLWVuYWJsZS1wcm9jZXNzLXN1YnN0aXQpbyh1dGlvKW8obik2MzAgMzk5OCB5IEZ0KFRoaXMpNDkKIGIoZW5hYmxlcylpKHBybylzKGNlc3MpZihzdWJzdGl0dXRpb24pZyhcKHNlZSloKFNlY3Rpb24pZygzLjUuNiloKFtQcm8pCi1zKGNlc3MpZShTdWJzdGl0dXRpb25dLCk2MzAgNDEwNyB5KHBhZ2UpMzEgYigyM1wpKWgoaWYpZSh0aGUpaChvcClzCitzKGNlc3MpZShTdWJzdGl0dXRpb25dLCk2MzAgNDEwNyB5KHBhZ2UpMzEgYigyNFwpKWgoaWYpZSh0aGUpaChvcClzCiAoZXJhdGluZylmKHN5c3RlbSloKHBybyltKHZpZGVzKWYodGhlKWgobmVjZXNzYXJ5KWcoc3VwcClzKG9ydC4pMTUwCiA0MjYyIHkgRnMoLS1lbmFibGUtcHJvZ2NvbXApNjMwIDQzNzIgeSBGdChFbmFibGUpZCh0aGUpZyhwcm9ncmFtbWFibGUpZwogKGNvbXBsZXRpb24paShmYWNpbGl0aWVzKWcoXChzZWUpZihTZWN0aW9uKWcoOC42KWcoW1Byb2dyYW1tYWJsZSk2MzAKLTQ0ODIgeShDb21wbGV0aW9uXSwpaShwYWdlKWgoMTE1XCkuKTQyIGIoSWYpMzAgYihSZWFkbGluZSloKGlzKWYobm90KWgKKzQ0ODIgeShDb21wbGV0aW9uXSwpaShwYWdlKWgoMTE3XCkuKTQyIGIoSWYpMzAgYihSZWFkbGluZSloKGlzKWYobm90KWgKIChlbmFibGVkLClmKHRoaXMpaChvcHRpb24pZyhoYXMpZihubylnKGVcMDEzZWN0LikxNTAKIDQ2MzcgeSBGcygtLWVuYWJsZS1wcm9tcHQtc3RyaW5nLWQpbyhlY29kKW8oaW5nKTYzMCA0NzQ2CiB5IEZ0KFQpLTggYih1cm4pNDYgYihvbiloKHRoZSloKGluKW0odGVycHJldGF0aW9uKWcob2YpZyhhKWcobiltKHVtKW0KQEAgLTEzODc0LDI1ICsxNDE2MCwyNSBAQAogNDg1NiB5KHRoZSkzOSBiIEZzKCRQUzEpcCBGdCgsKWcgRnMoJFBTMilwIEZ0KCwpaCBGcygkUFMzKXAKIEZ0KCwpZihhbmQpZiBGcygkUFM0KWYgRnQocHJvbXB0KWgoc3RyaW5ncy4pNjQgYihTZWUpMzkKIGIoU2VjdGlvbilnKDYuOSloKFtQcmluKW0odGluZylmKGEpNjMwIDQ5NjYgeShQcm9tcHRdLCkzMAotYihwYWdlKWgoODIsKWgoZm9yKWUoYSloKGNvbXBsZXRlKWgobGlzdClmKG9mKWYocHJvbXB0KWcoc3RyaW5nKWcKK2IocGFnZSloKDg0LCloKGZvcillKGEpaChjb21wbGV0ZSloKGxpc3QpZihvZilmKHByb21wdClnKHN0cmluZylnCiAoZXNjYXApcyhlKWgoc2VxdWVuY2VzLikxNTAgNTEyMSB5IEZzKC0tZW5hYmxlLXJlYWRsaW5lKTYzMAogNTIzMCB5IEZ0KEluY2x1ZGUpZChzdXBwKXMob3J0KWYoZm9yKWgoY29tbWFuZC1saW5lKWgoZWRpdGluZylnKGFuZClmCiAoaGlzdG9yeSlnKHdpdGgpZyh0aGUpaChCYXNoKWcodiltKGVyc2lvbilnKG9mKTYzMCA1MzQwCiB5KHRoZSlpKFJlYWRsaW5lKWcobGlicmFyeSlmKFwoc2VlKWgoQ2hhcHRlcilmKDgpZyhbQ29tbWFuZClnKExpbmUpZwotKEVkaXRpbmddLCloKHBhZ2UpZyg5M1wpLilwIGVvcCBlbmQKLSUlUGFnZTogMTMzIDEzOQotVGVYRGljdCBiZWdpbiAxMzMgMTM4IGJvcCAxNTAgLTExNiBhIEZ0KENoYXB0ZXIpMzAgYigxMDopNDEKLWIoSW5zdGFsbGluZykzMSBiKEJhc2gpMjM1NiBiKDEzMykxNTAgMjk5IHkgRnMoLS1lbmFibGUtcmVzdHJpY3RlZCk2MzAKKyhFZGl0aW5nXSwpaChwYWdlKWcoOTVcKS4pcCBlb3AgZW5kCislJVBhZ2U6IDEzNyAxNDMKK1RlWERpY3QgYmVnaW4gMTM3IDE0MiBib3AgMTUwIC0xMTYgYSBGdChDaGFwdGVyKTMwIGIoMTA6KTQxCitiKEluc3RhbGxpbmcpMzEgYihCYXNoKTIzNTYgYigxMzcpMTUwIDI5OSB5IEZzKC0tZW5hYmxlLXJlc3RyaWN0ZWQpNjMwCiA0MDggeSBGdChJbmNsdWRlKTQxIGIoc3VwcClzKG9ydClmKGZvcilpKGEpZyBGcShyZXN0cmljdGVkKWcoc2hlbGwpcAogRnQoLik3NSBiKElmKTQyIGIodGhpcylmKGlzKWgoZW5hYmxlZCwpaihCYXNoLClnKHdoZW4pYyhjYWxsZWQpNjMwCiA1MTggeShhcylmIEZzKHJiYXNoKXAgRnQoLCloKGVuKW0odGVycylmKGEpZyhyZXN0cmljdGVkKWgobW8pcyhkZS4pNjgKIGIoU2VlKTQwIGIoU2VjdGlvbiloKDYuMTApZyhbVGhlKWYoUmVzdHJpY3RlZCloKFNoZWxsXSwpNjMwCi02MjggeShwYWdlKTMxIGIoODQsKWgoZm9yKWUoYSlnKGRlc2NyaXB0aW9uKWgob2YpZihyZXN0cmljdGVkKWgobW8pcwotKGRlLikxNTAgNzg3IHkgRnMoLS1lbmFibGUtc2VsZWN0KTYzMCA4OTcgeSBGdChJbmNsdWRlKWsodGhlKWcKLUZzKHNlbGVjdClmIEZ0KGJ1aWx0aW4sKWkod2hpYyltKGgpZihhbGxvKW0od3MpaSh0aGUpZihnZW5lcmF0aW9uKWcob2YpCi1nKHNpbXBsZSlmKG1lbiltKHVzKWcoXChzZWUpNjMwIDEwMDYgeShTZWN0aW9uKWMoMy4yLjQuMilpCi0oW0NvbmRpdGlvbmFsKWUoQ29uc3RydWN0c10sKWcocGFnZSlnKDEwXCkuKTE1MCAxMTY2Ci15IEZzKC0tZW5hYmxlLXNlcGFyYXRlLWhlbHBmaSlvKGxlcyk2MzAgMTI3NSB5IEZ0KFVzZSloKGV4dGVybmFsKWgKKzYyOCB5KHBhZ2UpMzEgYig4NiwpaChmb3IpZShhKWcoZGVzY3JpcHRpb24paChvZilmKHJlc3RyaWN0ZWQpaChtbylzCisoZGUuKTE1MCA3ODcgeSBGcygtLWVuYWJsZS1zZWxlY3QpNjMwIDg5NyB5IEZ0KEluY2x1ZGUpMjUKK2IodGhlKWggRnMoc2VsZWN0KWYgRnQoY29tcClzKG91bmQpZihjb21tYW5kLClqKHdoaWMpbShoKWUoYWxsbyltKHdzKWoKKyh0aGUpZShnZW5lcmF0aW9uKWgob2YpZihzaW1wbGUpNjMwIDEwMDYgeShtZW4pbSh1cylrKFwoc2VlKWgoU2VjdGlvbilnCisoMy4yLjQuMilpKFtDb25kaXRpb25hbCllKENvbnN0cnVjdHNdLClnKHBhZ2UpZygxMFwpLikxNTAKKzExNjYgeSBGcygtLWVuYWJsZS1zZXBhcmF0ZS1oZWxwZmkpbyhsZXMpNjMwIDEyNzUgeSBGdChVc2UpaChleHRlcm5hbCloCiAoXDAxNGxlcylmKGZvcilnKHRoZSlnKGRvKXMoY3VtZW4pbSh0YXRpb24paChkaXNwbGEpbSh5KW0oZWQpZihiKW0oeSlnCiAodGhlKWcgRnMoaGVscClmIEZ0KGJ1aWx0aW4paChpbnN0ZWFkKTYzMCAxMzg1IHkob2YpZihzdG9yaW5nKWYodGhlKWgKICh0ZXh0KWcoaW4pbSh0ZXJuYWxseSktOCBiKC4pMTUwIDE1NDQgeSBGcygtLWVuYWJsZS1zaW5nbGUtaGVscC1zdHIpbwpAQCAtMTM5MDUsNyArMTQxOTEsNyBAQAogMjAzMiB5IEZzKC0tZW5hYmxlLXN0cmljdC1wb3NpeC1kZSlvKGZhdWwpbyh0KTYzMCAyMTQyCiB5IEZ0KE1hayltKGUpYyhCYXNoKWYgRmwocG9zaXgpcCBGdCgtY29uZm9ybWFuKW0odClnKGIpbSh5KWYoZGVmYXVsdCloCiAoXChzZWUpZyhTZWN0aW9uKWgoNi4xMSlnKFtCYXNoKWYoUE9TSVgpZShNbylzKGRlXSwpNjMwCi0yMjUyIHkocGFnZSkzMSBiKDg0XCkuKTE1MCAyNDExIHkgRnMoLS1lbmFibGUtdXNnLWVjaG8tZGVmYXVsKW8odCk2MzAKKzIyNTIgeShwYWdlKTMxIGIoODZcKS4pMTUwIDI0MTEgeSBGcygtLWVuYWJsZS11c2ctZWNoby1kZWZhdWwpbyh0KTYzMAogMjUyMSB5IEZ0KEEpZihzeW5vbiltKHltKWcoZm9yKWcgRnMoLS1lbmFibGUteHBnLWVjaG8tZGVmYXVsdClwCiBGdCguKTE1MCAyNjgwIHkgRnMoLS1lbmFibGUteHBnLWVjaG8tZGVmYXVsKW8odCk2MzAgMjc5MAogeSBGdChNYWspbShlKWModGhlKWYgRnMoZWNobyllIEZ0KGJ1aWx0aW4paShleHBhbmQpZihiYWMpbQpAQCAtMTM5MTcsNyArMTQyMDMsNyBAQAogaShtb3JlKWcobGlrKW0oZSloKHRoZSlmKHYpbShlcnNpb24pZyhzcClzKGVjaVwwMTRlZCk2MzAKIDMxMTggeShpbik0MSBiKHRoZSloKFNpbmdsZSlnKFVuaXgpZihTcClzKGVjaVwwMTRjYXRpb24sKWsodiltKGVyc2lvbillCiAoMy4pNzQgYihTZWUpNDIgYihTZWN0aW9uKWcoNC4yKWgoW0Jhc2gpZihCdWlsdGluc10sKTYzMAotMzIyOCB5KHBhZ2UpMzEgYig0MSwpaChmb3IpZShhKWcoZGVzY3JpcHRpb24paChvZilmKHRoZSloKGVzY2FwKXMoZSlnCiszMjI4IHkocGFnZSkzMSBiKDQzLCloKGZvcillKGEpZyhkZXNjcmlwdGlvbiloKG9mKWYodGhlKWgoZXNjYXApcyhlKWcKIChzZXF1ZW5jZXMpZih0aGF0KWggRnMoZWNobylmIEZ0KHJlY29nbml6ZXMuKTI3NSAzMzg3CiB5KFRoZSkyMyBiKFwwMTRsZSlpKGApcCBGcyhjb25maWctdG9wLmgpcCBGdCgnKWMoY29uKW0odGFpbnMpMjYKIGIoQyllKFByZXBybylzKGNlc3NvcilnKGApcCBGcygjZGVmaW5lKXAgRnQoJyllKHN0YXRlbWVuKW0odHMpayhmb3IpZgpAQCAtMTM5MjgsMTEgKzE0MjE0LDExIEBACiBiKHRoZSlnKGNvbW1lbiltKHRzKWcoYXNzbylzKGNpYXRlZCloKHdpdGgpZShlYWMpbShoKWkoZGVcMDE0bml0aW9uKWUKIChmb3IpZyhtb3JlKTE1MCAzNzE2IHkoaW5mb3JtYXRpb24pYyhhYilzKG91dClmKGl0cyloKGVcMDEzZWN0LilwCiBlb3AgZW5kCi0lJVBhZ2U6IDEzNCAxNDAKLVRlWERpY3QgYmVnaW4gMTM0IDEzOSBib3AgZW9wIGVuZAotJSVQYWdlOiAxMzUgMTQxCi1UZVhEaWN0IGJlZ2luIDEzNSAxNDAgYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKLWIoQTopaChSZXApcyhvcnRpbmcpaChCdWdzKTIyOTkgYigxMzUpMTUwIDI5OSB5IEZvKEFwcCl0KGVuZGl4KTUyCislJVBhZ2U6IDEzOCAxNDQKK1RlWERpY3QgYmVnaW4gMTM4IDE0MyBib3AgZW9wIGVuZAorJSVQYWdlOiAxMzkgMTQ1CitUZVhEaWN0IGJlZ2luIDEzOSAxNDQgYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKK2IoQTopaChSZXApcyhvcnRpbmcpaChCdWdzKTIyOTkgYigxMzkpMTUwIDI5OSB5IEZvKEFwcCl0KGVuZGl4KTUyCiBiKEEpODEgYihSZXApdChvcnRpbmcpNTMgYihCdWdzKTE1MCA1MzMgeSBGdChQbGVhc2UpMzMKIGIocmVwKXMob3J0KWUoYWxsKWgoYnVncylmKHkpbShvdSloKFwwMTRuZCllKGluKWkoQmFzaC4pNDQKIGIoQnV0KTMyIGIoXDAxNHJzdCwpZyh5KW0ob3UpZyhzaG91bGQpZShtYWspbShlKWooc3VyZSllKHRoYXQpaChpdClnCkBAIC0xMzk2MSwxMiArMTQyNDcsMTIgQEAKICh2aWRlcylmKGZvcilnKFwwMTRsaW5nKWgoYSkxNTAgMjI5MSB5KGJ1ZyloKHJlcClzKG9ydC4pMjc1CiAyNDI2IHkoUGxlYXNlKWgoc2VuZClmKGFsbCloKHJlcClzKG9ydHMpZihjb25jZXJuaW5nKWcodGhpcyloKG1hbiltCiAodWFsKWYodG8paCBGcyhjaGV0LnJhbWV5QGNhc2UuZWR1KXAgRnQoLilwIGVvcCBlbmQKLSUlUGFnZTogMTM2IDE0MgotVGVYRGljdCBiZWdpbiAxMzYgMTQxIGJvcCBlb3AgZW5kCi0lJVBhZ2U6IDEzNyAxNDMKLVRlWERpY3QgYmVnaW4gMTM3IDE0MiBib3AgMTUwIC0xMTYgYSBGdChBcHApcyhlbmRpeCkyOQorJSVQYWdlOiAxNDAgMTQ2CitUZVhEaWN0IGJlZ2luIDE0MCAxNDUgYm9wIGVvcCBlbmQKKyUlUGFnZTogMTQxIDE0NworVGVYRGljdCBiZWdpbiAxNDEgMTQ2IGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5CiBiKEI6KWkoTWEpNSBiKGpvcikzMSBiKERpXDAxM2VyZW5jZXMpZyhGKS04IGIocm9tKTMxCi1iKFRoZSlmKEJvdXJuZSlnKFNoZWxsKTEyNTggYigxMzcpMTUwIDE0MSB5IEZvKEFwcCl0KGVuZGl4KTU4CitiKFRoZSlmKEJvdXJuZSlnKFNoZWxsKTEyNTggYigxNDEpMTUwIDE0MSB5IEZvKEFwcCl0KGVuZGl4KTU4CiBiKEIpODEgYihNYSk5IGIoam9yKTU0IGIoRGlcMDEzZXJlbmNlcylkKEYpLTEzIGIocm9tKTU0CiBiKFRoZSlnKEJvdXJuZSkxMDg4IDI5OSB5KFNoZWxsKTE1MCA1MzAgeSBGdChCYXNoKTI2CiBiKGltcGxlbWVuKW0odHMpaChlc3NlbiltKHRpYWxseSlnKHRoZSlnKHNhbWUpZihncmFtbWFyLCloKHBhcmFtZXRlcilmCkBAIC0xMzk4NywyMCArMTQyNzMsMjAgQEAKIEZsKHBvc2l4KXAgRnQoLWNvbmZvcm1hbiltKHQsKWcoZXYpbShlbilnKHdoZXJlKWYodGhlKWcKIEZsKHBvc2l4KWcgRnQoc3ApcyhlY2lcMDE0Y2F0aW9uKWgoZGlcMDEzZXJzKWYoZnJvbSlnKHRyYWRpdGlvbmFsKTMzMAogMTQzMSB5IEZzKHNoKWUgRnQoYilzKGVoYSltKHZpb3IpZyhcKHNlZSlpKFNlY3Rpb24pZig2LjExKWgoW0Jhc2gpZQotKFBPU0lYKWcoTW8pcyhkZV0sKWgocGFnZSlnKDg0XCkuKTIyNSAxNTY1IHkgRnAoXDAxNyk2MAorKFBPU0lYKWcoTW8pcyhkZV0sKWgocGFnZSlnKDg2XCkuKTIyNSAxNTY1IHkgRnAoXDAxNyk2MAogYiBGdChCYXNoKTI2IGIoaGFzKWcobSltKHVsdGktYyltKGhhcmFjdGVyKWkoaW4pbSh2KW0obylzKGNhdGlvbilnCiAob3B0aW9ucylmKFwoc2VlKWYoU2VjdGlvbiloKDYuMSlnKFtJbiltKHYpbShva2luZylnKEJhc2hdLCloKHBhZ2UpZQotKDcxXCkuKTIyNSAxNjk5IHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMjggYihoYXMpZyhjb21tYW5kLWxpbmUpaAorKDczXCkuKTIyNSAxNjk5IHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMjggYihoYXMpZyhjb21tYW5kLWxpbmUpaAogKGVkaXRpbmcpZihcKHNlZSloKENoYXB0ZXIpZig4KWcoW0NvbW1hbmQpZihMaW5lKWgoRWRpdGluZ10sKWkocGFnZSllCi0oOTNcKSlpKGFuZCkzMzAgMTgwOSB5KHRoZSloIEZzKGJpbmQpZSBGdChidWlsdGluLikyMjUKKyg5NVwpKWkoYW5kKTMzMCAxODA5IHkodGhlKWggRnMoYmluZCllIEZ0KGJ1aWx0aW4uKTIyNQogMTk0MyB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTQ2IGIocHJvKW0odmlkZXMpZyhhKWcocHJvZ3JhbW1hYmxlKWcodyltCiAob3JkKWYoY29tcGxldGlvbilpKG1lYyltKGhhbmlzbSlmKFwoc2VlKWgoU2VjdGlvbilnKDguNilnKFtQcm8tKTMzMAotMjA1MiB5KGdyYW1tYWJsZSkzOSBiKENvbXBsZXRpb25dLClpKHBhZ2UpZSgxMTVcKSwpaShhbmQpZChidWlsdGluKWcKKzIwNTIgeShncmFtbWFibGUpMzkgYihDb21wbGV0aW9uXSwpaShwYWdlKWUoMTE3XCksKWkoYW5kKWQoYnVpbHRpbilnCiAoY29tbWFuZHMpZiBGcyhjb21wbGV0ZSlwIEZ0KCwpaCBGcyhjb21wZ2VuKXAgRnQoLCloKGFuZCkzMzAKIDIxNjIgeSBGcyhjb21wb3B0KXAgRnQoLCkyOSBiKHRvKWkobWFuaXB1bGF0ZSlnKGl0LikyMjUKIDIyOTYgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkyNiBiKGhhcylmKGNvbW1hbmQpaChoaXN0b3J5KWYoXChzZWUpaQogKFNlY3Rpb24pZig5LjEpaChbQmFzaClmKEhpc3RvcnkpaChGKS04IGIoYWNpbGl0aWVzXSwpMzAKLWIocGFnZSljKDEyMVwpKWkoYW5kKWQodGhlKTMzMCAyNDA1IHkgRnMoaGlzdG9yeSlrIEZ0KGFuZCloCitiKHBhZ2UpYygxMjVcKSlpKGFuZClkKHRoZSkzMzAgMjQwNSB5IEZzKGhpc3RvcnkpayBGdChhbmQpaAogRnMoZmMpZyBGdChidWlsdGlucylnKHRvKWgobWFuaXB1bGF0ZSlnKGl0Lik0MiBiKFRoZSkzMAogYihCYXNoKWgoaGlzdG9yeSlnKGxpc3QpZyhtYWluKW0odGFpbnMpZyh0aW1lc3RhbXApMzMwCiAyNTE1IHkoaW5mb3JtYXRpb24pZyhhbmQpZSh1c2VzKWgodGhlKWgodiktNSBiKGFsdWUpMzEKQEAgLTE0MDA4LDkgKzE0Mjk0LDkgQEAKIGIodG8pZihkaXNwbGEpbSh5KWYoaXQuKTIyNSAyNjQ5IHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpNDgKIGIoaW1wbGVtZW4pbSh0cyloIEZzKGNzaClwIEZ0KC1saWspbShlKWcoaGlzdG9yeSlmKGV4cGFuc2lvbilnKFwoc2VlKWgKIChTZWN0aW9uKWcoOS4zKWgoW0hpc3RvcnkpZihJbiltKHRlcmFjdGlvbl0sKTMzMCAyNzU5Ci15KHBhZ2UpMzEgYigxMjNcKS4pMjI1IDI4OTIgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkzMworeShwYWdlKTMxIGIoMTI3XCkuKTIyNSAyODkyIHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMzMKIGIoaGFzKWcob25lLWRpbWVuc2lvbmFsKWgoYXJyYSltKHkpZih2KS01IGIoYXJpYWJsZXMpMzQKLWIoXChzZWUpZyhTZWN0aW9uKWcoNi43KWcoW0FycmEpbSh5c10sKWcocGFnZSlnKDgwXCksKWgoYW5kKWUodGhlKTMzMAorYihcKHNlZSlnKFNlY3Rpb24pZyg2LjcpZyhbQXJyYSltKHlzXSwpZyhwYWdlKWcoODJcKSwpaChhbmQpZSh0aGUpMzMwCiAzMDAyIHkoYXBwcm9wcmlhdGUpMzkgYih2KS01IGIoYXJpYWJsZSk0MCBiKGV4cGFuc2lvbnMpZihhbmQpZwogKGFzc2lnbm1lbiltKHQpaChzeW4pbSh0YXgpZyh0bylnKHVzZSlmKHRoZW0uKTY3IGIoU2V2KW0oZXJhbCk0MAogYihvZilnKHRoZSkzMzAgMzExMiB5KEJhc2gpMzIgYihidWlsdGlucylmKHRhayltKGUpaihvcHRpb25zKWUodG8paApAQCAtMTQwNDcsMTMgKzE0MzMzLDEzIEBACiBGcyhmb3IpMjkgYihcKFwoKWggRmkoZXhwcjEpMzkgYiBGcyg7KTMwIGIgRmkoZXhwcjIpNDAKIGIgRnMoOykzMCBiIEZpKGV4cHIzKTM5IGIgRnMoXClcKSkyMyBiIEZ0KGFyaXRobWV0aWMpaChmb3IpZShjb21tYW5kLClqCiAoc2ltLSkzMzAgNTA5NiB5KGlsYXIpMzEgYih0bylnKHRoZSlnKEMpZihsYW5ndWFnZSloKFwoc2VlKWgoU2VjdGlvbilmCi0oMy4yLjQuMSlpKFtMbylzKG9waW5nKWQoQ29uc3RydWN0c10sKWgocGFnZSlnKDlcKS4pMjI1CisoMy4yLjQuMSlpKFtMbylzKG9waW5nKWQoQ29uc3RydWN0c10sKWgocGFnZSlnKDEwXCkuKTIyNQogNTIzMCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTMxIGIoaW5jbHVkZXMpZih0aGUpZyBGcyhzZWxlY3QpZgogRnQoY29tcClzKG91bmQpZyhjb21tYW5kLClpKHdoaWMpbShoKWYoYWxsbyltKHdzKWkodGhlKWYoZ2VuZXJhdGlvbilnCiAob2YpZyhzaW1wbGUpMzMwIDUzNDAgeShtZW4pbSh1cylmKFwoc2VlKWgoU2VjdGlvbilnKDMuMi40LjIpaQogKFtDb25kaXRpb25hbCllKENvbnN0cnVjdHNdLClnKHBhZ2UpZygxMFwpLilwIGVvcCBlbmQKLSUlUGFnZTogMTM4IDE0NAotVGVYRGljdCBiZWdpbiAxMzggMTQzIGJvcCAxNTAgLTExNiBhIEZ0KDEzOCkyNTI3IGIoQmFzaCkzMQorJSVQYWdlOiAxNDIgMTQ4CitUZVhEaWN0IGJlZ2luIDE0MiAxNDcgYm9wIDE1MCAtMTE2IGEgRnQoMTQyKTI1MjcgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkyMjUgMjk5IHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpNDAKIGIoaW5jbHVkZXMpZyh0aGUpZyBGcyhbWylnIEZ0KGNvbXApcyhvdW5kKWUoY29tbWFuZCwpNDMKIGIod2hpYyltKGgpYyhtYWspbShlcylpKGNvbmRpdGlvbmFsKWgodGVzdGluZylmKHBhcnQpZihvZikzMzAKQEAgLTE0MDYzLDE3ICsxNDM0OSwxNyBAQAogYiBGdChCYXNoKTMxIGIocHJvKW0odmlkZXMpZihvcHRpb25hbCloKGNhc2UtaW5zZW5zaXRpdiltKGUpaShtYXRjKW0KIChoaW5nKWYoZm9yKWUodGhlKWcgRnMoY2FzZSlnIEZ0KGFuZClmIEZzKFtbKWggRnQoY29uc3RydWN0cy4pMjI1CiA3ODkgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkyNyBiKGluY2x1ZGVzKWcoYnJhY2UpaChleHBhbnNpb24pZihcKHNlZSloCi0oU2VjdGlvbilnKDMuNS4xKWkoW0JyYWNlKWUoRXhwYW5zaW9uXSwpZyhwYWdlKWcoMThcKSloKGFuZClkKHRpbGRlKTMzMAorKFNlY3Rpb24pZygzLjUuMSlpKFtCcmFjZSllKEV4cGFuc2lvbl0sKWcocGFnZSlnKDE5XCkpaChhbmQpZCh0aWxkZSkzMzAKIDg5OCB5KGV4cGFuc2lvbilrKFwoc2VlKWkoU2VjdGlvbilmKDMuNS4yKWgoW1RpbGRlKWYoRXhwYW5zaW9uXSwpZgotKHBhZ2UpaCgxOVwpLikyMjUgMTAzNCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTI0IGIoaW1wbGVtZW4pbSh0cyloCisocGFnZSloKDIwXCkuKTIyNSAxMDM0IHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMjQgYihpbXBsZW1lbiltKHRzKWgKIChjb21tYW5kKWUoYWxpYXNlcylqKGFuZClkKHRoZSlpIEZzKGFsaWFzKWQgRnQoYW5kKWkKIEZzKHVuYWxpYXMpZSBGdChidWlsdGlucyloKFwoc2VlKWkoU2VjdGlvbilnKDYuNikzMzAKLTExNDMgeShbQWxpYXNlc10sKTMyIGIocGFnZSlmKDc5XCkuKTIyNSAxMjc5IHkgRnAoXDAxNyk2MAorMTE0MyB5KFtBbGlhc2VzXSwpMzIgYihwYWdlKWYoODFcKS4pMjI1IDEyNzkgeSBGcChcMDE3KTYwCiBiIEZ0KEJhc2gpMzIgYihwcm8pbSh2aWRlcylnKHNoZWxsKWcoYXJpdGhtZXRpYywpaSh0aGUpZQogRnMoXChcKClnIEZ0KGNvbXApcyhvdW5kKWUoY29tbWFuZClpKFwoc2VlKWgoU2VjdGlvbilmKDMuMi40LjIpaihbQ29uLSkKIDMzMCAxMzg4IHkoZGl0aW9uYWwpZChDb25zdHJ1Y3RzXSwpZShwYWdlKWkoMTBcKSwpZyhhbmQpZShhcml0aG1ldGljKWkKIChleHBhbnNpb24pZShcKHNlZSlpKFNlY3Rpb24pZig2LjUpaChbU2hlbGwpZihBcml0aC0pMzMwCi0xNDk4IHkobWV0aWNdLCloKHBhZ2UpZig3OFwpLikyMjUgMTYzMyB5IEZwKFwwMTcpNjAgYgorMTQ5OCB5KG1ldGljXSwpaChwYWdlKWYoODBcKS4pMjI1IDE2MzMgeSBGcChcMDE3KTYwIGIKIEZ0KFYpLTggYihhcmlhYmxlcykzMSBiKHByZXNlbiltKHQpZShpbilnKHRoZSlnKHNoZWxsJ3MpaChpbml0aWFsKWcoZW4pCiBtKHZpcm9ubWVuKW0odClnKGFyZSlnKGF1dG9tYXRpY2FsbHkpaShleHApcyhvcnRlZClkKHRvKWgoYyltKGhpbGQpMzMwCiAxNzQzIHkocHJvKXMoY2Vzc2VzLikzOCBiKFRoZSkyMyBiKEJvdXJuZSlnKHNoZWxsKWcoZG8pcyhlcylnKG5vdClnCkBAIC0xNDA4OSw0NCArMTQzNzUsNDQgQEAKIEZ0KCcpaChleHBhbnNpb25zKWcodG8pZyhyZW1vKW0odiltKGUpMzMwIDIzNDIgeShsZWFkaW5nKWYob3IpZgogKHRyYWlsaW5nKWgoc3Vic3RyaW5ncyllKGZyb20pZyh2KS01IGIoYXJpYWJsZSkzNSBiKHYpLTUKIGIoYWx1ZXMpMzUgYihcKHNlZSlnKFNlY3Rpb24pZygzLjUuMylnKFtTaGVsbClnKFApbShhcmFtZXRlcikzMzAKLTI0NTIgeShFeHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgxOVwpLikyMjUgMjU4NyB5IEZwKFwwMTcpNjAKKzI0NTIgeShFeHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgyMVwpLikyMjUgMjU4NyB5IEZwKFwwMTcpNjAKIGIgRnQoVGhlKTQ2IGIoZXhwYW5zaW9uKWcgRnMoJHsjeHh9KXAgRnQoLClqKHdoaWMpbShoKWQocmV0dXJucylmKHRoZSlpCiAobGVuZ3RoKWYob2YpaCBGcygke3h4fSlwIEZ0KCwpaShpcyllKHN1cHApcyhvcnRlZClkKFwoc2VlKWooU2VjLSkzMzAKIDI2OTcgeSh0aW9uKTMxIGIoMy41LjMpaChbU2hlbGwpZihQKW0oYXJhbWV0ZXIpZyhFeHBhbnNpb25dLClmKHBhZ2UpaQotKDE5XCkuKTIyNSAyODMyIHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSkzMCBiKGV4cGFuc2lvbilnCisoMjFcKS4pMjI1IDI4MzIgeSBGcChcMDE3KTYwIGIgRnQoVGhlKTMwIGIoZXhwYW5zaW9uKWcKIEZzKCR7dmFyOilwIEZxKG9cMDEzc2V0KXIgRnMoWzopcCBGcShsZW5ndGgpcCBGcyhdfSlwCiBGdCgsKWcod2hpYyltKGgpZyhleHBhbmRzKWcodG8paCh0aGUpZyhzdWJzdHJpbmcpZShvZilpCiBGcyh2YXIpcCBGdCgncyllKHYpLTUgYihhbHVlKTMzMCAyOTQyIHkob2YpNDMgYihsZW5ndGgpZwogRnEobGVuZ3RoKXAgRnQoLClqKGIpcyhlZ2lubmluZyljKGF0KWkgRnEob1wwMTNzZXQpcgogRnQoLClqKGlzKTQyIGIocHJlc2VuKW0odCloKFwoc2VlKWgoU2VjdGlvbilmKDMuNS4zKWkoW1NoZWxsKWUoUCltCi0oYXJhbWV0ZXIpMzMwIDMwNTEgeShFeHBhbnNpb25dLCkzMCBiKHBhZ2UpaCgxOVwpLikyMjUKKyhhcmFtZXRlcikzMzAgMzA1MSB5KEV4cGFuc2lvbl0sKTMwIGIocGFnZSloKDIxXCkuKTIyNQogMzE4NyB5IEZwKFwwMTcpNjAgYiBGdChUaGUpMjEgYihleHBhbnNpb24pZiBGcygke3Zhci9bL10pcAogRnEocGF0dGVybilwIEZzKFsvKXAgRnEocmVwbGFjZW1lbiltKHQpciBGcyhdfSlwIEZ0KCwpaSh3aGljKW0oaCllCiAobWF0YyltKGhlcylqIEZxKHBhdHRlcm4pZSBGdChhbmQpZihyZXBsYWNlcykzMzAgMzI5NgogeShpdCkyOSBiKHdpdGgpZSBGcShyZXBsYWNlbWVuKW0odCkzMiBiIEZ0KGluKWModGhlKWcodiktNQogYihhbHVlKTI5IGIob2YpZiBGcyh2YXIpcCBGdCgsKWcoaXMpZyhhKW0odiktNSBiKGFpbGFibGUpMzEKIGIoXChzZWUpZShTZWN0aW9uKWYoMy41LjMpaShbU2hlbGwpZihQKW0oYXJhbWV0ZXIpMzMwCi0zNDA2IHkoRXhwYW5zaW9uXSwpaChwYWdlKWgoMTlcKS4pMjI1IDM1NDEgeSBGcChcMDE3KTYwCiszNDA2IHkoRXhwYW5zaW9uXSwpaChwYWdlKWgoMjFcKS4pMjI1IDM1NDEgeSBGcChcMDE3KTYwCiBiIEZ0KFRoZSkzMiBiKGV4cGFuc2lvbilnIEZzKCR7ISlwIEZpKHByZWZpeClwIEZzKH0pcAogRmkoKik0MCBiIEZ0KGV4cGFuc2lvbiwpMzIgYih3aGljKW0oaClnKGV4cGFuZHMpZyh0byloKHRoZSlmKG5hbWVzKWcKIChvZiloKGFsbClnKHNoZWxsKWYodiktNSBiKGFyaS0pMzMwIDM2NTEgeShhYmxlcykzNiBiKHdob3NlKWYobmFtZXMpaAogKGIpcyhlZ2luKWYod2l0aClnIEZxKHByZVwwMTR4KTYgYiBGdCgsKTM2IGIoaXMpZyhhKW0odiktNQogYihhaWxhYmxlKTM4IGIoXChzZWUpZShTZWN0aW9uKWgoMy41LjMpZyhbU2hlbGwpZihQKW0oYXJhbWV0ZXIpMzMwCi0zNzYxIHkoRXhwYW5zaW9uXSwpMzAgYihwYWdlKWgoMTlcKS4pMjI1IDM4OTYgeSBGcChcMDE3KTYwCiszNzYxIHkoRXhwYW5zaW9uXSwpMzAgYihwYWdlKWgoMjFcKS4pMjI1IDM4OTYgeSBGcChcMDE3KTYwCiBiIEZ0KEJhc2gpMjIgYihoYXMpZiBGcShpbmRpcmVjdClqIEZ0KHYpLTUgYihhcmlhYmxlKTIyCiBiKGV4cGFuc2lvbilnKHVzaW5nKWYgRnMoJHshd29yZH0pZSBGdChcKHNlZSlrKFNlY3Rpb24pZigzLjUuMylpCi0oW1NoZWxsKWUoUCltKGFyYW1ldGVyKTMzMCA0MDA2IHkoRXhwYW5zaW9uXSwpMzAgYihwYWdlKWgoMTlcKS4pMjI1CisoW1NoZWxsKWUoUCltKGFyYW1ldGVyKTMzMCA0MDA2IHkoRXhwYW5zaW9uXSwpMzAgYihwYWdlKWgoMjFcKS4pMjI1CiA0MTQxIHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMzEgYihjYW4pZihleHBhbmQpZyhwKXMob3NpdGlvbmFsKWgKIChwYXJhbWV0ZXJzKWcoYilzKGV5KW0ob25kKWUgRnMoJDkpaCBGdCh1c2luZylnIEZzKCR7KXAKIEZpKG51bSkxMSBiIEZzKH0pcCBGdCguKTIyNSA0Mjc2IHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSkyNwogYiBGbChwb3NpeClnIEZzKCRcKFwpKWcgRnQoZm9ybSlnKG9mKWgoY29tbWFuZClnKHN1YnN0aXR1dGlvbilmKGlzKWgKIChpbXBsZW1lbiltKHRlZClnKFwoc2VlKWgoU2VjdGlvbilmKDMuNS40KWkoW0NvbS0pMzMwCi00Mzg2IHkobWFuZCkzOCBiKFN1YnN0aXR1dGlvbl0sKWsocGFnZSllKDIyXCksKWooYW5kKTM4Cis0Mzg2IHkobWFuZCkzOCBiKFN1YnN0aXR1dGlvbl0sKWsocGFnZSllKDI0XCksKWooYW5kKTM4CiBiKHByZWZlcnJlZClnKHRvKWkodGhlKWcoQm91cm5lKWYoc2hlbGwncyloIEZzKGBgKWUgRnQoXCh3aGljKW0oaClpKGlzKQogZihhbHNvKTMzMCA0NDk1IHkoaW1wbGVtZW4pbSh0ZWQpMzEgYihmb3IpZihiYWMpbShrdyltKGFyZHMpaAogKGNvbXBhdGliaWxpdCltKHlcKS4pMjI1IDQ2MzEgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkzMQogYihoYXMpZihwcm8pcyhjZXNzKWcoc3Vic3RpdHV0aW9uKWcoXChzZWUpaChTZWN0aW9uKWcoMy41LjYpaChbUHJvKXMKLShjZXNzKWYoU3Vic3RpdHV0aW9uXSwpZihwYWdlKWgoMjNcKS4pMjI1IDQ3NjYgeSBGcChcMDE3KTYwCisoY2VzcylmKFN1YnN0aXR1dGlvbl0sKWYocGFnZSloKDI0XCkuKTIyNSA0NzY2IHkgRnAoXDAxNyk2MAogYiBGdChCYXNoKTU1IGIoYXV0b21hdGljYWxseSlqKGFzc2lnbnMpZSh2KS01IGIoYXJpYWJsZXMpNTUKIGIodGhhdCloKHBybyltKHZpZGUpZihpbmZvcm1hdGlvbiloKGFiKXMob3V0KWYodGhlKWcoY3VycmVuKW0odCkzMzAKIDQ4NzYgeSh1c2VyKTQwIGIoXCgpcCBGcyhVSUQpcCBGdCgsKWkgRnMoRVVJRClwIEZ0KCwpZyhhbmQpZQpAQCAtMTQxMzUsMjYgKzE0NDIxLDI2IEBACiA0OTg1IHkgRnMoSE9TVE5BTUUpcCBGdChcKSwpNTUgYihhbmQpYyh0aGUpZyhpbnN0YW5jZSloKG9mKWcoQmFzaClmCiAodGhhdCloKGlzKWYocnVubmluZylmKFwoKXAgRnMoQkFTSClwIEZ0KCwpNTYgYiBGcyhCQVNIX1ZFUlNJT04pcAogRnQoLCllKGFuZCkzMzAgNTA5NSB5IEZzKEJBU0hfVkVSU0lORk8pcCBGdChcKS4pMzcgYihTZWUpMzEKLWIoU2VjdGlvbilnKDUuMiloKFtCYXNoKWUoViktOCBiKGFyaWFibGVzXSwpMzMgYihwYWdlKWUoNjEsKWcoZm9yKWYKK2IoU2VjdGlvbilnKDUuMiloKFtCYXNoKWUoViktOCBiKGFyaWFibGVzXSwpMzMgYihwYWdlKWUoNjMsKWcoZm9yKWYKIChkZXRhaWxzLikyMjUgNTIzMCB5IEZwKFwwMTcpNjAgYiBGdChUaGUpNDQgYiBGcyhJRlMpZgogRnQodiktNSBiKGFyaWFibGUpNDUgYihpcylmKHVzZWQpZih0bylpKHNwbGl0KWYob25seSlnKHRoZSlnKHJlc3VsdHMpZwogKG9mKWgoZXhwYW5zaW9uLClpKG5vdClkKGFsbCloKHcpbShvcmRzKWYoXChzZWUpMzMwIDUzNDAKLXkoU2VjdGlvbikyOSBiKDMuNS43KWgoW1cpLTggYihvcmQpMjkgYihTcGxpdHRpbmddLCloKHBhZ2UpZigyM1wpLik0MQoreShTZWN0aW9uKTI5IGIoMy41LjcpaChbVyktOCBiKG9yZCkyOSBiKFNwbGl0dGluZ10sKWgocGFnZSlmKDI1XCkuKTQxCiBiKFRoaXMpMjggYihjbG9zZXMpaChhKWcobG9uZ3N0YW5kaW5nKWcoc2hlbGwpZihzZWN1cml0KW0oeSloKGhvbGUuKXAKIGVvcCBlbmQKLSUlUGFnZTogMTM5IDE0NQotVGVYRGljdCBiZWdpbiAxMzkgMTQ0IGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5CislJVBhZ2U6IDE0MyAxNDkKK1RlWERpY3QgYmVnaW4gMTQzIDE0OCBib3AgMTUwIC0xMTYgYSBGdChBcHApcyhlbmRpeCkyOQogYihCOilpKE1hKTUgYihqb3IpMzEgYihEaVwwMTNlcmVuY2VzKWcoRiktOCBiKHJvbSkzMQotYihUaGUpZihCb3VybmUpZyhTaGVsbCkxMjU4IGIoMTM5KTIyNSAyOTkgeSBGcChcMDE3KTYwCitiKFRoZSlmKEJvdXJuZSlnKFNoZWxsKTEyNTggYigxNDMpMjI1IDI5OSB5IEZwKFwwMTcpNjAKIGIgRnQoQmFzaCkzOCBiKGltcGxlbWVuKW0odHMpZyh0aGUpZyhmdWxsKWcoc2V0KWcob2YpZwogRmwocG9zaXgpZiBGdChcMDE0bGVuYW1lKWgoZXhwYW5zaW9uKWcob3ApcyhlcmF0b3JzLClpKGluY2x1ZGluZylkCiBGcShjKW0oaGFyLSkzMzAgNDA4IHkoYWN0ZXIpaShjbGFzc2VzKXQgRnQoLCloIEZxKGVxdWl2KS01CiBiKGFsZW5jZSkzOSBiKGNsYXNzZXMpdCBGdCgsKWgoYW5kKWQgRnEoY29sbGF0aW5nKWooc3ltKW0oYilzKG9scylnCiBGdChcKHNlZSlmKFNlY3Rpb24pZigzLjUuOCloKFtGaWxlbmFtZSkzMzAgNTE4IHkoRXhwYW5zaW9uXSwpMzAKLWIocGFnZSloKDI0XCkuKTIyNSA2NjAgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkzNSBiKGltcGxlbWVuKW0odHMpZworYihwYWdlKWgoMjVcKS4pMjI1IDY2MCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTM1IGIoaW1wbGVtZW4pbSh0cylnCiAoZXh0ZW5kZWQpZyhwYXR0ZXJuKWcobWF0YyltKGhpbmcpaChmZWF0dXJlcylmKHdoZW4pZih0aGUpaAogRnMoZXh0Z2xvYilkIEZ0KHNoZWxsKWoob3B0aW9uKTMzMCA3NjkgeShpcykzMCBiKGVuYWJsZWQpaChcKHNlZSlnCi0oU2VjdGlvbilnKDMuNS44LjEpaShbUCltKGF0dGVybilmKE1hdGMpbShoaW5nXSwpZyhwYWdlKWYoMjRcKS4pMjI1CisoU2VjdGlvbilnKDMuNS44LjEpaShbUCltKGF0dGVybilmKE1hdGMpbShoaW5nXSwpZyhwYWdlKWYoMjZcKS4pMjI1CiA5MTEgeSBGcChcMDE3KTYwIGIgRnQoSXQpMjIgYihpcylnKHApcyhvc3NpYmxlKWcodG8paChoYSltKHYpbShlKWcoYSlmCiAodiktNSBiKGFyaWFibGUpMjMgYihhbmQpZihhKWcoZnVuY3Rpb24pZyh3aXRoKWcodGhlKWcoc2FtZSlnKG5hbWU7KWoKIEZzKHNoKWQgRnQoZG8pcyhlcylnKG5vdClnKHNlcGFyYXRlKTMzMCAxMDIxIHkodGhlKTMxCkBAIC0xNDE2MywyNCArMTQ0NDksMjQgQEAKIChjYWwpZyh2KS01IGIoYXJpYWJsZXMpMzAgYih1c2luZylmKHRoZSlnIEZzKGxvY2FsKWYKIEZ0KGJ1aWx0aW4sKWkoYW5kKWUodGgpbSh1cykzMzAgMTI3MiB5KHVzZWZ1bClpKHJlY3Vyc2l2KW0oZSlnCiAoZnVuY3Rpb25zKWcobWEpbSh5KWgoYilzKGUpZih3cml0dGVuKWcoXChzZWUpaShTZWN0aW9uKWYoNC4yKWcoW0Jhc2gpZwotKEJ1aWx0aW5zXSwpZyhwYWdlKWgoNDFcKS4pMjI1IDE0MTQgeSBGcChcMDE3KTYwIGIgRnQoViktOAorKEJ1aWx0aW5zXSwpZyhwYWdlKWgoNDNcKS4pMjI1IDE0MTQgeSBGcChcMDE3KTYwIGIgRnQoViktOAogYihhcmlhYmxlKTI1IGIoYXNzaWdubWVuKW0odHMpZyhwcmVjZWRpbmcpZShjb21tYW5kcyloKGFcMDEzZWN0KWgob25seSkKIGYodGhhdClnKGNvbW1hbmQsKWgoZXYpbShlbilmKGJ1aWx0aW5zKWcoYW5kKTMzMCAxNTI0CiB5KGZ1bmN0aW9ucykzNiBiKFwoc2VlKWgoU2VjdGlvbilnKDMuNy40KWgoW0VuKW0odmlyb25tZW4pbSh0XSwpaChwYWdlKQotZSgzMVwpLik2MCBiKEluKTM1IGIgRnMoc2gpcCBGdCgsKWooYWxsKWYodiktNSBiKGFyaWFibGUpMzcKK2UoMzNcKS4pNjAgYihJbikzNSBiIEZzKHNoKXAgRnQoLClqKGFsbClmKHYpLTUgYihhcmlhYmxlKTM3CiBiKGFzc2lnbm1lbiltKHRzKTMzMCAxNjMzIHkocHJlY2VkaW5nKTMwIGIoY29tbWFuZHMpZyhhcmUpaChnbG9iYWwpaAogKHVubGVzcylkKHRoZSlpKGNvbW1hbmQpZihpcyloKGV4ZWN1dGVkKWcoZnJvbSlmKHRoZSlnKFwwMTRsZSloCiAoc3lzdGVtLikyMjUgMTc3NSB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTQ0IGIocClzKGVyZm9ybXMpZShcMDE0bGVuYW1lKQogaShleHBhbnNpb24pZihvbiloKFwwMTRsZW5hbWVzKWcoc3ApcyhlY2lcMDE0ZWQpZihhcyloKG9wKXMoZXJhbmRzKWUKICh0bylqKGlucHV0KWUoYW5kKTMzMCAxODg1IHkob3V0cHV0KTMwIGIocmVkaXJlY3Rpb24paChvcClzKGVyYXRvcnMpZwotKFwoc2VlKWcoU2VjdGlvbilnKDMuNiloKFtSZWRpcmVjdGlvbnNdLClnKHBhZ2UpZigyNlwpLikyMjUKKyhcKHNlZSlnKFNlY3Rpb24pZygzLjYpaChbUmVkaXJlY3Rpb25zXSwpZyhwYWdlKWYoMjdcKS4pMjI1CiAyMDI3IHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMjkgYihjb24pbSh0YWlucyloKHRoZSlmKGApcAogRnMoPD4pcCBGdCgnKWYocmVkaXJlY3Rpb24paShvcClzKGVyYXRvciwpZihhbGxvKW0od2luZylpKGEpZShcMDE0bGUpZwogKHRvKWcoYilzKGUpZihvcClzKGVuZWQpZyhmb3IpaChiKXMob3RoKWYocmVhZC0pMzMwIDIxMzYKIHkoaW5nKTM1IGIoYW5kKWYod3JpdGluZywpaShhbmQpZSh0aGUpaChgKXAgRnMoJj4pcCBGdCgnKWcocmVkaXJlY3Rpb24pCiBnKG9wKXMoZXJhdG9yLCloKGZvcilmKGRpcmVjdGluZylnKHN0YW5kYXJkKWYob3V0cHV0KWgoYW5kKTMzMAogMjI0NiB5KHN0YW5kYXJkKTMwIGIoZXJyb3IpZyh0byloKHRoZSlmKHNhbWUpaChcMDE0bGUpZihcKHNlZSlpCi0oU2VjdGlvbilmKDMuNilnKFtSZWRpcmVjdGlvbnNdLCloKHBhZ2UpZygyNlwpLikyMjUgMjM4OAorKFNlY3Rpb24pZigzLjYpZyhbUmVkaXJlY3Rpb25zXSwpaChwYWdlKWcoMjdcKS4pMjI1IDIzODgKIHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMjEgYihpbmNsdWRlcylmKHRoZSloKGApcCBGcyg8PDwpcAogRnQoJylnKHJlZGlyZWN0aW9uKWcob3ApcyhlcmF0b3IsKWkoYWxsbyltKHdpbmcpZyhhKWUoc3RyaW5nKWYodG8paShiKXMKIChlKWUodXNlZClnKGFzKWgodGhlKWcoc3RhbmRhcmQpMzMwIDI0OTcgeShpbnB1dCkyOSBiKHRvKWooYSllCkBAIC0xNDE5MSwyMCArMTQ0NzcsMjAgQEAKIDI4OTAgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkyNSBiKHRyZWF0cyloKGEpZihuKW0odW0pbShiKXMoZXIpZShvZilpCiAoXDAxNGxlbmFtZXMpZyhzcClzKGVjaWFsbHkpZyh3aGVuKWYodGhleSloKGFyZSlnKHVzZWQpZihpbilnCiAocmVkaXJlY3Rpb24paShvcClzKGVyYXRvcnMpMzMwIDMwMDAgeShcKHNlZSkzMSBiKFNlY3Rpb24paCgzLjYpZgotKFtSZWRpcmVjdGlvbnNdLCloKHBhZ2UpZigyNlwpLikyMjUgMzE0MiB5IEZwKFwwMTcpNjAKKyhbUmVkaXJlY3Rpb25zXSwpaChwYWdlKWYoMjdcKS4pMjI1IDMxNDIgeSBGcChcMDE3KTYwCiBiIEZ0KEJhc2gpMzMgYihjYW4pZihvcClzKGVuKWcobmV0KW0odyltKG9yaylpKGNvbm5lY3Rpb25zKWYodG8paAogKGFyYml0cmFyeSllKG1hYyltKGhpbmVzKWgoYW5kKWYoc2VydmljZXMpaCh3aXRoKWYodGhlKWgocmVkaS0pMzMwCiAzMjUxIHkocmVjdGlvbillKG9wKXMoZXJhdG9ycylnKFwoc2VlKWcoU2VjdGlvbilnKDMuNiloCi0oW1JlZGlyZWN0aW9uc10sKWcocGFnZSlmKDI2XCkuKTIyNSAzMzkzIHkgRnAoXDAxNyk2MAorKFtSZWRpcmVjdGlvbnNdLClnKHBhZ2UpZigyN1wpLikyMjUgMzM5MyB5IEZwKFwwMTcpNjAKIGIgRnQoVGhlKTI5IGIgRnMobm9jbG9iYmVyKWUgRnQob3B0aW9uKWooaXMpZyhhKW0odiktNQogYihhaWxhYmxlKTMyIGIodG8pZShhKW0odiltKG9pZCloKG8pbSh2KW0oZXJ3cml0aW5nKWcoZXhpc3RpbmcpZwogKFwwMTRsZXMpZSh3aXRoKWgob3V0cHV0KWYocmVkaS0pMzMwIDM1MDMgeShyZWN0aW9uKTM5Ci1iKFwoc2VlKWgoU2VjdGlvbilmKDQuMy4xKWgoW1RoZSllKFNldCloKEJ1aWx0aW5dLClpKHBhZ2UpZSg1MVwpLik2NgorYihcKHNlZSloKFNlY3Rpb24pZig0LjMuMSloKFtUaGUpZShTZXQpaChCdWlsdGluXSwpaShwYWdlKWUoNTRcKS4pNjYKIGIoVGhlKTM4IGIoYClwIEZzKD58KXAgRnQoJyloKHJlZGlyZWN0aW9uKWcob3ApcyhlcmF0b3IpMzMwCiAzNjEyIHkobWEpbSh5KTMxIGIoYilzKGUpZih1c2VkKWYodG8paShvKW0odiltKGVycmlkZSloCiBGcyhub2Nsb2JiZXIpcCBGdCguKTIyNSAzNzU0IHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSkzNAogYihCYXNoKWcgRnMoY2QpZyBGdChhbmQpZiBGcyhwd2QpZyBGdChidWlsdGlucyloKFwoc2VlKWgoU2VjdGlvbilnKDQuMSkKLWcoW0JvdXJuZSlnKFNoZWxsKWYoQnVpbHRpbnNdLCloKHBhZ2UpZygzNVwpKWgoZWFjKW0oaCkzMzAKK2coW0JvdXJuZSlnKFNoZWxsKWYoQnVpbHRpbnNdLCloKHBhZ2UpZygzN1wpKWgoZWFjKW0oaCkzMzAKIDM4NjQgeSh0YWspbShlKWMoYClwIEZzKC1MKXAgRnQoJyllKGFuZClnKGApcCBGcygtUClwCiBGdCgnKWcob3B0aW9ucyloKHRvKWcoc3dpdGMpbShoKWcoYilzKGV0KW0odyltKGVlbilnKGxvZ2ljYWwpaShhbmQpYwogKHBoKW0oeXNpY2FsKWkobW8pcyhkZXMuKTIyNSA0MDA2IHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMjUKQEAgLTE0MjEzLDI2ICsxNDQ5OSwyNiBAQAogNDExNSB5KHRoYXQpMzQgYihidWlsdGluJ3MpZihmdW5jdGlvbmFsaXQpbSh5KWgod2l0aGluKWYodGhlKWcKIChmdW5jdGlvbilnKHZpYSloKHRoZSlmIEZzKGJ1aWx0aW4pZiBGdChhbmQpZyBGcyhjb21tYW5kKWcKIEZ0KGJ1aWx0aW5zKTMzMCA0MjI1IHkoXChzZWUpZihTZWN0aW9uKWgoNC4yKWYoW0Jhc2gpZyhCdWlsdGluc10sKWcKLShwYWdlKWcoNDFcKS4pMjI1IDQzNjcgeSBGcChcMDE3KTYwIGIgRnQoVGhlKTM1IGIgRnMoY29tbWFuZCllCisocGFnZSlnKDQzXCkuKTIyNSA0MzY3IHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSkzNSBiIEZzKGNvbW1hbmQpZQogRnQoYnVpbHRpbilpKGFsbG8pbSh3cylpKHNlbGVjdGl2KW0oZSloKGRpc2FibGluZyllKG9mKWYoZnVuY3Rpb25zKWcKICh3aGVuKWcoY29tbWFuZClnKGxvKXMob2t1cClnKGlzKTMzMCA0NDc2IHkocClzKGVyZm9ybWVkKTI5Ci1iKFwoc2VlKWkoU2VjdGlvbilnKDQuMiloKFtCYXNoKWYoQnVpbHRpbnNdLClnKHBhZ2UpZyg0MVwpLikyMjUKK2IoXChzZWUpaShTZWN0aW9uKWcoNC4yKWgoW0Jhc2gpZihCdWlsdGluc10sKWcocGFnZSlnKDQzXCkuKTIyNQogNDYxOCB5IEZwKFwwMTcpNjAgYiBGdChJbmRpdmlkdWFsKTIzIGIoYnVpbHRpbnMpZyhtYSltKHkpaShiKXMoZSllCiAoZW5hYmxlZCloKG9yKWcoZGlzYWJsZWQpZyh1c2luZylmKHRoZSloIEZzKGVuYWJsZSlmCiBGdChidWlsdGluKWcoXChzZWUpaShTZWN0aW9uKWcoNC4yKTMzMCA0NzI4IHkoW0Jhc2gpMzEKLWIoQnVpbHRpbnNdLClnKHBhZ2UpZyg0MVwpLikyMjUgNDg2OSB5IEZwKFwwMTcpNjAgYiBGdChUaGUpMjYKK2IoQnVpbHRpbnNdLClnKHBhZ2UpZyg0M1wpLikyMjUgNDg2OSB5IEZwKFwwMTcpNjAgYiBGdChUaGUpMjYKIGIoQmFzaCloIEZzKGV4ZWMpZSBGdChidWlsdGluKWgodGFrKW0oZXMpaShhZGRpdGlvbmFsKWYob3B0aW9ucylnKHRoYXQpCiBnKGFsbG8pbSh3KWgodXNlcnMpZCh0bylqKGNvbiltKHRyb2wpZyh0aGUpZShjb24pbSh0ZW4pbSh0cykzMzAKIDQ5NzkgeShvZikzNSBiKHRoZSlmKGVuKW0odmlyb25tZW4pbSh0KWgocGFzc2VkKWYodG8paCh0aGUpZyhleGVjdXRlZClnCiAoY29tbWFuZCwpaChhbmQpZCh3aGF0KWkodGhlKWYoemVyb3RoKWgoYXJndW1lbiltKHQpMzMwCiA1MDg5IHkodG8pYyh0aGUpZyhjb21tYW5kKWYoaXMpZyh0byloKGIpcyhlKWYoXChzZWUpaChTZWN0aW9uKWgoNC4xKWYKLShbQm91cm5lKWYoU2hlbGwpaChCdWlsdGluc10sKWcocGFnZSlnKDM1XCkuKTIyNSA1MjMwCisoW0JvdXJuZSlmKFNoZWxsKWgoQnVpbHRpbnNdLClnKHBhZ2UpZygzN1wpLikyMjUgNTIzMAogeSBGcChcMDE3KTYwIGIgRnQoU2hlbGwpMjkgYihmdW5jdGlvbnMpZyhtYSltKHkpaChiKXMoZSlmKGV4cClzKG9ydGVkKWcKICh0byloKGMpbShoaWxkcmVuKWYodmlhKWgodGhlKWcoZW4pbSh2aXJvbm1lbiltKHQpZyh1c2luZylmCiBGcyhleHBvcnQpZigtZiloIEZ0KFwoc2VlKTMzMCA1MzQwIHkoU2VjdGlvbilpKDMuMyloKFtTaGVsbCllKEYpLTgKLWIodW5jdGlvbnNdLCkzMiBiKHBhZ2UpZigxNFwpLilwIGVvcCBlbmQKLSUlUGFnZTogMTQwIDE0NgotVGVYRGljdCBiZWdpbiAxNDAgMTQ1IGJvcCAxNTAgLTExNiBhIEZ0KDE0MCkyNTI3IGIoQmFzaCkzMQorYih1bmN0aW9uc10sKTMyIGIocGFnZSlmKDE1XCkuKXAgZW9wIGVuZAorJSVQYWdlOiAxNDQgMTUwCitUZVhEaWN0IGJlZ2luIDE0NCAxNDkgYm9wIDE1MCAtMTE2IGEgRnQoMTQ0KTI1MjcgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkyMjUgMjk5IHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSkzNwogYihCYXNoKWcgRnMoZXhwb3J0KXAgRnQoLCloIEZzKHJlYWRvbmx5KXAgRnQoLClmKGFuZClmCiBGcyhkZWNsYXJlKWcgRnQoYnVpbHRpbnMpaChjYW4pZyh0YWspbShlKWkoYSlmKGApcCBGcygtZilwCkBAIC0xNDI0OSwxNSArMTQ1MzUsMTUgQEAKIChhbiloKGFyYml0cmFyeSlmKFwwMTRsZW5hbWUsKTMzMCA4NzQgeShldiltKGVuKTMwIGIod2hlbillKHRoYXQpaAogKFwwMTRsZW5hbWUpZyhjYW5ub3QpaChiKXMoZSllKGZvdW5kKWcoYiltKHkpaChzZWFyYyltKGhpbmcpZyh0aGUpZwogRnMoJFBBVEgpcCBGdCgsKWcodXNpbmcpZihgKXAgRnMoaGFzaCloKC1wKXAgRnQoJylnKFwoc2VlKTMzMAotOTg0IHkoU2VjdGlvbilpKDQuMSloKFtCb3VybmUpZShTaGVsbClnKEJ1aWx0aW5zXSwpaChwYWdlKWgoMzVcKS4pMjI1Cis5ODQgeShTZWN0aW9uKWkoNC4xKWgoW0JvdXJuZSllKFNoZWxsKWcoQnVpbHRpbnNdLCloKHBhZ2UpaCgzN1wpLikyMjUKIDExMjEgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkyNyBiKGluY2x1ZGVzKWYoYSlpIEZzKGhlbHApZAogRnQoYnVpbHRpbilpKGZvcilmKHF1aWMpbShrKWgocmVmZXJlbmNlKWgodG8pZihzaGVsbClnKGZhY2lsaXRpZXMpaQotKFwoc2VlKWYoU2VjdGlvbilnKDQuMilnKFtCYXNoKTMzMCAxMjMwIHkoQnVpbHRpbnNdLClqKHBhZ2UpZyg0MVwpLikyMjUKKyhcKHNlZSlmKFNlY3Rpb24pZyg0LjIpZyhbQmFzaCkzMzAgMTIzMCB5KEJ1aWx0aW5zXSwpaihwYWdlKWcoNDNcKS4pMjI1CiAxMzY3IHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSk0MiBiIEZzKHByaW50ZilnIEZ0KGJ1aWx0aW4pZyhpcyloKGEpbSh2KS01CiBiKGFpbGFibGUpNDUgYih0bylmKGRpc3BsYSltKHkpZihmb3JtYXR0ZWQpZyhvdXRwdXQpZyhcKHNlZSloKFNlY3Rpb24pZwotKDQuMilnKFtCYXNoKTMzMCAxNDc3IHkoQnVpbHRpbnNdLCkzMSBiKHBhZ2UpZyg0MVwpLikyMjUKKyg0LjIpZyhbQmFzaCkzMzAgMTQ3NyB5KEJ1aWx0aW5zXSwpMzEgYihwYWdlKWcoNDNcKS4pMjI1CiAxNjE0IHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSkyNiBiKEJhc2gpaCBGcyhyZWFkKWYgRnQoYnVpbHRpbilnKFwoc2VlKWkKLShTZWN0aW9uKWcoNC4yKWcoW0Jhc2gpZihCdWlsdGluc10sKWgocGFnZSlnKDQxXCkpZyh3aWxsKWYocmVhZClnKGEpZworKFNlY3Rpb24pZyg0LjIpZyhbQmFzaClmKEJ1aWx0aW5zXSwpaChwYWdlKWcoNDNcKSlnKHdpbGwpZihyZWFkKWcoYSlnCiAobGluZSlnKGVuZGluZykzMzAgMTcyNCB5KGluKWYoYClwIEZzKFxcKXAgRnQoJyloKHdpdGgpZih0aGUpZyhgKXAKIEZzKC1yKXAgRnQoJyloKG9wdGlvbiwpaChhbmQpZCh3aWxsKWkodXNlKWYodGhlKWggRnMoUkVQTFkpZQogRnQodiktNSBiKGFyaWFibGUpMjcgYihhcylnKGEpZihkZWZhdWx0KWgoaWYpZihubyloKG5vbi1vcHRpb24pMzMwCkBAIC0xNDI4MCwyMyArMTQ1NjYsMjMgQEAKIDI2MjggeSBGcChcMDE3KTYwIGIgRnQoVGhlKTMzIGIgRnMocmV0dXJuKWUgRnQoYnVpbHRpbilpKG1hKW0oeSlnKGIpcwogKGUpZyh1c2VkKWYodG8paShhYilzKG9ydClmKGV4ZWN1dGlvbiloKG9mKWYoc2NyaXB0cylnKGV4ZWN1dGVkKWgod2l0aCkKIGYodGhlKWcgRnMoLilnIEZ0KG9yKTMzMCAyNzM3IHkgRnMoc291cmNlKWMgRnQoYnVpbHRpbnMpZyhcKHNlZSlqCi0oU2VjdGlvbilmKDQuMSlnKFtCb3VybmUpZyhTaGVsbClmKEJ1aWx0aW5zXSwpaChwYWdlKWcoMzVcKS4pMjI1CisoU2VjdGlvbilmKDQuMSlnKFtCb3VybmUpZyhTaGVsbClmKEJ1aWx0aW5zXSwpaChwYWdlKWcoMzdcKS4pMjI1CiAyODc0IHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpNDMgYihpbmNsdWRlcylnKHRoZSlnIEZzKHNob3B0KWYKIEZ0KGJ1aWx0aW4sKWsoZm9yKWQoXDAxNG5lcilmKGNvbiltKHRyb2wpaihvZillKHNoZWxsKWgob3B0aW9uYWwpZwogKGNhcGFiaWxpdGllcyloKFwoc2VlKTMzMCAyOTg0IHkoU2VjdGlvbiljKDQuMy4yKWcoW1RoZSlmKFNob3B0KWYKLShCdWlsdGluXSwpayhwYWdlKWQoNTVcKSwpayhhbmQpMzkgYihhbGxvKW0od3MpaSh0aGVzZSlmKG9wdGlvbnMpaCh0bylmCisoQnVpbHRpbl0sKWsocGFnZSlkKDU3XCksKWsoYW5kKTM5IGIoYWxsbyltKHdzKWkodGhlc2UpZihvcHRpb25zKWgodG8pZgogKGIpcyhlKWYoc2V0KWkoYW5kKTMzMCAzMDkzIHkodW5zZXQpMzAgYihhdCloKHNoZWxsKWcoaW4pbSh2KW0obylzCiAoY2F0aW9uKWgoXChzZWUpZihTZWN0aW9uKWgoNi4xKWYoW0luKW0odiltKG9raW5nKWcoQmFzaF0sKWcocGFnZSloCi0oNzFcKS4pMjI1IDMyMzAgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCk0NSBiKGhhcylmKG0pbSh1YyltKGgpZyhtb3JlKWgKKyg3M1wpLikyMjUgMzIzMCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTQ1IGIoaGFzKWYobSltKHVjKW0oaClnKG1vcmUpaAogKG9wdGlvbmFsKWgoYilzKGVoYSltKHZpb3IpZShjb24pbSh0cm9sbGFibGUpaih3aXRoKWUodGhlKWYKIEZzKHNldClnIEZ0KGJ1aWx0aW4pZyhcKHNlZSloKFNlYy0pMzMwIDMzNDAgeSh0aW9uKTMxCi1iKDQuMy4xKWgoW1RoZSllKFNldCloKEJ1aWx0aW5dLClnKHBhZ2UpZyg1MVwpLikyMjUgMzQ3NworYig0LjMuMSloKFtUaGUpZShTZXQpaChCdWlsdGluXSwpZyhwYWdlKWcoNTRcKS4pMjI1IDM0NzcKIHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSkzMSBiKGApcCBGcygteClwIEZ0KCcpZyhcKClwIEZzKHh0cmFjZSlwCiBGdChcKSlnKG9wdGlvbiloKGRpc3BsYSltKHlzKWYoY29tbWFuZHMpaChvdGhlcilmKHRoYW4paChzaW1wbGUpZgogKGNvbW1hbmRzKWcod2hlbilnKHApcyhlci0pMzMwIDM1ODcgeShmb3JtaW5nKWYoYW4pZyhleGVjdXRpb24paSh0cmFjZSkKLWYoXChzZWUpaChTZWN0aW9uKWYoNC4zLjEpaChbVGhlKWUoU2V0KWgoQnVpbHRpbl0sKWcocGFnZSlnKDUxXCkuKTIyNQorZihcKHNlZSloKFNlY3Rpb24pZig0LjMuMSloKFtUaGUpZShTZXQpaChCdWlsdGluXSwpZyhwYWdlKWcoNTRcKS4pMjI1CiAzNzI0IHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSkyOCBiIEZzKHRlc3QpZyBGdChidWlsdGluKWgoXChzZWUpaChTZWN0aW9uKQotZig0LjEpaChbQm91cm5lKWYoU2hlbGwpZyhCdWlsdGluc10sKWgocGFnZSlnKDM1XCkpZyhpcylmKHNsaWdoKW0odGx5KWgKK2YoNC4xKWgoW0JvdXJuZSlmKFNoZWxsKWcoQnVpbHRpbnNdLCloKHBhZ2UpZygzN1wpKWcoaXMpZihzbGlnaCltKHRseSloCiAoZGlcMDEzZXJlbiltKHQsKTMzMCAzODMzIHkoYXMpMjMgYihpdClnKGltcGxlbWVuKW0odHMpZih0aGUpaAogRmwocG9zaXgpZiBGdChhbGdvcml0aG0sKWood2hpYyltKGgpZChzcClzKGVjaVwwMTRlcylnKHRoZSloKGIpcyhlaGEpbQogKHZpb3IpZihiYXNlZClnKG9uKWgodGhlKWYobiltKHVtKW0oYilzKGVyKTMzMCAzOTQzIHkob2YpMzEKQEAgLTE0MzA3LDcgKzE0NTkzLDcgQEAKIEZzKC4pZiBGdChvcilnIEZzKHNvdXJjZSlmIEZ0KGJ1aWx0aW5zXCkuKTM5IGIoVGhpcykyNgogYihzdXBwKXMob3J0cykzMzAgNDI5OSB5KHRoZSkzMSBiKGJhc2gpZShkZWJ1Z2dlci4pMjI1CiA0NDM2IHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSk0MiBiIEZzKHRyYXApZiBGdChidWlsdGluKWgoXChzZWUpaShTZWN0aW9uKQotZig0LjEpaChbQm91cm5lKWUoU2hlbGwpZyhCdWlsdGluc10sKTQ3IGIocGFnZSljKDM1XCkpaChhbGxvKW0od3MpZyhhKWUKK2YoNC4xKWgoW0JvdXJuZSllKFNoZWxsKWcoQnVpbHRpbnNdLCk0NyBiKHBhZ2UpYygzN1wpKWgoYWxsbyltKHdzKWcoYSllCiBGcyhERUJVRykzMzAgNDU0NSB5IEZ0KHBzZXVkby1zaWduYWwpYyhzcClzKGVjaVwwMTRjYXRpb24sKWkoc2ltaWxhcillCiAodG8pZyBGcyhFWElUKXAgRnQoLik2MiBiKENvbW1hbmRzKTM2IGIoc3ApcyhlY2lcMDE0ZWQpaCh3aXRoKWcoYSloCiBGcyhERUJVRyllIEZ0KHRyYXApMzMwIDQ2NTUgeShhcmUpayhleGVjdXRlZClnKGIpcyhlZm9yZSlmKGV2KW0oZXJ5KWgKQEAgLTE0MzIzLDIwICsxNDYwOSwyMCBAQAogRnMoZXh0ZGVidWcpZiBGdChzaGVsbClpKG9wdGlvbilnKGhhcylmKGFkZGl0aW9uYWwpaChlXDAxM2VjdHMpaChvbilmCiAodGhlKWcgRnMoREVCVUcpZSBGdCh0cmFwLikzMzAgNTIzMCB5KFRoZSkyMSBiIEZzKHRyYXApZQogRnQoYnVpbHRpbilpKFwoc2VlKWgoU2VjdGlvbilnKDQuMSlnKFtCb3VybmUpZihTaGVsbClnKEJ1aWx0aW5zXSwpagotKHBhZ2UpZSgzNVwpKWcoYWxsbyltKHdzKWcoYW4pZiBGcyhFUlIpZiBGdChwc2V1ZG8tKTMzMAorKHBhZ2UpZSgzN1wpKWcoYWxsbyltKHdzKWcoYW4pZiBGcyhFUlIpZiBGdChwc2V1ZG8tKTMzMAogNTM0MCB5KHNpZ25hbCkzMCBiKHNwKXMoZWNpXDAxNGNhdGlvbiwpaChzaW1pbGFyKWYodG8pZwogRnMoRVhJVClmIEZ0KGFuZClnIEZzKERFQlVHKXAgRnQoLikzOSBiKENvbW1hbmRzKTI4IGIoc3ApcyhlY2lcMDE0ZWQpaAogKHdpdGgpZyhhbilnIEZzKEVSUilnIEZ0KHRyYXApcCBlb3AgZW5kCi0lJVBhZ2U6IDE0MSAxNDcKLVRlWERpY3QgYmVnaW4gMTQxIDE0NiBib3AgMTUwIC0xMTYgYSBGdChBcHApcyhlbmRpeCkyOQorJSVQYWdlOiAxNDUgMTUxCitUZVhEaWN0IGJlZ2luIDE0NSAxNTAgYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKIGIoQjopaShNYSk1IGIoam9yKTMxIGIoRGlcMDEzZXJlbmNlcylnKEYpLTggYihyb20pMzEKLWIoVGhlKWYoQm91cm5lKWcoU2hlbGwpMTI1OCBiKDE0MSkzMzAgMjk5IHkoYXJlKTQwIGIoZXhlY3V0ZWQpZyhhZnRlcilnCitiKFRoZSlmKEJvdXJuZSlnKFNoZWxsKTEyNTggYigxNDUpMzMwIDI5OSB5KGFyZSk0MCBiKGV4ZWN1dGVkKWcoYWZ0ZXIpZwogKGEpZihzaW1wbGUpaChjb21tYW5kKWYoZmFpbHMsKWood2l0aClkKGEpaChmZXcpZihleGNlcHRpb25zLik2OAogYihUaGUpMzkgYiBGcyhFUlIpZyBGdCh0cmFwKWcoaXMpMzMwIDQwOCB5KG5vdClnKGluaGVyaXRlZClmKGIpbSh5KWgKIChzaGVsbClnKGZ1bmN0aW9ucylmKHVubGVzcylnKHRoZSloIEZzKC1vKTI5IGIoZXJydHJhY2UpMzcKIGIgRnQob3B0aW9uKWkodG8pZyh0aGUpZyBGcyhzZXQpZiBGdChidWlsdGluKWcoaXMpMzMwCiA1MTggeShlbmFibGVkLikzMzAgNjUwIHkoVGhlKWcgRnModHJhcClnIEZ0KGJ1aWx0aW4paChcKHNlZSlnKFNlY3Rpb24paAotKDQuMSlnKFtCb3VybmUpZihTaGVsbClnKEJ1aWx0aW5zXSwpaShwYWdlKWYoMzVcKSlnKGFsbG8pbSh3cylnKGEpZworKDQuMSlnKFtCb3VybmUpZihTaGVsbClnKEJ1aWx0aW5zXSwpaShwYWdlKWYoMzdcKSlnKGFsbG8pbSh3cylnKGEpZwogRnMoUkVUVVJOKTMzMCA3NjAgeSBGdChwc2V1ZG8tc2lnbmFsKTM1IGIoc3ApcyhlY2lcMDE0Y2F0aW9uLClqCiAoc2ltaWxhcilkKHRvKWggRnMoRVhJVCllIEZ0KGFuZClnIEZzKERFQlVHKXAgRnQoLik1NAogYihDb21tYW5kcykzNCBiKHNwKXMoZWNpXDAxNGVkKWcod2l0aCloKGFuKTMzMCA4NjkgeQpAQCAtMTQzNTEsMzAgKzE0NjM3LDMwIEBACiBiIEZ0KFRoZSkzMCBiKEJhc2gpZyBGcyh0eXBlKWYgRnQoYnVpbHRpbiloKGlzKWcobW9yZSlnKGV4dGVuc2l2KW0oZSlpCiAoYW5kKWQoZ2l2KW0oZXMpaihtb3JlKWUoaW5mb3JtYXRpb24paChhYilzKG91dClmKHRoZSlnKG5hbWVzKTMzMAogMTQ0MCB5KGl0KWgoXDAxNG5kcyllKFwoc2VlKWkoU2VjdGlvbilnKDQuMiloKFtCYXNoKWUoQnVpbHRpbnNdLClpCi0ocGFnZSlmKDQxXCkuKTIyNSAxNTcxIHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSkzNCBiKEJhc2gpaAorKHBhZ2UpZig0M1wpLikyMjUgMTU3MSB5IEZwKFwwMTcpNjAgYiBGdChUaGUpMzQgYihCYXNoKWgKIEZzKHVtYXNrKWUgRnQoYnVpbHRpbiloKHApcyhlcm1pdHMpZyhhKWcoYClwIEZzKC1wKXAKIEZ0KCcpaChvcHRpb24pZyh0bylnKGNhdXNlKWcodGhlKWcob3V0cHV0KWYodG8paChiKXMoZSlmKGRpc3BsYSltKHkpbQogKGVkKWgoaW4pMzMwIDE2ODEgeSh0aGUpZyhmb3JtKWcob2YpZyhhKWggRnModW1hc2spZQogRnQoY29tbWFuZCloKHRoYXQpZyhtYSltKHkpaChiKXMoZSlmKHJldXNlZClmKGFzKWgoaW5wdXQpZyhcKHNlZSloCiAoU2VjdGlvbilnKDQuMSlnKFtCb3VybmUpMzMwIDE3OTEgeShTaGVsbCkzMCBiKEJ1aWx0aW5zXSwpaChwYWdlKWgKLSgzNVwpLikyMjUgMTkyMyB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTM0IGIoaW1wbGVtZW4pbSh0cyloKGEpZworKDM3XCkuKTIyNSAxOTIzIHkgRnAoXDAxNyk2MCBiIEZ0KEJhc2gpMzQgYihpbXBsZW1lbiltKHRzKWgoYSlnCiBGcyhjc2gpcCBGdCgtbGlrKW0oZSlnKGRpcmVjdG9yeSlmKHN0YWMpbShrLClqKGFuZClkKHBybyltKHZpZGVzKWcodGhlKQogZyBGcyhwdXNoZClwIEZ0KCwpZyBGcyhwb3BkKXAgRnQoLClnKGFuZClnIEZzKGRpcnMpMzMwCiAyMDMyIHkgRnQoYnVpbHRpbnMpZyh0bylpKG1hbmlwdWxhdGUpZihpdCloKFwoc2VlKWYoU2VjdGlvbiloKDYuOClnCi0oW1RoZSlmKERpcmVjdG9yeSloKFN0YWMpbShrXSwpaShwYWdlKWQoODFcKS4pNTYgYihCYXNoKTM1CisoW1RoZSlmKERpcmVjdG9yeSloKFN0YWMpbShrXSwpaShwYWdlKWQoODNcKS4pNTYgYihCYXNoKTM1CiBiKGFsc28pMzMwIDIxNDIgeShtYWspbShlcyljKHRoZSlnKGRpcmVjdG9yeSlnKHN0YWMpbShrKWcodmlzaWJsZSlnKGFzKQogZyh0aGUpZih2KS01IGIoYWx1ZSkzMSBiKG9mKWcodGhlKWYgRnMoRElSU1RBQ0spZiBGdChzaGVsbCloKHYpLTUKIGIoYXJpYWJsZS4pMjI1IDIyNzQgeSBGcChcMDE3KTYwIGIgRnQoQmFzaCkyOCBiKGluKW0odGVycHJldHMpaChzcClzCiAoZWNpYWwpZyhiYWMpbShrc2xhc2gtZXNjYXApcyhlZClnKGMpbShoYXJhY3RlcnMpZyhpbilmKHRoZSloKHByb21wdCllCiAoc3RyaW5ncyloKHdoZW4pZihpbiltKHRlci0pMzMwIDIzODMgeShhY3RpdiltKGUpMzMgYihcKHNlZSllKFNlY3Rpb24pZwotKDYuOSloKFtQcmluKW0odGluZyllKGEpaChQcm9tcHRdLClnKHBhZ2UpZyg4MlwpLikyMjUKKyg2LjkpaChbUHJpbiltKHRpbmcpZShhKWgoUHJvbXB0XSwpZyhwYWdlKWcoODRcKS4pMjI1CiAyNTE1IHkgRnAoXDAxNyk2MCBiIEZ0KFRoZSk0NiBiKEJhc2gpaChyZXN0cmljdGVkKWcobW8pcyhkZSlmKGlzKWgKIChtb3JlKWYodXNlZnVsKWcoXChzZWUpaChTZWN0aW9uKWgoNi4xMClnKFtUaGUpZShSZXN0cmljdGVkKWkoU2hlbGxdLCkKLTMzMCAyNjI1IHkocGFnZSkzMSBiKDg0XCk7KWgodGhlKWYoU1ZSNC4yKWcoc2hlbGwpZihyZXN0cmljdGVkKWgobW8pcworMzMwIDI2MjUgeShwYWdlKTMxIGIoODZcKTspaCh0aGUpZihTVlI0LjIpZyhzaGVsbClmKHJlc3RyaWN0ZWQpaChtbylzCiAoZGUpZihpcyloKHRvKXMobylnKGxpbWl0ZWQuKTIyNSAyNzU3IHkgRnAoXDAxNyk2MCBiCiBGdChUaGUpMzAgYiBGcyhkaXNvd24pZiBGdChidWlsdGluKWgoY2FuKWgocmVtbyltKHYpbShlKWgoYSlmKGpvYilmCiAoZnJvbSlnKHRoZSloKGluKW0odGVybmFsKWcoc2hlbGwpZyhqb2IpZih0YWJsZSlpKFwoc2VlKWYoU2VjdGlvbiloCi0oNy4yKTMzMCAyODY2IHkoW0pvYiloKENvbiltKHRyb2wpaChCdWlsdGluc10sKWcocGFnZSlnKDkwXCkpaChvcillCisoNy4yKTMzMCAyODY2IHkoW0pvYiloKENvbiltKHRyb2wpaChCdWlsdGluc10sKWcocGFnZSlnKDkyXCkpaChvcillCiAoc3VwcHJlc3MpZSh0aGUpaShzZW5kaW5nKWcob2YpZyBGcyhTSUdIVVApZSBGdCh0bylqKGEpZyhqb2IpZih3aGVuKWYKICh0aGUpMzMwIDI5NzYgeShzaGVsbClmKGV4aXRzKWcoYXMpZih0aGUpaChyZXN1bHQpZihvZiloKGEpZgogRnMoU0lHSFVQKXAgRnQoLikyMjUgMzEwOCB5IEZwKFwwMTcpNjAgYiBGdChCYXNoKTMxIGIoaW5jbHVkZXMpZihhKWcobikKQEAgLTE0MzkxLDcgKzE0Njc3LDcgQEAKIEZzKFRJTUVPVVQpZiBGdCh2KS01IGIoYXJpYWJsZSkzMSBiKGxpayltKGUpaChCYXNoKWUodXNlcylnCiBGcyhUTU9VVClwIEZ0KC4pMTUwIDM5MDAgeShNb3JlKWgoZmVhdHVyZXMpZyh1bmlxdWUpZSh0bylpKEJhc2gpZyhtYSltCiAoeSlnKGIpcyhlKWYoZm91bmQpZihpbiloKENoYXB0ZXIpZig2KWkoW0Jhc2gpZyhGKS04Ci1iKGVhdHVyZXNdLCkzMiBiKHBhZ2UpZig3MS4pMTUwIDQxMjcgeSBGcihCLjEpNjcgYihJbXBsZW1lbilsKHRhdGlvbik0OAorYihlYXR1cmVzXSwpMzIgYihwYWdlKWYoNzMuKTE1MCA0MTI3IHkgRnIoQi4xKTY3IGIoSW1wbGVtZW4pbCh0YXRpb24pNDgKIGIoRGlcMDEzZXJlbmNlcyllKEYpLTExIGIocm9tKTQ0IGIoVGhlKWgoU1ZSNC4yKWcoU2hlbGwpMTUwCiA0Mjg3IHkgRnQoU2luY2UpMzMgYihCYXNoKWgoaXMpZihhKWcoY29tcGxldGVseSlpKG5ldyllKGltcGxlbWVuKW0KICh0YXRpb24sKWooaXQpZShkbylzKGVzKWUobm90KWkoc3VcMDEzZXIpZShmcm9tKWgobWFuKW0oeSlnKG9mKWgodGhlKWYKQEAgLTE0NDEyLDggKzE0Njk4LDggQEAKICh3aXRoKWcgRnMoU0lHU0VHVillIEZ0KGJsbylzKGMpbShrKW0oZWQpayhcKGUuZy4sKWgoYiltKHkpZCh1c2luZykzMzAKIDUzNDAgeSh0aGUpMzEgYiBGcyhzeXN0ZW1cKFwpKWQgRnQoQylpKGxpYnJhcnkpZyhmdW5jdGlvbilnKGNhbGxcKSwpaQogKGl0KWYobWlzYilzKGVoYSltKHYpbShlcylnKGJhZGx5KS04IGIoLilwIGVvcCBlbmQKLSUlUGFnZTogMTQyIDE0OAotVGVYRGljdCBiZWdpbiAxNDIgMTQ3IGJvcCAxNTAgLTExNiBhIEZ0KDE0MikyNTI3IGIoQmFzaCkzMQorJSVQYWdlOiAxNDYgMTUyCitUZVhEaWN0IGJlZ2luIDE0NiAxNTEgYm9wIDE1MCAtMTE2IGEgRnQoMTQ2KTI1MjcgYihCYXNoKTMxCiBiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkyMjUgMjk5IHkgRnAoXDAxNyk2MCBiIEZ0KEluKTI2CiBiKGEpaShxdWVzdGlvbmFibGUpZyhhdHRlbXB0KWgoYXQpZihzZWN1cml0KW0oeSktOCBiKCwpMjkKIGIodGhlKWUoU1ZSNC4yKWgoc2hlbGwsKWcod2hlbilmKGluKW0odiltKG9rKW0oZWQpaCh3aXRob3V0KWcodGhlKWYoYClwCkBAIC0xNDQ0NSwxMCArMTQ3MzEsMTAgQEAKIGIgRnQoVGhlKTMwIGIoU1ZSNC4yKWgoc2hlbGwpZyhiKXMoZWhhKW0odiltKGVzKWYoZGlcMDEzZXJlbiltKHRseSloCiAod2hlbilmKGluKW0odiltKG9rKW0oZWQpaShhcyllIEZzKGpzaClnIEZ0KFwoaXQpaCh0dXJucyllKG9uKWgoam9iKWcKIChjb24pbSh0cm9sXCkuKXAgZW9wIGVuZAotJSVQYWdlOiAxNDMgMTQ5Ci1UZVhEaWN0IGJlZ2luIDE0MyAxNDggYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKKyUlUGFnZTogMTQ3IDE1MworVGVYRGljdCBiZWdpbiAxNDcgMTUyIGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5CiBiKEM6KWgoR05VKWgoRiktOCBiKHJlZSkzMSBiKERvKXMoY3VtZW4pbSh0YXRpb24paShMaWNlbnNlKTE1NjAKLWIoMTQzKTE1MCAyOTkgeSBGbyhBcHApdChlbmRpeCk1MiBiKEMpODEgYihHTlUpNTQgYihGKS0xMworYigxNDcpMTUwIDI5OSB5IEZvKEFwcCl0KGVuZGl4KTUyIGIoQyk4MSBiKEdOVSk1NCBiKEYpLTEzCiBiKHJlZSk1MyBiKERvKXQoY3VtZW4pbCh0YXRpb24pZShMaWNlbnNlKTEzNTkgNTAyIHkgRnQoViktOAogYihlcnNpb24pMzEgYigxLjMsKWcoMylnKE5vKW0odiltKGVtKW0oYilzKGVyKWgoMjAwOCkzOTAKIDYzNSB5KENvcCltKHlyaWdoKW0odCk4NDIgNjMyIHkoYyk4MTcgNjM1IHkgRnAoXDAxNSllCkBAIC0xNDUyOSw4ICsxNDgxNSw4IEBACiA1MzQwIHkoYilzKGVpbmcpZSh0aG9zZSloKG9mKWcoSW4pbSh2KS01IGIoYXJpYW4pbSh0KTI3CiBiKFNlY3Rpb25zLClpKGluKWQodGhlKWgobm90aWNlKWgodGhhdClmKHNhKW0oeXMpZyh0aGF0KWcodGhlKWcoRG8pcwogKGN1bWVuKW0odClnKGlzKWcocmVsZWFzZWQpcCBlb3AgZW5kCi0lJVBhZ2U6IDE0NCAxNTAKLVRlWERpY3QgYmVnaW4gMTQ0IDE0OSBib3AgMTUwIC0xMTYgYSBGdCgxNDQpMjUyNyBiKEJhc2gpMzEKKyUlUGFnZTogMTQ4IDE1NAorVGVYRGljdCBiZWdpbiAxNDggMTUzIGJvcCAxNTAgLTExNiBhIEZ0KDE0OCkyNTI3IGIoQmFzaCkzMQogYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMzMwIDI5OSB5KHVuZGVyKTI2IGIodGhpcylpKExpY2Vuc2UuKTQwCiBiKElmKTI3IGIoYSloKHNlY3Rpb24paChkbylzKGVzKWYobm90KWYoXDAxNHQpaCh0aGUpZyhhYilzKG8pbSh2KW0oZSloCiAoZGVcMDE0bml0aW9uKWUob2YpaChTZWNvbmRhcnkpZih0aGVuKWgoaXQpZyhpcykzMzAgNDA4CkBAIC0xNDYyMiwxMCArMTQ5MDgsMTAgQEAKIChhbmQpZihoYXMpaChubykzMzAgNTE4OSB5KGVcMDEzZWN0KTMyIGIob24pZSh0aGUpaChtZWFuaW5nKWYob2YpaAogKHRoaXMpZihMaWNlbnNlLikxOTkgNTM0MCB5KDIuKTYxIGIoVkVSQkEpLTggYihUSU0pMzEKIGIoQ09QWUlORylwIGVvcCBlbmQKLSUlUGFnZTogMTQ1IDE1MQotVGVYRGljdCBiZWdpbiAxNDUgMTUwIGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5CislJVBhZ2U6IDE0OSAxNTUKK1RlWERpY3QgYmVnaW4gMTQ5IDE1NCBib3AgMTUwIC0xMTYgYSBGdChBcHApcyhlbmRpeCkyOQogYihDOiloKEdOVSloKEYpLTggYihyZWUpMzEgYihEbylzKGN1bWVuKW0odGF0aW9uKWkoTGljZW5zZSkxNTYwCi1iKDE0NSkzMzAgMjk5IHkoWSktOCBiKG91KTM5IGIobWEpbSh5KWYoY29wKW0oeSloKGFuZCllKGRpc3RyaWJ1dGUpaAorYigxNDkpMzMwIDI5OSB5KFkpLTggYihvdSkzOSBiKG1hKW0oeSlmKGNvcCltKHkpaChhbmQpZShkaXN0cmlidXRlKWgKICh0aGUpZyhEbylzKGN1bWVuKW0odCloKGluKWYoYW4pbSh5KWcobWVkaXVtLCloKGVpdGhlcilnKGNvbW1lcmNpYWxseSloCiAob3IpMzMwIDQwOCB5KG5vbmNvbW1lcmNpYWxseSktOCBiKCwpNDggYihwcm8pbSh2aWRlZCk0MgogYih0aGF0KWgodGhpcylmKExpY2Vuc2UsKTQ3IGIodGhlKTQyIGIoY29wKW0oeXJpZ2gpbSh0KWkobm90aWNlcywpagpAQCAtMTQ3MTUsOCArMTUwMDEsOCBAQAogNTM0MCB5KERvKXMoY3VtZW4pbSh0LClqKGFuZClkKGZyb20pZyh0aG9zZSlpKG9mKWYocHJldmlvdXMpZih2KW0KIChlcnNpb25zKWgoXCh3aGljKW0oaClnKHNob3VsZCwpZyhpZilnKHRoZXJlKWcodyltKGVyZSlnKGFuKW0oeSktOAogYigsKXAgZW9wIGVuZAotJSVQYWdlOiAxNDYgMTUyCi1UZVhEaWN0IGJlZ2luIDE0NiAxNTEgYm9wIDE1MCAtMTE2IGEgRnQoMTQ2KTI1MjcgYihCYXNoKTMxCislJVBhZ2U6IDE1MCAxNTYKK1RlWERpY3QgYmVnaW4gMTUwIDE1NSBib3AgMTUwIC0xMTYgYSBGdCgxNTApMjUyNyBiKEJhc2gpMzEKIGIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTUxMCAyOTkgeShiKXMoZSlnKGxpc3RlZCloKGluKWYodGhlKWcoSGlzdG9yeSloCiAoc2VjdGlvbilnKG9mKWcodGhlKWYoRG8pcyhjdW1lbiltKHRcKS4pNDUgYihZKS04IGIob3UpMzIKIGIobWEpbSh5KWcodXNlKWYodGhlKWcoc2FtZSloKHRpdGxlKWgoYXMpNTEwIDQwOCB5KGEpZShwcmV2aW91cylmKHYpbQpAQCAtMTQ3OTcsMTAgKzE1MDgzLDEwIEBACiAoZGVzaWduYXRlKWgoc29tZSllKG9yKWgoYWxsKWcob2YpZih0aGVzZSloKHNlY3Rpb25zKWgoYXMpZShpbiltKHYpLTUKIGIoYXJpYW4pbSh0Lik0OCBiKFQpLTggYihvKTMzIGIoZG8pZih0aGlzLCloKGFkZClmKHRoZWlyKXAKIGVvcCBlbmQKLSUlUGFnZTogMTQ3IDE1MwotVGVYRGljdCBiZWdpbiAxNDcgMTUyIGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5CislJVBhZ2U6IDE1MSAxNTcKK1RlWERpY3QgYmVnaW4gMTUxIDE1NiBib3AgMTUwIC0xMTYgYSBGdChBcHApcyhlbmRpeCkyOQogYihDOiloKEdOVSloKEYpLTggYihyZWUpMzEgYihEbylzKGN1bWVuKW0odGF0aW9uKWkoTGljZW5zZSkxNTYwCi1iKDE0NykzMzAgMjk5IHkodGl0bGVzKTM3IGIodG8pZih0aGUpZihsaXN0KWgob2YpZyhJbiltKHYpLTUKK2IoMTUxKTMzMCAyOTkgeSh0aXRsZXMpMzcgYih0bylmKHRoZSlmKGxpc3QpaChvZilnKEluKW0odiktNQogYihhcmlhbiltKHQpMzYgYihTZWN0aW9ucylnKGluKWYodGhlKWgoTW8pcyhkaVwwMTRlZClmKFYpLTgKIGIoZXJzaW9uJ3MpMzYgYihsaWNlbnNlKWcobm90aWNlLik1NyBiKFRoZXNlKTMzMCA0MDgKIHkodGl0bGVzKTMyIGIobSltKHVzdCllKGIpcyhlKWcoZGlzdGluY3QpaChmcm9tKWUoYW4pbSh5KWkob3RoZXIpZwpAQCAtMTQ4ODUsOCArMTUxNzEsOCBAQAogNTIzMCB5KGRvKXMoY3VtZW4pbSh0LClkKGFuZClmKGZvbGxvKW0odylpKHRoaXMpZShMaWNlbnNlKWgoaW4pZyhhbGwpZwogKG90aGVyKWcocmVzcClzKGVjdHMpZihyZWdhcmRpbmcpaCh2KW0oZXJiYXRpbSlnKGNvcCltKHlpbmcpaChvZikzMzAKIDUzNDAgeSh0aGF0KWQoZG8pcyhjdW1lbiltKHQuKXAgZW9wIGVuZAotJSVQYWdlOiAxNDggMTU0Ci1UZVhEaWN0IGJlZ2luIDE0OCAxNTMgYm9wIDE1MCAtMTE2IGEgRnQoMTQ4KTI1MjcgYihCYXNoKTMxCislJVBhZ2U6IDE1MiAxNTgKK1RlWERpY3QgYmVnaW4gMTUyIDE1NyBib3AgMTUwIC0xMTYgYSBGdCgxNTIpMjUyNyBiKEJhc2gpMzEKIGIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE5OSAyOTkgeSg3Lik2MSBiKEEpbShHR1JFR0EpLTgKIGIoVElPTikzMiBiKFdJVEgpZShJTkRFUEVOREVOVCloKFcpbShPUktTKTMzMCA0NDEgeShBKWQoY29tcGlsYXRpb24paQogKG9mKWUodGhlKWcoRG8pcyhjdW1lbiltKHQpaChvcilmKGl0cylnKGRlcml2KS01IGIoYXRpdiltKGVzKTMwCkBAIC0xNDk3MywxMCArMTUyNTksMTAgQEAKIChyZWluc3RhdGVkLClpKHJlY2VpcHQpZihvZilmKGEpZyhjb3ApbSh5KWgob2YpZihzb21lKWgob3IpZihhbGwpaChvZilmCiAodGhlKTMzMCA1MzQwIHkoc2FtZSkzMSBiKG1hdGVyaWFsKWgoZG8pcyhlcyllKG5vdClnKGdpdiltKGUpaSh5KW0ob3UpZgogKGFuKW0oeSlnKHJpZ2gpbSh0cylmKHRvKWkodXNlKWUoaXQuKXAgZW9wIGVuZAotJSVQYWdlOiAxNDkgMTU1Ci1UZVhEaWN0IGJlZ2luIDE0OSAxNTQgYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKKyUlUGFnZTogMTUzIDE1OQorVGVYRGljdCBiZWdpbiAxNTMgMTU4IGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5CiBiKEM6KWgoR05VKWgoRiktOCBiKHJlZSkzMSBiKERvKXMoY3VtZW4pbSh0YXRpb24paShMaWNlbnNlKTE1NjAKLWIoMTQ5KTE1NCAyOTkgeSgxMC4pNjEgYihGVVRVUkUpMzAgYihSRVZJU0lPTlMpZihPRilpKFRISVMpZShMSUNFTlNFKQorYigxNTMpMTU0IDI5OSB5KDEwLik2MSBiKEZVVFVSRSkzMCBiKFJFVklTSU9OUylmKE9GKWkoVEhJUyllKExJQ0VOU0UpCiAzMzAgNDMzIHkoVGhlKTQxIGIoRiktOCBiKHJlZSk0MyBiKFNvZnQpbSh3KW0oYXJlKWYoRiktOAogYihvdW5kYXRpb24pNDMgYihtYSltKHkpZihwdWJsaXNoKWUobmV3LClrKHJldmlzZWQpZCh2KW0oZXJzaW9ucyloKG9mKWcKICh0aGUpZyhHTlUpZyhGKS04IGIocmVlKTMzMCA1NDMgeShEbylzKGN1bWVuKW0odGF0aW9uKTM0CkBAIC0xNTA0MCw4ICsxNTMyNiw4IEBACiBnKHVuZGVyKTMzMCAzODk1IHkoQ0MtQlktU0EpMzAgYihvbilnKHRoZSloKHNhbWUpZihzaXRlKWgoYXQpZyhhbiltKHkpZwogKHRpbWUpZyhiKXMoZWZvcmUpZShBdWd1c3QpaCgxLCloKDIwMDksKWgocHJvKW0odmlkZWQpZSh0aGUpZyhNTUMpaChpcykKIDMzMCA0MDA1IHkoZWxpZ2libGUpaChmb3IpZShyZWxpY2Vuc2luZy4pcCBlb3AgZW5kCi0lJVBhZ2U6IDE1MCAxNTYKLVRlWERpY3QgYmVnaW4gMTUwIDE1NSBib3AgMTUwIC0xMTYgYSBGdCgxNTApMjUyNyBiKEJhc2gpMzEKKyUlUGFnZTogMTU0IDE2MAorVGVYRGljdCBiZWdpbiAxNTQgMTU5IGJvcCAxNTAgLTExNiBhIEZ0KDE1NCkyNTI3IGIoQmFzaCkzMQogYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZyKEFEREVORFVNOik0NSBiKEhvKWwodyloKHRvKWYodXNlKWcKICh0aGlzKWgoTGljZW5zZSlmKGZvcilnKHkpbChvdXIpZyhkbyl0KGN1bWVuKWwodHMpMTUwCiA0NTggeSBGdChUKS04IGIobykzNSBiKHVzZSlmKHRoaXMpaChMaWNlbnNlKWcoaW4pZihhKWgoZG8pcyhjdW1lbiltKHQpZwpAQCAtMTUwNzgsMjAwICsxNTM2NCwyMDAgQEAKIGIoYXMpZyh0aGUpZyhHTlUpMTUwIDIzMzEgeShHZW5lcmFsKTMxIGIoUHVibGljKWYoTGljZW5zZSwpaSh0bylmKHApcwogKGVybWl0KWUodGhlaXIpaSh1c2UpZihpbilnKGZyZWUpZyhzb2Z0KW0odyltKGFyZS4pcAogZW9wIGVuZAotJSVQYWdlOiAxNTEgMTU3Ci1UZVhEaWN0IGJlZ2luIDE1MSAxNTYgYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKLWIoRDopaShJbmRleGVzKTI2MjMgYigxNTEpMTUwIDI5OSB5IEZvKEFwcCl0KGVuZGl4KTUyCislJVBhZ2U6IDE1NSAxNjEKK1RlWERpY3QgYmVnaW4gMTU1IDE2MCBib3AgMTUwIC0xMTYgYSBGdChBcHApcyhlbmRpeCkyOQorYihEOilpKEluZGV4ZXMpMjYyMyBiKDE1NSkxNTAgMjk5IHkgRm8oQXBwKXQoZW5kaXgpNTIKIGIoRCk4MSBiKEluZGV4ZXMpMTUwIDYzMSB5IEZyKEQuMSk2OCBiKEluZGV4KTQ1IGIob2YpZyhTaGVsbClnKEJ1aWx0aW4pCiBnKENvbW1hbmRzKTE1MCA4NjggeSguKTE1MCA5ODQgeSBGZSguKTEzIGIgRmMoOilnKDopZyg6KWcoOiloKDopZig6KWcKICg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCiBnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWgoOilmKDopZyg6KWcoOikzOSBiIEZiKDM1KTE1MCAxMjE4IHkgRnIoOikxNTAgMTMzNQorKDopaCg6KWYoOilnKDopZyg6KTM5IGIgRmIoMzcpMTUwIDEyMTggeSBGcig6KTE1MCAxMzM1CiB5IEZlKDopMTMgYiBGYyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCiAoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQogZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzOQotYiBGYigzNSkxNTAgMTU3OSB5IEZyKFspMTUwIDE2OTUgeSBGZShbKTEzIGIgRmMoOilnKDopZyg6KWcoOiloKDopZig6KWcKK2IgRmIoMzcpMTUwIDE1NzkgeSBGcihbKTE1MCAxNjk1IHkgRmUoWykxMyBiIEZjKDopZyg6KWcoOilnKDopaCg6KWYoOilnCiAoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQogZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCi0oOiloKDopZig6KWcoOilnKDopMzkgYiBGYigzOSkxNTAgMTkzOCB5IEZyKEEpMTUwIDIwNTUKKyg6KWgoOilmKDopZyg6KWcoOikzOSBiIEZiKDQxKTE1MCAxOTM4IHkgRnIoQSkxNTAgMjA1NQogeSBGZShhbGlhcykyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCiAoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQotZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NiBiIEZiKDQxKTE1MAorZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NiBiIEZiKDQzKTE1MAogMjI4OSB5IEZyKEIpMTUwIDI0MDUgeSBGZShiZykxMCBiIEZjKDopayg6KWYoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKIGcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWcoOikzNyBiIEZiKDkwKTE1MCAyNDkzIHkgRmUoYmluZCkyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopMzcgYiBGYig5MikxNTAgMjQ5MyB5IEZlKGJpbmQpMjMgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KQogZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCiAoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQotNDkgYiBGYig0MSkxNTAgMjU4MCB5IEZlKGJyZWFrKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWgoOilmCis0OSBiIEZiKDQ0KTE1MCAyNTgwIHkgRmUoYnJlYWspMjEgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopaCg6KWYKICg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCiBnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDYKLWIgRmIoMzUpMTUwIDI2NjggeSBGZShidWlsdGluKTE1IGIgRmMoOilmKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZworYiBGYigzNykxNTAgMjY2OCB5IEZlKGJ1aWx0aW4pMTUgYiBGYyg6KWYoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnCiAoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQogaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQxCi1iIEZiKDQzKTE1MCAyOTAyIHkgRnIoQykxNTAgMzAxOSB5IEZlKGNhbGxlcikxNyBiIEZjKDopZSg6KWUoOilnKDopZyg6KQorYiBGYig0NSkxNTAgMjkwMiB5IEZyKEMpMTUwIDMwMTkgeSBGZShjYWxsZXIpMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOikKIGcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwogKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKLTQzIGIgRmIoNDMpMTUwIDMxMDYgeSBGZShjZCkxMCBiIEZjKDopayg6KWYoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCis0MyBiIEZiKDQ1KTE1MCAzMTA2IHkgRmUoY2QpMTAgYiBGYyg6KWsoOilmKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZwogKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKIGcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZwotKDopMzcgYiBGYigzNikxNTAgMzE5NCB5IEZlKGNvbW1hbmQpMTUgYiBGYyg6KWYoOilmKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KTM3IGIgRmIoMzgpMTUwIDMxOTQgeSBGZShjb21tYW5kKTE1IGIgRmMoOilmKDopZig6KWgoOilmKDopZyg6KWcoOilnCiAoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQogZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0MQotYiBGYig0MykxNTAgMzI4MSB5IEZlKGNvbXBnZW4pMTIgYiBGYyg6KWooOillKDopZyg6KWgoOilmKDopZyg6KWcoOilnCitiIEZiKDQ1KTE1MCAzMjgxIHkgRmUoY29tcGdlbikxMiBiIEZjKDopaig6KWUoOilnKDopaCg6KWYoOilnKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCiBnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzOSBiCi1GYigxMTcpMTUwIDMzNjggeSBGZShjb21wbGV0ZSkxMCBiIEZjKDopMTUgYig6KWUoOilnKDopZyg6KWcoOilnKDopaCg6KQorRmIoMTE5KTE1MCAzMzY4IHkgRmUoY29tcGxldGUpMTAgYiBGYyg6KTE1IGIoOillKDopZyg6KWcoOilnKDopZyg6KWgoOikKIGYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZwotKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzNyBiIEZiKDExNykxNTAKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzcgYiBGYigxMTkpMTUwCiAzNDU2IHkgRmUoY29tcG9wdCkxMiBiIEZjKDopaig6KWUoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzOSBiIEZiKDEyMCkxNTAgMzU0MworZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzkgYiBGYigxMjIpMTUwIDM1NDMKIHkgRmUoY29udGludWUpMTIgYiBGYyg6KWooOillKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwogKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopMzggYiBGYigzNikxNTAgMzc3OCB5CitnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM4IGIgRmIoMzgpMTUwIDM3NzggeQogRnIoRCkxNTAgMzg5NCB5IEZlKGRlY2xhcmUpMTUgYiBGYyg6KWYoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwogKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKIGYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQxIGIKLUZiKDQzKTE1MCAzOTgyIHkgRmUoZGlycykyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCitGYig0NikxNTAgMzk4MiB5IEZlKGRpcnMpMjMgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwogKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKIGYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5Ci1iIEZiKDgxKTE1MCA0MDY5IHkgRmUoZGlzb3duKTE3IGIgRmMoOillKDopZSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorYiBGYig4MykxNTAgNDA2OSB5IEZlKGRpc293bikxNyBiIEZjKDopZSg6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKIGYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZwogKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQzCi1iIEZiKDkxKTE1MCA0MzAzIHkgRnIoRSkxNTAgNDQyMCB5IEZlKGVjaG8pMjMgYiBGYyg6KTEzCitiIEZiKDkzKTE1MCA0MzAzIHkgRnIoRSkxNTAgNDQyMCB5IEZlKGVjaG8pMjMgYiBGYyg6KTEzCiBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDQ1KTE1MCA0NTA3IHkgRmUoZW5hYmxlKTE3CitnKDopZyg6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDQ3KTE1MCA0NTA3IHkgRmUoZW5hYmxlKTE3CiBiIEZjKDopZSg6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQogZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCi0oOilnKDopZyg6KWcoOilnKDopaCg6KTQzIGIgRmIoNDUpMTUwIDQ1OTUgeSBGZShldmFsKTIzCisoOilnKDopZyg6KWcoOilnKDopaCg6KTQzIGIgRmIoNDgpMTUwIDQ1OTUgeSBGZShldmFsKTIzCiBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigzNikxNTAgNDY4MiB5CitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoMzgpMTUwIDQ2ODIgeQogRmUoZXhlYykyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZwogKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKLWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigzNikxNTAKK2coOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigzOCkxNTAKIDQ3NzAgeSBGZShleGl0KTIzIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAogKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKIGcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0OQotYiBGYigzNikxNTAgNDg1NyB5IEZlKGV4cG9ydCkxNyBiIEZjKDopZSg6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2IgRmIoMzgpMTUwIDQ4NTcgeSBGZShleHBvcnQpMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCiBmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKICg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MwotYiBGYigzNikxNTAgNTExMCB5IEZyKEYpMTUwIDUyMjcgeSBGZShmYyk4IGIgRmMoOikxNAorYiBGYigzOSkxNTAgNTExMCB5IEZyKEYpMTUwIDUyMjcgeSBGZShmYyk4IGIgRmMoOikxNAogYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCiAoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQotZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNSBiIEZiKDEyMSkxNTAgNTMxNAorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNSBiIEZiKDEyNSkxNTAgNTMxNAogeSBGZShmZykxMCBiIEZjKDopayg6KWYoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgKICg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzcKLWIgRmIoOTApMjAyNSA4NjggeSBGcihHKTIwMjUgOTg4IHkgRmUoZ2V0b3B0cykxNSBiIEZjKDopZig6KWYoOilnKDopZworYiBGYig5MikyMDI1IDg2OCB5IEZyKEcpMjAyNSA5ODggeSBGZShnZXRvcHRzKTE1IGIgRmMoOilmKDopZig6KWcoOilnCiAoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQogZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0MQotYiBGYigzNykyMDI1IDEyNTAgeSBGcihIKTIwMjUgMTM3MCB5IEZlKGhhc2gpMjMgYiBGYyg6KTEzCitiIEZiKDM5KTIwMjUgMTI1MCB5IEZyKEgpMjAyNSAxMzcwIHkgRmUoaGFzaCkyMyBiIEZjKDopMTMKIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwogKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoMzcpMjAyNSAxNDU5IHkgRmUoaGVscCkyMworaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig0MCkyMDI1IDE0NTkgeSBGZShoZWxwKTIzCiBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZwogKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKLWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig0NikyMDI1IDE1NDkKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig0OCkyMDI1IDE1NDkKIHkgRmUoaGlzdG9yeSkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCiBnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKLSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzOSBiIEZiKDEyMikyMDI1IDE4MTEKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzOSBiIEZiKDEyNikyMDI1IDE4MTEKIHkgRnIoSikyMDI1IDE5MzEgeSBGZShqb2JzKTIzIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZwogKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKIGcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OQotYiBGYig5MCkyMDI1IDIxOTMgeSBGcihLKTIwMjUgMjMxMyB5IEZlKGtpbGwpMjMgYiBGYyg6KTEzCitiIEZiKDkyKTIwMjUgMjE5MyB5IEZyKEspMjAyNSAyMzEzIHkgRmUoa2lsbCkyMyBiIEZjKDopMTMKIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwogKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoOTEpMjAyNSAyNTU3IHkgRnIoTCkyMDI1CitoKDopZig6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDkzKTIwMjUgMjU1NyB5IEZyKEwpMjAyNQogMjY3NyB5IEZlKGxldCk4IGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKICg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCiBnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0Ci1iIEZiKDQ2KTIwMjUgMjc2NiB5IEZlKGxvY2FsKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorYiBGYig0OCkyMDI1IDI3NjYgeSBGZShsb2NhbCkyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKICg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NgotYiBGYig0NikyMDI1IDI4NTYgeSBGZShsb2dvdXQpMTcgYiBGYyg6KWQoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnCitiIEZiKDQ4KTIwMjUgMjg1NiB5IEZlKGxvZ291dCkxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCiBmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0Ci1iIEZiKDQ2KTIwMjUgMzExOCB5IEZyKE0pMjAyNSAzMjM4IHkgRmUobWFwZmlsZSkxNSBiCitiIEZiKDQ5KTIwMjUgMzExOCB5IEZyKE0pMjAyNSAzMjM4IHkgRmUobWFwZmlsZSkxNSBiCiBGYyg6KWYoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCiAoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotaCg6KWYoOilnKDopZyg6KTQxIGIgRmIoNDYpMjAyNSAzNTAwIHkgRnIoUCkyMDI1IDM2MjAKK2goOilmKDopZyg6KWcoOik0MSBiIEZiKDQ5KTIwMjUgMzUwMCB5IEZyKFApMjAyNSAzNjIwCiB5IEZlKHBvcGQpMjMgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQogaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCi0oOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoODIpMjAyNQorKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDg0KTIwMjUKIDM3MTAgeSBGZShwcmludGYpMTcgYiBGYyg6KWQoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NCBiIEZiKDQ3KTIwMjUKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NCBiIEZiKDQ5KTIwMjUKIDM3OTkgeSBGZShwdXNoZCkyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCiBnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NiBiCi1GYig4MikyMDI1IDM4ODggeSBGZShwd2QpOCBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCitGYig4NCkyMDI1IDM4ODggeSBGZShwd2QpOCBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCiAoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQogZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNAotYiBGYigzOCkyMDI1IDQxNTAgeSBGcihSKTIwMjUgNDI3MCB5IEZlKHJlYWQpMjMgYiBGYyg6KTEzCitiIEZiKDQwKTIwMjUgNDE1MCB5IEZyKFIpMjAyNSA0MjcwIHkgRmUocmVhZCkyMyBiIEZjKDopMTMKIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwogKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoNDcpMjAyNSA0MzYwIHkgRmUocmVhZGFycmF5KTkKK2goOilmKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoNTApMjAyNSA0MzYwIHkgRmUocmVhZGFycmF5KTkKIGIgRmMoOikxNSBiKDopZig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCiAoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQotZig6KWcoOilnKDopMzYgYiBGYig0OSkyMDI1IDQ0NDkgeSBGZShyZWFkb25seSkxMiBiIEZjKDopaig6KWUoOilnKDopZworZig6KWcoOilnKDopMzYgYiBGYig1MSkyMDI1IDQ0NDkgeSBGZShyZWFkb25seSkxMiBiIEZjKDopaig6KWUoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKIGcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOQotYiBGYigzOCkyMDI1IDQ1MzggeSBGZShyZXR1cm4pMTcgYiBGYyg6KWQoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnCitiIEZiKDQwKTIwMjUgNDUzOCB5IEZlKHJldHVybikxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCiBmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0Ci1iIEZiKDM4KTIwMjUgNDc4MiB5IEZyKFMpMjAyNSA0OTAyIHkgRmUoc2V0KTggYiBGYyg6KTEzCitiIEZiKDQwKTIwMjUgNDc4MiB5IEZyKFMpMjAyNSA0OTAyIHkgRmUoc2V0KTggYiBGYyg6KTEzCiBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgKICg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0IGIgRmIoNTEpMjAyNSA0OTkxCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0IGIgRmIoNTQpMjAyNSA0OTkxCiB5IEZlKHNoaWZ0KTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKICg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2IGIgRmIoMzgpMjAyNQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NiBiIEZiKDQxKTIwMjUKIDUwODAgeSBGZShzaG9wdCkyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCiBnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NiBiCi1GYig1NSkyMDI1IDUxNjkgeSBGZShzb3VyY2UpMTcgYiBGYyg6KWQoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworRmIoNTcpMjAyNSA1MTY5IHkgRmUoc291cmNlKTE3IGIgRmMoOilkKDopZyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDQKLWIgRmIoNDkpMjAyNSA1MjU5IHkgRmUoc3VzcGVuZCkxNSBiIEZjKDopZig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcKK2IgRmIoNTEpMjAyNSA1MjU5IHkgRmUoc3VzcGVuZCkxNSBiIEZjKDopZig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCiBnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDEKLWIgRmIoOTEpcCBlb3AgZW5kCi0lJVBhZ2U6IDE1MiAxNTgKLVRlWERpY3QgYmVnaW4gMTUyIDE1NyBib3AgMTUwIC0xMTYgYSBGdCgxNTIpMjUyNyBiKEJhc2gpMzEKK2IgRmIoOTMpcCBlb3AgZW5kCislJVBhZ2U6IDE1NiAxNjIKK1RlWERpY3QgYmVnaW4gMTU2IDE2MSBib3AgMTUwIC0xMTYgYSBGdCgxNTYpMjUyNyBiKEJhc2gpMzEKIGIoUmVmZXJlbmNlKWcoTWFuKW0odWFsKTE1MCAyOTkgeSBGcihUKTE1MCA0MjggeSBGZSh0ZXN0KTIzCiBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigzOSkxNTAgNTIyIHkKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig0MSkxNTAgNTIyIHkKIEZlKHRpbWVzKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCiAoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQotZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ2IGIgRmIoNDApMTUwCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDYgYiBGYig0MikxNTAKIDYxNiB5IEZlKHRyYXApMjMgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCiBmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5Ci1iIEZiKDQwKTE1MCA3MDkgeSBGZSh0eXBlKTIzIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorYiBGYig0MikxNTAgNzA5IHkgRmUodHlwZSkyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKIGcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAogKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkKLWIgRmIoNDkpMTUwIDgwMyB5IEZlKHR5cGVzZXQpMTUgYiBGYyg6KWYoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitiIEZiKDUyKTE1MCA4MDMgeSBGZSh0eXBlc2V0KTE1IGIgRmMoOilmKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQogZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCiAoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0MQotYiBGYig0OSkyMDI1IDI5OSB5IEZyKFUpMjAyNSA0MTUgeSBGZSh1bGltaXQpMTcgYiBGYyg6KWQoOilnKDopZig6KWcoOikKK2IgRmIoNTIpMjAyNSAyOTkgeSBGcihVKTIwMjUgNDE1IHkgRmUodWxpbWl0KTE3IGIgRmMoOilkKDopZyg6KWYoOilnKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKICg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi00NCBiIEZiKDQ5KTIwMjUgNTAyIHkgRmUodW1hc2spMjEgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKzQ0IGIgRmIoNTIpMjAyNSA1MDIgeSBGZSh1bWFzaykyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZwogKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKIGcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NgotYiBGYig0MSkyMDI1IDU5MCB5IEZlKHVuYWxpYXMpMTUgYiBGYyg6KWYoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnCitiIEZiKDQzKTIwMjUgNTkwIHkgRmUodW5hbGlhcykxNSBiIEZjKDopZig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCiBnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDEKLWIgRmIoNTEpMjAyNSA2NzcgeSBGZSh1bnNldCkyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKK2IgRmIoNTMpMjAyNSA2NzcgeSBGZSh1bnNldCkyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKICg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NgotYiBGYig0MSkyMDI1IDkxMCB5IEZyKFcpMjAyNSAxMDI2IHkgRmUod2FpdCkyMyBiIEZjKDopMTMKK2IgRmIoNDMpMjAyNSA5MTAgeSBGcihXKTIwMjUgMTAyNiB5IEZlKHdhaXQpMjMgYiBGYyg6KTEzCiBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKICg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCi1oKDopZig6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDkxKTE1MCAxMjU5IHkgRnIoRC4yKTY4CitoKDopZig6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDkzKTE1MCAxMjU5IHkgRnIoRC4yKTY4CiBiKEluZGV4KTQ1IGIob2YpZyhTaGVsbClnKFJlc2VydilsKGVkKWgoVyktMTEgYihvcmRzKTE1MAogMTQ5NSB5KCEpMTUwIDE2MTIgeSBGZSghKTE1IGIgRmMoOillKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKIGcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgpAQCAtMTUyODYsMjEgKzE1NTcyLDIxIEBACiBnKDopMzcgYiBGYigxMikxNTAgMjU3OSB5IEZhKHspMTUwIDI2OTUgeSBGZSh7KTEzIGIgRmMoOilnKDopZyg6KWcoOiloCiAoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQogZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCi0oOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzOSBiIEZiKDEzKTE1MCAyOTM4IHkgRmEofSkxNTAKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTM5IGIgRmIoMTQpMTUwIDI5MzggeSBGYSh9KTE1MAogMzA1NCB5IEZlKH0pMTMgYiBGYyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKICg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCiBnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzOQotYiBGYigxMykxNTAgMzI5NiB5IEZyKEMpMTUwIDM0MTIgeSBGZShjYXNlKTIzIGIgRmMoOikxMworYiBGYigxNCkxNTAgMzI5NiB5IEZyKEMpMTUwIDM0MTIgeSBGZShjYXNlKTIzIGIgRmMoOikxMwogYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCiAoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQotZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigxMCkxNTAgMzY0NiB5IEZyKEQpMTUwCi0zNzYyIHkgRmUoZG8pMTIgYiBGYyg6KWkoOilmKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCi0oOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzOQotYiBGYig5KTE1MCAzODQ5IHkgRmUoZG9uZSk3IGIgRmMoOikxNCBiKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCi1mKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0Ci1iIEZiKDkpMTUwIDQwODMgeSBGcihFKTE1MCA0MTk5IHkgRmUoZWxpZikyMyBiIEZjKDopMTMKK2coOilnKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoMTEpMTUwIDM2NDYgeSBGcihEKTE1MAorMzc2MiB5IEZlKGRvKTEwIGIgRmMoOilrKDopZig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzNworYiBGYigxMCkxNTAgMzg0OSB5IEZlKGRvbmUpMjMgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5CitiIEZiKDEwKTE1MCA0MDgzIHkgRnIoRSkxNTAgNDE5OSB5IEZlKGVsaWYpMjMgYiBGYyg6KTEzCiBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDEwKTIwMjUgMTQ5NSB5IEZlKGVsc2UpMjMKQEAgLTE1MzA5LDcgKzE1NTk1LDcgQEAKIGcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigxMCkyMDI1IDE1ODYKIHkgRmUoZXNhYykyMyBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCiBoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKLSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigxMCkyMDI1CisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoMTEpMjAyNQogMTgzOCB5IEZyKEYpMjAyNSAxOTYxIHkgRmUoZmkpMTAgYiBGYyg6KWsoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCiAoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQogZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCkBAIC0xNTMxOSwxMyArMTU2MDUsMTMgQEAKICg6KWYoOilnKDopMzQgYiBGYigxMCkyMDI1IDIxNDMgeSBGZShmdW5jdGlvbikxMiBiIEZjKDopaig6KWUoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKIGcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOQotYiBGYigxNCkyMDI1IDIzOTQgeSBGcihJKTIwMjUgMjUxOCB5IEZlKGlmKTEwIGIgRmMoOilrKDopZig6KWcoOilnKDopZworYiBGYigxNSkyMDI1IDIzOTQgeSBGcihJKTIwMjUgMjUxOCB5IEZlKGlmKTEwIGIgRmMoOilrKDopZig6KWcoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKIGcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgogKDopZyg6KWcoOilnKDopZyg6KTM3IGIgRmIoMTApMjAyNSAyNjA4IHkgRmUoaW4pMTAgYgogRmMoOilrKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgogKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNyBiIEZiKDEwKTIwMjUKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNyBiIEZiKDExKTIwMjUKIDI4NjAgeSBGcihTKTIwMjUgMjk4MyB5IEZlKHNlbGVjdCkxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKIGgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0CkBAIC0xNTMzNiw5NjIgKzE1NjIyLDk4NyBAQAogYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCiBnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzQgYiBGYig4KTIwMjUKLTM3MDEgeSBGcihVKTIwMjUgMzgyNCB5IEZlKHVudGlsKTIzIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQotZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0OQotYiBGYig5KTIwMjUgNDA3NiB5IEZyKFcpMjAyNSA0MTk5IHkgRmUod2hpbGUpMjMgYiBGYyg6KTEzCi1iKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOilnKDopZyg6KWcoOik0OSBiIEZiKDkpMTUwIDQ0MzEgeSBGcihELjMpNjgKLWIoUClsKGFyYW1ldGVyKTQ3IGIoYW5kKWQoViktMTEgYihhcmlhYmxlKTQ2IGIoSW5kZXgpMTUwCi00NjY4IHkoISkxNTAgNDc5NCB5IEZlKCEpMTMgYiBGYyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQotZyg6KTM5IGIgRmIoMTcpMTUwIDUwNTQgeSBGcigjKTE1MCA1MTgwIHkgRmUoIykxMyBiIEZjKDopZyg6KWcoOilnKDopaAotKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKLWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZwotKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopMzkgYiBGYigxNykyMDI1IDQ2NjggeSBGcigkKTIwMjUKLTQ3OTQgeSBGZSgkKTEzIGIgRmMoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCiszNzAxIHkgRnIoVSkyMDI1IDM4MjQgeSBGZSh1bnRpbCkyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZwogKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM5Ci1iIEZiKDE3KTIwMjUgNTA2NyB5IEZyKCopMjAyNSA1MTkyIHkgRmUoKikxMyBiIEZjKDopZyg6KWcoOilnKDopZyg6KWcKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NgorYiBGYigxMCkyMDI1IDQwNzYgeSBGcihXKTIwMjUgNDE5OSB5IEZlKHdoaWxlKTIxIGIgRmMoOikxMworYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOik0NiBiIEZiKDEwKTE1MCA0NDMxIHkgRnIoRC4zKTY4IGIoUClsKGFyYW1ldGVyKTQ3CitiKGFuZClkKFYpLTExIGIoYXJpYWJsZSk0NiBiKEluZGV4KTE1MCA0NjY4IHkoISkxNTAgNDc5NAoreSBGZSghKTEzIGIgRmMoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKK2coOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopMzkKK2IgRmIoMTgpMTUwIDUwNTQgeSBGcigjKTE1MCA1MTgwIHkgRmUoIykxMyBiIEZjKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopMzkgYiBGYigxOCkyMDI1IDQ2NjggeSBGcigkKTIwMjUgNDc5NAoreSBGZSgkKTEzIGIgRmMoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopMzkKK2IgRmIoMTgpMjAyNSA1MDY3IHkgRnIoKikyMDI1IDUxOTIgeSBGZSgqKTEzIGIgRmMoOilnKDopZyg6KWcoOilnKDopZwogKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKIGcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZwotKDopZyg6KWcoOilnKDopaCg6KWYoOikzOSBiIEZiKDE2KXAgZW9wIGVuZAotJSVQYWdlOiAxNTMgMTU5Ci1UZVhEaWN0IGJlZ2luIDE1MyAxNTggYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKLWIoRDopaShJbmRleGVzKTI2MjMgYigxNTMpMTUwIDI5OSB5IEZyKC0pMTUwIDQxNSB5IEZlKC0pMTMKKyg6KWcoOilnKDopZyg6KWgoOilmKDopMzkgYiBGYigxOClwIGVvcCBlbmQKKyUlUGFnZTogMTU3IDE2MworVGVYRGljdCBiZWdpbiAxNTcgMTYyIGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5CitiKEQ6KWkoSW5kZXhlcykyNjIzIGIoMTU3KTE1MCAyOTkgeSBGcigtKTE1MCA0MTUgeSBGZSgtKTEzCiBiIEZjKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQogZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCi0oOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTM5IGIgRmIoMTcpMTUwCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTM5IGIgRmIoMTgpMTUwCiA2NDkgeSBGcig/KTE1MCA3NjUgeSBGZSg/KTEzIGIgRmMoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKICg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCiBoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKLSg6KWcoOikzOSBiIEZiKDE3KTE1MCA5OTkgeSBGcihAKTE1MCAxMTE1IHkgRmUoQCkxMyBiCisoOilnKDopMzkgYiBGYigxOCkxNTAgOTk5IHkgRnIoQCkxNTAgMTExNSB5IEZlKEApMTMgYgogRmMoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwogKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopMzkgYiBGYigxNilwCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTM5IGIgRmIoMTgpcAogMTU5IDEzNDkgNDEgNiB2IDE1MCAxNDY1IGEgRmUoXykxMyBiIEZjKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCiBnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKLSg6KWcoOilnKDopMzkgYiBGYigxNykxNTAgMTY5OSB5IEZyKDApMTUwIDE4MTUgeSBGZSgwKTEzCisoOilnKDopZyg6KTM5IGIgRmIoMTgpMTUwIDE2OTkgeSBGcigwKTE1MCAxODE1IHkgRmUoMCkxMwogYiBGYyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKIGcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZwotKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzOSBiIEZiKDE3KTE1MAorKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzOSBiIEZiKDE4KTE1MAogMjA0OSB5IEZyKEEpMTUwIDIxNjYgeSBGZShhdXRvX3Jlc3VtZSkyNCBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOikKIGYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZwotKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ4IGIgRmIoOTIpMTUwCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDggYiBGYig5NCkxNTAKIDI0MDkgeSBGcihCKTE1MCAyNTI1IHkgRmUoQkFTSCkyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZwogKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKIGcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkKLWIgRmIoNjEpMTUwIDI2MTIgeSBGZShCQVNIX0FMSUFTRVMpMjIgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZworYiBGYig2MykxNTAgMjYxMiB5IEZlKEJBU0hfQUxJQVNFUykyMiBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnCiAoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQotZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDUgYiBGYig2MikxNTAgMjcwMAorZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDUgYiBGYig2NCkxNTAgMjcwMAogeSBGZShCQVNIX0FSR0MpOSBiIEZjKDopMTYgYig6KWQoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKIGcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM2IGIgRmIoNjIpMTUwIDI3ODcgeQorKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM2IGIgRmIoNjQpMTUwIDI3ODcgeQogRmUoQkFTSF9BUkdWKTkgYiBGYyg6KTE2IGIoOilkKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZwogKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNiBiIEZiKDYyKTE1MCAyODc0IHkgRmUoQkFTSF9DTURTKTkKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNiBiIEZiKDY0KTE1MCAyODc0IHkgRmUoQkFTSF9DTURTKTkKIGIgRmMoOikxNiBiKDopZCg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCiAoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQotZyg6KWcoOilnKDopMzYgYiBGYig2MikxNTAgMjk2MiB5IEZlKEJBU0hfQ09NTUFORCkyMgorZyg6KWcoOilnKDopMzYgYiBGYig2NCkxNTAgMjk2MiB5IEZlKEJBU0hfQ09NTUFORCkyMgogYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKICg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NQotYiBGYig2MikxNTAgMzA0OSB5IEZlKEJBU0hfRU5WKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWgoOilmKDopZworYiBGYig2NCkxNTAgMzA0OSB5IEZlKEJBU0hfRU5WKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWgoOilmKDopZwogKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKIGcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM4IGIKLUZiKDYyKTE1MCAzMTM3IHkgRmUoQkFTSF9FWEVDVVRJT05fU1RSSU5HKTEzIGIgRmMoOikxOAorRmIoNjQpMTUwIDMxMzcgeSBGZShCQVNIX0VYRUNVVElPTl9TVFJJTkcpMTMgYiBGYyg6KTE4CiBiKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQotZyg6KWcoOilnKDopaCg6KWYoOikzOSBiIEZiKDYyKTE1MCAzMjI0IHkgRmUoQkFTSF9MSU5FTk8pMjQKK2coOilnKDopZyg6KWgoOilmKDopMzkgYiBGYig2NCkxNTAgMzIyNCB5IEZlKEJBU0hfTElORU5PKTI0CiBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZwogKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKLTQ4IGIgRmIoNjMpMTUwIDMzMTEgeSBGZShCQVNIX1JFTUFUQ0gpMjIgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopCis0OCBiIEZiKDY1KTE1MCAzMzExIHkgRmUoQkFTSF9SRU1BVENIKTIyIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KQogZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCi0oOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NSBiIEZiKDYzKTE1MAorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDUgYiBGYig2NSkxNTAKIDMzOTkgeSBGZShCQVNIX1NPVVJDRSkyNCBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCiBnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ4IGIgRmIoNjMpMTUwIDM0ODYgeSBGZShCQVNIX1NVQlNIRUxMKTE2CisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OCBiIEZiKDY1KTE1MCAzNDg2IHkgRmUoQkFTSF9TVUJTSEVMTCkxNgogYiBGYyg6KWcoOillKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKIGgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQzCi1iIEZiKDYzKTE1MCAzNTczIHkgRmUoQkFTSF9WRVJTSU5GTykxNiBiIEZjKDopZyg6KWUoOilmKDopZyg6KWcoOilnKDopZworYiBGYig2NSkxNTAgMzU3MyB5IEZlKEJBU0hfVkVSU0lORk8pMTYgYiBGYyg6KWcoOillKDopZig6KWcoOilnKDopZyg6KWcKICg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCi1oKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDMgYiBGYig2MykxNTAgMzY2MSB5IEZlKEJBU0hfVkVSU0lPTikyMgoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQzIGIgRmIoNjUpMTUwIDM2NjEgeSBGZShCQVNIX1ZFUlNJT04pMjIKIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCiAoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDUKLWIgRmIoNjMpMTUwIDM3NDggeSBGZShCQVNIX1hUUkFDRUZEKTE2IGIgRmMoOilnKDopZSg6KWYoOilnKDopZyg6KWcoOilnCitiIEZiKDY1KTE1MCAzNzQ4IHkgRmUoQkFTSF9YVFJBQ0VGRCkxNiBiIEZjKDopZyg6KWUoOilmKDopZyg6KWcoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0MyBiIEZiKDYzKTE1MCAzODM1IHkgRmUoQkFTSE9QVFMpMTIKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0MyBiIEZiKDY1KTE1MCAzODM1IHkgRmUoQkFTSE9QVFMpMTIKIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCiBnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KTM4IGIgRmIoNjIpMTUwIDM5MjMgeSBGZShCQVNIUElEKTE1IGIKKyg6KWcoOiloKDopZig6KTM4IGIgRmIoNjQpMTUwIDM5MjMgeSBGZShCQVNIUElEKTE1IGIKIEZjKDopZig6KWYoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCi1mKDopZyg6KWcoOilnKDopNDEgYiBGYig2MikxNTAgNDAxMCB5IEZlKGJlbGwtc3R5bGUpNworZig6KWcoOilnKDopZyg6KTQxIGIgRmIoNjQpMTUwIDQwMTAgeSBGZShiZWxsLXN0eWxlKTcKIGIgRmMoOikxNSBiKDopZSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCiAoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQotZig6KWcoOikzMyBiIEZiKDk3KTE1MCA0MDk4IHkgRmUoYmluZC10dHktc3BlY2lhbC1jaGFycykxMAorZig6KWcoOikzMyBiIEZiKDk5KTE1MCA0MDk4IHkgRmUoYmluZC10dHktc3BlY2lhbC1jaGFycykxMAogYiBGYyg6KTE5IGIoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZwotKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzcgYiBGYig5NykxNTAgNDM1MCB5IEZyKEMpMTUwCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNyBiIEZiKDk5KTE1MCA0MzUwIHkgRnIoQykxNTAKIDQ0NjYgeSBGZShDRFBBVEgpMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCiBnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MyBiIEZiKDYxKTE1MAorKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQzIGIgRmIoNjMpMTUwCiA0NTU0IHkgRmUoQ09MVU1OUykxNSBiIEZjKDopZig6KWYoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKICg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDEgYiBGYig2NCkxNTAKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0MSBiIEZiKDY2KTE1MAogNDY0MSB5IEZlKGNvbW1lbnQtYmVnaW4pMTYgYiBGYyg6KWcoOillKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKICg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KWcoOilnKDopNDMgYiBGYig5NykxNTAgNDcyOCB5IEZlKENPTVBfQ1dPUkQpNworZyg6KWcoOilnKDopZyg6KTQzIGIgRmIoOTkpMTUwIDQ3MjggeSBGZShDT01QX0NXT1JEKTcKIGIgRmMoOikxNSBiKDopZSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCiAoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQotZig6KWcoOikzMyBiIEZiKDY0KTE1MCA0ODE2IHkgRmUoQ09NUF9LRVkpMTIgYiBGYyg6KWooOillKDopZyg6KWcoOilnCitmKDopZyg6KTMzIGIgRmIoNjYpMTUwIDQ4MTYgeSBGZShDT01QX0tFWSkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcKICg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzOAotYiBGYig2NCkxNTAgNDkwMyB5IEZlKENPTVBfTElORSk5IGIgRmMoOikxNiBiKDopZCg6KWcoOilnKDopZyg6KWcoOilnCitiIEZiKDY2KTE1MCA0OTAzIHkgRmUoQ09NUF9MSU5FKTkgYiBGYyg6KTE2IGIoOilkKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNiBiCi1GYig2NCkxNTAgNDk5MSB5IEZlKENPTVBfUE9JTlQpNyBiIEZjKDopMTUgYig6KWUoOiloKDopZig6KWcoOilnKDopZyg6KQorRmIoNjYpMTUwIDQ5OTEgeSBGZShDT01QX1BPSU5UKTcgYiBGYyg6KTE1IGIoOillKDopaCg6KWYoOilnKDopZyg6KWcoOikKIGcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZwotKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTMzIGIgRmIoNjQpMTUwCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzMgYiBGYig2NikxNTAKIDUwNzggeSBGZShDT01QX1RZUEUpOSBiIEZjKDopMTYgYig6KWQoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZwogKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKLWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM2IGIgRmIoNjQpMTUwIDUxNjUKK2coOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM2IGIgRmIoNjYpMTUwIDUxNjUKIHkgRmUoQ09NUF9XT1JEQlJFQUtTKTExIGIgRmMoOikxNyBiKDopYyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCiAoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWcoOikzOCBiIEZiKDY0KTE1MCA1MjUzIHkgRmUoQ09NUF9XT1JEUyk3IGIgRmMoOikxNQorZyg6KWcoOikzOCBiIEZiKDY2KTE1MCA1MjUzIHkgRmUoQ09NUF9XT1JEUyk3IGIgRmMoOikxNQogYig6KWUoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCiAoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQotMzMgYiBGYig2NCkxNTAgNTM0MCB5IEZlKGNvbXBsZXRpb24tcHJlZml4LWRpc3BsYXktbGVuKXEoZ3RoKTI1Ci1iIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDUgYiBGYig5NykyMDI1Ci0yOTkgeSBGZShjb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zKTEwIGIgRmMoOikxOCBiKDopYyg6KWYoOilnKDopZyg6KWcoOilnCi0oOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTM3Ci1iIEZiKDk3KTIwMjUgMzg3IHkgRmUoQ09NUFJFUExZKTkgYiBGYyg6KTE1IGIoOilmKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCi1oKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzNiBiCi1GYig2NSkyMDI1IDQ3NSB5IEZlKGNvbnZlcnQtbWV0YSkyMSBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKLWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDUgYiBGYig5OCkyMDI1IDcxMyB5Ci1GcihEKTIwMjUgODMxIHkgRmUoRElSU1RBQ0spMTIgYiBGYyg6KWooOillKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZwotKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKLWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzkgYiBGYig2NSkyMDI1Ci05MTkgeSBGZShkaXNhYmxlLWNvbXBsZXRpb24pMjUgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQotNDcgYiBGYig5OCkyMDI1IDExNzUgeSBGcihFKTIwMjUgMTI5MyB5IEZlKGVkaXRpbmctbW9kZSkyMQotYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0NQotYiBGYig5OCkyMDI1IDEzODEgeSBGZShFTUFDUykyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKLSg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NgotYiBGYig2NSkyMDI1IDE0NzAgeSBGZShlbmFibGUta2V5cGFkKTE2IGIgRmMoOilnKDopZCg6KWcoOiloKDopZig6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwotKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQzIGIgRmIoOTgpMjAyNSAxNTU4IHkKLUZlKEVVSUQpMjMgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKLSg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoNjUpMjAyNQotMTY0NiB5IEZlKGV4cGFuZC10aWxkZSkyMSBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQotZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDUgYiBGYig5OCkyMDI1IDE5MDIgeSBGcihGKTIwMjUKLTIwMjAgeSBGZShGQ0VESVQpMTcgYiBGYyg6KWQoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NCBiIEZiKDY1KTIwMjUKLTIxMDggeSBGZShGSUdOT1JFKTE1IGIgRmMoOilmKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKLWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0MSBiIEZiKDY1KTIwMjUKLTIxOTYgeSBGZShGVU5DTkFNRSkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOSBiIEZiKDY1KTIwMjUgMjQzNAoteSBGcihHKTIwMjUgMjU1MiB5IEZlKEdMT0JJR05PUkUpNyBiIEZjKDopMTUgYig6KWUoOilnKDopZyg6KWgoOilmKDopZwotKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKLWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzMgYiBGYig2NSkyMDI1Ci0yNjQwIHkgRmUoR1JPVVBTKTE3IGIgRmMoOilkKDopZyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQotZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCi0oOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDQgYiBGYig2NSkyMDI1Ci0yODc4IHkgRnIoSCkyMDI1IDI5OTYgeSBGZShoaXN0Y2hhcnMpOSBiIEZjKDopMTUgYig6KWYoOilmKDopZyg6KWcoOilnCi0oOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTM2Ci1iIEZiKDY1KTIwMjUgMzA4NCB5IEZlKEhJU1RDTUQpMTUgYiBGYyg6KWYoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnCi0oOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTQxCi1iIEZiKDY2KTIwMjUgMzE3MiB5IEZlKEhJU1RDT05UUk9MKTI0IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDggYiBGYig2NikyMDI1Ci0zMjYwIHkgRmUoSElTVEZJTEUpMTIgYiBGYyg6KWooOillKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCi0oOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzkgYiBGYig2NikyMDI1IDMzNDgKLXkgRmUoSElTVEZJTEVTSVpFKTIxIGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOik0NSBiIEZiKDY2KTIwMjUgMzQzNiB5IEZlKEhJU1RJR05PUkUpNwotYiBGYyg6KTE1IGIoOillKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KTMzIGIgRmIoNjYpMjAyNSAzNTI1IHkgRmUoaGlzdG9yeS1wcmVzZXJ2ZS1wb2ludCkxMAotYiBGYyg6KTE4IGIoOiljKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopMzcgYiBGYig5OCkyMDI1IDM2MTMgeSBGZShoaXN0b3J5LXNpemUpMjEKLWIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCi0oOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDUKLWIgRmIoOTgpMjAyNSAzNzAxIHkgRmUoSElTVFNJWkUpMTIgYiBGYyg6KWooOillKDopZyg6KWcoOilnKDopZyg6KWgoOilmCi0oOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQotZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzkgYgotRmIoNjYpMjAyNSAzNzg5IHkgRmUoSElTVFRJTUVGT1JNQVQpMTQgYiBGYyg6KWkoOilkKDopZyg6KWcoOilnKDopaCg6KWYKLSg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KWcoOilnKDopaCg6KWYoOik0MCBiIEZiKDY2KTIwMjUgMzg3NyB5IEZlKEhPTUUpMjMKKzMzIGIgRmIoNjYpMTUwIDUzNDAgeSBGZShjb21wbGV0aW9uLWRpc3BsYXktd2lkdGgpMjgKIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCi0oOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDYxKTIwMjUgMzk2NQoteSBGZShob3Jpem9udGFsLXNjcm9sbC1tb2RlKTEwIGIgRmMoOikxOCBiKDopYyg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTM3Ci1iIEZiKDk4KTIwMjUgNDA1MyB5IEZlKEhPU1RGSUxFKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIKLUZiKDY3KTIwMjUgNDE0MSB5IEZlKEhPU1ROQU1FKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIKLUZiKDY3KTIwMjUgNDIzMCB5IEZlKEhPU1RUWVBFKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIKLUZiKDY3KTIwMjUgNDQ2NyB5IEZyKEkpMjAyNSA0NTg1IHkgRmUoSUZTKTggYiBGYyg6KTEzCi1iKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgKLSg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0IGIgRmIoNjEpMjAyNSA0NjczCi15IEZlKElHTk9SRUVPRik5IGIgRmMoOikxNSBiKDopZig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQotZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCi0oOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopMzYgYiBGYig2NykyMDI1IDQ3NjEgeQotRmUoaW5wdXQtbWV0YSk3IGIgRmMoOikxNSBiKDopZSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgKLSg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWgoOikzMyBiIEZiKDk5KTIwMjUgNDg1MCB5IEZlKElOUFVUUkMpMTUKLWIgRmMoOilmKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCi1nKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWgoOilmKDopZyg6KWcoOik0MSBiIEZiKDY3KTIwMjUgNDkzOCB5IEZlKGlzZWFyY2gtdGVybWluYXRvcnMpMTgKKyg6KWcoOilnKDopNDkgYiBGYig5OSkyMDI1IDI5OSB5IEZlKGNvbXBsZXRpb24taWdub3JlLWNhc2UpMTAKK2IgRmMoOikxOCBiKDopYyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KTM3IGIgRmIoOTkpMjAyNSAzODcgeSBGZShjb21wbGV0aW9uLW1hcC1jYXNlKTE4CiBiIEZjKDopZig6KWMoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NSBiIEZiKDk5KTIwMjUgNTE3NQoteSBGcihLKTIwMjUgNTI5MyB5IEZlKGtleW1hcCkxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0Ci1iIEZiKDk5KXAgZW9wIGVuZAotJSVQYWdlOiAxNTQgMTYwCi1UZVhEaWN0IGJlZ2luIDE1NCAxNTkgYm9wIDE1MCAtMTE2IGEgRnQoMTU0KTI1MjcgYihCYXNoKTMxCi1iKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRnIoTCkxNTAgNDE1IHkgRmUoTEFORykyMwotYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCi1oKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoNjcpMTUwIDUwMiB5Ci1GZShMQ19BTEwpMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1oKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MyBiIEZiKDY3KTE1MCA1ODkKLXkgRmUoTENfQ09MTEFURSk3IGIgRmMoOikxNSBiKDopZSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzMyBiIEZiKDY3KTE1MCA2NzYgeSBGZShMQ19DVFlQRSkxMgotYiBGYyg6KWooOillKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopMzggYiBGYig2NykxNTAgNzY0IHkgRmUoTENfTUVTU0FHRVMpMTMKLWIgRmMoOilqKDopZCg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCi1mKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0MAotYiBGYig3LCkyNiBiKDY3KTE1MCA4NTEgeSBGZShMQ19OVU1FUklDKTcgYiBGYyg6KTE1IGIoOillKDopaCg6KWYoOilnCi0oOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQotZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTMzCi1iIEZiKDY3KTE1MCA5MzggeSBGZShMSU5FTk8pMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MwotYiBGYig2NykxNTAgMTAyNSB5IEZlKExJTkVTKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZwotKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKLWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ2Ci1iIEZiKDY3KTE1MCAxMjU4IHkgRnIoTSkxNTAgMTM3NCB5IEZlKE1BQ0hUWVBFKTEyIGIgRmMoOilqKDopZSg6KWcoOilnCi0oOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQotZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM4Ci1iIEZiKDY3KTE1MCAxNDYxIHkgRmUoTUFJTCkyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1oKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkKLWIgRmIoNjEpMTUwIDE1NDkgeSBGZShNQUlMQ0hFQ0spOSBiIEZjKDopMTYgYig6KWQoOilnKDopZyg6KWcoOilnKDopZwotKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM2IGIKLUZiKDY4KTE1MCAxNjM2IHkgRmUoTUFJTFBBVEgpMTIgYiBGYyg6KWooOillKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopMzggYiBGYig2MSkxNTAKLTE3MjMgeSBGZShtYXJrLW1vZGlmaWVkLWxpbmVzKTE4IGIgRmMoOilnKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ0Ci1iIEZiKDk5KTE1MCAxODEwIHkgRmUobWFyay1zeW1saW5rZWQtZGlyZWN0b3JpZXMpMTggYgotRmMoOilnKDopYyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDQKLWIgRmIoOTkpMTUwIDE4OTcgeSBGZShtYXRjaC1oaWRkZW4tZmlsZXMpMjUgYiBGYyg6KTEzCi1iKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NyBiIEZiKDk5KTE1MCAxOTg1IHkKLUZlKG1ldGEtZmxhZyk5IGIgRmMoOikxNiBiKDopZCg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzYgYiBGYig5OSkxNTAgMjIzNiB5IEZyKE8pMTUwCi0yMzUyIHkgRmUoT0xEUFdEKTE3IGIgRmMoOillKDopZSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQotZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCi0oOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDMgYiBGYig2OCkxNTAKLTI0MzkgeSBGZShPUFRBUkcpMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCi1nKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MyBiIEZiKDYxKTE1MAotMjUyNiB5IEZlKE9QVEVSUikxNyBiIEZjKDopZSg6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQzIGIgRmIoNjgpMTUwCi0yNjE0IHkgRmUoT1BUSU5EKTE3IGIgRmMoOillKDopZSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQotZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCi0oOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDMgYiBGYig2MSkxNTAKLTI3MDEgeSBGZShPU1RZUEUpMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCi1nKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MyBiIEZiKDY4KTE1MAotMjc4OCB5IEZlKG91dHB1dC1tZXRhKTI0IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKLWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZwotKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDggYiBGYig5OSkxNTAgMzA0MCB5IEZyKFApMTUwCi0zMTU2IHkgRmUocGFnZS1jb21wbGV0aW9ucyk5IGIgRmMoOikxNiBiKDopZSg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCi0oOilnKDopZyg6KTM1IGIgRmIoOTkpMTUwIDMyNDMgeSBGZShQQVRIKTIzIGIgRmMoOikxMwotYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCi0oOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQotZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig2MSkxNTAgMzMzMCB5IEZlKFBJUEVTVEFUVVMpNwotYiBGYyg6KTE1IGIoOillKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDUgYiBGYig5OSkyMDI1IDQ3NCB5CitGZShjb21wbGV0aW9uLXByZWZpeC1kaXNwbGF5LWxlbmcpcSh0aCkyNSBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOik0NiBiIEZiKDk5KTIwMjUgNTYyIHkgRmUoY29tcGxldGlvbi1xdWVyeS1pdGVtcyk4CitiIEZjKDopMTggYig6KTEzIGIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KTM1IGIgRmIoMTAwKTIwMjUgNjQ5IHkgRmUoQ09NUFJFUExZKTkKK2IgRmMoOikxNSBiKDopZig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopMzYgYiBGYig2NykyMDI1IDczNyB5IEZlKGNvbnZlcnQtbWV0YSkxNworYiBGYyg6KWUoOilmKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0CitiIEZiKDEwMCkyMDI1IDgyNSB5IEZlKENPUFJPQykxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCi1mKDopZyg6KTMzIGIgRmIoNjgpMTUwIDM0MTcgeSBGZShQT1NJWExZX0NPUlJFQ1QpMTEgYgotRmMoOikxNyBiKDopYyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCi0oOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzgKLWIgRmIoNjgpMTUwIDM1MDQgeSBGZShQUElEKTIzIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NAorYiBGYig2NykyMDI1IDEwNjAgeSBGcihEKTIwMjUgMTE3NyB5IEZlKERJUlNUQUNLKTEyIGIKK0ZjKDopaig6KWUoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOikzOSBiIEZiKDY3KTIwMjUgMTI2NCB5IEZlKGRpc2FibGUtY29tcGxldGlvbikyMgorYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDUgYiBGYigxMDApMjAyNSAxNTE4Cit5IEZyKEUpMjAyNSAxNjM1IHkgRmUoZWRpdGluZy1tb2RlKTE3IGIgRmMoOillKDopZig6KWYoOilnKDopZyg6KWcoOilnCiAoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5Ci1iIEZiKDY4KTE1MCAzNTkyIHkgRmUoUFJPTVBUX0NPTU1BTkQpMTQgYiBGYyg6KWkoOilkKDopZyg6KWgoOilmKDopZyg6KQotZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCi0oOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0MCBiIEZiKDY4KTIwMjUgMjk5IHkgRmUoUFJPTVBUX0RJUlRSSU0pMTQKLWIgRmMoOilpKDopZCg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTQwCi1iIEZiKDY4KTIwMjUgMzg3IHkgRmUoUFMxKTggYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKLWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzQKLWIgRmIoNjEpMjAyNSA0NzUgeSBGZShQUzIpOCBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCi0oOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQotZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNAotYiBGYig2MSkyMDI1IDU2MyB5IEZlKFBTMyk4IGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCi1mKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0Ci1iIEZiKDY4KTIwMjUgNjUxIHkgRmUoUFM0KTggYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKLWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzQKLWIgRmIoNjgpMjAyNSA3MzkgeSBGZShQV0QpOCBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCi0oOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQotZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNAotYiBGYig2OCkyMDI1IDk3NyB5IEZyKFIpMjAyNSAxMDk1IHkgRmUoUkFORE9NKTE3IGIgRmMoOilkKDopZyg6KWYoOilnCi0oOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQotZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCi0oOik0NCBiIEZiKDY4KTIwMjUgMTE4MyB5IEZlKFJFUExZKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCi1mKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2Ci1iIEZiKDY4KTIwMjUgMTI3MSB5IEZlKHJldmVydC1hbGwtYXQtbmV3bGluZSkxMSBiIEZjKDopMTgKLWIoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCi1nKDopZyg6KWcoOilnKDopMzggYiBGYigxMDApMjAyNSAxNTA4IHkgRnIoUykyMDI1IDE2MjYKLXkgRmUoU0VDT05EUykxNSBiIEZjKDopZig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCi1oKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKLSg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDEgYiBGYig2OSkyMDI1IDE3MTQKLXkgRmUoU0hFTEwpMjEgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZwotKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDYgYiBGYig2OSkyMDI1Ci0xODAyIHkgRmUoU0hFTExPUFRTKTkgYiBGYyg6KTE1IGIoOilmKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKLSg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzNiBiIEZiKDY5KTIwMjUgMTg5MAoteSBGZShTSExWTCkyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCi0oOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NiBiIEZiKDY5KTIwMjUKLTE5NzggeSBGZShzaG93LWFsbC1pZi1hbWJpZ3VvdXMpMTEgYiBGYyg6KTE4IGIoOikxMyBiKDopZyg6KWcoOilnKDopZwotKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzgKLWIgRmIoMTAwKTIwMjUgMjA2NyB5IEZlKHNob3ctYWxsLWlmLXVubW9kaWZpZWQpOCBiIEZjKDopMTgKLWIoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOikzNSBiIEZiKDEwMCkyMDI1IDIxNTUgeSBGZShza2lwLWNvbXBsZXRlZC10ZXh0KTE2Ci1iIEZjKDopaCg6KWMoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQzIGIgRmIoMTAwKTIwMjUgMjQxMSB5IEZyKFQpMjAyNQotMjUyOSB5IEZlKFRFWFRET01BSU4pOSBiIEZjKDopMTUgYig6KWUoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM2IGIgRmIoNykyMDI1IDI2MTcKLXkgRmUoVEVYVERPTUFJTkRJUikyMSBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAotKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOilnKDopZyg6KWcoOilnKDopNDYgYiBGYig3KTIwMjUgMjcwNSB5IEZlKFRJTUVGT1JNQVQpNwotYiBGYyg6KTE1IGIoOillKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KTMzIGIgRmIoNjkpMjAyNSAyNzkzIHkgRmUoVE1PVVQpMjEgYiBGYyg6KTEzCi1iKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCi1nKDopZyg6KWgoOilmKDopZyg6KTQ2IGIgRmIoNjkpMjAyNSAyODgxIHkgRmUoVE1QRElSKTE3Ci1iIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCi0oOilnKDopZyg6KWcoOilnKDopZyg6KTQ0IGIgRmIoNzApMjAyNSAzMTE5IHkgRnIoVSkyMDI1Ci0zMjM2IHkgRmUoVUlEKTggYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzQKLWIgRmIoNzApMjAyNSAzNDc0IHkgRnIoVikyMDI1IDM1OTIgeSBGZSh2aXNpYmxlLXN0YXRzKTE0CitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDQgYiBGYigxMDApMjAyNSAxNzIzIHkgRmUoRU1BQ1MpMjEKK2IgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2IGIgRmIoNjcpMjAyNSAxODEwIHkgRmUoZW5hYmxlLWtleXBhZCkxNAogYiBGYyg6KWkoOilkKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKIGcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDEKLWIgRmIoMTAwKTE1MCAzODMxIHkgRnIoRC40KTY4IGIoRiktMTEgYih1bmN0aW9uKTQ0IGIoSW5kZXgpMTUwCi00MDY4IHkoQSkxNTAgNDE5NSB5IEZlKGFib3J0KTI3IGIoXChDLWdcKSk5IGIgRmMoOikxNAotYig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCi0oOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNgotYiBGYigxMTIpMTUwIDQyODcgeSBGZShhY2NlcHQtbGluZSkyOCBiKFwoTmV3bGluZSlnKG9yKWUoUmV0dXJuXCkpZQotRmMoOikxMyBiKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNTAgYgotRmIoMTA3KTE1MCA0MzgwIHkgRmUoYWxpYXMtZXhwYW5kLWxpbmUpMjkgYihcKFwpKTIxIGIKLUZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDcgYiBGYigxMTQpMTUwIDQ2NTkgeSBGcihCKTE1MAotNDc4NSB5IEZlKGJhY2t3YXJkLWNoYXIpMjkgYihcKEMtYlwpKTIzIGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcKK2IgRmIoMTAwKTIwMjUgMTg5OCB5IEZlKEVOVik4IGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZworKDopMzQgYiBGYig2NykyMDI1IDE5ODUgeSBGZShFVUlEKTIzIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKKzQ5IGIgRmIoNjcpMjAyNSAyMDczIHkgRmUoZXhwYW5kLXRpbGRlKTE3IGIgRmMoOillKDopZig6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0IGIgRmIoMTAwKTIwMjUgMjMyNworeSBGcihGKTIwMjUgMjQ0NCB5IEZlKEZDRURJVCkxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0CitiIEZiKDY3KTIwMjUgMjUzMSB5IEZlKEZJR05PUkUpMTUgYiBGYyg6KWYoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTQxCitiIEZiKDY3KTIwMjUgMjYxOSB5IEZlKEZVTkNOQU1FKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIKK0ZiKDY3KTIwMjUgMjcwNyB5IEZlKEZVTkNORVNUKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIKK0ZiKDY3KTIwMjUgMjk0MiB5IEZyKEcpMjAyNSAzMDU5IHkgRmUoR0xPQklHTk9SRSk3IGIKK0ZjKDopMTUgYig6KWUoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopMzMgYiBGYig2NykyMDI1IDMxNDYgeSBGZShHUk9VUFMpMTcgYiBGYyg6KWQoOilnKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NAorYiBGYig2OCkyMDI1IDMzODEgeSBGcihIKTIwMjUgMzQ5OCB5IEZlKGhpc3RjaGFycyk5IGIKK0ZjKDopMTUgYig6KWYoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KTM2IGIgRmIoNjgpMjAyNSAzNTg2IHkgRmUoSElTVENNRCkxNSBiIEZjKDopZig6KWYoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDEKK2IgRmIoNjgpMjAyNSAzNjc0IHkgRmUoSElTVENPTlRST0wpMjQgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0OCBiIEZiKDY4KTIwMjUKKzM3NjEgeSBGZShISVNURklMRSkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOSBiIEZiKDY4KTIwMjUgMzg0OQoreSBGZShISVNURklMRVNJWkUpMjEgYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KTQ1IGIgRmIoNjgpMjAyNSAzOTM2IHkgRmUoSElTVElHTk9SRSk3CitiIEZjKDopMTUgYig6KWUoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopMzMgYiBGYig2OCkyMDI1IDQwMjQgeSBGZShoaXN0b3J5LXByZXNlcnZlLXBvaW50KTgKK2IgRmMoOikxOCBiKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopMzUgYiBGYigxMDApMjAyNSA0MTEyIHkgRmUoaGlzdG9yeS1zaXplKTE3CitiIEZjKDopZSg6KWYoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDQKK2IgRmIoMTAxKTIwMjUgNDE5OSB5IEZlKEhJU1RTSVpFKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5CitiIEZiKDY5KTIwMjUgNDI4NyB5IEZlKEhJU1RUSU1FRk9STUFUKTE0IGIgRmMoOilpKDopZCg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopNDAgYiBGYig2OSkyMDI1IDQzNzUgeSBGZShIT01FKTIzCitiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig2MykyMDI1IDQ0NjIKK3kgRmUoaG9yaXpvbnRhbC1zY3JvbGwtbW9kZSk4IGIgRmMoOikxOCBiKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopMzUKK2IgRmIoMTAxKTIwMjUgNDU1MCB5IEZlKEhPU1RGSUxFKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5CitiIEZiKDY5KTIwMjUgNDYzNyB5IEZlKEhPU1ROQU1FKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIKK0ZiKDY5KTIwMjUgNDcyNSB5IEZlKEhPU1RUWVBFKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIKK0ZiKDY5KTIwMjUgNDk2MCB5IEZyKEkpMjAyNSA1MDc3IHkgRmUoSUZTKTggYiBGYyg6KTEzCitiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0IGIgRmIoNjMpMjAyNSA1MTY1Cit5IEZlKElHTk9SRUVPRik5IGIgRmMoOikxNSBiKDopZig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopMzYgYiBGYig2OSkyMDI1IDUyNTIgeQorRmUoaW5wdXQtbWV0YSkyNCBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoMTAxKTIwMjUgNTM0MCB5IEZlKElOUFVUUkMpMTUKK2IgRmMoOilmKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOik0MSBiIEZiKDY5KXAgZW9wIGVuZAorJSVQYWdlOiAxNTggMTY0CitUZVhEaWN0IGJlZ2luIDE1OCAxNjMgYm9wIDE1MCAtMTE2IGEgRnQoMTU4KTI1MjcgYihCYXNoKTMxCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRmUoaXNlYXJjaC10ZXJtaW5hdG9ycykxNgorYiBGYyg6KWgoOilkKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0MyBiIEZiKDEwMSkxNTAgNTM2IHkgRnIoSykxNTAKKzY1NCB5IEZlKGtleW1hcCkxNSBiIEZjKDopZig6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDIgYiBGYigxMDEpMTUwIDkxMAoreSBGcihMKTE1MCAxMDI3IHkgRmUoTEFORykyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDkKK2IgRmIoNjkpMTUwIDExMTUgeSBGZShMQ19BTEwpMTcgYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MworYiBGYig2OSkxNTAgMTIwMyB5IEZlKExDX0NPTExBVEUpNyBiIEZjKDopMTUgYig6KWUoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzMgYiBGYig2OSkxNTAKKzEyOTEgeSBGZShMQ19DVFlQRSkxMiBiIEZjKDopaig6KWUoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKICg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCi00OSBiIEZiKDEwNikxNTAgNDg3OCB5IEZlKGJhY2t3YXJkLWRlbGV0ZS1jaGFyKTMwIGIoXChSdWJvdXRcKSkxNAotYiBGYyg6KWgoOilmKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTQxCi1iIEZiKDEwOCkxNTAgNDk3MCB5IEZlKGJhY2t3YXJkLWtpbGwtbGluZSkzMCBiKFwoQy14KWMoUnVib3V0XCkpMTYKLWIgRmMoOilmKDopZSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDMgYiBGYigxMDkpMTUwCi01MDYzIHkgRmUoYmFja3dhcmQta2lsbC13b3JkKTMwIGIoXChcKSkxOCBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgKLSg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0NAotYiBGYigxMDkpMTUwIDUxNTUgeSBGZShiYWNrd2FyZC1raWxsLXdvcmQpMzAgYihcKE0tREVMXCkpMjMKLWIgRmMoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKLTQ5IGIgRmIoMTA5KTE1MCA1MjQ4IHkgRmUoYmFja3dhcmQtd29yZCkyOSBiKFwoTS1iXCkpMjMKLWIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDkgYiBGYigxMDYpMTUwIDUzNDAgeQotRmUoYmVnaW5uaW5nLW9mLWhpc3RvcnkpMzAgYihcKE0tPFwpKTIzIGIgRmMoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoMTA3KTIwMjUKLTQwNjggeSBGZShiZWdpbm5pbmctb2YtbGluZSkyOSBiKFwoQy1hXCkpMTMgYiBGYyg6KWgoOilmKDopZyg6KWgoOilmKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQwCi1iIEZiKDEwNikyMDI1IDQzMjkgeSBGcihDKTIwMjUgNDQ0OSB5IEZlKGNhbGwtbGFzdC1rYmQtbWFjcm8pMzAKLWIoXChDLXgpYyhlXCkpOSBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCi0oOiloKDopZig6KWcoOikzNiBiIEZiKDExMikyMDI1IDQ1MzggeSBGZShjYXBpdGFsaXplLXdvcmQpMjkKLWIoXChNLWNcKSkxOCBiIEZjKDopYyg6KWYoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NSBiIEZiKDEwOSkyMDI1IDQ2MjcKLXkgRmUoY2hhcmFjdGVyLXNlYXJjaCkyOSBiKFwoQy1dXCkpMTUgYiBGYyg6KWYoOilnKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0MgotYiBGYigxMTMpMjAyNSA0NzE2IHkgRmUoY2hhcmFjdGVyLXNlYXJjaC1iYWNrd2FyZCkzMQotYihcKE0tQy1dXCkpMjMgYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0OAotYiBGYigxMTMpMjAyNSA0ODA2IHkgRmUoY2xlYXItc2NyZWVuKTI4IGIoXChDLWxcKSk4IGIKLUZjKDopMTUgYig6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAotKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzUgYiBGYigxMDYpMjAyNQotNDg5NSB5IEZlKGNvbXBsZXRlKTI3IGIoXChUQUJcKSkyMCBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOiloKDopZgorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopMzggYiBGYig3MCkxNTAgMTM4MAoreSBGZShMQ19NRVNTQUdFUykxMyBiIEZjKDopaig6KWQoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOik0MCBiIEZiKDcsKTI2IGIoNzApMTUwIDE0NjggeSBGZShMQ19OVU1FUklDKTcKK2IgRmMoOikxNSBiKDopZSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOikzMyBiIEZiKDcwKTE1MCAxNTU2IHkgRmUoTElORU5PKTE3IGIgRmMoOillKDopZSg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDMKK2IgRmIoNzApMTUwIDE2NDQgeSBGZShMSU5FUykyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NgorYiBGYig3MCkxNTAgMTg4MSB5IEZyKE0pMTUwIDE5OTggeSBGZShNQUNIVFlQRSkxMiBiIEZjKDopaig6KWUoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzOAorYiBGYig3MCkxNTAgMjA4NyB5IEZlKE1BSUwpMjMgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5CitiIEZiKDYzKTE1MCAyMTc1IHkgRmUoTUFJTENIRUNLKTkgYiBGYyg6KTE2IGIoOilkKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNiBiCitGYig3MCkxNTAgMjI2MyB5IEZlKE1BSUxQQVRIKTEyIGIgRmMoOilqKDopZSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM4IGIgRmIoNjMpMTUwCisyMzUxIHkgRmUoTUFQRklMRSkxNSBiIEZjKDopZig6KWYoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDEgYiBGYig3MCkxNTAKKzI0MzkgeSBGZShtYXJrLW1vZGlmaWVkLWxpbmVzKTE2IGIgRmMoOiloKDopZCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDMKK2IgRmIoMTAxKTE1MCAyNTI3IHkgRmUobWFyay1zeW1saW5rZWQtZGlyZWN0b3JpZXMpMTYKK2IgRmMoOilpKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKKzQyIGIgRmIoMTAxKTE1MCAyNjE1IHkgRmUobWF0Y2gtaGlkZGVuLWZpbGVzKTIzIGIgRmMoOikxMworYig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NSBiIEZiKDEwMSkxNTAgMjcwMyB5IEZlCisobWVudS1jb21wbGV0ZS1kaXNwbGF5LXByZWZpeCkxMSBiIEZjKDopMTkgYig6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzcgYiBGYigxMDIpMTUwIDI3OTEgeSBGZShtZXRhLWZsYWcpNworYiBGYyg6KTE2IGIoOilkKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCitnKDopZyg6KTM0IGIgRmIoMTAxKTE1MCAzMDQ3IHkgRnIoTykxNTAgMzE2NCB5IEZlKE9MRFBXRCkxNworYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOik0MyBiIEZiKDcwKTE1MCAzMjUyIHkgRmUoT1BUQVJHKTE3CitiIEZjKDopZSg6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KTQzIGIgRmIoNjMpMTUwIDMzNDAgeSBGZShPUFRFUlIpMTcKK2IgRmMoOillKDopZSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopNDMgYiBGYig3MCkxNTAgMzQyOCB5IEZlKE9QVElORCkxNworYiBGYyg6KWUoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOik0MyBiIEZiKDYzKTE1MCAzNTE2IHkgRmUoT1NUWVBFKTE3CitiIEZjKDopZSg6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KTQzIGIgRmIoNzApMTUwIDM2MDQgeSBGZShvdXRwdXQtbWV0YSkyMgorYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0NgorYiBGYigxMDIpMTUwIDM4NjAgeSBGcihQKTE1MCAzOTc4IHkgRmUocGFnZS1jb21wbGV0aW9ucyk3CitiIEZjKDopMTYgYig6KWQoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzMyBiIEZiKDEwMikxNTAKKzQwNjYgeSBGZShQQVRIKTIzIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0OQorYiBGYig2MykyMDI1IDI5OSB5IEZlKFBJUEVTVEFUVVMpNyBiIEZjKDopMTUgYig6KWUoOilnKDopZyg6KWgoOilmKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzMgYiBGYig3MCkyMDI1CiszODYgeSBGZShQT1NJWExZX0NPUlJFQ1QpMTEgYiBGYyg6KTE3IGIoOiljKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKK2coOilnKDopZyg6KTM4IGIgRmIoNzApMjAyNSA0NzMgeSBGZShQUElEKTIzIGIgRmMoOikxMworYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYig3MCkyMDI1IDU2MCB5IEZlKFBST01QVF9DT01NQU5EKTE0CitiIEZjKDopaSg6KWQoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0MAorYiBGYig3MCkyMDI1IDY0OCB5IEZlKFBST01QVF9ESVJUUklNKTE0IGIgRmMoOilpKDopZCg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopNDAgYiBGYig3MSkyMDI1IDczNSB5IEZlKFBTMSk4CitiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNCBiIEZiKDYzKTIwMjUKKzgyMiB5IEZlKFBTMik4IGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKICg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCi1nKDopZyg6KWcoOilnKDopaCg6KTQ1IGIgRmIoMTEwKTIwMjUgNDk4NCB5IEZlKGNvbXBsZXRlLWNvbW1hbmQpMjkKLWIoXChNLSFcKSkxNSBiIEZjKDopZig6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZwotKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTQyIGIgRmIoMTExKTIwMjUgNTA3MwoteSBGZShjb21wbGV0ZS1maWxlbmFtZSkyOSBiKFwoTS0vXCkpMTMgYiBGYyg6KWgoOilmKDopZyg6KWgoOilmKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQwCi1iIEZiKDExMSkyMDI1IDUxNjIgeSBGZShjb21wbGV0ZS1ob3N0bmFtZSkyOSBiKFwoTS1AXCkpMTMKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzQKK2IgRmIoNjMpMjAyNSA5MDkgeSBGZShQUzMpOCBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNAorYiBGYig3MSkyMDI1IDk5NiB5IEZlKFBTNCk4IGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM0CitiIEZiKDcxKTIwMjUgMTA4MyB5IEZlKFBXRCk4IGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorMzQgYiBGYig3MSkyMDI1IDEzMTYgeSBGcihSKTIwMjUgMTQzMiB5IEZlKFJBTkRPTSkxNworYiBGYyg6KWQoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOik0NCBiIEZiKDcxKTIwMjUgMTUxOSB5IEZlKFJFQURMSU5FX0xJTkUpMTYKK2IgRmMoOilnKDopZCg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0MworYiBGYig3MSkyMDI1IDE2MDYgeSBGZShSRUFETElORV9QT0lOVCkxNCBiIEZjKDopaSg6KWQoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTQwIGIgRmIoNzEpMjAyNSAxNjk0IHkgRmUoUkVQTFkpMjEKK2IgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2IGIgRmIoNzEpMjAyNSAxNzgxIHkgRmUKKyhyZXZlcnQtYWxsLWF0LW5ld2xpbmUpMTEgYiBGYyg6KTE4IGIoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzgKK2IgRmIoMTAyKTIwMjUgMjAxNCB5IEZyKFMpMjAyNSAyMTMwIHkgRmUoU0VDT05EUykxNSBiCitGYyg6KWYoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KTQxIGIgRmIoNzEpMjAyNSAyMjE3IHkgRmUoU0hFTEwpMjEgYgorRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQorZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2IGIgRmIoNzEpMjAyNSAyMzA0IHkgRmUoU0hFTExPUFRTKTkKK2IgRmMoOikxNSBiKDopZig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopMzYgYiBGYig3MSkyMDI1IDIzOTEgeSBGZShTSExWTCkyMSBiIEZjKDopMTMKK2IoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopNDYgYiBGYig3MSkyMDI1IDI0NzggeSBGZShzaG93LWFsbC1pZi1hbWJpZ3VvdXMpMTEKK2IgRmMoOikxOCBiKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM4IGIgRmIoMTAyKTIwMjUgMjU2NSB5IEZlCisoc2hvdy1hbGwtaWYtdW5tb2RpZmllZCk4IGIgRmMoOikxOCBiKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopMzUgYgorRmIoMTAyKTIwMjUgMjY1MyB5IEZlKHNraXAtY29tcGxldGVkLXRleHQpMTYgYiBGYyg6KWgoOiljKDopZyg6KWgoOilmCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQorZyg6KTQzIGIgRmIoMTAyKTIwMjUgMjkwNCB5IEZyKFQpMjAyNSAzMDIwIHkgRmUoVEVYVERPTUFJTik5CitiIEZjKDopMTUgYig6KWUoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KTM2IGIgRmIoNykyMDI1IDMxMDcgeSBGZShURVhURE9NQUlORElSKTIxCitiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ2CitiIEZiKDcpMjAyNSAzMTk0IHkgRmUoVElNRUZPUk1BVCk3IGIgRmMoOikxNSBiKDopZSg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikzMyBiIEZiKDcxKTIwMjUKKzMyODIgeSBGZShUTU9VVCkyMSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NiBiCitGYig3MikyMDI1IDMzNjkgeSBGZShUTVBESVIpMTcgYiBGYyg6KWQoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NAorYiBGYig3MikyMDI1IDM2MDEgeSBGcihVKTIwMjUgMzcxNyB5IEZlKFVJRCk4IGIgRmMoOikxMworYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNCBiIEZiKDcyKTIwMjUgMzk1MAoreSBGcihWKTIwMjUgNDA2NiB5IEZlKHZpc2libGUtc3RhdHMpMTQgYiBGYyg6KWkoOilkKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOiloKDopZig6KWcoOik0MSBiIEZiKDEwMykxNTAgNDI5OSB5IEZyKEQuNCk2OAorYihGKS0xMSBiKHVuY3Rpb24pNDQgYihJbmRleCkxNTAgNDUzNSB5KEEpMTUwIDQ2NjEgeQorRmUoYWJvcnQpMjcgYihcKEMtZ1wpKTkgYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOikzNiBiIEZiKDExNCkxNTAgNDc1MyB5IEZlKGFjY2VwdC1saW5lKTI4CitiKFwoTmV3bGluZSlnKG9yKWUoUmV0dXJuXCkpZSBGYyg6KTEzIGIoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KTUwIGIgRmIoMTA5KTE1MCA0ODQ1IHkgRmUoYWxpYXMtZXhwYW5kLWxpbmUpMjkKK2IoXChcKSkyMSBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZworKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDcgYiBGYigxMTYpMTUwCis1MTIyIHkgRnIoQikxNTAgNTI0OCB5IEZlKGJhY2t3YXJkLWNoYXIpMjkgYihcKEMtYlwpKTIzCitiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ5IGIgRmIoMTA4KTE1MCA1MzQwIHkKK0ZlKGJhY2t3YXJkLWRlbGV0ZS1jaGFyKTMwIGIoXChSdWJvdXRcKSkxNCBiIEZjKDopaCg6KWYoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0MSBiIEZiKDExMCkyMDI1IDQ1MzUgeSBGZQorKGJhY2t3YXJkLWtpbGwtbGluZSkyOSBiKFwoQy14KWUoUnVib3V0XCkpMTYgYiBGYyg6KWYoOillKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KTQzIGIgRmIoMTExKTIwMjUgNDYyMiB5IEZlKGJhY2t3YXJkLWtpbGwtd29yZCkyOQorYihcKE0tREVMXCkpMjQgYiBGYyg6KTEzIGIoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopNDkgYiBGYigxMTEpMjAyNSA0NzEwIHkgRmUoYmFja3dhcmQtd29yZCkyOAorYihcKE0tYlwpKWMgRmMoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNTAgYiBGYigxMDgpMjAyNQorNDc5NyB5IEZlKGJlZ2lubmluZy1vZi1oaXN0b3J5KTMwIGIoXChNLTxcKSkyMyBiIEZjKDopMTMKK2IoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ5CitiIEZiKDEwOSkyMDI1IDQ4ODQgeSBGZShiZWdpbm5pbmctb2YtbGluZSkyOSBiKFwoQy1hXCkpMTMKIGIgRmMoOiloKDopZig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCi1nKDopZyg6KWcoOik0MCBiIEZiKDExMSkyMDI1IDUyNTEgeSBGZShjb21wbGV0ZS1pbnRvLWJyYWNlcykzMAotYihcKE0te1wpKTIzIGIgRmMoOikxMyBiKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOilnKDopZyg6KTQ5IGIgRmIoMTEyKTIwMjUgNTM0MCB5IEZlKGNvbXBsZXRlLXVzZXJuYW1lKTI5Ci1iKFwoTS1+XCkpMTMgYiBGYyg6KWgoOilmKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKLSg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTQwIGIgRmIoMTExKXAgZW9wIGVuZAotJSVQYWdlOiAxNTUgMTYxCi1UZVhEaWN0IGJlZ2luIDE1NSAxNjAgYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKLWIoRDopaShJbmRleGVzKTI2MjMgYigxNTUpMTUwIDI5OSB5IEZlKGNvbXBsZXRlLXZhcmlhYmxlKTI5Ci1iKFwoTS0kXCkpMTMgYiBGYyg6KWgoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM5IGIgRmIoMTExKTE1MCAzODkgeSBGZShjb3B5LWJhY2t3YXJkLXdvcmQpCi0zMCBiKFwoXCkpMTggYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQotaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDQgYiBGYigxMTApMTUwIDQ3OQorZyg6KWcoOilnKDopNDAgYiBGYigxMDgpMjAyNSA1MTM2IHkgRnIoQykyMDI1IDUyNTMgeQorRmUoY2FsbC1sYXN0LWtiZC1tYWNybykzMCBiKFwoQy14KWMoZVwpKTkgYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOiloCisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzYgYiBGYigxMTQpMjAyNQorNTM0MCB5IEZlKGNhcGl0YWxpemUtd29yZCkyOSBiKFwoTS1jXCkpMTggYiBGYyg6KWMoOilmKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDUKK2IgRmIoMTExKXAgZW9wIGVuZAorJSVQYWdlOiAxNTkgMTY1CitUZVhEaWN0IGJlZ2luIDE1OSAxNjQgYm9wIDE1MCAtMTE2IGEgRnQoQXBwKXMoZW5kaXgpMjkKK2IoRDopaShJbmRleGVzKTI2MjMgYigxNTkpMTUwIDI5OSB5IEZlKGNoYXJhY3Rlci1zZWFyY2gpMjkKK2IoXChDLV1cKSkxNSBiIEZjKDopZyg6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQyIGIgRmIoMTE1KTE1MCAzODcgeQorRmUoY2hhcmFjdGVyLXNlYXJjaC1iYWNrd2FyZCkzMSBiKFwoTS1DLV1cKSkyMyBiIEZjKDopMTMKK2IoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0OCBiIEZiKDExNSkxNTAgNDc0IHkgRmUoY2xlYXItc2NyZWVuKTI4CitiKFwoQy1sXCkpOCBiIEZjKDopMTUgYig6KWUoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopMzUKK2IgRmIoMTA4KTE1MCA1NjIgeSBGZShjb21wbGV0ZSkyNyBiKFwoVEFCXCkpMjAgYiBGYyg6KTEzCitiKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDUgYiBGYigxMTIpMTUwCis2NTAgeSBGZShjb21wbGV0ZS1jb21tYW5kKTI5IGIoXChNLSFcKSkxNSBiIEZjKDopZyg6KWUoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQyCitiIEZiKDExNCkxNTAgNzM4IHkgRmUoY29tcGxldGUtZmlsZW5hbWUpMjkgYihcKE0tL1wpKTEzCitiIEZjKDopaCg6KWYoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWgoOilmKDopMzkgYiBGYigxMTMpMTUwIDgyNSB5IEZlKGNvbXBsZXRlLWhvc3RuYW1lKTI5CitiKFwoTS1AXCkpMTMgYiBGYyg6KWgoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM5IGIgRmIoMTEzKTE1MCA5MTMgeSBGZQorKGNvbXBsZXRlLWludG8tYnJhY2VzKTMwIGIoXChNLXtcKSkyMyBiIEZjKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDExNCkxNTAKKzEwMDEgeSBGZShjb21wbGV0ZS11c2VybmFtZSkyOSBiKFwoTS1+XCkpMTMgYiBGYyg6KWgoOilmKDopaCg6KWYoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM5CitiIEZiKDExMykxNTAgMTA4OSB5IEZlKGNvbXBsZXRlLXZhcmlhYmxlKTI5IGIoXChNLSRcKSkxMworYiBGYyg6KWgoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KTM5IGIgRmIoMTEzKTE1MCAxMTc2IHkgRmUoY29weS1iYWNrd2FyZC13b3JkKTMwCitiKFwoXCkpMTggYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKKyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDQgYiBGYigxMTIpMTUwIDEyNjQKIHkgRmUoY29weS1mb3J3YXJkLXdvcmQpMjkgYihcKFwpKTIxIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnCiAoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NwotYiBGYigxMTApMTUwIDU2OSB5IEZlKGNvcHktcmVnaW9uLWFzLWtpbGwpMzAgYihcKFwpKTE1CitiIEZiKDExMikxNTAgMTM1MiB5IEZlKGNvcHktcmVnaW9uLWFzLWtpbGwpMzAgYihcKFwpKTE1CiBiIEZjKDopZig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQotZyg6KWcoOilnKDopZyg6KTQyIGIgRmIoMTEwKTE1MCA4MzYgeSBGcihEKTE1MCA5NTggeQotRmUoZGFiYnJldi1leHBhbmQpMjkgYihcKFwpKTExIGIgRmMoOilpKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCi0zOCBiIEZiKDExMikxNTAgMTA0OCB5IEZlKGRlbGV0ZS1jaGFyKTI4IGIoXChDLWRcKSkxMQorZyg6KWcoOilnKDopZyg6KTQyIGIgRmIoMTEyKTE1MCAxNjA2IHkgRnIoRCkxNTAgMTcyNAoreSBGZShkYWJicmV2LWV4cGFuZCkyOSBiKFwoXCkpMTEgYiBGYyg6KWkoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQorZyg6KTM4IGIgRmIoMTE0KTE1MCAxODExIHkgRmUoZGVsZXRlLWNoYXIpMjggYihcKEMtZFwpKTExCiBiIEZjKDopaig6KWYoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM4IGIgRmIoMTA4KTE1MAotMTEzOCB5IEZlKGRlbGV0ZS1jaGFyLW9yLWxpc3QpMzAgYihcKFwpKTE1IGIgRmMoOilmKDopZig6KWcoOilnKDopZyg6KWcKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOCBiIEZiKDExMCkxNTAKKzE4OTkgeSBGZShkZWxldGUtY2hhci1vci1saXN0KTMwIGIoXChcKSkxNSBiIEZjKDopZig6KWYoOilnKDopZyg6KWcoOilnCiAoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQyCi1iIEZiKDExMSkxNTAgMTIyOCB5IEZlKGRlbGV0ZS1ob3Jpem9udGFsLXNwYWNlKTMxIGIoXChcKSkyMgorYiBGYigxMTMpMTUwIDE5ODcgeSBGZShkZWxldGUtaG9yaXpvbnRhbC1zcGFjZSkzMSBiKFwoXCkpMjIKIGIgRmMoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKLTQ5IGIgRmIoMTA5KTE1MCAxMzE4IHkgRmUoZGlnaXQtYXJndW1lbnQpMjkgYihcKClwIEZkKE0tMClwCis0OSBiIEZiKDExMikxNTAgMjA3NSB5IEZlKGRpZ2l0LWFyZ3VtZW50KTI5IGIoXCgpcCBGZChNLTApcAogRmUoLCllIEZkKE0tMSlwIEZlKCwpZiguLi4pZyBGZChNLS0pcCBGZShcKSlkIEZjKDopMTMKLWIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OSBiIEZiKDExMCkxNTAgMTQwOCB5IEZlCitiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigxMTIpMTUwIDIxNjIgeSBGZQogKGRpc3BsYXktc2hlbGwtdmVyc2lvbikzMCBiKFwoQy14KWQoQy12XCkpMTYgYiBGYyg6KWUoOilmKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KTQzIGIgRmIoMTE0KTE1MCAxNDk5IHkgRmUoZG8tdXBwZXJjYXNlLXZlcnNpb24pCisoOilmKDopZyg6KWcoOilnKDopZyg6KTQzIGIgRmIoMTE2KTE1MCAyMjUwIHkgRmUoZG8tdXBwZXJjYXNlLXZlcnNpb24pCiAzMCBiKFwoTS1hLClkKE0tYiwpZihNLSlwIEZkKHgpOSBiIEZlKCwpMjcgYiguLi5cKSkzMjUKLTE1ODYgeSBGYyg6KTEzIGIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCisyMzM3IHkgRmMoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQogZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ4IGIgRmIoMTEyKTE1MCAxNjc2CisoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ4IGIgRmIoMTE0KTE1MCAyNDI1CiB5IEZlKGRvd25jYXNlLXdvcmQpMjkgYihcKE0tbFwpKTIzIGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOilnCiAoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDkKLWIgRmIoMTA4KTE1MCAxNzY2IHkgRmUoZHVtcC1mdW5jdGlvbnMpMjkgYihcKFwpKTExIGIKK2IgRmIoMTExKTE1MCAyNTEzIHkgRmUoZHVtcC1mdW5jdGlvbnMpMjkgYihcKFwpKTExIGIKIEZjKDopaSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM4IGIgRmIoMTEzKTE1MAotMTg1NiB5IEZlKGR1bXAtbWFjcm9zKTI4IGIoXChcKSkxOSBiIEZjKDopMTMgYig6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzggYiBGYigxMTUpMTUwCisyNjAwIHkgRmUoZHVtcC1tYWNyb3MpMjggYihcKFwpKTE5IGIgRmMoOikxMyBiKDopZyg6KWcoOiloKDopZig6KWcoOilnCiAoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWcoOiloKDopZig6KWcoOik0NSBiIEZiKDExMykxNTAgMTk0NiB5IEZlKGR1bXAtdmFyaWFibGVzKTI5CitnKDopZyg6KWgoOilmKDopZyg6KTQ1IGIgRmIoMTE2KTE1MCAyNjg4IHkgRmUoZHVtcC12YXJpYWJsZXMpMjkKIGIoXChcKSkxMSBiIEZjKDopaSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM4Ci1iIEZiKDExMykxNTAgMjAzNiB5IEZlKGR5bmFtaWMtY29tcGxldGUtaGlzdG9yeSkzMSBiKFwoTS1UQUJcKSk3Ci1iIEZjKDopMTUgYig6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzMgYiBGYigxMTIpMTUwCi0yMzAzIHkgRnIoRSkxNTAgMjQyNSB5IEZlKGVkaXQtYW5kLWV4ZWN1dGUtY29tbWFuZCllKFwoQy14Qy1lXCkpMjMKLWIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDggYiBGYigxMTQpMTUwCi0yNTE1IHkgRmUoZW5kLWtiZC1tYWNybykyOSBiKFwoQy14KWQoXClcKSk3IGIgRmMoOikxNAorYiBGYigxMTYpMTUwIDI3NzYgeSBGZShkeW5hbWljLWNvbXBsZXRlLWhpc3RvcnkpMzEgYihcKE0tVEFCXCkpNworYiBGYyg6KTE1IGIoOillKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTMzIGIgRmIoMTE0KTE1MAorMzAzMCB5IEZyKEUpMTUwIDMxNDggeSBGZShlZGl0LWFuZC1leGVjdXRlLWNvbW1hbmQpZShcKEMteEMtZVwpKTIzCitiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ4IGIgRmIoMTE3KTE1MAorMzIzNSB5IEZlKGVuZC1rYmQtbWFjcm8pMjkgYihcKEMteClkKFwpXCkpNyBiIEZjKDopMTQKIGIoOilmKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KTM0IGIgRmIoMTEyKTE1MCAyNjA1IHkgRmUoZW5kLW9mLWhpc3RvcnkpMjkKKyg6KWcoOiloKDopZig6KWcoOikzNCBiIEZiKDExNCkxNTAgMzMyMyB5IEZlKGVuZC1vZi1oaXN0b3J5KTI5CiBiKFwoTS0+XCkpMjEgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQotZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ3IGIgRmIoMTA3KTE1MAotMjY5NSB5IEZlKGVuZC1vZi1saW5lKTI4IGIoXChDLWVcKSkxMSBiIEZjKDopaig6KWYoOilnKDopaCg6KWYoOilnKDopZworZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ3IGIgRmIoMTA5KTE1MAorMzQxMSB5IEZlKGVuZC1vZi1saW5lKTI4IGIoXChDLWVcKSkxMSBiIEZjKDopaig6KWYoOilnKDopaCg6KWYoOilnKDopZwogKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKLWcoOilnKDopMzggYiBGYigxMDYpMTUwIDI3ODUgeSBGZShleGNoYW5nZS1wb2ludC1hbmQtbWFyaykzMQorZyg6KWcoOikzOCBiIEZiKDEwOCkxNTAgMzQ5OSB5IEZlKGV4Y2hhbmdlLXBvaW50LWFuZC1tYXJrKTMxCiBiKFwoQy14KTI2IGIoQy14XCkpMTEgYiBGYyg6KWooOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopMzgKLWIgRmIoMTEzKTE1MCAzMDUyIHkgRnIoRikxNTAgMzE3NCB5IEZlKGZvcndhcmQtYmFja3dhcmQtZGVsZXRlLWNoYXIpMzIKK2IgRmIoMTE1KTE1MCAzNzUzIHkgRnIoRikxNTAgMzg3MCB5IEZlKGZvcndhcmQtYmFja3dhcmQtZGVsZXRlLWNoYXIpMzIKIGIoXChcKSk5IGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopMzYKLWIgRmIoMTA4KTE1MCAzMjY0IHkgRmUoZm9yd2FyZC1jaGFyKTI4IGIoXChDLWZcKSk4IGIKK2IgRmIoMTEwKTE1MCAzOTU4IHkgRmUoZm9yd2FyZC1jaGFyKTI4IGIoXChDLWZcKSk4IGIKIEZjKDopMTUgYig6KWUoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZwotKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopMzUgYiBGYigxMDYpMTUwCi0zMzU0IHkgRmUoZm9yd2FyZC1zZWFyY2gtaGlzdG9yeSljKFwoQy1zXCkpMTcgYiBGYyg6KWQoOilmKDopZyg6KWcoOilnCi0oOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ0IGIgRmIoMTA3KTE1MCAzNDQ1CisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikzNSBiIEZiKDEwOCkxNTAKKzQwNDYgeSBGZShmb3J3YXJkLXNlYXJjaC1oaXN0b3J5KWMoXChDLXNcKSkxNyBiIEZjKDopZCg6KWYoOilnKDopZyg6KWcKKyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDQgYiBGYigxMDkpMTUwIDQxMzQKIHkgRmUoZm9yd2FyZC13b3JkKTI4IGIoXChNLWZcKSk4IGIgRmMoOikxNSBiKDopZSg6KWcoOilnKDopZyg6KWgoOilmKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KTM1IGIgRmIoMTA2KTE1MCAzNzAxIHkgRnIoRykxNTAgMzgyMyB5IEZlKGdsb2ItY29tcGxldGUtd29yZCkzMAorKDopMzUgYiBGYigxMDgpMTUwIDQzNzggeSBGcihHKTE1MCA0NDk1IHkgRmUoZ2xvYi1jb21wbGV0ZS13b3JkKTMwCiBiKFwoTS1nXCkpMTAgYiBGYyg6KWsoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKLSg6KWYoOilnKDopZyg6KWcoOilnKDopMzcgYiBGYigxMTQpMTUwIDM5MTMgeSBGZShnbG9iLWV4cGFuZC13b3JkKTI5CisoOilmKDopZyg6KWcoOilnKDopZyg6KTM3IGIgRmIoMTE2KTE1MCA0NTgzIHkgRmUoZ2xvYi1leHBhbmQtd29yZCkyOQogYihcKEMteCllKCpcKSkxNyBiIEZjKDopYyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCi0oOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0NCBiIEZiKDExNCkxNTAgNDAwMyB5IEZlCisoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0NCBiIEZiKDExNikxNTAgNDY3MCB5IEZlCiAoZ2xvYi1saXN0LWV4cGFuc2lvbnMpMzAgYihcKEMteClkKGdcKSk3IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KQotaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzMgYiBGYigxMTQpMTUwIDQyNzAKLXkgRnIoSCkxNTAgNDM5MiB5IEZlKGhpc3RvcnktYW5kLWFsaWFzLWV4cGFuZC1saW5lKWYoXChcKSk3Ci1iIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzMgYiBGYigxMTQpMTUwCi00NDgyIHkgRmUoaGlzdG9yeS1leHBhbmQtbGluZSlkKFwoTS1eXCkpOCBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTMzIGIgRmIoMTE2KTE1MCA0OTI1Cit5IEZyKEgpMTUwIDUwNDIgeSBGZShoaXN0b3J5LWFuZC1hbGlhcy1leHBhbmQtbGluZSlmKFwoXCkpNworYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTMzIGIgRmIoMTE2KTE1MAorNTEzMCB5IEZlKGhpc3RvcnktZXhwYW5kLWxpbmUpZChcKE0tXlwpKTggYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnCiAoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNAotYiBGYigxMTQpMTUwIDQ1NzIgeSBGZShoaXN0b3J5LXNlYXJjaC1iYWNrd2FyZClkKFwoXCkpMjIKK2IgRmIoMTE2KTE1MCA1MjE3IHkgRmUoaGlzdG9yeS1zZWFyY2gtYmFja3dhcmQpZChcKFwpKTIyCiBiIEZjKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCi00OSBiIEZiKDEwNykxNTAgNDY2MiB5IEZlKGhpc3Rvcnktc2VhcmNoLWZvcndhcmQpMzEgYihcKFwpKTgKKzQ5IGIgRmIoMTA5KTE1MCA1MzA1IHkgRmUoaGlzdG9yeS1zZWFyY2gtZm9yd2FyZCkzMSBiKFwoXCkpOAogYiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKLSg6KWcoOikzNCBiIEZiKDEwNykxNTAgNDkyOSB5IEZyKEkpMTUwIDUwNTEgeSBGZShpbnNlcnQtY29tbWVudCkyOQotYihcKE0tI1wpKTIxIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NyBiIEZiKDExMykxNTAKLTUxNDEgeSBGZShpbnNlcnQtY29tcGxldGlvbnMpMzAgYihcKE0tKlwpKTEwIGIgRmMoOilrKDopZig6KWcoOilnKDopaAotKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM3Ci1iIEZiKDExMSkxNTAgNTIzMSB5IEZlKGluc2VydC1sYXN0LWFyZ3VtZW50KTMwIGIoXChNLS4pZChvcilmKE0tX1wpKTE4Ci1iIEZjKDopYyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0NSBiIEZiKDExNCkyMDI1Ci0yOTkgeSBGcihLKTIwMjUgNDE2IHkgRmUoa2lsbC1saW5lKTI3IGIoXChDLWtcKSkxNiBiCi1GYyg6KWYoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCi0oOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQzIGIgRmIoMTA5KTIwMjUKLTUwMyB5IEZlKGtpbGwtcmVnaW9uKTI4IGIoXChcKSkxOSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopNDUgYiBGYigxMTApMjAyNSA1OTEgeSBGZShraWxsLXdob2xlLWxpbmUpMjkKLWIoXChcKSk4IGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCi1nKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzNSBiCi1GYigxMDkpMjAyNSA2NzggeSBGZShraWxsLXdvcmQpMjcgYihcKE0tZFwpKTE2IGIgRmMoOilmKDopZSg6KWcoOilnKDopZwotKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWcoOiloKDopZig6KWcoOilnKDopZyg6KTQzIGIgRmIoMTA5KTIwMjUgOTIxIHkgRnIoTSkyMDI1Ci0xMDM4IHkgRmUobWFnaWMtc3BhY2UpMjggYihcKFwpKTE5IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWgoOilmCi0oOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQotZyg6KWcoOilnKDopZyg6KWgoOik0NSBiIEZiKDExNCkyMDI1IDExMjYgeSBGZShtZW51LWNvbXBsZXRlKTI4Ci1iKFwoXCkpMTMgYiBGYyg6KWgoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCi0oOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopNDAKLWIgRmIoMTExKTIwMjUgMTIxMyB5IEZlKG1lbnUtY29tcGxldGUtYmFja3dhcmQpMzAgYihcKFwpKTgKLWIgRmMoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCi0oOiloKDopMzQgYiBGYigxMTEpMjAyNSAxNDY3IHkgRnIoTikyMDI1IDE1ODQgeSBGZShuZXh0LWhpc3RvcnkpMjgKKyg6KWcoOikzNCBiIEZiKDEwOSkyMDI1IDI5OSB5IEZyKEkpMjAyNSA0MTYgeSBGZShpbnNlcnQtY29tbWVudCkyOQorYihcKE0tI1wpKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NyBiIEZiKDExNSkyMDI1Cis1MDMgeSBGZShpbnNlcnQtY29tcGxldGlvbnMpMjkgYihcKE0tKlwpKTEwIGIgRmMoOikxNQorYig6KWUoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOikzNyBiIEZiKDExMykyMDI1IDU5MSB5IEZlKGluc2VydC1sYXN0LWFyZ3VtZW50KTMwCitiKFwoTS0uKWMob3IpZyhNLV9cKSkxOCBiIEZjKDopYyg6KWYoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0NQorYiBGYigxMTYpMjAyNSA4NDQgeSBGcihLKTIwMjUgOTYxIHkgRmUoa2lsbC1saW5lKTI3IGIoXChDLWtcKSkxNgorYiBGYyg6KWYoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKK2YoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQzIGIKK0ZiKDExMSkyMDI1IDEwNDggeSBGZShraWxsLXJlZ2lvbikyOCBiKFwoXCkpMTkgYiBGYyg6KTEzCitiKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDUgYiBGYigxMTIpMjAyNQorMTEzNiB5IEZlKGtpbGwtd2hvbGUtbGluZSkyOSBiKFwoXCkpOCBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOikzNSBiIEZiKDExMSkyMDI1IDEyMjQgeSBGZShraWxsLXdvcmQpMjcgYihcKE0tZFwpKTE2CitiIEZjKDopZig6KWUoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDMgYgorRmIoMTExKTIwMjUgMTQ2NyB5IEZyKE0pMjAyNSAxNTgzIHkgRmUobWFnaWMtc3BhY2UpMjgKK2IoXChcKSkxOSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ1CitiIEZiKDExNikyMDI1IDE2NzEgeSBGZShtZW51LWNvbXBsZXRlKTI4IGIoXChcKSkxMyBiCitGYyg6KWgoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopNDAgYiBGYigxMTMpMjAyNQorMTc1OCB5IEZlKG1lbnUtY29tcGxldGUtYmFja3dhcmQpMzAgYihcKFwpKTggYiBGYyg6KTEzCitiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTM0CitiIEZiKDExMykyMDI1IDIwMTIgeSBGcihOKTIwMjUgMjEyOSB5IEZlKG5leHQtaGlzdG9yeSkyOAogYihcKEMtblwpKTggYiBGYyg6KTE1IGIoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKICg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM1Ci1iIEZiKDEwNykyMDI1IDE2NzEgeSBGZShub24taW5jcmVtZW50YWwtZm9yd2FyZC1zZWFyY2gpcSgtaGlzdClxKG9yeSlkCi0oXChNLW5cKSkyMjAwIDE3NTggeSBGYyg6KTEzIGIoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCitiIEZiKDEwOSkyMDI1IDIyMTYgeSBGZShub24taW5jcmVtZW50YWwtZm9yd2FyZC1zZWFyY2gpcSgtaGlzdClxKG9yeSlkCisoXChNLW5cKSkyMjAwIDIzMDMgeSBGYyg6KTEzIGIoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCiAoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQogZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDkgYgotRmIoMTA3KTIwMjUgMTg0NiB5IEZlKG5vbi1pbmNyZW1lbnRhbC1yZXZlcnNlLXNlYXJjaClxKC1oaXN0KXEob3J5KTMyCi1iKFwoTS1wXCkpMjIwMCAxOTMzIHkgRmMoOikxMyBiKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAorRmIoMTA5KTIwMjUgMjM5MSB5IEZlKG5vbi1pbmNyZW1lbnRhbC1yZXZlcnNlLXNlYXJjaClxKC1oaXN0KXEob3J5KTMyCitiKFwoTS1wXCkpMjIwMCAyNDc4IHkgRmMoOikxMyBiKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAogKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKIGcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5IGIKLUZiKDEwNykyMDI1IDIxNjggeSBGcihPKTIwMjUgMjI4NSB5IEZlKG9wZXJhdGUtYW5kLWdldC1uZXh0KTMwCitGYigxMDkpMjAyNSAyNzEzIHkgRnIoTykyMDI1IDI4MjkgeSBGZShvcGVyYXRlLWFuZC1nZXQtbmV4dCkzMAogYihcKEMtb1wpKTIzIGIgRmMoOikxMyBiKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOilnKDopZyg6KTQ5IGIgRmIoMTE0KTIwMjUgMjM3MiB5IEZlKG92ZXJ3cml0ZS1tb2RlKTI5CitnKDopZyg6KWcoOik0OSBiIEZiKDExNikyMDI1IDI5MTcgeSBGZShvdmVyd3JpdGUtbW9kZSkyOQogYihcKFwpKTExIGIgRmMoOilpKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgogKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzgKLWIgRmIoMTA5KTIwMjUgMjYxNSB5IEZyKFApMjAyNSAyNzMyIHkgRmUocG9zc2libGUtY29tbWFuZC1jb21wbGV0aW9ucykKK2IgRmIoMTExKTIwMjUgMzE2MCB5IEZyKFApMjAyNSAzMjc3IHkgRmUocG9zc2libGUtY29tbWFuZC1jb21wbGV0aW9ucykKIDMyIGIoXChDLXgpMjYgYighXCkpMjEgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOik0NyBiCi1GYigxMTIpMjAyNSAyODIwIHkgRmUocG9zc2libGUtY29tcGxldGlvbnMpMzAgYihcKE0tP1wpKTIzCitGYigxMTQpMjAyNSAzMzY0IHkgRmUocG9zc2libGUtY29tcGxldGlvbnMpMzAgYihcKE0tP1wpKTIzCiBiIEZjKDopMTMgYig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCi00OSBiIEZiKDExMCkyMDI1IDI5MDcgeSBGZShwb3NzaWJsZS1maWxlbmFtZS1jb21wbGV0aW9ucykzMgotYihcKEMteCkyNiBiKC9cKSkxOCBiIEZjKDopYyg6KWYoOilnKDopNDUgYiBGYigxMTEpMjAyNQotMjk5NSB5IEZlKHBvc3NpYmxlLWhvc3RuYW1lLWNvbXBsZXRpb25zKTMyIGIoXChDLXgpMjYKLWIoQFwpKTE4IGIgRmMoOiljKDopZig6KWcoOik0NSBiIEZiKDExMSkyMDI1IDMwODIgeSBGZQorNDkgYiBGYigxMTMpMjAyNSAzNDUyIHkgRmUocG9zc2libGUtZmlsZW5hbWUtY29tcGxldGlvbnMpMzIKK2IoXChDLXgpMjYgYigvXCkpMTggYiBGYyg6KWMoOilmKDopZyg6KTQ1IGIgRmIoMTEzKTIwMjUKKzM1MzkgeSBGZShwb3NzaWJsZS1ob3N0bmFtZS1jb21wbGV0aW9ucykzMiBiKFwoQy14KTI2CitiKEBcKSkxOCBiIEZjKDopYyg6KWYoOilnKDopNDUgYiBGYigxMTQpMjAyNSAzNjI3IHkgRmUKIChwb3NzaWJsZS11c2VybmFtZS1jb21wbGV0aW9ucykzMiBiKFwoQy14KTI2IGIoflwpKTE4Ci1iIEZjKDopYyg6KWYoOilnKDopNDUgYiBGYigxMTEpMjAyNSAzMTcwIHkgRmUKK2IgRmMoOiljKDopZig6KWcoOik0NSBiIEZiKDExMykyMDI1IDM3MTUgeSBGZQogKHBvc3NpYmxlLXZhcmlhYmxlLWNvbXBsZXRpb25zKTMyIGIoXChDLXgpMjYgYigkXCkpMTgKLWIgRmMoOiljKDopZig6KWcoOik0NSBiIEZiKDExMSkyMDI1IDMyNTggeSBGZShwcmVmaXgtbWV0YSkyOAorYiBGYyg6KWMoOilmKDopZyg6KTQ1IGIgRmIoMTEzKTIwMjUgMzgwMiB5IEZlKHByZWZpeC1tZXRhKTI4CiBiKFwoRVNDXCkpMTEgYiBGYyg6KWooOilmKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgKICg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzOAotYiBGYigxMTIpMjAyNSAzMzQ1IHkgRmUocHJldmlvdXMtaGlzdG9yeSkyOSBiKFwoQy1wXCkpMTUKK2IgRmIoMTE1KTIwMjUgMzg5MCB5IEZlKHByZXZpb3VzLWhpc3RvcnkpMjkgYihcKEMtcFwpKTE1CiBiIEZjKDopZig6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotaCg6KWYoOilnKDopZyg6KTQyIGIgRmIoMTA3KTIwMjUgMzU5OSB5IEZyKFEpMjAyNSAzNzE1CitoKDopZig6KWcoOilnKDopNDIgYiBGYigxMDkpMjAyNSA0MTQzIHkgRnIoUSkyMDI1IDQyNjAKIHkgRmUocXVvdGVkLWluc2VydCkyOCBiKFwoQy1xKWYob3IpZihDLXZcKSkxOSBiIEZjKDopMTQKIGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0NgotYiBGYigxMDgpMjAyNSAzOTY5IHkgRnIoUikyMDI1IDQwODYgeSBGZShyZS1yZWFkLWluaXQtZmlsZSkyOQorYiBGYigxMTApMjAyNSA0NTEzIHkgRnIoUikyMDI1IDQ2MzAgeSBGZShyZS1yZWFkLWluaXQtZmlsZSkyOQogYihcKEMteCllKEMtclwpKTkgYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCi0oOilnKDopaCg6KWYoOilnKDopMzYgYiBGYigxMTIpMjAyNSA0MTczIHkgRmUocmVkcmF3LWN1cnJlbnQtbGluZSkzMAorKDopZyg6KWgoOilmKDopZyg6KTM2IGIgRmIoMTE0KTIwMjUgNDcxOCB5IEZlKHJlZHJhdy1jdXJyZW50LWxpbmUpMzAKIGIoXChcKSkxNSBiIEZjKDopZSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTQyIGIgRmIoMTA2KTIwMjUgNDI2MSB5IEZlCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0MiBiIEZiKDEwOCkyMDI1IDQ4MDUgeSBGZQogKHJldmVyc2Utc2VhcmNoLWhpc3RvcnkpMzAgYihcKEMtclwpKTE3IGIgRmMoOillKDopZSg6KWcoOilnKDopZyg6KWcoOikKLWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NCBiIEZiKDEwNykyMDI1IDQzNDggeSBGZShyZXZlcnQtbGluZSkyOAorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ0IGIgRmIoMTA5KTIwMjUgNDg5MyB5IEZlKHJldmVydC1saW5lKTI4CiBiKFwoTS1yXCkpMTEgYiBGYyg6KWooOilmKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgKICg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzOAotYiBGYigxMTIpMjAyNSA0NTkyIHkgRnIoUykyMDI1IDQ3MDggeSBGZShzZWxmLWluc2VydCkyOAorYiBGYigxMTUpMjAyNSA1MTM2IHkgRnIoUykyMDI1IDUyNTIgeSBGZShzZWxmLWluc2VydCkyOAogYihcKGEsKWUoYiwpZyhBLClnKDEsKWcoISwpZyguLi4pcShcKSk3IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYKLSg6KWcoOilnKDopZyg6KWcoOilnKDopMzQgYiBGYigxMDgpMjAyNSA0Nzk2IHkgRmUoc2V0LW1hcmspMjcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopMzQgYiBGYigxMTApMjAyNSA1MzQwIHkgRmUoc2V0LW1hcmspMjcKIGIoXChDLUBcKSkyMCBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCiBoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ1Ci1iIEZiKDExMykyMDI1IDQ4ODMgeSBGZShzaGVsbC1iYWNrd2FyZC13b3JkKTMwIGIoXChcKSkxNQotYiBGYyg6KWUoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOik0MiBiIEZiKDEwNikyMDI1IDQ5NzEgeSBGZShzaGVsbC1leHBhbmQtbGluZSkyOQotYihcKE0tQy1lXCkpOCBiIEZjKDopMTQgYig6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCi0oOilnKDopZyg6KWcoOilnKDopaCg6KTM0IGIgRmIoMTE0KTIwMjUgNTA1OSB5IEZlKHNoZWxsLWZvcndhcmQtd29yZCkyOQotYihcKFwpKTE4IGIgRmMoOiljKDopZig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZwotKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ1IGIgRmIoMTA2KTIwMjUgNTE0NgoteSBGZShzaGVsbC1raWxsLXdvcmQpMjkgYihcKFwpKTggYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZwotKDopMzUgYiBGYigxMDkpMjAyNSA1MjM0IHkgRmUoc2tpcC1jc2ktc2VxdWVuY2UpMjkgYihcKFwpKTIxCi1iIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZwotKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDcgYiBGYigxMTMpMjAyNSA1MzIxIHkgRmUoc3RhcnQta2JkLW1hY3JvKQotMjkgYihcKEMteClkKFwoXCkpMjAgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTQ2IGIgRmIoMTEyKXAgZW9wCi1lbmQKLSUlUGFnZTogMTU2IDE2MgotVGVYRGljdCBiZWdpbiAxNTYgMTYxIGJvcCAxNTAgLTExNiBhIEZ0KDE1NikyNTI3IGIoQmFzaCkzMQotYihSZWZlcmVuY2UpZyhNYW4pbSh1YWwpMTUwIDI5OSB5IEZyKFQpMTUwIDQxNSB5IEZlKHRpbGRlLWV4cGFuZClkCi0oXChNLSZcKSk4IGIgRmMoOikxNSBiKDopZSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCi0oOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikzNQotYiBGYigxMTMpMTUwIDUwMiB5IEZlKHRyYW5zcG9zZS1jaGFycykyOSBiKFwoQy10XCkpMTgKK2IgRmIoMTE1KXAgZW9wIGVuZAorJSVQYWdlOiAxNjAgMTY2CitUZVhEaWN0IGJlZ2luIDE2MCAxNjUgYm9wIDE1MCAtMTE2IGEgRnQoMTYwKTI1MjcgYihCYXNoKTMxCitiKFJlZmVyZW5jZSlnKE1hbiltKHVhbCkxNTAgMjk5IHkgRmUoc2hlbGwtYmFja3dhcmQta2lsbC13b3JkKWcoXChcKSkyMAorYiBGYyg6KTEzIGIoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDYKK2IgRmIoMTExKTE1MCAzODkgeSBGZShzaGVsbC1iYWNrd2FyZC13b3JkKTMwIGIoXChcKSkxNQorYiBGYyg6KWYoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOik0MiBiIEZiKDEwOCkxNTAgNDc5IHkgRmUoc2hlbGwtZXhwYW5kLWxpbmUpMjkKK2IoXChNLUMtZVwpKTggYiBGYyg6KTE1IGIoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOikzNCBiIEZiKDExNikxNTAgNTY5IHkgRmUoc2hlbGwtZm9yd2FyZC13b3JkKWMKKyhcKFwpKTE4IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ0IGIgRmIoMTA4KTE1MCA2NTkgeQorRmUoc2hlbGwta2lsbC13b3JkKTI5IGIoXChcKSk4IGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWgoOilmKDopZworKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKKzM1IGIgRmIoMTExKTE1MCA3NDggeSBGZShza2lwLWNzaS1zZXF1ZW5jZSkyOSBiKFwoXCkpMjEKK2IgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NyBiIEZiKDExNSkxNTAgODM4IHkgRmUoc3RhcnQta2JkLW1hY3JvKTI5CitiKFwoQy14KWUoXChcKSkxOSBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDYgYiBGYigxMTQpMTUwIDEwOTQKK3kgRnIoVCkxNTAgMTIxNiB5IEZlKHRpbGRlLWV4cGFuZCkyOCBiKFwoTS0mXCkpOCBiIEZjKDopMTUKK2IoOillKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTM1IGIgRmIoMTE1KTE1MCAxMzA1IHkKK0ZlKHRyYW5zcG9zZS1jaGFycykyOSBiKFwoQy10XCkpMTggYiBGYyg6KWMoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDQKK2IgRmIoMTEwKTE1MCAxMzk1IHkgRmUodHJhbnNwb3NlLXdvcmRzKTI5IGIoXChNLXRcKSkxOAogYiBGYyg6KWMoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopNDQgYiBGYigxMDgpMTUwIDU5MCB5IEZlKHRyYW5zcG9zZS13b3JkcykyOQotYihcKE0tdFwpKTE4IGIgRmMoOiljKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ0IGIgRmIoMTA4KTE1MCA4NDIKLXkgRnIoVSkxNTAgOTU4IHkgRmUodW5kbykyNyBiKFwoQy1fKWYob3IpZyhDLXgpZyhDLXVcKSljCi1GYyg6KTEzIGIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ4IGIgRmIoMTEyKTE1MCAxMDQ2IHkgRmUKLSh1bml2ZXJzYWwtYXJndW1lbnQpMzAgYihcKFwpKTE4IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ0Ci1iIEZiKDExMCkxNTAgMTEzMyB5IEZlKHVuaXgtZmlsZW5hbWUtcnVib3V0KTMwIGIoXChcKSkxMwotYiBGYyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWcoOiloKDopZig6KTM5IGIgRmIoMTA5KTIwMjUgMjk5IHkgRmUodW5peC1saW5lLWRpc2NhcmQpMjkKLWIoXChDLXVcKSkxMyBiIEZjKDopaCg6KWYoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDAgYiBGYigxMDkpMjAyNSAzODkgeSBGZSh1bml4LXdvcmQtcnVib3V0KQotMjkgYihcKEMtd1wpKTE1IGIgRmMoOilmKDopZyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopNDIgYiBGYigxMDkpMjAyNSA0NzgKLXkgRmUodXBjYXNlLXdvcmQpMjggYihcKE0tdVwpKTExIGIgRmMoOilqKDopZig6KWcoOilnKDopZyg6KWgoOilmKDopZwotKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKLWcoOikzOCBiIEZiKDEwOCkyMDI1IDc0MyB5IEZyKFkpMjAyNSA4NjQgeSBGZSh5YW5rKTI2Ci1iKFwoQy15XCkpMTIgYiBGYyg6KWkoOilmKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKLSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCi1nKDopZyg6KWcoOilnKDopMzkgYiBGYigxMTApMjAyNSA5NTQgeSBGZSh5YW5rLWxhc3QtYXJnKTI4Ci1iKFwoTS0uKWYob3IpZihNLV9cKSkxOSBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopNDYgYiBGYigxMDgpMjAyNSAxMDQzIHkgRmUoeWFuay1udGgtYXJnKTI4Ci1iKFwoTS1DLXlcKSkyMiBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDcgYiBGYigxMDcpMjAyNQotMTEzMyB5IEZlKHlhbmstcG9wKTI3IGIoXChNLXlcKSkyMCBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKLWcoOilnKDopZyg6KWcoOiloKDopNDUgYiBGYigxMTApMTUwIDEzNjYgeSBGcihELjUpNjgKLWIoQ29uY2VwdCk0NSBiKEluZGV4KTE1MCAxNjI1IHkoQSkxNTAgMTc0MyB5IEZiKGFsaWFzKTI3Ci1iKGV4cGFuc2lvbikxOCBiIEZjKDopYyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOik0NCBiIEZiKDc5KTE1MCAxODMxIHkoYXJpdGhtZXRpYykyNiBiKGV2KWwoYWx1YXRpb24pMTYKLWIgRmMoOillKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0MyBiIEZiKDc4KTE1MCAxOTE5Ci15KGFyaXRobWV0aWMpMjYgYihleHBhbnNpb24pZCBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZwotKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ5Ci1iIEZiKDIzKTE1MCAyMDA3IHkoYXJpdGhtZXRpYywpMjcgYihzaGVsbCkxNyBiIEZjKDopZCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCi1mKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQzIGIgRmIoNzgpMTUwIDIwOTUgeShhcnJhKW4oeXMpMTUKLWIgRmMoOilmKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCi1mKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTQxIGIgRmIoODApMTUwIDIzNDggeSBGcihCKTE1MAotMjQ2NiB5IEZiKGJhYyluKGtncm91bmQpOSBiIEZjKDopaig6KWkoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAotKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKLWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopMzUgYiBGYig4OSkxNTAgMjU1NCB5KEJhc2gpMjYKLWIoY29uXDAxNGd1cmF0aW9uKWQgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDkKLWIgRmIoMTI3KTE1MCAyNjQyIHkoQmFzaCkyNiBiKGluc3RhbGxhdGlvbiljIEZjKDopMTMKLWIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQ2IGIgRmIoMTI3KTE1MAotMjcyOSB5KEJvdXJuZSkyNiBiKHNoZWxsKTEzIGIgRmMoOiloKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0MCBiIEZiKDUpMTUwIDI4MTcKLXkoYnJhY2UpMjYgYihleHBhbnNpb24pMjAgYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAotKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKLWcoOilnKDopZyg6KWcoOik0NyBiIEZiKDE4KTE1MCAyOTA1IHkoYnVpbHRpbik5IGIgRmMoOilrKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKLSg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopCi1nKDopZyg6KTM2IGIgRmIoMykxNTAgMzE0MiB5IEZyKEMpMTUwIDMyNjAgeSBGYihjb21tYW5kKTI2Ci1iKGVkaXRpbmcpMTUgYiBGYyg6KWYoOilmKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0MgotYiBGYig5NCkxNTAgMzM0OCB5KGNvbW1hbmQpMjYgYihleGVjdXRpb24pZCBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnCi0oOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotaCg6KWYoOilnKDopZyg6KTQ5IGIgRmIoMzApMTUwIDM0MzUgeShjb21tYW5kKTI2IGIoZXhwYW5zaW9uKTE2Ci1iIEZjKDopZCg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQyIGIgRmIoMjkpMTUwCi0zNTIzIHkoY29tbWFuZCkyNiBiKGhpc3RvcnkpMTIgYiBGYyg6KWgoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworZyg6KWcoOilnKDopZyg6KWgoOik0NCBiIEZiKDExMCkyMDI1IDI5OSB5IEZyKFUpMjAyNQorNDE3IHkgRmUodW5kbykyNiBiKFwoQy1fKWgob3IpZihDLXgpZyhDLXVcKSljIEZjKDopMTMKK2IoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KTQ4IGIgRmIoMTE1KTIwMjUgNTA1IHkgRmUodW5pdmVyc2FsLWFyZ3VtZW50KTI5CitiKFwoXCkpMTggYiBGYyg6KWMoOilmKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNDUgYiBGYigxMTIpMjAyNSA1OTQgeQorRmUodW5peC1maWxlbmFtZS1ydWJvdXQpMzAgYihcKFwpKTEzIGIgRmMoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0MAorYiBGYigxMTIpMjAyNSA2ODIgeSBGZSh1bml4LWxpbmUtZGlzY2FyZCkyOSBiKFwoQy11XCkpMTMKK2IgRmMoOiloKDopZig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWcoOik0MCBiIEZiKDExMSkyMDI1IDc3MCB5IEZlKHVuaXgtd29yZC1ydWJvdXQpMjkKK2IoXChDLXdcKSkxNSBiIEZjKDopZig6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTQyIGIgRmIoMTExKTIwMjUgODU4IHkKK0ZlKHVwY2FzZS13b3JkKTI4IGIoXChNLXVcKSkxMSBiIEZjKDopaig6KWYoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCiAoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWcoOikzOSBiIEZiKDEyMSkxNTAgMzYxMSB5KGNvbW1hbmQpMjYgYihzZWFyYyluKGgpMTAKKzM4IGIgRmIoMTEwKTIwMjUgMTExNiB5IEZyKFkpMjAyNSAxMjM0IHkgRmUoeWFuaykyNiBiKFwoQy15XCkpMTIKK2IgRmMoOilpKDopZig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCitnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KTM5IGIgRmIoMTEyKTIwMjUgMTMyMiB5IEZlKHlhbmstbGFzdC1hcmcpMjggYihcKE0tLilmKG9yKWYoTS1fXCkpMTkKK2IgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOik0NiBiIEZiKDExMCkyMDI1IDE0MTAgeSBGZSh5YW5rLW50aC1hcmcpMjggYihcKE0tQy15XCkpMjIKK2IgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0NyBiIEZiKDEwOSkyMDI1IDE0OTkgeSBGZSh5YW5rLXBvcCkyNworYihcKE0teVwpKTIwIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDUKK2IgRmIoMTEyKTE1MCAxNzMxIHkgRnIoRC41KTY4IGIoQ29uY2VwdCk0NSBiKEluZGV4KTE1MAorMTk5MSB5KEEpMTUwIDIxMDkgeSBGYihhbGlhcykyNyBiKGV4cGFuc2lvbikxOCBiIEZjKDopYyg6KWYoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0NCBiIEZiKDgxKTE1MCAyMTk3Cit5KGFyaXRobWV0aWMpMjYgYihldilsKGFsdWF0aW9uKTE2IGIgRmMoOillKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKKzQzIGIgRmIoODApMTUwIDIyODUgeShhcml0aG1ldGljKTI2IGIoZXhwYW5zaW9uKWQgRmMoOikxMworYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDkgYiBGYigyNCkxNTAgMjM3MyB5KGFyaXRobWV0aWMsKTI3CitiKHNoZWxsKTE3IGIgRmMoOilkKDopZig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZworKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQzCitiIEZiKDgwKTE1MCAyNDYxIHkoYXJyYSluKHlzKTE1IGIgRmMoOilmKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQorZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTQxCitiIEZiKDgyKTE1MCAyNzE0IHkgRnIoQikxNTAgMjgzMiB5IEZiKGJhYyluKGtncm91bmQpOQorYiBGYyg6KWooOilpKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KTM1IGIgRmIoOTEpMTUwIDI5MjAgeShCYXNoKTI2IGIoY29uXDAxNGd1cmF0aW9uKWQKK0ZjKDopMTMgYig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQ5IGIgRmIoMTMxKTE1MAorMzAwOCB5KEJhc2gpMjYgYihpbnN0YWxsYXRpb24pYyBGYyg6KTEzIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopNDYgYiBGYigxMzEpMTUwIDMwOTYgeShCb3VybmUpMjYgYihzaGVsbCkxMworYiBGYyg6KWgoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KTQwIGIgRmIoNSkxNTAgMzE4NCB5KGJyYWNlKTI2IGIoZXhwYW5zaW9uKTIwIGIKK0ZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaAorKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0NworYiBGYigxOSkxNTAgMzI3MiB5KGJ1aWx0aW4pOSBiIEZjKDopayg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCisoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzYKK2IgRmIoMykxNTAgMzUwOSB5IEZyKEMpMTUwIDM2MjcgeSBGYihjb21tYW5kKTI2IGIoZWRpdGluZykxNQorYiBGYyg6KWYoOilmKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKK2coOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0MgorYiBGYig5NikxNTAgMzcxNSB5KGNvbW1hbmQpMjYgYihleGVjdXRpb24pZCBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KTQ5IGIgRmIoMzEpMTUwIDM4MDMgeShjb21tYW5kKTI2IGIoZXhwYW5zaW9uKTE2CitiIEZjKDopZCg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQorZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQyIGIgRmIoMzEpMTUwCiszODkxIHkoY29tbWFuZCkyNiBiKGhpc3RvcnkpMTIgYiBGYyg6KWgoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopMzkgYiBGYigxMjUpMTUwIDM5NzkgeShjb21tYW5kKTI2IGIoc2VhcmMpbihoKTEwCiBiIEZjKDopaig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQogZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikzNgotYiBGYigzMCkxNTAgMzY5OSB5KGNvbW1hbmQpMjYgYihzdWJzdGl0dXRpb24pMTUgYiBGYyg6KWUoOilnKDopZyg6KWcoOikKK2IgRmIoMzEpMTUwIDQwNjcgeShjb21tYW5kKTI2IGIoc3Vic3RpdHV0aW9uKTE1IGIgRmMoOillKDopZyg6KWcoOilnKDopCiBnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgKLSg6KWYoOilnKDopNDEgYiBGYigyMikxNTAgMzc4NyB5KGNvbW1hbmQpMjYgYih0aW1pbmcpNworKDopZig6KWcoOik0MSBiIEZiKDI0KTE1MCA0MTU1IHkoY29tbWFuZCkyNiBiKHRpbWluZyk3CiBiIEZjKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwogKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopMzQKLWIgRmIoOCkxNTAgMzg3NSB5KGNvbW1hbmRzLCkyNiBiKGNvbXApcihvdW5kKTE4IGIgRmMoOiljKDopZig6KWcoOilnKDopCitiIEZiKDgpMTUwIDQyNDMgeShjb21tYW5kcywpMjYgYihjb21wKXIob3VuZCkxOCBiIEZjKDopYyg6KWYoOilnKDopZyg6KQogZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCi0oOiloKDopZig6KWcoOik0NSBiIEZiKDkpMTUwIDM5NjMgeShjb21tYW5kcywpMjYgYihjb25kaXRpb25hbClkCisoOiloKDopZig6KWcoOik0NSBiIEZiKDkpMTUwIDQzMzEgeShjb21tYW5kcywpMjYgYihjb25kaXRpb25hbClkCiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OCBiIEZiKDEwKTE1MCA0MDUxIHkoY29tbWFuZHMsKTI2CisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDggYiBGYigxMCkxNTAgNDQxOSB5KGNvbW1hbmRzLCkyNgogYihncm91cGluZyk5IGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKIGcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopMzUKLWIgRmIoMTMpMTUwIDQxMzkgeShjb21tYW5kcywpMjYgYihsaXN0cyk2IGIgRmMoOikxNSBiKDopZSg6KWcoOilnKDopZworYiBGYigxMykxNTAgNDUwNyB5KGNvbW1hbmRzLCkyNiBiKGxpc3RzKTYgYiBGYyg6KTE1IGIoOillKDopZyg6KWcoOilnCiAoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQotZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTMzIGIgRmIoOCkxNTAKLTQyMjcgeShjb21tYW5kcywpMjYgYihsbylyKG9waW5nKTE4IGIgRmMoOilkKDopZSg6KWgoOilmKDopZyg6KWcoOilnKDopCi1nKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWgoOilmKDopZyg6KTQ1IGIgRmIoOSkxNTAgNDMxNSB5KGNvbW1hbmRzLCkyNiBiKHBpcClyKGVsaW5lcykxMgorZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTMzIGIgRmIoOSkxNTAKKzQ1OTUgeShjb21tYW5kcywpMjYgYihsbylyKG9waW5nKTE2IGIgRmMoOilmKDopZSg6KWcoOiloKDopZig6KWcoOilnKDopCitnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOiloKDopNDIgYiBGYigxMCkxNTAgNDY4MyB5KGNvbW1hbmRzLCkyNiBiKHBpcClyKGVsaW5lcykxMgogYiBGYyg6KWkoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKIGcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopMzkgYiBGYig4KTE1MAotNDQwMyB5KGNvbW1hbmRzLCkyNiBiKHNoZWxsKTE1IGIgRmMoOilmKDopZig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKKzQ3NzEgeShjb21tYW5kcywpMjYgYihzaGVsbCkxNSBiIEZjKDopZig6KWYoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCiAoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQotZig6KWcoOilnKDopZyg6KWcoOik0MiBiIEZiKDcpMTUwIDQ0OTEgeShjb21tYW5kcywpMjYKK2YoOilnKDopZyg6KWcoOilnKDopNDIgYiBGYig4KTE1MCA0ODU5IHkoY29tbWFuZHMsKTI2CiBiKHNpbXBsZSkxNyBiIEZjKDopZCg6KWcoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQogZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ0Ci1iIEZiKDgpMTUwIDQ1NzkgeShjb21tZW4pbih0cywpMjYgYihzaGVsbCk3IGIgRmMoOikxNQorYiBGYig4KTE1MCA0OTQ3IHkoY29tbWVuKW4odHMsKTI2IGIoc2hlbGwpNyBiIEZjKDopMTUKIGIoOillKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZwogKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzNAotYiBGYig3KTE1MCA0NjY3IHkoY29tcGxldGlvbikyNyBiKGJ1aWx0aW5zKTE1IGIgRmMoOillKDopZyg6KWcoOilnKDopZworYiBGYig3KTE1MCA1MDM1IHkoY29tcGxldGlvbikyNyBiKGJ1aWx0aW5zKTE1IGIgRmMoOillKDopZyg6KWcoOilnKDopZwogKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOilnKDopZyg6KWcoOik0MiBiIEZiKDExNykxNTAgNDc1NSB5KGNvblwwMTRndXJhdGlvbikxNQorZyg6KWcoOilnKDopZyg6KTQyIGIgRmIoMTE5KTE1MCA1MTIzIHkoY29uXDAxNGd1cmF0aW9uKTE1CiBiIEZjKDopZig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQogZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQyCi1iIEZiKDEyNykxNTAgNDg0MiB5KGNvbiluKHRyb2wpMjYgYihvcClyKGVyYXRvcikyMSBiCitiIEZiKDEzMSkxNTAgNTIxMSB5KGNvbiluKHRyb2wpMjYgYihvcClyKGVyYXRvcikyMSBiCiBGYyg6KTEzIGIoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKICg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ2Ci1iIEZiKDMpMTUwIDQ5MzAgeShjb3BybylyKGNlc3MpMTIgYiBGYyg6KWkoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnCitiIEZiKDMpMTUwIDUyOTkgeShjb3BybylyKGNlc3MpMTIgYiBGYyg6KWkoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnCiAoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQogZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopMzggYgotRmIoMTQpMTUwIDUxODQgeSBGcihEKTE1MCA1MzAxIHkgRmIoZGlyZWN0b3J5KTI2IGIoc3RhYyluKGspYwotRmMoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCi0oOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOik0OQotYiBGYig4MSkyMDI1IDE2MjUgeSBGcihFKTIwMjUgMTc0NSB5IEZiKGVkaXRpbmcpMjYgYihjb21tYW5kKWcobGluZXMpMTMKK0ZiKDE0KTIwMjUgMTk5MSB5IEZyKEQpMjAyNSAyMTEyIHkgRmIoZGlyZWN0b3J5KTI2IGIoc3RhYyluKGspYworRmMoOikxMyBiKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0OQorYiBGYig4MykyMDI1IDIzNzYgeSBGcihFKTIwMjUgMjQ5NyB5IEZiKGVkaXRpbmcpMjYgYihjb21tYW5kKWcobGluZXMpMTMKIGIgRmMoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCi1oKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTM5IGIgRmIoOTQpMjAyNSAxODM0CitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTM5IGIgRmIoOTYpMjAyNSAyNTg3CiB5KGVuKW4odmlyb25tZW4pbih0KTEyIGIgRmMoOilnKDopaCg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZwogKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIgRmIoMzEpMjAyNSAxOTIzIHkoZXYpbChhbHVhdGlvbiwpMjYKK2coOilnKDopZyg6KWcoOilnKDopZyg6KTM5IGIgRmIoMzMpMjAyNSAyNjc3IHkoZXYpbChhbHVhdGlvbiwpMjYKIGIoYXJpdGhtZXRpYyllIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCiBnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOik0OSBiCi1GYig3OCkyMDI1IDIwMTIgeShldiluKGVuKW4odCkyNCBiKGRlc2lnbmF0b3JzKTE0IGIgRmMoOiloKDopZSg6KWcoOilnCitGYig4MCkyMDI1IDI3NjYgeShldiluKGVuKW4odCkyNCBiKGRlc2lnbmF0b3JzKTE0IGIgRmMoOiloKDopZSg6KWcoOilnCiAoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQotaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQxIGIgRmIoMTIzKTIwMjUgMjEwMSB5KGV4ZWN1dGlvbikyNQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQxIGIgRmIoMTI3KTIwMjUgMjg1NiB5KGV4ZWN1dGlvbikyNQogYihlbiluKHZpcm9ubWVuKW4odCkxMSBiIEZjKDopaSg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKICg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikzNwotYiBGYigzMCkyMDI1IDIxOTAgeShleGl0KTI1IGIoc3RhdHVzKTE4IGIgRmMoOiljKDopZig6KWcoOilnKDopZyg6KWgoOikKK2IgRmIoMzIpMjAyNSAyOTQ2IHkoZXhpdCkyNSBiKHN0YXR1cykxOCBiIEZjKDopYyg6KWYoOilnKDopZyg6KWcoOiloKDopCiBmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKICg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ1IGIgRmIoMywpMjYKLWIoMzIpMjAyNSAyMjc5IHkoZXhwYW5zaW9uKTIwIGIgRmMoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZworYigzMykyMDI1IDMwMzYgeShleHBhbnNpb24pMjAgYiBGYyg6KTEzIGIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCiAoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KQotZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NyBiIEZiKDE3KTIwMjUKLTIzNjggeShleHBhbnNpb24sKTI2IGIoYXJpdGhtZXRpYykxMiBiIEZjKDopaSg6KWYoOilnKDopZyg6KWcoOilnKDopZworZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NyBiIEZiKDE5KTIwMjUKKzMxMjYgeShleHBhbnNpb24sKTI2IGIoYXJpdGhtZXRpYykxMiBiIEZjKDopaSg6KWYoOilnKDopZyg6KWcoOilnKDopZwogKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKLWYoOikzOCBiIEZiKDIzKTIwMjUgMjQ1NyB5KGV4cGFuc2lvbiwpMjYgYihicmFjZSkxMCBiCitmKDopMzggYiBGYigyNCkyMDI1IDMyMTUgeShleHBhbnNpb24sKTI2IGIoYnJhY2UpMTAgYgogRmMoOilqKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZwogKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM2Ci1iIEZiKDE4KTIwMjUgMjU0NiB5KGV4cGFuc2lvbiwpMjYgYihcMDE0bGVuYW1lKTEyIGIgRmMoOiloKDopZyg6KWcoOiloCitiIEZiKDE5KTIwMjUgMzMwNSB5KGV4cGFuc2lvbiwpMjYgYihcMDE0bGVuYW1lKTEyIGIgRmMoOiloKDopZyg6KWcoOiloCiAoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQotZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzggYiBGYigyNCkyMDI1IDI2MzUgeShleHBhbnNpb24sKTI2CitnKDopZyg6KWcoOilnKDopZyg6KWgoOikzOCBiIEZiKDI1KTIwMjUgMzM5NSB5KGV4cGFuc2lvbiwpMjYKIGIocGFyYW1ldGVyKTE0IGIgRmMoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCiAoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MAotYiBGYigxOSkyMDI1IDI3MjQgeShleHBhbnNpb24sKTI2IGIocGF0aG5hbWUpMTggYiBGYyg6KTEzCitiIEZiKDIxKTIwMjUgMzQ4NSB5KGV4cGFuc2lvbiwpMjYgYihwYXRobmFtZSkxOCBiIEZjKDopMTMKIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ1IGIgRmIoMjQpMjAyNSAyODEzIHkoZXhwYW5zaW9uLCkyNgorKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ1IGIgRmIoMjUpMjAyNSAzNTc1IHkoZXhwYW5zaW9uLCkyNgogYih0aWxkZSk4IGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCiAoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQotZyg6KTM0IGIgRmIoMTkpMjAyNSAyOTAyIHkoZXhwcmVzc2lvbnMsKTI3IGIoYXJpdGhtZXRpYyk3CitnKDopMzQgYiBGYigyMCkyMDI1IDM2NjUgeShleHByZXNzaW9ucywpMjcgYihhcml0aG1ldGljKTcKIGIgRmMoOikxMyBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCi0oOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM0IGIgRmIoNzgpMjAyNSAyOTkxCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KTM0IGIgRmIoODApMjAyNSAzNzU0CiB5KGV4cHJlc3Npb25zLCkyNyBiKGNvbmRpdGlvbmFsKTExIGIgRmMoOilqKDopZig6KWcoOiloKDopZig6KWcoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopMzgKLWIgRmIoNzYpMjAyNSAzMjUwIHkgRnIoRikyMDI1IDMzNjkgeSBGYihcMDE0ZWxkKTE1IGIKK2IgRmIoNzgpMjAyNSA0MDE4IHkgRnIoRikyMDI1IDQxMzkgeSBGYihcMDE0ZWxkKTE1IGIKIEZjKDopZSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKICg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MiBiIEZiKDMpMjAyNSAzNDU4CitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MiBiIEZiKDMpMjAyNSA0MjI5CiB5KFwwMTRsZW5hbWUpMTUgYiBGYyg6KWYoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQogZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCiAoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOik0MiBiIEZiKDMpMjAyNQotMzU0NyB5KFwwMTRsZW5hbWUpMjYgYihleHBhbnNpb24pYyBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKKzQzMTkgeShcMDE0bGVuYW1lKTI2IGIoZXhwYW5zaW9uKWMgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCiBnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKLSg6KWcoOilnKDopNDkgYiBGYigyNCkyMDI1IDM2MzYgeShmb3JlZ3JvdW5kKTIzIGIgRmMoOikxMworKDopZyg6KWcoOik0OSBiIEZiKDI1KTIwMjUgNDQwOCB5KGZvcmVncm91bmQpMjMgYiBGYyg6KTEzCiBiKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKICg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi00OSBiIEZiKDg5KTIwMjUgMzcyNSB5KGZ1bmN0aW9ucywpMjYgYihzaGVsbCkyMSBiIEZjKDopMTMKKzQ5IGIgRmIoOTEpMjAyNSA0NDk4IHkoZnVuY3Rpb25zLCkyNiBiKHNoZWxsKTIxIGIgRmMoOikxMwogYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCiAoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDcKLWIgRmIoMTQpMjAyNSAzOTg0IHkgRnIoSCkyMDI1IDQxMDQgeSBGYihoaXN0b3J5KTI1IGIoYnVpbHRpbnMpMTQKK2IgRmIoMTUpMjAyNSA0NzYyIHkgRnIoSCkyMDI1IDQ4ODMgeSBGYihoaXN0b3J5KTI1IGIoYnVpbHRpbnMpMTQKIGIgRmMoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCiBoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTQxCi1iIEZiKDEyMSkyMDI1IDQxOTMgeShoaXN0b3J5KTI1IGIoZXYpbihlbiluKHRzKTE5IGIgRmMoOikxMworYiBGYigxMjUpMjAyNSA0OTczIHkoaGlzdG9yeSkyNSBiKGV2KW4oZW4pbih0cykxOSBiIEZjKDopMTMKIGIoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwogKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTQ2Ci1iIEZiKDEyMykyMDI1IDQyODIgeShoaXN0b3J5KTI1IGIoZXhwYW5zaW9uKTggYiBGYyg6KTE0CitiIEZiKDEyNykyMDI1IDUwNjMgeShoaXN0b3J5KTI1IGIoZXhwYW5zaW9uKTggYiBGYyg6KTE0CiBiKDopZig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzNSBiIEZiKDEyMykyMDI1Ci00MzcxIHkoaGlzdG9yeSkyNSBiKGxpc3QpYyBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM1IGIgRmIoMTI3KTIwMjUKKzUxNTIgeShoaXN0b3J5KTI1IGIobGlzdCljIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0NyBiIEZiKDEyMSkyMDI1IDQ0NjAKKyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0NyBiIEZiKDEyNSkyMDI1IDUyNDIKIHkoSGlzdG9yeSktNiBiKCwpMjUgYihobyluKHcpaCh0bylnKHVzZSkxMyBiIEZjKDopZyg6KWcoOilnKDopaCg6KWYoOilnCiAoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQotZyg6KWcoOilnKDopNDAgYiBGYigxMjApMjAyNSA0NzE5IHkgRnIoSSkyMDI1IDQ4MzggeQotRmIoaWRlbiluKHRpXDAxNGVyKTIyIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQotZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik1MCBiIEZiKDMpMjAyNQotNDkyNyB5KGluaXRpYWxpemF0aW9uKTI4IGIoXDAxNGxlLCllKHJlYWRsaW5lKTEzIGIgRmMoOiloKDopZig6KWcoOilnCi0oOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotNDAgYiBGYig5NikyMDI1IDUwMTYgeShpbnN0YWxsYXRpb24pMTMgYiBGYyg6KWkoOillKDopZyg6KWcoOilnKDopZyg6KWgKLSg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDAgYiBGYigxMjcpMjAyNQotNTEwNSB5KGluKW4odGVyYWN0aW9uLCkyNiBiKHJlYWRsaW5lKWMgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgotKDopZyg6KWcoOik0NyBiIEZiKDkzKTIwMjUgNTE5NCB5KGluKW4odGVyYWN0aXYpbihlKTI2Ci1iKHNoZWxsKTE0IGIgRmMoOilmKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZwotKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQwCi1iIEZiKDczLCkyNyBiKDc1KTIwMjUgNTI4MyB5KGluKW4odGVybmF0aW9uYWxpemF0aW9uKTE0Ci1iIEZjKDopaCg6KWUoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQotZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopNDEgYgotRmIoNylwIGVvcCBlbmQKLSUlUGFnZTogMTU3IDE2MwotVGVYRGljdCBiZWdpbiAxNTcgMTYyIGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5Ci1iKEQ6KWkoSW5kZXhlcykyNjIzIGIoMTU3KTE1MCAyOTkgeSBGcihKKTE1MCA0MTUgeSBGYihqb2IpMTYKLWIgRmMoOillKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCi1nKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0MyBiIEZiKDMpMTUwCi01MDMgeShqb2IpMjYgYihjb24pbih0cm9sKTEzIGIgRmMoOiloKDopZig6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDAgYiBGYigzLCkyNiBiKDg5KTE1MCA3NTMKLXkgRnIoSykxNTAgODcwIHkgRmIoa2lsbClnKHJpbmcpMjEgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ3Ci1iIEZiKDk1KTE1MCA5NTcgeShraWxsaW5nKTI3IGIodGV4dCkxOSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnCitnKDopZyg6KWcoOik0MCBiIEZiKDEyMylwIGVvcCBlbmQKKyUlUGFnZTogMTYxIDE2NworVGVYRGljdCBiZWdpbiAxNjEgMTY2IGJvcCAxNTAgLTExNiBhIEZ0KEFwcClzKGVuZGl4KTI5CitiKEQ6KWkoSW5kZXhlcykyNjIzIGIoMTYxKTE1MCAyOTkgeSBGcihJKTE1MCA0MTUgeSBGYihpZGVuKW4odGlcMDE0ZXIpCisyMiBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KQorZyg6KWcoOilnKDopZyg6KWcoOilnKDopNTAgYiBGYigzKTE1MCA1MDIgeShpbml0aWFsaXphdGlvbikyOAorYihcMDE0bGUsKWUocmVhZGxpbmUpMTMgYiBGYyg6KWgoOilmKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopMzkgYiBGYig5OCkxNTAKKzU4OSB5KGluc3RhbGxhdGlvbikxMyBiIEZjKDopaSg6KWUoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCi1mKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NiBiCi1GYig5NSkxNTAgMTIwOCB5IEZyKEwpMTUwIDEzMjQgeSBGYihsbylyKGNhbGl6YXRpb24pMTQKLWIgRmMoOilpKDopZCg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCi1nKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKLSg6KWYoOilnKDopNDEgYiBGYig3KTE1MCAxNDEyIHkobG9naW4pMjcgYihzaGVsbCkxNyBiCi1GYyg6KWQoOilmKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnCitmKDopZyg6KWcoOilnKDopZyg6KWcoOik0MCBiIEZiKDEzMSkxNTAgNjc2IHkoaW4pbih0ZXJhY3Rpb24sKTI3CitiKHJlYWRsaW5lKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKKyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDcKK2IgRmIoOTUpMTUwIDc2NCB5KGluKW4odGVyYWN0aXYpbihlKTI2IGIoc2hlbGwpMTQgYiBGYyg6KWcoOilmKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopCi1nKDopZyg6KTQ0IGIgRmIoNzMpMTUwIDE2NjIgeSBGcihNKTE1MCAxNzc5IHkgRmIobWF0YyluKGhpbmcsKTI2Ci1iKHBhdHRlcm4pMjAgYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQotZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ3Ci1iIEZiKDI0KTE1MCAxODY2IHkobWV0YWMpbihoYXJhY3RlcikxOCBiIEZjKDopZCg6KWUoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikKLWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTQ1IGIgRmIoMykxNTAgMjEwMAoteSBGcihOKTE1MCAyMjE3IHkgRmIobmFtZSkxMyBiIEZjKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCitnKDopaCg6KWYoOilnKDopZyg6KWcoOik0MSBiIEZiKDc1LCkyNiBiKDc2KTE1MCA4NTEgeShpbiluCisodGVybmF0aW9uYWxpemF0aW9uKTE0IGIgRmMoOiloKDopZig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKKzQxIGIgRmIoNykxNTAgMTA4NCB5IEZyKEopMTUwIDEyMDAgeSBGYihqb2IpMTYgYiBGYyg6KWUoOilmKDopZyg6KWcoOiloCiAoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQotZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KTQwCi1iIEZiKDMpMTUwIDIzMDQgeShuYXRpdiluKGUpMjUgYihsYW5ndWFnZXMpMTMgYiBGYyg6KWkoOillKDopZyg6KWgoOilmCitnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcKKyg6KWcoOilnKDopaCg6KWYoOik0MyBiIEZiKDMpMTUwIDEyODcgeShqb2IpMjYgYihjb24pbih0cm9sKTEzCitiIEZjKDopaCg6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0MAorYiBGYigzLCkyNiBiKDkxKTE1MCAxNTM3IHkgRnIoSykxNTAgMTY1MyB5IEZiKGtpbGwpZyhyaW5nKTIxCitiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopNDcgYiBGYig5NykxNTAgMTc0MCB5KGtpbGxpbmcpMjcKK2IodGV4dCkxOSBiIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopNDYgYiBGYig5NykxNTAgMTk4OSB5IEZyKEwpMTUwIDIxMDUKK3kgRmIobG8pcihjYWxpemF0aW9uKTE0IGIgRmMoOilpKDopZCg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopCitoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDEgYiBGYig3KTE1MCAyMTkzCit5KGxvZ2luKTI3IGIoc2hlbGwpMTcgYiBGYyg6KWQoOilmKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCisoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KQoraCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOik0NCBiIEZiKDc1KTE1MCAyNDQyIHkKK0ZyKE0pMTUwIDI1NTggeSBGYihtYXRjKW4oaGluZywpMjYgYihwYXR0ZXJuKTIwIGIgRmMoOikxNAorYig6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDcgYiBGYigyNikxNTAKKzI2NDUgeShtZXRhYyluKGhhcmFjdGVyKTE4IGIgRmMoOilkKDopZSg6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCiAoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KQotZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopNDAgYiBGYig3KTE1MCAyMzkxCitnKDopZyg6KWcoOiloKDopZig6KWcoOik0NSBiIEZiKDMpMTUwIDI4NzggeSBGcihOKTE1MAorMjk5NCB5IEZiKG5hbWUpMTMgYiBGYyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZworKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKK2coOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0MAorYiBGYigzKTE1MCAzMDgxIHkobmF0aXYpbihlKTI1IGIobGFuZ3VhZ2VzKTEzIGIgRmMoOilpKDopZSg6KWcoOiloKDopZgorKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKK2coOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQwIGIgRmIoNykxNTAgMzE2OQogeShub3RhdGlvbiwpMjcgYihyZWFkbGluZSk5IGIgRmMoOilrKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikKIGcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaAotKDopZig6KWcoOikzNSBiIEZiKDk0KTE1MCAyNjQyIHkgRnIoTykxNTAgMjc1OSB5IEZiKG9wKXIoZXJhdG9yLCkyNworKDopZig6KWcoOikzNSBiIEZiKDk2KTE1MCAzNDE4IHkgRnIoTykxNTAgMzUzNCB5IEZiKG9wKXIoZXJhdG9yLCkyNwogYihzaGVsbCkxNiBiIEZjKDopZSg6KWYoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKICg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCi1nKDopZyg6KTQzIGIgRmIoMykxNTAgMzAwOSB5IEZyKFApMTUwIDMxMjYgeSBGYihwYXJhbWV0ZXIpMjYKK2coOilnKDopNDMgYiBGYigzKTE1MCAzNzg0IHkgRnIoUCkxNTAgMzkwMCB5IEZiKHBhcmFtZXRlcikyNgogYihleHBhbnNpb24pNyBiIEZjKDopMTQgYig6KWYoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCiAoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM0Ci1iIEZiKDE5KTE1MCAzMjEzIHkocGFyYW1ldGVycykxNyBiIEZjKDopZCg6KWYoOilnKDopaCg6KWYoOilnKDopZyg6KWcKK2IgRmIoMjEpMTUwIDM5ODcgeShwYXJhbWV0ZXJzKTE3IGIgRmMoOilkKDopZig6KWcoOiloKDopZig6KWcoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0MyBiIEZiKDE1KTE1MAotMzMwMCB5KHBhcmFtZXRlcnMsKTI3IGIocClyKG9zaXRpb25hbCkxOCBiIEZjKDopZCg6KWUoOilnKDopZyg6KWcoOilnCitnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopNDMgYiBGYigxNykxNTAKKzQwNzQgeShwYXJhbWV0ZXJzLCkyNyBiKHApcihvc2l0aW9uYWwpMTggYiBGYyg6KWQoOillKDopZyg6KWcoOilnKDopZwogKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOik0NCBiIEZiKDE2KTE1MCAzMzg4IHkocGFyYW1ldGVycywpMjcgYihzcClyKGVjaWFsKTE4CitnKDopNDQgYiBGYigxNykxNTAgNDE2MSB5KHBhcmFtZXRlcnMsKTI3IGIoc3ApcihlY2lhbCkxOAogYiBGYyg6KWMoOilnKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDQgYiBGYigxNikxNTAKLTM0NzUgeShwYXRobmFtZSkyNSBiKGV4cGFuc2lvbikxMiBiIEZjKDopaSg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDQgYiBGYigxOCkxNTAKKzQyNDkgeShwYXRobmFtZSkyNSBiKGV4cGFuc2lvbikxMiBiIEZjKDopaSg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCi1nKDopMzggYiBGYigyNCkxNTAgMzU2MyB5KHBhdHRlcm4pMjUgYihtYXRjKW4oaGluZykxNAorZyg6KTM4IGIgRmIoMjUpMTUwIDQzMzYgeShwYXR0ZXJuKTI1IGIobWF0YyluKGhpbmcpMTQKIGIgRmMoOilnKDopZig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDAKLWIgRmIoMjQpMTUwIDM2NTAgeShwaXApcihlbGluZSkyMyBiIEZjKDopMTMgYig6KWcoOiloKDopZig6KWcoOilnKDopZworYiBGYigyNikxNTAgNDQyMyB5KHBpcClyKGVsaW5lKTIzIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnCiAoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQogZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopNTAKLWIgRmIoOCkxNTAgMzczNyB5KFBPU0lYKTE3IGIgRmMoOikxMiBiKDopaCg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKK2IgRmIoOCkxNTAgNDUxMCB5KFBPU0lYKTE3IGIgRmMoOikxMiBiKDopaCg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCiBnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KTQ0Ci1iIEZiKDMpMTUwIDM4MjUgeShQT1NJWCkyNSBiKE1vKXIoZGUpMTEgYiBGYyg6KWkoOilnKDopZyg6KWcoOilnKDopaCg6KQorYiBGYigzKTE1MCA0NTk3IHkoUE9TSVgpMjUgYihNbylyKGRlKTExIGIgRmMoOilpKDopZyg6KWcoOilnKDopZyg6KWgoOikKIGYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZwotKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzcgYiBGYig4NCkxNTAKLTM5MTIgeShwcm8pcihjZXNzKTI3IGIoZ3JvdXApOSBiIEZjKDopayg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOikzNyBiIEZiKDg2KTE1MAorNDY4NSB5KHBybylyKGNlc3MpMjcgYihncm91cCk5IGIgRmMoOilrKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCi1nKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM2IGIgRmIoMykxNTAgNDAwMCB5KHBybylyKGNlc3MpMjcKLWIoZ3JvdXApZShJRClkIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopCi1nKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcKLSg6KTQ5IGIgRmIoMykxNTAgNDA4NyB5KHBybylyKGNlc3MpMjcgYihzdWJzdGl0dXRpb24pMjEKLWIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopNDggYiBGYigyMykxNTAKLTQxNzUgeShwcm9ncmFtbWFibGUpMjcgYihjb21wbGV0aW9uKTIwIGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWcKLSg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOik0NgotYiBGYigxMTUpMTUwIDQyNjIgeShwcm9tcHRpbmcpMTEgYiBGYyg6KWkoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnCi0oOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikzNyBiIEZiKDgyKTIwMjUKLTI5OSB5IEZyKFEpMjAyNSA0MTkgeSBGYihxdW90aW5nKTEwIGIgRmMoOilqKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCitnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KTM2IGIgRmIoMykyMDI1IDI5OSB5KHBybylyKGNlc3MpMjYKK2IoZ3JvdXApZyhJRCkyMSBiIEZjKDopMTMgYig6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KTQ5IGIgRmIoMykyMDI1IDM4NiB5KHBybylyKGNlc3MpMjYgYihzdWJzdGl0dXRpb24pYworRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnCisoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopNDggYiBGYigyNCkyMDI1Cis0NzQgeShwcm9ncmFtbWFibGUpMjcgYihjb21wbGV0aW9uKTIwIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0NgorYiBGYigxMTcpMjAyNSA1NjEgeShwcm9tcHRpbmcpMTEgYiBGYyg6KWkoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCisoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikzOCBiIEZiKDg0KTIwMjUKKzgxMSB5IEZyKFEpMjAyNSA5MjggeSBGYihxdW90aW5nKTEwIGIgRmMoOilqKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCiBmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KTM3Ci1iIEZiKDYpMjAyNSA1MDggeShxdW90aW5nLCkyNiBiKEFOU0kpMTMgYiBGYyg6KWUoOilqKDopZig6KWcoOilnKDopZyg6KQotZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnCi0oOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0MCBiIEZiKDYpMjAyNQotNzY4IHkgRnIoUikyMDI1IDg4OCB5IEZiKFJlYWRsaW5lLCkyNiBiKGhvKW4odylnKHRvKWcodXNlKTcKK2IgRmIoNikyMDI1IDEwMTUgeShxdW90aW5nLCkyNiBiKEFOU0kpMTMgYiBGYyg6KWUoOilqKDopZig6KWcoOilnKDopZworKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2coOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOik0MCBiIEZiKDYpMjAyNQorMTI2NiB5IEZyKFIpMjAyNSAxMzgyIHkgRmIoUmVhZGxpbmUsKTI2IGIoaG8pbih3KWcodG8pZyh1c2UpNwogYiBGYyg6KTEzIGIoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKLSg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikzNCBiIEZiKDkyKTIwMjUKLTk3NyB5KHJlZGlyZWN0aW9uKTcgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloCi0oOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQotZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzMyBiIEZiKDI2KTIwMjUgMTA2NgorKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KTM0IGIgRmIoOTQpMjAyNQorMTQ2OSB5KHJlZGlyZWN0aW9uKTcgYiBGYyg6KTEzIGIoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2goOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZworKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzMyBiIEZiKDI3KTIwMjUgMTU1NwogeShyZXNlcnYpbihlZCkyNSBiKHcpbihvcmQpNyBiIEZjKDopMTQgYig6KWYoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOikKIGcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZwotKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikzNCBiIEZiKDMpMjAyNSAxMTU1CisoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTM0IGIgRmIoMykyMDI1IDE2NDQKIHkocmVzdHJpY3RlZCkyNiBiKHNoZWxsKTggYiBGYyg6KTE0IGIoOilmKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLWgoOilmKDopZyg6KWcoOilnKDopZyg6KTM1IGIgRmIoODQpMjAyNSAxMjQ0IHkocmV0dXJuKTI1CitoKDopZig6KWcoOilnKDopZyg6KWcoOikzNSBiIEZiKDg2KTIwMjUgMTczMSB5KHJldHVybikyNQogYihzdGF0dXMpYyBGYyg6KTEzIGIoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOikKIGcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZwotKDopZyg6KWgoOilmKDopNDggYiBGYig0KTIwMjUgMTQ4NyB5IEZyKFMpMjAyNSAxNjA3IHkKKyg6KWcoOiloKDopZig6KTQ4IGIgRmIoNCkyMDI1IDE5NjUgeSBGcihTKTIwMjUgMjA4MiB5CiBGYihzaGVsbCkyNiBiKGFyaXRobWV0aWMpMTEgYiBGYyg6KWooOilmKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KQogZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCi0oOilnKDopZyg6KWgoOilmKDopMzcgYiBGYig3OCkyMDI1IDE2OTYgeShzaGVsbCkyNiBiKGZ1bmN0aW9uKTEyCisoOilnKDopZyg6KWgoOilmKDopMzcgYiBGYig4MCkyMDI1IDIxNjkgeShzaGVsbCkyNiBiKGZ1bmN0aW9uKTEyCiBiIEZjKDopaCg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQogZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOikzOAotYiBGYigxNCkyMDI1IDE3ODUgeShzaGVsbCkyNiBiKHNjcmlwdCljIEZjKDopMTMgYig6KWcoOilnKDopZyg6KWcoOilnCitiIEZiKDE1KTIwMjUgMjI1NiB5KHNoZWxsKTI2IGIoc2NyaXB0KWMgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopCiBnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0OCBiCi1GYigzMykyMDI1IDE4NzQgeShzaGVsbCkyNiBiKHYpbChhcmlhYmxlKTE4IGIgRmMoOiljKDopZig6KWcoOilnKDopaCg6KQorRmIoMzQpMjAyNSAyMzQ0IHkoc2hlbGwpMjYgYih2KWwoYXJpYWJsZSkxOCBiIEZjKDopYyg6KWYoOilnKDopZyg6KWgoOikKIGYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZwotKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ1IGIgRmIoMTUpMjAyNQotMTk2NCB5KHNoZWxsLCkyNiBiKGluKW4odGVyYWN0aXYpbihlKTE0IGIgRmMoOilnKDopZig6KWcoOilnKDopZyg6KWcoOikKKyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0NSBiIEZiKDE3KTIwMjUKKzI0MzEgeShzaGVsbCwpMjYgYihpbiluKHRlcmFjdGl2KW4oZSkxNCBiIEZjKDopZyg6KWYoOilnKDopZyg6KWcoOilnKDopCiBoKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKLSg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQwIGIgRmIoNzUpMjAyNSAyMDUzIHkoc2lnbmFsKTcKKyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KTQwIGIgRmIoNzYpMjAyNSAyNTE4IHkoc2lnbmFsKTcKIGIgRmMoOikxNCBiKDopZig6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCiAoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQotZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzQgYiBGYig0KTIwMjUgMjE0MgorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopMzQgYiBGYig0KTIwMjUgMjYwNgogeShzaWduYWwpMjcgYihoYW5kbGluZykxNyBiIEZjKDopYyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZwogKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOikKLWcoOilnKDopZyg6KWcoOik0NCBiIEZiKDMyKTIwMjUgMjIzMSB5KHNwKXIoZWNpYWwpMjcKK2coOilnKDopZyg6KWcoOik0NCBiIEZiKDM0KTIwMjUgMjY5MyB5KHNwKXIoZWNpYWwpMjcKIGIoYnVpbHRpbikxMCBiIEZjKDopaig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKLTM3IGIgRmIoNCwpMjYgYig1OSkyMDI1IDIzMjAgeShzdGFydHVwKWYoXDAxNGxlcylkIEZjKDopMTMKKzM3IGIgRmIoNCwpMjYgYig2MikyMDI1IDI3ODEgeShzdGFydHVwKWYoXDAxNGxlcylkIEZjKDopMTMKIGIoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZwogKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KTQ4Ci1iIEZiKDczKTIwMjUgMjQwOSB5KHN1c3ApcihlbmRpbmcpMjUgYihqb2JzKTYgYiBGYyg6KTE0CitiIEZiKDc1KTIwMjUgMjg2OCB5KHN1c3ApcihlbmRpbmcpMjUgYihqb2JzKTYgYiBGYyg6KTE0CiBiKDopZyg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgKICg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikzMwotYiBGYig4OSkyMDI1IDI2NjkgeSBGcihUKTIwMjUgMjc4OSB5IEZiKHRpbGRlKTI2IGIoZXhwYW5zaW9uKTE4CitiIEZiKDkxKTIwMjUgMzExOCB5IEZyKFQpMjAyNSAzMjM1IHkgRmIodGlsZGUpMjYgYihleHBhbnNpb24pMTgKIGIgRmMoOikxMyBiKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnCiAoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0NQotYiBGYigxOSkyMDI1IDI4NzggeSh0b2spbihlbikxMSBiIEZjKDopaCg6KWkoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOikKK2IgRmIoMjApMjAyNSAzMzIyIHkodG9rKW4oZW4pMTEgYiBGYyg6KWgoOilpKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCiBnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYKICg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikzOAotYiBGYig0KTIwMjUgMjk2NyB5KHRyYW5zbGF0aW9uLCkyNyBiKG5hdGl2KW4oZSllKGxhbmd1YWdlcykxMworYiBGYig0KTIwMjUgMzQwOSB5KHRyYW5zbGF0aW9uLCkyNyBiKG5hdGl2KW4oZSllKGxhbmd1YWdlcykxMwogYiBGYyg6KWkoOillKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOikKLWcoOilnKDopZyg6KTQwIGIgRmIoNykyMDI1IDMyMjcgeSBGcihWKTIwMjUgMzM0NyB5IEZiKHYpbChhcmlhYmxlLCkyNgorZyg6KWcoOilnKDopNDAgYiBGYig3KTIwMjUgMzY2MCB5IEZyKFYpMjAyNSAzNzc2IHkgRmIodilsKGFyaWFibGUsKTI2CiBiKHNoZWxsKTggYiBGYyg6KTE0IGIoOilmKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcKICg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopCi1mKDopZyg6KWcoOikzNCBiIEZiKDE1KTIwMjUgMzQzNiB5KHYpbChhcmlhYmxlcywpMjcgYihyZWFkbGluZSkyMQorZig6KWcoOilnKDopMzQgYiBGYigxNykyMDI1IDM4NjQgeSh2KWwoYXJpYWJsZXMsKTI3IGIocmVhZGxpbmUpMjEKIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWgoOilmCiAoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOik0NwotYiBGYig5NykyMDI1IDM2OTUgeSBGcihXKTIwMjUgMzgxNSB5IEZiKHcpbihvcmQpMjEgYgorYiBGYig5OSkyMDI1IDQxMTQgeSBGcihXKTIwMjUgNDIzMCB5IEZiKHcpbihvcmQpMjEgYgogRmMoOikxMyBiKDopZyg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnCiAoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KQotZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDggYiBGYig0KTIwMjUgMzkwNAorZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopNDggYiBGYig0KTIwMjUgNDMxOAogeSh3KW4ob3JkKTI2IGIoc3BsaXR0aW5nKTIxIGIgRmMoOikxMyBiKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcKICg6KWcoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopZig6KWcoOilnKDopZyg6KWcoOilnKDopCi1nKDopaCg6KWYoOilnKDopZyg6KWcoOik0NyBiIEZiKDIzKTIwMjUgNDE2NCB5IEZyKFkpMjAyNQotNDI4NCB5IEZiKHkpbihhbmtpbmcpMjUgYih0ZXh0KTkgYiBGYyg6KWooOiloKDopZyg6KWgoOilmKDopZyg6KWcoOilnCitnKDopaCg6KWYoOilnKDopZyg6KWcoOik0NyBiIEZiKDI1KTIwMjUgNDU2OCB5IEZyKFkpMjAyNQorNDY4NSB5IEZiKHkpbihhbmtpbmcpMjUgYih0ZXh0KTkgYiBGYyg6KWooOiloKDopZyg6KWgoOilmKDopZyg6KWcoOilnCiAoOilnKDopZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOilnKDopaCg6KWYoOilnKDopZyg6KWcoOilnKDopZyg6KQotZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzUgYiBGYig5NSlwIGVvcAorZyg6KWgoOilmKDopZyg6KWcoOilnKDopZyg6KWcoOiloKDopMzUgYiBGYig5NylwIGVvcAogZW5kCi0lJVBhZ2U6IDE1OCAxNjQKLVRlWERpY3QgYmVnaW4gMTU4IDE2MyBib3AgZW9wIGVuZAorJSVQYWdlOiAxNjIgMTY4CitUZVhEaWN0IGJlZ2luIDE2MiAxNjcgYm9wIGVvcCBlbmQKICUlVHJhaWxlcgogCiB1c2VyZGljdCAvZW5kLWhvb2sga25vd257ZW5kLWhvb2t9aWYKZGlmZiAtLWdpdCBhL2RvYy9iYXNocmVmLnRleGkgYi9kb2MvYmFzaHJlZi50ZXhpCmluZGV4IGJmOGUzZDAuLmI0ZmQ4ZDMgMTAwNjQ0Ci0tLSBhL2RvYy9iYXNocmVmLnRleGkKKysrIGIvZG9jL2Jhc2hyZWYudGV4aQpAQCAtMTYsNyArMTYsNyBAQAogb2YgQGNpdGV7VGhlIEdOVSBCYXNoIFJlZmVyZW5jZSBNYW51YWx9LAogZm9yIEBjb2Rle0Jhc2h9LCBWZXJzaW9uIEB2YWx1ZXtWRVJTSU9OfS4KIAotQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAxOTg4LS0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAxOTg4LS0yMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gbWFrZSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YKIHRoaXMgbWFudWFsIHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlCkBAIC01MjIsNiArNTIyLDEyIEBACiBAaXRlbSBceEB2YXJ7SEh9CiB0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUgQHZhcntISH0KIChvbmUgb3IgdHdvIGhleCBkaWdpdHMpCitAaXRlbSBcdUB2YXJ7SEhISH0KK3RoZSBVbmljb2RlIChJU08vSUVDIDEwNjQ2KSBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgdGhlIGhleGFkZWNpbWFsIHZhbHVlCitAdmFye0hISEh9IChvbmUgdG8gZm91ciBoZXggZGlnaXRzKQorQGl0ZW0gXFVAdmFye0hISEhISEhIfQordGhlIFVuaWNvZGUgKElTTy9JRUMgMTA2NDYpIGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUgaGV4YWRlY2ltYWwgdmFsdWUKK0B2YXJ7SEhISEhISEh9IChvbmUgdG8gZWlnaHQgaGV4IGRpZ2l0cykKIEBpdGVtIFxjQHZhcnt4fQogYSBjb250cm9sLUB2YXJ7eH0gY2hhcmFjdGVyCiBAZW5kIHRhYmxlCkBAIC01OTAsNiArNTk2LDcgQEAKICogTGlzdHM6OgkJCUhvdyB0byBleGVjdXRlIGNvbW1hbmRzIHNlcXVlbnRpYWxseS4KICogQ29tcG91bmQgQ29tbWFuZHM6OgkJU2hlbGwgY29tbWFuZHMgZm9yIGNvbnRyb2wgZmxvdy4KICogQ29wcm9jZXNzZXM6OgkJCVR3by13YXkgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIGNvbW1hbmRzLgorKiBHTlUgUGFyYWxsZWw6OgkJUnVubmluZyBjb21tYW5kcyBpbiBwYXJhbGxlbC4KIEBlbmQgbWVudQogCiBAbm9kZSBTaW1wbGUgQ29tbWFuZHMKQEAgLTY0MSw2ICs2NDgsOSBAQAogdXNlciBhbmQgc3lzdGVtIHRpbWUgY29uc3VtZWQgYnkgdGhlIGNvbW1hbmQncyBleGVjdXRpb24uCiBUaGUgQG9wdGlvbnstcH0gb3B0aW9uIGNoYW5nZXMgdGhlIG91dHB1dCBmb3JtYXQgdG8gdGhhdCBzcGVjaWZpZWQKIGJ5IEBzY3twb3NpeH0uCitXaGVuIHRoZSBzaGVsbCBpcyBpbiBAc2N7cG9zaXh9IG1vZGUgKEBweHJlZntCYXNoIFBPU0lYIE1vZGV9KSwKK2l0IGRvZXMgbm90IHJlY29nbml6ZSBAY29kZXt0aW1lfSBhcyBhIHJlc2VydmVkIHdvcmQgaWYgdGhlIG5leHQKK3Rva2VuIGJlZ2lucyB3aXRoIGEgQHNhbXB7LX0uCiBUaGUgQGVudntUSU1FRk9STUFUfSB2YXJpYWJsZSBtYXkgYmUgc2V0IHRvIGEgZm9ybWF0IHN0cmluZyB0aGF0CiBzcGVjaWZpZXMgaG93IHRoZSB0aW1pbmcgaW5mb3JtYXRpb24gc2hvdWxkIGJlIGRpc3BsYXllZC4KIEB4cmVme0Jhc2ggVmFyaWFibGVzfSwgZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIGF2YWlsYWJsZSBmb3JtYXRzLgpAQCAtNjQ4LDYgKzY1OCwxMiBAQAogc2hlbGwgYnVpbHRpbnMsIHNoZWxsIGZ1bmN0aW9ucywgYW5kIHBpcGVsaW5lcy4gIEFuIGV4dGVybmFsCiBAY29kZXt0aW1lfSBjb21tYW5kIGNhbm5vdCB0aW1lIHRoZXNlIGVhc2lseS4KIAorV2hlbiB0aGUgc2hlbGwgaXMgaW4gQHNje3Bvc2l4fSBtb2RlIChAcHhyZWZ7QmFzaCBQT1NJWCBNb2RlfSksIEBjb2Rle3RpbWV9CittYXkgYmUgZm9sbG93ZWQgYnkgYSBuZXdsaW5lLiAgSW4gdGhpcyBjYXNlLCB0aGUgc2hlbGwgZGlzcGxheXMgdGhlCit0b3RhbCB1c2VyIGFuZCBzeXN0ZW0gdGltZSBjb25zdW1lZCBieSB0aGUgc2hlbGwgYW5kIGl0cyBjaGlsZHJlbi4KK1RoZSBAZW52e1RJTUVGT1JNQVR9IHZhcmlhYmxlIG1heSBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIGZvcm1hdCBvZgordGhlIHRpbWUgaW5mb3JtYXRpb24uCisKIElmIHRoZSBwaXBlbGluZSBpcyBub3QgZXhlY3V0ZWQgYXN5bmNocm9ub3VzbHkgKEBweHJlZntMaXN0c30pLCB0aGUKIHNoZWxsIHdhaXRzIGZvciBhbGwgY29tbWFuZHMgaW4gdGhlIHBpcGVsaW5lIHRvIGNvbXBsZXRlLgogCkBAIC04MDQsNyArODIwLDcgQEAKIEVhY2ggdGltZSBAdmFye2V4cHIyfSBldmFsdWF0ZXMgdG8gYSBub24temVybyB2YWx1ZSwgQHZhcntjb21tYW5kc30gYXJlCiBleGVjdXRlZCBhbmQgdGhlIGFyaXRobWV0aWMgZXhwcmVzc2lvbiBAdmFye2V4cHIzfSBpcyBldmFsdWF0ZWQuICAgICAgIAogSWYgYW55IGV4cHJlc3Npb24gaXMgb21pdHRlZCwgaXQgYmVoYXZlcyBhcyBpZiBpdCBldmFsdWF0ZXMgdG8gMS4KLVRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGV4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgaW4gQHZhcntsaXN0fQorVGhlIHJldHVybiB2YWx1ZSBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBpbiBAdmFye2NvbW1hbmRzfQogdGhhdCBpcyBleGVjdXRlZCwgb3IgZmFsc2UgaWYgYW55IG9mIHRoZSBleHByZXNzaW9ucyBpcyBpbnZhbGlkLgogCiBAZW5kIHRhYmxlCkBAIC05NzksNyArOTk1LDcgQEAKIENvbmRpdGlvbmFsIG9wZXJhdG9ycyBzdWNoIGFzIEBzYW1wey1mfSBtdXN0IGJlIHVucXVvdGVkIHRvIGJlIHJlY29nbml6ZWQKIGFzIHByaW1hcmllcy4KIAotV2hlbiB1c2VkIHdpdGggQHNhbXB7W1t9LCBUaGUgQHNhbXB7PH0gYW5kIEBzYW1wez59IG9wZXJhdG9ycyBzb3J0CitXaGVuIHVzZWQgd2l0aCBAc2FtcHtbW30sIHRoZSBAc2FtcHs8fSBhbmQgQHNhbXB7Pn0gb3BlcmF0b3JzIHNvcnQKIGxleGljb2dyYXBoaWNhbGx5IHVzaW5nIHRoZSBjdXJyZW50IGxvY2FsZS4KIAogV2hlbiB0aGUgQHNhbXB7PT19IGFuZCBAc2FtcHshPX0gb3BlcmF0b3JzIGFyZSB1c2VkLCB0aGUgc3RyaW5nIHRvIHRoZQpAQCAtMTExOSwxMyArMTEzNSw4OCBAQAogVGhlIGZpbGUgZGVzY3JpcHRvcnMgY2FuIGJlIHV0aWxpemVkIGFzIGFyZ3VtZW50cyB0byBzaGVsbCBjb21tYW5kcwogYW5kIHJlZGlyZWN0aW9ucyB1c2luZyBzdGFuZGFyZCB3b3JkIGV4cGFuc2lvbnMuCiAKLVRoZSBwcm9jZXNzIGlkIG9mIHRoZSBzaGVsbCBzcGF3bmVkIHRvIGV4ZWN1dGUgdGhlIGNvcHJvY2VzcyBpcworVGhlIHByb2Nlc3MgSUQgb2YgdGhlIHNoZWxsIHNwYXduZWQgdG8gZXhlY3V0ZSB0aGUgY29wcm9jZXNzIGlzCiBhdmFpbGFibGUgYXMgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZSBAdmFye05BTUV9X1BJRC4KIFRoZSBAY29kZXt3YWl0fQogYnVpbHRpbiBjb21tYW5kIG1heSBiZSB1c2VkIHRvIHdhaXQgZm9yIHRoZSBjb3Byb2Nlc3MgdG8gdGVybWluYXRlLgogCiBUaGUgcmV0dXJuIHN0YXR1cyBvZiBhIGNvcHJvY2VzcyBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgQHZhcntjb21tYW5kfS4KIAorQG5vZGUgR05VIFBhcmFsbGVsCitAc3Vic2VjdGlvbiBHTlUgUGFyYWxsZWwKKworR05VIFBhcmFsbGVsLCBhcyBpdHMgbmFtZSBzdWdnZXN0cywgY2FuIGJlIHVzZWQgdG8gYnVpbGQgYW5kIHJ1biBjb21tYW5kcworaW4gcGFyYWxsZWwuICBZb3UgbWF5IHJ1biB0aGUgc2FtZSBjb21tYW5kIHdpdGggZGlmZmVyZW50IGFyZ3VtZW50cywgd2hldGhlcgordGhleSBhcmUgZmlsZW5hbWVzLCB1c2VybmFtZXMsIGhvc3RuYW1lcywgb3IgbGluZXMgcmVhZCBmcm9tIGZpbGVzLgorCitGb3IgYSBjb21wbGV0ZSBkZXNjcmlwdGlvbiwgcmVmZXIgdG8gdGhlIEdOVSBQYXJhbGxlbCBkb2N1bWVudGF0aW9uLiAgQSBmZXcKK2V4YW1wbGVzIHNob3VsZCBwcm92aWRlIGEgYnJpZWYgaW50cm9kdWN0aW9uIHRvIGl0cyB1c2UuCisKK0ZvciBleGFtcGxlLCBpdCBpcyBlYXN5IHRvIHByZWZpeCBlYWNoIGxpbmUgaW4gYSB0ZXh0IGZpbGUgd2l0aCBhIHNwZWNpZmllZAorc3RyaW5nOgorQGV4YW1wbGUKK2NhdCBmaWxlIHwgcGFyYWxsZWwgLWsgZWNobyBwcmVmaXhfc3RyaW5nCitAZW5kIGV4YW1wbGUKK0Bub2luZGVudAorVGhlIEBvcHRpb257LWt9IG9wdGlvbiBpcyByZXF1aXJlZCB0byBwcmVzZXJ2ZSB0aGUgbGluZXMnIG9yZGVyLgorCitTaW1pbGFybHksIHlvdSBjYW4gYXBwZW5kIGEgc3BlY2lmaWVkIHN0cmluZyB0byBlYWNoIGxpbmUgaW4gYSB0ZXh0IGZpbGU6CitAZXhhbXBsZQorY2F0IGZpbGUgfCBwYXJhbGxlbCAtayBlY2hvIEB7QH0gYXBwZW5kX3N0cmluZworQGVuZCBleGFtcGxlCisKK1lvdSBjYW4gdXNlIFBhcmFsbGVsIHRvIG1vdmUgZmlsZXMgZnJvbSB0aGUgY3VycmVudCBkaXJlY3Rvcnkgd2hlbiB0aGUKK251bWJlciBvZiBmaWxlcyBpcyB0b28gbGFyZ2UgdG8gcHJvY2VzcyB3aXRoIG9uZSBAY29kZXttdn0gaW52b2NhdGlvbjoKK0BleGFtcGxlCitscyB8IHBhcmFsbGVsIG12IEB7QH0gZGVzdGRpcgorQGVuZCBleGFtcGxlCisKK0FzIHlvdSBjYW4gc2VlLCB0aGUgQHtAfSBpcyByZXBsYWNlZCB3aXRoIGVhY2ggbGluZSByZWFkIGZyb20gc3RhbmRhcmQgaW5wdXQuCitUaGlzIHdpbGwgcnVuIGFzIG1hbnkgQGNvZGV7bXZ9IGNvbW1hbmRzIGFzIHRoZXJlIGFyZSBmaWxlcyBpbiB0aGUgY3VycmVudAorZGlyZWN0b3J5LiAgWW91IGNhbiBlbXVsYXRlIGEgcGFyYWxsZWwgQGNvZGV7eGFyZ3N9IGJ5IGFkZGluZyB0aGUgQG9wdGlvbnstWH0KK29wdGlvbjoKK0BleGFtcGxlCitscyB8IHBhcmFsbGVsIC1YIG12IEB7QH0gZGVzdGRpcgorQGVuZCBleGFtcGxlCisKK0dOVSBQYXJhbGxlbCBjYW4gcmVwbGFjZSBjZXJ0YWluIGNvbW1vbiBpZGlvbXMgdGhhdCBvcGVyYXRlIG9uIGxpbmVzIHJlYWQKK2Zyb20gYSBmaWxlIChpbiB0aGlzIGNhc2UsIGZpbGVuYW1lcyk6CitAZXhhbXBsZQorCWZvciB4IGluICQoY2F0IGxpc3QpOyBkbworCQlkby1zb21ldGhpbmcxICR4IGNvbmZpZy0keAorCQlkby1zb21ldGhpbmcyIDwgJHgKKwlkb25lIHwgcHJvY2Vzcy1vdXRwdXQKK0BlbmQgZXhhbXBsZQorCitAbm9pbmRlbnQKK3dpdGggYSBtb3JlIGNvbXBhY3Qgc3ludGF4IHJlbWluaXNjZW50IG9mIGxhbWJkYXM6CitAZXhhbXBsZQorY2F0IGxpc3QgfCBwYXJhbGxlbCAiZG8tc29tZXRoaW5nMSBAe0B9IGNvbmZpZy1Ae0B9IDsgZG8tc29tZXRoaW5nMiA8IEB7QH0iIHwgcHJvY2Vzcy1vdXRwdXQKK0BlbmQgZXhhbXBsZQorCitQYXJhbGxlbCBwcm92aWRlcyBhIGJ1aWx0LWluIG1lY2hhbmlzbSB0byByZW1vdmUgZmlsZW5hbWUgZXh0ZW5zaW9ucywgd2hpY2gKK2xlbmRzIGl0c2VsZiB0byBiYXRjaCBmaWxlIHRyYW5zZm9ybWF0aW9ucyBvciByZW5hbWluZzoKK0BleGFtcGxlCitscyAqLmd6IHwgcGFyYWxsZWwgLWorMCAiemNhdCBAe0B9IHwgYnppcDIgPkB7LkB9LmJ6MiAmJiBybSBAe0B9IgorQGVuZCBleGFtcGxlCitAbm9pbmRlbnQKK1RoaXMgd2lsbCByZWNvbXByZXNzIGFsbCBmaWxlcyBpbiB0aGUgY3VycmVudCBkaXJlY3Rvcnkgd2l0aCBuYW1lcyBlbmRpbmcKK2luIC5neiB1c2luZyBiemlwMiwgcnVubmluZyBvbmUgam9iIHBlciBDUFUgKC1qKzApICBpbiBwYXJhbGxlbC4KKworSWYgYSBjb21tYW5kIGdlbmVyYXRlcyBvdXRwdXQsIHlvdSBtYXkgd2FudCB0byBwcmVzZXJ2ZSB0aGUgaW5wdXQgb3JkZXIgaW4KK3RoZSBvdXRwdXQuICBGb3IgaW5zdGFuY2UsIHRoZSBmb2xsb3dpbmcgY29tbWFuZAorQGV4YW1wbGUKK0B7IGVjaG8gZm9zcy5vcmcubXkgOyBlY2hvIGRlYmlhbi5vcmc7IGVjaG8gZnJlZW5ldHByb2plY3Qub3JnOyBAfSB8IHBhcmFsbGVsIHRyYWNlcm91dGUKK0BlbmQgZXhhbXBsZQorQG5vaW5kZW50Cit3aWxsIGRpc3BsYXkgYXMgb3V0cHV0IHRoZSB0cmFjZXJvdXRlIGludm9jYXRpb24gdGhhdCBmaW5pc2hlcyBmaXJzdC4gIFVzaW5nCit0aGUgQG9wdGlvbnsta30gb3B0aW9uLCBhcyB3ZSBzYXcgYWJvdmUKK0BleGFtcGxlCitAeyBlY2hvIGZvc3Mub3JnLm15IDsgZWNobyBkZWJpYW4ub3JnOyBlY2hvIGZyZWVuZXRwcm9qZWN0Lm9yZzsgQH0gfCBwYXJhbGxlbCAtayB0cmFjZXJvdXRlCitAZW5kIGV4YW1wbGUKK0Bub2luZGVudAord2lsbCBlbnN1cmUgdGhhdCB0aGUgb3V0cHV0IG9mIEBjb2Rle3RyYWNlcm91dGUgZm9zcy5vcmcubXl9IGlzIGRpc3BsYXllZCBmaXJzdC4KKwogQG5vZGUgU2hlbGwgRnVuY3Rpb25zCiBAc2VjdGlvbiBTaGVsbCBGdW5jdGlvbnMKIEBjaW5kZXggc2hlbGwgZnVuY3Rpb24KQEAgLTExNDIsNyArMTIzMyw4IEBACiBGdW5jdGlvbnMgYXJlIGRlY2xhcmVkIHVzaW5nIHRoaXMgc3ludGF4OgogQHJ3aW5kZXggZnVuY3Rpb24KIEBleGFtcGxlCi1bIEBjb2Rle2Z1bmN0aW9ufSBdIEB2YXJ7bmFtZX0gKCkgQHZhcntjb21wb3VuZC1jb21tYW5kfSBbIEB2YXJ7cmVkaXJlY3Rpb25zfSBdCitAdmFye25hbWV9ICgpIEB2YXJ7Y29tcG91bmQtY29tbWFuZH0gWyBAdmFye3JlZGlyZWN0aW9uc30gXUAqb3JAKgorQGNvZGV7ZnVuY3Rpb259IEB2YXJ7bmFtZX0gWygpXSBAdmFye2NvbXBvdW5kLWNvbW1hbmR9IFsgQHZhcntyZWRpcmVjdGlvbnN9IF0KIEBlbmQgZXhhbXBsZQogCiBUaGlzIGRlZmluZXMgYSBzaGVsbCBmdW5jdGlvbiBuYW1lZCBAdmFye25hbWV9LiAgVGhlIHJlc2VydmVkCkBAIC0xMTk4LDYgKzEyOTAsMTEgQEAKIEB4cmVme0JvdXJuZSBTaGVsbCBCdWlsdGluc30sIGZvciB0aGUgZGVzY3JpcHRpb24gb2YgdGhlCiBAY29kZXt0cmFwfSBidWlsdGluLgogCitUaGUgQGVudntGVU5DTkVTVH0gdmFyaWFibGUsIGlmIHNldCB0byBhIG51bWVyaWMgdmFsdWUgZ3JlYXRlcgordGhhbiAwLCBkZWZpbmVzIGEgbWF4aW11bSBmdW5jdGlvbiBuZXN0aW5nIGxldmVsLiAgRnVuY3Rpb24KK2ludm9jYXRpb25zIHRoYXQgZXhjZWVkIHRoZSBsaW1pdCBjYXVzZSB0aGUgZW50aXJlIGNvbW1hbmQgdG8KK2Fib3J0LgorCiBJZiB0aGUgYnVpbHRpbiBjb21tYW5kIEBjb2Rle3JldHVybn0KIGlzIGV4ZWN1dGVkIGluIGEgZnVuY3Rpb24sIHRoZSBmdW5jdGlvbiBjb21wbGV0ZXMgYW5kCiBleGVjdXRpb24gcmVzdW1lcyB3aXRoIHRoZSBuZXh0IGNvbW1hbmQgYWZ0ZXIgdGhlIGZ1bmN0aW9uCkBAIC0xMjMyLDggKzEzMjksMTAgQEAKIHNoZWxsJ3MgY2hpbGRyZW4uCiBDYXJlIHNob3VsZCBiZSB0YWtlbiBpbiBjYXNlcyB3aGVyZSB0aGlzIG1heSBjYXVzZSBhIHByb2JsZW0uCiAKLUZ1bmN0aW9ucyBtYXkgYmUgcmVjdXJzaXZlLiAgTm8gbGltaXQgaXMgcGxhY2VkIG9uIHRoZSBudW1iZXIgb2YKLXJlY3Vyc2l2ZSAgY2FsbHMuCitGdW5jdGlvbnMgbWF5IGJlIHJlY3Vyc2l2ZS4KK1RoZSBAY29kZXtGVU5DTkVTVH0gdmFyaWFibGUgbWF5IGJlIHVzZWQgdG8gbGltaXQgdGhlIGRlcHRoIG9mIHRoZQorZnVuY3Rpb24gY2FsbCBzdGFjayBhbmQgcmVzdHJpY3QgdGhlIG51bWJlciBvZiBmdW5jdGlvbiBpbnZvY2F0aW9ucy4KK0J5IGRlZmF1bHQsIG5vIGxpbWl0IGlzIHBsYWNlZCBvbiB0aGUgbnVtYmVyIG9mIHJlY3Vyc2l2ZSAgY2FsbHMuCiAKIEBub2RlIFNoZWxsIFBhcmFtZXRlcnMKIEBzZWN0aW9uIFNoZWxsIFBhcmFtZXRlcnMKQEAgLTEyODMsNyArMTM4Miw3IEBACiB0byBhIHNoZWxsIHZhcmlhYmxlIG9yIGFycmF5IGluZGV4IChAcHhyZWZ7QXJyYXlzfSksIHRoZSBAc2FtcHsrPX0KIG9wZXJhdG9yIGNhbiBiZSB1c2VkIHRvICAgCiBhcHBlbmQgdG8gb3IgYWRkIHRvIHRoZSB2YXJpYWJsZSdzIHByZXZpb3VzIHZhbHVlLgotV2hlbiBAc2FtcHsrPX0gaXMgYXBwbGllZCB0byBhIHZhcmlhYmxlIGZvciB3aGljaCB0aGUgaW50ZWdlciBhdHRyaWJ1dGUKK1doZW4gQHNhbXB7Kz19IGlzIGFwcGxpZWQgdG8gYSB2YXJpYWJsZSBmb3Igd2hpY2ggdGhlIEB2YXJ7aW50ZWdlcn0gYXR0cmlidXRlCiBoYXMgYmVlbiBzZXQsIEB2YXJ7dmFsdWV9IGlzIGV2YWx1YXRlZCBhcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gYW5kCiBhZGRlZCB0byB0aGUgdmFyaWFibGUncyBjdXJyZW50IHZhbHVlLCB3aGljaCBpcyBhbHNvIGV2YWx1YXRlZC4KIFdoZW4gQHNhbXB7Kz19IGlzIGFwcGxpZWQgdG8gYW4gYXJyYXkgdmFyaWFibGUgdXNpbmcgY29tcG91bmQgYXNzaWdubWVudApAQCAtMTYxOCw3ICsxNzE3LDcgQEAKIGV4cGFuZGVkIGFuZCB0aGF0IHZhbHVlIGlzIHVzZWQgaW4gdGhlIHJlc3Qgb2YgdGhlIHN1YnN0aXR1dGlvbiwgcmF0aGVyCiB0aGFuIHRoZSB2YWx1ZSBvZiBAdmFye3BhcmFtZXRlcn0gaXRzZWxmLgogVGhpcyBpcyBrbm93biBhcyBAY29kZXtpbmRpcmVjdCBleHBhbnNpb259LgotVGhlIGV4Y2VwdGlvbnMgdG8gdGhpcyBhcmUgdGhlIGV4cGFuc2lvbnMgb2YgJEB7IUB2YXJ7cHJlZml4Kn1AfQorVGhlIGV4Y2VwdGlvbnMgdG8gdGhpcyBhcmUgdGhlIGV4cGFuc2lvbnMgb2YgJEB7IUB2YXJ7cHJlZml4fUAqQH0KIGFuZCAkQHshQHZhcntuYW1lfVtAQF1AfQogZGVzY3JpYmVkIGJlbG93LgogVGhlIGV4Y2xhbWF0aW9uIHBvaW50IG11c3QgaW1tZWRpYXRlbHkgZm9sbG93IHRoZSBsZWZ0IGJyYWNlIGluIG9yZGVyIHRvCkBAIC0xNjcyLDkgKzE3NzEsMTMgQEAKIChAcHhyZWZ7U2hlbGwgQXJpdGhtZXRpY30pLgogVGhpcyBpcyByZWZlcnJlZCB0byBhcyBTdWJzdHJpbmcgRXhwYW5zaW9uLgogCi1AdmFye2xlbmd0aH0gbXVzdCBldmFsdWF0ZSB0byBhIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gemVyby4KIElmIEB2YXJ7b2Zmc2V0fSBldmFsdWF0ZXMgdG8gYSBudW1iZXIgbGVzcyB0aGFuIHplcm8sIHRoZSB2YWx1ZQogaXMgdXNlZCBhcyBhbiBvZmZzZXQgZnJvbSB0aGUgZW5kIG9mIHRoZSB2YWx1ZSBvZiBAdmFye3BhcmFtZXRlcn0uCitJZiBAdmFye2xlbmd0aH0gZXZhbHVhdGVzIHRvIGEgbnVtYmVyIGxlc3MgdGhhbiB6ZXJvLCBhbmQgQHZhcntwYXJhbWV0ZXJ9CitpcyBub3QgQHNhbXB7QEB9IGFuZCBub3QgYW4gaW5kZXhlZCBvciBhc3NvY2lhdGl2ZSBhcnJheSwgaXQgaXMgaW50ZXJwcmV0ZWQKK2FzIGFuIG9mZnNldCBmcm9tIHRoZSBlbmQgb2YgdGhlIHZhbHVlIG9mIEB2YXJ7cGFyYW1ldGVyfSByYXRoZXIgdGhhbgorYSBudW1iZXIgb2YgY2hhcmFjdGVycywgYW5kIHRoZSBleHBhbnNpb24gaXMgdGhlIGNoYXJhY3RlcnMgYmV0d2VlbiB0aGUKK3R3byBvZmZzZXRzLgogSWYgQHZhcntwYXJhbWV0ZXJ9IGlzIEBzYW1we0BAfSwgdGhlIHJlc3VsdCBpcyBAdmFye2xlbmd0aH0gcG9zaXRpb25hbAogcGFyYW1ldGVycyBiZWdpbm5pbmcgYXQgQHZhcntvZmZzZXR9LgogSWYgQHZhcntwYXJhbWV0ZXJ9IGlzIGFuIGluZGV4ZWQgYXJyYXkgbmFtZSBzdWJzY3JpcHRlZApAQCAtMjgzOCw3ICsyOTQxLDcgQEAKIEBpdGVtIGNkCiBAYnRpbmRleCBjZAogQGV4YW1wbGUKLWNkIFstTHwtUF0gW0B2YXJ7ZGlyZWN0b3J5fV0KK2NkIFstTHxbLVAgWy1lXV1dIFtAdmFye2RpcmVjdG9yeX1dCiBAZW5kIGV4YW1wbGUKIENoYW5nZSB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSB0byBAdmFye2RpcmVjdG9yeX0uCiBJZiBAdmFye2RpcmVjdG9yeX0gaXMgbm90IGdpdmVuLCB0aGUgdmFsdWUgb2YgdGhlIEBlbnZ7SE9NRX0gc2hlbGwKQEAgLTI4NDgsNiArMjk1MSwxMCBAQAogCiBUaGUgQG9wdGlvbnstUH0gb3B0aW9uIG1lYW5zIHRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3M7IHN5bWJvbGljCiBsaW5rcyBhcmUgZm9sbG93ZWQgYnkgZGVmYXVsdCBvciB3aXRoIHRoZSBAb3B0aW9uey1MfSBvcHRpb24uCitJZiB0aGUgQG9wdGlvbnstZX0gb3B0aW9uIGlzIHN1cHBsaWVkIHdpdGggQG9wdGlvbnstUH0KK2FuZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBjYW5ub3QgYmUgc3VjY2Vzc2Z1bGx5IGRldGVybWluZWQKK2FmdGVyIGEgc3VjY2Vzc2Z1bCBkaXJlY3RvcnkgY2hhbmdlLCBAY29kZXtjZH0gd2lsbCByZXR1cm4gYW4gdW5zdWNjZXNzZnVsCitzdGF0dXMuCiBJZiBAdmFye2RpcmVjdG9yeX0gaXMgQHNhbXB7LX0sIGl0IGlzIGVxdWl2YWxlbnQgdG8gQGVudnskT0xEUFdEfS4KIAogSWYgYSBub24tZW1wdHkgZGlyZWN0b3J5IG5hbWUgZnJvbSBAZW52e0NEUEFUSH0gaXMgdXNlZCwgb3IgaWYKQEAgLTI5NTQsNyArMzA2MSw3IEBACiBXaGVuIHRoZSBlbmQgb2Ygb3B0aW9ucyBpcyBlbmNvdW50ZXJlZCwgQGNvZGV7Z2V0b3B0c30gZXhpdHMgd2l0aCBhCiByZXR1cm4gdmFsdWUgZ3JlYXRlciB0aGFuIHplcm8uCiBAZW52e09QVElORH0gaXMgc2V0IHRvIHRoZSBpbmRleCBvZiB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCwKLWFuZCBAY29kZXtuYW1lfSBpcyBzZXQgdG8gQHNhbXB7P30uCithbmQgQHZhcntuYW1lfSBpcyBzZXQgdG8gQHNhbXB7P30uCiAKIEBjb2Rle2dldG9wdHN9CiBub3JtYWxseSBwYXJzZXMgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgYnV0IGlmIG1vcmUgYXJndW1lbnRzIGFyZQpAQCAtMjk4NiwxMCArMzA5MywxMiBAQAogQGV4YW1wbGUKIGhhc2ggWy1yXSBbLXAgQHZhcntmaWxlbmFtZX1dIFstZHRdIFtAdmFye25hbWV9XQogQGVuZCBleGFtcGxlCi1SZW1lbWJlciB0aGUgZnVsbCBwYXRobmFtZXMgb2YgY29tbWFuZHMgc3BlY2lmaWVkIGFzIEB2YXJ7bmFtZX0gYXJndW1lbnRzLAorRWFjaCB0aW1lIEBjb2Rle2hhc2h9IGlzIGludm9rZWQsIGl0IHJlbWVtYmVycyB0aGUgZnVsbCBwYXRobmFtZXMgb2YgdGhlCitjb21tYW5kcyBzcGVjaWZpZWQgYXMgQHZhcntuYW1lfSBhcmd1bWVudHMsCiBzbyB0aGV5IG5lZWQgbm90IGJlIHNlYXJjaGVkIGZvciBvbiBzdWJzZXF1ZW50IGludm9jYXRpb25zLgogVGhlIGNvbW1hbmRzIGFyZSBmb3VuZCBieSBzZWFyY2hpbmcgdGhyb3VnaCB0aGUgZGlyZWN0b3JpZXMgbGlzdGVkIGluCiBAZW52eyRQQVRIfS4KK0FueSBwcmV2aW91c2x5LXJlbWVtYmVyZWQgcGF0aG5hbWUgaXMgZGlzY2FyZGVkLgogVGhlIEBvcHRpb257LXB9IG9wdGlvbiBpbmhpYml0cyB0aGUgcGF0aCBzZWFyY2gsIGFuZCBAdmFye2ZpbGVuYW1lfSBpcwogdXNlZCBhcyB0aGUgbG9jYXRpb24gb2YgQHZhcntuYW1lfS4KIFRoZSBAb3B0aW9uey1yfSBvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCB0byBmb3JnZXQgYWxsIHJlbWVtYmVyZWQgbG9jYXRpb25zLgpAQCAtMzAyMyw3ICszMTMyLDcgQEAKIEBpdGVtIHJlYWRvbmx5CiBAYnRpbmRleCByZWFkb25seQogQGV4YW1wbGUKLXJlYWRvbmx5IFstYUFwZl0gW0B2YXJ7bmFtZX1bPUB2YXJ7dmFsdWV9XV0gQGRvdHN7fQorcmVhZG9ubHkgWy1hQWZdIFstcF0gW0B2YXJ7bmFtZX1bPUB2YXJ7dmFsdWV9XV0gQGRvdHN7fQogQGVuZCBleGFtcGxlCiBNYXJrIGVhY2ggQHZhcntuYW1lfSBhcyByZWFkb25seS4KIFRoZSB2YWx1ZXMgb2YgdGhlc2UgbmFtZXMgbWF5IG5vdCBiZSBjaGFuZ2VkIGJ5IHN1YnNlcXVlbnQgYXNzaWdubWVudC4KQEAgLTMwMzIsOCArMzE0MSwxMSBAQAogVGhlIEBvcHRpb257LWF9IG9wdGlvbiBtZWFucyBlYWNoIEB2YXJ7bmFtZX0gcmVmZXJzIHRvIGFuIGluZGV4ZWQKIGFycmF5IHZhcmlhYmxlOyB0aGUgQG9wdGlvbnstQX0gb3B0aW9uIG1lYW5zIGVhY2ggQHZhcntuYW1lfSByZWZlcnMKIHRvIGFuIGFzc29jaWF0aXZlIGFycmF5IHZhcmlhYmxlLgorSWYgYm90aCBvcHRpb25zIGFyZSBzdXBwbGllZCwgQG9wdGlvbnstQX0gdGFrZXMgcHJlY2VkZW5jZS4KIElmIG5vIEB2YXJ7bmFtZX0gYXJndW1lbnRzIGFyZSBnaXZlbiwgb3IgaWYgdGhlIEBvcHRpb257LXB9CiBvcHRpb24gaXMgc3VwcGxpZWQsIGEgbGlzdCBvZiBhbGwgcmVhZG9ubHkgbmFtZXMgaXMgcHJpbnRlZC4KK1RoZSBvdGhlciBvcHRpb25zIG1heSBiZSB1c2VkIHRvIHJlc3RyaWN0IHRoZSBvdXRwdXQgdG8gYSBzdWJzZXQgb2YKK3RoZSBzZXQgb2YgcmVhZG9ubHkgbmFtZXMuCiBUaGUgQG9wdGlvbnstcH0gb3B0aW9uIGNhdXNlcyBvdXRwdXQgdG8gYmUgZGlzcGxheWVkIGluIGEgZm9ybWF0IHRoYXQKIG1heSBiZSByZXVzZWQgYXMgaW5wdXQuCiBJZiBhIHZhcmlhYmxlIG5hbWUgaXMgZm9sbG93ZWQgYnkgPUB2YXJ7dmFsdWV9LCB0aGUgdmFsdWUgb2YKQEAgLTMwOTMsNiArMzIwNSw3IEBACiBFeHByZXNzaW9ucyBtYXkgYmUgY29tYmluZWQgdXNpbmcgdGhlIGZvbGxvd2luZyBvcGVyYXRvcnMsIGxpc3RlZCBpbgogZGVjcmVhc2luZyBvcmRlciBvZiBwcmVjZWRlbmNlLgogVGhlIGV2YWx1YXRpb24gZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50czsgc2VlIGJlbG93LgorT3BlcmF0b3IgcHJlY2VkZW5jZSBpcyB1c2VkIHdoZW4gdGhlcmUgYXJlIGZpdmUgb3IgbW9yZSBhcmd1bWVudHMuCiAKIEB0YWJsZSBAY29kZQogQGl0ZW0gISBAdmFye2V4cHJ9CkBAIC0zMTI5LDYgKzMyNDIsNyBAQAogZmFsc2UuCiAKIEBpdGVtIDMgYXJndW1lbnRzCitUaGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIGxpc3RlZC4KIElmIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgb25lIG9mIHRoZSBiaW5hcnkgY29uZGl0aW9uYWwKIG9wZXJhdG9ycyAoQHB4cmVme0Jhc2ggQ29uZGl0aW9uYWwgRXhwcmVzc2lvbnN9KSwgdGhlCiByZXN1bHQgb2YgdGhlIGV4cHJlc3Npb24gaXMgdGhlIHJlc3VsdCBvZiB0aGUgYmluYXJ5IHRlc3QgdXNpbmcgdGhlCkBAIC0zMTUzLDYgKzMyNjcsOSBAQAogdXNpbmcgdGhlIHJ1bGVzIGxpc3RlZCBhYm92ZS4KIEBlbmQgdGFibGUKIAorV2hlbiB1c2VkIHdpdGggQGNvZGV7dGVzdH0gb3IgQHNhbXB7W30sIHRoZSBAc2FtcHs8fSBhbmQgQHNhbXB7Pn0KK29wZXJhdG9ycyBzb3J0IGxleGljb2dyYXBoaWNhbGx5IHVzaW5nIEFTQ0lJIG9yZGVyaW5nLgorCiBAaXRlbSB0aW1lcwogQGJ0aW5kZXggdGltZXMKIEBleGFtcGxlCkBAIC0zNDQ4LDYgKzM1NjUsMTEgQEAKIChAcHhyZWZ7VGhlIFNob3B0IEJ1aWx0aW59KSwgdGhlIHNvdXJjZSBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyIHdoZXJlCiB0aGUgZnVuY3Rpb24gaXMgZGVmaW5lZCBhcmUgZGlzcGxheWVkIGFzIHdlbGwuCiBAb3B0aW9uey1GfSBpbXBsaWVzIEBvcHRpb257LWZ9LgorCitUaGUgQG9wdGlvbnstZ30gb3B0aW9uIGZvcmNlcyB2YXJpYWJsZXMgdG8gYmUgY3JlYXRlZCBvciBtb2RpZmllZCBhdAordGhlIGdsb2JhbCBzY29wZSwgZXZlbiB3aGVuIEBjb2Rle2RlY2xhcmV9IGlzIGV4ZWN1dGVkIGluIGEgc2hlbGwgZnVuY3Rpb24uCitJdCBpcyBpZ25vcmVkIGluIGFsbCBvdGhlciBjYXNlcy4KKwogVGhlIGZvbGxvd2luZyBvcHRpb25zIGNhbiBiZSB1c2VkIHRvIHJlc3RyaWN0IG91dHB1dCB0byB2YXJpYWJsZXMgd2l0aAogdGhlIHNwZWNpZmllZCBhdHRyaWJ1dGVzIG9yIHRvIGdpdmUgdmFyaWFibGVzIGF0dHJpYnV0ZXM6CiAKQEAgLTM0OTYsOCArMzYxOCw5IEBACiBtYXkgbm90IGJlIHVzZWQgdG8gZGVzdHJveSBhbiBhcnJheSB2YXJpYWJsZSBhbmQgQHNhbXB7K3J9IHdpbGwgbm90CiByZW1vdmUgdGhlIHJlYWRvbmx5IGF0dHJpYnV0ZS4KIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBAY29kZXtkZWNsYXJlfSBtYWtlcyBlYWNoIEB2YXJ7bmFtZX0gbG9jYWwsCi1hcyB3aXRoIHRoZSBAY29kZXtsb2NhbH0gY29tbWFuZC4gIElmIGEgdmFyaWFibGUgbmFtZSBpcyBmb2xsb3dlZCBieQotPUB2YXJ7dmFsdWV9LCB0aGUgdmFsdWUgb2YgdGhlIHZhcmlhYmxlIGlzIHNldCB0byBAdmFye3ZhbHVlfS4KK2FzIHdpdGggdGhlIEBjb2Rle2xvY2FsfSBjb21tYW5kLCB1bmxlc3MgdGhlIEBzYW1wey1nfSBvcHRpb24gaXMgdXNlZC4KK0lmIGEgdmFyaWFibGUgbmFtZSBpcyBmb2xsb3dlZCBieSA9QHZhcnt2YWx1ZX0sIHRoZSB2YWx1ZSBvZiB0aGUgdmFyaWFibGUKK2lzIHNldCB0byBAdmFye3ZhbHVlfS4KIAogVGhlIHJldHVybiBzdGF0dXMgaXMgemVybyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsCiBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGVmaW5lIGEgZnVuY3Rpb24gdXNpbmcgQHNhbXB7LWYgZm9vPWJhcn0sCkBAIC0zNTM2LDYgKzM2NTksNyBAQAogQGl0ZW0gXGMKIHN1cHByZXNzIGZ1cnRoZXIgb3V0cHV0CiBAaXRlbSBcZQorQGl0ZW14IFxFCiBlc2NhcGUKIEBpdGVtIFxmCiBmb3JtIGZlZWQKQEAgLTM1NTUsNiArMzY3OSwxMiBAQAogQGl0ZW0gXHhAdmFye0hIfQogdGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgdGhlIGhleGFkZWNpbWFsIHZhbHVlIEB2YXJ7SEh9CiAob25lIG9yIHR3byBoZXggZGlnaXRzKQorQGl0ZW0gXHVAdmFye0hISEh9Cit0aGUgVW5pY29kZSAoSVNPL0lFQyAxMDY0NikgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIHRoZSBoZXhhZGVjaW1hbCB2YWx1ZQorQHZhcntISEhIfSAob25lIHRvIGZvdXIgaGV4IGRpZ2l0cykKK0BpdGVtIFxVQHZhcntISEhISEhISH0KK3RoZSBVbmljb2RlIChJU08vSUVDIDEwNjQ2KSBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgdGhlIGhleGFkZWNpbWFsIHZhbHVlCitAdmFye0hISEhISEhIfSAob25lIHRvIGVpZ2h0IGhleCBkaWdpdHMpCiBAZW5kIHRhYmxlCiAKIEBpdGVtIGVuYWJsZQpAQCAtMzY3OSw3ICszODA5LDggQEAKIElmIEBvcHRpb257LUN9IGlzIHNwZWNpZmllZCB3aXRob3V0IEBvcHRpb257LWN9LCAKIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4KIFdoZW4gQHZhcntjYWxsYmFja30gIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0Ci1hcnJheSBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuCithcnJheSBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnQKK2FzIGFkZGl0aW9uYWwgYXJndW1lbnRzLgogQHZhcntjYWxsYmFja30gaXMgZXZhbHVhdGVkIGFmdGVyIHRoZSBsaW5lIGlzIHJlYWQgYnV0IGJlZm9yZSB0aGUgCiBhcnJheSBlbGVtZW50IGlzIGFzc2lnbmVkLgogCkBAIC0zNjk3LDIyICszODI4LDQwIEBACiBAZW5kIGV4YW1wbGUKIFdyaXRlIHRoZSBmb3JtYXR0ZWQgQHZhcnthcmd1bWVudHN9IHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgdW5kZXIgdGhlCiBjb250cm9sIG9mIHRoZSBAdmFye2Zvcm1hdH0uCitUaGUgQG9wdGlvbnstdn0gb3B0aW9uIGNhdXNlcyB0aGUgb3V0cHV0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSB2YXJpYWJsZQorQHZhcnt2YXJ9IHJhdGhlciB0aGFuIGJlaW5nIHByaW50ZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4KKwogVGhlIEB2YXJ7Zm9ybWF0fSBpcyBhIGNoYXJhY3RlciBzdHJpbmcgd2hpY2ggY29udGFpbnMgdGhyZWUgdHlwZXMgb2Ygb2JqZWN0czoKIHBsYWluIGNoYXJhY3RlcnMsIHdoaWNoIGFyZSBzaW1wbHkgY29waWVkIHRvIHN0YW5kYXJkIG91dHB1dCwgY2hhcmFjdGVyCiBlc2NhcGUgc2VxdWVuY2VzLCB3aGljaCBhcmUgY29udmVydGVkIGFuZCBjb3BpZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dCwgYW5kCiBmb3JtYXQgc3BlY2lmaWNhdGlvbnMsIGVhY2ggb2Ygd2hpY2ggY2F1c2VzIHByaW50aW5nIG9mIHRoZSBuZXh0IHN1Y2Nlc3NpdmUKIEB2YXJ7YXJndW1lbnR9LgotSW4gYWRkaXRpb24gdG8gdGhlIHN0YW5kYXJkIEBjb2Rle3ByaW50ZigxKX0gZm9ybWF0cywgQHNhbXB7JWJ9IGNhdXNlcwotQGNvZGV7cHJpbnRmfSB0byBleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcKLUB2YXJ7YXJndW1lbnR9LAorSW4gYWRkaXRpb24gdG8gdGhlIHN0YW5kYXJkIEBjb2Rle3ByaW50ZigxKX0gZm9ybWF0cywgQGNvZGV7cHJpbnRmfQoraW50ZXJwcmV0cyB0aGUgZm9sbG93aW5nIGV4dGVuc2lvbnM6CisKK0B0YWJsZSBAY29kZQorQGl0ZW0gJWIKK2NhdXNlcyBAY29kZXtwcmludGZ9IHRvIGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUKK2NvcnJlc3BvbmRpbmcgQHZhcnthcmd1bWVudH0sCiAoZXhjZXB0IHRoYXQgQHNhbXB7XGN9IHRlcm1pbmF0ZXMgb3V0cHV0LCBiYWNrc2xhc2hlcyBpbgogQHNhbXB7XCd9LCBAc2FtcHtcIn0sIGFuZCBAc2FtcHtcP30gYXJlIG5vdCByZW1vdmVkLCBhbmQgb2N0YWwgZXNjYXBlcwotYmVnaW5uaW5nIHdpdGggQHNhbXB7XDB9IG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzKSwKLWFuZCBAc2FtcHslcX0gY2F1c2VzIEBjb2Rle3ByaW50Zn0gdG8gb3V0cHV0IHRoZQorYmVnaW5uaW5nIHdpdGggQHNhbXB7XDB9IG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzKS4KK0BpdGVtICVxCitjYXVzZXMgQGNvZGV7cHJpbnRmfSB0byBvdXRwdXQgdGhlCiBjb3JyZXNwb25kaW5nIEB2YXJ7YXJndW1lbnR9IGluIGEgZm9ybWF0IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dC4KK0BpdGVtICUoQHZhcntkYXRlZm10fSlUCitjYXVzZXMgQGNvZGV7cHJpbnRmfSB0byBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcKK0B2YXJ7ZGF0ZWZtdH0gYXMgYSBmb3JtYXQgc3RyaW5nIGZvciBAY29kZXtzdHJmdGltZX0oMykuICBUaGUgY29ycmVzcG9uZGluZworQHZhcnthcmd1bWVudH0gaXMgYW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBzZWNvbmRzIHNpbmNlIHRoZQorZXBvY2guICBUd28gc3BlY2lhbCBhcmd1bWVudCB2YWx1ZXMgbWF5IGJlIHVzZWQ6IC0xIHJlcHJlc2VudHMgdGhlIGN1cnJlbnQKK3RpbWUsIGFuZCAtMiByZXByZXNlbnRzIHRoZSB0aW1lIHRoZSBzaGVsbCB3YXMgaW52b2tlZC4KK0BlbmQgdGFibGUKIAotVGhlIEBvcHRpb257LXZ9IG9wdGlvbiBjYXVzZXMgdGhlIG91dHB1dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgdmFyaWFibGUKLUB2YXJ7dmFyfSByYXRoZXIgdGhhbiBiZWluZyBwcmludGVkIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuCitAbm9pbmRlbnQKK0FyZ3VtZW50cyB0byBub24tc3RyaW5nIGZvcm1hdCBzcGVjaWZpZXJzIGFyZSB0cmVhdGVkIGFzIEMgbGFuZ3VhZ2UgY29uc3RhbnRzLAorZXhjZXB0IHRoYXQgYSBsZWFkaW5nIHBsdXMgb3IgbWludXMgc2lnbiBpcyBhbGxvd2VkLCBhbmQgaWYgdGhlIGxlYWRpbmcKK2NoYXJhY3RlciBpcyBhIHNpbmdsZSBvciBkb3VibGUgcXVvdGUsIHRoZSB2YWx1ZSBpcyB0aGUgQVNDSUkgdmFsdWUgb2YKK3RoZSBmb2xsb3dpbmcgY2hhcmFjdGVyLgogCiBUaGUgQHZhcntmb3JtYXR9IGlzIHJldXNlZCBhcyBuZWNlc3NhcnkgdG8gY29uc3VtZSBhbGwgb2YgdGhlIEB2YXJ7YXJndW1lbnRzfS4KIElmIHRoZSBAdmFye2Zvcm1hdH0gcmVxdWlyZXMgbW9yZSBAdmFye2FyZ3VtZW50c30gdGhhbiBhcmUgc3VwcGxpZWQsIHRoZQpAQCAtMzkzOSw3ICs0MDg4LDggQEAKIFRoZSBtYXhpbXVtIG51bWJlciBvZiBwcm9jZXNzZXMgYXZhaWxhYmxlIHRvIGEgc2luZ2xlIHVzZXIuCiAKIEBpdGVtIC12Ci1UaGUgbWF4aW11bSBhbW91bnQgb2YgdmlydHVhbCBtZW1vcnkgYXZhaWxhYmxlIHRvIHRoZSBwcm9jZXNzLgorVGhlIG1heGltdW0gYW1vdW50IG9mIHZpcnR1YWwgbWVtb3J5IGF2YWlsYWJsZSB0byB0aGUgc2hlbGwsIGFuZCwgb24KK3NvbWUgc3lzdGVtcywgdG8gaXRzIGNoaWxkcmVuLgogCiBAaXRlbSAteAogVGhlIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3MuCkBAIC0zOTk5LDggKzQxNDksOCBAQAogQGl0ZW0gc2V0CiBAYnRpbmRleCBzZXQKIEBleGFtcGxlCi1zZXQgWy0tYWJlZmhrbW5wdHV2eEJDRUhQVF0gWy1vIEB2YXJ7b3B0aW9ufV0gW0B2YXJ7YXJndW1lbnR9IEBkb3Rze31dCi1zZXQgWythYmVmaGttbnB0dXZ4QkNFSFBUXSBbK28gQHZhcntvcHRpb259XSBbQHZhcnthcmd1bWVudH0gQGRvdHN7fV0KK3NldCBbLS1hYmVmaGttbnB0dXZ4QkNFSFBUXSBbLW8gQHZhcntvcHRpb24tbmFtZX1dIFtAdmFye2FyZ3VtZW50fSBAZG90c3t9XQorc2V0IFsrYWJlZmhrbW5wdHV2eEJDRUhQVF0gWytvIEB2YXJ7b3B0aW9uLW5hbWV9XSBbQHZhcnthcmd1bWVudH0gQGRvdHN7fV0KIEBlbmQgZXhhbXBsZQogCiBJZiBubyBvcHRpb25zIG9yIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQsIEBjb2Rle3NldH0gZGlzcGxheXMgdGhlIG5hbWVzCkBAIC00MzYxLDcgKzQ1MTEsMjkgQEAKIEBpdGVtIGNvbXBhdDMxCiBJZiBzZXQsIEJhc2gKIGNoYW5nZXMgaXRzIGJlaGF2aW9yIHRvIHRoYXQgb2YgdmVyc2lvbiAzLjEgd2l0aCByZXNwZWN0IHRvIHF1b3RlZAotYXJndW1lbnRzIHRvIHRoZSBjb25kaXRpb25hbCBjb21tYW5kJ3MgPX4gb3BlcmF0b3IuCithcmd1bWVudHMgdG8gdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQncyBAc2FtcHs9fn0gb3BlcmF0b3IuCisKK0BpdGVtIGNvbXBhdDMyCitJZiBzZXQsIEJhc2gKK2NoYW5nZXMgaXRzIGJlaGF2aW9yIHRvIHRoYXQgb2YgdmVyc2lvbiAzLjIgd2l0aCByZXNwZWN0IHRvIGxvY2FsZS1zcGVjaWZpYworc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgQHNhbXB7W1t9Citjb25kaXRpb25hbCBjb21tYW5kJ3MgQHNhbXB7PH0gYW5kIEBzYW1wez59IG9wZXJhdG9ycy4KK0Jhc2ggdmVyc2lvbnMgcHJpb3IgdG8gYmFzaC00LjAgdXNlIEFTQ0lJIGNvbGxhdGlvbiBhbmQgc3RyY21wKDMpOworYmFzaC00LjEgYW5kIGxhdGVyIHVzZSB0aGUgY3VycmVudCBsb2NhbGUncyBjb2xsYXRpb24gc2VxdWVuY2UgYW5kIHN0cmNvbGwoMykuCisKK0BpdGVtIGNvbXBhdDQwCitJZiBzZXQsIEJhc2gKK2NoYW5nZXMgaXRzIGJlaGF2aW9yIHRvIHRoYXQgb2YgdmVyc2lvbiA0LjAgd2l0aCByZXNwZWN0IHRvIGxvY2FsZS1zcGVjaWZpYworc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgQHNhbXB7W1t9Citjb25kaXRpb25hbCBjb21tYW5kJ3MgQHNhbXB7PH0gYW5kIEBzYW1wez59IG9wZXJhdG9ycyAoc2VlIHByZXZpb3VzIGl0ZW0pCithbmQgdGhlIGVmZmVjdCBvZiBpbnRlcnJ1cHRpbmcgYSBjb21tYW5kIGxpc3QuCisKK0BpdGVtIGNvbXBhdDQxCitJZiBzZXQsIEJhc2gsIHdoZW4gaW4gcG9zaXggbW9kZSwgdHJlYXRzIGEgc2luZ2xlIHF1b3RlIGluIGEgZG91YmxlLXF1b3RlZAorcGFyYW1ldGVyIGV4cGFuc2lvbiBhcyBhIHNwZWNpYWwgY2hhcmFjdGVyLiAgVGhlIHNpbmdsZSBxdW90ZXMgbXVzdCBtYXRjaAorKGFuIGV2ZW4gbnVtYmVyKSBhbmQgdGhlIGNoYXJhY3RlcnMgYmV0d2VlbiB0aGUgc2luZ2xlIHF1b3RlcyBhcmUgY29uc2lkZXJlZAorcXVvdGVkLiAgVGhpcyBpcyB0aGUgYmVoYXZpb3Igb2YgQHNje3Bvc2l4fSBtb2RlIHRocm91Z2ggdmVyc2lvbiA0LjEuCitUaGUgZGVmYXVsdCBCYXNoIGJlaGF2aW9yIHJlbWFpbnMgYXMgaW4gcHJldmlvdXMgdmVyc2lvbnMuCiAKIEBpdGVtIGRpcnNwZWxsCiBJZiBzZXQsIEJhc2gKQEAgLTQ0MTQsNyArNDU4Niw3IEBACiBAaXRlbQogRXJyb3IgdHJhY2luZyBpcyBlbmFibGVkOiAgY29tbWFuZCBzdWJzdGl0dXRpb24sIHNoZWxsIGZ1bmN0aW9ucywgYW5kCiBzdWJzaGVsbHMgaW52b2tlZCB3aXRoIEBjb2RleyggQHZhcntjb21tYW5kfSApfSBpbmhlcml0IHRoZQotQGNvZGV7RVJST1J9IHRyYXAuCitAY29kZXtFUlJ9IHRyYXAuCiBAZW5kIGVudW1lcmF0ZQogCiBAaXRlbSBleHRnbG9iCkBAIC00NDM5LDcgKzQ2MTEsNyBAQAogCiBAaXRlbSBnbG9ic3RhcgogSWYgc2V0LCB0aGUgcGF0dGVybiBAc2FtcHsqKn0gdXNlZCBpbiBhIGZpbGVuYW1lIGV4cGFuc2lvbiBjb250ZXh0IHdpbGwKLW1hdGNoIGEgZmlsZXMgYW5kIHplcm8gb3IgbW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuCittYXRjaCBhbGwgZmlsZXMgYW5kIHplcm8gb3IgbW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuCiBJZiB0aGUgcGF0dGVybiBpcyBmb2xsb3dlZCBieSBhIEBzYW1wey99LCBvbmx5IGRpcmVjdG9yaWVzIGFuZAogc3ViZGlyZWN0b3JpZXMgbWF0Y2guCiAKQEAgLTQ0NzksNiArNDY1MSwxMCBAQAogbGluZSB0byBiZSBpZ25vcmVkIGluIGFuIGludGVyYWN0aXZlIHNoZWxsLgogVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0LgogCitAaXRlbSBsYXN0cGlwZQorSWYgc2V0LCBhbmQgam9iIGNvbnRyb2wgaXMgbm90IGFjdGl2ZSwgdGhlIHNoZWxsIHJ1bnMgdGhlIGxhc3QgY29tbWFuZCBvZgorYSBwaXBlbGluZSBub3QgZXhlY3V0ZWQgaW4gdGhlIGJhY2tncm91bmQgaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW52aXJvbm1lbnQuCisKIEBpdGVtIGxpdGhpc3QKIElmIGVuYWJsZWQsIGFuZCB0aGUgQGNvZGV7Y21kaGlzdH0KIG9wdGlvbiBpcyBlbmFibGVkLCBtdWx0aS1saW5lIGNvbW1hbmRzIGFyZSBzYXZlZCB0byB0aGUgaGlzdG9yeSB3aXRoCkBAIC00NjIxLDkgKzQ3OTcsMTAgQEAKIHdvcmRzIGFzIHBhcnQgb2YgZXhwYW5zaW9uLgogCiBAaXRlbSBNQUlMCi1JZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgdG8gYSBmaWxlbmFtZSBhbmQgdGhlIEBlbnZ7TUFJTFBBVEh9IHZhcmlhYmxlCitJZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgdG8gYSBmaWxlbmFtZSBvciBkaXJlY3RvcnkgbmFtZQorYW5kIHRoZSBAZW52e01BSUxQQVRIfSB2YXJpYWJsZQogaXMgbm90IHNldCwgQmFzaCBpbmZvcm1zIHRoZSB1c2VyIG9mIHRoZSBhcnJpdmFsIG9mIG1haWwgaW4KLXRoZSBzcGVjaWZpZWQgZmlsZS4KK3RoZSBzcGVjaWZpZWQgZmlsZSBvciBNYWlsZGlyLWZvcm1hdCBkaXJlY3RvcnkuCiAKIEBpdGVtIE1BSUxQQVRICiBBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGZpbGVuYW1lcyB3aGljaCB0aGUgc2hlbGwgcGVyaW9kaWNhbGx5IGNoZWNrcwpAQCAtNDY4NSwxMyArNDg2MiwxMyBAQAogcmVhZGluZyBhbnkgc3RhcnR1cCBmaWxlcy4gIFRoaXMgdmFyaWFibGUgaXMgcmVhZG9ubHkuCiAKIEBpdGVtIEJBU0hQSUQKLUV4cGFuZHMgdG8gdGhlIHByb2Nlc3MgaWQgb2YgdGhlIGN1cnJlbnQgQmFzaCBwcm9jZXNzLgorRXhwYW5kcyB0byB0aGUgcHJvY2VzcyBJRCBvZiB0aGUgY3VycmVudCBCYXNoIHByb2Nlc3MuCiBUaGlzIGRpZmZlcnMgZnJvbSBAY29kZXskJH0gdW5kZXIgY2VydGFpbiBjaXJjdW1zdGFuY2VzLCBzdWNoIGFzIHN1YnNoZWxscwogdGhhdCBkbyBub3QgcmVxdWlyZSBCYXNoIHRvIGJlIHJlLWluaXRpYWxpemVkLgogCiBAaXRlbSBCQVNIX0FMSUFTRVMKIEFuIGFzc29jaWF0aXZlIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgY29ycmVzcG9uZCB0byB0aGUgaW50ZXJuYWwKLWxpc3Qgb2YgYWxpYXNlcyBhcyBtYWludGFpbmVkIGJ5IHRoZSBAY29kZXthbGlhc30gYnVpbHRpbgorbGlzdCBvZiBhbGlhc2VzIGFzIG1haW50YWluZWQgYnkgdGhlIEBjb2Rle2FsaWFzfSBidWlsdGluLgogKEBweHJlZntCb3VybmUgU2hlbGwgQnVpbHRpbnN9KS4KIEVsZW1lbnRzIGFkZGVkIHRvIHRoaXMgYXJyYXkgYXBwZWFyIGluIHRoZSBhbGlhcyBsaXN0OyB1bnNldHRpbmcgYXJyYXkKIGVsZW1lbnRzIGNhdXNlIGFsaWFzZXMgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBhbGlhcyBsaXN0LgpAQCAtNDc0MSwxMSArNDkxOCwxMSBAQAogCiBAaXRlbSBCQVNIX0xJTkVOTwogQW4gYXJyYXkgdmFyaWFibGUgd2hvc2UgbWVtYmVycyBhcmUgdGhlIGxpbmUgbnVtYmVycyBpbiBzb3VyY2UgZmlsZXMKLWNvcnJlc3BvbmRpbmcgdG8gZWFjaCBtZW1iZXIgb2YgQHZhcntGVU5DTkFNRX0uCi1AY29kZXskQHtCQVNIX0xJTkVOT1skaV1AfX0gaXMgdGhlIGxpbmUgbnVtYmVyIGluIHRoZSBzb3VyY2UgZmlsZSB3aGVyZQord2hlcmUgZWFjaCBjb3JyZXNwb25kaW5nIG1lbWJlciBvZiBAdmFye0ZVTkNOQU1FfSB3YXMgaW52b2tlZC4KK0Bjb2RleyRAe0JBU0hfTElORU5PWyRpXUB9fSBpcyB0aGUgbGluZSBudW1iZXIgaW4gdGhlIHNvdXJjZSBmaWxlCisoQGNvZGV7JEB7QkFTSF9TT1VSQ0VbJGkrMV1AfX0pIHdoZXJlCiBAY29kZXskQHtGVU5DTkFNRVskaV1AfX0gd2FzIGNhbGxlZCAob3IgQGNvZGV7JEB7QkFTSF9MSU5FTk9bJGktMV1AfX0gaWYKLXJlZmVyZW5jZWQgd2l0aGluIGFub3RoZXIgc2hlbGwgZnVuY3Rpb24pLgotVGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGZpbGUgbmFtZSBpcyBAY29kZXskQHtCQVNIX1NPVVJDRVskaV1AfX0uCityZWZlcmVuY2VkIHdpdGhpbiBhbm90aGVyIHNoZWxsIGZ1bmN0aW9uKS4gCiBVc2UgQGNvZGV7TElORU5PfSB0byBvYnRhaW4gdGhlIGN1cnJlbnQgbGluZSBudW1iZXIuCiAKIEBpdGVtIEJBU0hfUkVNQVRDSApAQCAtNDc1OSw4ICs0OTM2LDExIEBACiBUaGlzIHZhcmlhYmxlIGlzIHJlYWQtb25seS4KIAogQGl0ZW0gQkFTSF9TT1VSQ0UKLUFuIGFycmF5IHZhcmlhYmxlIHdob3NlIG1lbWJlcnMgYXJlIHRoZSBzb3VyY2UgZmlsZW5hbWVzIGNvcnJlc3BvbmRpbmcKLXRvIHRoZSBlbGVtZW50cyBpbiB0aGUgQGNvZGV7RlVOQ05BTUV9IGFycmF5IHZhcmlhYmxlLgorQW4gYXJyYXkgdmFyaWFibGUgd2hvc2UgbWVtYmVycyBhcmUgdGhlIHNvdXJjZSBmaWxlbmFtZXMgd2hlcmUgdGhlCitjb3JyZXNwb25kaW5nIHNoZWxsIGZ1bmN0aW9uIG5hbWVzIGluIHRoZSBAY29kZXtGVU5DTkFNRX0gYXJyYXkKK3ZhcmlhYmxlIGFyZSBkZWZpbmVkLgorVGhlIHNoZWxsIGZ1bmN0aW9uIEBjb2RleyRAe0ZVTkNOQU1FWyRpXUB9fSBpcyBkZWZpbmVkIGluIHRoZSBmaWxlCitAY29kZXskQHtCQVNIX1NPVVJDRVskaV1AfX0gYW5kIGNhbGxlZCBmcm9tIEBjb2RleyRAe0JBU0hfU09VUkNFWyRpKzFdQH19CiAKIEBpdGVtIEJBU0hfU1VCU0hFTEwKIEluY3JlbWVudGVkIGJ5IG9uZSBlYWNoIHRpbWUgYSBzdWJzaGVsbCBvciBzdWJzaGVsbCBlbnZpcm9ubWVudCBpcyBzcGF3bmVkLgpAQCAtNDgxMSw3ICs0OTkxLDcgQEAKIGJlaW5nIGNsb3NlZC4KIAogQGl0ZW0gQ09MVU1OUwotVXNlZCBieSB0aGUgQGNvZGV7c2VsZWN0fSBidWlsdGluIGNvbW1hbmQgdG8gZGV0ZXJtaW5lIHRoZSB0ZXJtaW5hbCB3aWR0aAorVXNlZCBieSB0aGUgQGNvZGV7c2VsZWN0fSBjb21tYW5kIHRvIGRldGVybWluZSB0aGUgdGVybWluYWwgd2lkdGgKIHdoZW4gcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLiAgQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEKIEBjb2Rle1NJR1dJTkNIfS4KIApAQCAtNDg3Miw2ICs1MDUyLDEwIEBACiBnZW5lcmF0ZWQgYnkgYSBzaGVsbCBmdW5jdGlvbiBpbnZva2VkIGJ5IHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbgogZmFjaWxpdHkgKEBweHJlZntQcm9ncmFtbWFibGUgQ29tcGxldGlvbn0pLgogCitAaXRlbSBDT1BST0MKK0FuIGFycmF5IHZhcmlhYmxlIGNyZWF0ZWQgdG8gaG9sZCB0aGUgZmlsZSBkZXNjcmlwdG9ycworZm9yIG91dHB1dCBmcm9tIGFuZCBpbnB1dCB0byBhbiB1bm5hbWVkIGNvcHJvY2VzcyAoQHB4cmVme0NvcHJvY2Vzc2VzfSkuCisKIEBpdGVtIERJUlNUQUNLCiBBbiBhcnJheSB2YXJpYWJsZSBjb250YWluaW5nIHRoZSBjdXJyZW50IGNvbnRlbnRzIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2suCiBEaXJlY3RvcmllcyBhcHBlYXIgaW4gdGhlIHN0YWNrIGluIHRoZSBvcmRlciB0aGV5IGFyZSBkaXNwbGF5ZWQgYnkgdGhlCkBAIC00ODg2LDcgKzUwNzAsMTEgQEAKIEBpdGVtIEVNQUNTCiBJZiBCYXNoIGZpbmRzIHRoaXMgdmFyaWFibGUgaW4gdGhlIGVudmlyb25tZW50IHdoZW4gdGhlIHNoZWxsCiBzdGFydHMgd2l0aCB2YWx1ZSBAc2FtcHt0fSwgaXQgYXNzdW1lcyB0aGF0IHRoZSBzaGVsbCBpcyBydW5uaW5nIGluIGFuCi1lbWFjcyBzaGVsbCBidWZmZXIgYW5kIGRpc2FibGVzIGxpbmUgZWRpdGluZy4KK0VtYWNzIHNoZWxsIGJ1ZmZlciBhbmQgZGlzYWJsZXMgbGluZSBlZGl0aW5nLgorCitAaXRlbSBFTlYKK1NpbWlsYXIgdG8gQGNvZGV7QkFTSF9FTlZ9OyB1c2VkIHdoZW4gdGhlIHNoZWxsIGlzIGludm9rZWQgaW4KK0BzY3twb3NpeH0gTW9kZSAoQHB4cmVme0Jhc2ggUE9TSVggTW9kZX0pLgogCiBAaXRlbSBFVUlECiBUaGUgbnVtZXJpYyBlZmZlY3RpdmUgdXNlciBpZCBvZiB0aGUgY3VycmVudCB1c2VyLiAgVGhpcyB2YXJpYWJsZQpAQCAtNDkwOSwxMiArNTA5NywyNiBAQAogY3VycmVudGx5IGluIHRoZSBleGVjdXRpb24gY2FsbCBzdGFjay4KIFRoZSBlbGVtZW50IHdpdGggaW5kZXggMCBpcyB0aGUgbmFtZSBvZiBhbnkgY3VycmVudGx5LWV4ZWN1dGluZwogc2hlbGwgZnVuY3Rpb24uCi1UaGUgYm90dG9tLW1vc3QgZWxlbWVudCBpcyBAY29kZXsibWFpbiJ9LgorVGhlIGJvdHRvbS1tb3N0IGVsZW1lbnQgKHRoZSBvbmUgd2l0aCB0aGUgaGlnaGVzdCBpbmRleCkKK2lzIEBjb2RleyJtYWluIn0uCiBUaGlzIHZhcmlhYmxlIGV4aXN0cyBvbmx5IHdoZW4gYSBzaGVsbCBmdW5jdGlvbiBpcyBleGVjdXRpbmcuCiBBc3NpZ25tZW50cyB0byBAZW52e0ZVTkNOQU1FfSBoYXZlIG5vIGVmZmVjdCBhbmQgcmV0dXJuIGFuIGVycm9yIHN0YXR1cy4KIElmIEBlbnZ7RlVOQ05BTUV9IGlzIHVuc2V0LCBpdCBsb3NlcyBpdHMgc3BlY2lhbCBwcm9wZXJ0aWVzLCBldmVuIGlmCiBpdCBpcyBzdWJzZXF1ZW50bHkgcmVzZXQuCiAKK1RoaXMgdmFyaWFibGUgY2FuIGJlIHVzZWQgd2l0aCBAY29kZXtCQVNIX0xJTkVOT30gYW5kIEBjb2Rle0JBU0hfU09VUkNFfS4KK0VhY2ggZWxlbWVudCBvZiBAY29kZXtGVU5DTkFNRX0gaGFzIGNvcnJlc3BvbmRpbmcgZWxlbWVudHMgaW4KK0Bjb2Rle0JBU0hfTElORU5PfSBhbmQgQGNvZGV7QkFTSF9TT1VSQ0V9IHRvIGRlc2NyaWJlIHRoZSBjYWxsIHN0YWNrLgorRm9yIGluc3RhbmNlLCBAY29kZXskQHtGVU5DTkFNRVskaV1AfX0gd2FzIGNhbGxlZCBmcm9tIHRoZSBmaWxlCitAY29kZXskQHtCQVNIX1NPVVJDRVskaSsxXUB9fSBhdCBsaW5lIG51bWJlciBAY29kZXskQHtCQVNIX0xJTkVOT1skaV1AfX0uCitUaGUgQGNvZGV7Y2FsbGVyfSBidWlsdGluIGRpc3BsYXlzIHRoZSBjdXJyZW50IGNhbGwgc3RhY2sgdXNpbmcgdGhpcworaW5mb3JtYXRpb24uCisKK0BpdGVtIEZVTkNORVNUCitJZiBzZXQgdG8gYSBudW1lcmljIHZhbHVlIGdyZWF0ZXIgdGhhbiAwLCBkZWZpbmVzIGEgbWF4aW11bSBmdW5jdGlvbgorbmVzdGluZyBsZXZlbC4gIEZ1bmN0aW9uIGludm9jYXRpb25zIHRoYXQgZXhjZWVkIHRoaXMgbmVzdGluZyBsZXZlbAord2lsbCBjYXVzZSB0aGUgY3VycmVudCBjb21tYW5kIHRvIGFib3J0LgorCiBAaXRlbSBHTE9CSUdOT1JFCiBBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIGRlZmluaW5nIHRoZSBzZXQgb2YgZmlsZW5hbWVzIHRvCiBiZSBpZ25vcmVkIGJ5IGZpbGVuYW1lIGV4cGFuc2lvbi4KQEAgLTUwNzgsNyArNTI4MCw3IEBACiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIHNjcmlwdCBvciBzaGVsbCBmdW5jdGlvbiBjdXJyZW50bHkgZXhlY3V0aW5nLgogCiBAaXRlbSBMSU5FUwotVXNlZCBieSB0aGUgQGNvZGV7c2VsZWN0fSBidWlsdGluIGNvbW1hbmQgdG8gZGV0ZXJtaW5lIHRoZSBjb2x1bW4gbGVuZ3RoCitVc2VkIGJ5IHRoZSBAY29kZXtzZWxlY3R9IGNvbW1hbmQgdG8gZGV0ZXJtaW5lIHRoZSBjb2x1bW4gbGVuZ3RoCiBmb3IgcHJpbnRpbmcgc2VsZWN0aW9uIGxpc3RzLiAgQXV0b21hdGljYWxseSBzZXQgdXBvbiByZWNlaXB0IG9mIGEKIEBjb2Rle1NJR1dJTkNIfS4KIApAQCAtNTA5NCw2ICs1Mjk2LDEwIEBACiBJZiB0aGlzIHZhcmlhYmxlIGlzIHVuc2V0LCBvciBzZXQgdG8gYSB2YWx1ZSB0aGF0IGlzIG5vdCBhIG51bWJlcgogZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHplcm8sIHRoZSBzaGVsbCBkaXNhYmxlcyBtYWlsIGNoZWNraW5nLgogCitAaXRlbSBNQVBGSUxFCitBbiBhcnJheSB2YXJpYWJsZSBjcmVhdGVkIHRvIGhvbGQgdGhlIHRleHQgcmVhZCBieSB0aGUKK0Bjb2Rle21hcGZpbGV9IGJ1aWx0aW4gd2hlbiBubyB2YXJpYWJsZSBuYW1lIGlzIHN1cHBsaWVkLgorCiBAaXRlbSBPTERQV0QKIFRoZSBwcmV2aW91cyB3b3JraW5nIGRpcmVjdG9yeSBhcyBzZXQgYnkgdGhlIEBjb2Rle2NkfSBidWlsdGluLgogCkBAIC01MTU2LDYgKzUzNjIsMTQgQEAKIGJldHdlZW4gMCBhbmQgMzI3NjcgaXMgZ2VuZXJhdGVkLiAgQXNzaWduaW5nIGEgdmFsdWUgdG8gdGhpcwogdmFyaWFibGUgc2VlZHMgdGhlIHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yLgogCitAaXRlbSBSRUFETElORV9MSU5FCitUaGUgY29udGVudHMgb2YgdGhlIFJlYWRsaW5lIGxpbmUgYnVmZmVyLCBmb3IgdXNlCit3aXRoIEBzYW1we2JpbmQgLXh9IChAcHhyZWZ7QmFzaCBCdWlsdGluc30pLgorCitAaXRlbSBSRUFETElORV9QT0lOVAorVGhlIHBvc2l0aW9uIG9mIHRoZSBpbnNlcnRpb24gcG9pbnQgaW4gdGhlIFJlYWRsaW5lIGxpbmUgYnVmZmVyLCBmb3IgdXNlCit3aXRoIEBzYW1we2JpbmQgLXh9IChAcHhyZWZ7QmFzaCBCdWlsdGluc30pLgorCiBAaXRlbSBSRVBMWQogVGhlIGRlZmF1bHQgdmFyaWFibGUgZm9yIHRoZSBAY29kZXtyZWFkfSBidWlsdGluLgogCkBAIC01Mjg0LDggKzU0OTgsOSBAQAogYmFzaCBbbG9uZy1vcHRdIC1zIFstYWJlZmhrbW5wdHV2eGRCQ0RIUF0gWy1vIEB2YXJ7b3B0aW9ufV0gWy1PIEB2YXJ7c2hvcHRfb3B0aW9ufV0gW0B2YXJ7YXJndW1lbnR9IEBkb3Rze31dCiBAZW5kIGV4YW1wbGUKIAotSW4gYWRkaXRpb24gdG8gdGhlIHNpbmdsZS1jaGFyYWN0ZXIgc2hlbGwgY29tbWFuZC1saW5lIG9wdGlvbnMKLShAcHhyZWZ7VGhlIFNldCBCdWlsdGlufSksIHRoZXJlIGFyZSBzZXZlcmFsIG11bHRpLWNoYXJhY3RlcgorQWxsIG9mIHRoZSBzaW5nbGUtY2hhcmFjdGVyIG9wdGlvbnMgdXNlZCB3aXRoIHRoZSBAY29kZXtzZXR9IGJ1aWx0aW4KKyhAcHhyZWZ7VGhlIFNldCBCdWlsdGlufSkgY2FuIGJlIHVzZWQgYXMgb3B0aW9ucyB3aGVuIHRoZSBzaGVsbCBpcyBpbnZva2VkLgorSW4gYWRkaXRpb24sIHRoZXJlIGFyZSBzZXZlcmFsIG11bHRpLWNoYXJhY3Rlcgogb3B0aW9ucyB0aGF0IHlvdSBjYW4gdXNlLiAgVGhlc2Ugb3B0aW9ucyBtdXN0IGFwcGVhciBvbiB0aGUgY29tbWFuZAogbGluZSBiZWZvcmUgdGhlIHNpbmdsZS1jaGFyYWN0ZXIgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkLiAKIApAQCAtNTI5NCw5ICs1NTA5LDcgQEAKIEFycmFuZ2UgZm9yIHRoZSBkZWJ1Z2dlciBwcm9maWxlIHRvIGJlIGV4ZWN1dGVkIGJlZm9yZSB0aGUgc2hlbGwKIHN0YXJ0cy4gIFR1cm5zIG9uIGV4dGVuZGVkIGRlYnVnZ2luZyBtb2RlIChzZWUgQHJlZntUaGUgU2hvcHQgQnVpbHRpbn0KIGZvciBhIGRlc2NyaXB0aW9uIG9mIHRoZSBAY29kZXtleHRkZWJ1Z30gb3B0aW9uIHRvIHRoZSBAY29kZXtzaG9wdH0KLWJ1aWx0aW4pIGFuZCBzaGVsbCBmdW5jdGlvbiB0cmFjaW5nCi0oc2VlIEByZWZ7VGhlIFNldCBCdWlsdGlufSBmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgQGNvZGV7LW8gZnVuY3RyYWNlfQotb3B0aW9uKS4KK2J1aWx0aW4pLgogCiBAaXRlbSAtLWR1bXAtcG8tc3RyaW5ncwogQSBsaXN0IG9mIGFsbCBkb3VibGUtcXVvdGVkIHN0cmluZ3MgcHJlY2VkZWQgYnkgQHNhbXB7JH0KQEAgLTU1MjcsNyArNTc0MCw3IEBACiBAc3Vic3ViaGVhZGluZyBJbnZva2VkIGJ5IHJlbW90ZSBzaGVsbCBkYWVtb24KIAogQmFzaCBhdHRlbXB0cyB0byBkZXRlcm1pbmUgd2hlbiBpdCBpcyBiZWluZyBydW4gd2l0aCBpdHMgc3RhbmRhcmQgaW5wdXQKLWNvbm5lY3RlZCB0byBhIGEgbmV0d29yayBjb25uZWN0aW9uLCBhcyBpZiBieSB0aGUgcmVtb3RlIHNoZWxsCitjb25uZWN0ZWQgdG8gYSBuZXR3b3JrIGNvbm5lY3Rpb24sIGFzIHdoZW4gZXhlY3V0ZWQgYnkgdGhlIHJlbW90ZSBzaGVsbAogZGFlbW9uLCB1c3VhbGx5IEBjb2Rle3JzaGR9LCBvciB0aGUgc2VjdXJlIHNoZWxsIGRhZW1vbiBAY29kZXtzc2hkfS4KIElmIEJhc2ggZGV0ZXJtaW5lcyBpdCBpcyBiZWluZyBydW4gaW4KIHRoaXMgZmFzaGlvbiwgaXQgcmVhZHMgYW5kIGV4ZWN1dGVzIGNvbW1hbmRzIGZyb20gQGZpbGV7fi8uYmFzaHJjfSwgaWYgdGhhdApAQCAtNTcyMiw4ICs1OTM1LDkgQEAKIEBmaWxley9kZXYvc3RkaW59LCBAZmlsZXsvZGV2L3N0ZG91dH0sIG9yIEBmaWxley9kZXYvc3RkZXJyfSwgZmlsZQogZGVzY3JpcHRvciAwLCAxLCBvciAyLCByZXNwZWN0aXZlbHksIGlzIGNoZWNrZWQuCiAKLVdoZW4gdXNlZCB3aXRoIEBzYW1we1tbfSwgVGhlIEBzYW1wezx9IGFuZCBAc2FtcHs+fSBvcGVyYXRvcnMgc29ydAorV2hlbiB1c2VkIHdpdGggQHNhbXB7W1t9LCB0aGUgQHNhbXB7PH0gYW5kIEBzYW1wez59IG9wZXJhdG9ycyBzb3J0CiBsZXhpY29ncmFwaGljYWxseSB1c2luZyB0aGUgY3VycmVudCBsb2NhbGUuCitUaGUgQGNvZGV7dGVzdH0gY29tbWFuZCB1c2VzIEFTQ0lJIG9yZGVyaW5nLgogCiBVbmxlc3Mgb3RoZXJ3aXNlIHNwZWNpZmllZCwgcHJpbWFyaWVzIHRoYXQgb3BlcmF0ZSBvbiBmaWxlcyBmb2xsb3cgc3ltYm9saWMKIGxpbmtzIGFuZCBvcGVyYXRlIG9uIHRoZSB0YXJnZXQgb2YgdGhlIGxpbmssIHJhdGhlciB0aGFuIHRoZSBsaW5rIGl0c2VsZi4KQEAgLTU3NzcsMjAgKzU5OTEsMjQgQEAKIEBpdGVtIC14IEB2YXJ7ZmlsZX0KIFRydWUgaWYgQHZhcntmaWxlfSBleGlzdHMgYW5kIGlzIGV4ZWN1dGFibGUuCiAKLUBpdGVtIC1PIEB2YXJ7ZmlsZX0KLVRydWUgaWYgQHZhcntmaWxlfSBleGlzdHMgYW5kIGlzIG93bmVkIGJ5IHRoZSBlZmZlY3RpdmUgdXNlciBpZC4KLQogQGl0ZW0gLUcgQHZhcntmaWxlfQogVHJ1ZSBpZiBAdmFye2ZpbGV9IGV4aXN0cyBhbmQgaXMgb3duZWQgYnkgdGhlIGVmZmVjdGl2ZSBncm91cCBpZC4KIAogQGl0ZW0gLUwgQHZhcntmaWxlfQogVHJ1ZSBpZiBAdmFye2ZpbGV9IGV4aXN0cyBhbmQgaXMgYSBzeW1ib2xpYyBsaW5rLgogCitAaXRlbSAtTiBAdmFye2ZpbGV9CitUcnVlIGlmIEB2YXJ7ZmlsZX0gZXhpc3RzIGFuZCBoYXMgYmVlbiBtb2RpZmllZCBzaW5jZSBpdCB3YXMgbGFzdCByZWFkLgorCitAaXRlbSAtTyBAdmFye2ZpbGV9CitUcnVlIGlmIEB2YXJ7ZmlsZX0gZXhpc3RzIGFuZCBpcyBvd25lZCBieSB0aGUgZWZmZWN0aXZlIHVzZXIgaWQuCisKIEBpdGVtIC1TIEB2YXJ7ZmlsZX0KIFRydWUgaWYgQHZhcntmaWxlfSBleGlzdHMgYW5kIGlzIGEgc29ja2V0LgogCi1AaXRlbSAtTiBAdmFye2ZpbGV9Ci1UcnVlIGlmIEB2YXJ7ZmlsZX0gZXhpc3RzIGFuZCBoYXMgYmVlbiBtb2RpZmllZCBzaW5jZSBpdCB3YXMgbGFzdCByZWFkLgorQGl0ZW0gQHZhcntmaWxlMX0gLWVmIEB2YXJ7ZmlsZTJ9CitUcnVlIGlmIEB2YXJ7ZmlsZTF9IGFuZCBAdmFye2ZpbGUyfSByZWZlciB0byB0aGUgc2FtZSBkZXZpY2UgYW5kCitpbm9kZSBudW1iZXJzLgogCiBAaXRlbSBAdmFye2ZpbGUxfSAtbnQgQHZhcntmaWxlMn0KIFRydWUgaWYgQHZhcntmaWxlMX0gaXMgbmV3ZXIgKGFjY29yZGluZyB0byBtb2RpZmljYXRpb24gZGF0ZSkKQEAgLTU4MDAsMTUgKzYwMTgsMTQgQEAKIFRydWUgaWYgQHZhcntmaWxlMX0gaXMgb2xkZXIgdGhhbiBAdmFye2ZpbGUyfSwKIG9yIGlmIEB2YXJ7ZmlsZTJ9IGV4aXN0cyBhbmQgQHZhcntmaWxlMX0gZG9lcyBub3QuCiAKLUBpdGVtIEB2YXJ7ZmlsZTF9IC1lZiBAdmFye2ZpbGUyfQotVHJ1ZSBpZiBAdmFye2ZpbGUxfSBhbmQgQHZhcntmaWxlMn0gcmVmZXIgdG8gdGhlIHNhbWUgZGV2aWNlIGFuZAotaW5vZGUgbnVtYmVycy4KLQogQGl0ZW0gLW8gQHZhcntvcHRuYW1lfQotVHJ1ZSBpZiBzaGVsbCBvcHRpb24gQHZhcntvcHRuYW1lfSBpcyBlbmFibGVkLgorVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uIEB2YXJ7b3B0bmFtZX0gaXMgZW5hYmxlZC4KIFRoZSBsaXN0IG9mIG9wdGlvbnMgYXBwZWFycyBpbiB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIEBvcHRpb257LW99CiBvcHRpb24gdG8gdGhlIEBjb2Rle3NldH0gYnVpbHRpbiAoQHB4cmVme1RoZSBTZXQgQnVpbHRpbn0pLgogCitAaXRlbSAtdiBAdmFye3Zhcm5hbWV9CitUcnVlIGlmIHRoZSBzaGVsbCB2YXJpYWJsZSBAdmFye3Zhcm5hbWV9IGlzIHNldCAoaGFzIGJlZW4gYXNzaWduZWQgYSB2YWx1ZSkuCisKIEBpdGVtIC16IEB2YXJ7c3RyaW5nfQogVHJ1ZSBpZiB0aGUgbGVuZ3RoIG9mIEB2YXJ7c3RyaW5nfSBpcyB6ZXJvLgogCkBAIC01OTI4LDEyICs2MTQ1LDEyIEBACiB3aGVuIGl0IGlzIHJlZmVyZW5jZWQsIG9yIHdoZW4gYSB2YXJpYWJsZSB3aGljaCBoYXMgYmVlbiBnaXZlbiB0aGUgIAogQHZhcntpbnRlZ2VyfSBhdHRyaWJ1dGUgdXNpbmcgQHNhbXB7ZGVjbGFyZSAtaX0gaXMgYXNzaWduZWQgYSB2YWx1ZS4KIEEgbnVsbCB2YWx1ZSBldmFsdWF0ZXMgdG8gMC4KLUEgc2hlbGwgdmFyaWFibGUgbmVlZCBub3QgaGF2ZSBpdHMgaW50ZWdlciBhdHRyaWJ1dGUgdHVybmVkIG9uCitBIHNoZWxsIHZhcmlhYmxlIG5lZWQgbm90IGhhdmUgaXRzIEB2YXJ7aW50ZWdlcn0gYXR0cmlidXRlIHR1cm5lZCBvbgogdG8gYmUgdXNlZCBpbiBhbiBleHByZXNzaW9uLgogCiBDb25zdGFudHMgd2l0aCBhIGxlYWRpbmcgMCBhcmUgaW50ZXJwcmV0ZWQgYXMgb2N0YWwgbnVtYmVycy4KIEEgbGVhZGluZyBAc2FtcHsweH0gb3IgQHNhbXB7MFh9IGRlbm90ZXMgaGV4YWRlY2ltYWwuICBPdGhlcndpc2UsCi1udW1iZXJzIHRha2UgdGhlIGZvcm0gW0B2YXJ7YmFzZX1AY29kZXsjfV1AdmFye259LCB3aGVyZSBAdmFye2Jhc2V9CitudW1iZXJzIHRha2UgdGhlIGZvcm0gW0B2YXJ7YmFzZX1AY29kZXsjfV1AdmFye259LCB3aGVyZSB0aGUgb3B0aW9uYWwgQHZhcntiYXNlfQogaXMgYSBkZWNpbWFsIG51bWJlciBiZXR3ZWVuIDIgYW5kIDY0IHJlcHJlc2VudGluZyB0aGUgYXJpdGhtZXRpYwogYmFzZSwgYW5kIEB2YXJ7bn0gaXMgYSBudW1iZXIgaW4gdGhhdCBiYXNlLiAgSWYgQHZhcntiYXNlfUBjb2RleyN9IGlzCiBvbWl0dGVkLCB0aGVuIGJhc2UgMTAgaXMgdXNlZC4KQEAgLTYwMjgsOCArNjI0NSwxMSBAQAogCiBAbm9pbmRlbnQKIFRoZSBAdmFye3N1YnNjcmlwdH0KLWlzIHRyZWF0ZWQgYXMgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uIHRoYXQgbXVzdCBldmFsdWF0ZSB0byBhIG51bWJlcgotZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHplcm8uICBUbyBleHBsaWNpdGx5IGRlY2xhcmUgYW4gYXJyYXksIHVzZQoraXMgdHJlYXRlZCBhcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gdGhhdCBtdXN0IGV2YWx1YXRlIHRvIGEgbnVtYmVyLgorSWYgQHZhcntzdWJzY3JpcHR9IGV2YWx1YXRlcyB0byBhIG51bWJlciBsZXNzIHRoYW4gemVybywgaXQgaXMgdXNlZCBhcworYW4gb2Zmc2V0IGZyb20gb25lIGdyZWF0ZXIgdGhhbiB0aGUgYXJyYXkncyBtYXhpbXVtIGluZGV4IChzbyBhIHN1YmNyaXB0CitvZiAtMSByZWZlcnMgdG8gdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUgYXJyYXkpLgorVG8gZXhwbGljaXRseSBkZWNsYXJlIGFuIGFycmF5LCB1c2UKIEBleGFtcGxlCiBkZWNsYXJlIC1hIEB2YXJ7bmFtZX0KIEBlbmQgZXhhbXBsZQpAQCAtNjExMSw2ICs2MzMxLDcgQEAKIFRoZSBAY29kZXtkZWNsYXJlfSwgQGNvZGV7bG9jYWx9LCBhbmQgQGNvZGV7cmVhZG9ubHl9CiBidWlsdGlucyBlYWNoIGFjY2VwdCBhIEBvcHRpb257LWF9IG9wdGlvbiB0byBzcGVjaWZ5IGFuIGluZGV4ZWQKIGFycmF5IGFuZCBhIEBvcHRpb257LUF9IG9wdGlvbiB0byBzcGVjaWZ5IGFuIGFzc29jaWF0aXZlIGFycmF5LgorSWYgYm90aCBvcHRpb25zIGFyZSBzdXBwbGllZCwgQG9wdGlvbnstQX0gdGFrZXMgcHJlY2VkZW5jZS4KIFRoZSBAY29kZXtyZWFkfSBidWlsdGluIGFjY2VwdHMgYSBAb3B0aW9uey1hfQogb3B0aW9uIHRvIGFzc2lnbiBhIGxpc3Qgb2Ygd29yZHMgcmVhZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dAogdG8gYW4gYXJyYXksIGFuZCBjYW4gcmVhZCB2YWx1ZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50bwpAQCAtNjQ0MCw2ICs2NjYxLDExIEBACiByZXN1bHRzIGluIGFuIGludmFsaWQgZXhwcmVzc2lvbi4KIAogQGl0ZW0KK05vbi1pbnRlcmFjdGl2ZSBzaGVsbHMgZXhpdCBpZiB0aGVyZSBpcyBhIHN5bnRheCBlcnJvciBpbiBhIHNjcmlwdCByZWFkCit3aXRoIHRoZSBAY29kZXsufSBvciBAY29kZXtzb3VyY2V9IGJ1aWx0aW5zLCBvciBpbiBhIHN0cmluZyBwcm9jZXNzZWQgYnkKK3RoZSBAY29kZXtldmFsfSBidWlsdGluLgorCitAaXRlbQogUmVkaXJlY3Rpb24gb3BlcmF0b3JzIGRvIG5vdCBwZXJmb3JtIGZpbGVuYW1lIGV4cGFuc2lvbiBvbiB0aGUgd29yZAogaW4gdGhlIHJlZGlyZWN0aW9uIHVubGVzcyB0aGUgc2hlbGwgaXMgaW50ZXJhY3RpdmUuCiAKQEAgLTY0NTgsMTkgKzY2ODQsMjggQEAKIGR1cmluZyBjb21tYW5kIGxvb2t1cC4KIAogQGl0ZW0KLUlmIGEgQHNje3Bvc2l4fSBzcGVjaWFsIGJ1aWx0aW4gcmV0dXJucyBhbiBlcnJvciBzdGF0dXMsIGEKLW5vbi1pbnRlcmFjdGl2ZSBzaGVsbCBleGl0cy4gIFRoZSBmYXRhbCBlcnJvcnMgYXJlIHRob3NlIGxpc3RlZCBpbgotdGhlIFBPU0lYIHN0YW5kYXJkLCBhbmQgaW5jbHVkZSB0aGluZ3MgbGlrZSBwYXNzaW5nIGluY29ycmVjdCBvcHRpb25zLAotcmVkaXJlY3Rpb24gZXJyb3JzLCB2YXJpYWJsZSBhc3NpZ25tZW50IGVycm9ycyBmb3IgYXNzaWdubWVudHMgcHJlY2VkaW5nCi10aGUgY29tbWFuZCBuYW1lLCBhbmQgc28gb24uCitUaGUgQGNvZGV7dGltZX0gcmVzZXJ2ZWQgd29yZCBtYXkgYmUgdXNlZCBieSBpdHNlbGYgYXMgYSBjb21tYW5kLiAgV2hlbgordXNlZCBpbiB0aGlzIHdheSwgaXQgZGlzcGxheXMgdGltaW5nIHN0YXRpc3RpY3MgZm9yIHRoZSBzaGVsbCBhbmQgaXRzCitjb21wbGV0ZWQgY2hpbGRyZW4uICBUaGUgQGVudntUSU1FRk9STUFUfSB2YXJpYWJsZSBjb250cm9scyB0aGUgZm9ybWF0CitvZiB0aGUgdGltaW5nIGluZm9ybWF0aW9uLgogCiBAaXRlbQotSWYgQGVudntDRFBBVEh9IGlzIHNldCwgdGhlIEBjb2Rle2NkfSBidWlsdGluIHdpbGwgbm90IGltcGxpY2l0bHkKLWFwcGVuZCB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8gaXQuICBUaGlzIG1lYW5zIHRoYXQgQGNvZGV7Y2R9IHdpbGwKLWZhaWwgaWYgbm8gdmFsaWQgZGlyZWN0b3J5IG5hbWUgY2FuIGJlIGNvbnN0cnVjdGVkIGZyb20KLWFueSBvZiB0aGUgZW50cmllcyBpbiBAZW52eyRDRFBBVEh9LCBldmVuIGlmIHRoZSBhIGRpcmVjdG9yeSB3aXRoCi10aGUgc2FtZSBuYW1lIGFzIHRoZSBuYW1lIGdpdmVuIGFzIGFuIGFyZ3VtZW50IHRvIEBjb2Rle2NkfSBleGlzdHMKLWluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KK1doZW4gcGFyc2luZyBhbmQgZXhwYW5kaW5nIGEgJEB7QGRvdHN7fUB9IGV4cGFuc2lvbiB0aGF0IGFwcGVhcnMgd2l0aGluCitkb3VibGUgcXVvdGVzLCBzaW5nbGUgcXVvdGVzIGFyZSBubyBsb25nZXIgc3BlY2lhbCBhbmQgY2Fubm90IGJlIHVzZWQgdG8KK3F1b3RlIGEgY2xvc2luZyBicmFjZSBvciBvdGhlciBzcGVjaWFsIGNoYXJhY3RlciwgdW5sZXNzIHRoZSBvcGVyYXRvciBpcworb25lIG9mIHRob3NlIGRlZmluZWQgdG8gcGVyZm9ybSBwYXR0ZXJuIHJlbW92YWwuICBJbiB0aGlzIGNhc2UsIHRoZXkgZG8KK25vdCBoYXZlIHRvIGFwcGVhciBhcyBtYXRjaGVkIHBhaXJzLgorCitAaXRlbQorVGhlIHBhcnNlciBkb2VzIG5vdCByZWNvZ25pemUgQGNvZGV7dGltZX0gYXMgYSByZXNlcnZlZCB3b3JkIGlmIHRoZSBuZXh0Cit0b2tlbiBiZWdpbnMgd2l0aCBhIEBzYW1wey19LgorCitAaXRlbQorSWYgYSBAc2N7cG9zaXh9IHNwZWNpYWwgYnVpbHRpbiByZXR1cm5zIGFuIGVycm9yIHN0YXR1cywgYQorbm9uLWludGVyYWN0aXZlIHNoZWxsIGV4aXRzLiAgVGhlIGZhdGFsIGVycm9ycyBhcmUgdGhvc2UgbGlzdGVkIGluCit0aGUgQHNje3Bvc2l4fSBzdGFuZGFyZCwgYW5kIGluY2x1ZGUgdGhpbmdzIGxpa2UgcGFzc2luZyBpbmNvcnJlY3Qgb3B0aW9ucywKK3JlZGlyZWN0aW9uIGVycm9ycywgdmFyaWFibGUgYXNzaWdubWVudCBlcnJvcnMgZm9yIGFzc2lnbm1lbnRzIHByZWNlZGluZwordGhlIGNvbW1hbmQgbmFtZSwgYW5kIHNvIG9uLgogCiBAaXRlbQogQSBub24taW50ZXJhY3RpdmUgc2hlbGwgZXhpdHMgd2l0aCBhbiBlcnJvciBzdGF0dXMgaWYgYSB2YXJpYWJsZQpAQCAtNjQ4MCw2ICs2NzE1LDExIEBACiBhIHZhbHVlIHRvIGEgcmVhZG9ubHkgdmFyaWFibGUuCiAKIEBpdGVtCitBIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbCBleGlzdHMgd2l0aCBhbiBlcnJvciBzdGF0dXMgaWYgYSB2YXJpYWJsZQorYXNzaWdubWVudCBlcnJvciBvY2N1cnMgaW4gYW4gYXNzaWdubWVudCBzdGF0ZW1lbnQgcHJlY2VkaW5nIGEgc3BlY2lhbAorYnVpbHRpbiwgYnV0IG5vdCB3aXRoIGFueSBvdGhlciBzaW1wbGUgY29tbWFuZC4KKworQGl0ZW0KIEEgbm9uLWludGVyYWN0aXZlIHNoZWxsIGV4aXRzIHdpdGggYW4gZXJyb3Igc3RhdHVzIGlmIHRoZSBpdGVyYXRpb24KIHZhcmlhYmxlIGluIGEgQGNvZGV7Zm9yfSBzdGF0ZW1lbnQgb3IgdGhlIHNlbGVjdGlvbiB2YXJpYWJsZSBpbiBhCiBAY29kZXtzZWxlY3R9IHN0YXRlbWVudCBpcyBhIHJlYWRvbmx5IHZhcmlhYmxlLgpAQCAtNjU0NSwxMCArNjc4NSw2IEBACiBmYWxsaW5nIGJhY2sgdG8gQHZhcntwaHlzaWNhbH0gbW9kZS4KIAogQGl0ZW0KLVdoZW4gdGhlIEBjb2Rle3B3ZH0gYnVpbHRpbiBpcyBzdXBwbGllZCB0aGUgQG9wdGlvbnstUH0gb3B0aW9uLCBpdCByZXNldHMKLUBjb2RleyRQV0R9IHRvIGEgcGF0aG5hbWUgY29udGFpbmluZyBubyBzeW1saW5rcy4KLQotQGl0ZW0KIFRoZSBAY29kZXtwd2R9IGJ1aWx0aW4gdmVyaWZpZXMgdGhhdCB0aGUgdmFsdWUgaXQgcHJpbnRzIGlzIHRoZSBzYW1lIGFzIHRoZQogY3VycmVudCBkaXJlY3RvcnksIGV2ZW4gaWYgaXQgaXMgbm90IGFza2VkIHRvIGNoZWNrIHRoZSBmaWxlIHN5c3RlbSB3aXRoIHRoZQogQG9wdGlvbnstUH0gb3B0aW9uLgpAQCAtNzI2OSw3ICs3NTA1LDcgQEAKIChAcHhyZWZ7Q29uZGl0aW9uYWwgQ29uc3RydWN0c30pLgogCiBAaXRlbSAtLWVuYWJsZS1jb25kLXJlZ2V4cAotSW5jbHVkZSBzdXBwb3J0IGZvciBtYXRjaGluZyBQT1NJWCByZWd1bGFyIGV4cHJlc3Npb25zIHVzaW5nIHRoZQorSW5jbHVkZSBzdXBwb3J0IGZvciBtYXRjaGluZyBAc2N7cG9zaXh9IHJlZ3VsYXIgZXhwcmVzc2lvbnMgdXNpbmcgdGhlCiBAc2FtcHs9fn0gYmluYXJ5IG9wZXJhdG9yIGluIHRoZSBAY29kZXtbW30gY29uZGl0aW9uYWwgY29tbWFuZC4KIChAcHhyZWZ7Q29uZGl0aW9uYWwgQ29uc3RydWN0c30pLgogCkBAIC03MzUwLDggKzc1ODYsOCBAQAogQHJlZntUaGUgUmVzdHJpY3RlZCBTaGVsbH0sIGZvciBhIGRlc2NyaXB0aW9uIG9mIHJlc3RyaWN0ZWQgbW9kZS4KIAogQGl0ZW0gLS1lbmFibGUtc2VsZWN0Ci1JbmNsdWRlIHRoZSBAY29kZXtzZWxlY3R9IGJ1aWx0aW4sIHdoaWNoIGFsbG93cyB0aGUgZ2VuZXJhdGlvbiBvZiBzaW1wbGUKLW1lbnVzIChAcHhyZWZ7Q29uZGl0aW9uYWwgQ29uc3RydWN0c30pLgorSW5jbHVkZSB0aGUgQGNvZGV7c2VsZWN0fSBjb21wb3VuZCBjb21tYW5kLCB3aGljaCBhbGxvd3MgdGhlIGdlbmVyYXRpb24gb2YKK3NpbXBsZSBtZW51cyAoQHB4cmVme0NvbmRpdGlvbmFsIENvbnN0cnVjdHN9KS4KIAogQGl0ZW0gLS1lbmFibGUtc2VwYXJhdGUtaGVscGZpbGVzCiBVc2UgZXh0ZXJuYWwgZmlsZXMgZm9yIHRoZSBkb2N1bWVudGF0aW9uIGRpc3BsYXllZCBieSB0aGUgQGNvZGV7aGVscH0gYnVpbHRpbgpkaWZmIC0tZ2l0IGEvZG9jL2J1aWx0aW5zLjAgYi9kb2MvYnVpbHRpbnMuMAppbmRleCBhNzIxZTM4Li41MzYxZGQ3IDEwMDY0NAotLS0gYS9kb2MvYnVpbHRpbnMuMAorKysgYi9kb2MvYnVpbHRpbnMuMApAQCAtMTI5LDcgKzEyOSw3IEBACiAKICAgICAgICBjCGNhCGFsCGxsCGxlCGVyCHIgW18IZV8IeF8IcF8Icl0KICAgICAgICAgICAgICAgUmV0dXJucyB0aGUgY29udGV4dCBvZiBhbnkgYWN0aXZlIHN1YnJvdXRpbmUgY2FsbCAoYSBzaGVsbCBmdW5jLQotICAgICAgICAgICAgICB0aW9uIG9yIGEgc2NyaXB0IGV4ZWN1dGVkIHdpdGggdGhlIC4ILiBvciBzCHNvCG91CHVyCHJjCGNlCGUgYnVpbHRpbnMuICAgV2l0aC0KKyAgICAgICAgICAgICAgdGlvbiBvciBhIHNjcmlwdCBleGVjdXRlZCB3aXRoIHRoZSAuCC4gb3IgcwhzbwhvdQh1cghyYwhjZQhlIGJ1aWx0aW5zKS4gIFdpdGgtCiAgICAgICAgICAgICAgIG91dCBfCGVfCHhfCHBfCHIsIGMIY2EIYWwIbGwIbGUIZXIIciBkaXNwbGF5cyB0aGUgbGluZSBudW1iZXIgYW5kIHNvdXJjZSBmaWxlbmFtZSBvZgogICAgICAgICAgICAgICB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuICBJZiBhIG5vbi1uZWdhdGl2ZSBpbnRlZ2VyIGlzICBzdXAtCiAgICAgICAgICAgICAgIHBsaWVkIGFzIF8IZV8IeF8IcF8IciwgYwhjYQhhbAhsbAhsZQhlcghyIGRpc3BsYXlzIHRoZSBsaW5lIG51bWJlciwgc3Vicm91dGluZSBuYW1lLApAQCAtMTQwLDcgKzE0MCw3IEBACiAgICAgICAgICAgICAgIHJvdXRpbmUgY2FsbCBvciBfCGVfCHhfCHBfCHIgZG9lcyBub3QgY29ycmVzcG9uZCB0byBhIHZhbGlkIHBvc2l0aW9uICBpbgogICAgICAgICAgICAgICB0aGUgY2FsbCBzdGFjay4KIAotICAgICAgIGMIY2QIZCBbLQgtTAhMfAh8LQgtUAhQXSBbXwhkXwhpXwhyXQorICAgICAgIGMIY2QIZCBbLQgtTAhMfFstCC1QCFAgWy0ILWUIZV1dXSBbXwhkXwhpXwhyXQogICAgICAgICAgICAgICBDaGFuZ2UgIHRoZSAgY3VycmVudCBkaXJlY3RvcnkgdG8gXwhkXwhpXwhyLiAgVGhlIHZhcmlhYmxlIEgISE8IT00ITUUIRSBpcyB0aGUKICAgICAgICAgICAgICAgZGVmYXVsdCBfCGRfCGlfCHIuICBUaGUgdmFyaWFibGUgQwhDRAhEUAhQQQhBVAhUSAhIIGRlZmluZXMgdGhlICBzZWFyY2ggIHBhdGggIGZvcgogICAgICAgICAgICAgICB0aGUgIGRpcmVjdG9yeSAgY29udGFpbmluZyAgXwhkXwhpXwhyLiAgQWx0ZXJuYXRpdmUgZGlyZWN0b3J5IG5hbWVzIGluCkBAIC0xNTAsMTA0ICsxNTAsMTA3IEBACiAgICAgICAgICAgICAgIG9wdGlvbiAgc2F5cyAgdG8gdXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIGluc3RlYWQgb2YKICAgICAgICAgICAgICAgZm9sbG93aW5nIHN5bWJvbGljIGxpbmtzIChzZWUgYWxzbyB0aGUgIC0ILVAIUCAgb3B0aW9uICB0byAgdGhlICBzCHNlCGV0CHQKICAgICAgICAgICAgICAgYnVpbHRpbiBjb21tYW5kKTsgdGhlIC0ILUwITCBvcHRpb24gZm9yY2VzIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbC0KLSAgICAgICAgICAgICAgbG93ZWQuICBBbiBhcmd1bWVudCBvZiAtCC0gaXMgZXF1aXZhbGVudCB0byAkCCRPCE9MCExECERQCFBXCFdECEQuICAgSWYgIGEgIG5vbi0KLSAgICAgICAgICAgICAgZW1wdHkgIGRpcmVjdG9yeSAgbmFtZSBmcm9tIEMIQ0QIRFAIUEEIQVQIVEgISCBpcyB1c2VkLCBvciBpZiAtCC0gaXMgdGhlIGZpcnN0Ci0gICAgICAgICAgICAgIGFyZ3VtZW50LCBhbmQgdGhlIGRpcmVjdG9yeSBjaGFuZ2UgaXMgc3VjY2Vzc2Z1bCwgIHRoZSAgYWJzb2x1dGUKLSAgICAgICAgICAgICAgcGF0aG5hbWUgb2YgdGhlIG5ldyB3b3JraW5nIGRpcmVjdG9yeSBpcyB3cml0dGVuIHRvIHRoZSBzdGFuZGFyZAotICAgICAgICAgICAgICBvdXRwdXQuICBUaGUgcmV0dXJuIHZhbHVlIGlzIHRydWUgaWYgdGhlIGRpcmVjdG9yeSB3YXMgIHN1Y2Nlc3MtCisgICAgICAgICAgICAgIGxvd2VkLiAgSWYgdGhlIC0ILWUIZSBvcHRpb24gaXMgc3VwcGxpZWQgd2l0aCAtCC1QCFAsICBhbmQgIHRoZSAgY3VycmVudAorICAgICAgICAgICAgICB3b3JraW5nIGRpcmVjdG9yeSBjYW5ub3QgYmUgc3VjY2Vzc2Z1bGx5IGRldGVybWluZWQgYWZ0ZXIgYSBzdWMtCisgICAgICAgICAgICAgIGNlc3NmdWwgZGlyZWN0b3J5IGNoYW5nZSwgYwhjZAhkIHdpbGwgcmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCBzdGF0dXMuCisgICAgICAgICAgICAgIEFuICBhcmd1bWVudCAgb2YgIC0ILSAgaXMgIGVxdWl2YWxlbnQgIHRvICQIJE8IT0wITEQIRFAIUFcIV0QIRC4gIElmIGEgbm9uLWVtcHR5CisgICAgICAgICAgICAgIGRpcmVjdG9yeSBuYW1lIGZyb20gQwhDRAhEUAhQQQhBVAhUSAhIIGlzIHVzZWQsIG9yIGlmIC0ILSBpcyB0aGUgIGZpcnN0ICBhcmd1LQorICAgICAgICAgICAgICBtZW50LCBhbmQgdGhlIGRpcmVjdG9yeSBjaGFuZ2UgaXMgc3VjY2Vzc2Z1bCwgdGhlIGFic29sdXRlIHBhdGgtCisgICAgICAgICAgICAgIG5hbWUgb2YgdGhlIG5ldyB3b3JraW5nIGRpcmVjdG9yeSBpcyAgd3JpdHRlbiAgdG8gIHRoZSAgc3RhbmRhcmQKKyAgICAgICAgICAgICAgb3V0cHV0LiAgIFRoZSByZXR1cm4gdmFsdWUgaXMgdHJ1ZSBpZiB0aGUgZGlyZWN0b3J5IHdhcyBzdWNjZXNzLQogICAgICAgICAgICAgICBmdWxseSBjaGFuZ2VkOyBmYWxzZSBvdGhlcndpc2UuCiAKICAgICAgICBjCGNvCG9tCG1tCG1hCGFuCG5kCGQgWy0ILXAIcFYIVnYIdl0gXwhjXwhvXwhtXwhtXwhhXwhuXwhkIFtfCGFfCHJfCGcgLi4uXQotICAgICAgICAgICAgICBSdW4gIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCAgd2l0aCAgXwhhXwhyXwhnXwhzICBzdXBwcmVzc2luZyAgdGhlIG5vcm1hbCBzaGVsbCBmdW5jdGlvbgotICAgICAgICAgICAgICBsb29rdXAuIE9ubHkgYnVpbHRpbiBjb21tYW5kcyBvciBjb21tYW5kcyBmb3VuZCBpbiB0aGUgUAhQQQhBVAhUSAhIICBhcmUKLSAgICAgICAgICAgICAgZXhlY3V0ZWQuICAgSWYgdGhlIC0ILXAIcCBvcHRpb24gaXMgZ2l2ZW4sIHRoZSBzZWFyY2ggZm9yIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcwotICAgICAgICAgICAgICBwZXJmb3JtZWQgdXNpbmcgYSBkZWZhdWx0IHZhbHVlIGZvciBQCFBBCEFUCFRICEggdGhhdCBpcyAgZ3VhcmFudGVlZCAgdG8KLSAgICAgICAgICAgICAgZmluZCAgYWxsICBvZiAgdGhlICBzdGFuZGFyZCAgdXRpbGl0aWVzLiAgSWYgZWl0aGVyIHRoZSAtCC1WCFYgb3IgLQgtdgh2CisgICAgICAgICAgICAgIFJ1biBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgd2l0aCBfCGFfCHJfCGdfCHMgIHN1cHByZXNzaW5nICB0aGUgIG5vcm1hbCAgc2hlbGwgIGZ1bmN0aW9uCisgICAgICAgICAgICAgIGxvb2t1cC4gIE9ubHkgYnVpbHRpbiBjb21tYW5kcyBvciBjb21tYW5kcyBmb3VuZCBpbiB0aGUgUAhQQQhBVAhUSAhIIGFyZQorICAgICAgICAgICAgICBleGVjdXRlZC4gIElmIHRoZSAtCC1wCHAgb3B0aW9uIGlzIGdpdmVuLCB0aGUgc2VhcmNoIGZvciBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgIGlzCisgICAgICAgICAgICAgIHBlcmZvcm1lZCAgdXNpbmcgIGEgZGVmYXVsdCB2YWx1ZSBmb3IgUAhQQQhBVAhUSAhIIHRoYXQgaXMgZ3VhcmFudGVlZCB0bworICAgICAgICAgICAgICBmaW5kIGFsbCBvZiB0aGUgc3RhbmRhcmQgdXRpbGl0aWVzLiAgSWYgIGVpdGhlciAgdGhlICAtCC1WCFYgIG9yICAtCC12CHYKICAgICAgICAgICAgICAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhIGRlc2NyaXB0aW9uIG9mIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBpcyBwcmludGVkLiAgVGhlIC0ILXYIdgotICAgICAgICAgICAgICBvcHRpb24gIGNhdXNlcyBhIHNpbmdsZSB3b3JkIGluZGljYXRpbmcgdGhlIGNvbW1hbmQgb3IgZmlsZSBuYW1lCisgICAgICAgICAgICAgIG9wdGlvbiBjYXVzZXMgYSBzaW5nbGUgd29yZCBpbmRpY2F0aW5nIHRoZSBjb21tYW5kIG9yIGZpbGUgIG5hbWUKICAgICAgICAgICAgICAgdXNlZCB0byBpbnZva2UgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIHRvIGJlIGRpc3BsYXllZDsgdGhlIC0ILVYIViBvcHRpb24gcHJvZHVjZXMgYQotICAgICAgICAgICAgICBtb3JlICB2ZXJib3NlICBkZXNjcmlwdGlvbi4gIElmIHRoZSAtCC1WCFYgb3IgLQgtdgh2IG9wdGlvbiBpcyBzdXBwbGllZCwKLSAgICAgICAgICAgICAgdGhlIGV4aXQgc3RhdHVzIGlzIDAgaWYgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIHdhcyBmb3VuZCwgYW5kICAxICBpZiAgbm90LiAgIElmCisgICAgICAgICAgICAgIG1vcmUgdmVyYm9zZSBkZXNjcmlwdGlvbi4gIElmIHRoZSAtCC1WCFYgb3IgLQgtdgh2IG9wdGlvbiAgaXMgIHN1cHBsaWVkLAorICAgICAgICAgICAgICB0aGUgIGV4aXQgIHN0YXR1cyAgaXMgIDAgaWYgXwhjXwhvXwhtXwhtXwhhXwhuXwhkIHdhcyBmb3VuZCwgYW5kIDEgaWYgbm90LiAgSWYKICAgICAgICAgICAgICAgbmVpdGhlciBvcHRpb24gaXMgc3VwcGxpZWQgYW5kIGFuIGVycm9yIG9jY3VycmVkIG9yIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBjYW4tCi0gICAgICAgICAgICAgIG5vdCBiZSBmb3VuZCwgdGhlIGV4aXQgc3RhdHVzIGlzIDEyNy4gIE90aGVyd2lzZSwgdGhlIGV4aXQgIHN0YS0KKyAgICAgICAgICAgICAgbm90ICBiZSBmb3VuZCwgdGhlIGV4aXQgc3RhdHVzIGlzIDEyNy4gIE90aGVyd2lzZSwgdGhlIGV4aXQgc3RhLQogICAgICAgICAgICAgICB0dXMgb2YgdGhlIGMIY28Ib20IbW0IbWEIYW4IbmQIZCBidWlsdGluIGlzIHRoZSBleGl0IHN0YXR1cyBvZiBfCGNfCG9fCG1fCG1fCGFfCG5fCGQuCiAKICAgICAgICBjCGNvCG9tCG1wCHBnCGdlCGVuCG4gW18Ib18IcF8IdF8IaV8Ib18Ibl0gW18Id18Ib18Icl8IZF0KLSAgICAgICAgICAgICAgR2VuZXJhdGUgIHBvc3NpYmxlICBjb21wbGV0aW9uIG1hdGNoZXMgZm9yIF8Id18Ib18Icl8IZCBhY2NvcmRpbmcgdG8gdGhlCi0gICAgICAgICAgICAgIF8Ib18IcF8IdF8IaV8Ib18IbnMsIHdoaWNoIG1heSAgYmUgIGFueSAgb3B0aW9uICBhY2NlcHRlZCAgYnkgIHRoZSAgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlCi0gICAgICAgICAgICAgIGJ1aWx0aW4gIHdpdGggIHRoZSBleGNlcHRpb24gb2YgLQgtcAhwIGFuZCAtCC1yCHIsIGFuZCB3cml0ZSB0aGUgbWF0Y2hlcwotICAgICAgICAgICAgICB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LiAgV2hlbiB1c2luZyB0aGUgLQgtRghGIG9yICAtCC1DCEMgIG9wdGlvbnMsICB0aGUKLSAgICAgICAgICAgICAgdmFyaW91cyAgc2hlbGwgIHZhcmlhYmxlcyAgc2V0ICBieSAgdGhlICBwcm9ncmFtbWFibGUgY29tcGxldGlvbgorICAgICAgICAgICAgICBHZW5lcmF0ZSBwb3NzaWJsZSBjb21wbGV0aW9uIG1hdGNoZXMgZm9yIF8Id18Ib18Icl8IZCBhY2NvcmRpbmcgIHRvICB0aGUKKyAgICAgICAgICAgICAgXwhvXwhwXwh0XwhpXwhvXwhucywgIHdoaWNoICBtYXkgIGJlICBhbnkgIG9wdGlvbiAgYWNjZXB0ZWQgIGJ5IHRoZSBjCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUKKyAgICAgICAgICAgICAgYnVpbHRpbiB3aXRoIHRoZSBleGNlcHRpb24gb2YgLQgtcAhwIGFuZCAtCC1yCHIsIGFuZCB3cml0ZSAgdGhlICBtYXRjaGVzCisgICAgICAgICAgICAgIHRvICB0aGUgIHN0YW5kYXJkICBvdXRwdXQuICBXaGVuIHVzaW5nIHRoZSAtCC1GCEYgb3IgLQgtQwhDIG9wdGlvbnMsIHRoZQorICAgICAgICAgICAgICB2YXJpb3VzIHNoZWxsICB2YXJpYWJsZXMgIHNldCAgYnkgIHRoZSAgcHJvZ3JhbW1hYmxlICBjb21wbGV0aW9uCiAgICAgICAgICAgICAgIGZhY2lsaXRpZXMsIHdoaWxlIGF2YWlsYWJsZSwgd2lsbCBub3QgaGF2ZSB1c2VmdWwgdmFsdWVzLgogCi0gICAgICAgICAgICAgIFRoZSBtYXRjaGVzIHdpbGwgYmUgZ2VuZXJhdGVkIGluIHRoZSBzYW1lIHdheSAgYXMgIGlmICB0aGUgIHByby0KLSAgICAgICAgICAgICAgZ3JhbW1hYmxlICBjb21wbGV0aW9uICBjb2RlICBoYWQgIGdlbmVyYXRlZCB0aGVtIGRpcmVjdGx5IGZyb20gYQorICAgICAgICAgICAgICBUaGUgIG1hdGNoZXMgIHdpbGwgIGJlICBnZW5lcmF0ZWQgaW4gdGhlIHNhbWUgd2F5IGFzIGlmIHRoZSBwcm8tCisgICAgICAgICAgICAgIGdyYW1tYWJsZSBjb21wbGV0aW9uIGNvZGUgaGFkIGdlbmVyYXRlZCAgdGhlbSAgZGlyZWN0bHkgIGZyb20gIGEKICAgICAgICAgICAgICAgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIHdpdGggdGhlIHNhbWUgZmxhZ3MuICBJZiBfCHdfCG9fCHJfCGQgaXMgc3BlY2ktCiAgICAgICAgICAgICAgIGZpZWQsIG9ubHkgdGhvc2UgY29tcGxldGlvbnMgbWF0Y2hpbmcgXwh3XwhvXwhyXwhkIHdpbGwgYmUgZGlzcGxheWVkLgogCi0gICAgICAgICAgICAgIFRoZSAgcmV0dXJuICB2YWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCwKKyAgICAgICAgICAgICAgVGhlIHJldHVybiB2YWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiAgaXMgIHN1cHBsaWVkLAogICAgICAgICAgICAgICBvciBubyBtYXRjaGVzIHdlcmUgZ2VuZXJhdGVkLgogCi0gICAgICAgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlIFstCC1hCGFiCGJjCGNkCGRlCGVmCGZnCGdqCGprCGtzCHN1CHV2CHZdIFstCC1vCG8gXwhjXwhvXwhtXwhwXwgtXwhvXwhwXwh0XwhpXwhvXwhuXSBbLQgtRAhERQhFXSBbLQgtQQhBIF8IYV8IY18IdF8IaV8Ib18Ibl0gIFstCC1HCEcgIF8IZ18IbF8Ib18IYl8ILQorICAgICAgIGMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZSAgWy0ILWEIYWIIYmMIY2QIZGUIZWYIZmcIZ2oIamsIa3MIc3UIdXYIdl0gIFstCC1vCG8gXwhjXwhvXwhtXwhwXwgtXwhvXwhwXwh0XwhpXwhvXwhuXSBbLQgtRAhERQhFXSBbLQgtQQhBIF8IYV8IY18IdF8IaV8Ib18Ibl0gWy0ILUcIRyBfCGdfCGxfCG9fCGJfCC0KICAgICAgICBfCHBfCGFfCHRdIFstCC1XCFcgXwh3XwhvXwhyXwhkXwhsXwhpXwhzXwh0XSBbLQgtRghGIF8IZl8IdV8Ibl8IY18IdF8IaV8Ib18Ibl0gWy0ILUMIQyBfCGNfCG9fCG1fCG1fCGFfCG5fCGRdCiAgICAgICAgICAgICAgIFstCC1YCFggXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0XSBbLQgtUAhQIF8IcF8Icl8IZV8IZl8IaV8IeF0gWy0ILVMIUyBfCHNfCHVfCGZfCGZfCGlfCHhdIF8Ibl8IYV8IbV8IZSBbXwhuXwhhXwhtXwhlIF8ILl8ILl8ILl0KICAgICAgICBjCGNvCG9tCG1wCHBsCGxlCGV0CHRlCGUgLQgtcAhwcghyIFstCC1ECERFCEVdIFtfCG5fCGFfCG1fCGUgLi4uXQotICAgICAgICAgICAgICBTcGVjaWZ5IGhvdyBhcmd1bWVudHMgdG8gZWFjaCBfCG5fCGFfCG1fCGUgc2hvdWxkIGJlIGNvbXBsZXRlZC4gIElmICB0aGUKLSAgICAgICAgICAgICAgLQgtcAhwICBvcHRpb24gIGlzIHN1cHBsaWVkLCBvciBpZiBubyBvcHRpb25zIGFyZSBzdXBwbGllZCwgZXhpc3RpbmcKLSAgICAgICAgICAgICAgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBhcmUgcHJpbnRlZCBpbiBhIHdheSB0aGF0IGFsbG93cyAgdGhlbQorICAgICAgICAgICAgICBTcGVjaWZ5ICBob3cgYXJndW1lbnRzIHRvIGVhY2ggXwhuXwhhXwhtXwhlIHNob3VsZCBiZSBjb21wbGV0ZWQuICBJZiB0aGUKKyAgICAgICAgICAgICAgLQgtcAhwIG9wdGlvbiBpcyBzdXBwbGllZCwgb3IgaWYgbm8gb3B0aW9ucyBhcmUgIHN1cHBsaWVkLCAgZXhpc3RpbmcKKyAgICAgICAgICAgICAgY29tcGxldGlvbiAgc3BlY2lmaWNhdGlvbnMgYXJlIHByaW50ZWQgaW4gYSB3YXkgdGhhdCBhbGxvd3MgdGhlbQogICAgICAgICAgICAgICB0byBiZSByZXVzZWQgYXMgaW5wdXQuICBUaGUgLQgtcghyIG9wdGlvbiByZW1vdmVzIGEgY29tcGxldGlvbiBzcGVjLQotICAgICAgICAgICAgICBpZmljYXRpb24gZm9yIGVhY2ggXwhuXwhhXwhtXwhlLCBvciwgaWYgbm8gXwhuXwhhXwhtXwhlcyBhcmUgc3VwcGxpZWQsIGFsbCAgY29tLQorICAgICAgICAgICAgICBpZmljYXRpb24gIGZvciBlYWNoIF8Ibl8IYV8IbV8IZSwgb3IsIGlmIG5vIF8Ibl8IYV8IbV8IZXMgYXJlIHN1cHBsaWVkLCBhbGwgY29tLQogICAgICAgICAgICAgICBwbGV0aW9uICBzcGVjaWZpY2F0aW9ucy4gICBUaGUgIC0ILUQIRCAgb3B0aW9uICBpbmRpY2F0ZXMgIHRoYXQgIHRoZQotICAgICAgICAgICAgICByZW1haW5pbmcgb3B0aW9ucyBhbmQgYWN0aW9ucyBzaG91bGQgYXBwbHkgIHRvICB0aGUgIGBgZGVmYXVsdCcnCi0gICAgICAgICAgICAgIGNvbW1hbmQgIGNvbXBsZXRpb247ICB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGNvbW1hbmQKLSAgICAgICAgICAgICAgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24gaGFzIHByZXZpb3VzbHkgIGJlZW4gIGRlZmluZWQuICAgVGhlICAtCC1FCEUKLSAgICAgICAgICAgICAgb3B0aW9uICBpbmRpY2F0ZXMgIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zIGFuZCBhY3Rpb25zIHNob3VsZAotICAgICAgICAgICAgICBhcHBseSB0byAgYGBlbXB0eScnICBjb21tYW5kICBjb21wbGV0aW9uOyAgdGhhdCAgaXMsICBjb21wbGV0aW9uCisgICAgICAgICAgICAgIHJlbWFpbmluZyAgb3B0aW9ucyAgYW5kICBhY3Rpb25zIHNob3VsZCBhcHBseSB0byB0aGUgYGBkZWZhdWx0JycKKyAgICAgICAgICAgICAgY29tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiAgYSAgY29tbWFuZAorICAgICAgICAgICAgICBmb3IgIHdoaWNoICBubyAgY29tcGxldGlvbiAgaGFzIHByZXZpb3VzbHkgYmVlbiBkZWZpbmVkLiAgVGhlIC0ILUUIRQorICAgICAgICAgICAgICBvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zIGFuZCAgYWN0aW9ucyAgc2hvdWxkCisgICAgICAgICAgICAgIGFwcGx5ICB0byAgYGBlbXB0eScnICBjb21tYW5kICBjb21wbGV0aW9uOyAgdGhhdCAgaXMsIGNvbXBsZXRpb24KICAgICAgICAgICAgICAgYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZS4KIAotICAgICAgICAgICAgICBUaGUgIHByb2Nlc3MgIG9mICBhcHBseWluZyAgdGhlc2UgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyB3aGVuCi0gICAgICAgICAgICAgIHdvcmQgY29tcGxldGlvbiBpcyAgYXR0ZW1wdGVkICBpcyAgZGVzY3JpYmVkICBhYm92ZSAgdW5kZXIgIFAIUHIIcm8Iby0ILQorICAgICAgICAgICAgICBUaGUgcHJvY2VzcyBvZiBhcHBseWluZyAgdGhlc2UgIGNvbXBsZXRpb24gIHNwZWNpZmljYXRpb25zICB3aGVuCisgICAgICAgICAgICAgIHdvcmQgIGNvbXBsZXRpb24gIGlzICBhdHRlbXB0ZWQgIGlzICBkZXNjcmliZWQgIGFib3ZlIHVuZGVyIFAIUHIIcm8Iby0ILQogICAgICAgICAgICAgICBnCGdyCHJhCGFtCG1tCG1hCGFiCGJsCGxlCGUgQwhDbwhvbQhtcAhwbAhsZQhldAh0aQhpbwhvbghuLgogCi0gICAgICAgICAgICAgIE90aGVyICBvcHRpb25zLCAgaWYgc3BlY2lmaWVkLCBoYXZlIHRoZSBmb2xsb3dpbmcgbWVhbmluZ3MuICBUaGUKLSAgICAgICAgICAgICAgYXJndW1lbnRzIHRvIHRoZSAtCC1HCEcsIC0ILVcIVywgYW5kIC0ILVgIWCBvcHRpb25zIChhbmQsIGlmIG5lY2Vzc2FyeSwgIHRoZQotICAgICAgICAgICAgICAtCC1QCFAgIGFuZCAtCC1TCFMgb3B0aW9ucykgc2hvdWxkIGJlIHF1b3RlZCB0byBwcm90ZWN0IHRoZW0gZnJvbSBleHBhbi0KKyAgICAgICAgICAgICAgT3RoZXIgb3B0aW9ucywgaWYgc3BlY2lmaWVkLCBoYXZlIHRoZSBmb2xsb3dpbmcgIG1lYW5pbmdzLiAgIFRoZQorICAgICAgICAgICAgICBhcmd1bWVudHMgIHRvIHRoZSAtCC1HCEcsIC0ILVcIVywgYW5kIC0ILVgIWCBvcHRpb25zIChhbmQsIGlmIG5lY2Vzc2FyeSwgdGhlCisgICAgICAgICAgICAgIC0ILVAIUCBhbmQgLQgtUwhTIG9wdGlvbnMpIHNob3VsZCBiZSBxdW90ZWQgdG8gcHJvdGVjdCB0aGVtIGZyb20gIGV4cGFuLQogICAgICAgICAgICAgICBzaW9uIGJlZm9yZSB0aGUgYwhjbwhvbQhtcAhwbAhsZQhldAh0ZQhlIGJ1aWx0aW4gaXMgaW52b2tlZC4KICAgICAgICAgICAgICAgLQgtbwhvIF8IY18Ib18IbV8IcF8ILV8Ib18IcF8IdF8IaV8Ib18IbgotICAgICAgICAgICAgICAgICAgICAgIFRoZSBfCGNfCG9fCG1fCHBfCC1fCG9fCHBfCHRfCGlfCG9fCG4gY29udHJvbHMgc2V2ZXJhbCBhc3BlY3RzICBvZiAgdGhlICBjb21wLQotICAgICAgICAgICAgICAgICAgICAgIHNwZWMncyAgYmVoYXZpb3IgYmV5b25kIHRoZSBzaW1wbGUgZ2VuZXJhdGlvbiBvZiBjb21wbGUtCisgICAgICAgICAgICAgICAgICAgICAgVGhlICBfCGNfCG9fCG1fCHBfCC1fCG9fCHBfCHRfCGlfCG9fCG4gIGNvbnRyb2xzICBzZXZlcmFsIGFzcGVjdHMgb2YgdGhlIGNvbXAtCisgICAgICAgICAgICAgICAgICAgICAgc3BlYydzIGJlaGF2aW9yIGJleW9uZCB0aGUgc2ltcGxlIGdlbmVyYXRpb24gb2YgIGNvbXBsZS0KICAgICAgICAgICAgICAgICAgICAgICB0aW9ucy4gIF8IY18Ib18IbV8IcF8ILV8Ib18IcF8IdF8IaV8Ib18IbiBtYXkgYmUgb25lIG9mOgogICAgICAgICAgICAgICAgICAgICAgIGIIYmEIYXMIc2gIaGQIZGUIZWYIZmEIYXUIdWwIbHQIdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVyZm9ybSB0aGUgcmVzdCBvZiB0aGUgZGVmYXVsdCBiCGJhCGFzCHNoCGggY29tcGxldGlvbnMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8gbWF0Y2hlcy4KLSAgICAgICAgICAgICAgICAgICAgICBkCGRlCGVmCGZhCGF1CHVsCGx0CHQgVXNlICByZWFkbGluZSdzICBkZWZhdWx0ICBmaWxlbmFtZSBjb21wbGV0aW9uIGlmCisgICAgICAgICAgICAgICAgICAgICAgZAhkZQhlZghmYQhhdQh1bAhsdAh0IFVzZSByZWFkbGluZSdzIGRlZmF1bHQgIGZpbGVuYW1lICBjb21wbGV0aW9uICBpZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBubyBtYXRjaGVzLgogICAgICAgICAgICAgICAgICAgICAgIGQIZGkIaXIIcm4IbmEIYW0IbWUIZXMIcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVyZm9ybSBkaXJlY3RvcnkgbmFtZSBjb21wbGV0aW9uIGlmICB0aGUgIGNvbXAtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZXJmb3JtICBkaXJlY3RvcnkgIG5hbWUgY29tcGxldGlvbiBpZiB0aGUgY29tcC0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWMgZ2VuZXJhdGVzIG5vIG1hdGNoZXMuCiAgICAgICAgICAgICAgICAgICAgICAgZghmaQhpbAhsZQhlbghuYQhhbQhtZQhlcwhzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZWxsICByZWFkbGluZSB0aGF0IHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgZmlsZS0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVzLCBzbyBpdCBjYW4gcGVyZm9ybSAgYW55ICBmaWxlbmFtZS1zcGVjaWZpYwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc2luZyAgKGxpa2UgIGFkZGluZyAgYSAgc2xhc2ggdG8gZGlyZWN0b3J5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lcywgcXVvdGluZyBzcGVjaWFsIGNoYXJhY3RlcnMsIG9yICBzdXBwcmVzcy0KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZyAgdHJhaWxpbmcgc3BhY2VzKS4gIEludGVuZGVkIHRvIGJlIHVzZWQgd2l0aAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVsbCByZWFkbGluZSB0aGF0IHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgIGZpbGUtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lcywgIHNvICBpdCBjYW4gcGVyZm9ybSBhbnkgZmlsZW5hbWUtc3BlY2lmaWMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NpbmcgKGxpa2UgYWRkaW5nICBhICBzbGFzaCAgdG8gIGRpcmVjdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXMsICBxdW90aW5nIHNwZWNpYWwgY2hhcmFjdGVycywgb3Igc3VwcHJlc3MtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmcgdHJhaWxpbmcgc3BhY2VzKS4gIEludGVuZGVkIHRvIGJlIHVzZWQgIHdpdGgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoZWxsIGZ1bmN0aW9ucy4KLSAgICAgICAgICAgICAgICAgICAgICBuCG5vCG9zCHNwCHBhCGFjCGNlCGUgVGVsbCAgcmVhZGxpbmUgIG5vdCAgdG8gIGFwcGVuZCAgYSAgc3BhY2UgICAodGhlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0KSAgdG8gIHdvcmRzICBjb21wbGV0ZWQgYXQgdGhlIGVuZCBvZiB0aGUKKyAgICAgICAgICAgICAgICAgICAgICBuCG5vCG9zCHNwCHBhCGFjCGNlCGUgVGVsbCAgIHJlYWRsaW5lICBub3QgIHRvICBhcHBlbmQgIGEgIHNwYWNlICAodGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0KSB0byB3b3JkcyBjb21wbGV0ZWQgYXQgdGhlICBlbmQgIG9mICB0aGUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUuCiAgICAgICAgICAgICAgICAgICAgICAgcAhwbAhsdQh1cwhzZAhkaQhpcghycwhzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZnRlciBhbnkgbWF0Y2hlcyBkZWZpbmVkIGJ5ICB0aGUgIGNvbXBzcGVjICBhcmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZCwgICAgZGlyZWN0b3J5ICAgbmFtZSAgIGNvbXBsZXRpb24gICBpcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0ZW1wdGVkIGFuZCAgYW55ICBtYXRjaGVzICBhcmUgIGFkZGVkICB0byAgdGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZnRlciAgYW55ICBtYXRjaGVzICBkZWZpbmVkIGJ5IHRoZSBjb21wc3BlYyBhcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZCwgICBkaXJlY3RvcnkgICBuYW1lICAgY29tcGxldGlvbiAgICBpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0ZW1wdGVkICBhbmQgIGFueSAgbWF0Y2hlcyAgYXJlICBhZGRlZCAgdG8gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzIG9mIHRoZSBvdGhlciBhY3Rpb25zLgogICAgICAgICAgICAgICAtCC1BCEEgXwhhXwhjXwh0XwhpXwhvXwhuCi0gICAgICAgICAgICAgICAgICAgICAgVGhlICBfCGFfCGNfCHRfCGlfCG9fCG4gIG1heSAgYmUgIG9uZSBvZiB0aGUgZm9sbG93aW5nIHRvIGdlbmVyYXRlIGEKKyAgICAgICAgICAgICAgICAgICAgICBUaGUgXwhhXwhjXwh0XwhpXwhvXwhuIG1heSBiZSBvbmUgb2YgdGhlICBmb2xsb3dpbmcgIHRvICBnZW5lcmF0ZSAgYQogICAgICAgICAgICAgICAgICAgICAgIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnM6CiAgICAgICAgICAgICAgICAgICAgICAgYQhhbAhsaQhpYQhhcwhzICAgQWxpYXMgbmFtZXMuICBNYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgLQgtYQhhLgogICAgICAgICAgICAgICAgICAgICAgIGEIYXIIcnIIcmEIYXkIeXYIdmEIYXIIcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkgdmFyaWFibGUgbmFtZXMuCiAgICAgICAgICAgICAgICAgICAgICAgYghiaQhpbghuZAhkaQhpbghuZwhnIFIIUmUIZWEIYWQIZGwIbGkIaW4IbmUIZSBrZXkgYmluZGluZyBuYW1lcy4KLSAgICAgICAgICAgICAgICAgICAgICBiCGJ1CHVpCGlsCGx0CHRpCGluCG4gTmFtZXMgb2Ygc2hlbGwgYnVpbHRpbiBjb21tYW5kcy4gICBNYXkgIGFsc28gIGJlCisgICAgICAgICAgICAgICAgICAgICAgYghidQh1aQhpbAhsdAh0aQhpbghuIE5hbWVzICBvZiAgc2hlbGwgIGJ1aWx0aW4gY29tbWFuZHMuICBNYXkgYWxzbyBiZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkIGFzIC0ILWIIYi4KICAgICAgICAgICAgICAgICAgICAgICBjCGNvCG9tCG1tCG1hCGFuCG5kCGQgQ29tbWFuZCBuYW1lcy4gIE1heSBhbHNvIGJlIHNwZWNpZmllZCBhcyAtCC1jCGMuCiAgICAgICAgICAgICAgICAgICAgICAgZAhkaQhpcghyZQhlYwhjdAh0bwhvcghyeQh5CkBAIC0yNTUsNyArMjU4LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICBkCGRpCGlzCHNhCGFiCGJsCGxlCGVkCGQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWVzIG9mIGRpc2FibGVkIHNoZWxsIGJ1aWx0aW5zLgogICAgICAgICAgICAgICAgICAgICAgIGUIZW4IbmEIYWIIYmwIbGUIZWQIZCBOYW1lcyBvZiBlbmFibGVkIHNoZWxsIGJ1aWx0aW5zLgotICAgICAgICAgICAgICAgICAgICAgIGUIZXgIeHAIcG8Ib3IIcnQIdCAgTmFtZXMgIG9mIGV4cG9ydGVkIHNoZWxsIHZhcmlhYmxlcy4gIE1heSBhbHNvIGJlCisgICAgICAgICAgICAgICAgICAgICAgZQhleAh4cAhwbwhvcghydAh0ICBOYW1lcyBvZiBleHBvcnRlZCBzaGVsbCB2YXJpYWJsZXMuICBNYXkgYWxzbyAgYmUKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllZCBhcyAtCC1lCGUuCiAgICAgICAgICAgICAgICAgICAgICAgZghmaQhpbAhsZQhlICAgIEZpbGUgbmFtZXMuICBNYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgLQgtZghmLgogICAgICAgICAgICAgICAgICAgICAgIGYIZnUIdW4IbmMIY3QIdGkIaW8Ib24IbgpAQCAtMjY0LDE3ICsyNjcsMTcgQEAKICAgICAgICAgICAgICAgICAgICAgICBoCGhlCGVsCGxwCHB0CHRvCG9wCHBpCGljCGMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlbHAgdG9waWNzIGFzIGFjY2VwdGVkIGJ5IHRoZSBoCGhlCGVsCGxwCHAgYnVpbHRpbi4KICAgICAgICAgICAgICAgICAgICAgICBoCGhvCG9zCHN0CHRuCG5hCGFtCG1lCGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhvc3RuYW1lcywgYXMgdGFrZW4gZnJvbSB0aGUgZmlsZSAgc3BlY2lmaWVkICBieQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG9zdG5hbWVzLCAgYXMgIHRha2VuIGZyb20gdGhlIGZpbGUgc3BlY2lmaWVkIGJ5CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgSAhITwhPUwhTVAhURghGSQhJTAhMRQhFIHNoZWxsIHZhcmlhYmxlLgotICAgICAgICAgICAgICAgICAgICAgIGoIam8Ib2IIYiAgICAgSm9iICBuYW1lcywgIGlmIGpvYiBjb250cm9sIGlzIGFjdGl2ZS4gIE1heSBhbHNvCisgICAgICAgICAgICAgICAgICAgICAgaghqbwhvYghiICAgICBKb2IgbmFtZXMsIGlmIGpvYiBjb250cm9sIGlzIGFjdGl2ZS4gICBNYXkgIGFsc28KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlIHNwZWNpZmllZCBhcyAtCC1qCGouCi0gICAgICAgICAgICAgICAgICAgICAgawhrZQhleQh5dwh3bwhvcghyZAhkIFNoZWxsIHJlc2VydmVkIHdvcmRzLiAgTWF5IGFsc28gYmUgc3BlY2lmaWVkICBhcworICAgICAgICAgICAgICAgICAgICAgIGsIa2UIZXkIeXcId28Ib3IIcmQIZCBTaGVsbCAgcmVzZXJ2ZWQgd29yZHMuICBNYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0ILWsIay4KICAgICAgICAgICAgICAgICAgICAgICByCHJ1CHVuCG5uCG5pCGluCG5nCGcgTmFtZXMgb2YgcnVubmluZyBqb2JzLCBpZiBqb2IgY29udHJvbCBpcyBhY3RpdmUuCiAgICAgICAgICAgICAgICAgICAgICAgcwhzZQhlcghydgh2aQhpYwhjZQhlIFNlcnZpY2UgbmFtZXMuICBNYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgLQgtcwhzLgotICAgICAgICAgICAgICAgICAgICAgIHMIc2UIZXQIdG8Ib3AIcHQIdCAgVmFsaWQgYXJndW1lbnRzIGZvciB0aGUgLQgtbwhvICBvcHRpb24gIHRvICB0aGUgIHMIc2UIZXQIdAorICAgICAgICAgICAgICAgICAgICAgIHMIc2UIZXQIdG8Ib3AIcHQIdCAgVmFsaWQgIGFyZ3VtZW50cyAgZm9yICB0aGUgIC0ILW8IbyBvcHRpb24gdG8gdGhlIHMIc2UIZXQIdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbHRpbi4KLSAgICAgICAgICAgICAgICAgICAgICBzCHNoCGhvCG9wCHB0CHQgICBTaGVsbCAgb3B0aW9uICBuYW1lcyAgYXMgIGFjY2VwdGVkICBieSB0aGUgcwhzaAhobwhvcAhwdAh0CisgICAgICAgICAgICAgICAgICAgICAgcwhzaAhobwhvcAhwdAh0ICAgU2hlbGwgb3B0aW9uIG5hbWVzICBhcyAgYWNjZXB0ZWQgIGJ5ICB0aGUgIHMIc2gIaG8Ib3AIcHQIdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVpbHRpbi4KICAgICAgICAgICAgICAgICAgICAgICBzCHNpCGlnCGduCG5hCGFsCGwgIFNpZ25hbCBuYW1lcy4KICAgICAgICAgICAgICAgICAgICAgICBzCHN0CHRvCG9wCHBwCHBlCGVkCGQgTmFtZXMgb2Ygc3RvcHBlZCBqb2JzLCBpZiBqb2IgY29udHJvbCBpcyBhY3RpdmUuCkBAIC0yODIsMTUgKzI4NSw2IEBACiAgICAgICAgICAgICAgICAgICAgICAgdgh2YQhhcghyaQhpYQhhYghibAhsZQhlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lcyBvZiBhbGwgc2hlbGwgdmFyaWFibGVzLiAgTWF5IGFsc28gYmUgc3BlYy0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmaWVkIGFzIC0ILXYIdi4KLSAgICAgICAgICAgICAgLQgtRwhHIF8IZ18IbF8Ib18IYl8IcF8IYV8IdAotICAgICAgICAgICAgICAgICAgICAgIFRoZSBwYXRobmFtZSBleHBhbnNpb24gcGF0dGVybiBfCGdfCGxfCG9fCGJfCHBfCGFfCHQgIGlzICBleHBhbmRlZCAgdG8KLSAgICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZSB0aGUgcG9zc2libGUgY29tcGxldGlvbnMuCi0gICAgICAgICAgICAgIC0ILVcIVyBfCHdfCG9fCHJfCGRfCGxfCGlfCHNfCHQKLSAgICAgICAgICAgICAgICAgICAgICBUaGUgIF8Id18Ib18Icl8IZF8IbF8IaV8Ic18IdCAgaXMgIHNwbGl0IHVzaW5nIHRoZSBjaGFyYWN0ZXJzIGluIHRoZSBJCElGCEZTCFMKLSAgICAgICAgICAgICAgICAgICAgICBzcGVjaWFsIHZhcmlhYmxlIGFzIGRlbGltaXRlcnMsIGFuZCBlYWNoIHJlc3VsdGFudCAgd29yZAotICAgICAgICAgICAgICAgICAgICAgIGlzICBleHBhbmRlZC4gICBUaGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIHRoZSBtZW1iZXJzCi0gICAgICAgICAgICAgICAgICAgICAgb2YgdGhlIHJlc3VsdGFudCBsaXN0IHdoaWNoIG1hdGNoIHRoZSAgd29yZCAgYmVpbmcgIGNvbS0KLSAgICAgICAgICAgICAgICAgICAgICBwbGV0ZWQuCiAgICAgICAgICAgICAgIC0ILUMIQyBfCGNfCG9fCG1fCG1fCGFfCG5fCGQKICAgICAgICAgICAgICAgICAgICAgICBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgIGlzICBleGVjdXRlZCBpbiBhIHN1YnNoZWxsIGVudmlyb25tZW50LCBhbmQgaXRzCiAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0IGlzIHVzZWQgYXMgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zLgpAQCAtMjk5LDY5ICsyOTMsODEgQEAKICAgICAgICAgICAgICAgICAgICAgICBzaGVsbCAgZW52aXJvbm1lbnQuICBXaGVuIGl0IGZpbmlzaGVzLCB0aGUgcG9zc2libGUgY29tLQogICAgICAgICAgICAgICAgICAgICAgIHBsZXRpb25zIGFyZSByZXRyaWV2ZWQgZnJvbSB0aGUgdmFsdWUgb2YgIHRoZSAgQwhDTwhPTQhNUAhQUghSRQhFUAhQTAhMWQhZCiAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkgdmFyaWFibGUuCi0gICAgICAgICAgICAgIC0ILVgIWCBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQKLSAgICAgICAgICAgICAgICAgICAgICBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQgIGlzICBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgcGF0aG5hbWUgZXhwYW5zaW9uLgotICAgICAgICAgICAgICAgICAgICAgIEl0IGlzIGFwcGxpZWQgdG8gdGhlIGxpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMgZ2VuZXItCi0gICAgICAgICAgICAgICAgICAgICAgYXRlZCAgYnkgIHRoZSAgcHJlY2VkaW5nIG9wdGlvbnMgYW5kIGFyZ3VtZW50cywgYW5kIGVhY2gKLSAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uIG1hdGNoaW5nIF8IZl8IaV8IbF8IdF8IZV8Icl8IcF8IYV8IdCBpcyByZW1vdmVkIGZyb20gdGhlICBsaXN0LgotICAgICAgICAgICAgICAgICAgICAgIEEgIGxlYWRpbmcgICEIISAgaW4gXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0IG5lZ2F0ZXMgdGhlIHBhdHRlcm47IGluIHRoaXMKLSAgICAgICAgICAgICAgICAgICAgICBjYXNlLCBhbnkgY29tcGxldGlvbiBub3QgbWF0Y2hpbmcgXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0IGlzICByZW1vdmVkLgorICAgICAgICAgICAgICAtCC1HCEcgXwhnXwhsXwhvXwhiXwhwXwhhXwh0CisgICAgICAgICAgICAgICAgICAgICAgVGhlICBwYXRobmFtZSAgZXhwYW5zaW9uICBwYXR0ZXJuIF8IZ18IbF8Ib18IYl8IcF8IYV8IdCBpcyBleHBhbmRlZCB0bworICAgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucy4KICAgICAgICAgICAgICAgLQgtUAhQIF8IcF8Icl8IZV8IZl8IaV8IeAotICAgICAgICAgICAgICAgICAgICAgIF8IcF8Icl8IZV8IZl8IaV8IeCAgaXMgIGFkZGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBwb3NzaWJsZSBjb20tCisgICAgICAgICAgICAgICAgICAgICAgXwhwXwhyXwhlXwhmXwhpXwh4IGlzIGFkZGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCAgcG9zc2libGUgIGNvbS0KICAgICAgICAgICAgICAgICAgICAgICBwbGV0aW9uIGFmdGVyIGFsbCBvdGhlciBvcHRpb25zIGhhdmUgYmVlbiBhcHBsaWVkLgogICAgICAgICAgICAgICAtCC1TCFMgXwhzXwh1XwhmXwhmXwhpXwh4CiAgICAgICAgICAgICAgICAgICAgICAgXwhzXwh1XwhmXwhmXwhpXwh4IGlzIGFwcGVuZGVkIHRvIGVhY2ggcG9zc2libGUgY29tcGxldGlvbiBhZnRlciBhbGwKICAgICAgICAgICAgICAgICAgICAgICBvdGhlciBvcHRpb25zIGhhdmUgYmVlbiBhcHBsaWVkLgorICAgICAgICAgICAgICAtCC1XCFcgXwh3XwhvXwhyXwhkXwhsXwhpXwhzXwh0CisgICAgICAgICAgICAgICAgICAgICAgVGhlIF8Id18Ib18Icl8IZF8IbF8IaV8Ic18IdCBpcyBzcGxpdCB1c2luZyB0aGUgY2hhcmFjdGVycyAgaW4gIHRoZSAgSQhJRghGUwhTCisgICAgICAgICAgICAgICAgICAgICAgc3BlY2lhbCAgdmFyaWFibGUgYXMgZGVsaW1pdGVycywgYW5kIGVhY2ggcmVzdWx0YW50IHdvcmQKKyAgICAgICAgICAgICAgICAgICAgICBpcyBleHBhbmRlZC4gIFRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBhcmUgIHRoZSAgbWVtYmVycworICAgICAgICAgICAgICAgICAgICAgIG9mICB0aGUgIHJlc3VsdGFudCAgbGlzdCB3aGljaCBtYXRjaCB0aGUgd29yZCBiZWluZyBjb20tCisgICAgICAgICAgICAgICAgICAgICAgcGxldGVkLgorICAgICAgICAgICAgICAtCC1YCFggXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0CisgICAgICAgICAgICAgICAgICAgICAgXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0IGlzIGEgcGF0dGVybiBhcyB1c2VkIGZvciAgcGF0aG5hbWUgIGV4cGFuc2lvbi4KKyAgICAgICAgICAgICAgICAgICAgICBJdCBpcyBhcHBsaWVkIHRvIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIGdlbmVyLQorICAgICAgICAgICAgICAgICAgICAgIGF0ZWQgYnkgdGhlIHByZWNlZGluZyBvcHRpb25zIGFuZCAgYXJndW1lbnRzLCAgYW5kICBlYWNoCisgICAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbiAgbWF0Y2hpbmcgXwhmXwhpXwhsXwh0XwhlXwhyXwhwXwhhXwh0IGlzIHJlbW92ZWQgZnJvbSB0aGUgbGlzdC4KKyAgICAgICAgICAgICAgICAgICAgICBBIGxlYWRpbmcgIQghIGluIF8IZl8IaV8IbF8IdF8IZV8Icl8IcF8IYV8IdCBuZWdhdGVzIHRoZSAgcGF0dGVybjsgIGluICB0aGlzCisgICAgICAgICAgICAgICAgICAgICAgY2FzZSwgIGFueSBjb21wbGV0aW9uIG5vdCBtYXRjaGluZyBfCGZfCGlfCGxfCHRfCGVfCHJfCHBfCGFfCHQgaXMgcmVtb3ZlZC4KIAotICAgICAgICAgICAgICBUaGUgIHJldHVybiAgdmFsdWUgaXMgdHJ1ZSB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQsCi0gICAgICAgICAgICAgIGFuIG9wdGlvbiBvdGhlciB0aGFuIC0ILXAIcCBvciAtCC1yCHIgaXMgc3VwcGxpZWQgd2l0aG91dCBhICBfCG5fCGFfCG1fCGUgIGFyZ3UtCi0gICAgICAgICAgICAgIG1lbnQsICBhbiAgYXR0ZW1wdCAgaXMgbWFkZSB0byByZW1vdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24KKyAgICAgICAgICAgICAgVGhlIHJldHVybiB2YWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiAgaXMgIHN1cHBsaWVkLAorICAgICAgICAgICAgICBhbiAgb3B0aW9uICBvdGhlciB0aGFuIC0ILXAIcCBvciAtCC1yCHIgaXMgc3VwcGxpZWQgd2l0aG91dCBhIF8Ibl8IYV8IbV8IZSBhcmd1LQorICAgICAgICAgICAgICBtZW50LCBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gcmVtb3ZlICBhICBjb21wbGV0aW9uICBzcGVjaWZpY2F0aW9uCiAgICAgICAgICAgICAgIGZvciBhIF8Ibl8IYV8IbV8IZSBmb3Igd2hpY2ggbm8gc3BlY2lmaWNhdGlvbiBleGlzdHMsIG9yIGFuIGVycm9yIG9jY3VycwogICAgICAgICAgICAgICBhZGRpbmcgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24uCiAKICAgICAgICBjCGNvCG9tCG1wCHBvCG9wCHB0CHQgWy0ILW8IbyBfCG9fCHBfCHRfCGlfCG9fCG5dIFstCC1ECERFCEVdIFsrCCtvCG8gXwhvXwhwXwh0XwhpXwhvXwhuXSBbXwhuXwhhXwhtXwhlXQogICAgICAgICAgICAgICBNb2RpZnkgIGNvbXBsZXRpb24gIG9wdGlvbnMgIGZvciAgZWFjaCAgXwhuXwhhXwhtXwhlICBhY2NvcmRpbmcgIHRvICB0aGUKLSAgICAgICAgICAgICAgXwhvXwhwXwh0XwhpXwhvXwhucywgb3IgZm9yIHRoZSBjdXJyZW50bHktZXhlY3V0aW9uIGNvbXBsZXRpb24gaWYgIG5vICBfCG5fCGFfCG1fCGVzCi0gICAgICAgICAgICAgIGFyZSAgc3VwcGxpZWQuICAgSWYgbm8gXwhvXwhwXwh0XwhpXwhvXwhucyBhcmUgZ2l2ZW4sIGRpc3BsYXkgdGhlIGNvbXBsZXRpb24KLSAgICAgICAgICAgICAgb3B0aW9ucyBmb3IgZWFjaCBfCG5fCGFfCG1fCGUgb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbi4gICBUaGUgIHBvc3NpYmxlCi0gICAgICAgICAgICAgIHZhbHVlcyAgb2YgIF8Ib18IcF8IdF8IaV8Ib18IbiAgYXJlICB0aG9zZSAgdmFsaWQgIGZvciAgdGhlIGMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZSBidWlsdGluCi0gICAgICAgICAgICAgIGRlc2NyaWJlZCBhYm92ZS4gIFRoZSAtCC1ECEQgb3B0aW9uICBpbmRpY2F0ZXMgIHRoYXQgIHRoZSAgcmVtYWluaW5nCisgICAgICAgICAgICAgIF8Ib18IcF8IdF8IaV8Ib18IbnMsICBvciAgZm9yIHRoZSBjdXJyZW50bHktZXhlY3V0aW5nIGNvbXBsZXRpb24gaWYgbm8gXwhuXwhhXwhtXwhlcworICAgICAgICAgICAgICBhcmUgc3VwcGxpZWQuICBJZiBubyBfCG9fCHBfCHRfCGlfCG9fCG5zIGFyZSBnaXZlbiwgZGlzcGxheSAgdGhlICBjb21wbGV0aW9uCisgICAgICAgICAgICAgIG9wdGlvbnMgIGZvciAgZWFjaCBfCG5fCGFfCG1fCGUgb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbi4gIFRoZSBwb3NzaWJsZQorICAgICAgICAgICAgICB2YWx1ZXMgb2YgXwhvXwhwXwh0XwhpXwhvXwhuICBhcmUgIHRob3NlICB2YWxpZCAgZm9yICB0aGUgIGMIY28Ib20IbXAIcGwIbGUIZXQIdGUIZSAgYnVpbHRpbgorICAgICAgICAgICAgICBkZXNjcmliZWQgIGFib3ZlLiAgIFRoZSAgLQgtRAhEICBvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZwogICAgICAgICAgICAgICBvcHRpb25zIHNob3VsZCBhcHBseSB0byB0aGUgYGBkZWZhdWx0JycgY29tbWFuZCBjb21wbGV0aW9uOyB0aGF0Ci0gICAgICAgICAgICAgIGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGNvbW1hbmQgZm9yICB3aGljaCAgbm8gIGNvbXBsZXRpb24KLSAgICAgICAgICAgICAgaGFzICBwcmV2aW91c2x5ICBiZWVuIGRlZmluZWQuICBUaGUgLQgtRQhFIG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUKLSAgICAgICAgICAgICAgcmVtYWluaW5nIG9wdGlvbnMgc2hvdWxkIGFwcGx5IHRvIGBgZW1wdHknJyBjb21tYW5kICBjb21wbGV0aW9uOworICAgICAgICAgICAgICBpcywgIGNvbXBsZXRpb24gIGF0dGVtcHRlZCAgb24gYSBjb21tYW5kIGZvciB3aGljaCBubyBjb21wbGV0aW9uCisgICAgICAgICAgICAgIGhhcyBwcmV2aW91c2x5IGJlZW4gZGVmaW5lZC4gIFRoZSAtCC1FCEUgb3B0aW9uIGluZGljYXRlcyAgdGhhdCAgdGhlCisgICAgICAgICAgICAgIHJlbWFpbmluZyAgb3B0aW9ucyBzaG91bGQgYXBwbHkgdG8gYGBlbXB0eScnIGNvbW1hbmQgY29tcGxldGlvbjsKICAgICAgICAgICAgICAgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lLgogCi0gICAgICAgVGhlICByZXR1cm4gIHZhbHVlICBpcyAgdHJ1ZSAgdW5sZXNzICBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4KLSAgICAgICBhdHRlbXB0IGlzIG1hZGUgdG8gbW9kaWZ5IHRoZSBvcHRpb25zIGZvciBhIF8Ibl8IYV8IbV8IZSBmb3Igd2hpY2ggIG5vICBjb21wbGUtCi0gICAgICAgdGlvbiBzcGVjaWZpY2F0aW9uIGV4aXN0cywgb3IgYW4gb3V0cHV0IGVycm9yIG9jY3Vycy4KKyAgICAgICAgICAgICAgVGhlIHJldHVybiB2YWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiAgaXMgIHN1cHBsaWVkLAorICAgICAgICAgICAgICBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gbW9kaWZ5IHRoZSBvcHRpb25zIGZvciBhIF8Ibl8IYV8IbV8IZSBmb3Igd2hpY2ggbm8KKyAgICAgICAgICAgICAgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGV4aXN0cywgb3IgYW4gb3V0cHV0IGVycm9yIG9jY3Vycy4KIAogICAgICAgIGMIY28Ib24IbnQIdGkIaW4IbnUIdWUIZSBbXwhuXQogICAgICAgICAgICAgICBSZXN1bWUgdGhlIG5leHQgaXRlcmF0aW9uIG9mIHRoZSBlbmNsb3NpbmcgZghmbwhvcghyLCB3CHdoCGhpCGlsCGxlCGUsIHUIdW4IbnQIdGkIaWwIbCwgb3IKLSAgICAgICAgICAgICAgcwhzZQhlbAhsZQhlYwhjdAh0IGxvb3AuICBJZiBfCG4gaXMgc3BlY2lmaWVkLCByZXN1bWUgIGF0ICB0aGUgIF8IbnRoICBlbmNsb3NpbmcKLSAgICAgICAgICAgICAgbG9vcC4gICBfCG4gIG11c3QgIGJlICA+PSAgMS4gICBJZiBfCG4gaXMgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YKLSAgICAgICAgICAgICAgZW5jbG9zaW5nIGxvb3BzLCB0aGUgIGxhc3QgIGVuY2xvc2luZyAgbG9vcCAgKHRoZSAgYGB0b3AtbGV2ZWwnJworICAgICAgICAgICAgICBzCHNlCGVsCGxlCGVjCGN0CHQgIGxvb3AuICAgSWYgIF8IbiAgaXMgc3BlY2lmaWVkLCByZXN1bWUgYXQgdGhlIF8IbnRoIGVuY2xvc2luZworICAgICAgICAgICAgICBsb29wLiAgXwhuIG11c3QgYmUgPj0gMS4gIElmIF8IbiAgaXMgIGdyZWF0ZXIgIHRoYW4gIHRoZSAgbnVtYmVyICBvZgorICAgICAgICAgICAgICBlbmNsb3NpbmcgIGxvb3BzLCAgdGhlICBsYXN0ICBlbmNsb3NpbmcgIGxvb3AgKHRoZSBgYHRvcC1sZXZlbCcnCiAgICAgICAgICAgICAgIGxvb3ApIGlzIHJlc3VtZWQuICBUaGUgcmV0dXJuIHZhbHVlIGlzIDAgdW5sZXNzIF8IbiBpcyBub3QgZ3JlYXRlcgogICAgICAgICAgICAgICB0aGFuIG9yIGVxdWFsIHRvIDEuCiAKLSAgICAgICBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgWy0ILWEIYUEIQWYIZkYIRmkIaWwIbHIIcnQIdHUIdXgIeF0gWy0ILXAIcF0gW18Ibl8IYV8IbV8IZVs9Xwh2XwhhXwhsXwh1XwhlXSAuLi5dCi0gICAgICAgdAh0eQh5cAhwZQhlcwhzZQhldAh0IFstCC1hCGFBCEFmCGZGCEZpCGlsCGxyCHJ0CHR1CHV4CHhdIFstCC1wCHBdIFtfCG5fCGFfCG1fCGVbPV8Idl8IYV8IbF8IdV8IZV0gLi4uXQotICAgICAgICAgICAgICBEZWNsYXJlIHZhcmlhYmxlcyBhbmQvb3IgZ2l2ZSB0aGVtIGF0dHJpYnV0ZXMuICBJZiBubyBfCG5fCGFfCG1fCGVzICBhcmUKLSAgICAgICAgICAgICAgZ2l2ZW4gIHRoZW4gZGlzcGxheSB0aGUgdmFsdWVzIG9mIHZhcmlhYmxlcy4gIFRoZSAtCC1wCHAgb3B0aW9uIHdpbGwKKyAgICAgICBkCGRlCGVjCGNsCGxhCGFyCHJlCGUgWy0ILWEIYUEIQWYIZkYIRmcIZ2kIaWwIbHIIcnQIdHUIdXgIeF0gWy0ILXAIcF0gW18Ibl8IYV8IbV8IZVs9Xwh2XwhhXwhsXwh1XwhlXSAuLi5dCisgICAgICAgdAh0eQh5cAhwZQhlcwhzZQhldAh0IFstCC1hCGFBCEFmCGZGCEZnCGdpCGlsCGxyCHJ0CHR1CHV4CHhdIFstCC1wCHBdIFtfCG5fCGFfCG1fCGVbPV8Idl8IYV8IbF8IdV8IZV0gLi4uXQorICAgICAgICAgICAgICBEZWNsYXJlICB2YXJpYWJsZXMgYW5kL29yIGdpdmUgdGhlbSBhdHRyaWJ1dGVzLiAgSWYgbm8gXwhuXwhhXwhtXwhlcyBhcmUKKyAgICAgICAgICAgICAgZ2l2ZW4gdGhlbiBkaXNwbGF5IHRoZSB2YWx1ZXMgb2YgdmFyaWFibGVzLiAgVGhlIC0ILXAIcCBvcHRpb24gIHdpbGwKICAgICAgICAgICAgICAgZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWVzIG9mIGVhY2ggXwhuXwhhXwhtXwhlLiAgV2hlbiAtCC1wCHAgaXMgdXNlZAogICAgICAgICAgICAgICB3aXRoIF8Ibl8IYV8IbV8IZSBhcmd1bWVudHMsIGFkZGl0aW9uYWwgb3B0aW9ucyBhcmUgaWdub3JlZC4gIFdoZW4gLQgtcAhwIGlzCi0gICAgICAgICAgICAgIHN1cHBsaWVkIHdpdGhvdXQgXwhuXwhhXwhtXwhlIGFyZ3VtZW50cywgaXQgd2lsbCBkaXNwbGF5IHRoZSAgYXR0cmlidXRlcwotICAgICAgICAgICAgICBhbmQgIHZhbHVlcyAgb2YgYWxsIHZhcmlhYmxlcyBoYXZpbmcgdGhlIGF0dHJpYnV0ZXMgc3BlY2lmaWVkIGJ5Ci0gICAgICAgICAgICAgIHRoZSBhZGRpdGlvbmFsIG9wdGlvbnMuICBJZiBubyBvdGhlciBvcHRpb25zIGFyZSAgc3VwcGxpZWQgIHdpdGgKLSAgICAgICAgICAgICAgLQgtcAhwLCAgZAhkZQhlYwhjbAhsYQhhcghyZQhlIHdpbGwgZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWVzIG9mIGFsbCBzaGVsbAotICAgICAgICAgICAgICB2YXJpYWJsZXMuICBUaGUgLQgtZghmIG9wdGlvbiB3aWxsIHJlc3RyaWN0ICB0aGUgIGRpc3BsYXkgIHRvICBzaGVsbAorICAgICAgICAgICAgICBzdXBwbGllZCAgd2l0aG91dCBfCG5fCGFfCG1fCGUgYXJndW1lbnRzLCBpdCB3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMKKyAgICAgICAgICAgICAgYW5kIHZhbHVlcyBvZiBhbGwgdmFyaWFibGVzIGhhdmluZyB0aGUgYXR0cmlidXRlcyAgc3BlY2lmaWVkICBieQorICAgICAgICAgICAgICB0aGUgIGFkZGl0aW9uYWwgIG9wdGlvbnMuICBJZiBubyBvdGhlciBvcHRpb25zIGFyZSBzdXBwbGllZCB3aXRoCisgICAgICAgICAgICAgIC0ILXAIcCwgZAhkZQhlYwhjbAhsYQhhcghyZQhlIHdpbGwgZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWVzIG9mIGFsbCAgc2hlbGwKKyAgICAgICAgICAgICAgdmFyaWFibGVzLiAgIFRoZSAgLQgtZghmICBvcHRpb24gIHdpbGwgcmVzdHJpY3QgdGhlIGRpc3BsYXkgdG8gc2hlbGwKICAgICAgICAgICAgICAgZnVuY3Rpb25zLiAgVGhlIC0ILUYIRiBvcHRpb24gaW5oaWJpdHMgdGhlIGRpc3BsYXkgb2YgZnVuY3Rpb24gZGVmaS0KLSAgICAgICAgICAgICAgbml0aW9uczsgb25seSB0aGUgZnVuY3Rpb24gbmFtZSBhbmQgYXR0cmlidXRlcyBhcmUgcHJpbnRlZC4gICBJZgotICAgICAgICAgICAgICB0aGUgIGUIZXgIeHQIdGQIZGUIZWIIYnUIdWcIZyAgc2hlbGwgIG9wdGlvbiAgaXMgZW5hYmxlZCB1c2luZyBzCHNoCGhvCG9wCHB0CHQsIHRoZSBzb3VyY2UKKyAgICAgICAgICAgICAgbml0aW9uczsgIG9ubHkgdGhlIGZ1bmN0aW9uIG5hbWUgYW5kIGF0dHJpYnV0ZXMgYXJlIHByaW50ZWQuICBJZgorICAgICAgICAgICAgICB0aGUgZQhleAh4dAh0ZAhkZQhlYghidQh1ZwhnIHNoZWxsIG9wdGlvbiBpcyBlbmFibGVkICB1c2luZyAgcwhzaAhobwhvcAhwdAh0LCAgdGhlICBzb3VyY2UKICAgICAgICAgICAgICAgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlciB3aGVyZSB0aGUgZnVuY3Rpb24gaXMgZGVmaW5lZCBhcmUgZGlzLQotICAgICAgICAgICAgICBwbGF5ZWQgIGFzICB3ZWxsLiAgIFRoZSAgLQgtRghGICBvcHRpb24gIGltcGxpZXMgIC0ILWYIZi4gIFRoZSBmb2xsb3dpbmcKLSAgICAgICAgICAgICAgb3B0aW9ucyBjYW4gYmUgdXNlZCB0byByZXN0cmljdCBvdXRwdXQgIHRvICB2YXJpYWJsZXMgIHdpdGggIHRoZQotICAgICAgICAgICAgICBzcGVjaWZpZWQgYXR0cmlidXRlIG9yIHRvIGdpdmUgdmFyaWFibGVzIGF0dHJpYnV0ZXM6CisgICAgICAgICAgICAgIHBsYXllZCBhcyB3ZWxsLiAgVGhlIC0ILUYIRiBvcHRpb24gaW1wbGllcyAtCC1mCGYuICBUaGUgLQgtZwhnIG9wdGlvbiBmb3JjZXMKKyAgICAgICAgICAgICAgdmFyaWFibGVzICB0byAgYmUgIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYXQgdGhlIGdsb2JhbCBzY29wZSwgZXZlbgorICAgICAgICAgICAgICB3aGVuIGQIZGUIZWMIY2wIbGEIYXIIcmUIZSBpcyBleGVjdXRlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uLiAgSXQgaXMgaWdub3JlZCAgaW4KKyAgICAgICAgICAgICAgYWxsICBvdGhlciBjYXNlcy4gIFRoZSBmb2xsb3dpbmcgb3B0aW9ucyBjYW4gYmUgdXNlZCB0byByZXN0cmljdAorICAgICAgICAgICAgICBvdXRwdXQgdG8gdmFyaWFibGVzIHdpdGggdGhlICBzcGVjaWZpZWQgIGF0dHJpYnV0ZSAgb3IgIHRvICBnaXZlCisgICAgICAgICAgICAgIHZhcmlhYmxlcyBhdHRyaWJ1dGVzOgogICAgICAgICAgICAgICAtCC1hCGEgICAgIEVhY2ggIF8Ibl8IYV8IbV8IZSAgaXMgIGFuICBpbmRleGVkICBhcnJheSAgdmFyaWFibGUgIChzZWUgQQhBcghycghyYQhheQh5cwhzCiAgICAgICAgICAgICAgICAgICAgICBhYm92ZSkuCiAgICAgICAgICAgICAgIC0ILUEIQSAgICAgRWFjaCBfCG5fCGFfCG1fCGUgaXMgYW4gYXNzb2NpYXRpdmUgYXJyYXkgIHZhcmlhYmxlICAoc2VlICBBCEFyCHJyCHJhCGF5CHlzCHMKQEAgLTM4OCwyMCArMzk0LDIwIEBACiAgICAgICAgICAgICAgIFVzaW5nIGArJyBpbnN0ZWFkIG9mIGAtJyB0dXJucyBvZmYgdGhlIGF0dHJpYnV0ZSAgaW5zdGVhZCwgIHdpdGgKICAgICAgICAgICAgICAgdGhlIGV4Y2VwdGlvbnMgdGhhdCArCCthCGEgbWF5IG5vdCBiZSB1c2VkIHRvIGRlc3Ryb3kgYW4gYXJyYXkgdmFyaS0KICAgICAgICAgICAgICAgYWJsZSBhbmQgKwgrcghyIHdpbGwgbm90IHJlbW92ZSB0aGUgcmVhZG9ubHkgYXR0cmlidXRlLiAgIFdoZW4gIHVzZWQKLSAgICAgICAgICAgICAgaW4gYSBmdW5jdGlvbiwgbWFrZXMgZWFjaCBfCG5fCGFfCG1fCGUgbG9jYWwsIGFzIHdpdGggdGhlIGwIbG8Ib2MIY2EIYWwIbCBjb21tYW5kLgotICAgICAgICAgICAgICBJZiBhIHZhcmlhYmxlIG5hbWUgaXMgZm9sbG93ZWQgYnkgPV8Idl8IYV8IbF8IdV8IZSwgdGhlIHZhbHVlIG9mIHRoZSB2YXJpLQotICAgICAgICAgICAgICBhYmxlICBpcyAgc2V0IHRvIF8Idl8IYV8IbF8IdV8IZS4gIFRoZSByZXR1cm4gdmFsdWUgaXMgMCB1bmxlc3MgYW4gaW52YWxpZAotICAgICAgICAgICAgICBvcHRpb24gaXMgZW5jb3VudGVyZWQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkZWZpbmUgIGEgIGZ1bmN0aW9uCi0gICAgICAgICAgICAgIHVzaW5nICBgYC1mIGZvbz1iYXInJywgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFzc2lnbiBhIHZhbHVlIHRvIGEKLSAgICAgICAgICAgICAgcmVhZG9ubHkgdmFyaWFibGUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBhc3NpZ24gYSAgdmFsdWUgIHRvICBhbgotICAgICAgICAgICAgICBhcnJheSB2YXJpYWJsZSB3aXRob3V0IHVzaW5nIHRoZSBjb21wb3VuZCBhc3NpZ25tZW50IHN5bnRheCAoc2VlCi0gICAgICAgICAgICAgIEEIQXIIcnIIcmEIYXkIeXMIcyBhYm92ZSksIG9uZSBvZiB0aGUgXwhuXwhhXwhtXwhlXwhzIGlzIG5vdCBhICB2YWxpZCAgc2hlbGwgIHZhcmlhYmxlCi0gICAgICAgICAgICAgIG5hbWUsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIG9mZiByZWFkb25seSBzdGF0dXMgZm9yIGEgcmVhZC0KLSAgICAgICAgICAgICAgb25seSB2YXJpYWJsZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIHR1cm4gb2ZmIGFycmF5ICBzdGF0dXMgIGZvcgotICAgICAgICAgICAgICBhbiAgYXJyYXkgdmFyaWFibGUsIG9yIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkaXNwbGF5IGEgbm9uLWV4aXMtCi0gICAgICAgICAgICAgIHRlbnQgZnVuY3Rpb24gd2l0aCAtCC1mCGYuCisgICAgICAgICAgICAgIGluIGEgZnVuY3Rpb24sIG1ha2VzIGVhY2ggXwhuXwhhXwhtXwhlIGxvY2FsLCBhcyB3aXRoIHRoZSBsCGxvCG9jCGNhCGFsCGwgY29tbWFuZCwKKyAgICAgICAgICAgICAgdW5sZXNzIHRoZSAtCC1nCGdQCFAgbwhvcAhwdAh0aQhpbwhvbghuIGkIaXMIcyBzCHN1CHVwCHBwCHBsCGxpCGllCGVkCGQsCCwgSQhJZghmIGEIYSB2CHZhCGFyCHJpCGlhCGFiCGJsCGxlCGUgIG4IbmEIYW0IbWUIZSAgaQhpcwhzICBmCGZvCG9sCGwtCC0KKyAgICAgICAgICAgICAgbAhsbwhvdwh3ZQhlZAhkIGIIYnkIeSA9CD1fCHZfCGFfCGxfCHVfCGUsCCwgdAh0aAhoZQhlIHYIdmEIYWwIbHUIdWUIZSBvCG9mCGYgdAh0aAhoZQhlIHYIdmEIYXIIcmkIaWEIYWIIYmwIbGUIZSBpCGlzCHMgcwhzZQhldAh0IHQIdG8IbyBfCHZfCGFfCGxfCHVfCGUuCC4gIFQIVGgIaGUIZQorICAgICAgICAgICAgICByCHJlCGV0CHR1CHVyCHJuCG4gdgh2YQhhbAhsdQh1ZQhlIGkIaXMIcyAwCDAgdQh1bghubAhsZQhlcwhzcwhzIGEIYW4IbiBpCGluCG52CHZhCGFsCGxpCGlkCGQgbwhvcAhwdAh0aQhpbwhvbghuICBpCGlzCHMgIGUIZW4IbmMIY28Ib3UIdW4IbnQIdGUIZXIIcmUIZWQIZCwILCAgYQhhbghuCisgICAgICAgICAgICAgIGEIYXQIdHQIdGUIZW0IbXAIcHQIdCAgaQhpcwhzICBtCG1hCGFkCGRlCGUgIHQIdG8IbyBkCGRlCGVmCGZpCGluCG5lCGUgYQhhIGYIZnUIdW4IbmMIY3QIdGkIaW8Ib24IbiB1CHVzCHNpCGluCG5nCGcgYAhgYAhgLQgtZghmIGYIZm8Ib28Ibz0IPWIIYmEIYXIIcicIJycIJywILCBhCGFuCG4KKyAgICAgICAgICAgICAgYQhhdAh0dAh0ZQhlbQhtcAhwdAh0IGkIaXMIcyBtCG1hCGFkCGRlCGUgdAh0bwhvIGEIYXMIc3MIc2kIaWcIZ24IbiBhCGEgdgh2YQhhbAhsdQh1ZQhlIHQIdG8IbyAgYQhhICByCHJlCGVhCGFkCGRvCG9uCG5sCGx5CHkgIHYIdmEIYXIIcmkIaWEIYWIIYmwIbGUIZSwILCAgYQhhbghuCisgICAgICAgICAgICAgIGEIYXQIdHQIdGUIZW0IbXAIcHQIdCAgaQhpcwhzICBtCG1hCGFkCGRlCGUgdAh0bwhvIGEIYXMIc3MIc2kIaWcIZ24IbiBhCGEgdgh2YQhhbAhsdQh1ZQhlIHQIdG8IbyBhCGFuCG4gYQhhcghycghyYQhheQh5IHYIdmEIYXIIcmkIaWEIYWIIYmwIbGUIZSB3CHdpCGl0CHRoCGhvCG91CHV0CHQKKyAgICAgICAgICAgICAgdQh1cwhzaQhpbghuZwhnIHQIdGgIaGUIZSBjCGNvCG9tCG1wCHBvCG91CHVuCG5kCGQgYQhhcwhzcwhzaQhpZwhnbghubQhtZQhlbghudAh0IHMIc3kIeW4IbnQIdGEIYXgIeCAoCChzCHNlCGVlCGUgQQhBcghycghyYQhheQh5cwhzIGFib3ZlKSwgb25lICBvZgorICAgICAgICAgICAgICB0aGUgXwhuXwhhXwhtXwhlXwhzIGlzIG5vdCBhIHZhbGlkIHNoZWxsIHZhcmlhYmxlIG5hbWUsIGFuIGF0dGVtcHQgaXMgbWFkZQorICAgICAgICAgICAgICB0byB0dXJuIG9mZiByZWFkb25seSBzdGF0dXMgZm9yIGEgcmVhZG9ubHkgdmFyaWFibGUsIGFuICBhdHRlbXB0CisgICAgICAgICAgICAgIGlzICBtYWRlICB0byAgdHVybiBvZmYgYXJyYXkgc3RhdHVzIGZvciBhbiBhcnJheSB2YXJpYWJsZSwgb3IgYW4KKyAgICAgICAgICAgICAgYXR0ZW1wdCBpcyBtYWRlIHRvIGRpc3BsYXkgYSBub24tZXhpc3RlbnQgZnVuY3Rpb24gd2l0aCAtCC1mCGYuCiAKLSAgICAgICBkCGRpCGlyCHJzCHMgWwhbKwgrXwhuXQhdIFsIWy0ILV8Ibl0IXSBbCFstCC1jCGNwCHBsCGx2CHZdCF0KKyAgICAgICBkCGRpCGlyCHJzCHMgWwhbKwgrXwhuXQhdIFsIWy0ILV8Ibl0IXSBbCFstCC1jCGNsCGxwCHB2CHZdCF0KICAgICAgICAgICAgICAgV2l0aG91dCBvcHRpb25zLCAgZGlzcGxheXMgIHRoZSAgbGlzdCAgb2YgIGN1cnJlbnRseSAgcmVtZW1iZXJlZAogICAgICAgICAgICAgICBkaXJlY3Rvcmllcy4gICBUaGUgIGRlZmF1bHQgIGRpc3BsYXkgIGlzICBvbiAgYSBzaW5nbGUgbGluZSB3aXRoCiAgICAgICAgICAgICAgIGRpcmVjdG9yeSBuYW1lcyBzZXBhcmF0ZWQgYnkgc3BhY2VzLiAgRGlyZWN0b3JpZXMgYXJlICBhZGRlZCAgdG8KQEAgLTQ1MSw3ICs0NTcsOCBAQAogICAgICAgICAgICAgICBcCFxhCGEgICAgIGFsZXJ0IChiZWxsKQogICAgICAgICAgICAgICBcCFxiCGIgICAgIGJhY2tzcGFjZQogICAgICAgICAgICAgICBcCFxjCGMgICAgIHN1cHByZXNzIGZ1cnRoZXIgb3V0cHV0Ci0gICAgICAgICAgICAgIFwIXGUIZSAgICAgYW4gZXNjYXBlIGNoYXJhY3RlcgorICAgICAgICAgICAgICBcCFxlCGUKKyAgICAgICAgICAgICAgXAhcRQhFICAgICBhbiBlc2NhcGUgY2hhcmFjdGVyCiAgICAgICAgICAgICAgIFwIXGYIZiAgICAgZm9ybSBmZWVkCiAgICAgICAgICAgICAgIFwIXG4IbiAgICAgbmV3IGxpbmUKICAgICAgICAgICAgICAgXAhccghyICAgICBjYXJyaWFnZSByZXR1cm4KQEAgLTQ2Miw2ICs0NjksMTEgQEAKICAgICAgICAgICAgICAgICAgICAgIF8Ibl8Ibl8IbiAoemVybyB0byB0aHJlZSBvY3RhbCBkaWdpdHMpCiAgICAgICAgICAgICAgIFwIXHgIeF8ISF8ISCAgIHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlICBpcyAgdGhlICBoZXhhZGVjaW1hbAogICAgICAgICAgICAgICAgICAgICAgdmFsdWUgXwhIXwhIIChvbmUgb3IgdHdvIGhleCBkaWdpdHMpCisgICAgICAgICAgICAgIFwIXHUIdV8ISF8ISF8ISF8ISCB0aGUgIFVuaWNvZGUgKElTTy9JRUMgMTA2NDYpIGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyB0aGUKKyAgICAgICAgICAgICAgICAgICAgIGhleGFkZWNpbWFsIHZhbHVlIF8ISF8ISF8ISF8ISCAob25lIHRvIGZvdXIgaGV4IGRpZ2l0cykKKyAgICAgICAgICAgICAgXAhcVQhVXwhIXwhIXwhIXwhIXwhIXwhIXwhIXwhICisgICAgICAgICAgICAgICAgICAgICB0aGUgVW5pY29kZSAoSVNPL0lFQyAxMDY0NikgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzICB0aGUKKyAgICAgICAgICAgICAgICAgICAgIGhleGFkZWNpbWFsIHZhbHVlIF8ISF8ISF8ISF8ISF8ISF8ISF8ISF8ISCAob25lIHRvIGVpZ2h0IGhleCBkaWdpdHMpCiAKICAgICAgICBlCGVuCG5hCGFiCGJsCGxlCGUgWy0ILWEIYV0gWy0ILWQIZG4IbnAIcHMIc10gWy0ILWYIZiBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGVdIFtfCG5fCGFfCG1fCGUgLi4uXQogICAgICAgICAgICAgICBFbmFibGUgIGFuZCBkaXNhYmxlIGJ1aWx0aW4gc2hlbGwgY29tbWFuZHMuICBEaXNhYmxpbmcgYSBidWlsdGluCkBAIC01ODksNyArNjAxLDcgQEAKIAogICAgICAgICAgICAgICBXaGVuIHRoZSBlbmQgb2Ygb3B0aW9ucyBpcyBlbmNvdW50ZXJlZCwgIGcIZ2UIZXQIdG8Ib3AIcHQIdHMIcyAgZXhpdHMgIHdpdGggIGEKICAgICAgICAgICAgICAgcmV0dXJuICB2YWx1ZSAgZ3JlYXRlciB0aGFuIHplcm8uICBPCE9QCFBUCFRJCElOCE5ECEQgaXMgc2V0IHRvIHRoZSBpbmRleCBvZgotICAgICAgICAgICAgICB0aGUgZmlyc3Qgbm9uLW9wdGlvbiBhcmd1bWVudCwgYW5kIG4IbmEIYW0IbWUIZSBpcyBzZXQgdG8gPy4KKyAgICAgICAgICAgICAgdGhlIGZpcnN0IG5vbi1vcHRpb24gYXJndW1lbnQsIGFuZCBfCG5fCGFfCG1fCGUgaXMgc2V0IHRvID8uCiAKICAgICAgICAgICAgICAgZwhnZQhldAh0bwhvcAhwdAh0cwhzIG5vcm1hbGx5IHBhcnNlcyB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBidXQgIGlmICBtb3JlCiAgICAgICAgICAgICAgIGFyZ3VtZW50cyBhcmUgZ2l2ZW4gaW4gXwhhXwhyXwhnXwhzLCBnCGdlCGV0CHRvCG9wCHB0CHRzCHMgcGFyc2VzIHRob3NlIGluc3RlYWQuCkBAIC02MTcsMjUgKzYyOSwyNiBAQAogICAgICAgICAgICAgICBhbiBlcnJvciBvY2N1cnMuCiAKICAgICAgICBoCGhhCGFzCHNoCGggWy0ILWwIbHIIcl0gWy0ILXAIcCBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGVdIFstCC1kCGR0CHRdIFtfCG5fCGFfCG1fCGVdCi0gICAgICAgICAgICAgIEZvciBlYWNoIF8Ibl8IYV8IbV8IZSwgdGhlIGZ1bGwgZmlsZSBuYW1lIG9mIHRoZSBjb21tYW5kICBpcyAgZGV0ZXJtaW5lZAotICAgICAgICAgICAgICBieSBzZWFyY2hpbmcgdGhlIGRpcmVjdG9yaWVzIGluICQIJFAIUEEIQVQIVEgISCBhbmQgcmVtZW1iZXJlZC4gIElmIHRoZSAtCC1wCHAKLSAgICAgICAgICAgICAgb3B0aW9uIGlzIHN1cHBsaWVkLCBubyBwYXRoIHNlYXJjaCBpcyBwZXJmb3JtZWQsIGFuZCBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGUgaXMKLSAgICAgICAgICAgICAgdXNlZCBhcyB0aGUgZnVsbCBmaWxlIG5hbWUgb2YgdGhlIGNvbW1hbmQuICBUaGUgLQgtcghyIG9wdGlvbiBjYXVzZXMKLSAgICAgICAgICAgICAgdGhlIHNoZWxsIHRvIGZvcmdldCBhbGwgcmVtZW1iZXJlZCAgbG9jYXRpb25zLiAgIFRoZSAgLQgtZAhkICBvcHRpb24KLSAgICAgICAgICAgICAgY2F1c2VzIHRoZSBzaGVsbCB0byBmb3JnZXQgdGhlIHJlbWVtYmVyZWQgbG9jYXRpb24gb2YgZWFjaCBfCG5fCGFfCG1fCGUuCi0gICAgICAgICAgICAgIElmIHRoZSAtCC10CHQgb3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgZnVsbCBwYXRobmFtZSAgdG8gIHdoaWNoICBlYWNoCi0gICAgICAgICAgICAgIF8Ibl8IYV8IbV8IZSAgY29ycmVzcG9uZHMgIGlzICBwcmludGVkLiAgIElmIG11bHRpcGxlIF8Ibl8IYV8IbV8IZSBhcmd1bWVudHMgYXJlCi0gICAgICAgICAgICAgIHN1cHBsaWVkIHdpdGggLQgtdAh0LCB0aGUgXwhuXwhhXwhtXwhlIGlzIHByaW50ZWQgIGJlZm9yZSAgdGhlICBoYXNoZWQgIGZ1bGwKLSAgICAgICAgICAgICAgcGF0aG5hbWUuICBUaGUgLQgtbAhsIG9wdGlvbiBjYXVzZXMgb3V0cHV0IHRvIGJlIGRpc3BsYXllZCBpbiBhIGZvci0KLSAgICAgICAgICAgICAgbWF0IHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4gIElmIG5vIGFyZ3VtZW50cyBhcmUgZ2l2ZW4sICBvcgotICAgICAgICAgICAgICBpZiBvbmx5IC0ILWwIbCBpcyBzdXBwbGllZCwgaW5mb3JtYXRpb24gYWJvdXQgcmVtZW1iZXJlZCBjb21tYW5kcyBpcwotICAgICAgICAgICAgICBwcmludGVkLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgdHJ1ZSB1bmxlc3MgYSBfCG5fCGFfCG1fCGUgaXMgIG5vdCAgZm91bmQKLSAgICAgICAgICAgICAgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQuCisgICAgICAgICAgICAgIEVhY2ggdGltZSBoCGhhCGFzCHNoCGggaXMgaW52b2tlZCwgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGNvbW1hbmQgXwhuXwhhXwhtXwhlCisgICAgICAgICAgICAgIGlzICBkZXRlcm1pbmVkICBieSBzZWFyY2hpbmcgdGhlIGRpcmVjdG9yaWVzIGluICQIJFAIUEEIQVQIVEgISCBhbmQgcmVtZW0tCisgICAgICAgICAgICAgIGJlcmVkLiAgQW55IHByZXZpb3VzbHktcmVtZW1iZXJlZCBwYXRobmFtZSBpcyBkaXNjYXJkZWQuICBJZiB0aGUKKyAgICAgICAgICAgICAgLQgtcAhwIG9wdGlvbiBpcyBzdXBwbGllZCwgbm8gcGF0aCBzZWFyY2ggaXMgcGVyZm9ybWVkLCBhbmQgXwhmXwhpXwhsXwhlXwhuXwhhXwhtXwhlCisgICAgICAgICAgICAgIGlzIHVzZWQgYXMgdGhlIGZ1bGwgZmlsZSBuYW1lIG9mIHRoZSAgY29tbWFuZC4gICBUaGUgIC0ILXIIciAgb3B0aW9uCisgICAgICAgICAgICAgIGNhdXNlcyAgdGhlICBzaGVsbCAgdG8gIGZvcmdldCBhbGwgcmVtZW1iZXJlZCBsb2NhdGlvbnMuICBUaGUgLQgtZAhkCisgICAgICAgICAgICAgIG9wdGlvbiBjYXVzZXMgdGhlIHNoZWxsIHRvIGZvcmdldCAgdGhlICByZW1lbWJlcmVkICBsb2NhdGlvbiAgb2YKKyAgICAgICAgICAgICAgZWFjaCAgXwhuXwhhXwhtXwhlLiAgIElmIHRoZSAtCC10CHQgb3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgZnVsbCBwYXRobmFtZSB0bworICAgICAgICAgICAgICB3aGljaCBlYWNoIF8Ibl8IYV8IbV8IZSBjb3JyZXNwb25kcyBpcyBwcmludGVkLiAgSWYgbXVsdGlwbGUgXwhuXwhhXwhtXwhlICBhcmd1LQorICAgICAgICAgICAgICBtZW50cyAgYXJlICBzdXBwbGllZCAgd2l0aCAgLQgtdAh0LCAgdGhlICBfCG5fCGFfCG1fCGUgaXMgcHJpbnRlZCBiZWZvcmUgdGhlCisgICAgICAgICAgICAgIGhhc2hlZCBmdWxsIHBhdGhuYW1lLiAgVGhlIC0ILWwIbCBvcHRpb24gY2F1c2VzIG91dHB1dCAgdG8gIGJlICBkaXMtCisgICAgICAgICAgICAgIHBsYXllZCBpbiBhIGZvcm1hdCB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuICBJZiBubyBhcmd1bWVudHMKKyAgICAgICAgICAgICAgYXJlIGdpdmVuLCBvciBpZiBvbmx5IC0ILWwIbCBpcyBzdXBwbGllZCwgaW5mb3JtYXRpb24gIGFib3V0ICByZW1lbS0KKyAgICAgICAgICAgICAgYmVyZWQgIGNvbW1hbmRzICBpcyBwcmludGVkLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgdHJ1ZSB1bmxlc3MgYQorICAgICAgICAgICAgICBfCG5fCGFfCG1fCGUgaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLgogCiAgICAgICAgaAhoZQhlbAhscAhwIFstCC1kCGRtCG1zCHNdIFtfCHBfCGFfCHRfCHRfCGVfCHJfCG5dCi0gICAgICAgICAgICAgIERpc3BsYXkgIGhlbHBmdWwgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy4gIElmIF8IcF8IYV8IdF8IdF8IZV8Icl8IbgotICAgICAgICAgICAgICBpcyBzcGVjaWZpZWQsIGgIaGUIZWwIbHAIcCBnaXZlcyBkZXRhaWxlZCBoZWxwIG9uIGFsbCBjb21tYW5kcyAgbWF0Y2hpbmcKLSAgICAgICAgICAgICAgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuOyAgb3RoZXJ3aXNlICBoZWxwIGZvciBhbGwgdGhlIGJ1aWx0aW5zIGFuZCBzaGVsbCBjb250cm9sCisgICAgICAgICAgICAgIERpc3BsYXkgaGVscGZ1bCBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLiAgSWYgIF8IcF8IYV8IdF8IdF8IZV8Icl8IbgorICAgICAgICAgICAgICBpcyAgc3BlY2lmaWVkLCBoCGhlCGVsCGxwCHAgZ2l2ZXMgZGV0YWlsZWQgaGVscCBvbiBhbGwgY29tbWFuZHMgbWF0Y2hpbmcKKyAgICAgICAgICAgICAgXwhwXwhhXwh0Xwh0XwhlXwhyXwhuOyBvdGhlcndpc2UgaGVscCBmb3IgYWxsIHRoZSBidWlsdGlucyBhbmQgIHNoZWxsICBjb250cm9sCiAgICAgICAgICAgICAgIHN0cnVjdHVyZXMgaXMgcHJpbnRlZC4KICAgICAgICAgICAgICAgLQgtZAhkICAgICBEaXNwbGF5IGEgc2hvcnQgZGVzY3JpcHRpb24gb2YgZWFjaCBfCHBfCGFfCHRfCHRfCGVfCHJfCG4KICAgICAgICAgICAgICAgLQgtbQhtICAgICBEaXNwbGF5IHRoZSBkZXNjcmlwdGlvbiBvZiBlYWNoIF8IcF8IYV8IdF8IdF8IZV8Icl8IbiBpbiBhIG1hbnBhZ2UtbGlrZQpAQCAtNjUxLDQ0ICs2NjQsNDQgQEAKICAgICAgICBoCGhpCGlzCHN0CHRvCG9yCHJ5CHkgLQgtcwhzIF8IYV8Icl8IZyBbXwhhXwhyXwhnIF8ILl8ILl8ILl0KICAgICAgICAgICAgICAgV2l0aCBubyBvcHRpb25zLCBkaXNwbGF5IHRoZSBjb21tYW5kIGhpc3RvcnkgbGlzdCB3aXRoIGxpbmUgbnVtLQogICAgICAgICAgICAgICBiZXJzLiAgTGluZXMgbGlzdGVkIHdpdGggYSAqCCogaGF2ZSBiZWVuIG1vZGlmaWVkLiAgQW4gYXJndW1lbnQgb2YKLSAgICAgICAgICAgICAgXwhuICBsaXN0cyBvbmx5IHRoZSBsYXN0IF8IbiBsaW5lcy4gIElmIHRoZSBzaGVsbCB2YXJpYWJsZSBICEhJCElTCFNUCFRUCFRJCElNCE1FCEUtCC0KLSAgICAgICAgICAgICAgRghGTwhPUghSTQhNQQhBVAhUIGlzIHNldCBhbmQgbm90IG51bGwsIGl0IGlzIHVzZWQgYXMgYSAgZm9ybWF0ICBzdHJpbmcgIGZvcgotICAgICAgICAgICAgICBfCHNfCHRfCHJfCGZfCHRfCGlfCG1fCGUoMykgIHRvIGRpc3BsYXkgdGhlIHRpbWUgc3RhbXAgYXNzb2NpYXRlZCB3aXRoIGVhY2ggZGlzLQotICAgICAgICAgICAgICBwbGF5ZWQgaGlzdG9yeSBlbnRyeS4gIE5vIGludGVydmVuaW5nIGJsYW5rIGlzICBwcmludGVkICBiZXR3ZWVuCi0gICAgICAgICAgICAgIHRoZSAgZm9ybWF0dGVkICB0aW1lIHN0YW1wIGFuZCB0aGUgaGlzdG9yeSBsaW5lLiAgSWYgXwhmXwhpXwhsXwhlXwhuXwhhXwhtXwhlIGlzCi0gICAgICAgICAgICAgIHN1cHBsaWVkLCBpdCBpcyB1c2VkIGFzIHRoZSBuYW1lIG9mIHRoZSBoaXN0b3J5ICBmaWxlOyAgaWYgIG5vdCwKLSAgICAgICAgICAgICAgdGhlICB2YWx1ZSAgb2YgSAhISQhJUwhTVAhURghGSQhJTAhMRQhFIGlzIHVzZWQuICBPcHRpb25zLCBpZiBzdXBwbGllZCwgaGF2ZSB0aGUKKyAgICAgICAgICAgICAgXwhuIGxpc3RzIG9ubHkgdGhlIGxhc3QgXwhuIGxpbmVzLiAgSWYgdGhlIHNoZWxsIHZhcmlhYmxlICBICEhJCElTCFNUCFRUCFRJCElNCE1FCEUtCC0KKyAgICAgICAgICAgICAgRghGTwhPUghSTQhNQQhBVAhUICBpcyAgc2V0ICBhbmQgbm90IG51bGwsIGl0IGlzIHVzZWQgYXMgYSBmb3JtYXQgc3RyaW5nIGZvcgorICAgICAgICAgICAgICBfCHNfCHRfCHJfCGZfCHRfCGlfCG1fCGUoMykgdG8gZGlzcGxheSB0aGUgdGltZSBzdGFtcCBhc3NvY2lhdGVkIHdpdGggZWFjaCAgZGlzLQorICAgICAgICAgICAgICBwbGF5ZWQgIGhpc3RvcnkgIGVudHJ5LiAgTm8gaW50ZXJ2ZW5pbmcgYmxhbmsgaXMgcHJpbnRlZCBiZXR3ZWVuCisgICAgICAgICAgICAgIHRoZSBmb3JtYXR0ZWQgdGltZSBzdGFtcCBhbmQgdGhlIGhpc3RvcnkgbGluZS4gIElmICBfCGZfCGlfCGxfCGVfCG5fCGFfCG1fCGUgIGlzCisgICAgICAgICAgICAgIHN1cHBsaWVkLCAgaXQgIGlzICB1c2VkIGFzIHRoZSBuYW1lIG9mIHRoZSBoaXN0b3J5IGZpbGU7IGlmIG5vdCwKKyAgICAgICAgICAgICAgdGhlIHZhbHVlIG9mIEgISEkISVMIU1QIVEYIRkkISUwITEUIRSBpcyB1c2VkLiAgT3B0aW9ucywgaWYgc3VwcGxpZWQsICBoYXZlICB0aGUKICAgICAgICAgICAgICAgZm9sbG93aW5nIG1lYW5pbmdzOgogICAgICAgICAgICAgICAtCC1jCGMgICAgIENsZWFyIHRoZSBoaXN0b3J5IGxpc3QgYnkgZGVsZXRpbmcgYWxsIHRoZSBlbnRyaWVzLgogICAgICAgICAgICAgICAtCC1kCGQgXwhvXwhmXwhmXwhzXwhlXwh0CiAgICAgICAgICAgICAgICAgICAgICBEZWxldGUgdGhlIGhpc3RvcnkgZW50cnkgYXQgcG9zaXRpb24gXwhvXwhmXwhmXwhzXwhlXwh0LgotICAgICAgICAgICAgICAtCC1hCGEgICAgIEFwcGVuZCB0aGUgYGBuZXcnJyBoaXN0b3J5IGxpbmVzIChoaXN0b3J5ICBsaW5lcyAgZW50ZXJlZAotICAgICAgICAgICAgICAgICAgICAgc2luY2UgIHRoZSAgYmVnaW5uaW5nIG9mIHRoZSBjdXJyZW50IGIIYmEIYXMIc2gIaCBzZXNzaW9uKSB0byB0aGUKKyAgICAgICAgICAgICAgLQgtYQhhICAgICBBcHBlbmQgIHRoZSAgYGBuZXcnJyBoaXN0b3J5IGxpbmVzIChoaXN0b3J5IGxpbmVzIGVudGVyZWQKKyAgICAgICAgICAgICAgICAgICAgIHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGN1cnJlbnQgYghiYQhhcwhzaAhoIHNlc3Npb24pICB0byAgdGhlCiAgICAgICAgICAgICAgICAgICAgICBoaXN0b3J5IGZpbGUuCi0gICAgICAgICAgICAgIC0ILW4IbiAgICAgUmVhZCB0aGUgaGlzdG9yeSBsaW5lcyBub3QgYWxyZWFkeSByZWFkIGZyb20gdGhlICBoaXN0b3J5Ci0gICAgICAgICAgICAgICAgICAgICBmaWxlICBpbnRvICB0aGUgIGN1cnJlbnQgIGhpc3RvcnkgIGxpc3QuICBUaGVzZSBhcmUgbGluZXMKLSAgICAgICAgICAgICAgICAgICAgIGFwcGVuZGVkIHRvIHRoZSBoaXN0b3J5IGZpbGUgc2luY2UgdGhlIGJlZ2lubmluZyAgb2YgIHRoZQorICAgICAgICAgICAgICAtCC1uCG4gICAgIFJlYWQgIHRoZSBoaXN0b3J5IGxpbmVzIG5vdCBhbHJlYWR5IHJlYWQgZnJvbSB0aGUgaGlzdG9yeQorICAgICAgICAgICAgICAgICAgICAgZmlsZSBpbnRvIHRoZSBjdXJyZW50ICBoaXN0b3J5ICBsaXN0LiAgIFRoZXNlICBhcmUgIGxpbmVzCisgICAgICAgICAgICAgICAgICAgICBhcHBlbmRlZCAgdG8gIHRoZSBoaXN0b3J5IGZpbGUgc2luY2UgdGhlIGJlZ2lubmluZyBvZiB0aGUKICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgYghiYQhhcwhzaAhoIHNlc3Npb24uCiAgICAgICAgICAgICAgIC0ILXIIciAgICAgUmVhZCB0aGUgY29udGVudHMgb2YgdGhlIGhpc3RvcnkgZmlsZSBhbmQgdXNlIHRoZW0gYXMgdGhlCiAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IGhpc3RvcnkuCi0gICAgICAgICAgICAgIC0ILXcIdyAgICAgV3JpdGUgdGhlIGN1cnJlbnQgaGlzdG9yeSB0byB0aGUgaGlzdG9yeSBmaWxlLCAgb3ZlcndyaXQtCisgICAgICAgICAgICAgIC0ILXcIdyAgICAgV3JpdGUgIHRoZSBjdXJyZW50IGhpc3RvcnkgdG8gdGhlIGhpc3RvcnkgZmlsZSwgb3ZlcndyaXQtCiAgICAgICAgICAgICAgICAgICAgICBpbmcgdGhlIGhpc3RvcnkgZmlsZSdzIGNvbnRlbnRzLgotICAgICAgICAgICAgICAtCC1wCHAgICAgIFBlcmZvcm0gIGhpc3RvcnkgIHN1YnN0aXR1dGlvbiAgb24gdGhlIGZvbGxvd2luZyBfCGFfCHJfCGdfCHMgYW5kCi0gICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoZSByZXN1bHQgb24gIHRoZSAgc3RhbmRhcmQgIG91dHB1dC4gICBEb2VzICBub3QKLSAgICAgICAgICAgICAgICAgICAgIHN0b3JlICB0aGUgcmVzdWx0cyBpbiB0aGUgaGlzdG9yeSBsaXN0LiAgRWFjaCBfCGFfCHJfCGcgbXVzdCBiZQorICAgICAgICAgICAgICAtCC1wCHAgICAgIFBlcmZvcm0gaGlzdG9yeSBzdWJzdGl0dXRpb24gb24gdGhlICBmb2xsb3dpbmcgIF8IYV8Icl8IZ18IcyAgYW5kCisgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5ICB0aGUgIHJlc3VsdCAgb24gIHRoZSAgc3RhbmRhcmQgb3V0cHV0LiAgRG9lcyBub3QKKyAgICAgICAgICAgICAgICAgICAgIHN0b3JlIHRoZSByZXN1bHRzIGluIHRoZSBoaXN0b3J5IGxpc3QuICBFYWNoIF8IYV8Icl8IZyBtdXN0ICBiZQogICAgICAgICAgICAgICAgICAgICAgcXVvdGVkIHRvIGRpc2FibGUgbm9ybWFsIGhpc3RvcnkgZXhwYW5zaW9uLgotICAgICAgICAgICAgICAtCC1zCHMgICAgIFN0b3JlIHRoZSBfCGFfCHJfCGdfCHMgaW4gdGhlIGhpc3RvcnkgbGlzdCAgYXMgIGEgIHNpbmdsZSAgZW50cnkuCi0gICAgICAgICAgICAgICAgICAgICBUaGUgIGxhc3QgIGNvbW1hbmQgIGluIHRoZSBoaXN0b3J5IGxpc3QgaXMgcmVtb3ZlZCBiZWZvcmUKKyAgICAgICAgICAgICAgLQgtcwhzICAgICBTdG9yZSAgdGhlICBfCGFfCHJfCGdfCHMgIGluICB0aGUgaGlzdG9yeSBsaXN0IGFzIGEgc2luZ2xlIGVudHJ5LgorICAgICAgICAgICAgICAgICAgICAgVGhlIGxhc3QgY29tbWFuZCBpbiB0aGUgaGlzdG9yeSBsaXN0ICBpcyAgcmVtb3ZlZCAgYmVmb3JlCiAgICAgICAgICAgICAgICAgICAgICB0aGUgXwhhXwhyXwhnXwhzIGFyZSBhZGRlZC4KIAotICAgICAgICAgICAgICBJZiB0aGUgSAhISQhJUwhTVAhUVAhUSQhJTQhNRQhFRghGTwhPUghSTQhNQQhBVAhUIHZhcmlhYmxlIGlzIHNldCwgdGhlIHRpbWUgIHN0YW1wICBpbmZvcm1hLQotICAgICAgICAgICAgICB0aW9uICBhc3NvY2lhdGVkICB3aXRoIGVhY2ggaGlzdG9yeSBlbnRyeSBpcyB3cml0dGVuIHRvIHRoZSBoaXMtCi0gICAgICAgICAgICAgIHRvcnkgZmlsZSwgbWFya2VkIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIuICBXaGVuICB0aGUKLSAgICAgICAgICAgICAgaGlzdG9yeSAgZmlsZSAgaXMgcmVhZCwgbGluZXMgYmVnaW5uaW5nIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudAotICAgICAgICAgICAgICBjaGFyYWN0ZXIgZm9sbG93ZWQgaW1tZWRpYXRlbHkgYnkgYSAgZGlnaXQgIGFyZSAgaW50ZXJwcmV0ZWQgIGFzCisgICAgICAgICAgICAgIElmICB0aGUgIEgISEkISVMIU1QIVFQIVEkISU0ITUUIRUYIRk8IT1IIUk0ITUEIQVQIVCB2YXJpYWJsZSBpcyBzZXQsIHRoZSB0aW1lIHN0YW1wIGluZm9ybWEtCisgICAgICAgICAgICAgIHRpb24gYXNzb2NpYXRlZCB3aXRoIGVhY2ggaGlzdG9yeSBlbnRyeSBpcyB3cml0dGVuIHRvICB0aGUgIGhpcy0KKyAgICAgICAgICAgICAgdG9yeSAgZmlsZSwgbWFya2VkIHdpdGggdGhlIGhpc3RvcnkgY29tbWVudCBjaGFyYWN0ZXIuICBXaGVuIHRoZQorICAgICAgICAgICAgICBoaXN0b3J5IGZpbGUgaXMgcmVhZCwgbGluZXMgYmVnaW5uaW5nIHdpdGggdGhlICBoaXN0b3J5ICBjb21tZW50CisgICAgICAgICAgICAgIGNoYXJhY3RlciAgZm9sbG93ZWQgIGltbWVkaWF0ZWx5ICBieSAgYSBkaWdpdCBhcmUgaW50ZXJwcmV0ZWQgYXMKICAgICAgICAgICAgICAgdGltZXN0YW1wcyBmb3IgdGhlIHByZXZpb3VzIGhpc3RvcnkgbGluZS4gIFRoZSByZXR1cm4gdmFsdWUgaXMgMAotICAgICAgICAgICAgICB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsIGFuIGVycm9yICBvY2N1cnMgIHdoaWxlCi0gICAgICAgICAgICAgIHJlYWRpbmcgIG9yICB3cml0aW5nIHRoZSBoaXN0b3J5IGZpbGUsIGFuIGludmFsaWQgXwhvXwhmXwhmXwhzXwhlXwh0IGlzIHN1cC0KKyAgICAgICAgICAgICAgdW5sZXNzICBhbiAgaW52YWxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQsIGFuIGVycm9yIG9jY3VycyB3aGlsZQorICAgICAgICAgICAgICByZWFkaW5nIG9yIHdyaXRpbmcgdGhlIGhpc3RvcnkgZmlsZSwgYW4gaW52YWxpZCBfCG9fCGZfCGZfCHNfCGVfCHQgIGlzICBzdXAtCiAgICAgICAgICAgICAgIHBsaWVkIGFzIGFuIGFyZ3VtZW50IHRvIC0ILWQIZCwgb3IgdGhlIGhpc3RvcnkgZXhwYW5zaW9uIHN1cHBsaWVkIGFzCiAgICAgICAgICAgICAgIGFuIGFyZ3VtZW50IHRvIC0ILXAIcCBmYWlscy4KIApAQCAtNjk3LDEyNyArNzEwLDE0MSBAQAogICAgICAgICAgICAgICBUaGUgZmlyc3QgZm9ybSBsaXN0cyB0aGUgYWN0aXZlIGpvYnMuICBUaGUgb3B0aW9ucyBoYXZlIHRoZSBmb2wtCiAgICAgICAgICAgICAgIGxvd2luZyBtZWFuaW5nczoKICAgICAgICAgICAgICAgLQgtbAhsICAgICBMaXN0IHByb2Nlc3MgSURzIGluIGFkZGl0aW9uIHRvIHRoZSBub3JtYWwgaW5mb3JtYXRpb24uCi0gICAgICAgICAgICAgIC0ILXAIcCAgICAgTGlzdCBvbmx5IHRoZSBwcm9jZXNzICBJRCAgb2YgIHRoZSAgam9iJ3MgIHByb2Nlc3MgIGdyb3VwCi0gICAgICAgICAgICAgICAgICAgICBsZWFkZXIuCiAgICAgICAgICAgICAgIC0ILW4IbiAgICAgRGlzcGxheSAgaW5mb3JtYXRpb24gIG9ubHkgIGFib3V0ICBqb2JzIHRoYXQgaGF2ZSBjaGFuZ2VkCiAgICAgICAgICAgICAgICAgICAgICBzdGF0dXMgc2luY2UgdGhlIHVzZXIgd2FzIGxhc3Qgbm90aWZpZWQgb2YgdGhlaXIgIHN0YXR1cy4KKyAgICAgICAgICAgICAgLQgtcAhwICAgICBMaXN0ICBvbmx5ICB0aGUgIHByb2Nlc3MgIElEICBvZiAgdGhlIGpvYidzIHByb2Nlc3MgZ3JvdXAKKyAgICAgICAgICAgICAgICAgICAgIGxlYWRlci4KICAgICAgICAgICAgICAgLQgtcghyICAgICBSZXN0cmljdCBvdXRwdXQgdG8gcnVubmluZyBqb2JzLgogICAgICAgICAgICAgICAtCC1zCHMgICAgIFJlc3RyaWN0IG91dHB1dCB0byBzdG9wcGVkIGpvYnMuCiAKLSAgICAgICAgICAgICAgSWYgIF8Ial8Ib18IYl8Ic18IcF8IZV8IYyAgaXMgZ2l2ZW4sIG91dHB1dCBpcyByZXN0cmljdGVkIHRvIGluZm9ybWF0aW9uIGFib3V0Ci0gICAgICAgICAgICAgIHRoYXQgam9iLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MgYW4gIGludmFsaWQgIG9wdGlvbiAgaXMKKyAgICAgICAgICAgICAgSWYgXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGlzIGdpdmVuLCBvdXRwdXQgaXMgcmVzdHJpY3RlZCB0byAgaW5mb3JtYXRpb24gIGFib3V0CisgICAgICAgICAgICAgIHRoYXQgIGpvYi4gICBUaGUgIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMKICAgICAgICAgICAgICAgZW5jb3VudGVyZWQgb3IgYW4gaW52YWxpZCBfCGpfCG9fCGJfCHNfCHBfCGVfCGMgaXMgc3VwcGxpZWQuCiAKICAgICAgICAgICAgICAgSWYgdGhlIC0ILXgIeCBvcHRpb24gaXMgc3VwcGxpZWQsIGoIam8Ib2IIYnMIcyByZXBsYWNlcyBhbnkgXwhqXwhvXwhiXwhzXwhwXwhlXwhjIGZvdW5kIGluCi0gICAgICAgICAgICAgIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBvciBfCGFfCHJfCGdfCHMgd2l0aCB0aGUgY29ycmVzcG9uZGluZyAgcHJvY2VzcyAgZ3JvdXAgIElELCAgYW5kCisgICAgICAgICAgICAgIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCAgb3IgIF8IYV8Icl8IZ18IcyAgd2l0aCAgdGhlIGNvcnJlc3BvbmRpbmcgcHJvY2VzcyBncm91cCBJRCwgYW5kCiAgICAgICAgICAgICAgIGV4ZWN1dGVzIF8IY18Ib18IbV8IbV8IYV8Ibl8IZCBwYXNzaW5nIGl0IF8IYV8Icl8IZ18IcywgcmV0dXJuaW5nIGl0cyBleGl0IHN0YXR1cy4KIAogICAgICAgIGsIa2kIaWwIbGwIbCBbLQgtcwhzIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyB8IC0ILW4IbiBfCHNfCGlfCGdfCG5fCHVfCG0gfCAtCC1fCHNfCGlfCGdfCHNfCHBfCGVfCGNdIFtfCHBfCGlfCGQgfCBfCGpfCG9fCGJfCHNfCHBfCGVfCGNdIC4uLgogICAgICAgIGsIa2kIaWwIbGwIbCAtCC1sCGwgW18Ic18IaV8IZ18Ic18IcF8IZV8IYyB8IF8IZV8IeF8IaV8IdF8IX18Ic18IdF8IYV8IdF8IdV8Ic10KLSAgICAgICAgICAgICAgU2VuZCAgdGhlICBzaWduYWwgIG5hbWVkICBieSAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIG9yIF8Ic18IaV8IZ18Ibl8IdV8IbSB0byB0aGUgcHJvY2Vzc2VzCi0gICAgICAgICAgICAgIG5hbWVkIGJ5IF8IcF8IaV8IZCBvciBfCGpfCG9fCGJfCHNfCHBfCGVfCGMuICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMgZWl0aGVyICBhICBjYXNlLWluc2Vuc2l0aXZlCi0gICAgICAgICAgICAgIHNpZ25hbCAgbmFtZSBzdWNoIGFzIFMIU0kISUcIR0sIS0kISUwITEwITCAod2l0aCBvciB3aXRob3V0IHRoZSBTCFNJCElHCEcgcHJlZml4KSBvcgotICAgICAgICAgICAgICBhIHNpZ25hbCBudW1iZXI7IF8Ic18IaV8IZ18Ibl8IdV8IbSBpcyBhIHNpZ25hbCBudW1iZXIuICBJZiBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgIGlzICBub3QKLSAgICAgICAgICAgICAgcHJlc2VudCwgIHRoZW4gIFMIU0kISUcIR1QIVEUIRVIIUk0ITSBpcyBhc3N1bWVkLiAgQW4gYXJndW1lbnQgb2YgLQgtbAhsIGxpc3RzIHRoZQotICAgICAgICAgICAgICBzaWduYWwgbmFtZXMuICBJZiBhbnkgYXJndW1lbnRzIGFyZSBzdXBwbGllZCB3aGVuIC0ILWwIbCAgaXMgIGdpdmVuLAotICAgICAgICAgICAgICB0aGUgIG5hbWVzICBvZiAgdGhlICBzaWduYWxzICBjb3JyZXNwb25kaW5nIHRvIHRoZSBhcmd1bWVudHMgYXJlCisgICAgICAgICAgICAgIFNlbmQgdGhlIHNpZ25hbCBuYW1lZCBieSBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgIG9yICBfCHNfCGlfCGdfCG5fCHVfCG0gIHRvICB0aGUgIHByb2Nlc3NlcworICAgICAgICAgICAgICBuYW1lZCAgYnkgIF8IcF8IaV8IZCBvciBfCGpfCG9fCGJfCHNfCHBfCGVfCGMuICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMgZWl0aGVyIGEgY2FzZS1pbnNlbnNpdGl2ZQorICAgICAgICAgICAgICBzaWduYWwgbmFtZSBzdWNoIGFzIFMIU0kISUcIR0sIS0kISUwITEwITCAod2l0aCBvciB3aXRob3V0IHRoZSBTCFNJCElHCEcgcHJlZml4KSAgb3IKKyAgICAgICAgICAgICAgYSAgc2lnbmFsICBudW1iZXI7IF8Ic18IaV8IZ18Ibl8IdV8IbSBpcyBhIHNpZ25hbCBudW1iZXIuICBJZiBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMgbm90CisgICAgICAgICAgICAgIHByZXNlbnQsIHRoZW4gUwhTSQhJRwhHVAhURQhFUghSTQhNIGlzIGFzc3VtZWQuICBBbiBhcmd1bWVudCBvZiAtCC1sCGwgIGxpc3RzICB0aGUKKyAgICAgICAgICAgICAgc2lnbmFsICBuYW1lcy4gICBJZiBhbnkgYXJndW1lbnRzIGFyZSBzdXBwbGllZCB3aGVuIC0ILWwIbCBpcyBnaXZlbiwKKyAgICAgICAgICAgICAgdGhlIG5hbWVzIG9mIHRoZSBzaWduYWxzICBjb3JyZXNwb25kaW5nICB0byAgdGhlICBhcmd1bWVudHMgIGFyZQogICAgICAgICAgICAgICBsaXN0ZWQsIGFuZCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAwLiAgVGhlIF8IZV8IeF8IaV8IdF8IX18Ic18IdF8IYV8IdF8IdV8IcyBhcmd1bWVudCB0bwotICAgICAgICAgICAgICAtCC1sCGwgIGlzICBhICBudW1iZXIgIHNwZWNpZnlpbmcgZWl0aGVyIGEgc2lnbmFsIG51bWJlciBvciB0aGUgZXhpdAotICAgICAgICAgICAgICBzdGF0dXMgb2YgYSBwcm9jZXNzIHRlcm1pbmF0ZWQgYnkgYSBzaWduYWwuICBrCGtpCGlsCGxsCGwgIHJldHVybnMgIHRydWUKLSAgICAgICAgICAgICAgaWYgIGF0ICBsZWFzdCAgb25lICBzaWduYWwgd2FzIHN1Y2Nlc3NmdWxseSBzZW50LCBvciBmYWxzZSBpZiBhbgorICAgICAgICAgICAgICAtCC1sCGwgaXMgYSBudW1iZXIgc3BlY2lmeWluZyBlaXRoZXIgYSBzaWduYWwgIG51bWJlciAgb3IgIHRoZSAgZXhpdAorICAgICAgICAgICAgICBzdGF0dXMgIG9mICBhIHByb2Nlc3MgdGVybWluYXRlZCBieSBhIHNpZ25hbC4gIGsIa2kIaWwIbGwIbCByZXR1cm5zIHRydWUKKyAgICAgICAgICAgICAgaWYgYXQgbGVhc3Qgb25lIHNpZ25hbCB3YXMgc3VjY2Vzc2Z1bGx5IHNlbnQsICBvciAgZmFsc2UgIGlmICBhbgogICAgICAgICAgICAgICBlcnJvciBvY2N1cnMgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZW5jb3VudGVyZWQuCiAKICAgICAgICBsCGxlCGV0CHQgXwhhXwhyXwhnIFtfCGFfCHJfCGcgLi4uXQogICAgICAgICAgICAgICBFYWNoIF8IYV8Icl8IZyBpcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24gdG8gYmUgZXZhbHVhdGVkIChzZWUgQQhBUghSSQhJVAhUSAhILQgtCi0gICAgICAgICAgICAgIE0ITUUIRVQIVEkISUMIQyAgRQhFVghWQQhBTAhMVQhVQQhBVAhUSQhJTwhPTghOICBhYm92ZSkuICAgSWYgdGhlIGxhc3QgXwhhXwhyXwhnIGV2YWx1YXRlcyB0byAwLCBsCGxlCGV0CHQKKyAgICAgICAgICAgICAgTQhNRQhFVAhUSQhJQwhDIEUIRVYIVkEIQUwITFUIVUEIQVQIVEkISU8IT04ITiBhYm92ZSkuICBJZiB0aGUgbGFzdCBfCGFfCHJfCGcgZXZhbHVhdGVzICB0byAgMCwgIGwIbGUIZXQIdAogICAgICAgICAgICAgICByZXR1cm5zIDE7IDAgaXMgcmV0dXJuZWQgb3RoZXJ3aXNlLgogCiAgICAgICAgbAhsbwhvYwhjYQhhbAhsIFtfCG9fCHBfCHRfCGlfCG9fCG5dIFtfCG5fCGFfCG1fCGVbPV8Idl8IYV8IbF8IdV8IZV0gLi4uXQotICAgICAgICAgICAgICBGb3IgZWFjaCBhcmd1bWVudCwgYSBsb2NhbCB2YXJpYWJsZSBuYW1lZCBfCG5fCGFfCG1fCGUgaXMgIGNyZWF0ZWQsICBhbmQKLSAgICAgICAgICAgICAgYXNzaWduZWQgIF8Idl8IYV8IbF8IdV8IZS4gICBUaGUgXwhvXwhwXwh0XwhpXwhvXwhuIGNhbiBiZSBhbnkgb2YgdGhlIG9wdGlvbnMgYWNjZXB0ZWQKKyAgICAgICAgICAgICAgRm9yICBlYWNoICBhcmd1bWVudCwgYSBsb2NhbCB2YXJpYWJsZSBuYW1lZCBfCG5fCGFfCG1fCGUgaXMgY3JlYXRlZCwgYW5kCisgICAgICAgICAgICAgIGFzc2lnbmVkIF8Idl8IYV8IbF8IdV8IZS4gIFRoZSBfCG9fCHBfCHRfCGlfCG9fCG4gY2FuIGJlIGFueSBvZiB0aGUgIG9wdGlvbnMgIGFjY2VwdGVkCiAgICAgICAgICAgICAgIGJ5IGQIZGUIZWMIY2wIbGEIYXIIcmUIZS4gIFdoZW4gbAhsbwhvYwhjYQhhbAhsIGlzIHVzZWQgd2l0aGluIGEgZnVuY3Rpb24sIGl0IGNhdXNlcyB0aGUKLSAgICAgICAgICAgICAgdmFyaWFibGUgIF8Ibl8IYV8IbV8IZSAgdG8gaGF2ZSBhIHZpc2libGUgc2NvcGUgcmVzdHJpY3RlZCB0byB0aGF0IGZ1bmMtCisgICAgICAgICAgICAgIHZhcmlhYmxlIF8Ibl8IYV8IbV8IZSB0byBoYXZlIGEgdmlzaWJsZSBzY29wZSByZXN0cmljdGVkIHRvICB0aGF0ICBmdW5jLQogICAgICAgICAgICAgICB0aW9uIGFuZCBpdHMgY2hpbGRyZW4uICBXaXRoIG5vIG9wZXJhbmRzLCBsCGxvCG9jCGNhCGFsCGwgd3JpdGVzIGEgbGlzdCBvZgotICAgICAgICAgICAgICBsb2NhbCAgdmFyaWFibGVzICB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LiAgSXQgaXMgYW4gZXJyb3IgdG8gdXNlCisgICAgICAgICAgICAgIGxvY2FsIHZhcmlhYmxlcyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LiAgSXQgaXMgYW4gZXJyb3IgIHRvICB1c2UKICAgICAgICAgICAgICAgbAhsbwhvYwhjYQhhbAhsIHdoZW4gbm90IHdpdGhpbiBhIGZ1bmN0aW9uLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MKLSAgICAgICAgICAgICAgbAhsbwhvYwhjYQhhbAhsICBpcyAgdXNlZCBvdXRzaWRlIGEgZnVuY3Rpb24sIGFuIGludmFsaWQgXwhuXwhhXwhtXwhlIGlzIHN1cHBsaWVkLAorICAgICAgICAgICAgICBsCGxvCG9jCGNhCGFsCGwgaXMgdXNlZCBvdXRzaWRlIGEgZnVuY3Rpb24sIGFuIGludmFsaWQgXwhuXwhhXwhtXwhlICBpcyAgc3VwcGxpZWQsCiAgICAgICAgICAgICAgIG9yIF8Ibl8IYV8IbV8IZSBpcyBhIHJlYWRvbmx5IHZhcmlhYmxlLgogCiAgICAgICAgbAhsbwhvZwhnbwhvdQh1dAh0IEV4aXQgYSBsb2dpbiBzaGVsbC4KIAotICAgICAgIG0IbWEIYXAIcGYIZmkIaWwIbGUIZSBbLQgtbghuIF8IY18Ib18IdV8Ibl8IdF0gWy0ILU8ITyBfCG9fCHJfCGlfCGdfCGlfCG5dIFstCC1zCHMgXwhjXwhvXwh1XwhuXwh0XSBbLQgtdAh0XSBbLQgtdQh1ICBfCGZfCGRdICBbLQgtQwhDICBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGtdCisgICAgICAgbQhtYQhhcAhwZghmaQhpbAhsZQhlICBbLQgtbghuICBfCGNfCG9fCHVfCG5fCHRdICBbLQgtTwhPIF8Ib18Icl8IaV8IZ18IaV8Ibl0gWy0ILXMIcyBfCGNfCG9fCHVfCG5fCHRdIFstCC10CHRdIFstCC11CHUgXwhmXwhkXSBbLQgtQwhDIF8IY18IYV8IbF8IbF8IYl8IYV8IY18Ia10KICAgICAgICBbLQgtYwhjIF8IcV8IdV8IYV8Ibl8IdF8IdV8IbV0gW18IYV8Icl8Icl8IYV8IeV0KLSAgICAgICByCHJlCGVhCGFkCGRhCGFyCHJyCHJhCGF5CHkgWy0ILW4IbiBfCGNfCG9fCHVfCG5fCHRdIFstCC1PCE8gXwhvXwhyXwhpXwhnXwhpXwhuXSBbLQgtcwhzIF8IY18Ib18IdV8Ibl8IdF0gWy0ILXQIdF0gWy0ILXUIdSBfCGZfCGRdIFstCC1DCEMgIF8IY18IYV8IbF8IbF8IYl8IYV8IY18Ia10KKyAgICAgICByCHJlCGVhCGFkCGRhCGFyCHJyCHJhCGF5CHkgIFstCC1uCG4gXwhjXwhvXwh1XwhuXwh0XSBbLQgtTwhPIF8Ib18Icl8IaV8IZ18IaV8Ibl0gWy0ILXMIcyBfCGNfCG9fCHVfCG5fCHRdIFstCC10CHRdIFstCC11CHUgXwhmXwhkXSBbLQgtQwhDIF8IY18IYV8IbF8IbF8IYl8IYV8IY18Ia10KICAgICAgICBbLQgtYwhjIF8IcV8IdV8IYV8Ibl8IdF8IdV8IbV0gW18IYV8Icl8Icl8IYV8IeV0KLSAgICAgICAgICAgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5ICB2YXJpLQotICAgICAgICAgICAgICBhYmxlICBfCGFfCHJfCHJfCGFfCHksIG9yIGZyb20gZmlsZSBkZXNjcmlwdG9yIF8IZl8IZCBpZiB0aGUgLQgtdQh1IG9wdGlvbiBpcyBzdXAtCi0gICAgICAgICAgICAgIHBsaWVkLiAgVGhlIHZhcmlhYmxlIE0ITUEIQVAIUEYIRkkISUwITEUIRSBpcyB0aGUgZGVmYXVsdCBfCGFfCHJfCHJfCGFfCHkuICBPcHRpb25zLCAgaWYKKyAgICAgICAgICAgICAgUmVhZCAgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpLQorICAgICAgICAgICAgICBhYmxlIF8IYV8Icl8Icl8IYV8IeSwgb3IgZnJvbSBmaWxlIGRlc2NyaXB0b3IgXwhmXwhkIGlmIHRoZSAtCC11CHUgb3B0aW9uIGlzICBzdXAtCisgICAgICAgICAgICAgIHBsaWVkLiAgIFRoZSB2YXJpYWJsZSBNCE1BCEFQCFBGCEZJCElMCExFCEUgaXMgdGhlIGRlZmF1bHQgXwhhXwhyXwhyXwhhXwh5LiAgT3B0aW9ucywgaWYKICAgICAgICAgICAgICAgc3VwcGxpZWQsIGhhdmUgdGhlIGZvbGxvd2luZyBtZWFuaW5nczoKLSAgICAgICAgICAgICAgLQgtbghuICAgICBDb3B5ICBhdCAgbW9zdCBfCGNfCG9fCHVfCG5fCHQgbGluZXMuICBJZiBfCGNfCG9fCHVfCG5fCHQgaXMgMCwgYWxsIGxpbmVzIGFyZQorICAgICAgICAgICAgICAtCC1uCG4gICAgIENvcHkgYXQgbW9zdCBfCGNfCG9fCHVfCG5fCHQgbGluZXMuICBJZiBfCGNfCG9fCHVfCG5fCHQgaXMgMCwgYWxsICBsaW5lcyAgYXJlCiAgICAgICAgICAgICAgICAgICAgICBjb3BpZWQuCi0gICAgICAgICAgICAgIC0ILU8ITyAgICAgQmVnaW4gYXNzaWduaW5nIHRvIF8IYV8Icl8Icl8IYV8IeSBhdCBpbmRleCAgXwhvXwhyXwhpXwhnXwhpXwhuLiAgIFRoZSAgZGVmYXVsdAorICAgICAgICAgICAgICAtCC1PCE8gICAgIEJlZ2luICBhc3NpZ25pbmcgIHRvICBfCGFfCHJfCHJfCGFfCHkgYXQgaW5kZXggXwhvXwhyXwhpXwhnXwhpXwhuLiAgVGhlIGRlZmF1bHQKICAgICAgICAgICAgICAgICAgICAgIGluZGV4IGlzIDAuCiAgICAgICAgICAgICAgIC0ILXMIcyAgICAgRGlzY2FyZCB0aGUgZmlyc3QgXwhjXwhvXwh1XwhuXwh0IGxpbmVzIHJlYWQuCiAgICAgICAgICAgICAgIC0ILXQIdCAgICAgUmVtb3ZlIGEgdHJhaWxpbmcgbmV3bGluZSBmcm9tIGVhY2ggbGluZSByZWFkLgotICAgICAgICAgICAgICAtCC11CHUgICAgIFJlYWQgIGxpbmVzICBmcm9tIGZpbGUgZGVzY3JpcHRvciBfCGZfCGQgaW5zdGVhZCBvZiB0aGUgc3Rhbi0KKyAgICAgICAgICAgICAgLQgtdQh1ICAgICBSZWFkIGxpbmVzIGZyb20gZmlsZSBkZXNjcmlwdG9yIF8IZl8IZCBpbnN0ZWFkIG9mICB0aGUgIHN0YW4tCiAgICAgICAgICAgICAgICAgICAgICBkYXJkIGlucHV0LgotICAgICAgICAgICAgICAtCC1DCEMgICAgIEV2YWx1YXRlIF8IY18IYV8IbF8IbF8IYl8IYV8IY18IayBlYWNoIHRpbWUgXwhxXwh1XwhhXwhuXwh0Xwh1XwhtIGxpbmVzIGFyZSByZWFkLiAgIFRoZQorICAgICAgICAgICAgICAtCC1DCEMgICAgIEV2YWx1YXRlICBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGsgZWFjaCB0aW1lIF8IcV8IdV8IYV8Ibl8IdF8IdV8IbSBsaW5lcyBhcmUgcmVhZC4gIFRoZQogICAgICAgICAgICAgICAgICAgICAgLQgtYwhjIG9wdGlvbiBzcGVjaWZpZXMgXwhxXwh1XwhhXwhuXwh0Xwh1XwhtLgotICAgICAgICAgICAgICAtCC1jCGMgICAgIFNwZWNpZnkgIHRoZSAgbnVtYmVyICBvZiAgbGluZXMgcmVhZCBiZXR3ZWVuIGVhY2ggY2FsbCB0bworICAgICAgICAgICAgICAtCC1jCGMgICAgIFNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyByZWFkICBiZXR3ZWVuICBlYWNoICBjYWxsICB0bwogICAgICAgICAgICAgICAgICAgICAgXwhjXwhhXwhsXwhsXwhiXwhhXwhjXwhrLgogCi0gICAgICAgICAgICAgIElmIC0ILUMIQyBpcyBzcGVjaWZpZWQgd2l0aG91dCAtCC1jCGMsICB0aGUgIGRlZmF1bHQgIHF1YW50dW0gIGlzICA1MDAwLgorICAgICAgICAgICAgICBJZiAgLQgtQwhDICBpcyAgc3BlY2lmaWVkICB3aXRob3V0ICAtCC1jCGMsIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4KICAgICAgICAgICAgICAgV2hlbiBfCGNfCGFfCGxfCGxfCGJfCGFfCGNfCGsgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQKLSAgICAgICAgICAgICAgYXJyYXkgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsICBhcmd1bWVudC4gICBfCGNfCGFfCGxfCGxfCC0KLSAgICAgICAgICAgICAgXwhiXwhhXwhjXwhrICBpcyAgZXZhbHVhdGVkICBhZnRlciB0aGUgbGluZSBpcyByZWFkIGJ1dCBiZWZvcmUgdGhlIGFycmF5Ci0gICAgICAgICAgICAgIGVsZW1lbnQgaXMgYXNzaWduZWQuCisgICAgICAgICAgICAgIGFycmF5IGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQKKyAgICAgICAgICAgICAgZWxlbWVudCBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy4gIF8IY18IYV8IbF8IbF8IYl8IYV8IY18IayAgaXMgIGV2YWx1YXRlZCAgYWZ0ZXIKKyAgICAgICAgICAgICAgdGhlIGxpbmUgaXMgcmVhZCBidXQgYmVmb3JlIHRoZSBhcnJheSBlbGVtZW50IGlzIGFzc2lnbmVkLgogCi0gICAgICAgICAgICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuICBleHBsaWNpdCAgb3JpZ2luLCAgbQhtYQhhcAhwZghmaQhpbAhsZQhlICB3aWxsICBjbGVhcgorICAgICAgICAgICAgICBJZiAgbm90ICBzdXBwbGllZCAgd2l0aCAgYW4gIGV4cGxpY2l0IG9yaWdpbiwgbQhtYQhhcAhwZghmaQhpbAhsZQhlIHdpbGwgY2xlYXIKICAgICAgICAgICAgICAgXwhhXwhyXwhyXwhhXwh5IGJlZm9yZSBhc3NpZ25pbmcgdG8gaXQuCiAKLSAgICAgICAgICAgICAgbQhtYQhhcAhwZghmaQhpbAhsZQhlICByZXR1cm5zIHN1Y2Nlc3NmdWxseSB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3Igb3B0aW9uCi0gICAgICAgICAgICAgIGFyZ3VtZW50IGlzIHN1cHBsaWVkLCBfCGFfCHJfCHJfCGFfCHkgaXMgaW52YWxpZCBvciAgdW5hc3NpZ25hYmxlLCAgb3IgIGlmCisgICAgICAgICAgICAgIG0IbWEIYXAIcGYIZmkIaWwIbGUIZSByZXR1cm5zIHN1Y2Nlc3NmdWxseSB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgIG9wdGlvbgorICAgICAgICAgICAgICBhcmd1bWVudCAgaXMgIHN1cHBsaWVkLCAgXwhhXwhyXwhyXwhhXwh5IGlzIGludmFsaWQgb3IgdW5hc3NpZ25hYmxlLCBvciBpZgogICAgICAgICAgICAgICBfCGFfCHJfCHJfCGFfCHkgaXMgbm90IGFuIGluZGV4ZWQgYXJyYXkuCiAKICAgICAgICBwCHBvCG9wCHBkCGQgWy1uCG5dIFsrXwhuXSBbLV8Ibl0KLSAgICAgICAgICAgICAgUmVtb3ZlcyAgZW50cmllcyAgZnJvbSAgdGhlIGRpcmVjdG9yeSBzdGFjay4gIFdpdGggbm8gYXJndW1lbnRzLAotICAgICAgICAgICAgICByZW1vdmVzIHRoZSB0b3AgZGlyZWN0b3J5IGZyb20gdGhlIHN0YWNrLCBhbmQgcGVyZm9ybXMgYSAgYwhjZAhkICB0bworICAgICAgICAgICAgICBSZW1vdmVzIGVudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiAgIFdpdGggIG5vICBhcmd1bWVudHMsCisgICAgICAgICAgICAgIHJlbW92ZXMgIHRoZSAgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSBzdGFjaywgYW5kIHBlcmZvcm1zIGEgYwhjZAhkIHRvCiAgICAgICAgICAgICAgIHRoZSBuZXcgdG9wIGRpcmVjdG9yeS4gIEFyZ3VtZW50cywgaWYgc3VwcGxpZWQsIGhhdmUgdGhlIGZvbGxvdy0KICAgICAgICAgICAgICAgaW5nIG1lYW5pbmdzOgotICAgICAgICAgICAgICAtCC1uCG4gICAgIFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5ICB3aGVuICByZW1vdmluZwotICAgICAgICAgICAgICAgICAgICAgZGlyZWN0b3JpZXMgIGZyb20gIHRoZSAgc3RhY2ssICBzbyB0aGF0IG9ubHkgdGhlIHN0YWNrIGlzCisgICAgICAgICAgICAgIC0ILW4IbiAgICAgU3VwcHJlc3NlcyAgdGhlICBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3aGVuIHJlbW92aW5nCisgICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcmllcyBmcm9tIHRoZSBzdGFjaywgc28gdGhhdCAgb25seSAgdGhlICBzdGFjayAgaXMKICAgICAgICAgICAgICAgICAgICAgIG1hbmlwdWxhdGVkLgotICAgICAgICAgICAgICArCCtfCG4gICAgIFJlbW92ZXMgdGhlIF8IbnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlICBsaXN0Ci0gICAgICAgICAgICAgICAgICAgICBzaG93biAgYnkgIGQIZGkIaXIIcnMIcywgc3RhcnRpbmcgd2l0aCB6ZXJvLiAgRm9yIGV4YW1wbGU6IGBgcG9wZAorICAgICAgICAgICAgICArCCtfCG4gICAgIFJlbW92ZXMgIHRoZSBfCG50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0CisgICAgICAgICAgICAgICAgICAgICBzaG93biBieSBkCGRpCGlyCHJzCHMsIHN0YXJ0aW5nIHdpdGggemVyby4gIEZvciAgZXhhbXBsZTogIGBgcG9wZAogICAgICAgICAgICAgICAgICAgICAgKzAnJyByZW1vdmVzIHRoZSBmaXJzdCBkaXJlY3RvcnksIGBgcG9wZCArMScnIHRoZSBzZWNvbmQuCiAgICAgICAgICAgICAgIC0ILV8IbiAgICAgUmVtb3ZlcyB0aGUgXwhudGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGxpc3QKLSAgICAgICAgICAgICAgICAgICAgIHNob3duIGJ5IGQIZGkIaXIIcnMIcywgc3RhcnRpbmcgd2l0aCB6ZXJvLiAgRm9yICBleGFtcGxlOiAgYGBwb3BkCi0gICAgICAgICAgICAgICAgICAgICAtMCcnICByZW1vdmVzIHRoZSBsYXN0IGRpcmVjdG9yeSwgYGBwb3BkIC0xJycgdGhlIG5leHQgdG8KKyAgICAgICAgICAgICAgICAgICAgIHNob3duICBieSAgZAhkaQhpcghycwhzLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYGBwb3BkCisgICAgICAgICAgICAgICAgICAgICAtMCcnIHJlbW92ZXMgdGhlIGxhc3QgZGlyZWN0b3J5LCBgYHBvcGQgLTEnJyB0aGUgbmV4dCAgdG8KICAgICAgICAgICAgICAgICAgICAgIGxhc3QuCiAKLSAgICAgICAgICAgICAgSWYgdGhlIHAIcG8Ib3AIcGQIZCBjb21tYW5kIGlzIHN1Y2Nlc3NmdWwsIGEgZAhkaQhpcghycwhzIGlzIHBlcmZvcm1lZCBhcyAgd2VsbCwKLSAgICAgICAgICAgICAgYW5kICB0aGUgIHJldHVybiAgc3RhdHVzIGlzIDAuICBwCHBvCG9wCHBkCGQgcmV0dXJucyBmYWxzZSBpZiBhbiBpbnZhbGlkCisgICAgICAgICAgICAgIElmICB0aGUgcAhwbwhvcAhwZAhkIGNvbW1hbmQgaXMgc3VjY2Vzc2Z1bCwgYSBkCGRpCGlyCHJzCHMgaXMgcGVyZm9ybWVkIGFzIHdlbGwsCisgICAgICAgICAgICAgIGFuZCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAwLiAgcAhwbwhvcAhwZAhkIHJldHVybnMgZmFsc2UgIGlmICBhbiAgaW52YWxpZAogICAgICAgICAgICAgICBvcHRpb24gaXMgZW5jb3VudGVyZWQsIHRoZSBkaXJlY3Rvcnkgc3RhY2sgaXMgZW1wdHksIGEgbm9uLWV4aXMtCiAgICAgICAgICAgICAgIHRlbnQgZGlyZWN0b3J5IHN0YWNrIGVudHJ5IGlzIHNwZWNpZmllZCwgb3IgdGhlIGRpcmVjdG9yeSBjaGFuZ2UKICAgICAgICAgICAgICAgZmFpbHMuCiAKICAgICAgICBwCHByCHJpCGluCG50CHRmCGYgWy0ILXYIdiBfCHZfCGFfCHJdIF8IZl8Ib18Icl8IbV8IYV8IdCBbXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0XwhzXQotICAgICAgICAgICAgICBXcml0ZSB0aGUgZm9ybWF0dGVkIF8IYV8Icl8IZ18IdV8IbV8IZV8Ibl8IdF8IcyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0ICB1bmRlciAgdGhlCi0gICAgICAgICAgICAgIGNvbnRyb2wgIG9mICB0aGUgXwhmXwhvXwhyXwhtXwhhXwh0LiAgVGhlIF8IZl8Ib18Icl8IbV8IYV8IdCBpcyBhIGNoYXJhY3RlciBzdHJpbmcgd2hpY2gKLSAgICAgICAgICAgICAgY29udGFpbnMgdGhyZWUgdHlwZXMgb2Ygb2JqZWN0czogIHBsYWluICBjaGFyYWN0ZXJzLCAgd2hpY2ggIGFyZQotICAgICAgICAgICAgICBzaW1wbHkgIGNvcGllZCAgdG8gIHN0YW5kYXJkIG91dHB1dCwgY2hhcmFjdGVyIGVzY2FwZSBzZXF1ZW5jZXMsCi0gICAgICAgICAgICAgIHdoaWNoIGFyZSBjb252ZXJ0ZWQgYW5kIGNvcGllZCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LCBhbmQgIGZvci0KLSAgICAgICAgICAgICAgbWF0ICBzcGVjaWZpY2F0aW9ucywgIGVhY2ggIG9mIHdoaWNoIGNhdXNlcyBwcmludGluZyBvZiB0aGUgbmV4dAotICAgICAgICAgICAgICBzdWNjZXNzaXZlIF8IYV8Icl8IZ18IdV8IbV8IZV8Ibl8IdC4gIEluIGFkZGl0aW9uIHRvIHRoZSBzdGFuZGFyZCBfCHBfCHJfCGlfCG5fCHRfCGYoMSkgZm9yLQotICAgICAgICAgICAgICBtYXRzLCAgJQglYghiICBjYXVzZXMgcAhwcghyaQhpbghudAh0ZghmIHRvIGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbgotICAgICAgICAgICAgICB0aGUgY29ycmVzcG9uZGluZyBfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHQgKGV4Y2VwdCB0aGF0ICBcCFxjCGMgIHRlcm1pbmF0ZXMgIG91dHB1dCwKLSAgICAgICAgICAgICAgYmFja3NsYXNoZXMgaW4gXAhcJwgnLCBcCFwiCCIsIGFuZCBcCFw/CD8gYXJlIG5vdCByZW1vdmVkLCBhbmQgb2N0YWwgZXNjYXBlcwotICAgICAgICAgICAgICBiZWdpbm5pbmcgd2l0aCBcCFwwCDAgbWF5IGNvbnRhaW4gdXAgdG8gZm91ciBkaWdpdHMpLCBhbmQgJQglcQhxICBjYXVzZXMKLSAgICAgICAgICAgICAgcAhwcghyaQhpbghudAh0ZghmIHRvIG91dHB1dCB0aGUgY29ycmVzcG9uZGluZyBfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHQgaW4gYSBmb3JtYXQgdGhhdCBjYW4KLSAgICAgICAgICAgICAgYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0LgorICAgICAgICAgICAgICBXcml0ZSAgdGhlICBmb3JtYXR0ZWQgXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0XwhzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQgdW5kZXIgdGhlCisgICAgICAgICAgICAgIGNvbnRyb2wgb2YgdGhlIF8IZl8Ib18Icl8IbV8IYV8IdC4gIFRoZSAtCC12CHYgb3B0aW9uIGNhdXNlcyB0aGUgIG91dHB1dCAgdG8gIGJlCisgICAgICAgICAgICAgIGFzc2lnbmVkICB0byAgdGhlICB2YXJpYWJsZSBfCHZfCGFfCHIgcmF0aGVyIHRoYW4gYmVpbmcgcHJpbnRlZCB0byB0aGUKKyAgICAgICAgICAgICAgc3RhbmRhcmQgb3V0cHV0LgogCi0gICAgICAgICAgICAgIFRoZSAtCC12CHYgb3B0aW9uIGNhdXNlcyB0aGUgb3V0cHV0IHRvIGJlIGFzc2lnbmVkIHRvICB0aGUgIHZhcmlhYmxlCi0gICAgICAgICAgICAgIF8Idl8IYV8IciByYXRoZXIgdGhhbiBiZWluZyBwcmludGVkIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuCisgICAgICAgICAgICAgIFRoZSBfCGZfCG9fCHJfCG1fCGFfCHQgaXMgYSBjaGFyYWN0ZXIgc3RyaW5nIHdoaWNoIGNvbnRhaW5zIHRocmVlICB0eXBlcyAgb2YKKyAgICAgICAgICAgICAgb2JqZWN0czogIHBsYWluICBjaGFyYWN0ZXJzLCB3aGljaCBhcmUgc2ltcGx5IGNvcGllZCB0byBzdGFuZGFyZAorICAgICAgICAgICAgICBvdXRwdXQsIGNoYXJhY3RlciBlc2NhcGUgIHNlcXVlbmNlcywgIHdoaWNoICBhcmUgIGNvbnZlcnRlZCAgYW5kCisgICAgICAgICAgICAgIGNvcGllZCAgdG8gIHRoZSBzdGFuZGFyZCBvdXRwdXQsIGFuZCBmb3JtYXQgc3BlY2lmaWNhdGlvbnMsIGVhY2gKKyAgICAgICAgICAgICAgb2Ygd2hpY2ggY2F1c2VzIHByaW50aW5nIG9mIHRoZSBuZXh0ICBzdWNjZXNzaXZlICBfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHQuICAgSW4KKyAgICAgICAgICAgICAgYWRkaXRpb24gdG8gdGhlIHN0YW5kYXJkIF8IcF8Icl8IaV8Ibl8IdF8IZigxKSBmb3JtYXQgc3BlY2lmaWNhdGlvbnMsIHAIcHIIcmkIaW4IbnQIdGYIZgorICAgICAgICAgICAgICBpbnRlcnByZXRzIHRoZSBmb2xsb3dpbmcgZXh0ZW5zaW9uczoKKyAgICAgICAgICAgICAgJQglYghiICAgICBjYXVzZXMgcAhwcghyaQhpbghudAh0ZghmIHRvIGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUKKyAgICAgICAgICAgICAgICAgICAgIGNvcnJlc3BvbmRpbmcgXwhhXwhyXwhnXwh1XwhtXwhlXwhuXwh0IChleGNlcHQgdGhhdCBcCFxjCGMgdGVybWluYXRlcyBvdXRwdXQsCisgICAgICAgICAgICAgICAgICAgICBiYWNrc2xhc2hlcyBpbiBcCFwnCCcsIFwIXCIIIiwgYW5kIFwIXD8IPyBhcmUgbm90IHJlbW92ZWQsIGFuZCAgb2N0YWwKKyAgICAgICAgICAgICAgICAgICAgIGVzY2FwZXMgYmVnaW5uaW5nIHdpdGggXAhcMAgwIG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzKS4KKyAgICAgICAgICAgICAgJQglcQhxICAgICBjYXVzZXMgcAhwcghyaQhpbghudAh0ZghmIHRvIG91dHB1dCB0aGUgY29ycmVzcG9uZGluZyBfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHQgIGluICBhCisgICAgICAgICAgICAgICAgICAgICBmb3JtYXQgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0LgorICAgICAgICAgICAgICAlCCUoCChfCGRfCGFfCHRfCGVfCGZfCG1fCHQpCClUCFQKKyAgICAgICAgICAgICAgICAgICAgIGNhdXNlcyAgcAhwcghyaQhpbghudAh0ZghmICB0byAgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZworICAgICAgICAgICAgICAgICAgICAgZnJvbSB1c2luZyBfCGRfCGFfCHRfCGVfCGZfCG1fCHQgYXMgYSBmb3JtYXQgIHN0cmluZyAgZm9yICBfCHNfCHRfCHJfCGZfCHRfCGlfCG1fCGUoMykuCisgICAgICAgICAgICAgICAgICAgICBUaGUgY29ycmVzcG9uZGluZyBfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHQgaXMgYW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlCisgICAgICAgICAgICAgICAgICAgICBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2guICBUd28gc3BlY2lhbCAgYXJndW1lbnQKKyAgICAgICAgICAgICAgICAgICAgIHZhbHVlcyAgbWF5ICBiZSB1c2VkOiAtMSByZXByZXNlbnRzIHRoZSBjdXJyZW50IHRpbWUsIGFuZAorICAgICAgICAgICAgICAgICAgICAgLTIgcmVwcmVzZW50cyB0aGUgdGltZSB0aGUgc2hlbGwgd2FzIGludm9rZWQuCisKKyAgICAgICAgICAgICAgQXJndW1lbnRzIHRvIG5vbi1zdHJpbmcgZm9ybWF0IHNwZWNpZmllcnMgYXJlIHRyZWF0ZWQgYXMgQyAgY29uLQorICAgICAgICAgICAgICBzdGFudHMsIGV4Y2VwdCB0aGF0IGEgbGVhZGluZyBwbHVzIG9yIG1pbnVzIHNpZ24gaXMgYWxsb3dlZCwgYW5kCisgICAgICAgICAgICAgIGlmIHRoZSBsZWFkaW5nIGNoYXJhY3RlciBpcyBhIHNpbmdsZSBvciBkb3VibGUgcXVvdGUsIHRoZSAgdmFsdWUKKyAgICAgICAgICAgICAgaXMgdGhlIEFTQ0lJIHZhbHVlIG9mIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVyLgogCiAgICAgICAgICAgICAgIFRoZSAgXwhmXwhvXwhyXwhtXwhhXwh0ICBpcyAgcmV1c2VkIGFzIG5lY2Vzc2FyeSB0byBjb25zdW1lIGFsbCBvZiB0aGUgXwhhXwhyXwhnXwh1XwgtCiAgICAgICAgICAgICAgIF8IbV8IZV8Ibl8IdF8Icy4gIElmIHRoZSBfCGZfCG9fCHJfCG1fCGFfCHQgcmVxdWlyZXMgbW9yZSBfCGFfCHJfCGdfCHVfCG1fCGVfCG5fCHRfCHMgdGhhbiBhcmUgc3VwcGxpZWQsCkBAIC05NTYsOCArOTgzLDggQEAKICAgICAgICAgICAgICAgc3RhdHVzIGlzIGZhbHNlLiAgQW55IGNvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIHRoZSBSCFJFCEVUCFRVCFVSCFJOCE4gdHJhcCBpcwogICAgICAgICAgICAgICBleGVjdXRlZCAgYmVmb3JlIGV4ZWN1dGlvbiByZXN1bWVzIGFmdGVyIHRoZSBmdW5jdGlvbiBvciBzY3JpcHQuCiAKLSAgICAgICBzCHNlCGV0CHQgWy0ILS0ILWEIYWIIYmUIZWYIZmgIaGsIa20IbW4IbnAIcHQIdHUIdXYIdngIeEIIQkMIQ0UIRUgISFAIUFQIVF0gWy0ILW8IbyBfCG9fCHBfCHRfCGlfCG9fCG5dIFtfCGFfCHJfCGcgLi4uXQotICAgICAgIHMIc2UIZXQIdCBbKwgrYQhhYghiZQhlZghmaAhoawhrbQhtbghucAhwdAh0dQh1dgh2eAh4QghCQwhDRQhFSAhIUAhQVAhUXSBbKwgrbwhvIF8Ib18IcF8IdF8IaV8Ib18Ibl0gW18IYV8Icl8IZyAuLi5dCisgICAgICAgcwhzZQhldAh0IFstCC0tCC1hCGFiCGJlCGVmCGZoCGhrCGttCG1uCG5wCHB0CHR1CHV2CHZ4CHhCCEJDCENFCEVICEhQCFBUCFRdIFstCC1vCG8gXwhvXwhwXwh0XwhpXwhvXwhuXwgtXwhuXwhhXwhtXwhlXSBbXwhhXwhyXwhnIC4uLl0KKyAgICAgICBzCHNlCGV0CHQgWysIK2EIYWIIYmUIZWYIZmgIaGsIa20IbW4IbnAIcHQIdHUIdXYIdngIeEIIQkMIQ0UIRUgISFAIUFQIVF0gWysIK28IbyBfCG9fCHBfCHRfCGlfCG9fCG5fCC1fCG5fCGFfCG1fCGVdIFtfCGFfCHJfCGcgLi4uXQogICAgICAgICAgICAgICBXaXRob3V0IG9wdGlvbnMsIHRoZSBuYW1lIGFuZCB2YWx1ZSBvZiBlYWNoIHNoZWxsICB2YXJpYWJsZSAgYXJlCiAgICAgICAgICAgICAgIGRpc3BsYXllZCBpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSByZXVzZWQgYXMgaW5wdXQgZm9yIHNldHRpbmcgb3IKICAgICAgICAgICAgICAgcmVzZXR0aW5nIHRoZSBjdXJyZW50bHktc2V0IHZhcmlhYmxlcy4gIFJlYWQtb25seSB2YXJpYWJsZXMgY2FuLQpAQCAtMTIwMCwxNyArMTIyNywyOSBAQAogICAgICAgICAgICAgICAgICAgICAgIGVhc3kgcmUtZWRpdGluZyBvZiBtdWx0aS1saW5lIGNvbW1hbmRzLgogICAgICAgICAgICAgICBjCGNvCG9tCG1wCHBhCGF0CHQzCDMxCDEKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gMy4xCi0gICAgICAgICAgICAgICAgICAgICAgd2l0aCByZXNwZWN0IHRvIHF1b3RlZCBhcmd1bWVudHMgdG8gdGhlIGNvbmRpdGlvbmFsIGNvbS0KLSAgICAgICAgICAgICAgICAgICAgICBtYW5kJ3MgPX4gb3BlcmF0b3IuCisgICAgICAgICAgICAgICAgICAgICAgd2l0aCByZXNwZWN0IHRvIHF1b3RlZCBhcmd1bWVudHMgdG8gdGhlICBbCFtbCFsgIGNvbmRpdGlvbmFsCisgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZCdzID0IPX4IfiBvcGVyYXRvci4KICAgICAgICAgICAgICAgYwhjbwhvbQhtcAhwYQhhdAh0MwgzMggyCiAgICAgICAgICAgICAgICAgICAgICAgSWYgc2V0LCBiCGJhCGFzCHNoCGggY2hhbmdlcyBpdHMgYmVoYXZpb3IgdG8gdGhhdCBvZiB2ZXJzaW9uIDMuMgogICAgICAgICAgICAgICAgICAgICAgIHdpdGggcmVzcGVjdCB0byBsb2NhbGUtc3BlY2lmaWMgc3RyaW5nICBjb21wYXJpc29uICB3aGVuCi0gICAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQncyA8IGFuZCA+IG9wZXJhdG9ycy4KKyAgICAgICAgICAgICAgICAgICAgICB1c2luZyAgdGhlICBbCFtbCFsgIGNvbmRpdGlvbmFsIGNvbW1hbmQncyA8CDwgYW5kID4IPiBvcGVyYXRvcnMuCisgICAgICAgICAgICAgICAgICAgICAgQmFzaCB2ZXJzaW9ucyBwcmlvciB0byBiYXNoLTQuMSB1c2UgQVNDSUkgY29sbGF0aW9uICBhbmQKKyAgICAgICAgICAgICAgICAgICAgICBfCHNfCHRfCHJfCGNfCG1fCHAoMyk7ICBiYXNoLTQuMSAgYW5kIGxhdGVyIHVzZSB0aGUgY3VycmVudCBsb2NhbGUncworICAgICAgICAgICAgICAgICAgICAgIGNvbGxhdGlvbiBzZXF1ZW5jZSBhbmQgXwhzXwh0XwhyXwhjXwhvXwhsXwhsKDMpLgogICAgICAgICAgICAgICBjCGNvCG9tCG1wCHBhCGF0CHQ0CDQwCDAKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCBjaGFuZ2VzIGl0cyBiZWhhdmlvciB0byB0aGF0IG9mIHZlcnNpb24gNC4wCi0gICAgICAgICAgICAgICAgICAgICAgd2l0aCByZXNwZWN0IHRvIGxvY2FsZS1zcGVjaWZpYyBzdHJpbmcgIGNvbXBhcmlzb24gIHdoZW4KLSAgICAgICAgICAgICAgICAgICAgICB1c2luZyAgdGhlICBjb25kaXRpb25hbCAgY29tbWFuZCdzIDwgYW5kID4gb3BlcmF0b3JzIGFuZAotICAgICAgICAgICAgICAgICAgICAgIHRoZSBlZmZlY3Qgb2YgaW50ZXJydXB0aW5nIGEgY29tbWFuZCBsaXN0LgorICAgICAgICAgICAgICAgICAgICAgIHdpdGggIHJlc3BlY3QgIHRvIGxvY2FsZS1zcGVjaWZpYyBzdHJpbmcgY29tcGFyaXNvbiB3aGVuCisgICAgICAgICAgICAgICAgICAgICAgdXNpbmcgdGhlIFsIW1sIWyBjb25kaXRpb25hbCBjb21tYW5kJ3MgIDwIPCAgYW5kICA+CD4gIG9wZXJhdG9ycworICAgICAgICAgICAgICAgICAgICAgIChzZWUgIHByZXZpb3VzICBpdGVtKSAgYW5kICB0aGUgZWZmZWN0IG9mIGludGVycnVwdGluZyBhCisgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZCBsaXN0LgorICAgICAgICAgICAgICBjCGNvCG9tCG1wCHBhCGF0CHQ0CDQxCDEKKyAgICAgICAgICAgICAgICAgICAgICBAaXRlbSBjb21wYXQ0MSBJZiBzZXQsIGIIYmEIYXMIc2gIaCwgd2hlbiBpbiBwb3NpeCBtb2RlLCAgdHJlYXRzCisgICAgICAgICAgICAgICAgICAgICAgYSBzaW5nbGUgcXVvdGUgaW4gYSBkb3VibGUtcXVvdGVkIHBhcmFtZXRlciBleHBhbnNpb24gYXMKKyAgICAgICAgICAgICAgICAgICAgICBhIHNwZWNpYWwgY2hhcmFjdGVyLiAgVGhlIHNpbmdsZSBxdW90ZXMgbXVzdCAgbWF0Y2ggIChhbgorICAgICAgICAgICAgICAgICAgICAgIGV2ZW4gIG51bWJlcikgIGFuZCAgdGhlICBjaGFyYWN0ZXJzICBiZXR3ZWVuICB0aGUgc2luZ2xlCisgICAgICAgICAgICAgICAgICAgICAgcXVvdGVzIGFyZSBjb25zaWRlcmVkIHF1b3RlZC4gIFRoaXMgaXMgdGhlICBiZWhhdmlvciAgb2YKKyAgICAgICAgICAgICAgICAgICAgICBwb3NpeCBtb2RlIHRocm91Z2ggdmVyc2lvbiA0LjEuICBUaGUgZGVmYXVsdCBiYXNoIGJlaGF2LQorICAgICAgICAgICAgICAgICAgICAgIGlvciByZW1haW5zIGFzIGluIHByZXZpb3VzIHZlcnNpb25zLgogICAgICAgICAgICAgICBkCGRpCGlyCHJzCHNwCHBlCGVsCGxsCGwKICAgICAgICAgICAgICAgICAgICAgICBJZiBzZXQsIGIIYmEIYXMIc2gIaCBhdHRlbXB0cyBzcGVsbGluZyBjb3JyZWN0aW9uICBvbiAgZGlyZWN0b3J5CiAgICAgICAgICAgICAgICAgICAgICAgbmFtZXMgIGR1cmluZyB3b3JkIGNvbXBsZXRpb24gaWYgdGhlIGRpcmVjdG9yeSBuYW1lIGluaS0KQEAgLTEyNDcsNyArMTI4Niw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgIKCBfCGNfCG9fCG1fCG1fCGFfCG5fCGQgKQgpIGluaGVyaXQgdGhlIEQIREUIRUIIQlUIVUcIRyBhbmQgUghSRQhFVAhUVQhVUghSTghOIHRyYXBzLgogICAgICAgICAgICAgICAgICAgICAgIDYINi4ILiAgICAgRXJyb3IgdHJhY2luZyBpcyBlbmFibGVkOiAgY29tbWFuZCAgc3Vic3RpdHV0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGVsbCAgZnVuY3Rpb25zLCAgYW5kICBzdWJzaGVsbHMgIGludm9rZWQgd2l0aCAoCCgKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXwhjXwhvXwhtXwhtXwhhXwhuXwhkICkIKSBpbmhlcml0IHRoZSBFCEVSCFJSCFJPCE9SCFIgdHJhcC4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXwhjXwhvXwhtXwhtXwhhXwhuXwhkICkIKSBpbmhlcml0IHRoZSBFCEVSCFJSCFIgdHJhcC4KICAgICAgICAgICAgICAgZQhleAh4dAh0ZwhnbAhsbwhvYghiIElmIHNldCwgdGhlIGV4dGVuZGVkIHBhdHRlcm4gbWF0Y2hpbmcgZmVhdHVyZXMgZGVzY3JpYmVkCiAgICAgICAgICAgICAgICAgICAgICAgYWJvdmUgdW5kZXIgUAhQYQhhdAh0aAhobghuYQhhbQhtZQhlIEUIRXgIeHAIcGEIYW4IbnMIc2kIaW8Ib24IbiBhcmUgZW5hYmxlZC4KICAgICAgICAgICAgICAgZQhleAh4dAh0cQhxdQh1bwhvdAh0ZQhlCkBAIC0xMjk4LDYgKzEzMzcsMTAgQEAKICAgICAgICAgICAgICAgICAgICAgICBhbmQgIGFsbCByZW1haW5pbmcgY2hhcmFjdGVycyBvbiB0aGF0IGxpbmUgdG8gYmUgaWdub3JlZAogICAgICAgICAgICAgICAgICAgICAgIGluIGFuIGludGVyYWN0aXZlICBzaGVsbCAgKHNlZSAgQwhDTwhPTQhNTQhNRQhFTghOVAhUUwhTICBhYm92ZSkuICAgVGhpcwogICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuCisgICAgICAgICAgICAgIGwIbGEIYXMIc3QIdHAIcGkIaXAIcGUIZQorICAgICAgICAgICAgICAgICAgICAgIElmICBzZXQsICBhbmQgIGpvYiBjb250cm9sIGlzIG5vdCBhY3RpdmUsIHRoZSBzaGVsbCBydW5zCisgICAgICAgICAgICAgICAgICAgICAgdGhlIGxhc3QgY29tbWFuZCBvZiBhIHBpcGVsaW5lIG5vdCBleGVjdXRlZCBpbiB0aGUgYmFjay0KKyAgICAgICAgICAgICAgICAgICAgICBncm91bmQgaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW52aXJvbm1lbnQuCiAgICAgICAgICAgICAgIGwIbGkIaXQIdGgIaGkIaXMIc3QIdCBJZiAgc2V0LCAgYW5kICB0aGUgYwhjbQhtZAhkaAhoaQhpcwhzdAh0IG9wdGlvbiBpcyBlbmFibGVkLCBtdWx0aS1saW5lCiAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZHMgYXJlIHNhdmVkIHRvIHRoZSBoaXN0b3J5IHdpdGggZW1iZWRkZWQgbmV3bGluZXMKICAgICAgICAgICAgICAgICAgICAgICByYXRoZXIgdGhhbiB1c2luZyBzZW1pY29sb24gc2VwYXJhdG9ycyB3aGVyZSBwb3NzaWJsZS4KQEAgLTEzNjksMTAgKzE0MTIsMTEgQEAKIAogICAgICAgICAgICAgICBFeHByZXNzaW9ucyAgbWF5ICBiZSAgY29tYmluZWQgIHVzaW5nICB0aGUgIGZvbGxvd2luZyBvcGVyYXRvcnMsCiAgICAgICAgICAgICAgIGxpc3RlZCAgaW4gIGRlY3JlYXNpbmcgIG9yZGVyICBvZiAgcHJlY2VkZW5jZS4gICBUaGUgIGV2YWx1YXRpb24KLSAgICAgICAgICAgICAgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50czsgc2VlIGJlbG93LgorICAgICAgICAgICAgICBkZXBlbmRzICBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50czsgc2VlIGJlbG93LiAgT3BlcmF0b3IgcHJlY2UtCisgICAgICAgICAgICAgIGRlbmNlIGlzIHVzZWQgd2hlbiB0aGVyZSBhcmUgZml2ZSBvciBtb3JlIGFyZ3VtZW50cy4KICAgICAgICAgICAgICAgIQghIF8IZV8IeF8IcF8IciBUcnVlIGlmIF8IZV8IeF8IcF8IciBpcyBmYWxzZS4KICAgICAgICAgICAgICAgKAgoIF8IZV8IeF8IcF8IciApCCkKLSAgICAgICAgICAgICAgICAgICAgIFJldHVybnMgIHRoZSB2YWx1ZSBvZiBfCGVfCHhfCHBfCHIuICBUaGlzIG1heSBiZSB1c2VkIHRvIG92ZXJyaWRlCisgICAgICAgICAgICAgICAgICAgICBSZXR1cm5zIHRoZSB2YWx1ZSBvZiBfCGVfCHhfCHBfCHIuICBUaGlzIG1heSBiZSB1c2VkIHRvICBvdmVycmlkZQogICAgICAgICAgICAgICAgICAgICAgdGhlIG5vcm1hbCBwcmVjZWRlbmNlIG9mIG9wZXJhdG9ycy4KICAgICAgICAgICAgICAgXwhlXwh4XwhwXwhyXwgxIC1hCGEgXwhlXwh4XwhwXwhyXwgyCiAgICAgICAgICAgICAgICAgICAgICBUcnVlIGlmIGJvdGggXwhlXwh4XwhwXwhyXwgxIGFuZCBfCGVfCHhfCHBfCHJfCDIgYXJlIHRydWUuCkBAIC0xMzg5LDEzICsxNDMzLDE0IEBACiAgICAgICAgICAgICAgICAgICAgICBudWxsLgogICAgICAgICAgICAgICAyIGFyZ3VtZW50cwogICAgICAgICAgICAgICAgICAgICAgSWYgdGhlIGZpcnN0IGFyZ3VtZW50IGlzICEIISwgdGhlIGV4cHJlc3Npb24gaXMgdHJ1ZSBpZiBhbmQKLSAgICAgICAgICAgICAgICAgICAgIG9ubHkgIGlmIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgbnVsbC4gIElmIHRoZSBmaXJzdCBhcmd1LQotICAgICAgICAgICAgICAgICAgICAgbWVudCBpcyBvbmUgb2YgdGhlICB1bmFyeSAgY29uZGl0aW9uYWwgIG9wZXJhdG9ycyAgbGlzdGVkCi0gICAgICAgICAgICAgICAgICAgICBhYm92ZSAgdW5kZXIgIEMIQ08IT04ITkQIREkISVQIVEkISU8IT04ITkEIQUwITCAgRQhFWAhYUAhQUghSRQhFUwhTUwhTSQhJTwhPTghOUwhTLCB0aGUgZXhwcmVzc2lvbiBpcworICAgICAgICAgICAgICAgICAgICAgb25seSBpZiB0aGUgc2Vjb25kIGFyZ3VtZW50IGlzIG51bGwuICBJZiB0aGUgZmlyc3QgIGFyZ3UtCisgICAgICAgICAgICAgICAgICAgICBtZW50ICBpcyAgb25lICBvZiAgdGhlIHVuYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9ycyBsaXN0ZWQKKyAgICAgICAgICAgICAgICAgICAgIGFib3ZlIHVuZGVyIEMIQ08IT04ITkQIREkISVQIVEkISU8IT04ITkEIQUwITCBFCEVYCFhQCFBSCFJFCEVTCFNTCFNJCElPCE9OCE5TCFMsICB0aGUgIGV4cHJlc3Npb24gIGlzCiAgICAgICAgICAgICAgICAgICAgICB0cnVlIGlmIHRoZSB1bmFyeSB0ZXN0IGlzIHRydWUuICBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMKICAgICAgICAgICAgICAgICAgICAgIG5vdCBhIHZhbGlkIHVuYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9yLCB0aGUgZXhwcmVzc2lvbiBpcwogICAgICAgICAgICAgICAgICAgICAgZmFsc2UuCiAgICAgICAgICAgICAgIDMgYXJndW1lbnRzCisgICAgICAgICAgICAgICAgICAgICBUaGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIGxpc3RlZC4KICAgICAgICAgICAgICAgICAgICAgIElmIHRoZSBzZWNvbmQgYXJndW1lbnQgaXMgb25lIG9mIHRoZSAgYmluYXJ5ICBjb25kaXRpb25hbAogICAgICAgICAgICAgICAgICAgICAgb3BlcmF0b3JzIGxpc3RlZCBhYm92ZSB1bmRlciBDCENPCE9OCE5ECERJCElUCFRJCElPCE9OCE5BCEFMCEwgRQhFWAhYUAhQUghSRQhFUwhTUwhTSQhJTwhPTghOUwhTLCB0aGUKICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCBvZiB0aGUgZXhwcmVzc2lvbiBpcyB0aGUgcmVzdWx0IG9mIHRoZSBiaW5hcnkgdGVzdApAQCAtMTQxNywzMSArMTQ2MiwzNCBAQAogICAgICAgICAgICAgICAgICAgICAgVGhlIGV4cHJlc3Npb24gIGlzICBwYXJzZWQgIGFuZCAgZXZhbHVhdGVkICBhY2NvcmRpbmcgIHRvCiAgICAgICAgICAgICAgICAgICAgICBwcmVjZWRlbmNlIHVzaW5nIHRoZSBydWxlcyBsaXN0ZWQgYWJvdmUuCiAKLSAgICAgICB0CHRpCGltCG1lCGVzCHMgIFByaW50ICB0aGUgIGFjY3VtdWxhdGVkICB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yIHRoZSBzaGVsbCBhbmQKKyAgICAgICAgICAgICAgV2hlbiAgdXNlZCAgd2l0aCAgdAh0ZQhlcwhzdAh0ICBvciBbCFssIHRoZSA8CDwgYW5kID4IPiBvcGVyYXRvcnMgc29ydCBsZXhpY28tCisgICAgICAgICAgICAgIGdyYXBoaWNhbGx5IHVzaW5nIEFTQ0lJIG9yZGVyaW5nLgorCisgICAgICAgdAh0aQhpbQhtZQhlcwhzICBQcmludCB0aGUgYWNjdW11bGF0ZWQgdXNlciBhbmQgc3lzdGVtIHRpbWVzIGZvciAgdGhlICBzaGVsbCAgYW5kCiAgICAgICAgICAgICAgIGZvciBwcm9jZXNzZXMgcnVuIGZyb20gdGhlIHNoZWxsLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgMC4KIAogICAgICAgIHQIdHIIcmEIYXAIcCBbLQgtbAhscAhwXSBbW18IYV8Icl8IZ10gXwhzXwhpXwhnXwhzXwhwXwhlXwhjIC4uLl0KLSAgICAgICAgICAgICAgVGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIHRvICBiZSAgcmVhZCAgYW5kICBleGVjdXRlZCAgd2hlbiAgdGhlICBzaGVsbAotICAgICAgICAgICAgICByZWNlaXZlcyAgc2lnbmFsKHMpICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMuICAgSWYgXwhhXwhyXwhnIGlzIGFic2VudCAoYW5kIHRoZXJlIGlzIGEKLSAgICAgICAgICAgICAgc2luZ2xlIF8Ic18IaV8IZ18Ic18IcF8IZV8IYykgb3IgLQgtLCBlYWNoIHNwZWNpZmllZCAgc2lnbmFsICBpcyAgcmVzZXQgIHRvICBpdHMKLSAgICAgICAgICAgICAgb3JpZ2luYWwgIGRpc3Bvc2l0aW9uICAodGhlICB2YWx1ZSAgaXQgIGhhZCB1cG9uIGVudHJhbmNlIHRvIHRoZQotICAgICAgICAgICAgICBzaGVsbCkuICBJZiBfCGFfCHJfCGcgaXMgdGhlIG51bGwgc3RyaW5nIHRoZSBzaWduYWwgc3BlY2lmaWVkIGJ5ICBlYWNoCi0gICAgICAgICAgICAgIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyAgaXMgaWdub3JlZCBieSB0aGUgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbnZva2VzLgotICAgICAgICAgICAgICBJZiBfCGFfCHJfCGcgaXMgbm90IHByZXNlbnQgYW5kIC0ILXAIcCBoYXMgYmVlbiBzdXBwbGllZCwgIHRoZW4gIHRoZSAgdHJhcAotICAgICAgICAgICAgICBjb21tYW5kcyAgYXNzb2NpYXRlZCAgd2l0aCAgZWFjaCAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBhcmUgZGlzcGxheWVkLiAgSWYgbm8KLSAgICAgICAgICAgICAgYXJndW1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiBvbmx5IC0ILXAIcCBpcyBnaXZlbiwgdAh0cghyYQhhcAhwICBwcmludHMgIHRoZQotICAgICAgICAgICAgICBsaXN0ICBvZiAgY29tbWFuZHMgIGFzc29jaWF0ZWQgIHdpdGggZWFjaCBzaWduYWwuICBUaGUgLQgtbAhsIG9wdGlvbgotICAgICAgICAgICAgICBjYXVzZXMgdGhlIHNoZWxsIHRvIHByaW50IGEgbGlzdCBvZiBzaWduYWwgbmFtZXMgYW5kIHRoZWlyICBjb3ItCi0gICAgICAgICAgICAgIHJlc3BvbmRpbmcgIG51bWJlcnMuICAgRWFjaCAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBpcyAgZWl0aGVyICBhICBzaWduYWwgbmFtZQotICAgICAgICAgICAgICBkZWZpbmVkIGluIDxfCHNfCGlfCGdfCG5fCGFfCGxfCC5fCGg+LCBvciBhIHNpZ25hbCAgbnVtYmVyLiAgIFNpZ25hbCAgbmFtZXMgIGFyZQotICAgICAgICAgICAgICBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUgU0lHIHByZWZpeCBpcyBvcHRpb25hbC4KKyAgICAgICAgICAgICAgVGhlICBjb21tYW5kICBfCGFfCHJfCGcgIGlzICB0byAgYmUgIHJlYWQgIGFuZCBleGVjdXRlZCB3aGVuIHRoZSBzaGVsbAorICAgICAgICAgICAgICByZWNlaXZlcyBzaWduYWwocykgXwhzXwhpXwhnXwhzXwhwXwhlXwhjLiAgSWYgXwhhXwhyXwhnIGlzIGFic2VudCAoYW5kICB0aGVyZSAgaXMgIGEKKyAgICAgICAgICAgICAgc2luZ2xlICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMpICBvciAgLQgtLCAgZWFjaCAgc3BlY2lmaWVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMKKyAgICAgICAgICAgICAgb3JpZ2luYWwgZGlzcG9zaXRpb24gKHRoZSB2YWx1ZSBpdCAgaGFkICB1cG9uICBlbnRyYW5jZSAgdG8gIHRoZQorICAgICAgICAgICAgICBzaGVsbCkuICAgSWYgXwhhXwhyXwhnIGlzIHRoZSBudWxsIHN0cmluZyB0aGUgc2lnbmFsIHNwZWNpZmllZCBieSBlYWNoCisgICAgICAgICAgICAgIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBpZ25vcmVkIGJ5IHRoZSBzaGVsbCBhbmQgYnkgdGhlIGNvbW1hbmRzIGl0ICBpbnZva2VzLgorICAgICAgICAgICAgICBJZiAgXwhhXwhyXwhnICBpcyAgbm90IHByZXNlbnQgYW5kIC0ILXAIcCBoYXMgYmVlbiBzdXBwbGllZCwgdGhlbiB0aGUgdHJhcAorICAgICAgICAgICAgICBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggZWFjaCAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBhcmUgIGRpc3BsYXllZC4gICBJZiAgbm8KKyAgICAgICAgICAgICAgYXJndW1lbnRzICBhcmUgIHN1cHBsaWVkIG9yIGlmIG9ubHkgLQgtcAhwIGlzIGdpdmVuLCB0CHRyCHJhCGFwCHAgcHJpbnRzIHRoZQorICAgICAgICAgICAgICBsaXN0IG9mIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCBlYWNoICBzaWduYWwuICAgVGhlICAtCC1sCGwgIG9wdGlvbgorICAgICAgICAgICAgICBjYXVzZXMgIHRoZSBzaGVsbCB0byBwcmludCBhIGxpc3Qgb2Ygc2lnbmFsIG5hbWVzIGFuZCB0aGVpciBjb3ItCisgICAgICAgICAgICAgIHJlc3BvbmRpbmcgbnVtYmVycy4gICBFYWNoICBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgIGlzICBlaXRoZXIgIGEgIHNpZ25hbCAgbmFtZQorICAgICAgICAgICAgICBkZWZpbmVkICBpbiAgPF8Ic18IaV8IZ18Ibl8IYV8IbF8ILl8IaD4sICBvciAgYSBzaWduYWwgbnVtYmVyLiAgU2lnbmFsIG5hbWVzIGFyZQorICAgICAgICAgICAgICBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUgUwhTSQhJRwhHIHByZWZpeCBpcyBvcHRpb25hbC4KIAotICAgICAgICAgICAgICBJZiAgYSAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBpcyAgRQhFWAhYSQhJVAhUICgwKSB0aGUgY29tbWFuZCBfCGFfCHJfCGcgaXMgZXhlY3V0ZWQgb24gZXhpdAotICAgICAgICAgICAgICBmcm9tIHRoZSBzaGVsbC4gIElmIGEgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIEQIREUIRUIIQlUIVUcIRywgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzICBleGUtCi0gICAgICAgICAgICAgIGN1dGVkICBiZWZvcmUgIGV2ZXJ5ICBfCHNfCGlfCG1fCHBfCGxfCGUgXwhjXwhvXwhtXwhtXwhhXwhuXwhkLCBfCGZfCG9fCHIgY29tbWFuZCwgXwhjXwhhXwhzXwhlIGNvbW1hbmQsCi0gICAgICAgICAgICAgIF8Ic18IZV8IbF8IZV8IY18IdCBjb21tYW5kLCBldmVyeSBhcml0aG1ldGljIF8IZl8Ib18IciAgY29tbWFuZCwgIGFuZCAgYmVmb3JlICB0aGUKLSAgICAgICAgICAgICAgZmlyc3QgIGNvbW1hbmQgIGV4ZWN1dGVzICBpbiBhIHNoZWxsIGZ1bmN0aW9uIChzZWUgUwhTSAhIRQhFTAhMTAhMIEcIR1IIUkEIQU0ITU0ITUEIQVIIUgotICAgICAgICAgICAgICBhYm92ZSkuICBSZWZlciB0byB0aGUgZGVzY3JpcHRpb24gb2YgdGhlIGUIZXgIeHQIdGQIZGUIZWIIYnUIdWcIZyBvcHRpb24gdG8gIHRoZQorICAgICAgICAgICAgICBJZiBhIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBFCEVYCFhJCElUCFQgKDApIHRoZSBjb21tYW5kIF8IYV8Icl8IZyAgaXMgIGV4ZWN1dGVkICBvbiAgZXhpdAorICAgICAgICAgICAgICBmcm9tICB0aGUgc2hlbGwuICBJZiBhIF8Ic18IaV8IZ18Ic18IcF8IZV8IYyBpcyBECERFCEVCCEJVCFVHCEcsIHRoZSBjb21tYW5kIF8IYV8Icl8IZyBpcyBleGUtCisgICAgICAgICAgICAgIGN1dGVkIGJlZm9yZSBldmVyeSBfCHNfCGlfCG1fCHBfCGxfCGUgXwhjXwhvXwhtXwhtXwhhXwhuXwhkLCBfCGZfCG9fCHIgIGNvbW1hbmQsICBfCGNfCGFfCHNfCGUgIGNvbW1hbmQsCisgICAgICAgICAgICAgIF8Ic18IZV8IbF8IZV8IY18IdCAgY29tbWFuZCwgIGV2ZXJ5ICBhcml0aG1ldGljICBfCGZfCG9fCHIgY29tbWFuZCwgYW5kIGJlZm9yZSB0aGUKKyAgICAgICAgICAgICAgZmlyc3QgY29tbWFuZCBleGVjdXRlcyBpbiBhIHNoZWxsIGZ1bmN0aW9uICAoc2VlICBTCFNICEhFCEVMCExMCEwgIEcIR1IIUkEIQU0ITU0ITUEIQVIIUgorICAgICAgICAgICAgICBhYm92ZSkuICAgUmVmZXIgdG8gdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBlCGV4CHh0CHRkCGRlCGViCGJ1CHVnCGcgb3B0aW9uIHRvIHRoZQogICAgICAgICAgICAgICBzCHNoCGhvCG9wCHB0CHQgYnVpbHRpbiBmb3IgZGV0YWlscyBvZiBpdHMgZWZmZWN0IG9uIHRoZSBECERFCEVCCEJVCFVHCEcgdHJhcC4gIElmIGEKICAgICAgICAgICAgICAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIFIIUkUIRVQIVFUIVVIIUk4ITiwgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsCiAgICAgICAgICAgICAgIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGV4ZWN1dGVkIHdpdGggdGhlIC4ILiBvciBzCHNvCG91CHVyCHJjCGNlCGUgYnVpbHRpbnMgZmluLQpAQCAtMTQ0OSw1MyArMTQ5Nyw1MyBAQAogCiAgICAgICAgICAgICAgIElmIGEgXwhzXwhpXwhnXwhzXwhwXwhlXwhjIGlzIEUIRVIIUlIIUiwgdGhlIGNvbW1hbmQgXwhhXwhyXwhnIGlzIGV4ZWN1dGVkIHdoZW5ldmVyIGEgc2ltLQogICAgICAgICAgICAgICBwbGUgY29tbWFuZCBoYXMgYSBub24temVybyBleGl0IHN0YXR1cywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nCi0gICAgICAgICAgICAgIGNvbmRpdGlvbnMuICBUaGUgRQhFUghSUghSIHRyYXAgaXMgbm90IGV4ZWN1dGVkIGlmIHRoZSBmYWlsZWQgIGNvbW1hbmQKLSAgICAgICAgICAgICAgaXMgIHBhcnQgIG9mICB0aGUgIGNvbW1hbmQgbGlzdCBpbW1lZGlhdGVseSBmb2xsb3dpbmcgYSB3CHdoCGhpCGlsCGxlCGUgb3IKLSAgICAgICAgICAgICAgdQh1bghudAh0aQhpbAhsIGtleXdvcmQsIHBhcnQgb2YgdGhlIHRlc3QgaW4gYW4gXwhpXwhmIHN0YXRlbWVudCwgIHBhcnQgIG9mICBhCi0gICAgICAgICAgICAgIGNvbW1hbmQgIGV4ZWN1dGVkIGluIGEgJggmJggmIG9yIHwIfHwIfCBsaXN0LCBvciBpZiB0aGUgY29tbWFuZCdzIHJldHVybgotICAgICAgICAgICAgICB2YWx1ZSBpcyBiZWluZyBpbnZlcnRlZCB2aWEgIQghLiAgVGhlc2UgYXJlICB0aGUgIHNhbWUgIGNvbmRpdGlvbnMKKyAgICAgICAgICAgICAgY29uZGl0aW9ucy4gICBUaGUgRQhFUghSUghSIHRyYXAgaXMgbm90IGV4ZWN1dGVkIGlmIHRoZSBmYWlsZWQgY29tbWFuZAorICAgICAgICAgICAgICBpcyBwYXJ0IG9mIHRoZSBjb21tYW5kIGxpc3QgaW1tZWRpYXRlbHkgIGZvbGxvd2luZyAgYSAgdwh3aAhoaQhpbAhsZQhlICBvcgorICAgICAgICAgICAgICB1CHVuCG50CHRpCGlsCGwgIGtleXdvcmQsICBwYXJ0ICBvZiB0aGUgdGVzdCBpbiBhbiBfCGlfCGYgc3RhdGVtZW50LCBwYXJ0IG9mIGEKKyAgICAgICAgICAgICAgY29tbWFuZCBleGVjdXRlZCBpbiBhICYIJiYIJiBvciB8CHx8CHwgbGlzdCwgb3IgaWYgdGhlIGNvbW1hbmQncyAgcmV0dXJuCisgICAgICAgICAgICAgIHZhbHVlICBpcyAgYmVpbmcgIGludmVydGVkIHZpYSAhCCEuICBUaGVzZSBhcmUgdGhlIHNhbWUgY29uZGl0aW9ucwogICAgICAgICAgICAgICBvYmV5ZWQgYnkgdGhlIGUIZXIIcnIIcmUIZXgIeGkIaXQIdCBvcHRpb24uCiAKLSAgICAgICAgICAgICAgU2lnbmFscyAgaWdub3JlZCAgdXBvbiAgZW50cnkgIHRvIHRoZSBzaGVsbCBjYW5ub3QgYmUgdHJhcHBlZCBvcgotICAgICAgICAgICAgICByZXNldC4gIFRyYXBwZWQgc2lnbmFscyB0aGF0IGFyZSBub3QgYmVpbmcgaWdub3JlZCBhcmUgcmVzZXQgIHRvCisgICAgICAgICAgICAgIFNpZ25hbHMgaWdub3JlZCB1cG9uIGVudHJ5IHRvIHRoZSBzaGVsbCAgY2Fubm90ICBiZSAgdHJhcHBlZCAgb3IKKyAgICAgICAgICAgICAgcmVzZXQuICAgVHJhcHBlZCBzaWduYWxzIHRoYXQgYXJlIG5vdCBiZWluZyBpZ25vcmVkIGFyZSByZXNldCB0bwogICAgICAgICAgICAgICB0aGVpciBvcmlnaW5hbCB2YWx1ZXMgaW4gYSBzdWJzaGVsbCBvciBzdWJzaGVsbCBlbnZpcm9ubWVudCB3aGVuCi0gICAgICAgICAgICAgIG9uZSBpcyBjcmVhdGVkLiAgVGhlIHJldHVybiBzdGF0dXMgaXMgZmFsc2UgaWYgIGFueSAgXwhzXwhpXwhnXwhzXwhwXwhlXwhjICBpcworICAgICAgICAgICAgICBvbmUgIGlzICBjcmVhdGVkLiAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIGZhbHNlIGlmIGFueSBfCHNfCGlfCGdfCHNfCHBfCGVfCGMgaXMKICAgICAgICAgICAgICAgaW52YWxpZDsgb3RoZXJ3aXNlIHQIdHIIcmEIYXAIcCByZXR1cm5zIHRydWUuCiAKICAgICAgICB0CHR5CHlwCHBlCGUgWy0ILWEIYWYIZnQIdHAIcFAIUF0gXwhuXwhhXwhtXwhlIFtfCG5fCGFfCG1fCGUgLi4uXQotICAgICAgICAgICAgICBXaXRoICBubyBvcHRpb25zLCBpbmRpY2F0ZSBob3cgZWFjaCBfCG5fCGFfCG1fCGUgd291bGQgYmUgaW50ZXJwcmV0ZWQgaWYKKyAgICAgICAgICAgICAgV2l0aCBubyBvcHRpb25zLCBpbmRpY2F0ZSBob3cgZWFjaCBfCG5fCGFfCG1fCGUgd291bGQgYmUgaW50ZXJwcmV0ZWQgIGlmCiAgICAgICAgICAgICAgIHVzZWQgYXMgYSBjb21tYW5kIG5hbWUuICBJZiB0aGUgLQgtdAh0IG9wdGlvbiBpcyB1c2VkLCB0CHR5CHlwCHBlCGUgcHJpbnRzIGEKLSAgICAgICAgICAgICAgc3RyaW5nICB3aGljaCAgaXMgIG9uZSAgb2YgXwhhXwhsXwhpXwhhXwhzLCBfCGtfCGVfCHlfCHdfCG9fCHJfCGQsIF8IZl8IdV8Ibl8IY18IdF8IaV8Ib18IbiwgXwhiXwh1XwhpXwhsXwh0XwhpXwhuLCBvcgotICAgICAgICAgICAgICBfCGZfCGlfCGxfCGUgaWYgIF8Ibl8IYV8IbV8IZSAgaXMgIGFuICBhbGlhcywgIHNoZWxsICByZXNlcnZlZCAgd29yZCwgIGZ1bmN0aW9uLAotICAgICAgICAgICAgICBidWlsdGluLCAgb3IgZGlzayBmaWxlLCByZXNwZWN0aXZlbHkuICBJZiB0aGUgXwhuXwhhXwhtXwhlIGlzIG5vdCBmb3VuZCwKLSAgICAgICAgICAgICAgdGhlbiBub3RoaW5nICBpcyAgcHJpbnRlZCwgIGFuZCAgYW4gIGV4aXQgIHN0YXR1cyAgb2YgIGZhbHNlICBpcwotICAgICAgICAgICAgICByZXR1cm5lZC4gICBJZiAgdGhlICAtCC1wCHAgIG9wdGlvbiBpcyB1c2VkLCB0CHR5CHlwCHBlCGUgZWl0aGVyIHJldHVybnMgdGhlCisgICAgICAgICAgICAgIHN0cmluZyB3aGljaCBpcyBvbmUgb2YgXwhhXwhsXwhpXwhhXwhzLCAgXwhrXwhlXwh5Xwh3XwhvXwhyXwhkLCAgXwhmXwh1XwhuXwhjXwh0XwhpXwhvXwhuLCAgXwhiXwh1XwhpXwhsXwh0XwhpXwhuLCAgb3IKKyAgICAgICAgICAgICAgXwhmXwhpXwhsXwhlICBpZiAgXwhuXwhhXwhtXwhlICBpcyAgYW4gIGFsaWFzLCAgc2hlbGwgIHJlc2VydmVkICB3b3JkLCBmdW5jdGlvbiwKKyAgICAgICAgICAgICAgYnVpbHRpbiwgb3IgZGlzayBmaWxlLCByZXNwZWN0aXZlbHkuICBJZiB0aGUgXwhuXwhhXwhtXwhlIGlzIG5vdCAgZm91bmQsCisgICAgICAgICAgICAgIHRoZW4gIG5vdGhpbmcgIGlzICBwcmludGVkLCAgYW5kICBhbiAgZXhpdCAgc3RhdHVzICBvZiAgZmFsc2UgaXMKKyAgICAgICAgICAgICAgcmV0dXJuZWQuICBJZiB0aGUgLQgtcAhwIG9wdGlvbiBpcyB1c2VkLCAgdAh0eQh5cAhwZQhlICBlaXRoZXIgIHJldHVybnMgIHRoZQogICAgICAgICAgICAgICBuYW1lIG9mIHRoZSBkaXNrIGZpbGUgdGhhdCB3b3VsZCBiZSBleGVjdXRlZCBpZiBfCG5fCGFfCG1fCGUgd2VyZSBzcGVjaS0KICAgICAgICAgICAgICAgZmllZCBhcyBhIGNvbW1hbmQgbmFtZSwgb3Igbm90aGluZyBpZiBgYHR5cGUgLXQgbmFtZScnIHdvdWxkIG5vdAotICAgICAgICAgICAgICByZXR1cm4gXwhmXwhpXwhsXwhlLiAgVGhlIC0ILVAIUCBvcHRpb24gZm9yY2VzIGEgUAhQQQhBVAhUSAhIIHNlYXJjaCBmb3IgZWFjaCAgXwhuXwhhXwhtXwhlLAorICAgICAgICAgICAgICByZXR1cm4gIF8IZl8IaV8IbF8IZS4gIFRoZSAtCC1QCFAgb3B0aW9uIGZvcmNlcyBhIFAIUEEIQVQIVEgISCBzZWFyY2ggZm9yIGVhY2ggXwhuXwhhXwhtXwhlLAogICAgICAgICAgICAgICBldmVuIGlmIGBgdHlwZSAtdCBuYW1lJycgd291bGQgbm90IHJldHVybiBfCGZfCGlfCGxfCGUuICBJZiBhIGNvbW1hbmQgaXMKLSAgICAgICAgICAgICAgaGFzaGVkLCAtCC1wCHAgYW5kIC0ILVAIUCBwcmludCB0aGUgaGFzaGVkIHZhbHVlLCAgbm90ICBuZWNlc3NhcmlseSAgdGhlCisgICAgICAgICAgICAgIGhhc2hlZCwgIC0ILXAIcCAgYW5kICAtCC1QCFAgcHJpbnQgdGhlIGhhc2hlZCB2YWx1ZSwgbm90IG5lY2Vzc2FyaWx5IHRoZQogICAgICAgICAgICAgICBmaWxlIHRoYXQgYXBwZWFycyBmaXJzdCBpbiBQCFBBCEFUCFRICEguICBJZiB0aGUgLQgtYQhhIG9wdGlvbiBpcyB1c2VkLCB0CHR5CHlwCHBlCGUKLSAgICAgICAgICAgICAgcHJpbnRzIGFsbCBvZiB0aGUgcGxhY2VzIHRoYXQgY29udGFpbiBhbiBleGVjdXRhYmxlIG5hbWVkICBfCG5fCGFfCG1fCGUuCi0gICAgICAgICAgICAgIFRoaXMgIGluY2x1ZGVzICBhbGlhc2VzICBhbmQgIGZ1bmN0aW9ucywgIGlmICBhbmQgb25seSBpZiB0aGUgLQgtcAhwCi0gICAgICAgICAgICAgIG9wdGlvbiBpcyBub3QgYWxzbyB1c2VkLiAgVGhlIHRhYmxlIG9mIGhhc2hlZCAgY29tbWFuZHMgIGlzICBub3QKLSAgICAgICAgICAgICAgY29uc3VsdGVkICB3aGVuICB1c2luZyAtCC1hCGEuICBUaGUgLQgtZghmIG9wdGlvbiBzdXBwcmVzc2VzIHNoZWxsIGZ1bmMtCi0gICAgICAgICAgICAgIHRpb24gbG9va3VwLCBhcyB3aXRoIHRoZSBjCGNvCG9tCG1tCG1hCGFuCG5kCGQgYnVpbHRpbi4gIHQIdHkIeXAIcGUIZSByZXR1cm5zIHRydWUgIGlmCisgICAgICAgICAgICAgIHByaW50cyAgYWxsIG9mIHRoZSBwbGFjZXMgdGhhdCBjb250YWluIGFuIGV4ZWN1dGFibGUgbmFtZWQgXwhuXwhhXwhtXwhlLgorICAgICAgICAgICAgICBUaGlzIGluY2x1ZGVzIGFsaWFzZXMgYW5kIGZ1bmN0aW9ucywgIGlmICBhbmQgIG9ubHkgIGlmICB0aGUgIC0ILXAIcAorICAgICAgICAgICAgICBvcHRpb24gIGlzICBub3QgIGFsc28gdXNlZC4gIFRoZSB0YWJsZSBvZiBoYXNoZWQgY29tbWFuZHMgaXMgbm90CisgICAgICAgICAgICAgIGNvbnN1bHRlZCB3aGVuIHVzaW5nIC0ILWEIYS4gIFRoZSAtCC1mCGYgb3B0aW9uIHN1cHByZXNzZXMgIHNoZWxsICBmdW5jLQorICAgICAgICAgICAgICB0aW9uICBsb29rdXAsIGFzIHdpdGggdGhlIGMIY28Ib20IbW0IbWEIYW4IbmQIZCBidWlsdGluLiAgdAh0eQh5cAhwZQhlIHJldHVybnMgdHJ1ZSBpZgogICAgICAgICAgICAgICBhbGwgb2YgdGhlIGFyZ3VtZW50cyBhcmUgZm91bmQsIGZhbHNlIGlmIGFueSBhcmUgbm90IGZvdW5kLgogCiAgICAgICAgdQh1bAhsaQhpbQhtaQhpdAh0IFstCC1ICEhTCFNUCFRhCGFiCGJjCGNkCGRlCGVmCGZpCGlsCGxtCG1uCG5wCHBxCHFyCHJzCHN0CHR1CHV2CHZ4CHggW18IbF8IaV8IbV8IaV8IdF1dCi0gICAgICAgICAgICAgIFByb3ZpZGVzICBjb250cm9sICBvdmVyIHRoZSByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIHRoZSBzaGVsbCBhbmQKLSAgICAgICAgICAgICAgdG8gcHJvY2Vzc2VzIHN0YXJ0ZWQgYnkgaXQsIG9uIHN5c3RlbXMgdGhhdCBhbGxvdyBzdWNoICBjb250cm9sLgorICAgICAgICAgICAgICBQcm92aWRlcyBjb250cm9sIG92ZXIgdGhlIHJlc291cmNlcyBhdmFpbGFibGUgdG8gdGhlICBzaGVsbCAgYW5kCisgICAgICAgICAgICAgIHRvICBwcm9jZXNzZXMgc3RhcnRlZCBieSBpdCwgb24gc3lzdGVtcyB0aGF0IGFsbG93IHN1Y2ggY29udHJvbC4KICAgICAgICAgICAgICAgVGhlIC0ILUgISCBhbmQgLQgtUwhTIG9wdGlvbnMgc3BlY2lmeSB0aGF0IHRoZSBoYXJkIG9yIHNvZnQgbGltaXQgaXMgc2V0Ci0gICAgICAgICAgICAgIGZvciB0aGUgZ2l2ZW4gcmVzb3VyY2UuICBBIGhhcmQgbGltaXQgY2Fubm90IGJlIGluY3JlYXNlZCAgYnkgIGEKLSAgICAgICAgICAgICAgbm9uLXJvb3QgIHVzZXIgIG9uY2UgaXQgaXMgc2V0OyBhIHNvZnQgbGltaXQgbWF5IGJlIGluY3JlYXNlZCB1cAotICAgICAgICAgICAgICB0byB0aGUgdmFsdWUgb2YgdGhlIGhhcmQgbGltaXQuICBJZiBuZWl0aGVyIC0ILUgISCBub3IgLQgtUwhTIGlzICBzcGVjaS0KKyAgICAgICAgICAgICAgZm9yICB0aGUgIGdpdmVuIHJlc291cmNlLiAgQSBoYXJkIGxpbWl0IGNhbm5vdCBiZSBpbmNyZWFzZWQgYnkgYQorICAgICAgICAgICAgICBub24tcm9vdCB1c2VyIG9uY2UgaXQgaXMgc2V0OyBhIHNvZnQgbGltaXQgbWF5IGJlICBpbmNyZWFzZWQgIHVwCisgICAgICAgICAgICAgIHRvICB0aGUgdmFsdWUgb2YgdGhlIGhhcmQgbGltaXQuICBJZiBuZWl0aGVyIC0ILUgISCBub3IgLQgtUwhTIGlzIHNwZWNpLQogICAgICAgICAgICAgICBmaWVkLCBib3RoIHRoZSBzb2Z0IGFuZCBoYXJkIGxpbWl0cyBhcmUgc2V0LiAgVGhlIHZhbHVlIG9mIF8IbF8IaV8IbV8IaV8IdAogICAgICAgICAgICAgICBjYW4gYmUgYSBudW1iZXIgaW4gdGhlIHVuaXQgc3BlY2lmaWVkIGZvciB0aGUgcmVzb3VyY2Ugb3Igb25lIG9mCiAgICAgICAgICAgICAgIHRoZSBzcGVjaWFsIHZhbHVlcyBoCGhhCGFyCHJkCGQsIHMIc28Ib2YIZnQIdCwgb3IgdQh1bghubAhsaQhpbQhtaQhpdAh0ZQhlZAhkLCB3aGljaCBzdGFuZCBmb3IgdGhlCi0gICAgICAgICAgICAgIGN1cnJlbnQgaGFyZCBsaW1pdCwgIHRoZSAgY3VycmVudCAgc29mdCAgbGltaXQsICBhbmQgIG5vICBsaW1pdCwKLSAgICAgICAgICAgICAgcmVzcGVjdGl2ZWx5LiAgIElmICBfCGxfCGlfCG1fCGlfCHQgIGlzICBvbWl0dGVkLCB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUKLSAgICAgICAgICAgICAgc29mdCBsaW1pdCBvZiB0aGUgcmVzb3VyY2UgaXMgcHJpbnRlZCwgdW5sZXNzIHRoZSAtCC1ICEggIG9wdGlvbiAgaXMKKyAgICAgICAgICAgICAgY3VycmVudCAgaGFyZCAgbGltaXQsICB0aGUgIGN1cnJlbnQgIHNvZnQgIGxpbWl0LCAgYW5kIG5vIGxpbWl0LAorICAgICAgICAgICAgICByZXNwZWN0aXZlbHkuICBJZiBfCGxfCGlfCG1fCGlfCHQgaXMgb21pdHRlZCwgdGhlICBjdXJyZW50ICB2YWx1ZSAgb2YgIHRoZQorICAgICAgICAgICAgICBzb2Z0ICBsaW1pdCAgb2YgdGhlIHJlc291cmNlIGlzIHByaW50ZWQsIHVubGVzcyB0aGUgLQgtSAhIIG9wdGlvbiBpcwogICAgICAgICAgICAgICBnaXZlbi4gIFdoZW4gbW9yZSB0aGFuIG9uZSByZXNvdXJjZSBpcyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBuYW1lCiAgICAgICAgICAgICAgIGFuZCB1bml0IGFyZSBwcmludGVkIGJlZm9yZSB0aGUgdmFsdWUuICBPdGhlciBvcHRpb25zIGFyZSBpbnRlci0KICAgICAgICAgICAgICAgcHJldGVkIGFzIGZvbGxvd3M6CkBAIC0xNTA0LDExICsxNTUyLDExIEBACiAgICAgICAgICAgICAgIC0ILWMIYyAgICAgVGhlIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWQKICAgICAgICAgICAgICAgLQgtZAhkICAgICBUaGUgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudAogICAgICAgICAgICAgICAtCC1lCGUgICAgIFRoZSBtYXhpbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgKCJuaWNlIikKLSAgICAgICAgICAgICAgLQgtZghmICAgICBUaGUgIG1heGltdW0gIHNpemUgIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHNoZWxsIGFuZCBpdHMKKyAgICAgICAgICAgICAgLQgtZghmICAgICBUaGUgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlICBzaGVsbCAgYW5kICBpdHMKICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuCiAgICAgICAgICAgICAgIC0ILWkIaSAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscwogICAgICAgICAgICAgICAtCC1sCGwgICAgIFRoZSBtYXhpbXVtIHNpemUgdGhhdCBtYXkgYmUgbG9ja2VkIGludG8gbWVtb3J5Ci0gICAgICAgICAgICAgIC0ILW0IbSAgICAgVGhlIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemUgKG1hbnkgc3lzdGVtcyBkbyBub3QgIGhvbm9yCisgICAgICAgICAgICAgIC0ILW0IbSAgICAgVGhlICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplIChtYW55IHN5c3RlbXMgZG8gbm90IGhvbm9yCiAgICAgICAgICAgICAgICAgICAgICB0aGlzIGxpbWl0KQogICAgICAgICAgICAgICAtCC1uCG4gICAgIFRoZSBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGUgZGVzY3JpcHRvcnMgKG1vc3Qgc3lzdGVtcwogICAgICAgICAgICAgICAgICAgICAgZG8gbm90IGFsbG93IHRoaXMgdmFsdWUgdG8gYmUgc2V0KQpAQCAtMTUxNyw1OCArMTU2NSw1OCBAQAogICAgICAgICAgICAgICAtCC1yCHIgICAgIFRoZSBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5CiAgICAgICAgICAgICAgIC0ILXMIcyAgICAgVGhlIG1heGltdW0gc3RhY2sgc2l6ZQogICAgICAgICAgICAgICAtCC10CHQgICAgIFRoZSBtYXhpbXVtIGFtb3VudCBvZiBjcHUgdGltZSBpbiBzZWNvbmRzCi0gICAgICAgICAgICAgIC0ILXUIdSAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIHByb2Nlc3NlcyAgYXZhaWxhYmxlICB0byAgYSAgc2luZ2xlCisgICAgICAgICAgICAgIC0ILXUIdSAgICAgVGhlICBtYXhpbXVtICBudW1iZXIgIG9mICBwcm9jZXNzZXMgYXZhaWxhYmxlIHRvIGEgc2luZ2xlCiAgICAgICAgICAgICAgICAgICAgICB1c2VyCi0gICAgICAgICAgICAgIC0ILXYIdiAgICAgVGhlICBtYXhpbXVtICBhbW91bnQgIG9mICB2aXJ0dWFsIG1lbW9yeSBhdmFpbGFibGUgdG8gdGhlCi0gICAgICAgICAgICAgICAgICAgICBzaGVsbAorICAgICAgICAgICAgICAtCC12CHYgICAgIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB2aXJ0dWFsICBtZW1vcnkgIGF2YWlsYWJsZSAgdG8gIHRoZQorICAgICAgICAgICAgICAgICAgICAgc2hlbGwgYW5kLCBvbiBzb21lIHN5c3RlbXMsIHRvIGl0cyBjaGlsZHJlbgogICAgICAgICAgICAgICAtCC14CHggICAgIFRoZSBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzCiAgICAgICAgICAgICAgIC0ILVQIVCAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIHRocmVhZHMKIAogICAgICAgICAgICAgICBJZiBfCGxfCGlfCG1fCGlfCHQgaXMgZ2l2ZW4sIGl0IGlzIHRoZSBuZXcgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCByZXNvdXJjZQogICAgICAgICAgICAgICAodGhlIC0ILWEIYSBvcHRpb24gaXMgZGlzcGxheSBvbmx5KS4gIElmIG5vIG9wdGlvbiBpcyBnaXZlbiwgdGhlbiAtCC1mCGYKLSAgICAgICAgICAgICAgaXMgYXNzdW1lZC4gIFZhbHVlcyBhcmUgaW4gMTAyNC1ieXRlIGluY3JlbWVudHMsIGV4Y2VwdCBmb3IgIC0ILXQIdCwKLSAgICAgICAgICAgICAgd2hpY2ggIGlzICBpbiBzZWNvbmRzLCAtCC1wCHAsIHdoaWNoIGlzIGluIHVuaXRzIG9mIDUxMi1ieXRlIGJsb2NrcywKLSAgICAgICAgICAgICAgYW5kIC0ILVQIVCwgLQgtYghiLCAtCC1uCG4sIGFuZCAtCC11CHUsIHdoaWNoIGFyZSB1bnNjYWxlZCB2YWx1ZXMuICAgVGhlICByZXR1cm4KKyAgICAgICAgICAgICAgaXMgIGFzc3VtZWQuICBWYWx1ZXMgYXJlIGluIDEwMjQtYnl0ZSBpbmNyZW1lbnRzLCBleGNlcHQgZm9yIC0ILXQIdCwKKyAgICAgICAgICAgICAgd2hpY2ggaXMgaW4gc2Vjb25kcywgLQgtcAhwLCB3aGljaCBpcyBpbiB1bml0cyBvZiAgNTEyLWJ5dGUgIGJsb2NrcywKKyAgICAgICAgICAgICAgYW5kICAtCC1UCFQsICAtCC1iCGIsIC0ILW4IbiwgYW5kIC0ILXUIdSwgd2hpY2ggYXJlIHVuc2NhbGVkIHZhbHVlcy4gIFRoZSByZXR1cm4KICAgICAgICAgICAgICAgc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yIGFyZ3VtZW50IGlzIHN1cHBsaWVkLCBvcgogICAgICAgICAgICAgICBhbiBlcnJvciBvY2N1cnMgd2hpbGUgc2V0dGluZyBhIG5ldyBsaW1pdC4KIAogICAgICAgIHUIdW0IbWEIYXMIc2sIayBbLQgtcAhwXSBbLQgtUwhTXSBbXwhtXwhvXwhkXwhlXQogICAgICAgICAgICAgICBUaGUgdXNlciBmaWxlLWNyZWF0aW9uIG1hc2sgaXMgc2V0IHRvIF8IbV8Ib18IZF8IZS4gIElmIF8IbV8Ib18IZF8IZSBiZWdpbnMgd2l0aAotICAgICAgICAgICAgICBhICBkaWdpdCwgIGl0IGlzIGludGVycHJldGVkIGFzIGFuIG9jdGFsIG51bWJlcjsgb3RoZXJ3aXNlIGl0IGlzCi0gICAgICAgICAgICAgIGludGVycHJldGVkIGFzIGEgc3ltYm9saWMgbW9kZSBtYXNrIHNpbWlsYXIgdG8gdGhhdCBhY2NlcHRlZCAgYnkKLSAgICAgICAgICAgICAgXwhjXwhoXwhtXwhvXwhkKDEpLiAgIElmIF8IbV8Ib18IZF8IZSBpcyBvbWl0dGVkLCB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgbWFzayBpcwotICAgICAgICAgICAgICBwcmludGVkLiAgVGhlIC0ILVMIUyBvcHRpb24gY2F1c2VzIHRoZSBtYXNrIHRvIGJlICBwcmludGVkICBpbiAgc3ltLQotICAgICAgICAgICAgICBib2xpYyAgZm9ybTsgIHRoZSAgZGVmYXVsdCBvdXRwdXQgaXMgYW4gb2N0YWwgbnVtYmVyLiAgSWYgdGhlIC0ILXAIcAorICAgICAgICAgICAgICBhIGRpZ2l0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhbiBvY3RhbCBudW1iZXI7IG90aGVyd2lzZSAgaXQgIGlzCisgICAgICAgICAgICAgIGludGVycHJldGVkICBhcyBhIHN5bWJvbGljIG1vZGUgbWFzayBzaW1pbGFyIHRvIHRoYXQgYWNjZXB0ZWQgYnkKKyAgICAgICAgICAgICAgXwhjXwhoXwhtXwhvXwhkKDEpLiAgSWYgXwhtXwhvXwhkXwhlIGlzIG9taXR0ZWQsIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBtYXNrICBpcworICAgICAgICAgICAgICBwcmludGVkLiAgIFRoZSAgLQgtUwhTICBvcHRpb24gY2F1c2VzIHRoZSBtYXNrIHRvIGJlIHByaW50ZWQgaW4gc3ltLQorICAgICAgICAgICAgICBib2xpYyBmb3JtOyB0aGUgZGVmYXVsdCBvdXRwdXQgaXMgYW4gb2N0YWwgbnVtYmVyLiAgIElmICB0aGUgIC0ILXAIcAogICAgICAgICAgICAgICBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCBfCG1fCG9fCGRfCGUgaXMgb21pdHRlZCwgdGhlIG91dHB1dCBpcyBpbiBhIGZvcm0KICAgICAgICAgICAgICAgdGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LiAgVGhlIHJldHVybiBzdGF0dXMgaXMgMCBpZiB0aGUgbW9kZQotICAgICAgICAgICAgICB3YXMgc3VjY2Vzc2Z1bGx5IGNoYW5nZWQgb3IgaWYgbm8gXwhtXwhvXwhkXwhlICBhcmd1bWVudCAgd2FzICBzdXBwbGllZCwKKyAgICAgICAgICAgICAgd2FzICBzdWNjZXNzZnVsbHkgIGNoYW5nZWQgIG9yIGlmIG5vIF8IbV8Ib18IZF8IZSBhcmd1bWVudCB3YXMgc3VwcGxpZWQsCiAgICAgICAgICAgICAgIGFuZCBmYWxzZSBvdGhlcndpc2UuCiAKICAgICAgICB1CHVuCG5hCGFsCGxpCGlhCGFzCHMgWy1hCGFdIFtfCG5fCGFfCG1fCGUgLi4uXQotICAgICAgICAgICAgICBSZW1vdmUgIGVhY2ggIF8Ibl8IYV8IbV8IZSAgZnJvbSAgdGhlIGxpc3Qgb2YgZGVmaW5lZCBhbGlhc2VzLiAgSWYgLQgtYQhhIGlzCi0gICAgICAgICAgICAgIHN1cHBsaWVkLCBhbGwgYWxpYXMgZGVmaW5pdGlvbnMgYXJlIHJlbW92ZWQuICBUaGUgIHJldHVybiAgdmFsdWUKKyAgICAgICAgICAgICAgUmVtb3ZlIGVhY2ggXwhuXwhhXwhtXwhlIGZyb20gdGhlIGxpc3Qgb2YgZGVmaW5lZCAgYWxpYXNlcy4gICBJZiAgLQgtYQhhICBpcworICAgICAgICAgICAgICBzdXBwbGllZCwgIGFsbCAgYWxpYXMgZGVmaW5pdGlvbnMgYXJlIHJlbW92ZWQuICBUaGUgcmV0dXJuIHZhbHVlCiAgICAgICAgICAgICAgIGlzIHRydWUgdW5sZXNzIGEgc3VwcGxpZWQgXwhuXwhhXwhtXwhlIGlzIG5vdCBhIGRlZmluZWQgYWxpYXMuCiAKICAgICAgICB1CHVuCG5zCHNlCGV0CHQgWy1mCGZ2CHZdIFtfCG5fCGFfCG1fCGUgLi4uXQotICAgICAgICAgICAgICBGb3IgIGVhY2ggIF8Ibl8IYV8IbV8IZSwgIHJlbW92ZSB0aGUgY29ycmVzcG9uZGluZyB2YXJpYWJsZSBvciBmdW5jdGlvbi4KKyAgICAgICAgICAgICAgRm9yIGVhY2ggXwhuXwhhXwhtXwhlLCByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgIHZhcmlhYmxlICBvciAgZnVuY3Rpb24uCiAgICAgICAgICAgICAgIElmIG5vIG9wdGlvbnMgYXJlIHN1cHBsaWVkLCBvciB0aGUgLQgtdgh2IG9wdGlvbiBpcyBnaXZlbiwgZWFjaCBfCG5fCGFfCG1fCGUKLSAgICAgICAgICAgICAgcmVmZXJzICB0byAgYSAgc2hlbGwgIHZhcmlhYmxlLiAgIFJlYWQtb25seSB2YXJpYWJsZXMgbWF5IG5vdCBiZQotICAgICAgICAgICAgICB1bnNldC4gIElmIC0ILWYIZiBpcyBzcGVjaWZpZWQsIGVhY2ggXwhuXwhhXwhtXwhlIHJlZmVycyB0byAgYSAgc2hlbGwgIGZ1bmMtCi0gICAgICAgICAgICAgIHRpb24sICBhbmQgdGhlIGZ1bmN0aW9uIGRlZmluaXRpb24gaXMgcmVtb3ZlZC4gIEVhY2ggdW5zZXQgdmFyaS0KLSAgICAgICAgICAgICAgYWJsZSBvciBmdW5jdGlvbiBpcyByZW1vdmVkIGZyb20gdGhlIGVudmlyb25tZW50IHBhc3NlZCB0byAgc3ViLQotICAgICAgICAgICAgICBzZXF1ZW50ICBjb21tYW5kcy4gICBJZiBhbnkgb2YgQwhDTwhPTQhNUAhQXwhfVwhXTwhPUghSRAhEQghCUghSRQhFQQhBSwhLUwhTLCBSCFJBCEFOCE5ECERPCE9NCE0sIFMIU0UIRUMIQ08IT04ITkQIRFMIUywKLSAgICAgICAgICAgICAgTAhMSQhJTghORQhFTghOTwhPLCBICEhJCElTCFNUCFRDCENNCE1ECEQsIEYIRlUIVU4ITkMIQ04ITkEIQU0ITUUIRSwgRwhHUghSTwhPVQhVUAhQUwhTLCBvciBECERJCElSCFJTCFNUCFRBCEFDCENLCEsgYXJlICB1bnNldCwgIHRoZXkKLSAgICAgICAgICAgICAgbG9zZSAgdGhlaXIgIHNwZWNpYWwgIHByb3BlcnRpZXMsICBldmVuIGlmIHRoZXkgYXJlIHN1YnNlcXVlbnRseQorICAgICAgICAgICAgICByZWZlcnMgdG8gYSBzaGVsbCB2YXJpYWJsZS4gICBSZWFkLW9ubHkgIHZhcmlhYmxlcyAgbWF5ICBub3QgIGJlCisgICAgICAgICAgICAgIHVuc2V0LiAgIElmICAtCC1mCGYgIGlzIHNwZWNpZmllZCwgZWFjaCBfCG5fCGFfCG1fCGUgcmVmZXJzIHRvIGEgc2hlbGwgZnVuYy0KKyAgICAgICAgICAgICAgdGlvbiwgYW5kIHRoZSBmdW5jdGlvbiBkZWZpbml0aW9uIGlzIHJlbW92ZWQuICBFYWNoIHVuc2V0ICB2YXJpLQorICAgICAgICAgICAgICBhYmxlICBvciBmdW5jdGlvbiBpcyByZW1vdmVkIGZyb20gdGhlIGVudmlyb25tZW50IHBhc3NlZCB0byBzdWItCisgICAgICAgICAgICAgIHNlcXVlbnQgY29tbWFuZHMuICBJZiBhbnkgb2YgQwhDTwhPTQhNUAhQXwhfVwhXTwhPUghSRAhEQghCUghSRQhFQQhBSwhLUwhTLCAgUghSQQhBTghORAhETwhPTQhNLCAgUwhTRQhFQwhDTwhPTghORAhEUwhTLAorICAgICAgICAgICAgICBMCExJCElOCE5FCEVOCE5PCE8sICBICEhJCElTCFNUCFRDCENNCE1ECEQsICBGCEZVCFVOCE5DCENOCE5BCEFNCE1FCEUsIEcIR1IIUk8IT1UIVVAIUFMIUywgb3IgRAhESQhJUghSUwhTVAhUQQhBQwhDSwhLIGFyZSB1bnNldCwgdGhleQorICAgICAgICAgICAgICBsb3NlIHRoZWlyIHNwZWNpYWwgcHJvcGVydGllcywgZXZlbiAgaWYgIHRoZXkgIGFyZSAgc3Vic2VxdWVudGx5CiAgICAgICAgICAgICAgIHJlc2V0LiAgVGhlIGV4aXQgc3RhdHVzIGlzIHRydWUgdW5sZXNzIGEgXwhuXwhhXwhtXwhlIGlzIHJlYWRvbmx5LgogCiAgICAgICAgdwh3YQhhaQhpdAh0IFtfCG4gXwguXwguXwguXQotICAgICAgICAgICAgICBXYWl0IGZvciBlYWNoIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXR1cm4gaXRzIHRlcm1pbmF0aW9uICBzdGEtCi0gICAgICAgICAgICAgIHR1cy4gICBFYWNoICBfCG4gIG1heSBiZSBhIHByb2Nlc3MgSUQgb3IgYSBqb2Igc3BlY2lmaWNhdGlvbjsgaWYgYQotICAgICAgICAgICAgICBqb2Igc3BlYyBpcyBnaXZlbiwgYWxsIHByb2Nlc3NlcyAgaW4gIHRoYXQgIGpvYidzICBwaXBlbGluZSAgYXJlCi0gICAgICAgICAgICAgIHdhaXRlZCAgZm9yLiAgSWYgXwhuIGlzIG5vdCBnaXZlbiwgYWxsIGN1cnJlbnRseSBhY3RpdmUgY2hpbGQgcHJvLQotICAgICAgICAgICAgICBjZXNzZXMgYXJlIHdhaXRlZCBmb3IsIGFuZCB0aGUgcmV0dXJuICBzdGF0dXMgIGlzICB6ZXJvLiAgIElmICBfCG4KLSAgICAgICAgICAgICAgc3BlY2lmaWVzICBhICBub24tZXhpc3RlbnQgIHByb2Nlc3Mgb3Igam9iLCB0aGUgcmV0dXJuIHN0YXR1cyBpcwotICAgICAgICAgICAgICAxMjcuICBPdGhlcndpc2UsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSAgZXhpdCAgc3RhdHVzICBvZiAgdGhlCisgICAgICAgICAgICAgIFdhaXQgIGZvciBlYWNoIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXR1cm4gaXRzIHRlcm1pbmF0aW9uIHN0YS0KKyAgICAgICAgICAgICAgdHVzLiAgRWFjaCBfCG4gbWF5IGJlIGEgcHJvY2VzcyBJRCBvciBhIGpvYiAgc3BlY2lmaWNhdGlvbjsgIGlmICBhCisgICAgICAgICAgICAgIGpvYiAgc3BlYyAgaXMgIGdpdmVuLCAgYWxsICBwcm9jZXNzZXMgaW4gdGhhdCBqb2IncyBwaXBlbGluZSBhcmUKKyAgICAgICAgICAgICAgd2FpdGVkIGZvci4gIElmIF8IbiBpcyBub3QgZ2l2ZW4sIGFsbCBjdXJyZW50bHkgYWN0aXZlIGNoaWxkICBwcm8tCisgICAgICAgICAgICAgIGNlc3NlcyAgYXJlICB3YWl0ZWQgIGZvciwgIGFuZCAgdGhlIHJldHVybiBzdGF0dXMgaXMgemVyby4gIElmIF8IbgorICAgICAgICAgICAgICBzcGVjaWZpZXMgYSBub24tZXhpc3RlbnQgcHJvY2VzcyBvciBqb2IsIHRoZSAgcmV0dXJuICBzdGF0dXMgIGlzCisgICAgICAgICAgICAgIDEyNy4gICBPdGhlcndpc2UsICB0aGUgIHJldHVybiAgc3RhdHVzIGlzIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUKICAgICAgICAgICAgICAgbGFzdCBwcm9jZXNzIG9yIGpvYiB3YWl0ZWQgZm9yLgogCiBTCFNFCEVFCEUgQQhBTAhMUwhTTwhPCmRpZmYgLS1naXQgYS9kb2MvYnVpbHRpbnMucHMgYi9kb2MvYnVpbHRpbnMucHMKaW5kZXggNTM5ZGZiMC4uNmRkZTAwYiAxMDA2NDQKLS0tIGEvZG9jL2J1aWx0aW5zLnBzCisrKyBiL2RvYy9idWlsdGlucy5wcwpAQCAtMSwxMyArMSwxMyBAQAogJSFQUy1BZG9iZS0zLjAKICUlQ3JlYXRvcjogZ3JvZmYgdmVyc2lvbiAxLjE5LjIKLSUlQ3JlYXRpb25EYXRlOiBXZWQgRGVjIDMwIDEzOjA3OjM3IDIwMDkKKyUlQ3JlYXRpb25EYXRlOiBUdWUgRGVjIDI4IDE0OjMwOjI0IDIwMTAKICUlRG9jdW1lbnROZWVkZWRSZXNvdXJjZXM6IGZvbnQgVGltZXMtUm9tYW4KICUlKyBmb250IFRpbWVzLUJvbGQKICUlKyBmb250IFRpbWVzLUl0YWxpYwogJSUrIGZvbnQgU3ltYm9sCiAlJSsgZm9udCBDb3VyaWVyCiAlJURvY3VtZW50U3VwcGxpZWRSZXNvdXJjZXM6IHByb2NzZXQgZ3JvcHMgMS4xOSAyCi0lJVBhZ2VzOiAyMQorJSVQYWdlczogMjIKICUlUGFnZU9yZGVyOiBBc2NlbmQKICUlRG9jdW1lbnRNZWRpYTogRGVmYXVsdCA1OTUgODQyIDAgKCkgKCkKICUlT3JpZW50YXRpb246IFBvcnRyYWl0CkBAIC00NDMsOSArNDQzLDkgQEAKIDIuNzU0KHlhKS0uMTUgRyhjdGkpLTIuNzU0IEUgLjU1NCAtLjE1KHZlIHMpLS4yNSBIIC4yNTQKICh1YnJvdXRpbmUgY2FsbCBcKGEgc2hlbGwgZnVuY3Rpb24gb3IgYSBzY3JpcHQgZSkuMTUgRiAtLjE1KHhlKS0uMTUgRwogLjI1NChjdXRlZCB3aXRoIHRoZSkuMTUgRiBGMiguKTIuNzUzIEUgRjAob3IpMi43NTMgRSBGMihzb3VyKTE0NCA1MzUuMiBRCi0oY2UpLS4xOCBFIEYwIC0uMihidSkzLjA2MiBHIDMuMDYyKGlsdGlucy4gVykuMiBGKGl0aG91dCktLjQgRSBGMSAtLjIKLShleCkzLjA2MiBHKHByKS4yIEUgRjAoLClBIEYyKGNhbGxlcikzLjA2MiBFIEYwIC41NjIKLShkaXNwbGF5cyB0aGUgbGluZSBudW1iZXIgYW5kIHNvdXJjZSBcMjE0bGVuYW1lIG9mIHRoZSBjdXJyZW50KTMuMDYyIEYKKyhjZSktLjE4IEUgRjAgLS4yKGJ1KTIuODI0IEcgMi44MjQoaWx0aW5zXCkuIFcpLjIgRihpdGhvdXQpLS40IEUgRjEgLS4yCisoZXgpMi44MjQgRyhwcikuMiBFIEYwKCwpQSBGMihjYWxsZXIpMi44MjQgRSBGMCAuMzI0CisoZGlzcGxheXMgdGhlIGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgXDIxNGxlbmFtZSBvZiB0aGUgY3VycmVudCkyLjgyNCBGCiAuMjU0KHN1YnJvdXRpbmUgY2FsbC4pMTQ0IDU0Ny4yIFIgLjI1NChJZiBhIG5vbi1uZSk1LjI1NCBGIC0uMDUoZ2EpLS4xNQogRyh0aSkuMDUgRSAuNTU0IC0uMTUodmUgaSktLjI1IEgobnRlKS4xNSBFIC4yNTMoZ2VyIGlzIHN1cHBsaWVkIGFzKS0uMTUKIEYgRjEgLS4yKGV4KTIuNzUzIEcocHIpLjIgRSBGMCgsKUEgRjIoY2FsbGVyKTIuNzUzIEUgRjAgLjI1MwpAQCAtNDU5LDExICs0NTksMTEgQEAKIChjdXRpbmcgYSBzdWJyb3V0aW5lIGNhbGwgb3IpLjE1IEYgRjEgLS4yKGV4KTMuMDIgRyhwcikuMiBFIEYwIC41MgogKGRvZXMgbm90IGNvcnJlLSkzLjAyIEYoc3BvbmQgdG8gYSB2KTE0NCA1OTUuMiBRCiAoYWxpZCBwb3NpdGlvbiBpbiB0aGUgY2FsbCBzdGFjay4pLS4yNSBFIEYyKGNkKTEwOCA2MTIgUSBGMChbKTIuNSBFIEYyCi0oXDI1NUx8LVApQSBGMCAyLjUoXVspQyBGMShkaXIpLTIuNSBFIEYwKF0pQSAuMjEKLShDaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRvKTE0NCA2MjQgUiBGMShkaXIpMi43MSBFIEYwIDUuMjEoLlQpQwotLjIxKGhlIHYpLTUuMjEgRihhcmlhYmxlKS0uMjUgRSBGMyhIT01FKTIuNzEgRSBGMCAuMjEoaXMgdGhlIGRlZikyLjQ2IEYKLShhdWx0KS0uMSBFIEYxKGRpcikyLjcxIEUgRjAgNS4yMSguVCkuNzMgRyAuMjEoaGUgdiktNS4yMSBGKGFyaWFibGUpLS4yNQotRSBGMyhDRFApMi43MSBFIC0uODU1KEFUKS0uNjY2IEcoSCkuODU1IEUgRjAgLjc3NgorPGFkNGM+QSBGMCh8WylBIEYyPGFkNTA+QSBGMChbKTIuNSBFIEYyPGFkNjU+QSBGMChdXV0gWylBIEYxKGRpcilBIEYwKF0pCitBIC4yMShDaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRvKTE0NCA2MjQgUiBGMShkaXIpMi43MSBFIEYwIDUuMjEKKyguVClDIC4yMShoZSB2KS01LjIxIEYoYXJpYWJsZSktLjI1IEUgRjMoSE9NRSkyLjcxIEUgRjAgLjIxKGlzIHRoZSBkZWYpCisyLjQ2IEYoYXVsdCktLjEgRSBGMShkaXIpMi43MSBFIEYwIDUuMjEoLlQpLjczIEcgLjIxKGhlIHYpLTUuMjEgRgorKGFyaWFibGUpLS4yNSBFIEYzKENEUCkyLjcxIEUgLS44NTUoQVQpLS42NjYgRyhIKS44NTUgRSBGMCAuNzc2CiAoZGVcMjE0bmVzIHRoZSBzZWFyY2ggcGF0aCBmb3IgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nKTE0NCA2MzYgUiBGMQogKGRpcikzLjI3NiBFIEYwIDUuNzc3KC5BKS43MyBHKGx0ZXJuYXRpKS01Ljc3NyBFIDEuMDc3IC0uMTUodmUgZCktLjI1IEgKIC43NzcoaXJlY3RvcnkgbmFtZXMgaW4pLjE1IEYgRjMoQ0RQKTMuMjc3IEUgLS44NTUoQVQpLS42NjYgRyhIKS44NTUgRSBGMApAQCAtNDc3LDIxNzUgKzQ3NywyMjQ2IEBACiAob3B0aW9uIHNheXMgdG8gdXNlKTIuOTc0IEYgLjU4KHRoZSBwaCkxNDQgNjcyIFIgLjU4CiAoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgaW5zdGVhZCBvZiBmb2xsbyktLjA1IEYgLjU3OQogKHdpbmcgc3ltYm9saWMgbGlua3MgXChzZWUgYWxzbyB0aGUpLS4yNSBGIEYyPGFkNTA+My4wNzkgRSBGMCAuNTc5Ci0ob3B0aW9uIHRvIHRoZSkzLjA3OSBGIEYyKHNldCkxNDQgNjg0IFEgRjAgLS4yKGJ1KTMuMzgzIEcgLjg4MwotKGlsdGluIGNvbW1hbmRcKTsgdGhlKS4yIEYgRjI8YWQ0Yz4zLjM4MyBFIEYwIC44ODQKLShvcHRpb24gZm9yY2VzIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvKTMuMzg0IEYgMy4zODQod2VkLiBBbiktLjI1IEYKLShhcikzLjM4NCBFIC44ODQoZ3VtZW50IG9mKS0uMTggRiBGMjxhZD4zLjM4NCBFIEYwKGlzKTMuMzg0IEUoZXF1aSkxNDQKLTY5NiBRIC0uMjUodmEpLS4yNSBHIC4zMTYobGVudCB0bykuMjUgRiBGMygkT0xEUFdEKTIuODE2IEUgRjQoLilBIEYwCi0uMzE2KElmIGEgbm9uLWVtcHR5IGRpcmVjdG9yeSBuYW1lIGZyb20pNC44MTYgRiBGMyhDRFApMi44MTUgRSAtLjg1NShBVCkKLS0uNjY2IEcoSCkuODU1IEUgRjAgLjMxNShpcyB1c2VkLCBvciBpZikyLjU2NSBGIEYyPGFkPjIuODE1IEUgRjAgLjMxNQotKGlzIHRoZSBcMjE0cnN0KTIuODE1IEYoYXIpMTQ0IDcwOCBRIC4xMTYoZ3VtZW50LCBhbmQgdGhlIGRpcmVjdG9yeSBjaGFcCi1uZ2UgaXMgc3VjY2Vzc2Z1bCwgdGhlIGFic29sdXRlIHBhdGhuYW1lIG9mIHRoZSBuZSktLjE4IEYgMi42MTYod3cpLS4yNQotRyAuMTE2KG9ya2luZyBkaXJlYy0pLTIuNzE2IEYgMS4xNjUKLSh0b3J5IGlzIHdyaXR0ZW4gdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4pMTQ0IDcyMCBSIDEuMTY0KFRoZSByZXR1cm4gdikKLTYuMTY0IEYgMS4xNjQoYWx1ZSBpcyB0cnVlIGlmIHRoZSBkaXJlY3RvcnkgdyktLjI1IEYgMS4xNjQKLShhcyBzdWNjZXNzZnVsbHkpLS4xIEYoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgyKQotMjAzLjcyNSBFIDAgQ2cgRVAKKyhvcHRpb24gdG8gdGhlKTMuMDc5IEYgRjIoc2V0KTE0NCA2ODQgUSBGMCAtLjIoYnUpMi43MTYgRyAuMjE2CisoaWx0aW4gY29tbWFuZFwpOyB0aGUpLjIgRiBGMjxhZDRjPjIuNzE2IEUgRjAgLjIxNgorKG9wdGlvbiBmb3JjZXMgc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG8pMi43MTYgRiAyLjcxNyh3ZWQuIElmKS0uMjUgRgorKHRoZSkyLjcxNyBFIEYyPGFkNjU+Mi43MTcgRSBGMCAuMjE3KG9wdGlvbiBpcyBzdXAtKTIuNzE3IEYgMS4wODcKKyhwbGllZCB3aXRoKTE0NCA2OTYgUiBGMjxhZDUwPjMuNTg3IEUgRjAgMy41ODcoLGEpQyAxLjA4NworKG5kIHRoZSBjdXJyZW50IHcpLTMuNTg3IEYgMS4wODYKKyhvcmtpbmcgZGlyZWN0b3J5IGNhbm5vdCBiZSBzdWNjZXNzZnVsbHkgZGV0ZXJtaW5lZCBhZnRlciBhIHN1Yy0pLS4xIEYKKy40NChjZXNzZnVsIGRpcmVjdG9yeSBjaGFuZ2UsKTE0NCA3MDggUiBGMihjZCkyLjk0IEUgRjAgLjQ0Cisod2lsbCByZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHN0YXR1cy4pMi45NCBGIC40NChBbiBhcik1LjQ0IEYgLjQ0CisoZ3VtZW50IG9mKS0uMTggRiBGMjxhZD4yLjk0IEUgRjAgLjQ0KGlzIGVxdWkpMi45NCBGIC0uMjUodmEpLS4yNSBHIC40NAorKGxlbnQgdG8pLjI1IEYgRjMoJE9MRFBXRCkxNDQgNzIwIFEgRjQoLilBIEYwIDEuMDQ1CisoSWYgYSBub24tZW1wdHkgZGlyZWN0b3J5IG5hbWUgZnJvbSk1LjU0NSBGIEYzKENEUCkzLjU0NSBFIC0uODU1KEFUKQorLS42NjYgRyhIKS44NTUgRSBGMCAxLjA0NChpcyB1c2VkLCBvciBpZikzLjI5NSBGIEYyPGFkPjMuNTQ0IEUgRjAgMS4wNDQKKyhpcyB0aGUgXDIxNHJzdCBhcikzLjU0NCBGKGd1bWVudCwpLS4xOCBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUQorKDIwMDQgQXByIDIwKTE0OC43MzUgRSgyKTIwMy43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDMgMwogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4Ci0oVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRShjaGFuZ2VkOyBmKQotMTQ0IDg0IFEoYWxzZSBvdGhlcndpc2UuKS0uMSBFL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihjb21tYW5kKTEwOCAxMDAuOCBRCi1GMChbKTIuNSBFIEYxKFwyNTVwVnYpQSBGMChdKUEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoY29tbWFuZCkyLjUgRSBGMAotKFspMi41IEUgRjIoYXIpQShnKS0uMzcgRSBGMCguLi5dKTIuNSBFKFJ1bikxNDQgMTEyLjggUSBGMihjb21tYW5kKTIuOTU2Ci1FIEYwKHdpdGgpMy41MjcgRSBGMihhcikzLjA4NyBFKGdzKS0uMzcgRSBGMCAuMjU3CisoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRSAuMDIxKGFuZCB0aFwKK2UgZGlyZWN0b3J5IGNoYW5nZSBpcyBzdWNjZXNzZnVsLCB0aGUgYWJzb2x1dGUgcGF0aG5hbWUgb2YgdGhlIG5lKTE0NCA4NAorUiAyLjUyMih3dyktLjI1IEcgLjAyMihvcmtpbmcgZGlyZWN0b3J5IGlzIHdyaXQtKS0yLjYyMiBGIC4xNjUKKyh0ZW4gdG8gdGhlIHN0YW5kYXJkIG91dHB1dC4pMTQ0IDk2IFIgLjE2NShUaGUgcmV0dXJuIHYpNS4xNjUgRiAuMTY1CisoYWx1ZSBpcyB0cnVlIGlmIHRoZSBkaXJlY3RvcnkgdyktLjI1IEYgLjE2NShhcyBzdWNjZXNzZnVsbHkgY2hhbmdlZDsgZikKKy0uMSBGKGFsc2UpLS4xIEUob3RoZXJ3aXNlLikxNDQgMTA4IFEvRjEgMTAvVGltZXMtQm9sZEAwIFNGKGNvbW1hbmQpMTA4CisxMjQuOCBRIEYwKFspMi41IEUgRjEoXDI1NXBWdilBIEYwKF0pQS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihjb21tYW5kKQorMi41IEUgRjAoWykyLjUgRSBGMihhcilBKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUoUnVuKTE0NCAxMzYuOCBRIEYyCisoY29tbWFuZCkyLjk1NiBFIEYwKHdpdGgpMy41MjcgRSBGMihhcikzLjA4NyBFKGdzKS0uMzcgRSBGMCAuMjU3CiAoc3VwcHJlc3NpbmcgdGhlIG5vcm1hbCBzaGVsbCBmdW5jdGlvbiBsb29rdXAuIE9ubHkgYikzLjAyNyBGIC4yNTcKLSh1aWx0aW4gY29tbWFuZHMgb3IpLS4yIEYgLjUwMihjb21tYW5kcyBmb3VuZCBpbiB0aGUpMTQ0IDEyNC44IFIvRjMgOQorKHVpbHRpbiBjb21tYW5kcyBvciktLjIgRiAuNTAyKGNvbW1hbmRzIGZvdW5kIGluIHRoZSkxNDQgMTQ4LjggUi9GMyA5CiAvVGltZXMtQm9sZEAwIFNGIC0uNjY2KFBBKTMuMDAyIEcoVEgpLS4xODkgRSBGMCAuNTAyKGFyZSBlKTIuNzUyIEYgLS4xNQogKHhlKS0uMTUgRyAzLjAwMihjdXRlZC4gSWYpLjE1IEYodGhlKTMuMDAyIEUgRjE8YWQ3MD4zLjAwMiBFIEYwIC41MDIKIChvcHRpb24gaXMgZ2kpMy4wMDIgRiAtLjE1KHZlKS0uMjUgRyAuNTAxKG4sIHRoZSBzZWFyY2ggZm9yKS4xNSBGIEYyCi0oY29tbWFuZCkzLjIwMSBFIEYwKGlzKTMuNzcxIEUgLjM5OShwZXJmb3JtZWQgdXNpbmcgYSBkZWYpMTQ0IDEzNi44IFIKKyhjb21tYW5kKTMuMjAxIEUgRjAoaXMpMy43NzEgRSAuMzk5KHBlcmZvcm1lZCB1c2luZyBhIGRlZikxNDQgMTYwLjggUgogLjM5OShhdWx0IHYpLS4xIEYgLjM5OShhbHVlIGZvciktLjI1IEYgRjMgLS42NjYoUEEpMi44OTkgRyhUSCktLjE4OSBFIEYwCiAuNCh0aGF0IGlzIGd1YXJhbnRlZWQgdG8gXDIxNG5kIGFsbCBvZiB0aGUgc3RhbmRhcmQgdXRpbGl0aWVzLikyLjY0OSBGCi0oSWYpNS40IEUgLjE3NShlaXRoZXIgdGhlKTE0NCAxNDguOCBSIEYxPGFkNTY+Mi42NzUgRSBGMChvcikyLjY3NSBFIEYxCisoSWYpNS40IEUgLjE3NShlaXRoZXIgdGhlKTE0NCAxNzIuOCBSIEYxPGFkNTY+Mi42NzUgRSBGMChvcikyLjY3NSBFIEYxCiA8YWQ3Nj4yLjY3NSBFIEYwIC4xNzUob3B0aW9uIGlzIHN1cHBsaWVkLCBhIGRlc2NyaXB0aW9uIG9mKTIuNjc1IEYgRjIKIChjb21tYW5kKTIuODc1IEUgRjAgLjE3NChpcyBwcmludGVkLikzLjQ0NSBGKFRoZSk1LjE3NCBFIEYxPGFkNzY+Mi42NzQgRQotRjAgLjE3NChvcHRpb24gY2F1c2VzKTIuNjc0IEYgMy4xMShhcykxNDQgMTYwLjggUyAuNjEoaW5nbGUgdyktMy4xMSBGCitGMCAuMTc0KG9wdGlvbiBjYXVzZXMpMi42NzQgRiAzLjExKGFzKTE0NCAxODQuOCBTIC42MShpbmdsZSB3KS0zLjExIEYKIC42MShvcmQgaW5kaWNhdGluZyB0aGUgY29tbWFuZCBvciBcMjE0bGUgbmFtZSB1c2VkIHRvIGluKS0uMSBGIC0uMih2bykKIC0uNCBHIC0uMShrZSkuMiBHIEYyKGNvbW1hbmQpMy40MSBFIEYwIC42MSh0byBiZSBkaXNwbGF5ZWQ7IHRoZSkzLjg4IEYKLUYxPGFkNTY+MTQ0IDE3Mi44IFEgRjAgLjI1KG9wdGlvbiBwcm9kdWNlcyBhIG1vcmUgdikyLjc1IEYgLjI1CitGMTxhZDU2PjE0NCAxOTYuOCBRIEYwIC4yNShvcHRpb24gcHJvZHVjZXMgYSBtb3JlIHYpMi43NSBGIC4yNQogKGVyYm9zZSBkZXNjcmlwdGlvbi4pLS4xNSBGIC4yNDkoSWYgdGhlKTUuMjUgRiBGMTxhZDU2PjIuNzQ5IEUgRjAob3IpCiAyLjc0OSBFIEYxPGFkNzY+Mi43NDkgRSBGMCAuMjQ5KG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIGUpMi43NDkgRiAuMjQ5Ci0oeGl0IHN0YXR1cyktLjE1IEYgMS4wMDQoaXMgMCBpZikxNDQgMTg0LjggUiBGMihjb21tYW5kKTMuNzA0IEUgRjAgLS4xCisoeGl0IHN0YXR1cyktLjE1IEYgMS4wMDQoaXMgMCBpZikxNDQgMjA4LjggUiBGMihjb21tYW5kKTMuNzA0IEUgRjAgLS4xCiAod2EpNC4yNzQgRyAzLjUwNChzZikuMSBHIDEuMDA1KG91bmQsIGFuZCAxIGlmIG5vdC4pLTMuNTA0IEYgMS4wMDUKIChJZiBuZWl0aGVyIG9wdGlvbiBpcyBzdXBwbGllZCBhbmQgYW4gZXJyb3Igb2NjdXJyZWQgb3IpNi4wMDUgRiBGMgotKGNvbW1hbmQpMTQ0LjIgMTk2LjggUSBGMCAxLjU5OShjYW5ub3QgYmUgZm91bmQsIHRoZSBlKTQuODY5IEYgMS41OTkKKyhjb21tYW5kKTE0NC4yIDIyMC44IFEgRjAgMS41OTkoY2Fubm90IGJlIGZvdW5kLCB0aGUgZSk0Ljg2OSBGIDEuNTk5CiAoeGl0IHN0YXR1cyBpcyAxMjcuKS0uMTUgRiAxLjU5OShPdGhlcndpc2UsIHRoZSBlKTYuNTk5IEYgMS41OTgKLSh4aXQgc3RhdHVzIG9mIHRoZSktLjE1IEYgRjEoY29tbWFuZCk0LjA5OCBFIEYwIC0uMihidSkxNDQgMjA4LjggUworKHhpdCBzdGF0dXMgb2YgdGhlKS0uMTUgRiBGMShjb21tYW5kKTQuMDk4IEUgRjAgLS4yKGJ1KTE0NCAyMzIuOCBTCiAoaWx0aW4gaXMgdGhlIGUpLjIgRSh4aXQgc3RhdHVzIG9mKS0uMTUgRSBGMihjb21tYW5kKTIuNSBFIEYwKC4pLjc3IEUgRjEKLShjb21wZ2VuKTEwOCAyMjUuNiBRIEYwKFspMi41IEUgRjIob3B0aW9uKUEgRjAgMi41KF1bKUMgRjIod29yKS0yLjUgRShkKQotLS4zNyBFIEYwKF0pQSAuMDEyKEdlbmVyYXRlIHBvc3NpYmxlIGNvbXBsZXRpb24gbWF0Y2hlcyBmb3IpMTQ0IDIzNy42IFIKKyhjb21wZ2VuKTEwOCAyNDkuNiBRIEYwKFspMi41IEUgRjIob3B0aW9uKUEgRjAgMi41KF1bKUMgRjIod29yKS0yLjUgRShkKQorLS4zNyBFIEYwKF0pQSAuMDEyKEdlbmVyYXRlIHBvc3NpYmxlIGNvbXBsZXRpb24gbWF0Y2hlcyBmb3IpMTQ0IDI2MS42IFIKIEYyKHdvcikyLjUxMyBFKGQpLS4zNyBFIEYwIC4wMTMoYWNjb3JkaW5nIHRvIHRoZSkyLjUxMyBGIEYyKG9wdGlvbikyLjUxMwogRSBGMCAuMDEzKHMsIHdoaWNoIG1heSBiZSBhbilCIDIuNTEzKHlvKS0uMTUgRyhwdGlvbiktMi41MTMgRSAuOTgyCi0oYWNjZXB0ZWQgYnkgdGhlKTE0NCAyNDkuNiBSIEYxKGNvbXBsZXRlKTMuNDgyIEUgRjAgLS4yKGJ1KTMuNDgxIEcgLjk4MQorKGFjY2VwdGVkIGJ5IHRoZSkxNDQgMjczLjYgUiBGMShjb21wbGV0ZSkzLjQ4MiBFIEYwIC0uMihidSkzLjQ4MSBHIC45ODEKIChpbHRpbiB3aXRoIHRoZSBlKS4yIEYgLjk4MSh4Y2VwdGlvbiBvZiktLjE1IEYgRjE8YWQ3MD4zLjQ4MSBFIEYwKGFuZCkKIDMuNDgxIEUgRjE8YWQ3Mj4zLjQ4MSBFIEYwIDMuNDgxKCxhKUMgLjk4MShuZCB3cml0ZSB0aGUgbWF0Y2hlcyB0byB0aGUpCi0tMy40ODEgRiAxLjQxNShzdGFuZGFyZCBvdXRwdXQuKTE0NCAyNjEuNiBSIDEuNDE1KFdoZW4gdXNpbmcgdGhlKTYuNDE1IEYKKy0zLjQ4MSBGIDEuNDE1KHN0YW5kYXJkIG91dHB1dC4pMTQ0IDI4NS42IFIgMS40MTUoV2hlbiB1c2luZyB0aGUpNi40MTUgRgogRjE8YWQ0Nj4zLjkxNSBFIEYwKG9yKTMuOTE1IEUgRjE8YWQ0Mz4zLjkxNSBFIEYwIDEuNDE1KG9wdGlvbnMsIHRoZSB2KQogMy45MTUgRiAxLjQxNShhcmlvdXMgc2hlbGwgdiktLjI1IEYgMS40MTUoYXJpYWJsZXMgc2V0IGJ5IHRoZSBwcm8tKS0uMjUKLUYoZ3JhbW1hYmxlIGNvbXBsZXRpb24gZikxNDQgMjczLjYgUShhY2lsaXRpZXMsIHdoaWxlIGEpLS4xIEUgLS4yNSh2YSkKK0YoZ3JhbW1hYmxlIGNvbXBsZXRpb24gZikxNDQgMjk3LjYgUShhY2lsaXRpZXMsIHdoaWxlIGEpLS4xIEUgLS4yNSh2YSkKIC0uMiBHKGlsYWJsZSwgd2lsbCBub3QgaGEpLjI1IEUgLjMgLS4xNSh2ZSB1KS0uMiBIKHNlZnVsIHYpLjE1IEUoYWx1ZXMuKQotLS4yNSBFIC4zNTIoVGhlIG1hdGNoZXMgd2lsbCBiZSBnZW5lcmF0ZWQgaW4gdGhlIHNhbWUgdykxNDQgMjk3LjYgUiAuMzUyCistLjI1IEUgLjM1MihUaGUgbWF0Y2hlcyB3aWxsIGJlIGdlbmVyYXRlZCBpbiB0aGUgc2FtZSB3KTE0NCAzMjEuNiBSIC4zNTIKIChheSBhcyBpZiB0aGUgcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gY29kZSBoYWQgZ2VuLSktLjEgRiAuMDIoZXJhdGVkIHRoXAogZW0gZGlyZWN0bHkgZnJvbSBhIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIHdpdGggdGhlIHNhbWUgXDIxNWFncy4pMTQ0Ci0zMDkuNiBSKElmKTUuMDIgRSBGMih3b3IpMi41MiBFKGQpLS4zNyBFIEYwIC4wMihpcyBzcGVjaVwyMTRlZCwgb25seSkKLTIuNTIgRih0aG9zZSBjb21wbGV0aW9ucyBtYXRjaGluZykxNDQgMzIxLjYgUSBGMih3b3IpMi41IEUoZCktLjM3IEUgRjAKLSh3aWxsIGJlIGRpc3BsYXllZC4pMi41IEUoVGhlIHJldHVybiB2KTE0NCAzNDUuNiBRCiszMzMuNiBSKElmKTUuMDIgRSBGMih3b3IpMi41MiBFKGQpLS4zNyBFIEYwIC4wMihpcyBzcGVjaVwyMTRlZCwgb25seSkKKzIuNTIgRih0aG9zZSBjb21wbGV0aW9ucyBtYXRjaGluZykxNDQgMzQ1LjYgUSBGMih3b3IpMi41IEUoZCktLjM3IEUgRjAKKyh3aWxsIGJlIGRpc3BsYXllZC4pMi41IEUoVGhlIHJldHVybiB2KTE0NCAzNjkuNiBRCiAoYWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbiktLjI1IEUgLS4yNSh2YSktLjQgRwogKGxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIG9yIG5vIG1hdGNoZXMgd2VyZSBnZW5lcmF0ZWQuKS4yNSBFIEYxCi0oY29tcGxldGUpMTA4IDM2Mi40IFEgRjAoWykzLjcyOSBFIEYxKFwyNTVhYmNkZWZnamtzdXYpQSBGMCAzLjcyOShdWylDCisoY29tcGxldGUpMTA4IDM4Ni40IFEgRjAoWykzLjcyOSBFIEYxKFwyNTVhYmNkZWZnamtzdXYpQSBGMCAzLjcyOShdWylDCiBGMTxhZDZmPi0zLjcyOSBFIEYyKGNvbXAtb3B0aW9uKTMuNzI5IEUgRjAgMy43MjkoXVspQyBGMShcMjU1REUpLTMuNzI5IEUKIEYwIDMuNzI4KF1bKUMgRjE8YWQ0MT4tMy43MjggRSBGMihhY3Rpb24pMy43MjggRSBGMCAzLjcyOChdWylDIEYxPGFkNDc+CiAtMy43MjggRSBGMihnbG9icGF0KTMuNzI4IEUgRjAgMy43MjgoXVspQyBGMTxhZDU3Pi0zLjcyOCBFIEYyKHdvcikzLjcyOAogRShkbGlzdCktLjM3IEUgRjAgMy43MjgoXVspQyBGMTxhZDQ2Pi0zLjcyOCBFIEYyKGZ1bmMtKTMuNzI4IEUodGlvbikxMDgKLTM3NC40IFEgRjAgMi41KF1bKUMgRjE8YWQ0Mz4tMi41IEUgRjIoY29tbWFuZCkyLjUgRSBGMChdKUEoWykxNDQgMzg2LjQgUQorMzk4LjQgUSBGMCAyLjUoXVspQyBGMTxhZDQzPi0yLjUgRSBGMihjb21tYW5kKTIuNSBFIEYwKF0pQShbKTE0NCA0MTAuNCBRCiBGMTxhZDU4PkEgRjIoXDIxNGx0ZXJwYXQpMi41IEUgRjAgMi41KF1bKUMgRjE8YWQ1MD4tMi41IEUgRjIocHIpMi41IEUKIChlXDIxNHgpLS4zNyBFIEYwIDIuNShdWylDIEYxPGFkNTM+LTIuNSBFIEYyKHN1ZikyLjUgRTw4Yzc4Pi0uMTggRSBGMChdKQogQSBGMihuYW1lKTIuNSBFIEYwKFspMi41IEUgRjIobmFtZSAuLi4pQSBGMChdKUEgRjEoY29tcGxldGUgXDI1NXByKTEwOAotMzk4LjQgUSBGMChbKTIuNSBFIEYxKFwyNTVERSlBIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKC4uLl0pMi41IEUKLS42MzQoU3BlY2lmeSBobykxNDQgNDEwLjQgUiAzLjEzNCh3YSktLjI1IEcgLS4xOChyZyktMy4xMzQgRyAuNjM0Cis0MjIuNCBRIEYwKFspMi41IEUgRjEoXDI1NURFKUEgRjAgMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAoLi4uXSkyLjUgRQorLjYzNChTcGVjaWZ5IGhvKTE0NCA0MzQuNCBSIDMuMTM0KHdhKS0uMjUgRyAtLjE4KHJnKS0zLjEzNCBHIC42MzQKICh1bWVudHMgdG8gZWFjaCkuMTggRiBGMihuYW1lKTMuMTM0IEUgRjAgLjYzNChzaG91bGQgYmUgY29tcGxldGVkLikzLjEzNAogRiAuNjMzKElmIHRoZSk1LjYzNCBGIEYxPGFkNzA+My4xMzMgRSBGMCAuNjMzCiAob3B0aW9uIGlzIHN1cHBsaWVkLCBvciBpZiBubykzLjEzMyBGIC4xMzkob3B0aW9ucyBhcmUgc3VwcGxpZWQsIGUpMTQ0Ci00MjIuNCBSIC4xMzkoeGlzdGluZyBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbnMgYXJlIHByaW50ZWQgaW4gYSB3KS0uMTUKKzQ0Ni40IFIgLjEzOSh4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9ucyBhcmUgcHJpbnRlZCBpbiBhIHcpLS4xNQogRiAuMTQoYXkgdGhhdCBhbGxvKS0uMSBGIC4xNCh3cyB0aGVtIHRvIGJlKS0uMjUgRiAuMzEocmV1c2VkIGFzIGlucHV0LikKLTE0NCA0MzQuNCBSKFRoZSk1LjMxIEUgRjE8YWQ3Mj4yLjgxIEUgRjAgLjMxKG9wdGlvbiByZW1vKTIuODEgRiAtLjE1KHZlKQorMTQ0IDQ1OC40IFIoVGhlKTUuMzEgRSBGMTxhZDcyPjIuODEgRSBGMCAuMzEob3B0aW9uIHJlbW8pMi44MSBGIC0uMTUodmUpCiAtLjE1IEcgMi44MShzYWMpLjE1IEcgLjMxKG9tcGxldGlvbiBzcGVjaVwyMTRjYXRpb24gZm9yIGVhY2gpLTIuODEgRiBGMgogKG5hbWUpMi44MSBFIEYwIDIuODEoLG8pQyAxLjExIC0uNChyLCBpKS0yLjgxIEggMi44MShmbikuNCBHKG8pLTIuODEgRQogRjIobmFtZSkyLjgxIEUgRjAocylBIDEuMzQ2Ci0oYXJlIHN1cHBsaWVkLCBhbGwgY29tcGxldGlvbiBzcGVjaVwyMTRjYXRpb25zLikxNDQgNDQ2LjQgUihUaGUpNi4zNDcgRQorKGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9ucy4pMTQ0IDQ3MC40IFIoVGhlKTYuMzQ3IEUKIEYxPGFkNDQ+My44NDcgRSBGMCAxLjM0NyhvcHRpb24gaW5kaWNhdGVzIHRoYXQgdGhlIHJlbWFpbmluZyBvcHRpb25zKQotMy44NDcgRiAuNShhbmQgYWN0aW9ucyBzaG91bGQgYXBwbHkgdG8gdGhlIGApMTQ0IDQ1OC40IFIoYGRlZiktLjc0IEUKKzMuODQ3IEYgLjUoYW5kIGFjdGlvbnMgc2hvdWxkIGFwcGx5IHRvIHRoZSBgKTE0NCA0ODIuNCBSKGBkZWYpLS43NCBFCiAoYXVsdCcpLS4xIEUgMygnYyktLjc0IEcgLjUKIChvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQgb24pLTMgRiAzLjQ1NShhYykxNDQKLTQ3MC40IFMgLjk1NShvbW1hbmQgZm9yIHdoaWNoIG5vIGNvbXBsZXRpb24gaGFzIHByZSktMy40NTUgRiAuOTU1Cis0OTQuNCBTIC45NTUob21tYW5kIGZvciB3aGljaCBubyBjb21wbGV0aW9uIGhhcyBwcmUpLTMuNDU1IEYgLjk1NQogKHZpb3VzbHkgYmVlbiBkZVwyMTRuZWQuKS0uMjUgRihUaGUpNS45NTUgRSBGMTxhZDQ1PjMuNDU1IEUgRjAgLjk1NQogKG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCkzLjQ1NSBGIC4wNjUKLSh0aGUgcmVtYWluaW5nIG9wdGlvbnMgYW5kIGFjdGlvbnMgc2hvdWxkIGFwcGx5IHRvIGApMTQ0IDQ4Mi40IFIKKyh0aGUgcmVtYWluaW5nIG9wdGlvbnMgYW5kIGFjdGlvbnMgc2hvdWxkIGFwcGx5IHRvIGApMTQ0IDUwNi40IFIKIChgZW1wdHknKS0uNzQgRSAyLjU2NCgnYyktLjc0IEcgLjA2NAogKG9tbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGUtKS0yLjU2NCBGCi0odGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lLikxNDQgNDk0LjQgUSAxLjQzNworKHRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZS4pMTQ0IDUxOC40IFEgMS40MzcKIChUaGUgcHJvY2VzcyBvZiBhcHBseWluZyB0aGVzZSBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbnMgd2hlbiB3KTE0NAotNTE4LjQgUiAxLjQzOChvcmQgY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgaXMpLS4xIEYoZGVzY3JpYmVkIGFibykxNDQKLTUzMC40IFEgLjMgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYxKFByKTIuNSBFCis1NDIuNCBSIDEuNDM4KG9yZCBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBpcyktLjEgRihkZXNjcmliZWQgYWJvKTE0NAorNTU0LjQgUSAuMyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjEoUHIpMi41IEUKIChvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBFIEYwKC4pQSAuNTU2Ci0oT3RoZXIgb3B0aW9ucywgaWYgc3BlY2lcMjE0ZWQsIGhhKTE0NCA1NTQuNCBSIC44NTYgLS4xNSh2ZSB0KS0uMiBIIC41NTUKKyhPdGhlciBvcHRpb25zLCBpZiBzcGVjaVwyMTRlZCwgaGEpMTQ0IDU3OC40IFIgLjg1NiAtLjE1KHZlIHQpLS4yIEggLjU1NQogKGhlIGZvbGxvKS4xNSBGIC41NTUod2luZyBtZWFuaW5ncy4pLS4yNSBGIC41NTUoVGhlIGFyKTUuNTU1IEYgLjU1NQogKGd1bWVudHMgdG8gdGhlKS0uMTggRiBGMTxhZDQ3PjMuMDU1IEUgRjAoLClBIEYxPGFkNTc+My4wNTUgRSBGMCAzLjA1NQogKCxhKUMobmQpLTMuMDU1IEUgRjE8YWQ1OD4zLjA1NSBFIEYwIC43MjIob3B0aW9ucyBcKGFuZCwgaWYgbmVjZXNzYXJ5KQotMTQ0IDU2Ni40IFIgMy4yMjIoLHQpLS42NSBHKGhlKS0zLjIyMiBFIEYxPGFkNTA+My4yMjIgRSBGMChhbmQpMy4yMjIgRQorMTQ0IDU5MC40IFIgMy4yMjIoLHQpLS42NSBHKGhlKS0zLjIyMiBFIEYxPGFkNTA+My4yMjIgRSBGMChhbmQpMy4yMjIgRQogRjE8YWQ1Mz4zLjIyMiBFIEYwIC43MjMKIChvcHRpb25zXCkgc2hvdWxkIGJlIHF1b3RlZCB0byBwcm90ZWN0IHRoZW0gZnJvbSBlKTMuMjIyIEYoeHBhbi0pLS4xNSBFCi0oc2lvbiBiZWZvcmUgdGhlKTE0NCA1NzguNCBRIEYxKGNvbXBsZXRlKTIuNSBFIEYwIC0uMihidSkyLjUgRwotKGlsdGluIGlzIGluKS4yIEUgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQuKS4xIEUgRjE8YWQ2Zj4xNDQgNTkwLjQgUQotRjIoY29tcC1vcHRpb24pMi41IEUgRjAoVGhlKTE4NCA2MDIuNCBRIEYyKGNvbXAtb3B0aW9uKTIuNzkxIEUgRjAgLjI5MQorKHNpb24gYmVmb3JlIHRoZSkxNDQgNjAyLjQgUSBGMShjb21wbGV0ZSkyLjUgRSBGMCAtLjIoYnUpMi41IEcKKyhpbHRpbiBpcyBpbikuMiBFIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyhkLikuMSBFIEYxPGFkNmY+MTQ0IDYxNC40IFEKK0YyKGNvbXAtb3B0aW9uKTIuNSBFIEYwKFRoZSkxODQgNjI2LjQgUSBGMihjb21wLW9wdGlvbikyLjc5MSBFIEYwIC4yOTEKIChjb250cm9scyBzZSkyLjc5MSBGIC0uMTUodmUpLS4yNSBHIC4yOTEocmFsIGFzcGVjdHMgb2YgdGhlIGNvbXBzcGVjJykKIC4xNSBGIDIuNzkxKHNiKS0uNTUgRyhlaGEpLTIuNzkxIEUgLjI5MSh2aW9yIGJlKS0uMiBGIC4yOTEKLSh5b25kIHRoZSBzaW1wbGUpLS4xNSBGKGdlbmVyYXRpb24gb2YgY29tcGxldGlvbnMuKTE4NCA2MTQuNCBRIEYyCi0oY29tcC1vcHRpb24pNSBFIEYwKG1heSBiZSBvbmUgb2Y6KTIuNSBFIEYxKGJhc2hkZWZhdWx0KTE4NCA2MjYuNCBRIEYwCi0uMjgxKFBlcmZvcm0gdGhlIHJlc3Qgb2YgdGhlIGRlZikyMjQgNjM4LjQgUihhdWx0KS0uMSBFIEYxKGJhc2gpMi43ODEgRQorKHlvbmQgdGhlIHNpbXBsZSktLjE1IEYoZ2VuZXJhdGlvbiBvZiBjb21wbGV0aW9ucy4pMTg0IDYzOC40IFEgRjIKKyhjb21wLW9wdGlvbik1IEUgRjAobWF5IGJlIG9uZSBvZjopMi41IEUgRjEoYmFzaGRlZmF1bHQpMTg0IDY1MC40IFEgRjAKKy4yODEoUGVyZm9ybSB0aGUgcmVzdCBvZiB0aGUgZGVmKTIyNCA2NjIuNCBSKGF1bHQpLS4xIEUgRjEoYmFzaCkyLjc4MSBFCiBGMCAuMjgxKGNvbXBsZXRpb25zIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8pMi43ODEgRihtYXRjaGVzLikyMjQKLTY1MC40IFEgRjEoZGVmYXVsdCkxODQgNjYyLjQgUSBGMCAyLjg3NihVc2UgcmVhZGxpbmUnKTEwIEYgNS4zNzYoc2QpLS41NQorNjc0LjQgUSBGMShkZWZhdWx0KTE4NCA2ODYuNCBRIEYwIDIuODc2KFVzZSByZWFkbGluZScpMTAgRiA1LjM3NihzZCktLjU1CiBHKGVmKS01LjM3NiBFIDIuODc1CiAoYXVsdCBcMjE0bGVuYW1lIGNvbXBsZXRpb24gaWYgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBubyktLjEgRihtYXRjaGVzLikKLTIyNCA2NzQuNCBRIEYxKGRpcikxODQgNjg2LjQgUShuYW1lcyktLjE1IEUgRjAoUGVyZm9ybSBkaXJlY3RvcnkgbmFtZSBjXAotb21wbGV0aW9uIGlmIHRoZSBjb21wc3BlYyBnZW5lcmF0ZXMgbm8gbWF0Y2hlcy4pMjI0IDY5OC40IFEKLShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDMpMjAzLjcyNSBFIDAgQ2cgRVAKKzIyNCA2OTguNCBRKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMykyMDMuNzI1IEUgMCBDZworRVAKICUlUGFnZTogNCA0CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKIChUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCi0vVGltZXMtQm9sZEAwIFNGKFwyMTRsZW5hbWVzKTE4NCA4NCBRIEYwIC0uNyhUZSkyMjQgOTYgUyAuMTM3KGxsIHJlYWRsaVwKLW5lIHRoYXQgdGhlIGNvbXBzcGVjIGdlbmVyYXRlcyBcMjE0bGVuYW1lcywgc28gaXQgY2FuIHBlcmZvcm0gYW4pLjcgRgotMi42Mzc8Nzk4Yz4tLjE1IEcobGUtKS0yLjYzNyBFIC4xMzQobmFtZVwyNTVzcGVjaVwyMTRjIHByb2Nlc3NpbmcgXChsaWspCi0yMjQgMTA4IFIgMi42MzQoZWEpLS4xIEcgLjEzNAorL1RpbWVzLUJvbGRAMCBTRihkaXIpMTg0IDg0IFEobmFtZXMpLS4xNSBFIEYwKFBlcmZvcm0gZGlyZWN0b3J5IG5hbWUgY29cCittcGxldGlvbiBpZiB0aGUgY29tcHNwZWMgZ2VuZXJhdGVzIG5vIG1hdGNoZXMuKTIyNCA5NiBRIEYxKFwyMTRsZW5hbWVzKQorMTg0IDEwOCBRIEYwIC0uNyhUZSkyMjQgMTIwIFMgLjEzNyhsbCByZWFkbGluZSB0aGF0IHRoZSBjb21wc3BlYyBnZW5lcmFcCit0ZXMgXDIxNGxlbmFtZXMsIHNvIGl0IGNhbiBwZXJmb3JtIGFuKS43IEYgMi42Mzc8Nzk4Yz4tLjE1IEcobGUtKS0yLjYzNworRSAuMTM0KG5hbWVcMjU1c3BlY2lcMjE0YyBwcm9jZXNzaW5nIFwobGlrKTIyNCAxMzIgUiAyLjYzNChlYSktLjEgRyAuMTM0CiAoZGRpbmcgYSBzbGFzaCB0byBkaXJlY3RvcnkgbmFtZXMsIHF1b3Rpbmcgc3BlLSktMi42MzQgRiAuNDUKLShjaWFsIGNoYXJhY3RlcnMsIG9yIHN1cHByZXNzaW5nIHRyYWlsaW5nIHNwYWNlc1wpLikyMjQgMTIwIFIgLjQ1Ci0oSW50ZW5kZWQgdG8gYmUgdXNlZCB3aXRoIHNoZWxsKTUuNDUgRihmdW5jdGlvbnMuKTIyNCAxMzIgUSBGMShub3NwYWNlKQotMTg0IDE0NCBRIEYwIC0uNyhUZSk2LjExIEcgLjIyCisoY2lhbCBjaGFyYWN0ZXJzLCBvciBzdXBwcmVzc2luZyB0cmFpbGluZyBzcGFjZXNcKS4pMjI0IDE0NCBSIC40NQorKEludGVuZGVkIHRvIGJlIHVzZWQgd2l0aCBzaGVsbCk1LjQ1IEYoZnVuY3Rpb25zLikyMjQgMTU2IFEgRjEobm9zcGFjZSkKKzE4NCAxNjggUSBGMCAtLjcoVGUpNi4xMSBHIC4yMgogKGxsIHJlYWRsaW5lIG5vdCB0byBhcHBlbmQgYSBzcGFjZSBcKHRoZSBkZWYpLjcgRiAuMjIoYXVsdFwpIHRvIHcpLS4xIEYKLS4yMihvcmRzIGNvbXBsZXRlZCBhdCB0aGUgZW5kKS0uMSBGKG9mIHRoZSBsaW5lLikyMjQgMTU2IFEgRjEocGx1c2RpcnMpCi0xODQgMTY4IFEgRjAgMS45ODUoQWZ0ZXIgYW4pNS41NCBGIDQuNDg1KHltKS0uMTUgRyAxLjk4NQorLjIyKG9yZHMgY29tcGxldGVkIGF0IHRoZSBlbmQpLS4xIEYob2YgdGhlIGxpbmUuKTIyNCAxODAgUSBGMShwbHVzZGlycykKKzE4NCAxOTIgUSBGMCAxLjk4NShBZnRlciBhbik1LjU0IEYgNC40ODUoeW0pLS4xNSBHIDEuOTg1CiAoYXRjaGVzIGRlXDIxNG5lZCBieSB0aGUgY29tcHNwZWMgYXJlIGdlbmVyYXRlZCwgZGlyZWN0b3J5IG5hbWUpLTQuNDg1IEYKLS41ODQoY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgYW5kIGFuKTIyNCAxODAgUiAzLjA4NCh5bSktLjE1IEcgLjU4NAotKGF0Y2hlcyBhcmUgYWRkZWQgdG8gdGhlIHJlc3VsdHMgb2YgdGhlIG90aGVyKS0zLjA4NCBGKGFjdGlvbnMuKTIyNCAxOTIKLVEgRjE8YWQ0MT4xNDQgMjA0IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoYWN0aW9uKTIuNSBFIEYwKFRoZSkxODQgMjE2CisuNTg0KGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkIGFuZCBhbikyMjQgMjA0IFIgMy4wODQoeW0pLS4xNSBHIC41ODQKKyhhdGNoZXMgYXJlIGFkZGVkIHRvIHRoZSByZXN1bHRzIG9mIHRoZSBvdGhlciktMy4wODQgRihhY3Rpb25zLikyMjQgMjE2CitRIEYxPGFkNDE+MTQ0IDIyOCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKGFjdGlvbikyLjUgRSBGMChUaGUpMTg0IDI0MAogUSBGMihhY3Rpb24pMi41IEUgRjAobWF5IGJlIG9uZSBvZiB0aGUgZm9sbG8pMi41IEUKICh3aW5nIHRvIGdlbmVyYXRlIGEgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9uczopLS4yNSBFIEYxKGFsaWFzKTE4NAotMjI4IFEgRjAoQWxpYXMgbmFtZXMuKTIwLjU1IEUoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjE+Mi41Ci1FIEYwKC4pQSBGMShhcnJheXYpMTg0IDI0MCBRKGFyKS0uMSBFIEYwKEFycmF5IHYpMjI0IDI1MiBRCi0oYXJpYWJsZSBuYW1lcy4pLS4yNSBFIEYxIDQuNyhiaW5kaW5nIFJlYWRsaW5lKTE4NCAyNjQgUiBGMCAtLjEoa2UpMi41IEcKLTIuNSh5YiktLjA1IEcoaW5kaW5nIG5hbWVzLiktMi41IEUgRjEgLS4yKGJ1KTE4NCAyNzYgUyhpbHRpbikuMiBFIEYwCisyNTIgUSBGMChBbGlhcyBuYW1lcy4pMjAuNTUgRShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2MT4yLjUKK0UgRjAoLilBIEYxKGFycmF5dikxODQgMjY0IFEoYXIpLS4xIEUgRjAoQXJyYXkgdikyMjQgMjc2IFEKKyhhcmlhYmxlIG5hbWVzLiktLjI1IEUgRjEgNC43KGJpbmRpbmcgUmVhZGxpbmUpMTg0IDI4OCBSIEYwIC0uMShrZSkyLjUgRworMi41KHliKS0uMDUgRyhpbmRpbmcgbmFtZXMuKS0yLjUgRSBGMSAtLjIoYnUpMTg0IDMwMCBTKGlsdGluKS4yIEUgRjAKIChOYW1lcyBvZiBzaGVsbCBiKTExLjg1IEUodWlsdGluIGNvbW1hbmRzLiktLjIgRQotKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDYyPjIuNSBFIEYwKC4pQSBGMShjb21tYW5kKTE4NCAyODgKLVEgRjAoQ29tbWFuZCBuYW1lcy4pMjI0IDMwMCBRKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDYzPjIuNQotRSBGMCguKUEgRjEoZGlyKTE4NCAzMTIgUShlY3RvcnkpLS4xOCBFIEYwKERpcmVjdG9yeSBuYW1lcy4pMjI0IDMyNCBRCi0oTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjQ+Mi41IEUgRjAoLilBIEYxKGRpc2FibGVkKTE4NCAzMzYKLVEgRjAoTmFtZXMgb2YgZGlzYWJsZWQgc2hlbGwgYikyMjQgMzQ4IFEodWlsdGlucy4pLS4yIEUgRjEoZW5hYmxlZCkxODQKLTM2MCBRIEYwKE5hbWVzIG9mIGVuYWJsZWQgc2hlbGwgYik2LjY2IEUodWlsdGlucy4pLS4yIEUgRjEoZXhwb3J0KTE4NAotMzcyIFEgRjAoTmFtZXMgb2YgZSkxMi4yMyBFKHhwb3J0ZWQgc2hlbGwgdiktLjE1IEUgMi41KGFyaWFibGVzLiBNYXkpCisoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjI+Mi41IEUgRjAoLilBIEYxKGNvbW1hbmQpMTg0IDMxMgorUSBGMChDb21tYW5kIG5hbWVzLikyMjQgMzI0IFEoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjM+Mi41CitFIEYwKC4pQSBGMShkaXIpMTg0IDMzNiBRKGVjdG9yeSktLjE4IEUgRjAoRGlyZWN0b3J5IG5hbWVzLikyMjQgMzQ4IFEKKyhNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2ND4yLjUgRSBGMCguKUEgRjEoZGlzYWJsZWQpMTg0IDM2MAorUSBGMChOYW1lcyBvZiBkaXNhYmxlZCBzaGVsbCBiKTIyNCAzNzIgUSh1aWx0aW5zLiktLjIgRSBGMShlbmFibGVkKTE4NAorMzg0IFEgRjAoTmFtZXMgb2YgZW5hYmxlZCBzaGVsbCBiKTYuNjYgRSh1aWx0aW5zLiktLjIgRSBGMShleHBvcnQpMTg0CiszOTYgUSBGMChOYW1lcyBvZiBlKTEyLjIzIEUoeHBvcnRlZCBzaGVsbCB2KS0uMTUgRSAyLjUoYXJpYWJsZXMuIE1heSkKIC0uMjUgRihhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTIuNSBFIEYxPGFkNjU+Mi41IEUgRjAoLilBIEYxKFwyMTRsZSkxODQKLTM4NCBRIEYwKEZpbGUgbmFtZXMuKTI3LjIyIEUoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjY+Mi41Ci1FIEYwKC4pQSBGMShmdW5jdGlvbikxODQgMzk2IFEgRjAoTmFtZXMgb2Ygc2hlbGwgZnVuY3Rpb25zLikyMjQgNDA4IFEgRjEKLShncikxODQgNDIwIFEob3VwKS0uMTggRSBGMChHcm91cCBuYW1lcy4pMTQuNjIgRQorNDA4IFEgRjAoRmlsZSBuYW1lcy4pMjcuMjIgRShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ2Nj4yLjUKK0UgRjAoLilBIEYxKGZ1bmN0aW9uKTE4NCA0MjAgUSBGMChOYW1lcyBvZiBzaGVsbCBmdW5jdGlvbnMuKTIyNCA0MzIgUSBGMQorKGdyKTE4NCA0NDQgUShvdXApLS4xOCBFIEYwKEdyb3VwIG5hbWVzLikxNC42MiBFCiAoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNjc+Mi41IEUgRjAoLilBIEYxKGhlbHB0b3BpYykxODQKLTQzMiBRIEYwKEhlbHAgdG9waWNzIGFzIGFjY2VwdGVkIGJ5IHRoZSkyMjQgNDQ0IFEgRjEoaGVscCkyLjUgRSBGMCAtLjIKLShidSkyLjUgRyhpbHRpbi4pLjIgRSBGMShob3N0bmFtZSkxODQgNDU2IFEgRjAoSG9zdG5hbWVzLCBhcyB0YWspMjI0IDQ2OAorNDU2IFEgRjAoSGVscCB0b3BpY3MgYXMgYWNjZXB0ZWQgYnkgdGhlKTIyNCA0NjggUSBGMShoZWxwKTIuNSBFIEYwIC0uMgorKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYxKGhvc3RuYW1lKTE4NCA0ODAgUSBGMChIb3N0bmFtZXMsIGFzIHRhaykyMjQgNDkyCiBRKGVuIGZyb20gdGhlIFwyMTRsZSBzcGVjaVwyMTRlZCBieSB0aGUpLS4xIEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YKLShIT1NURklMRSkyLjUgRSBGMChzaGVsbCB2KTIuMjUgRShhcmlhYmxlLiktLjI1IEUgRjEoam9iKTE4NCA0ODAgUSBGMAorKEhPU1RGSUxFKTIuNSBFIEYwKHNoZWxsIHYpMi4yNSBFKGFyaWFibGUuKS0uMjUgRSBGMShqb2IpMTg0IDUwNCBRIEYwCiAoSm9iIG5hbWVzLCBpZiBqb2IgY29udHJvbCBpcyBhY3RpKTI2LjExIEUgLS4xNSh2ZSktLjI1IEcgNSguTSkuMTUgRwotKGF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpLTUgRSBGMTxhZDZhPjIuNSBFIEYwKC4pQSBGMSAtLjEoa2UpMTg0IDQ5MiBTCi0oeXcpLjEgRShvcmQpLS4xIEUgRjAoU2hlbGwgcmVzZXJ2KTIyNCA1MDQgUShlZCB3KS0uMTUgRSAyLjUob3Jkcy4gTWF5KQorKGF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpLTUgRSBGMTxhZDZhPjIuNSBFIEYwKC4pQSBGMSAtLjEoa2UpMTg0IDUxNiBTCisoeXcpLjEgRShvcmQpLS4xIEUgRjAoU2hlbGwgcmVzZXJ2KTIyNCA1MjggUShlZCB3KS0uMTUgRSAyLjUob3Jkcy4gTWF5KQogLS4xIEYoYWxzbyBiZSBzcGVjaVwyMTRlZCBhcykyLjUgRSBGMTxhZDZiPjIuNSBFIEYwKC4pQSBGMShydW5uaW5nKTE4NAotNTE2IFEgRjAoTmFtZXMgb2YgcnVubmluZyBqb2JzLCBpZiBqb2IgY29udHJvbCBpcyBhY3RpKTUuNTQgRSAtLjE1KHZlKQotLS4yNSBHKC4pLjE1IEUgRjEoc2VyKTE4NCA1MjggUSh2aWNlKS0uMSBFIEYwKFNlcnZpY2UgbmFtZXMuKTEwLjY3IEUKLShNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ3Mz4yLjUgRSBGMCguKUEgRjEoc2V0b3B0KTE4NCA1NDAgUQorNTQwIFEgRjAoTmFtZXMgb2YgcnVubmluZyBqb2JzLCBpZiBqb2IgY29udHJvbCBpcyBhY3RpKTUuNTQgRSAtLjE1KHZlKQorLS4yNSBHKC4pLjE1IEUgRjEoc2VyKTE4NCA1NTIgUSh2aWNlKS0uMSBFIEYwKFNlcnZpY2UgbmFtZXMuKTEwLjY3IEUKKyhNYXkgYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyk1IEUgRjE8YWQ3Mz4yLjUgRSBGMCguKUEgRjEoc2V0b3B0KTE4NCA1NjQgUQogRjAgLTEuMTEoVmEpMTQuNDUgRyhsaWQgYXIpMS4xMSBFKGd1bWVudHMgZm9yIHRoZSktLjE4IEUgRjE8YWQ2Zj4yLjUgRQogRjAob3B0aW9uIHRvIHRoZSkyLjUgRSBGMShzZXQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluLikuMiBFIEYxCi0oc2hvcHQpMTg0IDU1MiBRIEYwKFNoZWxsIG9wdGlvbiBuYW1lcyBhcyBhY2NlcHRlZCBieSB0aGUpMTYuNjYgRSBGMQotKHNob3B0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbi4pLjIgRSBGMShzaWduYWwpMTg0IDU2NCBRIEYwCi0oU2lnbmFsIG5hbWVzLikxNC45OSBFIEYxKHN0b3BwZWQpMTg0IDU3NiBRIEYwCisoc2hvcHQpMTg0IDU3NiBRIEYwKFNoZWxsIG9wdGlvbiBuYW1lcyBhcyBhY2NlcHRlZCBieSB0aGUpMTYuNjYgRSBGMQorKHNob3B0KTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbi4pLjIgRSBGMShzaWduYWwpMTg0IDU4OCBRIEYwCisoU2lnbmFsIG5hbWVzLikxNC45OSBFIEYxKHN0b3BwZWQpMTg0IDYwMCBRIEYwCiAoTmFtZXMgb2Ygc3RvcHBlZCBqb2JzLCBpZiBqb2IgY29udHJvbCBpcyBhY3RpKTYuNjYgRSAtLjE1KHZlKS0uMjUgRyguKQotLjE1IEUgRjEodXNlcikxODQgNTg4IFEgRjAoVXNlciBuYW1lcy4pMjEuNjcgRQotKE1heSBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTUgRSBGMTxhZDc1PjIuNSBFIEYwKC4pQSBGMSAtLjEodmEpMTg0IDYwMCBTCisuMTUgRSBGMSh1c2VyKTE4NCA2MTIgUSBGMChVc2VyIG5hbWVzLikyMS42NyBFCisoTWF5IGFsc28gYmUgc3BlY2lcMjE0ZWQgYXMpNSBFIEYxPGFkNzU+Mi41IEUgRjAoLilBIEYxIC0uMSh2YSkxODQgNjI0IFMKIChyaWFibGUpLjEgRSBGMChOYW1lcyBvZiBhbGwgc2hlbGwgdik1LjEgRSAyLjUoYXJpYWJsZXMuIE1heSktLjI1IEYKLShhbHNvIGJlIHNwZWNpXDIxNGVkIGFzKTIuNSBFIEYxPGFkNzY+Mi41IEUgRjAoLilBIEYxPGFkNDc+MTQ0IDYxMiBRIEYyCi0oZ2xvYnBhdCkyLjUgRSBGMCAxLjAwNyhUaGUgcGF0aG5hbWUgZSkxODQgNjI0IFIgMS4wMDcoeHBhbnNpb24gcGF0dGVybikKLS0uMTUgRiBGMihnbG9icGF0KTMuNTA3IEUgRjAgMS4wMDcoaXMgZSkzLjUwNyBGIDEuMDA4Ci0oeHBhbmRlZCB0byBnZW5lcmF0ZSB0aGUgcG9zc2libGUgY29tcGxlLSktLjE1IEYodGlvbnMuKTE4NCA2MzYgUSBGMQotPGFkNTc+MTQ0IDY0OCBRIEYyKHdvcikyLjUgRShkbGlzdCktLjM3IEUgRjAoVGhlKTE4NCA2NjAgUSBGMih3b3IpMy42NCBFCi0oZGxpc3QpLS4zNyBFIEYwIDEuMTQoaXMgc3BsaXQgdXNpbmcgdGhlIGNoYXJhY3RlcnMgaW4gdGhlKTMuNjQgRiBGMwotKElGUykzLjY0IEUgRjAgMS4xMzkoc3BlY2lhbCB2KTMuMzkgRiAxLjEzOShhcmlhYmxlIGFzIGRlbGltaXRlcnMsIGFuZCkKLS0uMjUgRiAyLjAwNyhlYWNoIHJlc3VsdGFudCB3KTE4NCA2NzIgUiAyLjAwNyhvcmQgaXMgZSktLjEgRiA0LjUwNwotKHhwYW5kZWQuIFRoZSktLjE1IEYgMi4wMDgocG9zc2libGUgY29tcGxldGlvbnMgYXJlIHRoZSBtZW1iZXJzIG9mIHRoZSkKLTQuNTA3IEYocmVzdWx0YW50IGxpc3Qgd2hpY2ggbWF0Y2ggdGhlIHcpMTg0IDY4NCBRKG9yZCBiZWluZyBjb21wbGV0ZWQuKQotLS4xIEUgRjE8YWQ0Mz4xNDQgNjk2IFEgRjIoY29tbWFuZCkyLjUgRShjb21tYW5kKTE4NCA3MDggUSBGMCAxLjA1NgotKGlzIGUpMy41NTYgRiAtLjE1KHhlKS0uMTUgRyAxLjA1NihjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNSBGIDEuMDU2CisoYWxzbyBiZSBzcGVjaVwyMTRlZCBhcykyLjUgRSBGMTxhZDc2PjIuNSBFIEYwKC4pQSBGMTxhZDQzPjE0NCA2MzYgUSBGMgorKGNvbW1hbmQpMi41IEUoY29tbWFuZCkxODQgNjQ4IFEgRjAgMS4wNTUoaXMgZSkzLjU1NSBGIC0uMTUoeGUpLS4xNSBHCisxLjA1NShjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNSBGIDEuMDU2CiAodmlyb25tZW50LCBhbmQgaXRzIG91dHB1dCBpcyB1c2VkIGFzIHRoZSBwb3NzaWJsZSktLjQgRihjb21wbGV0aW9ucy4pCi0xODQgNzIwIFEoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSg0KTIwMy43MjUgRSAwIENnCi1FUAorMTg0IDY2MCBRIEYxPGFkNDY+MTQ0IDY3MiBRIEYyKGZ1bmN0aW9uKTIuNSBFIEYwIDEuMTgxCisoVGhlIHNoZWxsIGZ1bmN0aW9uKTE4NCA2ODQgUiBGMihmdW5jdGlvbikzLjY4MSBFIEYwIDEuMTgxKGlzIGUpMy42ODEgRgorLS4xNSh4ZSktLjE1IEcgMS4xODEoY3V0ZWQgaW4gdGhlIGN1cnJlbnQgc2hlbGwgZW4pLjE1IEYgMy42OAorKHZpcm9ubWVudC4gV2hlbiktLjQgRiAxLjE4KGl0IFwyMTRuLSkzLjY4IEYgLjkzMgorKGlzaGVzLCB0aGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIHJldHJpZSkxODQgNjk2IFIgLS4xNSh2ZSktLjI1IEcKKzMuNDMyKGRmKS4xNSBHIC45MzIocm9tIHRoZSB2KS0zLjQzMiBGIC45MzIoYWx1ZSBvZiB0aGUpLS4yNSBGIEYzCisoQ09NUFJFUEwpMy40MzIgRShZKS0uODI4IEUgRjAoYXJyYXkpMy4xODIgRSAtLjI1KHZhKTE4NCA3MDggUyhyaWFibGUuKQorLjI1IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSg0KTIwMy43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDUgNQogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4CiAoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRjxhZDQ2PjE0NCA4NCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKGZ1bmN0aW9uKTIuNSBFIEYwCi0xLjE4KFRoZSBzaGVsbCBmdW5jdGlvbikxODQgOTYgUiBGMihmdW5jdGlvbikzLjY4IEUgRjAgMS4xODEoaXMgZSkzLjY4MQotRiAtLjE1KHhlKS0uMTUgRyAxLjE4MShjdXRlZCBpbiB0aGUgY3VycmVudCBzaGVsbCBlbikuMTUgRiAzLjY4MQotKHZpcm9ubWVudC4gV2hlbiktLjQgRiAxLjE4MShpdCBcMjE0bi0pMy42ODEgRiAuOTMyCi0oaXNoZXMsIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucyBhcmUgcmV0cmllKTE4NCAxMDggUiAtLjE1KHZlKS0uMjUgRwotMy40MzIoZGYpLjE1IEcgLjkzMihyb20gdGhlIHYpLTMuNDMyIEYgLjkzMihhbHVlIG9mIHRoZSktLjI1IEYvRjMgOQotL1RpbWVzLUJvbGRAMCBTRihDT01QUkVQTCkzLjQzMSBFKFkpLS44MjggRSBGMChhcnJheSkzLjE4MSBFIC0uMjUodmEpMTg0Ci0xMjAgUyhyaWFibGUuKS4yNSBFIEYxPGFkNTg+MTQ0IDEzMiBRIEYyKFwyMTRsdGVycGF0KTIuNSBFKFwyMTRsdGVycGF0KQotMTg0IDE0NCBRIEYwIC40NTUoaXMgYSBwYXR0ZXJuIGFzIHVzZWQgZm9yIHBhdGhuYW1lIGUpMi45NTUgRiAyLjk1NgotKHhwYW5zaW9uLiBJdCktLjE1IEYgLjQ1NihpcyBhcHBsaWVkIHRvIHRoZSBsaXN0IG9mIHBvc3NpYmxlKTIuOTU2IEYKLTEuNTk2KGNvbXBsZXRpb25zIGdlbmVyYXRlZCBieSB0aGUgcHJlY2VkaW5nIG9wdGlvbnMgYW5kIGFyKTE4NCAxNTYgUgotMS41OTYoZ3VtZW50cywgYW5kIGVhY2ggY29tcGxldGlvbiktLjE4IEYobWF0Y2hpbmcpMTg0IDE2OCBRIEYyCi0oXDIxNGx0ZXJwYXQpMy4yMDQgRSBGMCAuNzA0KGlzIHJlbW8pMy4yMDQgRiAtLjE1KHZlKS0uMTUgRyAzLjIwNChkZikuMTUKLUcgLjcwNChyb20gdGhlIGxpc3QuKS0zLjIwNCBGIDMuMjA0KEFsKTUuNzA0IEcoZWFkaW5nKS0zLjIwNCBFIEYxKCEpCi0zLjIwNCBFIEYwKGluKTMuMjA0IEUgRjIoXDIxNGx0ZXJwYXQpMy4yMDUgRSBGMChuZSkzLjIwNSBFIC0uMDUoZ2EpLS4xNQotRyAuNzA1KHRlcyB0aGUgcGF0dGVybjspLjA1IEYoaW4gdGhpcyBjYXNlLCBhbikxODQgMTgwIFEgMi41KHljKS0uMTUgRwotKG9tcGxldGlvbiBub3QgbWF0Y2hpbmcpLTIuNSBFIEYyKFwyMTRsdGVycGF0KTIuNSBFIEYwKGlzIHJlbW8pMi41IEUKLS0uMTUodmUpLS4xNSBHKGQuKS4xNSBFIEYxPGFkNTA+MTQ0IDE5MiBRIEYyKHByKTIuNSBFKGVcMjE0eCktLjM3IEUocHIpCi0xODQgMjA0IFEoZVwyMTR4KS0uMzcgRSBGMCAuNTM1KGlzIGFkZGVkIGF0IHRoZSBiZSkzLjAzNSBGIC41MzQKKy9UaW1lcy1Cb2xkQDAgU0Y8YWQ0Nz4xNDQgODQgUS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihnbG9icGF0KTIuNSBFIEYwCisxLjAwOChUaGUgcGF0aG5hbWUgZSkxODQgOTYgUiAxLjAwOCh4cGFuc2lvbiBwYXR0ZXJuKS0uMTUgRiBGMihnbG9icGF0KQorMy41MDcgRSBGMCAxLjAwNyhpcyBlKTMuNTA3IEYgMS4wMDcKKyh4cGFuZGVkIHRvIGdlbmVyYXRlIHRoZSBwb3NzaWJsZSBjb21wbGUtKS0uMTUgRih0aW9ucy4pMTg0IDEwOCBRIEYxCis8YWQ1MD4xNDQgMTIwIFEgRjIocHIpMi41IEUoZVwyMTR4KS0uMzcgRShwcikxODQgMTMyIFEoZVwyMTR4KS0uMzcgRSBGMAorLjUzNChpcyBhZGRlZCBhdCB0aGUgYmUpMy4wMzQgRiAuNTM0CiAoZ2lubmluZyBvZiBlYWNoIHBvc3NpYmxlIGNvbXBsZXRpb24gYWZ0ZXIgYWxsIG90aGVyIG9wdGlvbnMgaGEpLS4xNSBGCi0tLjE1KHZlKS0uMiBHKGJlZW4gYXBwbGllZC4pMTg0IDIxNiBRIEYxPGFkNTM+MTQ0IDIyOCBRIEYyKHN1ZikyLjUgRQorLS4xNSh2ZSktLjIgRyhiZWVuIGFwcGxpZWQuKTE4NCAxNDQgUSBGMTxhZDUzPjE0NCAxNTYgUSBGMihzdWYpMi41IEUKIDIuODEoXDIxNHggc3VmKS0uMTggRjw4Yzc4Pi0uMTggRSBGMAogKGlzIGFwcGVuZGVkIHRvIGVhY2ggcG9zc2libGUgY29tcGxldGlvbiBhZnRlciBhbGwgb3RoZXIgb3B0aW9ucyBoYSkyLjUKLUUgLjMgLS4xNSh2ZSBiKS0uMiBIKGVlbiBhcHBsaWVkLikuMTUgRSAuNDY2KFRoZSByZXR1cm4gdikxNDQgMjQ0LjggUgotLjQ2NihhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGluKS0uMjUgRiAtLjI1KHZhKS0uNCBHIC40NjYKK0UgLjMgLS4xNSh2ZSBiKS0uMiBIKGVlbiBhcHBsaWVkLikuMTUgRSBGMTxhZDU3PjE0NCAxNjggUSBGMih3b3IpMi41IEUKKyhkbGlzdCktLjM3IEUgRjAoVGhlKTE4NCAxODAgUSBGMih3b3IpMy42NCBFKGRsaXN0KS0uMzcgRSBGMCAxLjE0CisoaXMgc3BsaXQgdXNpbmcgdGhlIGNoYXJhY3RlcnMgaW4gdGhlKTMuNjQgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihJRlMpCiszLjY0IEUgRjAgMS4xMzkoc3BlY2lhbCB2KTMuMzkgRiAxLjEzOShhcmlhYmxlIGFzIGRlbGltaXRlcnMsIGFuZCktLjI1IEYKKzIuMDA3KGVhY2ggcmVzdWx0YW50IHcpMTg0IDE5MiBSIDIuMDA3KG9yZCBpcyBlKS0uMSBGIDQuNTA3CisoeHBhbmRlZC4gVGhlKS0uMTUgRiAyLjAwOChwb3NzaWJsZSBjb21wbGV0aW9ucyBhcmUgdGhlIG1lbWJlcnMgb2YgdGhlKQorNC41MDcgRihyZXN1bHRhbnQgbGlzdCB3aGljaCBtYXRjaCB0aGUgdykxODQgMjA0IFEob3JkIGJlaW5nIGNvbXBsZXRlZC4pCistLjEgRSBGMTxhZDU4PjE0NCAyMTYgUSBGMihcMjE0bHRlcnBhdCkyLjUgRShcMjE0bHRlcnBhdCkxODQgMjI4IFEgRjAKKy40NTYoaXMgYSBwYXR0ZXJuIGFzIHVzZWQgZm9yIHBhdGhuYW1lIGUpMi45NTYgRiAyLjk1Nih4cGFuc2lvbi4gSXQpLS4xNQorRiAuNDU1KGlzIGFwcGxpZWQgdG8gdGhlIGxpc3Qgb2YgcG9zc2libGUpMi45NTYgRiAxLjU5NgorKGNvbXBsZXRpb25zIGdlbmVyYXRlZCBieSB0aGUgcHJlY2VkaW5nIG9wdGlvbnMgYW5kIGFyKTE4NCAyNDAgUiAxLjU5NgorKGd1bWVudHMsIGFuZCBlYWNoIGNvbXBsZXRpb24pLS4xOCBGKG1hdGNoaW5nKTE4NCAyNTIgUSBGMihcMjE0bHRlcnBhdCkKKzMuMjA1IEUgRjAgLjcwNShpcyByZW1vKTMuMjA1IEYgLS4xNSh2ZSktLjE1IEcgMy4yMDUoZGYpLjE1IEcgLjcwNAorKHJvbSB0aGUgbGlzdC4pLTMuMjA1IEYgMy4yMDQoQWwpNS43MDQgRyhlYWRpbmcpLTMuMjA0IEUgRjEoISkzLjIwNCBFIEYwCisoaW4pMy4yMDQgRSBGMihcMjE0bHRlcnBhdCkzLjIwNCBFIEYwKG5lKTMuMjA0IEUgLS4wNShnYSktLjE1IEcgLjcwNAorKHRlcyB0aGUgcGF0dGVybjspLjA1IEYoaW4gdGhpcyBjYXNlLCBhbikxODQgMjY0IFEgMi41KHljKS0uMTUgRworKG9tcGxldGlvbiBub3QgbWF0Y2hpbmcpLTIuNSBFIEYyKFwyMTRsdGVycGF0KTIuNSBFIEYwKGlzIHJlbW8pMi41IEUKKy0uMTUodmUpLS4xNSBHKGQuKS4xNSBFIC40NjYoVGhlIHJldHVybiB2KTE0NCAyODAuOCBSIC40NjYKKyhhbHVlIGlzIHRydWUgdW5sZXNzIGFuIGluKS0uMjUgRiAtLjI1KHZhKS0uNCBHIC40NjYKIChsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBvcHRpb24gb3RoZXIgdGhhbikuMjUgRiBGMTxhZDcwPjIuOTY3IEUgRjAKIChvcikyLjk2NyBFIEYxPGFkNzI+Mi45NjcgRSBGMCAuNDY3KGlzIHN1cC0pMi45NjcgRiAxLjM2MgotKHBsaWVkIHdpdGhvdXQgYSkxNDQgMjU2LjggUiBGMihuYW1lKTMuODYyIEUgRjAoYXIpMy44NjIgRSAxLjM2MQorKHBsaWVkIHdpdGhvdXQgYSkxNDQgMjkyLjggUiBGMihuYW1lKTMuODYyIEUgRjAoYXIpMy44NjIgRSAxLjM2MQogKGd1bWVudCwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIHJlbW8pLS4xOCBGIDEuNjYxIC0uMTUodmUgYSBjKS0uMTUgSAotMS4zNjEob21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbiBmb3IgYSkuMTUgRiBGMihuYW1lKTE0NCAyNjguOCBRIEYwCisxLjM2MShvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uIGZvciBhKS4xNSBGIEYyKG5hbWUpMTQ0IDMwNC44IFEgRjAKIChmb3Igd2hpY2ggbm8gc3BlY2lcMjE0Y2F0aW9uIGUpMi41IEUKICh4aXN0cywgb3IgYW4gZXJyb3Igb2NjdXJzIGFkZGluZyBhIGNvbXBsZXRpb24gc3BlY2lcMjE0Y2F0aW9uLiktLjE1IEUKLUYxKGNvbXBvcHQpMTA4IDI4NS42IFEgRjAoWykyLjUgRSBGMTxhZDZmPkEgRjIob3B0aW9uKTIuNSBFIEYwIDIuNShdWylDCitGMShjb21wb3B0KTEwOCAzMjEuNiBRIEYwKFspMi41IEUgRjE8YWQ2Zj5BIEYyKG9wdGlvbikyLjUgRSBGMCAyLjUoXVspQwogRjEoXDI1NURFKS0yLjUgRSBGMCAyLjUoXVspQyBGMSgrbyktMi41IEUgRjIob3B0aW9uKTIuNSBFIEYwIDIuNShdWylDIEYyCi0obmFtZSktMi41IEUgRjAoXSlBIC40NDcoTW9kaWZ5IGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCkxNDQgMjk3LjYgUgorKG5hbWUpLTIuNSBFIEYwKF0pQSAuNDQ3KE1vZGlmeSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2gpMTQ0IDMzMy42IFIKIEYyKG5hbWUpMi45NDcgRSBGMCAuNDQ3KGFjY29yZGluZyB0byB0aGUpMi45NDcgRiBGMihvcHRpb24pMi45NDcgRSBGMAotLjQ0NyhzLCBvciBmb3IgdGhlIGN1cnJlbnRseS1lKUIgLS4xNSh4ZSktLjE1IEcoY3V0aW9uKS4xNSBFIC43MjYKLShjb21wbGV0aW9uIGlmIG5vKTE0NCAzMDkuNiBSIEYyKG5hbWUpMy4yMjYgRSBGMCAzLjIyNihzYSlDIC43MjYKKy40NDcocywgb3IgZm9yIHRoZSBjdXJyZW50bHktZSlCIC0uMTUoeGUpLS4xNSBHKGN1dGluZykuMTUgRSAuNzI2CisoY29tcGxldGlvbiBpZiBubykxNDQgMzQ1LjYgUiBGMihuYW1lKTMuMjI2IEUgRjAgMy4yMjYoc2EpQyAuNzI2CiAocmUgc3VwcGxpZWQuKS0zLjIyNiBGIC43MjUoSWYgbm8pNS43MjUgRiBGMihvcHRpb24pMy4yMjUgRSBGMCAzLjIyNShzYSkKIEMgLjcyNShyZSBnaSktMy4yMjUgRiAtLjE1KHZlKS0uMjUgRyAuNzI1Ci0obiwgZGlzcGxheSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvcikuMTUgRihlYWNoKTE0NCAzMjEuNiBRIEYyKG5hbWUpCisobiwgZGlzcGxheSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvcikuMTUgRihlYWNoKTE0NCAzNTcuNiBRIEYyKG5hbWUpCiAzLjIyMyBFIEYwIC43MjMob3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbi4pMy4yMjMgRiAuNzI0KFRoZSBwb3NzaWJsZSB2KQogNS43MjQgRiAuNzI0KGFsdWVzIG9mKS0uMjUgRiBGMihvcHRpb24pMy4yMjQgRSBGMCAuNzI0KGFyZSB0aG9zZSB2KTMuMjI0Ci1GIC43MjQoYWxpZCBmb3IgdGhlKS0uMjUgRiBGMShjb20tKTMuMjI0IEUocGxldGUpMTQ0IDMzMy42IFEgRjAgLS4yKGJ1KQorRiAuNzI0KGFsaWQgZm9yIHRoZSktLjI1IEYgRjEoY29tLSkzLjIyNCBFKHBsZXRlKTE0NCAzNjkuNiBRIEYwIC0uMihidSkKIDIuNzk4IEcgLjI5OChpbHRpbiBkZXNjcmliZWQgYWJvKS4yIEYgLS4xNSh2ZSktLjE1IEcgNS4yOTcoLlQpLjE1IEcoaGUpCiAtNS4yOTcgRSBGMTxhZDQ0PjIuNzk3IEUgRjAgLjI5NwogKG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMgc2hvdWxkIGFwcGx5IHRvKTIuNzk3IEYKLTEuMjI3KHRoZSBgKTE0NCAzNDUuNiBSKGBkZWYpLS43NCBFKGF1bHQnKS0uMSBFIDMuNzI3KCdjKS0uNzQgRyAxLjIyOChvXAorMS4yMjcodGhlIGApMTQ0IDM4MS42IFIoYGRlZiktLjc0IEUoYXVsdCcpLS4xIEUgMy43MjcoJ2MpLS43NCBHIDEuMjI4KG9cCiBtbWFuZCBjb21wbGV0aW9uOyB0aGF0IGlzLCBjb21wbGV0aW9uIGF0dGVtcHRlZCBvbiBhIGNvbW1hbmQgZm9yIHdoaWNoIFwKLW5vKS0zLjcyNyBGIDIuMTc4KGNvbXBsZXRpb24gaGFzIHByZSkxNDQgMzU3LjYgUiAyLjE3OAorbm8pLTMuNzI3IEYgMi4xNzgoY29tcGxldGlvbiBoYXMgcHJlKTE0NCAzOTMuNiBSIDIuMTc4CiAodmlvdXNseSBiZWVuIGRlXDIxNG5lZC4pLS4yNSBGKFRoZSk3LjE3OCBFIEYxPGFkNDU+NC42NzggRSBGMCAyLjE3NwogKG9wdGlvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgcmVtYWluaW5nIG9wdGlvbnMpNC42NzcgRihzaG91bGQgYXBwbHkgdG8gYCkKLTE0NCAzNjkuNiBRKGBlbXB0eScpLS43NCBFIDIuNSgnYyktLjc0IEcKKzE0NCA0MDUuNiBRKGBlbXB0eScpLS43NCBFIDIuNSgnYyktLjc0IEcKIChvbW1hbmQgY29tcGxldGlvbjsgdGhhdCBpcywgY29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lLiktMi41Ci1FIC4zMjcoVGhlIHJldHVybiB2KTEwOCAzODYuNCBSIC4zMjcoYWx1ZSBpcyB0cnVlIHVubGVzcyBhbiBpbiktLjI1IEYKLS0uMjUodmEpLS40IEcgLjMyNwotKGxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBtb2RpZnkgdGhlIG9wdGlvbnMgZm9yIGEpCi0uMjUgRiBGMihuYW1lKTEwOCAzOTguNCBRIEYwKGZvciB3aGljaCBubyBjb21wbGV0aW9uIHNwZWNpXDIxNGNhdGlvbiBlKQotMi41IEUoeGlzdHMsIG9yIGFuIG91dHB1dCBlcnJvciBvY2N1cnMuKS0uMTUgRSBGMShjb250aW51ZSkxMDggNDE1LjIgUQotRjAoWykyLjUgRSBGMihuKUEgRjAoXSlBIDEuNzU0KFJlc3VtZSB0aGUgbmUpMTQ0IDQyNy4yIFIgMS43NTQKK0UgMS4zODcoVGhlIHJldHVybiB2KTE0NCA0MjkuNiBSIDEuMzg3KGFsdWUgaXMgdHJ1ZSB1bmxlc3MgYW4gaW4pLS4yNSBGCistLjI1KHZhKS0uNCBHIDEuMzg4CisobGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIG1vZGlmeSB0aGUpLjI1IEYKKyhvcHRpb25zIGZvciBhKTE0NCA0NDEuNiBRIEYyKG5hbWUpMi41IEUgRjAKKyhmb3Igd2hpY2ggbm8gY29tcGxldGlvbiBzcGVjaVwyMTRjYXRpb24gZSkyLjUgRQorKHhpc3RzLCBvciBhbiBvdXRwdXQgZXJyb3Igb2NjdXJzLiktLjE1IEUgRjEoY29udGludWUpMTA4IDQ1OC40IFEgRjAoWykKKzIuNSBFIEYyKG4pQSBGMChdKUEgMS43NTQoUmVzdW1lIHRoZSBuZSkxNDQgNDcwLjQgUiAxLjc1NAogKHh0IGl0ZXJhdGlvbiBvZiB0aGUgZW5jbG9zaW5nKS0uMTUgRiBGMSAtLjI1KGZvKTQuMjU0IEcocikuMjUgRSBGMCgsKUEKIEYxKHdoaWxlKTQuMjU0IEUgRjAoLClBIEYxKHVudGlsKTQuMjU0IEUgRjAgNC4yNTQoLG8pQyhyKS00LjI1NCBFIEYxCiAoc2VsZWN0KTQuMjU0IEUgRjAgNC4yNTMobG9vcC4gSWYpNC4yNTQgRiBGMihuKTQuNjEzIEUgRjAgMS43NTMKLShpcyBzcGVjaVwyMTRlZCwpNC40OTMgRiAxLjIwOChyZXN1bWUgYXQgdGhlKTE0NCA0MzkuMiBSIEYyKG4pMy43MDkgRSBGMAorKGlzIHNwZWNpXDIxNGVkLCk0LjQ5MyBGIDEuMjA4KHJlc3VtZSBhdCB0aGUpMTQ0IDQ4Mi40IFIgRjIobikzLjcwOSBFIEYwCiAxLjIwOSh0aCBlbmNsb3NpbmcgbG9vcC4pQiBGMihuKTYuNTY5IEUgRjAgMS4yMDkobXVzdCBiZSkzLjk0OSBGL0Y0IDEwCiAvU3ltYm9sIFNGPGIzPjMuNzA5IEUgRjAgMy43MDkoMS4gSWYpMy43MDkgRiBGMihuKTQuMDY5IEUgRjAgMS4yMDkKIChpcyBncmVhdGVyIHRoYW4gdGhlIG51bWJlciBvZiBlbmNsb3NpbmcpMy45NDkgRiAuNTE0Ci0obG9vcHMsIHRoZSBsYXN0IGVuY2xvc2luZyBsb29wIFwodGhlIGApMTQ0IDQ1MS4yIFIoYHRvcC1sZSktLjc0IEUgLS4xNQorKGxvb3BzLCB0aGUgbGFzdCBlbmNsb3NpbmcgbG9vcCBcKHRoZSBgKTE0NCA0OTQuNCBSKGB0b3AtbGUpLS43NCBFIC0uMTUKICh2ZSktLjI1IEcobCcpLjE1IEUgMy4wMTQoJ2wpLS43NCBHIC41MTQob29wXCkgaXMgcmVzdW1lZC4pLTMuMDE0IEYgLjUxMwogKFRoZSByZXR1cm4gdik1LjUxMyBGIC41MTMoYWx1ZSBpcyAwIHVubGVzcyktLjI1IEYgRjIobikzLjAxMyBFIEYwKGlzKQotMy4wMTMgRShub3QgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuKTE0NCA0NjMuMiBRIEYxKGRlY2xhcikxMDggNDgwIFEKLShlKS0uMTggRSBGMChbKTIuNSBFIEYxKFwyNTVhQWZGaWxydHV4KUEgRjAgMi41KF1bKUMgRjE8YWQ3MD4tMi41IEUgRjAKKzMuMDEzIEUobm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLikxNDQgNTA2LjQgUSBGMShkZWNsYXIpMTA4IDUyMy4yCitRKGUpLS4xOCBFIEYwKFspMi41IEUgRjEoXDI1NWFBZkZnaWxydHV4KUEgRjAgMi41KF1bKUMgRjE8YWQ3MD4tMi41IEUgRjAKIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjIodmFsdWUpQSBGMCAyLjUoXS4pQyguLl0pLTIuNSBFIEYxCi0odHlwZXNldCkxMDggNDkyIFEgRjAoWykyLjUgRSBGMShcMjU1YUFmRmlscnR1eClBIEYwIDIuNShdWylDIEYxPGFkNzA+Ci0tMi41IEUgRjAgMi41KF1bKUMgRjIobmFtZSktMi41IEUgRjAoWz0pQSBGMih2YWx1ZSlBIEYwIDIuNShdLilDKC4uXSkKLS0yLjUgRSAxLjI2NChEZWNsYXJlIHYpMTQ0IDUwNCBSIDEuMjY0KGFyaWFibGVzIGFuZC9vciBnaSktLjI1IEYgMS41NjQKLS0uMTUodmUgdCktLjI1IEggMS4yNjQoaGVtIGF0dHJpYikuMTUgRiAzLjc2NSh1dGVzLiBJZiktLjIgRihubykzLjc2NSBFCi1GMihuYW1lKTMuNzY1IEUgRjAgMy43NjUoc2EpQyAxLjI2NShyZSBnaSktMy43NjUgRiAtLjE1KHZlKS0uMjUgRyAzLjc2NQotKG50KS4xNSBHIDEuMjY1KGhlbiBkaXNwbGF5IHRoZSB2KS0zLjc2NSBGIDEuMjY1KGFsdWVzIG9mKS0uMjUgRiAtLjI1Ci0odmEpMTQ0IDUxNiBTIDMuNDgzKHJpYWJsZXMuIFRoZSkuMjUgRiBGMTxhZDcwPjMuNDgzIEUgRjAgLjk4MworKHR5cGVzZXQpMTA4IDUzNS4yIFEgRjAoWykyLjUgRSBGMShcMjU1YUFmRmdpbHJ0dXgpQSBGMCAyLjUoXVspQyBGMQorPGFkNzA+LTIuNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjIodmFsdWUpQSBGMCAyLjUoXS4pQworKC4uXSktMi41IEUgMS4yNjQoRGVjbGFyZSB2KTE0NCA1NDcuMiBSIDEuMjY0KGFyaWFibGVzIGFuZC9vciBnaSktLjI1IEYKKzEuNTY0IC0uMTUodmUgdCktLjI1IEggMS4yNjQoaGVtIGF0dHJpYikuMTUgRiAzLjc2NSh1dGVzLiBJZiktLjIgRihubykKKzMuNzY1IEUgRjIobmFtZSkzLjc2NSBFIEYwIDMuNzY1KHNhKUMgMS4yNjUocmUgZ2kpLTMuNzY1IEYgLS4xNSh2ZSktLjI1CitHIDMuNzY1KG50KS4xNSBHIDEuMjY1KGhlbiBkaXNwbGF5IHRoZSB2KS0zLjc2NSBGIDEuMjY1KGFsdWVzIG9mKS0uMjUgRgorLS4yNSh2YSkxNDQgNTU5LjIgUyAzLjQ4MyhyaWFibGVzLiBUaGUpLjI1IEYgRjE8YWQ3MD4zLjQ4MyBFIEYwIC45ODMKIChvcHRpb24gd2lsbCBkaXNwbGF5IHRoZSBhdHRyaWIpMy40ODMgRiAuOTgzKHV0ZXMgYW5kIHYpLS4yIEYgLjk4MgogKGFsdWVzIG9mIGVhY2gpLS4yNSBGIEYyKG5hbWUpMy40ODIgRSBGMCA1Ljk4MiguVykuMTggRyhoZW4pLTUuOTgyIEUgRjEKLTxhZDcwPjMuNDgyIEUgRjAgLjk4MihpcyB1c2VkKTMuNDgyIEYod2l0aCkxNDQgNTI4IFEgRjIobmFtZSkzLjU3OSBFIEYwCi0oYXIpMy41NzkgRSAxLjA3OShndW1lbnRzLCBhZGRpdGlvbmFsIG9wdGlvbnMgYXJlIGlnbm9yZWQuKS0uMTggRihXaGVuKQotNi4wNzkgRSBGMTxhZDcwPjMuNTc5IEUgRjAgMS4wNzkoaXMgc3VwcGxpZWQgd2l0aG91dCkzLjU3OSBGIEYyKG5hbWUpCi0zLjU4IEUgRjAoYXIpMy41OCBFKGd1LSktLjE4IEUgLjE1MShtZW50cywgaXQgd2lsbCBkaXNwbGF5IHRoZSBhdHRyaWIpCi0xNDQgNTQwIFIgLjE1MSh1dGVzIGFuZCB2KS0uMiBGIC4xNTEoYWx1ZXMgb2YgYWxsIHYpLS4yNSBGIC4xNQotKGFyaWFibGVzIGhhKS0uMjUgRiAuMTUodmluZyB0aGUgYXR0cmliKS0uMiBGIC4xNQotKHV0ZXMgc3BlY2lcMjE0ZWQgYnkgdGhlKS0uMiBGIC4wNDYoYWRkaXRpb25hbCBvcHRpb25zLikxNDQgNTUyIFIgLjA0NgotKElmIG5vIG90aGVyIG9wdGlvbnMgYXJlIHN1cHBsaWVkIHdpdGgpNS4wNDYgRiBGMTxhZDcwPjIuNTQ3IEUgRjAoLClBIEYxCi0oZGVjbGFyKTIuNTQ3IEUoZSktLjE4IEUgRjAgLjA0Nyh3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYikyLjU0NyBGIC4wNDcKLSh1dGVzIGFuZCktLjIgRiAtLjI1KHZhKTE0NCA1NjQgUyAxLjM2MyhsdWVzIG9mIGFsbCBzaGVsbCB2KS4yNSBGIDMuODYzCi0oYXJpYWJsZXMuIFRoZSktLjI1IEYgRjE8YWQ2Nj4zLjg2MyBFIEYwIDEuMzYyCi0ob3B0aW9uIHdpbGwgcmVzdHJpY3QgdGhlIGRpc3BsYXkgdG8gc2hlbGwgZnVuY3Rpb25zLikzLjg2MyBGKFRoZSk2LjM2MgotRSBGMTxhZDQ2PjMuODYyIEUgRjAgMi40MjIob3B0aW9uIGluaGliaXRzIHRoZSBkaXNwbGF5IG9mIGZ1bmN0aW9uIGRlXAotXDIxNG5pdGlvbnM7IG9ubHkgdGhlIGZ1bmN0aW9uIG5hbWUgYW5kIGF0dHJpYikxNDQgNTc2IFIgMi40MjModXRlcyBhcmUpCi0tLjIgRiAyLjY2NChwcmludGVkLiBJZikxNDQgNTg4IFIodGhlKTIuNjY0IEUgRjEoZXh0ZGViKTIuNjY0IEUodWcpLS4yIEUKLUYwIC4xNjQoc2hlbGwgb3B0aW9uIGlzIGVuYWJsZWQgdXNpbmcpMi42NjQgRiBGMShzaG9wdCkyLjY2NCBFIEYwIDIuNjY0Ci0oLHQpQyAuMTYzKGhlIHNvdXJjZSBcMjE0bGUgbmFtZSBhbmQgbGluZSBudW1iZXIpLTIuNjY0IEYgMS4zODIKLSh3aGVyZSB0aGUgZnVuY3Rpb24gaXMgZGVcMjE0bmVkIGFyZSBkaXNwbGF5ZWQgYXMgd2VsbC4pMTQ0IDYwMCBSKFRoZSkKLTYuMzgyIEUgRjE8YWQ0Nj4zLjg4MiBFIEYwIDEuMzgyKG9wdGlvbiBpbXBsaWVzKTMuODgyIEYgRjE8YWQ2Nj4zLjg4MiBFCi1GMCA2LjM4MiguVClDIDEuMzgyKGhlIGZvbGxvKS02LjM4MiBGKHdpbmcpLS4yNSBFIC43OTQKLShvcHRpb25zIGNhbiBiZSB1c2VkIHRvIHJlc3RyaWN0IG91dHB1dCB0byB2KTE0NCA2MTIgUiAuNzk0Ci0oYXJpYWJsZXMgd2l0aCB0aGUgc3BlY2lcMjE0ZWQgYXR0cmliKS0uMjUgRiAuNzkzKHV0ZSBvciB0byBnaSktLjIgRgotMS4wOTMgLS4xNSh2ZSB2KS0uMjUgSChhcmlhYmxlcyktLjEgRShhdHRyaWIpMTQ0IDYyNCBRKHV0ZXM6KS0uMiBFIEYxCi08YWQ2MT4xNDQgNjM2IFEgRjAoRWFjaCkyNS4zIEUgRjIobmFtZSkyLjUgRSBGMChpcyBhbiBpbmRlKTIuNSBFIC0uMTUKLSh4ZSktLjE1IEcgMi41KGRhKS4xNSBHKHJyYXkgdiktMi41IEUoYXJpYWJsZSBcKHNlZSktLjI1IEUgRjEoQXJyYXlzKTIuNQotRSBGMChhYm8pMi41IEUgLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxPGFkNDE+MTQ0IDY0OCBRIEYwKEVhY2gpMjMuMDgKLUUgRjIobmFtZSkyLjUgRSBGMChpcyBhbiBhc3NvY2lhdGkpMi41IEUgLjMgLS4xNSh2ZSBhKS0uMjUgSChycmF5IHYpLjE1Ci1FKGFyaWFibGUgXChzZWUpLS4yNSBFIEYxKEFycmF5cykyLjUgRSBGMChhYm8pMi41IEUgLS4xNSh2ZSktLjE1IEcoXCkuKQotLjE1IEUgRjE8YWQ2Nj4xNDQgNjYwIFEgRjAoVXNlIGZ1bmN0aW9uIG5hbWVzIG9ubHkpMjYuOTcgRSguKS0uNjUgRSBGMQotPGFkNjk+MTQ0IDY3MiBRIEYwIC41NTcoVGhlIHYpMjcuNTIgRiAuNTU4Ci0oYXJpYWJsZSBpcyB0cmVhdGVkIGFzIGFuIGludGUpLS4yNSBGIC41NTgoZ2VyOyBhcml0aG1ldGljIGUpLS4xNSBGIC0uMjUKLSh2YSktLjI1IEcgLjU1OChsdWF0aW9uIFwoc2VlKS4yNSBGIEYzIC41NTgoQVJJVEhNRVRJQyBFVikzLjA1OCBGKEFMVSkKLS0xLjIxNSBFKEEtKS0uNTQgRShUSU9OKTE4MCA2ODQgUSBGMChhYm8pMi4yNSBFIC0uMTUodmUpLS4xNSBHIDIuNShcKWkpCi0uMTUgRyAyLjUoc3ApLTIuNSBHKGVyZm9ybWVkIHdoZW4gdGhlIHYpLTIuNSBFKGFyaWFibGUgaXMgYXNzaWduZWQgYSB2KQotLS4yNSBFKGFsdWUuKS0uMjUgRSBGMTxhZDZjPjE0NCA2OTYgUSBGMCAuOTEoV2hlbiB0aGUgdikyNy41MiBGIC45MDkKLShhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdiktLjI1IEYgLjkwOShhbHVlLCBhbGwgdXBwZXIpLS4yNSBGIC45MDkKLSgtY2FzZSBjaGFyYWN0ZXJzIGFyZSBjb24pLS4yIEYgLS4xNSh2ZSktLjQgRyAuOTA5KHJ0ZWQgdG8gbG8pLjE1IEYod2VyKQotLS4yNSBFKC0pLS4yIEUgMi41KGNhc2UuIFRoZSkxODAgNzA4IFIodXBwZXIpMi41IEUoLWNhc2UgYXR0cmliKS0uMiBFCi0odXRlIGlzIGRpc2FibGVkLiktLjIgRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDUpCi0yMDMuNzI1IEUgMCBDZyBFUAorPGFkNzA+My40ODIgRSBGMCAuOTgyKGlzIHVzZWQpMy40ODIgRih3aXRoKTE0NCA1NzEuMiBRIEYyKG5hbWUpMy41NzkgRQorRjAoYXIpMy41NzkgRSAxLjA3OShndW1lbnRzLCBhZGRpdGlvbmFsIG9wdGlvbnMgYXJlIGlnbm9yZWQuKS0uMTggRgorKFdoZW4pNi4wNzkgRSBGMTxhZDcwPjMuNTc5IEUgRjAgMS4wNzkoaXMgc3VwcGxpZWQgd2l0aG91dCkzLjU3OSBGIEYyCisobmFtZSkzLjU4IEUgRjAoYXIpMy41OCBFKGd1LSktLjE4IEUgLjE1MQorKG1lbnRzLCBpdCB3aWxsIGRpc3BsYXkgdGhlIGF0dHJpYikxNDQgNTgzLjIgUiAuMTUxKHV0ZXMgYW5kIHYpLS4yIEYKKy4xNTEoYWx1ZXMgb2YgYWxsIHYpLS4yNSBGIC4xNShhcmlhYmxlcyBoYSktLjI1IEYgLjE1KHZpbmcgdGhlIGF0dHJpYikKKy0uMiBGIC4xNSh1dGVzIHNwZWNpXDIxNGVkIGJ5IHRoZSktLjIgRiAuMDQ2KGFkZGl0aW9uYWwgb3B0aW9ucy4pMTQ0Cis1OTUuMiBSIC4wNDYoSWYgbm8gb3RoZXIgb3B0aW9ucyBhcmUgc3VwcGxpZWQgd2l0aCk1LjA0NiBGIEYxPGFkNzA+Mi41NDcKK0UgRjAoLClBIEYxKGRlY2xhcikyLjU0NyBFKGUpLS4xOCBFIEYwIC4wNDcod2lsbCBkaXNwbGF5IHRoZSBhdHRyaWIpCisyLjU0NyBGIC4wNDcodXRlcyBhbmQpLS4yIEYgLS4yNSh2YSkxNDQgNjA3LjIgUyAxLjM2MworKGx1ZXMgb2YgYWxsIHNoZWxsIHYpLjI1IEYgMy44NjMoYXJpYWJsZXMuIFRoZSktLjI1IEYgRjE8YWQ2Nj4zLjg2MyBFIEYwCisxLjM2MihvcHRpb24gd2lsbCByZXN0cmljdCB0aGUgZGlzcGxheSB0byBzaGVsbCBmdW5jdGlvbnMuKTMuODYzIEYoVGhlKQorNi4zNjIgRSBGMTxhZDQ2PjMuODYyIEUgRjAgMi40MjIob3B0aW9uIGluaGliaXRzIHRoZSBkaXNwbGF5IG9mIGZ1bmN0aW9cCituIGRlXDIxNG5pdGlvbnM7IG9ubHkgdGhlIGZ1bmN0aW9uIG5hbWUgYW5kIGF0dHJpYikxNDQgNjE5LjIgUiAyLjQyMworKHV0ZXMgYXJlKS0uMiBGIDIuNjY0KHByaW50ZWQuIElmKTE0NCA2MzEuMiBSKHRoZSkyLjY2NCBFIEYxKGV4dGRlYikKKzIuNjY0IEUodWcpLS4yIEUgRjAgLjE2NChzaGVsbCBvcHRpb24gaXMgZW5hYmxlZCB1c2luZykyLjY2NCBGIEYxKHNob3B0KQorMi42NjQgRSBGMCAyLjY2NCgsdClDIC4xNjMoaGUgc291cmNlIFwyMTRsZSBuYW1lIGFuZCBsaW5lIG51bWJlciktMi42NjQKK0YgMS4yODgod2hlcmUgdGhlIGZ1bmN0aW9uIGlzIGRlXDIxNG5lZCBhcmUgZGlzcGxheWVkIGFzIHdlbGwuKTE0NCA2NDMuMgorUihUaGUpNi4yODggRSBGMTxhZDQ2PjMuNzg4IEUgRjAgMS4yODgob3B0aW9uIGltcGxpZXMpMy43ODggRiBGMTxhZDY2PgorMy43ODggRSBGMCA2LjI4OCguVClDKGhlKS02LjI4OCBFIEYxPGFkNjc+My43ODkgRSBGMChvcHRpb24pMy43ODkgRSAuNDkxCisoZm9yY2VzIHYpMTQ0IDY1NS4yIFIgLjQ5MQorKGFyaWFibGVzIHRvIGJlIGNyZWF0ZWQgb3IgbW9kaVwyMTRlZCBhdCB0aGUgZ2xvYmFsIHNjb3BlLCBlKS0uMjUgRiAtLjE1CisodmUpLS4yNSBHIDIuOTkobncpLjE1IEcoaGVuKS0yLjk5IEUgRjEoZGVjbGFyKTIuOTkgRShlKS0uMTggRSBGMCAuNDkKKyhpcyBlKTIuOTkgRiAtLjE1KHhlKS0uMTUgRyAuNDkoY3V0ZWQgaW4gYSkuMTUgRiAuMTI0KHNoZWxsIGZ1bmN0aW9uLikKKzE0NCA2NjcuMiBSIC4xMjQoSXQgaXMgaWdub3JlZCBpbiBhbGwgb3RoZXIgY2FzZXMuKTUuMTI0IEYgLjEyNQorKFRoZSBmb2xsbyk1LjEyNSBGIC4xMjUod2luZyBvcHRpb25zIGNhbiBiZSB1c2VkIHRvIHJlc3RyaWN0IG91dHB1dCktLjI1CitGKHRvIHYpMTQ0IDY3OS4yIFEoYXJpYWJsZXMgd2l0aCB0aGUgc3BlY2lcMjE0ZWQgYXR0cmliKS0uMjUgRQorKHV0ZSBvciB0byBnaSktLjIgRSAuMyAtLjE1KHZlIHYpLS4yNSBIKGFyaWFibGVzIGF0dHJpYiktLjEgRSh1dGVzOiktLjIKK0UgRjE8YWQ2MT4xNDQgNjkxLjIgUSBGMChFYWNoKTI1LjMgRSBGMihuYW1lKTIuNSBFIEYwKGlzIGFuIGluZGUpMi41IEUKKy0uMTUoeGUpLS4xNSBHIDIuNShkYSkuMTUgRyhycmF5IHYpLTIuNSBFKGFyaWFibGUgXChzZWUpLS4yNSBFIEYxCisoQXJyYXlzKTIuNSBFIEYwKGFibykyLjUgRSAtLjE1KHZlKS0uMTUgRyhcKS4pLjE1IEUgRjE8YWQ0MT4xNDQgNzAzLjIgUQorRjAoRWFjaCkyMy4wOCBFIEYyKG5hbWUpMi41IEUgRjAoaXMgYW4gYXNzb2NpYXRpKTIuNSBFIC4zIC0uMTUodmUgYSktLjI1CitIKHJyYXkgdikuMTUgRShhcmlhYmxlIFwoc2VlKS0uMjUgRSBGMShBcnJheXMpMi41IEUgRjAoYWJvKTIuNSBFIC0uMTUKKyh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxPGFkNjY+MTQ0IDcxNS4yIFEgRjAoVXNlIGZ1bmN0aW9uIG5hbWVzIG9ubHkpCisyNi45NyBFKC4pLS42NSBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoNSkyMDMuNzI1IEUKKzAgQ2cgRVAKICUlUGFnZTogNiA2CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKIChUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCi0vVGltZXMtQm9sZEAwIFNGPGFkNzI+MTQ0IDg0IFEgRjAoTWFrKTI1Ljg2IEUoZSktLjEgRS9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKG5hbWUpNS4wNDYgRSBGMCA1LjA0NihzcilDKGVhZG9ubHkpLTUuMDQ2IEUgNy41NDYoLlQpCi0tLjY1IEcgMi41NDYoaGVzZSBuYW1lcyBjYW5ub3QgdGhlbiBiZSBhc3NpZ25lZCB2KS03LjU0NiBGIDIuNTQ3Ci0oYWx1ZXMgYnkgc3Vic2VxdWVudCktLjI1IEYoYXNzaWdubWVudCBzdGF0ZW1lbnRzIG9yIHVuc2V0LikxODAgOTYgUSBGMQotPGFkNzQ+MTQ0IDEwOCBRIEYwKEdpKTI2Ljk3IEUgLjczIC0uMTUodmUgZSktLjI1IEgoYWNoKS4xNSBFIEYyKG5hbWUpCi0yLjkzIEUgRjAodGhlKTIuOTI5IEUgRjIodHIpMi45MjkgRShhY2UpLS4xNSBFIEYwKGF0dHJpYikyLjkyOSBFIDIuOTI5CisvVGltZXMtQm9sZEAwIFNGPGFkNjk+MTQ0IDg0IFEgRjAgLjU1OChUaGUgdikyNy41MiBGIC41NTgKKyhhcmlhYmxlIGlzIHRyZWF0ZWQgYXMgYW4gaW50ZSktLjI1IEYgLjU1OChnZXI7IGFyaXRobWV0aWMgZSktLjE1IEYgLS4yNQorKHZhKS0uMjUgRyAuNTU4KGx1YXRpb24gXChzZWUpLjI1IEYvRjIgOS9UaW1lcy1Cb2xkQDAgU0YgLjU1NworKEFSSVRITUVUSUMgRVYpMy4wNTggRihBTFUpLTEuMjE1IEUoQS0pLS41NCBFKFRJT04pMTgwIDk2IFEgRjAoYWJvKTIuMjUKK0UgLS4xNSh2ZSktLjE1IEcgMi41KFwpaSkuMTUgRyAyLjUoc3ApLTIuNSBHKGVyZm9ybWVkIHdoZW4gdGhlIHYpLTIuNSBFCisoYXJpYWJsZSBpcyBhc3NpZ25lZCBhIHYpLS4yNSBFKGFsdWUuKS0uMjUgRSBGMTxhZDZjPjE0NCAxMDggUSBGMCAuOTA5CisoV2hlbiB0aGUgdikyNy41MiBGIC45MDkoYXJpYWJsZSBpcyBhc3NpZ25lZCBhIHYpLS4yNSBGIC45MDkKKyhhbHVlLCBhbGwgdXBwZXIpLS4yNSBGIC45MDkoLWNhc2UgY2hhcmFjdGVycyBhcmUgY29uKS0uMiBGIC0uMTUodmUpLS40CitHIC45MShydGVkIHRvIGxvKS4xNSBGKHdlciktLjI1IEUoLSktLjIgRSAyLjUoY2FzZS4gVGhlKTE4MCAxMjAgUih1cHBlcikKKzIuNSBFKC1jYXNlIGF0dHJpYiktLjIgRSh1dGUgaXMgZGlzYWJsZWQuKS0uMiBFIEYxPGFkNzI+MTQ0IDEzMiBRIEYwCisoTWFrKTI1Ljg2IEUoZSktLjEgRS9GMyAxMC9UaW1lcy1JdGFsaWNAMCBTRihuYW1lKTUuMDQ3IEUgRjAgNS4wNDcoc3IpQworKGVhZG9ubHkpLTUuMDQ3IEUgNy41NDcoLlQpLS42NSBHIDIuNTQ2CisoaGVzZSBuYW1lcyBjYW5ub3QgdGhlbiBiZSBhc3NpZ25lZCB2KS03LjU0NyBGIDIuNTQ2CisoYWx1ZXMgYnkgc3Vic2VxdWVudCktLjI1IEYoYXNzaWdubWVudCBzdGF0ZW1lbnRzIG9yIHVuc2V0LikxODAgMTQ0IFEgRjEKKzxhZDc0PjE0NCAxNTYgUSBGMChHaSkyNi45NyBFIC43MjkgLS4xNSh2ZSBlKS0uMjUgSChhY2gpLjE1IEUgRjMobmFtZSkKKzIuOTI5IEUgRjAodGhlKTIuOTI5IEUgRjModHIpMi45MjkgRShhY2UpLS4xNSBFIEYwKGF0dHJpYikyLjkyOSBFIDIuOTI5CiAodXRlLiBUKS0uMiBGIC40MjkocmFjZWQgZnVuY3Rpb25zIGluaGVyaXQgdGhlKS0uMzUgRiBGMShERUIpMi45MjkgRShVRykKLS0uMSBFIEYwKGFuZCkyLjkyOSBFIEYxKFJFVFVSTikyLjkyOSBFIEYwKHRyYXBzIGZyb20gdGhlIGNhbGxpbmcgc2hlbGwuKQotMTgwIDEyMCBRKFRoZSB0cmFjZSBhdHRyaWIpNSBFKHV0ZSBoYXMgbm8gc3BlY2lhbCBtZWFuaW5nIGZvciB2KS0uMiBFCi0oYXJpYWJsZXMuKS0uMjUgRSBGMTxhZDc1PjE0NCAxMzIgUSBGMCAuOTA5KFdoZW4gdGhlIHYpMjQuNzQgRiAuOTA5CistLjEgRSBGMChhbmQpMi45MyBFIEYxKFJFVFVSTikyLjkzIEUgRjAodHJhcHMgZnJvbSB0aGUgY2FsbGluZyBzaGVsbC4pCisxODAgMTY4IFEoVGhlIHRyYWNlIGF0dHJpYik1IEUodXRlIGhhcyBubyBzcGVjaWFsIG1lYW5pbmcgZm9yIHYpLS4yIEUKKyhhcmlhYmxlcy4pLS4yNSBFIEYxPGFkNzU+MTQ0IDE4MCBRIEYwIC45MShXaGVuIHRoZSB2KTI0Ljc0IEYgLjkwOQogKGFyaWFibGUgaXMgYXNzaWduZWQgYSB2KS0uMjUgRiAuOTA5KGFsdWUsIGFsbCBsbyktLjI1IEYod2VyKS0uMjUgRSAuOTA5Ci0oLWNhc2UgY2hhcmFjdGVycyBhcmUgY29uKS0uMiBGIC0uMTUodmUpLS40IEcgLjkxKHJ0ZWQgdG8gdXBwZXIpLjE1IEYoLSkKLS0uMiBFIDIuNShjYXNlLiBUaGUpMTgwIDE0NCBSKGxvKTIuNSBFKHdlciktLjI1IEUoLWNhc2UgYXR0cmliKS0uMiBFCi0odXRlIGlzIGRpc2FibGVkLiktLjIgRSBGMTxhZDc4PjE0NCAxNTYgUSBGMChNYXJrKTI1LjMgRSBGMihuYW1lKTIuNSBFCisoLWNhc2UgY2hhcmFjdGVycyBhcmUgY29uKS0uMiBGIC0uMTUodmUpLS40IEcgLjkwOShydGVkIHRvIHVwcGVyKS4xNSBGCisoLSktLjIgRSAyLjUoY2FzZS4gVGhlKTE4MCAxOTIgUihsbykyLjUgRSh3ZXIpLS4yNSBFKC1jYXNlIGF0dHJpYiktLjIgRQorKHV0ZSBpcyBkaXNhYmxlZC4pLS4yIEUgRjE8YWQ3OD4xNDQgMjA0IFEgRjAoTWFyaykyNS4zIEUgRjMobmFtZSkyLjUgRQogRjAgMi41KHNmKUMob3IgZSktMi41IEUoeHBvcnQgdG8gc3Vic2VxdWVudCBjb21tYW5kcyB2aWEgdGhlIGVuKS0uMTUgRQotKHZpcm9ubWVudC4pLS40IEUgLjEyMShVc2luZyBgKycgaW5zdGVhZCBvZiBgXDI1NScgdHVybnMgb2YpMTQ0IDE3Mi44IFIKLTIuNjIxKGZ0KS0uMjUgRyAuMTIxKGhlIGF0dHJpYiktMi42MjEgRiAuMTIxKHV0ZSBpbnN0ZWFkLCB3aXRoIHRoZSBlKS0uMgotRiAuMTIoeGNlcHRpb25zIHRoYXQpLS4xNSBGIEYxKCthKTIuNjIgRSBGMCAuMTIobWF5IG5vdCBiZSB1c2VkKTIuNjIgRgotLjY0NCh0byBkZXN0cm8pMTQ0IDE4NC44IFIgMy4xNDQoeWEpLS4xIEcgMy4xNDQobmEpLTMuMTQ0IEcgLjY0NChycmF5IHYpCi0tMy4xNDQgRiAuNjQ0KGFyaWFibGUgYW5kKS0uMjUgRiBGMSgrcikzLjE0NSBFIEYwIC42NDUod2lsbCBub3QgcmVtbykKLTMuMTQ1IEYgLjk0NSAtLjE1KHZlIHQpLS4xNSBIIC42NDUoaGUgcmVhZG9ubHkgYXR0cmliKS4xNSBGIDMuMTQ1Ci0odXRlLiBXaGVuKS0uMiBGIC42NDUodXNlZCBpbiBhIGZ1bmMtKTMuMTQ1IEYgMS45NDUodGlvbiwgbWFrKTE0NCAxOTYuOAotUiAxLjk0NShlcyBlYWNoKS0uMSBGIEYyKG5hbWUpNC40NDUgRSBGMCAxLjk0NShsb2NhbCwgYXMgd2l0aCB0aGUpNC40NDUKLUYgRjEobG9jYWwpNC40NDQgRSBGMCA0LjQ0NChjb21tYW5kLiBJZik0LjQ0NCBGIDQuNDQ0KGF2KTQuNDQ0IEcgMS45NDQKLShhcmlhYmxlIG5hbWUgaXMgZm9sbG8pLTQuNjk0IEYgMS45NDQod2VkIGJ5KS0uMjUgRig9KTE0NCAyMDguOCBRIEYyCi0odmFsdWUpQSBGMCAzLjIzOCgsdClDIC43MzgoaGUgdiktMy4yMzggRiAuNzM4KGFsdWUgb2YgdGhlIHYpLS4yNSBGIC43MzgKLShhcmlhYmxlIGlzIHNldCB0byktLjI1IEYgRjIodmFsdWUpMy4yMzggRSBGMCA1LjczOCguVClDIC43MzgKLShoZSByZXR1cm4gdiktNS43MzggRiAuNzM5KGFsdWUgaXMgMCB1bmxlc3MgYW4gaW4pLS4yNSBGIC0uMjUodmEpLS40IEcKLS43MzkobGlkIG9wdGlvbiBpcykuMjUgRiAuNjAzCi0oZW5jb3VudGVyZWQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkZVwyMTRuZSBhIGZ1bmN0aW9uIHVzaW5nKTE0NCAyMjAuOAotUi9GMyAxMC9Db3VyaWVyQDAgU0YgLjYwMyhcMjU1ZiBmb289YmFyKTMuMTAzIEYgRjAgMy4xMDMoLGEpQyAzLjEwMyhuYSkKLS0zLjEwMyBHIC42MDModHRlbXB0IGlzIG1hZGUgdG8pLTMuMTAzIEYgMS4yNDIoYXNzaWduIGEgdikxNDQgMjMyLjggUgotMS4yNDIoYWx1ZSB0byBhIHJlYWRvbmx5IHYpLS4yNSBGIDEuMjQyCi0oYXJpYWJsZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGFzc2lnbiBhIHYpLS4yNSBGIDEuMjQzCi0oYWx1ZSB0byBhbiBhcnJheSB2KS0uMjUgRihhcmlhYmxlKS0uMjUgRSAxLjM4NgotKHdpdGhvdXQgdXNpbmcgdGhlIGNvbXBvdW5kIGFzc2lnbm1lbnQgc3ludGF4IFwoc2VlKTE0NCAyNDQuOCBSIEYxCi0oQXJyYXlzKTMuODg2IEUgRjAoYWJvKTMuODg2IEUgLS4xNSh2ZSktLjE1IEcgMS4zODYoXCksIG9uZSBvZiB0aGUpLjE1IEYKLUYyKG5hbWVzKTMuODg2IEUgRjAgMS4zODYoaXMgbm90IGEpMy44ODYgRiAtLjI1KHZhKTE0NCAyNTYuOCBTIC4xNzEKLShsaWQgc2hlbGwgdikuMjUgRiAuMTcxKGFyaWFibGUgbmFtZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIHR1cm4gb2YpLS4yNQotRiAyLjY3MShmciktLjI1IEcgLjE3MShlYWRvbmx5IHN0YXR1cyBmb3IgYSByZWFkb25seSB2KS0yLjY3MSBGIC4xNzIKLShhcmlhYmxlLCBhbiktLjI1IEYgLjk2KGF0dGVtcHQgaXMgbWFkZSB0byB0dXJuIG9mKTE0NCAyNjguOCBSIDMuNDYoZmEpCi0tLjI1IEcgLjk2KHJyYXkgc3RhdHVzIGZvciBhbiBhcnJheSB2KS0zLjQ2IEYgLjk2Ci0oYXJpYWJsZSwgb3IgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIGRpc3BsYXkgYSktLjI1IEYobm9uLWUpMTQ0IDI4MC44IFEKLSh4aXN0ZW50IGZ1bmN0aW9uIHdpdGgpLS4xNSBFIEYxPGFkNjY+Mi41IEUgRjAoLilBIEYxKGRpcnMgWyspMTA4IDI5Ny42Ci1RIEYyKG4pQSBGMSAyLjUoXVspQzxhZD4tMi41IEUgRjIobilBIEYxIDIuNShdWylDKFwyNTVjcGx2XSktMi41IEUgRjAKLS0uNChXaSkxNDQgMzA5LjYgUyAuMzI4Cisodmlyb25tZW50LiktLjQgRSAuMTIoVXNpbmcgYCsnIGluc3RlYWQgb2YgYFwyNTUnIHR1cm5zIG9mKTE0NCAyMjAuOCBSCisyLjYyKGZ0KS0uMjUgRyAuMTIoaGUgYXR0cmliKS0yLjYyIEYgLjEyMSh1dGUgaW5zdGVhZCwgd2l0aCB0aGUgZSktLjIgRgorLjEyMSh4Y2VwdGlvbnMgdGhhdCktLjE1IEYgRjEoK2EpMi42MjEgRSBGMCAuMTIxKG1heSBub3QgYmUgdXNlZCkyLjYyMSBGCisuNjQ1KHRvIGRlc3RybykxNDQgMjMyLjggUiAzLjE0NSh5YSktLjEgRyAzLjE0NShuYSktMy4xNDUgRyAuNjQ1KHJyYXkgdikKKy0zLjE0NSBGIC42NDUoYXJpYWJsZSBhbmQpLS4yNSBGIEYxKCtyKTMuMTQ1IEUgRjAgLjY0NSh3aWxsIG5vdCByZW1vKQorMy4xNDUgRiAuOTQ1IC0uMTUodmUgdCktLjE1IEggLjY0NShoZSByZWFkb25seSBhdHRyaWIpLjE1IEYgMy4xNDQKKyh1dGUuIFdoZW4pLS4yIEYgLjY0NCh1c2VkIGluIGEgZnVuYy0pMy4xNDQgRiAuNTModGlvbiwgbWFrKTE0NCAyNDQuOCBSCisuNTMoZXMgZWFjaCktLjEgRiBGMyhuYW1lKTMuMDMgRSBGMCAuNTMobG9jYWwsIGFzIHdpdGggdGhlKTMuMDMgRiBGMQorKGxvY2FsKTMuMDMxIEUgRjAgLjUzMShjb21tYW5kLCB1bmxlc3MgdGhlKTMuMDMxIEYgRjEgLjUzMQorKFwyNTVnUCBvcHRpb24gaXMgc3VwcGxpZWQsIElmIGEpMy4wMzEgRiAtLjEodmEpMTQ0IDI1Ni44IFMgMS41NTgKKyhyaWFibGUgbmFtZSBpcyBmKS4xIEYob2xsbyktLjI1IEUgMS41NTgod2VkIGJ5ID0pLS4xIEYgRjModmFsdWUpQSBGMQorNC4wNTgoLHQpQyAxLjU1OChoZSB2KS00LjA1OCBGIDEuNTU3KGFsdWUgb2YgdGhlIHYpLS4xIEYgMS41NTcKKyhhcmlhYmxlIGlzIHNldCB0byktLjEgRiBGMyh2YWx1ZSk0LjA1NyBFIEYxIDYuNTU3KC5UKUMgMS41NTcoaGUgcikKKy02LjU1NyBGKGV0dXIpLS4xOCBFKG4pLS4xNSBFIC0uMSh2YSkxNDQgMjY4LjggUyAxLjE2OAorKGx1ZSBpcyAwIHVubGVzcyBhbiBpbikuMSBGIC0uMSh2YSktLjQgRyAxLjE2OChsaWQgb3B0aW9uIGlzIGVuY291bnRlcikKKy4xIEYgMS4xNjgoZWQsIGFuIGF0dGVtcHQgaXMgbWFkZSB0byBkZVwyMTRuZSBhIGZ1bmN0aW9uKS0uMTggRih1c2luZykKKzE0NCAyODAuOCBRL0Y0IDEwL0NvdXJpZXJAMCBTRiAuMzEyKFwyNTVmIGZvbz1iYXIpMi44MTIgRiBGMSAyLjgxMigsYSlDCisyLjgxMihuYSktMi44MTIgRyAuMzEyKHR0ZW1wdCBpcyBtYWRlIHRvIGFzc2lnbiBhIHYpLTIuODEyIEYgLjMxMgorKGFsdWUgdG8gYSByKS0uMSBGIC4zMTIoZWFkb25seSB2KS0uMTggRiAuMzExKGFyaWFibGUsIGFuIGF0dGVtcHQpLS4xIEYKKy42MTUoaXMgbWFkZSB0byBhc3NpZ24gYSB2KTE0NCAyOTIuOCBSIC42MTUoYWx1ZSB0byBhbiBhcnJheSB2KS0uMSBGCisuNjE2KGFyaWFibGUgd2l0aG91dCB1c2luZyB0aGUgY29tcG91bmQgYXNzaWdubWVudCBzeW4tKS0uMSBGIC4yNgorKHRheCBcKHNlZSBBcnJheXMpMTQ0IDMwNC44IFIgRjAoYWJvKTIuNzYgRSAtLjE1KHZlKS0uMTUgRyAuMjYKKyhcKSwgb25lIG9mIHRoZSkuMTUgRiBGMyhuYW1lcykyLjc2IEUgRjAgLjI1OShpcyBub3QgYSB2KTIuNzYgRiAuMjU5CisoYWxpZCBzaGVsbCB2KS0uMjUgRiAuMjU5KGFyaWFibGUgbmFtZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvKS0uMjUgRgorLjcwMyh0dXJuIG9mKTE0NCAzMTYuOCBSIDMuMjAzKGZyKS0uMjUgRyAuNzA0CisoZWFkb25seSBzdGF0dXMgZm9yIGEgcmVhZG9ubHkgdiktMy4yMDMgRiAuNzA0CisoYXJpYWJsZSwgYW4gYXR0ZW1wdCBpcyBtYWRlIHRvIHR1cm4gb2YpLS4yNSBGIDMuMjA0KGZhKS0uMjUgRyAuNzA0CisocnJheSBzdGF0dXMgZm9yIGFuKS0zLjIwNCBGKGFycmF5IHYpMTQ0IDMyOC44IFEKKyhhcmlhYmxlLCBvciBhbiBhdHRlbXB0IGlzIG1hZGUgdG8gZGlzcGxheSBhIG5vbi1lKS0uMjUgRQorKHhpc3RlbnQgZnVuY3Rpb24gd2l0aCktLjE1IEUgRjE8YWQ2Nj4yLjUgRSBGMCguKUEgRjEoZGlycyBbKykxMDggMzQ1LjYKK1EgRjMobilBIEYxIDIuNShdWylDPGFkPi0yLjUgRSBGMyhuKUEgRjEgMi41KF1bKUMoXDI1NWNscHZdKS0yLjUgRSBGMAorLS40KFdpKTE0NCAzNTcuNiBTIC4zMjkKICh0aG91dCBvcHRpb25zLCBkaXNwbGF5cyB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4pCi0uNCBGIC4zMjkoVGhlIGRlZik1LjMyOSBGIC4zMjkoYXVsdCBkaXNwbGF5IGlzIG9uIGEpLS4xIEYgMS4yMzgKLShzaW5nbGUgbGluZSB3aXRoIGRpcmVjdG9yeSBuYW1lcyBzZXBhcmF0ZWQgYnkgc3BhY2VzLikxNDQgMzIxLjYgUiAxLjIzOAotKERpcmVjdG9yaWVzIGFyZSBhZGRlZCB0byB0aGUgbGlzdCB3aXRoIHRoZSk2LjIzOCBGIEYxKHB1c2hkKTE0NCAzMzMuNiBRCisuNCBGIC4zMjgoVGhlIGRlZik1LjMyOCBGIC4zMjgoYXVsdCBkaXNwbGF5IGlzIG9uIGEpLS4xIEYgMS4yMzgKKyhzaW5nbGUgbGluZSB3aXRoIGRpcmVjdG9yeSBuYW1lcyBzZXBhcmF0ZWQgYnkgc3BhY2VzLikxNDQgMzY5LjYgUiAxLjIzOAorKERpcmVjdG9yaWVzIGFyZSBhZGRlZCB0byB0aGUgbGlzdCB3aXRoIHRoZSk2LjIzOCBGIEYxKHB1c2hkKTE0NCAzODEuNiBRCiBGMChjb21tYW5kOyB0aGUpMi41IEUgRjEocG9wZCkyLjUgRSBGMChjb21tYW5kIHJlbW8pMi41IEUgLS4xNSh2ZSktLjE1IEcKLTIuNShzZSkuMTUgRyhudHJpZXMgZnJvbSB0aGUgbGlzdC4pLTIuNSBFIEYxKCspMTQ0IDM0NS42IFEgRjIobilBIEYwCi0xLjU2NChEaXNwbGF5cyB0aGUpMjUuMyBGIEYyKG4pNC4wNjQgRSBGMCAxLjU2NQotKHRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvKUIgMS41NjUod24gYnkpLS4yNSBGIEYxCi0oZGlycyk0LjA2NSBFIEYwIDEuNTY1KHdoZW4gaW4pNC4wNjUgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcoZCkuMSBFCi0od2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uKTE4MCAzNTcuNiBRIEYxPGFkPjE0NCAzNjkuNiBRIEYyCi0obilBIEYwIDEuMTk0KERpc3BsYXlzIHRoZSkyNS4zIEYgRjIobikzLjY5NCBFIEYwIDEuMTk0CisyLjUoc2UpLjE1IEcobnRyaWVzIGZyb20gdGhlIGxpc3QuKS0yLjUgRSBGMSgrKTE0NCAzOTMuNiBRIEYzKG4pQSBGMAorMS41NjUoRGlzcGxheXMgdGhlKTI1LjMgRiBGMyhuKTQuMDY1IEUgRjAgMS41NjUKKyh0aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNobylCIDEuNTY0KHduIGJ5KS0uMjUgRiBGMQorKGRpcnMpNC4wNjQgRSBGMCAxLjU2NCh3aGVuIGluKTQuMDY0IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQpLjEgRQorKHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLikxODAgNDA1LjYgUSBGMTxhZD4xNDQgNDE3LjYgUSBGMworKG4pQSBGMCAxLjE5NChEaXNwbGF5cyB0aGUpMjUuMyBGIEYzKG4pMy42OTQgRSBGMCAxLjE5NAogKHRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNobylCIDEuMTk0KHduIGJ5KS0uMjUgRgogRjEoZGlycykzLjY5NCBFIEYwIDEuMTk0KHdoZW4gaW4pMy42OTQgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcoZCkuMSBFCi0od2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uKTE4MCAzODEuNiBRIEYxPGFkNjM+MTQ0IDM5My42IFEgRjAKKyh3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4pMTgwIDQyOS42IFEgRjE8YWQ2Mz4xNDQgNDQxLjYgUSBGMAogKENsZWFycyB0aGUgZGlyZWN0b3J5IHN0YWNrIGJ5IGRlbGV0aW5nIGFsbCBvZiB0aGUgZW50cmllcy4pMjUuODYgRSBGMQotPGFkNmM+MTQ0IDQwNS42IFEgRjAgLjMyNChQcm9kdWNlcyBhIGxvbmdlciBsaXN0aW5nOyB0aGUgZGVmKTI3LjUyIEYKKzxhZDZjPjE0NCA0NTMuNiBRIEYwIC4zMjQoUHJvZHVjZXMgYSBsb25nZXIgbGlzdGluZzsgdGhlIGRlZikyNy41MiBGCiAuMzI0KGF1bHQgbGlzdGluZyBmb3JtYXQgdXNlcyBhIHRpbGRlIHRvIGRlbm90ZSB0aGUgaG9tZSBkaXJlYy0pLS4xIEYKLSh0b3J5KTE4MCA0MTcuNiBRKC4pLS42NSBFIEYxPGFkNzA+MTQ0IDQyOS42IFEgRjAKKyh0b3J5KTE4MCA0NjUuNiBRKC4pLS42NSBFIEYxPGFkNzA+MTQ0IDQ3Ny42IFEgRjAKIChQcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lLikyNC43NCBFIEYxPGFkNzY+MTQ0Ci00NDEuNiBRIEYwIC4yNzMoUHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZSwgcHJlXAotXDIxNHhpbmcgZWFjaCBlbnRyeSB3aXRoIGl0cyBpbmRlKTI1LjMgRiAyLjc3Mih4aSktLjE1IEcgMi43NzIobnQpLTIuNzcyCi1HKGhlKS0yLjc3MiBFKHN0YWNrLikxODAgNDUzLjYgUSAuMjU3KFRoZSByZXR1cm4gdikxNDQgNDcwLjQgUiAuMjU4Cis0ODkuNiBRIEYwIC4yNzIoUHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZSwgcHJlXAorXDIxNHhpbmcgZWFjaCBlbnRyeSB3aXRoIGl0cyBpbmRlKTI1LjMgRiAyLjc3Myh4aSktLjE1IEcgMi43NzMobnQpLTIuNzczCitHKGhlKS0yLjc3MyBFKHN0YWNrLikxODAgNTAxLjYgUSAuMjU4KFRoZSByZXR1cm4gdikxNDQgNTE4LjQgUiAuMjU4CiAoYWx1ZSBpcyAwIHVubGVzcyBhbiBpbiktLjI1IEYgLS4yNSh2YSktLjQgRyAuMjU4Ci0obGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvcikuMjUgRiBGMihuKTIuNzU4IEUgRjAoaW5kZSkyLjc1OCBFIC0uMTUoeGUpCisobGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvcikuMjUgRiBGMyhuKTIuNzU4IEUgRjAoaW5kZSkyLjc1OCBFIC0uMTUoeGUpCiAtLjE1IEcgMi43NTgoc2IpLjE1IEcgLS4xNShleSktMi43NTggRyAuMjU4KG9uZCB0aGUgZW5kIG9mIHRoZSBkaXJlYy0pCi0uMTUgRih0b3J5IHN0YWNrLikxNDQgNDgyLjQgUSBGMShkaXNvKTEwOCA0OTkuMiBRKHduKS0uMSBFIEYwKFspMi41IEUgRjEKLShcMjU1YXIpQSBGMCAyLjUoXVspQyBGMTxhZDY4Pi0yLjUgRSBGMCAyLjUoXVspQyBGMihqb2JzcGVjKS0yLjUgRSBGMAotKC4uLl0pMi41IEUgLS40KFdpKTE0NCA1MTEuMiBTIC4yOTUodGhvdXQgb3B0aW9ucywgZWFjaCkuNCBGIEYyKGpvYnNwZWMpCisuMTUgRih0b3J5IHN0YWNrLikxNDQgNTMwLjQgUSBGMShkaXNvKTEwOCA1NDcuMiBRKHduKS0uMSBFIEYwKFspMi41IEUgRjEKKyhcMjU1YXIpQSBGMCAyLjUoXVspQyBGMTxhZDY4Pi0yLjUgRSBGMCAyLjUoXVspQyBGMyhqb2JzcGVjKS0yLjUgRSBGMAorKC4uLl0pMi41IEUgLS40KFdpKTE0NCA1NTkuMiBTIC4yOTUodGhvdXQgb3B0aW9ucywgZWFjaCkuNCBGIEYzKGpvYnNwZWMpCiA0LjUzNSBFIEYwIC4yOTUoaXMgcmVtbykzLjEwNSBGIC0uMTUodmUpLS4xNSBHIDIuNzk1KGRmKS4xNSBHIC4yOTUKIChyb20gdGhlIHRhYmxlIG9mIGFjdGkpLTIuNzk1IEYgLjU5NSAtLjE1KHZlIGopLS4yNSBIIDIuNzk1KG9icy4gSWYpLjE1Ci1GIEYyKGpvYnNwZWMpNC41MzUgRSBGMCAuMjk1KGlzIG5vdCBwcmVzZW50LCkzLjEwNSBGIC40MjIoYW5kIG5laXRoZXIpCi0xNDQgNTIzLjIgUiBGMTxhZDYxPjIuOTIyIEUgRjAobm9yKTIuOTIyIEUgRjE8YWQ3Mj4yLjkyMiBFIEYwIC40MjIKLShpcyBzdXBwbGllZCwgdGhlIHNoZWxsJykyLjkyMiBGIDIuOTIyKHNuKS0uNTUgRyAuNDIyKG90aW9uIG9mIHRoZSkKLS0yLjkyMiBGIEYyKGN1cnIpMi45MjMgRSAuNDIzKGVudCBqb2IpLS4zNyBGIEYwIC40MjMoaXMgdXNlZC4pMi45MjMgRgotLjQyMyhJZiB0aGUpNS40MjMgRiBGMTxhZDY4PjIuOTIzIEUgRjAgLjQyMyhvcHRpb24gaXMpMi45MjMgRihnaSkxNDQKLTUzNS4yIFEgLS4xNSh2ZSktLjI1IEcgLjE0MShuLCBlYWNoKS4xNSBGIEYyKGpvYnNwZWMpNC4zODEgRSBGMCAuMTQxCi0oaXMgbm90IHJlbW8pMi45NTEgRiAtLjE1KHZlKS0uMTUgRyAyLjY0MShkZikuMTUgRyAuMTQxCi0ocm9tIHRoZSB0YWJsZSwgYiktMi42NDEgRiAuMTQxKHV0IGlzIG1hcmspLS4yIEYgLjE0MShlZCBzbyB0aGF0KS0uMSBGCi0vRjQgOS9UaW1lcy1Cb2xkQDAgU0YoU0lHSFVQKTIuNjQxIEUgRjAgLjE0KGlzIG5vdCBzZW50IHRvIHRoZSkyLjM5IEYKLS4wMDQoam9iIGlmIHRoZSBzaGVsbCByZWNlaSkxNDQgNTQ3LjIgUiAtLjE1KHZlKS0uMjUgRyAyLjUwNChzYSkuMTUgRyBGNAotKFNJR0hVUClBL0Y1IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgLjAwNChJZiBubyk0LjUwNCBGIEYyKGpvYnNwZWMpCi00LjI0NCBFIEYwIC4wMDQoaXMgcHJlc2VudCwgYW5kIG5laXRoZXIgdGhlKTIuODE0IEYgRjE8YWQ2MT4yLjUwNCBFIEYwCi0uMDA1KG5vciB0aGUpMi41MDQgRiBGMTxhZDcyPjIuNTA1IEUgRjAgLjAwNShvcHRpb24gaXMpMi41MDUgRiAxLjIyOQotKHN1cHBsaWVkLCB0aGUpMTQ0IDU1OS4yIFIgRjIoY3VycikzLjcyOSBFIDEuMjI5KGVudCBqb2IpLS4zNyBGIEYwIDEuMjI5Ci0oaXMgdXNlZC4pMy43MjkgRiAxLjIyOShJZiBubyk2LjIyOSBGIEYyKGpvYnNwZWMpNS40NjkgRSBGMCAxLjIyOQotKGlzIHN1cHBsaWVkLCB0aGUpNC4wMzkgRiBGMTxhZDYxPjMuNzI5IEUgRjAgMS4yMjgob3B0aW9uIG1lYW5zIHRvIHJlbW8pCi0zLjcyOSBGIDEuNTI4IC0uMTUodmUgbyktLjE1IEgocikuMTUgRSAuNjU2KG1hcmsgYWxsIGpvYnM7IHRoZSkxNDQgNTcxLjIKLVIgRjE8YWQ3Mj4zLjE1NiBFIEYwIC42NTcob3B0aW9uIHdpdGhvdXQgYSkzLjE1NiBGIEYyKGpvYnNwZWMpNC44OTcgRSBGMAotKGFyKTMuNDY3IEUgLjY1NyhndW1lbnQgcmVzdHJpY3RzIG9wZXJhdGlvbiB0byBydW5uaW5nIGpvYnMuKS0uMTggRihUaGUpCi01LjY1NyBFKHJldHVybiB2KTE0NCA1ODMuMiBRKGFsdWUgaXMgMCB1bmxlc3MgYSktLjI1IEUgRjIoam9ic3BlYyk0LjI0IEUKLUYwKGRvZXMgbm90IHNwZWNpZnkgYSB2KTIuODEgRShhbGlkIGpvYiktLjI1IEUoLiktLjQgRSBGMShlY2hvKTEwOCA2MDAgUQotRjAoWykyLjUgRSBGMShcMjU1bmVFKUEgRjAgMi41KF1bKUMgRjIoYXIpLTIuNSBFKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUKLS4zOTUoT3V0cHV0IHRoZSkxNDQgNjEyIFIgRjIoYXIpMi44OTUgRShnKS0uMzcgRSBGMCAuMzk1CitGIEYzKGpvYnNwZWMpNC41MzUgRSBGMCAuMjk1KGlzIG5vdCBwcmVzZW50LCkzLjEwNSBGIC40MjMoYW5kIG5laXRoZXIpCisxNDQgNTcxLjIgUiBGMTxhZDYxPjIuOTIzIEUgRjAobm9yKTIuOTIzIEUgRjE8YWQ3Mj4yLjkyMyBFIEYwIC40MjMKKyhpcyBzdXBwbGllZCwgdGhlIHNoZWxsJykyLjkyMyBGIDIuOTIzKHNuKS0uNTUgRyAuNDIzKG90aW9uIG9mIHRoZSkKKy0yLjkyMyBGIEYzKGN1cnIpMi45MjIgRSAuNDIyKGVudCBqb2IpLS4zNyBGIEYwIC40MjIoaXMgdXNlZC4pMi45MjIgRgorLjQyMihJZiB0aGUpNS40MjIgRiBGMTxhZDY4PjIuOTIyIEUgRjAgLjQyMihvcHRpb24gaXMpMi45MjIgRihnaSkxNDQKKzU4My4yIFEgLS4xNSh2ZSktLjI1IEcgLjE0KG4sIGVhY2gpLjE1IEYgRjMoam9ic3BlYyk0LjM4IEUgRjAgLjE0CisoaXMgbm90IHJlbW8pMi45NSBGIC0uMTUodmUpLS4xNSBHIDIuNjQxKGRmKS4xNSBHIC4xNDEocm9tIHRoZSB0YWJsZSwgYikKKy0yLjY0MSBGIC4xNDEodXQgaXMgbWFyayktLjIgRiAuMTQxKGVkIHNvIHRoYXQpLS4xIEYgRjIoU0lHSFVQKTIuNjQxIEUKK0YwIC4xNDEoaXMgbm90IHNlbnQgdG8gdGhlKTIuMzkxIEYgLjAwNShqb2IgaWYgdGhlIHNoZWxsIHJlY2VpKTE0NCA1OTUuMgorUiAtLjE1KHZlKS0uMjUgRyAyLjUwNChzYSkuMTUgRyBGMihTSUdIVVApQS9GNSA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwCisuMDA0KElmIG5vKTQuNTA0IEYgRjMoam9ic3BlYyk0LjI0NCBFIEYwIC4wMDQKKyhpcyBwcmVzZW50LCBhbmQgbmVpdGhlciB0aGUpMi44MTQgRiBGMTxhZDYxPjIuNTA0IEUgRjAgLjAwNChub3IgdGhlKQorMi41MDQgRiBGMTxhZDcyPjIuNTA0IEUgRjAgLjAwNChvcHRpb24gaXMpMi41MDQgRiAxLjIyOChzdXBwbGllZCwgdGhlKQorMTQ0IDYwNy4yIFIgRjMoY3VycikzLjcyOCBFIDEuMjI4KGVudCBqb2IpLS4zNyBGIEYwIDEuMjI5KGlzIHVzZWQuKTMuNzI5CitGIDEuMjI5KElmIG5vKTYuMjI5IEYgRjMoam9ic3BlYyk1LjQ2OSBFIEYwIDEuMjI5KGlzIHN1cHBsaWVkLCB0aGUpNC4wMzkKK0YgRjE8YWQ2MT4zLjcyOSBFIEYwIDEuMjI5KG9wdGlvbiBtZWFucyB0byByZW1vKTMuNzI5IEYgMS41MjkgLS4xNSh2ZSBvKQorLS4xNSBIKHIpLjE1IEUgLjY1NyhtYXJrIGFsbCBqb2JzOyB0aGUpMTQ0IDYxOS4yIFIgRjE8YWQ3Mj4zLjE1NyBFIEYwCisuNjU3KG9wdGlvbiB3aXRob3V0IGEpMy4xNTcgRiBGMyhqb2JzcGVjKTQuODk3IEUgRjAoYXIpMy40NjcgRSAuNjU2CisoZ3VtZW50IHJlc3RyaWN0cyBvcGVyYXRpb24gdG8gcnVubmluZyBqb2JzLiktLjE4IEYoVGhlKTUuNjU2IEUKKyhyZXR1cm4gdikxNDQgNjMxLjIgUShhbHVlIGlzIDAgdW5sZXNzIGEpLS4yNSBFIEYzKGpvYnNwZWMpNC4yNCBFIEYwCisoZG9lcyBub3Qgc3BlY2lmeSBhIHYpMi44MSBFKGFsaWQgam9iKS0uMjUgRSguKS0uNCBFIEYxKGVjaG8pMTA4IDY0OCBRCitGMChbKTIuNSBFIEYxKFwyNTVuZUUpQSBGMCAyLjUoXVspQyBGMyhhciktMi41IEUoZyktLjM3IEUgRjAoLi4uXSkyLjUgRQorLjM5NChPdXRwdXQgdGhlKTE0NCA2NjAgUiBGMyhhcikyLjg5NCBFKGcpLS4zNyBFIEYwIC4zOTQKIChzLCBzZXBhcmF0ZWQgYnkgc3BhY2VzLCBmb2xsbylCIC4zOTUod2VkIGJ5IGEgbmUpLS4yNSBGIDIuODk1Ci0od2xpbmUuIFRoZSktLjI1IEYgLjM5NChyZXR1cm4gc3RhdHVzIGlzIGFsKTIuODk1IEYgLS4xKHdhKS0uMSBHIC4zOTQKLSh5cyAwLikuMSBGKElmKTUuMzk0IEUgRjE8YWQ2ZT4yLjg5NCBFIEYwIC41NDgKLShpcyBzcGVjaVwyMTRlZCwgdGhlIHRyYWlsaW5nIG5lKTE0NCA2MjQgUiAuNTQ4KHdsaW5lIGlzIHN1cHByZXNzZWQuKQorKHdsaW5lLiBUaGUpLS4yNSBGIC4zOTUocmV0dXJuIHN0YXR1cyBpcyBhbCkyLjg5NSBGIC0uMSh3YSktLjEgRyAuMzk1CisoeXMgMC4pLjEgRihJZik1LjM5NSBFIEYxPGFkNmU+Mi44OTUgRSBGMCAuNTQ5CisoaXMgc3BlY2lcMjE0ZWQsIHRoZSB0cmFpbGluZyBuZSkxNDQgNjcyIFIgLjU0OCh3bGluZSBpcyBzdXBwcmVzc2VkLikKIC0uMjUgRiAuNTQ4KElmIHRoZSk1LjU0OCBGIEYxPGFkNjU+My4wNDggRSBGMCAuNTQ4KG9wdGlvbiBpcyBnaSkzLjA0OCBGCi0tLjE1KHZlKS0uMjUgRyAuNTQ4KG4sIGludGVycHJldGF0aW9uIG9mIHRoZSBmb2wtKS4xNSBGKGxvKTE0NCA2MzYgUQotLjA1Myh3aW5nIGJhY2tzbGFzaC1lc2NhcGVkIGNoYXJhY3RlcnMgaXMgZW5hYmxlZC4pLS4yNSBGKFRoZSk1LjA1MyBFIEYxCi08YWQ0NT4yLjU1MyBFIEYwIC4wNTIob3B0aW9uIGRpc2FibGVzIHRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGVzZSkyLjU1MgotRiAxLjUwMihlc2NhcGUgY2hhcmFjdGVycywgZSkxNDQgNjQ4IFIgLS4xNSh2ZSktLjI1IEcgNC4wMDIobm8pLjE1IEcKLTQuMDAyKG5zKS00LjAwMiBHIDEuNTAyKHlzdGVtcyB3aGVyZSB0aGUpLTQuMDAyIEYgNC4wMDIoeWEpLS4xNSBHIDEuNTAyCi0ocmUgaW50ZXJwcmV0ZWQgYnkgZGVmKS00LjAwMiBGIDQuMDAzKGF1bHQuIFRoZSktLjEgRiBGMSh4cGdfZWNobyk0LjAwMwotRSBGMChzaGVsbCk0LjAwMyBFIC4wMDkKLShvcHRpb24gbWF5IGJlIHVzZWQgdG8gZHluYW1pY2FsbHkgZGV0ZXJtaW5lIHdoZXRoZXIgb3Igbm90KTE0NCA2NjAgUiBGMQotKGVjaG8pMi41MDkgRSBGMCAtLjE1KGV4KTIuNTA5IEcgLjAwOShwYW5kcyB0aGVzZSBlc2NhcGUgY2hhcmFjdGVycykuMTUKLUYgLjY1OShieSBkZWYpMTQ0IDY3MiBSKGF1bHQuKS0uMSBFIEYxKGVjaG8pNS42NTkgRSBGMCAuNjU5Ci0oZG9lcyBub3QgaW50ZXJwcmV0KTMuMTU5IEYgRjE8YWRhZD4zLjE1OSBFIEYwIC42NTkKLSh0byBtZWFuIHRoZSBlbmQgb2Ygb3B0aW9ucy4pMy4xNTkgRiBGMShlY2hvKTUuNjYgRSBGMCAuNjYKLShpbnRlcnByZXRzIHRoZSBmb2xsbykzLjE2IEYod2luZyktLjI1IEUoZXNjYXBlIHNlcXVlbmNlczopMTQ0IDY4NCBRIEYxCi0oXFxhKTE0NCA2OTYgUSBGMChhbGVydCBcKGJlbGxcKSkyOC4yMiBFIEYxKFxcYikxNDQgNzA4IFEgRjAoYmFja3NwYWNlKQotMjcuNjYgRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDYpMjAzLjcyNSBFIDAgQ2cgRVAKKy0uMTUodmUpLS4yNSBHIC41NDgobiwgaW50ZXJwcmV0YXRpb24gb2YgdGhlIGZvbC0pLjE1IEYobG8pMTQ0IDY4NCBRCisuMDUyKHdpbmcgYmFja3NsYXNoLWVzY2FwZWQgY2hhcmFjdGVycyBpcyBlbmFibGVkLiktLjI1IEYoVGhlKTUuMDUyIEUgRjEKKzxhZDQ1PjIuNTUyIEUgRjAgLjA1MyhvcHRpb24gZGlzYWJsZXMgdGhlIGludGVycHJldGF0aW9uIG9mIHRoZXNlKTIuNTUzCitGIDEuNTAzKGVzY2FwZSBjaGFyYWN0ZXJzLCBlKTE0NCA2OTYgUiAtLjE1KHZlKS0uMjUgRyA0LjAwMyhubykuMTUgRworNC4wMDMobnMpLTQuMDAzIEcgMS41MDIoeXN0ZW1zIHdoZXJlIHRoZSktNC4wMDMgRiA0LjAwMih5YSktLjE1IEcgMS41MDIKKyhyZSBpbnRlcnByZXRlZCBieSBkZWYpLTQuMDAyIEYgNC4wMDIoYXVsdC4gVGhlKS0uMSBGIEYxKHhwZ19lY2hvKTQuMDAyCitFIEYwKHNoZWxsKTQuMDAyIEUgLjAwOQorKG9wdGlvbiBtYXkgYmUgdXNlZCB0byBkeW5hbWljYWxseSBkZXRlcm1pbmUgd2hldGhlciBvciBub3QpMTQ0IDcwOCBSIEYxCisoZWNobykyLjUwOSBFIEYwIC0uMTUoZXgpMi41MSBHIC4wMShwYW5kcyB0aGVzZSBlc2NhcGUgY2hhcmFjdGVycykuMTUgRgorLjY2KGJ5IGRlZikxNDQgNzIwIFIoYXVsdC4pLS4xIEUgRjEoZWNobyk1LjY2IEUgRjAgLjY2CisoZG9lcyBub3QgaW50ZXJwcmV0KTMuMTYgRiBGMTxhZGFkPjMuMTYgRSBGMCAuNjU5CisodG8gbWVhbiB0aGUgZW5kIG9mIG9wdGlvbnMuKTMuMTU5IEYgRjEoZWNobyk1LjY1OSBFIEYwIC42NTkKKyhpbnRlcnByZXRzIHRoZSBmb2xsbykzLjE1OSBGKHdpbmcpLS4yNSBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUQorKDIwMDQgQXByIDIwKTE0OC43MzUgRSg2KTIwMy43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDcgNwogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4Ci0oVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRihcXGMpMTQ0IDg0IFEgRjAoc3VwcHJlc3MgZnVydGhlciBvdXRwdXQpMjguNzggRSBGMShcXGUpCi0xNDQgOTYgUSBGMChhbiBlc2NhcGUgY2hhcmFjdGVyKTI4Ljc4IEUgRjEoXFxmKTE0NCAxMDggUSBGMChmb3JtIGZlZWQpCi0yOS44OSBFIEYxKFxcbikxNDQgMTIwIFEgRjAobmUpMjcuNjYgRSAyLjUod2wpLS4yNSBHKGluZSktMi41IEUgRjEoXFxyKQotMTQ0IDEzMiBRIEYwKGNhcnJpYWdlIHJldHVybikyOC43OCBFIEYxKFxcdCkxNDQgMTQ0IFEgRjAoaG9yaXpvbnRhbCB0YWIpCi0yOS44OSBFIEYxKFxcdikxNDQgMTU2IFEgRjAgLS4xNSh2ZSkyOC4yMiBHKHJ0aWNhbCB0YWIpLjE1IEUgRjEoXFxcXCkxNDQKLTE2OCBRIEYwKGJhY2tzbGFzaCkzMC40NCBFIEYxKFxcMCkxNDQgMTgwIFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0Yobm5uKQotQSBGMCh0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2KTEzLjIyIEUoYWx1ZSBpcyB0aGUgb2N0YWwgdiktLjI1IEUKKyhUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFCisoZXNjYXBlIHNlcXVlbmNlczopMTQ0IDg0IFEvRjEgMTAvVGltZXMtQm9sZEAwIFNGKFxcYSkxNDQgOTYgUSBGMAorKGFsZXJ0IFwoYmVsbFwpKTI4LjIyIEUgRjEoXFxiKTE0NCAxMDggUSBGMChiYWNrc3BhY2UpMjcuNjYgRSBGMShcXGMpMTQ0CisxMjAgUSBGMChzdXBwcmVzcyBmdXJ0aGVyIG91dHB1dCkyOC43OCBFIEYxKFxcZSkxNDQgMTMyIFEoXFxFKTE0NCAxNDQgUQorRjAoYW4gZXNjYXBlIGNoYXJhY3RlcikyNi41NSBFIEYxKFxcZikxNDQgMTU2IFEgRjAoZm9ybSBmZWVkKTI5Ljg5IEUgRjEKKyhcXG4pMTQ0IDE2OCBRIEYwKG5lKTI3LjY2IEUgMi41KHdsKS0uMjUgRyhpbmUpLTIuNSBFIEYxKFxccikxNDQgMTgwIFEKK0YwKGNhcnJpYWdlIHJldHVybikyOC43OCBFIEYxKFxcdCkxNDQgMTkyIFEgRjAoaG9yaXpvbnRhbCB0YWIpMjkuODkgRSBGMQorKFxcdikxNDQgMjA0IFEgRjAgLS4xNSh2ZSkyOC4yMiBHKHJ0aWNhbCB0YWIpLjE1IEUgRjEoXFxcXCkxNDQgMjE2IFEgRjAKKyhiYWNrc2xhc2gpMzAuNDQgRSBGMShcXDApMTQ0IDIyOCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG5ubilBIEYwCisodGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdikxMy4yMiBFKGFsdWUgaXMgdGhlIG9jdGFsIHYpLS4yNSBFCiAoYWx1ZSktLjI1IEUgRjIobm5uKTIuNSBFIEYwKFwoemVybyB0byB0aHJlZSBvY3RhbCBkaWdpdHNcKSkyLjUgRSBGMQotKFxceCkxNDQgMTkyIFEgRjIoSEgpQSBGMCh0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2KTEzLjc4IEUKKyhcXHgpMTQ0IDI0MCBRIEYyKEhIKUEgRjAodGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdikxMy43OCBFCiAoYWx1ZSBpcyB0aGUgaGUpLS4yNSBFKHhhZGVjaW1hbCB2KS0uMTUgRShhbHVlKS0uMjUgRSBGMihISCkyLjUgRSBGMAogKFwob25lIG9yIHR3KTIuNSBFIDIuNShvaCktLjEgRyAuMyAtLjE1KGV4IGQpLTIuNSBIKGlnaXRzXCkpLjE1IEUgRjEKLShlbmFibGUpMTA4IDIwOC44IFEgRjAoWykyLjUgRSBGMTxhZDYxPkEgRjAgMi41KF1bKUMgRjEoXDI1NWRucHMpLTIuNSBFCi1GMCAyLjUoXVspQyBGMTxhZDY2Pi0yLjUgRSBGMihcMjE0bGVuYW1lKTIuNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNQotRSBGMCguLi5dKTIuNSBFIC4yNzgoRW5hYmxlIGFuZCBkaXNhYmxlIGIpMTQ0IDIyMC44IFIgLjI3OAotKHVpbHRpbiBzaGVsbCBjb21tYW5kcy4pLS4yIEYgLjI3OChEaXNhYmxpbmcgYSBiKTUuMjc4IEYgLjI3OAotKHVpbHRpbiBhbGxvKS0uMiBGIC4yNzgod3MgYSBkaXNrIGNvbW1hbmQgd2hpY2ggaGFzKS0uMjUgRiAuODMzCi0odGhlIHNhbWUgbmFtZSBhcyBhIHNoZWxsIGIpMTQ0IDIzMi44IFIgLjgzNCh1aWx0aW4gdG8gYmUgZSktLjIgRiAtLjE1CisoXFx1KTE0NCAyNTIgUSBGMihISEhIKUEgRjAgMS41MDYKKyh0aGUgVW5pY29kZSBcKElTTy9JRUMgMTA2NDZcKSBjaGFyYWN0ZXIgd2hvc2UgdikxODAgMjY0IFIgMS41MDcKKyhhbHVlIGlzIHRoZSBoZSktLjI1IEYgMS41MDcoeGFkZWNpbWFsIHYpLS4xNSBGKGFsdWUpLS4yNSBFIEYyKEhISEgpCis0LjAwNyBFIEYwKFwob25lIHRvIGZvdXIgaGUpMTgwIDI3NiBRIDIuNSh4ZCktLjE1IEcoaWdpdHNcKSktMi41IEUgRjEKKyhcXFUpMTQ0IDI4OCBRIEYyKEhISEhISEhIKUEgRjAgLjU0OAorKHRoZSBVbmljb2RlIFwoSVNPL0lFQyAxMDY0NlwpIGNoYXJhY3RlciB3aG9zZSB2KTE4MCAzMDAgUiAuNTQ3CisoYWx1ZSBpcyB0aGUgaGUpLS4yNSBGIC41NDcoeGFkZWNpbWFsIHYpLS4xNSBGKGFsdWUpLS4yNSBFIEYyKEhISEhILSkKKzMuMDQ3IEUoSEhIKTE4MCAzMTIgUSBGMChcKG9uZSB0byBlaWdodCBoZSkyLjUgRSAyLjUoeGQpLS4xNSBHKGlnaXRzXCkpCistMi41IEUgRjEoZW5hYmxlKTEwOCAzMjguOCBRIEYwKFspMi41IEUgRjE8YWQ2MT5BIEYwIDIuNShdWylDIEYxCisoXDI1NWRucHMpLTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNjY+LTIuNSBFIEYyKFwyMTRsZW5hbWUpMi41IEUgRjAgMi41CisoXVspQyBGMihuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFIC4yNzcoRW5hYmxlIGFuZCBkaXNhYmxlIGIpMTQ0IDM0MC44IFIKKy4yNzgodWlsdGluIHNoZWxsIGNvbW1hbmRzLiktLjIgRiAuMjc4KERpc2FibGluZyBhIGIpNS4yNzggRiAuMjc4CisodWlsdGluIGFsbG8pLS4yIEYgLjI3OCh3cyBhIGRpc2sgY29tbWFuZCB3aGljaCBoYXMpLS4yNSBGIC44MzQKKyh0aGUgc2FtZSBuYW1lIGFzIGEgc2hlbGwgYikxNDQgMzUyLjggUiAuODM0KHVpbHRpbiB0byBiZSBlKS0uMiBGIC0uMTUKICh4ZSktLjE1IEcgLjgzNChjdXRlZCB3aXRob3V0IHNwZWNpZnlpbmcgYSBmdWxsIHBhdGhuYW1lLCBlKS4xNSBGIC0uMTUKLSh2ZSktLjI1IEcgMy4zMzQobnQpLjE1IEcoaG91Z2gpLTMuMzM0IEUgLjk5Ci0odGhlIHNoZWxsIG5vcm1hbGx5IHNlYXJjaGVzIGZvciBiKTE0NCAyNDQuOCBSIC45ODkKLSh1aWx0aW5zIGJlZm9yZSBkaXNrIGNvbW1hbmRzLiktLjIgRihJZik1Ljk4OSBFIEYxPGFkNmU+My40ODkgRSBGMCAuOTg5Ci0oaXMgdXNlZCwgZWFjaCkzLjQ4OSBGIEYyKG5hbWUpMy40ODkgRSBGMCAuOTg5KGlzIGRpcy0pMy40ODkgRiAxLjU4MQotKGFibGVkOyBvdGhlcndpc2UsKTE0NCAyNTYuOCBSIEYyKG5hbWVzKTQuMDgyIEUgRjAgMS41ODIoYXJlIGVuYWJsZWQuKQorKHZlKS0uMjUgRyAzLjMzMyhudCkuMTUgRyhob3VnaCktMy4zMzMgRSAuOTg5CisodGhlIHNoZWxsIG5vcm1hbGx5IHNlYXJjaGVzIGZvciBiKTE0NCAzNjQuOCBSIC45ODkKKyh1aWx0aW5zIGJlZm9yZSBkaXNrIGNvbW1hbmRzLiktLjIgRihJZik1Ljk4OSBFIEYxPGFkNmU+My40ODkgRSBGMCAuOTkKKyhpcyB1c2VkLCBlYWNoKTMuNDkgRiBGMihuYW1lKTMuNDkgRSBGMCAuOTkoaXMgZGlzLSkzLjQ5IEYgMS41ODIKKyhhYmxlZDsgb3RoZXJ3aXNlLCkxNDQgMzc2LjggUiBGMihuYW1lcyk0LjA4MiBFIEYwIDEuNTgyKGFyZSBlbmFibGVkLikKIDQuMDgyIEYgLS4xNShGbyk2LjU4MiBHIDQuMDgyKHJlKS4xNSBHIDEuNTgyKHhhbXBsZSwgdG8gdXNlIHRoZSktNC4yMzIgRgogRjEodGVzdCk0LjA4MiBFIEYwIDEuNTgyKGJpbmFyeSBmb3VuZCB2aWEgdGhlKTQuMDgyIEYvRjMgOS9UaW1lcy1Cb2xkQDAKLVNGIC0uNjY2KFBBKTQuMDgyIEcoVEgpLS4xODkgRSBGMCAuMDgxKGluc3RlYWQgb2YgdGhlIHNoZWxsIGIpMTQ0IDI2OC44Ci1SIC4wODEodWlsdGluIHYpLS4yIEYgLjA4MShlcnNpb24sIHJ1biktLjE1IEYvRjQgMTAvQ291cmllckAwIFNGIC4wODEKLShlbmFibGUgLW4gdGVzdCkyLjU4MSBGIEYwIDUuMDgxKC5UKUMoaGUpLTUuMDgxIEUgRjE8YWQ2Nj4yLjU4IEUgRjAgLjA4Ci0ob3B0aW9uIG1lYW5zIHRvIGxvYWQgdGhlIG5lKTIuNTggRih3KS0uMjUgRSAtLjIoYnUpMTQ0IDI4MC44IFMgMS41MjQKLShpbHRpbiBjb21tYW5kKS4yIEYgRjIobmFtZSk0LjM4NCBFIEYwIDEuNTI0KGZyb20gc2hhcmVkIG9iamVjdCk0LjIwNCBGCitTRiAtLjY2NihQQSk0LjA4MSBHKFRIKS0uMTg5IEUgRjAgLjA4KGluc3RlYWQgb2YgdGhlIHNoZWxsIGIpMTQ0IDM4OC44IFIKKy4wOCh1aWx0aW4gdiktLjIgRiAuMDgoZXJzaW9uLCBydW4pLS4xNSBGL0Y0IDEwL0NvdXJpZXJAMCBTRiAuMDgxCisoZW5hYmxlIC1uIHRlc3QpMi41OCBGIEYwIDUuMDgxKC5UKUMoaGUpLTUuMDgxIEUgRjE8YWQ2Nj4yLjU4MSBFIEYwIC4wODEKKyhvcHRpb24gbWVhbnMgdG8gbG9hZCB0aGUgbmUpMi41ODEgRih3KS0uMjUgRSAtLjIoYnUpMTQ0IDQwMC44IFMgMS41MjUKKyhpbHRpbiBjb21tYW5kKS4yIEYgRjIobmFtZSk0LjM4NSBFIEYwIDEuNTI0KGZyb20gc2hhcmVkIG9iamVjdCk0LjIwNCBGCiBGMihcMjE0bGVuYW1lKTQuMDI0IEUgRjAgNC4wMjQoLG8pLjE4IEcgNC4wMjQobnMpLTQuMDI0IEcgMS41MjQKLSh5c3RlbXMgdGhhdCBzdXBwb3J0IGR5bmFtaWMgbG9hZGluZy4pLTQuMDI0IEYoVGhlKTE0NCAyOTIuOCBRIEYxPGFkNjQ+Ci0yLjg2NyBFIEYwIC4zNjcob3B0aW9uIHdpbGwgZGVsZXRlIGEgYikyLjg2NyBGIC4zNjcodWlsdGluIHByZSktLjIgRgotLjM2Nyh2aW91c2x5IGxvYWRlZCB3aXRoKS0uMjUgRiBGMTxhZDY2PjIuODY2IEUgRjAgNS4zNjYoLkkpQyAyLjg2NihmbikKLS01LjM2NiBHKG8pLTIuODY2IEUgRjIobmFtZSkyLjg2NiBFIEYwKGFyKTIuODY2IEUgLjM2NihndW1lbnRzIGFyZSBnaSkKLS0uMTggRiAtLjE1KHZlKS0uMjUgRyAuMzY2KG4sIG9yKS4xNSBGIC4zOTgoaWYgdGhlKTE0NCAzMDQuOCBSIEYxPGFkNzA+Ci0yLjg5OCBFIEYwIC4zOTkob3B0aW9uIGlzIHN1cHBsaWVkLCBhIGxpc3Qgb2Ygc2hlbGwgYikyLjg5OSBGIC4zOTkKKyh5c3RlbXMgdGhhdCBzdXBwb3J0IGR5bmFtaWMgbG9hZGluZy4pLTQuMDI0IEYoVGhlKTE0NCA0MTIuOCBRIEYxPGFkNjQ+CisyLjg2NiBFIEYwIC4zNjYob3B0aW9uIHdpbGwgZGVsZXRlIGEgYikyLjg2NiBGIC4zNjYodWlsdGluIHByZSktLjIgRgorLjM2Nih2aW91c2x5IGxvYWRlZCB3aXRoKS0uMjUgRiBGMTxhZDY2PjIuODY3IEUgRjAgNS4zNjcoLkkpQyAyLjg2NyhmbikKKy01LjM2NyBHKG8pLTIuODY3IEUgRjIobmFtZSkyLjg2NyBFIEYwKGFyKTIuODY3IEUgLjM2NyhndW1lbnRzIGFyZSBnaSkKKy0uMTggRiAtLjE1KHZlKS0uMjUgRyAuMzY3KG4sIG9yKS4xNSBGIC4zOTkoaWYgdGhlKTE0NCA0MjQuOCBSIEYxPGFkNzA+CisyLjg5OSBFIEYwIC4zOTkob3B0aW9uIGlzIHN1cHBsaWVkLCBhIGxpc3Qgb2Ygc2hlbGwgYikyLjg5OSBGIC4zOTkKICh1aWx0aW5zIGlzIHByaW50ZWQuKS0uMiBGIC0uNChXaSk1LjM5OSBHIC4zOTkodGggbm8gb3RoZXIgb3B0aW9uIGFyKS40Ci1GIC4zOTkoZ3VtZW50cywgdGhlKS0uMTggRiAuMDk5KGxpc3QgY29uc2lzdHMgb2YgYWxsIGVuYWJsZWQgc2hlbGwgYikxNDQKLTMxNi44IFIgMi41OTgodWlsdGlucy4gSWYpLS4yIEYgRjE8YWQ2ZT4yLjU5OCBFIEYwIC4wOTgKLShpcyBzdXBwbGllZCwgb25seSBkaXNhYmxlZCBiKTIuNTk4IEYgLjA5OCh1aWx0aW5zIGFyZSBwcmludGVkLiktLjIgRgotKElmKTUuMDk4IEUgRjE8YWQ2MT4yLjU5OCBFIEYwIDEuOTE2Ci0oaXMgc3VwcGxpZWQsIHRoZSBsaXN0IHByaW50ZWQgaW5jbHVkZXMgYWxsIGIpMTQ0IDMyOC44IFIgMS45MTYKLSh1aWx0aW5zLCB3aXRoIGFuIGluZGljYXRpb24gb2Ygd2hldGhlciBvciBub3QgZWFjaCBpcyktLjIgRiAyLjg3OQotKGVuYWJsZWQuIElmKTE0NCAzNDAuOCBSIEYxPGFkNzM+Mi44NzkgRSBGMCAuMzc5Ci0oaXMgc3VwcGxpZWQsIHRoZSBvdXRwdXQgaXMgcmVzdHJpY3RlZCB0byB0aGUgUE9TSVgpMi44NzkgRiBGMihzcGVjaWFsKQotMi44NzkgRSBGMCAtLjIoYnUpMi44NzggRyAyLjg3OChpbHRpbnMuIFRoZSkuMiBGIC4zNzgocmV0dXJuIHYpMi44NzggRgotKGFsdWUpLS4yNSBFIC45OTQoaXMgMCB1bmxlc3MgYSkxNDQgMzUyLjggUiBGMihuYW1lKTMuODU0IEUgRjAgLjk5NAotKGlzIG5vdCBhIHNoZWxsIGIpMy42NzQgRiAuOTk0KHVpbHRpbiBvciB0aGVyZSBpcyBhbiBlcnJvciBsb2FkaW5nIGEgbmUpCi0tLjIgRiAzLjQ5NSh3YiktLjI1IEcgLjk5NSh1aWx0aW4gZnJvbSBhIHNoYXJlZCktMy42OTUgRihvYmplY3QuKTE0NAotMzY0LjggUSBGMSAtMi4zIC0uMTUoZXYgYSkxMDggMzgxLjYgVChsKS4xNSBFIEYwKFspMi41IEUgRjIoYXIpQShnKS0uMzcKLUUgRjAoLi4uXSkyLjUgRShUaGUpMTQ0IDM5My42IFEgRjIoYXIpMy4xNzEgRShnKS0uMzcgRSBGMCAzLjE3MShzYSlDCi0uNjcxKHJlIHJlYWQgYW5kIGNvbmNhdGVuYXRlZCB0b2dldGhlciBpbnRvIGEgc2luZ2xlIGNvbW1hbmQuKS0zLjE3MSBGCi0uNjcoVGhpcyBjb21tYW5kIGlzIHRoZW4gcmVhZCk1LjY3IEYgLjQ5NShhbmQgZSkxNDQgNDA1LjYgUiAtLjE1KHhlKS0uMTUKLUcgLjQ5NShjdXRlZCBieSB0aGUgc2hlbGwsIGFuZCBpdHMgZSkuMTUgRiAuNDk1CitGIC4zOTgoZ3VtZW50cywgdGhlKS0uMTggRiAuMDk4KGxpc3QgY29uc2lzdHMgb2YgYWxsIGVuYWJsZWQgc2hlbGwgYikxNDQKKzQzNi44IFIgMi41OTgodWlsdGlucy4gSWYpLS4yIEYgRjE8YWQ2ZT4yLjU5OCBFIEYwIC4wOTgKKyhpcyBzdXBwbGllZCwgb25seSBkaXNhYmxlZCBiKTIuNTk4IEYgLjA5OSh1aWx0aW5zIGFyZSBwcmludGVkLiktLjIgRgorKElmKTUuMDk5IEUgRjE8YWQ2MT4yLjU5OSBFIEYwIDEuOTE3CisoaXMgc3VwcGxpZWQsIHRoZSBsaXN0IHByaW50ZWQgaW5jbHVkZXMgYWxsIGIpMTQ0IDQ0OC44IFIgMS45MTYKKyh1aWx0aW5zLCB3aXRoIGFuIGluZGljYXRpb24gb2Ygd2hldGhlciBvciBub3QgZWFjaCBpcyktLjIgRiAyLjg3OAorKGVuYWJsZWQuIElmKTE0NCA0NjAuOCBSIEYxPGFkNzM+Mi44NzggRSBGMCAuMzc5CisoaXMgc3VwcGxpZWQsIHRoZSBvdXRwdXQgaXMgcmVzdHJpY3RlZCB0byB0aGUgUE9TSVgpMi44NzggRiBGMihzcGVjaWFsKQorMi44NzkgRSBGMCAtLjIoYnUpMi44NzkgRyAyLjg3OShpbHRpbnMuIFRoZSkuMiBGIC4zNzkocmV0dXJuIHYpMi44NzkgRgorKGFsdWUpLS4yNSBFIC45OTUoaXMgMCB1bmxlc3MgYSkxNDQgNDcyLjggUiBGMihuYW1lKTMuODU1IEUgRjAgLjk5NAorKGlzIG5vdCBhIHNoZWxsIGIpMy42NzUgRiAuOTk0KHVpbHRpbiBvciB0aGVyZSBpcyBhbiBlcnJvciBsb2FkaW5nIGEgbmUpCistLjIgRiAzLjQ5NCh3YiktLjI1IEcgLjk5NCh1aWx0aW4gZnJvbSBhIHNoYXJlZCktMy42OTQgRihvYmplY3QuKTE0NAorNDg0LjggUSBGMSAtMi4zIC0uMTUoZXYgYSkxMDggNTAxLjYgVChsKS4xNSBFIEYwKFspMi41IEUgRjIoYXIpQShnKS0uMzcKK0UgRjAoLi4uXSkyLjUgRShUaGUpMTQ0IDUxMy42IFEgRjIoYXIpMy4xNyBFKGcpLS4zNyBFIEYwIDMuMTcoc2EpQyAuNjcxCisocmUgcmVhZCBhbmQgY29uY2F0ZW5hdGVkIHRvZ2V0aGVyIGludG8gYSBzaW5nbGUgY29tbWFuZC4pLTMuMTcgRiAuNjcxCisoVGhpcyBjb21tYW5kIGlzIHRoZW4gcmVhZCk1LjY3MSBGIC40OTUoYW5kIGUpMTQ0IDUyNS42IFIgLS4xNSh4ZSktLjE1IEcKKy40OTUoY3V0ZWQgYnkgdGhlIHNoZWxsLCBhbmQgaXRzIGUpLjE1IEYgLjQ5NQogKHhpdCBzdGF0dXMgaXMgcmV0dXJuZWQgYXMgdGhlIHYpLS4xNSBGIC40OTUoYWx1ZSBvZiktLjI1IEYgRjEgLTIuMyAtLjE1CiAoZXYgYSkyLjk5NSBIKGwpLjE1IEUgRjAgNS40OTUoLkkpQyAyLjk5NShmdCktNS40OTUgRyAuNDk1KGhlcmUgYXJlIG5vKQotLTIuOTk1IEYgRjIoYXIpMi45OTUgRShncyktLjM3IEUgRjAoLCkuMjcgRShvciBvbmx5IG51bGwgYXIpMTQ0IDQxNy42IFEKKy0yLjk5NSBGIEYyKGFyKTIuOTk1IEUoZ3MpLS4zNyBFIEYwKCwpLjI3IEUob3Igb25seSBudWxsIGFyKTE0NCA1MzcuNiBRCiAoZ3VtZW50cywpLS4xOCBFIEYxIC0yLjMgLS4xNShldiBhKTIuNSBIKGwpLjE1IEUgRjAocmV0dXJucyAwLikyLjUgRSBGMQotKGV4ZWMpMTA4IDQzNC40IFEgRjAoWykyLjUgRSBGMShcMjU1Y2wpQSBGMCAyLjUoXVspQyBGMTxhZDYxPi0yLjUgRSBGMgorKGV4ZWMpMTA4IDU1NC40IFEgRjAoWykyLjUgRSBGMShcMjU1Y2wpQSBGMCAyLjUoXVspQyBGMTxhZDYxPi0yLjUgRSBGMgogKG5hbWUpMi41IEUgRjAgMi41KF1bKUMgRjIoY29tbWFuZCktMi41IEUgRjAoWykyLjUgRSBGMihhcilBKGd1bWVudHMpCi0tLjM3IEUgRjAoXV0pQShJZikxNDQgNDQ2LjQgUSBGMihjb21tYW5kKTMuMDA2IEUgRjAgLjMwNgotKGlzIHNwZWNpXDIxNGVkLCBpdCByZXBsYWNlcyB0aGUgc2hlbGwuKTMuNTc2IEYgLjMwNShObyBuZSk1LjMwNSBGIDIuODA1Ci0od3ApLS4yNSBHIC4zMDUocm9jZXNzIGlzIGNyZWF0ZWQuKS0yLjgwNSBGKFRoZSk1LjMwNSBFIEYyKGFyKTMuMTM1IEUKLShndW1lbnRzKS0uMzcgRSBGMChiZWNvbWUpMy4wNzUgRSAuMTc2KHRoZSBhcikxNDQgNDU4LjQgUiAuMTc2CistLjM3IEUgRjAoXV0pQShJZikxNDQgNTY2LjQgUSBGMihjb21tYW5kKTMuMDA1IEUgRjAgLjMwNQorKGlzIHNwZWNpXDIxNGVkLCBpdCByZXBsYWNlcyB0aGUgc2hlbGwuKTMuNTc1IEYgLjMwNShObyBuZSk1LjMwNSBGIDIuODA1Cisod3ApLS4yNSBHIC4zMDYocm9jZXNzIGlzIGNyZWF0ZWQuKS0yLjgwNSBGKFRoZSk1LjMwNiBFIEYyKGFyKTMuMTM2IEUKKyhndW1lbnRzKS0uMzcgRSBGMChiZWNvbWUpMy4wNzYgRSAuMTc3KHRoZSBhcikxNDQgNTc4LjQgUiAuMTc3CiAoZ3VtZW50cyB0byktLjE4IEYgRjIoY29tbWFuZCkyLjY3NiBFIEYwIDUuMTc2KC5JKUMgMi42NzYoZnQpLTUuMTc2IEcKIChoZSktMi42NzYgRSBGMTxhZDZjPjIuNjc2IEUgRjAgLjE3NgotKG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIHNoZWxsIHBsYWNlcyBhIGRhc2ggYXQgdGhlIGJlKTIuNjc2IEYgLjE3NwotKGdpbm5pbmcgb2YpLS4xNSBGIC41KHRoZSB6ZXJvdGggYXIpMTQ0IDQ3MC40IFIgLjUoZ3VtZW50IHBhc3NlZCB0byktLjE4Ci1GIEYyKGNvbW1hbmQpMyBFIEYwIDUuNDk5KC5UKS43NyBHIC40OTkoaGlzIGlzIHdoYXQpLTUuNDk5IEYgRjIobG8pMi45OTkKLUUoZ2luKS0uMSBFIEYwIC40OTkoXCgxXCkgZG9lcy4pLjI0IEYoVGhlKTUuNDk5IEUgRjE8YWQ2Mz4yLjk5OSBFIEYwCi0uNDk5KG9wdGlvbiBjYXVzZXMpMi45OTkgRiBGMihjb20tKTMuMTk5IEUobWFuZCkxNDQgNDgyLjQgUSBGMCAuNjM4Ci0odG8gYmUgZSkzLjkwOCBGIC0uMTUoeGUpLS4xNSBHIC42MzgoY3V0ZWQgd2l0aCBhbiBlbXB0eSBlbikuMTUgRiAzLjEzOAorKG9wdGlvbiBpcyBzdXBwbGllZCwgdGhlIHNoZWxsIHBsYWNlcyBhIGRhc2ggYXQgdGhlIGJlKTIuNjc2IEYgLjE3NgorKGdpbm5pbmcgb2YpLS4xNSBGIC40OTkodGhlIHplcm90aCBhcikxNDQgNTkwLjQgUiAuNDk5KGd1bWVudCBwYXNzZWQgdG8pCistLjE4IEYgRjIoY29tbWFuZCkyLjk5OSBFIEYwIDUuNDk5KC5UKS43NyBHIC40OTkoaGlzIGlzIHdoYXQpLTUuNDk5IEYgRjIKKyhsbykyLjk5OSBFKGdpbiktLjEgRSBGMCAuNDk5KFwoMVwpIGRvZXMuKS4yNCBGKFRoZSk1LjUgRSBGMTxhZDYzPjMgRSBGMAorLjUob3B0aW9uIGNhdXNlcykzIEYgRjIoY29tLSkzLjIgRShtYW5kKTE0NCA2MDIuNCBRIEYwIC42MzkodG8gYmUgZSkKKzMuOTA5IEYgLS4xNSh4ZSktLjE1IEcgLjYzOChjdXRlZCB3aXRoIGFuIGVtcHR5IGVuKS4xNSBGIDMuMTM4CiAodmlyb25tZW50LiBJZiktLjQgRiBGMTxhZDYxPjMuMTM4IEUgRjAgLjYzOAotKGlzIHN1cHBsaWVkLCB0aGUgc2hlbGwgcGFzc2VzKTMuMTM4IEYgRjIobmFtZSkzLjQ5OSBFIEYwIC42MzkoYXMgdGhlKQotMy4zMTkgRiAxLjA3OCh6ZXJvdGggYXIpMTQ0IDQ5NC40IFIgMS4wNzcoZ3VtZW50IHRvIHRoZSBlKS0uMTggRiAtLjE1CisoaXMgc3VwcGxpZWQsIHRoZSBzaGVsbCBwYXNzZXMpMy4xMzggRiBGMihuYW1lKTMuNDk4IEUgRjAgLjYzOChhcyB0aGUpCiszLjMxOCBGIDEuMDc3KHplcm90aCBhcikxNDQgNjE0LjQgUiAxLjA3NyhndW1lbnQgdG8gdGhlIGUpLS4xOCBGIC0uMTUKICh4ZSktLjE1IEcgMS4wNzcoY3V0ZWQgY29tbWFuZC4pLjE1IEYoSWYpNi4wNzcgRSBGMihjb21tYW5kKTMuNzc3IEUgRjAKIDEuMDc3KGNhbm5vdCBiZSBlKTQuMzQ3IEYgLS4xNSh4ZSktLjE1IEcgMS4wNzcoY3V0ZWQgZm9yIHNvbWUgcmVhc29uLCBhKQotLjE1IEYobm9uLWludGVyYWN0aSkxNDQgNTA2LjQgUSAuNjE3IC0uMTUodmUgcyktLjI1IEggLjMxNyhoZWxsIGUpLjE1IEYKLS4zMTcoeGl0cywgdW5sZXNzIHRoZSBzaGVsbCBvcHRpb24pLS4xNSBGIEYxKGV4ZWNmYWlsKTIuODE3IEUgRjAgLjMxOAorLjE1IEYobm9uLWludGVyYWN0aSkxNDQgNjI2LjQgUSAuNjE4IC0uMTUodmUgcyktLjI1IEggLjMxOChoZWxsIGUpLjE1IEYKKy4zMTgoeGl0cywgdW5sZXNzIHRoZSBzaGVsbCBvcHRpb24pLS4xNSBGIEYxKGV4ZWNmYWlsKTIuODE3IEUgRjAgLjMxNwogKGlzIGVuYWJsZWQsIGluIHdoaWNoIGNhc2UgaXQgcmV0dXJucyBmKTIuODE3IEYoYWlsLSktLjEgRSAyLjUwNQotKHVyZS4gQW4pMTQ0IDUxOC40IFIoaW50ZXJhY3RpKTIuNTA1IEUgLjMwNSAtLjE1KHZlIHMpLS4yNSBIIC4wMDUKKyh1cmUuIEFuKTE0NCA2MzguNCBSKGludGVyYWN0aSkyLjUwNSBFIC4zMDUgLS4xNSh2ZSBzKS0uMjUgSCAuMDA1CiAoaGVsbCByZXR1cm5zIGYpLjE1IEYgLjAwNShhaWx1cmUgaWYgdGhlIFwyMTRsZSBjYW5ub3QgYmUgZSktLjEgRiAtLjE1CiAoeGUpLS4xNSBHIDIuNTA1KGN1dGVkLiBJZikuMTUgRiBGMihjb21tYW5kKTIuNzA1IEUgRjAgLjAwNQotKGlzIG5vdCBzcGVjaVwyMTRlZCwpMy4yNzUgRihhbikxNDQgNTMwLjQgUSAzLjAzNih5ciktLjE1IEcgLjUzNgotKGVkaXJlY3Rpb25zIHRhayktMy4wMzYgRiAzLjAzNihlZSktLjEgRyAtLjI1KGZmKS0zLjAzNiBHIC41MzYKKyhpcyBub3Qgc3BlY2lcMjE0ZWQsKTMuMjc1IEYoYW4pMTQ0IDY1MC40IFEgMy4wMzcoeXIpLS4xNSBHIC41MzcKKyhlZGlyZWN0aW9ucyB0YWspLTMuMDM3IEYgMy4wMzYoZWUpLS4xIEcgLS4yNShmZiktMy4wMzYgRyAuNTM2CiAoZWN0IGluIHRoZSBjdXJyZW50IHNoZWxsLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pLjI1IEYgLjUzNgotKElmIHRoZXJlIGlzIGEgcmVkaXJlY3Rpb24pNS41MzYgRihlcnJvcikxNDQgNTQyLjQgUSAyLjUoLHQpLS40IEcKLShoZSByZXR1cm4gc3RhdHVzIGlzIDEuKS0yLjUgRSBGMShleGl0KTEwOCA1NTkuMiBRIEYwKFspMi41IEUgRjIobilBIEYwCi02LjI5KF1DKUMgLjA5NihhdXNlIHRoZSBzaGVsbCB0byBlKS02LjI5IEYgLjA5Nih4aXQgd2l0aCBhIHN0YXR1cyBvZikKLS0uMTUgRiBGMihuKTIuNTk2IEUgRjAgNS4wOTYoLkkpQyhmKS01LjA5NiBFIEYyKG4pMi45NTUgRSBGMCAuMDk1Ci0oaXMgb21pdHRlZCwgdGhlIGUpMi44MzUgRiAuMDk1KHhpdCBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kKQotLS4xNSBGIC0uMTUoZXhlKTE0NCA1NzEuMiBTIDIuNShjdXRlZC4gQSkuMTUgRih0cmFwIG9uKTIuNSBFIEYzKEVYSVQpMi41CisoSWYgdGhlcmUgaXMgYSByZWRpcmVjdGlvbik1LjUzNiBGKGVycm9yKTE0NCA2NjIuNCBRIDIuNSgsdCktLjQgRworKGhlIHJldHVybiBzdGF0dXMgaXMgMS4pLTIuNSBFIEYxKGV4aXQpMTA4IDY3OS4yIFEgRjAoWykyLjUgRSBGMihuKUEgRjAKKzYuMjkoXUMpQyAuMDk1KGF1c2UgdGhlIHNoZWxsIHRvIGUpLTYuMjkgRiAuMDk1KHhpdCB3aXRoIGEgc3RhdHVzIG9mKQorLS4xNSBGIEYyKG4pMi41OTUgRSBGMCA1LjA5NSguSSlDKGYpLTUuMDk1IEUgRjIobikyLjk1NSBFIEYwIC4wOTYKKyhpcyBvbWl0dGVkLCB0aGUgZSkyLjgzNSBGIC4wOTYoeGl0IHN0YXR1cyBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQpCistLjE1IEYgLS4xNShleGUpMTQ0IDY5MS4yIFMgMi41KGN1dGVkLiBBKS4xNSBGKHRyYXAgb24pMi41IEUgRjMoRVhJVCkyLjUKIEUgRjAoaXMgZSkyLjI1IEUgLS4xNSh4ZSktLjE1IEcoY3V0ZWQgYmVmb3JlIHRoZSBzaGVsbCB0ZXJtaW5hdGVzLikuMTUgRQotRjEoZXhwb3J0KTEwOCA1ODggUSBGMChbKTIuNSBFIEYxKFwyNTVmbilBIEYwIDIuNShdWykuODMzIEcgRjIobmFtZSktMi41Ci1FIEYwKFs9KUEgRjIod29yKUEoZCktLjM3IEUgRjAoXV0gLi4uKUEgRjEoZXhwb3J0IFwyNTVwKTEwOCA2MDAgUSBGMAotLjI1NihUaGUgc3VwcGxpZWQpMTQ0IDYxMiBSIEYyKG5hbWVzKTMuMTE3IEUgRjAgLjI1NyhhcmUgbWFyaykzLjAyNyBGCi0uMjU3KGVkIGZvciBhdXRvbWF0aWMgZSktLjEgRiAuMjU3KHhwb3J0IHRvIHRoZSBlbiktLjE1IEYgLjI1NwotKHZpcm9ubWVudCBvZiBzdWJzZXF1ZW50bHkgZSktLjQgRiAtLjE1KHhlKS0uMTUgRyhjdXRlZCkuMTUgRSAyLjYyNwotKGNvbW1hbmRzLiBJZikxNDQgNjI0IFIodGhlKTIuNjI3IEUgRjE8YWQ2Nj4yLjYyNyBFIEYwIC4xMjcKLShvcHRpb24gaXMgZ2kpMi42MjcgRiAtLjE1KHZlKS0uMjUgRyAuMTI3KG4sIHRoZSkuMTUgRiBGMihuYW1lcykyLjk4NyBFCi1GMCAuMTI3KHJlZmVyIHRvIGZ1bmN0aW9ucy4pMi44OTcgRiAuMTI3KElmIG5vKTUuMTI3IEYgRjIobmFtZXMpMi45ODcgRQotRjAgLjEyNyhhcmUgZ2kpMi44OTcgRiAtLjE1KHZlKS0uMjUgRyAuMTI2KG4sIG9yIGlmIHRoZSkuMTUgRiBGMTxhZDcwPgotMTQ0IDYzNiBRIEYwIC42NTkob3B0aW9uIGlzIHN1cHBsaWVkLCBhIGxpc3Qgb2YgYWxsIG5hbWVzIHRoYXQgYXJlIGUpCi0zLjE1OSBGIC42Nih4cG9ydGVkIGluIHRoaXMgc2hlbGwgaXMgcHJpbnRlZC4pLS4xNSBGKFRoZSk1LjY2IEUgRjE8YWQ2ZT4KLTMuMTYgRSBGMChvcHRpb24pMy4xNiBFIDEuNTg3KGNhdXNlcyB0aGUgZSkxNDQgNjQ4IFIgMS41ODcKLSh4cG9ydCBwcm9wZXJ0eSB0byBiZSByZW1vKS0uMTUgRiAtLjE1KHZlKS0uMTUgRyA0LjA4NihkZikuMTUgRyAxLjU4NgotKHJvbSBlYWNoKS00LjA4NiBGIEYyKG5hbWUpNC4wODYgRSBGMCA2LjU4NiguSSlDIDQuMDg2KGZhdiktNi41ODYgRwotMS41ODYoYXJpYWJsZSBuYW1lIGlzIGZvbGxvKS00LjMzNiBGIDEuNTg2KHdlZCBieSktLjI1IEYoPSkxNDQgNjYwIFEgRjIKLSh3b3IpQShkKS0uMzcgRSBGMCAyLjgwMygsdClDIC4zMDMoaGUgdiktMi44MDMgRiAuMzAzKGFsdWUgb2YgdGhlIHYpLS4yNQotRiAuMzA0KGFyaWFibGUgaXMgc2V0IHRvKS0uMjUgRiBGMih3b3IpMi44MDQgRShkKS0uMzcgRSBGMCguKUEgRjEKLShleHBvcnQpNS4zMDQgRSBGMCAuMzA0KHJldHVybnMgYW4gZSkyLjgwNCBGIC4zMDQKLSh4aXQgc3RhdHVzIG9mIDAgdW5sZXNzIGFuIGluKS0uMTUgRiAtLjI1KHZhKS0uNCBHKGxpZCkuMjUgRSAuMjk0Ci0ob3B0aW9uIGlzIGVuY291bnRlcmVkLCBvbmUgb2YgdGhlKTE0NCA2NzIgUiBGMihuYW1lcykyLjc5MyBFIEYwIC4yOTMKLShpcyBub3QgYSB2KTIuNzkzIEYgLjI5MyhhbGlkIHNoZWxsIHYpLS4yNSBGIC4yOTMoYXJpYWJsZSBuYW1lLCBvciktLjI1Ci1GIEYxPGFkNjY+Mi43OTMgRSBGMCAuMjkzKGlzIHN1cHBsaWVkIHdpdGggYSkyLjc5MyBGIEYyKG5hbWUpMTQ0LjM2IDY4NAotUSBGMCh0aGF0IGlzIG5vdCBhIGZ1bmN0aW9uLikyLjY4IEUgRjEoZmMpMTA4IDcwMC44IFEgRjAoWykyLjUgRSBGMQotPGFkNjU+QSBGMihlbmFtZSkyLjUgRSBGMCAyLjUoXVspQyBGMShcMjU1bG5yKS0yLjUgRSBGMCAyLjUoXVspQyBGMgotPDhjNzI+LTIuNSBFKHN0KS0uMSBFIEYwIDIuNShdWylDIEYyKGxhc3QpLTIuNSBFIEYwKF0pQShHTlUgQmFzaC00LjApNzIKLTc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSg3KTIwMy43MjUgRSAwIENnIEVQCisoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSg3KTIwMy43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDggOAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4CiAoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRihmYyBcMjU1cykxMDggODQgUSBGMChbKTIuNSBFL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGCi0ocGF0KUEgRjAoPSlBIEYyIC0uMzcocmUpQyhwKS4zNyBFIEYwIDIuNShdWylDIEYyKGNtZCktMi41IEUgRjAoXSlBIC40NzcKLShGaXggQ29tbWFuZC4pMTQ0IDk2IFIgLjQ3OAotKEluIHRoZSBcMjE0cnN0IGZvcm0sIGEgcmFuZ2Ugb2YgY29tbWFuZHMgZnJvbSk1LjQ3NyBGIEYyPDhjNzI+NC44ODggRQotKHN0KS0uMSBFIEYwKHRvKTMuNjU4IEUgRjIobGFzdCkzLjA2OCBFIEYwIC40NzgKLShpcyBzZWxlY3RlZCBmcm9tIHRoZSBoaXMtKTMuNjU4IEYgLjg4Mih0b3J5IGxpc3QuKTE0NCAxMDggUiBGMiAtLjQ1KEZpKQotNS44ODIgRyAtLjEocnMpLjQ1IEcodCkuMSBFIEYwKGFuZCk0LjA2MiBFIEYyKGxhc3QpMy40NzIgRSBGMCAuODgyCisvVGltZXMtQm9sZEAwIFNGKGV4cG9ydCkxMDggODQgUSBGMChbKTIuNSBFIEYxKFwyNTVmbilBIEYwIDIuNShdWykuODMzIEcKKy9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihuYW1lKS0yLjUgRSBGMChbPSlBIEYyKHdvcilBKGQpLS4zNyBFIEYwCisoXV0gLi4uKUEgRjEoZXhwb3J0IFwyNTVwKTEwOCA5NiBRIEYwIC4yNTcoVGhlIHN1cHBsaWVkKTE0NCAxMDggUiBGMgorKG5hbWVzKTMuMTE3IEUgRjAgLjI1NyhhcmUgbWFyaykzLjAyNyBGIC4yNTcoZWQgZm9yIGF1dG9tYXRpYyBlKS0uMSBGCisuMjU3KHhwb3J0IHRvIHRoZSBlbiktLjE1IEYgLjI1Nyh2aXJvbm1lbnQgb2Ygc3Vic2VxdWVudGx5IGUpLS40IEYgLS4xNQorKHhlKS0uMTUgRyhjdXRlZCkuMTUgRSAyLjYyNihjb21tYW5kcy4gSWYpMTQ0IDEyMCBSKHRoZSkyLjYyNiBFIEYxPGFkNjY+CisyLjYyNiBFIEYwIC4xMjcob3B0aW9uIGlzIGdpKTIuNjI3IEYgLS4xNSh2ZSktLjI1IEcgLjEyNyhuLCB0aGUpLjE1IEYgRjIKKyhuYW1lcykyLjk4NyBFIEYwIC4xMjcocmVmZXIgdG8gZnVuY3Rpb25zLikyLjg5NyBGIC4xMjcoSWYgbm8pNS4xMjcgRiBGMgorKG5hbWVzKTIuOTg3IEUgRjAgLjEyNyhhcmUgZ2kpMi44OTcgRiAtLjE1KHZlKS0uMjUgRyAuMTI3KG4sIG9yIGlmIHRoZSkKKy4xNSBGIEYxPGFkNzA+MTQ0IDEzMiBRIEYwIC42NgorKG9wdGlvbiBpcyBzdXBwbGllZCwgYSBsaXN0IG9mIGFsbCBuYW1lcyB0aGF0IGFyZSBlKTMuMTYgRiAuNjU5CisoeHBvcnRlZCBpbiB0aGlzIHNoZWxsIGlzIHByaW50ZWQuKS0uMTUgRihUaGUpNS42NTkgRSBGMTxhZDZlPjMuMTU5IEUgRjAKKyhvcHRpb24pMy4xNTkgRSAxLjU4NihjYXVzZXMgdGhlIGUpMTQ0IDE0NCBSIDEuNTg2CisoeHBvcnQgcHJvcGVydHkgdG8gYmUgcmVtbyktLjE1IEYgLS4xNSh2ZSktLjE1IEcgNC4wODYoZGYpLjE1IEcgMS41ODYKKyhyb20gZWFjaCktNC4wODYgRiBGMihuYW1lKTQuMDg2IEUgRjAgNi41ODYoLkkpQyA0LjA4NihmYXYpLTYuNTg2IEcKKzEuNTg3KGFyaWFibGUgbmFtZSBpcyBmb2xsbyktNC4zMzYgRiAxLjU4Nyh3ZWQgYnkpLS4yNSBGKD0pMTQ0IDE1NiBRIEYyCisod29yKUEoZCktLjM3IEUgRjAgMi44MDQoLHQpQyAuMzA0KGhlIHYpLTIuODA0IEYgLjMwNChhbHVlIG9mIHRoZSB2KS0uMjUKK0YgLjMwNChhcmlhYmxlIGlzIHNldCB0byktLjI1IEYgRjIod29yKTIuODA0IEUoZCktLjM3IEUgRjAoLilBIEYxCisoZXhwb3J0KTUuMzA0IEUgRjAgLjMwNChyZXR1cm5zIGFuIGUpMi44MDQgRiAuMzAzCisoeGl0IHN0YXR1cyBvZiAwIHVubGVzcyBhbiBpbiktLjE1IEYgLS4yNSh2YSktLjQgRyhsaWQpLjI1IEUgLjI5MworKG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgb25lIG9mIHRoZSkxNDQgMTY4IFIgRjIobmFtZXMpMi43OTMgRSBGMCAuMjkzCisoaXMgbm90IGEgdikyLjc5MyBGIC4yOTMoYWxpZCBzaGVsbCB2KS0uMjUgRiAuMjkzKGFyaWFibGUgbmFtZSwgb3IpLS4yNQorRiBGMTxhZDY2PjIuNzkzIEUgRjAgLjI5NChpcyBzdXBwbGllZCB3aXRoIGEpMi43OTMgRiBGMihuYW1lKTE0NC4zNiAxODAKK1EgRjAodGhhdCBpcyBub3QgYSBmdW5jdGlvbi4pMi42OCBFIEYxKGZjKTEwOCAxOTYuOCBRIEYwKFspMi41IEUgRjEKKzxhZDY1PkEgRjIoZW5hbWUpMi41IEUgRjAgMi41KF1bKUMgRjEoXDI1NWxuciktMi41IEUgRjAgMi41KF1bKUMgRjIKKzw4YzcyPi0yLjUgRShzdCktLjEgRSBGMCAyLjUoXVspQyBGMihsYXN0KS0yLjUgRSBGMChdKUEgRjEoZmMgXDI1NXMpMTA4CisyMDguOCBRIEYwKFspMi41IEUgRjIocGF0KUEgRjAoPSlBIEYyIC0uMzcocmUpQyhwKS4zNyBFIEYwIDIuNShdWylDIEYyCisoY21kKS0yLjUgRSBGMChdKUEgLjQ3OChGaXggQ29tbWFuZC4pMTQ0IDIyMC44IFIgLjQ3OAorKEluIHRoZSBcMjE0cnN0IGZvcm0sIGEgcmFuZ2Ugb2YgY29tbWFuZHMgZnJvbSk1LjQ3OCBGIEYyPDhjNzI+NC44ODggRQorKHN0KS0uMSBFIEYwKHRvKTMuNjU4IEUgRjIobGFzdCkzLjA2OCBFIEYwIC40NzcKKyhpcyBzZWxlY3RlZCBmcm9tIHRoZSBoaXMtKTMuNjU4IEYgLjg4MSh0b3J5IGxpc3QuKTE0NCAyMzIuOCBSIEYyIC0uNDUKKyhGaSk1Ljg4MSBHIC0uMShycykuNDUgRyh0KS4xIEUgRjAoYW5kKTQuMDYxIEUgRjIobGFzdCkzLjQ3MSBFIEYwIC44ODIKIChtYXkgYmUgc3BlY2lcMjE0ZWQgYXMgYSBzdHJpbmcgXCh0byBsb2NhdGUgdGhlIGxhc3QgY29tbWFuZCBiZSk0LjA2MiBGCi0uODgxKGdpbm5pbmcgd2l0aCktLjE1IEYgLjc5Nyh0aGF0IHN0cmluZ1wpIG9yIGFzIGEgbnVtYmVyIFwoYW4gaW5kZSkxNDQKLTEyMCBSIDMuMjk3KHhpKS0uMTUgRyAuNzk3KG50byB0aGUgaGlzdG9yeSBsaXN0LCB3aGVyZSBhIG5lKS0zLjI5NyBGCi0tLjA1KGdhKS0uMTUgRyh0aSkuMDUgRSAxLjA5NyAtLjE1KHZlIG4pLS4yNSBIIC43OTcodW1iZXIgaXMgdXNlZCBhcyBhbikKLS4xNSBGKG9mKTE0NCAxMzIgUSAuMjc3KGZzZXQgZnJvbSB0aGUgY3VycmVudCBjb21tYW5kIG51bWJlclwpLiktLjI1IEYKLShJZik1LjI3NyBFIEYyKGxhc3QpMi44NjcgRSBGMCAuMjc2Ci0oaXMgbm90IHNwZWNpXDIxNGVkIGl0IGlzIHNldCB0byB0aGUgY3VycmVudCBjb21tYW5kKTMuNDU3IEYgLjA5MgotKGZvciBsaXN0aW5nIFwoc28gdGhhdCkxNDQgMTQ0IFIvRjMgMTAvQ291cmllckAwIFNGIC4wOTIKKy44ODIoZ2lubmluZyB3aXRoKS0uMTUgRiAuNzk3KHRoYXQgc3RyaW5nXCkgb3IgYXMgYSBudW1iZXIgXChhbiBpbmRlKTE0NAorMjQ0LjggUiAzLjI5Nyh4aSktLjE1IEcgLjc5NyhudG8gdGhlIGhpc3RvcnkgbGlzdCwgd2hlcmUgYSBuZSktMy4yOTcgRgorLS4wNShnYSktLjE1IEcodGkpLjA1IEUgMS4wOTcgLS4xNSh2ZSBuKS0uMjUgSCAuNzk2KHVtYmVyIGlzIHVzZWQgYXMgYW4pCisuMTUgRihvZikxNDQgMjU2LjggUSAuMjc2KGZzZXQgZnJvbSB0aGUgY3VycmVudCBjb21tYW5kIG51bWJlclwpLiktLjI1IEYKKyhJZik1LjI3NiBFIEYyKGxhc3QpMi44NjYgRSBGMCAuMjc3CisoaXMgbm90IHNwZWNpXDIxNGVkIGl0IGlzIHNldCB0byB0aGUgY3VycmVudCBjb21tYW5kKTMuNDU2IEYgLjA5MworKGZvciBsaXN0aW5nIFwoc28gdGhhdCkxNDQgMjY4LjggUi9GMyAxMC9Db3VyaWVyQDAgU0YgLjA5MgogKGZjIFwyNTVsIFwyNTUxMCkyLjU5MiBGIEYwIC4wOTIocHJpbnRzIHRoZSBsYXN0IDEwIGNvbW1hbmRzXCkgYW5kIHRvKQogMi41OTIgRiBGMjw4YzcyPjQuNTAyIEUoc3QpLS4xIEUgRjAgMi41OTIob3RoZXJ3aXNlLiBJZikzLjI3MiBGIEYyPDhjNzI+Ci00LjUwMiBFKHN0KS0uMSBFIEYwIC4wOTMoaXMgbm90KTMuMjczIEYKLShzcGVjaVwyMTRlZCBpdCBpcyBzZXQgdG8gdGhlIHByZSkxNDQgMTU2IFEKLSh2aW91cyBjb21tYW5kIGZvciBlZGl0aW5nIGFuZCBcMjU1MTYgZm9yIGxpc3RpbmcuKS0uMjUgRShUaGUpMTQ0IDE4MCBRCi1GMTxhZDZlPjIuNTIyIEUgRjAgLjAyMgorNC41MDIgRShzdCktLjEgRSBGMCAuMDkyKGlzIG5vdCkzLjI3MiBGCisoc3BlY2lcMjE0ZWQgaXQgaXMgc2V0IHRvIHRoZSBwcmUpMTQ0IDI4MC44IFEKKyh2aW91cyBjb21tYW5kIGZvciBlZGl0aW5nIGFuZCBcMjU1MTYgZm9yIGxpc3RpbmcuKS0uMjUgRShUaGUpMTQ0IDMwNC44CitRIEYxPGFkNmU+Mi41MjIgRSBGMCAuMDIyCiAob3B0aW9uIHN1cHByZXNzZXMgdGhlIGNvbW1hbmQgbnVtYmVycyB3aGVuIGxpc3RpbmcuKTIuNTIyIEYoVGhlKTUuMDIyIEUKIEYxPGFkNzI+Mi41MjIgRSBGMCAuMDIyKG9wdGlvbiByZSkyLjUyMiBGIC0uMTUodmUpLS4yNSBHIC4wMjIKLShyc2VzIHRoZSBvcmRlciBvZikuMTUgRiAuNDM4KHRoZSBjb21tYW5kcy4pMTQ0IDE5MiBSIC40MzgoSWYgdGhlKTUuNDM4Ci1GIEYxPGFkNmM+Mi45MzggRSBGMCAuNDM4KG9wdGlvbiBpcyBnaSkyLjkzOCBGIC0uMTUodmUpLS4yNSBHIC40MzgKKyhyc2VzIHRoZSBvcmRlciBvZikuMTUgRiAuNDM4KHRoZSBjb21tYW5kcy4pMTQ0IDMxNi44IFIgLjQzOChJZiB0aGUpCis1LjQzOCBGIEYxPGFkNmM+Mi45MzggRSBGMCAuNDM4KG9wdGlvbiBpcyBnaSkyLjkzOCBGIC0uMTUodmUpLS4yNSBHIC40MzgKIChuLCB0aGUgY29tbWFuZHMgYXJlIGxpc3RlZCBvbiBzdGFuZGFyZCBvdXRwdXQuKS4xNSBGKE90aGVyd2lzZSwpNS40MzggRQotLjMzNSh0aGUgZWRpdG9yIGdpKTE0NCAyMDQgUiAtLjE1KHZlKS0uMjUgRyAyLjgzNShuYikuMTUgRyh5KS0yLjgzNSBFIEYyCi0oZW5hbWUpMy4wMjUgRSBGMCAuMzM1KGlzIGluKTMuMDE1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuODM1KGRvKQotLjEgRyAyLjgzNShuYVwyMTQpLTIuODM1IEcgLjMzNShsZSBjb250YWluaW5nIHRob3NlIGNvbW1hbmRzLiktMi44MzUgRgotKElmKTUuMzM0IEUgRjIoZW5hbWUpMy4wMjQgRSBGMCAuMzM0KGlzIG5vdCBnaSkzLjAxNCBGIC0uMTUodmUpLS4yNSBHCi0obiwpLjE1IEUgLjYzKHRoZSB2KTE0NCAyMTYgUiAuNjMoYWx1ZSBvZiB0aGUpLS4yNSBGL0Y0IDkvVGltZXMtQm9sZEAwCi1TRihGQ0VESVQpMy4xMyBFIEYwIC0uMjUodmEpMi44OCBHIC42MzEocmlhYmxlIGlzIHVzZWQsIGFuZCB0aGUgdikuMjUgRgotLjYzMShhbHVlIG9mKS0uMjUgRiBGNChFRElUKTMuMTMxIEUoT1IpLS4xNjIgRSBGMChpZikyLjg4MSBFIEY0KEZDRURJVCkKLTMuMTMxIEUgRjAgLjYzMShpcyBub3Qgc2V0LikyLjg4MSBGIC42MzEoSWYgbmVpLSk1LjYzMSBGIDEuODg0KHRoZXIgdikKLTE0NCAyMjggUiAxLjg4NChhcmlhYmxlIGlzIHNldCwgaXMgdXNlZC4pLS4yNSBGIDEuODg0CisuMzM0KHRoZSBlZGl0b3IgZ2kpMTQ0IDMyOC44IFIgLS4xNSh2ZSktLjI1IEcgMi44MzQobmIpLjE1IEcoeSktMi44MzQgRQorRjIoZW5hbWUpMy4wMjQgRSBGMCAuMzM1KGlzIGluKTMuMDE0IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHIDIuODM1CisoZG8pLjEgRyAyLjgzNShuYVwyMTQpLTIuODM1IEcgLjMzNShsZSBjb250YWluaW5nIHRob3NlIGNvbW1hbmRzLiktMi44MzUKK0YoSWYpNS4zMzUgRSBGMihlbmFtZSkzLjAyNSBFIEYwIC4zMzUoaXMgbm90IGdpKTMuMDE1IEYgLS4xNSh2ZSktLjI1IEcKKyhuLCkuMTUgRSAuNjMxKHRoZSB2KTE0NCAzNDAuOCBSIC42MzEoYWx1ZSBvZiB0aGUpLS4yNSBGL0Y0IDkKKy9UaW1lcy1Cb2xkQDAgU0YoRkNFRElUKTMuMTMxIEUgRjAgLS4yNSh2YSkyLjg4MSBHIC42MzEKKyhyaWFibGUgaXMgdXNlZCwgYW5kIHRoZSB2KS4yNSBGIC42MzEoYWx1ZSBvZiktLjI1IEYgRjQoRURJVCkzLjEzMSBFKE9SKQorLS4xNjIgRSBGMChpZikyLjg4MSBFIEY0KEZDRURJVCkzLjEzIEUgRjAgLjYzKGlzIG5vdCBzZXQuKTIuODggRiAuNjMKKyhJZiBuZWktKTUuNjMgRiAxLjg4NCh0aGVyIHYpMTQ0IDM1Mi44IFIgMS44ODQoYXJpYWJsZSBpcyBzZXQsIGlzIHVzZWQuKQorLS4yNSBGIDEuODg0CiAoV2hlbiBlZGl0aW5nIGlzIGNvbXBsZXRlLCB0aGUgZWRpdGVkIGNvbW1hbmRzIGFyZSBlY2hvZWQgYW5kKTYuODg0IEYKLS0uMTUoZXhlKTE0NCAyNDAgUyhjdXRlZC4pLjE1IEUgLjAzOShJbiB0aGUgc2Vjb25kIGZvcm0sKTE0NCAyNjQgUiBGMgotKGNvbW1hbmQpMi41MzkgRSBGMCAuMDM5KGlzIHJlLWUpMi41MzkgRiAtLjE1KHhlKS0uMTUgRyAuMDM5Ci0oY3V0ZWQgYWZ0ZXIgZWFjaCBpbnN0YW5jZSBvZikuMTUgRiBGMihwYXQpMi41NCBFIEYwIC4wNChpcyByZXBsYWNlZCBieSkKLTIuNTQgRiBGMiAtLjM3KHJlKTIuNTQgRyhwKS4zNyBFIEYwIDUuMDQoLkEpQyh1c2VmdWwpLTIuNSBFIC40MDYKLShhbGlhcyB0byB1c2Ugd2l0aCB0aGlzIGlzKTE0NCAyNzYgUiBGMyAuNDA2KHI9J2ZjIFwyNTVzJykyLjkwNiBGIEYwCi0yLjkwNigscylDIDIuOTA2KG90KS0yLjkwNiBHIC40MDYoaGF0IHR5cGluZyktMi45MDYgRiBGMyA2LjQwNihyYykyLjkwNgotRyhjKS02LjQwNiBFIEYwIC40MDYocnVucyB0aGUgbGFzdCBjb21tYW5kIGJlKTIuOTA2IEYgLjQwNihnaW5uaW5nIHdpdGgpCi0tLjE1IEYgRjMoY2MpMTQ0IDI4OCBRIEYwKGFuZCB0eXBpbmcpMi41IEUgRjMocikyLjUgRSBGMChyZS1lKTIuNSBFIC0uMTUKLSh4ZSktLjE1IEcoY3V0ZXMgdGhlIGxhc3QgY29tbWFuZC4pLjE1IEUgLjE0MgotKElmIHRoZSBcMjE0cnN0IGZvcm0gaXMgdXNlZCwgdGhlIHJldHVybiB2KTE0NCAzMTIgUiAuMTQyCistLjE1KGV4ZSkxNDQgMzY0LjggUyhjdXRlZC4pLjE1IEUgLjA0KEluIHRoZSBzZWNvbmQgZm9ybSwpMTQ0IDM4OC44IFIgRjIKKyhjb21tYW5kKTIuNTQgRSBGMCAuMDQoaXMgcmUtZSkyLjU0IEYgLS4xNSh4ZSktLjE1IEcgLjAzOQorKGN1dGVkIGFmdGVyIGVhY2ggaW5zdGFuY2Ugb2YpLjE1IEYgRjIocGF0KTIuNTM5IEUgRjAgLjAzOQorKGlzIHJlcGxhY2VkIGJ5KTIuNTM5IEYgRjIgLS4zNyhyZSkyLjUzOSBHKHApLjM3IEUgRjAgNS4wMzkoLkEpQyh1c2VmdWwpCistMi41IEUgLjQwNihhbGlhcyB0byB1c2Ugd2l0aCB0aGlzIGlzKTE0NCA0MDAuOCBSIEYzIC40MDYocj0nZmMgXDI1NXMnKQorMi45MDYgRiBGMCAyLjkwNigscylDIDIuOTA2KG90KS0yLjkwNiBHIC40MDYoaGF0IHR5cGluZyktMi45MDYgRiBGMworNi40MDYocmMpMi45MDYgRyhjKS02LjQwNiBFIEYwIC40MDYocnVucyB0aGUgbGFzdCBjb21tYW5kIGJlKTIuOTA2IEYKKy40MDcoZ2lubmluZyB3aXRoKS0uMTUgRiBGMyhjYykxNDQgNDEyLjggUSBGMChhbmQgdHlwaW5nKTIuNSBFIEYzKHIpMi41CitFIEYwKHJlLWUpMi41IEUgLS4xNSh4ZSktLjE1IEcoY3V0ZXMgdGhlIGxhc3QgY29tbWFuZC4pLjE1IEUgLjE0MgorKElmIHRoZSBcMjE0cnN0IGZvcm0gaXMgdXNlZCwgdGhlIHJldHVybiB2KTE0NCA0MzYuOCBSIC4xNDIKIChhbHVlIGlzIDAgdW5sZXNzIGFuIGluKS0uMjUgRiAtLjI1KHZhKS0uNCBHIC4xNDIKIChsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkIG9yKS4yNSBGIEYyPDhjNzI+NC41NTIgRShzdCktLjEgRSBGMChvcikzLjMyMgotRSBGMihsYXN0KTIuNzMyIEUgRjAgLjQ1NShzcGVjaWZ5IGhpc3RvcnkgbGluZXMgb3V0IG9mIHJhbmdlLikxNDQgMzI0IFIKLS40NTQoSWYgdGhlKTUuNDU0IEYgRjE8YWQ2NT4yLjk1NCBFIEYwIC40NTQKLShvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSByZXR1cm4gdikyLjk1NCBGIC40NTQoYWx1ZSBpcyB0aGUgdiktLjI1IEYgLjQ1NAotKGFsdWUgb2YgdGhlKS0uMjUgRiAuNzg3KGxhc3QgY29tbWFuZCBlKTE0NCAzMzYgUiAtLjE1KHhlKS0uMTUgRyAuNzg3Ci0oY3V0ZWQgb3IgZikuMTUgRiAuNzg4CitFIEYyKGxhc3QpMi43MzIgRSBGMCAuNDU0KHNwZWNpZnkgaGlzdG9yeSBsaW5lcyBvdXQgb2YgcmFuZ2UuKTE0NCA0NDguOAorUiAuNDU0KElmIHRoZSk1LjQ1NCBGIEYxPGFkNjU+Mi45NTQgRSBGMCAuNDU0Cisob3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgcmV0dXJuIHYpMi45NTQgRiAuNDU1KGFsdWUgaXMgdGhlIHYpLS4yNSBGIC40NTUKKyhhbHVlIG9mIHRoZSktLjI1IEYgLjc4OChsYXN0IGNvbW1hbmQgZSkxNDQgNDYwLjggUiAtLjE1KHhlKS0uMTUgRyAuNzg4CisoY3V0ZWQgb3IgZikuMTUgRiAuNzg3CiAoYWlsdXJlIGlmIGFuIGVycm9yIG9jY3VycyB3aXRoIHRoZSB0ZW1wb3JhcnkgXDIxNGxlIG9mIGNvbW1hbmRzLiktLjEgRgotLjc4OChJZiB0aGUpNS43ODggRiAxLjEzNgorLjc4NyhJZiB0aGUpNS43ODcgRiAxLjEzNQogKHNlY29uZCBmb3JtIGlzIHVzZWQsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoYXQgb2YgdGhlIGNvbW1hbmQgcmUtZSkxNDQKLTM0OCBSIC0uMTUoeGUpLS4xNSBHIDEuMTM1KGN1dGVkLCB1bmxlc3MpLjE1IEYgRjIoY21kKTMuODM1IEUgRjAgMS4xMzUKLShkb2VzIG5vdCk0LjQwNSBGKHNwZWNpZnkgYSB2KTE0NCAzNjAgUQorNDcyLjggUiAtLjE1KHhlKS0uMTUgRyAxLjEzNihjdXRlZCwgdW5sZXNzKS4xNSBGIEYyKGNtZCkzLjgzNiBFIEYwIDEuMTM2CisoZG9lcyBub3QpNC40MDYgRihzcGVjaWZ5IGEgdikxNDQgNDg0LjggUQogKGFsaWQgaGlzdG9yeSBsaW5lLCBpbiB3aGljaCBjYXNlKS0uMjUgRSBGMShmYykyLjUgRSBGMChyZXR1cm5zIGYpMi41IEUKLShhaWx1cmUuKS0uMSBFIEYxKGZnKTEwOCAzNzYuOCBRIEYwKFspMi41IEUgRjIoam9ic3BlYylBIEYwKF0pQShSZXN1bWUpCi0xNDQgMzg4LjggUSBGMihqb2JzcGVjKTUuNjUzIEUgRjAgMS40MTMoaW4gdGhlIGZvcmUpNC4yMjMgRiAxLjQxMworKGFpbHVyZS4pLS4xIEUgRjEoZmcpMTA4IDUwMS42IFEgRjAoWykyLjUgRSBGMihqb2JzcGVjKUEgRjAoXSlBKFJlc3VtZSkKKzE0NCA1MTMuNiBRIEYyKGpvYnNwZWMpNS42NTQgRSBGMCAxLjQxMyhpbiB0aGUgZm9yZSk0LjIyNCBGIDEuNDEzCiAoZ3JvdW5kLCBhbmQgbWFrKS0uMTUgRiAzLjkxMyhlaSktLjEgRyAzLjkxMyh0dCktMy45MTMgRyAxLjQxMwogKGhlIGN1cnJlbnQgam9iKS0zLjkxMyBGIDYuNDEzKC5JKS0uNCBHKGYpLTYuNDEzIEUgRjIoam9ic3BlYyk1LjY1MyBFIEYwCi0xLjQxNChpcyBub3QgcHJlc2VudCwgdGhlKTQuMjIzIEYoc2hlbGwnKTE0NCA0MDAuOCBRIDMuMTE3KHNuKS0uNTUgRwotLjYxNyhvdGlvbiBvZiB0aGUpLTMuMTE3IEYgRjIoY3VycikzLjExNyBFIC42MTcoZW50IGpvYiktLjM3IEYgRjAgLjYxNwotKGlzIHVzZWQuKTMuMTE3IEYgLjYxNyhUaGUgcmV0dXJuIHYpNS42MTcgRiAuNjE2Ci0oYWx1ZSBpcyB0aGF0IG9mIHRoZSBjb21tYW5kIHBsYWNlZCBpbnRvIHRoZSktLjI1IEYoZm9yZSkxNDQgNDEyLjggUQotLjM2Mihncm91bmQsIG9yIGYpLS4xNSBGIC4zNjIKLShhaWx1cmUgaWYgcnVuIHdoZW4gam9iIGNvbnRyb2wgaXMgZGlzYWJsZWQgb3IpLS4xIEYgMi44NjIoLHcpLS40IEcgLjM2MwotKGhlbiBydW4gd2l0aCBqb2IgY29udHJvbCBlbmFibGVkLCBpZiktMi44NjIgRiBGMihqb2JzcGVjKTE0NS43NCA0MjQuOCBRCi1GMCAuMDA0KGRvZXMgbm90IHNwZWNpZnkgYSB2KTIuODE1IEYgLjAwNChhbGlkIGpvYiBvciktLjI1IEYgRjIoam9ic3BlYykKKzEuNDEzKGlzIG5vdCBwcmVzZW50LCB0aGUpNC4yMjMgRihzaGVsbCcpMTQ0IDUyNS42IFEgMy4xMTYoc24pLS41NSBHCisuNjE2KG90aW9uIG9mIHRoZSktMy4xMTYgRiBGMihjdXJyKTMuMTE2IEUgLjYxNihlbnQgam9iKS0uMzcgRiBGMCAuNjE3CisoaXMgdXNlZC4pMy4xMTYgRiAuNjE3KFRoZSByZXR1cm4gdik1LjYxNyBGIC42MTcKKyhhbHVlIGlzIHRoYXQgb2YgdGhlIGNvbW1hbmQgcGxhY2VkIGludG8gdGhlKS0uMjUgRihmb3JlKTE0NCA1MzcuNiBRCisuMzYzKGdyb3VuZCwgb3IgZiktLjE1IEYgLjM2MworKGFpbHVyZSBpZiBydW4gd2hlbiBqb2IgY29udHJvbCBpcyBkaXNhYmxlZCBvciktLjEgRiAyLjg2MigsdyktLjQgRyAuMzYyCisoaGVuIHJ1biB3aXRoIGpvYiBjb250cm9sIGVuYWJsZWQsIGlmKS0yLjg2MiBGIEYyKGpvYnNwZWMpMTQ1Ljc0IDU0OS42IFEKK0YwIC4wMDQoZG9lcyBub3Qgc3BlY2lmeSBhIHYpMi44MTQgRiAuMDA0KGFsaWQgam9iIG9yKS0uMjUgRiBGMihqb2JzcGVjKQogNC4yNDQgRSBGMCAuMDA0KHNwZWNpXDIxNGVzIGEgam9iIHRoYXQgdykyLjgxNCBGIC4wMDQKLShhcyBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wuKS0uMSBGIEYxKGdldG9wdHMpMTA4IDQ0MS42IFEgRjIKKyhhcyBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wuKS0uMSBGIEYxKGdldG9wdHMpMTA4IDU2Ni40IFEgRjIKIChvcHRzdHJpbmcgbmFtZSkyLjUgRSBGMChbKTIuNSBFIEYyKGFyKUEoZ3MpLS4zNyBFIEYwKF0pQSBGMShnZXRvcHRzKTE0NAotNDUzLjYgUSBGMCAuNzkzCi0oaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4pMy4yOTMgRiBGMgotKG9wdHN0cmluZyk2LjAyMyBFIEYwIC43OTMoY29udGFpbnMgdGhlIG9wdGlvbikzLjUxMyBGIC4xNQotKGNoYXJhY3RlcnMgdG8gYmUgcmVjb2duaXplZDsgaWYgYSBjaGFyYWN0ZXIgaXMgZm9sbG8pMTQ0IDQ2NS42IFIgLjE0OQotKHdlZCBieSBhIGNvbG9uLCB0aGUgb3B0aW9uIGlzIGUpLS4yNSBGIC4xNDkoeHBlY3RlZCB0byBoYSktLjE1IEYgLjQ0OQotLS4xNSh2ZSBhKS0uMiBIKG4pLjE1IEUoYXIpMTQ0IDQ3Ny42IFEgLjU3OAotKGd1bWVudCwgd2hpY2ggc2hvdWxkIGJlIHNlcGFyYXRlZCBmcm9tIGl0IGJ5IHdoaXRlIHNwYWNlLiktLjE4IEYgLjU3OQorNTc4LjQgUSBGMCAuNzkzCisoaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4pMy4yOTQgRiBGMgorKG9wdHN0cmluZyk2LjAyMyBFIEYwIC43OTMoY29udGFpbnMgdGhlIG9wdGlvbikzLjUxMyBGIC4xNDkKKyhjaGFyYWN0ZXJzIHRvIGJlIHJlY29nbml6ZWQ7IGlmIGEgY2hhcmFjdGVyIGlzIGZvbGxvKTE0NCA1OTAuNCBSIC4xNQorKHdlZCBieSBhIGNvbG9uLCB0aGUgb3B0aW9uIGlzIGUpLS4yNSBGIC4xNSh4cGVjdGVkIHRvIGhhKS0uMTUgRiAuNDUKKy0uMTUodmUgYSktLjIgSChuKS4xNSBFKGFyKTE0NCA2MDIuNCBRIC41NzkKKyhndW1lbnQsIHdoaWNoIHNob3VsZCBiZSBzZXBhcmF0ZWQgZnJvbSBpdCBieSB3aGl0ZSBzcGFjZS4pLS4xOCBGIC41NzgKIChUaGUgY29sb24gYW5kIHF1ZXN0aW9uIG1hcmsgY2hhcik1LjU3OSBGKC0pLS4yIEUgMS42NjUKLShhY3RlcnMgbWF5IG5vdCBiZSB1c2VkIGFzIG9wdGlvbiBjaGFyYWN0ZXJzLikxNDQgNDg5LjYgUiAxLjY2NQorKGFjdGVycyBtYXkgbm90IGJlIHVzZWQgYXMgb3B0aW9uIGNoYXJhY3RlcnMuKTE0NCA2MTQuNCBSIDEuNjY1CiAoRWFjaCB0aW1lIGl0IGlzIGluKTYuNjY1IEYgLS4yKHZvKS0uNCBHIC0uMShrZSkuMiBHKGQsKS4xIEUgRjEoZ2V0b3B0cykKLTQuMTY1IEUgRjAgMS42NjUocGxhY2VzIHRoZSBuZSk0LjE2NSBGKHh0KS0uMTUgRSAuNzk2Ci0ob3B0aW9uIGluIHRoZSBzaGVsbCB2KTE0NCA1MDEuNiBSKGFyaWFibGUpLS4yNSBFIEYyKG5hbWUpMy4yOTYgRSBGMAotMy4yOTYoLGkpLjE4IEcobml0aWFsaXppbmcpLTMuMjk2IEUgRjIobmFtZSkzLjY1NyBFIEYwIC43OTcKLShpZiBpdCBkb2VzIG5vdCBlKTMuNDc3IEYgLjc5Nyh4aXN0LCBhbmQgdGhlIGluZGUpLS4xNSBGIDMuMjk3KHhvKS0uMTUgRwotMy4yOTcoZnQpLTMuMjk3IEcgLjc5NyhoZSBuZSktMy4yOTcgRih4dCktLjE1IEUoYXIpMTQ0IDUxMy42IFEgLjA4NQorNC4xNjUgRSBGMCAxLjY2NShwbGFjZXMgdGhlIG5lKTQuMTY1IEYoeHQpLS4xNSBFIC43OTcKKyhvcHRpb24gaW4gdGhlIHNoZWxsIHYpMTQ0IDYyNi40IFIoYXJpYWJsZSktLjI1IEUgRjIobmFtZSkzLjI5NyBFIEYwCiszLjI5NygsaSkuMTggRyhuaXRpYWxpemluZyktMy4yOTcgRSBGMihuYW1lKTMuNjU3IEUgRjAgLjc5NworKGlmIGl0IGRvZXMgbm90IGUpMy40NzcgRiAuNzk2KHhpc3QsIGFuZCB0aGUgaW5kZSktLjE1IEYgMy4yOTYoeG8pLS4xNSBHCiszLjI5NihmdCktMy4yOTYgRyAuNzk2KGhlIG5lKS0zLjI5NiBGKHh0KS0uMTUgRShhcikxNDQgNjM4LjQgUSAuMDg1CiAoZ3VtZW50IHRvIGJlIHByb2Nlc3NlZCBpbnRvIHRoZSB2KS0uMTggRihhcmlhYmxlKS0uMjUgRSBGNChPUFRJTkQpMi41ODUKIEUvRjUgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGNChPUFRJTkQpNC41ODUgRSBGMCAuMDg1Ci0oaXMgaW5pdGlhbGl6ZWQgdG8gMSBlYWNoIHRpbWUgdGhlIHNoZWxsKTIuMzM1IEYgLjg0NQotKG9yIGEgc2hlbGwgc2NyaXB0IGlzIGluKTE0NCA1MjUuNiBSIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAzLjM0NQorKGlzIGluaXRpYWxpemVkIHRvIDEgZWFjaCB0aW1lIHRoZSBzaGVsbCkyLjMzNSBGIC44NDYKKyhvciBhIHNoZWxsIHNjcmlwdCBpcyBpbikxNDQgNjUwLjQgUiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMy4zNDUKIChkLiBXaGVuKS4xIEYgLjg0NShhbiBvcHRpb24gcmVxdWlyZXMgYW4gYXIpMy4zNDUgRihndW1lbnQsKS0uMTggRSBGMQotKGdldG9wdHMpMy4zNDYgRSBGMCAuODQ2KHBsYWNlcyB0aGF0IGFyKTMuMzQ2IEYoZ3VtZW50KS0uMTggRSAuODA0Ci0oaW50byB0aGUgdikxNDQgNTM3LjYgUihhcmlhYmxlKS0uMjUgRSBGNChPUFQpMy4zMDQgRShBUkcpLS44MSBFIEY1KC4pQQotRjAgLjgwMyhUaGUgc2hlbGwgZG9lcyBub3QgcmVzZXQpNS4zMDQgRiBGNChPUFRJTkQpMy4zMDMgRSBGMCAuODAzCi0oYXV0b21hdGljYWxseTsgaXQgbXVzdCBiZSBtYW51YWxseSkzLjA1MyBGIC4yOTMKLShyZXNldCBiZXR3ZWVuIG11bHRpcGxlIGNhbGxzIHRvKTE0NCA1NDkuNiBSIEYxKGdldG9wdHMpMi43OTMgRSBGMCAuMjkzCisoZ2V0b3B0cykzLjM0NSBFIEYwIC44NDUocGxhY2VzIHRoYXQgYXIpMy4zNDUgRihndW1lbnQpLS4xOCBFIC44MDMKKyhpbnRvIHRoZSB2KTE0NCA2NjIuNCBSKGFyaWFibGUpLS4yNSBFIEY0KE9QVCkzLjMwMyBFKEFSRyktLjgxIEUgRjUoLilBCitGMCAuODAzKFRoZSBzaGVsbCBkb2VzIG5vdCByZXNldCk1LjMwMyBGIEY0KE9QVElORCkzLjMwMyBFIEYwIC44MDQKKyhhdXRvbWF0aWNhbGx5OyBpdCBtdXN0IGJlIG1hbnVhbGx5KTMuMDU0IEYgLjI5NAorKHJlc2V0IGJldHdlZW4gbXVsdGlwbGUgY2FsbHMgdG8pMTQ0IDY3NC40IFIgRjEoZ2V0b3B0cykyLjc5MyBFIEYwIC4yOTMKICh3aXRoaW4gdGhlIHNhbWUgc2hlbGwgaW4pMi43OTMgRiAtLjIodm8pLS40IEcgLjI5MyhjYXRpb24gaWYgYSBuZSkuMiBGCi0yLjc5Myh3cyktLjI1IEcgLjI5NChldCBvZiBwYXJhbWV0ZXJzKS0yLjc5MyBGKGlzIHRvIGJlIHVzZWQuKTE0NCA1NjEuNgotUSAyLjA0NChXaGVuIHRoZSBlbmQgb2Ygb3B0aW9ucyBpcyBlbmNvdW50ZXJlZCwpMTQ0IDU4NS42IFIgRjEoZ2V0b3B0cykKLTQuNTQzIEUgRjAgLS4xNShleCk0LjU0MyBHIDIuMDQzKGl0cyB3aXRoIGEgcmV0dXJuIHYpLjE1IEYgMi4wNDMKLShhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvLiktLjI1IEYgRjQoT1BUSU5EKTE0NCA1OTcuNiBRIEYwCisyLjc5Myh3cyktLjI1IEcgLjI5MyhldCBvZiBwYXJhbWV0ZXJzKS0yLjc5MyBGKGlzIHRvIGJlIHVzZWQuKTE0NCA2ODYuNAorUSAyLjA0MyhXaGVuIHRoZSBlbmQgb2Ygb3B0aW9ucyBpcyBlbmNvdW50ZXJlZCwpMTQ0IDcxMC40IFIgRjEoZ2V0b3B0cykKKzQuNTQzIEUgRjAgLS4xNShleCk0LjU0MyBHIDIuMDQzKGl0cyB3aXRoIGEgcmV0dXJuIHYpLjE1IEYgMi4wNDQKKyhhbHVlIGdyZWF0ZXIgdGhhbiB6ZXJvLiktLjI1IEYgRjQoT1BUSU5EKTE0NCA3MjIuNCBRIEYwCiAoaXMgc2V0IHRvIHRoZSBpbmRlKTIuMjUgRSAyLjUoeG8pLS4xNSBHIDIuNShmdCktMi41IEcKLShoZSBcMjE0cnN0IG5vbi1vcHRpb24gYXIpLTIuNSBFKGd1bWVudCwgYW5kKS0uMTggRSBGMShuYW1lKTIuNSBFIEYwCi0oaXMgc2V0IHRvID8uKTIuNSBFIEYxKGdldG9wdHMpMTQ0IDYyMS42IFEgRjAgMi4zOTIKLShub3JtYWxseSBwYXJzZXMgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgYik0Ljg5MiBGIDIuMzkyCi0odXQgaWYgbW9yZSBhciktLjIgRiAyLjM5MyhndW1lbnRzIGFyZSBnaSktLjE4IEYgLS4xNSh2ZSktLjI1IEcgNC44OTMKLShuaSkuMTUgRyhuKS00Ljg5MyBFIEYyKGFyKTQuODkzIEUoZ3MpLS4zNyBFIEYwKCwpLjI3IEUgRjEoZ2V0b3B0cykxNDQKLTYzMy42IFEgRjAocGFyc2VzIHRob3NlIGluc3RlYWQuKTIuNSBFIEYxKGdldG9wdHMpMTQ0IDY1Ny42IFEgRjAgMS4xNjYKLShjYW4gcmVwb3J0IGVycm9ycyBpbiB0dykzLjY2NiBGIDMuNjY1KG93KS0uMSBHIDMuNjY1KGF5cy4gSWYpLTMuNzY1IEYKLTEuMTY1KHRoZSBcMjE0cnN0IGNoYXJhY3RlciBvZikzLjY2NSBGIEYyKG9wdHN0cmluZykzLjg5NSBFIEYwIDEuMTY1Ci0oaXMgYSBjb2xvbiwpMy44ODUgRiBGMihzaWxlbnQpNC4wMDUgRSBGMChlcnJvcik0LjM0NSBFIDEuMjYzCi0ocmVwb3J0aW5nIGlzIHVzZWQuKTE0NCA2NjkuNiBSIDEuMjYzCi0oSW4gbm9ybWFsIG9wZXJhdGlvbiBkaWFnbm9zdGljIG1lc3NhZ2VzIGFyZSBwcmludGVkIHdoZW4gaW4pNi4yNjMgRgotLS4yNSh2YSktLjQgRyAxLjI2MyhsaWQgb3B0aW9ucyBvcikuMjUgRiAuMzk0KG1pc3Npbmcgb3B0aW9uIGFyKTE0NAotNjgxLjYgUiAuMzk0KGd1bWVudHMgYXJlIGVuY291bnRlcmVkLiktLjE4IEYgLjM5NChJZiB0aGUgdik1LjM5NCBGCi0oYXJpYWJsZSktLjI1IEUgRjQoT1BURVJSKTIuODk0IEUgRjAgLjM5NAotKGlzIHNldCB0byAwLCBubyBlcnJvciBtZXNzYWdlcykyLjY0NCBGKHdpbGwgYmUgZGlzcGxheWVkLCBlKTE0NCA2OTMuNiBRCi0tLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcgMi41KGZ0KS0yLjUgRyhoZSBcMjE0cnN0IGNoYXJhY3RlciBvZiktMi41IEUKLUYyKG9wdHN0cmluZykyLjczIEUgRjAoaXMgbm90IGEgY29sb24uKTIuNzIgRSAuNjY2KElmIGFuIGluKTE0NCA3MTcuNiBSCi0tLjI1KHZhKS0uNCBHIC42NjYobGlkIG9wdGlvbiBpcyBzZWVuLCkuMjUgRiBGMShnZXRvcHRzKTMuMTY2IEUgRjAgLjY2NwotKHBsYWNlcyA/IGludG8pMy4xNjcgRiBGMihuYW1lKTMuNTI3IEUgRjAgLjY2NwotKGFuZCwgaWYgbm90IHNpbGVudCwgcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2UpMy4zNDcgRiAuNChhbmQgdW5zZXRzKTE0NAotNzI5LjYgUiBGNChPUFQpMi45IEUoQVJHKS0uODEgRSBGNSguKUEgRjAoSWYpNC44OTkgRSBGMShnZXRvcHRzKTIuODk5IEUKLUYwIC4zOTkoaXMgc2lsZW50LCB0aGUgb3B0aW9uIGNoYXJhY3RlciBmb3VuZCBpcyBwbGFjZWQgaW4pMi44OTkgRiBGNAotKE9QVCkyLjg5OSBFKEFSRyktLjgxIEUgRjAgLjM5OShhbmQgbm8pMi42NDkgRihHTlUgQmFzaC00LjApNzIgNzY4IFEKLSgyMDA0IEFwciAyMCkxNDguNzM1IEUoOCkyMDMuNzI1IEUgMCBDZyBFUAorKGhlIFwyMTRyc3Qgbm9uLW9wdGlvbiBhciktMi41IEUoZ3VtZW50LCBhbmQpLS4xOCBFIEYyKG5hbWUpMi41IEUgRjAKKyhpcyBzZXQgdG8gPy4pMi41IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSg4KQorMjAzLjcyNSBFIDAgQ2cgRVAKICUlUGFnZTogOSA5CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKLShUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFCi0oZGlhZ25vc3RpYyBtZXNzYWdlIGlzIHByaW50ZWQuKTE0NCA4NCBRIDEuMjQxKElmIGEgcmVxdWlyZWQgYXIpMTQ0IDEwOAotUiAxLjI0MShndW1lbnQgaXMgbm90IGZvdW5kLCBhbmQpLS4xOCBGL0YxIDEwL1RpbWVzLUJvbGRAMCBTRihnZXRvcHRzKQotMy43NDEgRSBGMCAxLjI0MShpcyBub3Qgc2lsZW50LCBhIHF1ZXN0aW9uIG1hcmsgXCgpMy43NDEgRiBGMSg/KS44MzMgRQotRjAgMy43NDIoXClpKS44MzMgRyAzLjc0MihzcCktMy43NDIgRyAxLjI0MihsYWNlZCBpbiktMy43NDIgRi9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKG5hbWUpMTQ0IDEyMCBRIEYwKCwpLjE4IEUvRjMgOS9UaW1lcy1Cb2xkQDAgU0YoT1BUKQotMi43MzUgRShBUkcpLS44MSBFIEYwIC4yMzQKLShpcyB1bnNldCwgYW5kIGEgZGlhZ25vc3RpYyBtZXNzYWdlIGlzIHByaW50ZWQuKTIuNDg1IEYoSWYpNS4yMzQgRSBGMQotKGdldG9wdHMpMi43MzQgRSBGMCAuMjM0KGlzIHNpbGVudCwgdGhlbiBhIGNvbG9uIFwoKTIuNzM0IEYgRjEoOikuODMzIEUKLUYwKFwpKS44MzMgRShpcyBwbGFjZWQgaW4pMTQ0IDEzMiBRIEYyKG5hbWUpMi44NiBFIEYwKGFuZCkyLjY4IEUgRjMoT1BUKQorKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUvRjEgMTAKKy9UaW1lcy1Cb2xkQDAgU0YoZ2V0b3B0cykxNDQgODQgUSBGMCAyLjM5MworKG5vcm1hbGx5IHBhcnNlcyB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBiKTQuODkzIEYgMi4zOTIKKyh1dCBpZiBtb3JlIGFyKS0uMiBGIDIuMzkyKGd1bWVudHMgYXJlIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRyA0Ljg5MgorKG5pKS4xNSBHKG4pLTQuODkyIEUvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YoYXIpNC44OTIgRShncyktLjM3IEUgRjAoLCkKKy4yNyBFIEYxKGdldG9wdHMpMTQ0IDk2IFEgRjAocGFyc2VzIHRob3NlIGluc3RlYWQuKTIuNSBFIEYxKGdldG9wdHMpMTQ0CisxMjAgUSBGMCAxLjE2NShjYW4gcmVwb3J0IGVycm9ycyBpbiB0dykzLjY2NSBGIDMuNjY1KG93KS0uMSBHIDMuNjY1CisoYXlzLiBJZiktMy43NjUgRiAxLjE2NSh0aGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpMy42NjUgRiBGMihvcHRzdHJpbmcpCiszLjg5NSBFIEYwIDEuMTY2KGlzIGEgY29sb24sKTMuODg2IEYgRjIoc2lsZW50KTQuMDA2IEUgRjAoZXJyb3IpNC4zNDYgRQorMS4yNjQocmVwb3J0aW5nIGlzIHVzZWQuKTE0NCAxMzIgUiAxLjI2MworKEluIG5vcm1hbCBvcGVyYXRpb24gZGlhZ25vc3RpYyBtZXNzYWdlcyBhcmUgcHJpbnRlZCB3aGVuIGluKTYuMjYzIEYKKy0uMjUodmEpLS40IEcgMS4yNjMobGlkIG9wdGlvbnMgb3IpLjI1IEYgLjM5MyhtaXNzaW5nIG9wdGlvbiBhcikxNDQgMTQ0CitSIC4zOTMoZ3VtZW50cyBhcmUgZW5jb3VudGVyZWQuKS0uMTggRiAuMzk0KElmIHRoZSB2KTUuMzk0IEYoYXJpYWJsZSkKKy0uMjUgRS9GMyA5L1RpbWVzLUJvbGRAMCBTRihPUFRFUlIpMi44OTQgRSBGMCAuMzk0CisoaXMgc2V0IHRvIDAsIG5vIGVycm9yIG1lc3NhZ2VzKTIuNjQ0IEYod2lsbCBiZSBkaXNwbGF5ZWQsIGUpMTQ0IDE1NiBRCistLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcgMi41KGZ0KS0yLjUgRyhoZSBcMjE0cnN0IGNoYXJhY3RlciBvZiktMi41IEUKK0YyKG9wdHN0cmluZykyLjczIEUgRjAoaXMgbm90IGEgY29sb24uKTIuNzIgRSAuNjY3KElmIGFuIGluKTE0NCAxODAgUgorLS4yNSh2YSktLjQgRyAuNjY3KGxpZCBvcHRpb24gaXMgc2VlbiwpLjI1IEYgRjEoZ2V0b3B0cykzLjE2NyBFIEYwIC42NjcKKyhwbGFjZXMgPyBpbnRvKTMuMTY3IEYgRjIobmFtZSkzLjUyNyBFIEYwIC42NjYKKyhhbmQsIGlmIG5vdCBzaWxlbnQsIHByaW50cyBhbiBlcnJvciBtZXNzYWdlKTMuMzQ3IEYgLjM5OShhbmQgdW5zZXRzKTE0NAorMTkyIFIgRjMoT1BUKTIuODk5IEUoQVJHKS0uODEgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwKElmKTQuODk5IEUKK0YxKGdldG9wdHMpMi44OTkgRSBGMCAuMzk5CisoaXMgc2lsZW50LCB0aGUgb3B0aW9uIGNoYXJhY3RlciBmb3VuZCBpcyBwbGFjZWQgaW4pMi44OTkgRiBGMyhPUFQpMi44OTkKK0UoQVJHKS0uODEgRSBGMCAuNChhbmQgbm8pMi42NSBGKGRpYWdub3N0aWMgbWVzc2FnZSBpcyBwcmludGVkLikxNDQgMjA0CitRIDEuMjQyKElmIGEgcmVxdWlyZWQgYXIpMTQ0IDIyOCBSIDEuMjQyKGd1bWVudCBpcyBub3QgZm91bmQsIGFuZCktLjE4IEYKK0YxKGdldG9wdHMpMy43NDEgRSBGMCAxLjI0MShpcyBub3Qgc2lsZW50LCBhIHF1ZXN0aW9uIG1hcmsgXCgpMy43NDEgRiBGMQorKD8pLjgzMyBFIEYwIDMuNzQxKFwpaSkuODMzIEcgMy43NDEoc3ApLTMuNzQxIEcgMS4yNDEobGFjZWQgaW4pLTMuNzQxIEYKK0YyKG5hbWUpMTQ0IDI0MCBRIEYwKCwpLjE4IEUgRjMoT1BUKTIuNzM0IEUoQVJHKS0uODEgRSBGMCAuMjM0CisoaXMgdW5zZXQsIGFuZCBhIGRpYWdub3N0aWMgbWVzc2FnZSBpcyBwcmludGVkLikyLjQ4NCBGKElmKTUuMjM0IEUgRjEKKyhnZXRvcHRzKTIuNzM0IEUgRjAgLjIzNShpcyBzaWxlbnQsIHRoZW4gYSBjb2xvbiBcKCkyLjczNCBGIEYxKDopLjgzMyBFCitGMChcKSkuODMzIEUoaXMgcGxhY2VkIGluKTE0NCAyNTIgUSBGMihuYW1lKTIuODYgRSBGMChhbmQpMi42OCBFIEYzKE9QVCkKIDIuNSBFKEFSRyktLjgxIEUgRjAoaXMgc2V0IHRvIHRoZSBvcHRpb24gY2hhcmFjdGVyIGZvdW5kLikyLjI1IEUgRjEKLShnZXRvcHRzKTE0NCAxNTYgUSBGMCAuOTAyCisoZ2V0b3B0cykxNDQgMjc2IFEgRjAgLjkwMgogKHJldHVybnMgdHJ1ZSBpZiBhbiBvcHRpb24sIHNwZWNpXDIxNGVkIG9yIHVuc3BlY2lcMjE0ZWQsIGlzIGZvdW5kLikKLTMuNDAxIEYgLjkwMihJdCByZXR1cm5zIGYpNS45MDIgRiAuOTAyKGFsc2UgaWYgdGhlIGVuZCBvZiktLjEgRgotKG9wdGlvbnMgaXMgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLikxNDQgMTY4IFEgRjEoaGFzaCkxMDggMTg0LjgKKzMuNDAyIEYgLjkwMihJdCByZXR1cm5zIGYpNS45MDIgRiAuOTAxKGFsc2UgaWYgdGhlIGVuZCBvZiktLjEgRgorKG9wdGlvbnMgaXMgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLikxNDQgMjg4IFEgRjEoaGFzaCkxMDggMzA0LjgKIFEgRjAoWykyLjUgRSBGMShcMjU1bHIpQSBGMCAyLjUoXVspQyBGMTxhZDcwPi0yLjUgRSBGMihcMjE0bGVuYW1lKTIuNSBFCi1GMCAyLjUoXVspQyBGMShcMjU1ZHQpLTIuNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKF0pQSAtLjE1KEZvKQotMTQ0IDE5Ni44IFMgMy41NTUocmUpLjE1IEcoYWNoKS0zLjU1NSBFIEYyKG5hbWUpMy41NTUgRSBGMCAzLjU1NSgsdCkuMTgKLUcgMS4wNTQoaGUgZnVsbCBcMjE0bGUgbmFtZSBvZiB0aGUgY29tbWFuZCBpcyBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZyB0XAotaGUgZGlyZWN0b3JpZXMgaW4pLTMuNTU1IEYgRjEoJFApMTQ0IDIwOC44IFEgLS45NShBVCktLjc0IEcoSCkuOTUgRSBGMAotLjM0OShhbmQgcmVtZW1iZXJlZC4pMi44NDkgRiAuMzQ5KElmIHRoZSk1LjM0OSBGIEYxPGFkNzA+Mi44NDkgRSBGMCAuMzQ5Ci0ob3B0aW9uIGlzIHN1cHBsaWVkLCBubyBwYXRoIHNlYXJjaCBpcyBwZXJmb3JtZWQsIGFuZCkyLjg0OSBGIEYyCi0oXDIxNGxlbmFtZSk0Ljc2IEUgRjAgLjQ1MgotKGlzIHVzZWQgYXMgdGhlIGZ1bGwgXDIxNGxlIG5hbWUgb2YgdGhlIGNvbW1hbmQuKTE0NCAyMjAuOCBSKFRoZSk1LjQ1MiBFCi1GMTxhZDcyPjIuOTUyIEUgRjAgLjQ1MihvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCB0byBmb3IpMi45NTIgRiAuNDUyCi0oZ2V0IGFsbCByZW1lbS0pLS4xOCBGIC41OTIoYmVyZWQgbG9jYXRpb25zLikxNDQgMjMyLjggUihUaGUpNS41OTIgRSBGMQotPGFkNjQ+My4wOTIgRSBGMCAuNTkzKG9wdGlvbiBjYXVzZXMgdGhlIHNoZWxsIHRvIGZvcikzLjA5MiBGIC41OTMKLShnZXQgdGhlIHJlbWVtYmVyZWQgbG9jYXRpb24gb2YgZWFjaCktLjE4IEYgRjIobmFtZSkzLjA5MyBFIEYwKC4pQSAuMDIxCi0oSWYgdGhlKTE0NCAyNDQuOCBSIEYxPGFkNzQ+Mi41MjEgRSBGMCAuMDIxCi0ob3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgZnVsbCBwYXRobmFtZSB0byB3aGljaCBlYWNoKTIuNTIxIEYgRjIobmFtZSkKLTIuNTIgRSBGMCAuMDIoY29ycmVzcG9uZHMgaXMgcHJpbnRlZC4pMi41MiBGIC4wMihJZiBtdWx0aS0pNS4wMiBGKHBsZSkKLTE0NCAyNTYuOCBRIEYyKG5hbWUpMy43MDMgRSBGMChhcikzLjcwMyBFIDEuMjAzCi0oZ3VtZW50cyBhcmUgc3VwcGxpZWQgd2l0aCktLjE4IEYgRjE8YWQ3ND4zLjcwMyBFIEYwIDMuNzAzKCx0KUMoaGUpCi0tMy43MDMgRSBGMihuYW1lKTMuNzAzIEUgRjAgMS4yMDQKLShpcyBwcmludGVkIGJlZm9yZSB0aGUgaGFzaGVkIGZ1bGwgcGF0aG5hbWUuKTMuNzAzIEYoVGhlKTE0NCAyNjguOCBRIEYxCi08YWQ2Yz4zLjIxNiBFIEYwIC43MTUob3B0aW9uIGNhdXNlcyBvdXRwdXQgdG8gYmUgZGlzcGxheWVkIGluIGEgZm9ybWF0IFwKLXRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dC4pMy4yMTYgRiAuNzE1KElmIG5vIGFyKTUuNzE1IEYoZ3UtKS0uMTggRQotMS4xODMobWVudHMgYXJlIGdpKTE0NCAyODAuOCBSIC0uMTUodmUpLS4yNSBHIDEuMTgzKG4sIG9yIGlmIG9ubHkpLjE1IEYKLUYxPGFkNmM+My42ODMgRSBGMCAxLjE4NAotKGlzIHN1cHBsaWVkLCBpbmZvcm1hdGlvbiBhYm91dCByZW1lbWJlcmVkIGNvbW1hbmRzIGlzIHByaW50ZWQuKTMuNjg0IEYKLShUaGUgcmV0dXJuIHN0YXR1cyBpcyB0cnVlIHVubGVzcyBhKTE0NCAyOTIuOCBRIEYyKG5hbWUpMi44NiBFIEYwCi0oaXMgbm90IGZvdW5kIG9yIGFuIGluKTIuNjggRSAtLjI1KHZhKS0uNCBHKGxpZCBvcHRpb24gaXMgc3VwcGxpZWQuKS4yNQotRSBGMShoZWxwKTEwOCAzMDkuNiBRIEYwKFspMi41IEUgRjEoXDI1NWRtcylBIEYwIDIuNShdWylDIEYyKHBhdHRlcm4pCi0tMi41IEUgRjAoXSlBIC44NjcoRGlzcGxheSBoZWxwZnVsIGluZm9ybWF0aW9uIGFib3V0IGIpMTQ0IDMyMS42IFIgLjg2NwotKHVpbHRpbiBjb21tYW5kcy4pLS4yIEYoSWYpNS44NjcgRSBGMihwYXR0ZXJuKTQuNjE3IEUgRjAgLjg2NgotKGlzIHNwZWNpXDIxNGVkLCkzLjYwNyBGIEYxKGhlbHApMy4zNjYgRSBGMChnaSkzLjM2NiBFIC0uMTUodmUpLS4yNSBHCi0zLjM2NihzZCkuMTUgRyhldGFpbGVkKS0zLjM2NiBFIC4zMDYoaGVscCBvbiBhbGwgY29tbWFuZHMgbWF0Y2hpbmcpMTQ0Ci0zMzMuNiBSIEYyKHBhdHRlcm4pMi44MDYgRSBGMCAyLjgwNyg7bykuMjQgRyAuMzA3CitGMCAyLjUoXVspQyBGMShcMjU1ZHQpLTIuNSBFIEYwIDIuNShdWylDIEYyKG5hbWUpLTIuNSBFIEYwKF0pQSAuODU4CisoRWFjaCB0aW1lKTE0NCAzMTYuOCBSIEYxKGhhc2gpMy4zNTggRSBGMCAuODU4KGlzIGluKTMuMzU4IEYgLS4yKHZvKS0uNAorRyAtLjEoa2UpLjIgRyAuODU4KGQsIHRoZSBmdWxsIHBhdGhuYW1lIG9mIHRoZSBjb21tYW5kKS4xIEYgRjIobmFtZSkKKzMuNzE4IEUgRjAgLjg1OChpcyBkZXRlcm1pbmVkIGJ5IHNlYXJjaGluZykzLjUzOCBGIC45NTYKKyh0aGUgZGlyZWN0b3JpZXMgaW4pMTQ0IDMyOC44IFIgRjEoJFApMy40NTYgRSAtLjk1KEFUKS0uNzQgRyhIKS45NSBFIEYwCisuOTU2KGFuZCByZW1lbWJlcmVkLikzLjQ1NiBGKEFuKTUuOTU2IEUgMy40NTYoeXApLS4xNSBHKHJlKS0zLjQ1NiBFIC45NTYKKyh2aW91c2x5LXJlbWVtYmVyZWQgcGF0aG5hbWUgaXMgZGlzY2FyZGVkLiktLjI1IEYgLjA5OChJZiB0aGUpMTQ0IDM0MC44CitSIEYxPGFkNzA+Mi41OTggRSBGMCAuMDk4Cisob3B0aW9uIGlzIHN1cHBsaWVkLCBubyBwYXRoIHNlYXJjaCBpcyBwZXJmb3JtZWQsIGFuZCkyLjU5OCBGIEYyCisoXDIxNGxlbmFtZSk0LjUwOSBFIEYwIC4wOTkoaXMgdXNlZCBhcyB0aGUgZnVsbCBcMjE0bGUgbmFtZSkyLjc3OSBGCisxLjcxMihvZiB0aGUgY29tbWFuZC4pMTQ0IDM1Mi44IFIoVGhlKTYuNzEyIEUgRjE8YWQ3Mj40LjIxMiBFIEYwIDEuNzExCisob3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gZm9yKTQuMjEyIEYgMS43MTEKKyhnZXQgYWxsIHJlbWVtYmVyZWQgbG9jYXRpb25zLiktLjE4IEYoVGhlKTYuNzExIEUgRjE8YWQ2ND40LjIxMSBFIEYwCisuODMzKG9wdGlvbiBjYXVzZXMgdGhlIHNoZWxsIHRvIGZvcikxNDQgMzY0LjggUiAuODMzCisoZ2V0IHRoZSByZW1lbWJlcmVkIGxvY2F0aW9uIG9mIGVhY2gpLS4xOCBGIEYyKG5hbWUpMy4zMzMgRSBGMCA1LjgzMyguSSkKK0MgMy4zMzMoZnQpLTUuODMzIEcoaGUpLTMuMzMzIEUgRjE8YWQ3ND4zLjMzMyBFIEYwIC44MzMob3B0aW9uIGlzIHN1cC0pCiszLjMzMyBGIC43MDQocGxpZWQsIHRoZSBmdWxsIHBhdGhuYW1lIHRvIHdoaWNoIGVhY2gpMTQ0IDM3Ni44IFIgRjIobmFtZSkKKzMuMjA0IEUgRjAgLjcwMyhjb3JyZXNwb25kcyBpcyBwcmludGVkLikzLjIwNCBGIC43MDMoSWYgbXVsdGlwbGUpNS43MDMgRgorRjIobmFtZSkzLjIwMyBFIEYwKGFyKTMuMjAzIEUoZ3VtZW50cyktLjE4IEUgLjc5NShhcmUgc3VwcGxpZWQgd2l0aCkxNDQKKzM4OC44IFIgRjE8YWQ3ND4zLjI5NSBFIEYwIDMuMjk1KCx0KUMoaGUpLTMuMjk1IEUgRjIobmFtZSkzLjI5NSBFIEYwCisuNzk1KGlzIHByaW50ZWQgYmVmb3JlIHRoZSBoYXNoZWQgZnVsbCBwYXRobmFtZS4pMy4yOTUgRihUaGUpNS43OTUgRSBGMQorPGFkNmM+My4yOTUgRSBGMCAuNzk1KG9wdGlvbiBjYXVzZXMpMy4yOTUgRiAuOTM0Cisob3V0cHV0IHRvIGJlIGRpc3BsYXllZCBpbiBhIGZvcm1hdCB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuKTE0NAorNDAwLjggUiAuOTM0KElmIG5vIGFyKTUuOTM0IEYgLjkzNChndW1lbnRzIGFyZSBnaSktLjE4IEYgLS4xNSh2ZSktLjI1IEcKKy45MzQobiwgb3IgaWYpLjE1IEYob25seSkxNDQgNDEyLjggUSBGMTxhZDZjPjIuODIxIEUgRjAgLjMyMQorKGlzIHN1cHBsaWVkLCBpbmZvcm1hdGlvbiBhYm91dCByZW1lbWJlcmVkIGNvbW1hbmRzIGlzIHByaW50ZWQuKTIuODIxIEYKKy4zMjIoVGhlIHJldHVybiBzdGF0dXMgaXMgdHJ1ZSk1LjMyMiBGKHVubGVzcyBhKTE0NCA0MjQuOCBRIEYyKG5hbWUpMi44NgorRSBGMChpcyBub3QgZm91bmQgb3IgYW4gaW4pMi42OCBFIC0uMjUodmEpLS40IEcobGlkIG9wdGlvbiBpcyBzdXBwbGllZC4pCisuMjUgRSBGMShoZWxwKTEwOCA0NDEuNiBRIEYwKFspMi41IEUgRjEoXDI1NWRtcylBIEYwIDIuNShdWylDIEYyCisocGF0dGVybiktMi41IEUgRjAoXSlBIC44NjcoRGlzcGxheSBoZWxwZnVsIGluZm9ybWF0aW9uIGFib3V0IGIpMTQ0Cis0NTMuNiBSIC44NjcodWlsdGluIGNvbW1hbmRzLiktLjIgRihJZik1Ljg2NyBFIEYyKHBhdHRlcm4pNC42MTcgRSBGMAorLjg2NihpcyBzcGVjaVwyMTRlZCwpMy42MDcgRiBGMShoZWxwKTMuMzY2IEUgRjAoZ2kpMy4zNjYgRSAtLjE1KHZlKS0uMjUKK0cgMy4zNjYoc2QpLjE1IEcoZXRhaWxlZCktMy4zNjYgRSAuMzA2KGhlbHAgb24gYWxsIGNvbW1hbmRzIG1hdGNoaW5nKTE0NAorNDY1LjYgUiBGMihwYXR0ZXJuKTIuODA2IEUgRjAgMi44MDcoO28pLjI0IEcgLjMwNwogKHRoZXJ3aXNlIGhlbHAgZm9yIGFsbCB0aGUgYiktMi44MDcgRiAuMzA3Ci0odWlsdGlucyBhbmQgc2hlbGwgY29udHJvbCBzdHJ1Yy0pLS4yIEYodHVyZXMgaXMgcHJpbnRlZC4pMTQ0IDM0NS42IFEgRjEKLTxhZDY0PjE0NCAzNTcuNiBRIEYwKERpc3BsYXkgYSBzaG9ydCBkZXNjcmlwdGlvbiBvZiBlYWNoKTI0Ljc0IEUgRjIKLShwYXR0ZXJuKTIuNSBFIEYxPGFkNmQ+MTQ0IDM2OS42IFEgRjAoRGlzcGxheSB0aGUgZGVzY3JpcHRpb24gb2YgZWFjaCkKKyh1aWx0aW5zIGFuZCBzaGVsbCBjb250cm9sIHN0cnVjLSktLjIgRih0dXJlcyBpcyBwcmludGVkLikxNDQgNDc3LjYgUSBGMQorPGFkNjQ+MTQ0IDQ4OS42IFEgRjAoRGlzcGxheSBhIHNob3J0IGRlc2NyaXB0aW9uIG9mIGVhY2gpMjQuNzQgRSBGMgorKHBhdHRlcm4pMi41IEUgRjE8YWQ2ZD4xNDQgNTAxLjYgUSBGMChEaXNwbGF5IHRoZSBkZXNjcmlwdGlvbiBvZiBlYWNoKQogMjEuOTcgRSBGMihwYXR0ZXJuKTIuNSBFIEYwKGluIGEgbWFucGFnZS1saWspMi41IEUgMi41KGVmKS0uMSBHKG9ybWF0KQotLTIuNSBFIEYxPGFkNzM+MTQ0IDM4MS42IFEgRjAKKy0yLjUgRSBGMTxhZDczPjE0NCA1MTMuNiBRIEYwCiAoRGlzcGxheSBvbmx5IGEgc2hvcnQgdXNhZ2Ugc3lub3BzaXMgZm9yIGVhY2gpMjYuNDEgRSBGMihwYXR0ZXJuKTIuNSBFCi1GMChUaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyBubyBjb21tYW5kIG1hdGNoZXMpMTA4IDM5My42IFEgRjIKLShwYXR0ZXJuKTIuNSBFIEYwKC4pLjI0IEUgRjEoaGlzdG9yeSBbKTEwOCA0MTAuNCBRIEYyKG4pQSBGMShdKUEKLShoaXN0b3J5IFwyNTVjKTEwOCA0MjIuNCBRKGhpc3RvcnkgXDI1NWQpMTA4IDQzNC40IFEgRjIob2YpMi41IEUoZnNldCkKLS0uMTggRSBGMShoaXN0b3J5IFwyNTVhbnJ3KTEwOCA0NDYuNCBRIEYwKFspMi41IEUgRjIoXDIxNGxlbmFtZSlBIEYwKF0pQQotRjEoaGlzdG9yeSBcMjU1cCkxMDggNDU4LjQgUSBGMihhcikyLjUgRShnKS0uMzcgRSBGMChbKTIuNSBFIEYyKGFyKUEgMi41Ci0oZy4pLS4zNyBHKC4uKS0yLjUgRSBGMChdKUEgRjEoaGlzdG9yeSBcMjU1cykxMDggNDcwLjQgUSBGMihhcikyLjUgRShnKQorRjAoVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3Mgbm8gY29tbWFuZCBtYXRjaGVzKTEwOCA1MjUuNiBRIEYyCisocGF0dGVybikyLjUgRSBGMCguKS4yNCBFIEYxKGhpc3RvcnkgWykxMDggNTQyLjQgUSBGMihuKUEgRjEoXSlBCisoaGlzdG9yeSBcMjU1YykxMDggNTU0LjQgUShoaXN0b3J5IFwyNTVkKTEwOCA1NjYuNCBRIEYyKG9mKTIuNSBFKGZzZXQpCistLjE4IEUgRjEoaGlzdG9yeSBcMjU1YW5ydykxMDggNTc4LjQgUSBGMChbKTIuNSBFIEYyKFwyMTRsZW5hbWUpQSBGMChdKUEKK0YxKGhpc3RvcnkgXDI1NXApMTA4IDU5MC40IFEgRjIoYXIpMi41IEUoZyktLjM3IEUgRjAoWykyLjUgRSBGMihhcilBIDIuNQorKGcuKS0uMzcgRyguLiktMi41IEUgRjAoXSlBIEYxKGhpc3RvcnkgXDI1NXMpMTA4IDYwMi40IFEgRjIoYXIpMi41IEUoZykKIC0uMzcgRSBGMChbKTIuNSBFIEYyKGFyKUEgMi41KGcuKS0uMzcgRyguLiktMi41IEUgRjAoXSlBIC0uNChXaSkxNDQKLTQ4Mi40IFMgLjc1MgorNjE0LjQgUyAuNzUyCiAodGggbm8gb3B0aW9ucywgZGlzcGxheSB0aGUgY29tbWFuZCBoaXN0b3J5IGxpc3Qgd2l0aCBsaW5lIG51bWJlcnMuKS40IEYKIC43NTIoTGluZXMgbGlzdGVkIHdpdGggYSk1Ljc1MiBGIEYxKCopMy4yNTEgRSBGMChoYSkzLjI1MSBFIC0uMTUodmUpLS4yCi1HIC4zOChiZWVuIG1vZGlcMjE0ZWQuKTE0NCA0OTQuNCBSIC4zOChBbiBhcik1LjM4IEYgLjM4KGd1bWVudCBvZiktLjE4IEYKK0cgLjM4KGJlZW4gbW9kaVwyMTRlZC4pMTQ0IDYyNi40IFIgLjM4KEFuIGFyKTUuMzggRiAuMzgoZ3VtZW50IG9mKS0uMTggRgogRjIobikzLjI0IEUgRjAgLjM4KGxpc3RzIG9ubHkgdGhlIGxhc3QpMy4xMiBGIEYyKG4pMy4yNCBFIEYwIDIuODgKIChsaW5lcy4gSWYpMy4xMiBGIC4zOCh0aGUgc2hlbGwgdikyLjg4IEYoYXJpYWJsZSktLjI1IEUgRjMoSElTVFRJTUVGT1ItKQotMi44ODEgRShNQSkxNDQgNTA2LjQgUShUKS0uODU1IEUgRjAgLjI2NQorMi44ODEgRShNQSkxNDQgNjM4LjQgUShUKS0uODU1IEUgRjAgLjI2NQogKGlzIHNldCBhbmQgbm90IG51bGwsIGl0IGlzIHVzZWQgYXMgYSBmb3JtYXQgc3RyaW5nIGZvcikyLjUxNSBGIEYyCiAoc3RyZnRpbWUpMi43NjQgRSBGMCAuMjY0KFwoM1wpIHRvIGRpc3BsYXkgdGhlIHRpbWUgc3RhbXAgYXNzby0pQiAxLjAxOQotKGNpYXRlZCB3aXRoIGVhY2ggZGlzcGxheWVkIGhpc3RvcnkgZW50cnkpMTQ0IDUxOC40IFIgNi4wMTkoLk4pLS42NSBHCisoY2lhdGVkIHdpdGggZWFjaCBkaXNwbGF5ZWQgaGlzdG9yeSBlbnRyeSkxNDQgNjUwLjQgUiA2LjAxOSguTiktLjY1IEcKIDMuNTE5KG9pKS02LjAxOSBHKG50ZXJ2KS0zLjUxOSBFIDEuMDE5CiAoZW5pbmcgYmxhbmsgaXMgcHJpbnRlZCBiZXR3ZWVuIHRoZSBmb3JtYXR0ZWQpLS4xNSBGIC4xNzYKLSh0aW1lIHN0YW1wIGFuZCB0aGUgaGlzdG9yeSBsaW5lLikxNDQgNTMwLjQgUihJZik1LjE3NiBFIEYyKFwyMTRsZW5hbWUpCisodGltZSBzdGFtcCBhbmQgdGhlIGhpc3RvcnkgbGluZS4pMTQ0IDY2Mi40IFIoSWYpNS4xNzYgRSBGMihcMjE0bGVuYW1lKQogMi42NzYgRSBGMCAuMTc2CiAoaXMgc3VwcGxpZWQsIGl0IGlzIHVzZWQgYXMgdGhlIG5hbWUgb2YgdGhlIGhpc3RvcnkgXDIxNGxlOyBpZikyLjY3NiBGCi0obm90LCB0aGUgdikxNDQgNTQyLjQgUShhbHVlIG9mKS0uMjUgRSBGMyhISVNURklMRSkyLjUgRSBGMChpcyB1c2VkLikKKyhub3QsIHRoZSB2KTE0NCA2NzQuNCBRKGFsdWUgb2YpLS4yNSBFIEYzKEhJU1RGSUxFKTIuNSBFIEYwKGlzIHVzZWQuKQogMi4yNSBFKE9wdGlvbnMsIGlmIHN1cHBsaWVkLCBoYSk1IEUgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFCi0od2luZyBtZWFuaW5nczopLS4yNSBFIEYxPGFkNjM+MTQ0IDU1NC40IFEgRjAKKyh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjE8YWQ2Mz4xNDQgNjg2LjQgUSBGMAogKENsZWFyIHRoZSBoaXN0b3J5IGxpc3QgYnkgZGVsZXRpbmcgYWxsIHRoZSBlbnRyaWVzLikyNS44NiBFIEYxPGFkNjQ+MTQ0Ci01NjYuNCBRIEYyKG9mKTIuNSBFKGZzZXQpLS4xOCBFIEYwKERlbGV0ZSB0aGUgaGlzdG9yeSBlbnRyeSBhdCBwb3NpdGlvbikKLTE4MCA1NzguNCBRIEYyKG9mKTIuNSBFKGZzZXQpLS4xOCBFIEYwKC4pQSBGMTxhZDYxPjE0NCA1OTAuNCBRIEYwIC41OTgKLShBcHBlbmQgdGhlIGApMjUuMyBGKGBuZSktLjc0IEUodycpLS4yNSBFIDMuMDk4KCdoKS0uNzQgRyAuNTk4Ci0oaXN0b3J5IGxpbmVzIFwoaGlzdG9yeSBsaW5lcyBlbnRlcmVkIHNpbmNlIHRoZSBiZSktMy4wOTggRiAuNTk5Ci0oZ2lubmluZyBvZiB0aGUgY3VycmVudCktLjE1IEYgRjEoYmFzaCkxODAgNjAyLjQgUSBGMAotKHNlc3Npb25cKSB0byB0aGUgaGlzdG9yeSBcMjE0bGUuKTIuNSBFIEYxPGFkNmU+MTQ0IDYxNC40IFEgRjAgLjg1NChSZWFcCi1kIHRoZSBoaXN0b3J5IGxpbmVzIG5vdCBhbHJlYWR5IHJlYWQgZnJvbSB0aGUgaGlzdG9yeSBcMjE0bGUgaW50byB0aGUgY1wKLXVycmVudCBoaXN0b3J5IGxpc3QuKTI0Ljc0IEYgLjc3MgotKFRoZXNlIGFyZSBsaW5lcyBhcHBlbmRlZCB0byB0aGUgaGlzdG9yeSBcMjE0bGUgc2luY2UgdGhlIGJlKTE4MCA2MjYuNCBSCi0uNzczKGdpbm5pbmcgb2YgdGhlIGN1cnJlbnQpLS4xNSBGIEYxKGJhc2gpMy4yNzMgRSBGMChzZXMtKTMuMjczIEUKLShzaW9uLikxODAgNjM4LjQgUSBGMTxhZDcyPjE0NCA2NTAuNCBRIEYwKFJlYWQgdGhlIGNvbnRlbnRzIG9mIHRoZSBoaXN0XAotb3J5IFwyMTRsZSBhbmQgdXNlIHRoZW0gYXMgdGhlIGN1cnJlbnQgaGlzdG9yeSkyNS44NiBFKC4pLS42NSBFIEYxPGFkNzc+Ci0xNDQgNjYyLjQgUSBGMChXcml0ZSB0aGUgY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IFwyMTRsZSwgbykyMy4wOAotRSAtLjE1KHZlKS0uMTUgRyhyd3JpdGluZyB0aGUgaGlzdG9yeSBcMjE0bGUnKS4xNSBFIDIuNShzYyktLjU1IEcKLShvbnRlbnRzLiktMi41IEUgRjE8YWQ3MD4xNDQgNjc0LjQgUSBGMCAuNjI2Ci0oUGVyZm9ybSBoaXN0b3J5IHN1YnN0aXR1dGlvbiBvbiB0aGUgZm9sbG8pMjQuNzQgRih3aW5nKS0uMjUgRSBGMihhcikKLTMuMTI1IEUoZ3MpLS4zNyBFIEYwIC42MjUoYW5kIGRpc3BsYXkgdGhlIHJlc3VsdCBvbiB0aGUgc3RhbmRhcmQpMy4xMjUgRgotMi45NzUob3V0cHV0LiBEb2VzKTE4MCA2ODYuNCBSIC40NzUKLShub3Qgc3RvcmUgdGhlIHJlc3VsdHMgaW4gdGhlIGhpc3RvcnkgbGlzdC4pMi45NzUgRihFYWNoKTUuNDc1IEUgRjIoYXIpCi0yLjk3NSBFKGcpLS4zNyBFIEYwIC40NzUobXVzdCBiZSBxdW90ZWQgdG8gZGlzYWJsZSkyLjk3NSBGCi0obm9ybWFsIGhpc3RvcnkgZSkxODAgNjk4LjQgUSh4cGFuc2lvbi4pLS4xNSBFIEYxPGFkNzM+MTQ0IDcxMC40IFEgRjAKLS4zNjMoU3RvcmUgdGhlKTI2LjQxIEYgRjIoYXIpMy4xOTMgRShncyktLjM3IEUgRjAgLjM2MwotKGluIHRoZSBoaXN0b3J5IGxpc3QgYXMgYSBzaW5nbGUgZW50cnkpMy4xMzMgRiA1LjM2MyguVCktLjY1IEcgLjM2MgotKGhlIGxhc3QgY29tbWFuZCBpbiB0aGUgaGlzdG9yeSBsaXN0IGlzKS01LjM2MyBGKHJlbW8pMTgwIDcyMi40IFEgLS4xNQotKHZlKS0uMTUgRyAyLjUoZGIpLjE1IEcoZWZvcmUgdGhlKS0yLjUgRSBGMihhcikyLjgzIEUoZ3MpLS4zNyBFIEYwCi0oYXJlIGFkZGVkLikyLjc3IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSg5KTIwMy43MjUKLUUgMCBDZyBFUAorNjk4LjQgUSBGMihvZikyLjUgRShmc2V0KS0uMTggRSBGMChEZWxldGUgdGhlIGhpc3RvcnkgZW50cnkgYXQgcG9zaXRpb24pCisxODAgNzEwLjQgUSBGMihvZikyLjUgRShmc2V0KS0uMTggRSBGMCguKUEoR05VIEJhc2gtNC4wKTcyIDc2OCBRCisoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDkpMjAzLjcyNSBFIDAgQ2cgRVAKICUlUGFnZTogMTAgMTAKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTKFNIX0IpLjM1IEUoVUlMKS0uMSBFIDI5MC40OAotKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUgLjE0NShJZiB0aGUpCi0xNDQgODQgUi9GMSA5L1RpbWVzLUJvbGRAMCBTRihISVNUVElNRUZPUk1BKTIuNjQ1IEUoVCktLjg1NSBFIEYwIC0uMjUKLSh2YSkyLjM5NSBHIC4xNDUKKyhUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCisvVGltZXMtQm9sZEAwIFNGPGFkNjE+MTQ0IDg0IFEgRjAgLjU5OChBcHBlbmQgdGhlIGApMjUuMyBGKGBuZSktLjc0IEUKKyh3JyktLjI1IEUgMy4wOTgoJ2gpLS43NCBHIC41OTgKKyhpc3RvcnkgbGluZXMgXChoaXN0b3J5IGxpbmVzIGVudGVyZWQgc2luY2UgdGhlIGJlKS0zLjA5OCBGIC41OTkKKyhnaW5uaW5nIG9mIHRoZSBjdXJyZW50KS0uMTUgRiBGMShiYXNoKTE4MCA5NiBRIEYwCisoc2Vzc2lvblwpIHRvIHRoZSBoaXN0b3J5IFwyMTRsZS4pMi41IEUgRjE8YWQ2ZT4xNDQgMTA4IFEgRjAgLjg1NChSZWFkIFwKK3RoZSBoaXN0b3J5IGxpbmVzIG5vdCBhbHJlYWR5IHJlYWQgZnJvbSB0aGUgaGlzdG9yeSBcMjE0bGUgaW50byB0aGUgY3VyXAorcmVudCBoaXN0b3J5IGxpc3QuKTI0Ljc0IEYgLjc3MgorKFRoZXNlIGFyZSBsaW5lcyBhcHBlbmRlZCB0byB0aGUgaGlzdG9yeSBcMjE0bGUgc2luY2UgdGhlIGJlKTE4MCAxMjAgUgorLjc3MyhnaW5uaW5nIG9mIHRoZSBjdXJyZW50KS0uMTUgRiBGMShiYXNoKTMuMjczIEUgRjAoc2VzLSkzLjI3MyBFCisoc2lvbi4pMTgwIDEzMiBRIEYxPGFkNzI+MTQ0IDE0NCBRIEYwKFJlYWQgdGhlIGNvbnRlbnRzIG9mIHRoZSBoaXN0b3J5IFwKK1wyMTRsZSBhbmQgdXNlIHRoZW0gYXMgdGhlIGN1cnJlbnQgaGlzdG9yeSkyNS44NiBFKC4pLS42NSBFIEYxPGFkNzc+MTQ0CisxNTYgUSBGMChXcml0ZSB0aGUgY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IFwyMTRsZSwgbykyMy4wOCBFIC0uMTUKKyh2ZSktLjE1IEcocndyaXRpbmcgdGhlIGhpc3RvcnkgXDIxNGxlJykuMTUgRSAyLjUoc2MpLS41NSBHKG9udGVudHMuKQorLTIuNSBFIEYxPGFkNzA+MTQ0IDE2OCBRIEYwIC42MjYKKyhQZXJmb3JtIGhpc3Rvcnkgc3Vic3RpdHV0aW9uIG9uIHRoZSBmb2xsbykyNC43NCBGKHdpbmcpLS4yNSBFL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YoYXIpMy4xMjUgRShncyktLjM3IEUgRjAgLjYyNQorKGFuZCBkaXNwbGF5IHRoZSByZXN1bHQgb24gdGhlIHN0YW5kYXJkKTMuMTI1IEYgMi45NzUob3V0cHV0LiBEb2VzKTE4MAorMTgwIFIgLjQ3NShub3Qgc3RvcmUgdGhlIHJlc3VsdHMgaW4gdGhlIGhpc3RvcnkgbGlzdC4pMi45NzUgRihFYWNoKTUuNDc1CitFIEYyKGFyKTIuOTc1IEUoZyktLjM3IEUgRjAgLjQ3NShtdXN0IGJlIHF1b3RlZCB0byBkaXNhYmxlKTIuOTc1IEYKKyhub3JtYWwgaGlzdG9yeSBlKTE4MCAxOTIgUSh4cGFuc2lvbi4pLS4xNSBFIEYxPGFkNzM+MTQ0IDIwNCBRIEYwIC4zNjMKKyhTdG9yZSB0aGUpMjYuNDEgRiBGMihhcikzLjE5MyBFKGdzKS0uMzcgRSBGMCAuMzYzCisoaW4gdGhlIGhpc3RvcnkgbGlzdCBhcyBhIHNpbmdsZSBlbnRyeSkzLjEzMyBGIDUuMzYzKC5UKS0uNjUgRyAuMzYyCisoaGUgbGFzdCBjb21tYW5kIGluIHRoZSBoaXN0b3J5IGxpc3QgaXMpLTUuMzYzIEYocmVtbykxODAgMjE2IFEgLS4xNSh2ZSkKKy0uMTUgRyAyLjUoZGIpLjE1IEcoZWZvcmUgdGhlKS0yLjUgRSBGMihhcikyLjgzIEUoZ3MpLS4zNyBFIEYwCisoYXJlIGFkZGVkLikyLjc3IEUgLjE0NShJZiB0aGUpMTQ0IDIzMi44IFIvRjMgOS9UaW1lcy1Cb2xkQDAgU0YKKyhISVNUVElNRUZPUk1BKTIuNjQ1IEUoVCktLjg1NSBFIEYwIC0uMjUodmEpMi4zOTUgRyAuMTQ1CiAocmlhYmxlIGlzIHNldCwgdGhlIHRpbWUgc3RhbXAgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIGVhY2ggaGlzdG9yeSkKLS4yNSBGIC42NjkoZW50cnkgaXMgd3JpdHRlbiB0byB0aGUgaGlzdG9yeSBcMjE0bGUsIG1hcmspMTQ0IDk2IFIgLjY2OQorLjI1IEYgLjY2OShlbnRyeSBpcyB3cml0dGVuIHRvIHRoZSBoaXN0b3J5IFwyMTRsZSwgbWFyaykxNDQgMjQ0LjggUiAuNjY5CiAoZWQgd2l0aCB0aGUgaGlzdG9yeSBjb21tZW50IGNoYXJhY3RlciktLjEgRiA1LjY2OCguVyktLjU1IEcgLjY2OAotKGhlbiB0aGUgaGlzdG9yeSktNS42NjggRiAuOTU1KFwyMTRsZSBpcyByZWFkLCBsaW5lcyBiZSkxNDQgMTA4IFIgLjk1NgorKGhlbiB0aGUgaGlzdG9yeSktNS42NjggRiAuOTU1KFwyMTRsZSBpcyByZWFkLCBsaW5lcyBiZSkxNDQgMjU2LjggUiAuOTU2CiAoZ2lubmluZyB3aXRoIHRoZSBoaXN0b3J5IGNvbW1lbnQgY2hhcmFjdGVyIGZvbGxvKS0uMTUgRiAuOTU2CiAod2VkIGltbWVkaWF0ZWx5IGJ5IGEgZGlnaXQpLS4yNSBGIC40MTYKLShhcmUgaW50ZXJwcmV0ZWQgYXMgdGltZXN0YW1wcyBmb3IgdGhlIHByZSkxNDQgMTIwIFIgLjQxNgorKGFyZSBpbnRlcnByZXRlZCBhcyB0aW1lc3RhbXBzIGZvciB0aGUgcHJlKTE0NCAyNjguOCBSIC40MTYKICh2aW91cyBoaXN0b3J5IGxpbmUuKS0uMjUgRiAuNDE2KFRoZSByZXR1cm4gdik1LjQxNiBGIC40MTUKIChhbHVlIGlzIDAgdW5sZXNzIGFuIGluKS0uMjUgRiAtLjI1KHZhKS0uNCBHKGxpZCkuMjUgRSAuNDk5KG9wdGlvbiBpcyBlXAogbmNvdW50ZXJlZCwgYW4gZXJyb3Igb2NjdXJzIHdoaWxlIHJlYWRpbmcgb3Igd3JpdGluZyB0aGUgaGlzdG9yeSBcMjE0bGVcCi0sIGFuIGluKTE0NCAxMzIgUiAtLjI1KHZhKS0uNCBHKGxpZCkuMjUgRS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihvZikzIEUKLShmc2V0KS0uMTggRSBGMChpcykzIEUoc3VwcGxpZWQgYXMgYW4gYXIpMTQ0IDE0NCBRKGd1bWVudCB0byktLjE4IEUvRjMKLTEwL1RpbWVzLUJvbGRAMCBTRjxhZDY0PjIuNSBFIEYwIDIuNSgsbylDIDIuNShydCktMi41IEcoaGUgaGlzdG9yeSBlKQotLTIuNSBFKHhwYW5zaW9uIHN1cHBsaWVkIGFzIGFuIGFyKS0uMTUgRShndW1lbnQgdG8pLS4xOCBFIEYzPGFkNzA+Mi41IEUKLUYwIC0uMShmYSkyLjUgRyhpbHMuKS4xIEUgRjMoam9icykxMDggMTYwLjggUSBGMChbKTIuNSBFIEYzKFwyNTVsbnBycylBCi1GMCAyLjUoXVspQyBGMihqb2JzcGVjKUEgRjAoLi4uIF0pMi41IEUgRjMoam9icyBcMjU1eCkxMDggMTcyLjggUSBGMgotKGNvbW1hbmQpMi41IEUgRjAoWykyLjUgRSBGMihhcikyLjUgRShncyktLjM3IEUgRjAoLi4uIF0pMi41IEUKLShUaGUgXDIxNHJzdCBmb3JtIGxpc3RzIHRoZSBhY3RpKTE0NCAxODQuOCBRIC4zIC0uMTUodmUgaiktLjI1IEggMi41Ci0ob2JzLiBUaGUpLjE1IEYob3B0aW9ucyBoYSkyLjUgRSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUKLSh3aW5nIG1lYW5pbmdzOiktLjI1IEUgRjM8YWQ2Yz4xNDQgMTk2LjggUSBGMAotKExpc3QgcHJvY2VzcyBJRHMgaW4gYWRkaXRpb24gdG8gdGhlIG5vcm1hbCBpbmZvcm1hdGlvbi4pMjcuNTIgRSBGMwotPGFkNzA+MTQ0IDIwOC44IFEgRjAoTGlzdCBvbmx5IHRoZSBwcm9jZXNzIElEIG9mIHRoZSBqb2InKTI0Ljc0IEUgMi41Ci0oc3ApLS41NSBHKHJvY2VzcyBncm91cCBsZWFkZXIpLTIuNSBFKC4pLS41NSBFIEYzPGFkNmU+MTQ0IDIyMC44IFEgRjAKLS4xOTQoRGlzcGxheSBpbmZvcm1hdGlvbiBvbmx5IGFib3V0IGpvYnMgdGhhdCBoYSkyNC43NCBGIC40OTQgLS4xNSh2ZSBjKQotLS4yIEggLjE5MyhoYW5nZWQgc3RhdHVzIHNpbmNlIHRoZSB1c2VyIHcpLjE1IEYgLjE5MyhhcyBsYXN0IG5vdGktKS0uMSBGCi0oXDIxNGVkIG9mIHRoZWlyIHN0YXR1cy4pMTgwIDIzMi44IFEgRjM8YWQ3Mj4xNDQgMjQ0LjggUSBGMAotKFJlc3RyaWN0IG91dHB1dCB0byBydW5uaW5nIGpvYnMuKTI1Ljg2IEUgRjM8YWQ3Mz4xNDQgMjU2LjggUSBGMAotKFJlc3RyaWN0IG91dHB1dCB0byBzdG9wcGVkIGpvYnMuKTI2LjQxIEUoSWYpMTQ0IDI3My42IFEgRjIoam9ic3BlYykKKywgYW4gaW4pMTQ0IDI4MC44IFIgLS4yNSh2YSktLjQgRyhsaWQpLjI1IEUgRjIob2YpMyBFKGZzZXQpLS4xOCBFIEYwKGlzKQorMyBFKHN1cHBsaWVkIGFzIGFuIGFyKTE0NCAyOTIuOCBRKGd1bWVudCB0byktLjE4IEUgRjE8YWQ2ND4yLjUgRSBGMCAyLjUKKygsbylDIDIuNShydCktMi41IEcoaGUgaGlzdG9yeSBlKS0yLjUgRSh4cGFuc2lvbiBzdXBwbGllZCBhcyBhbiBhciktLjE1CitFKGd1bWVudCB0byktLjE4IEUgRjE8YWQ3MD4yLjUgRSBGMCAtLjEoZmEpMi41IEcoaWxzLikuMSBFIEYxKGpvYnMpMTA4CiszMDkuNiBRIEYwKFspMi41IEUgRjEoXDI1NWxucHJzKUEgRjAgMi41KF1bKUMgRjIoam9ic3BlYylBIEYwKC4uLiBdKTIuNQorRSBGMShqb2JzIFwyNTV4KTEwOCAzMjEuNiBRIEYyKGNvbW1hbmQpMi41IEUgRjAoWykyLjUgRSBGMihhcikyLjUgRShncykKKy0uMzcgRSBGMCguLi4gXSkyLjUgRShUaGUgXDIxNHJzdCBmb3JtIGxpc3RzIHRoZSBhY3RpKTE0NCAzMzMuNiBRIC4zCistLjE1KHZlIGopLS4yNSBIIDIuNShvYnMuIFRoZSkuMTUgRihvcHRpb25zIGhhKTIuNSBFIC4zIC0uMTUodmUgdCktLjIgSAorKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMTxhZDZjPjE0NCAzNDUuNiBRIEYwCisoTGlzdCBwcm9jZXNzIElEcyBpbiBhZGRpdGlvbiB0byB0aGUgbm9ybWFsIGluZm9ybWF0aW9uLikyNy41MiBFIEYxCis8YWQ2ZT4xNDQgMzU3LjYgUSBGMCAuMTk0KERpc3BsYXkgaW5mb3JtYXRpb24gb25seSBhYm91dCBqb2JzIHRoYXQgaGEpCisyNC43NCBGIC40OTQgLS4xNSh2ZSBjKS0uMiBIIC4xOTMoaGFuZ2VkIHN0YXR1cyBzaW5jZSB0aGUgdXNlciB3KS4xNSBGCisuMTkzKGFzIGxhc3Qgbm90aS0pLS4xIEYoXDIxNGVkIG9mIHRoZWlyIHN0YXR1cy4pMTgwIDM2OS42IFEgRjE8YWQ3MD4xNDQKKzM4MS42IFEgRjAoTGlzdCBvbmx5IHRoZSBwcm9jZXNzIElEIG9mIHRoZSBqb2InKTI0Ljc0IEUgMi41KHNwKS0uNTUgRworKHJvY2VzcyBncm91cCBsZWFkZXIpLTIuNSBFKC4pLS41NSBFIEYxPGFkNzI+MTQ0IDM5My42IFEgRjAKKyhSZXN0cmljdCBvdXRwdXQgdG8gcnVubmluZyBqb2JzLikyNS44NiBFIEYxPGFkNzM+MTQ0IDQwNS42IFEgRjAKKyhSZXN0cmljdCBvdXRwdXQgdG8gc3RvcHBlZCBqb2JzLikyNi40MSBFKElmKTE0NCA0MjIuNCBRIEYyKGpvYnNwZWMpCiA0LjU1MyBFIEYwIC4zMTMoaXMgZ2kpMy4xMjMgRiAtLjE1KHZlKS0uMjUgRyAuMzEzCiAobiwgb3V0cHV0IGlzIHJlc3RyaWN0ZWQgdG8gaW5mb3JtYXRpb24gYWJvdXQgdGhhdCBqb2IpLjE1IEYgNS4zMTQoLlQpCi0tLjQgRyAuMzE0KGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MpLTUuMzE0IEYoYW4gaW4pMTQ0IDI4NS42IFEgLS4yNQorLS40IEcgLjMxNChoZSByZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzKS01LjMxNCBGKGFuIGluKTE0NCA0MzQuNCBRIC0uMjUKICh2YSktLjQgRyhsaWQgb3B0aW9uIGlzIGVuY291bnRlcmVkIG9yIGFuIGluKS4yNSBFIC0uMjUodmEpLS40IEcobGlkKS4yNQotRSBGMihqb2JzcGVjKTQuMjQgRSBGMChpcyBzdXBwbGllZC4pMi44MSBFIC4zOTUoSWYgdGhlKTE0NCAzMDIuNCBSIEYzCi08YWQ3OD4yLjg5NSBFIEYwIC4zOTQob3B0aW9uIGlzIHN1cHBsaWVkLCkyLjg5NCBGIEYzKGpvYnMpMi44OTQgRSBGMAorRSBGMihqb2JzcGVjKTQuMjQgRSBGMChpcyBzdXBwbGllZC4pMi44MSBFIC4zOTUoSWYgdGhlKTE0NCA0NTEuMiBSIEYxCis8YWQ3OD4yLjg5NSBFIEYwIC4zOTQob3B0aW9uIGlzIHN1cHBsaWVkLCkyLjg5NCBGIEYxKGpvYnMpMi44OTQgRSBGMAogLjM5NChyZXBsYWNlcyBhbikyLjg5NCBGKHkpLS4xNSBFIEYyKGpvYnNwZWMpNC42MzQgRSBGMCAuMzk0KGZvdW5kIGluKQogMy4yMDQgRiBGMihjb21tYW5kKTMuMDk0IEUgRjAob3IpMy42NjQgRSBGMihhcikzLjIyNCBFKGdzKS0uMzcgRSBGMCAuMzk0Ci0od2l0aCB0aGUgY29ycmUtKTMuMTY0IEYoc3BvbmRpbmcgcHJvY2VzcyBncm91cCBJRCwgYW5kIGUpMTQ0IDMxNC40IFEKKyh3aXRoIHRoZSBjb3JyZS0pMy4xNjQgRihzcG9uZGluZyBwcm9jZXNzIGdyb3VwIElELCBhbmQgZSkxNDQgNDYzLjIgUQogLS4xNSh4ZSktLjE1IEcoY3V0ZXMpLjE1IEUgRjIoY29tbWFuZCkyLjcgRSBGMChwYXNzaW5nIGl0KTMuMjcgRSBGMihhcikKIDIuNSBFKGdzKS0uMzcgRSBGMCAyLjUoLHIpLjI3IEcoZXR1cm5pbmcgaXRzIGUpLTIuNSBFKHhpdCBzdGF0dXMuKS0uMTUgRQotRjMoa2lsbCkxMDggMzMxLjIgUSBGMChbKTIuNSBFIEYzPGFkNzM+QSBGMihzaWdzcGVjKTIuNSBFIEYwKHwpMi41IEUgRjMKLTxhZDZlPjIuNSBFIEYyKHNpZ251bSkyLjUgRSBGMCh8KTIuNSBFIEYzPGFkPjIuNSBFIEYyKHNpZ3NwZWMpQSBGMCAyLjUKLShdWylDIEYyKHBpZCktMi41IEUgRjAofCkyLjUgRSBGMihqb2JzcGVjKTIuNSBFIEYwIDIuNShdLilDKC4uKS0yLjUgRSBGMwotKGtpbGwgXDI1NWwpMTA4IDM0My4yIFEgRjAoWykyLjUgRSBGMihzaWdzcGVjKUEgRjAofCkyLjUgRSBGMiAtLjIoZXgpMi41Ci1HKGl0X3N0YXR1cykuMiBFIEYwKF0pQSAuMTE5KFNlbmQgdGhlIHNpZ25hbCBuYW1lZCBieSkxNDQgMzU1LjIgUiBGMgorRjEoa2lsbCkxMDggNDgwIFEgRjAoWykyLjUgRSBGMTxhZDczPkEgRjIoc2lnc3BlYykyLjUgRSBGMCh8KTIuNSBFIEYxCis8YWQ2ZT4yLjUgRSBGMihzaWdudW0pMi41IEUgRjAofCkyLjUgRSBGMTxhZD4yLjUgRSBGMihzaWdzcGVjKUEgRjAgMi41CisoXVspQyBGMihwaWQpLTIuNSBFIEYwKHwpMi41IEUgRjIoam9ic3BlYykyLjUgRSBGMCAyLjUoXS4pQyguLiktMi41IEUgRjEKKyhraWxsIFwyNTVsKTEwOCA0OTIgUSBGMChbKTIuNSBFIEYyKHNpZ3NwZWMpQSBGMCh8KTIuNSBFIEYyIC0uMihleCkyLjUgRworKGl0X3N0YXR1cykuMiBFIEYwKF0pQSAuMTE5KFNlbmQgdGhlIHNpZ25hbCBuYW1lZCBieSkxNDQgNTA0IFIgRjIKIChzaWdzcGVjKTIuOTU5IEUgRjAob3IpMi45MjkgRSBGMihzaWdudW0pMi45NTkgRSBGMCAuMTE5CiAodG8gdGhlIHByb2Nlc3NlcyBuYW1lZCBieSkyLjkzOSBGIEYyKHBpZCkzLjg3IEUgRjAob3IpMy4zOSBFIEYyCiAoam9ic3BlYykyLjYyIEUgRjAoLikuMzEgRSBGMihzaWdzcGVjKTUuNDYgRSBGMChpcykyLjkzIEUgLjMxOQotKGVpdGhlciBhIGNhc2UtaW5zZW5zaXRpKTE0NCAzNjcuMiBSIC42MTkgLS4xNSh2ZSBzKS0uMjUgSCAuMzE5Ci0oaWduYWwgbmFtZSBzdWNoIGFzKS4xNSBGIEYxKFNJR0tJTEwpMi44MTkgRSBGMCAuMzE4Ci0oXCh3aXRoIG9yIHdpdGhvdXQgdGhlKTIuNTY5IEYgRjEoU0lHKTIuODE4IEUgRjAgLjMxOAotKHByZVwyMTR4XCkgb3IgYSBzaWduYWwpMi41NjggRihudW1iZXI7KTE0NCAzNzkuMiBRIEYyKHNpZ251bSk0LjE4OCBFIEYwCisoZWl0aGVyIGEgY2FzZS1pbnNlbnNpdGkpMTQ0IDUxNiBSIC42MTkgLS4xNSh2ZSBzKS0uMjUgSCAuMzE5CisoaWduYWwgbmFtZSBzdWNoIGFzKS4xNSBGIEYzKFNJR0tJTEwpMi44MTkgRSBGMCAuMzE4CisoXCh3aXRoIG9yIHdpdGhvdXQgdGhlKTIuNTY5IEYgRjMoU0lHKTIuODE4IEUgRjAgLjMxOAorKHByZVwyMTR4XCkgb3IgYSBzaWduYWwpMi41NjggRihudW1iZXI7KTE0NCA1MjggUSBGMihzaWdudW0pNC4xODggRSBGMAogMS4zNDkoaXMgYSBzaWduYWwgbnVtYmVyKTQuMTY4IEYgNi4zNDkoLkkpLS41NSBHKGYpLTYuMzQ5IEUgRjIoc2lnc3BlYykKLTQuMTg5IEUgRjAgMS4zNDkoaXMgbm90IHByZXNlbnQsIHRoZW4pNC4xNTkgRiBGMShTSUdURVJNKTMuODQ5IEUgRjAKLTEuMzQ5KGlzIGFzc3VtZWQuKTMuNTk5IEYoQW4pNi4zNDkgRShhcikxNDQgMzkxLjIgUSAuNTIzKGd1bWVudCBvZiktLjE4Ci1GIEYzPGFkNmM+My4wMjMgRSBGMCAuNTIzKGxpc3RzIHRoZSBzaWduYWwgbmFtZXMuKTMuMDIzIEYgLjUyMyhJZiBhbikKLTUuNTIzIEYgMy4wMjMoeWEpLS4xNSBHIC0uMTgocmcpLTMuMDIzIEcgLjUyMyh1bWVudHMgYXJlIHN1cHBsaWVkIHdoZW4pCi0uMTggRiBGMzxhZDZjPjMuMDIzIEUgRjAgLjUyMyhpcyBnaSkzLjAyMyBGIC0uMTUodmUpLS4yNSBHIC41MjMKLShuLCB0aGUgbmFtZXMpLjE1IEYgLjI4KG9mIHRoZSBzaWduYWxzIGNvcnJlc3BvbmRpbmcgdG8gdGhlIGFyKTE0NCA0MDMuMgotUiAuMjgoZ3VtZW50cyBhcmUgbGlzdGVkLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pLS4xOCBGKFRoZSk1LjI4IEUKLUYyIC0uMihleCkyLjc4IEcoaXRfc3RhdHVzKS4yIEUgRjAoYXIpMTQ0IDQxNS4yIFEgLjM3OChndW1lbnQgdG8pLS4xOCBGCi1GMzxhZDZjPjIuODc4IEUgRjAgLjM3OAorNC4xODkgRSBGMCAxLjM0OShpcyBub3QgcHJlc2VudCwgdGhlbik0LjE1OSBGIEYzKFNJR1RFUk0pMy44NDkgRSBGMAorMS4zNDkoaXMgYXNzdW1lZC4pMy41OTkgRihBbik2LjM0OSBFKGFyKTE0NCA1NDAgUSAuNTIzKGd1bWVudCBvZiktLjE4IEYKK0YxPGFkNmM+My4wMjMgRSBGMCAuNTIzKGxpc3RzIHRoZSBzaWduYWwgbmFtZXMuKTMuMDIzIEYgLjUyMyhJZiBhbik1LjUyMworRiAzLjAyMyh5YSktLjE1IEcgLS4xOChyZyktMy4wMjMgRyAuNTIzKHVtZW50cyBhcmUgc3VwcGxpZWQgd2hlbikuMTggRgorRjE8YWQ2Yz4zLjAyMyBFIEYwIC41MjMoaXMgZ2kpMy4wMjMgRiAtLjE1KHZlKS0uMjUgRyAuNTIzKG4sIHRoZSBuYW1lcykKKy4xNSBGIC4yOChvZiB0aGUgc2lnbmFscyBjb3JyZXNwb25kaW5nIHRvIHRoZSBhcikxNDQgNTUyIFIgLjI4CisoZ3VtZW50cyBhcmUgbGlzdGVkLCBhbmQgdGhlIHJldHVybiBzdGF0dXMgaXMgMC4pLS4xOCBGKFRoZSk1LjI4IEUgRjIKKy0uMihleCkyLjc4IEcoaXRfc3RhdHVzKS4yIEUgRjAoYXIpMTQ0IDU2NCBRIC4zNzgoZ3VtZW50IHRvKS0uMTggRiBGMQorPGFkNmM+Mi44NzggRSBGMCAuMzc4CiAoaXMgYSBudW1iZXIgc3BlY2lmeWluZyBlaXRoZXIgYSBzaWduYWwgbnVtYmVyIG9yIHRoZSBlKTIuODc4IEYgLjM3NwotKHhpdCBzdGF0dXMgb2YgYSBwcm9jZXNzIHRlcm1pLSktLjE1IEYgLjU5MyhuYXRlZCBieSBhIHNpZ25hbC4pMTQ0IDQyNy4yCi1SIEYzKGtpbGwpNS41OTMgRSBGMCAuNTkzKHJldHVybnMgdHJ1ZSBpZiBhdCBsZWFzdCBvbmUgc2lnbmFsIHcpMy4wOTMgRgorKHhpdCBzdGF0dXMgb2YgYSBwcm9jZXNzIHRlcm1pLSktLjE1IEYgLjU5MyhuYXRlZCBieSBhIHNpZ25hbC4pMTQ0IDU3NiBSCitGMShraWxsKTUuNTkzIEUgRjAgLjU5MyhyZXR1cm5zIHRydWUgaWYgYXQgbGVhc3Qgb25lIHNpZ25hbCB3KTMuMDkzIEYKIC41OTMoYXMgc3VjY2Vzc2Z1bGx5IHNlbnQsIG9yIGYpLS4xIEYgLjU5NChhbHNlIGlmIGFuIGVycm9yKS0uMSBGCi0ob2NjdXJzIG9yIGFuIGluKTE0NCA0MzkuMiBRIC0uMjUodmEpLS40IEcobGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZC4pCi0uMjUgRSBGMyhsZXQpMTA4IDQ1NiBRIEYyKGFyKTIuNSBFKGcpLS4zNyBFIEYwKFspMi41IEUgRjIoYXIpQShnKS0uMzcgRQotRjAoLi4uXSkyLjUgRShFYWNoKTE0NCA0NjggUSBGMihhcikzLjAyNyBFKGcpLS4zNyBFIEYwIC4xOTcKKyhvY2N1cnMgb3IgYW4gaW4pMTQ0IDU4OCBRIC0uMjUodmEpLS40IEcobGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZC4pLjI1CitFIEYxKGxldCkxMDggNjA0LjggUSBGMihhcikyLjUgRShnKS0uMzcgRSBGMChbKTIuNSBFIEYyKGFyKUEoZyktLjM3IEUgRjAKKyguLi5dKTIuNSBFKEVhY2gpMTQ0IDYxNi44IFEgRjIoYXIpMy4wMjcgRShnKS0uMzcgRSBGMCAuMTk3CiAoaXMgYW4gYXJpdGhtZXRpYyBlKTIuOTE3IEYgLjE5Nyh4cHJlc3Npb24gdG8gYmUgZSktLjE1IEYgLS4yNSh2YSktLjI1IEcKLS4xOTYobHVhdGVkIFwoc2VlKS4yNSBGIEYxIC4xOTYoQVJJVEhNRVRJQyBFVikyLjY5NiBGKEFMVSktMS4yMTUgRSAtLjg1NQorLjE5NihsdWF0ZWQgXChzZWUpLjI1IEYgRjMgLjE5NihBUklUSE1FVElDIEVWKTIuNjk2IEYoQUxVKS0xLjIxNSBFIC0uODU1CiAoQVQpLS41NCBHKElPTikuODU1IEUgRjAoYWJvKTIuNDQ2IEUgLS4xNSh2ZSktLjE1IEcgMi42OTYoXCkuIElmKS4xNSBGCi0odGhlIGxhc3QpMTQ0IDQ4MCBRIEYyKGFyKTIuODMgRShnKS0uMzcgRSBGMCAtLjI1KGV2YSkyLjcyIEcKLShsdWF0ZXMgdG8gMCwpLjI1IEUgRjMobGV0KTIuNSBFIEYwKHJldHVybnMgMTsgMCBpcyByZXR1cm5lZCBvdGhlcndpc2UuKQotMi41IEUgRjMobG9jYWwpMTA4IDQ5Ni44IFEgRjAoWykyLjUgRSBGMihvcHRpb24pQSBGMCAyLjUoXVspQyBGMihuYW1lKQotLTIuNSBFIEYwKFs9KUEgRjIodmFsdWUpQSBGMCAyLjUoXS4pQyguLl0pLTIuNSBFIC0uMTUoRm8pMTQ0IDUwOC44IFMKKyh0aGUgbGFzdCkxNDQgNjI4LjggUSBGMihhcikyLjgzIEUoZyktLjM3IEUgRjAgLS4yNShldmEpMi43MiBHCisobHVhdGVzIHRvIDAsKS4yNSBFIEYxKGxldCkyLjUgRSBGMChyZXR1cm5zIDE7IDAgaXMgcmV0dXJuZWQgb3RoZXJ3aXNlLikKKzIuNSBFIEYxKGxvY2FsKTEwOCA2NDUuNiBRIEYwKFspMi41IEUgRjIob3B0aW9uKUEgRjAgMi41KF1bKUMgRjIobmFtZSkKKy0yLjUgRSBGMChbPSlBIEYyKHZhbHVlKUEgRjAgMi41KF0uKUMoLi5dKS0yLjUgRSAtLjE1KEZvKTE0NCA2NTcuNiBTCiAyLjU2KHJlKS4xNSBHIC4wNihhY2ggYXIpLTIuNTYgRiAuMDYoZ3VtZW50LCBhIGxvY2FsIHYpLS4xOCBGIC4wNgogKGFyaWFibGUgbmFtZWQpLS4yNSBGIEYyKG5hbWUpMi45MiBFIEYwIC4wNihpcyBjcmVhdGVkLCBhbmQgYXNzaWduZWQpCiAyLjc0IEYgRjIodmFsdWUpMi41NiBFIEYwIDUuMDYoLlQpLjE4IEcoaGUpLTUuMDYgRSBGMihvcHRpb24pMi41NiBFIEYwCi0uMDYoY2FuIGJlKTIuNTYgRihhbikxNDQgNTIwLjggUSAzLjE1Myh5byktLjE1IEcgMy4xNTMoZnQpLTMuMTUzIEcgLjY1MwotKGhlIG9wdGlvbnMgYWNjZXB0ZWQgYnkpLTMuMTUzIEYgRjMoZGVjbGFyKTMuMTUzIEUoZSktLjE4IEUgRjAgNS42NTIoLlcpCi1DKGhlbiktNS42NTIgRSBGMyhsb2NhbCkzLjE1MiBFIEYwIC42NTIKKy4wNihjYW4gYmUpMi41NiBGKGFuKTE0NCA2NjkuNiBRIDMuMTUzKHlvKS0uMTUgRyAzLjE1MyhmdCktMy4xNTMgRyAuNjUzCisoaGUgb3B0aW9ucyBhY2NlcHRlZCBieSktMy4xNTMgRiBGMShkZWNsYXIpMy4xNTMgRShlKS0uMTggRSBGMCA1LjY1MiguVykKK0MoaGVuKS01LjY1MiBFIEYxKGxvY2FsKTMuMTUyIEUgRjAgLjY1MgogKGlzIHVzZWQgd2l0aGluIGEgZnVuY3Rpb24sIGl0IGNhdXNlcyB0aGUgdikzLjE1MiBGKGFyaS0pLS4yNSBFKGFibGUpMTQ0Ci01MzIuOCBRIEYyKG5hbWUpMy43MiBFIEYwIC44Nih0byBoYSkzLjU0IEYgMS4xNiAtLjE1KHZlIGEgdiktLjIgSCAuODYxCis2ODEuNiBRIEYyKG5hbWUpMy43MiBFIEYwIC44Nih0byBoYSkzLjU0IEYgMS4xNiAtLjE1KHZlIGEgdiktLjIgSCAuODYxCiAoaXNpYmxlIHNjb3BlIHJlc3RyaWN0ZWQgdG8gdGhhdCBmdW5jdGlvbiBhbmQgaXRzIGNoaWxkcmVuLikuMTUgRiAtLjQKLShXaSk1Ljg2MSBHIC44NjEodGggbm8gb3BlcmFuZHMsKS40IEYgRjMobG9jYWwpMTQ0IDU0NC44IFEgRjAgMS4xNjUKKyhXaSk1Ljg2MSBHIC44NjEodGggbm8gb3BlcmFuZHMsKS40IEYgRjEobG9jYWwpMTQ0IDY5My42IFEgRjAgMS4xNjUKICh3cml0ZXMgYSBsaXN0IG9mIGxvY2FsIHYpMy42NjUgRiAxLjE2NQogKGFyaWFibGVzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuKS0uMjUgRiAxLjE2NShJdCBpcyBhbiBlcnJvciB0byB1c2UpCi02LjE2NSBGIEYzKGxvY2FsKTMuNjY0IEUgRjAgMS4xNjQod2hlbiBub3QpMy42NjQgRiAuMjMyCi0od2l0aGluIGEgZnVuY3Rpb24uKTE0NCA1NTYuOCBSIC4yMzMoVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MpNS4yMzIKLUYgRjMobG9jYWwpMi43MzMgRSBGMCAuMjMzKGlzIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uLCBhbiBpbikyLjczMyBGCis2LjE2NSBGIEYxKGxvY2FsKTMuNjY0IEUgRjAgMS4xNjQod2hlbiBub3QpMy42NjQgRiAuMjMyCisod2l0aGluIGEgZnVuY3Rpb24uKTE0NCA3MDUuNiBSIC4yMzMoVGhlIHJldHVybiBzdGF0dXMgaXMgMCB1bmxlc3MpNS4yMzIKK0YgRjEobG9jYWwpMi43MzMgRSBGMCAuMjMzKGlzIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uLCBhbiBpbikyLjczMyBGCiAtLjI1KHZhKS0uNCBHKGxpZCkuMjUgRSBGMihuYW1lKTMuMDkzIEUgRjAoaXMpMi45MTMgRShzdXBwbGllZCwgb3IpMTQ0Ci01NjguOCBRIEYyKG5hbWUpMi41IEUgRjAoaXMgYSByZWFkb25seSB2KTIuNSBFKGFyaWFibGUuKS0uMjUgRSBGMwotKGxvZ291dCkxMDggNTg1LjYgUSBGMChFeGl0IGEgbG9naW4gc2hlbGwuKTkuMzMgRSBGMyhtYXBcMjE0bGUpMTA4IDYwMi40Ci1RIEYwKFspMi41IEUgRjM8YWQ2ZT5BIEYyKGNvdW50KTIuNSBFIEYwIDIuNShdWylDIEYzPGFkNGY+LTIuNSBFIEYyCi0ob3JpZ2luKTIuNSBFIEYwIDIuNShdWylDIEYzPGFkNzM+LTIuNSBFIEYyKGNvdW50KTIuNSBFIEYwIDIuNShdWylDIEYzCi08YWQ3ND4tMi41IEUgRjAgMi41KF1bKUMgRjM8YWQ3NT4tMi41IEUgRjIoZmQpMi41IEUgRjAgMi41KF1bKUMgRjM8YWQ0Mz4KLS0yLjUgRSBGMihjYWxsYmFjKTIuNSBFKGspLS4yIEUgRjAgMi41KF1bKUMgRjM8YWQ2Mz4tMi41IEUgRjIocXVhbnR1bSkKLTIuNSBFIEYwIDIuNShdWylDIEYyKGFyciktMi41IEUoYXkpLS4xNSBFIEYwKF0pQSBGMyAtLjE4KHJlKTEwOCA2MTQuNCBTCi0oYWRhcnJheSkuMTggRSBGMChbKTIuNSBFIEYzPGFkNmU+QSBGMihjb3VudCkyLjUgRSBGMCAyLjUoXVspQyBGMzxhZDRmPgotLTIuNSBFIEYyKG9yaWdpbikyLjUgRSBGMCAyLjUoXVspQyBGMzxhZDczPi0yLjUgRSBGMihjb3VudCkyLjUgRSBGMCAyLjUKLShdWylDIEYzPGFkNzQ+LTIuNSBFIEYwIDIuNShdWylDIEYzPGFkNzU+LTIuNSBFIEYyKGZkKTIuNSBFIEYwIDIuNShdWylDCi1GMzxhZDQzPi0yLjUgRSBGMihjYWxsYmFjKTIuNSBFKGspLS4yIEUgRjAgMi41KF1bKUMgRjM8YWQ2Mz4tMi41IEUgRjIKLShxdWFudHVtKTIuNSBFIEYwIDIuNShdWylDIEYyKGFyciktMi41IEUoYXkpLS4xNSBFIEYwKF0pQSAuMzUxCi0oUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRlKTE0NCA2MjYuNCBSIC0uMTUoeGUpCi0tLjE1IEcgMi44NTEoZGEpLjE1IEcgLjM1MShycmF5IHYpLTIuODUxIEYoYXJpYWJsZSktLjI1IEUgRjIoYXJyKTIuODUgRQotKGF5KS0uMTUgRSBGMCAyLjg1KCxvKS4zMiBHIDIuODUocmYpLTIuODUgRyAuMzUocm9tIFwyMTRsZSBkZXNjcmlwdG9yKQotLTIuODUgRiBGMihmZCkyLjg1IEUgRjAgMS4yNDgoaWYgdGhlKTE0NCA2MzguNCBSIEYzPGFkNzU+My43NDggRSBGMAotMS4yNDgob3B0aW9uIGlzIHN1cHBsaWVkLikzLjc0OCBGIDEuMjQ5KFRoZSB2KTYuMjQ5IEYoYXJpYWJsZSktLjI1IEUgRjEKLShNQVBGSUxFKTMuNzQ5IEUgRjAgMS4yNDkoaXMgdGhlIGRlZikzLjQ5OSBGKGF1bHQpLS4xIEUgRjIoYXJyKTMuNzQ5IEUKLShheSktLjE1IEUgRjAgNi4yNDkoLk8pQyAxLjI0OShwdGlvbnMsIGlmIHN1cHBsaWVkLCktNi4yNDkgRihoYSkxNDQKLTY1MC40IFEgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMzxhZDZlPgotMTQ0IDY2Mi40IFEgRjAoQ29wKTI0Ljc0IEUgMi41KHlhKS0uMSBHIDIuNSh0bSktMi41IEcob3N0KS0yLjUgRSBGMgotKGNvdW50KTIuNyBFIEYwIDIuNShsaW5lcy4gSWYpMy4xOCBGIEYyKGNvdW50KTIuNSBFIEYwCi0oaXMgMCwgYWxsIGxpbmVzIGFyZSBjb3BpZWQuKTIuNSBFIEYzPGFkNGY+MTQ0IDY3NC40IFEgRjAoQmUpMjIuNTIgRQotKGdpbiBhc3NpZ25pbmcgdG8pLS4xNSBFIEYyKGFycikyLjgzIEUoYXkpLS4xNSBFIEYwKGF0IGluZGUpMi44MiBFKHgpCi0tLjE1IEUgRjIob3JpZ2luKTIuNSBFIEYwIDUoLlQpLjI0IEcoaGUgZGVmKS01IEUoYXVsdCBpbmRlKS0uMSBFIDIuNSh4aSkKLS0uMTUgRyAyLjUoczApLTIuNSBHKC4pLTIuNSBFIEYzPGFkNzM+MTQ0IDY4Ni40IFEgRjAKLShEaXNjYXJkIHRoZSBcMjE0cnN0KTI2LjQxIEUgRjIoY291bnQpMi41IEUgRjAobGluZXMgcmVhZC4pMi41IEUgRjMKLTxhZDc0PjE0NCA2OTguNCBRIEYwKFJlbW8pMjYuOTcgRSAuMyAtLjE1KHZlIGEgdCktLjE1IEgocmFpbGluZyBuZSkuMTUgRQotKHdsaW5lIGZyb20gZWFjaCBsaW5lIHJlYWQuKS0uMjUgRSBGMzxhZDc1PjE0NCA3MTAuNCBRIEYwCi0oUmVhZCBsaW5lcyBmcm9tIFwyMTRsZSBkZXNjcmlwdG9yKTI0Ljc0IEUgRjIoZmQpMi41IEUgRjAKLShpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCBpbnB1dC4pMi41IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKQotMTQ4LjczNSBFKDEwKTE5OC43MjUgRSAwIENnIEVQCis3MTcuNiBRIEYyKG5hbWUpMi41IEUgRjAoaXMgYSByZWFkb25seSB2KTIuNSBFKGFyaWFibGUuKS0uMjUgRQorKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMTApMTk4LjcyNSBFIDAgQ2cgRVAKICUlUGFnZTogMTEgMTEKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTKFNIX0IpLjM1IEUoVUlMKS0uMSBFIDI5MC40OAogKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUvRjEgMTAKLS9UaW1lcy1Cb2xkQDAgU0Y8YWQ0Mz4xNDQgODQgUSBGMChFdikyMy4wOCBFKGFsdWF0ZSktLjI1IEUvRjIgMTAKLS9UaW1lcy1JdGFsaWNAMCBTRihjYWxsYmFjKTIuNyBFKGspLS4yIEUgRjAoZWFjaCB0aW1lKTMuMTcgRSBGMihxdWFudHVtKQorL1RpbWVzLUJvbGRAMCBTRihsb2dvdXQpMTA4IDg0IFEgRjAoRXhpdCBhIGxvZ2luIHNoZWxsLik5LjMzIEUgRjEKKyhtYXBcMjE0bGUpMTA4IDEwMC44IFEgRjAoWykyLjUgRSBGMTxhZDZlPkEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YKKyhjb3VudCkyLjUgRSBGMCAyLjUoXVspQyBGMTxhZDRmPi0yLjUgRSBGMihvcmlnaW4pMi41IEUgRjAgMi41KF1bKUMgRjEKKzxhZDczPi0yLjUgRSBGMihjb3VudCkyLjUgRSBGMCAyLjUoXVspQyBGMTxhZDc0Pi0yLjUgRSBGMCAyLjUoXVspQyBGMQorPGFkNzU+LTIuNSBFIEYyKGZkKTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNDM+LTIuNSBFIEYyKGNhbGxiYWMpMi41IEUoaykKKy0uMiBFIEYwIDIuNShdWylDIEYxPGFkNjM+LTIuNSBFIEYyKHF1YW50dW0pMi41IEUgRjAgMi41KF1bKUMgRjIoYXJyKQorLTIuNSBFKGF5KS0uMTUgRSBGMChdKUEgRjEgLS4xOChyZSkxMDggMTEyLjggUyhhZGFycmF5KS4xOCBFIEYwKFspMi41IEUKK0YxPGFkNmU+QSBGMihjb3VudCkyLjUgRSBGMCAyLjUoXVspQyBGMTxhZDRmPi0yLjUgRSBGMihvcmlnaW4pMi41IEUgRjAKKzIuNShdWylDIEYxPGFkNzM+LTIuNSBFIEYyKGNvdW50KTIuNSBFIEYwIDIuNShdWylDIEYxPGFkNzQ+LTIuNSBFIEYwIDIuNQorKF1bKUMgRjE8YWQ3NT4tMi41IEUgRjIoZmQpMi41IEUgRjAgMi41KF1bKUMgRjE8YWQ0Mz4tMi41IEUgRjIoY2FsbGJhYykKKzIuNSBFKGspLS4yIEUgRjAgMi41KF1bKUMgRjE8YWQ2Mz4tMi41IEUgRjIocXVhbnR1bSkyLjUgRSBGMCAyLjUoXVspQyBGMgorKGFyciktMi41IEUoYXkpLS4xNSBFIEYwKF0pQSAuMzUxCisoUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRlKTE0NCAxMjQuOCBSIC0uMTUoeGUpCistLjE1IEcgMi44NTEoZGEpLjE1IEcgLjM1MShycmF5IHYpLTIuODUxIEYoYXJpYWJsZSktLjI1IEUgRjIoYXJyKTIuODUgRQorKGF5KS0uMTUgRSBGMCAyLjg1KCxvKS4zMiBHIDIuODUocmYpLTIuODUgRyAuMzUocm9tIFwyMTRsZSBkZXNjcmlwdG9yKQorLTIuODUgRiBGMihmZCkyLjg1IEUgRjAgMS4yNDgoaWYgdGhlKTE0NCAxMzYuOCBSIEYxPGFkNzU+My43NDggRSBGMAorMS4yNDgob3B0aW9uIGlzIHN1cHBsaWVkLikzLjc0OCBGIDEuMjQ5KFRoZSB2KTYuMjQ5IEYoYXJpYWJsZSktLjI1IEUvRjMKKzkvVGltZXMtQm9sZEAwIFNGKE1BUEZJTEUpMy43NDkgRSBGMCAxLjI0OShpcyB0aGUgZGVmKTMuNDk5IEYoYXVsdCktLjEgRQorRjIoYXJyKTMuNzQ5IEUoYXkpLS4xNSBFIEYwIDYuMjQ5KC5PKUMgMS4yNDkocHRpb25zLCBpZiBzdXBwbGllZCwpLTYuMjQ5CitGKGhhKTE0NCAxNDguOCBRIC4zIC0uMTUodmUgdCktLjIgSChoZSBmb2xsbykuMTUgRSh3aW5nIG1lYW5pbmdzOiktLjI1IEUKK0YxPGFkNmU+MTQ0IDE2MC44IFEgRjAoQ29wKTI0Ljc0IEUgMi41KHlhKS0uMSBHIDIuNSh0bSktMi41IEcob3N0KS0yLjUgRQorRjIoY291bnQpMi43IEUgRjAgMi41KGxpbmVzLiBJZikzLjE4IEYgRjIoY291bnQpMi41IEUgRjAKKyhpcyAwLCBhbGwgbGluZXMgYXJlIGNvcGllZC4pMi41IEUgRjE8YWQ0Zj4xNDQgMTcyLjggUSBGMChCZSkyMi41MiBFCisoZ2luIGFzc2lnbmluZyB0byktLjE1IEUgRjIoYXJyKTIuODMgRShheSktLjE1IEUgRjAoYXQgaW5kZSkyLjgyIEUoeCkKKy0uMTUgRSBGMihvcmlnaW4pMi41IEUgRjAgNSguVCkuMjQgRyhoZSBkZWYpLTUgRShhdWx0IGluZGUpLS4xIEUgMi41KHhpKQorLS4xNSBHIDIuNShzMCktMi41IEcoLiktMi41IEUgRjE8YWQ3Mz4xNDQgMTg0LjggUSBGMAorKERpc2NhcmQgdGhlIFwyMTRyc3QpMjYuNDEgRSBGMihjb3VudCkyLjUgRSBGMChsaW5lcyByZWFkLikyLjUgRSBGMQorPGFkNzQ+MTQ0IDE5Ni44IFEgRjAoUmVtbykyNi45NyBFIC4zIC0uMTUodmUgYSB0KS0uMTUgSChyYWlsaW5nIG5lKS4xNSBFCisod2xpbmUgZnJvbSBlYWNoIGxpbmUgcmVhZC4pLS4yNSBFIEYxPGFkNzU+MTQ0IDIwOC44IFEgRjAKKyhSZWFkIGxpbmVzIGZyb20gXDIxNGxlIGRlc2NyaXB0b3IpMjQuNzQgRSBGMihmZCkyLjUgRSBGMAorKGluc3RlYWQgb2YgdGhlIHN0YW5kYXJkIGlucHV0LikyLjUgRSBGMTxhZDQzPjE0NCAyMjAuOCBRIEYwKEV2KTIzLjA4IEUKKyhhbHVhdGUpLS4yNSBFIEYyKGNhbGxiYWMpMi43IEUoayktLjIgRSBGMChlYWNoIHRpbWUpMy4xNyBFIEYyKHF1YW50dW0pCiAyLjUgRSBGMChsaW5lcyBhcmUgcmVhZC4pMi41IEUoVGhlKTUgRSBGMTxhZDYzPjIuNSBFIEYwCi0ob3B0aW9uIHNwZWNpXDIxNGVzKTIuNSBFIEYyKHF1YW50dW0pMi41IEUgRjAoLikuMzIgRSBGMTxhZDYzPjE0NCA5NiBRCi1GMChTcGVjaWZ5IHRoZSBudW1iZXIgb2YgbGluZXMgcmVhZCBiZXR3ZWVuIGVhY2ggY2FsbCB0bykyNS44NiBFIEYyCi0oY2FsbGJhYykyLjUgRShrKS0uMiBFIEYwKC4pLjY3IEUoSWYpMTQ0IDExMi44IFEgRjE8YWQ0Mz4yLjk2OCBFIEYwIC40NjcKKyhvcHRpb24gc3BlY2lcMjE0ZXMpMi41IEUgRjIocXVhbnR1bSkyLjUgRSBGMCguKS4zMiBFIEYxPGFkNjM+MTQ0IDIzMi44CitRIEYwKFNwZWNpZnkgdGhlIG51bWJlciBvZiBsaW5lcyByZWFkIGJldHdlZW4gZWFjaCBjYWxsIHRvKTI1Ljg2IEUgRjIKKyhjYWxsYmFjKTIuNSBFKGspLS4yIEUgRjAoLikuNjcgRShJZikxNDQgMjQ5LjYgUSBGMTxhZDQzPjIuOTY4IEUgRjAgLjQ2NwogKGlzIHNwZWNpXDIxNGVkIHdpdGhvdXQpMi45NjcgRiBGMTxhZDYzPjIuOTY3IEUgRjAgMi45NjcoLHQpQyAuNDY3CiAoaGUgZGVmKS0yLjk2NyBGIC40NjcoYXVsdCBxdWFudHVtIGlzIDUwMDAuKS0uMSBGKFdoZW4pNS40NjcgRSBGMgogKGNhbGxiYWMpMi45NjcgRShrKS0uMiBFIEYwIC40NjcoaXMgZSkyLjk2NyBGIC0uMjUodmEpLS4yNSBHIC40NjcKLShsdWF0ZWQsIGl0IGlzIHN1cC0pLjI1IEYgMS4yMihwbGllZCB0aGUgaW5kZSkxNDQgMTI0LjggUiAzLjcyKHhvKS0uMTUgRwotMy43MihmdCktMy43MiBHIDEuMjIoaGUgbmUpLTMuNzIgRiAxLjIyCi0oeHQgYXJyYXkgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyKS0uMTUgRihndW1lbnQuKS0uMTgKLUUgRjIoY2FsbGJhYyk2LjIyIEUoayktLjIgRSBGMChpcykzLjcyIEUgLS4yNShldmEpMTQ0IDEzNi44IFMKLShsdWF0ZWQgYWZ0ZXIgdGhlIGxpbmUgaXMgcmVhZCBiKS4yNSBFCi0odXQgYmVmb3JlIHRoZSBhcnJheSBlbGVtZW50IGlzIGFzc2lnbmVkLiktLjIgRQotKElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGUpMTQ0IDE1My42IFEoeHBsaWNpdCBvcmlnaW4sKS0uMTUgRSBGMQorKGx1YXRlZCwgaXQgaXMgc3VwLSkuMjUgRiAuMjYxKHBsaWVkIHRoZSBpbmRlKTE0NCAyNjEuNiBSIDIuNzYxKHhvKS0uMTUKK0cgMi43NjEoZnQpLTIuNzYxIEcgLjI2MShoZSBuZSktMi43NjEgRiAuMjYyKHh0IGFycmF5IGVsZW1lbnQgdG8gYmUgYXNzXAoraWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudCktLjE1IEYgLjI3NQorKGFzIGFkZGl0aW9uYWwgYXIpMTQ0IDI3My42IFIoZ3VtZW50cy4pLS4xOCBFIEYyKGNhbGxiYWMpNS4yNzUgRShrKS0uMiBFCitGMCAuMjc1KGlzIGUpMi43NzUgRiAtLjI1KHZhKS0uMjUgRyAuMjc0CisobHVhdGVkIGFmdGVyIHRoZSBsaW5lIGlzIHJlYWQgYikuMjUgRiAuMjc0CisodXQgYmVmb3JlIHRoZSBhcnJheSBlbGVtZW50IGlzKS0uMiBGKGFzc2lnbmVkLikxNDQgMjg1LjYgUQorKElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGUpMTQ0IDMwMi40IFEoeHBsaWNpdCBvcmlnaW4sKS0uMTUgRSBGMQogKG1hcFwyMTRsZSkyLjUgRSBGMCh3aWxsIGNsZWFyKTIuNSBFIEYyKGFycikyLjUgRShheSktLjE1IEUgRjAKLShiZWZvcmUgYXNzaWduaW5nIHRvIGl0LikyLjUgRSBGMShtYXBcMjE0bGUpMTQ0IDE3MC40IFEgRjAgMS45MDYKLShyZXR1cm5zIHN1Y2Nlc3NmdWxseSB1bmxlc3MgYW4gaW4pNC40MDYgRiAtLjI1KHZhKS0uNCBHIDEuOTA1Ci0obGlkIG9wdGlvbiBvciBvcHRpb24gYXIpLjI1IEYgMS45MDUoZ3VtZW50IGlzIHN1cHBsaWVkLCktLjE4IEYgRjIoYXJyKQotNC40MDUgRShheSktLjE1IEUgRjAoaXMpNC40MDUgRShpbikxNDQgMTgyLjQgUSAtLjI1KHZhKS0uNCBHCisoYmVmb3JlIGFzc2lnbmluZyB0byBpdC4pMi41IEUgRjEobWFwXDIxNGxlKTE0NCAzMTkuMiBRIEYwIDEuOTA1CisocmV0dXJucyBzdWNjZXNzZnVsbHkgdW5sZXNzIGFuIGluKTQuNDA1IEYgLS4yNSh2YSktLjQgRyAxLjkwNQorKGxpZCBvcHRpb24gb3Igb3B0aW9uIGFyKS4yNSBGIDEuOTA2KGd1bWVudCBpcyBzdXBwbGllZCwpLS4xOCBGIEYyKGFycikKKzQuNDA2IEUoYXkpLS4xNSBFIEYwKGlzKTQuNDA2IEUoaW4pMTQ0IDMzMS4yIFEgLS4yNSh2YSktLjQgRwogKGxpZCBvciB1bmFzc2lnbmFibGUsIG9yIGlmKS4yNSBFIEYyKGFycikyLjUgRShheSktLjE1IEUgRjAKIChpcyBub3QgYW4gaW5kZSkyLjUgRSAtLjE1KHhlKS0uMTUgRyAyLjUoZGEpLjE1IEcocnJheSktMi41IEUoLiktLjY1IEUKLUYxKHBvcGQpMTA4IDE5OS4yIFEgRjA8NWJhZD4yLjUgRSBGMShuKUEgRjAgMi41KF1bKUMoKyktMi41IEUgRjIobilBIEYwCi0yLjUoXVspQzxhZD4tMi41IEUgRjIobilBIEYwKF0pQShSZW1vKTE0NCAyMTEuMiBRIC0uMTUodmUpLS4xNSBHIDIuNzk5Ci0oc2UpLjE1IEcgLjI5OShudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiktMi43OTkgRiAtLjQoV2kpNS4yOTkgRwotLjI5OSh0aCBubyBhcikuNCBGIC4yOTkoZ3VtZW50cywgcmVtbyktLjE4IEYgLS4xNSh2ZSktLjE1IEcgMi43OTkoc3QpLjE1Ci1HIC4zKGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUpLTIuNzk5IEYgMS40Nzkoc3RhY2ssIGFuZCBwZXJmb3JtcyBhKTE0NAotMjIzLjIgUiBGMShjZCkzLjk3OSBFIEYwIDEuNDc5KHRvIHRoZSBuZSkzLjk3OSBGIDMuOTc5KHd0KS0uMjUgRyAxLjQ3OQotKG9wIGRpcmVjdG9yeSktMy45NzkgRiA2LjQ3OSguQSktLjY1IEcgLS4xOChyZyktNi40NzkgRyAxLjQ3OAotKHVtZW50cywgaWYgc3VwcGxpZWQsIGhhKS4xOCBGIDEuNzc4IC0uMTUodmUgdCktLjIgSCAxLjQ3OChoZSBmb2xsbykuMTUKLUYod2luZyktLjI1IEUobWVhbmluZ3M6KTE0NCAyMzUuMiBRIEYxPGFkNmU+MTQ0IDI0Ny4yIFEgRjAgLjU1MQorRjEocG9wZCkxMDggMzQ4IFEgRjA8NWJhZD4yLjUgRSBGMShuKUEgRjAgMi41KF1bKUMoKyktMi41IEUgRjIobilBIEYwCisyLjUoXVspQzxhZD4tMi41IEUgRjIobilBIEYwKF0pQShSZW1vKTE0NCAzNjAgUSAtLjE1KHZlKS0uMTUgRyAyLjgoc2UpCisuMTUgRyAuMyhudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiktMi44IEYgLS40KFdpKTUuMjk5IEcgLjI5OQorKHRoIG5vIGFyKS40IEYgLjI5OShndW1lbnRzLCByZW1vKS0uMTggRiAtLjE1KHZlKS0uMTUgRyAyLjc5OShzdCkuMTUgRworLjI5OShoZSB0b3AgZGlyZWN0b3J5IGZyb20gdGhlKS0yLjc5OSBGIDEuNDc4KHN0YWNrLCBhbmQgcGVyZm9ybXMgYSkxNDQKKzM3MiBSIEYxKGNkKTMuOTc4IEUgRjAgMS40NzkodG8gdGhlIG5lKTMuOTc4IEYgMy45Nzkod3QpLS4yNSBHIDEuNDc5Cisob3AgZGlyZWN0b3J5KS0zLjk3OSBGIDYuNDc5KC5BKS0uNjUgRyAtLjE4KHJnKS02LjQ3OSBHIDEuNDc5CisodW1lbnRzLCBpZiBzdXBwbGllZCwgaGEpLjE4IEYgMS43NzkgLS4xNSh2ZSB0KS0uMiBIIDEuNDc5KGhlIGZvbGxvKS4xNQorRih3aW5nKS0uMjUgRShtZWFuaW5nczopMTQ0IDM4NCBRIEYxPGFkNmU+MTQ0IDM5NiBRIEYwIC41NTEKIChTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3aGVuIHJlbW8pMjQuNzQgRiAuNTUxCiAodmluZyBkaXJlY3RvcmllcyBmcm9tIHRoZSBzdGFjaywgc28pLS4xNSBGCi0odGhhdCBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC4pMTgwIDI1OS4yIFEgRjEoKykxNDQgMjcxLjIgUSBGMihuKUEKLUYwKFJlbW8pMjUuMyBFIC0uMTUodmUpLS4xNSBHIDIuNjQoc3QpLjE1IEcoaGUpLTIuNjQgRSBGMihuKTIuNjQgRSBGMAotLjE0KHRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvKUIgLjE0KHduIGJ5KS0uMjUgRgotRjEoZGlycykyLjY0IEUgRjAgMi42NCgscylDIC4xNCh0YXJ0aW5nIHdpdGggemVyby4pLTIuNjQgRiAtLjE1KEZvKTE4MAotMjgzLjIgUyAyLjUocmUpLjE1IEcoeGFtcGxlOiktMi42NSBFL0YzIDEwL0NvdXJpZXJAMCBTRihwb3BkICswKTIuNSBFIEYwCi0ocmVtbykyLjUgRSAtLjE1KHZlKS0uMTUgRyAyLjUoc3QpLjE1IEcoaGUgXDIxNHJzdCBkaXJlY3RvcnkpLTIuNSBFKCwpCi0tLjY1IEUgRjMocG9wZCArMSkyLjUgRSBGMCh0aGUgc2Vjb25kLikyLjUgRSBGMTxhZD4xNDQgMjk1LjIgUSBGMihuKUEgRjAKLShSZW1vKTI1LjMgRSAtLjE1KHZlKS0uMTUgRyAzLjc1OShzdCkuMTUgRyhoZSktMy43NTkgRSBGMihuKTMuNzU5IEUgRjAKLTEuMjU5KHRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNobylCIDEuMjYod24gYnkpLS4yNQotRiBGMShkaXJzKTMuNzYgRSBGMCAzLjc2KCxzKUMgMS4yNih0YXJ0aW5nIHdpdGgpLTMuNzYgRiAyLjUoemVyby4gRikxODAKLTMwNy4yIFIob3IgZSktLjE1IEUoeGFtcGxlOiktLjE1IEUgRjMocG9wZCAtMCkyLjUgRSBGMChyZW1vKTIuNSBFIC0uMTUKLSh2ZSktLjE1IEcgMi41KHN0KS4xNSBHKGhlIGxhc3QgZGlyZWN0b3J5KS0yLjUgRSgsKS0uNjUgRSBGMyhwb3BkIC0xKTIuNQotRSBGMCh0aGUgbmUpMi41IEUoeHQgdG8gbGFzdC4pLS4xNSBFIC42NDQoSWYgdGhlKTE0NCAzMjQgUiBGMShwb3BkKTMuMTQ0Ci1FIEYwIC42NDQoY29tbWFuZCBpcyBzdWNjZXNzZnVsLCBhKTMuMTQ0IEYgRjEoZGlycykzLjE0MyBFIEYwIC42NDMKLShpcyBwZXJmb3JtZWQgYXMgd2VsbCwgYW5kIHRoZSByZXR1cm4gc3RhdHVzIGlzIDAuKTMuMTQzIEYgRjEocG9wZCk1LjY0MwotRSBGMCAuNDE1KHJldHVybnMgZikxNDQgMzM2IFIgLjQxNShhbHNlIGlmIGFuIGluKS0uMSBGIC0uMjUodmEpLS40IEcKLS40MTUobGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgdGhlIGRpcmVjdG9yeSBzdGFjayBpcyBlbXB0eSkuMjUgRiAyLjkxNgotKCxhbiktLjY1IEcob24tZSktMi45MTYgRSAuNDE2KHhpc3RlbnQgZGlyZWMtKS0uMTUgRgotKHRvcnkgc3RhY2sgZW50cnkgaXMgc3BlY2lcMjE0ZWQsIG9yIHRoZSBkaXJlY3RvcnkgY2hhbmdlIGYpMTQ0IDM0OCBRCi0oYWlscy4pLS4xIEUgRjEocHJpbnRmKTEwOCAzNjQuOCBRIEYwKFspMi41IEUgRjE8YWQ3Nj5BIEYyKHZhcikyLjUgRSBGMAotKF0pQSBGMihmb3JtYXQpMi41IEUgRjAoWykyLjUgRSBGMihhcilBKGd1bWVudHMpLS4zNyBFIEYwKF0pQSAuMzcyCi0oV3JpdGUgdGhlIGZvcm1hdHRlZCkxNDQgMzc2LjggUiBGMihhcikyLjg3MiBFKGd1bWVudHMpLS4zNyBFIEYwIC4zNzIKLSh0byB0aGUgc3RhbmRhcmQgb3V0cHV0IHVuZGVyIHRoZSBjb250cm9sIG9mIHRoZSkyLjg3MiBGIEYyKGZvcm1hdCkyLjg3MgotRSBGMCA1LjM3MiguVClDKGhlKS01LjM3MiBFIEYyKGZvcm1hdCkyLjg3MiBFIEYwIDEuODA0KGlzIGEgY2hhcmFjdGVyIHNcCi10cmluZyB3aGljaCBjb250YWlucyB0aHJlZSB0eXBlcyBvZiBvYmplY3RzOiBwbGFpbiBjaGFyYWN0ZXJzLCB3aGljaCBhclwKLWUgc2ltcGx5KTE0NCAzODguOCBSIC4xNTkKLShjb3BpZWQgdG8gc3RhbmRhcmQgb3V0cHV0LCBjaGFyYWN0ZXIgZXNjYXBlIHNlcXVlbmNlcywgd2hpY2ggYXJlIGNvbikKLTE0NCA0MDAuOCBSIC0uMTUodmUpLS40IEcgLjE1OChydGVkIGFuZCBjb3BpZWQgdG8gdGhlIHN0YW4tKS4xNSBGIC40OTkoXAotZGFyZCBvdXRwdXQsIGFuZCBmb3JtYXQgc3BlY2lcMjE0Y2F0aW9ucywgZWFjaCBvZiB3aGljaCBjYXVzZXMgcHJpbnRpbmdcCi0gb2YgdGhlIG5lKTE0NCA0MTIuOCBSIC41KHh0IHN1Y2Nlc3NpKS0uMTUgRiAtLjE1KHZlKS0uMjUgRyBGMihhcikzLjE1IEUKLShndS0pLS4zNyBFKG1lbnQpMTQ0IDQyNC44IFEgRjAgNS40MjQoLkkpQyAyLjkyNChuYSktNS40MjQgRyAuNDI0Ci0oZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQpLTIuOTI0IEYgRjIocHJpbnRmKTIuOTI0IEUgRjAgLjQyNAotKFwoMVwpIGZvcm1hdHMsKUIgRjEoJWIpMi45MjQgRSBGMChjYXVzZXMpMi45MjMgRSBGMShwcmludGYpMi45MjMgRSBGMAotLjQyMyh0byBlKTIuOTIzIEYgLjQyMyh4cGFuZCBiYWNrc2xhc2ggZXNjYXBlKS0uMTUgRiAuOTc2Ci0oc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nKTE0NCA0MzYuOCBSIEYyKGFyKTMuNDc2IEUoZ3VtZW50KS0uMzcgRQotRjAoXChlKTMuNDc2IEUgLjk3Nih4Y2VwdCB0aGF0KS0uMTUgRiBGMShcXGMpMy40NzYgRSBGMCAuOTc2Ci0odGVybWluYXRlcyBvdXRwdXQsIGJhY2tzbGFzaGVzIGluKTMuNDc2IEYgRjE8NWMwOD4zLjQ3NyBFIEYwKCwpQSBGMQotKFxcIikzLjQ3NyBFIEYwKCwpQShhbmQpMTQ0IDQ0OC44IFEgRjEoXFw/KTMuNDIyIEUgRjAgLjkyMihhcmUgbm90IHJlbW8pCi0zLjQyMiBGIC0uMTUodmUpLS4xNSBHIC45MjIoZCwgYW5kIG9jdGFsIGVzY2FwZXMgYmUpLjE1IEYgLjkyMgotKGdpbm5pbmcgd2l0aCktLjE1IEYgRjEoXFwwKTMuNDIyIEUgRjAgLjkyMQotKG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzXCksIGFuZCkzLjQyMiBGIEYxKCVxKTE0NCA0NjAuOCBRIEYwCi0oY2F1c2VzKTMuNjMgRSBGMShwcmludGYpMy42MyBFIEYwIDEuMTModG8gb3V0cHV0IHRoZSBjb3JyZXNwb25kaW5nKTMuNjMKLUYgRjIoYXIpMy42MzEgRShndW1lbnQpLS4zNyBFIEYwIDEuMTMxCi0oaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsKTMuNjMxIEYoaW5wdXQuKTE0NCA0NzIuOCBRKFRoZSkKLTE0NCA0OTYuOCBRIEYxPGFkNzY+Mi45MDQgRSBGMCAuNDA0Ci0ob3B0aW9uIGNhdXNlcyB0aGUgb3V0cHV0IHRvIGJlIGFzc2lnbmVkIHRvIHRoZSB2KTIuOTA0IEYoYXJpYWJsZSktLjI1IEUKLUYyKHZhcikyLjkwNCBFIEYwIC40MDQocmF0aGVyIHRoYW4gYmVpbmcgcHJpbnRlZCB0byB0aGUpMi45MDQgRgotKHN0YW5kYXJkIG91dHB1dC4pMTQ0IDUwOC44IFEoVGhlKTE0NCA1MzIuOCBRIEYyKGZvcm1hdCkzLjQyMyBFIEYwIC45MjMKLShpcyByZXVzZWQgYXMgbmVjZXNzYXJ5IHRvIGNvbnN1bWUgYWxsIG9mIHRoZSkzLjQyMyBGIEYyKGFyKTMuNDIzIEUKLShndW1lbnRzKS0uMzcgRSBGMCA1LjkyMyguSSlDIDMuNDIzKGZ0KS01LjkyMyBHKGhlKS0zLjQyMyBFIEYyKGZvcm1hdCkKLTMuNDIzIEUgRjAgLjkyNChyZXF1aXJlcyBtb3JlKTMuNDI0IEYgRjIoYXIpMTQ0IDU0NC44IFEoZ3VtZW50cyktLjM3IEUKLUYwIC4wMzModGhhbiBhcmUgc3VwcGxpZWQsIHRoZSBlKTIuNTM0IEYgLjAzMwotKHh0cmEgZm9ybWF0IHNwZWNpXDIxNGNhdGlvbnMgYmVoYSktLjE1IEYgLjMzMyAtLjE1KHZlIGEpLS4yIEggMi41MzMoc2kpCi0uMTUgRyAyLjUzMyhmYXopLTIuNTMzIEcgLjAzMyhlcm8gdiktMi41MzMgRiAuMDMzKGFsdWUgb3IgbnVsbCBzdHJpbmcsKQotLS4yNSBGKGFzIGFwcHJvcHJpYXRlLCBoYWQgYmVlbiBzdXBwbGllZC4pMTQ0IDU1Ni44IFEoVGhlIHJldHVybiB2KTUgRQotKGFsdWUgaXMgemVybyBvbiBzdWNjZXNzLCBub24temVybyBvbiBmKS0uMjUgRShhaWx1cmUuKS0uMSBFIEYxKHB1c2hkKQotMTA4IDU3My42IFEgRjAoWykyLjUgRSBGMTxhZDZlPkEgRjAgMi41KF1bKUMoKyktMi41IEUgRjIobilBIEYwIDIuNShdWylDCi08YWQ+LTIuNSBFIEYyKG4pQSBGMChdKUEgRjEocHVzaGQpMTA4IDU4NS42IFEgRjAoWykyLjUgRSBGMTxhZDZlPkEgRjAKLTIuNShdWylDIEYyKGRpciktMi41IEUgRjAoXSlBIC42MzkoQWRkcyBhIGRpcmVjdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkXAotaXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXMgdGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5lKTE0NCA1OTcuNiBSIDMuMTQod3QpCi0tLjI1IEcgLjY0KG9wIG9mIHRoZSktMy4xNCBGIDEuMzE2KHN0YWNrIHRoZSBjdXJyZW50IHcpMTQ0IDYwOS42IFIgMS4zMTYKLShvcmtpbmcgZGlyZWN0b3J5KS0uMSBGIDYuMzE2KC5XKS0uNjUgRyAxLjMxNShpdGggbm8gYXIpLTYuNzE2IEYgMS4zMTUKLShndW1lbnRzLCBlKS0uMTggRiAxLjMxNSh4Y2hhbmdlcyB0aGUgdG9wIHR3KS0uMTUgRiAzLjgxNShvZCktLjEgRyAxLjMxNQotKGlyZWN0b3JpZXMgYW5kKS0zLjgxNSBGIC44NzEKLShyZXR1cm5zIDAsIHVubGVzcyB0aGUgZGlyZWN0b3J5IHN0YWNrIGlzIGVtcHR5KTE0NCA2MjEuNiBSIDUuODcxKC5BKQotLS42NSBHIC0uMTgocmcpLTUuODcxIEcgLjg3Mih1bWVudHMsIGlmIHN1cHBsaWVkLCBoYSkuMTggRiAxLjE3MiAtLjE1Ci0odmUgdCktLjIgSCAuODcyKGhlIGZvbGxvKS4xNSBGIC44NzIod2luZyBtZWFuLSktLjI1IEYoaW5nczopMTQ0IDYzMy42IFEKLUYxPGFkNmU+MTQ0IDY0NS42IFEgRjAgLjkwMihTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3XAotaGVuIGFkZGluZyBkaXJlY3RvcmllcyB0byB0aGUgc3RhY2ssIHNvIHRoYXQpMjQuNzQgRgotKG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLikxODAgNjU3LjYgUSBGMSgrKTE0NCA2NjkuNiBRIEYyKG4pQSBGMAotMS4yNjcoUm90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUpMjUuMyBGIEYyKG4pMy43NjcgRSBGMCAxLjI2OAotKHRoIGRpcmVjdG9yeSBcKGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvKUIgMS4yNjgod24gYnkpCi0tLjI1IEYgRjEoZGlycykxODAgNjgxLjYgUSBGMCAyLjUoLHMpQwotKHRhcnRpbmcgd2l0aCB6ZXJvXCkgaXMgYXQgdGhlIHRvcC4pLTIuNSBFIEYxPGFkPjE0NCA2OTMuNiBRIEYyKG4pQSBGMAotLjkyKFJvdGF0ZXMgdGhlIHN0YWNrIHNvIHRoYXQgdGhlKTI1LjMgRiBGMihuKTMuNDIgRSBGMCAuOTIKLSh0aCBkaXJlY3RvcnkgXChjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG8pQiAuOTIod24gYnkpLS4yNQotRiBGMShkaXJzKTE4MCA3MDUuNiBRIEYwIDIuNSgscylDKHRhcnRpbmcgd2l0aCB6ZXJvXCkgaXMgYXQgdGhlIHRvcC4pCi0tMi41IEUgRjIoZGlyKTE0NC4zNSA3MTcuNiBRIEYwKEFkZHMpMjMuOTggRSBGMihkaXIpMi44NSBFIEYwCi0odG8gdGhlIGRpcmVjdG9yeSBzdGFjayBhdCB0aGUgdG9wLCBtYWtpbmcgaXQgdGhlIG5lKTMuMjMgRSAyLjUod2MpLS4yNQotRyh1cnJlbnQgdyktMi41IEUob3JraW5nIGRpcmVjdG9yeSktLjEgRSguKS0uNjUgRShHTlUgQmFzaC00LjApNzIgNzY4IFEKKyh0aGF0IG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLikxODAgNDA4IFEgRjEoKykxNDQgNDIwIFEgRjIobilBIEYwCisoUmVtbykyNS4zIEUgLS4xNSh2ZSktLjE1IEcgMi42NChzdCkuMTUgRyhoZSktMi42NCBFIEYyKG4pMi42NCBFIEYwIC4xNAorKHRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvKUIgLjE0KHduIGJ5KS0uMjUgRiBGMQorKGRpcnMpMi42NCBFIEYwIDIuNjQoLHMpQyAuMTQodGFydGluZyB3aXRoIHplcm8uKS0yLjY0IEYgLS4xNShGbykxODAgNDMyCitTIDIuNShyZSkuMTUgRyh4YW1wbGU6KS0yLjY1IEUvRjQgMTAvQ291cmllckAwIFNGKHBvcGQgKzApMi41IEUgRjAocmVtbykKKzIuNSBFIC0uMTUodmUpLS4xNSBHIDIuNShzdCkuMTUgRyhoZSBcMjE0cnN0IGRpcmVjdG9yeSktMi41IEUoLCktLjY1IEUKK0Y0KHBvcGQgKzEpMi41IEUgRjAodGhlIHNlY29uZC4pMi41IEUgRjE8YWQ+MTQ0IDQ0NCBRIEYyKG4pQSBGMChSZW1vKQorMjUuMyBFIC0uMTUodmUpLS4xNSBHIDMuNzYoc3QpLjE1IEcoaGUpLTMuNzYgRSBGMihuKTMuNzYgRSBGMCAxLjI1OQorKHRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNobylCIDEuMjU5KHduIGJ5KS0uMjUgRgorRjEoZGlycykzLjc1OSBFIEYwIDMuNzU5KCxzKUMgMS4yNTkodGFydGluZyB3aXRoKS0zLjc1OSBGIDIuNSh6ZXJvLiBGKQorMTgwIDQ1NiBSKG9yIGUpLS4xNSBFKHhhbXBsZTopLS4xNSBFIEY0KHBvcGQgLTApMi41IEUgRjAocmVtbykyLjUgRSAtLjE1CisodmUpLS4xNSBHIDIuNShzdCkuMTUgRyhoZSBsYXN0IGRpcmVjdG9yeSktMi41IEUoLCktLjY1IEUgRjQocG9wZCAtMSkyLjUKK0UgRjAodGhlIG5lKTIuNSBFKHh0IHRvIGxhc3QuKS0uMTUgRSAuNjQzKElmIHRoZSkxNDQgNDcyLjggUiBGMShwb3BkKQorMy4xNDMgRSBGMCAuNjQzKGNvbW1hbmQgaXMgc3VjY2Vzc2Z1bCwgYSkzLjE0MyBGIEYxKGRpcnMpMy4xNDMgRSBGMCAuNjQ0CisoaXMgcGVyZm9ybWVkIGFzIHdlbGwsIGFuZCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAwLikzLjE0MyBGIEYxKHBvcGQpNS42NDQKK0UgRjAgLjQxNihyZXR1cm5zIGYpMTQ0IDQ4NC44IFIgLjQxNihhbHNlIGlmIGFuIGluKS0uMSBGIC0uMjUodmEpLS40IEcKKy40MTUobGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgdGhlIGRpcmVjdG9yeSBzdGFjayBpcyBlbXB0eSkuMjUgRiAyLjkxNQorKCxhbiktLjY1IEcob24tZSktMi45MTUgRSAuNDE1KHhpc3RlbnQgZGlyZWMtKS0uMTUgRgorKHRvcnkgc3RhY2sgZW50cnkgaXMgc3BlY2lcMjE0ZWQsIG9yIHRoZSBkaXJlY3RvcnkgY2hhbmdlIGYpMTQ0IDQ5Ni44IFEKKyhhaWxzLiktLjEgRSBGMShwcmludGYpMTA4IDUxMy42IFEgRjAoWykyLjUgRSBGMTxhZDc2PkEgRjIodmFyKTIuNSBFIEYwCisoXSlBIEYyKGZvcm1hdCkyLjUgRSBGMChbKTIuNSBFIEYyKGFyKUEoZ3VtZW50cyktLjM3IEUgRjAoXSlBIDEuNDM2CisoV3JpdGUgdGhlIGZvcm1hdHRlZCkxNDQgNTI1LjYgUiBGMihhcikzLjkzNiBFKGd1bWVudHMpLS4zNyBFIEYwIDEuNDM3CisodG8gdGhlIHN0YW5kYXJkIG91dHB1dCB1bmRlciB0aGUgY29udHJvbCBvZiB0aGUpMy45MzYgRiBGMihmb3JtYXQpMy45MzcKK0UgRjAgNi40MzcoLlQpQyhoZSktNi40MzcgRSBGMTxhZDc2PjMuOTM3IEUgRjAgLjEyNgorKG9wdGlvbiBjYXVzZXMgdGhlIG91dHB1dCB0byBiZSBhc3NpZ25lZCB0byB0aGUgdikxNDQgNTM3LjYgUihhcmlhYmxlKQorLS4yNSBFIEYyKHZhcikyLjYyNiBFIEYwIC4xMjYocmF0aGVyIHRoYW4gYmVpbmcgcHJpbnRlZCB0byB0aGUgc3RhbmRhcmQpCisyLjYyNiBGKG91dHB1dC4pMTQ0IDU0OS42IFEoVGhlKTE0NCA1NzMuNiBRIEYyKGZvcm1hdCkzLjAxNyBFIEYwIC41MTcoaVwKK3MgYSBjaGFyYWN0ZXIgc3RyaW5nIHdoaWNoIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIG9iamVjdHM6IHBsYWluIGNoYXJhXAorY3RlcnMsIHdoaWNoIGFyZSkzLjAxNyBGIC43MDQoc2ltcGx5IGNvcGllZCB0byBzdGFuZGFyZCBvdXRwdXQsIGNoYXJhY3RcCitlciBlc2NhcGUgc2VxdWVuY2VzLCB3aGljaCBhcmUgY29uKTE0NCA1ODUuNiBSIC0uMTUodmUpLS40IEcgLjcwMworKHJ0ZWQgYW5kIGNvcGllZCB0bykuMTUgRiAuMDM2KHRoZSBzdGFuZGFyZCBvdXRwdXQsIGFuZCBmb3JtYXQgc3BlY2lcCitcMjE0Y2F0aW9ucywgZWFjaCBvZiB3aGljaCBjYXVzZXMgcHJpbnRpbmcgb2YgdGhlIG5lKTE0NCA1OTcuNiBSIC4wMzcKKyh4dCBzdWNjZXNzaSktLjE1IEYgLS4xNSh2ZSktLjI1IEcgRjIoYXIpMTQ0IDYwOS42IFEoZ3VtZW50KS0uMzcgRSBGMAorNS41MzIoLkkpQyAzLjAzMihuYSktNS41MzIgRyAuNTMyKGRkaXRpb24gdG8gdGhlIHN0YW5kYXJkKS0zLjAzMiBGIEYyCisocHJpbnRmKTMuMDMyIEUgRjAgLjUzMihcKDFcKSBmb3JtYXQgc3BlY2lcMjE0Y2F0aW9ucywpQiBGMShwcmludGYpMy4wMzEKK0UgRjAgLjUzMShpbnRlcnByZXRzIHRoZSBmb2xsbykzLjAzMSBGKHctKS0uMjUgRShpbmcgZSkxNDQgNjIxLjYgUQorKHh0ZW5zaW9uczopLS4xNSBFIEYxKCViKTE0NCA2MzMuNiBRIEYwKGNhdXNlcykyMC40NCBFIEYxKHByaW50Zik1LjExNSBFCitGMCAyLjYxNSh0byBlKTUuMTE1IEYgMi42MTUKKyh4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyktLjE1IEYgRjIoYXIpCis1LjExNSBFKGd1bWVudCktLjM3IEUgRjAoXChlKTE4MCA2NDUuNiBRIC42MDgoeGNlcHQgdGhhdCktLjE1IEYgRjEoXFxjKQorMy4xMDggRSBGMCAuNjA4KHRlcm1pbmF0ZXMgb3V0cHV0LCBiYWNrc2xhc2hlcyBpbikzLjEwOCBGIEYxPDVjMDg+My4xMDgKK0UgRjAoLClBIEYxKFxcIikzLjEwOCBFIEYwIDMuMTA4KCxhKUMobmQpLTMuMTA4IEUgRjEoXFw/KTMuMTA4IEUgRjAgLjYwOAorKGFyZSBub3QgcmVtbykzLjEwOCBGIC0uMTUodmUpLS4xNSBHIC42MDgoZCwgYW5kIG9jdGFsKS4xNSBGKGVzY2FwZXMgYmUpCisxODAgNjU3LjYgUShnaW5uaW5nIHdpdGgpLS4xNSBFIEYxKFxcMCkyLjUgRSBGMAorKG1heSBjb250YWluIHVwIHRvIGZvdXIgZGlnaXRzXCkuKTIuNSBFIEYxKCVxKTE0NCA2NjkuNiBRIEYwKGNhdXNlcykKKzIwLjQ0IEUgRjEocHJpbnRmKTIuNTEgRSBGMCAuMDEodG8gb3V0cHV0IHRoZSBjb3JyZXNwb25kaW5nKTIuNTEgRiBGMgorKGFyKTIuNTEgRShndW1lbnQpLS4zNyBFIEYwIC4wMShpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwpCisyLjUxIEYoaW5wdXQuKTE4MCA2ODEuNiBRIEYxKCVcKCkxNDQgNjkzLjYgUSBGMihkYXRlZm10KUEgRjEoXClUKUEgRjAKKyhjYXVzZXMpMTgwIDcwNS42IFEgRjEocHJpbnRmKTQuNDA0IEUgRjAgMS45MDQKKyh0byBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcpNC40MDQgRiBGMihkYXRlZm10KQorNC40MDQgRSBGMCAxLjkwMyhhcyBhIGZvcm1hdCk0LjQwNCBGIC4zOChzdHJpbmcgZm9yKTE4MCA3MTcuNiBSIEYyCisoc3RyZnRpbWUpMi44ODEgRSBGMCAyLjg4MShcKDNcKS4gVGhlKUIoY29ycmVzcG9uZGluZykyLjg4MSBFIEYyKGFyKQorMi44ODEgRShndW1lbnQpLS4zNyBFIEYwIC4zODEoaXMgYW4gaW50ZSkyLjg4MSBGIC4zODEKKyhnZXIgcmVwcmVzZW50aW5nIHRoZSBudW1iZXIpLS4xNSBGIC40NTgob2Ygc2Vjb25kcyBzaW5jZSB0aGUgZXBvY2guKTE4MAorNzI5LjYgUiAtMSAtLjgoVHcgbyk1LjQ1OCBIIC40NTgoc3BlY2lhbCBhcikzLjc1OCBGIC40NTgoZ3VtZW50IHYpLS4xOCBGCisuNDU4KGFsdWVzIG1heSBiZSB1c2VkOiAtMSByZXByZXNlbnRzIHRoZSktLjI1IEYoR05VIEJhc2gtNC4wKTcyIDc2OCBRCiAoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDExKTE5OC43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDEyIDEyCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKLShUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFIC40ODgoSWYgdGhlKQotMTQ0IDg0IFIvRjEgMTAvVGltZXMtQm9sZEAwIFNGKHB1c2hkKTIuOTg4IEUgRjAgLjQ4OAotKGNvbW1hbmQgaXMgc3VjY2Vzc2Z1bCwgYSkyLjk4OCBGIEYxKGRpcnMpMi45ODggRSBGMCAuNDg4Ci0oaXMgcGVyZm9ybWVkIGFzIHdlbGwuKTIuOTg4IEYgLjQ4OShJZiB0aGUgXDIxNHJzdCBmb3JtIGlzIHVzZWQsKTUuNDg4IEYKLUYxKHB1c2hkKTIuOTg5IEUgRjAgMS4wNChyZXR1cm5zIDAgdW5sZXNzIHRoZSBjZCB0bykxNDQgOTYgUi9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKGRpcikzLjg5IEUgRjAgLS4xKGZhKTQuMjcgRyAzLjUzOShpbHMuIFcpLjEgRiAxLjAzOQotKGl0aCB0aGUgc2Vjb25kIGZvcm0sKS0uNCBGIEYxKHB1c2hkKTMuNTM5IEUgRjAgMS4wMzkKLShyZXR1cm5zIDAgdW5sZXNzIHRoZSBkaXJlY3RvcnkpMy41MzkgRiAuODQ2KHN0YWNrIGlzIGVtcHR5KTE0NCAxMDggUgotMy4zNDYoLGFuKS0uNjUgRyhvbi1lKS0zLjM0NiBFIC44NDcoeGlzdGVudCBkaXJlY3Rvcnkgc3RhY2sgZWxlbWVudCBpcyBcCi1zcGVjaVwyMTRlZCwgb3IgdGhlIGRpcmVjdG9yeSBjaGFuZ2UgdG8gdGhlKS0uMTUgRihzcGVjaVwyMTRlZCBuZSkxNDQKLTEyMCBRIDIuNSh3YyktLjI1IEcodXJyZW50IGRpcmVjdG9yeSBmKS0yLjUgRShhaWxzLiktLjEgRSBGMShwd2QpMTA4Ci0xMzYuOCBRIEYwKFspMi41IEUgRjEoXDI1NUxQKUEgRjAoXSlBIC44NDUKLShQcmludCB0aGUgYWJzb2x1dGUgcGF0aG5hbWUgb2YgdGhlIGN1cnJlbnQgdykxNDQgMTQ4LjggUiAuODQ1CisoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRQorKGN1cnJlbnQgdGltZSwgYW5kIC0yIHJlcHJlc2VudHMgdGhlIHRpbWUgdGhlIHNoZWxsIHcpMTgwIDg0IFEoYXMgaW4pLS4xCitFIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyhkLikuMSBFKEFyKTE0NCAxMDAuOCBRIC40NjMoZ3VtZW50cyB0byBub24tc1wKK3RyaW5nIGZvcm1hdCBzcGVjaVwyMTRlcnMgYXJlIHRyZWF0ZWQgYXMgQyBjb25zdGFudHMsIGUpLS4xOCBGIC40NjQKKyh4Y2VwdCB0aGF0IGEgbGVhZGluZyBwbHVzIG9yKS0uMTUgRiAxLjI1OShtaW51cyBzaWduIGlzIGFsbG8pMTQ0IDExMi44CitSIDEuMjU5Cisod2VkLCBhbmQgaWYgdGhlIGxlYWRpbmcgY2hhcmFjdGVyIGlzIGEgc2luZ2xlIG9yIGRvdWJsZSBxdW90ZSwgdGhlIHYpCistLjI1IEYgMS4yNTgoYWx1ZSBpcyB0aGUpLS4yNSBGKEFTQ0lJIHYpMTQ0IDEyNC44IFEoYWx1ZSBvZiB0aGUgZm9sbG8pCistLjI1IEUod2luZyBjaGFyYWN0ZXIpLS4yNSBFKC4pLS41NSBFKFRoZSkxNDQgMTQxLjYgUS9GMSAxMAorL1RpbWVzLUl0YWxpY0AwIFNGKGZvcm1hdCkzLjQyMyBFIEYwIC45MjMKKyhpcyByZXVzZWQgYXMgbmVjZXNzYXJ5IHRvIGNvbnN1bWUgYWxsIG9mIHRoZSkzLjQyMyBGIEYxKGFyKTMuNDIzIEUKKyhndW1lbnRzKS0uMzcgRSBGMCA1LjkyMyguSSlDIDMuNDIzKGZ0KS01LjkyMyBHKGhlKS0zLjQyMyBFIEYxKGZvcm1hdCkKKzMuNDIzIEUgRjAgLjkyNChyZXF1aXJlcyBtb3JlKTMuNDI0IEYgRjEoYXIpMTQ0IDE1My42IFEoZ3VtZW50cyktLjM3IEUKK0YwIC4wMzModGhhbiBhcmUgc3VwcGxpZWQsIHRoZSBlKTIuNTM0IEYgLjAzMworKHh0cmEgZm9ybWF0IHNwZWNpXDIxNGNhdGlvbnMgYmVoYSktLjE1IEYgLjMzMyAtLjE1KHZlIGEpLS4yIEggMi41MzMoc2kpCisuMTUgRyAyLjUzMyhmYXopLTIuNTMzIEcgLjAzMyhlcm8gdiktMi41MzMgRiAuMDMzKGFsdWUgb3IgbnVsbCBzdHJpbmcsKQorLS4yNSBGKGFzIGFwcHJvcHJpYXRlLCBoYWQgYmVlbiBzdXBwbGllZC4pMTQ0IDE2NS42IFEoVGhlIHJldHVybiB2KTUgRQorKGFsdWUgaXMgemVybyBvbiBzdWNjZXNzLCBub24temVybyBvbiBmKS0uMjUgRShhaWx1cmUuKS0uMSBFL0YyIDEwCisvVGltZXMtQm9sZEAwIFNGKHB1c2hkKTEwOCAxODIuNCBRIEYwKFspMi41IEUgRjI8YWQ2ZT5BIEYwIDIuNShdWylDKCspCistMi41IEUgRjEobilBIEYwIDIuNShdWylDPGFkPi0yLjUgRSBGMShuKUEgRjAoXSlBIEYyKHB1c2hkKTEwOCAxOTQuNCBRCitGMChbKTIuNSBFIEYyPGFkNmU+QSBGMCAyLjUoXVspQyBGMShkaXIpLTIuNSBFIEYwKF0pQSAuNjM5KEFkZHMgYSBkaXJlY1wKK3RvcnkgdG8gdGhlIHRvcCBvZiB0aGUgZGlyZWN0b3J5IHN0YWNrLCBvciByb3RhdGVzIHRoZSBzdGFjaywgbWFraW5nIHRoXAorZSBuZSkxNDQgMjA2LjQgUiAzLjE0KHd0KS0uMjUgRyAuNjQob3Agb2YgdGhlKS0zLjE0IEYgMS4zMTYKKyhzdGFjayB0aGUgY3VycmVudCB3KTE0NCAyMTguNCBSIDEuMzE2KG9ya2luZyBkaXJlY3RvcnkpLS4xIEYgNi4zMTYoLlcpCistLjY1IEcgMS4zMTUoaXRoIG5vIGFyKS02LjcxNiBGIDEuMzE1KGd1bWVudHMsIGUpLS4xOCBGIDEuMzE1CisoeGNoYW5nZXMgdGhlIHRvcCB0dyktLjE1IEYgMy44MTUob2QpLS4xIEcgMS4zMTUoaXJlY3RvcmllcyBhbmQpLTMuODE1IEYKKy44NzEocmV0dXJucyAwLCB1bmxlc3MgdGhlIGRpcmVjdG9yeSBzdGFjayBpcyBlbXB0eSkxNDQgMjMwLjQgUiA1Ljg3MQorKC5BKS0uNjUgRyAtLjE4KHJnKS01Ljg3MSBHIC44NzIodW1lbnRzLCBpZiBzdXBwbGllZCwgaGEpLjE4IEYgMS4xNzIKKy0uMTUodmUgdCktLjIgSCAuODcyKGhlIGZvbGxvKS4xNSBGIC44NzIod2luZyBtZWFuLSktLjI1IEYoaW5nczopMTQ0CisyNDIuNCBRIEYyPGFkNmU+MTQ0IDI1NC40IFEgRjAgLjkwMihTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpclwKK2VjdG9yeSB3aGVuIGFkZGluZyBkaXJlY3RvcmllcyB0byB0aGUgc3RhY2ssIHNvIHRoYXQpMjQuNzQgRgorKG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLikxODAgMjY2LjQgUSBGMigrKTE0NCAyNzguNCBRIEYxKG4pQSBGMAorMS4yNjcoUm90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUpMjUuMyBGIEYxKG4pMy43NjcgRSBGMCAxLjI2OAorKHRoIGRpcmVjdG9yeSBcKGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvKUIgMS4yNjgod24gYnkpCistLjI1IEYgRjIoZGlycykxODAgMjkwLjQgUSBGMCAyLjUoLHMpQworKHRhcnRpbmcgd2l0aCB6ZXJvXCkgaXMgYXQgdGhlIHRvcC4pLTIuNSBFIEYyPGFkPjE0NCAzMDIuNCBRIEYxKG4pQSBGMAorLjkyKFJvdGF0ZXMgdGhlIHN0YWNrIHNvIHRoYXQgdGhlKTI1LjMgRiBGMShuKTMuNDIgRSBGMCAuOTIKKyh0aCBkaXJlY3RvcnkgXChjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG8pQiAuOTIod24gYnkpLS4yNQorRiBGMihkaXJzKTE4MCAzMTQuNCBRIEYwIDIuNSgscylDKHRhcnRpbmcgd2l0aCB6ZXJvXCkgaXMgYXQgdGhlIHRvcC4pCistMi41IEUgRjEoZGlyKTE0NC4zNSAzMjYuNCBRIEYwKEFkZHMpMjMuOTggRSBGMShkaXIpMi44NSBFIEYwCisodG8gdGhlIGRpcmVjdG9yeSBzdGFjayBhdCB0aGUgdG9wLCBtYWtpbmcgaXQgdGhlIG5lKTMuMjMgRSAyLjUod2MpLS4yNQorRyh1cnJlbnQgdyktMi41IEUob3JraW5nIGRpcmVjdG9yeSktLjEgRSguKS0uNjUgRSAuNDg4KElmIHRoZSkxNDQgMzQzLjIKK1IgRjIocHVzaGQpMi45ODggRSBGMCAuNDg4KGNvbW1hbmQgaXMgc3VjY2Vzc2Z1bCwgYSkyLjk4OCBGIEYyKGRpcnMpCisyLjk4OCBFIEYwIC40ODgoaXMgcGVyZm9ybWVkIGFzIHdlbGwuKTIuOTg4IEYgLjQ4OQorKElmIHRoZSBcMjE0cnN0IGZvcm0gaXMgdXNlZCwpNS40ODggRiBGMihwdXNoZCkyLjk4OSBFIEYwIDEuMDQKKyhyZXR1cm5zIDAgdW5sZXNzIHRoZSBjZCB0bykxNDQgMzU1LjIgUiBGMShkaXIpMy44OSBFIEYwIC0uMShmYSk0LjI3IEcKKzMuNTM5KGlscy4gVykuMSBGIDEuMDM5KGl0aCB0aGUgc2Vjb25kIGZvcm0sKS0uNCBGIEYyKHB1c2hkKTMuNTM5IEUgRjAKKzEuMDM5KHJldHVybnMgMCB1bmxlc3MgdGhlIGRpcmVjdG9yeSkzLjUzOSBGIC44NDYoc3RhY2sgaXMgZW1wdHkpMTQ0CiszNjcuMiBSIDMuMzQ2KCxhbiktLjY1IEcob24tZSktMy4zNDYgRSAuODQ3KHhpc3RlbnQgZGlyZWN0b3J5IHN0YWNrIGVsZVwKK21lbnQgaXMgc3BlY2lcMjE0ZWQsIG9yIHRoZSBkaXJlY3RvcnkgY2hhbmdlIHRvIHRoZSktLjE1IEYKKyhzcGVjaVwyMTRlZCBuZSkxNDQgMzc5LjIgUSAyLjUod2MpLS4yNSBHKHVycmVudCBkaXJlY3RvcnkgZiktMi41IEUKKyhhaWxzLiktLjEgRSBGMihwd2QpMTA4IDM5NiBRIEYwKFspMi41IEUgRjIoXDI1NUxQKUEgRjAoXSlBIC44NDUKKyhQcmludCB0aGUgYWJzb2x1dGUgcGF0aG5hbWUgb2YgdGhlIGN1cnJlbnQgdykxNDQgNDA4IFIgLjg0NQogKG9ya2luZyBkaXJlY3RvcnkpLS4xIEYgNS44NDQoLlQpLS42NSBHIC44NDQKIChoZSBwYXRobmFtZSBwcmludGVkIGNvbnRhaW5zIG5vKS01Ljg0NCBGIC4xODEoc3ltYm9saWMgbGlua3MgaWYgdGhlKTE0NAotMTYwLjggUiBGMTxhZDUwPjIuNjgxIEUgRjAgLjE4MShvcHRpb24gaXMgc3VwcGxpZWQgb3IgdGhlKTIuNjgxIEYgRjEKLS4xODEoXDI1NW8gcGgpMi42ODEgRih5c2ljYWwpLS4xNSBFIEYwIC4xODEob3B0aW9uIHRvIHRoZSkyLjY4MSBGIEYxCi0oc2V0KTIuNjgxIEUgRjAgLS4yKGJ1KTIuNjgxIEcgLjE4MihpbHRpbiBjb21tYW5kIGlzKS4yIEYgMy4yNjQKLShlbmFibGVkLiBJZikxNDQgMTcyLjggUih0aGUpMy4yNjQgRSBGMTxhZDRjPjMuMjY0IEUgRjAgLjc2MworNDIwIFIgRjI8YWQ1MD4yLjY4MSBFIEYwIC4xODEob3B0aW9uIGlzIHN1cHBsaWVkIG9yIHRoZSkyLjY4MSBGIEYyIC4xODEKKyhcMjU1byBwaCkyLjY4MSBGKHlzaWNhbCktLjE1IEUgRjAgLjE4MShvcHRpb24gdG8gdGhlKTIuNjgxIEYgRjIoc2V0KQorMi42ODEgRSBGMCAtLjIoYnUpMi42ODEgRyAuMTgyKGlsdGluIGNvbW1hbmQgaXMpLjIgRiAzLjI2NChlbmFibGVkLiBJZikKKzE0NCA0MzIgUih0aGUpMy4yNjQgRSBGMjxhZDRjPjMuMjY0IEUgRjAgLjc2MwogKG9wdGlvbiBpcyB1c2VkLCB0aGUgcGF0aG5hbWUgcHJpbnRlZCBtYXkgY29udGFpbiBzeW1ib2xpYyBsaW5rcy4pMy4yNjQKIEYgLjc2MyhUaGUgcmV0dXJuKTUuNzYzIEYgMS4zNihzdGF0dXMgaXMgMCB1bmxlc3MgYW4gZXJyb3Igb2NjdXJzIHdoaWxlXAotIHJlYWRpbmcgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IG9yIGFuIGluKTE0NCAxODQuOCBSIC0uMjUodmEpCi0tLjQgRyhsaWQpLjI1IEUob3B0aW9uIGlzIHN1cHBsaWVkLikxNDQgMTk2LjggUSBGMSAtLjE4KHJlKTEwOCAyMTMuNiBTCi0oYWQpLjE4IEUgRjAoWykzLjgxNyBFIEYxKFwyNTVlcnMpQSBGMCAzLjgxNyhdWylDIEYxPGFkNjE+LTMuODE3IEUgRjIKLShhbmFtZSkzLjgxNyBFIEYwIDMuODE3KF1bKUMgRjE8YWQ2ND4tMy44MTcgRSBGMihkZWxpbSkzLjgxNyBFIEYwIDMuODE3Ci0oXVspQyBGMTxhZDY5Pi0zLjgxNyBFIEYyKHRlKTMuODE3IEUoeHQpLS4yIEUgRjAgMy44MTcoXVspQyBGMTxhZDZlPgotLTMuODE3IEUgRjIobmMpMy44MTYgRShoYXIpLS4xNSBFKHMpLS4xIEUgRjAgMy44MTYoXVspQyBGMTxhZDRlPi0zLjgxNiBFCi1GMihuYykzLjgxNiBFKGhhciktLjE1IEUocyktLjEgRSBGMCAzLjgxNihdWylDIEYxPGFkNzA+LTMuODE2IEUgRjIocHIpCi0zLjgxNiBFKG9tcHQpLS40NSBFIEYwIDMuODE2KF1bKUMgRjE8YWQ3ND4tMy44MTYgRSBGMih0aW1lb3V0KTMuODE2IEUgRjAKLTMuODE2KF1bKUMgRjE8YWQ3NT4tMy44MTYgRSBGMihmZCkzLjgxNiBFIEYwKF0pQShbKTEwOCAyMjUuNiBRIEYyKG5hbWUpQQotRjAoLi4uXSkyLjUgRSAuNTE2KE9uZSBsaW5lIGlzIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIG9yIGZyb20gdGhcCi1lIFwyMTRsZSBkZXNjcmlwdG9yKTE0NCAyMzcuNiBSIEYyKGZkKTMuMDE2IEUgRjAgLjUxNihzdXBwbGllZCBhcyBhbiBhcikKLTMuMDE2IEYgLjUxNihndW1lbnQgdG8pLS4xOCBGKHRoZSkxNDQgMjQ5LjYgUSBGMTxhZDc1PjIuNTM4IEUgRjAgLjAzOAorIHJlYWRpbmcgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IG9yIGFuIGluKTE0NCA0NDQgUiAtLjI1KHZhKQorLS40IEcobGlkKS4yNSBFKG9wdGlvbiBpcyBzdXBwbGllZC4pMTQ0IDQ1NiBRIEYyIC0uMTgocmUpMTA4IDQ3Mi44IFMoYWQpCisuMTggRSBGMChbKTMuODE3IEUgRjIoXDI1NWVycylBIEYwIDMuODE3KF1bKUMgRjI8YWQ2MT4tMy44MTcgRSBGMShhbmFtZSkKKzMuODE3IEUgRjAgMy44MTcoXVspQyBGMjxhZDY0Pi0zLjgxNyBFIEYxKGRlbGltKTMuODE3IEUgRjAgMy44MTcoXVspQyBGMgorPGFkNjk+LTMuODE3IEUgRjEodGUpMy44MTcgRSh4dCktLjIgRSBGMCAzLjgxNyhdWylDIEYyPGFkNmU+LTMuODE3IEUgRjEKKyhuYykzLjgxNiBFKGhhciktLjE1IEUocyktLjEgRSBGMCAzLjgxNihdWylDIEYyPGFkNGU+LTMuODE2IEUgRjEobmMpCiszLjgxNiBFKGhhciktLjE1IEUocyktLjEgRSBGMCAzLjgxNihdWylDIEYyPGFkNzA+LTMuODE2IEUgRjEocHIpMy44MTYgRQorKG9tcHQpLS40NSBFIEYwIDMuODE2KF1bKUMgRjI8YWQ3ND4tMy44MTYgRSBGMSh0aW1lb3V0KTMuODE2IEUgRjAgMy44MTYKKyhdWylDIEYyPGFkNzU+LTMuODE2IEUgRjEoZmQpMy44MTYgRSBGMChdKUEoWykxMDggNDg0LjggUSBGMShuYW1lKUEgRjAKKyguLi5dKTIuNSBFIC41MTYoT25lIGxpbmUgaXMgcmVhZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCwgb3IgZnJvbSB0aGUgXAorXDIxNGxlIGRlc2NyaXB0b3IpMTQ0IDQ5Ni44IFIgRjEoZmQpMy4wMTYgRSBGMCAuNTE2KHN1cHBsaWVkIGFzIGFuIGFyKQorMy4wMTYgRiAuNTE2KGd1bWVudCB0byktLjE4IEYodGhlKTE0NCA1MDguOCBRIEYyPGFkNzU+Mi41MzggRSBGMCAuMDM4CiAob3B0aW9uLCBhbmQgdGhlIFwyMTRyc3QgdykyLjUzOCBGIC4wMzgob3JkIGlzIGFzc2lnbmVkIHRvIHRoZSBcMjE0cnN0KQotLS4xIEYgRjIobmFtZSkyLjUzOSBFIEYwIDIuNTM5KCx0KS4xOCBHIC4wMzkoaGUgc2Vjb25kIHcpLTIuNTM5IEYgLjAzOQotKG9yZCB0byB0aGUgc2Vjb25kKS0uMSBGIEYyKG5hbWUpMi41MzkgRSBGMCgsKS4xOCBFIC40MgotKGFuZCBzbyBvbiwgd2l0aCBsZWZ0bykxNDQgMjYxLjYgUiAtLjE1KHZlKS0uMTUgRyAyLjkyKHJ3KS4xNSBHIC40MgorLS4xIEYgRjEobmFtZSkyLjUzOSBFIEYwIDIuNTM5KCx0KS4xOCBHIC4wMzkoaGUgc2Vjb25kIHcpLTIuNTM5IEYgLjAzOQorKG9yZCB0byB0aGUgc2Vjb25kKS0uMSBGIEYxKG5hbWUpMi41MzkgRSBGMCgsKS4xOCBFIC40MgorKGFuZCBzbyBvbiwgd2l0aCBsZWZ0bykxNDQgNTIwLjggUiAtLjE1KHZlKS0uMTUgRyAyLjkyKHJ3KS4xNSBHIC40MgogKG9yZHMgYW5kIHRoZWlyIGludGVydiktMy4wMiBGIC40MgotKGVuaW5nIHNlcGFyYXRvcnMgYXNzaWduZWQgdG8gdGhlIGxhc3QpLS4xNSBGIEYyKG5hbWUpMi45MiBFIEYwIDUuNDIoLkkpCi0uMTggRyAyLjkyKGZ0KS01LjQyIEcoaGVyZSktMi45MiBFIC41NChhcmUgZmUpMTQ0IDI3My42IFIgLjU0KHdlciB3KS0uMjUKKyhlbmluZyBzZXBhcmF0b3JzIGFzc2lnbmVkIHRvIHRoZSBsYXN0KS0uMTUgRiBGMShuYW1lKTIuOTIgRSBGMCA1LjQyKC5JKQorLjE4IEcgMi45MihmdCktNS40MiBHKGhlcmUpLTIuOTIgRSAuNTQoYXJlIGZlKTE0NCA1MzIuOCBSIC41NCh3ZXIgdyktLjI1CiBGIC41NDEob3JkcyByZWFkIGZyb20gdGhlIGlucHV0IHN0cmVhbSB0aGFuIG5hbWVzLCB0aGUgcmVtYWluaW5nIG5hbWVzIFwKLWFyZSBhc3NpZ25lZCBlbXB0eSktLjEgRiAtLjI1KHZhKTE0NCAyODUuNiBTIDIuNTExKGx1ZXMuIFRoZSkuMjUgRiAuMDExCithcmUgYXNzaWduZWQgZW1wdHkpLS4xIEYgLS4yNSh2YSkxNDQgNTQ0LjggUyAyLjUxMShsdWVzLiBUaGUpLjI1IEYgLjAxMQogKGNoYXJhY3RlcnMgaW4pMi41MTEgRi9GMyA5L1RpbWVzLUJvbGRAMCBTRihJRlMpMi41MTEgRSBGMCAuMDExCiAoYXJlIHVzZWQgdG8gc3BsaXQgdGhlIGxpbmUgaW50byB3KTIuMjYxIEYgMi41MTEob3Jkcy4gVGhlKS0uMSBGIC4wMTEKLShiYWNrc2xhc2ggY2hhcmFjdGVyIFwoKTIuNTExIEYgRjEoXFwpQSBGMCAyLjUxKFwpbSlDKGF5KS0yLjUxIEUgMS44OQotKGJlIHVzZWQgdG8gcmVtbykxNDQgMjk3LjYgUiAyLjE5IC0uMTUodmUgYSktLjE1IEggMi4xOSAtLjE1KG55IHMpLjE1IEgKKyhiYWNrc2xhc2ggY2hhcmFjdGVyIFwoKTIuNTExIEYgRjIoXFwpQSBGMCAyLjUxKFwpbSlDKGF5KS0yLjUxIEUgMS44OQorKGJlIHVzZWQgdG8gcmVtbykxNDQgNTU2LjggUiAyLjE5IC0uMTUodmUgYSktLjE1IEggMi4xOSAtLjE1KG55IHMpLjE1IEgKIDEuODkxKHBlY2lhbCBtZWFuaW5nIGZvciB0aGUgbmUpLjE1IEYgMS44OTEKICh4dCBjaGFyYWN0ZXIgcmVhZCBhbmQgZm9yIGxpbmUgY29udGludWF0aW9uLiktLjE1IEYKLShPcHRpb25zLCBpZiBzdXBwbGllZCwgaGEpMTQ0IDMwOS42IFEgLjMgLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFCi0od2luZyBtZWFuaW5nczopLS4yNSBFIEYxPGFkNjE+MTQ0IDMyMS42IFEgRjIoYW5hbWUpMi41IEUgRjAgMS4wNShUaGUgdykKLTE4MCAzMzMuNiBSIDEuMDQ5CisoT3B0aW9ucywgaWYgc3VwcGxpZWQsIGhhKTE0NCA1NjguOCBRIC4zIC0uMTUodmUgdCktLjIgSChoZSBmb2xsbykuMTUgRQorKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMjxhZDYxPjE0NCA1ODAuOCBRIEYxKGFuYW1lKTIuNSBFIEYwIDEuMDUoVGhlIHcpCisxODAgNTkyLjggUiAxLjA0OQogKG9yZHMgYXJlIGFzc2lnbmVkIHRvIHNlcXVlbnRpYWwgaW5kaWNlcyBvZiB0aGUgYXJyYXkgdiktLjEgRihhcmlhYmxlKQotLS4yNSBFIEYyKGFuYW1lKTMuNTQ5IEUgRjAgMy41NDkoLHMpLjE4IEcgMS4wNDkodGFydGluZyBhdCAwLiktMy41NDkgRgotRjIoYW5hbWUpMTgwLjMzIDM0NS42IFEgRjAoaXMgdW5zZXQgYmVmb3JlIGFuKTIuNjggRSAyLjUoeW4pLS4xNSBHIC41Ci0tLjI1KGV3IHZhKS0yLjUgSChsdWVzIGFyZSBhc3NpZ25lZC4pLjI1IEUoT3RoZXIpNSBFIEYyKG5hbWUpMi41IEUgRjAKLShhcikyLjUgRShndW1lbnRzIGFyZSBpZ25vcmVkLiktLjE4IEUgRjE8YWQ2ND4xNDQgMzU3LjYgUSBGMihkZWxpbSkyLjUgRQotRjAoVGhlIFwyMTRyc3QgY2hhcmFjdGVyIG9mKTE4MCAzNjkuNiBRIEYyKGRlbGltKTIuNSBFIEYwCistLjI1IEUgRjEoYW5hbWUpMy41NDkgRSBGMCAzLjU0OSgscykuMTggRyAxLjA0OSh0YXJ0aW5nIGF0IDAuKS0zLjU0OSBGCitGMShhbmFtZSkxODAuMzMgNjA0LjggUSBGMChpcyB1bnNldCBiZWZvcmUgYW4pMi42OCBFIDIuNSh5biktLjE1IEcgLjUKKy0uMjUoZXcgdmEpLTIuNSBIKGx1ZXMgYXJlIGFzc2lnbmVkLikuMjUgRShPdGhlcik1IEUgRjEobmFtZSkyLjUgRSBGMAorKGFyKTIuNSBFKGd1bWVudHMgYXJlIGlnbm9yZWQuKS0uMTggRSBGMjxhZDY0PjE0NCA2MTYuOCBRIEYxKGRlbGltKTIuNSBFCitGMChUaGUgXDIxNHJzdCBjaGFyYWN0ZXIgb2YpMTgwIDYyOC44IFEgRjEoZGVsaW0pMi41IEUgRjAKIChpcyB1c2VkIHRvIHRlcm1pbmF0ZSB0aGUgaW5wdXQgbGluZSwgcmF0aGVyIHRoYW4gbmUpMi41IEUod2xpbmUuKS0uMjUgRQotRjE8YWQ2NT4xNDQgMzgxLjYgUSBGMCAuMzcyCi0oSWYgdGhlIHN0YW5kYXJkIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwsKTI1Ljg2IEYgRjEgLS4xOChyZSkKK0YyPGFkNjU+MTQ0IDY0MC44IFEgRjAgLjM3MgorKElmIHRoZSBzdGFuZGFyZCBpbnB1dCBpcyBjb21pbmcgZnJvbSBhIHRlcm1pbmFsLCkyNS44NiBGIEYyIC0uMTgocmUpCiAyLjg3MyBHKGFkbGluZSkuMTggRSBGMChcKHNlZSkyLjg3MyBFIEYzKFJFQURMSU5FKTIuODczIEUgRjAoYWJvKTIuNjIzIEUKIC0uMTUodmUpLS4xNSBHIDIuODczKFwpaSkuMTUgRyAyLjg3MyhzdSktMi44NzMgRyhzZWQpLTIuODczIEUgLjIxOAotKHRvIG9idGFpbiB0aGUgbGluZS4pMTgwIDM5My42IFIgLjIxOAorKHRvIG9idGFpbiB0aGUgbGluZS4pMTgwIDY1Mi44IFIgLjIxOAogKFJlYWRsaW5lIHVzZXMgdGhlIGN1cnJlbnQgXChvciBkZWYpNS4yMTggRiAuMjE4CiAoYXVsdCwgaWYgbGluZSBlZGl0aW5nIHcpLS4xIEYgLjIxOChhcyBub3QgcHJlKS0uMSBGKHZpb3VzbHkpLS4yNSBFCi0oYWN0aSkxODAgNDA1LjYgUSAtLjE1KHZlKS0uMjUgRyAyLjUoXCllKS4xNSBHKGRpdGluZyBzZXR0aW5ncy4pLTIuNSBFCi1GMTxhZDY5PjE0NCA0MTcuNiBRIEYyKHRlKTIuNSBFKHh0KS0uMiBFIEYwKElmKTEwLjc4IEUgRjEgLS4xOChyZSkyLjcxNQotRyhhZGxpbmUpLjE4IEUgRjAgLjIxNihpcyBiZWluZyB1c2VkIHRvIHJlYWQgdGhlIGxpbmUsKTIuNzE1IEYgRjIodGUpCisoYWN0aSkxODAgNjY0LjggUSAtLjE1KHZlKS0uMjUgRyAyLjUoXCllKS4xNSBHKGRpdGluZyBzZXR0aW5ncy4pLTIuNSBFCitGMjxhZDY5PjE0NCA2NzYuOCBRIEYxKHRlKTIuNSBFKHh0KS0uMiBFIEYwKElmKTEwLjc4IEUgRjIgLS4xOChyZSkyLjcxNQorRyhhZGxpbmUpLjE4IEUgRjAgLjIxNihpcyBiZWluZyB1c2VkIHRvIHJlYWQgdGhlIGxpbmUsKTIuNzE1IEYgRjEodGUpCiAyLjcxNiBFKHh0KS0uMiBFIEYwIC4yMTYoaXMgcGxhY2VkIGludG8gdGhlIGVkaXRpbmcgYikyLjcxNiBGKHVmKS0uMiBFCi0uMjE2KGZlciBiZWZvcmUgZWRpdC0pLS4yNSBGKGluZyBiZSkxODAgNDI5LjYgUShnaW5zLiktLjE1IEUgRjE8YWQ2ZT4xNDQKLTQ0MS42IFEgRjIobmMpMi41IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYxIC0uMTgocmUpMTgwIDQ1My42IFMoYWQpLjE4IEUKLUYwIDEuMzk1KHJldHVybnMgYWZ0ZXIgcmVhZGluZykzLjg5NSBGIEYyKG5jKTMuODk1IEUoaGFyKS0uMTUgRShzKS0uMSBFCisuMjE2KGZlciBiZWZvcmUgZWRpdC0pLS4yNSBGKGluZyBiZSkxODAgNjg4LjggUShnaW5zLiktLjE1IEUgRjI8YWQ2ZT4xNDQKKzcwMC44IFEgRjEobmMpMi41IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYyIC0uMTgocmUpMTgwIDcxMi44IFMoYWQpLjE4IEUKK0YwIDEuMzk1KHJldHVybnMgYWZ0ZXIgcmVhZGluZykzLjg5NSBGIEYxKG5jKTMuODk1IEUoaGFyKS0uMTUgRShzKS0uMSBFCiBGMCAxLjM5NShjaGFyYWN0ZXJzIHJhdGhlciB0aGFuIHcpMy44OTUgRiAxLjM5NAotKGFpdGluZyBmb3IgYSBjb21wbGV0ZSBsaW5lIG9mKS0uMSBGKGlucHV0LCBiKTE4MCA0NjUuNiBRCi0odXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmUpLS4yIEUod2VyIHRoYW4pLS4yNSBFIEYyKG5jKTIuNSBFKGhhciktLjE1IEUKLShzKS0uMSBFIEYwKGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXIpMi41IEUoLiktLjU1IEUgRjEKLTxhZDRlPjE0NCA0NzcuNiBRIEYyKG5jKTIuNSBFKGhhciktLjE1IEUocyktLjEgRSBGMSAtLjE4KHJlKTE4MCA0ODkuNiBTCi0oYWQpLjE4IEUgRjAgMS4yNjkocmV0dXJucyBhZnRlciByZWFkaW5nIGUpMy43NjkgRih4YWN0bHkpLS4xNSBFIEYyKG5jKQotMy43NjkgRShoYXIpLS4xNSBFKHMpLS4xIEUgRjAgMS4yNjkoY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3KTMuNzY5IEYKLTEuMjcoYWl0aW5nIGZvciBhIGNvbXBsZXRlKS0uMSBGIC4yNzUKLShsaW5lIG9mIGlucHV0LCB1bmxlc3MgRU9GIGlzIGVuY291bnRlcmVkIG9yKTE4MCA1MDEuNiBSIEYxIC0uMTgocmUpCi0yLjc3NSBHKGFkKS4xOCBFIEYwIC4yNzQodGltZXMgb3V0LikyLjc3NCBGIC4yNzQKLShEZWxpbWl0ZXIgY2hhcmFjdGVycyBlbmNvdW4tKTUuMjc0IEYgMS4wMDIKLSh0ZXJlZCBpbiB0aGUgaW5wdXQgYXJlIG5vdCB0cmVhdGVkIHNwZWNpYWxseSBhbmQgZG8gbm90IGNhdXNlKTE4MCA1MTMuNgotUiBGMSAtLjE4KHJlKTMuNTAzIEcoYWQpLjE4IEUgRjAgMS4wMDModG8gcmV0dXJuIHVudGlsKTMuNTAzIEYgRjIobmMpCi0zLjUwMyBFKGhhciktLjE1IEUocyktLjEgRSBGMChjaGFyYWN0ZXJzIGFyZSByZWFkLikxODAgNTI1LjYgUSBGMTxhZDcwPgotMTQ0IDUzNy42IFEgRjIocHIpMi41IEUob21wdCktLjQ1IEUgRjAoRGlzcGxheSkxODAgNTQ5LjYgUSBGMihwcikzLjY2MSBFCi0ob21wdCktLjQ1IEUgRjAgMS4xNjEob24gc3RhbmRhcmQgZXJyb3IpMy42NjEgRiAzLjY2MSgsdyktLjQgRyAxLjE2MQotKGl0aG91dCBhIHRyYWlsaW5nIG5lKS0zLjY2MSBGIDEuMTYxKHdsaW5lLCBiZWZvcmUgYXR0ZW1wdGluZyB0byByZWFkKQotLS4yNSBGKGFuKTE4MCA1NjEuNiBRIDIuNSh5aSktLjE1IEcgMi41KG5wdXQuIFRoZSktMi41IEYKLShwcm9tcHQgaXMgZGlzcGxheWVkIG9ubHkgaWYgaW5wdXQgaXMgY29taW5nIGZyb20gYSB0ZXJtaW5hbC4pMi41IEUgRjEKLTxhZDcyPjE0NCA1NzMuNiBRIEYwIC41NDMoQmFja3NsYXNoIGRvZXMgbm90IGFjdCBhcyBhbiBlc2NhcGUgY2hhcmFjdGVyKQotMjUuODYgRiA1LjU0MyguVCktLjU1IEcgLjU0NChoZSBiYWNrc2xhc2ggaXMgY29uc2lkZXJlZCB0byBiZSBwYXJ0IG9mKQotLTUuNTQzIEYodGhlIGxpbmUuKTE4MCA1ODUuNiBRKEluIHBhcnRpY3VsYXIpNSBFIDIuNSgsYWIpLS40IEcKLShhY2tzbGFzaC1uZSktMi41IEUod2xpbmUgcGFpciBtYXkgbm90IGJlIHVzZWQgYXMgYSBsaW5lIGNvbnRpbnVhdGlvbi4pCi0tLjI1IEUgRjE8YWQ3Mz4xNDQgNTk3LjYgUSBGMChTaWxlbnQgbW9kZS4pMjYuNDEgRQotKElmIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwsIGNoYXJhY3RlcnMgYXJlIG5vdCBlY2hvZWQuKTUgRSBGMQotPGFkNzQ+MTQ0IDYwOS42IFEgRjIodGltZW91dCkyLjUgRSBGMChDYXVzZSkxODAgNjIxLjYgUSBGMSAtLjE4KHJlKTMuNTQ5Ci1HKGFkKS4xOCBFIEYwIDEuMDQ4KHRvIHRpbWUgb3V0IGFuZCByZXR1cm4gZikzLjU0OSBGIDEuMDQ4Ci0oYWlsdXJlIGlmIGEgY29tcGxldGUgbGluZSBvZiBpbnB1dCBpcyBub3QgcmVhZCB3aXRoaW4pLS4xIEYgRjIodGltZW91dCkKLTE4MCA2MzMuNiBRIEYwKHNlY29uZHMuKTMuNDk2IEUgRjIodGltZW91dCk1Ljk5NiBFIEYwIC45OTcKLShtYXkgYmUgYSBkZWNpbWFsIG51bWJlciB3aXRoIGEgZnJhY3Rpb25hbCBwb3J0aW9uIGZvbGxvKTMuNDk2IEYod2luZykKLS0uMjUgRSAuNTc2KHRoZSBkZWNpbWFsIHBvaW50LikxODAgNjQ1LjYgUiAuNTc2KFRoaXMgb3B0aW9uIGlzIG9ubHkgZWYpCi01LjU3NiBGKGZlY3RpKS0uMjUgRSAuODc2IC0uMTUodmUgaSktLjI1IEgoZikuMTUgRSBGMSAtLjE4KHJlKTMuMDc2IEcKLShhZCkuMTggRSBGMCAuNTc2KGlzIHJlYWRpbmcgaW5wdXQgZnJvbSBhIHRlcm1pbmFsLCkzLjA3NiBGIC4xNDEKLShwaXBlLCBvciBvdGhlciBzcGVjaWFsIFwyMTRsZTsgaXQgaGFzIG5vIGVmKTE4MCA2NTcuNiBSIC4xNDIKLShmZWN0IHdoZW4gcmVhZGluZyBmcm9tIHJlKS0uMjUgRiAuMTQyKGd1bGFyIFwyMTRsZXMuKS0uMTUgRihJZik1LjE0MiBFCi1GMih0aW1lb3V0KTIuNjQyIEUgRjAgLjE0MihpcyAwLCkyLjY0MiBGIEYxIC0uMTgocmUpMTgwIDY2OS42IFMoYWQpLjE4IEUKLUYwIC4xMTMocmV0dXJucyBzdWNjZXNzIGlmIGlucHV0IGlzIGEpMi42MTQgRiAtLjI1KHZhKS0uMiBHIC4xMTMKLShpbGFibGUgb24gdGhlIHNwZWNpXDIxNGVkIFwyMTRsZSBkZXNjcmlwdG9yKS4yNSBGIDIuNjEzKCxmKS0uNCBHIC4xMTMKLShhaWx1cmUgb3RoZXJ3aXNlLiktMi43MTMgRihUaGUgZSkxODAgNjgxLjYgUQotKHhpdCBzdGF0dXMgaXMgZ3JlYXRlciB0aGFuIDEyOCBpZiB0aGUgdGltZW91dCBpcyBlKS0uMTUgRSh4Y2VlZGVkLiktLjE1Ci1FIEYxPGFkNzU+MTQ0IDY5My42IFEgRjIoZmQpMi41IEUgRjAoUmVhZCBpbnB1dCBmcm9tIFwyMTRsZSBkZXNjcmlwdG9yKQotMTQuNDYgRSBGMihmZCkyLjUgRSBGMCguKUEgLjE5MShJZiBubykxNDQgNzEwLjQgUiBGMihuYW1lcykzLjA1MSBFIEYwCi0uMTkxKGFyZSBzdXBwbGllZCwgdGhlIGxpbmUgcmVhZCBpcyBhc3NpZ25lZCB0byB0aGUgdikyLjk2MSBGKGFyaWFibGUpCi0tLjI1IEUgRjMoUkVQTCkyLjY5MiBFKFkpLS44MjggRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC4xOTIKLShUaGUgcmV0dXJuIGNvZGUgaXMgemVybywpNC42OTIgRiAxLjM0NAotKHVubGVzcyBlbmQtb2YtXDIxNGxlIGlzIGVuY291bnRlcmVkLCkxNDQgNzIyLjQgUiBGMSAtLjE4KHJlKTMuODQ0IEcoYWQpCi0uMTggRSBGMCAxLjM0MwotKHRpbWVzIG91dCBcKGluIHdoaWNoIGNhc2UgdGhlIHJldHVybiBjb2RlIGlzIGdyZWF0ZXIgdGhhbikzLjg0NCBGCisoYWl0aW5nIGZvciBhIGNvbXBsZXRlIGxpbmUgb2YpLS4xIEYoaW5wdXQsIGIpMTgwIDcyNC44IFEKKyh1dCBob25vciBhIGRlbGltaXRlciBpZiBmZSktLjIgRSh3ZXIgdGhhbiktLjI1IEUgRjEobmMpMi41IEUoaGFyKS0uMTUgRQorKHMpLS4xIEUgRjAoY2hhcmFjdGVycyBhcmUgcmVhZCBiZWZvcmUgdGhlIGRlbGltaXRlcikyLjUgRSguKS0uNTUgRQogKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMTIpMTk4LjcyNSBFIDAgQ2cgRVAKICUlUGFnZTogMTMgMTMKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTKFNIX0IpLjM1IEUoVUlMKS0uMSBFIDI5MC40OAotKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUKLSgxMjhcKSwgb3IgYW4gaW4pMTQ0IDg0IFEgLS4yNSh2YSktLjQgRwotKGxpZCBcMjE0bGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXIpLjI1IEUoZ3VtZW50IHRvKS0uMTggRS9GMQotMTAvVGltZXMtQm9sZEAwIFNGPGFkNzU+Mi41IEUgRjAoLilBIEYxIC0uMTgocmUpMTA4IDEwMC44IFMoYWRvbmx5KS4xOCBFCi1GMChbKTIuNSBFIEYxKFwyNTVhQSlBKHBmKS0uMjUgRSBGMCAyLjUoXVspQy9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRgotKG5hbWUpLTIuNSBFIEYwKFs9KUEgRjIod29yKUEoZCktLjM3IEUgRjAgMi41KF0uKUMoLi5dKS0yLjUgRSAuNzcKLShUaGUgZ2kpMTQ0IDExMi44IFIgLS4xNSh2ZSktLjI1IEcobikuMTUgRSBGMihuYW1lcykzLjI3IEUgRjAgLjc3Ci0oYXJlIG1hcmspMy4yNyBGIC43NyhlZCByZWFkb25seTsgdGhlIHYpLS4xIEYgLjc3KGFsdWVzIG9mIHRoZXNlKS0uMjUgRgotRjIobmFtZXMpMy42MyBFIEYwIC43NyhtYXkgbm90IGJlIGNoYW5nZWQgYnkgc3Vic2UtKTMuNTQgRiAxLjA5NwotKHF1ZW50IGFzc2lnbm1lbnQuKTE0NCAxMjQuOCBSIDEuMDk3KElmIHRoZSk2LjA5NyBGIEYxPGFkNjY+My41OTcgRSBGMAotMS4wOTcob3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgZnVuY3Rpb25zIGNvcnJlc3BvbmRpbmcgdG8gdGhlKTMuNTk3IEYgRjIKLShuYW1lcykzLjU5NiBFIEYwIDEuMDk2KGFyZSBzbykzLjU5NiBGKG1hcmspMTQ0IDEzNi44IFEgMy4zMzQoZWQuIFRoZSkKKyhUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCisvVGltZXMtQm9sZEAwIFNGPGFkNGU+MTQ0IDg0IFEvRjIgMTAvVGltZXMtSXRhbGljQDAgU0YobmMpMi41IEUoaGFyKS0uMTUKK0UocyktLjEgRSBGMSAtLjE4KHJlKTE4MCA5NiBTKGFkKS4xOCBFIEYwIDEuMjY5KHJldHVybnMgYWZ0ZXIgcmVhZGluZyBlKQorMy43NjkgRih4YWN0bHkpLS4xNSBFIEYyKG5jKTMuNzY5IEUoaGFyKS0uMTUgRShzKS0uMSBFIEYwIDEuMjY5CisoY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3KTMuNzY5IEYgMS4yNyhhaXRpbmcgZm9yIGEgY29tcGxldGUpLS4xIEYgLjI3NQorKGxpbmUgb2YgaW5wdXQsIHVubGVzcyBFT0YgaXMgZW5jb3VudGVyZWQgb3IpMTgwIDEwOCBSIEYxIC0uMTgocmUpMi43NzUKK0coYWQpLjE4IEUgRjAgLjI3NCh0aW1lcyBvdXQuKTIuNzc0IEYgLjI3NChEZWxpbWl0ZXIgY2hhcmFjdGVycyBlbmNvdW4tKQorNS4yNzQgRiAxLjAwMgorKHRlcmVkIGluIHRoZSBpbnB1dCBhcmUgbm90IHRyZWF0ZWQgc3BlY2lhbGx5IGFuZCBkbyBub3QgY2F1c2UpMTgwIDEyMCBSCitGMSAtLjE4KHJlKTMuNTAzIEcoYWQpLjE4IEUgRjAgMS4wMDModG8gcmV0dXJuIHVudGlsKTMuNTAzIEYgRjIobmMpMy41MDMKK0UoaGFyKS0uMTUgRShzKS0uMSBFIEYwKGNoYXJhY3RlcnMgYXJlIHJlYWQuKTE4MCAxMzIgUSBGMTxhZDcwPjE0NCAxNDQgUQorRjIocHIpMi41IEUob21wdCktLjQ1IEUgRjAoRGlzcGxheSkxODAgMTU2IFEgRjIocHIpMy42NjEgRShvbXB0KS0uNDUgRQorRjAgMS4xNjEob24gc3RhbmRhcmQgZXJyb3IpMy42NjEgRiAzLjY2MSgsdyktLjQgRyAxLjE2MQorKGl0aG91dCBhIHRyYWlsaW5nIG5lKS0zLjY2MSBGIDEuMTYxKHdsaW5lLCBiZWZvcmUgYXR0ZW1wdGluZyB0byByZWFkKQorLS4yNSBGKGFuKTE4MCAxNjggUSAyLjUoeWkpLS4xNSBHIDIuNShucHV0LiBUaGUpLTIuNSBGCisocHJvbXB0IGlzIGRpc3BsYXllZCBvbmx5IGlmIGlucHV0IGlzIGNvbWluZyBmcm9tIGEgdGVybWluYWwuKTIuNSBFIEYxCis8YWQ3Mj4xNDQgMTgwIFEgRjAgLjU0MyhCYWNrc2xhc2ggZG9lcyBub3QgYWN0IGFzIGFuIGVzY2FwZSBjaGFyYWN0ZXIpCisyNS44NiBGIDUuNTQzKC5UKS0uNTUgRyAuNTQ0KGhlIGJhY2tzbGFzaCBpcyBjb25zaWRlcmVkIHRvIGJlIHBhcnQgb2YpCistNS41NDMgRih0aGUgbGluZS4pMTgwIDE5MiBRKEluIHBhcnRpY3VsYXIpNSBFIDIuNSgsYWIpLS40IEcKKyhhY2tzbGFzaC1uZSktMi41IEUod2xpbmUgcGFpciBtYXkgbm90IGJlIHVzZWQgYXMgYSBsaW5lIGNvbnRpbnVhdGlvbi4pCistLjI1IEUgRjE8YWQ3Mz4xNDQgMjA0IFEgRjAoU2lsZW50IG1vZGUuKTI2LjQxIEUKKyhJZiBpbnB1dCBpcyBjb21pbmcgZnJvbSBhIHRlcm1pbmFsLCBjaGFyYWN0ZXJzIGFyZSBub3QgZWNob2VkLik1IEUgRjEKKzxhZDc0PjE0NCAyMTYgUSBGMih0aW1lb3V0KTIuNSBFIEYwKENhdXNlKTE4MCAyMjggUSBGMSAtLjE4KHJlKTMuNTQ5IEcKKyhhZCkuMTggRSBGMCAxLjA0OCh0byB0aW1lIG91dCBhbmQgcmV0dXJuIGYpMy41NDkgRiAxLjA0OAorKGFpbHVyZSBpZiBhIGNvbXBsZXRlIGxpbmUgb2YgaW5wdXQgaXMgbm90IHJlYWQgd2l0aGluKS0uMSBGIEYyKHRpbWVvdXQpCisxODAgMjQwIFEgRjAoc2Vjb25kcy4pMy40OTYgRSBGMih0aW1lb3V0KTUuOTk2IEUgRjAgLjk5NworKG1heSBiZSBhIGRlY2ltYWwgbnVtYmVyIHdpdGggYSBmcmFjdGlvbmFsIHBvcnRpb24gZm9sbG8pMy40OTYgRih3aW5nKQorLS4yNSBFIC41NzYodGhlIGRlY2ltYWwgcG9pbnQuKTE4MCAyNTIgUiAuNTc2KFRoaXMgb3B0aW9uIGlzIG9ubHkgZWYpCis1LjU3NiBGKGZlY3RpKS0uMjUgRSAuODc2IC0uMTUodmUgaSktLjI1IEgoZikuMTUgRSBGMSAtLjE4KHJlKTMuMDc2IEcKKyhhZCkuMTggRSBGMCAuNTc2KGlzIHJlYWRpbmcgaW5wdXQgZnJvbSBhIHRlcm1pbmFsLCkzLjA3NiBGIC4xNDEKKyhwaXBlLCBvciBvdGhlciBzcGVjaWFsIFwyMTRsZTsgaXQgaGFzIG5vIGVmKTE4MCAyNjQgUiAuMTQyCisoZmVjdCB3aGVuIHJlYWRpbmcgZnJvbSByZSktLjI1IEYgLjE0MihndWxhciBcMjE0bGVzLiktLjE1IEYoSWYpNS4xNDIgRQorRjIodGltZW91dCkyLjY0MiBFIEYwIC4xNDIoaXMgMCwpMi42NDIgRiBGMSAtLjE4KHJlKTE4MCAyNzYgUyhhZCkuMTggRQorRjAgLjExMyhyZXR1cm5zIHN1Y2Nlc3MgaWYgaW5wdXQgaXMgYSkyLjYxNCBGIC0uMjUodmEpLS4yIEcgLjExMworKGlsYWJsZSBvbiB0aGUgc3BlY2lcMjE0ZWQgXDIxNGxlIGRlc2NyaXB0b3IpLjI1IEYgMi42MTMoLGYpLS40IEcgLjExMworKGFpbHVyZSBvdGhlcndpc2UuKS0yLjcxMyBGKFRoZSBlKTE4MCAyODggUQorKHhpdCBzdGF0dXMgaXMgZ3JlYXRlciB0aGFuIDEyOCBpZiB0aGUgdGltZW91dCBpcyBlKS0uMTUgRSh4Y2VlZGVkLiktLjE1CitFIEYxPGFkNzU+MTQ0IDMwMCBRIEYyKGZkKTIuNSBFIEYwKFJlYWQgaW5wdXQgZnJvbSBcMjE0bGUgZGVzY3JpcHRvcikKKzE0LjQ2IEUgRjIoZmQpMi41IEUgRjAoLilBIC4xOTEoSWYgbm8pMTQ0IDMxNi44IFIgRjIobmFtZXMpMy4wNTEgRSBGMAorLjE5MShhcmUgc3VwcGxpZWQsIHRoZSBsaW5lIHJlYWQgaXMgYXNzaWduZWQgdG8gdGhlIHYpMi45NjEgRihhcmlhYmxlKQorLS4yNSBFL0YzIDkvVGltZXMtQm9sZEAwIFNGKFJFUEwpMi42OTIgRShZKS0uODI4IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGCisoLilBIEYwIC4xOTIoVGhlIHJldHVybiBjb2RlIGlzIHplcm8sKTQuNjkyIEYgMS4zNDQKKyh1bmxlc3MgZW5kLW9mLVwyMTRsZSBpcyBlbmNvdW50ZXJlZCwpMTQ0IDMyOC44IFIgRjEgLS4xOChyZSkzLjg0NCBHKGFkKQorLjE4IEUgRjAgMS4zNDMKKyh0aW1lcyBvdXQgXChpbiB3aGljaCBjYXNlIHRoZSByZXR1cm4gY29kZSBpcyBncmVhdGVyIHRoYW4pMy44NDQgRgorKDEyOFwpLCBvciBhbiBpbikxNDQgMzQwLjggUSAtLjI1KHZhKS0uNCBHCisobGlkIFwyMTRsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcikuMjUgRShndW1lbnQgdG8pLS4xOCBFIEYxCis8YWQ3NT4yLjUgRSBGMCguKUEgRjEgLS4xOChyZSkxMDggMzU3LjYgUyhhZG9ubHkpLjE4IEUgRjAoWykyLjUgRSBGMQorKFwyNTVhQSlBKHBmKS0uMjUgRSBGMCAyLjUoXVspQyBGMihuYW1lKS0yLjUgRSBGMChbPSlBIEYyKHdvcilBKGQpLS4zNyBFCitGMCAyLjUoXS4pQyguLl0pLTIuNSBFIC43NyhUaGUgZ2kpMTQ0IDM2OS42IFIgLS4xNSh2ZSktLjI1IEcobikuMTUgRSBGMgorKG5hbWVzKTMuMjcgRSBGMCAuNzcoYXJlIG1hcmspMy4yNyBGIC43NyhlZCByZWFkb25seTsgdGhlIHYpLS4xIEYgLjc3CisoYWx1ZXMgb2YgdGhlc2UpLS4yNSBGIEYyKG5hbWVzKTMuNjMgRSBGMCAuNzcKKyhtYXkgbm90IGJlIGNoYW5nZWQgYnkgc3Vic2UtKTMuNTQgRiAxLjA5NyhxdWVudCBhc3NpZ25tZW50LikxNDQgMzgxLjYgUgorMS4wOTcoSWYgdGhlKTYuMDk3IEYgRjE8YWQ2Nj4zLjU5NyBFIEYwIDEuMDk3Cisob3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgZnVuY3Rpb25zIGNvcnJlc3BvbmRpbmcgdG8gdGhlKTMuNTk3IEYgRjIKKyhuYW1lcykzLjU5NiBFIEYwIDEuMDk2KGFyZSBzbykzLjU5NiBGKG1hcmspMTQ0IDM5My42IFEgMy4zMzQoZWQuIFRoZSkKIC0uMSBGIEYxPGFkNjE+My4zMzQgRSBGMCAuODM0KG9wdGlvbiByZXN0cmljdHMgdGhlIHYpMy4zMzQgRiAuODM0CiAoYXJpYWJsZXMgdG8gaW5kZSktLjI1IEYgLS4xNSh4ZSktLjE1IEcgMy4zMzQoZGEpLjE1IEcgLjgzNChycmF5czsgdGhlKQogLTMuMzM0IEYgRjE8YWQ0MT4zLjMzNCBFIEYwIC44MzQob3B0aW9uIHJlc3RyaWN0cyB0aGUgdikzLjMzNCBGKGFyaS0pCi0tLjI1IEUgLjUzOChhYmxlcyB0byBhc3NvY2lhdGkpMTQ0IDE0OC44IFIgLjgzOCAtLjE1KHZlIGEpLS4yNSBIIDMuMDM4CistLjI1IEUgLjUzOChhYmxlcyB0byBhc3NvY2lhdGkpMTQ0IDQwNS42IFIgLjgzOCAtLjE1KHZlIGEpLS4yNSBIIDMuMDM4CiAocnJheXMuIElmKS4xNSBGKG5vKTMuMDM4IEUgRjIobmFtZSkzLjM5OCBFIEYwKGFyKTMuMjE4IEUgLjUzOAogKGd1bWVudHMgYXJlIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRyAuNTM4KG4sIG9yIGlmIHRoZSkuMTUgRiBGMTxhZDcwPgogMy4wMzggRSBGMCAuNTM3KG9wdGlvbiBpcyBzdXBwbGllZCwgYSBsaXN0KTMuMDM4IEYgLjA4Ci0ob2YgYWxsIHJlYWRvbmx5IG5hbWVzIGlzIHByaW50ZWQuKTE0NCAxNjAuOCBSKFRoZSk1LjA4IEUgRjE8YWQ3MD4yLjU4IEUKKyhvZiBhbGwgcmVhZG9ubHkgbmFtZXMgaXMgcHJpbnRlZC4pMTQ0IDQxNy42IFIoVGhlKTUuMDggRSBGMTxhZDcwPjIuNTggRQogRjAgLjA4MShvcHRpb24gY2F1c2VzIG91dHB1dCB0byBiZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgdGhhdCBtYXkpMi41OCBGCi0xLjE3NyhiZSByZXVzZWQgYXMgaW5wdXQuKTE0NCAxNzIuOCBSIDEuMTc3KElmIGEgdik2LjE3NyBGIDEuMTc2CisxLjE3NyhiZSByZXVzZWQgYXMgaW5wdXQuKTE0NCA0MjkuNiBSIDEuMTc3KElmIGEgdik2LjE3NyBGIDEuMTc2CiAoYXJpYWJsZSBuYW1lIGlzIGZvbGxvKS0uMjUgRiAxLjE3Nih3ZWQgYnkgPSktLjI1IEYgRjIod29yKUEoZCktLjM3IEUgRjAKIDMuNjc2KCx0KUMgMS4xNzYoaGUgdiktMy42NzYgRiAxLjE3NihhbHVlIG9mIHRoZSB2KS0uMjUgRiAxLjE3NgotKGFyaWFibGUgaXMgc2V0IHRvKS0uMjUgRiBGMih3b3IpMTQ0IDE4NC44IFEoZCktLjM3IEUgRjAgNi4yMDUoLlQpQworKGFyaWFibGUgaXMgc2V0IHRvKS0uMjUgRiBGMih3b3IpMTQ0IDQ0MS42IFEoZCktLjM3IEUgRjAgNi4yMDUoLlQpQwogMS4yMDUoaGUgcmV0dXJuIHN0YXR1cyBpcyAwIHVubGVzcyBhbiBpbiktNi4yMDUgRiAtLjI1KHZhKS0uNCBHIDEuMjA2CiAobGlkIG9wdGlvbiBpcyBlbmNvdW50ZXJlZCwgb25lIG9mIHRoZSkuMjUgRiBGMihuYW1lcyk0LjA2NiBFIEYwIDEuMjA2Ci0oaXMgbm90IGEpMy45NzYgRiAtLjI1KHZhKTE0NCAxOTYuOCBTKGxpZCBzaGVsbCB2KS4yNSBFCisoaXMgbm90IGEpMy45NzYgRiAtLjI1KHZhKTE0NCA0NTMuNiBTKGxpZCBzaGVsbCB2KS4yNSBFCiAoYXJpYWJsZSBuYW1lLCBvciktLjI1IEUgRjE8YWQ2Nj4yLjUgRSBGMChpcyBzdXBwbGllZCB3aXRoIGEpMi41IEUgRjIKLShuYW1lKTIuODYgRSBGMCh0aGF0IGlzIG5vdCBhIGZ1bmN0aW9uLikyLjY4IEUgRjEgLS4xOChyZSkxMDggMjEzLjYgUworKG5hbWUpMi44NiBFIEYwKHRoYXQgaXMgbm90IGEgZnVuY3Rpb24uKTIuNjggRSBGMSAtLjE4KHJlKTEwOCA0NzAuNCBTCiAodHVyKS4xOCBFKG4pLS4xNSBFIEYwKFspMi41IEUgRjIobilBIEYwKF0pQSAuNTg3Ci0oQ2F1c2VzIGEgZnVuY3Rpb24gdG8gZSkxNDQgMjI1LjYgUiAuNTg3KHhpdCB3aXRoIHRoZSByZXR1cm4gdiktLjE1IEYKKyhDYXVzZXMgYSBmdW5jdGlvbiB0byBlKTE0NCA0ODIuNCBSIC41ODcoeGl0IHdpdGggdGhlIHJldHVybiB2KS0uMTUgRgogLjU4NyhhbHVlIHNwZWNpXDIxNGVkIGJ5KS0uMjUgRiBGMihuKTMuMDg3IEUgRjAgNS41ODcoLkkpLjI0IEcoZiktNS41ODcKIEUgRjIobikzLjQ0NyBFIEYwIC41ODYoaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMpMy4zMjcgRiAxLjMzNQotKHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBlKTE0NCAyMzcuNiBSIC0uMTUoeGUpLS4xNSBHIDEuMzM1CisodGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kIGUpMTQ0IDQ5NC40IFIgLS4xNSh4ZSktLjE1IEcgMS4zMzUKIChjdXRlZCBpbiB0aGUgZnVuY3Rpb24gYm9keSkuMTUgRiA2LjMzNSguSSktLjY1IEcgMy44MzUoZnUpLTYuMzM1IEcKIDEuMzM1KHNlZCBvdXRzaWRlIGEgZnVuY3Rpb24sIGIpLTMuODM1IEYgMS4zMzUodXQgZHVyaW5nKS0uMiBGIC0uMTUoZXhlKQotMTQ0IDI0OS42IFMgLjc5NChjdXRpb24gb2YgYSBzY3JpcHQgYnkgdGhlKS4xNSBGIEYxKC4pMy4yOTQgRSBGMChcKCkKKzE0NCA1MDYuNCBTIC43OTQoY3V0aW9uIG9mIGEgc2NyaXB0IGJ5IHRoZSkuMTUgRiBGMSguKTMuMjk0IEUgRjAoXCgpCiA1Ljc5NCBFIEYxKHNvdXIpQShjZSktLjE4IEUgRjAgMy4yOTQoXCljKUMgLjc5NAogKG9tbWFuZCwgaXQgY2F1c2VzIHRoZSBzaGVsbCB0byBzdG9wIGUpLTMuMjk0IEYgLS4xNSh4ZSktLjE1IEcgLjc5NAotKGN1dGluZyB0aGF0IHNjcmlwdCkuMTUgRiAuMjQ1KGFuZCByZXR1cm4gZWl0aGVyKTE0NCAyNjEuNiBSIEYyKG4pMy4xMDUKKyhjdXRpbmcgdGhhdCBzY3JpcHQpLjE1IEYgLjI0NShhbmQgcmV0dXJuIGVpdGhlcikxNDQgNTE4LjQgUiBGMihuKTMuMTA1CiBFIEYwIC4yNDYob3IgdGhlIGUpMi45ODUgRiAuMjQ2KHhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBlKS0uMTUgRgogLS4xNSh4ZSktLjE1IEcgLjI0NihjdXRlZCB3aXRoaW4gdGhlIHNjcmlwdCBhcyB0aGUgZSkuMTUgRiAuMjQ2Ci0oeGl0IHN0YS0pLS4xNSBGIC4wODIodHVzIG9mIHRoZSBzY3JpcHQuKTE0NCAyNzMuNiBSIC4wODIKKyh4aXQgc3RhLSktLjE1IEYgLjA4Mih0dXMgb2YgdGhlIHNjcmlwdC4pMTQ0IDUzMC40IFIgLjA4MgogKElmIHVzZWQgb3V0c2lkZSBhIGZ1bmN0aW9uIGFuZCBub3QgZHVyaW5nIGUpNS4wODIgRiAtLjE1KHhlKS0uMTUgRyAuMDgyCiAoY3V0aW9uIG9mIGEgc2NyaXB0IGJ5KS4xNSBGIEYxKC4pMi41ODIgRSBGMCAyLjU4MSgsdCkuODMzIEcgLjA4MQotKGhlIHJldHVybiBzdGEtKS0yLjU4MSBGIDIuMzA1KHR1cyBpcyBmKTE0NCAyODUuNiBSIDQuODA1KGFsc2UuIEFuKS0uMSBGCisoaGUgcmV0dXJuIHN0YS0pLTIuNTgxIEYgMi4zMDUodHVzIGlzIGYpMTQ0IDU0Mi40IFIgNC44MDUoYWxzZS4gQW4pLS4xIEYKIDQuODA1KHljKS0uMTUgRyAyLjMwNShvbW1hbmQgYXNzb2NpYXRlZCB3aXRoIHRoZSktNC44MDUgRiBGMShSRVRVUk4pCiA0LjgwNSBFIEYwIDIuMzA2KHRyYXAgaXMgZSk0LjgwNiBGIC0uMTUoeGUpLS4xNSBHIDIuMzA2KGN1dGVkIGJlZm9yZSBlKQogLjE1IEYgLS4xNSh4ZSktLjE1IEcoY3V0aW9uKS4xNSBFKHJlc3VtZXMgYWZ0ZXIgdGhlIGZ1bmN0aW9uIG9yIHNjcmlwdC4pCi0xNDQgMjk3LjYgUSBGMShzZXQpMTA4IDMxNC40IFEgRjAoWykyLjUgRSBGMQotKFwyNTVcMjU1YWJlZmhrbW5wdHV2eEJDRUhQVClBIEYwIDIuNShdWylDIEYxPGFkNmY+LTIuNSBFIEYyKG9wdGlvbikyLjUKLUUgRjAgMi41KF1bKUMgRjIoYXIpLTIuNSBFKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUgRjEoc2V0KTEwOCAzMjYuNCBRIEYwCi0oWykyLjUgRSBGMSgrYWJlZmhrbW5wdHV2eEJDRUhQVClBIEYwIDIuNShdWylDIEYxKCtvKS0yLjUgRSBGMihvcHRpb24pCi0yLjUgRSBGMCAyLjUoXVspQyBGMihhciktMi41IEUoZyktLjM3IEUgRjAoLi4uXSkyLjUgRSAtLjQoV2kpMTQ0IDMzOC40IFMKLS44MzYodGhvdXQgb3B0aW9ucywgdGhlIG5hbWUgYW5kIHYpLjQgRiAuODM1KGFsdWUgb2YgZWFjaCBzaGVsbCB2KS0uMjUgRgotLjgzNShhcmlhYmxlIGFyZSBkaXNwbGF5ZWQgaW4gYSBmb3JtYXQgdGhhdCBjYW4gYmUpLS4yNSBGIC43ODQKLShyZXVzZWQgYXMgaW5wdXQgZm9yIHNldHRpbmcgb3IgcmVzZXR0aW5nIHRoZSBjdXJyZW50bHktc2V0IHYpMTQ0IDM1MC40CisxNDQgNTU0LjQgUSBGMShzZXQpMTA4IDU3MS4yIFEgRjAoWykyLjUgRSBGMQorKFwyNTVcMjU1YWJlZmhrbW5wdHV2eEJDRUhQVClBIEYwIDIuNShdWylDIEYxPGFkNmY+LTIuNSBFIEYyCisob3B0aW9uXDI1NW5hbWUpMi41IEUgRjAgMi41KF1bKUMgRjIoYXIpLTIuNSBFKGcpLS4zNyBFIEYwKC4uLl0pMi41IEUgRjEKKyhzZXQpMTA4IDU4My4yIFEgRjAoWykyLjUgRSBGMSgrYWJlZmhrbW5wdHV2eEJDRUhQVClBIEYwIDIuNShdWylDIEYxKCtvKQorLTIuNSBFIEYyKG9wdGlvblwyNTVuYW1lKTIuNSBFIEYwIDIuNShdWylDIEYyKGFyKS0yLjUgRShnKS0uMzcgRSBGMAorKC4uLl0pMi41IEUgLS40KFdpKTE0NCA1OTUuMiBTIC44MzYodGhvdXQgb3B0aW9ucywgdGhlIG5hbWUgYW5kIHYpLjQgRgorLjgzNShhbHVlIG9mIGVhY2ggc2hlbGwgdiktLjI1IEYgLjgzNQorKGFyaWFibGUgYXJlIGRpc3BsYXllZCBpbiBhIGZvcm1hdCB0aGF0IGNhbiBiZSktLjI1IEYgLjc4NAorKHJldXNlZCBhcyBpbnB1dCBmb3Igc2V0dGluZyBvciByZXNldHRpbmcgdGhlIGN1cnJlbnRseS1zZXQgdikxNDQgNjA3LjIKIFIgMy4yODQoYXJpYWJsZXMuIFJlYWQtb25seSktLjI1IEYgLS4yNSh2YSkzLjI4NCBHIC43ODQKLShyaWFibGVzIGNhbm5vdCBiZSkuMjUgRiAyLjk0NyhyZXNldC4gSW4pMTQ0IDM2Mi40IFIgRjIgLjQ0Nyhwb3NpeCBtb2RlKQorKHJpYWJsZXMgY2Fubm90IGJlKS4yNSBGIDIuOTQ3KHJlc2V0LiBJbikxNDQgNjE5LjIgUiBGMiAuNDQ3KHBvc2l4IG1vZGUpCiAyLjk0NyBGIEYwIDIuOTQ3KCxvKUMgLjQ0NyhubHkgc2hlbGwgdiktMi45NDcgRiAuNDQ3CiAoYXJpYWJsZXMgYXJlIGxpc3RlZC4pLS4yNSBGIC40NDcKIChUaGUgb3V0cHV0IGlzIHNvcnRlZCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQpNS40NDcgRiAzLjUzCi0obG9jYWxlLiBXaGVuKTE0NCAzNzQuNCBSIDEuMDMxKG9wdGlvbnMgYXJlIHNwZWNpXDIxNGVkLCB0aGUpMy41MyBGCisobG9jYWxlLiBXaGVuKTE0NCA2MzEuMiBSIDEuMDMxKG9wdGlvbnMgYXJlIHNwZWNpXDIxNGVkLCB0aGUpMy41MyBGCiAzLjUzMSh5cyktLjE1IEcgMS4wMzEoZXQgb3IgdW5zZXQgc2hlbGwgYXR0cmliKS0zLjUzMSBGIDMuNTMxKHV0ZXMuIEFuKQogLS4yIEYgMy41MzEoeWEpLS4xNSBHIC0uMTgocmcpLTMuNTMxIEcgMS4wMzEodW1lbnRzIHJlbWFpbmluZykuMTggRgotMS42MjQoYWZ0ZXIgb3B0aW9uIHByb2Nlc3NpbmcgYXJlIHRyZWF0ZWQgYXMgdikxNDQgMzg2LjQgUiAxLjYyMworMS42MjQoYWZ0ZXIgb3B0aW9uIHByb2Nlc3NpbmcgYXJlIHRyZWF0ZWQgYXMgdikxNDQgNjQzLjIgUiAxLjYyMwogKGFsdWVzIGZvciB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFuZCBhcmUgYXNzaWduZWQsIGluKS0uMjUgRihvcmRlcikKLTE0NCAzOTguNCBRIDIuNSgsdCktLjQgRyhvKS0yLjUgRSBGMSgkMSkyLjUgRSBGMCgsKUEgRjEoJDIpMi41IEUgRjAoLClBCisxNDQgNjU1LjIgUSAyLjUoLHQpLS40IEcobyktMi41IEUgRjEoJDEpMi41IEUgRjAoLClBIEYxKCQyKTIuNSBFIEYwKCwpQQogRjEgMi41KC4uLiAkKTIuNSBGIEYyKG4pQSBGMCA1KC5PKUMocHRpb25zLCBpZiBzcGVjaVwyMTRlZCwgaGEpLTUgRSAuMwotLS4xNSh2ZSB0KS0uMiBIKGhlIGZvbGxvKS4xNSBFKHdpbmcgbWVhbmluZ3M6KS0uMjUgRSBGMTxhZDYxPjE0NCA0MTAuNCBRCistLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopLS4yNSBFIEYxPGFkNjE+MTQ0IDY2Ny4yIFEKIEYwIC41MzkoQXV0b21hdGljYWxseSBtYXJrIHYpMjkuMyBGIC41MzkKIChhcmlhYmxlcyBhbmQgZnVuY3Rpb25zIHdoaWNoIGFyZSBtb2RpXDIxNGVkIG9yIGNyZWF0ZWQgZm9yIGUpLS4yNSBGIC41NAotKHhwb3J0IHRvKS0uMTUgRih0aGUgZW4pMTg0IDQyMi40IFEodmlyb25tZW50IG9mIHN1YnNlcXVlbnQgY29tbWFuZHMuKQotLS40IEUgRjE8YWQ2Mj4xNDQgNDM0LjQgUSBGMCAuMTMyCisoeHBvcnQgdG8pLS4xNSBGKHRoZSBlbikxODQgNjc5LjIgUSh2aXJvbm1lbnQgb2Ygc3Vic2VxdWVudCBjb21tYW5kcy4pCistLjQgRSBGMTxhZDYyPjE0NCA2OTEuMiBRIEYwIC4xMzIKIChSZXBvcnQgdGhlIHN0YXR1cyBvZiB0ZXJtaW5hdGVkIGJhY2tncm91bmQgam9icyBpbW1lZGlhdGVseSkyOC43NCBGCiAyLjYzMigsciktLjY1IEcgLjEzMShhdGhlciB0aGFuIGJlZm9yZSB0aGUgbmUpLTIuNjMyIEYoeHQpLS4xNSBFCi0ocHJpbWFyeSBwcm9tcHQuKTE4NCA0NDYuNCBRKFRoaXMgaXMgZWYpNSBFKGZlY3RpKS0uMjUgRSAuMyAtLjE1KHZlIG8pCi0tLjI1IEgobmx5IHdoZW4gam9iIGNvbnRyb2wgaXMgZW5hYmxlZC4pLjE1IEUgRjE8YWQ2NT4xNDQgNDU4LjQgUSBGMCAuNTEKKyhwcmltYXJ5IHByb21wdC4pMTg0IDcwMy4yIFEoVGhpcyBpcyBlZik1IEUoZmVjdGkpLS4yNSBFIC4zIC0uMTUodmUgbykKKy0uMjUgSChubHkgd2hlbiBqb2IgY29udHJvbCBpcyBlbmFibGVkLikuMTUgRSBGMTxhZDY1PjE0NCA3MTUuMiBRIEYwIC41MQogKEV4aXQgaW1tZWRpYXRlbHkgaWYgYSkyOS44NiBGIEYyKHBpcGVsaW5lKTMuMDEgRSBGMCAuNTExCiAoXCh3aGljaCBtYXkgY29uc2lzdCBvZiBhIHNpbmdsZSkzLjAxMSBGIEYyIC41MTEoc2ltcGxlIGNvbW1hbmQpMy4wMTEgRgotRjAgMy4wMTEoXCksIGEpQiBGMihzdWItKTMuMDExIEUoc2hlbGwpMTg0IDQ3MC40IFEgRjAgLjg3MgorRjAgMy4wMTEoXCksIGEpQiBGMihzdWItKTMuMDExIEUoc2hlbGwpMTg0IDcyNy4yIFEgRjAgLjg3MgogKGNvbW1hbmQgZW5jbG9zZWQgaW4gcGFyZW50aGVzZXMsIG9yIG9uZSBvZiB0aGUgY29tbWFuZHMgZSkzLjM3MyBGIC0uMTUKLSh4ZSktLjE1IEcgLjg3MihjdXRlZCBhcyBwYXJ0IG9mIGEpLjE1IEYgLjM5OQotKGNvbW1hbmQgbGlzdCBlbmNsb3NlZCBieSBicmFjZXMgXChzZWUpMTg0IDQ4Mi40IFIvRjMgOS9UaW1lcy1Cb2xkQDAgU0YKLS4zOTkoU0hFTEwgR1JBTU1BUikyLjg5OSBGIEYwKGFibykyLjY0OSBFIC0uMTUodmUpLS4xNSBHIDIuODk5KFwpZSkuMTUgRwotLjM5OSh4aXRzIHdpdGggYSBub24temVybyktMy4wNDkgRiAzLjk2OShzdGF0dXMuIFRoZSkxODQgNDk0LjQgUiAxLjQ2OAotKHNoZWxsIGRvZXMgbm90IGUpMy45NjkgRiAxLjQ2OCh4aXQgaWYgdGhlIGNvbW1hbmQgdGhhdCBmKS0uMTUgRiAxLjQ2OAotKGFpbHMgaXMgcGFydCBvZiB0aGUgY29tbWFuZCBsaXN0KS0uMSBGIC41NjkoaW1tZWRpYXRlbHkgZm9sbG8pMTg0IDUwNi40Ci1SIC41Njkod2luZyBhKS0uMjUgRiBGMSh3aGlsZSkzLjA2OSBFIEYwKG9yKTMuMDY5IEUgRjEodW50aWwpMy4wNjkgRSBGMAotLS4xKGtlKTMuMDY5IEcoeXcpLS4wNSBFIC41Njkob3JkLCBwYXJ0IG9mIHRoZSB0ZXN0IGZvbGxvKS0uMSBGIC41NwotKHdpbmcgdGhlKS0uMjUgRiBGMShpZikzLjA3IEUgRjAob3IpMy4wNyBFIEYxKGVsaWYpMy4wNyBFIEYwKHJlc2VydikxODQKLTUxOC40IFEgLjU0NChlZCB3KS0uMTUgRiAuNTQ0KG9yZHMsIHBhcnQgb2YgYW4pLS4xIEYgMy4wNDQoeWMpLS4xNSBHCi0uNTQ0KG9tbWFuZCBlKS0zLjA0NCBGIC0uMTUoeGUpLS4xNSBHIC41NDQoY3V0ZWQgaW4gYSkuMTUgRiBGMSgmJikzLjA0NAotRSBGMChvcikzLjA0NCBFL0Y0IDEwL1N5bWJvbCBTRjxlZmVmPjMuMDQ0IEUgRjAgLjU0NChsaXN0IGUpMy4wNDQgRiAuNTQ0Ci0oeGNlcHQgdGhlIGNvbW1hbmQpLS4xNSBGKGZvbGxvKTE4NCA1MzAuNCBRIDEuMjMod2luZyB0aGUgXDIxNG5hbCktLjI1IEYKLUYxKCYmKTMuNzMgRSBGMChvcikzLjczIEUgRjQ8ZWZlZj4zLjczIEUgRjAgMy43MygsYSlDIDEuNTMgLS4xNShueSBjKQotLTMuNzMgSCAxLjIzMShvbW1hbmQgaW4gYSBwaXBlbGluZSBiKS4xNSBGIDEuMjMxCi0odXQgdGhlIGxhc3QsIG9yIGlmIHRoZSBjb20tKS0uMiBGKG1hbmQnKTE4NCA1NDIuNCBRIDMuMTkxKHNyKS0uNTUgRwotLjY5MShldHVybiB2KS0zLjE5MSBGIC42OTEoYWx1ZSBpcyBiZWluZyBpbiktLjI1IEYgLS4xNSh2ZSktLjQgRyAuNjkxCi0ocnRlZCB3aXRoKS4xNSBGIEYxKCEpMy4xOTEgRSBGMCA1LjY5MSguQSlDIC42OTEodHJhcCBvbiktMi41IEYgRjEoRVJSKQotMy4xOSBFIEYwIDMuMTkoLGkpQyAzLjE5KGZzKS0zLjE5IEcgLjY5KGV0LCBpcyBlKS0zLjE5IEYgLS4xNSh4ZSktLjE1IEcKLS42OShjdXRlZCBiZWZvcmUpLjE1IEYgLjY4Nih0aGUgc2hlbGwgZSkxODQgNTU0LjQgUiAzLjE4Nih4aXRzLiBUaGlzKQotLS4xNSBGIC42ODYob3B0aW9uIGFwcGxpZXMgdG8gdGhlIHNoZWxsIGVuKTMuMTg2IEYgLjY4NgotKHZpcm9ubWVudCBhbmQgZWFjaCBzdWJzaGVsbCBlbiktLjQgRih2aXJvbi0pLS40IEUgLjA2OAotKG1lbnQgc2VwYXJhdGVseSBcKHNlZSkxODQgNTY2LjQgUiBGMyAuMDY4KENPTU1BTkQgRVhFQ1VUSU9OIEVOVklSKTIuNTY4Ci1GKE9OTUVOVCktLjI3IEUgRjAoYWJvKTIuMzE4IEUgLS4xNSh2ZSktLjE1IEcgLjA2OChcKSwgYW5kIG1heSBjYXVzZSkuMTUKLUYoc3Vic2hlbGxzIHRvIGUpMTg0IDU3OC40IFEoeGl0IGJlZm9yZSBlKS0uMTUgRSAtLjE1KHhlKS0uMTUgRwotKGN1dGluZyBhbGwgdGhlIGNvbW1hbmRzIGluIHRoZSBzdWJzaGVsbC4pLjE1IEUgRjE8YWQ2Nj4xNDQgNTkwLjQgUSBGMAotKERpc2FibGUgcGF0aG5hbWUgZSkzMC45NyBFKHhwYW5zaW9uLiktLjE1IEUgRjE8YWQ2OD4xNDQgNjAyLjQgUSBGMAotMi4yMzgoUmVtZW1iZXIgdGhlIGxvY2F0aW9uIG9mIGNvbW1hbmRzIGFzIHRoZSkyOC43NCBGIDQuNzM4KHlhKS0uMTUgRwotMi4yMzkocmUgbG9vayktNC43MzggRiAyLjIzOShlZCB1cCBmb3IgZSktLjEgRiAtLjE1KHhlKS0uMTUgRyA0LjczOQotKGN1dGlvbi4gVGhpcykuMTUgRihpcyk0LjczOSBFKGVuYWJsZWQgYnkgZGVmKTE4NCA2MTQuNCBRKGF1bHQuKS0uMSBFIEYxCi08YWQ2Yj4xNDQgNjI2LjQgUSBGMCAuNTE0KEFsbCBhcikyOC43NCBGIC41MTQKLShndW1lbnRzIGluIHRoZSBmb3JtIG9mIGFzc2lnbm1lbnQgc3RhdGVtZW50cyBhcmUgcGxhY2VkIGluIHRoZSBlbiktLjE4Ci1GIC41MTModmlyb25tZW50IGZvciBhKS0uNCBGCi0oY29tbWFuZCwgbm90IGp1c3QgdGhvc2UgdGhhdCBwcmVjZWRlIHRoZSBjb21tYW5kIG5hbWUuKTE4NCA2MzguNCBRIEYxCi08YWQ2ZD4xNDQgNjUwLjQgUSBGMCAuMTQ4KE1vbml0b3IgbW9kZS4pMjUuOTcgRiAuMTQ4Ci0oSm9iIGNvbnRyb2wgaXMgZW5hYmxlZC4pNS4xNDggRiAuMTQ5KFRoaXMgb3B0aW9uIGlzIG9uIGJ5IGRlZik1LjE0OCBGCi0uMTQ5KGF1bHQgZm9yIGludGVyYWN0aSktLjEgRiAuNDQ5IC0uMTUodmUgcyktLjI1IEgoaGVsbHMpLjE1IEUgLjYzNwotKG9uIHN5c3RlbXMgdGhhdCBzdXBwb3J0IGl0IFwoc2VlKTE4NCA2NjIuNCBSIEYzIC42MzYoSk9CIENPTlRSKTMuMTM2IEYKLShPTCktLjI3IEUgRjAoYWJvKTIuODg2IEUgLS4xNSh2ZSktLjE1IEcgMy4xMzYoXCkuIEJhY2tncm91bmQpLjE1IEYgLjYzNgotKHByb2Nlc3NlcyBydW4gaW4gYSkzLjEzNiBGIC42NDEKLShzZXBhcmF0ZSBwcm9jZXNzIGdyb3VwIGFuZCBhIGxpbmUgY29udGFpbmluZyB0aGVpciBlKTE4NCA2NzQuNCBSIC42NDIKLSh4aXQgc3RhdHVzIGlzIHByaW50ZWQgdXBvbiB0aGVpciBjb20tKS0uMTUgRihwbGV0aW9uLikxODQgNjg2LjQgUSBGMQotPGFkNmU+MTQ0IDY5OC40IFEgRjAgLjY1MyhSZWFkIGNvbW1hbmRzIGIpMjguNzQgRiAuNjUzKHV0IGRvIG5vdCBlKS0uMiBGCi0tLjE1KHhlKS0uMTUgRyAuNjUzKGN1dGUgdGhlbS4pLjE1IEYgLjY1MgotKFRoaXMgbWF5IGJlIHVzZWQgdG8gY2hlY2sgYSBzaGVsbCBzY3JpcHQgZm9yKTUuNjUzIEYoc3ludGF4IGVycm9ycy4pMTg0Ci03MTAuNCBRKFRoaXMgaXMgaWdub3JlZCBieSBpbnRlcmFjdGkpNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNQotRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDEzKTE5OC43MjUgRSAwIENnIEVQCisoeGUpLS4xNSBHIC44NzIoY3V0ZWQgYXMgcGFydCBvZiBhKS4xNSBGKEdOVSBCYXNoLTQuMCk3MiA3NjggUQorKDIwMDQgQXByIDIwKTE0OC43MzUgRSgxMykxOTguNzI1IEUgMCBDZyBFUAogJSVQYWdlOiAxNCAxNAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4Ci0oVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRjxhZDZmPjE0NCA4NCBRL0YyIDEwL1RpbWVzLUl0YWxpY0AwIFNGKG9wdGlvblwyNTVuYW1lKQotMi41IEUgRjAoVGhlKTE4NCA5NiBRIEYyKG9wdGlvblwyNTVuYW1lKTIuNSBFIEYwCi0oY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG8pMi41IEUod2luZzopLS4yNSBFIEYxKGFsbGV4cG9ydCkxODQgMTA4IFEgRjAKLShTYW1lIGFzKTIyNCAxMjAgUSBGMTxhZDYxPjIuNSBFIEYwKC4pQSBGMShicmFjZWV4cGFuZCkxODQgMTMyIFEgRjAKLShTYW1lIGFzKTIyNCAxNDQgUSBGMTxhZDQyPjIuNSBFIEYwKC4pQSBGMShlbWFjcykxODQgMTU2IFEgRjAgLjA4OQorKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUgLjM5OQorKGNvbW1hbmQgbGlzdCBlbmNsb3NlZCBieSBicmFjZXMgXChzZWUpMTg0IDg0IFIvRjEgOS9UaW1lcy1Cb2xkQDAgU0YKKy4zOTkoU0hFTEwgR1JBTU1BUikyLjg5OSBGIEYwKGFibykyLjY0OSBFIC0uMTUodmUpLS4xNSBHIDIuODk5KFwpZSkuMTUgRworLjM5OSh4aXRzIHdpdGggYSBub24temVybyktMy4wNDkgRiAzLjk2OShzdGF0dXMuIFRoZSkxODQgOTYgUiAxLjQ2OAorKHNoZWxsIGRvZXMgbm90IGUpMy45NjkgRiAxLjQ2OCh4aXQgaWYgdGhlIGNvbW1hbmQgdGhhdCBmKS0uMTUgRiAxLjQ2OAorKGFpbHMgaXMgcGFydCBvZiB0aGUgY29tbWFuZCBsaXN0KS0uMSBGIC41NjkoaW1tZWRpYXRlbHkgZm9sbG8pMTg0IDEwOCBSCisuNTY5KHdpbmcgYSktLjI1IEYvRjIgMTAvVGltZXMtQm9sZEAwIFNGKHdoaWxlKTMuMDY5IEUgRjAob3IpMy4wNjkgRSBGMgorKHVudGlsKTMuMDY5IEUgRjAgLS4xKGtlKTMuMDY5IEcoeXcpLS4wNSBFIC41NjkKKyhvcmQsIHBhcnQgb2YgdGhlIHRlc3QgZm9sbG8pLS4xIEYgLjU3KHdpbmcgdGhlKS0uMjUgRiBGMihpZikzLjA3IEUgRjAKKyhvcikzLjA3IEUgRjIoZWxpZikzLjA3IEUgRjAocmVzZXJ2KTE4NCAxMjAgUSAuOTEoZWQgdyktLjE1IEYgLjkxCisob3JkcywgcGFydCBvZiBhbiktLjEgRiAzLjQxKHljKS0uMTUgRyAuOTA5KG9tbWFuZCBlKS0zLjQxIEYgLS4xNSh4ZSkKKy0uMTUgRyAuOTA5KGN1dGVkIGluIGEpLjE1IEYgRjIoJiYpMy40MDkgRSBGMChvcikzLjQwOSBFIEYyKHx8KTMuNDA5IEUKK0YwIC45MDkobGlzdCBlKTMuNDA5IEYgLjkwOSh4Y2VwdCB0aGUgY29tbWFuZCktLjE1IEYoZm9sbG8pMTg0IDEzMiBRCisuMDQ5KHdpbmcgdGhlIFwyMTRuYWwpLS4yNSBGIEYyKCYmKTIuNTQ5IEUgRjAob3IpMi41NDkgRSBGMih8fCkyLjU0OSBFCitGMCAyLjU0OSgsYSlDIC4zNDkgLS4xNShueSBjKS0yLjU0OSBIIC4wNDkob21tYW5kIGluIGEgcGlwZWxpbmUgYikuMTUgRgorLjA1KHV0IHRoZSBsYXN0LCBvciBpZiB0aGUgY29tbWFuZCcpLS4yIEYocyktLjU1IEUgLjM3MyhyZXR1cm4gdikxODQgMTQ0CitSIC4zNzMoYWx1ZSBpcyBiZWluZyBpbiktLjI1IEYgLS4xNSh2ZSktLjQgRyAuMzczKHJ0ZWQgd2l0aCkuMTUgRiBGMighKQorMi44NzMgRSBGMCA1LjM3MiguQSlDIC4zNzIodHJhcCBvbiktMi41IEYgRjIoRVJSKTIuODcyIEUgRjAgMi44NzIoLGkpQworMi44NzIoZnMpLTIuODcyIEcgLjM3MihldCwgaXMgZSktMi44NzIgRiAtLjE1KHhlKS0uMTUgRyAuMzcyCisoY3V0ZWQgYmVmb3JlIHRoZSBzaGVsbCkuMTUgRiAtLjE1KGV4KTE4NCAxNTYgUyAyLjg5NihpdHMuIFRoaXMpLjE1IEYKKy4zOTcob3B0aW9uIGFwcGxpZXMgdG8gdGhlIHNoZWxsIGVuKTIuODk2IEYgLjM5NworKHZpcm9ubWVudCBhbmQgZWFjaCBzdWJzaGVsbCBlbiktLjQgRiAuMzk3KHZpcm9ubWVudCBzZXBhLSktLjQgRiAuMTkxCisocmF0ZWx5IFwoc2VlKTE4NCAxNjggUiBGMSAuMTkoQ09NTUFORCBFWEVDVVRJT04gRU5WSVIpMi42OTEgRihPTk1FTlQpCistLjI3IEUgRjAoYWJvKTIuNDQgRSAtLjE1KHZlKS0uMTUgRyAuMTkoXCksIGFuZCBtYXkgY2F1c2Ugc3Vic2hlbGxzKS4xNQorRih0byBlKTE4NCAxODAgUSh4aXQgYmVmb3JlIGUpLS4xNSBFIC0uMTUoeGUpLS4xNSBHCisoY3V0aW5nIGFsbCB0aGUgY29tbWFuZHMgaW4gdGhlIHN1YnNoZWxsLikuMTUgRSBGMjxhZDY2PjE0NCAxOTIgUSBGMAorKERpc2FibGUgcGF0aG5hbWUgZSkzMC45NyBFKHhwYW5zaW9uLiktLjE1IEUgRjI8YWQ2OD4xNDQgMjA0IFEgRjAgMi4yMzgKKyhSZW1lbWJlciB0aGUgbG9jYXRpb24gb2YgY29tbWFuZHMgYXMgdGhlKTI4Ljc0IEYgNC43MzgoeWEpLS4xNSBHIDIuMjM5CisocmUgbG9vayktNC43MzggRiAyLjIzOShlZCB1cCBmb3IgZSktLjEgRiAtLjE1KHhlKS0uMTUgRyA0LjczOQorKGN1dGlvbi4gVGhpcykuMTUgRihpcyk0LjczOSBFKGVuYWJsZWQgYnkgZGVmKTE4NCAyMTYgUShhdWx0LiktLjEgRSBGMgorPGFkNmI+MTQ0IDIyOCBRIEYwIC41MTQoQWxsIGFyKTI4Ljc0IEYgLjUxNAorKGd1bWVudHMgaW4gdGhlIGZvcm0gb2YgYXNzaWdubWVudCBzdGF0ZW1lbnRzIGFyZSBwbGFjZWQgaW4gdGhlIGVuKS0uMTgKK0YgLjUxMyh2aXJvbm1lbnQgZm9yIGEpLS40IEYKKyhjb21tYW5kLCBub3QganVzdCB0aG9zZSB0aGF0IHByZWNlZGUgdGhlIGNvbW1hbmQgbmFtZS4pMTg0IDI0MCBRIEYyCis8YWQ2ZD4xNDQgMjUyIFEgRjAgLjE0OChNb25pdG9yIG1vZGUuKTI1Ljk3IEYgLjE0OAorKEpvYiBjb250cm9sIGlzIGVuYWJsZWQuKTUuMTQ4IEYgLjE0OShUaGlzIG9wdGlvbiBpcyBvbiBieSBkZWYpNS4xNDggRgorLjE0OShhdWx0IGZvciBpbnRlcmFjdGkpLS4xIEYgLjQ0OSAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzKS4xNSBFIC42MzcKKyhvbiBzeXN0ZW1zIHRoYXQgc3VwcG9ydCBpdCBcKHNlZSkxODQgMjY0IFIgRjEgLjYzNihKT0IgQ09OVFIpMy4xMzYgRgorKE9MKS0uMjcgRSBGMChhYm8pMi44ODYgRSAtLjE1KHZlKS0uMTUgRyAzLjEzNihcKS4gQmFja2dyb3VuZCkuMTUgRiAuNjM2CisocHJvY2Vzc2VzIHJ1biBpbiBhKTMuMTM2IEYgLjY0MQorKHNlcGFyYXRlIHByb2Nlc3MgZ3JvdXAgYW5kIGEgbGluZSBjb250YWluaW5nIHRoZWlyIGUpMTg0IDI3NiBSIC42NDIKKyh4aXQgc3RhdHVzIGlzIHByaW50ZWQgdXBvbiB0aGVpciBjb20tKS0uMTUgRihwbGV0aW9uLikxODQgMjg4IFEgRjIKKzxhZDZlPjE0NCAzMDAgUSBGMCAuNjUzKFJlYWQgY29tbWFuZHMgYikyOC43NCBGIC42NTModXQgZG8gbm90IGUpLS4yIEYKKy0uMTUoeGUpLS4xNSBHIC42NTMoY3V0ZSB0aGVtLikuMTUgRiAuNjUyCisoVGhpcyBtYXkgYmUgdXNlZCB0byBjaGVjayBhIHNoZWxsIHNjcmlwdCBmb3IpNS42NTMgRihzeW50YXggZXJyb3JzLikxODQKKzMxMiBRKFRoaXMgaXMgaWdub3JlZCBieSBpbnRlcmFjdGkpNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFCitGMjxhZDZmPjE0NCAzMjQgUS9GMyAxMC9UaW1lcy1JdGFsaWNAMCBTRihvcHRpb25cMjU1bmFtZSkyLjUgRSBGMChUaGUpCisxODQgMzM2IFEgRjMob3B0aW9uXDI1NW5hbWUpMi41IEUgRjAoY2FuIGJlIG9uZSBvZiB0aGUgZm9sbG8pMi41IEUKKyh3aW5nOiktLjI1IEUgRjIoYWxsZXhwb3J0KTE4NCAzNDggUSBGMChTYW1lIGFzKTIyNCAzNjAgUSBGMjxhZDYxPjIuNSBFCitGMCguKUEgRjIoYnJhY2VleHBhbmQpMTg0IDM3MiBRIEYwKFNhbWUgYXMpMjI0IDM4NCBRIEYyPGFkNDI+Mi41IEUgRjAoLikKK0EgRjIoZW1hY3MpMTg0IDM5NiBRIEYwIC4wODkKIChVc2UgYW4gZW1hY3Mtc3R5bGUgY29tbWFuZCBsaW5lIGVkaXRpbmcgaW50ZXJmKTEzLjkgRiAyLjU4OShhY2UuIFRoaXMpCiAtLjEgRiAuMDg5KGlzIGVuYWJsZWQgYnkgZGVmKTIuNTg5IEYoYXVsdCktLjEgRSAuOTUKLSh3aGVuIHRoZSBzaGVsbCBpcyBpbnRlcmFjdGkpMjI0IDE2OCBSIC0uMTUodmUpLS4yNSBHIDMuNDUoLHUpLjE1IEcgLjk1Ci0obmxlc3MgdGhlIHNoZWxsIGlzIHN0YXJ0ZWQgd2l0aCB0aGUpLTMuNDUgRiBGMShcMjU1XDI1NW5vZWRpdGluZykzLjQ1IEUKLUYwIDIuNShvcHRpb24uIFRoaXMpMjI0IDE4MCBSKGFsc28gYWYpMi41IEUoZmVjdHMgdGhlIGVkaXRpbmcgaW50ZXJmKQotLS4yNSBFKGFjZSB1c2VkIGZvciktLjEgRSBGMSAtLjE4KHJlKTIuNSBHKGFkIFwyNTVlKS4xOCBFIEYwKC4pQSBGMShlcnIpCi0xODQgMTkyIFEoZXhpdCktLjE4IEUgRjAoU2FtZSBhcykxMS4zMSBFIEYxPGFkNjU+Mi41IEUgRjAoLilBIEYxCi0oZXJydHJhY2UpMTg0IDIwNCBRIEYwKFNhbWUgYXMpNS4wMyBFIEYxPGFkNDU+Mi41IEUgRjAoLilBIEYxKGZ1bmN0cmFjZSkKLTE4NCAyMTYgUSBGMChTYW1lIGFzKTIyNCAyMjggUSBGMTxhZDU0PjIuNSBFIEYwKC4pQSBGMShoYXNoYWxsKTE4NCAyNDAgUQotRjAoU2FtZSBhcyk5LjQzIEUgRjE8YWQ2OD4yLjUgRSBGMCguKUEgRjEoaGlzdGV4cGFuZCkxODQgMjUyIFEgRjAKLShTYW1lIGFzKTIyNCAyNjQgUSBGMTxhZDQ4PjIuNSBFIEYwKC4pQSBGMShoaXN0b3J5KTE4NCAyNzYgUSBGMCAuNTg2Cisod2hlbiB0aGUgc2hlbGwgaXMgaW50ZXJhY3RpKTIyNCA0MDggUiAtLjE1KHZlKS0uMjUgRyAzLjQ1KCx1KS4xNSBHIC45NQorKG5sZXNzIHRoZSBzaGVsbCBpcyBzdGFydGVkIHdpdGggdGhlKS0zLjQ1IEYgRjIoXDI1NVwyNTVub2VkaXRpbmcpMy40NSBFCitGMCAyLjUob3B0aW9uLiBUaGlzKTIyNCA0MjAgUihhbHNvIGFmKTIuNSBFKGZlY3RzIHRoZSBlZGl0aW5nIGludGVyZikKKy0uMjUgRShhY2UgdXNlZCBmb3IpLS4xIEUgRjIgLS4xOChyZSkyLjUgRyhhZCBcMjU1ZSkuMTggRSBGMCguKUEgRjIoZXJyKQorMTg0IDQzMiBRKGV4aXQpLS4xOCBFIEYwKFNhbWUgYXMpMTEuMzEgRSBGMjxhZDY1PjIuNSBFIEYwKC4pQSBGMgorKGVycnRyYWNlKTE4NCA0NDQgUSBGMChTYW1lIGFzKTUuMDMgRSBGMjxhZDQ1PjIuNSBFIEYwKC4pQSBGMihmdW5jdHJhY2UpCisxODQgNDU2IFEgRjAoU2FtZSBhcykyMjQgNDY4IFEgRjI8YWQ1ND4yLjUgRSBGMCguKUEgRjIoaGFzaGFsbCkxODQgNDgwIFEKK0YwKFNhbWUgYXMpOS40MyBFIEYyPGFkNjg+Mi41IEUgRjAoLilBIEYyKGhpc3RleHBhbmQpMTg0IDQ5MiBRIEYwCisoU2FtZSBhcykyMjQgNTA0IFEgRjI8YWQ0OD4yLjUgRSBGMCguKUEgRjIoaGlzdG9yeSkxODQgNTE2IFEgRjAgLjU4NgogKEVuYWJsZSBjb21tYW5kIGhpc3RvcnkpMTAgRiAzLjA4NygsYSktLjY1IEcgMy4wODcoc2QpLTMuMDg3IEcgLjU4NwotKGVzY3JpYmVkIGFibyktMy4wODcgRiAuODg3IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRS9GMyA5Ci0vVGltZXMtQm9sZEAwIFNGKEhJU1QpMy4wODcgRShPUiktLjE2MiBFKFkpLS4zMTUgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YKLSguKUEgRjAgLjU4NyhUaGlzIG9wdGlvbiBpcyk1LjA4NyBGKG9uIGJ5IGRlZikyMjQgMjg4IFEKLShhdWx0IGluIGludGVyYWN0aSktLjEgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikuMTUgRSBGMShpZ25vcikxODQKLTMwMCBRKGVlb2YpLS4xOCBFIEYwIDEuNjU3KFRoZSBlZikyMjQgMzEyIFIgMS42NTcKLShmZWN0IGlzIGFzIGlmIHRoZSBzaGVsbCBjb21tYW5kKS0uMjUgRi9GNSAxMC9Db3VyaWVyQDAgU0YoSUdOT1JFRU9GPTEwKQotNC4xNTYgRSBGMCAxLjY1NihoYWQgYmVlbiBlKTQuMTU2IEYgLS4xNSh4ZSktLjE1IEcoY3V0ZWQpLjE1IEUoXChzZWUpMjI0Ci0zMjQgUSBGMShTaGVsbCBWKTIuNSBFKGFyaWFibGVzKS0uOTIgRSBGMChhYm8pMi41IEUgLS4xNSh2ZSktLjE1IEcoXCkuKQotLjE1IEUgRjEgLS4xKGtlKTE4NCAzMzYgUyh5dykuMSBFKG9yZCktLjEgRSBGMChTYW1lIGFzKTIyNCAzNDggUSBGMQotPGFkNmI+Mi41IEUgRjAoLilBIEYxKG1vbml0b3IpMTg0IDM2MCBRIEYwKFNhbWUgYXMpNS41NiBFIEYxPGFkNmQ+Mi41IEUKLUYwKC4pQSBGMShub2Nsb2IpMTg0IDM3MiBRKGJlciktLjEgRSBGMChTYW1lIGFzKTIyNCAzODQgUSBGMTxhZDQzPjIuNSBFCi1GMCguKUEgRjEobm9leGVjKTE4NCAzOTYgUSBGMChTYW1lIGFzKTExLjEyIEUgRjE8YWQ2ZT4yLjUgRSBGMCguKUEgRjEKLShub2dsb2IpMTg0IDQwOCBRIEYwKFNhbWUgYXMpMTEuMSBFIEYxPGFkNjY+Mi41IEUgRjAoLilBIEYxKG5vbG9nKTE4NAotNDIwIFEgRjAoQ3VycmVudGx5IGlnbm9yZWQuKTE2LjY2IEUgRjEobm90aWZ5KTE4NCA0MzIgUSBGMChTYW1lIGFzKTE1IEUKLUYxPGFkNjI+Mi41IEUgRjAoLilBIEYxKG5vdW5zZXQpMTg0IDQ0NCBRIEYwKFNhbWUgYXMpNi42NiBFIEYxPGFkNzU+Mi41Ci1FIEYwKC4pQSBGMShvbmVjbWQpMTg0IDQ1NiBRIEYwKFNhbWUgYXMpNi42NyBFIEYxPGFkNzQ+Mi41IEUgRjAoLilBIEYxCi0ocGgpMTg0IDQ2OCBRKHlzaWNhbCktLjE1IEUgRjAoU2FtZSBhcyk1LjE0IEUgRjE8YWQ1MD4yLjUgRSBGMCguKUEgRjEKLShwaXBlZmFpbCkxODQgNDgwIFEgRjAgMS4wMjkoSWYgc2V0LCB0aGUgcmV0dXJuIHYpNy43NyBGIDEuMDI5Ci0oYWx1ZSBvZiBhIHBpcGVsaW5lIGlzIHRoZSB2KS0uMjUgRiAxLjAzCi0oYWx1ZSBvZiB0aGUgbGFzdCBcKHJpZ2h0bW9zdFwpIGNvbS0pLS4yNSBGIDEuMTM3KG1hbmQgdG8gZSkyMjQgNDkyIFIKLTEuMTM2Ci0oeGl0IHdpdGggYSBub24temVybyBzdGF0dXMsIG9yIHplcm8gaWYgYWxsIGNvbW1hbmRzIGluIHRoZSBwaXBlbGluZSkKLS0uMTUgRiAtLjE1KGV4KTIyNCA1MDQgUyhpdCBzdWNjZXNzZnVsbHkpLjE1IEUgNSguVCktLjY1IEcKLShoaXMgb3B0aW9uIGlzIGRpc2FibGVkIGJ5IGRlZiktNSBFKGF1bHQuKS0uMSBFIEYxKHBvc2l4KTE4NCA1MTYgUSBGMAotMi4wOShDaGFuZ2UgdGhlIGJlaGEpMTcuNzcgRiAyLjA5MSh2aW9yIG9mKS0uMiBGIEYxKGJhc2gpNC41OTEgRSBGMAotMi4wOTEod2hlcmUgdGhlIGRlZik0LjU5MSBGIDIuMDkxKGF1bHQgb3BlcmF0aW9uIGRpZiktLjEgRiAyLjA5MQotKGZlcnMgZnJvbSB0aGUpLS4yNSBGKFBPU0lYIHN0YW5kYXJkIHRvIG1hdGNoIHRoZSBzdGFuZGFyZCBcKCkyMjQgNTI4IFEKLUYyKHBvc2l4IG1vZGUpQSBGMChcKS4pQSBGMShwcmkpMTg0IDU0MCBRKHZpbGVnZWQpLS4xIEUgRjAoU2FtZSBhcykyMjQKLTU1MiBRIEYxPGFkNzA+Mi41IEUgRjAoLilBIEYxIC0uMSh2ZSkxODQgNTY0IFMocmJvc2UpLjEgRSBGMChTYW1lIGFzKQotNy4zMyBFIEYxPGFkNzY+Mi41IEUgRjAoLilBIEYxKHZpKTE4NCA1NzYgUSBGMCAxLjQ2NgotKFVzZSBhIHZpLXN0eWxlIGNvbW1hbmQgbGluZSBlZGl0aW5nIGludGVyZikzMi4yMiBGIDMuOTY1KGFjZS4gVGhpcyktLjEKLUYgMS40NjUoYWxzbyBhZikzLjk2NSBGIDEuNDY1KGZlY3RzIHRoZSBlZGl0aW5nKS0uMjUgRihpbnRlcmYpMjI0IDU4OCBRCi0oYWNlIHVzZWQgZm9yKS0uMSBFIEYxIC0uMTgocmUpMi41IEcoYWQgXDI1NWUpLjE4IEUgRjAoLilBIEYxKHh0cmFjZSkxODQKLTYwMCBRIEYwKFNhbWUgYXMpMTMuMzUgRSBGMTxhZDc4PjIuNSBFIEYwKC4pQShJZikxODQgNjE4IFEgRjE8YWQ2Zj4zLjA1MgotRSBGMCAuNTUyKGlzIHN1cHBsaWVkIHdpdGggbm8pMy4wNTIgRiBGMihvcHRpb25cMjU1bmFtZSkzLjA1MyBFIEYwIDMuMDUzCi0oLHQpQyAuNTUzKGhlIHYpLTMuMDUzIEYgLjU1MyhhbHVlcyBvZiB0aGUgY3VycmVudCBvcHRpb25zIGFyZSBwcmludGVkLikKLS0uMjUgRihJZik1LjU1MyBFIEYxKCtvKTE4NCA2MzAgUSBGMCAxLjA3MihpcyBzdXBwbGllZCB3aXRoIG5vKTMuNTcyIEYKLUYyKG9wdGlvblwyNTVuYW1lKTMuNTcyIEUgRjAgMy41NzIoLGEpQyAxLjA3MShzZXJpZXMgb2YpLS4wMDEgRiBGMShzZXQpCi0zLjU3MSBFIEYwIDEuMDcxKGNvbW1hbmRzIHRvIHJlY3JlYXRlIHRoZSBjdXJyZW50KTMuNTcxIEYKLShvcHRpb24gc2V0dGluZ3MgaXMgZGlzcGxheWVkIG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQuKTE4NCA2NDIgUSBGMTxhZDcwPgotMTQ0IDY1NCBRIEYwIC0uNDUoVHUpMjguNzQgRyAxLjA3MShybiBvbikuNDUgRiBGMihwcml2aWxlKTQuODIxIEUgLS4xCi0oZ2UpLS40IEcoZCkuMSBFIEYwIDMuNTcyKG1vZGUuIEluKTQuMzQxIEYgMS4wNzIodGhpcyBtb2RlLCB0aGUpMy41NzIgRgotRjMoJEVOVikzLjU3MiBFIEYwKGFuZCkzLjMyMiBFIEYzKCRCKTMuNTcyIEUoQVNIX0VOViktLjI3IEUgRjAgMS4wNzIKLShcMjE0bGVzIGFyZSBub3QgcHJvLSkzLjMyMiBGIDEuNTAxCi0oY2Vzc2VkLCBzaGVsbCBmdW5jdGlvbnMgYXJlIG5vdCBpbmhlcml0ZWQgZnJvbSB0aGUgZW4pMTg0IDY2NiBSIDEuNQotKHZpcm9ubWVudCwgYW5kIHRoZSktLjQgRiBGMyhTSEVMTE9QVFMpNCBFIEY0KCwpQSBGMyAtLjI3KEJBKTE4NCA2NzggUwotKFNIT1BUUykuMjcgRSBGNCgsKUEgRjMoQ0RQKTIuNzc0IEUgLS44NTUoQVQpLS42NjYgRyhIKS44NTUgRSBGNCgsKUEgRjAKLShhbmQpMi43NzQgRSBGMyhHTE9CSUdOT1JFKTMuMDI0IEUgRjAgLS4yNSh2YSkyLjc3NCBHIC41MjQKLShyaWFibGVzLCBpZiB0aGUpLjI1IEYgMy4wMjUoeWEpLS4xNSBHIC41MjUocHBlYXIgaW4gdGhlIGVuKS0zLjAyNSBGCi0odmlyb25tZW50LCktLjQgRSAuMzgoYXJlIGlnbm9yZWQuKTE4NCA2OTAgUiAuMzgKLShJZiB0aGUgc2hlbGwgaXMgc3RhcnRlZCB3aXRoIHRoZSBlZik1LjM4IEYoZmVjdGkpLS4yNSBFIC42NzkgLS4xNSh2ZSB1KQotLS4yNSBIIC4zNzkoc2VyIFwoZ3JvdXBcKSBpZCBub3QgZXF1YWwgdG8gdGhlIHJlYWwpLjE1IEYgLjQ2MQotKHVzZXIgXChncm91cFwpIGlkLCBhbmQgdGhlKTE4NCA3MDIgUiBGMTxhZDcwPjIuOTYxIEUgRjAgLjQ2MQotKG9wdGlvbiBpcyBub3Qgc3VwcGxpZWQsIHRoZXNlIGFjdGlvbnMgYXJlIHRhaykyLjk2MSBGIC40NjIKLShlbiBhbmQgdGhlIGVmKS0uMSBGKGZlYy0pLS4yNSBFKHRpKTE4NCA3MTQgUSAuNjk1IC0uMTUodmUgdSktLjI1IEggLjM5NQotKHNlciBpZCBpcyBzZXQgdG8gdGhlIHJlYWwgdXNlciBpZC4pLjE1IEYgLjM5NShJZiB0aGUpNS4zOTUgRiBGMTxhZDcwPgotMi44OTUgRSBGMCAuMzk0KG9wdGlvbiBpcyBzdXBwbGllZCBhdCBzdGFydHVwLCB0aGUgZWYpMi44OTUgRihmZWN0aSktLjI1Ci1FIC0uMTUodmUpLS4yNSBHIC4zODYodXNlciBpZCBpcyBub3QgcmVzZXQuKTE4NCA3MjYgUiAtLjQ1KFR1KTUuMzg2IEcKLS4zODYocm5pbmcgdGhpcyBvcHRpb24gb2YpLjQ1IEYgMi44ODYoZmMpLS4yNSBHIC4zODcoYXVzZXMgdGhlIGVmKS0yLjg4NgotRihmZWN0aSktLjI1IEUgLjY4NyAtLjE1KHZlIHUpLS4yNSBIIC4zODcoc2VyIGFuZCBncm91cCBpZHMgdG8gYmUpLjE1IEYKLShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDE0KTE5OC43MjUgRSAwIENnIEVQCisoZXNjcmliZWQgYWJvKS0zLjA4NyBGIC44ODcgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYxKEhJU1QpMy4wODcgRQorKE9SKS0uMTYyIEUoWSktLjMxNSBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRiguKUEgRjAgLjU4NyhUaGlzIG9wdGlvbiBpcykKKzUuMDg3IEYob24gYnkgZGVmKTIyNCA1MjggUShhdWx0IGluIGludGVyYWN0aSktLjEgRSAuMyAtLjE1KHZlIHMpLS4yNSBICisoaGVsbHMuKS4xNSBFIEYyKGlnbm9yKTE4NCA1NDAgUShlZW9mKS0uMTggRSBGMCAxLjY1NyhUaGUgZWYpMjI0IDU1MiBSCisxLjY1NyhmZWN0IGlzIGFzIGlmIHRoZSBzaGVsbCBjb21tYW5kKS0uMjUgRi9GNSAxMC9Db3VyaWVyQDAgU0YKKyhJR05PUkVFT0Y9MTApNC4xNTYgRSBGMCAxLjY1NihoYWQgYmVlbiBlKTQuMTU2IEYgLS4xNSh4ZSktLjE1IEcoY3V0ZWQpCisuMTUgRShcKHNlZSkyMjQgNTY0IFEgRjIoU2hlbGwgVikyLjUgRShhcmlhYmxlcyktLjkyIEUgRjAoYWJvKTIuNSBFIC0uMTUKKyh2ZSktLjE1IEcoXCkuKS4xNSBFIEYyIC0uMShrZSkxODQgNTc2IFMoeXcpLjEgRShvcmQpLS4xIEUgRjAoU2FtZSBhcykKKzIyNCA1ODggUSBGMjxhZDZiPjIuNSBFIEYwKC4pQSBGMihtb25pdG9yKTE4NCA2MDAgUSBGMChTYW1lIGFzKTUuNTYgRSBGMgorPGFkNmQ+Mi41IEUgRjAoLilBIEYyKG5vY2xvYikxODQgNjEyIFEoYmVyKS0uMSBFIEYwKFNhbWUgYXMpMjI0IDYyNCBRIEYyCis8YWQ0Mz4yLjUgRSBGMCguKUEgRjIobm9leGVjKTE4NCA2MzYgUSBGMChTYW1lIGFzKTExLjEyIEUgRjI8YWQ2ZT4yLjUgRQorRjAoLilBIEYyKG5vZ2xvYikxODQgNjQ4IFEgRjAoU2FtZSBhcykxMS4xIEUgRjI8YWQ2Nj4yLjUgRSBGMCguKUEgRjIKKyhub2xvZykxODQgNjYwIFEgRjAoQ3VycmVudGx5IGlnbm9yZWQuKTE2LjY2IEUgRjIobm90aWZ5KTE4NCA2NzIgUSBGMAorKFNhbWUgYXMpMTUgRSBGMjxhZDYyPjIuNSBFIEYwKC4pQSBGMihub3Vuc2V0KTE4NCA2ODQgUSBGMChTYW1lIGFzKTYuNjYKK0UgRjI8YWQ3NT4yLjUgRSBGMCguKUEgRjIob25lY21kKTE4NCA2OTYgUSBGMChTYW1lIGFzKTYuNjcgRSBGMjxhZDc0PjIuNQorRSBGMCguKUEgRjIocGgpMTg0IDcwOCBRKHlzaWNhbCktLjE1IEUgRjAoU2FtZSBhcyk1LjE0IEUgRjI8YWQ1MD4yLjUgRQorRjAoLilBKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMTQpMTk4LjcyNSBFIDAgQ2cgRVAKICUlUGFnZTogMTUgMTUKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTKFNIX0IpLjM1IEUoVUlMKS0uMSBFIDI5MC40OAotKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUKLShzZXQgdG8gdGhlIHJlYWwgdXNlciBhbmQgZ3JvdXAgaWRzLikxODQgODQgUS9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YKLTxhZDc0PjE0NCA5NiBRIEYwKEV4aXQgYWZ0ZXIgcmVhZGluZyBhbmQgZSkzMC45NyBFIC0uMTUoeGUpLS4xNSBHCi0oY3V0aW5nIG9uZSBjb21tYW5kLikuMTUgRSBGMTxhZDc1PjE0NCAxMDggUSBGMCAtLjM1KFRyKTI4Ljc0IEcgLjA0NAotKGVhdCB1bnNldCB2KS4zNSBGIC4wNDQoYXJpYWJsZXMgYW5kIHBhcmFtZXRlcnMgb3RoZXIgdGhhbiB0aGUgc3BlY2lhbCBcCi1wYXJhbWV0ZXJzICJAIiBhbmQgIioiIGFzIGFuKS0uMjUgRiAuMTgyCi0oZXJyb3Igd2hlbiBwZXJmb3JtaW5nIHBhcmFtZXRlciBlKTE4NCAxMjAgUiAyLjY4Mih4cGFuc2lvbi4gSWYpLS4xNSBGCi0tLjE1KGV4KTIuNjgyIEcgLjE4MyhwYW5zaW9uIGlzIGF0dGVtcHRlZCBvbiBhbiB1bnNldCB2KS4xNSBGKGFyaS0pLS4yNQotRSAuNzQ2KGFibGUgb3IgcGFyYW1ldGVyKTE4NCAxMzIgUiAzLjI0NigsdCktLjQgRyAuNzQ2CisoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAorL1RpbWVzLUJvbGRAMCBTRihwaXBlZmFpbCkxODQgODQgUSBGMCAxLjAyOShJZiBzZXQsIHRoZSByZXR1cm4gdik3Ljc3IEYKKzEuMDI5KGFsdWUgb2YgYSBwaXBlbGluZSBpcyB0aGUgdiktLjI1IEYgMS4wMworKGFsdWUgb2YgdGhlIGxhc3QgXChyaWdodG1vc3RcKSBjb20tKS0uMjUgRiAxLjEzNyhtYW5kIHRvIGUpMjI0IDk2IFIKKzEuMTM2CisoeGl0IHdpdGggYSBub24temVybyBzdGF0dXMsIG9yIHplcm8gaWYgYWxsIGNvbW1hbmRzIGluIHRoZSBwaXBlbGluZSkKKy0uMTUgRiAtLjE1KGV4KTIyNCAxMDggUyhpdCBzdWNjZXNzZnVsbHkpLjE1IEUgNSguVCktLjY1IEcKKyhoaXMgb3B0aW9uIGlzIGRpc2FibGVkIGJ5IGRlZiktNSBFKGF1bHQuKS0uMSBFIEYxKHBvc2l4KTE4NCAxMjAgUSBGMAorMi4wOShDaGFuZ2UgdGhlIGJlaGEpMTcuNzcgRiAyLjA5MSh2aW9yIG9mKS0uMiBGIEYxKGJhc2gpNC41OTEgRSBGMAorMi4wOTEod2hlcmUgdGhlIGRlZik0LjU5MSBGIDIuMDkxKGF1bHQgb3BlcmF0aW9uIGRpZiktLjEgRiAyLjA5MQorKGZlcnMgZnJvbSB0aGUpLS4yNSBGKFBPU0lYIHN0YW5kYXJkIHRvIG1hdGNoIHRoZSBzdGFuZGFyZCBcKCkyMjQgMTMyIFEKKy9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihwb3NpeCBtb2RlKUEgRjAoXCkuKUEgRjEocHJpKTE4NCAxNDQgUSh2aWxlZ2VkKQorLS4xIEUgRjAoU2FtZSBhcykyMjQgMTU2IFEgRjE8YWQ3MD4yLjUgRSBGMCguKUEgRjEgLS4xKHZlKTE4NCAxNjggUworKHJib3NlKS4xIEUgRjAoU2FtZSBhcyk3LjMzIEUgRjE8YWQ3Nj4yLjUgRSBGMCguKUEgRjEodmkpMTg0IDE4MCBRIEYwCisxLjQ2NihVc2UgYSB2aS1zdHlsZSBjb21tYW5kIGxpbmUgZWRpdGluZyBpbnRlcmYpMzIuMjIgRiAzLjk2NQorKGFjZS4gVGhpcyktLjEgRiAxLjQ2NShhbHNvIGFmKTMuOTY1IEYgMS40NjUoZmVjdHMgdGhlIGVkaXRpbmcpLS4yNSBGCisoaW50ZXJmKTIyNCAxOTIgUShhY2UgdXNlZCBmb3IpLS4xIEUgRjEgLS4xOChyZSkyLjUgRyhhZCBcMjU1ZSkuMTggRSBGMAorKC4pQSBGMSh4dHJhY2UpMTg0IDIwNCBRIEYwKFNhbWUgYXMpMTMuMzUgRSBGMTxhZDc4PjIuNSBFIEYwKC4pQShJZikxODQKKzIyMiBRIEYxPGFkNmY+My4wNTIgRSBGMCAuNTUyKGlzIHN1cHBsaWVkIHdpdGggbm8pMy4wNTIgRiBGMgorKG9wdGlvblwyNTVuYW1lKTMuMDUzIEUgRjAgMy4wNTMoLHQpQyAuNTUzKGhlIHYpLTMuMDUzIEYgLjU1MworKGFsdWVzIG9mIHRoZSBjdXJyZW50IG9wdGlvbnMgYXJlIHByaW50ZWQuKS0uMjUgRihJZik1LjU1MyBFIEYxKCtvKTE4NAorMjM0IFEgRjAgMS4wNzIoaXMgc3VwcGxpZWQgd2l0aCBubykzLjU3MiBGIEYyKG9wdGlvblwyNTVuYW1lKTMuNTcyIEUgRjAKKzMuNTcyKCxhKUMgMS4wNzEoc2VyaWVzIG9mKS0uMDAxIEYgRjEoc2V0KTMuNTcxIEUgRjAgMS4wNzEKKyhjb21tYW5kcyB0byByZWNyZWF0ZSB0aGUgY3VycmVudCkzLjU3MSBGCisob3B0aW9uIHNldHRpbmdzIGlzIGRpc3BsYXllZCBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0LikxODQgMjQ2IFEgRjE8YWQ3MD4KKzE0NCAyNTggUSBGMCAtLjQ1KFR1KTI4Ljc0IEcgMS4wNzEocm4gb24pLjQ1IEYgRjIocHJpdmlsZSk0LjgyMSBFIC0uMQorKGdlKS0uNCBHKGQpLjEgRSBGMCAzLjU3Mihtb2RlLiBJbik0LjM0MSBGIDEuMDcyKHRoaXMgbW9kZSwgdGhlKTMuNTcyIEYKKy9GMyA5L1RpbWVzLUJvbGRAMCBTRigkRU5WKTMuNTcyIEUgRjAoYW5kKTMuMzIyIEUgRjMoJEIpMy41NzIgRShBU0hfRU5WKQorLS4yNyBFIEYwIDEuMDcyKFwyMTRsZXMgYXJlIG5vdCBwcm8tKTMuMzIyIEYgMS41MDEKKyhjZXNzZWQsIHNoZWxsIGZ1bmN0aW9ucyBhcmUgbm90IGluaGVyaXRlZCBmcm9tIHRoZSBlbikxODQgMjcwIFIgMS41Cisodmlyb25tZW50LCBhbmQgdGhlKS0uNCBGIEYzKFNIRUxMT1BUUyk0IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMworLS4yNyhCQSkxODQgMjgyIFMoU0hPUFRTKS4yNyBFIEY0KCwpQSBGMyhDRFApMi43NzQgRSAtLjg1NShBVCktLjY2NiBHKEgpCisuODU1IEUgRjQoLClBIEYwKGFuZCkyLjc3NCBFIEYzKEdMT0JJR05PUkUpMy4wMjQgRSBGMCAtLjI1KHZhKTIuNzc0IEcKKy41MjQocmlhYmxlcywgaWYgdGhlKS4yNSBGIDMuMDI1KHlhKS0uMTUgRyAuNTI1KHBwZWFyIGluIHRoZSBlbiktMy4wMjUgRgorKHZpcm9ubWVudCwpLS40IEUgLjM4KGFyZSBpZ25vcmVkLikxODQgMjk0IFIgLjM4CisoSWYgdGhlIHNoZWxsIGlzIHN0YXJ0ZWQgd2l0aCB0aGUgZWYpNS4zOCBGKGZlY3RpKS0uMjUgRSAuNjc5IC0uMTUodmUgdSkKKy0uMjUgSCAuMzc5KHNlciBcKGdyb3VwXCkgaWQgbm90IGVxdWFsIHRvIHRoZSByZWFsKS4xNSBGIC40NjEKKyh1c2VyIFwoZ3JvdXBcKSBpZCwgYW5kIHRoZSkxODQgMzA2IFIgRjE8YWQ3MD4yLjk2MSBFIEYwIC40NjEKKyhvcHRpb24gaXMgbm90IHN1cHBsaWVkLCB0aGVzZSBhY3Rpb25zIGFyZSB0YWspMi45NjEgRiAuNDYyCisoZW4gYW5kIHRoZSBlZiktLjEgRihmZWMtKS0uMjUgRSh0aSkxODQgMzE4IFEgLjY5NSAtLjE1KHZlIHUpLS4yNSBIIC4zOTUKKyhzZXIgaWQgaXMgc2V0IHRvIHRoZSByZWFsIHVzZXIgaWQuKS4xNSBGIC4zOTUoSWYgdGhlKTUuMzk1IEYgRjE8YWQ3MD4KKzIuODk1IEUgRjAgLjM5NChvcHRpb24gaXMgc3VwcGxpZWQgYXQgc3RhcnR1cCwgdGhlIGVmKTIuODk1IEYoZmVjdGkpLS4yNQorRSAtLjE1KHZlKS0uMjUgRyAuMzg2KHVzZXIgaWQgaXMgbm90IHJlc2V0LikxODQgMzMwIFIgLS40NShUdSk1LjM4NiBHCisuMzg2KHJuaW5nIHRoaXMgb3B0aW9uIG9mKS40NSBGIDIuODg2KGZjKS0uMjUgRyAuMzg3KGF1c2VzIHRoZSBlZiktMi44ODYKK0YoZmVjdGkpLS4yNSBFIC42ODcgLS4xNSh2ZSB1KS0uMjUgSCAuMzg3KHNlciBhbmQgZ3JvdXAgaWRzIHRvIGJlKS4xNSBGCisoc2V0IHRvIHRoZSByZWFsIHVzZXIgYW5kIGdyb3VwIGlkcy4pMTg0IDM0MiBRIEYxPGFkNzQ+MTQ0IDM1NCBRIEYwCisoRXhpdCBhZnRlciByZWFkaW5nIGFuZCBlKTMwLjk3IEUgLS4xNSh4ZSktLjE1IEcoY3V0aW5nIG9uZSBjb21tYW5kLikuMTUKK0UgRjE8YWQ3NT4xNDQgMzY2IFEgRjAgLS4zNShUcikyOC43NCBHIC4wNDQoZWF0IHVuc2V0IHYpLjM1IEYgLjA0NChhcmlhXAorYmxlcyBhbmQgcGFyYW1ldGVycyBvdGhlciB0aGFuIHRoZSBzcGVjaWFsIHBhcmFtZXRlcnMgIkAiIGFuZCAiKiIgYXMgYW4pCistLjI1IEYgLjE4MihlcnJvciB3aGVuIHBlcmZvcm1pbmcgcGFyYW1ldGVyIGUpMTg0IDM3OCBSIDIuNjgyCisoeHBhbnNpb24uIElmKS0uMTUgRiAtLjE1KGV4KTIuNjgyIEcgLjE4MworKHBhbnNpb24gaXMgYXR0ZW1wdGVkIG9uIGFuIHVuc2V0IHYpLjE1IEYoYXJpLSktLjI1IEUgLjc0NgorKGFibGUgb3IgcGFyYW1ldGVyKTE4NCAzOTAgUiAzLjI0NigsdCktLjQgRyAuNzQ2CiAoaGUgc2hlbGwgcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2UsIGFuZCwgaWYgbm90IGludGVyYWN0aSktMy4yNDYgRiAtLjE1CiAodmUpLS4yNSBHIDMuMjQ2KCxlKS4xNSBHIC43NDYoeGl0cyB3aXRoIGEpLTMuMzk2IEYobm9uLXplcm8gc3RhdHVzLikxODQKLTE0NCBRIEYxPGFkNzY+MTQ0IDE1NiBRIEYwKFByaW50IHNoZWxsIGlucHV0IGxpbmVzIGFzIHRoZSkyOS4zIEUgMi41KHlhKQotLS4xNSBHKHJlIHJlYWQuKS0yLjUgRSBGMTxhZDc4PjE0NCAxNjggUSBGMCAuMzE1KEFmdGVyIGUpMjkuMyBGIC4zMTUKLSh4cGFuZGluZyBlYWNoKS0uMTUgRi9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRiAuMzE1KHNpbXBsZSBjb21tYW5kKTIuODE1Ci1GIEYwKCwpQSBGMSAtLjI1KGZvKTIuODE1IEcocikuMjUgRSBGMChjb21tYW5kLCkyLjgxNSBFIEYxKGNhc2UpMi44MTUgRQotRjAoY29tbWFuZCwpMi44MTUgRSBGMShzZWxlY3QpMi44MTUgRSBGMChjb21tYW5kLCkyLjgxNSBFIDEuMjM2Ci0ob3IgYXJpdGhtZXRpYykxODQgMTgwIFIgRjEgLS4yNShmbykzLjczNiBHKHIpLjI1IEUgRjAgMS4yMzYKLShjb21tYW5kLCBkaXNwbGF5IHRoZSBlKTMuNzM2IEYgMS4yMzYoeHBhbmRlZCB2KS0uMTUgRiAxLjIzNihhbHVlIG9mKQotLS4yNSBGL0YzIDkvVGltZXMtQm9sZEAwIFNGKFBTNCkzLjczNiBFL0Y0IDkvVGltZXMtUm9tYW5AMCBTRigsKUEgRjAKLShmb2xsbykzLjQ4NiBFIDEuMjM2KHdlZCBieSB0aGUgY29tLSktLjI1IEYobWFuZCBhbmQgaXRzIGUpMTg0IDE5MiBRCis0MDIgUSBGMTxhZDc2PjE0NCA0MTQgUSBGMChQcmludCBzaGVsbCBpbnB1dCBsaW5lcyBhcyB0aGUpMjkuMyBFIDIuNSh5YSkKKy0uMTUgRyhyZSByZWFkLiktMi41IEUgRjE8YWQ3OD4xNDQgNDI2IFEgRjAgLjMxNShBZnRlciBlKTI5LjMgRiAuMzE1CisoeHBhbmRpbmcgZWFjaCktLjE1IEYgRjIgLjMxNShzaW1wbGUgY29tbWFuZCkyLjgxNSBGIEYwKCwpQSBGMSAtLjI1KGZvKQorMi44MTUgRyhyKS4yNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUgRjEoY2FzZSkyLjgxNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUKK0YxKHNlbGVjdCkyLjgxNSBFIEYwKGNvbW1hbmQsKTIuODE1IEUgMS4yMzYob3IgYXJpdGhtZXRpYykxODQgNDM4IFIgRjEKKy0uMjUoZm8pMy43MzYgRyhyKS4yNSBFIEYwIDEuMjM2KGNvbW1hbmQsIGRpc3BsYXkgdGhlIGUpMy43MzYgRiAxLjIzNgorKHhwYW5kZWQgdiktLjE1IEYgMS4yMzYoYWx1ZSBvZiktLjI1IEYgRjMoUFM0KTMuNzM2IEUgRjQoLClBIEYwKGZvbGxvKQorMy40ODYgRSAxLjIzNih3ZWQgYnkgdGhlIGNvbS0pLS4yNSBGKG1hbmQgYW5kIGl0cyBlKTE4NCA0NTAgUQogKHhwYW5kZWQgYXIpLS4xNSBFKGd1bWVudHMgb3IgYXNzb2NpYXRlZCB3KS0uMTggRShvcmQgbGlzdC4pLS4xIEUgRjEKLTxhZDQyPjE0NCAyMDQgUSBGMCAyLjU3OChUaGUgc2hlbGwgcGVyZm9ybXMgYnJhY2UgZSkyNy42MyBGIDIuNTc4Cis8YWQ0Mj4xNDQgNDYyIFEgRjAgMi41NzgoVGhlIHNoZWxsIHBlcmZvcm1zIGJyYWNlIGUpMjcuNjMgRiAyLjU3OAogKHhwYW5zaW9uIFwoc2VlKS0uMTUgRiBGMSAyLjU3OChCcmFjZSBFeHBhbnNpb24pNS4wNzggRiBGMChhYm8pNS4wNzggRQotLS4xNSh2ZSktLjE1IEcgNS4wNzkoXCkuIFRoaXMpLjE1IEYgMi41NzkoaXMgb24gYnkpNS4wNzkgRihkZWYpMTg0IDIxNiBRCi0oYXVsdC4pLS4xIEUgRjE8YWQ0Mz4xNDQgMjI4IFEgRjAgLjIxNChJZiBzZXQsKTI3LjA4IEYgRjEoYmFzaCkyLjcxNCBFCistLjE1KHZlKS0uMTUgRyA1LjA3OShcKS4gVGhpcykuMTUgRiAyLjU3OShpcyBvbiBieSk1LjA3OSBGKGRlZikxODQgNDc0IFEKKyhhdWx0LiktLjEgRSBGMTxhZDQzPjE0NCA0ODYgUSBGMCAuMjE0KElmIHNldCwpMjcuMDggRiBGMShiYXNoKTIuNzE0IEUKIEYwIC4yMTQoZG9lcyBub3QgbykyLjcxNCBGIC0uMTUodmUpLS4xNSBHIC4yMTQocndyaXRlIGFuIGUpLjE1IEYgLjIxNAogKHhpc3RpbmcgXDIxNGxlIHdpdGggdGhlKS0uMTUgRiBGMSg+KTIuNzE0IEUgRjAoLClBIEYxKD4mKTIuNzE0IEUgRjAKIDIuNzEzKCxhKUMobmQpLTIuNzEzIEUgRjEoPD4pMi43MTMgRSBGMCAuMjEzKHJlZGlyZWN0aW9uIG9wZXJhLSkyLjcxMyBGCi0zLjA1Myh0b3JzLiBUaGlzKTE4NCAyNDAgUiAuNTUzKG1heSBiZSBvKTMuMDUzIEYgLS4xNSh2ZSktLjE1IEcgLjU1MworMy4wNTModG9ycy4gVGhpcykxODQgNDk4IFIgLjU1MyhtYXkgYmUgbykzLjA1MyBGIC0uMTUodmUpLS4xNSBHIC41NTMKIChycmlkZGVuIHdoZW4gY3JlYXRpbmcgb3V0cHV0IFwyMTRsZXMgYnkgdXNpbmcgdGhlIHJlZGlyZWN0aW9uIG9wZXJhLSkKLS4xNSBGKHRvcikxODQgMjUyIFEgRjEoPnwpMi41IEUgRjAoaW5zdGVhZCBvZikyLjUgRSBGMSg+KTIuNSBFIEYwKC4pQSBGMQotPGFkNDU+MTQ0IDI2NCBRIEYwIC4xMDQoSWYgc2V0LCBhbikyNy42MyBGIDIuNjA0KHl0KS0uMTUgRyAuMTA0KHJhcCBvbikKKy4xNSBGKHRvcikxODQgNTEwIFEgRjEoPnwpMi41IEUgRjAoaW5zdGVhZCBvZikyLjUgRSBGMSg+KTIuNSBFIEYwKC4pQSBGMQorPGFkNDU+MTQ0IDUyMiBRIEYwIC4xMDQoSWYgc2V0LCBhbikyNy42MyBGIDIuNjA0KHl0KS0uMTUgRyAuMTA0KHJhcCBvbikKIC0yLjYwNCBGIEYxKEVSUikyLjYwNCBFIEYwIC4xMDMKIChpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLCBjb21tYW5kIHN1YnN0aXR1dGlvbnMsIGFuZCBjb20tKTIuNjA0Ci1GIC44MzgobWFuZHMgZSkxODQgMjc2IFIgLS4xNSh4ZSktLjE1IEcgLjgzOChjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNQorRiAuODM4KG1hbmRzIGUpMTg0IDUzNCBSIC0uMTUoeGUpLS4xNSBHIC44MzgoY3V0ZWQgaW4gYSBzdWJzaGVsbCBlbikuMTUKIEYgMy4zMzgodmlyb25tZW50LiBUaGUpLS40IEYgRjEoRVJSKTMuMzM4IEUgRjAgLjgzOQotKHRyYXAgaXMgbm9ybWFsbHkgbm90IGluaGVyaXRlZCBpbikzLjMzOSBGKHN1Y2ggY2FzZXMuKTE4NCAyODggUSBGMQotPGFkNDg+MTQ0IDMwMCBRIEYwKEVuYWJsZSkyNi41MiBFIEYxKCEpMy4wMzIgRSBGMCAuNTMyCisodHJhcCBpcyBub3JtYWxseSBub3QgaW5oZXJpdGVkIGluKTMuMzM5IEYoc3VjaCBjYXNlcy4pMTg0IDU0NiBRIEYxCis8YWQ0OD4xNDQgNTU4IFEgRjAoRW5hYmxlKTI2LjUyIEUgRjEoISkzLjAzMiBFIEYwIC41MzIKIChzdHlsZSBoaXN0b3J5IHN1YnN0aXR1dGlvbi4pNS41MzIgRiAuNTMxKFRoaXMgb3B0aW9uIGlzIG9uIGJ5IGRlZik1LjUzMgotRiAuNTMxKGF1bHQgd2hlbiB0aGUgc2hlbGwgaXMgaW50ZXIpLS4xIEYoLSktLjIgRShhY3RpKTE4NCAzMTIgUSAtLjE1Ci0odmUpLS4yNSBHKC4pLjE1IEUgRjE8YWQ1MD4xNDQgMzI0IFEgRjAgMS4xNjQKK0YgLjUzMShhdWx0IHdoZW4gdGhlIHNoZWxsIGlzIGludGVyKS0uMSBGKC0pLS4yIEUoYWN0aSkxODQgNTcwIFEgLS4xNQorKHZlKS0uMjUgRyguKS4xNSBFIEYxPGFkNTA+MTQ0IDU4MiBRIEYwIDEuMTY0CiAoSWYgc2V0LCB0aGUgc2hlbGwgZG9lcyBub3QgZm9sbG8pMjguMTkgRiAzLjY2NCh3cyktLjI1IEcgMS4xNjQKICh5bWJvbGljIGxpbmtzIHdoZW4gZSktMy42NjQgRiAtLjE1KHhlKS0uMTUgRyAxLjE2NQogKGN1dGluZyBjb21tYW5kcyBzdWNoIGFzKS4xNSBGIEYxKGNkKTMuNjY1IEUgRjAgMi44MjIKLSh0aGF0IGNoYW5nZSB0aGUgY3VycmVudCB3KTE4NCAzMzYgUiAyLjgyMihvcmtpbmcgZGlyZWN0b3J5KS0uMSBGIDcuODIyCisodGhhdCBjaGFuZ2UgdGhlIGN1cnJlbnQgdykxODQgNTk0IFIgMi44MjIob3JraW5nIGRpcmVjdG9yeSktLjEgRiA3LjgyMgogKC5JKS0uNjUgRyA1LjMyMih0dSktNy44MjIgRyAyLjgyMihzZXMgdGhlIHBoKS01LjMyMiBGIDIuODIxCi0oeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUpLS4wNSBGIDIuNjg1KGluc3RlYWQuIEJ5KTE4NCAzNDggUihkZWYpMi42ODUKKyh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSktLjA1IEYgMi42ODUoaW5zdGVhZC4gQnkpMTg0IDYwNiBSKGRlZikyLjY4NQogRShhdWx0LCktLjEgRSBGMShiYXNoKTIuNjg2IEUgRjAoZm9sbG8pMi42ODYgRSAuMTg2CiAod3MgdGhlIGxvZ2ljYWwgY2hhaW4gb2YgZGlyZWN0b3JpZXMgd2hlbiBwZXJmb3JtaW5nIGNvbS0pLS4yNSBGCi0obWFuZHMgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSkxODQgMzYwIFEoLiktLjY1IEUgRjE8YWQ1ND4xNDQKLTM3MiBRIEYwIC44OShJZiBzZXQsIGFuKTI3LjYzIEYgMy4zOSh5dCktLjE1IEcgLjg5KHJhcHMgb24pLTMuMzkgRiBGMQorKG1hbmRzIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkpMTg0IDYxOCBRKC4pLS42NSBFIEYxPGFkNTQ+MTQ0Cis2MzAgUSBGMCAuODkoSWYgc2V0LCBhbikyNy42MyBGIDMuMzkoeXQpLS4xNSBHIC44OShyYXBzIG9uKS0zLjM5IEYgRjEKIChERUIpMy4zOSBFKFVHKS0uMSBFIEYwKGFuZCkzLjM5IEUgRjEoUkVUVVJOKTMuMzkgRSBGMCAuODkKIChhcmUgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucywgY29tbWFuZCkzLjM5IEYgMS45MzIKLShzdWJzdGl0dXRpb25zLCBhbmQgY29tbWFuZHMgZSkxODQgMzg0IFIgLS4xNSh4ZSktLjE1IEcgMS45MzIKKyhzdWJzdGl0dXRpb25zLCBhbmQgY29tbWFuZHMgZSkxODQgNjQyIFIgLS4xNSh4ZSktLjE1IEcgMS45MzIKIChjdXRlZCBpbiBhIHN1YnNoZWxsIGVuKS4xNSBGIDQuNDMyKHZpcm9ubWVudC4gVGhlKS0uNCBGIEYxKERFQik0LjQzMiBFCi0oVUcpLS4xIEUgRjAoYW5kKTQuNDMyIEUgRjEoUkVUVVJOKTE4NCAzOTYgUSBGMAotKHRyYXBzIGFyZSBub3JtYWxseSBub3QgaW5oZXJpdGVkIGluIHN1Y2ggY2FzZXMuKTIuNSBFIEYxPGFkYWQ+MTQ0IDQwOCBRCisoVUcpLS4xIEUgRjAoYW5kKTQuNDMyIEUgRjEoUkVUVVJOKTE4NCA2NTQgUSBGMAorKHRyYXBzIGFyZSBub3JtYWxseSBub3QgaW5oZXJpdGVkIGluIHN1Y2ggY2FzZXMuKTIuNSBFIEYxPGFkYWQ+MTQ0IDY2NiBRCiBGMCAuNDAxKElmIG5vIGFyKTI4LjYgRiAuNDAxKGd1bWVudHMgZm9sbG8pLS4xOCBGIDIuOTAxKHd0KS0uMjUgRyAuNDAxCiAoaGlzIG9wdGlvbiwgdGhlbiB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSB1bnNldC4pLTIuOTAxIEYKLShPdGhlcndpc2UsKTUuNCBFKHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIHNldCB0byB0aGUpMTg0IDQyMCBRIEYyCisoT3RoZXJ3aXNlLCk1LjQgRSh0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSBzZXQgdG8gdGhlKTE4NCA2NzggUSBGMgogKGFyKTIuNSBFKGcpLS4zNyBFIEYwKHMsIGUpQSAtLjE1KHZlKS0uMjUgRyAyLjUobmkpLjE1IEcgMi41KGZzKS0yLjUgRwogKG9tZSBvZiB0aGVtIGJlKS0yLjUgRShnaW4gd2l0aCBhKS0uMTUgRSBGMTxhZD4yLjUgRSBGMCguKUEgRjE8YWQ+MTQ0Ci00MzIgUSBGMCAxLjk0NChTaWduYWwgdGhlIGVuZCBvZiBvcHRpb25zLCBjYXVzZSBhbGwgcmVtYWluaW5nKTM0LjMgRiBGMgorNjkwIFEgRjAgMS45NDQoU2lnbmFsIHRoZSBlbmQgb2Ygb3B0aW9ucywgY2F1c2UgYWxsIHJlbWFpbmluZykzNC4zIEYgRjIKIChhcik0LjQ0NCBFKGcpLS4zNyBFIEYwIDQuNDQ0KHN0KUMgNC40NDQob2IpLTQuNDQ0IEcgNC40NDUoZWEpLTQuNDQ0IEcKLTEuOTQ1KHNzaWduZWQgdG8gdGhlIHBvc2l0aW9uYWwpLTQuNDQ1IEYgMy40NDYocGFyYW1ldGVycy4gVGhlKTE4NCA0NDQgUgorMS45NDUoc3NpZ25lZCB0byB0aGUgcG9zaXRpb25hbCktNC40NDUgRiAzLjQ0NihwYXJhbWV0ZXJzLiBUaGUpMTg0IDcwMiBSCiBGMTxhZDc4PjMuNDQ2IEUgRjAoYW5kKTMuNDQ2IEUgRjE8YWQ3Nj4zLjQ0NiBFIEYwIC45NDUKIChvcHRpb25zIGFyZSB0dXJuZWQgb2YpMy40NDYgRiAzLjQ0NShmLiBJZiktLjI1IEYgLjk0NSh0aGVyZSBhcmUgbm8pCiAzLjQ0NSBGIEYyKGFyKTMuNDQ1IEUoZyktLjM3IEUgRjAgLjk0NShzLCB0aGUgcG9zaXRpb25hbClCCi0ocGFyYW1ldGVycyByZW1haW4gdW5jaGFuZ2VkLikxODQgNDU2IFEgLjQyNShUaGUgb3B0aW9ucyBhcmUgb2YpMTQ0Ci00NzIuOCBSIDIuOTI1KGZiKS0uMjUgRyAyLjkyNSh5ZCktMi45MjUgRyhlZiktMi45MjUgRSAuNDI1CisocGFyYW1ldGVycyByZW1haW4gdW5jaGFuZ2VkLikxODQgNzE0IFEgLjQyNShUaGUgb3B0aW9ucyBhcmUgb2YpMTQ0Cis3MzAuOCBSIDIuOTI1KGZiKS0uMjUgRyAyLjkyNSh5ZCktMi45MjUgRyhlZiktMi45MjUgRSAuNDI1CiAoYXVsdCB1bmxlc3Mgb3RoZXJ3aXNlIG5vdGVkLiktLjEgRiAuNDI1Ci0oVXNpbmcgKyByYXRoZXIgdGhhbiBcMjU1IGNhdXNlcyB0aGVzZSBvcHRpb25zKTUuNDI1IEYgLjE3OAotKHRvIGJlIHR1cm5lZCBvZikxNDQgNDg0LjggUiAyLjY3OChmLiBUaGUpLS4yNSBGIC4xNzgKLShvcHRpb25zIGNhbiBhbHNvIGJlIHNwZWNpXDIxNGVkIGFzIGFyKTIuNjc4IEYgLjE3OChndW1lbnRzIHRvIGFuIGluKQotLS4xOCBGIC0uMih2byktLjQgRyAuMTc3KGNhdGlvbiBvZiB0aGUgc2hlbGwuKS4yIEYoVGhlKTUuMTc3IEUgLjA2NgotKGN1cnJlbnQgc2V0IG9mIG9wdGlvbnMgbWF5IGJlIGZvdW5kIGluKTE0NCA0OTYuOCBSIEYxPDI0YWQ+Mi41NjYgRSBGMAotNS4wNjYoLlQpQyAuMDY2KGhlIHJldHVybiBzdGF0dXMgaXMgYWwpLTUuMDY2IEYgLS4xKHdhKS0uMSBHIC4wNjYKLSh5cyB0cnVlIHVubGVzcyBhbiBpbikuMSBGIC0uMjUodmEpLS40IEcgLjA2NyhsaWQgb3B0aW9uKS4yNSBGCi0oaXMgZW5jb3VudGVyZWQuKTE0NCA1MDguOCBRIEYxKHNoaWZ0KTEwOCA1MjUuNiBRIEYwKFspMi41IEUgRjIobilBIEYwCi0oXSlBIC40MjkoVGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyBmcm9tKTE0NCA1MzcuNiBSIEYyKG4pMi45MjkgRSBGMAotLjQyOSgrMSAuLi4gYXJlIHJlbmFtZWQgdG8pQiBGMSAuNDI5KCQxIC4uLi4pMi45MjkgRiBGMCAtLjE1KFBhKTUuNDI4IEcKLS40MjgocmFtZXRlcnMgcmVwcmVzZW50ZWQgYnkgdGhlIG51bS0pLjE1IEYoYmVycykxNDQgNTQ5LjYgUSBGMSgkIykyLjU4MgotRSBGMChkbykyLjU4MiBFIC4wODIod24gdG8pLS4yNSBGIEYxKCQjKTIuNTgyIEUgRjA8YWQ+QSBGMihuKUEgRjAgLjA4MgotKCsxIGFyZSB1bnNldC4pQiBGMihuKTUuNDQyIEUgRjAgLjA4MihtdXN0IGJlIGEgbm9uLW5lKTIuODIyIEYgLS4wNShnYSkKLS0uMTUgRyh0aSkuMDUgRSAuMzgzIC0uMTUodmUgbiktLjI1IEggLjA4Myh1bWJlciBsZXNzIHRoYW4gb3IgZXF1YWwgdG8pCi0uMTUgRiBGMSgkIykyLjU4MyBFIEYwIDUuMDgzKC5JKUMoZiktNS4wODMgRSBGMihuKTIuOTQzIEUgRjAgLjA2Ci0oaXMgMCwgbm8gcGFyYW1ldGVycyBhcmUgY2hhbmdlZC4pMTQ0IDU2MS42IFIoSWYpNS4wNiBFIEYyKG4pMi45MiBFIEYwCi0uMDYoaXMgbm90IGdpKTIuOCBGIC0uMTUodmUpLS4yNSBHIC4wNihuLCBpdCBpcyBhc3N1bWVkIHRvIGJlIDEuKS4xNSBGCi0oSWYpNS4wNiBFIEYyKG4pMi45MiBFIEYwIC4wNihpcyBncmVhdGVyIHRoYW4pMi44IEYgRjEoJCMpMi41NiBFIEYwIDIuNTYKLSgsdClDKGhlKS0yLjU2IEUgLjE0Myhwb3NpdGlvbmFsIHBhcmFtZXRlcnMgYXJlIG5vdCBjaGFuZ2VkLikxNDQgNTczLjYgUgotLjE0NChUaGUgcmV0dXJuIHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gemVybyBpZik1LjE0MyBGIEYyKG4pMy4wMDQgRSBGMAotLjE0NChpcyBncmVhdGVyIHRoYW4pMi44ODQgRiBGMSgkIykyLjY0NCBFIEYwCi0ob3IgbGVzcyB0aGFuIHplcm87IG90aGVyd2lzZSAwLikxNDQgNTg1LjYgUSBGMShzaG9wdCkxMDggNjAyLjQgUSBGMChbKQotMi41IEUgRjEoXDI1NXBxc3UpQSBGMCAyLjUoXVspQyBGMTxhZDZmPi0yLjUgRSBGMCAyLjUoXVspQyBGMihvcHRuYW1lKQotLTIuNSBFIEYwKC4uLl0pMi41IEUgLS44KFRvKTE0NCA2MTQuNCBTIC4yMjIoZ2dsZSB0aGUgdikuOCBGIC4yMjIKLShhbHVlcyBvZiB2KS0uMjUgRiAuMjIyKGFyaWFibGVzIGNvbnRyb2xsaW5nIG9wdGlvbmFsIHNoZWxsIGJlaGEpLS4yNSBGCi0odmlvciktLjIgRSA1LjIyMiguVyktLjU1IEcgLjIyMihpdGggbm8gb3B0aW9ucywgb3Igd2l0aCB0aGUpLTUuNjIyIEYgRjEKLTxhZDcwPjIuNzIyIEUgRjAgLjcyMShvcHRpb24sIGEgbGlzdCBvZiBhbGwgc2V0dGFibGUgb3B0aW9ucyBpcyBkaXNwbGF5XAotZWQsIHdpdGggYW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIHNldC4pMTQ0IDYyNi40IFIoVGhlKQotMTQ0IDYzOC40IFEgRjE8YWQ3MD4yLjgyOCBFIEYwIC4zMjcob3B0aW9uIGNhdXNlcyBvdXRwdXQgdG8gYmUgZGlzcGxheWVcCi1kIGluIGEgZm9ybSB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuKTIuODI4IEYgLjMyNyhPdGhlciBvcHRpb25zKQotNS4zMjcgRihoYSkxNDQgNjUwLjQgUSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopCi0tLjI1IEUgRjE8YWQ3Mz4xNDQgNjYyLjQgUSBGMChFbmFibGUgXChzZXRcKSBlYWNoKTI2LjQxIEUgRjIob3B0bmFtZSkyLjUKLUUgRjAoLilBIEYxPGFkNzU+MTQ0IDY3NC40IFEgRjAoRGlzYWJsZSBcKHVuc2V0XCkgZWFjaCkyNC43NCBFIEYyCi0ob3B0bmFtZSkyLjUgRSBGMCguKUEgRjE8YWQ3MT4xNDQgNjg2LjQgUSBGMCAuMDAzKFN1cHByZXNzZXMgbm9ybWFsIG91dFwKLXB1dCBcKHF1aWV0IG1vZGVcKTsgdGhlIHJldHVybiBzdGF0dXMgaW5kaWNhdGVzIHdoZXRoZXIgdGhlKTI0Ljc0IEYgRjIKLShvcHRuYW1lKTIuNTA0IEUgRjAoaXMpMi41MDQgRSAuMjU2KHNldCBvciB1bnNldC4pMTgwIDY5OC40IFIgLjI1NgotKElmIG11bHRpcGxlKTUuMjU2IEYgRjIob3B0bmFtZSkyLjc1NiBFIEYwKGFyKTIuNzU2IEUgLjI1NgotKGd1bWVudHMgYXJlIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRyAyLjc1NihudykuMTUgRyhpdGgpLTIuNzU2IEUgRjEKLTxhZDcxPjIuNzU2IEUgRjAgMi43NTUoLHQpQyAuMjU1KGhlIHJldHVybiBzdGF0dXMgaXMgemVybyBpZiktMi43NTUgRgotKGFsbCkxODAgNzEwLjQgUSBGMihvcHRuYW1lcykyLjUgRSBGMChhcmUgZW5hYmxlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLikKLTIuNSBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMTUpMTk4LjcyNSBFIDAgQ2cgRVAKKyhVc2luZyArIHJhdGhlciB0aGFuIFwyNTUgY2F1c2VzIHRoZXNlIG9wdGlvbnMpNS40MjUgRihHTlUgQmFzaC00LjApNzIKKzc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgxNSkxOTguNzI1IEUgMCBDZyBFUAogJSVQYWdlOiAxNiAxNgogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4Ci0oVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRjxhZDZmPjE0NCA4NCBRIEYwKFJlc3RyaWN0cyB0aGUgdikyNS4zIEUoYWx1ZXMgb2YpLS4yNSBFCi0vRjIgMTAvVGltZXMtSXRhbGljQDAgU0Yob3B0bmFtZSkyLjUgRSBGMCh0byBiZSB0aG9zZSBkZVwyMTRuZWQgZm9yIHRoZSkKLTIuNSBFIEYxPGFkNmY+Mi41IEUgRjAob3B0aW9uIHRvIHRoZSkyLjUgRSBGMShzZXQpMi41IEUgRjAgLS4yKGJ1KTIuNSBHCi0oaWx0aW4uKS4yIEUgLjEyNyhJZiBlaXRoZXIpMTQ0IDEwMC44IFIgRjE8YWQ3Mz4yLjYyNyBFIEYwKG9yKTIuNjI3IEUgRjEKLTxhZDc1PjIuNjI3IEUgRjAgLjEyNyhpcyB1c2VkIHdpdGggbm8pMi42MjcgRiBGMihvcHRuYW1lKTIuNjI3IEUgRjAoYXIpCi0yLjYyNyBFIC4xMjcoZ3VtZW50cywgdGhlIGRpc3BsYXkgaXMgbGltaXRlZCB0byB0aG9zZSBvcHRpb25zIHdoaWNoKS0uMTgKLUYgMS4wMjQoYXJlIHNldCBvciB1bnNldCwgcmVzcGVjdGkpMTQ0IDExMi44IFIgLS4xNSh2ZSktLjI1IEcobHkpLjE1IEUKLTYuMDI0KC5VKS0uNjUgRyAxLjAyNChubGVzcyBvdGhlcndpc2Ugbm90ZWQsIHRoZSktNi4wMjQgRiBGMShzaG9wdCkzLjUyMwotRSBGMCAxLjAyMyhvcHRpb25zIGFyZSBkaXNhYmxlZCBcKHVuc2V0XCkgYnkpMy41MjMgRihkZWYpMTQ0IDEyNC44IFEKLShhdWx0LiktLjEgRSAxLjU0NAotKFRoZSByZXR1cm4gc3RhdHVzIHdoZW4gbGlzdGluZyBvcHRpb25zIGlzIHplcm8gaWYgYWxsKTE0NCAxNDEuNiBSIEYyCi0ob3B0bmFtZXMpNC4wNDQgRSBGMCAxLjU0NShhcmUgZW5hYmxlZCwgbm9uLXplcm8gb3RoZXJ3aXNlLik0LjA0NSBGIC42OTYKKyhUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFIC4xNzgKKyh0byBiZSB0dXJuZWQgb2YpMTQ0IDg0IFIgMi42NzgoZi4gVGhlKS0uMjUgRiAuMTc4Cisob3B0aW9ucyBjYW4gYWxzbyBiZSBzcGVjaVwyMTRlZCBhcyBhcikyLjY3OCBGIC4xNzgoZ3VtZW50cyB0byBhbiBpbikKKy0uMTggRiAtLjIodm8pLS40IEcgLjE3NyhjYXRpb24gb2YgdGhlIHNoZWxsLikuMiBGKFRoZSk1LjE3NyBFIC4wNjYKKyhjdXJyZW50IHNldCBvZiBvcHRpb25zIG1heSBiZSBmb3VuZCBpbikxNDQgOTYgUi9GMSAxMC9UaW1lcy1Cb2xkQDAgU0YKKzwyNGFkPjIuNTY2IEUgRjAgNS4wNjYoLlQpQyAuMDY2KGhlIHJldHVybiBzdGF0dXMgaXMgYWwpLTUuMDY2IEYgLS4xKHdhKQorLS4xIEcgLjA2Nih5cyB0cnVlIHVubGVzcyBhbiBpbikuMSBGIC0uMjUodmEpLS40IEcgLjA2NyhsaWQgb3B0aW9uKS4yNSBGCisoaXMgZW5jb3VudGVyZWQuKTE0NCAxMDggUSBGMShzaGlmdCkxMDggMTI0LjggUSBGMChbKTIuNSBFL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YobilBIEYwKF0pQSAuNDI5KFRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgZnJvbSkxNDQKKzEzNi44IFIgRjIobikyLjkyOSBFIEYwIC40MjkoKzEgLi4uIGFyZSByZW5hbWVkIHRvKUIgRjEgLjQyOSgkMSAuLi4uKQorMi45MjkgRiBGMCAtLjE1KFBhKTUuNDI4IEcgLjQyOChyYW1ldGVycyByZXByZXNlbnRlZCBieSB0aGUgbnVtLSkuMTUgRgorKGJlcnMpMTQ0IDE0OC44IFEgRjEoJCMpMi41ODIgRSBGMChkbykyLjU4MiBFIC4wODIod24gdG8pLS4yNSBGIEYxKCQjKQorMi41ODIgRSBGMDxhZD5BIEYyKG4pQSBGMCAuMDgyKCsxIGFyZSB1bnNldC4pQiBGMihuKTUuNDQyIEUgRjAgLjA4MgorKG11c3QgYmUgYSBub24tbmUpMi44MjIgRiAtLjA1KGdhKS0uMTUgRyh0aSkuMDUgRSAuMzgzIC0uMTUodmUgbiktLjI1IEgKKy4wODModW1iZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvKS4xNSBGIEYxKCQjKTIuNTgzIEUgRjAgNS4wODMoLkkpQyhmKQorLTUuMDgzIEUgRjIobikyLjk0MyBFIEYwIC4wNihpcyAwLCBubyBwYXJhbWV0ZXJzIGFyZSBjaGFuZ2VkLikxNDQgMTYwLjgKK1IoSWYpNS4wNiBFIEYyKG4pMi45MiBFIEYwIC4wNihpcyBub3QgZ2kpMi44IEYgLS4xNSh2ZSktLjI1IEcgLjA2CisobiwgaXQgaXMgYXNzdW1lZCB0byBiZSAxLikuMTUgRihJZik1LjA2IEUgRjIobikyLjkyIEUgRjAgLjA2CisoaXMgZ3JlYXRlciB0aGFuKTIuOCBGIEYxKCQjKTIuNTYgRSBGMCAyLjU2KCx0KUMoaGUpLTIuNTYgRSAuMTQzCisocG9zaXRpb25hbCBwYXJhbWV0ZXJzIGFyZSBub3QgY2hhbmdlZC4pMTQ0IDE3Mi44IFIgLjE0NAorKFRoZSByZXR1cm4gc3RhdHVzIGlzIGdyZWF0ZXIgdGhhbiB6ZXJvIGlmKTUuMTQzIEYgRjIobikzLjAwNCBFIEYwIC4xNDQKKyhpcyBncmVhdGVyIHRoYW4pMi44ODQgRiBGMSgkIykyLjY0NCBFIEYwCisob3IgbGVzcyB0aGFuIHplcm87IG90aGVyd2lzZSAwLikxNDQgMTg0LjggUSBGMShzaG9wdCkxMDggMjAxLjYgUSBGMChbKQorMi41IEUgRjEoXDI1NXBxc3UpQSBGMCAyLjUoXVspQyBGMTxhZDZmPi0yLjUgRSBGMCAyLjUoXVspQyBGMihvcHRuYW1lKQorLTIuNSBFIEYwKC4uLl0pMi41IEUgLS44KFRvKTE0NCAyMTMuNiBTIC4yMjIoZ2dsZSB0aGUgdikuOCBGIC4yMjIKKyhhbHVlcyBvZiB2KS0uMjUgRiAuMjIyKGFyaWFibGVzIGNvbnRyb2xsaW5nIG9wdGlvbmFsIHNoZWxsIGJlaGEpLS4yNSBGCisodmlvciktLjIgRSA1LjIyMiguVyktLjU1IEcgLjIyMihpdGggbm8gb3B0aW9ucywgb3Igd2l0aCB0aGUpLTUuNjIyIEYgRjEKKzxhZDcwPjIuNzIyIEUgRjAgLjcyMShvcHRpb24sIGEgbGlzdCBvZiBhbGwgc2V0dGFibGUgb3B0aW9ucyBpcyBkaXNwbGF5XAorZWQsIHdpdGggYW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIHNldC4pMTQ0IDIyNS42IFIoVGhlKQorMTQ0IDIzNy42IFEgRjE8YWQ3MD4yLjgyOCBFIEYwIC4zMjcob3B0aW9uIGNhdXNlcyBvdXRwdXQgdG8gYmUgZGlzcGxheWVcCitkIGluIGEgZm9ybSB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXQuKTIuODI4IEYgLjMyNyhPdGhlciBvcHRpb25zKQorNS4zMjcgRihoYSkxNDQgMjQ5LjYgUSAuMyAtLjE1KHZlIHQpLS4yIEgoaGUgZm9sbG8pLjE1IEUod2luZyBtZWFuaW5nczopCistLjI1IEUgRjE8YWQ3Mz4xNDQgMjYxLjYgUSBGMChFbmFibGUgXChzZXRcKSBlYWNoKTI2LjQxIEUgRjIob3B0bmFtZSkyLjUKK0UgRjAoLilBIEYxPGFkNzU+MTQ0IDI3My42IFEgRjAoRGlzYWJsZSBcKHVuc2V0XCkgZWFjaCkyNC43NCBFIEYyCisob3B0bmFtZSkyLjUgRSBGMCguKUEgRjE8YWQ3MT4xNDQgMjg1LjYgUSBGMCAuMDAzKFN1cHByZXNzZXMgbm9ybWFsIG91dFwKK3B1dCBcKHF1aWV0IG1vZGVcKTsgdGhlIHJldHVybiBzdGF0dXMgaW5kaWNhdGVzIHdoZXRoZXIgdGhlKTI0Ljc0IEYgRjIKKyhvcHRuYW1lKTIuNTA0IEUgRjAoaXMpMi41MDQgRSAuMjU2KHNldCBvciB1bnNldC4pMTgwIDI5Ny42IFIgLjI1NgorKElmIG11bHRpcGxlKTUuMjU2IEYgRjIob3B0bmFtZSkyLjc1NiBFIEYwKGFyKTIuNzU2IEUgLjI1NgorKGd1bWVudHMgYXJlIGdpKS0uMTggRiAtLjE1KHZlKS0uMjUgRyAyLjc1NihudykuMTUgRyhpdGgpLTIuNzU2IEUgRjEKKzxhZDcxPjIuNzU2IEUgRjAgMi43NTUoLHQpQyAuMjU1KGhlIHJldHVybiBzdGF0dXMgaXMgemVybyBpZiktMi43NTUgRgorKGFsbCkxODAgMzA5LjYgUSBGMihvcHRuYW1lcykyLjUgRSBGMChhcmUgZW5hYmxlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLikKKzIuNSBFIEYxPGFkNmY+MTQ0IDMyMS42IFEgRjAoUmVzdHJpY3RzIHRoZSB2KTI1LjMgRShhbHVlcyBvZiktLjI1IEUgRjIKKyhvcHRuYW1lKTIuNSBFIEYwKHRvIGJlIHRob3NlIGRlXDIxNG5lZCBmb3IgdGhlKTIuNSBFIEYxPGFkNmY+Mi41IEUgRjAKKyhvcHRpb24gdG8gdGhlKTIuNSBFIEYxKHNldCkyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4uKS4yIEUgLjEyNworKElmIGVpdGhlcikxNDQgMzM4LjQgUiBGMTxhZDczPjIuNjI3IEUgRjAob3IpMi42MjcgRSBGMTxhZDc1PjIuNjI3IEUgRjAKKy4xMjcoaXMgdXNlZCB3aXRoIG5vKTIuNjI3IEYgRjIob3B0bmFtZSkyLjYyNyBFIEYwKGFyKTIuNjI3IEUgLjEyNworKGd1bWVudHMsIHRoZSBkaXNwbGF5IGlzIGxpbWl0ZWQgdG8gdGhvc2Ugb3B0aW9ucyB3aGljaCktLjE4IEYgMS4wMjQKKyhhcmUgc2V0IG9yIHVuc2V0LCByZXNwZWN0aSkxNDQgMzUwLjQgUiAtLjE1KHZlKS0uMjUgRyhseSkuMTUgRSA2LjAyNAorKC5VKS0uNjUgRyAxLjAyNChubGVzcyBvdGhlcndpc2Ugbm90ZWQsIHRoZSktNi4wMjQgRiBGMShzaG9wdCkzLjUyMyBFIEYwCisxLjAyMyhvcHRpb25zIGFyZSBkaXNhYmxlZCBcKHVuc2V0XCkgYnkpMy41MjMgRihkZWYpMTQ0IDM2Mi40IFEoYXVsdC4pCistLjEgRSAxLjU0NChUaGUgcmV0dXJuIHN0YXR1cyB3aGVuIGxpc3Rpbmcgb3B0aW9ucyBpcyB6ZXJvIGlmIGFsbCkxNDQKKzM3OS4yIFIgRjIob3B0bmFtZXMpNC4wNDQgRSBGMCAxLjU0NShhcmUgZW5hYmxlZCwgbm9uLXplcm8gb3RoZXJ3aXNlLikKKzQuMDQ1IEYgLjY5NgogKFdoZW4gc2V0dGluZyBvciB1bnNldHRpbmcgb3B0aW9ucywgdGhlIHJldHVybiBzdGF0dXMgaXMgemVybyB1bmxlc3MgYW4pCi0xNDQgMTUzLjYgUiBGMihvcHRuYW1lKTMuMTk2IEUgRjAgLjY5NihpcyBub3QgYSB2KTMuMTk2IEYgLjY5NQotKGFsaWQgc2hlbGwpLS4yNSBGKG9wdGlvbi4pMTQ0IDE2NS42IFEoVGhlIGxpc3Qgb2YpMTQ0IDE4Mi40IFEgRjEoc2hvcHQpCi0yLjUgRSBGMChvcHRpb25zIGlzOikyLjUgRSBGMShhdXRvY2QpMTQ0IDIwMC40IFEgRjAgLjE5OQorMTQ0IDM5MS4yIFIgRjIob3B0bmFtZSkzLjE5NiBFIEYwIC42OTYoaXMgbm90IGEgdikzLjE5NiBGIC42OTUKKyhhbGlkIHNoZWxsKS0uMjUgRihvcHRpb24uKTE0NCA0MDMuMiBRKFRoZSBsaXN0IG9mKTE0NCA0MjAgUSBGMShzaG9wdCkKKzIuNSBFIEYwKG9wdGlvbnMgaXM6KTIuNSBFIEYxKGF1dG9jZCkxNDQgNDM4IFEgRjAgLjE5OQogKElmIHNldCwgYSBjb21tYW5kIG5hbWUgdGhhdCBpcyB0aGUgbmFtZSBvZiBhIGRpcmVjdG9yeSBpcyBlKTExLjExIEYKIC0uMTUoeGUpLS4xNSBHIC4yKGN1dGVkIGFzIGlmIGl0IHdlcmUgdGhlIGFyKS4xNSBGKGd1LSktLjE4IEUKLShtZW50IHRvIHRoZSkxODQgMjEyLjQgUSBGMShjZCkyLjUgRSBGMCAyLjUoY29tbWFuZC4gVGhpcykyLjUgRgorKG1lbnQgdG8gdGhlKTE4NCA0NTAgUSBGMShjZCkyLjUgRSBGMCAyLjUoY29tbWFuZC4gVGhpcykyLjUgRgogKG9wdGlvbiBpcyBvbmx5IHVzZWQgYnkgaW50ZXJhY3RpKTIuNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFCi1GMShjZGFibGVfdikxNDQgMjI0LjQgUShhcnMpLS4xIEUgRjAgLjE1NihJZiBzZXQsIGFuIGFyKTE4NCAyMzYuNCBSIC4xNTYKK0YxKGNkYWJsZV92KTE0NCA0NjIgUShhcnMpLS4xIEUgRjAgLjE1NihJZiBzZXQsIGFuIGFyKTE4NCA0NzQgUiAuMTU2CiAoZ3VtZW50IHRvIHRoZSktLjE4IEYgRjEoY2QpMi42NTYgRSBGMCAtLjIoYnUpMi42NTYgRyAuMTU1CiAoaWx0aW4gY29tbWFuZCB0aGF0IGlzIG5vdCBhIGRpcmVjdG9yeSBpcyBhc3N1bWVkIHRvIGJlIHRoZSkuMiBGCi0obmFtZSBvZiBhIHYpMTg0IDI0OC40IFEoYXJpYWJsZSB3aG9zZSB2KS0uMjUgRQotKGFsdWUgaXMgdGhlIGRpcmVjdG9yeSB0byBjaGFuZ2UgdG8uKS0uMjUgRSBGMShjZHNwZWxsKTE0NCAyNjAuNCBRIEYwCisobmFtZSBvZiBhIHYpMTg0IDQ4NiBRKGFyaWFibGUgd2hvc2UgdiktLjI1IEUKKyhhbHVlIGlzIHRoZSBkaXJlY3RvcnkgdG8gY2hhbmdlIHRvLiktLjI1IEUgRjEoY2RzcGVsbCkxNDQgNDk4IFEgRjAKIDEuMDU1CiAoSWYgc2V0LCBtaW5vciBlcnJvcnMgaW4gdGhlIHNwZWxsaW5nIG9mIGEgZGlyZWN0b3J5IGNvbXBvbmVudCBpbiBhKQogMTAuNTUgRiBGMShjZCkzLjU1NSBFIEYwIDEuMDU1KGNvbW1hbmQgd2lsbCBiZSkzLjU1NSBGIDMuOTg4Ci0oY29ycmVjdGVkLiBUaGUpMTg0IDI3Mi40IFIgMS40ODgoZXJyb3JzIGNoZWNrKTMuOTg4IEYgMS40ODcKKyhjb3JyZWN0ZWQuIFRoZSkxODQgNTEwIFIgMS40ODgoZXJyb3JzIGNoZWNrKTMuOTg4IEYgMS40ODcKIChlZCBmb3IgYXJlIHRyYW5zcG9zZWQgY2hhcmFjdGVycywgYSBtaXNzaW5nIGNoYXJhY3RlciktLjEgRiAzLjk4NygsYSkKLS0uNCBHKG5kKS0zLjk4NyBFIC41NTIob25lIGNoYXJhY3RlciB0b28gbWFuKTE4NCAyODQuNCBSIDQuMzUyIC0uNjUKLSh5LiBJKS0uMTUgSCAzLjA1MihmYWMpLjY1IEcgLjU1MgorLS40IEcobmQpLTMuOTg3IEUgLjU1MihvbmUgY2hhcmFjdGVyIHRvbyBtYW4pMTg0IDUyMiBSIDQuMzUyIC0uNjUoeS4gSSkKKy0uMTUgSCAzLjA1MihmYWMpLjY1IEcgLjU1MgogKG9ycmVjdGlvbiBpcyBmb3VuZCwgdGhlIGNvcnJlY3RlZCBcMjE0bGUgbmFtZSBpcyBwcmludGVkLCBhbmQpLTMuMDUyIEYKLSh0aGUgY29tbWFuZCBwcm9jZWVkcy4pMTg0IDI5Ni40IFEKLShUaGlzIG9wdGlvbiBpcyBvbmx5IHVzZWQgYnkgaW50ZXJhY3RpKTUgRSAuMyAtLjE1KHZlIHMpLS4yNSBIKGhlbGxzLikKLS4xNSBFIEYxKGNoZWNraGFzaCkxNDQgMzA4LjQgUSBGMCAyLjA4KElmIHNldCwpMTg0IDMyMC40IFIgRjEoYmFzaCk0LjU4Ci1FIEYwIDIuMDc5KGNoZWNrcyB0aGF0IGEgY29tbWFuZCBmb3VuZCBpbiB0aGUgaGFzaCB0YWJsZSBlKTQuNTggRiAyLjA3OQotKHhpc3RzIGJlZm9yZSB0cnlpbmcgdG8pLS4xNSBGIC0uMTUoZXhlKTE4NCAzMzIuNCBTKGN1dGUgaXQuKS4xNSBFCisodGhlIGNvbW1hbmQgcHJvY2VlZHMuKTE4NCA1MzQgUShUaGlzIG9wdGlvbiBpcyBvbmx5IHVzZWQgYnkgaW50ZXJhY3RpKTUKK0UgLjMgLS4xNSh2ZSBzKS0uMjUgSChoZWxscy4pLjE1IEUgRjEoY2hlY2toYXNoKTE0NCA1NDYgUSBGMCAyLjA4CisoSWYgc2V0LCkxODQgNTU4IFIgRjEoYmFzaCk0LjU4IEUgRjAgMi4wNzkKKyhjaGVja3MgdGhhdCBhIGNvbW1hbmQgZm91bmQgaW4gdGhlIGhhc2ggdGFibGUgZSk0LjU4IEYgMi4wNzkKKyh4aXN0cyBiZWZvcmUgdHJ5aW5nIHRvKS0uMTUgRiAtLjE1KGV4ZSkxODQgNTcwIFMoY3V0ZSBpdC4pLjE1IEUKIChJZiBhIGhhc2hlZCBjb21tYW5kIG5vIGxvbmdlciBlKTUgRQotKHhpc3RzLCBhIG5vcm1hbCBwYXRoIHNlYXJjaCBpcyBwZXJmb3JtZWQuKS0uMTUgRSBGMShjaGVja2pvYnMpMTQ0IDM0NC40Ci1RIEYwIC40NDgoSWYgc2V0LCkxODQgMzU2LjQgUiBGMShiYXNoKTIuOTQ4IEUgRjAgLjQ0OAorKHhpc3RzLCBhIG5vcm1hbCBwYXRoIHNlYXJjaCBpcyBwZXJmb3JtZWQuKS0uMTUgRSBGMShjaGVja2pvYnMpMTQ0IDU4MiBRCitGMCAuNDQ4KElmIHNldCwpMTg0IDU5NCBSIEYxKGJhc2gpMi45NDggRSBGMCAuNDQ4CiAobGlzdHMgdGhlIHN0YXR1cyBvZiBhbikyLjk0OCBGIDIuOTQ5KHlzKS0uMTUgRyAuNDQ5CiAodG9wcGVkIGFuZCBydW5uaW5nIGpvYnMgYmVmb3JlIGUpLTIuOTQ5IEYgLjQ0OSh4aXRpbmcgYW4gaW50ZXJhY3RpKS0uMTUKLUYgLS4xNSh2ZSktLjI1IEcgMy40Mzkoc2hlbGwuIElmKTE4NCAzNjguNCBSKGFuKTMuNDM5IEUgMy40MzkoeWopLS4xNSBHCitGIC0uMTUodmUpLS4yNSBHIDMuNDM5KHNoZWxsLiBJZikxODQgNjA2IFIoYW4pMy40MzkgRSAzLjQzOSh5aiktLjE1IEcKIC45Mzgob2JzIGFyZSBydW5uaW5nLCB0aGlzIGNhdXNlcyB0aGUgZSktMy40MzkgRiAuOTM4CiAoeGl0IHRvIGJlIGRlZmVycmVkIHVudGlsIGEgc2Vjb25kIGUpLS4xNSBGIC45MzgoeGl0IGlzKS0uMTUgRiAyLjIwMwotKGF0dGVtcHRlZCB3aXRob3V0IGFuIGludGVydikxODQgMzgwLjQgUiAyLjIwMyhlbmluZyBjb21tYW5kIFwoc2VlKS0uMTUKLUYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YgMi4yMDMoSk9CIENPTlRSKTQuNzAzIEYoT0wpLS4yNyBFIEYwKGFibyk0LjQ1MyBFCi0tLjE1KHZlKS0uMTUgRyA0LjcwMyhcKS4gVGhlKS4xNSBGKHNoZWxsKTQuNzA0IEUoYWwpMTg0IDM5Mi40IFEgLS4xKHdhKQotLS4xIEcoeXMgcG9zdHBvbmVzIGUpLjEgRSh4aXRpbmcgaWYgYW4pLS4xNSBFIDIuNSh5aiktLjE1IEcKLShvYnMgYXJlIHN0b3BwZWQuKS0yLjUgRSBGMShjaGVja3dpbnNpemUpMTQ0IDQwNC40IFEgRjAgLjc5NyhJZiBzZXQsKTE4NAotNDE2LjQgUiBGMShiYXNoKTMuMjk3IEUgRjAgLjc5NyhjaGVja3MgdGhlIHdpbmRvKTMuMjk3IEYgMy4yOTcod3MpLS4yNSBHCisoYXR0ZW1wdGVkIHdpdGhvdXQgYW4gaW50ZXJ2KTE4NCA2MTggUiAyLjIwMyhlbmluZyBjb21tYW5kIFwoc2VlKS0uMTUgRgorL0YzIDkvVGltZXMtQm9sZEAwIFNGIDIuMjAzKEpPQiBDT05UUik0LjcwMyBGKE9MKS0uMjcgRSBGMChhYm8pNC40NTMgRQorLS4xNSh2ZSktLjE1IEcgNC43MDMoXCkuIFRoZSkuMTUgRihzaGVsbCk0LjcwNCBFKGFsKTE4NCA2MzAgUSAtLjEod2EpLS4xCitHKHlzIHBvc3Rwb25lcyBlKS4xIEUoeGl0aW5nIGlmIGFuKS0uMTUgRSAyLjUoeWopLS4xNSBHCisob2JzIGFyZSBzdG9wcGVkLiktMi41IEUgRjEoY2hlY2t3aW5zaXplKTE0NCA2NDIgUSBGMCAuNzk3KElmIHNldCwpMTg0Cis2NTQgUiBGMShiYXNoKTMuMjk3IEUgRjAgLjc5NyhjaGVja3MgdGhlIHdpbmRvKTMuMjk3IEYgMy4yOTcod3MpLS4yNSBHCiAuNzk2KGl6ZSBhZnRlciBlYWNoIGNvbW1hbmQgYW5kLCBpZiBuZWNlc3NhcnkpLTMuMjk3IEYgMy4yOTYoLHUpLS42NSBHCi0uNzk2KHBkYXRlcyB0aGUpLTMuMjk2IEYgLS4yNSh2YSkxODQgNDI4LjQgUyhsdWVzIG9mKS4yNSBFIEYzKExJTkVTKTIuNQotRSBGMChhbmQpMi4yNSBFIEYzKENPTFVNTlMpMi41IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMShjbWRoaXN0KQotMTQ0IDQ0MC40IFEgRjAgMS4yMDIoSWYgc2V0LCk2LjExIEYgRjEoYmFzaCkzLjcwMiBFIEYwIDEuMjAyCi0oYXR0ZW1wdHMgdG8gc2EpMy43MDIgRiAxLjUwMiAtLjE1KHZlIGEpLS4yIEggMS4yMDIKKy43OTYocGRhdGVzIHRoZSktMy4yOTYgRiAtLjI1KHZhKTE4NCA2NjYgUyhsdWVzIG9mKS4yNSBFIEYzKExJTkVTKTIuNSBFCitGMChhbmQpMi4yNSBFIEYzKENPTFVNTlMpMi41IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKC4pQSBGMShjbWRoaXN0KTE0NAorNjc4IFEgRjAgMS4yMDIoSWYgc2V0LCk2LjExIEYgRjEoYmFzaCkzLjcwMiBFIEYwIDEuMjAyKGF0dGVtcHRzIHRvIHNhKQorMy43MDIgRiAxLjUwMiAtLjE1KHZlIGEpLS4yIEggMS4yMDIKIChsbCBsaW5lcyBvZiBhIG11bHRpcGxlLWxpbmUgY29tbWFuZCBpbiB0aGUgc2FtZSBoaXN0b3J5KS4xNSBGKGVudHJ5KTE4NAotNDUyLjQgUSA1KC5UKS0uNjUgRyhoaXMgYWxsbyktNSBFCi0od3MgZWFzeSByZS1lZGl0aW5nIG9mIG11bHRpLWxpbmUgY29tbWFuZHMuKS0uMjUgRSBGMShjb21wYXQzMSkxNDQgNDY0LjQKLVEgRjAgLjQyKElmIHNldCwpMTg0IDQ3Ni40IFIgRjEoYmFzaCkyLjkyIEUgRjAgLjQyKGNoYW5nZXMgaXRzIGJlaGEpMi45MgotRiAuNDE5KHZpb3IgdG8gdGhhdCBvZiB2KS0uMiBGIC40MTkKLShlcnNpb24gMy4xIHdpdGggcmVzcGVjdCB0byBxdW90ZWQgYXIpLS4xNSBGKGd1bWVudHMpLS4xOCBFCi0odG8gdGhlIGNvbmRpdGlvbmFsIGNvbW1hbmQnKTE4NCA0ODguNCBRIDIuNShzPSktLjU1IEcgMi41KH5vKS0yLjUgRwotKHBlcmF0b3IpLTIuNSBFKC4pLS41NSBFIEYxKGNvbXBhdDMyKTE0NCA1MDAuNCBRIEYwIDEuNDA5KElmIHNldCwpMTg0Ci01MTIuNCBSIEYxKGJhc2gpMy45MDkgRSBGMCAxLjQwOShjaGFuZ2VzIGl0cyBiZWhhKTMuOTA5IEYgMS40MDkKLSh2aW9yIHRvIHRoYXQgb2YgdiktLjIgRiAxLjQxCi0oZXJzaW9uIDMuMiB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpXDIxNGMpLS4xNSBGCi0oc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCcpMTg0IDUyNC40IFEgMi41Ci0oczxhKS0uNTUgRyhuZCA+IG9wZXJhdG9ycy4pLTIuNSBFIEYxKGNvbXBhdDQwKTE0NCA1MzYuNCBRIEYwIDEuNDEKLShJZiBzZXQsKTE4NCA1NDguNCBSIEYxKGJhc2gpMy45MSBFIEYwIDEuNDEoY2hhbmdlcyBpdHMgYmVoYSkzLjkxIEYKLTEuNDA5KHZpb3IgdG8gdGhhdCBvZiB2KS0uMiBGIDEuNDA5Ci0oZXJzaW9uIDQuMCB3aXRoIHJlc3BlY3QgdG8gbG9jYWxlLXNwZWNpXDIxNGMpLS4xNSBGIDEuNjkyCi0oc3RyaW5nIGNvbXBhcmlzb24gd2hlbiB1c2luZyB0aGUgY29uZGl0aW9uYWwgY29tbWFuZCcpMTg0IDU2MC40IFIgNC4xOTMKLShzPGEpLS41NSBHIDEuNjkzKG5kID4gb3BlcmF0b3JzIGFuZCB0aGUpLTQuMTkzIEYoZWYpMTg0IDU3Mi40IFEKLShmZWN0IG9mIGludGVycnVwdGluZyBhIGNvbW1hbmQgbGlzdC4pLS4yNSBFIEYxKGRpcnNwZWxsKTE0NCA1ODQuNCBRIEYwCi0uODU5KElmIHNldCwpNy43NyBGIEYxKGJhc2gpMy4zNTkgRSBGMCAuODU4Ci0oYXR0ZW1wdHMgc3BlbGxpbmcgY29ycmVjdGlvbiBvbiBkaXJlY3RvcnkgbmFtZXMgZHVyaW5nIHcpMy4zNTkgRiAuODU4Ci0ob3JkIGNvbXBsZXRpb24gaWYpLS4xIEYKLSh0aGUgZGlyZWN0b3J5IG5hbWUgaW5pdGlhbGx5IHN1cHBsaWVkIGRvZXMgbm90IGUpMTg0IDU5Ni40IFEoeGlzdC4pLS4xNQotRSBGMShkb3RnbG9iKTE0NCA2MDguNCBRIEYwIC4xNjUoSWYgc2V0LCk3Ljc3IEYgRjEoYmFzaCkyLjY2NSBFIEYwIC4xNjUKLShpbmNsdWRlcyBcMjE0bGVuYW1lcyBiZSkyLjY2NSBGIC4xNjUoZ2lubmluZyB3aXRoIGEgYC4pLS4xNSBGIDIuNjY1KCdpKQotLS43IEcgMi42NjUobnQpLTIuNjY1IEcgLjE2NShoZSByZXN1bHRzIG9mIHBhdGhuYW1lIGUpLTIuNjY1IEYKLSh4cGFuc2lvbi4pLS4xNSBFIEYxKGV4ZWNmYWlsKTE0NCA2MjAuNCBRIEYwIDEuMzg3Ci0oSWYgc2V0LCBhIG5vbi1pbnRlcmFjdGkpNy43OSBGIDEuNjg3IC0uMTUodmUgcyktLjI1IEggMS4zODYKLShoZWxsIHdpbGwgbm90IGUpLjE1IEYgMS4zODYoeGl0IGlmIGl0IGNhbm5vdCBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRwotMS4zODYoY3V0ZSB0aGUgXDIxNGxlIHNwZWNpXDIxNGVkIGFzIGFuKS4xNSBGKGFyKTE4NCA2MzIuNCBRCi0oZ3VtZW50IHRvIHRoZSktLjE4IEUgRjEoZXhlYykyLjUgRSBGMCAtLjIoYnUpMi41IEcoaWx0aW4gY29tbWFuZC4pLjIgRQotKEFuIGludGVyYWN0aSk1IEUgLjMgLS4xNSh2ZSBzKS0uMjUgSChoZWxsIGRvZXMgbm90IGUpLjE1IEUoeGl0IGlmKS0uMTUKLUUgRjEoZXhlYykyLjUgRSBGMCAtLjEoZmEpMi41IEcoaWxzLikuMSBFIEYxKGV4cGFuZF9hbGlhc2VzKTE0NCA2NDQuNCBRCi1GMCAuNzE2KElmIHNldCwgYWxpYXNlcyBhcmUgZSkxODQgNjU2LjQgUiAuNzE3KHhwYW5kZWQgYXMgZGVzY3JpYmVkIGFibykKLS0uMTUgRiAxLjAxNyAtLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUgRjMoQUxJQVNFUykzLjIxNyBFIEY0KC4pQSBGMAotLjcxNyhUaGlzIG9wdGlvbiBpcyBlbmFibGVkKTUuMjE3IEYoYnkgZGVmKTE4NCA2NjguNCBRCi0oYXVsdCBmb3IgaW50ZXJhY3RpKS0uMSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbHMuKS4xNSBFIEYxKGV4dGRlYikxNDQKLTY4MC40IFEodWcpLS4yIEUgRjAoSWYgc2V0LCBiZWhhKTE4NCA2OTIuNCBRCi0odmlvciBpbnRlbmRlZCBmb3IgdXNlIGJ5IGRlYiktLjIgRSh1Z2dlcnMgaXMgZW5hYmxlZDopLS4yIEUgRjEoMS4pMTg0Ci03MDQuNCBRIEYwKFRoZSkyOC41IEUgRjE8YWQ0Nj40LjI1MSBFIEYwIDEuNzUxKG9wdGlvbiB0byB0aGUpNC4yNTEgRiBGMQotKGRlY2xhcik0LjI1MSBFKGUpLS4xOCBFIEYwIC0uMihidSk0LjI1MSBHIDEuNzUxCi0oaWx0aW4gZGlzcGxheXMgdGhlIHNvdXJjZSBcMjE0bGUgbmFtZSBhbmQgbGluZSkuMiBGCi0obnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBmdW5jdGlvbiBuYW1lIHN1cHBsaWVkIGFzIGFuIGFyKTIyMCA3MTYuNAotUShndW1lbnQuKS0uMTggRShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDE2KTE5OC43MjUKLUUgMCBDZyBFUAorNjkwIFEgNSguVCktLjY1IEcoaGlzIGFsbG8pLTUgRQorKHdzIGVhc3kgcmUtZWRpdGluZyBvZiBtdWx0aS1saW5lIGNvbW1hbmRzLiktLjI1IEUgRjEoY29tcGF0MzEpMTQ0IDcwMiBRCitGMCAuNDIoSWYgc2V0LCkxODQgNzE0IFIgRjEoYmFzaCkyLjkyIEUgRjAgLjQyKGNoYW5nZXMgaXRzIGJlaGEpMi45MiBGCisuNDE5KHZpb3IgdG8gdGhhdCBvZiB2KS0uMiBGIC40MTkoZXJzaW9uIDMuMSB3aXRoIHJlc3BlY3QgdG8gcXVvdGVkIGFyKQorLS4xNSBGKGd1bWVudHMpLS4xOCBFKHRvIHRoZSkxODQgNzI2IFEgRjEoW1spMi41IEUgRjAKKyhjb25kaXRpb25hbCBjb21tYW5kJykyLjUgRShzKS0uNTUgRSBGMSg9fikyLjUgRSBGMChvcGVyYXRvcikyLjUgRSguKQorLS41NSBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMTYpMTk4LjcyNSBFIDAgQ2cgRVAKICUlUGFnZTogMTcgMTcKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTKFNIX0IpLjM1IEUoVUlMKS0uMSBFIDI5MC40OAogKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUvRjEgMTAKLS9UaW1lcy1Cb2xkQDAgU0YoMi4pMTg0IDg0IFEgRjAgMS42NjcoSWYgdGhlIGNvbW1hbmQgcnVuIGJ5IHRoZSkyOC41IEYKLUYxKERFQik0LjE2NyBFKFVHKS0uMSBFIEYwIDEuNjY3KHRyYXAgcmV0dXJucyBhIG5vbi16ZXJvIHYpNC4xNjcgRiAxLjY2NwotKGFsdWUsIHRoZSBuZSktLjI1IEYoeHQpLS4xNSBFKGNvbW1hbmQgaXMgc2tpcHBlZCBhbmQgbm90IGUpMjIwIDk2IFEKLS0uMTUoeGUpLS4xNSBHKGN1dGVkLikuMTUgRSBGMSgzLikxODQgMTA4IFEgRjAgLjg0MQorL1RpbWVzLUJvbGRAMCBTRihjb21wYXQzMikxNDQgODQgUSBGMCAxLjQwOShJZiBzZXQsKTE4NCA5NiBSIEYxKGJhc2gpCiszLjkwOSBFIEYwIDEuNDA5KGNoYW5nZXMgaXRzIGJlaGEpMy45MDkgRiAxLjQwOSh2aW9yIHRvIHRoYXQgb2YgdiktLjIgRgorMS40MShlcnNpb24gMy4yIHdpdGggcmVzcGVjdCB0byBsb2NhbGUtc3BlY2lcMjE0YyktLjE1IEYgMS4yNjYKKyhzdHJpbmcgY29tcGFyaXNvbiB3aGVuIHVzaW5nIHRoZSkxODQgMTA4IFIgRjEoW1spMy43NjYgRSBGMCAxLjI2NgorKGNvbmRpdGlvbmFsIGNvbW1hbmQnKTMuNzY2IEYocyktLjU1IEUgRjEoPCkzLjc2NiBFIEYwKGFuZCkzLjc2NiBFIEYxKD4pCiszLjc2NiBFIEYwIDMuNzY1KG9wZXJhdG9ycy4gQmFzaCkzLjc2NSBGIC0uMTUodmUpMTg0IDEyMCBTIC41MTIKKyhyc2lvbnMgcHJpb3IgdG8gYmFzaC00LjEgdXNlIEFTQ0lJIGNvbGxhdGlvbiBhbmQpLjE1IEYvRjIgMTAKKy9UaW1lcy1JdGFsaWNAMCBTRihzdHIpMy4wMTIgRShjbXApLS4zNyBFIEYwIC41MTMKKyhcKDNcKTsgYmFzaC00LjEgYW5kIGxhdGVyIHVzZSB0aGUpLjE5IEYoY3VycmVudCBsb2NhbGUnKTE4NCAxMzIgUSAyLjUKKyhzYyktLjU1IEcob2xsYXRpb24gc2VxdWVuY2UgYW5kKS0yLjUgRSBGMihzdHIpMi41IEUoY29sbCktLjM3IEUgRjAKKyhcKDNcKS4pLjUxIEUgRjEoY29tcGF0NDApMTQ0IDE0NCBRIEYwIDEuNDEoSWYgc2V0LCkxODQgMTU2IFIgRjEoYmFzaCkKKzMuOTEgRSBGMCAxLjQxKGNoYW5nZXMgaXRzIGJlaGEpMy45MSBGIDEuNDA5KHZpb3IgdG8gdGhhdCBvZiB2KS0uMiBGCisxLjQwOShlcnNpb24gNC4wIHdpdGggcmVzcGVjdCB0byBsb2NhbGUtc3BlY2lcMjE0YyktLjE1IEYgLjQyMgorKHN0cmluZyBjb21wYXJpc29uIHdoZW4gdXNpbmcgdGhlKTE4NCAxNjggUiBGMShbWykyLjkyMiBFIEYwIC40MjIKKyhjb25kaXRpb25hbCBjb21tYW5kJykyLjkyMiBGKHMpLS41NSBFIEYxKDwpMi45MjIgRSBGMChhbmQpMi45MjIgRSBGMSg+KQorMi45MjMgRSBGMCAuNDIzKG9wZXJhdG9ycyBcKHNlZSBwcmUtKTIuOTIzIEYodmlvdXMgaXRlbVwpIGFuZCB0aGUgZWYpMTg0CisxODAgUShmZWN0IG9mIGludGVycnVwdGluZyBhIGNvbW1hbmQgbGlzdC4pLS4yNSBFIEYxKGNvbXBhdDQxKTE0NCAxOTIgUQorRjAgMS4yMzIoQGl0ZW0gY29tcGF0NDEgSWYgc2V0LCkxODQgMjA0IFIgRjEoYmFzaCkzLjczMiBFIEYwIDMuNzMyKCx3KUMKKzEuMjMyKGhlbiBpbiBwb3NpeCBtb2RlLCB0cmVhdHMgYSBzaW5nbGUgcXVvdGUgaW4gYSBkb3VibGUtKS0zLjczMiBGCisxLjIxMyhxdW90ZWQgcGFyYW1ldGVyIGUpMTg0IDIxNiBSIDEuMjEzCisoeHBhbnNpb24gYXMgYSBzcGVjaWFsIGNoYXJhY3RlciktLjE1IEYgNi4yMTMoLlQpLS41NSBHIDEuMjE0CisoaGUgc2luZ2xlIHF1b3RlcyBtdXN0IG1hdGNoIFwoYW4pLTYuMjEzIEYgLTIuMTUgLS4yNShldiBlKTE4NCAyMjggVAorMi45NDkobm4pLjI1IEcgLjQ0OCh1bWJlclwpIGFuZCB0aGUgY2hhcmFjdGVycyBiZXR3ZWVuIHRoZSBzaW5nbGUgcXVvdGVcCitzIGFyZSBjb25zaWRlcmVkIHF1b3RlZC4pLTIuOTQ5IEYoVGhpcyk1LjQ0OCBFIC4wNjIoaXMgdGhlIGJlaGEpMTg0IDI0MAorUiAuMDYyKHZpb3Igb2YgcG9zaXggbW9kZSB0aHJvdWdoIHYpLS4yIEYgLjA2MihlcnNpb24gNC4xLiktLjE1IEYgLjA2MgorKFRoZSBkZWYpNS4wNjIgRiAuMDYyKGF1bHQgYmFzaCBiZWhhKS0uMSBGIC4wNjModmlvciByZW1haW5zIGFzKS0uMiBGCisoaW4gcHJlKTE4NCAyNTIgUSh2aW91cyB2KS0uMjUgRShlcnNpb25zLiktLjE1IEUgRjEoZGlyc3BlbGwpMTQ0IDI2NCBRCitGMCAuODU5KElmIHNldCwpNy43NyBGIEYxKGJhc2gpMy4zNTkgRSBGMCAuODU4CisoYXR0ZW1wdHMgc3BlbGxpbmcgY29ycmVjdGlvbiBvbiBkaXJlY3RvcnkgbmFtZXMgZHVyaW5nIHcpMy4zNTkgRiAuODU4Cisob3JkIGNvbXBsZXRpb24gaWYpLS4xIEYKKyh0aGUgZGlyZWN0b3J5IG5hbWUgaW5pdGlhbGx5IHN1cHBsaWVkIGRvZXMgbm90IGUpMTg0IDI3NiBRKHhpc3QuKS0uMTUgRQorRjEoZG90Z2xvYikxNDQgMjg4IFEgRjAgLjE2NShJZiBzZXQsKTcuNzcgRiBGMShiYXNoKTIuNjY1IEUgRjAgLjE2NQorKGluY2x1ZGVzIFwyMTRsZW5hbWVzIGJlKTIuNjY1IEYgLjE2NShnaW5uaW5nIHdpdGggYSBgLiktLjE1IEYgMi42NjUoJ2kpCistLjcgRyAyLjY2NShudCktMi42NjUgRyAuMTY1KGhlIHJlc3VsdHMgb2YgcGF0aG5hbWUgZSktMi42NjUgRgorKHhwYW5zaW9uLiktLjE1IEUgRjEoZXhlY2ZhaWwpMTQ0IDMwMCBRIEYwIDEuMzg3CisoSWYgc2V0LCBhIG5vbi1pbnRlcmFjdGkpNy43OSBGIDEuNjg3IC0uMTUodmUgcyktLjI1IEggMS4zODYKKyhoZWxsIHdpbGwgbm90IGUpLjE1IEYgMS4zODYoeGl0IGlmIGl0IGNhbm5vdCBlKS0uMTUgRiAtLjE1KHhlKS0uMTUgRworMS4zODYoY3V0ZSB0aGUgXDIxNGxlIHNwZWNpXDIxNGVkIGFzIGFuKS4xNSBGKGFyKTE4NCAzMTIgUQorKGd1bWVudCB0byB0aGUpLS4xOCBFIEYxKGV4ZWMpMi41IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluIGNvbW1hbmQuKS4yIEUKKyhBbiBpbnRlcmFjdGkpNSBFIC4zIC0uMTUodmUgcyktLjI1IEgoaGVsbCBkb2VzIG5vdCBlKS4xNSBFKHhpdCBpZiktLjE1CitFIEYxKGV4ZWMpMi41IEUgRjAgLS4xKGZhKTIuNSBHKGlscy4pLjEgRSBGMShleHBhbmRfYWxpYXNlcykxNDQgMzI0IFEgRjAKKy43MTYoSWYgc2V0LCBhbGlhc2VzIGFyZSBlKTE4NCAzMzYgUiAuNzE3KHhwYW5kZWQgYXMgZGVzY3JpYmVkIGFibyktLjE1CitGIDEuMDE3IC0uMTUodmUgdSktLjE1IEgobmRlcikuMTUgRS9GMyA5L1RpbWVzLUJvbGRAMCBTRihBTElBU0VTKTMuMjE3IEUKKy9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC43MTcoVGhpcyBvcHRpb24gaXMgZW5hYmxlZCk1LjIxNyBGCisoYnkgZGVmKTE4NCAzNDggUShhdWx0IGZvciBpbnRlcmFjdGkpLS4xIEUgLjMgLS4xNSh2ZSBzKS0uMjUgSChoZWxscy4pCisuMTUgRSBGMShleHRkZWIpMTQ0IDM2MCBRKHVnKS0uMiBFIEYwKElmIHNldCwgYmVoYSkxODQgMzcyIFEKKyh2aW9yIGludGVuZGVkIGZvciB1c2UgYnkgZGViKS0uMiBFKHVnZ2VycyBpcyBlbmFibGVkOiktLjIgRSBGMSgxLikxODQKKzM4NCBRIEYwKFRoZSkyOC41IEUgRjE8YWQ0Nj40LjI1MSBFIEYwIDEuNzUxKG9wdGlvbiB0byB0aGUpNC4yNTEgRiBGMQorKGRlY2xhcik0LjI1MSBFKGUpLS4xOCBFIEYwIC0uMihidSk0LjI1MSBHIDEuNzUxCisoaWx0aW4gZGlzcGxheXMgdGhlIHNvdXJjZSBcMjE0bGUgbmFtZSBhbmQgbGluZSkuMiBGCisobnVtYmVyIGNvcnJlc3BvbmRpbmcgdG8gZWFjaCBmdW5jdGlvbiBuYW1lIHN1cHBsaWVkIGFzIGFuIGFyKTIyMCAzOTYgUQorKGd1bWVudC4pLS4xOCBFIEYxKDIuKTE4NCA0MDggUSBGMCAxLjY2NyhJZiB0aGUgY29tbWFuZCBydW4gYnkgdGhlKTI4LjUKK0YgRjEoREVCKTQuMTY3IEUoVUcpLS4xIEUgRjAgMS42NjcodHJhcCByZXR1cm5zIGEgbm9uLXplcm8gdik0LjE2NyBGCisxLjY2NyhhbHVlLCB0aGUgbmUpLS4yNSBGKHh0KS0uMTUgRShjb21tYW5kIGlzIHNraXBwZWQgYW5kIG5vdCBlKTIyMCA0MjAKK1EgLS4xNSh4ZSktLjE1IEcoY3V0ZWQuKS4xNSBFIEYxKDMuKTE4NCA0MzIgUSBGMCAuODQxCiAoSWYgdGhlIGNvbW1hbmQgcnVuIGJ5IHRoZSkyOC41IEYgRjEoREVCKTMuMzQxIEUoVUcpLS4xIEUgRjAgLjg0MQogKHRyYXAgcmV0dXJucyBhIHYpMy4zNDEgRiAuODQoYWx1ZSBvZiAyLCBhbmQgdGhlIHNoZWxsIGlzKS0uMjUgRiAtLjE1Ci0oZXhlKTIyMCAxMjAgUyAuNDg4CisoZXhlKTIyMCA0NDQgUyAuNDg4CiAoY3V0aW5nIGluIGEgc3Vicm91dGluZSBcKGEgc2hlbGwgZnVuY3Rpb24gb3IgYSBzaGVsbCBzY3JpcHQgZSkuMTUgRgogLS4xNSh4ZSktLjE1IEcgLjQ4OChjdXRlZCBieSB0aGUpLjE1IEYgRjEoLikyLjk4OCBFIEYwKG9yKTIuOTg4IEUgRjEKLShzb3VyKTIyMCAxMzIgUShjZSktLjE4IEUgRjAgLS4yKGJ1KTIuNSBHKGlsdGluc1wpLCBhIGNhbGwgdG8pLjIgRSBGMQotLS4xOChyZSkyLjUgRyh0dXIpLjE4IEUobiktLjE1IEUgRjAoaXMgc2ltdWxhdGVkLikyLjUgRSBGMSg0LikxODQgMTQ0IFEKLS9GMiA5L1RpbWVzLUJvbGRAMCBTRiAtLjI3KEJBKTI4LjUgRyhTSF9BUkdDKS4yNyBFIEYwKGFuZCkzLjE1NCBFIEYyCi0tLjI3KEJBKTMuNDA0IEcoU0hfQVJHVikuMjcgRSBGMCAuOTA0Ci0oYXJlIHVwZGF0ZWQgYXMgZGVzY3JpYmVkIGluIHRoZWlyIGRlc2NyaXB0aW9ucykzLjE1NCBGKGFibykyMjAgMTU2IFEKLS0uMTUodmUpLS4xNSBHKC4pLjE1IEUgRjEoNS4pMTg0IDE2OCBRIEYwIDEuMzU5Cisoc291cikyMjAgNDU2IFEoY2UpLS4xOCBFIEYwIC0uMihidSkyLjUgRyhpbHRpbnNcKSwgYSBjYWxsIHRvKS4yIEUgRjEKKy0uMTgocmUpMi41IEcodHVyKS4xOCBFKG4pLS4xNSBFIEYwKGlzIHNpbXVsYXRlZC4pMi41IEUgRjEoNC4pMTg0IDQ2OCBRCitGMyAtLjI3KEJBKTI4LjUgRyhTSF9BUkdDKS4yNyBFIEYwKGFuZCkzLjE1NCBFIEYzIC0uMjcoQkEpMy40MDQgRworKFNIX0FSR1YpLjI3IEUgRjAgLjkwNChhcmUgdXBkYXRlZCBhcyBkZXNjcmliZWQgaW4gdGhlaXIgZGVzY3JpcHRpb25zKQorMy4xNTQgRihhYm8pMjIwIDQ4MCBRIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUgRjEoNS4pMTg0IDQ5MiBRIEYwIDEuMzU5CiAoRnVuY3Rpb24gdHJhY2luZyBpcyBlbmFibGVkOikyOC41IEYgMS4zNTkKIChjb21tYW5kIHN1YnN0aXR1dGlvbiwgc2hlbGwgZnVuY3Rpb25zLCBhbmQgc3ViLSk2LjM1OSBGKHNoZWxscyBpbikyMjAKLTE4MCBRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjUoZHcpLjEgRyhpdGgpLTIuNSBFIEYxKFwoKTIuNSBFL0YzIDEwCi0vVGltZXMtSXRhbGljQDAgU0YoY29tbWFuZCkyLjUgRSBGMShcKSkyLjUgRSBGMChpbmhlcml0IHRoZSkyLjUgRSBGMQotKERFQikyLjUgRShVRyktLjEgRSBGMChhbmQpMi41IEUgRjEoUkVUVVJOKTIuNSBFIEYwKHRyYXBzLikyLjUgRSBGMSg2LikKLTE4NCAxOTIgUSBGMCAuODA1KEVycm9yIHRyYWNpbmcgaXMgZW5hYmxlZDopMjguNSBGIC44MDQKLShjb21tYW5kIHN1YnN0aXR1dGlvbiwgc2hlbGwgZnVuY3Rpb25zLCBhbmQgc3Vic2hlbGxzKTUuODA1IEYoaW4pMjIwIDIwNAotUSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi41KGR3KS4xIEcoaXRoKS0yLjUgRSBGMShcKCkyLjUgRSBGMwotKGNvbW1hbmQpMi41IEUgRjEoXCkpMi41IEUgRjAoaW5oZXJpdCB0aGUpMi41IEUgRjEoRVJSKTIuNSBFKE9SKS0uMyBFIEYwCi0odHJhcC4pMi41IEUgRjEoZXh0Z2xvYikxNDQgMjE2IFEgRjAgLjQoSWYgc2V0LCB0aGUgZSk4Ljg5IEYgLjQKKzUwNCBRIC0uMih2byktLjQgRyAtLjEoa2UpLjIgRyAyLjUoZHcpLjEgRyhpdGgpLTIuNSBFIEYxKFwoKTIuNSBFIEYyCisoY29tbWFuZCkyLjUgRSBGMShcKSkyLjUgRSBGMChpbmhlcml0IHRoZSkyLjUgRSBGMShERUIpMi41IEUoVUcpLS4xIEUgRjAKKyhhbmQpMi41IEUgRjEoUkVUVVJOKTIuNSBFIEYwKHRyYXBzLikyLjUgRSBGMSg2LikxODQgNTE2IFEgRjAgLjgwNQorKEVycm9yIHRyYWNpbmcgaXMgZW5hYmxlZDopMjguNSBGIC44MDQKKyhjb21tYW5kIHN1YnN0aXR1dGlvbiwgc2hlbGwgZnVuY3Rpb25zLCBhbmQgc3Vic2hlbGxzKTUuODA1IEYoaW4pMjIwIDUyOAorUSAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMi41KGR3KS4xIEcoaXRoKS0yLjUgRSBGMShcKCkyLjUgRSBGMgorKGNvbW1hbmQpMi41IEUgRjEoXCkpMi41IEUgRjAoaW5oZXJpdCB0aGUpMi41IEUgRjEoRVJSKTIuNSBFIEYwKHRyYXAuKQorMi41IEUgRjEoZXh0Z2xvYikxNDQgNTQwIFEgRjAgLjQoSWYgc2V0LCB0aGUgZSk4Ljg5IEYgLjQKICh4dGVuZGVkIHBhdHRlcm4gbWF0Y2hpbmcgZmVhdHVyZXMgZGVzY3JpYmVkIGFibyktLjE1IEYgLjcgLS4xNSh2ZSB1KQotLS4xNSBIKG5kZXIpLjE1IEUgRjEgLS4xKFBhKTIuOSBHIC40KHRobmFtZSBFeHBhbi0pLjEgRihzaW9uKTE4NCAyMjggUQotRjAoYXJlIGVuYWJsZWQuKTIuNSBFIEYxKGV4dHF1b3RlKTE0NCAyNDAgUSBGMCAyLjQ3MyhJZiBzZXQsKTE4NCAyNTIgUgotRjEoJCk0Ljk3MyBFIEYwPDA4PkEgRjMoc3RyaW5nKUEgRjAgNC45NzM8MDg2MT5DKG5kKS00Ljk3MyBFIEYxKCQpNC45NzMKLUUgRjAoIilBIEYzKHN0cmluZylBIEYwIDQuOTczKCJxKUMgMi40NzModW90aW5nIGlzIHBlcmZvcm1lZCB3aXRoaW4pCi0tNC45NzMgRiBGMSgkeyk0Ljk3MyBFIEYzKHBhcilBKGFtZXRlciktLjE1IEUgRjEofSlBIEYwIC0uMTUoZXgpNC45NzMgRwotKHBhbnNpb25zKS4xNSBFKGVuY2xvc2VkIGluIGRvdWJsZSBxdW90ZXMuKTE4NCAyNjQgUQotKFRoaXMgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmKTUgRShhdWx0LiktLjEgRSBGMShmYWlsZ2xvYikxNDQgMjc2IFEgRjAKKy0uMTUgSChuZGVyKS4xNSBFIEYxIC0uMShQYSkyLjkgRyAuNCh0aG5hbWUgRXhwYW4tKS4xIEYoc2lvbikxODQgNTUyIFEKK0YwKGFyZSBlbmFibGVkLikyLjUgRSBGMShleHRxdW90ZSkxNDQgNTY0IFEgRjAgMi40NzMoSWYgc2V0LCkxODQgNTc2IFIKK0YxKCQpNC45NzMgRSBGMDwwOD5BIEYyKHN0cmluZylBIEYwIDQuOTczPDA4NjE+QyhuZCktNC45NzMgRSBGMSgkKTQuOTczCitFIEYwKCIpQSBGMihzdHJpbmcpQSBGMCA0Ljk3MygicSlDIDIuNDczKHVvdGluZyBpcyBwZXJmb3JtZWQgd2l0aGluKQorLTQuOTczIEYgRjEoJHspNC45NzMgRSBGMihwYXIpQShhbWV0ZXIpLS4xNSBFIEYxKH0pQSBGMCAtLjE1KGV4KTQuOTczIEcKKyhwYW5zaW9ucykuMTUgRShlbmNsb3NlZCBpbiBkb3VibGUgcXVvdGVzLikxODQgNTg4IFEKKyhUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZik1IEUoYXVsdC4pLS4xIEUgRjEoZmFpbGdsb2IpMTQ0IDYwMCBRIEYwCiAxLjQyNChJZiBzZXQsIHBhdHRlcm5zIHdoaWNoIGYpNy43NyBGIDEuNDI1CiAoYWlsIHRvIG1hdGNoIFwyMTRsZW5hbWVzIGR1cmluZyBwYXRobmFtZSBlKS0uMSBGIDEuNDI1Ci0oeHBhbnNpb24gcmVzdWx0IGluIGFuKS0uMTUgRiAtLjE1KGV4KTE4NCAyODggUyhwYW5zaW9uIGVycm9yKS4xNSBFKC4pCi0tLjU1IEUgRjEgLS4yNShmbykxNDQgMzAwIFMgLS4xOChyYykuMjUgRyhlX1wyMTRnbm9yKS4xOCBFKGUpLS4xOCBFIEYwCi0uOTM3KElmIHNldCwgdGhlIHN1ZikxODQgMzEyIFI8OGM3OD4tLjI1IEUgLjkzNihlcyBzcGVjaVwyMTRlZCBieSB0aGUpCi0tLjE1IEYgRjIoRklHTk9SRSkzLjQzNiBFIEYwIC45MzYoc2hlbGwgdikzLjE4NiBGIC45MzYoYXJpYWJsZSBjYXVzZSB3KQotLS4yNSBGIC45MzYob3JkcyB0byBiZSBpZ25vcmVkKS0uMSBGIC4zMih3aGVuIHBlcmZvcm1pbmcgdykxODQgMzI0IFIgLjMyCisoeHBhbnNpb24gcmVzdWx0IGluIGFuKS0uMTUgRiAtLjE1KGV4KTE4NCA2MTIgUyhwYW5zaW9uIGVycm9yKS4xNSBFKC4pCistLjU1IEUgRjEgLS4yNShmbykxNDQgNjI0IFMgLS4xOChyYykuMjUgRyhlX1wyMTRnbm9yKS4xOCBFKGUpLS4xOCBFIEYwCisuOTM3KElmIHNldCwgdGhlIHN1ZikxODQgNjM2IFI8OGM3OD4tLjI1IEUgLjkzNihlcyBzcGVjaVwyMTRlZCBieSB0aGUpCistLjE1IEYgRjMoRklHTk9SRSkzLjQzNiBFIEYwIC45MzYoc2hlbGwgdikzLjE4NiBGIC45MzYoYXJpYWJsZSBjYXVzZSB3KQorLS4yNSBGIC45MzYob3JkcyB0byBiZSBpZ25vcmVkKS0uMSBGIC4zMih3aGVuIHBlcmZvcm1pbmcgdykxODQgNjQ4IFIgLjMyCiAob3JkIGNvbXBsZXRpb24gZSktLjEgRiAtLjE1KHZlKS0uMjUgRyAyLjgyKG5pKS4xNSBHIDIuODIoZnQpLTIuODIgRyAuMzIKIChoZSBpZ25vcmVkIHcpLTIuODIgRiAuMzIob3JkcyBhcmUgdGhlIG9ubHkgcG9zc2libGUgY29tLSktLjEgRiAyLjk0OAotKHBsZXRpb25zLiBTZWUpMTg0IDMzNiBSIEYyIC40NDgoU0hFTEwgVikyLjk0OCBGKEFSSUFCTEVTKS0xLjIxNSBFIEYwCi0oYWJvKTIuNjk4IEUgLjc0OCAtLjE1KHZlIGYpLS4xNSBIIC40NDgob3IgYSBkZXNjcmlwdGlvbiBvZikuMTUgRiBGMgotKEZJR05PUkUpMi45NDcgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC40NDcoVGhpcyBvcHRpb24gaXMpNC45NDcKLUYoZW5hYmxlZCBieSBkZWYpMTg0IDM0OCBRKGF1bHQuKS0uMSBFIEYxKGdsb2JzdGFyKTE0NCAzNjAgUSBGMCAuMTc4Ci0oSWYgc2V0LCB0aGUgcGF0dGVybik1IEYgRjEoKiopMi42NzggRSBGMCAuMTc4KHVzZWQgaW4gYSBwYXRobmFtZSBlKQotMi42NzggRiAuMTc4KHhwYW5zaW9uIGNvbnRlKS0uMTUgRiAuMTc5Ci0oeHQgd2lsbCBtYXRjaCBhIFwyMTRsZXMgYW5kIHplcm8gb3IpLS4xNSBGIDEuMjk4Ci0obW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKTE4NCAzNzIgUiAxLjI5OAorKHBsZXRpb25zLiBTZWUpMTg0IDY2MCBSIEYzIC40NDgoU0hFTEwgVikyLjk0OCBGKEFSSUFCTEVTKS0xLjIxNSBFIEYwCisoYWJvKTIuNjk4IEUgLjc0OCAtLjE1KHZlIGYpLS4xNSBIIC40NDgob3IgYSBkZXNjcmlwdGlvbiBvZikuMTUgRiBGMworKEZJR05PUkUpMi45NDcgRSBGNCguKUEgRjAgLjQ0NyhUaGlzIG9wdGlvbiBpcyk0Ljk0NyBGKGVuYWJsZWQgYnkgZGVmKQorMTg0IDY3MiBRKGF1bHQuKS0uMSBFIEYxKGdsb2JzdGFyKTE0NCA2ODQgUSBGMCAuMTc4KElmIHNldCwgdGhlIHBhdHRlcm4pCis1IEYgRjEoKiopMi42NzggRSBGMCAuMTc4KHVzZWQgaW4gYSBwYXRobmFtZSBlKTIuNjc4IEYgLjE3OAorKHhwYW5zaW9uIGNvbnRlKS0uMTUgRiAuMTc5KHh0IHdpbGwgbWF0Y2ggYSBcMjE0bGVzIGFuZCB6ZXJvIG9yKS0uMTUgRgorMS4yOTgobW9yZSBkaXJlY3RvcmllcyBhbmQgc3ViZGlyZWN0b3JpZXMuKTE4NCA2OTYgUiAxLjI5OAogKElmIHRoZSBwYXR0ZXJuIGlzIGZvbGxvKTYuMjk4IEYgMS4yOTgod2VkIGJ5IGEpLS4yNSBGIEYxKC8pMy43OTcgRSBGMAogMy43OTcoLG8pQyAxLjI5NyhubHkgZGlyZWN0b3JpZXMpLTMuNzk3IEYoYW5kIHN1YmRpcmVjdG9yaWVzIG1hdGNoLikxODQKLTM4NCBRIEYxKGdudV9lcnJmbXQpMTQ0IDM5NiBRIEYwKElmIHNldCwgc2hlbGwgZXJyb3IgbWVzc2FnZXMgYXJlIHdyaXR0XAotZW4gaW4gdGhlIHN0YW5kYXJkIEdOVSBlcnJvciBtZXNzYWdlIGZvcm1hdC4pMTg0IDQwOCBRIEYxKGhpc3RhcHBlbmQpMTQ0Ci00MjAgUSBGMCAuNjc2Ci0oSWYgc2V0LCB0aGUgaGlzdG9yeSBsaXN0IGlzIGFwcGVuZGVkIHRvIHRoZSBcMjE0bGUgbmFtZWQgYnkgdGhlIHYpMTg0Ci00MzIgUiAuNjc2KGFsdWUgb2YgdGhlKS0uMjUgRiBGMihISVNURklMRSkzLjE3NyBFIEYwIC0uMjUodmEpMi45MjcgRwotKHJpLSkuMjUgRShhYmxlIHdoZW4gdGhlIHNoZWxsIGUpMTg0IDQ0NCBRKHhpdHMsIHJhdGhlciB0aGFuIG8pLS4xNSBFCi0tLjE1KHZlKS0uMTUgRyhyd3JpdGluZyB0aGUgXDIxNGxlLikuMTUgRSBGMShoaXN0cikxNDQgNDU2IFEoZWVkaXQpLS4xOAotRSBGMCAuNTc2KElmIHNldCwgYW5kKTE4NCA0NjggUiBGMSAtLjE4KHJlKTMuMDc2IEcoYWRsaW5lKS4xOCBFIEYwIC41NzUKLShpcyBiZWluZyB1c2VkLCBhIHVzZXIgaXMgZ2kpMy4wNzYgRiAtLjE1KHZlKS0uMjUgRyAzLjA3NShudCkuMTUgRyAuNTc1Ci0oaGUgb3Bwb3J0dW5pdHkgdG8gcmUtZWRpdCBhIGYpLTMuMDc1IEYgLjU3NShhaWxlZCBoaXMtKS0uMSBGCi0odG9yeSBzdWJzdGl0dXRpb24uKTE4NCA0ODAgUSBGMShoaXN0dikxNDQgNDkyIFEoZXJpZnkpLS4xIEUgRjAgLjQwMgotKElmIHNldCwgYW5kKTE4NCA1MDQgUiBGMSAtLjE4KHJlKTIuOTAzIEcoYWRsaW5lKS4xOCBFIEYwIC40MDMKLShpcyBiZWluZyB1c2VkLCB0aGUgcmVzdWx0cyBvZiBoaXN0b3J5IHN1YnN0aXR1dGlvbiBhcmUgbm90IGltbWVkaWF0ZWx5KQotMi45MDMgRiAuNjYyKHBhc3NlZCB0byB0aGUgc2hlbGwgcGFyc2VyKTE4NCA1MTYgUiA1LjY2MiguSSktLjU1IEcgLjY2MQotKG5zdGVhZCwgdGhlIHJlc3VsdGluZyBsaW5lIGlzIGxvYWRlZCBpbnRvIHRoZSktNS42NjIgRiBGMSAtLjE4KHJlKTMuMTYxCi1HKGFkbGluZSkuMTggRSBGMChlZGl0aW5nKTMuMTYxIEUgLS4yKGJ1KTE4NCA1MjggUyAtLjI1KGZmKS4yIEcoZXIpLjI1IEUKLTIuNSgsYSktLjQgRyhsbG8pLTIuNSBFKHdpbmcgZnVydGhlciBtb2RpXDIxNGNhdGlvbi4pLS4yNSBFIEYxCi0oaG9zdGNvbXBsZXRlKTE0NCA1NDAgUSBGMCAxLjE4MShJZiBzZXQsIGFuZCkxODQgNTUyIFIgRjEgLS4xOChyZSkzLjY4MQotRyhhZGxpbmUpLjE4IEUgRjAgMS4xODEoaXMgYmVpbmcgdXNlZCwpMy42ODEgRiBGMShiYXNoKTMuNjgyIEUgRjAgMS4xODIKLSh3aWxsIGF0dGVtcHQgdG8gcGVyZm9ybSBob3N0bmFtZSBjb21wbGV0aW9uKTMuNjgyIEYgMS4zODEod2hlbiBhIHcpMTg0Ci01NjQgUiAxLjM4MShvcmQgY29udGFpbmluZyBhKS0uMSBGIEYxKEApMy44ODEgRSBGMCAxLjM4MQotKGlzIGJlaW5nIGNvbXBsZXRlZCBcKHNlZSkzLjg4MSBGIEYxKENvbXBsZXRpbmcpMy44OCBFIEYwKHVuZGVyKTMuODggRQotRjIoUkVBRExJTkUpMy44OCBFIEYwKGFibykxODQgNTc2IFEgLS4xNSh2ZSktLjE1IEcgMi41KFwpLiBUaGlzKS4xNSBGCi0oaXMgZW5hYmxlZCBieSBkZWYpMi41IEUoYXVsdC4pLS4xIEUgRjEoaHVwb25leGl0KTE0NCA1ODggUSBGMChJZiBzZXQsKQotMTg0IDYwMCBRIEYxKGJhc2gpMi41IEUgRjAod2lsbCBzZW5kKTIuNSBFIEYyKFNJR0hVUCkyLjUgRSBGMAotKHRvIGFsbCBqb2JzIHdoZW4gYW4gaW50ZXJhY3RpKTIuMjUgRSAuMyAtLjE1KHZlIGwpLS4yNSBIKG9naW4gc2hlbGwgZSkKLS4xNSBFKHhpdHMuKS0uMTUgRSBGMShpbnRlcmFjdGkpMTQ0IDYxMiBRIC0uMSh2ZSktLjEgRyhfY29tbWVudHMpLjEgRSBGMAotLjMzKElmIHNldCwgYWxsbykxODQgNjI0IFIgMi44Myh3YXcpLS4yNSBHIC4zMyhvcmQgYmUpLTIuOTMgRiAuMzMKLShnaW5uaW5nIHdpdGgpLS4xNSBGIEYxKCMpMi44MyBFIEYwIC4zMyh0byBjYXVzZSB0aGF0IHcpMi44MyBGIC4zMwotKG9yZCBhbmQgYWxsIHJlbWFpbmluZyBjaGFyYWN0ZXJzIG9uKS0uMSBGIC45NjcKLSh0aGF0IGxpbmUgdG8gYmUgaWdub3JlZCBpbiBhbiBpbnRlcmFjdGkpMTg0IDYzNiBSIDEuMjY3IC0uMTUodmUgcyktLjI1Ci1IIC45NjcoaGVsbCBcKHNlZSkuMTUgRiBGMihDT01NRU5UUykzLjQ2NyBFIEYwKGFibykzLjIxNyBFIC0uMTUodmUpLS4xNQotRyAzLjQ2NyhcKS4gVGhpcykuMTUgRiAuOTY3KG9wdGlvbiBpcykzLjQ2NyBGKGVuYWJsZWQgYnkgZGVmKTE4NCA2NDggUQotKGF1bHQuKS0uMSBFIEYxKGxpdGhpc3QpMTQ0IDY2MCBRIEYwIC42NTQoSWYgc2V0LCBhbmQgdGhlKTE1LjU1IEYgRjEKLShjbWRoaXN0KTMuMTU0IEUgRjAgLjY1NChvcHRpb24gaXMgZW5hYmxlZCwgbXVsdGktbGluZSBjb21tYW5kcyBhcmUgc2EpCi0zLjE1NCBGIC0uMTUodmUpLS4yIEcgMy4xNTUoZHQpLjE1IEcgMy4xNTUob3QpLTMuMTU1IEcgLjY1NShoZSBoaXN0b3J5KQotLTMuMTU1IEYod2l0aCBlbWJlZGRlZCBuZSkxODQgNjcyIFEKLSh3bGluZXMgcmF0aGVyIHRoYW4gdXNpbmcgc2VtaWNvbG9uIHNlcGFyYXRvcnMgd2hlcmUgcG9zc2libGUuKS0uMjUgRSBGMQotKGxvZ2luX3NoZWxsKTE0NCA2ODQgUSBGMCAuNDg2Ci0oVGhlIHNoZWxsIHNldHMgdGhpcyBvcHRpb24gaWYgaXQgaXMgc3RhcnRlZCBhcyBhIGxvZ2luIHNoZWxsIFwoc2VlKTE4NAotNjk2IFIgRjIoSU5WKTIuOTg2IEUoT0NBKS0uNDA1IEUoVElPTiktLjg1NSBFIEYwKGFibykyLjczNiBFIC0uMTUodmUpCi0tLjE1IEcgMi45ODYoXCkuIFRoZSkuMTUgRiAtLjI1KHZhKTE4NCA3MDggUyhsdWUgbWF5IG5vdCBiZSBjaGFuZ2VkLikuMjUKLUUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgxNykxOTguNzI1IEUgMCBDZyBFUAorNzA4IFEoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgxNykxOTguNzI1IEUgMCBDZyBFUAogJSVQYWdlOiAxOCAxOAogJSVCZWdpblBhZ2VTZXR1cAogQlAKICUlRW5kUGFnZVNldHVwCiAvRjAgMTAvVGltZXMtUm9tYW5AMCBTRiAtLjM1KEJBKTcyIDQ4IFMoU0hfQikuMzUgRShVSUwpLS4xIEUgMjkwLjQ4CiAoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRS9GMSAxMAotL1RpbWVzLUJvbGRAMCBTRihtYWlsd2FyKTE0NCA4NCBRKG4pLS4xNSBFIEYwIC44MTQKLShJZiBzZXQsIGFuZCBhIFwyMTRsZSB0aGF0KTE4NCA5NiBSIEYxKGJhc2gpMy4zMTQgRSBGMCAuODE1Ci0oaXMgY2hlY2tpbmcgZm9yIG1haWwgaGFzIGJlZW4gYWNjZXNzZWQgc2luY2UgdGhlIGxhc3QgdGltZSBpdCkzLjMxNCBGCi0tLjEod2EpMTg0IDEwOCBTIDIuNShzYykuMSBHKGhlY2spLTIuNSBFKGVkLCB0aGUgbWVzc2FnZSBgKS0uMSBFCi0oYFRoZSBtYWlsIGluKS0uNzQgRS9GMiAxMC9UaW1lcy1JdGFsaWNAMCBTRihtYWlsXDIxNGxlKTIuNSBFIEYwCisvVGltZXMtQm9sZEAwIFNGKGdudV9lcnJmbXQpMTQ0IDg0IFEgRjAoSWYgc2V0LCBzaGVsbCBlcnJvciBtZXNzYWdlcyBhclwKK2Ugd3JpdHRlbiBpbiB0aGUgc3RhbmRhcmQgR05VIGVycm9yIG1lc3NhZ2UgZm9ybWF0LikxODQgOTYgUSBGMQorKGhpc3RhcHBlbmQpMTQ0IDEwOCBRIEYwIC42NzYKKyhJZiBzZXQsIHRoZSBoaXN0b3J5IGxpc3QgaXMgYXBwZW5kZWQgdG8gdGhlIFwyMTRsZSBuYW1lZCBieSB0aGUgdikxODQKKzEyMCBSIC42NzYoYWx1ZSBvZiB0aGUpLS4yNSBGL0YyIDkvVGltZXMtQm9sZEAwIFNGKEhJU1RGSUxFKTMuMTc3IEUgRjAKKy0uMjUodmEpMi45MjcgRyhyaS0pLjI1IEUoYWJsZSB3aGVuIHRoZSBzaGVsbCBlKTE4NCAxMzIgUQorKHhpdHMsIHJhdGhlciB0aGFuIG8pLS4xNSBFIC0uMTUodmUpLS4xNSBHKHJ3cml0aW5nIHRoZSBcMjE0bGUuKS4xNSBFIEYxCisoaGlzdHIpMTQ0IDE0NCBRKGVlZGl0KS0uMTggRSBGMCAuNTc2KElmIHNldCwgYW5kKTE4NCAxNTYgUiBGMSAtLjE4KHJlKQorMy4wNzYgRyhhZGxpbmUpLjE4IEUgRjAgLjU3NShpcyBiZWluZyB1c2VkLCBhIHVzZXIgaXMgZ2kpMy4wNzYgRiAtLjE1CisodmUpLS4yNSBHIDMuMDc1KG50KS4xNSBHIC41NzUoaGUgb3Bwb3J0dW5pdHkgdG8gcmUtZWRpdCBhIGYpLTMuMDc1IEYKKy41NzUoYWlsZWQgaGlzLSktLjEgRih0b3J5IHN1YnN0aXR1dGlvbi4pMTg0IDE2OCBRIEYxKGhpc3R2KTE0NCAxODAgUQorKGVyaWZ5KS0uMSBFIEYwIC40MDIoSWYgc2V0LCBhbmQpMTg0IDE5MiBSIEYxIC0uMTgocmUpMi45MDMgRyhhZGxpbmUpLjE4CitFIEYwIC40MDMKKyhpcyBiZWluZyB1c2VkLCB0aGUgcmVzdWx0cyBvZiBoaXN0b3J5IHN1YnN0aXR1dGlvbiBhcmUgbm90IGltbWVkaWF0ZWx5KQorMi45MDMgRiAuNjYyKHBhc3NlZCB0byB0aGUgc2hlbGwgcGFyc2VyKTE4NCAyMDQgUiA1LjY2MiguSSktLjU1IEcgLjY2MQorKG5zdGVhZCwgdGhlIHJlc3VsdGluZyBsaW5lIGlzIGxvYWRlZCBpbnRvIHRoZSktNS42NjIgRiBGMSAtLjE4KHJlKTMuMTYxCitHKGFkbGluZSkuMTggRSBGMChlZGl0aW5nKTMuMTYxIEUgLS4yKGJ1KTE4NCAyMTYgUyAtLjI1KGZmKS4yIEcoZXIpLjI1IEUKKzIuNSgsYSktLjQgRyhsbG8pLTIuNSBFKHdpbmcgZnVydGhlciBtb2RpXDIxNGNhdGlvbi4pLS4yNSBFIEYxCisoaG9zdGNvbXBsZXRlKTE0NCAyMjggUSBGMCAxLjE4MShJZiBzZXQsIGFuZCkxODQgMjQwIFIgRjEgLS4xOChyZSkzLjY4MQorRyhhZGxpbmUpLjE4IEUgRjAgMS4xODEoaXMgYmVpbmcgdXNlZCwpMy42ODEgRiBGMShiYXNoKTMuNjgyIEUgRjAgMS4xODIKKyh3aWxsIGF0dGVtcHQgdG8gcGVyZm9ybSBob3N0bmFtZSBjb21wbGV0aW9uKTMuNjgyIEYgMS4zODEod2hlbiBhIHcpMTg0CisyNTIgUiAxLjM4MShvcmQgY29udGFpbmluZyBhKS0uMSBGIEYxKEApMy44ODEgRSBGMCAxLjM4MQorKGlzIGJlaW5nIGNvbXBsZXRlZCBcKHNlZSkzLjg4MSBGIEYxKENvbXBsZXRpbmcpMy44OCBFIEYwKHVuZGVyKTMuODggRQorRjIoUkVBRExJTkUpMy44OCBFIEYwKGFibykxODQgMjY0IFEgLS4xNSh2ZSktLjE1IEcgMi41KFwpLiBUaGlzKS4xNSBGCisoaXMgZW5hYmxlZCBieSBkZWYpMi41IEUoYXVsdC4pLS4xIEUgRjEoaHVwb25leGl0KTE0NCAyNzYgUSBGMChJZiBzZXQsKQorMTg0IDI4OCBRIEYxKGJhc2gpMi41IEUgRjAod2lsbCBzZW5kKTIuNSBFIEYyKFNJR0hVUCkyLjUgRSBGMAorKHRvIGFsbCBqb2JzIHdoZW4gYW4gaW50ZXJhY3RpKTIuMjUgRSAuMyAtLjE1KHZlIGwpLS4yNSBIKG9naW4gc2hlbGwgZSkKKy4xNSBFKHhpdHMuKS0uMTUgRSBGMShpbnRlcmFjdGkpMTQ0IDMwMCBRIC0uMSh2ZSktLjEgRyhfY29tbWVudHMpLjEgRSBGMAorLjMzKElmIHNldCwgYWxsbykxODQgMzEyIFIgMi44Myh3YXcpLS4yNSBHIC4zMyhvcmQgYmUpLTIuOTMgRiAuMzMKKyhnaW5uaW5nIHdpdGgpLS4xNSBGIEYxKCMpMi44MyBFIEYwIC4zMyh0byBjYXVzZSB0aGF0IHcpMi44MyBGIC4zMworKG9yZCBhbmQgYWxsIHJlbWFpbmluZyBjaGFyYWN0ZXJzIG9uKS0uMSBGIC45NjcKKyh0aGF0IGxpbmUgdG8gYmUgaWdub3JlZCBpbiBhbiBpbnRlcmFjdGkpMTg0IDMyNCBSIDEuMjY3IC0uMTUodmUgcyktLjI1CitIIC45NjcoaGVsbCBcKHNlZSkuMTUgRiBGMihDT01NRU5UUykzLjQ2NyBFIEYwKGFibykzLjIxNyBFIC0uMTUodmUpLS4xNQorRyAzLjQ2NyhcKS4gVGhpcykuMTUgRiAuOTY3KG9wdGlvbiBpcykzLjQ2NyBGKGVuYWJsZWQgYnkgZGVmKTE4NCAzMzYgUQorKGF1bHQuKS0uMSBFIEYxKGxhc3RwaXBlKTE0NCAzNDggUSBGMCAxLjIxMQorKElmIHNldCwgYW5kIGpvYiBjb250cm9sIGlzIG5vdCBhY3RpKTYuNjYgRiAtLjE1KHZlKS0uMjUgRyAzLjcxMigsdCkuMTUKK0cgMS4yMTIoaGUgc2hlbGwgcnVucyB0aGUgbGFzdCBjb21tYW5kIG9mIGEgcGlwZWxpbmUgbm90KS0zLjcxMiBGIC0uMTUKKyhleGUpMTg0IDM2MCBTKGN1dGVkIGluIHRoZSBiYWNrZ3JvdW5kIGluIHRoZSBjdXJyZW50IHNoZWxsIGVuKS4xNSBFCisodmlyb25tZW50LiktLjQgRSBGMShsaXRoaXN0KTE0NCAzNzIgUSBGMCAuNjU1KElmIHNldCwgYW5kIHRoZSkxNS41NSBGCitGMShjbWRoaXN0KTMuMTU1IEUgRjAgLjY1NAorKG9wdGlvbiBpcyBlbmFibGVkLCBtdWx0aS1saW5lIGNvbW1hbmRzIGFyZSBzYSkzLjE1NCBGIC0uMTUodmUpLS4yIEcKKzMuMTU0KGR0KS4xNSBHIDMuMTU0KG90KS0zLjE1NCBHIC42NTQoaGUgaGlzdG9yeSktMy4xNTQgRgorKHdpdGggZW1iZWRkZWQgbmUpMTg0IDM4NCBRCisod2xpbmVzIHJhdGhlciB0aGFuIHVzaW5nIHNlbWljb2xvbiBzZXBhcmF0b3JzIHdoZXJlIHBvc3NpYmxlLiktLjI1IEUgRjEKKyhsb2dpbl9zaGVsbCkxNDQgMzk2IFEgRjAgLjQ4NgorKFRoZSBzaGVsbCBzZXRzIHRoaXMgb3B0aW9uIGlmIGl0IGlzIHN0YXJ0ZWQgYXMgYSBsb2dpbiBzaGVsbCBcKHNlZSkxODQKKzQwOCBSIEYyKElOVikyLjk4NyBFKE9DQSktLjQwNSBFKFRJT04pLS44NTUgRSBGMChhYm8pMi43MzcgRSAtLjE1KHZlKQorLS4xNSBHIDIuOTg3KFwpLiBUaGUpLjE1IEYgLS4yNSh2YSkxODQgNDIwIFMobHVlIG1heSBub3QgYmUgY2hhbmdlZC4pLjI1CitFIEYxKG1haWx3YXIpMTQ0IDQzMiBRKG4pLS4xNSBFIEYwIC44MTUoSWYgc2V0LCBhbmQgYSBcMjE0bGUgdGhhdCkxODQKKzQ0NCBSIEYxKGJhc2gpMy4zMTUgRSBGMCAuODE0CisoaXMgY2hlY2tpbmcgZm9yIG1haWwgaGFzIGJlZW4gYWNjZXNzZWQgc2luY2UgdGhlIGxhc3QgdGltZSBpdCkzLjMxNSBGCistLjEod2EpMTg0IDQ1NiBTIDIuNShzYykuMSBHKGhlY2spLTIuNSBFKGVkLCB0aGUgbWVzc2FnZSBgKS0uMSBFCisoYFRoZSBtYWlsIGluKS0uNzQgRS9GMyAxMC9UaW1lcy1JdGFsaWNAMCBTRihtYWlsXDIxNGxlKTIuNSBFIEYwCiAoaGFzIGJlZW4gcmVhZCcpMi41IEUgMi41KCdpKS0uNzQgRyAyLjUoc2QpLTIuNSBHKGlzcGxheWVkLiktMi41IEUgRjEKLShub19lbXB0eV9jbWRfY29tcGxldGlvbikxNDQgMTIwIFEgRjAgLjMyNShJZiBzZXQsIGFuZCkxODQgMTMyIFIgRjEgLS4xOAotKHJlKTIuODI1IEcoYWRsaW5lKS4xOCBFIEYwIC4zMjUoaXMgYmVpbmcgdXNlZCwpMi44MjUgRiBGMShiYXNoKTIuODI0IEUKLUYwIC4zMjQod2lsbCBub3QgYXR0ZW1wdCB0byBzZWFyY2ggdGhlKTIuODI0IEYvRjMgOS9UaW1lcy1Cb2xkQDAgU0YKLS0uNjY2KFBBKTIuODI0IEcoVEgpLS4xODkgRSBGMCAuMzI0KGZvciBwb3NzaWJsZSkyLjU3NCBGCi0oY29tcGxldGlvbnMgd2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCBvbiBhbiBlbXB0eSBsaW5lLikxODQgMTQ0IFEgRjEKLShub2Nhc2VnbG9iKTE0NCAxNTYgUSBGMCAuNDM2KElmIHNldCwpMTg0IDE2OCBSIEYxKGJhc2gpMi45MzYgRSBGMCAuNDM2Ci0obWF0Y2hlcyBcMjE0bGVuYW1lcyBpbiBhIGNhc2VcMjU1aW5zZW5zaXRpKTIuOTM2IEYgLjczNyAtLjE1KHZlIGYpLS4yNQotSCAuNDM3KGFzaGlvbiB3aGVuIHBlcmZvcm1pbmcgcGF0aG5hbWUpLjA1IEYgLS4xNShleCkxODQgMTgwIFMKKyhub19lbXB0eV9jbWRfY29tcGxldGlvbikxNDQgNDY4IFEgRjAgLjMyNChJZiBzZXQsIGFuZCkxODQgNDgwIFIgRjEgLS4xOAorKHJlKTIuODI0IEcoYWRsaW5lKS4xOCBFIEYwIC4zMjQoaXMgYmVpbmcgdXNlZCwpMi44MjQgRiBGMShiYXNoKTIuODI0IEUKK0YwIC4zMjQod2lsbCBub3QgYXR0ZW1wdCB0byBzZWFyY2ggdGhlKTIuODI0IEYgRjIgLS42NjYoUEEpMi44MjUgRyhUSCkKKy0uMTg5IEUgRjAgLjMyNShmb3IgcG9zc2libGUpMi41NzUgRgorKGNvbXBsZXRpb25zIHdoZW4gY29tcGxldGlvbiBpcyBhdHRlbXB0ZWQgb24gYW4gZW1wdHkgbGluZS4pMTg0IDQ5MiBRIEYxCisobm9jYXNlZ2xvYikxNDQgNTA0IFEgRjAgLjQzNyhJZiBzZXQsKTE4NCA1MTYgUiBGMShiYXNoKTIuOTM3IEUgRjAgLjQzNgorKG1hdGNoZXMgXDIxNGxlbmFtZXMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkyLjkzNyBGIC43MzYgLS4xNSh2ZSBmKS0uMjUKK0ggLjQzNihhc2hpb24gd2hlbiBwZXJmb3JtaW5nIHBhdGhuYW1lKS4wNSBGIC0uMTUoZXgpMTg0IDUyOCBTCiAocGFuc2lvbiBcKHNlZSkuMTUgRSBGMSAtLjEoUGEpMi41IEcodGhuYW1lIEV4cGFuc2lvbikuMSBFIEYwKGFibykyLjUgRQotLS4xNSh2ZSktLjE1IEcoXCkuKS4xNSBFIEYxKG5vY2FzZW1hdGNoKTE0NCAxOTIgUSBGMCAxLjE5NChJZiBzZXQsKTE4NAotMjA0IFIgRjEoYmFzaCkzLjY5NCBFIEYwIDEuMTk0KG1hdGNoZXMgcGF0dGVybnMgaW4gYSBjYXNlXDI1NWluc2Vuc2l0aSkKLTMuNjk0IEYgMS40OTMgLS4xNSh2ZSBmKS0uMjUgSCAxLjE5Myhhc2hpb24gd2hlbiBwZXJmb3JtaW5nIG1hdGNoaW5nKS4wNQotRih3aGlsZSBlKTE4NCAyMTYgUSAtLjE1KHhlKS0uMTUgRyhjdXRpbmcpLjE1IEUgRjEoY2FzZSkyLjUgRSBGMChvcikyLjUKLUUgRjEoW1spMi41IEUgRjAoY29uZGl0aW9uYWwgY29tbWFuZHMuKTIuNSBFIEYxKG51bGxnbG9iKTE0NCAyMjggUSBGMAotLjg1NChJZiBzZXQsKTE4NCAyNDAgUiBGMShiYXNoKTMuMzU0IEUgRjAoYWxsbykzLjM1NCBFIC44NTUKLSh3cyBwYXR0ZXJucyB3aGljaCBtYXRjaCBubyBcMjE0bGVzIFwoc2VlKS0uMjUgRiBGMSAtLjEoUGEpMy4zNTUgRyAuODU1Ci0odGhuYW1lIEV4cGFuc2lvbikuMSBGIEYwKGFibykzLjM1NSBFIC0uMTUodmUpLS4xNSBHIDMuMzU1KFwpdCkuMTUgRyhvKQotLTMuMzU1IEUgLS4xNShleCkxODQgMjUyIFMocGFuZCB0byBhIG51bGwgc3RyaW5nLCByYXRoZXIgdGhhbiB0aGVtc2VsdikKLS4xNSBFKGVzLiktLjE1IEUgRjEocHIpMTQ0IDI2NCBRKG9nY29tcCktLjE4IEUgRjAgLjY3NwotKElmIHNldCwgdGhlIHByb2dyYW1tYWJsZSBjb21wbGV0aW9uIGYpMTg0IDI3NiBSIC42NzcoYWNpbGl0aWVzIFwoc2VlKQotLS4xIEYgRjEoUHIpMy4xNzYgRSAuNjc2KG9ncmFtbWFibGUgQ29tcGxldGlvbiktLjE4IEYgRjAoYWJvKTMuMTc2IEUKLS0uMTUodmUpLS4xNSBHKFwpKS4xNSBFKGFyZSBlbmFibGVkLikxODQgMjg4IFEKLShUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZik1IEUoYXVsdC4pLS4xIEUgRjEocHIpMTQ0IDMwMCBRKG9tcHR2KQotLS4xOCBFKGFycyktLjEgRSBGMCAxLjQ0NyhJZiBzZXQsIHByb21wdCBzdHJpbmdzIHVuZGVyKTE4NCAzMTIgUiAxLjQ0OAotKGdvIHBhcmFtZXRlciBlKS0uMTggRiAxLjQ0OCh4cGFuc2lvbiwgY29tbWFuZCBzdWJzdGl0dXRpb24sIGFyaXRobWV0aWMpCi0tLjE1IEYgLS4xNShleCkxODQgMzI0IFMgLjE3MShwYW5zaW9uLCBhbmQgcXVvdGUgcmVtbykuMTUgRiAtLjI1KHZhKS0uMTUKKy0uMTUodmUpLS4xNSBHKFwpLikuMTUgRSBGMShub2Nhc2VtYXRjaCkxNDQgNTQwIFEgRjAgMS4xOTMoSWYgc2V0LCkxODQKKzU1MiBSIEYxKGJhc2gpMy42OTMgRSBGMCAxLjE5NChtYXRjaGVzIHBhdHRlcm5zIGluIGEgY2FzZVwyNTVpbnNlbnNpdGkpCiszLjY5MyBGIDEuNDk0IC0uMTUodmUgZiktLjI1IEggMS4xOTQoYXNoaW9uIHdoZW4gcGVyZm9ybWluZyBtYXRjaGluZykuMDUKK0Yod2hpbGUgZSkxODQgNTY0IFEgLS4xNSh4ZSktLjE1IEcoY3V0aW5nKS4xNSBFIEYxKGNhc2UpMi41IEUgRjAob3IpMi41CitFIEYxKFtbKTIuNSBFIEYwKGNvbmRpdGlvbmFsIGNvbW1hbmRzLikyLjUgRSBGMShudWxsZ2xvYikxNDQgNTc2IFEgRjAKKy44NTUoSWYgc2V0LCkxODQgNTg4IFIgRjEoYmFzaCkzLjM1NSBFIEYwKGFsbG8pMy4zNTUgRSAuODU1Cisod3MgcGF0dGVybnMgd2hpY2ggbWF0Y2ggbm8gXDIxNGxlcyBcKHNlZSktLjI1IEYgRjEgLS4xKFBhKTMuMzU0IEcgLjg1NAorKHRobmFtZSBFeHBhbnNpb24pLjEgRiBGMChhYm8pMy4zNTQgRSAtLjE1KHZlKS0uMTUgRyAzLjM1NChcKXQpLjE1IEcobykKKy0zLjM1NCBFIC0uMTUoZXgpMTg0IDYwMCBTKHBhbmQgdG8gYSBudWxsIHN0cmluZywgcmF0aGVyIHRoYW4gdGhlbXNlbHYpCisuMTUgRShlcy4pLS4xNSBFIEYxKHByKTE0NCA2MTIgUShvZ2NvbXApLS4xOCBFIEYwIC42NzYKKyhJZiBzZXQsIHRoZSBwcm9ncmFtbWFibGUgY29tcGxldGlvbiBmKTE4NCA2MjQgUiAuNjc3KGFjaWxpdGllcyBcKHNlZSkKKy0uMSBGIEYxKFByKTMuMTc3IEUgLjY3NyhvZ3JhbW1hYmxlIENvbXBsZXRpb24pLS4xOCBGIEYwKGFibykzLjE3NyBFCistLjE1KHZlKS0uMTUgRyhcKSkuMTUgRShhcmUgZW5hYmxlZC4pMTg0IDYzNiBRCisoVGhpcyBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWYpNSBFKGF1bHQuKS0uMSBFIEYxKHByKTE0NCA2NDggUShvbXB0dikKKy0uMTggRShhcnMpLS4xIEUgRjAgMS40NDgoSWYgc2V0LCBwcm9tcHQgc3RyaW5ncyB1bmRlcikxODQgNjYwIFIgMS40NDgKKyhnbyBwYXJhbWV0ZXIgZSktLjE4IEYgMS40NDcoeHBhbnNpb24sIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBhcml0aG1ldGljKQorLS4xNSBGIC0uMTUoZXgpMTg0IDY3MiBTIC4xNyhwYW5zaW9uLCBhbmQgcXVvdGUgcmVtbykuMTUgRiAtLjI1KHZhKS0uMTUKIEcgMi42NyhsYSkuMjUgRyAuMTcoZnRlciBiZWluZyBlKS0yLjY3IEYgLjE3KHhwYW5kZWQgYXMgZGVzY3JpYmVkIGluKQotLS4xNSBGIEYzKFBSKTIuNjcgRShPTVBUSU5HKS0uMjcgRSBGMChhYm8pMi40MiBFIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUKLShUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZikxODQgMzM2IFEoYXVsdC4pLS4xIEUgRjEgLS4xOChyZSkxNDQgMzQ4CistLjE1IEYgRjIoUFIpMi42NzEgRShPTVBUSU5HKS0uMjcgRSBGMChhYm8pMi40MjEgRSAtLjE1KHZlKS0uMTUgRyguKS4xNQorRShUaGlzIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRlZikxODQgNjg0IFEoYXVsdC4pLS4xIEUgRjEgLS4xOChyZSkxNDQgNjk2CiBTKHN0cmljdGVkX3NoZWxsKS4xOCBFIEYwIDEuMDY5CiAoVGhlIHNoZWxsIHNldHMgdGhpcyBvcHRpb24gaWYgaXQgaXMgc3RhcnRlZCBpbiByZXN0cmljdGVkIG1vZGUgXChzZWUpCi0xODQgMzYwIFIgRjMgMS4wNjkoUkVTVFJJQ1RFRCBTSEVMTCkzLjU2OSBGIEYwKGJlbG8pMTg0IDM3MiBRIDQuMTc4CisxODQgNzA4IFIgRjIgMS4wNjkoUkVTVFJJQ1RFRCBTSEVMTCkzLjU2OSBGIEYwKGJlbG8pMTg0IDcyMCBRIDQuMTc4CiAod1wpLiBUaGUpLS4yNSBGIC0uMjUodmEpNC4xNzggRyAxLjY3OChsdWUgbWF5IG5vdCBiZSBjaGFuZ2VkLikuMjUgRgotMS42NzgoVGhpcyBpcyBub3QgcmVzZXQgd2hlbiB0aGUgc3RhcnR1cCBcMjE0bGVzIGFyZSk2LjY3OCBGIC0uMTUoZXhlKQotMTg0IDM4NCBTKGN1dGVkLCBhbGxvKS4xNSBFKHdpbmcgdGhlIHN0YXJ0dXAgXDIxNGxlcyB0byBkaXNjbyktLjI1IEUKLS0uMTUodmUpLS4xNSBHIDIuNShydykuMTUgRyhoZXRoZXIgb3Igbm90IGEgc2hlbGwgaXMgcmVzdHJpY3RlZC4pLTIuNSBFCi1GMShzaGlmdF92KTE0NCAzOTYgUShlcmJvc2UpLS4xIEUgRjAgLjUwMShJZiBzZXQsIHRoZSkxODQgNDA4IFIgRjEKLShzaGlmdCkzLjAwMSBFIEYwIC0uMihidSkzLjAwMSBHIC41MDEKLShpbHRpbiBwcmludHMgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBzaGlmdCBjb3VudCBlKS4yIEYgLjUwMgotKHhjZWVkcyB0aGUgbnVtYmVyKS0uMTUgRihvZiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuKTE4NCA0MjAgUSBGMShzb3VyKQotMTQ0IDQzMiBRKGNlcGF0aCktLjE4IEUgRjAgLjc3MShJZiBzZXQsIHRoZSkxODQgNDQ0IFIgRjEoc291cikzLjI3MSBFCi0oY2UpLS4xOCBFIEYwKFwoKTMuMjcxIEUgRjEoLilBIEYwIDMuMjcxKFwpYilDIC43NzEodWlsdGluIHVzZXMgdGhlIHYpCi0tMy40NzEgRiAuNzcxKGFsdWUgb2YpLS4yNSBGIEYzIC0uNjY2KFBBKTMuMjcgRyhUSCktLjE4OSBFIEYwIC43NwotKHRvIFwyMTRuZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlKTMuMDIgRihcMjE0bGUgc3VwcGxpZWQgYXMgYW4gYXIpCi0xODQgNDU2IFEgMi41KGd1bWVudC4gVGhpcyktLjE4IEYob3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmKTIuNSBFKGF1bHQuKQotLS4xIEUgRjEoeHBnX2VjaG8pMTQ0IDQ2OCBRIEYwKElmIHNldCwgdGhlKTE4NCA0ODAgUSBGMShlY2hvKTIuNSBFIEYwCi0tLjIoYnUpMi41IEcoaWx0aW4gZSkuMiBFKHhwYW5kcyBiYWNrc2xhc2gtZXNjYXBlIHNlcXVlbmNlcyBieSBkZWYpLS4xNQotRShhdWx0LiktLjEgRSBGMShzdXNwZW5kKTEwOCA0OTIgUSBGMChbKTIuNSBFIEYxPGFkNjY+QSBGMChdKUEgMS4wMDEKLShTdXNwZW5kIHRoZSBlKTE0NCA1MDQgUiAtLjE1KHhlKS0uMTUgRyAxLjAwMQotKGN1dGlvbiBvZiB0aGlzIHNoZWxsIHVudGlsIGl0IHJlY2VpKS4xNSBGIC0uMTUodmUpLS4yNSBHIDMuNTAxKHNhKS4xNSBHCi1GMyhTSUdDT05UKUEgRjAgMy41MDIoc2lnbmFsLiBBKTMuMjUyIEYgMS4wMDIobG9naW4gc2hlbGwgY2Fubm90IGJlKQotMy41MDIgRiAuMDIzKHN1c3BlbmRlZDsgdGhlKTE0NCA1MTYgUiBGMTxhZDY2PjIuNTIzIEUgRjAgLjAyMwotKG9wdGlvbiBjYW4gYmUgdXNlZCB0byBvKTIuNTIzIEYgLS4xNSh2ZSktLjE1IEcgLjAyMgotKHJyaWRlIHRoaXMgYW5kIGZvcmNlIHRoZSBzdXNwZW5zaW9uLikuMTUgRiAuMDIyKFRoZSByZXR1cm4gc3RhdHVzIGlzKQotNS4wMjIgRiAyLjUoMHUpMTQ0IDUyOCBTKG5sZXNzIHRoZSBzaGVsbCBpcyBhIGxvZ2luIHNoZWxsIGFuZCktMi41IEUgRjEKLTxhZDY2PjIuNSBFIEYwKGlzIG5vdCBzdXBwbGllZCwgb3IgaWYgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQuKTIuNSBFCi1GMSh0ZXN0KTEwOCA1NDAgUSBGMiAtLjIoZXgpMi41IEcocHIpLjIgRSBGMShbKTEwOCA1NTIgUSBGMiAtLjIoZXgpMi41IEcKLShwcikuMiBFIEYxKF0pMi41IEUgRjAgMS4xNQotKFJldHVybiBhIHN0YXR1cyBvZiAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBlKTYuNzcgRiAtLjI1KHZhKS0uMjUgRyAxLjE1Ci0obHVhdGlvbiBvZiB0aGUgY29uZGl0aW9uYWwgZSkuMjUgRih4cHJlc3Npb24pLS4xNSBFIEYyIC0uMihleCkzLjY1IEcKLShwcikuMiBFIEYwIDYuMTUoLkUpLjczIEcoYWNoKS02LjE1IEUgMS4xODgKLShvcGVyYXRvciBhbmQgb3BlcmFuZCBtdXN0IGJlIGEgc2VwYXJhdGUgYXIpMTQ0IDU2NCBSIDMuNjg4Ci0oZ3VtZW50LiBFeHByZXNzaW9ucyktLjE4IEYgMS4xODcoYXJlIGNvbXBvc2VkIG9mIHRoZSBwcmltYXJpZXMpMy42ODggRgotMS44ODkoZGVzY3JpYmVkIGFibykxNDQgNTc2IFIgMi4xODkgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYzCi0oQ09ORElUSU9OKTQuMzg5IEUgMS44ODkoQUwgRVhQUkVTU0lPTlMpLS4xOCBGL0Y0IDkvVGltZXMtUm9tYW5AMCBTRiguKUEKLUYxKHRlc3QpNi4zODkgRSBGMCAxLjg5KGRvZXMgbm90IGFjY2VwdCBhbik0LjM4OSBGIDQuMzkoeW8pLS4xNSBHIDEuODkKLShwdGlvbnMsIG5vciktNC4zOSBGKGRvZXMgaXQgYWNjZXB0IGFuZCBpZ25vcmUgYW4gYXIpMTQ0IDU4OCBRCi0oZ3VtZW50IG9mKS0uMTggRSBGMTxhZGFkPjIuNSBFIEYwKGFzIHNpZ25pZnlpbmcgdGhlIGVuZCBvZiBvcHRpb25zLikyLjUKLUUgLjc4NihFeHByZXNzaW9ucyBtYXkgYmUgY29tYmluZWQgdXNpbmcgdGhlIGZvbGxvKTE0NCA2MDYgUiAuNzg1Ci0od2luZyBvcGVyYXRvcnMsIGxpc3RlZCBpbiBkZWNyZWFzaW5nIG9yZGVyIG9mIHByZWNlLSktLjI1IEYgMi41Ci0oZGVuY2UuIFRoZSkxNDQgNjE4IFIgLS4yNShldmEpMi41IEcKLShsdWF0aW9uIGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcikuMjUgRShndW1lbnRzOyBzZWUgYmVsbyktLjE4IEUgLS42NQotKHcuKS0uMjUgRyBGMSghKTE0NCA2MzAgUSBGMiAtLjIoZXgpMi41IEcocHIpLjIgRSBGMCAtLjM1KFRyKTEyLjYgRwotKHVlIGlmKS4zNSBFIEYyIC0uMihleCkyLjUgRyhwcikuMiBFIEYwKGlzIGYpMy4yMyBFKGFsc2UuKS0uMSBFIEYxKFwoKQotMTQ0IDY0MiBRIEYyIC0uMihleCkyLjUgRyhwcikuMiBFIEYxKFwpKTIuNSBFIEYwIC4yNihSZXR1cm5zIHRoZSB2KTYuNzcKLUYgLjI2KGFsdWUgb2YpLS4yNSBGIEYyIC0uMihleCkyLjc2IEcocHIpLjIgRSBGMCA1LjI2KC5UKUMgLjI2Ci0oaGlzIG1heSBiZSB1c2VkIHRvIG8pLTUuMjYgRiAtLjE1KHZlKS0uMTUgRyAuMjYKLShycmlkZSB0aGUgbm9ybWFsIHByZWNlZGVuY2Ugb2Ygb3BlcmEtKS4xNSBGKHRvcnMuKTE4MCA2NTQgUSBGMiAtLjIoZXgpCi0xNDQgNjY2IFMocHIxKS4yIEUgRjA8YWQ+Mi41IEUgRjEoYSlBIEYyIC0uMihleCkyLjUgRyhwcjIpLjIgRSBGMCAtLjM1Ci0oVHIpMTgwIDY3OCBTKHVlIGlmIGJvdGgpLjM1IEUgRjIgLS4yKGV4KTIuNSBHKHByMSkuMiBFIEYwKGFuZCkyLjUgRSBGMgotLS4yKGV4KTIuNSBHKHByMikuMiBFIEYwKGFyZSB0cnVlLikyLjUyIEUgRjIgLS4yKGV4KTE0NCA2OTAgUyhwcjEpLjIgRQotRjA8YWQ+Mi41IEUgRjEobylBIEYyIC0uMihleCkyLjUgRyhwcjIpLjIgRSBGMCAtLjM1KFRyKTE4MCA3MDIgUwotKHVlIGlmIGVpdGhlcikuMzUgRSBGMiAtLjIoZXgpMi41IEcocHIxKS4yIEUgRjAob3IpMi41IEUgRjIgLS4yKGV4KTIuNSBHCi0ocHIyKS4yIEUgRjAoaXMgdHJ1ZS4pMi41MiBFIEYxKHRlc3QpMTQ0IDcxOC44IFEgRjAoYW5kKTIuNSBFIEYxKFspMi41IEUKLUYwIC0uMjUoZXZhKTIuNSBHKGx1YXRlIGNvbmRpdGlvbmFsIGUpLjI1IEUKLSh4cHJlc3Npb25zIHVzaW5nIGEgc2V0IG9mIHJ1bGVzIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgYXIpLS4xNSBFCi0oZ3VtZW50cy4pLS4xOCBFKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMTgpMTk4LjcyNQotRSAwIENnIEVQCisxLjY3OChUaGlzIGlzIG5vdCByZXNldCB3aGVuIHRoZSBzdGFydHVwIFwyMTRsZXMgYXJlKTYuNjc4IEYKKyhHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDE4KTE5OC43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDE5IDE5CiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKLShUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFIDIuNSgwYSkxNDQKLTg0IFMgLS4xOChyZyktMi41IEcodW1lbnRzKS4xOCBFKFRoZSBlKTE4MCA5NiBRKHhwcmVzc2lvbiBpcyBmKS0uMTUgRQotKGFsc2UuKS0uMSBFIDIuNSgxYSkxNDQgMTA4IFMgLS4xOChyZyktMi41IEcodW1lbnQpLjE4IEUoVGhlIGUpMTgwIDEyMCBRCisoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRSAtLjE1KGV4ZSkxODQKKzg0IFMoY3V0ZWQsIGFsbG8pLjE1IEUod2luZyB0aGUgc3RhcnR1cCBcMjE0bGVzIHRvIGRpc2NvKS0uMjUgRSAtLjE1KHZlKQorLS4xNSBHIDIuNShydykuMTUgRyhoZXRoZXIgb3Igbm90IGEgc2hlbGwgaXMgcmVzdHJpY3RlZC4pLTIuNSBFL0YxIDEwCisvVGltZXMtQm9sZEAwIFNGKHNoaWZ0X3YpMTQ0IDk2IFEoZXJib3NlKS0uMSBFIEYwIC41MDIoSWYgc2V0LCB0aGUpMTg0CisxMDggUiBGMShzaGlmdCkzLjAwMiBFIEYwIC0uMihidSkzLjAwMiBHIC41MDEKKyhpbHRpbiBwcmludHMgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBzaGlmdCBjb3VudCBlKS4yIEYgLjUwMQorKHhjZWVkcyB0aGUgbnVtYmVyKS0uMTUgRihvZiBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuKTE4NCAxMjAgUSBGMShzb3VyKQorMTQ0IDEzMiBRKGNlcGF0aCktLjE4IEUgRjAgLjc3KElmIHNldCwgdGhlKTE4NCAxNDQgUiBGMShzb3VyKTMuMjcgRShjZSkKKy0uMTggRSBGMChcKCkzLjI3IEUgRjEoLilBIEYwIDMuMjcoXCliKUMgLjc3KHVpbHRpbiB1c2VzIHRoZSB2KS0zLjQ3IEYKKy43NzEoYWx1ZSBvZiktLjI1IEYvRjIgOS9UaW1lcy1Cb2xkQDAgU0YgLS42NjYoUEEpMy4yNzEgRyhUSCktLjE4OSBFIEYwCisuNzcxKHRvIFwyMTRuZCB0aGUgZGlyZWN0b3J5IGNvbnRhaW5pbmcgdGhlKTMuMDIxIEYKKyhcMjE0bGUgc3VwcGxpZWQgYXMgYW4gYXIpMTg0IDE1NiBRIDIuNShndW1lbnQuIFRoaXMpLS4xOCBGCisob3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmKTIuNSBFKGF1bHQuKS0uMSBFIEYxKHhwZ19lY2hvKTE0NCAxNjggUSBGMAorKElmIHNldCwgdGhlKTE4NCAxODAgUSBGMShlY2hvKTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBlKS4yIEUKKyh4cGFuZHMgYmFja3NsYXNoLWVzY2FwZSBzZXF1ZW5jZXMgYnkgZGVmKS0uMTUgRShhdWx0LiktLjEgRSBGMShzdXNwZW5kKQorMTA4IDE5MiBRIEYwKFspMi41IEUgRjE8YWQ2Nj5BIEYwKF0pQSAxLjAwMihTdXNwZW5kIHRoZSBlKTE0NCAyMDQgUiAtLjE1CisoeGUpLS4xNSBHIDEuMDAyKGN1dGlvbiBvZiB0aGlzIHNoZWxsIHVudGlsIGl0IHJlY2VpKS4xNSBGIC0uMTUodmUpLS4yNQorRyAzLjUwMShzYSkuMTUgRyBGMihTSUdDT05UKUEgRjAgMy41MDEoc2lnbmFsLiBBKTMuMjUxIEYgMS4wMDEKKyhsb2dpbiBzaGVsbCBjYW5ub3QgYmUpMy41MDEgRiAuMDIyKHN1c3BlbmRlZDsgdGhlKTE0NCAyMTYgUiBGMTxhZDY2PgorMi41MjIgRSBGMCAuMDIyKG9wdGlvbiBjYW4gYmUgdXNlZCB0byBvKTIuNTIyIEYgLS4xNSh2ZSktLjE1IEcgLjAyMgorKHJyaWRlIHRoaXMgYW5kIGZvcmNlIHRoZSBzdXNwZW5zaW9uLikuMTUgRiAuMDIzKFRoZSByZXR1cm4gc3RhdHVzIGlzKQorNS4wMjMgRiAyLjUoMHUpMTQ0IDIyOCBTKG5sZXNzIHRoZSBzaGVsbCBpcyBhIGxvZ2luIHNoZWxsIGFuZCktMi41IEUgRjEKKzxhZDY2PjIuNSBFIEYwKGlzIG5vdCBzdXBwbGllZCwgb3IgaWYgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQuKTIuNSBFCitGMSh0ZXN0KTEwOCAyNDAgUS9GMyAxMC9UaW1lcy1JdGFsaWNAMCBTRiAtLjIoZXgpMi41IEcocHIpLjIgRSBGMShbKTEwOAorMjUyIFEgRjMgLS4yKGV4KTIuNSBHKHByKS4yIEUgRjEoXSkyLjUgRSBGMCAxLjE1CisoUmV0dXJuIGEgc3RhdHVzIG9mIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIGUpNi43NyBGIC0uMjUodmEpLS4yNSBHIDEuMTUKKyhsdWF0aW9uIG9mIHRoZSBjb25kaXRpb25hbCBlKS4yNSBGKHhwcmVzc2lvbiktLjE1IEUgRjMgLS4yKGV4KTMuNjUgRworKHByKS4yIEUgRjAgNi4xNSguRSkuNzMgRyhhY2gpLTYuMTUgRSAxLjE4NworKG9wZXJhdG9yIGFuZCBvcGVyYW5kIG11c3QgYmUgYSBzZXBhcmF0ZSBhcikxNDQgMjY0IFIgMy42ODgKKyhndW1lbnQuIEV4cHJlc3Npb25zKS0uMTggRiAxLjE4OChhcmUgY29tcG9zZWQgb2YgdGhlIHByaW1hcmllcykzLjY4OCBGCisxLjg5KGRlc2NyaWJlZCBhYm8pMTQ0IDI3NiBSIDIuMTkgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYyCisoQ09ORElUSU9OKTQuMzkgRSAxLjg5KEFMIEVYUFJFU1NJT05TKS0uMTggRi9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLilBCitGMSh0ZXN0KTYuMzkgRSBGMCAxLjg4OShkb2VzIG5vdCBhY2NlcHQgYW4pNC4zODkgRiA0LjM4OSh5byktLjE1IEcgMS44ODkKKyhwdGlvbnMsIG5vciktNC4zODkgRihkb2VzIGl0IGFjY2VwdCBhbmQgaWdub3JlIGFuIGFyKTE0NCAyODggUQorKGd1bWVudCBvZiktLjE4IEUgRjE8YWRhZD4yLjUgRSBGMChhcyBzaWduaWZ5aW5nIHRoZSBlbmQgb2Ygb3B0aW9ucy4pMi41CitFIC43ODUoRXhwcmVzc2lvbnMgbWF5IGJlIGNvbWJpbmVkIHVzaW5nIHRoZSBmb2xsbykxNDQgMzA2IFIgLjc4NgorKHdpbmcgb3BlcmF0b3JzLCBsaXN0ZWQgaW4gZGVjcmVhc2luZyBvcmRlciBvZiBwcmVjZS0pLS4yNSBGIDMuNDEyCisoZGVuY2UuIFRoZSkxNDQgMzE4IFIgLS4yNShldmEpMy40MTIgRyAuOTEyCisobHVhdGlvbiBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXIpLjI1IEYgLjkxMShndW1lbnRzOyBzZWUgYmVsbyktLjE4IEYKKzQuNzExIC0uNjUody4gTyktLjI1IEggLjkxMShwZXJhdG9yIHByZWNlZGVuY2UgaXMpLjY1IEYKKyh1c2VkIHdoZW4gdGhlcmUgYXJlIFwyMTR2KTE0NCAzMzAgUSAyLjUoZW8pLS4xNSBHIDIuNShybSktMi41IEcob3JlIGFyKQorLTIuNSBFKGd1bWVudHMuKS0uMTggRSBGMSghKTE0NCAzNDIgUSBGMyAtLjIoZXgpMi41IEcocHIpLjIgRSBGMCAtLjM1CisoVHIpMTIuNiBHKHVlIGlmKS4zNSBFIEYzIC0uMihleCkyLjUgRyhwcikuMiBFIEYwKGlzIGYpMy4yMyBFKGFsc2UuKS0uMQorRSBGMShcKCkxNDQgMzU0IFEgRjMgLS4yKGV4KTIuNSBHKHByKS4yIEUgRjEoXCkpMi41IEUgRjAgLjI2CisoUmV0dXJucyB0aGUgdik2Ljc3IEYgLjI2KGFsdWUgb2YpLS4yNSBGIEYzIC0uMihleCkyLjc2IEcocHIpLjIgRSBGMAorNS4yNiguVClDIC4yNihoaXMgbWF5IGJlIHVzZWQgdG8gbyktNS4yNiBGIC0uMTUodmUpLS4xNSBHIC4yNgorKHJyaWRlIHRoZSBub3JtYWwgcHJlY2VkZW5jZSBvZiBvcGVyYS0pLjE1IEYodG9ycy4pMTgwIDM2NiBRIEYzIC0uMihleCkKKzE0NCAzNzggUyhwcjEpLjIgRSBGMDxhZD4yLjUgRSBGMShhKUEgRjMgLS4yKGV4KTIuNSBHKHByMikuMiBFIEYwIC0uMzUKKyhUcikxODAgMzkwIFModWUgaWYgYm90aCkuMzUgRSBGMyAtLjIoZXgpMi41IEcocHIxKS4yIEUgRjAoYW5kKTIuNSBFIEYzCistLjIoZXgpMi41IEcocHIyKS4yIEUgRjAoYXJlIHRydWUuKTIuNTIgRSBGMyAtLjIoZXgpMTQ0IDQwMiBTKHByMSkuMiBFCitGMDxhZD4yLjUgRSBGMShvKUEgRjMgLS4yKGV4KTIuNSBHKHByMikuMiBFIEYwIC0uMzUoVHIpMTgwIDQxNCBTCisodWUgaWYgZWl0aGVyKS4zNSBFIEYzIC0uMihleCkyLjUgRyhwcjEpLjIgRSBGMChvcikyLjUgRSBGMyAtLjIoZXgpMi41IEcKKyhwcjIpLjIgRSBGMChpcyB0cnVlLikyLjUyIEUgRjEodGVzdCkxNDQgNDMwLjggUSBGMChhbmQpMi41IEUgRjEoWykyLjUgRQorRjAgLS4yNShldmEpMi41IEcobHVhdGUgY29uZGl0aW9uYWwgZSkuMjUgRQorKHhwcmVzc2lvbnMgdXNpbmcgYSBzZXQgb2YgcnVsZXMgYmFzZWQgb24gdGhlIG51bWJlciBvZiBhciktLjE1IEUKKyhndW1lbnRzLiktLjE4IEUgMi41KDBhKTE0NCA0NDguOCBTIC0uMTgocmcpLTIuNSBHKHVtZW50cykuMTggRShUaGUgZSkKKzE4MCA0NjAuOCBRKHhwcmVzc2lvbiBpcyBmKS0uMTUgRShhbHNlLiktLjEgRSAyLjUoMWEpMTQ0IDQ3Mi44IFMgLS4xOAorKHJnKS0yLjUgRyh1bWVudCkuMTggRShUaGUgZSkxODAgNDg0LjggUQogKHhwcmVzc2lvbiBpcyB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBhciktLjE1IEUoZ3VtZW50IGlzIG5vdCBudWxsLiktLjE4Ci1FIDIuNSgyYSkxNDQgMTMyIFMgLS4xOChyZyktMi41IEcodW1lbnRzKS4xOCBFIC4zNyhJZiB0aGUgXDIxNHJzdCBhcikxODAKLTE0NCBSIC4zNyhndW1lbnQgaXMpLS4xOCBGL0YxIDEwL1RpbWVzLUJvbGRAMCBTRighKTIuODcgRSBGMCAyLjg3KCx0KUMKLS4zNyhoZSBlKS0yLjg3IEYgLjM3KHhwcmVzc2lvbiBpcyB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBzZWNvbmQgYXIpLS4xNQotRiAuMzcoZ3VtZW50IGlzIG51bGwuKS0uMTggRiAuMzc5KElmIHRoZSBcMjE0cnN0IGFyKTE4MCAxNTYgUiAuMzgKK0UgMi41KDJhKTE0NCA0OTYuOCBTIC0uMTgocmcpLTIuNSBHKHVtZW50cykuMTggRSAuMzcoSWYgdGhlIFwyMTRyc3QgYXIpCisxODAgNTA4LjggUiAuMzcoZ3VtZW50IGlzKS0uMTggRiBGMSghKTIuODcgRSBGMCAyLjg3KCx0KUMgLjM3KGhlIGUpLTIuODcKK0YgLjM3KHhwcmVzc2lvbiBpcyB0cnVlIGlmIGFuZCBvbmx5IGlmIHRoZSBzZWNvbmQgYXIpLS4xNSBGIC4zNworKGd1bWVudCBpcyBudWxsLiktLjE4IEYgLjM3OShJZiB0aGUgXDIxNHJzdCBhcikxODAgNTIwLjggUiAuMzgKIChndW1lbnQgaXMgb25lIG9mIHRoZSB1bmFyeSBjb25kaXRpb25hbCBvcGVyYXRvcnMgbGlzdGVkIGFibyktLjE4IEYgLjY4Ci0tLjE1KHZlIHUpLS4xNSBIKG5kZXIpLjE1IEUvRjIgOS9UaW1lcy1Cb2xkQDAgU0YoQ09OREktKTIuODggRShUSU9OKTE4MAotMTY4IFEgLjU1MyhBTCBFWFBSRVNTSU9OUyktLjE4IEYvRjMgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMCAuNTUyCi0odGhlIGUpMi44MDIgRiAuNTUyKHhwcmVzc2lvbiBpcyB0cnVlIGlmIHRoZSB1bmFyeSB0ZXN0IGlzIHRydWUuKS0uMTUgRgotLjU1MihJZiB0aGUgXDIxNHJzdCBhcik1LjU1MiBGKGd1LSktLjE4IEUobWVudCBpcyBub3QgYSB2KTE4MCAxODAgUQorLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYyKENPTkRJLSkyLjg4IEUoVElPTikxODAgNTMyLjggUSAuNTUzCisoQUwgRVhQUkVTU0lPTlMpLS4xOCBGIEY0KCwpQSBGMCAuNTUyKHRoZSBlKTIuODAyIEYgLjU1MgorKHhwcmVzc2lvbiBpcyB0cnVlIGlmIHRoZSB1bmFyeSB0ZXN0IGlzIHRydWUuKS0uMTUgRiAuNTUyCisoSWYgdGhlIFwyMTRyc3QgYXIpNS41NTIgRihndS0pLS4xOCBFKG1lbnQgaXMgbm90IGEgdikxODAgNTQ0LjggUQogKGFsaWQgdW5hcnkgY29uZGl0aW9uYWwgb3BlcmF0b3IpLS4yNSBFIDIuNSgsdCktLjQgRyhoZSBlKS0yLjUgRQotKHhwcmVzc2lvbiBpcyBmKS0uMTUgRShhbHNlLiktLjEgRSAyLjUoM2EpMTQ0IDE5MiBTIC0uMTgocmcpLTIuNSBHCi0odW1lbnRzKS4xOCBFIC4wMjMoSWYgdGhlIHNlY29uZCBhcikxODAgMjA0IFIgLjAyMwotKGd1bWVudCBpcyBvbmUgb2YgdGhlIGJpbmFyeSBjb25kaXRpb25hbCBvcGVyYXRvcnMgbGlzdGVkIGFibyktLjE4IEYKLS4zMjQgLS4xNSh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYyKENPTi0pMi41MjQgRShESVRJT04pMTgwIDIxNiBRIDEuNDc4Ci0oQUwgRVhQUkVTU0lPTlMpLS4xOCBGIEYzKCwpQSBGMCAxLjQ3Nyh0aGUgcmVzdWx0IG9mIHRoZSBlKTMuNzI3IEYgMS40NzcKLSh4cHJlc3Npb24gaXMgdGhlIHJlc3VsdCBvZiB0aGUgYmluYXJ5IHRlc3QpLS4xNSBGIC41MTMKLSh1c2luZyB0aGUgXDIxNHJzdCBhbmQgdGhpcmQgYXIpMTgwIDIyOCBSIC41MTMoZ3VtZW50cyBhcyBvcGVyYW5kcy4pLS4xOAotRihUaGUpNS41MTMgRSBGMTxhZDYxPjMuMDEzIEUgRjAoYW5kKTMuMDEzIEUgRjE8YWQ2Zj4zLjAxMyBFIEYwIC41MTMKLShvcGVyYXRvcnMgYXJlIGNvbnNpZGVyZWQpMy4wMTMgRiAuOTcyCi0oYmluYXJ5IG9wZXJhdG9ycyB3aGVuIHRoZXJlIGFyZSB0aHJlZSBhcikxODAgMjQwIFIgMy40NzIoZ3VtZW50cy4gSWYpCi0tLjE4IEYgLjk3Mih0aGUgXDIxNHJzdCBhcikzLjQ3MiBGIC45NzIoZ3VtZW50IGlzKS0uMTggRiBGMSghKTMuNDcyIEUgRjAKLTMuNDcyKCx0KUMgLjk3MihoZSB2KS0zLjQ3MiBGIC45NzIoYWx1ZSBpcyktLjI1IEYgLjg4Myh0aGUgbmUpMTgwIDI1MiBSCi0tLjA1KGdhKS0uMTUgRyAuODgzKHRpb24gb2YgdGhlIHR3KS4wNSBGKG8tYXIpLS4xIEUgLjg4NAotKGd1bWVudCB0ZXN0IHVzaW5nIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGFyKS0uMTggRiAzLjM4NChndW1lbnRzLiBJZiktLjE4Ci1GIC44ODQodGhlIFwyMTRyc3QpMy4zODQgRihhcikxODAgMjY0IFEgLjg3NShndW1lbnQgaXMgZSktLjE4IEYoeGFjdGx5KQotLS4xNSBFIEYxKFwoKTMuMzc1IEUgRjAgLjg3NShhbmQgdGhlIHRoaXJkIGFyKTMuMzc1IEYgLjg3NShndW1lbnQgaXMgZSkKLS0uMTggRih4YWN0bHkpLS4xNSBFIEYxKFwpKTMuMzc1IEUgRjAgMy4zNzQoLHQpQyAuODc0Ci0oaGUgcmVzdWx0IGlzIHRoZSBvbmUtYXIpLTMuMzc0IEYoZ3VtZW50KS0uMTggRSh0ZXN0IG9mIHRoZSBzZWNvbmQgYXIpCi0xODAgMjc2IFEgMi41KGd1bWVudC4gT3RoZXJ3aXNlLCktLjE4IEYodGhlIGUpMi41IEUoeHByZXNzaW9uIGlzIGYpLS4xNQotRShhbHNlLiktLjEgRSAyLjUoNGEpMTQ0IDI4OCBTIC0uMTgocmcpLTIuNSBHKHVtZW50cykuMTggRSAuMzg0Ci0oSWYgdGhlIFwyMTRyc3QgYXIpMTgwIDMwMCBSIC4zODQoZ3VtZW50IGlzKS0uMTggRiBGMSghKTIuODg0IEUgRjAgMi44ODUKLSgsdClDIC4zODUoaGUgcmVzdWx0IGlzIHRoZSBuZSktMi44ODUgRiAtLjA1KGdhKS0uMTUgRyAuMzg1Ci0odGlvbiBvZiB0aGUgdGhyZWUtYXIpLjA1IEYgLjM4NShndW1lbnQgZSktLjE4IEYgLjM4NSh4cHJlc3Npb24gY29tLSkKLS0uMTUgRiAxLjY0OChwb3NlZCBvZiB0aGUgcmVtYWluaW5nIGFyKTE4MCAzMTIgUiA0LjE0NwotKGd1bWVudHMuIE90aGVyd2lzZSwpLS4xOCBGIDEuNjQ3KHRoZSBlKTQuMTQ3IEYgMS42NDcKLSh4cHJlc3Npb24gaXMgcGFyc2VkIGFuZCBlKS0uMTUgRiAtLjI1KHZhKS0uMjUgRyhsdWF0ZWQpLjI1IEUKLShhY2NvcmRpbmcgdG8gcHJlY2VkZW5jZSB1c2luZyB0aGUgcnVsZXMgbGlzdGVkIGFibykxODAgMzI0IFEgLS4xNSh2ZSkKLS0uMTUgRyguKS4xNSBFIDIuNSg1bykxNDQgMzM2IFMgMi41KHJtKS0yLjUgRyhvcmUgYXIpLTIuNSBFKGd1bWVudHMpLS4xOAotRSAxLjYzNShUaGUgZSkxODAgMzQ4IFIgMS42MzUoeHByZXNzaW9uIGlzIHBhcnNlZCBhbmQgZSktLjE1IEYgLS4yNSh2YSkKLS0uMjUgRyAxLjYzNShsdWF0ZWQgYWNjb3JkaW5nIHRvIHByZWNlZGVuY2UgdXNpbmcgdGhlIHJ1bGVzIGxpc3RlZCkuMjUgRgotKGFibykxODAgMzYwIFEgLS4xNSh2ZSktLjE1IEcoLikuMTUgRSBGMSh0aW1lcykxMDggMzc2LjggUSBGMCAxLjIyOShQcmlcCi1udCB0aGUgYWNjdW11bGF0ZWQgdXNlciBhbmQgc3lzdGVtIHRpbWVzIGZvciB0aGUgc2hlbGwgYW5kIGZvciBwcm9jZXNzZVwKLXMgcnVuIGZyb20gdGhlIHNoZWxsLikxMy4yMyBGKFRoZSByZXR1cm4gc3RhdHVzIGlzIDAuKTE0NCAzODguOCBRIEYxCi0odHJhcCkxMDggNDA1LjYgUSBGMChbKTIuNSBFIEYxKFwyNTVscClBIEYwIDIuNShdWylDKFspLTIuNSBFL0Y0IDEwCi0vVGltZXMtSXRhbGljQDAgU0YoYXIpQShnKS0uMzcgRSBGMChdKUEgRjQoc2lnc3BlYykyLjUgRSBGMCguLi5dKTIuNSBFCi0uNzAyKFRoZSBjb21tYW5kKTE0NCA0MTcuNiBSIEY0KGFyKTMuNTMyIEUoZyktLjM3IEUgRjAgLjcwMgotKGlzIHRvIGJlIHJlYWQgYW5kIGUpMy40MjIgRiAtLjE1KHhlKS0uMTUgRyAuNzAyCi0oY3V0ZWQgd2hlbiB0aGUgc2hlbGwgcmVjZWkpLjE1IEYgLS4xNSh2ZSktLjI1IEcgMy4yMDMoc3MpLjE1IEcKLShpZ25hbFwoc1wpKS0zLjIwMyBFIEY0KHNpZ3NwZWMpMy4yMDMgRSBGMCA1LjcwMyguSSkuMzEgRyhmKS01LjcwMyBFIEY0Ci0oYXIpMy41MzMgRShnKS0uMzcgRSBGMChpcykzLjQyMyBFIC42MDkoYWJzZW50IFwoYW5kIHRoZXJlIGlzIGEgc2luZ2xlKQotMTQ0IDQyOS42IFIgRjQoc2lnc3BlYykzLjEwOCBFIEYwIDMuMTA4KFwpbylDKHIpLTMuMTA4IEUgRjE8YWQ+My4xMDggRQotRjAgMy4xMDgoLGUpQyAuNjA4Ci0oYWNoIHNwZWNpXDIxNGVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMgb3JpZ2luYWwgZGlzcG9zaXRpb24pLTMuMTA4IEYKLS42NTgoXCh0aGUgdikxNDQgNDQxLjYgUiAuNjU4KGFsdWUgaXQgaGFkIHVwb24gZW50cmFuY2UgdG8gdGhlIHNoZWxsXCkuKQotLS4yNSBGKElmKTUuNjU4IEUgRjQoYXIpMy40ODggRShnKS0uMzcgRSBGMCAuNjU5Ci0oaXMgdGhlIG51bGwgc3RyaW5nIHRoZSBzaWduYWwgc3BlY2lcMjE0ZWQgYnkgZWFjaCkzLjM3OCBGIEY0KHNpZ3NwZWMpCi0xNDQuMzQgNDUzLjYgUSBGMCAuNTgxCi0oaXMgaWdub3JlZCBieSB0aGUgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbikzLjM5MSBGIC0uMih2byktLjQgRwotLS4xKGtlKS4yIEcgMy4wOChzLiBJZikuMSBGIEY0KGFyKTMuNDEgRShnKS0uMzcgRSBGMCAuNTgKLShpcyBub3QgcHJlc2VudCBhbmQpMy4zIEYgRjE8YWQ3MD4zLjA4IEUgRjAoaGFzKTMuMDggRSAxLjIxNAotKGJlZW4gc3VwcGxpZWQsIHRoZW4gdGhlIHRyYXAgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2gpMTQ0IDQ2NS42IFIKLUY0KHNpZ3NwZWMpNC4wNTQgRSBGMCAxLjIxNShhcmUgZGlzcGxheWVkLik0LjAyNCBGIDEuMjE1KElmIG5vIGFyKTYuMjE1Ci1GKGd1LSktLjE4IEUgLjg2KG1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiBvbmx5KTE0NCA0NzcuNiBSIEYxPGFkNzA+My4zNgotRSBGMCAuODYoaXMgZ2kpMy4zNiBGIC0uMTUodmUpLS4yNSBHKG4sKS4xNSBFIEYxKHRyYXApMy4zNiBFIEYwIC44NgotKHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggZWFjaCkzLjM2IEYgMi44MwotKHNpZ25hbC4gVGhlKTE0NCA0ODkuNiBSIEYxPGFkNmM+Mi44MyBFIEYwIC4zMyhvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCBcCi10byBwcmludCBhIGxpc3Qgb2Ygc2lnbmFsIG5hbWVzIGFuZCB0aGVpciBjb3JyZXNwb25kaW5nIG51bS0pMi44MyBGCi00LjMxMShiZXJzLiBFYWNoKTE0NCA1MDEuNiBSIEY0KHNpZ3NwZWMpNC42NTEgRSBGMCAxLjgxMQotKGlzIGVpdGhlciBhIHNpZ25hbCBuYW1lIGRlXDIxNG5lZCBpbiA8KTQuNjIxIEYgRjQoc2lnbmFsLmgpQSBGMCAxLjgxCi0oPiwgb3IgYSBzaWduYWwgbnVtYmVyKUIgNi44MSguUyktLjU1IEcoaWduYWwpLTYuODEgRQotKG5hbWVzIGFyZSBjYXNlIGluc2Vuc2l0aSkxNDQgNTEzLjYgUSAuMyAtLjE1KHZlIGEpLS4yNSBICi0obmQgdGhlIFNJRyBwcmVcMjE0eCBpcyBvcHRpb25hbC4pLjE1IEUgMS42NDgoSWYgYSkxNDQgNTMxLjYgUiBGNAotKHNpZ3NwZWMpNC40ODggRSBGMChpcyk0LjQ1OCBFIEYyKEVYSVQpNC4xNDggRSBGMCAxLjY0OAotKFwoMFwpIHRoZSBjb21tYW5kKTMuODk4IEYgRjQoYXIpNC40NzkgRShnKS0uMzcgRSBGMCAxLjY0OShpcyBlKTQuMzY5IEYKLS0uMTUoeGUpLS4xNSBHIDEuNjQ5KGN1dGVkIG9uIGUpLjE1IEYgMS42NDkoeGl0IGZyb20gdGhlIHNoZWxsLiktLjE1IEYKLTEuNjQ5KElmIGEpNi42NDkgRiBGNChzaWdzcGVjKTQuNDg5IEUgRjAoaXMpNC40NTkgRSBGMihERUIpMTQ0IDU0My42IFEKLShVRyktLjA5IEUgRjMoLClBIEYwIDEuMTY4KHRoZSBjb21tYW5kKTMuNDE4IEYgRjQoYXIpMy45OTggRShnKS0uMzcgRSBGMAotMS4xNjgoaXMgZSkzLjg4OCBGIC0uMTUoeGUpLS4xNSBHIDEuMTY3KGN1dGVkIGJlZm9yZSBlKS4xNSBGIC0uMTUodmUpCi0tLjI1IEcocnkpLjE1IEUgRjQgMS4xNjcoc2ltcGxlIGNvbW1hbmQpMy42NjcgRiBGMCgsKUEgRjQoZm9yKTMuNjY3IEUgRjAKLShjb21tYW5kLCkzLjY2NyBFIEY0KGNhc2UpMy42NjcgRSBGMChjb20tKTMuNjY3IEUobWFuZCwpMTQ0IDU1NS42IFEgRjQKLShzZWxlY3QpMi42NDYgRSBGMCAuMTQ2KGNvbW1hbmQsIGUpMi42NDYgRiAtLjE1KHZlKS0uMjUgRyAuMTQ2Ci0ocnkgYXJpdGhtZXRpYykuMTUgRiBGNChmb3IpMi42NDYgRSBGMCAuMTQ3Ci0oY29tbWFuZCwgYW5kIGJlZm9yZSB0aGUgXDIxNHJzdCBjb21tYW5kIGUpMi42NDYgRiAtLjE1KHhlKS0uMTUgRyAuMTQ3Ci0oY3V0ZXMgaW4gYSkuMTUgRiAuMTQ2KHNoZWxsIGZ1bmN0aW9uIFwoc2VlKTE0NCA1NjcuNiBSIEYyIC4xNDYKLShTSEVMTCBHUkFNTUFSKTIuNjQ2IEYgRjAoYWJvKTIuMzk2IEUgLS4xNSh2ZSktLjE1IEcgMi42NDYoXCkuIFJlZmVyKS4xNQotRiAuMTQ2KHRvIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpMi42NDYgRiBGMShleHRkZWIpMi42NDUgRSh1ZyktLjIgRSBGMAotLjE0NShvcHRpb24gdG8pMi42NDUgRih0aGUpMTQ0IDU3OS42IFEgRjEoc2hvcHQpMy4yIEUgRjAgLS4yKGJ1KTMuMiBHIC43Ci0oaWx0aW4gZm9yIGRldGFpbHMgb2YgaXRzIGVmKS4yIEYgLjcoZmVjdCBvbiB0aGUpLS4yNSBGIEYxKERFQikzLjIgRShVRykKLS0uMSBFIEYwIDMuMih0cmFwLiBJZikzLjIgRihhKTMuMiBFIEY0KHNpZ3NwZWMpMy41NCBFIEYwKGlzKTMuNTEgRSBGMgotKFJFVFVSTikzLjIgRSBGMygsKUEgRjAgLjcwMSh0aGUgY29tLSkyLjk1MSBGKG1hbmQpMTQ0IDU5MS42IFEgRjQoYXIpCi0zLjQ3NCBFKGcpLS4zNyBFIEYwIC42NDQoaXMgZSkzLjM2NCBGIC0uMTUoeGUpLS4xNSBHIC42NDMKLShjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciBhIHNjcmlwdCBlKS4xNSBGIC0uMTUoeGUpLS4xNSBHCi0uNjQzKGN1dGVkIHdpdGggdGhlKS4xNSBGIEYxKC4pMy4xNDMgRSBGMChvcikzLjE0MyBFIEYxKHNvdXIpMy4xNDMgRShjZSkKLS0uMTggRSBGMCAtLjIoYnUpMy4xNDMgRyhpbHRpbnMpLjIgRShcMjE0bmlzaGVzIGUpMTQ0IDYwMy42IFEgLS4xNSh4ZSkKLS0uMTUgRyhjdXRpbmcuKS4xNSBFIC45MjgoSWYgYSkxNDQgNjIxLjYgUiBGNChzaWdzcGVjKTMuNzY4IEUgRjAoaXMpCi0zLjczOCBFIEYyKEVSUikzLjQyOSBFIEYzKCwpQSBGMCAuOTI5KHRoZSBjb21tYW5kKTMuMTc5IEYgRjQoYXIpMy43NTkgRQotKGcpLS4zNyBFIEYwIC45MjkoaXMgZSkzLjY0OSBGIC0uMTUoeGUpLS4xNSBHIC45MjkoY3V0ZWQgd2hlbmUpLjE1IEYKLS0uMTUodmUpLS4yNSBHIDMuNDI5KHJhcykuMTUgRyAuOTI5KGltcGxlIGNvbW1hbmQgaGFzIGEgbm9uXDI1NXplcm8pCi0tMy40MjkgRiAtLjE1KGV4KTE0NCA2MzMuNiBTIDEuMDA5KGl0IHN0YXR1cywgc3ViamVjdCB0byB0aGUgZm9sbG8pLjE1IEYKLTEuMDA5KHdpbmcgY29uZGl0aW9ucy4pLS4yNSBGKFRoZSk2LjAwOSBFIEYyKEVSUikzLjUwOSBFIEYwIDEuMDA5Ci0odHJhcCBpcyBub3QgZSkzLjI1OSBGIC0uMTUoeGUpLS4xNSBHIDEuMDA4KGN1dGVkIGlmIHRoZSBmKS4xNSBGIDEuMDA4Ci0oYWlsZWQgY29tLSktLjEgRiAuMzI0Ci0obWFuZCBpcyBwYXJ0IG9mIHRoZSBjb21tYW5kIGxpc3QgaW1tZWRpYXRlbHkgZm9sbG8pMTQ0IDY0NS42IFIgLjMyNAotKHdpbmcgYSktLjI1IEYgRjEod2hpbGUpMi44MjQgRSBGMChvcikyLjgyNCBFIEYxKHVudGlsKTIuODI0IEUgRjAgLS4xCi0oa2UpMi44MjQgRyh5dyktLjA1IEUgLjMyNChvcmQsIHBhcnQgb2YgdGhlIHRlc3QpLS4xIEYgMS4xMjkoaW4gYW4pMTQ0Ci02NTcuNiBSIEY0KGlmKTMuNjM5IEUgRjAgMS4xMjkoc3RhdGVtZW50LCBwYXJ0IG9mIGEgY29tbWFuZCBlKTUuNTg5IEYKLS0uMTUoeGUpLS4xNSBHIDEuMTI5KGN1dGVkIGluIGEpLjE1IEYgRjEoJiYpMy42MjkgRSBGMChvcikzLjYyOSBFL0Y1IDEwCi0vU3ltYm9sIFNGPGVmZWY+My42MjkgRSBGMCAxLjEyOShsaXN0LCBvciBpZiB0aGUgY29tbWFuZCcpMy42MjkgRiAzLjYyOAotKHNyKS0uNTUgRyhldHVybiktMy42MjggRSAtLjI1KHZhKTE0NCA2NjkuNiBTKGx1ZSBpcyBiZWluZyBpbikuMjUgRSAtLjE1Ci0odmUpLS40IEcocnRlZCB2aWEpLjE1IEUgRjEoISkyLjUgRSBGMCA1KC5UKUMKLShoZXNlIGFyZSB0aGUgc2FtZSBjb25kaXRpb25zIG9iZSktNSBFKHllZCBieSB0aGUpLS4xNSBFIEYxKGVycikyLjUgRQotKGV4aXQpLS4xOCBFIEYwKG9wdGlvbi4pMi41IEUgMS4wOTUKLShTaWduYWxzIGlnbm9yZWQgdXBvbiBlbnRyeSB0byB0aGUgc2hlbGwgY2Fubm90IGJlIHRyYXBwZWQgb3IgcmVzZXQuKTE0NAotNjg3LjYgUiAtLjM1KFRyKTYuMDk1IEcgMS4wOTUoYXBwZWQgc2lnbmFscyB0aGF0IGFyZSBub3QpLjM1IEYgLjY2MgotKGJlaW5nIGlnbm9yZWQgYXJlIHJlc2V0IHRvIHRoZWlyIG9yaWdpbmFsIHYpMTQ0IDY5OS42IFIgLjY2MgotKGFsdWVzIGluIGEgc3Vic2hlbGwgb3Igc3Vic2hlbGwgZW4pLS4yNSBGIC42NjEodmlyb25tZW50IHdoZW4gb25lIGlzKQotLS40IEYgMi41KGNyZWF0ZWQuIFRoZSkxNDQgNzExLjYgUihyZXR1cm4gc3RhdHVzIGlzIGYpMi41IEUoYWxzZSBpZiBhbikKLS0uMSBFKHkpLS4xNSBFIEY0KHNpZ3NwZWMpMi44NCBFIEYwKGlzIGluKTIuODEgRSAtLjI1KHZhKS0uNCBHCi0obGlkOyBvdGhlcndpc2UpLjI1IEUgRjEodHJhcCkyLjUgRSBGMChyZXR1cm5zIHRydWUuKTIuNSBFKEdOVSBCYXNoLTQuMCkKLTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUgRSgxOSkxOTguNzI1IEUgMCBDZyBFUAorKHhwcmVzc2lvbiBpcyBmKS0uMTUgRShhbHNlLiktLjEgRSAyLjUoM2EpMTQ0IDU1Ni44IFMgLS4xOChyZyktMi41IEcKKyh1bWVudHMpLjE4IEUgLjIzNihUaGUgZm9sbG8pMTgwIDU2OC44IFIgLjIzNgorKHdpbmcgY29uZGl0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgbGlzdGVkLiktLjI1IEYgLjIzNgorKElmIHRoZSBzZWNvbmQgYXIpNS4yMzYgRiAuMjM2KGd1bWVudCBpcyBvbmUgb2YpLS4xOCBGIC44NTUKKyh0aGUgYmluYXJ5IGNvbmRpdGlvbmFsIG9wZXJhdG9ycyBsaXN0ZWQgYWJvKTE4MCA1ODAuOCBSIDEuMTU1IC0uMTUKKyh2ZSB1KS0uMTUgSChuZGVyKS4xNSBFIEYyKENPTkRJVElPTikzLjM1NSBFIC44NTUoQUwgRVhQUkVTU0lPTlMpLS4xOCBGCitGNCgsKUEgRjAodGhlKTMuMTA0IEUgLjU3OChyZXN1bHQgb2YgdGhlIGUpMTgwIDU5Mi44IFIgLjU3OCh4cHJlc3Npb24gaVwKK3MgdGhlIHJlc3VsdCBvZiB0aGUgYmluYXJ5IHRlc3QgdXNpbmcgdGhlIFwyMTRyc3QgYW5kIHRoaXJkIGFyKS0uMTUgRgorKGd1bWVudHMpLS4xOCBFIDEuMzMzKGFzIG9wZXJhbmRzLikxODAgNjA0LjggUihUaGUpNi4zMzMgRSBGMTxhZDYxPjMuODMzCitFIEYwKGFuZCkzLjgzMyBFIEYxPGFkNmY+My44MzIgRSBGMCAxLjMzMgorKG9wZXJhdG9ycyBhcmUgY29uc2lkZXJlZCBiaW5hcnkgb3BlcmF0b3JzIHdoZW4gdGhlcmUgYXJlKTMuODMyIEYgLjU1OAorKHRocmVlIGFyKTE4MCA2MTYuOCBSIDMuMDU4KGd1bWVudHMuIElmKS0uMTggRiAuNTU4KHRoZSBcMjE0cnN0IGFyKTMuMDU4CitGIC41NTgoZ3VtZW50IGlzKS0uMTggRiBGMSghKTMuMDU4IEUgRjAgMy4wNTgoLHQpQyAuNTU4KGhlIHYpLTMuMDU4IEYKKy41NTgoYWx1ZSBpcyB0aGUgbmUpLS4yNSBGIC0uMDUoZ2EpLS4xNSBHIC41NTgodGlvbiBvZiB0aGUgdHcpLjA1IEYKKyhvLWFyKS0uMSBFKGd1bWVudCktLjE4IEUgLjUyMSh0ZXN0IHVzaW5nIHRoZSBzZWNvbmQgYW5kIHRoaXJkIGFyKTE4MAorNjI4LjggUiAzLjAyMShndW1lbnRzLiBJZiktLjE4IEYgLjUyMSh0aGUgXDIxNHJzdCBhcikzLjAyMSBGIC41MgorKGd1bWVudCBpcyBlKS0uMTggRih4YWN0bHkpLS4xNSBFIEYxKFwoKTMuMDIgRSBGMCAuNTIoYW5kIHRoZSB0aGlyZCkzLjAyCitGKGFyKTE4MCA2NDAuOCBRIC40ODUoZ3VtZW50IGlzIGUpLS4xOCBGKHhhY3RseSktLjE1IEUgRjEoXCkpMi45ODUgRSBGMAorMi45ODUoLHQpQyAuNDg1KGhlIHJlc3VsdCBpcyB0aGUgb25lLWFyKS0yLjk4NSBGIC40ODUKKyhndW1lbnQgdGVzdCBvZiB0aGUgc2Vjb25kIGFyKS0uMTggRiAyLjk4NShndW1lbnQuIE90aGVyKS0uMTggRigtKS0uMiBFCisod2lzZSwgdGhlIGUpMTgwIDY1Mi44IFEoeHByZXNzaW9uIGlzIGYpLS4xNSBFKGFsc2UuKS0uMSBFIDIuNSg0YSkxNDQKKzY2NC44IFMgLS4xOChyZyktMi41IEcodW1lbnRzKS4xOCBFIC4zODUoSWYgdGhlIFwyMTRyc3QgYXIpMTgwIDY3Ni44IFIKKy4zODUoZ3VtZW50IGlzKS0uMTggRiBGMSghKTIuODg1IEUgRjAgMi44ODUoLHQpQyAuMzg1CisoaGUgcmVzdWx0IGlzIHRoZSBuZSktMi44ODUgRiAtLjA1KGdhKS0uMTUgRyAuMzg0KHRpb24gb2YgdGhlIHRocmVlLWFyKQorLjA1IEYgLjM4NChndW1lbnQgZSktLjE4IEYgLjM4NCh4cHJlc3Npb24gY29tLSktLjE1IEYgMS42NDcKKyhwb3NlZCBvZiB0aGUgcmVtYWluaW5nIGFyKTE4MCA2ODguOCBSIDQuMTQ3KGd1bWVudHMuIE90aGVyd2lzZSwpLS4xOCBGCisxLjY0Nyh0aGUgZSk0LjE0NyBGIDEuNjQ4KHhwcmVzc2lvbiBpcyBwYXJzZWQgYW5kIGUpLS4xNSBGIC0uMjUodmEpLS4yNQorRyhsdWF0ZWQpLjI1IEUoYWNjb3JkaW5nIHRvIHByZWNlZGVuY2UgdXNpbmcgdGhlIHJ1bGVzIGxpc3RlZCBhYm8pMTgwCis3MDAuOCBRIC0uMTUodmUpLS4xNSBHKC4pLjE1IEUoR05VIEJhc2gtNC4wKTcyIDc2OCBRKDIwMDQgQXByIDIwKTE0OC43MzUKK0UoMTkpMTk4LjcyNSBFIDAgQ2cgRVAKICUlUGFnZTogMjAgMjAKICUlQmVnaW5QYWdlU2V0dXAKIEJQCiAlJUVuZFBhZ2VTZXR1cAogL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTKFNIX0IpLjM1IEUoVUlMKS0uMSBFIDI5MC40OAotKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUvRjEgMTAKLS9UaW1lcy1Cb2xkQDAgU0YodHlwZSkxMDggODQgUSBGMChbKTIuNSBFIEYxKFwyNTVhZnRwUClBIEYwKF0pQS9GMiAxMAotL1RpbWVzLUl0YWxpY0AwIFNGKG5hbWUpMi41IEUgRjAoWykyLjUgRSBGMihuYW1lKUEgRjAoLi4uXSkyLjUgRSAtLjQoV2kpCi0xNDQgOTYgUyAuMTczKHRoIG5vIG9wdGlvbnMsIGluZGljYXRlIGhvKS40IEYgMi42NzMod2UpLS4yNSBHKGFjaCktMi42NzMKLUUgRjIobmFtZSkzLjAzMyBFIEYwIC0uMSh3bykyLjg1MyBHIC4xNzQKLSh1bGQgYmUgaW50ZXJwcmV0ZWQgaWYgdXNlZCBhcyBhIGNvbW1hbmQgbmFtZS4pLjEgRiAuMTc0KElmIHRoZSk1LjE3NCBGCi1GMTxhZDc0PjE0NCAxMDggUSBGMCAuODQzKG9wdGlvbiBpcyB1c2VkLCkzLjM0MyBGIEYxKHR5cGUpMy4zNDMgRSBGMAorKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUgMi41KDVvKTE0NAorODQgUyAyLjUocm0pLTIuNSBHKG9yZSBhciktMi41IEUoZ3VtZW50cyktLjE4IEUgMS42MzUoVGhlIGUpMTgwIDk2IFIKKzEuNjM1KHhwcmVzc2lvbiBpcyBwYXJzZWQgYW5kIGUpLS4xNSBGIC0uMjUodmEpLS4yNSBHIDEuNjM1CisobHVhdGVkIGFjY29yZGluZyB0byBwcmVjZWRlbmNlIHVzaW5nIHRoZSBydWxlcyBsaXN0ZWQpLjI1IEYoYWJvKTE4MCAxMDgKK1EgLS4xNSh2ZSktLjE1IEcoLikuMTUgRShXaGVuIHVzZWQgd2l0aCkxNDQgMTI2IFEvRjEgMTAvVGltZXMtQm9sZEAwIFNGCisodGVzdCkyLjUgRSBGMChvcikyLjUgRSBGMShbKTIuNSBFIEYwIDIuNSgsdClDKGhlKS0yLjUgRSBGMSg8KTIuNSBFIEYwCisoYW5kKTIuNSBFIEYxKD4pMi41IEUgRjAob3BlcmF0b3JzIHNvcnQgbGUpMi41IEUKKyh4aWNvZ3JhcGhpY2FsbHkgdXNpbmcgQVNDSUkgb3JkZXJpbmcuKS0uMTUgRSBGMSh0aW1lcykxMDggMTQyLjggUSBGMAorMS4yMjkoUHJpbnQgdGhlIGFjY3VtdWxhdGVkIHVzZXIgYW5kIHN5c3RlbSB0aW1lcyBmb3IgdGhlIHNoZWxsIGFuZCBmb3JcCisgcHJvY2Vzc2VzIHJ1biBmcm9tIHRoZSBzaGVsbC4pMTMuMjMgRihUaGUgcmV0dXJuIHN0YXR1cyBpcyAwLikxNDQgMTU0LjgKK1EgRjEodHJhcCkxMDggMTcxLjYgUSBGMChbKTIuNSBFIEYxKFwyNTVscClBIEYwIDIuNShdWylDKFspLTIuNSBFL0YyIDEwCisvVGltZXMtSXRhbGljQDAgU0YoYXIpQShnKS0uMzcgRSBGMChdKUEgRjIoc2lnc3BlYykyLjUgRSBGMCguLi5dKTIuNSBFCisuNzAzKFRoZSBjb21tYW5kKTE0NCAxODMuNiBSIEYyKGFyKTMuNTMzIEUoZyktLjM3IEUgRjAgLjcwMworKGlzIHRvIGJlIHJlYWQgYW5kIGUpMy40MjMgRiAtLjE1KHhlKS0uMTUgRyAuNzAyCisoY3V0ZWQgd2hlbiB0aGUgc2hlbGwgcmVjZWkpLjE1IEYgLS4xNSh2ZSktLjI1IEcgMy4yMDIoc3MpLjE1IEcKKyhpZ25hbFwoc1wpKS0zLjIwMiBFIEYyKHNpZ3NwZWMpMy4yMDIgRSBGMCA1LjcwMiguSSkuMzEgRyhmKS01LjcwMiBFIEYyCisoYXIpMy41MzIgRShnKS0uMzcgRSBGMChpcykzLjQyMiBFIC42MDgoYWJzZW50IFwoYW5kIHRoZXJlIGlzIGEgc2luZ2xlKQorMTQ0IDE5NS42IFIgRjIoc2lnc3BlYykzLjEwOCBFIEYwIDMuMTA4KFwpbylDKHIpLTMuMTA4IEUgRjE8YWQ+My4xMDggRQorRjAgMy4xMDgoLGUpQyAuNjA4CisoYWNoIHNwZWNpXDIxNGVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMgb3JpZ2luYWwgZGlzcG9zaXRpb24pLTMuMTA4IEYKKy42NTkoXCh0aGUgdikxNDQgMjA3LjYgUiAuNjU5KGFsdWUgaXQgaGFkIHVwb24gZW50cmFuY2UgdG8gdGhlIHNoZWxsXCkuKQorLS4yNSBGKElmKTUuNjU4IEUgRjIoYXIpMy40ODggRShnKS0uMzcgRSBGMCAuNjU4CisoaXMgdGhlIG51bGwgc3RyaW5nIHRoZSBzaWduYWwgc3BlY2lcMjE0ZWQgYnkgZWFjaCkzLjM3OCBGIEYyKHNpZ3NwZWMpCisxNDQuMzQgMjE5LjYgUSBGMCAuNTgoaXMgaWdub3JlZCBieSB0aGUgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbikKKzMuMzkgRiAtLjIodm8pLS40IEcgLS4xKGtlKS4yIEcgMy4wODEocy4gSWYpLjEgRiBGMihhcikzLjQxMSBFKGcpLS4zNyBFCitGMCAuNTgxKGlzIG5vdCBwcmVzZW50IGFuZCkzLjMwMSBGIEYxPGFkNzA+My4wODEgRSBGMChoYXMpMy4wODEgRSAxLjIxNQorKGJlZW4gc3VwcGxpZWQsIHRoZW4gdGhlIHRyYXAgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2gpMTQ0IDIzMS42IFIKK0YyKHNpZ3NwZWMpNC4wNTQgRSBGMCAxLjIxNChhcmUgZGlzcGxheWVkLik0LjAyNCBGIDEuMjE0KElmIG5vIGFyKTYuMjE0CitGKGd1LSktLjE4IEUgLjg2KG1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiBvbmx5KTE0NCAyNDMuNiBSIEYxPGFkNzA+My4zNgorRSBGMCAuODYoaXMgZ2kpMy4zNiBGIC0uMTUodmUpLS4yNSBHKG4sKS4xNSBFIEYxKHRyYXApMy4zNiBFIEYwIC44NgorKHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggZWFjaCkzLjM2IEYgMi44MworKHNpZ25hbC4gVGhlKTE0NCAyNTUuNiBSIEYxPGFkNmM+Mi44MyBFIEYwIC4zMyhvcHRpb24gY2F1c2VzIHRoZSBzaGVsbCBcCit0byBwcmludCBhIGxpc3Qgb2Ygc2lnbmFsIG5hbWVzIGFuZCB0aGVpciBjb3JyZXNwb25kaW5nIG51bS0pMi44MyBGIDQuMzEKKyhiZXJzLiBFYWNoKTE0NCAyNjcuNiBSIEYyKHNpZ3NwZWMpNC42NSBFIEYwIDEuODExCisoaXMgZWl0aGVyIGEgc2lnbmFsIG5hbWUgZGVcMjE0bmVkIGluIDwpNC42MiBGIEYyKHNpZ25hbC5oKUEgRjAgMS44MTEKKyg+LCBvciBhIHNpZ25hbCBudW1iZXIpQiA2LjgxMSguUyktLjU1IEcoaWduYWwpLTYuODExIEUKKyhuYW1lcyBhcmUgY2FzZSBpbnNlbnNpdGkpMTQ0IDI3OS42IFEgLjMgLS4xNSh2ZSBhKS0uMjUgSChuZCB0aGUpLjE1IEUKKy9GMyA5L1RpbWVzLUJvbGRAMCBTRihTSUcpMi41IEUgRjAocHJlXDIxNHggaXMgb3B0aW9uYWwuKTIuMjUgRSAxLjY0OQorKElmIGEpMTQ0IDI5Ny42IFIgRjIoc2lnc3BlYyk0LjQ4OSBFIEYwKGlzKTQuNDU5IEUgRjMoRVhJVCk0LjE0OSBFIEYwCisxLjY0OShcKDBcKSB0aGUgY29tbWFuZCkzLjg5OSBGIEYyKGFyKTQuNDc5IEUoZyktLjM3IEUgRjAgMS42NDkoaXMgZSkKKzQuMzY5IEYgLS4xNSh4ZSktLjE1IEcgMS42NDkoY3V0ZWQgb24gZSkuMTUgRiAxLjY0OCh4aXQgZnJvbSB0aGUgc2hlbGwuKQorLS4xNSBGIDEuNjQ4KElmIGEpNi42NDggRiBGMihzaWdzcGVjKTQuNDg4IEUgRjAoaXMpNC40NTggRSBGMyhERUIpMTQ0CiszMDkuNiBRKFVHKS0uMDkgRS9GNCA5L1RpbWVzLVJvbWFuQDAgU0YoLClBIEYwIDEuMTY3KHRoZSBjb21tYW5kKTMuNDE3IEYKK0YyKGFyKTMuOTk3IEUoZyktLjM3IEUgRjAgMS4xNjcoaXMgZSkzLjg4NyBGIC0uMTUoeGUpLS4xNSBHIDEuMTY3CisoY3V0ZWQgYmVmb3JlIGUpLjE1IEYgLS4xNSh2ZSktLjI1IEcocnkpLjE1IEUgRjIgMS4xNjgoc2ltcGxlIGNvbW1hbmQpCiszLjY2NyBGIEYwKCwpQSBGMihmb3IpMy42NjggRSBGMChjb21tYW5kLCkzLjY2OCBFIEYyKGNhc2UpMy42NjggRSBGMAorKGNvbS0pMy42NjggRShtYW5kLCkxNDQgMzIxLjYgUSBGMihzZWxlY3QpMi42NDcgRSBGMCAuMTQ3KGNvbW1hbmQsIGUpCisyLjY0NyBGIC0uMTUodmUpLS4yNSBHIC4xNDcocnkgYXJpdGhtZXRpYykuMTUgRiBGMihmb3IpMi42NDcgRSBGMCAuMTQ2CisoY29tbWFuZCwgYW5kIGJlZm9yZSB0aGUgXDIxNHJzdCBjb21tYW5kIGUpMi42NDcgRiAtLjE1KHhlKS0uMTUgRyAuMTQ2CisoY3V0ZXMgaW4gYSkuMTUgRiAuMTQ1KHNoZWxsIGZ1bmN0aW9uIFwoc2VlKTE0NCAzMzMuNiBSIEYzIC4xNDUKKyhTSEVMTCBHUkFNTUFSKTIuNjQ1IEYgRjAoYWJvKTIuMzk1IEUgLS4xNSh2ZSktLjE1IEcgMi42NDYoXCkuIFJlZmVyKS4xNQorRiAuMTQ2KHRvIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUpMi42NDYgRiBGMShleHRkZWIpMi42NDYgRSh1ZyktLjIgRSBGMAorLjE0NihvcHRpb24gdG8pMi42NDYgRih0aGUpMTQ0IDM0NS42IFEgRjEoc2hvcHQpMy4yMDEgRSBGMCAtLjIoYnUpMy4yMDEKK0cgLjcoaWx0aW4gZm9yIGRldGFpbHMgb2YgaXRzIGVmKS4yIEYgLjcoZmVjdCBvbiB0aGUpLS4yNSBGIEYxKERFQikzLjIgRQorKFVHKS0uMSBFIEYwIDMuMih0cmFwLiBJZikzLjIgRihhKTMuMiBFIEYyKHNpZ3NwZWMpMy41NCBFIEYwKGlzKTMuNTEgRQorRjMoUkVUVVJOKTMuMiBFIEY0KCwpQSBGMCAuNyh0aGUgY29tLSkyLjk1IEYobWFuZCkxNDQgMzU3LjYgUSBGMihhcikKKzMuNDczIEUoZyktLjM3IEUgRjAgLjY0MyhpcyBlKTMuMzYzIEYgLS4xNSh4ZSktLjE1IEcgLjY0MworKGN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yIGEgc2NyaXB0IGUpLjE1IEYgLS4xNSh4ZSktLjE1IEcKKy42NDQoY3V0ZWQgd2l0aCB0aGUpLjE1IEYgRjEoLikzLjE0NCBFIEYwKG9yKTMuMTQ0IEUgRjEoc291cikzLjE0NCBFKGNlKQorLS4xOCBFIEYwIC0uMihidSkzLjE0NCBHKGlsdGlucykuMiBFKFwyMTRuaXNoZXMgZSkxNDQgMzY5LjYgUSAtLjE1KHhlKQorLS4xNSBHKGN1dGluZy4pLjE1IEUgLjkyOShJZiBhKTE0NCAzODcuNiBSIEYyKHNpZ3NwZWMpMy43NjkgRSBGMChpcykKKzMuNzM5IEUgRjMoRVJSKTMuNDI5IEUgRjQoLClBIEYwIC45MjkodGhlIGNvbW1hbmQpMy4xNzkgRiBGMihhcikzLjc1OSBFCisoZyktLjM3IEUgRjAgLjkyOShpcyBlKTMuNjQ5IEYgLS4xNSh4ZSktLjE1IEcgLjkyOShjdXRlZCB3aGVuZSkuMTUgRgorLS4xNSh2ZSktLjI1IEcgMy40MjkocmFzKS4xNSBHIC45MjgoaW1wbGUgY29tbWFuZCBoYXMgYSBub25cMjU1emVybykKKy0zLjQyOSBGIC0uMTUoZXgpMTQ0IDM5OS42IFMgMS4wMDgoaXQgc3RhdHVzLCBzdWJqZWN0IHRvIHRoZSBmb2xsbykuMTUgRgorMS4wMDkod2luZyBjb25kaXRpb25zLiktLjI1IEYoVGhlKTYuMDA5IEUgRjMoRVJSKTMuNTA5IEUgRjAgMS4wMDkKKyh0cmFwIGlzIG5vdCBlKTMuMjU5IEYgLS4xNSh4ZSktLjE1IEcgMS4wMDkoY3V0ZWQgaWYgdGhlIGYpLjE1IEYgMS4wMDkKKyhhaWxlZCBjb20tKS0uMSBGIC4zMjQKKyhtYW5kIGlzIHBhcnQgb2YgdGhlIGNvbW1hbmQgbGlzdCBpbW1lZGlhdGVseSBmb2xsbykxNDQgNDExLjYgUiAuMzI0Cisod2luZyBhKS0uMjUgRiBGMSh3aGlsZSkyLjgyNCBFIEYwKG9yKTIuODI0IEUgRjEodW50aWwpMi44MjQgRSBGMCAtLjEKKyhrZSkyLjgyNCBHKHl3KS0uMDUgRSAuMzI0KG9yZCwgcGFydCBvZiB0aGUgdGVzdCktLjEgRiAuMTUxKGluIGFuKTE0NAorNDIzLjYgUiBGMihpZikyLjY2MSBFIEYwIC4xNTEoc3RhdGVtZW50LCBwYXJ0IG9mIGEgY29tbWFuZCBlKTQuNjExIEYKKy0uMTUoeGUpLS4xNSBHIC4xNTEoY3V0ZWQgaW4gYSkuMTUgRiBGMSgmJikyLjY1MSBFIEYwKG9yKTIuNjUxIEUgRjEofHwpCisyLjY1MSBFIEYwIC4xNTEobGlzdCwgb3IgaWYgdGhlIGNvbW1hbmQnKTIuNjUxIEYgMi42NTEoc3IpLS41NSBHIC4xNTEKKyhldHVybiB2KS0yLjY1MSBGKGFsdWUpLS4yNSBFKGlzIGJlaW5nIGluKTE0NCA0MzUuNiBRIC0uMTUodmUpLS40IEcKKyhydGVkIHZpYSkuMTUgRSBGMSghKTIuNSBFIEYwIDUoLlQpQyhoZXNlIGFyZSB0aGUgc2FtZSBjb25kaXRpb25zIG9iZSktNQorRSh5ZWQgYnkgdGhlKS0uMTUgRSBGMShlcnIpMi41IEUoZXhpdCktLjE4IEUgRjAob3B0aW9uLikyLjUgRSAxLjA5NQorKFNpZ25hbHMgaWdub3JlZCB1cG9uIGVudHJ5IHRvIHRoZSBzaGVsbCBjYW5ub3QgYmUgdHJhcHBlZCBvciByZXNldC4pMTQ0Cis0NTMuNiBSIC0uMzUoVHIpNi4wOTUgRyAxLjA5NShhcHBlZCBzaWduYWxzIHRoYXQgYXJlIG5vdCkuMzUgRiAuNjYyCisoYmVpbmcgaWdub3JlZCBhcmUgcmVzZXQgdG8gdGhlaXIgb3JpZ2luYWwgdikxNDQgNDY1LjYgUiAuNjYyCisoYWx1ZXMgaW4gYSBzdWJzaGVsbCBvciBzdWJzaGVsbCBlbiktLjI1IEYgLjY2Mih2aXJvbm1lbnQgd2hlbiBvbmUgaXMpCistLjQgRiAyLjUoY3JlYXRlZC4gVGhlKTE0NCA0NzcuNiBSKHJldHVybiBzdGF0dXMgaXMgZikyLjUgRShhbHNlIGlmIGFuKQorLS4xIEUoeSktLjE1IEUgRjIoc2lnc3BlYykyLjg0IEUgRjAoaXMgaW4pMi44MSBFIC0uMjUodmEpLS40IEcKKyhsaWQ7IG90aGVyd2lzZSkuMjUgRSBGMSh0cmFwKTIuNSBFIEYwKHJldHVybnMgdHJ1ZS4pMi41IEUgRjEodHlwZSkxMDgKKzQ5NC40IFEgRjAoWykyLjUgRSBGMShcMjU1YWZ0cFApQSBGMChdKUEgRjIobmFtZSkyLjUgRSBGMChbKTIuNSBFIEYyCisobmFtZSlBIEYwKC4uLl0pMi41IEUgLS40KFdpKTE0NCA1MDYuNCBTIC4xNzQKKyh0aCBubyBvcHRpb25zLCBpbmRpY2F0ZSBobykuNCBGIDIuNjc0KHdlKS0uMjUgRyhhY2gpLTIuNjc0IEUgRjIobmFtZSkKKzMuMDM0IEUgRjAgLS4xKHdvKTIuODU0IEcgLjE3MworKHVsZCBiZSBpbnRlcnByZXRlZCBpZiB1c2VkIGFzIGEgY29tbWFuZCBuYW1lLikuMSBGIC4xNzMoSWYgdGhlKTUuMTczIEYKK0YxPGFkNzQ+MTQ0IDUxOC40IFEgRjAgLjg0MihvcHRpb24gaXMgdXNlZCwpMy4zNDIgRiBGMSh0eXBlKTMuMzQyIEUgRjAKIC44NDMocHJpbnRzIGEgc3RyaW5nIHdoaWNoIGlzIG9uZSBvZikzLjM0MyBGIEYyKGFsaWFzKTMuMzQzIEUgRjAoLCkuMjcgRQogRjIgLS4xKGtlKTMuMzQzIEcoeXdvciktLjIgRShkKS0uMzcgRSBGMCgsKS43NyBFIEYyKGZ1bmN0aW9uKTMuMzQzIEUgRjAKLSgsKS4yNCBFIEYyIC0uMihidSkzLjM0MiBHKGlsdGluKS4yIEUgRjAgMy4zNDIoLG8pLjI0IEcociktMy4zNDIgRSBGMgotKFwyMTRsZSk1LjI1MiBFIEYwKGlmKTMuNTIyIEUgRjIobmFtZSkxNDQuMzYgMTIwIFEgRjAgLjA4NgotKGlzIGFuIGFsaWFzLCBzaGVsbCByZXNlcnYpMi43NjYgRiAuMDg2KGVkIHcpLS4xNSBGIC4wODYKLShvcmQsIGZ1bmN0aW9uLCBiKS0uMSBGIC4wODcodWlsdGluLCBvciBkaXNrIFwyMTRsZSwgcmVzcGVjdGkpLS4yIEYgLS4xNQotKHZlKS0uMjUgRyhseSkuMTUgRSA1LjA4NyguSSktLjY1IEcgMi41ODcoZnQpLTUuMDg3IEcoaGUpLTIuNTg3IEUgRjIKLShuYW1lKTIuOTQ3IEUgRjAgLjA4NyhpcyBub3QpMi43NjcgRiAuMTE5Ci0oZm91bmQsIHRoZW4gbm90aGluZyBpcyBwcmludGVkLCBhbmQgYW4gZSkxNDQgMTMyIFIgLjExOAotKHhpdCBzdGF0dXMgb2YgZiktLjE1IEYgLjExOChhbHNlIGlzIHJldHVybmVkLiktLjEgRiAuMTE4KElmIHRoZSk1LjExOCBGCi1GMTxhZDcwPjIuNjE4IEUgRjAgLjExOChvcHRpb24gaXMgdXNlZCwpMi42MTggRiBGMSh0eXBlKTIuNjE4IEUgRjAgLjg1NQotKGVpdGhlciByZXR1cm5zIHRoZSBuYW1lIG9mIHRoZSBkaXNrIFwyMTRsZSB0aGF0IHcpMTQ0IDE0NCBSIC44NTUKKygsKS4yNCBFIEYyIC0uMihidSkzLjM0MyBHKGlsdGluKS4yIEUgRjAgMy4zNDMoLG8pLjI0IEcociktMy4zNDMgRSBGMgorKFwyMTRsZSk1LjI1MyBFIEYwKGlmKTMuNTIzIEUgRjIobmFtZSkxNDQuMzYgNTMwLjQgUSBGMCAuMDg3CisoaXMgYW4gYWxpYXMsIHNoZWxsIHJlc2VydikyLjc2NyBGIC4wODcoZWQgdyktLjE1IEYgLjA4NworKG9yZCwgZnVuY3Rpb24sIGIpLS4xIEYgLjA4Nih1aWx0aW4sIG9yIGRpc2sgXDIxNGxlLCByZXNwZWN0aSktLjIgRiAtLjE1CisodmUpLS4yNSBHKGx5KS4xNSBFIDUuMDg2KC5JKS0uNjUgRyAyLjU4NihmdCktNS4wODYgRyhoZSktMi41ODYgRSBGMgorKG5hbWUpMi45NDYgRSBGMCAuMDg2KGlzIG5vdCkyLjc2NiBGIC4xMTgKKyhmb3VuZCwgdGhlbiBub3RoaW5nIGlzIHByaW50ZWQsIGFuZCBhbiBlKTE0NCA1NDIuNCBSIC4xMTgKKyh4aXQgc3RhdHVzIG9mIGYpLS4xNSBGIC4xMTgoYWxzZSBpcyByZXR1cm5lZC4pLS4xIEYgLjExOShJZiB0aGUpNS4xMTkgRgorRjE8YWQ3MD4yLjYxOSBFIEYwIC4xMTkob3B0aW9uIGlzIHVzZWQsKTIuNjE5IEYgRjEodHlwZSkyLjYxOSBFIEYwIC44NTUKKyhlaXRoZXIgcmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZGlzayBcMjE0bGUgdGhhdCB3KTE0NCA1NTQuNCBSIC44NTUKIChvdWxkIGJlIGUpLS4xIEYgLS4xNSh4ZSktLjE1IEcgLjg1NShjdXRlZCBpZikuMTUgRiBGMihuYW1lKTMuNzE1IEUgRjAKLS44NTUod2VyZSBzcGVjaVwyMTRlZCBhcyBhIGNvbS0pMy41MzUgRiAuNjQxKG1hbmQgbmFtZSwgb3Igbm90aGluZyBpZikKLTE0NCAxNTYgUi9GMyAxMC9Db3VyaWVyQDAgU0YgLjY0MSh0eXBlIC10IG5hbWUpMy4xNDEgRiBGMCAtLjEod28pMy4xNDEgRwotLjY0MSh1bGQgbm90IHJldHVybikuMSBGIEYyKFwyMTRsZSkzLjE0IEUgRjAgNS42NCguVCkuMTggRyhoZSktNS42NCBFIEYxCi08YWQ1MD4zLjE0IEUgRjAgLjY0KG9wdGlvbiBmb3JjZXMgYSkzLjE0IEYvRjQgOS9UaW1lcy1Cb2xkQDAgU0YgLS42NjYKLShQQSkzLjE0IEcoVEgpLS4xODkgRSBGMCAuMTEyKHNlYXJjaCBmb3IgZWFjaCkxNDQgMTY4IFIgRjIobmFtZSkyLjYxMiBFCi1GMCAyLjYxMigsZSlDIC0uMTUodmUpLTIuODYyIEcgMi42MTMobmkpLjE1IEcoZiktMi42MTMgRSBGMyAuMTEzCi0odHlwZSAtdCBuYW1lKTIuNjEzIEYgRjAgLS4xKHdvKTIuNjEzIEcgLjExMyh1bGQgbm90IHJldHVybikuMSBGIEYyCi0oXDIxNGxlKTIuNjEzIEUgRjAgNS4xMTMoLkkpLjE4IEcgMi42MTMoZmFjKS01LjExMyBHIC4xMTMKLShvbW1hbmQgaXMgaGFzaGVkLCktMi42MTMgRiBGMTxhZDcwPjIuNjEzIEUgRjAoYW5kKTE0NCAxODAgUSBGMTxhZDUwPgotMi45NDUgRSBGMCAuNDQ1KHByaW50IHRoZSBoYXNoZWQgdikyLjk0NSBGIC40NDQKLShhbHVlLCBub3QgbmVjZXNzYXJpbHkgdGhlIFwyMTRsZSB0aGF0IGFwcGVhcnMgXDIxNHJzdCBpbiktLjI1IEYgRjQKLS0uNjY2KFBBKTIuOTQ0IEcoVEgpLS4xODkgRS9GNSA5L1RpbWVzLVJvbWFuQDAgU0YoLilBIEYwIC40NDQoSWYgdGhlKQotNC45NDQgRiBGMTxhZDYxPjIuOTQ0IEUgRjAob3B0aW9uKTIuOTQ0IEUgLjI2NShpcyB1c2VkLCkxNDQgMTkyIFIgRjEKLSh0eXBlKTIuNzY1IEUgRjAgLjI2NShwcmludHMgYWxsIG9mIHRoZSBwbGFjZXMgdGhhdCBjb250YWluIGFuIGUpMi43NjUgRgotLS4xNSh4ZSktLjE1IEcgLjI2NShjdXRhYmxlIG5hbWVkKS4xNSBGIEYyKG5hbWUpMi43NjUgRSBGMCA1LjI2NSguVCkuMTgKLUcgLjI2NShoaXMgaW5jbHVkZXMgYWxpYXNlcyktNS4yNjUgRiAuNDI3Ci0oYW5kIGZ1bmN0aW9ucywgaWYgYW5kIG9ubHkgaWYgdGhlKTE0NCAyMDQgUiBGMTxhZDcwPjIuOTI2IEUgRjAgLjQyNgotKG9wdGlvbiBpcyBub3QgYWxzbyB1c2VkLikyLjkyNiBGIC40MjYKLShUaGUgdGFibGUgb2YgaGFzaGVkIGNvbW1hbmRzIGlzIG5vdCk1LjQyNiBGIC41NDgoY29uc3VsdGVkIHdoZW4gdXNpbmcpCi0xNDQgMjE2IFIgRjE8YWQ2MT4zLjA0OCBFIEYwIDUuNTQ4KC5UKUMoaGUpLTUuNTQ4IEUgRjE8YWQ2Nj4zLjA0OCBFIEYwCi0uNTQ5KG9wdGlvbiBzdXBwcmVzc2VzIHNoZWxsIGZ1bmN0aW9uIGxvb2t1cCwgYXMgd2l0aCB0aGUpMy4wNDggRiBGMQotKGNvbW1hbmQpMy4wNDkgRSBGMCAtLjIoYnUpMTQ0IDIyOCBTKGlsdGluLikuMiBFIEYxKHR5cGUpNSBFIEYwCisuODU1KHdlcmUgc3BlY2lcMjE0ZWQgYXMgYSBjb20tKTMuNTM1IEYgLjY0KG1hbmQgbmFtZSwgb3Igbm90aGluZyBpZikxNDQKKzU2Ni40IFIvRjUgMTAvQ291cmllckAwIFNGIC42NCh0eXBlIC10IG5hbWUpMy4xNCBGIEYwIC0uMSh3bykzLjE0IEcgLjY0MQorKHVsZCBub3QgcmV0dXJuKS4xIEYgRjIoXDIxNGxlKTMuMTQxIEUgRjAgNS42NDEoLlQpLjE4IEcoaGUpLTUuNjQxIEUgRjEKKzxhZDUwPjMuMTQxIEUgRjAgLjY0MShvcHRpb24gZm9yY2VzIGEpMy4xNDEgRiBGMyAtLjY2NihQQSkzLjE0MSBHKFRIKQorLS4xODkgRSBGMCAuMTEzKHNlYXJjaCBmb3IgZWFjaCkxNDQgNTc4LjQgUiBGMihuYW1lKTIuNjEzIEUgRjAgMi42MTMoLGUpCitDIC0uMTUodmUpLTIuODYzIEcgMi42MTMobmkpLjE1IEcoZiktMi42MTMgRSBGNSAuMTEzKHR5cGUgLXQgbmFtZSkyLjYxMworRiBGMCAtLjEod28pMi42MTMgRyAuMTEzKHVsZCBub3QgcmV0dXJuKS4xIEYgRjIoXDIxNGxlKTIuNjEzIEUgRjAgNS4xMTMKKyguSSkuMTggRyAyLjYxMyhmYSktNS4xMTMgRyAuMTEyKGNvbW1hbmQgaXMgaGFzaGVkLCktLjAwMSBGIEYxPGFkNzA+CisyLjYxMiBFIEYwKGFuZCkxNDQgNTkwLjQgUSBGMTxhZDUwPjIuOTQ0IEUgRjAgLjQ0NChwcmludCB0aGUgaGFzaGVkIHYpCisyLjk0NCBGIC40NDQoYWx1ZSwgbm90IG5lY2Vzc2FyaWx5IHRoZSBcMjE0bGUgdGhhdCBhcHBlYXJzIFwyMTRyc3QgaW4pCistLjI1IEYgRjMgLS42NjYoUEEpMi45NDUgRyhUSCktLjE4OSBFIEY0KC4pQSBGMCAuNDQ1KElmIHRoZSk0Ljk0NSBGIEYxCis8YWQ2MT4yLjk0NSBFIEYwKG9wdGlvbikyLjk0NSBFIC4yNjUoaXMgdXNlZCwpMTQ0IDYwMi40IFIgRjEodHlwZSkyLjc2NQorRSBGMCAuMjY1KHByaW50cyBhbGwgb2YgdGhlIHBsYWNlcyB0aGF0IGNvbnRhaW4gYW4gZSkyLjc2NSBGIC0uMTUoeGUpCistLjE1IEcgLjI2NShjdXRhYmxlIG5hbWVkKS4xNSBGIEYyKG5hbWUpMi43NjUgRSBGMCA1LjI2NSguVCkuMTggRyAuMjY1CisoaGlzIGluY2x1ZGVzIGFsaWFzZXMpLTUuMjY1IEYgLjQyNihhbmQgZnVuY3Rpb25zLCBpZiBhbmQgb25seSBpZiB0aGUpCisxNDQgNjE0LjQgUiBGMTxhZDcwPjIuOTI2IEUgRjAgLjQyNihvcHRpb24gaXMgbm90IGFsc28gdXNlZC4pMi45MjYgRgorLjQyNyhUaGUgdGFibGUgb2YgaGFzaGVkIGNvbW1hbmRzIGlzIG5vdCk1LjQyNiBGIC41NDkKKyhjb25zdWx0ZWQgd2hlbiB1c2luZykxNDQgNjI2LjQgUiBGMTxhZDYxPjMuMDQ5IEUgRjAgNS41NDkoLlQpQyhoZSkKKy01LjU0OSBFIEYxPGFkNjY+My4wNDkgRSBGMCAuNTQ4Cisob3B0aW9uIHN1cHByZXNzZXMgc2hlbGwgZnVuY3Rpb24gbG9va3VwLCBhcyB3aXRoIHRoZSkzLjA0OSBGIEYxCisoY29tbWFuZCkzLjA0OCBFIEYwIC0uMihidSkxNDQgNjM4LjQgUyhpbHRpbi4pLjIgRSBGMSh0eXBlKTUgRSBGMAogKHJldHVybnMgdHJ1ZSBpZiBhbGwgb2YgdGhlIGFyKTIuNSBFKGd1bWVudHMgYXJlIGZvdW5kLCBmKS0uMTggRQotKGFsc2UgaWYgYW4pLS4xIEUgMi41KHlhKS0uMTUgRyhyZSBub3QgZm91bmQuKS0yLjUgRSBGMSh1bGltaXQpMTA4IDI0NC44CisoYWxzZSBpZiBhbiktLjEgRSAyLjUoeWEpLS4xNSBHKHJlIG5vdCBmb3VuZC4pLTIuNSBFIEYxKHVsaW1pdCkxMDggNjU1LjIKIFEgRjAoWykyLjUgRSBGMShcMjU1SFNUKUEoYWJjZGVcMjE0bG1ucHFyc3R1dngpLS45MiBFIEYwKFspMi41IEUgRjIKLShsaW1pdClBIEYwKF1dKUEoUHJvKTE0NCAyNTYuOCBRIC4yNDQodmlkZXMgY29udHJvbCBvKS0uMTUgRiAtLjE1KHZlKQotLS4xNSBHIDIuNzQ0KHJ0KS4xNSBHIC4yNDQoaGUgcmVzb3VyY2VzIGEpLTIuNzQ0IEYgLS4yNSh2YSktLjIgRyAuMjQ0CisobGltaXQpQSBGMChdXSlBKFBybykxNDQgNjY3LjIgUSAuMjQzKHZpZGVzIGNvbnRyb2wgbyktLjE1IEYgLS4xNSh2ZSkKKy0uMTUgRyAyLjc0MyhydCkuMTUgRyAuMjQzKGhlIHJlc291cmNlcyBhKS0yLjc0MyBGIC0uMjUodmEpLS4yIEcgLjI0NAogKGlsYWJsZSB0byB0aGUgc2hlbGwgYW5kIHRvIHByb2Nlc3NlcyBzdGFydGVkIGJ5IGl0LCBvbiBzeXN0ZW1zKS4yNSBGCi0uOTQzKHRoYXQgYWxsbykxNDQgMjY4LjggUiAzLjQ0Myh3cyktLjI1IEcgLjk0Myh1Y2ggY29udHJvbC4pLTMuNDQzIEYKLShUaGUpNS45NDMgRSBGMTxhZDQ4PjMuNDQzIEUgRjAoYW5kKTMuNDQzIEUgRjE8YWQ1Mz4zLjQ0NCBFIEYwIC45NDQKKy45NDQodGhhdCBhbGxvKTE0NCA2NzkuMiBSIDMuNDQ0KHdzKS0uMjUgRyAuOTQ0KHVjaCBjb250cm9sLiktMy40NDQgRgorKFRoZSk1Ljk0NCBFIEYxPGFkNDg+My40NDQgRSBGMChhbmQpMy40NDQgRSBGMTxhZDUzPjMuNDQ0IEUgRjAgLjk0MwogKG9wdGlvbnMgc3BlY2lmeSB0aGF0IHRoZSBoYXJkIG9yIHNvZnQgbGltaXQgaXMgc2V0IGZvciB0aGUpMy40NDQgRihnaSkKLTE0NCAyODAuOCBRIC0uMTUodmUpLS4yNSBHIDIuNzA5KG5yKS4xNSBHIDIuNzA5KGVzb3VyY2UuIEEpLTIuNzA5IEYgLjIwOAorMTQ0IDY5MS4yIFEgLS4xNSh2ZSktLjI1IEcgMi43MDgobnIpLjE1IEcgMi43MDgoZXNvdXJjZS4gQSktMi43MDggRiAuMjA4CiAoaGFyZCBsaW1pdCBjYW5ub3QgYmUgaW5jcmVhc2VkIGJ5IGEgbm9uLXJvb3QgdXNlciBvbmNlIGl0IGlzIHNldDsgYSBzb1wKLWZ0IGxpbWl0IG1heSkyLjcwOSBGIC40MjUoYmUgaW5jcmVhc2VkIHVwIHRvIHRoZSB2KTE0NCAyOTIuOCBSIC40MjUKLShhbHVlIG9mIHRoZSBoYXJkIGxpbWl0LiktLjI1IEYgLjQyNihJZiBuZWl0aGVyKTUuNDI1IEYgRjE8YWQ0OD4yLjkyNiBFCi1GMChub3IpMi45MjYgRSBGMTxhZDUzPjIuOTI2IEUgRjAgLjQyNgotKGlzIHNwZWNpXDIxNGVkLCBib3RoIHRoZSBzb2Z0IGFuZCkyLjkyNiBGIC4xMzkoaGFyZCBsaW1pdHMgYXJlIHNldC4pMTQ0Ci0zMDQuOCBSIC4xMzkoVGhlIHYpNS4xMzkgRiAuMTM5KGFsdWUgb2YpLS4yNSBGIEYyKGxpbWl0KTIuNzI5IEUgRjAgLjEzOQorZnQgbGltaXQgbWF5KTIuNzA4IEYgLjQyNihiZSBpbmNyZWFzZWQgdXAgdG8gdGhlIHYpMTQ0IDcwMy4yIFIgLjQyNgorKGFsdWUgb2YgdGhlIGhhcmQgbGltaXQuKS0uMjUgRiAuNDI1KElmIG5laXRoZXIpNS40MjYgRiBGMTxhZDQ4PjIuOTI1IEUKK0YwKG5vcikyLjkyNSBFIEYxPGFkNTM+Mi45MjUgRSBGMCAuNDI1CisoaXMgc3BlY2lcMjE0ZWQsIGJvdGggdGhlIHNvZnQgYW5kKTIuOTI1IEYgLjEzOShoYXJkIGxpbWl0cyBhcmUgc2V0LikxNDQKKzcxNS4yIFIgLjEzOShUaGUgdik1LjEzOSBGIC4xMzkoYWx1ZSBvZiktLjI1IEYgRjIobGltaXQpMi43MjkgRSBGMCAuMTM5CiAoY2FuIGJlIGEgbnVtYmVyIGluIHRoZSB1bml0IHNwZWNpXDIxNGVkIGZvciB0aGUgcmVzb3VyY2Ugb3Igb25lKTMuMzE5IEYKLS43NDEob2YgdGhlIHNwZWNpYWwgdikxNDQgMzE2LjggUihhbHVlcyktLjI1IEUgRjEoaGFyZCkzLjI0MSBFIEYwKCwpQSBGMQorLjc0MihvZiB0aGUgc3BlY2lhbCB2KTE0NCA3MjcuMiBSKGFsdWVzKS0uMjUgRSBGMShoYXJkKTMuMjQyIEUgRjAoLClBIEYxCiAoc29mdCkzLjI0MSBFIEYwIDMuMjQxKCxvKUMociktMy4yNDEgRSBGMSh1bmxpbWl0ZWQpMy4yNDEgRSBGMCAzLjI0MSgsdykKLUMgLjc0MShoaWNoIHN0YW5kIGZvciB0aGUgY3VycmVudCBoYXJkIGxpbWl0LCB0aGUgY3VycmVudCktMy4yNDEgRiAuNzgKLShzb2Z0IGxpbWl0LCBhbmQgbm8gbGltaXQsIHJlc3BlY3RpKTE0NCAzMjguOCBSIC0uMTUodmUpLS4yNSBHKGx5KS4xNSBFCi01Ljc4KC5JKS0uNjUgRyhmKS01Ljc4IEUgRjIobGltaXQpMy4zNyBFIEYwIC43OAotKGlzIG9taXR0ZWQsIHRoZSBjdXJyZW50IHYpMy45NiBGIC43OChhbHVlIG9mIHRoZSBzb2Z0IGxpbWl0IG9mIHRoZSktLjI1Ci1GIC40OTgocmVzb3VyY2UgaXMgcHJpbnRlZCwgdW5sZXNzIHRoZSkxNDQgMzQwLjggUiBGMTxhZDQ4PjIuOTk5IEUgRjAKLS40OTkob3B0aW9uIGlzIGdpKTIuOTk5IEYgLS4xNSh2ZSktLjI1IEcgMi45OTkobi4gV2hlbikuMTUgRiAuNDk5Ci0obW9yZSB0aGFuIG9uZSByZXNvdXJjZSBpcyBzcGVjaVwyMTRlZCwgdGhlKTIuOTk5IEYKLShsaW1pdCBuYW1lIGFuZCB1bml0IGFyZSBwcmludGVkIGJlZm9yZSB0aGUgdikxNDQgMzUyLjggUSAyLjUKLShhbHVlLiBPdGhlciktLjI1IEYob3B0aW9ucyBhcmUgaW50ZXJwcmV0ZWQgYXMgZm9sbG8pMi41IEUod3M6KS0uMjUgRSBGMQotPGFkNjE+MTQ0IDM2NC44IFEgRjAoQWxsIGN1cnJlbnQgbGltaXRzIGFyZSByZXBvcnRlZCkyNS4zIEUgRjE8YWQ2Mj4xNDQKLTM3Ni44IFEgRjAoVGhlIG1heGltdW0gc29jaykyNC43NCBFKGV0IGIpLS4xIEUodWYpLS4yIEUoZmVyIHNpemUpLS4yNSBFCi1GMTxhZDYzPjE0NCAzODguOCBRIEYwKFRoZSBtYXhpbXVtIHNpemUgb2YgY29yZSBcMjE0bGVzIGNyZWF0ZWQpMjUuODYgRQotRjE8YWQ2ND4xNDQgNDAwLjggUSBGMChUaGUgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcycpMjQuNzQgRSAyLjUoc2QpCi0tLjU1IEcoYXRhIHNlKS0yLjUgRShnbWVudCktLjE1IEUgRjE8YWQ2NT4xNDQgNDEyLjggUSBGMAotKFRoZSBtYXhpbXVtIHNjaGVkdWxpbmcgcHJpb3JpdHkgXCgibmljZSJcKSkyNS44NiBFIEYxPGFkNjY+MTQ0IDQyNC44IFEKLUYwKFRoZSBtYXhpbXVtIHNpemUgb2YgXDIxNGxlcyB3cml0dGVuIGJ5IHRoZSBzaGVsbCBhbmQgaXRzIGNoaWxkcmVuKQotMjYuOTcgRSBGMTxhZDY5PjE0NCA0MzYuOCBRIEYwKFRoZSBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMpCi0yNy41MiBFIEYxPGFkNmM+MTQ0IDQ0OC44IFEgRjAoVGhlIG1heGltdW0gc2l6ZSB0aGF0IG1heSBiZSBsb2NrKTI3LjUyIEUKLShlZCBpbnRvIG1lbW9yeSktLjEgRSBGMTxhZDZkPjE0NCA0NjAuOCBRIEYwCi0oVGhlIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemUgXChtYW4pMjEuOTcgRSAyLjUoeXMpLS4xNSBHCi0oeXN0ZW1zIGRvIG5vdCBob25vciB0aGlzIGxpbWl0XCkpLTIuNSBFIEYxPGFkNmU+MTQ0IDQ3Mi44IFEgRjAgLjc5MShUaFwKLWUgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBcMjE0bGUgZGVzY3JpcHRvcnMgXChtb3N0IHN5c3RlbXMgZG8gbm90IGFsbG8pCi0yNC43NCBGIDMuMjkod3QpLS4yNSBHIC43OShoaXMgdiktMy4yOSBGIC43OShhbHVlIHRvKS0uMjUgRihiZSBzZXRcKSkxODAKLTQ4NC44IFEgRjE8YWQ3MD4xNDQgNDk2LjggUSBGMAotKFRoZSBwaXBlIHNpemUgaW4gNTEyLWJ5dGUgYmxvY2tzIFwodGhpcyBtYXkgbm90IGJlIHNldFwpKTI0Ljc0IEUgRjEKLTxhZDcxPjE0NCA1MDguOCBRIEYwCi0oVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzKTI0Ljc0IEUgRjE8YWQ3Mj4xNDQKLTUyMC44IFEgRjAoVGhlIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHkpMjUuODYgRSBGMTxhZDczPjE0NAotNTMyLjggUSBGMChUaGUgbWF4aW11bSBzdGFjayBzaXplKTI2LjQxIEUgRjE8YWQ3ND4xNDQgNTQ0LjggUSBGMAotKFRoZSBtYXhpbXVtIGFtb3VudCBvZiBjcHUgdGltZSBpbiBzZWNvbmRzKTI2Ljk3IEUgRjE8YWQ3NT4xNDQgNTU2LjggUQotRjAoVGhlIG1heGltdW0gbnVtYmVyIG9mIHByb2Nlc3NlcyBhKTI0Ljc0IEUgLS4yNSh2YSktLjIgRwotKGlsYWJsZSB0byBhIHNpbmdsZSB1c2VyKS4yNSBFIEYxPGFkNzY+MTQ0IDU2OC44IFEgRjAKLShUaGUgbWF4aW11bSBhbW91bnQgb2YgdmlydHVhbCBtZW1vcnkgYSkyNS4zIEUgLS4yNSh2YSktLjIgRwotKGlsYWJsZSB0byB0aGUgc2hlbGwpLjI1IEUgRjE8YWQ3OD4xNDQgNTgwLjggUSBGMAotKFRoZSBtYXhpbXVtIG51bWJlciBvZiBcMjE0bGUgbG9ja3MpMjUuMyBFIEYxPGFkNTQ+MTQ0IDU5Mi44IFEgRjAKLShUaGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcykyMy42MyBFKElmKTE0NCA2MDkuNiBRIEYyKGxpbWl0KTIuOTMzIEUKLUYwIC4zNDMoaXMgZ2kpMy41MjMgRiAtLjE1KHZlKS0uMjUgRyAuMzQzKG4sIGl0IGlzIHRoZSBuZSkuMTUgRiAyLjg0MwotKHd2KS0uMjUgRyAuMzQzKGFsdWUgb2YgdGhlIHNwZWNpXDIxNGVkIHJlc291cmNlIFwodGhlKS0zLjA5MyBGIEYxPGFkNjE+Ci0yLjg0MyBFIEYwIC4zNDMob3B0aW9uIGlzIGRpc3BsYXkgb25seVwpLikyLjg0MyBGIC4zNDMoSWYgbm8pNS4zNDMgRgotLjE3NihvcHRpb24gaXMgZ2kpMTQ0IDYyMS42IFIgLS4xNSh2ZSktLjI1IEcgLjE3NihuLCB0aGVuKS4xNSBGIEYxPGFkNjY+Ci0yLjY3NiBFIEYwIC4xNzUoaXMgYXNzdW1lZC4pMi42NzYgRiAtMS4xMShWYSk1LjE3NSBHIC4xNzUKLShsdWVzIGFyZSBpbiAxMDI0LWJ5dGUgaW5jcmVtZW50cywgZSkxLjExIEYgLjE3NSh4Y2VwdCBmb3IpLS4xNSBGIEYxCi08YWQ3ND4yLjY3NSBFIEYwIDIuNjc1KCx3KUMgLjE3NShoaWNoIGlzIGluKS0yLjY3NSBGKHNlY29uZHMsKTE0NCA2MzMuNgotUSBGMTxhZDcwPjIuNTE1IEUgRjAgMi41MTUoLHcpQyAuMDE1Ci0oaGljaCBpcyBpbiB1bml0cyBvZiA1MTItYnl0ZSBibG9ja3MsIGFuZCktMi41MTUgRiBGMTxhZDU0PjIuNTE2IEUgRjAoLCkKLUEgRjE8YWQ2Mj4yLjUxNiBFIEYwKCwpQSBGMTxhZDZlPjIuNTE2IEUgRjAgMi41MTYoLGEpQyhuZCktMi41MTYgRSBGMQotPGFkNzU+Mi41MTYgRSBGMCAyLjUxNigsdylDIC4wMTYoaGljaCBhcmUgdW5zY2FsZWQgdiktMi41MTYgRihhbC0pLS4yNSBFCi0zLjc4OCh1ZXMuIFRoZSkxNDQgNjQ1LjYgUiAxLjI4NyhyZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGluKTMuNzg3IEYKLS0uMjUodmEpLS40IEcgMS4yODcobGlkIG9wdGlvbiBvciBhcikuMjUgRiAxLjI4NwotKGd1bWVudCBpcyBzdXBwbGllZCwgb3IgYW4gZXJyb3Igb2NjdXJzKS0uMTggRih3aGlsZSBzZXR0aW5nIGEgbmUpMTQ0Ci02NTcuNiBRIDIuNSh3bCktLjI1IEcoaW1pdC4pLTIuNSBFIEYxKHVtYXNrKTEwOCA2NzQuNCBRIEYwKFspMi41IEUgRjEKLTxhZDcwPkEgRjAgMi41KF1bKUMgRjE8YWQ1Mz4tMi41IEUgRjAgMi41KF1bKUMgRjIobW9kZSktMi41IEUgRjAoXSlBIC4yCi0oVGhlIHVzZXIgXDIxNGxlLWNyZWF0aW9uIG1hc2sgaXMgc2V0IHRvKTE0NCA2ODYuNCBSIEYyKG1vZGUpMi43IEUgRjAKLTUuMiguSSkuMTggRyhmKS01LjIgRSBGMihtb2RlKTMuMDggRSBGMChiZSkyLjg4IEUgLjIKLShnaW5zIHdpdGggYSBkaWdpdCwgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gb2N0YWwpLS4xNSBGIC4wNjYobnVtYmVyOyBvXAotdGhlcndpc2UgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBzeW1ib2xpYyBtb2RlIG1hc2sgc2ltaWxhciB0byB0aGF0IGFjY2VcCi1wdGVkIGJ5KTE0NCA2OTguNCBSIEYyIC0uMTUoY2gpMi41NjYgRyhtb2QpLjE1IEUgRjAoXCgxXCkuKS43NyBFKElmKTE0NAotNzEwLjQgUSBGMihtb2RlKTMuMjYyIEUgRjAgLjM4MihpcyBvbWl0dGVkLCB0aGUgY3VycmVudCB2KTMuMDYyIEYgLjM4MgotKGFsdWUgb2YgdGhlIG1hc2sgaXMgcHJpbnRlZC4pLS4yNSBGKFRoZSk1LjM4MiBFIEYxPGFkNTM+Mi44ODIgRSBGMCAuMzgyCi0ob3B0aW9uIGNhdXNlcyB0aGUgbWFzayB0byBiZSkyLjg4MiBGIC41NDcKLShwcmludGVkIGluIHN5bWJvbGljIGZvcm07IHRoZSBkZWYpMTQ0IDcyMi40IFIgLjU0NwotKGF1bHQgb3V0cHV0IGlzIGFuIG9jdGFsIG51bWJlciktLjEgRiA1LjU0NyguSSktLjU1IEcgMy4wNDcoZnQpLTUuNTQ3IEcKLShoZSktMy4wNDcgRSBGMTxhZDcwPjMuMDQ3IEUgRjAgLjU0NyhvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCkzLjA0NyBGCitDIC43NDEoaGljaCBzdGFuZCBmb3IgdGhlIGN1cnJlbnQgaGFyZCBsaW1pdCwgdGhlIGN1cnJlbnQpLTMuMjQxIEYKIChHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDIwKTE5OC43MjUgRSAwIENnIEVQCiAlJVBhZ2U6IDIxIDIxCiAlJUJlZ2luUGFnZVNldHVwCiBCUAogJSVFbmRQYWdlU2V0dXAKIC9GMCAxMC9UaW1lcy1Sb21hbkAwIFNGIC0uMzUoQkEpNzIgNDggUyhTSF9CKS4zNSBFKFVJTCktLjEgRSAyOTAuNDgKLShUSU5TXCgxXCkgQiktLjkyIEYoQVNIX0IpLS4zNSBFKFVJTCktLjEgRShUSU5TXCgxXCkpLS45MiBFL0YxIDEwCi0vVGltZXMtSXRhbGljQDAgU0YobW9kZSkxNDQuMzggODQgUSBGMCAuNTUxCisoVElOU1woMVwpIEIpLS45MiBGKEFTSF9CKS0uMzUgRShVSUwpLS4xIEUoVElOU1woMVwpKS0uOTIgRSAuNzgKKyhzb2Z0IGxpbWl0LCBhbmQgbm8gbGltaXQsIHJlc3BlY3RpKTE0NCA4NCBSIC0uMTUodmUpLS4yNSBHKGx5KS4xNSBFCis1Ljc4KC5JKS0uNjUgRyhmKS01Ljc4IEUvRjEgMTAvVGltZXMtSXRhbGljQDAgU0YobGltaXQpMy4zNyBFIEYwIC43OAorKGlzIG9taXR0ZWQsIHRoZSBjdXJyZW50IHYpMy45NiBGIC43OChhbHVlIG9mIHRoZSBzb2Z0IGxpbWl0IG9mIHRoZSktLjI1CitGIC40OTkocmVzb3VyY2UgaXMgcHJpbnRlZCwgdW5sZXNzIHRoZSkxNDQgOTYgUi9GMiAxMC9UaW1lcy1Cb2xkQDAgU0YKKzxhZDQ4PjIuOTk5IEUgRjAgLjQ5OShvcHRpb24gaXMgZ2kpMi45OTkgRiAtLjE1KHZlKS0uMjUgRyAyLjk5OShuLiBXaGVuKQorLjE1IEYgLjQ5OChtb3JlIHRoYW4gb25lIHJlc291cmNlIGlzIHNwZWNpXDIxNGVkLCB0aGUpMi45OTkgRgorKGxpbWl0IG5hbWUgYW5kIHVuaXQgYXJlIHByaW50ZWQgYmVmb3JlIHRoZSB2KTE0NCAxMDggUSAyLjUoYWx1ZS4gT3RoZXIpCistLjI1IEYob3B0aW9ucyBhcmUgaW50ZXJwcmV0ZWQgYXMgZm9sbG8pMi41IEUod3M6KS0uMjUgRSBGMjxhZDYxPjE0NCAxMjAKK1EgRjAoQWxsIGN1cnJlbnQgbGltaXRzIGFyZSByZXBvcnRlZCkyNS4zIEUgRjI8YWQ2Mj4xNDQgMTMyIFEgRjAKKyhUaGUgbWF4aW11bSBzb2NrKTI0Ljc0IEUoZXQgYiktLjEgRSh1ZiktLjIgRShmZXIgc2l6ZSktLjI1IEUgRjI8YWQ2Mz4KKzE0NCAxNDQgUSBGMChUaGUgbWF4aW11bSBzaXplIG9mIGNvcmUgXDIxNGxlcyBjcmVhdGVkKTI1Ljg2IEUgRjI8YWQ2ND4KKzE0NCAxNTYgUSBGMChUaGUgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcycpMjQuNzQgRSAyLjUoc2QpLS41NSBHCisoYXRhIHNlKS0yLjUgRShnbWVudCktLjE1IEUgRjI8YWQ2NT4xNDQgMTY4IFEgRjAKKyhUaGUgbWF4aW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IFwoIm5pY2UiXCkpMjUuODYgRSBGMjxhZDY2PjE0NCAxODAgUSBGMAorKFRoZSBtYXhpbXVtIHNpemUgb2YgXDIxNGxlcyB3cml0dGVuIGJ5IHRoZSBzaGVsbCBhbmQgaXRzIGNoaWxkcmVuKTI2Ljk3CitFIEYyPGFkNjk+MTQ0IDE5MiBRIEYwKFRoZSBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMpMjcuNTIgRSBGMgorPGFkNmM+MTQ0IDIwNCBRIEYwKFRoZSBtYXhpbXVtIHNpemUgdGhhdCBtYXkgYmUgbG9jaykyNy41MiBFCisoZWQgaW50byBtZW1vcnkpLS4xIEUgRjI8YWQ2ZD4xNDQgMjE2IFEgRjAKKyhUaGUgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZSBcKG1hbikyMS45NyBFIDIuNSh5cyktLjE1IEcKKyh5c3RlbXMgZG8gbm90IGhvbm9yIHRoaXMgbGltaXRcKSktMi41IEUgRjI8YWQ2ZT4xNDQgMjI4IFEgRjAgLjc5MShUaGUgXAorbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBcMjE0bGUgZGVzY3JpcHRvcnMgXChtb3N0IHN5c3RlbXMgZG8gbm90IGFsbG8pCisyNC43NCBGIDMuMjkxKHd0KS0uMjUgRyAuNzkxKGhpcyB2KS0zLjI5MSBGIC43OTEoYWx1ZSB0byktLjI1IEYKKyhiZSBzZXRcKSkxODAgMjQwIFEgRjI8YWQ3MD4xNDQgMjUyIFEgRjAKKyhUaGUgcGlwZSBzaXplIGluIDUxMi1ieXRlIGJsb2NrcyBcKHRoaXMgbWF5IG5vdCBiZSBzZXRcKSkyNC43NCBFIEYyCis8YWQ3MT4xNDQgMjY0IFEgRjAoVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzKQorMjQuNzQgRSBGMjxhZDcyPjE0NCAyNzYgUSBGMChUaGUgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eSkKKzI1Ljg2IEUgRjI8YWQ3Mz4xNDQgMjg4IFEgRjAoVGhlIG1heGltdW0gc3RhY2sgc2l6ZSkyNi40MSBFIEYyPGFkNzQ+MTQ0CiszMDAgUSBGMChUaGUgbWF4aW11bSBhbW91bnQgb2YgY3B1IHRpbWUgaW4gc2Vjb25kcykyNi45NyBFIEYyPGFkNzU+MTQ0CiszMTIgUSBGMChUaGUgbWF4aW11bSBudW1iZXIgb2YgcHJvY2Vzc2VzIGEpMjQuNzQgRSAtLjI1KHZhKS0uMiBHCisoaWxhYmxlIHRvIGEgc2luZ2xlIHVzZXIpLjI1IEUgRjI8YWQ3Nj4xNDQgMzI0IFEgRjAgLjQ3CisoVGhlIG1heGltdW0gYW1vdW50IG9mIHZpcnR1YWwgbWVtb3J5IGEpMjUuMyBGIC0uMjUodmEpLS4yIEcgLjQ3CisoaWxhYmxlIHRvIHRoZSBzaGVsbCBhbmQsIG9uIHNvbWUgc3lzdGVtcywgdG8pLjI1IEYoaXRzIGNoaWxkcmVuKTE4MCAzMzYKK1EgRjI8YWQ3OD4xNDQgMzQ4IFEgRjAoVGhlIG1heGltdW0gbnVtYmVyIG9mIFwyMTRsZSBsb2NrcykyNS4zIEUgRjIKKzxhZDU0PjE0NCAzNjAgUSBGMChUaGUgbWF4aW11bSBudW1iZXIgb2YgdGhyZWFkcykyMy42MyBFKElmKTE0NCAzNzYuOCBRCitGMShsaW1pdCkyLjkzMyBFIEYwIC4zNDMoaXMgZ2kpMy41MjMgRiAtLjE1KHZlKS0uMjUgRyAuMzQzCisobiwgaXQgaXMgdGhlIG5lKS4xNSBGIDIuODQzKHd2KS0uMjUgRyAuMzQzCisoYWx1ZSBvZiB0aGUgc3BlY2lcMjE0ZWQgcmVzb3VyY2UgXCh0aGUpLTMuMDkzIEYgRjI8YWQ2MT4yLjg0MyBFIEYwIC4zNDMKKyhvcHRpb24gaXMgZGlzcGxheSBvbmx5XCkuKTIuODQzIEYgLjM0MyhJZiBubyk1LjM0MyBGIC4xNzYob3B0aW9uIGlzIGdpKQorMTQ0IDM4OC44IFIgLS4xNSh2ZSktLjI1IEcgLjE3NihuLCB0aGVuKS4xNSBGIEYyPGFkNjY+Mi42NzYgRSBGMCAuMTc1CisoaXMgYXNzdW1lZC4pMi42NzYgRiAtMS4xMShWYSk1LjE3NSBHIC4xNzUKKyhsdWVzIGFyZSBpbiAxMDI0LWJ5dGUgaW5jcmVtZW50cywgZSkxLjExIEYgLjE3NSh4Y2VwdCBmb3IpLS4xNSBGIEYyCis8YWQ3ND4yLjY3NSBFIEYwIDIuNjc1KCx3KUMgLjE3NShoaWNoIGlzIGluKS0yLjY3NSBGKHNlY29uZHMsKTE0NCA0MDAuOAorUSBGMjxhZDcwPjIuNTE1IEUgRjAgMi41MTUoLHcpQyAuMDE1CisoaGljaCBpcyBpbiB1bml0cyBvZiA1MTItYnl0ZSBibG9ja3MsIGFuZCktMi41MTUgRiBGMjxhZDU0PjIuNTE2IEUgRjAoLCkKK0EgRjI8YWQ2Mj4yLjUxNiBFIEYwKCwpQSBGMjxhZDZlPjIuNTE2IEUgRjAgMi41MTYoLGEpQyhuZCktMi41MTYgRSBGMgorPGFkNzU+Mi41MTYgRSBGMCAyLjUxNigsdylDIC4wMTYoaGljaCBhcmUgdW5zY2FsZWQgdiktMi41MTYgRihhbC0pLS4yNSBFCiszLjc4OCh1ZXMuIFRoZSkxNDQgNDEyLjggUiAxLjI4NyhyZXR1cm4gc3RhdHVzIGlzIDAgdW5sZXNzIGFuIGluKTMuNzg3IEYKKy0uMjUodmEpLS40IEcgMS4yODcobGlkIG9wdGlvbiBvciBhcikuMjUgRiAxLjI4NworKGd1bWVudCBpcyBzdXBwbGllZCwgb3IgYW4gZXJyb3Igb2NjdXJzKS0uMTggRih3aGlsZSBzZXR0aW5nIGEgbmUpMTQ0Cis0MjQuOCBRIDIuNSh3bCktLjI1IEcoaW1pdC4pLTIuNSBFIEYyKHVtYXNrKTEwOCA0NDEuNiBRIEYwKFspMi41IEUgRjIKKzxhZDcwPkEgRjAgMi41KF1bKUMgRjI8YWQ1Mz4tMi41IEUgRjAgMi41KF1bKUMgRjEobW9kZSktMi41IEUgRjAoXSlBIC4yCisoVGhlIHVzZXIgXDIxNGxlLWNyZWF0aW9uIG1hc2sgaXMgc2V0IHRvKTE0NCA0NTMuNiBSIEYxKG1vZGUpMi43IEUgRjAKKzUuMiguSSkuMTggRyhmKS01LjIgRSBGMShtb2RlKTMuMDggRSBGMChiZSkyLjg4IEUgLjIKKyhnaW5zIHdpdGggYSBkaWdpdCwgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gb2N0YWwpLS4xNSBGIC4wNjYobnVtYmVyOyBvXAordGhlcndpc2UgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYSBzeW1ib2xpYyBtb2RlIG1hc2sgc2ltaWxhciB0byB0aGF0IGFjY2VcCitwdGVkIGJ5KTE0NCA0NjUuNiBSIEYxIC0uMTUoY2gpMi41NjYgRyhtb2QpLjE1IEUgRjAoXCgxXCkuKS43NyBFKElmKTE0NAorNDc3LjYgUSBGMShtb2RlKTMuMjYyIEUgRjAgLjM4MihpcyBvbWl0dGVkLCB0aGUgY3VycmVudCB2KTMuMDYyIEYgLjM4MgorKGFsdWUgb2YgdGhlIG1hc2sgaXMgcHJpbnRlZC4pLS4yNSBGKFRoZSk1LjM4MiBFIEYyPGFkNTM+Mi44ODIgRSBGMCAuMzgyCisob3B0aW9uIGNhdXNlcyB0aGUgbWFzayB0byBiZSkyLjg4MiBGIC41NDcKKyhwcmludGVkIGluIHN5bWJvbGljIGZvcm07IHRoZSBkZWYpMTQ0IDQ4OS42IFIgLjU0NworKGF1bHQgb3V0cHV0IGlzIGFuIG9jdGFsIG51bWJlciktLjEgRiA1LjU0NyguSSktLjU1IEcgMy4wNDcoZnQpLTUuNTQ3IEcKKyhoZSktMy4wNDcgRSBGMjxhZDcwPjMuMDQ3IEUgRjAgLjU0NyhvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCkzLjA0NyBGIEYxCisobW9kZSkxNDQuMzggNTAxLjYgUSBGMCAuNTUxCiAoaXMgb21pdHRlZCwgdGhlIG91dHB1dCBpcyBpbiBhIGZvcm0gdGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0LikzLjIzMQotRiAuNTUyKFRoZSByZXR1cm4gc3RhdHVzIGlzIDAgaWYgdGhlKTUuNTUyIEYobW9kZSB3KTE0NCA5NiBRCitGIC41NTIoVGhlIHJldHVybiBzdGF0dXMgaXMgMCBpZiB0aGUpNS41NTIgRihtb2RlIHcpMTQ0IDUxMy42IFEKIChhcyBzdWNjZXNzZnVsbHkgY2hhbmdlZCBvciBpZiBubyktLjEgRSBGMShtb2RlKTIuNSBFIEYwKGFyKTIuNSBFCi0oZ3VtZW50IHcpLS4xOCBFKGFzIHN1cHBsaWVkLCBhbmQgZiktLjEgRShhbHNlIG90aGVyd2lzZS4pLS4xIEUvRjIgMTAKLS9UaW1lcy1Cb2xkQDAgU0YodW5hbGlhcykxMDggMTEyLjggUSBGMDw1YmFkPjIuNSBFIEYyKGEpQSBGMCAyLjUoXVspQyBGMQotKG5hbWUpLTIuNSBFIEYwKC4uLl0pMi41IEUoUmVtbykxNDQgMTI0LjggUSAxLjk1NSAtLjE1KHZlIGUpLS4xNSBIKGFjaCkKLS4xNSBFIEYxKG5hbWUpNC4xNTUgRSBGMCAxLjY1NShmcm9tIHRoZSBsaXN0IG9mIGRlXDIxNG5lZCBhbGlhc2VzLik0LjE1NQotRihJZik2LjY1NSBFIEYyPGFkNjE+NC4xNTUgRSBGMCAxLjY1NQotKGlzIHN1cHBsaWVkLCBhbGwgYWxpYXMgZGVcMjE0bml0aW9ucyBhcmUpNC4xNTUgRihyZW1vKTE0NCAxMzYuOCBRIC0uMTUKLSh2ZSktLjE1IEcgMi41KGQuIFRoZSkuMTUgRihyZXR1cm4gdikyLjUgRQorKGd1bWVudCB3KS0uMTggRShhcyBzdXBwbGllZCwgYW5kIGYpLS4xIEUoYWxzZSBvdGhlcndpc2UuKS0uMSBFIEYyCisodW5hbGlhcykxMDggNTMwLjQgUSBGMDw1YmFkPjIuNSBFIEYyKGEpQSBGMCAyLjUoXVspQyBGMShuYW1lKS0yLjUgRSBGMAorKC4uLl0pMi41IEUoUmVtbykxNDQgNTQyLjQgUSAxLjk1NSAtLjE1KHZlIGUpLS4xNSBIKGFjaCkuMTUgRSBGMShuYW1lKQorNC4xNTUgRSBGMCAxLjY1NShmcm9tIHRoZSBsaXN0IG9mIGRlXDIxNG5lZCBhbGlhc2VzLik0LjE1NSBGKElmKTYuNjU1IEUKK0YyPGFkNjE+NC4xNTUgRSBGMCAxLjY1NShpcyBzdXBwbGllZCwgYWxsIGFsaWFzIGRlXDIxNG5pdGlvbnMgYXJlKTQuMTU1CitGKHJlbW8pMTQ0IDU1NC40IFEgLS4xNSh2ZSktLjE1IEcgMi41KGQuIFRoZSkuMTUgRihyZXR1cm4gdikyLjUgRQogKGFsdWUgaXMgdHJ1ZSB1bmxlc3MgYSBzdXBwbGllZCktLjI1IEUgRjEobmFtZSkyLjg2IEUgRjAKLShpcyBub3QgYSBkZVwyMTRuZWQgYWxpYXMuKTIuNjggRSBGMih1bnNldCkxMDggMTUzLjYgUSBGMDw1YmFkPjIuNSBFIEYyCi0oZnYpQSBGMCAyLjUoXVspQyBGMShuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFIC0uMTUoRm8pMTQ0IDE2NS42IFMgMy4xMDYKKyhpcyBub3QgYSBkZVwyMTRuZWQgYWxpYXMuKTIuNjggRSBGMih1bnNldCkxMDggNTcxLjIgUSBGMDw1YmFkPjIuNSBFIEYyCisoZnYpQSBGMCAyLjUoXVspQyBGMShuYW1lKS0yLjUgRSBGMCguLi5dKTIuNSBFIC0uMTUoRm8pMTQ0IDU4My4yIFMgMy4xMDYKIChyZSkuMTUgRyhhY2gpLTMuMTA2IEUgRjEobmFtZSkzLjEwNiBFIEYwIDMuMTA2KCxyKS4xOCBHKGVtbyktMy4xMDYgRQogLjkwNiAtLjE1KHZlIHQpLS4xNSBIIC42MDYoaGUgY29ycmVzcG9uZGluZyB2KS4xNSBGIC42MDcKIChhcmlhYmxlIG9yIGZ1bmN0aW9uLiktLjI1IEYgLjYwNyhJZiBubyBvcHRpb25zIGFyZSBzdXBwbGllZCwgb3IgdGhlKQotNS42MDcgRiBGMjxhZDc2PjE0NCAxNzcuNiBRIEYwIC4zMDUob3B0aW9uIGlzIGdpKTIuODA1IEYgLS4xNSh2ZSktLjI1IEcKKzUuNjA3IEYgRjI8YWQ3Nj4xNDQgNTk1LjIgUSBGMCAuMzA1KG9wdGlvbiBpcyBnaSkyLjgwNSBGIC0uMTUodmUpLS4yNSBHCiAuMzA1KG4sIGVhY2gpLjE1IEYgRjEobmFtZSkzLjE2NSBFIEYwIC4zMDUocmVmZXJzIHRvIGEgc2hlbGwgdikyLjk4NSBGCiAyLjgwNShhcmlhYmxlLiBSZWFkLW9ubHkpLS4yNSBGIC0uMjUodmEpMi44MDUgRyAuMzA0Ci0ocmlhYmxlcyBtYXkgbm90IGJlIHVuc2V0LikuMjUgRihJZik1LjMwNCBFIEYyPGFkNjY+MTQ0IDE4OS42IFEgRjAgLjQ1OQorKHJpYWJsZXMgbWF5IG5vdCBiZSB1bnNldC4pLjI1IEYoSWYpNS4zMDQgRSBGMjxhZDY2PjE0NCA2MDcuMiBRIEYwIC40NTkKIChpcyBzcGVjaVwyMTRlZCwgZWFjaCkyLjk1OSBGIEYxKG5hbWUpMy4zMTkgRSBGMCAuNDU5CiAocmVmZXJzIHRvIGEgc2hlbGwgZnVuY3Rpb24sIGFuZCB0aGUgZnVuY3Rpb24gZGVcMjE0bml0aW9uIGlzIHJlbW8pMy4xMzkKLUYgLS4xNSh2ZSktLjE1IEcgMi45NihkLiBFYWNoKS4xNSBGIC45MDModW5zZXQgdikxNDQgMjAxLjYgUiAuOTAzCitGIC0uMTUodmUpLS4xNSBHIDIuOTYoZC4gRWFjaCkuMTUgRiAuOTAzKHVuc2V0IHYpMTQ0IDYxOS4yIFIgLjkwMwogKGFyaWFibGUgb3IgZnVuY3Rpb24gaXMgcmVtbyktLjI1IEYgLS4xNSh2ZSktLjE1IEcgMy40MDIoZGYpLjE1IEcgLjkwMgogKHJvbSB0aGUgZW4pLTMuNDAyIEYgLjkwMih2aXJvbm1lbnQgcGFzc2VkIHRvIHN1YnNlcXVlbnQgY29tbWFuZHMuKS0uNCBGCi0oSWYpNS45MDIgRShhbikxNDQgMjEzLjYgUSA2LjkxNSh5byktLjE1IEcoZiktNi45MTUgRS9GMyA5L1RpbWVzLUJvbGRAMAorKElmKTUuOTAyIEUoYW4pMTQ0IDYzMS4yIFEgNi45MTUoeW8pLS4xNSBHKGYpLTYuOTE1IEUvRjMgOS9UaW1lcy1Cb2xkQDAKIFNGKENPTVBfVyk2LjkxNSBFKE9SREJSRUFLUyktLjA5IEUvRjQgOS9UaW1lcy1Sb21hbkAwIFNGKCwpQSBGMyhSQU5ET00pCiA2LjY2NSBFIEY0KCwpQSBGMyhTRUNPTkRTKTYuNjY1IEUgRjQoLClBIEYzKExJTkVOTyk2LjY2NSBFIEY0KCwpQSBGMwogKEhJU1RDTUQpNi42NjYgRSBGNCgsKUEgRjMoRlVOQ04pNi42NjYgRShBTUUpLS4xOCBFIEY0KCwpQSBGMyhHUikxNDQKLTIyNS42IFEoT1VQUyktLjI3IEUgRjQoLClBIEYwKG9yKTIuNTIzIEUgRjMoRElSU1QpMi43NzMgRSAtLjQ5NShBQyktLjgxCis2NDMuMiBRKE9VUFMpLS4yNyBFIEY0KCwpQSBGMChvcikyLjUyMyBFIEYzKERJUlNUKTIuNzczIEUgLS40OTUoQUMpLS44MQogRyhLKS40OTUgRSBGMCAuMjcyKGFyZSB1bnNldCwgdGhlKTIuNTIyIEYgMi43NzIoeWwpLS4xNSBHIC4yNzIKIChvc2UgdGhlaXIgc3BlY2lhbCBwcm9wZXJ0aWVzLCBlKS0yLjc3MiBGIC0uMTUodmUpLS4yNSBHIDIuNzcyKG5pKS4xNSBHCiAyLjc3MihmdCktMi43NzIgRyhoZSktMi43NzIgRSAyLjc3Mih5YSktLjE1IEcgLjI3MihyZSBzdWJzZXF1ZW50bHkpCi0tMi43NzIgRiAyLjUocmVzZXQuIFRoZSkxNDQgMjM3LjYgUiAtLjE1KGV4KTIuNSBHCistMi43NzIgRiAyLjUocmVzZXQuIFRoZSkxNDQgNjU1LjIgUiAtLjE1KGV4KTIuNSBHCiAoaXQgc3RhdHVzIGlzIHRydWUgdW5sZXNzIGEpLjE1IEUgRjEobmFtZSkyLjg2IEUgRjAoaXMgcmVhZG9ubHkpMi42OCBFCi0oLiktLjY1IEUgRjIod2FpdCkxMDggMjU0LjQgUSBGMChbKTIuNSBFIEYxIDIuNShuLilDKC4uKS0yLjUgRSBGMChdKUEKLS0uOChXYSkxNDQgMjY2LjQgUyAuMjg4CisoLiktLjY1IEUgRjIod2FpdCkxMDggNjcyIFEgRjAoWykyLjUgRSBGMSAyLjUobi4pQyguLiktMi41IEUgRjAoXSlBIC0uOAorKFdhKTE0NCA2ODQgUyAuMjg4CiAoaXQgZm9yIGVhY2ggc3BlY2lcMjE0ZWQgcHJvY2VzcyBhbmQgcmV0dXJuIGl0cyB0ZXJtaW5hdGlvbiBzdGF0dXMuKS44IEYKIChFYWNoKTUuMjg4IEUgRjEobikzLjE0OCBFIEYwIC4yODgobWF5IGJlIGEgcHJvY2VzcyBJRCBvciBhKTMuMDI4IEYgLjcyMgotKGpvYiBzcGVjaVwyMTRjYXRpb247IGlmIGEgam9iIHNwZWMgaXMgZ2kpMTQ0IDI3OC40IFIgLS4xNSh2ZSktLjI1IEcKLS43MjIobiwgYWxsIHByb2Nlc3NlcyBpbiB0aGF0IGpvYicpLjE1IEYgMy4yMjIoc3ApLS41NSBHIC43MjIKLShpcGVsaW5lIGFyZSB3KS0zLjIyMiBGIC43MjIoYWl0ZWQgZm9yKS0uMSBGIDUuNzIyKC5JKS0uNTUgRyhmKS01LjcyMiBFCi1GMShuKTMuNTgyIEUgRjAoaXMpMy40NjIgRSAxLjI2NShub3QgZ2kpMTQ0IDI5MC40IFIgLS4xNSh2ZSktLjI1IEcgMS4yNjUKKyhqb2Igc3BlY2lcMjE0Y2F0aW9uOyBpZiBhIGpvYiBzcGVjIGlzIGdpKTE0NCA2OTYgUiAtLjE1KHZlKS0uMjUgRyAuNzIyCisobiwgYWxsIHByb2Nlc3NlcyBpbiB0aGF0IGpvYicpLjE1IEYgMy4yMjIoc3ApLS41NSBHIC43MjIoaXBlbGluZSBhcmUgdykKKy0zLjIyMiBGIC43MjIoYWl0ZWQgZm9yKS0uMSBGIDUuNzIyKC5JKS0uNTUgRyhmKS01LjcyMiBFIEYxKG4pMy41ODIgRSBGMAorKGlzKTMuNDYyIEUgMS4yNjUobm90IGdpKTE0NCA3MDggUiAtLjE1KHZlKS0uMjUgRyAxLjI2NQogKG4sIGFsbCBjdXJyZW50bHkgYWN0aSkuMTUgRiAxLjU2NSAtLjE1KHZlIGMpLS4yNSBIIDEuMjY1CiAoaGlsZCBwcm9jZXNzZXMgYXJlIHcpLjE1IEYgMS4yNjUoYWl0ZWQgZm9yKS0uMSBGIDMuNzY1KCxhKS0uNCBHIDEuMjY2CiAobmQgdGhlIHJldHVybiBzdGF0dXMgaXMgemVyby4pLTMuNzY1IEYoSWYpNi4yNjYgRSBGMShuKTQuMTI2IEUgRjAgLjQ1NwotKHNwZWNpXDIxNGVzIGEgbm9uLWUpMTQ0IDMwMi40IFIgLjQ1NworKHNwZWNpXDIxNGVzIGEgbm9uLWUpMTQ0IDcyMCBSIC40NTcKICh4aXN0ZW50IHByb2Nlc3Mgb3Igam9iLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyAxMjcuKS0uMTUgRiAuNDU3Ci0oT3RoZXJ3aXNlLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUpNS40NTcgRiAtLjE1KGV4KTE0NCAzMTQuNCBTCi0oaXQgc3RhdHVzIG9mIHRoZSBsYXN0IHByb2Nlc3Mgb3Igam9iIHcpLjE1IEUoYWl0ZWQgZm9yKS0uMSBFKC4pLS41NSBFCi0vRjUgMTAuOTUvVGltZXMtQm9sZEAwIFNGKFNFRSBBTFNPKTcyIDMzMS4yIFEgRjAoYmFzaFwoMVwpLCBzaFwoMVwpKTEwOAotMzQzLjIgUShHTlUgQmFzaC00LjApNzIgNzY4IFEoMjAwNCBBcHIgMjApMTQ4LjczNSBFKDIxKTE5OC43MjUgRSAwIENnIEVQCisoT3RoZXJ3aXNlLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUpNS40NTcgRihHTlUgQmFzaC00LjApNzIgNzY4IFEKKygyMDA0IEFwciAyMCkxNDguNzM1IEUoMjEpMTk4LjcyNSBFIDAgQ2cgRVAKKyUlUGFnZTogMjIgMjIKKyUlQmVnaW5QYWdlU2V0dXAKK0JQCislJUVuZFBhZ2VTZXR1cAorL0YwIDEwL1RpbWVzLVJvbWFuQDAgU0YgLS4zNShCQSk3MiA0OCBTKFNIX0IpLjM1IEUoVUlMKS0uMSBFIDI5MC40OAorKFRJTlNcKDFcKSBCKS0uOTIgRihBU0hfQiktLjM1IEUoVUlMKS0uMSBFKFRJTlNcKDFcKSktLjkyIEUgLS4xNShleCkxNDQKKzg0IFMoaXQgc3RhdHVzIG9mIHRoZSBsYXN0IHByb2Nlc3Mgb3Igam9iIHcpLjE1IEUoYWl0ZWQgZm9yKS0uMSBFKC4pLS41NQorRS9GMSAxMC45NS9UaW1lcy1Cb2xkQDAgU0YoU0VFIEFMU08pNzIgMTAwLjggUSBGMChiYXNoXCgxXCksIHNoXCgxXCkpMTA4CisxMTIuOCBRKEdOVSBCYXNoLTQuMCk3MiA3NjggUSgyMDA0IEFwciAyMCkxNDguNzM1IEUoMjIpMTk4LjcyNSBFIDAgQ2cgRVAKICUlVHJhaWxlcgogZW5kCiAlJUVPRgpkaWZmIC0tZ2l0IGEvZG9jL3JiYXNoLjAgYi9kb2MvcmJhc2guMAppbmRleCBlYjA2MjIwLi5lYmQ0MTRjIDEwMDY0NAotLS0gYS9kb2MvcmJhc2guMAorKysgYi9kb2MvcmJhc2guMApAQCAtMjEsNyArMjEsNyBAQAogICAgICAgICsIbyAgICAgIHNwZWNpZnlpbmcgYSBmaWxlIG5hbWUgY29udGFpbmluZyBhIC8ILyBhcyBhbiBhcmd1bWVudCAgdG8gIHRoZSAgLgguCiAgICAgICAgICAgICAgIGJ1aWx0aW4gY29tbWFuZAogCi0gICAgICAgKwhvICAgICAgU3BlY2lmeWluZyAgYSAgZmlsZW5hbWUgY29udGFpbmluZyBhIHNsYXNoIGFzIGFuIGFyZ3VtZW50IHRvIHRoZQorICAgICAgICsIbyAgICAgIHNwZWNpZnlpbmcgIGEgIGZpbGVuYW1lIGNvbnRhaW5pbmcgYSBzbGFzaCBhcyBhbiBhcmd1bWVudCB0byB0aGUKICAgICAgICAgICAgICAgLQgtcAhwIG9wdGlvbiB0byB0aGUgaAhoYQhhcwhzaAhoIGJ1aWx0aW4gY29tbWFuZAogCiAgICAgICAgKwhvICAgICAgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb25zIGZyb20gIHRoZSAgc2hlbGwgIGVudmlyb25tZW50ICBhdApAQCAtMzksNyArMzksNyBAQAogICAgICAgICsIbyAgICAgIGFkZGluZyBvciBkZWxldGluZyBidWlsdGluIGNvbW1hbmRzIHdpdGggdGhlIC0ILWYIZiBhbmQgIC0ILWQIZCAgb3B0aW9ucwogICAgICAgICAgICAgICB0byB0aGUgZQhlbghuYQhhYghibAhsZQhlIGJ1aWx0aW4gY29tbWFuZAogCi0gICAgICAgKwhvICAgICAgVXNpbmcgIHRoZSAgZQhlbghuYQhhYghibAhsZQhlICBidWlsdGluICBjb21tYW5kICB0byAgZW5hYmxlICBkaXNhYmxlZCBzaGVsbAorICAgICAgICsIbyAgICAgIHVzaW5nICB0aGUgIGUIZW4IbmEIYWIIYmwIbGUIZSAgYnVpbHRpbiAgY29tbWFuZCAgdG8gIGVuYWJsZSAgZGlzYWJsZWQgc2hlbGwKICAgICAgICAgICAgICAgYnVpbHRpbnMKIAogICAgICAgICsIbyAgICAgIHNwZWNpZnlpbmcgdGhlIC0ILXAIcCBvcHRpb24gdG8gdGhlIGMIY28Ib20IbW0IbWEIYW4IbmQIZCBidWlsdGluIGNvbW1hbmQKZGlmZiAtLWdpdCBhL2RvYy9yYmFzaC5wcyBiL2RvYy9yYmFzaC5wcwppbmRleCA1MTgwODdkLi5iZTY4YjIwIDEwMDY0NAotLS0gYS9kb2MvcmJhc2gucHMKKysrIGIvZG9jL3JiYXNoLnBzCkBAIC0xLDYgKzEsNiBAQAogJSFQUy1BZG9iZS0zLjAKICUlQ3JlYXRvcjogZ3JvZmYgdmVyc2lvbiAxLjE5LjIKLSUlQ3JlYXRpb25EYXRlOiBXZWQgRGVjIDMwIDEzOjA3OjM3IDIwMDkKKyUlQ3JlYXRpb25EYXRlOiBUdWUgRGVjIDI4IDE0OjMwOjI0IDIwMTAKICUlRG9jdW1lbnROZWVkZWRSZXNvdXJjZXM6IGZvbnQgVGltZXMtUm9tYW4KICUlKyBmb250IFRpbWVzLUJvbGQKICUlRG9jdW1lbnRTdXBwbGllZFJlc291cmNlczogcHJvY3NldCBncm9wcyAxLjE5IDIKQEAgLTI0NywxMCArMjQ3LDEwIEBACiAocGVjaWZ5aW5nIGNvbW1hbmQgbmFtZXMgY29udGFpbmluZyktMzIuNSBFIEYyKC8pMi41IEUgRjAgMzIuNTw4MzczPjEwOAogMjE2IFMocGVjaWZ5aW5nIGEgXDIxNGxlIG5hbWUgY29udGFpbmluZyBhKS0zMi41IEUgRjIoLykyLjUgRSBGMAogKGFzIGFuIGFyKTIuNSBFKGd1bWVudCB0byB0aGUpLS4xOCBFIEYyKC4pMi41IEUgRjAgLS4yKGJ1KTUgRwotKGlsdGluIGNvbW1hbmQpLjIgRSAzMi41PDgzNTM+MTA4IDIzMi44IFMgLjM1MQotKHBlY2lmeWluZyBhIFwyMTRsZW5hbWUgY29udGFpbmluZyBhIHNsYXNoIGFzIGFuIGFyKS0zMi41IEYgLjM1MQotKGd1bWVudCB0byB0aGUpLS4xOCBGIEYyPGFkNzA+Mi44NTEgRSBGMCAuMzUxKG9wdGlvbiB0byB0aGUpMi44NTEgRiBGMgotKGhhc2gpMi44NTEgRSBGMCAtLjIoYnUpMi44NTEgRyAuMzUxKGlsdGluIGNvbS0pLjIgRihtYW5kKTE0NCAyNDQuOCBRCisoaWx0aW4gY29tbWFuZCkuMiBFIDMyLjU8ODM3Mz4xMDggMjMyLjggUyAuNDUKKyhwZWNpZnlpbmcgYSBcMjE0bGVuYW1lIGNvbnRhaW5pbmcgYSBzbGFzaCBhcyBhbiBhciktMzIuNSBGIC40NDkKKyhndW1lbnQgdG8gdGhlKS0uMTggRiBGMjxhZDcwPjIuOTQ5IEUgRjAgLjQ0OShvcHRpb24gdG8gdGhlKTIuOTQ5IEYgRjIKKyhoYXNoKTIuOTQ5IEUgRjAgLS4yKGJ1KTIuOTQ5IEcgLjQ0OShpbHRpbiBjb20tKS4yIEYobWFuZCkxNDQgMjQ0LjggUQogMzIuNTw4MzY5PjEwOCAyNjEuNiBTKG1wb3J0aW5nIGZ1bmN0aW9uIGRlXDIxNG5pdGlvbnMgZnJvbSB0aGUgc2hlbGwgZW4pCiAtMzIuNSBFKHZpcm9ubWVudCBhdCBzdGFydHVwKS0uNCBFIDMyLjU8ODM3MD4xMDggMjc4LjQgUyhhcnNpbmcgdGhlIHYpCiAtMzIuNSBFKGFsdWUgb2YpLS4yNSBFIEYzKFNIRUxMT1BUUykyLjUgRSBGMChmcm9tIHRoZSBzaGVsbCBlbikyLjI1IEUKQEAgLTI2MCw3ICsyNjAsNyBAQAogKGlsdGluIGNvbW1hbmQgdG8gcmVwbGFjZSB0aGUgc2hlbGwgd2l0aCBhbm90aGVyIGNvbW1hbmQpLjIgRSAzMi41PDgzNjE+CiAxMDggMzI4LjggUyhkZGluZyBvciBkZWxldGluZyBiKS0zMi41IEUodWlsdGluIGNvbW1hbmRzIHdpdGggdGhlKS0uMiBFCiBGMjxhZDY2PjIuNSBFIEYwKGFuZCkyLjUgRSBGMjxhZDY0PjIuNSBFIEYwKG9wdGlvbnMgdG8gdGhlKTIuNSBFIEYyCi0oZW5hYmxlKTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBjb21tYW5kKS4yIEUgMzIuNTw4MzU1PjEwOCAzNDUuNiBTCisoZW5hYmxlKTIuNSBFIEYwIC0uMihidSkyLjUgRyhpbHRpbiBjb21tYW5kKS4yIEUgMzIuNTw4Mzc1PjEwOCAzNDUuNiBTCiAoc2luZyB0aGUpLTMyLjUgRSBGMihlbmFibGUpMi41IEUgRjAgLS4yKGJ1KTIuNSBHCiAoaWx0aW4gY29tbWFuZCB0byBlbmFibGUgZGlzYWJsZWQgc2hlbGwgYikuMiBFKHVpbHRpbnMpLS4yIEUgMzIuNTw4MzczPgogMTA4IDM2Mi40IFMocGVjaWZ5aW5nIHRoZSktMzIuNSBFIEYyPGFkNzA+Mi41IEUgRjAob3B0aW9uIHRvIHRoZSkyLjUgRQpkaWZmIC0tZ2l0IGEvZG9jL3ZlcnNpb24udGV4aSBiL2RvYy92ZXJzaW9uLnRleGkKaW5kZXggODBhMjIwOS4uYjZjNDkyZSAxMDA2NDQKLS0tIGEvZG9jL3ZlcnNpb24udGV4aQorKysgYi9kb2MvdmVyc2lvbi50ZXhpCkBAIC0xLDEwICsxLDEwIEBACiBAaWdub3JlCi1Db3B5cmlnaHQgKEMpIDE5ODgtMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK0NvcHlyaWdodCAoQykgMTk4OC0yMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogQGVuZCBpZ25vcmUKIAotQHNldCBMQVNUQ0hBTkdFIFdlZCBEZWMgMjMgMTY6Mjk6NDEgRVNUIDIwMDkKK0BzZXQgTEFTVENIQU5HRSBUdWUgRGVjIDI4IDEzOjQxOjIyIEVTVCAyMDEwCiAKLUBzZXQgRURJVElPTiA0LjEKLUBzZXQgVkVSU0lPTiA0LjEKLUBzZXQgVVBEQVRFRCAyMyBEZWNlbWJlciAyMDA5Ci1Ac2V0IFVQREFURUQtTU9OVEggRGVjZW1iZXIgMjAwOQorQHNldCBFRElUSU9OIDQuMgorQHNldCBWRVJTSU9OIDQuMgorQHNldCBVUERBVEVEIDI4IERlY2VtYmVyIDIwMTAKK0BzZXQgVVBEQVRFRC1NT05USCBEZWNlbWJlciAyMDEwCmRpZmYgLS1naXQgYS9leGFtcGxlcy9zY3JpcHRzL2Jhc2gtaGV4ZHVtcC5zaCBiL2V4YW1wbGVzL3NjcmlwdHMvYmFzaC1oZXhkdW1wLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxMGU1NWMKLS0tIC9kZXYvbnVsbAorKysgYi9leGFtcGxlcy9zY3JpcHRzL2Jhc2gtaGV4ZHVtcC5zaApAQCAtMCwwICsxLDY3IEBACisjRnJvbTogImRlbm5pcyIgPGRlbm5pc0BuZXRzdHJhdGEuY29tPgorI1RvOiA8YmFzaC1tYWludGFpbmVyc0BnbnUub3JnPgorI1N1YmplY3Q6IE5ldyBleGFtcGxlIHNjcmlwdDogYmFzaC1oZXhkdW1wCisjRGF0ZTogTW9uLCA0IEphbiAyMDEwIDIyOjQ4OjE5IC0wNzAwCisjTWVzc2FnZS1JRDogPDZkYmVjNDJkJDY0ZmNkYmQyJDRhMzJjZjJkJEBjb20+CisKKyNJJ3ZlIHdyaXR0ZW4gYSBzY3JpcHQgdGhhdCBmdW5jdGlvbnMgbGlrZSAiaGV4ZHVtcCAtQyIgb3IgImhkIi4gSWYgeW91J2QgCisjbGlrZSB0byBpbmNsdWRlIGl0IGluIGEgZnV0dXJlIGRpc3RyaWJ1dGlvbiBvZiBleGFtcGxlIEJhc2ggc2NyaXB0cywgSSBoYXZlIAorI2luY2x1ZGVkIGl0IGhlcmU6IAorCisjIS9iaW4vYmFzaAorIyBiYXNoLWhleGR1bXAjIHB1cmUgQmFzaCwgbm8gZXh0ZXJuYWxzCisjIGJ5IERlbm5pcyBXaWxsaWFtc29uIC0gMjAxMC0wMS0wNAorIyBpbiByZXNwb25zZSB0byAKK2h0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMjAwMzgwMy9zaG93LWhleGFkZWNpbWFsLW51bWJlcnMtb2YtYS1maWxlCisjIHVzYWdlOiBiYXNoLWhleGR1bXAgZmlsZQorc2F2ZUlGUz0iJElGUyIKK0lGUz0iIiAgICAgICAgICAgICAgICAgICAgICMgZGlzYWJsZXMgaW50ZXJwcmV0YXRpb24gb2YgXHQsIFxuIGFuZCBzcGFjZQorc2F2ZUxBTkc9IiRMQU5HIgorTEFORz1DICAgICAgICAgICAgICAgICAgICAgIyBhbGxvd3MgY2hhcmFjdGVycyA+IDB4N0YKK2J5dGVjb3VudD0wCit2YWxjb3VudD0wCitwcmludGYgIiUwOHggICIgJGJ5dGVjb3VudAord2hpbGUgcmVhZCAgLWQgJycgLXIgLW4gMSBjaGFyICAgICMgLWQgJycgYWxsb3dzIG5ld2xpbmVzLCAtciBhbGxvd3MgXAorZG8KKyAgICgoYnl0ZWNvdW50KyspKQorICAgIyBmb3IgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGFwb3N0cm9waGUgaW4gdGhpcyBwcmludGYgY29tbWFuZCwgc2VlCisgICAjICBodHRwOi8vd3d3Lm9wZW5ncm91cC5vcmcvb25saW5lcHVicy8wMDk2OTUzOTkvdXRpbGl0aWVzL3ByaW50Zi5odG1sCisgICBwcmludGYgLXYgdmFsICIlMDJ4IiAiJyRjaGFyIgorICAgZWNobyAtbiAiJHZhbCAiCisgICAoKHZhbGNvdW50KyspKQorICAgaWYgW1sgIiR2YWwiIDwgMjAgfHwgIiR2YWwiID4gN2UgXV0KKyAgIHRoZW4KKyAgICAgICBzdHJpbmcrPSIuIiAgICAgICAgICAgICAgICAgICMgc2hvdyB1bnByaW50YWJsZSBjaGFyYWN0ZXJzIGFzIGEgZG90CisgICBlbHNlCisgICAgICAgc3RyaW5nKz0kY2hhcgorICAgZmkKKyAgIGlmICgoIGJ5dGVjb3VudCAlIDggPT0gMCApKSAgICAgICMgYWRkIGEgc3BhY2UgZG93biB0aGUgbWlkZGxlCisgICB0aGVuCisgICAgICAgZWNobyAtbiAiICIKKyAgIGZpCisgICBpZiAoKCBieXRlY291bnQgJSAxNiA9PSAwICkpICAgIyBwcmludCAxNiB2YWx1ZXMgcGVyIGxpbmUKKyAgIHRoZW4KKyAgICAgICBlY2hvICJ8JHN0cmluZ3wiCisgICAgICAgc3RyaW5nPScnCisgICAgICAgdmFsY291bnQ9MAorICAgICAgIHByaW50ZiAiJTA4eCAgIiAkYnl0ZWNvdW50CisgICBmaQorZG9uZSA8ICIkMSIKKworaWYgW1sgIiRzdHJpbmciICE9ICIiIF1dICAgICAgICAgICAgIyBpZiB0aGUgbGFzdCBsaW5lIHdhc24ndCBmdWxsLCBwYWQgaXQgb3V0Cit0aGVuCisgICBsZW5ndGg9JHsjc3RyaW5nfQorICAgaWYgKCggbGVuZ3RoID4gNyApKQorICAgdGhlbgorICAgICAgICgobGVuZ3RoLS0pKQorICAgZmkKKyAgICgoIGxlbmd0aCArPSAoMTYgLSB2YWxjb3VudCkgKiAzICsgNCkpCisgICBwcmludGYgIiUke2xlbmd0aH1zXG4iICJ8JHN0cmluZ3wiCisgICBwcmludGYgIiUwOHggICIgJGJ5dGVjb3VudAorZmkKK2VjaG8KKworTEFORz0iJHNhdmVMQU5HIjsKK0lGUz0iJHNhdmVJRlMiCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvZXhhbXBsZXMvc2NyaXB0cy90aW1lb3V0MyBiL2V4YW1wbGVzL3NjcmlwdHMvdGltZW91dDMKaW5kZXggNWMxOWQyZS4uZGU2NTBiZSAxMDA2NDQKLS0tIGEvZXhhbXBsZXMvc2NyaXB0cy90aW1lb3V0MworKysgYi9leGFtcGxlcy9zY3JpcHRzL3RpbWVvdXQzCkBAIC0xLDU2ICsxLDU3IEBACiAjIS9iaW4vYmFzaAogIwotIyBUaGUgQmFzaCBzaGVsbCBzY3JpcHQgZXhlY3V0ZXMgYSBjb21tYW5kIHdpdGggYSB0aW1lLW91dC4KLSMgVXBvbiB0aW1lLW91dCBleHBpcmF0aW9uIFNJR1RFUk0gKDE1KSBpcyBzZW50IHRvIHRoZSBwcm9jZXNzLiBJZiB0aGUgc2lnbmFsCi0jIGlzIGJsb2NrZWQsIHRoZW4gdGhlIHN1YnNlcXVlbnQgU0lHS0lMTCAoOSkgdGVybWluYXRlcyBpdC4KLSMKKyMgVGhlIEJhc2ggc2NyaXB0IGV4ZWN1dGVzIGEgY29tbWFuZCB3aXRoIGEgdGltZS1vdXQuCiAjIEJhc2VkIG9uIHRoZSBCYXNoIGRvY3VtZW50YXRpb24gZXhhbXBsZS4KLQotIyBIZWxsbyBDaGV0LAotIyBwbGVhc2UgZmluZCBhdHRhY2hlZCBhICJsaXR0bGUgZWFzaWVyIiAgOi0pICB0byBjb21wcmVoZW5kCi0jIHRpbWUtb3V0IGV4YW1wbGUuICBJZiB5b3UgZmluZCBpdCBzdWl0YWJsZSwgZmVlbCBmcmVlIHRvIGluY2x1ZGUKLSMgYW55d2hlcmU6IHRoZSB2ZXJ5IHNhbWUgbG9naWMgYXMgaW4gdGhlIG9yaWdpbmFsIGV4YW1wbGVzL3NjcmlwdHMsIGEKLSMgbGl0dGxlIG1vcmUgdHJhbnNwYXJlbnQgaW1wbGVtZW50YXRpb24gdG8gbXkgdGFzdGUuCiAjCi0jIERtaXRyeSBWIEdvbG92YXNoa2luIDxEbWl0cnkuR29sb3Zhc2hraW5Ac2FzLmNvbT4KKyMgVXBvbiB0aW1lLW91dCBleHBpcmF0aW9uIFNJR1RFUk0gKDE1KSBpcyBzZW50IHRvIHRoZSBwcm9jZXNzLiAgSWYgdGhlIHNpZ25hbAorIyBpcyBibG9ja2VkLCB0aGVuIHRoZSBzdWJzZXF1ZW50IFNJR0tJTEwgKDkpIHRlcm1pbmF0ZXMgaXQuCisjIERtaXRyeSBWIEdvbG92YXNoa2luIChFLW1haWw6IGR2Z0BpZWVlLm9yZykKKyMKK3NjcmlwdF9uYW1lPSIkezAjIyovfSIKIAotc2NyaXB0TmFtZT0iJHswIyMqL30iCisjIERlZmF1bHQgdmFsdWVzLgorcmVhZG9ubHkgcGFyYW1fdGltZW91dD01CityZWFkb25seSBwYXJhbV9pbnRlcnZhbD0xCityZWFkb25seSBwYXJhbV9kZWxheT0xCiAKLWRlY2xhcmUgLWkgREVGQVVMVF9USU1FT1VUPTkKLWRlY2xhcmUgLWkgREVGQVVMVF9JTlRFUlZBTD0xCi1kZWNsYXJlIC1pIERFRkFVTFRfREVMQVk9MQorZGVjbGFyZSAtaSB0aW1lb3V0PXBhcmFtX3RpbWVvdXQKK2RlY2xhcmUgLWkgaW50ZXJ2YWw9cGFyYW1faW50ZXJ2YWwKK2RlY2xhcmUgLWkgZGVsYXk9cGFyYW1fZGVsYXkKIAotIyBUaW1lb3V0LgotZGVjbGFyZSAtaSB0aW1lb3V0PURFRkFVTFRfVElNRU9VVAotIyBJbnRlcnZhbCBiZXR3ZWVuIGNoZWNrcyBpZiB0aGUgcHJvY2VzcyBpcyBzdGlsbCBhbGl2ZS4KLWRlY2xhcmUgLWkgaW50ZXJ2YWw9REVGQVVMVF9JTlRFUlZBTAotIyBEZWxheSBiZXR3ZWVuIHBvc3RpbmcgdGhlIFNJR1RFUk0gc2lnbmFsIGFuZCBkZXN0cm95aW5nIHRoZSBwcm9jZXNzIGJ5IFNJR0tJTEwuCi1kZWNsYXJlIC1pIGRlbGF5PURFRkFVTFRfREVMQVkKK2JsdWU9IiQodHB1dCBzZXRhZiA0KSIKK2JvbGRfcmVkPSIkKHRwdXQgYm9sZDsgdHB1dCBzZXRhZiAxKSIKK29mZj0iJCh0cHV0IHNncjApIgogCi1mdW5jdGlvbiBwcmludFVzYWdlKCkgewotICAgIGNhdCA8PEVPRgorZnVuY3Rpb24gcHJpbnRfdXNhZ2UoKSB7CitjYXQgPDxFT0YKIAotU3lub3BzaXMKLSAgICAkc2NyaXB0TmFtZSBbLXQgdGltZW91dF0gWy1pIGludGVydmFsXSBbLWQgZGVsYXldIGNvbW1hbmQKLSAgICBFeGVjdXRlIGEgY29tbWFuZCB3aXRoIGEgdGltZS1vdXQuCi0gICAgVXBvbiB0aW1lLW91dCBleHBpcmF0aW9uIFNJR1RFUk0gKDE1KSBpcyBzZW50IHRvIHRoZSBwcm9jZXNzLiBJZiBTSUdURVJNCi0gICAgc2lnbmFsIGlzIGJsb2NrZWQsIHRoZW4gdGhlIHN1YnNlcXVlbnQgU0lHS0lMTCAoOSkgdGVybWluYXRlcyBpdC4KK1N5bm9wc2lzOiAgJHNjcmlwdF9uYW1lIFstdCB0aW1lb3V0XSBbLWkgaW50ZXJ2YWxdIFstZCBkZWxheV0gY29tbWFuZAogCi0gICAgLXQgdGltZW91dAotICAgICAgICBOdW1iZXIgb2Ygc2Vjb25kcyB0byB3YWl0IGZvciBjb21tYW5kIGNvbXBsZXRpb24uCi0gICAgICAgIERlZmF1bHQgdmFsdWU6ICRERUZBVUxUX1RJTUVPVVQgc2Vjb25kcy4KK0V4ZWN1dGVzIHRoZSBjb21tYW5kIHdpdGggYSB0aW1lLW91dC4gIFVwb24gdGltZS1vdXQgZXhwaXJhdGlvbiBTSUdURVJNICgxNSkgaXMKK3NlbnQgdG8gdGhlIHByb2Nlc3MuICBJZiBTSUdURVJNIHNpZ25hbCBpcyBibG9ja2VkLCB0aGVuIHRoZSBzdWJzZXF1ZW50IFNJR0tJTEwKKyg5KSB0ZXJtaW5hdGVzIGl0LgogCi0gICAgLWkgaW50ZXJ2YWwKLSAgICAgICAgSW50ZXJ2YWwgYmV0d2VlbiBjaGVja3MgaWYgdGhlIHByb2Nlc3MgaXMgc3RpbGwgYWxpdmUuCi0gICAgICAgIFBvc2l0aXZlIGludGVnZXIsIGRlZmF1bHQgdmFsdWU6ICRERUZBVUxUX0lOVEVSVkFMIHNlY29uZHMuCiskYmx1ZS10IHRpbWVvdXQkb2ZmCisgICAgTnVtYmVyIG9mIHNlY29uZHMgdG8gd2FpdCBmb3IgY29tbWFuZCBjb21wbGV0aW9uLgorICAgIERlZmF1bHQgdmFsdWU6ICRwYXJhbV90aW1lb3V0IHNlY29uZHMuICBJbiBzb21lIHByYWN0aWNhbCBzaXR1YXRpb25zCisgICAgdGhpcyB2YWx1ZSAke2JvbGRfcmVkfW11c3Qkb2ZmIGJlIGluY3JlYXNlZCAoZm9yIGluc3RhbmNlIC10IDE4MCkgdG8gYWxsb3cKKyAgICB0aGUgY29tbWFuZCB0byBjb21wbGV0ZS4KIAotICAgIC1kIGRlbGF5Ci0gICAgICAgIERlbGF5IGJldHdlZW4gcG9zdGluZyB0aGUgU0lHVEVSTSBzaWduYWwgYW5kIGRlc3Ryb3lpbmcgdGhlCi0gICAgICAgIHByb2Nlc3MgYnkgU0lHS0lMTC4gRGVmYXVsdCB2YWx1ZTogJERFRkFVTFRfREVMQVkgc2Vjb25kcy4KKyRibHVlLWkgaW50ZXJ2YWwkb2ZmCisgICAgSW50ZXJ2YWwgYmV0d2VlbiBjaGVja3MgaWYgdGhlIHByb2Nlc3MgaXMgc3RpbGwgYWxpdmUuCisgICAgUG9zaXRpdmUgaW50ZWdlciwgZGVmYXVsdCB2YWx1ZTogJHBhcmFtX2ludGVydmFsIHNlY29uZHMuCisgICAgRGVmYXVsdCB2YWx1ZSBpcyBPSyBmb3IgbW9zdCBzaXR1YXRpb25zLgorCiskYmx1ZS1kIGRlbGF5JG9mZgorICAgIERlbGF5IGJldHdlZW4gcG9zdGluZyB0aGUgU0lHVEVSTSBzaWduYWwgYW5kIGRlc3Ryb3lpbmcgdGhlIHByb2Nlc3MgYnkKKyAgICBTSUdLSUxMLiAgRGVmYXVsdCB2YWx1ZTogJHBhcmFtX2RlbGF5IHNlY29uZHMuCisgICAgRGVmYXVsdCB2YWx1ZSBpcyBPSyBmb3IgbW9zdCBzaXR1YXRpb25zLgogCiBBcyBvZiB0b2RheSwgQmFzaCBkb2VzIG5vdCBzdXBwb3J0IGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgKHNsZWVwIGRvZXMpLAotdGhlcmVmb3JlIGFsbCBkZWxheS90aW1lIHZhbHVlcyBtdXN0IGJlIGludGVnZXJzLgordGhlcmVmb3JlIGFsbCB0aW1lIHZhbHVlcyBtdXN0IGJlIGludGVnZXJzLgorRG1pdHJ5IEdvbG92YXNoa2luIChFLW1haWw6IGR2Z0BpZWVlLm9yZykKIEVPRgorZXhpdCAxICMgTm8gdXNlZnVsIHdvcmsgd2FzIGRvbmUuCiB9CiAKICMgT3B0aW9ucy4KQEAgLTU5LDcgKzYwLDcgQEAKICAgICAgICAgdCkgdGltZW91dD0kT1BUQVJHIDs7CiAgICAgICAgIGkpIGludGVydmFsPSRPUFRBUkcgOzsKICAgICAgICAgZCkgZGVsYXk9JE9QVEFSRyA7OwotICAgICAgICAqKSBwcmludFVzYWdlOyBleGl0IDEgOzsKKyAgICAgICAgKikgcHJpbnRfdXNhZ2UgOzsKICAgICBlc2FjCiBkb25lCiBzaGlmdCAkKChPUFRJTkQgLSAxKSkKQEAgLTY3LDExICs2OCwxMCBAQAogIyAkIyBzaG91bGQgYmUgYXQgbGVhc3QgMSAodGhlIGNvbW1hbmQgdG8gZXhlY3V0ZSksIGhvd2V2ZXIgaXQgbWF5IGJlIHN0cmljdGx5CiAjIGdyZWF0ZXIgdGhhbiAxIGlmIHRoZSBjb21tYW5kIGl0c2VsZiBoYXMgb3B0aW9ucy4KIGlmICgoJCMgPT0gMCB8fCBpbnRlcnZhbCA8PSAwKSk7IHRoZW4KLSAgICBwcmludFVzYWdlCi0gICAgZXhpdCAxCisgICAgcHJpbnRfdXNhZ2UKIGZpCiAKLSMga2lsbCAtMCBwaWQgICBFeGl0IGNvZGUgaW5kaWNhdGVzIGlmIGEgc2lnbmFsIG1heSBiZSBzZW50IHRvICRwaWQgcHJvY2Vzcy4KKyMga2lsbCAtMCBwaWQgICBFeGl0IGNvZGUgaW5kaWNhdGVzIGlmIGEgc2lnbmFsIG1heSBiZSBzZW50IHRvICJwaWQiIHByb2Nlc3MuCiAoCiAgICAgKCh0ID0gdGltZW91dCkpCiAKQEAgLTg5LDMgKzg5LDQgQEAKICkgMj4gL2Rldi9udWxsICYKIAogZXhlYyAiJEAiCisKZGlmZiAtLWdpdCBhL2V4YW1wbGVzL3N0YXJ0dXAtZmlsZXMvYmFzaHJjIGIvZXhhbXBsZXMvc3RhcnR1cC1maWxlcy9iYXNocmMKaW5kZXggMDY5ZThiZS4uMmQ4ZDM3YiAxMDA2NDQKLS0tIGEvZXhhbXBsZXMvc3RhcnR1cC1maWxlcy9iYXNocmMKKysrIGIvZXhhbXBsZXMvc3RhcnR1cC1maWxlcy9iYXNocmMKQEAgLTEsNiArMSw3IEBACi1pZiBbIC16ICIkUFMxIiBdOyB0aGVuCi0JcmV0dXJuCi1maQorY2FzZSAkLSBpbgorKmkqKQk7OworKikJcmV0dXJuIDs7Citlc2FjCiAKICMgYm9ndXMKIGlmIFsgLWYgL3VuaXggXSA7IHRoZW4JCmRpZmYgLS1naXQgYS9leGVjdXRlX2NtZC5jIGIvZXhlY3V0ZV9jbWQuYwppbmRleCBlNjVhMDNmLi40ODViMGM3IDEwMDY0NAotLS0gYS9leGVjdXRlX2NtZC5jCisrKyBiL2V4ZWN1dGVfY21kLmMKQEAgLTEsNiArMSw2IEBACiAvKiBleGVjdXRlX2NtZC5jIC0tIEV4ZWN1dGUgYSBDT01NQU5EIHN0cnVjdHVyZS4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5ODctMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTk4LDYgKzk4LDcgQEAKICMgIGluY2x1ZGUgImJhc2hoaXN0LmgiCiAjZW5kaWYKIAorZXh0ZXJuIGludCBkb2xsYXJfZG9sbGFyX3BpZDsKIGV4dGVybiBpbnQgcG9zaXhseV9jb3JyZWN0OwogZXh0ZXJuIGludCBleHBhbmRfYWxpYXNlczsKIGV4dGVybiBpbnQgYXV0b2NkOwpAQCAtMTEyLDYgKzExMyw3IEBACiBleHRlcm4gc2hfYnVpbHRpbl9mdW5jX3QgKmxhc3Rfc2hlbGxfYnVpbHRpbiwgKnRoaXNfc2hlbGxfYnVpbHRpbjsKIGV4dGVybiBjaGFyICoqc3Vic2hlbGxfYXJndiwgKipzdWJzaGVsbF9lbnZwOwogZXh0ZXJuIGludCBzdWJzaGVsbF9hcmdjOworZXh0ZXJuIHRpbWVfdCBzaGVsbF9zdGFydF90aW1lOwogI2lmIDAKIGV4dGVybiBjaGFyICpnbG9iX2FyZ3ZfZmxhZ3M7CiAjZW5kaWYKQEAgLTEzNSw2ICsxMzcsNyBAQAogCiBzdGF0aWMgaW50IGV4ZWN1dGVfZm9yX2NvbW1hbmQgX19QKChGT1JfQ09NICopKTsKICNpZiBkZWZpbmVkIChTRUxFQ1RfQ09NTUFORCkKK3N0YXRpYyBpbnQgZGlzcGxlbiBfX1AoKGNvbnN0IGNoYXIgKikpOwogc3RhdGljIGludCBwcmludF9pbmRleF9hbmRfZWxlbWVudCBfX1AoKGludCwgaW50LCBXT1JEX0xJU1QgKikpOwogc3RhdGljIHZvaWQgaW5kZW50IF9fUCgoaW50LCBpbnQpKTsKIHN0YXRpYyB2b2lkIHByaW50X3NlbGVjdF9saXN0IF9fUCgoV09SRF9MSVNUICosIGludCwgaW50LCBpbnQpKTsKQEAgLTE3OCw3ICsxODEsNyBAQAogCQkJCQkJICAgICAgaW50LCBpbnQsIGludCwKIAkJCQkJCSAgICAgIHN0cnVjdCBmZF9iaXRtYXAgKiwKIAkJCQkJCSAgICAgIGludCkpOwotc3RhdGljIHZvaWQgZXhlY3V0ZV9kaXNrX2NvbW1hbmQgX19QKChXT1JEX0xJU1QgKiwgUkVESVJFQ1QgKiwgY2hhciAqLAorc3RhdGljIGludCBleGVjdXRlX2Rpc2tfY29tbWFuZCBfX1AoKFdPUkRfTElTVCAqLCBSRURJUkVDVCAqLCBjaGFyICosCiAJCQkJICAgICAgaW50LCBpbnQsIGludCwgc3RydWN0IGZkX2JpdG1hcCAqLCBpbnQpKTsKIAogc3RhdGljIGNoYXIgKmdldGludGVycCBfX1AoKGNoYXIgKiwgaW50LCBpbnQgKikpOwpAQCAtMjUzLDYgKzI1Niw4IEBACiAvKiBJZiBub24temVybywgbWF0Y2hlcyBpbiBjYXNlIGFuZCBbWyAuLi4gXV0gYXJlIGNhc2UtaW5zZW5zaXRpdmUgKi8KIGludCBtYXRjaF9pZ25vcmVfY2FzZSA9IDA7CiAKK2ludCBleGVjdXRpbmdfY29tbWFuZF9idWlsdGluID0gMDsKKwogc3RydWN0IHN0YXQgU0I7CQkvKiB1c2VkIGZvciBkZWJ1Z2dpbmcgKi8KIAogc3RhdGljIGludCBzcGVjaWFsX2J1aWx0aW5fZmFpbGVkOwpAQCAtMjcwLDggKzI3NSwxMCBAQAogc3RhdGljIGludCBsaW5lX251bWJlcl9mb3JfZXJyX3RyYXA7CiAKIC8qIEEgc29ydCBvZiBmdW5jdGlvbiBuZXN0aW5nIGxldmVsIGNvdW50ZXIgKi8KLXN0YXRpYyBpbnQgZnVuY25lc3QgPSAwOwotaW50IGZ1bmNuZXN0X21heCA9IDA7CQkvKiBYWFggLSBmb3IgYmFzaC00LjIgKi8KK2ludCBmdW5jbmVzdCA9IDA7CitpbnQgZnVuY25lc3RfbWF4ID0gMDsJCS8qIFhYWCAtIGJhc2gtNC4yICovCisKK2ludCBsYXN0cGlwZV9vcHQgPSAwOwogCiBzdHJ1Y3QgZmRfYml0bWFwICpjdXJyZW50X2Zkc190b19jbG9zZSA9IChzdHJ1Y3QgZmRfYml0bWFwICopTlVMTDsKIApAQCAtNjAzLDE5ICs2MTAsMTcgQEAKIAkgICAgICBpbnZlcnQgPSAoY29tbWFuZC0+ZmxhZ3MgJiBDTURfSU5WRVJUX1JFVFVSTikgIT0gMDsKIAkgICAgICBpZ25vcmVfcmV0dXJuID0gKGNvbW1hbmQtPmZsYWdzICYgQ01EX0lHTk9SRV9SRVRVUk4pICE9IDA7CiAKLQkgICAgICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IHdhaXRfZm9yIChwYXJlbl9waWQpOworCSAgICAgIGV4ZWNfcmVzdWx0ID0gd2FpdF9mb3IgKHBhcmVuX3BpZCk7CiAKIAkgICAgICAvKiBJZiB3ZSBoYXZlIHRvLCBpbnZlcnQgdGhlIHJldHVybiB2YWx1ZS4gKi8KIAkgICAgICBpZiAoaW52ZXJ0KQotCQlleGVjX3Jlc3VsdCA9ICgobGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPT0gRVhFQ1VUSU9OX1NVQ0NFU1MpCisJCWV4ZWNfcmVzdWx0ID0gKChleGVjX3Jlc3VsdCA9PSBFWEVDVVRJT05fU1VDQ0VTUykKIAkJCQk/IEVYRUNVVElPTl9GQUlMVVJFCiAJCQkJOiBFWEVDVVRJT05fU1VDQ0VTUyk7Ci0JICAgICAgZWxzZQotCQlleGVjX3Jlc3VsdCA9IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlOwogCisJICAgICAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBleGVjX3Jlc3VsdDsKIAkgICAgICBpZiAodXNlcl9zdWJzaGVsbCAmJiB3YXNfZXJyb3JfdHJhcCAmJiBpZ25vcmVfcmV0dXJuID09IDAgJiYgaW52ZXJ0ID09IDAgJiYgZXhlY19yZXN1bHQgIT0gRVhFQ1VUSU9OX1NVQ0NFU1MpCiAJCXsKLQkJICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IGV4ZWNfcmVzdWx0OwogCQkgIHNhdmVfbGluZV9udW1iZXIgPSBsaW5lX251bWJlcjsKIAkJICBsaW5lX251bWJlciA9IGxpbmVfbnVtYmVyX2Zvcl9lcnJfdHJhcDsKIAkJICBydW5fZXJyb3JfdHJhcCAoKTsKQEAgLTYyNCwxMiArNjI5LDExIEBACiAKIAkgICAgICBpZiAodXNlcl9zdWJzaGVsbCAmJiBpZ25vcmVfcmV0dXJuID09IDAgJiYgaW52ZXJ0ID09IDAgJiYgZXhpdF9pbW1lZGlhdGVseV9vbl9lcnJvciAmJiBleGVjX3Jlc3VsdCAhPSBFWEVDVVRJT05fU1VDQ0VTUykKIAkJewotCQkgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gZXhlY19yZXN1bHQ7CiAJCSAgcnVuX3BlbmRpbmdfdHJhcHMgKCk7CiAJCSAganVtcF90b190b3BfbGV2ZWwgKEVSUkVYSVQpOwogCQl9CiAKLQkgICAgICByZXR1cm4gKGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gZXhlY19yZXN1bHQpOworCSAgICAgIHJldHVybiAobGFzdF9jb21tYW5kX2V4aXRfdmFsdWUpOwogCSAgICB9CiAJICBlbHNlCiAJICAgIHsKQEAgLTY3Nyw2ICs2ODEsNyBAQAogCiAgIGlmIChyZWRpcmVjdGlvbl91bmRvX2xpc3QpCiAgICAgeworICAgICAgLyogWFhYIC0gd2h5IGNvcHkgaGVyZT8gKi8KICAgICAgIG15X3VuZG9fbGlzdCA9IChSRURJUkVDVCAqKWNvcHlfcmVkaXJlY3RzIChyZWRpcmVjdGlvbl91bmRvX2xpc3QpOwogICAgICAgZGlzcG9zZV9yZWRpcmVjdHMgKHJlZGlyZWN0aW9uX3VuZG9fbGlzdCk7CiAgICAgICByZWRpcmVjdGlvbl91bmRvX2xpc3QgPSAoUkVESVJFQ1QgKilOVUxMOwpAQCAtNjg2LDYgKzY5MSw3IEBACiAKICAgaWYgKGV4ZWNfcmVkaXJlY3Rpb25fdW5kb19saXN0KQogICAgIHsKKyAgICAgIC8qIFhYWCAtIHdoeSBjb3B5IGhlcmU/ICovCiAgICAgICBleGVjX3VuZG9fbGlzdCA9IChSRURJUkVDVCAqKWNvcHlfcmVkaXJlY3RzIChleGVjX3JlZGlyZWN0aW9uX3VuZG9fbGlzdCk7CiAgICAgICBkaXNwb3NlX3JlZGlyZWN0cyAoZXhlY19yZWRpcmVjdGlvbl91bmRvX2xpc3QpOwogICAgICAgZXhlY19yZWRpcmVjdGlvbl91bmRvX2xpc3QgPSAoUkVESVJFQ1QgKilOVUxMOwpAQCAtMTE4Miw3ICsxMTg4LDcgQEAKICAgICAgaW50IGFzeW5jaHJvbm91cywgcGlwZV9pbiwgcGlwZV9vdXQ7CiAgICAgIHN0cnVjdCBmZF9iaXRtYXAgKmZkc190b19jbG9zZTsKIHsKLSAgaW50IHJ2LCBwb3NpeF90aW1lLCBvbGRfZmxhZ3M7CisgIGludCBydiwgcG9zaXhfdGltZSwgb2xkX2ZsYWdzLCBudWxsY21kOwogICB0aW1lX3QgcnMsIHVzLCBzczsKICAgaW50IHJzZiwgdXNmLCBzc2Y7CiAgIGludCBjcHU7CkBAIC0xMjE4LDYgKzEyMjQsMjAgQEAKIAogICBwb3NpeF90aW1lID0gKGNvbW1hbmQtPmZsYWdzICYgQ01EX1RJTUVfUE9TSVgpOwogCisgIG51bGxjbWQgPSAoY29tbWFuZCA9PSAwKSB8fCAoY29tbWFuZC0+dHlwZSA9PSBjbV9zaW1wbGUgJiYgY29tbWFuZC0+dmFsdWUuU2ltcGxlLT53b3JkcyA9PSAwICYmIGNvbW1hbmQtPnZhbHVlLlNpbXBsZS0+cmVkaXJlY3RzID09IDApOworICBpZiAocG9zaXhseV9jb3JyZWN0ICYmIG51bGxjbWQpCisgICAgeworI2lmIGRlZmluZWQgKEhBVkVfR0VUUlVTQUdFKQorICAgICAgc2VsZmIucnVfdXRpbWUudHZfc2VjID0ga2lkc2IucnVfdXRpbWUudHZfc2VjID0gc2VsZmIucnVfc3RpbWUudHZfc2VjID0ga2lkc2IucnVfc3RpbWUudHZfc2VjID0gMDsKKyAgICAgIHNlbGZiLnJ1X3V0aW1lLnR2X3VzZWMgPSBraWRzYi5ydV91dGltZS50dl91c2VjID0gc2VsZmIucnVfc3RpbWUudHZfdXNlYyA9IGtpZHNiLnJ1X3N0aW1lLnR2X3VzZWMgPSAwOworICAgICAgYmVmb3JlLnR2X3NlYyA9IHNoZWxsX3N0YXJ0X3RpbWU7CisgICAgICBiZWZvcmUudHZfdXNlYyA9IDA7CisjZWxzZQorICAgICAgYmVmb3JlLnRtc191dGltZSA9IGJlZm9yZS50bXNfc3RpbWUgPSBiZWZvcmUudG1zX2N1dGltZSA9IGJlZm9yZS50bXNfY3N0aW1lID0gMDsKKyAgICAgIHRiZWZvcmUgPSBzaGVsbF9zdGFydF90aW1lOworI2VuZGlmCisgICAgfQorCiAgIG9sZF9mbGFncyA9IGNvbW1hbmQtPmZsYWdzOwogICBjb21tYW5kLT5mbGFncyAmPSB+KENNRF9USU1FX1BJUEVMSU5FfENNRF9USU1FX1BPU0lYKTsKICAgcnYgPSBleGVjdXRlX2NvbW1hbmRfaW50ZXJuYWwgKGNvbW1hbmQsIGFzeW5jaHJvbm91cywgcGlwZV9pbiwgcGlwZV9vdXQsIGZkc190b19jbG9zZSk7CkBAIC0xMjcxLDggKzEyOTEsMTIgQEAKICAgaWYgKHBvc2l4X3RpbWUpCiAgICAgdGltZV9mb3JtYXQgPSBQT1NJWF9USU1FRk9STUFUOwogICBlbHNlIGlmICgodGltZV9mb3JtYXQgPSBnZXRfc3RyaW5nX3ZhbHVlICgiVElNRUZPUk1BVCIpKSA9PSAwKQotICAgIHRpbWVfZm9ybWF0ID0gQkFTSF9USU1FRk9STUFUOwotCisgICAgeworICAgICAgaWYgKHBvc2l4bHlfY29ycmVjdCAmJiBudWxsY21kKQorCXRpbWVfZm9ybWF0ID0gInVzZXJcdCUybFVcbnN5c1x0JTJsUyI7CisgICAgICBlbHNlCisJdGltZV9mb3JtYXQgPSBCQVNIX1RJTUVGT1JNQVQ7CisgICAgfQogICBpZiAodGltZV9mb3JtYXQgJiYgKnRpbWVfZm9ybWF0KQogICAgIHByaW50X2Zvcm1hdHRlZF90aW1lIChzdGRlcnIsIHRpbWVfZm9ybWF0LCBycywgcnNmLCB1cywgdXNmLCBzcywgc3NmLCBjcHUpOwogCkBAIC0xMjkzLDcgKzEzMTcsNyBAQAogICBpbnQgdXNlcl9zdWJzaGVsbCwgcmV0dXJuX2NvZGUsIGZ1bmN0aW9uX3ZhbHVlLCBzaG91bGRfcmVkaXJfc3RkaW4sIGludmVydDsKICAgaW50IG9pcywgdXNlcl9jb3Byb2M7CiAgIGludCByZXN1bHQ7Ci0gIENPTU1BTkQgKnRjb207CisgIHZvbGF0aWxlIENPTU1BTkQgKnRjb207CiAKICAgVVNFX1ZBUih1c2VyX3N1YnNoZWxsKTsKICAgVVNFX1ZBUih1c2VyX2NvcHJvYyk7CkBAIC0xMzY3LDcgKzEzOTEsMTEgQEAKIAogICByZXNldF90ZXJtaW5hdGluZ19zaWduYWxzICgpOwkJLyogaW4gc2lnLmMgKi8KICAgLyogQ2FuY2VsIHRyYXBzLCBpbiB0cmFwLmMuICovCi0gIHJlc3RvcmVfb3JpZ2luYWxfc2lnbmFscyAoKTsKKyAgLyogUmVzZXQgdGhlIHNpZ25hbCBoYW5kbGVycyBpbiB0aGUgY2hpbGQsIGJ1dCBkb24ndCBmcmVlIHRoZQorICAgICB0cmFwIHN0cmluZ3MuICBTZXQgYSBmbGFnIG5vdGluZyB0aGF0IHdlIGhhdmUgdG8gZnJlZSB0aGUKKyAgICAgdHJhcCBzdHJpbmdzIGlmIHdlIHJ1biB0cmFwIHRvIGNoYW5nZSBhIHNpZ25hbCBkaXNwb3NpdGlvbi4gKi8KKyAgcmVzZXRfc2lnbmFsX2hhbmRsZXJzICgpOworICBzdWJzaGVsbF9lbnZpcm9ubWVudCB8PSBTVUJTSEVMTF9SRVNFVFRSQVA7CiAKICAgLyogTWFrZSBzdXJlIHJlc3RvcmVfb3JpZ2luYWxfc2lnbmFscyBkb2Vzbid0IHVuZG8gdGhlIHdvcmsgZG9uZSBieQogICAgICBtYWtlX2NoaWxkIHRvIGVuc3VyZSB0aGF0IGFzeW5jaHJvbm91cyBjaGlsZHJlbiBhcmUgaW1tdW5lIHRvIFNJR0lOVApAQCAtMTUyNCw3ICsxNTUyLDcgQEAKIHN0YXRpYyBzdHJ1Y3QgY3BlbGVtZW50ICpjcGxfc2VhcmNoYnluYW1lIF9fUCgoY2hhciAqKSk7CiBzdGF0aWMgdm9pZCBjcGxfcHJ1bmUgX19QKCh2b2lkKSk7CiAKLUNvcHJvYyBzaF9jb3Byb2MgPSB7IDAsIE5PX1BJRCwgLTEsIC0xLCAwLCAwIH07CitDb3Byb2Mgc2hfY29wcm9jID0geyAwLCBOT19QSUQsIC0xLCAtMSwgMCwgMCwgMCwgMCB9OwogCiBjcGxpc3RfdCBjb3Byb2NfbGlzdCA9IHswLCAwLCAwfTsKIApAQCAtMjA0Niw2ICsyMDc0LDIyIEBACiB9CiAjZW5kaWYKIAorc3RhdGljIHZvaWQKK3Jlc3RvcmVfc3RkaW4gKHMpCisgICAgIGludCBzOworeworICBkdXAyIChzLCAwKTsKKyAgY2xvc2UgKHMpOworfQorCisvKiBDYXRjaC1hbGwgY2xlYW51cCBmdW5jdGlvbiBmb3IgbGFzdHBpcGUgY29kZSBmb3IgdW53aW5kLXByb3RlY3RzICovCitzdGF0aWMgdm9pZAorbGFzdHBpcGVfY2xlYW51cCAocykKKyAgICAgaW50IHM7Cit7CisgIHVuZnJlZXplX2pvYnNfbGlzdCAoKTsKK30KKwogc3RhdGljIGludAogZXhlY3V0ZV9waXBlbGluZSAoY29tbWFuZCwgYXN5bmNocm9ub3VzLCBwaXBlX2luLCBwaXBlX291dCwgZmRzX3RvX2Nsb3NlKQogICAgICBDT01NQU5EICpjb21tYW5kOwpAQCAtMjA1Myw4ICsyMDk3LDEwIEBACiAgICAgIHN0cnVjdCBmZF9iaXRtYXAgKmZkc190b19jbG9zZTsKIHsKICAgaW50IHByZXYsIGZpbGRlc1syXSwgbmV3X2JpdG1hcF9zaXplLCBkdW1teWZkLCBpZ25vcmVfcmV0dXJuLCBleGVjX3Jlc3VsdDsKKyAgaW50IGxzdGRpbiwgbGFzdHBpcGVfZmxhZywgbGFzdHBpcGVfamlkOwogICBDT01NQU5EICpjbWQ7CiAgIHN0cnVjdCBmZF9iaXRtYXAgKmZkX2JpdG1hcDsKKyAgcGlkX3QgbGFzdHBpZDsKIAogI2lmIGRlZmluZWQgKEpPQl9DT05UUk9MKQogICBzaWdzZXRfdCBzZXQsIG9zZXQ7CkBAIC0yMTQ0LDExICsyMTkwLDQxIEBACiAgICAgICBjbWQgPSBjbWQtPnZhbHVlLkNvbm5lY3Rpb24tPnNlY29uZDsKICAgICB9CiAKKyAgbGFzdHBpZCA9IGxhc3RfbWFkZV9waWQ7CisKICAgLyogTm93IGV4ZWN1dGUgdGhlIHJpZ2h0bW9zdCBjb21tYW5kIGluIHRoZSBwaXBlbGluZS4gICovCiAgIGlmIChpZ25vcmVfcmV0dXJuICYmIGNtZCkKICAgICBjbWQtPmZsYWdzIHw9IENNRF9JR05PUkVfUkVUVVJOOworCisgIGxhc3RwaXBlX2ZsYWcgPSAwOworICBiZWdpbl91bndpbmRfZnJhbWUgKCJsYXN0cGlwZS1leGVjIik7CisgIGxzdGRpbiA9IC0xOworICAvKiBJZiB0aGUgYGxhc3RwaXBlJyBvcHRpb24gaXMgc2V0IHdpdGggc2hvcHQsIGFuZCBqb2IgY29udHJvbCBpcyBub3QKKyAgICAgZW5hYmxlZCwgZXhlY3V0ZSB0aGUgbGFzdCBlbGVtZW50IG9mIG5vbi1hc3luYyBwaXBlbGluZXMgaW4gdGhlCisgICAgIGN1cnJlbnQgc2hlbGwgZW52aXJvbm1lbnQuICovCisgIGlmIChsYXN0cGlwZV9vcHQgJiYgam9iX2NvbnRyb2wgPT0gMCAmJiBhc3luY2hyb25vdXMgPT0gMCAmJiBwaXBlX291dCA9PSBOT19QSVBFICYmIHByZXYgPiAwKQorICAgIHsKKyAgICAgIGxzdGRpbiA9IG1vdmVfdG9faGlnaF9mZCAoMCwgMCwgMjU1KTsKKyAgICAgIGlmIChsc3RkaW4gPiAwKQorCXsKKwkgIGRvX3BpcGluZyAocHJldiwgcGlwZV9vdXQpOworCSAgcHJldiA9IE5PX1BJUEU7CisJICBhZGRfdW53aW5kX3Byb3RlY3QgKHJlc3RvcmVfc3RkaW4sIGxzdGRpbik7CisJICBsYXN0cGlwZV9mbGFnID0gMTsKKwkgIGZyZWV6ZV9qb2JzX2xpc3QgKCk7CisJICBsYXN0cGlwZV9qaWQgPSBzdG9wX3BpcGVsaW5lICgwLCAoQ09NTUFORCAqKU5VTEwpOwkvKiBYWFggKi8KKwkgIGFkZF91bndpbmRfcHJvdGVjdCAobGFzdHBpcGVfY2xlYW51cCwgbGFzdHBpcGVfamlkKTsKKwl9CisgICAgICBjbWQtPmZsYWdzIHw9IENNRF9MQVNUUElQRTsKKyAgICB9CSAgCisgIGlmIChwcmV2ID49IDApCisgICAgYWRkX3Vud2luZF9wcm90ZWN0IChjbG9zZSwgcHJldik7CisKICAgZXhlY19yZXN1bHQgPSBleGVjdXRlX2NvbW1hbmRfaW50ZXJuYWwgKGNtZCwgYXN5bmNocm9ub3VzLCBwcmV2LCBwaXBlX291dCwgZmRzX3RvX2Nsb3NlKTsKIAorICBpZiAobHN0ZGluID4gMCkKKyAgICByZXN0b3JlX3N0ZGluIChsc3RkaW4pOworCiAgIGlmIChwcmV2ID49IDApCiAgICAgY2xvc2UgKHByZXYpOwogCkBAIC0yMTU3LDYgKzIyMzMsMjEgQEAKICNlbmRpZgogCiAgIFFVSVQ7CisKKyAgaWYgKGxhc3RwaXBlX2ZsYWcpCisgICAgeworI2lmIGRlZmluZWQgKEpPQl9DT05UUk9MKQorICAgICAgYXBwZW5kX3Byb2Nlc3MgKHNhdmVzdHJpbmcgKHRoZV9wcmludGVkX2NvbW1hbmQpLCBkb2xsYXJfZG9sbGFyX3BpZCwgZXhlY19yZXN1bHQsIGxhc3RwaXBlX2ppZCk7CisjZW5kaWYKKyAgICAgIGxzdGRpbiA9IHdhaXRfZm9yIChsYXN0cGlkKTsKKyNpZiBkZWZpbmVkIChKT0JfQ09OVFJPTCkKKyAgICAgIGV4ZWNfcmVzdWx0ID0gam9iX2V4aXRfc3RhdHVzIChsYXN0cGlwZV9qaWQpOworI2VuZGlmCisgICAgICB1bmZyZWV6ZV9qb2JzX2xpc3QgKCk7CisgICAgfQorCisgIGRpc2NhcmRfdW53aW5kX2ZyYW1lICgibGFzdHBpcGUtZXhlYyIpOworCiAgIHJldHVybiAoZXhlY19yZXN1bHQpOwogfQogCkBAIC0yMTY2LDcgKzIyNTcsNiBAQAogICAgICBpbnQgYXN5bmNocm9ub3VzLCBwaXBlX2luLCBwaXBlX291dDsKICAgICAgc3RydWN0IGZkX2JpdG1hcCAqZmRzX3RvX2Nsb3NlOwogewotICBSRURJUkVDVCAqcnA7CiAgIENPTU1BTkQgKnRjLCAqc2Vjb25kOwogICBpbnQgaWdub3JlX3JldHVybiwgZXhlY19yZXN1bHQsIHdhc19lcnJvcl90cmFwLCBpbnZlcnQ7CiAgIHZvbGF0aWxlIGludCBzYXZlX2xpbmVfbnVtYmVyOwpAQCAtMjE4MSw4ICsyMjcxLDYgQEAKICAgICAgIGlmICh0YyA9PSAwKQogCXJldHVybiAoRVhFQ1VUSU9OX1NVQ0NFU1MpOwogCi0gICAgICBycCA9IHRjLT5yZWRpcmVjdHM7Ci0KICAgICAgIGlmIChpZ25vcmVfcmV0dXJuKQogCXRjLT5mbGFncyB8PSBDTURfSUdOT1JFX1JFVFVSTjsKICAgICAgIHRjLT5mbGFncyB8PSBDTURfQU1QRVJTQU5EOwpAQCAtMjYyMCw2ICsyNzA4LDI4IEBACiAJCQkJCQkJCTogNikpKSkpCiAKIHN0YXRpYyBpbnQKK2Rpc3BsZW4gKHMpCisgICAgIGNvbnN0IGNoYXIgKnM7Cit7CisjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKKyAgd2NoYXJfdCAqd2NzdHI7CisgIHNpemVfdCB3Y2xlbiwgc2xlbjsKKworICB3Y3N0ciA9IDA7CisgIHNsZW4gPSBtYnN0b3djcyAod2NzdHIsIHMsIDApOworICBpZiAoc2xlbiA9PSAtMSkKKyAgICBzbGVuID0gMDsKKyAgd2NzdHIgPSAod2NoYXJfdCAqKXhtYWxsb2MgKHNpemVvZiAod2NoYXJfdCkgKiAoc2xlbiArIDEpKTsKKyAgbWJzdG93Y3MgKHdjc3RyLCBzLCBzbGVuICsgMSk7CisgIHdjbGVuID0gd2Nzd2lkdGggKHdjc3RyLCBzbGVuKTsKKyAgZnJlZSAod2NzdHIpOworICByZXR1cm4gKChpbnQpd2NsZW4pOworI2Vsc2UKKyAgcmV0dXJuIChTVFJMRU4gKHMpKTsKKyNlbmRpZgorfQorCitzdGF0aWMgaW50CiBwcmludF9pbmRleF9hbmRfZWxlbWVudCAobGVuLCBpbmQsIGxpc3QpCiAgICAgICBpbnQgbGVuLCBpbmQ7CiAgICAgICBXT1JEX0xJU1QgKmxpc3Q7CkBAIC0yNjMyLDcgKzI3NDIsNyBAQAogICBmb3IgKGkgPSBpbmQsIGwgPSBsaXN0OyBsICYmIC0taTsgbCA9IGwtPm5leHQpCiAgICAgOwogICBmcHJpbnRmIChzdGRlcnIsICIlKmQlcyVzIiwgbGVuLCBpbmQsIFJQX1NQQUNFLCBsLT53b3JkLT53b3JkKTsKLSAgcmV0dXJuIChTVFJMRU4gKGwtPndvcmQtPndvcmQpKTsKKyAgcmV0dXJuIChkaXNwbGVuIChsLT53b3JkLT53b3JkKSk7CiB9CiAKIHN0YXRpYyB2b2lkCkBAIC0yNzE5LDggKzI4MjksMTAgQEAKICAgV09SRF9MSVNUICpsOwogICBjaGFyICpyZXBsX3N0cmluZywgKnQ7CiAKKyNpZiAwCiAgIHQgPSBnZXRfc3RyaW5nX3ZhbHVlICgiTElORVMiKTsKICAgTElORVMgPSAodCAmJiAqdCkgPyBhdG9pICh0KSA6IDI0OworI2VuZGlmCiAgIHQgPSBnZXRfc3RyaW5nX3ZhbHVlICgiQ09MVU1OUyIpOwogICBDT0xTID0gICh0ICYmICp0KSA/IGF0b2kgKHQpIDogODA7CiAKQEAgLTI3MzYsNyArMjg0OCw3IEBACiAgIG1heF9lbGVtX2xlbiA9IDA7CiAgIGZvciAobCA9IGxpc3Q7IGw7IGwgPSBsLT5uZXh0KQogICAgIHsKLSAgICAgIGxlbiA9IFNUUkxFTiAobC0+d29yZC0+d29yZCk7CisgICAgICBsZW4gPSBkaXNwbGVuIChsLT53b3JkLT53b3JkKTsKICAgICAgIGlmIChsZW4gPiBtYXhfZWxlbV9sZW4pCiAJbWF4X2VsZW1fbGVuID0gbGVuOwogICAgIH0KQEAgLTI3NTEsNyArMjg2Myw3IEBACiAgICAgICBmZmx1c2ggKHN0ZGVycik7CiAgICAgICBRVUlUOwogCi0gICAgICBpZiAocmVhZF9idWlsdGluICgoV09SRF9MSVNUICopTlVMTCkgPT0gRVhFQ1VUSU9OX0ZBSUxVUkUpCisgICAgICBpZiAocmVhZF9idWlsdGluICgoV09SRF9MSVNUICopTlVMTCkgIT0gRVhFQ1VUSU9OX1NVQ0NFU1MpCiAJewogCSAgcHV0Y2hhciAoJ1xuJyk7CiAJICByZXR1cm4gKChjaGFyICopTlVMTCk7CkBAIC0zNTMzLDYgKzM2NDUsNyBAQAogICBwaWRfdCBvbGRfbGFzdF9hc3luY19waWQ7CiAgIHNoX2J1aWx0aW5fZnVuY190ICpidWlsdGluOwogICBTSEVMTF9WQVIgKmZ1bmM7CisgIHZvbGF0aWxlIGludCBvbGRfYnVpbHRpbiwgb2xkX2NvbW1hbmRfYnVpbHRpbjsKIAogICByZXN1bHQgPSBFWEVDVVRJT05fU1VDQ0VTUzsKICAgc3BlY2lhbF9idWlsdGluX2ZhaWxlZCA9IGJ1aWx0aW5faXNfc3BlY2lhbCA9IDA7CkBAIC0zNjIzLDYgKzM3MzYsMTAgQEAKIAl9CiAgICAgICBlbHNlCiAJeworCSAgLyogRG9uJ3QgbGV0IHNpbXBsZSBjb21tYW5kcyB0aGF0IGFyZW4ndCB0aGUgbGFzdCBjb21tYW5kIGluIGEKKwkgICAgIHBpcGVsaW5lIGNoYW5nZSAkPyBmb3IgdGhlIHJlc3Qgb2YgdGhlIHBpcGVsaW5lIChvciBhdCBhbGwpLiAqLworCSAgaWYgKHBpcGVfb3V0ICE9IE5PX1BJUEUpCisJICAgIHJlc3VsdCA9IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlOwogCSAgY2xvc2VfcGlwZXMgKHBpcGVfaW4sIHBpcGVfb3V0KTsKICNpZiBkZWZpbmVkIChQUk9DRVNTX1NVQlNUSVRVVElPTikgJiYgZGVmaW5lZCAoSEFWRV9ERVZfRkQpCiAJICB1bmxpbmtfZmlmb19saXN0ICgpOwpAQCAtMzc3OCwxMiArMzg5NSwyMCBAQAogICBpZiAoYnVpbHRpbiB8fCBmdW5jKQogICAgIHsKICAgICAgIGlmIChidWlsdGluKQotCXVud2luZF9wcm90ZWN0X2ludCAoZXhlY3V0aW5nX2J1aWx0aW4pOwkvKiBtb2RpZmllZCBpbiBleGVjdXRlX2J1aWx0aW4gKi8KKyAgICAgICAgeworCSAgb2xkX2J1aWx0aW4gPSBleGVjdXRpbmdfYnVpbHRpbjsKKwkgIG9sZF9jb21tYW5kX2J1aWx0aW4gPSBleGVjdXRpbmdfY29tbWFuZF9idWlsdGluOworCSAgdW53aW5kX3Byb3RlY3RfaW50IChleGVjdXRpbmdfYnVpbHRpbik7CS8qIG1vZGlmaWVkIGluIGV4ZWN1dGVfYnVpbHRpbiAqLworCSAgdW53aW5kX3Byb3RlY3RfaW50IChleGVjdXRpbmdfY29tbWFuZF9idWlsdGluKTsJLyogZGl0dG8gKi8KKyAgICAgICAgfQogICAgICAgaWYgKGFscmVhZHlfZm9ya2VkKQogCXsKIAkgIC8qIHJlc2V0X3Rlcm1pbmF0aW5nX3NpZ25hbHMgKCk7ICovCS8qIFhYWCAqLwotCSAgLyogQ2FuY2VsIHRyYXBzLCBpbiB0cmFwLmMuICovCi0JICByZXN0b3JlX29yaWdpbmFsX3NpZ25hbHMgKCk7CisJICAvKiBSZXNldCB0aGUgc2lnbmFsIGhhbmRsZXJzIGluIHRoZSBjaGlsZCwgYnV0IGRvbid0IGZyZWUgdGhlCisJICAgICB0cmFwIHN0cmluZ3MuICBTZXQgYSBmbGFnIG5vdGluZyB0aGF0IHdlIGhhdmUgdG8gZnJlZSB0aGUKKwkgICAgIHRyYXAgc3RyaW5ncyBpZiB3ZSBydW4gdHJhcCB0byBjaGFuZ2UgYSBzaWduYWwgZGlzcG9zaXRpb24uICovCisJICByZXNldF9zaWduYWxfaGFuZGxlcnMgKCk7CisJICBzdWJzaGVsbF9lbnZpcm9ubWVudCB8PSBTVUJTSEVMTF9SRVNFVFRSQVA7CiAKIAkgIGlmIChhc3luYykKIAkgICAgewpAQCAtMzg0OSw3ICszOTc0LDcgQEAKICAgICBzaW1wbGVfY29tbWFuZC0+ZmxhZ3MgJj0gfkNNRF9OT19GT1JLOwogI2VuZGlmCiAKLSAgZXhlY3V0ZV9kaXNrX2NvbW1hbmQgKHdvcmRzLCBzaW1wbGVfY29tbWFuZC0+cmVkaXJlY3RzLCBjb21tYW5kX2xpbmUsCisgIHJlc3VsdCA9IGV4ZWN1dGVfZGlza19jb21tYW5kICh3b3Jkcywgc2ltcGxlX2NvbW1hbmQtPnJlZGlyZWN0cywgY29tbWFuZF9saW5lLAogCQkJcGlwZV9pbiwgcGlwZV9vdXQsIGFzeW5jLCBmZHNfdG9fY2xvc2UsCiAJCQlzaW1wbGVfY29tbWFuZC0+ZmxhZ3MpOwogCkBAIC0zODU3LDYgKzM5ODIsMTEgQEAKICAgYmluZF9sYXN0YXJnIChsYXN0YXJnKTsKICAgRlJFRSAoY29tbWFuZF9saW5lKTsKICAgZGlzcG9zZV93b3JkcyAod29yZHMpOworICBpZiAoYnVpbHRpbikKKyAgICB7CisgICAgICBleGVjdXRpbmdfYnVpbHRpbiA9IG9sZF9idWlsdGluOworICAgICAgZXhlY3V0aW5nX2NvbW1hbmRfYnVpbHRpbiA9IG9sZF9jb21tYW5kX2J1aWx0aW47CisgICAgfQogICBkaXNjYXJkX3Vud2luZF9mcmFtZSAoInNpbXBsZS1jb21tYW5kIik7CiAgIHRoaXNfY29tbWFuZF9uYW1lID0gKGNoYXIgKilOVUxMOwkvKiBwb2ludHMgdG8gZnJlZWQgbWVtb3J5IG5vdyAqLwogICByZXR1cm4gKHJlc3VsdCk7CkBAIC0zOTYyLDYgKzQwOTIsNyBAQAogICAgIH0KIAogICBleGVjdXRpbmdfYnVpbHRpbisrOworICBleGVjdXRpbmdfY29tbWFuZF9idWlsdGluIHw9IGJ1aWx0aW4gPT0gY29tbWFuZF9idWlsdGluOwogICByZXN1bHQgPSAoKCpidWlsdGluKSAod29yZHMtPm5leHQpKTsKIAogICAvKiBUaGlzIHNob3VsZG4ndCBoYXBwZW4sIGJ1dCBpbiBjYXNlIGByZXR1cm4nIGNvbWVzIGJhY2sgaW5zdGVhZCBvZgpAQCAtNDAwNCwyMCArNDEzNSwyMSBAQAogICBjaGFyICpkZWJ1Z190cmFwLCAqZXJyb3JfdHJhcCwgKnJldHVybl90cmFwOwogI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCiAgIFNIRUxMX1ZBUiAqZnVuY25hbWVfdiwgKm5mdiwgKmJhc2hfc291cmNlX3YsICpiYXNoX2xpbmVub192OwotICBBUlJBWSAqZnVuY25hbWVfYSwgKmJhc2hfc291cmNlX2EsICpiYXNoX2xpbmVub19hOworICBBUlJBWSAqZnVuY25hbWVfYTsKKyAgdm9sYXRpbGUgQVJSQVkgKmJhc2hfc291cmNlX2E7CisgIHZvbGF0aWxlIEFSUkFZICpiYXNoX2xpbmVub19hOwogI2VuZGlmCiAgIEZVTkNUSU9OX0RFRiAqc2hlbGxfZm47CiAgIGNoYXIgKnNmaWxlLCAqdDsKIAogICBVU0VfVkFSKGZjKTsKIAotI2lmIDAJLyogZm9yIGJhc2gtNC4yICovCiAgIGlmIChmdW5jbmVzdF9tYXggPiAwICYmIGZ1bmNuZXN0ID49IGZ1bmNuZXN0X21heCkKICAgICB7CiAgICAgICBpbnRlcm5hbF9lcnJvciAoIiVzOiBtYXhpbXVtIGZ1bmN0aW9uIG5lc3RpbmcgbGV2ZWwgZXhjZWVkZWQgKCVkKSIsIHZhci0+bmFtZSwgZnVuY25lc3QpOworICAgICAgZnVuY25lc3QgPSAwOwkvKiBYWFggLSBzaG91bGQgd2UgcmVzZXQgaXQgc29tZXdoZXJlIGVsc2U/ICovCiAgICAgICBqdW1wX3RvX3RvcF9sZXZlbCAoRElTQ0FSRCk7CiAgICAgfQotI2VuZGlmCiAKICNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQogICBHRVRfQVJSQVlfRlJPTV9WQVIgKCJGVU5DTkFNRSIsIGZ1bmNuYW1lX3YsIGZ1bmNuYW1lX2EpOwpAQCAtNDM0MywxNyArNDQ3NSwyOCBAQAogewogICBpbnQgcmVzdWx0OwogICBSRURJUkVDVCAqc2F2ZWRfdW5kb19saXN0OwotICBzaF9idWlsdGluX2Z1bmNfdCAqc2F2ZWRfdGhpc19zaGVsbF9idWlsdGluOworI2lmIGRlZmluZWQgKFBST0NFU1NfU1VCU1RJVFVUSU9OKQorICBpbnQgb2ZpZm8sIG5maWZvLCBvc2l6ZTsKKyAgY2hhciAqb2ZpZm9fbGlzdDsKKyNlbmRpZgorCisKKyNpZiBkZWZpbmVkIChQUk9DRVNTX1NVQlNUSVRVVElPTikgIAorICBvZmlmbyA9IG51bV9maWZvcyAoKTsKKyAgb2ZpZm9fbGlzdCA9IGNvcHlfZmlmb19saXN0ICgmb3NpemUpOworI2VuZGlmCiAKICAgaWYgKGRvX3JlZGlyZWN0aW9ucyAocmVkaXJlY3RzLCBSWF9BQ1RJVkV8UlhfVU5ET0FCTEUpICE9IDApCiAgICAgewogICAgICAgY2xlYW51cF9yZWRpcmVjdHMgKHJlZGlyZWN0aW9uX3VuZG9fbGlzdCk7CiAgICAgICByZWRpcmVjdGlvbl91bmRvX2xpc3QgPSAoUkVESVJFQ1QgKilOVUxMOwogICAgICAgZGlzcG9zZV9leGVjX3JlZGlyZWN0cyAoKTsKKyNpZiBkZWZpbmVkIChQUk9DRVNTX1NVQlNUSVRVVElPTikKKyAgICAgIGZyZWUgKG9maWZvX2xpc3QpOworI2VuZGlmCiAgICAgICByZXR1cm4gKEVYX1JFRElSRkFJTCk7CS8qIHdhcyBFWEVDVVRJT05fRkFJTFVSRSAqLwogICAgIH0KIAotICBzYXZlZF90aGlzX3NoZWxsX2J1aWx0aW4gPSB0aGlzX3NoZWxsX2J1aWx0aW47CiAgIHNhdmVkX3VuZG9fbGlzdCA9IHJlZGlyZWN0aW9uX3VuZG9fbGlzdDsKIAogICAvKiBDYWxsaW5nIHRoZSAiZXhlYyIgYnVpbHRpbiBjaGFuZ2VzIHJlZGlyZWN0aW9ucyBmb3JldmVyLiAqLwpAQCAtNDM5MywxMSArNDUzNiwxOCBAQAogICAgICBhbmQgcHJlc2VydmUgdGhlIHJlZGlyZWN0aW9ucy4gKi8KICAgaWYgKGJ1aWx0aW4gPT0gY29tbWFuZF9idWlsdGluICYmIHRoaXNfc2hlbGxfYnVpbHRpbiA9PSBleGVjX2J1aWx0aW4pCiAgICAgeworICAgICAgaW50IGRpc2NhcmQ7CisKKyAgICAgIGRpc2NhcmQgPSAwOwogICAgICAgaWYgKHNhdmVkX3VuZG9fbGlzdCkKLQlkaXNwb3NlX3JlZGlyZWN0cyAoc2F2ZWRfdW5kb19saXN0KTsKKwl7CisJICBkaXNwb3NlX3JlZGlyZWN0cyAoc2F2ZWRfdW5kb19saXN0KTsKKwkgIGRpc2NhcmQgPSAxOworCX0KICAgICAgIHJlZGlyZWN0aW9uX3VuZG9fbGlzdCA9IGV4ZWNfcmVkaXJlY3Rpb25fdW5kb19saXN0OwogICAgICAgc2F2ZWRfdW5kb19saXN0ID0gZXhlY19yZWRpcmVjdGlvbl91bmRvX2xpc3QgPSAoUkVESVJFQ1QgKilOVUxMOyAgICAgIAotICAgICAgZGlzY2FyZF91bndpbmRfZnJhbWUgKCJzYXZlZF9yZWRpcmVjdHMiKTsKKyAgICAgIGlmIChkaXNjYXJkKQorCWRpc2NhcmRfdW53aW5kX2ZyYW1lICgic2F2ZWQgcmVkaXJlY3RzIik7CiAgICAgfQogCiAgIGlmIChzYXZlZF91bmRvX2xpc3QpCkBAIC00NDEyLDYgKzQ1NjIsMTQgQEAKICAgICAgIHJlZGlyZWN0aW9uX3VuZG9fbGlzdCA9IChSRURJUkVDVCAqKU5VTEw7CiAgICAgfQogCisjaWYgZGVmaW5lZCAoUFJPQ0VTU19TVUJTVElUVVRJT04pCisgIC8qIENsb3NlIGFueSBGSUZPcyBjcmVhdGVkIGJ5IHRoaXMgYnVpbHRpbiBvciBmdW5jdGlvbi4gKi8KKyAgbmZpZm8gPSBudW1fZmlmb3MgKCk7CisgIGlmIChuZmlmbyA+IG9maWZvKQorICAgIGNsb3NlX25ld19maWZvcyAob2ZpZm9fbGlzdCwgb3NpemUpOworICBmcmVlIChvZmlmb19saXN0KTsKKyNlbmRpZgorCiAgIHJldHVybiAocmVzdWx0KTsKIH0KIApAQCAtNDQ1Nyw3ICs0NjE1LDcgQEAKICMgIGRlZmluZSBOT1RGT1VORF9IT09LICJjb21tYW5kX25vdF9mb3VuZF9oYW5kbGUiCiAjZW5kaWYKIAotc3RhdGljIHZvaWQKK3N0YXRpYyBpbnQKIGV4ZWN1dGVfZGlza19jb21tYW5kICh3b3JkcywgcmVkaXJlY3RzLCBjb21tYW5kX2xpbmUsIHBpcGVfaW4sIHBpcGVfb3V0LAogCQkgICAgICBhc3luYywgZmRzX3RvX2Nsb3NlLCBjbWRmbGFncykKICAgICAgV09SRF9MSVNUICp3b3JkczsKQEAgLTQ0NjgsNyArNDYyNiw3IEBACiAgICAgIGludCBjbWRmbGFnczsKIHsKICAgY2hhciAqcGF0aG5hbWUsICpjb21tYW5kLCAqKmFyZ3M7Ci0gIGludCBub2Zvcms7CisgIGludCBub2ZvcmssIHJlc3VsdDsKICAgcGlkX3QgcGlkOwogICBTSEVMTF9WQVIgKmhvb2tmOwogICBXT1JEX0xJU1QgKndsOwpAQCAtNDQ3NiwxMyArNDYzNCwxNCBAQAogICBub2ZvcmsgPSAoY21kZmxhZ3MgJiBDTURfTk9fRk9SSyk7ICAvKiBEb24ndCBmb3JrLCBqdXN0IGV4ZWMsIGlmIG5vIHBpcGVzICovCiAgIHBhdGhuYW1lID0gd29yZHMtPndvcmQtPndvcmQ7CiAKKyAgcmVzdWx0ID0gRVhFQ1VUSU9OX1NVQ0NFU1M7CiAjaWYgZGVmaW5lZCAoUkVTVFJJQ1RFRF9TSEVMTCkKICAgY29tbWFuZCA9IChjaGFyICopTlVMTDsKICAgaWYgKHJlc3RyaWN0ZWQgJiYgbWJzY2hyIChwYXRobmFtZSwgJy8nKSkKICAgICB7CiAgICAgICBpbnRlcm5hbF9lcnJvciAoXygiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIiksCiAJCSAgICBwYXRobmFtZSk7Ci0gICAgICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IEVYRUNVVElPTl9GQUlMVVJFOworICAgICAgcmVzdWx0ID0gbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBFWEVDVVRJT05fRkFJTFVSRTsKIAogICAgICAgLyogSWYgd2UncmUgbm90IGdvaW5nIHRvIGZvcmsgYmVsb3csIHdlIG11c3QgYWxyZWFkeSBiZSBpbiBhIGNoaWxkCiAgICAgICAgICBwcm9jZXNzIG9yIGEgY29udGV4dCBpbiB3aGljaCBpdCdzIHNhZmUgdG8gY2FsbCBleGl0KDIpLiAgKi8KQEAgLTQ1MjIsNiArNDY4MSw3IEBACiAjZW5kaWYKICNlbmRpZgogCisgICAgICByZXNldF90ZXJtaW5hdGluZ19zaWduYWxzICgpOwkvKiBYWFggKi8KICAgICAgIC8qIENhbmNlbCB0cmFwcywgaW4gdHJhcC5jLiAqLwogICAgICAgcmVzdG9yZV9vcmlnaW5hbF9zaWduYWxzICgpOwogCkBAIC00NTcxLDYgKzQ3MzEsOSBAQAogCSAgaG9va2YgPSBmaW5kX2Z1bmN0aW9uIChOT1RGT1VORF9IT09LKTsKIAkgIGlmIChob29rZiA9PSAwKQogCSAgICB7CisJICAgICAgLyogTWFrZSBzdXJlIGZpbGVuYW1lcyBhcmUgZGlzcGxheWVkIHVzaW5nIHByaW50YWJsZSBjaGFyYWN0ZXJzICovCisJICAgICAgaWYgKGFuc2ljX3Nob3VsZHF1b3RlIChwYXRobmFtZSkpCisJCXBhdGhuYW1lID0gYW5zaWNfcXVvdGUgKHBhdGhuYW1lLCAwLCBOVUxMKTsKIAkgICAgICBpbnRlcm5hbF9lcnJvciAoXygiJXM6IGNvbW1hbmQgbm90IGZvdW5kIiksIHBhdGhuYW1lKTsKIAkgICAgICBleGl0IChFWF9OT1RGT1VORCk7CS8qIFBvc2l4LjIgc2F5cyB0aGUgZXhpdCBzdGF0dXMgaXMgMTI3ICovCiAJICAgIH0KQEAgLTQ1OTUsNiArNDc1OCw3IEBACiAgICAgICAgIHVubGlua19maWZvX2xpc3QgKCk7CiAjZW5kaWYKICAgICAgIEZSRUUgKGNvbW1hbmQpOworICAgICAgcmV0dXJuIChyZXN1bHQpOwogICAgIH0KIH0KIApAQCAtNDc5Myw3ICs0OTU3LDExIEBACiAgIGlmIChpICE9IEVOT0VYRUMpCiAgICAgewogICAgICAgaWYgKGZpbGVfaXNkaXIgKGNvbW1hbmQpKQorI2lmIGRlZmluZWQgKEVJU0RJUikKKwlpbnRlcm5hbF9lcnJvciAoXygiJXM6ICVzIiksIGNvbW1hbmQsIHN0cmVycm9yIChFSVNESVIpKTsKKyNlbHNlCiAJaW50ZXJuYWxfZXJyb3IgKF8oIiVzOiBpcyBhIGRpcmVjdG9yeSIpLCBjb21tYW5kKTsKKyNlbmRpZgogICAgICAgZWxzZSBpZiAoZXhlY3V0YWJsZV9maWxlIChjb21tYW5kKSA9PSAwKQogCXsKIAkgIGVycm5vID0gaTsKQEAgLTQ5OTAsNiArNTE1OCwxMCBAQAogCWR1cF9lcnJvciAocGlwZV9pbiwgMCk7CiAgICAgICBpZiAocGlwZV9pbiA+IDApCiAJY2xvc2UgKHBpcGVfaW4pOworI2lmZGVmIF9fQ1lHV0lOX18KKyAgICAgIC8qIExldCBzdGRpbyBrbm93IHRoZSBmZCBtYXkgaGF2ZSBjaGFuZ2VkIGZyb20gdGV4dCB0byBiaW5hcnkgbW9kZS4gKi8KKyAgICAgIGZyZW9wZW4gKE5VTEwsICJyIiwgc3RkaW4pOworI2VuZGlmIC8qIF9fQ1lHV0lOX18gKi8KICAgICB9CiAgIGlmIChwaXBlX291dCAhPSBOT19QSVBFKQogICAgIHsKQEAgLTUwMDUsNSArNTE3NywxMSBAQAogCSAgaWYgKGR1cDIgKDEsIDIpIDwgMCkKIAkgICAgZHVwX2Vycm9yICgxLCAyKTsKIAl9CisjaWZkZWYgX19DWUdXSU5fXworICAgICAgLyogTGV0IHN0ZGlvIGtub3cgdGhlIGZkIG1heSBoYXZlIGNoYW5nZWQgZnJvbSB0ZXh0IHRvIGJpbmFyeSBtb2RlLCBhbmQKKwkgbWFrZSBzdXJlIHRvIHByZXNlcnZlIHN0ZG91dCBsaW5lIGJ1ZmZlcmluZy4gKi8KKyAgICAgIGZyZW9wZW4gKE5VTEwsICJ3Iiwgc3Rkb3V0KTsKKyAgICAgIHNoX3NldGxpbmVidWYgKHN0ZG91dCk7CisjZW5kaWYgLyogX19DWUdXSU5fXyAqLwogICAgIH0KIH0KZGlmZiAtLWdpdCBhL2V4cHIuYyBiL2V4cHIuYwppbmRleCA0NDZlNjc4Li4yMTc3Y2ZhIDEwMDY0NAotLS0gYS9leHByLmMKKysrIGIvZXhwci5jCkBAIC0xLDYgKzEsNiBAQAogLyogZXhwci5jIC0tIGFyaXRobWV0aWMgZXhwcmVzc2lvbiBldmFsdWF0aW9uLiAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDE5OTAtMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMTk5MC0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtMTM3LDYgKzEzNywyOCBAQAogICAgaGlnaGVzdCBwcmVjZWRlbmNlLiAqLwogI2RlZmluZSBFWFBfSElHSEVTVAlleHBjb21tYQogCisjaWZuZGVmIE1BWF9JTlRfTEVOCisjICBkZWZpbmUgTUFYX0lOVF9MRU4gMzIKKyNlbmRpZgorCitzdHJ1Y3QgbHZhbHVlCit7CisgIGNoYXIgKnRva3N0cjsJCS8qIHBvc3NpYmx5LXJld3JpdHRlbiBsdmFsdWUgaWYgbm90IE5VTEwgKi8KKyAgaW50bWF4X3QgdG9rdmFsOwkvKiBleHByZXNzaW9uIGV2YWx1YXRlZCB2YWx1ZSAqLworICBTSEVMTF9WQVIgKnRva3ZhcjsJLyogdmFyaWFibGUgZGVzY3JpYmVkIGJ5IGFycmF5IG9yIHZhciByZWZlcmVuY2UgKi8KKyAgaW50bWF4X3QgaW5kOwkJLyogYXJyYXkgaW5kZXggaWYgbm90IC0xICovCit9OworCisvKiBBIHN0cnVjdHVyZSBkZWZpbmluZyBhIHNpbmdsZSBleHByZXNzaW9uIGNvbnRleHQuICovCit0eXBlZGVmIHN0cnVjdCB7CisgIGludCBjdXJ0b2ssIGxhc3R0b2s7CisgIGNoYXIgKmV4cHJlc3Npb24sICp0cCwgKmxhc3R0cDsKKyAgaW50bWF4X3QgdG9rdmFsOworICBjaGFyICp0b2tzdHI7CisgIGludCBub2V2YWw7CisgIHN0cnVjdCBsdmFsdWUgbHZhbDsKK30gRVhQUl9DT05URVhUOworCiBzdGF0aWMgY2hhcgkqZXhwcmVzc2lvbjsJLyogVGhlIGN1cnJlbnQgZXhwcmVzc2lvbiAqLwogc3RhdGljIGNoYXIJKnRwOwkJLyogdG9rZW4gbGV4aWNhbCBwb3NpdGlvbiAqLwogc3RhdGljIGNoYXIJKmxhc3R0cDsJLyogcG9pbnRlciB0byBsYXN0IHRva2VuIHBvc2l0aW9uICovCkBAIC0xNDgsMTAgKzE3MCwxNyBAQAogc3RhdGljIGludAlub2V2YWw7CQkvKiBzZXQgdG8gMSBpZiBubyBhc3NpZ25tZW50IHRvIGJlIGRvbmUgKi8KIHN0YXRpYyBwcm9jZW52X3QgZXZhbGJ1ZjsKIAorc3RhdGljIHN0cnVjdCBsdmFsdWUgY3VybHZhbCA9IHswLCAwLCAwLCAtMX07CitzdGF0aWMgc3RydWN0IGx2YWx1ZSBsYXN0bHZhbCA9IHswLCAwLCAwLCAtMX07CisKIHN0YXRpYyBpbnQJX2lzX2FyaXRob3AgX19QKChpbnQpKTsKIHN0YXRpYyB2b2lkCXJlYWR0b2sgX19QKCh2b2lkKSk7CS8qIGxleGljYWwgYW5hbHl6ZXIgKi8KIAotc3RhdGljIGludG1heF90CWV4cHJfc3RyZXZhbCBfX1AoKGNoYXIgKiwgaW50KSk7CitzdGF0aWMgdm9pZAlpbml0X2x2YWx1ZSBfX1AoKHN0cnVjdCBsdmFsdWUgKikpOworc3RhdGljIHN0cnVjdCBsdmFsdWUgKmFsbG9jX2x2YWx1ZSBfX1AoKHZvaWQpKTsKK3N0YXRpYyB2b2lkCWZyZWVfbHZhbHVlIF9fUCgoc3RydWN0IGx2YWx1ZSAqKSk7CisKK3N0YXRpYyBpbnRtYXhfdAlleHByX3N0cmV2YWwgX19QKChjaGFyICosIGludCwgc3RydWN0IGx2YWx1ZSAqKSk7CiBzdGF0aWMgaW50bWF4X3QJc3RybG9uZyBfX1AoKGNoYXIgKikpOwogc3RhdGljIHZvaWQJZXZhbGVycm9yIF9fUCgoY29uc3QgY2hhciAqKSk7CiAKQEAgLTE1OSw2ICsxODgsNyBAQAogc3RhdGljIHZvaWQJcG9wZXhwIF9fUCgodm9pZCkpOwogc3RhdGljIHZvaWQJZXhwcl91bndpbmQgX19QKCh2b2lkKSk7CiBzdGF0aWMgdm9pZAlleHByX2JpbmRfdmFyaWFibGUgX19QKChjaGFyICosIGNoYXIgKikpOworc3RhdGljIHZvaWQJZXhwcl9iaW5kX2FycmF5X2VsZW1lbnQgX19QKChjaGFyICosIGFycmF5aW5kX3QsIGNoYXIgKikpOwogCiBzdGF0aWMgaW50bWF4X3Qgc3ViZXhwciBfX1AoKGNoYXIgKikpOwogCkBAIC0xNzksMjMgKzIwOSw2IEBACiBzdGF0aWMgaW50bWF4X3QgZXhwMSBfX1AoKHZvaWQpKTsKIHN0YXRpYyBpbnRtYXhfdCBleHAwIF9fUCgodm9pZCkpOwogCi0vKiBBIHN0cnVjdHVyZSBkZWZpbmluZyBhIHNpbmdsZSBleHByZXNzaW9uIGNvbnRleHQuICovCi10eXBlZGVmIHN0cnVjdCB7Ci0gIGludCBjdXJ0b2ssIGxhc3R0b2s7Ci0gIGNoYXIgKmV4cHJlc3Npb24sICp0cCwgKmxhc3R0cDsKLSAgaW50bWF4X3QgdG9rdmFsOwotICBjaGFyICp0b2tzdHI7Ci0gIGludCBub2V2YWw7Ci19IEVYUFJfQ09OVEVYVDsKLQotI2lmZGVmIElOQ0xVREVfVU5VU0VECi0vKiBOb3QgdXNlZCB5ZXQuICovCi10eXBlZGVmIHN0cnVjdCB7Ci0gIGNoYXIgKnRva3N0cjsKLSAgaW50bWF4X3QgdG9rdmFsOwotfSBMVkFMVUU7Ci0jZW5kaWYKLQogLyogR2xvYmFsIHZhciB3aGljaCBjb250YWlucyB0aGUgc3RhY2sgb2YgZXhwcmVzc2lvbiBjb250ZXh0cy4gKi8KIHN0YXRpYyBFWFBSX0NPTlRFWFQgKipleHByX3N0YWNrOwogc3RhdGljIGludCBleHByX2RlcHRoOwkJICAgLyogTG9jYXRpb24gaW4gdGhlIHN0YWNrLiAqLwpAQCAtMjE3LDYgKzIzMCw3IEBACiAgICAgKFgpLT50b2t2YWwgPSB0b2t2YWw7IFwKICAgICAoWCktPnRva3N0ciA9IHRva3N0cjsgXAogICAgIChYKS0+bm9ldmFsID0gbm9ldmFsOyBcCisgICAgKFgpLT5sdmFsID0gY3VybHZhbDsgXAogICB9IHdoaWxlICgwKQogCiAjZGVmaW5lIFJFU1RPUkVUT0soWCkgXApAQCAtMjI4LDYgKzI0Miw3IEBACiAgICAgdG9rdmFsID0gKFgpLT50b2t2YWw7IFwKICAgICB0b2tzdHIgPSAoWCktPnRva3N0cjsgXAogICAgIG5vZXZhbCA9IChYKS0+bm9ldmFsOyBcCisgICAgY3VybHZhbCA9IChYKS0+bHZhbDsgXAogICB9IHdoaWxlICgwKQogCiAvKiBQdXNoIGFuZCBzYXZlIGF3YXkgdGhlIGNvbnRlbnRzIG9mIHRoZSBnbG9iYWxzIGRlc2NyaWJpbmcgdGhlCkBAIC0yOTgsNiArMzEzLDMyIEBACiAgIHN0dXBpZGx5X2hhY2tfc3BlY2lhbF92YXJpYWJsZXMgKGxocyk7CiB9CiAKKy8qIFJld3JpdGUgdG9rLCB3aGljaCBpcyBvZiB0aGUgZm9ybSB2bmFtZVtleHByZXNzaW9uXSwgdG8gdm5hbWVbaW5kXSwgd2hlcmUKKyAgIElORCBpcyB0aGUgYWxyZWFkeS1jYWxjdWxhdGVkIHZhbHVlIG9mIGV4cHJlc3Npb24uICovCitzdGF0aWMgdm9pZAorZXhwcl9iaW5kX2FycmF5X2VsZW1lbnQgKHRvaywgaW5kLCByaHMpCisgICAgIGNoYXIgKnRvazsKKyAgICAgYXJyYXlpbmRfdCBpbmQ7CisgICAgIGNoYXIgKnJoczsKK3sKKyAgY2hhciAqbGhzLCAqdm5hbWU7CisgIHNpemVfdCBsbGVuOworICBjaGFyIGlidWZbSU5UX1NUUkxFTl9CT1VORCAoYXJyYXlpbmRfdCkgKyAxXSwgKmlzdHI7CisKKyAgaXN0ciA9IGZtdHVtYXggKGluZCwgMTAsIGlidWYsIHNpemVvZiAoaWJ1ZiksIDApOworICB2bmFtZSA9IGFycmF5X3ZhcmlhYmxlX25hbWUgKHRvaywgKGNoYXIgKiopTlVMTCwgKGludCAqKU5VTEwpOworCisgIGxsZW4gPSBzdHJsZW4gKHZuYW1lKSArIHNpemVvZiAoaWJ1ZikgKyAzOworICBsaHMgPSB4bWFsbG9jIChsbGVuKTsKKworICBzcHJpbnRmIChsaHMsICIlc1slc10iLCB2bmFtZSwgaXN0cik7CQkvKiBYWFggKi8KKyAgCisgIGV4cHJfYmluZF92YXJpYWJsZSAobGhzLCByaHMpOworLyppdHJhY2UoImV4cHJfYmluZF9hcnJheV9lbGVtZW50OiAlcz0lcyIsIGxocywgcmhzKTsqLworICBmcmVlICh2bmFtZSk7CisgIGZyZWUgKGxocyk7Cit9CisKIC8qIEV2YWx1YXRlIEVYUFIsIGFuZCByZXR1cm4gdGhlIGFyaXRobWV0aWMgcmVzdWx0LiAgSWYgVkFMSURQIGlzCiAgICBub24tbnVsbCwgYSB6ZXJvIGlzIHN0b3JlZCBpbnRvIHRoZSBsb2NhdGlvbiB0byB3aGljaCBpdCBwb2ludHMKICAgIGlmIHRoZSBleHByZXNzaW9uIGlzIGludmFsaWQsIG5vbi16ZXJvIG90aGVyd2lzZS4gIElmIGEgbm9uLXplcm8KQEAgLTM2NCwxMiArNDA1LDE0IEBACiAgICAgcmV0dXJuICgwKTsKIAogICBwdXNoZXhwICgpOwotICBjdXJ0b2sgPSBsYXN0dG9rID0gMDsKICAgZXhwcmVzc2lvbiA9IHNhdmVzdHJpbmcgKGV4cHIpOwogICB0cCA9IGV4cHJlc3Npb247CiAKKyAgY3VydG9rID0gbGFzdHRvayA9IDA7CiAgIHRva3N0ciA9IChjaGFyICopTlVMTDsKICAgdG9rdmFsID0gMDsKKyAgaW5pdF9sdmFsdWUgKCZjdXJsdmFsKTsKKyAgbGFzdGx2YWwgPSBjdXJsdmFsOwogCiAgIHJlYWR0b2sgKCk7CiAKQEAgLTQwNiw2ICs0NDksNyBAQAogewogICByZWdpc3RlciBpbnRtYXhfdCB2YWx1ZTsKICAgY2hhciAqbGhzLCAqcmhzOworICBhcnJheWluZF90IGxpbmQ7CiAKICAgdmFsdWUgPSBleHBjb25kICgpOwogICBpZiAoY3VydG9rID09IEVRIHx8IGN1cnRvayA9PSBPUF9BU1NJR04pCkBAIC00MjUsNiArNDY5LDggQEAKIAl9CiAKICAgICAgIGxocyA9IHNhdmVzdHJpbmcgKHRva3N0cik7CisgICAgICAvKiBzYXZlIGluZCBpbiBjYXNlIHJocyBpcyBzdHJpbmcgdmFyIGFuZCBldmFsdWF0aW9uIG92ZXJ3cml0ZXMgaXQgKi8KKyAgICAgIGxpbmQgPSBjdXJsdmFsLmluZDsKICAgICAgIHJlYWR0b2sgKCk7CiAgICAgICB2YWx1ZSA9IGV4cGFzc2lnbiAoKTsKIApAQCAtNDc2LDcgKzUyMiwxMiBAQAogCiAgICAgICByaHMgPSBpdG9zICh2YWx1ZSk7CiAgICAgICBpZiAobm9ldmFsID09IDApCi0JZXhwcl9iaW5kX3ZhcmlhYmxlIChsaHMsIHJocyk7CisJeworCSAgaWYgKGxpbmQgIT0gLTEpCisJICAgIGV4cHJfYmluZF9hcnJheV9lbGVtZW50IChsaHMsIGxpbmQsIHJocyk7CisJICBlbHNlCisJICAgIGV4cHJfYmluZF92YXJpYWJsZSAobGhzLCByaHMpOworCX0KICAgICAgIGZyZWUgKHJocyk7CiAgICAgICBmcmVlIChsaHMpOwogICAgICAgRlJFRSAodG9rc3RyKTsKQEAgLTgwMSw2ICs4NTIsMTYgQEAKICAgICAgIHJlYWR0b2sgKCk7CiAgICAgICB2YWwgPSB+ZXhwMSAoKTsKICAgICB9CisgIGVsc2UgaWYgKGN1cnRvayA9PSBNSU5VUykKKyAgICB7CisgICAgICByZWFkdG9rICgpOworICAgICAgdmFsID0gLSBleHAxICgpOworICAgIH0KKyAgZWxzZSBpZiAoY3VydG9rID09IFBMVVMpCisgICAgeworICAgICAgcmVhZHRvayAoKTsKKyAgICAgIHZhbCA9IGV4cDEgKCk7CisgICAgfQogICBlbHNlCiAgICAgdmFsID0gZXhwMCAoKTsKIApAQCAtODI4LDIzICs4ODksMTggQEAKICAgICAgIHYyID0gdG9rdmFsICsgKChzdG9rID09IFBSRUlOQykgPyAxIDogLTEpOwogICAgICAgdmluY2RlYyA9IGl0b3MgKHYyKTsKICAgICAgIGlmIChub2V2YWwgPT0gMCkKLQlleHByX2JpbmRfdmFyaWFibGUgKHRva3N0ciwgdmluY2RlYyk7CisJeworCSAgaWYgKGN1cmx2YWwuaW5kICE9IC0xKQorCSAgICBleHByX2JpbmRfYXJyYXlfZWxlbWVudCAoY3VybHZhbC50b2tzdHIsIGN1cmx2YWwuaW5kLCB2aW5jZGVjKTsKKwkgIGVsc2UKKwkgICAgZXhwcl9iaW5kX3ZhcmlhYmxlICh0b2tzdHIsIHZpbmNkZWMpOworCX0KICAgICAgIGZyZWUgKHZpbmNkZWMpOwogICAgICAgdmFsID0gdjI7CiAKICAgICAgIGN1cnRvayA9IE5VTTsJLyogbWFrZSBzdXJlIC0teD03IGlzIGZsYWdnZWQgYXMgYW4gZXJyb3IgKi8KICAgICAgIHJlYWR0b2sgKCk7CiAgICAgfQotICBlbHNlIGlmIChjdXJ0b2sgPT0gTUlOVVMpCi0gICAgewotICAgICAgcmVhZHRvayAoKTsKLSAgICAgIHZhbCA9IC0gZXhwMCAoKTsKLSAgICB9Ci0gIGVsc2UgaWYgKGN1cnRvayA9PSBQTFVTKQotICAgIHsKLSAgICAgIHJlYWR0b2sgKCk7Ci0gICAgICB2YWwgPSBleHAwICgpOwotICAgIH0KICAgZWxzZSBpZiAoY3VydG9rID09IExQQVIpCiAgICAgewogICAgICAgcmVhZHRvayAoKTsKQEAgLTg3MywxMiArOTI5LDE4IEBACiAgCSAgICAgIC8qIHJlc3RvcmUgY2VydGFpbiBwb3J0aW9ucyBvZiBFQyAqLwogIAkgICAgICB0b2tzdHIgPSBlYy50b2tzdHI7CiAgCSAgICAgIG5vZXZhbCA9IGVjLm5vZXZhbDsKKyAJICAgICAgY3VybHZhbCA9IGVjLmx2YWw7CiAgCSAgICAgIGxhc3R0b2sgPSBTVFI7CS8qIGVjLmN1cnRvayAqLwogCiAJICAgICAgdjIgPSB2YWwgKyAoKHN0b2sgPT0gUE9TVElOQykgPyAxIDogLTEpOwogCSAgICAgIHZpbmNkZWMgPSBpdG9zICh2Mik7CiAJICAgICAgaWYgKG5vZXZhbCA9PSAwKQotCQlleHByX2JpbmRfdmFyaWFibGUgKHRva3N0ciwgdmluY2RlYyk7CisJCXsKKwkJICBpZiAoY3VybHZhbC5pbmQgIT0gLTEpCisJCSAgICBleHByX2JpbmRfYXJyYXlfZWxlbWVudCAoY3VybHZhbC50b2tzdHIsIGN1cmx2YWwuaW5kLCB2aW5jZGVjKTsKKwkJICBlbHNlCisJCSAgICBleHByX2JpbmRfdmFyaWFibGUgKHRva3N0ciwgdmluY2RlYyk7CisJCX0KIAkgICAgICBmcmVlICh2aW5jZGVjKTsKIAkgICAgICBjdXJ0b2sgPSBOVU07CS8qIG1ha2Ugc3VyZSB4Kys9NyBpcyBmbGFnZ2VkIGFzIGFuIGVycm9yICovCiAgCSAgICB9CkBAIC04OTksMTQgKzk2MSw0NCBAQAogICByZXR1cm4gKHZhbCk7CiB9CiAKK3N0YXRpYyB2b2lkCitpbml0X2x2YWx1ZSAobHYpCisgICAgIHN0cnVjdCBsdmFsdWUgKmx2OworeworICBsdi0+dG9rc3RyID0gMDsKKyAgbHYtPnRva3ZhciA9IDA7CisgIGx2LT50b2t2YWwgPSBsdi0+aW5kID0gLTE7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbHZhbHVlICoKK2FsbG9jX2x2YWx1ZSAoKQoreworICBzdHJ1Y3QgbHZhbHVlICpsdjsKKworICBsdiA9IHhtYWxsb2MgKHNpemVvZiAoc3RydWN0IGx2YWx1ZSkpOworICBpbml0X2x2YWx1ZSAobHYpOworICByZXR1cm4gKGx2KTsKK30KKworc3RhdGljIHZvaWQKK2ZyZWVfbHZhbHVlIChsdikKKyAgICAgc3RydWN0IGx2YWx1ZSAqbHY7Cit7CisgIGZyZWUgKGx2KTsJCS8qIHNob3VsZCBiZSBpbmxpbmVkICovCit9CisKIHN0YXRpYyBpbnRtYXhfdAotZXhwcl9zdHJldmFsICh0b2ssIGUpCitleHByX3N0cmV2YWwgKHRvaywgZSwgbHZhbHVlKQogICAgICBjaGFyICp0b2s7CiAgICAgIGludCBlOworICAgICBzdHJ1Y3QgbHZhbHVlICpsdmFsdWU7CiB7CiAgIFNIRUxMX1ZBUiAqdjsKICAgY2hhciAqdmFsdWU7CiAgIGludG1heF90IHR2YWw7CisjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKKyAgYXJyYXlpbmRfdCBpbmQ7CisjZW5kaWYKIAogICAvKiBbW1tbWyAqLwogI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCkBAIC05NDEsMTggKzEwMzMsMjcgQEAKIAlqdW1wX3RvX3RvcF9sZXZlbCAoRk9SQ0VfRU9GKTsKICAgICB9CiAKKyAgaW5kID0gLTE7CiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKICAgLyogU2Vjb25kIGFyZ3VtZW50IG9mIDAgdG8gZ2V0X2FycmF5X3ZhbHVlIG1lYW5zIHRoYXQgd2UgZG9uJ3QgYWxsb3cKICAgICAgcmVmZXJlbmNlcyBsaWtlIGFycmF5W0BdLiAgSW4gdGhpcyBjYXNlLCBnZXRfYXJyYXlfdmFsdWUgaXMganVzdAogICAgICBsaWtlIGdldF92YXJpYWJsZV92YWx1ZSBpbiB0aGF0IGl0IGRvZXMgbm90IHJldHVybiBuZXdseS1hbGxvY2F0ZWQKICAgICAgbWVtb3J5IG9yIHF1b3RlIHRoZSByZXN1bHRzLiAqLwotICB2YWx1ZSA9IChlID09ICddJykgPyBnZXRfYXJyYXlfdmFsdWUgKHRvaywgMCwgKGludCAqKU5VTEwpIDogZ2V0X3ZhcmlhYmxlX3ZhbHVlICh2KTsKKyAgdmFsdWUgPSAoZSA9PSAnXScpID8gZ2V0X2FycmF5X3ZhbHVlICh0b2ssIDAsIChpbnQgKilOVUxMLCAmaW5kKSA6IGdldF92YXJpYWJsZV92YWx1ZSAodik7CiAjZWxzZQogICB2YWx1ZSA9IGdldF92YXJpYWJsZV92YWx1ZSAodik7CiAjZW5kaWYKIAogICB0dmFsID0gKHZhbHVlICYmICp2YWx1ZSkgPyBzdWJleHByICh2YWx1ZSkgOiAwOwogCisgIGlmIChsdmFsdWUpCisgICAgeworICAgICAgbHZhbHVlLT50b2tzdHIgPSB0b2s7CS8qIFhYWCAqLworICAgICAgbHZhbHVlLT50b2t2YWwgPSB0dmFsOworICAgICAgbHZhbHVlLT50b2t2YXIgPSB2OwkvKiBYWFggKi8KKyAgICAgIGx2YWx1ZS0+aW5kID0gaW5kOworICAgIH0KKwkgIAogICByZXR1cm4gKHR2YWwpOwogfQogCkBAIC0xMDI0LDYgKzExMjUsNyBAQAogICByZWdpc3RlciBjaGFyICpjcCwgKnhwOwogICByZWdpc3RlciB1bnNpZ25lZCBjaGFyIGMsIGMxOwogICByZWdpc3RlciBpbnQgZTsKKyAgc3RydWN0IGx2YWx1ZSBsdmFsOwogCiAgIC8qIFNraXAgbGVhZGluZyB3aGl0ZXNwYWNlLiAqLwogICBjcCA9IHRwOwpAQCAtMTA3NSw2ICsxMTc3LDcgQEAKICAgICAgIHRva3N0ciA9IHNhdmVzdHJpbmcgKHRwKTsKICAgICAgICpjcCA9IGM7CiAKKyAgICAgIC8qIFhYWCAtIG1ha2UgcGVla3RvayBwYXJ0IG9mIHNhdmVkIHRva2VuIHN0YXRlPyAqLwogICAgICAgU0FWRVRPSyAoJmVjKTsKICAgICAgIHRva3N0ciA9IChjaGFyICopTlVMTDsJLyoga2VlcCBpdCBmcm9tIGJlaW5nIGZyZWVkICovCiAgICAgICB0cCA9IHNhdmVjcCA9IGNwOwpAQCAtMTA5MCw3ICsxMTkzLDEwIEBACiAgICAgICAvKiBUaGUgdGVzdHMgZm9yIFBSRUlOQyBhbmQgUFJFREVDIGFyZW4ndCBzdHJpY3RseSBjb3JyZWN0LCBidXQgdGhleQogCSBwcmVzZXJ2ZSBvbGQgYmVoYXZpb3IgaWYgYSBjb25zdHJ1Y3QgbGlrZSAtLXg9OSBpcyBnaXZlbi4gKi8KICAgICAgIGlmIChsYXN0dG9rID09IFBSRUlOQyB8fCBsYXN0dG9rID09IFBSRURFQyB8fCBwZWVrdG9rICE9IEVRKQotCXRva3ZhbCA9IGV4cHJfc3RyZXZhbCAodG9rc3RyLCBlKTsKKyAgICAgICAgeworICAgICAgICAgIGxhc3RsdmFsID0gY3VybHZhbDsKKwkgIHRva3ZhbCA9IGV4cHJfc3RyZXZhbCAodG9rc3RyLCBlLCAmY3VybHZhbCk7CisgICAgICAgIH0KICAgICAgIGVsc2UKIAl0b2t2YWwgPSAwOwogCmRpZmYgLS1naXQgYS9leHRlcm5zLmggYi9leHRlcm5zLmgKaW5kZXggYzhhYTg2Mi4uMDkyNDRmYSAxMDA2NDQKLS0tIGEvZXh0ZXJucy5oCisrKyBiL2V4dGVybnMuaApAQCAtMSw3ICsxLDcgQEAKIC8qIGV4dGVybnMuaCAtLSBleHRlcm4gZnVuY3Rpb24gZGVjbGFyYXRpb25zIHdoaWNoIGRvIG5vdCBhcHBlYXIgaW4gdGhlaXIKICAgIG93biBoZWFkZXIgZmlsZS4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTkzLTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5OTMtMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTExNCw3ICsxMTQsNyBAQAogZXh0ZXJuIHZvaWQgc2V0X2N1cnJlbnRfcHJvbXB0X2xldmVsIF9fUCgoaW50KSk7CiAKICNpZiBkZWZpbmVkIChISVNUT1JZKQotZXh0ZXJuIGNoYXIgKmhpc3RvcnlfZGVsaW1pdGluZ19jaGFycyBfX1AoKHZvaWQpKTsKK2V4dGVybiBjaGFyICpoaXN0b3J5X2RlbGltaXRpbmdfY2hhcnMgX19QKChjb25zdCBjaGFyICopKTsKICNlbmRpZgogCiAvKiBEZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGxvY2FsZS5jICovCkBAIC0xNzgsOCArMTc4LDEwIEBACiBleHRlcm4gdm9pZCBjbG9ja190X3RvX3NlY3MgKCk7CiBleHRlcm4gdm9pZCBwcmludF9jbG9ja190ICgpOwogCi0vKiBEZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGxpYi9zaC9mZHByaW50Zi5jICovCi1leHRlcm4gdm9pZCBmZHByaW50ZiBfX1AoKGludCwgY29uc3QgY2hhciAqLCAuLi4pKSAgX19hdHRyaWJ1dGVfXygoX19mb3JtYXRfXyAocHJpbnRmLCAyLCAzKSkpOworLyogRGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBsaWIvc2gvZHByaW50Zi5jICovCisjaWYgIWRlZmluZWQgKEhBVkVfRFBSSU5URikKK2V4dGVybiB2b2lkIGRwcmludGYgX19QKChpbnQsIGNvbnN0IGNoYXIgKiwgLi4uKSkgIF9fYXR0cmlidXRlX18oKF9fZm9ybWF0X18gKHByaW50ZiwgMiwgMykpKTsKKyNlbmRpZgogCiAvKiBEZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGxpYi9zaC9mbXR1bG9uZy5jICovCiAjZGVmaW5lIEZMX1BSRUZJWCAgICAgMHgwMSAgICAvKiBhZGQgMHgsIDBYLCBvciAwIHByZWZpeCBhcyBhcHByb3ByaWF0ZSAqLwpAQCAtMzAxLDkgKzMwMywxMyBAQAogI2RlZmluZSBTSE1BVF9TVUJFWFAJCTB4MDAxCS8qIHNhdmUgc3ViZXhwcmVzc2lvbnMgaW4gU0hfUkVNQVRDSCAqLwogI2RlZmluZSBTSE1BVF9QV0FSTgkJMHgwMDIJLyogcHJpbnQgYSB3YXJuaW5nIG1lc3NhZ2Ugb24gaW52YWxpZCByZWdleHAgKi8KIAorLyogZGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBsaWIvc2gvc2htYmNoYXIuYyAqLworZXh0ZXJuIHNpemVfdCBtYnN0cmxlbiBfX1AoKGNvbnN0IGNoYXIgKikpOworZXh0ZXJuIGNoYXIgKm1ic21iY2hhciBfX1AoKGNvbnN0IGNoYXIgKikpOworCiAvKiBkZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGxpYi9zaC9zaHF1b3RlLmMgKi8KLWV4dGVybiBjaGFyICpzaF9zaW5nbGVfcXVvdGUgX19QKChjaGFyICopKTsKLWV4dGVybiBjaGFyICpzaF9kb3VibGVfcXVvdGUgX19QKChjaGFyICopKTsKK2V4dGVybiBjaGFyICpzaF9zaW5nbGVfcXVvdGUgX19QKChjb25zdCBjaGFyICopKTsKK2V4dGVybiBjaGFyICpzaF9kb3VibGVfcXVvdGUgX19QKChjb25zdCBjaGFyICopKTsKIGV4dGVybiBjaGFyICpzaF9ta2RvdWJsZXF1b3RlZCBfX1AoKGNvbnN0IGNoYXIgKiwgaW50LCBpbnQpKTsKIGV4dGVybiBjaGFyICpzaF91bl9kb3VibGVfcXVvdGUgX19QKChjaGFyICopKTsKIGV4dGVybiBjaGFyICpzaF9iYWNrc2xhc2hfcXVvdGUgX19QKChjaGFyICopKTsKQEAgLTMyNSw2ICszMzEsMTEgQEAKIGV4dGVybiBjaGFyICpzdHJjYXNlc3RyIF9fUCgoY29uc3QgY2hhciAqLCBjb25zdCBjaGFyICopKTsKICNlbmRpZgogCisvKiBkZWNsYXJhdGlvbnMgZm9yIGZ1bmN0aW9ucyBkZWZpbmVkIGluIGxpYi9zaC9zdHJjaHJudWwuYyAqLworI2lmICEgSEFWRV9TVFJDSFJOVUwKK2V4dGVybiBjaGFyICpzdHJjaHJudWwgX19QKChjb25zdCBjaGFyICosIGludCkpOworI2VuZGlmCisKIC8qIGRlY2xhcmF0aW9ucyBmb3IgZnVuY3Rpb25zIGRlZmluZWQgaW4gbGliL3NoL3N0cmVycm9yLmMgKi8KICNpZiAhZGVmaW5lZCAoSEFWRV9TVFJFUlJPUikgJiYgIWRlZmluZWQgKHN0cmVycm9yKQogZXh0ZXJuIGNoYXIgKnN0cmVycm9yIF9fUCgoaW50KSk7CkBAIC00NDgsNiArNDU5LDkgQEAKIGV4dGVybiB1bnNpZ25lZCBpbnQgZmFsYXJtIF9fUCgodW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQpKTsKIGV4dGVybiB1bnNpZ25lZCBpbnQgZnNsZWVwIF9fUCgodW5zaWduZWQgaW50LCB1bnNpZ25lZCBpbnQpKTsKIAorLyogZGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBsaWIvc2gvdW5pY29kZS5jICovCitleHRlcm4gaW50IHUzMmNjb252IF9fUCgodW5zaWduZWQgbG9uZywgY2hhciAqKSk7CisKIC8qIGRlY2xhcmF0aW9ucyBmb3IgZnVuY3Rpb25zIGRlZmluZWQgaW4gbGliL3NoL3dpbnNpemUuYyAqLwogZXh0ZXJuIHZvaWQgZ2V0X25ld193aW5kb3dfc2l6ZSBfX1AoKGludCwgaW50ICosIGludCAqKSk7CiAKQEAgLTQ3Miw0ICs0ODYsMTMgQEAKIC8qIGRlY2xhcmF0aW9ucyBmb3IgZnVuY3Rpb25zIGRlZmluZWQgaW4gbGliL3NoL3p3cml0ZS5jICovCiBleHRlcm4gaW50IHp3cml0ZSBfX1AoKGludCwgY2hhciAqLCBzaXplX3QpKTsKIAorLyogZGVjbGFyYXRpb25zIGZvciBmdW5jdGlvbnMgZGVmaW5lZCBpbiBsaWIvZ2xvYi9nbWlzYy5jICovCitleHRlcm4gaW50IG1hdGNoX3BhdHRlcm5fY2hhciBfX1AoKGNoYXIgKiwgY2hhciAqKSk7CitleHRlcm4gaW50IHVtYXRjaGxlbiBfX1AoKGNoYXIgKiwgc2l6ZV90KSk7CisKKyNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorZXh0ZXJuIGludCBtYXRjaF9wYXR0ZXJuX3djaGFyIF9fUCgod2NoYXJfdCAqLCB3Y2hhcl90ICopKTsKK2V4dGVybiBpbnQgd21hdGNobGVuIF9fUCgod2NoYXJfdCAqLCBzaXplX3QpKTsKKyNlbmRpZgorCiAjZW5kaWYgLyogX0VYVEVSTlNfSF8gKi8KZGlmZiAtLWdpdCBhL2ZpbmRjbWQuYyBiL2ZpbmRjbWQuYwppbmRleCA1NTdmOGI1Li4zMzBlMzk1IDEwMDY0NAotLS0gYS9maW5kY21kLmMKKysrIGIvZmluZGNtZC5jCkBAIC0zMiw2ICszMiw3IEBACiAjaWYgZGVmaW5lZCAoSEFWRV9VTklTVERfSCkKICMgIGluY2x1ZGUgPHVuaXN0ZC5oPgogI2VuZGlmCisjaW5jbHVkZSA8ZXJybm8uaD4KIAogI2luY2x1ZGUgImJhc2hhbnNpLmgiCiAKQEAgLTQzLDYgKzQ0LDEwIEBACiAjaW5jbHVkZSAiaGFzaGNtZC5oIgogI2luY2x1ZGUgImZpbmRjbWQuaCIJLyogbWF0Y2hpbmcgcHJvdG90eXBlcyBhbmQgZGVjbGFyYXRpb25zICovCiAKKyNpZiAhZGVmaW5lZCAoZXJybm8pCitleHRlcm4gaW50IGVycm5vOworI2VuZGlmCisKIGV4dGVybiBpbnQgcG9zaXhseV9jb3JyZWN0OwogCiAvKiBTdGF0aWMgZnVuY3Rpb25zIGRlZmluZWQgYW5kIHVzZWQgaW4gdGhpcyBmaWxlLiAqLwpAQCAtMTcyLDYgKzE3NywxMCBAQAogICBpbnQgczsKIAogICBzID0gZmlsZV9zdGF0dXMgKGZpbGUpOworI2lmIGRlZmluZWQgRUlTRElSCisgIGlmIChzICYgRlNfRElSRUNUT1JZKQorICAgIGVycm5vID0gRUlTRElSOwkvKiBsZXQncyBzZWUgaWYgd2UgY2FuIGltcHJvdmUgZXJyb3IgbWVzc2FnZXMgKi8KKyNlbmRpZgogICByZXR1cm4gKChzICYgRlNfRVhFQ0FCTEUpICYmICgocyAmIEZTX0RJUkVDVE9SWSkgPT0gMCkpOwogfQogCmRpZmYgLS1naXQgYS9nZW5lcmFsLmMgYi9nZW5lcmFsLmMKaW5kZXggMjZjN2QzZC4uZmRhZGYxZCAxMDA2NDQKLS0tIGEvZ2VuZXJhbC5jCisrKyBiL2dlbmVyYWwuYwpAQCAtMzYzLDYgKzM2MywxNiBAQAogICByZXR1cm4gKGZjbnRsIChmZCwgRl9HRVRGRCwgMCkgPj0gMCk7CiB9CiAKK2ludAorZmRfaXNwaXBlIChmZCkKKyAgICAgaW50IGZkOworeworICBlcnJubyA9IDA7CisgIGlmIChsc2VlayAoKGZkKSwgMEwsIFNFRUtfQ1VSKSA8IDApCisgICAgcmV0dXJuIChlcnJubyA9PSBFU1BJUEUpOworICByZXR1cm4gMDsKK30KKwogLyogVGhlcmUgaXMgYSBidWcgaW4gdGhlIE5lWFQgMi4xIHJsb2dpbmQgdGhhdCBjYXVzZXMgb3BlbnMKICAgIG9mIC9kZXYvdHR5IHRvIGZhaWwuICovCiAKQEAgLTU0OSw2ICs1NTksMjIgQEAKICAgcmV0dXJuIChmaWxlX2lzZGlyIChmbikgJiYgc2hfZWFjY2VzcyAoZm4sIFdfT0spID09IDApOwogfQogCisvKiBSZXR1cm4gMSBpZiBTVFJJTkcgaXMgIi4iIG9yICIuLiIsIG9wdGlvbmFsbHkgZm9sbG93ZWQgYnkgYSBkaXJlY3RvcnkKKyAgIHNlcGFyYXRvciAqLworaW50Citkb3Rfb3JfZG90ZG90IChzdHJpbmcpCisgICAgIGNvbnN0IGNoYXIgKnN0cmluZzsKK3sKKyAgaWYgKHN0cmluZyA9PSAwIHx8ICpzdHJpbmcgPT0gJ1wwJyB8fCAqc3RyaW5nICE9ICcuJykKKyAgICByZXR1cm4gKDApOworCisgIC8qIHN0cmluZ1swXSA9PSAnLicgKi8KKyAgaWYgKFBBVEhTRVAoc3RyaW5nWzFdKSB8fCAoc3RyaW5nWzFdID09ICcuJyAmJiBQQVRIU0VQKHN0cmluZ1syXSkpKQorICAgIHJldHVybiAoMSk7CisKKyAgcmV0dXJuICgwKTsKK30KKwogLyogUmV0dXJuIDEgaWYgU1RSSU5HIGNvbnRhaW5zIGFuIGFic29sdXRlIHBhdGhuYW1lLCBlbHNlIDAuICBVc2VkIGJ5IGBjZCcKICAgIHRvIGRlY2lkZSB3aGV0aGVyIG9yIG5vdCB0byBsb29rIHVwIGEgZGlyZWN0b3J5IG5hbWUgaW4gJENEUEFUSC4gKi8KIGludApkaWZmIC0tZ2l0IGEvZ2VuZXJhbC5oIGIvZ2VuZXJhbC5oCmluZGV4IDFlYzBkMzkuLjJiMzFjNTggMTAwNjQ0Ci0tLSBhL2dlbmVyYWwuaAorKysgYi9nZW5lcmFsLmgKQEAgLTIxNiw4ICsyMTYsOCBAQAogCiB0eXBlZGVmIGludCBzaF9pZ25vcmVfZnVuY190IF9fUCgoY29uc3QgY2hhciAqKSk7CS8qIHNoX2ljcGZ1bmNfdCAqLwogCi10eXBlZGVmIGludCBzaF9hc3NpZ25fZnVuY190IF9fUCgoY29uc3QgY2hhciAqKSk7CS8qIHNoX2ljcGZ1bmNfdCAqLwotdHlwZWRlZiBpbnQgc2hfd2Fzc2lnbl9mdW5jX3QgX19QKChXT1JEX0RFU0MgKikpOwordHlwZWRlZiBpbnQgc2hfYXNzaWduX2Z1bmNfdCBfX1AoKGNvbnN0IGNoYXIgKikpOwordHlwZWRlZiBpbnQgc2hfd2Fzc2lnbl9mdW5jX3QgX19QKChXT1JEX0RFU0MgKiwgaW50KSk7CiAKIHR5cGVkZWYgaW50IHNoX2J1aWx0aW5fZnVuY190IF9fUCgoV09SRF9MSVNUICopKTsgLyogc2hfd2xpc3RfZnVuY190ICovCiAKQEAgLTI4OSw2ICsyODksNyBAQAogCiBleHRlcm4gaW50IHNoX3Vuc2V0X25vZGVsYXlfbW9kZSBfX1AoKGludCkpOwogZXh0ZXJuIGludCBzaF92YWxpZGZkIF9fUCgoaW50KSk7CitleHRlcm4gaW50IGZkX2lzcGlwZSBfX1AoKGludCkpOwogZXh0ZXJuIHZvaWQgY2hlY2tfZGV2X3R0eSBfX1AoKHZvaWQpKTsKIGV4dGVybiBpbnQgbW92ZV90b19oaWdoX2ZkIF9fUCgoaW50LCBpbnQsIGludCkpOwogZXh0ZXJuIGludCBjaGVja19iaW5hcnlfZmlsZSBfX1AoKGNoYXIgKiwgaW50KSk7CkBAIC0zMDMsNiArMzA0LDcgQEAKIGV4dGVybiBpbnQgZmlsZV9leGlzdHMgX19QKChjaGFyICopKTsKIGV4dGVybiBpbnQgZmlsZV9pc2RpciBfX1AoKGNoYXIgICopKTsKIGV4dGVybiBpbnQgZmlsZV9pc3dkaXIgX19QKChjaGFyICAqKSk7CitleHRlcm4gaW50IGRvdF9vcl9kb3Rkb3QgX19QKChjb25zdCBjaGFyICopKTsKIGV4dGVybiBpbnQgYWJzb2x1dGVfcGF0aG5hbWUgX19QKChjb25zdCBjaGFyICopKTsKIGV4dGVybiBpbnQgYWJzb2x1dGVfcHJvZ3JhbSBfX1AoKGNvbnN0IGNoYXIgKikpOwogCmRpZmYgLS1naXQgYS9pbmNsdWRlL2NoYXJ0eXBlcy5oIGIvaW5jbHVkZS9jaGFydHlwZXMuaAppbmRleCAwNTYwNzY5Li43N2JjYWQ5IDEwMDY0NAotLS0gYS9pbmNsdWRlL2NoYXJ0eXBlcy5oCisrKyBiL2luY2x1ZGUvY2hhcnR5cGVzLmgKQEAgLTEwNyw3ICsxMDcsNyBAQAogI2VuZGlmCiAjaWZuZGVmIFVOQ1RSTAogICAgLyogY29udHJvbCBjaGFyIHRvIGxldHRlciAtLSBBU0NJSSAqLwotIyAgZGVmaW5lIFVOQ1RSTCh4KQkoVE9VUFBFUigoeCkgfCAweDQwKSkKKyMgIGRlZmluZSBVTkNUUkwoeCkJKFRPVVBQRVIoeCkgXiAweDQwKQogI2VuZGlmCiAKICNlbmRpZiAvKiBfU0hfQ0hBUlRZUEVTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZmlsZWNudGwuaCBiL2luY2x1ZGUvZmlsZWNudGwuaAppbmRleCAzMTY2N2ExLi45YmNiYWI4IDEwMDY0NAotLS0gYS9pbmNsdWRlL2ZpbGVjbnRsLmgKKysrIGIvaW5jbHVkZS9maWxlY250bC5oCkBAIC00Miw0ICs0MiwxMiBAQAogIyAgZW5kaWYKICNlbmRpZgogCisvKiBNYWtlIHN1cmUgT19CSU5BUlkgYW5kIE9fVEVYVCBhcmUgZGVmaW5lZCB0byBhdm9pZCBXaW5kb3dzLXNwZWNpZmljIGNvZGUuICovCisjaWYgIWRlZmluZWQgKE9fQklOQVJZKQorIyAgZGVmaW5lIE9fQklOQVJZIDAKKyNlbmRpZgorI2lmICFkZWZpbmVkIChPX1RFWFQpCisjICBkZWZpbmUgT19URVhUIDAKKyNlbmRpZgorCiAjZW5kaWYgLyogISBfRklMRUNOVExfSF8gKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcG9zaXhzZWxlY3QuaCBiL2luY2x1ZGUvcG9zaXhzZWxlY3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTZhMWFjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9wb3NpeHNlbGVjdC5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qIHBvc2l4c2VsZWN0LmggLS0gd3JhcHBlciBmb3Igc2VsZWN0KDIpIGluY2x1ZGVzIGFuZCBkZWZpbml0aW9ucyAqLworCisvKiBDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgorCisgICBCYXNoIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgQmFzaCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIEJhc2guICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisqLworCisjaWZuZGVmIF9QT1NJWFNFTEVDVF9IXworI2RlZmluZSBfUE9TSVhTRUxFQ1RfSF8KKworI2lmIGRlZmluZWQgKEZEX1NFVCkgJiYgIWRlZmluZWQgKEhBVkVfU0VMRUNUKQorIyAgZGVmaW5lIEhBVkVfU0VMRUNUIDEKKyNlbmRpZgorCisjaWYgZGVmaW5lZCAoSEFWRV9TRUxFQ1QpCisjICBpZiAhZGVmaW5lZCAoSEFWRV9TWVNfU0VMRUNUX0gpIHx8ICFkZWZpbmVkIChNX1VOSVgpCisjICAgIGluY2x1ZGUgPHN5cy90aW1lLmg+CisjICBlbmRpZgorI2VuZGlmIC8qIEhBVkVfU0VMRUNUICovCisjaWYgZGVmaW5lZCAoSEFWRV9TWVNfU0VMRUNUX0gpCisjICBpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+CisjZW5kaWYKKworI2lmbmRlZiBVU0VDX1BFUl9TRUMKKyMgIGRlZmluZSBVU0VDX1BFUl9TRUMgMTAwMDAwMAorI2VuZGlmCisKKyNkZWZpbmUgVVNFQ19UT19USU1FVkFMKHVzLCB0dikgXAorZG8geyBcCisgICh0dikudHZfc2VjID0gKHVzKSAvIFVTRUNfUEVSX1NFQzsgXAorICAodHYpLnR2X3VzZWMgPSAodXMpICUgVVNFQ19QRVJfU0VDOyBcCit9IHdoaWxlICgwKQorCisjZW5kaWYgLyogX1BPU0lYU0VMRUNUX0hfICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NobWJjaGFyLmggYi9pbmNsdWRlL3NobWJjaGFyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ3NWY1NgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvc2htYmNoYXIuaApAQCAtMCwwICsxLDM1MyBAQAorLyogTXVsdGlieXRlIGNoYXJhY3RlciBkYXRhIHR5cGUuCisgICBDb3B5cmlnaHQgKEMpIDIwMDEsIDIwMDUtMjAwNywgMjAwOS0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisvKiBXcml0dGVuIGJ5IEJydW5vIEhhaWJsZSA8YnJ1bm9AY2xpc3Aub3JnPi4gICovCisKKy8qIEEgbXVsdGlieXRlIGNoYXJhY3RlciBpcyBhIHNob3J0IHN1YnNlcXVlbmNlIG9mIGEgY2hhciogc3RyaW5nLAorICAgcmVwcmVzZW50aW5nIGEgc2luZ2xlIHdpZGUgY2hhcmFjdGVyLgorCisgICBXZSB1c2UgbXVsdGlieXRlIGNoYXJhY3RlcnMgaW5zdGVhZCBvZiB3aWRlIGNoYXJhY3RlcnMgYmVjYXVzZSBvZgorICAgdGhlIGZvbGxvd2luZyBnb2FsczoKKyAgIDEpIGNvcnJlY3QgbXVsdGlieXRlIGhhbmRsaW5nLCBpLmUuIG9wZXJhdGUgYWNjb3JkaW5nIHRvIHRoZSBMQ19DVFlQRQorICAgICAgbG9jYWxlLAorICAgMikgZWFzZSBvZiBtYWludGVuYW5jZSwgaS5lLiB0aGUgbWFpbnRhaW5lciBuZWVkcyBub3Qga25vdyBhbGwgZGV0YWlscworICAgICAgb2YgdGhlIElTTyBDIDk5IHN0YW5kYXJkLAorICAgMykgZG9uJ3QgZmFpbCBncm9zc2x5IGlmIHRoZSBpbnB1dCBpcyBub3QgaW4gdGhlIGVuY29kaW5nIHNldCBieSB0aGUKKyAgICAgIGxvY2FsZSwgYmVjYXVzZSBvZnRlbiBkaWZmZXJlbnQgZW5jb2RpbmdzIGFyZSBpbiB1c2UgaW4gdGhlIHNhbWUKKyAgICAgIGNvdW50cmllcyAoSVNPLTg4NTktMS9VVEYtOCwgRVVDLUpQL1NoaWZ0X0pJUywgLi4uKSwKKyAgIDQpIGZhc3QgaW4gdGhlIGNhc2Ugb2YgQVNDSUkgY2hhcmFjdGVycywKKyAgIDUpIHBvcnRhYmlsaXR5LCBpLmUuIGRvbid0IG1ha2UgdW5wb3J0YWJsZSBhc3N1bXB0aW9ucyBhYm91dCB3Y2hhcl90LgorCisgICBNdWx0aWJ5dGUgY2hhcmFjdGVycyBhcmUgb25seSBhY2Nlc3NlZCB0aHJvdWdoIHRoZSBtYiogbWFjcm9zLgorCisgICBtYl9wdHIgKG1iYykKKyAgICAgcmV0dXJuIGEgcG9pbnRlciB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSBtdWx0aWJ5dGUgc2VxdWVuY2UuCisKKyAgIG1iX2xlbiAobWJjKQorICAgICByZXR1cm5zIHRoZSBudW1iZXIgb2YgYnl0ZXMgb2NjdXBpZWQgYnkgdGhlIG11bHRpYnl0ZSBzZXF1ZW5jZS4KKyAgICAgQWx3YXlzID4gMC4KKworICAgbWJfaXNlcSAobWJjLCBzYykKKyAgICAgcmV0dXJucyB0cnVlIGlmIG1iYyBpcyB0aGUgc3RhbmRhcmQgQVNDSUkgY2hhcmFjdGVyIHNjLgorCisgICBtYl9pc251bCAobWJjKQorICAgICByZXR1cm5zIHRydWUgaWYgbWJjIGlzIHRoZSBudWwgY2hhcmFjdGVyLgorCisgICBtYl9jbXAgKG1iYzEsIG1iYzIpCisgICAgIHJldHVybnMgYSBwb3NpdGl2ZSwgemVybywgb3IgbmVnYXRpdmUgdmFsdWUgZGVwZW5kaW5nIG9uIHdoZXRoZXIgbWJjMQorICAgICBzb3J0cyBhZnRlciwgc2FtZSBvciBiZWZvcmUgbWJjMi4KKworICAgbWJfY2FzZWNtcCAobWJjMSwgbWJjMikKKyAgICAgcmV0dXJucyBhIHBvc2l0aXZlLCB6ZXJvLCBvciBuZWdhdGl2ZSB2YWx1ZSBkZXBlbmRpbmcgb24gd2hldGhlciBtYmMxCisgICAgIHNvcnRzIGFmdGVyLCBzYW1lIG9yIGJlZm9yZSBtYmMyLCBtb2R1bG8gdXBwZXIvbG93ZXJjYXNlIGNvbnZlcnNpb24uCisKKyAgIG1iX2VxdWFsIChtYmMxLCBtYmMyKQorICAgICByZXR1cm5zIHRydWUgaWYgbWJjMSBhbmQgbWJjMiBhcmUgZXF1YWwuCisKKyAgIG1iX2Nhc2VlcXVhbCAobWJjMSwgbWJjMikKKyAgICAgcmV0dXJucyB0cnVlIGlmIG1iYzEgYW5kIG1iYzIgYXJlIGVxdWFsIG1vZHVsbyB1cHBlci9sb3dlcmNhc2UgY29udmVyc2lvbi4KKworICAgbWJfaXNhbG51bSAobWJjKQorICAgICByZXR1cm5zIHRydWUgaWYgbWJjIGlzIGFscGhhbnVtZXJpYy4KKworICAgbWJfaXNhbHBoYSAobWJjKQorICAgICByZXR1cm5zIHRydWUgaWYgbWJjIGlzIGFscGhhYmV0aWMuCisKKyAgIG1iX2lzYXNjaWkobWJjKQorICAgICByZXR1cm5zIHRydWUgaWYgbWJjIGlzIHBsYWluIEFTQ0lJLgorCisgICBtYl9pc2JsYW5rIChtYmMpCisgICAgIHJldHVybnMgdHJ1ZSBpZiBtYmMgaXMgYSBibGFuay4KKworICAgbWJfaXNjbnRybCAobWJjKQorICAgICByZXR1cm5zIHRydWUgaWYgbWJjIGlzIGEgY29udHJvbCBjaGFyYWN0ZXIuCisKKyAgIG1iX2lzZGlnaXQgKG1iYykKKyAgICAgcmV0dXJucyB0cnVlIGlmIG1iYyBpcyBhIGRlY2ltYWwgZGlnaXQuCisKKyAgIG1iX2lzZ3JhcGggKG1iYykKKyAgICAgcmV0dXJucyB0cnVlIGlmIG1iYyBpcyBhIGdyYXBoaWMgY2hhcmFjdGVyLgorCisgICBtYl9pc2xvd2VyIChtYmMpCisgICAgIHJldHVybnMgdHJ1ZSBpZiBtYmMgaXMgbG93ZXJjYXNlLgorCisgICBtYl9pc3ByaW50IChtYmMpCisgICAgIHJldHVybnMgdHJ1ZSBpZiBtYmMgaXMgYSBwcmludGFibGUgY2hhcmFjdGVyLgorCisgICBtYl9pc3B1bmN0IChtYmMpCisgICAgIHJldHVybnMgdHJ1ZSBpZiBtYmMgaXMgYSBwdW5jdHVhdGlvbiBjaGFyYWN0ZXIuCisKKyAgIG1iX2lzc3BhY2UgKG1iYykKKyAgICAgcmV0dXJucyB0cnVlIGlmIG1iYyBpcyBhIHNwYWNlIGNoYXJhY3Rlci4KKworICAgbWJfaXN1cHBlciAobWJjKQorICAgICByZXR1cm5zIHRydWUgaWYgbWJjIGlzIHVwcGVyY2FzZS4KKworICAgbWJfaXN4ZGlnaXQgKG1iYykKKyAgICAgcmV0dXJucyB0cnVlIGlmIG1iYyBpcyBhIGhleGFkZWNpbWFsIGRpZ2l0LgorCisgICBtYl93aWR0aCAobWJjKQorICAgICByZXR1cm5zIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvbiB0aGUgb3V0cHV0IGRldmljZSBvY2N1cGllZCBieSBtYmMuCisgICAgIEFsd2F5cyA+PSAwLgorCisgICBtYl9wdXRjIChtYmMsIHN0cmVhbSkKKyAgICAgb3V0cHV0cyBtYmMgb24gc3RyZWFtLCBhIGJ5dGUgb3JpZW50ZWQgRklMRSBzdHJlYW0gb3BlbmVkIGZvciBvdXRwdXQuCisKKyAgIG1iX3NldGFzY2lpICgmbWJjLCBzYykKKyAgICAgYXNzaWducyB0aGUgc3RhbmRhcmQgQVNDSUkgY2hhcmFjdGVyIHNjIHRvIG1iYy4KKworICAgbWJfY29weSAoJmRlc3RtYmMsICZzcmNtYmMpCisgICAgIGNvcGllcyBzcmNtYmMgdG8gZGVzdG1iYy4KKworICAgSGVyZSBhcmUgdGhlIGZ1bmN0aW9uIHByb3RvdHlwZXMgb2YgdGhlIG1hY3Jvcy4KKworICAgdHlwZWRlZiBpbnQgYm9vbDsKKyAgIGV4dGVybiBjb25zdCBjaGFyICogIG1iX3B0ciAoY29uc3QgbWJjaGFyX3QgbWJjKTsKKyAgIGV4dGVybiBzaXplX3QgICAgICAgIG1iX2xlbiAoY29uc3QgbWJjaGFyX3QgbWJjKTsKKyAgIGV4dGVybiBib29sICAgICAgICAgIG1iX2lzZXEgKGNvbnN0IG1iY2hhcl90IG1iYywgY2hhciBzYyk7CisgICBleHRlcm4gYm9vbCAgICAgICAgICBtYl9pc251bCAoY29uc3QgbWJjaGFyX3QgbWJjKTsKKyAgIGV4dGVybiBpbnQgICAgICAgICAgIG1iX2NtcCAoY29uc3QgbWJjaGFyX3QgbWJjMSwgY29uc3QgbWJjaGFyX3QgbWJjMik7CisgICBleHRlcm4gaW50ICAgICAgICAgICBtYl9jYXNlY21wIChjb25zdCBtYmNoYXJfdCBtYmMxLCBjb25zdCBtYmNoYXJfdCBtYmMyKTsKKyAgIGV4dGVybiBib29sICAgICAgICAgIG1iX2VxdWFsIChjb25zdCBtYmNoYXJfdCBtYmMxLCBjb25zdCBtYmNoYXJfdCBtYmMyKTsKKyAgIGV4dGVybiBib29sICAgICAgICAgIG1iX2Nhc2VlcXVhbCAoY29uc3QgbWJjaGFyX3QgbWJjMSwgY29uc3QgbWJjaGFyX3QgbWJjMik7CisgICBleHRlcm4gYm9vbCAgICAgICAgICBtYl9pc2FsbnVtIChjb25zdCBtYmNoYXJfdCBtYmMpOworICAgZXh0ZXJuIGJvb2wgICAgICAgICAgbWJfaXNhbHBoYSAoY29uc3QgbWJjaGFyX3QgbWJjKTsKKyAgIGV4dGVybiBib29sICAgICAgICAgIG1iX2lzYXNjaWkgKGNvbnN0IG1iY2hhcl90IG1iYyk7CisgICBleHRlcm4gYm9vbCAgICAgICAgICBtYl9pc2JsYW5rIChjb25zdCBtYmNoYXJfdCBtYmMpOworICAgZXh0ZXJuIGJvb2wgICAgICAgICAgbWJfaXNjbnRybCAoY29uc3QgbWJjaGFyX3QgbWJjKTsKKyAgIGV4dGVybiBib29sICAgICAgICAgIG1iX2lzZGlnaXQgKGNvbnN0IG1iY2hhcl90IG1iYyk7CisgICBleHRlcm4gYm9vbCAgICAgICAgICBtYl9pc2dyYXBoIChjb25zdCBtYmNoYXJfdCBtYmMpOworICAgZXh0ZXJuIGJvb2wgICAgICAgICAgbWJfaXNsb3dlciAoY29uc3QgbWJjaGFyX3QgbWJjKTsKKyAgIGV4dGVybiBib29sICAgICAgICAgIG1iX2lzcHJpbnQgKGNvbnN0IG1iY2hhcl90IG1iYyk7CisgICBleHRlcm4gYm9vbCAgICAgICAgICBtYl9pc3B1bmN0IChjb25zdCBtYmNoYXJfdCBtYmMpOworICAgZXh0ZXJuIGJvb2wgICAgICAgICAgbWJfaXNzcGFjZSAoY29uc3QgbWJjaGFyX3QgbWJjKTsKKyAgIGV4dGVybiBib29sICAgICAgICAgIG1iX2lzdXBwZXIgKGNvbnN0IG1iY2hhcl90IG1iYyk7CisgICBleHRlcm4gYm9vbCAgICAgICAgICBtYl9pc3hkaWdpdCAoY29uc3QgbWJjaGFyX3QgbWJjKTsKKyAgIGV4dGVybiBpbnQgICAgICAgICAgIG1iX3dpZHRoIChjb25zdCBtYmNoYXJfdCBtYmMpOworICAgZXh0ZXJuIHZvaWQgICAgICAgICAgbWJfcHV0YyAoY29uc3QgbWJjaGFyX3QgbWJjLCBGSUxFICpzdHJlYW0pOworICAgZXh0ZXJuIHZvaWQgICAgICAgICAgbWJfc2V0YXNjaWkgKG1iY2hhcl90ICpuZXcsIGNoYXIgc2MpOworICAgZXh0ZXJuIHZvaWQgICAgICAgICAgbWJfY29weSAobWJjaGFyX3QgKm5ldywgY29uc3QgbWJjaGFyX3QgKm9sZCk7CisgKi8KKworI2lmbmRlZiBfU0hNQkNIQVJfSAorI2RlZmluZSBfU0hNQkNIQVJfSCAxCisKKyNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKy8qIFRydTY0IHdpdGggRGVza3RvcCBUb29sa2l0IEMgaGFzIGEgYnVnOiA8c3RkaW8uaD4gbXVzdCBiZSBpbmNsdWRlZCBiZWZvcmUKKyAgIDx3Y2hhci5oPi4KKyAgIEJTRC9PUyA0LjEgaGFzIGEgYnVnOiA8c3RkaW8uaD4gYW5kIDx0aW1lLmg+IG11c3QgYmUgaW5jbHVkZWQgYmVmb3JlCisgICA8d2NoYXIuaD4uICAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHdjaGFyLmg+CisjaW5jbHVkZSA8d2N0eXBlLmg+CisKKyNkZWZpbmUgTUJDSEFSX0JVRl9TSVpFIDI0CisKK3N0cnVjdCBtYmNoYXIKK3sKKyAgY29uc3QgY2hhciAqcHRyOyAgICAgIC8qIHBvaW50ZXIgdG8gY3VycmVudCBjaGFyYWN0ZXIgKi8KKyAgc2l6ZV90IGJ5dGVzOyAgICAgICAgIC8qIG51bWJlciBvZiBieXRlcyBvZiBjdXJyZW50IGNoYXJhY3RlciwgPiAwICovCisgIGludCB3Y192YWxpZDsgICAgICAgIC8qIHRydWUgaWYgd2MgaXMgYSB2YWxpZCB3aWRlIGNoYXJhY3RlciAqLworICB3Y2hhcl90IHdjOyAgICAgICAgICAgLyogaWYgd2NfdmFsaWQ6IHRoZSBjdXJyZW50IGNoYXJhY3RlciAqLworICBjaGFyIGJ1ZltNQkNIQVJfQlVGX1NJWkVdOyAvKiByb29tIGZvciB0aGUgYnl0ZXMsIHVzZWQgZm9yIGZpbGUgaW5wdXQgb25seSAqLworfTsKKworLyogRU9GIChub3QgYSByZWFsIGNoYXJhY3RlcikgaXMgcmVwcmVzZW50ZWQgd2l0aCBieXRlcyA9IDAgYW5kCisgICB3Y192YWxpZCA9IGZhbHNlLiAgKi8KKwordHlwZWRlZiBzdHJ1Y3QgbWJjaGFyIG1iY2hhcl90OworCisvKiBBY2Nlc3MgdGhlIGN1cnJlbnQgY2hhcmFjdGVyLiAgKi8KKyNkZWZpbmUgbWJfcHRyKG1iYykgKChtYmMpLnB0cikKKyNkZWZpbmUgbWJfbGVuKG1iYykgKChtYmMpLmJ5dGVzKQorCisvKiBDb21wYXJpc29uIG9mIGNoYXJhY3RlcnMuICAqLworI2RlZmluZSBtYl9pc2VxKG1iYywgc2MpICgobWJjKS53Y192YWxpZCAmJiAobWJjKS53YyA9PSAoc2MpKQorI2RlZmluZSBtYl9pc251bChtYmMpICgobWJjKS53Y192YWxpZCAmJiAobWJjKS53YyA9PSAwKQorI2RlZmluZSBtYl9jbXAobWJjMSwgbWJjMikgXAorICAoKG1iYzEpLndjX3ZhbGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgPyAoKG1iYzIpLndjX3ZhbGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgPyAoaW50KSAobWJjMSkud2MgLSAoaW50KSAobWJjMikud2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgOiAtMSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgOiAoKG1iYzIpLndjX3ZhbGlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgPyAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgOiAobWJjMSkuYnl0ZXMgPT0gKG1iYzIpLmJ5dGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICA/IG1lbWNtcCAoKG1iYzEpLnB0ciwgKG1iYzIpLnB0ciwgKG1iYzEpLmJ5dGVzKSAgICAgICAgICAgICAgICAgXAorICAgICAgICA6IChtYmMxKS5ieXRlcyA8IChtYmMyKS5ieXRlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgID8gKG1lbWNtcCAoKG1iYzEpLnB0ciwgKG1iYzIpLnB0ciwgKG1iYzEpLmJ5dGVzKSA+IDAgPyAxIDogLTEpIFwKKyAgICAgICAgICA6IChtZW1jbXAgKChtYmMxKS5wdHIsIChtYmMyKS5wdHIsIChtYmMyKS5ieXRlcykgPj0gMCA/IDEgOiAtMSkpKQorI2RlZmluZSBtYl9jYXNlY21wKG1iYzEsIG1iYzIpIFwKKyAgKChtYmMxKS53Y192YWxpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgID8gKChtYmMyKS53Y192YWxpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgID8gKGludCkgdG93bG93ZXIgKChtYmMxKS53YykgLSAoaW50KSB0b3dsb3dlciAoKG1iYzIpLndjKSAgICAgICAgIFwKKyAgICAgIDogLTEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIDogKChtYmMyKS53Y192YWxpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgID8gMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgIDogKG1iYzEpLmJ5dGVzID09IChtYmMyKS5ieXRlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgPyBtZW1jbXAgKChtYmMxKS5wdHIsIChtYmMyKS5wdHIsIChtYmMxKS5ieXRlcykgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgOiAobWJjMSkuYnl0ZXMgPCAobWJjMikuYnl0ZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICA/IChtZW1jbXAgKChtYmMxKS5wdHIsIChtYmMyKS5wdHIsIChtYmMxKS5ieXRlcykgPiAwID8gMSA6IC0xKSBcCisgICAgICAgICAgOiAobWVtY21wICgobWJjMSkucHRyLCAobWJjMikucHRyLCAobWJjMikuYnl0ZXMpID49IDAgPyAxIDogLTEpKSkKKyNkZWZpbmUgbWJfZXF1YWwobWJjMSwgbWJjMikgXAorICAoKG1iYzEpLndjX3ZhbGlkICYmIChtYmMyKS53Y192YWxpZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgPyAobWJjMSkud2MgPT0gKG1iYzIpLndjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgOiAobWJjMSkuYnl0ZXMgPT0gKG1iYzIpLmJ5dGVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAmJiBtZW1jbXAgKChtYmMxKS5wdHIsIChtYmMyKS5wdHIsIChtYmMxKS5ieXRlcykgPT0gMCkKKyNkZWZpbmUgbWJfY2FzZWVxdWFsKG1iYzEsIG1iYzIpIFwKKyAgKChtYmMxKS53Y192YWxpZCAmJiAobWJjMikud2NfdmFsaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgID8gdG93bG93ZXIgKChtYmMxKS53YykgPT0gdG93bG93ZXIgKChtYmMyKS53YykgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgIDogKG1iYzEpLmJ5dGVzID09IChtYmMyKS5ieXRlcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgJiYgbWVtY21wICgobWJjMSkucHRyLCAobWJjMikucHRyLCAobWJjMSkuYnl0ZXMpID09IDApCisKKy8qIDxjdHlwZS5oPiwgPHdjdHlwZS5oPiBjbGFzc2lmaWNhdGlvbi4gICovCisjZGVmaW5lIG1iX2lzYXNjaWkobWJjKSBcCisgICgobWJjKS53Y192YWxpZCAmJiAobWJjKS53YyA+PSAwICYmIChtYmMpLndjIDw9IDEyNykKKyNkZWZpbmUgbWJfaXNhbG51bShtYmMpICgobWJjKS53Y192YWxpZCAmJiBpc3dhbG51bSAoKG1iYykud2MpKQorI2RlZmluZSBtYl9pc2FscGhhKG1iYykgKChtYmMpLndjX3ZhbGlkICYmIGlzd2FscGhhICgobWJjKS53YykpCisjZGVmaW5lIG1iX2lzYmxhbmsobWJjKSAoKG1iYykud2NfdmFsaWQgJiYgaXN3YmxhbmsgKChtYmMpLndjKSkKKyNkZWZpbmUgbWJfaXNjbnRybChtYmMpICgobWJjKS53Y192YWxpZCAmJiBpc3djbnRybCAoKG1iYykud2MpKQorI2RlZmluZSBtYl9pc2RpZ2l0KG1iYykgKChtYmMpLndjX3ZhbGlkICYmIGlzd2RpZ2l0ICgobWJjKS53YykpCisjZGVmaW5lIG1iX2lzZ3JhcGgobWJjKSAoKG1iYykud2NfdmFsaWQgJiYgaXN3Z3JhcGggKChtYmMpLndjKSkKKyNkZWZpbmUgbWJfaXNsb3dlcihtYmMpICgobWJjKS53Y192YWxpZCAmJiBpc3dsb3dlciAoKG1iYykud2MpKQorI2RlZmluZSBtYl9pc3ByaW50KG1iYykgKChtYmMpLndjX3ZhbGlkICYmIGlzd3ByaW50ICgobWJjKS53YykpCisjZGVmaW5lIG1iX2lzcHVuY3QobWJjKSAoKG1iYykud2NfdmFsaWQgJiYgaXN3cHVuY3QgKChtYmMpLndjKSkKKyNkZWZpbmUgbWJfaXNzcGFjZShtYmMpICgobWJjKS53Y192YWxpZCAmJiBpc3dzcGFjZSAoKG1iYykud2MpKQorI2RlZmluZSBtYl9pc3VwcGVyKG1iYykgKChtYmMpLndjX3ZhbGlkICYmIGlzd3VwcGVyICgobWJjKS53YykpCisjZGVmaW5lIG1iX2lzeGRpZ2l0KG1iYykgKChtYmMpLndjX3ZhbGlkICYmIGlzd3hkaWdpdCAoKG1iYykud2MpKQorCisvKiBFeHRyYSA8d2NoYXIuaD4gZnVuY3Rpb24uICAqLworCisvKiBVbnByaW50YWJsZSBjaGFyYWN0ZXJzIGFwcGVhciBhcyBhIHNtYWxsIGJveCBvZiB3aWR0aCAxLiAgKi8KKyNkZWZpbmUgTUJfVU5QUklOVEFCTEVfV0lEVEggMQorCitzdGF0aWMgaW5saW5lIGludAorbWJfd2lkdGhfYXV4ICh3aW50X3Qgd2MpCit7CisgIGludCB3ID0gd2N3aWR0aCAod2MpOworICAvKiBGb3IgdW5wcmludGFibGUgY2hhcmFjdGVycywgYXJiaXRyYXJpbHkgcmV0dXJuIDAgZm9yIGNvbnRyb2wgY2hhcmFjdGVycworICAgICBhbmQgTUJfVU5QUklOVEFCTEVfV0lEVEggb3RoZXJ3aXNlLiAgKi8KKyAgcmV0dXJuICh3ID49IDAgPyB3IDogaXN3Y250cmwgKHdjKSA/IDAgOiBNQl9VTlBSSU5UQUJMRV9XSURUSCk7Cit9CisKKyNkZWZpbmUgbWJfd2lkdGgobWJjKSBcCisgICgobWJjKS53Y192YWxpZCA/IG1iX3dpZHRoX2F1eCAoKG1iYykud2MpIDogTUJfVU5QUklOVEFCTEVfV0lEVEgpCisKKy8qIE91dHB1dC4gICovCisjZGVmaW5lIG1iX3B1dGMobWJjLCBzdHJlYW0pICBmd3JpdGUgKChtYmMpLnB0ciwgMSwgKG1iYykuYnl0ZXMsIChzdHJlYW0pKQorCisvKiBBc3NpZ25tZW50LiAgKi8KKyNkZWZpbmUgbWJfc2V0YXNjaWkobWJjLCBzYykgXAorICAoKG1iYyktPnB0ciA9IChtYmMpLT5idWYsIChtYmMpLT5ieXRlcyA9IDEsIChtYmMpLT53Y192YWxpZCA9IDEsIFwKKyAgIChtYmMpLT53YyA9IChtYmMpLT5idWZbMF0gPSAoc2MpKQorCisvKiBDb3B5aW5nIGEgY2hhcmFjdGVyLiAgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZAorbWJfY29weSAobWJjaGFyX3QgKm5ld19tYmMsIGNvbnN0IG1iY2hhcl90ICpvbGRfbWJjKQoreworICBpZiAob2xkX21iYy0+cHRyID09ICZvbGRfbWJjLT5idWZbMF0pCisgICAgeworICAgICAgbWVtY3B5ICgmbmV3X21iYy0+YnVmWzBdLCAmb2xkX21iYy0+YnVmWzBdLCBvbGRfbWJjLT5ieXRlcyk7CisgICAgICBuZXdfbWJjLT5wdHIgPSAmbmV3X21iYy0+YnVmWzBdOworICAgIH0KKyAgZWxzZQorICAgIG5ld19tYmMtPnB0ciA9IG9sZF9tYmMtPnB0cjsKKyAgbmV3X21iYy0+Ynl0ZXMgPSBvbGRfbWJjLT5ieXRlczsKKyAgaWYgKChuZXdfbWJjLT53Y192YWxpZCA9IG9sZF9tYmMtPndjX3ZhbGlkKSkKKyAgICBuZXdfbWJjLT53YyA9IG9sZF9tYmMtPndjOworfQorCisKKy8qIGlzX2Jhc2ljKGMpIHRlc3RzIHdoZXRoZXIgdGhlIHNpbmdsZS1ieXRlIGNoYXJhY3RlciBjIGlzIGluIHRoZQorICAgSVNPIEMgImJhc2ljIGNoYXJhY3RlciBzZXQiLgorICAgVGhpcyBpcyBhIGNvbnZlbmllbmNlIGZ1bmN0aW9uLCBhbmQgaXMgaW4gdGhpcyBmaWxlIG9ubHkgdG8gc2hhcmUgY29kZQorICAgYmV0d2VlbiBtYml0ZXJfbXVsdGkuaCBhbmQgbWJmaWxlX211bHRpLmguICAqLworI2lmICgnICcgPT0gMzIpICYmICgnIScgPT0gMzMpICYmICgnIicgPT0gMzQpICYmICgnIycgPT0gMzUpIFwKKyAgICAmJiAoJyUnID09IDM3KSAmJiAoJyYnID09IDM4KSAmJiAoJ1wnJyA9PSAzOSkgJiYgKCcoJyA9PSA0MCkgXAorICAgICYmICgnKScgPT0gNDEpICYmICgnKicgPT0gNDIpICYmICgnKycgPT0gNDMpICYmICgnLCcgPT0gNDQpIFwKKyAgICAmJiAoJy0nID09IDQ1KSAmJiAoJy4nID09IDQ2KSAmJiAoJy8nID09IDQ3KSAmJiAoJzAnID09IDQ4KSBcCisgICAgJiYgKCcxJyA9PSA0OSkgJiYgKCcyJyA9PSA1MCkgJiYgKCczJyA9PSA1MSkgJiYgKCc0JyA9PSA1MikgXAorICAgICYmICgnNScgPT0gNTMpICYmICgnNicgPT0gNTQpICYmICgnNycgPT0gNTUpICYmICgnOCcgPT0gNTYpIFwKKyAgICAmJiAoJzknID09IDU3KSAmJiAoJzonID09IDU4KSAmJiAoJzsnID09IDU5KSAmJiAoJzwnID09IDYwKSBcCisgICAgJiYgKCc9JyA9PSA2MSkgJiYgKCc+JyA9PSA2MikgJiYgKCc/JyA9PSA2MykgJiYgKCdBJyA9PSA2NSkgXAorICAgICYmICgnQicgPT0gNjYpICYmICgnQycgPT0gNjcpICYmICgnRCcgPT0gNjgpICYmICgnRScgPT0gNjkpIFwKKyAgICAmJiAoJ0YnID09IDcwKSAmJiAoJ0cnID09IDcxKSAmJiAoJ0gnID09IDcyKSAmJiAoJ0knID09IDczKSBcCisgICAgJiYgKCdKJyA9PSA3NCkgJiYgKCdLJyA9PSA3NSkgJiYgKCdMJyA9PSA3NikgJiYgKCdNJyA9PSA3NykgXAorICAgICYmICgnTicgPT0gNzgpICYmICgnTycgPT0gNzkpICYmICgnUCcgPT0gODApICYmICgnUScgPT0gODEpIFwKKyAgICAmJiAoJ1InID09IDgyKSAmJiAoJ1MnID09IDgzKSAmJiAoJ1QnID09IDg0KSAmJiAoJ1UnID09IDg1KSBcCisgICAgJiYgKCdWJyA9PSA4NikgJiYgKCdXJyA9PSA4NykgJiYgKCdYJyA9PSA4OCkgJiYgKCdZJyA9PSA4OSkgXAorICAgICYmICgnWicgPT0gOTApICYmICgnWycgPT0gOTEpICYmICgnXFwnID09IDkyKSAmJiAoJ10nID09IDkzKSBcCisgICAgJiYgKCdeJyA9PSA5NCkgJiYgKCdfJyA9PSA5NSkgJiYgKCdhJyA9PSA5NykgJiYgKCdiJyA9PSA5OCkgXAorICAgICYmICgnYycgPT0gOTkpICYmICgnZCcgPT0gMTAwKSAmJiAoJ2UnID09IDEwMSkgJiYgKCdmJyA9PSAxMDIpIFwKKyAgICAmJiAoJ2cnID09IDEwMykgJiYgKCdoJyA9PSAxMDQpICYmICgnaScgPT0gMTA1KSAmJiAoJ2onID09IDEwNikgXAorICAgICYmICgnaycgPT0gMTA3KSAmJiAoJ2wnID09IDEwOCkgJiYgKCdtJyA9PSAxMDkpICYmICgnbicgPT0gMTEwKSBcCisgICAgJiYgKCdvJyA9PSAxMTEpICYmICgncCcgPT0gMTEyKSAmJiAoJ3EnID09IDExMykgJiYgKCdyJyA9PSAxMTQpIFwKKyAgICAmJiAoJ3MnID09IDExNSkgJiYgKCd0JyA9PSAxMTYpICYmICgndScgPT0gMTE3KSAmJiAoJ3YnID09IDExOCkgXAorICAgICYmICgndycgPT0gMTE5KSAmJiAoJ3gnID09IDEyMCkgJiYgKCd5JyA9PSAxMjEpICYmICgneicgPT0gMTIyKSBcCisgICAgJiYgKCd7JyA9PSAxMjMpICYmICgnfCcgPT0gMTI0KSAmJiAoJ30nID09IDEyNSkgJiYgKCd+JyA9PSAxMjYpCisvKiBUaGUgY2hhcmFjdGVyIHNldCBpcyBJU08tNjQ2LCBub3QgRUJDRElDLiAqLworIyBkZWZpbmUgSVNfQkFTSUNfQVNDSUkgMQorCitleHRlcm4gY29uc3QgdW5zaWduZWQgaW50IGlzX2Jhc2ljX3RhYmxlW107CisKK3N0YXRpYyBpbmxpbmUgaW50Citpc19iYXNpYyAoY2hhciBjKQoreworICByZXR1cm4gKGlzX2Jhc2ljX3RhYmxlIFsodW5zaWduZWQgY2hhcikgYyA+PiA1XSA+PiAoKHVuc2lnbmVkIGNoYXIpIGMgJiAzMSkpCisgICAgICAgICAmIDE7Cit9CisKKyNlbHNlCisKK3N0YXRpYyBpbmxpbmUgaW50Citpc19iYXNpYyAoY2hhciBjKQoreworICBzd2l0Y2ggKGMpCisgICAgeworICAgIGNhc2UgJ1x0JzogY2FzZSAnXHYnOiBjYXNlICdcZic6CisgICAgY2FzZSAnICc6IGNhc2UgJyEnOiBjYXNlICciJzogY2FzZSAnIyc6IGNhc2UgJyUnOgorICAgIGNhc2UgJyYnOiBjYXNlICdcJyc6IGNhc2UgJygnOiBjYXNlICcpJzogY2FzZSAnKic6CisgICAgY2FzZSAnKyc6IGNhc2UgJywnOiBjYXNlICctJzogY2FzZSAnLic6IGNhc2UgJy8nOgorICAgIGNhc2UgJzAnOiBjYXNlICcxJzogY2FzZSAnMic6IGNhc2UgJzMnOiBjYXNlICc0JzoKKyAgICBjYXNlICc1JzogY2FzZSAnNic6IGNhc2UgJzcnOiBjYXNlICc4JzogY2FzZSAnOSc6CisgICAgY2FzZSAnOic6IGNhc2UgJzsnOiBjYXNlICc8JzogY2FzZSAnPSc6IGNhc2UgJz4nOgorICAgIGNhc2UgJz8nOgorICAgIGNhc2UgJ0EnOiBjYXNlICdCJzogY2FzZSAnQyc6IGNhc2UgJ0QnOiBjYXNlICdFJzoKKyAgICBjYXNlICdGJzogY2FzZSAnRyc6IGNhc2UgJ0gnOiBjYXNlICdJJzogY2FzZSAnSic6CisgICAgY2FzZSAnSyc6IGNhc2UgJ0wnOiBjYXNlICdNJzogY2FzZSAnTic6IGNhc2UgJ08nOgorICAgIGNhc2UgJ1AnOiBjYXNlICdRJzogY2FzZSAnUic6IGNhc2UgJ1MnOiBjYXNlICdUJzoKKyAgICBjYXNlICdVJzogY2FzZSAnVic6IGNhc2UgJ1cnOiBjYXNlICdYJzogY2FzZSAnWSc6CisgICAgY2FzZSAnWic6CisgICAgY2FzZSAnWyc6IGNhc2UgJ1xcJzogY2FzZSAnXSc6IGNhc2UgJ14nOiBjYXNlICdfJzoKKyAgICBjYXNlICdhJzogY2FzZSAnYic6IGNhc2UgJ2MnOiBjYXNlICdkJzogY2FzZSAnZSc6CisgICAgY2FzZSAnZic6IGNhc2UgJ2cnOiBjYXNlICdoJzogY2FzZSAnaSc6IGNhc2UgJ2onOgorICAgIGNhc2UgJ2snOiBjYXNlICdsJzogY2FzZSAnbSc6IGNhc2UgJ24nOiBjYXNlICdvJzoKKyAgICBjYXNlICdwJzogY2FzZSAncSc6IGNhc2UgJ3InOiBjYXNlICdzJzogY2FzZSAndCc6CisgICAgY2FzZSAndSc6IGNhc2UgJ3YnOiBjYXNlICd3JzogY2FzZSAneCc6IGNhc2UgJ3knOgorICAgIGNhc2UgJ3onOiBjYXNlICd7JzogY2FzZSAnfCc6IGNhc2UgJ30nOiBjYXNlICd+JzoKKyAgICAgIHJldHVybiAxOworICAgIGRlZmF1bHQ6CisgICAgICByZXR1cm4gMDsKKyAgICB9Cit9CisKKyNlbmRpZgorCisjZW5kaWYgLyogSEFORExFX01VTFRJQllURSAqLworI2VuZGlmIC8qIF9TSE1CQ0hBUl9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NobWJ1dGlsLmggYi9pbmNsdWRlL3NobWJ1dGlsLmgKaW5kZXggMmI0MDgwNC4uZTM0OWU2ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9zaG1idXRpbC5oCisrKyBiL2luY2x1ZGUvc2htYnV0aWwuaApAQCAtMjcsNiArMjcsNyBAQAogI2luY2x1ZGUgPGNvbmZpZy5oPgogCiAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKKyNpbmNsdWRlICJzaG1iY2hhci5oIgogCiBleHRlcm4gc2l6ZV90IHhtYnNydG93Y3MgX19QKCh3Y2hhcl90ICosIGNvbnN0IGNoYXIgKiosIHNpemVfdCwgbWJzdGF0ZV90ICopKTsKIGV4dGVybiBzaXplX3QgeGR1cG1ic3Rvd2NzIF9fUCgod2NoYXJfdCAqKiwgY2hhciAqKiosIGNvbnN0IGNoYXIgKikpOwpAQCAtMTAxLDkgKzEwMiwxNiBAQAogCSAgeyBcCiAJICAgIG1ic3RhdGVfdCBzdGF0ZV9iYWs7IFwKIAkgICAgc2l6ZV90IG1ibGVuZ3RoOyBcCisJICAgIGludCBfZjsgXAogXAotCSAgICBzdGF0ZV9iYWsgPSBzdGF0ZTsgXAotCSAgICBtYmxlbmd0aCA9IG1icmxlbiAoKF9zdHIpICsgKF9pKSwgKF9zdHJzaXplKSAtIChfaSksICZzdGF0ZSk7IFwKKwkgICAgX2YgPSBpc19iYXNpYyAoKF9zdHIpW19pXSk7IFwKKwkgICAgaWYgKF9mKSBcCisJICAgICAgbWJsZW5ndGggPSAxOyBcCisJICAgIGVsc2UgXAorCSAgICAgIHsgXAorCSAgICAgICAgc3RhdGVfYmFrID0gc3RhdGU7IFwKKwkgICAgICAgIG1ibGVuZ3RoID0gbWJybGVuICgoX3N0cikgKyAoX2kpLCAoX3N0cnNpemUpIC0gKF9pKSwgJnN0YXRlKTsgXAorCSAgICAgIH0gXAogXAogCSAgICBpZiAobWJsZW5ndGggPT0gKHNpemVfdCktMiB8fCBtYmxlbmd0aCA9PSAoc2l6ZV90KS0xKSBcCiAJICAgICAgeyBcCkBAIC0xMzQsOSArMTQyLDE2IEBACiAJICB7IFwKIAkgICAgbWJzdGF0ZV90IHN0YXRlX2JhazsgXAogCSAgICBzaXplX3QgbWJsZW5ndGg7IFwKKwkgICAgaW50IF9mOyBcCiBcCi0JICAgIHN0YXRlX2JhayA9IHN0YXRlOyBcCi0JICAgIG1ibGVuZ3RoID0gbWJybGVuICgoX3N0ciksIChfc3Ryc2l6ZSksICZzdGF0ZSk7IFwKKwkgICAgX2YgPSBpc19iYXNpYyAoKihfc3RyKSk7IFwKKwkgICAgaWYgKF9mKSBcCisJICAgICAgbWJsZW5ndGggPSAxOyBcCisJICAgIGVsc2UgXAorCSAgICAgIHsgXAorCQlzdGF0ZV9iYWsgPSBzdGF0ZTsgXAorCQltYmxlbmd0aCA9IG1icmxlbiAoKF9zdHIpLCAoX3N0cnNpemUpLCAmc3RhdGUpOyBcCisJICAgICAgfSBcCiBcCiAJICAgIGlmIChtYmxlbmd0aCA9PSAoc2l6ZV90KS0yIHx8IG1ibGVuZ3RoID09IChzaXplX3QpLTEpIFwKIAkgICAgICB7IFwKQEAgLTI0Nyw4ICsyNjIsMTQgQEAKIAkgICAgc2l6ZV90IG1ibGVuZ3RoOyBcCiAJICAgIGludCBfazsgXAogXAotCSAgICBzdGF0ZV9iYWsgPSBzdGF0ZTsgXAotCSAgICBtYmxlbmd0aCA9IG1icmxlbiAoKF9zcmMpLCAoX3NyY2VuZCkgLSAoX3NyYyksICZzdGF0ZSk7IFwKKwkgICAgX2sgPSBpc19iYXNpYyAoKihfc3JjKSk7IFwKKwkgICAgaWYgKF9rKSBcCisJICAgICAgbWJsZW5ndGggPSAxOyBcCisJICAgIGVsc2UgXAorCSAgICAgIHsgXAorCQlzdGF0ZV9iYWsgPSBzdGF0ZTsgXAorCQltYmxlbmd0aCA9IG1icmxlbiAoKF9zcmMpLCAoX3NyY2VuZCkgLSAoX3NyYyksICZzdGF0ZSk7IFwKKwkgICAgICB9IFwKIAkgICAgaWYgKG1ibGVuZ3RoID09IChzaXplX3QpLTIgfHwgbWJsZW5ndGggPT0gKHNpemVfdCktMSkgXAogCSAgICAgIHsgXAogCQlzdGF0ZSA9IHN0YXRlX2JhazsgXApAQCAtMjgwLDggKzMwMSwxNCBAQAogCSAgICBzaXplX3QgbWJsZW5ndGg7IFwKIAkgICAgaW50IF9rOyBcCiBcCi0JICAgIHN0YXRlX2JhayA9IHN0YXRlOyBcCi0JICAgIG1ibGVuZ3RoID0gbWJybGVuICgoX3NyYykgKyAoX3NpKSwgKF9zcmNlbmQpIC0gKChfc3JjKSsoX3NpKSksICZzdGF0ZSk7IFwKKwkgICAgX2sgPSBpc19iYXNpYyAoKigoX3NyYykgKyAoX3NpKSkpOyBcCisJICAgIGlmIChfaykgXAorCSAgICAgIG1ibGVuZ3RoID0gMTsgXAorCSAgICBlbHNlIFwKKwkgICAgICB7XAorCQlzdGF0ZV9iYWsgPSBzdGF0ZTsgXAorCQltYmxlbmd0aCA9IG1icmxlbiAoKF9zcmMpICsgKF9zaSksIChfc3JjZW5kKSAtICgoX3NyYykrKF9zaSkpLCAmc3RhdGUpOyBcCisJICAgICAgfSBcCiAJICAgIGlmIChtYmxlbmd0aCA9PSAoc2l6ZV90KS0yIHx8IG1ibGVuZ3RoID09IChzaXplX3QpLTEpIFwKIAkgICAgICB7IFwKIAkJc3RhdGUgPSBzdGF0ZV9iYWs7IFwKQEAgLTMxNyw4ICszNDQsMTQgQEAKIAkgICAgc2l6ZV90IG1ibGVuZ3RoOyBcCiAJICAgIGludCBfaTsgXAogXAotCSAgICBzdGF0ZV9iYWsgPSBzdGF0ZTsgXAotCSAgICBtYmxlbmd0aCA9IG1icmxlbiAoKF9zcmMpICsgKF9zaSksIChfc2xlbikgLSAoX3NpKSwgJnN0YXRlKTsgXAorCSAgICBfaSA9IGlzX2Jhc2ljICgqKChfc3JjKSArIChfc2kpKSk7IFwKKwkgICAgaWYgKF9pKSBcCisJICAgICAgbWJsZW5ndGggPSAxOyBcCisJICAgIGVsc2UgXAorCSAgICAgIHsgXAorCQlzdGF0ZV9iYWsgPSBzdGF0ZTsgXAorCQltYmxlbmd0aCA9IG1icmxlbiAoKF9zcmMpICsgKF9zaSksIChfc2xlbikgLSAoX3NpKSwgJnN0YXRlKTsgXAorCSAgICAgIH0gXAogCSAgICBpZiAobWJsZW5ndGggPT0gKHNpemVfdCktMiB8fCBtYmxlbmd0aCA9PSAoc2l6ZV90KS0xKSBcCiAJICAgICAgeyBcCiAJCXN0YXRlID0gc3RhdGVfYmFrOyBcCkBAIC0zNTYsOSArMzg5LDE2IEBACiAJICB7IFwKIAkgICAgbWJzdGF0ZV90IHN0YXRlX2JhazsgXAogCSAgICBzaXplX3QgbWJsZW5ndGg7IFwKKwkgICAgaW50IF9pOyBcCiBcCi0JICAgIHN0YXRlX2JhayA9IHN0YXRlOyBcCi0JICAgIG1ibGVuZ3RoID0gbWJybGVuICgoX3NyYykgKyAoX3NpKSwgKF9zcmNlbmQpIC0gKChfc3JjKSArIChfc2kpKSwgJnN0YXRlKTsgXAorCSAgICBfaSA9IGlzX2Jhc2ljICgqKChfc3JjKSArIChfc2kpKSk7IFwKKwkgICAgaWYgKF9pKSBcCisJICAgICAgbWJsZW5ndGggPSAxOyBcCisJICAgIGVsc2UgXAorCSAgICAgIHsgXAorCQlzdGF0ZV9iYWsgPSBzdGF0ZTsgXAorCQltYmxlbmd0aCA9IG1icmxlbiAoKF9zcmMpICsgKF9zaSksIChfc3JjZW5kKSAtICgoX3NyYykgKyAoX3NpKSksICZzdGF0ZSk7IFwKKwkgICAgICB9IFwKIAkgICAgaWYgKG1ibGVuZ3RoID09IChzaXplX3QpLTIgfHwgbWJsZW5ndGggPT0gKHNpemVfdCktMSkgXAogCSAgICAgIHsgXAogCQlzdGF0ZSA9IHN0YXRlX2JhazsgXApAQCAtMzk1LDggKzQzNSwxNCBAQAogCSAgICBtYnN0YXRlX3Qgc3RhdGVfYmFrOyBcCiAJICAgIHNpemVfdCBtYmxlbmd0aDsgXAogXAotCSAgICBzdGF0ZV9iYWsgPSBzdGF0ZTsgXAotCSAgICBtYmxlbmd0aCA9IG1icmxlbiAoKF9zcmMpICsgKF9zaSksIChfc3Jjc2l6ZSkgLSAoX3NpKSwgJnN0YXRlKTsgXAorCSAgICBpID0gaXNfYmFzaWMgKCooKF9zcmMpICsgKF9zaSkpKTsgXAorCSAgICBpZiAoaSkgXAorCSAgICAgIG1ibGVuZ3RoID0gMTsgXAorCSAgICBlbHNlIFwKKwkgICAgICB7IFwKKwkJc3RhdGVfYmFrID0gc3RhdGU7IFwKKwkJbWJsZW5ndGggPSBtYnJsZW4gKChfc3JjKSArIChfc2kpLCAoX3NyY3NpemUpIC0gKF9zaSksICZzdGF0ZSk7IFwKKwkgICAgICB9IFwKIAkgICAgaWYgKG1ibGVuZ3RoID09IChzaXplX3QpLTEgfHwgbWJsZW5ndGggPT0gKHNpemVfdCktMikgXAogCSAgICAgIHsgXAogCQlzdGF0ZSA9IHN0YXRlX2JhazsgXApAQCAtNDI3LDggKzQ3MywxNCBAQAogCSAgICBtYnN0YXRlX3Qgc3RhdGVfYmFrOyBcCiAJICAgIHNpemVfdCBtYmxlbmd0aDsgXAogXAotCSAgICBzdGF0ZV9iYWsgPSBzdGF0ZTsgXAotCSAgICBtYmxlbmd0aCA9IG1icmxlbiAoKF9zcmMpICsgKF9zaSksIChfc3Jjc2l6ZSkgLSAoX3NpKSwgJnN0YXRlKTsgXAorCSAgICBpID0gaXNfYmFzaWMgKCooKF9zcmMpICsgKF9zaSkpKTsgXAorCSAgICBpZiAoaSkgXAorCSAgICAgIG1ibGVuZ3RoID0gMTsgXAorCSAgICBlbHNlIFwKKwkgICAgICB7IFwKKwkJc3RhdGVfYmFrID0gc3RhdGU7IFwKKwkJbWJsZW5ndGggPSBtYnJsZW4gKChfc3JjKSArIChfc2kpLCAoX3NyY3NpemUpIC0gKF9zaSksICZzdGF0ZSk7IFwKKwkgICAgICB9IFwKIAkgICAgaWYgKG1ibGVuZ3RoID09IChzaXplX3QpLTEgfHwgbWJsZW5ndGggPT0gKHNpemVfdCktMikgXAogCSAgICAgIHsgXAogCQlzdGF0ZSA9IHN0YXRlX2JhazsgXApkaWZmIC0tZ2l0IGEvaW5jbHVkZS90eXBlbWF4LmggYi9pbmNsdWRlL3R5cGVtYXguaAppbmRleCAzMmU3YTg5Li4zMDBiMTEzIDEwMDY0NAotLS0gYS9pbmNsdWRlL3R5cGVtYXguaAorKysgYi9pbmNsdWRlL3R5cGVtYXguaApAQCAtNzcsNiArNzcsMjEgQEAKICMgIGRlZmluZSBVTExPTkdfTUFYIG1heHF1YWQKICNlbmRpZgogCisjaWYgIWRlZmluZWQgKElOVE1BWF9NQVgpIHx8ICFkZWZpbmVkIChJTlRNQVhfTUlOKQorCisjaWYgU0laRU9GX0lOVE1BWF9UID09IFNJWkVPRl9MT05HX0xPTkcKKyMgIGRlZmluZSBJTlRNQVhfTUFYCUxMT05HX01BWAorIyAgZGVmaW5lIElOVE1BWF9NSU4JTExPTkdfTUlOCisjZWxpZiBTSVpFT0ZfSU5UTUFYX1QgPT0gU0laRU9GX0xPTkcKKyMgIGRlZmluZSBJTlRNQVhfTUFYCUxPTkdfTUFYCisjICBkZWZpbmUgSU5UTUFYX01JTglMT05HX01JTgorI2Vsc2UKKyMgIGRlZmluZSBJTlRNQVhfTUFYCUlOVF9NQVgKKyMgIGRlZmluZSBJTlRNQVhfTUlOCUlOVF9NSU4KKyNlbmRpZgorCisjZW5kaWYKKwogI2lmbmRlZiBTU0laRV9NQVgKICMgIGRlZmluZSBTU0laRV9NQVgJMzI3NjcJCS8qIFBPU0lYIG1pbmltdW0gbWF4ICovCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2lucHV0LmMgYi9pbnB1dC5jCmluZGV4IGZlMjFhZWYuLjI3MzFlMjkgMTAwNjQ0Ci0tLSBhL2lucHV0LmMKKysrIGIvaW5wdXQuYwpAQCAtMTkzLDYgKzE5Myw4IEBACiAgIGJwLT5iX3VzZWQgPSBicC0+Yl9pbnB1dHAgPSBicC0+Yl9mbGFnID0gMDsKICAgaWYgKGJ1ZnNpemUgPT0gMSkKICAgICBicC0+Yl9mbGFnIHw9IEJfVU5CVUZGOworICBpZiAoT19URVhUICYmIChmY250bCAoZmQsIEZfR0VURkwpICYgT19URVhUKSAhPSAwKQorICAgIGJwLT5iX2ZsYWcgfD0gT19URVhUOwogICByZXR1cm4gKGJwKTsKIH0KIApAQCAtMzYxLDExICszNjMsNyBAQAogfQogCiAvKiBSZXR1cm4gMSBpZiBhIHNlZWsgb24gRkQgd2lsbCBzdWNjZWVkLiAqLwotI2lmbmRlZiBfX0NZR1dJTl9fCi0jICBkZWZpbmUgZmRfaXNfc2Vla2FibGUoZmQpIChsc2VlayAoKGZkKSwgMEwsIFNFRUtfQ1VSKSA+PSAwKQotI2Vsc2UKLSMgIGRlZmluZSBmZF9pc19zZWVrYWJsZShmZCkgMAotI2VuZGlmIC8qIF9fQ1lHV0lOX18gKi8KKyNkZWZpbmUgZmRfaXNfc2Vla2FibGUoZmQpIChsc2VlayAoKGZkKSwgMEwsIFNFRUtfQ1VSKSA+PSAwKQogCiAvKiBUYWtlIEZELCBhIGZpbGUgZGVzY3JpcHRvciwgYW5kIGNyZWF0ZSBhbmQgcmV0dXJuIGEgYnVmZmVyZWQgc3RyZWFtCiAgICBjb3JyZXNwb25kaW5nIHRvIGl0LiAgSWYgc29tZXRoaW5nIGlzIHdyb25nIGFuZCB0aGUgZmlsZSBkZXNjcmlwdG9yCkBAIC00NzIsOSArNDcwLDI3IEBACiAgICAgIEJVRkZFUkVEX1NUUkVBTSAqYnA7CiB7CiAgIHNzaXplX3QgbnI7CisgIG9mZl90IG87CiAKICAgQ0hFQ0tfVEVSTVNJRzsKLSAgbnIgPSB6cmVhZCAoYnAtPmJfZmQsIGJwLT5iX2J1ZmZlciwgYnAtPmJfc2l6ZSk7CisgIC8qIEluIGFuIGVudmlyb25tZW50IHdoZXJlIHRleHQgYW5kIGJpbmFyeSBmaWxlcyBhcmUgdHJlYXRlZCBkaWZmZXJlbnRseSwKKyAgICAgY29tcGVuc2F0ZSBmb3IgbHNlZWsoKSBvbiB0ZXh0IGZpbGVzIHJldHVybmluZyBhbiBvZmZzZXQgZGlmZmVyZW50IGZyb20KKyAgICAgdGhlIGNvdW50IG9mIGNoYXJhY3RlcnMgcmVhZCgpIHJldHVybnMuICBUZXh0LW1vZGUgc3RyZWFtcyBoYXZlIHRvIGJlCisgICAgIHRyZWF0ZWQgYXMgdW5idWZmZXJlZC4gKi8KKyAgaWYgKChicC0+Yl9mbGFnICYgKEJfVEVYVCB8IEJfVU5CVUZGKSkgPT0gQl9URVhUKQorICAgIHsKKyAgICAgIG8gPSBsc2VlayAoYnAtPmJfZmQsIDAsIFNFRUtfQ1VSKTsKKyAgICAgIG5yID0genJlYWQgKGJwLT5iX2ZkLCBicC0+Yl9idWZmZXIsIGJwLT5iX3NpemUpOworICAgICAgaWYgKG5yID4gMCAmJiBuciA8IGxzZWVrIChicC0+Yl9mZCwgMCwgU0VFS19DVVIpIC0gbykKKwl7CisJICBsc2VlayAoYnAtPmJfZmQsIG8sIFNFRUtfU0VUKTsKKwkgIGJwLT5iX2ZsYWcgfD0gQl9VTkJVRkY7CisJICBicC0+Yl9zaXplID0gMTsKKwkgIG5yID0genJlYWQgKGJwLT5iX2ZkLCBicC0+Yl9idWZmZXIsIGJwLT5iX3NpemUpOworCX0KKyAgICB9CisgIGVsc2UKKyAgICBuciA9IHpyZWFkIChicC0+Yl9mZCwgYnAtPmJfYnVmZmVyLCBicC0+Yl9zaXplKTsKICAgaWYgKG5yIDw9IDApCiAgICAgewogICAgICAgYnAtPmJfdXNlZCA9IDA7CkBAIC00ODYsMTUgKzUwMiw2IEBACiAgICAgICByZXR1cm4gKEVPRik7CiAgICAgfQogCi0jaWYgZGVmaW5lZCAoX19DWUdXSU5fXykKLSAgLyogSWYgb24gY3lnd2luLCB0cmFuc2xhdGUgXHJcbiB0byBcbi4gKi8KLSAgaWYgKG5yID49IDIgJiYgYnAtPmJfYnVmZmVyW25yIC0gMl0gPT0gJ1xyJyAmJiBicC0+Yl9idWZmZXJbbnIgLSAxXSA9PSAnXG4nKQotICAgIHsKLSAgICAgIGJwLT5iX2J1ZmZlcltuciAtIDJdID0gJ1xuJzsKLSAgICAgIG5yLS07Ci0gICAgfQotI2VuZGlmCi0KICAgYnAtPmJfdXNlZCA9IG5yOwogICBicC0+Yl9pbnB1dHAgPSAwOwogICByZXR1cm4gKGJwLT5iX2J1ZmZlclticC0+Yl9pbnB1dHArK10gJiAweEZGKTsKZGlmZiAtLWdpdCBhL2lucHV0LmggYi9pbnB1dC5oCmluZGV4IDgzNDYyNmEuLjBjYmZjYmUgMTAwNjQ0Ci0tLSBhL2lucHV0LmgKKysrIGIvaW5wdXQuaApAQCAtNDgsNiArNDgsNyBAQAogI2RlZmluZSBCX0VSUk9SCQkweDAyCiAjZGVmaW5lIEJfVU5CVUZGCTB4MDQKICNkZWZpbmUgQl9XQVNCQVNISU5QVVQJMHgwOAorI2RlZmluZSBCX1RFWFQJCTB4MTAKIAogLyogQSBidWZmZXJlZCBzdHJlYW0uICBMaWtlIGEgRklMRSAqLCBidXQgd2l0aCBvdXIgb3duIGJ1ZmZlcmluZyBhbmQKICAgIHN5bmNocm9uaXphdGlvbi4gIExvb2sgaW4gaW5wdXQuYyBmb3IgdGhlIGltcGxlbWVudGF0aW9uLiAqLwpkaWZmIC0tZ2l0IGEvam9icy5jIGIvam9icy5jCmluZGV4IGRmMTNhZDkuLmQ2M2M1ZGQgMTAwNjQ0Ci0tLSBhL2pvYnMuYworKysgYi9qb2JzLmMKQEAgLTMsNyArMyw3IEBACiAvKiBUaGlzIGZpbGUgd29ya3Mgd2l0aCBib3RoIFBPU0lYIGFuZCBCU0Qgc3lzdGVtcy4gIEl0IGltcGxlbWVudHMgam9iCiAgICBjb250cm9sLiAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDE5ODktMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMTk4OS0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtNzcsNiArNzcsMTAgQEAKIGV4dGVybiBpbnQgZXJybm87CiAjZW5kaWYgLyogIWVycm5vICovCiAKKyNpZiAhZGVmaW5lZCAoSEFWRV9LSUxMUEcpCitleHRlcm4gaW50IGtpbGxwZyBfX1AoKHBpZF90LCBpbnQpKTsKKyNlbmRpZgorCiAjZGVmaW5lIERFRkFVTFRfQ0hJTERfTUFYIDMyCiAjaWYgIWRlZmluZWQgKERFQlVHKQogI2RlZmluZSBNQVhfSk9CU19JTl9BUlJBWSA0MDk2CQkvKiBwcm9kdWN0aW9uICovCkBAIC0yNDYsOCArMjUwLDYgQEAKIHN0YXRpYyBpbnQgcHJpbnRfam9iIF9fUCgoSk9CICosIGludCwgaW50LCBpbnQpKTsKIHN0YXRpYyBpbnQgcHJvY2Vzc19leGl0X3N0YXR1cyBfX1AoKFdBSVQpKTsKIHN0YXRpYyBpbnQgcHJvY2Vzc19leGl0X3NpZ25hbCBfX1AoKFdBSVQpKTsKLXN0YXRpYyBpbnQgam9iX2V4aXRfc3RhdHVzIF9fUCgoaW50KSk7Ci1zdGF0aWMgaW50IGpvYl9leGl0X3NpZ25hbCBfX1AoKGludCkpOwogc3RhdGljIGludCBzZXRfam9iX3N0YXR1c19hbmRfY2xlYW51cCBfX1AoKGludCkpOwogCiBzdGF0aWMgV0FJVCBqb2Jfc2lnbmFsX3N0YXR1cyBfX1AoKGludCkpOwpAQCAtNjQ1LDcgKzY0Nyw3IEBACiAKICAgc3RvcF9tYWtpbmdfY2hpbGRyZW4gKCk7CiAgIFVOQkxPQ0tfQ0hJTEQgKG9zZXQpOwotICByZXR1cm4gKGpzLmpfY3VycmVudCk7CisgIHJldHVybiAobmV3am9iID8gaSA6IGpzLmpfY3VycmVudCk7CiB9CiAKIC8qIEZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlIGxpc3Qgb2YgZXhpdGVkIGJhY2tncm91bmQgcGlkcyB3aG9zZSBzdGF0dXMgaGFzCkBAIC0xMTM0LDYgKzExMzYsMzMgQEAKICAgICB9CiB9CiAKKy8qIENyZWF0ZSBhIChkdW1teSkgUFJPQ0VTUyB3aXRoIE5BTUUsIFBJRCwgYW5kIFNUQVRVUywgYW5kIG1ha2UgaXQgdGhlIGxhc3QKKyAgIHByb2Nlc3MgaW4gam9ic1tKSURdLT5waXBlLiAgVXNlZCBieSB0aGUgbGFzdHBpcGUgY29kZS4gKi8KK3ZvaWQKK2FwcGVuZF9wcm9jZXNzIChuYW1lLCBwaWQsIHN0YXR1cywgamlkKQorICAgICBjaGFyICpuYW1lOworICAgICBwaWRfdCBwaWQ7CisgICAgIGludCBzdGF0dXM7CisgICAgIGludCBqaWQ7Cit7CisgIFBST0NFU1MgKnQsICpwOworCisgIHQgPSAoUFJPQ0VTUyAqKXhtYWxsb2MgKHNpemVvZiAoUFJPQ0VTUykpOworICB0LT5uZXh0ID0gKFBST0NFU1MgKilOVUxMOworICB0LT5waWQgPSBwaWQ7CisgIC8qIHNldCBwcm9jZXNzIGV4aXQgc3RhdHVzIHVzaW5nIG9mZnNldCBkaXNjb3ZlcmVkIGJ5IGNvbmZpZ3VyZSAqLworICB0LT5zdGF0dXMgPSAoc3RhdHVzICYgMHhmZikgPDwgV0VYSVRTVEFUVVNfT0ZGU0VUOworICB0LT5ydW5uaW5nID0gUFNfRE9ORTsKKyAgdC0+Y29tbWFuZCA9IG5hbWU7CisKKyAganMuY19yZWFwZWQrKzsJLyogWFhYICovCisKKyAgZm9yIChwID0gam9ic1tqaWRdLT5waXBlOyBwLT5uZXh0ICE9IGpvYnNbamlkXS0+cGlwZTsgcCA9IHAtPm5leHQpCisgICAgOworICBwLT5uZXh0ID0gdDsKKyAgdC0+bmV4dCA9IGpvYnNbamlkXS0+cGlwZTsKK30KKwogI2lmIDAKIC8qIFRha2UgdGhlIGxhc3Qgam9iIGFuZCBtYWtlIGl0IHRoZSBmaXJzdCBqb2IuICBNdXN0IGJlIGNhbGxlZCB3aXRoCiAgICBTSUdDSExEIGJsb2NrZWQuICovCkBAIC0xNzA4LDEwICsxNzM3LDEwIEBACiAgIC8qIENyZWF0ZSB0aGUgY2hpbGQsIGhhbmRsZSBzZXZlcmUgZXJyb3JzLiAgUmV0cnkgb24gRUFHQUlOLiAqLwogICB3aGlsZSAoKHBpZCA9IGZvcmsgKCkpIDwgMCAmJiBlcnJubyA9PSBFQUdBSU4gJiYgZm9ya3NsZWVwIDwgRk9SS1NMRUVQX01BWCkKICAgICB7Ci0jaWYgMAkJLyogZm9yIGJhc2gtNC4yICovCisgICAgICAvKiBiYXNoLTQuMiAqLwogICAgICAgLyogSWYgd2UgY2FuJ3QgY3JlYXRlIGFueSBjaGlsZHJlbiwgdHJ5IHRvIHJlYXAgc29tZSBkZWFkIG9uZXMuICovCiAgICAgICB3YWl0Y2hsZCAoLTEsIDApOwotI2VuZGlmCisKICAgICAgIHN5c19lcnJvciAoImZvcms6IHJldHJ5Iik7CiAgICAgICBpZiAoc2xlZXAgKGZvcmtzbGVlcCkgIT0gMCkKIAlicmVhazsKQEAgLTIxMjUsNyArMjE1NCw3IEBACiAgIHJldHVybiByOwogfQogCi0vKiBXYWl0IGZvciBhbGwgb2YgdGhlIGJhY2tncm91bmRzIG9mIHRoaXMgc2hlbGwgdG8gZmluaXNoLiAqLworLyogV2FpdCBmb3IgYWxsIG9mIHRoZSBiYWNrZ3JvdW5kIHByb2Nlc3NlcyBzdGFydGVkIGJ5IHRoaXMgc2hlbGwgdG8gZmluaXNoLiAqLwogdm9pZAogd2FpdF9mb3JfYmFja2dyb3VuZF9waWRzICgpCiB7CkBAIC0yMzA2LDE0ICsyMzM1LDE0IEBACiAvKiBSZXR1cm4gdGhlIGV4aXQgc3RhdHVzIG9mIGpvYiBKT0IuICBUaGlzIGlzIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUgbGFzdAogICAgKHJpZ2h0bW9zdCkgcHJvY2VzcyBpbiB0aGUgam9iJ3MgcGlwZWxpbmUsIG1vZGlmaWVkIGlmIHRoZSBqb2Igd2FzIGtpbGxlZAogICAgYnkgYSBzaWduYWwgb3Igc3RvcHBlZC4gKi8KLXN0YXRpYyBpbnQKK2ludAogam9iX2V4aXRfc3RhdHVzIChqb2IpCiAgICAgIGludCBqb2I7CiB7CiAgIHJldHVybiAocHJvY2Vzc19leGl0X3N0YXR1cyAocmF3X2pvYl9leGl0X3N0YXR1cyAoam9iKSkpOwogfQogCi1zdGF0aWMgaW50CitpbnQKIGpvYl9leGl0X3NpZ25hbCAoam9iKQogICAgICBpbnQgam9iOwogewpAQCAtMjM0Nyw3ICsyMzc2LDYgQEAKICAgV0FJVCBzOwogICByZWdpc3RlciBQUk9DRVNTICpjaGlsZDsKICAgc2lnc2V0X3Qgc2V0LCBvc2V0OwotICByZWdpc3RlciBQUk9DRVNTICpwOwogCiAgIC8qIEluIHRoZSBjYXNlIHRoYXQgdGhpcyBjb2RlIGlzIGludGVycnVwdGVkLCBhbmQgd2UgbG9uZ2ptcCAoKSBvdXQgb2YgaXQsCiAgICAgIHdlIGFyZSByZWx5aW5nIG9uIHRoZSBjb2RlIGluIHRocm93X3RvX3RvcF9sZXZlbCAoKSB0byByZXN0b3JlIHRoZQpAQCAtMjU0OSwxMSArMjU3NywxMyBAQAogCQl9CiAJICAgIH0KIAl9Ci0gICAgICBlbHNlIGlmICgoc3Vic2hlbGxfZW52aXJvbm1lbnQgJiBTVUJTSEVMTF9DT01TVUIpICYmIHdhaXRfc2lnaW50X3JlY2VpdmVkKQorICAgICAgZWxzZSBpZiAoKHN1YnNoZWxsX2Vudmlyb25tZW50ICYgKFNVQlNIRUxMX0NPTVNVQnxTVUJTSEVMTF9QSVBFKSkgJiYgd2FpdF9zaWdpbnRfcmVjZWl2ZWQpCiAJewogCSAgLyogSWYgd2FpdGluZyBmb3IgYSBqb2IgaW4gYSBzdWJzaGVsbCBzdGFydGVkIHRvIGRvIGNvbW1hbmQKLQkgICAgIHN1YnN0aXR1dGlvbiwgc2ltdWxhdGUgZ2V0dGluZyBhbmQgYmVpbmcga2lsbGVkIGJ5IHRoZSBTSUdJTlQgdG8KLQkgICAgIHBhc3MgdGhlIHN0YXR1cyBiYWNrIHRvIG91ciBwYXJlbnQuICovCisJICAgICBzdWJzdGl0dXRpb24gb3IgdG8gcnVuIGEgcGlwZWxpbmUgZWxlbWVudCB0aGF0IGNvbnNpc3RzIG9mCisJICAgICBzb21ldGhpbmcgbGlrZSBhIHdoaWxlIGxvb3Agb3IgYSBmb3IgbG9vcCwgc2ltdWxhdGUgZ2V0dGluZworCSAgICAgYW5kIGJlaW5nIGtpbGxlZCBieSB0aGUgU0lHSU5UIHRvIHBhc3MgdGhlIHN0YXR1cyBiYWNrIHRvIG91cgorCSAgICAgcGFyZW50LiAqLwogCSAgcyA9IGpvYl9zaWduYWxfc3RhdHVzIChqb2IpOwogCQogCSAgaWYgKFdJRlNJR05BTEVEIChzKSAmJiBXVEVSTVNJRyAocykgPT0gU0lHSU5UICYmIHNpZ25hbF9pc190cmFwcGVkIChTSUdJTlQpID09IDApCkBAIC00MTE0LDcgKzQxNDQsMTMgQEAKIH0KIAogLyogSGVyZSB0byBhbGxvdyBvdGhlciBwYXJ0cyBvZiB0aGUgc2hlbGwgKGxpa2UgdGhlIHRyYXAgc3R1ZmYpIHRvCi0gICB1bmZyZWV6ZSB0aGUgam9icyBsaXN0LiAqLworICAgZnJlZXplIGFuZCB1bmZyZWV6ZSB0aGUgam9icyBsaXN0LiAqLwordm9pZAorZnJlZXplX2pvYnNfbGlzdCAoKQoreworICBqb2JzX2xpc3RfZnJvemVuID0gMTsKK30KKwogdm9pZAogdW5mcmVlemVfam9ic19saXN0ICgpCiB7CmRpZmYgLS1naXQgYS9qb2JzLmggYi9qb2JzLmgKaW5kZXggNjVkZTc3My4uMzlkYTYxZSAxMDA2NDQKLS0tIGEvam9icy5oCisrKyBiL2pvYnMuaApAQCAtMTc3LDYgKzE3Nyw3IEBACiBleHRlcm4gdm9pZCByZXN0b3JlX3BpcGVsaW5lIF9fUCgoaW50KSk7CiBleHRlcm4gdm9pZCBzdGFydF9waXBlbGluZSBfX1AoKHZvaWQpKTsKIGV4dGVybiBpbnQgc3RvcF9waXBlbGluZSBfX1AoKGludCwgQ09NTUFORCAqKSk7CitleHRlcm4gdm9pZCBhcHBlbmRfcHJvY2VzcyBfX1AoKGNoYXIgKiwgcGlkX3QsIGludCwgaW50KSk7CiAKIGV4dGVybiB2b2lkIGRlbGV0ZV9qb2IgX19QKChpbnQsIGludCkpOwogZXh0ZXJuIHZvaWQgbm9odXBfam9iIF9fUCgoaW50KSk7CkBAIC0yMDgsNiArMjA5LDkgQEAKIGV4dGVybiBpbnQgZ2V0X3R0eV9zdGF0ZSBfX1AoKHZvaWQpKTsKIGV4dGVybiBpbnQgc2V0X3R0eV9zdGF0ZSBfX1AoKHZvaWQpKTsKIAorZXh0ZXJuIGludCBqb2JfZXhpdF9zdGF0dXMgX19QKChpbnQpKTsKK2V4dGVybiBpbnQgam9iX2V4aXRfc2lnbmFsIF9fUCgoaW50KSk7CisKIGV4dGVybiBpbnQgd2FpdF9mb3Jfc2luZ2xlX3BpZCBfX1AoKHBpZF90KSk7CiBleHRlcm4gdm9pZCB3YWl0X2Zvcl9iYWNrZ3JvdW5kX3BpZHMgX19QKCh2b2lkKSk7CiBleHRlcm4gaW50IHdhaXRfZm9yIF9fUCgocGlkX3QpKTsKQEAgLTIyMyw2ICsyMjcsNyBAQAogCiBleHRlcm4gdm9pZCBydW5fc2lnY2hsZF90cmFwIF9fUCgoaW50KSk7CiAKK2V4dGVybiB2b2lkIGZyZWV6ZV9qb2JzX2xpc3QgX19QKCh2b2lkKSk7CiBleHRlcm4gdm9pZCB1bmZyZWV6ZV9qb2JzX2xpc3QgX19QKCh2b2lkKSk7CiBleHRlcm4gaW50IHNldF9qb2JfY29udHJvbCBfX1AoKGludCkpOwogZXh0ZXJuIHZvaWQgd2l0aG91dF9qb2JfY29udHJvbCBfX1AoKHZvaWQpKTsKZGlmZiAtLWdpdCBhL2xpYi9nbG9iL01ha2VmaWxlLmluIGIvbGliL2dsb2IvTWFrZWZpbGUuaW4KaW5kZXggMWNjYWU2OC4uMTJjYmI2MSAxMDA2NDQKLS0tIGEvbGliL2dsb2IvTWFrZWZpbGUuaW4KKysrIGIvbGliL2dsb2IvTWFrZWZpbGUuaW4KQEAgLTcxLDcgKzcxLDcgQEAKICMgVGhlIGhlYWRlciBmaWxlcyBmb3IgdGhpcyBsaWJyYXJ5LgogSFNPVVJDRVMgPSAkKHNyY2Rpcikvc3RybWF0Y2guaAogCi1PQkpFQ1RTID0gZ2xvYi5vIHN0cm1hdGNoLm8gc21hdGNoLm8geG1ic3J0b3djcy5vCitPQkpFQ1RTID0gZ2xvYi5vIHN0cm1hdGNoLm8gc21hdGNoLm8geG1ic3J0b3djcy5vIGdtaXNjLm8KIAogIyBUaGUgdGV4aW5mbyBmaWxlcyB3aGljaCBkb2N1bWVudCB0aGlzIGxpYnJhcnkuCiBET0NTT1VSQ0UgPSBkb2MvZ2xvYi50ZXhpCkBAIC0xMTksNiArMTE5LDkgQEAKIG1vc3RseWNsZWFuOiBjbGVhbgogCS0oIGNkIGRvYyAmJiAkKE1BS0UpICQoTUZMQUdTKSAkQCApCiAKKyR7QlVJTERfRElSfS9wYXRobmFtZXMuaDogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oICR7QlVJTERfRElSfS9NYWtlZmlsZSBNYWtlZmlsZQorCS0oIGNkICR7QlVJTERfRElSfSAmJiAke01BS0V9ICR7TUZMQUdTfSBwYXRobmFtZXMuaCApCisKICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMJCQkJCQkJCSAgICAgIwogIyAgRGVwZW5kZW5jaWVzIGZvciB0aGUgb2JqZWN0IGZpbGVzIHdoaWNoIG1ha2UgdXAgdGhpcyBsaWJyYXJ5LiAgICAgIwpAQCAtMTM3LDE4ICsxNDAsMjQgQEAKIHN0cm1hdGNoLm86ICQoQkFTSElOQ0RJUikvc3RkYy5oCiAKIGdsb2IubzogJChCVUlMRF9ESVIpL2NvbmZpZy5oCitnbG9iLm86ICQodG9wZGlyKS9zaGVsbC5oICQoQlVJTERfRElSKS9wYXRobmFtZXMuaAogZ2xvYi5vOiAkKHRvcGRpcikvYmFzaHR5cGVzLmggJChCQVNISU5DRElSKS9hbnNpX3N0ZGxpYi5oICQodG9wZGlyKS9iYXNoYW5zaS5oCiBnbG9iLm86ICQoQkFTSElOQ0RJUikvcG9zaXhzdGF0LmggJChCQVNISU5DRElSKS9tZW1hbGxvYy5oCiBnbG9iLm86IHN0cm1hdGNoLmggZ2xvYi5oCiBnbG9iLm86ICQoQkFTSElOQ0RJUikvc2htYnV0aWwuaAogZ2xvYi5vOiAkKHRvcGRpcikveG1hbGxvYy5oCiAKK2dtaXNjLm86ICQoQlVJTERfRElSKS9jb25maWcuaAorZ21pc2MubzogJCh0b3BkaXIpL2Jhc2h0eXBlcy5oICQoQkFTSElOQ0RJUikvYW5zaV9zdGRsaWIuaCAkKHRvcGRpcikvYmFzaGFuc2kuaAorZ21pc2MubzogJChCQVNISU5DRElSKS9zaG1idXRpbC5oCisKIHhtYnNydG93Y3MubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCiB4bWJzcnRvd2NzLm86ICR7dG9wZGlyfS9iYXNoYW5zaS5oICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaAogeG1ic3J0b3djcy5vOiAke0JBU0hJTkNESVJ9L3NobWJ1dGlsLmgKIAogIyBSdWxlcyBmb3IgZGVmaWNpZW50IG1ha2VzLCBsaWtlIFN1bk9TIGFuZCBTb2xhcmlzCiBnbG9iLm86IGdsb2IuYworZ21pc2MubzogZ21pc2MuYwogc3RybWF0Y2gubzogc3RybWF0Y2guYwogc21hdGNoLm86IHNtYXRjaC5jCiB4bWJzcnRvd2NzLm86IHhtYnNydG93Y3MuYwpkaWZmIC0tZ2l0IGEvbGliL2dsb2IvZ21pc2MuYyBiL2xpYi9nbG9iL2dtaXNjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQ3OTRjZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9nbG9iL2dtaXNjLmMKQEAgLTAsMCArMSwzMTQgQEAKKy8qIGdtaXNjLmMgLS0gbWlzY2VsbGFuZW91cyBwYXR0ZXJuIG1hdGNoaW5nIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBCYXNoLgorCisgICBDb3B5cmlnaHQgKEMpIDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lLUFnYWluIFNIZWxsLgorICAgCisgICBCYXNoIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgQmFzaCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIEJhc2guICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisqLworCisjaW5jbHVkZSA8Y29uZmlnLmg+CisKKyNpbmNsdWRlICJiYXNodHlwZXMuaCIKKworI2lmIGRlZmluZWQgKEhBVkVfVU5JU1REX0gpCisjICBpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiYmFzaGFuc2kuaCIKKyNpbmNsdWRlICJzaG1idXRpbC5oIgorCisjaW5jbHVkZSAic3RkYy5oIgorCisjaWZuZGVmIExQQVJFTgorIyAgZGVmaW5lIExQQVJFTiAnKCcKKyNlbmRpZgorI2lmbmRlZiBSUEFSRU4KKyMgIGRlZmluZSBSUEFSRU4gJyknCisjZW5kaWYKKworI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUpCisjZGVmaW5lIFdMUEFSRU4gICAgICAgICBMJygnCisjZGVmaW5lIFdSUEFSRU4gICAgICAgICBMJyknCisKKy8qIFJldHVybiAxIG9mIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgV1NUUklORyBjb3VsZCBtYXRjaCB0aGUgZmlyc3QKKyAgIGNoYXJhY3RlciBvZiBwYXR0ZXJuIFdQQVQuICBXaWRlIGNoYXJhY3RlciB2ZXJzaW9uLiAqLworaW50CittYXRjaF9wYXR0ZXJuX3djaGFyICh3cGF0LCB3c3RyaW5nKQorICAgICB3Y2hhcl90ICp3cGF0LCAqd3N0cmluZzsKK3sKKyAgd2NoYXJfdCB3YzsKKworICBpZiAoKndzdHJpbmcgPT0gMCkKKyAgICByZXR1cm4gKDApOworCisgIHN3aXRjaCAod2MgPSAqd3BhdCsrKQorICAgIHsKKyAgICBkZWZhdWx0OgorICAgICAgcmV0dXJuICgqd3N0cmluZyA9PSB3Yyk7CisgICAgY2FzZSBMJ1xcJzoKKyAgICAgIHJldHVybiAoKndzdHJpbmcgPT0gKndwYXQpOworICAgIGNhc2UgTCc/JzoKKyAgICAgIHJldHVybiAoKndwYXQgPT0gV0xQQVJFTiA/IDEgOiAoKndzdHJpbmcgIT0gTCdcMCcpKTsKKyAgICBjYXNlIEwnKic6CisgICAgICByZXR1cm4gKDEpOworICAgIGNhc2UgTCcrJzoKKyAgICBjYXNlIEwnISc6CisgICAgY2FzZSBMJ0AnOgorICAgICAgcmV0dXJuICgqd3BhdCA9PSBXTFBBUkVOID8gMSA6ICgqd3N0cmluZyA9PSB3YykpOworICAgIGNhc2UgTCdbJzoKKyAgICAgIHJldHVybiAoKndzdHJpbmcgIT0gTCdcMCcpOworICAgIH0KK30KKworaW50Cit3bWF0Y2hsZW4gKHdwYXQsIHdtYXgpCisgICAgIHdjaGFyX3QgKndwYXQ7CisgICAgIHNpemVfdCB3bWF4OworeworICB3Y2hhcl90IHdjLCAqd2JyYWNrOworICBpbnQgbWF0bGVuLCB0LCBpbl9jY2xhc3MsIGluX2NvbGxzeW0sIGluX2VxdWl2OworCisgIGlmICgqd3BhdCA9PSAwKQorICAgIHJldHVybiAoMCk7CisKKyAgbWF0bGVuID0gaW5fY2NsYXNzID0gaW5fY29sbHN5bSA9IGluX2VxdWl2ID0gMDsKKyAgd2hpbGUgKHdjID0gKndwYXQrKykKKyAgICB7CisgICAgICBzd2l0Y2ggKHdjKQorCXsKKwlkZWZhdWx0OgorCSAgbWF0bGVuKys7CisJICBicmVhazsKKwljYXNlIEwnXFwnOgorCSAgaWYgKCp3cGF0ID09IDApCisJICAgIHJldHVybiArK21hdGxlbjsKKwkgIGVsc2UKKwkgICAgeworCSAgICAgIG1hdGxlbisrOworCSAgICAgIHdwYXQrKzsKKwkgICAgfQorCSAgYnJlYWs7CisJY2FzZSBMJz8nOgorCSAgaWYgKCp3cGF0ID09IFdMUEFSRU4pCisJICAgIHJldHVybiAobWF0bGVuID0gLTEpOwkJLyogWFhYIGZvciBub3cgKi8KKwkgIGVsc2UKKwkgICAgbWF0bGVuKys7CisJICBicmVhazsKKwljYXNlIEwnKic6CisJICByZXR1cm4gKG1hdGxlbiA9IC0xKTsKKwljYXNlIEwnKyc6CisJY2FzZSBMJyEnOgorCWNhc2UgTCdAJzoKKwkgIGlmICgqd3BhdCA9PSBXTFBBUkVOKQorCSAgICByZXR1cm4gKG1hdGxlbiA9IC0xKTsJCS8qIFhYWCBmb3Igbm93ICovCisJICBlbHNlCisJICAgIG1hdGxlbisrOworCSAgYnJlYWs7CisJY2FzZSBMJ1snOgorCSAgLyogc2NhbiBmb3IgZW5kaW5nIGBdJywgc2tpcHBpbmcgb3ZlciBlbWJlZGRlZCBbOi4uLjpdICovCisJICB3YnJhY2sgPSB3cGF0OworCSAgd2MgPSAqd3BhdCsrOworCSAgZG8KKwkgICAgeworCSAgICAgIGlmICh3YyA9PSAwKQorCQl7CisJICAgICAgICAgIG1hdGxlbiArPSB3cGF0IC0gd2JyYWNrIC0gMTsJLyogaW5jcmVtZW50ZWQgYmVsb3cgKi8KKwkgICAgICAgICAgYnJlYWs7CisJICAgICAgICB9CisJICAgICAgZWxzZSBpZiAod2MgPT0gTCdcXCcpCisJCXsKKwkJICB3YyA9ICp3cGF0Kys7CisJCSAgaWYgKCp3cGF0ID09IDApCisJCSAgICBicmVhazsKKwkJfQorCSAgICAgIGVsc2UgaWYgKHdjID09IEwnWycgJiYgKndwYXQgPT0gTCc6JykJLyogY2hhcmFjdGVyIGNsYXNzICovCisJCXsKKwkJICB3cGF0Kys7CisJCSAgaW5fY2NsYXNzID0gMTsKKwkJfQorCSAgICAgIGVsc2UgaWYgKGluX2NjbGFzcyAmJiB3YyA9PSBMJzonICYmICp3cGF0ID09IEwnXScpCisJCXsKKwkJICB3cGF0Kys7CisJCSAgaW5fY2NsYXNzID0gMDsKKwkJfQorCSAgICAgIGVsc2UgaWYgKHdjID09IEwnWycgJiYgKndwYXQgPT0gTCcuJykJLyogY29sbGF0aW5nIHN5bWJvbCAqLworCQl7CisJCSAgd3BhdCsrOworCQkgIGlmICgqd3BhdCA9PSBMJ10nKQkvKiByaWdodCBicmFja2V0IGNhbiBhcHBlYXIgYXMgY29sbGF0aW5nIHN5bWJvbCAqLworCQkgICAgd3BhdCsrOworCQkgIGluX2NvbGxzeW0gPSAxOworCQl9CisJICAgICAgZWxzZSBpZiAoaW5fY29sbHN5bSAmJiB3YyA9PSBMJy4nICYmICp3cGF0ID09IEwnXScpCisJCXsKKwkJICB3cGF0Kys7CisJCSAgaW5fY29sbHN5bSA9IDA7CisJCX0KKwkgICAgICBlbHNlIGlmICh3YyA9PSBMJ1snICYmICp3cGF0ID09IEwnPScpCS8qIGVxdWl2YWxlbmNlIGNsYXNzICovCisJCXsKKwkJICB3cGF0Kys7CisJCSAgaWYgKCp3cGF0ID09IEwnXScpCS8qIHJpZ2h0IGJyYWNrZXQgY2FuIGFwcGVhciBhcyBlcXVpdmFsZW5jZSBjbGFzcyAqLworCQkgICAgd3BhdCsrOworCQkgIGluX2VxdWl2ID0gMTsKKwkJfQorCSAgICAgIGVsc2UgaWYgKGluX2VxdWl2ICYmIHdjID09IEwnPScgJiYgKndwYXQgPT0gTCddJykKKwkJeworCQkgIHdwYXQrKzsKKwkJICBpbl9lcXVpdiA9IDA7CisJCX0KKwkgICAgfQorCSAgd2hpbGUgKCh3YyA9ICp3cGF0KyspICE9IEwnXScpOworCSAgbWF0bGVuKys7CQkvKiBicmFja2V0IGV4cHJlc3Npb24gY2FuIG9ubHkgbWF0Y2ggb25lIGNoYXIgKi8KKwkgIGJyZWFrOworCX0KKyAgICB9CisKKyAgcmV0dXJuIG1hdGxlbjsKK30KKyNlbmRpZgorCisvKiBSZXR1cm4gMSBvZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIFNUUklORyBjb3VsZCBtYXRjaCB0aGUgZmlyc3QKKyAgIGNoYXJhY3RlciBvZiBwYXR0ZXJuIFBBVC4gIFVzZWQgdG8gYXZvaWQgbjIgY2FsbHMgdG8gc3RybWF0Y2goKS4gKi8KK2ludAorbWF0Y2hfcGF0dGVybl9jaGFyIChwYXQsIHN0cmluZykKKyAgICAgY2hhciAqcGF0LCAqc3RyaW5nOworeworICBjaGFyIGM7CisKKyAgaWYgKCpzdHJpbmcgPT0gMCkKKyAgICByZXR1cm4gKDApOworCisgIHN3aXRjaCAoYyA9ICpwYXQrKykKKyAgICB7CisgICAgZGVmYXVsdDoKKyAgICAgIHJldHVybiAoKnN0cmluZyA9PSBjKTsKKyAgICBjYXNlICdcXCc6CisgICAgICByZXR1cm4gKCpzdHJpbmcgPT0gKnBhdCk7CisgICAgY2FzZSAnPyc6CisgICAgICByZXR1cm4gKCpwYXQgPT0gTFBBUkVOID8gMSA6ICgqc3RyaW5nICE9ICdcMCcpKTsKKyAgICBjYXNlICcqJzoKKyAgICAgIHJldHVybiAoMSk7CisgICAgY2FzZSAnKyc6CisgICAgY2FzZSAnISc6CisgICAgY2FzZSAnQCc6CisgICAgICByZXR1cm4gKCpwYXQgPT0gTFBBUkVOID8gMSA6ICgqc3RyaW5nID09IGMpKTsKKyAgICBjYXNlICdbJzoKKyAgICAgIHJldHVybiAoKnN0cmluZyAhPSAnXDAnKTsKKyAgICB9Cit9CisKK2ludAordW1hdGNobGVuIChwYXQsIG1heCkKKyAgICAgY2hhciAqcGF0OworICAgICBzaXplX3QgbWF4OworeworICBjaGFyIGMsICpicmFjazsKKyAgaW50IG1hdGxlbiwgdCwgaW5fY2NsYXNzLCBpbl9jb2xsc3ltLCBpbl9lcXVpdjsKKworICBpZiAoKnBhdCA9PSAwKQorICAgIHJldHVybiAoMCk7CisKKyAgbWF0bGVuID0gaW5fY2NsYXNzID0gaW5fY29sbHN5bSA9IGluX2VxdWl2ID0gMDsKKyAgd2hpbGUgKGMgPSAqcGF0KyspCisgICAgeworICAgICAgc3dpdGNoIChjKQorCXsKKwlkZWZhdWx0OgorCSAgbWF0bGVuKys7CisJICBicmVhazsKKwljYXNlICdcXCc6CisJICBpZiAoKnBhdCA9PSAwKQorCSAgICByZXR1cm4gKyttYXRsZW47CisJICBlbHNlCisJICAgIHsKKwkgICAgICBtYXRsZW4rKzsKKwkgICAgICBwYXQrKzsKKwkgICAgfQorCSAgYnJlYWs7CisJY2FzZSAnPyc6CisJICBpZiAoKnBhdCA9PSBMUEFSRU4pCisJICAgIHJldHVybiAobWF0bGVuID0gLTEpOwkJLyogWFhYIGZvciBub3cgKi8KKwkgIGVsc2UKKwkgICAgbWF0bGVuKys7CisJICBicmVhazsKKwljYXNlICcqJzoKKwkgIHJldHVybiAobWF0bGVuID0gLTEpOworCWNhc2UgJysnOgorCWNhc2UgJyEnOgorCWNhc2UgJ0AnOgorCSAgaWYgKCpwYXQgPT0gTFBBUkVOKQorCSAgICByZXR1cm4gKG1hdGxlbiA9IC0xKTsJCS8qIFhYWCBmb3Igbm93ICovCisJICBlbHNlCisJICAgIG1hdGxlbisrOworCSAgYnJlYWs7CisJY2FzZSAnWyc6CisJICAvKiBzY2FuIGZvciBlbmRpbmcgYF0nLCBza2lwcGluZyBvdmVyIGVtYmVkZGVkIFs6Li4uOl0gKi8KKwkgIGJyYWNrID0gcGF0OworCSAgYyA9ICpwYXQrKzsKKwkgIGRvCisJICAgIHsKKwkgICAgICBpZiAoYyA9PSAwKQorCQl7CisJICAgICAgICAgIG1hdGxlbiArPSBwYXQgLSBicmFjayAtIDE7CS8qIGluY3JlbWVudGVkIGJlbG93ICovCisJICAgICAgICAgIGJyZWFrOworCSAgICAgICAgfQorCSAgICAgIGVsc2UgaWYgKGMgPT0gJ1xcJykKKwkJeworCQkgIGMgPSAqcGF0Kys7CisJCSAgaWYgKCpwYXQgPT0gMCkKKwkJICAgIGJyZWFrOworCQl9CisJICAgICAgZWxzZSBpZiAoYyA9PSAnWycgJiYgKnBhdCA9PSAnOicpCS8qIGNoYXJhY3RlciBjbGFzcyAqLworCQl7CisJCSAgcGF0Kys7CisJCSAgaW5fY2NsYXNzID0gMTsKKwkJfQorCSAgICAgIGVsc2UgaWYgKGluX2NjbGFzcyAmJiBjID09ICc6JyAmJiAqcGF0ID09ICddJykKKwkJeworCQkgIHBhdCsrOworCQkgIGluX2NjbGFzcyA9IDA7CisJCX0KKwkgICAgICBlbHNlIGlmIChjID09ICdbJyAmJiAqcGF0ID09ICcuJykJLyogY29sbGF0aW5nIHN5bWJvbCAqLworCQl7CisJCSAgcGF0Kys7CisJCSAgaWYgKCpwYXQgPT0gJ10nKQkvKiByaWdodCBicmFja2V0IGNhbiBhcHBlYXIgYXMgY29sbGF0aW5nIHN5bWJvbCAqLworCQkgICAgcGF0Kys7CisJCSAgaW5fY29sbHN5bSA9IDE7CisJCX0KKwkgICAgICBlbHNlIGlmIChpbl9jb2xsc3ltICYmIGMgPT0gJy4nICYmICpwYXQgPT0gJ10nKQorCQl7CisJCSAgcGF0Kys7CisJCSAgaW5fY29sbHN5bSA9IDA7CisJCX0KKwkgICAgICBlbHNlIGlmIChjID09ICdbJyAmJiAqcGF0ID09ICc9JykJLyogZXF1aXZhbGVuY2UgY2xhc3MgKi8KKwkJeworCQkgIHBhdCsrOworCQkgIGlmICgqcGF0ID09ICddJykJLyogcmlnaHQgYnJhY2tldCBjYW4gYXBwZWFyIGFzIGVxdWl2YWxlbmNlIGNsYXNzICovCisJCSAgICBwYXQrKzsKKwkJICBpbl9lcXVpdiA9IDE7CisJCX0KKwkgICAgICBlbHNlIGlmIChpbl9lcXVpdiAmJiBjID09ICc9JyAmJiAqcGF0ID09ICddJykKKwkJeworCQkgIHBhdCsrOworCQkgIGluX2VxdWl2ID0gMDsKKwkJfQorCSAgICB9CisJICB3aGlsZSAoKGMgPSAqcGF0KyspICE9ICddJyk7CisJICBtYXRsZW4rKzsJCS8qIGJyYWNrZXQgZXhwcmVzc2lvbiBjYW4gb25seSBtYXRjaCBvbmUgY2hhciAqLworCSAgYnJlYWs7CisJfQorICAgIH0KKworICByZXR1cm4gbWF0bGVuOworfQpkaWZmIC0tZ2l0IGEvbGliL2dsb2Ivc21hdGNoLmMgYi9saWIvZ2xvYi9zbWF0Y2guYwppbmRleCAxMWQ4NmIwLi4wNjExNDJiIDEwMDY0NAotLS0gYS9saWIvZ2xvYi9zbWF0Y2guYworKysgYi9saWIvZ2xvYi9zbWF0Y2guYwpAQCAtMSw3ICsxLDcgQEAKIC8qIHN0cm1hdGNoLmMgLS0ga3NoLWxpa2UgZXh0ZW5kZWQgcGF0dGVybiBtYXRjaGluZyBmb3IgdGhlIHNoZWxsIGFuZCBmaWxlbmFtZQogCQlnbG9iYmluZy4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTkxLTIwMDUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5OTEtMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAgICAKQEAgLTI0MSw2ICsyNDEsOCBAQAogIyAgZGVmaW5lIFNUUkVRKHMxLCBzMikgKCh3Y3NjbXAgKHMxLCBzMikgPT0gMCkpCiAjICBkZWZpbmUgU1RSRVFOKGEsIGIsIG4pICgoYSlbMF0gPT0gKGIpWzBdICYmIHdjc25jbXAoYSwgYiwgbikgPT0gMCkKIAorZXh0ZXJuIGNoYXIgKm1ic21iY2hhciBfX1AoKGNvbnN0IGNoYXIgKikpOworCiBzdGF0aWMgaW50CiByYW5nZWNtcF93YyAoYzEsIGMyKQogICAgICB3aW50X3QgYzEsIGMyOwpAQCAtMzE0LDcgKzMxNiw3IEBACiAKICAgbWVtc2V0ICgmc3RhdGUsICdcMCcsIHNpemVvZiAobWJzdGF0ZV90KSk7CiAgIG1icyA9IChjaGFyICopIG1hbGxvYyAod2NzbGVuKG5hbWUpICogTUJfQ1VSX01BWCArIDEpOwotICBtYnNsZW5ndGggPSB3Y3NydG9tYnMobWJzLCAoY29uc3Qgd2NoYXJfdCAqKikmbmFtZSwgKHdjc2xlbihuYW1lKSAqIE1CX0NVUl9NQVggKyAxKSwgJnN0YXRlKTsKKyAgbWJzbGVuZ3RoID0gd2NzcnRvbWJzIChtYnMsIChjb25zdCB3Y2hhcl90ICoqKSZuYW1lLCAod2NzbGVuKG5hbWUpICogTUJfQ1VSX01BWCArIDEpLCAmc3RhdGUpOwogCiAgIGlmIChtYnNsZW5ndGggPT0gKHNpemVfdCktMSB8fCBtYnNsZW5ndGggPT0gKHNpemVfdCktMikKICAgICB7CkBAIC0zNjUsNiArMzY3LDE2IEBACiAgIGludCByZXQ7CiAgIHNpemVfdCBuOwogICB3Y2hhcl90ICp3cGF0dGVybiwgKndzdHJpbmc7CisgIHNpemVfdCBwbGVuLCBzbGVuLCBtcGxlbiwgbXNsZW47CisKKyNpZiAwCisgIHBsZW4gPSBzdHJsZW4gKHBhdHRlcm4pOworICBtcGxlbiA9IG1ic3RybGVuIChwYXR0ZXJuKTsKKyAgaWYgKHBsZW4gPT0gbXBsZW4gJiYgc3RybGVuIChzdHJpbmcpID09IG1ic3RybGVuIChzdHJpbmcpKQorI2Vsc2UKKyAgaWYgKG1ic21iY2hhciAoc3RyaW5nKSA9PSAwICYmIG1ic21iY2hhciAocGF0dGVybikgPT0gMCkKKyNlbmRpZgorICAgIHJldHVybiAoaW50ZXJuYWxfc3RybWF0Y2ggKCh1bnNpZ25lZCBjaGFyICopcGF0dGVybiwgKHVuc2lnbmVkIGNoYXIgKilzdHJpbmcsIGZsYWdzKSk7CiAKICAgaWYgKE1CX0NVUl9NQVggPT0gMSkKICAgICByZXR1cm4gKGludGVybmFsX3N0cm1hdGNoICgodW5zaWduZWQgY2hhciAqKXBhdHRlcm4sICh1bnNpZ25lZCBjaGFyICopc3RyaW5nLCBmbGFncykpOwpkaWZmIC0tZ2l0IGEvbGliL2dsb2IveG1ic3J0b3djcy5jIGIvbGliL2dsb2IveG1ic3J0b3djcy5jCmluZGV4IDIzZmNkOGUuLjdhYmY3MjcgMTAwNjQ0Ci0tLSBhL2xpYi9nbG9iL3htYnNydG93Y3MuYworKysgYi9saWIvZ2xvYi94bWJzcnRvd2NzLmMKQEAgLTEsNiArMSw2IEBACiAvKiB4bWJzcnRvd2NzLmMgLS0gcmVwbGFjZW1lbnQgZnVuY3Rpb24gZm9yIG1ic3J0b3djcyAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDIwMDItMjAwNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMjAwMi0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtMTgsNiArMTgsMTIgQEAKICAgIGFsb25nIHdpdGggQmFzaC4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KICovCiAKKy8qIEFzayBmb3IgR05VIGV4dGVuc2lvbnMgdG8gZ2V0IGV4dGVybiBkZWNsYXJhdGlvbiBmb3IgbWJzbnJ0b3djcyBpZgorICAgYXZhaWxhYmxlIHZpYSBnbGliYy4gKi8KKyNpZm5kZWYgX0dOVV9TT1VSQ0UKKyMgIGRlZmluZSBfR05VX1NPVVJDRSAxCisjZW5kaWYKKwogI2luY2x1ZGUgPGNvbmZpZy5oPgogCiAjaW5jbHVkZSA8YmFzaGFuc2kuaD4KQEAgLTMyLDYgKzM4LDExIEBACiAjaWZuZGVmIEZSRUUKICMgIGRlZmluZSBGUkVFKHgpCWRvIHsgaWYgKHgpIGZyZWUgKHgpOyB9IHdoaWxlICgwKQogI2VuZGlmCisKKyNpZiAhIEhBVkVfU1RSQ0hSTlVMCitleHRlcm4gY2hhciAqc3RyY2hybnVsIF9fUCgoY29uc3QgY2hhciAqLCBpbnQpKTsKKyNlbmRpZgorCiAvKiBPbiBzb21lIGxvY2FsZXMgKGV4LiBqYV9KUC5zamlzKSwgbWJzcnRvd2MgZG9lc24ndCBjb252ZXJ0IDB4NWMgdG8gVTwweDVjPi4KICAgIFNvLCB0aGlzIGZ1bmN0aW9uIGlzIG1hZGUgZm9yIGNvbnZlcnRpbmcgMHg1YyB0byBVPDB4NWM+LiAqLwogCkBAIC0xMjAsNiArMTMxLDk0IEBACiAgICAgcmV0dXJuICh3Y2xlbmd0aCk7CiB9CiAKKyNpZiBIQVZFX01CU05SVE9XQ1MKKy8qIENvbnZlcnQgYSBtdWx0aWJ5dGUgc3RyaW5nIHRvIGEgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nLiBNZW1vcnkgZm9yIHRoZQorICAgbmV3IHdpZGUgY2hhcmFjdGVyIHN0cmluZyBpcyBvYnRhaW5lZCB3aXRoIG1hbGxvYy4KKworICAgRmFzdCBtdWx0aXBsZS1jaGFyYWN0ZXIgdmVyc2lvbiBvZiB4ZHVwbWJzdG93Y3MgdXNlZCB3aGVuIHRoZSBpbmRpY2VzIGFyZQorICAgbm90IHJlcXVpcmVkIGFuZCBtYnNucnRvd2NzIGlzIGF2YWlsYWJsZS4gKi8KKworc3RhdGljIHNpemVfdAoreGR1cG1ic3Rvd2NzMiAoZGVzdHAsIHNyYykKKyAgICB3Y2hhcl90ICoqZGVzdHA7CS8qIFN0b3JlIHRoZSBwb2ludGVyIHRvIHRoZSB3aWRlIGNoYXJhY3RlciBzdHJpbmcgKi8KKyAgICBjb25zdCBjaGFyICpzcmM7CS8qIE11bHRpYnl0ZSBjaGFyYWN0ZXIgc3RyaW5nICovCit7CisgIGNvbnN0IGNoYXIgKnA7CS8qIENvbnZlcnNpb24gc3RhcnQgcG9zaXRpb24gb2Ygc3JjICovCisgIHdjaGFyX3QgKndzYnVmOwkvKiBCdWZmZXIgZm9yIHdpZGUgY2hhcmFjdGVycy4gKi8KKyAgc2l6ZV90IHdzYnVmX3NpemU7CS8qIFNpemUgb2YgV1NCVUYgKi8KKyAgc2l6ZV90IHdjbnVtOwkJLyogTnVtYmVyIG9mIHdpZGUgY2hhcmFjdGVycyBpbiBXU0JVRiAqLworICBtYnN0YXRlX3Qgc3RhdGU7CS8qIENvbnZlcnNpb24gU3RhdGUgKi8KKyAgc2l6ZV90IHdjc2xlbmd0aDsJLyogTnVtYmVyIG9mIHdpZGUgY2hhcmFjdGVycyBwcm9kdWNlZCBieSB0aGUgY29udmVyc2lvbi4gKi8KKyAgY29uc3QgY2hhciAqZW5kX29yX2JhY2tzbGFzaDsKKyAgc2l6ZV90IG5tczsJLyogTnVtYmVyIG9mIG11bHRpYnl0ZSBjaGFyYWN0ZXJzIHRvIGNvbnZlcnQgYXQgb25lIHRpbWUuICovCisgIG1ic3RhdGVfdCB0bXBfc3RhdGU7CisgIGNvbnN0IGNoYXIgKnRtcF9wOworCisgIG1lbXNldCAoJnN0YXRlLCAnXDAnLCBzaXplb2YobWJzdGF0ZV90KSk7CisKKyAgd3NidWZfc2l6ZSA9IDA7CisgIHdzYnVmID0gTlVMTDsKKworICBwID0gc3JjOworICB3Y251bSA9IDA7CisgIGRvCisgICAgeworICAgICAgZW5kX29yX2JhY2tzbGFzaCA9IHN0cmNocm51bChwLCAnXFwnKTsKKyAgICAgIG5tcyA9IChlbmRfb3JfYmFja3NsYXNoIC0gcCk7CisgICAgICBpZiAoKmVuZF9vcl9iYWNrc2xhc2ggPT0gJ1wwJykKKwlubXMrKzsKKworICAgICAgLyogQ29tcHV0ZSB0aGUgbnVtYmVyIG9mIHByb2R1Y2VkIHdpZGUtY2hhcmFjdGVycy4gKi8KKyAgICAgIHRtcF9wID0gcDsKKyAgICAgIHRtcF9zdGF0ZSA9IHN0YXRlOworICAgICAgd2NzbGVuZ3RoID0gbWJzbnJ0b3djcyhOVUxMLCAmdG1wX3AsIG5tcywgMCwgJnRtcF9zdGF0ZSk7CisKKyAgICAgIC8qIENvbnZlcnNpb24gZmFpbGVkLiAqLworICAgICAgaWYgKHdjc2xlbmd0aCA9PSAoc2l6ZV90KS0xKQorCXsKKwkgIGZyZWUgKHdzYnVmKTsKKwkgICpkZXN0cCA9IE5VTEw7CisJICByZXR1cm4gKHNpemVfdCktMTsKKwl9CisKKyAgICAgIC8qIFJlc2l6ZSB0aGUgYnVmZmVyIGlmIGl0IGlzIG5vdCBsYXJnZSBlbm91Z2guICovCisgICAgICBpZiAod3NidWZfc2l6ZSA8IHdjbnVtK3djc2xlbmd0aCsxKQkvKiAxIGZvciB0aGUgTCdcMCcgb3IgdGhlIHBvdGVudGlhbCBMJ1xcJyAqLworCXsKKwkgIHdjaGFyX3QgKndzdG1wOworCisJICB3c2J1Zl9zaXplID0gd2NudW0rd2NzbGVuZ3RoKzE7CS8qIDEgZm9yIHRoZSBMJ1wwJyBvciB0aGUgcG90ZW50aWFsIEwnXFwnICovCisKKwkgIHdzdG1wID0gKHdjaGFyX3QgKikgcmVhbGxvYyAod3NidWYsIHdzYnVmX3NpemUgKiBzaXplb2YgKHdjaGFyX3QpKTsKKwkgIGlmICh3c3RtcCA9PSBOVUxMKQorCSAgICB7CisJICAgICAgZnJlZSAod3NidWYpOworCSAgICAgICpkZXN0cCA9IE5VTEw7CisJICAgICAgcmV0dXJuIChzaXplX3QpLTE7CisJICAgIH0KKwkgIHdzYnVmID0gd3N0bXA7CisJfQorCisgICAgICAvKiBQZXJmb3JtIHRoZSBjb252ZXJzaW9uLiBUaGlzIGlzIGFzc3VtZWQgdG8gcmV0dXJuICd3Y3NsZW5ndGgnLgorICAgICAgICogSXQgbWF5IHNldCAncCcgdG8gTlVMTC4gKi8KKyAgICAgIG1ic25ydG93Y3Mod3NidWYrd2NudW0sICZwLCBubXMsIHdzYnVmX3NpemUtd2NudW0sICZzdGF0ZSk7CisKKyAgICAgIHdjbnVtICs9IHdjc2xlbmd0aDsKKworICAgICAgaWYgKG1ic2luaXQgKCZzdGF0ZSkgJiYgKHAgIT0gTlVMTCkgJiYgKCpwID09ICdcXCcpKQorCXsKKwkgIHdzYnVmW3djbnVtKytdID0gTCdcXCc7CisJICBwKys7CisJfQorICAgIH0KKyAgd2hpbGUgKHAgIT0gTlVMTCk7CisKKyAgKmRlc3RwID0gd3NidWY7CisKKyAgLyogUmV0dXJuIHRoZSBsZW5ndGggb2YgdGhlIHdpZGUgY2hhcmFjdGVyIHN0cmluZywgbm90IGluY2x1ZGluZyBgXDAnLiAqLworICByZXR1cm4gd2NudW07Cit9CisjZW5kaWYgLyogSEFWRV9NQlNOUlRPV0NTICovCisKIC8qIENvbnZlcnQgYSBtdWx0aWJ5dGUgc3RyaW5nIHRvIGEgd2lkZSBjaGFyYWN0ZXIgc3RyaW5nLiBNZW1vcnkgZm9yIHRoZQogICAgbmV3IHdpZGUgY2hhcmFjdGVyIHN0cmluZyBpcyBvYnRhaW5lZCB3aXRoIG1hbGxvYy4KIApAQCAtMTU1LDYgKzI1NCwxMSBAQAogICAgICAgcmV0dXJuIChzaXplX3QpLTE7CiAgICAgfQogCisjaWYgSEFWRV9NQlNOUlRPV0NTCisgIGlmIChpbmRpY2VzcCA9PSBOVUxMKQorICAgIHJldHVybiAoeGR1cG1ic3Rvd2NzMiAoZGVzdHAsIHNyYykpOworI2VuZGlmCisKICAgbWVtc2V0ICgmc3RhdGUsICdcMCcsIHNpemVvZihtYnN0YXRlX3QpKTsKICAgd3NidWZfc2l6ZSA9IFdTQlVGX0lOQzsKIApkaWZmIC0tZ2l0IGEvbGliL21hbGxvYy9NYWtlZmlsZS5pbiBiL2xpYi9tYWxsb2MvTWFrZWZpbGUuaW4KaW5kZXggZTQwZjAwYS4uYWJlMGVjYSAxMDA2NDQKLS0tIGEvbGliL21hbGxvYy9NYWtlZmlsZS5pbgorKysgYi9saWIvbWFsbG9jL01ha2VmaWxlLmluCkBAIC0xMTIsNiArMTEyLDcgQEAKIG1hbGxvYy5vOiAkKEJVSUxEX0RJUikvY29uZmlnLmggJCh0b3BkaXIpL2Jhc2h0eXBlcy5oIGdldHBhZ2VzaXplLmgKIHhtYWxsb2MubzogJChCVUlMRF9ESVIpL2NvbmZpZy5oICQoQkFTSElOQ0RJUikvYW5zaV9zdGRsaWIuaAogdHJhY2UubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCitzdGF0cy5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIHRhYmxlLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogd2F0Y2gubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCiAKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9NYWtlZmlsZS5pbiBiL2xpYi9yZWFkbGluZS9NYWtlZmlsZS5pbgppbmRleCAyMjA0NjI4Li40Mzg3YTU0IDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvTWFrZWZpbGUuaW4KKysrIGIvbGliL3JlYWRsaW5lL01ha2VmaWxlLmluCkBAIC04Myw3ICs4Myw3IEBACiAJICAgJChzcmNkaXIpL2hpc3RmaWxlLmMgJChzcmNkaXIpL25scy5jICQoc3JjZGlyKS9zZWFyY2guYyBcCiAJICAgJChzcmNkaXIpL3NoZWxsLmMgJChzcmNkaXIpL3RpbGRlLmMgJChzcmNkaXIpL3NhdmVzdHJpbmcuYyBcCiAJICAgJChzcmNkaXIpL3RleHQuYyAkKHNyY2RpcikvbWlzYy5jICQoc3JjZGlyKS9jb21wYXQuYyBcCi0JICAgJChzcmNkaXIpL21idXRpbC5jCisJICAgJChzcmNkaXIpL21idXRpbC5jICQoc3JjZGlyKS94ZnJlZS5jCiAKICMgVGhlIGhlYWRlciBmaWxlcyBmb3IgdGhpcyBsaWJyYXJ5LgogSFNPVVJDRVMgPSByZWFkbGluZS5oIHJsZGVmcy5oIGNoYXJkZWZzLmgga2V5bWFwcy5oIGhpc3RvcnkuaCBoaXN0bGliLmggXApAQCAtOTcsNyArOTcsNyBAQAogT0JKRUNUUyA9IHJlYWRsaW5lLm8gdmlfbW9kZS5vIGZ1bm1hcC5vIGtleW1hcHMubyBwYXJlbnMubyBzZWFyY2gubyBcCiAJICBybHR0eS5vIGNvbXBsZXRlLm8gYmluZC5vIGlzZWFyY2gubyBkaXNwbGF5Lm8gc2lnbmFscy5vIFwKIAkgIHV0aWwubyBraWxsLm8gdW5kby5vIG1hY3JvLm8gaW5wdXQubyBjYWxsYmFjay5vIHRlcm1pbmFsLm8gXAotCSAgdGV4dC5vIG5scy5vIG1pc2MubyAkKEhJU1RPQkopICQoVElMREVPQkopIHhtYWxsb2MubyBjb21wYXQubworCSAgdGV4dC5vIG5scy5vIG1pc2MubyAkKEhJU1RPQkopICQoVElMREVPQkopIHhtYWxsb2MubyB4ZnJlZS5vIGNvbXBhdC5vIAogCiAjIFRoZSB0ZXhpbmZvIGZpbGVzIHdoaWNoIGRvY3VtZW50IHRoaXMgbGlicmFyeS4KIERPQ1NPVVJDRSA9IGRvYy9ybG1hbi50ZXhpbmZvIGRvYy9ybHRlY2gudGV4aW5mbyBkb2Mvcmx1c2VyLnRleGluZm8KQEAgLTEyMyw5ICsxMjMsOSBAQAogCSQoQVIpICQoQVJGTEFHUykgJEAgJChPQkpFQ1RTKQogCS10ZXN0IC1uICIkKFJBTkxJQikiICYmICQoUkFOTElCKSAkQAogCi1saWJoaXN0b3J5LmE6ICQoSElTVE9CSikgeG1hbGxvYy5vCitsaWJoaXN0b3J5LmE6ICQoSElTVE9CSikgeG1hbGxvYy5vIHhmcmVlLm8KIAkkKFJNKSAkQAotCSQoQVIpICQoQVJGTEFHUykgJEAgJChISVNUT0JKKSB4bWFsbG9jLm8KKwkkKEFSKSAkKEFSRkxBR1MpICRAICQoSElTVE9CSikgeG1hbGxvYy5vIHhmcmVlLm8KIAktdGVzdCAtbiAiJChSQU5MSUIpIiAmJiAkKFJBTkxJQikgJEAKIAogZG9jdW1lbnRhdGlvbjogZm9yY2UKQEAgLTI2Miw2ICsyNjIsNyBAQAogdmlfbW9kZS5vOiByZWFkbGluZS5oIGtleW1hcHMuaCBybHR5cGVkZWZzLmggY2hhcmRlZnMuaCB0aWxkZS5oCiB2aV9tb2RlLm86IGhpc3RvcnkuaCBhbnNpX3N0ZGxpYi5oIHJsc3RkYy5oCiB4bWFsbG9jLm86ICR7QlVJTERfRElSfS9jb25maWcuaCBhbnNpX3N0ZGxpYi5oCit4ZnJlZS5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmggYW5zaV9zdGRsaWIuaAogCiBiaW5kLm86IHJsc2hlbGwuaAogaGlzdGZpbGUubzogcmxzaGVsbC5oCkBAIC0zMTcsNiArMzE4LDcgQEAKIHVuZG8ubzogeG1hbGxvYy5oCiB1dGlsLm86IHhtYWxsb2MuaAogdmlfbW9kZS5vOiB4bWFsbG9jLmggCit4ZnJlZS5vOiB4bWFsbG9jLmgKIHhtYWxsb2MubzogeG1hbGxvYy5oCiAKIGNvbXBsZXRlLm86IHJsbWJ1dGlsLmgKQEAgLTM1OSw2ICszNjEsNyBAQAogdW5kby5vOiB1bmRvLmMKIHV0aWwubzogdXRpbC5jCiB2aV9tb2RlLm86IHZpX21vZGUuYworeGZyZWUubzogeGZyZWUuYwogeG1hbGxvYy5vOiB4bWFsbG9jLmMKIAogaGlzdGV4cGFuZC5vOiBoaXN0ZXhwYW5kLmMKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9iaW5kLmMgYi9saWIvcmVhZGxpbmUvYmluZC5jCmluZGV4IGZjOGMyYTIuLjU5ZTc5NjQgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9iaW5kLmMKKysrIGIvbGliL3JlYWRsaW5lL2JpbmQuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGJpbmQuYyAtLSBrZXkgYmluZGluZyBhbmQgc3RhcnR1cCBmaWxlIHN1cHBvcnQgZm9yIHRoZSByZWFkbGluZSBsaWJyYXJ5LiAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDE5ODctMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIFJlYWRsaW5lIExpYnJhcnkgKFJlYWRsaW5lKSwgYSBsaWJyYXJ5CiAgICBmb3IgcmVhZGluZyBsaW5lcyBvZiB0ZXh0IHdpdGggaW50ZXJhY3RpdmUgaW5wdXQgYW5kIGhpc3RvcnkgZWRpdGluZy4KQEAgLTE0MjQsNiArMTQyNCw3IEBACiAgIHsgImJsaW5rLW1hdGNoaW5nLXBhcmVuIiwJJnJsX2JsaW5rX21hdGNoaW5nX3BhcmVuLAlWX1NQRUNJQUwgfSwKICAgeyAiYnl0ZS1vcmllbnRlZCIsCQkmcmxfYnl0ZV9vcmllbnRlZCwJCTAgfSwKICAgeyAiY29tcGxldGlvbi1pZ25vcmUtY2FzZSIsCSZfcmxfY29tcGxldGlvbl9jYXNlX2ZvbGQsCTAgfSwKKyAgeyAiY29tcGxldGlvbi1tYXAtY2FzZSIsCSZfcmxfY29tcGxldGlvbl9jYXNlX21hcCwJMCB9LAogICB7ICJjb252ZXJ0LW1ldGEiLAkJJl9ybF9jb252ZXJ0X21ldGFfY2hhcnNfdG9fYXNjaWksIDAgfSwKICAgeyAiZGlzYWJsZS1jb21wbGV0aW9uIiwJJnJsX2luaGliaXRfY29tcGxldGlvbiwJCTAgfSwKICAgeyAiZWNoby1jb250cm9sLWNoYXJhY3RlcnMiLAkmX3JsX2VjaG9fY29udHJvbF9jaGFycywJMCB9LApAQCAtMTQzNyw2ICsxNDM4LDcgQEAKICAgeyAibWFyay1tb2RpZmllZC1saW5lcyIsCSZfcmxfbWFya19tb2RpZmllZF9saW5lcywJMCB9LAogICB7ICJtYXJrLXN5bWxpbmtlZC1kaXJlY3RvcmllcyIsICZfcmxfY29tcGxldGVfbWFya19zeW1saW5rX2RpcnMsIDAgfSwKICAgeyAibWF0Y2gtaGlkZGVuLWZpbGVzIiwJJl9ybF9tYXRjaF9oaWRkZW5fZmlsZXMsCTAgfSwKKyAgeyAibWVudS1jb21wbGV0ZS1kaXNwbGF5LXByZWZpeCIsICZfcmxfbWVudV9jb21wbGV0ZV9wcmVmaXhfZmlyc3QsIDAgfSwKICAgeyAibWV0YS1mbGFnIiwJCSZfcmxfbWV0YV9mbGFnLAkJCTAgfSwKICAgeyAib3V0cHV0LW1ldGEiLAkJJl9ybF9vdXRwdXRfbWV0YV9jaGFycywJCTAgfSwKICAgeyAicGFnZS1jb21wbGV0aW9ucyIsCQkmX3JsX3BhZ2VfY29tcGxldGlvbnMsCQkwIH0sCkBAIC0xNDQ5LDcgKzE0NTEsNyBAQAogI2lmIGRlZmluZWQgKFZJU0lCTEVfU1RBVFMpCiAgIHsgInZpc2libGUtc3RhdHMiLAkJJnJsX3Zpc2libGVfc3RhdHMsCQkwIH0sCiAjZW5kaWYgLyogVklTSUJMRV9TVEFUUyAqLwotICB7IChjaGFyICopTlVMTCwgKGludCAqKU5VTEwgfQorICB7IChjaGFyICopTlVMTCwgKGludCAqKU5VTEwsIDAgfQogfTsKIAogc3RhdGljIGludApAQCAtMTUwNCw2ICsxNTA2LDcgQEAKIHN0YXRpYyBpbnQgc3ZfY29tYmVnaW4gUEFSQU1TKChjb25zdCBjaGFyICopKTsKIHN0YXRpYyBpbnQgc3ZfZGlzcHByZWZpeCBQQVJBTVMoKGNvbnN0IGNoYXIgKikpOwogc3RhdGljIGludCBzdl9jb21wcXVlcnkgUEFSQU1TKChjb25zdCBjaGFyICopKTsKK3N0YXRpYyBpbnQgc3ZfY29tcHdpZHRoIFBBUkFNUygoY29uc3QgY2hhciAqKSk7CiBzdGF0aWMgaW50IHN2X2VkaXRtb2RlIFBBUkFNUygoY29uc3QgY2hhciAqKSk7CiBzdGF0aWMgaW50IHN2X2hpc3RzaXplIFBBUkFNUygoY29uc3QgY2hhciAqKSk7CiBzdGF0aWMgaW50IHN2X2lzcmNodGVybSBQQVJBTVMoKGNvbnN0IGNoYXIgKikpOwpAQCAtMTUxNiwxMyArMTUxOSwxNCBAQAogfSBzdHJpbmdfdmFybGlzdFtdID0gewogICB7ICJiZWxsLXN0eWxlIiwJVl9TVFJJTkcsCXN2X2JlbGxfc3R5bGUgfSwKICAgeyAiY29tbWVudC1iZWdpbiIsCVZfU1RSSU5HLAlzdl9jb21iZWdpbiB9LAorICB7ICJjb21wbGV0aW9uLWRpc3BsYXktd2lkdGgiLCBWX0lOVCwJc3ZfY29tcHdpZHRoIH0sCiAgIHsgImNvbXBsZXRpb24tcHJlZml4LWRpc3BsYXktbGVuZ3RoIiwgVl9JTlQsCXN2X2Rpc3BwcmVmaXggfSwKICAgeyAiY29tcGxldGlvbi1xdWVyeS1pdGVtcyIsIFZfSU5ULAlzdl9jb21wcXVlcnkgfSwKICAgeyAiZWRpdGluZy1tb2RlIiwJVl9TVFJJTkcsCXN2X2VkaXRtb2RlIH0sCiAgIHsgImhpc3Rvcnktc2l6ZSIsCVZfSU5ULAkJc3ZfaGlzdHNpemUgfSwKICAgeyAiaXNlYXJjaC10ZXJtaW5hdG9ycyIsIFZfU1RSSU5HLAlzdl9pc3JjaHRlcm0gfSwKICAgeyAia2V5bWFwIiwJCVZfU1RSSU5HLAlzdl9rZXltYXAgfSwKLSAgeyAoY2hhciAqKU5VTEwsCTAgfQorICB7IChjaGFyICopTlVMTCwJMCwgKF9ybF9zdl9mdW5jX3QgKikwIH0KIH07CiAKIHN0YXRpYyBpbnQKQEAgLTE2NjMsNiArMTY2NywxOSBAQAogfQogCiBzdGF0aWMgaW50Citzdl9jb21wd2lkdGggKHZhbHVlKQorICAgICBjb25zdCBjaGFyICp2YWx1ZTsKK3sKKyAgaW50IG52YWwgPSAtMTsKKworICBpZiAodmFsdWUgJiYgKnZhbHVlKQorICAgIG52YWwgPSBhdG9pICh2YWx1ZSk7CisKKyAgX3JsX2NvbXBsZXRpb25fY29sdW1ucyA9IG52YWw7CisgIHJldHVybiAwOworfQorCitzdGF0aWMgaW50CiBzdl9oaXN0c2l6ZSAodmFsdWUpCiAgICAgIGNvbnN0IGNoYXIgKnZhbHVlOwogewpAQCAtMjI2OCw2ICsyMjg1LDExIEBACiAgICAgfQogICBlbHNlIGlmIChfcmxfc3RyaWNtcCAobmFtZSwgImNvbW1lbnQtYmVnaW4iKSA9PSAwKQogICAgIHJldHVybiAoX3JsX2NvbW1lbnRfYmVnaW4gPyBfcmxfY29tbWVudF9iZWdpbiA6IFJMX0NPTU1FTlRfQkVHSU5fREVGQVVMVCk7CisgIGVsc2UgaWYgKF9ybF9zdHJpY21wIChuYW1lLCAiY29tcGxldGlvbi1kaXNwbGF5LXdpZHRoIikgPT0gMCkKKyAgICB7CisgICAgICBzcHJpbnRmIChudW1idWYsICIlZCIsIF9ybF9jb21wbGV0aW9uX2NvbHVtbnMpOworICAgICAgcmV0dXJuIChudW1idWYpOworICAgIH0KICAgZWxzZSBpZiAoX3JsX3N0cmljbXAgKG5hbWUsICJjb21wbGV0aW9uLXByZWZpeC1kaXNwbGF5LWxlbmd0aCIpID09IDApCiAgICAgewogICAgICAgc3ByaW50ZiAobnVtYnVmLCAiJWQiLCBfcmxfY29tcGxldGlvbl9wcmVmaXhfZGlzcGxheV9sZW5ndGgpOwpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2NhbGxiYWNrLmMgYi9saWIvcmVhZGxpbmUvY2FsbGJhY2suYwppbmRleCA2YzUyYWMwLi40ZWU2MzYxIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvY2FsbGJhY2suYworKysgYi9saWIvcmVhZGxpbmUvY2FsbGJhY2suYwpAQCAtMTQyLDYgKzE0MiwxNSBAQAogCSAgZW9mID0gX3JsX25zZWFyY2hfY2FsbGJhY2sgKF9ybF9uc2N4dCk7CiAJICByZXR1cm47CiAJfQorI2lmIGRlZmluZWQgKFZJX01PREUpCisgICAgICBlbHNlIGlmIChSTF9JU1NUQVRFIChSTF9TVEFURV9WSU1PVElPTikpCisJeworCSAgZW9mID0gX3JsX3ZpX2RvbW92ZV9jYWxsYmFjayAoX3JsX3ZpbXZjeHQpOworCSAgLyogU2hvdWxkIGhhbmRsZSBldmVyeXRoaW5nLCBpbmNsdWRpbmcgY2xlYW51cCwgbnVtZXJpYyBhcmd1bWVudHMsCisJICAgICBhbmQgdHVybmluZyBvZmYgUkxfU1RBVEVfVklNT1RJT04gKi8KKwkgIHJldHVybjsKKwl9CisjZW5kaWYKICAgICAgIGVsc2UgaWYgKFJMX0lTU1RBVEUgKFJMX1NUQVRFX05VTUVSSUNBUkcpKQogCXsKIAkgIGVvZiA9IF9ybF9hcmdfY2FsbGJhY2sgKF9ybF9hcmdjeHQpOwpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2NvbXBsZXRlLmMgYi9saWIvcmVhZGxpbmUvY29tcGxldGUuYwppbmRleCBiZGEyMjA0Li5lNjdjZmViIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvY29tcGxldGUuYworKysgYi9saWIvcmVhZGxpbmUvY29tcGxldGUuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGNvbXBsZXRlLmMgLS0gZmlsZW5hbWUgY29tcGxldGlvbiBmb3IgcmVhZGxpbmUuICovCiAKLS8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgUmVhZGxpbmUgTGlicmFyeSAoUmVhZGxpbmUpLCBhIGxpYnJhcnkKICAgIGZvciByZWFkaW5nIGxpbmVzIG9mIHRleHQgd2l0aCBpbnRlcmFjdGl2ZSBpbnB1dCBhbmQgaGlzdG9yeSBlZGl0aW5nLgpAQCAtMTE5LDkgKzExOSwxMSBAQAogc3RhdGljIHZvaWQgaW5zZXJ0X21hdGNoIFBBUkFNUygoY2hhciAqLCBpbnQsIGludCwgY2hhciAqKSk7CiBzdGF0aWMgaW50IGFwcGVuZF90b19tYXRjaCBQQVJBTVMoKGNoYXIgKiwgaW50LCBpbnQsIGludCkpOwogc3RhdGljIHZvaWQgaW5zZXJ0X2FsbF9tYXRjaGVzIFBBUkFNUygoY2hhciAqKiwgaW50LCBjaGFyICopKTsKK3N0YXRpYyBpbnQgY29tcGxldGVfZm5jbXAgUEFSQU1TKChjb25zdCBjaGFyICosIGludCwgY29uc3QgY2hhciAqLCBpbnQpKTsKIHN0YXRpYyB2b2lkIGRpc3BsYXlfbWF0Y2hlcyBQQVJBTVMoKGNoYXIgKiopKTsKIHN0YXRpYyBpbnQgY29tcHV0ZV9sY2Rfb2ZfbWF0Y2hlcyBQQVJBTVMoKGNoYXIgKiosIGludCwgY29uc3QgY2hhciAqKSk7CiBzdGF0aWMgaW50IHBvc3Rwcm9jZXNzX21hdGNoZXMgUEFSQU1TKChjaGFyICoqKiwgaW50KSk7CitzdGF0aWMgaW50IGNvbXBsZXRlX2dldF9zY3JlZW53aWR0aCBQQVJBTVMoKHZvaWQpKTsKIAogc3RhdGljIGNoYXIgKm1ha2VfcXVvdGVkX3JlcGxhY2VtZW50IFBBUkFNUygoY2hhciAqLCBpbnQsIGNoYXIgKikpOwogCkBAIC0xNTcsMTAgKzE1OSwxNCBAQAogI2lmIGRlZmluZWQgKF9fTVNET1NfXykgJiYgIWRlZmluZWQgKF9fREpHUFBfXykKIGludCBfcmxfY29tcGxldGlvbl9jYXNlX2ZvbGQgPSAxOwogI2Vsc2UKLWludCBfcmxfY29tcGxldGlvbl9jYXNlX2ZvbGQ7CitpbnQgX3JsX2NvbXBsZXRpb25fY2FzZV9mb2xkID0gMDsKICNlbmRpZgogCi0vKiBJZiBub24temVybywgZG9uJ3QgbWF0Y2ggaGlkZGVuIGZpbGVzIChmaWxlbmFtZXMgYmVnaW5uaW5nIHdpdGggYSBgLicgb24KKy8qIE5vbi16ZXJvIG1lYW5zIHRoYXQgYC0nIGFuZCBgXycgYXJlIGVxdWl2YWxlbnQgd2hlbiBjb21wYXJpbmcgZmlsZW5hbWVzCisgIGZvciBjb21wbGV0aW9uLiAqLworaW50IF9ybF9jb21wbGV0aW9uX2Nhc2VfbWFwID0gMDsKKworLyogSWYgemVybywgZG9uJ3QgbWF0Y2ggaGlkZGVuIGZpbGVzIChmaWxlbmFtZXMgYmVnaW5uaW5nIHdpdGggYSBgLicgb24KICAgIFVuaXgpIHdoZW4gZG9pbmcgZmlsZW5hbWUgY29tcGxldGlvbi4gKi8KIGludCBfcmxfbWF0Y2hfaGlkZGVuX2ZpbGVzID0gMTsKIApAQCAtMTcwLDYgKzE3NiwxMCBAQAogICAgZGlzcGxheSBwcmVmaXggcmVwbGFjZWQgd2l0aCBhbiBlbGxpcHNpcy4gKi8KIGludCBfcmxfY29tcGxldGlvbl9wcmVmaXhfZGlzcGxheV9sZW5ndGggPSAwOwogCisvKiBUaGUgcmVhZGxpbmUtcHJpdmF0ZSBudW1iZXIgb2Ygc2NyZWVuIGNvbHVtbnMgdG8gdXNlIHdoZW4gZGlzcGxheWluZworICAgbWF0Y2hlcy4gIElmIDwgMCBvciA+IF9ybF9zY3JlZW53aWR0aCwgaXQgaXMgaWdub3JlZC4gKi8KK2ludCBfcmxfY29tcGxldGlvbl9jb2x1bW5zID0gLTE7CisKIC8qIEdsb2JhbCB2YXJpYWJsZXMgYXZhaWxhYmxlIHRvIGFwcGxpY2F0aW9ucyB1c2luZyByZWFkbGluZS4gKi8KIAogI2lmIGRlZmluZWQgKFZJU0lCTEVfU1RBVFMpCkBAIC0xODUsNiArMTk1LDEwIEBACiAgICBhZnRlciB0aGUgYGUnIGluIGBNYWtlZmlsZScgd29uJ3QgcmVzdWx0IGluIGBNYWtlZmlsZWZpbGUnLiAqLwogaW50IF9ybF9za2lwX2NvbXBsZXRlZF90ZXh0ID0gMDsKIAorLyogSWYgbm9uLXplcm8sIG1lbnUgY29tcGxldGlvbiBkaXNwbGF5cyB0aGUgY29tbW9uIHByZWZpeCBmaXJzdCBpbiB0aGUKKyAgIGN5Y2xlIG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIGluc3RlYWQgb2YgdGhlIGxhc3QuICovCitpbnQgX3JsX21lbnVfY29tcGxldGVfcHJlZml4X2ZpcnN0ID0gMDsKKwogLyogSWYgbm9uLXplcm8sIHRoZW4gdGhpcyBpcyB0aGUgYWRkcmVzcyBvZiBhIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbgogICAgY29tcGxldGluZyBvbiBhIGRpcmVjdG9yeSBuYW1lLiAgVGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoCiAgICB0aGUgYWRkcmVzcyBvZiBhIHN0cmluZyAodGhlIGN1cnJlbnQgZGlyZWN0b3J5IG5hbWUpIGFzIGFuIGFyZy4gKi8KQEAgLTQ2Nyw2ICs0ODEsMTQgQEAKIHsKICAgaW50IGM7CiAKKyAgLyogRm9yIG5vdywgZGlzYWJsZSBwYWdlciBpbiBjYWxsYmFjayBtb2RlLCB1bnRpbCB3ZSBsYXRlciBjb252ZXJ0IHRvIHN0YXRlCisgICAgIGRyaXZlbiBmdW5jdGlvbnMuICBIYXZlIHRvIHdhaXQgdW50aWwgbmV4dCBtYWpvciB2ZXJzaW9uIHRvIGFkZCBuZXcKKyAgICAgc3RhdGUgZGVmaW5pdGlvbiwgc2luY2UgaXQgd2lsbCBjaGFuZ2UgdmFsdWUgb2YgUkxfU1RBVEVfRE9ORS4gKi8KKyNpZiBkZWZpbmVkIChSRUFETElORV9DQUxMQkFDS1MpCisgIGlmIChSTF9JU1NUQVRFIChSTF9TVEFURV9DQUxMQkFDSykpCisgICAgcmV0dXJuIDE7CisjZW5kaWYKKwogICBmb3IgKDs7KQogICAgIHsKICAgICAgIFJMX1NFVFNUQVRFKFJMX1NUQVRFX01PUkVJTlBVVCk7CkBAIC04MjksNyArODUxLDcgQEAKIAkgIGlmIChwYXRoX2lzZGlyIChuZXdfZnVsbF9wYXRobmFtZSkpCiAJICAgIGV4dGVuc2lvbl9jaGFyID0gJy8nOwogCi0JICBmcmVlIChuZXdfZnVsbF9wYXRobmFtZSk7CisJICB4ZnJlZSAobmV3X2Z1bGxfcGF0aG5hbWUpOwogCSAgdG9fcHJpbnRbLTFdID0gYzsKIAl9CiAgICAgICBlbHNlCkBAIC04NDQsNyArODY2LDcgQEAKIAkgICAgICBleHRlbnNpb25fY2hhciA9ICcvJzsKIAl9CiAKLSAgICAgIGZyZWUgKHMpOworICAgICAgeGZyZWUgKHMpOwogICAgICAgaWYgKGV4dGVuc2lvbl9jaGFyKQogCXsKIAkgIHB1dGMgKGV4dGVuc2lvbl9jaGFyLCBybF9vdXRzdHJlYW0pOwpAQCAtMTA4MSw3ICsxMTAzLDcgQEAKICAgICB7CiAgICAgICBpZiAoc3RyY21wIChtYXRjaGVzW2ldLCBtYXRjaGVzW2kgKyAxXSkgPT0gMCkKIAl7Ci0JICBmcmVlIChtYXRjaGVzW2ldKTsKKwkgIHhmcmVlIChtYXRjaGVzW2ldKTsKIAkgIG1hdGNoZXNbaV0gPSAoY2hhciAqKSZkZWFkX3Nsb3Q7CiAJfQogICAgICAgZWxzZQpAQCAtMTA5OSw3ICsxMTIxLDcgQEAKICAgdGVtcF9hcnJheVtqXSA9IChjaGFyICopTlVMTDsKIAogICBpZiAobWF0Y2hlc1swXSAhPSAoY2hhciAqKSZkZWFkX3Nsb3QpCi0gICAgZnJlZSAobWF0Y2hlc1swXSk7CisgICAgeGZyZWUgKG1hdGNoZXNbMF0pOwogCiAgIC8qIFBsYWNlIHRoZSBsb3dlc3QgY29tbW9uIGRlbm9taW5hdG9yIGJhY2sgaW4gWzBdLiAqLwogICB0ZW1wX2FycmF5WzBdID0gbG93ZXN0X2NvbW1vbjsKQEAgLTExMDksNyArMTEzMSw3IEBACiAgICAgIGluc2VydC4gKi8KICAgaWYgKGogPT0gMiAmJiBzdHJjbXAgKHRlbXBfYXJyYXlbMF0sIHRlbXBfYXJyYXlbMV0pID09IDApCiAgICAgewotICAgICAgZnJlZSAodGVtcF9hcnJheVsxXSk7CisgICAgICB4ZnJlZSAodGVtcF9hcnJheVsxXSk7CiAgICAgICB0ZW1wX2FycmF5WzFdID0gKGNoYXIgKilOVUxMOwogICAgIH0KICAgcmV0dXJuICh0ZW1wX2FycmF5KTsKQEAgLTEyODgsNyArMTMxMCw3IEBACiAgIGlmIChybF9pZ25vcmVfY29tcGxldGlvbl9kdXBsaWNhdGVzKQogICAgIHsKICAgICAgIHRlbXBfbWF0Y2hlcyA9IHJlbW92ZV9kdXBsaWNhdGVfbWF0Y2hlcyAobWF0Y2hlcyk7Ci0gICAgICBmcmVlIChtYXRjaGVzKTsKKyAgICAgIHhmcmVlIChtYXRjaGVzKTsKICAgICAgIG1hdGNoZXMgPSB0ZW1wX21hdGNoZXM7CiAgICAgfQogCkBAIC0xMzI1LDYgKzEzNDcsMjMgQEAKICAgcmV0dXJuICgxKTsKIH0KIAorc3RhdGljIGludAorY29tcGxldGVfZ2V0X3NjcmVlbndpZHRoICgpCit7CisgIGludCBjb2xzOworICBjaGFyICplbnZjb2xzOworCisgIGNvbHMgPSBfcmxfY29tcGxldGlvbl9jb2x1bW5zOworICBpZiAoY29scyA+PSAwICYmIGNvbHMgPD0gX3JsX3NjcmVlbndpZHRoKQorICAgIHJldHVybiBjb2xzOworICBlbnZjb2xzID0gZ2V0ZW52ICgiQ09MVU1OUyIpOworICBpZiAoZW52Y29scyAmJiAqZW52Y29scykKKyAgICBjb2xzID0gYXRvaSAoZW52Y29scyk7CisgIGlmIChjb2xzID49IDAgJiYgY29scyA8PSBfcmxfc2NyZWVud2lkdGgpCisgICAgcmV0dXJuIGNvbHM7CisgIHJldHVybiBfcmxfc2NyZWVud2lkdGg7Cit9CisKIC8qIEEgY29udmVuaWVuY2UgZnVuY3Rpb24gZm9yIGRpc3BsYXlpbmcgYSBsaXN0IG9mIHN0cmluZ3MgaW4KICAgIGNvbHVtbmFyIGZvcm1hdCBvbiByZWFkbGluZSdzIG91dHB1dCBzdHJlYW0uICBNQVRDSEVTIGlzIHRoZSBsaXN0CiAgICBvZiBzdHJpbmdzLCBpbiBhcmd2IGZvcm1hdCwgTEVOIGlzIHRoZSBudW1iZXIgb2Ygc3RyaW5ncyBpbiBNQVRDSEVTLApAQCAtMTMzNCw3ICsxMzczLDcgQEAKICAgICAgY2hhciAqKm1hdGNoZXM7CiAgICAgIGludCBsZW4sIG1heDsKIHsKLSAgaW50IGNvdW50LCBsaW1pdCwgcHJpbnRlZF9sZW4sIGxpbmVzOworICBpbnQgY291bnQsIGxpbWl0LCBwcmludGVkX2xlbiwgbGluZXMsIGNvbHM7CiAgIGludCBpLCBqLCBrLCBsLCBjb21tb25fbGVuZ3RoLCBzaW5kOwogICBjaGFyICp0ZW1wLCAqdDsKIApAQCAtMTM1NSwxMiArMTM5NCwxNyBAQAogICAgIH0KIAogICAvKiBIb3cgbWFueSBpdGVtcyBvZiBNQVggbGVuZ3RoIGNhbiB3ZSBmaXQgaW4gdGhlIHNjcmVlbiB3aW5kb3c/ICovCisgIGNvbHMgPSBjb21wbGV0ZV9nZXRfc2NyZWVud2lkdGggKCk7CiAgIG1heCArPSAyOwotICBsaW1pdCA9IF9ybF9zY3JlZW53aWR0aCAvIG1heDsKLSAgaWYgKGxpbWl0ICE9IDEgJiYgKGxpbWl0ICogbWF4ID09IF9ybF9zY3JlZW53aWR0aCkpCisgIGxpbWl0ID0gY29scyAvIG1heDsKKyAgaWYgKGxpbWl0ICE9IDEgJiYgKGxpbWl0ICogbWF4ID09IGNvbHMpKQogICAgIGxpbWl0LS07CiAKLSAgLyogQXZvaWQgYSBwb3NzaWJsZSBmbG9hdGluZyBleGNlcHRpb24uICBJZiBtYXggPiBfcmxfc2NyZWVud2lkdGgsCisgIC8qIElmIGNvbHMgPT0gMCwgbGltaXQgd2lsbCBlbmQgdXAgLTEgKi8KKyAgaWYgKGNvbHMgPCBfcmxfc2NyZWVud2lkdGggJiYgbGltaXQgPCAwKQorICAgIGxpbWl0ID0gMTsKKworICAvKiBBdm9pZCBhIHBvc3NpYmxlIGZsb2F0aW5nIGV4Y2VwdGlvbi4gIElmIG1heCA+IGNvbHMsCiAgICAgIGxpbWl0IHdpbGwgYmUgMCBhbmQgYSBkaXZpZGUtYnktemVybyBmYXVsdCB3aWxsIHJlc3VsdC4gKi8KICAgaWYgKGxpbWl0ID09IDApCiAgICAgbGltaXQgPSAxOwpAQCAtMTYwOCw3ICsxNjUyLDcgQEAKICAgICAgIGVsc2UKIAlfcmxfcmVwbGFjZV90ZXh0IChyZXBsYWNlbWVudCwgc3RhcnQsIGVuZCk7CiAgICAgICBpZiAocmVwbGFjZW1lbnQgIT0gbWF0Y2gpCi0gICAgICAgIGZyZWUgKHJlcGxhY2VtZW50KTsKKyAgICAgICAgeGZyZWUgKHJlcGxhY2VtZW50KTsKICAgICB9CiB9CiAKQEAgLTE2NzUsNyArMTcxOSw3IEBACiAJICBpZiAocmxfcG9pbnQgPT0gcmxfZW5kICYmIHRlbXBfc3RyaW5nX2luZGV4KQogCSAgICBybF9pbnNlcnRfdGV4dCAodGVtcF9zdHJpbmcpOwogCX0KLSAgICAgIGZyZWUgKGZpbGVuYW1lKTsKKyAgICAgIHhmcmVlIChmaWxlbmFtZSk7CiAgICAgfQogICBlbHNlCiAgICAgewpAQCAtMTcxMSw3ICsxNzU1LDcgQEAKIAkgIHJsX2luc2VydF90ZXh0IChycCk7CiAJICBybF9pbnNlcnRfdGV4dCAoIiAiKTsKIAkgIGlmIChycCAhPSBtYXRjaGVzW2ldKQotCSAgICBmcmVlIChycCk7CisJICAgIHhmcmVlIChycCk7CiAJfQogICAgIH0KICAgZWxzZQpAQCAtMTcyMCw3ICsxNzY0LDcgQEAKICAgICAgIHJsX2luc2VydF90ZXh0IChycCk7CiAgICAgICBybF9pbnNlcnRfdGV4dCAoIiAiKTsKICAgICAgIGlmIChycCAhPSBtYXRjaGVzWzBdKQotCWZyZWUgKHJwKTsKKwl4ZnJlZSAocnApOwogICAgIH0KICAgcmxfZW5kX3VuZG9fZ3JvdXAgKCk7CiB9CkBAIC0xNzM1LDggKzE3NzksOCBAQAogICAgIHJldHVybjsKIAogICBmb3IgKGkgPSAwOyBtYXRjaGVzW2ldOyBpKyspCi0gICAgZnJlZSAobWF0Y2hlc1tpXSk7Ci0gIGZyZWUgKG1hdGNoZXMpOworICAgIHhmcmVlIChtYXRjaGVzW2ldKTsKKyAgeGZyZWUgKG1hdGNoZXMpOwogfQogCiAvKiBDb21wbGV0ZSB0aGUgd29yZCBhdCBvciBiZWZvcmUgcG9pbnQuCkBAIC0xNzU3LDYgKzE4MDEsOSBAQAogICBpbnQgc3RhcnQsIGVuZCwgZGVsaW1pdGVyLCBmb3VuZF9xdW90ZSwgaSwgbm9udHJpdmlhbF9sY2Q7CiAgIGNoYXIgKnRleHQsICpzYXZlZF9saW5lX2J1ZmZlcjsKICAgY2hhciBxdW90ZV9jaGFyOworI2lmIDEKKyAgaW50IHRsZW4sIG1sZW47CisjZW5kaWYKIAogICBSTF9TRVRTVEFURShSTF9TVEFURV9DT01QTEVUSU5HKTsKIApAQCAtMTc4NCw3ICsxODMxLDExIEBACiAgIC8qIG5vbnRyaXZpYWxfbGNkIGlzIHNldCBpZiB0aGUgY29tbW9uIHByZWZpeCBhZGRzIHNvbWV0aGluZyB0byB0aGUgd29yZAogICAgICBiZWluZyBjb21wbGV0ZWQuICovCiAgIG5vbnRyaXZpYWxfbGNkID0gbWF0Y2hlcyAmJiBzdHJjbXAgKHRleHQsIG1hdGNoZXNbMF0pICE9IDA7Ci0gIGZyZWUgKHRleHQpOworI2lmIDEKKyAgaWYgKHdoYXRfdG9fZG8gPT0gJyEnIHx8IHdoYXRfdG9fZG8gPT0gJ0AnKQorICAgIHRsZW4gPSBzdHJsZW4gKHRleHQpOworI2VuZGlmCisgIHhmcmVlICh0ZXh0KTsKIAogICBpZiAobWF0Y2hlcyA9PSAwKQogICAgIHsKQEAgLTE4MTcsOCArMTg2OCwyNSBAQAogICAgIGNhc2UgJyEnOgogICAgIGNhc2UgJ0AnOgogICAgICAgLyogSW5zZXJ0IHRoZSBmaXJzdCBtYXRjaCB3aXRoIHByb3BlciBxdW90aW5nLiAqLworI2lmIDAKICAgICAgIGlmICgqbWF0Y2hlc1swXSkKIAlpbnNlcnRfbWF0Y2ggKG1hdGNoZXNbMF0sIHN0YXJ0LCBtYXRjaGVzWzFdID8gTVVMVF9NQVRDSCA6IFNJTkdMRV9NQVRDSCwgJnF1b3RlX2NoYXIpOworI2Vsc2UKKyAgICAgIGlmICh3aGF0X3RvX2RvID09IFRBQikKKyAgICAgICAgeworICAgICAgICAgIGlmICgqbWF0Y2hlc1swXSkKKwkgICAgaW5zZXJ0X21hdGNoIChtYXRjaGVzWzBdLCBzdGFydCwgbWF0Y2hlc1sxXSA/IE1VTFRfTUFUQ0ggOiBTSU5HTEVfTUFUQ0gsICZxdW90ZV9jaGFyKTsKKyAgICAgICAgfQorICAgICAgZWxzZSBpZiAoKm1hdGNoZXNbMF0gJiYgbWF0Y2hlc1sxXSA9PSAwKQorCS8qIHNob3VsZCB3ZSBwZXJmb3JtIHRoZSBjaGVjayBvbmx5IGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBtYXRjaGVzPyAqLworCWluc2VydF9tYXRjaCAobWF0Y2hlc1swXSwgc3RhcnQsIG1hdGNoZXNbMV0gPyBNVUxUX01BVENIIDogU0lOR0xFX01BVENILCAmcXVvdGVfY2hhcik7CisgICAgICBlbHNlIGlmICgqbWF0Y2hlc1swXSkJLyogd2hhdF90b19kbyAhPSBUQUIgJiYgbXVsdGlwbGUgbWF0Y2hlcyAqLworCXsKKwkgIG1sZW4gPSAqbWF0Y2hlc1swXSA/IHN0cmxlbiAobWF0Y2hlc1swXSkgOiAwOworCSAgaWYgKG1sZW4gPj0gdGxlbikKKwkgICAgaW5zZXJ0X21hdGNoIChtYXRjaGVzWzBdLCBzdGFydCwgbWF0Y2hlc1sxXSA/IE1VTFRfTUFUQ0ggOiBTSU5HTEVfTUFUQ0gsICZxdW90ZV9jaGFyKTsKKwl9CisjZW5kaWYKIAogICAgICAgLyogSWYgdGhlcmUgYXJlIG1vcmUgbWF0Y2hlcywgcmluZyB0aGUgYmVsbCB0byBpbmRpY2F0ZS4KIAkgSWYgd2UgYXJlIGluIHZpIG1vZGUsIFBvc2l4LjIgc2F5cyB0byBub3QgcmluZyB0aGUgYmVsbC4KQEAgLTE4NzIsNyArMTk0MCw3IEBACiAgIGlmIChzYXZlZF9saW5lX2J1ZmZlcikKICAgICB7CiAgICAgICBjb21wbGV0aW9uX2NoYW5nZWRfYnVmZmVyID0gc3RyY21wIChybF9saW5lX2J1ZmZlciwgc2F2ZWRfbGluZV9idWZmZXIpICE9IDA7Ci0gICAgICBmcmVlIChzYXZlZF9saW5lX2J1ZmZlcik7CisgICAgICB4ZnJlZSAoc2F2ZWRfbGluZV9idWZmZXIpOwogICAgIH0KIAogICBSTF9VTlNFVFNUQVRFKFJMX1NUQVRFX0NPTVBMRVRJTkcpOwpAQCAtMTkzOSw3ICsyMDA3LDcgQEAKICAgICBjb21wdXRlX2xjZF9vZl9tYXRjaGVzIChtYXRjaF9saXN0LCBtYXRjaGVzLCB0ZXh0KTsKICAgZWxzZQkJCQkvKiBUaGVyZSB3ZXJlIG5vIG1hdGNoZXMuICovCiAgICAgewotICAgICAgZnJlZSAobWF0Y2hfbGlzdCk7CisgICAgICB4ZnJlZSAobWF0Y2hfbGlzdCk7CiAgICAgICBtYXRjaF9saXN0ID0gKGNoYXIgKiopTlVMTDsKICAgICB9CiAgIHJldHVybiAobWF0Y2hfbGlzdCk7CkBAIC0yMDA1LDYgKzIwNzMsNjIgQEAKICNlbmRpZiAvKiAhX19XSU4zMl9fICYmICFfX09QRU5OVCAqLwogfQogCisvKiBSZXR1cm4gbm9uLXplcm8gaWYgQ09OVkZOIG1hdGNoZXMgRklMRU5BTUUgdXAgdG8gdGhlIGxlbmd0aCBvZiBGSUxFTkFNRQorICAgKEZJTEVOQU1FX0xFTikuICBJZiBfcmxfY29tcGxldGlvbl9jYXNlX2ZvbGQgaXMgc2V0LCBjb21wYXJlIHdpdGhvdXQKKyAgIHJlZ2FyZCB0byB0aGUgYWxwaGFiZXRpYyBjYXNlIG9mIGNoYXJhY3RlcnMuICBDT05WRk4gaXMgdGhlIHBvc3NpYmx5LQorICAgY29udmVydGVkIGRpcmVjdG9yeSBlbnRyeTsgRklMRU5BTUUgaXMgd2hhdCB0aGUgdXNlciB0eXBlZC4gKi8KK3N0YXRpYyBpbnQKK2NvbXBsZXRlX2ZuY21wIChjb252Zm4sIGNvbnZsZW4sIGZpbGVuYW1lLCBmaWxlbmFtZV9sZW4pCisgICAgIGNvbnN0IGNoYXIgKmNvbnZmbjsKKyAgICAgaW50IGNvbnZsZW47CisgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lOworICAgICBpbnQgZmlsZW5hbWVfbGVuOworeworICByZWdpc3RlciBjaGFyICpzMSwgKnMyOworICBpbnQgZCwgbGVuOworCisgIC8qIE90aGVyd2lzZSwgaWYgdGhlc2UgbWF0Y2ggdXAgdG8gdGhlIGxlbmd0aCBvZiBmaWxlbmFtZSwgdGhlbgorICAgICBpdCBpcyBhIG1hdGNoLiAqLworICBpZiAoX3JsX2NvbXBsZXRpb25fY2FzZV9mb2xkICYmIF9ybF9jb21wbGV0aW9uX2Nhc2VfbWFwKQorICAgIHsKKyAgICAgIC8qIENhc2UtaW5zZW5zaXRpdmUgY29tcGFyaXNvbiB0cmVhdGluZyBfIGFuZCAtIGFzIGVxdWl2YWxlbnQgKi8KKyAgICAgIGlmIChmaWxlbmFtZV9sZW4gPT0gMCkKKwlyZXR1cm4gMTsKKyAgICAgIGlmIChjb252bGVuIDwgZmlsZW5hbWVfbGVuKQorCXJldHVybiAwOworICAgICAgczEgPSAoY2hhciAqKWNvbnZmbjsKKyAgICAgIHMyID0gKGNoYXIgKilmaWxlbmFtZTsKKyAgICAgIGxlbiA9IGZpbGVuYW1lX2xlbjsKKyAgICAgIGRvCisJeworCSAgZCA9IF9ybF90b19sb3dlciAoKnMxKSAtIF9ybF90b19sb3dlciAoKnMyKTsKKwkgIC8qICpzMSA9PSBbLV9dICYmICpzMiA9PSBbLV9dICovCisJICBpZiAoKCpzMSA9PSAnLScgfHwgKnMxID09ICdfJykgJiYgKCpzMiA9PSAnLScgfHwgKnMyID09ICdfJykpCisJICAgIGQgPSAwOworCSAgaWYgKGQgIT0gMCkKKwkgICAgcmV0dXJuIDA7CisJICBzMSsrOyBzMisrOwkvKiBhbHJlYWR5IGNoZWNrZWQgY29udmxlbiA+PSBmaWxlbmFtZV9sZW4gKi8KKwl9CisgICAgICB3aGlsZSAoLS1sZW4gIT0gMCk7CisgICAgICByZXR1cm4gMTsKKyAgICB9CisgIGVsc2UgaWYgKF9ybF9jb21wbGV0aW9uX2Nhc2VfZm9sZCkKKyAgICB7CisgICAgICBpZiAoKF9ybF90b19sb3dlciAoY29udmZuWzBdKSA9PSBfcmxfdG9fbG93ZXIgKGZpbGVuYW1lWzBdKSkgJiYKKwkgIChjb252bGVuID49IGZpbGVuYW1lX2xlbikgJiYKKwkgIChfcmxfc3RybmljbXAgKGZpbGVuYW1lLCBjb252Zm4sIGZpbGVuYW1lX2xlbikgPT0gMCkpCisJcmV0dXJuIDE7CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgaWYgKChjb252Zm5bMF0gPT0gZmlsZW5hbWVbMF0pICYmCisJICAoY29udmxlbiA+PSBmaWxlbmFtZV9sZW4pICYmCisJICAoc3RybmNtcCAoZmlsZW5hbWUsIGNvbnZmbiwgZmlsZW5hbWVfbGVuKSA9PSAwKSkKKwlyZXR1cm4gMTsKKyAgICB9CisgIHJldHVybiAwOworfQorCiAvKiBPa2F5LCBub3cgd2Ugd3JpdGUgdGhlIGVudHJ5X2Z1bmN0aW9uIGZvciBmaWxlbmFtZSBjb21wbGV0aW9uLiAgSW4gdGhlCiAgICBnZW5lcmFsIGNhc2UuICBOb3RlIHRoYXQgY29tcGxldGlvbiBpbiB0aGUgc2hlbGwgaXMgYSBsaXR0bGUgZGlmZmVyZW50CiAgICBiZWNhdXNlIG9mIGFsbCB0aGUgcGF0aG5hbWVzIHRoYXQgbXVzdCBiZSBmb2xsb3dlZCB3aGVuIGxvb2tpbmcgdXAgdGhlCkBAIC0yMDcxLDMyICsyMTk1LDQxIEBACiAKICAgICAgIC8qIFdlIGFyZW4ndCBkb25lIHlldC4gIFdlIGFsc28gc3VwcG9ydCB0aGUgIn51c2VyIiBzeW50YXguICovCiAKLSAgICAgIC8qIFNhdmUgdGhlIHZlcnNpb24gb2YgdGhlIGRpcmVjdG9yeSB0aGF0IHRoZSB1c2VyIHR5cGVkLiAqLwotICAgICAgdXNlcnNfZGlybmFtZSA9IHNhdmVzdHJpbmcgKGRpcm5hbWUpOworICAgICAgLyogU2F2ZSB0aGUgdmVyc2lvbiBvZiB0aGUgZGlyZWN0b3J5IHRoYXQgdGhlIHVzZXIgdHlwZWQsIGRlcXVvdGluZworCSBpdCBpZiBuZWNlc3NhcnkuICovCisgICAgICBpZiAocmxfY29tcGxldGlvbl9mb3VuZF9xdW90ZSAmJiBybF9maWxlbmFtZV9kZXF1b3RpbmdfZnVuY3Rpb24pCisJdXNlcnNfZGlybmFtZSA9ICgqcmxfZmlsZW5hbWVfZGVxdW90aW5nX2Z1bmN0aW9uKSAoZGlybmFtZSwgcmxfY29tcGxldGlvbl9xdW90ZV9jaGFyYWN0ZXIpOworICAgICAgZWxzZQorCXVzZXJzX2Rpcm5hbWUgPSBzYXZlc3RyaW5nIChkaXJuYW1lKTsKIAogICAgICAgaWYgKCpkaXJuYW1lID09ICd+JykKIAl7CiAJICB0ZW1wID0gdGlsZGVfZXhwYW5kIChkaXJuYW1lKTsKLQkgIGZyZWUgKGRpcm5hbWUpOworCSAgeGZyZWUgKGRpcm5hbWUpOwogCSAgZGlybmFtZSA9IHRlbXA7CiAJfQogCisgICAgICAvKiBXZSBoYXZlIHNhdmVkIHRoZSBwb3NzaWJseS1kZXF1b3RlZCB2ZXJzaW9uIG9mIHRoZSBkaXJlY3RvcnkgbmFtZQorCSB0aGUgdXNlciB0eXBlZC4gIE5vdyB0cmFuc2Zvcm0gdGhlIGRpcmVjdG9yeSBuYW1lIHdlJ3JlIGdvaW5nIHRvCisJIHBhc3MgdG8gb3BlbmRpcigyKS4gIFRoZSBkaXJlY3RvcnkgcmV3cml0ZSBob29rIG1vZGlmaWVzIG9ubHkgdGhlCisJIGRpcmVjdG9yeSBuYW1lOyB0aGUgZGlyZWN0b3J5IGNvbXBsZXRpb24gaG9vayBtb2RpZmllcyBib3RoIHRoZQorCSBkaXJlY3RvcnkgbmFtZSBwYXNzZWQgdG8gb3BlbmRpcigyKSBhbmQgdGhlIHZlcnNpb24gdGhlIHVzZXIKKwkgdHlwZWQuICBCb3RoIHRoZSBkaXJlY3RvcnkgY29tcGxldGlvbiBhbmQgcmV3cml0ZSBob29rcyBzaG91bGQgcGVyZm9ybQorCSBhbnkgbmVjZXNzYXJ5IGRlcXVvdGluZy4gIFRoZSBob29rIGZ1bmN0aW9ucyByZXR1cm4gMSBpZiB0aGV5IG1vZGlmeQorCSB0aGUgZGlyZWN0b3J5IG5hbWUgYXJndW1lbnQuICBJZiBlaXRoZXIgaG9vayByZXR1cm5zIDAsIGl0IHNob3VsZAorCSBub3QgbW9kaWZ5IHRoZSBkaXJlY3RvcnkgbmFtZSBwb2ludGVyIHBhc3NlZCBhcyBhbiBhcmd1bWVudC4gKi8KICAgICAgIGlmIChybF9kaXJlY3RvcnlfcmV3cml0ZV9ob29rKQogCSgqcmxfZGlyZWN0b3J5X3Jld3JpdGVfaG9vaykgKCZkaXJuYW1lKTsKLQotICAgICAgLyogVGhlIGRpcmVjdG9yeSBjb21wbGV0aW9uIGhvb2sgc2hvdWxkIHBlcmZvcm0gYW55IG5lY2Vzc2FyeQotCSBkZXF1b3RpbmcuICovCi0gICAgICBpZiAocmxfZGlyZWN0b3J5X2NvbXBsZXRpb25faG9vayAmJiAoKnJsX2RpcmVjdG9yeV9jb21wbGV0aW9uX2hvb2spICgmZGlybmFtZSkpCisgICAgICBlbHNlIGlmIChybF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rICYmICgqcmxfZGlyZWN0b3J5X2NvbXBsZXRpb25faG9vaykgKCZkaXJuYW1lKSkKIAl7Ci0JICBmcmVlICh1c2Vyc19kaXJuYW1lKTsKKwkgIHhmcmVlICh1c2Vyc19kaXJuYW1lKTsKIAkgIHVzZXJzX2Rpcm5hbWUgPSBzYXZlc3RyaW5nIChkaXJuYW1lKTsKIAl9CiAgICAgICBlbHNlIGlmIChybF9jb21wbGV0aW9uX2ZvdW5kX3F1b3RlICYmIHJsX2ZpbGVuYW1lX2RlcXVvdGluZ19mdW5jdGlvbikKIAl7CiAJICAvKiBkZWxldGUgc2luZ2xlIGFuZCBkb3VibGUgcXVvdGVzICovCi0JICB0ZW1wID0gKCpybF9maWxlbmFtZV9kZXF1b3RpbmdfZnVuY3Rpb24pICh1c2Vyc19kaXJuYW1lLCBybF9jb21wbGV0aW9uX3F1b3RlX2NoYXJhY3Rlcik7Ci0JICBmcmVlICh1c2Vyc19kaXJuYW1lKTsKLQkgIHVzZXJzX2Rpcm5hbWUgPSB0ZW1wOworCSAgeGZyZWUgKGRpcm5hbWUpOworCSAgZGlybmFtZSA9IHNhdmVzdHJpbmcgKHVzZXJzX2Rpcm5hbWUpOwogCX0KICAgICAgIGRpcmVjdG9yeSA9IG9wZW5kaXIgKGRpcm5hbWUpOwogCkBAIC0yMTA1LDcgKzIyMzgsNyBAQAogCXsKIAkgIC8qIGRlbGV0ZSBzaW5nbGUgYW5kIGRvdWJsZSBxdW90ZXMgKi8KIAkgIHRlbXAgPSAoKnJsX2ZpbGVuYW1lX2RlcXVvdGluZ19mdW5jdGlvbikgKGZpbGVuYW1lLCBybF9jb21wbGV0aW9uX3F1b3RlX2NoYXJhY3Rlcik7Ci0JICBmcmVlIChmaWxlbmFtZSk7CisJICB4ZnJlZSAoZmlsZW5hbWUpOwogCSAgZmlsZW5hbWUgPSB0ZW1wOwogCX0KICAgICAgIGZpbGVuYW1lX2xlbiA9IHN0cmxlbiAoZmlsZW5hbWUpOwpAQCAtMjE0NywyMiArMjI4MCw4IEBACiAJfQogICAgICAgZWxzZQogCXsKLQkgIC8qIE90aGVyd2lzZSwgaWYgdGhlc2UgbWF0Y2ggdXAgdG8gdGhlIGxlbmd0aCBvZiBmaWxlbmFtZSwgdGhlbgotCSAgICAgaXQgaXMgYSBtYXRjaC4gKi8KLQkgIGlmIChfcmxfY29tcGxldGlvbl9jYXNlX2ZvbGQpCi0JICAgIHsKLQkgICAgICBpZiAoKF9ybF90b19sb3dlciAoY29udmZuWzBdKSA9PSBfcmxfdG9fbG93ZXIgKGZpbGVuYW1lWzBdKSkgJiYKLQkJICAoY29udmxlbiA+PSBmaWxlbmFtZV9sZW4pICYmCi0JCSAgKF9ybF9zdHJuaWNtcCAoZmlsZW5hbWUsIGNvbnZmbiwgZmlsZW5hbWVfbGVuKSA9PSAwKSkKLQkJYnJlYWs7Ci0JICAgIH0KLQkgIGVsc2UKLQkgICAgewotCSAgICAgIGlmICgoY29udmZuWzBdID09IGZpbGVuYW1lWzBdKSAmJgotCQkgIChjb252bGVuID49IGZpbGVuYW1lX2xlbikgJiYKLQkJICAoc3RybmNtcCAoZmlsZW5hbWUsIGNvbnZmbiwgZmlsZW5hbWVfbGVuKSA9PSAwKSkKLQkJYnJlYWs7Ci0JICAgIH0KKwkgIGlmIChjb21wbGV0ZV9mbmNtcCAoY29udmZuLCBjb252bGVuLCBmaWxlbmFtZSwgZmlsZW5hbWVfbGVuKSkKKwkgICAgYnJlYWs7CiAJfQogICAgIH0KIApAQCAtMjE3NSwxNyArMjI5NCwxNyBAQAogCX0KICAgICAgIGlmIChkaXJuYW1lKQogCXsKLQkgIGZyZWUgKGRpcm5hbWUpOworCSAgeGZyZWUgKGRpcm5hbWUpOwogCSAgZGlybmFtZSA9IChjaGFyICopTlVMTDsKIAl9CiAgICAgICBpZiAoZmlsZW5hbWUpCiAJewotCSAgZnJlZSAoZmlsZW5hbWUpOworCSAgeGZyZWUgKGZpbGVuYW1lKTsKIAkgIGZpbGVuYW1lID0gKGNoYXIgKilOVUxMOwogCX0KICAgICAgIGlmICh1c2Vyc19kaXJuYW1lKQogCXsKLQkgIGZyZWUgKHVzZXJzX2Rpcm5hbWUpOworCSAgeGZyZWUgKHVzZXJzX2Rpcm5hbWUpOwogCSAgdXNlcnNfZGlybmFtZSA9IChjaGFyICopTlVMTDsKIAl9CiAKQEAgLTIyMjUsNyArMjM0NCw3IEBACiAJdGVtcCA9IHNhdmVzdHJpbmcgKGNvbnZmbik7CiAKICAgICAgIGlmIChjb252Zm4gIT0gZGVudHJ5KQotCWZyZWUgKGNvbnZmbik7CisJeGZyZWUgKGNvbnZmbik7CiAKICAgICAgIHJldHVybiAodGVtcCk7CiAgICAgfQpAQCAtMjMwNCwxNCArMjQyMywxNCBAQAogCiAgICAgICBpZiAobWF0Y2hlcyA9PSAwIHx8IHBvc3Rwcm9jZXNzX21hdGNoZXMgKCZtYXRjaGVzLCBtYXRjaGluZ19maWxlbmFtZXMpID09IDApCiAJewotICAgIAkgIHJsX2RpbmcgKCk7CisJICBybF9kaW5nICgpOwogCSAgRlJFRSAobWF0Y2hlcyk7CiAJICBtYXRjaGVzID0gKGNoYXIgKiopMDsKIAkgIEZSRUUgKG9yaWdfdGV4dCk7CiAJICBvcmlnX3RleHQgPSAoY2hhciAqKTA7Ci0gICAgCSAgY29tcGxldGlvbl9jaGFuZ2VkX2J1ZmZlciA9IDA7Ci0gCSAgUkxfVU5TRVRTVEFURShSTF9TVEFURV9DT01QTEVUSU5HKTsKLSAgICAgICAgICByZXR1cm4gKDApOworCSAgY29tcGxldGlvbl9jaGFuZ2VkX2J1ZmZlciA9IDA7CisJICBSTF9VTlNFVFNUQVRFKFJMX1NUQVRFX0NPTVBMRVRJTkcpOworCSAgcmV0dXJuICgwKTsKIAl9CiAKICAgICAgIFJMX1VOU0VUU1RBVEUoUkxfU1RBVEVfQ09NUExFVElORyk7CkBAIC0yMzQwLDcgKzI0NTksMTAgQEAKIAogICBtYXRjaF9saXN0X2luZGV4ICs9IGNvdW50OwogICBpZiAobWF0Y2hfbGlzdF9pbmRleCA8IDApCi0gICAgbWF0Y2hfbGlzdF9pbmRleCArPSBtYXRjaF9saXN0X3NpemU7CisgICAgeworICAgICAgd2hpbGUgKG1hdGNoX2xpc3RfaW5kZXggPCAwKQorCW1hdGNoX2xpc3RfaW5kZXggKz0gbWF0Y2hfbGlzdF9zaXplOworICAgIH0KICAgZWxzZQogICAgIG1hdGNoX2xpc3RfaW5kZXggJT0gbWF0Y2hfbGlzdF9zaXplOwogCkBAIC0yMzc1LDcgKzI0OTcsNyBAQAogICBzdGF0aWMgaW50IGZ1bGxfY29tcGxldGlvbiA9IDA7CS8qIHNldCB0byAxIGlmIG1lbnUgY29tcGxldGlvbiBzaG91bGQgcmVpbml0aWFsaXplIG9uIG5leHQgY2FsbCAqLwogICBzdGF0aWMgaW50IG9yaWdfc3RhcnQsIG9yaWdfZW5kOwogICBzdGF0aWMgY2hhciBxdW90ZV9jaGFyOwotICBzdGF0aWMgaW50IGRlbGltaXRlcjsKKyAgc3RhdGljIGludCBkZWxpbWl0ZXIsIGNzdGF0ZTsKIAogICAvKiBUaGUgZmlyc3QgdGltZSB0aHJvdWdoLCB3ZSBnZW5lcmF0ZSB0aGUgbGlzdCBvZiBtYXRjaGVzIGFuZCBzZXQgdGhpbmdzCiAgICAgIHVwIHRvIGluc2VydCB0aGVtLiAqLwpAQCAtMjQyOCwxNCArMjU1MCwxNCBAQAogCiAgICAgICBpZiAobWF0Y2hlcyA9PSAwIHx8IHBvc3Rwcm9jZXNzX21hdGNoZXMgKCZtYXRjaGVzLCBtYXRjaGluZ19maWxlbmFtZXMpID09IDApCiAJewotICAgIAkgIHJsX2RpbmcgKCk7CisJICBybF9kaW5nICgpOwogCSAgRlJFRSAobWF0Y2hlcyk7CiAJICBtYXRjaGVzID0gKGNoYXIgKiopMDsKIAkgIEZSRUUgKG9yaWdfdGV4dCk7CiAJICBvcmlnX3RleHQgPSAoY2hhciAqKTA7Ci0gICAgCSAgY29tcGxldGlvbl9jaGFuZ2VkX2J1ZmZlciA9IDA7Ci0gCSAgUkxfVU5TRVRTVEFURShSTF9TVEFURV9DT01QTEVUSU5HKTsKLSAgICAgICAgICByZXR1cm4gKDApOworCSAgY29tcGxldGlvbl9jaGFuZ2VkX2J1ZmZlciA9IDA7CisJICBSTF9VTlNFVFNUQVRFKFJMX1NUQVRFX0NPTVBMRVRJTkcpOworCSAgcmV0dXJuICgwKTsKIAl9CiAKICAgICAgIFJMX1VOU0VUU1RBVEUoUkxfU1RBVEVfQ09NUExFVElORyk7CkBAIC0yNDgzLDYgKzI2MDUsMTEgQEAKIAkgIGZ1bGxfY29tcGxldGlvbiA9IDE7CiAJICByZXR1cm4gKDApOwogCX0KKyAgICAgIGVsc2UgaWYgKF9ybF9tZW51X2NvbXBsZXRlX3ByZWZpeF9maXJzdCAmJiBtYXRjaF9saXN0X3NpemUgPiAxKQorCXsKKwkgIHJsX2RpbmcgKCk7CisJICByZXR1cm4gKDApOworCX0KICAgICB9CiAKICAgLyogTm93IHdlIGhhdmUgdGhlIGxpc3Qgb2YgbWF0Y2hlcy4gIFJlcGxhY2UgdGhlIHRleHQgYmV0d2VlbgpAQCAtMjUwMCw3ICsyNjI3LDEwIEBACiAKICAgbWF0Y2hfbGlzdF9pbmRleCArPSBjb3VudDsKICAgaWYgKG1hdGNoX2xpc3RfaW5kZXggPCAwKQotICAgIG1hdGNoX2xpc3RfaW5kZXggKz0gbWF0Y2hfbGlzdF9zaXplOworICAgIHsKKyAgICAgIHdoaWxlIChtYXRjaF9saXN0X2luZGV4IDwgMCkKKwltYXRjaF9saXN0X2luZGV4ICs9IG1hdGNoX2xpc3Rfc2l6ZTsKKyAgICB9CiAgIGVsc2UKICAgICBtYXRjaF9saXN0X2luZGV4ICU9IG1hdGNoX2xpc3Rfc2l6ZTsKIApkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2RvYy9oaXN0b3J5LnRleGkgYi9saWIvcmVhZGxpbmUvZG9jL2hpc3RvcnkudGV4aQppbmRleCBhZmRiOTAxLi42NDk0NWQ4IDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvZG9jL2hpc3RvcnkudGV4aQorKysgYi9saWIvcmVhZGxpbmUvZG9jL2hpc3RvcnkudGV4aQpAQCAtMTIsNyArMTIsNyBAQAogYSBwcm9ncmFtbWluZyB0b29sIHRoYXQgcHJvdmlkZXMgYSBjb25zaXN0ZW50IHVzZXIgaW50ZXJmYWNlIGZvcgogcmVjYWxsaW5nIGxpbmVzIG9mIHByZXZpb3VzbHkgdHlwZWQgaW5wdXQuCiAKLUNvcHlyaWdodCBAY29weXJpZ2h0e30gMTk4OC0tMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK0NvcHlyaWdodCBAY29weXJpZ2h0e30gMTk4OC0tMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIG1ha2UgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mCiB0aGlzIG1hbnVhbCBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZQpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2RvYy9oc3RlY2gudGV4aSBiL2xpYi9yZWFkbGluZS9kb2MvaHN0ZWNoLnRleGkKaW5kZXggYzRlNWE3NS4uNGZjOWU4ZSAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL2RvYy9oc3RlY2gudGV4aQorKysgYi9saWIvcmVhZGxpbmUvZG9jL2hzdGVjaC50ZXhpCkBAIC0xLDcgKzEsNyBAQAogQGlnbm9yZQogVGhpcyBmaWxlIGRvY3VtZW50cyB0aGUgdXNlciBpbnRlcmZhY2UgdG8gdGhlIEdOVSBIaXN0b3J5IGxpYnJhcnkuCiAKLUNvcHlyaWdodCAoQykgMTk4OC0yMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQ29weXJpZ2h0IChDKSAxOTg4LTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiBBdXRob3JlZCBieSBCcmlhbiBGb3ggYW5kIENoZXQgUmFtZXkuCiAKIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBtYWtlIGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGlzIG1hbnVhbApAQCAtNDI2LDYgKzQyNiwxMCBAQAogSWYgbm9uLXplcm8sIHRpbWVzdGFtcHMgYXJlIHdyaXR0ZW4gdG8gdGhlIGhpc3RvcnkgZmlsZSwgc28gdGhleSBjYW4gYmUKIHByZXNlcnZlZCBiZXR3ZWVuIHNlc3Npb25zLiAgVGhlIGRlZmF1bHQgdmFsdWUgaXMgMCwgbWVhbmluZyB0aGF0CiB0aW1lc3RhbXBzIGFyZSBub3Qgc2F2ZWQuCisKK1RoZSBjdXJyZW50IHRpbWVzdGFtcCBmb3JtYXQgdXNlcyB0aGUgdmFsdWUgb2YgQHZhcntoaXN0b3J5X2NvbW1lbnRfY2hhcn0KK3RvIGRlbGltaXQgdGltZXN0YW1wIGVudHJpZXMgaW4gdGhlIGhpc3RvcnkgZmlsZS4gIElmIHRoYXQgdmFyaWFibGUgZG9lcworbm90IGhhdmUgYSB2YWx1ZSAodGhlIGRlZmF1bHQpLCB0aW1lc3RhbXBzIHdpbGwgbm90IGJlIHdyaXR0ZW4uCiBAZW5kIGRlZnR5cGV2YXIKIAogQGRlZnR5cGV2YXIgY2hhciBoaXN0b3J5X2V4cGFuc2lvbl9jaGFyCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvZG9jL2hzdXNlci50ZXhpIGIvbGliL3JlYWRsaW5lL2RvYy9oc3VzZXIudGV4aQppbmRleCA4N2IzNTQxLi43NWRmM2VlIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvZG9jL2hzdXNlci50ZXhpCisrKyBiL2xpYi9yZWFkbGluZS9kb2MvaHN1c2VyLnRleGkKQEAgLTEsNyArMSw3IEBACiBAaWdub3JlCiBUaGlzIGZpbGUgZG9jdW1lbnRzIHRoZSB1c2VyIGludGVyZmFjZSB0byB0aGUgR05VIEhpc3RvcnkgbGlicmFyeS4KIAotQ29weXJpZ2h0IChDKSAxOTg4LTIwMDcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitDb3B5cmlnaHQgKEMpIDE5ODgtLTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiBBdXRob3JlZCBieSBCcmlhbiBGb3ggYW5kIENoZXQgUmFtZXkuCiAKIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBtYWtlIGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGlzIG1hbnVhbApAQCAtMjk5LDYgKzI5OSw4IEBACiAKIEFuIGV2ZW50IGRlc2lnbmF0b3IgaXMgYSByZWZlcmVuY2UgdG8gYSBjb21tYW5kIGxpbmUgZW50cnkgaW4gdGhlCiBoaXN0b3J5IGxpc3QuCitVbmxlc3MgdGhlIHJlZmVyZW5jZSBpcyBhYnNvbHV0ZSwgZXZlbnRzIGFyZSByZWxhdGl2ZSB0byB0aGUgY3VycmVudAorcG9zaXRpb24gaW4gdGhlIGhpc3RvcnkgbGlzdC4KIEBjaW5kZXggaGlzdG9yeSBldmVudHMKIAogQHRhYmxlIEBhc2lzCkBAIC0zMjQsMTAgKzMyNiwxNSBAQAogUmVmZXIgdG8gdGhlIHByZXZpb3VzIGNvbW1hbmQuICBUaGlzIGlzIGEgc3lub255bSBmb3IgQHNhbXB7IS0xfS4KIAogQGl0ZW0gQGNvZGV7IUB2YXJ7c3RyaW5nfX0KLVJlZmVyIHRvIHRoZSBtb3N0IHJlY2VudCBjb21tYW5kIHN0YXJ0aW5nIHdpdGggQHZhcntzdHJpbmd9LgorUmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQKK3ByZWNlZGluZyB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgaGlzdG9yeSBsaXN0CitzdGFydGluZyB3aXRoIEB2YXJ7c3RyaW5nfS4KIAogQGl0ZW0gQGNvZGV7IT9AdmFye3N0cmluZ31bP119Ci1SZWZlciB0byB0aGUgbW9zdCByZWNlbnQgY29tbWFuZCBjb250YWluaW5nIEB2YXJ7c3RyaW5nfS4gIFRoZSB0cmFpbGluZworUmVmZXIgdG8gdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQKK3ByZWNlZGluZyB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgaGlzdG9yeSBsaXN0Citjb250YWluaW5nIEB2YXJ7c3RyaW5nfS4KK1RoZSB0cmFpbGluZwogQHNhbXB7P30gbWF5IGJlIG9taXR0ZWQgaWYgdGhlIEB2YXJ7c3RyaW5nfSBpcyBmb2xsb3dlZCBpbW1lZGlhdGVseSBieQogYSBuZXdsaW5lLgogCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvZG9jL3JsbWFuLnRleGkgYi9saWIvcmVhZGxpbmUvZG9jL3JsbWFuLnRleGkKaW5kZXggYmUyNDcwOS4uMWM5YWMxMyAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL2RvYy9ybG1hbi50ZXhpCisrKyBiL2xpYi9yZWFkbGluZS9kb2MvcmxtYW4udGV4aQpAQCAtMTMsNyArMTMsNyBAQAogY29uc2lzdGVuY3kgb2YgdXNlciBpbnRlcmZhY2UgYWNyb3NzIGRpc2NyZXRlIHByb2dyYW1zIHdoaWNoIHByb3ZpZGUKIGEgY29tbWFuZCBsaW5lIGludGVyZmFjZS4KIAotQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAxOTg4LS0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQ29weXJpZ2h0IEBjb3B5cmlnaHR7fSAxOTg4LS0yMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gbWFrZSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YKIHRoaXMgbWFudWFsIHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvZG9jL3JsdGVjaC50ZXhpIGIvbGliL3JlYWRsaW5lL2RvYy9ybHRlY2gudGV4aQppbmRleCAwNGM4NDg5Li5kYzI3MmEyIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvZG9jL3JsdGVjaC50ZXhpCisrKyBiL2xpYi9yZWFkbGluZS9kb2Mvcmx0ZWNoLnRleGkKQEAgLTcsNyArNyw3IEBACiBpbiB0aGUgY29uc2lzdGVuY3kgb2YgdXNlciBpbnRlcmZhY2UgYWNyb3NzIGRpc2NyZXRlIHByb2dyYW1zIHRoYXQgbmVlZAogdG8gcHJvdmlkZSBhIGNvbW1hbmQgbGluZSBpbnRlcmZhY2UuCiAKLUNvcHlyaWdodCAoQykgMTk4OC0yMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorQ29weXJpZ2h0IChDKSAxOTg4LS0yMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gbWFrZSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YKIHRoaXMgbWFudWFsIHByb3ZpZGVkIHRoZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlCkBAIC0xMTU3LDYgKzExNTcsOSBAQAogaXMgdGhlIGxlbmd0aCBvZiB0aGUgbG9uZ2VzdCBzdHJpbmcgaW4gQGNvZGV7bWF0Y2hlc30uICBUaGlzIGZ1bmN0aW9uIHVzZXMKIHRoZSBzZXR0aW5nIG9mIEBjb2Rle3ByaW50LWNvbXBsZXRpb25zLWhvcml6b250YWxseX0gdG8gc2VsZWN0IGhvdyB0aGUKIG1hdGNoZXMgYXJlIGRpc3BsYXllZCAoQHB4cmVme1JlYWRsaW5lIEluaXQgRmlsZSBTeW50YXh9KS4KK1doZW4gZGlzcGxheWluZyBjb21wbGV0aW9ucywgdGhpcyBmdW5jdGlvbiBzZXRzIHRoZSBudW1iZXIgb2YgY29sdW1ucyB1c2VkCitmb3IgZGlzcGxheSB0byB0aGUgdmFsdWUgb2YgQGNvZGV7Y29tcGxldGlvbi1kaXNwbGF5LXdpZHRofSwgdGhlIHZhbHVlIG9mCit0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQGVudntDT0xVTU5TfSwgb3IgdGhlIHNjcmVlbiB3aWR0aCwgaW4gdGhhdCBvcmRlci4KIEBlbmQgZGVmdHlwZWZ1bgogCiBUaGUgZm9sbG93aW5nIGFyZSBpbXBsZW1lbnRlZCBhcyBtYWNyb3MsIGRlZmluZWQgaW4gQGNvZGV7Y2hhcmRlZnMuaH0uCkBAIC0xNzE0LDE4ICsxNzE3LDIwIEBACiAKIEBkZWZ0eXBldmFyIHtybF9pY3BwZnVuY190ICp9IHJsX2RpcmVjdG9yeV9jb21wbGV0aW9uX2hvb2sKIFRoaXMgZnVuY3Rpb24sIGlmIGRlZmluZWQsIGlzIGFsbG93ZWQgdG8gbW9kaWZ5IHRoZSBkaXJlY3RvcnkgcG9ydGlvbgotb2YgZmlsZW5hbWVzIFJlYWRsaW5lIGNvbXBsZXRlcy4gIEl0IGlzIGNhbGxlZCB3aXRoIHRoZSBhZGRyZXNzIG9mIGEKLXN0cmluZyAodGhlIGN1cnJlbnQgZGlyZWN0b3J5IG5hbWUpIGFzIGFuIGFyZ3VtZW50LCBhbmQgbWF5IG1vZGlmeSB0aGF0IHN0cmluZy4KK29mIGZpbGVuYW1lcyBSZWFkbGluZSBjb21wbGV0ZXMuCitJdCBjb3VsZCBiZSB1c2VkIHRvIGV4cGFuZCBzeW1ib2xpYyBsaW5rcyBvciBzaGVsbCB2YXJpYWJsZXMgaW4gcGF0aG5hbWVzLgorSXQgaXMgY2FsbGVkIHdpdGggdGhlIGFkZHJlc3Mgb2YgYSBzdHJpbmcgKHRoZSBjdXJyZW50IGRpcmVjdG9yeSBuYW1lKSBhcyBhbgorYXJndW1lbnQsIGFuZCBtYXkgbW9kaWZ5IHRoYXQgc3RyaW5nLgogSWYgdGhlIHN0cmluZyBpcyByZXBsYWNlZCB3aXRoIGEgbmV3IHN0cmluZywgdGhlIG9sZCB2YWx1ZSBzaG91bGQgYmUgZnJlZWQuCiBBbnkgbW9kaWZpZWQgZGlyZWN0b3J5IG5hbWUgc2hvdWxkIGhhdmUgYSB0cmFpbGluZyBzbGFzaC4KLVRoZSBtb2RpZmllZCB2YWx1ZSB3aWxsIGJlIGRpc3BsYXllZCBhcyBwYXJ0IG9mIHRoZSBjb21wbGV0aW9uLCByZXBsYWNpbmcKK1RoZSBtb2RpZmllZCB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgcGFydCBvZiB0aGUgY29tcGxldGlvbiwgcmVwbGFjaW5nCiB0aGUgZGlyZWN0b3J5IHBvcnRpb24gb2YgdGhlIHBhdGhuYW1lIHRoZSB1c2VyIHR5cGVkLgotSXQgcmV0dXJucyBhbiBpbnRlZ2VyIHRoYXQgc2hvdWxkIGJlIG5vbi16ZXJvIGlmIHRoZSBmdW5jdGlvbiBtb2RpZmllcwotaXRzIGRpcmVjdG9yeSBhcmd1bWVudC4KLUl0IGNvdWxkIGJlIHVzZWQgdG8gZXhwYW5kIHN5bWJvbGljIGxpbmtzIG9yIHNoZWxsIHZhcmlhYmxlcyBpbiBwYXRobmFtZXMuCiBBdCB0aGUgbGVhc3QsIGV2ZW4gaWYgbm8gb3RoZXIgZXhwYW5zaW9uIGlzIHBlcmZvcm1lZCwgdGhpcyBmdW5jdGlvbiBzaG91bGQKIHJlbW92ZSBhbnkgcXVvdGUgY2hhcmFjdGVycyBmcm9tIHRoZSBkaXJlY3RvcnkgbmFtZSwgYmVjYXVzZSBpdHMgcmVzdWx0IHdpbGwKIGJlIHBhc3NlZCBkaXJlY3RseSB0byBAY29kZXtvcGVuZGlyKCl9LgorVGhlIGRpcmVjdG9yeSBjb21wbGV0aW9uIGhvb2sgcmV0dXJucyBhbiBpbnRlZ2VyIHRoYXQgc2hvdWxkIGJlIG5vbi16ZXJvIGlmCit0aGUgZnVuY3Rpb24gbW9kaWZpZXMgaXRzIGRpcmVjdG9yeSBhcmd1bWVudC4KK1RoZSBmdW5jdGlvbiBzaG91bGQgbm90IG1vZGlmeSB0aGUgZGlyZWN0b3J5IGFyZ3VtZW50IGlmIGl0IHJldHVybnMgMC4KIEBlbmQgZGVmdHlwZXZhcgogCiBAaWdub3JlCkBAIC0xNzM3LDcgKzE3NDIsNyBAQAogZGlzcGxheWVkIHdoZW4gdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSBwcmludGVkIG9yIGluc2VydGVkLiAgSXQgaXMKIGNhbGxlZCBiZWZvcmUgcmxfZGlyZWN0b3J5X2NvbXBsZXRpb25faG9vay4KIAotSSdtIG5vdCBoYXBweSB3aXRoIGhvdyB0aGlzIHdvcmtzeWV0LCBzbyBpdCdzIHVuZG9jdW1lbnRlZC4KK0knbSBub3QgaGFwcHkgd2l0aCBob3cgdGhpcyB3b3JrcyB5ZXQsIHNvIGl0J3MgdW5kb2N1bWVudGVkLgogQGVuZCBkZWZ0eXBldmFyCiBAZW5kIGlnbm9yZQogCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvZG9jL3JsdXNlci50ZXhpIGIvbGliL3JlYWRsaW5lL2RvYy9ybHVzZXIudGV4aQppbmRleCA1MTljMGRlLi44YTY5Yzk5IDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvZG9jL3JsdXNlci50ZXhpCisrKyBiL2xpYi9yZWFkbGluZS9kb2Mvcmx1c2VyLnRleGkKQEAgLTksNyArOSw3IEBACiB3aGljaCBjb250YWlucyBib3RoIGVuZC11c2VyIGFuZCBwcm9ncmFtbWVyIGRvY3VtZW50YXRpb24gZm9yIHRoZQogR05VIFJlYWRsaW5lIExpYnJhcnkuCiAKLUNvcHlyaWdodCAoQykgMTk4OC0tMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK0NvcHlyaWdodCAoQykgMTk4OC0tMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogQXV0aG9yZWQgYnkgQnJpYW4gRm94IGFuZCBDaGV0IFJhbWV5LgogCkBAIC01MSw3ICs1MSw3IEBACiB1bmxlc3MgdGhlIEBvcHRpb257LS1ub2VkaXRpbmd9IG9wdGlvbiBpcyBzdXBwbGllZCBhdCBzaGVsbCBpbnZvY2F0aW9uLgogTGluZSBlZGl0aW5nIGlzIGFsc28gdXNlZCB3aGVuIHVzaW5nIHRoZSBAb3B0aW9uey1lfSBvcHRpb24gdG8gdGhlCiBAY29kZXtyZWFkfSBidWlsdGluIGNvbW1hbmQgKEBweHJlZntCYXNoIEJ1aWx0aW5zfSkuCi1CeSBkZWZhdWx0LCB0aGUgbGluZSBlZGl0aW5nIGNvbW1hbmRzIGFyZSBzaW1pbGFyIHRvIHRob3NlIG9mIGVtYWNzLgorQnkgZGVmYXVsdCwgdGhlIGxpbmUgZWRpdGluZyBjb21tYW5kcyBhcmUgc2ltaWxhciB0byB0aG9zZSBvZiBFbWFjcy4KIEEgdmktc3R5bGUgbGluZSBlZGl0aW5nIGludGVyZmFjZSBpcyBhbHNvIGF2YWlsYWJsZS4KIExpbmUgZWRpdGluZyBjYW4gYmUgZW5hYmxlZCBhdCBhbnkgdGltZSB1c2luZyB0aGUgQG9wdGlvbnstbyBlbWFjc30gb3IKIEBvcHRpb257LW8gdml9IG9wdGlvbnMgdG8gdGhlIEBjb2Rle3NldH0gYnVpbHRpbiBjb21tYW5kCkBAIC00MzEsMTEgKzQzMSwyNyBAQAogQGNvZGV7aW5zZXJ0LWNvbW1lbnR9IGNvbW1hbmQgaXMgZXhlY3V0ZWQuICBUaGUgZGVmYXVsdCB2YWx1ZQogaXMgQGNvZGV7IiMifS4KIAorQGl0ZW0gY29tcGxldGlvbi1kaXNwbGF5LXdpZHRoCitAdmluZGV4IGNvbXBsZXRpb24tZGlzcGxheS13aWR0aAorVGhlIG51bWJlciBvZiBzY3JlZW4gY29sdW1ucyB1c2VkIHRvIGRpc3BsYXkgcG9zc2libGUgbWF0Y2hlcword2hlbiBwZXJmb3JtaW5nIGNvbXBsZXRpb24uCitUaGUgdmFsdWUgaXMgaWdub3JlZCBpZiBpdCBpcyBsZXNzIHRoYW4gMCBvciBncmVhdGVyIHRoYW4gdGhlIHRlcm1pbmFsCitzY3JlZW4gd2lkdGguCitBIHZhbHVlIG9mIDAgd2lsbCBjYXVzZSBtYXRjaGVzIHRvIGJlIGRpc3BsYXllZCBvbmUgcGVyIGxpbmUuCitUaGUgZGVmYXVsdCB2YWx1ZSBpcyAtMS4KKwogQGl0ZW0gY29tcGxldGlvbi1pZ25vcmUtY2FzZQorQHZpbmRleCBjb21wbGV0aW9uLWlnbm9yZS1jYXNlCiBJZiBzZXQgdG8gQHNhbXB7b259LCBSZWFkbGluZSBwZXJmb3JtcyBmaWxlbmFtZSBtYXRjaGluZyBhbmQgY29tcGxldGlvbgogaW4gYSBjYXNlLWluc2Vuc2l0aXZlIGZhc2hpb24uCiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBAc2FtcHtvZmZ9LgogCitAaXRlbSBjb21wbGV0aW9uLW1hcC1jYXNlCitAdmluZGV4IGNvbXBsZXRpb24tbWFwLWNhc2UKK0lmIHNldCB0byBAc2FtcHtvbn0sIGFuZCBAdmFye2NvbXBsZXRpb24taWdub3JlLWNhc2V9IGlzIGVuYWJsZWQsIFJlYWRsaW5lCit0cmVhdHMgaHlwaGVucyAoQHNhbXB7LX0pIGFuZCB1bmRlcnNjb3JlcyAoQHNhbXB7X30pIGFzIGVxdWl2YWxlbnQgd2hlbgorcGVyZm9ybWluZyBjYXNlLWluc2Vuc2l0aXZlIGZpbGVuYW1lIG1hdGNoaW5nIGFuZCBjb21wbGV0aW9uLgorCiBAaXRlbSBjb21wbGV0aW9uLXByZWZpeC1kaXNwbGF5LWxlbmd0aAogQHZpbmRleCBjb21wbGV0aW9uLXByZWZpeC1kaXNwbGF5LWxlbmd0aAogVGhlIGxlbmd0aCBpbiBjaGFyYWN0ZXJzIG9mIHRoZSBjb21tb24gcHJlZml4IG9mIGEgbGlzdCBvZiBwb3NzaWJsZQpAQCAtNTcwLDEwICs1ODYsMTcgQEAKIEB2aW5kZXggbWF0Y2gtaGlkZGVuLWZpbGVzCiBUaGlzIHZhcmlhYmxlLCB3aGVuIHNldCB0byBAc2FtcHtvbn0sIGNhdXNlcyBSZWFkbGluZSB0byBtYXRjaCBmaWxlcyB3aG9zZQogbmFtZXMgYmVnaW4gd2l0aCBhIEBzYW1wey59IChoaWRkZW4gZmlsZXMpIHdoZW4gcGVyZm9ybWluZyBmaWxlbmFtZQotY29tcGxldGlvbiwgdW5sZXNzIHRoZSBsZWFkaW5nIEBzYW1wey59IGlzCitjb21wbGV0aW9uLgorSWYgc2V0IHRvIEBzYW1we29mZn0sIHRoZSBsZWFkaW5nIEBzYW1wey59IG11c3QgYmUKIHN1cHBsaWVkIGJ5IHRoZSB1c2VyIGluIHRoZSBmaWxlbmFtZSB0byBiZSBjb21wbGV0ZWQuCiBUaGlzIHZhcmlhYmxlIGlzIEBzYW1we29ufSBieSBkZWZhdWx0LgogCitAaXRlbSBtZW51LWNvbXBsZXRlLWRpc3BsYXktcHJlZml4CitAdmluZGV4IG1lbnUtY29tcGxldGUtZGlzcGxheS1wcmVmaXgKK0lmIHNldCB0byBAc2FtcHtvbn0sIG1lbnUgY29tcGxldGlvbiBkaXNwbGF5cyB0aGUgY29tbW9uIHByZWZpeCBvZiB0aGUKK2xpc3Qgb2YgcG9zc2libGUgY29tcGxldGlvbnMgKHdoaWNoIG1heSBiZSBlbXB0eSkgYmVmb3JlIGN5Y2xpbmcgdGhyb3VnaAordGhlIGxpc3QuICBUaGUgZGVmYXVsdCBpcyBAc2FtcHtvZmZ9LgorCiBAaXRlbSBvdXRwdXQtbWV0YQogQHZpbmRleCBvdXRwdXQtbWV0YQogSWYgc2V0IHRvIEBzYW1we29ufSwgUmVhZGxpbmUgd2lsbCBkaXNwbGF5IGNoYXJhY3RlcnMgd2l0aCB0aGUKQEAgLTEwOTcsMTAgKzExMjAsMTQgQEAKIAogQGl0ZW0geWFuay1sYXN0LWFyZyAoTS0uIG9yIE0tXykKIEluc2VydCBsYXN0IGFyZ3VtZW50IHRvIHRoZSBwcmV2aW91cyBjb21tYW5kICh0aGUgbGFzdCB3b3JkIG9mIHRoZQotcHJldmlvdXMgaGlzdG9yeSBlbnRyeSkuICBXaXRoIGFuCi1hcmd1bWVudCwgYmVoYXZlIGV4YWN0bHkgbGlrZSBAY29kZXt5YW5rLW50aC1hcmd9LgorcHJldmlvdXMgaGlzdG9yeSBlbnRyeSkuCitXaXRoIGEgbnVtZXJpYyBhcmd1bWVudCwgYmVoYXZlIGV4YWN0bHkgbGlrZSBAY29kZXt5YW5rLW50aC1hcmd9LgogU3VjY2Vzc2l2ZSBjYWxscyB0byBAY29kZXt5YW5rLWxhc3QtYXJnfSBtb3ZlIGJhY2sgdGhyb3VnaCB0aGUgaGlzdG9yeQotbGlzdCwgaW5zZXJ0aW5nIHRoZSBsYXN0IGFyZ3VtZW50IG9mIGVhY2ggbGluZSBpbiB0dXJuLgorbGlzdCwgaW5zZXJ0aW5nIHRoZSBsYXN0IHdvcmQgKG9yIHRoZSB3b3JkIHNwZWNpZmllZCBieSB0aGUgYXJndW1lbnQgdG8KK3RoZSBmaXJzdCBjYWxsKSBvZiBlYWNoIGxpbmUgaW4gdHVybi4KK0FueSBudW1lcmljIGFyZ3VtZW50IHN1cHBsaWVkIHRvIHRoZXNlIHN1Y2Nlc3NpdmUgY2FsbHMgZGV0ZXJtaW5lcwordGhlIGRpcmVjdGlvbiB0byBtb3ZlIHRocm91Z2ggdGhlIGhpc3RvcnkuICBBIG5lZ2F0aXZlIGFyZ3VtZW50IHN3aXRjaGVzCit0aGUgZGlyZWN0aW9uIHRocm91Z2ggdGhlIGhpc3RvcnkgKGJhY2sgb3IgZm9yd2FyZCkuCiBUaGUgaGlzdG9yeSBleHBhbnNpb24gZmFjaWxpdGllcyBhcmUgdXNlZCB0byBleHRyYWN0IHRoZSBsYXN0IGFyZ3VtZW50LAogYXMgaWYgdGhlIEBzYW1weyEkfSBoaXN0b3J5IGV4cGFuc2lvbiBoYWQgYmVlbiBzcGVjaWZpZWQuCiAKQEAgLTEyMTIsNyArMTIzOSw3IEBACiB3b3JkcywgdG8gdGhlIGVuZCBvZiB0aGUgbmV4dCB3b3JkLgogV29yZCBib3VuZGFyaWVzIGFyZSB0aGUgc2FtZSBhcyBAY29kZXtzaGVsbC1mb3J3YXJkLXdvcmR9LgogCi1AaXRlbSBiYWNrd2FyZC1raWxsLXdvcmQgKCkKK0BpdGVtIHNoZWxsLWJhY2t3YXJkLWtpbGwtd29yZCAoKQogS2lsbCB0aGUgd29yZCBiZWhpbmQgcG9pbnQuCiBXb3JkIGJvdW5kYXJpZXMgYXJlIHRoZSBzYW1lIGFzIEBjb2Rle3NoZWxsLWJhY2t3YXJkLXdvcmR9LgogQGVuZCBpZnNldApAQCAtMTI5OCw2ICsxMzI1LDkgQEAKIAogQGl0ZW0gcG9zc2libGUtY29tcGxldGlvbnMgKE0tPykKIExpc3QgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIG9mIHRoZSB0ZXh0IGJlZm9yZSBwb2ludC4KK1doZW4gZGlzcGxheWluZyBjb21wbGV0aW9ucywgUmVhZGxpbmUgc2V0cyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZAorZm9yIGRpc3BsYXkgdG8gdGhlIHZhbHVlIG9mIEBjb2Rle2NvbXBsZXRpb24tZGlzcGxheS13aWR0aH0sIHRoZSB2YWx1ZSBvZgordGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEBlbnZ7Q09MVU1OU30sIG9yIHRoZSBzY3JlZW4gd2lkdGgsIGluIHRoYXQgb3JkZXIuCiAKIEBpdGVtIGluc2VydC1jb21wbGV0aW9ucyAoTS0qKQogSW5zZXJ0IGFsbCBjb21wbGV0aW9ucyBvZiB0aGUgdGV4dCBiZWZvcmUgcG9pbnQgdGhhdCB3b3VsZCBoYXZlCkBAIC0xNTc5LDcgKzE2MDksNyBAQAogV2hpbGUgdGhlIFJlYWRsaW5lIGxpYnJhcnkgZG9lcyBub3QgaGF2ZSBhIGZ1bGwgc2V0IG9mIEBjb2Rle3ZpfQogZWRpdGluZyBmdW5jdGlvbnMsIGl0IGRvZXMgY29udGFpbiBlbm91Z2ggdG8gYWxsb3cgc2ltcGxlIGVkaXRpbmcKIG9mIHRoZSBsaW5lLiAgVGhlIFJlYWRsaW5lIEBjb2Rle3ZpfSBtb2RlIGJlaGF2ZXMgYXMgc3BlY2lmaWVkIGluCi10aGUgQHNje3Bvc2l4fSAxMDAzLjIgc3RhbmRhcmQuCit0aGUgQHNje3Bvc2l4fSBzdGFuZGFyZC4KIAogQGlmc2V0IEJhc2hGZWF0dXJlcwogSW4gb3JkZXIgdG8gc3dpdGNoIGludGVyYWN0aXZlbHkgYmV0d2VlbiBAY29kZXtlbWFjc30gYW5kIEBjb2Rle3ZpfQpAQCAtMTczMyw3ICsxNzYzLDcgQEAKIHRoZSBjb21wc3BlYyBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbW1hbmQgb24gd2hpY2ggY29tcGxldGlvbiBpcyBiZWluZwogYXR0ZW1wdGVkIChzdXBwbGllZCBhcyB0aGUgZmlyc3QgYXJndW1lbnQgd2hlbiB0aGUgZnVuY3Rpb24gaXMgZXhlY3V0ZWQpLAogcHJvZ3JhbW1hYmxlIGNvbXBsZXRpb24gcmVzdGFydHMgZnJvbSB0aGUgYmVnaW5uaW5nLCB3aXRoIGFuCi1hdHRlbXB0IHRvIGZpbmQgYSBjb21wc3BlYyBmb3IgdGhhdCBjb21tYW5kLiAgVGhpcyBhbGxvd3MgYSBzZXQgb2YKK2F0dGVtcHQgdG8gZmluZCBhIG5ldyBjb21wc3BlYyBmb3IgdGhhdCBjb21tYW5kLiAgVGhpcyBhbGxvd3MgYSBzZXQgb2YKIGNvbXBsZXRpb25zIHRvIGJlIGJ1aWx0IGR5bmFtaWNhbGx5IGFzIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCByYXRoZXIgdGhhbgogYmVpbmcgbG9hZGVkIGFsbCBhdCBvbmNlLgogCkBAIC0xOTMzLDE3ICsxOTYzLDYgQEAKIE5hbWVzIG9mIGFsbCBzaGVsbCB2YXJpYWJsZXMuICBNYXkgYWxzbyBiZSBzcGVjaWZpZWQgYXMgQG9wdGlvbnstdn0uCiBAZW5kIHRhYmxlCiAKLUBpdGVtIC1HIEB2YXJ7Z2xvYnBhdH0KLVRoZSBmaWxlbmFtZSBleHBhbnNpb24gcGF0dGVybiBAdmFye2dsb2JwYXR9IGlzIGV4cGFuZGVkIHRvIGdlbmVyYXRlCi10aGUgcG9zc2libGUgY29tcGxldGlvbnMuCi0KLUBpdGVtIC1XIEB2YXJ7d29yZGxpc3R9Ci1UaGUgQHZhcnt3b3JkbGlzdH0gaXMgc3BsaXQgdXNpbmcgdGhlIGNoYXJhY3RlcnMgaW4gdGhlCi1AZW52e0lGU30gc3BlY2lhbCB2YXJpYWJsZSBhcyBkZWxpbWl0ZXJzLCBhbmQgZWFjaCByZXN1bHRhbnQgd29yZAotaXMgZXhwYW5kZWQuCi1UaGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIHRoZSBtZW1iZXJzIG9mIHRoZSByZXN1bHRhbnQgbGlzdCB3aGljaAotbWF0Y2ggdGhlIHdvcmQgYmVpbmcgY29tcGxldGVkLgotCiBAaXRlbSAtQyBAdmFye2NvbW1hbmR9CiBAdmFye2NvbW1hbmR9IGlzIGV4ZWN1dGVkIGluIGEgc3Vic2hlbGwgZW52aXJvbm1lbnQsIGFuZCBpdHMgb3V0cHV0IGlzCiB1c2VkIGFzIHRoZSBwb3NzaWJsZSBjb21wbGV0aW9ucy4KQEAgLTE5NTQsMTMgKzE5NzMsOSBAQAogV2hlbiBpdCBmaW5pc2hlcywgdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSByZXRyaWV2ZWQgZnJvbSB0aGUgdmFsdWUKIG9mIHRoZSBAZW52e0NPTVBSRVBMWX0gYXJyYXkgdmFyaWFibGUuCiAKLUBpdGVtIC1YIEB2YXJ7ZmlsdGVycGF0fQotQHZhcntmaWx0ZXJwYXR9IGlzIGEgcGF0dGVybiBhcyB1c2VkIGZvciBmaWxlbmFtZSBleHBhbnNpb24uCi1JdCBpcyBhcHBsaWVkIHRvIHRoZSBsaXN0IG9mIHBvc3NpYmxlIGNvbXBsZXRpb25zIGdlbmVyYXRlZCBieSB0aGUKLXByZWNlZGluZyBvcHRpb25zIGFuZCBhcmd1bWVudHMsIGFuZCBlYWNoIGNvbXBsZXRpb24gbWF0Y2hpbmcKLUB2YXJ7ZmlsdGVycGF0fSBpcyByZW1vdmVkIGZyb20gdGhlIGxpc3QuCi1BIGxlYWRpbmcgQHNhbXB7IX0gaW4gQHZhcntmaWx0ZXJwYXR9IG5lZ2F0ZXMgdGhlIHBhdHRlcm47IGluIHRoaXMKLWNhc2UsIGFueSBjb21wbGV0aW9uIG5vdCBtYXRjaGluZyBAdmFye2ZpbHRlcnBhdH0gaXMgcmVtb3ZlZC4KK0BpdGVtIC1HIEB2YXJ7Z2xvYnBhdH0KK1RoZSBmaWxlbmFtZSBleHBhbnNpb24gcGF0dGVybiBAdmFye2dsb2JwYXR9IGlzIGV4cGFuZGVkIHRvIGdlbmVyYXRlCit0aGUgcG9zc2libGUgY29tcGxldGlvbnMuCiAKIEBpdGVtIC1QIEB2YXJ7cHJlZml4fQogQHZhcntwcmVmaXh9IGlzIGFkZGVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBwb3NzaWJsZSBjb21wbGV0aW9uCkBAIC0xOTY5LDYgKzE5ODQsMjEgQEAKIEBpdGVtIC1TIEB2YXJ7c3VmZml4fQogQHZhcntzdWZmaXh9IGlzIGFwcGVuZGVkIHRvIGVhY2ggcG9zc2libGUgY29tcGxldGlvbgogYWZ0ZXIgYWxsIG90aGVyIG9wdGlvbnMgaGF2ZSBiZWVuIGFwcGxpZWQuCisKK0BpdGVtIC1XIEB2YXJ7d29yZGxpc3R9CitUaGUgQHZhcnt3b3JkbGlzdH0gaXMgc3BsaXQgdXNpbmcgdGhlIGNoYXJhY3RlcnMgaW4gdGhlCitAZW52e0lGU30gc3BlY2lhbCB2YXJpYWJsZSBhcyBkZWxpbWl0ZXJzLCBhbmQgZWFjaCByZXN1bHRhbnQgd29yZAoraXMgZXhwYW5kZWQuCitUaGUgcG9zc2libGUgY29tcGxldGlvbnMgYXJlIHRoZSBtZW1iZXJzIG9mIHRoZSByZXN1bHRhbnQgbGlzdCB3aGljaAorbWF0Y2ggdGhlIHdvcmQgYmVpbmcgY29tcGxldGVkLgorCitAaXRlbSAtWCBAdmFye2ZpbHRlcnBhdH0KK0B2YXJ7ZmlsdGVycGF0fSBpcyBhIHBhdHRlcm4gYXMgdXNlZCBmb3IgZmlsZW5hbWUgZXhwYW5zaW9uLgorSXQgaXMgYXBwbGllZCB0byB0aGUgbGlzdCBvZiBwb3NzaWJsZSBjb21wbGV0aW9ucyBnZW5lcmF0ZWQgYnkgdGhlCitwcmVjZWRpbmcgb3B0aW9ucyBhbmQgYXJndW1lbnRzLCBhbmQgZWFjaCBjb21wbGV0aW9uIG1hdGNoaW5nCitAdmFye2ZpbHRlcnBhdH0gaXMgcmVtb3ZlZCBmcm9tIHRoZSBsaXN0LgorQSBsZWFkaW5nIEBzYW1weyF9IGluIEB2YXJ7ZmlsdGVycGF0fSBuZWdhdGVzIHRoZSBwYXR0ZXJuOyBpbiB0aGlzCitjYXNlLCBhbnkgY29tcGxldGlvbiBub3QgbWF0Y2hpbmcgQHZhcntmaWx0ZXJwYXR9IGlzIHJlbW92ZWQuCiBAZW5kIHRhYmxlCiAKIFRoZSByZXR1cm4gdmFsdWUgaXMgdHJ1ZSB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuIG9wdGlvbgpAQCAtMTk4Myw3ICsyMDEzLDcgQEAKIEBjb2Rle2NvbXBvcHR9IFstbyBAdmFye29wdGlvbn1dIFstREVdIFsrbyBAdmFye29wdGlvbn1dIFtAdmFye25hbWV9XQogQGVuZCBleGFtcGxlCiBNb2RpZnkgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIEB2YXJ7bmFtZX0gYWNjb3JkaW5nIHRvIHRoZQotQHZhcntvcHRpb259cywgb3IgZm9yIHRoZSBjdXJyZW50bHktZXhlY3V0aW9uIGNvbXBsZXRpb24gaWYgbm8gQHZhcntuYW1lfXMKK0B2YXJ7b3B0aW9ufXMsIG9yIGZvciB0aGUgY3VycmVudGx5LWV4ZWN1dGluZyBjb21wbGV0aW9uIGlmIG5vIEB2YXJ7bmFtZX1zCiBhcmUgc3VwcGxpZWQuCiBJZiBubyBAdmFye29wdGlvbn1zIGFyZSBnaXZlbiwgZGlzcGxheSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoCiBAdmFye25hbWV9IG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24uCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvZG9jL3JsdXNlcm1hbi50ZXhpIGIvbGliL3JlYWRsaW5lL2RvYy9ybHVzZXJtYW4udGV4aQppbmRleCA0OWQ5YTJjLi4zZDU0NTIwIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvZG9jL3JsdXNlcm1hbi50ZXhpCisrKyBiL2xpYi9yZWFkbGluZS9kb2Mvcmx1c2VybWFuLnRleGkKQEAgLTEyLDcgKzEyLDcgQEAKIGNvbnNpc3RlbmN5IG9mIHVzZXIgaW50ZXJmYWNlIGFjcm9zcyBkaXNjcmV0ZSBwcm9ncmFtcyB3aGljaCBwcm92aWRlCiBhIGNvbW1hbmQgbGluZSBpbnRlcmZhY2UuCiAKLUNvcHlyaWdodCBAY29weXJpZ2h0e30gMTk4OC0tMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KK0NvcHlyaWdodCBAY29weXJpZ2h0e30gMTk4OC0tMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIG1ha2UgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mCiB0aGlzIG1hbnVhbCBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZQpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2RvYy92ZXJzaW9uLnRleGkgYi9saWIvcmVhZGxpbmUvZG9jL3ZlcnNpb24udGV4aQppbmRleCA4MjNiM2JhLi4zZWUxYzEwIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvZG9jL3ZlcnNpb24udGV4aQorKysgYi9saWIvcmVhZGxpbmUvZG9jL3ZlcnNpb24udGV4aQpAQCAtMSwxMCArMSwxMCBAQAogQGlnbm9yZQotQ29weXJpZ2h0IChDKSAxOTg4LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIAorQ29weXJpZ2h0IChDKSAxOTg4LTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIAogQGVuZCBpZ25vcmUKIAotQHNldCBFRElUSU9OIDYuMQotQHNldCBWRVJTSU9OIDYuMQotQHNldCBVUERBVEVEIDkgT2N0b2JlciAyMDA5Ci1Ac2V0IFVQREFURUQtTU9OVEggT2N0b2JlciAyMDA5CitAc2V0IEVESVRJT04gNi4yCitAc2V0IFZFUlNJT04gNi4yCitAc2V0IFVQREFURUQgU2VwdGVtYmVyIDYgMjAxMAorQHNldCBVUERBVEVELU1PTlRIIFNlcHRlbWJlciAyMDEwCiAKLUBzZXQgTEFTVENIQU5HRSBGcmkgT2N0ICA5IDEyOjU3OjU4IEVEVCAyMDA5CitAc2V0IExBU1RDSEFOR0UgTW9uIFNlcCAgNiAyMjowNzoxMCBFRFQgMjAxMApkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2Z1bm1hcC5jIGIvbGliL3JlYWRsaW5lL2Z1bm1hcC5jCmluZGV4IGNjY2RkYjYuLjg2ZTM3NWYgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9mdW5tYXAuYworKysgYi9saWIvcmVhZGxpbmUvZnVubWFwLmMKQEAgLTEsNiArMSw2IEBACiAvKiBmdW5tYXAuYyAtLSBhdHRhY2ggbmFtZXMgdG8gZnVuY3Rpb25zLiAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDE5ODctMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIFJlYWRsaW5lIExpYnJhcnkgKFJlYWRsaW5lKSwgYSBsaWJyYXJ5CiAgICBmb3IgcmVhZGluZyBsaW5lcyBvZiB0ZXh0IHdpdGggaW50ZXJhY3RpdmUgaW5wdXQgYW5kIGhpc3RvcnkgZWRpdGluZy4gICAgICAKQEAgLTE0OCw2ICsxNDgsOCBAQAogICB7ICJ2aS1hcHBlbmQtbW9kZSIsIHJsX3ZpX2FwcGVuZF9tb2RlIH0sCiAgIHsgInZpLWFyZy1kaWdpdCIsIHJsX3ZpX2FyZ19kaWdpdCB9LAogICB7ICJ2aS1iYWNrLXRvLWluZGVudCIsIHJsX3ZpX2JhY2tfdG9faW5kZW50IH0sCisgIHsgInZpLWJhY2t3YXJkLWJpZ3dvcmQiLCBybF92aV9iV29yZCB9LAorICB7ICJ2aS1iYWNrd2FyZC13b3JkIiwgcmxfdmlfYndvcmQgfSwKICAgeyAidmktYldvcmQiLCBybF92aV9iV29yZCB9LAogICB7ICJ2aS1id29yZCIsIHJsX3ZpX2J3b3JkIH0sCiAgIHsgInZpLWNoYW5nZS1jYXNlIiwgcmxfdmlfY2hhbmdlX2Nhc2UgfSwKQEAgLTE2MCwxMiArMTYyLDE1IEBACiAgIHsgInZpLWRlbGV0ZS10byIsIHJsX3ZpX2RlbGV0ZV90byB9LAogICB7ICJ2aS1lV29yZCIsIHJsX3ZpX2VXb3JkIH0sCiAgIHsgInZpLWVkaXRpbmctbW9kZSIsIHJsX3ZpX2VkaXRpbmdfbW9kZSB9LAorICB7ICJ2aS1lbmQtYmlnd29yZCIsIHJsX3ZpX2VXb3JkIH0sCiAgIHsgInZpLWVuZC13b3JkIiwgcmxfdmlfZW5kX3dvcmQgfSwKICAgeyAidmktZW9mLW1heWJlIiwgcmxfdmlfZW9mX21heWJlIH0sCiAgIHsgInZpLWV3b3JkIiwgcmxfdmlfZXdvcmQgfSwKICAgeyAidmktZldvcmQiLCBybF92aV9mV29yZCB9LAogICB7ICJ2aS1mZXRjaC1oaXN0b3J5IiwgcmxfdmlfZmV0Y2hfaGlzdG9yeSB9LAogICB7ICJ2aS1maXJzdC1wcmludCIsIHJsX3ZpX2ZpcnN0X3ByaW50IH0sCisgIHsgInZpLWZvcndhcmQtYmlnd29yZCIsIHJsX3ZpX2ZXb3JkIH0sCisgIHsgInZpLWZvcndhcmQtd29yZCIsIHJsX3ZpX2Z3b3JkIH0sCiAgIHsgInZpLWZ3b3JkIiwgcmxfdmlfZndvcmQgfSwKICAgeyAidmktZ290by1tYXJrIiwgcmxfdmlfZ290b19tYXJrIH0sCiAgIHsgInZpLWluc2VydC1iZWciLCBybF92aV9pbnNlcnRfYmVnIH0sCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvaGlzdGV4cGFuZC5jIGIvbGliL3JlYWRsaW5lL2hpc3RleHBhbmQuYwppbmRleCA0MjQ5OGQyLi44ZmIzNzk4IDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvaGlzdGV4cGFuZC5jCisrKyBiL2xpYi9yZWFkbGluZS9oaXN0ZXhwYW5kLmMKQEAgLTEsNiArMSw2IEBACiAvKiBoaXN0ZXhwYW5kLmMgLS0gaGlzdG9yeSBleHBhbnNpb24uICovCiAKLS8qIENvcHlyaWdodCAoQykgMTk4OS0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTg5LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBjb250YWlucyB0aGUgR05VIEhpc3RvcnkgTGlicmFyeSAoSGlzdG9yeSksIGEgc2V0IG9mCiAgICByb3V0aW5lcyBmb3IgbWFuYWdpbmcgdGhlIHRleHQgb2YgcHJldmlvdXNseSB0eXBlZCBsaW5lcy4KQEAgLTI0NSw3ICsyNDUsNyBAQAogCiAjZGVmaW5lIEZBSUxfU0VBUkNIKCkgXAogICBkbyB7IFwKLSAgICBoaXN0b3J5X29mZnNldCA9IGhpc3RvcnlfbGVuZ3RoOyBmcmVlICh0ZW1wKSA7IHJldHVybiAoY2hhciAqKU5VTEw7IFwKKyAgICBoaXN0b3J5X29mZnNldCA9IGhpc3RvcnlfbGVuZ3RoOyB4ZnJlZSAodGVtcCkgOyByZXR1cm4gKGNoYXIgKilOVUxMOyBcCiAgIH0gd2hpbGUgKDApCiAKICAgLyogSWYgdGhlcmUgaXMgbm8gc2VhcmNoIHN0cmluZywgdHJ5IHRvIHVzZSB0aGUgcHJldmlvdXMgc2VhcmNoIHN0cmluZywKQEAgLTI1NCw3ICsyNTQsNyBAQAogICAgIHsKICAgICAgIGlmIChzZWFyY2hfc3RyaW5nKQogICAgICAgICB7Ci0gICAgICAgICAgZnJlZSAodGVtcCk7CisgICAgICAgICAgeGZyZWUgKHRlbXApOwogICAgICAgICAgIHRlbXAgPSBzYXZlc3RyaW5nIChzZWFyY2hfc3RyaW5nKTsKICAgICAgICAgfQogICAgICAgZWxzZQpAQCAtMjg1LDcgKzI4NSw3IEBACiAJICAgICAgc2VhcmNoX21hdGNoID0gaGlzdG9yeV9maW5kX3dvcmQgKGVudHJ5LT5saW5lLCBsb2NhbF9pbmRleCk7CiAJICAgIH0KIAkgIGVsc2UKLQkgICAgZnJlZSAodGVtcCk7CisJICAgIHhmcmVlICh0ZW1wKTsKIAogCSAgcmV0dXJuIChlbnRyeS0+bGluZSk7CiAJfQpAQCAtNTA4LDcgKzUwOCw3IEBACiAJfQogICAgIH0KICAgbmV3W2pdID0gJ1wwJzsKLSAgZnJlZSAoc3Vic3RfcmhzKTsKKyAgeGZyZWUgKHN1YnN0X3Jocyk7CiAgIHN1YnN0X3JocyA9IG5ldzsKICAgc3Vic3RfcmhzX2xlbiA9IGo7CiB9CkBAIC01ODUsNyArNTg1LDcgQEAKICAgaWYgKGV2ZW50ID09IDApCiAgICAgewogICAgICAgKnJldF9zdHJpbmcgPSBoaXN0X2Vycm9yIChzdHJpbmcsIHN0YXJ0LCBpLCBFVkVOVF9OT1RfRk9VTkQpOwotICAgICAgZnJlZSAocmVzdWx0KTsKKyAgICAgIHhmcmVlIChyZXN1bHQpOwogICAgICAgcmV0dXJuICgtMSk7CiAgICAgfQogCkBAIC01OTksNyArNTk5LDcgQEAKICAgaWYgKHdvcmRfc3BlYyA9PSAoY2hhciAqKSZlcnJvcl9wb2ludGVyKQogICAgIHsKICAgICAgICpyZXRfc3RyaW5nID0gaGlzdF9lcnJvciAoc3RyaW5nLCBzdGFydGluZ19pbmRleCwgaSwgQkFEX1dPUkRfU1BFQyk7Ci0gICAgICBmcmVlIChyZXN1bHQpOworICAgICAgeGZyZWUgKHJlc3VsdCk7CiAgICAgICByZXR1cm4gKC0xKTsKICAgICB9CiAKQEAgLTYzMiw4ICs2MzIsOCBAQAogCXsKIAlkZWZhdWx0OgogCSAgKnJldF9zdHJpbmcgPSBoaXN0X2Vycm9yIChzdHJpbmcsIGkrMSwgaSsyLCBCQURfTU9ESUZJRVIpOwotCSAgZnJlZSAocmVzdWx0KTsKLQkgIGZyZWUgKHRlbXApOworCSAgeGZyZWUgKHJlc3VsdCk7CisJICB4ZnJlZSAodGVtcCk7CiAJICByZXR1cm4gLTE7CiAKIAljYXNlICdxJzoKQEAgLTY1OCw3ICs2NTgsNyBAQAogCSAgICB7CiAJICAgICAgdHN0cisrOwogCSAgICAgIHQgPSBzYXZlc3RyaW5nICh0c3RyKTsKLQkgICAgICBmcmVlICh0ZW1wKTsKKwkgICAgICB4ZnJlZSAodGVtcCk7CiAJICAgICAgdGVtcCA9IHQ7CiAJICAgIH0KIAkgIGJyZWFrOwpAQCAtNjgzLDcgKzY4Myw3IEBACiAJICBpZiAodHN0cikKIAkgICAgewogCSAgICAgIHQgPSBzYXZlc3RyaW5nICh0c3RyKTsKLQkgICAgICBmcmVlICh0ZW1wKTsKKwkgICAgICB4ZnJlZSAodGVtcCk7CiAJICAgICAgdGVtcCA9IHQ7CiAJICAgIH0KIAkgIGJyZWFrOwpAQCAtNzU5LDggKzc1OSw4IEBACiAJICAgIGlmIChzdWJzdF9saHNfbGVuID09IDApCiAJICAgICAgewogCQkqcmV0X3N0cmluZyA9IGhpc3RfZXJyb3IgKHN0cmluZywgc3RhcnRpbmdfaW5kZXgsIGksIE5PX1BSRVZfU1VCU1QpOwotCQlmcmVlIChyZXN1bHQpOwotCQlmcmVlICh0ZW1wKTsKKwkJeGZyZWUgKHJlc3VsdCk7CisJCXhmcmVlICh0ZW1wKTsKIAkJcmV0dXJuIC0xOwogCSAgICAgIH0KIApAQCAtNzY5LDggKzc2OSw4IEBACiAJICAgIGlmIChzdWJzdF9saHNfbGVuID4gbF90ZW1wKQogCSAgICAgIHsKIAkJKnJldF9zdHJpbmcgPSBoaXN0X2Vycm9yIChzdHJpbmcsIHN0YXJ0aW5nX2luZGV4LCBpLCBTVUJTVF9GQUlMRUQpOwotCQlmcmVlIChyZXN1bHQpOwotCQlmcmVlICh0ZW1wKTsKKwkJeGZyZWUgKHJlc3VsdCk7CisJCXhmcmVlICh0ZW1wKTsKIAkJcmV0dXJuICgtMSk7CiAJICAgICAgfQogCkBAIC04MTEsNyArODExLDcgQEAKIAkJCSAgICAgdGVtcCArIHNpICsgc3Vic3RfbGhzX2xlbiwKIAkJCSAgICAgbF90ZW1wIC0gKHNpICsgc3Vic3RfbGhzX2xlbikpOwogCQkgICAgbmV3X2V2ZW50W2xlbl0gPSAnXDAnOwotCQkgICAgZnJlZSAodGVtcCk7CisJCSAgICB4ZnJlZSAodGVtcCk7CiAJCSAgICB0ZW1wID0gbmV3X2V2ZW50OwogCiAJCSAgICBmYWlsZWQgPSAwOwpAQCAtODQ3LDggKzg0Nyw4IEBACiAJICAgICAgY29udGludWU7CQkvKiBkb24ndCB3YW50IHRvIGluY3JlbWVudCBpICovCiAKIAkgICAgKnJldF9zdHJpbmcgPSBoaXN0X2Vycm9yIChzdHJpbmcsIHN0YXJ0aW5nX2luZGV4LCBpLCBTVUJTVF9GQUlMRUQpOwotCSAgICBmcmVlIChyZXN1bHQpOwotCSAgICBmcmVlICh0ZW1wKTsKKwkgICAgeGZyZWUgKHJlc3VsdCk7CisJICAgIHhmcmVlICh0ZW1wKTsKIAkgICAgcmV0dXJuICgtMSk7CiAJICB9CiAJfQpAQCAtODY5LDcgKzg2OSw3IEBACiAgICAgICBlbHNlCiAJeCA9IHNhdmVzdHJpbmcgKHRlbXApOwogCi0gICAgICBmcmVlICh0ZW1wKTsKKyAgICAgIHhmcmVlICh0ZW1wKTsKICAgICAgIHRlbXAgPSB4OwogICAgIH0KIApAQCAtODc3LDcgKzg3Nyw3IEBACiAgIGlmIChuID49IHJlc3VsdF9sZW4pCiAgICAgcmVzdWx0ID0gKGNoYXIgKil4cmVhbGxvYyAocmVzdWx0LCBuICsgMik7CiAgIHN0cmNweSAocmVzdWx0LCB0ZW1wKTsKLSAgZnJlZSAodGVtcCk7CisgIHhmcmVlICh0ZW1wKTsKIAogICAqZW5kX2luZGV4X3B0ciA9IGk7CiAgICpyZXRfc3RyaW5nID0gcmVzdWx0OwpAQCAtMTA2NCw3ICsxMDY0LDcgQEAKIAkgIAogICAgICAgaWYgKHN0cmluZ1tpXSAhPSBoaXN0b3J5X2V4cGFuc2lvbl9jaGFyKQogCXsKLQkgIGZyZWUgKHJlc3VsdCk7CisJICB4ZnJlZSAocmVzdWx0KTsKIAkgICpvdXRwdXQgPSBzYXZlc3RyaW5nIChzdHJpbmcpOwogCSAgcmV0dXJuICgwKTsKIAl9CkBAIC0xMTQ0LDcgKzExNDQsNyBAQAogCQlzdHJuY3B5ICh0ZW1wLCBzdHJpbmcgKyBxdW90ZSwgc2xlbik7CiAJCXRlbXBbc2xlbiAtIDFdID0gJ1wwJzsKIAkJQUREX1NUUklORyAodGVtcCk7Ci0JCWZyZWUgKHRlbXApOworCQl4ZnJlZSAodGVtcCk7CiAJICAgICAgfQogCSAgICBlbHNlCiAJICAgICAgQUREX0NIQVIgKHN0cmluZ1tpXSk7CkBAIC0xMTU3LDcgKzExNTcsNyBAQAogCSAgICAgIHRlbXAgPSAoY2hhciAqKXhtYWxsb2MgKGwgLSBpICsgMSk7CiAJICAgICAgc3RyY3B5ICh0ZW1wLCBzdHJpbmcgKyBpKTsKIAkgICAgICBBRERfU1RSSU5HICh0ZW1wKTsKLQkgICAgICBmcmVlICh0ZW1wKTsKKwkgICAgICB4ZnJlZSAodGVtcCk7CiAJICAgICAgaSA9IGw7CiAJICAgIH0KIAkgIGVsc2UKQEAgLTExOTAsNyArMTE5MCw3IEBACiAJCSAgdGVtcCA9IChjaGFyICopeG1hbGxvYyAoMSArIHN0cmxlbiAocmVzdWx0KSk7CiAJCSAgc3RyY3B5ICh0ZW1wLCByZXN1bHQpOwogCQkgIEFERF9TVFJJTkcgKHRlbXApOwotCQkgIGZyZWUgKHRlbXApOworCQkgIHhmcmVlICh0ZW1wKTsKIAkJfQogCSAgICAgIGkrKzsKIAkgICAgICBicmVhazsKQEAgLTEyMDEsOSArMTIwMSw5IEBACiAJICBpZiAociA8IDApCiAJICAgIHsKIAkgICAgICAqb3V0cHV0ID0gdGVtcDsKLQkgICAgICBmcmVlIChyZXN1bHQpOworCSAgICAgIHhmcmVlIChyZXN1bHQpOwogCSAgICAgIGlmIChzdHJpbmcgIT0gaHN0cmluZykKLQkJZnJlZSAoc3RyaW5nKTsKKwkJeGZyZWUgKHN0cmluZyk7CiAJICAgICAgcmV0dXJuIC0xOwogCSAgICB9CiAJICBlbHNlCkBAIC0xMjEzLDcgKzEyMTMsNyBAQAogCQkgIG1vZGlmaWVkKys7CiAJCSAgaWYgKCp0ZW1wKQogCQkgICAgQUREX1NUUklORyAodGVtcCk7Ci0JCSAgZnJlZSAodGVtcCk7CisJCSAgeGZyZWUgKHRlbXApOwogCQl9CiAJICAgICAgb25seV9wcmludGluZyA9IHIgPT0gMTsKIAkgICAgICBpID0gZWluZGV4OwpAQCAtMTIyNCw3ICsxMjI0LDcgQEAKIAogICAqb3V0cHV0ID0gcmVzdWx0OwogICBpZiAoc3RyaW5nICE9IGhzdHJpbmcpCi0gICAgZnJlZSAoc3RyaW5nKTsKKyAgICB4ZnJlZSAoc3RyaW5nKTsKIAogICBpZiAob25seV9wcmludGluZykKICAgICB7CkBAIC0xNDA1LDggKzE0MDUsOCBAQAogICAgIH0KIAogICBmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspCi0gICAgZnJlZSAobGlzdFtpXSk7Ci0gIGZyZWUgKGxpc3QpOworICAgIHhmcmVlIChsaXN0W2ldKTsKKyAgeGZyZWUgKGxpc3QpOwogCiAgIHJldHVybiAocmVzdWx0KTsKIH0KQEAgLTE0MTcsMTAgKzE0MTcsMTAgQEAKICAgICAgaW50IGluZDsKIHsKICAgcmVnaXN0ZXIgaW50IGk7Ci0gIGludCBkZWxpbWl0ZXI7CisgIGludCBkZWxpbWl0ZXIsIG5lc3RkZWxpbSwgZGVsaW1vcGVuOwogCiAgIGkgPSBpbmQ7Ci0gIGRlbGltaXRlciA9IDA7CisgIGRlbGltaXRlciA9IG5lc3RkZWxpbSA9IDA7CiAKICAgaWYgKG1lbWJlciAoc3RyaW5nW2ldLCAiKClcbiIpKQogICAgIHsKQEAgLTE0NDIsMTMgKzE0NDIsMjEgQEAKIAkgIHJldHVybiBpOwogCX0KICAgICAgIGVsc2UgaWYgKChwZWVrID09ICcmJyAmJiAoc3RyaW5nW2ldID09ICc+JyB8fCBzdHJpbmdbaV0gPT0gJzwnKSkgfHwKLQkJKHBlZWsgPT0gJz4nICYmIHN0cmluZ1tpXSA9PSAnJicpIHx8Ci0JCShwZWVrID09ICcoJyAmJiAoc3RyaW5nW2ldID09ICc+JyB8fCBzdHJpbmdbaV0gPT0gJzwnKSkgfHwgLyogKSAqLwotCQkocGVlayA9PSAnKCcgJiYgc3RyaW5nW2ldID09ICckJykpIC8qICkgKi8KKwkJKHBlZWsgPT0gJz4nICYmIHN0cmluZ1tpXSA9PSAnJicpKQogCXsKIAkgIGkgKz0gMjsKIAkgIHJldHVybiBpOwogCX0KKyAgICAgIC8qIFhYWCAtIHNlcGFyYXRlZCBvdXQgZm9yIGxhdGVyIC0tIGJhc2gtNC4yICovCisgICAgICBlbHNlIGlmICgocGVlayA9PSAnKCcgJiYgKHN0cmluZ1tpXSA9PSAnPicgfHwgc3RyaW5nW2ldID09ICc8JykpIHx8IC8qICkgKi8KKwkgICAgICAgKHBlZWsgPT0gJygnICYmIHN0cmluZ1tpXSA9PSAnJCcpKSAvKikqLworCXsKKwkgIGkgKz0gMjsKKwkgIGRlbGltb3BlbiA9ICcoJzsKKwkgIGRlbGltaXRlciA9ICcpJzsKKwkgIG5lc3RkZWxpbSA9IDE7CisJICBnb3RvIGdldF93b3JkOworCX0KICNpZiAwCiAgICAgICBlbHNlIGlmIChwZWVrID09ICdcJycgJiYgc3RyaW5nW2ldID09ICckJykKICAgICAgICAgewpAQCAtMTQ2NCw5ICsxNDcyLDI1IEBACiAJfQogICAgIH0KIAorICAvKiBzYW1lIGNvZGUgYWxzbyB1c2VkIGZvciAkKC4uLikvPCguLi4pLz4oLi4uKSBhYm92ZSAqLworICBpZiAobWVtYmVyIChzdHJpbmdbaV0sICIhQD8rKiIpKQorICAgIHsKKyAgICAgIGludCBwZWVrID0gc3RyaW5nW2kgKyAxXTsKKworICAgICAgaWYgKHBlZWsgPT0gJygnKQkJLyopKi8KKwl7CisJICAvKiBTaGVsbCBleHRlbmRlZCBnbG9iYmluZyBwYXR0ZXJucyAqLworCSAgaSArPSAyOworCSAgZGVsaW1vcGVuID0gJygnOworCSAgZGVsaW1pdGVyID0gJyknOwkvKiBYWFggLSBub3QgcGVyZmVjdCAqLworCSAgbmVzdGRlbGltID0gMTsKKwl9CisgICAgfQorCitnZXRfd29yZDoKICAgLyogR2V0IHdvcmQgZnJvbSBzdHJpbmcgKyBpOyAqLwogCi0gIGlmIChtZW1iZXIgKHN0cmluZ1tpXSwgSElTVE9SWV9RVU9URV9DSEFSQUNURVJTKSkKKyAgaWYgKGRlbGltaXRlciA9PSAwICYmIG1lbWJlciAoc3RyaW5nW2ldLCBISVNUT1JZX1FVT1RFX0NIQVJBQ1RFUlMpKQogICAgIGRlbGltaXRlciA9IHN0cmluZ1tpKytdOwogCiAgIGZvciAoOyBzdHJpbmdbaV07IGkrKykKQEAgLTE0ODQsMTYgKzE1MDgsMzEgQEAKIAkgIGNvbnRpbnVlOwogCX0KIAorICAgICAgLyogZGVsaW1pdGVyIG11c3QgYmUgc2V0IGFuZCBzZXQgdG8gc29tZXRoaW5nIG90aGVyIHRoYW4gYSBxdW90ZSBpZgorCSBuZXN0ZGVsaW0gaXMgc2V0LCBzbyB0aGVzZSB0ZXN0cyBhcmUgc2FmZS4gKi8KKyAgICAgIGlmIChuZXN0ZGVsaW0gJiYgc3RyaW5nW2ldID09IGRlbGltb3BlbikKKwl7CisJICBuZXN0ZGVsaW0rKzsKKwkgIGNvbnRpbnVlOworCX0KKyAgICAgIGlmIChuZXN0ZGVsaW0gJiYgc3RyaW5nW2ldID09IGRlbGltaXRlcikKKwl7CisJICBuZXN0ZGVsaW0tLTsKKwkgIGlmIChuZXN0ZGVsaW0gPT0gMCkKKwkgICAgZGVsaW1pdGVyID0gMDsKKwkgIGNvbnRpbnVlOworCX0KKyAgICAgIAogICAgICAgaWYgKGRlbGltaXRlciAmJiBzdHJpbmdbaV0gPT0gZGVsaW1pdGVyKQogCXsKIAkgIGRlbGltaXRlciA9IDA7CiAJICBjb250aW51ZTsKIAl9CiAKLSAgICAgIGlmICghZGVsaW1pdGVyICYmIChtZW1iZXIgKHN0cmluZ1tpXSwgaGlzdG9yeV93b3JkX2RlbGltaXRlcnMpKSkKKyAgICAgIGlmIChkZWxpbWl0ZXIgPT0gMCAmJiAobWVtYmVyIChzdHJpbmdbaV0sIGhpc3Rvcnlfd29yZF9kZWxpbWl0ZXJzKSkpCiAJYnJlYWs7CiAKLSAgICAgIGlmICghZGVsaW1pdGVyICYmIG1lbWJlciAoc3RyaW5nW2ldLCBISVNUT1JZX1FVT1RFX0NIQVJBQ1RFUlMpKQorICAgICAgaWYgKGRlbGltaXRlciA9PSAwICYmIG1lbWJlciAoc3RyaW5nW2ldLCBISVNUT1JZX1FVT1RFX0NIQVJBQ1RFUlMpKQogCWRlbGltaXRlciA9IHN0cmluZ1tpXTsKICAgICB9CiAKQEAgLTE1OTAsNyArMTYyOSw3IEBACiAgIHJlZ2lzdGVyIGludCBpOwogCiAgIGZvciAoaSA9IHN0YXJ0OyB3b3Jkc1tpXTsgaSsrKQotICAgIGZyZWUgKHdvcmRzW2ldKTsKKyAgICB4ZnJlZSAod29yZHNbaV0pOwogfQogCiAvKiBGaW5kIGFuZCByZXR1cm4gdGhlIHdvcmQgd2hpY2ggY29udGFpbnMgdGhlIGNoYXJhY3RlciBhdCBpbmRleCBJTkQKQEAgLTE2MTQsOCArMTY1Myw4IEBACiAgICAgfQogICBzID0gd29yZHNbd2luZF07CiAgIGZvciAoaSA9IDA7IGkgPCB3aW5kOyBpKyspCi0gICAgZnJlZSAod29yZHNbaV0pOworICAgIHhmcmVlICh3b3Jkc1tpXSk7CiAgIGZyZWV3b3JkcyAod29yZHMsIHdpbmQgKyAxKTsKLSAgZnJlZSAod29yZHMpOworICB4ZnJlZSAod29yZHMpOwogICByZXR1cm4gczsKIH0KZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9oaXN0ZmlsZS5jIGIvbGliL3JlYWRsaW5lL2hpc3RmaWxlLmMKaW5kZXggYTc1ZmMxNi4uMzBhNjE4MiAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL2hpc3RmaWxlLmMKKysrIGIvbGliL3JlYWRsaW5lL2hpc3RmaWxlLmMKQEAgLTEsNiArMSw2IEBACiAvKiBoaXN0ZmlsZS5jIC0gZnVuY3Rpb25zIHRvIG1hbmlwdWxhdGUgdGhlIGhpc3RvcnkgZmlsZS4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTg5LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5ODktMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBHTlUgSGlzdG9yeSBMaWJyYXJ5IChIaXN0b3J5KSwgYSBzZXQgb2YKICAgIHJvdXRpbmVzIGZvciBtYW5hZ2luZyB0aGUgdGV4dCBvZiBwcmV2aW91c2x5IHR5cGVkIGxpbmVzLgpAQCAtMTI2LDggKzEyNiwxMiBAQAogCiAgIGlmIChob21lID09IDApCiAgICAgeworI2lmIDAKICAgICAgIGhvbWUgPSAiLiI7CiAgICAgICBob21lX2xlbiA9IDE7CisjZWxzZQorICAgICAgcmV0dXJuIChOVUxMKTsKKyNlbmRpZgogICAgIH0KICAgZWxzZQogICAgIGhvbWVfbGVuID0gc3RybGVuIChob21lKTsKQEAgLTE3OSw3ICsxODMsNyBAQAogCiAgIGJ1ZmZlciA9IGxhc3RfdHMgPSAoY2hhciAqKU5VTEw7CiAgIGlucHV0ID0gaGlzdG9yeV9maWxlbmFtZSAoZmlsZW5hbWUpOwotICBmaWxlID0gb3BlbiAoaW5wdXQsIE9fUkRPTkxZfE9fQklOQVJZLCAwNjY2KTsKKyAgZmlsZSA9IGlucHV0ID8gb3BlbiAoaW5wdXQsIE9fUkRPTkxZfE9fQklOQVJZLCAwNjY2KSA6IC0xOwogCiAgIGlmICgoZmlsZSA8IDApIHx8IChmc3RhdCAoZmlsZSwgJmZpbmZvKSA9PSAtMSkpCiAgICAgZ290byBlcnJvcl9hbmRfZXhpdDsKQEAgLTMxNCw3ICszMTgsNyBAQAogCiAgIGJ1ZmZlciA9IChjaGFyICopTlVMTDsKICAgZmlsZW5hbWUgPSBoaXN0b3J5X2ZpbGVuYW1lIChmbmFtZSk7Ci0gIGZpbGUgPSBvcGVuIChmaWxlbmFtZSwgT19SRE9OTFl8T19CSU5BUlksIDA2NjYpOworICBmaWxlID0gZmlsZW5hbWUgPyBvcGVuIChmaWxlbmFtZSwgT19SRE9OTFl8T19CSU5BUlksIDA2NjYpIDogLTE7CiAgIHJ2ID0gMDsKIAogICAvKiBEb24ndCB0cnkgdG8gdHJ1bmNhdGUgbm9uLXJlZ3VsYXIgZmlsZXMuICovCkBAIC00MTMsNyArNDE3LDcgQEAKIAogICBGUkVFIChidWZmZXIpOwogCi0gIGZyZWUgKGZpbGVuYW1lKTsKKyAgeGZyZWUgKGZpbGVuYW1lKTsKICAgcmV0dXJuIHJ2OwogfQogCkBAIC00MzYsOSArNDQwLDEwIEBACiAgIG1vZGUgPSBvdmVyd3JpdGUgPyBPX1dST05MWXxPX0NSRUFUfE9fVFJVTkN8T19CSU5BUlkgOiBPX1dST05MWXxPX0FQUEVORHxPX0JJTkFSWTsKICNlbmRpZgogICBvdXRwdXQgPSBoaXN0b3J5X2ZpbGVuYW1lIChmaWxlbmFtZSk7CisgIGZpbGUgPSBvdXRwdXQgPyBvcGVuIChvdXRwdXQsIG1vZGUsIDA2MDApIDogLTE7CiAgIHJ2ID0gMDsKIAotICBpZiAoKGZpbGUgPSBvcGVuIChvdXRwdXQsIG1vZGUsIDA2MDApKSA9PSAtMSkKKyAgaWYgKGZpbGUgPT0gLTEpCiAgICAgewogICAgICAgRlJFRSAob3V0cHV0KTsKICAgICAgIHJldHVybiAoZXJybm8pOwpAQCAtNTE1LDcgKzUyMCw3IEBACiAjZWxzZQogICAgIGlmICh3cml0ZSAoZmlsZSwgYnVmZmVyLCBidWZmZXJfc2l6ZSkgPCAwKQogICAgICAgcnYgPSBlcnJubzsKLSAgICBmcmVlIChidWZmZXIpOworICAgIHhmcmVlIChidWZmZXIpOwogI2VuZGlmCiAgIH0KIApkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2hpc3RvcnkuYyBiL2xpYi9yZWFkbGluZS9oaXN0b3J5LmMKaW5kZXggOGU2MTNiYi4uZDc4OTRjZiAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL2hpc3RvcnkuYworKysgYi9saWIvcmVhZGxpbmUvaGlzdG9yeS5jCkBAIC0zMzgsNyArMzM4LDcgQEAKICAgRlJFRSAoaGlzdC0+bGluZSk7CiAgIEZSRUUgKGhpc3QtPnRpbWVzdGFtcCk7CiAgIHggPSBoaXN0LT5kYXRhOwotICBmcmVlIChoaXN0KTsKKyAgeGZyZWUgKGhpc3QpOwogICByZXR1cm4gKHgpOwogfQogCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvaW5wdXQuYyBiL2xpYi9yZWFkbGluZS9pbnB1dC5jCmluZGV4IGI1ODc2ZGEuLjdjNzRjOTkgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9pbnB1dC5jCisrKyBiL2xpYi9yZWFkbGluZS9pbnB1dC5jCkBAIC0xLDYgKzEsNiBAQAogLyogaW5wdXQuYyAtLSBjaGFyYWN0ZXIgaW5wdXQgZnVuY3Rpb25zIGZvciByZWFkbGluZS4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTk0LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5OTQtMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBSZWFkbGluZSBMaWJyYXJ5IChSZWFkbGluZSksIGEgbGlicmFyeQogICAgZm9yIHJlYWRpbmcgbGluZXMgb2YgdGV4dCB3aXRoIGludGVyYWN0aXZlIGlucHV0IGFuZCBoaXN0b3J5IGVkaXRpbmcuICAgICAgCkBAIC00MjcsMTcgKzQyNywxOSBAQAogICAgICAgLyogSWYgdGhlIHVzZXIgaGFzIGFuIGV2ZW50IGZ1bmN0aW9uLCB0aGVuIGNhbGwgaXQgcGVyaW9kaWNhbGx5LiAqLwogICAgICAgaWYgKHJsX2V2ZW50X2hvb2spCiAJewotCSAgd2hpbGUgKHJsX2V2ZW50X2hvb2sgJiYgcmxfZ2V0X2NoYXIgKCZjKSA9PSAwKQorCSAgd2hpbGUgKHJsX2V2ZW50X2hvb2spCiAJICAgIHsKLQkgICAgICAoKnJsX2V2ZW50X2hvb2spICgpOwotCSAgICAgIFJMX0NIRUNLX1NJR05BTFMgKCk7Ci0JICAgICAgaWYgKHJsX2RvbmUpCQkvKiBYWFggLSBleHBlcmltZW50YWwgKi8KLQkJcmV0dXJuICgnXG4nKTsKIAkgICAgICBpZiAocmxfZ2F0aGVyX3R5aSAoKSA8IDApCS8qIFhYWCAtIEVJTyAqLwogCQl7CiAJCSAgcmxfZG9uZSA9IDE7CiAJCSAgcmV0dXJuICgnXG4nKTsKIAkJfQorCSAgICAgIFJMX0NIRUNLX1NJR05BTFMgKCk7CisJICAgICAgaWYgKHJsX2dldF9jaGFyICgmYykgIT0gMCkKKwkJYnJlYWs7CisJICAgICAgaWYgKHJsX2RvbmUpCQkvKiBYWFggLSBleHBlcmltZW50YWwgKi8KKwkJcmV0dXJuICgnXG4nKTsKKwkgICAgICAoKnJsX2V2ZW50X2hvb2spICgpOwogCSAgICB9CiAJfQogICAgICAgZWxzZQpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL2lzZWFyY2guYyBiL2xpYi9yZWFkbGluZS9pc2VhcmNoLmMKaW5kZXggZjNmNDZhNy4uNzEyYjllYSAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL2lzZWFyY2guYworKysgYi9saWIvcmVhZGxpbmUvaXNlYXJjaC5jCkBAIC0xMDQsNiArMTA0LDkgQEAKIAogICBjeHQtPnNhdmVfdW5kb19saXN0ID0gMDsKIAorICBjeHQtPmtleW1hcCA9IF9ybF9rZXltYXA7CisgIGN4dC0+b2tleW1hcCA9IF9ybF9rZXltYXA7CisKICAgY3h0LT5oaXN0b3J5X3BvcyA9IDA7CiAgIGN4dC0+ZGlyZWN0aW9uID0gMDsKIApAQCAtMzM2LDEwICszMzksMjIgQEAKICAgICAgIHJldHVybiAtMTsKICAgICB9CiAKLSAgLyogVHJhbnNsYXRlIHRoZSBrZXlzIHdlIGRvIHNvbWV0aGluZyB3aXRoIHRvIG9wY29kZXMuICovCi0gIGlmIChjID49IDAgJiYgX3JsX2tleW1hcFtjXS50eXBlID09IElTRlVOQykKKyAgLyogSWYgd2UgYXJlIG1vdmluZyBpbnRvIGEgbmV3IGtleW1hcCwgbW9kaWZ5IGN4dC0+a2V5bWFwIGFuZCBnbyBvbi4KKyAgICAgVGhpcyBjYW4gYmUgYSBwcm9ibGVtIGlmIGMgPT0gRVNDIGFuZCB3ZSB3YW50IHRvIHRlcm1pbmF0ZSB0aGUKKyAgICAgaW5jcmVtZW50YWwgc2VhcmNoLCBzbyB3ZSBjaGVjayAqLworICBpZiAoYyA+PSAwICYmIGN4dC0+a2V5bWFwW2NdLnR5cGUgPT0gSVNLTUFQICYmIHN0cmNociAoY3h0LT5zZWFyY2hfdGVybWluYXRvcnMsIGN4dC0+bGFzdGMpID09IDApCiAgICAgewotICAgICAgZiA9IF9ybF9rZXltYXBbY10uZnVuY3Rpb247CisgICAgICBjeHQtPmtleW1hcCA9IEZVTkNUSU9OX1RPX0tFWU1BUCAoY3h0LT5rZXltYXAsIGMpOworICAgICAgY3h0LT5zZmxhZ3MgfD0gU0ZfQ0hHS01BUDsKKyAgICAgIC8qIFhYWCAtIHdlIHNob3VsZCBwcm9iYWJseSBzYXZlIHRoaXMgc2VxdWVuY2UsIHNvIHdlIGNhbiBkbworCSBzb21ldGhpbmcgdXNlZnVsIGlmIHRoaXMgZG9lc24ndCBlbmQgdXAgbWFwcGluZyB0byBhIGNvbW1hbmQuICovCisgICAgICByZXR1cm4gMTsKKyAgICB9CisKKyAgLyogVHJhbnNsYXRlIHRoZSBrZXlzIHdlIGRvIHNvbWV0aGluZyB3aXRoIHRvIG9wY29kZXMuICovCisgIGlmIChjID49IDAgJiYgY3h0LT5rZXltYXBbY10udHlwZSA9PSBJU0ZVTkMpCisgICAgeworICAgICAgZiA9IGN4dC0+a2V5bWFwW2NdLmZ1bmN0aW9uOwogCiAgICAgICBpZiAoZiA9PSBybF9yZXZlcnNlX3NlYXJjaF9oaXN0b3J5KQogCWN4dC0+bGFzdGMgPSAoY3h0LT5zZmxhZ3MgJiBTRl9SRVZFUlNFKSA/IC0xIDogLTI7CkBAIC0zNDcsMTkgKzM2MiwyNyBAQAogCWN4dC0+bGFzdGMgPSAoY3h0LT5zZmxhZ3MgJiBTRl9SRVZFUlNFKSA/IC0yIDogLTE7CiAgICAgICBlbHNlIGlmIChmID09IHJsX3J1Ym91dCkKIAljeHQtPmxhc3RjID0gLTM7Ci0gICAgICBlbHNlIGlmIChjID09IENUUkwgKCdHJykpCisgICAgICBlbHNlIGlmIChjID09IENUUkwgKCdHJykgfHwgZiA9PSBybF9hYm9ydCkKIAljeHQtPmxhc3RjID0gLTQ7Ci0gICAgICBlbHNlIGlmIChjID09IENUUkwgKCdXJykpCS8qIFhYWCAqLworICAgICAgZWxzZSBpZiAoYyA9PSBDVFJMICgnVycpIHx8IGYgPT0gcmxfdW5peF93b3JkX3J1Ym91dCkJLyogWFhYICovCiAJY3h0LT5sYXN0YyA9IC01OwotICAgICAgZWxzZSBpZiAoYyA9PSBDVFJMICgnWScpKQkvKiBYWFggKi8KKyAgICAgIGVsc2UgaWYgKGMgPT0gQ1RSTCAoJ1knKSB8fCBmID09IHJsX3lhbmspCS8qIFhYWCAqLwogCWN4dC0+bGFzdGMgPSAtNjsKICAgICB9CiAKKyAgLyogSWYgd2UgY2hhbmdlZCB0aGUga2V5bWFwIGVhcmxpZXIgd2hpbGUgdHJhbnNsYXRpbmcgYSBrZXkgc2VxdWVuY2UgaW50bworICAgICBhIGNvbW1hbmQsIHJlc3RvcmUgaXQgbm93IHRoYXQgd2UndmUgc3VjY2VlZGVkLiAqLworICBpZiAoY3h0LT5zZmxhZ3MgJiBTRl9DSEdLTUFQKQorICAgIHsKKyAgICAgIGN4dC0+a2V5bWFwID0gY3h0LT5va2V5bWFwOworICAgICAgY3h0LT5zZmxhZ3MgJj0gflNGX0NIR0tNQVA7CisgICAgfQorCiAgIC8qIFRoZSBjaGFyYWN0ZXJzIGluIGlzZWFyY2hfdGVybWluYXRvcnMgKHNldCBmcm9tIHRoZSB1c2VyLXNldHRhYmxlCiAgICAgIHZhcmlhYmxlIGlzZWFyY2gtdGVybWluYXRvcnMpIGFyZSB1c2VkIHRvIHRlcm1pbmF0ZSB0aGUgc2VhcmNoIGJ1dAogICAgICBub3Qgc3Vic2VxdWVudGx5IGV4ZWN1dGUgdGhlIGNoYXJhY3RlciBhcyBhIGNvbW1hbmQuICBUaGUgZGVmYXVsdAogICAgICB2YWx1ZSBpcyAiXDAzM1wwMTIiIChFU0MgYW5kIEMtSikuICovCi0gIGlmIChzdHJjaHIgKGN4dC0+c2VhcmNoX3Rlcm1pbmF0b3JzLCBjeHQtPmxhc3RjKSkKKyAgaWYgKGN4dC0+bGFzdGMgPiAwICYmIHN0cmNociAoY3h0LT5zZWFyY2hfdGVybWluYXRvcnMsIGN4dC0+bGFzdGMpKQogICAgIHsKICAgICAgIC8qIEVTQyBzdGlsbCB0ZXJtaW5hdGVzIHRoZSBzZWFyY2gsIGJ1dCBpZiB0aGVyZSBpcyBwZW5kaW5nCiAJIGlucHV0IG9yIGlmIGlucHV0IGFycml2ZXMgd2l0aGluIDAuMSBzZWNvbmRzIChvbiBzeXN0ZW1zCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUva2V5bWFwcy5jIGIvbGliL3JlYWRsaW5lL2tleW1hcHMuYwppbmRleCA5Mzc5ZGVjLi41ODY2MWUyIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUva2V5bWFwcy5jCisrKyBiL2xpYi9yZWFkbGluZS9rZXltYXBzLmMKQEAgLTE0MiwxMSArMTQyLDExIEBACiAKIAljYXNlIElTS01BUDoKIAkgIHJsX2Rpc2NhcmRfa2V5bWFwICgoS2V5bWFwKW1hcFtpXS5mdW5jdGlvbik7Ci0JICBmcmVlICgoY2hhciAqKW1hcFtpXS5mdW5jdGlvbik7CisJICB4ZnJlZSAoKGNoYXIgKiltYXBbaV0uZnVuY3Rpb24pOwogCSAgYnJlYWs7CiAKIAljYXNlIElTTUFDUjoKLQkgIGZyZWUgKChjaGFyICopbWFwW2ldLmZ1bmN0aW9uKTsKKwkgIHhmcmVlICgoY2hhciAqKW1hcFtpXS5mdW5jdGlvbik7CiAJICBicmVhazsKIAl9CiAgICAgfQpAQCAtMTU4LDUgKzE1OCw1IEBACiAgICAgIEtleW1hcCBtYXA7CiB7CiAgIHJsX2Rpc2NhcmRfa2V5bWFwIChtYXApOwotICBmcmVlICgoY2hhciAqKW1hcCk7CisgIHhmcmVlICgoY2hhciAqKW1hcCk7CiB9CmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUva2V5bWFwcy5oIGIvbGliL3JlYWRsaW5lL2tleW1hcHMuaAppbmRleCA2YzQ2MTFkLi5hZjhkNWQ5IDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUva2V5bWFwcy5oCisrKyBiL2xpYi9yZWFkbGluZS9rZXltYXBzLmgKQEAgLTUyLDExICs1Miw2IEBACiAjZGVmaW5lIEtFWU1BUF9TSVpFIDI1NwogI2RlZmluZSBBTllPVEhFUktFWSBLRVlNQVBfU0laRS0xCiAKLS8qIEkgd2FudGVkIHRvIG1ha2UgdGhlIGFib3ZlIHN0cnVjdHVyZSBjb250YWluIGEgdW5pb24gb2Y6Ci0gICB1bmlvbiB7IHJsX2NvbW1hbmRfZnVuY190ICpmdW5jdGlvbjsgc3RydWN0IF9rZXltYXBfZW50cnkgKmtleW1hcDsgfSB2YWx1ZTsKLSAgIGJ1dCB0aGlzIG1hZGUgaXQgaW1wb3NzaWJsZSBmb3IgbWUgdG8gY3JlYXRlIGEgc3RhdGljIGFycmF5LgotICAgTWF5YmUgSSBuZWVkIEMgbGVzc29ucy4gKi8KLQogdHlwZWRlZiBLRVlNQVBfRU5UUlkgS0VZTUFQX0VOVFJZX0FSUkFZW0tFWU1BUF9TSVpFXTsKIHR5cGVkZWYgS0VZTUFQX0VOVFJZICpLZXltYXA7CiAKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9raWxsLmMgYi9saWIvcmVhZGxpbmUva2lsbC5jCmluZGV4IGE0ZDZkMTQuLjFhNzg3ODMgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9raWxsLmMKKysrIGIvbGliL3JlYWRsaW5lL2tpbGwuYwpAQCAtMTQ3LDcgKzE0Nyw3IEBACiAJICBzdHJjYXQgKG5ldywgb2xkKTsKIAl9CiAgICAgICB4ZnJlZSAob2xkKTsKLSAgICAgIGZyZWUgKHRleHQpOworICAgICAgeGZyZWUgKHRleHQpOwogICAgICAgcmxfa2lsbF9yaW5nW3Nsb3RdID0gbmV3OwogICAgIH0KICAgZWxzZQpAQCAtNjAxLDcgKzYwMSw3IEBACiAjZW5kaWYgLyogVklfTU9ERSAqLwogCiAgIHJsX2luc2VydF90ZXh0IChhcmcpOwotICBmcmVlIChhcmcpOworICB4ZnJlZSAoYXJnKTsKIAogICBybF9lbmRfdW5kb19ncm91cCAoKTsKICAgcmV0dXJuIDA7CkBAIC02NDAsNyArNjQwLDcgQEAKICAgICB7CiAgICAgICBpZiAodW5kb19uZWVkZWQpCiAJcmxfZG9fdW5kbyAoKTsKLSAgICAgIGlmIChjb3VudCA8IDEpCisgICAgICBpZiAoY291bnQgPCAwKQkJLyogWFhYIC0gd2FzIDwgMSAqLwogICAgICAgICBkaXJlY3Rpb24gPSAtZGlyZWN0aW9uOwogICAgICAgaGlzdG9yeV9za2lwICs9IGRpcmVjdGlvbjsKICAgICAgIGlmIChoaXN0b3J5X3NraXAgPCAwKQpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL21pc2MuYyBiL2xpYi9yZWFkbGluZS9taXNjLmMKaW5kZXggMTJhZTRhNS4uOWY0NTc3MyAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL21pc2MuYworKysgYi9saWIvcmVhZGxpbmUvbWlzYy5jCkBAIC0zMjgsNyArMzI4LDcgQEAKICAgRlJFRSAoZW50cnktPmxpbmUpOwogICBGUkVFIChlbnRyeS0+dGltZXN0YW1wKTsKIAotICBmcmVlIChlbnRyeSk7CisgIHhmcmVlIChlbnRyeSk7CiB9CiAKIC8qIFBlcmhhcHMgcHV0IGJhY2sgdGhlIGN1cnJlbnQgbGluZSBpZiBpdCBoYXMgY2hhbmdlZC4gKi8KQEAgLTM0Miw5ICszNDIsOSBAQAogICBpZiAodGVtcCAmJiAoKFVORE9fTElTVCAqKSh0ZW1wLT5kYXRhKSAhPSBybF91bmRvX2xpc3QpKQogICAgIHsKICAgICAgIHRlbXAgPSByZXBsYWNlX2hpc3RvcnlfZW50cnkgKHdoZXJlX2hpc3RvcnkgKCksIHJsX2xpbmVfYnVmZmVyLCAoaGlzdGRhdGFfdClybF91bmRvX2xpc3QpOwotICAgICAgZnJlZSAodGVtcC0+bGluZSk7CisgICAgICB4ZnJlZSAodGVtcC0+bGluZSk7CiAgICAgICBGUkVFICh0ZW1wLT50aW1lc3RhbXApOwotICAgICAgZnJlZSAodGVtcCk7CisgICAgICB4ZnJlZSAodGVtcCk7CiAgICAgfQogICByZXR1cm4gMDsKIH0KQEAgLTQ4MCw3ICs0ODAsNyBAQAogICBfcmxfc2V0X3RoZV9saW5lICgpOwogCiAgIC8qIGFuZCBjbGVhbiB1cCAqLwotICBmcmVlIChsYnVmKTsKKyAgeGZyZWUgKGxidWYpOwogfSAgCiAKIC8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9ubHMuYyBiL2xpYi9yZWFkbGluZS9ubHMuYwppbmRleCA3ZjEwZjAxLi5lMzU5OWViIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvbmxzLmMKKysrIGIvbGliL3JlYWRsaW5lL25scy5jCkBAIC0xNDUsNyArMTQ1LDcgQEAKIAlfcmxfb3V0cHV0X21ldGFfY2hhcnMgPSAxOwogCWJyZWFrOwogICAgICAgfQotICBmcmVlICh0KTsKKyAgeGZyZWUgKHQpOwogICByZXR1cm4gKGxlZ2FsX2xhbmdfdmFsdWVzW2ldID8gMSA6IDApOwogCiAjZW5kaWYgLyogIUhBVkVfU0VUTE9DQUxFICovCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvcG9zaXhzZWxlY3QuaCBiL2xpYi9yZWFkbGluZS9wb3NpeHNlbGVjdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNmExYWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvcmVhZGxpbmUvcG9zaXhzZWxlY3QuaApAQCAtMCwwICsxLDQ3IEBACisvKiBwb3NpeHNlbGVjdC5oIC0tIHdyYXBwZXIgZm9yIHNlbGVjdCgyKSBpbmNsdWRlcyBhbmQgZGVmaW5pdGlvbnMgKi8KKworLyogQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KKworICAgQmFzaCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIEJhc2ggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCBCYXNoLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKi8KKworI2lmbmRlZiBfUE9TSVhTRUxFQ1RfSF8KKyNkZWZpbmUgX1BPU0lYU0VMRUNUX0hfCisKKyNpZiBkZWZpbmVkIChGRF9TRVQpICYmICFkZWZpbmVkIChIQVZFX1NFTEVDVCkKKyMgIGRlZmluZSBIQVZFX1NFTEVDVCAxCisjZW5kaWYKKworI2lmIGRlZmluZWQgKEhBVkVfU0VMRUNUKQorIyAgaWYgIWRlZmluZWQgKEhBVkVfU1lTX1NFTEVDVF9IKSB8fCAhZGVmaW5lZCAoTV9VTklYKQorIyAgICBpbmNsdWRlIDxzeXMvdGltZS5oPgorIyAgZW5kaWYKKyNlbmRpZiAvKiBIQVZFX1NFTEVDVCAqLworI2lmIGRlZmluZWQgKEhBVkVfU1lTX1NFTEVDVF9IKQorIyAgaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgorI2VuZGlmCisKKyNpZm5kZWYgVVNFQ19QRVJfU0VDCisjICBkZWZpbmUgVVNFQ19QRVJfU0VDIDEwMDAwMDAKKyNlbmRpZgorCisjZGVmaW5lIFVTRUNfVE9fVElNRVZBTCh1cywgdHYpIFwKK2RvIHsgXAorICAodHYpLnR2X3NlYyA9ICh1cykgLyBVU0VDX1BFUl9TRUM7IFwKKyAgKHR2KS50dl91c2VjID0gKHVzKSAlIFVTRUNfUEVSX1NFQzsgXAorfSB3aGlsZSAoMCkKKworI2VuZGlmIC8qIF9QT1NJWFNFTEVDVF9IXyAqLwpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL3JlYWRsaW5lLmMgYi9saWIvcmVhZGxpbmUvcmVhZGxpbmUuYwppbmRleCBjMGU3OGQ0Li5mMmU0ZDkzIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvcmVhZGxpbmUuYworKysgYi9saWIvcmVhZGxpbmUvcmVhZGxpbmUuYwpAQCAtMzgyLDcgKzM4Miw3IEBACiAJICBucHJvbXB0ID0gX3JsX3N0cmlwX3Byb21wdCAocmxfcHJvbXB0KTsKIAkgIGZwcmludGYgKF9ybF9vdXRfc3RyZWFtLCAiJXMiLCBucHJvbXB0KTsKIAkgIGZmbHVzaCAoX3JsX291dF9zdHJlYW0pOwotCSAgZnJlZSAobnByb21wdCk7CisJICB4ZnJlZSAobnByb21wdCk7CiAJfQogICAgIH0KICAgZWxzZQpAQCAtNDI2LDcgKzQyNiw3IEBACiAgICAgICBfcmxfZnJlZV9oaXN0b3J5X2VudHJ5IChlbnRyeSk7CiAKICAgICAgIHN0cmNweSAodGhlX2xpbmUsIHRlbXApOwotICAgICAgZnJlZSAodGVtcCk7CisgICAgICB4ZnJlZSAodGVtcCk7CiAgICAgfQogCiAgIGlmIChfcmxfcmV2ZXJ0X2FsbF9hdF9uZXdsaW5lKQpAQCAtNjI5LDcgKzYyOSw3IEBACiBfcmxfa2V5c2VxX2N4dF9kaXNwb3NlIChjeHQpCiAgICAgX3JsX2tleXNlcV9jeHQgKmN4dDsKIHsKLSAgZnJlZSAoY3h0KTsKKyAgeGZyZWUgKGN4dCk7CiB9CiAKIHZvaWQKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9yZWFkbGluZS5oIGIvbGliL3JlYWRsaW5lL3JlYWRsaW5lLmgKaW5kZXggN2E0ZmZhYS4uMGRlMTY4YyAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL3JlYWRsaW5lLmgKKysrIGIvbGliL3JlYWRsaW5lL3JlYWRsaW5lLmgKQEAgLTEsNiArMSw2IEBACiAvKiBSZWFkbGluZS5oIC0tIHRoZSBuYW1lcyBvZiBmdW5jdGlvbnMgY2FsbGFibGUgZnJvbSB3aXRoaW4gcmVhZGxpbmUuICovCiAKLS8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgUmVhZGxpbmUgTGlicmFyeSAoUmVhZGxpbmUpLCBhIGxpYnJhcnkKICAgIGZvciByZWFkaW5nIGxpbmVzIG9mIHRleHQgd2l0aCBpbnRlcmFjdGl2ZSBpbnB1dCBhbmQgaGlzdG9yeSBlZGl0aW5nLiAgICAgIApAQCAtMzksOSArMzksOSBAQAogI2VuZGlmCiAKIC8qIEhleC1lbmNvZGVkIFJlYWRsaW5lIHZlcnNpb24gbnVtYmVyLiAqLwotI2RlZmluZSBSTF9SRUFETElORV9WRVJTSU9OCTB4MDYwMAkJLyogUmVhZGxpbmUgNi4wICovCisjZGVmaW5lIFJMX1JFQURMSU5FX1ZFUlNJT04JMHgwNjAyCQkvKiBSZWFkbGluZSA2LjIgKi8KICNkZWZpbmUgUkxfVkVSU0lPTl9NQUpPUgk2Ci0jZGVmaW5lIFJMX1ZFUlNJT05fTUlOT1IJMAorI2RlZmluZSBSTF9WRVJTSU9OX01JTk9SCTIKIAogLyogUmVhZGxpbmUgZGF0YSBzdHJ1Y3R1cmVzLiAqLwogCkBAIC02NjYsMTYgKzY2NiwyNCBAQAogICAgY29tcGxldGluZyBvbiBhIGRpcmVjdG9yeSBuYW1lLiAgVGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCB3aXRoCiAgICB0aGUgYWRkcmVzcyBvZiBhIHN0cmluZyAodGhlIGN1cnJlbnQgZGlyZWN0b3J5IG5hbWUpIGFzIGFuIGFyZy4gIEl0CiAgICBjaGFuZ2VzIHdoYXQgaXMgZGlzcGxheWVkIHdoZW4gdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSBwcmludGVkCi0gICBvciBpbnNlcnRlZC4gKi8KKyAgIG9yIGluc2VydGVkLiAgVGhlIGRpcmVjdG9yeSBjb21wbGV0aW9uIGhvb2sgc2hvdWxkIHBlcmZvcm0KKyAgIGFueSBuZWNlc3NhcnkgZGVxdW90aW5nLiAgVGhpcyBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIDEgaWYgaXQgbW9kaWZpZXMKKyAgIHRoZSBkaXJlY3RvcnkgbmFtZSBwb2ludGVyIHBhc3NlZCBhcyBhbiBhcmd1bWVudC4gIElmIHRoZSBkaXJlY3RvcnkKKyAgIGNvbXBsZXRpb24gaG9vayByZXR1cm5zIDAsIGl0IHNob3VsZCBub3QgbW9kaWZ5IHRoZSBkaXJlY3RvcnkgbmFtZQorICAgcG9pbnRlciBwYXNzZWQgYXMgYW4gYXJndW1lbnQuICovCiBleHRlcm4gcmxfaWNwcGZ1bmNfdCAqcmxfZGlyZWN0b3J5X2NvbXBsZXRpb25faG9vazsKIAogLyogSWYgbm9uLXplcm8sIHRoaXMgaXMgdGhlIGFkZHJlc3Mgb2YgYSBmdW5jdGlvbiB0byBjYWxsIHdoZW4gY29tcGxldGluZwogICAgYSBkaXJlY3RvcnkgbmFtZS4gIFRoaXMgZnVuY3Rpb24gdGFrZXMgdGhlIGFkZHJlc3Mgb2YgdGhlIGRpcmVjdG9yeSBuYW1lCiAgICB0byBiZSBtb2RpZmllZCBhcyBhbiBhcmd1bWVudC4gIFVubGlrZSBybF9kaXJlY3RvcnlfY29tcGxldGlvbl9ob29rLCBpdAogICAgb25seSBtb2RpZmllcyB0aGUgZGlyZWN0b3J5IG5hbWUgdXNlZCBpbiBvcGVuZGlyKDIpLCBub3Qgd2hhdCBpcyBkaXNwbGF5ZWQKLSAgIHdoZW4gdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSBwcmludGVkIG9yIGluc2VydGVkLiAgSXQgaXMgY2FsbGVkCi0gICBiZWZvcmUgcmxfZGlyZWN0b3J5X2NvbXBsZXRpb25faG9vay4gIEknbSBub3QgaGFwcHkgd2l0aCBob3cgdGhpcyB3b3JrcwotICAgeWV0LCBzbyBpdCdzIHVuZG9jdW1lbnRlZC4gKi8KKyAgIHdoZW4gdGhlIHBvc3NpYmxlIGNvbXBsZXRpb25zIGFyZSBwcmludGVkIG9yIGluc2VydGVkLiAgSWYgc2V0LCBpdCB0YWtlcworICAgcHJlY2VkZW5jZSBvdmVyIHJsX2RpcmVjdG9yeV9jb21wbGV0aW9uX2hvb2suICBUaGUgZGlyZWN0b3J5IHJld3JpdGUKKyAgIGhvb2sgc2hvdWxkIHBlcmZvcm0gYW55IG5lY2Vzc2FyeSBkZXF1b3RpbmcuICBUaGlzIGZ1bmN0aW9uIGhhcyB0aGUgc2FtZQorICAgcmV0dXJuIHZhbHVlIHByb3BlcnRpZXMgYXMgdGhlIGRpcmVjdG9yeV9jb21wbGV0aW9uX2hvb2suCisKKyAgIEknbSBub3QgaGFwcHkgd2l0aCBob3cgdGhpcyB3b3JrcyB5ZXQsIHNvIGl0J3MgdW5kb2N1bWVudGVkLiAgSSdtIHRyeWluZworICAgaXQgaW4gYmFzaCB0byBzZWUgaG93IHdlbGwgaXQgZ29lcy4gKi8KIGV4dGVybiBybF9pY3BwZnVuY190ICpybF9kaXJlY3RvcnlfcmV3cml0ZV9ob29rOwogCiAvKiBJZiBub24temVybywgdGhpcyBpcyB0aGUgYWRkcmVzcyBvZiBhIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiByZWFkaW5nCkBAIC04MDUsMzAgKzgxMywzMCBAQAogLyogUG9zc2libGUgc3RhdGUgdmFsdWVzIGZvciBybF9yZWFkbGluZV9zdGF0ZSAqLwogI2RlZmluZSBSTF9TVEFURV9OT05FCQkweDAwMDAwMAkJLyogbm8gc3RhdGU7IGJlZm9yZSBmaXJzdCBjYWxsICovCiAKLSNkZWZpbmUgUkxfU1RBVEVfSU5JVElBTElaSU5HCTB4MDAwMDAxCS8qIGluaXRpYWxpemluZyAqLwotI2RlZmluZSBSTF9TVEFURV9JTklUSUFMSVpFRAkweDAwMDAwMgkvKiBpbml0aWFsaXphdGlvbiBkb25lICovCi0jZGVmaW5lIFJMX1NUQVRFX1RFUk1QUkVQUEVECTB4MDAwMDA0CS8qIHRlcm1pbmFsIGlzIHByZXBwZWQgKi8KLSNkZWZpbmUgUkxfU1RBVEVfUkVBRENNRAkweDAwMDAwOAkvKiByZWFkaW5nIGEgY29tbWFuZCBrZXkgKi8KLSNkZWZpbmUgUkxfU1RBVEVfTUVUQU5FWFQJMHgwMDAwMTAJLyogcmVhZGluZyBpbnB1dCBhZnRlciBFU0MgKi8KLSNkZWZpbmUgUkxfU1RBVEVfRElTUEFUQ0hJTkcJMHgwMDAwMjAJLyogZGlzcGF0Y2hpbmcgdG8gYSBjb21tYW5kICovCi0jZGVmaW5lIFJMX1NUQVRFX01PUkVJTlBVVAkweDAwMDA0MAkvKiByZWFkaW5nIG1vcmUgaW5wdXQgaW4gYSBjb21tYW5kIGZ1bmN0aW9uICovCi0jZGVmaW5lIFJMX1NUQVRFX0lTRUFSQ0gJMHgwMDAwODAJLyogZG9pbmcgaW5jcmVtZW50YWwgc2VhcmNoICovCi0jZGVmaW5lIFJMX1NUQVRFX05TRUFSQ0gJMHgwMDAxMDAJLyogZG9pbmcgbm9uLWluYyBzZWFyY2ggKi8KLSNkZWZpbmUgUkxfU1RBVEVfU0VBUkNICQkweDAwMDIwMAkvKiBkb2luZyBhIGhpc3Rvcnkgc2VhcmNoICovCi0jZGVmaW5lIFJMX1NUQVRFX05VTUVSSUNBUkcJMHgwMDA0MDAJLyogcmVhZGluZyBudW1lcmljIGFyZ3VtZW50ICovCi0jZGVmaW5lIFJMX1NUQVRFX01BQ1JPSU5QVVQJMHgwMDA4MDAJLyogZ2V0dGluZyBpbnB1dCBmcm9tIGEgbWFjcm8gKi8KLSNkZWZpbmUgUkxfU1RBVEVfTUFDUk9ERUYJMHgwMDEwMDAJLyogZGVmaW5pbmcga2V5Ym9hcmQgbWFjcm8gKi8KLSNkZWZpbmUgUkxfU1RBVEVfT1ZFUldSSVRFCTB4MDAyMDAwCS8qIG92ZXJ3cml0ZSBtb2RlICovCi0jZGVmaW5lIFJMX1NUQVRFX0NPTVBMRVRJTkcJMHgwMDQwMDAJLyogZG9pbmcgY29tcGxldGlvbiAqLwotI2RlZmluZSBSTF9TVEFURV9TSUdIQU5ETEVSCTB4MDA4MDAwCS8qIGluIHJlYWRsaW5lIHNpZ2hhbmRsZXIgKi8KLSNkZWZpbmUgUkxfU1RBVEVfVU5ET0lORwkweDAxMDAwMAkvKiBkb2luZyBhbiB1bmRvICovCi0jZGVmaW5lIFJMX1NUQVRFX0lOUFVUUEVORElORwkweDAyMDAwMAkvKiBybF9leGVjdXRlX25leHQgY2FsbGVkICovCi0jZGVmaW5lIFJMX1NUQVRFX1RUWUNTQVZFRAkweDA0MDAwMAkvKiB0dHkgc3BlY2lhbCBjaGFycyBzYXZlZCAqLwotI2RlZmluZSBSTF9TVEFURV9DQUxMQkFDSwkweDA4MDAwMAkvKiB1c2luZyB0aGUgY2FsbGJhY2sgaW50ZXJmYWNlICovCi0jZGVmaW5lIFJMX1NUQVRFX1ZJTU9USU9OCTB4MTAwMDAwCS8qIHJlYWRpbmcgdmkgbW90aW9uIGFyZyAqLwotI2RlZmluZSBSTF9TVEFURV9NVUxUSUtFWQkweDIwMDAwMAkvKiByZWFkaW5nIG11bHRpcGxlLWtleSBjb21tYW5kICovCi0jZGVmaW5lIFJMX1NUQVRFX1ZJQ01ET05DRQkweDQwMDAwMAkvKiBlbnRlcmVkIHZpIGNvbW1hbmQgbW9kZSBhdCBsZWFzdCBvbmNlICovCi0jZGVmaW5lIFJMX1NUQVRFX1JFRElTUExBWUlORwkweDgwMDAwMAkvKiB1cGRhdGluZyB0ZXJtaW5hbCBkaXNwbGF5ICovCisjZGVmaW5lIFJMX1NUQVRFX0lOSVRJQUxJWklORwkweDAwMDAwMDEJLyogaW5pdGlhbGl6aW5nICovCisjZGVmaW5lIFJMX1NUQVRFX0lOSVRJQUxJWkVECTB4MDAwMDAwMgkvKiBpbml0aWFsaXphdGlvbiBkb25lICovCisjZGVmaW5lIFJMX1NUQVRFX1RFUk1QUkVQUEVECTB4MDAwMDAwNAkvKiB0ZXJtaW5hbCBpcyBwcmVwcGVkICovCisjZGVmaW5lIFJMX1NUQVRFX1JFQURDTUQJMHgwMDAwMDA4CS8qIHJlYWRpbmcgYSBjb21tYW5kIGtleSAqLworI2RlZmluZSBSTF9TVEFURV9NRVRBTkVYVAkweDAwMDAwMTAJLyogcmVhZGluZyBpbnB1dCBhZnRlciBFU0MgKi8KKyNkZWZpbmUgUkxfU1RBVEVfRElTUEFUQ0hJTkcJMHgwMDAwMDIwCS8qIGRpc3BhdGNoaW5nIHRvIGEgY29tbWFuZCAqLworI2RlZmluZSBSTF9TVEFURV9NT1JFSU5QVVQJMHgwMDAwMDQwCS8qIHJlYWRpbmcgbW9yZSBpbnB1dCBpbiBhIGNvbW1hbmQgZnVuY3Rpb24gKi8KKyNkZWZpbmUgUkxfU1RBVEVfSVNFQVJDSAkweDAwMDAwODAJLyogZG9pbmcgaW5jcmVtZW50YWwgc2VhcmNoICovCisjZGVmaW5lIFJMX1NUQVRFX05TRUFSQ0gJMHgwMDAwMTAwCS8qIGRvaW5nIG5vbi1pbmMgc2VhcmNoICovCisjZGVmaW5lIFJMX1NUQVRFX1NFQVJDSAkJMHgwMDAwMjAwCS8qIGRvaW5nIGEgaGlzdG9yeSBzZWFyY2ggKi8KKyNkZWZpbmUgUkxfU1RBVEVfTlVNRVJJQ0FSRwkweDAwMDA0MDAJLyogcmVhZGluZyBudW1lcmljIGFyZ3VtZW50ICovCisjZGVmaW5lIFJMX1NUQVRFX01BQ1JPSU5QVVQJMHgwMDAwODAwCS8qIGdldHRpbmcgaW5wdXQgZnJvbSBhIG1hY3JvICovCisjZGVmaW5lIFJMX1NUQVRFX01BQ1JPREVGCTB4MDAwMTAwMAkvKiBkZWZpbmluZyBrZXlib2FyZCBtYWNybyAqLworI2RlZmluZSBSTF9TVEFURV9PVkVSV1JJVEUJMHgwMDAyMDAwCS8qIG92ZXJ3cml0ZSBtb2RlICovCisjZGVmaW5lIFJMX1NUQVRFX0NPTVBMRVRJTkcJMHgwMDA0MDAwCS8qIGRvaW5nIGNvbXBsZXRpb24gKi8KKyNkZWZpbmUgUkxfU1RBVEVfU0lHSEFORExFUgkweDAwMDgwMDAJLyogaW4gcmVhZGxpbmUgc2lnaGFuZGxlciAqLworI2RlZmluZSBSTF9TVEFURV9VTkRPSU5HCTB4MDAxMDAwMAkvKiBkb2luZyBhbiB1bmRvICovCisjZGVmaW5lIFJMX1NUQVRFX0lOUFVUUEVORElORwkweDAwMjAwMDAJLyogcmxfZXhlY3V0ZV9uZXh0IGNhbGxlZCAqLworI2RlZmluZSBSTF9TVEFURV9UVFlDU0FWRUQJMHgwMDQwMDAwCS8qIHR0eSBzcGVjaWFsIGNoYXJzIHNhdmVkICovCisjZGVmaW5lIFJMX1NUQVRFX0NBTExCQUNLCTB4MDA4MDAwMAkvKiB1c2luZyB0aGUgY2FsbGJhY2sgaW50ZXJmYWNlICovCisjZGVmaW5lIFJMX1NUQVRFX1ZJTU9USU9OCTB4MDEwMDAwMAkvKiByZWFkaW5nIHZpIG1vdGlvbiBhcmcgKi8KKyNkZWZpbmUgUkxfU1RBVEVfTVVMVElLRVkJMHgwMjAwMDAwCS8qIHJlYWRpbmcgbXVsdGlwbGUta2V5IGNvbW1hbmQgKi8KKyNkZWZpbmUgUkxfU1RBVEVfVklDTURPTkNFCTB4MDQwMDAwMAkvKiBlbnRlcmVkIHZpIGNvbW1hbmQgbW9kZSBhdCBsZWFzdCBvbmNlICovCisjZGVmaW5lIFJMX1NUQVRFX1JFRElTUExBWUlORwkweDA4MDAwMDAJLyogdXBkYXRpbmcgdGVybWluYWwgZGlzcGxheSAqLwogCiAjZGVmaW5lIFJMX1NUQVRFX0RPTkUJCTB4MTAwMDAwMAkvKiBkb25lOyBhY2NlcHRlZCBsaW5lICovCiAKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9ybHByaXZhdGUuaCBiL2xpYi9yZWFkbGluZS9ybHByaXZhdGUuaAppbmRleCA4MTlmMTI3Li4zODRmZjY3IDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvcmxwcml2YXRlLmgKKysrIGIvbGliL3JlYWRsaW5lL3JscHJpdmF0ZS5oCkBAIC0xLDcgKzEsNyBAQAogLyogcmxwcml2YXRlLmggLS0gZnVuY3Rpb25zIGFuZCB2YXJpYWJsZXMgZ2xvYmFsIHRvIHRoZSByZWFkbGluZSBsaWJyYXJ5LAogCQkgIGJ1dCBub3QgaW50ZW5kZWQgZm9yIHVzZSBieSBhcHBsaWNhdGlvbnMuICovCiAKLS8qIENvcHlyaWdodCAoQykgMTk5OS0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTk5LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgUmVhZGxpbmUgTGlicmFyeSAoUmVhZGxpbmUpLCBhIGxpYnJhcnkKICAgIGZvciByZWFkaW5nIGxpbmVzIG9mIHRleHQgd2l0aCBpbnRlcmFjdGl2ZSBpbnB1dCBhbmQgaGlzdG9yeSBlZGl0aW5nLiAgICAgIApAQCAtNTYsNiArNTYsNyBAQAogI2RlZmluZSBTRl9SRVZFUlNFCQkweDAxCiAjZGVmaW5lIFNGX0ZPVU5ECQkweDAyCiAjZGVmaW5lIFNGX0ZBSUxFRAkJMHgwNAorI2RlZmluZSBTRl9DSEdLTUFQCQkweDA4CiAKIHR5cGVkZWYgc3RydWN0ICBfX3JsX3NlYXJjaF9jb250ZXh0CiB7CkBAIC03OSw2ICs4MCw5IEBACiAKICAgVU5ET19MSVNUICpzYXZlX3VuZG9fbGlzdDsKIAorICBLZXltYXAga2V5bWFwOwkvKiB1c2VkIHdoZW4gZGlzcGF0Y2hpbmcgY29tbWFuZHMgaW4gc2VhcmNoIHN0cmluZyAqLworICBLZXltYXAgb2tleW1hcDsJLyogb3JpZ2luYWwga2V5bWFwICovCisKICAgaW50IGhpc3RvcnlfcG9zOwogICBpbnQgZGlyZWN0aW9uOwogCkBAIC0xMjAsNyArMTI0LDI4IEBACiAgIGludCBjaGlsZHZhbDsKIH0gX3JsX2tleXNlcV9jeHQ7CiAKLSAgLyogZmlsbCBpbiBtb3JlIGFzIG5lZWRlZCAqLworLyogdmktbW9kZSBjb21tYW5kcyB0aGF0IHVzZSByZXN1bHQgb2YgbW90aW9uIGNvbW1hbmQgdG8gZGVmaW5lIGJvdW5kYXJpZXMgKi8KKyNkZWZpbmUgVklNX0RFTEVURQkweDAxCisjZGVmaW5lIFZJTV9DSEFOR0UJMHgwMgorI2RlZmluZSBWSU1fWUFOSwkweDA0CisKKy8qIHZhcmlvdXMgc3RhdGVzIGZvciB2aS1tb2RlIGNvbW1hbmRzIHRoYXQgdXNlIG1vdGlvbiBjb21tYW5kcy4gIHJlZmxlY3RzCisgICBSTF9SRUFETElORV9TVEFURSAqLworI2RlZmluZSBWTVNUQVRFX1JFQUQJMHgwMQorI2RlZmluZSBWTVNUQVRFX05VTUFSRwkweDAyCisKK3R5cGVkZWYgc3RydWN0IF9fcmxfdmltb3Rpb25fY29udGV4dAoreworICBpbnQgb3A7CisgIGludCBzdGF0ZTsKKyAgaW50IGZsYWdzOwkJLyogcmVzZXJ2ZWQgKi8KKyAgX3JsX2FyZ19jeHQgbmN4dDsKKyAgaW50IG51bWVyaWNfYXJnOworICBpbnQgc3RhcnQsIGVuZDsJLyogcmxfcG9pbnQsIHJsX2VuZCAqLworICBpbnQga2V5LCBtb3Rpb247CS8qIGluaXRpYWwga2V5LCBtb3Rpb24gY29tbWFuZCAqLworfSBfcmxfdmltb3Rpb25fY3h0OworCisvKiBmaWxsIGluIG1vcmUgYXMgbmVlZGVkICovCiAvKiBgR2VuZXJpYycgY2FsbGJhY2sgZGF0YSBhbmQgZnVuY3Rpb25zICovCiB0eXBlZGVmIHN0cnVjdCBfX3JsX2NhbGxiYWNrX2dlbmVyaWNfYXJnIAogewpAQCAtMzIwLDYgKzM0NSw3IEBACiAvKiB0ZXh0LmMgKi8KIGV4dGVybiB2b2lkIF9ybF9maXhfcG9pbnQgUEFSQU1TKChpbnQpKTsKIGV4dGVybiBpbnQgX3JsX3JlcGxhY2VfdGV4dCBQQVJBTVMoKGNvbnN0IGNoYXIgKiwgaW50LCBpbnQpKTsKK2V4dGVybiBpbnQgX3JsX2ZvcndhcmRfY2hhcl9pbnRlcm5hbCBQQVJBTVMoKGludCkpOwogZXh0ZXJuIGludCBfcmxfaW5zZXJ0X2NoYXIgUEFSQU1TKChpbnQsIGludCkpOwogZXh0ZXJuIGludCBfcmxfb3ZlcndyaXRlX2NoYXIgUEFSQU1TKChpbnQsIGludCkpOwogZXh0ZXJuIGludCBfcmxfb3ZlcndyaXRlX3J1Ym91dCBQQVJBTVMoKGludCwgaW50KSk7CkBAIC0zNjYsNiArMzkyLDcgQEAKIGV4dGVybiB2b2lkIF9ybF92aV9zZXRfbGFzdCBQQVJBTVMoKGludCwgaW50LCBpbnQpKTsKIGV4dGVybiBpbnQgX3JsX3ZpX3RleHRtb2RfY29tbWFuZCBQQVJBTVMoKGludCkpOwogZXh0ZXJuIHZvaWQgX3JsX3ZpX2RvbmVfaW5zZXJ0aW5nIFBBUkFNUygodm9pZCkpOworZXh0ZXJuIGludCBfcmxfdmlfZG9tb3ZlX2NhbGxiYWNrIFBBUkFNUygoX3JsX3ZpbW90aW9uX2N4dCAqKSk7CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAgKiBVbmRvY3VtZW50ZWQgcHJpdmF0ZSB2YXJpYWJsZXMJCQkJCSAqCkBAIC0zODUsMTEgKzQxMiwxNCBAQAogZXh0ZXJuIGludCBfcmxfY29tcGxldGVfbWFya19kaXJlY3RvcmllczsKIGV4dGVybiBpbnQgX3JsX2NvbXBsZXRlX21hcmtfc3ltbGlua19kaXJzOwogZXh0ZXJuIGludCBfcmxfY29tcGxldGlvbl9wcmVmaXhfZGlzcGxheV9sZW5ndGg7CitleHRlcm4gaW50IF9ybF9jb21wbGV0aW9uX2NvbHVtbnM7CiBleHRlcm4gaW50IF9ybF9wcmludF9jb21wbGV0aW9uc19ob3Jpem9udGFsbHk7CiBleHRlcm4gaW50IF9ybF9jb21wbGV0aW9uX2Nhc2VfZm9sZDsKK2V4dGVybiBpbnQgX3JsX2NvbXBsZXRpb25fY2FzZV9tYXA7CiBleHRlcm4gaW50IF9ybF9tYXRjaF9oaWRkZW5fZmlsZXM7CiBleHRlcm4gaW50IF9ybF9wYWdlX2NvbXBsZXRpb25zOwogZXh0ZXJuIGludCBfcmxfc2tpcF9jb21wbGV0ZWRfdGV4dDsKK2V4dGVybiBpbnQgX3JsX21lbnVfY29tcGxldGVfcHJlZml4X2ZpcnN0OwogCiAvKiBkaXNwbGF5LmMgKi8KIGV4dGVybiBpbnQgX3JsX3Zpc19ib3RsaW47CkBAIC00NzEsNSArNTAxLDYgQEAKIAogLyogdmlfbW9kZS5jICovCiBleHRlcm4gaW50IF9ybF92aV9sYXN0X2NvbW1hbmQ7CitleHRlcm4gX3JsX3ZpbW90aW9uX2N4dCAqX3JsX3ZpbXZjeHQ7CiAKICNlbmRpZiAvKiBfUkxfUFJJVkFURV9IXyAqLwpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL3JsdHR5LmMgYi9saWIvcmVhZGxpbmUvcmx0dHkuYwppbmRleCAwZGQ1ZDEwLi5kMjM3YjFjIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvcmx0dHkuYworKysgYi9saWIvcmVhZGxpbmUvcmx0dHkuYwpAQCAtNjA0LDcgKzYwNCw3IEBACiAgIC8qIFRyeSB0byBrZWVwIHRoaXMgZnVuY3Rpb24gZnJvbSBiZWluZyBJTlRlcnJ1cHRlZC4gKi8KICAgX3JsX2Jsb2NrX3NpZ2ludCAoKTsKIAotICB0dHkgPSBmaWxlbm8gKHJsX2luc3RyZWFtKTsKKyAgdHR5ID0gcmxfaW5zdHJlYW0gPyBmaWxlbm8gKHJsX2luc3RyZWFtKSA6IGZpbGVubyAoc3RkaW4pOwogCiAgIGlmIChnZXRfdHR5X3NldHRpbmdzICh0dHksICZ0aW8pIDwgMCkKICAgICB7CkBAIC02NzgsNyArNjc4LDcgQEAKICAgLyogVHJ5IHRvIGtlZXAgdGhpcyBmdW5jdGlvbiBmcm9tIGJlaW5nIGludGVycnVwdGVkLiAqLwogICBfcmxfYmxvY2tfc2lnaW50ICgpOwogCi0gIHR0eSA9IGZpbGVubyAocmxfaW5zdHJlYW0pOworICB0dHkgPSBybF9pbnN0cmVhbSA/IGZpbGVubyAocmxfaW5zdHJlYW0pIDogZmlsZW5vIChzdGRvdXQpOwogCiAgIGlmIChfcmxfZW5hYmxlX2tleXBhZCkKICAgICBfcmxfY29udHJvbF9rZXlwYWQgKDApOwpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL3NhdmVzdHJpbmcuYyBiL2xpYi9yZWFkbGluZS9zYXZlc3RyaW5nLmMKaW5kZXggNjNmNDY3YS4uYWY5ODUzOCAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL3NhdmVzdHJpbmcuYworKysgYi9saWIvcmVhZGxpbmUvc2F2ZXN0cmluZy5jCkBAIC0zMyw1ICszMyw5IEBACiBzYXZlc3RyaW5nIChzKQogICAgICBjb25zdCBjaGFyICpzOwogewotICByZXR1cm4gKChjaGFyICopc3RyY3B5ICgoY2hhciAqKXhtYWxsb2MgKDEgKyBzdHJsZW4gKHMpKSwgKHMpKSk7CisgIGNoYXIgKnJldDsKKworICByZXQgPSAoY2hhciAqKXhtYWxsb2MgKHN0cmxlbiAocykgKyAxKTsKKyAgc3RyY3B5IChyZXQsIHMpOworICByZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL3NlYXJjaC5jIGIvbGliL3JlYWRsaW5lL3NlYXJjaC5jCmluZGV4IDgyOTg0ZjEuLjA0NDY4ZmMgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9zZWFyY2guYworKysgYi9saWIvcmVhZGxpbmUvc2VhcmNoLmMKQEAgLTIxMSw3ICsyMTEsNyBAQAogCiAgIHAgPSBfcmxfbWFrZV9wcm9tcHRfZm9yX3NlYXJjaCAocGNoYXIgPyBwY2hhciA6ICc6Jyk7CiAgIHJsX21lc3NhZ2UgKCIlcyIsIHAsIDApOwotICBmcmVlIChwKTsKKyAgeGZyZWUgKHApOwogCiAgIFJMX1NFVFNUQVRFKFJMX1NUQVRFX05TRUFSQ0gpOwogCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvc2hlbGwuYyBiL2xpYi9yZWFkbGluZS9zaGVsbC5jCmluZGV4IDE4YjRmMDMuLmFjMGZiMzYgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9zaGVsbC5jCisrKyBiL2xpYi9yZWFkbGluZS9zaGVsbC5jCkBAIC0xMzAsMTIgKzEzMCwxMiBAQAogICBiID0gKGNoYXIgKil4bWFsbG9jIChJTlRfU1RSTEVOX0JPVU5EIChpbnQpICsgMSk7CiAgIHNwcmludGYgKGIsICIlZCIsIGxpbmVzKTsKICAgc2V0ZW52ICgiTElORVMiLCBiLCAxKTsKLSAgZnJlZSAoYik7CisgIHhmcmVlIChiKTsKIAogICBiID0gKGNoYXIgKil4bWFsbG9jIChJTlRfU1RSTEVOX0JPVU5EIChpbnQpICsgMSk7CiAgIHNwcmludGYgKGIsICIlZCIsIGNvbHMpOwogICBzZXRlbnYgKCJDT0xVTU5TIiwgYiwgMSk7Ci0gIGZyZWUgKGIpOworICB4ZnJlZSAoYik7CiAjZWxzZSAvKiAhSEFWRV9TRVRFTlYgKi8KICMgIGlmIGRlZmluZWQgKEhBVkVfUFVURU5WKQogICBiID0gKGNoYXIgKil4bWFsbG9jIChJTlRfU1RSTEVOX0JPVU5EIChpbnQpICsgc2l6ZW9mICgiTElORVM9IikgKyAxKTsKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS9zaWduYWxzLmMgYi9saWIvcmVhZGxpbmUvc2lnbmFscy5jCmluZGV4IDRmYmMwMTkuLjZhNjhkNzggMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS9zaWduYWxzLmMKKysrIGIvbGliL3JlYWRsaW5lL3NpZ25hbHMuYwpAQCAtMTMxLDYgKzEzMSw3IEBACiAvKiBDYWxsZWQgZnJvbSBSTF9DSEVDS19TSUdOQUxTKCkgbWFjcm8gKi8KIFJFVFNJR1RZUEUKIF9ybF9zaWduYWxfaGFuZGxlciAoc2lnKQorICAgICBpbnQgc2lnOwogewogICBfcmxfY2F1Z2h0X3NpZ25hbCA9IDA7CS8qIFhYWCAqLwogCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvdGVybWluYWwuYyBiL2xpYi9yZWFkbGluZS90ZXJtaW5hbC5jCmluZGV4IGVlMTMwOTIuLmY4YzJmNmUgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS90ZXJtaW5hbC5jCisrKyBiL2xpYi9yZWFkbGluZS90ZXJtaW5hbC5jCkBAIC05NiwxMiArOTYsMTIgQEAKIAogc3RhdGljIGludCB0Y2FwX2luaXRpYWxpemVkOwogCi0jaWYgIWRlZmluZWQgKF9fbGludXhfXykKKyNpZiAhZGVmaW5lZCAoX19saW51eF9fKSAmJiAhZGVmaW5lZCAoTkNVUlNFU19WRVJTSU9OKQogIyAgaWYgZGVmaW5lZCAoX19FTVhfXykgfHwgZGVmaW5lZCAoTkVFRF9FWFRFUk5fUEMpCiBleHRlcm4gCiAjICBlbmRpZiAvKiBfX0VNWF9fIHx8IE5FRURfRVhURVJOX1BDICovCiBjaGFyIFBDLCAqQkMsICpVUDsKLSNlbmRpZiAvKiBfX2xpbnV4X18gKi8KKyNlbmRpZiAvKiAhX19saW51eF9fICYmICFOQ1VSU0VTX1ZFUlNJT04gKi8KIAogLyogU29tZSBzdHJpbmdzIHRvIGNvbnRyb2wgdGVybWluYWwgYWN0aW9ucy4gIFRoZXNlIGFyZSBvdXRwdXQgYnkgdHB1dHMgKCkuICovCiBjaGFyICpfcmxfdGVybV9jbHJlb2w7CkBAIC0zNTAsOSArMzUwLDkgQEAKIHZvaWQKIHJsX3Jlc2l6ZV90ZXJtaW5hbCAoKQogeworICBfcmxfZ2V0X3NjcmVlbl9zaXplIChmaWxlbm8gKHJsX2luc3RyZWFtKSwgMSk7CiAgIGlmIChfcmxfZWNob2luZ19wKQogICAgIHsKLSAgICAgIF9ybF9nZXRfc2NyZWVuX3NpemUgKGZpbGVubyAocmxfaW5zdHJlYW0pLCAxKTsKICAgICAgIGlmIChDVVNUT01fUkVESVNQTEFZX0ZVTkMgKCkpCiAJcmxfZm9yY2VkX3VwZGF0ZV9kaXNwbGF5ICgpOwogICAgICAgZWxzZSBpZiAoUkxfSVNTVEFURShSTF9TVEFURV9SRURJU1BMQVlJTkcpID09IDApCmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvdGV4dC5jIGIvbGliL3JlYWRsaW5lL3RleHQuYwppbmRleCBmYzM5MTg5Li41MzZlMzFhIDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvdGV4dC5jCisrKyBiL2xpYi9yZWFkbGluZS90ZXh0LmMKQEAgLTEsNiArMSw2IEBACiAvKiB0ZXh0LmMgLS0gdGV4dCBoYW5kbGluZyBjb21tYW5kcyBmb3IgcmVhZGxpbmUuICovCiAKLS8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBHTlUgUmVhZGxpbmUgTGlicmFyeSAoUmVhZGxpbmUpLCBhIGxpYnJhcnkKICAgIGZvciByZWFkaW5nIGxpbmVzIG9mIHRleHQgd2l0aCBpbnRlcmFjdGl2ZSBpbnB1dCBhbmQgaGlzdG9yeSBlZGl0aW5nLiAgICAgIApAQCAtMTUwLDcgKzE1MCw3IEBACiAgIGlmIChfcmxfZG9pbmdfYW5fdW5kbyA9PSAwKQogICAgIHJsX2FkZF91bmRvIChVTkRPX0RFTEVURSwgZnJvbSwgdG8sIHRleHQpOwogICBlbHNlCi0gICAgZnJlZSAodGV4dCk7CisgICAgeGZyZWUgKHRleHQpOwogCiAgIHJsX2VuZCAtPSBkaWZmOwogICBybF9saW5lX2J1ZmZlcltybF9lbmRdID0gJ1wwJzsKQEAgLTI2NSwxMSArMjY1LDEzIEBACiAKICAgaWYgKGNvdW50ID4gMCkKICAgICB7Ci0gICAgICBpbnQgZW5kID0gcmxfcG9pbnQgKyBjb3VudDsKKyAgICAgIGludCBlbmQsIGxlbmQ7CisKKyAgICAgIGVuZCA9IHJsX3BvaW50ICsgY291bnQ7CiAjaWYgZGVmaW5lZCAoVklfTU9ERSkKLSAgICAgIGludCBsZW5kID0gcmxfZW5kID4gMCA/IHJsX2VuZCAtIChWSV9DT01NQU5EX01PREUoKSkgOiBybF9lbmQ7CisgICAgICBsZW5kID0gcmxfZW5kID4gMCA/IHJsX2VuZCAtIChWSV9DT01NQU5EX01PREUoKSkgOiBybF9lbmQ7CiAjZWxzZQotICAgICAgaW50IGxlbmQgPSBybF9lbmQ7CisgICAgICBsZW5kID0gcmxfZW5kOwogI2VuZGlmCiAKICAgICAgIGlmIChlbmQgPiBsZW5kKQpAQCAtMjg3LDYgKzI4OSwzMSBAQAogICByZXR1cm4gMDsKIH0KIAoraW50CitfcmxfZm9yd2FyZF9jaGFyX2ludGVybmFsIChjb3VudCkKKyAgICAgaW50IGNvdW50OworeworICBpbnQgcG9pbnQ7CisKKyNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorICBwb2ludCA9IF9ybF9maW5kX25leHRfbWJjaGFyIChybF9saW5lX2J1ZmZlciwgcmxfcG9pbnQsIGNvdW50LCBNQl9GSU5EX05PTlpFUk8pOworCisjaWYgZGVmaW5lZCAoVklfTU9ERSkKKyAgaWYgKHBvaW50ID49IHJsX2VuZCAmJiBWSV9DT01NQU5EX01PREUoKSkKKyAgICBwb2ludCA9IF9ybF9maW5kX3ByZXZfbWJjaGFyIChybF9saW5lX2J1ZmZlciwgcmxfZW5kLCBNQl9GSU5EX05PTlpFUk8pOworI2VuZGlmCisKKyAgICBpZiAocmxfZW5kIDwgMCkKKwlybF9lbmQgPSAwOworI2Vsc2UKKyAgcG9pbnQgPSBybF9wb2ludCArIGNvdW50OworICBpZiAocG9pbnQgPiBybF9lbmQpCisgICAgcG9pbnQgPSBybF9lbmQ7CisjZW5kaWYKKworICByZXR1cm4gKHBvaW50KTsKK30KKwogI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUpCiAvKiBNb3ZlIGZvcndhcmQgQ09VTlQgY2hhcmFjdGVycy4gKi8KIGludApAQCAtMzA5LDIwICszMzYsMTIgQEAKIAkgIHJldHVybiAwOwogCX0KIAotICAgICAgcG9pbnQgPSBfcmxfZmluZF9uZXh0X21iY2hhciAocmxfbGluZV9idWZmZXIsIHJsX3BvaW50LCBjb3VudCwgTUJfRklORF9OT05aRVJPKTsKLQotI2lmIGRlZmluZWQgKFZJX01PREUpCi0gICAgICBpZiAocG9pbnQgPj0gcmxfZW5kICYmIFZJX0NPTU1BTkRfTU9ERSgpKQotCXBvaW50ID0gX3JsX2ZpbmRfcHJldl9tYmNoYXIgKHJsX2xpbmVfYnVmZmVyLCBybF9lbmQsIE1CX0ZJTkRfTk9OWkVSTyk7Ci0jZW5kaWYKKyAgICAgIHBvaW50ID0gX3JsX2ZvcndhcmRfY2hhcl9pbnRlcm5hbCAoY291bnQpOwogCiAgICAgICBpZiAocmxfcG9pbnQgPT0gcG9pbnQpCiAJcmxfZGluZyAoKTsKIAogICAgICAgcmxfcG9pbnQgPSBwb2ludDsKLQotICAgICAgaWYgKHJsX2VuZCA8IDApCi0JcmxfZW5kID0gMDsKICAgICB9CiAKICAgcmV0dXJuIDA7CkBAIC03NTIsNyArNzcxLDcgQEAKIAogICAgICAgc3RyaW5nW2ldID0gJ1wwJzsKICAgICAgIHJsX2luc2VydF90ZXh0IChzdHJpbmcpOwotICAgICAgZnJlZSAoc3RyaW5nKTsKKyAgICAgIHhmcmVlIChzdHJpbmcpOwogCiAgICAgICByZXR1cm4gMDsKICAgICB9CkBAIC03NzksNyArNzk4LDcgQEAKIAkgIGNvdW50IC09IGRlY3JlYXNlcjsKIAl9CiAKLSAgICAgIGZyZWUgKHN0cmluZyk7CisgICAgICB4ZnJlZSAoc3RyaW5nKTsKICAgICAgIGluY29taW5nX2xlbmd0aCA9IDA7CiAgICAgICBzdG9yZWRfY291bnQgPSAwOwogI2Vsc2UgLyogIUhBTkRMRV9NVUxUSUJZVEUgKi8KQEAgLTgwNSw4ICs4MjQsOSBAQAogICAgICAgLyogV2UgYXJlIGluc2VydGluZyBhIHNpbmdsZSBjaGFyYWN0ZXIuCiAJIElmIHRoZXJlIGlzIHBlbmRpbmcgaW5wdXQsIHRoZW4gbWFrZSBhIHN0cmluZyBvZiBhbGwgb2YgdGhlCiAJIHBlbmRpbmcgY2hhcmFjdGVycyB0aGF0IGFyZSBib3VuZCB0byBybF9pbnNlcnQsIGFuZCBpbnNlcnQKLQkgdGhlbSBhbGwuICovCi0gICAgICBpZiAoX3JsX2FueV90eXBlaW4gKCkpCisJIHRoZW0gYWxsLiAgRG9uJ3QgZG8gdGhpcyBpZiB3ZSdyZSBjdXJyZW50IHJlYWRpbmcgaW5wdXQgZnJvbQorCSBhIG1hY3JvLiAqLworICAgICAgaWYgKChSTF9JU1NUQVRFIChSTF9TVEFURV9NQUNST0lOUFVUKSA9PSAwKSAmJiBfcmxfYW55X3R5cGVpbiAoKSkKIAlfcmxfaW5zZXJ0X3R5cGVpbiAoYyk7CiAgICAgICBlbHNlCiAJewpAQCAtMTQwNyw4ICsxNDI3LDggQEAKIAogICAvKiBJIHRoaW5rIHRoYXQgZG9lcyBpdC4gKi8KICAgcmxfZW5kX3VuZG9fZ3JvdXAgKCk7Ci0gIGZyZWUgKHdvcmQxKTsKLSAgZnJlZSAod29yZDIpOworICB4ZnJlZSAod29yZDEpOworICB4ZnJlZSAod29yZDIpOwogCiAgIHJldHVybiAwOwogfQpAQCAtMTQ2Nyw3ICsxNDg3LDcgQEAKICAgcmxfZW5kX3VuZG9fZ3JvdXAgKCk7CiAKICNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQotICBmcmVlIChkdW1teSk7CisgIHhmcmVlIChkdW1teSk7CiAjZW5kaWYKIAogICByZXR1cm4gMDsKQEAgLTE0OTUsNiArMTUxNSw5IEBACiAgIGludCBwcmVwb3M7CiAjZW5kaWYKIAorICBpZiAoZGlyID09IDApCisgICAgcmV0dXJuIC0xOworCiAgIHBvcyA9IHJsX3BvaW50OwogICBpbmMgPSAoZGlyIDwgMCkgPyAtMSA6IDE7CiAgIHdoaWxlIChjb3VudCkKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS90aWxkZS5jIGIvbGliL3JlYWRsaW5lL3RpbGRlLmMKaW5kZXggMDg4ZmYxNS4uMWM1M2E0NSAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL3RpbGRlLmMKKysrIGIvbGliL3JlYWRsaW5lL3RpbGRlLmMKQEAgLTM3OCw3ICszNzgsNyBAQAogCXsKIAkgIGRpcm5hbWUgPSBnbHVlX3ByZWZpeF9hbmRfc3VmZml4IChleHBhbnNpb24sIGZpbGVuYW1lLCB1c2VyX2xlbik7CiAJICB4ZnJlZSAodXNlcm5hbWUpOwotCSAgZnJlZSAoZXhwYW5zaW9uKTsKKwkgIHhmcmVlIChleHBhbnNpb24pOwogCSAgcmV0dXJuIChkaXJuYW1lKTsKIAl9CiAgICAgfQpAQCAtNDAxLDcgKzQwMSw3IEBACiAJICBpZiAoZXhwYW5zaW9uKQogCSAgICB7CiAJICAgICAgZGlybmFtZSA9IGdsdWVfcHJlZml4X2FuZF9zdWZmaXggKGV4cGFuc2lvbiwgZmlsZW5hbWUsIHVzZXJfbGVuKTsKLQkgICAgICBmcmVlIChleHBhbnNpb24pOworCSAgICAgIHhmcmVlIChleHBhbnNpb24pOwogCSAgICB9CiAJfQogICAgICAgLyogSWYgd2UgZG9uJ3QgaGF2ZSBhIGZhaWx1cmUgaG9vaywgb3IgaWYgdGhlIGZhaWx1cmUgaG9vayBkaWQgbm90CmRpZmYgLS1naXQgYS9saWIvcmVhZGxpbmUvdXRpbC5jIGIvbGliL3JlYWRsaW5lL3V0aWwuYwppbmRleCA2YmI2NGMyLi42YzY4YWQ4IDEwMDY0NAotLS0gYS9saWIvcmVhZGxpbmUvdXRpbC5jCisrKyBiL2xpYi9yZWFkbGluZS91dGlsLmMKQEAgLTEsNiArMSw2IEBACiAvKiB1dGlsLmMgLS0gcmVhZGxpbmUgdXRpbGl0eSBmdW5jdGlvbnMgKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5ODctMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBSZWFkbGluZSBMaWJyYXJ5IChSZWFkbGluZSksIGEgbGlicmFyeQogICAgZm9yIHJlYWRpbmcgbGluZXMgb2YgdGV4dCB3aXRoIGludGVyYWN0aXZlIGlucHV0IGFuZCBoaXN0b3J5IGVkaXRpbmcuICAgICAgCkBAIC0zNjYsNDEgKzM2Niw1NiBAQAogCiAjaWYgIWRlZmluZWQgKEhBVkVfU1RSQ0FTRUNNUCkKIC8qIENvbXBhcmUgYXQgbW9zdCBDT1VOVCBjaGFyYWN0ZXJzIGZyb20gc3RyaW5nMSB0byBzdHJpbmcyLiAgQ2FzZQotICAgZG9lc24ndCBtYXR0ZXIuICovCisgICBkb2Vzbid0IG1hdHRlciAoc3RybmNhc2VjbXApLiAqLwogaW50CiBfcmxfc3RybmljbXAgKHN0cmluZzEsIHN0cmluZzIsIGNvdW50KQogICAgICBjaGFyICpzdHJpbmcxLCAqc3RyaW5nMjsKICAgICAgaW50IGNvdW50OwogewotICByZWdpc3RlciBjaGFyIGNoMSwgY2gyOworICByZWdpc3RlciBjaGFyICpzMSwgKnMyOworICBpbnQgZDsKIAotICB3aGlsZSAoY291bnQpCisgIGlmIChjb3VudCA8PSAwIHx8IChzdHJpbmcxID09IHN0cmluZzIpKQorICAgIHJldHVybiAwOworCisgIHMxID0gc3RyaW5nMTsKKyAgczIgPSBzdHJpbmcyOworICBkbwogICAgIHsKLSAgICAgIGNoMSA9ICpzdHJpbmcxKys7Ci0gICAgICBjaDIgPSAqc3RyaW5nMisrOwotICAgICAgaWYgKF9ybF90b191cHBlcihjaDEpID09IF9ybF90b191cHBlcihjaDIpKQotCWNvdW50LS07Ci0gICAgICBlbHNlCisgICAgICBkID0gX3JsX3RvX2xvd2VyICgqczEpIC0gX3JsX3RvX2xvd2VyICgqczIpOwkvKiBYWFggLSBjYXN0IHRvIHVuc2lnbmVkIGNoYXI/ICovCisgICAgICBpZiAoZCAhPSAwKQorCXJldHVybiBkOworICAgICAgaWYgKCpzMSsrID09ICdcMCcpCiAgICAgICAgIGJyZWFrOworICAgICAgczIrKzsKICAgICB9Ci0gIHJldHVybiAoY291bnQpOworICB3aGlsZSAoLS1jb3VudCAhPSAwKQorCisgIHJldHVybiAoMCk7CiB9CiAKLS8qIHN0cmNtcCAoKSwgYnV0IGNhc2VsZXNzLiAqLworLyogc3RyY21wICgpLCBidXQgY2FzZWxlc3MgKHN0cmNhc2VjbXApLiAqLwogaW50CiBfcmxfc3RyaWNtcCAoc3RyaW5nMSwgc3RyaW5nMikKICAgICAgY2hhciAqc3RyaW5nMSwgKnN0cmluZzI7CiB7Ci0gIHJlZ2lzdGVyIGNoYXIgY2gxLCBjaDI7CisgIHJlZ2lzdGVyIGNoYXIgKnMxLCAqczI7CisgIGludCBkOwogCi0gIHdoaWxlICgqc3RyaW5nMSAmJiAqc3RyaW5nMikKKyAgczEgPSBzdHJpbmcxOworICBzMiA9IHN0cmluZzI7CisKKyAgaWYgKHMxID09IHMyKQorICAgIHJldHVybiAwOworCisgIHdoaWxlICgoZCA9IF9ybF90b19sb3dlciAoKnMxKSAtIF9ybF90b19sb3dlciAoKnMyKSkgPT0gMCkKICAgICB7Ci0gICAgICBjaDEgPSAqc3RyaW5nMSsrOwotICAgICAgY2gyID0gKnN0cmluZzIrKzsKLSAgICAgIGlmIChfcmxfdG9fdXBwZXIoY2gxKSAhPSBfcmxfdG9fdXBwZXIoY2gyKSkKLQlyZXR1cm4gKDEpOworICAgICAgaWYgKCpzMSsrID09ICdcMCcpCisgICAgICAgIHJldHVybiAwOworICAgICAgczIrKzsKICAgICB9Ci0gIHJldHVybiAoKnN0cmluZzEgLSAqc3RyaW5nMik7CisKKyAgcmV0dXJuIChkKTsKIH0KICNlbmRpZiAvKiAhSEFWRV9TVFJDQVNFQ01QICovCiAKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS92aV9tb2RlLmMgYi9saWIvcmVhZGxpbmUvdmlfbW9kZS5jCmluZGV4IDJhMTIwYzAuLjQxZTFkYmIgMTAwNjQ0Ci0tLSBhL2xpYi9yZWFkbGluZS92aV9tb2RlLmMKKysrIGIvbGliL3JlYWRsaW5lL3ZpX21vZGUuYwpAQCAtMSw3ICsxLDcgQEAKIC8qIHZpX21vZGUuYyAtLSBBIHZpIGVtdWxhdGlvbiBtb2RlIGZvciBCYXNoLgogICAgRGVyaXZlZCBmcm9tIGNvZGUgd3JpdHRlbiBieSBKZWZmIFNwYXJrZXMgKGpzcGFya2VzQGJuci5jYSkuICAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDE5ODctMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIFJlYWRsaW5lIExpYnJhcnkgKFJlYWRsaW5lKSwgYSBsaWJyYXJ5CiAgICBmb3IgcmVhZGluZyBsaW5lcyBvZiB0ZXh0IHdpdGggaW50ZXJhY3RpdmUgaW5wdXQgYW5kIGhpc3RvcnkgZWRpdGluZy4gICAgICAKQEAgLTY1LDYgKzY1LDggQEAKIAogaW50IF9ybF92aV9sYXN0X2NvbW1hbmQgPSAnaSc7CS8qIGRlZmF1bHQgYC4nIHB1dHMgeW91IGluIGluc2VydCBtb2RlICovCiAKK19ybF92aW1vdGlvbl9jeHQgKl9ybF92aW12Y3h0ID0gMDsKKwogLyogTm9uLXplcm8gbWVhbnMgZW50ZXIgaW5zZXJ0aW9uIG1vZGUuICovCiBzdGF0aWMgaW50IF9ybF92aV9kb2luZ19pbnNlcnQ7CiAKQEAgLTEyOCw2ICsxMzAsMTYgQEAKIHN0YXRpYyBpbnQgX3JsX3ZpX2NhbGxiYWNrX2NoYXJfc2VhcmNoIFBBUkFNUygoX3JsX2NhbGxiYWNrX2dlbmVyaWNfYXJnICopKTsKICNlbmRpZgogCitzdGF0aWMgaW50IHJsX2RvbW92ZV9yZWFkX2NhbGxiYWNrIFBBUkFNUygoX3JsX3ZpbW90aW9uX2N4dCAqKSk7CitzdGF0aWMgaW50IHJsX2RvbW92ZV9tb3Rpb25fY2FsbGJhY2sgUEFSQU1TKChfcmxfdmltb3Rpb25fY3h0ICopKTsKK3N0YXRpYyBpbnQgcmxfdmlfZG9tb3ZlX2dldGNoYXIgUEFSQU1TKChfcmxfdmltb3Rpb25fY3h0ICopKTsKKworc3RhdGljIGludCB2aV9jaGFuZ2VfZGlzcGF0Y2ggUEFSQU1TKChfcmxfdmltb3Rpb25fY3h0ICopKTsKK3N0YXRpYyBpbnQgdmlfZGVsZXRlX2Rpc3BhdGNoIFBBUkFNUygoX3JsX3ZpbW90aW9uX2N4dCAqKSk7CitzdGF0aWMgaW50IHZpX3lhbmtfZGlzcGF0Y2ggUEFSQU1TKChfcmxfdmltb3Rpb25fY3h0ICopKTsKKworc3RhdGljIGludCB2aWRvbW92ZV9kaXNwYXRjaCBQQVJBTVMoKF9ybF92aW1vdGlvbl9jeHQgKikpOworCiB2b2lkCiBfcmxfdmlfaW5pdGlhbGl6ZV9saW5lICgpCiB7CkBAIC02MTgsMTIgKzYzMCwxNiBAQAogICAgICAgaWYgKE1CX0NVUl9NQVggPT0gMSB8fCBybF9ieXRlX29yaWVudGVkKQogCXJsX3BvaW50Kys7CiAgICAgICBlbHNlCi0gICAgICAgIHsKLSAgICAgICAgICBwb2ludCA9IHJsX3BvaW50OwotICAgICAgICAgIHJsX2ZvcndhcmRfY2hhciAoMSwga2V5KTsKLSAgICAgICAgICBpZiAocG9pbnQgPT0gcmxfcG9pbnQpCi0gICAgICAgICAgICBybF9wb2ludCA9IHJsX2VuZDsKLSAgICAgICAgfQorCXsKKwkgIHBvaW50ID0gcmxfcG9pbnQ7CisjaWYgMAorCSAgcmxfZm9yd2FyZF9jaGFyICgxLCBrZXkpOworI2Vsc2UKKwkgIHJsX3BvaW50ID0gX3JsX2ZvcndhcmRfY2hhcl9pbnRlcm5hbCAoMSk7CisjZW5kaWYKKwkgIGlmIChwb2ludCA9PSBybF9wb2ludCkKKwkgICAgcmxfcG9pbnQgPSBybF9lbmQ7CisJfQogICAgIH0KIH0KIApAQCAtNzIxLDcgKzczNyw3IEBACiAJCQkgICBfcmxfdmlfbGFzdF9rZXlfYmVmb3JlX2luc2VydCA9PSAnYScgfHwKIAkJCSAgIF9ybF92aV9sYXN0X2tleV9iZWZvcmVfaW5zZXJ0ID09ICdJJyB8fAogCQkJICAgX3JsX3ZpX2xhc3Rfa2V5X2JlZm9yZV9pbnNlcnQgPT0gJ0EnKSkKLSAgICAgICAgX3JsX3ZpX3NhdmVfaW5zZXJ0IChybF91bmRvX2xpc3QpOworCV9ybF92aV9zYXZlX2luc2VydCAocmxfdW5kb19saXN0KTsKICAgICAgIC8qIFhYWCAtIE90aGVyIGtleXMgcHJvYmFibHkgbmVlZCB0byBiZSBjaGVja2VkLiAqLwogICAgICAgZWxzZSBpZiAoX3JsX3ZpX2xhc3Rfa2V5X2JlZm9yZV9pbnNlcnQgPT0gJ0MnKQogCXJsX2VuZF91bmRvX2dyb3VwICgpOwpAQCAtNzgxLDcgKzc5Nyw3IEBACiAgICAgICBpZiAoTUJfSU5WQUxJRENIIChtKSkKIAl3YyA9ICh3Y2hhcl90KXJsX2xpbmVfYnVmZmVyW3JsX3BvaW50XTsKICAgICAgIGVsc2UgaWYgKE1CX05VTExXQ0ggKG0pKQotICAgICAgICB3YyA9IEwnXDAnOworCXdjID0gTCdcMCc7CiAgICAgICBpZiAoaXN3dXBwZXIgKHdjKSkKIAl3YyA9IHRvd2xvd2VyICh3Yyk7CiAgICAgICBlbHNlIGlmIChpc3dsb3dlciAod2MpKQpAQCAtODA5LDcgKzgyNSw3IEBACiAJICBybF92aV9jaGVjayAoKTsKIAl9CiAgICAgICBlbHNlCi0gICAgICAgIHJsX2ZvcndhcmRfY2hhciAoMSwgMCk7CisJcmxfZm9yd2FyZF9jaGFyICgxLCAwKTsKICAgICB9CiAKICAgcmV0dXJuIDA7CkBAIC04NTYsNyArODcyLDcgQEAKIAkgIF9ybF9pbnNlcnRfY2hhciAoMSwgYyk7CiAJICBybF9lbmRfdW5kb19ncm91cCAoKTsKIAkgIHJsX3ZpX2NoZWNrICgpOwotICAgICAgICB9CisJfQogICAgICAgZWxzZQogCXJsX2ZvcndhcmRfY2hhciAoMSwgYyk7CiAgICAgfQpAQCAtODk0LDcgKzkxMCw3IEBACiAgICAgICBpZiAoTUJfQ1VSX01BWCA+IDEgJiYgcmxfYnl0ZV9vcmllbnRlZCA9PSAwKQogCXJsX3BvaW50ID0gX3JsX2ZpbmRfcHJldl9tYmNoYXIgKHJsX2xpbmVfYnVmZmVyLCBybF9wb2ludCwgTUJfRklORF9OT05aRVJPKTsKICAgICAgIGVsc2UKLSAgICAgICAgcmxfcG9pbnQtLTsKKwlybF9wb2ludC0tOwogICAgIH0KICAgcmV0dXJuICgwKTsKIH0KQEAgLTkxMCwxMTMgKzkyNiw2IEBACiAgIHJldHVybiAoMCk7CiB9CiAKLWludAotcmxfdmlfZG9tb3ZlIChrZXksIG5leHRrZXkpCi0gICAgIGludCBrZXksICpuZXh0a2V5OwotewotICBpbnQgYywgc2F2ZTsKLSAgaW50IG9sZF9lbmQ7Ci0KLSAgcmxfbWFyayA9IHJsX3BvaW50OwotICBSTF9TRVRTVEFURShSTF9TVEFURV9NT1JFSU5QVVQpOwotICBjID0gcmxfcmVhZF9rZXkgKCk7Ci0gIFJMX1VOU0VUU1RBVEUoUkxfU1RBVEVfTU9SRUlOUFVUKTsKLQotICBpZiAoYyA8IDApCi0gICAgewotICAgICAgKm5leHRrZXkgPSAwOwotICAgICAgcmV0dXJuIC0xOwotICAgIH0KLQotICAqbmV4dGtleSA9IGM7Ci0KLSAgaWYgKCFtZW1iZXIgKGMsIHZpX21vdGlvbikpCi0gICAgewotICAgICAgaWYgKF9ybF9kaWdpdF9wIChjKSkKLQl7Ci0JICBzYXZlID0gcmxfbnVtZXJpY19hcmc7Ci0JICBybF9udW1lcmljX2FyZyA9IF9ybF9kaWdpdF92YWx1ZSAoYyk7Ci0JICBybF9leHBsaWNpdF9hcmcgPSAxOwotCSAgUkxfU0VUU1RBVEUgKFJMX1NUQVRFX05VTUVSSUNBUkd8UkxfU1RBVEVfVklNT1RJT04pOwotCSAgcmxfZGlnaXRfbG9vcDEgKCk7Ci0JICBSTF9VTlNFVFNUQVRFIChSTF9TVEFURV9WSU1PVElPTik7Ci0JICBybF9udW1lcmljX2FyZyAqPSBzYXZlOwotCSAgUkxfU0VUU1RBVEUoUkxfU1RBVEVfTU9SRUlOUFVUKTsKLQkgIGMgPSBybF9yZWFkX2tleSAoKTsJLyogcmVhbCBjb21tYW5kICovCi0JICBSTF9VTlNFVFNUQVRFKFJMX1NUQVRFX01PUkVJTlBVVCk7Ci0JICBpZiAoYyA8IDApCi0JICAgIHsKLQkgICAgICAqbmV4dGtleSA9IDA7Ci0JICAgICAgcmV0dXJuIC0xOwotCSAgICB9Ci0JICAqbmV4dGtleSA9IGM7Ci0JfQotICAgICAgZWxzZSBpZiAoa2V5ID09IGMgJiYgKGtleSA9PSAnZCcgfHwga2V5ID09ICd5JyB8fCBrZXkgPT0gJ2MnKSkKLQl7Ci0JICBybF9tYXJrID0gcmxfZW5kOwotCSAgcmxfYmVnX29mX2xpbmUgKDEsIGMpOwotCSAgX3JsX3ZpX2xhc3RfbW90aW9uID0gYzsKLQkgIHJldHVybiAoMCk7Ci0JfQotICAgICAgZWxzZQotCXJldHVybiAoLTEpOwotICAgIH0KLQotICBfcmxfdmlfbGFzdF9tb3Rpb24gPSBjOwotCi0gIC8qIEFwcGVuZCBhIGJsYW5rIGNoYXJhY3RlciB0ZW1wb3JhcmlseSBzbyB0aGF0IHRoZSBtb3Rpb24gcm91dGluZXMKLSAgICAgd29yayByaWdodCBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLiAqLwotICBvbGRfZW5kID0gcmxfZW5kOwotICBybF9saW5lX2J1ZmZlcltybF9lbmQrK10gPSAnICc7Ci0gIHJsX2xpbmVfYnVmZmVyW3JsX2VuZF0gPSAnXDAnOwotCi0gIF9ybF9kaXNwYXRjaCAoYywgX3JsX2tleW1hcCk7Ci0KLSAgLyogUmVtb3ZlIHRoZSBibGFuayB0aGF0IHdlIGFkZGVkLiAqLwotICBybF9lbmQgPSBvbGRfZW5kOwotICBybF9saW5lX2J1ZmZlcltybF9lbmRdID0gJ1wwJzsKLSAgaWYgKHJsX3BvaW50ID4gcmxfZW5kKQotICAgIHJsX3BvaW50ID0gcmxfZW5kOwotCi0gIC8qIE5vIGNoYW5nZSBpbiBwb3NpdGlvbiBtZWFucyB0aGUgY29tbWFuZCBmYWlsZWQuICovCi0gIGlmIChybF9tYXJrID09IHJsX3BvaW50KQotICAgIHJldHVybiAoLTEpOwotCi0gIC8qIHJsX3ZpX2Zbd1ddb3JkICgpIGxlYXZlcyB0aGUgY3Vyc29yIG9uIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlIG5leHQKLSAgICAgd29yZC4gIElmIHdlIGFyZSBub3QgYXQgdGhlIGVuZCBvZiB0aGUgbGluZSwgYW5kIHdlIGFyZSBvbiBhCi0gICAgIG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciwgbW92ZSBiYWNrIG9uZSAocHJlc3VtYWJseSB0byB3aGl0ZXNwYWNlKS4gKi8KLSAgaWYgKChfcmxfdG9fdXBwZXIgKGMpID09ICdXJykgJiYgcmxfcG9pbnQgPCBybF9lbmQgJiYgcmxfcG9pbnQgPiBybF9tYXJrICYmCi0gICAgICAhd2hpdGVzcGFjZSAocmxfbGluZV9idWZmZXJbcmxfcG9pbnRdKSkKLSAgICBybF9wb2ludC0tOwotCi0gIC8qIElmIGN3IG9yIGNXLCBiYWNrIHVwIHRvIHRoZSBlbmQgb2YgYSB3b3JkLCBzbyB0aGUgYmVoYXZpb3VyIG9mIGNlCi0gICAgIG9yIGNFIGlzIHRoZSBhY3R1YWwgcmVzdWx0LiAgQnJ1dGUtZm9yY2UsIG5vIHN1YnRsZXR5LiAqLwotICBpZiAoa2V5ID09ICdjJyAmJiBybF9wb2ludCA+PSBybF9tYXJrICYmIChfcmxfdG9fdXBwZXIgKGMpID09ICdXJykpCi0gICAgewotICAgICAgLyogRG9uJ3QgbW92ZSBmYXJ0aGVyIGJhY2sgdGhhbiB3aGVyZSB3ZSBzdGFydGVkLiAqLwotICAgICAgd2hpbGUgKHJsX3BvaW50ID4gcmxfbWFyayAmJiB3aGl0ZXNwYWNlIChybF9saW5lX2J1ZmZlcltybF9wb2ludF0pKQotCXJsX3BvaW50LS07Ci0KLSAgICAgIC8qIFBvc2l4LjIgc2F5cyB0aGF0IGlmIGN3IG9yIGNXIG1vdmVzIHRoZSBjdXJzb3IgdG93YXJkcyB0aGUgZW5kIG9mCi0JIHRoZSBsaW5lLCB0aGUgY2hhcmFjdGVyIHVuZGVyIHRoZSBjdXJzb3Igc2hvdWxkIGJlIGRlbGV0ZWQuICovCi0gICAgICBpZiAocmxfcG9pbnQgPT0gcmxfbWFyaykKLSAgICAgICAgcmxfcG9pbnQrKzsKLSAgICAgIGVsc2UKLQl7Ci0JICAvKiBNb3ZlIHBhc3QgdGhlIGVuZCBvZiB0aGUgd29yZCBzbyB0aGF0IHRoZSBraWxsIGRvZXNuJ3QKLQkgICAgIHJlbW92ZSB0aGUgbGFzdCBsZXR0ZXIgb2YgdGhlIHByZXZpb3VzIHdvcmQuICBPbmx5IGRvIHRoaXMKLQkgICAgIGlmIHdlIGFyZSBub3QgYXQgdGhlIGVuZCBvZiB0aGUgbGluZS4gKi8KLQkgIGlmIChybF9wb2ludCA+PSAwICYmIHJsX3BvaW50IDwgKHJsX2VuZCAtIDEpICYmICF3aGl0ZXNwYWNlIChybF9saW5lX2J1ZmZlcltybF9wb2ludF0pKQotCSAgICBybF9wb2ludCsrOwotCX0KLSAgICB9Ci0KLSAgaWYgKHJsX21hcmsgPCBybF9wb2ludCkKLSAgICBTV0FQIChybF9wb2ludCwgcmxfbWFyayk7Ci0KLSAgcmV0dXJuICgwKTsKLX0KLQogLyogUHJvY2VzcyBDIGFzIHBhcnQgb2YgdGhlIGN1cnJlbnQgbnVtZXJpYyBhcmd1bWVudC4gIFJldHVybiAtMSBpZiB0aGUKICAgIGFyZ3VtZW50IHNob3VsZCBiZSBhYm9ydGVkLCAwIGlmIHdlIHNob3VsZCBub3QgcmVhZCBhbnkgbW9yZSBjaGFycywgYW5kCiAgICAxIGlmIHdlIHNob3VsZCBjb250aW51ZSB0byByZWFkIGNoYXJzLiAqLwpAQCAtMTA0MiwxMyArOTUxLDEzIEBACiAgICAgICBlbHNlCiAJcmxfbnVtZXJpY19hcmcgPSBfcmxfZGlnaXRfdmFsdWUgKGMpOwogICAgICAgcmxfZXhwbGljaXRfYXJnID0gMTsKLSAgICAgIHJldHVybiAxOworICAgICAgcmV0dXJuIDE7CQkvKiBrZWVwIGdvaW5nICovCiAgICAgfQogICBlbHNlCiAgICAgewogICAgICAgcmxfY2xlYXJfbWVzc2FnZSAoKTsKICAgICAgIHJsX3N0dWZmX2NoYXIgKGtleSk7Ci0gICAgICByZXR1cm4gMDsKKyAgICAgIHJldHVybiAwOwkJLyogZG9uZSAqLwogICAgIH0KIH0KIApAQCAtMTA3NiwyOCArOTg1LDIzMyBAQAogICByZXR1cm4gKDApOwogfQogCi1pbnQKLXJsX3ZpX2RlbGV0ZV90byAoY291bnQsIGtleSkKLSAgICAgaW50IGNvdW50LCBrZXk7CitzdGF0aWMgdm9pZAorX3JsX212Y3h0X2luaXQgKG0sIG9wLCBrZXkpCisgICAgIF9ybF92aW1vdGlvbl9jeHQgKm07CisgICAgIGludCBvcCwga2V5OwogewotICBpbnQgYywgc3RhcnRfcG9zOworICBtLT5vcCA9IG9wOworICBtLT5zdGF0ZSA9IG0tPmZsYWdzID0gMDsKKyAgbS0+bmN4dCA9IDA7CisgIG0tPm51bWVyaWNfYXJnID0gLTE7CisgIG0tPnN0YXJ0ID0gcmxfcG9pbnQ7CisgIG0tPmVuZCA9IHJsX2VuZDsKKyAgbS0+a2V5ID0ga2V5OworICBtLT5tb3Rpb24gPSAtMTsKK30KIAotICBpZiAoX3JsX3VwcGVyY2FzZV9wIChrZXkpKQotICAgIHJsX3N0dWZmX2NoYXIgKCckJyk7Ci0gIGVsc2UgaWYgKHZpX3JlZG9pbmcpCi0gICAgcmxfc3R1ZmZfY2hhciAoX3JsX3ZpX2xhc3RfbW90aW9uKTsKK3N0YXRpYyBfcmxfdmltb3Rpb25fY3h0ICoKK19ybF9tdmN4dF9hbGxvYyAob3AsIGtleSkKKyAgICAgaW50IG9wLCBrZXk7Cit7CisgIF9ybF92aW1vdGlvbl9jeHQgKm07CiAKLSAgc3RhcnRfcG9zID0gcmxfcG9pbnQ7CisgIG0gPSB4bWFsbG9jIChzaXplb2YgKF9ybF92aW1vdGlvbl9jeHQpKTsKKyAgX3JsX212Y3h0X2luaXQgKG0sIG9wLCBrZXkpOworICByZXR1cm4gbTsKK30KIAotICBpZiAocmxfdmlfZG9tb3ZlIChrZXksICZjKSkKK3N0YXRpYyB2b2lkCitfcmxfbXZjeHRfZGlzcG9zZSAobSkKKyAgICAgX3JsX3ZpbW90aW9uX2N4dCAqbTsKK3sKKyAgeGZyZWUgKG0pOworfQorCitzdGF0aWMgaW50CitybF9kb21vdmVfbW90aW9uX2NhbGxiYWNrIChtKQorICAgICBfcmxfdmltb3Rpb25fY3h0ICptOworeworICBpbnQgYywgc2F2ZSwgcjsKKyAgaW50IG9sZF9lbmQ7CisKKyAgX3JsX3ZpX2xhc3RfbW90aW9uID0gYyA9IG0tPm1vdGlvbjsKKworICAvKiBBcHBlbmQgYSBibGFuayBjaGFyYWN0ZXIgdGVtcG9yYXJpbHkgc28gdGhhdCB0aGUgbW90aW9uIHJvdXRpbmVzCisgICAgIHdvcmsgcmlnaHQgYXQgdGhlIGVuZCBvZiB0aGUgbGluZS4gKi8KKyAgb2xkX2VuZCA9IHJsX2VuZDsKKyAgcmxfbGluZV9idWZmZXJbcmxfZW5kKytdID0gJyAnOworICBybF9saW5lX2J1ZmZlcltybF9lbmRdID0gJ1wwJzsKKworICBfcmxfZGlzcGF0Y2ggKGMsIF9ybF9rZXltYXApOworCisgIC8qIFJlbW92ZSB0aGUgYmxhbmsgdGhhdCB3ZSBhZGRlZC4gKi8KKyAgcmxfZW5kID0gb2xkX2VuZDsKKyAgcmxfbGluZV9idWZmZXJbcmxfZW5kXSA9ICdcMCc7CisgIGlmIChybF9wb2ludCA+IHJsX2VuZCkKKyAgICBybF9wb2ludCA9IHJsX2VuZDsKKworICAvKiBObyBjaGFuZ2UgaW4gcG9zaXRpb24gbWVhbnMgdGhlIGNvbW1hbmQgZmFpbGVkLiAqLworICBpZiAocmxfbWFyayA9PSBybF9wb2ludCkKKyAgICByZXR1cm4gKC0xKTsKKworICAvKiBybF92aV9mW3dXXW9yZCAoKSBsZWF2ZXMgdGhlIGN1cnNvciBvbiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSBuZXh0CisgICAgIHdvcmQuICBJZiB3ZSBhcmUgbm90IGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUsIGFuZCB3ZSBhcmUgb24gYQorICAgICBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIsIG1vdmUgYmFjayBvbmUgKHByZXN1bWFibHkgdG8gd2hpdGVzcGFjZSkuICovCisgIGlmICgoX3JsX3RvX3VwcGVyIChjKSA9PSAnVycpICYmIHJsX3BvaW50IDwgcmxfZW5kICYmIHJsX3BvaW50ID4gcmxfbWFyayAmJgorICAgICAgIXdoaXRlc3BhY2UgKHJsX2xpbmVfYnVmZmVyW3JsX3BvaW50XSkpCisgICAgcmxfcG9pbnQtLTsKKworICAvKiBJZiBjdyBvciBjVywgYmFjayB1cCB0byB0aGUgZW5kIG9mIGEgd29yZCwgc28gdGhlIGJlaGF2aW91ciBvZiBjZQorICAgICBvciBjRSBpcyB0aGUgYWN0dWFsIHJlc3VsdC4gIEJydXRlLWZvcmNlLCBubyBzdWJ0bGV0eS4gKi8KKyAgaWYgKG0tPmtleSA9PSAnYycgJiYgcmxfcG9pbnQgPj0gcmxfbWFyayAmJiAoX3JsX3RvX3VwcGVyIChjKSA9PSAnVycpKQogICAgIHsKLSAgICAgIHJsX2RpbmcgKCk7CisgICAgICAvKiBEb24ndCBtb3ZlIGZhcnRoZXIgYmFjayB0aGFuIHdoZXJlIHdlIHN0YXJ0ZWQuICovCisgICAgICB3aGlsZSAocmxfcG9pbnQgPiBybF9tYXJrICYmIHdoaXRlc3BhY2UgKHJsX2xpbmVfYnVmZmVyW3JsX3BvaW50XSkpCisJcmxfcG9pbnQtLTsKKworICAgICAgLyogUG9zaXguMiBzYXlzIHRoYXQgaWYgY3cgb3IgY1cgbW92ZXMgdGhlIGN1cnNvciB0b3dhcmRzIHRoZSBlbmQgb2YKKwkgdGhlIGxpbmUsIHRoZSBjaGFyYWN0ZXIgdW5kZXIgdGhlIGN1cnNvciBzaG91bGQgYmUgZGVsZXRlZC4gKi8KKyAgICAgIGlmIChybF9wb2ludCA9PSBybF9tYXJrKQorCXJsX3BvaW50Kys7CisgICAgICBlbHNlCisJeworCSAgLyogTW92ZSBwYXN0IHRoZSBlbmQgb2YgdGhlIHdvcmQgc28gdGhhdCB0aGUga2lsbCBkb2Vzbid0CisJICAgICByZW1vdmUgdGhlIGxhc3QgbGV0dGVyIG9mIHRoZSBwcmV2aW91cyB3b3JkLiAgT25seSBkbyB0aGlzCisJICAgICBpZiB3ZSBhcmUgbm90IGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUuICovCisJICBpZiAocmxfcG9pbnQgPj0gMCAmJiBybF9wb2ludCA8IChybF9lbmQgLSAxKSAmJiAhd2hpdGVzcGFjZSAocmxfbGluZV9idWZmZXJbcmxfcG9pbnRdKSkKKwkgICAgcmxfcG9pbnQrKzsKKwl9CisgICAgfQorCisgIGlmIChybF9tYXJrIDwgcmxfcG9pbnQpCisgICAgU1dBUCAocmxfcG9pbnQsIHJsX21hcmspOworCisjaWYgZGVmaW5lZCAoUkVBRExJTkVfQ0FMTEJBQ0tTKQorICBpZiAoUkxfSVNTVEFURSAoUkxfU1RBVEVfQ0FMTEJBQ0spKQorICAgICgqcmxfcmVkaXNwbGF5X2Z1bmN0aW9uKSgpOwkJLyogbWFrZSBzdXJlIG1vdGlvbiBpcyBkaXNwbGF5ZWQgKi8KKyNlbmRpZgorCisgIHIgPSB2aWRvbW92ZV9kaXNwYXRjaCAobSk7CisKKyAgcmV0dXJuIChyKTsKK30KKworI2RlZmluZSBSTF9WSU1PVkVOVU1BUkcoKQkoUkxfSVNTVEFURSAoUkxfU1RBVEVfVklNT1RJT04pICYmIFJMX0lTU1RBVEUgKFJMX1NUQVRFX05VTUVSSUNBUkcpKQorCitzdGF0aWMgaW50CitybF9kb21vdmVfcmVhZF9jYWxsYmFjayAobSkKKyAgICAgX3JsX3ZpbW90aW9uX2N4dCAqbTsKK3sKKyAgaW50IGMsIHNhdmU7CisKKyAgYyA9IG0tPm1vdGlvbjsKKworICBpZiAobWVtYmVyIChjLCB2aV9tb3Rpb24pKQorICAgIHsKKyNpZiBkZWZpbmVkIChSRUFETElORV9DQUxMQkFDS1MpCisgICAgICAvKiBJZiB3ZSBqdXN0IHJlYWQgYSB2aS1tb2RlIG1vdGlvbiBjb21tYW5kIG51bWVyaWMgYXJndW1lbnQsIHR1cm4gb2ZmCisJIHRoZSBgcmVhZGluZyBudW1lcmljIGFyZycgc3RhdGUgKi8KKyAgICAgIGlmIChSTF9JU1NUQVRFIChSTF9TVEFURV9DQUxMQkFDSykgJiYgUkxfVklNT1ZFTlVNQVJHKCkpCisJUkxfVU5TRVRTVEFURSAoUkxfU1RBVEVfTlVNRVJJQ0FSRyk7CisjZW5kaWYKKyAgICAgIC8qIFNob3VsZCBkbyBldmVyeXRoaW5nLCBpbmNsdWRpbmcgdHVybmluZyBvZmYgUkxfU1RBVEVfVklNT1RJT04gKi8KKyAgICAgIHJldHVybiAocmxfZG9tb3ZlX21vdGlvbl9jYWxsYmFjayAobSkpOworICAgIH0KKyAgZWxzZSBpZiAobS0+a2V5ID09IGMgJiYgKG0tPmtleSA9PSAnZCcgfHwgbS0+a2V5ID09ICd5JyB8fCBtLT5rZXkgPT0gJ2MnKSkKKyAgICB7CisgICAgICBybF9tYXJrID0gcmxfZW5kOworICAgICAgcmxfYmVnX29mX2xpbmUgKDEsIGMpOworICAgICAgX3JsX3ZpX2xhc3RfbW90aW9uID0gYzsKKyAgICAgIFJMX1VOU0VUU1RBVEUgKFJMX1NUQVRFX1ZJTU9USU9OKTsKKyAgICAgIHJldHVybiAoMCk7CisgICAgfQorI2lmIGRlZmluZWQgKFJFQURMSU5FX0NBTExCQUNLUykKKyAgLyogWFhYIC0gdGhlc2UgbmVlZCB0byBoYW5kbGUgcmxfdW5pdmVyc2FsX2FyZ3VtZW50IGJpbmRpbmdzICovCisgIC8qIFJlYWRpbmcgdmkgbW90aW9uIGNoYXIgY29udGludWluZyBudW1lcmljIGFyZ3VtZW50ICovCisgIGVsc2UgaWYgKF9ybF9kaWdpdF9wIChjKSAmJiBSTF9JU1NUQVRFIChSTF9TVEFURV9DQUxMQkFDSykgJiYgUkxfVklNT1ZFTlVNQVJHKCkpCisgICAgeworICAgICAgcmV0dXJuIChfcmxfdmlfYXJnX2Rpc3BhdGNoIChjKSk7CisgICAgfQorICAvKiBSZWFkaW5lIHZpIG1vdGlvbiBjaGFyIHN0YXJ0aW5nIG51bWVyaWMgYXJndW1lbnQgKi8KKyAgZWxzZSBpZiAoX3JsX2RpZ2l0X3AgKGMpICYmIFJMX0lTU1RBVEUgKFJMX1NUQVRFX0NBTExCQUNLKSAmJiBSTF9JU1NUQVRFIChSTF9TVEFURV9WSU1PVElPTikgJiYgKFJMX0lTU1RBVEUgKFJMX1NUQVRFX05VTUVSSUNBUkcpID09IDApKQorICAgIHsKKyAgICAgIFJMX1NFVFNUQVRFIChSTF9TVEFURV9OVU1FUklDQVJHKTsKKyAgICAgIHJldHVybiAoX3JsX3ZpX2FyZ19kaXNwYXRjaCAoYykpOworICAgIH0KKyNlbmRpZgorICBlbHNlIGlmIChfcmxfZGlnaXRfcCAoYykpCisgICAgeworICAgICAgLyogVGhpcyBjb2RlIHBhdGggdGFrZW4gd2hlbiBub3QgaW4gY2FsbGJhY2sgbW9kZSAqLworICAgICAgc2F2ZSA9IHJsX251bWVyaWNfYXJnOworICAgICAgcmxfbnVtZXJpY19hcmcgPSBfcmxfZGlnaXRfdmFsdWUgKGMpOworICAgICAgcmxfZXhwbGljaXRfYXJnID0gMTsKKyAgICAgIFJMX1NFVFNUQVRFIChSTF9TVEFURV9OVU1FUklDQVJHKTsKKyAgICAgIHJsX2RpZ2l0X2xvb3AxICgpOworICAgICAgcmxfbnVtZXJpY19hcmcgKj0gc2F2ZTsKKyAgICAgIGMgPSBybF92aV9kb21vdmVfZ2V0Y2hhciAobSk7CisgICAgICBpZiAoYyA8IDApCisJeworCSAgbS0+bW90aW9uID0gMDsKKwkgIHJldHVybiAtMTsKKwl9CisgICAgICBtLT5tb3Rpb24gPSBjOworICAgICAgcmV0dXJuIChybF9kb21vdmVfbW90aW9uX2NhbGxiYWNrIChtKSk7CisgICAgfQorICBlbHNlCisgICAgeworICAgICAgUkxfVU5TRVRTVEFURSAoUkxfU1RBVEVfVklNT1RJT04pOworICAgICAgUkxfVU5TRVRTVEFURSAoUkxfU1RBVEVfTlVNRVJJQ0FSRyk7CisgICAgICByZXR1cm4gKDEpOworICAgIH0KK30KKworc3RhdGljIGludAorcmxfdmlfZG9tb3ZlX2dldGNoYXIgKG0pCisgICAgIF9ybF92aW1vdGlvbl9jeHQgKm07Cit7CisgIGludCBjOworCisgIFJMX1NFVFNUQVRFKFJMX1NUQVRFX01PUkVJTlBVVCk7CisgIGMgPSBybF9yZWFkX2tleSAoKTsKKyAgUkxfVU5TRVRTVEFURShSTF9TVEFURV9NT1JFSU5QVVQpOworCisgIHJldHVybiBjOworfQorCisjaWYgZGVmaW5lZCAoUkVBRExJTkVfQ0FMTEJBQ0tTKQoraW50CitfcmxfdmlfZG9tb3ZlX2NhbGxiYWNrIChtKQorICAgICBfcmxfdmltb3Rpb25fY3h0ICptOworeworICBpbnQgYywgcjsKKworICBtLT5tb3Rpb24gPSBjID0gcmxfdmlfZG9tb3ZlX2dldGNoYXIgKG0pOworICAvKiBYWFggLSB3aGF0IHRvIGRvIGlmIHRoaXMgcmV0dXJucyAtMT8gIFNob3VsZCB3ZSByZXR1cm4gMSBmb3IgZW9mIHRvCisgICAgIGNhbGxiYWNrIGNvZGU/ICovCisgIHIgPSBybF9kb21vdmVfcmVhZF9jYWxsYmFjayAobSk7CisKKyAgcmV0dXJuICgociA9PSAwKSA/IHIgOiAxKTsJLyogbm9ybWFsaXplIHJldHVybiB2YWx1ZXMgKi8KK30KKyNlbmRpZgorCisvKiBUaGlzIGNvZGUgcGF0aCB0YWtlbiB3aGVuIG5vdCBpbiBjYWxsYmFjayBtb2RlLiAqLworaW50CitybF92aV9kb21vdmUgKHgsIGlnbm9yZSkKKyAgICAgaW50IHgsICppZ25vcmU7Cit7CisgIGludCByOworICBfcmxfdmltb3Rpb25fY3h0ICptOworCisgIG0gPSBfcmxfdmltdmN4dDsKKyAgKmlnbm9yZSA9IG0tPm1vdGlvbiA9IHJsX3ZpX2RvbW92ZV9nZXRjaGFyIChtKTsKKworICBpZiAobS0+bW90aW9uIDwgMCkKKyAgICB7CisgICAgICBtLT5tb3Rpb24gPSAwOwogICAgICAgcmV0dXJuIC0xOwogICAgIH0KIAorICByZXR1cm4gKHJsX2RvbW92ZV9yZWFkX2NhbGxiYWNrIChtKSk7Cit9CisKK3N0YXRpYyBpbnQKK3ZpX2RlbGV0ZV9kaXNwYXRjaCAobSkKKyAgICAgX3JsX3ZpbW90aW9uX2N4dCAqbTsKK3sKICAgLyogVGhlc2UgYXJlIHRoZSBtb3Rpb24gY29tbWFuZHMgdGhhdCBkbyBub3QgcmVxdWlyZSBhZGp1c3RpbmcgdGhlCiAgICAgIG1hcmsuICovCi0gIGlmICgoKHN0cmNociAoIiBsfGheMGJCRlRgIiwgYykgPT0gMCkgJiYgKHJsX3BvaW50ID49IHN0YXJ0X3BvcykpICYmCisgIGlmICgoKHN0cmNociAoIiBsfGheMGJCRlRgIiwgbS0+bW90aW9uKSA9PSAwKSAmJiAocmxfcG9pbnQgPj0gbS0+c3RhcnQpKSAmJgogICAgICAgKHJsX21hcmsgPCBybF9lbmQpKQogICAgIHJsX21hcmsrKzsKIApAQCAtMTEwNiwzNCArMTIyMCw2MSBAQAogfQogCiBpbnQKLXJsX3ZpX2NoYW5nZV90byAoY291bnQsIGtleSkKK3JsX3ZpX2RlbGV0ZV90byAoY291bnQsIGtleSkKICAgICAgaW50IGNvdW50LCBrZXk7CiB7Ci0gIGludCBjLCBzdGFydF9wb3M7CisgIGludCBjLCByOwogCisgIF9ybF92aW12Y3h0ID0gX3JsX212Y3h0X2FsbG9jIChWSU1fREVMRVRFLCBrZXkpOworICBfcmxfdmltdmN4dC0+c3RhcnQgPSBybF9wb2ludDsKKworICBybF9tYXJrID0gcmxfcG9pbnQ7CiAgIGlmIChfcmxfdXBwZXJjYXNlX3AgKGtleSkpCi0gICAgcmxfc3R1ZmZfY2hhciAoJyQnKTsKKyAgICB7CisgICAgICBfcmxfdmltdmN4dC0+bW90aW9uID0gJyQnOworICAgICAgciA9IHJsX2RvbW92ZV9tb3Rpb25fY2FsbGJhY2sgKF9ybF92aW12Y3h0KTsKKyAgICB9CiAgIGVsc2UgaWYgKHZpX3JlZG9pbmcpCi0gICAgcmxfc3R1ZmZfY2hhciAoX3JsX3ZpX2xhc3RfbW90aW9uKTsKKyAgICB7CisgICAgICBfcmxfdmltdmN4dC0+bW90aW9uID0gX3JsX3ZpX2xhc3RfbW90aW9uOworICAgICAgciA9IHJsX2RvbW92ZV9tb3Rpb25fY2FsbGJhY2sgKF9ybF92aW12Y3h0KTsKKyAgICB9CisjaWYgZGVmaW5lZCAoUkVBRExJTkVfQ0FMTEJBQ0tTKQorICBlbHNlIGlmIChSTF9JU1NUQVRFIChSTF9TVEFURV9DQUxMQkFDSykpCisgICAgeworICAgICAgUkxfU0VUU1RBVEUgKFJMX1NUQVRFX1ZJTU9USU9OKTsKKyAgICAgIHJldHVybiAoMCk7CisgICAgfQorI2VuZGlmCisgIGVsc2UKKyAgICByID0gcmxfdmlfZG9tb3ZlIChrZXksICZjKTsKIAotICBzdGFydF9wb3MgPSBybF9wb2ludDsKLQotICBpZiAocmxfdmlfZG9tb3ZlIChrZXksICZjKSkKKyAgaWYgKHIgPCAwKQogICAgIHsKICAgICAgIHJsX2RpbmcgKCk7Ci0gICAgICByZXR1cm4gLTE7CisgICAgICByID0gLTE7CiAgICAgfQogCisgIF9ybF9tdmN4dF9kaXNwb3NlIChfcmxfdmltdmN4dCk7CisgIF9ybF92aW12Y3h0ID0gMDsKKworICByZXR1cm4gcjsKK30KKworc3RhdGljIGludAordmlfY2hhbmdlX2Rpc3BhdGNoIChtKQorICAgICBfcmxfdmltb3Rpb25fY3h0ICptOworewogICAvKiBUaGVzZSBhcmUgdGhlIG1vdGlvbiBjb21tYW5kcyB0aGF0IGRvIG5vdCByZXF1aXJlIGFkanVzdGluZyB0aGUKICAgICAgbWFyay4gIGNbd1ddIGFyZSBoYW5kbGVkIGJ5IHNwZWNpYWwtY2FzZSBjb2RlIGluIHJsX3ZpX2RvbW92ZSgpLAogICAgICBhbmQgYWxyZWFkeSBsZWF2ZSB0aGUgbWFyayBhdCB0aGUgY29ycmVjdCBsb2NhdGlvbi4gKi8KLSAgaWYgKCgoc3RyY2hyICgiIGx8aHdXXjBiQkZUYCIsIGMpID09IDApICYmIChybF9wb2ludCA+PSBzdGFydF9wb3MpKSAmJgorICBpZiAoKChzdHJjaHIgKCIgbHxod1deMGJCRlRgIiwgbS0+bW90aW9uKSA9PSAwKSAmJiAocmxfcG9pbnQgPj0gbS0+c3RhcnQpKSAmJgogICAgICAgKHJsX21hcmsgPCBybF9lbmQpKQogICAgIHJsX21hcmsrKzsKIAogICAvKiBUaGUgY3Vyc29yIG5ldmVyIG1vdmVzIHdpdGggY1t3V10uICovCi0gIGlmICgoX3JsX3RvX3VwcGVyIChjKSA9PSAnVycpICYmIHJsX3BvaW50IDwgc3RhcnRfcG9zKQotICAgIHJsX3BvaW50ID0gc3RhcnRfcG9zOworICBpZiAoKF9ybF90b191cHBlciAobS0+bW90aW9uKSA9PSAnVycpICYmIHJsX3BvaW50IDwgbS0+c3RhcnQpCisgICAgcmxfcG9pbnQgPSBtLT5zdGFydDsKIAogICBpZiAodmlfcmVkb2luZykKICAgICB7CkBAIC0xMTUxLDQ0ICsxMjkyLDEzOCBAQAogICAgICAgcmxfYmVnaW5fdW5kb19ncm91cCAoKTsJCS8qIHRvIG1ha2UgdGhlIGB1JyBjb21tYW5kIHdvcmsgKi8KICAgICAgIHJsX2tpbGxfdGV4dCAocmxfcG9pbnQsIHJsX21hcmspOwogICAgICAgLyogYEMnIGRvZXMgbm90IHNhdmUgdGhlIHRleHQgaW5zZXJ0ZWQgZm9yIHVuZG9pbmcgb3IgcmVkb2luZy4gKi8KLSAgICAgIGlmIChfcmxfdXBwZXJjYXNlX3AgKGtleSkgPT0gMCkKLSAgICAgICAgX3JsX3ZpX2RvaW5nX2luc2VydCA9IDE7Ci0gICAgICBybF92aV9zdGFydF9pbnNlcnRpbmcgKGtleSwgcmxfbnVtZXJpY19hcmcsIHJsX2FyZ19zaWduKTsKKyAgICAgIGlmIChfcmxfdXBwZXJjYXNlX3AgKG0tPmtleSkgPT0gMCkKKwlfcmxfdmlfZG9pbmdfaW5zZXJ0ID0gMTsKKyAgICAgIC8qIFhYWCAtLSBUT0RPIC0tIHVzZSBtLT5udW1lcmljYXJnPyAqLworICAgICAgcmxfdmlfc3RhcnRfaW5zZXJ0aW5nIChtLT5rZXksIHJsX251bWVyaWNfYXJnLCBybF9hcmdfc2lnbik7CiAgICAgfQogCiAgIHJldHVybiAoMCk7CiB9CiAKIGludAorcmxfdmlfY2hhbmdlX3RvIChjb3VudCwga2V5KQorICAgICBpbnQgY291bnQsIGtleTsKK3sKKyAgaW50IGMsIHI7CisKKyAgX3JsX3ZpbXZjeHQgPSBfcmxfbXZjeHRfYWxsb2MgKFZJTV9DSEFOR0UsIGtleSk7CisgIF9ybF92aW12Y3h0LT5zdGFydCA9IHJsX3BvaW50OworCisgIHJsX21hcmsgPSBybF9wb2ludDsKKyAgaWYgKF9ybF91cHBlcmNhc2VfcCAoa2V5KSkKKyAgICB7CisgICAgICBfcmxfdmltdmN4dC0+bW90aW9uID0gJyQnOworICAgICAgciA9IHJsX2RvbW92ZV9tb3Rpb25fY2FsbGJhY2sgKF9ybF92aW12Y3h0KTsKKyAgICB9CisgIGVsc2UgaWYgKHZpX3JlZG9pbmcpCisgICAgeworICAgICAgX3JsX3ZpbXZjeHQtPm1vdGlvbiA9IF9ybF92aV9sYXN0X21vdGlvbjsKKyAgICAgIHIgPSBybF9kb21vdmVfbW90aW9uX2NhbGxiYWNrIChfcmxfdmltdmN4dCk7CisgICAgfQorI2lmIGRlZmluZWQgKFJFQURMSU5FX0NBTExCQUNLUykKKyAgZWxzZSBpZiAoUkxfSVNTVEFURSAoUkxfU1RBVEVfQ0FMTEJBQ0spKQorICAgIHsKKyAgICAgIFJMX1NFVFNUQVRFIChSTF9TVEFURV9WSU1PVElPTik7CisgICAgICByZXR1cm4gKDApOworICAgIH0KKyNlbmRpZgorICBlbHNlCisgICAgciA9IHJsX3ZpX2RvbW92ZSAoa2V5LCAmYyk7CisKKyAgaWYgKHIgPCAwKQorICAgIHsKKyAgICAgIHJsX2RpbmcgKCk7CisgICAgICByID0gLTE7CS8qIG5vcm1hbGl6ZSByZXR1cm4gdmFsdWUgKi8KKyAgICB9CisKKyAgX3JsX212Y3h0X2Rpc3Bvc2UgKF9ybF92aW12Y3h0KTsKKyAgX3JsX3ZpbXZjeHQgPSAwOworCisgIHJldHVybiByOworfQorCitzdGF0aWMgaW50Cit2aV95YW5rX2Rpc3BhdGNoIChtKQorICAgICBfcmxfdmltb3Rpb25fY3h0ICptOworeworICAvKiBUaGVzZSBhcmUgdGhlIG1vdGlvbiBjb21tYW5kcyB0aGF0IGRvIG5vdCByZXF1aXJlIGFkanVzdGluZyB0aGUKKyAgICAgbWFyay4gKi8KKyAgaWYgKCgoc3RyY2hyICgiIGx8aF4wJWJCRlRgIiwgbS0+bW90aW9uKSA9PSAwKSAmJiAocmxfcG9pbnQgPj0gbS0+c3RhcnQpKSAmJgorICAgICAgKHJsX21hcmsgPCBybF9lbmQpKQorICAgIHJsX21hcmsrKzsKKworICBybF9iZWdpbl91bmRvX2dyb3VwICgpOworICBybF9raWxsX3RleHQgKHJsX3BvaW50LCBybF9tYXJrKTsKKyAgcmxfZW5kX3VuZG9fZ3JvdXAgKCk7CisgIHJsX2RvX3VuZG8gKCk7CisgIHJsX3BvaW50ID0gbS0+c3RhcnQ7CisKKyAgcmV0dXJuICgwKTsKK30KKworaW50CiBybF92aV95YW5rX3RvIChjb3VudCwga2V5KQogICAgICBpbnQgY291bnQsIGtleTsKIHsKLSAgaW50IGMsIHN0YXJ0X3BvczsKKyAgaW50IGMsIHI7CiAKKyAgX3JsX3ZpbXZjeHQgPSBfcmxfbXZjeHRfYWxsb2MgKFZJTV9ZQU5LLCBrZXkpOworICBfcmxfdmltdmN4dC0+c3RhcnQgPSBybF9wb2ludDsKKworICBybF9tYXJrID0gcmxfcG9pbnQ7CiAgIGlmIChfcmxfdXBwZXJjYXNlX3AgKGtleSkpCi0gICAgcmxfc3R1ZmZfY2hhciAoJyQnKTsKKyAgICB7CisgICAgICBfcmxfdmltdmN4dC0+bW90aW9uID0gJyQnOworICAgICAgciA9IHJsX2RvbW92ZV9tb3Rpb25fY2FsbGJhY2sgKF9ybF92aW12Y3h0KTsKKyAgICB9CisjaWYgZGVmaW5lZCAoUkVBRExJTkVfQ0FMTEJBQ0tTKQorICBlbHNlIGlmIChSTF9JU1NUQVRFIChSTF9TVEFURV9DQUxMQkFDSykpCisgICAgeworICAgICAgUkxfU0VUU1RBVEUgKFJMX1NUQVRFX1ZJTU9USU9OKTsKKyAgICAgIHJldHVybiAoMCk7CisgICAgfQorI2VuZGlmCisgIGVsc2UKKyAgICByID0gcmxfdmlfZG9tb3ZlIChrZXksICZjKTsKIAotICBzdGFydF9wb3MgPSBybF9wb2ludDsKLQotICBpZiAocmxfdmlfZG9tb3ZlIChrZXksICZjKSkKKyAgaWYgKHIgPCAwKQogICAgIHsKICAgICAgIHJsX2RpbmcgKCk7Ci0gICAgICByZXR1cm4gLTE7CisgICAgICByID0gLTE7CiAgICAgfQogCi0gIC8qIFRoZXNlIGFyZSB0aGUgbW90aW9uIGNvbW1hbmRzIHRoYXQgZG8gbm90IHJlcXVpcmUgYWRqdXN0aW5nIHRoZQotICAgICBtYXJrLiAqLwotICBpZiAoKChzdHJjaHIgKCIgbHxoXjAlYkJGVGAiLCBjKSA9PSAwKSAmJiAocmxfcG9pbnQgPj0gc3RhcnRfcG9zKSkgJiYKLSAgICAgIChybF9tYXJrIDwgcmxfZW5kKSkKLSAgICBybF9tYXJrKys7CisgIF9ybF9tdmN4dF9kaXNwb3NlIChfcmxfdmltdmN4dCk7CisgIF9ybF92aW12Y3h0ID0gMDsKIAotICBybF9iZWdpbl91bmRvX2dyb3VwICgpOwotICBybF9raWxsX3RleHQgKHJsX3BvaW50LCBybF9tYXJrKTsKLSAgcmxfZW5kX3VuZG9fZ3JvdXAgKCk7Ci0gIHJsX2RvX3VuZG8gKCk7Ci0gIHJsX3BvaW50ID0gc3RhcnRfcG9zOworICByZXR1cm4gcjsKK30KIAotICByZXR1cm4gKDApOworc3RhdGljIGludAordmlkb21vdmVfZGlzcGF0Y2ggKG0pCisgICAgIF9ybF92aW1vdGlvbl9jeHQgKm07Cit7CisgIGludCByOworCisgIHN3aXRjaCAobS0+b3ApCisgICAgeworICAgIGNhc2UgVklNX0RFTEVURToKKyAgICAgIHIgPSB2aV9kZWxldGVfZGlzcGF0Y2ggKG0pOworICAgICAgYnJlYWs7CisgICAgY2FzZSBWSU1fQ0hBTkdFOgorICAgICAgciA9IHZpX2NoYW5nZV9kaXNwYXRjaCAobSk7CisgICAgICBicmVhazsKKyAgICBjYXNlIFZJTV9ZQU5LOgorICAgICAgciA9IHZpX3lhbmtfZGlzcGF0Y2ggKG0pOworICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgIF9ybF9lcnJtc2cgKCJ2aWRvbW92ZV9kaXNwYXRjaDogdW5rbm93biBvcGVyYXRvciAlZCIsIG0tPm9wKTsKKyAgICAgIHIgPSAxOworICAgICAgYnJlYWs7CisgICAgfQorCisgIFJMX1VOU0VUU1RBVEUgKFJMX1NUQVRFX1ZJTU9USU9OKTsKKyAgcmV0dXJuIHI7CiB9CiAKIGludApAQCAtMTMxNywyNyArMTU1MiwzOCBAQAogI2VuZGlmCiAKICAgaWYgKGtleSA9PSAnOycgfHwga2V5ID09ICcsJykKLSAgICBfcmxfY3NfZGlyID0gKGtleSA9PSAnOycpID8gX3JsX2NzX29yaWdfZGlyIDogLV9ybF9jc19vcmlnX2RpcjsKKyAgICB7CisgICAgICBpZiAoX3JsX2NzX29yaWdfZGlyID09IDApCisJcmV0dXJuIC0xOworI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUpCisgICAgICBpZiAoX3JsX3ZpX2xhc3Rfc2VhcmNoX21ibGVuID09IDApCisJcmV0dXJuIC0xOworI2Vsc2UKKyAgICAgIGlmIChfcmxfdmlfbGFzdF9zZWFyY2hfY2hhciA9PSAwKQorCXJldHVybiAtMTsKKyNlbmRpZgorICAgICAgX3JsX2NzX2RpciA9IChrZXkgPT0gJzsnKSA/IF9ybF9jc19vcmlnX2RpciA6IC1fcmxfY3Nfb3JpZ19kaXI7CisgICAgfQogICBlbHNlCiAgICAgewogICAgICAgc3dpdGNoIChrZXkpCi0gICAgICAgIHsKLSAgICAgICAgY2FzZSAndCc6Ci0gICAgICAgICAgX3JsX2NzX29yaWdfZGlyID0gX3JsX2NzX2RpciA9IEZUTzsKLSAgICAgICAgICBicmVhazsKKwl7CisJY2FzZSAndCc6CisJICBfcmxfY3Nfb3JpZ19kaXIgPSBfcmxfY3NfZGlyID0gRlRPOworCSAgYnJlYWs7CiAKLSAgICAgICAgY2FzZSAnVCc6Ci0gICAgICAgICAgX3JsX2NzX29yaWdfZGlyID0gX3JsX2NzX2RpciA9IEJUTzsKLSAgICAgICAgICBicmVhazsKKwljYXNlICdUJzoKKwkgIF9ybF9jc19vcmlnX2RpciA9IF9ybF9jc19kaXIgPSBCVE87CisJICBicmVhazsKIAotICAgICAgICBjYXNlICdmJzoKLSAgICAgICAgICBfcmxfY3Nfb3JpZ19kaXIgPSBfcmxfY3NfZGlyID0gRkZJTkQ7Ci0gICAgICAgICAgYnJlYWs7CisJY2FzZSAnZic6CisJICBfcmxfY3Nfb3JpZ19kaXIgPSBfcmxfY3NfZGlyID0gRkZJTkQ7CisJICBicmVhazsKIAotICAgICAgICBjYXNlICdGJzoKLSAgICAgICAgICBfcmxfY3Nfb3JpZ19kaXIgPSBfcmxfY3NfZGlyID0gQkZJTkQ7Ci0gICAgICAgICAgYnJlYWs7Ci0gICAgICAgIH0KKwljYXNlICdGJzoKKwkgIF9ybF9jc19vcmlnX2RpciA9IF9ybF9jc19kaXIgPSBCRklORDsKKwkgIGJyZWFrOworCX0KIAogICAgICAgaWYgKHZpX3JlZG9pbmcpCiAJewpAQCAtMTM0NSwxMiArMTU5MSwxMiBAQAogCX0KICNpZiBkZWZpbmVkIChSRUFETElORV9DQUxMQkFDS1MpCiAgICAgICBlbHNlIGlmIChSTF9JU1NUQVRFIChSTF9TVEFURV9DQUxMQkFDSykpCi0gICAgICAgIHsKLSAgICAgICAgICBfcmxfY2FsbGJhY2tfZGF0YSA9IF9ybF9jYWxsYmFja19kYXRhX2FsbG9jIChjb3VudCk7Ci0gICAgICAgICAgX3JsX2NhbGxiYWNrX2RhdGEtPmkxID0gX3JsX2NzX2RpcjsKLSAgICAgICAgICBfcmxfY2FsbGJhY2tfZnVuYyA9IF9ybF92aV9jYWxsYmFja19jaGFyX3NlYXJjaDsKLSAgICAgICAgICByZXR1cm4gKDApOwotICAgICAgICB9CisJeworCSAgX3JsX2NhbGxiYWNrX2RhdGEgPSBfcmxfY2FsbGJhY2tfZGF0YV9hbGxvYyAoY291bnQpOworCSAgX3JsX2NhbGxiYWNrX2RhdGEtPmkxID0gX3JsX2NzX2RpcjsKKwkgIF9ybF9jYWxsYmFja19mdW5jID0gX3JsX3ZpX2NhbGxiYWNrX2NoYXJfc2VhcmNoOworCSAgcmV0dXJuICgwKTsKKwl9CiAjZW5kaWYKICAgICAgIGVsc2UKIAl7CkBAIC0xNDAxLDcgKzE2NDcsNyBAQAogCSAgICAgIHByZSA9IHJsX3BvaW50OwogCSAgICAgIHJsX2ZvcndhcmRfY2hhciAoMSwga2V5KTsKIAkgICAgICBpZiAocHJlID09IHJsX3BvaW50KQotCSAgICAgICAgYnJlYWs7CisJCWJyZWFrOwogCSAgICB9CiAJfQogICAgICAgZWxzZQpAQCAtMTQzMCw3ICsxNjc2LDcgQEAKIAkgICAgewogCSAgICAgIHBvcyA9IF9ybF9maW5kX3ByZXZfbWJjaGFyIChybF9saW5lX2J1ZmZlciwgcG9zLCBNQl9GSU5EX0FOWSk7CiAJICAgICAgaWYgKHRtcCA9PSBwb3MpCi0JICAgICAgICBwb3MtLTsKKwkJcG9zLS07CiAJICAgIH0KIAkgIGlmIChwb3MgPj0gMCkKIAkgICAgewpAQCAtMTY3OCw4ICsxOTI0LDggQEAKICAgICAgIHZpX3JlcGxhY2VfbWFwW05FV0xJTkVdLmZ1bmN0aW9uID0gcmxfbmV3bGluZTsKIAogICAgICAgLyogSWYgdGhlIG5vcm1hbCB2aSBpbnNlcnRpb24ga2V5bWFwIGhhcyBeSCBib3VuZCB0byBlcmFzZSwgZG8gdGhlCi0gICAgICAgICBzYW1lIGhlcmUuICBQcm9iYWJseSBzaG91bGQgcmVtb3ZlIHRoZSBhc3NpZ25tZW50IHRvIFJVQk9VVCB1cAotICAgICAgICAgdGhlcmUsIGJ1dCBJIGRvbid0IHRoaW5rIGl0IHdpbGwgbWFrZSBhIGRpZmZlcmVuY2UgaW4gcmVhbCBsaWZlLiAqLworCSBzYW1lIGhlcmUuICBQcm9iYWJseSBzaG91bGQgcmVtb3ZlIHRoZSBhc3NpZ25tZW50IHRvIFJVQk9VVCB1cAorCSB0aGVyZSwgYnV0IEkgZG9uJ3QgdGhpbmsgaXQgd2lsbCBtYWtlIGEgZGlmZmVyZW5jZSBpbiByZWFsIGxpZmUuICovCiAgICAgICBpZiAodmlfaW5zZXJ0aW9uX2tleW1hcFtDVFJMICgnSCcpXS50eXBlID09IElTRlVOQyAmJgogCSAgdmlfaW5zZXJ0aW9uX2tleW1hcFtDVFJMICgnSCcpXS5mdW5jdGlvbiA9PSBybF9ydWJvdXQpCiAJdmlfcmVwbGFjZV9tYXBbQ1RSTCAoJ0gnKV0uZnVuY3Rpb24gPSBybF92aV9vdmVyc3RyaWtlX2RlbGV0ZTsKZGlmZiAtLWdpdCBhL2xpYi9yZWFkbGluZS94ZnJlZS5jIGIvbGliL3JlYWRsaW5lL3hmcmVlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdhODFlNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9yZWFkbGluZS94ZnJlZS5jCkBAIC0wLDAgKzEsNTAgQEAKKy8qIHhmcmVlLmMgLS0gc2FmZSB2ZXJzaW9uIG9mIGZyZWUgdGhhdCBpZ25vcmVzIGF0dGVtcHRzIHRvIGZyZWUgTlVMICovCisKKy8qIENvcHlyaWdodCAoQykgMTk5MS0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgR05VIFJlYWRsaW5lIExpYnJhcnkgKFJlYWRsaW5lKSwgYSBsaWJyYXJ5CisgICBmb3IgcmVhZGluZyBsaW5lcyBvZiB0ZXh0IHdpdGggaW50ZXJhY3RpdmUgaW5wdXQgYW5kIGhpc3RvcnkgZWRpdGluZy4gICAgICAKKworICAgUmVhZGxpbmUgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBSZWFkbGluZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIFJlYWRsaW5lLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKi8KKworI2RlZmluZSBSRUFETElORV9MSUJSQVJZCisKKyNpZiBkZWZpbmVkIChIQVZFX0NPTkZJR19IKQorI2luY2x1ZGUgPGNvbmZpZy5oPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkIChIQVZFX1NURExJQl9IKQorIyAgaW5jbHVkZSA8c3RkbGliLmg+CisjZWxzZQorIyAgaW5jbHVkZSAiYW5zaV9zdGRsaWIuaCIKKyNlbmRpZiAvKiBIQVZFX1NURExJQl9IICovCisKKyNpbmNsdWRlICJ4bWFsbG9jLmgiCisKKy8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKy8qCQkJCQkJCQkgICAgKi8KKy8qCQkgICBNZW1vcnkgRGVhbGxvY2F0aW9uLgkJCQkgICAgKi8KKy8qCQkJCQkJCQkgICAgKi8KKy8qICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi8KKworLyogVXNlIHRoaXMgYXMgdGhlIGZ1bmN0aW9uIHRvIGNhbGwgd2hlbiBhZGRpbmcgdW53aW5kIHByb3RlY3RzIHNvIHdlCisgICBkb24ndCBuZWVkIHRvIGtub3cgd2hhdCBmcmVlKCkgcmV0dXJucy4gKi8KK3ZvaWQKK3hmcmVlIChzdHJpbmcpCisgICAgIFBUUl9UIHN0cmluZzsKK3sKKyAgaWYgKHN0cmluZykKKyAgICBmcmVlIChzdHJpbmcpOworfQpkaWZmIC0tZ2l0IGEvbGliL3JlYWRsaW5lL3htYWxsb2MuYyBiL2xpYi9yZWFkbGluZS94bWFsbG9jLmMKaW5kZXggOTdkOGYyZS4uYzc3ZDc2MyAxMDA2NDQKLS0tIGEvbGliL3JlYWRsaW5lL3htYWxsb2MuYworKysgYi9saWIvcmVhZGxpbmUveG1hbGxvYy5jCkBAIC03NywxMyArNzcsMyBAQAogICAgIG1lbW9yeV9lcnJvcl9hbmRfYWJvcnQgKCJ4cmVhbGxvYyIpOwogICByZXR1cm4gKHRlbXApOwogfQotCi0vKiBVc2UgdGhpcyBhcyB0aGUgZnVuY3Rpb24gdG8gY2FsbCB3aGVuIGFkZGluZyB1bndpbmQgcHJvdGVjdHMgc28gd2UKLSAgIGRvbid0IG5lZWQgdG8ga25vdyB3aGF0IGZyZWUoKSByZXR1cm5zLiAqLwotdm9pZAoteGZyZWUgKHN0cmluZykKLSAgICAgUFRSX1Qgc3RyaW5nOwotewotICBpZiAoc3RyaW5nKQotICAgIGZyZWUgKHN0cmluZyk7Ci19CmRpZmYgLS1naXQgYS9saWIvc2gvTWFrZWZpbGUuaW4gYi9saWIvc2gvTWFrZWZpbGUuaW4KaW5kZXggODBmNmNjNS4uZDk3Y2Q5OSAxMDA2NDQKLS0tIGEvbGliL3NoL01ha2VmaWxlLmluCisrKyBiL2xpYi9zaC9NYWtlZmlsZS5pbgpAQCAtMiw3ICsyLDcgQEAKICMgTWFrZWZpbGUgZm9yIHRoZSBCYXNoIGxpYnJhcnkKICMKICMKLSMgQ29weXJpZ2h0IChDKSAxOTk4LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMTk5OC0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAjICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKICMgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQpAQCAtOTEsNyArOTEsOCBAQAogCSAgIHN0cnRvbGwuYyBzdHJ0b3VsbC5jIHN0cnRvaW1heC5jIHN0cnRvdW1heC5jIG1lbXNldC5jIHN0cnN0ci5jIFwKIAkgICBta3RpbWUuYyBzdHJmdGltZS5jIG1ic2Noci5jIHpjYXRmZC5jIHptYXBmZC5jIHdpbnNpemUuYyBlYWNjZXNzLmMgXAogCSAgIHdjc2R1cC5jIGZwdXJnZS5jIHpnZXRsaW5lLmMgbWJzY21wLmMgdWNvbnZlcnQuYyB1ZnVuY3MuYyBcCi0JICAgY2FzZW1vZC5jIGZkcHJpbnRmLmMgaW5wdXRfYXZhaWwuYyBtYnNjYXNlY21wLmMgZm54Zm9ybS5jCisJICAgY2FzZW1vZC5jIGRwcmludGYuYyBpbnB1dF9hdmFpbC5jIG1ic2Nhc2VjbXAuYyBmbnhmb3JtLmMgXAorCSAgIHN0cmNocm51bC5jIHVuaWNvZGUuYyB3Y3N3aWR0aC5jIHNobWJjaGFyLmMKIAogIyBUaGUgaGVhZGVyIGZpbGVzIGZvciB0aGlzIGxpYnJhcnkuCiBIU09VUkNFUyA9IApAQCAtMTA1LDcgKzEwNiw3IEBACiAJICBzdHJ0cmFucy5vIHNucHJpbnRmLm8gbWFpbHN0YXQubyBmbXR1bG9uZy5vIFwKIAkgIGZtdHVsbG9uZy5vIGZtdHVtYXgubyB6Y2F0ZmQubyB6bWFwZmQubyB3aW5zaXplLm8gd2NzZHVwLm8gXAogCSAgZnB1cmdlLm8gemdldGxpbmUubyBtYnNjbXAubyB1Y29udmVydC5vIHVmdW5jcy5vIGNhc2Vtb2QubyBcCi0JICBmZHByaW50Zi5vIGlucHV0X2F2YWlsLm8gbWJzY2FzZWNtcC5vIGZueGZvcm0ubyAke0xJQk9CSlN9CisJICBpbnB1dF9hdmFpbC5vIG1ic2Nhc2VjbXAubyBmbnhmb3JtLm8gdW5pY29kZS5vIHNobWJjaGFyLm8gJHtMSUJPQkpTfQogCiBTVVBQT1JUID0gTWFrZWZpbGUKIApAQCAtMTQ0LDcgKzE0NSw3IEBACiBjbGt0Y2subzogY2xrdGNrLmMKIGNsb2NrLm86IGNsb2NrLmMKIGVhY2Nlc3MubzogZWFjY2Vzcy5jCi1mZHByaW50Zi5vOiBmZHByaW50Zi5jCitkcHJpbnRmLm86IGRwcmludGYuYwogZm10dWxsb25nLm86IGZtdHVsbG9uZy5jCiBmbXR1bG9uZy5vOiBmbXR1bG9uZy5jCiBmbXR1bWF4Lm86IGZtdHVtYXguYwpAQCAtMTY4LDYgKzE2OSw3IEBACiBwYXRocGh5cy5vOiBwYXRocGh5cy5jCiByZW5hbWUubzogcmVuYW1lLmMKIHNldGxpbmVidWYubzogc2V0bGluZWJ1Zi5jCitzaG1iY2hhci5vOiBzaG1iY2hhci5jCiBzaHF1b3RlLm86IHNocXVvdGUuYwogc2h0dHkubzogc2h0dHkuYwogc25wcmludGYubzogc25wcmludGYuYwpAQCAtMTk1LDYgKzE5Nyw3IEBACiB1ZnVuY3MubzogdWZ1bmNzLmMKIHZwcmludC5vOiB2cHJpbnQuYwogd2NzZHVwLm86IHdjc2R1cC5jCit3Y3N3aWR0aC5vOiB3Y3N3aWR0aC5jCiBtYnNjaHIubzogbWJzY2hyLmMKIHpjYXRmZC5vOiB6Y2F0ZmQuYwogem1hcGZkLm86IHptYXBmZC5jCkBAIC0yMTQsNyArMjE3LDcgQEAKIGNsa3Rjay5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIGNsb2NrLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogZWFjY2Vzcy5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKLWZkcHJpbnRmLm86ICR7QlVJTERfRElSfS9jb25maWcuaAorZHByaW50Zi5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIGZtdHVsbG9uZy5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIGZtdHVsb25nLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogZm10dW1heC5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKQEAgLTIzOCw2ICsyNDEsNyBAQAogcGF0aHBoeXMubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCiByZW5hbWUubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCiBzZXRsaW5lYnVmLm86ICR7QlVJTERfRElSfS9jb25maWcuaAorc2htYmNoYXJlLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogc2hxdW90ZS5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIHNodHR5Lm86ICR7QlVJTERfRElSfS9jb25maWcuaAogc25wcmludGYubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCkBAIC0yNjUsNiArMjY5LDcgQEAKIHVmdW5jcy5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIHZwcmludC5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKIHdjc2R1cC5vOiAke0JVSUxEX0RJUn0vY29uZmlnLmgKK3djc3dpZHRoLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogbWJzY2hyLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogemNhdGZkLm86ICR7QlVJTERfRElSfS9jb25maWcuaAogemdldGxpbmUubzogJHtCVUlMRF9ESVJ9L2NvbmZpZy5oCkBAIC01MDUsOSArNTEwLDEyIEBACiB3Y3NkdXAubzogJHtCQVNISU5DRElSfS9zdGRjLmgKIHdjc2R1cC5vOiAke3RvcGRpcn0veG1hbGxvYy5oCiAKK3djc3dpZHRoLm86ICR7dG9wZGlyfS9iYXNoYW5zaS5oICR7QkFTSElOQ0RJUn0vYW5zaV9zdGRsaWIuaAord2Nzd2lkdGgubzogJHtCQVNISU5DRElSfS9zdGRjLmgKKwogbWJzY2hyLm86ICR7dG9wZGlyfS9iYXNoYW5zaS5oCiBtYnNjaHIubzogJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oCi1tYnNjaHIubzogJHtCQVNISU5DRElSfS9zaG1idXRpbC5oCittYnNjaHIubzogJHtCQVNISU5DRElSfS9zaG1idXRpbC5oICR7QkFTSElOQ0RJUn0vc2htYmNoYXIuaAogCiB6Z2V0bGluZS5vOiAke3RvcGRpcn0vYmFzaGFuc2kuaCAke0JBU0hJTkNESVJ9L2Fuc2lfc3RkbGliLmgKIHpnZXRsaW5lLm86ICR7QkFTSElOQ0RJUn0vc3RkYy5oCkBAIC01MjYsMTAgKzUzNCwxMCBAQAogY2FzZW1vZC5vOiAke0JBU0hJTkNESVJ9L3N0ZGMuaAogY2FzZW1vZC5vOiAke3RvcGRpcn0veG1hbGxvYy5oCiBjYXNlbW9kLm86ICR7dG9wZGlyfS9iYXNodHlwZXMuaAotY2FzZW1vZC5vOiAke0JBU0hJTkNESVJ9L3NobWJ1dGlsLmgKK2Nhc2Vtb2QubzogJHtCQVNISU5DRElSfS9zaG1idXRpbC5oICR7QkFTSElOQ0RJUn0vc2htYmNoYXIuaAogY2FzZW1vZC5vOiAke3RvcGRpcn0vYmFzaGludGwuaCAke0xJQklOVExfSH0gJHtCQVNISU5DRElSfS9nZXR0ZXh0LmgKIAotZmRwcmludGYubzogJHtCQVNISU5DRElSfS9zdGRjLmgKK2RwcmludGYubzogJHtCQVNISU5DRElSfS9zdGRjLmgKIAogaW5wdXRfYXZhaWwubzogJHt0b3BkaXJ9L2Jhc2hhbnNpLmggJHtCQVNISU5DRElSfS9hbnNpX3N0ZGxpYi5oCiBpbnB1dF9hdmFpbC5vOiAke0JBU0hJTkNESVJ9L3N0ZGMuaApAQCAtNTQyLDMgKzU1MCw1IEBACiBmbnhmb3JtLm86ICR7QkFTSElOQ0RJUn0vc3RkYy5oCiBmbnhmb3JtLm86ICR7dG9wZGlyfS9iYXNodHlwZXMuaAogZm54Zm9ybS5vOiAke3RvcGRpcn0vYmFzaGludGwuaCAke0xJQklOVExfSH0gJHtCQVNISU5DRElSfS9nZXR0ZXh0LmgKKworc2htYmNoYXIubzogJHtCQVNISU5DRElSfS9zaG1iY2hhci5oCmRpZmYgLS1naXQgYS9saWIvc2gvY2FzZW1vZC5jIGIvbGliL3NoL2Nhc2Vtb2QuYwppbmRleCBkODU1NDlhLi4zMTI3ZDhjIDEwMDY0NAotLS0gYS9saWIvc2gvY2FzZW1vZC5jCisrKyBiL2xpYi9zaC9jYXNlbW9kLmMKQEAgLTExMSw2ICsxMTEsMTMgQEAKICAgbWJzdGF0ZV90IHN0YXRlOwogI2VuZGlmCiAKKyAgaWYgKHN0cmluZyA9PSAwIHx8ICpzdHJpbmcgPT0gMCkKKyAgICB7CisgICAgICByZXQgPSAoY2hhciAqKXhtYWxsb2MgKDEpOworICAgICAgcmV0WzBdID0gJ1wwJzsKKyAgICAgIHJldHVybiByZXQ7CisgICAgfQorCiAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKICAgbWVtc2V0ICgmc3RhdGUsIDAsIHNpemVvZiAobWJzdGF0ZV90KSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi9zaC9kcHJpbnRmLmMgYi9saWIvc2gvZHByaW50Zi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzYjVkNjQKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvc2gvZHByaW50Zi5jCkBAIC0wLDAgKzEsNzAgQEAKKy8qIGRwcmludGYgLS0gcHJpbnRmIHRvIGEgZmlsZSBkZXNjcmlwdG9yICovCisKKy8qIENvcHlyaWdodCAoQykgMjAwOC0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KKworICAgQmFzaCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIEJhc2ggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCBCYXNoLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorI2lmZGVmIEhBVkVfQ09ORklHX0gKKyMgIGluY2x1ZGUgPGNvbmZpZy5oPgorI2VuZGlmCisKKyNpbmNsdWRlIDxzdGRjLmg+CisKKyNpZiBkZWZpbmVkIChIQVZFX1VOSVNURF9IKQorIyAgaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKworI2lmIGRlZmluZWQgKFBSRUZFUl9TVERBUkcpCisjICBpbmNsdWRlIDxzdGRhcmcuaD4KKyNlbHNlCisjICBpbmNsdWRlIDx2YXJhcmdzLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisKK2ludAorI2lmIGRlZmluZWQgKFBSRUZFUl9TVERBUkcpCitkcHJpbnRmKGludCBmZCwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pCisjZWxzZQorZHByaW50ZihmZCwgZm9ybWF0LCB2YV9hbGlzdCkKKyAgICAgaW50IGZkOworICAgICBjb25zdCBjaGFyICpmb3JtYXQ7CisgICAgIHZhX2RjbAorI2VuZGlmCit7CisgIEZJTEUgKmZwOworICBpbnQgZmQyLCByYywgcjI7CisgIHZhX2xpc3QgYXJnczsKKworICBpZiAoKGZkMiA9IGR1cChmZCkpIDwgMCkKKyAgICByZXR1cm4gLTE7CisgIGZwID0gZmRvcGVuIChmZDIsICJ3Iik7CisgIGlmIChmcCA9PSAwKQorICAgIHsKKyAgICAgIGNsb3NlIChmZDIpOworICAgICAgcmV0dXJuIC0xOworICAgIH0KKworICBTSF9WQV9TVEFSVCAoYXJncywgZm9ybWF0KTsKKyAgcmMgPSB2ZnByaW50ZiAoZnAsIGZvcm1hdCwgYXJncyk7CisgIGZmbHVzaCAoZnApOworICB2YV9lbmQgKGFyZ3MpOworCisgIHIyID0gZmNsb3NlIChmcCk7CS8qIGNoZWNrIGhlcmUgKi8KKworICByZXR1cm4gcmM7Cit9ICAgICAgICAgICAKZGlmZiAtLWdpdCBhL2xpYi9zaC9lYWNjZXNzLmMgYi9saWIvc2gvZWFjY2Vzcy5jCmluZGV4IDk4OWJjMjIuLmQ5YmNhOGMgMTAwNjQ0Ci0tLSBhL2xpYi9zaC9lYWNjZXNzLmMKKysrIGIvbGliL3NoL2VhY2Nlc3MuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGVhY2Nlc3MuYyAtIGVhY2Nlc3MgcmVwbGFjZW1lbnQgZm9yIHRoZSBzaGVsbCwgcGx1cyBvdGhlciBhY2Nlc3MgZnVuY3Rpb25zLiAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDIwMDYtMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTE5OCwxMSArMTk4LDIwIEBACiAgICAgIGNoYXIgKnBhdGg7CiAgICAgIGludCBtb2RlOwogeworICBpbnQgcmV0OworCiAgIGlmIChwYXRoX2lzX2RldmZkIChwYXRoKSkKICAgICByZXR1cm4gKHNoX3N0YXRhY2Nlc3MgKHBhdGgsIG1vZGUpKTsKIAotI2lmIGRlZmluZWQgKEhBVkVfRUFDQ0VTUykJCS8qIEZyZWVCU0QgKi8KLSAgcmV0dXJuIChlYWNjZXNzIChwYXRoLCBtb2RlKSk7CisjaWYgZGVmaW5lZCAoSEFWRV9GQUNDRVNTQVQpICYmIGRlZmluZWQgKEFUX0VBQ0NFU1MpCisgIHJldHVybiAoZmFjY2Vzc2F0IChBVF9GRENXRCwgcGF0aCwgbW9kZSwgQVRfRUFDQ0VTUykpOworI2VsaWYgZGVmaW5lZCAoSEFWRV9FQUNDRVNTKQkJLyogRnJlZUJTRCAqLworICByZXQgPSBlYWNjZXNzIChwYXRoLCBtb2RlKTsJLyogWFhYIC0tIG5vdCBhbHdheXMgY29ycmVjdCBmb3IgWF9PSyAqLworIyAgaWYgZGVmaW5lZCAoX19GcmVlQlNEX18pCisgIGlmIChyZXQgPT0gMCAmJiBjdXJyZW50X3VzZXIuZXVpZCA9PSAwICYmIG1vZGUgPT0gWF9PSykKKyAgICByZXR1cm4gKHNoX3N0YXRhY2Nlc3MgKHBhdGgsIG1vZGUpKTsKKyMgIGVuZGlmCisgIHJldHVybiByZXQ7CiAjZWxpZiBkZWZpbmVkIChFRkZfT05MWV9PSykJCS8qIFNWUjQoPyksIFNWUjQuMiAqLwogICByZXR1cm4gYWNjZXNzIChwYXRoLCBtb2RlfEVGRl9PTkxZX09LKTsKICNlbHNlCkBAIC0yMTUsNyArMjI0LDE1IEBACiAjICBlbmRpZgogCiAgIGlmIChjdXJyZW50X3VzZXIudWlkID09IGN1cnJlbnRfdXNlci5ldWlkICYmIGN1cnJlbnRfdXNlci5naWQgPT0gY3VycmVudF91c2VyLmVnaWQpCi0gICAgcmV0dXJuIChhY2Nlc3MgKHBhdGgsIG1vZGUpKTsgIAorICAgIHsKKyAgICAgIHJldCA9IGFjY2VzcyAocGF0aCwgbW9kZSk7CisjaWYgZGVmaW5lZCAoX19GcmVlQlNEX18pIHx8IGRlZmluZWQgKFNPTEFSSVMpCisgICAgICBpZiAocmV0ID09IDAgJiYgY3VycmVudF91c2VyLmV1aWQgPT0gMCAmJiBtb2RlID09IFhfT0spCisJcmV0dXJuIChzaF9zdGF0YWNjZXNzIChwYXRoLCBtb2RlKSk7CisjZW5kaWYKKyAgICAgIHJldHVybiByZXQ7CisgICAgICAKKyAgICB9CiAKICAgcmV0dXJuIChzaF9zdGF0YWNjZXNzIChwYXRoLCBtb2RlKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi9zaC9mbnhmb3JtLmMgYi9saWIvc2gvZm54Zm9ybS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3ZTFiNWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvc2gvZm54Zm9ybS5jCkBAIC0wLDAgKzEsMTk5IEBACisvKiBmbnhmb3JtIC0gdXNlIGljb252KDMpIHRvIHRyYW5zZm9ybSBzdHJpbmdzIHRvIGFuZCBmcm9tICJmaWxlbmFtZSIgZm9ybWF0ICovCisKKy8qIENvcHlyaWdodCAoQykgMjAwOS0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KKworICAgQmFzaCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIEJhc2ggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCBCYXNoLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKi8KKworI2luY2x1ZGUgPGNvbmZpZy5oPgorI2lmIGRlZmluZWQgKEhBVkVfVU5JU1REX0gpCisjICBpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2luY2x1ZGUgImJhc2hhbnNpLmgiCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlICJiYXNodHlwZXMuaCIKKworI2luY2x1ZGUgInN0ZGMuaCIKKyNpbmNsdWRlICJiYXNoaW50bC5oIgorI2luY2x1ZGUgPHhtYWxsb2MuaD4KKworI2lmIGRlZmluZWQgKEhBVkVfSUNPTlYpCisjICBpbmNsdWRlIDxpY29udi5oPgorI2VuZGlmCisKKyNpZiBkZWZpbmVkIChIQVZFX0xPQ0FMRV9DSEFSU0VUKQorZXh0ZXJuIGNvbnN0IGNoYXIgKmxvY2FsZV9jaGFyc2V0IF9fUCgodm9pZCkpOworI2Vsc2UKK2V4dGVybiBjaGFyICpnZXRfbG9jYWxlX3ZhciBfX1AoKGNoYXIgKikpOworI2VuZGlmCisKKyNpZiBkZWZpbmVkIChIQVZFX0lDT05WKQorc3RhdGljIGljb252X3QgY29udl9mcm9tZnMgPSAoaWNvbnZfdCktMTsKK3N0YXRpYyBpY29udl90IGNvbnZfdG9mcyA9IChpY29udl90KS0xOworCisjZGVmaW5lIE9VVExFTl9NQVggNDA5NgorCitzdGF0aWMgY2hhciAqb3V0YnVmID0gMDsKK3N0YXRpYyBzaXplX3Qgb3V0bGVuID0gMDsKKworc3RhdGljIGNoYXIgKmN1cmVuY29kaW5nIF9fUCgodm9pZCkpOworc3RhdGljIHZvaWQgaW5pdF90b2ZzIF9fUCgodm9pZCkpOworc3RhdGljIHZvaWQgaW5pdF9mcm9tZnMgX19QKCh2b2lkKSk7CisKK3N0YXRpYyBjaGFyICoKK2N1cmVuY29kaW5nICgpCit7CisgIGNoYXIgKmxvYzsKKyNpZiBkZWZpbmVkIChIQVZFX0xPQ0FMRV9DSEFSU0VUKQorICBsb2MgPSAoY2hhciAqKWxvY2FsZV9jaGFyc2V0ICgpOworICByZXR1cm4gbG9jOworI2Vsc2UKKyAgY2hhciAqZG90LCAqbW9kOworCisgIGxvYyA9IGdldF9sb2NhbGVfdmFyICgiTENfQ1RZUEUiKTsKKyAgaWYgKGxvYyA9PSAwIHx8ICpsb2MgPT0gMCkKKyAgICByZXR1cm4gIiI7CisgIGRvdCA9IHN0cmNociAobG9jLCAnLicpOworICBpZiAoZG90ID09IDApCisgICAgcmV0dXJuIGxvYzsKKyAgbW9kID0gc3RyY2hyIChkb3QsICdAJyk7CisgIGlmIChtb2QpCisgICAgKm1vZCA9ICdcMCc7CisgIHJldHVybiArK2RvdDsKKyNlbmRpZgorfSAgCisKK3N0YXRpYyB2b2lkCitpbml0X3RvZnMgKCkKK3sKKyAgY2hhciAqY3VyOworCisgIGN1ciA9IGN1cmVuY29kaW5nICgpOworICBjb252X3RvZnMgPSBpY29udl9vcGVuICgiVVRGLTgtTUFDIiwgY3VyKTsKK30KKworc3RhdGljIHZvaWQKK2luaXRfZnJvbWZzICgpCit7CisgIGNoYXIgKmN1cjsKKworICBjdXIgPSBjdXJlbmNvZGluZyAoKTsKKyAgY29udl9mcm9tZnMgPSBpY29udl9vcGVuIChjdXIsICJVVEYtOC1NQUMiKTsKK30KKworY2hhciAqCitmbnhfdG9mcyAoc3RyaW5nLCBsZW4pCisgICAgIGNoYXIgKnN0cmluZzsKKyAgICAgc2l6ZV90IGxlbjsKK3sKKyNpZmRlZiBNQUNPU1gKKyAgSUNPTlZfQ09OU1QgY2hhciAqaW5idWY7CisgIGNoYXIgKnRlbXBidWY7CisgIHNpemVfdCB0ZW1wbGVuOworICAKKyAgaWYgKGNvbnZfdG9mcyA9PSAoaWNvbnZfdCktMSkKKyAgICBpbml0X3RvZnMgKCk7CisgIGlmIChjb252X3RvZnMgPT0gKGljb252X3QpLTEpCisgICAgcmV0dXJuIHN0cmluZzsKKworICAvKiBGcmVlIGFuZCByZWFsbG9jYXRlIG91dGJ1ZiBpZiBpdCdzICp0b28qIGJpZyAqLworICBpZiAob3V0bGVuID49IE9VVExFTl9NQVggJiYgbGVuIDwgT1VUTEVOX01BWCAtIDgpCisgICAgeworICAgICAgZnJlZSAob3V0YnVmKTsKKyAgICAgIG91dGJ1ZiA9IDA7CisgICAgICBvdXRsZW4gPSAwOworICAgIH0KKworICBpbmJ1ZiA9IHN0cmluZzsKKyAgaWYgKG91dGJ1ZiA9PSAwIHx8IG91dGxlbiA8IGxlbiArIDgpCisgICAgeworICAgICAgb3V0bGVuID0gbGVuICsgODsKKyAgICAgIG91dGJ1ZiA9IG91dGJ1ZiA/IHhyZWFsbG9jIChvdXRidWYsIG91dGxlbiArIDEpIDogeG1hbGxvYyAob3V0bGVuICsgMSk7CisgICAgfQorICB0ZW1wYnVmID0gb3V0YnVmOworICB0ZW1wbGVuID0gb3V0bGVuOworCisgIGljb252IChjb252X3RvZnMsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwpOworCisgIGlmIChpY29udiAoY29udl90b2ZzLCAmaW5idWYsICZsZW4sICZ0ZW1wYnVmLCAmdGVtcGxlbikgPT0gKHNpemVfdCktMSkKKyAgICByZXR1cm4gc3RyaW5nOworCisgICp0ZW1wYnVmID0gJ1wwJzsKKyAgcmV0dXJuIG91dGJ1ZjsKKyNlbHNlCisgIHJldHVybiBzdHJpbmc7CisjZW5kaWYKK30KKworY2hhciAqCitmbnhfZnJvbWZzIChzdHJpbmcsIGxlbikKKyAgICAgY2hhciAqc3RyaW5nOworICAgICBzaXplX3QgbGVuOworeworI2lmZGVmIE1BQ09TWAorICBJQ09OVl9DT05TVCBjaGFyICppbmJ1ZjsKKyAgY2hhciAqdGVtcGJ1ZjsKKyAgc2l6ZV90IHRlbXBsZW47CisKKyAgaWYgKGNvbnZfZnJvbWZzID09IChpY29udl90KS0xKQorICAgIGluaXRfZnJvbWZzICgpOworICBpZiAoY29udl9mcm9tZnMgPT0gKGljb252X3QpLTEpCisgICAgcmV0dXJuIHN0cmluZzsKKworICAvKiBGcmVlIGFuZCByZWFsbG9jYXRlIG91dGJ1ZiBpZiBpdCdzICp0b28qIGJpZyAqLworICBpZiAob3V0bGVuID49IE9VVExFTl9NQVggJiYgbGVuIDwgT1VUTEVOX01BWCAtIDgpCisgICAgeworICAgICAgZnJlZSAob3V0YnVmKTsKKyAgICAgIG91dGJ1ZiA9IDA7CisgICAgICBvdXRsZW4gPSAwOworICAgIH0KKworICBpbmJ1ZiA9IHN0cmluZzsKKyAgaWYgKG91dGJ1ZiA9PSAwIHx8IG91dGxlbiA8IChsZW4gKyA4KSkKKyAgICB7CisgICAgICBvdXRsZW4gPSBsZW4gKyA4OworICAgICAgb3V0YnVmID0gb3V0YnVmID8geHJlYWxsb2MgKG91dGJ1Ziwgb3V0bGVuICsgMSkgOiB4bWFsbG9jIChvdXRsZW4gKyAxKTsKKyAgICB9CisgIHRlbXBidWYgPSBvdXRidWY7CisgIHRlbXBsZW4gPSBvdXRsZW47CisKKyAgaWNvbnYgKGNvbnZfZnJvbWZzLCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKTsKKworICBpZiAoaWNvbnYgKGNvbnZfZnJvbWZzLCAmaW5idWYsICZsZW4sICZ0ZW1wYnVmLCAmdGVtcGxlbikgPT0gKHNpemVfdCktMSkKKyAgICByZXR1cm4gc3RyaW5nOworCisgICp0ZW1wYnVmID0gJ1wwJzsKKyAgcmV0dXJuIG91dGJ1ZjsKKyNlbHNlCisgIHJldHVybiBzdHJpbmc7CisjZW5kaWYKK30KKworI2Vsc2UKK2NoYXIgKgorZm54X3RvZnMgKHN0cmluZykKKyAgICAgY2hhciAqc3RyaW5nOworeworICByZXR1cm4gc3RyaW5nOworfQorCitjaGFyICoKK2ZueF9mcm9tZnMgKHN0cmluZykKKyAgICAgY2hhciAqc3RyaW5nOworeworICByZXR1cm4gc3RyaW5nOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvc2gvZnB1cmdlLmMgYi9saWIvc2gvZnB1cmdlLmMKaW5kZXggZjllMWI5ZC4uMTNlOGM3OCAxMDA2NDQKLS0tIGEvbGliL3NoL2ZwdXJnZS5jCisrKyBiL2xpYi9zaC9mcHVyZ2UuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIGZwdXJnZSAtIEZsdXNoaW5nIGJ1ZmZlcnMgb2YgYSBGSUxFIHN0cmVhbS4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAyMDA3LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC0zNiw2ICszNiw5MCBAQAogI2VuZGlmCiAjaW5jbHVkZSA8c3RkbGliLmg+CiAKKy8qIElubGluZSBjb250ZW50cyBvZiBnbnVsaWI6c3RkaW8taW1wbC5oICovCisKKy8qIE1hbnkgc3RkaW8gaW1wbGVtZW50YXRpb25zIGhhdmUgdGhlIHNhbWUgbG9naWMgYW5kIHRoZXJlZm9yZSBjYW4gc2hhcmUKKyAgIHRoZSBzYW1lIGltcGxlbWVudGF0aW9uIG9mIHN0ZGlvIGV4dGVuc2lvbiBBUEksIGV4Y2VwdCB0aGF0IHNvbWUgZmllbGRzCisgICBoYXZlIGRpZmZlcmVudCBuYW1pbmcgY29udmVudGlvbnMsIG9yIHRoZWlyIGFjY2VzcyByZXF1aXJlcyBzb21lIGNhc3RzLiAgKi8KKworLyogQlNEIHN0ZGlvIGRlcml2ZWQgaW1wbGVtZW50YXRpb25zLiAgKi8KKworI2lmIGRlZmluZWQgX19OZXRCU0RfXyAgICAgICAgICAgICAgICAgICAgICAgICAvKiBOZXRCU0QgKi8KKy8qIEdldCBfX05ldEJTRF9WZXJzaW9uX18uICAqLworIyBpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyNlbmRpZgorCisjaWYgZGVmaW5lZCBfX3NmZXJyb3IgfHwgZGVmaW5lZCBfX0RyYWdvbkZseV9fIC8qIEZyZWVCU0QsIE5ldEJTRCwgT3BlbkJTRCwgRHJhZ29uRmx5LCBNYWNPUyBYLCBDeWd3aW4gKi8KKworIyBpZiBkZWZpbmVkIF9fRHJhZ29uRmx5X18gICAgICAgICAgLyogRHJhZ29uRmx5ICovCisgIC8qIFNlZSA8aHR0cDovL3d3dy5kcmFnb25mbHlic2Qub3JnL2N2c3dlYi9zcmMvbGliL2xpYmMvc3RkaW8vcHJpdl9zdGRpby5oP3Jldj1IRUFEJmNvbnRlbnQtdHlwZT10ZXh0L3gtY3Zzd2ViLW1hcmt1cD4uICAqLworIyAgZGVmaW5lIGZwXyAoKHN0cnVjdCB7IHN0cnVjdCBfX0ZJTEVfcHVibGljIHB1YjsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB7IHVuc2lnbmVkIGNoYXIgKl9iYXNlOyBpbnQgX3NpemU7IH0gX2JmOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqY29va2llOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqX2Nsb3NlOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqX3JlYWQ7IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICpfc2VlazsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKl93cml0ZTsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCB7IHVuc2lnbmVkIGNoYXIgKl9iYXNlOyBpbnQgX3NpemU7IH0gX3ViOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgaW50IF91cjsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgX3VidWZbM107IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBjaGFyIF9uYnVmWzFdOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHsgdW5zaWduZWQgY2hhciAqX2Jhc2U7IGludCBfc2l6ZTsgfSBfbGI7IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgX2Jsa3NpemU7IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBmcG9zX3QgX29mZnNldDsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE1vcmUgZmllbGRzLCBub3QgcmVsZXZhbnQgaGVyZS4gICovIFwKKyAgICAgICAgICAgICAgICAgICAgICAgfSAqKSBmcCkKKyAgLyogU2VlIDxodHRwOi8vd3d3LmRyYWdvbmZseWJzZC5vcmcvY3Zzd2ViL3NyYy9pbmNsdWRlL3N0ZGlvLmg/cmV2PUhFQUQmY29udGVudC10eXBlPXRleHQveC1jdnN3ZWItbWFya3VwPi4gICovCisjICBkZWZpbmUgX3AgcHViLl9wCisjICBkZWZpbmUgX2ZsYWdzIHB1Yi5fZmxhZ3MKKyMgIGRlZmluZSBfciBwdWIuX3IKKyMgIGRlZmluZSBfdyBwdWIuX3cKKyMgZWxzZQorIyAgZGVmaW5lIGZwXyBmcAorIyBlbmRpZgorCisjIGlmIChkZWZpbmVkIF9fTmV0QlNEX18gJiYgX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNTI3MDAwMCkgfHwgZGVmaW5lZCBfX09wZW5CU0RfXyAvKiBOZXRCU0QgPj0gMS41WkEsIE9wZW5CU0QgKi8KKyAgLyogU2VlIDxodHRwOi8vY3Zzd2ViLm5ldGJzZC5vcmcvYnNkd2ViLmNnaS9zcmMvbGliL2xpYmMvc3RkaW8vZmlsZWV4dC5oP3Jldj1IRUFEJmNvbnRlbnQtdHlwZT10ZXh0L3gtY3Zzd2ViLW1hcmt1cD4KKyAgICAgYW5kIDxodHRwOi8vd3d3Lm9wZW5ic2Qub3JnL2NnaS1iaW4vY3Zzd2ViL3NyYy9saWIvbGliYy9zdGRpby9maWxlZXh0Lmg/cmV2PUhFQUQmY29udGVudC10eXBlPXRleHQveC1jdnN3ZWItbWFya3VwPiAqLworICBzdHJ1Y3QgX19zZmlsZWV4dAorICAgIHsKKyAgICAgIHN0cnVjdCAgX19zYnVmIF91YjsgLyogdW5nZXRjIGJ1ZmZlciAqLworICAgICAgLyogTW9yZSBmaWVsZHMsIG5vdCByZWxldmFudCBoZXJlLiAgKi8KKyAgICB9OworIyAgZGVmaW5lIGZwX3ViICgoc3RydWN0IF9fc2ZpbGVleHQgKikgZnAtPl9leHQuX2Jhc2UpLT5fdWIKKyMgZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogRnJlZUJTRCwgTmV0QlNEIDw9IDEuNVosIERyYWdvbkZseSwgTWFjT1MgWCwgQ3lnd2luICovCisjICBkZWZpbmUgZnBfdWIgZnBfLT5fdWIKKyMgZW5kaWYKKworIyBkZWZpbmUgSEFTVUIoZnApIChmcF91Yi5fYmFzZSAhPSBOVUxMKQorCisjZW5kaWYKKworLyogU3lzdGVtViBkZXJpdmVkIGltcGxlbWVudGF0aW9ucy4gICovCisKKyNpZiBkZWZpbmVkIF9JT0VSUgorCisjIGlmIGRlZmluZWQgX19zdW4gJiYgZGVmaW5lZCBfTFA2NCAvKiBTb2xhcmlzL3tTUEFSQyxBTUQ2NH0gNjQtYml0ICovCisjICBkZWZpbmUgZnBfICgoc3RydWN0IHsgdW5zaWduZWQgY2hhciAqX3B0cjsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgKl9iYXNlOyBcCisgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgY2hhciAqX2VuZDsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGxvbmcgX2NudDsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIGludCBfZmlsZTsgXAorICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBfZmxhZzsgXAorICAgICAgICAgICAgICAgICAgICAgICB9ICopIGZwKQorIyBlbHNlCisjICBkZWZpbmUgZnBfIGZwCisjIGVuZGlmCisKKyMgaWYgZGVmaW5lZCBfU0NPX0RTICAgICAgICAgICAgICAgIC8qIE9wZW5TZXJ2ZXIgKi8KKyMgIGRlZmluZSBfY250IF9fY250CisjICBkZWZpbmUgX3B0ciBfX3B0cgorIyAgZGVmaW5lIF9iYXNlIF9fYmFzZQorIyAgZGVmaW5lIF9mbGFnIF9fZmxhZworIyBlbmRpZgorCisjZW5kaWYKKwogaW50CiBmcHVyZ2UgKEZJTEUgKmZwKQogewpAQCAtNDUsNyArMTI5LDcgQEAKICAgLyogVGhlIF9fZnB1cmdlIGZ1bmN0aW9uIGRvZXMgbm90IGhhdmUgYSByZXR1cm4gdmFsdWUuICAqLwogICByZXR1cm4gMDsKIAotI2VsaWYgSEFWRV9GUFVSR0UgICAgICAgICAgICAgICAgICAgLyogRnJlZUJTRCwgTmV0QlNELCBPcGVuQlNELCBEcmFnb25GbHksIE1hY09TIFggKi8KKyNlbGlmIEhBVkVfRlBVUkdFICAgICAgICAgICAgICAgICAgIC8qIEZyZWVCU0QsIE5ldEJTRCwgT3BlbkJTRCwgRHJhZ29uRmx5LCBNYWNPUyBYLCBDeWd3aW4gMS43ICovCiAKICAgLyogQ2FsbCB0aGUgc3lzdGVtJ3MgZnB1cmdlIGZ1bmN0aW9uLiAgKi8KICMgdW5kZWYgZnB1cmdlCkBAIC01OSwxMCArMTQzLDEwIEBACiAgICAgICAgPHN0ZGlvLmg+IG9uIEJTRCBzeXN0ZW1zIHNheXM6CiAgICAgICAgICAiVGhlIGZvbGxvd2luZyBhbHdheXMgaG9sZDogaWYgX2ZsYWdzICYgX19TUkQsIF93IGlzIDAuIgogICAgICAgIElmIHRoaXMgaW52YXJpYW50IGlzIG5vdCBmdWxmaWxsZWQgYW5kIHRoZSBzdHJlYW0gaXMgcmVhZC13cml0ZSBidXQKLSAgICAgICBjdXJyZW50bHkgd3JpdGluZywgc3Vic2VxdWVudCBwdXRjIG9yIGZwdXRjIGNhbGxzIHdpbGwgd3JpdGUgZGlyZWN0bHkKKyAgICAgICBjdXJyZW50bHkgcmVhZGluZywgc3Vic2VxdWVudCBwdXRjIG9yIGZwdXRjIGNhbGxzIHdpbGwgd3JpdGUgZGlyZWN0bHkKICAgICAgICBpbnRvIHRoZSBidWZmZXIsIGFsdGhvdWdoIHRoZXkgc2hvdWxkbid0IGJlIGFsbG93ZWQgdG8uICAqLwotICAgIGlmICgoZnAtPl9mbGFncyAmIF9fU1JEKSAhPSAwKQotICAgICAgZnAtPl93ID0gMDsKKyAgICBpZiAoKGZwXy0+X2ZsYWdzICYgX19TUkQpICE9IDApCisgICAgICBmcF8tPl93ID0gMDsKICMgZW5kaWYKICAgcmV0dXJuIHJlc3VsdDsKIApAQCAtMTAxLDcgKzE4NSw3IEBACiAgIGZwLT5fd2NvdW50ID0gMDsKICAgZnAtPl91bmdldGNfY291bnQgPSAwOwogICByZXR1cm4gMDsKLSMgZWxpZiBkZWZpbmVkIF9JT0VSUiAgICAgICAgICAgICAgIC8qIEFJWCwgSFAtVVgsIElSSVgsIE9TRi8xLCBTb2xhcmlzLCBPcGVuU2VydmVyLCBtaW5ndyAqLworIyBlbGlmIGRlZmluZWQgX0lPRVJSIHx8IGRlZmluZWQgX19UQU5ERU0gICAgLyogQUlYLCBIUC1VWCwgSVJJWCwgT1NGLzEsIFNvbGFyaXMsIE9wZW5TZXJ2ZXIsIG1pbmd3ICovCiAgIGZwLT5fcHRyID0gZnAtPl9iYXNlOwogICBpZiAoZnAtPl9wdHIgIT0gTlVMTCkKICAgICBmcC0+X2NudCA9IDA7CmRpZmYgLS1naXQgYS9saWIvc2gvbWJzY2FzZWNtcC5jIGIvbGliL3NoL21ic2Nhc2VjbXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODI4MTY0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL3NoL21ic2Nhc2VjbXAuYwpAQCAtMCwwICsxLDc4IEBACisvKiBtYnNjYXNlY21wIC0gY2FzZS1pbnNlbnNpdGl2ZSBtdWx0aWJ5dGUgc3RyaW5nIGNvbXBhcmlzb24uICovCisKKy8qIENvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCisKKyAgIEJhc2ggaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBCYXNoIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggQmFzaC4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyovCisKKyNpbmNsdWRlIDxjb25maWcuaD4KKworI2lmICFkZWZpbmVkIChIQVZFX01CU0NBU0VDTVApICYmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUpCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgPHdjaGFyLmg+CisjaW5jbHVkZSA8d2N0eXBlLmg+CisKKy8qIENvbXBhcmUgTUJTMSBhbmQgTUJTMiB3aXRob3V0IHJlZ2FyZCB0byBjYXNlLiAgKi8KK2ludAorbWJzY2FzZWNtcCAobWJzMSwgbWJzMikKKyAgICBjb25zdCBjaGFyICptYnMxOworICAgIGNvbnN0IGNoYXIgKm1iczI7Cit7CisgIGludCBsZW4xLCBsZW4yOworICB3Y2hhcl90IGMxLCBjMiwgbDEsIGwyOworCisgIGxlbjEgPSBsZW4yID0gMDsKKyAgLyogUmVzZXQgbXVsdGlieXRlIGNoYXJhY3RlcnMgdG8gdGhlaXIgaW5pdGlhbCBzdGF0ZS4JICovCisgICh2b2lkKSBtYmxlbiAoKGNoYXIgKikgTlVMTCwgMCk7CisKKyAgZG8KKyAgICB7CisgICAgICBsZW4xID0gbWJ0b3djICgmYzEsIG1iczEsIE1CX0NVUl9NQVgpOworICAgICAgbGVuMiA9IG1idG93YyAoJmMyLCBtYnMyLCBNQl9DVVJfTUFYKTsKKworICAgICAgaWYgKGxlbjEgPT0gMCkKKwlyZXR1cm4gbGVuMiA9PSAwID8gMCA6IC0xOworICAgICAgZWxzZSBpZiAobGVuMiA9PSAwKQorCXJldHVybiAxOworICAgICAgZWxzZSBpZiAobGVuMSA+IDAgJiYgbGVuMiA8IDApCisgICAgICAgIHJldHVybiAtMTsKKyAgICAgIGVsc2UgaWYgKGxlbjEgPCAwICYmIGxlbjIgPiAwKQorICAgICAgICByZXR1cm4gMTsKKyAgICAgIGVsc2UgaWYgKGxlbjEgPCAwICYmIGxlbjIgPCAwKQorCXsKKwkgIGxlbjEgPSBzdHJsZW4gKG1iczEpOworCSAgbGVuMiA9IHN0cmxlbiAobWJzMik7CisJICByZXR1cm4gKGxlbjEgPT0gbGVuMiA/IG1lbWNtcCAobWJzMSwgbWJzMiwgbGVuMSkKKwkJCSAgICAgICA6ICgobGVuMSA8IGxlbjIpID8gKG1lbWNtcCAobWJzMSwgbWJzMiwgbGVuMSkgPiAwID8gMSA6IC0xKQorCQkJCQkJOiAobWVtY21wIChtYnMxLCBtYnMyLCBsZW4yKSA+PSAwID8gMSA6IC0xKSkpOworCX0KKworICAgICAgbDEgPSB0b3dsb3dlciAoYzEpOworICAgICAgbDIgPSB0b3dsb3dlciAoYzIpOworIAorICAgICAgbWJzMSArPSBsZW4xOworICAgICAgbWJzMiArPSBsZW4yOworICAgIH0KKyAgd2hpbGUgKGwxID09IGwyKTsKKworICByZXR1cm4gbDEgLSBsMjsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvc2gvbWJzY2hyLmMgYi9saWIvc2gvbWJzY2hyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTE0M2Q2NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9zaC9tYnNjaHIuYwpAQCAtMCwwICsxLDc4IEBACisvKiBtYnNjaHIuYyAtIHN0cmNocigzKSB0aGF0IGhhbmRsZXMgbXVsdGlieXRlIGNoYXJhY3RlcnMuICovCisKKy8qIENvcHlyaWdodCAoQykgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCisKKyAgIEJhc2ggaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBCYXNoIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggQmFzaC4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyovCisKKyNpbmNsdWRlIDxjb25maWcuaD4KKworI2lmZGVmIEhBVkVfU1RETElCX0gKKyMgIGluY2x1ZGUgPHN0ZGxpYi5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJiYXNoYW5zaS5oIgorI2luY2x1ZGUgInNobWJ1dGlsLmgiCisKKyN1bmRlZiBtYnNjaHIKKworLyogSW4gc29tZSBsb2NhbGVzLCB0aGUgbm9uLWZpcnN0IGJ5dGUgb2Ygc29tZSBtdWx0aWJ5dGUgY2hhcmFjdGVycyBoYXZlCisgICB0aGUgc2FtZSB2YWx1ZSBhcyBzb21lIGFzY2lpIGNoYXJhY3Rlci4gIEZhY2VkIHdpdGggdGhlc2Ugc3RyaW5ncywgYQorICAgbGVnYWN5IHN0cmNocigpIG1pZ2h0IHJldHVybiB0aGUgd3JvbmcgdmFsdWUuICovCisKK2NoYXIgKgorI2lmIGRlZmluZWQgKFBST1RPVFlQRVMpCittYnNjaHIgKGNvbnN0IGNoYXIgKnMsIGludCBjKQorI2Vsc2UKK21ic2NociAocywgYykKKyAgICAgY29uc3QgY2hhciAqczsKKyAgICAgaW50IGM7CisjZW5kaWYKK3sKKyNpZiBIQU5ETEVfTVVMVElCWVRFCisgIGNoYXIgKnBvczsKKyAgbWJzdGF0ZV90IHN0YXRlOworICBzaXplX3Qgc3RybGVuZ3RoLCBtYmxlbmd0aDsKKworICAvKiBUaGUgbG9jYWxlIGVuY29kaW5ncyB3aXRoIHNhaWQgd2VpcmQgcHJvcGVydHkgYXJlIEJJRzUsIEJJRzUtSEtTQ1MsCisgICAgIEdCSywgR0IxODAzMCwgU0hJRlRfSklTLCBhbmQgSk9IQUIuICBUaGV5IGV4aGliaXQgdGhlIHByb2JsZW0gb25seQorICAgICB3aGVuIGMgPj0gMHgzMC4gIFdlIGNhbiB0aGVyZWZvcmUgdXNlIHRoZSBmYXN0ZXIgYnl0ZXdpc2Ugc2VhcmNoIGlmCisgICAgIGMgPD0gMHgzMC4gKi8KKyAgaWYgKCh1bnNpZ25lZCBjaGFyKWMgPj0gJzAnICYmIE1CX0NVUl9NQVggPiAxKQorICAgIHsKKyAgICAgIHBvcyA9IChjaGFyICopczsKKyAgICAgIG1lbXNldCAoJnN0YXRlLCAnXDAnLCBzaXplb2YobWJzdGF0ZV90KSk7CisgICAgICBzdHJsZW5ndGggPSBzdHJsZW4gKHMpOworCisgICAgICB3aGlsZSAoc3RybGVuZ3RoID4gMCkKKwl7CisJICBtYmxlbmd0aCA9IG1icmxlbiAocG9zLCBzdHJsZW5ndGgsICZzdGF0ZSk7CisJICBpZiAobWJsZW5ndGggPT0gKHNpemVfdCktMiB8fCBtYmxlbmd0aCA9PSAoc2l6ZV90KS0xIHx8IG1ibGVuZ3RoID09IChzaXplX3QpMCkKKwkgICAgbWJsZW5ndGggPSAxOworCisJICBpZiAobWJsZW5ndGggPT0gMSAmJiBjID09ICh1bnNpZ25lZCBjaGFyKSpwb3MpCisJICAgIHJldHVybiBwb3M7CisKKwkgIHN0cmxlbmd0aCAtPSBtYmxlbmd0aDsKKwkgIHBvcyArPSBtYmxlbmd0aDsKKwl9CisKKyAgICAgIHJldHVybiAoKGNoYXIgKilOVUxMKTsKKyAgICB9CisgIGVsc2UKKyNlbmRpZgorICByZXR1cm4gKHN0cmNociAocywgYykpOworfQpkaWZmIC0tZ2l0IGEvbGliL3NoL29zbGliLmMgYi9saWIvc2gvb3NsaWIuYwppbmRleCBkNDdmOWRjLi5iMzQ3MGQxIDEwMDY0NAotLS0gYS9saWIvc2gvb3NsaWIuYworKysgYi9saWIvc2gvb3NsaWIuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIG9zbGliLmMgLSBmdW5jdGlvbnMgcHJlc2VudCBvbmx5IGluIHNvbWUgdW5peCB2ZXJzaW9ucy4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTk1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTk1LDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC0zNyw2ICszNywxMCBAQAogI2luY2x1ZGUgPGZpbGVjbnRsLmg+CiAjaW5jbHVkZSA8YmFzaGFuc2kuaD4KIAorI2lmICFkZWZpbmVkIChIQVZFX0tJTExQRykKKyMgIGluY2x1ZGUgPHNpZ25hbC5oPgorI2VuZGlmCisKICNpbmNsdWRlIDxzdGRpby5oPgogI2luY2x1ZGUgPGVycm5vLmg+CiAjaW5jbHVkZSA8Y2hhcnR5cGVzLmg+CkBAIC0yMDksNyArMjEzLDggQEAKICMgIGVsc2UgLyogIUhBVkVfVU5BTUUgKi8KIGludAogZ2V0aG9zdG5hbWUgKG5hbWUsIG5hbWVsZW4pCi0gICAgIGludCBuYW1lLCBuYW1lbGVuOworICAgICBjaGFyICpuYW1lOworICAgICBpbnQgbmFtZWxlbjsKIHsKICAgc3RybmNweSAobmFtZSwgInVua25vd24iLCBuYW1lbGVuKTsKICAgbmFtZVtuYW1lbGVuXSA9ICdcMCc7CmRpZmYgLS1naXQgYS9saWIvc2gvc2htYXRjaC5jIGIvbGliL3NoL3NobWF0Y2guYwppbmRleCA2ZGUxZGMxLi4zYWJlZmVkIDEwMDY0NAotLS0gYS9saWIvc2gvc2htYXRjaC5jCisrKyBiL2xpYi9zaC9zaG1hdGNoLmMKQEAgLTYyLDcgKzYyLDcgQEAKICNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQogICByZW1hdGNoID0gKFNIRUxMX1ZBUiAqKU5VTEw7CiAjZW5kaWYKLSAgCisKICAgcmZsYWdzID0gUkVHX0VYVEVOREVEOwogICBpZiAoZ2xvYl9pZ25vcmVfY2FzZSB8fCBtYXRjaF9pZ25vcmVfY2FzZSkKICAgICByZmxhZ3MgfD0gUkVHX0lDQVNFOwpkaWZmIC0tZ2l0IGEvbGliL3NoL3NobWJjaGFyLmMgYi9saWIvc2gvc2htYmNoYXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWJhZGMxCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3NoL3NobWJjaGFyLmMKQEAgLTAsMCArMSw5MiBAQAorLyogQ29weXJpZ2h0IChDKSAyMDAxLCAyMDA2LCAyMDA5LCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAqLworCisKKyNpbmNsdWRlIDxjb25maWcuaD4KKworI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUpCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisKKyNpbmNsdWRlIDxzaG1idXRpbC5oPgorI2luY2x1ZGUgPHNobWJjaGFyLmg+CisKKyNpZiBJU19CQVNJQ19BU0NJSQorCisvKiBCaXQgdGFibGUgb2YgY2hhcmFjdGVycyBpbiB0aGUgSVNPIEMgImJhc2ljIGNoYXJhY3RlciBzZXQiLiAgKi8KK2NvbnN0IHVuc2lnbmVkIGludCBpc19iYXNpY190YWJsZSBbVUNIQVJfTUFYIC8gMzIgKyAxXSA9Cit7CisgIDB4MDAwMDFhMDAsICAgICAgICAgICAvKiAnXHQnICdcdicgJ1xmJyAqLworICAweGZmZmZmZmVmLCAgICAgICAgICAgLyogJyAnLi4uJyMnICclJy4uLic/JyAqLworICAweGZmZmZmZmZlLCAgICAgICAgICAgLyogJ0EnLi4uJ1onICdbJyAnXFwnICddJyAnXicgJ18nICovCisgIDB4N2ZmZmZmZmUgICAgICAgICAgICAvKiAnYScuLi4neicgJ3snICd8JyAnfScgJ34nICovCisgIC8qIFRoZSByZW1haW5pbmcgYml0cyBhcmUgMC4gICovCit9OworCisjZW5kaWYgLyogSVNfQkFTSUNfQVNDSUkgKi8KKworc2l6ZV90CittYnN0cmxlbiAocykKKyAgICAgY29uc3QgY2hhciAqczsKK3sKKyAgc2l6ZV90IGNsZW4sIG5jOworICBtYnN0YXRlX3QgbWJzID0geyAwIH0sIG1ic2JhayA9IHsgMCB9OworICBpbnQgZjsKKworICBuYyA9IDA7CisgIHdoaWxlICgqcyAmJiAoY2xlbiA9IChmID0gaXNfYmFzaWMgKCpzKSkgPyAxIDogbWJybGVuKHMsIE1CX0NVUl9NQVgsICZtYnMpKSAhPSAwKQorICAgIHsKKyAgICAgIGlmIChNQl9JTlZBTElEQ0goY2xlbikpCisJeworCSAgY2xlbiA9IDE7CS8qIGFzc3VtZSBzaW5nbGUgYnl0ZSAqLworCSAgbWJzID0gbWJzYmFrOworCX0KKworICAgICAgaWYgKGYgPT0gMCkKKwltYnNiYWsgPSBtYnM7CisKKyAgICAgIHMgKz0gY2xlbjsKKyAgICAgIG5jKys7CisgICAgfQorICByZXR1cm4gbmM7Cit9CisKKy8qIFJldHVybiBwb2ludGVyIHRvIGZpcnN0IG11bHRpYnl0ZSBjaGFyIGluIFMsIG9yIE5VTEwgaWYgbm9uZS4gKi8KK2NoYXIgKgorbWJzbWJjaGFyIChzKQorICAgICBjb25zdCBjaGFyICpzOworeworICBjaGFyICp0OworICBzaXplX3QgY2xlbjsKKyAgbWJzdGF0ZV90IG1icyA9IHsgMCB9OworCisgIGZvciAodCA9IChjaGFyICopczsgKnQ7IHQrKykKKyAgICB7CisgICAgICBpZiAoaXNfYmFzaWMgKCp0KSkKKwljb250aW51ZTsKKworICAgICAgY2xlbiA9IG1icmxlbiAodCwgTUJfQ1VSX01BWCwgJm1icyk7CisKKyAgICAgIGlmIChjbGVuID09IDApCisgICAgICAgIHJldHVybiAwOworICAgICAgaWYgKE1CX0lOVkFMSURDSChjbGVuKSkKKwljb250aW51ZTsKKworICAgICAgaWYgKGNsZW4gPiAxKQorCXJldHVybiB0OworICAgIH0KKyAgcmV0dXJuIDA7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYi9zaC9zaHF1b3RlLmMgYi9saWIvc2gvc2hxdW90ZS5jCmluZGV4IGEyNjdkMzguLmExZTkxNDYgMTAwNjQ0Ci0tLSBhL2xpYi9zaC9zaHF1b3RlLmMKKysrIGIvbGliL3NoL3NocXVvdGUuYwpAQCAtNDIsMTAgKzQyLDExIEBACiAgICBVc2VkIGJ5IGFsaWFzIGFuZCB0cmFwLCBhbW9uZyBvdGhlcnMuICovCiBjaGFyICoKIHNoX3NpbmdsZV9xdW90ZSAoc3RyaW5nKQotICAgICBjaGFyICpzdHJpbmc7CisgICAgIGNvbnN0IGNoYXIgKnN0cmluZzsKIHsKICAgcmVnaXN0ZXIgaW50IGM7Ci0gIGNoYXIgKnJlc3VsdCwgKnIsICpzOworICBjaGFyICpyZXN1bHQsICpyOworICBjb25zdCBjaGFyICpzOwogCiAgIHJlc3VsdCA9IChjaGFyICopeG1hbGxvYyAoMyArICg0ICogc3RybGVuIChzdHJpbmcpKSk7CiAgIHIgPSByZXN1bHQ7CkBAIC03MiwxMCArNzMsMTEgQEAKIC8qIFF1b3RlIFNUUklORyB1c2luZyBkb3VibGUgcXVvdGVzLiAgUmV0dXJuIGEgbmV3IHN0cmluZy4gKi8KIGNoYXIgKgogc2hfZG91YmxlX3F1b3RlIChzdHJpbmcpCi0gICAgIGNoYXIgKnN0cmluZzsKKyAgICAgY29uc3QgY2hhciAqc3RyaW5nOwogewogICByZWdpc3RlciB1bnNpZ25lZCBjaGFyIGM7Ci0gIGNoYXIgKnJlc3VsdCwgKnIsICpzOworICBjaGFyICpyZXN1bHQsICpyOworICBjb25zdCBjaGFyICpzOwogCiAgIHJlc3VsdCA9IChjaGFyICopeG1hbGxvYyAoMyArICgyICogc3RybGVuIChzdHJpbmcpKSk7CiAgIHIgPSByZXN1bHQ7CmRpZmYgLS1naXQgYS9saWIvc2gvc25wcmludGYuYyBiL2xpYi9zaC9zbnByaW50Zi5jCmluZGV4IGQ2ODFiMTYuLmQ0NmIyZDkgMTAwNjQ0Ci0tLSBhL2xpYi9zaC9zbnByaW50Zi5jCisrKyBiL2xpYi9zaC9zbnByaW50Zi5jCkBAIC05LDcgKzksNyBAQAogICAgVW5peCBzbnByaW50ZiBpbXBsZW1lbnRhdGlvbi4KICAgIGRlcml2ZWQgZnJvbSBpbmV0dXRpbHMvbGliaW5ldHV0aWxzL3NucHJpbnRmLmMgVmVyc2lvbiAxLjEKIAotICAgQ29weXJpZ2h0IChDKSAyMDAxLDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgICBDb3B5cmlnaHQgKEMpIDIwMDEsMjAwNiwyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApkaWZmIC0tZ2l0IGEvbGliL3NoL3N0cmNhc2VzdHIuYyBiL2xpYi9zaC9zdHJjYXNlc3RyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgxOWIzZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9zaC9zdHJjYXNlc3RyLmMKQEAgLTAsMCArMSw0NiBAQAorLyogc3RyY2FzZXN0ci5jIC0gRmluZCBpZiBvbmUgc3RyaW5nIGFwcGVhcnMgYXMgYSBzdWJzdHJpbmcgb2YgYW5vdGhlciBzdHJpbmcsCisJCSAgd2l0aG91dCByZWdhcmQgdG8gY2FzZS4gKi8KKworLyogQ29weXJpZ2h0IChDKSAyMDAwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KKworICAgQmFzaCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIEJhc2ggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCBCYXNoLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKi8KKworI2luY2x1ZGUgPGNvbmZpZy5oPgorCisjaW5jbHVkZSA8YmFzaGFuc2kuaD4KKyNpbmNsdWRlIDxjaGFydHlwZXMuaD4KKworI2luY2x1ZGUgPHN0ZGMuaD4KKworLyogRGV0ZXJtaW5lIGlmIHMyIG9jY3VycyBpbiBzMS4gIElmIHNvLCByZXR1cm4gYSBwb2ludGVyIHRvIHRoZQorICAgbWF0Y2ggaW4gczEuICBUaGUgY29tcGFyZSBpcyBjYXNlIGluc2Vuc2l0aXZlLiAgVGhpcyBpcyBhCisgICBjYXNlLWluc2Vuc2l0aXZlIHN0cnN0cigzKS4gKi8KK2NoYXIgKgorc3RyY2FzZXN0ciAoczEsIHMyKQorICAgICBjb25zdCBjaGFyICpzMTsKKyAgICAgY29uc3QgY2hhciAqczI7Cit7CisgIHJlZ2lzdGVyIGludCBpLCBsLCBsZW4sIGM7CisKKyAgYyA9IFRPTE9XRVIgKCh1bnNpZ25lZCBjaGFyKXMyWzBdKTsKKyAgbGVuID0gc3RybGVuIChzMSk7CisgIGwgPSBzdHJsZW4gKHMyKTsKKyAgZm9yIChpID0gMDsgKGxlbiAtIGkpID49IGw7IGkrKykKKyAgICBpZiAoKFRPTE9XRVIgKCh1bnNpZ25lZCBjaGFyKXMxW2ldKSA9PSBjKSAmJiAoc3RybmNhc2VjbXAgKHMxICsgaSwgczIsIGwpID09IDApKQorICAgICAgcmV0dXJuICgoY2hhciAqKXMxICsgaSk7CisgIHJldHVybiAoKGNoYXIgKikwKTsKK30KZGlmZiAtLWdpdCBhL2xpYi9zaC9zdHJjaHJudWwuYyBiL2xpYi9zaC9zdHJjaHJudWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTE2MDhlCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3NoL3N0cmNocm51bC5jCkBAIC0wLDAgKzEsMTQ0IEBACisvKiBTZWFyY2hpbmcgaW4gYSBzdHJpbmcuCisgICBDb3B5cmlnaHQgKEMpIDIwMDMsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKyNpbmNsdWRlIDxjb25maWcuaD4KKworLyogU3BlY2lmaWNhdGlvbi4gICovCisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyAgLyogT24gMzItYml0IGhhcmR3YXJlLCBjaG9vc2luZyBsb25nd29yZCB0byBiZSBhIDMyLWJpdCB1bnNpZ25lZAorICAgICBsb25nIGluc3RlYWQgb2YgYSA2NC1iaXQgdWludG1heF90IHRlbmRzIHRvIGdpdmUgYmV0dGVyCisgICAgIHBlcmZvcm1hbmNlLiAgT24gNjQtYml0IGhhcmR3YXJlLCB1bnNpZ25lZCBsb25nIGlzIGdlbmVyYWxseSA2NAorICAgICBiaXRzIGFscmVhZHkuICBDaGFuZ2UgdGhpcyB0eXBlZGVmIHRvIGV4cGVyaW1lbnQgd2l0aAorICAgICBwZXJmb3JtYW5jZS4gICovCisgIHR5cGVkZWYgdW5zaWduZWQgbG9uZyBpbnQgbG9uZ3dvcmQ7CisKKy8qIEZpbmQgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgQyBpbiBTIG9yIHRoZSBmaW5hbCBOVUwgYnl0ZS4gICovCitjaGFyICoKK3N0cmNocm51bCAocywgY19pbikKKyAgICAgY29uc3QgY2hhciAqczsKKyAgICAgaW50IGNfaW47Cit7CisgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmNoYXJfcHRyOworICBjb25zdCBsb25nd29yZCAqbG9uZ3dvcmRfcHRyOworICBsb25nd29yZCByZXBlYXRlZF9vbmU7CisgIGxvbmd3b3JkIHJlcGVhdGVkX2M7CisgIHVuc2lnbmVkIGNoYXIgYzsKKworICBjID0gKHVuc2lnbmVkIGNoYXIpIGNfaW47CisgIGlmIChjID09IDApCQkvKiBmaW5kIGZpbmFsIG51bGwgYnl0ZSAqLworICAgIHJldHVybiAoY2hhciAqKShzID8gKHMgKyBzdHJsZW4gKHMpKSA6IHMpOworCisgIC8qIEhhbmRsZSB0aGUgZmlyc3QgZmV3IGJ5dGVzIGJ5IHJlYWRpbmcgb25lIGJ5dGUgYXQgYSB0aW1lLgorICAgICBEbyB0aGlzIHVudGlsIENIQVJfUFRSIGlzIGFsaWduZWQgb24gYSBsb25nd29yZCBib3VuZGFyeS4gICovCisgIGZvciAoY2hhcl9wdHIgPSAoY29uc3QgdW5zaWduZWQgY2hhciAqKSBzOworICAgICAgIChzaXplX3QpIGNoYXJfcHRyICUgc2l6ZW9mIChsb25nd29yZCkgIT0gMDsKKyAgICAgICArK2NoYXJfcHRyKQorICAgIGlmICghKmNoYXJfcHRyIHx8ICpjaGFyX3B0ciA9PSBjKQorICAgICAgcmV0dXJuIChjaGFyICopIGNoYXJfcHRyOworCisgIGxvbmd3b3JkX3B0ciA9IChjb25zdCBsb25nd29yZCAqKSBjaGFyX3B0cjsKKworICAvKiBBbGwgdGhlc2UgZWx1Y2lkYXRvcnkgY29tbWVudHMgcmVmZXIgdG8gNC1ieXRlIGxvbmd3b3JkcywKKyAgICAgYnV0IHRoZSB0aGVvcnkgYXBwbGllcyBlcXVhbGx5IHdlbGwgdG8gYW55IHNpemUgbG9uZ3dvcmRzLiAgKi8KKworICAvKiBDb21wdXRlIGF1eGlsaWFyeSBsb25nd29yZCB2YWx1ZXM6CisgICAgIHJlcGVhdGVkX29uZSBpcyBhIHZhbHVlIHdoaWNoIGhhcyBhIDEgaW4gZXZlcnkgYnl0ZS4KKyAgICAgcmVwZWF0ZWRfYyBoYXMgYyBpbiBldmVyeSBieXRlLiAgKi8KKyAgcmVwZWF0ZWRfb25lID0gMHgwMTAxMDEwMTsKKyAgcmVwZWF0ZWRfYyA9IGMgfCAoYyA8PCA4KTsKKyAgcmVwZWF0ZWRfYyB8PSByZXBlYXRlZF9jIDw8IDE2OworICBpZiAoMHhmZmZmZmZmZlUgPCAobG9uZ3dvcmQpIC0xKQorICAgIHsKKyAgICAgIHJlcGVhdGVkX29uZSB8PSByZXBlYXRlZF9vbmUgPDwgMzEgPDwgMTsKKyAgICAgIHJlcGVhdGVkX2MgfD0gcmVwZWF0ZWRfYyA8PCAzMSA8PCAxOworICAgICAgaWYgKDggPCBzaXplb2YgKGxvbmd3b3JkKSkKKyAgICAgICAgeworICAgICAgICAgIHNpemVfdCBpOworCisgICAgICAgICAgZm9yIChpID0gNjQ7IGkgPCBzaXplb2YgKGxvbmd3b3JkKSAqIDg7IGkgKj0gMikKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgcmVwZWF0ZWRfb25lIHw9IHJlcGVhdGVkX29uZSA8PCBpOworICAgICAgICAgICAgICByZXBlYXRlZF9jIHw9IHJlcGVhdGVkX2MgPDwgaTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAvKiBJbnN0ZWFkIG9mIHRoZSB0cmFkaXRpb25hbCBsb29wIHdoaWNoIHRlc3RzIGVhY2ggYnl0ZSwgd2Ugd2lsbAorICAgICB0ZXN0IGEgbG9uZ3dvcmQgYXQgYSB0aW1lLiAgVGhlIHRyaWNreSBwYXJ0IGlzIHRlc3RpbmcgaWYgKmFueSBvZgorICAgICB0aGUgZm91ciogYnl0ZXMgaW4gdGhlIGxvbmd3b3JkIGluIHF1ZXN0aW9uIGFyZSBlcXVhbCB0byBOVUwgb3IKKyAgICAgYy4gIFdlIGZpcnN0IHVzZSBhbiB4b3Igd2l0aCByZXBlYXRlZF9jLiAgVGhpcyByZWR1Y2VzIHRoZSB0YXNrCisgICAgIHRvIHRlc3Rpbmcgd2hldGhlciAqYW55IG9mIHRoZSBmb3VyKiBieXRlcyBpbiBsb25nd29yZDEgb3IKKyAgICAgbG9uZ3dvcmQyIGlzIHplcm8uCisKKyAgICAgTGV0J3MgY29uc2lkZXIgbG9uZ3dvcmQxLiAgV2UgY29tcHV0ZSB0bXAgPQorICAgICAgICgobG9uZ3dvcmQxIC0gcmVwZWF0ZWRfb25lKSAmIH5sb25nd29yZDEpICYgKHJlcGVhdGVkX29uZSA8PCA3KS4KKyAgICAgVGhhdCBpcywgd2UgcGVyZm9ybSB0aGUgZm9sbG93aW5nIG9wZXJhdGlvbnM6CisgICAgICAgMS4gU3VidHJhY3QgcmVwZWF0ZWRfb25lLgorICAgICAgIDIuICYgfmxvbmd3b3JkMS4KKyAgICAgICAzLiAmIGEgbWFzayBjb25zaXN0aW5nIG9mIDB4ODAgaW4gZXZlcnkgYnl0ZS4KKyAgICAgQ29uc2lkZXIgd2hhdCBoYXBwZW5zIGluIGVhY2ggYnl0ZToKKyAgICAgICAtIElmIGEgYnl0ZSBvZiBsb25nd29yZDEgaXMgemVybywgc3RlcCAxIGFuZCAyIHRyYW5zZm9ybSBpdCBpbnRvIDB4ZmYsCisgICAgICAgICBhbmQgc3RlcCAzIHRyYW5zZm9ybXMgaXQgaW50byAweDgwLiAgQSBjYXJyeSBjYW4gYWxzbyBiZSBwcm9wYWdhdGVkCisgICAgICAgICB0byBtb3JlIHNpZ25pZmljYW50IGJ5dGVzLgorICAgICAgIC0gSWYgYSBieXRlIG9mIGxvbmd3b3JkMSBpcyBub256ZXJvLCBsZXQgaXRzIGxvd2VzdCAxIGJpdCBiZSBhdAorICAgICAgICAgcG9zaXRpb24gayAoMCA8PSBrIDw9IDcpOyBzbyB0aGUgbG93ZXN0IGsgYml0cyBhcmUgMC4gIEFmdGVyIHN0ZXAgMSwKKyAgICAgICAgIHRoZSBieXRlIGVuZHMgaW4gYSBzaW5nbGUgYml0IG9mIHZhbHVlIDAgYW5kIGsgYml0cyBvZiB2YWx1ZSAxLgorICAgICAgICAgQWZ0ZXIgc3RlcCAyLCB0aGUgcmVzdWx0IGlzIGp1c3QgayBiaXRzIG9mIHZhbHVlIDE6IDJeayAtIDEuICBBZnRlcgorICAgICAgICAgc3RlcCAzLCB0aGUgcmVzdWx0IGlzIDAuICBBbmQgbm8gY2FycnkgaXMgcHJvZHVjZWQuCisgICAgIFNvLCBpZiBsb25nd29yZDEgaGFzIG9ubHkgbm9uLXplcm8gYnl0ZXMsIHRtcCBpcyB6ZXJvLgorICAgICBXaGVyZWFzIGlmIGxvbmd3b3JkMSBoYXMgYSB6ZXJvIGJ5dGUsIGNhbGwgaiB0aGUgcG9zaXRpb24gb2YgdGhlIGxlYXN0CisgICAgIHNpZ25pZmljYW50IHplcm8gYnl0ZS4gIFRoZW4gdGhlIHJlc3VsdCBoYXMgYSB6ZXJvIGF0IHBvc2l0aW9ucyAwLCAuLi4sCisgICAgIGotMSBhbmQgYSAweDgwIGF0IHBvc2l0aW9uIGouICBXZSBjYW5ub3QgcHJlZGljdCB0aGUgcmVzdWx0IGF0IHRoZSBtb3JlCisgICAgIHNpZ25pZmljYW50IGJ5dGVzIChwb3NpdGlvbnMgaisxLi4zKSwgYnV0IGl0IGRvZXMgbm90IG1hdHRlciBzaW5jZSB3ZQorICAgICBhbHJlYWR5IGhhdmUgYSBub24temVybyBiaXQgYXQgcG9zaXRpb24gOCpqKzcuCisKKyAgICAgVGhlIHRlc3Qgd2hldGhlciBhbnkgYnl0ZSBpbiBsb25nd29yZDEgb3IgbG9uZ3dvcmQyIGlzIHplcm8gaXMgZXF1aXZhbGVudAorICAgICB0byB0ZXN0aW5nIHdoZXRoZXIgdG1wMSBpcyBub256ZXJvIG9yIHRtcDIgaXMgbm9uemVyby4gIFdlIGNhbiBjb21iaW5lCisgICAgIHRoaXMgaW50byBhIHNpbmdsZSB0ZXN0LCB3aGV0aGVyICh0bXAxIHwgdG1wMikgaXMgbm9uemVyby4KKworICAgICBUaGlzIHRlc3QgY2FuIHJlYWQgbW9yZSB0aGFuIG9uZSBieXRlIGJleW9uZCB0aGUgZW5kIG9mIGEgc3RyaW5nLAorICAgICBkZXBlbmRpbmcgb24gd2hlcmUgdGhlIHRlcm1pbmF0aW5nIE5VTCBpcyBlbmNvdW50ZXJlZC4gIEhvd2V2ZXIsCisgICAgIHRoaXMgaXMgY29uc2lkZXJlZCBzYWZlIHNpbmNlIHRoZSBpbml0aWFsaXphdGlvbiBwaGFzZSBlbnN1cmVkCisgICAgIHRoYXQgdGhlIHJlYWQgd2lsbCBiZSBhbGlnbmVkLCB0aGVyZWZvcmUsIHRoZSByZWFkIHdpbGwgbm90IGNyb3NzCisgICAgIHBhZ2UgYm91bmRhcmllcyBhbmQgd2lsbCBub3QgY2F1c2UgYSBmYXVsdC4gICovCisKKyAgd2hpbGUgKDEpCisgICAgeworICAgICAgbG9uZ3dvcmQgbG9uZ3dvcmQxID0gKmxvbmd3b3JkX3B0ciBeIHJlcGVhdGVkX2M7CisgICAgICBsb25nd29yZCBsb25nd29yZDIgPSAqbG9uZ3dvcmRfcHRyOworCisgICAgICBpZiAoKCgoKGxvbmd3b3JkMSAtIHJlcGVhdGVkX29uZSkgJiB+bG9uZ3dvcmQxKQorICAgICAgICAgICAgfCAoKGxvbmd3b3JkMiAtIHJlcGVhdGVkX29uZSkgJiB+bG9uZ3dvcmQyKSkKKyAgICAgICAgICAgJiAocmVwZWF0ZWRfb25lIDw8IDcpKSAhPSAwKQorICAgICAgICBicmVhazsKKyAgICAgIGxvbmd3b3JkX3B0cisrOworICAgIH0KKworICBjaGFyX3B0ciA9IChjb25zdCB1bnNpZ25lZCBjaGFyICopIGxvbmd3b3JkX3B0cjsKKworICAvKiBBdCB0aGlzIHBvaW50LCB3ZSBrbm93IHRoYXQgb25lIG9mIHRoZSBzaXplb2YgKGxvbmd3b3JkKSBieXRlcworICAgICBzdGFydGluZyBhdCBjaGFyX3B0ciBpcyA9PSAwIG9yID09IGMuICBPbiBsaXR0bGUtZW5kaWFuIG1hY2hpbmVzLAorICAgICB3ZSBjb3VsZCBkZXRlcm1pbmUgdGhlIGZpcnN0IHN1Y2ggYnl0ZSB3aXRob3V0IGFueSBmdXJ0aGVyIG1lbW9yeQorICAgICBhY2Nlc3NlcywganVzdCBieSBsb29raW5nIGF0IHRoZSB0bXAgcmVzdWx0IGZyb20gdGhlIGxhc3QgbG9vcAorICAgICBpdGVyYXRpb24uICBCdXQgdGhpcyBkb2VzIG5vdCB3b3JrIG9uIGJpZy1lbmRpYW4gbWFjaGluZXMuCisgICAgIENob29zZSBjb2RlIHRoYXQgd29ya3MgaW4gYm90aCBjYXNlcy4gICovCisKKyAgY2hhcl9wdHIgPSAodW5zaWduZWQgY2hhciAqKSBsb25nd29yZF9wdHI7CisgIHdoaWxlICgqY2hhcl9wdHIgJiYgKCpjaGFyX3B0ciAhPSBjKSkKKyAgICBjaGFyX3B0cisrOworICByZXR1cm4gKGNoYXIgKikgY2hhcl9wdHI7Cit9CmRpZmYgLS1naXQgYS9saWIvc2gvc3RyZnRpbWUuYyBiL2xpYi9zaC9zdHJmdGltZS5jCmluZGV4IDU3MmJhYWUuLmFhM2ZjODUgMTAwNjQ0Ci0tLSBhL2xpYi9zaC9zdHJmdGltZS5jCisrKyBiL2xpYi9zaC9zdHJmdGltZS5jCkBAIC0yNCw5ICsyNCw2IEBACiAgKiBJdCBhbHNvIGRvZXNuJ3Qgd29ycnkgYWJvdXQgbXVsdGktYnl0ZSBjaGFyYWN0ZXJzLgogICogU28gdGhlcmUuCiAgKgotICogVGhpcyBmaWxlIGlzIGFsc28gc2hpcHBlZCB3aXRoIEdBV0sgKEdOVSBBd2spLCBnYXdrIHNwZWNpZmljIGJpdHMgb2YKLSAqIGNvZGUgYXJlIGluY2x1ZGVkIGlmIEdBV0sgaXMgZGVmaW5lZC4KLSAqCiAgKiBBcm5vbGQgUm9iYmlucwogICogSmFudWFyeSwgRmVicnVhcnksIE1hcmNoLCAxOTkxCiAgKiBVcGRhdGVkIE1hcmNoLCBBcHJpbCAxOTkyCkBAIC0zOSw2ICszNiw4IEBACiAgKiBVcGRhdGVkIEp1bHksIDE5OTcKICAqIFVwZGF0ZWQgT2N0b2JlciwgMTk5OQogICogVXBkYXRlZCBTZXB0ZW1iZXIsIDIwMDAKKyAqIFVwZGF0ZWQgRGVjZW1iZXIsIDIwMDEKKyAqIFVwZGF0ZWQgSmFudWFyeSwgMjAxMQogICoKICAqIEZpeGVzIGZyb20gYWRvQGVsc2llLm5jaS5uaWguZ292LAogICogRmVicnVhcnkgMTk5MSwgTWF5IDE5OTIKQEAgLTU0LDE0ICs1MywxNSBAQAogICogSnVseSAxOTk3CiAgKiBNb3ZlZCB0byBDOTkgc3BlY2lmaWNhdGlvbi4KICAqIFNlcHRlbWJlciAyMDAwCisgKiBGaXhlcyBmcm9tIFRhbmFrYSBBa2lyYSA8YWtyQG0xN24ub3JnPgorICogRGVjZW1iZXIgMjAwMQogICovCiAjaW5jbHVkZSA8Y29uZmlnLmg+CiAKLSNpZm5kZWYgR0FXSwogI2luY2x1ZGUgPHN0ZGlvLmg+CiAjaW5jbHVkZSA8Y3R5cGUuaD4KICNpbmNsdWRlIDx0aW1lLmg+Ci0jZW5kaWYKKwogI2lmIGRlZmluZWQoVE1fSU5fU1lTX1RJTUUpCiAjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CiAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KQEAgLTc0LDkgKzc0LDcgQEAKICNkZWZpbmUgU1VOT1NfRVhUCTEJLyogc3R1ZmYgaW4gU3VuT1Mgc3RyZnRpbWUgcm91dGluZSAqLwogI2RlZmluZSBWTVNfRVhUCQkxCS8qIGluY2x1ZGUgJXYgZm9yIFZNUyBkYXRlIGZvcm1hdCAqLwogI2RlZmluZSBIUFVYX0VYVAkxCS8qIG5vbi1jb25mbGljdGluZyBzdHVmZiBpbiBIUC1VWCBkYXRlICovCi0jaWZuZGVmIEdBV0sKICNkZWZpbmUgUE9TSVhfU0VNQU5USUNTCTEJLyogY2FsbCB0enNldCgpIGlmIFRaIGNoYW5nZXMgKi8KLSNlbmRpZgogCiAjdW5kZWYgc3RyY2hyCS8qIGF2b2lkIEFJWCB3ZWlyZG5lc3MgKi8KIApAQCAtMTE0LDYgKzExMiwxMSBAQAogCiAjdW5kZWYgbWluCS8qIGp1c3QgaW4gY2FzZSAqLwogCisvKiBmb3JtYXQgZm9yICUrIC0tIGN1cnJlbnRseSB1bnVzZWQgKi8KKyNpZm5kZWYgTkFUSU9OQUxfRk9STUFUCisjZGVmaW5lIE5BVElPTkFMX0ZPUk1BVCAiJWEgJWIgJWUgJUg6JU06JVMgJVogJVkiCisjZW5kaWYKKwogLyogbWluIC0tLSByZXR1cm4gbWluaW11bSBvZiB0d28gbnVtYmVycyAqLwogCiBzdGF0aWMgaW5saW5lIGludApAQCAtMTQxLDcgKzE0NCw4IEBACiAJY2hhciAqc3RhcnQgPSBzOwogCWF1dG8gY2hhciB0YnVmWzEwMF07CiAJbG9uZyBvZmY7Ci0JaW50IGksIHcsIHk7CisJaW50IGksIHc7CisJbG9uZyB5OwogCXN0YXRpYyBzaG9ydCBmaXJzdCA9IDE7CiAjaWZkZWYgUE9TSVhfU0VNQU5USUNTCiAJc3RhdGljIGNoYXIgKnNhdmV0eiA9IE5VTEw7CkBAIC0yODIsNyArMjg2LDcgQEAKIAogCQljYXNlICdDJzoKIAkJY2VudHVyeToKLQkJCXNwcmludGYodGJ1ZiwgIiUwMmQiLCAodGltZXB0ci0+dG1feWVhciArIDE5MDApIC8gMTAwKTsKKwkJCXNwcmludGYodGJ1ZiwgIiUwMmxkIiwgKHRpbWVwdHItPnRtX3llYXIgKyAxOTAwTCkgLyAxMDApOwogCQkJYnJlYWs7CiAKIAkJY2FzZSAnZCc6CS8qIGRheSBvZiB0aGUgbW9udGgsIDAxIC0gMzEgKi8KQEAgLTMxOSwxNiArMzIzLDE2IEBACiAJCQkgKi8KIAkJCXcgPSBpc284NjAxd2tudW0odGltZXB0cik7CiAJCQlpZiAodGltZXB0ci0+dG1fbW9uID09IDExICYmIHcgPT0gMSkKLQkJCQl5ID0gMTkwMCArIHRpbWVwdHItPnRtX3llYXIgKyAxOworCQkJCXkgPSAxOTAwTCArIHRpbWVwdHItPnRtX3llYXIgKyAxOwogCQkJZWxzZSBpZiAodGltZXB0ci0+dG1fbW9uID09IDAgJiYgdyA+PSA1MikKLQkJCQl5ID0gMTkwMCArIHRpbWVwdHItPnRtX3llYXIgLSAxOworCQkJCXkgPSAxOTAwTCArIHRpbWVwdHItPnRtX3llYXIgLSAxOwogCQkJZWxzZQotCQkJCXkgPSAxOTAwICsgdGltZXB0ci0+dG1feWVhcjsKKwkJCQl5ID0gMTkwMEwgKyB0aW1lcHRyLT50bV95ZWFyOwogCiAJCQlpZiAoKmZvcm1hdCA9PSAnRycpCi0JCQkJc3ByaW50Zih0YnVmLCAiJWQiLCB5KTsKKwkJCQlzcHJpbnRmKHRidWYsICIlbGQiLCB5KTsKIAkJCWVsc2UKLQkJCQlzcHJpbnRmKHRidWYsICIlMDJkIiwgeSAlIDEwMCk7CisJCQkJc3ByaW50Zih0YnVmLCAiJTAybGQiLCB5ICUgMTAwKTsKIAkJCWJyZWFrOwogCiAJCWNhc2UgJ2gnOgkvKiBhYmJyZXZpYXRlZCBtb250aCBuYW1lICovCkBAIC0zODcsNyArMzkxLDcgQEAKIAkJCXN0cmZ0aW1lKHRidWYsIHNpemVvZiB0YnVmLCAiJUg6JU0iLCB0aW1lcHRyKTsKIAkJCWJyZWFrOwogCi0jaWYgZGVmaW5lZChIQVZFX01LVElNRSkgfHwgZGVmaW5lZChHQVdLKQorI2lmIGRlZmluZWQoSEFWRV9NS1RJTUUpCiAJCWNhc2UgJ3MnOgkvKiB0aW1lIGFzIHNlY29uZHMgc2luY2UgdGhlIEVwb2NoICovCiAJCXsKIAkJCXN0cnVjdCB0bSBub25fY29uc3RfdGltZXB0cjsKQEAgLTM5Niw3ICs0MDAsNyBAQAogCQkJc3ByaW50Zih0YnVmLCAiJWxkIiwgbWt0aW1lKCYgbm9uX2NvbnN0X3RpbWVwdHIpKTsKIAkJCWJyZWFrOwogCQl9Ci0jZW5kaWYgLyogZGVmaW5lZChIQVZFX01LVElNRSkgfHwgZGVmaW5lZChHQVdLKSAqLworI2VuZGlmIC8qIGRlZmluZWQoSEFWRV9NS1RJTUUpICovCiAKIAkJY2FzZSAnUyc6CS8qIHNlY29uZCwgMDAgLSA2MCAqLwogCQkJaSA9IHJhbmdlKDAsIHRpbWVwdHItPnRtX3NlYywgNjApOwpAQCAtNDUyLDcgKzQ1Niw3IEBACiAKIAkJY2FzZSAnWSc6CS8qIHllYXIgd2l0aCBjZW50dXJ5ICovCiAJCWZ1bGx5ZWFyOgotCQkJc3ByaW50Zih0YnVmLCAiJWQiLCAxOTAwICsgdGltZXB0ci0+dG1feWVhcik7CisJCQlzcHJpbnRmKHRidWYsICIlbGQiLCAxOTAwTCArIHRpbWVwdHItPnRtX3llYXIpOwogCQkJYnJlYWs7CiAKIAkJLyoKQEAgLTQ5NSw2ICs0OTksNyBAQAogIyAgaWZkZWYgSFBVWAogCQkJb2ZmID0gLXRpbWV6b25lIC8gNjA7CiAjICBlbHNlCisJCQkvKiBBRFI6IDQgQXVndXN0IDIwMDEsIGZpeGVkIHRoaXMgcGVyIGdhemVsbGVAaW50ZXJhY2Nlc3MuY29tICovCiAJCQlvZmYgPSAtKGRheWxpZ2h0ID8gYWx0em9uZSA6IHRpbWV6b25lKSAvIDYwOwogIyAgZW5kaWYgLyogIUhQVVggKi8KICNlbHNlIC8qICFIQVZFX1RaTkFNRSAqLwpAQCAtNTA5LDcgKzUxNCw3IEBACiAJCQl9IGVsc2UgewogCQkJCXRidWZbMF0gPSAnKyc7CiAJCQl9Ci0JCQlzcHJpbnRmKHRidWYrMSwgIiUwMmQlMDJkIiwgb2ZmLzYwLCBvZmYlNjApOworCQkJc3ByaW50Zih0YnVmKzEsICIlMDJsZCUwMmxkIiwgb2ZmLzYwLCBvZmYlNjApOwogCQkJYnJlYWs7CiAKIAkJY2FzZSAnWic6CS8qIHRpbWUgem9uZSBuYW1lIG9yIGFiYnJldmF0aW9uICovCkBAIC01NTgsMTAgKzU2MywxMCBAQAogCiAjaWZkZWYgVk1TX0VYVAogCQljYXNlICd2JzoJLyogZGF0ZSBhcyBkZC1iYmItWVlZWSAqLwotCQkJc3ByaW50Zih0YnVmLCAiJTJkLSUzLjNzLSU0ZCIsCisJCQlzcHJpbnRmKHRidWYsICIlMmQtJTMuM3MtJTRsZCIsCiAJCQkJcmFuZ2UoMSwgdGltZXB0ci0+dG1fbWRheSwgMzEpLAogCQkJCW1vbnRoc19hW3JhbmdlKDAsIHRpbWVwdHItPnRtX21vbiwgMTEpXSwKLQkJCQl0aW1lcHRyLT50bV95ZWFyICsgMTkwMCk7CisJCQkJdGltZXB0ci0+dG1feWVhciArIDE5MDBMKTsKIAkJCWZvciAoaSA9IDM7IGkgPCA2OyBpKyspCiAJCQkJaWYgKGlzbG93ZXIodGJ1ZltpXSkpCiAJCQkJCXRidWZbaV0gPSB0b3VwcGVyKHRidWZbaV0pOwpAQCAtNTk0LDcgKzU5OSw3IEBACiAvKiBpc2xlYXAgLS0tIGlzIGEgeWVhciBhIGxlYXAgeWVhcj8gKi8KIAogc3RhdGljIGludAotaXNsZWFwKGludCB5ZWFyKQoraXNsZWFwKGxvbmcgeWVhcikKIHsKIAlyZXR1cm4gKCh5ZWFyICUgNCA9PSAwICYmIHllYXIgJSAxMDAgIT0gMCkgfHwgeWVhciAlIDQwMCA9PSAwKTsKIH0KQEAgLTY3Nyw3ICs2ODIsNyBAQAogCQkJZGVjMzFseS50bV9tb24gPSAxMTsKIAkJCWRlYzMxbHkudG1fbWRheSA9IDMxOwogCQkJZGVjMzFseS50bV93ZGF5ID0gKGphbjFkYXkgPT0gMCkgPyA2IDogamFuMWRheSAtIDE7Ci0JCQlkZWMzMWx5LnRtX3lkYXkgPSAzNjQgKyBpc2xlYXAoZGVjMzFseS50bV95ZWFyICsgMTkwMCk7CisJCQlkZWMzMWx5LnRtX3lkYXkgPSAzNjQgKyBpc2xlYXAoZGVjMzFseS50bV95ZWFyICsgMTkwMEwpOwogCQkJd2Vla251bSA9IGlzbzg2MDF3a251bSgmIGRlYzMxbHkpOwogI2VuZGlmCiAJCX0KZGlmZiAtLWdpdCBhL2xpYi9zaC9zdHJ0cmFucy5jIGIvbGliL3NoL3N0cnRyYW5zLmMKaW5kZXggMzU1YTMwNi4uMjI2NTc4MiAxMDA2NDQKLS0tIGEvbGliL3NoL3N0cnRyYW5zLmMKKysrIGIvbGliL3NoL3N0cnRyYW5zLmMKQEAgLTEsNiArMSw2IEBACiAvKiBzdHJ0cmFucy5jIC0gVHJhbnNsYXRlIGFuZCB1bnRyYW5zbGF0ZSBzdHJpbmdzIHdpdGggQU5TSS1DIGVzY2FwZSBzZXF1ZW5jZXMuICovCiAKLS8qIENvcHlyaWdodCAoQykgMjAwMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMjAwMC0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtNTEsMTEgKzUxLDE2IEBACiB7CiAgIGludCBjLCB0ZW1wOwogICBjaGFyICpyZXQsICpyLCAqczsKKyAgdW5zaWduZWQgbG9uZyB2OwogCiAgIGlmIChzdHJpbmcgPT0gMCB8fCAqc3RyaW5nID09ICdcMCcpCiAgICAgcmV0dXJuICgoY2hhciAqKU5VTEwpOwogCisjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKKyAgcmV0ID0gKGNoYXIgKil4bWFsbG9jICg0KmxlbiArIDEpOworI2Vsc2UKICAgcmV0ID0gKGNoYXIgKil4bWFsbG9jICgyKmxlbiArIDEpOwkvKiAyKmxlbiBmb3IgcG9zc2libGUgQ1RMRVNDICovCisjZW5kaWYKICAgZm9yIChyID0gcmV0LCBzID0gc3RyaW5nOyBzICYmICpzOyApCiAgICAgewogICAgICAgYyA9ICpzKys7CkBAIC0xMjgsNiArMTMzLDI5IEBACiAJCX0KIAkgICAgICBjICY9IDB4RkY7CiAJICAgICAgYnJlYWs7CisjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKKwkgICAgY2FzZSAndSc6CisJICAgIGNhc2UgJ1UnOgorCSAgICAgIHRlbXAgPSAoYyA9PSAndScpID8gNCA6IDg7CS8qIFx1Tk5OTiBcVU5OTk5OTk5OICovCisJICAgICAgZm9yICh2ID0gMDsgSVNYRElHSVQgKCh1bnNpZ25lZCBjaGFyKSpzKSAmJiB0ZW1wLS07IHMrKykKKwkJdiA9ICh2ICogMTYpICsgSEVYVkFMVUUgKCpzKTsKKwkgICAgICBpZiAodGVtcCA9PSAoKGMgPT0gJ3UnKSA/IDQgOiA4KSkKKwkJeworCQkgICpyKysgPSAnXFwnOwkvKiBjIHJlbWFpbnMgdW5jaGFuZ2VkICovCisJCSAgYnJlYWs7CisJCX0KKwkgICAgICBlbHNlIGlmICh2IDw9IFVDSEFSX01BWCkKKwkJeworCQkgIGMgPSB2OworCQkgIGJyZWFrOworCQl9CisJICAgICAgZWxzZQorCQl7CisJCSAgdGVtcCA9IHUzMmNjb252ICh2LCByKTsKKwkJICByICs9IHRlbXA7CisJCSAgY29udGludWU7CisJCX0KKyNlbmRpZgogCSAgICBjYXNlICdcXCc6CiAJICAgICAgYnJlYWs7CiAJICAgIGNhc2UgJ1wnJzogY2FzZSAnIic6IGNhc2UgJz8nOgpAQCAtMTQzLDkgKzE3MSwxMyBAQAogCQkgICAgKnJsZW4gPSByIC0gcmV0OwogCQkgIHJldHVybiByZXQ7CiAJCX0KKwkgICAgICBlbHNlIGlmICgoZmxhZ3MgJiAxKSA9PSAwICYmICpzID09IDApCisJCTsJCS8qIHBhc3MgXGMgdGhyb3VnaCAqLwogCSAgICAgIGVsc2UgaWYgKChmbGFncyAmIDEpID09IDAgJiYgKGMgPSAqcykpCiAJCXsKIAkJICBzKys7CisJCSAgaWYgKChmbGFncyAmIDIpICYmIGMgPT0gJ1xcJyAmJiBjID09ICpzKQorCQkgICAgcysrOwkvKiBQb3NpeCByZXF1aXJlcyAkJ1xjXFwnIGRvIGJhY2tzbGFzaCBlc2NhcGluZyAqLwogCQkgIGMgPSBUT0NUUkwoYyk7CiAJCSAgYnJlYWs7CiAJCX0KZGlmZiAtLWdpdCBhL2xpYi9zaC90bXBmaWxlLmMgYi9saWIvc2gvdG1wZmlsZS5jCmluZGV4IGE4N2MyNTQuLjBiYmMyODcgMTAwNjQ0Ci0tLSBhL2xpYi9zaC90bXBmaWxlLmMKKysrIGIvbGliL3NoL3RtcGZpbGUuYwpAQCAtNDAsNyArNDAsNyBAQAogZXh0ZXJuIGludCBlcnJubzsKICNlbmRpZgogCi0jZGVmaW5lIEJBU0VPUEVORkxBR1MJKE9fQ1JFQVQgfCBPX1RSVU5DIHwgT19FWENMKQorI2RlZmluZSBCQVNFT1BFTkZMQUdTCShPX0NSRUFUIHwgT19UUlVOQyB8IE9fRVhDTCB8IE9fQklOQVJZKQogCiAjZGVmaW5lIERFRkFVTFRfVE1QRElSCQkiLiIJLyogYm9ndXMgZGVmYXVsdCwgc2hvdWxkIGJlIGNoYW5nZWQgKi8KICNkZWZpbmUgREVGQVVMVF9OQU1FUk9PVAkic2h0bXAiCmRpZmYgLS1naXQgYS9saWIvc2gvdW5pY29kZS5jIGIvbGliL3NoL3VuaWNvZGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzRmYTA4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL3NoL3VuaWNvZGUuYwpAQCAtMCwwICsxLDIzNSBAQAorLyogdW5pY29kZS5jIC0gZnVuY3Rpb25zIHRvIGNvbnZlcnQgdW5pY29kZSBjaGFyYWN0ZXJzICovCisKKy8qIENvcHlyaWdodCAoQykgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKworICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCisKKyAgIEJhc2ggaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICBCYXNoIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgIGFsb25nIHdpdGggQmFzaC4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyovCisKKyNpbmNsdWRlIDxjb25maWcuaD4KKworI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUpCisKKyNpbmNsdWRlIDxzdGRjLmg+CisjaW5jbHVkZSA8d2NoYXIuaD4KKyNpbmNsdWRlIDxiYXNoYW5zaS5oPgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2luY2x1ZGUgPGxpbWl0cy5oPgorCisjaWYgSEFWRV9JQ09OVgorIyAgaW5jbHVkZSA8aWNvbnYuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8eG1hbGxvYy5oPgorCisjaWZuZGVmIFVTSE9SVF9NQVgKKyMgIGlmZGVmIFVTSFJUX01BWAorIyAgICBkZWZpbmUgVVNIT1JUX01BWCBVU0hSVF9NQVgKKyMgIGVsc2UKKyMgICAgZGVmaW5lIFVTSE9SVF9NQVggKCh1bnNpZ25lZCBzaG9ydCkgfih1bnNpZ25lZCBzaG9ydCkwKQorIyAgZW5kaWYKKyNlbmRpZgorCisjaWYgIWRlZmluZWQgKFNUUkVRKQorIyAgZGVmaW5lIFNUUkVRKGEsIGIpICgoYSlbMF0gPT0gKGIpWzBdICYmIHN0cmNtcCAoKGEpLCAoYikpID09IDApCisjZW5kaWYgLyogIVNUUkVRICovCisKKyNpZiBkZWZpbmVkIChIQVZFX0xPQ0FMRV9DSEFSU0VUKQorZXh0ZXJuIGNvbnN0IGNoYXIgKmxvY2FsZV9jaGFyc2V0IF9fUCgodm9pZCkpOworI2Vsc2UKK2V4dGVybiBjaGFyICpnZXRfbG9jYWxlX3ZhciBfX1AoKGNoYXIgKikpOworI2VuZGlmCisKK3N0YXRpYyBpbnQgdTMyaW5pdCA9IDA7CitzdGF0aWMgaW50IHV0Zjhsb2NhbGUgPSAwOworI2lmIGRlZmluZWQgKEhBVkVfSUNPTlYpCitzdGF0aWMgaWNvbnZfdCBsb2NhbGNvbnY7CisjZW5kaWYKKworI2lmbmRlZiBIQVZFX0xPQ0FMRV9DSEFSU0VUCitzdGF0aWMgY2hhciAqCitzdHViX2NoYXJzZXQgKCkKK3sKKyAgY2hhciAqbG9jYWxlLCAqcywgKnQ7CisKKyAgbG9jYWxlID0gZ2V0X2xvY2FsZV92YXIgKCJMQ19DVFlQRSIpOworICBpZiAobG9jYWxlID09IDAgfHwgKmxvY2FsZSA9PSAwKQorICAgIHJldHVybiAiQVNDSUkiOworICBzID0gc3RycmNociAobG9jYWxlLCAnLicpOworICBpZiAocykKKyAgICB7CisgICAgICB0ID0gc3RyY2hyIChzLCAnQCcpOworICAgICAgaWYgKHQpCisJKnQgPSAwOworICAgICAgcmV0dXJuICsrczsKKyAgICB9CisgIGVsc2UgaWYgKFNUUkVRIChsb2NhbGUsICJVVEYtOCIpKQorICAgIHJldHVybiAiVVRGLTgiOworICBlbHNlCisgICAgcmV0dXJuICJBU0NJSSI7Cit9CisjZW5kaWYKKworLyogdTMydG9hc2NpaSA/ICovCitpbnQKK3UzMnRvY2hhciAod2MsIHMpCisgICAgIHdjaGFyX3Qgd2M7CisgICAgIGNoYXIgKnM7Cit7CisgIHVuc2lnbmVkIGxvbmcgeDsKKyAgaW50IGw7CisKKyAgeCA9IHdjOworICBsID0gKHggPD0gVUNIQVJfTUFYKSA/IDEgOiAoKHggPD0gVVNIT1JUX01BWCkgPyAyIDogNCk7CisKKyAgaWYgKHggPD0gVUNIQVJfTUFYKQorICAgIHNbMF0gPSB4ICYgMHhGRjsKKyAgZWxzZSBpZiAoeCA8PSBVU0hPUlRfTUFYKQkvKiBhc3N1bWUgdW5zaWduZWQgc2hvcnQgPSAxNiBiaXRzICovCisgICAgeworICAgICAgc1swXSA9ICh4ID4+IDgpICYgMHhGRjsKKyAgICAgIHNbMV0gPSB4ICYgMHhGRjsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICBzWzBdID0gKHggPj4gMjQpICYgMHhGRjsKKyAgICAgIHNbMV0gPSAoeCA+PiAxNikgJiAweEZGOworICAgICAgc1syXSA9ICh4ID4+IDgpICYgMHhGRjsKKyAgICAgIHNbM10gPSB4ICYgMHhGRjsKKyAgICB9CisgIHNbbF0gPSAnXDAnOworICByZXR1cm4gbDsgIAorfQorCitpbnQKK3UzMnRvdXRmOCAod2MsIHMpCisgICAgIHdjaGFyX3Qgd2M7CisgICAgIGNoYXIgKnM7Cit7CisgIGludCBsOworCisgIGwgPSAod2MgPCAweDAwODApID8gMSA6ICgod2MgPCAweDA4MDApID8gMiA6IDMpOworCisgIGlmICh3YyA8IDB4MDA4MCkKKyAgICBzWzBdID0gKHVuc2lnbmVkIGNoYXIpd2M7CisgIGVsc2UgaWYgKHdjIDwgMHgwODAwKQorICAgIHsKKyAgICAgIHNbMF0gPSAod2MgPj4gNikgfCAweGMwOworICAgICAgc1sxXSA9ICh3YyAmIDB4M2YpIHwgMHg4MDsKKyAgICB9CisgIGVsc2UKKyAgICB7CisgICAgICBzWzBdID0gKHdjID4+IDEyKSB8IDB4ZTA7CisgICAgICBzWzFdID0gKCh3YyA+PiA2KSAmIDB4M2YpIHwgMHg4MDsKKyAgICAgIHNbMl0gPSAod2MgJiAweDNmKSB8IDB4ODA7CisgICAgfQorICBzW2xdID0gJ1wwJzsKKyAgcmV0dXJuIGw7Cit9CisKKy8qIGNvbnZlcnQgYSBzaW5nbGUgdW5pY29kZS0zMiBjaGFyYWN0ZXIgaW50byBhIG11bHRpYnl0ZSBzdHJpbmcgYW5kIHB1dCB0aGUKKyAgIHJlc3VsdCBpbiBTLCB3aGljaCBtdXN0IGJlIGxhcmdlIGVub3VnaCAoYXQgbGVhc3QgTUJfTEVOX01BWCBieXRlcykgKi8KK2ludAordTMyY2NvbnYgKGMsIHMpCisgICAgIHVuc2lnbmVkIGxvbmcgYzsKKyAgICAgY2hhciAqczsKK3sKKyAgd2NoYXJfdCB3YzsKKyAgaW50IG47CisjaWYgSEFWRV9JQ09OVgorICBjb25zdCBjaGFyICpjaGFyc2V0OworICBjaGFyIG9idWZbMjVdLCAqb3B0cjsKKyAgc2l6ZV90IG9ieXRlc2xlZnQ7CisgIGNvbnN0IGNoYXIgKmlwdHI7CisgIHNpemVfdCBzbjsKKyNlbmRpZgorCisgIHdjID0gYzsKKworI2lmIF9fU1REQ19JU09fMTA2NDZfXworICBpZiAoc2l6ZW9mICh3Y2hhcl90KSA9PSA0KQorICAgIHsKKyAgICAgIG4gPSB3Y3RvbWIgKHMsIHdjKTsKKyAgICAgIHJldHVybiBuOworICAgIH0KKyNlbmRpZgorCisjaWYgSEFWRV9OTF9MQU5HSU5GTworICBjb2Rlc2V0ID0gbmxfbGFuZ2luZm8gKENPREVTRVQpOworICBpZiAoU1RSRVEgKGNvZGVzZXQsICJVVEYtOCIpKQorICAgIHsKKyAgICAgIG4gPSB1MzJ0b3V0ZjggKHdjLCBzKTsKKyAgICAgIHJldHVybiBuOworICAgIH0KKyNlbmRpZgorCisjaWYgSEFWRV9JQ09OVgorICAvKiB0aGlzIGlzIG1vc3RseSBmcm9tIGNvcmV1dGlscy04LjUvbGliL3VuaWNvZGVpby5jICovCisgIGlmICh1MzJpbml0ID09IDApCisgICAgeworIyAgaWYgSEFWRV9MT0NBTEVfQ0hBUlNFVAorICAgICAgY2hhcnNldCA9IGxvY2FsZV9jaGFyc2V0ICgpOwkvKiBYWFggLSBmaXggbGF0ZXIgKi8KKyMgIGVsc2UKKyAgICAgIGNoYXJzZXQgPSBzdHViX2NoYXJzZXQgKCk7CisjICBlbmRpZgorICAgICAgaWYgKFNUUkVRIChjaGFyc2V0LCAiVVRGLTgiKSkKKwl1dGY4bG9jYWxlID0gMTsKKyAgICAgIGVsc2UKKwl7CisJICBsb2NhbGNvbnYgPSBpY29udl9vcGVuIChjaGFyc2V0LCAiVVRGLTgiKTsKKwkgIGlmIChsb2NhbGNvbnYgPT0gKGljb252X3QpLTEpCisJICAgIGxvY2FsY29udiA9IGljb252X29wZW4gKGNoYXJzZXQsICJBU0NJSSIpOworCX0KKyAgICAgIHUzMmluaXQgPSAxOworICAgIH0KKworICBpZiAodXRmOGxvY2FsZSkKKyAgICB7CisgICAgICBuID0gdTMydG91dGY4ICh3Yywgcyk7CisgICAgICByZXR1cm4gbjsKKyAgICB9CisKKyAgaWYgKGxvY2FsY29udiA9PSAoaWNvbnZfdCktMSkKKyAgICB7CisgICAgICBuID0gdTMydG9jaGFyICh3Yywgcyk7CisgICAgICByZXR1cm4gbjsKKyAgICB9CisKKyAgbiA9IHUzMnRvdXRmOCAod2MsIHMpOworCisgIG9wdHIgPSBvYnVmOworICBvYnl0ZXNsZWZ0ID0gc2l6ZW9mIChvYnVmKTsKKyAgaXB0ciA9IHM7CisgIHNuID0gbjsKKworICBpY29udiAobG9jYWxjb252LCBOVUxMLCBOVUxMLCBOVUxMLCBOVUxMKTsKKworICBpZiAoaWNvbnYgKGxvY2FsY29udiwgKElDT05WX0NPTlNUIGNoYXIgKiopJmlwdHIsICZzbiwgJm9wdHIsICZvYnl0ZXNsZWZ0KSA9PSAoc2l6ZV90KS0xKQorICAgIHJldHVybiBuOwkvKiBZb3UgZ2V0IHV0Zi04IGlmIGljb252IGZhaWxzICovCisKKyAgKm9wdHIgPSAnXDAnOworCisgIC8qIG51bWJlciBvZiBjaGFycyB0byBiZSBjb3BpZWQgaXMgb3B0ciAtIG9idWYgaWYgd2Ugd2FudCB0byBkbyBib3VuZHMKKyAgICAgY2hlY2tpbmcgKi8KKyAgc3RyY3B5IChzLCBvYnVmKTsKKyAgcmV0dXJuIChvcHRyIC0gb2J1Zik7CisjZW5kaWYKKworICBuID0gdTMydG9jaGFyICh3Yywgcyk7CS8qIGZhbGxiYWNrICovCisgIHJldHVybiBuOworfQorCisjZW5kaWYgLyogSEFORExFX01VTFRJQllURSAqLwpkaWZmIC0tZ2l0IGEvbGliL3NoL3djc3dpZHRoLmMgYi9saWIvc2gvd2Nzd2lkdGguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTMwZDlmCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3NoL3djc3dpZHRoLmMKQEAgLTAsMCArMSw0NiBAQAorLyogd2Nzd2lkdGguYyAtIGNvbXB1dGUgZGlzcGxheSB3aWR0aCBvZiB3aWRlIGNoYXJhY3RlciBzdHJpbmcgKi8KKworLyogQ29weXJpZ2h0IChDKSAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KKworICAgQmFzaCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIEJhc2ggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCBCYXNoLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKi8KKworI2luY2x1ZGUgPGNvbmZpZy5oPgorCisjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkgJiYgIWRlZmluZWQgKEhBVkVfV0NTV0lEVEgpCisKKyNpbmNsdWRlIDxzdGRjLmg+CisjaW5jbHVkZSA8d2NoYXIuaD4KKyNpbmNsdWRlIDxiYXNoYW5zaS5oPgorCitpbnQKK3djc3dpZHRoKHB3Y3MsIG4pCisgICAgIGNvbnN0IHdjaGFyX3QgKnB3Y3M7CisgICAgIHNpemVfdCBuOworeworICB3Y2hhcl90IHdjOworICBpbnQgbGVuLCBsOworCQkJCisgIGxlbiA9IDA7CisgIHdoaWxlIChuLS0gPiAwICYmICh3YyA9ICpwd2NzKyspICE9IEwnXDAnKQorICAgIHsKKyAgICAgIGlmICgobCA9IHdjd2lkdGgod2MpKSA8IDApCisJcmV0dXJuICgtMSk7CisgICAgICBsZW4gKz0gbDsKKyAgICB9CisgIHJldHVybiAobGVuKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliL3RpbGRlL3RpbGRlLmMgYi9saWIvdGlsZGUvdGlsZGUuYwppbmRleCAwODhmZjE1Li4xYzUzYTQ1IDEwMDY0NAotLS0gYS9saWIvdGlsZGUvdGlsZGUuYworKysgYi9saWIvdGlsZGUvdGlsZGUuYwpAQCAtMzc4LDcgKzM3OCw3IEBACiAJewogCSAgZGlybmFtZSA9IGdsdWVfcHJlZml4X2FuZF9zdWZmaXggKGV4cGFuc2lvbiwgZmlsZW5hbWUsIHVzZXJfbGVuKTsKIAkgIHhmcmVlICh1c2VybmFtZSk7Ci0JICBmcmVlIChleHBhbnNpb24pOworCSAgeGZyZWUgKGV4cGFuc2lvbik7CiAJICByZXR1cm4gKGRpcm5hbWUpOwogCX0KICAgICB9CkBAIC00MDEsNyArNDAxLDcgQEAKIAkgIGlmIChleHBhbnNpb24pCiAJICAgIHsKIAkgICAgICBkaXJuYW1lID0gZ2x1ZV9wcmVmaXhfYW5kX3N1ZmZpeCAoZXhwYW5zaW9uLCBmaWxlbmFtZSwgdXNlcl9sZW4pOwotCSAgICAgIGZyZWUgKGV4cGFuc2lvbik7CisJICAgICAgeGZyZWUgKGV4cGFuc2lvbik7CiAJICAgIH0KIAl9CiAgICAgICAvKiBJZiB3ZSBkb24ndCBoYXZlIGEgZmFpbHVyZSBob29rLCBvciBpZiB0aGUgZmFpbHVyZSBob29rIGRpZCBub3QKZGlmZiAtLWdpdCBhL2xvY2FsZS5jIGIvbG9jYWxlLmMKaW5kZXggMmYyZTlmYy4uNzIyYTcwNyAxMDA2NDQKLS0tIGEvbG9jYWxlLmMKKysrIGIvbG9jYWxlLmMKQEAgLTI5Nyw3ICsyOTcsNyBAQAogICBsb2NhbGUgPSBsY19hbGw7CiAKICAgaWYgKGxvY2FsZSA9PSAwIHx8ICpsb2NhbGUgPT0gMCkKLSAgICBsb2NhbGUgPSBnZXRfc3RyaW5nX3ZhbHVlICh2YXIpOworICAgIGxvY2FsZSA9IGdldF9zdHJpbmdfdmFsdWUgKHZhcik7CS8qIFhYWCAtIG1lbSBsZWFrPyAqLwogICBpZiAobG9jYWxlID09IDAgfHwgKmxvY2FsZSA9PSAwKQogICAgIGxvY2FsZSA9IGxhbmc7CiAgIGlmIChsb2NhbGUgPT0gMCB8fCAqbG9jYWxlID09IDApCmRpZmYgLS1naXQgYS9ub2pvYnMuYyBiL25vam9icy5jCmluZGV4IGI3M2UzZDYuLmQ0M2QxZDQgMTAwNjQ0Ci0tLSBhL25vam9icy5jCisrKyBiL25vam9icy5jCkBAIC05MjcsNiArOTI3LDExIEBACiB9CiAKIHZvaWQKK2ZyZWV6ZV9qb2JzX2xpc3QgKCkKK3sKK30KKwordm9pZAogdW5mcmVlemVfam9ic19saXN0ICgpCiB7CiB9CmRpZmYgLS1naXQgYS9wYXJzZS55IGIvcGFyc2UueQppbmRleCA0NDIwZDE1Li5iNWM5NGU3IDEwMDY0NAotLS0gYS9wYXJzZS55CisrKyBiL3BhcnNlLnkKQEAgLTEsNiArMSw2IEBACiAvKiBwYXJzZS55IC0gWWFjYyBncmFtbWFyIGZvciBiYXNoLiAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDE5ODktMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMTk4OS0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtMjUwLDYgKzI1MCw5IEBACiAvKiBUaGUgbnVtYmVyIG9mIGxpbmVzIHJlYWQgZnJvbSBpbnB1dCB3aGlsZSBjcmVhdGluZyB0aGUgY3VycmVudCBjb21tYW5kLiAqLwogaW50IGN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50OwogCisvKiBUaGUgbnVtYmVyIG9mIGxpbmVzIGluIGEgY29tbWFuZCBzYXZlZCB3aGlsZSB3ZSBydW4gcGFyc2VfYW5kX2V4ZWN1dGUgKi8KK2ludCBzYXZlZF9jb21tYW5kX2xpbmVfY291bnQ7CisKIC8qIFRoZSB0b2tlbiB0aGF0IGN1cnJlbnRseSBkZW5vdGVzIHRoZSBlbmQgb2YgcGFyc2UuICovCiBpbnQgc2hlbGxfZW9mX3Rva2VuOwogCkBAIC0zMzMsNyArMzM2LDcgQEAKICAgIHRoaXJkIGdyb3VwIGFyZSByZWNvZ25pemVkIG9ubHkgdW5kZXIgc3BlY2lhbCBjaXJjdW1zdGFuY2VzLiAqLwogJXRva2VuIElGIFRIRU4gRUxTRSBFTElGIEZJIENBU0UgRVNBQyBGT1IgU0VMRUNUIFdISUxFIFVOVElMIERPIERPTkUgRlVOQ1RJT04gQ09QUk9DCiAldG9rZW4gQ09ORF9TVEFSVCBDT05EX0VORCBDT05EX0VSUk9SCi0ldG9rZW4gSU4gQkFORyBUSU1FIFRJTUVPUFQKKyV0b2tlbiBJTiBCQU5HIFRJTUUgVElNRU9QVCBUSU1FSUdOCiAKIC8qIE1vcmUgZ2VuZXJhbCB0b2tlbnMuIHl5bGV4ICgpIGtub3dzIGhvdyB0byBtYWtlIHRoZXNlLiAqLwogJXRva2VuIDx3b3JkPiBXT1JEIEFTU0lHTk1FTlRfV09SRCBSRURJUl9XT1JECkBAIC0xMTg2LDMxICsxMTg5LDE5IEBACiAJOwogCiBwaXBlbGluZV9jb21tYW5kOiBwaXBlbGluZQotCQkJeyAkJCA9ICQxOyB9Ci0JfAlCQU5HIHBpcGVsaW5lCisJCQl7ICQkID0gJDE7IH0JCQkKKwl8CUJBTkcgcGlwZWxpbmVfY29tbWFuZAogCQkJewogCQkJICBpZiAoJDIpCi0JCQkgICAgJDItPmZsYWdzIHw9IENNRF9JTlZFUlRfUkVUVVJOOworCQkJICAgICQyLT5mbGFncyBePSBDTURfSU5WRVJUX1JFVFVSTjsJLyogdG9nZ2xlICovCiAJCQkgICQkID0gJDI7CiAJCQl9Ci0JfAl0aW1lc3BlYyBwaXBlbGluZQorCXwJdGltZXNwZWMgcGlwZWxpbmVfY29tbWFuZAogCQkJewogCQkJICBpZiAoJDIpCiAJCQkgICAgJDItPmZsYWdzIHw9ICQxOwogCQkJICAkJCA9ICQyOwogCQkJfQotCXwJdGltZXNwZWMgQkFORyBwaXBlbGluZQotCQkJewotCQkJICBpZiAoJDMpCi0JCQkgICAgJDMtPmZsYWdzIHw9ICQxfENNRF9JTlZFUlRfUkVUVVJOOwotCQkJICAkJCA9ICQzOwotCQkJfQotCXwJQkFORyB0aW1lc3BlYyBwaXBlbGluZQotCQkJewotCQkJICBpZiAoJDMpCi0JCQkgICAgJDMtPmZsYWdzIHw9ICQyfENNRF9JTlZFUlRfUkVUVVJOOwotCQkJICAkJCA9ICQzOwotCQkJfQogCXwJdGltZXNwZWMgbGlzdF90ZXJtaW5hdG9yCiAJCQl7CiAJCQkgIEVMRU1FTlQgeDsKQEAgLTEyMjgsNyArMTIxOSwyNCBAQAogCQkJICBpZiAoJDIgPT0gJ1xuJykKIAkJCSAgICB0b2tlbl90b19yZWFkID0gJ1xuJzsKIAkJCX0KLQkJCQorCXwJQkFORyBsaXN0X3Rlcm1pbmF0b3IKKwkJCXsKKwkJCSAgRUxFTUVOVCB4OworCisJCQkgIC8qIFRoaXMgaXMganVzdCBhcyB1bmNsZWFuLiAgUG9zaXggc2F5cyB0aGF0IGAhJworCQkJICAgICBieSBpdHNlbGYgc2hvdWxkIGJlIGVxdWl2YWxlbnQgdG8gYGZhbHNlJy4KKwkJCSAgICAgV2UgY2hlYXQgYW5kIHB1c2ggYQorCQkJICAgICBuZXdsaW5lIGJhY2sgaWYgdGhlIGxpc3RfdGVybWluYXRvciB3YXMgYSBuZXdsaW5lCisJCQkgICAgIHRvIGF2b2lkIHRoZSBkb3VibGUtbmV3bGluZSBwcm9ibGVtIChvbmUgdG8KKwkJCSAgICAgdGVybWluYXRlIHRoaXMsIG9uZSB0byB0ZXJtaW5hdGUgdGhlIGNvbW1hbmQpICovCisJCQkgIHgud29yZCA9IDA7CisJCQkgIHgucmVkaXJlY3QgPSAwOworCQkJICAkJCA9IG1ha2Vfc2ltcGxlX2NvbW1hbmQgKHgsIChDT01NQU5EICopTlVMTCk7CisJCQkgICQkLT5mbGFncyB8PSBDTURfSU5WRVJUX1JFVFVSTjsKKwkJCSAgLyogWFhYIC0gbGV0J3MgY2hlYXQgYW5kIHB1c2ggYSBuZXdsaW5lIGJhY2sgKi8KKwkJCSAgaWYgKCQyID09ICdcbicpCisJCQkgICAgdG9rZW5fdG9fcmVhZCA9ICdcbic7CisJCQl9CiAJOwogCiBwaXBlbGluZToJcGlwZWxpbmUgJ3wnIG5ld2xpbmVfbGlzdCBwaXBlbGluZQpAQCAtMTI2NCw2ICsxMjcyLDggQEAKIAkJCXsgJCQgPSBDTURfVElNRV9QSVBFTElORTsgfQogCXwJVElNRSBUSU1FT1BUCiAJCQl7ICQkID0gQ01EX1RJTUVfUElQRUxJTkV8Q01EX1RJTUVfUE9TSVg7IH0KKwl8CVRJTUUgVElNRU9QVCBUSU1FSUdOCisJCQl7ICQkID0gQ01EX1RJTUVfUElQRUxJTkV8Q01EX1RJTUVfUE9TSVg7IH0KIAk7CiAlJQogCkBAIC0xNDIyLDExICsxNDMyLDExIEBACiAJZ2l2ZV90ZXJtaW5hbF90byAoc2hlbGxfcGdycCwgMCk7CiAjZW5kaWYgLyogSk9CX0NPTlRST0wgKi8KIAotICAgICAgb2xkX3NpZ2ludCA9IChTaWdIYW5kbGVyICopTlVMTDsKKyAgICAgIG9sZF9zaWdpbnQgPSAoU2lnSGFuZGxlciAqKUlNUE9TU0lCTEVfVFJBUF9IQU5ETEVSOwogICAgICAgaWYgKHNpZ25hbF9pc19pZ25vcmVkIChTSUdJTlQpID09IDApCiAJewotCSAgb2xkX3NpZ2ludCA9IChTaWdIYW5kbGVyICopc2V0X3NpZ25hbF9oYW5kbGVyIChTSUdJTlQsIHNpZ2ludF9zaWdoYW5kbGVyKTsKIAkgIGludGVycnVwdF9pbW1lZGlhdGVseSsrOworCSAgb2xkX3NpZ2ludCA9IChTaWdIYW5kbGVyICopc2V0X3NpZ25hbF9oYW5kbGVyIChTSUdJTlQsIHNpZ2ludF9zaWdoYW5kbGVyKTsKIAl9CiAgICAgICB0ZXJtaW5hdGVfaW1tZWRpYXRlbHkgPSAxOwogCkBAIC0xNDM0LDEwICsxNDQ0LDExIEBACiAgICAgICAJCQkJCSAgY3VycmVudF9yZWFkbGluZV9wcm9tcHQgOiAiIik7CiAKICAgICAgIHRlcm1pbmF0ZV9pbW1lZGlhdGVseSA9IDA7Ci0gICAgICBpZiAoc2lnbmFsX2lzX2lnbm9yZWQgKFNJR0lOVCkgPT0gMCAmJiBvbGRfc2lnaW50KQorICAgICAgaWYgKHNpZ25hbF9pc19pZ25vcmVkIChTSUdJTlQpID09IDApCiAJewogCSAgaW50ZXJydXB0X2ltbWVkaWF0ZWx5LS07Ci0JICBzZXRfc2lnbmFsX2hhbmRsZXIgKFNJR0lOVCwgb2xkX3NpZ2ludCk7CisJICBpZiAob2xkX3NpZ2ludCAhPSBJTVBPU1NJQkxFX1RSQVBfSEFORExFUikKKwkgICAgc2V0X3NpZ25hbF9oYW5kbGVyIChTSUdJTlQsIG9sZF9zaWdpbnQpOwogCX0KIAogI2lmIDAKQEAgLTE2MzYsNiArMTY0Nyw5IEBACiAvKiBUaGUgZ2xvYmFsbHkga25vd24gbGluZSBudW1iZXIuICovCiBpbnQgbGluZV9udW1iZXIgPSAwOwogCisvKiBUaGUgbGluZSBudW1iZXIgb2Zmc2V0IHNldCBieSBhc3NpZ25pbmcgdG8gTElORU5PLiAgTm90IGN1cnJlbnRseSB1c2VkLiAqLworaW50IGxpbmVfbnVtYmVyX2Jhc2UgPSAwOworCiAjaWYgZGVmaW5lZCAoQ09ORF9DT01NQU5EKQogc3RhdGljIGludCBjb25kX2xpbmVubzsKIHN0YXRpYyBpbnQgY29uZF90b2tlbjsKQEAgLTE5NTcsNiArMTk3MSw3IEBACiAJfQogICAgICAgZWxzZSBpZiAoYyA9PSAnXFwnICYmIHJlbW92ZV9xdW90ZWRfbmV3bGluZSkKIAl7CisJICBRVUlUOwogCSAgcGVla2MgPSB5eV9nZXRjICgpOwogCSAgaWYgKHBlZWtjID09ICdcbicpCiAJICAgIHsKQEAgLTIwNTgsNiArMjA3Myw3IEBACiAvKiBvdGhlciB0b2tlbnMgdGhhdCBjYW4gYmUgcmV0dXJuZWQgYnkgcmVhZF90b2tlbigpICovCiBTVFJJTkdfSU5UX0FMSVNUIG90aGVyX3Rva2VuX2FsaXN0W10gPSB7CiAgIC8qIE11bHRpcGxlLWNoYXJhY3RlciB0b2tlbnMgd2l0aCBzcGVjaWFsIHZhbHVlcyAqLworICB7ICItLSIsIFRJTUVJR04gfSwKICAgeyAiLXAiLCBUSU1FT1BUIH0sCiAgIHsgIiYmIiwgQU5EX0FORCB9LAogICB7ICJ8fCIsIE9SX09SIH0sCkBAIC0yMjc4LDcgKzIyOTQsNyBAQAogCSAgICAgIHNoZWxsX2lucHV0X2xpbmUgPSBleHBhbnNpb25zOwogCSAgICAgIHNoZWxsX2lucHV0X2xpbmVfbGVuID0gc2hlbGxfaW5wdXRfbGluZSA/CiAJCQkJCXN0cmxlbiAoc2hlbGxfaW5wdXRfbGluZSkgOiAwOwotCSAgICAgIGlmICghc2hlbGxfaW5wdXRfbGluZV9sZW4pCisJICAgICAgaWYgKHNoZWxsX2lucHV0X2xpbmVfbGVuID09IDApCiAJCWN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50LS07CiAKIAkgICAgICAvKiBXZSBoYXZlIHRvIGZvcmNlIHRoZSB4cmVhbGxvYyBiZWxvdyBiZWNhdXNlIHdlIGRvbid0IGtub3cKQEAgLTIzMDMsNyArMjMxOSw3IEBACiAJICBlbHNlCiAJICAgIHsKIAkgICAgICBjaGFyICpoZGNzOwotCSAgICAgIGhkY3MgPSBoaXN0b3J5X2RlbGltaXRpbmdfY2hhcnMgKCk7CisJICAgICAgaGRjcyA9IGhpc3RvcnlfZGVsaW1pdGluZ19jaGFycyAoc2hlbGxfaW5wdXRfbGluZSk7CiAJICAgICAgaWYgKGhkY3MgJiYgaGRjc1swXSA9PSAnOycpCiAJCW1heWJlX2FkZF9oaXN0b3J5IChzaGVsbF9pbnB1dF9saW5lKTsKIAkgICAgfQpAQCAtMjM0Myw2ICsyMzU5LDcgQEAKIAl9CiAgICAgfQogCituZXh0X2FsaWFzX2NoYXI6CiAgIHVjID0gc2hlbGxfaW5wdXRfbGluZVtzaGVsbF9pbnB1dF9saW5lX2luZGV4XTsKIAogICBpZiAodWMpCkBAIC0yMzU1LDcgKzIzNzIsNyBAQAogICAgICBEbyBpdCB0cmFuc3BhcmVudGx5OyBqdXN0IHJldHVybiB0aGUgbmV4dCBjaGFyYWN0ZXIgb2YgdGhlIHN0cmluZyBwb3BwZWQKICAgICAgdG8uICovCiBwb3BfYWxpYXM6Ci0gIGlmICghdWMgJiYgKHB1c2hlZF9zdHJpbmdfbGlzdCAhPSAoU1RSSU5HX1NBVkVSICopTlVMTCkpCisgIGlmICh1YyA9PSAwICYmIChwdXNoZWRfc3RyaW5nX2xpc3QgIT0gKFNUUklOR19TQVZFUiAqKU5VTEwpKQogICAgIHsKICAgICAgIHBvcF9zdHJpbmcgKCk7CiAgICAgICB1YyA9IHNoZWxsX2lucHV0X2xpbmVbc2hlbGxfaW5wdXRfbGluZV9pbmRleF07CkBAIC0yMzY5LDIxICsyMzg2LDI4IEBACiAJaWYgKFNIT1VMRF9QUk9NUFQgKCkpCiAJICBwcm9tcHRfYWdhaW4gKCk7CiAJbGluZV9udW1iZXIrKzsKLQkvKiBYWFggLSB3aGF0IGRvIHdlIGRvIGhlcmUgaWYgd2UncmUgZXhwYW5kaW5nIGFuIGFsaWFzIHdob3NlIGRlZmluaXRpb24KLQkgICBlbmRzIHdpdGggYSBuZXdsaW5lPyAgUmVjYWxsIHRoYXQgd2UgaW5oaWJpdCB0aGUgYXBwZW5kaW5nIG9mIGEKLQkgICBzcGFjZSBpbiBta19hbGV4cGFuc2lvbigpIGlmIG5ld2xpbmUgaXMgdGhlIGxhc3QgY2hhcmFjdGVyLiAqLwotI2lmIDAJLyogWFhYIC0gYmFzaC00LjIgKGpvbmF0aGFuQGNsYWdnZXR0Lm9yZykgKi8KKwkvKiBXaGF0IGRvIHdlIGRvIGhlcmUgaWYgd2UncmUgZXhwYW5kaW5nIGFuIGFsaWFzIHdob3NlIGRlZmluaXRpb24KKwkgICBpbmNsdWRlcyBhbiBlc2NhcGVkIG5ld2xpbmU/ICBJZiB0aGF0J3MgdGhlIGxhc3QgY2hhcmFjdGVyIGluIHRoZQorCSAgIGFsaWFzIGV4cGFuc2lvbiwgd2UganVzdCBwb3AgdGhlIHB1c2hlZCBzdHJpbmcgbGlzdCAocmVjYWxsIHRoYXQKKwkgICB3ZSBpbmhpYml0IHRoZSBhcHBlbmRpbmcgb2YgYSBzcGFjZSBpbiBta19hbGV4cGFuc2lvbigpIGlmIG5ld2xpbmUKKwkgICBpcyB0aGUgbGFzdCBjaGFyYWN0ZXIpLiAgSWYgaXQncyBub3QgdGhlIGxhc3QgY2hhcmFjdGVyLCB3ZSBuZWVkCisJICAgdG8gY29uc3VtZSB0aGUgcXVvdGVkIG5ld2xpbmUgYW5kIG1vdmUgdG8gdGhlIG5leHQgY2hhcmFjdGVyIGluCisJICAgdGhlIGV4cGFuc2lvbi4gKi8KIAlpZiAoZXhwYW5kaW5nX2FsaWFzICgpICYmIHNoZWxsX2lucHV0X2xpbmVbc2hlbGxfaW5wdXRfbGluZV9pbmRleCsxXSA9PSAnXDAnKQogCSAgewogCSAgICB1YyA9IDA7CiAJICAgIGdvdG8gcG9wX2FsaWFzOwogCSAgfQotI2VuZGlmCi0JICAKLQlnb3RvIHJlc3RhcnRfcmVhZDsKKwllbHNlIGlmIChleHBhbmRpbmdfYWxpYXMgKCkgJiYgc2hlbGxfaW5wdXRfbGluZVtzaGVsbF9pbnB1dF9saW5lX2luZGV4KzFdICE9ICdcMCcpCisJICB7CisJICAgIHNoZWxsX2lucHV0X2xpbmVfaW5kZXgrKzsJLyogc2tpcCBuZXdsaW5lICovCisJICAgIGdvdG8gbmV4dF9hbGlhc19jaGFyOwkvKiBhbmQgZ2V0IG5leHQgY2hhcmFjdGVyICovCisJICB9CisJZWxzZQkgICAgCisJICBnb3RvIHJlc3RhcnRfcmVhZDsKICAgICB9CiAKLSAgaWYgKCF1YyAmJiBzaGVsbF9pbnB1dF9saW5lX3Rlcm1pbmF0b3IgPT0gRU9GKQorICBpZiAodWMgPT0gMCAmJiBzaGVsbF9pbnB1dF9saW5lX3Rlcm1pbmF0b3IgPT0gRU9GKQogICAgIHJldHVybiAoKHNoZWxsX2lucHV0X2xpbmVfaW5kZXggIT0gMCkgPyAnXG4nIDogRU9GKTsKIAogICByZXR1cm4gKHVjKTsKQEAgLTI1OTAsMTEgKzI2MTQsOSBAQAogICBsID0gc3RybGVuIChzKTsKICAgciA9IHhtYWxsb2MgKGwgKyAyKTsKICAgc3RyY3B5IChyLCBzKTsKLSNpZiAwCQkvKiBYWFggLSBiYXNoLTQuMiAqLwotICBpZiAocltsIC0xXSAhPSAnICcgJiYgcltsIC0xXSAhPSAnXG4nKQotI2Vsc2UKLSAgaWYgKHJbbCAtMV0gIT0gJyAnKQotI2VuZGlmCisgIC8qIElmIHRoZSBsYXN0IGNoYXJhY3RlciBpbiB0aGUgYWxpYXMgaXMgYSBuZXdsaW5lLCBkb24ndCBhZGQgYSB0cmFpbGluZworICAgICBzcGFjZSB0byB0aGUgZXhwYW5zaW9uLiAgV29ya3Mgd2l0aCBzaGVsbF9nZXRjIGFib3ZlLiAqLworICBpZiAocltsIC0gMV0gIT0gJyAnICYmIHJbbCAtIDFdICE9ICdcbicpCiAgICAgcltsKytdID0gJyAnOwogICByW2xdID0gJ1wwJzsKICAgcmV0dXJuIHI7CkBAIC0yNjM5LDYgKzI2NjEsMjAgQEAKIHRpbWVfY29tbWFuZF9hY2NlcHRhYmxlICgpCiB7CiAjaWYgZGVmaW5lZCAoQ09NTUFORF9USU1JTkcpCisgIGludCBpOworCisgIGlmIChwb3NpeGx5X2NvcnJlY3QgJiYgc2hlbGxfY29tcGF0aWJpbGl0eV9sZXZlbCA+IDQxKQorICAgIHsKKyAgICAgIC8qIFF1aWNrIGNoZWNrIG9mIHRoZSByZXN0IG9mIHRoZSBsaW5lIHRvIGZpbmQgdGhlIG5leHQgdG9rZW4uICBJZiBpdAorCSBiZWdpbnMgd2l0aCBhIGAtJywgUG9zaXggc2F5cyB0byBub3QgcmV0dXJuIGB0aW1lJyBhcyB0aGUgdG9rZW4uCisJIFRoaXMgd2FzIGludGVycCAyNjcuICovCisgICAgICBpID0gc2hlbGxfaW5wdXRfbGluZV9pbmRleDsKKyAgICAgIHdoaWxlIChpIDwgc2hlbGxfaW5wdXRfbGluZV9sZW4gJiYgKHNoZWxsX2lucHV0X2xpbmVbaV0gPT0gJyAnIHx8IHNoZWxsX2lucHV0X2xpbmVbaV0gPT0gJ1x0JykpCisgICAgICAgIGkrKzsKKyAgICAgIGlmIChzaGVsbF9pbnB1dF9saW5lW2ldID09ICctJykKKwlyZXR1cm4gMDsKKyAgICB9CisKICAgc3dpdGNoIChsYXN0X3JlYWRfdG9rZW4pCiAgICAgewogICAgIGNhc2UgMDoKQEAgLTI2NTIsNiArMjY4OCwxMCBAQAogICAgIGNhc2UgRUxTRToKICAgICBjYXNlICd7JzoJCS8qIH0gKi8KICAgICBjYXNlICcoJzoJCS8qICkgKi8KKyAgICBjYXNlIEJBTkc6CQkvKiAhIHRpbWUgcGlwZWxpbmUgKi8KKyAgICBjYXNlIFRJTUU6CQkvKiB0aW1lIHRpbWUgcGlwZWxpbmUgKi8KKyAgICBjYXNlIFRJTUVPUFQ6CS8qIHRpbWUgLXAgdGltZSBwaXBlbGluZSAqLworICAgIGNhc2UgVElNRUlHTjoJLyogdGltZSAtcCAtLSAuLi4gKi8KICAgICAgIHJldHVybiAxOwogICAgIGRlZmF1bHQ6CiAgICAgICByZXR1cm4gMDsKQEAgLTI2NzgsNiArMjcxOCw3IEBACiAJYH0nIGlzIHJlY29nbml6ZWQgaWYgdGhlcmUgaXMgYW4gdW5jbG9zZWQgYHsnIHByZXNlbnQuCiAKIAlgLXAnIGlzIHJldHVybmVkIGFzIFRJTUVPUFQgaWYgdGhlIGxhc3QgcmVhZCB0b2tlbiB3YXMgVElNRS4KKwlgLS0nIGlzIHJldHVybmVkIGFzIFRJTUVJR04gaWYgdGhlIGxhc3QgcmVhZCB0b2tlbiB3YXMgVElNRU9QVC4KIAogCSddXScgaXMgcmV0dXJuZWQgYXMgQ09ORF9FTkQgaWYgdGhlIHBhcnNlciBpcyBjdXJyZW50bHkgcGFyc2luZwogCWEgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiAoKHBhcnNlcl9zdGF0ZSAmIFBTVF9DT05ERVhQUikgIT0gMCkKQEAgLTI3NjMsMTMgKzI4MDQsOSBAQAogICAvKiBIYW5kbGUgLXAgYWZ0ZXIgYHRpbWUnLiAqLwogICBpZiAobGFzdF9yZWFkX3Rva2VuID09IFRJTUUgJiYgdG9rc3RyWzBdID09ICctJyAmJiB0b2tzdHJbMV0gPT0gJ3AnICYmICF0b2tzdHJbMl0pCiAgICAgcmV0dXJuIChUSU1FT1BUKTsKLSNlbmRpZgotCi0jaWYgMAotI2lmIGRlZmluZWQgKENPTU1BTkRfVElNSU5HKQotICBpZiAoU1RSRVEgKHRva2VuLCAidGltZSIpICYmICgocGFyc2VyX3N0YXRlICYgUFNUX0NBU0VQQVQpID09IDApICYmIHRpbWVfY29tbWFuZF9hY2NlcHRhYmxlICgpKQotICAgIHJldHVybiAoVElNRSk7Ci0jZW5kaWYgLyogQ09NTUFORF9USU1JTkcgKi8KKyAgLyogSGFuZGxlIC0tIGFmdGVyIGB0aW1lIC1wJy4gKi8KKyAgaWYgKGxhc3RfcmVhZF90b2tlbiA9PSBUSU1FT1BUICYmIHRva3N0clswXSA9PSAnLScgJiYgdG9rc3RyWzFdID09ICctJyAmJiAhdG9rc3RyWzJdKQorICAgIHJldHVybiAoVElNRUlHTik7CiAjZW5kaWYKIAogI2lmIGRlZmluZWQgKENPTkRfQ09NTUFORCkgLyogW1sgKi8KQEAgLTMwNTQsMTIgKzMwOTEsMTMgQEAKICAqIHJlcHJvbXB0aW5nIHRoZSB1c2VyLCBpZiBuZWNlc3NhcnksIGFmdGVyIHJlYWRpbmcgYSBuZXdsaW5lLCBhbmQgcmV0dXJuaW5nCiAgKiBjb3JyZWN0IGVycm9yIHZhbHVlcyBpZiBpdCByZWFkcyBFT0YuCiAgKi8KLSNkZWZpbmUgUF9GSVJTVENMT1NFCTB4MDEKLSNkZWZpbmUgUF9BTExPV0VTQwkweDAyCi0jZGVmaW5lIFBfRFFVT1RFCTB4MDQKLSNkZWZpbmUgUF9DT01NQU5ECTB4MDgJLyogcGFyc2luZyBhIGNvbW1hbmQsIHNvIGxvb2sgZm9yIGNvbW1lbnRzICovCi0jZGVmaW5lIFBfQkFDS1FVT1RFCTB4MTAJLyogcGFyc2luZyBhIGJhY2txdW90ZWQgY29tbWFuZCBzdWJzdGl0dXRpb24gKi8KLSNkZWZpbmUgUF9BUlJBWVNVQgkweDIwCS8qIHBhcnNpbmcgYSBbLi4uXSBhcnJheSBzdWJzY3JpcHQgZm9yIGFzc2lnbm1lbnQgKi8KKyNkZWZpbmUgUF9GSVJTVENMT1NFCTB4MDAwMQorI2RlZmluZSBQX0FMTE9XRVNDCTB4MDAwMgorI2RlZmluZSBQX0RRVU9URQkweDAwMDQKKyNkZWZpbmUgUF9DT01NQU5ECTB4MDAwOAkvKiBwYXJzaW5nIGEgY29tbWFuZCwgc28gbG9vayBmb3IgY29tbWVudHMgKi8KKyNkZWZpbmUgUF9CQUNLUVVPVEUJMHgwMDEwCS8qIHBhcnNpbmcgYSBiYWNrcXVvdGVkIGNvbW1hbmQgc3Vic3RpdHV0aW9uICovCisjZGVmaW5lIFBfQVJSQVlTVUIJMHgwMDIwCS8qIHBhcnNpbmcgYSBbLi4uXSBhcnJheSBzdWJzY3JpcHQgZm9yIGFzc2lnbm1lbnQgKi8KKyNkZWZpbmUgUF9ET0xCUkFDRQkweDAwNDAJLyogcGFyc2luZyBhICR7Li4ufSBjb25zdHJ1Y3QgKi8KIAogLyogTGV4aWNhbCBzdGF0ZSB3aGlsZSBwYXJzaW5nIGEgZ3JvdXBpbmcgY29uc3RydWN0IG9yICQoLi4uKS4gKi8KICNkZWZpbmUgTEVYX1dBU0RPTAkweDAwMQpAQCAtMzEwNyw2ICszMTQ1LDkgQEAKICAgaW50IG5lc3RsZW4sIHR0cmFuc2xlbiwgc3RhcnRfbGluZW5vOwogICBjaGFyICpyZXQsICpuZXN0cmV0LCAqdHRyYW5zOwogICBpbnQgcmV0aW5kLCByZXRzaXplLCByZmxhZ3M7CisgIGludCBkb2xicmFjZV9zdGF0ZTsKKworICBkb2xicmFjZV9zdGF0ZSA9IChmbGFncyAmIFBfRE9MQlJBQ0UpID8gRE9MQlJBQ0VfUEFSQU0gOiAwOwogCiAvKml0cmFjZSgicGFyc2VfbWF0Y2hlZF9wYWlyWyVkXTogb3BlbiA9ICVjIGNsb3NlID0gJWMgZmxhZ3MgPSAlZCIsIGxpbmVfbnVtYmVyLCBvcGVuLCBjbG9zZSwgZmxhZ3MpOyovCiAgIGNvdW50ID0gMTsKQEAgLTMxMjQsNyArMzE2NSw3IEBACiAgIHN0YXJ0X2xpbmVubyA9IGxpbmVfbnVtYmVyOwogICB3aGlsZSAoY291bnQpCiAgICAgewotICAgICAgY2ggPSBzaGVsbF9nZXRjIChxYyAhPSAnXCcnICYmICh0ZmxhZ3MgJiBMRVhfUEFTU05FWFQpID09IDApOworICAgICAgY2ggPSBzaGVsbF9nZXRjIChxYyAhPSAnXCcnICYmICh0ZmxhZ3MgJiAoTEVYX1BBU1NORVhUKSkgPT0gMCk7CiAKICAgICAgIGlmIChjaCA9PSBFT0YpCiAJewpAQCAtMzIxNywxNCArMzI1OCw0MiBAQAogICAgICAgaWYgTUJURVNUKGNoID09ICdcXCcpCQkJLyogYmFja3NsYXNoZXMgKi8KIAl0ZmxhZ3MgfD0gTEVYX1BBU1NORVhUOwogCi0jaWYgMAorICAgICAgLyogQmFzZWQgb24gd2hpY2ggZG9sc3RhdGUgaXMgY3VycmVudGx5IGluIChwYXJhbSwgb3AsIG9yIHdvcmQpLAorCSBkZWNpZGUgd2hhdCB0aGUgb3AgaXMuICBXZSdyZSByZWFsbHkgb25seSBjb25jZXJuZWQgaWYgaXQncyAlIG9yCisJICMsIHNvIHdlIGNhbiB0dXJuIG9uIGEgZmxhZyB0aGF0IHNheXMgd2hldGhlciBvciBub3Qgd2Ugc2hvdWxkCisJIHRyZWF0IHNpbmdsZSBxdW90ZXMgYXMgc3BlY2lhbCB3aGVuIGluc2lkZSBhIGRvdWJsZS1xdW90ZWQKKwkgJHsuLi59LiBUaGlzIGxvZ2ljIG11c3QgYWdyZWUgd2l0aCBzdWJzdC5jOmV4dHJhY3RfZG9sbGFyX2JyYWNlX3N0cmluZworCSBzaW5jZSB0aGV5IHNoYXJlIHRoZSBzYW1lIGRlZmluZXMuICovCisgICAgICBpZiAoZmxhZ3MgJiBQX0RPTEJSQUNFKQorICAgICAgICB7CisgICAgICAgICAgLyogJHtwYXJhbSVbJV13b3JkfSAqLworCSAgaWYgTUJURVNUKGRvbGJyYWNlX3N0YXRlID09IERPTEJSQUNFX1BBUkFNICYmIGNoID09ICclJyAmJiByZXRpbmQgPiAxKQorCSAgICBkb2xicmFjZV9zdGF0ZSA9IERPTEJSQUNFX1FVT1RFOworICAgICAgICAgIC8qICR7cGFyYW0jWyNdd29yZH0gKi8KKwkgIGVsc2UgaWYgTUJURVNUKGRvbGJyYWNlX3N0YXRlID09IERPTEJSQUNFX1BBUkFNICYmIGNoID09ICcjJyAmJiByZXRpbmQgPiAxKQorCSAgICBkb2xicmFjZV9zdGF0ZSA9IERPTEJSQUNFX1FVT1RFOworICAgICAgICAgIC8qICR7cGFyYW0vWy9dcGF0L3JlcH0gKi8KKwkgIGVsc2UgaWYgTUJURVNUKGRvbGJyYWNlX3N0YXRlID09IERPTEJSQUNFX1BBUkFNICYmIGNoID09ICcvJyAmJiByZXRpbmQgPiAxKQorCSAgICBkb2xicmFjZV9zdGF0ZSA9IERPTEJSQUNFX1FVT1RFOworICAgICAgICAgIC8qICR7cGFyYW1eW15dcGF0fSAqLworCSAgZWxzZSBpZiBNQlRFU1QoZG9sYnJhY2Vfc3RhdGUgPT0gRE9MQlJBQ0VfUEFSQU0gJiYgY2ggPT0gJ14nICYmIHJldGluZCA+IDEpCisJICAgIGRvbGJyYWNlX3N0YXRlID0gRE9MQlJBQ0VfUVVPVEU7CisgICAgICAgICAgLyogJHtwYXJhbSxbLF1wYXR9ICovCisJICBlbHNlIGlmIE1CVEVTVChkb2xicmFjZV9zdGF0ZSA9PSBET0xCUkFDRV9QQVJBTSAmJiBjaCA9PSAnLCcgJiYgcmV0aW5kID4gMSkKKwkgICAgZG9sYnJhY2Vfc3RhdGUgPSBET0xCUkFDRV9RVU9URTsKKwkgIGVsc2UgaWYgTUJURVNUKGRvbGJyYWNlX3N0YXRlID09IERPTEJSQUNFX1BBUkFNICYmIHN0cmNociAoIiMlXix+Oi09PysvIiwgY2gpICE9IDApCisJICAgIGRvbGJyYWNlX3N0YXRlID0gRE9MQlJBQ0VfT1A7CisJICBlbHNlIGlmIE1CVEVTVChkb2xicmFjZV9zdGF0ZSA9PSBET0xCUkFDRV9PUCAmJiBzdHJjaHIgKCIjJV4sfjotPT8rLyIsIGNoKSA9PSAwKQorCSAgICBkb2xicmFjZV9zdGF0ZSA9IERPTEJSQUNFX1dPUkQ7CisgICAgICAgIH0KKwogICAgICAgLyogVGhlIGJpZyBoYW1tZXIuICBTaW5nbGUgcXVvdGVzIGFyZW4ndCBzcGVjaWFsIGluIGRvdWJsZSBxdW90ZXMuICBUaGUKLSAgICAgICAgIHByb2JsZW0gaXMgdGhhdCBQb3NpeCBzYXlzIHRoZSBzaW5nbGUgcXVvdGVzIGFyZSBzZW1pLXNwZWNpYWw6CisgICAgICAgICBwcm9ibGVtIGlzIHRoYXQgUG9zaXggdXNlZCB0byBzYXkgdGhlIHNpbmdsZSBxdW90ZXMgYXJlIHNlbWktc3BlY2lhbDoKICAgICAgICAgIHdpdGhpbiBhIGRvdWJsZS1xdW90ZWQgJHsuLi59IGNvbnN0cnVjdCAiYW4gZXZlbiBudW1iZXIgb2YKICAgICAgICAgIHVuZXNjYXBlZCBkb3VibGUtcXVvdGVzIG9yIHNpbmdsZS1xdW90ZXMsIGlmIGFueSwgc2hhbGwgb2NjdXIuIiAqLwotICAgICAgaWYgTUJURVNUKG9wZW4gPT0gJ3snICYmIChmbGFncyAmIFBfRFFVT1RFKSAmJiBjaCA9PSAnXCcnKQkvKiB9ICovCisgICAgICAvKiBUaGlzIHdhcyBjaGFuZ2VkIGluIEF1c3RpbiBHcm91cCBJbnRlcnAgMjIxICovCisgICAgICBpZiBNQlRFU1QocG9zaXhseV9jb3JyZWN0ICYmIHNoZWxsX2NvbXBhdGliaWxpdHlfbGV2ZWwgPiA0MSAmJiBkb2xicmFjZV9zdGF0ZSAhPSBET0xCUkFDRV9RVU9URSAmJiAoZmxhZ3MgJiBQX0RRVU9URSkgJiYgKGZsYWdzICYgUF9ET0xCUkFDRSkgJiYgY2ggPT0gJ1wnJykKIAljb250aW51ZTsKLSNlbmRpZgogCiAgICAgICAvKiBDb3VsZCBhbHNvIGNoZWNrIG9wZW4gPT0gJ2AnIGlmIHdlIHdhbnQgdG8gcGFyc2UgZ3JvdXBpbmcgY29uc3RydWN0cwogCSBpbnNpZGUgb2xkLXN0eWxlIGNvbW1hbmQgc3Vic3RpdHV0aW9uLiAqLwpAQCAtMzI5OSw3ICszMzY4LDcgQEAKIAkgIGlmIChjaCA9PSAnKCcpCQkvKiApICovCiAJICAgIG5lc3RyZXQgPSBwYXJzZV9jb21zdWIgKDAsICcoJywgJyknLCAmbmVzdGxlbiwgKHJmbGFnc3xQX0NPTU1BTkQpICYgflBfRFFVT1RFKTsKIAkgIGVsc2UgaWYgKGNoID09ICd7JykJCS8qIH0gKi8KLQkgICAgbmVzdHJldCA9IHBhcnNlX21hdGNoZWRfcGFpciAoMCwgJ3snLCAnfScsICZuZXN0bGVuLCBQX0ZJUlNUQ0xPU0V8cmZsYWdzKTsKKwkgICAgbmVzdHJldCA9IHBhcnNlX21hdGNoZWRfcGFpciAoMCwgJ3snLCAnfScsICZuZXN0bGVuLCBQX0ZJUlNUQ0xPU0V8UF9ET0xCUkFDRXxyZmxhZ3MpOwogCSAgZWxzZSBpZiAoY2ggPT0gJ1snKQkJLyogXSAqLwogCSAgICBuZXN0cmV0ID0gcGFyc2VfbWF0Y2hlZF9wYWlyICgwLCAnWycsICddJywgJm5lc3RsZW4sIHJmbGFncyk7CiAKQEAgLTMzMzQsNiArMzQwMywxMyBAQAogICBjaGFyICpyZXQsICpuZXN0cmV0LCAqdHRyYW5zLCAqaGVyZWRlbGltOwogICBpbnQgcmV0aW5kLCByZXRzaXplLCByZmxhZ3MsIGhkbGVuOwogCisgIC8qIFBvc2l4IGludGVycCAyMTcgc2F5cyBhcml0aG1ldGljIGV4cHJlc3Npb25zIGhhdmUgcHJlY2VkZW5jZSwgc28KKyAgICAgYXNzdW1lICQoKCBpbnRyb2R1Y2VzIGFyaXRobWV0aWMgZXhwYW5zaW9uIGFuZCBwYXJzZSBhY2NvcmRpbmdseS4gKi8KKyAgcGVla2MgPSBzaGVsbF9nZXRjICgwKTsKKyAgc2hlbGxfdW5nZXRjIChwZWVrYyk7CisgIGlmIChwZWVrYyA9PSAnKCcpCisgICAgcmV0dXJuIChwYXJzZV9tYXRjaGVkX3BhaXIgKHFjLCBvcGVuLCBjbG9zZSwgbGVucCwgMCkpOworCiAvKml0cmFjZSgicGFyc2VfY29tc3ViOiBxYyA9IGAlYycgb3BlbiA9ICVjIGNsb3NlID0gJWMiLCBxYywgb3BlbiwgY2xvc2UpOyovCiAgIGNvdW50ID0gMTsKICAgdGZsYWdzID0gTEVYX1JFU1dET0s7CkBAIC0zMzU4LDcgKzM0MzQsNyBAQAogICB3aGlsZSAoY291bnQpCiAgICAgewogY29tc3ViX3JlYWRjaGFyOgotICAgICAgY2ggPSBzaGVsbF9nZXRjIChxYyAhPSAnXCcnICYmICh0ZmxhZ3MgJiBMRVhfUEFTU05FWFQpID09IDApOworICAgICAgY2ggPSBzaGVsbF9nZXRjIChxYyAhPSAnXCcnICYmICh0ZmxhZ3MgJiAoTEVYX0lOQ09NTUVOVHxMRVhfUEFTU05FWFQpKSA9PSAwKTsKIAogICAgICAgaWYgKGNoID09IEVPRikKIAl7CkBAIC0zNDgyLDcgKzM1NTgsNyBAQAogCX0KIAogICAgICAgLyogU2tpcCB3aGl0ZXNwYWNlICovCi0gICAgICBpZiBNQlRFU1Qoc2hlbGxibGFuayAoY2gpICYmIGxleF9yd2xlbiA9PSAwKQorICAgICAgaWYgTUJURVNUKHNoZWxsYmxhbmsgKGNoKSAmJiAodGZsYWdzICYgTEVYX0hFUkVERUxJTSkgPT0gMCAmJiBsZXhfcndsZW4gPT0gMCkKICAgICAgICAgewogCSAgLyogQWRkIHRoaXMgY2hhcmFjdGVyLiAqLwogCSAgUkVTSVpFX01BTExPQ0VEX0JVRkZFUiAocmV0LCByZXRpbmQsIDEsIHJldHNpemUsIDY0KTsKQEAgLTM3MzQsNyArMzgxMCw3IEBACiAJICBpZiAoY2ggPT0gJygnKQkJLyogKSAqLwogCSAgICBuZXN0cmV0ID0gcGFyc2VfY29tc3ViICgwLCAnKCcsICcpJywgJm5lc3RsZW4sIChyZmxhZ3N8UF9DT01NQU5EKSAmIH5QX0RRVU9URSk7CiAJICBlbHNlIGlmIChjaCA9PSAneycpCQkvKiB9ICovCi0JICAgIG5lc3RyZXQgPSBwYXJzZV9tYXRjaGVkX3BhaXIgKDAsICd7JywgJ30nLCAmbmVzdGxlbiwgUF9GSVJTVENMT1NFfHJmbGFncyk7CisJICAgIG5lc3RyZXQgPSBwYXJzZV9tYXRjaGVkX3BhaXIgKDAsICd7JywgJ30nLCAmbmVzdGxlbiwgUF9GSVJTVENMT1NFfFBfRE9MQlJBQ0V8cmZsYWdzKTsKIAkgIGVsc2UgaWYgKGNoID09ICdbJykJCS8qIF0gKi8KIAkgICAgbmVzdHJldCA9IHBhcnNlX21hdGNoZWRfcGFpciAoMCwgJ1snLCAnXScsICZuZXN0bGVuLCByZmxhZ3MpOwogCkBAIC0zNzU3LDggKzM4MzMsNyBAQAogICByZXR1cm4gcmV0OwogfQogCi0vKiBYWFggLSB0aGlzIG5lZWRzIHRvIGhhbmRsZSBmdW5jdGlvbmFsaXR5IGxpa2Ugc3Vic3QuYzpub19sb25nam1wX29uX2ZhdGFsX2Vycm9yOwotICAgbWF5YmUgZXh0cmFjdF9jb21tYW5kX3N1YnN0IHNob3VsZCBoYW5kbGUgaXQuICovCisvKiBSZWN1cnNpdmVseSBjYWxsIHRoZSBwYXJzZXIgdG8gcGFyc2UgYSAkKC4uLikgY29tbWFuZCBzdWJzdGl0dXRpb24uICovCiBjaGFyICoKIHhwYXJzZV9kb2xwYXJlbiAoYmFzZSwgc3RyaW5nLCBpbmRwLCBmbGFncykKICAgICAgY2hhciAqYmFzZTsKQEAgLTQzODIsNyArNDQ1Nyw3IEBACiAJCSgocGVla19jaGFyID09ICd7JyB8fCBwZWVrX2NoYXIgPT0gJ1snKSAmJiBjaGFyYWN0ZXIgPT0gJyQnKSkJLyogKSBdIH0gKi8KIAkgICAgewogCSAgICAgIGlmIChwZWVrX2NoYXIgPT0gJ3snKQkJLyogfSAqLwotCQl0dG9rID0gcGFyc2VfbWF0Y2hlZF9wYWlyIChjZCwgJ3snLCAnfScsICZ0dG9rbGVuLCBQX0ZJUlNUQ0xPU0UpOworCQl0dG9rID0gcGFyc2VfbWF0Y2hlZF9wYWlyIChjZCwgJ3snLCAnfScsICZ0dG9rbGVuLCBQX0ZJUlNUQ0xPU0V8UF9ET0xCUkFDRSk7CiAJICAgICAgZWxzZSBpZiAocGVla19jaGFyID09ICcoJykJCS8qICkgKi8KIAkJewogCQkgIC8qIFhYWCAtIHB1c2ggYW5kIHBvcCB0aGUgYCgnIGFzIGEgZGVsaW1pdGVyIGZvciB1c2UgYnkKQEAgLTQ3MTcsNiArNDc5Miw3IEBACiAgICAgY2FzZSBUSEVOOgogICAgIGNhc2UgVElNRToKICAgICBjYXNlIFRJTUVPUFQ6CisgICAgY2FzZSBUSU1FSUdOOgogICAgIGNhc2UgQ09QUk9DOgogICAgIGNhc2UgVU5USUw6CiAgICAgY2FzZSBXSElMRToKQEAgLTQ3MjcsNiArNDgwMyw4IEBACiAgICAgICBpZiAobGFzdF9yZWFkX3Rva2VuID09IFdPUkQgJiYgdG9rZW5fYmVmb3JlX3RoYXQgPT0gQ09QUk9DKQogCXJldHVybiAxOwogI2VuZGlmCisgICAgICBpZiAobGFzdF9yZWFkX3Rva2VuID09IFdPUkQgJiYgdG9rZW5fYmVmb3JlX3RoYXQgPT0gRlVOQ1RJT04pCisJcmV0dXJuIDE7CiAgICAgICByZXR1cm4gMDsKICAgICB9CiB9CkBAIC00Nzg3LDIwICs0ODY1LDM1IEBACiAvKiBJZiB3ZSBhcmUgbm90IHdpdGhpbiBhIGRlbGltaXRlZCBleHByZXNzaW9uLCB0cnkgdG8gYmUgc21hcnQKICAgIGFib3V0IHdoaWNoIHNlcGFyYXRvcnMgY2FuIGJlIHNlbWktY29sb25zIGFuZCB3aGljaCBtdXN0IGJlCiAgICBuZXdsaW5lcy4gIFJldHVybnMgdGhlIHN0cmluZyB0aGF0IHNob3VsZCBiZSBhZGRlZCBpbnRvIHRoZQotICAgaGlzdG9yeSBlbnRyeS4gKi8KKyAgIGhpc3RvcnkgZW50cnkuICBMSU5FIGlzIHRoZSBsaW5lIHdlJ3JlIGFib3V0IHRvIGFkZDsgaXQgaGVscHMKKyAgIG1ha2Ugc29tZSBtb3JlIGludGVsbGlnZW50IGRlY2lzaW9ucyBpbiBjZXJ0YWluIGNhc2VzLiAqLwogY2hhciAqCi1oaXN0b3J5X2RlbGltaXRpbmdfY2hhcnMgKCkKK2hpc3RvcnlfZGVsaW1pdGluZ19jaGFycyAobGluZSkKKyAgICAgY29uc3QgY2hhciAqbGluZTsKIHsKKyAgc3RhdGljIGludCBsYXN0X3dhc19oZXJlZG9jID0gMDsJLyogd2FzIHRoZSBsYXN0IGVudHJ5IHRoZSBzdGFydCBvZiBhIGhlcmUgZG9jdW1lbnQ/ICovCiAgIHJlZ2lzdGVyIGludCBpOwogCisgIGlmICgocGFyc2VyX3N0YXRlICYgUFNUX0hFUkVET0MpID09IDApCisgICAgbGFzdF93YXNfaGVyZWRvYyA9IDA7CisKICAgaWYgKGRzdGFjay5kZWxpbWl0ZXJfZGVwdGggIT0gMCkKICAgICByZXR1cm4gKCJcbiIpOwogCiAgIC8qIFdlIGxvb2sgZm9yIGN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50ID09IDIgYmVjYXVzZSB3ZSBhcmUgbG9va2luZyB0bwogICAgICBhZGQgdGhlIGZpcnN0IGxpbmUgb2YgdGhlIGJvZHkgb2YgdGhlIGhlcmUgZG9jdW1lbnQgKHRoZSBzZWNvbmQgbGluZQotICAgICBvZiB0aGUgY29tbWFuZCkuICovCisgICAgIG9mIHRoZSBjb21tYW5kKS4gIFdlIGFsc28ga2VlcCBMQVNUX1dBU19IRVJFRE9DIGFzIGEgcHJpdmF0ZSBzZW50aW5lbAorICAgICB2YXJpYWJsZSB0byBub3RlIHdoZW4gd2UgdGhpbmsgd2UgYWRkZWQgdGhlIGZpcnN0IGxpbmUgb2YgYSBoZXJlIGRvYworICAgICAodGhlIG9uZSB3aXRoIGEgIjw8IiBzb21ld2hlcmUgaW4gaXQpICovCiAgIGlmIChwYXJzZXJfc3RhdGUgJiBQU1RfSEVSRURPQykKLSAgICByZXR1cm4gKGN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50ID09IDIgPyAiXG4iIDogIiIpOworICAgIHsKKyAgICAgIGlmIChsYXN0X3dhc19oZXJlZG9jKQorCXsKKwkgIGxhc3Rfd2FzX2hlcmVkb2MgPSAwOworCSAgcmV0dXJuICJcbiI7CisJfQorICAgICAgcmV0dXJuIChjdXJyZW50X2NvbW1hbmRfbGluZV9jb3VudCA9PSAyID8gIlxuIiA6ICIiKTsKKyAgICB9CiAKICAgLyogRmlyc3QsIGhhbmRsZSBzb21lIHNwZWNpYWwgY2FzZXMuICovCiAgIC8qKCovCkBAIC00ODIzLDYgKzQ5MTYsMTUgQEAKICAgZWxzZSBpZiAodG9rZW5fYmVmb3JlX3RoYXQgPT0gV09SRCAmJiB0d29fdG9rZW5zX2FnbyA9PSBGVU5DVElPTikKICAgICByZXR1cm4gIiAiOwkJLyogZnVuY3Rpb24gZGVmIHVzaW5nIGBmdW5jdGlvbiBuYW1lJyB3aXRob3V0IGAoKScgKi8KIAorICAvKiBJZiB3ZSdyZSBub3QgaW4gYSBoZXJlIGRvY3VtZW50LCBidXQgd2UgdGhpbmsgd2UncmUgYWJvdXQgdG8gcGFyc2Ugb25lLAorICAgICBhbmQgd2Ugd291bGQgb3RoZXJ3aXNlIHJldHVybiBhIGA7JywgcmV0dXJuIGEgbmV3bGluZSB0byBkZWxpbWl0IHRoZQorICAgICBsaW5lIHdpdGggdGhlIGhlcmUtZG9jIGRlbGltaXRlciAqLworICBlbHNlIGlmICgocGFyc2VyX3N0YXRlICYgUFNUX0hFUkVET0MpID09IDAgJiYgY3VycmVudF9jb21tYW5kX2xpbmVfY291bnQgPiAxICYmIGxhc3RfcmVhZF90b2tlbiA9PSAnXG4nICYmIHN0cnN0ciAobGluZSwgIjw8IikpCisgICAgeworICAgICAgbGFzdF93YXNfaGVyZWRvYyA9IDE7CisgICAgICByZXR1cm4gIlxuIjsKKyAgICB9CisKICAgZWxzZSBpZiAodG9rZW5fYmVmb3JlX3RoYXQgPT0gV09SRCAmJiB0d29fdG9rZW5zX2FnbyA9PSBGT1IpCiAgICAgewogICAgICAgLyogVHJpY2t5LiAgYGZvciBpXG5pbiAuLi4nIHNob3VsZCBub3QgaGF2ZSBhIHNlbWljb2xvbiwgYnV0CkBAIC01MTUyLDcgKzUyNTQsNyBAQAogCQkgICAgICB7CiAJCQl0ID0gc3RycmNociAodF9zdHJpbmcsICcvJyk7CiAJCQlpZiAodCkKLQkJCSAgbWVtbW92ZSAodF9zdHJpbmcsIHQgKyAxLCBzdHJsZW4gKHQpKTsKKwkJCSAgbWVtbW92ZSAodF9zdHJpbmcsIHQgKyAxLCBzdHJsZW4gKHQpKTsJLyogc3RybGVuKHQpIHRvIGNvcHkgTlVMTCAqLwogCQkgICAgICB9CiAJCSAgfQogI3VuZGVmIFJPT1RfUEFUSApAQCAtNTQzOSw3ICs1NTQxLDcgQEAKIHJlcG9ydF9zeW50YXhfZXJyb3IgKG1lc3NhZ2UpCiAgICAgIGNoYXIgKm1lc3NhZ2U7CiB7Ci0gIGNoYXIgKm1zZzsKKyAgY2hhciAqbXNnLCAqcDsKIAogICBpZiAobWVzc2FnZSkKICAgICB7CkBAIC01NDU1LDYgKzU1NTcsMTIgQEAKICAgICAgcGFyc2VyJ3MgY29tcGxhaW5pbmcgYWJvdXQgYnkgbG9va2luZyBhdCBjdXJyZW50X3Rva2VuLiAqLwogICBpZiAoY3VycmVudF90b2tlbiAhPSAwICYmIEVPRl9SZWFjaGVkID09IDAgJiYgKG1zZyA9IGVycm9yX3Rva2VuX2Zyb21fdG9rZW4gKGN1cnJlbnRfdG9rZW4pKSkKICAgICB7CisgICAgICBpZiAoYW5zaWNfc2hvdWxkcXVvdGUgKG1zZykpCisJeworCSAgcCA9IGFuc2ljX3F1b3RlIChtc2csIDAsIE5VTEwpOworCSAgZnJlZSAobXNnKTsKKwkgIG1zZyA9IHA7CisJfQogICAgICAgcGFyc2VyX2Vycm9yIChsaW5lX251bWJlciwgXygic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIiksIG1zZyk7CiAgICAgICBmcmVlIChtc2cpOwogCkBAIC01NzY0LDEwICs1ODcyLDYgQEAKIHNhdmVfcGFyc2VyX3N0YXRlIChwcykKICAgICAgc2hfcGFyc2VyX3N0YXRlX3QgKnBzOwogewotI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCi0gIFNIRUxMX1ZBUiAqdjsKLSNlbmRpZgotCiAgIGlmIChwcyA9PSAwKQogICAgIHBzID0gKHNoX3BhcnNlcl9zdGF0ZV90ICopeG1hbGxvYyAoc2l6ZW9mIChzaF9wYXJzZXJfc3RhdGVfdCkpOwogICBpZiAocHMgPT0gMCkKQEAgLTU3NzksNiArNTg4Myw4IEBACiAgIHBzLT5pbnB1dF9saW5lX3Rlcm1pbmF0b3IgPSBzaGVsbF9pbnB1dF9saW5lX3Rlcm1pbmF0b3I7CiAgIHBzLT5lb2ZfZW5jb3VudGVyZWQgPSBlb2ZfZW5jb3VudGVyZWQ7CiAKKyAgcHMtPnByb21wdF9zdHJpbmdfcG9pbnRlciA9IHByb21wdF9zdHJpbmdfcG9pbnRlcjsKKwogICBwcy0+Y3VycmVudF9jb21tYW5kX2xpbmVfY291bnQgPSBjdXJyZW50X2NvbW1hbmRfbGluZV9jb3VudDsKIAogI2lmIGRlZmluZWQgKEhJU1RPUlkpCkBAIC01NzkwLDExICs1ODk2LDcgQEAKIAogICBwcy0+bGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZTsKICNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQotICB2ID0gZmluZF92YXJpYWJsZSAoIlBJUEVTVEFUVVMiKTsKLSAgaWYgKHYgJiYgYXJyYXlfcCAodikgJiYgYXJyYXlfY2VsbCAodikpCi0gICAgcHMtPnBpcGVzdGF0dXMgPSBhcnJheV9jb3B5IChhcnJheV9jZWxsICh2KSk7Ci0gIGVsc2UKLSAgICBwcy0+cGlwZXN0YXR1cyA9IChBUlJBWSAqKU5VTEw7CisgIHBzLT5waXBlc3RhdHVzID0gc2F2ZV9waXBlc3RhdHVzX2FycmF5ICgpOwogI2VuZGlmCiAgICAgCiAgIHBzLT5sYXN0X3NoZWxsX2J1aWx0aW4gPSBsYXN0X3NoZWxsX2J1aWx0aW47CkBAIC01ODEwLDEwICs1OTEyLDYgQEAKIHJlc3RvcmVfcGFyc2VyX3N0YXRlIChwcykKICAgICAgc2hfcGFyc2VyX3N0YXRlX3QgKnBzOwogewotI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCi0gIFNIRUxMX1ZBUiAqdjsKLSNlbmRpZgotCiAgIGlmIChwcyA9PSAwKQogICAgIHJldHVybjsKIApAQCAtNTgyNyw2ICs1OTI1LDggQEAKICAgc2hlbGxfaW5wdXRfbGluZV90ZXJtaW5hdG9yID0gcHMtPmlucHV0X2xpbmVfdGVybWluYXRvcjsKICAgZW9mX2VuY291bnRlcmVkID0gcHMtPmVvZl9lbmNvdW50ZXJlZDsKIAorICBwcm9tcHRfc3RyaW5nX3BvaW50ZXIgPSBwcy0+cHJvbXB0X3N0cmluZ19wb2ludGVyOworCiAgIGN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50ID0gcHMtPmN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50OwogCiAjaWYgZGVmaW5lZCAoSElTVE9SWSkKQEAgLTU4MzgsMTIgKzU5MzgsNyBAQAogCiAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gcHMtPmxhc3RfY29tbWFuZF9leGl0X3ZhbHVlOwogI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCi0gIHYgPSBmaW5kX3ZhcmlhYmxlICgiUElQRVNUQVRVUyIpOwotICBpZiAodiAmJiBhcnJheV9wICh2KSAmJiBhcnJheV9jZWxsICh2KSkKLSAgICB7Ci0gICAgICBhcnJheV9kaXNwb3NlIChhcnJheV9jZWxsICh2KSk7Ci0gICAgICB2YXJfc2V0YXJyYXkgKHYsIHBzLT5waXBlc3RhdHVzKTsKLSAgICB9CisgIHJlc3RvcmVfcGlwZXN0YXR1c19hcnJheSAocHMtPnBpcGVzdGF0dXMpOwogI2VuZGlmCiAKICAgbGFzdF9zaGVsbF9idWlsdGluID0gcHMtPmxhc3Rfc2hlbGxfYnVpbHRpbjsKZGlmZiAtLWdpdCBhL3BhcnNlci1idWlsdCBiL3BhcnNlci1idWlsdAppbmRleCAxM2U4NTUwLi4wZGUzODUzIDEwMDY0NAotLS0gYS9wYXJzZXItYnVpbHQKKysrIGIvcGFyc2VyLWJ1aWx0CkBAIC02MSwzMCArNjEsMzEgQEAKICAgICAgQkFORyA9IDI3NywKICAgICAgVElNRSA9IDI3OCwKICAgICAgVElNRU9QVCA9IDI3OSwKLSAgICAgV09SRCA9IDI4MCwKLSAgICAgQVNTSUdOTUVOVF9XT1JEID0gMjgxLAotICAgICBSRURJUl9XT1JEID0gMjgyLAotICAgICBOVU1CRVIgPSAyODMsCi0gICAgIEFSSVRIX0NNRCA9IDI4NCwKLSAgICAgQVJJVEhfRk9SX0VYUFJTID0gMjg1LAotICAgICBDT05EX0NNRCA9IDI4NiwKLSAgICAgQU5EX0FORCA9IDI4NywKLSAgICAgT1JfT1IgPSAyODgsCi0gICAgIEdSRUFURVJfR1JFQVRFUiA9IDI4OSwKLSAgICAgTEVTU19MRVNTID0gMjkwLAotICAgICBMRVNTX0FORCA9IDI5MSwKLSAgICAgTEVTU19MRVNTX0xFU1MgPSAyOTIsCi0gICAgIEdSRUFURVJfQU5EID0gMjkzLAotICAgICBTRU1JX1NFTUkgPSAyOTQsCi0gICAgIFNFTUlfQU5EID0gMjk1LAotICAgICBTRU1JX1NFTUlfQU5EID0gMjk2LAotICAgICBMRVNTX0xFU1NfTUlOVVMgPSAyOTcsCi0gICAgIEFORF9HUkVBVEVSID0gMjk4LAotICAgICBBTkRfR1JFQVRFUl9HUkVBVEVSID0gMjk5LAotICAgICBMRVNTX0dSRUFURVIgPSAzMDAsCi0gICAgIEdSRUFURVJfQkFSID0gMzAxLAotICAgICBCQVJfQU5EID0gMzAyLAotICAgICB5YWNjX0VPRiA9IDMwMworICAgICBUSU1FSUdOID0gMjgwLAorICAgICBXT1JEID0gMjgxLAorICAgICBBU1NJR05NRU5UX1dPUkQgPSAyODIsCisgICAgIFJFRElSX1dPUkQgPSAyODMsCisgICAgIE5VTUJFUiA9IDI4NCwKKyAgICAgQVJJVEhfQ01EID0gMjg1LAorICAgICBBUklUSF9GT1JfRVhQUlMgPSAyODYsCisgICAgIENPTkRfQ01EID0gMjg3LAorICAgICBBTkRfQU5EID0gMjg4LAorICAgICBPUl9PUiA9IDI4OSwKKyAgICAgR1JFQVRFUl9HUkVBVEVSID0gMjkwLAorICAgICBMRVNTX0xFU1MgPSAyOTEsCisgICAgIExFU1NfQU5EID0gMjkyLAorICAgICBMRVNTX0xFU1NfTEVTUyA9IDI5MywKKyAgICAgR1JFQVRFUl9BTkQgPSAyOTQsCisgICAgIFNFTUlfU0VNSSA9IDI5NSwKKyAgICAgU0VNSV9BTkQgPSAyOTYsCisgICAgIFNFTUlfU0VNSV9BTkQgPSAyOTcsCisgICAgIExFU1NfTEVTU19NSU5VUyA9IDI5OCwKKyAgICAgQU5EX0dSRUFURVIgPSAyOTksCisgICAgIEFORF9HUkVBVEVSX0dSRUFURVIgPSAzMDAsCisgICAgIExFU1NfR1JFQVRFUiA9IDMwMSwKKyAgICAgR1JFQVRFUl9CQVIgPSAzMDIsCisgICAgIEJBUl9BTkQgPSAzMDMsCisgICAgIHlhY2NfRU9GID0gMzA0CiAgICB9OwogI2VuZGlmCiAvKiBUb2tlbnMuICAqLwpAQCAtMTEwLDM3ICsxMTEsMzggQEAKICNkZWZpbmUgQkFORyAyNzcKICNkZWZpbmUgVElNRSAyNzgKICNkZWZpbmUgVElNRU9QVCAyNzkKLSNkZWZpbmUgV09SRCAyODAKLSNkZWZpbmUgQVNTSUdOTUVOVF9XT1JEIDI4MQotI2RlZmluZSBSRURJUl9XT1JEIDI4MgotI2RlZmluZSBOVU1CRVIgMjgzCi0jZGVmaW5lIEFSSVRIX0NNRCAyODQKLSNkZWZpbmUgQVJJVEhfRk9SX0VYUFJTIDI4NQotI2RlZmluZSBDT05EX0NNRCAyODYKLSNkZWZpbmUgQU5EX0FORCAyODcKLSNkZWZpbmUgT1JfT1IgMjg4Ci0jZGVmaW5lIEdSRUFURVJfR1JFQVRFUiAyODkKLSNkZWZpbmUgTEVTU19MRVNTIDI5MAotI2RlZmluZSBMRVNTX0FORCAyOTEKLSNkZWZpbmUgTEVTU19MRVNTX0xFU1MgMjkyCi0jZGVmaW5lIEdSRUFURVJfQU5EIDI5MwotI2RlZmluZSBTRU1JX1NFTUkgMjk0Ci0jZGVmaW5lIFNFTUlfQU5EIDI5NQotI2RlZmluZSBTRU1JX1NFTUlfQU5EIDI5NgotI2RlZmluZSBMRVNTX0xFU1NfTUlOVVMgMjk3Ci0jZGVmaW5lIEFORF9HUkVBVEVSIDI5OAotI2RlZmluZSBBTkRfR1JFQVRFUl9HUkVBVEVSIDI5OQotI2RlZmluZSBMRVNTX0dSRUFURVIgMzAwCi0jZGVmaW5lIEdSRUFURVJfQkFSIDMwMQotI2RlZmluZSBCQVJfQU5EIDMwMgotI2RlZmluZSB5YWNjX0VPRiAzMDMKKyNkZWZpbmUgVElNRUlHTiAyODAKKyNkZWZpbmUgV09SRCAyODEKKyNkZWZpbmUgQVNTSUdOTUVOVF9XT1JEIDI4MgorI2RlZmluZSBSRURJUl9XT1JEIDI4MworI2RlZmluZSBOVU1CRVIgMjg0CisjZGVmaW5lIEFSSVRIX0NNRCAyODUKKyNkZWZpbmUgQVJJVEhfRk9SX0VYUFJTIDI4NgorI2RlZmluZSBDT05EX0NNRCAyODcKKyNkZWZpbmUgQU5EX0FORCAyODgKKyNkZWZpbmUgT1JfT1IgMjg5CisjZGVmaW5lIEdSRUFURVJfR1JFQVRFUiAyOTAKKyNkZWZpbmUgTEVTU19MRVNTIDI5MQorI2RlZmluZSBMRVNTX0FORCAyOTIKKyNkZWZpbmUgTEVTU19MRVNTX0xFU1MgMjkzCisjZGVmaW5lIEdSRUFURVJfQU5EIDI5NAorI2RlZmluZSBTRU1JX1NFTUkgMjk1CisjZGVmaW5lIFNFTUlfQU5EIDI5NgorI2RlZmluZSBTRU1JX1NFTUlfQU5EIDI5NworI2RlZmluZSBMRVNTX0xFU1NfTUlOVVMgMjk4CisjZGVmaW5lIEFORF9HUkVBVEVSIDI5OQorI2RlZmluZSBBTkRfR1JFQVRFUl9HUkVBVEVSIDMwMAorI2RlZmluZSBMRVNTX0dSRUFURVIgMzAxCisjZGVmaW5lIEdSRUFURVJfQkFSIDMwMgorI2RlZmluZSBCQVJfQU5EIDMwMworI2RlZmluZSB5YWNjX0VPRiAzMDQKIAogCiAKIAogI2lmICEgZGVmaW5lZCBZWVNUWVBFICYmICEgZGVmaW5lZCBZWVNUWVBFX0lTX0RFQ0xBUkVECiB0eXBlZGVmIHVuaW9uIFlZU1RZUEUKLSNsaW5lIDMyMCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAzMjMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogewogICBXT1JEX0RFU0MgKndvcmQ7CQkvKiB0aGUgd29yZCB0aGF0IHdlIHJlYWQuICovCiAgIGludCBudW1iZXI7CQkJLyogdGhlIG51bWJlciB0aGF0IHdlIHJlYWQuICovCkBAIC0xNTEsNyArMTUzLDcgQEAKICAgUEFUVEVSTl9MSVNUICpwYXR0ZXJuOwogfQogLyogTGluZSAxNDg5IG9mIHlhY2MuYy4gICovCi0jbGluZSAxNTUgInkudGFiLmgiCisjbGluZSAxNTcgInkudGFiLmgiCiAJWVlTVFlQRTsKICMgZGVmaW5lIHl5c3R5cGUgWVlTVFlQRSAvKiBvYnNvbGVzY2VudDsgd2lsbCBiZSB3aXRoZHJhd24gKi8KICMgZGVmaW5lIFlZU1RZUEVfSVNfREVDTEFSRUQgMQpkaWZmIC0tZ2l0IGEvcGFyc2VyLmggYi9wYXJzZXIuaAppbmRleCA5ZmY2NTc2Li41MDc4NDU2IDEwMDY0NAotLS0gYS9wYXJzZXIuaAorKysgYi9wYXJzZXIuaApAQCAtMSw3ICsxLDcgQEAKIC8qIHBhcnNlci5oIC0tIEV2ZXJ5dGhpbmcgeW91IHdhbnRlZCB0byBrbm93IGFib3V0IHRoZSBwYXJzZXIsIGJ1dCB3ZXJlCiAgICBhZnJhaWQgdG8gYXNrLiAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDE5OTUsIDIwMDgsMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMTk5NS0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtMzYsNyArMzYsNyBAQAogI2RlZmluZSBQU1RfQ0FTRVNUTVQJMHgwMDAwODAJLyogcGFyc2luZyBhIGNhc2Ugc3RhdGVtZW50ICovCiAjZGVmaW5lIFBTVF9DT05EQ01ECTB4MDAwMTAwCS8qIHBhcnNpbmcgYSBbWy4uLl1dIGNvbW1hbmQgKi8KICNkZWZpbmUgUFNUX0NPTkRFWFBSCTB4MDAwMjAwCS8qIHBhcnNpbmcgdGhlIGd1dHMgb2YgW1suLi5dXSAqLwotI2RlZmluZSBQU1RfQVJJVEhGT1IJMHgwMDA0MDAJLyogcGFyc2luZyBhbiBhcml0aG1ldGljIGZvciBjb21tYW5kICovCisjZGVmaW5lIFBTVF9BUklUSEZPUgkweDAwMDQwMAkvKiBwYXJzaW5nIGFuIGFyaXRobWV0aWMgZm9yIGNvbW1hbmQgLSB1bnVzZWQgKi8KICNkZWZpbmUgUFNUX0FMRVhQQU5ECTB4MDAwODAwCS8qIE9LIHRvIGV4cGFuZCBhbGlhc2VzIC0gdW51c2VkICovCiAjZGVmaW5lIFBTVF9FWFRQQVQJMHgwMDEwMDAJLyogcGFyc2luZyBhbiBleHRlbmRlZCBzaGVsbCBwYXR0ZXJuICovCiAjZGVmaW5lIFBTVF9DT01QQVNTSUdOCTB4MDAyMDAwCS8qIHBhcnNpbmcgeD0oLi4uKSBjb21wb3VuZCBhc3NpZ25tZW50ICovCkBAIC02MSw0ICs2MSwxMiBAQAogICBpbnQgZGVsaW1pdGVyX3NwYWNlOwogfTsKIAorLyogU3RhdGVzIHdlIGNhbiBiZSBpbiB3aGlsZSBzY2FubmluZyBhICR7Li4ufSBleHBhbnNpb24uICBTaGFyZWQgYmV0d2VlbgorICAgcGFyc2UueSBhbmQgc3Vic3QuYyAqLworI2RlZmluZSBET0xCUkFDRV9QQVJBTQkweDAxCisjZGVmaW5lIERPTEJSQUNFX09QCTB4MDIKKyNkZWZpbmUgRE9MQlJBQ0VfV09SRAkweDA0CisKKyNkZWZpbmUgRE9MQlJBQ0VfUVVPVEUJMHg0MAorCiAjZW5kaWYgLyogX1BBUlNFUl9IXyAqLwpkaWZmIC0tZ2l0IGEvcGF0Y2hsZXZlbC5oIGIvcGF0Y2hsZXZlbC5oCmluZGV4IGZmMzA4ODEuLjg1OTQwZDAgMTAwNjQ0Ci0tLSBhL3BhdGNobGV2ZWwuaAorKysgYi9wYXRjaGxldmVsLmgKQEAgLTEsNiArMSw2IEBACiAvKiBwYXRjaGxldmVsLmggLS0gY3VycmVudCBiYXNoIHBhdGNoIGxldmVsICovCiAKLS8qIENvcHlyaWdodCAoQykgMjAwMS0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAyMDAxLTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC0yNSw2ICsyNSw2IEBACiAgICByZWdleHAgYF4jZGVmaW5lWyAJXSpQQVRDSExFVkVMJywgc2luY2UgdGhhdCdzIHdoYXQgc3VwcG9ydC9ta3ZlcnNpb24uc2gKICAgIGxvb2tzIGZvciB0byBmaW5kIHRoZSBwYXRjaCBsZXZlbCAoZm9yIHRoZSBzY2NzIHZlcnNpb24gc3RyaW5nKS4gKi8KIAotI2RlZmluZSBQQVRDSExFVkVMIDExCisjZGVmaW5lIFBBVENITEVWRUwgMAogCiAjZW5kaWYgLyogX1BBVENITEVWRUxfSF8gKi8KZGlmZiAtLWdpdCBhL3BhdGNobGV2ZWwuaC5yZWogYi9wYXRjaGxldmVsLmgucmVqCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxYzlmZjgKLS0tIC9kZXYvbnVsbAorKysgYi9wYXRjaGxldmVsLmgucmVqCkBAIC0wLDAgKzEsMTMgQEAKKyoqKioqKioqKioqKioqKgorKioqIDI2LDMwICoqKioKKyAgICAgbG9va3MgZm9yIHRvIGZpbmQgdGhlIHBhdGNoIGxldmVsIChmb3IgdGhlIHNjY3MgdmVyc2lvbiBzdHJpbmcpLiAqLworICAKKyEgI2RlZmluZSBQQVRDSExFVkVMIDM2CisgIAorICAjZW5kaWYgLyogX1BBVENITEVWRUxfSF8gKi8KKy0tLSAyNiwzMCAtLS0tCisgICAgIGxvb2tzIGZvciB0byBmaW5kIHRoZSBwYXRjaCBsZXZlbCAoZm9yIHRoZSBzY2NzIHZlcnNpb24gc3RyaW5nKS4gKi8KKyAgCishICNkZWZpbmUgUEFUQ0hMRVZFTCAzNworICAKKyAgI2VuZGlmIC8qIF9QQVRDSExFVkVMX0hfICovCmRpZmYgLS1naXQgYS9wYXRjaGxldmVsLmh+IGIvcGF0Y2hsZXZlbC5ofgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWE2ZmY2Ci0tLSAvZGV2L251bGwKKysrIGIvcGF0Y2hsZXZlbC5ofgpAQCAtMCwwICsxLDMwIEBACisvKiBwYXRjaGxldmVsLmggLS0gY3VycmVudCBiYXNoIHBhdGNoIGxldmVsICovCisKKy8qIENvcHlyaWdodCAoQykgMjAwMS0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorCisgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KKworICAgQmFzaCBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIEJhc2ggaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICAgYWxvbmcgd2l0aCBCYXNoLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKi8KKworI2lmICFkZWZpbmVkIChfUEFUQ0hMRVZFTF9IXykKKyNkZWZpbmUgX1BBVENITEVWRUxfSF8KKworLyogSXQncyBpbXBvcnRhbnQgdGhhdCB0aGVyZSBiZSBubyBvdGhlciBzdHJpbmdzIGluIHRoaXMgZmlsZSB0aGF0IG1hdGNoIHRoZQorICAgcmVnZXhwIGBeI2RlZmluZVsgCV0qUEFUQ0hMRVZFTCcsIHNpbmNlIHRoYXQncyB3aGF0IHN1cHBvcnQvbWt2ZXJzaW9uLnNoCisgICBsb29rcyBmb3IgdG8gZmluZCB0aGUgcGF0Y2ggbGV2ZWwgKGZvciB0aGUgc2NjcyB2ZXJzaW9uIHN0cmluZykuICovCisKKyNkZWZpbmUgUEFUQ0hMRVZFTCAzNworCisjZW5kaWYgLyogX1BBVENITEVWRUxfSF8gKi8KZGlmZiAtLWdpdCBhL3BhdGhleHAuYyBiL3BhdGhleHAuYwppbmRleCA4NTFhYjhmLi40MmYyMWU0IDEwMDY0NAotLS0gYS9wYXRoZXhwLmMKKysrIGIvcGF0aGV4cC5jCkBAIC00MCw2ICs0MCw3IEBACiAKIHN0YXRpYyBpbnQgZ2xvYl9uYW1lX2lzX2FjY2VwdGFibGUgX19QKChjb25zdCBjaGFyICopKTsKIHN0YXRpYyB2b2lkIGlnbm9yZV9nbG9iYmVkX25hbWVzIF9fUCgoY2hhciAqKiwgc2hfaWdub3JlX2Z1bmNfdCAqKSk7CitzdGF0aWMgY2hhciAqc3BsaXRfaWdub3Jlc3BlYyBfX1AoKGNoYXIgKiwgaW50ICopKTsKICAgICAgICAgICAgICAgIAogI2lmIGRlZmluZWQgKFVTRV9QT1NJWF9HTE9CX0xJQlJBUlkpCiAjICBpbmNsdWRlIDxnbG9iLmg+CkBAIC00MjgsNiArNDI5LDMwIEBACiAgIGlnbm9yZV9nbG9iYmVkX25hbWVzIChuYW1lcywgZ2xvYl9uYW1lX2lzX2FjY2VwdGFibGUpOwogfQogCitzdGF0aWMgY2hhciAqCitzcGxpdF9pZ25vcmVzcGVjIChzLCBpcCkKKyAgICAgY2hhciAqczsKKyAgICAgaW50ICppcDsKK3sKKyAgY2hhciAqdDsKKyAgaW50IG4sIGk7CisKKyAgaWYgKHMgPT0gMCkKKyAgICByZXR1cm4gMDsKKworICBpID0gKmlwOworICBpZiAoc1tpXSA9PSAwKQorICAgIHJldHVybiAwOworCisgIG4gPSBza2lwX3RvX2RlbGltIChzLCBpLCAiOiIsIFNEX05PSk1QfFNEX0VYVEdMT0IpOworICB0ID0gc3Vic3RyaW5nIChzLCBpLCBuKTsKKworICBpZiAoc1tuXSA9PSAnOicpCisgICAgbisrOyAgCisgICppcCA9IG47ICAKKyAgcmV0dXJuIHQ7Cit9CisgIAogdm9pZAogc2V0dXBfaWdub3JlX3BhdHRlcm5zIChpdnApCiAgICAgIHN0cnVjdCBpZ25vcmV2YXIgKml2cDsKQEAgLTQ2Nyw3ICs0OTIsMTEgQEAKIAogICBudW1pdGVtcyA9IG1heGl0ZW1zID0gcHRyID0gMDsKIAorI2lmIDAKICAgd2hpbGUgKGNvbG9uX2JpdCA9IGV4dHJhY3RfY29sb25fdW5pdCAodGhpc19pZ25vcmV2YWwsICZwdHIpKQorI2Vsc2UKKyAgd2hpbGUgKGNvbG9uX2JpdCA9IHNwbGl0X2lnbm9yZXNwZWMgKHRoaXNfaWdub3JldmFsLCAmcHRyKSkKKyNlbmRpZgogICAgIHsKICAgICAgIGlmIChudW1pdGVtcyArIDEgPj0gbWF4aXRlbXMpCiAJewpkaWZmIC0tZ2l0IGEvcGNvbXBsZXRlLmggYi9wY29tcGxldGUuaAppbmRleCBkYWNiY2VmLi42YzFhNjY0IDEwMDY0NAotLS0gYS9wY29tcGxldGUuaAorKysgYi9wY29tcGxldGUuaApAQCAtMzUsNiArMzUsNyBAQAogICBjaGFyICpzdWZmaXg7CiAgIGNoYXIgKmZ1bmNuYW1lOwogICBjaGFyICpjb21tYW5kOworICBjaGFyICpsY29tbWFuZDsKICAgY2hhciAqZmlsdGVycGF0OwogfSBDT01QU1BFQzsKIApkaWZmIC0tZ2l0IGEvcGNvbXBsaWIuYyBiL3Bjb21wbGliLmMKaW5kZXggZmM0ZmJlNC4uZmUzMzdlNCAxMDA2NDQKLS0tIGEvcGNvbXBsaWIuYworKysgYi9wY29tcGxpYi5jCkBAIC02Miw2ICs2Miw3IEBACiAgIHJldC0+c3VmZml4ID0gKGNoYXIgKilOVUxMOwogICByZXQtPmZ1bmNuYW1lID0gKGNoYXIgKilOVUxMOwogICByZXQtPmNvbW1hbmQgPSAoY2hhciAqKU5VTEw7CisgIHJldC0+bGNvbW1hbmQgPSAoY2hhciAqKU5VTEw7CiAgIHJldC0+ZmlsdGVycGF0ID0gKGNoYXIgKilOVUxMOwogCiAgIHJldHVybiByZXQ7CkBAIC04MCw2ICs4MSw3IEBACiAgICAgICBGUkVFIChjcy0+c3VmZml4KTsKICAgICAgIEZSRUUgKGNzLT5mdW5jbmFtZSk7CiAgICAgICBGUkVFIChjcy0+Y29tbWFuZCk7CisgICAgICBGUkVFIChjcy0+bGNvbW1hbmQpOwogICAgICAgRlJFRSAoY3MtPmZpbHRlcnBhdCk7CiAKICAgICAgIGZyZWUgKGNzKTsKQEAgLTEwNCw2ICsxMDYsNyBAQAogICBuZXctPnN1ZmZpeCA9IFNUUkRVUCAoY3MtPnN1ZmZpeCk7CiAgIG5ldy0+ZnVuY25hbWUgPSBTVFJEVVAgKGNzLT5mdW5jbmFtZSk7CiAgIG5ldy0+Y29tbWFuZCA9IFNUUkRVUCAoY3MtPmNvbW1hbmQpOworICBuZXctPmxjb21tYW5kID0gU1RSRFVQIChjcy0+bGNvbW1hbmQpOwogICBuZXctPmZpbHRlcnBhdCA9IFNUUkRVUCAoY3MtPmZpbHRlcnBhdCk7CiAKICAgcmV0dXJuIG5ldzsKZGlmZiAtLWdpdCBhL3BvL0xJTkdVQVMgYi9wby9MSU5HVUFTCmluZGV4IDlhYjY2ZjEuLjFkNDhkMDkgMTAwNjQ0Ci0tLSBhL3BvL0xJTkdVQVMKKysrIGIvcG8vTElOR1VBUwpAQCAtMSwyICsxLDIgQEAKICMgU2V0IG9mIGF2YWlsYWJsZSBsYW5ndWFnZXMuCi1lbkBxdW90IGVuQGJvbGRxdW90IGFmIGJnIGNhIGNzIGRlIGVvIGVzIGV0IGZpIGZyIGdhIGh1IGlkIGphIGx0IG5sIHBsIHB0X0JSIHJvIHJ1IHNrIHN2IHRyIHZpIHpoX1RXCitlbkBxdW90IGVuQGJvbGRxdW90IGFmIGJnIGNhIGNzIGRlIGVvIGVzIGV0IGZpIGZyIGdhIGh1IGlkIGphIGx0IG5sIHBsIHB0X0JSIHJvIHJ1IHNrIHN2IHRyIHVrIHZpIHpoX0NOIHpoX1RXCmRpZmYgLS1naXQgYS9wby9hZi5nbW8gYi9wby9hZi5nbW8KaW5kZXggYmY3ZDk1Ni4uMzM4Y2JkZCAxMDA2NDQKLS0tIGEvcG8vYWYuZ21vCisrKyBiL3BvL2FmLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9hZi5wbyBiL3BvL2FmLnBvCmluZGV4IDFhZTJhYTMuLmExNWU5ODcgMTAwNjQ0Ci0tLSBhL3BvL2FmLnBvCisrKyBiL3BvL2FmLnBvCkBAIC02LDcgKzYsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDIuMFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDQtMDMtMTcgMTM6NDgrMDIwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogUGV0cmkgSm9vc3RlIDxya3dqcGpAcHVrLmFjLnphPlxuIgogIkxhbmd1YWdlLVRlYW06IEFmcmlrYWFucyA8aTE4bkBhZi5vcmcuemE+XG4iCkBAIC0xOSw3ICsxOSw3IEBACiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAiT3MvMiBCaXNrYWFydCBTa2lra2luZyIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzksMjYgKzM5LDI2IEBACiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYmFzaGhpc3QuYzozODMKKyM6IGJhc2hoaXN0LmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGthbiBuaWUgJXMgc2tlcCBuaWUiCiAKLSM6IGJhc2hsaW5lLmM6MzQ1NworIzogYmFzaGxpbmUuYzozNDk4CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzU0MworIzogYmFzaGxpbmUuYzozNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNTcyCisjOiBiYXNobGluZS5jOjM2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzYwNgorIzogYmFzaGxpbmUuYzozNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiIgpAQCAtMTE4LDI2ICsxMTgsMTEgQEAKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQotbXNnaWQgIiIKLSIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKLSIgICAgIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Ci1tc2dpZCAiIgotIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgotIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCi0iICAgIFxuIgotIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCi0iICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyMzUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgogbXNnc3RyICIiCiAKQEAgLTE1NiwxMiArMTQxLDEyIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiAjLCBmdXp6eQogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAidGUgdmVlbCBwYXJhbWV0ZXJzIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKIG1zZ3N0ciAiJXM6IG9wdGlvbiBgJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCkBAIC0yMDEsNyArMTg2LDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgIkRpZSBzZWluIG5vbW1lciB3YXQgd2FzIGdldmFuZyBoZXQiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMzYyCiAjLCBmdXp6eQogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJEaWUgc2VpbiBub21tZXIgd2F0IHdhcyBnZXZhbmcgaGV0IgpAQCAtMzE2LDI1ICszMDEsMjUgQEAKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyMgorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTI0CiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY2CiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3OCBleGVjdXRlX2NtZC5jOjUxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogbGVlc2FsbGVlbi1mdW5rc2llIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiS2FuIG5pZSBzb2VrICduIGhhbmR0ZWtlbmluZyBpbiBoaWVyZGllIGJvb2Rza2FwISIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTM2MywyOSArMzQ4LDI5IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczoga2FuIG5pZSAlcyBza2VwIG5pZSIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAotIzogc2hlbGwuYzoxNDUyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNSBidWlsdGlucy9oYXNoLmRlZjoxNzEgZXhlY3V0ZV9jbWQuYzo0OTYxCisjOiBzaGVsbC5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogaXMgJ24gZ2lkcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlczoga2FuIG5pZSAnbiBiaW7qcmUgbOplciB1aXR2b2VyIG5pZSIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDcKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKLSM6IHNoZWxsLmM6MTQ2MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczoga2FuIG5pZSAnbiBiaW7qcmUgbOplciB1aXR2b2VyIG5pZSIKIAotIzogYnVpbHRpbnMvZXhlYy5kZWY6MjEyCisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGthbiBuaWUgJXMgc2tlcCBuaWUiCkBAIC00MTQsMTEgKzM5OSwxMSBAQAogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgIiVzOiBiZXZlbCBuaWUgZ2V2aW5kIG5pZSIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM0OQorIzogYnVpbHRpbnMvZmMuZGVmOjMxMiBidWlsdGlucy9mYy5kZWY6MzU5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczoga2FuIG5pZSAlcyBza2VwIG5pZSIKQEAgLTQ1MSw3ICs0MzYsNyBAQAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0CisjOiBidWlsdGlucy9oYXNoLmRlZjoyNDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKIG1zZ3N0ciAiQmV2ZWxyZetsIgpAQCAtNTA4LDc5ICs0OTMsODkgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAorIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjEKICMsIGZ1enp5CiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiT25iZWtlbmRlIGZvdXQgJWQiCiAKLSM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjUwMSBleHByLmM6NTE2CisjOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1NTIgZXhwci5jOjU2NwogIywgZnV6enkKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJCb29scyB1aXRkcnVra2luZyB2ZXJ3YWciCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTcyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIlZlcmFuZGVybGlrZSBib29tIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTYgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NCBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzMgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzExCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzAxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICJEaWUgc2VpbiBub21tZXIgd2F0IHdhcyBnZXZhbmcgaGV0IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogIywgZnV6enkKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICJWZXJhbmRlcmxpa2UgYm9vbSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NDAKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6MTk1CiAjLCBmdXp6eQogbXNnaWQgIm5vIG90aGVyIGRpcmVjdG9yeSIKQEAgLTY4NCwyMSArNjc5LDIxIEBACiBtc2dpZCAiY2FuIG9ubHkgYHJldHVybicgZnJvbSBhIGZ1bmN0aW9uIG9yIHNvdXJjZWQgc2NyaXB0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQogbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1CisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiJXM6IGthbiBuaWUgJXMgc2tlcCBuaWUiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODEyCisjOiBidWlsdGlucy9zZXQuZGVmOjgxNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgJXMiCiBtc2dzdHIgIiVzOiBrYW4gbmllICVzIHNrZXAgbmllIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgyMworIzogYnVpbHRpbnMvc2V0LmRlZjo4MjYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCiBtc2dzdHIgIlZlcmFuZGVybGlrZSBib29tIgpAQCAtNzEzLDIwICs3MDgsMjAgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAiU2hpZnQiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBiZXZlbCBuaWUgZ2V2aW5kIG5pZSIKQEAgLTc3MCwyNyArNzY1LDI3IEBACiBtc2dpZCAiJXMgaXMgaGFzaGVkICglcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozOTgKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDAyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKIG1zZ3N0ciAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDI3CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQzMQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBnZXQgbGltaXQ6ICVzIgogbXNnc3RyICIlczoga2FuIG5pZSAlcyBza2VwIG5pZSIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiAjLCBmdXp6eQogbXNnaWQgImxpbWl0IgogbXNnc3RyICJGaWx0ZXIgYmVwZXJrOiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBrYW4gbmllICVzIHNrZXAgbmllIgpAQCAtODUxLDExNCArODQ2LDExOSBAQAogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTcKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTYyCisjOiBleGVjdXRlX2NtZC5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjA3NQorIzogZXhlY3V0ZV9jbWQuYzoyMTIxCiAjLCBmdXp6eQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgInB5cGZvdXQ6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0ODEKKyM6IGV4ZWN1dGVfY21kLmM6NDY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NTcyCisjOiBleGVjdXRlX2NtZC5jOjQ3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogYmV2ZWwgbmllIGdldmluZCBuaWUiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogaXMgJ24gZ2lkcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTc2CisjOiBleGVjdXRlX2NtZC5jOjUxNDQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgImthbiBuaWUgZmQgJWQgbmEgZmQgMCBkdXBsaXNlZXIgbmllOiAlcyIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoyNjUKKyM6IGV4cHIuYzoyODAKICMsIGZ1enp5CiBtc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAiU3RhcGVsIGdyb290dGUgdmVyaG9vZyIKIAotIzogZXhwci5jOjM3OQorIzogZXhwci5jOjQyMgogIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKIG1zZ3N0ciAiU2ludGFrcyBmb3V0IGluIHBhdHJvb24iCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjQ0MCBleHByLmM6NDQ1IGV4cHIuYzo3NTYKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3CiAjLCBmdXp6eQogbXNnaWQgImRpdmlzaW9uIGJ5IDAiCiBtc2dzdHIgImRldmlzaWUgYnkgbnVsLiIKIAotIzogZXhwci5jOjQ3MQorIzogZXhwci5jOjUxNwogbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6NTEzCisjOiBleHByLmM6NTY0CiAjLCBmdXp6eQogbXNnaWQgImA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiU29layBkaWUgbOplciB2aXIgJ24gdWl0ZHJ1a2tpbmciCiAKLSM6IGV4cHIuYzo3ODEKKyM6IGV4cHIuYzo4MzIKIG1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogIywgZnV6enkKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAiT250YnJla2VuZGUgJz4nIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CisjOiBleHByLmM6OTU5IGV4cHIuYzoxMjgyCiAjLCBmdXp6eQogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAiT252ZXJ3YWd0ZSBlaW5kZSB2YW4gbOplciB0eWRlbnMgaW5sZWVzIHZhbiBodWxwYnJvbi4iCiAKLSM6IGV4cHIuYzoxMTc4CisjOiBleHByLmM6MTI4NAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjAyCisjOiBleHByLmM6MTMwOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiIgogIkhpZXJkaWUgaXMgZGllIGZvdXQgYm9vZHNrYXAgdmFuICUxOlxuIgogIiUyIgogCi0jOiBleHByLmM6MTI2MAorIzogZXhwci5jOjEzNjYKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI4MAorIzogZXhwci5jOjEzODYKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgIndhYXJkZSB0ZSBncm9vdCB2aXIgYmFzaXMiCiAKLSM6IGV4cHIuYzoxMzI5CisjOiBleHByLmM6MTQzNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IGhlZWxnZXRhbC11aXRkcnVra2luZyBpcyB2ZXJ3YWdcbiIKQEAgLTk2OCwxNjcgKzk2OCwxNjcgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJLYW4gbmllIGRpZSBwcm9ncmFtIHVpdHZvZXIgbmllOiIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAia2FuIG5pZSBmZCAlZCBuYSBmZCAwIGR1cGxpc2VlciBuaWU6ICVzIgogCi0jOiBpbnB1dC5jOjI1OAorIzogaW5wdXQuYzoyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBpbnB1dC5jOjI2NgorIzogaW5wdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2F2ZV9iYXNoX2lucHV0OiBidWZmZXIgYWxyZWFkeSBleGlzdHMgZm9yIG5ldyBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6NDY2CisjOiBqb2JzLmM6NDY4CiBtc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6ODg3CisjOiBqb2JzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTAwNQorIzogam9icy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTExMAorIzogam9icy5jOjExMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTExMworIzogam9icy5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDAxCisjOiBqb2JzLmM6MTQzMAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkIgogbXNnc3RyICJFMTA4OiBHZWVuIHZlcmFuZGVybGlrZTogXCIlc1wiIgogCi0jOiBqb2JzLmM6MTQxNgorIzogam9icy5jOjE0NDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKIG1zZ3N0ciAiU2VpbiBrd2FsaXRlaXQ6IgogCi0jOiBqb2JzLmM6MTQzMCBqb2JzLmM6MTQ1NQorIzogam9icy5jOjE0NTkgam9icy5jOjE0ODQKIG1zZ2lkICJEb25lIgogbXNnc3RyICJLbGFhciIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMworIzogam9icy5jOjE0NjQgc2lnbGlzdC5jOjEyMwogIywgZnV6enkKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJPcCBnZWhvdSIKIAotIzogam9icy5jOjE0MzkKKyM6IGpvYnMuYzoxNDY4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKIG1zZ3N0ciAiT3AgZ2Vob3UiCiAKLSM6IGpvYnMuYzoxNDQzCisjOiBqb2JzLmM6MTQ3MgogIywgZnV6enkKIG1zZ2lkICJSdW5uaW5nIgogbXNnc3RyICJha3RpZWYiCiAKLSM6IGpvYnMuYzoxNDU3CisjOiBqb2JzLmM6MTQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb25lKCVkKSIKIG1zZ3N0ciAiS2xhYXIoJWQpIgogCi0jOiBqb2JzLmM6MTQ1OQorIzogam9icy5jOjE0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhpdCAlZCIKIG1zZ3N0ciAiVmVybGFhdCAlZCIKIAotIzogam9icy5jOjE0NjIKKyM6IGpvYnMuYzoxNDkxCiBtc2dpZCAiVW5rbm93biBzdGF0dXMiCiBtc2dzdHIgIk9uYmVrZW5kZSBzdGF0dXMiCiAKLSM6IGpvYnMuYzoxNTQ5CisjOiBqb2JzLmM6MTU3OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiKGNvcmUgZHVtcGVkKSAiCiBtc2dzdHIgIktlcm4gT250d2lra2VsYWFyIgogCi0jOiBqb2JzLmM6MTU2OAorIzogam9icy5jOjE1OTcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIkFrdGl2ZWVyIG5vdSBkYWRlbGlrIgogCi0jOiBqb2JzLmM6MTc3NgorIzogam9icy5jOjE4MDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICJGb3V0IGluIGRpZSBza3J5ZiB2YW4gJXMiCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjMzMQorIzogam9icy5jOjIzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjYwNworIzogam9icy5jOjI2MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4NTkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIkRpZSBiZWRpZW5lciBiZetpbmRpZyBEaWUgdmVyYmluZGluZy4iCiAKLSM6IGpvYnMuYzoyODM4CisjOiBqb2JzLmM6Mjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzA1OQorIzogam9icy5jOjMwODkKIG1zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1MDgKKyM6IGpvYnMuYzozNTM4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIzZCBtb2R1cyIKIAotIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICJLZXJuIE9udHdpa2tlbGFhciIKIAotIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKKyM6IGpvYnMuYzozNTY0IGpvYnMuYzozNTc3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiQWt0aXZlZXIgbm91IGRhZGVsaWsiCiAKLSM6IGpvYnMuYzozNTc5CisjOiBqb2JzLmM6MzYwOQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiSW5pc2lhbGlzZXJpbmcgdmFuIE9wZW5HTCBoZXQgbWlzbHVrLiIKIAotIzogam9icy5jOjM2MzkKKyM6IGpvYnMuYzozNjY5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjQ5CisjOiBqb2JzLmM6MzY3OQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICJJbmlzaWFsaXNlcmluZyB2YW4gT3BlbkdMIGhldCBtaXNsdWsuIgogCi0jOiBqb2JzLmM6MzY3NworIzogam9icy5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2ODIKKyM6IGpvYnMuYzozNzEyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAiZ2VlbiB0YWFrYmVoZWVyIGluIGhpZXJkaWUgZG9wIG5pZSIKIApAQCAtMTI4NCwxMDMgKzEyODQsMTAzIEBACiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQorIzogcGFyc2UueTozMTczIHBhcnNlLnk6MzQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzk1MQorIzogcGFyc2UueTo0MDI1CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5NTYKKyM6IHBhcnNlLnk6NDAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzk2MAorIzogcGFyc2UueTo0MDM0CiAjLCBmdXp6eQogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJTaW50YWtzIGZvdXQgaW4gcGF0cm9vbiIKIAotIzogcGFyc2UueTo0MDM4CisjOiBwYXJzZS55OjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MDQyCisjOiBwYXJzZS55OjQxMTYKICMsIGZ1enp5CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICInKScgaXMgdmVyd2FnXG4iCiAKLSM6IHBhcnNlLnk6NDA3MAorIzogcGFyc2UueTo0MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQwNzQKKyM6IHBhcnNlLnk6NDE0OAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTIwCisjOiBwYXJzZS55OjQxOTQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogYmlu6nJlIG9wZXJhdG9yIGlzIHZlcndhZ1xuIgogCi0jOiBwYXJzZS55OjQxMjQKKyM6IHBhcnNlLnk6NDE5OAogIywgZnV6enkKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBiaW7qcmUgb3BlcmF0b3IgaXMgdmVyd2FnXG4iCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTUwCisjOiBwYXJzZS55OjQyMjQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNjEKKyM6IHBhcnNlLnk6NDIzNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIlNvZWsgZGllIGzqZXIgdmlyICduIHVpdGRydWtraW5nIgogCi0jOiBwYXJzZS55OjQxNjQKKyM6IHBhcnNlLnk6NDIzOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIlNvZWsgZGllIGzqZXIgdmlyICduIHVpdGRydWtraW5nIgogCi0jOiBwYXJzZS55OjQxNjgKKyM6IHBhcnNlLnk6NDI0MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJTb2VrIGRpZSBs6mVyIHZpciAnbiB1aXRkcnVra2luZyIKIAotIzogcGFyc2UueTo1NDU5CisjOiBwYXJzZS55OjU1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTQ3NworIzogcGFyc2UueTo1NTg0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICJTaW50YWtzIGZvdXQgaW4gcGF0cm9vbiIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJPbnZlcndhZ3RlIGVpbmRlIHZhbiBs6mVyIHR5ZGVucyBpbmxlZXMgdmFuIGh1bHBicm9uLiIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgInNpbnRha3Nmb3V0IgogCi0jOiBwYXJzZS55OjU1NDkKKyM6IHBhcnNlLnk6NTY1NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIkdlYnJ1aWsgS2FhcnQgbmEgTG9zIFRyb25rIgogCi0jOiBwYXJzZS55OjU3MTEKKyM6IHBhcnNlLnk6NTgxOAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAiIgogCkBAIC0xMzg5LDc4ICsxMzg5LDc4IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgIiIKIAotIzogcGNvbXBsaWIuYzoxNzkKKyM6IHBjb21wbGliLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MjkwCisjOiBwcmludF9jbWQuYzoyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjM2MworIzogcHJpbnRfY21kLmM6MzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzozNjgKKyM6IHByaW50X2NtZC5jOjM3MwogbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6Mzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoxNDYxCisjOiBwcmludF9jbWQuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjExMAorIzogcmVkaXIuYzoxMjIKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTY2CisjOiByZWRpci5jOjE3OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IGR1YmJlbHNpbm5pZ2UgaGVycm9ldGVyaW5nIgogCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIkp5IGhldCBnZXNwZXNpZmlzZWVyICduIGJlc3RhYW5kZSBs6mVyIgogCi0jOiByZWRpci5jOjE3NQorIzogcmVkaXIuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE4NAorIzogcmVkaXIuYzoxOTYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgogbXNnc3RyICJLYW4gbmllIHNvZWsgJ24gaGFuZHRla2VuaW5nIGluIGhpZXJkaWUgYm9vZHNrYXAhIgogCi0jOiByZWRpci5jOjU0NAorIzogcmVkaXIuYzo1NDgKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMTAxCisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKICMsIGZ1enp5CiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgIlB5cGZvdXQuXG4iCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MzM2CisjOiBzaGVsbC5jOjMzNwogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIiCiAKQEAgLTE0NjksNTkgKzE0NjksNTkgQEAKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCiAKLSM6IHNoZWxsLmM6MTY1MQorIzogc2hlbGwuYzoxNjUyCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICJFayBoZXQgbmllICduIG5hYW0gbmllISIKIAotIzogc2hlbGwuYzoxNzkzCisjOiBzaGVsbC5jOjE3OTUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIG1zZ3N0ciAiYmVkcnlmc3RlbHNlbGtlcm53ZWVyZ2F3ZSIKIAotIzogc2hlbGwuYzoxNzk0CisjOiBzaGVsbC5jOjE3OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCiAiXHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSBzY3JpcHQtZmlsZSAuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE3OTYKKyM6IHNoZWxsLmM6MTc5OAogIywgZnV6enkKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJHbnUgQyBTYWFtc3RlbGxlciBPcHNpZXMiCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiAjLCBmdXp6eQogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIm9wbmVlbSBvcHNpZXMiCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODAzCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTgxNgorIzogc2hlbGwuYzoxODE4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiIgogIkdlYnJ1aWsgc286ICVzIEzKRVIgXG4iCiAiICAgb2Y6ICAlcyBPUFNJRVxuIgogCi0jOiBzaGVsbC5jOjE4MjIKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxODIzCisjOiBzaGVsbC5jOjE4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE4MjQKKyM6IHNoZWxsLmM6MTgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNpZy5jOjYyNgorIzogc2lnLmM6NjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgIiIKQEAgLTE3MjcsODcgKzE3MjcsODcgQEAKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIlNlaW4ga3dhbGl0ZWl0OiIKIAotIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICItLUdlZW4gcmXrbHMgaW4gYnVmZmVyLS0iCiAKLSM6IHN1YnN0LmM6MjczNQorIzogc3Vic3QuYzoyNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKKyM6IHN1YnN0LmM6NDk3OSBzdWJzdC5jOjQ5OTUKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIldvb3JkIFN1YnN0aXR1c2llIgogCi0jOiBzdWJzdC5jOjQ4MDIKKyM6IHN1YnN0LmM6NTAyNwogIywgZnV6enkKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIldvb3JkIFN1YnN0aXR1c2llIgogCi0jOiBzdWJzdC5jOjQ4NDcKKyM6IHN1YnN0LmM6NTA3MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiS2FuIG5pZSBvb3BtYWFrIHZpciBza3JpcC1hZnZvZXIgbmllOiBcIiIKIAotIzogc3Vic3QuYzo0ODQ5CisjOiBzdWJzdC5jOjUwNzQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIkthbiBuaWUgb29wbWFhayB2aXIgc2tyaXAtYWZ2b2VyIG5pZTogXCIiCiAKLSM6IHN1YnN0LmM6NDg2NworIzogc3Vic3QuYzo1MDkyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIkthbiBuaWUgb29wbWFhayB2aXIgc2tyaXAtYWZ2b2VyIG5pZTogXCIiCiAKLSM6IHN1YnN0LmM6NTA2MworIzogc3Vic3QuYzo1Mjg0CiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJXb29yZCBTdWJzdGl0dXNpZSIKIAotIzogc3Vic3QuYzo1MDk3CisjOiBzdWJzdC5jOjUzMjIKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJXb29yZCBTdWJzdGl0dXNpZSIKIAotIzogc3Vic3QuYzo1MTE0CisjOiBzdWJzdC5jOjUzMzkKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTYxNworIzogc3Vic3QuYzo1ODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTkwNworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAib25nZWxkaWdlIHVpdGRydWtraW5nIgogCi0jOiBzdWJzdC5jOjY5NjUKKyM6IHN1YnN0LmM6NzI3MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIldvb3JkIFN1YnN0aXR1c2llIgogCi0jOiBzdWJzdC5jOjcwNDUKKyM6IHN1YnN0LmM6NzM0NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICJLYW4gbmllIHNvZWsgJ24gaGFuZHRla2VuaW5nIGluIGhpZXJkaWUgYm9vZHNrYXAhIgogCi0jOiBzdWJzdC5jOjczNzQKKyM6IHN1YnN0LmM6NzY4NAogbXNnaWQgIiIKICJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKICJzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo3ODM5CisjOiBzdWJzdC5jOjgxNDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgIi0tR2VlbiByZetscyBpbiBidWZmZXItLSIKIAotIzogc3Vic3QuYzo4NzIwCisjOiBzdWJzdC5jOjkwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICIiCkBAIC0xODMyLDM4ICsxODMyLDM4IEBACiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAiJyknIGlzIHZlcndhZywgbWFhciAlcyBnZXZpbmRcbiIKIAotIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiB1bml06nJlIG9wZXJhdG9yIGlzIHZlcndhZ1xuIgogCi0jOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IGJpbupyZSBvcGVyYXRvciBpcyB2ZXJ3YWdcbiIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogIywgZnV6enkKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAiT250YnJla2VuZGUgJz4nIgogCi0jOiB0cmFwLmM6MjAzCisjOiB0cmFwLmM6MjA3CiAjLCBmdXp6eQogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAiRGllIHNlaW4gbm9tbWVyIHdhdCB3YXMgZ2V2YW5nIGhldCIKIAotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgIiIKIAotIzogdHJhcC5jOjM4MAorIzogdHJhcC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgIiIKQEAgLTE4NzMsNTggKzE4NzMsNTggQEAKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzo3NDgKKyM6IHZhcmlhYmxlcy5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzoxOTE1CisjOiB2YXJpYWJsZXMuYzoxOTMyCiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMxNTkKKyM6IHZhcmlhYmxlcy5jOjMxODIKIG1zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM3NgorIzogdmFyaWFibGVzLmM6MzQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCisjOiB2YXJpYWJsZXMuYzozNDMyIHZhcmlhYmxlcy5jOjM0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzk2CisjOiB2YXJpYWJsZXMuYzozNDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4MzUKKyM6IHZhcmlhYmxlcy5jOjM4OTEKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6Mzg0OAorIzogdmFyaWFibGVzLmM6MzkwNAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4CisjOiB2YXJpYWJsZXMuYzo0Nzg2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCiBtc2dzdHIgIiVzOiBrYW4gbmllICVzIHNrZXAgbmllIgogCi0jOiB2YXJpYWJsZXMuYzo0NjgzCisjOiB2YXJpYWJsZXMuYzo0NzkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgogbXNnc3RyICIiCiAKICM6IHZlcnNpb24uYzo0NgotbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiIgogCiAjOiB2ZXJzaW9uLmM6NDcKQEAgLTIwMTgsNyArMjAxOCw3IEBACiAKICM6IGJ1aWx0aW5zLmM6NjQKICMsIGZ1enp5Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKK21zZ2lkICJjZCBbLUx8Wy1QIFstZV1dXSBbZGlyXSIKIG1zZ3N0ciAiaW5pdF9jYWNoZV9kaXIgJXMuLi4gIgogCiAjOiBidWlsdGlucy5jOjY2CkBAIC0yMDQ1LDEyICsyMDQ1LDEyIEBACiAKICM6IGJ1aWx0aW5zLmM6NzYKICMsIGZ1enp5Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCiBtc2dzdHIgIkU0MTg6IE9uZ2VsZGlnZSB3YWFyZGU6ICVzIgogCiAjOiBidWlsdGlucy5jOjc4CiAjLCBmdXp6eQotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCittc2dpZCAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCiBtc2dzdHIgIkU0MTg6IE9uZ2VsZGlnZSB3YWFyZGU6ICVzIgogCiAjOiBidWlsdGlucy5jOjgwCkBAIC0yMTU4LDcgKzIxNTgsNyBAQAogCiAjOiBidWlsdGlucy5jOjE0MAogIywgZnV6enkKLW1zZ2lkICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dIgorbXNnaWQgInNldCBbLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFstLV0gW2FyZyAuLi5dIgogbXNnc3RyICJHZWJydWlrIHNvOiAlcyBbT1BTSUVdLi4uIFstXSBbR0VCUlVJS0VSIFtBUkddLi4uXVxuIgogCiAjOiBidWlsdGlucy5jOjE0MgpAQCAtMjE3Myw3ICsyMTczLDcgQEAKIAogIzogYnVpbHRpbnMuYzoxNDYKICMsIGZ1enp5Ci1tc2dpZCAicmVhZG9ubHkgWy1hZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgorbXNnaWQgInJlYWRvbmx5IFstYUFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCiBtc2dzdHIgIkJlZGllbmVyIG9mIGRvbWVpbiBuYWFtOiIKIAogIzogYnVpbHRpbnMuYzoxNDgKQEAgLTI1MDcsMTQgKzI1MDcsMTggQEAKICIgICAgICAgIC1MXHRmb3JjZSBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZFxuIgogIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgogIiAgICBcdGxpbmtzXG4iCisiICAgICAgICAtZVx0aWYgdGhlIC1QIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iCisiICAgIFx0Y2Fubm90IGJlIGRldGVybWluZWQgc3VjY2Vzc2Z1bGx5LCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXNcbiIKICIgICAgXG4iCiAiICAgIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkOyBub24temVybyBvdGhlcndpc2UuIgorIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5ICIKKyJ3aGVuXG4iCisiICAgIC1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0MTEKKyM6IGJ1aWx0aW5zLmM6NDE0CiBtc2dpZCAiIgogIlByaW50IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI1MzAsNyArMjUzNCw3IEBACiAiICAgIGNhbm5vdCBiZSByZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQyOAorIzogYnVpbHRpbnMuYzo0MzEKIG1zZ2lkICIiCiAiTnVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI1NDAsNyArMjU0NCw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0MzkKKyM6IGJ1aWx0aW5zLmM6NDQyCiBtc2dpZCAiIgogIlJldHVybiBhIHN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI1NDgsNyArMjU1Miw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0NDgKKyM6IGJ1aWx0aW5zLmM6NDUxCiBtc2dpZCAiIgogIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI1NTYsNyArMjU2MCw3IEBACiAiICAgIEFsd2F5cyBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0NTcKKyM6IGJ1aWx0aW5zLmM6NDYwCiBtc2dpZCAiIgogIkV4ZWN1dGUgYSBzaW1wbGUgY29tbWFuZCBvciBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTI1NzUsNyArMjU3OSw3IEBACiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgQ09NTUFORCwgb3IgZmFpbHVyZSBpZiBDT01NQU5EIGlzIG5vdCBmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0NzYKKyM6IGJ1aWx0aW5zLmM6NDc5CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgpAQCAtMjU4Niw2ICsyNTkwLDggQEAKICIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCiAiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKICIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKICIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgpAQCAtMjYwNSwyMCArMjYxMSwyMCBAQAogIiAgICBcbiIKICIgICAgV2hlbiB1c2VkIGluIGEgZnVuY3Rpb24sIGBkZWNsYXJlJyBtYWtlcyBOQU1FcyBsb2NhbCwgYXMgd2l0aCB0aGUgIgogImBsb2NhbCdcbiIKLSIgICAgY29tbWFuZC5cbiIKKyIgICAgY29tbWFuZC4gIFRoZSBgLWcnIG9wdGlvbiBzdXBwcmVzc2VzIHRoaXMgYmVoYXZpb3IuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTEyCisjOiBidWlsdGlucy5jOjUxNwogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKICIgICAgT2Jzb2xldGUuICBTZWUgYGhlbHAgZGVjbGFyZScuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTIwCisjOiBidWlsdGlucy5jOjUyNQogbXNnaWQgIiIKICJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI2MzMsNyArMjYzOSw3IEBACiAiICAgIG9yIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTM3CisjOiBidWlsdGlucy5jOjU0MgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yNjY0LDcgKzI2NzAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjU3MQorIzogYnVpbHRpbnMuYzo1NzYKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjY3Nyw3ICsyNjgzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1ODYKKyM6IGJ1aWx0aW5zLmM6NTkxCiBtc2dpZCAiIgogIkVuYWJsZSBhbmQgZGlzYWJsZSBzaGVsbCBidWlsdGlucy5cbiIKICIgICAgXG4iCkBAIC0yNzA0LDcgKzI3MTAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGEgc2hlbGwgYnVpbHRpbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NjE0CisjOiBidWlsdGlucy5jOjYxOQogbXNnaWQgIiIKICJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjcxNiw3ICsyNzIyLDcgQEAKICIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBjb21tYW5kIG9yIHN1Y2Nlc3MgaWYgY29tbWFuZCBpcyBudWxsLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjYyNgorIzogYnVpbHRpbnMuYzo2MzEKIG1zZ2lkICIiCiAiUGFyc2Ugb3B0aW9uIGFyZ3VtZW50cy5cbiIKICIgICAgXG4iCkBAIC0yNzU3LDcgKzI3NjMsNyBAQAogIiAgICBlbmNvdW50ZXJlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NjY4CisjOiBidWlsdGlucy5jOjY3MwogbXNnaWQgIiIKICJSZXBsYWNlIHRoZSBzaGVsbCB3aXRoIHRoZSBnaXZlbiBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI3ODAsNyArMjc4Niw3IEBACiAib2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjY4OQorIzogYnVpbHRpbnMuYzo2OTQKIG1zZ2lkICIiCiAiRXhpdCB0aGUgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMjc4OCw3ICsyNzk0LDcgQEAKICIgICAgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjY5OAorIzogYnVpbHRpbnMuYzo3MDMKIG1zZ2lkICIiCiAiRXhpdCBhIGxvZ2luIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI3OTcsNyArMjgwMyw3IEBACiAiICAgIGluIGEgbG9naW4gc2hlbGwuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzA4CisjOiBidWlsdGlucy5jOjcxMwogbXNnaWQgIiIKICJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTI4MjcsNyArMjgzMyw3IEBACiAib2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjczOAorIzogYnVpbHRpbnMuYzo3NDMKIG1zZ2lkICIiCiAiTW92ZSBqb2IgdG8gdGhlIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMjgzOSw3ICsyODQ1LDcgQEAKICIgICAgU3RhdHVzIG9mIGNvbW1hbmQgcGxhY2VkIGluIGZvcmVncm91bmQsIG9yIGZhaWx1cmUgaWYgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjc1MworIzogYnVpbHRpbnMuYzo3NTgKIG1zZ2lkICIiCiAiTW92ZSBqb2JzIHRvIHRoZSBiYWNrZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTI4NTMsNyArMjg1OSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjc2NworIzogYnVpbHRpbnMuYzo3NzIKIG1zZ2lkICIiCiAiUmVtZW1iZXIgb3IgZGlzcGxheSBwcm9ncmFtIGxvY2F0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0yODc3LDcgKzI4ODMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjc5MgorIzogYnVpbHRpbnMuYzo3OTcKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTI4OTksNyArMjkwNSw3IEBACiAiZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODE2CisjOiBidWlsdGlucy5jOjgyMQogbXNnaWQgIiIKICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0yOTMzLDcgKzI5MzksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4NTIKKyM6IGJ1aWx0aW5zLmM6ODU3CiBtc2dpZCAiIgogIkRpc3BsYXkgc3RhdHVzIG9mIGpvYnMuXG4iCiAiICAgIFxuIgpAQCAtMjk1Nyw3ICsyOTYzLDcgQEAKICIgICAgSWYgLXggaXMgdXNlZCwgcmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4NzkKKyM6IGJ1aWx0aW5zLmM6ODg0CiBtc2dpZCAiIgogIlJlbW92ZSBqb2JzIGZyb20gY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0yOTc0LDcgKzI5ODAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yIEpPQlNQRUMgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODk4CisjOiBidWlsdGlucy5jOjkwMwogbXNnaWQgIiIKICJTZW5kIGEgc2lnbmFsIHRvIGEgam9iLlxuIgogIiAgICBcbiIKQEAgLTI5OTYsNyArMzAwMiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjkyMQorIzogYnVpbHRpbnMuYzo5MjYKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMDM4LDEwICszMDQ0LDEwIEBACiAiICAgIHJ1bGVzIGFib3ZlLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuLiIKKyIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo5NjYKKyM6IGJ1aWx0aW5zLmM6OTcxCiBtc2dpZCAiIgogIlJlYWQgYSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGFuZCBzcGxpdCBpdCBpbnRvIGZpZWxkcy5cbiIKICIgICAgXG4iCkBAIC0zMDg5LDcgKzMwOTUsNyBAQAogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAwOQorIzogYnVpbHRpbnMuYzoxMDE0CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzEwMSw3ICszMTA3LDcgQEAKICIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMjIKKyM6IGJ1aWx0aW5zLmM6MTAyNwogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMTcwLDYgKzMxNzYsOSBAQAogIiAgICAgIC1QICBJZiBzZXQsIGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3Mgd2hlbiBleGVjdXRpbmcgY29tbWFuZHNcbiIKICIgICAgICAgICAgc3VjaCBhcyBjZCB3aGljaCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgogIiAgICAgIC1UICBJZiBzZXQsIHRoZSBERUJVRyB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLS0gIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgorIiAgICAgICAgICBJZiB0aGVyZSBhcmUgbm8gcmVtYWluaW5nIGFyZ3VtZW50cywgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICAgICAgICBhcmUgdW5zZXQuXG4iCiAiICAgICAgLSAgIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICAgICAgICBUaGUgLXggYW5kIC12IG9wdGlvbnMgYXJlIHR1cm5lZCBvZmYuXG4iCiAiICAgIFxuIgpAQCAtMzE4Myw3ICszMTkyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTA0CisjOiBidWlsdGlucy5jOjExMTIKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTMyMDMsNyArMzIxMiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTI0CisjOiBidWlsdGlucy5jOjExMzIKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zMjIyLDcgKzMyMzEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTQzCisjOiBidWlsdGlucy5jOjExNTEKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTMyNDIsNyArMzI1MSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNjQKKyM6IGJ1aWx0aW5zLmM6MTE3MgogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzI1Myw3ICszMjYyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOIGlzIG5lZ2F0aXZlIG9yIGdyZWF0ZXIgdGhhbiAkIy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQorIzogYnVpbHRpbnMuYzoxMTg0IGJ1aWx0aW5zLmM6MTE5OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMyNjcsNyArMzI3Niw3IEBACiAiICAgIEZJTEVOQU1FIGNhbm5vdCBiZSByZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMDcKKyM6IGJ1aWx0aW5zLmM6MTIxNQogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMjgxLDE0ICszMjkwLDE3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMjMKKyM6IGJ1aWx0aW5zLmM6MTIzMQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKICIgICAgRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlKSBvciAxIChmYWxzZSkgZGVwZW5kaW5nIG9uXG4iCiAiICAgIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnlcbiIKICIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCi0iICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFzIHdlbGwsIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgogIiAgICBcbiIKICIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgpAQCAtMzM0Miw2ICszMzU0LDcgQEAKICIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKICIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgogIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKICIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgogIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCkBAIC0zMzU4LDcgKzMzNzEsNyBAQAogIiAgICBmYWxzZSBvciBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyOTkKKyM6IGJ1aWx0aW5zLmM6MTMxMQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTMzNjYsNyArMzM3OSw3IEBACiAiICAgIGJlIGEgbGl0ZXJhbCBgXScsIHRvIG1hdGNoIHRoZSBvcGVuaW5nIGBbJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzA4CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTMzNzgsNyArMzM5MSw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzIwCisjOiBidWlsdGlucy5jOjEzMzIKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzM5NCw3ICszNDA3LDE1IEBACiAiICAgIFxuIgogIiAgICBJZiBhIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20gdGhlIHNoZWxsLiAgIgogIklmXG4iCi0iICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuICAiCisiSWZcbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBSRVRVUk4sIEFSRyBpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciAiCisiYVxuIgorIiAgICBzY3JpcHQgcnVuIGJ5IHRoZSAuIG9yIHNvdXJjZSBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuICBBICIKKyJTSUdOQUxfU1BFQ1xuIgorIiAgICBvZiBFUlIgbWVhbnMgdG8gZXhlY3V0ZSBBUkcgZWFjaCB0aW1lIGEgY29tbWFuZCdzIGZhaWx1cmUgd291bGQgY2F1c2UgIgorInRoZVxuIgorIiAgICBzaGVsbCB0byBleGl0IHdoZW4gdGhlIC1lIG9wdGlvbiBpcyBlbmFibGVkLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCwgdHJhcCBwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgIgogImFzc29jaWF0ZWRcbiIKQEAgLTM0MTQsNyArMzQzNSw3IEBACiAiZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM1MgorIzogYnVpbHRpbnMuYzoxMzY4CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTM0NDQsNyArMzQ2NSw3IEBACiAiZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MworIzogYnVpbHRpbnMuYzoxMzk5CiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtMzQ4OCw3ICszNTA5LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQyOAorIzogYnVpbHRpbnMuYzoxNDQ0CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTM1MDYsNyArMzUyNyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NDgKKyM6IGJ1aWx0aW5zLmM6MTQ2NAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM1MjMsNyArMzU0NCw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NjYKKyM6IGJ1aWx0aW5zLmM6MTQ4MgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zNTM3LDcgKzM1NTgsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDgxCisjOiBidWlsdGlucy5jOjE0OTcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTM1NTAsNyArMzU3MSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0OTUKKyM6IGJ1aWx0aW5zLmM6MTUxMQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTM1NjcsNyArMzU4OCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MTMKKyM6IGJ1aWx0aW5zLmM6MTUyOQogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzU4Nyw3ICszNjA4LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUzNAorIzogYnVpbHRpbnMuYzoxNTUwCiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2MDMsNyArMzYyNCw3IEBACiAiICAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSByZXR1cm4gc3RhdHVzIG9mIFBJUEVMSU5FLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NTEKKyM6IGJ1aWx0aW5zLmM6MTU2NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCiAiICAgIFxuIgpAQCAtMzYxNCw3ICszNjM1LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MworIzogYnVpbHRpbnMuYzoxNTc5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtMzYzNSw3ICszNjU2LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU4MAorIzogYnVpbHRpbnMuYzoxNTk2CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtMzY0Niw3ICszNjY3LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU5MgorIzogYnVpbHRpbnMuYzoxNjA4CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKICIgICAgXG4iCkBAIC0zNjU3LDcgKzM2NzgsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjA0CisjOiBidWlsdGlucy5jOjE2MjAKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtMzY3MCw3ICszNjkxLDcgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjE4CisjOiBidWlsdGlucy5jOjE2MzQKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2ODQsNyArMzcwNSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCisjOiBidWlsdGlucy5jOjE2NDgKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTM2OTUsNyArMzcxNiw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NDQKKyM6IGJ1aWx0aW5zLmM6MTY2MAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzcwOSw3ICszNzMwLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSByZXN1bWVkIGpvYi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjU5CisjOiBidWlsdGlucy5jOjE2NzUKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTM3MjAsNyArMzc0MSw3IEBACiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NzEKKyM6IGJ1aWx0aW5zLmM6MTY4NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzc0OCw3ICszNzY5LDcgQEAKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2OTcKKyM6IGJ1aWx0aW5zLmM6MTcxMwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTM4MDIsNyArMzgyMyw3IEBACiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3NTQKKyM6IGJ1aWx0aW5zLmM6MTc3MAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzgzMyw3ICszODU0LDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3ODgKKyM6IGJ1aWx0aW5zLmM6MTgwNAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zODYwLDcgKzM4ODEsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTgxOAorIzogYnVpbHRpbnMuYzoxODM0CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM4ODksNyArMzkxMCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NDcKKyM6IGJ1aWx0aW5zLmM6MTg2MwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzkxMCw3ICszOTMxLDcgQEAKICIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODY4CisjOiBidWlsdGlucy5jOjE4ODQKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtMzkzMyw2ICszOTU0LDkgQEAKICIgICAgXG4iCiAiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgogIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgpAQCAtMzk0MCw3ICszOTY0LDcgQEAKICIgICAgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4OTUKKyM6IGJ1aWx0aW5zLmM6MTkxMwogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC0zOTY3LDcgKzM5OTEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTIzCisjOiBidWlsdGlucy5jOjE5NDEKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzk4MCwxMyArNDAwNCwxMyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTM4CisjOiBidWlsdGlucy5jOjE5NTYKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKICIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCiAic3VwcGxpZWQsXG4iCi0iICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWdpbiBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVubSwgIgorIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVpbmcgZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbiwgIgogInByaW50XG4iCiAiICAgIHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uICIKICJzcGVjaWZpY2F0aW9uLlxuIgpAQCAtNDAxMSw3ICs0MDM1LDcgQEAKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5NjgKKyM6IGJ1aWx0aW5zLmM6MTk4NgogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCkBAIC00MDM5LDcgKzQwNjMsOCBAQAogIiAgICBcbiIKICIgICAgSWYgLUMgaXMgc3VwcGxpZWQgd2l0aG91dCAtYywgdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLiAgV2hlblxuIgogIiAgICBDQUxMQkFDSyBpcyBldmFsdWF0ZWQsIGl0IGlzIHN1cHBsaWVkIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBhcnJheVxuIgotIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuXG4iCisiICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudFxuIgorIiAgICBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZICIKICJiZWZvcmVcbiIKQEAgLTQwNTEsNyArNDA3Niw3IEBACiAiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjIwMDEKKyM6IGJ1aWx0aW5zLmM6MjAyMAogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpkaWZmIC0tZ2l0IGEvcG8vYmFzaC5wb3QgYi9wby9iYXNoLnBvdAppbmRleCA2OGQzM2Y4Li5lNTRkYWJkIDEwMDY0NAotLS0gYS9wby9iYXNoLnBvdAorKysgYi9wby9iYXNoLnBvdApAQCAtOCw3ICs4LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogUEFDS0FHRSBWRVJTSU9OXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0wMS0yOCAyMjowOS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBGVUxMIE5BTUUgPEVNQUlMQEFERFJFU1M+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogTEFOR1VBR0UgPExMQGxpLm9yZz5cbiIKQEAgLTIxLDcgKzIxLDcgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICIiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTQxLDI2ICs0MSwyNiBAQAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6MzgzCisjOiBiYXNoaGlzdC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNDU3CisjOiBiYXNobGluZS5jOjM0OTgKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNTQzCisjOiBiYXNobGluZS5jOjM1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM1NzIKKyM6IGJhc2hsaW5lLmM6MzYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNjA2CisjOiBiYXNobGluZS5jOjM2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIiCkBAIC0xMTksMjYgKzExOSwxMSBAQAogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Ci1tc2dpZCAiIgotIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgotIiAgICAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKLW1zZ2lkICIiCi0iOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCi0iICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKLSIgICAgXG4iCi0iICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKLSIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2QuZGVmOjIxNQorIzogYnVpbHRpbnMvY2QuZGVmOjIzNQogbXNnaWQgIkhPTUUgbm90IHNldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jZC5kZWY6MjI3CisjOiBidWlsdGlucy9jZC5kZWY6MjQ3CiBtc2dpZCAiT0xEUFdEIG5vdCBzZXQiCiBtc2dzdHIgIiIKIApAQCAtMTU3LDExICsxNDIsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNworIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MzIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo1MDAgc2hlbGwuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKIG1zZ3N0ciAiIgpAQCAtMTk5LDcgKzE4NCw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMzYyCiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIiIKIApAQCAtMzA4LDI1ICsyOTMsMjUgQEAKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyMgorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTI0CiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY2CiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3OCBleGVjdXRlX2NtZC5jOjUxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTM1NSwyOSArMzQwLDI5IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKLSM6IHNoZWxsLmM6MTQ1MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzUgYnVpbHRpbnMvaGFzaC5kZWY6MTcxIGV4ZWN1dGVfY21kLmM6NDk2MQorIzogc2hlbGwuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzOQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0NworIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAotIzogc2hlbGwuYzoxNDYyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4MiBidWlsdGlucy9ldmFsZmlsZS5jOjIwMCBleGVjdXRlX2NtZC5jOjUwMzIKKyM6IHNoZWxsLmM6MTQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZXhlYy5kZWY6MjEyCisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgogbXNnc3RyICIiCkBAIC00MDUsMTEgKzM5MCwxMSBAQAogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM0OQorIzogYnVpbHRpbnMvZmMuZGVmOjMxMiBidWlsdGlucy9mYy5kZWY6MzU5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiIKQEAgLTQ0Miw3ICs0MjcsNyBAQAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0CisjOiBidWlsdGlucy9oYXNoLmRlZjoyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGl0c1x0Y29tbWFuZFxuIgogbXNnc3RyICIiCkBAIC00OTksNzYgKzQ4NCw4NiBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCisjOiBidWlsdGlucy9raWxsLmRlZjoxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjMKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTAxIGV4cHIuYzo1MTYKKyM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjU1MiBleHByLmM6NTY3CiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU2IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjQgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjczIGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3NworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzMzCiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM1NAogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVjJzogaW52YWxpZCB0aW1lIGZvcm1hdCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjg0MAogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyB1bmljb2RlIGRpZ2l0IGZvciBcXCVjIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjoxOTUKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKQEAgLTY2OSwyMSArNjY0LDIxIEBACiBtc2dpZCAiY2FuIG9ubHkgYHJldHVybicgZnJvbSBhIGZ1bmN0aW9uIG9yIHNvdXJjZWQgc2NyaXB0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQogbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1CisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODEyCisjOiBidWlsdGlucy9zZXQuZGVmOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0OiByZWFkb25seSAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgyMworIzogYnVpbHRpbnMvc2V0LmRlZjo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKIG1zZ3N0ciAiIgpAQCAtNjk3LDIwICs2OTIsMjAgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjY0CiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTI4CisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjEzMAogbXNnaWQgImZpbGVuYW1lIGFyZ3VtZW50IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTUzCisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCiBtc2dzdHIgIiIKQEAgLTc1MywyNiArNzQ4LDI2IEBACiBtc2dpZCAiJXMgaXMgaGFzaGVkICglcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozOTgKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGJhZCBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDI3CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGdldCBsaW1pdDogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiBtc2dpZCAibGltaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKIG1zZ3N0ciAiIgpAQCAtODI4LDEwNSArODIzLDExMCBAQAogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTcKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTYyCisjOiBleGVjdXRlX2NtZC5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjA3NQorIzogZXhlY3V0ZV9jbWQuYzoyMTIxCiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0ODEKKyM6IGV4ZWN1dGVfY21kLmM6NDY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NTcyCisjOiBleGVjdXRlX2NtZC5jOjQ3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTc2CisjOiBleGVjdXRlX2NtZC5jOjUxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MjQxCisjOiBleHByLmM6MjU2CiBtc2dpZCAiZXhwcmVzc2lvbiByZWN1cnNpb24gbGV2ZWwgZXhjZWVkZWQiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjI2NQorIzogZXhwci5jOjI4MAogbXNnaWQgInJlY3Vyc2lvbiBzdGFjayB1bmRlcmZsb3ciCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjM3OQorIzogZXhwci5jOjQyMgogbXNnaWQgInN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjQ0MCBleHByLmM6NDQ1IGV4cHIuYzo3NTYKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3CiBtc2dpZCAiZGl2aXNpb24gYnkgMCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6NDcxCisjOiBleHByLmM6NTE3CiBtc2dpZCAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzo1MTMKKyM6IGV4cHIuYzo1NjQKIG1zZ2lkICJgOicgZXhwZWN0ZWQgZm9yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjc4MQorIzogZXhwci5jOjgzMgogbXNnaWQgImV4cG9uZW50IGxlc3MgdGhhbiAwIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzo4MjYKKyM6IGV4cHIuYzo4ODcKIG1zZ2lkICJpZGVudGlmaWVyIGV4cGVjdGVkIGFmdGVyIHByZS1pbmNyZW1lbnQgb3IgcHJlLWRlY3JlbWVudCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6ODU0CisjOiBleHByLmM6OTEwCiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgorIzogZXhwci5jOjk1OSBleHByLmM6MTI4MgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTIwMgorIzogZXhwci5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI2MAorIzogZXhwci5jOjEzNjYKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI4MAorIzogZXhwci5jOjEzODYKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEzMjkKKyM6IGV4cHIuYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiIKQEAgLTkzNSwxNjMgKzkzNSwxNjMgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICIiCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NTA4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBpbnB1dC5jOjI1OAorIzogaW5wdXQuYzoyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBpbnB1dC5jOjI2NgorIzogaW5wdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2F2ZV9iYXNoX2lucHV0OiBidWZmZXIgYWxyZWFkeSBleGlzdHMgZm9yIG5ldyBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6NDY2CisjOiBqb2JzLmM6NDY4CiBtc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6ODg3CisjOiBqb2JzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTAwNQorIzogam9icy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTExMAorIzogam9icy5jOjExMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTExMworIzogam9icy5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDAxCisjOiBqb2JzLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MTYKKyM6IGpvYnMuYzoxNDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQzMCBqb2JzLmM6MTQ1NQorIzogam9icy5jOjE0NTkgam9icy5jOjE0ODQKIG1zZ2lkICJEb25lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDM5CisjOiBqb2JzLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ0MworIzogam9icy5jOjE0NzIKIG1zZ2lkICJSdW5uaW5nIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDU3CisjOiBqb2JzLmM6MTQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb25lKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ1OQorIzogam9icy5jOjE0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhpdCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ2MgorIzogam9icy5jOjE0OTEKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTU0OQorIzogam9icy5jOjE1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGNvcmUgZHVtcGVkKSAiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE3NzYKKyM6IGpvYnMuYzoxODA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjMzMQorIzogam9icy5jOjIzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjYwNworIzogam9icy5jOjI2MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjMwNTkKKyM6IGpvYnMuYzozMDg5CiBtc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTA4CisjOiBqb2JzLmM6MzUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAorIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CisjOiBqb2JzLmM6MzU2NCBqb2JzLmM6MzU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzU3OQorIzogam9icy5jOjM2MDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzYzOQorIzogam9icy5jOjM2NjkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NDkKKyM6IGpvYnMuYzozNjc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY3NworIzogam9icy5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2ODIKKyM6IGpvYnMuYzozNzEyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAiIgogCkBAIC0xMjQyLDk5ICsxMjQyLDk5IEBACiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQorIzogcGFyc2UueTozMTczIHBhcnNlLnk6MzQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzk1MQorIzogcGFyc2UueTo0MDI1CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5NTYKKyM6IHBhcnNlLnk6NDAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzk2MAorIzogcGFyc2UueTo0MDM0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MDM4CisjOiBwYXJzZS55OjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MDQyCisjOiBwYXJzZS55OjQxMTYKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MDcwCisjOiBwYXJzZS55OjQxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxMjAKKyM6IHBhcnNlLnk6NDE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxMjQKKyM6IHBhcnNlLnk6NDE5OAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNDYKKyM6IHBhcnNlLnk6NDIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDE1MAorIzogcGFyc2UueTo0MjI0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTYxCisjOiBwYXJzZS55OjQyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTY0CisjOiBwYXJzZS55OjQyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTY4CisjOiBwYXJzZS55OjQyNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTQ1OQorIzogcGFyc2UueTo1NTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjU0NzcKKyM6IHBhcnNlLnk6NTU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTU0OQorIzogcGFyc2UueTo1NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTcxMQorIzogcGFyc2UueTo1ODE4CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICIiCiAKQEAgLTEzNDMsNzcgKzEzNDMsNzcgQEAKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBwY29tcGxpYi5jOjE3OQorIzogcGNvbXBsaWIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoyOTAKKyM6IHByaW50X2NtZC5jOjI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MzYzCisjOiBwcmludF9jbWQuYzozNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjM2OAorIzogcHJpbnRfY21kLmM6MzczCiBtc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MzcyCisjOiBwcmludF9jbWQuYzozNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjE0NjEKKyM6IHByaW50X2NtZC5jOjE0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTEwCisjOiByZWRpci5jOjEyMgogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxNjYKKyM6IHJlZGlyLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxNzAKKyM6IHJlZGlyLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxNzUKKyM6IHJlZGlyLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTgwCisjOiByZWRpci5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxODQKKyM6IHJlZGlyLmM6MTk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6NTQ0CisjOiByZWRpci5jOjU0OAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjExMDEKKyM6IHJlZGlyLmM6ODE4IHJlZGlyLmM6OTMwIHJlZGlyLmM6OTkzIHJlZGlyLmM6MTEzNgogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MzM2CisjOiBzaGVsbC5jOjMzNwogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIiCiAKQEAgLTE0MjIsNTUgKzE0MjIsNTUgQEAKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE2NTEKKyM6IHNoZWxsLmM6MTY1MgogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxNzk0CisjOiBzaGVsbC5jOjE3OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCiAiXHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSBzY3JpcHQtZmlsZSAuLi5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE3OTYKKyM6IHNoZWxsLmM6MTc5OAogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxODAwCisjOiBzaGVsbC5jOjE4MDIKIG1zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODAzCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTgxNgorIzogc2hlbGwuYzoxODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTgyMgorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE4MjMKKyM6IHNoZWxsLmM6MTgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAiIgpAQCAtMTY0NCw4MyArMTY0NCw4MyBAQAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjI3MzUKKyM6IHN1YnN0LmM6Mjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCisjOiBzdWJzdC5jOjQ5Nzkgc3Vic3QuYzo0OTk1CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0ODAyCisjOiBzdWJzdC5jOjUwMjcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0ODQ3CisjOiBzdWJzdC5jOjUwNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ4NDkKKyM6IHN1YnN0LmM6NTA3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDg2NworIzogc3Vic3QuYzo1MDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjUwNjMKKyM6IHN1YnN0LmM6NTI4NAogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTA5NworIzogc3Vic3QuYzo1MzIyCiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjU2MTcKKyM6IHN1YnN0LmM6NTg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjU5MDcKKyM6IHN1YnN0LmM6NjEyNSBzdWJzdC5jOjYxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjY5NjUKKyM6IHN1YnN0LmM6NzI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjcwNDUKKyM6IHN1YnN0LmM6NzM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo3Mzc0CisjOiBzdWJzdC5jOjc2ODQKIG1zZ2lkICIiCiAiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCiAic3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NzgzOQorIzogc3Vic3QuYzo4MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo4NzIwCisjOiBzdWJzdC5jOjkwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICIiCkBAIC0xNzQzLDM2ICsxNzQzLDM2IEBACiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgorIzogdGVzdC5jOjI4MCB0ZXN0LmM6Njk4IHRlc3QuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzoyMDMKKyM6IHRyYXAuYzoyMDcKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgIiIKIAotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgIiIKIAotIzogdHJhcC5jOjM4MAorIzogdHJhcC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgIiIKQEAgLTE3ODIsNTggKzE3ODIsNTggQEAKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzo3NDgKKyM6IHZhcmlhYmxlcy5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzoxOTE1CisjOiB2YXJpYWJsZXMuYzoxOTMyCiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMxNTkKKyM6IHZhcmlhYmxlcy5jOjMxODIKIG1zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM3NgorIzogdmFyaWFibGVzLmM6MzQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCisjOiB2YXJpYWJsZXMuYzozNDMyIHZhcmlhYmxlcy5jOjM0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzk2CisjOiB2YXJpYWJsZXMuYzozNDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4MzUKKyM6IHZhcmlhYmxlcy5jOjM4OTEKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6Mzg0OAorIzogdmFyaWFibGVzLmM6MzkwNAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4CisjOiB2YXJpYWJsZXMuYzo0Nzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzo0NjgzCisjOiB2YXJpYWJsZXMuYzo0NzkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgogbXNnc3RyICIiCiAKICM6IHZlcnNpb24uYzo0NgotbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiIgogCiAjOiB2ZXJzaW9uLmM6NDcKQEAgLTE5MjAsNyArMTkyMCw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo2NAotbXNnaWQgImNkIFstTHwtUF0gW2Rpcl0iCittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo2NgpAQCAtMTk0NCwxMSArMTk0NCwxMSBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6NzYKLW1zZ2lkICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCittc2dpZCAiZGVjbGFyZSBbLWFBZkZnaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjc4Ci1tc2dpZCAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjgwCkBAIC0yMDQyLDcgKzIwNDIsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTQwCi1tc2dpZCAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKK21zZ2lkICJzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0MgpAQCAtMjA1NCw3ICsyMDU0LDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0NgotbXNnaWQgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKK21zZ2lkICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4CkBAIC0yMzY3LDE0ICsyMzY3LDE4IEBACiAiICAgICAgICAtTFx0Zm9yY2Ugc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG93ZWRcbiIKICIgICAgICAgIC1QXHR1c2UgdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWNcbiIKICIgICAgXHRsaW5rc1xuIgorIiAgICAgICAgLWVcdGlmIHRoZSAtUCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVxuIgorIiAgICBcdGNhbm5vdCBiZSBkZXRlcm1pbmVkIHN1Y2Nlc3NmdWxseSwgZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzXG4iCiAiICAgIFxuIgogIiAgICBUaGUgZGVmYXVsdCBpcyB0byBmb2xsb3cgc3ltYm9saWMgbGlua3MsIGFzIGlmIGAtTCcgd2VyZSBzcGVjaWZpZWQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKKyIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZCwgYW5kIGlmICRQV0QgaXMgc2V0IHN1Y2Nlc3NmdWxseSAiCisid2hlblxuIgorIiAgICAtUCBpcyB1c2VkOyBub24temVybyBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yMzkwLDcgKzIzOTQsNyBAQAogIiAgICBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0MjgKKyM6IGJ1aWx0aW5zLmM6NDMxCiBtc2dpZCAiIgogIk51bGwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNDAwLDcgKzI0MDQsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDM5CisjOiBidWlsdGlucy5jOjQ0MgogbXNnaWQgIiIKICJSZXR1cm4gYSBzdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNDA4LDcgKzI0MTIsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDQ4CisjOiBidWlsdGlucy5jOjQ1MQogbXNnaWQgIiIKICJSZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNDE2LDcgKzI0MjAsNyBAQAogIiAgICBBbHdheXMgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDU3CisjOiBidWlsdGlucy5jOjQ2MAogbXNnaWQgIiIKICJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNDM1LDcgKzI0MzksNyBAQAogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQsIG9yIGZhaWx1cmUgaWYgQ09NTUFORCBpcyBub3QgZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDc2CisjOiBidWlsdGlucy5jOjQ3OQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI0NDYsNiArMjQ1MCw4IEBACiAiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgogIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCiAiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCiAiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgogIiAgICBcbiIKICIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKQEAgLTI0NjUsMjAgKzI0NzEsMjAgQEAKICIgICAgXG4iCiAiICAgIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBgZGVjbGFyZScgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKICJgbG9jYWwnXG4iCi0iICAgIGNvbW1hbmQuXG4iCisiICAgIGNvbW1hbmQuICBUaGUgYC1nJyBvcHRpb24gc3VwcHJlc3NlcyB0aGlzIGJlaGF2aW9yLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUxMgorIzogYnVpbHRpbnMuYzo1MTcKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCiAiICAgIE9ic29sZXRlLiAgU2VlIGBoZWxwIGRlY2xhcmUnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUyMAorIzogYnVpbHRpbnMuYzo1MjUKIG1zZ2lkICIiCiAiRGVmaW5lIGxvY2FsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0yNDkzLDcgKzI0OTksNyBAQAogIiAgICBvciB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUzNworIzogYnVpbHRpbnMuYzo1NDIKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjUyNCw3ICsyNTMwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI1MzcsNyArMjU0Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjU2NCw3ICsyNTcwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjYxNAorIzogYnVpbHRpbnMuYzo2MTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhcmd1bWVudHMgYXMgYSBzaGVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI1NzYsNyArMjU4Miw3IEBACiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgY29tbWFuZCBvciBzdWNjZXNzIGlmIGNvbW1hbmQgaXMgbnVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMjYxNyw3ICsyNjIzLDcgQEAKICIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNjQwLDcgKzI2NDYsNyBAQAogIm9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2ODkKKyM6IGJ1aWx0aW5zLmM6Njk0CiBtc2dpZCAiIgogIkV4aXQgdGhlIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI2NDgsNyArMjY1NCw3IEBACiAiICAgIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2OTgKKyM6IGJ1aWx0aW5zLmM6NzAzCiBtc2dpZCAiIgogIkV4aXQgYSBsb2dpbiBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0yNjU3LDcgKzI2NjMsNyBAQAogIiAgICBpbiBhIGxvZ2luIHNoZWxsLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjcwOAorIzogYnVpbHRpbnMuYzo3MTMKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBleGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0yNjg3LDcgKzI2OTMsNyBAQAogIm9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3MzgKKyM6IGJ1aWx0aW5zLmM6NzQzCiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTI2OTksNyArMjcwNSw3IEBACiAiICAgIFN0YXR1cyBvZiBjb21tYW5kIHBsYWNlZCBpbiBmb3JlZ3JvdW5kLCBvciBmYWlsdXJlIGlmIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3NTMKKyM6IGJ1aWx0aW5zLmM6NzU4CiBtc2dpZCAiIgogIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0yNzEzLDcgKzI3MTksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjczNyw3ICsyNzQzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3OTIKKyM6IGJ1aWx0aW5zLmM6Nzk3CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNzU5LDcgKzI3NjUsNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMjc5Myw3ICsyNzk5LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODUyCisjOiBidWlsdGlucy5jOjg1NwogbXNnaWQgIiIKICJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgogIiAgICBcbiIKQEAgLTI4MTcsNyArMjgyMyw3IEBACiAiICAgIElmIC14IGlzIHVzZWQsIHJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODc5CisjOiBidWlsdGlucy5jOjg4NAogbXNnaWQgIiIKICJSZW1vdmUgam9icyBmcm9tIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMjgzNCw3ICsyODQwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBvciBKT0JTUEVDIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg5OAorIzogYnVpbHRpbnMuYzo5MDMKIG1zZ2lkICIiCiAiU2VuZCBhIHNpZ25hbCB0byBhIGpvYi5cbiIKICIgICAgXG4iCkBAIC0yODU2LDcgKzI4NjIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo5MjEKKyM6IGJ1aWx0aW5zLmM6OTI2CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjg5OCwxMCArMjkwNCwxMCBAQAogIiAgICBydWxlcyBhYm92ZS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4iCisiICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6OTY2CisjOiBidWlsdGlucy5jOjk3MQogbXNnaWQgIiIKICJSZWFkIGEgbGluZSBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBhbmQgc3BsaXQgaXQgaW50byBmaWVsZHMuXG4iCiAiICAgIFxuIgpAQCAtMjk0OSw3ICsyOTU1LDcgQEAKICIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMDkKKyM6IGJ1aWx0aW5zLmM6MTAxNAogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTI5NjEsNyArMjk2Nyw3IEBACiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDIyCisjOiBidWlsdGlucy5jOjEwMjcKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzAzMCw2ICszMDM2LDkgQEAKICIgICAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzXG4iCiAiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKICIgICAgICAtVCAgSWYgc2V0LCB0aGUgREVCVUcgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC0tICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgICAgICAgYXJlIHVuc2V0LlxuIgogIiAgICAgIC0gICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgogIiAgICBcbiIKQEAgLTMwNDMsNyArMzA1Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEwNAorIzogYnVpbHRpbnMuYzoxMTEyCiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMDYzLDcgKzMwNzIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEyNAorIzogYnVpbHRpbnMuYzoxMTMyCiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzA4Miw3ICszMDkxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MworIzogYnVpbHRpbnMuYzoxMTUxCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zMTAyLDcgKzMxMTEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTY0CisjOiBidWlsdGlucy5jOjExNzIKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMxMTMsNyArMzEyMiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKKyM6IGJ1aWx0aW5zLmM6MTE4NCBidWlsdGlucy5jOjExOTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMTI3LDcgKzMxMzYsNyBAQAogIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjA3CisjOiBidWlsdGlucy5jOjEyMTUKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzE0MSwxNCArMzE1MCwxNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjIzCisjOiBidWlsdGlucy5jOjEyMzEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCiAiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgogIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCiAiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgotIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy5cbiIKKyIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMgYXMgd2VsbC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBiZWhhdmlvciBvZiB0ZXN0IGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHMuICBSZWFkIHRoZVxuIgorIiAgICBiYXNoIG1hbnVhbCBwYWdlIGZvciB0aGUgY29tcGxldGUgc3BlY2lmaWNhdGlvbi5cbiIKICIgICAgXG4iCiAiICAgIEZpbGUgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKQEAgLTMyMDIsNiArMzIxNCw3IEBACiAiICAgIE90aGVyIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCiAiICAgICAgLW8gT1BUSU9OICAgICAgVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uIE9QVElPTiBpcyBlbmFibGVkLlxuIgorIiAgICAgIC12IFZBUlx0IFRydWUgaWYgdGhlIHNoZWxsIHZhcmlhYmxlIFZBUiBpcyBzZXRcbiIKICIgICAgICAhIEVYUFIgICAgICAgICBUcnVlIGlmIGV4cHIgaXMgZmFsc2UuXG4iCiAiICAgICAgRVhQUjEgLWEgRVhQUjIgVHJ1ZSBpZiBib3RoIGV4cHIxIEFORCBleHByMiBhcmUgdHJ1ZS5cbiIKICIgICAgICBFWFBSMSAtbyBFWFBSMiBUcnVlIGlmIGVpdGhlciBleHByMSBPUiBleHByMiBpcyB0cnVlLlxuIgpAQCAtMzIxOCw3ICszMjMxLDcgQEAKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjk5CisjOiBidWlsdGlucy5jOjEzMTEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zMjI2LDcgKzMyMzksNyBAQAogIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMwOAorIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC0zMjM4LDcgKzMyNTEsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMyMAorIzogYnVpbHRpbnMuYzoxMzMyCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTMyNTQsNyArMzI2NywxNSBAQAogIiAgICBcbiIKICIgICAgSWYgYSBTSUdOQUxfU1BFQyBpcyBFWElUICgwKSBBUkcgaXMgZXhlY3V0ZWQgb24gZXhpdCBmcm9tIHRoZSBzaGVsbC4gICIKICJJZlxuIgotIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLiAgIgorIklmXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgUkVUVVJOLCBBUkcgaXMgZXhlY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgIgorImFcbiIKKyIgICAgc2NyaXB0IHJ1biBieSB0aGUgLiBvciBzb3VyY2UgYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLiAgQSAiCisiU0lHTkFMX1NQRUNcbiIKKyIgICAgb2YgRVJSIG1lYW5zIHRvIGV4ZWN1dGUgQVJHIGVhY2ggdGltZSBhIGNvbW1hbmQncyBmYWlsdXJlIHdvdWxkIGNhdXNlICIKKyJ0aGVcbiIKKyIgICAgc2hlbGwgdG8gZXhpdCB3aGVuIHRoZSAtZSBvcHRpb24gaXMgZW5hYmxlZC5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQsIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzICIKICJhc3NvY2lhdGVkXG4iCkBAIC0zMjc0LDcgKzMyOTUsNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzNTIKKyM6IGJ1aWx0aW5zLmM6MTM2OAogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC0zMzA0LDcgKzMzMjUsNyBAQAogImZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzODMKKyM6IGJ1aWx0aW5zLmM6MTM5OQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTMzNDgsNyArMzM2OSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0MjgKKyM6IGJ1aWx0aW5zLmM6MTQ0NAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC0zMzY2LDcgKzMzODcsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDQ4CisjOiBidWlsdGlucy5jOjE0NjQKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zMzgzLDcgKzM0MDQsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDY2CisjOiBidWlsdGlucy5jOjE0ODIKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzM5Nyw3ICszNDE4LDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ4MQorIzogYnVpbHRpbnMuYzoxNDk3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zNDEwLDcgKzM0MzEsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDk1CisjOiBidWlsdGlucy5jOjE1MTEKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKICIgICAgXG4iCkBAIC0zNDI3LDcgKzM0NDgsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTEzCisjOiBidWlsdGlucy5jOjE1MjkKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTM0NDcsNyArMzQ2OCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MzQKKyM6IGJ1aWx0aW5zLmM6MTU1MAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNDYzLDcgKzM0ODQsNyBAQAogIiAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgcmV0dXJuIHN0YXR1cyBvZiBQSVBFTElORS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTUxCisjOiBidWlsdGlucy5jOjE1NjcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTM0NzQsNyArMzQ5NSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NjMKKyM6IGJ1aWx0aW5zLmM6MTU3OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTM0OTUsNyArMzUxNiw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1ODAKKyM6IGJ1aWx0aW5zLmM6MTU5NgogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgogIiAgICBcbiIKQEAgLTM1MDYsNyArMzUyNyw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1OTIKKyM6IGJ1aWx0aW5zLmM6MTYwOAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtMzUxNyw3ICszNTM4LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYwNAorIzogYnVpbHRpbnMuYzoxNjIwCiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTM1MzAsNyArMzU1MSw3IEBACiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNTQ0LDcgKzM1NjUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYzMgorIzogYnVpbHRpbnMuYzoxNjQ4CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC0zNTU1LDcgKzM1NzYsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjQ0CisjOiBidWlsdGlucy5jOjE2NjAKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTM1NjksNyArMzU5MCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY1OQorIzogYnVpbHRpbnMuYzoxNjc1CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zNTgwLDcgKzM2MDEsNyBAQAogIiAgICBSZXR1cm5zIDEgaWYgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gMDsgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjcxCisjOiBidWlsdGlucy5jOjE2ODcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTM2MDgsNyArMzYyOSw3IEBACiAiICAgIDAgb3IgMSBkZXBlbmRpbmcgb24gdmFsdWUgb2YgRVhQUkVTU0lPTi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjk3CisjOiBidWlsdGlucy5jOjE3MTMKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC0zNjYyLDcgKzM2ODMsNyBAQAogIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzU0CisjOiBidWlsdGlucy5jOjE3NzAKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM2OTMsNyArMzcxNCw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzg4CisjOiBidWlsdGlucy5jOjE4MDQKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzcyMCw3ICszNzQxLDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4MTgKKyM6IGJ1aWx0aW5zLmM6MTgzNAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzQ5LDcgKzM3NzAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODQ3CisjOiBidWlsdGlucy5jOjE4NjMKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM3NzAsNyArMzc5MSw3IEBACiAiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg2OAorIzogYnVpbHRpbnMuYzoxODg0CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTM3OTMsNiArMzgxNCw5IEBACiAiICAgIFxuIgogIiAgICAgICViXHRleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYXJndW1lbnRcbiIKICIgICAgICAlcVx0cXVvdGUgdGhlIGFyZ3VtZW50IGluIGEgd2F5IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dFxuIgorIiAgICAgICUoZm10KVQgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nIEZNVCBhcyBhICIKKyJmb3JtYXRcbiIKKyIgICAgICAgICAgICBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIHdyaXRlIG9yICIKQEAgLTM4MDAsNyArMzgyNCw3IEBACiAiICAgIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODk1CisjOiBidWlsdGlucy5jOjE5MTMKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtMzgyNyw3ICszODUxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkyMworIzogYnVpbHRpbnMuYzoxOTQxCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4NDAsMTMgKzM4NjQsMTMgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkzOAorIzogYnVpbHRpbnMuYzoxOTU2CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCiAiICAgIE1vZGlmeSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBubyBOQU1FcyBhcmUgIgogInN1cHBsaWVkLFxuIgotIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVnaW4gZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbm0sICIKKyIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlaW5nIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW4sICIKICJwcmludFxuIgogIiAgICB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUgb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbiAiCiAic3BlY2lmaWNhdGlvbi5cbiIKQEAgLTM4NzEsNyArMzg5NSw3IEBACiAiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTY4CisjOiBidWlsdGlucy5jOjE5ODYKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzg5OSw3ICszOTIzLDggQEAKICIgICAgXG4iCiAiICAgIElmIC1DIGlzIHN1cHBsaWVkIHdpdGhvdXQgLWMsIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4gIFdoZW5cbiIKICIgICAgQ0FMTEJBQ0sgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJyYXlcbiIKLSIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50LlxuIgorIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnRcbiIKKyIgICAgYXMgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgogIiAgICBJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiBleHBsaWNpdCBvcmlnaW4sIG1hcGZpbGUgd2lsbCBjbGVhciBBUlJBWSAiCiAiYmVmb3JlXG4iCkBAIC0zOTExLDcgKzM5MzYsNyBAQAogIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoyMDAxCisjOiBidWlsdGlucy5jOjIwMjAKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKZGlmZiAtLWdpdCBhL3BvL2JnLmdtbyBiL3BvL2JnLmdtbwppbmRleCBlY2JhNmQyLi5kNmE3ZmFmIDEwMDY0NAotLS0gYS9wby9iZy5nbW8KKysrIGIvcG8vYmcuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL2JnLnBvIGIvcG8vYmcucG8KaW5kZXggODM2M2NiZi4uNzU3YTAzNCAxMDA2NDQKLS0tIGEvcG8vYmcucG8KKysrIGIvcG8vYmcucG8KQEAgLTcsNyArNyw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggMy4yXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0wMS0yOCAyMjowOS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNy0wNy0yNiAwNzoxOCswMzAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBBbGV4YW5kZXIgU2hvcG92IDxhc2hAY29udGFjdC5iZz5cbiIKICJMYW5ndWFnZS1UZWFtOiBCdWxnYXJpYW4gPGRpY3RAZnNhLWJnLm9yZz5cbiIKQEAgLTIwLDcgKzIwLDcgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQuNC90LTQtdC60YEg0L3QsCDQvNCw0YHQuNCyIgogCi0jOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCkBAIC00MCwyOCArNDAsMjggQEAKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBiYXNoaGlzdC5jOjM4MworIzogYmFzaGhpc3QuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczog0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LU6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0NTcKKyM6IGJhc2hsaW5lLmM6MzQ5OAogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogItC40LfQv9GK0LvQvdC10L3QuNC1INC90LAg0LrQvtC80LDQvdC00LAg0L3QsCDQrtC90LjQutGBINC+0YIgYmFzaDog0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L7RgtC60YDQuNC1INC/0L7QtNGA0LXQtNCx0LDRgtCwINC90LBcbiIKICLRhNGD0L3QutGG0LjQuNGC0LUg0L3QsCDQutC70LDQstC40YjQuNGC0LUg0LfQsCDQutC+0LzQsNC90LTQsNGC0LAiCiAKLSM6IGJhc2hsaW5lLmM6MzU0MworIzogYmFzaGxpbmUuYzozNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiDQv9GK0YDQstC40Y/RgiDQvdC10L/RgNCw0LfQtdC9INC30L3QsNC6INC90LUg0LUg4oCeXCLigJwiCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAi0LIgJTIkcyDQu9C40L/RgdCy0LAg0LfQsNGC0LLQsNGA0Y/RiSDQt9C90LDQuiDigJ4lMSRj4oCcIgogCi0jOiBiYXNobGluZS5jOjM2MDYKKyM6IGJhc2hsaW5lLmM6MzY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiDRgNCw0LfQtNC10LvQuNGC0LXQu9GP0YIg0LTQstC+0LXRgtC+0YfQuNC1INC70LjQv9GB0LLQsCIKQEAgLTEyMSwyNiArMTIxLDExIEBACiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiBtc2dzdHIgItCS0YDRitGJ0LAg0LrQvtC90YLQtdC60YHRgtCwINC90LAg0YLQtdC60YPRidC+0YLQviDQuNC30LLQuNC60LLQsNC90LUg0L3QsCDQv9C+0LTQv9GA0L7Qs9GA0LDQvNCwLiIKIAotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKLW1zZ2lkICIiCi0iLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCi0iICAgICIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgotbXNnaWQgIiIKLSI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKLSIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgotIiAgICBcbiIKLSIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgotIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jZC5kZWY6MjE1CisjOiBidWlsdGlucy9jZC5kZWY6MjM1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICLQn9GA0L7QvNC10L3Qu9C40LLQsNGC0LAgJEhPTUUg0L3QtSDQt9Cw0LTQsNC00LXQvdCwIgogCi0jOiBidWlsdGlucy9jZC5kZWY6MjI3CisjOiBidWlsdGlucy9jZC5kZWY6MjQ3CiBtc2dpZCAiT0xEUFdEIG5vdCBzZXQiCiBtc2dzdHIgItCf0YDQvtC80LXQvdC70LjQstCw0YLQsCAkT0xEUFdEINC90LUg0LUg0LfQsNC00LDQtNC10L3QsCIKIApAQCAtMTU5LDExICsxNDQsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiJXM6INC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICLQv9GA0LXQutCw0LvQtdC90L4g0LzQvdC+0LPQviDQsNGA0LPRg9C80LXQvdGC0LgiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NTAwIHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiDQvtC/0YbQuNGP0YLQsCDQuNC30LjRgdC60LLQsCDQsNGA0LPRg9C80LXQvdGCIgpAQCAtMjAzLDcgKzE4OCw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICLQs9GA0LXRiNC90L4g0YfQuNGB0LvQviIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAi0LPRgNC10YjQvdC+INGH0LjRgdC70L4iCiAKQEAgLTMxMiwyNSArMjk3LDI1IEBACiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjIKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAi0LzQvtC20LUg0LTQsCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0YHQsNC80L4g0LLRitCyINGE0YPQvdC60YbQuNGPIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAi4oCeLWbigJwg0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDQt9CwINGB0YrQt9C00LDQstCw0L3QtdGC0L4g0L3QsCDRhNGD0L3QutGG0LjQuCIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiDRhNGD0L3QutGG0LjRjyDRgSDQv9GA0LDQstCwINGB0LDQvNC+INC30LAg0YfQtdGC0LXQvdC1IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczog0L/RgNC+0LzQtdC90LvQuNCy0LjRgtC1INC30LAg0LzQsNGB0LjQstC4INC90LUg0LzQvtCz0LDRgiDQtNCwINGB0LUg0YPQvdC40YnQvtC20LDQstCw0YIg0YLQsNC60LAiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIiCkBAIC0zNTksMjkgKzM0NCwyOSBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC40LfRgtGA0LjQtTogJXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKLSM6IHNoZWxsLmM6MTQ1MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzUgYnVpbHRpbnMvaGFzaC5kZWY6MTcxIGV4ZWN1dGVfY21kLmM6NDk2MQorIzogc2hlbGwuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6INC1INC00LjRgNC10LrRgtC+0YDQuNGPIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzOQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAiJXM6INC90LUg0LUg0L7QsdC40LrQvdC+0LLQtdC9INGE0LDQudC7IgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0NworIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIlczog0YTQsNC50LvRitGCINC1INC/0YDQtdC60LDQu9C10L3QviDQs9C+0LvRj9C8IgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKLSM6IHNoZWxsLmM6MTQ2MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczog0LTQstC+0LjRh9C90LjRj9GCINGE0LDQudC7INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQuNC30L/RitC70L3QtdC9IgogCi0jOiBidWlsdGlucy9leGVjLmRlZjoyMTIKKyM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NCBidWlsdGlucy9leGVjLmRlZjoxNTYgYnVpbHRpbnMvZXhlYy5kZWY6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCiBtc2dzdHIgIiVzOiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30L/RitC70L3QuDogJXMiCkBAIC00MDksMTEgKzM5NCwxMSBAQAogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgItC90LUg0LUg0L7RgtC60YDQuNGC0LAg0LrQvtC80LDQvdC00LAiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAi0YPQutCw0LfQstCw0L3QtSDQvdCwINC40YHRgtC+0YDQuNGP0YLQsCIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM3MAorIzogYnVpbHRpbnMvZmMuZGVmOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuCDQstGA0LXQvNC10L3QtdC9INGE0LDQudC7OiAlcyIKQEAgLTQ0Niw3ICs0MzEsNyBAQAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCiBtc2dzdHIgIiVzOiDRgtCw0LHQu9C40YbQsNGC0LAg0YEg0YXQtdGI0L7QstC1INC1INC/0YDQsNC30L3QsFxuIgogCi0jOiBidWlsdGlucy9oYXNoLmRlZjoyNDQKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiaGl0c1x0Y29tbWFuZFxuIgogbXNnc3RyICLQv9C+0YHQu9C10LTQvdCwINC60L7QvNCw0L3QtNCwOiAlc1xuIgpAQCAtNTE0LDc3ICs0OTksODcgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICLQvdC1INC1INC/0L7Qt9Cy0L7Qu9C10L3QsCDQtNGA0YPQs9CwINC+0L/RhtC40Y8g0YEg4oCeLXjigJwiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAorIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiVzOiDQsNGA0LPRg9C80LXQvdGC0LjRgtC1INGC0YDRj9Cx0LLQsCDQtNCwINGB0LAg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQuCDQvdCwINC/0YDQvtGG0LXRgdC4INC40LvQuCDQt9Cw0LTQsNGH0LgiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MworIzogYnVpbHRpbnMva2lsbC5kZWY6MjYxCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90LAg0LPRgNC10YjQutCwIgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICLQvtGH0LDQutCy0LAg0YHQtSDQuNC30YDQsNC3IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgogbXNnc3RyICIlczog0L3QtSDQtSDQv9GA0L7QvNC10L3Qu9C40LLQsCDQt9CwINC80LDRgdC40LIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NiBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiDQs9GA0LXRiNC90L4g0YPQutCw0LfQstCw0L3QtSDQvdCwINGE0LDQudC70L7QstC40Y8g0LTQtdGB0LrRgNC40L/RgtC+0YAiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NCBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiJWQ6INCz0YDQtdGI0LXQvSDRhNCw0LnQu9C+0LIg0LTQtdGB0LrRgNC40L/RgtC+0YA6ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzMgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzExCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlczog0LPRgNC10YjQvdCwINC+0L/RhtC40Y8iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3NworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjg0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiDQs9GA0LXRiNC90LAg0L7Qv9GG0LjRjyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIiVzOiDQs9GA0LXRiNC90L4g0LjQvNC1INC90LAg0LTQtdC50YHRgtCy0LjQtSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzMKICMsIGZ1enp5CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiJXM6INC90LUg0LUg0L/RgNC+0LzQtdC90LvQuNCy0LAg0LfQsCDQvNCw0YHQuNCyIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM1NAogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCeJXPigJw6INC70LjQv9GB0LLQsCDRhNC+0YDQvNCw0YLQuNGA0LDRiSDQt9C90LDQuiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiDQs9GA0LXRiNC90L4g0YPQutCw0LfQstCw0L3QtSDQvdCwINC40LfRgtC40YfQsNC90LXRgtC+INC90LAg0LLRgNC10LzQtdGC0L4iCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCeJWPigJw6INCz0YDQtdGI0LXQvSDRhNC+0YDQvNCw0YLQuNGA0LDRiSDQt9C90LDQuiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIiVzOiDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiAiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjg0MAogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgItC70LjQv9GB0LLQsCDRiNC10YHRgtC90LDQtNC10YHQtdGC0LjRh9C90LAg0YbQuNGE0YDQsCDQt9CwIFxceCIKIAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAi0LvQuNC/0YHQstCwINGI0LXRgdGC0L3QsNC00LXRgdC10YLQuNGH0L3QsCDRhtC40YTRgNCwINC30LAgXFx4IgorCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6MTk1CiBtc2dpZCAibm8gb3RoZXIgZGlyZWN0b3J5IgogbXNnc3RyICLQvdGP0LzQsCDQtNGA0YPQs9CwINC00LjRgNC10LrRgtC+0YDQuNGPIgpAQCAtNzQ4LDIyICs3NDMsMjIgQEAKIG1zZ3N0ciAiIgogIuKAnnJldHVybuKAnCDQtSDQstGK0LfQvNC+0LbQtdC9INGB0LDQvNC+INC+0YIg0YTRg9C90LrRhtC40Y8g0LjQu9C4INC40LfQv9GK0LvQvdC10L0g0LIg0YLQtdC60YPRidCw0YLQsCDQvtCx0LLQuNCy0LrQsCDRgdC60YDQuNC/0YIiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQogbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgogbXNnc3RyICIiCiAi0L3QtSDQvNC+0LbQtSDQtdC00L3QvtCy0YDQtdC80LXQvdC90L4g0LTQsCDRgdC1INC/0YDQtdC80LDRhdCy0LDRgiDQt9Cw0LTQsNCy0LDQvdC40Y/RgtCwINC90LAg0YTRg9C90LrRhtC40Y8g0Lgg0L/RgNC+0LzQtdC90LvQuNCy0LAiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1CisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0IgogbXNnc3RyICIlczog0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC10LzQsNGF0L3QtSIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MTIKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgogbXNnc3RyICIlczog0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0L/RgNC10LzQsNGF0L3QtTogJXMg0LUg0YHQsNC80L4g0LfQsCDRh9C10YLQtdC90LUiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODIzCisjOiBidWlsdGlucy9zZXQuZGVmOjgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGFycmF5IHZhcmlhYmxlIgogbXNnc3RyICIlczog0L3QtSDQtSDQv9GA0L7QvNC10L3Qu9C40LLQsCDQt9CwINC80LDRgdC40LIiCkBAIC03NzcsMjEgKzc3MiwyMSBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICLQsdGA0L7QuSDQvdCwINC/0YDQtdC80LXRgdGC0LLQsNC90LjRj9GC0LAiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAi0L3QtSDQvNC+0LbQtSDQtdC00L3QvtCy0YDQtdC80LXQvdC90L4g0LTQsCDRgdC1INC30LDQtNCw0LLQsNGCINC4INC00LAg0YHQtSDQv9GA0LXQvNCw0YXQstCw0YIg0L7Qv9GG0LjQuCDQvdCwINC+0LHQstC40LLQutCw0YLQsCIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiJXM6INCz0YDQtdGI0L3QviDQuNC80LUg0L3QsCDQvtC/0YbQuNGPINC90LAg0L7QsdCy0LjQstC60LDRgtCwIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjEyOAorIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKIG1zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKIG1zZ3N0ciAi0LjQt9C40YHQutCy0LAg0YHQtSDQsNGA0LPRg9C80LXQvdGCINC40LzQtSDQvdCwINGE0LDQudC7IgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1MworIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgbm90IGZvdW5kIgogbXNnc3RyICIlczog0YTQsNC50LvRitGCINC90LUg0LUg0L7RgtC60YDQuNGCIgpAQCAtODM0LDI2ICs4MjksMjYgQEAKIG1zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgogbXNnc3RyICIlcyDQtSDRhdC10YjQuNGA0LDQvSAoJXMpXG4iCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6MzcyCisjOiBidWlsdGlucy91bGltaXQuZGVmOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW1pdCBhcmd1bWVudCIKIG1zZ3N0ciAiJXM6INC90LXQv9GA0LDQstC40LvQtdC9INCw0YDQs9GD0LzQtdC90YIg0LfQsCDQvtCz0YDQsNC90LjRh9C10L3QuNC1IgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogYmFkIGNvbW1hbmQiCiBtc2dzdHIgIuKAniVj4oCcOiDQvdC10L/RgNCw0LLQuNC70L3QsCDQutC+0LzQsNC90LTQsCIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6INC+0LPRgNCw0L3QuNGH0LXQvdC40LXRgtC+INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9C+0LvRg9GH0LXQvdC+OiAlcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiBtc2dpZCAibGltaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6INC+0LPRgNCw0L3QuNGH0LXQvdC40LXRgtC+INC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0L7QvNC10L3QtdC90L46ICVzIgpAQCAtOTA5LDExMCArOTA0LDExNSBAQAogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCiBtc2dzdHIgIiIKICJeR9Cy0YDQtdC80LXRgtC+INC30LAg0LjQt9GH0LDQutCy0LDQvdC1INC90LAg0LLRhdC+0LQg0LjQt9GC0LXRh9C1OiDRgdC70LXQtNCy0LAg0LDQstGC0L7QvNCw0YLQuNGH0L3QviDQuNC30LvQuNC30LDQvdC1INC+0YIgIgogItGB0LjRgdGC0LXQvNCw0YLQsFxuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NworIzogZXhlY3V0ZV9jbWQuYzo1MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAi0YHRgtCw0L3QtNCw0YDRgtC90LjRj9GCINCy0YXQvtC0INC+0YIgL2Rldi9udWxsINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQv9GA0LXQvdCw0YHQvtGH0LXQvTogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi0LIg0L/RgNC+0LzQtdC90LvQuNCy0LDRgtCwICRUSU1FRk9STUFUOiDigJ4lY+KAnDog0LPRgNC10YjQtdC9INGE0L7RgNC80LDRgtC40YDQsNGJINC30L3QsNC6IgogCi0jOiBleGVjdXRlX2NtZC5jOjIwNzUKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQogIywgZnV6enkKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INC30LDQv9C40YE6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0ODEKKyM6IGV4ZWN1dGVfY21kLmM6NDY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiIKICIlczog0L7Qs9GA0LDQvdC40YfQtdC90LjQtTog0LIg0LjQvNC10L3QsNGC0LAg0L3QsCDQutC+0LzQsNC90LTQuNGC0LUg0L3QtSDQvNC+0LbQtSDQtNCwINC/0YDQuNGB0YrRgdGC0LLQsCDQt9C90LDQutGK0YIg4oCeL+KAnCIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NTcyCisjOiBleGVjdXRlX2NtZC5jOjQ3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczog0LrQvtC80LDQvdC00LDRgtCwINC90LUg0LUg0L7RgtC60YDQuNGC0LAiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMiCittc2dzdHIgIiVzINC1ICVzXG4iCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiDQu9C+0Ygg0LjQvdGC0LXRgNC/0YDQtdGC0LDRgtC+0YAiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3NgorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgItGE0LDQudC70L7QstC40Y/RgiDQtNC10YHQutGA0LjQv9GC0L7RgCAlZCDQvdC1INC80L7QttC1INC00LAg0YHQtSDQtNGD0LHQu9C40YDQsCDQutCw0YLQviDQtNC10YHQutGA0LjQv9GC0L7RgCAlZCIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70L3QuNGP0YIg0LHRgNC+0Lkg0L3QuNCy0LAg0LfQsCDRgNC10LrRg9GA0YHQuNGPINCyINC40LfRgNCw0Lcg0LHRj9GF0LAg0L/RgNC10LzQuNC90LDRgtC4IgogCi0jOiBleHByLmM6MjY1CisjOiBleHByLmM6MjgwCiBtc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAi0L7RgtGA0LjRhtCw0YLQtdC70L3QviDQv9GA0LXQv9GK0LvQstCw0L3QtSDQvdCwINGB0YLQtdC60LAg0LfQsCDRgNC10LrRg9GA0YHQuNC4IgogCi0jOiBleHByLmM6Mzc5CisjOiBleHByLmM6NDIyCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGV4cHJlc3Npb24iCiBtc2dzdHIgItGB0LjQvdGC0LDQutGC0LjRh9C90LAg0LPRgNC10YjQutCwINCyINC40LfRgNCw0LciCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgItC+0L/QuNGCINC30LAg0L/RgNC40YHQstC+0Y/QstCw0L3QtSDQvdCwINGB0YLQvtC50L3QvtGB0YIg0L3QsCDQvdC10YnQviwg0LrQvtC10YLQviDQvdC1INC1INC/0YDQvtC80LXQvdC70LjQstCwIgogCi0jOiBleHByLmM6NDQwIGV4cHIuYzo0NDUgZXhwci5jOjc1NgorIzogZXhwci5jOjQ4NiBleHByLmM6NDkxIGV4cHIuYzo4MDcKIG1zZ2lkICJkaXZpc2lvbiBieSAwIgogbXNnc3RyICLQtNC10LvQtdC90LjQtSDQvdCwIDAiCiAKLSM6IGV4cHIuYzo0NzEKKyM6IGV4cHIuYzo1MTcKIG1zZ2lkICJidWc6IGJhZCBleHBhc3NpZ24gdG9rZW4iCiBtc2dzdHIgItC/0YDQvtCz0YDQsNC80L3QsCDQs9GA0LXRiNC60LA6INC90LXQv9GA0LDQstC40LvQvdCwINC70LXQutGB0LXQvNCwINC30LAg0L/RgNC40YHQstC+0Y/QstCw0L3QtSDQvdCwINC40LfRgNCw0LciCiAKLSM6IGV4cHIuYzo1MTMKKyM6IGV4cHIuYzo1NjQKIG1zZ2lkICJgOicgZXhwZWN0ZWQgZm9yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgItC30LAg0YPRgdC70L7QstC10L0g0LjQt9GA0LDQtyDRgdC1INC40LfQuNGB0LrQstCwIOKAnjrigJwiCiAKLSM6IGV4cHIuYzo3ODEKKyM6IGV4cHIuYzo4MzIKIG1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKIG1zZ3N0ciAi0YHRgtC10L/QtdC90YLQsCDQtSDQv9C+LdC80LDQu9C60LAg0L7RgiAwIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgItC+0YfQsNC60LLQsCDRgdC1INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGB0LvQtdC0INC/0YDQtdC00LLQsNGA0LjRgtC10LvQvdC+INGD0LLQtdC70LjRh9Cw0LLQsNC90LUg0LjQu9C4INC90LDQvNCw0LvRj9Cy0LDQvdC1IgogCi0jOiBleHByLmM6ODU0CisjOiBleHByLmM6OTEwCiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgItC70LjQv9GB0LLQsCDigJ4p4oCcIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CisjOiBleHByLmM6OTU5IGV4cHIuYzoxMjgyCiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICLRgdC40L3RgtCw0LrRgtC40YfQvdCwINCz0YDQtdGI0LrQsDog0L7Rh9Cw0LrQstCwINGB0LUg0L7Qv9C10YDQsNGC0L7RgCIKIAotIzogZXhwci5jOjExNzgKKyM6IGV4cHIuYzoxMjg0CiAjLCBmdXp6eQogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICLRgdC40L3RgtCw0LrRgtC40YfQvdCwINCz0YDQtdGI0LrQsDog0LjQt9C40YHQutCy0LAg0YHQtSDQsNGA0LjRgtC80LXRgtC40YfQtdC9INC40LfRgNCw0LciCiAKLSM6IGV4cHIuYzoxMjAyCisjOiBleHByLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICLQs9GA0LXRiNC90LAg0LDRgNC40YLQvNC10YLQuNGH0L3QsCDQvtGB0L3QvtCy0LAg0L3QsCDQsdGA0L7QudC90LAg0YHQuNGB0YLQtdC80LAiCiAKLSM6IGV4cHIuYzoxMjgwCisjOiBleHByLmM6MTM4NgogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAi0YHRgtC+0LnQvdC+0YHRgtGC0LAg0LUg0L/RgNC10LrQsNC70LXQvdC+INCz0L7Qu9GP0LzQsCDQt9CwINC+0YHQvdC+0LLQsNGC0LAiCiAKLSM6IGV4cHIuYzoxMzI5CisjOiBleHByLmM6MTQzNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6INC+0YfQsNC60LLQsCDRgdC1INGG0LXQu9C+0YfQuNGB0LvQtdC9INC40LfRgNCw0LciCkBAIC0xMDIxLDE2NyArMTAyMSwxNjcgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXRjd2Q6INGA0L7QtNC40YLQtdC70YHQutC40YLQtSDQtNC40YDQtdC60YLQvtGA0LjQuCDQvdC1INC80L7Qs9Cw0YIg0LTQsCDQsdGK0LTQsNGCINC00L7RgdGC0YrQv9C10L3QuCIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDQuNC30YfQuNGB0YLQuCDRgNC10LbQuNC80YrRgiDQsdC10Lcg0LfQsNCx0LDQstGP0L3QtSDQvdCwINGE0LDQudC70L7QstC40Y8g0LTQtdGB0LrRgNC40L/RgtC+0YAgJWQiCiAKLSM6IGlucHV0LmM6MjU4CisjOiBpbnB1dC5jOjI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYWxsb2NhdGUgbmV3IGZpbGUgZGVzY3JpcHRvciBmb3IgYmFzaCBpbnB1dCBmcm9tIGZkICVkIgogbXNnc3RyICIiCiAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0LfQsNC00LXQu9C4INC90L7QsiDRhNCw0LnQu9C+0LIg0LTQtdGB0LrRgNC40L/RgtC+0YAg0LfQsCDQstGF0L7QtCDQvdCwIGJhc2gg0L7RgiDQtNC10YHQutGA0LjQv9GC0L7RgCAlZCIKIAotIzogaW5wdXQuYzoyNjYKKyM6IGlucHV0LmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGFscmVhZHkgZXhpc3RzIGZvciBuZXcgZmQgJWQiCiBtc2dzdHIgIiIKICLQt9Cw0L/QsNC30LLQsNC90LUg0L3QsCDQstGF0L7QtNCwINC90LAgYmFzaDog0LLQtdGH0LUg0YHRitGJ0LXRgdGC0LLRg9Cy0LAg0LHRg9GE0LXRgCDQt9CwINC90L7QstC40Y8g0YTQsNC50LvQvtCyINC00LXRgdC60YDQuNC/0YLQvtGAICIKICIlZCIKIAotIzogam9icy5jOjQ2NgorIzogam9icy5jOjQ2OAogbXNnaWQgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjg4NworIzogam9icy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JrZWQgcGlkICVkIGFwcGVhcnMgaW4gcnVubmluZyBqb2IgJWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjEwMDUKKyM6IGpvYnMuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCiBtc2dzdHIgItC40LfRgtGA0LjQstCw0L3QtSDQvdCwINGB0L/RgNGP0L3QsNGC0LAg0LfQsNC00LDRh9CwICVkINCyINCz0YDRg9C/0LDRgtCwINC/0YDQvtGG0LXRgdC4ICVsZCIKIAotIzogam9icy5jOjExMTAKKyM6IGpvYnMuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwcm9jZXNzICU1bGQgKCVzKSBpbiB0aGVfcGlwZWxpbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjExMTMKKyM6IGpvYnMuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIG1hcmtlZCBhcyBzdGlsbCBhbGl2ZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQwMQorIzogam9icy5jOjE0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkIgogbXNnc3RyICIiCiAi0L7Qv9C40YHQsNGC0LXQu9C10L0g0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QsCDQv9GA0L7RhtC10YE6ICVsZDog0L3Rj9C80LAg0YLQsNC60YrQsiDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCwINC/0YDQvtGG0LXRgSIKIAotIzogam9icy5jOjE0MTYKKyM6IGpvYnMuYzoxNDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQzMCBqb2JzLmM6MTQ1NQorIzogam9icy5jOjE0NTkgam9icy5jOjE0ODQKIG1zZ2lkICJEb25lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDM5CisjOiBqb2JzLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ0MworIzogam9icy5jOjE0NzIKIG1zZ2lkICJSdW5uaW5nIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDU3CisjOiBqb2JzLmM6MTQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb25lKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ1OQorIzogam9icy5jOjE0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhpdCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ2MgorIzogam9icy5jOjE0OTEKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTU0OQorIzogam9icy5jOjE1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGNvcmUgZHVtcGVkKSAiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE3NzYKKyM6IGpvYnMuYzoxODA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAi0LjQt9GH0LDQutCy0LDQvdC1OiDQv9GA0L7RhtC10YHRitGCINGBINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAICVsZCDQvdC1INC1INC00YrRidC10YDQtdC9INC90LAg0YLQsNC30Lgg0L7QsdCy0LjQstC60LAiCiAKLSM6IGpvYnMuYzoyMzMxCisjOiBqb2JzLmM6MjM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICLQuNC30YfQsNC60LLQsNC90LU6INC70LjQv9GB0LLQsNGCINC00LDQvdC90Lgg0LfQsCDQv9GA0L7RhtC10YEg0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAgJWxkIgogCi0jOiBqb2JzLmM6MjYwNworIzogam9icy5jOjI2MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAi0LjQt9GH0LDQutCy0LDQvdC1INC90LAg0LfQsNC00LDRh9CwOiDQt9Cw0LTQsNGH0LDRgtCwICVkINC1INGB0L/RgNGP0L3QsCIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiDQt9Cw0LTQsNGH0LDRgtCwINC1INC/0YDQuNC60LvRjtGH0LjQu9CwIgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiDQt9Cw0LTQsNGH0LAgJWQg0LLQtdGH0LUg0LUg0LLRitCyINGE0L7QvdC+0LIg0YDQtdC20LjQvCIKIAotIzogam9icy5jOjMwNTkKKyM6IGpvYnMuYzozMDg5CiBtc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTA4CisjOiBqb2JzLmM6MzUzOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiJXM6INC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6ICIKIAotIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKKyM6IGpvYnMuYzozNTY0IGpvYnMuYzozNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTc5CisjOiBqb2JzLmM6MzYwOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjM5CisjOiBqb2JzLmM6MzY2OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY0OQorIzogam9icy5jOjM2NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjc3CisjOiBqb2JzLmM6MzcwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICLQsiDRgtCw0LfQuCDQvtCx0LLQuNCy0LrQsCDQvdGP0LzQsCDRg9C/0YDQsNCy0LvQtdC90LjQtSDQvdCwINC30LDQtNCw0YfQuNGC0LUiCiAKQEAgLTEzNDQsMTAwICsxMzQ0LDEwMCBAQAogbXNnc3RyICIiCiAi0L/RgNC10L3QsNGB0L7Rh9Cy0LDQvdC1OiDQuNC90YHRgtGA0YPQutGG0LjRj9GC0LAg0LfQsCDQv9GA0LXQvdCw0YHQvtGH0LLQsNC90LUg4oCeJWTigJwg0LUg0LjQt9Cy0YrQvSDQtNC+0L/Rg9GB0YLQuNC80LjRjyDQtNC40LDQv9Cw0LfQvtC9IgogCi0jOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CisjOiBwYXJzZS55OjMxNzMgcGFyc2UueTozNDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIiIKICLQvdC10L7Rh9Cw0LrQstCw0L0g0LfQvdCw0Log0LfQsCDQutGA0LDQuSDQvdCwINGE0LDQudC7IOKAnkVPRuKAnCwg0LAg0YHQtSDQvtGH0LDQutCy0LDRiNC1INGB0YrQvtGC0LLQtdGC0YHRgtCy0LDRiSDQt9C90LDQuiDigJ4lY+KAnCIKIAotIzogcGFyc2UueTozOTUxCisjOiBwYXJzZS55OjQwMjUKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L0g0LfQvdCw0Log0LfQsCDQutGA0LDQuSDQvdCwINGE0LDQudC7IOKAnkVPRuKAnCwg0LAg0YHQtSDQvtGH0LDQutCy0LDRiNC1IOKAnl1d4oCcIgogCi0jOiBwYXJzZS55OjM5NTYKKyM6IHBhcnNlLnk6NDAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICLRgdC40L3RgtCw0LrRgtC40YfQvdCwINCz0YDQtdGI0LrQsCDQsiDRg9GB0LvQvtCy0LXQvSDQuNC30YDQsNC3OiDQvdC10L7Rh9Cw0LrQstCw0L3QsCDQu9C10LrRgdC10LzQsCDigJ4lc+KAnCIKIAotIzogcGFyc2UueTozOTYwCisjOiBwYXJzZS55OjQwMzQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAi0YHQuNC90YLQsNC60YLQuNGH0L3QsCDQs9GA0LXRiNC60LAg0LIg0YPRgdC70L7QstC10L0g0LjQt9GA0LDQtyIKIAotIzogcGFyc2UueTo0MDM4CisjOiBwYXJzZS55OjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvdCwINC70LXQutGB0LXQvNCwIOKAniVz4oCcLCDQsCDRgdC1INC+0YfQsNC60LLQsNGI0LUg0LfQvdCw0LrRitGCIOKAninigJwiCiAKLSM6IHBhcnNlLnk6NDA0MgorIzogcGFyc2UueTo0MTE2CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICLQvtGH0LDQutCy0LDRiNC1INGB0LUg4oCeKeKAnCIKIAotIzogcGFyc2UueTo0MDcwCisjOiBwYXJzZS55OjQxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L0g0LDRgNCz0YPQvNC10L3RgiDigJ4lc+KAnCDQt9CwINGD0L3QsNGA0LXQvSDRg9GB0LvQvtCy0LXQvSDQvtC/0LXRgNCw0YLQvtGAIgogCi0jOiBwYXJzZS55OjQwNzQKKyM6IHBhcnNlLnk6NDE0OAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSDQsNGA0LPRg9C80LXQvdGCINC30LAg0YPQvdCw0YDQtdC9INGD0YHQu9C+0LLQtdC9INC+0L/QtdGA0LDRgtC+0YAiCiAKLSM6IHBhcnNlLnk6NDEyMAorIzogcGFyc2UueTo0MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L3QsCDQu9C10LrRgdC10LzQsCDigJ4lc+KAnCwg0L7Rh9Cw0LrQstCw0YjQtSDRgdC1INCx0LjQvdCw0YDQtdC9INGD0YHQu9C+0LLQtdC9INC+0L/QtdGA0LDRgtC+0YAiCiAKLSM6IHBhcnNlLnk6NDEyNAorIzogcGFyc2UueTo0MTk4CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICLQvtGH0LDQutCy0LDRiNC1INGB0LUg0LHQuNC90LDRgNC10L0g0YPRgdC70L7QstC10L0g0L7Qv9C10YDQsNGC0L7RgCIKIAotIzogcGFyc2UueTo0MTQ2CisjOiBwYXJzZS55OjQyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAi0L3QtdC+0YfQsNC60LLQsNC9INCw0YDQs9GD0LzQtdC90YIg4oCeJXPigJwg0LfQsCDQsdC40L3QsNGA0LXQvSDRg9GB0LvQvtCy0LXQvSDQvtC/0LXRgNCw0YLQvtGAIgogCi0jOiBwYXJzZS55OjQxNTAKKyM6IHBhcnNlLnk6NDIyNAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L0g0LDRgNCz0YPQvNC10L3RgiDQt9CwINCx0LjQvdCw0YDQtdC9INGD0YHQu9C+0LLQtdC9INC+0L/QtdGA0LDRgtC+0YAiCiAKLSM6IHBhcnNlLnk6NDE2MQorIzogcGFyc2UueTo0MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICLQvdC10L7Rh9Cw0LrQstCw0L3QsCDQu9C10LrRgdC10LzQsCDigJ4lY+KAnCDQsiDRg9GB0LvQvtCy0L3QsCDQutC+0LzQsNC90LTQsCIKIAotIzogcGFyc2UueTo0MTY0CisjOiBwYXJzZS55OjQyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvdCwINC70LXQutGB0LXQvNCwIOKAniVz4oCcINCyINGD0YHQu9C+0LLQvdCwINC60L7QvNCw0L3QtNCwIgogCi0jOiBwYXJzZS55OjQxNjgKKyM6IHBhcnNlLnk6NDI0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvdCwINC70LXQutGB0LXQvNCwICVkINCyINGD0YHQu9C+0LLQvdCwINC60L7QvNCw0L3QtNCwIgogCi0jOiBwYXJzZS55OjU0NTkKKyM6IHBhcnNlLnk6NTU2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgItGB0LjQvdGC0LDQutGC0LjRh9C90LAg0LPRgNC10YjQutCwINCyINCx0LvQuNC30L7RgdGCINC00L4g0L3QtdC+0YfQsNC60LLQsNC90LDRgtCwINC70LXQutGB0LXQvNCwIOKAniVz4oCcIgogCi0jOiBwYXJzZS55OjU0NzcKKyM6IHBhcnNlLnk6NTU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICLRgdC40L3RgtCw0LrRgtC40YfQvdCwINCz0YDQtdGI0LrQsCDQsiDQsdC70LjQt9C+0YHRgiDQtNC+IOKAniVz4oCcIgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAi0YHQuNC90YLQsNC60YLQuNGH0L3QsCDQs9GA0LXRiNC60LA6INC90LXQvtGH0LDQutCy0LDQvSDQutGA0LDQuSDQvdCwINGE0LDQudC7IgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAi0YHQuNC90YLQsNC60YLQuNGH0L3QsCDQs9GA0LXRiNC60LAiCiAKLSM6IHBhcnNlLnk6NTU0OQorIzogcGFyc2UueTo1NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICLQmNC30L/QvtC70LfQstCw0LnRgtC1IOKAniVz4oCcLCDQt9CwINC00LAg0LjQt9C70LXQt9C10YLQtSDQvtGCINC+0LHQstC40LLQutCw0YLQsC5cbiIKIAotIzogcGFyc2UueTo1NzExCisjOiBwYXJzZS55OjU4MTgKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgItC90LXQvtGH0LDQutCy0LDQvSDQt9C90LDQuiDQt9CwINC60YDQsNC5INC90LAg0YTQsNC50Lsg4oCeRU9G4oCcLCDQvtGH0LDQutCy0LDRiNC1INGB0LUg0LfQvdCw0LrRitGCIOKAninigJwiCiAKQEAgLTE0NDYsNzggKzE0NDYsNzggQEAKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAi0LTQvtC/0LjRgdCy0LDQvdC1OiDRhNGD0L3QutGG0LjRj9GC0LAg4oCeJXPigJwg0L3QtSDQtSDQvtGC0LrRgNC40YLQsCIKIAotIzogcGNvbXBsaWIuYzoxNzkKKyM6IHBjb21wbGliLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgIiIKICLQstC80YrQutCy0LDQvdC1INC90LAg0LfQsNCy0YrRgNGI0LLQsNC90LUg0L3QsCDQutC+0LzQsNC90LTQsDogJXMg0YPQutCw0LfQstCw0L3QtSDQvdCwINC60L7QvNCw0L3QtNCwLCDQutC+0LXRgtC+INC1IE5VTEwiCiAKLSM6IHByaW50X2NtZC5jOjI5MAorIzogcHJpbnRfY21kLmM6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAi0LrQvtC80LDQvdC00LAg0LfQsCDQv9C10YfQsNGCOiDQu9C+0Ygg0LrQvtC90LXQutGC0L7RgCDigJ4lZOKAnCIKIAotIzogcHJpbnRfY21kLmM6MzYzCisjOiBwcmludF9jbWQuYzozNjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiJWQ6INCz0YDQtdGI0LXQvSDRhNCw0LnQu9C+0LIg0LTQtdGB0LrRgNC40L/RgtC+0YA6ICVzIgogCi0jOiBwcmludF9jbWQuYzozNjgKKyM6IHByaW50X2NtZC5jOjM3MwogbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6Mzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoxNDYxCisjOiBwcmludF9jbWQuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi0L7RgtC/0LXRh9Cw0YLQstCw0L3QtTog4oCeJWPigJw6INC90LXQv9GA0LDQstC40LvQtdC9INGE0L7RgNC80LDRgtC40YDQsNGJINC30L3QsNC6IgogCi0jOiByZWRpci5jOjExMAorIzogcmVkaXIuYzoxMjIKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICLRhNCw0LnQu9C+0LLQuNGP0YIg0LTQtdGB0LrRgNC40L/RgtC+0YAg0LUg0LjQt9Cy0YrQvSDQtNC+0L/Rg9GB0YLQuNC80LjRjyDQtNC40LDQv9Cw0LfQvtC9IgogCi0jOiByZWRpci5jOjE2NgorIzogcmVkaXIuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6INC00LLRg9GB0LzQuNGB0LvQtdC90L4g0L/RgNC10L3QsNGB0L7Rh9Cy0LDQvdC1IgogCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6INC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQtdC30LDQv9C40YjQtSDRgdGK0YnQtdGB0YLQstGD0LLQsNGJINGE0LDQudC7IgogCi0jOiByZWRpci5jOjE3NQorIzogcmVkaXIuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiDQv9C+0YDQsNC00Lgg0L7Qs9GA0LDQvdC40YfQtdC90LjQtSDQuNC30YXQvtC00YrRgiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQv9GA0LXQvdCw0YHQvtGH0LgiCiAKLSM6IHJlZGlyLmM6MTgwCisjOiByZWRpci5jOjE5MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQstGA0LXQvNC10L3QtdC9INGE0LDQudC7INC30LAg0LLRitGC0YDQtdGI0LXQvSDQtNC+0LrRg9C80LXQvdGCINGBIOKAnjw84oCcOiAlcyIKIAotIzogcmVkaXIuYzoxODQKKyM6IHJlZGlyLmM6MTk2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6INC90LAg0YfQu9C10L0g0L7RgiDQvNCw0YHQuNCyINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNGB0LLQvtC4INGB0L/QuNGB0YrQuiIKIAotIzogcmVkaXIuYzo1NDQKKyM6IHJlZGlyLmM6NTQ4CiBtc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgogbXNnc3RyICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQg0L3QtSDRgdC1INC/0L7QtNC00YrRgNC20LAsINCw0LrQviDQvdGP0LzQsCDQv9C+0LTQtNGA0YrQttC60LAg0L3QsCDQvNGA0LXQttCwIgogCi0jOiByZWRpci5jOjExMDEKKyM6IHJlZGlyLmM6ODE4IHJlZGlyLmM6OTMwIHJlZGlyLmM6OTkzIHJlZGlyLmM6MTEzNgogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INC/0YDQtdC90LDRgdC+0YfQstCw0L3QtTog0YTQsNC50LvQvtCy0LjRj9GCINC00LXRgdC60YDQuNC/0YLQvtGAINC90LUg0LzQvtC20LUg0LTQsCDQsdGK0LTQtSDQtNGD0LHQu9C40YDQsNC9IgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAi0L3QtSDQtSDQvtGC0LrRgNC40YLQsCDQtNC40YDQtdC60YLQvtGA0LjRj9GC0LAgL3RtcC4g0KHRitC30LTQsNC50YLQtSDRjyEiCiAKLSM6IHNoZWxsLmM6MzM2CisjOiBzaGVsbC5jOjMzNwogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIvdG1wINGC0YDRj9Cx0LLQsCDQtNCwINC1INC00LjRgNC10LrRgtC+0YDQuNGPIgogCkBAIC0xNTI2LDE2ICsxNTI2LDE2IEBACiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6INC90LXQv9GA0LDQstC40LvQvdCwINC+0L/RhtC40Y8iCiAKLSM6IHNoZWxsLmM6MTY1MQorIzogc2hlbGwuYzoxNjUyCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICLQndC1INC80L7QttC1INC00LAg0YHQtSDQv9C+0LvRg9GH0Lgg0LjQvNC10YLQviDQvdCwINGC0LXQutGD0YnQuNGPINC/0L7RgtGA0LXQsdC40YLQtdC7ISIKIAotIzogc2hlbGwuYzoxNzkzCisjOiBzaGVsbC5jOjE3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTc5NAorIzogc2hlbGwuYzoxNzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgpAQCAtMTU0NCw0MyArMTU0NCw0MyBAQAogItCj0L/QvtGC0YDQtdCx0LA6ICAgICVzIFvQtNGK0LvQs9CwINC+0L/RhtC40Y8g0L3QsCBHTlVdIFvQvtC/0YbQuNGPXSDigKZcbiIKICIgICAgICAgICAgICAgJXMgW9C00YrQu9Cz0LAg0L7Qv9GG0LjRjyDQvdCwIEdOVV0gW9C+0L/RhtC40Y9dINGE0LDQudC7LdGB0LrRgNC40L/RgiDigKZcbiIKIAotIzogc2hlbGwuYzoxNzk2CisjOiBzaGVsbC5jOjE3OTgKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICLQlNGK0LvQs9C4INC+0L/RhtC40Lgg0L3QsCBHTlU6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAi0J7Qv9GG0LjQuCDQvdCwINC+0LHQstC40LLQutCw0YLQsDpcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MDMKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIiIKICIgICAgLWlyc0Qg0LjQu9C4IC1jINC60L7QvNCw0L3QtNCwLCDQuNC70LggLU8g0LrRitGB0LBf0L7Qv9GG0LjRjyAgICAgICAgKNGB0LDQvNC+INC/0YDQuCDRgdGC0LDRgNGC0LjRgNCw0L3QtSlcbiIKIAotIzogc2hlbGwuYzoxODE2CisjOiBzaGVsbC5jOjE4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIiAgICAtJXMg0LjQu9C4IC1vINC+0L/RhtC40Y9cbiIKIAotIzogc2hlbGwuYzoxODIyCisjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgogbXNnc3RyICIiCiAi0JfQsCDQv9C+0LLQtdGH0LUg0LjQvdGE0L7RgNC80LDRhtC40Y8g0LfQsCDQvtC/0YbQuNC40YLQtSDQvdCwINC+0LHQstC40LLQutCw0YLQsCDQstGK0LLQtdC00LXRgtC1IOKAniVzIC1jIFwiaGVscCBzZXRcIuKAnC5cbiIKIAotIzogc2hlbGwuYzoxODIzCisjOiBzaGVsbC5jOjE4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogItCX0LAg0L/QvtCy0LXRh9C1INC40L3RhNC+0YDQvNCw0YbQuNGPINC30LAg0LLQs9GA0LDQtNC10L3QuNGC0LUg0LIg0L7QsdCy0LjQstC60LDRgtCwINC60L7QvNCw0L3QtNC4INCy0YrQstC10LTQtdGC0LUg4oCeJXMgLWMgIgogImhlbHDigJwuXG4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgItCX0LAg0LTQsCDQtNC+0LrQu9Cw0LTQstCw0YLQtSDQs9GA0LXRiNC60Lgg0LjQt9C/0L7Qu9C30LLQsNC50YLQtSDQutC+0LzQsNC90LTQsNGC0LAg4oCeYmFzaGJ1Z+KAnC5cbiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAi0LzQsNGB0LrQsCDQt9CwINC+0LHRgNCw0LHQvtGC0LrQsNGC0LAg0L3QsCDRgdC40LPQvdCw0LvQuDogJWQ6INC90LXQstCw0LvQuNC00L3QsCDQvtC/0LXRgNCw0YbQuNGPIgpAQCAtMTc1Niw4NSArMTc1Niw4NSBAQAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAi0LvQvtGI0L4g0LfQsNC80LXRgdGC0LLQsNC90LU6INC70LjQv9GB0LLQsCDQt9Cw0YLQstCw0YDRj9GJINC30L3QsNC6IOKAniVz4oCcINCyICVzIgogCi0jOiBzdWJzdC5jOjI3MzUKKyM6IHN1YnN0LmM6Mjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiJXM6INC90LAg0YfQu9C10L0g0L7RgiDQvNCw0YHQuNCyINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC/0YDQuNGB0LLQvtC4INGB0L/QuNGB0YrQuiIKIAotIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAorIzogc3Vic3QuYzo0OTc5IHN1YnN0LmM6NDk5NQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQv9GA0L7Qs9GA0LDQvNC10L0g0LrQsNC90LDQuyDQt9CwINC30LDQvNC10YHRgtCy0LDQvdC1INC90LAg0L/RgNC+0YbQtdGB0LgiCiAKLSM6IHN1YnN0LmM6NDgwMgorIzogc3Vic3QuYzo1MDI3CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICLQvdC1INC80L7QttC1INC00LAg0YHQtSDRgdGK0LfQtNCw0LTQtSDQtNGK0YnQtdGA0LXQvSDQv9GA0L7RhtC10YEg0LfQsCDQt9Cw0LzQtdGB0YLQstCw0L3QtSDQvdCwINC/0YDQvtGG0LXRgdC4IgogCi0jOiBzdWJzdC5jOjQ4NDcKKyM6IHN1YnN0LmM6NTA3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICLQuNC80LXQvdGD0LLQsNC90LjRj9GCINC/0YDQvtCz0YDQsNC80LXQvSDQutCw0L3QsNC7ICVzINC90LUg0LzQvtC20LUg0LTQsCDRgdC1INC+0YLQstC+0YDQuCDQt9CwINGH0LXRgtC10L3QtSIKIAotIzogc3Vic3QuYzo0ODQ5CisjOiBzdWJzdC5jOjUwNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAi0LjQvNC10L3Rg9Cy0LDQvdC40Y/RgiDQv9GA0L7Qs9GA0LDQvNC10L0g0LrQsNC90LDQuyAlcyDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0Lgg0LfQsCDQt9Cw0L/QuNGBIgogCi0jOiBzdWJzdC5jOjQ4NjcKKyM6IHN1YnN0LmM6NTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIiIKICLQuNC80LXQvdGD0LLQsNC90LjRj9GCINC/0YDQvtCz0YDQsNC80LXQvSDQutCw0L3QsNC7ICVzINC90LUg0LzQvtC20LUg0LTQsCDRgdC1XG4iCiAi0LTRg9Cx0LvQuNGA0LAg0LrQsNGC0L4g0YTQsNC50LvQvtCy0LjRjyDQtNC10YHQutGA0LjQv9GC0L7RgCAlZCIKIAotIzogc3Vic3QuYzo1MDYzCisjOiBzdWJzdC5jOjUyODQKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0L/RgNC+0LPRgNCw0LzQtdC9INC60LDQvdCw0Lsg0LfQsCDQt9Cw0LzQtdGB0YLQstCw0L3QtSDQvdCwINC60L7QvNCw0L3QtNC4IgogCi0jOiBzdWJzdC5jOjUwOTcKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAi0L3QtSDQvNC+0LbQtSDQtNCwINGB0LUg0YHRitC30LTQsNC00LUg0LTRitGJ0LXRgNC10L0g0L/RgNC+0YbQtdGBINC30LAg0LfQsNC80LXRgdGC0LLQsNC90LUg0L3QsCDQutC+0LzQsNC90LTQuCIKIAotIzogc3Vic3QuYzo1MTE0CisjOiBzdWJzdC5jOjUzMzkKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICLQt9Cw0LzQtdGB0YLQstCw0L3QtSDQvdCwINC60L7QvNCw0L3QtNC4OiDQutCw0L3QsNC70YrRgiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQtNGD0LHQu9C40YDQsCDQutCw0YLQviBmZCAxIgogCi0jOiBzdWJzdC5jOjU2MTcKKyM6IHN1YnN0LmM6NTg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6INCw0YDQs9GD0LzQtdC90YLRitGCINC1IG51bGwg0LjQu9C4INC90LUg0LUg0LfQsNC00LDQtNC10L0iCiAKLSM6IHN1YnN0LmM6NTkwNworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIlczog0LjQt9GA0LDQt9GK0YIg0L7RgiDQv9C+0LTQvdC40LfQsCDQtSA8IDAiCiAKLSM6IHN1YnN0LmM6Njk2NQorIzogc3Vic3QuYzo3MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlczog0LvQvtGI0L4g0LfQsNC80LXRgdGC0LLQsNC90LUiCiAKLSM6IHN1YnN0LmM6NzA0NQorIzogc3Vic3QuYzo3MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQt9Cw0LTQsNCy0LAg0L/QviDRgtC+0LfQuCDQvdCw0YfQuNC9IgogCi0jOiBzdWJzdC5jOjczNzQKKyM6IHN1YnN0LmM6NzY4NAogbXNnaWQgIiIKICJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKICJzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo3ODM5CisjOiBzdWJzdC5jOjgxNDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgItC70L7RiNC+INC30LDQvNC10YHRgtCy0LDQvdC1OiDQu9C40L/RgdCy0LAg0LfQsNGC0LLQsNGA0Y/RiSDQt9C90LDQuiDigJ4lc+KAnCDQsiAlcyIKIAotIzogc3Vic3QuYzo4NzIwCisjOiBzdWJzdC5jOjkwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICLQvdGP0LzQsCDRgdGK0LLQv9Cw0LTQtdC90LjQtTogJXMiCkBAIC0xODU3LDMxICsxODU3LDMxIEBACiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAi0L7Rh9Cw0LrQstCwINGB0LUg4oCeKeKAnCwg0LAg0LUg0L/QvtC70YPRh9C10L3QviAlcyIKIAotIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6INC+0YfQsNC60LLQsCDRgdC1INGD0L3QsNGA0LXQvSDQvtC/0LXRgNCw0YLQvtGAIgogCi0jOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczog0L7Rh9Cw0LrQstCwINGB0LUg0LHQuNC90LDRgNC10L0g0L7Qv9C10YDQsNGC0L7RgCIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICLQu9C40L/RgdCy0LAg4oCeXeKAnCIKIAotIzogdHJhcC5jOjIwMworIzogdHJhcC5jOjIwNwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9C10L0g0L3QvtC80LXRgCDQvdCwINGB0LjQs9C90LDQuyIKIAotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICIiCiAi0YHRgtCw0YDRgtC40YDQsNC90LUg0L3QsCDQv9GA0LXQtNGB0YLQvtGP0YnQuNGC0LUg0LrQsNC/0LDQvdC4OiDQvdC10L/RgNCw0LLQuNC70L3QsCDRgdGC0L7QudC90L7RgdGCINCyIHRyYXBfbGlzdFslZF06ICVwIgogCi0jOiB0cmFwLmM6MzMxCisjOiB0cmFwLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgpAQCAtMTg4OSw3ICsxODg5LDcgQEAKICLRgdGC0LDRgNGC0LjRgNCw0L3QtSDQvdCwINC/0YDQtdC00YHRgtC+0Y/RidC40YLQtSDQutCw0L/QsNC90Lg6INC+0LHRgNCw0LHQvtGC0LrQsNGC0LAg0L3QsCDRgdC40LPQvdCw0LvQuCDQtSBTSUdfREZMLlxuIgogIiVkICglcykg0LUg0L/RgNC10LjQt9C/0YDQsNGC0LXQvdC+INC90LAg0YLQtdC60YPRidCw0YLQsCDQvtCx0LLQuNCy0LrQsCIKIAotIzogdHJhcC5jOjM4MAorIzogdHJhcC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgItC+0LHRgNCw0LHQvtGC0LrQsCDQvdCwINC60LDQv9Cw0L3QuDog0L3QtdC/0YDQsNCy0LjQu9C10L0g0YHQuNCz0L3QsNC7ICVkIgpAQCAtMTg5OSw3MiArMTg5OSw3MiBAQAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICLQs9GA0LXRiNC60LAg0L/RgNC4INCy0L3QsNGB0Y/QvdC10YLQviDQvdCwINC00LXRhNC40L3QuNGG0LjRj9GC0LAg0L3QsCDRhNGD0L3QutGG0LjRjyDQt9CwIOKAniVz4oCcIgogCi0jOiB2YXJpYWJsZXMuYzo3NDgKKyM6IHZhcmlhYmxlcy5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAi0L3QuNCy0L7RgtC+INC90LAg0L7QsdCy0LjQstC60LDRgtCwICglZCkg0LUg0L/RgNC10LrQsNC70LXQvdC+INCz0L7Qu9GP0LzQvi4g0JfQsNC00LDQstCwINGB0LUg0LTQsCDQtSAxIgogCi0jOiB2YXJpYWJsZXMuYzoxOTE1CisjOiB2YXJpYWJsZXMuYzoxOTMyCiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAi0YHRitC30LTQsNCy0LDQvdC1INC90LAg0LvQvtC60LDQu9C90LAg0L/RgNC+0LzQtdC90LvQuNCy0LA6INC70LjQv9GB0LLQsCDQutC+0L3RgtC10LrRgdGCINC90LAg0YTRg9C90LrRhtC40Y8g0LIg0YLQtdC60YPRidCw0YLQsCAiCiAi0L7QsdC70LDRgdGCXG4iCiAi0L3QsCDQstC40LTQuNC80L7RgdGCIgogCi0jOiB2YXJpYWJsZXMuYzozMTU5CisjOiB2YXJpYWJsZXMuYzozMTgyCiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAi0LLRgdC40YfQutC4INC70L7QutCw0LvQvdC4INC/0YDQvtC80LXQvdC70LjQstC4OiDQu9C40L/RgdCy0LAg0LrQvtC90YLQtdC60YHRgiDQvdCwINGE0YPQvdC60YbQuNGPINCyINGC0LXQutGD0YnQsNGC0LAg0L7QsdC70LDRgdGCINC90LBcbiIKICLQstC40LTQuNC80L7RgdGCIgogCi0jOiB2YXJpYWJsZXMuYzozMzc2CisjOiB2YXJpYWJsZXMuYzozNDI3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCiBtc2dzdHIgIiVzOiDQsNGA0LPRg9C80LXQvdGC0YrRgiDQtSBudWxsINC40LvQuCDQvdC1INC1INC30LDQtNCw0LTQtdC9IgogCi0jOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKKyM6IHZhcmlhYmxlcy5jOjM0MzIgdmFyaWFibGVzLmM6MzQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70LXQvSDQt9C90LDQuiDQvdCwINC/0L7Qt9C40YbQuNGPICVkINCyINC90LjQt9CwINC30LAg0LjQt9C90LDRgdGP0L3QtSDQt9CwICVzIgogCi0jOiB2YXJpYWJsZXMuYzozMzk2CisjOiB2YXJpYWJsZXMuYzozNDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICLQu9C40L/RgdCy0LAg4oCePeKAnCDQsiDQvdC40LfQsCDQt9CwINC40LfQvdCw0YHRj9C90LUg0LfQsCAlcyIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgogItC40LfQstCw0LbQtNCw0L3QtSDQvdCwINC60L7QvdGC0LXQutGB0YIg0L3QsCDQv9GA0L7QvNC10L3Qu9C40LLQuDog0LIg0L3QsNGH0LDQu9C+0YLQviDQvdCwINGB0YLRgNGD0LrRgtGD0YDQsNGC0LAg0LfQsCDQv9GA0L7QvNC10L3Qu9C40LLQuCAiCiAi0L3QsFxuIgogItC+0LHQstC40LLQutCw0YLQsCAoc2hlbGxfdmFyaWFibGVzKSDQtSDQvdC10YnQviwg0LrQvtC10YLQviDQvdC1INC1INC60L7QvdGC0LXQutGB0YIg0L3QsCDRhNGD0L3QutGG0LjRjyIKIAotIzogdmFyaWFibGVzLmM6Mzg0OAorIzogdmFyaWFibGVzLmM6MzkwNAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICIiCiAi0LjQt9Cy0LDQttC00LDQvdC1INC90LAg0LrQvtC90YLQtdC60YHRgiDQvdCwINC/0YDQvtC80LXQvdC70LjQstC4OiDQu9C40L/RgdCy0LAg0LrQvtC90YLQtdC60YHRgiDQt9CwINCz0LvQvtCx0LDQu9C90Lgg0L/RgNC+0LzQtdC90LvQuNCy0LhcbiIKICIoZ2xvYmFsX3ZhcmlhYmxlcykiCiAKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogItC40LfQstCw0LbQtNCw0L3QtSDQvdCwINC+0LHQu9Cw0YHRgjog0L/QvtGB0LvQtdC00L3QuNGP0YIg0LXQu9C10LzQtdC90YIg0YHRgtGA0YPQutGC0YPRgNCw0YLQsCDQt9CwINC/0YDQvtC80LXQvdC70LjQstC4INC90LAgIgogItC+0LHQstC40LLQutCw0YLQsFxuIgogIihzaGVsbF92YXJpYWJsZXMpINC90LUg0LUg0LLRgNC10LzQtdC90L3QsCDQvtCx0LvQsNGB0YIg0LIg0L7QsdC60YDRitC20LXQvdC40LXRgtC+IgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4CisjOiB2YXJpYWJsZXMuYzo0Nzg2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCiBtc2dzdHIgIiVzOiDQvdC1INC80L7QttC1INC00LAg0YHQtSDQvtGC0LLQvtGA0Lg6ICVzIgogCi0jOiB2YXJpYWJsZXMuYzo0NjgzCisjOiB2YXJpYWJsZXMuYzo0NzkxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiJWQ6INCz0YDQtdGI0LXQvSDRhNCw0LnQu9C+0LIg0LTQtdGB0LrRgNC40L/RgtC+0YA6ICVzIgogCiAjOiB2ZXJzaW9uLmM6NDYKICMsIGZ1enp5Ci1tc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogbXNnc3RyICLQkNCy0YLQvtGA0YHQutC4INC/0YDQsNCy0LAgKEMpIDIwMDUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCiAKICM6IHZlcnNpb24uYzo0NwpAQCAtMjA1NSw3ICsyMDU1LDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjY0Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKK21zZ2lkICJjZCBbLUx8Wy1QIFstZV1dXSBbZGlyXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjY2CkBAIC0yMDc5LDExICsyMDc5LDExIEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo3NgotbXNnaWQgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKK21zZ2lkICJkZWNsYXJlIFstYUFmRmdpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6NzgKLW1zZ2lkICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgorbXNnaWQgInR5cGVzZXQgWy1hQWZGZ2lscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6ODAKQEAgLTIxNzcsNyArMjE3Nyw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxNDAKLW1zZ2lkICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dIgorbXNnaWQgInNldCBbLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFstLV0gW2FyZyAuLi5dIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTQyCkBAIC0yMTg5LDcgKzIxODksNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTQ2Ci1tc2dpZCAicmVhZG9ubHkgWy1hZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgorbXNnaWQgInJlYWRvbmx5IFstYUFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxNDgKQEAgLTI1ODMsMTEgKzI1ODMsMTUgQEAKICIgICAgICAgIC1MXHRmb3JjZSBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZFxuIgogIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgogIiAgICBcdGxpbmtzXG4iCisiICAgICAgICAtZVx0aWYgdGhlIC1QIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iCisiICAgIFx0Y2Fubm90IGJlIGRldGVybWluZWQgc3VjY2Vzc2Z1bGx5LCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXNcbiIKICIgICAgXG4iCiAiICAgIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkOyBub24temVybyBvdGhlcndpc2UuIgorIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5ICIKKyJ3aGVuXG4iCisiICAgIC1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKICIg0KHQvNGP0L3QsCDQvdCwINGC0LXQutGD0YnQsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8g0LTQsCDQtSDQlNCY0KDQldCa0KLQntCg0JjQry4gINCf0YDQvtC80LXQvdC70LjQstCw0YLQsCAkSE9NRSDQtVxuIgogIiAgICDRgdGC0LDQvdC00LDRgNGC0L3QsNGC0LAg0LTQuNGA0LXQutGC0L7RgNC40Y8uICDQn9GA0L7QvNC10L3Qu9C40LLQsNGC0LAgJENEUEFUSCDQvtC/0YDQtdC00LXQu9GPINC/0YrRgtGPINC30LAg0YLRitGA0YHQtdC90LVcbiIKQEAgLTI2MDQsNyArMjYwOCw3IEBACiAiICAgINGE0LDQutGC0LjRh9C10YHQutCw0YLQsCDQv9C+0LTRgNC10LTQsdCwINC90LAg0LTQuNGA0LXQutGC0L7RgNC40LjRgtC1LCDQstC80LXRgdGC0L4g0LTQsCDRgdC1INGB0LvQtdC00LLQsNGCINGB0LjQvNCy0L7Qu9C90LjRgtC1XG4iCiAiICAgINCy0YDRitC30LrQuC4gINCe0L/RhtC40Y/RgtCwIOKAni1M4oCcINC90LDQu9Cw0LPQsCDRgdC70LXQtNCy0LDQvdC10YLQviDQvdCwINGB0LjQvNCy0L7Qu9C90LjRgtC1INCy0YDRitC30LrQuC4iCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNjIwLDcgKzI2MjQsNyBAQAogIiAgICBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0MjgKKyM6IGJ1aWx0aW5zLmM6NDMxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCkBAIC0yNjMxLDcgKzI2MzUsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIg0JHQtdC3INC10YTQtdC60YIgLSDQutC+0LzQsNC90LTQsNGC0LAg0L3QuNGJ0L4g0L3QtSDQv9GA0LDQstC4LiAg0JLRgNGK0YnQsCDRgdC1INC40LfRhdC+0LTQtdC9INC60L7QtCAwLiIKIAotIzogYnVpbHRpbnMuYzo0MzkKKyM6IGJ1aWx0aW5zLmM6NDQyCiBtc2dpZCAiIgogIlJldHVybiBhIHN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI2MzksNyArMjY0Myw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0NDgKKyM6IGJ1aWx0aW5zLmM6NDUxCiBtc2dpZCAiIgogIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI2NDcsNyArMjY1MSw3IEBACiAiICAgIEFsd2F5cyBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0NTcKKyM6IGJ1aWx0aW5zLmM6NDYwCiBtc2dpZCAiIgogIkV4ZWN1dGUgYSBzaW1wbGUgY29tbWFuZCBvciBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTI2NjYsNyArMjY3MCw3IEBACiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgQ09NTUFORCwgb3IgZmFpbHVyZSBpZiBDT01NQU5EIGlzIG5vdCBmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0NzYKKyM6IGJ1aWx0aW5zLmM6NDc5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgpAQCAtMjY3OCw2ICsyNjgyLDggQEAKICIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCiAiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKICIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKICIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgpAQCAtMjY5Nyw3ICsyNzAzLDcgQEAKICIgICAgXG4iCiAiICAgIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBgZGVjbGFyZScgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKICJgbG9jYWwnXG4iCi0iICAgIGNvbW1hbmQuXG4iCisiICAgIGNvbW1hbmQuICBUaGUgYC1nJyBvcHRpb24gc3VwcHJlc3NlcyB0aGlzIGJlaGF2aW9yLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKQEAgLTI3MzMsMTQgKzI3MzksMTQgQEAKICIgICAg0YTRg9C90LrRhtC40Y8g0JjQnNCV0L3QsNGC0LAg0YHRgtCw0LLQsNGCINC70L7QutCw0LvQvdC4LCDQutCw0LrRgtC+INC/0YDQuCDQuNC30L/QvtC70LfQstCw0L3QtdGC0L4g0L3QsCDQutC+0LzQsNC90LTQsNGC0LAgIgogIuKAnmxvY2Fs4oCcLiIKIAotIzogYnVpbHRpbnMuYzo1MTIKKyM6IGJ1aWx0aW5zLmM6NTE3CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgogIiAgICBPYnNvbGV0ZS4gIFNlZSBgaGVscCBkZWNsYXJlJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MjAKKyM6IGJ1aWx0aW5zLmM6NTI1CiBtc2dpZCAiIgogIkRlZmluZSBsb2NhbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMjc1NSw3ICsyNzYxLDcgQEAKICIgICAgb3IgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MzcKKyM6IGJ1aWx0aW5zLmM6NTQyCiAjLCBmdXp6eQogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKQEAgLTI4MDYsNyArMjgxMiw3IEBACiAiICAgINCc0L7QttC10YLQtSDQuNC30YDQuNGH0L3QviDQtNCwINGB0L/RgNC10YLQtSDQuNC90YLQtdGA0L/RgNC10YLQuNGA0LDQvdC10YLQviDQvdCwINCz0L7RgNC90LjRgtC1INC30L3QsNGG0Lgg0YEg0L7Qv9GG0LjRj9GC0LAg4oCeLSIKICJF4oCcLiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI4MTksNyArMjgyNSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjg0Niw3ICsyODUyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjYxNAorIzogYnVpbHRpbnMuYzo2MTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhcmd1bWVudHMgYXMgYSBzaGVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI4NTgsNyArMjg2NCw3IEBACiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgY29tbWFuZCBvciBzdWNjZXNzIGlmIGNvbW1hbmQgaXMgbnVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJQYXJzZSBvcHRpb24gYXJndW1lbnRzLlxuIgpAQCAtMjk0MSw3ICsyOTQ3LDcgQEAKICLRgdCwXG4iCiAiICAgINC00LDQtNC10L3QuCDQv9C+0LLQtdGH0LUg0LDRgNCz0YPQvNC10L3RgtC4LCDRgtC1INCx0LjQstCw0YIg0LDQvdCw0LvQuNC30LjRgNCw0L3QuCDQstC80LXRgdGC0L4g0YLQvtCy0LAuIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yOTY0LDcgKzI5NzAsNyBAQAogIm9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2ODkKKyM6IGJ1aWx0aW5zLmM6Njk0CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGl0IHRoZSBzaGVsbC5cbiIKQEAgLTI5NzUsNyArMjk4MSw3IEBACiAiINCY0LfRhdC+0LQg0L7RgiDQvtCx0LLQuNCy0LrQsNGC0LAg0YEg0LrQvtC0IE4uICDQkNC60L4gTiDQtSDQuNC30L/Rg9GB0L3QsNGCLCDRgtC+INC40LfRhdC+0LTQvdC40Y/RgiDQutC+0LQg0LUg0YLQvtC30Lgg0L3QsFxuIgogIiAgICAg0L/QvtGB0LvQtdC00L3QsNGC0LAg0LjQt9C/0YrQu9C90LXQvdCwINC60L7QvNCw0L3QtNCwLiIKIAotIzogYnVpbHRpbnMuYzo2OTgKKyM6IGJ1aWx0aW5zLmM6NzAzCiBtc2dpZCAiIgogIkV4aXQgYSBsb2dpbiBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0yOTg0LDcgKzI5OTAsNyBAQAogIiAgICBpbiBhIGxvZ2luIHNoZWxsLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjcwOAorIzogYnVpbHRpbnMuYzo3MTMKICMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuXG4iCkBAIC0zMDQwLDcgKzMwNDYsNyBAQAogItC60L7Qs9Cw0YLQvlxuIgogIiAgICDRgdC1INCy0YrQstC10LTQtSDRgdCw0LzQviDigJ4tcuKAnCwg0YnQtSDRgdC1INC40LfQv9GK0LvQvdC4INC/0L7RgdC70LXQtNC90LDRgtCwINC60L7QvNCw0L3QtNCwLiIKIAotIzogYnVpbHRpbnMuYzo3MzgKKyM6IGJ1aWx0aW5zLmM6NzQzCiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb3ZlIGpvYiB0byB0aGUgZm9yZWdyb3VuZC5cbiIKQEAgLTMwNTUsNyArMzA2MSw3IEBACiAiINCY0LfQstCw0LbQtNCwINCX0JDQlNCQ0KfQkCDQvtGCINGE0L7QvdC+0LIg0YDQtdC20LjQvCDQuCDRjyDQv9GA0LDQstC4INGC0LXQutGD0YnQsCDQt9Cw0LTQsNGH0LAuICDQkNC60L4g0LvQuNC/0YHQstCwXG4iCiAiICAgINCw0YDQs9GD0LzQtdC90YIg0JfQkNCU0JDQp9CQLCDRgdC1INC40LfQv9C+0LvQt9Cy0LAg0YLQtdC60YPRidCw0YLQsCDQt9Cw0LTQsNGH0LAg0YHQv9C+0YDQtdC0INC+0LHQstC40LLQutCw0YLQsC4iCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogIywgZnV6enkKIG1zZ2lkICIiCiAiTW92ZSBqb2JzIHRvIHRoZSBiYWNrZ3JvdW5kLlxuIgpAQCAtMzA3Miw3ICszMDc4LDcgQEAKICIg0J/QvtGB0YLQsNCy0Y8g0LLRgdGP0LrQsCDQl9CQ0JTQkNCn0JAg0LLRitCyINGE0L7QvdC+0LIg0YDQtdC20LjQvCwg0LLRgdC1INC10LTQvdC+INC1INCx0LjQu9CwINGB0YLQsNGA0YLQuNGA0LDQvdCwINGBIOKAnibigJwuXG4iCiAiICAgINCQ0LrQviDQu9C40L/RgdCy0LAg0LDRgNCz0YPQvNC10L3RgiDQl9CQ0JTQkNCn0JAsINGB0LUg0LjQt9C/0L7Qu9C30LLQsCDRgtC10LrRg9GJ0LDRgtCwINC30LDQtNCw0YfQsCDRgdC/0L7RgNC10LQg0L7QsdCy0LjQstC60LDRgtCwLiIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzA5Niw3ICszMTAyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3OTIKKyM6IGJ1aWx0aW5zLmM6Nzk3CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zMTE4LDcgKzMxMjQsNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgpAQCAtMzE4Niw3ICszMTkyLDcgQEAKICLQstGA0LXQvNC10YLQviDQvdC1XG4iCiAiICAgINGB0LUg0LfQsNC/0LjRgdCy0LAuIgogCi0jOiBidWlsdGlucy5jOjg1MgorIzogYnVpbHRpbnMuYzo4NTcKICMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgc3RhdHVzIG9mIGpvYnMuXG4iCkBAIC0zMjI3LDcgKzMyMzMsNyBAQAogItC60LDRgtC+XG4iCiAiICAgINCw0YDQs9GD0LzQtdC90YLQuCwg0YHQtSDQt9Cw0LzQtdC90Y/RgiDRgSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgNCwINC90LAg0LLQvtC00LDRh9CwINC90LAg0LPRgNGD0L/QsNGC0LAg0L/RgNC+0YbQtdGB0LguIgogCi0jOiBidWlsdGlucy5jOjg3OQorIzogYnVpbHRpbnMuYzo4ODQKIG1zZ2lkICIiCiAiUmVtb3ZlIGpvYnMgZnJvbSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMyNDQsNyArMzI1MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4OTgKKyM6IGJ1aWx0aW5zLmM6OTAzCiAjLCBmdXp6eQogbXNnaWQgIiIKICJTZW5kIGEgc2lnbmFsIHRvIGEgam9iLlxuIgpAQCAtMzI3Niw3ICszMjgyLDcgQEAKICIgICAg0LfQsCDQstCw0YEg0LHRgNC+0Lkg0L/RgNC+0YbQtdGB0LgsINC90Y/QvNCwINC00LAg0LLQuCDRgdC1INC90LDQu9Cw0LPQsCDQtNCwINC/0YPRgdC90LXRgtC1INC+0YnQtSDQtdC00LjQvSDQv9GA0L7RhtC10YEsXG4iCiAiICAgINC30LAg0LTQsCDRg9Cx0LjQtdGC0LUg0LTRgNGD0LMuIgogCi0jOiBidWlsdGlucy5jOjkyMQorIzogYnVpbHRpbnMuYzo5MjYKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCkBAIC0zMzE5LDcgKzMzMjUsNyBAQAogIiAgICBydWxlcyBhYm92ZS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4iCisiICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAiINCS0YHQtdC60Lgg0LDRgNCz0YPQvNC10L3RgiDQtSDQsNGA0LjRgtC80LXRgtC40YfQtdC9INC40LfRgNCw0LcsINC60L7QudGC0L4g0YHQtSDQsdGK0LTQtSDQuNC30YfQuNGB0LvQtdC9LiAg0JjQt9GH0LjRgdC70LXQvdC40Y/RgtCwXG4iCiAiICAgINGB0LUg0LjQt9Cy0YrRgNGI0LLQsNGCINCyINCw0YDQuNGC0LzQtdGC0LjQutCwINGBINGG0LXQu9C+0YfQuNGB0LvQtdC90Lgg0YHRgtC+0LnQvdC+0YHRgtC4INGBINC/0L7RgdGC0L7Rj9C90L3QsCDRiNC40YDQvtGH0LjQvdCwXG4iCkBAIC0zMzYwLDcgKzMzNjYsNyBAQAogIiAgICDQkNC60L4g0L/QvtGB0LvQtdC00L3QuNGP0YIg0JDQoNCT0KPQnNCV0J3QoiDRgdC1INC40LfRh9C40YHQu9GP0LLQsCDQutCw0YLQviAwLCDigJ5sZXTigJwg0LLRgNGK0YnQsCAxLiDQklxuIgogIiAgICDQv9GA0L7RgtC40LLQtdC9INGB0LvRg9GH0LDQuSAtINCy0YDRitGJ0LAgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6OTY2CisjOiBidWlsdGlucy5jOjk3MQogIywgZnV6enkKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgpAQCAtMzQ0NCw3ICszNDUwLDcgQEAKICIgICAg0JjQndCi0JXQoNCS0JDQm9GK0YIg0LfQsCDQstGK0LLQtdC20LTQsNC90LUg0LjQu9C4INC1INC30LDQtNCw0LTQtdC9INC90LXQv9GA0LDQstC40LvQtdC9INGE0LDQudC70L7QsiDQtNC10YHQutGA0LjQv9GC0L7RgCDQutCw0YLQvlxuIgogIiAgICDQsNGA0LPRg9C80LXQvdGCINC90LAg4oCeLXXigJwuIgogCi0jOiBidWlsdGlucy5jOjEwMDkKKyM6IGJ1aWx0aW5zLmM6MTAxNAogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM0NTYsNyArMzQ2Miw3IEBACiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDIyCisjOiBidWlsdGlucy5jOjEwMjcKICMsIGZ1enp5CiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgpAQCAtMzUyNiw2ICszNTMyLDkgQEAKICIgICAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzXG4iCiAiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKICIgICAgICAtVCAgSWYgc2V0LCB0aGUgREVCVUcgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC0tICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgICAgICAgYXJlIHVuc2V0LlxuIgogIiAgICAgIC0gICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgogIiAgICBcbiIKQEAgLTM2MjUsNyArMzYzNCw3IEBACiAiICAgINGB0YrQvtGC0LLQtdGC0L3QviDQvdCwICQxLCAkMizigKYgJG4uICDQkNC60L4g0L3QtSDRgdCwINC30LDQtNCw0LTQtdC90Lgg0JDQoNCT0YPQvNC10L3RgtC4LCDRgdC1INC40LfQstC10LbQtNCw0YJcbiIKICIgICAg0LLRgdC40YfQutC4INC/0YDQvtC80LXQvdC70LjQstC4INC90LAg0YHRgNC10LTQsNGC0LAuIgogCi0jOiBidWlsdGlucy5jOjExMDQKKyM6IGJ1aWx0aW5zLmM6MTExMgogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzY0NSw3ICszNjU0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTM2NjQsNyArMzY3Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzY4NCw3ICszNjkzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2NAorIzogYnVpbHRpbnMuYzoxMTcyCiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zNjk1LDcgKzM3MDQsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgpAQCAtMzcxNiw3ICszNzI1LDcgQEAKICIgICAg0YHQsCDQt9Cw0LTQsNC00LXQvdC4INCQ0KDQk9Cj0JzQldCd0KLQmCwg0YLQtSDRgdC1INC/0YDQtdCy0YDRitGJ0LDRgiDQsiDQv9C+0LfQuNGG0LjQvtC90L3QuCDQsNGA0LPRg9C80LXQvdGC0Lgg0L/RgNC4XG4iCiAiICAgINC40LfQv9GK0LvQvdC10L3QuNC10YLQviDQvdCwINCk0JDQmdCb0LAuIgogCi0jOiBidWlsdGlucy5jOjEyMDcKKyM6IGJ1aWx0aW5zLmM6MTIxNQogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNzMwLDcgKzM3MzksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjIzCisjOiBidWlsdGlucy5jOjEyMzEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCkBAIC0zNzM4LDcgKzM3NDcsMTAgQEAKICIgICAgRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlKSBvciAxIChmYWxzZSkgZGVwZW5kaW5nIG9uXG4iCiAiICAgIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnlcbiIKICIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCi0iICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFzIHdlbGwsIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgogIiAgICBcbiIKICIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgpAQCAtMzc5Miw2ICszODA0LDcgQEAKICIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKICIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgogIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKICIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgogIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCkBAIC0zODgxLDcgKzM4OTQsNyBAQAogIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKAni1lceKAnCAoPSksICDigJ4tbmXigJwgKCE9KSwg4oCeLWx04oCcICg8KSxcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDigJ4tbGXigJwgKDw9KSwg4oCeLWd04oCcICg+KSAsIOKAni1nZeKAnCAoPj0pLiIKIAotIzogYnVpbHRpbnMuYzoxMjk5CisjOiBidWlsdGlucy5jOjEzMTEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCkBAIC0zODkzLDcgKzM5MDYsNyBAQAogIiAgICDQt9Cw0LTRitC70LbQuNGC0LXQu9C90L4g0LTQsCDQtSDQt9C90LDQutGK0YIg4oCeXeKAnCwg0LrQvtC50YLQviDQtNCwINGB0YrQvtGC0LLQtdGC0YHRgtCy0LAg0L3QsCDQvtGC0LLQsNGA0Y/RidCw0YLQsCDRgdC60L7QsdCwICIKICLigJ5b4oCcLiIKIAotIzogYnVpbHRpbnMuYzoxMzA4CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTM5MDUsNyArMzkxOCw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzIwCisjOiBidWlsdGlucy5jOjEzMzIKICMsIGZ1enp5CiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgpAQCAtMzkyMiw3ICszOTM1LDE1IEBACiAiICAgIFxuIgogIiAgICBJZiBhIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20gdGhlIHNoZWxsLiAgIgogIklmXG4iCi0iICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuICAiCisiSWZcbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBSRVRVUk4sIEFSRyBpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciAiCisiYVxuIgorIiAgICBzY3JpcHQgcnVuIGJ5IHRoZSAuIG9yIHNvdXJjZSBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuICBBICIKKyJTSUdOQUxfU1BFQ1xuIgorIiAgICBvZiBFUlIgbWVhbnMgdG8gZXhlY3V0ZSBBUkcgZWFjaCB0aW1lIGEgY29tbWFuZCdzIGZhaWx1cmUgd291bGQgY2F1c2UgIgorInRoZVxuIgorIiAgICBzaGVsbCB0byBleGl0IHdoZW4gdGhlIC1lIG9wdGlvbiBpcyBlbmFibGVkLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCwgdHJhcCBwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgIgogImFzc29jaWF0ZWRcbiIKQEAgLTM5NjEsNyArMzk4Miw3IEBACiAi0L3QsFxuIgogIiAgICDQvtCx0LLQuNCy0LrQsNGC0LAg0YEg0LrQvtC80LDQvdC00LDRgtCwIOKAnmtpbGwgLXNpZ25hbCAkJOKAnC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM1MgorIzogYnVpbHRpbnMuYzoxMzY4CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTM5OTEsNyArNDAxMiw3IEBACiAiZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MworIzogYnVpbHRpbnMuYzoxMzk5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgpAQCAtNDA3MCw3ICs0MDkxLDcgQEAKICIgICAgICAgIC0g0L7Qv9GG0LjRj9GC0LAg4oCeLXTigJwsINC/0YDQuCDQutC+0Y/RgtC+INGB0YLQvtC50L3QvtGB0YLRgtCwINC1INCyINGB0LXQutGD0L3QtNC4O1xuIgogIiAgICAgICAgLSDQvtC/0YbQuNGP0YLQsCDigJ4tdeKAnCwg0L/RgNC4INC60L7Rj9GC0L4g0YHRgtC+0LnQvdC+0YHRgtGC0LAg0LUg0YLQvtGH0L3QuNGP0YIg0LHRgNC+0Lkg0L/RgNC+0YbQtdGB0LguIgogCi0jOiBidWlsdGlucy5jOjE0MjgKKyM6IGJ1aWx0aW5zLmM6MTQ0NAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC00MDg4LDcgKzQxMDksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDQ4CisjOiBidWlsdGlucy5jOjE0NjQKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00MTA1LDcgKzQxMjYsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDY2CisjOiBidWlsdGlucy5jOjE0ODIKICMsIGZ1enp5CiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgpAQCAtNDEyNyw3ICs0MTQ4LDcgQEAKICLRgdC1XG4iCiAiICAgINCy0YHQuNGH0LrQuCDQv9GA0L7RhtC10YHQuCDQsiDQv9GA0L7Qs9GA0LDQvNC90LjRjyDQutCw0L3QsNC7INC90LAg0LfQsNC00LDRh9Cw0YLQsC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ4MQorIzogYnVpbHRpbnMuYzoxNDk3CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCkBAIC00MTQ3LDcgKzQxNjgsNyBAQAogIiAgICDQstGB0LXQutC4INC10LvQtdC80LXQvdGCINCyINCU0KPQnNCY0YLQtSwg0JjQnNCV0YLQviDRgdC1INC30LDQtNCw0LLQsCDQtNCwINC1INC10LvQtdC80LXQvdGC0YrRgiDQuCDRgdC1INC40LfQv9GK0LvQvdGP0LLQsNGCXG4iCiAiICAgINCa0J7QnNCQ0J3QlNCY0YLQtS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiAjLCBmdXp6eQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgpAQCAtNDE3NCw3ICs0MTk1LDcgQEAKICLRgdC1XG4iCiAiICAgINC40LfRh9C40YHQu9GP0LLQsCDQtNCwINC1IDEuIgogCi0jOiBidWlsdGlucy5jOjE1MTMKKyM6IGJ1aWx0aW5zLmM6MTUyOQogIywgZnV6enkKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgpAQCAtNDIxMiw3ICs0MjMzLDcgQEAKICIgICAg0LjQt9C/0YrQu9C90Y/QstCw0YIg0YHQu9C10LQg0LLRgdC10LrQuCDQuNC30LHQvtGAINC00L4g0LjQt9C/0YrQu9C90Y/QstCw0L3QtdGC0L4g0L3QsCDQutC+0LzQsNC90LTQsCDQt9CwINC/0YDQtdC60YrRgdCy0LDQvdC1XG4iCiAiICAgIChicmVhaykuIgogCi0jOiBidWlsdGlucy5jOjE1MzQKKyM6IGJ1aWx0aW5zLmM6MTU1MAogIywgZnV6enkKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCkBAIC00MjM2LDcgKzQyNTcsNyBAQAogItGB0L/QvtGA0LXQtFxuIgogIiAgICDRgdGC0L7QudC90L7RgdGC0YLQsCDQvdCwINC/0YDQvtC80LXQvdC70LjQstCw0YLQsCDQvdCwINGB0YDQtdC00LDRgtCwICRUSU1FRk9STUFULiIKIAotIzogYnVpbHRpbnMuYzoxNTUxCisjOiBidWlsdGlucy5jOjE1NjcKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKQEAgLTQyNTAsNyArNDI3MSw3IEBACiAiINCY0LfQsdC40YDQsNGC0LXQu9C90L4g0YHQtSDQuNC30L/RitC70L3Rj9Cy0LDRgiDQmtCe0JzQkNCd0JTQmCDQvdCwINCx0LDQt9CwINCU0KPQnNCQLCDQutC+0Y/RgtC+INC90LDQv9Cw0YHQstCwINC90LAg0KjQkNCR0JvQntCdLlxuIgogIiAgICDQqNCw0LHQu9C+0L3QuNGC0LUg0YHQtSDRgNCw0LfQtNC10LvRj9GCINGB0YrRgSDQt9C90LDQutCwIOKAnnzigJwuIgogCi0jOiBidWlsdGlucy5jOjE1NjMKKyM6IGJ1aWx0aW5zLmM6MTU3OQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKQEAgLTQyODcsNyArNDMwOCw3IEBACiAi0LDQutC+XG4iCiAiICAgINC90LjQutC+0LUg0YLQtdGB0YLQvtCy0L4g0YPRgdC70L7QstC40LUsINC90LUg0YHQtSDQtSDQvtGG0LXQvdC40LvQviDQutCw0YLQviDQuNGB0YLQuNC90LAuIgogCi0jOiBidWlsdGlucy5jOjE1ODAKKyM6IGJ1aWx0aW5zLmM6MTU5NgogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKQEAgLTQzMDIsNyArNDMyMyw3IEBACiAi4oCed2hpbGXigJxcbiIKICIgICAg0LUg0YEg0LjQt9GF0L7QtNC10L0g0LrQvtC0LCDQutC+0LnRgtC+INC1IDAuIgogCi0jOiBidWlsdGlucy5jOjE1OTIKKyM6IGJ1aWx0aW5zLmM6MTYwOAogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgpAQCAtNDMxNyw3ICs0MzM4LDcgQEAKICLigJ51bnRpbOKAnFxuIgogIiAgICDQtSDRgSDQuNC30YXQvtC00LXQvSDQutC+0LQsINC60L7QudGC0L4g0L3QtSDQtSAwLiIKIAotIzogYnVpbHRpbnMuYzoxNjA0CisjOiBidWlsdGlucy5jOjE2MjAKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtNDMzMCw3ICs0MzUxLDcgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjE4CisjOiBidWlsdGlucy5jOjE2MzQKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQzNDQsNyArNDM2NSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCisjOiBidWlsdGlucy5jOjE2NDgKICMsIGZ1enp5CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKQEAgLTQzNTksNyArNDM4MCw3IEBACiAi0YHQtVxuIgogIiAgICDRhtGP0Lsg0L3QsNCx0L7RgCDQvtGCINC60L7QvNCw0L3QtNC4LiIKIAotIzogYnVpbHRpbnMuYzoxNjQ0CisjOiBidWlsdGlucy5jOjE2NjAKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKQEAgLTQzNzksNyArNDQwMCw3IEBACiAiICAgINGB0LUg0LjQt9C/0YrQu9C90Y/QstCwINCy0YrQsiDRhNC+0L3QvtCyINGA0LXQttC40LwsINCy0YHQtSDQtdC00L3QviDQtSDQsdC40LvQsCDQv9C+0LTQsNC00LXQvdCwINC60LDRgtC+INCw0YDQs9GD0LzQtdC90YJcbiIKICIgICAg0L3QsCDQutC+0LzQsNC90LTQsNGC0LAg4oCeYmfigJwuIgogCi0jOiBidWlsdGlucy5jOjE2NTkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgpAQCAtNDM5Myw3ICs0NDE0LDcgQEAKICIg0JjQl9Cg0JDQl9GK0YIg0YHQtSDQuNC30YfQuNGB0LvRj9Cy0LAg0YHQv9C+0YDQtdC0INC/0YDQsNCy0LjQu9Cw0YLQsCDQvdCwINCw0YDQuNGC0LzQtdGC0LjRh9C90L7RgtC+INC+0YbQtdC90Y/QstCw0L3QtS5cbiIKICIgICAg0JXQutCy0LjQstCw0LvQtdC90YLQvdC+INC90LAg4oCebGV0INCY0JfQoNCQ0JfigJwuIgogCi0jOiBidWlsdGlucy5jOjE2NzEKKyM6IGJ1aWx0aW5zLmM6MTY4NwogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgpAQCAtNDQ0Myw3ICs0NDY0LDcgQEAKICIgICAg4oCeJibigJwg0Lgg4oCefHzigJwg0L3QtSDQvtGG0LXQvdGP0YIg0JjQl9Cg0JDQlzIsINCw0LrQviDQmNCX0KDQkNCXMSDQtSDQtNC+0YHRgtCw0YLRitGH0LXQvSDQt9CwINC+0L/RgNC10LTQtdC70Y/QvdC1INC90LBcbiIKICIgICAg0YHRgtC+0LnQvdC+0YHRgtGC0LAg0L3QsCDQuNC30YDQsNC30LAuIgogCi0jOiBidWlsdGlucy5jOjE2OTcKKyM6IGJ1aWx0aW5zLmM6MTcxMwogIywgZnV6enkKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKQEAgLTQ1NzIsNyArNDU5Myw3IEBACiAi0LrQvtC4XG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAg0LrQvtC80LDQvdC00Lgg0LTQsCDQvdC1INGB0LUg0LfQsNC/0LDQt9Cy0LDRgiDQsiDQuNGB0YLQvtGA0LjRj9GC0LAuXG4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc1NAorIzogYnVpbHRpbnMuYzoxNzcwCiAjLCBmdXp6eQogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCkBAIC00NjIzLDcgKzQ2NDQsNyBAQAogIiAgICBcbiIKICIgICAg0JzQvtC20LXRgtC1INC00LAg0LjQt9Cy0LXQtNC10YLQtSDRgdGC0LXQutCwINC90LAg0LTQuNGA0LXQutGC0L7RgNC40Y/RgtCwINGBINC60L7QvNCw0L3QtNCw0YLQsCDigJ5kaXJz4oCcLiIKIAotIzogYnVpbHRpbnMuYzoxNzg4CisjOiBidWlsdGlucy5jOjE4MDQKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgpAQCAtNDY2OCw3ICs0Njg5LDcgQEAKICJcbiIKICIgICAg0KHRgtC10LrRitGCINGBINC00LjRgNC10LrRgtC+0YDQuNC40YLQtSDRgdC1INCy0LjQt9GD0LDQu9C40LfQuNGA0LAg0YEg0LrQvtC80LDQvdC00LDRgtCwIOKAnmRpcnPigJwuIgogCi0jOiBidWlsdGlucy5jOjE4MTgKKyM6IGJ1aWx0aW5zLmM6MTgzNAogIywgZnV6enkKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCkBAIC00NzIwLDcgKzQ3NDEsNyBAQAogIiAgICAtTiAg0L/QvtC60LDQt9Cy0LAgTi3RgtC40Y8g0LXQu9C10LzQtdC90YIg0L7RgtC00Y/RgdC90L4g0LIg0YHQv9C40YHRitC60LAg0L/QvtC60LDQt9Cy0LDQvSDQvtGCXG4iCiAiICAgICAgICDQutC+0LzQsNC90LTQsNGC0LAg4oCeZGlyc+KAnCwg0LrQvtCz0LDRgtC+INC1INGB0YLQsNGA0YLQuNGA0LDQvdCwINCx0LXQtyDQvtC/0YbQuNC4LiAg0JHRgNC+0Lgg0YHQtSDQvtGCIDAuIgogCi0jOiBidWlsdGlucy5jOjE4NDcKKyM6IGJ1aWx0aW5zLmM6MTg2MwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNDc0MSw3ICs0NzYyLDcgQEAKICIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODY4CisjOiBidWlsdGlucy5jOjE4ODQKICMsIGZ1enp5CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgpAQCAtNDc2NSw2ICs0Nzg2LDkgQEAKICIgICAgXG4iCiAiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgogIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgpAQCAtNDc4OCw3ICs0ODEyLDcgQEAKICIgICAg0LLRhdC+0LQg0LfQsCDQvtCx0LLQuNCy0LrQsNGC0LAuINCQ0LrQviDQtSDQstC60LvRjtGH0LXQvdCwINC+0L/RhtC40Y/RgtCwIOKAni124oCcLCDQuNC30YXQvtC00YrRgiDRgdC1INC/0L7RgdGC0LDQstGPINCyXG4iCiAiICAgINC/0YDQvtC80LXQvdC70LjQstCw0YLQsCDQvdCwINC+0LHQstC40LLQutCw0YLQsCBWQVIsINCy0LzQtdGB0YLQviDQtNCwINGB0LUg0LjQt9Cy0LXQttC00LAg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QuNGPINC40LfRhdC+0LQuIgogCi0jOiBidWlsdGlucy5jOjE4OTUKKyM6IGJ1aWx0aW5zLmM6MTkxMwogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC00ODE1LDcgKzQ4MzksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTIzCisjOiBidWlsdGlucy5jOjE5NDEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgpAQCAtNDgzNiwxMyArNDg2MCwxMyBAQAogItGBXG4iCiAiICAgINC90LXQs9C+LiIKIAotIzogYnVpbHRpbnMuYzoxOTM4CisjOiBidWlsdGlucy5jOjE5NTYKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKICIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCiAic3VwcGxpZWQsXG4iCi0iICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWdpbiBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVubSwgIgorIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVpbmcgZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbiwgIgogInByaW50XG4iCiAiICAgIHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uICIKICJzcGVjaWZpY2F0aW9uLlxuIgpAQCAtNDg2Nyw3ICs0ODkxLDcgQEAKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5NjgKKyM6IGJ1aWx0aW5zLmM6MTk4NgogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCkBAIC00ODk1LDcgKzQ5MTksOCBAQAogIiAgICBcbiIKICIgICAgSWYgLUMgaXMgc3VwcGxpZWQgd2l0aG91dCAtYywgdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLiAgV2hlblxuIgogIiAgICBDQUxMQkFDSyBpcyBldmFsdWF0ZWQsIGl0IGlzIHN1cHBsaWVkIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBhcnJheVxuIgotIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuXG4iCisiICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudFxuIgorIiAgICBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZICIKICJiZWZvcmVcbiIKQEAgLTQ5MDcsNyArNDkzMiw3IEBACiAiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjIwMDEKKyM6IGJ1aWx0aW5zLmM6MjAyMAogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpkaWZmIC0tZ2l0IGEvcG8vY2EuZ21vIGIvcG8vY2EuZ21vCmluZGV4IGMzNGI0NDYuLjJlMTU1MmIgMTAwNjQ0Ci0tLSBhL3BvL2NhLmdtbworKysgYi9wby9jYS5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vY2EucG8gYi9wby9jYS5wbwppbmRleCAxNGIyZTFkLi5hNzA3OTgwIDEwMDY0NAotLS0gYS9wby9jYS5wbworKysgYi9wby9jYS5wbwpAQCAtNyw3ICs3LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaC0yLjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDExLTAxLTI4IDIyOjA5LTA1MDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiAyMDAzLTEyLTI4IDE5OjU5KzAxMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IE1vbnR4byBWaWNlbnRlIGkgU2VtcGVyZSA8bW9udHhvQGFsYWNhbnQuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IENhdGFsYW4gPGNhQGRvZGRzLm5ldD5cbiIKQEAgLTE5LDcgKzE5LDcgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJsYSBtYXRyaXUgZXN0PyBtYWwgY29tcG9zdGEiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTM5LDI2ICszOSwyNiBAQAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6MzgzCisjOiBiYXNoaGlzdC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBubyBlcyBwb3QgY3JlYXI6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0NTcKKyM6IGJhc2hsaW5lLmM6MzQ5OAogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM1NDMKKyM6IGJhc2hsaW5lLmM6MzU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM2MDYKKyM6IGJhc2hsaW5lLmM6MzY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiIKQEAgLTExOCwyNiArMTE4LDExIEBACiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKLW1zZ2lkICIiCi0iLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCi0iICAgICIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgotbXNnaWQgIiIKLSI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKLSIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgotIiAgICBcbiIKLSIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgotIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jZC5kZWY6MjE1CisjOiBidWlsdGlucy9jZC5kZWY6MjM1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMjcKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyNDcKIG1zZ2lkICJPTERQV0Qgbm90IHNldCIKIG1zZ3N0ciAiIgogCkBAIC0xNTYsMTEgKzE0MSwxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgzMgogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAibm9tYnJlIGV4Y2Vzc2l1IGRlIHBhcj9tZXRyZXMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NTAwIHNoZWxsLmM6NzgyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICJjYWwgdW4gcGFyP21ldHJlIHBlciBhIGwnb3BjaT86IC0iCkBAIC0yMDAsNyArMTg1LDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgIm4/bWVybyBpbnY/bGlkIGRlIHNlbnlhbCIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKICMsIGZ1enp5CiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIm4/bWVybyBpbnY/bGlkIGRlIHNlbnlhbCIKQEAgLTMxMywyNyArMjk4LDI3IEBACiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjIKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAogIywgZnV6enkKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgIiIKICJzZXJ2aXIgTE9DQUwgZGlucyBkJ3VuYSBmdW5jaT87IGE/PyByZXN0cmluZ2lyPyBsYSBtYWduaXR1ZCB2aXNpYmxlIGRlIGxhIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzggZXhlY3V0ZV9jbWQuYzo1MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6IGZ1bmNpPyBub20/cyBkZSBsZWN0dXJhIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBubyBlcyBwb3QgYXNzaWduYXIgZCdhcXVlc3RhIG1hbmVyYSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTM2MiwyOSArMzQ3LDI5IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogbm8gZXMgcG90IGNyZWFyOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAotIzogc2hlbGwuYzoxNDUyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNSBidWlsdGlucy9oYXNoLmRlZjoxNzEgZXhlY3V0ZV9jbWQuYzo0OTYxCisjOiBzaGVsbC5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogP3MgdW4gZGlyZWN0b3JpIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzOQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIiVzOiBubyBlcyBwb3QgZXhlY3V0YXIgZWwgZml0eGVyIGJpbmFyaSIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDcKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKLSM6IHNoZWxsLmM6MTQ2MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczogbm8gZXMgcG90IGV4ZWN1dGFyIGVsIGZpdHhlciBiaW5hcmkiCiAKLSM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgorIzogYnVpbHRpbnMvZXhlYy5kZWY6MTU0IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NiBidWlsdGlucy9leGVjLmRlZjoyMjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCiBtc2dzdHIgIiVzOiBubyBlcyBwb3QgY3JlYXI6ICVzIgpAQCAtNDEzLDExICszOTgsMTEgQEAKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICIlczogbm8gcydoYSB0cm9iYXQgbCdvcmRyZSIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM0OQorIzogYnVpbHRpbnMvZmMuZGVmOjMxMiBidWlsdGlucy9mYy5kZWY6MzU5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozODAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczogbm8gZXMgcG90IGNyZWFyOiAlcyIKQEAgLTQ1MCw3ICs0MzUsNyBAQAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0CisjOiBidWlsdGlucy9oYXNoLmRlZjoyNDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKIG1zZ3N0ciAic2kgcydlc2NyaXUgXCJyXCIgcydleGVjdXRhcj8gbGEgZGFycmVyYSBvcmRyZS4iCkBAIC01MDcsNzggKzQ5Miw4OCBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCisjOiBidWlsdGlucy9raWxsLmRlZjoxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjMKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MQogIywgZnV6enkKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICJFcnJvciBkZXNjb25lZ3V0ICVkIgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJzJ2VzcGVyYXZhIHVuYSBleHByZXNzaT8iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTcyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiVzOiB2YXJpYWJsZSBzZW5zZSB2aW5jbGUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NiBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY0IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3MyBidWlsdGlucy9tYXBmaWxlLmRlZjozMTEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVjJWM6IG9wY2k/IGludj9saWRhIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlYyVjOiBvcGNpPyBpbnY/bGlkYSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIm4/bWVybyBpbnY/bGlkIGRlIHNlbnlhbCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzMKICMsIGZ1enp5CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiJXM6IHZhcmlhYmxlIHNlbnNlIHZpbmNsZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVjJWM6IG9wY2k/IGludj9saWRhIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NDAKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6MTk1CiAjLCBmdXp6eQogbXNnaWQgIm5vIG90aGVyIGRpcmVjdG9yeSIKQEAgLTY4MiwyMyArNjc3LDIzIEBACiBtc2dpZCAiY2FuIG9ubHkgYHJldHVybicgZnJvbSBhIGZ1bmN0aW9uIG9yIHNvdXJjZWQgc2NyaXB0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQogIywgZnV6enkKIG1zZ2lkICJjYW5ub3Qgc2ltdWx0YW5lb3VzbHkgdW5zZXQgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSIKIG1zZ3N0ciAiIgogInNlcnZpciBMT0NBTCBkaW5zIGQndW5hIGZ1bmNpPzsgYT8/IHJlc3RyaW5naXI/IGxhIG1hZ25pdHVkIHZpc2libGUgZGUgbGEiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1CisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBjcmVhcjogJXMiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODEyCisjOiBidWlsdGlucy9zZXQuZGVmOjgxNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgJXMiCiBtc2dzdHIgIiVzOiBubyBlcyBwb3QgY3JlYXI6ICVzIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgyMworIzogYnVpbHRpbnMvc2V0LmRlZjo4MjYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiB2YXJpYWJsZSBzZW5zZSB2aW5jbGUiCkBAIC03MTMsMjAgKzcwOCwyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJzaGlmdCBbbl0iCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBubyBzJ2hhIHRyb2JhdCBsJ29yZHJlIgpAQCAtNzcwLDI3ICs3NjUsMjcgQEAKIG1zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6MzcyCisjOiBidWlsdGlucy91bGltaXQuZGVmOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW1pdCBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGJhZCBjb21tYW5kIgogbXNnc3RyICIlYyVjOiBvcGNpPyBpbnY/bGlkYSIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGdldCBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBubyBlcyBwb3QgY3JlYXI6ICVzIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQ1MworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTcKICMsIGZ1enp5CiBtc2dpZCAibGltaXQiCiBtc2dzdHIgIkw/bWl0IGRlIGxhIFVDUCIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBubyBlcyBwb3QgY3JlYXI6ICVzIgpAQCAtODUxLDExMSArODQ2LDExNiBAQAogCiAjOiBldmFsLmM6MTgxCiAjLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgogbXNnc3RyICIiCiAiJWMgaGEgZXhjZWRpdCBlbCB0ZW1wcyBkJ2VzcGVyYSBwZXIgdW5hIGVudHJhZGE6IGZpIGF1dG9tP3RpY2EgZGUgc2Vzc2k/XG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwNzUKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQogIywgZnV6enkKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJlcnJvciBkZWwgY29uZHVjdGU6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0ODEKKyM6IGV4ZWN1dGVfY21kLmM6NDY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiVzOiByZXN0cmluZ2l0OiBubyBlcyBwb3QgZXNwZWNpZmljYXIgJy8nIGVuIG5vbXMgZCdvcmRyZXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDU3MgorIzogZXhlY3V0ZV9jbWQuYzo0NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IG5vIHMnaGEgdHJvYmF0IGwnb3JkcmUiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogP3MgdW4gZGlyZWN0b3JpIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NzYKKyM6IGV4ZWN1dGVfY21kLmM6NTE0NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiIgogIm5vIGVzIHBvdCBjb3BpYXIgcGVyIGR1cGxpY2F0IGVsIGRlc2NyaXB0b3IgZGVsIGZpdHhlciBkZiAlZCBjYXAgYSBkZiAwOiAlcyIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICJzJ2hhIGV4Y2VkaXQgZWwgbml2ZWxsIGRlIHJlY3Vyc2l2aXRhdCBkZSBsJ2V4cHJlc3NpPyIKIAotIzogZXhwci5jOjI2NQorIzogZXhwci5jOjI4MAogIywgZnV6enkKIG1zZ2lkICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgogbXNnc3RyICJTJ2hhIGRlc2JvcmRhdCBsYSBiYXNlIGRlIGxhIHBpbGEuIgogCi0jOiBleHByLmM6Mzc5CisjOiBleHByLmM6NDIyCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGV4cHJlc3Npb24iCiBtc2dzdHIgImVycm9yIGRlIHNpbnRheGkgYSBsJ2V4cHJlc3NpPyIKIAotIzogZXhwci5jOjQxOQorIzogZXhwci5jOjQ2MwogbXNnaWQgImF0dGVtcHRlZCBhc3NpZ25tZW50IHRvIG5vbi12YXJpYWJsZSIKIG1zZ3N0ciAicydoYSBpbnRlbnRhdCBhc3NpZ25hciB1bmEgdmFyaWFibGUgaW5leGlzdGVudCIKIAotIzogZXhwci5jOjQ0MCBleHByLmM6NDQ1IGV4cHIuYzo3NTYKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3CiBtc2dpZCAiZGl2aXNpb24gYnkgMCIKIG1zZ3N0ciAiZGl2aXNpPyBwZXIgMCIKIAotIzogZXhwci5jOjQ3MQorIzogZXhwci5jOjUxNwogIywgZnV6enkKIG1zZ2lkICJidWc6IGJhZCBleHBhc3NpZ24gdG9rZW4iCiBtc2dzdHIgImVycm9yIGRlIHByb2dyYW1hY2k/OiBwYXMgaW5jb3JyZWN0ZSBkZWwgc2VueWFsICVkIHBlciBhIGV4cGFzc2luZygpLiIKIAotIzogZXhwci5jOjUxMworIzogZXhwci5jOjU2NAogbXNnaWQgImA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAicydlc3BlcmF2YSAnOicgcGVyIGEgbCdleHByZXNzaT8gY29uZGljaW9uYWwiCiAKLSM6IGV4cHIuYzo3ODEKKyM6IGV4cHIuYzo4MzIKIG1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJmYWx0YSBhbGd1biAnKSciCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJlcnJvciBkZSBzaW50YXhpOiBzJ2hhIGFycmliYXQgaW5lc3BlcmFkYW1lbnQgYSBsYSBmaSBkZWwgZml0eGVyIgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTIwMgorIzogZXhwci5jOjEzMDgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiVzOiAlczogJXMgKGxhIHByb3ZhIGQnZXJyb3IgP3MgXCIlc1wiKVxuIgogCi0jOiBleHByLmM6MTI2MAorIzogZXhwci5jOjEzNjYKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI4MAorIzogZXhwci5jOjEzODYKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgInZhbG9yIG1hc3NhIGdyYW4gcGVyIGEgbGEgYmFzZSBkZSBudW1lcmFjaT8iCiAKLSM6IGV4cHIuYzoxMzI5CisjOiBleHByLmM6MTQzNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IHMnZXNwZXJhdmEgdW5hIGV4cHJlc3NpPyBkZSBub21icmUgZW50ZXIiCkBAIC05NjUsMTMgKzk2NSwxMyBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldHdkOiBubyBzJ2hhIHBvZ3V0IGFjY2VkaXIgYWxzIGRpcmVjdG9yaXMgcGFyZXMiCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NTA4MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgIiIKICJubyBlcyBwb3QgY29waWFyIHBlciBkdXBsaWNhdCBlbCBkZXNjcmlwdG9yIGRlbCBmaXR4ZXIgZGYgJWQgY2FwIGEgZGYgMDogJXMiCiAKLSM6IGlucHV0LmM6MjU4CisjOiBpbnB1dC5jOjI2MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKIG1zZ3N0ciAiIgpAQCAtOTc5LDE1OSArOTc5LDE1OSBAQAogImJhc2hcbiIKICJhIHBhcnRpciBkZWwgZGVzY3JpcHRvciBkZSBmaXR4ZXIgJWQ6ICVzIgogCi0jOiBpbnB1dC5jOjI2NgorIzogaW5wdXQuYzoyNjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGFscmVhZHkgZXhpc3RzIGZvciBuZXcgZmQgJWQiCiBtc2dzdHIgIiIKICJjaGVja19iYXNoX2lucHV0OiBqYSBoaSBleGlzdGVpeCBtZW0/cmlhIGludGVybT9kaWEgcGVyIGEgbGEgbm92YVxuIgogImRlc2NyaXBjaT8gZGUgZml0eGVyICVkIgogCi0jOiBqb2JzLmM6NDY2CisjOiBqb2JzLmM6NDY4CiBtc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6ODg3CisjOiBqb2JzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTAwNQorIzogam9icy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTExMAorIzogam9icy5jOjExMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTExMworIzogam9icy5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDAxCisjOiBqb2JzLmM6MTQzMAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkIgogbXNnc3RyICJkZXNjcmliZV9waWQ6IEwnaWRlbnRpZmljYWRvciBkZSBwcm9jP3MgKHBpZCkgbm8gZXhpc3RlaXggKCVkKSFcbiIKIAotIzogam9icy5jOjE0MTYKKyM6IGpvYnMuYzoxNDQ1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJTaWduYWwgJWQiCiBtc2dzdHIgIlNlbnlhbCBkZXNjb25lZ3VkYSAjJWQiCiAKLSM6IGpvYnMuYzoxNDMwIGpvYnMuYzoxNDU1CisjOiBqb2JzLmM6MTQ1OSBqb2JzLmM6MTQ4NAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIkZldCIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMworIzogam9icy5jOjE0NjQgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIkF0dXJhdCIKIAotIzogam9icy5jOjE0MzkKKyM6IGpvYnMuYzoxNDY4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKIG1zZ3N0ciAiQXR1cmF0IgogCi0jOiBqb2JzLmM6MTQ0MworIzogam9icy5jOjE0NzIKIG1zZ2lkICJSdW5uaW5nIgogbXNnc3RyICJTJ2VzdD8gZXhlY3V0YW50IgogCi0jOiBqb2JzLmM6MTQ1NworIzogam9icy5jOjE0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCiBtc2dzdHIgIkZldCAoJWQpIgogCi0jOiBqb2JzLmM6MTQ1OQorIzogam9icy5jOjE0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhpdCAlZCIKIG1zZ3N0ciAiRmkgZCdleGVjdWNpPyBhbWIgbCdlc3RhdCAlZCIKIAotIzogam9icy5jOjE0NjIKKyM6IGpvYnMuYzoxNDkxCiBtc2dpZCAiVW5rbm93biBzdGF0dXMiCiBtc2dzdHIgIkVzdGF0IGRlc2NvbmVndXQiCiAKLSM6IGpvYnMuYzoxNTQ5CisjOiBqb2JzLmM6MTU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIoY29yZSBkdW1wZWQpICIKIG1zZ3N0ciAiKGxhIGltYXRnZSBkZWwgbnVjbGkgaGEgZXN0YXQgYm9sY2FkYSkgIgogCi0jOiBqb2JzLmM6MTU2OAorIzogam9icy5jOjE1OTcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIih3ZCBhcmE6ICVzKVxuIgogCi0jOiBqb2JzLmM6MTc3NgorIzogam9icy5jOjE4MDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICJlcnJvciBlbiBsJ2V4ZWN1Y2k/IGRlIHNldHBnaWQgKCVkIGEgJWQpIGVuIGVsIHByb2M/cyBmaWxsICVkOiAlc1xuIgogCi0jOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTMzIG5vam9icy5jOjU4NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICIiCiAid2FpdDogbCdpZGVudGlmaWNhZG9yIGRlbCBwcm9jP3MgKHBpZCkgJWQgbm8gP3MgdW4gZmlsbCBkJ2FxdWVzdCBpbnQ/cnByZXQiCiAKLSM6IGpvYnMuYzoyMzMxCisjOiBqb2JzLmM6MjM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogcydoYSBmaW5hbGl0emF0IGxhIHRhc2NhIgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjMwNTkKKyM6IGpvYnMuYzozMDg5CiBtc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTA4CisjOiBqb2JzLmM6MzUzOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiZW5jYWl4ICUzZDoiCiAKLSM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAorIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIgKGJvbGNhdCBkZSBsYSBpbWF0Z2UgZGVsIG51Y2xpKSIKIAotIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKKyM6IGpvYnMuYzozNTY0IGpvYnMuYzozNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIod2QgYXJhOiAlcylcbiIKIAotIzogam9icy5jOjM1NzkKKyM6IGpvYnMuYzozNjA5CiAjLCBmdXp6eQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGdldHBncnAgaGEgZmFsbGF0OiAlcyIKIAotIzogam9icy5jOjM2MzkKKyM6IGpvYnMuYzozNjY5CiAjLCBmdXp6eQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzOiBkaXNjaXBsaW5hIGRlIGw/bmlhOiAlcyIKIAotIzogam9icy5jOjM2NDkKKyM6IGpvYnMuYzozNjc5CiAjLCBmdXp6eQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iczogZ2V0cGdycCBoYSBmYWxsYXQ6ICVzIgogCi0jOiBqb2JzLmM6MzY3NworIzogam9icy5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2ODIKKyM6IGpvYnMuYzozNzEyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAibm8gaGkgaGEgY2FwIHRhc2NhIGRlIGNvbnRyb2wgZGlucyBkJ2FxdWVzdCBpbnQ/cnByZXQiCiAKQEAgLTEyODUsMTA3ICsxMjg1LDEwNyBAQAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIiIKICJzJ2hhIGFycmliYXQgaW5lc3BlcmFkYW1lbnQgYSBsYSBmaSBkZWwgZml0eGVyIChFT0YpIG1lbnRyZVxuIgogImVzIGJ1c2NhdmEgcGVyICclYyciCiAKLSM6IHBhcnNlLnk6Mzk1MQorIzogcGFyc2UueTo0MDI1CiAjLCBmdXp6eQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgIiIKICJzJ2hhIGFycmliYXQgaW5lc3BlcmFkYW1lbnQgYSBsYSBmaSBkZWwgZml0eGVyIChFT0YpIG1lbnRyZVxuIgogImVzIGJ1c2NhdmEgcGVyICclYyciCiAKLSM6IHBhcnNlLnk6Mzk1NgorIzogcGFyc2UueTo0MDMwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJoaSBoYSB1biBlcnJvciBpbmVzcGVyYXQgZGUgc2ludGF4aSBwcm9wIGRlbCBzZW55YWwgJyVzJyIKIAotIzogcGFyc2UueTozOTYwCisjOiBwYXJzZS55OjQwMzQKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgImVycm9yIGRlIHNpbnRheGkgYSBsJ2V4cHJlc3NpPyIKIAotIzogcGFyc2UueTo0MDM4CisjOiBwYXJzZS55OjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MDQyCisjOiBwYXJzZS55OjQxMTYKICMsIGZ1enp5CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJzJ2VzcGVyYXZhICcpJyIKIAotIzogcGFyc2UueTo0MDcwCisjOiBwYXJzZS55OjQxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxMjAKKyM6IHBhcnNlLnk6NDE5NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBzJ2VzcGVyYXZhIHVuIG9wZXJhZG9yIGJpbmFyaSIKIAotIzogcGFyc2UueTo0MTI0CisjOiBwYXJzZS55OjQxOTgKICMsIGZ1enp5CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogcydlc3BlcmF2YSB1biBvcGVyYWRvciBiaW5hcmkiCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTUwCisjOiBwYXJzZS55OjQyMjQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNjEKKyM6IHBhcnNlLnk6NDIzNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgInMnZXNwZXJhdmEgJzonIHBlciBhIGwnZXhwcmVzc2k/IGNvbmRpY2lvbmFsIgogCi0jOiBwYXJzZS55OjQxNjQKKyM6IHBhcnNlLnk6NDIzOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgInMnZXNwZXJhdmEgJzonIHBlciBhIGwnZXhwcmVzc2k/IGNvbmRpY2lvbmFsIgogCi0jOiBwYXJzZS55OjQxNjgKKyM6IHBhcnNlLnk6NDI0MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJzJ2VzcGVyYXZhICc6JyBwZXIgYSBsJ2V4cHJlc3NpPyBjb25kaWNpb25hbCIKIAotIzogcGFyc2UueTo1NDU5CisjOiBwYXJzZS55OjU1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJoaSBoYSB1biBlcnJvciBpbmVzcGVyYXQgZGUgc2ludGF4aSBwcm9wIGRlbCBzZW55YWwgJyVzJyIKIAotIzogcGFyc2UueTo1NDc3CisjOiBwYXJzZS55OjU1ODQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgImhpIGhhIHVuIGVycm9yIGluZXNwZXJhdCBkZSBzaW50YXhpIHByb3AgZGVsIHNlbnlhbCAnJXMnIgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiZXJyb3IgZGUgc2ludGF4aTogcydoYSBhcnJpYmF0IGluZXNwZXJhZGFtZW50IGEgbGEgZmkgZGVsIGZpdHhlciIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgImVycm9yIGRlIHNpbnRheGkiCiAKLSM6IHBhcnNlLnk6NTU0OQorIzogcGFyc2UueTo1NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJVdGlsaXR6ZXUgPyVzPyBwZXIgYSBlaXhpciBkZSBsJ2ludD9ycHJldCBkJ29yZHJlcy5cbiIKIAotIzogcGFyc2UueTo1NzExCisjOiBwYXJzZS55OjU4MTgKICMsIGZ1enp5CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICIiCkBAIC0xMzk3LDc5ICsxMzk3LDc5IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgIiIKIAotIzogcGNvbXBsaWIuYzoxNzkKKyM6IHBjb21wbGliLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MjkwCisjOiBwcmludF9jbWQuYzoyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICJwcmludF9jb21tYW5kOiBlbCBjb25uZWN0b3IgJyVkJyA/cyBpbmNvcnJlY3RlIgogCi0jOiBwcmludF9jbWQuYzozNjMKKyM6IHByaW50X2NtZC5jOjM2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MzY4CisjOiBwcmludF9jbWQuYzozNzMKIG1zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzozNzIKKyM6IHByaW50X2NtZC5jOjM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MTQ2MQorIzogcHJpbnRfY21kLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMTAKKyM6IHJlZGlyLmM6MTIyCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE2NgorIzogcmVkaXIuYzoxNzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiBSZWRpcmVjY2k/IGFtYmlndWEiCiAKICMgTm8gYWNhYmUgZCdlbnRlbmRyZSBlbCBzaWduaWZpY2F0IGRlIGwnb3JpZ2luYWwgImNsb2JiZXIiCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBObyBzJ2hhIHBvZ3V0IHNvYnJlZXNjcml1cmUgZWwgZml0eGVyIGV4aXN0ZW50IgogCi0jOiByZWRpci5jOjE3NQorIzogcmVkaXIuYzoxODcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogcmVzdHJpbmdpdDogbm8gZXMgcG90IGVzcGVjaWZpY2FyICcvJyBlbiBub21zIGQnb3JkcmVzIgogCi0jOiByZWRpci5jOjE4MAorIzogcmVkaXIuYzoxOTIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAibm8gZXMgcG90IGVzdGFibGlyIHVuIGNvbmR1Y3RlIHBlciBhIGxhIHN1YnN0aXR1Y2k/IGRlbCBwcm9jP3M6ICVzIgogCi0jOiByZWRpci5jOjE4NAorIzogcmVkaXIuYzoxOTYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgogbXNnc3RyICIlczogbm8gZXMgcG90IGFzc2lnbmFyIGxhIGxsaXN0YSBhIHVuIGVsZW1lbnQgZGUgbGEgbWF0cml1IgogCi0jOiByZWRpci5jOjU0NAorIzogcmVkaXIuYzo1NDgKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMTAxCisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKICMsIGZ1enp5CiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgImVycm9yIGRlIHJlZGlyZWNjaT8iCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MzM2CisjOiBzaGVsbC5jOjMzNwogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIiCiAKQEAgLTE0NzgsMTYgKzE0NzgsMTYgQEAKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogb3BjaT8gaW52P2xpZGEiCiAKLSM6IHNoZWxsLmM6MTY1MQorIzogc2hlbGwuYzoxNjUyCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICJObyB0aW5jIGNhcCBub20gZCd1c3VhcmkhIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICJHTlUgJXMsIHZlcnNpPyAlc1xuIgogCi0jOiBzaGVsbC5jOjE3OTQKKyM6IHNoZWxsLmM6MTc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE0OTYsNDQgKzE0OTYsNDQgQEAKICJTaW50YXhpOlx0JXMgW29wY2k/LWZvcm1hdC1sbGFyZyBHTlVdIFtvcGNpP10gLi4uXG4iCiAiXHQlcyBbb3BjaT8tZm9ybWF0LWxsYXJnIEdOVV0gW29wY2k/XSBmaXR4ZXJfZGVfc2VxPz9uY2llcyAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzk2CisjOiBzaGVsbC5jOjE3OTgKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJvcGNpb25zIGRlIGZvcm1lcyBsbGFyZ3VlcyBkZSBHTlU6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiT3BjaW9ucyBkZSBsJ2ludD9ycHJldCBkJ29yZHJlczpcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MDMKICMsIGZ1enp5CiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNEIG8gLWMgb3JkcmVcdFx0KG5vbT9zIHBlciBhIGludm9jYXIpXG4iCiAKLSM6IHNoZWxsLmM6MTgxNgorIzogc2hlbGwuYzoxODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyBvIC1vIG9wY2k/XG4iCiAKLSM6IHNoZWxsLmM6MTgyMgorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogIlBlciBhIG9idGluZHJlIG0/cyBpbmZvcm1hY2k/IHNvYnJlIGxlcyBvcGNpb25zIGRlIGwnaW50P3JwcmV0XG4iCiAiZCdvcmRyZXMsIHRlY2xlZ2V1ID8lcyAtYyBcImhlbHAgc2V0XCI/LlxuIgogCi0jOiBzaGVsbC5jOjE4MjMKKyM6IHNoZWxsLmM6MTgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAiUGVyIGEgb2J0aW5kcmUgbT9zIGluZm9ybWFjaT8gc29icmUgbGVzIG9yZHJlcyBpbnRlZ3JhZGVzIGRlIGwnaW50P3JwcmV0LFxuIgogInRlY2xlZ2V1ICclcyAtYyBoZWxwJyAuXG4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAiIgpAQCAtMTcxMyw5MiArMTcxMyw5MiBAQAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiU2VueWFsIGRlc2NvbmVndWRhICMlZCIKIAotIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJzdWJzdGl0dWNpPyBpbnY/bGlkYTogbm8gZXhpc3RlaXggJyVzJyBlbiAlcyIKIAotIzogc3Vic3QuYzoyNzM1CisjOiBzdWJzdC5jOjI3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiBubyBlcyBwb3QgYXNzaWduYXIgbGEgbGxpc3RhIGEgdW4gZWxlbWVudCBkZSBsYSBtYXRyaXUiCiAKLSM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKKyM6IHN1YnN0LmM6NDk3OSBzdWJzdC5jOjQ5OTUKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5vIGVzIHBvdCBlc3RhYmxpciB1biBjb25kdWN0ZSBwZXIgYSBsYSBzdWJzdGl0dWNpPyBkZWwgcHJvYz9zOiAlcyIKIAotIzogc3Vic3QuYzo0ODAyCisjOiBzdWJzdC5jOjUwMjcKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJubyBlcyBwb3QgZXN0YWJsaXIgdW4gcHJvYz9zIGZpbGwgcGVyIGEgbGEgc3Vic3RpdHVjaT8gZGVsIHByb2M/czogJXMiCiAKLSM6IHN1YnN0LmM6NDg0NworIzogc3Vic3QuYzo1MDcyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgZWwgY29uZHVjdGUgYW5vbWVuYXQgJXMgcGVyIGEgJXM6ICVzIgogCi0jOiBzdWJzdC5jOjQ4NDkKKyM6IHN1YnN0LmM6NTA3NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAibm8gZXMgcG90IG9icmlyIGVsIGNvbmR1Y3RlIGFub21lbmF0ICVzIHBlciBhICVzOiAlcyIKIAotIzogc3Vic3QuYzo0ODY3CisjOiBzdWJzdC5jOjUwOTIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiIgogIm5vIGVzIHBvdCBkdXBsaWNhciBlbCBjb25kdWN0ZSBhbm9tZW5hdCAlc1xuIgogImNvbSBhIGRlc2NyaXBjaT8gZGUgZml0eGVyICVkOiAlcyIKIAotIzogc3Vic3QuYzo1MDYzCisjOiBzdWJzdC5jOjUyODQKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5vIGVzIHBvZGVuIGVzdGFibGlyIGNvbmR1Y3RlcyBwZXIgYSBsYSBzdWJzdGl0dWNpPyBkZSBsJ29yZHJlOiAlcyIKIAotIzogc3Vic3QuYzo1MDk3CisjOiBzdWJzdC5jOjUzMjIKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJubyBlcyBwb3QgY3JlYXIgdW4gcHJvYz9zIGZpbGwgcGVyIGEgbGEgc3Vic3RpdHVjaT8gZGVsIHByb2M/czogJXMiCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiAjLCBmdXp6eQogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgIiIKICJjb21tYW5kX3N1YnN0aXR1dGUoKTogZWwgY29kdWN0ZSBubyBlcyBwb3QgZHVwbGljYXJcbiIKICJjb20gYSBkZXNjcmlwY2k/IGRlIGZpdHhlciAxOiAlcyIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBwYXI/bWV0cmUgbnVsIG8gbm8gYWp1c3RhdCIKIAotIzogc3Vic3QuYzo1OTA3CisjOiBzdWJzdC5jOjYxMjUgc3Vic3QuYzo2MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiBsYSBzdWItY2FkZW5hIGRlIGwnZXhwcmVzc2k/ID9zIDwgMCIKIAotIzogc3Vic3QuYzo2OTY1CisjOiBzdWJzdC5jOjcyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBzdWJzdGl0dWNpPyBpbnY/bGlkYSIKIAotIzogc3Vic3QuYzo3MDQ1CisjOiBzdWJzdC5jOjczNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IG5vIGVzIHBvdCBhc3NpZ25hciBkJ2FxdWVzdGEgbWFuZXJhIgogCi0jOiBzdWJzdC5jOjczNzQKKyM6IHN1YnN0LmM6NzY4NAogbXNnaWQgIiIKICJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKICJzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo3ODM5CisjOiBzdWJzdC5jOjgxNDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgInN1YnN0aXR1Y2k/IGludj9saWRhOiBubyBleGlzdGVpeCAnJXMnIGVuICVzIgogCi0jOiBzdWJzdC5jOjg3MjAKKyM6IHN1YnN0LmM6OTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgIiIKQEAgLTE4MjEsMzcgKzE4MjEsMzcgQEAKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJtZW50cmUgZXMgYnVzY2F2YSA/KT8sIHMnaGEgdHJvYmF0ICVzIgogCi0jOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgorIzogdGVzdC5jOjI4MCB0ZXN0LmM6Njk4IHRlc3QuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogcydlc3BlcmF2YSB1biBvcGVyYWRvciB1bmFyaSIKIAotIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHMnZXNwZXJhdmEgdW4gb3BlcmFkb3IgYmluYXJpIgogCi0jOiB0ZXN0LmM6ODExCisjOiB0ZXN0LmM6ODE2CiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgInMnaGEgcGVyZHV0IGFsZ3VuICddJyIKIAotIzogdHJhcC5jOjIwMworIzogdHJhcC5jOjIwNwogIywgZnV6enkKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgIm4/bWVybyBpbnY/bGlkIGRlIHNlbnlhbCIKIAotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgIiIKIAotIzogdHJhcC5jOjM4MAorIzogdHJhcC5jOjM5MwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXI6IFNlbnlhbCBpbnY/bGlkYSAlZCIKQEAgLTE4NjEsNTggKzE4NjEsNTggQEAKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiJyVzJzogZXJyb3IgZW4gaW1wb3J0YXIgbGEgZGVmaW5pY2k/IGRlIGxhIGZ1bmNpPyIKIAotIzogdmFyaWFibGVzLmM6NzQ4CisjOiB2YXJpYWJsZXMuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MTkxNQorIzogdmFyaWFibGVzLmM6MTkzMgogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMTU5CisjOiB2YXJpYWJsZXMuYzozMTgyCiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNzYKKyM6IHZhcmlhYmxlcy5jOjM0MjcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKIG1zZ3N0ciAiJXM6IHBhcj9tZXRyZSBudWwgbyBubyBhanVzdGF0IgogCi0jOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKKyM6IHZhcmlhYmxlcy5jOjM0MzIgdmFyaWFibGVzLmM6MzQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzOTYKKyM6IHZhcmlhYmxlcy5jOjM0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODQ4CisjOiB2YXJpYWJsZXMuYzozOTA0CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzkyMgorIzogdmFyaWFibGVzLmM6Mzk3OAogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2NzgKKyM6IHZhcmlhYmxlcy5jOjQ3ODYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKIG1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBjcmVhcjogJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2ODMKKyM6IHZhcmlhYmxlcy5jOjQ3OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCiBtc2dzdHIgIiIKIAogIzogdmVyc2lvbi5jOjQ2Ci1tc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogbXNnc3RyICIiCiAKICM6IHZlcnNpb24uYzo0NwpAQCAtMjAwNSw3ICsyMDA1LDcgQEAKIAogIzogYnVpbHRpbnMuYzo2NAogIywgZnV6enkKLW1zZ2lkICJjZCBbLUx8LVBdIFtkaXJdIgorbXNnaWQgImNkIFstTHxbLVAgWy1lXV1dIFtkaXJdIgogbXNnc3RyICJjZCBbLVBMXSBbZGlyZWN0b3JpXSIKIAogIzogYnVpbHRpbnMuYzo2NgpAQCAtMjAzMSwxMiArMjAzMSwxMiBAQAogCiAjOiBidWlsdGlucy5jOjc2CiAjLCBmdXp6eQotbXNnaWQgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKK21zZ2lkICJkZWNsYXJlIFstYUFmRmdpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgogbXNnc3RyICJkZWNsYXJlIFstYWZGcnhpXSBbLXBdIG5vbVs9dmFsb3JdIC4uLiIKIAogIzogYnVpbHRpbnMuYzo3OAogIywgZnV6enkKLW1zZ2lkICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgorbXNnaWQgInR5cGVzZXQgWy1hQWZGZ2lscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgogbXNnc3RyICJ0eXBlc2V0IFstYWZGcnhpXSBbLXBdIG5vbVs9dmFsb3JdIC4uLiIKIAogIzogYnVpbHRpbnMuYzo4MApAQCAtMjE1Niw3ICsyMTU2LDcgQEAKIAogIzogYnVpbHRpbnMuYzoxNDAKICMsIGZ1enp5Ci1tc2dpZCAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKK21zZ2lkICJzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXSIKIG1zZ3N0ciAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3BjaT9dIFtwYXI/bWV0cmVzIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQyCkBAIC0yMTczLDcgKzIxNzMsNyBAQAogCiAjOiBidWlsdGlucy5jOjE0NgogIywgZnV6enkKLW1zZ2lkICJyZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCittc2dpZCAicmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKIG1zZ3N0ciAiIgogInJlYWRvbmx5IFstYW5mXSBbbm9tIC4uLl1cbiIKICJvXG4iCkBAIC0yNTE3LDE0ICsyNTE3LDE4IEBACiAiICAgICAgICAtTFx0Zm9yY2Ugc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG93ZWRcbiIKICIgICAgICAgIC1QXHR1c2UgdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWNcbiIKICIgICAgXHRsaW5rc1xuIgorIiAgICAgICAgLWVcdGlmIHRoZSAtUCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVxuIgorIiAgICBcdGNhbm5vdCBiZSBkZXRlcm1pbmVkIHN1Y2Nlc3NmdWxseSwgZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzXG4iCiAiICAgIFxuIgogIiAgICBUaGUgZGVmYXVsdCBpcyB0byBmb2xsb3cgc3ltYm9saWMgbGlua3MsIGFzIGlmIGAtTCcgd2VyZSBzcGVjaWZpZWQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKKyIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZCwgYW5kIGlmICRQV0QgaXMgc2V0IHN1Y2Nlc3NmdWxseSAiCisid2hlblxuIgorIiAgICAtUCBpcyB1c2VkOyBub24temVybyBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNTQwLDcgKzI1NDQsNyBAQAogIiAgICBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0MjgKKyM6IGJ1aWx0aW5zLmM6NDMxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCkBAIC0yNTUxLDcgKzI1NTUsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICJDYXAgZWZlY3RlOyBubyBlcyBmYSByZXMuICBFcyByZXRvcm5hIGFtYiBlbCBjb2RpIHplcm8gY29tIGEgZWl4aWRhLiIKIAotIzogYnVpbHRpbnMuYzo0MzkKKyM6IGJ1aWx0aW5zLmM6NDQyCiBtc2dpZCAiIgogIlJldHVybiBhIHN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI1NTksNyArMjU2Myw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0NDgKKyM6IGJ1aWx0aW5zLmM6NDUxCiBtc2dpZCAiIgogIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI1NjcsNyArMjU3MSw3IEBACiAiICAgIEFsd2F5cyBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0NTcKKyM6IGJ1aWx0aW5zLmM6NDYwCiBtc2dpZCAiIgogIkV4ZWN1dGUgYSBzaW1wbGUgY29tbWFuZCBvciBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTI1ODYsNyArMjU5MCw3IEBACiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgQ09NTUFORCwgb3IgZmFpbHVyZSBpZiBDT01NQU5EIGlzIG5vdCBmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0NzYKKyM6IGJ1aWx0aW5zLmM6NDc5CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgpAQCAtMjU5Nyw2ICsyNjAxLDggQEAKICIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCiAiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKICIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKICIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgpAQCAtMjYxNiwyMCArMjYyMiwyMCBAQAogIiAgICBcbiIKICIgICAgV2hlbiB1c2VkIGluIGEgZnVuY3Rpb24sIGBkZWNsYXJlJyBtYWtlcyBOQU1FcyBsb2NhbCwgYXMgd2l0aCB0aGUgIgogImBsb2NhbCdcbiIKLSIgICAgY29tbWFuZC5cbiIKKyIgICAgY29tbWFuZC4gIFRoZSBgLWcnIG9wdGlvbiBzdXBwcmVzc2VzIHRoaXMgYmVoYXZpb3IuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTEyCisjOiBidWlsdGlucy5jOjUxNwogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKICIgICAgT2Jzb2xldGUuICBTZWUgYGhlbHAgZGVjbGFyZScuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTIwCisjOiBidWlsdGlucy5jOjUyNQogbXNnaWQgIiIKICJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI2NDQsNyArMjY1MCw3IEBACiAiICAgIG9yIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTM3CisjOiBidWlsdGlucy5jOjU0MgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yNjc1LDcgKzI2ODEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjU3MQorIzogYnVpbHRpbnMuYzo1NzYKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjY4OCw3ICsyNjk0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1ODYKKyM6IGJ1aWx0aW5zLmM6NTkxCiBtc2dpZCAiIgogIkVuYWJsZSBhbmQgZGlzYWJsZSBzaGVsbCBidWlsdGlucy5cbiIKICIgICAgXG4iCkBAIC0yNzE1LDcgKzI3MjEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGEgc2hlbGwgYnVpbHRpbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NjE0CisjOiBidWlsdGlucy5jOjYxOQogbXNnaWQgIiIKICJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjcyNyw3ICsyNzMzLDcgQEAKICIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBjb21tYW5kIG9yIHN1Y2Nlc3MgaWYgY29tbWFuZCBpcyBudWxsLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjYyNgorIzogYnVpbHRpbnMuYzo2MzEKIG1zZ2lkICIiCiAiUGFyc2Ugb3B0aW9uIGFyZ3VtZW50cy5cbiIKICIgICAgXG4iCkBAIC0yNzY4LDcgKzI3NzQsNyBAQAogIiAgICBlbmNvdW50ZXJlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NjY4CisjOiBidWlsdGlucy5jOjY3MwogbXNnaWQgIiIKICJSZXBsYWNlIHRoZSBzaGVsbCB3aXRoIHRoZSBnaXZlbiBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI3OTEsNyArMjc5Nyw3IEBACiAib2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjY4OQorIzogYnVpbHRpbnMuYzo2OTQKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4aXQgdGhlIHNoZWxsLlxuIgpAQCAtMjgwMCw3ICsyODA2LDcgQEAKICIgICAgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiRmluYWxpdHphIGwnaW50P3JwcmV0IGQnb3JkcmVzIGFtYiBsJ2VzdGF0IGQnTi4gU2kgcydvbWV0ZWl4IE4sIgogCi0jOiBidWlsdGlucy5jOjY5OAorIzogYnVpbHRpbnMuYzo3MDMKIG1zZ2lkICIiCiAiRXhpdCBhIGxvZ2luIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI4MDksNyArMjgxNSw3IEBACiAiICAgIGluIGEgbG9naW4gc2hlbGwuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzA4CisjOiBidWlsdGlucy5jOjcxMwogbXNnaWQgIiIKICJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTI4MzksNyArMjg0NSw3IEBACiAib2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjczOAorIzogYnVpbHRpbnMuYzo3NDMKICMsIGZ1enp5CiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgpAQCAtMjg1Miw3ICsyODU4LDcgQEAKICIgICAgU3RhdHVzIG9mIGNvbW1hbmQgcGxhY2VkIGluIGZvcmVncm91bmQsIG9yIGZhaWx1cmUgaWYgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiVWJpY2EgbGEgSURfVEFTQ0EgZW4gcHJpbWVyIHBsYSwgaSBsJ2FjdGl2YSBjb20gYSBsYSB0YXNjYSBhY3R1YWwuIgogCi0jOiBidWlsdGlucy5jOjc1MworIzogYnVpbHRpbnMuYzo3NTgKIG1zZ2lkICIiCiAiTW92ZSBqb2JzIHRvIHRoZSBiYWNrZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTI4NjYsNyArMjg3Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjc2NworIzogYnVpbHRpbnMuYzo3NzIKIG1zZ2lkICIiCiAiUmVtZW1iZXIgb3IgZGlzcGxheSBwcm9ncmFtIGxvY2F0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0yODkwLDcgKzI4OTYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjc5MgorIzogYnVpbHRpbnMuYzo3OTcKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTI5MTIsNyArMjkxOCw3IEBACiAiZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODE2CisjOiBidWlsdGlucy5jOjgyMQogbXNnaWQgIiIKICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0yOTQ2LDcgKzI5NTIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4NTIKKyM6IGJ1aWx0aW5zLmM6ODU3CiBtc2dpZCAiIgogIkRpc3BsYXkgc3RhdHVzIG9mIGpvYnMuXG4iCiAiICAgIFxuIgpAQCAtMjk3MCw3ICsyOTc2LDcgQEAKICIgICAgSWYgLXggaXMgdXNlZCwgcmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4NzkKKyM6IGJ1aWx0aW5zLmM6ODg0CiBtc2dpZCAiIgogIlJlbW92ZSBqb2JzIGZyb20gY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0yOTg3LDcgKzI5OTMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yIEpPQlNQRUMgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODk4CisjOiBidWlsdGlucy5jOjkwMwogbXNnaWQgIiIKICJTZW5kIGEgc2lnbmFsIHRvIGEgam9iLlxuIgogIiAgICBcbiIKQEAgLTMwMDksNyArMzAxNSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjkyMQorIzogYnVpbHRpbnMuYzo5MjYKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMDUxLDEwICszMDU3LDEwIEBACiAiICAgIHJ1bGVzIGFib3ZlLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuLiIKKyIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo5NjYKKyM6IGJ1aWx0aW5zLmM6OTcxCiBtc2dpZCAiIgogIlJlYWQgYSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGFuZCBzcGxpdCBpdCBpbnRvIGZpZWxkcy5cbiIKICIgICAgXG4iCkBAIC0zMTAyLDcgKzMxMDgsNyBAQAogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAwOQorIzogYnVpbHRpbnMuYzoxMDE0CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzExNCw3ICszMTIwLDcgQEAKICIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMjIKKyM6IGJ1aWx0aW5zLmM6MTAyNwogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMTgzLDYgKzMxODksOSBAQAogIiAgICAgIC1QICBJZiBzZXQsIGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3Mgd2hlbiBleGVjdXRpbmcgY29tbWFuZHNcbiIKICIgICAgICAgICAgc3VjaCBhcyBjZCB3aGljaCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgogIiAgICAgIC1UICBJZiBzZXQsIHRoZSBERUJVRyB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLS0gIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgorIiAgICAgICAgICBJZiB0aGVyZSBhcmUgbm8gcmVtYWluaW5nIGFyZ3VtZW50cywgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICAgICAgICBhcmUgdW5zZXQuXG4iCiAiICAgICAgLSAgIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICAgICAgICBUaGUgLXggYW5kIC12IG9wdGlvbnMgYXJlIHR1cm5lZCBvZmYuXG4iCiAiICAgIFxuIgpAQCAtMzE5Niw3ICszMjA1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTA0CisjOiBidWlsdGlucy5jOjExMTIKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTMyMTYsNyArMzIyNSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTI0CisjOiBidWlsdGlucy5jOjExMzIKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zMjM1LDcgKzMyNDQsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTQzCisjOiBidWlsdGlucy5jOjExNTEKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTMyNTUsNyArMzI2NCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNjQKKyM6IGJ1aWx0aW5zLmM6MTE3MgogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzI2Niw3ICszMjc1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOIGlzIG5lZ2F0aXZlIG9yIGdyZWF0ZXIgdGhhbiAkIy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQorIzogYnVpbHRpbnMuYzoxMTg0IGJ1aWx0aW5zLmM6MTE5OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMyODAsNyArMzI4OSw3IEBACiAiICAgIEZJTEVOQU1FIGNhbm5vdCBiZSByZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMDcKKyM6IGJ1aWx0aW5zLmM6MTIxNQogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMjk0LDE0ICszMzAzLDE3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMjMKKyM6IGJ1aWx0aW5zLmM6MTIzMQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKICIgICAgRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlKSBvciAxIChmYWxzZSkgZGVwZW5kaW5nIG9uXG4iCiAiICAgIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnlcbiIKICIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCi0iICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFzIHdlbGwsIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgogIiAgICBcbiIKICIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgpAQCAtMzM1NSw2ICszMzY3LDcgQEAKICIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKICIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgogIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKICIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgogIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCkBAIC0zMzcxLDcgKzMzODQsNyBAQAogIiAgICBmYWxzZSBvciBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyOTkKKyM6IGJ1aWx0aW5zLmM6MTMxMQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKQEAgLTMzODIsNyArMzM5NSw3IEBACiAicGFyP21ldHJlIGhhIGRlIHNlciBlbCBzaWduZSBcIl1cIiBwZXJxdT8gZXMgcHVnYSB0YW5jYXIgbCdleHByZXNzaT8gcXVlXG4iCiAiY29tZW4/YSBwZWwgc2lnbmUgXCJbXCIuIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzM5NCw3ICszNDA3LDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC0zNDEwLDcgKzM0MjMsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtMzQzMCw3ICszNDUxLDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzUyCisjOiBidWlsdGlucy5jOjEzNjgKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtMzQ2MCw3ICszNDgxLDcgQEAKICJmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzgzCisjOiBidWlsdGlucy5jOjEzOTkKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC0zNTA0LDcgKzM1MjUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDI4CisjOiBidWlsdGlucy5jOjE0NDQKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtMzUyMiw3ICszNTQzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzUzOSw3ICszNTYwLDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2NgorIzogYnVpbHRpbnMuYzoxNDgyCiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM1NTMsNyArMzU3NCw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0ODEKKyM6IGJ1aWx0aW5zLmM6MTQ5NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzU2Niw3ICszNTg3LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtMzU4Myw3ICszNjA0LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMworIzogYnVpbHRpbnMuYzoxNTI5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zNjAzLDcgKzM2MjQsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTM0CisjOiBidWlsdGlucy5jOjE1NTAKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzYxOSw3ICszNjQwLDcgQEAKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU1MQorIzogYnVpbHRpbnMuYzoxNTY3CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCkBAIC0zNjMxLDcgKzM2NTIsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIkV4ZWN1dGEgc2VsZWN0aXZhbWVudCBsZXMgb3JkcmVzIGVzcGVjaWZpY2FkZXMgZW4gT1JEUkVTIHNlZ3VpbnQgdW5hICIKIAotIzogYnVpbHRpbnMuYzoxNTYzCisjOiBidWlsdGlucy5jOjE1NzkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC0zNjUyLDcgKzM2NzMsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCisjOiBidWlsdGlucy5jOjE1OTYKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCkBAIC0zNjY2LDcgKzM2ODcsNyBAQAogIkV4cGFuZGVpeCBpIGV4ZWN1dGEgbGVzIG9yZHJlcyBlc3BlY2lmaWNhZGVzIGVuIE9SRFJFUyBpIGVscyBleGVjdXRhXG4iCiAiZGUgdGFsIG1hbmVyYSBxdWUgbGEgZGFycmVyYSBvcmRyZSIKIAotIzogYnVpbHRpbnMuYzoxNTkyCisjOiBidWlsdGlucy5jOjE2MDgKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKQEAgLTM2ODAsNyArMzcwMSw3IEBACiAiRXhwYW5kZWl4IGkgZXhlY3V0YSBsZXMgb3JkcmVzIGVzcGVjaWZpY2FkZXMgZW4gT1JEUkVTIGkgZWxzIGV4ZWN1dGFcbiIKICJkZSB0YWwgbWFuZXJhIHF1ZSBsYSBkYXJyZXJhIG9yZHJlIgogCi0jOiBidWlsdGlucy5jOjE2MDQKKyM6IGJ1aWx0aW5zLmM6MTYyMAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC0zNjkzLDcgKzM3MTQsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MTgKKyM6IGJ1aWx0aW5zLmM6MTYzNAogbXNnaWQgIiIKICJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzcwNyw3ICszNzI4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MzIKKyM6IGJ1aWx0aW5zLmM6MTY0OAogIywgZnV6enkKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgpAQCAtMzcxOSw3ICszNzQwLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICJFeGVjdXRhIHVuIGNvbmp1bnQgZCdvcmRyZXMgZW4gdW4gZ3J1cC4gIEE/PyA/cyB1bmEgbWFuZXJhIGRlIgogCi0jOiBidWlsdGlucy5jOjE2NDQKKyM6IGJ1aWx0aW5zLmM6MTY2MAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzczMyw3ICszNzU0LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSByZXN1bWVkIGpvYi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjU5CisjOiBidWlsdGlucy5jOjE2NzUKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTM3NDQsNyArMzc2NSw3IEBACiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NzEKKyM6IGJ1aWx0aW5zLmM6MTY4NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzc3Miw3ICszNzkzLDcgQEAKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2OTcKKyM6IGJ1aWx0aW5zLmM6MTcxMwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTM4MjYsNyArMzg0Nyw3IEBACiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3NTQKKyM6IGJ1aWx0aW5zLmM6MTc3MAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzg1Nyw3ICszODc4LDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3ODgKKyM6IGJ1aWx0aW5zLmM6MTgwNAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zODg0LDcgKzM5MDUsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTgxOAorIzogYnVpbHRpbnMuYzoxODM0CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM5MTMsNyArMzkzNCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NDcKKyM6IGJ1aWx0aW5zLmM6MTg2MwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzkzNCw3ICszOTU1LDcgQEAKICIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODY4CisjOiBidWlsdGlucy5jOjE4ODQKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtMzk1Nyw2ICszOTc4LDkgQEAKICIgICAgXG4iCiAiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgogIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgpAQCAtMzk2NCw3ICszOTg4LDcgQEAKICIgICAgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4OTUKKyM6IGJ1aWx0aW5zLmM6MTkxMwogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC0zOTkxLDcgKzQwMTUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTIzCisjOiBidWlsdGlucy5jOjE5NDEKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNDAwNCwxMyArNDAyOCwxMyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTM4CisjOiBidWlsdGlucy5jOjE5NTYKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKICIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCiAic3VwcGxpZWQsXG4iCi0iICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWdpbiBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVubSwgIgorIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVpbmcgZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbiwgIgogInByaW50XG4iCiAiICAgIHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uICIKICJzcGVjaWZpY2F0aW9uLlxuIgpAQCAtNDAzNSw3ICs0MDU5LDcgQEAKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5NjgKKyM6IGJ1aWx0aW5zLmM6MTk4NgogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCkBAIC00MDYzLDcgKzQwODcsOCBAQAogIiAgICBcbiIKICIgICAgSWYgLUMgaXMgc3VwcGxpZWQgd2l0aG91dCAtYywgdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLiAgV2hlblxuIgogIiAgICBDQUxMQkFDSyBpcyBldmFsdWF0ZWQsIGl0IGlzIHN1cHBsaWVkIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBhcnJheVxuIgotIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuXG4iCisiICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudFxuIgorIiAgICBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZICIKICJiZWZvcmVcbiIKQEAgLTQwNzUsNyArNDEwMCw3IEBACiAiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjIwMDEKKyM6IGJ1aWx0aW5zLmM6MjAyMAogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpkaWZmIC0tZ2l0IGEvcG8vY3MuZ21vIGIvcG8vY3MuZ21vCmluZGV4IDVkOTJkOGYuLmIyZDY0YTAgMTAwNjQ0Ci0tLSBhL3BvL2NzLmdtbworKysgYi9wby9jcy5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vY3MucG8gYi9wby9jcy5wbwppbmRleCA1NzliYTcxLi4yNWY0MDQzIDEwMDY0NAotLS0gYS9wby9jcy5wbworKysgYi9wby9jcy5wbwpAQCAtMSw4ICsxLDkgQEAKICMgQ3plY2ggdHJhbmxhdGlvbiBmb3IgYmFzaC4KICMgQ29weXJpZ2h0IChDKSAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgotIyBQZXRyIFBpc2FyIDxwZXRyLnBpc2FyQGF0bGFzLmN6PiwgMjAwOCwgMjAwOS4KKyMgUGV0ciBQaXNhciA8cGV0ci5waXNhckBhdGxhcy5jej4sIDIwMDgsIDIwMDksIDIwMTAsIDIwMTEuCiAjCisjIGFsaWFzIOKGkiBhbGlhcwogIyBzdWJzY3JpcHQg4oaSIHBvZHNrcmlwdAogIyBzdWJyb3V0aW5lIOKGkiBwb2Rwcm9ncmFtCiAjIGNvbXBsZXRpdGlvbiBvcHRpb25zIOKGkiBtb8W+bm9zdGkgZG9wbMWIb3bDoW7DrQpAQCAtMTAsMTAgKzExLDEwIEBACiAjIE7DoXp2eSBzaWduw6FsdSBhIHN0YXbFryBwcm9jZXN1IGJ5IG3Em2x5IHNvdWhsYXNpdCBzZSBzaWduYWwoNykuCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMFxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCA0LjFcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDktMjMgMTQ6MjMrMDIwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDExLTAxLTI4IDIyOjA5LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDExLTAxLTA1IDEzOjAzKzAxMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IFBldHIgUGlzYXIgPHBldHIucGlzYXJAYXRsYXMuY3o+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogQ3plY2ggPHRyYW5zbGF0aW9uLXRlYW0tY3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC0yNSw3ICsyNiw3IEBACiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAiY2h5Ym7DvSBwb2Rza3JpcHQgcG9sZSIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6IMSNw61zbG92YW7DqSBwb2xlIG5lemxlIHDFmWV2w6lzdCBuYSBwb2xlIGFzb2NpYXRpdm7DrSIKQEAgLTQ1LDM0ICs0NiwzNCBAQAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIlczogJXM6IHDFmWkgcMWZacWZYXpvdmFuw60gYXNvY2lhdGl2bsOtaG8gcG9sZSBzZSBtdXPDrSBwb3XFvsOtdCBwb2Rza3JpcHQiCiAKLSM6IGJhc2hoaXN0LmM6MzgzCisjOiBiYXNoaGlzdC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBuZWx6ZSB2eXR2b8WZaXQ6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0NTcKKyM6IGJhc2hsaW5lLmM6MzQ5OAogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogcHJvIHDFmcOta2F6IG5lbHplIG5hbMOpenQga2zDoXZlc292b3UgbWFwdSAiCiAKLSM6IGJhc2hsaW5lLmM6MzU0MworIzogYmFzaGxpbmUuYzozNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiBwcnZuw60gbmViw61sw70gem5hayBuZW7DrSDigJ5cIuKAnCIKIAotIzogYmFzaGxpbmUuYzozNTcyCisjOiBiYXNobGluZS5jOjM2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICJuZSB6YXbDrXJhasOtY8OtIOKAniVj4oCcIHYgJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzYwNgorIzogYmFzaGxpbmUuYzozNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXM6IGNoeWLDrSBkdm9qdGXEjWtvdsO9IG9kZMSbbG92YcSNIgogCiAjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgotbXNnc3RyICLigJ4lc+KAnDogY2h5Ym7DvSBuw6F6ZXYga2zDoXZlc292w6kgbWFweSIKK21zZ3N0ciAi4oCeJXPigJw6IGNoeWJuw70gbsOhemV2IGFsaWFzdSIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKQEAgLTEyNiwyNiArMTI3LDExIEBACiAiICAgIFxuIgogIiAgICBCZXogVsOdUkFaVSB2csOhdMOtICIKIAotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKLW1zZ2lkICIiCi0iLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCi0iICAgICIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgotbXNnaWQgIiIKLSI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKLSIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgotIiAgICBcbiIKLSIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgotIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jZC5kZWY6MjE1CisjOiBidWlsdGlucy9jZC5kZWY6MjM1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICJuZW7DrSBuZXN0YXZlbmEgSE9NRSIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgogbXNnc3RyICJuZW7DrSBuYXN0YXZlbm8gT0xEUFdEIgogCkBAIC0xNjQsMTEgKzE1MCwxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIlczogdcW+aXTDrTogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNworIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MzIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgInDFmcOtbGnFoSBtbm9obyBhcmd1bWVudMWvIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogcMWZZXDDrW5hxI0gdnnFvmFkdWplIGFyZ3VtZW50IgpAQCAtMjA2LDcgKzE5Miw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJjaHlibsOpIMWhZXN0bsOhY3Rrb3bDqSDEjcOtc2xvIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTM2MgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJjaHlibsOpIMSNw61zbG8iCiAKQEAgLTMxNSwyNSArMzAxLDI1IEBACiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiZG9wbMWIb3ZhY8OtIGZ1bmtjZSBzZSBwcsOhdsSbIG5ldnlrb27DoXbDoSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjQKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgIm3Fr8W+ZSBiw710IHBvdcW+aXRvIGplbiB2ZSBmdW5rY2kiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY2CiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICLigJ4tZuKAnCBuZXpsZSBwb3XFvsOtdCBuYSB2w71yb2J1IGZ1bmtjZSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBmdW5rY2UgamVuIHBybyDEjXRlbsOtIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogdGFrdG8gbmVsemUgbGlrdmlkb3ZhdCBwb2xlIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiJXM6IGFzb2NpYXRpdm7DrSBwb2xlIG5lbHplIHDFmWV2w6lzdCBuYSDEjcOtc2xvdmFuw6kgcG9sZSIKQEAgLTM2MiwyOSArMzQ4LDI5IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogbmVsemUgc21hemF0OiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAotIzogc2hlbGwuYzoxNDUyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNSBidWlsdGlucy9oYXNoLmRlZjoxNzEgZXhlY3V0ZV9jbWQuYzo0OTYxCisjOiBzaGVsbC5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogamUgYWRyZXPDocWZZW0iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlczogbmVuw60gb2J5xI1lam7DvSBzb3Vib3IiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ3CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiBzb3Vib3IgamUgcMWZw61sacWhIHZlbGvDvSIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0Ci0jOiBzaGVsbC5jOjE0NjIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTgyIGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAwIGV4ZWN1dGVfY21kLmM6NTAzMgorIzogc2hlbGwuYzoxNDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IGJpbsOhcm7DrSBzb3Vib3IgbmVsemUgc3B1c3RpdCIKIAotIzogYnVpbHRpbnMvZXhlYy5kZWY6MjEyCisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgogbXNnc3RyICIlczogbmVsemUgcHJvdsOpc3Q6ICVzIgpAQCAtNDAzLDcgKzM4OSw3IEBACiAjOiBidWlsdGlucy9leGl0LmRlZjoxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgYXJlIHN0b3BwZWQgam9icy5cbiIKLW1zZ3N0ciAiSnNvdSB6ZGUgcG96YXN0YXZlbsOtIMO6bG9oeS5cbiIKK21zZ3N0ciAiSnNvdSB6ZGUgcG96YXN0YXZlbsOpIMO6bG9oeS5cbiIKIAogIzogYnVpbHRpbnMvZXhpdC5kZWY6MTIyCiAjLCBjLWZvcm1hdApAQCAtNDE0LDExICs0MDAsMTEgQEAKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICLFvsOhZG7DvSBwxZnDrWtheiBuZW5hbGV6ZW4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAidXLEjWVuw60gaGlzdG9yaWUiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiBkb8SNYXNuw70gc291Ym9yIG5lbHplIG90ZXbFmcOtdDogJXMiCkBAIC00NTEsNyArNDM3LDcgQEAKIG1zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgogbXNnc3RyICIlczogdGFidWxrYSBoYXNoxa8gamUgcHLDoXpkbsOhXG4iCiAKLSM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NAorIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKIG1zZ3N0ciAiesOhc2Foxa9cdHDFmcOta2F6XG4iCkBAIC01MTksNzYgKzUwNSw4NiBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgInPCoOKAni144oCcIG5lanNvdSBkb3ZvbGVueSBkYWzFocOtIHDFmWVww61uYcSNZSIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCisjOiBidWlsdGlucy9raWxsLmRlZjoxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiJXM6IGFyZ3VtZW50eSBtdXPDrSBiw710IHByb2NlcyBuZWJvIGlkZW50aWZpa8OhdG9yIMO6bG9oeSIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjEKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICJOZXpuw6Ftw6EgY2h5YmEiCiAKLSM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjUwMSBleHByLmM6NTE2CisjOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1NTIgZXhwci5jOjU2NwogbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIm/EjWVrw6F2w6FuIHbDvXJheiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCi1tc2dzdHIgIiVzOiBuZW7DrSAocHJvbcSbbm5vdSB0eXB1KSBwb2xlIgorbXNnc3RyICIlczogbmVuw60gKHByb23Em25ub3UgdHlwdSkgaW5kZXhvdmFuw6kgcG9sZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU2IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IGNoeWJuw6kgdXLEjWVuw60gZGVza3JpcHRvcnUgc291Ym9ydSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY0IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogbmVwbGF0bsO9IGRlc2tyaXB0b3Igc291Ym9ydTogJXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3MyBidWlsdGlucy9tYXBmaWxlLmRlZjozMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXM6IGNoeWJuw70gcG/EjWV0IMWZw6Fka8WvIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBjaHlibsO9IHBvxI3DoXRlayBwb2xlIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogbmVwbGF0bsOpIG1ub8W+c3R2w60gbWV6aSB2b2zDoW7DrW1pIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgInByw6F6ZG7DvSBuw6F6ZXYgcHJvbcSbbm7DqSB0eXB1IHBvbGUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzU0CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAiamUgdnnFvmFkb3bDoW5hIHBvZHBvcmEgcHJvbcSbbm7DvWNoIHR5cHUgcG9sZSIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCeJXPigJw6IHBvc3Ryw6Fkw6FtIGZvcm3DoXRvdmFjw60gem5hayIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiBjaHlibsOpIHVyxI1lbsOtIMSNYXNvdsOpaG8gbGltaXR1IgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAniVj4oCcOiBuZXBsYXRuw70gZm9ybcOhdG92YWPDrSB6bmFrIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICJ2YXJvdsOhbsOtOiAlczogJXMiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjg0MAogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgInXCoFxceCBjaHliw60gxaFlc3Ruw6FjdGtvdsOhIMSNw61zbG92a2EiCiAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIHVuaWNvZGUgZGlnaXQgZm9yIFxcJWMiCittc2dzdHIgInXCoFxceCBjaHliw60gxaFlc3Ruw6FjdGtvdsOhIMSNw61zbG92a2EiCisKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjoxOTUKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCiBtc2dzdHIgIsW+w6FkbsO9IGRhbMWhw60gYWRyZXPDocWZIgpAQCAtNzQ1LDIxICs3NDEsMjEgQEAKIG1zZ2lkICJjYW4gb25seSBgcmV0dXJuJyBmcm9tIGEgZnVuY3Rpb24gb3Igc291cmNlZCBzY3JpcHQiCiBtc2dzdHIgIuKAnnJldHVybuKAnCBsemUgcHJvdsOpc3QgamVuIHogZnVua2NlIG5lYm8gc2tyaXB0dSBuYcSNdGVuw6lobyBwxZllcyDigJ5zb3VyY2XigJwiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQogbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgogbXNnc3RyICJmdW5rY2kgacKgcHJvbcSbbm5vdSBuZWx6ZSBydcWhaXQgc291xI1hc27EmyIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MDUKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQiCiBtc2dzdHIgIiVzOiBuZWx6ZSB6cnXFoWl0IgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgxMgorIzogYnVpbHRpbnMvc2V0LmRlZjo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgJXMiCiBtc2dzdHIgIiVzOiBuZWx6ZSB6cnXFoWl0OiAlcyBqZW4gcHJvIMSNdGVuw60iCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODIzCisjOiBidWlsdGlucy9zZXQuZGVmOjgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGFycmF5IHZhcmlhYmxlIgogbXNnc3RyICIlczogbmVuw60gKHByb23Em25ub3UgdHlwdSkgcG9sZSIKQEAgLTc3MywyMCArNzY5LDIwIEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgInBvxI1ldCBzaGlmdMWvIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjY0CiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAicMWZZXDDrW5hxI0gc2hlbGx1IG5lbHplIHrDoXJvdmXFiCBuYXN0YXZpdCBhIHpydcWhaXQiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiBjaHlibsO9IG7DoXpldiBwxZllcMOtbmHEjWUgc2hlbGx1IgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjEyOAorIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKIG1zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKIG1zZ3N0ciAidnnFvmFkb3bDoW4gYXJndW1lbnQgc8KgbsOhenZlbSBzb3Vib3J1IgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1MworIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgbm90IGZvdW5kIgogbXNnc3RyICIlczogc291Ym9yIG5lbmFsZXplbiIKQEAgLTgyOSwyNiArODI1LDI2IEBACiBtc2dpZCAiJXMgaXMgaGFzaGVkICglcylcbiIKIG1zZ3N0ciAiJXMgamUgemFoYXNob3bDoW4gKCVzKVxuIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBjaHlibsO9IGFyZ3VtZW50IHPCoGxpbWl0b3UiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzk4CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKIG1zZ3N0ciAi4oCeJWPigJw6IGNoeWJuw70gcMWZw61rYXoiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDI3CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGdldCBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBsaW1pdCBuZWx6ZSB6amlzdGl0OiAlcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiBtc2dpZCAibGltaXQiCiBtc2dzdHIgImxpbWl0IgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQ2NSBidWlsdGlucy91bGltaXQuZGVmOjc2NQorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjkgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgbGltaXQ6ICVzIgogbXNnc3RyICIlczogbGltaXQgbmVsemUgem3Em25pdDogJXMiCkBAIC05MDQsMTA1ICs5MDAsMTEwIEBACiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKLW1zZ3N0ciAiB8SNYXNvdsO9IGxpbWl0IHBybyDEjWVrw6Fuw60gbmEgdnN0dXAgdnlwcsWhZWw6IGF1dG9tYXRpY2vDqSBvZGhsw6HFoWVuw61cbiIKK21zZ2lkICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ3N0ciAiXGHEjWFzb3bDvSBsaW1pdCBwcm8gxI1la8OhbsOtIG5hIHZzdHVwIHZ5cHLFoWVsOiBhdXRvbWF0aWNrw6kgb2RobMOhxaFlbsOtXG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICJzdGFuZGFyZG7DrSB2c3R1cCBuZWx6ZSBwxZllc23Em3JvdmF0IHrCoC9kZXYvbnVsbDogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiVElNRUZPUk1BVDog4oCeJWPigJw6IGNoeWJuw70gZm9ybcOhdG92YWPDrSB6bmFrIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwNzUKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgImNoeWJhIHbCoHJvdcWZZSIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDgxCisjOiBleGVjdXRlX2NtZC5jOjQ2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczogb21lemVubzogdsKgbsOhenZ1IHDFmcOta2F6dSBuZXNtw60gYsO9dCDigJ4v4oCcIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ1NzIKKyM6IGV4ZWN1dGVfY21kLmM6NDczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBwxZnDrWtheiBuZW5hbGV6ZW4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMiCittc2dzdHIgIiVzIGplICVzXG4iCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiBjaHlibsO9IGludGVycHJldHIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3NgorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgImRlc2tyaXB0b3Igc291Ym9ydSAlZCBuZWx6ZSBkdXBsaWtvdmF0IG5hIGRlc2tyaXB0b3IgJWQiCiAKLSM6IGV4cHIuYzoyNDEKKyM6IGV4cHIuYzoyNTYKIG1zZ2lkICJleHByZXNzaW9uIHJlY3Vyc2lvbiBsZXZlbCBleGNlZWRlZCIKIG1zZ3N0ciAiw7pyb3ZlxYggcmVrdXJ6ZSB2w71yYXp1IGJ5bGEgcMWZZWtyb8SNZW5hIgogCi0jOiBleHByLmM6MjY1CisjOiBleHByLmM6MjgwCiBtc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAiesOhc29ibsOtayByZWt1cnplIHBvZHRla2wiCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKIG1zZ3N0ciAic3ludGFrdGlja8OhIGNoeWJhIHZlIHbDvXJhenUiCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgInBva3VzIG8gcMWZacWZYXplbsOtIGRvIG5lLXByb23Em25uw6kiCiAKLSM6IGV4cHIuYzo0NDAgZXhwci5jOjQ0NSBleHByLmM6NzU2CisjOiBleHByLmM6NDg2IGV4cHIuYzo0OTEgZXhwci5jOjgwNwogbXNnaWQgImRpdmlzaW9uIGJ5IDAiCiBtc2dzdHIgImTEm2xlbsOtIG51bG91IgogCi0jOiBleHByLmM6NDcxCisjOiBleHByLmM6NTE3CiBtc2dpZCAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuIgogbXNnc3RyICJjaHliYTogY2h5Ym7DvSBleHBhc3NpbmcgdG9rZW4iCiAKLSM6IGV4cHIuYzo1MTMKKyM6IGV4cHIuYzo1NjQKIG1zZ2lkICJgOicgZXhwZWN0ZWQgZm9yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgInbCoHBvZG3DrW7Em27DqW0gdsO9cmF6dSBvxI1la8OhdsOhbmEg4oCeOuKAnCIKIAotIzogZXhwci5jOjc4MQorIzogZXhwci5jOjgzMgogbXNnaWQgImV4cG9uZW50IGxlc3MgdGhhbiAwIgogbXNnc3RyICJtb2NuaXRlbCBtZW7FocOtIG5lxb4gMCIKIAotIzogZXhwci5jOjgyNgorIzogZXhwci5jOjg4NwogbXNnaWQgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgogbXNnc3RyICJwbyBwxZllZG5vc3Ruw61tIHp2w73FoWVuw60gbmVibyBzbsOtxb5lbsOtIG/EjWVrw6F2w6FuIGlkZW50aWZpa8OhdG9yIgogCi0jOiBleHByLmM6ODU0CisjOiBleHByLmM6OTEwCiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgInBvc3Ryw6Fkw6FtIOKAninigJwiCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgInN5bnRha3RpY2vDoSBjaHliYTogb8SNZWvDoXbDoW4gb3BlcmFuZCIKIAotIzogZXhwci5jOjExNzgKKyM6IGV4cHIuYzoxMjg0CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgInN5bnRha3RpY2vDoSBjaHliYTogY2h5Ym7DvSBhcml0bWV0aWNrw70gb3BlcsOhdG9yIgogCi0jOiBleHByLmM6MTIwMgorIzogZXhwci5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiJXMlcyVzOiAlcyAoY2h5Ym7DvSB0b2tlbiBqZSDigJ4lc+KAnCkiCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJjaHlibsO9IGFyaXRtZXRpY2vDvSB6w6FrbGFkIgogCi0jOiBleHByLmM6MTI4MAorIzogZXhwci5jOjEzODYKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgImhvZG5vdCBqZSBwcm8gesOha2xhZCBwxZnDrWxpxaEgdmVsa8OhIgogCi0jOiBleHByLmM6MTMyOQorIzogZXhwci5jOjE0MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IGNoeWJhIHbDvXJhenVcbiIKQEAgLTEwMTEsMTY1ICsxMDEyLDE2NSBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldGN3ZDogcm9kacSNb3Zza8OpIGFkcmVzw6HFmWUgbmVqc291IHDFmcOtc3R1cG7DqSIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICJuYSBkZXNrcmlwdG9ydSAlZCBuZWx6ZSByZXNldG92YXQgcmXFvmltIG5vZGVsYXkiCiAKLSM6IGlucHV0LmM6MjU4CisjOiBpbnB1dC5jOjI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYWxsb2NhdGUgbmV3IGZpbGUgZGVzY3JpcHRvciBmb3IgYmFzaCBpbnB1dCBmcm9tIGZkICVkIgogbXNnc3RyICJub3bDvSBkZXNrcmlwdG9yIHNvdWJvcnUgcHJvIHZzdHVwIGJhc2hlIHrCoGRlc2tyLiAlZCBuZWx6ZSBhbG9rb3ZhdCIKIAotIzogaW5wdXQuYzoyNjYKKyM6IGlucHV0LmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGFscmVhZHkgZXhpc3RzIGZvciBuZXcgZmQgJWQiCiBtc2dzdHIgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGppxb4gcHJvIG5vdsO9IGRlc2tyaXB0b3IgJWQgZXhpc3R1amUiCiAKLSM6IGpvYnMuYzo0NjYKKyM6IGpvYnMuYzo0NjgKIG1zZ2lkICJzdGFydF9waXBlbGluZTogcGdycCBwaXBlIgogbXNnc3RyICJzdGFydF9waXBlbGluZTogcGdycCByb3VyeSIKIAotIzogam9icy5jOjg4NworIzogam9icy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JrZWQgcGlkICVkIGFwcGVhcnMgaW4gcnVubmluZyBqb2IgJWQiCiBtc2dzdHIgImZvcmtudXTDvSBQSUQgJWQgc2Ugb2JqZXZpbCB2wqBixJvFvsOtY8OtIMO6bG96ZSAlZCIKIAotIzogam9icy5jOjEwMDUKKyM6IGpvYnMuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCiBtc2dzdHIgIm1hxb51IHBvemFzdGF2ZW5vdSDDumxvaHUgJWQgc2Ugc2t1cGlub3UgcHJvY2Vzxa8gJWxkIgogCi0jOiBqb2JzLmM6MTExMAorIzogam9icy5jOjExMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKIG1zZ3N0ciAiYWRkX3Byb2Nlc3M6IHByb2NlcyAlNWxkICglcykgZG/CoHRoZV9waXBlbGluZSIKIAotIzogam9icy5jOjExMTMKKyM6IGpvYnMuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIG1hcmtlZCBhcyBzdGlsbCBhbGl2ZSIKIG1zZ3N0ciAiYWRkX3Byb2Nlc3M6IFBJRCAlNWxkICglcykgb3puYcSNZW4gemEgc3TDoWxlIMW+aXbDqWhvIgogCi0jOiBqb2JzLmM6MTQwMQorIzogam9icy5jOjE0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkIgogbXNnc3RyICJkZXNjcmliZV9waWQ6ICVsZDogxb7DoWRuw70gdGFrb3bDvSBQSUQiCiAKLSM6IGpvYnMuYzoxNDE2CisjOiBqb2JzLmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJTaWduYWwgJWQiCiBtc2dzdHIgIlNpZ27DoWwgJWQiCiAKICMgWFhYOiAow7psb2hhKSBkb2tvbsSNbmEuIFBvdcW+w612YXQgxb5lbnNrw70gcm9kIGnCoHVuw6FzbGVkdWrDrWPDrWNoLiBKZWRuw6Egc2UKICMgbyB2w71waXMgw7psb2guCi0jOiBqb2JzLmM6MTQzMCBqb2JzLmM6MTQ1NQorIzogam9icy5jOjE0NTkgam9icy5jOjE0ODQKIG1zZ2lkICJEb25lIgogbXNnc3RyICJEb2tvbsSNZW5hIgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCisjOiBqb2JzLmM6MTQ2NCBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiUG96YXN0YXZlbmEiCiAKLSM6IGpvYnMuYzoxNDM5CisjOiBqb2JzLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKIG1zZ3N0ciAiUG96YXN0YXZlbmEgKCVzKSIKIAotIzogam9icy5jOjE0NDMKKyM6IGpvYnMuYzoxNDcyCiBtc2dpZCAiUnVubmluZyIKIG1zZ3N0ciAiQsSbxb7DrSIKIAotIzogam9icy5jOjE0NTcKKyM6IGpvYnMuYzoxNDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbmUoJWQpIgogbXNnc3RyICJEb2tvbsSNZW5hICglZCkiCiAKLSM6IGpvYnMuYzoxNDU5CisjOiBqb2JzLmM6MTQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeGl0ICVkIgogbXNnc3RyICJVa29uxI1lbmEgJWQiCiAKLSM6IGpvYnMuYzoxNDYyCisjOiBqb2JzLmM6MTQ5MQogbXNnaWQgIlVua25vd24gc3RhdHVzIgogbXNnc3RyICJTdGF2IG5lem7DoW3DvSIKIAotIzogam9icy5jOjE1NDkKKyM6IGpvYnMuYzoxNTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihjb3JlIGR1bXBlZCkgIgogbXNnc3RyICIoY29yZSBkdW1wZWQgW29icmF6IHBhbcSbdGkgdWxvxb5lbl0pICIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiAgKGN3ZDogJXMpIgogCi0jOiBqb2JzLmM6MTc3NgorIzogam9icy5jOjE4MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgInNldHBnaWQgbmEgcG90b21rdSAoesKgJWxkIG5hICVsZCkiCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAid2FpdDogUElEICVsZCBuZW7DrSBwb3RvbWtlbSB0b2hvdG8gc2hlbGx1IgogCi0jOiBqb2JzLmM6MjMzMQorIzogam9icy5jOjIzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IMW9w6FkbsO9IHrDoXpuYW0gb8KgcHJvY2VzdSAlbGQiCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IMO6bG9oYSAlZCBqZSBwb3phc3RhdmVuYSIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiDDumxvaGEgc2tvbsSNaWxhIgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiDDumxvaGEgJWQgamUgamnFviBuYSBwb3phZMOtIgogCi0jOiBqb2JzLmM6MzA1OQorIzogam9icy5jOjMwODkKIG1zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCi1tc2dzdHIgIiIKK21zZ3N0ciAid2FpdGNobGQ6IHphcMOtbsOhIHNlIFdOT0hBTkcsIGFieSBzZSB6YWJyw6FuaWxvIG5ldXLEjWl0w6ltdSB6YWJsb2tvdsOhbsOtIgogCi0jOiBqb2JzLmM6MzUwOAorIzogam9icy5jOjM1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiJXM6IMWZw6FkZWsgJWQ6ICIKIAotIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiAoY29yZSBkdW1wZWQgW29icmF6IHBhbcSbdGkgdWxvxb5lbl0pIgogCi0jOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NworIzogam9icy5jOjM1NjQgam9icy5jOjM1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIihjd2Qgbnluw606ICVzKVxuIgogCi0jOiBqb2JzLmM6MzU3OQorIzogam9icy5jOjM2MDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBzZWxoYWxvIgogCi0jOiBqb2JzLmM6MzYzOQorIzogam9icy5jOjM2NjkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGRpc2NpcGzDrW5hIGxpbmt5IgogCi0jOiBqb2JzLmM6MzY0OQorIzogam9icy5jOjM2NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogCi0jOiBqb2JzLmM6MzY3NworIzogam9icy5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIm5lbHplIG5hc3Rhdml0IHNrdXBpbnUgcHJvY2Vzxa8gdGVybWluw6FsdSAoJWQpIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICLFvsOhZG7DoSBzcHLDoXZhIMO6bG9oIHbCoHRvbXRvIHNoZWxsdSIKIApAQCAtMTI2NCwyMiArMTI2NSwyMiBAQAogIzogbG9jYWxlLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgotbXNnc3RyICIiCittc2dzdHIgInNldGxvY2FsZTogTENfQUxMOiBuw6Fyb2Ruw60gcHJvc3TFmWVkw60gbmVsemUgem3Em25pdCAoJXMpIgogCiAjOiBsb2NhbGUuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgotbXNnc3RyICIiCittc2dzdHIgInNldGxvY2FsZTogTENfQUxMOiBuw6Fyb2Ruw60gcHJvc3TFmWVkw60gbmVsemUgem3Em25pdCAoJXMpOiAlcyIKIAogIzogbG9jYWxlLmM6MjQ3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKLW1zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiBuZWx6ZSBhbG9rb3ZhdCAlJ2x1IGJhanTFryIKK21zZ3N0ciAic2V0bG9jYWxlOiAlczogbsOhcm9kbsOtIHByb3N0xZllZMOtIG5lbHplIHptxJtuaXQgKCVzKSIKIAogIzogbG9jYWxlLmM6MjQ5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCi1tc2dzdHIgInhyZWFsbG9jOiAlczolZDogbmVsemUgYWxva292YXQgJSdsdSBiYWp0xa8iCittc2dzdHIgInNldGxvY2FsZTogJXM6IG7DoXJvZG7DrSBwcm9zdMWZZWTDrSBuZWx6ZSB6bcSbbml0ICglcyk6ICVzIgogCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgpAQCAtMTMyMiwxMDIgKzEzMjMsMTAyIEBACiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb246IGluc3RydWtjZSBwxZllc23Em3JvdsOhbsOtIOKAniVk4oCcIG1pbW8gcm96c2FoIgogCi0jOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CisjOiBwYXJzZS55OjMxNzMgcGFyc2UueTozNDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIm5lb8SNZWvDoXZhbsO9IGtvbmVjIHNvdWJvcnUgcMWZaSBobGVkw6Fuw60gem5ha3Ugb2Rwb3bDrWRhasOtY8OtbXUg4oCeJWPigJwiCiAKLSM6IHBhcnNlLnk6Mzk1MQorIzogcGFyc2UueTo0MDI1CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAibmVvxI1la8OhdmFuw70ga29uZWMgc291Ym9ydSBwxZlpIGhsZWTDoW7DrSDigJ5dXeKAnCIKIAogIyBYWFg6IENvbmRpb25hbCBtZWFucyBjb25kaXRpb24gKGFkai4pIHByb2JhYmx5LiBDYW4gRW5nbGlzaCBkaXN0aW5ndWlzaAogIyBiZXR3ZWVuIHRoZSBjb25kaXRpb24gKHBvZG3DrW5rb3bDvSkgYW5kIHRoZSBjb2RlIGJyYW5jaCAocG9kbcOtbsSbbsO9KT8gQ2hlY2sKICMgZm9yIGFsbCAiY29uZGl0aW9uYWwiIHN0cmluZyBvY2N1cmVuY2VzLgotIzogcGFyc2UueTozOTU2CisjOiBwYXJzZS55OjQwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZSB2ZSB2w71yYXp1IHBvZG3DrW5reTogbmVvxI1la8OhdmFuw70gdG9rZW4g4oCeJXPigJwiCiAKLSM6IHBhcnNlLnk6Mzk2MAorIzogcGFyc2UueTo0MDM0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgImNoeWJhIHN5bnRheGUgdmUgdsO9cmF6dSBwb2Rtw61ua3kiCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJuZW/EjWVrw6F2YW7DvSB0b2tlbiDigJ4lc+KAnCwgb8SNZWvDoXbDoW5hIOKAninigJwiCiAKLSM6IHBhcnNlLnk6NDA0MgorIzogcGFyc2UueTo0MTE2CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJvxI1la8OhdsOhbmEg4oCeKeKAnCIKIAotIzogcGFyc2UueTo0MDcwCisjOiBwYXJzZS55OjQxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuZW/EjWVrw6F2YW7DvSBhcmd1bWVudCDigJ4lc+KAnCB1wqBwb2Rtw61ua292w6lobyB1bsOhcm7DrWhvIG9wZXLDoXRvcnUiCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAibmVvxI1la8OhdmFuw70gYXJndW1lbnQgdcKgcG9kbcOtbmtvdsOpaG8gdW7DoXJuw61obyBvcGVyw6F0b3J1IgogCi0jOiBwYXJzZS55OjQxMjAKKyM6IHBhcnNlLnk6NDE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAibmVvxI1la8OhdmFuw70gdG9rZW4g4oCeJXPigJwsIG/EjWVrw6F2w6FuIHBvZG3DrW5rb3bDvSBiaW7DoXJuw60gb3BlcsOhdG9yIgogCi0jOiBwYXJzZS55OjQxMjQKKyM6IHBhcnNlLnk6NDE5OAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAib8SNZWvDoXbDoW4gcG9kbcOtbmtvdsO9IGJpbsOhcm7DrSBvcGVyw6F0b3IiCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm5lb8SNZWvDoXZhbsO9IGFyZ3VtZW50IOKAniVz4oCeIHXCoHBvZG3DrW5rb3bDqWhvIGJpbsOhcm7DrWhvIG9wZXLDoXRvcnUiCiAKLSM6IHBhcnNlLnk6NDE1MAorIzogcGFyc2UueTo0MjI0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm5lb8SNZWvDoXZhbsO9IGFyZ3VtZW50IHXCoHBvZG3DrW5rb3bDqWhvIGJpbsOhcm7DrWhvIG9wZXLDoXRvcnUiCiAKLSM6IHBhcnNlLnk6NDE2MQorIzogcGFyc2UueTo0MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJuZW/EjWVrw6F2YW7DvSB0b2tlbiDigJ4lY+KAnCB2IHBvZG3DrW5rb3bDqW0gcMWZw61rYXp1IgogCi0jOiBwYXJzZS55OjQxNjQKKyM6IHBhcnNlLnk6NDIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAibmVvxI1la8OhdmFuw70gdG9rZW4g4oCeJXPigJwgdsKgcG9kbcOtbmtvdsOpbSBwxZnDrWthenUiCiAKLSM6IHBhcnNlLnk6NDE2OAorIzogcGFyc2UueTo0MjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAibmVvxI1la8OhdmFuw70gdG9rZW4gJWQgdsKgcG9kbcOtbmtvdsOpbSBwxZnDrWthenUiCiAKLSM6IHBhcnNlLnk6NTQ1OQorIzogcGFyc2UueTo1NTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZSBwb2Jsw63FviBuZW/EjWVrw6F2YW7DqWhvIHRva2VudSDigJ4lc+KAnCIKIAotIzogcGFyc2UueTo1NDc3CisjOiBwYXJzZS55OjU1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZSBwb2Jsw63FviDigJ4lc+KAnCIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImNoeWJhIHN5bnRheGU6IG5lbmFkw6Fsw70ga29uZWMgc291Ym9ydSIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgImNoeWJhIHN5bnRheGUiCiAKLSM6IHBhcnNlLnk6NTU0OQorIzogcGFyc2UueTo1NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJTaGVsbCBsemUgdWtvbsSNaXQgcMWZw61rYXplbSDigJ4lc+KAnC5cbiIKIAotIzogcGFyc2UueTo1NzExCisjOiBwYXJzZS55OjU4MTgKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIm5lbmFkw6Fsw70ga29uZWMgc291Ym9ydSBwxZlpIGhsZWTDoW7DrSBvZHBvdsOtZGFqw61jw60g4oCeKeKAnCIKIApAQCAtMTQyNiw3NyArMTQyNyw3OCBAQAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICJkb3BsxYhvdsOhbsOtOiBmdW5rY2Ug4oCeJXPigJwgbmVuYWxlemVuYSIKIAotIzogcGNvbXBsaWIuYzoxNzkKKyM6IHBjb21wbGliLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IE5VTExPVsOdIENPTVBTUEVDIgogCi0jOiBwcmludF9jbWQuYzoyOTAKKyM6IHByaW50X2NtZC5jOjI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IGNoeWJuw6EgcHJvcG9qa2Eg4oCeJWTigJwiCiAKLSM6IHByaW50X2NtZC5jOjM2MwotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgotbXNnc3RyICIlZDogbmVwbGF0bsO9IGRlc2tyaXB0b3Igc291Ym9ydTogJXMiCi0KICM6IHByaW50X2NtZC5jOjM2OAotbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgotbXNnc3RyICIiCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAieHRyYWNlX3NldDogJWQ6IG5lcGxhdG7DvSBkZXNrcmlwdG9yIHNvdWJvcnUiCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6MzczCittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgInh0cmFjZV9zZXQ6IG51bGxvdsO9IHVrYXphdGVsIG5hIHNvdWJvcnUiCisKKyMgZmQsIGZwIGEgZmlsZW5vIGpzb3UgaWRlbnRpZmlrw6F0b3J5IHbCoGvDs2R1CisjOiBwcmludF9jbWQuYzozNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgotbXNnc3RyICIiCittc2dzdHIgInh0cmFjZTogZmQgKCVkKSAhPSBmaWxlbm8gZnAgKCVkKSIKIAotIzogcHJpbnRfY21kLmM6MTQ2MQorIzogcHJpbnRfY21kLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImNwcmludGY6IOKAniVj4oCcOiBjaHlibsO9IGZvcm3DoXRvdmFjw60gem5hayIKIAotIzogcmVkaXIuYzoxMTAKKyM6IHJlZGlyLmM6MTIyCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiZGVza3JpcHRvciBzb3Vib3J1IG1pbW8gcm96c2FoIgogCi0jOiByZWRpci5jOjE2NgorIzogcmVkaXIuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IG5lamVkbm96bmHEjW7DqSBwxZllc23Em3JvdsOhbsOtIgogCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IGV4aXN0dWrDrWPDrSBzb3Vib3IgbmVsemUgcMWZZXBzYXQiCiAKLSM6IHJlZGlyLmM6MTc1CisjOiByZWRpci5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IG9tZXplbm86IHbDvXN0dXAgbmVsemUgcMWZZXNtxJtyb3ZhdCIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAicHJvIOKAnmhlcmXigJwgZG9rdW1lbnQgbmVsemUgdnl0dm/FmWl0IGRvxI1hc27DvSBzb3Vib3I6ICVzIgogCi0jOiByZWRpci5jOjE4NAotIywgZnV6enksIGMtZm9ybWF0CisjOiByZWRpci5jOjE5NgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKLW1zZ3N0ciAiJXM6IHNlem5hbSBuZWx6ZSBwxZlpxZlhZGl0IGRvIHBydmt1IHBvbGUiCittc2dzdHIgIiVzOiBkZXNrcmlwdG9yIHNvdWJvcnUgbmVsemUgcMWZacWZYWRpdCBkbyBwcm9txJtubsOpIgogCi0jOiByZWRpci5jOjU0NAorIzogcmVkaXIuYzo1NDgKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBuZW7DrSBiZXogc8OtxaVvdsOhbsOtIHBvZHBvcm92w6FubyIKIAotIzogcmVkaXIuYzoxMTAxCisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAiY2h5YmEgcMWZZXNtxJtyb3bDoW7DrTogZGVza3JpcHRvciBzb3Vib3J1IG5lbHplIGR1cGxpa292YXQiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICJuZWx6ZSBuYWzDqXp0IC90bXAsIHZ5dHZvxZl0ZSBqZWosIHByb3PDrW0hIgogCi0jOiBzaGVsbC5jOjMzNgorIzogc2hlbGwuYzozMzcKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiL3RtcCBtdXPDrSBiw710IHBsYXRuw71tIG7DoXp2ZW0gcHJvIGFkcmVzw6HFmSIKIApAQCAtMTUwNSwxNiArMTUwNywxNiBAQAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiBjaHlibsO9IHDFmWVww61uYcSNIgogCi0jOiBzaGVsbC5jOjE2NTEKKyM6IHNoZWxsLmM6MTY1MgogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiTmVtw6FtIMW+w6FkbsOpIGptw6lubyEiCiAKLSM6IHNoZWxsLmM6MTc5MworIzogc2hlbGwuYzoxNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIG1zZ3N0ciAiR05VIGJhc2gsIHZlcnplICVzLSglcylcbiIKIAotIzogc2hlbGwuYzoxNzk0CisjOiBzaGVsbC5jOjE3OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNTIzLDQzICsxNTI1LDQzIEBACiAiUG91xb5pdMOtOlx0JXMgW0Rsb3Vow70gR05VIHDFmWVww61uYcSNXSBbcMWZZXDDrW5hxI1d4oCmXG4iCiAiXHQlcyBbRGxvdWjDvSBHTlUgcMWZZXDDrW5hxI1dIFtwxZllcMOtbmHEjV0gc2tyaXB0b3bDvV9zb3Vib3LigKZcbiIKIAotIzogc2hlbGwuYzoxNzk2CisjOiBzaGVsbC5jOjE3OTgKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJEbG91aMOpIEdOVSBwxZllcMOtbmHEjWU6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiUMWZZXDDrW5hxI1lIHNoZWxsdTpcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MDMKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0QgbmVibyAtYyBwxZnDrWtheiBuZWJvIC1PIHNob3B0X3DFmWVww61uYcSNXHQocG91emUgcMWZaSB2eXZvbMOhbsOtKVxuIgogCi0jOiBzaGVsbC5jOjE4MTYKKyM6IHNoZWxsLmM6MTgxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgbmVibyAtbyBwxZllcMOtbmHEjVxuIgogCi0jOiBzaGVsbC5jOjE4MjIKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKICJQb2Ryb2Jub3N0aSBvwqBwxZllcMOtbmHEjcOtY2ggc2hlbGx1IHrDrXNrw6F0ZSB0w61tLCDFvmUgbmFww63FoWV0ZSDigJ4lcyAtYyBcImhlbHAgc2V0IgogIlwi4oCcLlxuIgogCi0jOiBzaGVsbC5jOjE4MjMKKyM6IHNoZWxsLmM6MTgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAiUG9kcm9ibm9zdGkgb8KgcMWZw61rYXplY2ggdmVzdGF2xJtuw71jaCBkbyBzaGVsbHUgesOtc2vDoXRlIHTDrW0sIMW+ZVxuIgogIm5hcGnFoXRlIOKAniVzIC1jIGhlbHDigJwuXG4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIkNoeWJ5IG5haGzDoXPDrXRlIHDFmcOta2F6ZW0g4oCeYmFzaGJ1Z+KAnC5cbiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiBuZXBsYXRuw6Egb3BlcmFjZSIKQEAgLTE3MzcsODMgKzE3MzksODUgQEAKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIk5lem7DoW3DvSBzaWduw6FsIMSNLuKAryVkIgogCi0jOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAiY2h5Ym7DoSBzdWJzdGl0dWNlOiB2wqAlMiRzIGNoeWLDrSB1emF2w61yYWPDrSDigJ4lMSRz4oCcIgogCi0jOiBzdWJzdC5jOjI3MzUKKyM6IHN1YnN0LmM6Mjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiJXM6IHNlem5hbSBuZWx6ZSBwxZlpxZlhZGl0IGRvIHBydmt1IHBvbGUiCiAKLSM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKKyM6IHN1YnN0LmM6NDk3OSBzdWJzdC5jOjQ5OTUKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibmVsemUgdnlyb2JpdCByb3VydSB6YSDDusSNZWxlbSBzdWJzdGl0dWNlIHByb2Nlc3UiCiAKLSM6IHN1YnN0LmM6NDgwMgorIzogc3Vic3QuYzo1MDI3CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJuZWx6ZSB2eXR2b8WZaXQgcG90b21rYSB6YSDDusSNZWxlbSBzdWJzdGl0dWNlIHByb2Nlc3UiCiAKLSM6IHN1YnN0LmM6NDg0NworIzogc3Vic3QuYzo1MDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgInBvam1lbm92YW5vdSByb3VydSAlcyBuZWx6ZSBvdGV2xZnDrXQgcHJvIMSNdGVuw60iCiAKLSM6IHN1YnN0LmM6NDg0OQorIzogc3Vic3QuYzo1MDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgInBvam1lbm92YW5vdSByb3VydSAlcyBuZWx6ZSBvdGV2xZnDrXQgcHJvIHrDoXBpcyIKIAotIzogc3Vic3QuYzo0ODY3CisjOiBzdWJzdC5jOjUwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJwb2ptZW5vdmFub3Ugcm91cnUgJXMgbmVsemUgemR2b2ppdCBqYWtvIGRlc2tyaXB0b3IgJWQiCiAKLSM6IHN1YnN0LmM6NTA2MworIzogc3Vic3QuYzo1Mjg0CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5lbHplIHZ5dHZvxZlpdCByb3VydSBwcm8gc3Vic3RpdHVjaSBwxZnDrWthenUiCiAKLSM6IHN1YnN0LmM6NTA5NworIzogc3Vic3QuYzo1MzIyCiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJuZWx6ZSB2eXR2b8WZaXQgcG90b21rYSBwcm8gc3Vic3RpdHVjaSBwxZnDrWthenUiCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlOiByb3VydSBuZWx6ZSB6ZHZvaml0IGpha28gZGVza3JpcHRvciAxIgogCi0jOiBzdWJzdC5jOjU2MTcKKyM6IHN1YnN0LmM6NTg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6IHBhcmFtZXRyIG51bGwgbmVibyBuZW5hc3RhdmVuIgogCi0jOiBzdWJzdC5jOjU5MDcKKyM6IHN1YnN0LmM6NjEyNSBzdWJzdC5jOjYxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXM6IHbDvXJheiBwb2TFmWV0xJt6Y2UgPCAwIgogCi0jOiBzdWJzdC5jOjY5NjUKKyM6IHN1YnN0LmM6NzI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiJXM6IGNoeWJuw6Egc3Vic3RpdHVjZSIKIAotIzogc3Vic3QuYzo3MDQ1CisjOiBzdWJzdC5jOjczNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IHRha3RvIG5lbHplIHDFmWnFmWF6b3ZhdCIKIAotIzogc3Vic3QuYzo3Mzc0CisjOiBzdWJzdC5jOjc2ODQKIG1zZ2lkICIiCiAiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCiAic3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCisiYnVkb3Vjw6EgdmVyemUgdG9ob3RvIHNoZWxsdSBidWRvdSB2eW51Y292YXQgdnlob2Rub2NlbsOtIGpha28gYXJpdG1ldGlja291ICIKKyJzdWJzdGl0dWNpIgogCi0jOiBzdWJzdC5jOjc4MzkKKyM6IHN1YnN0LmM6ODE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJjaHlibsOhIHN1YnN0aXR1Y2U6IHbCoCVzIGNoeWLDrSB1emF2w61yYWPDrSDigJ5g4oCcIgogCi0jOiBzdWJzdC5jOjg3MjAKKyM6IHN1YnN0LmM6OTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgIsW+w6FkbsOhIHNob2RhOiAlcyIKQEAgLTE4MzYsMzYgKzE4NDAsMzYgQEAKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJvxI1la8OhdsOhbmEg4oCeKeKAnCwgbmFsZXplbm8gJXMiCiAKLSM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTggdGVzdC5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBvxI1la8OhdsOhbiB1bsOhcm7DrSBvcGVyw6F0b3IiCiAKLSM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBvxI1la8OhdsOhbiBiaW7DoXJuw60gb3BlcsOhdG9yIgogCi0jOiB0ZXN0LmM6ODExCisjOiB0ZXN0LmM6ODE2CiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgInBvc3Ryw6Fkw6FtIOKAnl3igJwiCiAKLSM6IHRyYXAuYzoyMDMKKyM6IHRyYXAuYzoyMDcKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgIm5lcGxhdG7DqSDEjcOtc2xvIHNpZ27DoWx1IgogCi0jOiB0cmFwLmM6MzI3CisjOiB0cmFwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiBjaHlibsOhIGhvZG5vdGEgdsKgdHJhcF9saXN0WyVkXTogJXAiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiBvYnNsdWhhIHNpZ27DoWx1IGplIFNJR19ERkwsIHDFmWVwb3PDrWzDoW0gJWQgKCVzKSBzb2LEmyIKIAotIzogdHJhcC5jOjM4MAorIzogdHJhcC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcjogY2h5Ym7DvSBzaWduw6FsICVkIgpAQCAtMTg3NSw1OCArMTg3OSw1OSBAQAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJjaHliYSBwxZlpIGltcG9ydHUgZGVmaW5pY2Ug4oCeJXPigJwiCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICLDunJvdmXFiCBzaGVsbHUgKCVkKSBwxZnDrWxpxaEgdnlzb2vDoSwgcmVzZXR1amkgbmEgMSIKIAotIzogdmFyaWFibGVzLmM6MTkxNQorIzogdmFyaWFibGVzLmM6MTkzMgogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAibWFrZV9sb2NhbF92YXJpYWJsZTogxb7DoWRuw70ga29udGV4dCBmdW5rY2UgdsKgYWt0dcOhbG7DrW0gcm96c2FodSIKIAotIzogdmFyaWFibGVzLmM6MzE1OQorIzogdmFyaWFibGVzLmM6MzE4MgogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiYWxsX2xvY2FsX3ZhcmlhYmxlczogxb7DoWRuw70ga29udGV4dCBmdW5rY2UgdsKgYWt0dcOhbG7DrW0gcm96c2FodSIKIAotIzogdmFyaWFibGVzLmM6MzM3NgotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzozNDI3CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKLW1zZ3N0ciAiJXM6IHBhcmFtZXRyIG51bGwgbmVibyBuZW5hc3RhdmVuIgorbXNnc3RyICIlczogbcOhIG51bGxvdsO9IGV4cG9ydHN0ciIKIAotIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCisjOiB2YXJpYWJsZXMuYzozNDMyIHZhcmlhYmxlcy5jOjM0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAibmVwbGF0bsO9IHpuYWsgJWQgdsKgZXhwb3J0c3RyIHBybyAlcyIKIAotIzogdmFyaWFibGVzLmM6MzM5NgorIzogdmFyaWFibGVzLmM6MzQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAidsKgZXhwb3J0c3RyIHBybyAlcyBjaHliw60g4oCePeKAnCIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBobGF2YSBzaGVsbF92YXJpYWJsZXMgbmVuw60ga29udGV4dGVtIGZ1bmtjZSIKIAotIzogdmFyaWFibGVzLmM6Mzg0OAorIzogdmFyaWFibGVzLmM6MzkwNAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IGNoeWLDrSBrb250ZXh0IGdsb2JhbF92YXJpYWJsZXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAicG9wX3Njb3BlOiBobGF2YSBzaGVsbF92YXJpYWJsZXMgbmVuw60gZG/EjWFzbsO9bSByb3pzYWhlbSBwcm9zdMWZZWTDrSIKIAotIzogdmFyaWFibGVzLmM6NDY3OAotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzo0Nzg2CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKLW1zZ3N0ciAiJXM6IG5lbHplIG90ZXbFmcOtdDogJXMiCittc2dzdHIgIiVzOiAlczogbmVsemUgb3RldsWZw610IGpha28gU09VQk9SIgogCi0jOiB2YXJpYWJsZXMuYzo0NjgzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHZhcmlhYmxlcy5jOjQ3OTEKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCi1tc2dzdHIgIiVkOiBuZXBsYXRuw70gZGVza3JpcHRvciBzb3Vib3J1OiAlcyIKK21zZ3N0ciAiJXM6ICVzOiBuZXBsYXRuw6EgaG9kbm90YSBwcm8gZGVza3JpcHRvciB0cmFzb3ZhY8OtaG8gc291Ym9ydSIKIAogIzogdmVyc2lvbi5jOjQ2Ci1tc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKKyMsIGZ1enp5Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiQ29weXJpZ2h0IMKpwqAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIAogIzogdmVyc2lvbi5jOjQ3CkBAIC0xOTUzLDM4ICsxOTU4LDM4IEBACiBtc2dzdHIgIlZFxaBLRVLDiSBaw4FSVUtZIGNoeWLDrSwgamFrIGplbiB6w6Frb24gZG92b2x1amUuXG4iCiAKICM6IHZlcnNpb24yLmM6ODYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCi1tc2dzdHIgIkNvcHlyaWdodCDCqcKgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dzdHIgIkNvcHlyaWdodCDCqcKgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIAogIzogdmVyc2lvbjIuYzo4NwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCiAiaHRtbD5cbiIKIG1zZ3N0ciAiIgotIkxpY2VuY2UgR1BMdjMrOiBHTlUgR1BMIHZlcnplIDMgbmVibyBub3bEm2rFocOtIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorIkxpY2VuY2UgR1BMdjIrOiBHTlUgR1BMIHZlcnplIDIgbmVibyBub3bEm2rFocOtIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiAKICM6IHhtYWxsb2MuYzo5MQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieG1hbGxvYzogbmVsemUgYWxva292YXQgJSdsdSBiYWp0xa8gKCUnbHUgYmFqdMWvIGFsb2tvdsOhbm8pIgorbXNnc3RyICIlczogbmVsemUgYWxva292YXQgJSdsdSBiYWp0xa8gKGFsb2tvdsOhbm8gJSdsdSBiYWp0xa8pIgogCiAjOiB4bWFsbG9jLmM6OTMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieG1hbGxvYzogbmV6bGUgYWxva292YXQgJSdsdSBiYWp0xa8iCittc2dzdHIgIiVzOiBuZXpsZSBhbG9rb3ZhdCAlJ2x1IGJhanTFryIKIAogIzogeG1hbGxvYy5jOjE2MwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBuZWx6ZSBhbG9rb3ZhdCAlJ2x1IGJhanTFryAoJSdsdSBiYWp0xa8gYWxva292w6FubykiCittc2dzdHIgIiVzOiAlczolZDogbmVsemUgYWxva292YXQgJSdsdSBiYWp0xa8gKGFsb2tvdsOhbm8gJSdsdSBiYWp0xa8pIgogCiAjOiB4bWFsbG9jLmM6MTY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4bWFsbG9jOiAlczolZDogbmVsemUgYWxva292YXQgJSdsdSBiYWp0xa8iCittc2dzdHIgIiVzOiAlczolZDogbmVsemUgYWxva292YXQgJSdsdSBiYWp0xa8iCiAKICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCkBAIC0yMDIwLDcgKzIwMjUsOCBAQAogbXNnc3RyICJjYWxsZXIgW3bDvXJhel0iCiAKICM6IGJ1aWx0aW5zLmM6NjQKLW1zZ2lkICJjZCBbLUx8LVBdIFtkaXJdIgorIywgZnV6enkKK21zZ2lkICJjZCBbLUx8Wy1QIFstZV1dXSBbZGlyXSIKIG1zZ3N0ciAiY2QgWy1MfC1QXSBbYWRyXSIKIAogIzogYnVpbHRpbnMuYzo2NgpAQCAtMjA0NCwxMSArMjA1MCwxMyBAQAogbXNnc3RyICJjb21tYW5kIFstcFZ2XSBwxZnDrWtheiBbYXJndW1lbnTigKZdIgogCiAjOiBidWlsdGlucy5jOjc2Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgorIywgZnV6enkKK21zZ2lkICJkZWNsYXJlIFstYUFmRmdpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgogbXNnc3RyICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbsOhemV2Wz1ob2Rub3RhXeKApl0iCiAKICM6IGJ1aWx0aW5zLmM6NzgKLW1zZ2lkICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgorIywgZnV6enkKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKIG1zZ3N0ciAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbsOhemV2Wz1ob2Rub3RhXeKApiIKIAogIzogYnVpbHRpbnMuYzo4MApAQCAtMjEwNSw5ICsyMTEzLDggQEAKIG1zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgbsOhemV2X2Nlc3R5XSBbLWR0XSBbbsOhemV24oCmXSIKIAogIzogYnVpbHRpbnMuYzoxMTcKLSMsIGZ1enp5CiBtc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKLW1zZ3N0ciAiaGVscCBbLWRzXSBbdnpvcmVr4oCmXSIKK21zZ3N0ciAiaGVscCBbLWRtc10gW3Z6b3Jla+KApl0iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCiBtc2dpZCAiIgpAQCAtMjEzNywyMCArMjE0NCwyMCBAQAogbXNnc3RyICJsZXQgYXJndW1lbnQgW2FyZ3VtZW504oCmXSIKIAogIzogYnVpbHRpbnMuYzoxMzYKLSMsIGZ1enp5CiBtc2dpZCAiIgogInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKICJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKLSJyZWFkIFstZXJzXSBbLWEgcG9sZV0gWy1kIG9kZMSbbG92YcSNXSBbLWkgdGV4dF0gWy1uIHBfem5ha8WvXSBbLXAgdsO9enZhXSBbLXQgIgotImxpbWl0XSBbLXUgZmRdIFtqbcOpbm/igKZdIgorInJlYWQgWy1lcnNdIFstYSBwb2xlXSBbLWQgb2RkxJtsb3ZhxI1dIFstaSB0ZXh0XSBbLW4gcF96bmFrxa9dIFstTiBwX3puYWvFr10gWy1wICIKKyJ2w716dmFdIFstdCBsaW1pdF0gWy11IGZkXSBbam3DqW5v4oCmXSIKIAogIzogYnVpbHRpbnMuYzoxMzgKIG1zZ2lkICJyZXR1cm4gW25dIgogbXNnc3RyICJyZXR1cm4gW25dIgogCiAjOiBidWlsdGlucy5jOjE0MAotbXNnaWQgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbYXJnIC4uLl0iCisjLCBmdXp6eQorbXNnaWQgInNldCBbLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFstLV0gW2FyZyAuLi5dIgogbXNnc3RyICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBuw6F6ZXZfcMWZZXDDrW5hxI1lXSBbYXJndW1lbnTigKZdIgogCiAjOiBidWlsdGlucy5jOjE0MgpAQCAtMjE2Miw3ICsyMTY5LDggQEAKIG1zZ3N0ciAiZXhwb3J0IFstZm5dIFtuw6F6ZXZbPWhvZG5vdGFdIOKApl0gbmVibyBleHBvcnQgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ2Ci1tc2dpZCAicmVhZG9ubHkgWy1hZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgorIywgZnV6enkKK21zZ2lkICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgogbXNnc3RyICJyZWFkb25seSBbLWFmXSBbbsOhemV2Wz1ob2Rub3RhXSDigKZdIG5lYm8gcmVhZG9ubHkgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4CkBAIC0yMzAzLDE0ICsyMzExLDEzIEBACiBtc2dzdHIgInByaW50ZiBbLXYgcHJvbcSbbm7DoV0gZm9ybcOhdCBbYXJndW1lbnR5XSIKIAogIzogYnVpbHRpbnMuYzoyMjkKLSMsIGZ1enp5CiBtc2dpZCAiIgogImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCiAiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCiAic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCi0iY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBwxZllcMOtbmHEjV0gWy1BIGFrY2VdIFstRyBnbG9idnpvcl0gWy1XICIKLSJzZXpuYW1fc2xvdl0gIFstRiBmdW5rY2VdIFstQyBwxZnDrWthel0gWy1YIGZpbHRydnpvcl0gWy1QIHDFmWVkcG9uYV0gWy1TICIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIHDFmWVww61uYcSNXSBbLUEgYWtjZV0gWy1HIGdsb2J2em9yXSBbLSIKKyJXIHNlem5hbV9zbG92XSAgWy1GIGZ1bmtjZV0gWy1DIHDFmcOta2F6XSBbLVggZmlsdHJ2em9yXSBbLVAgcMWZZWRwb25hXSBbLVMgIgogInDFmcOtcG9uYV0gW27DoXplduKApl0iCiAKICM6IGJ1aWx0aW5zLmM6MjMzCkBAIC0yMzIzLDkgKzIzMzAsOCBAQAogInDFmcOtcG9uYV0gW3Nsb3ZvXSIKIAogIzogYnVpbHRpbnMuYzoyMzcKLSMsIGZ1enp5CiBtc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgotbXNnc3RyICJjb21wb3B0IFstb3wrbyBtb8W+bm9zdF0gW27DoXplduKApl0iCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIG1vxb5ub3N0XSBbLURFXSBbbsOhemV24oCmXSIKIAogIzogYnVpbHRpbnMuYzoyNDAKIG1zZ2lkICIiCkBAIC0yNTYzLDYgKzI1NjksNyBAQAogIiAgICBWcmFjw60gMCwgcG9rdWQgc2hlbGwgcHJvdsOhZMOtIHNoZWxsb3ZvdSBmdW5rY2kgYSBWw51SQVogamUgcGxhdG7DvS4iCiAKICM6IGJ1aWx0aW5zLmM6MzgzCisjLCBmdXp6eQogbXNnaWQgIiIKICJDaGFuZ2UgdGhlIHNoZWxsIHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI1ODgsMTEgKzI1OTUsMTUgQEAKICIgICAgICAgIC1MXHRmb3JjZSBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZFxuIgogIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgogIiAgICBcdGxpbmtzXG4iCisiICAgICAgICAtZVx0aWYgdGhlIC1QIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iCisiICAgIFx0Y2Fubm90IGJlIGRldGVybWluZWQgc3VjY2Vzc2Z1bGx5LCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXNcbiIKICIgICAgXG4iCiAiICAgIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkOyBub24temVybyBvdGhlcndpc2UuIgorIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5ICIKKyJ3aGVuXG4iCisiICAgIC1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKICJabcSbbsOtIHByYWNvdm7DrSBhZHJlc8OhxZkgc2hlbGx1LlxuIgogIiAgICBcbiIKQEAgLTI2MjEsNyArMjYzMiw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyYWPDrSAwLCBieWwtbGkgYWRyZXPDocWZIHptxJtuxJtuLCBqaW5hayBuZW51bG92b3UgaG9kbm90dS4iCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNjQ5LDcgKzI2NjAsNyBAQAogIiAgICBWcmFjw60gMCwgbmVieWwtbGkgemFkw6FuIG5lcGxhdG7DvSBwxZllcMOtbmHEjSBhIG1vaGwtbGkgYsO9dCBzb3XEjWFzbsO9XG4iCiAiICAgIGFkcmVzw6HFmSBwxZllxI10ZW4uIgogCi0jOiBidWlsdGlucy5jOjQyOAorIzogYnVpbHRpbnMuYzo0MzEKIG1zZ2lkICIiCiAiTnVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI2NjUsNyArMjY3Niw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFbFvmR5IHVzcMSbamUuIgogCi0jOiBidWlsdGlucy5jOjQzOQorIzogYnVpbHRpbnMuYzo0NDIKIG1zZ2lkICIiCiAiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgpAQCAtMjY3Nyw3ICsyNjg4LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVsW+ZHkgdXNwxJtqZS4iCiAKLSM6IGJ1aWx0aW5zLmM6NDQ4CisjOiBidWlsdGlucy5jOjQ1MQogbXNnaWQgIiIKICJSZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNjg5LDcgKzI3MDAsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWxb5keSBzZWzFvmUuIgogCi0jOiBidWlsdGlucy5jOjQ1NworIzogYnVpbHRpbnMuYzo0NjAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjcyNCw3ICsyNzM1LDggQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnJhY8OtIG7DoXZyYXRvdsO9IGvDs2QgUMWYw41LQVpVLCBuZWJvIHNlbMW+ZSwgbmVieWzigJNsaSBwxZnDrWtheiBuYWxlemVuLiIKIAotIzogYnVpbHRpbnMuYzo0NzYKKyM6IGJ1aWx0aW5zLmM6NDc5CisjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI3MzUsNiArMjc0Nyw4IEBACiAiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgogIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCiAiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCiAiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgogIiAgICBcbiIKICIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKQEAgLTI3NTQsNyArMjc2OCw3IEBACiAiICAgIFxuIgogIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiAiYGxvY2FsJ1xuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIGAtZycgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCkBAIC0yNzkyLDcgKzI4MDYsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcmFjw60gw7pzcMSbY2gsIHBva3VkIG5lYnlsIHphZMOhbiBuZXBsYXRuw70gcMWZZXDDrW5hxI0gYSBuZWRvxaFsbyBrwqBjaHlixJsuIgogCi0jOiBidWlsdGlucy5jOjUxMgorIzogYnVpbHRpbnMuYzo1MTcKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCkBAIC0yODAyLDcgKzI4MTYsNyBAQAogIiAgICBcbiIKICIgICAgUMWZw61rYXogamUgemFzdGFyYWzDvS4gVml6dGUg4oCeaGVscCBkZWNsYXJl4oCcLiIKIAotIzogYnVpbHRpbnMuYzo1MjAKKyM6IGJ1aWx0aW5zLmM6NTI1CiBtc2dpZCAiIgogIkRlZmluZSBsb2NhbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMjgyMCw3ICsyODM0LDcgQEAKICIgICAgXG4iCiAiICAgIFZ5dHZvxZnDrSBsb2vDoWxuw60gcHJvbcSbbm5vdSBwb2ptZW5vdmFub3UgTsOBWkVWIGEgcMWZacWZYWTDrSBqw60gSE9ETk9UVS4gIgogIlDFmEVQw41OQcSMXG4iCi0iICAgIHNtw60gbcWvxb5lIGLDvXQgamFrw71rb2xpdiBwxZllcMOtbmHEjSBwxZnDrXB1c3Ruw70gdcKg4oCeZGVjbGFyZeKAnFxuIgorIiAgICBzbcOtIGLDvXQgamFrw71rb2xpdiBwxZllcMOtbmHEjSBwxZnDrXB1c3Ruw70gdcKg4oCeZGVjbGFyZeKAnC5cbiIKICIgICAgXG4iCiAiICAgIExva8OhbG7DrSBwcm9txJtubsOpIGx6ZSBwb3XFvsOtdCBqZW4gdXZuaXTFmSBmdW5rY8OtLCBidWRvdSB2aWRpdGVsbsOpIGplbiAiCiAidsKgZGFuw6lcbiIKQEAgLTI4MzAsNyArMjg0NCw3IEBACiAiICAgIFZyYWPDrSDDunNwxJtjaCwgbmVieWwtbGkgemFkw6FuIG5lcGxhdG7DvSBwxZllcMOtbmHEjSwgbmVuYXN0YWxhLWxpIGNoeWJhIGFcbiIKICIgICAgdnlrb27DoXbDoS1saSBzaGVsbCBmdW5rY2kuIgogCi0jOiBidWlsdGlucy5jOjUzNworIzogYnVpbHRpbnMuYzo1NDIKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjg5MSw3ICsyOTA1LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnJhY8OtIMO6c3DEm2NoLCBuZWRvamRlLWxpIGvCoGNoeWLEmyB6w6FwaXN1IG5hIHbDvXN0dXAuIgogCi0jOiBidWlsdGlucy5jOjU3MQorIzogYnVpbHRpbnMuYzo1NzYKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjkxMiw3ICsyOTI2LDcgQEAKICIgICAgXG4iCiAiICAgIFZyYWPDrSDDunNwxJtjaCwgbmVkb2p0ZS1saSBrwqBjaHlixJsgesOhcGlzdSBuYSB2w71zdHVwLiIKIAotIzogYnVpbHRpbnMuYzo1ODYKKyM6IGJ1aWx0aW5zLmM6NTkxCiBtc2dpZCAiIgogIkVuYWJsZSBhbmQgZGlzYWJsZSBzaGVsbCBidWlsdGlucy5cbiIKICIgICAgXG4iCkBAIC0yOTY2LDcgKzI5ODAsNyBAQAogIiAgICBWcmFjw60gw7pzcMSbY2gsIGplLWxpIE7DgVpFViB2ZXN0YXbEm27DvW0gcMWZw61rYXplbSBzaGVsbHUgYSBuZXZ5c2t5dG5lLWxpXG4iCiAiICAgIHNlIGNoeWJhLiIKIAotIzogYnVpbHRpbnMuYzo2MTQKKyM6IGJ1aWx0aW5zLmM6NjE5CiBtc2dpZCAiIgogIkV4ZWN1dGUgYXJndW1lbnRzIGFzIGEgc2hlbGwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yOTg0LDcgKzI5OTgsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIG7DoXZyYXRvdsO9IGvDs2QgcMWZw61rYXp1LCBuZWJvIMO6c3DEm2NoLCBieWwtbGkgcMWZw61rYXogcHLDoXpkbsO9LiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzA2Nyw3ICszMDgxLDcgQEAKICJkb2pkZVxuIgogIiAgICBuYSBrb25lYyBwxZllcMOtbmHEjcWvIG5lYm8gbmFzdGFuZS1saSBjaHliYS4iCiAKLSM6IGJ1aWx0aW5zLmM6NjY4CisjOiBidWlsdGlucy5jOjY3MwogbXNnaWQgIiIKICJSZXBsYWNlIHRoZSBzaGVsbCB3aXRoIHRoZSBnaXZlbiBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTMxMDgsNyArMzEyMiw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIGJ5bCBQxZjDjUtBWiBuYWxlemVuIGEgbmVkb8WhbG8ga8KgY2h5YsSbIHDFmWVzbcSbcm92w6Fuw60uIgogCi0jOiBidWlsdGlucy5jOjY4OQorIzogYnVpbHRpbnMuYzo2OTQKIG1zZ2lkICIiCiAiRXhpdCB0aGUgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzEyMCw3ICszMTM0LDcgQEAKICIgICAgVWtvbsSNw60gdGVudG8gc2hlbGwgc2Ugc3RhdmVtIE4uIEJleiBOIGJ1ZGUgbsOhdnJhdG92w70ga8OzZCByb3ZlbiBrw7NkdVxuIgogIiAgICBwb3NsZWRuxJsgcHJvdsOhZMSbbsOpaG8gcMWZw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzo2OTgKKyM6IGJ1aWx0aW5zLmM6NzAzCiBtc2dpZCAiIgogIkV4aXQgYSBsb2dpbiBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMTMzLDcgKzMxNDcsNyBAQAogIiAgICBVa29uxI3DrSBwxZlpaGxhxaFvdmFjw60gKGxvZ2luKSBzaGVsbCBzZSBzdGF2ZW0gTi4gTmVieWwtbGkgcMWZw61rYXogemF2b2zDoW5cbiIKICIgICAgesKgcMWZaWhsYcWhb3ZhY8OtaG8gc2hlbGx1LCB2csOhdMOtIGNoeWJ1LiIKIAotIzogYnVpbHRpbnMuYzo3MDgKKyM6IGJ1aWx0aW5zLmM6NzEzCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzE4Niw3ICszMjAwLDcgQEAKICIgICAgVnLDoXTDrSDDunNwxJtjaCBuZWJvIGvDs2QgcHJvdmVkZW7DqWhvIHDFmcOta2F6dS4gTmVudWxvdsO9IGvDs2QsIHZ5c2t5dG5lLWxpIHNlXG4iCiAiICAgIGNoeWJhLiIKIAotIzogYnVpbHRpbnMuYzo3MzgKKyM6IGJ1aWx0aW5zLmM6NzQzCiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTMyMDcsNyArMzIyMSw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIEvDs2Qgw7psb2h5IHDFmWVzdW51dMOpIGRvIHBvcMWZZWTDrSwgbmVibyBkb8WhbG8tbGkga8KgY2h5YsSbLCBrw7NkIHNlbGjDoW7DrS4iCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogbXNnaWQgIiIKICJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzIyOSw3ICszMjQzLDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgamUgc3Byw6F2YSDDumxvaCB6YXBudXRhIGEgbmVkb8WhbG8tbGkga8KgbsSbamFrw6kgY2h5YsSbLiIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzI3Myw3ICszMjg3LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgYnlsIE7DgVpFViBuYWxlemVuIGEgbmVieWwtbGkgemFkw6FuIG5lcGxhdG7DvSBwxZllcMOtbmHEjS4iCiAKLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzMxNCw3ICszMzI4LDcgQEAKICIgICAgVnJhY8OtIMO6c3DEm2NoLCBwb2t1ZCBieWwgbmFsZXplbiBWWk9SRUsgYSBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNLiIKIAogIyBGSVhNRTogYmFzaC00LjAtcHJlMTogT3JwaGFuZWQgbGluZSBiZXR3ZWVuIC13IGFuZCAtcCBvcHRpb24uIEl0IGJlbG9uZ3MgdG8gLW4uCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzM3OSw3ICszMzkzLDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgbmVieWwgemFkw6FuIG5lcGxhdG7DvSBwxZllcMOtbmHEjSBhIG5lZG/FoWxvIGvCoGNoeWLEmy4iCiAKLSM6IGJ1aWx0aW5zLmM6ODUyCisjOiBidWlsdGlucy5jOjg1NwogbXNnaWQgIiIKICJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgogIiAgICBcbiIKQEAgLTM0MjQsNyArMzQzOCw3IEBACiAiY2h5YmEuXG4iCiAiICAgIEJ5bC1seSBwb3XFvml0IHDFmWVww61uYcSNIC14LCB2csOhdMOtIG7DoXZyYXRvdsO9IGvDs2QgUMWYw41LQVpVLiIKIAotIzogYnVpbHRpbnMuYzo4NzkKKyM6IGJ1aWx0aW5zLmM6ODg0CiBtc2dpZCAiIgogIlJlbW92ZSBqb2JzIGZyb20gY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zNDU0LDcgKzM0NjgsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNIG5lYm8gw5pMT0hBLiIKIAotIzogYnVpbHRpbnMuYzo4OTgKKyM6IGJ1aWx0aW5zLmM6OTAzCiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMzQ5NSw3ICszNTA5LDggQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgbmVieWwgemFkw6FuIG5lcGxhdG7DvSBwxZllcMOtbmHEjSBhIG5lZG/FoWxvIGvCoGNoeWLEmy4iCiAKLSM6IGJ1aWx0aW5zLmM6OTIxCisjOiBidWlsdGlucy5jOjkyNgorIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy5cbiIKICIgICAgXG4iCkBAIC0zNTM3LDcgKzM1NTIsNyBAQAogIiAgICBydWxlcyBhYm92ZS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4iCisiICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAiVnlob2Rub3TDrSBhcml0bWV0aWNrw70gdsO9cmF6LlxuIgogIiAgICBcbiIKQEAgLTM1ODIsOCArMzU5Nyw3IEBACiAiICAgIFBva3VkIHBvc2xlZG7DrSBBUkdVTUVOVCBqZSB2eWhvZG5vY2VuIG5hIDAsIGxldCB2csOhdMOtIDEuIEppbmFrIGplXG4iCiAiICAgIG5hdnLDoWNlbmEgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6OTY2Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzo5NzEKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgogIiAgICBcbiIKQEAgLTM2MzAsNyArMzY0NCw3IEBACiAib3V0LFxuIgogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogbXNnc3RyICIiCi0iTmHEjXRlIHplIHN0YW5kYXJkbsOtaG8gdnN0dXB1IGplZGVuIMWZw6FkZWsgYSByb3pkxJtsw60gamVqIG5hIHBvbG/FvnkuXG4iCisiTmHEjXRlIHplIHN0YW5kYXJkbsOtaG8gdnN0dXB1IGplZGVuIMWZw6FkZWsgYSByb3pkxJtsw60gamVqIG5hIHBvbG/Fvmt5LlxuIgogIiAgICBcbiIKICIgICAgWmUgc3RhbmRhcmRuw61obyB2c3R1cHUsIG5lYm8gZGVza3JpcHRvcnUgc291Ym9ydSBGRCwgamUtbGkgemFkw6FuXG4iCiAiICAgIHDFmWVww61uYcSNIC11LCBqZSBuYcSNdGVuIGplZGVuIMWZw6FkZWsuIMWYw6FkZWsgc2Ugcm96ZMSbbMOtIG5hIMSNw6FzdGkgamFrbyBwxZlpXG4iCkBAIC0zNjQwLDI2ICszNjU0LDI5IEBACiAiICAgIHBvc2xlZG7DrWhvIEpNw4lOQS4gUG91emUgem5ha3kgdXZlZGVuw6kgdsKgJElGUyBqc291IHBvdmHFvm92w6FueSB6YVxuIgogIiAgICBvZGTEm2xvdmHEjWUgc2xvdi5cbiIKICIgICAgXG4iCi0iICAgIE5lanNvdS1saSB1dmVkZW55IMW+w6FkbsOhIEpNw4lOQSwgbmHEjXRlbsO9IMWZw6FkZWsgYnVkZSB1bG/FvmVuIGRvIHByb23Em25uw6kgIgorIiAgICBOZWpzb3UtbGkgdXZlZGVuYSDFvsOhZG7DoSBKTcOJTkEsIG5hxI10ZW7DvSDFmcOhZGVrIGJ1ZGUgdWxvxb5lbiBkbyBwcm9txJtubsOpICIKICJSRVBMWS5cbiIKICIgICAgXG4iCiAiICAgIFDFmWVww61uYcSNZTpcbiIKICIgICAgICAtYSBwb2xlXHRuYcSNdGVuw6Egc2xvdmEgYnVkb3UgcMWZacWZYXplbmEgZG8gcG9zdHVwbsO9Y2ggcHJ2a8WvIFBPTEVcbiIKLSIgICAgXHRcdHBvxI3DrW5hamUgbnVsb3VcbiIKKyIgICAgXHRcdHBvxI3DrW5hamUgaW5kZXhlbSBudWxhXG4iCiAiICAgICAgLWQgb2RkxJtsb3ZhxI1cdHBva3JhxI11amUsIGRva3VkIG5lbsOtIG5hxI10ZW4gcHJ2bsOtIHpuYWsgT0RExJpMT1ZBxIxFXG4iCiAiICAgIFx0XHRuYW3DrXN0byBub3bDqWhvIMWZw6Fka3VcbiIKICIgICAgICAtZVx0XHR2wqBpbnRlcmFrdGl2bsOtbSBzaGVsbHUgYnVkZSDFmcOhZGVrIG5hxI10ZW4gcG9tb2PDrSBSZWFkbGluZVxuIgogIiAgICAgIC1pIHRleHRcdHBvdcW+aWplIFRFWFQgamFrbyBwcnZvdG7DrSB0ZXh0IHBybyBSZWFkbGluZVxuIgotIiAgICAgIC1uIHBfem5ha8WvXHR2csOhdMOtIMWZw616ZW7DrSBwbyBuYcSNdGVuw60gUF9aTkFLxa4gem5ha8WvLCBhbmnFviBieSDEjWVrYWwgbmFcbiIKLSIgICAgXHRcdG5vdsO9IMWZw6FkZWtcbiIKKyIgICAgICAtbiBwX3puYWvFr1x0dnLDoXTDrSDFmcOtemVuw60gcG8gbmHEjXRlbsOtIFBfWk5BS8WuIHpuYWvFrywgbcOtc3RvIMSNZWvDoW7DrSBuYVxuIgorIiAgICBcdFx0bm92w70gxZnDoWRlaywgYXbFoWFrIHJlc3Bla3R1amUgb2RkxJtsb3ZhxI0sIGplLWxpIG3DqW7EmyBuZcW+IFBfWk5BS8WuXG4iCisiICAgICAgLU4gcF96bmFrxa9cdHZyw6F0w60gxZnDrXplbsOtIHBvdXplIHBvIG5hxI10ZW7DrSBwxZllc27EmyBQX1pOQUvFriB6bmFrxa8sXG4iCisiICAgIFx0XHRwb2t1ZCBzZSBuZW9iamV2w60ga29uZWMgc291Ym9ydSBuZWJvIG5ldnlwcsWhw60gbGltaXQsXG4iCisiICAgIFx0XHRpZ25vcnVqZSBqYWvDvWtvbGl2IG9kZMSbbG92YcSNXG4iCiAiICAgICAgLXAgdsO9enZhXHR2eXDDrcWhZSDFmWV0xJt6ZWMgVsOdWlZBIGJleiB6w6F2xJtyZcSNbsOpaG8gbm92w6lobyDFmcOhZGt1IGTFmcOtdmUsXG4iCiAiICAgIFx0XHRuZcW+IHNlIHphaMOhasOtIG5hxI3DrXTDoW7DrVxuIgogIiAgICAgIC1yXHRcdG5lcG92b2zDrSB6cMSbdG7DoSBsb23DrXRrYSBwcm8gZXNjYXBvdsOhbsOtIGpha8O9Y2hrb2xpdiB6bmFrxa9cbiIKICIgICAgICAtc1x0XHR2c3R1cCBwb2Now6F6ZWrDrWPDrSB6wqB0ZXJtaW7DoWx1IG5lYnVkZSB6b2JyYXpvdsOhblxuIgogIiAgICAgIC10IGxpbWl0XHR1bW/Fvm7DrSB2eXByxaFlbsOtIMSNYXNvdsOpaG8gbGltaXR1IGEgdnLDoWNlbsOtIGNoeWJ5LCBwb2t1ZFxuIgogIiAgICBcdFx0bmVidWRlIG5hxI10ZW4gY2Vsw70gxZnDoWRlayBkbyBMSU1JVCBzZWt1bmQuIEhvZG5vdGEgcHJvbcSbbm7DqVxuIgotIiAgICBcdFx0VElNT1VUIHDFmWVkc3RhdnVqZSBpbXBsaWNpdG7DrSBsaW1pdC4gVElNRU9VVCBzbcOtIGLDvXQgZGVzZXRpbm7DqVxuIgotIiAgICBcdFx0xI3DrXNsby4gSmUtbGkgVElNRU9VVCAwLCByZWFkIHZyw6F0w60gw7pzcMSbY2gsIGplbiBidWRlLWxpIG5hIHphZGFuw6ltXG4iCisiICAgIFx0XHRUTU9VVCBwxZllZHN0YXZ1amUgaW1wbGljaXRuw60gbGltaXQuIExJTUlUIHNtw60gYsO9dCBkZXNldGlubsOpXG4iCisiICAgIFx0XHTEjcOtc2xvLiBKZS1saSBMSU1JVCAwLCByZWFkIHZyw6F0w60gw7pzcMSbY2gsIGplbiBidWRlLWxpIG5hIHphZGFuw6ltXG4iCiAiICAgIFx0XHRkZXNrcmlwdG9ydSBzb3Vib3J1IHDFmWlwcmF2ZW4gdnN0dXAuIE7DoXZyYXRvdsO9IGvDs2QgYnVkZSB2xJt0xaHDrSBuZcW+XG4iCiAiICAgIFx0XHQxMjgsIHBva3VkIMSNYXNvdsO9IGxpbWl0IGJ1ZGUgcMWZZWtyb8SNZW4uXG4iCiAiICAgICAgLXUgZmRcdFx0xI10ZSB6wqBkZXNrcmlwdG9ydSBzb3Vib3J1IEZEIG5hbcOtc3RvIHN0YW5kYXJkbsOtaG8gdnN0dXB1XG4iCkBAIC0zNjY5LDcgKzM2ODYsNyBAQAogIiAgICBwcm8gxI10ZW7DrSBuZXZ5cHLFocOtIG5lYm8gbmVuw60gcG9za3l0bnV0IG5lcGxhdG7DvSBkZXNrcmlwdG9yIHNvdWJvcnUgamFrb1xuIgogIiAgICBhcmd1bWVudCAtdS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAwOQorIzogYnVpbHRpbnMuYzoxMDE0CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzY5MSw3ICszNzA4LDggQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXTDrSBOLCBuZWJvIHNlbMW+ZSwgcG9rdWQgc2hlbGwgbmVwcm92w6Fkw60gZnVua2NpIG5lYm8gc2tyaXB0LiIKIAotIzogYnVpbHRpbnMuYzoxMDIyCisjOiBidWlsdGlucy5jOjEwMjcKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTM3NjAsNiArMzc3OCw5IEBACiAiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgogIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCiAiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKICIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKICIgICAgXG4iCkBAIC0zODU3LDcgKzM4NzgsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IGFyZ3VtZW50LiIKIAotIzogYnVpbHRpbnMuYzoxMTA0CisjOiBidWlsdGlucy5jOjExMTIKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4OTQsNyArMzkxNSw3IEBACiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIG5lYnlsIHphZMOhbiBuZXBsYXRuw70gcMWZZXDDrW5hxI0gYSBKTcOJTk8gbmVuw60gamVuIHByb1xuIgogIiAgICDEjXRlbsOtLiIKIAotIzogYnVpbHRpbnMuYzoxMTI0CisjOiBidWlsdGlucy5jOjExMzIKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zOTI5LDcgKzM5NTAsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNIG5lYm8gTsOBWkVWLiIKIAotIzogYnVpbHRpbnMuYzoxMTQzCisjOiBidWlsdGlucy5jOjExNTEKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM5NjcsNyArMzk4OCw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIG5lYnlsIHphZMOhbiBuZXBsYXRuw70gcMWZZXDDrW5hxI0gbmVibyBOw4FaRVYuIgogCi0jOiBidWlsdGlucy5jOjExNjQKKyM6IGJ1aWx0aW5zLmM6MTE3MgogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzk4NSw3ICs0MDA2LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgTiBuZW7DrSB6w6Fwb3Juw70gYSBuZW7DrSB2xJt0xaHDrSBuZcW+ICQjLiIKIAotIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQorIzogYnVpbHRpbnMuYzoxMTg0IGJ1aWx0aW5zLmM6MTE5OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTQwMDksNyArNDAzMCw3IEBACiAiICAgIFZyYWPDrSBuw6F2cmF0b3bDvSBrw7NkIHBvc2xlZG7DrWhvIHByb3ZlZGVuw6lobyBwxZnDrWthenUgesKgTsOBWlZVX1NPVUJPUlUuXG4iCiAiICAgIFNlbMW+ZSwgcG9rdWQgTsOBWkVWX1NPVUJPUlUgbmVsemUgbmHEjcOtc3QuIgogCi0jOiBidWlsdGlucy5jOjEyMDcKKyM6IGJ1aWx0aW5zLmM6MTIxNQogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC00MDMzLDE0ICs0MDU0LDE4IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyYWPDrSDDunNwxJtjaCwgcG9rdWQgamUgc3Byw6F2YSDDumxvaCB6YXBudXRhIGEgbmV2eXNreXRsYSBzZSBjaHliYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMworIzogYnVpbHRpbnMuYzoxMjMxCisjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKICIgICAgRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlKSBvciAxIChmYWxzZSkgZGVwZW5kaW5nIG9uXG4iCiAiICAgIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnlcbiIKICIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCi0iICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFzIHdlbGwsIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgogIiAgICBcbiIKICIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgpAQCAtNDA5NCw2ICs0MTE5LDcgQEAKICIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKICIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgogIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKICIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgogIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCkBAIC00MTkxLDcgKzQyMTcsNyBAQAogIiAgICBWcmFjw60gw7pzcMSbY2gsIGplLWxpIFbDnVJBWiB2eWhvZG5vY2VuIGpha28gcHJhdmRpdsO9LiBTZWzFvmUsIGplLWxpIFbDnVJBWlxuIgogIiAgICB2eWhvZG5vY2VuIGpha28gbmVwcmF2ZGl2w70gbmVibyBqZS1saSB6YWTDoW4gbmVwbGF0bsO9IGFyZ3VtZW50LiIKIAotIzogYnVpbHRpbnMuYzoxMjk5CisjOiBidWlsdGlucy5jOjEzMTEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00MjAzLDcgKzQyMjksNyBAQAogIiAgICBUb3RvIGplIHN5bm9ueW11bSBwcm8gdmVzdGF2xJtuw70gcMWZw61rYXog4oCedGVzdOKAnCwgYcW+IG5hIHRvLCDFvmUgcG9zbGVkbsOtXG4iCiAiICAgIGFyZ3VtZW50IG11c8OtIGLDvXQgZG9zbG92bsSbIOKAnl3igJwsIGFieSBzZSBzaG9kb3ZhbCBzIG90ZXbDrXJhasOtY8OtIOKAnlvigJwuIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtNDIyMyw3ICs0MjQ5LDggQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVsW+ZHkgdXNwxJtqZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMyMAorIzogYnVpbHRpbnMuYzoxMzMyCisjLCBmdXp6eQogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC00MjM5LDcgKzQyNjYsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtNDI5NCw3ICs0MzI5LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgU0lHU1BFQyBhIHphZGFuw6kgcMWZZXDDrW5hxI1lIGpzb3UgcGxhdG7DqS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM1MgorIzogYnVpbHRpbnMuYzoxMzY4CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTQzNTAsNyArNDM4NSw3IEBACiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIHbFoWVjaG55IE7DgVpWWSBieWx5IG5hbGV6ZW55LiBTZWzFvmUsIHBva3VkIG7Em2t0ZXLDqVxuIgogIiAgICBuYWxlemVueSBuZWJ5bHkuIgogCi0jOiBidWlsdGlucy5jOjEzODMKKyM6IGJ1aWx0aW5zLmM6MTM5OQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTQ0MzQsNyArNDQ2OSw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyYWPDrSDDunNwxJtjaCwgcG9rdWQgbmVieWwgemFkw6FuIG5lcGxhdG7DvSBwxZllcMOtbmHEjSBhIG5ldnlza3l0bGEgc2UgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjE0MjgKKyM6IGJ1aWx0aW5zLmM6MTQ0NAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC00NDY3LDcgKzQ1MDIsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkXG4iCiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIG5lYnlsIHphZMOhbiBuZXBsYXRuw70gTcOTRCBuZWJvIHDFmWVww61uYcSNLiIKIAotIzogYnVpbHRpbnMuYzoxNDQ4CisjOiBidWlsdGlucy5jOjE0NjQKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00NDk1LDcgKzQ1MzAsNyBAQAogIiAgICBWcsOhdMOtIGvDs2QgSUQsIHNlbMW+ZSwgcG9rdWQgSUQgbmVuw60gcGxhdG7DvSBuZWJvIGJ5bCB6YWTDoW4gbmVwbGF0bsO9ICIKICJwxZllcMOtbmHEjS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2NgorIzogYnVpbHRpbnMuYzoxNDgyCiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQ1MTksNyArNDU1NCw3IEBACiAiICAgIFZyw6F0w60ga8OzZCBJRCwgc2Vsxb5lLCBwb2t1ZCBJRCBuZW7DrSBwbGF0bsO9IG5lYm8gYnlsIHphZMOhbiBuZXBsYXRuw70gIgogInDFmWVww61uYcSNLiIKIAotIzogYnVpbHRpbnMuYzoxNDgxCisjOiBidWlsdGlucy5jOjE0OTcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTQ1NDMsNyArNDU3OCw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyw6F0w60ga8OzZCBuYXBvc2xlZHkgcHJvdmVkZW7DqWhvIHDFmcOta2F6dS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtNDU3Miw3ICs0NjA3LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSBrw7NkIG5hcG9zbGVkeSB2eWtvbmFuw6lobyBwxZnDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE1MTMKKyM6IGJ1aWx0aW5zLmM6MTUyOQogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtNDYxNCw3ICs0NjQ5LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSBrw7NkIG5hcG9zbGVkeSBwcm92w6FkxJtuw6lobyBwxZnDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE1MzQKKyM6IGJ1aWx0aW5zLmM6MTU1MAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC00NjQ1LDcgKzQ2ODAsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhIGplIG7DoXZyYXRvdsOhIGhvZG5vdGEgS09MT05ZLiIKIAotIzogYnVpbHRpbnMuYzoxNTUxCisjOiBidWlsdGlucy5jOjE1NjcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTQ2NjMsNyArNDY5OCw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyw6F0w60ga8OzZCBuYXBvc2xlZHkgcHJvdmVkZW7DqWhvIHDFmcOta2F6dS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MworIzogYnVpbHRpbnMuYzoxNTc5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtNDY5OCw3ICs0NzMzLDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSBrw7NkIG5hcG9zbGVkeSBwcm92ZWRlbsOpaG8gcMWZw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCisjOiBidWlsdGlucy5jOjE1OTYKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC00NzE3LDcgKzQ3NTIsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIGvDs2QgbmFwb3NsZWR5IHByb3ZlZGVuw6lobyBwxZnDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE1OTIKKyM6IGJ1aWx0aW5zLmM6MTYwOAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtNDczNSw3ICs0NzcwLDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSBrw7NkIG5hcG9zbGVkeSBwcm92ZWRlbsOpaG8gcMWZw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzoxNjA0CisjOiBidWlsdGlucy5jOjE2MjAKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtNDc1Nyw3ICs0NzkyLDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSBuw6F2cmF0b3bDvSBrw7NkIFDFmMONS0FaVS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00NzgyLDcgKzQ4MTcsNyBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBOw4FaRVYgbmVuw60gamVuIHBybyDEjXRlbsOtLiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCisjOiBidWlsdGlucy5jOjE2NDgKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTQ3OTksNyArNDgzNCw3IEBACiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyw6F0w60ga8OzZCBuYXBvc2xlZHkgc3B1xaF0xJtuw6lobyBwxZnDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE2NDQKKyM6IGJ1aWx0aW5zLmM6MTY2MAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtNDgyNCw3ICs0ODU5LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSBrw7NkIG9ibm92ZW7DqSDDumxvaHkuIgogCi0jOiBidWlsdGlucy5jOjE2NTkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDg0Niw3ICs0ODgxLDcgQEAKICMgcMWZw61rYXosIGt0ZXLDvSBieSBieWwgdnlrb27DoW4gbmEgesOha2xhZMSbIHNwbG7Em27DrSBqaW7DqSBwb2Rtw61ua3kuIFRqLiBwxZlla2xhZAogIyDigJ5wb2Rtw61uxJtuw70gcMWZw61rYXrigJwgamUgY2h5Ym7DvS4KICMgVG90byBqZSBuw6Fwb3bEm2RhIGvCoHZlc3RhdsSbbsOpbXUgcMWZw61rYXp1IOKAnlvigJwuCi0jOiBidWlsdGlucy5jOjE2NzEKKyM6IGJ1aWx0aW5zLmM6MTY4NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtNDg5OCw3ICs0OTMzLDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgMCBuZWJvIDEgcG9kbGUgaG9kbm90eSBWw51SQVpVLiIKIAotIzogYnVpbHRpbnMuYzoxNjk3CisjOiBidWlsdGlucy5jOjE3MTMKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC01MDAzLDcgKzUwMzgsNyBAQAogIiAgICBcdFx0cm96bGnFoWVuw60sIGt0ZXLDqSBwxZnDrWthenkgYnkgbcSbbHkgYsO9dCB1bG/FvmVueSBkbyBzZXpuYW11XG4iCiAiICAgIFx0XHRoaXN0b3JpZS5cbiIKIAotIzogYnVpbHRpbnMuYzoxNzU0CisjOiBidWlsdGlucy5jOjE3NzAKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUwNjAsNyArNTA5NSw3IEBACiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIG5lYnlsIHphZMOhbiBuZXBsYXRuw70gYXJndW1lbnQgYSB6bcSbbmEgYWRyZXPDocWZZVxuIgogIiAgICBuZXNlbGhhbGEuIgogCi0jOiBidWlsdGlucy5jOjE3ODgKKyM6IGJ1aWx0aW5zLmM6MTgwNAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MTEwLDcgKzUxNDUsNyBAQAogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IGFyZ3VtZW50IG5lYm8gbmVzZWxoYWxhIHptxJtuYVxuIgogIiAgICBhZHJlc8OhxZllLiIKIAotIzogYnVpbHRpbnMuYzoxODE4CisjOiBidWlsdGlucy5jOjE4MzQKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTE2MSw3ICs1MTk2LDcgQEAKICIgICAgTsOhdnJhdG92w70ga8OzZDpcbiIKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgbmVieWwgemFkw6FuIG5lcGxhdG7DvSBwxZllcMOtbmHEjSBhIG5ldnlza3l0bGEgc2UgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjE4NDcKKyM6IGJ1aWx0aW5zLmM6MTg2MwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTE5OSw3ICs1MjM0LDggQEAKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgamUtbGkgTsOBWkVWX1ZPTEJZIHphcG51dC4gU2Vsxb5lLCBieWwtbGkgemFkw6FuIG5lcGxhdG7DvVxuIgogIiAgICBwxZllcMOtbmHEjSBuZWJvIGplLWxpIE7DgVpFVl9WT0xCWSB2eXBudXQuIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAorIywgZnV6enkKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtNTIyMiw2ICs1MjU4LDkgQEAKICIgICAgXG4iCiAiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgogIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgpAQCAtNTI1NCw4ICs1MjkzLDcgQEAKICIgICAgVnLDoXTDrSDDunNwxJtjaCwgcG9rdWQgbmVieWwgemFkw6FuIG5lcGxhdG7DvSBwxZllcMOtbmHEjSBhIG5lZG/FoWxvIGvCoGNoeWLEm1xuIgogIiAgICB6w6FwaXN1IG5lYm8gcMWZacWZYXplbsOtLiIKIAotIzogYnVpbHRpbnMuYzoxODk1Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxOTEzCiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTUyODUsMjEgKzUzMjMsMjYgQEAKICIgICAgXG4iCiAiICAgIFBybyBrYcW+ZMO9IE7DgVpFViB1ZMOhdsOhLCBqYWsgc2UgYnVkb3UgZG9wbMWIb3ZhdCBhcmd1bWVudHkuIE5lanNvdS1saVxuIgogIiAgICB6YWTDoW55IMW+w6FkbsOpIHDFmWVww61uYcSNZSwgYnVkb3Ugdnlwc8OhbnkgZXhpc3R1asOtY8OtIHByYXZpZGxhIGRvcGzFiG92w6Fuw61cbiIKLSIgICAgdsKgcG9kb2LEmyB2aG9kbsOpIHBybyBqZWppY2ggem5vdnUgdcW+aXTDrSBuYSB2c3R1cHUuXG4iCisiICAgIHbCoHBvZG9ixJsgdmhvZG7DqSBwcm8gamVqaWNoIHpub3Z1IHXFvml0w60gamFrbyB2c3R1cC5cbiIKICIgICAgXG4iCiAiICAgIFDFmWVww61uYcSNZTpcbiIKICIgICAgICAtcFx0dnlww63FoWUgZXhpc3R1asOtY8OtIHByYXZpZGxhIGRvcGzFiG92w6Fuw60gdsKgem5vdnUgcG91xb5pdGVsbsOpbSB0dmFydVxuIgogIiAgICAgIC1yXHRvZHN0cmFuw60gcHJvIGthxb5kw70gTsOBWkVWIGRvcGzFiG92YWPDrSBwcmF2aWRsbywgbmVibyBuZW7DrS1saSB6YWTDoW5cbiIKICIgICAgXHTFvsOhZG7DvSBOw4FaRVYsIHpydcWhw60gdsWhZWNobmEgcHJhdmlkbGFcbiIKKyIgICAgICAtRFx0cG91xb5pamUgcHJhdmlkbGEgZG9wbMWIb3bDoW7DrSBhIGFrY2UgamFrbyBpbXBsaWNpdG7DrSBwcm8gcMWZw61rYXp5LFxuIgorIiAgICBcdGt0ZXLDqSBuZW1hasOtIMW+w6FkbsOpIHVyxI1pdMOpIHByYXZpZGxvIGRvcGzFiG92w6Fuw60gZGVmaW5vdsOhbm9cbiIKKyIgICAgICAtRVx0cG91xb5pamUgcHJhdmlkbGEgZG9wbMWIb3bDoW7DrSDDoSBha2NlIG5hIOKAnnByw6F6ZG7DqeKAnCBwxZnDrWthennCoOKAk1xuIgorIiAgICBcdHByYXZpZGxhIGRvcGzFiG92w6Fuw60gc2UgdXBsYXRuw60gbmEgcHLDoXpkbsO9IMWZw6FkZWtcbiIKICIgICAgXG4iCi0iICAgIFDFmWkgZG9wbMWIb3bDoW7DrSBzZSBha2NlIHVwbGF0xYh1asOtIHbCoHBvxZlhZMOtLCB2wqBqYWvDqW0gYnkgYnlsYSB0w61tdG8gIgotInDFmcOta2F6ZW1cbiIKLSIgICAgdnlwc8OhbmEgcHJhdmlkbGEgcHNhbsOhIHZlbGvDvW1pIHDDrXNtZW55LlxuIgorIiAgICBQb3XFvmlqZS1saSBzZSBkb3BsxYhvdsOhbsOtLCBha2NlIHNlIHVwbGF0bsOtIHbCoHBvxZlhZMOtLCB2wqBqYWvDqW0ganNvdSAiCisidnlwc8OhbnlcbiIKKyIgICAgcMWZZXDDrW5hxI1lIHBzYW7DqSB2ZWxrw71taSBww61zbWVueSB2w73FoWUuIFDFmWVww61uYcSNIC1EIG3DoSBwxZllZG5vc3QgcMWZZWRcbiIKKyIgICAgcMWZZXDDrW5hxI1lbSAtRS5cbiIKICIgICAgXG4iCiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCiAiICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIG5lYnlsIHphZMOhbiBuZXBsYXRuw70gcMWZZXDDrW5hxI0gYSBuZXZ5c2t5dGxhIHNlIGNoeWJhLiIKIAotIzogYnVpbHRpbnMuYzoxOTIzCisjOiBidWlsdGlucy5jOjE5NDEKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTMyMCwxNCArNTM2MywxNCBAQAogIiAgICBOw6F2cmF0b3bDvSBrw7NkOlxuIgogIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNIGEgbmV2eXNreXRsYSBzZSBjaHliYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzOAorIzogYnVpbHRpbnMuYzoxOTU2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC01MzU1LDExICs1Mzk4LDEzIEBACiAiICAgIFxuIgogIiAgICBQb3ptxJtuw60gbW/Fvm5vc3RpIGRvcGzFiG92w6Fuw60ga2HFvmTDqWhvIE7DgVpWVSwgbmVibywgbmVuw60tbGkgemFkw6FuIMW+w6FkbsO9XG4iCiAiICAgIE7DgVpFViwgcHLDoXbEmyBwcm92w6FkxJtuw6lobyBkb3BsxYhvdsOhbsOtLiBOZWpzb3UtbGkgemFkw6FueSDFvsOhZG7DqSBNT8W9Tk9TVEksXG4iCi0iICAgIHZ5cMOtxaFlIG1vxb5ub3N0IGRvcGzFiG92w6Fuw60ga2HFvmTDqWhvIE7DgVpWVSBuZWJvIGRlZmluaWMgcHLDoXbEmyBwcm92w6FkxJtuw6lob1xuIgorIiAgICB2eXDDrcWhZSBtb8W+bm9zdGkgZG9wbMWIb3bDoW7DrSBrYcW+ZMOpaG8gTsOBWlZVIG5lYm8gZGVmaW5pYyBwcsOhdsSbIHByb3bDoWTEm27DqWhvXG4iCiAiICAgIGRvcGzFiG92w6Fuw60uXG4iCiAiICAgIFxuIgogIiAgICBQxZllcMOtbmHEjWU6XG4iCiAiICAgIFx0LW8gbW/Fvm5vc3RcdE5hc3RhdsOtIG1vxb5ub3N0IGRvcGzFiG92w6Fuw60gTU/FvU5PU1Qga2HFvmTDqW11IE7DgVpWVVxuIgorIiAgICBcdC1EXHRcdFptxJtuw60gbW/Fvm5vc3RpIGRvcGzFiG92w6Fuw60g4oCeaW1wbGljaXRuw61tdeKAnCBwxZnDrWthenVcbiIKKyIgICAgXHQtRVx0XHRabcSbbsOtIG1vxb5ub3N0aSBkb3BsxYhvdsOhbsOtIOKAnnByw6F6ZG7DqW114oCcIHDFmcOta2F6dVxuIgogIiAgICBcbiIKICIgICAgUG9tb2PDrSDigJ4rb+KAnCBuYW3DrXN0byDigJ4tb+KAnCB6YWRhbm91IG1vxb5ub3N0IHZ5cG5ldGUuXG4iCiAiICAgIFxuIgpAQCAtNTM3Nyw3ICs1NDIyLDcgQEAKICJkZWZpbm92w6Fub1xuIgogIiAgICBwcmF2aWRsbyBkb3BsxYhvdsOhbsOtLiIKIAotIzogYnVpbHRpbnMuYzoxOTY4CisjOiBidWlsdGlucy5jOjE5ODYKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgpAQCAtNTQwNiw3ICs1NDUxLDggQEAKICIgICAgXG4iCiAiICAgIElmIC1DIGlzIHN1cHBsaWVkIHdpdGhvdXQgLWMsIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4gIFdoZW5cbiIKICIgICAgQ0FMTEJBQ0sgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJyYXlcbiIKLSIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50LlxuIgorIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnRcbiIKKyIgICAgYXMgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgogIiAgICBJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiBleHBsaWNpdCBvcmlnaW4sIG1hcGZpbGUgd2lsbCBjbGVhciBBUlJBWSAiCiAiYmVmb3JlXG4iCkBAIC01NDE3LDEzICs1NDYzLDEyIEBACiAib3JcbiIKICIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCi0iTmHEjXRlIMWZw6Fka3kgemUgc291Ym9ydSBkbyBwcm9txJtubsOpIHR5cHUgcG9sZS5cbiIKKyJOYcSNdGUgxZnDoWRreSB6ZSBzdGFuZGFyZG7DrWhvIHZzdHVwdSBkbyBwcm9txJtubsOpIHR5cHUgaW5kZXhvdmFuw6kgcG9sZS5cbiIKICIgICAgXG4iCiAiICAgIE5hxI10ZSDFmcOhZGt5IHplIHN0YW5kYXJkbsOtaG8gdnN0dXB1IG5lYm8gesKgZGVza3JpcHRvcnUgc291Ym9ydSBGRCwgYnlsLSIKICJsaVxuIgotIiAgICB6YWTDoW4gcMWZZXDDrW5hxI0gLXUsIGRvIHByb23Em25uw6kgUE9MRSwga3RlcsOhIGplIHR5cHUgcG9sZS4gSW1wbGljaXRuw61tICIKLSJQT0xFTVxuIgotIiAgICBqZSBwcm9txJtubsOhIE1BUEZJTEUuXG4iCisiICAgIHphZMOhbiBwxZllcMOtbmHEjSAtdSwgZG8gcHJvbcSbbm7DqSBQT0xFLCBrdGVyw6EgamUgdHlwdSBpbmRleG92YW7DqSBwb2xlLlxuIgorIiAgICBJbXBsaWNpdG7DrW0gUE9MRU0gamUgcHJvbcSbbm7DoSBNQVBGSUxFLlxuIgogIiAgICBcbiIKICIgICAgUMWZZXDDrW5hxI1lOlxuIgogIiAgICAgIC1uIHBvxI1ldFx0WmtvcMOtcnVqZSBuZWp2w73FoWUgUE/EjEVUIMWZw6Fka8WvLiBKZS1saSBQT8SMRVQgMCxcbiIKQEAgLTU0MzEsNyArNTQ3Niw3IEBACiAiICAgICAgLU8gcG/EjcOhdGVrXHRQxZlpxZlhem92w6Fuw60gZG8gUE9MRSB6YcSNbmUgbmEgaW5kZXh1IFBPxIzDgVRFSy5cbiIKICIgICAgXHRcdEltcGxpY2l0bsOtIGluZGV4IGplIDAuXG4iCiAiICAgICAgLXMgcG/EjWV0XHRaYWhvZMOtIHBydm7DrWNoIFBPxIxFVCBuYcSNdGVuw71jaCDFmcOhZGvFry5cbiIKLSIgICAgICAtdFx0XHRPZHN0cmFuw60gem5ha3kga29uY2UgxZnDoWRrdSB6wqBrYcW+ZMOpaG8gbmHEjXRlbsOpaG8gxZnDoWRrdS5cbiIKKyIgICAgICAtdFx0XHRPZHN0cmFuw60gem5hayBrb25jZSDFmcOhZGt1IHrCoGthxb5kw6lobyBuYcSNdGVuw6lobyDFmcOhZGt1LlxuIgogIiAgICAgIC11IGZkXHRcdMWYw6Fka3kgxI10ZSB6wqBkZXNrcmlwdG9ydSBzb3Vib3J1IEZEIG5hbcOtc3RvIHplXG4iCiAiICAgIFx0XHRzdGFuZGFyZG7DrWhvIHZzdHVwdS5cbiIKICIgICAgICAtQyB2b2zDoW7DrVx0Vnlob2Rub3TDrSBWT0zDgU7DjSBwb2thxb5kw6ksIGtkecW+IGplIG5hxI10ZW5vIE1OT8W9U1RWw41cbiIKQEAgLTU0NDAsOCArNTQ4NSw3IEBACiAiICAgIFx0XHRrYcW+ZMO9bSB6YXZvbMOhbsOtbSBWT0zDgU7DjS5cbiIKICIgICAgXG4iCiAiICAgIEFyZ3VtZW50eTpcbiIKLSIgICAgICBQT0xFXHRcdE7DoXpldiBwcm9txJtubsOpIHR5cHUgcG9sZSwgZG8ga3RlcsOpIGJ1ZG91IHDFmWnFmWF6ZW5hIGRhdGFcbiIKLSIgICAgXHRcdHplIHNvdWJvcnUuXG4iCisiICAgICAgUE9MRVx0XHROw6F6ZXYgcHJvbcSbbm7DqSB0eXB1IHBvbGUsIGRvIGt0ZXLDqSBidWRvdSBwxZlpxZlhemVuYSBkYXRhLlxuIgogIiAgICBcbiIKICIgICAgSmUtbGkgdXZlZGVubyAtQyBiZXogLWMsIGltcGxpY2l0bsOtIG1ub8W+c3R2w60gYnVkZSA1MDAwLiBWeWhvZG5vY292YW7DqW11XG4iCiAiICAgIFZPTMOBTsONIGJ1ZGUgamFrbyBkb2RhdGXEjW7DvSBhcmd1bWVudCBwxZllZMOhbiBpbmRleCBwcnZrdSBwb2xlLCBkbyBrdGVyw6lob1xuIgpAQCAtNTQ1MSwxMCArNTQ5NSwxMCBAQAogIiAgICBuZcW+IGRvIG7Em2ogemHEjW5lIHDFmWnFmWF6b3ZhdC5cbiIKICIgICAgXG4iCiAiICAgIE7DoXZyYXRvdsO9IGvDs2Q6XG4iCi0iICAgIFZyw6F0w60gw7pzcMSbY2gsIHBva3VkIG5lYnlsIHphZMOhbiBuZXBsYXRuw70gcMWZZXDDrW5hxI0gYSBQT0xFIG5lYnlsbyBqZW4gcHJvXG4iCi0iICAgIMSNdGVuw60uIgorIiAgICBWcsOhdMOtIMO6c3DEm2NoLCBwb2t1ZCBuZWJ5bCB6YWTDoW4gbmVwbGF0bsO9IHDFmWVww61uYcSNLCBQT0xFIG5lYnlsbyBqZW4gcHJvXG4iCisiICAgIMSNdGVuw60gYSBieWxvIGluZGV4b3ZhbsO9bSBwb2xlbS4iCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCkBAIC01NDY0LDYgKzU1MDgsMjcgQEAKICIgICAgXG4iCiAiICAgIFN5bm9ueW11bSBwcm8g4oCebWFwZmlsZeKAnC4iCiAKKyN+IG1zZ2lkICIiCisjfiAiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisjfiAiICAgICIKKyN+IG1zZ3N0ciAiIgorI34gIi4gIFPCoFbDnVJBWkVNIHZyw6F0w61cbiIKKyN+ICIgICAgIgorCisjfiBtc2dpZCAiIgorI34gIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorI34gIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgIgorI34gInRoZVxuIgorI34gIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKKyN+IG1zZ3N0ciAiIgorI34gIjsgdGF0byBkb2RhdGXEjW7DoSBpbmZvcm1hY2UgbcWvxb5lIGLDvXRcbiIKKyN+ICIgICAgcG91xb5pdGEgamFrbyB2w71waXMgesOhc29ibsOta3Ugdm9sw6Fuw60uXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBIb2Rub3RhIFbDnVJBWlUgdXLEjXVqZSwga29saWsgcsOhbWPFryB2b2zDoW7DrSBqw610IHpwxJt0IHDFmWVkIHNvdcSNYXNuw70sXG4iCisjfiAiICAgIHZyY2hvbG92w70gcsOhbWVjIGplIHLDoW1jZSAwLiIKKwogI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgogI34gbXNnc3RyICJ4cmVhbGxvYzogbmVsemUgcMWZZWFsb2tvdmF0ICUnbHUgYmFqdMWvICglJ2x1IGJhanTFryBhbG9rb3bDoW5vKSIKIApkaWZmIC0tZ2l0IGEvcG8vZGUuZ21vIGIvcG8vZGUuZ21vCmluZGV4IGVhZGIyNjQuLjYxZWI4YmMgMTAwNjQ0Ci0tLSBhL3BvL2RlLmdtbworKysgYi9wby9kZS5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vZGUucG8gYi9wby9kZS5wbwppbmRleCBhNTMyYTA5Li41ZTk3YzMzIDEwMDY0NAotLS0gYS9wby9kZS5wbworKysgYi9wby9kZS5wbwpAQCAtMSwxMyArMSwxMyBAQAotIyBHZXJtYW4gbGFuZ3VhZ2UgZmlsZSBmb3IgR05VIEJhc2ggNC4wCisjIEdlcm1hbiBsYW5ndWFnZSBmaWxlIGZvciBHTlUgQmFzaCA0LjEKICMgQ29weXJpZ2h0IChDKSAxOTk2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgotIyBOaWxzIE5hdW1hbm4gPG5uYXVAZ214Lm5ldD4sIDE5OTYsIDIwMDkuCisjIE5pbHMgTmF1bWFubiA8bm5hdUBnbXgubmV0PiwgMTk5NiwgMjAwOSwgMjAxMC4KIG1zZ2lkICIiCiBtc2dzdHIgIiIKLSJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggNC4wXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMVxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwOS0wOS0xNCAyMDozNyswMjAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTAtMDUtMTggMjA6MjErMDIwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogTmlscyBOYXVtYW5uIDxubmF1QGdteC5uZXQ+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogR2VybWFuIDx0cmFuc2xhdGlvbi10ZWFtLWRlQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgpAQCAtMTksNyArMTksNyBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgIkZhbHNjaGVyIEZlbGRiZXplaWNobmVyLiIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6IEthbm4gbmljaHQgZGFzIGluZGl6aWVydGUgaW4gZWluIGFzc296aWF0aXZlcyBBcnJheSB1bXdhbmRlbG4uIgpAQCAtNDEsMzYgKzQxLDM2IEBACiAiJXM6ICVzOiBFaW4gRmVsZGJlemVpY2hlciB3aXJkIHp1bSBadXdlaXNlbiBlaW5lcyBhc3NvemlhdGl2ZW4gQXJyYXlzICIKICJiZW7DtnRpZ3QuIgogCi0jOiBiYXNoaGlzdC5jOjM4MworIzogYmFzaGhpc3QuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczogS2FubiBkaWUgRGF0ZWkgJXMgbmljaHQgZXJ6ZXVnZW4uIgogCi0jOiBiYXNobGluZS5jOjM0NTcKKyM6IGJhc2hsaW5lLmM6MzQ5OAogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IEthbm4gbmljaHQgZGllIFRhc3Rlbnp1b3JkbnVuZyBmw7xyIGRhcyBLb21tYW5kbyAiCiAiZmluZGVuLiIKIAotIzogYmFzaGxpbmUuYzozNTQzCisjOiBiYXNobGluZS5jOjM1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKIG1zZ3N0ciAiICVzOiBEYXMgZXJzdGUgbmljaHQgTGVlcnplaWNoZW4gaXN0IG5pY2h0IGBcXCcuIgogCi0jOiBiYXNobGluZS5jOjM1NzIKKyM6IGJhc2hsaW5lLmM6MzYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgImZlaGxlbmRlIHNjaGxpZcOfZW5kZSBgJWMnIGluICVzLiIKIAotIzogYmFzaGxpbmUuYzozNjA2CisjOiBiYXNobGluZS5jOjM2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIlczogRmVobGVuZGVyIERvcHBlbHB1bmt0LiIKIAogIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IGludmFsaWQgYWxpYXMgbmFtZSIKLW1zZ3N0ciAiYCVzJzogVW5nw7xsdGlnZXIgS0VZTUFQIE5hbWUuIgorbXNnc3RyICJgJXMnOiBVbmfDvGx0aWdlciBBbGlhcyBOYW1lLiIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKQEAgLTEyMiwyNiArMTIyLDExIEBACiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKLW1zZ2lkICIiCi0iLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCi0iICAgICIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgotbXNnaWQgIiIKLSI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKLSIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgotIiAgICBcbiIKLSIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgotIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jZC5kZWY6MjE1CisjOiBidWlsdGlucy9jZC5kZWY6MjM1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICJIT01FIGlzdCBuaWNodCB6dWdld2llc2VuLiIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgogbXNnc3RyICJPTERQV0QgaXN0IG5pY2h0IHp1Z2V3aWVzZW4uIgogCkBAIC0xNjEsMTEgKzE0NiwxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIlczogR2VicmF1Y2g6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJadSB2aWVsZSBBcmd1bWVudGUuIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogRWluIG51bWVyaXNjaGVyIFBhcmVtZXRlciBpc3QgZXJmb3JkZXJsaWNoLiIKQEAgLTIwMyw3ICsxODgsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAiVW5nw7xsdGlnZSBoZXhhZGV6aW1hbGUgWmFobC4iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMzYyCiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIlVuZ8O8bHRpZ2UgWmFobC4iCiAKQEAgLTIzOSw3ICsyMjQsNyBAQAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBubyBzdWNoIGpvYiIKLW1zZ3N0ciAiJXM6IEtlaW4gc29sY2hlIEpvYi4iCittc2dzdHIgIiVzOiBLZWluIHNvbGNoZXIgSm9iLiIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjkwCiAjLCBjLWZvcm1hdApAQCAtMzEyLDI1ICsyOTcsMjUgQEAKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICJHZWdlbnfDpHJ0aWcgd2lyZCBrZWluZSBLb21wbGV0dGllcnVuZ3NmdW5rdGlvbiBhdXNnZWbDvGhydC4iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyMgorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTI0CiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJrYW5uIG51ciBpbm5lcmhhbGIgZWluZXIgRnVua3Rpb24gYmVudXR6dCB3ZXJkZW4uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAiTWl0IGAtZicga8O2bm5lbiBrZWluZSBGdW5rdGlvbmVuIGVyemV1Z3Qgd2VyZGVuLiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBTY2hyZWliZ2VzY2jDvHR6dGUgRnVua3Rpb24uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogS2FubiBGZWxkdmFyaWFibGVuIG5pY2h0IGF1ZiBkaWVzZSBBcnQgbMO2c2NoZW4uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzYwLDI5ICszNDUsMjkgQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBLYW5uIG5pY2h0IGzDtnNjaGVuOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAotIzogc2hlbGwuYzoxNDUyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNSBidWlsdGlucy9oYXNoLmRlZjoxNzEgZXhlY3V0ZV9jbWQuYzo0OTYxCisjOiBzaGVsbC5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogaXN0IGVpbiBWZXJ6ZWljaG5pcy4iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlczogSXN0IGtlaW5lIG5vcm1hbGUgRGF0ZWkuIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0NworIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIlczogRGllIERhdGVpIGlzdCB6dSBncm/Dny4iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAotIzogc2hlbGwuYzoxNDYyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4MiBidWlsdGlucy9ldmFsZmlsZS5jOjIwMCBleGVjdXRlX2NtZC5jOjUwMzIKKyM6IHNoZWxsLmM6MTQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiVzOiBLYW5uIGRpZSBEYXRlaSBuaWNodCBhdXNmw7xocmVuLiIKIAotIzogYnVpbHRpbnMvZXhlYy5kZWY6MjEyCisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgogbXNnc3RyICIlczogS2FubiBuaWNodCBhdXNmw7xocmVuOiAlcyIKQEAgLTQxMCwxMSArMzk1LDExIEBACiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiS2VpbiBLb21tYW5kbyBnZWZ1bmRlbi4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzcwCisjOiBidWlsdGlucy9mYy5kZWY6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczogS2FubiBkaWUgdGVtcHLDpHJlIERhdGVpIG5pY2h0IMO2ZmZuZW46ICVzIgpAQCAtNDQ3LDcgKzQzMiw3IEBACiBtc2dpZCAiJXM6IGhhc2ggdGFibGUgZW1wdHlcbiIKIG1zZ3N0ciAiJXM6IERpZSBIYXNodGFiZWxsZSBpc3QgbGVlci5cbiIKIAotIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0CisjOiBidWlsdGlucy9oYXNoLmRlZjoyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGl0c1x0Y29tbWFuZFxuIgogbXNnc3RyICJUcmVmZmVyXHRCZWZlaGxcbiIKQEAgLTUxNCw3NiArNDk5LDg2IEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiS2VpbmUgd2VpdGVyZW4gT3B0aW9uZW4gbWl0IGAteCcgZXJsYXVidC4iCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAorIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiVzOiBEaWUgQXJndW1lbnRlIG3DvHNzZW4gUHJvemVzcy0gb2RlciBKb2JiZXplaWNobnVuZ2VuIHNlaW4uIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjMKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIlVuYmVrYW5udGVyIEZlaGxlci4iCiAKLSM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjUwMSBleHByLmM6NTE2CisjOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1NTIgZXhwci5jOjU2NwogbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIkF1c2RydWNrIGVyd2FydGV0LiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCi1tc2dzdHIgIiVzOiBJc3Qga2VpbiBBcnJheS4iCittc2dzdHIgIiVzOiBJc3Qga2VpbiBpbmRpemllcnRlcyBBcnJheS4iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NiBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY0IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogVW5nw7xsdGlnZXIgRGF0ZWliZXplaWNobmVyOiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjczIGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlczogVW5nw7xsdGlnZSBaZWlsZW5hbnphaGxhbmdhYmUuIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiAgVW5nw7xsdGlnZXIgWmVpbGVuaW5kZXggZsO8ciBkZW4gQXJyYXkgQmVnaW5uLiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIkZlaGxlbmRlciBOYW1lIGbDvHIgZGllIEFycmF5IFZhcmlhYmxlLiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICJEaWUgQXJyYXkgVmFyaWFibGVuIFVudGVyc3TDvHR6dW5nIGlzdCBpbiBkaWVzZXIgU2hlbGwgbmljaHQgdm9yaGFuZGVuLiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiYCVzJzogRmVobGVuZGVzIEZvcm1hdGllcnVuZ3N6ZWljaGVuLiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiBVbmfDvGx0aWdlIFdhcnRlemVpdGFuZ2ViZS4iCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiYCVjJzogVW5nw7xsdGlnZXMgRm9ybWF0aWVydW5nc3plaWNoZW4uIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICJXYXJudW5nOiAlczogJXMiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjg0MAogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgIkZlaGxlbmRlIGhleGFkZXppbWFsZSBaaWZmZXIgbmFjaCBcXHguIgogCisjOiBidWlsdGlucy9wcmludGYuZGVmOjg1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyB1bmljb2RlIGRpZ2l0IGZvciBcXCVjIgorbXNnc3RyICJGZWhsZW5kZSBoZXhhZGV6aW1hbGUgWmlmZmVyIG5hY2ggXFx4LiIKKwogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQogbXNnaWQgIm5vIG90aGVyIGRpcmVjdG9yeSIKIG1zZ3N0ciAia2VpbiBhbmRlcmVzIFZlcnplaWNobmlzIgpAQCAtNTk4LDcgKzU5Myw3IEBACiAKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo1MDgKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhY2sgaW5kZXgiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVmVyemVpY2huaXNzdGFwZWxpbmRleCIKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjY4MwogIywgZnV6enkKQEAgLTYzMSw3ICs2MjYsOCBAQAogIlxuIgogIiAgICBPcHRpb25lbjpcbiIKICIgICAgICAtYyAgICAgICAgVmVyemVpY2huaXNzdGFwZWwgZHVyY2ggTMO2c2NoZW4gYWxsZXIgRWludHLDpGdlIGJlcmVpbmlnZW4uXG4iCi0iICAgICAgLWwgICAgICAgICIKKyIgICAgICAtbCAgICAgICAgRGFzIEhlaW1hdHZlcnplaWNobmlzIHdpcmQgbmljaHQgbWl0IHZvcmFuZ2VzdGVsbHRlciBUaWxkZVxuIgorIiAgICAgIGF1c2dlZ2ViZW4iCiAKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo3MDUKIG1zZ2lkICIiCkBAIC03MzQsMjQgKzczMCwyNSBAQAogbXNnaWQgImNhbiBvbmx5IGByZXR1cm4nIGZyb20gYSBmdW5jdGlvbiBvciBzb3VyY2VkIHNjcmlwdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjc2OAorIzogYnVpbHRpbnMvc2V0LmRlZjo3NzEKIG1zZ2lkICJjYW5ub3Qgc2ltdWx0YW5lb3VzbHkgdW5zZXQgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSIKIG1zZ3N0ciAiIgorIkdsZWljaHplaXRpZ2VzIGB1bnNldCcgZWluZXIgRnVua3Rpb24gdW5kIGVpbmVyIFZhcmlhYmxlIGlzdCBuaWNodCBtw7ZnbGljaC4iCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1CisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0IgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBgdW5zZXQnIG5pY2h0IG3DtmdsaWNoLiIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MTIKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBgdW5zZXQnIG5pY2h0IG3DtmdsaWNoOiBTY2hyZWliZ2VzY2jDvHR6dCAlcyIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MjMKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCi1tc2dzdHIgIiVzOiBJc3Qga2VpbiBBcnJheS4iCittc2dzdHIgIiVzOiBJc3Qga2VpbmUgRmVsZHZhcmlhYmxlLiIKIAogIzogYnVpbHRpbnMvc2V0YXR0ci5kZWY6MTg2CiAjLCBjLWZvcm1hdApAQCAtNzYwLDI5ICs3NTcsMjkgQEAKIAogIzogYnVpbHRpbnMvc2hpZnQuZGVmOjcxIGJ1aWx0aW5zL3NoaWZ0LmRlZjo3NwogbXNnaWQgInNoaWZ0IGNvdW50IgotbXNnc3RyICIiCittc2dzdHIgIlZlcnNjaGllYmV6w6RobGVyIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjY0CiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAiS2FubiBuaWNodCBTaGVsbCBPcHRpbmVuIGdsZWljaHplaXRpZyBha3RpdmllcmVuIHVuZCBkZWFrdGl2aWVyZW4uIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBVbmfDvGx0aWdlciBTaGVsbCBPcHRpb25lbiBOYW1lLiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiBtc2dzdHIgIkVpbiBEYXRlaW5hbWUgd2lyZCBhcyBBcmd1bWVudCBiZW7DtnRpZ3QuIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1MworIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgbm90IGZvdW5kIgogbXNnc3RyICIlczogRGF0ZWkgbmljaHQgZ2VmdW5kZW4uIgogCiAjOiBidWlsdGlucy9zdXNwZW5kLmRlZjoxMDEKIG1zZ2lkICJjYW5ub3Qgc3VzcGVuZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJLYW5uIGRpZSBTaGVsbCBuaWNodCB1bnRlcmJyZWNoZW4uIgogCiAjIGxvZ291dAogIzogYnVpbHRpbnMvc3VzcGVuZC5kZWY6MTExCkBAIC03OTIsNyArNzg5LDcgQEAKICM6IGJ1aWx0aW5zL3R5cGUuZGVmOjIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhbGlhc2VkIHRvIGAlcydcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIlcyBpc3QgZWluIEFsaWFzIHZvbiBgJXMnLlxuIgogCiAjOiBidWlsdGlucy90eXBlLmRlZjoyNTUKICMsIGMtZm9ybWF0CkBAIC04MTksMzMgKzgxNiwzMyBAQAogbXNnaWQgIiVzIGlzIGhhc2hlZCAoJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzIKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbWl0IGFyZ3VtZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzk4CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKIG1zZ3N0ciAiYCVjJzogRmFsc2NoZXMgS29tbWFuZG8uIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQyNworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBnZXQgbGltaXQ6ICVzIgogbXNnc3RyICIlczogS2FubiBkaWUgbmljaHQgR3JlbnplIHNldHplbjogJXMiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDUzCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ1NwogbXNnaWQgImxpbWl0IgogbXNnc3RyICJHcmVuemUiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY1IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY1CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ2OSBidWlsdGlucy91bGltaXQuZGVmOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBLYW5uIGRpZSBHcmVuemUgbmljaHQgw6RuZGVybjogJXMiCiAKICM6IGJ1aWx0aW5zL3VtYXNrLmRlZjoxMTgKIG1zZ2lkICJvY3RhbCBudW1iZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAiT2t0YWx6YWhsIgogCiAjOiBidWlsdGlucy91bWFzay5kZWY6MjMxCiAjLCBjLWZvcm1hdApAQCAtODk1LDEwNiArODkyLDExMSBAQAogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCi1tc2dzdHIgIgdadSBsYW5nZSBrZWluZSBFaW5nYWJlOiBBdXRvbWF0aXNjaCBhdXNnZWxvZ2d0LlxuIgorbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICJcYVp1IGxhbmdlIGtlaW5lIEVpbmdhYmU6IEF1dG9tYXRpc2NoIGF1c2dlbG9nZ3QuXG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICJLYW5uIG5pY2h0IGRpZSBTdGFuZGFyZGVpbmdhYmUgdm9uIC9kZXYvbnVsbCB1bWxlaXRlbjogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiVElNRUZPUk1BVDogYCVjJzogVW5nw7xsdGlnZXMgRm9ybWF0emVpY2hlbi4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjA3NQorIzogZXhlY3V0ZV9jbWQuYzoyMTIxCiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAiUGlwZS1GZWhsZXIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDQ4MQorIzogZXhlY3V0ZV9jbWQuYzo0NjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IFZlcmJvdGVuOiAgYC8nIGlzdCBpbiBLb21tYW5kb25hbWVuIHVuenVsw6Rzc2lnLiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NTcyCisjOiBleGVjdXRlX2NtZC5jOjQ3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogS29tbWFuZG8gbmljaHQgZ2VmdW5kZW4uIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4MjcKKyM6IGV4ZWN1dGVfY21kLmM6NDk1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIgorbXNnc3RyICIlcyBpc3QgJXNcbiIKKworIzogZXhlY3V0ZV9jbWQuYzo0OTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IERlZmVrdGVyIEludGVycHJldGVyIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NzYKKyM6IGV4ZWN1dGVfY21kLmM6NTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICJLYW5uIGZkICVkIG5pY2h0IGF1ZiBmZCAlZCB2ZXJkb3BwZWxuLiIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICJadSB2aWVsZSBSZWt1cnNpb25lbiBpbiBBdXNkcnVjay4iCiAKLSM6IGV4cHIuYzoyNjUKKyM6IGV4cHIuYzoyODAKIG1zZ2lkICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgogbXNnc3RyICJSZWt1cnNpb25zc3RhcGVsIGxlZXIuIgogCi0jOiBleHByLmM6Mzc5CisjOiBleHByLmM6NDIyCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGV4cHJlc3Npb24iCiBtc2dzdHIgIlN5bnRheGZlaGxlciBpbSBBdXNkcnVjay4iCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgIlp1d2Vpc3VuZyB6dSBlaW5lciBOaWNodC1WYXJpYWJsZW4gdmVyc3VjaHQuIgogCi0jOiBleHByLmM6NDQwIGV4cHIuYzo0NDUgZXhwci5jOjc1NgorIzogZXhwci5jOjQ4NiBleHByLmM6NDkxIGV4cHIuYzo4MDcKIG1zZ2lkICJkaXZpc2lvbiBieSAwIgogbXNnc3RyICJEaXZpc2lvbiBkdXJjaCAwLiIKIAotIzogZXhwci5jOjQ3MQorIzogZXhwci5jOjUxNwogbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKIG1zZ3N0ciAiRmVobGVyOiBGYWxzY2hlciBadXdlaXN1bmdzb3BlcmF0b3IuIgogCi0jOiBleHByLmM6NTEzCisjOiBleHByLmM6NTY0CiBtc2dpZCAiYDonIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJgOicgZXJ3YXJ0ZXQgZsO8ciBlaW4gYmVkaW5ndGVuIEF1c2RydWNrLiIKIAotIzogZXhwci5jOjc4MQorIzogZXhwci5jOjgzMgogbXNnaWQgImV4cG9uZW50IGxlc3MgdGhhbiAwIgogbXNnc3RyICJEZXIgRXhwb25lbnQgaXN0IGtsZWluZXIgYWxzIDAuIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgIiIKICJOYWNoIGVpbmVtIFByw6RpbmtyZW1lbnQgb2RlciBQcsOkZGVrcmVtZW50IHdpcmQgZWluIEJlemVpY2huZXIgZXJ3YXJ0ZXQuIgogCi0jOiBleHByLmM6ODU0CisjOiBleHByLmM6OTEwCiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgIkZlaGxlbmRlIGApJyIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgorIzogZXhwci5jOjk1OSBleHByLmM6MTI4MgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAiU3ludGF4IEZlaGxlcjogT3BlcmF0b3IgZXJ3YXJ0ZXQuIgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiU3ludGF4ZmVobGVyOiBVbmfDvGx0aWdlciBhcml0aG1ldGlzY2hlciBPcGVyYXRvci4iCiAKLSM6IGV4cHIuYzoxMjAyCisjOiBleHByLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIlcyVzJXM6ICVzIChGZWhsZXJ2ZXJ1cnNhY2hlbmRlcyBaZWljaGVuIGlzdCBcXFwiJXNcXFwiKS4iCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJVbmfDvGx0aWdlIEJhc2lzLiIKIAotIzogZXhwci5jOjEyODAKKyM6IGV4cHIuYzoxMzg2CiBtc2dpZCAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgogbXNnc3RyICJEZXIgV2VydCBpc3QgenUgZ3Jvw58gZsO8ciBkaWUgYWt0dWVsbGUgQmFzaXMuIgogCi0jOiBleHByLmM6MTMyOQorIzogZXhwci5jOjE0MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IEZlaGxlciBpbSBBdXNkcnVjay5cbiIKQEAgLTEwMDMsMTcwICsxMDA1LDE3MCBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldHdkOiBLYW5uIG5pY2h0IGF1ZiBkYXMgw7xiZXJnZW9yZG5ldGUgVmVyemVpY2huaXMgenVncmVpZmVuLiIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICJLb25udGUgZGVuIE5vLURlbGF5IE1vZHVzIGbDvHIgZmQgJWQgbmljaHQgd2llZGVyIGhlcnN0ZWxsZW4uIgogCi0jOiBpbnB1dC5jOjI1OAorIzogaW5wdXQuYzoyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKIG1zZ3N0ciAiS2FubiBrZWluZW4gbmV1ZW4gRmlsZWRlc2tyaXB0b3IgZsO8ciBkaWUgRWluZ2FiZSB2b24gZmQgJWQgenV3ZWlzZW4uIgogCiAjIERlYnVnIEF1c2dhYmUKLSM6IGlucHV0LmM6MjY2CisjOiBpbnB1dC5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgogbXNnc3RyICJzYXZlX2Jhc2hfaW5wdXQ6IEVzIGV4aXN0aWVydCBiZXJlaXRzIGVpbiBQdWZmZXIgZsO8ciBkZW4gbmV1ZW4gZmQgJWQuIgogCi0jOiBqb2JzLmM6NDY2CisjOiBqb2JzLmM6NDY4CiBtc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIG1zZ3N0ciAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIAotIzogam9icy5jOjg4NworIzogam9icy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JrZWQgcGlkICVkIGFwcGVhcnMgaW4gcnVubmluZyBqb2IgJWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjEwMDUKKyM6IGpvYnMuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjExMTAKKyM6IGpvYnMuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwcm9jZXNzICU1bGQgKCVzKSBpbiB0aGVfcGlwZWxpbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjExMTMKKyM6IGpvYnMuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIG1hcmtlZCBhcyBzdGlsbCBhbGl2ZSIKIG1zZ3N0ciAiIgogCiAjIFByb2dyYW1taWVyZmVobGVyCi0jOiBqb2JzLmM6MTQwMQorIzogam9icy5jOjE0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkIgogbXNnc3RyICJkZXNjcmliZV9waWQ6ICVsZDogUHJvemXDn251bW1lciBleGlzdGllcnQgbmljaHQuIgogCi0jOiBqb2JzLmM6MTQxNgorIzogam9icy5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2lnbmFsICVkIgogbXNnc3RyICJTaWduYWwgJWQiCiAKLSM6IGpvYnMuYzoxNDMwIGpvYnMuYzoxNDU1CisjOiBqb2JzLmM6MTQ1OSBqb2JzLmM6MTQ4NAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIkZlcnRpZyIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMworIzogam9icy5jOjE0NjQgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIkFuZ2VoYWx0ZW4iCiAKLSM6IGpvYnMuYzoxNDM5CisjOiBqb2JzLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKIG1zZ3N0ciAiQW5nZWhhbHRlbiglcykiCiAKLSM6IGpvYnMuYzoxNDQzCisjOiBqb2JzLmM6MTQ3MgogbXNnaWQgIlJ1bm5pbmciCiBtc2dzdHIgIkzDpHVmdCIKIAotIzogam9icy5jOjE0NTcKKyM6IGpvYnMuYzoxNDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbmUoJWQpIgogbXNnc3RyICJGZXJ0aWcoJWQpIgogCi0jOiBqb2JzLmM6MTQ1OQorIzogam9icy5jOjE0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhpdCAlZCIKIG1zZ3N0ciAiRXhpdCAlZCIKIAotIzogam9icy5jOjE0NjIKKyM6IGpvYnMuYzoxNDkxCiBtc2dpZCAiVW5rbm93biBzdGF0dXMiCiBtc2dzdHIgIlVuYmVrYW5udGVyIFN0YXR1cyIKIAotIzogam9icy5jOjE1NDkKKyM6IGpvYnMuYzoxNTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihjb3JlIGR1bXBlZCkgIgogbXNnc3RyICIoU3BlaWNoZXJhYnp1ZyBnZXNjaHJpZWJlbikgIgogCi0jOiBqb2JzLmM6MTU2OAorIzogam9icy5jOjE1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiICAod2Q6ICVzKSIKIAogIyBpbnRlcm5lciBGZWhsZXIKLSM6IGpvYnMuYzoxNzc2CisjOiBqb2JzLmM6MTgwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTMzIG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQ6IFByb3plw58gJWxkIHd1cmRlIG5pY2h0IHZvbiBkaWVzZXIgU2hlbGwgZ2VzdGFydGV0LiIKIAotIzogam9icy5jOjIzMzEKKyM6IGpvYnMuYzoyMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjI2MDcKKyM6IGpvYnMuYzoyNjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiBQcm9ncmFtbSBpc3QgYmVlbmRldC4iCiAKLSM6IGpvYnMuYzoyODM4CisjOiBqb2JzLmM6Mjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzA1OQorIzogam9icy5jOjMwODkKIG1zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCiBtc2dzdHIgIiIKIAogIyBEZWJ1ZyBBdXNnYWJlCi0jOiBqb2JzLmM6MzUwOAorIzogam9icy5jOjM1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiJXM6IFplaWxlICVkOiAiCiAKLSM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAorIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIgKFNwZWljaGVyYWJ6dWcgZ2VzY2hyaWViZW4pIgogCi0jOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NworIzogam9icy5jOjM1NjQgam9icy5jOjM1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIihnZWdlbnfDpHJ0aWdlcyBBcmJlaXRzdmVyemVpY2huaXMgaXN0OiAlcylcbiIKIAogIyBpbnRlcm5lciBGZWhsZXIKLSM6IGpvYnMuYzozNTc5CisjOiBqb2JzLmM6MzYwOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGdldHBncnAgd2FyIG5pY2h0IGVyZm9sZ3JlaWNoLiIKIAogIyBpbnRlcm5lciBGZWhsZXIKLSM6IGpvYnMuYzozNjM5CisjOiBqb2JzLmM6MzY2OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogCiAjIGludGVybmVyIEZlaGxlcgotIzogam9icy5jOjM2NDkKKyM6IGpvYnMuYzozNjc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIAotIzogam9icy5jOjM2NzcKKyM6IGpvYnMuYzozNzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICJLYW5uIGRpZSBQcm96ZXNzZ3J1cHBlIGRlcyBUZXJtaW5hbHMgbmljaHQgc2V0emVuICglZCkuIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJLZWluZSBKb2IgU3RldWVydW5nIGluIGRpZXNlciBTaGVsbC4iCiAKQEAgLTEyNzYsMTQgKzEyNzgsMTQgQEAKIG1zZ3N0ciAiIgogCiAjOiBsb2NhbGUuYzoyNDcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IEthbm4gbmljaHQgJWx1IEJ5dGVzIHJlc2VydmllcmVuLiIKK21zZ3N0ciAic2V0bG9jYWxlOiAlczogS2FubiBkaWUgU3RhbmRvcnRlaW5zdGVsbHVuZ2VuIG5pY2h0IMOkbmRlcm4gKCVzKS4iCiAKICM6IGxvY2FsZS5jOjI0OQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IEthbm4gbmljaHQgJWx1IEJ5dGVzIHJlc2VydmllcmVuLiIKK21zZ3N0ciAic2V0bG9jYWxlOiAlczogS2FubiBuaWNodCBkaWUgTG9jYWxlIMOkbmRlcm4gKCVzKTogJXMiCiAKICMgRHUgb2RlciBTaWU/CiAjOiBtYWlsY2hlY2suYzo0MzMKQEAgLTEzMjgsMTAwICsxMzMwLDEwMCBAQAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAiRGF0ZWllbmRlIGJlaW0gU3VjaGVuIG5hY2ggYCVjJyBlcnJlaWNodC4iCiAKLSM6IHBhcnNlLnk6Mzk1MQorIzogcGFyc2UueTo0MDI1CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiRGF0ZWllbmRlIGJlaW0gU3VjaGVuIG5hY2ggYF1dJyBlcnJlaWNodC4iCiAKLSM6IHBhcnNlLnk6Mzk1NgorIzogcGFyc2UueTo0MDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgIlN5bnRheGZlaGxlciBpbSBiZWRpbmd0ZW4gQXVzZHJ1Y2s6IFVuZXJ3YXJ0ZXRlcyBaZWljaGVuIGAlcycuIgogCi0jOiBwYXJzZS55OjM5NjAKKyM6IHBhcnNlLnk6NDAzNAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJTeW50YXhmZWhsZXIgaW0gYmVkaW5nZW4gQXVzZHJ1Y2suIgogCi0jOiBwYXJzZS55OjQwMzgKKyM6IHBhcnNlLnk6NDExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiVW5lcndhcnRldGVzIFplaWNoZW46IGAlcycgYW5zdGF0dCB2b24gYCknIgogCi0jOiBwYXJzZS55OjQwNDIKKyM6IHBhcnNlLnk6NDExNgogbXNnaWQgImV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiYCknIGVyd2FydGV0LiIKIAotIzogcGFyc2UueTo0MDcwCisjOiBwYXJzZS55OjQxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxMjAKKyM6IHBhcnNlLnk6NDE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxMjQKKyM6IHBhcnNlLnk6NDE5OAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNDYKKyM6IHBhcnNlLnk6NDIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDE1MAorIzogcGFyc2UueTo0MjI0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTYxCisjOiBwYXJzZS55OjQyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTY0CisjOiBwYXJzZS55OjQyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTY4CisjOiBwYXJzZS55OjQyNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTQ1OQorIzogcGFyc2UueTo1NTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiU3ludGF4ZmVobGVyIGJlaW0gdW5lcndhcnRldGVuIFdvcnQgYCVzJyIKIAotIzogcGFyc2UueTo1NDc3CisjOiBwYXJzZS55OjU1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiU3ludGF4ZmVobGVyIGJlaW0gdW5lcndhcnRldGVuIFdvcnQgYCVzJyIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIlN5bnRheCBGZWhsZXI6IFVuZXJ3YXJ0ZXRlcyBEYXRlaWVuZGUuIgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAiU3ludGF4IEZlaGxlciIKIAogIyBEdSBvZGVyIFNpZT8KLSM6IHBhcnNlLnk6NTU0OQorIzogcGFyc2UueTo1NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJCZW51dHplIFwiJXNcIiB1bSBkaWUgU2hlbGwgenUgdmVybGFzc2VuLlxuIgogCi0jOiBwYXJzZS55OjU3MTEKKyM6IHBhcnNlLnk6NTgxOAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAiRGF0ZWllbmRlIGJlaW0gU3VjaGVuIG5hY2ggcGFzc2VuZGVyIGApJyBlcnJlaWNodC4iCiAKQEAgLTE0MzAsNzcgKzE0MzIsNzcgQEAKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBwY29tcGxpYi5jOjE3OQorIzogcGNvbXBsaWIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoyOTAKKyM6IHByaW50X2NtZC5jOjI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IEZhbHNjaGVzIFZlcmJpbmR1bmdzemVpY2hlbiBgJWQnLiIKIAotIzogcHJpbnRfY21kLmM6MzYzCi0jLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCi1tc2dzdHIgIiVkOiBVbmfDvGx0aWdlciBEYXRlaWJlemVpY2huZXI6ICVzIgotCiAjOiBwcmludF9jbWQuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJ4dHJhY2Vfc2V0OiAlZDogVW5nw7xsdGlnZSBEYXRlaWJlc2NocmVpYnVuZy4iCisKKyM6IHByaW50X2NtZC5jOjM3MwogbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6Mzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoxNDYxCisjOiBwcmludF9jbWQuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjExMAorIzogcmVkaXIuYzoxMjIKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTY2CisjOiByZWRpci5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogTWVocmRldXRpZ2UgVW1sZW5rdW5nLiIKIAotIzogcmVkaXIuYzoxNzAKKyM6IHJlZGlyLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBLYW5uIGV4aXN0aWVyZW5kZSBEYXRlaSBuaWNodCDDvGJlcnNjaHJlaWJlbi4iCiAKLSM6IHJlZGlyLmM6MTc1CisjOiByZWRpci5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IEdlc3BlcnJ0OiBEaWUgQXVzZ2FiZSBkYXJmIG5pY2h0IHVtZ2VsZWl0ZXQgd2VyZGVuLiIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE4NAotIywgZnV6enksIGMtZm9ybWF0CisjOiByZWRpci5jOjE5NgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKLW1zZ3N0ciAiJXM6IEthbm4gZWluZW0gRmVsZGVsZW1lbnQga2VpbmUgTGlzdGUgenV3ZWlzZW4uIgorbXNnc3RyICIlczogS2FubiBmZCBrZWluZXIgVmFyaWFibGUgenV3ZWlzZW4uIgogCi0jOiByZWRpci5jOjU0NAorIzogcmVkaXIuYzo1NDgKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBXaXJkIG9obmUgTmV0endlcmsgbmljaHQgdW50ZXJzdMO8dHp0IgogCi0jOiByZWRpci5jOjExMDEKKyM6IHJlZGlyLmM6ODE4IHJlZGlyLmM6OTMwIHJlZGlyLmM6OTkzIHJlZGlyLmM6MTEzNgogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICJLb25udGUgZGFzIC90bXAgVmVyemVpY2huaXMgbmljaHQgZmluZGVuLCBiaXR0ZSBhbmxlZ2VuLiIKIAotIzogc2hlbGwuYzozMzYKKyM6IHNoZWxsLmM6MzM3CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAgbXXDnyBlaW4gZ8O8bHRpZ2VyIFZlcnplaWNobmlzbmFtZSBzZWluLiIKIApAQCAtMTUwOSwxNiArMTUxMSwxNiBAQAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiBVbmfDvGx0aWdlIE9wdGlvbiIKIAotIzogc2hlbGwuYzoxNjUxCisjOiBzaGVsbC5jOjE2NTIKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIkljaCBoYWJlIGtlaW5lbiBCZW51dHplcm5hbWVuISIKIAotIzogc2hlbGwuYzoxNzkzCisjOiBzaGVsbC5jOjE3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICJHTlUgYmFzaCwgVmVyc2lvbiAlcy0oJXMpXG4iCiAKLSM6IHNoZWxsLmM6MTc5NAorIzogc2hlbGwuYzoxNzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgpAQCAtMTUyNywzOSArMTUyOSwzOSBAQAogIkJlbnV0enVuZzpcdCVzIFtMYW5nZSBHTlUgT3B0aW9uXSBbT3B0aW9uXSAuLi5cbiIKICJcdFx0JXMgW0xhbmdlIEdOVSBPcHRpb25dIFtPcHRpb25dIFNjcmlwdC1EYXRlaSAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzk2CisjOiBzaGVsbC5jOjE3OTgKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJMYW5nZSBHTlUgT3B0aW9uZW46XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiU2hlbGwtT3B0aW9uZW46XG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODAzCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNEIG9kZXIgLWMgS29tbWFuZG9cdFx0KE51ciBBdWZydWYpXG4iCiAKLSM6IHNoZWxsLmM6MTgxNgorIzogc2hlbGwuYzoxODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyBvZGVyIE9wdGlvbiAtb1xuIgogCi0jOiBzaGVsbC5jOjE4MjIKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgImAlcyAtYyBcImhlbHAgc2V0XCInIGbDvHIgbWVociBJbmZvcm1hdGlvbmVuIMO8YmVyIFNoZWxsLU9wdGlvbmVuLlxuIgogCi0jOiBzaGVsbC5jOjE4MjMKKyM6IHNoZWxsLmM6MTgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICJgJXMgLWMgaGVscCcgZsO8ciBtZWhyIEluZm9ybWF0aW9uIMO8YmVyIFNoZWxsLUtvbW1hbmRvcy5cbiIKIAotIzogc2hlbGwuYzoxODI0CisjOiBzaGVsbC5jOjE4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIHRoZSBgYmFzaGJ1ZycgY29tbWFuZCB0byByZXBvcnQgYnVncy5cbiIKIG1zZ3N0ciAiTWl0IGRlbSBgYmFzaGJ1ZycgS29tbWFuZG8ga8O2bm5lbiBGZWhsZXIgZ2VtZWxkZXQgd2VyZGVuLlxuIgogCi0jOiBzaWcuYzo2MjYKKyM6IHNpZy5jOjYzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IFVuZ8O8bHRpZ2UgT3BlcmF0aW9uIgpAQCAtMTczMyw4NSArMTczNSw4NSBAQAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiVW5iZWthbm50ZXMgU2lnbmFsIE5yLjogJWQuIgogCi0jOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAiRmFsc2NoZSBFcnNldHp1bmc6IEtlaW5lIHNjaGxpZcOfZW5kZSBgJXMnIGluIGAlcycgZW50aGFsdGVuLiIKIAotIzogc3Vic3QuYzoyNzM1CisjOiBzdWJzdC5jOjI3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiBLYW5uIGVpbmVtIEZlbGRlbGVtZW50IGtlaW5lIExpc3RlIHp1d2Vpc2VuLiIKIAotIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAorIzogc3Vic3QuYzo0OTc5IHN1YnN0LmM6NDk5NQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJLYW5uIGtlaW5lIFBpcGUgZsO8ciBkaWUgUHJvemXDn2Vyc2V0enVuZyBlcnpldWdlbi4iCiAKLSM6IHN1YnN0LmM6NDgwMgorIzogc3Vic3QuYzo1MDI3CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJLYW5uIGRlbiBLaW5kc3Byb3plc3MgZsO8ciBkaWUgUHJvemXDn2Vyc2V0enVuZyBuaWNodCBlcnpldWdlbi4iCiAKLSM6IHN1YnN0LmM6NDg0NworIzogc3Vic3QuYzo1MDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgIkthbm4gbmljaHQgZGllIGJlbmFubnRlIFBpcGUgJXMgenVtIGxlc2VuIMO2ZmZuZW4uIgogCi0jOiBzdWJzdC5jOjQ4NDkKKyM6IHN1YnN0LmM6NTA3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICJLYW5uIG5pY2h0IGRpZSBiZW5hbm50ZSBQaXBlICVzIHp1bSBzY2hyZWliZW4gw7ZmZm5lbi4iCiAKLSM6IHN1YnN0LmM6NDg2NworIzogc3Vic3QuYzo1MDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiS2FubiBkaWUgYmVuYW5udGUgUGlwZSAlcyBuaWNodCBhdWYgZmQgJWQuIgogCi0jOiBzdWJzdC5jOjUwNjMKKyM6IHN1YnN0LmM6NTI4NAogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJLYW5uIGtlaW5lIFBpcGVzIGbDvHIgS29tbWFuZG9lcnNldHp1bmcgZXJ6ZXVnZW4uIgogCi0jOiBzdWJzdC5jOjUwOTcKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiS2FubiBrZWluZW4gVW50ZXJwcm96ZXNzIGbDvHIgZGllIEtvbW1hbmRvZXJzZXR6dW5nIGVyemV1Z2VuLiIKIAogIyBpbnRlcm5lciBGZWhsZXIKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiS29tbWFuZG9lcnNldHp1bmc6IEthbm4gUGlwZSBuaWNodCBhbHMgZmQgMSBkdXBsaXppZXJlbi4iCiAKLSM6IHN1YnN0LmM6NTYxNworIzogc3Vic3QuYzo1ODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogUGFyYW1ldGVyIGlzdCBOdWxsIG9kZXIgbmljaHQgZ2VzZXR6dC4iCiAKICMgaW50ZXJuZXIgRmVobGVyCi0jOiBzdWJzdC5jOjU5MDcKKyM6IHN1YnN0LmM6NjEyNSBzdWJzdC5jOjYxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXM6IFRlaWxzdHJpbmctQXVzZHJ1Y2sgPCAwLiIKIAotIzogc3Vic3QuYzo2OTY1CisjOiBzdWJzdC5jOjcyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBGYWxzY2hlIFZhcmlhYmxlbmVyc2V0enVuZy4iCiAKLSM6IHN1YnN0LmM6NzA0NQorIzogc3Vic3QuYzo3MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBLYW5uIHNvIG5pY2h0IHp1d2Vpc2VuLiIKIAotIzogc3Vic3QuYzo3Mzc0CisjOiBzdWJzdC5jOjc2ODQKIG1zZ2lkICIiCiAiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCiAic3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NzgzOQorIzogc3Vic3QuYzo4MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgIkZhbHNjaGUgRXJzZXR6dW5nOiBLZWluZSBzY2hsaWXDn2VuZGUgXCJgXCIgaW4gJXMuIgogCi0jOiBzdWJzdC5jOjg3MjAKKyM6IHN1YnN0LmM6OTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgIktlaW5lIEVudHNwcmVjaHVuZzogJXMiCkBAIC0xODM0LDM3ICsxODM2LDM3IEBACiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAiYCknIGVyd2FydGV0LCAlcyBnZWZ1bmRlbi4iCiAKLSM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTggdGVzdC5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBFaW5zdGVsbGlnZXIgKHVuw6RyZXIpIE9wZXJhdG9yIGVyd2FydGV0LiIKIAotIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IFp3ZWlzdGVsbGlnZXIgKGJpbsOkcmVyKSBPcGVyYXRvciBlcndhcnRldC4iCiAKLSM6IHRlc3QuYzo4MTEKKyM6IHRlc3QuYzo4MTYKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAiRmVobGVuZGUgYF0nIgogCi0jOiB0cmFwLmM6MjAzCisjOiB0cmFwLmM6MjA3CiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJVbmfDvGx0aWdlIFNpZ25hbG51bW1lci4iCiAKLSM6IHRyYXAuYzozMjcKKyM6IHRyYXAuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAiIgogCi0jOiB0cmFwLmM6MzMxCisjOiB0cmFwLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAKICMgUHJvZ3JhbW1pZXJmZWhsZXIKLSM6IHRyYXAuYzozODAKKyM6IHRyYXAuYzozOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXI6IEZhbHNjaGVzIFNpZ25hbCAlZC4iCkBAIC0xODc0LDU4ICsxODc2LDU5IEBACiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgIkZlaGxlciBiZWltIEltcG9ydGllcmVuIGRlciBGdW5rdGlvbnNkZWZpbml0aW9uIGbDvHIgYCVzJy4iCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjE5MTUKKyM6IHZhcmlhYmxlcy5jOjE5MzIKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzE1OQorIzogdmFyaWFibGVzLmM6MzE4MgogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzc2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHZhcmlhYmxlcy5jOjM0MjcKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgotbXNnc3RyICIlczogUGFyYW1ldGVyIGlzdCBOdWxsIG9kZXIgbmljaHQgZ2VzZXR6dC4iCittc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCisjOiB2YXJpYWJsZXMuYzozNDMyIHZhcmlhYmxlcy5jOjM0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzk2CisjOiB2YXJpYWJsZXMuYzozNDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4MzUKKyM6IHZhcmlhYmxlcy5jOjM4OTEKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6Mzg0OAorIzogdmFyaWFibGVzLmM6MzkwNAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHZhcmlhYmxlcy5jOjQ3ODYKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgotbXNnc3RyICIlczogS2FubiBkaWUgRGF0ZWkgbmljaHQgw7ZmZm5lbjogJXMiCittc2dzdHIgIiVzOiAlczogS2FubiBuaWNodCBhbHMgRGF0ZWkgZ2XDtmZmbmV0IHdlcmRlbi4iCiAKLSM6IHZhcmlhYmxlcy5jOjQ2ODMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogdmFyaWFibGVzLmM6NDc5MQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKLW1zZ3N0ciAiJWQ6IFVuZ8O8bHRpZ2VyIERhdGVpYmV6ZWljaG5lcjogJXMiCittc2dzdHIgIiIKIAogIzogdmVyc2lvbi5jOjQ2Ci1tc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKKyMsIGZ1enp5Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIAogIzogdmVyc2lvbi5jOjQ3CkBAIC0xOTUyLDM5ICsxOTU1LDM4IEBACiBtc2dzdHIgIkbDvHIgZGllc2VzIFByb2dyYW1tIGJlc3RlaHQga2VpbmVybGVpIEdhcmFudGllLlxuIgogCiAjOiB2ZXJzaW9uMi5jOjg2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgotbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCiAKICM6IHZlcnNpb24yLmM6ODcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiBtc2dzdHIgIiIKLSJMaXplbnogR1BMdjMrOiBHTlUgR1BMIFZlcnNpb24gMyBvZGVyIGrDvG5nZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiTGl6ZW56IEdQTHYyKzogR05VIEdQTCBWZXJzaW9uIDIgb2RlciBqw7xuZ2VyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiAKICM6IHhtYWxsb2MuYzo5MQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieG1hbGxvYzogS2FubiAlbHUgQnl0ZXMgbmljaHQgcmVzZXJ2aWVyZW4gKCVsdSBieXRlcyByZXNlcnZpZXJ0KS4iCittc2dzdHIgIiVzOiBLYW5uICVsdSBCeXRlcyBuaWNodCByZXNlcnZpZXJlbiAoJWx1IGJ5dGVzIHJlc2VydmllcnQpLiIKIAogIzogeG1hbGxvYy5jOjkzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6IEthbm4gbmljaHQgJWx1IEJ5dGVzIHJlc2VydmllcmVuLiIKK21zZ3N0ciAiJXM6IEthbm4gbmljaHQgJWx1IEJ5dGVzIHJlc2VydmllcmVuLiIKIAogIzogeG1hbGxvYy5jOjE2MwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgIiIKLSJ4bWFsbG9jOiAlczolZDogS2FubiBuaWNodCAlbHUgQnl0ZXMgcmVzZXJ2aWVyZW4gKCVsdSBieXRlcyByZXNlcnZpZXJ0KS4iCittc2dzdHIgIiVzOiAlczolZDogS2FubiBuaWNodCAlbHUgQnl0ZXMgcmVzZXJ2aWVyZW4gKCVsdSBieXRlcyByZXNlcnZpZXJ0KS4iCiAKICM6IHhtYWxsb2MuYzoxNjUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBLYW5uIG5pY2h0ICVsdSBCeXRlcyByZXNlcnZpZXJlbi4iCittc2dzdHIgIiVzOiAlczolZDogS2FubiBuaWNodCAlbHUgQnl0ZXMgcmVzZXJ2aWVyZW4uIgogCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgpAQCAtMjAxOSw3ICsyMDIxLDggQEAKIG1zZ3N0ciAiY2FsbGVyIFtBdXNkcnVja10iCiAKICM6IGJ1aWx0aW5zLmM6NjQKLW1zZ2lkICJjZCBbLUx8LVBdIFtkaXJdIgorIywgZnV6enkKK21zZ2lkICJjZCBbLUx8Wy1QIFstZV1dXSBbZGlyXSIKIG1zZ3N0ciAiY2QgWy1MfC1QXSBbVmVyemVpY2huaXNdIgogCiAjOiBidWlsdGlucy5jOjY2CkBAIC0yMDQzLDEyICsyMDQ2LDE0IEBACiBtc2dzdHIgImNvbW1hbmQgWy1wVnZdIEtvbW1hbmRvIFtBcmd1bWVudCAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc2Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgorIywgZnV6enkKK21zZ2lkICJkZWNsYXJlIFstYUFmRmdpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgogbXNnc3RyICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbTmFtZVs9V2VydF0gLi4uXSIKIAogIwogIzogYnVpbHRpbnMuYzo3OAotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCisjLCBmdXp6eQorbXNnaWQgInR5cGVzZXQgWy1hQWZGZ2lscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgogbXNnc3RyICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBOYW1lWz1XZXJ0XSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6ODAKQEAgLTIxMDYsOSArMjExMSw4IEBACiBtc2dzdHIgImhhc2ggWy1scl0gWy1wIFBmYWRuYW1lXSBbLWR0XSBbTmFtZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjExNwotIywgZnV6enkKIG1zZ2lkICJoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dIgotbXNnc3RyICJoZWxwIFstZHNdIFtNdXN0ZXIgLi4uXSIKK21zZ3N0ciAiaGVscCBbLWRtc10gW011c3RlciAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEyMQogbXNnaWQgIiIKQEAgLTIxMzksMjAgKzIxNDMsMjAgQEAKIG1zZ3N0ciAibGV0IEFyZ3VtZW50IFtBcmd1bWVudCAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEzNgotIywgZnV6enkKIG1zZ2lkICIiCiAicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgogInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgotInJlYWQgWy1lcnNdIFstYSBGZWxkXSBbLWQgQmVncmVuemVyXSBbLWkgVGV4dF0gWy1uIFplaWNoZW5hbnphaGxdIFstcCAiCi0iUHJvbXB0XSBbLXQgWmVpdGxpbWl0XSBbLXUgZmRdIFtOYW1lIC4uLl0iCisicmVhZCBbLWVyc10gWy1hIEZlbGRdIFstZCBCZWdyZW56ZXJdIFstaSBUZXh0XSBbLW4gWmVpY2hlbmFuemFobF0gWy1OICIKKyJaZWljaGVuYW56YWhsXSBbLXAgUHJvbXB0XSBbLXQgWmVpdGxpbWl0XSBbLXUgZmRdIFtOYW1lIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM4CiBtc2dpZCAicmV0dXJuIFtuXSIKIG1zZ3N0ciAicmV0dXJuIFtuXSIKIAogIzogYnVpbHRpbnMuYzoxNDAKLW1zZ2lkICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dIgorIywgZnV6enkKK21zZ2lkICJzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXSIKIG1zZ3N0ciAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gT3B0aW9uXSBbQVJHIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQyCkBAIC0yMTY0LDcgKzIxNjgsOCBAQAogbXNnc3RyICJleHBvcnQgWy1mbl0gW05hbWVbPVdlcnRdIC4uLl0gb2RlciBleHBvcnQgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ2Ci1tc2dpZCAicmVhZG9ubHkgWy1hZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgorIywgZnV6enkKK21zZ2lkICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgogbXNnc3RyICJyZWFkb25seSBbLWFmXSBbTmFtZVs9V2VydF0gLi4uXSBvZGVyIHJlYWRvbmx5IC1wIgogCiAjOiBidWlsdGlucy5jOjE0OApAQCAtMjMwNCwxNSArMjMwOSwxNCBAQAogbXNnc3RyICJwcmludGYgWy12IHZhcl0gRm9ybWF0IFtBcmd1bWVudGVdIgogCiAjOiBidWlsdGlucy5jOjIyOQotIywgZnV6enkKIG1zZ2lkICIiCiAiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKICJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKICJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIE9wdGlvbl0gWy1BIE1ldGhvZGVdIFstRyBTdWNobXVzdGVyXSBbLVcgIgotIldvcnRsaXN0ZV0gIFstRiBGdW5rdGlvbl0gWy1DIEtvbW1hbmRvXSBbLVggRmlsdGVybXVzdGVyXSBbLVAgUHJlZml4XSBbLVMgIgotIlN1ZmZpeF0gW05hbWUgLi4uXSIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIE9wdGlvbl0gWy1BIEFrdGlvbl0gWy1HIFN1Y2htdXN0ZXJdICIKKyJbLVcgV29ydGxpc3RlXSAgWy1GIEZ1bmt0aW9uXSBbLUMgS29tbWFuZG9dIFstWCBGaWx0ZXJtdXN0ZXJdIFstUCBQcmVmaXhdIFstIgorIlMgU3VmZml4XSBbTmFtZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjIzMwogbXNnaWQgIiIKQEAgLTIzMjQsOSArMjMyOCw4IEBACiAiU3VmZml4XSBbV29ydF0iCiAKICM6IGJ1aWx0aW5zLmM6MjM3Ci0jLCBmdXp6eQogbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKLW1zZ3N0ciAiY29tcG9wdCBbLW98K28gT3B0aW9uXSBbTmFtZSAuLi5dIgorbXNnc3RyICJjb21wb3B0IFstb3wrbyBPcHRpb25dIFstREVdIFtOYW1lIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjQwCiBtc2dpZCAiIgpAQCAtMjM5MSw3ICsyMzk0LDkgQEAKICIgICAgXG4iCiAiICAgIEdpYnQgaW1tZXIgRXJmb2xnIHp1csO8Y2ssIHdlbm4gZGVyIE5hbWUgZXhpc3RpZXJ0LiIKIAorIyBiaW5kCiAjOiBidWlsdGlucy5jOjI4OQorIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IFJlYWRsaW5lIGtleSBiaW5kaW5ncyBhbmQgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI0MjksNiArMjQzNCw0NyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgYmluZCByZXR1cm5zIDAgdW5sZXNzIGFuIHVucmVjb2duaXplZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgorIktvbmZpZ3VyaWVydCBSZWFkbGluZSBUYXN0ZW56dW9yZG51bmdlbiB1bmQgVmFyaWFibGVuLlxuIgorIiAgICBcbiIKKyIgICAgV2Vpc3QgZWluZSBUYXN0ZW5zZXF1ZW56IGVpbmVyIFJlYWRsaW5lIEZ1bmt0aW9uIG9kZXIgZWluZW0gTWFrcm9cbiIKKyIgICAgenUgb2RlciBzZXR6dCBlaW5lIFJlYWRsaW5lIFZhcmlhYmxlLiAgVGhlIG5vbi1vcHRpb24gYXJndW1lbnRcbiIKKyIgICAgc3ludGF4IGlzIGVxdWl2YWxlbnQgdG8gdGhhdCBmb3VuZCBpbiB+Ly5pbnB1dHJjLCBidXQgbXVzdCBiZVxuIgorIiAgICBwYXNzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQ6IGUuZy4sIGJpbmQgJ1wiXFxDLXhcXEMtclwiOlxuIgorIiAgICByZS1yZWFkLWluaXQtZmlsZScuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25lbjpcbiIKKyIgICAgICAtbSAgS2V5bWFwICAgICAgICAgQmVudXR6dCBLRVlNQVAgYXMgVGFzdGF0dXJiZWxlZ3VuZyBmw7xyIGRpZSAiCisiTGF1ZnplaXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgZGllc2VzIEtvbW1hbmRvcy4gIEfDvGx0aWdlIEtleW1hcCBOYW1lbiBzaW5kOiAiCisiZW1hY3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWNzLXN0YW5kYXJkLCBlbWFjcy1tZXRhLCBlbWFjcy1jdGx4LCB2aSwgdmktIgorIm1vdmUsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIHZpLWNvbW1hbmQsIHVuZCB2aS1pbnNlcnQuXG4iCisiICAgICAgLWwgICAgICAgICAgICAgICAgIExpc3RldCBGdW5rdGlvbnNuYW1lbiBhdWYuXG4iCisiICAgICAgLVAgICAgICAgICAgICAgICAgIExpc3RldCBGdW5rdGlvbnNuYW1lbiB1bmQgVGFzdGVuenVvcmRudW5nZW4gYXVmLlxuIgorIiAgICAgIC1wICAgICAgICAgICAgICAgICBMaXN0ZXQgRnVua3Rpb25zbmFtZW4gdW5kIFRhc3Rlbnp1b3JkbnVuZ2VuIHNvICIKKyJhdWYsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGRhc3Mgc2llIGRpcmVrdCBhbHMgRWluZ2FiZSB2ZXJ3ZW5kZXQgd2VyZGVuICIKKyJrw7ZubmVuLlxuIgorIiAgICAgIC1TICAgICAgICAgICAgICAgICBMaXN0IGtleSBzZXF1ZW5jZXMgdGhhdCBpbnZva2UgbWFjcm9zIGFuZCB0aGVpciAiCisidmFsdWVzXG4iCisiICAgICAgLXMgICAgICAgICAgICAgICAgIExpc3Qga2V5IHNlcXVlbmNlcyB0aGF0IGludm9rZSBtYWNyb3MgYW5kIHRoZWlyICIKKyJ2YWx1ZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYSBmb3JtIHRoYXQgY2FuIGJlIHJldXNlZCBhcyBpbnB1dC5cbiIKKyIgICAgICAtViAgICAgICAgICAgICAgICAgTGlzdCB2YXJpYWJsZSBuYW1lcyBhbmQgdmFsdWVzXG4iCisiICAgICAgLXYgICAgICAgICAgICAgICAgIExpc3QgdmFyaWFibGUgbmFtZXMgYW5kIHZhbHVlcyBpbiBhIGZvcm0gdGhhdCBjYW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgYmUgcmV1c2VkIGFzIGlucHV0LlxuIgorIiAgICAgIC1xICBmdW5jdGlvbi1uYW1lICBRdWVyeSBhYm91dCB3aGljaCBrZXlzIGludm9rZSB0aGUgbmFtZWQgZnVuY3Rpb24uXG4iCisiICAgICAgLXUgIGZ1bmN0aW9uLW5hbWUgIFVuYmluZCBhbGwga2V5cyB3aGljaCBhcmUgYm91bmQgdG8gdGhlIG5hbWVkICIKKyJmdW5jdGlvbi5cbiIKKyIgICAgICAtciAga2V5c2VxICAgICAgICAgUmVtb3ZlIHRoZSBiaW5kaW5nIGZvciBLRVlTRVEuXG4iCisiICAgICAgLWYgIGZpbGVuYW1lICAgICAgIFJlYWQga2V5IGJpbmRpbmdzIGZyb20gRklMRU5BTUUuXG4iCisiICAgICAgLXggIGtleXNlcTpzaGVsbC1jb21tYW5kXHRDYXVzZSBTSEVMTC1DT01NQU5EIHRvIGJlIGV4ZWN1dGVkIHdoZW5cbiIKKyIgICAgXHRcdFx0XHRLRVlTRVEgaXMgZW50ZXJlZC5cbiIKKyIgICAgXG4iCisiICAgIFLDvGNrZ2FiZXdlcnQ6IFxuIgorIiAgICBCaW5kIGdpYnQgMCB6dXLDvGNrLCB3ZW5uIGtlaW5lIHVuZXJrYW5udGUgT3B0aW9uIGFuZ2VnZWJlbiB3dXJkZVxuIgorIiAgICBvZGVyIGVpbiBGZWhsZXIgZWludHJhdC4iCiAKICM6IGJ1aWx0aW5zLmM6MzI2CiBtc2dpZCAiIgpAQCAtMjUxMCw2ICsyNTU2LDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjM4MworIywgZnV6enkKIG1zZ2lkICIiCiAiQ2hhbmdlIHRoZSBzaGVsbCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNTM1LDExICsyNTgyLDE1IEBACiAiICAgICAgICAtTFx0Zm9yY2Ugc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG93ZWRcbiIKICIgICAgICAgIC1QXHR1c2UgdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWNcbiIKICIgICAgXHRsaW5rc1xuIgorIiAgICAgICAgLWVcdGlmIHRoZSAtUCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVxuIgorIiAgICBcdGNhbm5vdCBiZSBkZXRlcm1pbmVkIHN1Y2Nlc3NmdWxseSwgZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzXG4iCiAiICAgIFxuIgogIiAgICBUaGUgZGVmYXVsdCBpcyB0byBmb2xsb3cgc3ltYm9saWMgbGlua3MsIGFzIGlmIGAtTCcgd2VyZSBzcGVjaWZpZWQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKKyIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZCwgYW5kIGlmICRQV0QgaXMgc2V0IHN1Y2Nlc3NmdWxseSAiCisid2hlblxuIgorIiAgICAtUCBpcyB1c2VkOyBub24temVybyBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAiV2VjaHNlbHQgZGFzIEFyYmVpdHN2ZXJ6ZWljaG5pcy5cbiIKICIgICAgXG4iCkBAIC0yNTY2LDcgKzI2MTcsNyBAQAogIiAgICBSw7xja2dhYmV3ZXJ0OlxuIgogIiAgICBXZW5uIGRhcyBWZXJ6ZWljaG5pYyBnZXdlY2hzZWx0IHd1cmRlIDA7IHNvbnN0IHVuZ2xlaWNoIE51bGwuIgogCi0jOiBidWlsdGlucy5jOjQxMQorIzogYnVpbHRpbnMuYzo0MTQKIG1zZ2lkICIiCiAiUHJpbnQgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjU4Myw3ICsyNjM0LDcgQEAKIG1zZ3N0ciAiICAgIGJlIGEgbGl0ZXJhbCBgXScsIHRvIG1hdGNoIHRoZSBvcGVuaW5nIGBbJy48IgogCiAjIGNvbG9uCi0jOiBidWlsdGlucy5jOjQyOAorIzogYnVpbHRpbnMuYzo0MzEKIG1zZ2lkICIiCiAiTnVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI1OTksNyArMjY1MCw3IEBACiAiICAgIFLDvGNrZ2FiZXdlcnQ6XG4iCiAiICAgIERhcyBLb21tYW5kbyBpc3QgaW1tZXIgZXJmb2xncmVpY2guIgogCi0jOiBidWlsdGlucy5jOjQzOQorIzogYnVpbHRpbnMuYzo0NDIKIG1zZ2lkICIiCiAiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgpAQCAtMjYwNyw3ICsyNjU4LDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ0OAorIzogYnVpbHRpbnMuYzo0NTEKIG1zZ2lkICIiCiAiUmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgpAQCAtMjYxNSw3ICsyNjY2LDcgQEAKICIgICAgQWx3YXlzIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ1NworIzogYnVpbHRpbnMuYzo0NjAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjYzNCw3ICsyNjg1LDcgQEAKICIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBDT01NQU5ELCBvciBmYWlsdXJlIGlmIENPTU1BTkQgaXMgbm90IGZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ3NgorIzogYnVpbHRpbnMuYzo0NzkKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCkBAIC0yNjQ1LDYgKzI2OTYsOCBAQAogIiAgICAgIC1mXHRyZXN0cmljdCBhY3Rpb24gb3IgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBhbmQgZGVmaW5pdGlvbnNcbiIKICIgICAgICAtRlx0cmVzdHJpY3QgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBvbmx5IChwbHVzIGxpbmUgbnVtYmVyIGFuZFxuIgogIiAgICBcdHNvdXJjZSBmaWxlIHdoZW4gZGVidWdnaW5nKVxuIgorIiAgICAgIC1nXHRjcmVhdGUgZ2xvYmFsIHZhcmlhYmxlcyB3aGVuIHVzZWQgaW4gYSBzaGVsbCBmdW5jdGlvbjsgb3RoZXJ3aXNlXG4iCisiICAgIFx0aWdub3JlZFxuIgogIiAgICAgIC1wXHRkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZSBvZiBlYWNoIE5BTUVcbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnMgd2hpY2ggc2V0IGF0dHJpYnV0ZXM6XG4iCkBAIC0yNjY0LDEzICsyNzE3LDEzIEBACiAiICAgIFxuIgogIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiAiYGxvY2FsJ1xuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIGAtZycgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MTIKKyM6IGJ1aWx0aW5zLmM6NTE3CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgpAQCAtMjY4MCw3ICsyNzMzLDcgQEAKICJcbiIKICIgICAgVmVyYWx0ZXQuICBTaWVoZSBgaGVscCBkZWNsYXJlJy4iCiAKLSM6IGJ1aWx0aW5zLmM6NTIwCisjOiBidWlsdGlucy5jOjUyNQogbXNnaWQgIiIKICJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI3MDksNyArMjc2Miw3IEBACiAiICAgIExpZWZlcnQgXCJFcmZvbGdcIiBhdcOfZXIgYmVpIGVpbmVyIHVuZ8O8bHRpZ2VuIE9wdGlvbiwgZWluZW0gRmVobGVyIG9kZXJcbiIKICIgICAgZGllIFNoZWxsIGbDvGhydCBrZWluZSBGdW5rdGlvbiBhdXMuIgogCi0jOiBidWlsdGlucy5jOjUzNworIzogYnVpbHRpbnMuYzo1NDIKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjc0MCw3ICsyNzkzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI3NTMsNyArMjgwNiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjc4MCw3ICsyODMzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjYxNAorIzogYnVpbHRpbnMuYzo2MTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhcmd1bWVudHMgYXMgYSBzaGVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI3OTIsNyArMjg0NSw3IEBACiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgY29tbWFuZCBvciBzdWNjZXNzIGlmIGNvbW1hbmQgaXMgbnVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMjgzMyw3ICsyODg2LDcgQEAKICIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yODU3LDcgKzI5MTAsNyBAQAogbXNnc3RyICIiCiAKICMgZXhpdAotIzogYnVpbHRpbnMuYzo2ODkKKyM6IGJ1aWx0aW5zLmM6Njk0CiBtc2dpZCAiIgogIkV4aXQgdGhlIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI4NzAsNyArMjkyMyw3IEBACiAiYW5nZWdlYmVuIGlzdCxcbiIKICIgICAgd2lyZCBkZXIgUsO8Y2tnYWJld2VydCBkZXMgbGV0enRlbiBhdXNnZWbDvGhydGVuIEtvbW1hbmRvcyDDvGJlcm5vbW1lbi4iCiAKLSM6IGJ1aWx0aW5zLmM6Njk4CisjOiBidWlsdGlucy5jOjcwMwogbXNnaWQgIiIKICJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMjg3OSw3ICsyOTMyLDcgQEAKICIgICAgaW4gYSBsb2dpbiBzaGVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3MDgKKyM6IGJ1aWx0aW5zLmM6NzEzCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMjkwOSw3ICsyOTYyLDcgQEAKICJvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzM4CisjOiBidWlsdGlucy5jOjc0MwogbXNnaWQgIiIKICJNb3ZlIGpvYiB0byB0aGUgZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0yOTIxLDcgKzI5NzQsNyBAQAogIiAgICBTdGF0dXMgb2YgY29tbWFuZCBwbGFjZWQgaW4gZm9yZWdyb3VuZCwgb3IgZmFpbHVyZSBpZiBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogbXNnaWQgIiIKICJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMjkzNSw3ICsyOTg4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzY3CisjOiBidWlsdGlucy5jOjc3MgogbXNnaWQgIiIKICJSZW1lbWJlciBvciBkaXNwbGF5IHByb2dyYW0gbG9jYXRpb25zLlxuIgogIiAgICBcbiIKQEAgLTI5NTksNyArMzAxMiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgZm91bmQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjk4MSw3ICszMDM0LDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4MTYKKyM6IGJ1aWx0aW5zLmM6ODIxCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTMwMTUsNyArMzA2OCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg1MgorIzogYnVpbHRpbnMuYzo4NTcKIG1zZ2lkICIiCiAiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKICIgICAgXG4iCkBAIC0zMDM5LDcgKzMwOTIsNyBAQAogIiAgICBJZiAteCBpcyB1c2VkLCByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg3OQorIzogYnVpbHRpbnMuYzo4ODQKIG1zZ2lkICIiCiAiUmVtb3ZlIGpvYnMgZnJvbSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMwNTYsNyArMzEwOSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4OTgKKyM6IGJ1aWx0aW5zLmM6OTAzCiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMzA3OCw3ICszMTMxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6OTIxCisjOiBidWlsdGlucy5jOjkyNgogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb25zLlxuIgogIiAgICBcbiIKQEAgLTMxMjAsMTAgKzMxNzMsMTAgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjk2NgorIzogYnVpbHRpbnMuYzo5NzEKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgogIiAgICBcbiIKQEAgLTMxNzEsNyArMzIyNCw3IEBACiAiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDA5CisjOiBidWlsdGlucy5jOjEwMTQKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMTgzLDcgKzMyMzYsNyBAQAogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMyNTIsNiArMzMwNSw5IEBACiAiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgogIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCiAiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKICIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKICIgICAgXG4iCkBAIC0zMjY1LDcgKzMzMjEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMDQKKyM6IGJ1aWx0aW5zLmM6MTExMgogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzI4NSw3ICszMzQxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTMzMDQsNyArMzM2MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzMyNCw3ICszMzgwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2NAorIzogYnVpbHRpbnMuYzoxMTcyCiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMzM1LDcgKzMzOTEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzM0OSw3ICszNDA1LDcgQEAKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNworIzogYnVpbHRpbnMuYzoxMjE1CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMzNjMsMTQgKzM0MTksMTcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMworIzogYnVpbHRpbnMuYzoxMjMxCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgogIiAgICBFeGl0cyB3aXRoIGEgc3RhdHVzIG9mIDAgKHRydWUpIG9yIDEgKGZhbHNlKSBkZXBlbmRpbmcgb25cbiIKICIgICAgdGhlIGV2YWx1YXRpb24gb2YgRVhQUi4gIEV4cHJlc3Npb25zIG1heSBiZSB1bmFyeSBvciBiaW5hcnkuICBVbmFyeVxuIgogIiAgICBleHByZXNzaW9ucyBhcmUgb2Z0ZW4gdXNlZCB0byBleGFtaW5lIHRoZSBzdGF0dXMgb2YgYSBmaWxlLiAgVGhlcmVcbiIKLSIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYXMgd2VsbCwgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMuXG4iCisiICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzIGFzIHdlbGwuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYmVoYXZpb3Igb2YgdGVzdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzLiAgUmVhZCB0aGVcbiIKKyIgICAgYmFzaCBtYW51YWwgcGFnZSBmb3IgdGhlIGNvbXBsZXRlIHNwZWNpZmljYXRpb24uXG4iCiAiICAgIFxuIgogIiAgICBGaWxlIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCkBAIC0zNDI0LDYgKzM0ODMsNyBAQAogIiAgICBPdGhlciBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgogIiAgICAgIC1vIE9QVElPTiAgICAgIFRydWUgaWYgdGhlIHNoZWxsIG9wdGlvbiBPUFRJT04gaXMgZW5hYmxlZC5cbiIKKyIgICAgICAtdiBWQVJcdCBUcnVlIGlmIHRoZSBzaGVsbCB2YXJpYWJsZSBWQVIgaXMgc2V0XG4iCiAiICAgICAgISBFWFBSICAgICAgICAgVHJ1ZSBpZiBleHByIGlzIGZhbHNlLlxuIgogIiAgICAgIEVYUFIxIC1hIEVYUFIyIFRydWUgaWYgYm90aCBleHByMSBBTkQgZXhwcjIgYXJlIHRydWUuXG4iCiAiICAgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS5cbiIKQEAgLTM0NDAsNyArMzUwMCw3IEBACiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTI5OQorIzogYnVpbHRpbnMuYzoxMzExCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzQ1Miw3ICszNTEyLDcgQEAKICIgICAgRGllc2VzIEtvbW1hbmRvIGVudHNwcmljaHQgZGVtIFwidGVzdFwiIEtvbW1hbmRvLCBhYmVyIGRhcyBsZXR6dGUgIgogIkFyZ3VtZW50IG11c3MgZWluIGBdJyBzZWluLiIKIAotIzogYnVpbHRpbnMuYzoxMzA4CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTM0NjQsNyArMzUyNCw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzIwCisjOiBidWlsdGlucy5jOjEzMzIKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzQ4MCw3ICszNTQwLDE1IEBACiAiICAgIFxuIgogIiAgICBJZiBhIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20gdGhlIHNoZWxsLiAgIgogIklmXG4iCi0iICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuICAiCisiSWZcbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBSRVRVUk4sIEFSRyBpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciAiCisiYVxuIgorIiAgICBzY3JpcHQgcnVuIGJ5IHRoZSAuIG9yIHNvdXJjZSBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuICBBICIKKyJTSUdOQUxfU1BFQ1xuIgorIiAgICBvZiBFUlIgbWVhbnMgdG8gZXhlY3V0ZSBBUkcgZWFjaCB0aW1lIGEgY29tbWFuZCdzIGZhaWx1cmUgd291bGQgY2F1c2UgIgorInRoZVxuIgorIiAgICBzaGVsbCB0byBleGl0IHdoZW4gdGhlIC1lIG9wdGlvbiBpcyBlbmFibGVkLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCwgdHJhcCBwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgIgogImFzc29jaWF0ZWRcbiIKQEAgLTM1MDAsNyArMzU2OCw3IEBACiAiZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM1MgorIzogYnVpbHRpbnMuYzoxMzY4CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTM1MzAsNyArMzU5OCw3IEBACiAiZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MworIzogYnVpbHRpbnMuYzoxMzk5CiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtMzU3NCw3ICszNjQyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQyOAorIzogYnVpbHRpbnMuYzoxNDQ0CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTM1OTIsNyArMzY2MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NDgKKyM6IGJ1aWx0aW5zLmM6MTQ2NAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM2MDksNyArMzY3Nyw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NjYKKyM6IGJ1aWx0aW5zLmM6MTQ4MgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zNjIzLDcgKzM2OTEsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDgxCisjOiBidWlsdGlucy5jOjE0OTcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTM2MzYsNyArMzcwNCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0OTUKKyM6IGJ1aWx0aW5zLmM6MTUxMQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTM2NTMsNyArMzcyMSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MTMKKyM6IGJ1aWx0aW5zLmM6MTUyOQogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzY3Myw3ICszNzQxLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUzNAorIzogYnVpbHRpbnMuYzoxNTUwCiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2ODksNyArMzc1Nyw3IEBACiAiICAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSByZXR1cm4gc3RhdHVzIG9mIFBJUEVMSU5FLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NTEKKyM6IGJ1aWx0aW5zLmM6MTU2NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCiAiICAgIFxuIgpAQCAtMzcwMCw3ICszNzY4LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MworIzogYnVpbHRpbnMuYzoxNTc5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtMzcyMSw3ICszNzg5LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU4MAorIzogYnVpbHRpbnMuYzoxNTk2CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtMzczMiw3ICszODAwLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU5MgorIzogYnVpbHRpbnMuYzoxNjA4CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKICIgICAgXG4iCkBAIC0zNzQzLDcgKzM4MTEsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjA0CisjOiBidWlsdGlucy5jOjE2MjAKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtMzc1Niw3ICszODI0LDcgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjE4CisjOiBidWlsdGlucy5jOjE2MzQKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM3NzAsNyArMzgzOCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCisjOiBidWlsdGlucy5jOjE2NDgKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTM3ODEsNyArMzg0OSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NDQKKyM6IGJ1aWx0aW5zLmM6MTY2MAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzc5NSw3ICszODYzLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSByZXN1bWVkIGpvYi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjU5CisjOiBidWlsdGlucy5jOjE2NzUKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTM4MDYsNyArMzg3NCw3IEBACiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NzEKKyM6IGJ1aWx0aW5zLmM6MTY4NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzgzNCw3ICszOTAyLDcgQEAKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2OTcKKyM6IGJ1aWx0aW5zLmM6MTcxMwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTM4ODgsNyArMzk1Niw3IEBACiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3NTQKKyM6IGJ1aWx0aW5zLmM6MTc3MAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzkxOSw3ICszOTg3LDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3ODgKKyM6IGJ1aWx0aW5zLmM6MTgwNAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zOTQ3LDcgKzQwMTUsNyBAQAogbXNnc3RyICIiCiAKICMgZGlycwotIzogYnVpbHRpbnMuYzoxODE4CisjOiBidWlsdGlucy5jOjE4MzQKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzk3Niw3ICs0MDQ0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NworIzogYnVpbHRpbnMuYzoxODYzCiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zOTk3LDcgKzQwNjUsNyBAQAogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC00MDIwLDYgKzQwODgsOSBAQAogIiAgICBcbiIKICIgICAgICAlYlx0ZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50XG4iCiAiICAgICAgJXFcdHF1b3RlIHRoZSBhcmd1bWVudCBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXRcbiIKKyIgICAgICAlKGZtdClUIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcgZnJvbSB1c2luZyBGTVQgYXMgYSAiCisiZm9ybWF0XG4iCisiICAgICAgICAgICAgc3RyaW5nIGZvciBzdHJmdGltZSgzKVxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSB3cml0ZSBvciAiCkBAIC00MDI3LDcgKzQwOTgsNyBAQAogIiAgICBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg5NQorIzogYnVpbHRpbnMuYzoxOTEzCiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTQwNTQsNyArNDEyNSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MjMKKyM6IGJ1aWx0aW5zLmM6MTk0MQogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC00MDY3LDEzICs0MTM4LDEzIEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MzgKKyM6IGJ1aWx0aW5zLmM6MTk1NgogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC00MDk4LDcgKzQxNjksNyBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKQEAgLTQxMjYsNyArNDE5Nyw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtNDEzOCw3ICs0MjEwLDcgQEAKICIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCmRpZmYgLS1naXQgYS9wby9lbkBib2xkcXVvdC5nbW8gYi9wby9lbkBib2xkcXVvdC5nbW8KaW5kZXggNDE4Y2U5Yi4uZDg4MTNmOCAxMDA2NDQKLS0tIGEvcG8vZW5AYm9sZHF1b3QuZ21vCisrKyBiL3BvL2VuQGJvbGRxdW90LmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9lbkBib2xkcXVvdC5wbyBiL3BvL2VuQGJvbGRxdW90LnBvCmluZGV4IGM1YjE0NjEuLjlmZDI3YTAgMTAwNjQ0Ci0tLSBhL3BvL2VuQGJvbGRxdW90LnBvCisrKyBiL3BvL2VuQGJvbGRxdW90LnBvCkBAIC0xLDcgKzEsNyBAQAogIyBFbmdsaXNoIHRyYW5zbGF0aW9ucyBmb3IgR05VIGJhc2ggcGFja2FnZS4KLSMgQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBHTlUgYmFzaCBwYWNrYWdlLgotIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCwgMjAwOS4KKyMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQsIDIwMTEuCiAjCiAjIEFsbCB0aGlzIGNhdGFsb2cgInRyYW5zbGF0ZXMiIGFyZSBxdW90YXRpb24gY2hhcmFjdGVycy4KICMgVGhlIG1zZ2lkcyBtdXN0IGJlIEFTQ0lJIGFuZCB0aGVyZWZvcmUgY2Fubm90IGNvbnRhaW4gcmVhbCBxdW90YXRpb24KQEAgLTMwLDEwICszMCwxMCBAQAogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogR05VIGJhc2ggNC4xLXJlbGVhc2VcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSBiYXNoIDQuMi1yZWxlYXNlXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0wMS0yOCAyMjowOS0wNTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMS0wMS0yOCAyMjowOS0wNTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZFxuIgogIkxhbmd1YWdlLVRlYW06IG5vbmVcbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgpAQCAtNDUsNyArNDUsNyBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgImJhZCBhcnJheSBzdWJzY3JpcHQiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgpAQCAtNjUsMjYgKzY1LDI2IEBACiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogCi0jOiBiYXNoaGlzdC5jOjM4MworIzogYmFzaGhpc3QuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQ1NworIzogYmFzaGxpbmUuYzozNDk4CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiAKLSM6IGJhc2hsaW5lLmM6MzU0MworIzogYmFzaGxpbmUuYzozNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IOKAmBtbMW1cIhtbMG3igJkiCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAibm8gY2xvc2luZyDigJgbWzFtJWMbWzBt4oCZIGluICVzIgogCi0jOiBiYXNobGluZS5jOjM2MDYKKyM6IGJhc2hsaW5lLmM6MzY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKQEAgLTE0NiwzMyArMTQ2LDExIEBACiAiICAgIFxuIgogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQotbXNnaWQgIiIKLSIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKLSIgICAgIgotbXNnc3RyICIiCi0iLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCi0iICAgICIKLQotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKLW1zZ2lkICIiCi0iOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCi0iICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKLSIgICAgXG4iCi0iICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKLSIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCi1tc2dzdHIgIiIKLSI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKLSIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgotIiAgICBcbiIKLSIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgotIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKLQotIzogYnVpbHRpbnMvY2QuZGVmOjIxNQorIzogYnVpbHRpbnMvY2QuZGVmOjIzNQogbXNnaWQgIkhPTUUgbm90IHNldCIKIG1zZ3N0ciAiSE9NRSBub3Qgc2V0IgogCi0jOiBidWlsdGlucy9jZC5kZWY6MjI3CisjOiBidWlsdGlucy9jZC5kZWY6MjQ3CiBtc2dpZCAiT0xEUFdEIG5vdCBzZXQiCiBtc2dzdHIgIk9MRFBXRCBub3Qgc2V0IgogCkBAIC0xOTEsMTEgKzE2OSwxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIlczogdXNhZ2U6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJ0b28gbWFueSBhcmd1bWVudHMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NTAwIHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCkBAIC0yMzMsNyArMjExLDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgImludmFsaWQgaGV4IG51bWJlciIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAiaW52YWxpZCBudW1iZXIiCiAKQEAgLTM0MiwyNSArMzIwLDI1IEBACiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjQKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjYKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgImNhbm5vdCB1c2Ug4oCYG1sxbS1mG1swbeKAmSB0byBtYWtlIGZ1bmN0aW9ucyIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgpAQCAtMzg5LDI5ICszNjcsMjkgQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAotIzogc2hlbGwuYzoxNDUyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNSBidWlsdGlucy9oYXNoLmRlZjoxNzEgZXhlY3V0ZV9jbWQuYzo0OTYxCisjOiBzaGVsbC5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogaXMgYSBkaXJlY3RvcnkiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlczogbm90IGEgcmVndWxhciBmaWxlIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0NworIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAotIzogc2hlbGwuYzoxNDYyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4MiBidWlsdGlucy9ldmFsZmlsZS5jOjIwMCBleGVjdXRlX2NtZC5jOjUwMzIKKyM6IHNoZWxsLmM6MTQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIAotIzogYnVpbHRpbnMvZXhlYy5kZWY6MjEyCisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgogbXNnc3RyICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgpAQCAtNDM5LDExICs0MTcsMTEgQEAKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJubyBjb21tYW5kIGZvdW5kIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQ5CisjOiBidWlsdGlucy9mYy5kZWY6MzEyIGJ1aWx0aW5zL2ZjLmRlZjozNTkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM3MAorIzogYnVpbHRpbnMvZmMuZGVmOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCkBAIC00NzYsNyArNDU0LDcgQEAKIG1zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgogbXNnc3RyICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgogCi0jOiBidWlsdGlucy9oYXNoLmRlZjoyNDQKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJoaXRzXHRjb21tYW5kXG4iCiBtc2dzdHIgImhpdHNcdGNvbW1hbmRcbiIKQEAgLTU0NCw3NiArNTIyLDg2IEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGgg4oCYG1sxbS14G1swbeKAmSIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCisjOiBidWlsdGlucy9raWxsLmRlZjoxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjEKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICJVbmtub3duIGVycm9yIgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJleHByZXNzaW9uIGV4cGVjdGVkIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU2IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NCBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjczIGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzMKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM1NAogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAmBtbMW0lcxtbMG3igJk6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgdGltZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAi4oCYG1sxbSVjG1swbeKAmTogaW52YWxpZCB0aW1lIGZvcm1hdCBzcGVjaWZpY2F0aW9uIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAmBtbMW0lYxtbMG3igJk6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAid2FybmluZzogJXM6ICVzIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NDAKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogCisjOiBidWlsdGlucy9wcmludGYuZGVmOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIHVuaWNvZGUgZGlnaXQgZm9yIFxcJWMiCittc2dzdHIgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKKwogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQogbXNnaWQgIm5vIG90aGVyIGRpcmVjdG9yeSIKIG1zZ3N0ciAibm8gb3RoZXIgZGlyZWN0b3J5IgpAQCAtNzc1LDIxICs3NjMsMjEgQEAKIG1zZ2lkICJjYW4gb25seSBgcmV0dXJuJyBmcm9tIGEgZnVuY3Rpb24gb3Igc291cmNlZCBzY3JpcHQiCiBtc2dzdHIgImNhbiBvbmx5IOKAmBtbMW1yZXR1cm4bWzBt4oCZIGZyb20gYSBmdW5jdGlvbiBvciBzb3VyY2VkIHNjcmlwdCIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo3NjgKKyM6IGJ1aWx0aW5zL3NldC5kZWY6NzcxCiBtc2dpZCAiY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUiCiBtc2dzdHIgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgwNQorIzogYnVpbHRpbnMvc2V0LmRlZjo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiJXM6IGNhbm5vdCB1bnNldCIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MTIKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgogbXNnc3RyICIlczogY2Fubm90IHVuc2V0OiByZWFkb25seSAlcyIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MjMKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCkBAIC04MDMsMjAgKzc5MSwyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJzaGlmdCBjb3VudCIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2NAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiBtc2dzdHIgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjEyOAorIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKIG1zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKIG1zZ3N0ciAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiAKLSM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTUzCisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBmaWxlIG5vdCBmb3VuZCIKQEAgLTg1OSwyNiArODQ3LDI2IEBACiBtc2dpZCAiJXMgaXMgaGFzaGVkICglcylcbiIKIG1zZ3N0ciAiJXMgaXMgaGFzaGVkICglcylcbiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzIKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbWl0IGFyZ3VtZW50IgogbXNnc3RyICIlczogaW52YWxpZCBsaW1pdCBhcmd1bWVudCIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozOTgKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGJhZCBjb21tYW5kIgogbXNnc3RyICLigJgbWzFtJWMbWzBt4oCZOiBiYWQgY29tbWFuZCIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBnZXQgbGltaXQ6ICVzIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQ1MworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTcKIG1zZ2lkICJsaW1pdCIKIG1zZ3N0ciAibGltaXQiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY1IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY1CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ2OSBidWlsdGlucy91bGltaXQuZGVmOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKQEAgLTkzNCwxMDUgKzkyMiwxMTAgQEAKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTcKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiVElNRUZPUk1BVDog4oCYG1sxbSVjG1swbeKAmTogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwNzUKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgInBpcGUgZXJyb3IiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDQ4MQorIzogZXhlY3V0ZV9jbWQuYzo0NjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IOKAmBtbMW0vG1swbeKAmSBpbiBjb21tYW5kIG5hbWVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ1NzIKKyM6IGV4ZWN1dGVfY21kLmM6NDczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODI3CisjOiBleGVjdXRlX2NtZC5jOjQ5NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIgorbXNnc3RyICIlczogJXMiCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3NgorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiAKLSM6IGV4cHIuYzoyNDEKKyM6IGV4cHIuYzoyNTYKIG1zZ2lkICJleHByZXNzaW9uIHJlY3Vyc2lvbiBsZXZlbCBleGNlZWRlZCIKIG1zZ3N0ciAiZXhwcmVzc2lvbiByZWN1cnNpb24gbGV2ZWwgZXhjZWVkZWQiCiAKLSM6IGV4cHIuYzoyNjUKKyM6IGV4cHIuYzoyODAKIG1zZ2lkICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgogbXNnc3RyICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgogCi0jOiBleHByLmM6Mzc5CisjOiBleHByLmM6NDIyCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGV4cHJlc3Npb24iCiBtc2dzdHIgInN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIgogCi0jOiBleHByLmM6NDE5CisjOiBleHByLmM6NDYzCiBtc2dpZCAiYXR0ZW1wdGVkIGFzc2lnbm1lbnQgdG8gbm9uLXZhcmlhYmxlIgogbXNnc3RyICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiAKLSM6IGV4cHIuYzo0NDAgZXhwci5jOjQ0NSBleHByLmM6NzU2CisjOiBleHByLmM6NDg2IGV4cHIuYzo0OTEgZXhwci5jOjgwNwogbXNnaWQgImRpdmlzaW9uIGJ5IDAiCiBtc2dzdHIgImRpdmlzaW9uIGJ5IDAiCiAKLSM6IGV4cHIuYzo0NzEKKyM6IGV4cHIuYzo1MTcKIG1zZ2lkICJidWc6IGJhZCBleHBhc3NpZ24gdG9rZW4iCiBtc2dzdHIgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKIAotIzogZXhwci5jOjUxMworIzogZXhwci5jOjU2NAogbXNnaWQgImA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAi4oCYG1sxbTobWzBt4oCZIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgogCi0jOiBleHByLmM6NzgxCisjOiBleHByLmM6ODMyCiBtc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCiBtc2dzdHIgImV4cG9uZW50IGxlc3MgdGhhbiAwIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgogCi0jOiBleHByLmM6ODU0CisjOiBleHByLmM6OTEwCiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgIm1pc3Npbmcg4oCYG1sxbSkbWzBt4oCZIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CisjOiBleHByLmM6OTU5IGV4cHIuYzoxMjgyCiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiAKLSM6IGV4cHIuYzoxMTc4CisjOiBleHByLmM6MTI4NAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIAotIzogZXhwci5jOjEyMDIKKyM6IGV4cHIuYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIOKAnBtbMW0lcxtbMG3igJ0pIgogCi0jOiBleHByLmM6MTI2MAorIzogZXhwci5jOjEzNjYKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiAKLSM6IGV4cHIuYzoxMjgwCisjOiBleHByLmM6MTM4NgogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgogCi0jOiBleHByLmM6MTMyOQorIzogZXhwci5jOjE0MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKQEAgLTEwNDEsMTYzICsxMDM0LDE2MyBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NTA4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiAKLSM6IGlucHV0LmM6MjU4CisjOiBpbnB1dC5jOjI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYWxsb2NhdGUgbmV3IGZpbGUgZGVzY3JpcHRvciBmb3IgYmFzaCBpbnB1dCBmcm9tIGZkICVkIgogbXNnc3RyICJjYW5ub3QgYWxsb2NhdGUgbmV3IGZpbGUgZGVzY3JpcHRvciBmb3IgYmFzaCBpbnB1dCBmcm9tIGZkICVkIgogCi0jOiBpbnB1dC5jOjI2NgorIzogaW5wdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2F2ZV9iYXNoX2lucHV0OiBidWZmZXIgYWxyZWFkeSBleGlzdHMgZm9yIG5ldyBmZCAlZCIKIG1zZ3N0ciAic2F2ZV9iYXNoX2lucHV0OiBidWZmZXIgYWxyZWFkeSBleGlzdHMgZm9yIG5ldyBmZCAlZCIKIAotIzogam9icy5jOjQ2NgorIzogam9icy5jOjQ2OAogbXNnaWQgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCiBtc2dzdHIgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCiAKLSM6IGpvYnMuYzo4ODcKKyM6IGpvYnMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ya2VkIHBpZCAlZCBhcHBlYXJzIGluIHJ1bm5pbmcgam9iICVkIgogbXNnc3RyICJmb3JrZWQgcGlkICVkIGFwcGVhcnMgaW4gcnVubmluZyBqb2IgJWQiCiAKLSM6IGpvYnMuYzoxMDA1CisjOiBqb2JzLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyBzdG9wcGVkIGpvYiAlZCB3aXRoIHByb2Nlc3MgZ3JvdXAgJWxkIgogbXNnc3RyICJkZWxldGluZyBzdG9wcGVkIGpvYiAlZCB3aXRoIHByb2Nlc3MgZ3JvdXAgJWxkIgogCi0jOiBqb2JzLmM6MTExMAorIzogam9icy5jOjExMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKIG1zZ3N0ciAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKIAotIzogam9icy5jOjExMTMKKyM6IGpvYnMuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIG1hcmtlZCBhcyBzdGlsbCBhbGl2ZSIKIG1zZ3N0ciAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgogCi0jOiBqb2JzLmM6MTQwMQorIzogam9icy5jOjE0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkIgogbXNnc3RyICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCiAKLSM6IGpvYnMuYzoxNDE2CisjOiBqb2JzLmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJTaWduYWwgJWQiCiBtc2dzdHIgIlNpZ25hbCAlZCIKIAotIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0CiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiRG9uZSIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMworIzogam9icy5jOjE0NjQgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIlN0b3BwZWQiCiAKLSM6IGpvYnMuYzoxNDM5CisjOiBqb2JzLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKIG1zZ3N0ciAiU3RvcHBlZCglcykiCiAKLSM6IGpvYnMuYzoxNDQzCisjOiBqb2JzLmM6MTQ3MgogbXNnaWQgIlJ1bm5pbmciCiBtc2dzdHIgIlJ1bm5pbmciCiAKLSM6IGpvYnMuYzoxNDU3CisjOiBqb2JzLmM6MTQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb25lKCVkKSIKIG1zZ3N0ciAiRG9uZSglZCkiCiAKLSM6IGpvYnMuYzoxNDU5CisjOiBqb2JzLmM6MTQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeGl0ICVkIgogbXNnc3RyICJFeGl0ICVkIgogCi0jOiBqb2JzLmM6MTQ2MgorIzogam9icy5jOjE0OTEKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKIG1zZ3N0ciAiVW5rbm93biBzdGF0dXMiCiAKLSM6IGpvYnMuYzoxNTQ5CisjOiBqb2JzLmM6MTU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIoY29yZSBkdW1wZWQpICIKIG1zZ3N0ciAiKGNvcmUgZHVtcGVkKSAiCiAKLSM6IGpvYnMuYzoxNTY4CisjOiBqb2JzLmM6MTU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh3ZDogJXMpIgogbXNnc3RyICIgICh3ZDogJXMpIgogCi0jOiBqb2JzLmM6MTc3NgorIzogam9icy5jOjE4MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogCi0jOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTMzIG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIAotIzogam9icy5jOjIzMzEKKyM6IGpvYnMuYzoyMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIG1zZ3N0ciAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIAotIzogam9icy5jOjI4MzgKKyM6IGpvYnMuYzoyODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIAotIzogam9icy5jOjMwNTkKKyM6IGpvYnMuYzozMDg5CiBtc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgogbXNnc3RyICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCiAKLSM6IGpvYnMuYzozNTA4CisjOiBqb2JzLmM6MzUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlczogbGluZSAlZDogIgogCi0jOiBqb2JzLmM6MzUyMiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTUyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIChjb3JlIGR1bXBlZCkiCiAKLSM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CisjOiBqb2JzLmM6MzU2NCBqb2JzLmM6MzU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiKHdkIG5vdzogJXMpXG4iCiAKLSM6IGpvYnMuYzozNTc5CisjOiBqb2JzLmM6MzYwOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIAotIzogam9icy5jOjM2MzkKKyM6IGpvYnMuYzozNjY5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiAKLSM6IGpvYnMuYzozNjQ5CisjOiBqb2JzLmM6MzY3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiAKLSM6IGpvYnMuYzozNjc3CisjOiBqb2JzLmM6MzcwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiAKLSM6IGpvYnMuYzozNjgyCisjOiBqb2JzLmM6MzcxMgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiAKQEAgLTEzNTAsOTkgKzEzNDMsOTkgQEAKIG1zZ2lkICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiBgJWQnIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24g4oCYG1sxbSVkG1swbeKAmSBvdXQgb2YgcmFuZ2UiCiAKLSM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcg4oCYG1sxbSVjG1swbeKAmSIKIAotIzogcGFyc2UueTozOTUxCisjOiBwYXJzZS55OjQwMjUKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciDigJgbWzFtXV0bWzBt4oCZIgogCi0jOiBwYXJzZS55OjM5NTYKKyM6IHBhcnNlLnk6NDAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiDigJgbWzFtJXMbWzBt4oCZIgogCi0jOiBwYXJzZS55OjM5NjAKKyM6IHBhcnNlLnk6NDAzNAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIAotIzogcGFyc2UueTo0MDM4CisjOiBwYXJzZS55OjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgInVuZXhwZWN0ZWQgdG9rZW4g4oCYG1sxbSVzG1swbeKAmSwgZXhwZWN0ZWQg4oCYG1sxbSkbWzBt4oCZIgogCi0jOiBwYXJzZS55OjQwNDIKKyM6IHBhcnNlLnk6NDExNgogbXNnaWQgImV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiZXhwZWN0ZWQg4oCYG1sxbSkbWzBt4oCZIgogCi0jOiBwYXJzZS55OjQwNzAKKyM6IHBhcnNlLnk6NDE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgInVuZXhwZWN0ZWQgYXJndW1lbnQg4oCYG1sxbSVzG1swbeKAmSB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIAotIzogcGFyc2UueTo0MDc0CisjOiBwYXJzZS55OjQxNDgKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogCi0jOiBwYXJzZS55OjQxMjAKKyM6IHBhcnNlLnk6NDE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAidW5leHBlY3RlZCB0b2tlbiDigJgbWzFtJXMbWzBt4oCZLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiAKLSM6IHBhcnNlLnk6NDEyNAorIzogcGFyc2UueTo0MTk4CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgInVuZXhwZWN0ZWQgYXJndW1lbnQg4oCYG1sxbSVzG1swbeKAmSB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiAKLSM6IHBhcnNlLnk6NDE1MAorIzogcGFyc2UueTo0MjI0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogCi0jOiBwYXJzZS55OjQxNjEKKyM6IHBhcnNlLnk6NDIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAidW5leHBlY3RlZCB0b2tlbiDigJgbWzFtJWMbWzBt4oCZIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiAKLSM6IHBhcnNlLnk6NDE2NAorIzogcGFyc2UueTo0MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJ1bmV4cGVjdGVkIHRva2VuIOKAmBtbMW0lcxtbMG3igJkgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIAotIzogcGFyc2UueTo0MTY4CisjOiBwYXJzZS55OjQyNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiAKLSM6IHBhcnNlLnk6NTQ1OQorIzogcGFyc2UueTo1NTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiDigJgbWzFtJXMbWzBt4oCZIgogCi0jOiBwYXJzZS55OjU0NzcKKyM6IHBhcnNlLnk6NTU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICJzeW50YXggZXJyb3IgbmVhciDigJgbWzFtJXMbWzBt4oCZIgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAic3ludGF4IGVycm9yIgogCi0jOiBwYXJzZS55OjU1NDkKKyM6IHBhcnNlLnk6NTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIG1zZ3N0ciAiVXNlIOKAnBtbMW0lcxtbMG3igJ0gdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogCi0jOiBwYXJzZS55OjU3MTEKKyM6IHBhcnNlLnk6NTgxOAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcg4oCYG1sxbSkbWzBt4oCZIgogCkBAIC0xNDUxLDc3ICsxNDQ0LDc3IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgImNvbXBsZXRpb246IGZ1bmN0aW9uIOKAmBtbMW0lcxtbMG3igJkgbm90IGZvdW5kIgogCi0jOiBwY29tcGxpYi5jOjE3OQorIzogcGNvbXBsaWIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIAotIzogcHJpbnRfY21kLmM6MjkwCisjOiBwcmludF9jbWQuYzoyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIOKAmBtbMW0lZBtbMG3igJkiCiAKLSM6IHByaW50X2NtZC5jOjM2MworIzogcHJpbnRfY21kLmM6MzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgogCi0jOiBwcmludF9jbWQuYzozNjgKKyM6IHByaW50X2NtZC5jOjM3MwogbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgogbXNnc3RyICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKIAotIzogcHJpbnRfY21kLmM6MzcyCisjOiBwcmludF9jbWQuYzozNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgogbXNnc3RyICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCiAKLSM6IHByaW50X2NtZC5jOjE0NjEKKyM6IHByaW50X2NtZC5jOjE0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJjcHJpbnRmOiDigJgbWzFtJWMbWzBt4oCZOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiAKLSM6IHJlZGlyLmM6MTEwCisjOiByZWRpci5jOjEyMgogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiAKLSM6IHJlZGlyLmM6MTY2CisjOiByZWRpci5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIAotIzogcmVkaXIuYzoxNzUKKyM6IHJlZGlyLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogCi0jOiByZWRpci5jOjE4NAorIzogcmVkaXIuYzoxOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgogCi0jOiByZWRpci5jOjU0NAorIzogcmVkaXIuYzo1NDgKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIAotIzogcmVkaXIuYzoxMTAxCisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIAotIzogc2hlbGwuYzozMzYKKyM6IHNoZWxsLmM6MzM3CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogCkBAIC0xNTMwLDE2ICsxNTIzLDE2IEBACiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogCi0jOiBzaGVsbC5jOjE2NTEKKyM6IHNoZWxsLmM6MTY1MgogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiSSBoYXZlIG5vIG5hbWUhIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIAotIzogc2hlbGwuYzoxNzk0CisjOiBzaGVsbC5jOjE3OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNTQ4LDQyICsxNTQxLDQyIEBACiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKICJcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIHNjcmlwdC1maWxlIC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3OTYKKyM6IHNoZWxsLmM6MTc5OAogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiU2hlbGwgb3B0aW9uczpcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MDMKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIAotIzogc2hlbGwuYzoxODE2CisjOiBzaGVsbC5jOjE4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogCi0jOiBzaGVsbC5jOjE4MjIKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKICJUeXBlIOKAmBtbMW0lcyAtYyDigJwbWzFtaGVscCBzZXQbWzBt4oCdG1swbeKAmSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCAiCiAib3B0aW9ucy5cbiIKIAotIzogc2hlbGwuYzoxODIzCisjOiBzaGVsbC5jOjE4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIlR5cGUg4oCYG1sxbSVzIC1jIGhlbHAbWzBt4oCZIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIlVzZSB0aGUg4oCYG1sxbWJhc2hidWcbWzBt4oCZIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiAKLSM6IHNpZy5jOjYyNgorIzogc2lnLmM6NjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCkBAIC0xNzU3LDcyICsxNzUwLDcyIEBACiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICJVbmtub3duIFNpZ25hbCAjJWQiCiAKLSM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE1MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIOKAmBtbMW0lcxtbMG3igJkgaW4gJXMiCiAKLSM6IHN1YnN0LmM6MjczNQorIzogc3Vic3QuYzoyNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIAotIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAorIzogc3Vic3QuYzo0OTc5IHN1YnN0LmM6NDk5NQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo0ODAyCisjOiBzdWJzdC5jOjUwMjcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo0ODQ3CisjOiBzdWJzdC5jOjUwNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIAotIzogc3Vic3QuYzo0ODQ5CisjOiBzdWJzdC5jOjUwNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIAotIzogc3Vic3QuYzo0ODY3CisjOiBzdWJzdC5jOjUwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiAKLSM6IHN1YnN0LmM6NTA2MworIzogc3Vic3QuYzo1Mjg0CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogCi0jOiBzdWJzdC5jOjUwOTcKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogCi0jOiBzdWJzdC5jOjUxMTQKKyM6IHN1YnN0LmM6NTMzOQogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiAKLSM6IHN1YnN0LmM6NTYxNworIzogc3Vic3QuYzo1ODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIAotIzogc3Vic3QuYzo1OTA3CisjOiBzdWJzdC5jOjYxMjUgc3Vic3QuYzo2MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiAKLSM6IHN1YnN0LmM6Njk2NQorIzogc3Vic3QuYzo3MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo3MDQ1CisjOiBzdWJzdC5jOjczNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCiAKLSM6IHN1YnN0LmM6NzM3NAorIzogc3Vic3QuYzo3Njg0CiBtc2dpZCAiIgogImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgogInN1YnN0aXR1dGlvbiIKQEAgLTE4MzAsMTIgKzE4MjMsMTIgQEAKICJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKICJzdWJzdGl0dXRpb24iCiAKLSM6IHN1YnN0LmM6NzgzOQorIzogc3Vic3QuYzo4MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3Npbmcg4oCcG1sxbWAbWzBt4oCdIGluICVzIgogCi0jOiBzdWJzdC5jOjg3MjAKKyM6IHN1YnN0LmM6OTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgIm5vIG1hdGNoOiAlcyIKQEAgLTE4NTgsMzcgKzE4NTEsMzcgQEAKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICLigJgbWzFtKRtbMG3igJkgZXhwZWN0ZWQsIGZvdW5kICVzIgogCi0jOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgorIzogdGVzdC5jOjI4MCB0ZXN0LmM6Njk4IHRlc3QuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiAKLSM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiAKLSM6IHRlc3QuYzo4MTEKKyM6IHRlc3QuYzo4MTYKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAibWlzc2luZyDigJgbWzFtXRtbMG3igJkiCiAKLSM6IHRyYXAuYzoyMDMKKyM6IHRyYXAuYzoyMDcKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgImludmFsaWQgc2lnbmFsIG51bWJlciIKIAotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogCi0jOiB0cmFwLmM6MzMxCisjOiB0cmFwLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKIAotIzogdHJhcC5jOjM4MAorIzogdHJhcC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKQEAgLTE4OTgsNTkgKzE4OTEsNTkgQEAKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIOKAmBtbMW0lcxtbMG3igJkiCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIAotIzogdmFyaWFibGVzLmM6MTkxNQorIzogdmFyaWFibGVzLmM6MTkzMgogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogCi0jOiB2YXJpYWJsZXMuYzozMTU5CisjOiB2YXJpYWJsZXMuYzozMTgyCiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNzYKKyM6IHZhcmlhYmxlcy5jOjM0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgogbXNnc3RyICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAorIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjMzOTYKKyM6IHZhcmlhYmxlcy5jOjM0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIm5vIOKAmBtbMW09G1swbeKAmSBpbiBleHBvcnRzdHIgZm9yICVzIgogCi0jOiB2YXJpYWJsZXMuYzozODM1CisjOiB2YXJpYWJsZXMuYzozODkxCiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiAKLSM6IHZhcmlhYmxlcy5jOjM4NDgKKyM6IHZhcmlhYmxlcy5jOjM5MDQKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiAKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2NzgKKyM6IHZhcmlhYmxlcy5jOjQ3ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgogbXNnc3RyICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2ODMKKyM6IHZhcmlhYmxlcy5jOjQ3OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCiBtc2dzdHIgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgogCiAjOiB2ZXJzaW9uLmM6NDYKLW1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgotbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dzdHIgIkNvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiAKICM6IHZlcnNpb24uYzo0NwogbXNnaWQgIiIKQEAgLTIwNDIsOCArMjAzNSw4IEBACiBtc2dzdHIgImNhbGxlciBbZXhwcl0iCiAKICM6IGJ1aWx0aW5zLmM6NjQKLW1zZ2lkICJjZCBbLUx8LVBdIFtkaXJdIgotbXNnc3RyICJjZCBbLUx8LVBdIFtkaXJdIgorbXNnaWQgImNkIFstTHxbLVAgWy1lXV1dIFtkaXJdIgorbXNnc3RyICJjZCBbLUx8Wy1QIFstZV1dXSBbZGlyXSIKIAogIzogYnVpbHRpbnMuYzo2NgogbXNnaWQgInB3ZCBbLUxQXSIKQEAgLTIwNjYsMTIgKzIwNTksMTIgQEAKIG1zZ3N0ciAiY29tbWFuZCBbLXBWdl0gY29tbWFuZCBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6NzYKLW1zZ2lkICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCi1tc2dzdHIgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKK21zZ2lkICJkZWNsYXJlIFstYUFmRmdpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgorbXNnc3RyICJkZWNsYXJlIFstYUFmRmdpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc4Ci1tc2dpZCAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKLW1zZ3N0ciAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKK21zZ3N0ciAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6ODAKIG1zZ2lkICJsb2NhbCBbb3B0aW9uXSBuYW1lWz12YWx1ZV0gLi4uIgpAQCAtMjE3MCw4ICsyMTYzLDggQEAKIG1zZ3N0ciAicmV0dXJuIFtuXSIKIAogIzogYnVpbHRpbnMuYzoxNDAKLW1zZ2lkICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dIgotbXNnc3RyICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dIgorbXNnaWQgInNldCBbLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFstLV0gW2FyZyAuLi5dIgorbXNnc3RyICJzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNDIKIG1zZ2lkICJ1bnNldCBbLWZdIFstdl0gW25hbWUgLi4uXSIKQEAgLTIxODIsOCArMjE3NSw4IEBACiBtc2dzdHIgImV4cG9ydCBbLWZuXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgZXhwb3J0IC1wIgogCiAjOiBidWlsdGlucy5jOjE0NgotbXNnaWQgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKLW1zZ3N0ciAicmVhZG9ubHkgWy1hZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgorbXNnaWQgInJlYWRvbmx5IFstYUFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCittc2dzdHIgInJlYWRvbmx5IFstYUFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4CiBtc2dpZCAic2hpZnQgW25dIgpAQCAtMjYwMSwxMSArMjU5NCwxNSBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIkNoYW5nZSB0aGUgc2hlbGwgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjYzMSwxNCArMjYyOCwxOCBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiDigJgbWzFtLUwbWzBt4oCZIHdlcmUgIgogInNwZWNpZmllZC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkOyBub24temVybyBvdGhlcndpc2UuIgorIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5ICIKKyJ3aGVuXG4iCisiICAgIC1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNjY2LDcgKzI2NjcsNyBAQAogIiAgICBSZXR1cm5zIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIHRoZSBjdXJyZW50IGRpcmVjdG9yeVxuIgogIiAgICBjYW5ub3QgYmUgcmVhZC4iCiAKLSM6IGJ1aWx0aW5zLmM6NDI4CisjOiBidWlsdGlucy5jOjQzMQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjY4Miw3ICsyNjgzLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiAKLSM6IGJ1aWx0aW5zLmM6NDM5CisjOiBidWlsdGlucy5jOjQ0MgogbXNnaWQgIiIKICJSZXR1cm4gYSBzdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNjk0LDcgKzI2OTUsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIAotIzogYnVpbHRpbnMuYzo0NDgKKyM6IGJ1aWx0aW5zLmM6NDUxCiBtc2dpZCAiIgogIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI3MDYsNyArMjcwNyw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBBbHdheXMgZmFpbHMuIgogCi0jOiBidWlsdGlucy5jOjQ1NworIzogYnVpbHRpbnMuYzo0NjAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjc0MSw3ICsyNzQyLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgQ09NTUFORCwgb3IgZmFpbHVyZSBpZiBDT01NQU5EIGlzIG5vdCBmb3VuZC4iCiAKLSM6IGJ1aWx0aW5zLmM6NDc2CisjOiBidWlsdGlucy5jOjQ3OQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI3NTIsNiArMjc1Myw4IEBACiAiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgogIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCiAiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCiAiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgogIiAgICBcbiIKICIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKQEAgLTI3NzEsNyArMjc3NCw3IEBACiAiICAgIFxuIgogIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiAiYGxvY2FsJ1xuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIGAtZycgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCkBAIC0yNzg1LDYgKzI3ODgsOCBAQAogIiAgICAgIC1mXHRyZXN0cmljdCBhY3Rpb24gb3IgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBhbmQgZGVmaW5pdGlvbnNcbiIKICIgICAgICAtRlx0cmVzdHJpY3QgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBvbmx5IChwbHVzIGxpbmUgbnVtYmVyIGFuZFxuIgogIiAgICBcdHNvdXJjZSBmaWxlIHdoZW4gZGVidWdnaW5nKVxuIgorIiAgICAgIC1nXHRjcmVhdGUgZ2xvYmFsIHZhcmlhYmxlcyB3aGVuIHVzZWQgaW4gYSBzaGVsbCBmdW5jdGlvbjsgb3RoZXJ3aXNlXG4iCisiICAgIFx0aWdub3JlZFxuIgogIiAgICAgIC1wXHRkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZSBvZiBlYWNoIE5BTUVcbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnMgd2hpY2ggc2V0IGF0dHJpYnV0ZXM6XG4iCkBAIC0yODA1LDEyICsyODEwLDEyIEBACiAiICAgIFxuIgogIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwg4oCYG1sxbWRlY2xhcmUbWzBt4oCZIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiAi4oCYG1sxbWxvY2FsG1swbeKAmVxuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIOKAmBtbMW0tZxtbMG3igJkgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6NTEyCisjOiBidWlsdGlucy5jOjUxNwogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI4MjAsNyArMjgyNSw3IEBACiAiICAgIFxuIgogIiAgICBPYnNvbGV0ZS4gIFNlZSDigJgbWzFtaGVscCBkZWNsYXJlG1swbeKAmS4iCiAKLSM6IGJ1aWx0aW5zLmM6NTIwCisjOiBidWlsdGlucy5jOjUyNQogbXNnaWQgIiIKICJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI4NDYsNyArMjg1MSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuIGVycm9yIG9jY3VycyxcbiIKICIgICAgb3IgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbi4iCiAKLSM6IGJ1aWx0aW5zLmM6NTM3CisjOiBidWlsdGlucy5jOjU0MgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yOTA0LDcgKzI5MDksNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6NTcxCisjOiBidWlsdGlucy5jOjU3NgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yOTI2LDcgKzI5MzEsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjk3Niw3ICsyOTgxLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgYSBzaGVsbCBidWlsdGluIG9yIGFuIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6NjE0CisjOiBidWlsdGlucy5jOjYxOQogbXNnaWQgIiIKICJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjk5Niw3ICszMDAxLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgY29tbWFuZCBvciBzdWNjZXNzIGlmIGNvbW1hbmQgaXMgbnVsbC4iCiAKLSM6IGJ1aWx0aW5zLmM6NjI2CisjOiBidWlsdGlucy5jOjYzMQogbXNnaWQgIiIKICJQYXJzZSBvcHRpb24gYXJndW1lbnRzLlxuIgogIiAgICBcbiIKQEAgLTMwNzcsNyArMzA4Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBhbiBvcHRpb24gaXMgZm91bmQ7IGZhaWxzIGlmIHRoZSBlbmQgb2Ygb3B0aW9ucyBpc1xuIgogIiAgICBlbmNvdW50ZXJlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zMTE5LDcgKzMxMjQsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIENPTU1BTkQgaXMgbm90IGZvdW5kIG9yIGEgcmVkaXJlY3Rpb24gZXJyb3IgIgogIm9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6Njg5CisjOiBidWlsdGlucy5jOjY5NAogbXNnaWQgIiIKICJFeGl0IHRoZSBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMTMxLDcgKzMxMzYsNyBAQAogIiAgICBFeGl0cyB0aGUgc2hlbGwgd2l0aCBhIHN0YXR1cyBvZiBOLiAgSWYgTiBpcyBvbWl0dGVkLCB0aGUgZXhpdCBzdGF0dXNcbiIKICIgICAgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzo2OTgKKyM6IGJ1aWx0aW5zLmM6NzAzCiBtc2dpZCAiIgogIkV4aXQgYSBsb2dpbiBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMTQ1LDcgKzMxNTAsNyBAQAogImV4ZWN1dGVkXG4iCiAiICAgIGluIGEgbG9naW4gc2hlbGwuIgogCi0jOiBidWlsdGlucy5jOjcwOAorIzogYnVpbHRpbnMuYzo3MTMKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBleGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zMjAzLDcgKzMyMDgsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3Mgb3Igc3RhdHVzIG9mIGV4ZWN1dGVkIGNvbW1hbmQ7IG5vbi16ZXJvIGlmIGFuIGVycm9yICIKICJvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjczOAorIzogYnVpbHRpbnMuYzo3NDMKIG1zZ2lkICIiCiAiTW92ZSBqb2IgdG8gdGhlIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzIyMyw3ICszMjI4LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFN0YXR1cyBvZiBjb21tYW5kIHBsYWNlZCBpbiBmb3JlZ3JvdW5kLCBvciBmYWlsdXJlIGlmIGFuIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogbXNnaWQgIiIKICJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzI0Nyw3ICszMjUyLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzI5MSw3ICszMjk2LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgZm91bmQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogCi0jOiBidWlsdGlucy5jOjc5MgorIzogYnVpbHRpbnMuYzo3OTcKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTMzMzEsNyArMzMzNiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgUEFUVEVSTiBpcyBub3QgZm91bmQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgIgogImdpdmVuLiIKIAotIzogYnVpbHRpbnMuYzo4MTYKKyM6IGJ1aWx0aW5zLmM6ODIxCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTMzOTYsNyArMzQwMSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6ODUyCisjOiBidWlsdGlucy5jOjg1NwogbXNnaWQgIiIKICJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgogIiAgICBcbiIKQEAgLTM0NDAsNyArMzQ0NSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLlxuIgogIiAgICBJZiAteCBpcyB1c2VkLCByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIAotIzogYnVpbHRpbnMuYzo4NzkKKyM6IGJ1aWx0aW5zLmM6ODg0CiBtc2dpZCAiIgogIlJlbW92ZSBqb2JzIGZyb20gY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zNDcwLDcgKzM0NzUsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBvciBKT0JTUEVDIGlzIGdpdmVuLiIKIAotIzogYnVpbHRpbnMuYzo4OTgKKyM6IGJ1aWx0aW5zLmM6OTAzCiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMzUxMCw3ICszNTE1LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzo5MjEKKyM6IGJ1aWx0aW5zLmM6OTI2CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzU1Miw3ICszNTU3LDcgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzU5NCw5ICszNTk5LDkgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIAotIzogYnVpbHRpbnMuYzo5NjYKKyM6IGJ1aWx0aW5zLmM6OTcxCiBtc2dpZCAiIgogIlJlYWQgYSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGFuZCBzcGxpdCBpdCBpbnRvIGZpZWxkcy5cbiIKICIgICAgXG4iCkBAIC0zNjg4LDcgKzM2OTMsNyBAQAogIm91dCxcbiIKICIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKIAotIzogYnVpbHRpbnMuYzoxMDA5CisjOiBidWlsdGlucy5jOjEwMTQKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNzA4LDcgKzM3MTMsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKIAotIzogYnVpbHRpbnMuYzoxMDIyCisjOiBidWlsdGlucy5jOjEwMjcKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzc3Nyw2ICszNzgyLDkgQEAKICIgICAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzXG4iCiAiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKICIgICAgICAtVCAgSWYgc2V0LCB0aGUgREVCVUcgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC0tICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgICAgICAgYXJlIHVuc2V0LlxuIgogIiAgICAgIC0gICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgogIiAgICBcbiIKQEAgLTM4NTYsNiArMzg2NCw5IEBACiAiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgogIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCiAiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKICIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKICIgICAgXG4iCkBAIC0zODY4LDcgKzM4NzksNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTEwNAorIzogYnVpbHRpbnMuYzoxMTEyCiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zOTA0LDcgKzM5MTUsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIAotIzogYnVpbHRpbnMuYzoxMTI0CisjOiBidWlsdGlucy5jOjExMzIKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zOTM4LDcgKzM5NDksNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzk3NCw3ICszOTg1LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIAotIzogYnVpbHRpbnMuYzoxMTY0CisjOiBidWlsdGlucy5jOjExNzIKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTM5OTIsNyArNDAwMyw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIAotIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQorIzogYnVpbHRpbnMuYzoxMTg0IGJ1aWx0aW5zLmM6MTE5OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTQwMTYsNyArNDAyNyw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIGluIEZJTEVOQU1FOyBmYWlscyBpZlxuIgogIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNworIzogYnVpbHRpbnMuYzoxMjE1CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQwNDAsMTQgKzQwNTEsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzoxMjIzCisjOiBidWlsdGlucy5jOjEyMzEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCiAiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgogIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCiAiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgotIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy5cbiIKKyIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMgYXMgd2VsbC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBiZWhhdmlvciBvZiB0ZXN0IGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHMuICBSZWFkIHRoZVxuIgorIiAgICBiYXNoIG1hbnVhbCBwYWdlIGZvciB0aGUgY29tcGxldGUgc3BlY2lmaWNhdGlvbi5cbiIKICIgICAgXG4iCiAiICAgIEZpbGUgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKQEAgLTQxMDEsNiArNDExNSw3IEBACiAiICAgIE90aGVyIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCiAiICAgICAgLW8gT1BUSU9OICAgICAgVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uIE9QVElPTiBpcyBlbmFibGVkLlxuIgorIiAgICAgIC12IFZBUlx0IFRydWUgaWYgdGhlIHNoZWxsIHZhcmlhYmxlIFZBUiBpcyBzZXRcbiIKICIgICAgICAhIEVYUFIgICAgICAgICBUcnVlIGlmIGV4cHIgaXMgZmFsc2UuXG4iCiAiICAgICAgRVhQUjEgLWEgRVhQUjIgVHJ1ZSBpZiBib3RoIGV4cHIxIEFORCBleHByMiBhcmUgdHJ1ZS5cbiIKICIgICAgICBFWFBSMSAtbyBFWFBSMiBUcnVlIGlmIGVpdGhlciBleHByMSBPUiBleHByMiBpcyB0cnVlLlxuIgpAQCAtNDEyMSw3ICs0MTM2LDEwIEBACiAiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgogIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCiAiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgotIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy5cbiIKKyIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMgYXMgd2VsbC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBiZWhhdmlvciBvZiB0ZXN0IGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHMuICBSZWFkIHRoZVxuIgorIiAgICBiYXNoIG1hbnVhbCBwYWdlIGZvciB0aGUgY29tcGxldGUgc3BlY2lmaWNhdGlvbi5cbiIKICIgICAgXG4iCiAiICAgIEZpbGUgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKQEAgLTQxNzUsNiArNDE5Myw3IEBACiAiICAgIE90aGVyIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCiAiICAgICAgLW8gT1BUSU9OICAgICAgVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uIE9QVElPTiBpcyBlbmFibGVkLlxuIgorIiAgICAgIC12IFZBUlx0IFRydWUgaWYgdGhlIHNoZWxsIHZhcmlhYmxlIFZBUiBpcyBzZXRcbiIKICIgICAgICAhIEVYUFIgICAgICAgICBUcnVlIGlmIGV4cHIgaXMgZmFsc2UuXG4iCiAiICAgICAgRVhQUjEgLWEgRVhQUjIgVHJ1ZSBpZiBib3RoIGV4cHIxIEFORCBleHByMiBhcmUgdHJ1ZS5cbiIKICIgICAgICBFWFBSMSAtbyBFWFBSMiBUcnVlIGlmIGVpdGhlciBleHByMSBPUiBleHByMiBpcyB0cnVlLlxuIgpAQCAtNDE5MCw3ICs0MjA5LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIGlmIEVYUFIgZXZhbHVhdGVzIHRvIHRydWU7IGZhaWxzIGlmIEVYUFIgZXZhbHVhdGVzIHRvXG4iCiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogCi0jOiBidWlsdGlucy5jOjEyOTkKKyM6IGJ1aWx0aW5zLmM6MTMxMQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQyMDMsNyArNDIyMiw3IEBACiAibXVzdFxuIgogIiAgICBiZSBhIGxpdGVyYWwg4oCYG1sxbV0bWzBt4oCZLCB0byBtYXRjaCB0aGUgb3BlbmluZyDigJgbWzFtWxtbMG3igJkuIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtNDIyMyw3ICs0MjQyLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMyMAorIzogYnVpbHRpbnMuYzoxMzMyCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTQyMzksNyArNDI1OCwxNSBAQAogIiAgICBcbiIKICIgICAgSWYgYSBTSUdOQUxfU1BFQyBpcyBFWElUICgwKSBBUkcgaXMgZXhlY3V0ZWQgb24gZXhpdCBmcm9tIHRoZSBzaGVsbC4gICIKICJJZlxuIgotIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLiAgIgorIklmXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgUkVUVVJOLCBBUkcgaXMgZXhlY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgIgorImFcbiIKKyIgICAgc2NyaXB0IHJ1biBieSB0aGUgLiBvciBzb3VyY2UgYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLiAgQSAiCisiU0lHTkFMX1NQRUNcbiIKKyIgICAgb2YgRVJSIG1lYW5zIHRvIGV4ZWN1dGUgQVJHIGVhY2ggdGltZSBhIGNvbW1hbmQncyBmYWlsdXJlIHdvdWxkIGNhdXNlICIKKyJ0aGVcbiIKKyIgICAgc2hlbGwgdG8gZXhpdCB3aGVuIHRoZSAtZSBvcHRpb24gaXMgZW5hYmxlZC5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQsIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzICIKICJhc3NvY2lhdGVkXG4iCkBAIC00MjczLDcgKzQzMDAsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtNDI5Miw3ICs0MzI3LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIFNJR1NQRUMgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyAiCiAiZ2l2ZW4uIgogCi0jOiBidWlsdGlucy5jOjEzNTIKKyM6IGJ1aWx0aW5zLmM6MTM2OAogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC00MzUwLDcgKzQzODUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgYWxsIG9mIHRoZSBOQU1FcyBhcmUgZm91bmQ7IGZhaWxzIGlmIGFueSBhcmUgbm90ICIKICJmb3VuZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MworIzogYnVpbHRpbnMuYzoxMzk5CiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtNDQzNSw3ICs0NDcwLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzoxNDI4CisjOiBidWlsdGlucy5jOjE0NDQKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtNDQ2Nyw3ICs0NTAyLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIAotIzogYnVpbHRpbnMuYzoxNDQ4CisjOiBidWlsdGlucy5jOjE0NjQKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00NDk3LDcgKzQ1MzIsNyBAQAogImlzXG4iCiAiICAgIGdpdmVuLiIKIAotIzogYnVpbHRpbnMuYzoxNDY2CisjOiBidWlsdGlucy5jOjE0ODIKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDUyMSw3ICs0NTU2LDcgQEAKICJpc1xuIgogIiAgICBnaXZlbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ4MQorIzogYnVpbHRpbnMuYzoxNDk3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC00NTQ1LDcgKzQ1ODAsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogCi0jOiBidWlsdGlucy5jOjE0OTUKKyM6IGJ1aWx0aW5zLmM6MTUxMQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTQ1NzUsNyArNDYxMCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMworIzogYnVpbHRpbnMuYzoxNTI5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC00NjEyLDcgKzQ2NDcsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogCi0jOiBidWlsdGlucy5jOjE1MzQKKyM6IGJ1aWx0aW5zLmM6MTU1MAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC00NjQwLDcgKzQ2NzUsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogCi0jOiBidWlsdGlucy5jOjE1NTEKKyM6IGJ1aWx0aW5zLmM6MTU2NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCiAiICAgIFxuIgpAQCAtNDY1OCw3ICs0NjkzLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzoxNTYzCisjOiBidWlsdGlucy5jOjE1NzkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC00Njk2LDcgKzQ3MzEsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogCi0jOiBidWlsdGlucy5jOjE1ODAKKyM6IGJ1aWx0aW5zLmM6MTU5NgogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgogIiAgICBcbiIKQEAgLTQ3MTQsNyArNDc0OSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU5MgorIzogYnVpbHRpbnMuYzoxNjA4CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKICIgICAgXG4iCkBAIC00NzMyLDcgKzQ3NjcsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogCi0jOiBidWlsdGlucy5jOjE2MDQKKyM6IGJ1aWx0aW5zLmM6MTYyMAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00NzU0LDcgKzQ3ODksNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00Nzc4LDcgKzQ4MTMsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCisjOiBidWlsdGlucy5jOjE2NDgKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTQ3OTYsNyArNDgzMSw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY0NAorIzogYnVpbHRpbnMuYzoxNjYwCiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC00ODIxLDcgKzQ4NTYsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSByZXN1bWVkIGpvYi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1OQorIzogYnVpbHRpbnMuYzoxNjc1CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00ODM5LDcgKzQ4NzQsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgogCi0jOiBidWlsdGlucy5jOjE2NzEKKyM6IGJ1aWx0aW5zLmM6MTY4NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtNDg5Myw3ICs0OTI4LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIDAgb3IgMSBkZXBlbmRpbmcgb24gdmFsdWUgb2YgRVhQUkVTU0lPTi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NworIzogYnVpbHRpbnMuYzoxNzEzCiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtNDk5Nyw3ICs1MDMyLDcgQEAKICIgICAgSElTVElHTk9SRVx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyB1c2VkIHRvIGRlY2lkZSB3aGljaFxuIgogIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc1NAorIzogYnVpbHRpbnMuYzoxNzcwCiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MDU1LDcgKzUwOTAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgYXJndW1lbnQgaXMgc3VwcGxpZWQgb3IgdGhlIGRpcmVjdG9yeVxuIgogIiAgICBjaGFuZ2UgZmFpbHMuIgogCi0jOiBidWlsdGlucy5jOjE3ODgKKyM6IGJ1aWx0aW5zLmM6MTgwNAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MTA3LDcgKzUxNDIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgYXJndW1lbnQgaXMgc3VwcGxpZWQgb3IgdGhlIGRpcmVjdG9yeVxuIgogIiAgICBjaGFuZ2UgZmFpbHMuIgogCi0jOiBidWlsdGlucy5jOjE4MTgKKyM6IGJ1aWx0aW5zLmM6MTgzNAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MTYyLDcgKzUxOTcsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjE4NDcKKyM6IGJ1aWx0aW5zLmM6MTg2MwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTIwMCw3ICs1MjM1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIGlmIE9QVE5BTUUgaXMgZW5hYmxlZDsgZmFpbHMgaWYgYW4gaW52YWxpZCBvcHRpb24gaXNcbiIKICIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg2OAorIzogYnVpbHRpbnMuYzoxODg0CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTUyMjMsNiArNTI1OCw5IEBACiAiICAgIFxuIgogIiAgICAgICViXHRleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYXJndW1lbnRcbiIKICIgICAgICAlcVx0cXVvdGUgdGhlIGFyZ3VtZW50IGluIGEgd2F5IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dFxuIgorIiAgICAgICUoZm10KVQgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nIEZNVCBhcyBhICIKKyJmb3JtYXRcbiIKKyIgICAgICAgICAgICBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIHdyaXRlIG9yICIKQEAgLTUyNTAsMTMgKzUyODgsMTYgQEAKICIgICAgXG4iCiAiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgogIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgogImFzc2lnbm1lbnRcbiIKICIgICAgZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzoxODk1CisjOiBidWlsdGlucy5jOjE5MTMKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtNTMwNiw3ICs1MzQ3LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzoxOTIzCisjOiBidWlsdGlucy5jOjE5NDEKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTMyOCwxMyArNTM2OSwxMyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjE5MzgKKyM6IGJ1aWx0aW5zLmM6MTk1NgogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC01MzYyLDcgKzU0MDMsNyBAQAogIiAgICBcbiIKICIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCiAic3VwcGxpZWQsXG4iCi0iICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWdpbiBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVubSwgIgorIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVpbmcgZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbiwgIgogInByaW50XG4iCiAiICAgIHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uICIKICJzcGVjaWZpY2F0aW9uLlxuIgpAQCAtNTM4Nyw3ICs1NDI4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBOQU1FIGRvZXMgbm90XG4iCiAiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKQEAgLTU0MTUsNyArNTQ1Niw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtNTQ1Miw3ICs1NDk0LDggQEAKICIgICAgXG4iCiAiICAgIElmIC1DIGlzIHN1cHBsaWVkIHdpdGhvdXQgLWMsIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4gIFdoZW5cbiIKICIgICAgQ0FMTEJBQ0sgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJyYXlcbiIKLSIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50LlxuIgorIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnRcbiIKKyIgICAgYXMgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgogIiAgICBJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiBleHBsaWNpdCBvcmlnaW4sIG1hcGZpbGUgd2lsbCBjbGVhciBBUlJBWSAiCiAiYmVmb3JlXG4iCkBAIC01NDYzLDcgKzU1MDYsNyBAQAogIm9yXG4iCiAiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIAotIzogYnVpbHRpbnMuYzoyMDAxCisjOiBidWlsdGlucy5jOjIwMjAKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKZGlmZiAtLWdpdCBhL3BvL2VuQHF1b3QuZ21vIGIvcG8vZW5AcXVvdC5nbW8KaW5kZXggZGZkOTNlYi4uNDZjYjJiYyAxMDA2NDQKLS0tIGEvcG8vZW5AcXVvdC5nbW8KKysrIGIvcG8vZW5AcXVvdC5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vZW5AcXVvdC5wbyBiL3BvL2VuQHF1b3QucG8KaW5kZXggNTU3ZDQwMC4uZWM0NmZiMSAxMDA2NDQKLS0tIGEvcG8vZW5AcXVvdC5wbworKysgYi9wby9lbkBxdW90LnBvCkBAIC0xLDcgKzEsNyBAQAogIyBFbmdsaXNoIHRyYW5zbGF0aW9ucyBmb3IgR05VIGJhc2ggcGFja2FnZS4KLSMgQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBHTlUgYmFzaCBwYWNrYWdlLgotIyBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCwgMjAwOS4KKyMgQXV0b21hdGljYWxseSBnZW5lcmF0ZWQsIDIwMTEuCiAjCiAjIEFsbCB0aGlzIGNhdGFsb2cgInRyYW5zbGF0ZXMiIGFyZSBxdW90YXRpb24gY2hhcmFjdGVycy4KICMgVGhlIG1zZ2lkcyBtdXN0IGJlIEFTQ0lJIGFuZCB0aGVyZWZvcmUgY2Fubm90IGNvbnRhaW4gcmVhbCBxdW90YXRpb24KQEAgLTI3LDEwICsyNywxMCBAQAogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogR05VIGJhc2ggNC4xLXJlbGVhc2VcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSBiYXNoIDQuMi1yZWxlYXNlXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0wMS0yOCAyMjowOS0wNTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMS0wMS0yOCAyMjowOS0wNTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZFxuIgogIkxhbmd1YWdlLVRlYW06IG5vbmVcbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgpAQCAtNDIsNyArNDIsNyBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgImJhZCBhcnJheSBzdWJzY3JpcHQiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgpAQCAtNjIsMjYgKzYyLDI2IEBACiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogCi0jOiBiYXNoaGlzdC5jOjM4MworIzogYmFzaGhpc3QuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQ1NworIzogYmFzaGxpbmUuYzozNDk4CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiAKLSM6IGJhc2hsaW5lLmM6MzU0MworIzogYmFzaGxpbmUuYzozNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IOKAmFwi4oCZIgogCi0jOiBiYXNobGluZS5jOjM1NzIKKyM6IGJhc2hsaW5lLmM6MzYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgIm5vIGNsb3Npbmcg4oCYJWPigJkgaW4gJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzYwNgorIzogYmFzaGxpbmUuYzozNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgpAQCAtMTQzLDMzICsxNDMsMTEgQEAKICIgICAgXG4iCiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiAKLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Ci1tc2dpZCAiIgotIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgotIiAgICAiCi1tc2dzdHIgIiIKLSIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKLSIgICAgIgotCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgotbXNnaWQgIiIKLSI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKLSIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgotIiAgICBcbiIKLSIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgotIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKLW1zZ3N0ciAiIgotIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgotIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCi0iICAgIFxuIgotIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCi0iICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgotCi0jOiBidWlsdGlucy9jZC5kZWY6MjE1CisjOiBidWlsdGlucy9jZC5kZWY6MjM1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICJIT01FIG5vdCBzZXQiCiAKLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMjcKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyNDcKIG1zZ2lkICJPTERQV0Qgbm90IHNldCIKIG1zZ3N0ciAiT0xEUFdEIG5vdCBzZXQiCiAKQEAgLTE4OCwxMSArMTY2LDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiB1c2FnZTogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNworIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MzIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgInRvbyBtYW55IGFyZ3VtZW50cyIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo1MDAgc2hlbGwuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKIG1zZ3N0ciAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKQEAgLTIzMCw3ICsyMDgsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAiaW52YWxpZCBoZXggbnVtYmVyIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTM2MgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJpbnZhbGlkIG51bWJlciIKIApAQCAtMzM5LDI1ICszMTcsMjUgQEAKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjIKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAiY2Fubm90IHVzZSDigJgtZuKAmSB0byBtYWtlIGZ1bmN0aW9ucyIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgpAQCAtMzg2LDI5ICszNjQsMjkgQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAotIzogc2hlbGwuYzoxNDUyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNSBidWlsdGlucy9oYXNoLmRlZjoxNzEgZXhlY3V0ZV9jbWQuYzo0OTYxCisjOiBzaGVsbC5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogaXMgYSBkaXJlY3RvcnkiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlczogbm90IGEgcmVndWxhciBmaWxlIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0NworIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAotIzogc2hlbGwuYzoxNDYyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4MiBidWlsdGlucy9ldmFsZmlsZS5jOjIwMCBleGVjdXRlX2NtZC5jOjUwMzIKKyM6IHNoZWxsLmM6MTQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIAotIzogYnVpbHRpbnMvZXhlYy5kZWY6MjEyCisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgogbXNnc3RyICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgpAQCAtNDM2LDExICs0MTQsMTEgQEAKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJubyBjb21tYW5kIGZvdW5kIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQ5CisjOiBidWlsdGlucy9mYy5kZWY6MzEyIGJ1aWx0aW5zL2ZjLmRlZjozNTkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM3MAorIzogYnVpbHRpbnMvZmMuZGVmOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCkBAIC00NzMsNyArNDUxLDcgQEAKIG1zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgogbXNnc3RyICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgogCi0jOiBidWlsdGlucy9oYXNoLmRlZjoyNDQKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJoaXRzXHRjb21tYW5kXG4iCiBtc2dzdHIgImhpdHNcdGNvbW1hbmRcbiIKQEAgLTUzOCw3NiArNTE2LDg2IEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGgg4oCYLXjigJkiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAorIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MworIzogYnVpbHRpbnMva2lsbC5kZWY6MjYxCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiVW5rbm93biBlcnJvciIKIAotIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTAxIGV4cHIuYzo1MTYKKyM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjU1MiBleHByLmM6NTY3CiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgogbXNnc3RyICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NiBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjQgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3MyBidWlsdGlucy9tYXBmaWxlLmRlZjozMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzMzCiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICLigJglc+KAmTogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVjJzogaW52YWxpZCB0aW1lIGZvcm1hdCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICLigJglY+KAmTogaW52YWxpZCB0aW1lIGZvcm1hdCBzcGVjaWZpY2F0aW9uIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAmCVj4oCZOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CisjOiBidWlsdGlucy9wcmludGYuZGVmOjY2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIndhcm5pbmc6ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyB1bmljb2RlIGRpZ2l0IGZvciBcXCVjIgorbXNnc3RyICJtaXNzaW5nIHVuaWNvZGUgZGlnaXQgZm9yIFxcJWMiCisKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjoxOTUKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCiBtc2dzdHIgIm5vIG90aGVyIGRpcmVjdG9yeSIKQEAgLTc2NiwyMSArNzU0LDIxIEBACiBtc2dpZCAiY2FuIG9ubHkgYHJldHVybicgZnJvbSBhIGZ1bmN0aW9uIG9yIHNvdXJjZWQgc2NyaXB0IgogbXNnc3RyICJjYW4gb25seSDigJhyZXR1cm7igJkgZnJvbSBhIGZ1bmN0aW9uIG9yIHNvdXJjZWQgc2NyaXB0IgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjc2OAorIzogYnVpbHRpbnMvc2V0LmRlZjo3NzEKIG1zZ2lkICJjYW5ub3Qgc2ltdWx0YW5lb3VzbHkgdW5zZXQgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSIKIG1zZ3N0ciAiY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1CisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0IgogbXNnc3RyICIlczogY2Fubm90IHVuc2V0IgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgxMgorIzogYnVpbHRpbnMvc2V0LmRlZjo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgJXMiCiBtc2dzdHIgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgyMworIzogYnVpbHRpbnMvc2V0LmRlZjo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKQEAgLTc5NCwyMCArNzgyLDIwIEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgInNoaWZ0IGNvdW50IgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjY0CiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIG1zZ3N0ciAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiAKLSM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTI4CisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjEzMAogbXNnaWQgImZpbGVuYW1lIGFyZ3VtZW50IHJlcXVpcmVkIgogbXNnc3RyICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGZpbGUgbm90IGZvdW5kIgpAQCAtODUwLDI2ICs4MzgsMjYgQEAKIG1zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgogbXNnc3RyICIlcyBpcyBoYXNoZWQgKCVzKVxuIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBpbnZhbGlkIGxpbWl0IGFyZ3VtZW50IgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogYmFkIGNvbW1hbmQiCiBtc2dzdHIgIuKAmCVj4oCZOiBiYWQgY29tbWFuZCIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBnZXQgbGltaXQ6ICVzIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQ1MworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTcKIG1zZ2lkICJsaW1pdCIKIG1zZ3N0ciAibGltaXQiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY1IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY1CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ2OSBidWlsdGlucy91bGltaXQuZGVmOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKQEAgLTkyNSwxMDUgKzkxMywxMTAgQEAKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTcKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiVElNRUZPUk1BVDog4oCYJWPigJk6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDc1CisjOiBleGVjdXRlX2NtZC5jOjIxMjEKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJwaXBlIGVycm9yIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0ODEKKyM6IGV4ZWN1dGVfY21kLmM6NDY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSDigJgv4oCZIGluIGNvbW1hbmQgbmFtZXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDU3MgorIzogZXhlY3V0ZV9jbWQuYzo0NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4MjcKKyM6IGV4ZWN1dGVfY21kLmM6NDk1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMiCittc2dzdHIgIiVzOiAlcyIKKworIzogZXhlY3V0ZV9jbWQuYzo0OTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTc2CisjOiBleGVjdXRlX2NtZC5jOjUxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICJleHByZXNzaW9uIHJlY3Vyc2lvbiBsZXZlbCBleGNlZWRlZCIKIAotIzogZXhwci5jOjI2NQorIzogZXhwci5jOjI4MAogbXNnaWQgInJlY3Vyc2lvbiBzdGFjayB1bmRlcmZsb3ciCiBtc2dzdHIgInJlY3Vyc2lvbiBzdGFjayB1bmRlcmZsb3ciCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKIG1zZ3N0ciAic3ludGF4IGVycm9yIGluIGV4cHJlc3Npb24iCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgImF0dGVtcHRlZCBhc3NpZ25tZW50IHRvIG5vbi12YXJpYWJsZSIKIAotIzogZXhwci5jOjQ0MCBleHByLmM6NDQ1IGV4cHIuYzo3NTYKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3CiBtc2dpZCAiZGl2aXNpb24gYnkgMCIKIG1zZ3N0ciAiZGl2aXNpb24gYnkgMCIKIAotIzogZXhwci5jOjQ3MQorIzogZXhwci5jOjUxNwogbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKIG1zZ3N0ciAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuIgogCi0jOiBleHByLmM6NTEzCisjOiBleHByLmM6NTY0CiBtc2dpZCAiYDonIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICLigJg64oCZIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgogCi0jOiBleHByLmM6NzgxCisjOiBleHByLmM6ODMyCiBtc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCiBtc2dzdHIgImV4cG9uZW50IGxlc3MgdGhhbiAwIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgogCi0jOiBleHByLmM6ODU0CisjOiBleHByLmM6OTEwCiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgIm1pc3Npbmcg4oCYKeKAmSIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgorIzogZXhwci5jOjk1OSBleHByLmM6MTI4MgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiAKLSM6IGV4cHIuYzoxMjAyCisjOiBleHByLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyDigJwlc+KAnSkiCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIAotIzogZXhwci5jOjEyODAKKyM6IGV4cHIuYzoxMzg2CiBtc2dpZCAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgogbXNnc3RyICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiAKLSM6IGV4cHIuYzoxMzI5CisjOiBleHByLmM6MTQzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgogbXNnc3RyICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgpAQCAtMTAzMiwxNjMgKzEwMjUsMTYzIEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIAotIzogaW5wdXQuYzoyNTgKKyM6IGlucHV0LmM6MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCiBtc2dzdHIgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCiAKLSM6IGlucHV0LmM6MjY2CisjOiBpbnB1dC5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgogbXNnc3RyICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgogCi0jOiBqb2JzLmM6NDY2CisjOiBqb2JzLmM6NDY4CiBtc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIG1zZ3N0ciAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIAotIzogam9icy5jOjg4NworIzogam9icy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JrZWQgcGlkICVkIGFwcGVhcnMgaW4gcnVubmluZyBqb2IgJWQiCiBtc2dzdHIgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKIAotIzogam9icy5jOjEwMDUKKyM6IGpvYnMuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCiBtc2dzdHIgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCiAKLSM6IGpvYnMuYzoxMTEwCisjOiBqb2JzLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgogbXNnc3RyICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgogCi0jOiBqb2JzLmM6MTExMworIzogam9icy5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgogbXNnc3RyICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCiAKLSM6IGpvYnMuYzoxNDAxCisjOiBqb2JzLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCiBtc2dzdHIgImRlc2NyaWJlX3BpZDogJWxkOiBubyBzdWNoIHBpZCIKIAotIzogam9icy5jOjE0MTYKKyM6IGpvYnMuYzoxNDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKIG1zZ3N0ciAiU2lnbmFsICVkIgogCi0jOiBqb2JzLmM6MTQzMCBqb2JzLmM6MTQ1NQorIzogam9icy5jOjE0NTkgam9icy5jOjE0ODQKIG1zZ2lkICJEb25lIgogbXNnc3RyICJEb25lIgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCisjOiBqb2JzLmM6MTQ2NCBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiU3RvcHBlZCIKIAotIzogam9icy5jOjE0MzkKKyM6IGpvYnMuYzoxNDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQoJXMpIgogbXNnc3RyICJTdG9wcGVkKCVzKSIKIAotIzogam9icy5jOjE0NDMKKyM6IGpvYnMuYzoxNDcyCiBtc2dpZCAiUnVubmluZyIKIG1zZ3N0ciAiUnVubmluZyIKIAotIzogam9icy5jOjE0NTcKKyM6IGpvYnMuYzoxNDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbmUoJWQpIgogbXNnc3RyICJEb25lKCVkKSIKIAotIzogam9icy5jOjE0NTkKKyM6IGpvYnMuYzoxNDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4aXQgJWQiCiBtc2dzdHIgIkV4aXQgJWQiCiAKLSM6IGpvYnMuYzoxNDYyCisjOiBqb2JzLmM6MTQ5MQogbXNnaWQgIlVua25vd24gc3RhdHVzIgogbXNnc3RyICJVbmtub3duIHN0YXR1cyIKIAotIzogam9icy5jOjE1NDkKKyM6IGpvYnMuYzoxNTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihjb3JlIGR1bXBlZCkgIgogbXNnc3RyICIoY29yZSBkdW1wZWQpICIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiAgKHdkOiAlcykiCiAKLSM6IGpvYnMuYzoxNzc2CisjOiBqb2JzLmM6MTgwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogCi0jOiBqb2JzLmM6MjMzMQorIzogam9icy5jOjIzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIAotIzogam9icy5jOjI2MDcKKyM6IGpvYnMuYzoyNjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiBtc2dzdHIgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogCi0jOiBqb2JzLmM6MzA1OQorIzogam9icy5jOjMwODkKIG1zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCiBtc2dzdHIgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKIAotIzogam9icy5jOjM1MDgKKyM6IGpvYnMuYzozNTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIiVzOiBsaW5lICVkOiAiCiAKLSM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAorIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIgKGNvcmUgZHVtcGVkKSIKIAotIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKKyM6IGpvYnMuYzozNTY0IGpvYnMuYzozNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIod2Qgbm93OiAlcylcbiIKIAotIzogam9icy5jOjM1NzkKKyM6IGpvYnMuYzozNjA5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogCi0jOiBqb2JzLmM6MzYzOQorIzogam9icy5jOjM2NjkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIAotIzogam9icy5jOjM2NDkKKyM6IGpvYnMuYzozNjc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIAotIzogam9icy5jOjM2NzcKKyM6IGpvYnMuYzozNzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIAotIzogam9icy5jOjM2ODIKKyM6IGpvYnMuYzozNzEyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIApAQCAtMTM0MSw5OSArMTMzNCw5OSBAQAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiDigJglZOKAmSBvdXQgb2YgcmFuZ2UiCiAKLSM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcg4oCYJWPigJkiCiAKLSM6IHBhcnNlLnk6Mzk1MQorIzogcGFyc2UueTo0MDI1CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3Ig4oCYXV3igJkiCiAKLSM6IHBhcnNlLnk6Mzk1NgorIzogcGFyc2UueTo0MDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIOKAmCVz4oCZIgogCi0jOiBwYXJzZS55OjM5NjAKKyM6IHBhcnNlLnk6NDAzNAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIAotIzogcGFyc2UueTo0MDM4CisjOiBwYXJzZS55OjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgInVuZXhwZWN0ZWQgdG9rZW4g4oCYJXPigJksIGV4cGVjdGVkIOKAmCnigJkiCiAKLSM6IHBhcnNlLnk6NDA0MgorIzogcGFyc2UueTo0MTE2CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJleHBlY3RlZCDigJgp4oCZIgogCi0jOiBwYXJzZS55OjQwNzAKKyM6IHBhcnNlLnk6NDE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgInVuZXhwZWN0ZWQgYXJndW1lbnQg4oCYJXPigJkgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIAotIzogcGFyc2UueTo0MTIwCisjOiBwYXJzZS55OjQxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgInVuZXhwZWN0ZWQgdG9rZW4g4oCYJXPigJksIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIAotIzogcGFyc2UueTo0MTI0CisjOiBwYXJzZS55OjQxOTgKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIAotIzogcGFyc2UueTo0MTQ2CisjOiBwYXJzZS55OjQyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAidW5leHBlY3RlZCBhcmd1bWVudCDigJglc+KAmSB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiAKLSM6IHBhcnNlLnk6NDE1MAorIzogcGFyc2UueTo0MjI0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogCi0jOiBwYXJzZS55OjQxNjEKKyM6IHBhcnNlLnk6NDIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAidW5leHBlY3RlZCB0b2tlbiDigJglY+KAmSBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogCi0jOiBwYXJzZS55OjQxNjQKKyM6IHBhcnNlLnk6NDIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAidW5leHBlY3RlZCB0b2tlbiDigJglc+KAmSBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogCi0jOiBwYXJzZS55OjQxNjgKKyM6IHBhcnNlLnk6NDI0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIAotIzogcGFyc2UueTo1NDU5CisjOiBwYXJzZS55OjU1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIOKAmCVz4oCZIgogCi0jOiBwYXJzZS55OjU0NzcKKyM6IHBhcnNlLnk6NTU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICJzeW50YXggZXJyb3IgbmVhciDigJglc+KAmSIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgInN5bnRheCBlcnJvciIKIAotIzogcGFyc2UueTo1NTQ5CisjOiBwYXJzZS55OjU2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIlVzZSDigJwlc+KAnSB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiAKLSM6IHBhcnNlLnk6NTcxMQorIzogcGFyc2UueTo1ODE4CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyDigJgp4oCZIgogCkBAIC0xNDQyLDc3ICsxNDM1LDc3IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgImNvbXBsZXRpb246IGZ1bmN0aW9uIOKAmCVz4oCZIG5vdCBmb3VuZCIKIAotIzogcGNvbXBsaWIuYzoxNzkKKyM6IHBjb21wbGliLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI5MAorIzogcHJpbnRfY21kLmM6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciDigJglZOKAmSIKIAotIzogcHJpbnRfY21kLmM6MzYzCisjOiBwcmludF9jbWQuYzozNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgogbXNnc3RyICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCiAKLSM6IHByaW50X2NtZC5jOjM2OAorIzogcHJpbnRfY21kLmM6MzczCiBtc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCiBtc2dzdHIgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgogCi0jOiBwcmludF9jbWQuYzozNzIKKyM6IHByaW50X2NtZC5jOjM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCiBtc2dzdHIgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKIAotIzogcHJpbnRfY21kLmM6MTQ2MQorIzogcHJpbnRfY21kLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImNwcmludGY6IOKAmCVj4oCZOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiAKLSM6IHJlZGlyLmM6MTEwCisjOiByZWRpci5jOjEyMgogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiAKLSM6IHJlZGlyLmM6MTY2CisjOiByZWRpci5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIAotIzogcmVkaXIuYzoxNzUKKyM6IHJlZGlyLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogCi0jOiByZWRpci5jOjE4NAorIzogcmVkaXIuYzoxOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgogCi0jOiByZWRpci5jOjU0NAorIzogcmVkaXIuYzo1NDgKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIAotIzogcmVkaXIuYzoxMTAxCisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIAotIzogc2hlbGwuYzozMzYKKyM6IHNoZWxsLmM6MzM3CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogCkBAIC0xNTIxLDE2ICsxNTE0LDE2IEBACiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogCi0jOiBzaGVsbC5jOjE2NTEKKyM6IHNoZWxsLmM6MTY1MgogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiSSBoYXZlIG5vIG5hbWUhIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIAotIzogc2hlbGwuYzoxNzk0CisjOiBzaGVsbC5jOjE3OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNTM5LDM5ICsxNTMyLDM5IEBACiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKICJcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIHNjcmlwdC1maWxlIC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3OTYKKyM6IHNoZWxsLmM6MTc5OAogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiU2hlbGwgb3B0aW9uczpcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MDMKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIAotIzogc2hlbGwuYzoxODE2CisjOiBzaGVsbC5jOjE4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogCi0jOiBzaGVsbC5jOjE4MjIKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIlR5cGUg4oCYJXMgLWMg4oCcaGVscCBzZXTigJ3igJkgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIAotIzogc2hlbGwuYzoxODIzCisjOiBzaGVsbC5jOjE4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiVHlwZSDigJglcyAtYyBoZWxw4oCZIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIlVzZSB0aGUg4oCYYmFzaGJ1Z+KAmSBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogCi0jOiBzaWcuYzo2MjYKKyM6IHNpZy5jOjYzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgpAQCAtMTc0NSw3MiArMTczOCw3MiBAQAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiVW5rbm93biBTaWduYWwgIyVkIgogCi0jOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyDigJglc+KAmSBpbiAlcyIKIAotIzogc3Vic3QuYzoyNzM1CisjOiBzdWJzdC5jOjI3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogCi0jOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCisjOiBzdWJzdC5jOjQ5Nzkgc3Vic3QuYzo0OTk1CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogCi0jOiBzdWJzdC5jOjQ4MDIKKyM6IHN1YnN0LmM6NTAyNwogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogCi0jOiBzdWJzdC5jOjQ4NDcKKyM6IHN1YnN0LmM6NTA3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogCi0jOiBzdWJzdC5jOjQ4NDkKKyM6IHN1YnN0LmM6NTA3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogCi0jOiBzdWJzdC5jOjQ4NjcKKyM6IHN1YnN0LmM6NTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIAotIzogc3Vic3QuYzo1MDYzCisjOiBzdWJzdC5jOjUyODQKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiAKLSM6IHN1YnN0LmM6NTA5NworIzogc3Vic3QuYzo1MzIyCiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogCi0jOiBzdWJzdC5jOjU5MDcKKyM6IHN1YnN0LmM6NjEyNSBzdWJzdC5jOjYxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIAotIzogc3Vic3QuYzo2OTY1CisjOiBzdWJzdC5jOjcyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogCi0jOiBzdWJzdC5jOjcwNDUKKyM6IHN1YnN0LmM6NzM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIAotIzogc3Vic3QuYzo3Mzc0CisjOiBzdWJzdC5jOjc2ODQKIG1zZ2lkICIiCiAiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCiAic3Vic3RpdHV0aW9uIgpAQCAtMTgxOCwxMiArMTgxMSwxMiBAQAogImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgogInN1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo3ODM5CisjOiBzdWJzdC5jOjgxNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKIG1zZ3N0ciAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyDigJxg4oCdIGluICVzIgogCi0jOiBzdWJzdC5jOjg3MjAKKyM6IHN1YnN0LmM6OTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgIm5vIG1hdGNoOiAlcyIKQEAgLTE4NDYsMzcgKzE4MzksMzcgQEAKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICLigJgp4oCZIGV4cGVjdGVkLCBmb3VuZCAlcyIKIAotIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogCi0jOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogCi0jOiB0ZXN0LmM6ODExCisjOiB0ZXN0LmM6ODE2CiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgIm1pc3Npbmcg4oCYXeKAmSIKIAotIzogdHJhcC5jOjIwMworIzogdHJhcC5jOjIwNwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogCi0jOiB0cmFwLmM6MzI3CisjOiB0cmFwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogCi0jOiB0cmFwLmM6MzgwCisjOiB0cmFwLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgpAQCAtMTg4Niw1OSArMTg3OSw1OSBAQAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3Ig4oCYJXPigJkiCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIAotIzogdmFyaWFibGVzLmM6MTkxNQorIzogdmFyaWFibGVzLmM6MTkzMgogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogCi0jOiB2YXJpYWJsZXMuYzozMTU5CisjOiB2YXJpYWJsZXMuYzozMTgyCiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNzYKKyM6IHZhcmlhYmxlcy5jOjM0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgogbXNnc3RyICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAorIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjMzOTYKKyM6IHZhcmlhYmxlcy5jOjM0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIm5vIOKAmD3igJkgaW4gZXhwb3J0c3RyIGZvciAlcyIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogCi0jOiB2YXJpYWJsZXMuYzozODQ4CisjOiB2YXJpYWJsZXMuYzozOTA0CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogCi0jOiB2YXJpYWJsZXMuYzozOTIyCisjOiB2YXJpYWJsZXMuYzozOTc4CiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4CisjOiB2YXJpYWJsZXMuYzo0Nzg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKIG1zZ3N0ciAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgogCi0jOiB2YXJpYWJsZXMuYzo0NjgzCisjOiB2YXJpYWJsZXMuYzo0NzkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgogbXNnc3RyICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKIAogIzogdmVyc2lvbi5jOjQ2Ci1tc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKLW1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogCiAjOiB2ZXJzaW9uLmM6NDcKIG1zZ2lkICIiCkBAIC0yMDMwLDggKzIwMjMsOCBAQAogbXNnc3RyICJjYWxsZXIgW2V4cHJdIgogCiAjOiBidWlsdGlucy5jOjY0Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKLW1zZ3N0ciAiY2QgWy1MfC1QXSBbZGlyXSIKK21zZ2lkICJjZCBbLUx8Wy1QIFstZV1dXSBbZGlyXSIKK21zZ3N0ciAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCiAKICM6IGJ1aWx0aW5zLmM6NjYKIG1zZ2lkICJwd2QgWy1MUF0iCkBAIC0yMDU0LDEyICsyMDQ3LDEyIEBACiBtc2dzdHIgImNvbW1hbmQgWy1wVnZdIGNvbW1hbmQgW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc2Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgotbXNnc3RyICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCittc2dpZCAiZGVjbGFyZSBbLWFBZkZnaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKK21zZ3N0ciAiZGVjbGFyZSBbLWFBZkZnaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKIAogIzogYnVpbHRpbnMuYzo3OAotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCi1tc2dzdHIgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCittc2dpZCAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCittc2dzdHIgInR5cGVzZXQgWy1hQWZGZ2lscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgogCiAjOiBidWlsdGlucy5jOjgwCiBtc2dpZCAibG9jYWwgW29wdGlvbl0gbmFtZVs9dmFsdWVdIC4uLiIKQEAgLTIxNTgsOCArMjE1MSw4IEBACiBtc2dzdHIgInJldHVybiBbbl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQwCi1tc2dpZCAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKLW1zZ3N0ciAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKK21zZ2lkICJzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXSIKK21zZ3N0ciAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQyCiBtc2dpZCAidW5zZXQgWy1mXSBbLXZdIFtuYW1lIC4uLl0iCkBAIC0yMTcwLDggKzIxNjMsOCBAQAogbXNnc3RyICJleHBvcnQgWy1mbl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIGV4cG9ydCAtcCIKIAogIzogYnVpbHRpbnMuYzoxNDYKLW1zZ2lkICJyZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCi1tc2dzdHIgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKK21zZ2lkICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgorbXNnc3RyICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgogCiAjOiBidWlsdGlucy5jOjE0OAogbXNnaWQgInNoaWZ0IFtuXSIKQEAgLTI1ODcsMTEgKzI1ODAsMTUgQEAKICIgICAgICAgIC1MXHRmb3JjZSBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZFxuIgogIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgogIiAgICBcdGxpbmtzXG4iCisiICAgICAgICAtZVx0aWYgdGhlIC1QIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iCisiICAgIFx0Y2Fubm90IGJlIGRldGVybWluZWQgc3VjY2Vzc2Z1bGx5LCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXNcbiIKICIgICAgXG4iCiAiICAgIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkOyBub24temVybyBvdGhlcndpc2UuIgorIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5ICIKKyJ3aGVuXG4iCisiICAgIC1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKICJDaGFuZ2UgdGhlIHNoZWxsIHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI2MTcsMTMgKzI2MTQsMTcgQEAKICIgICAgICAgIC1MXHRmb3JjZSBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZFxuIgogIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgogIiAgICBcdGxpbmtzXG4iCisiICAgICAgICAtZVx0aWYgdGhlIC1QIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iCisiICAgIFx0Y2Fubm90IGJlIGRldGVybWluZWQgc3VjY2Vzc2Z1bGx5LCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXNcbiIKICIgICAgXG4iCiAiICAgIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYg4oCYLUzigJkgd2VyZSBzcGVjaWZpZWQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKKyIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZCwgYW5kIGlmICRQV0QgaXMgc2V0IHN1Y2Nlc3NmdWxseSAiCisid2hlblxuIgorIiAgICAtUCBpcyB1c2VkOyBub24temVybyBvdGhlcndpc2UuIgogCi0jOiBidWlsdGlucy5jOjQxMQorIzogYnVpbHRpbnMuYzo0MTQKIG1zZ2lkICIiCiAiUHJpbnQgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjY1MSw3ICsyNjUyLDcgQEAKICIgICAgUmV0dXJucyAwIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiIKICIgICAgY2Fubm90IGJlIHJlYWQuIgogCi0jOiBidWlsdGlucy5jOjQyOAorIzogYnVpbHRpbnMuYzo0MzEKIG1zZ2lkICIiCiAiTnVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI2NjcsNyArMjY2OCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogCi0jOiBidWlsdGlucy5jOjQzOQorIzogYnVpbHRpbnMuYzo0NDIKIG1zZ2lkICIiCiAiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgpAQCAtMjY3OSw3ICsyNjgwLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiAKLSM6IGJ1aWx0aW5zLmM6NDQ4CisjOiBidWlsdGlucy5jOjQ1MQogbXNnaWQgIiIKICJSZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNjkxLDcgKzI2OTIsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgQWx3YXlzIGZhaWxzLiIKIAotIzogYnVpbHRpbnMuYzo0NTcKKyM6IGJ1aWx0aW5zLmM6NDYwCiBtc2dpZCAiIgogIkV4ZWN1dGUgYSBzaW1wbGUgY29tbWFuZCBvciBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTI3MjUsNyArMjcyNiw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQsIG9yIGZhaWx1cmUgaWYgQ09NTUFORCBpcyBub3QgZm91bmQuIgogCi0jOiBidWlsdGlucy5jOjQ3NgorIzogYnVpbHRpbnMuYzo0NzkKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCkBAIC0yNzM2LDYgKzI3MzcsOCBAQAogIiAgICAgIC1mXHRyZXN0cmljdCBhY3Rpb24gb3IgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBhbmQgZGVmaW5pdGlvbnNcbiIKICIgICAgICAtRlx0cmVzdHJpY3QgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBvbmx5IChwbHVzIGxpbmUgbnVtYmVyIGFuZFxuIgogIiAgICBcdHNvdXJjZSBmaWxlIHdoZW4gZGVidWdnaW5nKVxuIgorIiAgICAgIC1nXHRjcmVhdGUgZ2xvYmFsIHZhcmlhYmxlcyB3aGVuIHVzZWQgaW4gYSBzaGVsbCBmdW5jdGlvbjsgb3RoZXJ3aXNlXG4iCisiICAgIFx0aWdub3JlZFxuIgogIiAgICAgIC1wXHRkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZSBvZiBlYWNoIE5BTUVcbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnMgd2hpY2ggc2V0IGF0dHJpYnV0ZXM6XG4iCkBAIC0yNzU1LDcgKzI3NTgsNyBAQAogIiAgICBcbiIKICIgICAgV2hlbiB1c2VkIGluIGEgZnVuY3Rpb24sIGBkZWNsYXJlJyBtYWtlcyBOQU1FcyBsb2NhbCwgYXMgd2l0aCB0aGUgIgogImBsb2NhbCdcbiIKLSIgICAgY29tbWFuZC5cbiIKKyIgICAgY29tbWFuZC4gIFRoZSBgLWcnIG9wdGlvbiBzdXBwcmVzc2VzIHRoaXMgYmVoYXZpb3IuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgpAQCAtMjc2OSw2ICsyNzcyLDggQEAKICIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCiAiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKICIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKICIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgpAQCAtMjc4OCwxMiArMjc5MywxMiBAQAogIiAgICBcbiIKICIgICAgV2hlbiB1c2VkIGluIGEgZnVuY3Rpb24sIOKAmGRlY2xhcmXigJkgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKICLigJhsb2NhbOKAmVxuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIOKAmC1n4oCZIG9wdGlvbiBzdXBwcmVzc2VzIHRoaXMgYmVoYXZpb3IuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjUxMgorIzogYnVpbHRpbnMuYzo1MTcKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCkBAIC0yODAzLDcgKzI4MDgsNyBAQAogIiAgICBcbiIKICIgICAgT2Jzb2xldGUuICBTZWUg4oCYaGVscCBkZWNsYXJl4oCZLiIKIAotIzogYnVpbHRpbnMuYzo1MjAKKyM6IGJ1aWx0aW5zLmM6NTI1CiBtc2dpZCAiIgogIkRlZmluZSBsb2NhbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMjgyOSw3ICsyODM0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gZXJyb3Igb2NjdXJzLFxuIgogIiAgICBvciB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uLiIKIAotIzogYnVpbHRpbnMuYzo1MzcKKyM6IGJ1aWx0aW5zLmM6NTQyCiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI4ODcsNyArMjg5Miw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI5MDksNyArMjkxNCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzo1ODYKKyM6IGJ1aWx0aW5zLmM6NTkxCiBtc2dpZCAiIgogIkVuYWJsZSBhbmQgZGlzYWJsZSBzaGVsbCBidWlsdGlucy5cbiIKICIgICAgXG4iCkBAIC0yOTU5LDcgKzI5NjQsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzo2MTQKKyM6IGJ1aWx0aW5zLmM6NjE5CiBtc2dpZCAiIgogIkV4ZWN1dGUgYXJndW1lbnRzIGFzIGEgc2hlbGwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yOTc5LDcgKzI5ODQsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBjb21tYW5kIG9yIHN1Y2Nlc3MgaWYgY29tbWFuZCBpcyBudWxsLiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzA1Nyw3ICszMDYyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIGlmIGFuIG9wdGlvbiBpcyBmb3VuZDsgZmFpbHMgaWYgdGhlIGVuZCBvZiBvcHRpb25zIGlzXG4iCiAiICAgIGVuY291bnRlcmVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6NjY4CisjOiBidWlsdGlucy5jOjY3MwogbXNnaWQgIiIKICJSZXBsYWNlIHRoZSBzaGVsbCB3aXRoIHRoZSBnaXZlbiBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTMwOTksNyArMzEwNCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgQ09NTUFORCBpcyBub3QgZm91bmQgb3IgYSByZWRpcmVjdGlvbiBlcnJvciAiCiAib2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzo2ODkKKyM6IGJ1aWx0aW5zLmM6Njk0CiBtc2dpZCAiIgogIkV4aXQgdGhlIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMxMTEsNyArMzExNiw3IEBACiAiICAgIEV4aXRzIHRoZSBzaGVsbCB3aXRoIGEgc3RhdHVzIG9mIE4uICBJZiBOIGlzIG9taXR0ZWQsIHRoZSBleGl0IHN0YXR1c1xuIgogIiAgICBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogCi0jOiBidWlsdGlucy5jOjY5OAorIzogYnVpbHRpbnMuYzo3MDMKIG1zZ2lkICIiCiAiRXhpdCBhIGxvZ2luIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMxMjUsNyArMzEzMCw3IEBACiAiZXhlY3V0ZWRcbiIKICIgICAgaW4gYSBsb2dpbiBzaGVsbC4iCiAKLSM6IGJ1aWx0aW5zLmM6NzA4CisjOiBidWlsdGlucy5jOjcxMwogbXNnaWQgIiIKICJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTMxODEsNyArMzE4Niw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBvciBzdGF0dXMgb2YgZXhlY3V0ZWQgY29tbWFuZDsgbm9uLXplcm8gaWYgYW4gZXJyb3IgIgogIm9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6NzM4CisjOiBidWlsdGlucy5jOjc0MwogbXNnaWQgIiIKICJNb3ZlIGpvYiB0byB0aGUgZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zMjAxLDcgKzMyMDYsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgU3RhdHVzIG9mIGNvbW1hbmQgcGxhY2VkIGluIGZvcmVncm91bmQsIG9yIGZhaWx1cmUgaWYgYW4gZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzo3NTMKKyM6IGJ1aWx0aW5zLmM6NzU4CiBtc2dpZCAiIgogIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zMjI1LDcgKzMyMzAsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjc2NworIzogYnVpbHRpbnMuYzo3NzIKIG1zZ2lkICIiCiAiUmVtZW1iZXIgb3IgZGlzcGxheSBwcm9ncmFtIGxvY2F0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMjY5LDcgKzMyNzQsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiAKLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzMwOSw3ICszMzE0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBQQVRURVJOIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyAiCiAiZ2l2ZW4uIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzM3Myw3ICszMzc4LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzo4NTIKKyM6IGJ1aWx0aW5zLmM6ODU3CiBtc2dpZCAiIgogIkRpc3BsYXkgc3RhdHVzIG9mIGpvYnMuXG4iCiAiICAgIFxuIgpAQCAtMzQxNyw3ICszNDIyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuXG4iCiAiICAgIElmIC14IGlzIHVzZWQsIHJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogCi0jOiBidWlsdGlucy5jOjg3OQorIzogYnVpbHRpbnMuYzo4ODQKIG1zZ2lkICIiCiAiUmVtb3ZlIGpvYnMgZnJvbSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTM0NDcsNyArMzQ1Miw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yIEpPQlNQRUMgaXMgZ2l2ZW4uIgogCi0jOiBidWlsdGlucy5jOjg5OAorIzogYnVpbHRpbnMuYzo5MDMKIG1zZ2lkICIiCiAiU2VuZCBhIHNpZ25hbCB0byBhIGpvYi5cbiIKICIgICAgXG4iCkBAIC0zNDg3LDcgKzM0OTIsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjkyMQorIzogYnVpbHRpbnMuYzo5MjYKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy5cbiIKICIgICAgXG4iCkBAIC0zNTI5LDcgKzM1MzQsNyBAQAogIiAgICBydWxlcyBhYm92ZS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4iCisiICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy5cbiIKICIgICAgXG4iCkBAIC0zNTcxLDkgKzM1NzYsOSBAQAogIiAgICBydWxlcyBhYm92ZS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4iCisiICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuIgogCi0jOiBidWlsdGlucy5jOjk2NgorIzogYnVpbHRpbnMuYzo5NzEKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgogIiAgICBcbiIKQEAgLTM2NjUsNyArMzY3MCw3IEBACiAib3V0LFxuIgogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogCi0jOiBidWlsdGlucy5jOjEwMDkKKyM6IGJ1aWx0aW5zLmM6MTAxNAogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2ODUsNyArMzY5MCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogCi0jOiBidWlsdGlucy5jOjEwMjIKKyM6IGJ1aWx0aW5zLmM6MTAyNwogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zNzU0LDYgKzM3NTksOSBAQAogIiAgICAgIC1QICBJZiBzZXQsIGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3Mgd2hlbiBleGVjdXRpbmcgY29tbWFuZHNcbiIKICIgICAgICAgICAgc3VjaCBhcyBjZCB3aGljaCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgogIiAgICAgIC1UICBJZiBzZXQsIHRoZSBERUJVRyB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLS0gIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgorIiAgICAgICAgICBJZiB0aGVyZSBhcmUgbm8gcmVtYWluaW5nIGFyZ3VtZW50cywgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICAgICAgICBhcmUgdW5zZXQuXG4iCiAiICAgICAgLSAgIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICAgICAgICBUaGUgLXggYW5kIC12IG9wdGlvbnMgYXJlIHR1cm5lZCBvZmYuXG4iCiAiICAgIFxuIgpAQCAtMzgzMyw2ICszODQxLDkgQEAKICIgICAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzXG4iCiAiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKICIgICAgICAtVCAgSWYgc2V0LCB0aGUgREVCVUcgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC0tICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgICAgICAgYXJlIHVuc2V0LlxuIgogIiAgICAgIC0gICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgogIiAgICBcbiIKQEAgLTM4NDUsNyArMzg1Niw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIAotIzogYnVpbHRpbnMuYzoxMTA0CisjOiBidWlsdGlucy5jOjExMTIKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4ODEsNyArMzg5Miw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTM5MTUsNyArMzkyNiw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MworIzogYnVpbHRpbnMuYzoxMTUxCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zOTUxLDcgKzM5NjIsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogCi0jOiBidWlsdGlucy5jOjExNjQKKyM6IGJ1aWx0aW5zLmM6MTE3MgogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzk2OSw3ICszOTgwLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogCi0jOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzk5Myw3ICs0MDA0LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQgaW4gRklMRU5BTUU7IGZhaWxzIGlmXG4iCiAiICAgIEZJTEVOQU1FIGNhbm5vdCBiZSByZWFkLiIKIAotIzogYnVpbHRpbnMuYzoxMjA3CisjOiBidWlsdGlucy5jOjEyMTUKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDAxNywxNCArNDAyOCwxNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogCi0jOiBidWlsdGlucy5jOjEyMjMKKyM6IGJ1aWx0aW5zLmM6MTIzMQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKICIgICAgRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlKSBvciAxIChmYWxzZSkgZGVwZW5kaW5nIG9uXG4iCiAiICAgIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnlcbiIKICIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCi0iICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFzIHdlbGwsIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgogIiAgICBcbiIKICIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgpAQCAtNDA3OCw2ICs0MDkyLDcgQEAKICIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKICIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgogIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKICIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgogIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCkBAIC00MDk4LDcgKzQxMTMsMTAgQEAKICIgICAgRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlKSBvciAxIChmYWxzZSkgZGVwZW5kaW5nIG9uXG4iCiAiICAgIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnlcbiIKICIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCi0iICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFzIHdlbGwsIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgogIiAgICBcbiIKICIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgpAQCAtNDE1Miw2ICs0MTcwLDcgQEAKICIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKICIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgogIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKICIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgogIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCkBAIC00MTY3LDcgKzQxODYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgRVhQUiBldmFsdWF0ZXMgdG8gdHJ1ZTsgZmFpbHMgaWYgRVhQUiBldmFsdWF0ZXMgdG9cbiIKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTI5OQorIzogYnVpbHRpbnMuYzoxMzExCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDE3OSw3ICs0MTk4LDcgQEAKICIgICAgVGhpcyBpcyBhIHN5bm9ueW0gZm9yIHRoZSDigJx0ZXN04oCdIGJ1aWx0aW4sIGJ1dCB0aGUgbGFzdCBhcmd1bWVudCBtdXN0XG4iCiAiICAgIGJlIGEgbGl0ZXJhbCDigJhd4oCZLCB0byBtYXRjaCB0aGUgb3BlbmluZyDigJhb4oCZLiIKIAotIzogYnVpbHRpbnMuYzoxMzA4CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTQxOTksNyArNDIxOCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC00MjE1LDcgKzQyMzQsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtNDI0OCw3ICs0Mjc1LDE1IEBACiAiICAgIFxuIgogIiAgICBJZiBhIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20gdGhlIHNoZWxsLiAgIgogIklmXG4iCi0iICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuICAiCisiSWZcbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBSRVRVUk4sIEFSRyBpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciAiCisiYVxuIgorIiAgICBzY3JpcHQgcnVuIGJ5IHRoZSAuIG9yIHNvdXJjZSBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuICBBICIKKyJTSUdOQUxfU1BFQ1xuIgorIiAgICBvZiBFUlIgbWVhbnMgdG8gZXhlY3V0ZSBBUkcgZWFjaCB0aW1lIGEgY29tbWFuZCdzIGZhaWx1cmUgd291bGQgY2F1c2UgIgorInRoZVxuIgorIiAgICBzaGVsbCB0byBleGl0IHdoZW4gdGhlIC1lIG9wdGlvbiBpcyBlbmFibGVkLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCwgdHJhcCBwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgIgogImFzc29jaWF0ZWRcbiIKQEAgLTQyNjcsNyArNDMwMiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSBTSUdTUEVDIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgIgogImdpdmVuLiIKIAotIzogYnVpbHRpbnMuYzoxMzUyCisjOiBidWlsdGlucy5jOjEzNjgKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtNDMyMyw3ICs0MzU4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIGlmIGFsbCBvZiB0aGUgTkFNRXMgYXJlIGZvdW5kOyBmYWlscyBpZiBhbnkgYXJlIG5vdCAiCiAiZm91bmQuIgogCi0jOiBidWlsdGlucy5jOjEzODMKKyM6IGJ1aWx0aW5zLmM6MTM5OQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTQ0MDcsNyArNDQ0Miw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQyOAorIzogYnVpbHRpbnMuYzoxNDQ0CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTQ0MzksNyArNDQ3NCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDQ2OSw3ICs0NTA0LDcgQEAKICJpc1xuIgogIiAgICBnaXZlbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2NgorIzogYnVpbHRpbnMuYzoxNDgyCiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQ0OTMsNyArNDUyOCw3IEBACiAiaXNcbiIKICIgICAgZ2l2ZW4uIgogCi0jOiBidWlsdGlucy5jOjE0ODEKKyM6IGJ1aWx0aW5zLmM6MTQ5NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtNDUxNSw3ICs0NTUwLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzoxNDk1CisjOiBidWlsdGlucy5jOjE1MTEKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKICIgICAgXG4iCkBAIC00NTQ1LDcgKzQ1ODAsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogCi0jOiBidWlsdGlucy5jOjE1MTMKKyM6IGJ1aWx0aW5zLmM6MTUyOQogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtNDU4MSw3ICs0NjE2LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzoxNTM0CisjOiBidWlsdGlucy5jOjE1NTAKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDYwOSw3ICs0NjQ0LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSByZXR1cm4gc3RhdHVzIG9mIFBJUEVMSU5FLiIKIAotIzogYnVpbHRpbnMuYzoxNTUxCisjOiBidWlsdGlucy5jOjE1NjcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTQ2MjcsNyArNDY2Miw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MworIzogYnVpbHRpbnMuYzoxNTc5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtNDY2NSw3ICs0NzAwLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCisjOiBidWlsdGlucy5jOjE1OTYKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC00NjgzLDcgKzQ3MTgsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogCi0jOiBidWlsdGlucy5jOjE1OTIKKyM6IGJ1aWx0aW5zLmM6MTYwOAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtNDcwMSw3ICs0NzM2LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIAotIzogYnVpbHRpbnMuYzoxNjA0CisjOiBidWlsdGlucy5jOjE2MjAKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtNDcyMyw3ICs0NzU4LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogCi0jOiBidWlsdGlucy5jOjE2MTgKKyM6IGJ1aWx0aW5zLmM6MTYzNAogbXNnaWQgIiIKICJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtNDc0Nyw3ICs0NzgyLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYzMgorIzogYnVpbHRpbnMuYzoxNjQ4CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC00NzY1LDcgKzQ4MDAsNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogCi0jOiBidWlsdGlucy5jOjE2NDQKKyM6IGJ1aWx0aW5zLmM6MTY2MAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtNDc4OSw3ICs0ODI0LDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgogCi0jOiBidWlsdGlucy5jOjE2NTkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDgwNyw3ICs0ODQyLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIAotIzogYnVpbHRpbnMuYzoxNjcxCisjOiBidWlsdGlucy5jOjE2ODcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTQ4NTksNyArNDg5NCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICAwIG9yIDEgZGVwZW5kaW5nIG9uIHZhbHVlIG9mIEVYUFJFU1NJT04uIgogCi0jOiBidWlsdGlucy5jOjE2OTcKKyM6IGJ1aWx0aW5zLmM6MTcxMwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTQ5NjMsNyArNDk5OCw3IEBACiAiICAgIEhJU1RJR05PUkVcdEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgdXNlZCB0byBkZWNpZGUgd2hpY2hcbiIKICIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgogCi0jOiBidWlsdGlucy5jOjE3NTQKKyM6IGJ1aWx0aW5zLmM6MTc3MAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTAyMSw3ICs1MDU2LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIHN1cHBsaWVkIG9yIHRoZSBkaXJlY3RvcnlcbiIKICIgICAgY2hhbmdlIGZhaWxzLiIKIAotIzogYnVpbHRpbnMuYzoxNzg4CisjOiBidWlsdGlucy5jOjE4MDQKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTA3MSw3ICs1MTA2LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIHN1cHBsaWVkIG9yIHRoZSBkaXJlY3RvcnlcbiIKICIgICAgY2hhbmdlIGZhaWxzLiIKIAotIzogYnVpbHRpbnMuYzoxODE4CisjOiBidWlsdGlucy5jOjE4MzQKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTEyNSw3ICs1MTYwLDcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzoxODQ3CisjOiBidWlsdGlucy5jOjE4NjMKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUxNjMsNyArNTE5OCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBPUFROQU1FIGlzIGVuYWJsZWQ7IGZhaWxzIGlmIGFuIGludmFsaWQgb3B0aW9uIGlzXG4iCiAiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC01MTg2LDYgKzUyMjEsOSBAQAogIiAgICBcbiIKICIgICAgICAlYlx0ZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50XG4iCiAiICAgICAgJXFcdHF1b3RlIHRoZSBhcmd1bWVudCBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXRcbiIKKyIgICAgICAlKGZtdClUIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcgZnJvbSB1c2luZyBGTVQgYXMgYSAiCisiZm9ybWF0XG4iCisiICAgICAgICAgICAgc3RyaW5nIGZvciBzdHJmdGltZSgzKVxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSB3cml0ZSBvciAiCkBAIC01MjEzLDEzICs1MjUxLDE2IEBACiAiICAgIFxuIgogIiAgICAgICViXHRleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYXJndW1lbnRcbiIKICIgICAgICAlcVx0cXVvdGUgdGhlIGFyZ3VtZW50IGluIGEgd2F5IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dFxuIgorIiAgICAgICUoZm10KVQgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nIEZNVCBhcyBhICIKKyJmb3JtYXRcbiIKKyIgICAgICAgICAgICBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIHdyaXRlIG9yICIKICJhc3NpZ25tZW50XG4iCiAiICAgIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg5NQorIzogYnVpbHRpbnMuYzoxOTEzCiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTUyNjksNyArNTMxMCw3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkyMworIzogYnVpbHRpbnMuYzoxOTQxCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUyOTEsMTMgKzUzMzIsMTMgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIAotIzogYnVpbHRpbnMuYzoxOTM4CisjOiBidWlsdGlucy5jOjE5NTYKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKICIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCiAic3VwcGxpZWQsXG4iCi0iICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWdpbiBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVubSwgIgorIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVpbmcgZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbiwgIgogInByaW50XG4iCiAiICAgIHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uICIKICJzcGVjaWZpY2F0aW9uLlxuIgpAQCAtNTMyNSw3ICs1MzY2LDcgQEAKICIgICAgXG4iCiAiICAgIE1vZGlmeSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBubyBOQU1FcyBhcmUgIgogInN1cHBsaWVkLFxuIgotIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVnaW4gZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbm0sICIKKyIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlaW5nIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW4sICIKICJwcmludFxuIgogIiAgICB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUgb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbiAiCiAic3BlY2lmaWNhdGlvbi5cbiIKQEAgLTUzNDksNyArNTM5MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgTkFNRSBkb2VzIG5vdFxuIgogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogCi0jOiBidWlsdGlucy5jOjE5NjgKKyM6IGJ1aWx0aW5zLmM6MTk4NgogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCkBAIC01Mzc3LDcgKzU0MTgsOCBAQAogIiAgICBcbiIKICIgICAgSWYgLUMgaXMgc3VwcGxpZWQgd2l0aG91dCAtYywgdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLiAgV2hlblxuIgogIiAgICBDQUxMQkFDSyBpcyBldmFsdWF0ZWQsIGl0IGlzIHN1cHBsaWVkIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBhcnJheVxuIgotIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuXG4iCisiICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudFxuIgorIiAgICBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZICIKICJiZWZvcmVcbiIKQEAgLTU0MTQsNyArNTQ1Niw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtNTQyNSw3ICs1NDY4LDcgQEAKICJvclxuIgogIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCmRpZmYgLS1naXQgYS9wby9lby5nbW8gYi9wby9lby5nbW8KaW5kZXggY2UzMmRhNC4uYzEzNjdiYyAxMDA2NDQKLS0tIGEvcG8vZW8uZ21vCisrKyBiL3BvL2VvLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9lby5wbyBiL3BvL2VvLnBvCmluZGV4IDczNjczNGQuLmVjMjYyNjkgMTAwNjQ0Ci0tLSBhL3BvL2VvLnBvCisrKyBiL3BvL2VvLnBvCkBAIC0yMCw3ICsyMCw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSBiYXNoIDQuMFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDYtMDEgMDA6MzErMDYwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogU2VyZ2lvIFBva3JvdnNraWogPHNlcmdpby5wb2tyb3Zza2lqQGdtYWlsLmNvbT5cbiIKICJMYW5ndWFnZS1UZWFtOiBFc3BlcmFudG8gPHRyYW5zbGF0aW9uLXRlYW0tZW9AbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgpAQCAtMzMsNyArMzMsNyBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgIk1pc2EgdGFiZWwtaW5kaWNvIgogCi0jOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIlczogTWFsZWJsYXMga29udmVydGkgcG96aWNpYW4gdGFiZWxvbiBlbiBhc29jaXRhYmVsb24iCkBAIC01MywyNyArNTMsMjcgQEAKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6ICVzOiBWYWxvcml6YW50ZSBwZXIgYXNvY2l0YWJlbG8gdXp1IGluZGljb24iCiAKLSM6IGJhc2hoaXN0LmM6MzgzCisjOiBiYXNoaGlzdC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBOZSBwcm9zcGVyaXMga3JlaTogJXMiCiAKICMgWFhYOiBpbnRlcm5hbF9lcnJvcgotIzogYmFzaGxpbmUuYzozNDU3CisjOiBiYXNobGluZS5jOjM0OTgKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiBtc2dzdHIgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IE1hbmthcyBrbGF2YXJ0YWJlbG8gcG9yIGtvbWFuZG8iCiAKLSM6IGJhc2hsaW5lLmM6MzU0MworIzogYmFzaGxpbmUuYzozNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiBMYSB1bnVhIG5lLWJsYW5rc3BhY2Egc2lnbm8gbmUgZXN0YXMg4oCeXCLigJ8iCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAiTWFua2FzIGZlcm1hIOKAniVj4oCfIGVuICVzIgogCi0jOiBiYXNobGluZS5jOjM2MDYKKyM6IGJhc2hsaW5lLmM6MzY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiBNYW5rYXMgZGlzaWdhIGR1cHVua3RvIgpAQCAtMTM1LDI2ICsxMzUsMTEgQEAKICJcbiIKICIgIFNlbiBFU1BSIGxpdmVyYXMgIgogCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQotbXNnaWQgIiIKLSIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKLSIgICAgIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Ci1tc2dpZCAiIgotIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgotIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCi0iICAgIFxuIgotIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCi0iICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyMzUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIkhPTUUgbWFsaGF2YXMgdmFsb3JvbiIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgogbXNnc3RyICJPTERQV0QgbWFsaGF2YXMgdmFsb3JvbiIKIApAQCAtMTczLDExICsxNTgsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiJXM6IFV6bWFuaWVybzogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNworIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MzIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIlRybyBtdWx0ZSBkYSBhcmd1bWVudG9qIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogTGEgb3BjaW8gYmV6b25hcyBhcmd1bWVudG9uIgpAQCAtMjE1LDcgKzIwMCw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJNaXNhIDE2dW1hIG5vbWJybyIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAiTWlzYSBub21icm8iCiAKQEAgLTMyNCwyNSArMzA5LDI1IEBACiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiTmkgbmUgZXN0YXMgZW4gcGxlbnVtYWRvIGRlIGtvbXBsZXRpZ2EgZnVua2NpbyIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjQKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgIlV6ZWJsYXMgbnVyIGVuZSBkZSBmdW5rY2lvIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAi4oCeLWbigJ8gbmUgZXN0YXMgdXplYmxhIHBvciBmYXJpIGZ1bmtjaW9qbiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBOdXJsZWdhIGZ1bmtjaW8iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiQlczogxIlpIHRpZWwgbmUgZWJsYXMgbmVuaWlnaSB2YXJpYWJsb2puIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiJXM6IE5lIGVibGFzIGtvbnZlcnRpIGFzb2NpdGFiZWxvbiBlbiBwb3ppY2lhbiB0YWJlbG9uIgpAQCAtMzcxLDI5ICszNTYsMjkgQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBOZSBlYmxhcyBmb3JpZ2k6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0Ci0jOiBzaGVsbC5jOjE0NTIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzIGVzdGFzIGRvc2llcnVqbyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIiVzOiBOZSBvcmRpbmFyYSBkb3NpZXJvIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0NworIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIlczogVHJvIGdyYW5kYSBkb3NpZXJvIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKLSM6IHNoZWxsLmM6MTQ2MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczogTmVwbGVudW1lYmxhIGR1dW1hIGRvc2llcm8iCiAKLSM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgorIzogYnVpbHRpbnMvZXhlYy5kZWY6MTU0IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NiBidWlsdGlucy9leGVjLmRlZjoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlOiAlcyIKIG1zZ3N0ciAiJXM6IE1hbGVibGFzIHBsZW51bWk6ICVzIgpAQCAtNDIxLDExICs0MDYsMTEgQEAKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJLb21hbmRvIG5lIHRyb3ZpdGEiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiSGlzdG9yaWEgaW5kaWtvIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzcwCisjOiBidWlsdGlucy9mYy5kZWY6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczogTmUgbWFsZmVybWnEnWlzIGxhYm9yZG9zaWVybzogJXMiCkBAIC00NTgsNyArNDQzLDcgQEAKIG1zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgogbXNnc3RyICIlczogSGFrZXR0YWJlbG8gZXN0YXMgbWFscGxlbmFcbiIKIAotIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0CisjOiBidWlsdGlucy9oYXNoLmRlZjoyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGl0c1x0Y29tbWFuZFxuIgogbXNnc3RyICJUcmFmb2pcdEtvbWFuZG9cbiIKQEAgLTUyNSw3NyArNTEwLDg3IEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiTGEgdXpvIGRlIOKAni144oCfIG1hbGVibGlnYXMgYWxpYWpuIG9wY2lvam4iCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAorIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiVzOiBBcmd1bWVudG8gZXN0dSBwcm9jZXpudW1lcm8gYcWtIGxhYm9yaW5kaWtvIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjMKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIk5la29uYXRhIGVyYXJvIgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJNYW5rYXMgZXNwcmltbyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNzIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiJXM6IE5lIHRhYmVsYSB2YXJpYWJsbyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU2IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IE1pc2EgaW5kaWtvIGRlIGRvc2llcm51bWVybyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY0IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogTWlzYSBkb3NpZXJudW1lcm86ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzMgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiBNaXNhIGxpbmlub21icm8iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3NworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJXM6IE1pc2EgdGFiZWxiYXpvIgogCiAjIFN1cG96ZWJsZSBjYWxsYmFjayA9PiByZXRyb3Zva28gPz8KLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIiVzOiBNaXNhIGt2YW50byDEiWUgcmV0cm92b2tvIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIk1hbmthcyBub21vIGRlIHRhYmVsdmFyaWFibG8iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzU0CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAibmVjZXNhcyBzdWJ0ZW5vIGRlIHRhYmVsdmFyaWFibG9qIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICLigJ4lc+KAnzogTWFua2FzIGZvcm1hdGEgc2lnbm8iCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVjJzogaW52YWxpZCB0aW1lIGZvcm1hdCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczogTWlzYSBpbmRpa28gZGUgYXRlbmRvdGVtcG8iCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAi4oCeJWPigJ86IE1pc2Egc2lnbm8gZm9ybWF0YSIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAiQXZlcnRvOiAlczogJXMiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjg0MAogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgIk1hbmthcyAxNnVtYSBjaWZlcm8gcG9yIFxceCIKIAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAiTWFua2FzIDE2dW1hIGNpZmVybyBwb3IgXFx4IgorCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6MTk1CiBtc2dpZCAibm8gb3RoZXIgZGlyZWN0b3J5IgogbXNnc3RyICJOZSBlc3RhcyBhbGlhIGRvc2llcnVqbyIKQEAgLTc1NiwyMSArNzUxLDIxIEBACiBtc2dzdHIgIiIKICLigJ5yZXR1cm7igJ8gc2VuY2FzIG51ciBlbiBmdW5rY2lvIGHFrSBwdW5rdGUgdm9raXRhICjigJ4u4oCfLCDigJ5zb3VyY2XigJ8pIHNrcmlwdG8iCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQogbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgogbXNnc3RyICJOZSBlYmxhcyBzYW10ZW1wZSBtYWxha3RpdmlnaSBmdW5rY2lvbiBrYWogdmFyaWFibG9uIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgwNQorIzogYnVpbHRpbnMvc2V0LmRlZjo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiJXM6IE1hbGFrdGl2aWdvIGZpYXNraXMiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODEyCisjOiBidWlsdGlucy9zZXQuZGVmOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0OiByZWFkb25seSAlcyIKIG1zZ3N0ciAiJXM6IE1hbGFrdGl2aWdvIGZpYXNraXM6IG51cmxlZ2EgJXMiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODIzCisjOiBidWlsdGlucy9zZXQuZGVmOjgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGFycmF5IHZhcmlhYmxlIgogbXNnc3RyICIlczogTmUgdGFiZWxhIHZhcmlhYmxvIgpAQCAtNzg0LDIwICs3NzksMjAgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAiTm9tYnJpbG8gZGUg4oCec2hpZnTigJ8iCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJNYWxlYmxhcyBzYW10ZW1wZSDFnWFsdGkga2FqIG1hbMWdYWx0aSDFnWVsYW4gb3BjaW9uIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlczogTWlzYSBub21vIGRlIMWdZWxhIG9wY2lvIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjEyOAorIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKIG1zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKIG1zZ3N0ciAiTmVjZXNhcyBkb3NpZXJub21hIGFyZ3VtZW50byIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IERvc2llcm8gbmUgdHJvdml0YSIKQEAgLTg0MCwyNiArODM1LDI2IEBACiBtc2dpZCAiJXMgaXMgaGFzaGVkICglcylcbiIKIG1zZ3N0ciAi4oCeJXPigJ8gZXN0YXMgbWV0aXRhIGVuIGhha2V0dGFiZWxvbiAoJXMpXG4iCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6MzcyCisjOiBidWlsdGlucy91bGltaXQuZGVmOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW1pdCBhcmd1bWVudCIKIG1zZ3N0ciAiJXM6IE1hbHRhxa1nYSBhcmd1bWVudG8gcG9yIGxpbW8iCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzk4CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKIG1zZ3N0ciAi4oCeJWPigJ86IE1pc2Ega29tYW5kbyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IEZpYXNraXMgcHJvdm8gbGVnaSBsaW1vbjogJXMiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDUzCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ1NwogbXNnaWQgImxpbWl0IgogbXNnc3RyICJsaW1vIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQ2NSBidWlsdGlucy91bGltaXQuZGVmOjc2NQorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjkgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgbGltaXQ6ICVzIgogbXNnc3RyICIlczogTWFscHJvc3BlcmlzIMWdYW7EnWkgbGltb246ICVzIgpAQCAtOTE3LDEwNyArOTEyLDExMiBAQAogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCi1tc2dzdHIgIgdUcm8gbG9uZ2Ugc2VuIGVuaWdvOiBBxa10b21hdGEgc2VhbmNvZmlub1xuIgorbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICJcYVRybyBsb25nZSBzZW4gZW5pZ286IEHFrXRvbWF0YSBzZWFuY29maW5vXG4iCiAKICMgWFhYOiBpbnRlcm5hbCBlcnJvcjoKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICJGaWFza2lzIHByb3ZvIG5vbXVtaSBsYSBkaXNwb25hxLVvbiDCqy9kZXYvbnVsbMK7IMSJZWZlbmlndWpvOiAlcyIKIAogIyBYWFg6IGludGVybmFsIGVycm9yOgotIzogZXhlY3V0ZV9jbWQuYzoxMTYyCisjOiBleGVjdXRlX2NtZC5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJUSU1FRk9STUFUOiDigJ4lY+KAnzogTWlzYSBmb3JtYXRzaWdubyIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDc1CisjOiBleGVjdXRlX2NtZC5jOjIxMjEKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJFcmFybyBlbiBkdWt0byIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDgxCisjOiBleGVjdXRlX2NtZC5jOjQ2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczogTWFscGVybWVzaXRhcyB1emkg4oCeL+KAnyBlbiBrb21hbmRvbm9tb2oiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDU3MgorIzogZXhlY3V0ZV9jbWQuYzo0NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IEtvbWFuZG8gbmUgdHJvdml0YSIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODI3CisjOiBleGVjdXRlX2NtZC5jOjQ5NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyIKK21zZ3N0ciAi4oCeJXPigJ8gZXN0YXMg4oCeJXPigJ9cbiIKKworIzogZXhlY3V0ZV9jbWQuYzo0OTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IE1pc2EgaW50ZXJwcmV0aWxvIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NzYKKyM6IGV4ZWN1dGVfY21kLmM6NTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICJOZSBlYmxhcyBrdW5ub211bWkgYWwgZG9zaWVybnVtZXJvICVkIGxhIGRvc2llcm51bWVyb24gJWQiCiAKLSM6IGV4cHIuYzoyNDEKKyM6IGV4cHIuYzoyNTYKIG1zZ2lkICJleHByZXNzaW9uIHJlY3Vyc2lvbiBsZXZlbCBleGNlZWRlZCIKIG1zZ3N0ciAiVHJvIHByb2Z1bmRhIHJla3Vyc2lvIGVuIGVzcHJpbW8iCiAKLSM6IGV4cHIuYzoyNjUKKyM6IGV4cHIuYzoyODAKIG1zZ2lkICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgogbXNnc3RyICJSZWt1cnNpc3Rha28gZWzEiWVycGl0YSIKIAotIzogZXhwci5jOjM3OQorIzogZXhwci5jOjQyMgogbXNnaWQgInN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIgogbXNnc3RyICJTaW50YWtzYSBlcmFybyBlbiBlc3ByaW1vIgogCi0jOiBleHByLmM6NDE5CisjOiBleHByLmM6NDYzCiBtc2dpZCAiYXR0ZW1wdGVkIGFzc2lnbm1lbnQgdG8gbm9uLXZhcmlhYmxlIgogbXNnc3RyICJQcm92byB2YWxvcml6aSBuZS12YXJpYWJsb24iCiAKLSM6IGV4cHIuYzo0NDAgZXhwci5jOjQ0NSBleHByLmM6NzU2CisjOiBleHByLmM6NDg2IGV4cHIuYzo0OTEgZXhwci5jOjgwNwogbXNnaWQgImRpdmlzaW9uIGJ5IDAiCiBtc2dzdHIgIkRpdmlkbyBwZXIgMCIKIAotIzogZXhwci5jOjQ3MQorIzogZXhwci5jOjUxNwogbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKIG1zZ3N0ciAiQ0lNTzogTWlzYSBvcGVyYWNpc2lnbm8gZW4ga29tYmluaXRhIHZhbG9yaXpzaW1ib2xvIgogCi0jOiBleHByLmM6NTEzCisjOiBleHByLmM6NTY0CiBtc2dpZCAiYDonIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICLigJ464oCfIG1hbmthcyBrb25kacSJYSBlc3ByaW1vIgogCi0jOiBleHByLmM6NzgxCisjOiBleHByLmM6ODMyCiBtc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCiBtc2dzdHIgIk5lZ2F0aXZhIGVrc3BvbmVudG8iCiAKLSM6IGV4cHIuYzo4MjYKKyM6IGV4cHIuYzo4ODcKIG1zZ2lkICJpZGVudGlmaWVyIGV4cGVjdGVkIGFmdGVyIHByZS1pbmNyZW1lbnQgb3IgcHJlLWRlY3JlbWVudCIKIG1zZ3N0ciAiUG9zdCBhbnRhxa1rcmVtZW50byBhcGVydSBub21vIGRlIHZhcmlhYmxvIgogCi0jOiBleHByLmM6ODU0CisjOiBleHByLmM6OTEwCiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgIk1hbmthcyDigJ4p4oCfIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CisjOiBleHByLmM6OTU5IGV4cHIuYzoxMjgyCiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJTaW50YWtzYSBlcmFybzogTWFua2FzIG9wZXJhbmRvIgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiU2ludGFrc2EgZXJhcm86IE1pc2Egb3BlcmFjaXNpbWJvbG8gYXJpdG1ldGlrYSIKIAotIzogZXhwci5jOjEyMDIKKyM6IGV4cHIuYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiVzJXMlczogJXMgKG1pc2Egc2ltYm9sbyBlc3RhcyDigJ4lc+KAnykiCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJNYWx0YcWtZ2EgYmF6byBub21icm9zaXN0ZW1hIgogCi0jOiBleHByLmM6MTI4MAorIzogZXhwci5jOjEzODYKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgIlRybyBncmFuZGEgdmFsb3JvIHBvciBiYXpvIGRlIG5vbWJyb3Npc3RlbW8iCiAKLSM6IGV4cHIuYzoxMzI5CisjOiBleHByLmM6MTQzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgogbXNnc3RyICIlczogTWlzYSBlc3ByaW1vXG4iCkBAIC0xMDI2LDE2NiArMTAyNiwxNjYgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXR3ZDogTmUgZWJsYXMgYXRpbmdpIHBhdHJham4gZG9zaWVydWpvam4iCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NTA4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAiTmUgZWJsYXMgcmXFnWFsdGkgc2VucHJva3Jhc3RhbiByZcSdaW1vbiBwb3IgZG9zaWVybnVtZXJvICVkIgogCi0jOiBpbnB1dC5jOjI1OAorIzogaW5wdXQuYzoyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKIG1zZ3N0ciAiTWFsZWJsYXMgZGlzcG9uaWdpIG5vdmFuIGRvc2llcm51bWVyb24gcG9yIEJhxZ1hIGVuaWdvIGVsIG4tcm8gJWQiCiAKLSM6IGlucHV0LmM6MjY2CisjOiBpbnB1dC5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgogbXNnc3RyICJzYXZlX2Jhc2hfaW5wdXQ6IExhIG5vdmEgZG9zaWVybnVtZXJvIChmZCAlZCkgamFtIGhhdmFzIGJ1ZnJvbiIKIAogIyBaWlo6IHN5c19lcnJvciAoXygic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIpKTsKLSM6IGpvYnMuYzo0NjYKKyM6IGpvYnMuYzo0NjgKIG1zZ2lkICJzdGFydF9waXBlbGluZTogcGdycCBwaXBlIgogbXNnc3RyICJzdGFydF9waXBlbGluZTogcHJvY2V6Z3J1cG8gZHVrdG8iCiAKLSM6IGpvYnMuYzo4ODcKKyM6IGpvYnMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ya2VkIHBpZCAlZCBhcHBlYXJzIGluIHJ1bm5pbmcgam9iICVkIgogbXNnc3RyICJGb3JrZSBmYXJpdGEgcHJvY2V6bnVtZXJvICVkIGFwZXJhcyBlbiBydWxhdGEgbGFib3JvICVkIgogCi0jOiBqb2JzLmM6MTAwNQorIzogam9icy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKIG1zZ3N0ciAiSGFsdGlnaXRhIGxhYm9ybyAlZCBrdW4gcHJvY2V6Z3J1cG8gJWxkIGVzdGFzIGZvcmlnYXRhIgogCiAjIGlmZGVmIERFQlVHIC4uLiBpbnRlcm5hbF93YXJuaW5nKCk6Ci0jOiBqb2JzLmM6MTExMAorIzogam9icy5jOjExMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKIG1zZ3N0ciAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKIAogIyBpZmRlZiBERUJVRyAuLi4gaW50ZXJuYWxfd2FybmluZygpOgotIzogam9icy5jOjExMTMKKyM6IGpvYnMuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIG1hcmtlZCBhcyBzdGlsbCBhbGl2ZSIKIG1zZ3N0ciAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgogCi0jOiBqb2JzLmM6MTQwMQorIzogam9icy5jOjE0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkIgogbXNnc3RyICJkZXNjcmliZV9waWQ6IE5lIGVzdGFzIHRpYSBwcm9jZXpudW1lcm8gKCVsZCkhIgogCi0jOiBqb2JzLmM6MTQxNgorIzogam9icy5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2lnbmFsICVkIgogbXNnc3RyICJTaWduYWxvICVkIgogCi0jOiBqb2JzLmM6MTQzMCBqb2JzLmM6MTQ1NQorIzogam9icy5jOjE0NTkgam9icy5jOjE0ODQKIG1zZ2lkICJEb25lIgogbXNnc3RyICJGYXJpdGUiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJIYWx0aWdpdGEiCiAKLSM6IGpvYnMuYzoxNDM5CisjOiBqb2JzLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKIG1zZ3N0ciAiSGFsdGlnaXRhKCVzKSIKIAotIzogam9icy5jOjE0NDMKKyM6IGpvYnMuYzoxNDcyCiBtc2dpZCAiUnVubmluZyIKIG1zZ3N0ciAiUnVsYXRhIgogCi0jOiBqb2JzLmM6MTQ1NworIzogam9icy5jOjE0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCiBtc2dzdHIgIkZhcml0ZSglZCkiCiAKLSM6IGpvYnMuYzoxNDU5CisjOiBqb2JzLmM6MTQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeGl0ICVkIgogbXNnc3RyICJFbGlybyAlZCIKIAotIzogam9icy5jOjE0NjIKKyM6IGpvYnMuYzoxNDkxCiBtc2dpZCAiVW5rbm93biBzdGF0dXMiCiBtc2dzdHIgIk5la29uYXRhIHN0YXRvIgogCi0jOiBqb2JzLmM6MTU0OQorIzogam9icy5jOjE1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGNvcmUgZHVtcGVkKSAiCiBtc2dzdHIgIihuZWtyb3BzaW8gZWzFnXV0aXRhKSIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiAgKGxhYm9yZG9zaWVydWpvOiAlcykiCiAKLSM6IGpvYnMuYzoxNzc2CisjOiBqb2JzLmM6MTgwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAicHJvdm8gYXRyaWJ1aSAoc2V0cGdpZCkgcHJvY2V6Z3J1cG9uICUyJGxkIGRlIGxhIHByb2NlemlkbyAlMSRsZCIKIAotIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEzMyBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICJ3YWl0OiBMYSBwcm9jZXpvICVsZCBuZSBlc3RhcyBpZG8gZGUgxIlpIHRpdSDFnWVsbyIKIAotIzogam9icy5jOjIzMzEKKyM6IGpvYnMuYzoyMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIndhaXRfZm9yOiBNYWxlc3RhcyBpbmZvcm1vaiBwcmkgcHJvY2V6byAlbGQiCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IExhIGxhYm9ybyAlZCBlc3RhcyBoYWx0aWdpdGEiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogTGEgbGFib3JvIGZpbmnEnWlzIgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiBMYSBsYWJvcm8gJWQgamFtIGVzdGFzIGZvbmEiCiAKLSM6IGpvYnMuYzozMDU5CisjOiBqb2JzLmM6MzA4OQogbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUwOAorIzogam9icy5jOjM1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiJXM6IGxpbmlvICVkwqo6ICIKIAotIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIihuZWtyb3BzaW8gZWzFnXV0aXRhKSIKIAotIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKKyM6IGpvYnMuYzozNTY0IGpvYnMuYzozNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIobnVuIGxhYm9yZG9zaWVydWpvIGVzdGFzOiAlcylcbiIKIAotIzogam9icy5jOjM1NzkKKyM6IGpvYnMuYzozNjA5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmlhc2tpcyIKIAotIzogam9icy5jOjM2MzkKKyM6IGpvYnMuYzozNjY5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5pYXJhbsSdbyIKIAotIzogam9icy5jOjM2NDkKKyM6IGpvYnMuYzozNjc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCgpIgogCi0jOiBqb2JzLmM6MzY3NworIzogam9icy5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIm5lIHByb3NwZXJpcyBhdHJpYnVpIGdydXBvbiAoJWQpIGRlIHRlcm1pbmFsYSBwcm9jZXpvIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICLEiGkgdGl1IMWdZWxvIG5lIGRpc3BvbmlnYXMgbGFib3JyZWdhZG9uIgogCkBAIC0xMzU5LDk5ICsxMzU5LDk5IEBACiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb246IEFsaWRpcmVrdGFkYSBrb21hbmRvIOKAniVk4oCfIGVrc3RlciBzaWEgdmFyaWVqbyIKIAotIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQorIzogcGFyc2UueTozMTczIHBhcnNlLnk6MzQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICJOZWF0ZW5kaXRhIGRvc2llcmZpbm8gZHVtIHNlcsSJbyBkZSByZXNwb25kYSDigJ4lY+KAnyIKIAotIzogcGFyc2UueTozOTUxCisjOiBwYXJzZS55OjQwMjUKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICJOZWF0ZW5kaXRhIGRvc2llcmZpbm8gZHVtIHNlcsSJbyBkZSDigJ5dXeKAnyIKIAotIzogcGFyc2UueTozOTU2CisjOiBwYXJzZS55OjQwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiU2ludGFrc2EgZXJhcm8gZW4ga29uZGnEiWEgZXNwcmltbzogTmVhdGVuZGl0YSBzaW1ib2xvIOKAniVz4oCfIgogCi0jOiBwYXJzZS55OjM5NjAKKyM6IHBhcnNlLnk6NDAzNAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJTaW50YWtzYSBlcmFybyBlbiBrb25kacSJYSBlc3ByaW1vIgogCi0jOiBwYXJzZS55OjQwMzgKKyM6IHBhcnNlLnk6NDExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiTmVrb252ZW5hIHNpbWJvbG8g4oCeJXPigJ8gYW5zdGF0YcWtIOKAninigJ8iCiAKLSM6IHBhcnNlLnk6NDA0MgorIzogcGFyc2UueTo0MTE2CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJNYW5rYXMg4oCeKeKAnyIKIAotIzogcGFyc2UueTo0MDcwCisjOiBwYXJzZS55OjQxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJMYSBhcmd1bWVudG8g4oCeJXPigJ8gbmUga29udmVuYXMgcG9yIHVudWxva2Ega29uZGnEiWEgb3BlcmFjaXNpbWJvbG8iCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiTWFsdGHFrWdhIGFyZ3VtZW50byBwb3IgdW51bG9rYSBrb25kacSJYSBvcGVyYWNpc2ltYm9sbyIKIAotIzogcGFyc2UueTo0MTIwCisjOiBwYXJzZS55OjQxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIk1pc2Egc2ltYm9sbyDigJ4lc+KAnyBhbnN0YXRhxa0gZHVsb2thIGtvbmRpxIlhIG9wZXJhY2lzaWdubyIKIAotIzogcGFyc2UueTo0MTI0CisjOiBwYXJzZS55OjQxOTgKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIsSJaSB0aWUgZGV2YXMgZXN0aSBkdWxva2Ega29uZGnEiWEgb3BlcmFjaXNpZ25vIgogCi0jOiBwYXJzZS55OjQxNDYKKyM6IHBhcnNlLnk6NDIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJMYSBhcmd1bWVudG8g4oCeJXPigJ8gbmUga29udmVuYXMgcG9yIGR1bG9rYSBrb25kacSJYSBvcGVyYWNpc2ltYm9sbyIKIAotIzogcGFyc2UueTo0MTUwCisjOiBwYXJzZS55OjQyMjQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiPG1hbHRhxa1nYSBhcmd1bWVudG8gcG9yIGR1bG9rYSBrb25kacSJYSBvcGVyYWNpc2ltYm9sbyIKIAotIzogcGFyc2UueTo0MTYxCisjOiBwYXJzZS55OjQyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIk1pc2Egc2ltYm9sbyDigJ4lY+KAnyBlbiBrb25kacSJYSBrb21hbmRvIgogCi0jOiBwYXJzZS55OjQxNjQKKyM6IHBhcnNlLnk6NDIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiTWlzYSBzaW1ib2xvIOKAniVz4oCfIGVuIGtvbmRpxIlhIGtvbWFuZG8iCiAKLSM6IHBhcnNlLnk6NDE2OAorIzogcGFyc2UueTo0MjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiTWlzYSBzaW1ib2xvIOKAniVk4oCfIGVuIGtvbmRpxIlhIGtvbWFuZG8iCiAKLSM6IHBhcnNlLnk6NTQ1OQorIzogcGFyc2UueTo1NTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiU2ludGFrc2EgZXJhcm8gYXB1ZCBuZWF0ZW5kaXRhIHNpbWJvbG8g4oCeJXPigJ8iCiAKLSM6IHBhcnNlLnk6NTQ3NworIzogcGFyc2UueTo1NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgIlNpbnRha3NhIGVyYXJvIGFwdWQg4oCeJXPigJ8iCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJTaW50YWtzYSBlcmFybzogTmVhdGVuZGl0YSBkb3NpZXJmaW5vIgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAiU2ludGFrc2EgZXJhcm8iCiAKLSM6IHBhcnNlLnk6NTU0OQorIzogcGFyc2UueTo1NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJVenUgwqslc8K7IHBvciBlbGlyaSBlbCBsYSDFnWVsby5cbiIKIAotIzogcGFyc2UueTo1NzExCisjOiBwYXJzZS55OjU4MTgKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIk5lYXRlbmRpdGEgZG9zaWVyZmlubyBkdW0gc2VyxIlvIGRlIHJlc3BvbmRhIOKAninigJ8iCiAKQEAgLTE0NjIsODMgKzE0NjIsODMgQEAKIG1zZ3N0ciAiS29tcGxldGlnbzogRnVua2NpbyDigJ4lc+KAnyBuZSB0cm92aXRhIgogCiAjIFhYWDogcHJvZ3JhbW1pbmdfZXJyb3IKLSM6IHBjb21wbGliLmM6MTc5CisjOiBwY29tcGxpYi5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogCi0jOiBwcmludF9jbWQuYzoyOTAKKyM6IHByaW50X2NtZC5jOjI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IE1pc2Egc3Rpci1vcGVyYWNpbyDigJ4lZOKAnyIKIAotIzogcHJpbnRfY21kLmM6MzYzCisjOiBwcmludF9jbWQuYzozNjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiJWQ6IE1pc2EgZG9zaWVybnVtZXJvOiAlcyIKIAotIzogcHJpbnRfY21kLmM6MzY4CisjOiBwcmludF9jbWQuYzozNzMKIG1zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzozNzIKKyM6IHByaW50X2NtZC5jOjM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCiBtc2dzdHIgIiIKIAogIyBYWFg6IHByb2dyYW1taW5nX2Vycm9yCi0jOiBwcmludF9jbWQuYzoxNDYxCisjOiBwcmludF9jbWQuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50Zjog4oCeJWPigJ86IE1pc2EgZm9ybWF0c2lnbm8iCiAKLSM6IHJlZGlyLmM6MTEwCisjOiByZWRpci5jOjEyMgogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIkVrc3RlcnZhcmllamEgZG9zaWVybm9tbyIKIAogIyBYWFg6IGludGVybmFsX2Vycm9yCi0jOiByZWRpci5jOjE2NgorIzogcmVkaXIuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IEFtYmlndWEgYWxpZGlyZWt0YWRvIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHJlZGlyLmM6MTcwCisjOiByZWRpci5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogbXNnc3RyICIlczogTWFsZWJsYXMgc3Vyc2tyaWJpIGVremlzdGFudGFuIGRvc2llcm9uIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHJlZGlyLmM6MTc1CisjOiByZWRpci5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IExpbWlnaXRhIMWdZWxvOiBtYWxwZXJtZXNpdGFzIGFsaWRpcmVrdGkgZWxpZ29uIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHJlZGlyLmM6MTgwCisjOiByZWRpci5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgIk1hbHByb3NwZXJpcyBrcmVpIGxhYm9yZG9zaWVyb24gcG9yIHR1ai1kb2t1bWVudG86ICVzIgogCi0jOiByZWRpci5jOjE4NAorIzogcmVkaXIuYzoxOTYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgogbXNnc3RyICIlczogTWFsZWJsYXMgdmFsb3JpemkgdGFiZWxhbm9uIHBlciBsaXN0byIKIAogIyBYWFg6IGludGVybmFsX3dhcm5pbmcKLSM6IHJlZGlyLmM6NTQ0CisjOiByZWRpci5jOjU0OAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiwqsvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnTCuyBuZSBkaXNwb25lYmxhcyBla3N0ZXIgcmV0dW1hZG8iCiAKLSM6IHJlZGlyLmM6MTEwMQorIzogcmVkaXIuYzo4MTggcmVkaXIuYzo5MzAgcmVkaXIuYzo5OTMgcmVkaXIuYzoxMTM2CiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgIkFsaWRpcmVrdGFkYSBlcmFybzogRmlhc2tpcyBrdW5ub211bW8gYWwgZG9zaWVybnVtZXJvIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAiTWFua2FzIMKrL3RtcMK7LCBidiBrcmVpIMSdaW4hIgogCi0jOiBzaGVsbC5jOjMzNgorIzogc2hlbGwuYzozMzcKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiwqsvdG1wwrsgZGV2YXMgZXN0aSB2YWxpZGEgZG9zaWVydWpvIgogCkBAIC0xNTQ3LDE2ICsxNTQ3LDE2IEBACiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IE1pc2Egb3BjaW8iCiAKLSM6IHNoZWxsLmM6MTY1MQorIzogc2hlbGwuYzoxNjUyCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICJNaSBuZSBoYXZhcyBub21vbiEiCiAKLSM6IHNoZWxsLmM6MTc5MworIzogc2hlbGwuYzoxNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIG1zZ3N0ciAiR05VYSDCq2Jhc2jCuywgdmVyc2lvICVzLSglcylcbiIKIAotIzogc2hlbGwuYzoxNzk0CisjOiBzaGVsbC5jOjE3OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNTY1LDQxICsxNTY1LDQxIEBACiAiVXpvOlx0JXMgW0dOVWEgb3BjaW8gbG9uZ2Zvcm1hXSBbb3BjaW9dIC4uLlxuIgogIlx0JXMgW0dOVWEgb3BjaW8gbG9uZ2Zvcm1hXSBbb3BjaW9dIFNLUklQVE9ET1NJRVJPIC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3OTYKKyM6IHNoZWxsLmM6MTc5OAogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkdOVWFqIG9wY2lvaiBsb25nZm9ybWFqOlxuIgogCi0jOiBzaGVsbC5jOjE4MDAKKyM6IHNoZWxsLmM6MTgwMgogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIsWcZWxhaiBvcGNpb2o6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODAzCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNEIGHFrSAtYyBrb21hbmRvIGHFrSAtTyBzaG9wdF9vcGNpb1x0XHQobnVyIHZva28pXG4iCiAKLSM6IHNoZWxsLmM6MTgxNgorIzogc2hlbGwuYzoxODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyBhxa0gLW8gb3BjaW9cbiIKIAogIyBiYXNoIC0taGVscAotIzogc2hlbGwuYzoxODIyCisjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgogbXNnc3RyICJQb3IgcGx1YWogaW5mb3Jtb2ogcHJpIGxhIG9wY2lvaiB0YWpwdTogwqslcyAtYyBcImhlbHAgc2V0XCLCu1xuIgogCi0jOiBzaGVsbC5jOjE4MjMKKyM6IHNoZWxsLmM6MTgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICJQb3Igc2NpaSBwbGkgcHJpIGxhIHByaW1pdGl2YWogxZ1lbGtvbWFuZG9qIHRhanB1OiDigJ4lcyAtYyBoZWxw4oCfXG4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIlBvciByYXBvcnRpIHByaSBlcmFyb2ogdXp1IGxhIGtvbWFuZG9uIOKAnmJhc2hidWfigJ9cbiIKIAogIyBYWFg6IGludGVybmFsX2Vycm9yCi0jOiBzaWcuYzo2MjYKKyM6IHNpZy5jOjYzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IE1pc2Egb3BlcmFjaW8iCkBAIC0xODEyLDgzICsxODEyLDgzIEBACiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICJOZWtvbmF0YSBzaWduYWxvIG4tcm8gJWQiCiAKLSM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE1MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJNaXNhIGFuc3RhdGHFrWlnbzogTWFua2FzIGZlcm1hIOKAniVz4oCfIGVuICVzIgogCi0jOiBzdWJzdC5jOjI3MzUKKyM6IHN1YnN0LmM6Mjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiJXM6IE1hbGVibGFzIHZhbG9yaXppIHRhYmVsYW5vbiBwZXIgbGlzdG8iCiAKLSM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKKyM6IHN1YnN0LmM6NDk3OSBzdWJzdC5jOjQ5OTUKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiTmUgcHJvc3BlcmlzIGZhcmkgZHVrdG9uIHBvciBwcm9jZXphIGFuc3RhdGHFrWlnbyIKIAotIzogc3Vic3QuYzo0ODAyCisjOiBzdWJzdC5jOjUwMjcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIk5lIHByb3NwZXJpcyBrcmVpIGlkb24gcG9yIHByb2NlemEgYW5zdGF0YcWtaWdvIgogCi0jOiBzdWJzdC5jOjQ4NDcKKyM6IHN1YnN0LmM6NTA3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJOZSBwcm9zcGVyaXMgbWFsZmVybWkgbm9taXRhbiBkdWt0b24gJXMgcG9ybGVnYW4iCiAKLSM6IHN1YnN0LmM6NDg0OQorIzogc3Vic3QuYzo1MDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIk5lIHByb3NwZXJpcyBtYWxmZXJtaSBub21pdGFuIGR1a3RvbiAlcyBwb3Igc2tyaWJhZG8iCiAKLSM6IHN1YnN0LmM6NDg2NworIzogc3Vic3QuYzo1MDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiTmUgcHJvc3BlcmlzIGt1bm5vbXVtaSBub21oYXZhbiBkdWt0b24gJXMga2llbCBkb3NpZXJudW1lcm9uICVkIgogCi0jOiBzdWJzdC5jOjUwNjMKKyM6IHN1YnN0LmM6NTI4NAogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJOZSBwcm9zcGVyaXMgZmFyaSBkdWt0b24gcG9yIGtvbWFuZGEgYW5zdGF0YcWtaWdvIgogCi0jOiBzdWJzdC5jOjUwOTcKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiTmUgcHJvc3BlcmlzIGtyZWkgcHJvY2V6aWRvbiBwb3Iga29tYW5kYSBhbnN0YXRhxa1pZ28iCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlOiBOZSBwcm9zcGVyaXMga3Vubm9tdW1pIGxhIGRvc2llcm51bWVyb24gMSBhbCBkdWt0byIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBQYXJhbWV0cm8gZXN0YXMgTlVMIGHFrSBtYWxha3RpdmEiCiAKLSM6IHN1YnN0LmM6NTkwNworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIlczogc3VixIllbm8tZXNwcmltbyA8IDAiCiAKLSM6IHN1YnN0LmM6Njk2NQorIzogc3Vic3QuYzo3MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlczogTWlzYSBhbnN0YXRhxa1pZ28iCiAKLSM6IHN1YnN0LmM6NzA0NQorIzogc3Vic3QuYzo3MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiDEiWkgdGllbCBuZSB2YWxvcml6ZWJsYSIKIAotIzogc3Vic3QuYzo3Mzc0CisjOiBzdWJzdC5jOjc2ODQKIG1zZ2lkICIiCiAiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCiAic3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NzgzOQorIzogc3Vic3QuYzo4MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgIk1pc2EgYW5zdGF0YcWtaWdvOiBNYW5rYXMgZmVybWEg4oCeYOKAnyBlbiAlcyIKIAotIzogc3Vic3QuYzo4NzIwCisjOiBzdWJzdC5jOjkwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICJOZW5pbyBrb25ncnVhOiAlcyIKQEAgLTE5MTEsMzggKzE5MTEsMzggQEAKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJBbnN0YXRhxa0g4oCeKeKAnyB0cm92acSdYXMgJXMiCiAKLSM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTggdGVzdC5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBUaWUgZGV2YXMgZXN0aSB1bnVsb2thIG9wZXJhY2lzaWdubyIKIAotIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IFRpZSBkZXZhcyBlc3RpIGR1bG9rYSBvcGVyYWNpc2lnbm8iCiAKLSM6IHRlc3QuYzo4MTEKKyM6IHRlc3QuYzo4MTYKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAiTWFua2FzIOKAnl3igJ8iCiAKLSM6IHRyYXAuYzoyMDMKKyM6IHRyYXAuYzoyMDcKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgIk1pc2Egc2lnbmFsbnVtZXJvIgogCiAjIFhYWDogaW50ZXJuYWxfd2FybmluZwotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwczogTWlzYSB2YWxvcm8gZW4gdHJhcF9saXN0WyVkXTogJXAiCiAKICMgWFhYOiBpbnRlcm5hbF93YXJuaW5nCi0jOiB0cmFwLmM6MzMxCisjOiB0cmFwLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwczogU2lnbmFsdHJha3RpbG8gU0lHX0RGTCByZXNlbmRhcyAlZCAoJXMpIGFsIG1pIG1lbSIKIAotIzogdHJhcC5jOjM4MAorIzogdHJhcC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcjogTWlzYSBzaWduYWxudW1lcm8gJWQiCkBAIC0xOTUzLDY2ICsxOTUzLDY3IEBACiBtc2dzdHIgIkVyYXJvIMSJZSBpbXBvcnRvIGRlIGZ1bmtjaWRpZmlubyBwb3Ig4oCeJXPigJ8iCiAKICMgWFhYOiBpbnRlcm5hbF93YXJuaW5nCi0jOiB2YXJpYWJsZXMuYzo3NDgKKyM6IHZhcmlhYmxlcy5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAiJWQgZXN0YXMgdHJvIGdyYW5kYSDFnWVsbml2ZWxvOyBtYWxsZXZpdGEgxJ1pcyAxIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHZhcmlhYmxlcy5jOjE5MTUKKyM6IHZhcmlhYmxlcy5jOjE5MzIKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIm1ha2VfbG9jYWxfdmFyaWFibGU6IE1hbGVzdGFzIGZ1bmtjaWEga3VudGVrc3RvIGVuIMSJaS1yZWdpb25vIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHZhcmlhYmxlcy5jOjMxNTkKKyM6IHZhcmlhYmxlcy5jOjMxODIKIG1zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgImFsbF9sb2NhbF92YXJpYWJsZXM6IE1hbGVzdGFzIGZ1bmtjaWEga3VudGVrc3RvIGVuIMSJaS1yZWdpb25vIgogCi0jOiB2YXJpYWJsZXMuYzozMzc2CisjOiB2YXJpYWJsZXMuYzozNDI3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCiBtc2dzdHIgIiVzOiBQYXJhbWV0cm8gZXN0YXMgTlVMIGHFrSBtYWxha3RpdmEiCiAKICMgWFhYOiBpbnRlcm5hbF9lcnJvcgotIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCisjOiB2YXJpYWJsZXMuYzozNDMyIHZhcmlhYmxlcy5jOjM0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiTWlzYSBzaWdubyAlZCBlbiBla3Nwb3J0YSBzaWdub8SJZW5vIHBvciDigJ4lc+KAnyIKIAogIyBYWFg6IGludGVybmFsX2Vycm9yCi0jOiB2YXJpYWJsZXMuYzozMzk2CisjOiB2YXJpYWJsZXMuYzozNDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJNYW5rYXMg4oCePeKAnyBlbiBla3Nwb3J0YSBzaWdub8SJZW5vIHBvciDigJ4lc+KAnyIKIAogIyBYWFg6IGludGVybmFsX2Vycm9yCi0jOiB2YXJpYWJsZXMuYzozODM1CisjOiB2YXJpYWJsZXMuYzozODkxCiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICIiCiAicG9wX3Zhcl9jb250ZXh0OiBMYSBrYXBvIGRlIOKAnnNoZWxsX3ZhcmlhYmxlc+KAnyBuZSBlc3RhcyBmdW5rY2lhIGt1bnRla3N0byIKIAogIyBYWFg6IGludGVybmFsX2Vycm9yCi0jOiB2YXJpYWJsZXMuYzozODQ4CisjOiB2YXJpYWJsZXMuYzozOTA0CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDogTWFua2FzIGt1bnRla3N0byBkZSDigJ5nbG9iYWxfdmFyaWFibGVz4oCfIgogCiAjIFhYWDogaW50ZXJuYWxfZXJyb3IKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAicG9wX3Njb3BlOiBMYSBrYXBvIGRlIOKAnnNoZWxsX3ZhcmlhYmxlc+KAnyBuZSBlc3RhcyBwcm92aXpvcmEgcmVnaW9ubyIKIAotIzogdmFyaWFibGVzLmM6NDY3OAorIzogdmFyaWFibGVzLmM6NDc4NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgogbXNnc3RyICIlczogRmlhc2tpcyBtYWxmZXJtbyBkZSAlcyIKIAotIzogdmFyaWFibGVzLmM6NDY4MworIzogdmFyaWFibGVzLmM6NDc5MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCiBtc2dzdHIgIiVkOiBNaXNhIGRvc2llcm51bWVybzogJXMiCiAKICM6IHZlcnNpb24uYzo0NgotbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCisjLCBmdXp6eQorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwOSDEiWUgwqtGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy7CuyIKIAogIzogdmVyc2lvbi5jOjQ3CkBAIC0yMTEwLDcgKzIxMTEsOCBAQAogbXNnc3RyICJjYWxsZXIgW0VTUFJJTU9dIgogCiAjOiBidWlsdGlucy5jOjY0Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKKyMsIGZ1enp5Cittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCiBtc2dzdHIgImNkIFstTHwtUF0gW0RPU0lFUlVKT10iCiAKICM6IGJ1aWx0aW5zLmM6NjYKQEAgLTIxMzQsMTEgKzIxMzYsMTMgQEAKIG1zZ3N0ciAiY29tbWFuZCBbLXBWdl0gS09NQU5ETyBbQVJHIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6NzYKLW1zZ2lkICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCisjLCBmdXp6eQorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCiBtc2dzdHIgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtOT01PWz1WQUxPUk9dIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6NzgKLW1zZ2lkICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgorIywgZnV6enkKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKIG1zZ3N0ciAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gTk9NT1s9VkFMT1JPXSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6ODAKQEAgLTIyNDUsNyArMjI0OSw4IEBACiBtc2dzdHIgInJldHVybiBbTl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQwCi1tc2dpZCAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCiBtc2dzdHIgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIE9QQ0lOT01PXSBbQVJHIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQyCkBAIC0yMjU3LDcgKzIyNjIsOCBAQAogbXNnc3RyICJleHBvcnQgWy1mbl0gW05PTU9bPVZBTE9ST10gLi4uXSAgYcWtICBleHBvcnQgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ2Ci1tc2dpZCAicmVhZG9ubHkgWy1hZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgorIywgZnV6enkKK21zZ2lkICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgogbXNnc3RyICJyZWFkb25seSBbLWFBZl0gW05PTU9bPVZBTE9ST10gLi4uXSAgYcWtICByZWFkb25seSAtcCIKIAogIzogYnVpbHRpbnMuYzoxNDgKQEAgLTI2NjAsNiArMjY2Niw3IEBACiAKICMgY2Q6CiAjOiBidWlsdGlucy5jOjM4MworIywgZnV6enkKIG1zZ2lkICIiCiAiQ2hhbmdlIHRoZSBzaGVsbCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNjg1LDExICsyNjkyLDE1IEBACiAiICAgICAgICAtTFx0Zm9yY2Ugc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG93ZWRcbiIKICIgICAgICAgIC1QXHR1c2UgdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWNcbiIKICIgICAgXHRsaW5rc1xuIgorIiAgICAgICAgLWVcdGlmIHRoZSAtUCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVxuIgorIiAgICBcdGNhbm5vdCBiZSBkZXRlcm1pbmVkIHN1Y2Nlc3NmdWxseSwgZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzXG4iCiAiICAgIFxuIgogIiAgICBUaGUgZGVmYXVsdCBpcyB0byBmb2xsb3cgc3ltYm9saWMgbGlua3MsIGFzIGlmIGAtTCcgd2VyZSBzcGVjaWZpZWQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKKyIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZCwgYW5kIGlmICRQV0QgaXMgc2V0IHN1Y2Nlc3NmdWxseSAiCisid2hlblxuIgorIiAgICAtUCBpcyB1c2VkOyBub24temVybyBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAixZxhbsSddSBsYSBrdXJhbnRhbiBsYWJvcmFuIGRvc2llcnVqb24gZGUgbGEgxZ1lbG8uXG4iCiAiXG4iCkBAIC0yNzE2LDcgKzI3MjcsNyBAQAogIiAgICDEnGkgZXN0YXMgMCwgc2UgbGEgZG9zaWVydWrFnWFuxJ1vIHN1a2Nlc2lzOyBuZW51bG8gYWxpb2themUuIgogCiAjIHB3ZCBbLUxQXQotIzogYnVpbHRpbnMuYzo0MTEKKyM6IGJ1aWx0aW5zLmM6NDE0CiBtc2dpZCAiIgogIlByaW50IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI3NDUsNyArMjc1Niw3IEBACiAiICAgIDAsIGtyb20gc2UgYXBlcmFzIG1pc2Egb3BjaW8gYcWtIGxhIGt1cmFudGEgZG9zaWVydWpvIGVzdGFzXG4iCiAiICAgIG5lbGVnZWJsYS4iCiAKLSM6IGJ1aWx0aW5zLmM6NDI4CisjOiBidWlsdGlucy5jOjQzMQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjc2Miw3ICsyNzczLDcgQEAKICIgICAgxIhpYW0gc3VrY2VzYS4iCiAKICMgdHJ1ZQotIzogYnVpbHRpbnMuYzo0MzkKKyM6IGJ1aWx0aW5zLmM6NDQyCiBtc2dpZCAiIgogIlJldHVybiBhIHN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI3NzUsNyArMjc4Niw3IEBACiAiICAgIMSIaWFtIHN1a2Nlc2EuIgogCiAjIGZhbHNlOgotIzogYnVpbHRpbnMuYzo0NDgKKyM6IGJ1aWx0aW5zLmM6NDUxCiBtc2dpZCAiIgogIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI3ODksNyArMjgwMCw3IEBACiAKICMgY29tbWFuZCBbLXBWdl0gY29tbWFuZCBbYXJnIC4uLl0KICMgY29tbWFuZCBbLXBWdl0gS09NQU5ETyBbQVJHIC4uLl0KLSM6IGJ1aWx0aW5zLmM6NDU3CisjOiBidWlsdGlucy5jOjQ2MAogbXNnaWQgIiIKICJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yODI1LDcgKzI4MzYsOCBAQAogCiAjIGRlY2xhcmUgWy1hZkZpcnR4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXQogIyBkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbTk9NT1s9VkFMT1JPXSAuLi5dCi0jOiBidWlsdGlucy5jOjQ3NgorIzogYnVpbHRpbnMuYzo0NzkKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgpAQCAtMjgzNiw2ICsyODQ4LDggQEAKICIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCiAiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKICIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKICIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgpAQCAtMjg1NSw3ICsyODY5LDcgQEAKICIgICAgXG4iCiAiICAgIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBgZGVjbGFyZScgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKICJgbG9jYWwnXG4iCi0iICAgIGNvbW1hbmQuXG4iCisiICAgIGNvbW1hbmQuICBUaGUgYC1nJyBvcHRpb24gc3VwcHJlc3NlcyB0aGlzIGJlaGF2aW9yLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKQEAgLTI4OTIsNyArMjkwNiw3IEBACiAiICAgIFN1a2Nlc28sIGtyb20gc2UgYXBlcmFzIG1pc2Egb3BjaW8gYcWtIG9rYXphcyBlcmFyby4iCiAKICMgdHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLgotIzogYnVpbHRpbnMuYzo1MTIKKyM6IGJ1aWx0aW5zLmM6NTE3CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgpAQCAtMjkwNCw3ICsyOTE4LDcgQEAKIAogIyBsb2NhbCBbb3B0aW9uXSBuYW1lWz12YWx1ZV0gLi4uCiAjIGxvY2FsIFtPUENJT10gTk9NT1s9VkFMT1JPXSAuLi4KLSM6IGJ1aWx0aW5zLmM6NTIwCisjOiBidWlsdGlucy5jOjUyNQogbXNnaWQgIiIKICJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI5MzEsNyArMjk0NSw3IEBACiAiICAgIGVzdGFzIHBsZW51bWFudGEgZnVua2Npb24uIgogCiAjIGVjaG86Ci0jOiBidWlsdGlucy5jOjUzNworIzogYnVpbHRpbnMuYzo1NDIKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjk5MSw3ICszMDA1LDcgQEAKICIgICAgU3VrY2VzYSwga3JvbSBzZSBva2F6YXMgZWxpZy1lcmFyby4iCiAKICMgZWNobyBbLW5dIFtBUkcgLi4uXQotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTMwMTUsNyArMzAyOSw3IEBACiAKICMgZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYgZmlsZW5hbWVdIFtuYW1lIC4uLl0KICMgZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYgRE9TSUVSTk9NT10gW05PTU8gLi4uXQotIzogYnVpbHRpbnMuYzo1ODYKKyM6IGJ1aWx0aW5zLmM6NTkxCiBtc2dpZCAiIgogIkVuYWJsZSBhbmQgZGlzYWJsZSBzaGVsbCBidWlsdGlucy5cbiIKICIgICAgXG4iCkBAIC0zMDY3LDcgKzMwODEsNyBAQAogIiAgICBlcmFyby4iCiAKICMgZXZhbCBbQVJHIC4uLl0KLSM6IGJ1aWx0aW5zLmM6NjE0CisjOiBidWlsdGlucy5jOjYxOQogbXNnaWQgIiIKICJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzA4OCw3ICszMTAyLDcgQEAKIAogIyBnZXRvcHRzIG9wdHN0cmluZyBuYW1lIFthcmddID0+CiAjIGdldG9wdHMgT1BDScSIRU5PIE5PTU8gW0FSR10KLSM6IGJ1aWx0aW5zLmM6NjI2CisjOiBidWlsdGlucy5jOjYzMQogbXNnaWQgIiIKICJQYXJzZSBvcHRpb24gYXJndW1lbnRzLlxuIgogIiAgICBcbiIKQEAgLTMxNjgsNyArMzE4Miw3IEBACiAKICMgZXhlYyBbLWNsXSBbLWEgbmFtZV0gW2NvbW1hbmQgW2FyZ3VtZW50cyAuLi5dXSBbcmVkaXJlY3Rpb24gLi4uXQogIyBleGVjIFstY2xdIFstYSBOT01PXSBbS09NQU5ETyBbQVJHVU1FTlRPSiAuLi5dXSBbQUxJRElSRUtUQURPIC4uLl0KLSM6IGJ1aWx0aW5zLmM6NjY4CisjOiBidWlsdGlucy5jOjY3MwogbXNnaWQgIiIKICJSZXBsYWNlIHRoZSBzaGVsbCB3aXRoIHRoZSBnaXZlbiBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTMyMTAsNyArMzIyNCw3IEBACiAiICAgIGFsaXJla3RhZG8uIgogCiAjIGV4aXQgW25dCi0jOiBidWlsdGlucy5jOjY4OQorIzogYnVpbHRpbnMuYzo2OTQKIG1zZ2lkICIiCiAiRXhpdCB0aGUgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzIyMyw3ICszMjM3LDcgQEAKICIgICAgZXN0YXMgdGl1IGRlIGxhIHBsZWogxLV1c2UgcGxlbnVtaXRhIGtvbWFuZG8uIgogCiAjIGxvZ291dCBbTl0KLSM6IGJ1aWx0aW5zLmM6Njk4CisjOiBidWlsdGlucy5jOjcwMwogbXNnaWQgIiIKICJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzI0MCw3ICszMjU0LDcgQEAKICMgICAgICBmYyAtcyBbcGF0PXJlcF0gW2NvbW1hbmRdID0+CiAjIGZjIFstZSBSRURBS1RJTE9dIFstbG5yXSBbVU5VQV0gW0xBU1RBXSBhxa0KICMgZmMgLXMgW8WcQUJMT05PPUFOU1RdIFtLT01BTkRPXQotIzogYnVpbHRpbnMuYzo3MDgKKyM6IGJ1aWx0aW5zLmM6NzEzCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzI5NSw3ICszMzA5LDcgQEAKICIgICAgZXJhcm8uIgogCiAjIGZnIFtqb2Jfc3BlY10gPT4gZmcgW0xBQk9SSU5ESUtPXQotIzogYnVpbHRpbnMuYzo3MzgKKyM6IGJ1aWx0aW5zLmM6NzQzCiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTMzMTYsNyArMzMzMCw3IEBACiAiICAgIFRpdSBkZSBsYSBkaWFsb2dpZ2l0YSBrb21hbmRvOyBhxa0gbWFsc3VrY2Vzbywgc2Ugb2themlzIGVyYXJvLiIKIAogIyBiZyBbam9iX3NwZWNdID0+IGJnIFtMQUJPUklORElLT10KLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogbXNnaWQgIiIKICJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzM0MCw3ICszMzU0LDcgQEAKICIgICAgZXJhcm8uIgogCiAjIGhhc2ggWy1scl0gWy1wIFZPSk5PTU9dIFstZHRdIFtOT01PIC4uLl0KLSM6IGJ1aWx0aW5zLmM6NzY3CisjOiBidWlsdGlucy5jOjc3MgogbXNnaWQgIiIKICJSZW1lbWJlciBvciBkaXNwbGF5IHByb2dyYW0gbG9jYXRpb25zLlxuIgogIiAgICBcbiIKQEAgLTMzODYsNyArMzQwMCw3IEBACiAKICMgaGVscCBbLWRzXSBbcGF0dGVybiAuLi5dCiAjIGhlbHAgWy1kc10gW8WcQUJMT05PIC4uLl0KLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzQzMSw3ICszNDQ1LDcgQEAKICMgaGlzdG9yeSBbLWNdIFstZCBERcWcT1ZPXSBbbl0gYcWtCiAjIGhpc3RvcnkgLWF3ciBbRE9TSUVSTk9NT10gYcWtCiAjIGhpc3RvcnkgLXBzIEFSRyBbQVJHLi4uXQotIzogYnVpbHRpbnMuYzo4MTYKKyM6IGJ1aWx0aW5zLmM6ODIxCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTM1MDQsNyArMzUxOCw3IEBACiAjICAgICBqb2JzIC14IGNvbW1hbmQgW2FyZ3NdID0+CiAjIGpvYnMgWy1sbnByc10gW0xBQk9SSU5ESUtPIC4uLl0gYcWtCiAjIGpvYnMgLXggS09NQU5ETyBbQVJHU10KLSM6IGJ1aWx0aW5zLmM6ODUyCisjOiBidWlsdGlucy5jOjg1NwogbXNnaWQgIiIKICJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgogIiAgICBcbiIKQEAgLTM1NTAsNyArMzU2NCw3IEBACiAiICAgIMSIZSDigJ4teOKAnywgbGEgZWxpcnN0YXRvIGRlIGxhIEtPTUFORE8uIgogCiAjIGRpc293biBbLWhdIFstYXJdIFtqb2JzcGVjIC4uLl0KLSM6IGJ1aWx0aW5zLmM6ODc5CisjOiBidWlsdGlucy5jOjg4NAogbXNnaWQgIiIKICJSZW1vdmUgam9icyBmcm9tIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzU4Niw3ICszNjAwLDcgQEAKICMgICAgICBraWxsIC1sIFtzaWdzcGVjXSA9PgogIyBraWxsIFstcyBTSUdTTk9NIHwgLW4gU0lHTlVNIHwgLVNJR05PTV0gUE4gfCBMQUJPUklORElLTyAuLi4gYcWtCiAjIGtpbGwgLWwgW1NJR05PTV0KLSM6IGJ1aWx0aW5zLmM6ODk4CisjOiBidWlsdGlucy5jOjkwMwogbXNnaWQgIiIKICJTZW5kIGEgc2lnbmFsIHRvIGEgam9iLlxuIgogIiAgICBcbiIKQEAgLTM2MjksNyArMzY0Myw4IEBACiAiICAgIFN1a2Nlc28sIGtyb20gc2UgZW5lc3RhcyBtaXNhIG9wY2lvIGHFrSBva2F6aXMgZXJhcm8uIgogCiAjIGxldCBhcmcgW2FyZyAuLi5dCi0jOiBidWlsdGlucy5jOjkyMQorIzogYnVpbHRpbnMuYzo5MjYKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzY3MSw3ICszNjg2LDcgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIktvbXB1dHUgYXJpdG1ldGlrYW4gZXNwcmltb25cbiIKICJcbiIKQEAgLTM3MTksNyArMzczNCw3IEBACiAjICAgICAgWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXQogIyByZWFkIFstZXJzXSBbLWEgVEFCRUxPXSBbLWQgRElTSUddIFstaSBURUtTVE9dIFstbiBOU0lHTl0gWy1wIElOVklUXQogIyAgICAgIFstdCBUTElNXSBbLXUgRE5dIFtOT01PIC4uLl0KLSM6IGJ1aWx0aW5zLmM6OTY2CisjOiBidWlsdGlucy5jOjk3MQogIywgZnV6enkKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgpAQCAtMzgwOCw3ICszODIzLDcgQEAKIAogIyByZXR1cm4gW25dCiAjIHJldHVybiBbTl0KLSM6IGJ1aWx0aW5zLmM6MTAwOQorIzogYnVpbHRpbnMuYzoxMDE0CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzgzMCw3ICszODQ1LDggQEAKIAogIyBzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dCiAjIHNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIE9QQ0lOT01PXSBbQVJHIC4uLl0KLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CisjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zODk5LDYgKzM5MTUsOSBAQAogIiAgICAgIC1QICBJZiBzZXQsIGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3Mgd2hlbiBleGVjdXRpbmcgY29tbWFuZHNcbiIKICIgICAgICAgICAgc3VjaCBhcyBjZCB3aGljaCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgogIiAgICAgIC1UICBJZiBzZXQsIHRoZSBERUJVRyB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLS0gIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgorIiAgICAgICAgICBJZiB0aGVyZSBhcmUgbm8gcmVtYWluaW5nIGFyZ3VtZW50cywgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICAgICAgICBhcmUgdW5zZXQuXG4iCiAiICAgICAgLSAgIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICAgICAgICBUaGUgLXggYW5kIC12IG9wdGlvbnMgYXJlIHR1cm5lZCBvZmYuXG4iCiAiICAgIFxuIgpAQCAtMzk5NCw3ICs0MDEzLDcgQEAKIAogIyB1bnNldCBbLWZdIFstdl0gW25hbWUgLi4uXQogIyB1bnNldCBbLWZdIFstdl0gW05PTU8gLi4uXQotIzogYnVpbHRpbnMuYzoxMTA0CisjOiBidWlsdGlucy5jOjExMTIKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTQwMzIsNyArNDA1MSw3IEBACiAKICMgZXhwb3J0IFstZm5dIFtuYW1lWz12YWx1ZV0gLi4uXSBvciBleHBvcnQgLXAKICMgZXhwb3J0IFstZm5dIFtOT01PWz1WQUxPUk9dIC4uLl0gIGHFrSAgZXhwb3J0IC1wCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTQwNjgsNyArNDA4Nyw3IEBACiAKICMgcmVhZG9ubHkgWy1hZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wCiAjIHJlYWRvbmx5IFstYUFmXSBbTk9NT1s9VkFMT1JPXSAuLi5dICBhxa0gIHJlYWRvbmx5IC1wCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtNDEwNSw3ICs0MTI0LDcgQEAKICIgICAgU3VrY2Vzbywga3JvbSBzZSBhcGVyYXMgbmV2YWxpZGEgbm9tbyBhxa0gbWlzYSBvcGNpby4iCiAKICMgc2hpZnQgW25dCi0jOiBidWlsdGlucy5jOjExNjQKKyM6IGJ1aWx0aW5zLmM6MTE3MgogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtNDEyMiw3ICs0MTQxLDcgQEAKIAogIyBzb3VyY2UgZmlsZW5hbWUgW2FyZ3VtZW50c10KICMgc291cmNlIERPU0lFUk5PTU8gW0FSR1VNRU5UT0pdCi0jOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtNDE0Nyw3ICs0MTY2LDcgQEAKICIgICAgRE9TSUVSTk9NTyBuZSBsZWdlYmxhcy4iCiAKICMgc3VzcGVuZCBbLWZdCi0jOiBidWlsdGlucy5jOjEyMDcKKyM6IGJ1aWx0aW5zLmM6MTIxNQogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC00MTczLDE0ICs0MTkyLDE4IEBACiAKICMgdGVzdCBbZXhwcl0KICMgdGVzdCBbRVNQUklNT10KLSM6IGJ1aWx0aW5zLmM6MTIyMworIzogYnVpbHRpbnMuYzoxMjMxCisjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKICIgICAgRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlKSBvciAxIChmYWxzZSkgZGVwZW5kaW5nIG9uXG4iCiAiICAgIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnlcbiIKICIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCi0iICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFzIHdlbGwsIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgogIiAgICBcbiIKICIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgpAQCAtNDIzNCw2ICs0MjU3LDcgQEAKICIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKICIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgogIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKICIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgogIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCkBAIC00MzE4LDcgKzQzNDIsNyBAQAogIiAgICBhcmd1bWVudG8uIgogCiAjIFsgYXJnLi4uIF0KLSM6IGJ1aWx0aW5zLmM6MTI5OQorIzogYnVpbHRpbnMuYzoxMzExCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDMyOCw3ICs0MzUyLDcgQEAKICLEiGkgdGl1IGVzdGFzIHNpbm9uaW1vIGRlIGxhIHByaW1pdGl2byDigJ50ZXN04oCfOyB0YW1lbiBsYSBsYXN0YVxuIgogIiAgICBhcmd1bWVudG8gZGV2YXMgZXN0aSDigJ5d4oCfIGZlcm1hbnRhIGxhIGVzcHJpbW9uIGtvbWVuY2l0YW4gcGVyIOKAnlvigJ8uIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtNDM0OSw3ICs0MzczLDggQEAKIAogIyB0cmFwIFstbHBdIFtbYXJnXSBzaWduYWxfc3BlYyAuLi5dCiAjIHRyYXAgWy1scF0gW1tBUkddIFNJR05BTElORElLTyAuLi5dCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgorIywgZnV6enkKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiAiICAgIFxuIgpAQCAtNDM2NSw3ICs0MzkwLDE1IEBACiAiICAgIFxuIgogIiAgICBJZiBhIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20gdGhlIHNoZWxsLiAgIgogIklmXG4iCi0iICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuICAiCisiSWZcbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBSRVRVUk4sIEFSRyBpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciAiCisiYVxuIgorIiAgICBzY3JpcHQgcnVuIGJ5IHRoZSAuIG9yIHNvdXJjZSBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuICBBICIKKyJTSUdOQUxfU1BFQ1xuIgorIiAgICBvZiBFUlIgbWVhbnMgdG8gZXhlY3V0ZSBBUkcgZWFjaCB0aW1lIGEgY29tbWFuZCdzIGZhaWx1cmUgd291bGQgY2F1c2UgIgorInRoZVxuIgorIiAgICBzaGVsbCB0byBleGl0IHdoZW4gdGhlIC1lIG9wdGlvbiBpcyBlbmFibGVkLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCwgdHJhcCBwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgIgogImFzc29jaWF0ZWRcbiIKQEAgLTQ0MTYsNyArNDQ0OSw3IEBACiAKICMgdHlwZSBbLWFmcHRQXSBuYW1lIFtuYW1lIC4uLl0KICMgdHlwZSBbLWFmcHRQXSBOT01PIFtOT01PIC4uLl0KLSM6IGJ1aWx0aW5zLmM6MTM1MgorIzogYnVpbHRpbnMuYzoxMzY4CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTQ0NzQsNyArNDUwNyw3IEBACiAKICMgdWxpbWl0IFstU0hhY2RlZmlsbW5wcXJzdHV2eF0gW2xpbWl0XQogIyB1bGltaXQgWy1TSGFjZGVmaWxtbnBxcnN0dXZ4XSBbTElNT10KLSM6IGJ1aWx0aW5zLmM6MTM4MworIzogYnVpbHRpbnMuYzoxMzk5CiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtNDU1OCw3ICs0NTkxLDcgQEAKIAogIyB1bWFzayBbLXBdIFstU10gW21vZGVdCiAjIHVtYXNrIFstcF0gWy1TXSBbUkXEnElNT10KLSM6IGJ1aWx0aW5zLmM6MTQyOAorIzogYnVpbHRpbnMuYzoxNDQ0CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTQ1OTMsNyArNDYyNiw3IEBACiAKICMgd2FpdCBbaWRdCiAjIHdhaXQgW0lORF0KLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDYyMyw3ICs0NjU2LDcgQEAKIAogIyB3YWl0IFtwaWRdCiAjIHdhaXQgW1BOXQotIzogYnVpbHRpbnMuYzoxNDY2CisjOiBidWlsdGlucy5jOjE0ODIKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDY0OCw3ICs0NjgxLDcgQEAKIAogIyBmb3IgTkFNRSBbaW4gV09SRFMgLi4uIF0gOyBkbyBDT01NQU5EUzsgZG9uZQogIyBmb3IgTk9NTyBbaW4gVk9SVE9KIC4uLiBdIDsgZG8gS09NQU5ET0o7IGRvbmUKLSM6IGJ1aWx0aW5zLmM6MTQ4MQorIzogYnVpbHRpbnMuYzoxNDk3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC00NjcyLDcgKzQ3MDUsNyBAQAogCiAjIGZvciAoKCBleHAxOyBleHAyOyBleHAzICkpOyBkbyBDT01NQU5EUzsgZG9uZQogIyBmb3IgKCggRVNQUjE7IEVTUFIyOyBFU1BSMyApKTsgZG8gS09NQU5ET0o7IGRvbmUKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtNDcwNCw3ICs0NzM3LDcgQEAKIAogIyBzZWxlY3QgTkFNRSBbaW4gV09SRFMgLi4uIDtdIGRvIENPTU1BTkRTOyBkb25lCiAjIHNlbGVjdCBOT05PIFtpbiBWT1JUT0ogLi4uIDtdIGRvIEtPTUFORE9KOyBkb25lCi0jOiBidWlsdGlucy5jOjE1MTMKKyM6IGJ1aWx0aW5zLmM6MTUyOQogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtNDc0MSw3ICs0Nzc0LDcgQEAKIAogIyB0aW1lIFstcF0gUElQRUxJTkUKICMgdGltZSBbLXBdIERVS1RPCi0jOiBidWlsdGlucy5jOjE1MzQKKyM6IGJ1aWx0aW5zLmM6MTU1MAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC00NzcyLDcgKzQ4MDUsNyBAQAogCiAjIGNhc2UgV09SRCBpbiBbUEFUVEVSTiBbfCBQQVRURVJOXS4uLikgQ09NTUFORFMgOztdLi4uIGVzYWMKICMgY2FzZSBWT1JUTyBpbiBbxZxBQkxPTk8gW3wgxZxBQkxPTk9dLi4uKSBLT01BTkRPSiA7O10uLi4gZXNhYwotIzogYnVpbHRpbnMuYzoxNTUxCisjOiBidWlsdGlucy5jOjE1NjcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTQ3OTQsNyArNDgyNyw3IEBACiAjIFsgZWxzZSBDT01NQU5EUzsgXSBmaQogIyBpZiBLT01BTkRPSjsgdGhlbiBLT01BTkRPSjtbIGVsaWYgS09NQU5ET0o7IHRoZW4gS09NQU5ET0o7IF0uLi4KICMgWyBlbHNlIEtPTUFORE9KOyBdIGZpCi0jOiBidWlsdGlucy5jOjE1NjMKKyM6IGJ1aWx0aW5zLmM6MTU3OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTQ4MjYsNyArNDg1OSw3IEBACiAKICMgd2hpbGUgQ09NTUFORFM7IGRvIENPTU1BTkRTOyBkb25lCiAjIHdoaWxlIEtPTUFORE9KOyBkbyBLT01BTkRPSjsgZG9uZQotIzogYnVpbHRpbnMuYzoxNTgwCisjOiBidWlsdGlucy5jOjE1OTYKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC00ODQ2LDcgKzQ4NzksNyBAQAogCiAjIHVudGlsIENPTU1BTkRTOyBkbyBDT01NQU5EUzsgZG9uZQogIyB1bnRpbCBLT01BTkRPSjsgZG8gS09NQU5ET0o7IGRvbmUKLSM6IGJ1aWx0aW5zLmM6MTU5MgorIzogYnVpbHRpbnMuYzoxNjA4CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKICIgICAgXG4iCkBAIC00ODY2LDcgKzQ4OTksNyBAQAogCiAjIGNvcHJvYyBbTkFNRV0gY29tbWFuZCBbcmVkaXJlY3Rpb25zXQogIyBjb3Byb2MgW05PTU9dIEtPTUFORE8gW0FMSURJUkVLVEFET0pdCi0jOiBidWlsdGlucy5jOjE2MDQKKyM6IGJ1aWx0aW5zLmM6MTYyMAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00ODkwLDcgKzQ5MjMsNyBAQAogCiAjIGZ1bmN0aW9uIG5hbWUgeyBDT01NQU5EUyA7IH0gb3IgbmFtZSAoKSB7IENPTU1BTkRTIDsgfQogIyBmdW5jdGlvbiBOT01PIHsgS09NQU5ET0ogOyB9ICBhxa0gIE5PTU8gKCkgeyBLT01BTkRPSiA7IH0KLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00OTE1LDcgKzQ5NDgsNyBAQAogCiAjIGdyb3VwaW5nX2JyYWNlczogeyBDT01NQU5EUyA7IH0KICMgeyBLT01BTkRPSiA7IH0KLSM6IGJ1aWx0aW5zLmM6MTYzMgorIzogYnVpbHRpbnMuYzoxNjQ4CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC00OTM1LDcgKzQ5NjgsNyBAQAogCiAjIGpvYl9zcGVjIFsmXQogIyBMQUJPUklORElLTyBbJl0KLSM6IGJ1aWx0aW5zLmM6MTY0NAorIzogYnVpbHRpbnMuYzoxNjYwCiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC00OTYwLDcgKzQ5OTMsNyBAQAogCiAjICgoIGV4cHJlc3Npb24gKSkKICMgKCggRVNQUklNTyApKQotIzogYnVpbHRpbnMuYzoxNjU5CisjOiBidWlsdGlucy5jOjE2NzUKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQ5ODAsNyArNTAxMyw3IEBACiAKICMgW1sgZXhwcmVzc2lvbiBdXQogIyBbWyBFU1BSSU1PIF1dCi0jOiBidWlsdGlucy5jOjE2NzEKKyM6IGJ1aWx0aW5zLmM6MTY4NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtNTAzMSw3ICs1MDY0LDcgQEAKIAogIyBoZWxwIHZhcgogIyB2YXJpYWJsZXMgLSBOYW1lcyBhbmQgbWVhbmluZ3Mgb2Ygc29tZSBzaGVsbCB2YXJpYWJsZXMKLSM6IGJ1aWx0aW5zLmM6MTY5NworIzogYnVpbHRpbnMuYzoxNzEzCiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtNTEzOCw3ICs1MTcxLDcgQEAKIAogIyBwdXNoZCBbLW5dIFsrTiB8IC1OIHwgZGlyXQogIyBwdXNoZCBbLW5dIFsrTiB8IC1OIHwgRE9TSUVSVUpPXQotIzogYnVpbHRpbnMuYzoxNzU0CisjOiBidWlsdGlucy5jOjE3NzAKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUxOTcsNyArNTIzMCw3IEBACiAiICAgIFN1a2Nlc28sIGtyb20gc2UgYXBlcmFzIG1pc2EgYXJndW1lbnRvIGHFrSBzZSBjZCBtYWxzdWtjZXNhcy4iCiAKICMgcG9wZCBbLW5dIFsrTiB8IC1OXQotIzogYnVpbHRpbnMuYzoxNzg4CisjOiBidWlsdGlucy5jOjE4MDQKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTI0Niw3ICs1Mjc5LDcgQEAKICIgICAgU3VrY2Vzbywga3JvbSBzZSBhcGVyYXMgbWlzYSBhcmd1bWVudG8gYcWtIHNlIGNkIG1hbHN1a2Nlc2FzLiIKIAogIyBkaXJzIFstY2xwdl0gWytOXSBbLU5dCi0jOiBidWlsdGlucy5jOjE4MTgKKyM6IGJ1aWx0aW5zLmM6MTgzNAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MzAwLDcgKzUzMzMsNyBAQAogCiAjIHNob3B0IFstcHFzdV0gWy1vXSBbb3B0bmFtZSAuLi5dCiAjIHNob3B0IFstcHFzdV0gWy1vXSBbT1BDSU5PTU8gLi4uXQotIzogYnVpbHRpbnMuYzoxODQ3CisjOiBidWlsdGlucy5jOjE4NjMKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUzNDAsNyArNTM3Myw4IEBACiAKICMgcHJpbnRmIFstdiB2YXJdIGZvcm1hdCBbYXJndW1lbnRzXQogIyBwcmludGYgWy12IFZBUl0gRk9STUFUTyBbQVJHVU1FTlRPSl0KLSM6IGJ1aWx0aW5zLmM6MTg2OAorIzogYnVpbHRpbnMuYzoxODg0CisjLCBmdXp6eQogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC01MzYzLDYgKzUzOTcsOSBAQAogIiAgICBcbiIKICIgICAgICAlYlx0ZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50XG4iCiAiICAgICAgJXFcdHF1b3RlIHRoZSBhcmd1bWVudCBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXRcbiIKKyIgICAgICAlKGZtdClUIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcgZnJvbSB1c2luZyBGTVQgYXMgYSAiCisiZm9ybWF0XG4iCisiICAgICAgICAgICAgc3RyaW5nIGZvciBzdHJmdGltZSgzKVxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSB3cml0ZSBvciAiCkBAIC01MzkwLDcgKzU0MjcsNyBAQAogIyBjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIE9QQ0lPXSBbLUEgQUdPXSBbLUcgR0xPQsWcQUJdCiAjIAkgWy1XIFZPUlRMSVNUT10gIFstRiBGVU5LQ0lPXSBbLUMgS09NQU5ET10gWy1YIEZJTFRST8WcQUJdCiAjICAgICAgICAgIFstUCBQUkVGSUtTT10gWy1TIFNVRkZJS1NPXSBbTk9NTyAuLi5dCi0jOiBidWlsdGlucy5jOjE4OTUKKyM6IGJ1aWx0aW5zLmM6MTkxMwogIywgZnV6enkKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCkBAIC01NDQwLDcgKzU0NzcsNyBAQAogIyBjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8gT1BDSU9dICBbLUEgQUdPXSBbLUcgR0xPQsWcQUJdCiAjIAlbLVcgdk9SVExJU1RPXSAgWy1GIEZVTktDSU9dIFstQyBLT01BTkRPXSBbLVggRklMVFJPxZxBQl0KICMgCVstUCBQUkVGSUtTT10gWy1TIFNVRkZJS1NPXSBbVk9SVE9dCi0jOiBidWlsdGlucy5jOjE5MjMKKyM6IGJ1aWx0aW5zLmM6MTk0MQogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC01NDYyLDE0ICs1NDk5LDE0IEBACiAKICMgY29tcG9wdCBbLW98K28gb3B0aW9uXSBbbmFtZSAuLi5dCiAjIGNvbXBvcHQgWy1vfCtvIE9QQ0lPXSBbTk9NTyAuLi5dCi0jOiBidWlsdGlucy5jOjE5MzgKKyM6IGJ1aWx0aW5zLmM6MTk1NgogIywgZnV6enkKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKICIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCiAic3VwcGxpZWQsXG4iCi0iICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWdpbiBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVubSwgIgorIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVpbmcgZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbiwgIgogInByaW50XG4iCiAiICAgIHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uICIKICJzcGVjaWZpY2F0aW9uLlxuIgpAQCAtNTUyMCw3ICs1NTU3LDcgQEAKICMgCVstYyBxdWFudHVtXSBbYXJyYXldCiAjIG1hcGZpbGUgWy1uIE5PTUJSSUxPXSBbLU8gT1JJR0lOT10gWy1zIE5PTUJSSUxPXSBbLXRdIFstdSBETl0gWy1DIFJFVFJPVk9LT10KICMgCVstYyBLVkFOVE9dIFtUQUJFTE9dIAotIzogYnVpbHRpbnMuYzoxOTY4CisjOiBidWlsdGlucy5jOjE5ODYKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgpAQCAtNTU0OSw3ICs1NTg2LDggQEAKICIgICAgXG4iCiAiICAgIElmIC1DIGlzIHN1cHBsaWVkIHdpdGhvdXQgLWMsIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4gIFdoZW5cbiIKICIgICAgQ0FMTEJBQ0sgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJyYXlcbiIKLSIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50LlxuIgorIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnRcbiIKKyIgICAgYXMgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgogIiAgICBJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiBleHBsaWNpdCBvcmlnaW4sIG1hcGZpbGUgd2lsbCBjbGVhciBBUlJBWSAiCiAiYmVmb3JlXG4iCkBAIC01NTkyLDcgKzU2MzAsNyBAQAogCiAjIHJlYWRhcnJheSBbLW4gY291bnRdIFstTyBvcmlnaW5dIFstcyBjb3VudF0gWy10XSBbLXUgZmRdIFstQyBjYWxsYmFja10KICMgCSAgWy1jIHF1YW50dW1dIFthcnJheV0KLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCmRpZmYgLS1naXQgYS9wby9lcy5nbW8gYi9wby9lcy5nbW8KaW5kZXggZTYyNmE2Zi4uMzA5ZTk5NyAxMDA2NDQKLS0tIGEvcG8vZXMuZ21vCisrKyBiL3BvL2VzLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9lcy5wbyBiL3BvL2VzLnBvCmluZGV4IDJjYWQzY2MuLjM0Nzg5MzMgMTAwNjQ0Ci0tLSBhL3BvL2VzLnBvCisrKyBiL3BvL2VzLnBvCkBAIC0xLDE0ICsxLDE0IEBACi0jIE1lbnNhamVzIGVuIGVzcGHxb2wgcGFyYSBHTlUgYmFzaC00LjAuCi0jIENvcHlyaWdodCAoQykgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgTWVuc2FqZXMgZW4gZXNwYfFvbCBwYXJhIEdOVSBiYXNoLTQuMS4KKyMgQ29weXJpZ2h0IChDKSAyMDAwLCAyMDAxLCAyMDAyLCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgotIyBDcmlzdGlhbiBPdGjzbiBNYXJ07W5leiBWZXJhIDxjZnVnYUBpdGFtLm14PiwgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOS4KKyMgQ3Jpc3RpYW4gT3Ro824gTWFydO1uZXogVmVyYSA8Y2Z1Z2FAaXRhbS5teD4sIDIwMDAsIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAuCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBHTlUgYmFzaCA0LjBcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSBiYXNoIDQuMVxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwOS0wMy0xOSAxOTozNC0wNjAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTAtMDEtMDQgMTI6NTYtMDYwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogQ3Jpc3RpYW4gT3Ro824gTWFydO1uZXogVmVyYSA8Y2Z1Z2FAaXRhbS5teD5cbiIKICJMYW5ndWFnZS1UZWFtOiBTcGFuaXNoIDxlc0BsaS5vcmc+XG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKQEAgLTIwLDcgKzIwLDcgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJzdWLtbmRpY2UgZGUgbWF0cml6IGluY29ycmVjdG8iCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBjb252ZXJ0aXIgbGEgbWF0cml6IGRlIGluZGl6YWRhIGEgYXNvY2lhdGl2YSIKQEAgLTQwLDM2ICs0MCwzNiBAQAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIlczogJXM6IHNlIGRlYmUgdXNhciB1biBzdWLtbmRpY2UgYWwgYXNpZ25hciBhIHVuYSBtYXRyaXogYXNvY2lhdGl2YSIKIAotIzogYmFzaGhpc3QuYzozODMKKyM6IGJhc2hoaXN0LmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGNyZWFyOiAlcyIKIAotIzogYmFzaGxpbmUuYzozNDU3CisjOiBiYXNobGluZS5jOjM0OTgKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiBtc2dzdHIgIiIKICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBubyBzZSBwdWVkZSBlbmNvbnRyYXIgbGEgY29tYmluYWNp824gZGUgdGVjbGFzICIKICJwYXJhIGxhIG9yZGVuIgogCi0jOiBiYXNobGluZS5jOjM1NDMKKyM6IGJhc2hsaW5lLmM6MzU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczogZWwgcHJpbWVyIGNhcuFjdGVyIHF1ZSBubyBlcyBlc3BhY2lvIGVuIGJsYW5jbyBubyBlcyBgXCInIgogCi0jOiBiYXNobGluZS5jOjM1NzIKKyM6IGJhc2hsaW5lLmM6MzYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgIm5vIGhheSB1biBgJWMnIHF1ZSBjaWVycmUgZW4gJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzYwNgorIzogYmFzaGxpbmUuYzozNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXM6IGZhbHRhIHVuIGA6JyBzZXBhcmFkb3IiCiAKICM6IGJ1aWx0aW5zL2FsaWFzLmRlZjoxMzIKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCi1tc2dzdHIgImAlcyc6IG5vbWJyZSBkZSBjb21iaW5hY2nzbiBkZSB0ZWNsYXMgaW524WxpZG8iCittc2dzdHIgImAlcyc6IG5vbWJyZSBkZSBhbGlhcyBpbnbhbGlkbyIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKQEAgLTEyMywyNiArMTIzLDExIEBACiAiICAgIFxuIgogIiAgICBTaW4gRVhQUiwgZGV2dWVsdmUgIgogCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQotbXNnaWQgIiIKLSIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKLSIgICAgIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Ci1tc2dpZCAiIgotIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgotIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCi0iICAgIFxuIgotIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCi0iICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyMzUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIkhPTUUgbm8gZXN04SBkZWZpbmlkbyIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgogbXNnc3RyICJPTERQV0Qgbm8gZXN04SBkZWZpbmlkbyIKIApAQCAtMTYxLDExICsxNDYsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiJXM6IHVzbzogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNworIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MzIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgImRlbWFzaWFkb3MgYXJndW1lbnRvcyIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo1MDAgc2hlbGwuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKIG1zZ3N0ciAiJXM6IGxhIG9wY2nzbiByZXF1aWVyZSB1biBhcmd1bWVudG8iCkBAIC0yMDMsNyArMTg4LDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgIm76bWVybyBoZXhhZGVjaW1hbCBpbnbhbGlkbyIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAibvptZXJvIGluduFsaWRvIgogCkBAIC0zMTQsMjUgKzI5OSwyNSBAQAogCiAjIHPzbG8gc2UgcHVlZGUgdXNhci4gc3YKICMgRGUgYWN1ZXJkby4gY2Z1Z2EKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyMgorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTI0CiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJz82xvIHNlIHB1ZWRlIHVzYXIgZGVudHJvIGRlIHVuYSBmdW5jafNuIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgdXNhciBgLWYnIHBhcmEgaGFjZXIgZnVuY2lvbmVzIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzggZXhlY3V0ZV9jbWQuYzo1MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6IGZ1bmNp824gZGUgc/NsbyBsZWN0dXJhIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogbm8gc2UgcHVlZGVuIGRlc3RydWlyIHZhcmlhYmxlcyBkZSBtYXRyaXogZGUgZXN0YSBmb3JtYSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBjb252ZXJ0aXIgdW5hIG1hdHJpeiBhc29jaWF0aXZhIGEgaW5kaXphZGEiCkBAIC0zNjEsMzEgKzM0NiwzMSBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGJvcnJhcjogJXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKLSM6IHNoZWxsLmM6MTQ1MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzUgYnVpbHRpbnMvaGFzaC5kZWY6MTcxIGV4ZWN1dGVfY21kLmM6NDk2MQorIzogc2hlbGwuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6IGVzIHVuIGRpcmVjdG9yaW8iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlczogbm8gZXMgdW4gZmljaGVybyByZWd1bGFyIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0NworIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIlczogZWwgZmljaGVybyBlcyBkZW1hc2lhZG8gZ3JhbmRlIgogCiAjIGZpbGU9ZmljaGVyby4gYXJjaGl2ZT1hcmNoaXZvLiBTaSBubywgZXMgaW1wb3NpYmxlIHRyYWR1Y2lyIHRhci4gc3YKICMgRGUgYWN1ZXJkby4gQ29ycmVnaWRvIGVuIHRvZG8gZWwgZmljaGVyby4gY2Z1Z2EKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAotIzogc2hlbGwuYzoxNDYyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4MiBidWlsdGlucy9ldmFsZmlsZS5jOjIwMCBleGVjdXRlX2NtZC5jOjUwMzIKKyM6IHNoZWxsLmM6MTQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBlamVjdXRhciBlbCBmaWNoZXJvIGJpbmFyaW8iCiAKLSM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgorIzogYnVpbHRpbnMvZXhlYy5kZWY6MTU0IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NiBidWlsdGlucy9leGVjLmRlZjoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlOiAlcyIKIG1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGVqZWN1dGFyOiAlcyIKQEAgLTQxMywxMSArMzk4LDExIEBACiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAibm8gc2UgZW5jb250cvMgbGEgb3JkZW4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiZXNwZWNpZmljYWNp824gZGUgaGlzdG9yaWEiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBhYnJpciBlbCBmaWNoZXJvIHRlbXBvcmFsOiAlcyIKQEAgLTQ1MCw3ICs0MzUsNyBAQAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCiBtc2dzdHIgIiVzOiB0YWJsYSBkZSBhc29jaWFjafNuIHZhY+1hXG4iCiAKLSM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NAorIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKIG1zZ3N0ciAiY29pbmNcdG9yZGVuXG4iCkBAIC01MTksNzYgKzUwNCw4NiBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgIm5vIHNlIHBlcm1pdGVuIG90cmFzIG9wY2lvbmVzIGNvbiBgLXgnIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyMDAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIlczogbG9zIGFyZ3VtZW50b3MgZGViZW4gc2VyIHByb2Nlc29zIG8gSURzIGRlIHRyYWJham9zIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjMKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIkVycm9yIGRlc2Nvbm9jaWRvIgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJzZSBlc3BlcmFiYSB1bmEgZXhwcmVzafNuIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTcyCisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKLW1zZ3N0ciAiJXM6IG5vIGVzIHVuYSB2YXJpYWJsZSBkZSBtYXRyaXoiCittc2dzdHIgIiVzOiBubyBlcyB1bmEgbWF0cml6IGluZGl6YWRhIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTYgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogZXNwZWNpZmljYWNp824gZGUgZGVzY3JpcHRvciBkZSBmaWNoZXJvIGluduFsaWRhIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjQgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiVkOiBkZXNjcmlwdG9yIGRlIGZpY2hlcm8gaW524WxpZG86ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzMgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiBjdWVudGEgZGUgbO1uZWFzIGluduFsaWRhIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBvcmlnZW4gZGUgbWF0cml6IGluduFsaWRvIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogcXVhbnR1bSBkZSBsbGFtYWRhIGluduFsaWRvIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIm5vbWJyZSBkZSB2YXJpYWJsZSBkZSBtYXRyaXogdmFj7W8iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzU0CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAic2UgcmVxdWllcmUgZWwgc29wb3J0ZSBkZSB2YXJpYWJsZSBkZSBtYXRyaXoiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImAlcyc6IGZhbHRhIGVsIGNhcuFjdGVyIGRlIGZvcm1hdG8iCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVjJzogaW52YWxpZCB0aW1lIGZvcm1hdCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczogZXNwZWNpZmljYWNp824gZGUgdGllbXBvIGRlIGV4cGlyYWNp824gaW524WxpZGEiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiYCVjJzogY2Fy4WN0ZXIgZGUgZm9ybWF0byBpbnbhbGlkbyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAiYXZpc286ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiZmFsdGEgZWwgZO1naXRvIGhleGFkZWNpbWFsIHBhcmEgXFx4IgogCisjOiBidWlsdGlucy9wcmludGYuZGVmOjg1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyB1bmljb2RlIGRpZ2l0IGZvciBcXCVjIgorbXNnc3RyICJmYWx0YSBlbCBk7WdpdG8gaGV4YWRlY2ltYWwgcGFyYSBcXHgiCisKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjoxOTUKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCiBtc2dzdHIgIm5vIGhheSBvdHJvIGRpcmVjdG9yaW8iCkBAIC03NDYsMjEgKzc0MSwyMSBAQAogbXNnc3RyICIiCiAic/NsbyBzZSBwdWVkZSB1c2FyIGByZXR1cm4nIGVuIHVuYSBmdW5jafNuIG8gdW4gZ3Vp824gbGXtZG8gY29uIGBzb3VyY2UnIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjc2OAorIzogYnVpbHRpbnMvc2V0LmRlZjo3NzEKIG1zZ2lkICJjYW5ub3Qgc2ltdWx0YW5lb3VzbHkgdW5zZXQgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgYm9ycmFyIGFsIG1pc21vIHRpZW1wbyB1bmEgZnVuY2nzbiB5IHVuYSB2YXJpYWJsZSIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MDUKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBib3JyYXIiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODEyCisjOiBidWlsdGlucy9zZXQuZGVmOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0OiByZWFkb25seSAlcyIKIG1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGJvcnJhcjogJXMgZXMgZGUgc29sbyBsZWN0dXJhIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgyMworIzogYnVpbHRpbnMvc2V0LmRlZjo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IG5vIGVzIHVuYSB2YXJpYWJsZSBkZSBtYXRyaXoiCkBAIC03NzQsMjAgKzc2OSwyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJjdWVudGEgZGUgc2hpZnQiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJubyBzZSBwdWVkZW4gYWN0aXZhciB5IGRlc2FjdGl2YXIgb3BjaW9uZXMgZGVsIHNoZWxsIHNpbXVsdOFuZWFtZW50ZSIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IG5vbWJyZSBkZSBvcGNp824gZGVsIHNoZWxsIGluduFsaWRvIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjEyOAorIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKIG1zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKIG1zZ3N0ciAic2UgcmVxdWllcmUgdW4gYXJndW1lbnRvIGRlIG5vbWJyZSBkZSBmaWNoZXJvIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1MworIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgbm90IGZvdW5kIgogbXNnc3RyICIlczogbm8gc2UgZW5jb250cvMgZWwgZmljaGVybyIKQEAgLTgzMCwyNiArODI1LDI2IEBACiBtc2dpZCAiJXMgaXMgaGFzaGVkICglcylcbiIKIG1zZ3N0ciAiJXMgZXN04SBhc29jaWFkbyAoJXMpXG4iCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6MzcyCisjOiBidWlsdGlucy91bGltaXQuZGVmOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW1pdCBhcmd1bWVudCIKIG1zZ3N0ciAiJXM6IGztbWl0ZSBkZSBhcmd1bWVudG8gaW524WxpZG8iCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzk4CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKIG1zZ3N0ciAiYCVjJzogb3JkZW4gZXJy825lYSIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgbO1taXRlOiAlcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiBtc2dpZCAibGltaXQiCiBtc2dzdHIgImztbWl0ZSIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIG1vZGlmaWNhciBlbCBs7W1pdGU6ICVzIgpAQCAtOTA1LDc4ICs5MDAsODMgQEAKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICIHaGEgZXhwaXJhZG8gbWllbnRyYXMgZXNwZXJhYmEgYWxndW5hIGVudHJhZGE6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dzdHIgIlxhaGEgZXhwaXJhZG8gbWllbnRyYXMgZXNwZXJhYmEgYWxndW5hIGVudHJhZGE6IGF1dG8tbG9nb3V0XG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICJubyBzZSBwdWVkZSByZWRpcmlnaXIgbGEgc2FsaWRhIGVzdOFuZGFyIGRlc2RlIC9kZXYvbnVsbDogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiVElNRUZPUk1BVDogYCVjJzogY2Fy4WN0ZXIgZGUgZm9ybWF0byBpbnbhbGlkbyIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDc1CisjOiBleGVjdXRlX2NtZC5jOjIxMjEKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJlcnJvciBkZSB0dWJlcu1hIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0ODEKKyM6IGV4ZWN1dGVfY21kLmM6NDY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiVzOiByZXN0cmluZ2lkbzogbm8gc2UgcHVlZGUgZXNwZWNpZmljYXIgYC8nIGVuIG5vbWJyZXMgZGUg83JkZW5lcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NTcyCisjOiBleGVjdXRlX2NtZC5jOjQ3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogbm8gc2UgZW5jb250cvMgbGEgb3JkZW4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMiCittc2dzdHIgIiVzIGlzICVzXG4iCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiBpbnTpcnByZXRlIGVycvNuZW8iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3NgorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGR1cGxpY2FyIGVsIGRmICVkIGFsIGRmICVkIgogCi0jOiBleHByLmM6MjQxCisjOiBleHByLmM6MjU2CiBtc2dpZCAiZXhwcmVzc2lvbiByZWN1cnNpb24gbGV2ZWwgZXhjZWVkZWQiCiBtc2dzdHIgInNlIGhhIGV4Y2VkaWRvIGVsIG5pdmVsIGRlIHJlY3Vyc2nzbiBkZSBsYSBleHByZXNp824iCiAKLSM6IGV4cHIuYzoyNjUKKyM6IGV4cHIuYzoyODAKIG1zZ2lkICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgogbXNnc3RyICJkZXNib3JkYW1pZW50byBkZSBsYSBiYXNlIGRlIGxhIHBpbGEgZGUgcmVjdXJzafNuIgogCi0jOiBleHByLmM6Mzc5CisjOiBleHByLmM6NDIyCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGV4cHJlc3Npb24iCiBtc2dzdHIgImVycm9yIHNpbnThY3RpY28gZW4gbGEgZXhwcmVzafNuIgogCi0jOiBleHByLmM6NDE5CisjOiBleHByLmM6NDYzCiBtc2dpZCAiYXR0ZW1wdGVkIGFzc2lnbm1lbnQgdG8gbm9uLXZhcmlhYmxlIgogbXNnc3RyICJzZSBpbnRlbnTzIGFzaWduYXIgYSBhbGdvIHF1ZSBubyBlcyB1bmEgdmFyaWFibGUiCiAKLSM6IGV4cHIuYzo0NDAgZXhwci5jOjQ0NSBleHByLmM6NzU2CisjOiBleHByLmM6NDg2IGV4cHIuYzo0OTEgZXhwci5jOjgwNwogbXNnaWQgImRpdmlzaW9uIGJ5IDAiCiBtc2dzdHIgImRpdmlzafNuIHBvciAwIgogCiAjIHRva2VuIGVuIGJpc29uIGZ1ZSB0cmFkdWNpZG8gY29tbyB0ZXJtaW5hbC4gv0xvIHRyYWR1Y2ltb3MgaWd1YWwgYXF17QogIyBvIGxvIGRlamFtb3MgY29tbyAndW5pZGFkJyBvICdlbGVtZW50byc/IGNmdWdhCi0jOiBleHByLmM6NDcxCisjOiBleHByLmM6NTE3CiBtc2dpZCAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuIgogbXNnc3RyICJiaWNobzogZWxlbWVudG8gZGUgYXNpZ25hY2nzbiBkZSBleHByZXNp824gZXJy825lbyIKIAotIzogZXhwci5jOjUxMworIzogZXhwci5jOjU2NAogbXNnaWQgImA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAic2UgZXNwZXJhYmEgYDonIHBhcmEgbGEgZXhwcmVzafNuIGNvbmRpY2lvbmFsIgogCi0jOiBleHByLmM6NzgxCisjOiBleHByLmM6ODMyCiBtc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCiBtc2dzdHIgImV4cG9uZW50ZSBtZW5vciBxdWUgMCIKIAotIzogZXhwci5jOjgyNgorIzogZXhwci5jOjg4NwogbXNnaWQgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgogbXNnc3RyICIiCiAic2UgZXNwZXJhYmEgdW4gaWRlbnRpZmljYWRvciBkZXNwdelzIGRlbCBwcmUtaW5jcmVtZW50byBvIHByZS1kZWNyZW1lbnRvIgpAQCAtOTg0LDMyICs5ODQsMzIgQEAKICMgZmFsdGEgLCBzaW5ndWxhciBlbSsKICMgbW1taCwgcHVlZGUgZmFsdGFyIG3hcyBkZSB1biBwYXLpbnRlc2lzIGNmdWdhCiAjIHRpZW5lIHJhevNuIEVucmlxdWUsIGVzIHNpbmd1bGFyLiBjZnVnYQotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJmYWx0YSB1biBgKSciCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgImVycm9yIHNpbnThY3RpY286IHNlIGVzcGVyYWJhIHVuIG9wZXJhbmRvIgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiZXJyb3Igc2ludOFjdGljbzogb3BlcmFkb3IgYXJpdG3pdGljbyBpbnbhbGlkbyIKIAotIzogZXhwci5jOjEyMDIKKyM6IGV4cHIuYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiVzJXMlczogJXMgKGVsIGVsZW1lbnRvIGRlIGVycm9yIGVzIFwiJXNcIikiCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJiYXNlIGFyaXRt6XRpY2EgaW524WxpZGEiCiAKLSM6IGV4cHIuYzoxMjgwCisjOiBleHByLmM6MTM4NgogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAidmFsb3IgZGVtYXNpYWRvIGdyYW5kZSBwYXJhIGxhIGJhc2UiCiAKLSM6IGV4cHIuYzoxMzI5CisjOiBleHByLmM6MTQzNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgogbXNnc3RyICIlczogZXJyb3IgZGUgZXhwcmVzafNuXG4iCkBAIC0xMDE4LDEyICsxMDE4LDEyIEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ2V0Y3dkOiBubyBzZSBwdWVkZSBhY2NlZGVyIGEgbG9zIGRpcmVjdG9yaW9zIHBhZHJlIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NworIzogaW5wdXQuYzo5NCBzdWJzdC5jOjUwODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIHJlZXN0YWJsZWNlciBlbCBtb2RvIG5vZGVsYXkgcGFyYSBlbCBkZiAlZCIKIAotIzogaW5wdXQuYzoyNTgKKyM6IGlucHV0LmM6MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCiBtc2dzdHIgIiIKQEAgLTEwMzMsMTU1ICsxMDMzLDE1NSBAQAogIyBidWZmZXI6IGVzcGFjaW8gaW50ZXJtZWRpbyAsIGFsb2phbWllbnRvIGludGVybWVkaW8gKCBtZSBndXN0YSBtZW5vcyApCiAjIGVtKwogIyBhbG1hY2VuYW1pZW50byBpbnRlcm1lZGlvLiBjZnVnYQotIzogaW5wdXQuYzoyNjYKKyM6IGlucHV0LmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGFscmVhZHkgZXhpc3RzIGZvciBuZXcgZmQgJWQiCiBtc2dzdHIgIiIKICJzYXZlX2Jhc2hfaW5wdXQ6IGVsIGFsbWFjZW5hbWllbnRvIGludGVybWVkaW8geWEgZXhpc3RlIHBhcmEgZWwgbnVldm8gZGYgJWQiCiAKLSM6IGpvYnMuYzo0NjYKKyM6IGpvYnMuYzo0NjgKIG1zZ2lkICJzdGFydF9waXBlbGluZTogcGdycCBwaXBlIgogbXNnc3RyICJzdGFydF9waXBlbGluZTogdHViZXLtYSBkZSBwZ3JwIgogCi0jOiBqb2JzLmM6ODg3CisjOiBqb2JzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKIG1zZ3N0ciAiZWwgcGlkIGBmb3JrZWQnICVkIGFwYXJlY2UgZW4gZWwgdHJhYmFqbyBlbiBlamVjdWNp824gJWQiCiAKLSM6IGpvYnMuYzoxMDA1CisjOiBqb2JzLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyBzdG9wcGVkIGpvYiAlZCB3aXRoIHByb2Nlc3MgZ3JvdXAgJWxkIgogbXNnc3RyICJib3JyYW5kbyBlbCB0cmFiYWpvIGRldGVuaWRvICVkIGNvbiBncnVwbyBkZSBwcm9jZXNvICVsZCIKIAotIzogam9icy5jOjExMTAKKyM6IGpvYnMuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwcm9jZXNzICU1bGQgKCVzKSBpbiB0aGVfcGlwZWxpbmUiCiBtc2dzdHIgImFkZF9wcm9jZXNzOiBlbCBwcm9jZXNvICU1bGQgKCVzKSBlbiB0aGVfcGlwZWxpbmUiCiAKLSM6IGpvYnMuYzoxMTEzCisjOiBqb2JzLmM6MTExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCiBtc2dzdHIgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIHNlIG1hcmNhIGNvbW8gdml2byBh+m4iCiAKICMgQ2FtYmlhcu1hICdoYXknIHBvciAnZXhpc3RlJyBlbSsKLSM6IGpvYnMuYzoxNDAxCisjOiBqb2JzLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCiBtc2dzdHIgImRlc2NyaWJlX3BpZDogJWxkOiBubyBleGlzdGUgdGFsIHBpZCIKIAotIzogam9icy5jOjE0MTYKKyM6IGpvYnMuYzoxNDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKIG1zZ3N0ciAiU2XxYWwgJWQiCiAKLSM6IGpvYnMuYzoxNDMwIGpvYnMuYzoxNDU1CisjOiBqb2JzLmM6MTQ1OSBqb2JzLmM6MTQ4NAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIkhlY2hvIgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCisjOiBqb2JzLmM6MTQ2NCBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiRGV0ZW5pZG8iCiAKLSM6IGpvYnMuYzoxNDM5CisjOiBqb2JzLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKIG1zZ3N0ciAiRGV0ZW5pZG8oJXMpIgogCi0jOiBqb2JzLmM6MTQ0MworIzogam9icy5jOjE0NzIKIG1zZ2lkICJSdW5uaW5nIgogbXNnc3RyICJFamVjdXRhbmRvIgogCi0jOiBqb2JzLmM6MTQ1NworIzogam9icy5jOjE0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCiBtc2dzdHIgIkhlY2hvKCVkKSIKIAotIzogam9icy5jOjE0NTkKKyM6IGpvYnMuYzoxNDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4aXQgJWQiCiBtc2dzdHIgIlNhbGlkYSAlZCIKIAotIzogam9icy5jOjE0NjIKKyM6IGpvYnMuYzoxNDkxCiBtc2dpZCAiVW5rbm93biBzdGF0dXMiCiBtc2dzdHIgIkVzdGFkbyBkZXNjb25vY2lkbyIKIAotIzogam9icy5jOjE1NDkKKyM6IGpvYnMuYzoxNTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihjb3JlIGR1bXBlZCkgIgogbXNnc3RyICIoYGNvcmUnIGdlbmVyYWRvKSAiCiAKLSM6IGpvYnMuYzoxNTY4CisjOiBqb2JzLmM6MTU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh3ZDogJXMpIgogbXNnc3RyICIgIChkaXIgYWhvcmE6ICVzKSIKIAotIzogam9icy5jOjE3NzYKKyM6IGpvYnMuYzoxODA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICJzZXRwZ2lkIGhpam8gKCVsZCBhICVsZCkiCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAid2FpdDogcGlkICVsZCBubyBlcyB1biBwcm9jZXNvIGhpam8gZGUgZXN0ZSBzaGVsbCIKIAotIzogam9icy5jOjIzMzEKKyM6IGpvYnMuYzoyMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIndhaXRfZm9yOiBObyBoYXkgdW4gcmVnaXN0cm8gZGVsIHByb2Nlc28gJWxkIgogCi0jOiBqb2JzLmM6MjYwNworIzogam9icy5jOjI2MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAid2FpdF9mb3Jfam9iOiBlbCB0cmFiYWpvICVkIGVzdOEgZGV0ZW5pZG8iCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogZWwgdHJhYmFqbyBoYSB0ZXJtaW5hZG8iCiAKLSM6IGpvYnMuYzoyODM4CisjOiBqb2JzLmM6Mjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiJXM6IGVsIHRyYWJham8gJWQgeWEgZXN04SBlbiBzZWd1bmRvIHBsYW5vIgogCi0jOiBqb2JzLmM6MzA1OQorIzogam9icy5jOjMwODkKIG1zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCi1tc2dzdHIgIiIKK21zZ3N0ciAid2FpdGNobGQ6IHNlIGFjdGl2YSBXTk9IQU5HIHBhcmEgZXZpdGFyIGVsIGJsb3F1ZSBpbmRlZmluaWRvIgogCi0jOiBqb2JzLmM6MzUwOAorIzogam9icy5jOjM1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiJXM6IGztbmVhICVkOiAiCiAKLSM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAorIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIgKGBjb3JlJyBnZW5lcmFkbykiCiAKLSM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CisjOiBqb2JzLmM6MzU2NCBqb2JzLmM6MzU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiKGRpciBhaG9yYTogJXMpXG4iCiAKLSM6IGpvYnMuYzozNTc5CisjOiBqb2JzLmM6MzYwOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYnNfY29udHJvbDogZmFsbPMgZ2V0cGdycCIKIAotIzogam9icy5jOjM2MzkKKyM6IGpvYnMuYzozNjY5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICJpbml0aWFsaXplX2pvYnNfY29udHJvbDogZGlzY2lwbGluYSBkZSBs7W5lYSIKIAotIzogam9icy5jOjM2NDkKKyM6IGpvYnMuYzozNjc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzX2NvbnRyb2w6IHNldHBnaWQiCiAKLSM6IGpvYnMuYzozNjc3CisjOiBqb2JzLmM6MzcwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgZXN0YWJsZWNlciBlbCBncnVwbyBkZSBwcm9jZXNvIGRlIHRlcm1pbmFsICglZCkiCiAKLSM6IGpvYnMuYzozNjgyCisjOiBqb2JzLmM6MzcxMgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgIm5vIGhheSBjb250cm9sIGRlIHRyYWJham9zIGVuIGVzdGUgc2hlbGwiCiAKQEAgLTEyNzgsMjIgKzEyNzgsMjIgQEAKICM6IGxvY2FsZS5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzZXRsb2NhbGU6IExDX0FMTDogbm8gc2UgcHVlZGUgY2FtYmlhciBlbCBsb2NhbCAoJXMpIgogCiAjOiBsb2NhbGUuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgotbXNnc3RyICIiCittc2dzdHIgInNldGxvY2FsZTogTENfQUxMOiBubyBzZSBwdWVkZSBjYW1iaWFyIGVsIGxvY2FsICglcyk6ICVzIgogCiAjOiBsb2NhbGUuYzoyNDcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5vIHNlIHB1ZWRlbiByZWFzaWduYXIgJWx1IGJ5dGVzIgorbXNnc3RyICJzZXRsb2NhbGU6ICVzOiBubyBzZSBwdWVkZSBjYW1iaWFyIGVsIGxvY2FsICglcykiCiAKICM6IGxvY2FsZS5jOjI0OQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5vIHNlIHB1ZWRlbiByZWFzaWduYXIgJWx1IGJ5dGVzIgorbXNnc3RyICJzZXRsb2NhbGU6ICVzOiBubyBzZSBwdWVkZSBjYW1iaWFyIGVsIGxvY2FsICglcyk6ICVzIgogCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgpAQCAtMTMzOSw3MSArMTMzOSw3MSBAQAogbXNnc3RyICIiCiAibWFrZV9yZWRpcmVjdGlvbjogbGEgaW5zdHJ1Y2Np824gZGUgcmVkaXJlY2Np824gYCVkJyBlc3ThIGZ1ZXJhIGRlIHJhbmdvIgogCi0jOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CisjOiBwYXJzZS55OjMxNzMgcGFyc2UueTozNDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIkVPRiBpbmVzcGVyYWRvIG1pZW50cmFzIHNlIGJ1c2NhYmEgdW4gYCVjJyBjb2luY2lkZW50ZSIKIAotIzogcGFyc2UueTozOTUxCisjOiBwYXJzZS55OjQwMjUKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICJFT0YgaW5lc3BlcmFkbyBtaWVudHJhcyBzZSBidXNjYWJhIGBdXSciCiAKLSM6IHBhcnNlLnk6Mzk1NgorIzogcGFyc2UueTo0MDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgImVycm9yIHNpbnThY3RpY28gZW4gbGEgZXhwcmVzafNuIGNvbmRpY2lvbmFsOiBlbGVtZW50byBpbmVzcGVyYWRvIGAlcyciCiAKLSM6IHBhcnNlLnk6Mzk2MAorIzogcGFyc2UueTo0MDM0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgImVycm9yIHNpbnThY3RpY28gZW4gbGEgZXhwcmVzafNuIGNvbmRpY2lvbmFsIgogCi0jOiBwYXJzZS55OjQwMzgKKyM6IHBhcnNlLnk6NDExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiZWxlbWVudG8gaW5lc3BlcmFkbyBgJXMnLCBzZSBlc3BlcmFiYSBgKSciCiAKLSM6IHBhcnNlLnk6NDA0MgorIzogcGFyc2UueTo0MTE2CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJzZSBlc3BlcmFiYSBgKSciCiAKLSM6IHBhcnNlLnk6NDA3MAorIzogcGFyc2UueTo0MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiYXJndW1lbnRvIGluZXNwZXJhZG8gYCVzJyBwYXJhIGVsIG9wZXJhZG9yIHVuYXJpbyBjb25kaWNpb25hbCIKIAotIzogcGFyc2UueTo0MDc0CisjOiBwYXJzZS55OjQxNDgKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJhcmd1bWVudG8gaW5lc3BlcmFkbyBwYXJhIGVsIG9wZXJhZG9yIHVuYXJpbyBjb25kaWNpb25hbCIKIAotIzogcGFyc2UueTo0MTIwCisjOiBwYXJzZS55OjQxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgImVsZW1lbnRvIGluZXNwZXJhZG8gYCVzJywgc2UgZXNwZXJhYmEgdW4gb3BlcmFkb3IgYmluYXJpbyBjb25kaWNpb25hbCIKIAotIzogcGFyc2UueTo0MTI0CisjOiBwYXJzZS55OjQxOTgKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgInNlIGVzcGVyYWJhIHVuIG9wZXJhZG9yIGJpbmFyaW8gY29uZGljaW9uYWwiCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgImFyZ3VtZW50byBpbmVzcGVyYWRvIGAlcycgcGFyYSBlbCBvcGVyYWRvciBiaW5hcmlvIGNvbmRpY2lvbmFsIgogCi0jOiBwYXJzZS55OjQxNTAKKyM6IHBhcnNlLnk6NDIyNAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJhcmd1bWVudG8gaW5lc3BlcmFkbyBwYXJhIGVsIG9wZXJhZG9yIGJpbmFyaW8gY29uZGljaW9uYWwiCiAKLSM6IHBhcnNlLnk6NDE2MQorIzogcGFyc2UueTo0MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJlbGVtZW50byBpbmVzcGVyYWRvIGAlYycgZW4gbGEgb3JkZW4gY29uZGljaW9uYWwiCiAKLSM6IHBhcnNlLnk6NDE2NAorIzogcGFyc2UueTo0MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJlbGVtZW50byBpbmVzcGVyYWRvIGAlcycgZW4gbGEgb3JkZW4gY29uZGljaW9uYWwiCiAKLSM6IHBhcnNlLnk6NDE2OAorIzogcGFyc2UueTo0MjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiZWxlbWVudG8gaW5lc3BlcmFkbyAlZCBlbiBsYSBvcmRlbiBjb25kaWNpb25hbCIKQEAgLTE0MTQsMTIgKzE0MTQsMTIgQEAKICMgcHJvdm9jYWRvIHBvciBlbCBz7W1ib2xvLiBTaW1wbGVtZW50ZSBlc3RhciBjZXJjYSBkZWwgbWlzbW8uIGNmdWdhCiAjIFBvciBjb25zaXN0ZW5jaWEgY29uIGVsIHNpZ3VpZW50ZSwgeW8gYm9ycmFy7WEgbGEgY29tYS4gc3YKICMgQ2llcnRvLiBDb21hIGJvcnJhZGEuIGNmdWdhCi0jOiBwYXJzZS55OjU0NTkKKyM6IHBhcnNlLnk6NTU2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgImVycm9yIHNpbnThY3RpY28gY2VyY2EgZGVsIGVsZW1lbnRvIGluZXNwZXJhZG8gYCVzJyIKIAotIzogcGFyc2UueTo1NDc3CisjOiBwYXJzZS55OjU1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiZXJyb3Igc2ludOFjdGljbyBjZXJjYSBkZSBgJXMnIgpAQCAtMTQyOCwyMCArMTQyOCwyMCBAQAogIyBubyBzZSBlc3BlcmFiYSBlbCBmaW5hbCBkZSBsYSBs7W5lYSBlbSsKICMgT2pvLCBxdWUgZW5kIG9mIGZpbGUgZXMgZmluIGRlIGZpY2hlcm8sIG5vIGRlIGztbmVhLiBzdgogIyBTZSBoaWNpZXJvbiBhbWJvcyBjYW1iaW9zLiBjZnVnYQotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImVycm9yIHNpbnThY3RpY286IG5vIHNlIGVzcGVyYWJhIGVsIGZpbmFsIGRlbCBmaWNoZXJvIgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAiZXJyb3Igc2ludOFjdGljbyIKIAotIzogcGFyc2UueTo1NTQ5CisjOiBwYXJzZS55OjU2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIlVzZSBcIiVzXCIgcGFyYSBkZWphciBlbCBzaGVsbC5cbiIKIAotIzogcGFyc2UueTo1NzExCisjOiBwYXJzZS55OjU4MTgKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIkVPRiBpbmVzcGVyYWRvIG1pZW50cmFzIHNlIGJ1c2NhYmEgdW4gYCknIGNvaW5jaWRlbnRlIgogCkBAIC0xNDUwLDc3ICsxNDUwLDc3IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgImNvbXBsZXRpb246IG5vIHNlIGVuY3VlbnRyYSBsYSBmdW5jafNuIGAlcyciCiAKLSM6IHBjb21wbGliLmM6MTc5CisjOiBwY29tcGxpYi5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBDT01QU1BFQyBudWxvIgogCi0jOiBwcmludF9jbWQuYzoyOTAKKyM6IHByaW50X2NtZC5jOjI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IGNvbmVjdG9yIGVycvNuZW8gYCVkJyIKIAotIzogcHJpbnRfY21kLmM6MzYzCi0jLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCi1tc2dzdHIgIiVkOiBkZXNjcmlwdG9yIGRlIGZpY2hlcm8gaW524WxpZG86ICVzIgotCiAjOiBwcmludF9jbWQuYzozNjgKLW1zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKLW1zZ3N0ciAiIgorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgInh0cmFjZV9zZXQ6ICVkOiBkZXNjcmlwdG9yIGRlIGZpY2hlcm8gaW524WxpZG8iCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6MzczCittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgInh0cmFjZV9zZXQ6IHB1bnRlcm8gYSBmaWNoZXJvIE5VTEwiCisKKyM6IHByaW50X2NtZC5jOjM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAieHRyYWNlIGZkICglZCkgIT0gbnVtZmljaCB4dHJhY2UgZnAgKCVkKSIKIAotIzogcHJpbnRfY21kLmM6MTQ2MQorIzogcHJpbnRfY21kLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImNwcmludGY6IGAlYyc6IGNhcuFjdGVyIGRlIGZvcm1hdG8gaW524WxpZG8iCiAKLSM6IHJlZGlyLmM6MTEwCisjOiByZWRpci5jOjEyMgogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImRlc2NyaXB0b3IgZGUgZmljaGVybyBmdWVyYSBkZSByYW5nbyIKIAotIzogcmVkaXIuYzoxNjYKKyM6IHJlZGlyLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiByZWRpcmVjY2lvbmFtaWVudG8gYW1iaWd1byIKIAotIzogcmVkaXIuYzoxNzAKKyM6IHJlZGlyLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBzb2JyZWVzY3JpYmlyIHVuIGZpY2hlcm8gZXhpc3RlbnRlIgogCi0jOiByZWRpci5jOjE3NQorIzogcmVkaXIuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiByZXN0cmluZ2lkbzogbm8gc2UgcHVlZGUgcmVkaXJpZ2lyIGxhIHNhbGlkYSIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgY3JlYXIgdW4gZmljaGVybyB0ZW1wb3JhbCBwYXJhIGVsIGRvY3VtZW50by1hcXXtOiAlcyIKIAotIzogcmVkaXIuYzoxODQKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcmVkaXIuYzoxOTYKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCi1tc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBhc2lnbmFyIHVuYSBsaXN0YSBhIHVuIG1pZW1icm8gZGUgbGEgbWF0cml6IgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgYXNpZ25hciBlbCBmZCBhIGxhIHZhcmlhYmxlIgogCi0jOiByZWRpci5jOjU0NAorIzogcmVkaXIuYzo1NDgKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIm5vIHNlIGFkbWl0ZSAvZGV2Lyh0Y3B8dWRwKS9hbmZpdHJpb24vcHVlcnRvIHNpbiByZWQiCiAKLSM6IHJlZGlyLmM6MTEwMQorIzogcmVkaXIuYzo4MTggcmVkaXIuYzo5MzAgcmVkaXIuYzo5OTMgcmVkaXIuYzoxMTM2CiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgImVycm9yIGRlIHJlZGlyZWNjafNuOiBubyBzZSBwdWVkZSBkdXBsaWNhciBlbCBkZiIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzMzCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgIqFubyBzZSBwdWVkZSBlbmNvbnRyYXIgL3RtcCwgY3JlYXIgcG9yIGZhdm9yISIKIAotIzogc2hlbGwuYzozMzYKKyM6IHNoZWxsLmM6MzM3CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAgZGViZSBzZXIgdW4gbm9tYnJlIGRlIGRpcmVjdG9yaW8gduFsaWRvIgogCkBAIC0xNTMyLDExICsxNTMyLDExIEBACiAjIFlvIHBvbmRy7WEgIm5vIHRlbmdvIG5pbmf6biBub21icmUiLiBzdgogIyBSZXZpc+kgZWwgY/NkaWdvIGZ1ZW50ZSBkZSBiYXNoLiBFcyB1biBtZW5zYWplIGRlIGVycm9yIGN1YW5kbyBubyBzZQogIyBlbmN1ZW50cmEgZWwgbm9tYnJlIGRlbCB1c3VhcmlvIHF1ZSBlamVjdXRhIGVsIHNoZWxsLiBjZnVnYQotIzogc2hlbGwuYzoxNjUxCisjOiBzaGVsbC5jOjE2NTIKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIqFObyB0ZW5nbyBub21icmUgZGUgdXN1YXJpbyEiCiAKLSM6IHNoZWxsLmM6MTc5MworIzogc2hlbGwuYzoxNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIG1zZ3N0ciAiR05VIGJhc2gsIHZlcnNp824gJXMtKCVzKVxuIgpAQCAtMTU0Niw3ICsxNTQ2LDcgQEAKICMgdHJhZHVjaWRvIGVuIG90cmFzIG9jYXNpb25lcy4gU2VobGwgc2NyaXB0IGxvIGhlbm1vcyB0cmFkdWNpZG8KICMgY29tbyBndWnzbiBkZWwgc2hlbGwgLCBlc28gZXMgc2VndXJvIC4uLiBhc+0gcXVlIHB1ZWRlIGVzdGFyCiAjIGJpZW4gYXPtICwgeWEgbG8gdmVy4W4gb3Ryb3MgZW0rCi0jOiBzaGVsbC5jOjE3OTQKKyM6IHNoZWxsLmM6MTc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE1NTUsNDMgKzE1NTUsNDMgQEAKICJNb2RvIGRlIGVtcGxlbzpcdCVzIFtvcGNp824gR05VIGxhcmdhXSBbb3BjafNuXSAuLi5cbiIKICJcdCVzIFtvcGNp824gR05VIGxhcmdhXSBbb3BjafNuXSBndWnzbi1kZWwtc2hlbGxcbiIKIAotIzogc2hlbGwuYzoxNzk2CisjOiBzaGVsbC5jOjE3OTgKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJPcGNpb25lcyBHTlUgbGFyZ2FzOlxuIgogCi0jOiBzaGVsbC5jOjE4MDAKKyM6IHNoZWxsLmM6MTgwMgogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIk9wY2lvbmVzIGRlbCBzaGVsbDpcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MDMKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0QgbyAtYyBvcmRlbiBvIC1PIG9wY2lvbl9zaG9wdFx0XHQoc/NsbyBpbnZvY2FjafNuKVxuIgogCi0jOiBzaGVsbC5jOjE4MTYKKyM6IHNoZWxsLmM6MTgxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgbyAtbyBvcGNp825cbiIKIAotIzogc2hlbGwuYzoxODIyCisjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgogbXNnc3RyICIiCiAiVGVjbGVlIGAlcyAtYyBcImhlbHAgc2V0XCInIHBhcmEgbeFzIGluZm9ybWFjafNuIHNvYnJlIGxhcyBvcGNpb25lcyBkZWwgIgogInNoZWxsLlxuIgogCi0jOiBzaGVsbC5jOjE4MjMKKyM6IHNoZWxsLmM6MTgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAiVGVjbGVlIGAlcyAtYyBoZWxwJyBwYXJhIG3hcyBpbmZvcm1hY2nzbiBzb2JyZSBsYXMg83JkZW5lcyBpbnRlcm5hcyBkZWwgIgogInNoZWxsLlxuIgogCi0jOiBzaGVsbC5jOjE4MjQKKyM6IHNoZWxsLmM6MTgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICJVc2UgbGEgb3JkZW4gYGJhc2hidWcnIHBhcmEgcmVwb3J0YXIgYmljaG9zLlxuIgogCi0jOiBzaWcuYzo2MjYKKyM6IHNpZy5jOjYzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IG9wZXJhY2nzbiBpbnbhbGlkYSIKQEAgLTE3NzYsODMgKzE3NzYsODUgQEAKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIlNl8WFsIERlc2Nvbm9jaWRhICMlZCIKIAotIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCiBtc2dzdHIgInN1c3RpdHVjafNuIGVycvNuZWE6IG5vIGhheSB1biBgJXMnIHF1ZSBjaWVycmUgZW4gJXMiCiAKLSM6IHN1YnN0LmM6MjczNQorIzogc3Vic3QuYzoyNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogbm8gc2UgcHVlZGUgYXNpZ25hciB1bmEgbGlzdGEgYSB1biBtaWVtYnJvIGRlIGxhIG1hdHJpeiIKIAotIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAorIzogc3Vic3QuYzo0OTc5IHN1YnN0LmM6NDk5NQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJubyBzZSBwdWVkZSBjcmVhciBsYSB0dWJlcu1hIHBhcmEgbGEgc3VzdGl0dWNp824gZGVsIHByb2Nlc28iCiAKLSM6IHN1YnN0LmM6NDgwMgorIzogc3Vic3QuYzo1MDI3CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJubyBzZSBwdWVkZSBjcmVhciB1biBwcm9jZXNvIGhpam8gcGFyYSBsYSBzdXN0aXR1Y2nzbiBkZWwgcHJvY2VzbyIKIAotIzogc3Vic3QuYzo0ODQ3CisjOiBzdWJzdC5jOjUwNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgbGEgdHViZXLtYSBsbGFtYWRhICVzIHBhcmEgbGVjdHVyYSIKIAotIzogc3Vic3QuYzo0ODQ5CisjOiBzdWJzdC5jOjUwNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgbGEgdHViZXLtYSBsbGFtYWRhICVzIHBhcmEgZXNjcml0dXJhIgogCi0jOiBzdWJzdC5jOjQ4NjcKKyM6IHN1YnN0LmM6NTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIm5vIHNlIHB1ZWRlIGR1cGxpY2FyIGxhIHR1YmVy7WEgbGxhbWFkYSAlcyBjb21vIGRmICVkIgogCi0jOiBzdWJzdC5jOjUwNjMKKyM6IHN1YnN0LmM6NTI4NAogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJubyBzZSBwdWVkZW4gY3JlYXIgbGEgdHViZXLtYSBwYXJhIGxhIHN1c3RpdHVjafNuIGRlIGxhIG9yZGVuIgogCi0jOiBzdWJzdC5jOjUwOTcKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibm8gc2UgcHVlZGUgY3JlYXIgdW4gcHJvY2VzbyBoaWpvIHBhcmEgbGEgc3VzdGl0dWNp824gZGUgbGEgb3JkZW4iCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlOiBubyBzZSBwdWVkZSBkdXBsaWNhciBsYSB0dWJlcu1hIGNvbW8gZGYgMSIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBwYXLhbWV0cm8gbnVsbyBvIG5vIGVzdGFibGVjaWRvIgogCi0jOiBzdWJzdC5jOjU5MDcKKyM6IHN1YnN0LmM6NjEyNSBzdWJzdC5jOjYxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXM6IGV4cHJlc2nzbiBkZSBzdWJjYWRlbmEgPCAwIgogCi0jOiBzdWJzdC5jOjY5NjUKKyM6IHN1YnN0LmM6NzI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiJXM6IHN1c3RpdHVjafNuIGVycvNuZWEiCiAKLSM6IHN1YnN0LmM6NzA0NQorIzogc3Vic3QuYzo3MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBubyBzZSBwdWVkZSBhc2lnbmFyIGRlIGVzdGEgZm9ybWEiCiAKLSM6IHN1YnN0LmM6NzM3NAorIzogc3Vic3QuYzo3Njg0CiBtc2dpZCAiIgogImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgogInN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgorInZlcnNpb25lcyBmdXR1cmFzIGRlbCBpbnTpcnByZXRlIG9ibGlnYXLhbiBsYSBldmFsdWFjafNuIGNvbW8gdW5hICIKKyJzdXN0aXR1Y2nzbiBhcml0bel0aWNhIgogCi0jOiBzdWJzdC5jOjc4MzkKKyM6IHN1YnN0LmM6ODE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJzdXN0aXR1Y2nzbiBlcnLzbmVhOiBubyBoYXkgdW5hIFwiYFwiIHF1ZSBjaWVycmUgZW4gJXMiCiAKLSM6IHN1YnN0LmM6ODcyMAorIzogc3Vic3QuYzo5MDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAibm8gaGF5IGNvaW5jaWRlbmNpYTogJXMiCkBAIC0xODc1LDEyICsxODc3LDEyIEBACiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAic2UgZXNwZXJhYmEgYCknLCBzZSBlbmNvbnRy8yAlcyIKIAotIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHNlIGVzcGVyYWJhIHVuIG9wZXJhZG9yIHVuYXJpbyIKIAotIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHNlIGVzcGVyYWJhIHVuIG9wZXJhZG9yIGJpbmFyaW8iCkBAIC0xODkyLDIwICsxODk0LDIwIEBACiAjIEFicmV2aWFuZG8gImZhbHRhIFthbCBtZW5vc10gdW4gYF0nIiBzYWxkcu1hOiAiZmFsdGEgdW4gYF0nIi4KICMgv05vIGVzIG1lam9yICJmYWx0YSBhbGf6biBgXSciPyBjZnVnYQogIyBUaWVuZSByYXrzbiBFbnJpcXVlOiBzaW5ndWxhci4gY2Z1Z2EKLSM6IHRlc3QuYzo4MTEKKyM6IHRlc3QuYzo4MTYKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAiZmFsdGEgdW4gYF0nIgogCi0jOiB0cmFwLmM6MjAzCisjOiB0cmFwLmM6MjA3CiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJu+m1lcm8gZGUgc2XxYWwgaW524WxpZG8iCiAKLSM6IHRyYXAuYzozMjcKKyM6IHRyYXAuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IHZhbG9yIGVycvNuZW8gZW4gdHJhcF9saXN0WyVkXTogJXAiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCkBAIC0xOTEzLDcgKzE5MTUsNyBAQAogInJ1bl9wZW5kaW5nX3RyYXBzOiBlbCBtYW5lamFkb3IgZGUgc2XxYWwgZXMgU0lHX0RGTCwgcmVlbnZpYW5kbyAlZCAoJXMpIGEgbe0gIgogIm1pc21vIgogCi0jOiB0cmFwLmM6MzgwCisjOiB0cmFwLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBzZfFhbCBlcnLzbmVhICVkIgpAQCAtMTkyMyw2MCArMTkyNSw2MSBAQAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJlcnJvciBhbCBpbXBvcnRhciBsYSBkZWZpbmljafNuIGRlIGxhIGZ1bmNp824gcGFyYSBgJXMnIgogCi0jOiB2YXJpYWJsZXMuYzo3NDgKKyM6IHZhcmlhYmxlcy5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAiZWwgbml2ZWwgZGUgc2hlbGwgKCVkKSBlcyBkZW1hc2lhZG8gYWx0bywgc2UgcmVlc3RhYmxlY2UgYSAxIgogCi0jOiB2YXJpYWJsZXMuYzoxOTE1CisjOiB2YXJpYWJsZXMuYzoxOTMyCiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBoYXkgY29udGV4dG8gZGUgZnVuY2nzbiBlbiBlbCDhbWJpdG8gYWN0dWFsIgogCi0jOiB2YXJpYWJsZXMuYzozMTU5CisjOiB2YXJpYWJsZXMuYzozMTgyCiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBoYXkgY29udGV4dG8gZGUgZnVuY2nzbiBlbiBlbCDhbWJpdG8gYWN0dWFsIgogCi0jOiB2YXJpYWJsZXMuYzozMzc2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHZhcmlhYmxlcy5jOjM0MjcKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgotbXNnc3RyICIlczogcGFy4W1ldHJvIG51bG8gbyBubyBlc3RhYmxlY2lkbyIKK21zZ3N0ciAiJXMgdGllbmUgZXhwb3J0c3RyIG51bG8iCiAKLSM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAorIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgImNhcuFjdGVyIGluduFsaWRvICVkIGVuIGV4cG9ydHN0ciBwYXJhICVzIgogCi0jOiB2YXJpYWJsZXMuYzozMzk2CisjOiB2YXJpYWJsZXMuYzozNDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJubyBoYXkgYD0nIGVuIGV4cG9ydHN0ciBwYXJhICVzIgogCi0jOiB2YXJpYWJsZXMuYzozODM1CisjOiB2YXJpYWJsZXMuYzozODkxCiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICIiCiAicG9wX3Zhcl9jb250ZXh0OiBsYSBjYWJlemEgZGUgc2hlbGxfdmFyaWFibGVzIG5vIGVzIHVuIGNvbnRleHRvIGRlIGZ1bmNp824iCiAKLSM6IHZhcmlhYmxlcy5jOjM4NDgKKyM6IHZhcmlhYmxlcy5jOjM5MDQKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBubyBlcyB1biBjb250ZXh0byBnbG9iYWxfdmFyaWFibGVzIgogCi0jOiB2YXJpYWJsZXMuYzozOTIyCisjOiB2YXJpYWJsZXMuYzozOTc4CiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgIiIKICJwb3Bfc2NvcGU6IGxhIGNhYmV6YSBkZSBzaGVsbF92YXJpYWJsZXMgbm8gZXMgdW4g4W1iaXRvIGRlIGFtYmllbnRlIHRlbXBvcmFsIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHZhcmlhYmxlcy5jOjQ3ODYKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgotbXNnc3RyICIlczogbm8gc2UgcHVlZGUgYWJyaXI6ICVzIgorbXNnc3RyICIlczogJXM6IG5vIHNlIHB1ZWRlIGFicmlyIGNvbW8gRklDSEVSTyIKIAotIzogdmFyaWFibGVzLmM6NDY4MwotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzo0NzkxCisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgotbXNnc3RyICIlZDogZGVzY3JpcHRvciBkZSBmaWNoZXJvIGluduFsaWRvOiAlcyIKK21zZ3N0ciAiJXM6ICVzOiB2YWxvciBpbnbhbGlkbyBwYXJhIGVsIGRlc2NyaXB0b3IgZGUgZmljaGVybyBkZSByYXN0cmVvIgogCiAjOiB2ZXJzaW9uLmM6NDYKLW1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorIywgZnV6enkKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogCiAjOiB2ZXJzaW9uLmM6NDcKQEAgLTIwMDQsMzggKzIwMDcsMzggQEAKIG1zZ3N0ciAiTk8gaGF5IEdBUkFOVM1BLCBhIGxhIGV4dGVuc2nzbiBwZXJtaXRpZGEgcG9yIGxhIGxleS5cbiIKIAogIzogdmVyc2lvbjIuYzo4NgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKLW1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgogCiAjOiB2ZXJzaW9uMi5jOjg3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKICJodG1sPlxuIgogbXNnc3RyICIiCi0iTGljZW5jaWEgR1BMdjMrOiBHUEwgZGUgR05VIHZlcnNp824gMyBvIHBvc3RlcmlvciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvIgorIkxpY2VuY2lhIEdQTHYyKzogR1BMIGRlIEdOVSB2ZXJzafNuIDIgbyBwb3N0ZXJpb3IgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzLyIKICJncGwuaHRtbD5cbiIKIAogIzogeG1hbGxvYy5jOjkxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4bWFsbG9jOiBubyBzZSBwdWVkZW4gYXNpZ25hciAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhc2lnbmFkb3MpIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGVuIGFzaWduYXIgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYXNpZ25hZG9zKSIKIAogIzogeG1hbGxvYy5jOjkzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6IG5vIHNlIHB1ZWRlbiBhc2lnbmFyICVsdSBieXRlcyIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlbiBhc2lnbmFyICVsdSBieXRlcyIKIAogIzogeG1hbGxvYy5jOjE2MwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBubyBzZSBwdWVkZW4gYXNpZ25hciAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhc2lnbmFkb3MpIgorbXNnc3RyICIlczogJXM6JWQ6IG5vIHNlIHB1ZWRlbiBhc2lnbmFyICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFzaWduYWRvcykiCiAKICM6IHhtYWxsb2MuYzoxNjUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBubyBzZSBwdWVkZW4gYXNpZ25hciAlbHUgYnl0ZXMiCittc2dzdHIgIiVzOiAlczolZDogbm8gc2UgcHVlZGVuIGFzaWduYXIgJWx1IGJ5dGVzIgogCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgpAQCAtMjA3MSw3ICsyMDc0LDggQEAKIG1zZ3N0ciAiY2FsbGVyIFtleHByZXNp825dIgogCiAjOiBidWlsdGlucy5jOjY0Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKKyMsIGZ1enp5Cittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCiBtc2dzdHIgImNkIFstTHwtUF0gW2RpcmVjdG9yaW9dIgogCiAjOiBidWlsdGlucy5jOjY2CkBAIC0yMDk1LDExICsyMDk5LDEzIEBACiBtc2dzdHIgImNvbW1hbmQgWy1wVnZdIG9yZGVuIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzo3NgotbXNnaWQgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAiZGVjbGFyZSBbLWFBZkZnaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKIG1zZ3N0ciAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gbm9tYnJlWz12YWxvcl0gLi4uIgogCiAjOiBidWlsdGlucy5jOjc4Ci1tc2dpZCAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKKyMsIGZ1enp5Cittc2dpZCAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCiBtc2dzdHIgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5vbWJyZVs9dmFsb3JdIC4uLiIKIAogIzogYnVpbHRpbnMuYzo4MApAQCAtMjE1NSw5ICsyMTYxLDggQEAKIG1zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgcnV0YV0gWy1kdF0gW25vbWJyZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjExNwotIywgZnV6enkKIG1zZ2lkICJoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dIgotbXNnc3RyICJoZWxwIFstZHNdIFtwYXRy824gLi4uXSIKK21zZ3N0ciAiaGVscCBbLWRtc10gW3BhdHLzbiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEyMQogbXNnaWQgIiIKQEAgLTIxOTMsMjAgKzIxOTgsMjAgQEAKIG1zZ3N0ciAibGV0IGFyZyBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM2Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCiAicHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCi0icmVhZCBbLWVyc10gWy1hIG1hdHJpel0gWy1kIGRlbGltXSBbLWkgdGV4dG9dIFstbiBuY2Fyc10gWy1wIHByb21wdF0gWy10ICIKLSJ0aWVtcG9dIFstdSBkZl0gW25vbWJyZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBtYXRyaXpdIFstZCBkZWxpbV0gWy1pIHRleHRvXSBbLW4gbmNhcnNdIFstTiBuY2Fyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aWVtcG9dIFstdSBkZl0gW25vbWJyZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEzOAogbXNnaWQgInJldHVybiBbbl0iCiBtc2dzdHIgInJldHVybiBbbl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQwCi1tc2dpZCAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCiBtc2dzdHIgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG5vbWJyZS1vcGNp825dIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNDIKQEAgLTIyMTgsNyArMjIyMyw4IEBACiBtc2dzdHIgImV4cG9ydCBbLWZuXSBbbm9tYnJlWz12YWxvcl0gLi4uXSDzIGV4cG9ydCAtcCIKIAogIzogYnVpbHRpbnMuYzoxNDYKLW1zZ2lkICJyZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCisjLCBmdXp6eQorbXNnaWQgInJlYWRvbmx5IFstYUFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCiBtc2dzdHIgInJlYWRvbmx5IFstYWZdIFtub21icmVbPXZhbG9yXSAuLi5dIPMgcmVhZG9ubHkgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4CkBAIC0yMzYwLDE0ICsyMzY2LDEzIEBACiBtc2dzdHIgInByaW50ZiBbLXYgdmFyXSBmb3JtYXRvIFthcmd1bWVudG9zXSIKIAogIzogYnVpbHRpbnMuYzoyMjkKLSMsIGZ1enp5CiBtc2dpZCAiIgogImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCiAiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCiAic3VmZml4XSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCi0iY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstbyBvcGNp825dIFstQSBhY2Np825dIFstRyBwYXRnbG9iXSBbLVcgIgotImxpc3RhcGFsYWJyYXNdIFstRiBmdW5jafNuXSBbLUMgb3JkZW5dIFstWCBwYXRmaWx0cm9dIFstUCBwcmVmaWpvXSBbLVMgIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3BjafNuXSBbLUEgYWNjafNuXSBbLUcgcGF0Z2xvYl0gWy0iCisiVyBsaXN0YXBhbGFicmFzXSBbLUYgZnVuY2nzbl0gWy1DIG9yZGVuXSBbLVggcGF0ZmlsdHJvXSBbLVAgcHJlZmlqb10gWy1TICIKICJzdWZpam9dIFtub21icmUgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMzMKQEAgLTIzODAsOSArMjM4NSw4IEBACiAic3VmaWpvXSBbcGFsYWJyYV0iCiAKICM6IGJ1aWx0aW5zLmM6MjM3Ci0jLCBmdXp6eQogbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKLW1zZ3N0ciAiY29tcG9wdCBbLW98K28gb3BjafNuXSBbbm9tYnJlIC4uLl0iCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIG9wY2nzbl0gWy1ERV0gW25vbWJyZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjI0MAogbXNnaWQgIiIKQEAgLTI2MzUsNiArMjYzOSw3IEBACiAjIHBvciBiYXJyYSBpbnZlcnRpZGEgZW0rKwogIyBDb3JyZWdpZG8gZW4gdG9kYSBsYSB0cmFkdWNjafNuLiBjZnVnYQogIzogYnVpbHRpbnMuYzozODMKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkNoYW5nZSB0aGUgc2hlbGwgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjY2MCwxMSArMjY2NSwxNSBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIkNhbWJpYSBlbCBkaXJlY3RvcmlvIGRlIHRyYWJham8gZGVsIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI2OTAsNyArMjY5OSw3IEBACiAiICAgIEVzdGFkbyBkZSBzYWxpZGE6XG4iCiAiICAgIERldnVlbHZlIDAgc2kgc2UgY2FtYmlhIGVsIGRpcmVjdG9yaW87IGRlIG90cmEgZm9ybWEgZXMgZGlmZXJlbnRlIGEgY2Vyby4iCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNzE4LDcgKzI3MjcsNyBAQAogIiAgICBEZXZ1ZWx2ZSAwIGEgbWVub3MgcXVlIHNlIGRlIHVuYSBvcGNp824gaW524WxpZGEgbyBubyBzZSBwdWVkYSBsZWVyXG4iCiAiICAgIGVsIGRpcmVjdG9yaW8gYWN0dWFsLiIKIAotIzogYnVpbHRpbnMuYzo0MjgKKyM6IGJ1aWx0aW5zLmM6NDMxCiBtc2dpZCAiIgogIk51bGwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNzM0LDcgKzI3NDMsNyBAQAogIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgogIiAgICBTaWVtcHJlIGNvbiDpeGl0by4iCiAKLSM6IGJ1aWx0aW5zLmM6NDM5CisjOiBidWlsdGlucy5jOjQ0MgogbXNnaWQgIiIKICJSZXR1cm4gYSBzdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNzQ2LDcgKzI3NTUsNyBAQAogIiAgICBFc3RhZG8gZGUgc2FsaWRhOlxuIgogIiAgICBTaWVtcHJlIGNvbiDpeGl0by4iCiAKLSM6IGJ1aWx0aW5zLmM6NDQ4CisjOiBidWlsdGlucy5jOjQ1MQogbXNnaWQgIiIKICJSZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNzU4LDcgKzI3NjcsNyBAQAogIiAgICBFc3RhZG8gZGUgc2FsaWRhOlxuIgogIiAgICBTaWVtcHJlIGZhbGxhLiIKIAotIzogYnVpbHRpbnMuYzo0NTcKKyM6IGJ1aWx0aW5zLmM6NDYwCiBtc2dpZCAiIgogIkV4ZWN1dGUgYSBzaW1wbGUgY29tbWFuZCBvciBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTI3OTYsNyArMjgwNSw4IEBACiAiICAgIERldnVlbHZlIGVsIGVzdGFkbyBkZSBzYWxpZGEgZGUgbGEgT1JERU4sIG8gZmFsbGEgc2kgbm8gc2UgZW5jdWVudHJhXG4iCiAiICAgIGxhIE9SREVOLiIKIAotIzogYnVpbHRpbnMuYzo0NzYKKyM6IGJ1aWx0aW5zLmM6NDc5CisjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI4MDcsNiArMjgxNyw4IEBACiAiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgogIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCiAiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCiAiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgogIiAgICBcbiIKICIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKQEAgLTI4MjYsNyArMjgzOCw3IEBACiAiICAgIFxuIgogIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiAiYGxvY2FsJ1xuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIGAtZycgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCkBAIC0yODY1LDcgKzI4NzcsNyBAQAogIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgc2UgZGUgdW5hIG9wY2nzbiBpbnbhbGlkYSBvXG4iCiAiICAgIHN1Y2VkYSB1biBlcnJvci4iCiAKLSM6IGJ1aWx0aW5zLmM6NTEyCisjOiBidWlsdGlucy5jOjUxNwogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI4NzUsNyArMjg4Nyw3IEBACiAiICAgIFxuIgogIiAgICBPYnNvbGV0by4gIENvbnN1bHRlIGBoZWxwIGRlY2xhcmUnLiIKIAotIzogYnVpbHRpbnMuYzo1MjAKKyM6IGJ1aWx0aW5zLmM6NTI1CiBtc2dpZCAiIgogIkRlZmluZSBsb2NhbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMjkwMSw3ICsyOTEzLDcgQEAKICIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIGRlIHVuYSBvcGNp824gaW524WxpZGEsIHN1Y2VkYVxuIgogIiAgICB1biBlcnJvciwgbyBlbCBzaGVsbCBubyBlc3TpIGVqZWN1dGFuZG8gdW5hIGZ1bmNp824uIgogCi0jOiBidWlsdGlucy5jOjUzNworIzogYnVpbHRpbnMuYzo1NDIKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjk2Miw3ICsyOTc0LDcgQEAKICIgICAgRXN0YWRvIGRlIHNhbGlkYTpcbiIKICIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHN1Y2VkYSB1biBlcnJvciBkZSBlc2NyaXR1cmEuIgogCi0jOiBidWlsdGlucy5jOjU3MQorIzogYnVpbHRpbnMuYzo1NzYKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjk4NCw3ICsyOTk2LDcgQEAKICIgICAgRXN0YWRvIGRlIHNhbGlkYTpcbiIKICIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHN1Y2VkYSB1biBlcnJvciBkZSBlc2NyaXR1cmEuIgogCi0jOiBidWlsdGlucy5jOjU4NgorIzogYnVpbHRpbnMuYzo1OTEKIG1zZ2lkICIiCiAiRW5hYmxlIGFuZCBkaXNhYmxlIHNoZWxsIGJ1aWx0aW5zLlxuIgogIiAgICBcbiIKQEAgLTMwMzksNyArMzA1MSw3IEBACiAic2hlbGxcbiIKICIgICAgbyBzdWNlZGEgdW4gZXJyb3IuIgogCi0jOiBidWlsdGlucy5jOjYxNAorIzogYnVpbHRpbnMuYzo2MTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhcmd1bWVudHMgYXMgYSBzaGVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTMwNjQsNyArMzA3Niw3IEBACiAjIGVuIHVuYSBkZSBkb3MgZm9ybWFzIC0+IGVuIHVuYSBkZSBsYXMgZG9zIGZvcm1hcyBzaWd1aWVudGVzIGVtKwogIyBkYXIgYXJndW1lbnRvcyAtPiBlc3BlY2lmaWNhciBlbSsKICMgRGUgYWN1ZXJkby4gY2Z1Z2EKLSM6IGJ1aWx0aW5zLmM6NjI2CisjOiBidWlsdGlucy5jOjYzMQogbXNnaWQgIiIKICJQYXJzZSBvcHRpb24gYXJndW1lbnRzLlxuIgogIiAgICBcbiIKQEAgLTMxNDQsNyArMzE1Niw3IEBACiAiICAgIERldnVlbHZlIGNvbiDpeGl0byBzaSBzZSBlbmN1ZW50cmEgdW5hIG9wY2nzbjsgZmFsbGEgc2kgc2UgZW5jdWVudHJhXG4iCiAiICAgIGVsIGZpbmFsIGRlIGxhcyBvcGNpb25lcyBvIHN1Y2VkZSB1biBlcnJvci4iCiAKLSM6IGJ1aWx0aW5zLmM6NjY4CisjOiBidWlsdGlucy5jOjY3MwogbXNnaWQgIiIKICJSZXBsYWNlIHRoZSBzaGVsbCB3aXRoIHRoZSBnaXZlbiBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTMxODUsNyArMzE5Nyw3IEBACiAiICAgIERldnVlbHZlIOl4aXRvIGEgbWVub3MgcXVlIG5vIHNlIGVuY3VlbnRyZSBsYSBPUkRFTiBvIHF1ZSBzdWNlZGEgdW5cbiIKICIgICAgZXJyb3IgZGUgcmVkaXJlY2Np824uIgogCi0jOiBidWlsdGlucy5jOjY4OQorIzogYnVpbHRpbnMuYzo2OTQKIG1zZ2lkICIiCiAiRXhpdCB0aGUgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzE5OCw3ICszMjEwLDcgQEAKICJzYWxpZGFcbiIKICIgICAgZXMgZWwgbWlzbW8gZGUgbGEg+mx0aW1hIG9yZGVuIGVqZWN1dGFkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6Njk4CisjOiBidWlsdGlucy5jOjcwMwogbXNnaWQgIiIKICJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzIxMSw3ICszMjIzLDcgQEAKICIgICAgVGVybWluYSB1biBzaGVsbCBkZSBlbnRyYWRhIGNvbiB1biBlc3RhZG8gZGUgc2FsaWRhIGRlIE4uIERldnVlbHZlIHVuXG4iCiAiICAgIGVycm9yIHNpIG5vIHNlIGVqZWN1dGEgZW4gdW4gc2hlbGwgZGUgZW50cmFkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6NzA4CisjOiBidWlsdGlucy5jOjcxMwogbXNnaWQgIiIKICJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTMyNjcsNyArMzI3OSw3IEBACiAiZXJyb3JcbiIKICIgICAgZXMgZGlmZXJlbnRlIGRlIGNlcm8uIgogCi0jOiBidWlsdGlucy5jOjczOAorIzogYnVpbHRpbnMuYzo3NDMKIG1zZ2lkICIiCiAiTW92ZSBqb2IgdG8gdGhlIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzI4OCw3ICszMzAwLDcgQEAKICIgICAgRWwgZXN0YWRvIGRlbCBjb21hbmRvIHViaWNhZG8gZW4gcHJpbWVyIHBsYW5vLCBvIGZhbGxhIHNpIHN1Y2VkZSB1biAiCiAiZXJyb3IuIgogCi0jOiBidWlsdGlucy5jOjc1MworIzogYnVpbHRpbnMuYzo3NTgKIG1zZ2lkICIiCiAiTW92ZSBqb2JzIHRvIHRoZSBiYWNrZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTMzMTEsNyArMzMyMyw3IEBACiAiICAgIERldnVlbHZlIOl4aXRvIGEgbWVub3MgcXVlIGVsIGNvbnRyb2wgZGUgdHJhYmFqb3Mgbm8gZXN06SBhY3RpdmFkbyBvXG4iCiAiICAgIHN1Y2VkYSB1biBlcnJvci4iCiAKLSM6IGJ1aWx0aW5zLmM6NzY3CisjOiBidWlsdGlucy5jOjc3MgogbXNnaWQgIiIKICJSZW1lbWJlciBvciBkaXNwbGF5IHByb2dyYW0gbG9jYXRpb25zLlxuIgogIiAgICBcbiIKQEAgLTMzNTYsNyArMzM2OCw3IEBACiAiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBubyBzZSBlbmN1ZW50cmUgTk9NQlJFIG8gc2UgcHJvcG9yY2lvbmVcbiIKICIgICAgdW5hIG9wY2nzbiBpbnbhbGlkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzM5Nyw3ICszNDA5LDcgQEAKICIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIG5vIHNlIGVuY3VlbnRyZSBQQVRS004gbyBzZSBwcm9wb3JjaW9uZVxuIgogIiAgICB1bmEgb3BjafNuIGluduFsaWRhLiIKIAotIzogYnVpbHRpbnMuYzo4MTYKKyM6IGJ1aWx0aW5zLmM6ODIxCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTM0NjAsNyArMzQ3Miw3IEBACiAiICAgIHRpZW1wbyBhc29jaWFkYSBjb24gY2FkYSBlbnRyYWRhIGRlIGhpc3RvcmlhIG1vc3RyYWRhLiAgTm8gc2UgbXVlc3RyYVxuIgogIiAgICBuaW5ndW5hIG1hcmNhIGRlIHRpZW1wbyBkZSBvdHJhIGZvcm1hLiIKIAotIzogYnVpbHRpbnMuYzo4NTIKKyM6IGJ1aWx0aW5zLmM6ODU3CiBtc2dpZCAiIgogIkRpc3BsYXkgc3RhdHVzIG9mIGpvYnMuXG4iCiAiICAgIFxuIgpAQCAtMzUwNiw3ICszNTE4LDcgQEAKICIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIGRlIHVuYSBvcGNp824gaW524WxpZGEgbyBzdWNlZGEgdW5cbiIKICIgICAgZXJyb3IuICBTaSBzZSB1c2EgLXgsIGRldnVlbHZlIGVsIGVzdGFkbyBkZSBzYWxpZGEgZGUgbGEgT1JERU4uIgogCi0jOiBidWlsdGlucy5jOjg3OQorIzogYnVpbHRpbnMuYzo4ODQKIG1zZ2lkICIiCiAiUmVtb3ZlIGpvYnMgZnJvbSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTM1MzcsNyArMzU0OSw3IEBACiAiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBzZSBwcm9wb3JjaW9uZW4gdW5hIG9wY2nzbiBvIHVuXG4iCiAiICAgIElEVFJBQkFKTyBpbnbhbGlkb3MuIgogCi0jOiBidWlsdGlucy5jOjg5OAorIzogYnVpbHRpbnMuYzo5MDMKIG1zZ2lkICIiCiAiU2VuZCBhIHNpZ25hbCB0byBhIGpvYi5cbiIKICIgICAgXG4iCkBAIC0zNTg3LDcgKzM1OTksOCBAQAogIyBObyBz6SBzaSBleGlzdGUgcHJlY2VkZW5jaWEgZW4gZXNwYfFvbCwgcGVybyBtZSBzdWVuYSBmYXRhbC4KICMgWW8gcG9uZHLtYSBzaW1wbGVtZW50ZSAicHJpb3JpZGFkIi4gc3YKICMgQ3JlbyBxdWUgc2kgZXhpc3RlLCBwZXJvIHR1IHN1Z2VyZW5jaWEgZXMgbWVqb3IuIGNmdWdhCi0jOiBidWlsdGlucy5jOjkyMQorIzogYnVpbHRpbnMuYzo5MjYKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzYyOSw3ICszNjQyLDcgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIkV2YWz6YSBleHByZXNpb25lcyBhcml0bel0aWNhcy5cbiIKICIgICAgXG4iCkBAIC0zNjc0LDggKzM2ODcsNyBAQAogIiAgICBTaSBlbCD6bHRpbW8gQVJHdW1lbnRvIHNlIGV2YWz6YSBjb21vIDAsIGxldCBkZXZ1ZWx2ZSAxOyBkZSBvdHJhXG4iCiAiICAgIGZvcm1hLCBsZXQgZGV2dWVsdmUgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6OTY2Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzo5NzEKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgogIiAgICBcbiIKQEAgLTM3NDMsNyArMzc1NSwxMSBAQAogIiAgICAgIC1lXHRcdHVzYSBSZWFkbGluZSBwYXJhIG9idGVuZXIgbGEgbO1uZWEgZW4gdW4gc2hlbGwgaW50ZXJhY3Rpdm9cbiIKICIgICAgICAtaSB0ZXh0b1x0VXNhIGVsIFRFWFRPIGNvbW8gZWwgdGV4dG8gaW5pY2lhbCBwYXJhIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbmNhcnNcdHJlZ3Jlc2EgZGVzcHXpcyBkZSBsZWVyIE5DQVJTIGNhcmFjdGVyZXMgZW4gbHVnYXIgZGVcbiIKLSIgICAgXHRcdGVzcGVyYXIgdW5hIGztbmVhIG51ZXZhXG4iCisiICAgIFx0XHRlc3BlcmFyIHVuYSBs7W5lYSBudWV2YSwgcGVybyBob25yYSBhIHVuIGRlbGltaXRhZG9yIHNpXG4iCisiICAgIFx0XHRzZSBsZWVuIG1lbm9zIGRlIE5DQVJTIGNhcmFjdGVyZXMgYW50ZXMgZGVsIGRlbGltaXRhZG9yXG4iCisiICAgICAgLU4gbmNhcnNcdGRldnVlbHZlIHPzbG8gZGVzcHXpcyBkZSBsZWVyIGV4YWN0YW1lbnRlIE5DQVJTXG4iCisiICAgIFx0XHRjYXJhY3RlcmVzLCBhIG1lbm9zIHF1ZSBzZSBlbmN1ZW50cmUgZWwgZmluIGRlbCBmaWNoZXJvXG4iCisiICAgIFx0XHRvIGV4cGlyZSBsYSBsZWN0dXJhLCBkZXNjYXJ0YW5kbyBjdWFscXVpZXIgZGVsaW1pdGFkb3JcbiIKICIgICAgICAtcCBwcm9tcHRcdG11ZXN0cmEgbGEgY2FkZW5hIFBST01QVCBzaW4gdW4gY2FyYWN06XIgZGUgbO1uZWEgbnVldmFcbiIKICIgICAgXHRcdGFsIGZpbmFsIGFudGVzIGRlIGludGVudGFyIGxlZXJcbiIKICIgICAgICAtclx0XHRubyBwZXJtaXRlIHF1ZSBsYXMgYmFycmFzIGludmVydGlkYXMgZXNjYXBlbiBjYXJhY3RlcmVzXG4iCkBAIC0zNzYyLDcgKzM3NzgsNyBAQAogIiAgICBs7W5lYSwgZWwgdGllbXBvIGRlIHJlYWQgZXhwaXJlLCBvIHNlIHByb3BvcmNpb25lIHVuIGRlc2NyaXB0b3IgZGVcbiIKICIgICAgZmljaGVybyBpbnbhbGlkbyBjb21vIGVsIGFyZ3VtZW50byBkZSAtdS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAwOQorIzogYnVpbHRpbnMuYzoxMDE0CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzc4NCw3ICszODAwLDggQEAKICIgICAgRGV2dWVsdmUgTiwgbyBmYWxsYSBzaSBlbCBzaGVsbCBubyBlc3ThIGVqZWN1dGFuZG8gdW5hIGZ1bmNp824gbyB1biAiCiAiZ3Vp824uIgogCi0jOiBidWlsdGlucy5jOjEwMjIKKyM6IGJ1aWx0aW5zLmM6MTAyNworIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzg1Myw2ICszODcwLDkgQEAKICIgICAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzXG4iCiAiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKICIgICAgICAtVCAgSWYgc2V0LCB0aGUgREVCVUcgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC0tICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgICAgICAgYXJlIHVuc2V0LlxuIgogIiAgICAgIC0gICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgogIiAgICBcbiIKQEAgLTM5NTQsNyArMzk3NCw3IEBACiAiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCiAiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBzZSBwcm9wb3JjaW9uZSB1bmEgb3BjafNuIGluduFsaWRhLiIKIAotIzogYnVpbHRpbnMuYzoxMTA0CisjOiBidWlsdGlucy5jOjExMTIKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTM5OTAsNyArNDAxMCw3IEBACiAiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBzZSBwcm9wb3JjaW9uZSB1bmEgb3BjafNuIGluduFsaWRhIG9cbiIKICIgICAgdW4gTk9NQlJFIHNlYSBkZSBz82xvIGxlY3R1cmEuIgogCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTQwMjYsNyArNDA0Niw3IEBACiAiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBzZSBwcm9wb3JjaW9uZSB1bmEgb3BjafNuIGluduFsaWRhIG8gcXVlXG4iCiAiICAgIE5PTUJSRSBzZWEgaW524WxpZG8uIgogCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtNDA2NSw3ICs0MDg1LDcgQEAKICIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIHByb3BvcmNpb25lIHVuYSBvcGNp824gaW524WxpZGEgb1xuIgogIiAgICBlbCBOT01CUkUgc2VhIGluduFsaWRvLiIKIAotIzogYnVpbHRpbnMuYzoxMTY0CisjOiBidWlsdGlucy5jOjExNzIKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTQwODMsNyArNDEwMyw3IEBACiAiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCiAiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBOIHNlYSBuZWdhdGl2byBvIG1heW9yIHF1ZSAkIy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKKyM6IGJ1aWx0aW5zLmM6MTE4NCBidWlsdGlucy5jOjExOTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC00MTA3LDcgKzQxMjcsNyBAQAogIiAgICBEZXZ1ZWx2ZSBlbCBlc3RhZG8gZGUgbGEg+mx0aW1hIG9yZGVuIGVqZWN1dGFkYSBkZWwgRklDSEVSTzsgZmFsbGEgc2lcbiIKICIgICAgbm8gc2UgcHVlZGUgbGVlciBlbCBGSUNIRVJPLiIKIAotIzogYnVpbHRpbnMuYzoxMjA3CisjOiBidWlsdGlucy5jOjEyMTUKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDEzMywxNCArNDE1MywxOCBAQAogIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgbm8gZXN06SBhY3Rpdm8gZWwgY29udHJvbCBkZSB0cmFiYWpvcyBvXG4iCiAiICAgIHN1Y2VkYSB1biBlcnJvci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMworIzogYnVpbHRpbnMuYzoxMjMxCisjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKICIgICAgRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlKSBvciAxIChmYWxzZSkgZGVwZW5kaW5nIG9uXG4iCiAiICAgIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnlcbiIKICIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCi0iICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFzIHdlbGwsIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgogIiAgICBcbiIKICIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgpAQCAtNDE5NCw2ICs0MjE4LDcgQEAKICIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKICIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgogIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKICIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgogIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCkBAIC00Mjg3LDcgKzQzMTIsNyBAQAogIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gc2kgRVhQUiBldmFs+mEgYSB2ZXJkYWRlcm87IGZhbGxhIHNpIEVYUFIgZXZhbPphIGFcbiIKICIgICAgZmFsc28gbyBzZSBwcm9wb3JjaW9uYSB1biBhcmd1bWVudG8gaW524WxpZG8uIgogCi0jOiBidWlsdGlucy5jOjEyOTkKKyM6IGJ1aWx0aW5zLmM6MTMxMQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQyOTksNyArNDMyNCw3IEBACiAiICAgIEVzdGUgZXMgdW4gc2lu825pbW8gcGFyYSBsYSBvcmRlbiBpbnRlcm5hIFwidGVzdFwiLCBwZXJvIGVsIPpsdGltb1xuIgogIiAgICBhcmd1bWVudG8gZGViZSBzZXIgdW4gYF0nIGxpdGVyYWwsIHF1ZSBjb2luY2lkYSBjb24gZWwgYFsnIGluaWNpYWwuIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtNDMxOSw3ICs0MzQ0LDggQEAKICIgICAgRXN0YWRvIGRlIHNhbGlkYTpcbiIKICIgICAgU2llbXByZSBjb24g6XhpdG8uIgogCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgorIywgZnV6enkKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiAiICAgIFxuIgpAQCAtNDMzNSw3ICs0MzYxLDE1IEBACiAiICAgIFxuIgogIiAgICBJZiBhIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20gdGhlIHNoZWxsLiAgIgogIklmXG4iCi0iICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuICAiCisiSWZcbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBSRVRVUk4sIEFSRyBpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciAiCisiYVxuIgorIiAgICBzY3JpcHQgcnVuIGJ5IHRoZSAuIG9yIHNvdXJjZSBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuICBBICIKKyJTSUdOQUxfU1BFQ1xuIgorIiAgICBvZiBFUlIgbWVhbnMgdG8gZXhlY3V0ZSBBUkcgZWFjaCB0aW1lIGEgY29tbWFuZCdzIGZhaWx1cmUgd291bGQgY2F1c2UgIgorInRoZVxuIgorIiAgICBzaGVsbCB0byBleGl0IHdoZW4gdGhlIC1lIG9wdGlvbiBpcyBlbmFibGVkLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCwgdHJhcCBwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgIgogImFzc29jaWF0ZWRcbiIKQEAgLTQzODgsNyArNDQyMiw3IEBACiAKICMgIE5vIGhlIHZpc3RvIHF1ZSBlc3RlIGZpY2hlcm8gaW5jbHV5YSBsYSBwb3NpYmlsaWRhZCBkZSB0cmFkdWNpciBsYXMKICMgIHBhbGFicmFzIHF1ZSBtdWVzdHJhIGB0eXBlIC10Jy4gUG9yIGVzdGEgcmF6824sIHNlIGRlamFuIGVuIGluZ2zpcy4gY2Z1Z2EKLSM6IGJ1aWx0aW5zLmM6MTM1MgorIzogYnVpbHRpbnMuYzoxMzY4CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTQ0NDYsNyArNDQ4MCw3IEBACiAiICAgIERldnVlbHZlIGNvbiDpeGl0byBzaSBzZSBlbmN1ZW50cmFuIHRvZG9zIGxvcyBOT01CUkVzOyBmYWxsYSBzaSBubyBzZVxuIgogIiAgICBlbmN1ZW50cmEgYWxndW5vLiIKIAotIzogYnVpbHRpbnMuYzoxMzgzCisjOiBidWlsdGlucy5jOjEzOTkKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC00NTM1LDcgKzQ1NjksNyBAQAogInN1Y2VkYVxuIgogIiAgICB1biBlcnJvci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQyOAorIzogYnVpbHRpbnMuYzoxNDQ0CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTQ1NjksNyArNDYwMyw3IEBACiAiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBlbCBNT0RPIHNlYSBpbnbhbGlkbyBvIHNlIHByb3BvcmNpb25lXG4iCiAiICAgIHVuYSBvcGNp824gaW524WxpZGEuIgogCi0jOiBidWlsdGlucy5jOjE0NDgKKyM6IGJ1aWx0aW5zLmM6MTQ2NAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQ1OTcsNyArNDYzMSw3IEBACiAiICAgIERldnVlbHZlIGVsIGVzdGFkbyBkZSBJRDsgZmFsbGEgc2kgSUQgZXMgaW524WxpZG8gbyBzZSBwcm9wb3JjaW9uYSB1bmFcbiIKICIgICAgb3BjafNuIGluduFsaWRhLiIKIAotIzogYnVpbHRpbnMuYzoxNDY2CisjOiBidWlsdGlucy5jOjE0ODIKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDYyMCw3ICs0NjU0LDcgQEAKICIgICAgRGV2dWVsdmUgZWwgZXN0YWRvIGRlIElEOyBmYWxsYSBzaSBJRCBlcyBpbnbhbGlkbyBvIHNlIHByb3BvcmNpb25hIHVuYVxuIgogIiAgICBvcGNp824gaW524WxpZGEuIgogCi0jOiBidWlsdGlucy5jOjE0ODEKKyM6IGJ1aWx0aW5zLmM6MTQ5NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtNDY0Miw3ICs0Njc2LDcgQEAKICIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKICIgICAgRGV2dWVsdmUgZWwgZXN0YWRvIGRlIGxhIPpsdGltYSBvcmRlbiBlamVjdXRhZGEuIgogCi0jOiBidWlsdGlucy5jOjE0OTUKKyM6IGJ1aWx0aW5zLmM6MTUxMQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTQ2NzIsNyArNDcwNiw3IEBACiAiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCiAiICAgIERldnVlbHZlIGVsIGVzdGFkbyBkZSBsYSD6bHRpbWEgb3JkZW4gZWplY3V0YWRhLiIKIAotIzogYnVpbHRpbnMuYzoxNTEzCisjOiBidWlsdGlucy5jOjE1MjkKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTQ3MDksNyArNDc0Myw3IEBACiAiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCiAiICAgIERldnVlbHZlIGVsIGVzdGFkbyBkZSBsYSD6bHRpbWEgb3JkZW4gZWplY3V0YWRhLiIKIAotIzogYnVpbHRpbnMuYzoxNTM0CisjOiBidWlsdGlucy5jOjE1NTAKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDczNiw3ICs0NzcwLDcgQEAKICIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKICIgICAgRWwgZXN0YWRvIGRlIGRldm9sdWNp824gZXMgZWwgZXN0YWRvIGRlIGRldm9sdWNp824gZGUgbGEgVFVCRVLNQS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU1MQorIzogYnVpbHRpbnMuYzoxNTY3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC00NzU0LDcgKzQ3ODgsNyBAQAogIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgogIiAgICBEZXZ1ZWx2ZSBlbCBlc3RhZG8gZGUgbGEg+mx0aW1hIG9yZGVuIGVqZWN1dGFkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MworIzogYnVpbHRpbnMuYzoxNTc5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtNDc5MCw3ICs0ODI0LDcgQEAKICIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKICIgICAgRGV2dWVsdmUgZWwgZXN0YWRvIGRlIGxhIPpsdGltYSBvcmRlbiBlamVjdXRhZGEuIgogCi0jOiBidWlsdGlucy5jOjE1ODAKKyM6IGJ1aWx0aW5zLmM6MTU5NgogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgogIiAgICBcbiIKQEAgLTQ4MDgsNyArNDg0Miw3IEBACiAiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCiAiICAgIERldnVlbHZlIGVsIGVzdGFkbyBkZSBsYSD6bHRpbWEgb3JkZW4gZWplY3V0YWRhLiIKIAotIzogYnVpbHRpbnMuYzoxNTkyCisjOiBidWlsdGlucy5jOjE2MDgKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTQ4MjYsNyArNDg2MCw3IEBACiAiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCiAiICAgIERldnVlbHZlIGVsIGVzdGFkbyBkZSBsYSD6bHRpbWEgb3JkZW4gZWplY3V0YWRhLiIKIAotIzogYnVpbHRpbnMuYzoxNjA0CisjOiBidWlsdGlucy5jOjE2MjAKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtNDg1MCw3ICs0ODg0LDcgQEAKICIgICAgRXN0YWRvIGRlIFNhbGlkYTpcbiIKICIgICAgRGV2dWVsdmUgZWwgZXN0YWRvIGRlIHNhbGlkYSBkZSBsYSBPUkRFTi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00ODczLDcgKzQ5MDcsNyBAQAogIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgogIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgTk9NQlJFIHNlYSBkZSBz82xvIGxlY3R1cmEiCiAKLSM6IGJ1aWx0aW5zLmM6MTYzMgorIzogYnVpbHRpbnMuYzoxNjQ4CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC00ODkxLDcgKzQ5MjUsNyBAQAogIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgogIiAgICBEZXZ1ZWx2ZSBlbCBlc3RhZG8gZGUgbGEg+mx0aW1hIG9yZGVuIGVqZWN1dGFkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY0NAorIzogYnVpbHRpbnMuYzoxNjYwCiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC00OTE2LDcgKzQ5NTAsNyBAQAogIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgogIiAgICBEZXZ1ZWx2ZSBlbCBlc3RhZG8gZGVsIHRyYWJham8gcmVpbmljaWFkby4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1OQorIzogYnVpbHRpbnMuYzoxNjc1CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00OTM0LDcgKzQ5NjgsNyBAQAogIiAgICBFc3RhZG8gZGUgU2FsaWRhOlxuIgogIiAgICBEZXZ1ZWx2ZSAxIHNpIGxhIEVYUFJFU0nTTiBldmFs+mEgYSAwOyBkZXZ1ZWx2ZSAwIGRlIG90cmEgbWFuZXJhLiIKIAotIzogYnVpbHRpbnMuYzoxNjcxCisjOiBidWlsdGlucy5jOjE2ODcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTQ5ODcsNyArNTAyMSw3IEBACiAiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCiAiICAgIDAgbyAxIGRlcGVuZGllbmRvIGRlbCB2YWxvciBkZSBsYSBFWFBSRVNJ004uIgogCi0jOiBidWlsdGlucy5jOjE2OTcKKyM6IGJ1aWx0aW5zLmM6MTcxMwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTUxMDIsNyArNTEzNiw3IEBACiAiICAgIFx0XHRwYXJhIGRlY2lkaXIgY3XhbGVzIPNyZGVuZXMgc2UgZGViZW4gZ3VhcmRhciBlbiBsYSBsaXN0YSBkZVxuIgogIiAgICBcdFx0aGlzdG9yaWEuXG4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc1NAorIzogYnVpbHRpbnMuYzoxNzcwCiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MTYxLDcgKzUxOTUsNyBAQAogIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgc2UgcHJvcG9yY2lvbmUgdW4gYXJndW1lbnRvIGluduFsaWRvIG9cbiIKICIgICAgZmFsbGUgZWwgY2FtYmlvIGRlIGRpcmVjdG9yaW8uIgogCi0jOiBidWlsdGlucy5jOjE3ODgKKyM6IGJ1aWx0aW5zLmM6MTgwNAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MjE1LDcgKzUyNDksNyBAQAogIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgc2UgcHJvcG9yY2lvbmUgdW4gYXJndW1lbnRvIGluduFsaWRvIG9cbiIKICIgICAgZmFsbGUgZWwgY2FtYmlvIGRlIGRpcmVjdG9yaW8uIgogCi0jOiBidWlsdGlucy5jOjE4MTgKKyM6IGJ1aWx0aW5zLmM6MTgzNAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MjcxLDcgKzUzMDUsNyBAQAogIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8sIGEgbWVub3MgcXVlIHNlIHByb3BvcmNpb25lIHVuYSBvcGNp824gaW524WxpZGEgb1xuIgogIiAgICBzdWNlZGEgdW4gZXJyb3IuIgogCi0jOiBidWlsdGlucy5jOjE4NDcKKyM6IGJ1aWx0aW5zLmM6MTg2MwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTMwOCw3ICs1MzQyLDggQEAKICIgICAgRGV2dWVsdmUgY29uIOl4aXRvIHNpIHNlIGFjdGl2YSBOT01CUkVfT1BDSdNOOyBmYWxsYSBzaSBzZSBwcm9wb3JjaW9uYVxuIgogIiAgICB1bmEgb3BjafNuIGluduFsaWRhIG8gTk9NQlJFX09QQ0nTTiBlc3ThIGRlc2FjdGl2YWRvLiIKIAotIzogYnVpbHRpbnMuYzoxODY4CisjOiBidWlsdGlucy5jOjE4ODQKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTUzMzEsNiArNTM2Niw5IEBACiAiICAgIFxuIgogIiAgICAgICViXHRleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYXJndW1lbnRcbiIKICIgICAgICAlcVx0cXVvdGUgdGhlIGFyZ3VtZW50IGluIGEgd2F5IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dFxuIgorIiAgICAgICUoZm10KVQgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nIEZNVCBhcyBhICIKKyJmb3JtYXRcbiIKKyIgICAgICAgICAgICBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIHdyaXRlIG9yICIKQEAgLTUzNjEsOCArNTM5OSw3IEBACiAiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBzZSBwcm9wb3JjaW9uZSB1bmEgb3BjafNuIGluduFsaWRhIG9cbiIKICIgICAgc3VjZWRhIHVuIGVycm9yIGRlIGVzY3JpdHVyYSBvIGRlIGFzaWduYWNp824uIgogCi0jOiBidWlsdGlucy5jOjE4OTUKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE5MTMKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtNTQwMSwxNSArNTQzOCwyMCBAQAogIiAgICAgIC1yXHRib3JyYSB1bmEgZXNwZWNpZmljYWNp824gZGUgY29tcGxldGFkbyBwYXJhIGNhZGEgTk9NQlJFLFxuIgogIiAgICBcdG8sIHNpIG5vIHNlIHByb3BvcmNpb25hbiBOT01CUkVzLCB0b2RhcyBsYXMgZXNwZWNpZmljYWNpb25lc1xuIgogIiAgICBcdGRlIGNvbXBsZXRhZG9cbiIKKyIgICAgICAtRFx0YXBsaWNhIGxvcyBjb21wbGV0YWRvcyB5IGFjY2lvbmVzIHBvciBkZWZlY3RvIHBhcmEgbGFzIPNyZGVuZXNcbiIKKyIgICAgXHRzaW4gbmluZ3VuYSBlc3BlY2lmaWNhY2nzbiBkZSBjb21wbGV0YWRvIGRlZmluaWRhXG4iCisiICAgICAgLUVcdGFwbGljYSBsb3MgY29tcGxldGFkb3MgeSBhY2Npb25lcyBwYXJhIPNyZGVuZXMgXCJ2YWPtYXNcIiAtLVxuIgorIiAgICBcdGN1YW5kbyBzZSBpbnRlbnRhIGNvbXBsZXRhciBlbiB1bmEgbO1uZWEgZW4gYmxhbmNvXG4iCiAiICAgIFxuIgogIiAgICBDdWFuZG8gc2UgaW50ZW50YSBlbCBjb21wbGV0YWRvLCBsYXMgYWNjaW9uZXMgc2UgYXBsaWNhbiBlbiBlbCBvcmRlbiBlblxuIgotIiAgICBxdWUgc2UgZW5saXN0YW4gbGFzIG9wY2lvbmVzIGRlIGxldHJhIG1hefpzY3VsYSBhbnRlcyBpbmRpY2FkYXMuXG4iCisiICAgIHF1ZSBzZSBlbmxpc3RhbiBsYXMgb3BjaW9uZXMgZGUgbGV0cmEgbWF5+nNjdWxhIGFudGVzIGluZGljYWRhcy4gIExhXG4iCisiICAgIG9wY2nzbiAtRCB0aWVuZSBwcmVjZWRlbmNpYSBzb2JyZSAtRS5cbiIKICIgICAgXG4iCiAiICAgIEVzdGFkbyBkZSBTYWxpZGE6XG4iCiAiICAgIERldnVlbHZlIGNvbiDpeGl0byBhIG1lbm9zIHF1ZSBzZSBwcm9wb3JjaW9uZSB1bmEgb3BjafNuIGluduFsaWRhIG9cbiIKICIgICAgc3VjZWRhIHVuIGVycm9yLiIKIAotIzogYnVpbHRpbnMuYzoxOTIzCisjOiBidWlsdGlucy5jOjE5NDEKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTQzMSwxNCArNTQ3MywxNCBAQAogIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgc2UgcHJvcG9yY2lvbmUgdW5hIG9wY2nzbiBpbnbhbGlkYSBvXG4iCiAiICAgIHN1Y2VkYSB1biBlcnJvci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzOAorIzogYnVpbHRpbnMuYzoxOTU2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC01NDcxLDYgKzU1MTMsOCBAQAogIiAgICBPcGNpb25lczpcbiIKICIgICAgXHQtbyBvcGNp825cdEVzdGFibGVjZSBsYSBvcGNp824gZGUgY29tcGxldGFkbyBPUENJ005cbiIKICIgICAgXHRcdHBhcmEgY2FkYSBOT01CUkVcbiIKKyIgICAgXHQtRFx0XHRDYW1iaWEgbGFzIG9wY2lvbmVzIHBhcmEgZWwgY29tcGxldGFkbyBkZSBvcmRlbiBcInBvciBkZWZlY3RvXCJcbiIKKyIgICAgXHQtRVx0XHRDYW1iaWEgbGFzIG9wY2lvbmVzIHBhcmEgZWwgY29tcGxldGFkbyBkZSBvcmRlbiBcInZhY+1hXCJcbiIKICIgICAgXG4iCiAiICAgIFNpIHVzYSBgK28nIGVuIGx1Z2FyIGRlIGAtbycgZGVzYWN0aXZhIGxhIG9wY2nzbiBlc3BlY2lmaWNhZGEuXG4iCiAiICAgIFxuIgpAQCAtNTQ3OCw3ICs1NTIyLDggQEAKICIgICAgXG4iCiAiICAgIENhZGEgTk9NQlJFIHNlIHJlZmllcmUgYSB1bmEgb3JkZW4gcGFyYSBsYSBjdWFsIHNlIGRlZmluafMgcHJldmlhbWVudGVcbiIKICIgICAgdW5hIGVzcGVjaWZpY2FjafNuIGRlIGNvbXBsZXRhZG8gdXNhbmRvIGxhIG9yZGVuIGludGVybmEgYGNvbXBsZXRlJy5cbiIKLSIgICAgU2kgbm8gc2UgcHJvcG9yY2lvbmFuIE5PTUJSRXMsIGNvbXBvcHQgZGViZSBsbGFtYXJzZSBkZXNkZSB1bmEgZnVuY2nzblxuIgorIiAgICBTaSBubyBzZSBwcm9wb3JjaW9uYW4gTk9NQlJFcywgc2UgZGViZSBsbGFtYXIgYSBjb21wb3B0IGRlc2RlIHVuYSAiCisiZnVuY2nzblxuIgogIiAgICBxdWUgZ2VuZXJlIGNvbXBsZXRhZG9zLCB5IHNlIG1vZGlmaWNhbiBsYXMgb3BjaW9uZXMgcGFyYSBlc2UgZ2VuZXJhZG9yXG4iCiAiICAgIGRlIGNvbXBsZXRhZG9zIGVuIGVqZWN1Y2nzbi5cbiIKICIgICAgXG4iCkBAIC01NDg2LDcgKzU1MzEsNyBAQAogIiAgICBEZXZ1ZWx2ZSBjb24g6XhpdG8gYSBtZW5vcyBxdWUgc2UgcHJvcG9yY2lvbmUgdW5hIG9wY2nzbiBpbnbhbGlkYSBvXG4iCiAiICAgIGVsIE5PTUJSRSBubyB0ZW5nYSB1bmEgZXNwZWNpZmljYWNp824gZGUgY29tcGxldGFkbyBkZWZpbmlkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKQEAgLTU1MTUsNyArNTU2MCw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtNTUyNiwxMSArNTU3MiwxMSBAQAogIm9yXG4iCiAiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgotIkxlZSBs7W5lYXMgZGUgdW4gZmljaGVybyB5IGxhcyBndWFyZGEgZW4gdW5hIHZhcmlhYmxlIGRlIG1hdHJpei5cbiIKKyJMZWUgbO1uZWFzIGRlIHVuIGZpY2hlcm8geSBsYXMgZ3VhcmRhIGVuIHVuYSB2YXJpYWJsZSBkZSBtYXRyaXogaW5kaXphZGEuXG4iCiAiICAgIFxuIgogIiAgICBMZWUgbO1uZWFzIGRlIGxhIGVudHJhZGEgZXN04W5kYXIgeSBsYXMgZ3VhcmRhIGVuIGxhIHZhcmlhYmxlIGRlIG1hdHJpelxuIgotIiAgICBNQVRSSVosIG8gZGVzZGUgZWwgZGVzY3JpcHRvciBkZSBmaWNoZXJvIERGIHNpIHNlIHByb3BvcmNpb25hIGxhIG9wY2nzblxuIgotIiAgICAtdS4gIExhIHZhcmlhYmxlIE1BUEZJTEUgZXMgbGEgTUFUUklaIHBvciBkZWZlY3RvLlxuIgorIiAgICBpbmRpemFkYSBNQVRSSVosIG8gZGVzZGUgZWwgZGVzY3JpcHRvciBkZSBmaWNoZXJvIERGIHNpIHNlIHByb3BvcmNpb25hXG4iCisiICAgIGxhIG9wY2nzbiAtdS4gIExhIHZhcmlhYmxlIE1BUEZJTEUgZXMgbGEgTUFUUklaIHBvciBkZWZlY3RvLlxuIgogIiAgICBcbiIKICIgICAgT3BjaW9uZXM6XG4iCiAiICAgICAgLW4gY3VlbnRhXHRDb3BpYSBoYXN0YSBDVUVOVEEgbO1uZWFzLiAgU2kgQ1VFTlRBIGVzIDAsIHNlIGNvcGlhblxuIgpAQCAtNTU1OSw3ICs1NjA1LDcgQEAKICIgICAgRGV2dWVsdmUgY29uIOl4aXRvIGEgbWVub3MgcXVlIHNlIHByb3BvcmNpb25lIHVuYSBvcGNp824gaW524WxpZGEgb1xuIgogIiAgICBsYSBNQVRSSVogc2VhIGRlIHPzbG8gbGVjdHVyYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCkBAIC01NTY5LDYgKzU2MTUsMjggQEAKICIgICAgXG4iCiAiICAgIFVuIHNpbvNuaW1vIGRlIGBtYXBmaWxlJy4iCiAKKyN+IG1zZ2lkICIiCisjfiAiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisjfiAiICAgICIKKyN+IG1zZ3N0ciAiIgorI34gIi4gIENvbiBFWFBSLCBkZXZ1ZWx2ZVxuIgorI34gIiAgICAiCisKKyN+IG1zZ2lkICIiCisjfiAiOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCisjfiAiICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKKyN+ICIgICAgXG4iCisjfiAiICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSAiCisjfiAidGhlXG4iCisjfiAiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorI34gbXNnc3RyICIiCisjfiAiOyBlc3RhIGluZm9ybWFjafNuIGFkaWNpb25hbCBzZSBwdWVkZSB1c2FyIHBhcmFcbiIKKyN+ICIgICAgcHJvdmVlciB1biByYXN0cmVvIGRlIHBpbGEuXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBFbCB2YWxvciBkZSBFWFBSIGluZGljYSBjdeFudG9zIG1hcmNvcyBkZSBsbGFtYWRhIHJldHJvY2VkZXIgYW50ZXMgIgorI34gImRlbFxuIgorI34gIiAgICBtYXJjbyBhY3R1YWw7IGVsIG1hcmNvIHN1cGVyaW9yIGVzIGVsIG1hcmNvIDAuIgorCiAjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiAjfiBtc2dzdHIgInhyZWFsbG9jOiBubyBzZSBwdWVkZW4gcmVhc2lnbmFyICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFzaWduYWRvcykiCiAKZGlmZiAtLWdpdCBhL3BvL2V0LmdtbyBiL3BvL2V0LmdtbwppbmRleCA3NzkzMDdmLi5mMDIwZmNiIDEwMDY0NAotLS0gYS9wby9ldC5nbW8KKysrIGIvcG8vZXQuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL2V0LnBvIGIvcG8vZXQucG8KaW5kZXggMmZiZGI0Yi4uN2IyOTYxYyAxMDA2NDQKLS0tIGEvcG8vZXQucG8KKysrIGIvcG8vZXQucG8KQEAgLTYsNyArNiw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggMy4yXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0wMS0yOCAyMjowOS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0xMS0xMSAxNjozOCswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBUb29tYXMgU29vbWUgPFRvb21hcy5Tb29tZUBtaWNyb2xpbmsuZWU+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogRXN0b25pYW4gPGV0QGxpLm9yZz5cbiIKQEAgLTE4LDcgKzE4LDcgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJ2aWdhbmUgbWFzc2lpdmkgaW5kZWtzIgogCi0jOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCkBAIC0zOCwyNiArMzgsMjYgQEAKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBiYXNoaGlzdC5jOjM4MworIzogYmFzaGhpc3QuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczogZWkgc2FhIGx1dWE6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0NTcKKyM6IGJhc2hsaW5lLmM6MzQ5OAogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM1NDMKKyM6IGJhc2hsaW5lLmM6MzU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczogZXNpbWluZSBtaXR0ZS10/GhlbWlrIHP8bWJvbCBwb2xlIGBcIiciCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAic3VsZ2V2IGAlYycgcHV1ZHViICVzIHNlZXMiCiAKLSM6IGJhc2hsaW5lLmM6MzYwNgorIzogYmFzaGxpbmUuYzozNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXM6IHB1dWR1YiBlcmFsZGF2IGtvb2xvbiIKQEAgLTExNywyNiArMTE3LDExIEBACiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiBtc2dzdHIgIlRhZ2FzdGFiIGpvb2tzdmEgYWxhbXByb3RzZWR1dXJpIGtvbnRla3N0aS4iCiAKLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Ci1tc2dpZCAiIgotIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgotIiAgICAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKLW1zZ2lkICIiCi0iOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCi0iICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKLSIgICAgXG4iCi0iICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKLSIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2QuZGVmOjIxNQorIzogYnVpbHRpbnMvY2QuZGVmOjIzNQogbXNnaWQgIkhPTUUgbm90IHNldCIKIG1zZ3N0ciAiSE9NRSBwb2xlIHNlYXR1ZCIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgogbXNnc3RyICJPTERQV0QgcG9sZSBzZWF0dWQiCiAKQEAgLTE1NSwxMSArMTQwLDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiBob2lhdHVzOiAiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgzMgogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAibGlpZ2EgcGFsanUgYXJndW1lbnRlIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogdvV0aSBu9XVhYiBhcmd1bWVudGkiCkBAIC0xOTksNyArMTg0LDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgInZpZ2FuZSBudW1iZXIiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMzYyCiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgInZpZ2FuZSBudW1iZXIiCiAKQEAgLTMwOCwyNSArMjkzLDI1IEBACiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjIKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAic2FhYiBrYXN1dGFkYSBhaW51bHQgZnVua3RzaW9vbmlzIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAidvV0aXQgYC1mJyBlaSBzYWEgZnVua3RzaW9vbmkgbG9vbWlzZWtzIGthc3V0YWRhIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzggZXhlY3V0ZV9jbWQuYzo1MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6IGZ1bmt0c2lvb24gZWkgb2xlIG11dWRldGF2IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogbWFzaWl2aSBtdXV0dWphaWQgZWkgc2FhIG5paSBrdXN0dXRhZGEiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIiCkBAIC0zNTUsMjkgKzM0MCwyOSBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGVpIHNhYSBrdXN0dXRhZGE6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0Ci0jOiBzaGVsbC5jOjE0NTIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiBvbiBrYXRhbG9vZyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIiVzOiBlaSBvbGUgdGF2YWxpbmUgZmFpbCIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDcKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiJXM6IGZhaWwgb24gbGlpZ2Egc3V1ciIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0Ci0jOiBzaGVsbC5jOjE0NjIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTgyIGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAwIGV4ZWN1dGVfY21kLmM6NTAzMgorIzogc2hlbGwuYzoxNDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IGthaGVuZGZhaWxpIGVpIPVubmVzdHUga+Rpdml0YWRhIgogCi0jOiBidWlsdGlucy9leGVjLmRlZjoyMTIKKyM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NCBidWlsdGlucy9leGVjLmRlZjoxNTYgYnVpbHRpbnMvZXhlYy5kZWY6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCiBtc2dzdHIgIiVzOiBlaSBzYWEga+Rpdml0YWRhOiAlcyIKQEAgLTQwNSwxMSArMzkwLDExIEBACiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAia+Rza3UgZWkgb2xlIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQ5CisjOiBidWlsdGlucy9mYy5kZWY6MzEyIGJ1aWx0aW5zL2ZjLmRlZjozNTkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM3MAorIzogYnVpbHRpbnMvZmMuZGVmOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IGFqdXRpc3QgZmFpbGkgZWkgc2FhIGF2YWRhOiAlcyIKQEAgLTQ0Miw3ICs0MjcsNyBAQAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0CisjOiBidWlsdGlucy9oYXNoLmRlZjoyNDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKIG1zZ3N0ciAidmlpbWFuZSBr5HNrbHVzOiAlc1xuIgpAQCAtNDk5LDc3ICs0ODQsODcgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAorIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjEKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICJUdW5kbWF0dSB2aWdhIgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJvb2RhdGkgYXZhbGRpc3QiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTcyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiVzOiBwb2xlIG1hc3NpaXYiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NiBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY0IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3MyBidWlsdGlucy9tYXBmaWxlLmRlZjozMTEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiB2aWdhbmUgdvV0aSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJXM6IHZpZ2FuZSB29XRpIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiJXM6IHZpZ2FuZSB0ZWdldnVzZSBuaW1pIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogIywgZnV6enkKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICIlczogcG9sZSBtYXNzaWl2IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM1NAogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgdGltZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6IHZpZ2FuZSBzaWduYWFsaSBzcGV0c2lmaWthdHNpb29uIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIiVzOiBob2lhdHVzOiAiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjg0MAogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyB1bmljb2RlIGRpZ2l0IGZvciBcXCVjIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjoxOTUKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCiBtc2dzdHIgInRlaXN0IGthdGFsb29naSBwb2xlIgpAQCAtNjcwLDIxICs2NjUsMjEgQEAKIG1zZ2lkICJjYW4gb25seSBgcmV0dXJuJyBmcm9tIGEgZnVuY3Rpb24gb3Igc291cmNlZCBzY3JpcHQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo3NjgKKyM6IGJ1aWx0aW5zL3NldC5kZWY6NzcxCiBtc2dpZCAiY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MDUKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQiCiBtc2dzdHIgIiVzOiBlaSBzYWEgZWVtYWxkYWRhIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgxMgorIzogYnVpbHRpbnMvc2V0LmRlZjo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgJXMiCiBtc2dzdHIgIiVzOiBlaSBzYWEgZWVtYWxkYWRhOiAlcyBvbiBhaW51bHQgbHVnZW1pc2VrcyIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MjMKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBwb2xlIG1hc3NpaXYiCkBAIC02OTgsMjAgKzY5MywyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJzaGlmdCBhcnYiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGZhaWxpIGVpIG9sZSIKQEAgLTc1NCwyNiArNzQ5LDI2IEBACiBtc2dpZCAiJXMgaXMgaGFzaGVkICglcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozOTgKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGJhZCBjb21tYW5kIgogbXNnc3RyICJgJWMnOiBoYWxiIGvkc2tsdXMiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDI3CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGdldCBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBlaSD1bm5lc3R1IGx1Z2VkYSBwaWlyYW5ndXQ6ICVzIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQ1MworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTcKIG1zZ2lkICJsaW1pdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQ2NSBidWlsdGlucy91bGltaXQuZGVmOjc2NQorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjkgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgbGltaXQ6ICVzIgogbXNnc3RyICIlczogZWkg9W5uZXN0dSBtdXV0YSBwaWlyYW5ndXQ6ICVzIgpAQCAtODI5LDEwNiArODI0LDExMSBAQAogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTcKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTYyCisjOiBleGVjdXRlX2NtZC5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjA3NQorIzogZXhlY3V0ZV9jbWQuYzoyMTIxCiAjLCBmdXp6eQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgImtpcmp1dGFtaXNlIHZpZ2E6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0ODEKKyM6IGV4ZWN1dGVfY21kLmM6NDY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiVzOiBwaWlyYXR1ZDoga+Rza3VkZXMgZWkgc2FhIGthc3V0YWRhIHP8bWJvbGVpZCBgLyciCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDU3MgorIzogZXhlY3V0ZV9jbWQuYzo0NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGvkc2t1IGVpIG9sZSIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODI3CisjOiBleGVjdXRlX2NtZC5jOjQ5NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyIKK21zZ3N0ciAiJXMgb24gJXNcbiIKKworIzogZXhlY3V0ZV9jbWQuYzo0OTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IGhhbGIgaW50ZXJwcmV0YWF0b3IiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3NgorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICJhdmFsZGlzZSByZWt1cnNpb29uIG9uIGxpaWdhIHP8Z2F2IgogCi0jOiBleHByLmM6MjY1CisjOiBleHByLmM6MjgwCiBtc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6Mzc5CisjOiBleHByLmM6NDIyCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGV4cHJlc3Npb24iCiBtc2dzdHIgInP8bnRha3NpIHZpZ2EgYXZhbGRpc2VzIgogCi0jOiBleHByLmM6NDE5CisjOiBleHByLmM6NDYzCiBtc2dpZCAiYXR0ZW1wdGVkIGFzc2lnbm1lbnQgdG8gbm9uLXZhcmlhYmxlIgogbXNnc3RyICL8cml0YXRpIG9taXN0YWRhIG1pdHRlLW11dXR1amFsZSIKIAotIzogZXhwci5jOjQ0MCBleHByLmM6NDQ1IGV4cHIuYzo3NTYKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3CiBtc2dpZCAiZGl2aXNpb24gYnkgMCIKIG1zZ3N0ciAibnVsbGlnYSBqYWdhbWluZSIKIAotIzogZXhwci5jOjQ3MQorIzogZXhwci5jOjUxNwogbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6NTEzCisjOiBleHByLmM6NTY0CiBtc2dpZCAiYDonIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzo3ODEKKyM6IGV4cHIuYzo4MzIKIG1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKIG1zZ3N0ciAiZWtzcG9uZW50IG9uIHbkaWtzZW0ga3VpIDAiCiAKLSM6IGV4cHIuYzo4MjYKKyM6IGV4cHIuYzo4ODcKIG1zZ2lkICJpZGVudGlmaWVyIGV4cGVjdGVkIGFmdGVyIHByZS1pbmNyZW1lbnQgb3IgcHJlLWRlY3JlbWVudCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6ODU0CisjOiBleHByLmM6OTEwCiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgInB1dWR1YiBgKSciCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgInP8bnRha3NpIHZpZ2E6IG9vZGF0aSBvcGVyYW5kaSIKIAotIzogZXhwci5jOjExNzgKKyM6IGV4cHIuYzoxMjg0CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgInP8bnRha3NpIHZpZ2E6IHZpZ2FuZSBhcml0bWVldGlsaW5lIG9wZXJhYXRvciIKIAotIzogZXhwci5jOjEyMDIKKyM6IGV4cHIuYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEyNjAKKyM6IGV4cHIuYzoxMzY2CiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgInZpZ2FuZSBhcml0bWVldGlsaW5lIGJhYXMiCiAKLSM6IGV4cHIuYzoxMjgwCisjOiBleHByLmM6MTM4NgogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAiduTkcnR1cyBvbiBiYWFzaWtzIGxpaWdhIHN1dXIiCiAKLSM6IGV4cHIuYzoxMzI5CisjOiBleHByLmM6MTQzNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IG9vZGF0aSB05GlzYXJ2dWRlIGF2YWxkaXN0IgpAQCAtOTM3LDE2MyArOTM3LDE2MyBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldGN3ZDogdmFuZW1rYXRhbG9vZ2lkZWxlIGVpIG9sZSBqdXVyZGVw5ORzdSIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICIiCiAKLSM6IGlucHV0LmM6MjU4CisjOiBpbnB1dC5jOjI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYWxsb2NhdGUgbmV3IGZpbGUgZGVzY3JpcHRvciBmb3IgYmFzaCBpbnB1dCBmcm9tIGZkICVkIgogbXNnc3RyICIiCiAKLSM6IGlucHV0LmM6MjY2CisjOiBpbnB1dC5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzo0NjYKKyM6IGpvYnMuYzo0NjgKIG1zZ2lkICJzdGFydF9waXBlbGluZTogcGdycCBwaXBlIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzo4ODcKKyM6IGpvYnMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ya2VkIHBpZCAlZCBhcHBlYXJzIGluIHJ1bm5pbmcgam9iICVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxMDA1CisjOiBqb2JzLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyBzdG9wcGVkIGpvYiAlZCB3aXRoIHByb2Nlc3MgZ3JvdXAgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxMTEwCisjOiBqb2JzLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxMTEzCisjOiBqb2JzLmM6MTExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MDEKKyM6IGpvYnMuYzoxNDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc2NyaWJlX3BpZDogJWxkOiBubyBzdWNoIHBpZCIKIG1zZ3N0ciAiZGVzY3JpYmVfcGlkOiAlbGQ6IHBpZCBwdXVkdWIiCiAKLSM6IGpvYnMuYzoxNDE2CisjOiBqb2JzLmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJTaWduYWwgJWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0CiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCisjOiBqb2JzLmM6MTQ2NCBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQzOQorIzogam9icy5jOjE0NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCglcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0NDMKKyM6IGpvYnMuYzoxNDcyCiBtc2dpZCAiUnVubmluZyIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ1NworIzogam9icy5jOjE0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0NTkKKyM6IGpvYnMuYzoxNDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4aXQgJWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0NjIKKyM6IGpvYnMuYzoxNDkxCiBtc2dpZCAiVW5rbm93biBzdGF0dXMiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE1NDkKKyM6IGpvYnMuYzoxNTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihjb3JlIGR1bXBlZCkgIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNTY4CisjOiBqb2JzLmM6MTU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh3ZDogJXMpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNzc2CisjOiBqb2JzLmM6MTgwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTMzIG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjIzMzEKKyM6IGpvYnMuYzoyMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjI2MDcKKyM6IGpvYnMuYzoyNjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiBtc2dzdHIgIndhaXRfZm9yX2pvYjogdPb2ICVkIG9uIHBlYXRhdHVkIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIG1zZ3N0ciAiJXM6IHT29iBvbiBs9XBldGF0dWQiCiAKLSM6IGpvYnMuYzoyODM4CisjOiBqb2JzLmM6Mjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiJXM6IHT29iAlZCBvbiBqdWJhIHRhdXN0YWwiCiAKLSM6IGpvYnMuYzozMDU5CisjOiBqb2JzLmM6MzA4OQogbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUwOAorIzogam9icy5jOjM1MzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIiVzOiBob2lhdHVzOiAiCiAKLSM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAorIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CisjOiBqb2JzLmM6MzU2NCBqb2JzLmM6MzU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzU3OQorIzogam9icy5jOjM2MDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzYzOQorIzogam9icy5jOjM2NjkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NDkKKyM6IGpvYnMuYzozNjc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY3NworIzogam9icy5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2ODIKKyM6IGpvYnMuYzozNzEyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAiIgogCkBAIC0xMjQ1LDk5ICsxMjQ1LDk5IEBACiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQorIzogcGFyc2UueTozMTczIHBhcnNlLnk6MzQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzk1MQorIzogcGFyc2UueTo0MDI1CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5NTYKKyM6IHBhcnNlLnk6NDAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6Mzk2MAorIzogcGFyc2UueTo0MDM0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgInP8bnRha3NpIHZpZ2EgdGluZ2ltdXNsaWt1cyBhdmFsZGlzZXMiCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJvb3RhbWF0dSBt5HJrIGAlcycsIG9vZGF0aSBgKSciCiAKLSM6IHBhcnNlLnk6NDA0MgorIzogcGFyc2UueTo0MTE2CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICJvb2RhdGkgYCknIgogCi0jOiBwYXJzZS55OjQwNzAKKyM6IHBhcnNlLnk6NDE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MDc0CisjOiBwYXJzZS55OjQxNDgKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDEyMAorIzogcGFyc2UueTo0MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDEyNAorIzogcGFyc2UueTo0MTk4CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTUwCisjOiBwYXJzZS55OjQyMjQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNjEKKyM6IHBhcnNlLnk6NDIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNjQKKyM6IHBhcnNlLnk6NDIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNjgKKyM6IHBhcnNlLnk6NDI0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo1NDU5CisjOiBwYXJzZS55OjU1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTQ3NworIzogcGFyc2UueTo1NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgInP8bnRha3NpIHZpZ2Ega29oYWwgYCVzJyIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgInP8bnRha3NpIHZpZ2E6IG9vdGFtYXR1IGZhaWxpbPVwcCIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgInP8bnRha3NpIHZpZ2EiCiAKLSM6IHBhcnNlLnk6NTU0OQorIzogcGFyc2UueTo1NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJL5HN1aW50ZXJwcmV0YWF0b3Jpc3QgduRsanVtaXNla3Mga2FzdXRhZ2UgXCIlc1wiLlxuIgogCi0jOiBwYXJzZS55OjU3MTEKKyM6IHBhcnNlLnk6NTgxOAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAiIgogCkBAIC0xMzQ2LDc3ICsxMzQ2LDc3IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgIiIKIAotIzogcGNvbXBsaWIuYzoxNzkKKyM6IHBjb21wbGliLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MjkwCisjOiBwcmludF9jbWQuYzoyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjM2MworIzogcHJpbnRfY21kLmM6MzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzozNjgKKyM6IHByaW50X2NtZC5jOjM3MwogbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6Mzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoxNDYxCisjOiBwcmludF9jbWQuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjExMAorIzogcmVkaXIuYzoxMjIKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICJmYWlsaSBkZXNrcmlwdG9yIG9uIHBpaXJpZGVzdCB25GxqYXMiCiAKLSM6IHJlZGlyLmM6MTY2CisjOiByZWRpci5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogc2VnYW5lIPxtYmVyc3V1bmFtaW5lIgogCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IGZhaWwgb24gb2xlbWFzLCBlaSBraXJqdXRhIPxsZSIKIAotIzogcmVkaXIuYzoxNzUKKyM6IHJlZGlyLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogcGlpcmF0dWQ6IHbkbGp1bmRpdCBlaSBzYWEg/G1iZXIgc3V1bmF0YSIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE4NAorIzogcmVkaXIuYzoxOTYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgogbXNnc3RyICIkJXM6IHNlZGFzaSBlaSBzYWEgb21pc3RhZGEiCiAKLSM6IHJlZGlyLmM6NTQ0CisjOiByZWRpci5jOjU0OAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjExMDEKKyM6IHJlZGlyLmM6ODE4IHJlZGlyLmM6OTMwIHJlZGlyLmM6OTkzIHJlZGlyLmM6MTEzNgogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJ2aWdhIPxtYmVyc3V1bmFtaXNlbDogZmQgZHVwbGlrYWFkaSBsb29taW5lIGVpIPVubmVzdHUiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICIvdG1wIHB1dWR1YiwgcGFsdW4gbG9vZ2Ugc2VlISIKIAotIzogc2hlbGwuYzozMzYKKyM6IHNoZWxsLmM6MzM3CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAgcGVhYiBvbGVtYSBrYXRhbG9vZ2kgbmltaSIKIApAQCAtMTQyNSwxNiArMTQyNSwxNiBAQAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiB2aWdhbmUgdvV0aSIKIAotIzogc2hlbGwuYzoxNjUxCisjOiBzaGVsbC5jOjE2NTIKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIk11bCBlaSBvbGUgbmltZSEiCiAKLSM6IHNoZWxsLmM6MTc5MworIzogc2hlbGwuYzoxNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE3OTQKKyM6IHNoZWxsLmM6MTc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE0NDMsMzkgKzE0NDMsMzkgQEAKICJLYXN1dGE6XHQlcyBbR05VIHBpa2sgdvV0aV0gW3b1dGldIC4uLlxuIgogIlx0JXMgW0dOVSBwaWtrIHb1dGldIFt29XRpXSBza3JpcHQtZmFpbCAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzk2CisjOiBzaGVsbC5jOjE3OTgKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJHTlUgcGlrYWQgdvV0bWVkOlxuIgogCi0jOiBzaGVsbC5jOjE4MDAKKyM6IHNoZWxsLmM6MTgwMgogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkvkc3VpbnRlcnByZXRhYXRvcmkgdvV0bWVkOlxuIgogCi0jOiBzaGVsbC5jOjE4MDEKKyM6IHNoZWxsLmM6MTgwMwogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCB29WkgLWMga+Rza2x1cyB29WkgLU8gbPxoaXb1dGlcdFx0KGFpbnVsdCBr5Gl2aXRhbWluZSlcbiIKIAotIzogc2hlbGwuYzoxODE2CisjOiBzaGVsbC5jOjE4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIHb1aSAtbyB29XRpXG4iCiAKLSM6IHNoZWxsLmM6MTgyMgorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE4MjMKKyM6IHNoZWxsLmM6MTgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIlZpZ2FkZXN0IHRlYXRhbWlzZWtzIGthc3V0YWdlIGvkc2t1IGBiYXNoYnVnJy5cbiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiB2aWdhbmUgb3BlcmF0c2lvb24iCkBAIC0xNjUxLDgzICsxNjUxLDgzIEBACiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE1MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6MjczNQorIzogc3Vic3QuYzoyNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKKyM6IHN1YnN0LmM6NDk3OSBzdWJzdC5jOjQ5OTUKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ4MDIKKyM6IHN1YnN0LmM6NTAyNwogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ4NDcKKyM6IHN1YnN0LmM6NTA3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDg0OQorIzogc3Vic3QuYzo1MDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0ODY3CisjOiBzdWJzdC5jOjUwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTA2MworIzogc3Vic3QuYzo1Mjg0CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo1MDk3CisjOiBzdWJzdC5jOjUzMjIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo1MTE0CisjOiBzdWJzdC5jOjUzMzkKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTYxNworIzogc3Vic3QuYzo1ODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogcGFyYW1lZXRlciBvbiBudWxsIHb1aSBwb2xlIHNlYXR1ZCIKIAotIzogc3Vic3QuYzo1OTA3CisjOiBzdWJzdC5jOjYxMjUgc3Vic3QuYzo2MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo2OTY1CisjOiBzdWJzdC5jOjcyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBoYWxiIGFzZW5kdXMiCiAKLSM6IHN1YnN0LmM6NzA0NQorIzogc3Vic3QuYzo3MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBzZWRhc2kgZWkgc2FhIG9taXN0YWRhIgogCi0jOiBzdWJzdC5jOjczNzQKKyM6IHN1YnN0LmM6NzY4NAogbXNnaWQgIiIKICJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKICJzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo3ODM5CisjOiBzdWJzdC5jOjgxNDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgInN1bGdldiBgJWMnIHB1dWR1YiAlcyBzZWVzIgogCi0jOiBzdWJzdC5jOjg3MjAKKyM6IHN1YnN0LmM6OTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgImVpIGxlaXR1ZDogJXMiCkBAIC0xNzUwLDM3ICsxNzUwLDM3IEBACiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAib29kYXRpIGApJywgc2FhZGkgJXMiCiAKLSM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTggdGVzdC5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBlZWxkYXRpIHVuYWFyc2V0IG9wZXJhYXRvcml0IgogCi0jOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogZWVsZGF0aSBiaW5hYXJzZXQgb3BlcmFhdG9yaXQiCiAKLSM6IHRlc3QuYzo4MTEKKyM6IHRlc3QuYzo4MTYKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAicHV1ZHViIGBdJyIKIAotIzogdHJhcC5jOjIwMworIzogdHJhcC5jOjIwNwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAidmlnYW5lIHNpZ25hYWxpIG51bWJlciIKIAotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwczogaGFsYiB25ORydHVzIG11dXR1amFzIHRyYXBfbGlzdFslZF06ICVwIgogCi0jOiB0cmFwLmM6MzMxCisjOiB0cmFwLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hYWxpIGvkc2l0bGVqYSBvbiBTSUdfREZMLCBzYWFkYW4gJWQgKCVzKSBpc2VlbmRhbGUiCiAKLSM6IHRyYXAuYzozODAKKyM6IHRyYXAuYzozOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXI6IHZpZ2FuZSBzaWduYWFsICVkIgpAQCAtMTc5MCw1OSArMTc5MCw1OSBAQAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJzaGVsbGkgdGFzZSAoJWQpIG9uIGxpaWdhIGv1cmdlLCBrYXN1dGFuIHbk5HJ0dXN0IDEiCiAKLSM6IHZhcmlhYmxlcy5jOjE5MTUKKyM6IHZhcmlhYmxlcy5jOjE5MzIKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIm1ha2VfbG9jYWxfdmFyaWFibGU6IHByYWVndW5lIHNrb29wIHBvbGUgZnVua3RzaW9vbmkga29udGVrc3QiCiAKLSM6IHZhcmlhYmxlcy5jOjMxNTkKKyM6IHZhcmlhYmxlcy5jOjMxODIKIG1zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgImFsbF9sb2NhbF92YXJpYWJsZXM6IHByYWVndW5lIHNrb29wIHBvbGUgZnVua3RzaW9vbmkga29udGVrc3QiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNzYKKyM6IHZhcmlhYmxlcy5jOjM0MjcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKIG1zZ3N0ciAiJXM6IHBhcmFtZWV0ZXIgb24gbnVsbCB29WkgcG9sZSBzZWF0dWQiCiAKLSM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAorIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM5NgorIzogdmFyaWFibGVzLmM6MzQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODM1CisjOiB2YXJpYWJsZXMuYzozODkxCiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4NDgKKyM6IHZhcmlhYmxlcy5jOjM5MDQKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBwb2xlIGdsb2JhbF92YXJpYWJsZXMga29udGVrc3QiCiAKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4CisjOiB2YXJpYWJsZXMuYzo0Nzg2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCiBtc2dzdHIgIiVzOiBlaSBzYWEgYXZhZGE6ICVzIgogCi0jOiB2YXJpYWJsZXMuYzo0NjgzCisjOiB2YXJpYWJsZXMuYzo0NzkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgogbXNnc3RyICIiCiAKICM6IHZlcnNpb24uYzo0NgogIywgZnV6enkKLW1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiBtc2dzdHIgIkF1dG9yafVpZ3VzIKkgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIAogIzogdmVyc2lvbi5jOjQ3CkBAIC0xOTI5LDcgKzE5MjksNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6NjQKLW1zZ2lkICJjZCBbLUx8LVBdIFtkaXJdIgorbXNnaWQgImNkIFstTHxbLVAgWy1lXV1dIFtkaXJdIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6NjYKQEAgLTE5NTMsMTEgKzE5NTMsMTEgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjc2Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo3OAotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCittc2dpZCAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo4MApAQCAtMjA1MSw3ICsyMDUxLDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0MAotbXNnaWQgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbYXJnIC4uLl0iCittc2dpZCAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxNDIKQEAgLTIwNjMsNyArMjA2Myw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxNDYKLW1zZ2lkICJyZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCittc2dpZCAicmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0OApAQCAtMjM4MCwxNCArMjM4MCwxOCBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQxMQorIzogYnVpbHRpbnMuYzo0MTQKIG1zZ2lkICIiCiAiUHJpbnQgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjQwMyw3ICsyNDA3LDcgQEAKICIgICAgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDI4CisjOiBidWlsdGlucy5jOjQzMQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjQxMyw3ICsyNDE3LDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQzOQorIzogYnVpbHRpbnMuYzo0NDIKIG1zZ2lkICIiCiAiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgpAQCAtMjQyMSw3ICsyNDI1LDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ0OAorIzogYnVpbHRpbnMuYzo0NTEKIG1zZ2lkICIiCiAiUmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgpAQCAtMjQyOSw3ICsyNDMzLDcgQEAKICIgICAgQWx3YXlzIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ1NworIzogYnVpbHRpbnMuYzo0NjAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjQ0OCw3ICsyNDUyLDcgQEAKICIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBDT01NQU5ELCBvciBmYWlsdXJlIGlmIENPTU1BTkQgaXMgbm90IGZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ3NgorIzogYnVpbHRpbnMuYzo0NzkKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCkBAIC0yNDU5LDYgKzI0NjMsOCBAQAogIiAgICAgIC1mXHRyZXN0cmljdCBhY3Rpb24gb3IgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBhbmQgZGVmaW5pdGlvbnNcbiIKICIgICAgICAtRlx0cmVzdHJpY3QgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBvbmx5IChwbHVzIGxpbmUgbnVtYmVyIGFuZFxuIgogIiAgICBcdHNvdXJjZSBmaWxlIHdoZW4gZGVidWdnaW5nKVxuIgorIiAgICAgIC1nXHRjcmVhdGUgZ2xvYmFsIHZhcmlhYmxlcyB3aGVuIHVzZWQgaW4gYSBzaGVsbCBmdW5jdGlvbjsgb3RoZXJ3aXNlXG4iCisiICAgIFx0aWdub3JlZFxuIgogIiAgICAgIC1wXHRkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZSBvZiBlYWNoIE5BTUVcbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnMgd2hpY2ggc2V0IGF0dHJpYnV0ZXM6XG4iCkBAIC0yNDc4LDIwICsyNDg0LDIwIEBACiAiICAgIFxuIgogIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiAiYGxvY2FsJ1xuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIGAtZycgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MTIKKyM6IGJ1aWx0aW5zLmM6NTE3CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgogIiAgICBPYnNvbGV0ZS4gIFNlZSBgaGVscCBkZWNsYXJlJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MjAKKyM6IGJ1aWx0aW5zLmM6NTI1CiBtc2dpZCAiIgogIkRlZmluZSBsb2NhbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMjUwNiw3ICsyNTEyLDcgQEAKICIgICAgb3IgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MzcKKyM6IGJ1aWx0aW5zLmM6NTQyCiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI1MzcsNyArMjU0Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTcxCisjOiBidWlsdGlucy5jOjU3NgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yNTUwLDcgKzI1NTYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjU4NgorIzogYnVpbHRpbnMuYzo1OTEKIG1zZ2lkICIiCiAiRW5hYmxlIGFuZCBkaXNhYmxlIHNoZWxsIGJ1aWx0aW5zLlxuIgogIiAgICBcbiIKQEAgLTI1NzcsNyArMjU4Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgYSBzaGVsbCBidWlsdGluIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2MTQKKyM6IGJ1aWx0aW5zLmM6NjE5CiBtc2dpZCAiIgogIkV4ZWN1dGUgYXJndW1lbnRzIGFzIGEgc2hlbGwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNTg5LDcgKzI1OTUsNyBAQAogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIGNvbW1hbmQgb3Igc3VjY2VzcyBpZiBjb21tYW5kIGlzIG51bGwuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NjI2CisjOiBidWlsdGlucy5jOjYzMQogbXNnaWQgIiIKICJQYXJzZSBvcHRpb24gYXJndW1lbnRzLlxuIgogIiAgICBcbiIKQEAgLTI2MzAsNyArMjYzNiw3IEBACiAiICAgIGVuY291bnRlcmVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2NjgKKyM6IGJ1aWx0aW5zLmM6NjczCiBtc2dpZCAiIgogIlJlcGxhY2UgdGhlIHNoZWxsIHdpdGggdGhlIGdpdmVuIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjY1Myw3ICsyNjU5LDcgQEAKICJvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6Njg5CisjOiBidWlsdGlucy5jOjY5NAogbXNnaWQgIiIKICJFeGl0IHRoZSBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0yNjYxLDcgKzI2NjcsNyBAQAogIiAgICBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6Njk4CisjOiBidWlsdGlucy5jOjcwMwogbXNnaWQgIiIKICJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMjY3MCw3ICsyNjc2LDcgQEAKICIgICAgaW4gYSBsb2dpbiBzaGVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3MDgKKyM6IGJ1aWx0aW5zLmM6NzEzCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMjcwMCw3ICsyNzA2LDcgQEAKICJvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzM4CisjOiBidWlsdGlucy5jOjc0MwogbXNnaWQgIiIKICJNb3ZlIGpvYiB0byB0aGUgZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0yNzEyLDcgKzI3MTgsNyBAQAogIiAgICBTdGF0dXMgb2YgY29tbWFuZCBwbGFjZWQgaW4gZm9yZWdyb3VuZCwgb3IgZmFpbHVyZSBpZiBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogbXNnaWQgIiIKICJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMjcyNiw3ICsyNzMyLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzY3CisjOiBidWlsdGlucy5jOjc3MgogbXNnaWQgIiIKICJSZW1lbWJlciBvciBkaXNwbGF5IHByb2dyYW0gbG9jYXRpb25zLlxuIgogIiAgICBcbiIKQEAgLTI3NTAsNyArMjc1Niw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgZm91bmQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjc3Miw3ICsyNzc4LDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4MTYKKyM6IGJ1aWx0aW5zLmM6ODIxCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTI4MDYsNyArMjgxMiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg1MgorIzogYnVpbHRpbnMuYzo4NTcKIG1zZ2lkICIiCiAiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKICIgICAgXG4iCkBAIC0yODMwLDcgKzI4MzYsNyBAQAogIiAgICBJZiAteCBpcyB1c2VkLCByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg3OQorIzogYnVpbHRpbnMuYzo4ODQKIG1zZ2lkICIiCiAiUmVtb3ZlIGpvYnMgZnJvbSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI4NDcsNyArMjg1Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4OTgKKyM6IGJ1aWx0aW5zLmM6OTAzCiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMjg2OSw3ICsyODc1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6OTIxCisjOiBidWlsdGlucy5jOjkyNgogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb25zLlxuIgogIiAgICBcbiIKQEAgLTI5MTEsMTAgKzI5MTcsMTAgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjk2NgorIzogYnVpbHRpbnMuYzo5NzEKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgogIiAgICBcbiIKQEAgLTI5NjIsNyArMjk2OCw3IEBACiAiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDA5CisjOiBidWlsdGlucy5jOjEwMTQKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0yOTc0LDcgKzI5ODAsNyBAQAogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMwNDMsNiArMzA0OSw5IEBACiAiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgogIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCiAiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKICIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKICIgICAgXG4iCkBAIC0zMDU2LDcgKzMwNjUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMDQKKyM6IGJ1aWx0aW5zLmM6MTExMgogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzA3Niw3ICszMDg1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTMwOTUsNyArMzEwNCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzExNSw3ICszMTI0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2NAorIzogYnVpbHRpbnMuYzoxMTcyCiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMTI2LDcgKzMxMzUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzE0MCw3ICszMTQ5LDcgQEAKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNworIzogYnVpbHRpbnMuYzoxMjE1CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMxNTQsMTQgKzMxNjMsMTcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMworIzogYnVpbHRpbnMuYzoxMjMxCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgogIiAgICBFeGl0cyB3aXRoIGEgc3RhdHVzIG9mIDAgKHRydWUpIG9yIDEgKGZhbHNlKSBkZXBlbmRpbmcgb25cbiIKICIgICAgdGhlIGV2YWx1YXRpb24gb2YgRVhQUi4gIEV4cHJlc3Npb25zIG1heSBiZSB1bmFyeSBvciBiaW5hcnkuICBVbmFyeVxuIgogIiAgICBleHByZXNzaW9ucyBhcmUgb2Z0ZW4gdXNlZCB0byBleGFtaW5lIHRoZSBzdGF0dXMgb2YgYSBmaWxlLiAgVGhlcmVcbiIKLSIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYXMgd2VsbCwgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMuXG4iCisiICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzIGFzIHdlbGwuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYmVoYXZpb3Igb2YgdGVzdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzLiAgUmVhZCB0aGVcbiIKKyIgICAgYmFzaCBtYW51YWwgcGFnZSBmb3IgdGhlIGNvbXBsZXRlIHNwZWNpZmljYXRpb24uXG4iCiAiICAgIFxuIgogIiAgICBGaWxlIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCkBAIC0zMjE1LDYgKzMyMjcsNyBAQAogIiAgICBPdGhlciBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgogIiAgICAgIC1vIE9QVElPTiAgICAgIFRydWUgaWYgdGhlIHNoZWxsIG9wdGlvbiBPUFRJT04gaXMgZW5hYmxlZC5cbiIKKyIgICAgICAtdiBWQVJcdCBUcnVlIGlmIHRoZSBzaGVsbCB2YXJpYWJsZSBWQVIgaXMgc2V0XG4iCiAiICAgICAgISBFWFBSICAgICAgICAgVHJ1ZSBpZiBleHByIGlzIGZhbHNlLlxuIgogIiAgICAgIEVYUFIxIC1hIEVYUFIyIFRydWUgaWYgYm90aCBleHByMSBBTkQgZXhwcjIgYXJlIHRydWUuXG4iCiAiICAgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS5cbiIKQEAgLTMyMzEsNyArMzI0NCw3IEBACiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTI5OQorIzogYnVpbHRpbnMuYzoxMzExCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzIzOSw3ICszMjUyLDcgQEAKICIgICAgYmUgYSBsaXRlcmFsIGBdJywgdG8gbWF0Y2ggdGhlIG9wZW5pbmcgYFsnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzI1MSw3ICszMjY0LDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC0zMjY3LDcgKzMyODAsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtMzI4Nyw3ICszMzA4LDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzUyCisjOiBidWlsdGlucy5jOjEzNjgKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtMzMxNyw3ICszMzM4LDcgQEAKICJmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzgzCisjOiBidWlsdGlucy5jOjEzOTkKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC0zMzYxLDcgKzMzODIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDI4CisjOiBidWlsdGlucy5jOjE0NDQKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtMzM3OSw3ICszNDAwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzM5Niw3ICszNDE3LDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2NgorIzogYnVpbHRpbnMuYzoxNDgyCiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM0MTAsNyArMzQzMSw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0ODEKKyM6IGJ1aWx0aW5zLmM6MTQ5NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzQyMyw3ICszNDQ0LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtMzQ0MCw3ICszNDYxLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMworIzogYnVpbHRpbnMuYzoxNTI5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zNDYwLDcgKzM0ODEsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTM0CisjOiBidWlsdGlucy5jOjE1NTAKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzQ3Niw3ICszNDk3LDcgQEAKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU1MQorIzogYnVpbHRpbnMuYzoxNTY3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC0zNDg3LDcgKzM1MDgsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTYzCisjOiBidWlsdGlucy5jOjE1NzkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC0zNTA4LDcgKzM1MjksNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCisjOiBidWlsdGlucy5jOjE1OTYKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC0zNTE5LDcgKzM1NDAsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTkyCisjOiBidWlsdGlucy5jOjE2MDgKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTM1MzAsNyArMzU1MSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MDQKKyM6IGJ1aWx0aW5zLmM6MTYyMAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC0zNTQzLDcgKzM1NjQsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MTgKKyM6IGJ1aWx0aW5zLmM6MTYzNAogbXNnaWQgIiIKICJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU1Nyw3ICszNTc4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MzIKKyM6IGJ1aWx0aW5zLmM6MTY0OAogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtMzU2OCw3ICszNTg5LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY0NAorIzogYnVpbHRpbnMuYzoxNjYwCiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zNTgyLDcgKzM2MDMsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NTkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzU5Myw3ICszNjE0LDcgQEAKICIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY3MQorIzogYnVpbHRpbnMuYzoxNjg3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zNjIxLDcgKzM2NDIsNyBAQAogIiAgICAwIG9yIDEgZGVwZW5kaW5nIG9uIHZhbHVlIG9mIEVYUFJFU1NJT04uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NworIzogYnVpbHRpbnMuYzoxNzEzCiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtMzY3NSw3ICszNjk2LDcgQEAKICIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc1NAorIzogYnVpbHRpbnMuYzoxNzcwCiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzA2LDcgKzM3MjcsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc4OAorIzogYnVpbHRpbnMuYzoxODA0CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM3MzMsNyArMzc1NCw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODE4CisjOiBidWlsdGlucy5jOjE4MzQKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzc2Miw3ICszNzgzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NworIzogYnVpbHRpbnMuYzoxODYzCiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zNzgzLDcgKzM4MDQsNyBAQAogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC0zODA2LDYgKzM4MjcsOSBAQAogIiAgICBcbiIKICIgICAgICAlYlx0ZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50XG4iCiAiICAgICAgJXFcdHF1b3RlIHRoZSBhcmd1bWVudCBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXRcbiIKKyIgICAgICAlKGZtdClUIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcgZnJvbSB1c2luZyBGTVQgYXMgYSAiCisiZm9ybWF0XG4iCisiICAgICAgICAgICAgc3RyaW5nIGZvciBzdHJmdGltZSgzKVxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSB3cml0ZSBvciAiCkBAIC0zODEzLDcgKzM4MzcsNyBAQAogIiAgICBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg5NQorIzogYnVpbHRpbnMuYzoxOTEzCiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTM4NDAsNyArMzg2NCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MjMKKyM6IGJ1aWx0aW5zLmM6MTk0MQogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zODUzLDEzICszODc3LDEzIEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MzgKKyM6IGJ1aWx0aW5zLmM6MTk1NgogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC0zODg0LDcgKzM5MDgsNyBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM5MTIsNyArMzkzNiw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtMzkyNCw3ICszOTQ5LDcgQEAKICIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCmRpZmYgLS1naXQgYS9wby9maS5nbW8gYi9wby9maS5nbW8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2QzNWI4NQotLS0gL2Rldi9udWxsCisrKyBiL3BvL2ZpLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9maS5wbyBiL3BvL2ZpLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2ZTY3YTcKLS0tIC9kZXYvbnVsbAorKysgYi9wby9maS5wbwpAQCAtMCwwICsxLDU1MDcgQEAKKyMgRmlubmlzaCB0cmFuc2xhdGlvbiBmb3IgYmFzaC00LjAKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaC00LjAgcGFja2FnZS4KKyMKKyMgUGVra2EgTmllbWksIDIwMDkuCisjIFBla2thIE5pZW1pIDxwZWtrYS5uaWVtaUBpa2kuZmk+LCAyMDA5LgorIyAkSWQ6IGJhc2gtNC4wLmZpLnBvIDM4IDIwMDktMDUtMDkgMTI6MjE6NDJaIHBlbiAkIAorbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaC00LjBcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDUtMDkgMTU6MTMrMDMwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogUGVra2EgTmllbWkgPHBla2thLm5pZW1pQGlraS5maT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBGaW5uaXNoIDx0cmFuc2xhdGlvbi10ZWFtLWZpQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD11dGYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKKyJYLUdlbmVyYXRvcjogTG9rYWxpemUgMC4zXG4iCisKKyM6IGFycmF5ZnVuYy5jOjUwCittc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHRhdWx1a2tvaW5kZWtzaSIKKworIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKK21zZ3N0ciAiJXM6IGluZGVrc29pdHVhIHRhdWx1a2tvYSBlaSB2b2kgbXV1dHRhYSBhc3Nvc2lhdGlpdmlzZWtzaSIKKworIzogYXJyYXlmdW5jLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBhc3Nvc2lhdGlpdmluZW4gaW5kZWtzaSIKKworIzogYXJyYXlmdW5jLmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIHRvIG5vbi1udW1lcmljIGluZGV4IgorbXNnc3RyICIlczogZWkgdm9pZGEgc2lqb2l0dGFhIGVww6RudW1lZXJpc2VlbiBpbmRla3NpaW4iCisKKyM6IGFycmF5ZnVuYy5jOjUxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKK21zZ3N0ciAiIgorIiVzOiAlczogYXNzb3NpYXRpaXZpc2VlbiB0YXVsdWtrb29uIHNpam9pdGV0dGFlc3NhIHTDpHl0eXkga8OkeXR0w6TDpCAiCisiYXZhaW5pbmRla3Npw6QiCisKKyM6IGJhc2hoaXN0LmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKK21zZ3N0ciAiJXM6IGVpIHZvaWRhIGx1b2RhOiAlcyIKKworIzogYmFzaGxpbmUuYzozNDk4Cittc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgorbXNnc3RyICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBrb21lbm5vbGxlIGVpIGzDtnlkeSBuw6RwcMOkaW5rYXJ0dGFhIgorCisjOiBiYXNobGluZS5jOjM1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKK21zZ3N0ciAiJXM6IGVuc2ltbcOkaW5lbiBlaS10eWhqw6QgbWVya2tpIGVpIG9sZSDigJ1cIuKAnSIKKworIzogYmFzaGxpbmUuYzozNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKK21zZ3N0ciAiZWkgbG9wcHVtZXJra2nDpCDigJ0lY+KAnSByaXZpc3PDpCAlcyIKKworIzogYmFzaGxpbmUuYzozNjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKK21zZ3N0ciAiJXM6IHB1dXR0dXZhIGtha3NvaXNwaXN0ZS1lcm90aW4iCisKKyM6IGJ1aWx0aW5zL2FsaWFzLmRlZjoxMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IGludmFsaWQgYWxpYXMgbmFtZSIKK21zZ3N0ciAi4oCdJXPigJ06IHZpcmhlZWxsaW5lbiBuw6RwcMOkaW5rYXJ0YW4gbmltaSIKKworIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMworbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKK21zZ3N0ciAicml2aWVkaXRvaW50aSBlaSBvbGUga8OkeXTDtnNzw6QiCisKKyM6IGJ1aWx0aW5zL2JpbmQuZGVmOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGtleW1hcCBuYW1lIgorbXNnc3RyICLigJ0lc+KAnTogdmlyaGVlbGxpbmVuIG7DpHBww6RpbmthcnRhbiBuaW1pIgorCisjOiBidWlsdGlucy9iaW5kLmRlZjoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkOiAlcyIKK21zZ3N0ciAiJXM6IGVpIHZvaWRhIGx1a2VhOiAlcyIKKworIzogYnVpbHRpbnMvYmluZC5kZWY6MjYwCisjLCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IGNhbm5vdCB1bmJpbmQiCittc2dzdHIgIuKAnSVz4oCdOiBlaSB2b2lkYSBpcnJvdHRhYSIKKworIzogYnVpbHRpbnMvYmluZC5kZWY6Mjk1IGJ1aWx0aW5zL2JpbmQuZGVmOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiB1bmtub3duIGZ1bmN0aW9uIG5hbWUiCittc2dzdHIgIuKAnSVz4oCdOiB0dW50ZW1hdG9uIGZ1bmt0aW8iCisKKyM6IGJ1aWx0aW5zL2JpbmQuZGVmOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYm91bmQgdG8gYW55IGtleXMuXG4iCittc2dzdHIgIiVzIGVpIG9sZSBzaWRvdHR1IG1paGlua8Okw6RuIG7DpHBww6RpbWVlbi5cbiIKKworIzogYnVpbHRpbnMvYmluZC5kZWY6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhbiBiZSBpbnZva2VkIHZpYSAiCittc2dzdHIgIiVzIHZvaWRhYW4ga8OkeW5uaXN0w6TDpCBuw6RwcMOkaW5rb21lbm5vbGxhICIKKworIzogYnVpbHRpbnMvYnJlYWsuZGVmOjc3IGJ1aWx0aW5zL2JyZWFrLmRlZjoxMTcKK21zZ2lkICJsb29wIGNvdW50IgorbXNnc3RyICJ0b2lzdG9sYXNrdXJpIgorCisjOiBidWlsdGlucy9icmVhay5kZWY6MTM3Cittc2dpZCAib25seSBtZWFuaW5nZnVsIGluIGEgYGZvcicsIGB3aGlsZScsIG9yIGB1bnRpbCcgbG9vcCIKK21zZ3N0ciAidm9pZGFhbiBrw6R5dHTDpMOkIHZhaW4g4oCdZm9y4oCdLSwg4oCdd2hpbGXigJ0tIHRhaSDigJ11bnRpbOKAnS1zaWxtdWtvaXNzYSIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzMKK21zZ2lkICIiCisiUmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCisiICAgIFxuIgorIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgorbXNnc3RyICIiCisiUGFsYXV0dGFhIG55a3lpc2VuIGFsaXJ1dGlpbmlrdXRzdW4ga29udGVrc3Rpbi5cbiIKKyIgICAgXG4iCisiICAgIElsbWFuIExBVVNFS0VUVEEgcGFsYXV0dGFhIgorCisjOiBidWlsdGlucy9jZC5kZWY6MjM1Cittc2dpZCAiSE9NRSBub3Qgc2V0IgorbXNnc3RyICJIT01FLXltcMOkcmlzdMO2bXV1dHR1amFhIGVpIG9sZSBhc2V0ZXR0dSIKKworIzogYnVpbHRpbnMvY2QuZGVmOjI0NworbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgorbXNnc3RyICJPTERQV0QteW1ww6RyaXN0w7ZtdXV0dHVqYWEgZWkgb2xlIGFzZXRldHR1IgorCisjOiBidWlsdGlucy9jb21tb24uYzoxMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogIgorbXNnc3RyICJyaXZpICVkOiAiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEzOSBlcnJvci5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAiCittc2dzdHIgInZhcm9pdHVzOiAiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXNhZ2U6ICIKK21zZ3N0ciAiJXM6IGvDpHl0dMO2OiAiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJsaWlhbiBtb250YSBhcmd1bWVudHRpYSIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NTAwIHNoZWxsLmM6NzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzOiB2YWxpdHNpbiB2YWF0aWkgYXJndW1lbnRpbiIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1lcmljIGFyZ3VtZW50IHJlcXVpcmVkIgorbXNnc3RyICIlczogdmFhZGl0YWFuIG51bWVlcmluZW4gYXJndW1lbnR0aSIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiBlaSBsw7Z5dHlueXQiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gdmFsaXRzaW4iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBvcHRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiB2YWxpdHNpbWVuIG5pbWkiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIyOCBnZW5lcmFsLmM6MjMxIGdlbmVyYWwuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogbm90IGEgdmFsaWQgaWRlbnRpZmllciIKK21zZ3N0ciAi4oCdJXPigJ06IHZpcmhlZWxsaW5lbiB0dW5uaXN0ZSIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjM4Cittc2dpZCAiaW52YWxpZCBvY3RhbCBudW1iZXIiCittc2dzdHIgInZpcmhlZWxsaW5lbiBva3RhYWxpbHVrdSIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjQwCittc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gaGVrc2FkZXNpbWFhbGlsdWt1IgorCisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKK21zZ2lkICJpbnZhbGlkIG51bWJlciIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGx1a3UiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaWduYWwgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBzaWduYWFsaW3DpMOkcml0eXMiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCittc2dzdHIgIuKAnSVz4oCdOiBlaSBvbGUgcHJvc2Vzc2l0dW5udXMgZWlrw6Qga2Vsdm9sbGluZW4gdHnDtnR1bm5pc3RlIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgorbXNnc3RyICIlczoga2lyam9pdHVzc3VvamF0dHUgbXV1dHR1amEiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgb3V0IG9mIHJhbmdlIgorbXNnc3RyICIlczogJXMgcmFqb2plbiB1bGtvcHVvbGVsbGEiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI3MiBidWlsdGlucy9jb21tb24uYzoyNzQKK21zZ2lkICJhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnR0aSIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6Mjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG91dCBvZiByYW5nZSIKK21zZ3N0ciAiJXMgcmFqb2plbiB1bGtvcHVvbGVsbGEiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gc3VjaCBqb2IiCittc2dzdHIgIiVzOiB0ecO2dMOkIGVpIGzDtnlkeSIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBqb2IgY29udHJvbCIKK21zZ3N0ciAiJXM6IGVpIHR5w7Zub2hqYXVzdGEiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI5MgorbXNnaWQgIm5vIGpvYiBjb250cm9sIgorbXNnc3RyICJlaSB0ecO2bm9oamF1c3RhIgorCisjOiBidWlsdGlucy9jb21tb24uYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlc3RyaWN0ZWQiCittc2dzdHIgIiVzOiByYWpvaXRldHR1IgorCisjOiBidWlsdGlucy9jb21tb24uYzozMDQKK21zZ2lkICJyZXN0cmljdGVkIgorbXNnc3RyICJyYWpvaXRldHR1IgorCisjOiBidWlsdGlucy9jb21tb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHNoZWxsIGJ1aWx0aW4iCittc2dzdHIgIiVzOiBlaSBvbGUga29tZW50b3R1bGtpbiBzaXPDpMOkbnJha2VubmV0dHUga29tZW50byIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGVycm9yOiAlcyIKK21zZ3N0ciAia2lyam9pdHVzdmlyaGU6ICVzIgorCisjOiBidWlsdGlucy9jb21tb24uYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igc2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKK21zZ3N0ciAicMOkw6R0ZWFzZXR1a3NpYSBhc2V0ZXR0YWVzc2EgdGFwYWh0dWkgdmlyaGU6ICVzIgorCisjOiBidWlsdGlucy9jb21tb24uYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgZ2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKK21zZ3N0ciAicMOkw6R0ZWFzZXR1a3NpYSBsdWV0dGFlc3NhIHRhcGFodHVpIHZpcmhlOiAlcyIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciByZXRyaWV2aW5nIGN1cnJlbnQgZGlyZWN0b3J5OiAlczogJXNcbiIKK21zZ3N0ciAiJXM6IG55a3loYWtlbWlzdG9hIGx1ZXR0YWVzc2EgdGFwYWh0dWkgdmlyaGU6ICVzOiAlc1xuIgorCisjOiBidWlsdGlucy9jb21tb24uYzo2MjkgYnVpbHRpbnMvY29tbW9uLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCittc2dzdHIgIiVzOiBlaSBvbGUgeWtzaXNlbGl0dGVpbmVuIHR5w7Z0dW5uaXN0ZSIKKworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBhY3Rpb24gbmFtZSIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiB0b2ltaW5ub24gbmltaSIKKworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQ0OSBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjQ0CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiBlaSBsYXZlbm51c23DpMOkcml0eXN0w6QiCisKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKK21zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCittc2dzdHIgInZhcm9pdHVzOiAtRiAtdmFsaXRzaW4gZWkgZWhrw6QgdG9pbWkgb2RvdGV0dXN0aSIKKworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAorbXNnaWQgIndhcm5pbmc6IC1DIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKK21zZ3N0ciAidmFyb2l0dXM6IC1DIC12YWxpdHNpbiBlaSBlaGvDpCB0b2ltaSBvZG90ZXR1c3RpIgorCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODI2Cittc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKK21zZ3N0ciAidMOkbGzDpCBoZXRrZWxsw6Qga29tZW5ub24gbGF2ZW5udXNmdW5rdGlvdGEgZWkgc3Vvcml0ZXRhIgorCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjQKK21zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCittc2dzdHIgInZvaWRhYW4ga8OkeXR0w6TDpCBhaW5vYXN0YWFuIGZ1bmt0aW9zc2EiCisKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgorbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKK21zZ3N0ciAi4oCdLWbigJ06w6TDpCBlaSB2b2lkYSBrw6R5dHTDpMOkIGZ1bmt0aW9pZGVuIGx1b21pc2VlbiIKKworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCittc2dzdHIgIiVzOiBraXJqb2l0dXNzdW9qYXR0dSBmdW5rdGlvIgorCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKK21zZ3N0ciAiJXM6IHRhdWx1a2tvbXV1dHR1amlhIGVpIHZvaSB0dWhvdGEgbsOkaW4iCisKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IGFzc29zaWF0aWl2aXN0YSB0YXVsdWtrb2EgZWkgdm9pIG11dXR0YWEgaW5kZWtzb2lkdWtzaSIKKworIzogYnVpbHRpbnMvZW5hYmxlLmRlZjoxMzcgYnVpbHRpbnMvZW5hYmxlLmRlZjoxNDUKK21zZ2lkICJkeW5hbWljIGxvYWRpbmcgbm90IGF2YWlsYWJsZSIKK21zZ3N0ciAiZHluYWFtaW5lbiBsYXRhdXMgZWkgb2xlIGvDpHl0ZXR0w6R2aXNzw6QiCisKKyM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNoYXJlZCBvYmplY3QgJXM6ICVzIgorbXNnc3RyICJqYWV0dHVhIG9iamVrdGlhICVzIGVpIHZvaWRhIGF2YXRhOiAlcyIKKworIzogYnVpbHRpbnMvZW5hYmxlLmRlZjozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgJXMgaW4gc2hhcmVkIG9iamVjdCAlczogJXMiCittc2dzdHIgImtvaGRldHRhICVzIGVpIGzDtnlkeSBqYWV0dXN0YSBvYmpla3Rpc3RhICVzOiAlcyIKKworIzogYnVpbHRpbnMvZW5hYmxlLmRlZjo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBkeW5hbWljYWxseSBsb2FkZWQiCittc2dzdHIgIiVzOiBlaSBkeW5hYW1pc2VzdGkgbGFkYXR0dSIKKworIzogYnVpbHRpbnMvZW5hYmxlLmRlZjo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgorbXNnc3RyICIlczogZWkgdm9pZGEgcG9pc3RhYTogJXMiCisKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBvbiBoYWtlbWlzdG8iCisKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCittc2dzdHIgIiVzOiBlaSB0YXZhbGxpbmVuIHRpZWRvc3RvIgorCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCittc2dzdHIgIiVzOiB0aWVkb3N0byBvbiBsaWlhbiBpc28iCisKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTgyIGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAwIGV4ZWN1dGVfY21kLmM6NTAzMgorIzogc2hlbGwuYzoxNDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKK21zZ3N0ciAiJXM6IGJpbsOkw6RyaXRpZWRvc3RvYSBlaSB2b2lkYSBzdW9yaXR0YWEiCisKKyM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NCBidWlsdGlucy9leGVjLmRlZjoxNTYgYnVpbHRpbnMvZXhlYy5kZWY6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgIiVzOiBlaSB2b2lkYSBzdW9yaXR0YWE6ICVzIgorCisjOiBidWlsdGlucy9leGl0LmRlZjo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dvdXRcbiIKK21zZ3N0ciAibG9wZXR1c1xuIgorCisjOiBidWlsdGlucy9leGl0LmRlZjo4OAorbXNnaWQgIm5vdCBsb2dpbiBzaGVsbDogdXNlIGBleGl0JyIKK21zZ3N0ciAiZWkgb2xlIHNpc8Okw6Rua2lyamF1dHVtaXNrb21lbnRvdHVsa2tpOiBrw6R5dMOkIGtvbWVudG9hIOKAnWV4aXTigJ0iCisKKyM6IGJ1aWx0aW5zL2V4aXQuZGVmOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBhcmUgc3RvcHBlZCBqb2JzLlxuIgorbXNnc3RyICJUw7ZpdMOkIG9uIHB5c8OkeXRldHR5bsOkLlxuIgorCisjOiBidWlsdGlucy9leGl0LmRlZjoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgYXJlIHJ1bm5pbmcgam9icy5cbiIKK21zZ3N0ciAiVMO2aXTDpCBvbiBham9zc2EuXG4iCisKKyM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKK21zZ2lkICJubyBjb21tYW5kIGZvdW5kIgorbXNnc3RyICJlaSBsw7Z5dHlueXQga29tZW50b2EiCisKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQorbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAia29tZW50b2hpc3RvcmlhbcOkw6RyaXR5cyIKKworIzogYnVpbHRpbnMvZmMuZGVmOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKK21zZ3N0ciAiJXM6IHbDpGxpYWlrYWlzdGllZG9zdG9hIGVpIHZvaXR1IGF2YXRhOiAlcyIKKworIzogYnVpbHRpbnMvZmdfYmcuZGVmOjE0OSBidWlsdGlucy9qb2JzLmRlZjoyODIKK21zZ2lkICJjdXJyZW50IgorbXNnc3RyICJueWt5aW5lbiIKKworIzogYnVpbHRpbnMvZmdfYmcuZGVmOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJqb2IgJWQgc3RhcnRlZCB3aXRob3V0IGpvYiBjb250cm9sIgorbXNnc3RyICJ0ecO2ICVkIGvDpHlubmlzdHlpIGlsbWFuIHR5w7Zub2hqYXVzdGEiCisKKyM6IGJ1aWx0aW5zL2dldG9wdC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiB2YWxpdHNpbiDigJMgJWNcbiIKKworIzogYnVpbHRpbnMvZ2V0b3B0LmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJWNcbiIKK21zZ3N0ciAiJXM6IHZhbGl0c2luIHZhYXRpaSBhcmd1bWVudGluIOKAkyAlY1xuIgorCisjOiBidWlsdGlucy9oYXNoLmRlZjo5MgorbXNnaWQgImhhc2hpbmcgZGlzYWJsZWQiCittc2dzdHIgImhhamF1dHVzIGt5dGtldHR5IHBvaXMiCisKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgorbXNnc3RyICIlczogaGFqYXV0dXN0YXVsdWtrbyBvbiB0eWhqw6RcbiIKKworIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKK21zZ3N0ciAib3N1bWlhXHRrb21lbnRvXG4iCisKKyM6IGJ1aWx0aW5zL2hlbHAuZGVmOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjb21tYW5kcyBtYXRjaGluZyBrZXl3b3JkIGAiCittc2dpZF9wbHVyYWwgIlNoZWxsIGNvbW1hbmRzIG1hdGNoaW5nIGtleXdvcmRzIGAiCittc2dzdHJbMF0gIlNvcGl2YXQga29tZW5ub3QgYXZhaW5zYW5hYW4gYCIKK21zZ3N0clsxXSAiU29waXZhdCBrb21lbm5vdCBhdmFpbnNhbm9paGluIGAiCisKKyM6IGJ1aWx0aW5zL2hlbHAuZGVmOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibm8gaGVscCB0b3BpY3MgbWF0Y2ggYCVzJy4gIFRyeSBgaGVscCBoZWxwJyBvciBgbWFuIC1rICVzJyBvciBgaW5mbyAlcycuIgorbXNnc3RyICIiCisiT2hqZWl0YSBrb2h0ZWVsbGUg4oCdJXPigJ0gZWkgbMO2eWR5LiBLb2tlaWxlIOKAnWhlbHAgaGVscOKAnSwg4oCdbWFuIC1rICVz4oCdIHRhaSBcbiIKKyLigJ1pbmZvICVz4oCdLiIKKworIzogYnVpbHRpbnMvaGVscC5kZWY6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbjogJXMiCittc2dzdHIgIiVzOiBlaSB2b2lkYSBhdmF0YTogJXMiCisKKyM6IGJ1aWx0aW5zL2hlbHAuZGVmOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlc2Ugc2hlbGwgY29tbWFuZHMgYXJlIGRlZmluZWQgaW50ZXJuYWxseS4gIFR5cGUgYGhlbHAnIHRvIHNlZSB0aGlzIGxpc3QuXG4iCisiVHlwZSBgaGVscCBuYW1lJyB0byBmaW5kIG91dCBtb3JlIGFib3V0IHRoZSBmdW5jdGlvbiBgbmFtZScuXG4iCisiVXNlIGBpbmZvIGJhc2gnIHRvIGZpbmQgb3V0IG1vcmUgYWJvdXQgdGhlIHNoZWxsIGluIGdlbmVyYWwuXG4iCisiVXNlIGBtYW4gLWsnIG9yIGBpbmZvJyB0byBmaW5kIG91dCBtb3JlIGFib3V0IGNvbW1hbmRzIG5vdCBpbiB0aGlzIGxpc3QuXG4iCisiXG4iCisiQSBzdGFyICgqKSBuZXh0IHRvIGEgbmFtZSBtZWFucyB0aGF0IHRoZSBjb21tYW5kIGlzIGRpc2FibGVkLlxuIgorIlxuIgorbXNnc3RyICIiCisiTsOkbcOkIGtvbWVubm90IG9uIG3DpMOkcml0ZWx0eSBzaXPDpGlzZXN0aS4gIEtpcmpvaXRhIOKAnWhlbHDigJ0gbsOkaGTDpGtzZXNpIHTDpG3DpG4gIgorImxpc3Rhbi5cbiIKKyJLaXJqb2l0YSDigJ1oZWxwIG5hbWXigJ0gc2FhZGFrc2VzaSBsaXPDpHRpZXRvamEgZnVua3Rpb3N0YSDigJ1uYW1l4oCdLlxuIgorIktvbWVubm9sbGEg4oCdaW5mbyBiYXNo4oCdIHNhYXQgbGlzw6TDpCB5bGVpc2nDpCB0aWV0b2phIGtvbWVudG90dWxraXN0YS5cbiIKKyJLw6R5dMOkIGtvbWVudG9hIOKAnW1hbiAta+KAnSB0YWkg4oCdaW5mb+KAnSBzYWFkYWtzZXNpIGxpc8OkdGlldG9qYSBrb21lbm5vaXN0YSwgam90a2EgIgorImVpdsOkdCBvbGUgdMOkbGzDpCBsaXN0YWxsYS5cbiIKKyJcbiIKKyJBc3Rlcmlza2kgKCopIG5pbWVuIHZpZXJlc3PDpCB0YXJrb2l0dGFhLCBldHTDpCBrb21lbm5vbiBrw6R5dHTDtiBvbiBlc3RldHR5LlxuIgorIlxuIgorCisjOiBidWlsdGlucy9oaXN0b3J5LmRlZjoxNTQKK21zZ2lkICJjYW5ub3QgdXNlIG1vcmUgdGhhbiBvbmUgb2YgLWFucnciCittc2dzdHIgInZhbGl0c2ltaXN0YSAtYW5ydyB2b2lkYWFuIGvDpHl0dMOkw6QgdmFpbiB5aHTDpCIKKworIzogYnVpbHRpbnMvaGlzdG9yeS5kZWY6MTg2Cittc2dpZCAiaGlzdG9yeSBwb3NpdGlvbiIKK21zZ3N0ciAic2lqYWludGkga29tZW50b2hpc3Rvcmlhc3NhIgorCisjOiBidWlsdGlucy9oaXN0b3J5LmRlZjozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhpc3RvcnkgZXhwYW5zaW9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGhpc3RvcmlhdmlpdHRhdXMgZXDDpG9ubmlzdHVpIgorCisjOiBidWlsdGlucy9pbmxpYi5kZWY6NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlubGliIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlubGliIGVww6Rvbm5pc3R1aSIKKworIzogYnVpbHRpbnMvam9icy5kZWY6MTA5Cittc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKK21zZ3N0ciAi4oCdLXjigJ06biBrYW5zc2EgZWkgdm9pZGEga8OkeXR0w6TDpCBtdWl0YSB2YWxpdHNpbWlhIgorCisjOiBidWlsdGlucy9raWxsLmRlZjoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50dGllbiBwaXTDpMOkIG9sbGEgcHJvc2Vzc2ktIHRhaSB0ecO2dHVubmlzdGVpdGEiCisKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MQorbXNnaWQgIlVua25vd24gZXJyb3IiCittc2dzdHIgIlR1bnRlbWF0b24gdmlyaGUiCisKKyM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjU1MiBleHByLmM6NTY3Cittc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKK21zZ3N0ciAib2RvdGV0dGlpbiBsYXVzZWtldHRhIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6IGVpIG9sZSB0YXVsdWtrb211dXR0dWphIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTYgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIHRpZWRvc3Rva2FodmFtw6TDpHJpdHlzIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjQgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCittc2dzdHIgIiVkOiB2aXJoZWVsbGluZW4gdGllZG9zdG9rYWh2YTogJXMiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3MyBidWlsdGlucy9tYXBmaWxlLmRlZjozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiByaXZpbcOkw6Ryw6QiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gdGF1bHVra29pbmRla3NpIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBwYWx1dWt1dHN1bcOkw6Ryw6QiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMworbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCittc2dzdHIgInR5aGrDpCB0YXVsdWtrb211dXR0dWphbiBuaW1pIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKK21zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgorbXNnc3RyICJ2YWFkaXRhYW4gdHVrZWEgdGF1bHVra29tdXV0dHVqaWxsZSIKKworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgorbXNnc3RyICLigJ0lc+KAnTogcHV1dHR1dmEgbXVvdG9pbHVtZXJra2kiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gYWlrYWthdGthaXN1bcOkw6RyaXR5cyIKKworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgorbXNnc3RyICLigJ0lY+KAnTogdmlyaGVlbGxpbmVuIG11b3RvaWx1bWVya2tpIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjY2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogJXMiCittc2dzdHIgInZhcm9pdHVzOiAlczogJXMiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCittc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKK21zZ3N0ciAiXFx4OnN0w6QgcHV1dHR1dSBoZWtzYWRlc2ltYWFsaW51bWVybyIKKworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAiXFx4OnN0w6QgcHV1dHR1dSBoZWtzYWRlc2ltYWFsaW51bWVybyIKKworIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQorbXNnaWQgIm5vIG90aGVyIGRpcmVjdG9yeSIKK21zZ3N0ciAiZWkgdG9pc3RhIGhha2VtaXN0b2EiCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo0NjIKK21zZ2lkICI8bm8gY3VycmVudCBkaXJlY3Rvcnk+IgorbXNnc3RyICI8ZWkgbnlreWhha2VtaXN0b2E+IgorCisjOiBidWlsdGlucy9wdXNoZC5kZWY6NTA2Cittc2dpZCAiZGlyZWN0b3J5IHN0YWNrIGVtcHR5IgorbXNnc3RyICJoYWtlbWlzdG9waW5vIG9uIHR5aGrDpCIKKworIzogYnVpbHRpbnMvcHVzaGQuZGVmOjUwOAorbXNnaWQgImRpcmVjdG9yeSBzdGFjayBpbmRleCIKK21zZ3N0ciAiaGFrZW1pc3RvcGlub24gaW5kZWtzaSIKKworIzogYnVpbHRpbnMvcHVzaGQuZGVmOjY4MworbXNnaWQgIiIKKyJEaXNwbGF5IHRoZSBsaXN0IG9mIGN1cnJlbnRseSByZW1lbWJlcmVkIGRpcmVjdG9yaWVzLiAgRGlyZWN0b3JpZXNcbiIKKyIgICAgZmluZCB0aGVpciB3YXkgb250byB0aGUgbGlzdCB3aXRoIHRoZSBgcHVzaGQnIGNvbW1hbmQ7IHlvdSBjYW4gZ2V0XG4iCisiICAgIGJhY2sgdXAgdGhyb3VnaCB0aGUgbGlzdCB3aXRoIHRoZSBgcG9wZCcgY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWNcdGNsZWFyIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbGVtZW50c1xuIgorIiAgICAgIC1sXHRkbyBub3QgcHJpbnQgdGlsZGUtcHJlZml4ZWQgdmVyc2lvbnMgb2YgZGlyZWN0b3JpZXMgcmVsYXRpdmVcbiIKKyIgICAgXHR0byB5b3VyIGhvbWUgZGlyZWN0b3J5XG4iCisiICAgICAgLXBcdHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmVcbiIKKyIgICAgICAtdlx0cHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZSBwcmVmaXhlZFxuIgorIiAgICBcdHdpdGggaXRzIHBvc2l0aW9uIGluIHRoZSBzdGFja1xuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgICtOXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvd24gIgorImJ5XG4iCisiICAgIFx0ZGlycyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duICIKKyJieVxuIgorIlx0ZGlycyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uIgorbXNnc3RyICIiCisiTsOkeXR0w6TDpCBtdWlzdGlzc2Egb2xldmF0IGhha2VtaXN0b3QuIEhha2VtaXN0b3RcbiIKKyIgICAgbMO2eXTDpHbDpHQgdGllbnPDpCBsaXN0YWFuIOKAnXB1c2hk4oCdLWtvbWVubm9sbGE7IHZvaXRcbiIKKyIgICAgcGFsYXRhIGxpc3RhbiBoYWtlbWlzdG9paGluIOKAnXBvcGTigJ0ta29tZW5ub2xsYS5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWNcdHR5aGplbm7DpCBoYWtlbWlzdG9waW5vXG4iCisiICAgICAgLWxcdMOkbMOkIHR1bG9zdGEgdGlsZGUtYWxrdWlzaWEgdmVyc2lvaXRhIGhha2VtaXN0b2lzdGEgam90a2Egb3ZhdFxuIgorIiAgICBcdHN1aHRlZXNzYSBrb3RpaGFrZW1pc3Rvb3NpXG4iCisiICAgICAgLXAgdHVsb3N0YSBoYWtlbWlzdG9waW5vLCBoYWtlbWlzdG8gcGVyIHJpdmlcbiIKKyIgICAgICAtdiB0dWxvc3RhIGhha2VtaXN0b3Bpbm8sIGhha2VtaXN0byBwZXIgcml2aSwgcGlub24gIgorInNpamFpbnRpbnVtZXJvaW5lZW5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50aXQ6XG4iCisiICAgICAgK05cdE7DpHl0dMOkw6QgbGlzdGFuIE46bm5lbiBhbGtpb24gKGxhc2tpZW4gdmFzZW1tYWx0YSBkaXJzLWtvbWVubm9uIFxuIgorIiAgICBcdGFudGFtYXN0YSBsaXN0YXN0YSkuIFZhbGl0c2ltZXR0YSBrdXRzdXR0YWVzc2EgYWxvaXRldGFhbiBub2xsYXN0YS5cbiIKKyIgICAgXG4iCisiICAgICAgLU5cdE7DpHl0dMOkw6QgbGlzdGFuIE46bm5lbiBhbGtpb24gKGxhc2tpZW4gb2lrZWFsdGEgZGlycy1rb21lbm5vblxuIgorIiAgICBcdGFudGFtYXN0YSBsaXN0YXN0YSkuIFZhbGl0c2ltZXR0YSBrdXRzdXR0YWVzc2EgYWxvaXRldGFhbiBub2xsYXN0YS4iCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo3MDUKK21zZ2lkICIiCisiQWRkcyBhIGRpcmVjdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXNcbiIKKyIgICAgdGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5ldyB0b3Agb2YgdGhlIHN0YWNrIHRoZSBjdXJyZW50IHdvcmtpbmdcbiIKKyIgICAgZGlyZWN0b3J5LiAgV2l0aCBubyBhcmd1bWVudHMsIGV4Y2hhbmdlcyB0aGUgdG9wIHR3byBkaXJlY3Rvcmllcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gYWRkaW5nXG4iCisiICAgIFx0ZGlyZWN0b3JpZXMgdG8gdGhlIHN0YWNrLCBzbyBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICArTlx0Um90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmdcbiIKKyIgICAgXHRmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgorIiAgICBcdHplcm8pIGlzIGF0IHRoZSB0b3AuXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHRSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSBOdGggZGlyZWN0b3J5IChjb3VudGluZ1xuIgorIiAgICBcdGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgorIiAgICBcdHplcm8pIGlzIGF0IHRoZSB0b3AuXG4iCisiICAgIFxuIgorIiAgICAgIGRpclx0QWRkcyBESVIgdG8gdGhlIGRpcmVjdG9yeSBzdGFjayBhdCB0aGUgdG9wLCBtYWtpbmcgaXQgdGhlXG4iCisiICAgIFx0bmV3IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay4iCittc2dzdHIgIiIKKyJMaXPDpMOkIGhha2VtaXN0b24gaGFrZW1pc3RvcGlub24geWxpbW3DpGlzZWtzaSwgdGFpIGvDpMOkbnTDpMOkIHBpbm9uLCBcbiIKKyIgICAgam9sbG9pbiBueWt5aGFrZW1pc3RvIG1lbmVlIHBpbm9uIGh1aXB1bGxlLiBJbG1hbiBhcmd1bWVudHRlamEgXG4iCisiICAgIHZhaWh0YWEgcGlub24ga2FoZGVuIHDDpMOkbGxpbW3DpGlzZW4gaGFrZW1pc3RvbiBwYWlra29qYS5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLW5cdGrDpHR0w6TDpCBoYWtlbWlzdG9uIHZhaWh0YW1hdHRhLCBqb3RlbiB2YWluIHBpbm9hIG11dXRldGFhblxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRpdDpcbiIKKyIgICAgICArTlx0S8Okw6RudMOkw6QgcGlub2EgbmlpbiwgZXR0w6QgTjpzIGhha2VtaXN0byAobGFza2llbiB2YXNlbW1hbHRhIFwiZGlycyIKKyJcIi1cbiIKKyIgICAgICBrb21lbm5vbiBhbnRhbWFzdGEgbGlzdGFzdGEpIG9uIHDDpMOkbGxpbW3DpGlzZW7DpC5cbiIKKyIgICAgXG4iCisiICAgICAgLU5cdEvDpMOkbnTDpMOkIHBpbm9hIG5paW4sIGV0dMOkIE46cyBoYWtlbWlzdG8gKGxhc2tpZW4gb2lrZWFsdGEgXCJkaXJzIgorIlwiLVxuIgorIiAgICAgIGtvbWVubm9uIGFudGFtYXN0YSBsaXN0YXN0YSkgb24gcMOkw6RsbGltbcOkaXNlbsOkLlxuIgorIiAgICBcbiIKKyIgICAgU2lzw6TDpG5yYWtlbm5ldHR1IOKAnWRpcnPigJ0ta29tZW50byBuw6R5dHTDpMOkIGhha2VtaXN0b3Bpbm9uLiIKKworIzogYnVpbHRpbnMvcHVzaGQuZGVmOjczMAorbXNnaWQgIiIKKyJSZW1vdmVzIGVudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiAgV2l0aCBubyBhcmd1bWVudHMsIHJlbW92ZXNcbiIKKyIgICAgdGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUgc3RhY2ssIGFuZCBjaGFuZ2VzIHRvIHRoZSBuZXcgdG9wIGRpcmVjdG9yeS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gcmVtb3ZpbmdcbiIKKyIgICAgXHRkaXJlY3RvcmllcyBmcm9tIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgK05cdFJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0XG4iCisiICAgIFx0c2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgKzAnXG4iCisiICAgIFx0cmVtb3ZlcyB0aGUgZmlyc3QgZGlyZWN0b3J5LCBgcG9wZCArMScgdGhlIHNlY29uZC5cbiIKKyIgICAgXG4iCisiICAgICAgLU5cdFJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdFxuIgorIiAgICBcdHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aCB6ZXJvLiAgRm9yIGV4YW1wbGU6IGBwb3BkIC0wJ1xuIgorIiAgICBcdHJlbW92ZXMgdGhlIGxhc3QgZGlyZWN0b3J5LCBgcG9wZCAtMScgdGhlIG5leHQgdG8gbGFzdC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBgZGlycycgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLiIKK21zZ3N0ciAiIgorIlBvaXN0YWEgYWxraW9pdGEgaGFrZW1pc3RvcGlub3N0YS4gSWxtYW4gYXJndW1lbnR0aWEgcG9pc3RhYSB5bGltbcOkblxuIgorIiAgICBoYWtlbWlzdG9uLCBqYSBzaWlydMOkw6Qgc2V1cmFhdmFuIHlsaW1tw6Rpc2Vrc2kuXG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC1uXHRFaSBzaWlycnl0w6Qgbm9ybWFhbGlzdGkgcGlub3N0YSBwb2lzdGV0dHV1biBoYWtlbWlzdG9vbixcbiIKKyIgICAgXHRqb3RlbiB2YWluIHBpbm9hIG11dXRldGFhbi5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50aXQ6XG4iCisiICAgICAgK05cdFBvaXN0YWEgTjpubmVuIGFsa2lvbiAobGFza2llbiB2YXNlbW1hbHRhIOKAnWRpcnPigJ0ta29tZW5ub25cbiIKKyIgICAgXHRhbnRhbWFzdGEgbGlzdGFzdGEsIGFsa2FlbiBub2xsYXN0YSkuICBFc2ltZXJraWtzaSDigJ1wb3BkICsw4oCdXG4iCisiICAgIFx0cG9pc3RhYSBlbnNpbW3DpGlzZW4gaGFrZW1pc3RvdCwg4oCdcG9wZCArMeKAnSB0b2lzZW4uXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHRQb2lzdGFhIE46bm5lbiBhbGtpb24gKGxhc2tpZW4gb2lrZWFsdGEg4oCdZGlyc+KAnS1rb21lbm5vbiBcbiIKKyIgICAgXHRhbnRhbWFzdGEgbGlzdGFzdGEsIGFsa2FlbiBub2xsYXN0YSkuIEVzaW1lcmtpa3NpOiDigJ1wb3BkIC0w4oCdXG4iCisiICAgIFx0cG9pc3RhYSB2aWltZWlzZW4gaGFrZW1pc3Rvbiwg4oCdcG9wZCAtMeKAnSBzaXTDpCBlZGVsbGlzZW4uXG4iCisiICAgIFxuIgorIiAgICBTaXPDpMOkbnJha2VubmV0dHUg4oCdZGlyc+KAnS1rb21lbnRvIG7DpHl0dMOkw6QgaGFrZW1pc3RvcGlub24gc2lzw6RsbMO2bi4iCisKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gYWlrYWthdGthaXN1bcOkw6RyaXR5cyIKKworIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKK21zZ3N0ciAibHVrdXZpcmhlOiAlZDogJXMiCisKKyM6IGJ1aWx0aW5zL3JldHVybi5kZWY6NzMKK21zZ2lkICJjYW4gb25seSBgcmV0dXJuJyBmcm9tIGEgZnVuY3Rpb24gb3Igc291cmNlZCBzY3JpcHQiCittc2dzdHIgIuKAnXJldHVybuKAnSBvbiBrw6R5dGV0dMOkdmlzc8OkIHZhaW4gZnVua3Rpb3NzYSB0YWkgbGFkYXR1c3NhIHNrcmlwdGlzc8OkIgorCisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQorbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgorbXNnc3RyICJmdW5rdGlvdGEgamEgbXV1dHR1amFhIGVpIHZvaSBwb2lzdGFhIHlodMOkIGFpa2FhIgorCisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHVuc2V0IgorbXNnc3RyICIlczogZWkgdm9pZGEgcG9pc3RhYSIKKworIzogYnVpbHRpbnMvc2V0LmRlZjo4MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgJXMiCittc2dzdHIgIiVzOiBlaSB2b2lkYSBwb2lzdGFhOiBraXJqb2l0dXNzdW9qYXR0dSAlcyIKKworIzogYnVpbHRpbnMvc2V0LmRlZjo4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IGVpIG9sZSB0YXVsdWtrb211dXR0dWphIgorCisjOiBidWlsdGlucy9zZXRhdHRyLmRlZjoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGZ1bmN0aW9uIgorbXNnc3RyICIlczogZWkgb2xlIGZ1bmt0aW8iCisKKyM6IGJ1aWx0aW5zL3NoaWZ0LmRlZjo3MSBidWlsdGlucy9zaGlmdC5kZWY6NzcKK21zZ2lkICJzaGlmdCBjb3VudCIKK21zZ3N0ciAic2lpcnRvbGFza3VyaSIKKworIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2NAorbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCittc2dzdHIgIiIKKyJrb21lbnRvdHVsa2luIHZhbGl0c2ltaWEgZWkgdm9pZGEgbGFpdHRhYSBww6TDpGxsw6QgamEgb3R0YWEgcG9pcyBww6TDpGx0w6QgIgorInNhbWFuYWlrYWlzZXN0aSIKKworIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBrb21lbnRvdHVsa2luIHZhbGl0c2ltZW4gbmltaSIKKworIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKK21zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKK21zZ3N0ciAidmFhZGl0YWFuIHRpZWRvc3RvbmltaSBhcmd1bWVudGlrc2kiCisKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlIG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IHRpZWRvc3RvYSBlaSBsw7Z5dHlueXQiCisKKyM6IGJ1aWx0aW5zL3N1c3BlbmQuZGVmOjEwMQorbXNnaWQgImNhbm5vdCBzdXNwZW5kIgorbXNnc3RyICJlaSB2b2lkYSBrZXNrZXl0dMOkw6QiCisKKyM6IGJ1aWx0aW5zL3N1c3BlbmQuZGVmOjExMQorbXNnaWQgImNhbm5vdCBzdXNwZW5kIGEgbG9naW4gc2hlbGwiCittc2dzdHIgInNpc8Okw6Rua2lyamF1dHVtaXNrb21lbnRvdHVsa2tpYSBlaSB2b2kga2Vza2V5dHTDpMOkIgorCisjOiBidWlsdGlucy90eXBlLmRlZjoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxpYXNlZCB0byBgJXMnXG4iCittc2dzdHIgIiVzIG9uIGFsaWFzaW9pdHUg4oCdJXPigJ1cbiIKKworIzogYnVpbHRpbnMvdHlwZS5kZWY6MjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgc2hlbGwga2V5d29yZFxuIgorbXNnc3RyICIlcyBvbiBrb21lbnRvdHVsa2luIGF2YWluc2FuYVxuIgorCisjOiBidWlsdGlucy90eXBlLmRlZjoyNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBmdW5jdGlvblxuIgorbXNnc3RyICIlcyBvbiBmdW5rdGlvXG4iCisKKyM6IGJ1aWx0aW5zL3R5cGUuZGVmOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIHNoZWxsIGJ1aWx0aW5cbiIKK21zZ3N0ciAiJXMgb24ga29tZW50b3R1bGtpbiBzaXPDpMOkbnJha2VubmV0dHUga29tZW50b1xuIgorCisjOiBidWlsdGlucy90eXBlLmRlZjozMTcgYnVpbHRpbnMvdHlwZS5kZWY6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzICVzXG4iCittc2dzdHIgIiVzIG9uICVzXG4iCisKKyM6IGJ1aWx0aW5zL3R5cGUuZGVmOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgorbXNnc3RyICIlcyBvbiBoYWphdXRldHR1ICglcylcbiIKKworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gcmFqb2l0dXNhcmd1bWVudHRpIgorCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKK21zZ3N0ciAi4oCdJWPigJ06IHZpcmhlZWxsaW5lbiBrb21lbnRvIgorCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGdldCBsaW1pdDogJXMiCittc2dzdHIgIiVzOiByYWpvaXR1c3RhIGVpIHNhYWRhOiAlcyIKKworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTcKK21zZ2lkICJsaW1pdCIKK21zZ3N0ciAicmFqb2l0dXMiCisKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKK21zZ3N0ciAiJXM6IHJham9pdHVzdGEgZWkgdm9pZGEgbXVva2F0YTogJXMiCisKKyM6IGJ1aWx0aW5zL3VtYXNrLmRlZjoxMTgKK21zZ2lkICJvY3RhbCBudW1iZXIiCittc2dzdHIgIm9rdGFhbGlsdWt1IgorCisjOiBidWlsdGlucy91bWFzay5kZWY6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBvcGVyYXRvciIKK21zZ3N0ciAi4oCdJWPigJ06IHZpcmhlZWxsaW5lbiBzeW1ib2xpc2VuIHRpbGFuIG9wZXJhYXR0b3JpIgorCisjOiBidWlsdGlucy91bWFzay5kZWY6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBjaGFyYWN0ZXIiCittc2dzdHIgIuKAnSVj4oCdOiB2aXJoZWVsbGluZW4gc3ltYm9saXNlbiB0aWxhbiBtZXJra2kiCisKKyM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKK21zZ2lkICIgbGluZSAiCittc2dzdHIgIiByaXZpICIKKworIzogZXJyb3IuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFzdCBjb21tYW5kOiAlc1xuIgorbXNnc3RyICJ2aWltZWluZW4ga29tZW50bzogJXNcbiIKKworIzogZXJyb3IuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWJvcnRpbmcuLi4iCittc2dzdHIgIktlc2tleXRldMOkw6RuLi4uIgorCisjOiBlcnJvci5jOjQwNgorbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKK21zZ3N0ciAidHVudGVtYXRvbiBrb21lbnRvdmlyaGUiCisKKyM6IGVycm9yLmM6NDA3Cittc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGtvbWVudG90eXlwcGkiCisKKyM6IGVycm9yLmM6NDA4Cittc2dpZCAiYmFkIGNvbm5lY3RvciIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGxpaXR0w6Rqw6QiCisKKyM6IGVycm9yLmM6NDA5Cittc2dpZCAiYmFkIGp1bXAiCittc2dzdHIgInZpcmhlZWxsaW5lbiBoeXBweSIKKworIzogZXJyb3IuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYm91bmQgdmFyaWFibGUiCittc2dzdHIgIiVzOiBzaXRvbWF0b24gbXV1dHR1amEiCisKKyM6IGV2YWwuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dzdHIgIlxhYWlrYWthdGthaXN1OiBhdXRvbWFhdHRpbmVuIHVsb3NraXJqYXV0dW1pbmVuXG4iCisKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCittc2dzdHIgInN5w7Z0ZXR0w6QgZWkgdm9pZGEgbHVrZWEgdGllZG9zdG9zdGEgL2Rldi9udWxsOiAlcyIKKworIzogZXhlY3V0ZV9jbWQuYzoxMTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKK21zZ3N0ciAiQUpBTiBNVU9UT03DhMOEUklUWVM6IOKAnSVj4oCdOiB2aXJoZWVsbGluZW4gbXVvdG9pbHVtZXJra2kiCisKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQorbXNnaWQgInBpcGUgZXJyb3IiCittc2dzdHIgInB1dGtpdHVzdmlyaGUiCisKKyM6IGV4ZWN1dGVfY21kLmM6NDY0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCittc2dzdHIgIiVzOiByYWpvaXRldHR1OiBrb21lbnRvamVuIG5pbWlzc8OkIGVpIHZvaSBrw6R5dHTDpMOkIOKAnS/igJ0tbWVya2tpw6QiCisKKyM6IGV4ZWN1dGVfY21kLmM6NDczNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBrb21lbnRvYSBlaSBsw7Z5ZHkiCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIgorbXNnc3RyICIlcyBvbiAlc1xuIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCittc2dzdHIgIiVzOiAlczogdmlyaGVlbGxpbmVuIHR1bGtraSIKKworIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCittc2dzdHIgInRpZWRvc3Rva2FodmFhICVkIGVpIHZvaWRhIGtvcGlvaWRhIGthaHZha3NpICVkIgorCisjOiBleHByLmM6MjU2Cittc2dpZCAiZXhwcmVzc2lvbiByZWN1cnNpb24gbGV2ZWwgZXhjZWVkZWQiCittc2dzdHIgImxhdXNla2tlZW4gcmVrdXJzaW9tw6TDpHLDpCB5bGl0dHlpIgorCisjOiBleHByLmM6MjgwCittc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKK21zZ3N0ciAicmVrdXJzaW9waW5vbiBhbGl2dW90byIKKworIzogZXhwci5jOjQyMgorbXNnaWQgInN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIgorbXNnc3RyICJsYXVzZW9wcGl2aXJoZSBsYXVzZWtrZWVzc2EiCisKKyM6IGV4cHIuYzo0NjMKK21zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCittc2dzdHIgInlyaXRldHRpaW4gc2lqb2l0dGFhIG9iamVrdGlpbiwgam9rYSBlaSBvbGUgbXV1dHR1amEiCisKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3Cittc2dpZCAiZGl2aXNpb24gYnkgMCIKK21zZ3N0ciAiamFrbyBub2xsYWxsYSIKKworIzogZXhwci5jOjUxNworbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKK21zZ3N0ciAiYnVnaTogdmlyaGVlbGxpbmVuIHNpam9pdHVzYXZhaW5zYW5hIgorCisjOiBleHByLmM6NTY0Cittc2dpZCAiYDonIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgorbXNnc3RyICLigJ064oCdOnR0w6Qgb2RvdGV0dGlpbiBlaGRvbGxpc2VlbiBsYXVzZWtrZWVzZWVuIgorCisjOiBleHByLmM6ODMyCittc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCittc2dzdHIgImVrc3BvbmVudHRpIG9uIHBpZW5lbXBpIGt1aW4gMCIKKworIzogZXhwci5jOjg4NworbXNnaWQgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgorbXNnc3RyICJvZG90ZXR0aWluIG11dXR0dWphYSArKzpuIHRhaSAtLTpuIGrDpGxrZWVuIgorCisjOiBleHByLmM6OTEwCittc2dpZCAibWlzc2luZyBgKSciCittc2dzdHIgInB1dXR0dXZhIOKAnSnigJ0iCisKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKK21zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCittc2dzdHIgImxhdXNlb3BwaXZpcmhlOiBvZG90ZXR0aWluIG9wZXJhbmRpYSIKKworIzogZXhwci5jOjEyODQKK21zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKK21zZ3N0ciAibGF1c2VvcHBpdmlyaGU6IHZpcmhlZWxsaW5lbiBhcml0bWV0aWlra2FvcGVyYWF0dG9yaSIKKworIzogZXhwci5jOjEzMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKK21zZ3N0ciAiJXMlcyVzOiAlcyAodmlyaGVlbGxpbmVuIGF2YWluc2FuYSBvbiDigJ0lc+KAnSkiCisKKyM6IGV4cHIuYzoxMzY2Cittc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCittc2dzdHIgInZpcmhlZWxsaW5lbiBsdWt1asOkcmplc3RlbG3DpCIKKworIzogZXhwci5jOjEzODYKK21zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCittc2dzdHIgImxpaWFuIGlzbyBsdWt1IGx1a3Vqw6RyamVzdGVsbcOkbGxlIgorCisjOiBleHByLmM6MTQzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgorbXNnc3RyICIlczogdmlyaGUgbGF1c2Vra2Vlc3NhXG4iCisKKyM6IGdlbmVyYWwuYzo2MQorbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCittc2dzdHIgImdldGN3ZDogeWxlbXBpaW4gaGFrZW1pc3RvaWhpbiBlaSBww6TDpHN0w6QiCisKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgorbXNnc3RyICJub2RlbGF5LXRpbGFhIGVpIHZvaWRhIGFzZXR0YWEgdGllZG9zdG9rYWh2YWxsZSAlZCIKKworIzogaW5wdXQuYzoyNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKK21zZ3N0ciAiYmFzaGluIHN5w7Z0dGVla3NpIGVpIHZvaWRhIGF2YXRhIHV1dHRhIHRpZWRvc3Rva2FodmFhIGthaHZhc3RhICVkIgorCisjOiBpbnB1dC5jOjI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgorbXNnc3RyICJzYXZlX2Jhc2hfaW5wdXQ6IHV1ZGVsbGEgdGllZG9zdG9rYWh2YWxsYSAlZCBvbiBqbyBwdXNrdXJpIgorCisjOiBqb2JzLmM6NDY4Cittc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKK21zZ3N0ciAic3RhcnRfcGlwZWxpbmU6IHBncnAtcHV0a2kiCisKKyM6IGpvYnMuYzo4ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9ya2VkIHBpZCAlZCBhcHBlYXJzIGluIHJ1bm5pbmcgam9iICVkIgorbXNnc3RyICJoYWFyYXV0ZXR0dSBwcm9zZXNzaS1pZCAlZCBvbiBham9zc2Egb2xldmFsbGEgdHnDtmxsw6QgJWQiCisKKyM6IGpvYnMuYzoxMDA3CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCittc2dzdHIgInBvaXN0ZXRhYW4gcHlzw6R5dGV0dHkgdHnDtiAlZCBwcm9zZXNzaXJ5aG3DpHN0w6QgJWxkIgorCisjOiBqb2JzLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgorbXNnc3RyICJhZGRfcHJvY2VzczogcHJvc2Vzc2kgJTVsZCAoJXMpIHB1dGtpam9ub3NzYSIKKworIzogam9icy5jOjExMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgorbXNnc3RyICJhZGRfcHJvY2VzczogcHJvc2Vzc2kgJTVsZCAoJXMpIG9uIG1lcmthdHR1IHZpZWzDpCB0b2ltaXZha3NpIgorCisjOiBqb2JzLmM6MTQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCittc2dzdHIgImRlc2NyaWJlX3BpZDogJWxkOiBwcm9zZXNzaXR1bm51c3RhIGVpIGzDtnlkeS4iCisKKyM6IGpvYnMuYzoxNDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNpZ25hbCAlZCIKK21zZ3N0ciAiU2lnbmFhbGkgJWQiCisKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0Cittc2dpZCAiRG9uZSIKK21zZ3N0ciAiVmFsbWlzIgorCisjOiBqb2JzLmM6MTQ2NCBzaWdsaXN0LmM6MTIzCittc2dpZCAiU3RvcHBlZCIKK21zZ3N0ciAiUHlzw6R5dGV0dHkiCisKKyM6IGpvYnMuYzoxNDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0b3BwZWQoJXMpIgorbXNnc3RyICJQeXPDpHl0ZXR0eSglcykiCisKKyM6IGpvYnMuYzoxNDcyCittc2dpZCAiUnVubmluZyIKK21zZ3N0ciAiQWpvc3NhIgorCisjOiBqb2JzLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJEb25lKCVkKSIKK21zZ3N0ciAiVmFsbWlzKCVkKSIKKworIzogam9icy5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhpdCAlZCIKK21zZ3N0ciAiUG9pc3R1aSAlZCIKKworIzogam9icy5jOjE0OTEKK21zZ2lkICJVbmtub3duIHN0YXR1cyIKK21zZ3N0ciAiVHVudGVtYXRvbiB0aWxhIgorCisjOiBqb2JzLmM6MTU3OAorIywgYy1mb3JtYXQKK21zZ2lkICIoY29yZSBkdW1wZWQpICIKK21zZ3N0ciAiKGx1b3RpaW4gY29yZS10aWVkb3N0bykiCisKKyM6IGpvYnMuYzoxNTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHdkOiAlcykiCittc2dzdHIgIiAgKHR5w7ZoYWtlbWlzdG86ICVzKSIKKworIzogam9icy5jOjE4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCittc2dzdHIgImxhcHNpcHJvc2Vzc2luIHNldHBnaWQgKCVsZCA9PiAlbGQpIgorCisjOiBqb2JzLmM6MjEzMyBub2pvYnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgorbXNnc3RyICJ3YWl0OiBwcm9zZXNzaSAlbGQgZWkgb2xlIHTDpG3DpG4ga29tZW50b3R1bGtpbiBsYXBzaXByb3Nlc3NpIgorCisjOiBqb2JzLmM6MjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgorbXNnc3RyICJ3YWl0X2ZvcjogUHJvc2Vzc2lzdGEgJWxkIGVpIG9sZSB0aWV0b2phIgorCisjOiBqb2JzLmM6MjYzNworIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgorbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IHR5w7YgJWQgb24gcHlzw6R5dGV0dHkiCisKKyM6IGpvYnMuYzoyODU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCittc2dzdHIgIiVzOiB0ecO2IG9uIGxvcGV0ZXR0dSIKKworIzogam9icy5jOjI4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCittc2dzdHIgIiVzOiB0ecO2ICVkIG9uIGpvIHRhdXN0YWxsYSIKKworIzogam9icy5jOjMwODkKK21zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCittc2dzdHIgIiIKKworIzogam9icy5jOjM1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpbmUgJWQ6ICIKK21zZ3N0ciAiJXM6IHJpdmkgJWQ6IgorCisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiAobHVvdGlpbiBjb3JlLXRpZWRvc3RvKSIKKworIzogam9icy5jOjM1NjQgam9icy5jOjM1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdkIG5vdzogJXMpXG4iCittc2dzdHIgIih0ecO2aGFrZW1pc3RvIG55dDogJXMpXG4iCisKKyM6IGpvYnMuYzozNjA5Cittc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCittc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZXDDpG9ubmlzdHVpIgorCisjOiBqb2JzLmM6MzY2OQorbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogdnVvbmhhbGxpbnRhIgorCisjOiBqb2JzLmM6MzY3OQorbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCittc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCisKKyM6IGpvYnMuYzozNzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgorbXNnc3RyICJww6TDpHR0ZWVuIHByb3Nlc3NpcnlobcOkw6QgZWkgdm9pdHUgYXNldHRhYSAoJWQpIgorCisjOiBqb2JzLmM6MzcxMgorbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCittc2dzdHIgInTDpGxsw6Qga29tZW50b3R1bGtpbGxhIGVpIG9sZSB0ecO2bm9oamF1c3RhIgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxsb2M6IGZhaWxlZCBhc3NlcnRpb246ICVzXG4iCittc2dzdHIgIm1hbGxvYzogdmFybWlzdHVzIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxyXG4iCisibWFsbG9jOiAlczolZDogYXNzZXJ0aW9uIGJvdGNoZWRcclxuIgorbXNnc3RyICIiCisiXHJcbiIKKyJtYWxsb2M6ICVzOiVkOiB2YXJtaXN0dXMgZXDDpG9ubmlzdHVpXHJcbiIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzozMTMKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJ0dW50ZW1hdG9uIgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjc5NworbXNnaWQgIm1hbGxvYzogYmxvY2sgb24gZnJlZSBsaXN0IGNsb2JiZXJlZCIKK21zZ3N0ciAibWFsbG9jOiB2YXBhaXR0ZW4gbGlzdGFuIGxvaGtvIHlsaWtpcmpvaXR0dWkiCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6ODc0Cittc2dpZCAiZnJlZTogY2FsbGVkIHdpdGggYWxyZWFkeSBmcmVlZCBibG9jayBhcmd1bWVudCIKK21zZ3N0ciAiZnJlZToga3V0c3V0dGlpbiBhcmd1bWVudHRpbmEgam8gdmFwYXV0ZXR0dSBsb2hrbyIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzo4NzcKK21zZ2lkICJmcmVlOiBjYWxsZWQgd2l0aCB1bmFsbG9jYXRlZCBibG9jayBhcmd1bWVudCIKK21zZ3N0ciAiZnJlZToga3V0c3V0dHV1biBhcmd1bWVudHRpbmEgdmFyYWFtYXRvbiBsb2hrbyIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzo4OTYKK21zZ2lkICJmcmVlOiB1bmRlcmZsb3cgZGV0ZWN0ZWQ7IG1oX25ieXRlcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgImZyZWU6IGhhdmFpdHRpaW4gYWxpdnVvdG87IG1oX25ieXRlcyByYWpvamVuIHVsa29wdW9sZWxsYSIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzo5MDIKK21zZ2lkICJmcmVlOiBzdGFydCBhbmQgZW5kIGNodW5rIHNpemVzIGRpZmZlciIKK21zZ3N0ciAiZnJlZTogYWxrdS0gamEgbG9wcHVsb2hrb2plbiBrb290IGVyb2F2YXQiCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MTAwMQorbXNnaWQgInJlYWxsb2M6IGNhbGxlZCB3aXRoIHVuYWxsb2NhdGVkIGJsb2NrIGFyZ3VtZW50IgorbXNnc3RyICJyZWFsbG9jOiBrdXRzdWFyZ3VtZW50dGkgb24gdmFyYWFtYXRvbiBsb2hrbyIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzoxMDE2Cittc2dpZCAicmVhbGxvYzogdW5kZXJmbG93IGRldGVjdGVkOyBtaF9uYnl0ZXMgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJyZWFsbG9jOiBoYXZhaXR0aWluIGFsaXZ1b3RvOyBtaF9uYnl0ZXMgcmFqb2plbiB1bGtvcHVvbGVsbGEiCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MTAyMgorbXNnaWQgInJlYWxsb2M6IHN0YXJ0IGFuZCBlbmQgY2h1bmsgc2l6ZXMgZGlmZmVyIgorbXNnc3RyICJyZWFsbG9jOiBhbGt1LSBqYSBsb3BwdWxvaGtvamVuIGtvb3QgZXJvYXZhdCIKKworIzogbGliL21hbGxvYy90YWJsZS5jOjE3NworIywgYy1mb3JtYXQKK21zZ2lkICJyZWdpc3Rlcl9hbGxvYzogYWxsb2MgdGFibGUgaXMgZnVsbCB3aXRoIEZJTkRfQUxMT0M/XG4iCittc2dzdHIgInJlZ2lzdGVyX2FsbG9jOiB2YXJhdXN0YXVsdWtrbyBvbiB0w6R5bm7DpCBGSU5EX0FMTE9DZWphP1xuIgorCisjOiBsaWIvbWFsbG9jL3RhYmxlLmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZ2lzdGVyX2FsbG9jOiAlcCBhbHJlYWR5IGluIHRhYmxlIGFzIGFsbG9jYXRlZD9cbiIKK21zZ3N0ciAicmVnaXN0ZXJfYWxsb2M6ICVwIG9uIG1lcmtpdHR5IHRhdWx1a29zc2Egam8gdmFyYXR1a3NpP1xuIgorCisjOiBsaWIvbWFsbG9jL3RhYmxlLmM6MjIwCisjLCBjLWZvcm1hdAorbXNnaWQgInJlZ2lzdGVyX2ZyZWU6ICVwIGFscmVhZHkgaW4gdGFibGUgYXMgZnJlZT9cbiIKK21zZ3N0ciAicmVnaXN0ZXJfZnJlZTogJXAgb24gam8gdGF1bHVrb3NzYSB2YXBhYW5hP1xuIgorCisjOiBsaWIvc2gvZm10dWxvbmcuYzoxMDEKK21zZ2lkICJpbnZhbGlkIGJhc2UiCittc2dzdHIgInZpcmhlZWxsaW5lbiBsdWt1asOkcmplc3RlbG3DpCIKKworIzogbGliL3NoL25ldG9wZW4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhvc3QgdW5rbm93biIKK21zZ3N0ciAiJXM6IHR1bnRlbWF0b24gcGFsdmVsaW4iCisKKyM6IGxpYi9zaC9uZXRvcGVuLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNlcnZpY2UiCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gcGFsdmVsdSIKKworIzogbGliL3NoL25ldG9wZW4uYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBuZXR3b3JrIHBhdGggc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiB2ZXJra29wb2xrdW3DpMOkcml0eXMiCisKKyM6IGxpYi9zaC9uZXRvcGVuLmM6MzQ2Cittc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgInZlcmtrby1vcGVyYWF0aW9pdGEgZWkgb2xlIHR1ZXR0dSIKKworIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IGVpIHZvaWRhIHZhcmF0YSAlbHUgdGF2dWEiCisKKyM6IGxvY2FsZS5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgInhyZWFsbG9jOiAlczolZDogZWkgdm9pZGEgdmFyYXRhICVsdSB0YXZ1YSIKKworIzogbWFpbGNoZWNrLmM6NDMzCittc2dpZCAiWW91IGhhdmUgbWFpbCBpbiAkXyIKK21zZ3N0ciAiU2ludWxsZSBvbiBwb3N0aWEgbGFhdGlrb3NzYSAkXyIKKworIzogbWFpbGNoZWNrLmM6NDU4Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwgaW4gJF8iCittc2dzdHIgIlNpbnVsbGEgb24gdXV0dGEgcG9zdGlhIGxhYXRpa29zc2EgJF8iCisKKyM6IG1haWxjaGVjay5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCittc2dzdHIgIlBvc3RpIGxhYXRpa29zc2EgJXMgb24gbHVldHR1XG4iCisKKyM6IG1ha2VfY21kLmM6MzIzCittc2dpZCAic3ludGF4IGVycm9yOiBhcml0aG1ldGljIGV4cHJlc3Npb24gcmVxdWlyZWQiCittc2dzdHIgImxhdXNlb3BwaXZpcmhlOiB2YWFkaXRhYW4gYXJpdG1lZXR0aW5lbiBsYXVzZWtlIgorCisjOiBtYWtlX2NtZC5jOjMyNQorbXNnaWQgInN5bnRheCBlcnJvcjogYDsnIHVuZXhwZWN0ZWQiCittc2dzdHIgImxhdXNlb3BwaXZpcmhlOiBvZG90dGFtYXRvbiDigJ074oCdIgorCisjOiBtYWtlX2NtZC5jOjMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgorbXNnc3RyICJsYXVzZW9wcGl2aXJoZTog4oCdKCglcykp4oCdIgorCisjOiBtYWtlX2NtZC5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGJhZCBpbnN0cnVjdGlvbiB0eXBlICVkIgorbXNnc3RyICJtYWtlX2hlcmVfZG9jdW1lbnQ6IHZpcmhlZWxsaW5lbiBrw6Rza3l0eXlwcGkgJWQiCisKKyM6IG1ha2VfY21kLmM6NjU5CisjLCBjLWZvcm1hdAorbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKK21zZ3N0ciAiIgorImhlcmUtZG9rdW1lbnR0aSByaXZpbGzDpCAlZCBww6TDpHR0eWkgdGllZG9zdG9uIGxvcHB1bWlzZWVuIChoYWx1dHRpaW4g4oCdJXPigJ0pIgorCisjOiBtYWtlX2NtZC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiBgJWQnIG91dCBvZiByYW5nZSIKK21zZ3N0ciAibWFrZV9yZWRpcmVjdGlvbjogdXVkZWxsZWVub2hqYXVzIOKAnSVk4oCdIHJham9qZW4gdWxrb3B1b2xlbGxhIgorCisjOiBwYXJzZS55OjMxNzMgcGFyc2UueTozNDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCittc2dzdHIgIm9kb3R0YW1hdG9uIEVPRiAodGllZG9zdG9ubG9wcHUpIG9kb3RldHRhZXNzYSBzdWxrZXZhYSDigJ0lY+KAnSIKKworIzogcGFyc2UueTo0MDI1Cittc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKK21zZ3N0ciAib2RvdHRhbWF0b24gRU9GIG9kb3RldHRhZXNzYSDigJ1dXeKAnSIKKworIzogcGFyc2UueTo0MDMwCisjLCBjLWZvcm1hdAorbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCittc2dzdHIgImxhdXNlb3BwaXZpcmhlIGVoZG9sbGlzZXNzYSBsYXVzZWtrZWVzc2E6IG9kb3R0YW1hdG9uIGF2YWluc2FuYSDigJ0lc+KAnSIKKworIzogcGFyc2UueTo0MDM0Cittc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCittc2dzdHIgImxhdXNlb3BwaXZpcmhlIGVoZG9sbGlzZXNzYSBsYXVzZWtrZWVzc2EiCisKKyM6IHBhcnNlLnk6NDExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKK21zZ3N0ciAib2RvdHRhbWF0b24gYXZhaW5zYW5hIOKAnSVz4oCdLCBvZG90ZXR0aWluIOKAnSnigJ0iCisKKyM6IHBhcnNlLnk6NDExNgorbXNnaWQgImV4cGVjdGVkIGApJyIKK21zZ3N0ciAib2RvdG90ZXR0aWluIOKAnSnigJ0iCisKKyM6IHBhcnNlLnk6NDE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCittc2dzdHIgIm9kb3R0YW1hdG9uIGFyZ3VtZW50dGkg4oCdJXPigJ0gZWhkb2xsaXNlbGxlIHVuYWFyaXNlbGxlIG9wZXJhYXR0b3JpbGxlIgorCisjOiBwYXJzZS55OjQxNDgKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgorbXNnc3RyICJvZG90dGFtYXRvbiBhcmd1bWVudHRpIGVoZG9sbGlzZWxsZSB1bmFhcmlzZWxsZSBvcGVyYWF0dG9yaWxsZSIKKworIzogcGFyc2UueTo0MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgorbXNnc3RyICIiCisib2RvdHRhbWF0b24gYXZhaW5zYW5hIOKAnSVz4oCdLCBvZG90ZXR0aWluIGVoZG9sbGlzdGEgYmluw6TDpHJpc3TDpCBvcGVyYWF0dG9yaWEiCisKKyM6IHBhcnNlLnk6NDE5OAorbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKK21zZ3N0ciAib2RvdGV0dGlpbiBlaGRvbGxpc3RhIGJpbsOkw6RyaXN0w6Qgb3BlcmFhdHRvcmlhIgorCisjOiBwYXJzZS55OjQyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKK21zZ3N0ciAib2RvdHRhbWF0b24gYXJndW1lbnR0aSDigJ0lc+KAnSBlaGRvbGxpc2VsbGUgYmluw6TDpHJpc2VsbGUgb3BlcmFhdHRvcmlsbGUiCisKKyM6IHBhcnNlLnk6NDIyNAorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgorbXNnc3RyICJvZG90dGFtYXRvbiBhcmd1bWVudHRpIGVoZG9sbGlzZWxsZSBiaW7DpMOkcmlzZWxsZSBvcGVyYWF0dG9yaWxsZSIKKworIzogcGFyc2UueTo0MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgorbXNnc3RyICJvZG90dGFtYXRvbiBhdmFpbnNhbmEg4oCdJWPigJ0gZWhkb2xsaXNlc3NhIGtvbWVubm9zc2EiCisKKyM6IHBhcnNlLnk6NDIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKK21zZ3N0ciAib2RvdHRhbWF0b24gYXZhaW5zYW5hIOKAnSVz4oCdIGVoZG9sbGlzZXNzYSBrb21lbm5vc3NhIgorCisjOiBwYXJzZS55OjQyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgorbXNnc3RyICJvZG90dGFtYXRvbiBhdmFpbnNhbmEgJWQgZWhkb2xsaXNlc3NhIGtvbWVubm9zc2EiCisKKyM6IHBhcnNlLnk6NTU2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCittc2dzdHIgImxhdXNlb3BwaXZpcmhlIGzDpGhlbGzDpCBvZG90dGFtYXRvbnRhIGF2YWluc2FuYWEg4oCdJXPigJ0iCisKKyM6IHBhcnNlLnk6NTU4NAorIywgYy1mb3JtYXQKK21zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgorbXNnc3RyICJsYXVzZW9wcGl2aXJoZSBsw6RoZWxsw6Qg4oCdJXPigJ0iCisKKyM6IHBhcnNlLnk6NTU5NAorbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKK21zZ3N0ciAibGF1c2VvcHBpdmlyaGU6IG9kb3R0YW1hdG9uIHRpZWRvc3RvbmxvcHB1IgorCisjOiBwYXJzZS55OjU1OTQKK21zZ2lkICJzeW50YXggZXJyb3IiCittc2dzdHIgImxhdXNlb3BwaXZpcmhlIgorCisjOiBwYXJzZS55OjU2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCittc2dzdHIgIktpcmpvaXRhIOKAnSVz4oCdIHBvaXN0dWFrc2VzaSBrb21lbnRvdHVsa2lzdGEuXG4iCisKKyM6IHBhcnNlLnk6NTgxOAorbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKK21zZ3N0ciAiT2RvdHRhbWF0b24gRU9GIG9kb3RldHRhZXNzYSB2YXN0YWF2YWEg4oCdKeKAnSIKKworIzogcGNvbXBsZXRlLmM6MTAzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKK21zZ3N0ciAidMOkeWRlbm55czogZnVua3Rpb3RhIOKAnSVz4oCdIGVpIGzDtnl0eW55dCIKKworIzogcGNvbXBsaWIuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKK21zZ3N0ciAicHJvZ2NvbXBfaW5zZXJ0OiAlczogdHloasOkIENPTVBTUEVDIgorCisjOiBwcmludF9jbWQuYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgorbXNnc3RyICJwcmludF9jb21tYW5kOiB2aXJoZWVsbGluZW4geWhkaXN0aW4g4oCdJWTigJ0iCisKKyM6IHByaW50X2NtZC5jOjM2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIlZDogdmlyaGVlbGxpbmVuIHRpZWRvc3Rva2FodmE6ICVzIgorCisjOiBwcmludF9jbWQuYzozNzMKK21zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKK21zZ3N0ciAiIgorCisjOiBwcmludF9jbWQuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjE0NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgorbXNnc3RyICJjcHJpbnRmOiDigJ0lY+KAnTogdmlyaGVlbGxpbmVuIG11b3RvaWx1bWVya2tpIgorCisjOiByZWRpci5jOjEyMgorbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCittc2dzdHIgInRpZWRvc3Rva2FodmEgcmFqb2plbiB1bGtvcHVvbGVsbGEiCisKKyM6IHJlZGlyLmM6MTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCittc2dzdHIgIiVzOiBlcMOkbcOkw6Ryw6RpbmVuIHV1ZGVsbGVlbm9oamF1cyIKKworIzogcmVkaXIuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IG9sZW1hc3NhIG9sZXZhbiB0aWVkb3N0b24gcMOkw6RsbGUgZWkgdm9pZGEga2lyam9pdHRhYSIKKworIzogcmVkaXIuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCittc2dzdHIgIiVzOiByYWpvaXRldHR1OiB0dWxvc3R1c3RhIGVpIHZvaWRhIHV1ZGVsbGVlbm9oamF0YSIKKworIzogcmVkaXIuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgorbXNnc3RyICJoZXJlLWRva3VtZW50aWxsZSBlaSB2b2lkYSBsdW9kYSB2w6RsaWFpa2Fpc3RpZWRvc3RvYTogJXMiCisKKyM6IHJlZGlyLmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IGxpc3RhYSBlaSB2b2lkYSBzaWpvaXR0YWEgdGF1bHVrb24gYWxraW9vbiIKKworIzogcmVkaXIuYzo1NDgKK21zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCittc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydC1tdW90b2EgZWkgdHVldGEgaWxtYW4gdGlldG9saWlrZW5uZXR0w6QiCisKKyM6IHJlZGlyLmM6ODE4IHJlZGlyLmM6OTMwIHJlZGlyLmM6OTkzIHJlZGlyLmM6MTEzNgorbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgorbXNnc3RyICJ2aXJoZSB1dWRlbGxlZW5vaGphdWtzZXNzYTogdGllZG9zdG9rYWh2YWEgZWkgdm9pZGEga29waW9pZGEiCisKKyM6IHNoZWxsLmM6MzMzCittc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCittc2dzdHIgIi90bXAtaGFrZW1pc3RvYSBlaSBsw7Z5dHlueXQsIGx1byBzZSEiCisKKyM6IHNoZWxsLmM6MzM3Cittc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCittc2dzdHIgIi90bXA6biBwaXTDpMOkIG9sbGEga2Vsdm9sbGluZW4gaGFrZW1pc3RvbiBuaW1pIgorCisjOiBzaGVsbC5jOjg4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAiJWMlYzogdmlyaGVlbGxpbmVuIHZhbGl0c2luIgorCisjOiBzaGVsbC5jOjE2NTIKK21zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCittc2dzdHIgIk1pbnVsbGEgZWkgb2xlIG5pbWXDpCEiCisKKyM6IHNoZWxsLmM6MTc5NQorIywgYy1mb3JtYXQKK21zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCittc2dzdHIgIkdOVSBiYXNoLCB2ZXJzaW8gJXMtKCVzKVxuIgorCisjOiBzaGVsbC5jOjE3OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCisiXHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSBzY3JpcHQtZmlsZSAuLi5cbiIKK21zZ3N0ciAiIgorIkvDpHl0dMO2Olx0JXNbR05VOm4gcGl0a8OkIHZhbGl0c2luXSBbdmFsaXRzaW5dIC4uLlxuIgorIlx0JXMgW0dOVTpuIHBpdGvDpCB2YWxpdHNpbl0gW3ZhbGl0c2luXSBrb21lbnRvdGllZG9zdG8gLi4uXG4iCisKKyM6IHNoZWxsLmM6MTc5OAorbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCittc2dzdHIgIkdOVTpuIHBpdGvDpHQgdmFsaXRzaW1ldDpcbiIKKworIzogc2hlbGwuYzoxODAyCittc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKK21zZ3N0ciAiS29tZW50b3R1bGtpbiB2YWxpdHNpbWV0OlxuIgorCisjOiBzaGVsbC5jOjE4MDMKK21zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCittc2dzdHIgIiIKKyJcdC1pcnNEIHRhaSAtYyBrb21lbnRvIHRhaSAtTyBzaG9wdF9vcHRpb24gKGFpbm9hc3RhYW4ga8OkeW5uaXN0ZXR0w6Rlc3PDpClcbiIKKworIzogc2hlbGwuYzoxODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgorbXNnc3RyICJcdC0lcyB0YWkgLW8gLXZhbGl0c2luXG4iCisKKyM6IHNoZWxsLmM6MTgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCittc2dzdHIgIiIKKyJLaXJqb2l0YSDigJ0lcyAtYyAnaGVscCBzZXQn4oCdIHNhYWRha3Nlc2kgbGlzw6R0aWV0b2phIGtvbWVudG90dWxraW4gIgorInZhbGl0c2ltaXN0YS5cbiIKKworIzogc2hlbGwuYzoxODI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCittc2dzdHIgIiIKKyJLaXJqb2l0YSDigJ0lcyAtYyBoZWxw4oCdIHNhYWRha3Nlc2kgbGlzw6R0aWV0b2phIGtvbWVudG90dWxraW4gIgorInNpc8Okw6RucmFrZW5uZXR1aXN0YSBrb21lbm5vaXN0YS5cbiIKKworIzogc2hlbGwuYzoxODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCittc2dzdHIgIlJhcG9ydG9pIHZpcmhlZXQga29tZW5ub2xsYSDigJ1iYXNoYnVn4oCdLlxuIgorCisjOiBzaWcuYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKK21zZ3N0ciAic2lncHJvY21hc2s6ICVkOiB2aXJoZWVsbGluZW4gb3BlcmFhdGlvIgorCisjOiBzaWdsaXN0LmM6NDgKK21zZ2lkICJCb2d1cyBzaWduYWwiCittc2dzdHIgIlbDpMOkcsOkIHNpZ25hYWxpIgorCisjOiBzaWdsaXN0LmM6NTEKK21zZ2lkICJIYW5ndXAiCittc2dzdHIgIkxpbmphbmthdGthaXN1IgorCisjOiBzaWdsaXN0LmM6NTUKK21zZ2lkICJJbnRlcnJ1cHQiCittc2dzdHIgIktlc2tleXR5cyIKKworIzogc2lnbGlzdC5jOjU5Cittc2dpZCAiUXVpdCIKK21zZ3N0ciAiTG9wZXRldHR1IgorCisjOiBzaWdsaXN0LmM6NjMKK21zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgorbXNnc3RyICJWaXJoZWVsbGluZW4ga8Okc2t5IgorCisjOiBzaWdsaXN0LmM6NjcKK21zZ2lkICJCUFQgdHJhY2UvdHJhcCIKK21zZ3N0ciAiSsOkbGppdHlzL2thdGthaXN1cGlzdGVhbnNhIgorCisjOiBzaWdsaXN0LmM6NzUKK21zZ2lkICJBQk9SVCBpbnN0cnVjdGlvbiIKK21zZ3N0ciAiQUJPUlQta8Okc2t5IgorCisjOiBzaWdsaXN0LmM6NzkKK21zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCittc2dzdHIgIkVNVC1rw6Rza3kiCisKKyM6IHNpZ2xpc3QuYzo4MworbXNnaWQgIkZsb2F0aW5nIHBvaW50IGV4Y2VwdGlvbiIKK21zZ3N0ciAiTGl1a3VsdWt1cG9pa2tldXMiCisKKyM6IHNpZ2xpc3QuYzo4NworbXNnaWQgIktpbGxlZCIKK21zZ3N0ciAiVGFwZXR0dSIKKworIzogc2lnbGlzdC5jOjkxCittc2dpZCAiQnVzIGVycm9yIgorbXNnc3RyICJWw6R5bMOkdmlyaGUiCisKKyM6IHNpZ2xpc3QuYzo5NQorbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKK21zZ3N0ciAiTXVpc3RpYWx1ZWVuIHlsaXR5cyIKKworIzogc2lnbGlzdC5jOjk5Cittc2dpZCAiQmFkIHN5c3RlbSBjYWxsIgorbXNnc3RyICJWaXJoZWVsbGluZW4gasOkcmplc3RlbG3DpGt1dHN1IgorCisjOiBzaWdsaXN0LmM6MTAzCittc2dpZCAiQnJva2VuIHBpcGUiCittc2dzdHIgIkthdGtlbm51dCBwdXRraSIKKworIzogc2lnbGlzdC5jOjEwNworbXNnaWQgIkFsYXJtIGNsb2NrIgorbXNnc3RyICJIZXLDpHR5c2tlbGxvIgorCisjOiBzaWdsaXN0LmM6MTExCittc2dpZCAiVGVybWluYXRlZCIKK21zZ3N0ciAiUMOkw6R0ZXR0eSIKKworIzogc2lnbGlzdC5jOjExNQorbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCittc2dzdHIgIktpaXJlZWxsaW5lbiBJL08tZWh0byIKKworIzogc2lnbGlzdC5jOjExOQorbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCittc2dzdHIgIlB5c8OkeXRldHR5IChzaWduYWFsaSkiCisKKyM6IHNpZ2xpc3QuYzoxMjcKK21zZ2lkICJDb250aW51ZSIKK21zZ3N0ciAiSmF0a2EiCisKKyM6IHNpZ2xpc3QuYzoxMzUKK21zZ2lkICJDaGlsZCBkZWF0aCBvciBzdG9wIgorbXNnc3RyICJMYXBzaXByb3Nlc3NpbiBrdW9sZW1hIHRhaSBweXPDpGh0eW1pbmVuIgorCisjOiBzaWdsaXN0LmM6MTM5Cittc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKK21zZ3N0ciAiUHlzw6R5dGV0dHkgKHDDpMOkdHRlZW4gc3nDtnRlKSIKKworIzogc2lnbGlzdC5jOjE0MworbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgorbXNnc3RyICJQeXPDpHl0ZXR0eSAocMOkw6R0dGVlbiB0dWxvc3RlKSIKKworIzogc2lnbGlzdC5jOjE0NworbXNnaWQgIkkvTyByZWFkeSIKK21zZ3N0ciAiSS9PIG9uIHZhbG1pcyIKKworIzogc2lnbGlzdC5jOjE1MQorbXNnaWQgIkNQVSBsaW1pdCIKK21zZ3N0ciAiQ1BVLXJham9pdHVzIgorCisjOiBzaWdsaXN0LmM6MTU1Cittc2dpZCAiRmlsZSBsaW1pdCIKK21zZ3N0ciAiVGllZG9zdG9yYWpvaXR1cyIKKworIzogc2lnbGlzdC5jOjE1OQorbXNnaWQgIkFsYXJtICh2aXJ0dWFsKSIKK21zZ3N0ciAiSMOkbHl0eXMgKHZpcnR1YWFsaW5lbikiCisKKyM6IHNpZ2xpc3QuYzoxNjMKK21zZ2lkICJBbGFybSAocHJvZmlsZSkiCittc2dzdHIgIkjDpGx5dHlzIChwcm9maWlsaSkiCisKKyM6IHNpZ2xpc3QuYzoxNjcKK21zZ2lkICJXaW5kb3cgY2hhbmdlZCIKK21zZ3N0ciAiSWtrdW5hIHZhaWh0dW51dCIKKworIzogc2lnbGlzdC5jOjE3MQorbXNnaWQgIlJlY29yZCBsb2NrIgorbXNnc3RyICJUaWV0dWVsdWtrbyIKKworIzogc2lnbGlzdC5jOjE3NQorbXNnaWQgIlVzZXIgc2lnbmFsIDEiCittc2dzdHIgIkvDpHl0dMOkasOkbiBtw6TDpHJpdHRlbGVtw6Qgc2lnbmFhbGkgMSIKKworIzogc2lnbGlzdC5jOjE3OQorbXNnaWQgIlVzZXIgc2lnbmFsIDIiCittc2dzdHIgIkvDpHl0dMOkasOkbiBtw6TDpHJpdHRlbGVtw6Qgc2lnbmFhbGkgMiIKKworIzogc2lnbGlzdC5jOjE4MworbXNnaWQgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCittc2dzdHIgIkhGVC1zecO2dGUgb2RvdHRhYSIKKworIzogc2lnbGlzdC5jOjE4NworbXNnaWQgInBvd2VyIGZhaWx1cmUgaW1taW5lbnQiCittc2dzdHIgInPDpGhrw7ZrYXRrbyBsw6RoZWxsw6QiCisKKyM6IHNpZ2xpc3QuYzoxOTEKK21zZ2lkICJzeXN0ZW0gY3Jhc2ggaW1taW5lbnQiCittc2dzdHIgImrDpHJqZXN0ZWxtw6RuIGthYXR1bWluZW4gbMOkaGVsbMOkIgorCisjOiBzaWdsaXN0LmM6MTk1Cittc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgorbXNnc3RyICJzaWlycsOkIHByb3Nlc3NpIHRvaXNlbGxlIENQVTpsbGUiCisKKyM6IHNpZ2xpc3QuYzoxOTkKK21zZ2lkICJwcm9ncmFtbWluZyBlcnJvciIKK21zZ3N0ciAib2hqZWxtb2ludGl2aXJoZSIKKworIzogc2lnbGlzdC5jOjIwMworbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKK21zZ3N0ciAiSEZULW1vbml0b3JvaW50aXRpbGEga8OkeXTDtnNzw6QiCisKKyM6IHNpZ2xpc3QuYzoyMDcKK21zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKK21zZ3N0ciAiSEZULW1vbml0b3JvaW50aXRpbGEgcGVydXR0dSIKKworIzogc2lnbGlzdC5jOjIxMQorbXNnaWQgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgorbXNnc3RyICJIRlQtw6TDpG5pc2VrdmVuc3NpIG9uIHZhbG1pc3R1bnV0IgorCisjOiBzaWdsaXN0LmM6MjE1Cittc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKK21zZ3N0ciAiSW5mb3JtYWF0aW9weXludMO2IgorCisjOiBzaWdsaXN0LmM6MjIzCittc2dpZCAiVW5rbm93biBTaWduYWwgIyIKK21zZ3N0ciAiVHVudGVtYXRvbiBzaWduYWFsaSAjIgorCisjOiBzaWdsaXN0LmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKK21zZ3N0ciAiVHVudGVtYXRvbiBzaWduYWFsaSAjJWQiCisKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE1MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgorbXNnc3RyICJ2aXJoZWVsbGluZW4ga29ydmF1czogZWkgc3Vsa2V2YWEg4oCdJXPigJ0gam9ub3NzYSAlcyIKKworIzogc3Vic3QuYzoyNzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgorbXNnc3RyICIlczogbGlzdGFhIGVpIHZvaWRhIHNpam9pdHRhYSB0YXVsdWtvbiBhbGtpb29uIgorCisjOiBzdWJzdC5jOjQ5Nzkgc3Vic3QuYzo0OTk1Cittc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCittc2dzdHIgInB1dGtlYSBlaSB2b2lkYSBsdW9kYSBwcm9zZXNzaW4ga29ydmFhbWlzdGEgdmFydGVuIgorCisjOiBzdWJzdC5jOjUwMjcKK21zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCittc2dzdHIgImxhcHNpcHJvc2Vzc2lhIGVpIHZvaWRhIGx1b2RhIHByb3Nlc3NpbiBrb3J2YWFtaXN0YSB2YXJ0ZW4iCisKKyM6IHN1YnN0LmM6NTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgorbXNnc3RyICJuaW1ldHR5w6QgcHV0a2VhICVzIGVpIHZvaWRhIGF2YXRhIGx1a2VtaXN0YSB2YXJ0ZW4iCisKKyM6IHN1YnN0LmM6NTA3NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgorbXNnc3RyICJuaW1ldHR5w6QgcHV0a2VhICVzIGVpIHZvaWRhIGF2YXRhIGtpcmpvaXR1c3RhIHZhcnRlbiIKKworIzogc3Vic3QuYzo1MDkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKK21zZ3N0ciAibmltZXR0ecOkIHB1dGtlYSAlcyBlaSB2b2lkYSBrb3Bpb2lkYSB0aWVkb3N0b2thaHZha3NpICVkIgorCisjOiBzdWJzdC5jOjUyODQKK21zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKK21zZ3N0ciAicHV0a2VhIGVpIHZvaWRhIGx1b2RhIGtvbWVubm9uIGtvcnZhYW1pc3RhIHZhcnRlbiIKKworIzogc3Vic3QuYzo1MzIyCittc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgorbXNnc3RyICJlaSB2b2lkYSBsdW9kYSBsYXBzaXByb3Nlc3NpYSBrb21lbm5vbiBrb3J2YWFtaXN0YSB2YXJ0ZW4iCisKKyM6IHN1YnN0LmM6NTMzOQorbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCittc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTogcHV0a2VhIGVpIHZvaWRhIGtvcGlvaWRhIHRpZWRvc3Rva2FodmFrc2kgMSIKKworIzogc3Vic3QuYzo1ODU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgorbXNnc3RyICIlczogcGFyYW1ldHJpYSBlaSBvbGUgdGFpIHNpdMOkIGVpIG9sZSBhc2V0ZXR0dSIKKworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgorbXNnc3RyICIlczogYWxpbWVya2tpam9ub2xhdXNla2UgPCAwIgorCisjOiBzdWJzdC5jOjcyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4ga29ydmF1cyIKKworIzogc3Vic3QuYzo3MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKK21zZ3N0ciAiJCVzOiBlaSB2b2lkYSBhc2V0dGFhIG7DpGluIgorCisjOiBzdWJzdC5jOjc2ODQKK21zZ2lkICIiCisiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCisic3Vic3RpdHV0aW9uIgorbXNnc3RyICIiCisKKyM6IHN1YnN0LmM6ODE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgorbXNnc3RyICJ2aXJoZWVsbGluZW4ga29ydmF1czogZWkgc3Vsa2V2YWEg4oCdYOKAnSBqb25vc3NhICVzIgorCisjOiBzdWJzdC5jOjkwMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWF0Y2g6ICVzIgorbXNnc3RyICJlaSBvc3VtaWE6ICVzIgorCisjOiB0ZXN0LmM6MTQ2Cittc2dpZCAiYXJndW1lbnQgZXhwZWN0ZWQiCittc2dzdHIgIm9kb3RldHRpaW4gYXJndW1lbnR0aWEiCisKKyM6IHRlc3QuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKK21zZ3N0ciAiJXM6IG9kb3RldHRpaW4ga29rb25haXNsdWt1aWxtYWlzdWEiCisKKyM6IHRlc3QuYzoyNjMKK21zZ2lkICJgKScgZXhwZWN0ZWQiCittc2dzdHIgIm9kb3RldHRpaW4g4oCdKeKAnSIKKworIzogdGVzdC5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgorbXNnc3RyICJvZG90ZXR0aWluIOKAnSnigJ0sIGzDtnlkZXR0aWluICVzIgorCisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTggdGVzdC5jOjcwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCittc2dzdHIgIiVzOiBvZG90ZXR0aWluIHVuYWFyaXN0YSBvcGVyYWF0dG9yaWEiCisKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgorbXNnc3RyICIlczogb2RvdGV0dGlpbiBiaW7DpMOkcmlzdMOkIG9wZXJhYXR0b3JpYSIKKworIzogdGVzdC5jOjgxNgorbXNnaWQgIm1pc3NpbmcgYF0nIgorbXNnc3RyICJwdXV0dHV2YSDigJ1d4oCdIgorCisjOiB0cmFwLmM6MjA3Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gc2lnbmFhbGludW1lcm8iCisKKyM6IHRyYXAuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKK21zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IHZpcmhlZWxsaW5lbiBhcnZvIHRyYXBfbGlzdFslZF06ICVwIgorCisjOiB0cmFwLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgorbXNnc3RyICIiCisicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hYWxpa8Okc2l0dGVsaWrDpCBvbiBTSUdfREZMLCBsw6RoZXTDpG4gJWQgKCVzKSB1dWRlbGxlZW4gIgorIml0c2VsbGVuaSIKKworIzogdHJhcC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCittc2dzdHIgInRyYXBfaGFuZGxlcjogdmlyaGVlbGxpbmVuIHNpZ25hYWxpICVkIgorCisjOiB2YXJpYWJsZXMuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCittc2dzdHIgInZpcmhlIHR1b3RhZXNzYSDigJ0lc+KAnTpuIGZ1bmt0aW9tw6TDpHJpdHlzdMOkIgorCisjOiB2YXJpYWJsZXMuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCittc2dzdHIgImtvbWVudG90dWxra2l0YXNvICglZCkgbGlpYW4ga29ya2VhLCBwYWxhdXRldGFhbiAxOmtzaSIKKworIzogdmFyaWFibGVzLmM6MTkzMgorbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKK21zZ3N0ciAibWFrZV9sb2NhbF92YXJpYWJsZTogZWkgZnVua3Rpb2tvbnRla3N0aWEgbnlreXRpbGFzc2EiCisKKyM6IHZhcmlhYmxlcy5jOjMxODIKK21zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCittc2dzdHIgImFsbF9sb2NhbF92YXJpYWJsZXM6IGVpIGZ1bmt0aW9rb250ZWtzdGlhIG55a3l0aWxhc3NhIgorCisjOiB2YXJpYWJsZXMuYzozNDI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCittc2dzdHIgIiVzOiBwYXJhbWV0cmlhIGVpIG9sZSB0YWkgc2l0w6QgZWkgb2xlIGFzZXRldHR1IgorCisjOiB2YXJpYWJsZXMuYzozNDMyIHZhcmlhYmxlcy5jOjM0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIG1lcmtraSAlZCAlczpuIGV4cG9ydHN0cjpzc8OkIgorCisjOiB2YXJpYWJsZXMuYzozNDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgorbXNnc3RyICJlaSA9OsOkIGtvaHRlZW4gJXMgZXhwb3J0c3RyOnNzw6QiCisKKyM6IHZhcmlhYmxlcy5jOjM4OTEKK21zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCittc2dzdHIgInBvcF92YXJfY29udGV4dDogc2hlbGxfdmFyaWFibGVzaW4gYWxrdSBlaSBvbGUgZnVua3Rpb2tvbnRla3N0aSIKKworIzogdmFyaWFibGVzLmM6MzkwNAorbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgorbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IGVpIGdsb2JhbF92YXJpYWJsZXMta29udGVrc3RpYSIKKworIzogdmFyaWFibGVzLmM6Mzk3OAorbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgorbXNnc3RyICIiCisicG9wX3Njb3BlOiBzaGVsbF92YXJpYWJsZXNpbiBhbGt1IGVpIHbDpGxpYWlrYWlzdGVuIHltcMOkcmlzdMO2bXV1dHR1amllbiAiCisieW1ww6RyaXN0w7Zzc8OkIgorCisjOiB2YXJpYWJsZXMuYzo0Nzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCittc2dzdHIgIiVzOiBlaSB2b2lkYSBhdmF0YTogJXMiCisKKyM6IHZhcmlhYmxlcy5jOjQ3OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIlZDogdmlyaGVlbGxpbmVuIHRpZWRvc3Rva2FodmE6ICVzIgorCisjOiB2ZXJzaW9uLmM6NDYKKyMsIGZ1enp5Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ3N0ciAiQ29weXJpZ2h0IMKpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorCisjOiB2ZXJzaW9uLmM6NDcKK21zZ2lkICIiCisiTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCittc2dzdHIgIiIKKyJMaXNlbnNzaSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvIDMgdGFpIHV1ZGVtcGkgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKKworIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgorbXNnc3RyICJHTlUgYmFzaCwgdmVyc2lvICVzICglcylcbiIKKworIzogdmVyc2lvbi5jOjkxIHZlcnNpb24yLmM6ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCittc2dzdHIgIlTDpG3DpCBvbiB2YXBhYSBvaGplbG1hOyBzYWF0IG11dXRlbGxhIGphIGxldml0dMOkw6Qgc2l0w6QgdmFwYWFzdGkuXG4iCisKKyM6IHZlcnNpb24uYzo5MiB2ZXJzaW9uMi5jOjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCittc2dzdHIgIlRha3V1dGEgZWkgb2xlIGxhaW4gbcOkw6Ryw6TDpG1pc3PDpCByYWpvaXNzYS5cbiIKKworIzogdmVyc2lvbjIuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorbXNnc3RyICJDb3B5cmlnaHQgwqkgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCisKKyM6IHZlcnNpb24yLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorIkxpc2Vuc3NpIEdQTHYzKzogR05VIEdQTCB2ZXJzaW8gMyB0YWkgdXVkZW1waSA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorCisjOiB4bWFsbG9jLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKK21zZ3N0ciAieG1hbGxvYzogZWkgdm9pZGEgdmFyYXRhICVsdSB0YXZ1YSAodmFyYXR0aWluICVsdSB0YXZ1YSkiCisKKyM6IHhtYWxsb2MuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dzdHIgInhtYWxsb2M6IGVpIHZvaXR1IHZhcmF0YSAlbHUgdGF2dWEiCisKKyM6IHhtYWxsb2MuYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBlaSB2b2lkYSB2YXJhdGEgJWx1IHRhdnVhICh2YXJhdHRpaW4gJWx1IHRhdnVhKSIKKworIzogeG1hbGxvYy5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgorbXNnc3RyICJ4bWFsbG9jOiAlczolZDogZWkgdm9pZGEgdmFyYXRhICVsdSB0YXZ1YSIKKworIzogYnVpbHRpbnMuYzo0MworbXNnaWQgImFsaWFzIFstcF0gW25hbWVbPXZhbHVlXSAuLi4gXSIKK21zZ3N0ciAiYWxpYXMgWy1wXSBbbmltaVs9YXJ2b10gLi4uIF0iCisKKyM6IGJ1aWx0aW5zLmM6NDcKK21zZ2lkICJ1bmFsaWFzIFstYV0gbmFtZSBbbmFtZSAuLi5dIgorbXNnc3RyICJ1bmFsaWFzIFstYV0gbmltaSBbbmltaSAuLi5dIgorCisjOiBidWlsdGlucy5jOjUxCittc2dpZCAiIgorImJpbmQgWy1scHZzUFZTXSBbLW0ga2V5bWFwXSBbLWYgZmlsZW5hbWVdIFstcSBuYW1lXSBbLXUgbmFtZV0gWy1yIGtleXNlcV0gWy0iCisieCBrZXlzZXE6c2hlbGwtY29tbWFuZF0gW2tleXNlcTpyZWFkbGluZS1mdW5jdGlvbiBvciByZWFkbGluZS1jb21tYW5kXSIKK21zZ3N0ciAiIgorImJpbmQgWy1scHZzUFZTXSBbLW0gbsOkcHDDpGlua2FydHRhXSBbLWYgdGllZG9zdG9uaW1pXSBbLXEgbmltaV0gWy11IG5pbWldIFstciAiCisibsOkcHDDpGluc2FyamFdIFsteCBuw6RwcMOkaW5zYXJqYTprb21lbnRvXSBbbsOkcHDDpGluc2FyamE6cmVhZGxpbmUtZnVua3RpbyB0YWkgIgorInJlYWRsaW5lLWtvbWVudG9dIgorCisjOiBidWlsdGlucy5jOjU0Cittc2dpZCAiYnJlYWsgW25dIgorbXNnc3RyICJicmVhayBbbl0iCisKKyM6IGJ1aWx0aW5zLmM6NTYKK21zZ2lkICJjb250aW51ZSBbbl0iCittc2dzdHIgImNvbnRpbnVlIFtuXSIKKworIzogYnVpbHRpbnMuYzo1OAorbXNnaWQgImJ1aWx0aW4gW3NoZWxsLWJ1aWx0aW4gW2FyZyAuLi5dXSIKK21zZ3N0ciAiYnVpbHRpbiBbc2lzw6TDpG5yYWtlbm5ldHR1IGtvbWVudG8gW2FyZyAuLi5dXSIKKworIzogYnVpbHRpbnMuYzo2MQorbXNnaWQgImNhbGxlciBbZXhwcl0iCittc2dzdHIgImNhbGxlciBbZXhwcl0iCisKKyM6IGJ1aWx0aW5zLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCittc2dzdHIgImNkIFstTHwtUF0gW2Rpcl0iCisKKyM6IGJ1aWx0aW5zLmM6NjYKK21zZ2lkICJwd2QgWy1MUF0iCittc2dzdHIgInB3ZCBbLUxQXSIKKworIzogYnVpbHRpbnMuYzo2OAorbXNnaWQgIjoiCittc2dzdHIgIjoiCisKKyM6IGJ1aWx0aW5zLmM6NzAKK21zZ2lkICJ0cnVlIgorbXNnc3RyICJ0cnVlIgorCisjOiBidWlsdGlucy5jOjcyCittc2dpZCAiZmFsc2UiCittc2dzdHIgImZhbHNlIgorCisjOiBidWlsdGlucy5jOjc0Cittc2dpZCAiY29tbWFuZCBbLXBWdl0gY29tbWFuZCBbYXJnIC4uLl0iCittc2dzdHIgImNvbW1hbmQgWy1wVnZdIGtvbWVudG8gW2FyZyAuLi5dIgorCisjOiBidWlsdGlucy5jOjc2CisjLCBmdXp6eQorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCittc2dzdHIgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtuaWVtaVs9YXJ2b10gLi4uXSIKKworIzogYnVpbHRpbnMuYzo3OAorIywgZnV6enkKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKK21zZ3N0ciAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmltaVs9YXJ2b10gLi4uIgorCisjOiBidWlsdGlucy5jOjgwCittc2dpZCAibG9jYWwgW29wdGlvbl0gbmFtZVs9dmFsdWVdIC4uLiIKK21zZ3N0ciAibG9jYWwgW3ZhbGl0c2luXSBuaW1pWz1hcnZvXSAuLi4iCisKKyM6IGJ1aWx0aW5zLmM6ODMKK21zZ2lkICJlY2hvIFstbmVFXSBbYXJnIC4uLl0iCittc2dzdHIgImVjaG8gWy1uZUVdIFthcmcgLi4uXSIKKworIzogYnVpbHRpbnMuYzo4NworbXNnaWQgImVjaG8gWy1uXSBbYXJnIC4uLl0iCittc2dzdHIgImVjaG8gWy1uXSBbYXJnIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6OTAKK21zZ2lkICJlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmaWxlbmFtZV0gW25hbWUgLi4uXSIKK21zZ3N0ciAiZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYgdGllZG9zdG9dIFtuaW1pIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6OTIKK21zZ2lkICJldmFsIFthcmcgLi4uXSIKK21zZ3N0ciAiZXZhbCBbYXJnIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6OTQKK21zZ2lkICJnZXRvcHRzIG9wdHN0cmluZyBuYW1lIFthcmddIgorbXNnc3RyICJnZXRvcHRzIHZhbGl0c2lubWVya2l0IG5pbWkgW2FyZ10iCisKKyM6IGJ1aWx0aW5zLmM6OTYKK21zZ2lkICJleGVjIFstY2xdIFstYSBuYW1lXSBbY29tbWFuZCBbYXJndW1lbnRzIC4uLl1dIFtyZWRpcmVjdGlvbiAuLi5dIgorbXNnc3RyICJleGVjIFstY2xdIFstYSBuaW1pXSBba29tZW50byBbYXJndW1lbnRpdCAuLi5dXSBbdXVkZWxsZWVub2hqYXVzIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6OTgKK21zZ2lkICJleGl0IFtuXSIKK21zZ3N0ciAiZXhpdCBbbl0iCisKKyM6IGJ1aWx0aW5zLmM6MTAwCittc2dpZCAibG9nb3V0IFtuXSIKK21zZ3N0ciAibG9wZXR1cyBbbl0iCisKKyM6IGJ1aWx0aW5zLmM6MTAzCittc2dpZCAiZmMgWy1lIGVuYW1lXSBbLWxucl0gW2ZpcnN0XSBbbGFzdF0gb3IgZmMgLXMgW3BhdD1yZXBdIFtjb21tYW5kXSIKK21zZ3N0ciAiIgorImZjIFstZSBlLW5pbWldIFstbG5yXSBbZW5zaW1tw6RpbmVuXSBbdmlpbWVpbmVuXSB0YWkgZmMgLXMgW3BhdD1yZXBdIFtrb21lbnRvXSIKKworIzogYnVpbHRpbnMuYzoxMDcKK21zZ2lkICJmZyBbam9iX3NwZWNdIgorbXNnc3RyICJmZyBbdHnDtnR1bm5pc3RlXSIKKworIzogYnVpbHRpbnMuYzoxMTEKK21zZ2lkICJiZyBbam9iX3NwZWMgLi4uXSIKK21zZ3N0ciAiYmcgW3R5w7Z0dW5uaXN0ZSAuLi5dIgorCisjOiBidWlsdGlucy5jOjExNAorbXNnaWQgImhhc2ggWy1scl0gWy1wIHBhdGhuYW1lXSBbLWR0XSBbbmFtZSAuLi5dIgorbXNnc3RyICJoYXNoIFstbHJdIFstcCBwb2xrdV0gWy1kdF0gW25pbWkgLi4uXSIKKworIzogYnVpbHRpbnMuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKK21zZ3N0ciAiaGVscCBbLWRzXSBbbWFsbGluZSAuLi5dIgorCisjOiBidWlsdGlucy5jOjEyMQorbXNnaWQgIiIKKyJoaXN0b3J5IFstY10gWy1kIG9mZnNldF0gW25dIG9yIGhpc3RvcnkgLWFucncgW2ZpbGVuYW1lXSBvciBoaXN0b3J5IC1wcyBhcmcgIgorIlthcmcuLi5dIgorbXNnc3RyICIiCisiaGlzdG9yeSBbLWNdIFstZCBlcm90dXNdIFtuXSB0YWkgaGlzdG9yeSAtYW5ydyBbdGllZG9zdG9dIG9yIGhpc3RvcnkgLXBzIGFyZyAiCisiW2FyZy4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTI1Cittc2dpZCAiam9icyBbLWxucHJzXSBbam9ic3BlYyAuLi5dIG9yIGpvYnMgLXggY29tbWFuZCBbYXJnc10iCittc2dzdHIgImpvYnMgWy1sbnByc10gW3R5w7Z0dW5uaXN0ZSAuLi5dIHRhaSBqb2JzIC14IGtvbWVudG8gW2FyZ3NdIgorCisjOiBidWlsdGlucy5jOjEyOQorbXNnaWQgImRpc293biBbLWhdIFstYXJdIFtqb2JzcGVjIC4uLl0iCittc2dzdHIgImRpc293biBbLWhdIFstYXJdIFt0ecO2dHVubmlzdGUgLi4uXSIKKworIzogYnVpbHRpbnMuYzoxMzIKK21zZ2lkICIiCisia2lsbCBbLXMgc2lnc3BlYyB8IC1uIHNpZ251bSB8IC1zaWdzcGVjXSBwaWQgfCBqb2JzcGVjIC4uLiBvciBraWxsIC1sICIKKyJbc2lnc3BlY10iCittc2dzdHIgIiIKKyJraWxsIFstcyBzaWduYWFsaXR1bm5pc3RlIHwgLW4gc2lnbmFhbGludW1lcm8gfCAtc2lnbmFhbGltw6TDpHJpdGVdIHByb3Nlc3NpLSIKKyJpZCB8IHR5w7Z0dW5uaXN0ZSAuLi4gdGFpIGtpbGwgLWwgW3NpZ25hYWxpbcOkw6RyaXRlXSIKKworIzogYnVpbHRpbnMuYzoxMzQKK21zZ2lkICJsZXQgYXJnIFthcmcgLi4uXSIKK21zZ3N0ciAibGV0IGFyZyBbYXJnIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTM2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCisicHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorbXNnc3RyICIiCisicmVhZCBbLWVyc10gWy1hIHRhdWx1a2tvXSBbLWQgZXJvdGluXSBbLWkgdGVrc3RpXSBbLW4gbGttXSBbLXAga2Vob3RlXSBbLXQgIgorImFpa2FrYXRrYWlzdV0gWy11IHRpZWRvc3Rva2FodmFdIFtuaW1pIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTM4Cittc2dpZCAicmV0dXJuIFtuXSIKK21zZ3N0ciAicmV0dXJuIFtuXSIKKworIzogYnVpbHRpbnMuYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCittc2dzdHIgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIHZhbGl0c2lubmltaV0gW2FyZyAuLi5dIgorCisjOiBidWlsdGlucy5jOjE0MgorbXNnaWQgInVuc2V0IFstZl0gWy12XSBbbmFtZSAuLi5dIgorbXNnc3RyICJ1bnNldCBbLWZdIFstdl0gW25pbWkgLi4uXSIKKworIzogYnVpbHRpbnMuYzoxNDQKK21zZ2lkICJleHBvcnQgWy1mbl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIGV4cG9ydCAtcCIKK21zZ3N0ciAiZXhwb3J0IFstZm5dIFtuaW1pWz1hcnZvXSAuLi5dIHRhaSBleHBvcnQgLXAiCisKKyM6IGJ1aWx0aW5zLmM6MTQ2CisjLCBmdXp6eQorbXNnaWQgInJlYWRvbmx5IFstYUFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCittc2dzdHIgInJlYWRvbmx5IFstYWZdIFtuaW1pWz1hcnZvXSAuLi5dIHRhaSByZWFkb25seSAtcCIKKworIzogYnVpbHRpbnMuYzoxNDgKK21zZ2lkICJzaGlmdCBbbl0iCittc2dzdHIgInNoaWZ0IFtuXSIKKworIzogYnVpbHRpbnMuYzoxNTAKK21zZ2lkICJzb3VyY2UgZmlsZW5hbWUgW2FyZ3VtZW50c10iCittc2dzdHIgInNvdXJjZSB0aWVkb3N0byBbYXJndW1lbnRpdF0iCisKKyM6IGJ1aWx0aW5zLmM6MTUyCittc2dpZCAiLiBmaWxlbmFtZSBbYXJndW1lbnRzXSIKK21zZ3N0ciAiLiB0aWVkb3N0byBbYXJndW1lbnRpdF0iCisKKyM6IGJ1aWx0aW5zLmM6MTU1Cittc2dpZCAic3VzcGVuZCBbLWZdIgorbXNnc3RyICJzdXNwZW5kIFstZl0iCisKKyM6IGJ1aWx0aW5zLmM6MTU4Cittc2dpZCAidGVzdCBbZXhwcl0iCittc2dzdHIgInRlc3QgW2xhdXNla2VdIgorCisjOiBidWlsdGlucy5jOjE2MAorbXNnaWQgIlsgYXJnLi4uIF0iCittc2dzdHIgIlsgYXJnLi4uIF0iCisKKyM6IGJ1aWx0aW5zLmM6MTYyCittc2dpZCAidGltZXMiCittc2dzdHIgInRpbWVzIgorCisjOiBidWlsdGlucy5jOjE2NAorbXNnaWQgInRyYXAgWy1scF0gW1thcmddIHNpZ25hbF9zcGVjIC4uLl0iCittc2dzdHIgInRyYXAgWy1scF0gW1thcmddIHNpZ25hYWxpbcOkw6RyaXRlIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTY2Cittc2dpZCAidHlwZSBbLWFmcHRQXSBuYW1lIFtuYW1lIC4uLl0iCittc2dzdHIgInR5cGUgWy1hZnB0UF0gbmltaSBbbmltaSAuLi5dIgorCisjOiBidWlsdGlucy5jOjE2OQorbXNnaWQgInVsaW1pdCBbLVNIYWNkZWZpbG1ucHFyc3R1dnhdIFtsaW1pdF0iCittc2dzdHIgInVsaW1pdCBbLVNIYWNkZWZpbG1ucHFyc3R1dnhdIFtyYWphXSIKKworIzogYnVpbHRpbnMuYzoxNzIKK21zZ2lkICJ1bWFzayBbLXBdIFstU10gW21vZGVdIgorbXNnc3RyICJ1bWFzayBbLXBdIFstU10gW3RpbGFdIgorCisjOiBidWlsdGlucy5jOjE3NQorbXNnaWQgIndhaXQgW2lkXSIKK21zZ3N0ciAid2FpdCBbaWRdIgorCisjOiBidWlsdGlucy5jOjE3OQorbXNnaWQgIndhaXQgW3BpZF0iCittc2dzdHIgIndhaXQgW3BpZF0iCisKKyM6IGJ1aWx0aW5zLmM6MTgyCittc2dpZCAiZm9yIE5BTUUgW2luIFdPUkRTIC4uLiBdIDsgZG8gQ09NTUFORFM7IGRvbmUiCittc2dzdHIgImZvciBOSU1JIFtpbiBBUlZPVCAuLi4gXSA7IGRvIEtPTUVOTk9UOyBkb25lIgorCisjOiBidWlsdGlucy5jOjE4NAorbXNnaWQgImZvciAoKCBleHAxOyBleHAyOyBleHAzICkpOyBkbyBDT01NQU5EUzsgZG9uZSIKK21zZ3N0ciAiZm9yICgoIGxhdXNlMTsgbGF1c2UyOyBsYXVzZTMgKSk7IGRvIEtPTUVOTk9UOyBkb25lIgorCisjOiBidWlsdGlucy5jOjE4NgorbXNnaWQgInNlbGVjdCBOQU1FIFtpbiBXT1JEUyAuLi4gO10gZG8gQ09NTUFORFM7IGRvbmUiCittc2dzdHIgInNlbGVjdCBOSU1JIFtpbiBBUlZPVCAuLi4gO10gZG8gS09NRU5OT1Q7IGRvbmUiCisKKyM6IGJ1aWx0aW5zLmM6MTg4Cittc2dpZCAidGltZSBbLXBdIHBpcGVsaW5lIgorbXNnc3RyICJ0aW1lIFstcF0ga29tZW50b3B1dGtpIgorCisjOiBidWlsdGlucy5jOjE5MAorbXNnaWQgImNhc2UgV09SRCBpbiBbUEFUVEVSTiBbfCBQQVRURVJOXS4uLikgQ09NTUFORFMgOztdLi4uIGVzYWMiCittc2dzdHIgImNhc2UgU0FOQSBpbiBbTUFMTElORSBbfCBNQUxMSU5FXS4uLikgS09NRU5OT1QgOztdLi4uIGVzYWMiCisKKyM6IGJ1aWx0aW5zLmM6MTkyCittc2dpZCAiIgorImlmIENPTU1BTkRTOyB0aGVuIENPTU1BTkRTOyBbIGVsaWYgQ09NTUFORFM7IHRoZW4gQ09NTUFORFM7IF0uLi4gWyBlbHNlICIKKyJDT01NQU5EUzsgXSBmaSIKK21zZ3N0ciAiIgorImlmIEtPTUVOTk9UOyB0aGVuIEtPTUVOTk9UOyBbIGVsaWYgS09NRU5OT1Q7IHRoZW4gS09NRU5OT1Q7IF0uLi4gWyBlbHNlICIKKyJLT01FTk5PVDsgXSBmaSIKKworIzogYnVpbHRpbnMuYzoxOTQKK21zZ2lkICJ3aGlsZSBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUiCittc2dzdHIgIndoaWxlIEtPTUVOTk9UOyBkbyBLT01FTk5PVDsgZG9uZSIKKworIzogYnVpbHRpbnMuYzoxOTYKK21zZ2lkICJ1bnRpbCBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUiCittc2dzdHIgInVudGlsIEtPTUVOTk9UOyBkbyBLT01FTk5PVDsgZG9uZSIKKworIzogYnVpbHRpbnMuYzoxOTgKK21zZ2lkICJjb3Byb2MgW05BTUVdIGNvbW1hbmQgW3JlZGlyZWN0aW9uc10iCittc2dzdHIgImNvcHJvYyBbTklNSV0ga29tZW50byBbdXVkZWxsZWVub2hqYXVrc2V0XSIKKworIzogYnVpbHRpbnMuYzoyMDAKK21zZ2lkICJmdW5jdGlvbiBuYW1lIHsgQ09NTUFORFMgOyB9IG9yIG5hbWUgKCkgeyBDT01NQU5EUyA7IH0iCittc2dzdHIgImZ1bmN0aW9uIG5pbWkgeyBLT01FTk5PVCA7IH0gdGFpIG5pbWkgKCkgeyBLT01FTk5PVCA7IH0iCisKKyM6IGJ1aWx0aW5zLmM6MjAyCittc2dpZCAieyBDT01NQU5EUyA7IH0iCittc2dzdHIgInsgS09NRU5OT1QgOyB9IgorCisjOiBidWlsdGlucy5jOjIwNAorbXNnaWQgImpvYl9zcGVjIFsmXSIKK21zZ3N0ciAidHnDtnR1bm5pc3RlIFsmXSIKKworIzogYnVpbHRpbnMuYzoyMDYKK21zZ2lkICIoKCBleHByZXNzaW9uICkpIgorbXNnc3RyICIoKCBsYXVzZWtlICkpIgorCisjOiBidWlsdGlucy5jOjIwOAorbXNnaWQgIltbIGV4cHJlc3Npb24gXV0iCittc2dzdHIgIltbIGxhdXNla2UgXV0iCisKKyM6IGJ1aWx0aW5zLmM6MjEwCittc2dpZCAidmFyaWFibGVzIC0gTmFtZXMgYW5kIG1lYW5pbmdzIG9mIHNvbWUgc2hlbGwgdmFyaWFibGVzIgorbXNnc3RyICJtdXV0dHVqYXQgLSBlcsOkaWRlbiBrb21lbnRvdHVsa2luIG11dXR0dWppZW4gbmltZXQgamEgbWVya2l0eWtzZXQiCisKKyM6IGJ1aWx0aW5zLmM6MjEzCittc2dpZCAicHVzaGQgWy1uXSBbK04gfCAtTiB8IGRpcl0iCittc2dzdHIgInB1c2hkIFstbl0gWytOIHwgLU4gfCBoYWtlbWlzdG9dIgorCisjOiBidWlsdGlucy5jOjIxNworbXNnaWQgInBvcGQgWy1uXSBbK04gfCAtTl0iCittc2dzdHIgInBvcGQgWy1uXSBbK04gfCAtTl0iCisKKyM6IGJ1aWx0aW5zLmM6MjIxCittc2dpZCAiZGlycyBbLWNscHZdIFsrTl0gWy1OXSIKK21zZ3N0ciAiZGlycyBbLWNscHZdIFsrTl0gWy1OXSIKKworIzogYnVpbHRpbnMuYzoyMjQKK21zZ2lkICJzaG9wdCBbLXBxc3VdIFstb10gW29wdG5hbWUgLi4uXSIKK21zZ3N0ciAic2hvcHQgWy1wcXN1XSBbLW9dIFt2YWxpdHNpbm5pbWkgLi4uXSIKKworIzogYnVpbHRpbnMuYzoyMjYKK21zZ2lkICJwcmludGYgWy12IHZhcl0gZm9ybWF0IFthcmd1bWVudHNdIgorbXNnc3RyICJwcmludGYgWy12IG11dXR0dWphXSBtdW90byBbYXJndW1lbnRpdF0iCisKKyM6IGJ1aWx0aW5zLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstIgorIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgorInN1ZmZpeF0gW25hbWUgLi4uXSIKK21zZ3N0ciAiIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gdmFsaXRzaW5dIFstQSB0b2ltZW5waWRlXSBbLUcgIgorImpva2VyaW1hbGxpbmVdIFstVyBzYW5hbGlzdGFdICBbLUYgZnVua3Rpb10gWy1DIGtvbWVudG9dIFstWCAiCisic3VvZGF0aW5tYWxsaW5lXSBbLVAgcHJlZmlrc2ldIFstUyBzdWZmaWtzaV0gW25pbWkuLi5dIgorCisjOiBidWlsdGlucy5jOjIzMworbXNnaWQgIiIKKyJjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8gb3B0aW9uXSAgWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyB3b3JkbGlzdF0gICIKKyJbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbd29yZF0iCittc2dzdHIgIiIKKyJjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8gdmFsaXRzaW5dICBbLUEgdG9pbWVucGlkZV0gWy1HIGpva2VyaW1hbGxpbmVdIFstIgorIlcgc2FuYWxpc3RhXSAgWy1GIGZ1bmt0aW9dIFstQyBrb21lbnRvXSBbLVggc3VvZGF0aW5tYWxsaW5lXSBbLVAgcHJlZmlrc2ldIFstIgorIlMgc3VmZmlrc2ldIFtzYW5hXSIKKworIzogYnVpbHRpbnMuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgorbXNnc3RyICJjb21wb3B0IFstb3wrbyB2YWxpdHNpbl0gW25pbWkgLi4uXSIKKworIzogYnVpbHRpbnMuYzoyNDAKK21zZ2lkICIiCisibWFwZmlsZSBbLW4gY291bnRdIFstTyBvcmlnaW5dIFstcyBjb3VudF0gWy10XSBbLXUgZmRdIFstQyBjYWxsYmFja10gWy1jICIKKyJxdWFudHVtXSBbYXJyYXldIgorbXNnc3RyICIiCisibWFwZmlsZSBbLW4gbHVrdW3DpMOkcsOkXSBbLU8gYWxrdXBlcsOkXSBbLXMgbGFza3VyaV0gWy10XSBbLXUgdGllZG9zdG9rYWh2YV0gXG4iCisiWy1DIHBhbHV1a3V0c3VdIFstYyBtw6TDpHLDpF0gW3RhdWx1a2tvXSIKKworIzogYnVpbHRpbnMuYzoyNDIKK21zZ2lkICIiCisicmVhZGFycmF5IFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgorInF1YW50dW1dIFthcnJheV0iCittc2dzdHIgIiIKKyJyZWFkYXJyYXkgWy1uIGx1a3Vtw6TDpHLDpF0gWy1PIGFsa3VwZXLDpF0gWy1zIGxhc2t1cmldIFstdF0gWy11ICIKKyJ0aWVkb3N0b2thaHZhXSBcbiIKKyJbLUMgcGFsdXVrdXRzdV0gWy1jIG3DpMOkcsOkXSBbdGF1bHVra29dIgorCisjOiBidWlsdGlucy5jOjI1NAorbXNnaWQgIiIKKyJEZWZpbmUgb3IgZGlzcGxheSBhbGlhc2VzLlxuIgorIiAgICBcbiIKKyIgICAgV2l0aG91dCBhcmd1bWVudHMsIGBhbGlhcycgcHJpbnRzIHRoZSBsaXN0IG9mIGFsaWFzZXMgaW4gdGhlIHJldXNhYmxlXG4iCisiICAgIGZvcm0gYGFsaWFzIE5BTUU9VkFMVUUnIG9uIHN0YW5kYXJkIG91dHB1dC5cbiIKKyIgICAgXG4iCisiICAgIE90aGVyd2lzZSwgYW4gYWxpYXMgaXMgZGVmaW5lZCBmb3IgZWFjaCBOQU1FIHdob3NlIFZBTFVFIGlzIGdpdmVuLlxuIgorIiAgICBBIHRyYWlsaW5nIHNwYWNlIGluIFZBTFVFIGNhdXNlcyB0aGUgbmV4dCB3b3JkIHRvIGJlIGNoZWNrZWQgZm9yXG4iCisiICAgIGFsaWFzIHN1YnN0aXR1dGlvbiB3aGVuIHRoZSBhbGlhcyBpcyBleHBhbmRlZC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLXBcdFByaW50IGFsbCBkZWZpbmVkIGFsaWFzZXMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBhbGlhcyByZXR1cm5zIHRydWUgdW5sZXNzIGEgTkFNRSBpcyBzdXBwbGllZCBmb3Igd2hpY2ggbm8gYWxpYXMgaGFzICIKKyJiZWVuXG4iCisiICAgIGRlZmluZWQuIgorbXNnc3RyICIiCisiTsOkeXTDpCB0YWkgbcOkw6RyaXR0ZWxlIGFsaWFrc2lhLlxuIgorIiAgICBcbiIKKyIgICAgSWxtYW4gYWxpYWtzaWEg4oCdYWxpYXPigJ0gdHVsb3N0YWEgdmFraW90dWxvc3RlZXNlZW4gbGlzdGFuIGFsaWFrc2lzdGEgXG4iCisiICAgIGh5w7ZkeW5uZXR0w6R2w6Rzc8OkIG11b2Rvc3NhIOKAnWFsaWFzIE5JTUk9QVJWT+KAnS5cbiIKKyIgICAgXG4iCisiICAgIE11dXNzYSB0YXBhdWtzZXNzYSBsdW9kYWFuIHV1c2kgYWxpYXMgam9rYWlzZWxsZSBOSU1FTExFLFxuIgorIiAgICBqb25rYSBBUlZPIG9uIGFubmV0dHUuIEFSVk9OIGrDpGxrZWluZW4gdHloasOkIHRhcmthc3RldGFhblxuIgorIiAgICBhbGlhcy1rb3J2YXVrc2VuIHZhcmFsdGEgYWxpYXN0YSBsYWFqZW5uZXR0YWVzc2EuXG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC1wXHR0dWxvc3RhIGthaWtraSBtw6TDpHJpdGVsbHl0IGFsaWFrc2V0IGh5w7ZkeW5uZXR0w6R2w6Rzc8OkXG4iCisiICAgICAgXHRtdW9kb3NzYS5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgYWxpYXMgcGFsYXV0dGFhIGFydm9uIHRvc2ksIG1pa8OkbGkgcGFyYW1ldHJpa3NpIG9uIGFubmV0dHUgTklNSSBqb25rYVxuIgorIiAgICBhbGlhc3RhIGVpIG9sZSBtw6TDpHJpdGVsdHkuIgorCisjOiBidWlsdGlucy5jOjI3NgorbXNnaWQgIiIKKyJSZW1vdmUgZWFjaCBOQU1FIGZyb20gdGhlIGxpc3Qgb2YgZGVmaW5lZCBhbGlhc2VzLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtYVx0cmVtb3ZlIGFsbCBhbGlhcyBkZWZpbml0aW9ucy5cbiIKKyIgICAgXG4iCisiICAgIFJldHVybiBzdWNjZXNzIHVubGVzcyBhIE5BTUUgaXMgbm90IGFuIGV4aXN0aW5nIGFsaWFzLiIKK21zZ3N0ciAiIgorIlBvaXN0YSBrdWtpbiBOSU1JIG3DpMOkcml0ZWx0eWplbiBhbGlhc3RlbiBsaXN0YXN0YS5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWFcdHBvaXN0YSBrYWlra2kgYWxpYXNtw6TDpHJpdHlrc2V0LlxuIgorIiAgICBcbiIKKyIgICAgUGFsYXV0dGFhIGFydm9uIHRvc2kgcGFpdHNpIGpvcyBOSU1JLW5pbWlzdMOkIGFsaWFzdGFcbiIKKyIgICAgZWkgb2xlLiIKKworIzogYnVpbHRpbnMuYzoyODkKK21zZ2lkICIiCisiU2V0IFJlYWRsaW5lIGtleSBiaW5kaW5ncyBhbmQgdmFyaWFibGVzLlxuIgorIiAgICBcbiIKKyIgICAgQmluZCBhIGtleSBzZXF1ZW5jZSB0byBhIFJlYWRsaW5lIGZ1bmN0aW9uIG9yIGEgbWFjcm8sIG9yIHNldCBhXG4iCisiICAgIFJlYWRsaW5lIHZhcmlhYmxlLiAgVGhlIG5vbi1vcHRpb24gYXJndW1lbnQgc3ludGF4IGlzIGVxdWl2YWxlbnQgdG9cbiIKKyIgICAgdGhhdCBmb3VuZCBpbiB+Ly5pbnB1dHJjLCBidXQgbXVzdCBiZSBwYXNzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4sIGJpbmQgJ1wiXFxDLXhcXEMtclwiOiByZS1yZWFkLWluaXQtZmlsZScuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1tICBrZXltYXAgICAgICAgICBVc2UgS0VZTUFQIGFzIHRoZSBrZXltYXAgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGlzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQuICBBY2NlcHRhYmxlIGtleW1hcCBuYW1lcyBhcmUgZW1hY3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWNzLXN0YW5kYXJkLCBlbWFjcy1tZXRhLCBlbWFjcy1jdGx4LCB2aSwgdmktIgorIm1vdmUsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIHZpLWNvbW1hbmQsIGFuZCB2aS1pbnNlcnQuXG4iCisiICAgICAgLWwgICAgICAgICAgICAgICAgIExpc3QgbmFtZXMgb2YgZnVuY3Rpb25zLlxuIgorIiAgICAgIC1QICAgICAgICAgICAgICAgICBMaXN0IGZ1bmN0aW9uIG5hbWVzIGFuZCBiaW5kaW5ncy5cbiIKKyIgICAgICAtcCAgICAgICAgICAgICAgICAgTGlzdCBmdW5jdGlvbnMgYW5kIGJpbmRpbmdzIGluIGEgZm9ybSB0aGF0IGNhbiBiZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICByZXVzZWQgYXMgaW5wdXQuXG4iCisiICAgICAgLVMgICAgICAgICAgICAgICAgIExpc3Qga2V5IHNlcXVlbmNlcyB0aGF0IGludm9rZSBtYWNyb3MgYW5kIHRoZWlyICIKKyJ2YWx1ZXNcbiIKKyIgICAgICAtcyAgICAgICAgICAgICAgICAgTGlzdCBrZXkgc2VxdWVuY2VzIHRoYXQgaW52b2tlIG1hY3JvcyBhbmQgdGhlaXIgIgorInZhbHVlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBpbiBhIGZvcm0gdGhhdCBjYW4gYmUgcmV1c2VkIGFzIGlucHV0LlxuIgorIiAgICAgIC1WICAgICAgICAgICAgICAgICBMaXN0IHZhcmlhYmxlIG5hbWVzIGFuZCB2YWx1ZXNcbiIKKyIgICAgICAtdiAgICAgICAgICAgICAgICAgTGlzdCB2YXJpYWJsZSBuYW1lcyBhbmQgdmFsdWVzIGluIGEgZm9ybSB0aGF0IGNhblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBiZSByZXVzZWQgYXMgaW5wdXQuXG4iCisiICAgICAgLXEgIGZ1bmN0aW9uLW5hbWUgIFF1ZXJ5IGFib3V0IHdoaWNoIGtleXMgaW52b2tlIHRoZSBuYW1lZCBmdW5jdGlvbi5cbiIKKyIgICAgICAtdSAgZnVuY3Rpb24tbmFtZSAgVW5iaW5kIGFsbCBrZXlzIHdoaWNoIGFyZSBib3VuZCB0byB0aGUgbmFtZWQgIgorImZ1bmN0aW9uLlxuIgorIiAgICAgIC1yICBrZXlzZXEgICAgICAgICBSZW1vdmUgdGhlIGJpbmRpbmcgZm9yIEtFWVNFUS5cbiIKKyIgICAgICAtZiAgZmlsZW5hbWUgICAgICAgUmVhZCBrZXkgYmluZGluZ3MgZnJvbSBGSUxFTkFNRS5cbiIKKyIgICAgICAteCAga2V5c2VxOnNoZWxsLWNvbW1hbmRcdENhdXNlIFNIRUxMLUNPTU1BTkQgdG8gYmUgZXhlY3V0ZWQgd2hlblxuIgorIiAgICBcdFx0XHRcdEtFWVNFUSBpcyBlbnRlcmVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIGJpbmQgcmV0dXJucyAwIHVubGVzcyBhbiB1bnJlY29nbml6ZWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyJBc2V0YSByZWFkbGluZW4gbsOkcHDDpGltaXN0w7ZzaWRvbm5hdCBqYSBtdXV0dHVqYXQuXG4iCisiICAgIFxuIgorIiAgICBTaWRvIG7DpHBww6RpbnloZGlzdGVsbcOkIHJlYWRsaW5lbiBmdW5rdGlvb24gdGFpIG1ha3Jvb24sIHRhaSBcbiIKKyIgICAgYXNldGEgcmVhZGxpbmVuIG11dXR0dWphLiBWYWxpdHNpbWV0b24gYXJndW1lbnR0aXN5bnRha3NpIHZhc3RhYVxuIgorIiAgICB+Ly5pbnB1dHJjOm4sIG11dHRhIG9uIGFubmV0dGF2YSB5aHRlbsOkIGFyZ3VtZW50dGluYTpcbiIKKyIgICAgZXNpbWVya2lrc2ksIGJpbmQgJ1wiXFxDLXhcXEMtclwiOiByZS1yZWFkLWluaXQtZmlsZScuXG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC1tIG7DpHBww6RpbmthcnR0YSAgICAgICAgIGvDpHl0w6QgTsOEUFDDhElOS0FSVFRBQSB0w6Rtw6RuIGtvbWVubm9uIGFqYW4uXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIEh5dsOka3N5dHTDpHZpw6QgbsOkcHDDpGlua2FydHRvamEgb3ZhdCBlbWFjcywgZW1hY3MtIgorInN0YW5kYXJkLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBlbWFjcy1tZXRhLCBlbWFjcy1jbHR4LCB2aSwgdmktbW92ZSwgdmktY29tbWFuZCBqYSAiCisidmktaW5zZXJ0LlxuIgorIiAgICAgIC1sICAgICAgICAgICAgICAgICBMaXN0YWEgZnVua3Rpb2lkZW4gbmltZXRcbiIKKyIgICAgICAtUCAgICAgICAgICAgICAgICAgTGlzdGFhIGZ1bmt0aW9pZGVuIG5pbWV0IGphIHNpZG9ubmF0LlxuIgorIiAgICAgIC1wICAgICAgICAgICAgICAgICBMaXN0YWEgZnVua3Rpb2lkZW4gbmltZXQgamEgc2lkb25uYXQgIgorImh5w7ZkeW5uZXR0w6R2w6Rzc8OkIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBtdW9kb3NzYS5cbiIKKyIgICAgICAtUyAgICAgICAgICAgICAgICAgTGlzdGFhIG1ha3JvdCBoZXLDpHR0w6R2w6R0IG7DpHBww6RpbnloZGlzdGVsbcOkdCBqYSAiCisibmlpZGVuIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBhcnZvdFxuIgorIiAgICAgIC1zICAgICAgICAgICAgICAgICBMaXN0YWEgbWFrcm90IGhlcsOkdHTDpHbDpHQgbsOkcHDDpGlueWhkaXN0ZWxtw6R0IGphICIKKyJuaWlkZW4gXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGFydm90XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGh5w7ZkeW5uZXR0w6R2w6Rzc8OkIG11b2Rvc3NhLlxuIgorIiAgICAgIC1xIGZ1bmt0aW9uLW5pbWkgICBUYXJraXN0YSwgbWl0a8OkIG7DpHBww6RpbWV0IGvDpHlubmlzdMOkdsOkdCBuaW1ldHluIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBmdW5rdGlvbi5cbiIKKyIgICAgICAtdSBmdW5rdGlvbi1uaW1pICAgUG9pc3RhIG5pbWV0dHl5biBmdW5rdGlvb24gdGVoZHl0IG7DpHBww6RpbnNpZG9ubmF0LlxuIgorIiAgICAgIC1yIG7DpHBww6RpbnloZGlzdGVsbcOkIFBvaXN0YSBOw4RQUMOESU5ZSERJU1RFTE3DhE4gc2lkb250YS5cbiIKKyIgICAgICAtZiB0aWVkb3N0byAgICAgICBMdWUgbsOkcHDDpGluc2lkb25uYXQgVElFRE9TVE9TVEEuXG4iCisiICAgICAgLXggbsOkcHDDpGlueWhkaXN0ZWxtw6Q6a29tZW50b1x0a8OkeW5uaXN0w6QgS09NRU5UTyBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgTsOEUFDDhElOWUhESVNURUxNw4RMTMOELlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBiaW5kIHBhbGF1dHRhYSAwIHBhaXRzaSBqb3Mgb24gYW5uZXR0dSB0dW5uaXN0YW1hdG9uIHZhbGl0c2luIHRhaSAiCisidGFwYWh0dXUgXG4iCisiICAgIHZpcmhlLiIKKworIzogYnVpbHRpbnMuYzozMjYKK21zZ2lkICIiCisiRXhpdCBmb3IsIHdoaWxlLCBvciB1bnRpbCBsb29wcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgYSBGT1IsIFdISUxFIG9yIFVOVElMIGxvb3AuICBJZiBOIGlzIHNwZWNpZmllZCwgYnJlYWsgTiBlbmNsb3NpbmdcbiIKKyIgICAgbG9vcHMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgVGhlIGV4aXQgc3RhdHVzIGlzIDAgdW5sZXNzIE4gaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLiIKK21zZ3N0ciAiIgorIkV4aXQgZm9yLCB3aGlsZS0gdGFpIHVudGlsLXNpbG11a29pc3RhXG4iCisiICAgIFxuIgorIiAgICBQb2lzdHUgRk9SLSwgV0hJTEUtIHRhaSBVTlRJTC1zaWxtdWthc3RhLiAgSm9zIE4gb24gYW5uZXR0dSwgcG9pc3R1XG4iCisiICAgIE46c3TDpCBzaXPDpGtrw6Rpc2VzdMOkIHNpbG11a2FzdGEuXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbHV1YXJ2byBvbiAwIGpvbGxlaSBOIG9sZSBzdXVyZW1waSB0YWkgeWh0w6RzdXVyaSBrdWluIDEuIgorCisjOiBidWlsdGlucy5jOjMzOAorbXNnaWQgIiIKKyJSZXN1bWUgZm9yLCB3aGlsZSwgb3IgdW50aWwgbG9vcHMuXG4iCisiICAgIFxuIgorIiAgICBSZXN1bWVzIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB0aGUgZW5jbG9zaW5nIEZPUiwgV0hJTEUgb3IgVU5USUwgbG9vcC5cbiIKKyIgICAgSWYgTiBpcyBzcGVjaWZpZWQsIHJlc3VtZXMgdGhlIE50aCBlbmNsb3NpbmcgbG9vcC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBUaGUgZXhpdCBzdGF0dXMgaXMgMCB1bmxlc3MgTiBpcyBub3QgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIgorbXNnc3RyICIiCisiSmF0a28gZm9yLSwgd2hpbGUgdGFpIHVudGlsLXNpbG11a29pbGxlLlxuIgorIiAgICBcbiIKKyIgICAgSmF0a2FhIHNldXJhYXZhYSBGT1ItLCBXSElMRS0gdGFpIFVOVElMLXNpbG11a2FuIGtpZXJyb3N0YS5cbiIKKyIgICAgSm9zIE4gb24gYW5uZXR0dSwgamF0a2FhIE46dHTDpCBzaWxtdWtrYWEuXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbHV1YXJ2byBvbiAwIGVsbGVpIE4gb2xlIHN1dXJlbXBpIHRhaSB5aHTDpHN1dXJpIGt1aW4gMS4iCisKKyM6IGJ1aWx0aW5zLmM6MzUwCittc2dpZCAiIgorIkV4ZWN1dGUgc2hlbGwgYnVpbHRpbnMuXG4iCisiICAgIFxuIgorIiAgICBFeGVjdXRlIFNIRUxMLUJVSUxUSU4gd2l0aCBhcmd1bWVudHMgQVJHcyB3aXRob3V0IHBlcmZvcm1pbmcgY29tbWFuZFxuIgorIiAgICBsb29rdXAuICBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSB3aXNoIHRvIHJlaW1wbGVtZW50IGEgc2hlbGwgYnVpbHRpblxuIgorIiAgICBhcyBhIHNoZWxsIGZ1bmN0aW9uLCBidXQgbmVlZCB0byBleGVjdXRlIHRoZSBidWlsdGluIHdpdGhpbiB0aGUgIgorImZ1bmN0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIFNIRUxMLUJVSUxUSU4sIG9yIGZhbHNlIGlmIFNIRUxMLUJVSUxUSU4gaXNcbiIKKyIgICAgbm90IGEgc2hlbGwgYnVpbHRpbi4uIgorbXNnc3RyICIiCisiU3Vvcml0YSBrb21lbnRvdHVsa2luIHNpc8Okw6RucmFrZW5uZXR0dWphIGtvbWVudG9qYS5cbiIKKyIgICAgXG4iCisiICAgIFN1b3JpdGEgS09NRU5UTyBhcmd1bWVudGVpbiBBUkdzIGlsbWFuIGtvbWVubm9uIGV0c2ltaXN0w6QuXG4iCisiICAgIFTDpG3DpCBvbiBoecO2ZHlsbGlzdMOkIHNpbGxvaW4sIGt1biBoYWx1YXQgdGVoZMOkIGtvbWVudG90dWxraW4ga29tZW5ub3N0YVxuIgorIiAgICBmdW5rdGlvbiwgbXV0dGEgaGFsdWF0IHN1b3JpdHRhYSBrb21lbm5vbiBmdW5rdGlvc3RhIGvDpHNpbi5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIEtPTUVOTk9OIHBhbHV1YXJ2b24sIHRhaSBlcMOkdG9kZW4gam9zIEtPTUVOVE8gZWkgb2xlXG4iCisiICAgIHNpc8Okw6RucmFrZW5uZXR0dSBrb21lbnRvLiIKKworIzogYnVpbHRpbnMuYzozNjUKK21zZ2lkICIiCisiUmV0dXJuIHRoZSBjb250ZXh0IG9mIHRoZSBjdXJyZW50IHN1YnJvdXRpbmUgY2FsbC5cbiIKKyIgICAgXG4iCisiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyBcIiRsaW5lICRmaWxlbmFtZVwiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisiICAgIFwiJGxpbmUgJHN1YnJvdXRpbmUgJGZpbGVuYW1lXCI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgMCB1bmxlc3MgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBzaGVsbCBmdW5jdGlvbiBvciBFWFBSXG4iCisiICAgIGlzIGludmFsaWQuIgorbXNnc3RyICIiCisiUGFsYXV0YSB0w6Rtw6RuaGV0a2lzZW4gYWxpcnV0aWluaWt1dHN1biBrb250ZWtzdGkuXG4iCisiICAgIFxuIgorIiAgICBJbG1hbiBwYXJhbWV0cmlhLCBwYWxhdXR0YWEg4oCdJGxpbmUgJGZpbGVuYW1l4oCdLiBQYXJhbWV0cmlsbGEgcGFsYXV0dGFhIFxuIgorIiAgICDigJ0kbGluZSAkc3Vicm91dGluZSAkZmlsZW5hbWXigJ07IHNhYXR1YSBsaXPDpHRpZXRvYSB2b2lkYWFuIGvDpHl0dMOkw6QgIgorImt1dHN1cGlub25cbiIKKyIgICAga3V2YWFtaXNla3NpLlxuIgorIiAgICBcbiIKKyIgICAgUGFyYW1ldHJpbiBhcnZvIG3DpMOkcsOkw6QsIG1vbnRha28ga3V0c3VrZWh5c3TDpCB0YWFrc2Vww6RpbiBzaWlycnl0w6TDpG47IFxuIgorIiAgICB5bGluIGtlaHlzIG9uIG51bWVybyAwLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgMCBlbGxlaSBrb21lbnRvdHVsa2tpIG9sZSBmdW5rdGlvbiB1bGtvcHVvbGVsbGEgdGFpIHBhcmFtZXRyaVxuIgorIiAgICBvbiB2aXJoZWVsbGluZW4uIgorCisjOiBidWlsdGlucy5jOjM4MworIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBzaGVsbCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKKyIgICAgXG4iCisiICAgIENoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8gRElSLiAgVGhlIGRlZmF1bHQgRElSIGlzIHRoZSB2YWx1ZSBvZiAiCisidGhlXG4iCisiICAgIEhPTUUgc2hlbGwgdmFyaWFibGUuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFyaWFibGUgQ0RQQVRIIGRlZmluZXMgdGhlIHNlYXJjaCBwYXRoIGZvciB0aGUgZGlyZWN0b3J5ICIKKyJjb250YWluaW5nXG4iCisiICAgIERJUi4gIEFsdGVybmF0aXZlIGRpcmVjdG9yeSBuYW1lcyBpbiBDRFBBVEggYXJlIHNlcGFyYXRlZCBieSBhIGNvbG9uICIKKyIoOikuXG4iCisiICAgIEEgbnVsbCBkaXJlY3RvcnkgbmFtZSBpcyB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBJZiBESVIgIgorImJlZ2luc1xuIgorIiAgICB3aXRoIGEgc2xhc2ggKC8pLCB0aGVuIENEUEFUSCBpcyBub3QgdXNlZC5cbiIKKyIgICAgXG4iCisiICAgIElmIHRoZSBkaXJlY3RvcnkgaXMgbm90IGZvdW5kLCBhbmQgdGhlIHNoZWxsIG9wdGlvbiBgY2RhYmxlX3ZhcnMnIGlzICIKKyJzZXQsXG4iCisiICAgIHRoZSB3b3JkIGlzIGFzc3VtZWQgdG8gYmUgIGEgdmFyaWFibGUgbmFtZS4gIElmIHRoYXQgdmFyaWFibGUgaGFzIGEgIgorInZhbHVlLFxuIgorIiAgICBpdHMgdmFsdWUgaXMgdXNlZCBmb3IgRElSLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAgIC1MXHRmb3JjZSBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZFxuIgorIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgorIiAgICBcdGxpbmtzXG4iCisiICAgICAgICAtZVx0aWYgdGhlIC1QIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iCisiICAgIFx0Y2Fubm90IGJlIGRldGVybWluZWQgc3VjY2Vzc2Z1bGx5LCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXNcbiIKKyIgICAgXG4iCisiICAgIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5ICIKKyJ3aGVuXG4iCisiICAgIC1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCittc2dzdHIgIiIKKyJWYWlodGFhIHR5w7ZoYWtlbWlzdG9hLlxuIgorIiAgICBcbiIKKyIgICAgU2lpcnJ5IGhha2VtaXN0b29uIEhBS0VNSVNUTy4gSEFLRU1JU1RPbiBvbGV0dXNhcnZvIG9uIEhPTUUtXG4iCisiICAgIHltcMOkcmlzdMO2bXV1dHR1amFuIGFydm8uXG4iCisiICAgIFxuIgorIiAgICBDRFBBVEgteW1ww6RyaXN0w7ZtdXV0dHVqYSBtw6TDpHJpdHRlbGVlIGhha3Vwb2x1biBIQUtFTUlTVE9sbGUuICBWYWlodG8tXG4iCisiICAgIGVodG9pc2V0IGhha2VtaXN0b25pbWV0IGVyb3RldGFhbiBDRFBBVGhpc3NhIGtha3NvaXNwaXN0ZWVsbMOkLlxuIgorIiAgICBUeWhqw6QgaGFrZW1pc3RvIHRhcmtvaXR0YWEgbnlreWlzdMOkIGhha2VtaXN0b2EuIEpvcyBIQUtFTUlTVE8gQUxLQUFcbiIKKyIgICAga2F1dHRhdmlpdmFsbGEsIENEUEFUSGlhIGVpIGvDpHl0ZXTDpC5cbiIKKyIgICAgXG4iCisiICAgIEpvcyBoYWtlbWlzdG9hIGVpIGzDtnlkeSwgamEga29tZW50b3R1bGtpbiB2YWxpdHNpbiDigJ1jZGFibGVfdmFyc+KAnSBvbiAiCisiYXNldGV0dHUsXG4iCisiICAgIG9sZXRldGFhbiBoYWtlbWlzdG9uIG9sZXZhbiBtdXV0dHVqYS4gSm9zIGt5c2Vpc2VsbMOkIG11dXR0dWphbGxhIG9uICIKKyJhcnZvLFxuIgorIiAgICBzaXTDpCBrw6R5dGV0w6TDpG4gSEFLRU1JU1RPa3NpLlxuIgorIiAgICBcbiIKKyIgICAgVmFsaXRzaW1ldDpcbiIKKyIgICAgICAgICAtTFx0cGFrb3RhIHNldXJhYW1hYW4gc3ltYm9saXNpYSBsaW5ra2Vqw6RcbiIKKyIgICAgICAgICAtUFx0a8OkeXTDpCBmeXlzaXN0w6QgaGFrZW1pc3RvcmFrZW5uZXR0YSwgw6Rsw6Qgc2V1cmFhIHN5bWJvbGlzaWEgIgorImxpbmtrZWrDpFxuIgorIiAgICBcbiIKKyIgICAgT2xldHVzIG9uIHNldXJhdGEgc3ltYm9saXNpYSBsaW5ra2Vqw6QsIGt1dGVuIGpvcyDigJ0tTOKAnSBvbGlzaSBhbm5ldHR1LlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgMCwgam9zIGhha2VtaXN0b2EgdmFpaGRldHRpaW4sIG5vbGxhc3RhIHBvaWtrZWF2YW4gbXV1c3NhIFxuIgorIiAgICB0YXBhdWtzZXNzYS4iCisKKyM6IGJ1aWx0aW5zLmM6NDE0Cittc2dpZCAiIgorIlByaW50IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtTFx0cHJpbnQgdGhlIHZhbHVlIG9mICRQV0QgaWYgaXQgbmFtZXMgdGhlIGN1cnJlbnQgd29ya2luZ1xuIgorIiAgICBcdGRpcmVjdG9yeVxuIgorIiAgICAgIC1QXHRwcmludCB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5LCB3aXRob3V0IGFueSBzeW1ib2xpYyBsaW5rc1xuIgorIiAgICBcbiIKKyIgICAgQnkgZGVmYXVsdCwgYHB3ZCcgYmVoYXZlcyBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgMCB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgdGhlIGN1cnJlbnQgZGlyZWN0b3J5XG4iCisiICAgIGNhbm5vdCBiZSByZWFkLiIKK21zZ3N0ciAiIgorIlR1bG9zdGFhIHTDpG3DpG5oZXRraXNlbiB0ecO2aGFrZW1pc3Rvbi5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLUxcdHR1bG9zdGEgJFBXRC15bXDDpHJpc3TDtm11dXR0dWphbiBhcnZvIGpvcyBzZSBzaXPDpGx0w6TDpFxuIgorIiAgICBcdG55a3lpc2VuIHR5w7ZoYWtlbWlzdG9uIG5pbWVuXG4iCisiICAgICAgLVBcdHR1bG9zdGEgZnl5c2luZW4gaGFrZW1pc3RvIGlsbWFuIHN5bWJvbGlzaWEgbGlua2tlasOkXG4iCisiICAgIFxuIgorIiAgICBPbGV0dXNhcnZvaXNlc3RpIOKAnXB3ZOKAnSBrw6R5dHTDpHl0eXkga3VpbiDigJ0tTOKAnSBvbGlzaSBhbm5ldHR1LlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgMCBlbGxlaSBvbGUgYW5uZXR0dSB2aXJoZWVsbGlzdMOkIHZhbGl0c2ludGEgdGFpIG55a3lpc3TDpCBcbiIKKyIgICAgaGFrZW1pc3RvYSBlaSB2b2lkYSBsdWtlYS4iCisKKyM6IGJ1aWx0aW5zLmM6NDMxCittc2dpZCAiIgorIk51bGwgY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIE5vIGVmZmVjdDsgdGhlIGNvbW1hbmQgZG9lcyBub3RoaW5nLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIEFsd2F5cyBzdWNjZWVkcy4iCittc2dzdHIgIiIKKyJUeWhqw6Qga29tZW50by5cbiIKKyIgICAgXG4iCisiICAgIEVpIHZhaWt1dHVzdGE7IGtvbWVudG8gZWkgdGVlIG1pdMOkw6RuLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBPbm5pc3R1dSBhaW5hLiIKKworIzogYnVpbHRpbnMuYzo0NDIKK21zZ2lkICIiCisiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKK21zZ3N0ciAiIgorIlBhbGF1dHRhYSBvbm5pc3R1bmVlbiBwYWx1dWFydm9uLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBPbm5pc3R1dSBhaW5hLiIKKworIzogYnVpbHRpbnMuYzo0NTEKK21zZ2lkICIiCisiUmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgQWx3YXlzIGZhaWxzLiIKK21zZ3N0ciAiIgorIlBhbGF1dHRhYSBlcMOkb25uaXN0dW5lZW4gcGFsdXVhcnZvbi5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgRXDDpG9ubmlzdHV1IGFpbmEuIgorCisjOiBidWlsdGlucy5jOjQ2MAorbXNnaWQgIiIKKyJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIFJ1bnMgQ09NTUFORCB3aXRoIEFSR1Mgc3VwcHJlc3NpbmcgIHNoZWxsIGZ1bmN0aW9uIGxvb2t1cCwgb3IgZGlzcGxheVxuIgorIiAgICBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3BlY2lmaWVkIENPTU1BTkRzLiAgQ2FuIGJlIHVzZWQgdG8gaW52b2tlICIKKyJjb21tYW5kc1xuIgorIiAgICBvbiBkaXNrIHdoZW4gYSBmdW5jdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtcFx0dXNlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgUEFUSCB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gZmluZCBhbGwgb2ZcbiIKKyIgICAgXHR0aGUgc3RhbmRhcmQgdXRpbGl0aWVzXG4iCisiICAgICAgLXZcdHByaW50IGEgZGVzY3JpcHRpb24gb2YgQ09NTUFORCBzaW1pbGFyIHRvIHRoZSBgdHlwZScgYnVpbHRpblxuIgorIiAgICAgIC1WXHRwcmludCBhIG1vcmUgdmVyYm9zZSBkZXNjcmlwdGlvbiBvZiBlYWNoIENPTU1BTkRcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQsIG9yIGZhaWx1cmUgaWYgQ09NTUFORCBpcyBub3QgZm91bmQuIgorbXNnc3RyICIiCisiU3Vvcml0dGFhIHlrc2lua2VydGFpc2VuIGtvbWVubm9uIHRhaSBuw6R5dHTDpMOkIHRpZXRvamEga29tZW5ub2lzdGEuXG4iCisiICAgIFxuIgorIiAgICBTdW9yaXR0YWEgS09NRU5OT04gUEFSQU1FVFJFSU4gb2hpdHRhZW4ga29tZW50b3R1bGtpbiBmdW5rdGlvaGF1bixcbiIKKyIgICAgdGFpIG7DpHl0dMOkw6QgdGlldG9qYSBhbm5ldHVpc3RhIEtPTUVOTk9JU1RBLiBWb2lkYWFuIGvDpHl0dMOkw6QgXG4iCisiICAgIGvDpHlubmlzdMOkbcOkw6RuIGtvbWVudG9qYSBsZXZ5bHTDpCBzaWxsb2luLCBrdW4gb24gb2xlbWFzc2Egc2FtYW5uaW1pbmVuXG4iCisiICAgIGZ1bmt0aW8uXG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC1wXHRrw6R5dMOkIFBBVEhpbiBvbGV0dXNhcnZvYSBqb25rYSB0YWF0YWFuIGzDtnl0w6R2w6RuIGthaWtraSAiCisidmFraW90ecO2a2FsdXRcbiIKKyIgICAgICAtdlx0dHVsb3N0YSBLT01FTk5PTiBrdXZhdXMgKGt1dGVuIHNpc8Okw6RucmFrZW5uZXR0dSDigJ10eXBl4oCdLWtvbWVudG8pXG4iCisiICAgICAgLVZcdHR1bG9zdGEgS09NRU5UT0pFTiB5a3NpdHlpc2tvaHRhaXNlbW1hdCBrdXZhdWtzZXRcbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIEtPTUVOTk9OIHBhbHV1YXJ2b24sIHRhaSBlcMOkb25uaXN0dW1pc2VuIGpvcyBLT01FTlRPQSBlaSBcbiIKKyIgICAgbMO2eXR5bnl0LiIKKworIzogYnVpbHRpbnMuYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCisiICAgIFxuIgorIiAgICBEZWNsYXJlIHZhcmlhYmxlcyBhbmQgZ2l2ZSB0aGVtIGF0dHJpYnV0ZXMuICBJZiBubyBOQU1FcyBhcmUgZ2l2ZW4sXG4iCisiICAgIGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlcyBvZiBhbGwgdmFyaWFibGVzLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCisiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKKyIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKKyIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgorIiAgICAgIC1hXHR0byBtYWtlIE5BTUVzIGluZGV4ZWQgYXJyYXlzIChpZiBzdXBwb3J0ZWQpXG4iCisiICAgICAgLUFcdHRvIG1ha2UgTkFNRXMgYXNzb2NpYXRpdmUgYXJyYXlzIChpZiBzdXBwb3J0ZWQpXG4iCisiICAgICAgLWlcdHRvIG1ha2UgTkFNRXMgaGF2ZSB0aGUgYGludGVnZXInIGF0dHJpYnV0ZVxuIgorIiAgICAgIC1sXHR0byBjb252ZXJ0IE5BTUVzIHRvIGxvd2VyIGNhc2Ugb24gYXNzaWdubWVudFxuIgorIiAgICAgIC1yXHR0byBtYWtlIE5BTUVzIHJlYWRvbmx5XG4iCisiICAgICAgLXRcdHRvIG1ha2UgTkFNRXMgaGF2ZSB0aGUgYHRyYWNlJyBhdHRyaWJ1dGVcbiIKKyIgICAgICAtdVx0dG8gY29udmVydCBOQU1FcyB0byB1cHBlciBjYXNlIG9uIGFzc2lnbm1lbnRcbiIKKyIgICAgICAteFx0dG8gbWFrZSBOQU1FcyBleHBvcnRcbiIKKyIgICAgXG4iCisiICAgIFVzaW5nIGArJyBpbnN0ZWFkIG9mIGAtJyB0dXJucyBvZmYgdGhlIGdpdmVuIGF0dHJpYnV0ZS5cbiIKKyIgICAgXG4iCisiICAgIFZhcmlhYmxlcyB3aXRoIHRoZSBpbnRlZ2VyIGF0dHJpYnV0ZSBoYXZlIGFyaXRobWV0aWMgZXZhbHVhdGlvbiAoc2VlXG4iCisiICAgIHRoZSBgbGV0JyBjb21tYW5kKSBwZXJmb3JtZWQgd2hlbiB0aGUgdmFyaWFibGUgaXMgYXNzaWduZWQgYSB2YWx1ZS5cbiIKKyIgICAgXG4iCisiICAgIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBgZGVjbGFyZScgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKKyJgbG9jYWwnXG4iCisiICAgIGNvbW1hbmQuICBUaGUgYC1nJyBvcHRpb24gc3VwcHJlc3NlcyB0aGlzIGJlaGF2aW9yLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorIkFzZXR0YWEgbXV1dHR1amllbiBhcnZvdCBqYSBhdHRyaWJ1dXRpdC5cbiIKKyIgICAgXG4iCisiICAgIE3DpMOkcml0dGVsZSBtdXV0dHVqYXQgamEgYW5uYSBuaWlsbGUgYXR0cmlidXV0aXQuICBKb3MgTklNScOEIGVpIGFubmV0YSxcbiIKKyIgICAgbsOkeXTDpCBrYWlra2llbiBtdXV0dHVqaWVuIGF0dHJpYnV1dGl0IGphIGFydm90LlxuIgorIiAgICBcbiIKKyIgICAgVmFsaXRzaW1ldDpcbiIKKyIgICAgICAtZlx0cmFqYWEgdG9pbWludG8gdGFpIGxpc3RhdXMgZnVua3Rpb2lkZW4gbmltaWluIGphIG3DpMOkcml0eWtzaWluXG4iCisiICAgICAgLUZcdHJhamFhIGxpc3RhdXMgYWlub2FzdGFhbiBmdW5rdGlvaWRlbiBuaW1paW4gKHBsdXMgcml2aW51bWVyb29uIFxuIgorIiAgIFx0ICAgICAgICBqYSBsw6RoZGV0aWVkb3N0b29uIGRlYnVnYXR0YWVzc2EpXG4iCisiICAgICAgLXBcdG7DpHl0w6Qgam9rYWlzZW4gTklNRU4gYXR0cmlidXV0aXQgamEgYXJ2b1xuIgorIiAgICBcbiIKKyIgICAgQXR0cmlidXV0dGVqYSBtdXV0dGF2YXQgdmFsaXRzaW1ldDpcbiIKKyIgICAgICAtYVx0dGVlIE5JTUlTVMOEIGluZGVrc29pZHV0IHRhdWx1a290IChqb3MgdHVldHR1KVxuIgorIiAgICAgIC1BXHR0ZWUgTklNSVNUw4QgYXNzb3NpYXRpaXZpc2V0IHRhdWx1a290IChqb3MgdHVldHR1KVxuIgorIiAgICAgIC1pXHR0ZWUgTklNSVNUw4Qga29rb25haXNsdWt1amFcbiIKKyIgICAgICAtbFx0TklNSUlOIHNpam9pdGV0dXQgbWVya2tpam9ub3QgbXV1dGV0YWFuIHBpZW5hYWtrb3Npa3NpXG4iCisiICAgICAgLXJcdGtpcmpvaXR1c3N1b2phYSBOSU1FVFxuIgorIiAgICAgIC10XHRhc2V0YSBOSU1JRU4g4oCddHJhY2XigJ0tYXR0cmlidXV0dGlcbiIKKyIgICAgICAtdVx0TklNSUlOIHNpam9pdGV0dXQgbWVya2tpam9ub3QgbXV1dGV0YWFuIHN1dXJhYWtrb3Npa3NpXG4iCisiICAgICAgLXhcdE5JTUVUIHZpZWTDpMOkblxuIgorIiAgICBcbiIKKyIgICAgS8OkeXR0w6Rtw6RsbMOkIOKAnSvigJ06YWEg4oCdLeKAnTpuIHNpamFhbiBhbm5ldHR1IGF0dHJpYnV1dHRpIHBvaXN0ZXRhYW4uXG4iCisiICAgIFxuIgorIiAgICBNdXV0dHVqaWxsZSwgam9pbGxlIG9uIGFubmV0dHUga29rb25haXNsdWt1YXR0cmlidXV0dGksIHN1b3JpdGV0YWFuXG4iCisiICAgIGFyaXRtZWV0dGluZW4gZXZhbHVvaW50aSBzaWxsb2luIGt1biBuaWlsbGUgYW5uZXRhYW4gYXJ2byAoa2F0c29cbiIKKyIgICAg4oCdbGV04oCdLWtvbWVudG8pLlxuIgorIiAgICBcbiIKKyIgICAgRnVua3Rpb3NzYSBrw6R5dGV0dMOkZXNzw6Qg4oCdZGVjbGFyZeKAnSB0ZWtlZSBOSU1JU1TDhCBwYWlrYWxsaXNpYSwga3V0ZW4gIgorIuKAnWxvY2Fs4oCdLVxuIgorIiAgICBrb21lbnRvLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW1pc2VuIGVsbGVpIG9sZSBhbm5ldHR1IHZpcmhlZWxsaXN0w6QgdmFsaXRzaW50YSB0YWkgIgorInR1bGUgXG4iCisiICAgIHZpcmhldGlsYW5uZXR0YS4iCisKKyM6IGJ1aWx0aW5zLmM6NTE3Cittc2dpZCAiIgorIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCisiICAgIFxuIgorIiAgICBPYnNvbGV0ZS4gIFNlZSBgaGVscCBkZWNsYXJlJy4iCittc2dzdHIgIiIKKyJBc2V0dGFhIG11dXR0dWppZW4gYXJ2b2phIGphIGF0dHJpYnV1dHRlamEuXG4iCisiICAgIFxuIgorIiAgICBWYW5oZW50dW51dC4gS2F0c28g4oCdaGVscCBkZWNsYXJl4oCdLiIKKworIzogYnVpbHRpbnMuYzo1MjUKK21zZ2lkICIiCisiRGVmaW5lIGxvY2FsIHZhcmlhYmxlcy5cbiIKKyIgICAgXG4iCisiICAgIENyZWF0ZSBhIGxvY2FsIHZhcmlhYmxlIGNhbGxlZCBOQU1FLCBhbmQgZ2l2ZSBpdCBWQUxVRS4gIE9QVElPTiBjYW5cbiIKKyIgICAgYmUgYW55IG9wdGlvbiBhY2NlcHRlZCBieSBgZGVjbGFyZScuXG4iCisiICAgIFxuIgorIiAgICBMb2NhbCB2YXJpYWJsZXMgY2FuIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBmdW5jdGlvbjsgdGhleSBhcmUgdmlzaWJsZVxuIgorIiAgICBvbmx5IHRvIHRoZSBmdW5jdGlvbiB3aGVyZSB0aGV5IGFyZSBkZWZpbmVkIGFuZCBpdHMgY2hpbGRyZW4uXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gZXJyb3Igb2NjdXJzLFxuIgorIiAgICBvciB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uLiIKK21zZ3N0ciAiIgorIk3DpMOkcml0dGVsZSBwYWlrYWxsaXNpYSBtdXV0dHVqaWEuXG4iCisiICAgIFxuIgorIiAgICBMdW8gcGFpa2FsbGluZW4gTklNSS1uaW1pbmVuIG11dXR0dWphLCBqYSBhbm5hIHNpbGxlIGFydm8gQVJWTy4gIgorIlZBTElUU0lOXG4iCisiICAgIHZvaSBvbGxhIG1pa8OkIHRhaGFuc2Ega29tZW5ub24g4oCdZGVjbGFyZeKAnSBoeXbDpGtzeW3DpC5cbiIKKyIgICAgXG4iCisiICAgIFBhaWthbGxpc2lhIG11dXR0dWppYSB2b2lkYWFuIGvDpHl0dMOkw6QgYWlub2FzdGFhbiBmdW5rdGlvc3NhOyBuZSBvdmF0XG4iCisiICAgIG7DpGt5dmnDpCBhaW5vYXN0YWFuIG3DpMOkcml0ZWxsZWVzc8OkIGZ1bmt0aW9zc2EgamEgc2VuIGxhcHNpc3NhLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4sIGVsbGVpIG9sZSBhbm5ldHR1IHZpcmhlZWxsaXN0w6QgdmFsaXRzaW50YSxcbiIKKyIgICAgdGFwYWh0dXUgdmlyaGUgdGFpIGtvbWVudG90dWxra2kgZWkgb2xlIHN1b3JpdHRhbWFzc2EgZnVua3Rpb3RhLiIKKworIzogYnVpbHRpbnMuYzo1NDIKK21zZ2lkICIiCisiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCisiICAgIFxuIgorIiAgICBEaXNwbGF5IHRoZSBBUkdzIG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQgZm9sbG93ZWQgYnkgYSBuZXdsaW5lLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtblx0ZG8gbm90IGFwcGVuZCBhIG5ld2xpbmVcbiIKKyIgICAgICAtZVx0ZW5hYmxlIGludGVycHJldGF0aW9uIG9mIHRoZSBmb2xsb3dpbmcgYmFja3NsYXNoIGVzY2FwZXNcbiIKKyIgICAgICAtRVx0ZXhwbGljaXRseSBzdXBwcmVzcyBpbnRlcnByZXRhdGlvbiBvZiBiYWNrc2xhc2ggZXNjYXBlc1xuIgorIiAgICBcbiIKKyIgICAgYGVjaG8nIGludGVycHJldHMgdGhlIGZvbGxvd2luZyBiYWNrc2xhc2gtZXNjYXBlZCBjaGFyYWN0ZXJzOlxuIgorIiAgICAgIFxcYVx0YWxlcnQgKGJlbGwpXG4iCisiICAgICAgXFxiXHRiYWNrc3BhY2VcbiIKKyIgICAgICBcXGNcdHN1cHByZXNzIGZ1cnRoZXIgb3V0cHV0XG4iCisiICAgICAgXFxlXHRlc2NhcGUgY2hhcmFjdGVyXG4iCisiICAgICAgXFxmXHRmb3JtIGZlZWRcbiIKKyIgICAgICBcXG5cdG5ldyBsaW5lXG4iCisiICAgICAgXFxyXHRjYXJyaWFnZSByZXR1cm5cbiIKKyIgICAgICBcXHRcdGhvcml6b250YWwgdGFiXG4iCisiICAgICAgXFx2XHR2ZXJ0aWNhbCB0YWJcbiIKKyIgICAgICBcXFxcXHRiYWNrc2xhc2hcbiIKKyIgICAgICBcXDBubm5cdHRoZSBjaGFyYWN0ZXIgd2hvc2UgQVNDSUkgY29kZSBpcyBOTk4gKG9jdGFsKS4gIE5OTiBjYW4gYmVcbiIKKyIgICAgXHQwIHRvIDMgb2N0YWwgZGlnaXRzXG4iCisiICAgICAgXFx4SEhcdHRoZSBlaWdodC1iaXQgY2hhcmFjdGVyIHdob3NlIHZhbHVlIGlzIEhIIChoZXhhZGVjaW1hbCkuICBISFxuIgorIiAgICBcdGNhbiBiZSBvbmUgb3IgdHdvIGhleCBkaWdpdHNcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorIktpcmpvaXRhIGFyZ3VtZW50aXQgdmFraW90dWxvc3RlZXNlZW4uXG4iCisiICAgIFxuIgorIiAgICBUdWxvc3RhIEFSR1VNRU5USVQgdmFraW90dWxvc3RlZXNlZW4gcml2aW52YWloZG9pbi5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLW5cdMOkbMOkIGxpc8Okw6Qgcml2aW52YWlodG9hXG4iCisiICAgICAgLWVcdHR1bGtpdHNlIHNldXJhYXZhdCBrZW5vdmlpdmFvaGphdWtzZXRcbiIKKyIgICAgICAtRVx0b2hpdGEga2Vub3ZpaXZhb2hqYXVzdGVuIHR1bGtpbnRhXG4iCisiICAgIFxuIgorIiAgICBcImVjaG9cIiB0dWxraXRzZWUgc2V1cmFhdmF0IGtlbm92aWl2YW9oamF1c21lcmtpdDpcbiIKKyIgICAgICBcXGFcdMOkw6RuaW1lcmtraVxuIgorIiAgICAgIFxcYlx0YmFja3NwYWNlXG4iCisiICAgICAgXFxjXHRrZXNrZXl0w6QgdHVsb3N0dXNcbiIKKyIgICAgICBcXGVcdEVTQy1tZXJra2lcbiIKKyIgICAgICBcXGZcdHNpdnVudmFpaHRvXG4iCisiICAgICAgXFxuXHRyaXZpbnZhaWh0b1xuIgorIiAgICAgIFxcclx0cGFsYXV0aW5cbiIKKyIgICAgICBcXHRcdHNhcmthaW5cbiIKKyIgICAgICBcXHZcdHZlcnRpa2FhbGluZW4gc2Fya2FpblxuIgorIiAgICAgIFxcXFxcdGtlbm92aWl2YVxuIgorIiAgICAgIFxcMG5ublx0bWVya2tpIGpvbmthIEFTQ0lJLWtvb2RpIG9rdGFhbGluYSBvbiBOTk4uIE5OTiB2b2kgb2xsYSAwLTNcbiIKKyIgICAgXHRva3RhYWxpbWVya2tpw6RcbiIKKyIgICAgICBcXHhISFx0a2FoZGVrc2FuYml0dGluZW4gbWVya2tpIGpvbmthIGhla3NhZGVzaW1hYWxpYXJ2byBvbiBISC4gSEggIgorInZvaSBcbiIKKyIgICAgXHRvbGxhIDEtMiBoZWtzYWRlc2ltYWFsaW1lcmtracOkXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSBvbm5pc3R1bmVlbiBlbGxlaSB0YXBhaGR1IHZpcmhldHTDpC4iCisKKyM6IGJ1aWx0aW5zLmM6NTc2Cittc2dpZCAiIgorIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgorIiAgICBcbiIKKyIgICAgRGlzcGxheSB0aGUgQVJHcyBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0IGZvbGxvd2VkIGJ5IGEgbmV3bGluZS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdGRvIG5vdCBhcHBlbmQgYSBuZXdsaW5lXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyJUdWxvc3RhIGFyZ3VtZW50aXQgdmFraW90dWxvc3RlZXNlZW4uXG4iCisiICAgIFxuIgorIiAgICBUdWxvc3RhIEFSR1VNRU5USVQgdmFraW90dWxvc3RlZXNlZW4gcMOkw6R0dMOkZW4gcml2aW52YWloZG9sbGEuXG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC1uXHTDpGzDpCBsaXPDpMOkIHJpdmludmFpaHRvYVxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4gZWxsZWkgdGFwYWhkdSB2aXJoZXR0w6QuIgorCisjOiBidWlsdGlucy5jOjU5MQorbXNnaWQgIiIKKyJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCisiICAgIFxuIgorIiAgICBFbmFibGVzIGFuZCBkaXNhYmxlcyBidWlsdGluIHNoZWxsIGNvbW1hbmRzLiAgRGlzYWJsaW5nIGFsbG93cyB5b3UgdG9cbiIKKyIgICAgZXhlY3V0ZSBhIGRpc2sgY29tbWFuZCB3aGljaCBoYXMgdGhlIHNhbWUgbmFtZSBhcyBhIHNoZWxsIGJ1aWx0aW5cbiIKKyIgICAgd2l0aG91dCB1c2luZyBhIGZ1bGwgcGF0aG5hbWUuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1hXHRwcmludCBhIGxpc3Qgb2YgYnVpbHRpbnMgc2hvd2luZyB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIGVuYWJsZWRcbiIKKyIgICAgICAtblx0ZGlzYWJsZSBlYWNoIE5BTUUgb3IgZGlzcGxheSBhIGxpc3Qgb2YgZGlzYWJsZWQgYnVpbHRpbnNcbiIKKyIgICAgICAtcFx0cHJpbnQgdGhlIGxpc3Qgb2YgYnVpbHRpbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKKyIgICAgICAtc1x0cHJpbnQgb25seSB0aGUgbmFtZXMgb2YgUG9zaXggYHNwZWNpYWwnIGJ1aWx0aW5zXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIGNvbnRyb2xsaW5nIGR5bmFtaWMgbG9hZGluZzpcbiIKKyIgICAgICAtZlx0TG9hZCBidWlsdGluIE5BTUUgZnJvbSBzaGFyZWQgb2JqZWN0IEZJTEVOQU1FXG4iCisiICAgICAgLWRcdFJlbW92ZSBhIGJ1aWx0aW4gbG9hZGVkIHdpdGggLWZcbiIKKyIgICAgXG4iCisiICAgIFdpdGhvdXQgb3B0aW9ucywgZWFjaCBOQU1FIGlzIGVuYWJsZWQuXG4iCisiICAgIFxuIgorIiAgICBUbyB1c2UgdGhlIGB0ZXN0JyBmb3VuZCBpbiAkUEFUSCBpbnN0ZWFkIG9mIHRoZSBzaGVsbCBidWlsdGluXG4iCisiICAgIHZlcnNpb24sIHR5cGUgYGVuYWJsZSAtbiB0ZXN0Jy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGEgc2hlbGwgYnVpbHRpbiBvciBhbiBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisiT3R0YWEga8OkeXR0w7bDtm4gdGFpIHBvaXN0YWEga8OkeXTDtnN0w6Qga29tZW50b3R1bGtpbiBzaXPDpMOkbnJha2VubmV0dHVqYSAiCisia29tZW50b2phLlxuIgorIiAgICBcbiIKKyIgICAgT3R0YWEga8OkeXR0w7bDtm4gdGFpIHBvaXN0YWEga29tZW50b3R1bGtpbiBzaXPDpMOkbnJha2VubmV0dHVqYSBrb21lbnRvamFcbiIKKyIgICAga8OkeXTDtnN0w6QuICBLw6R5dMO2c3TDpHBvaXN0byBzYWxsaWkgc2ludW4ga8OkeXR0w6R2w6RuIHNpc8OkaXNlbiBrb21lbm5vbiAiCisia2Fuc3NhIFxuIgorIiAgICBzYW1hbm5pbWlzacOkLCBsZXZ5bGzDpCBvbGV2aWEga29tZW50b2phIGvDpHl0dMOkbcOkdHTDpCBrb2tvIHBvbGt1YS5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWFcdGxpc3RhYSBrb21lbm5vdCBqYSB0aWVkb3QsIG1pdGvDpCBvbiBvdGV0dHUga8OkeXR0w7bDtm5cbiIKKyIgICAgICAtblx0cG9pc3RhYSBOSU1FVCBrw6R5dMO2c3TDpCB0YWkgbsOkeXR0w6TDpCBsaXN0YW4gcG9pc3RldHVpc3RhXG4iCisiICAgICAgLXBcdHR1bG9zdGEgbGlzdGEga29tZW5ub2lzdGEgaHnDtmR5bm5ldHTDpHbDpHNzw6QgbXVvZG9zc2FcbiIKKyIgICAgICAtc1x0dHVsb3N0YSBhaW5vYXN0YWFuIFBvc2l4LWtvbWVubm90XG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0LCBqb3RrYSBrb250cm9sbG9pdmF0IGR5bmFhbWlzdGEgbGF0YWFtaXN0YTpcbiIKKyIgICAgICAtZlx0bGF0YWEga29tZW50byBOSU1JIGphZXR1c3RhIG9iamVrdGlzdGEgVElFRE9TVE9cbiIKKyIgICAgICAtZFx0cG9pc3RhIC1mOmxsw6QgbGFkYXR0dSBrb21lbnRvXG4iCisiICAgIFxuIgorIiAgICBKb2xsZWkgdmFsaXRzaW1pYSBhbm5ldGEsIGt1a2luIE5JTUkgb3RldGFhbiBrw6R5dHTDtsO2bi5cbiIKKyIgICAgXG4iCisiICAgIEpvcyBoYWx1YXQga8OkeXR0w6TDpCAkUEFUSGlzdGEgbMO2eXR5dsOkw6Qg4oCddGVzdOKAnS1rb21lbnRvYSBzaXPDpMOkbnJha2VubmV0dW5cbiIKKyIgICAgc2lqYWFuLCBraXJqb2l0YSDigJ1lbmFibGUgLW4gdGVzdOKAnS5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIG9ubmlzdHVuZWVuLCBwYWl0c2kgam9zIE5JTUkgZWkgb2xlIGtvbWVudG90dWxraW4gIgorInNpc8Okw6RucmFrZW5uZXR0dVxuIgorIiAgICBrb21lbnRvIHRhaSB0YXBhaHR1dSB2aXJoZS4iCisKKyM6IGJ1aWx0aW5zLmM6NjE5Cittc2dpZCAiIgorIkV4ZWN1dGUgYXJndW1lbnRzIGFzIGEgc2hlbGwgY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIENvbWJpbmUgQVJHcyBpbnRvIGEgc2luZ2xlIHN0cmluZywgdXNlIHRoZSByZXN1bHQgYXMgaW5wdXQgdG8gdGhlICIKKyJzaGVsbCxcbiIKKyIgICAgYW5kIGV4ZWN1dGUgdGhlIHJlc3VsdGluZyBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIGNvbW1hbmQgb3Igc3VjY2VzcyBpZiBjb21tYW5kIGlzIG51bGwuIgorbXNnc3RyICIiCisiU3Vvcml0YSBhcmd1bWVudGl0IGtvbWVudG90dWxraW4ga29tZW50b25hLlxuIgorIiAgICBcbiIKKyIgICAgWWhkaXN0w6QgQVJHVU1FTlRJVCB5aGRla3NpIG1lcmtraWpvbm9rc2ksIGvDpHl0w6QgdHVsb3N0YSBrb21lbnRvdHVsa2luXG4iCisiICAgIHN5w7Z0dGVlbsOkIGphIHN1b3JpdGEgc2FhZHV0IGtvbWVubm90LlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEga29tZW5ub24gcGFsdXVhcnZvbiB0YWkgb25uaXN0dW5lZW4gam9zIGtvbWVudG8gb24gdHloasOkLiIKKworIzogYnVpbHRpbnMuYzo2MzEKK21zZ2lkICIiCisiUGFyc2Ugb3B0aW9uIGFyZ3VtZW50cy5cbiIKKyIgICAgXG4iCisiICAgIEdldG9wdHMgaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICBhcyBvcHRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgT1BUU1RSSU5HIGNvbnRhaW5zIHRoZSBvcHRpb24gbGV0dGVycyB0byBiZSByZWNvZ25pemVkOyBpZiBhIGxldHRlclxuIgorIiAgICBpcyBmb2xsb3dlZCBieSBhIGNvbG9uLCB0aGUgb3B0aW9uIGlzIGV4cGVjdGVkIHRvIGhhdmUgYW4gYXJndW1lbnQsXG4iCisiICAgIHdoaWNoIHNob3VsZCBiZSBzZXBhcmF0ZWQgZnJvbSBpdCBieSB3aGl0ZSBzcGFjZS5cbiIKKyIgICAgXG4iCisiICAgIEVhY2ggdGltZSBpdCBpcyBpbnZva2VkLCBnZXRvcHRzIHdpbGwgcGxhY2UgdGhlIG5leHQgb3B0aW9uIGluIHRoZVxuIgorIiAgICBzaGVsbCB2YXJpYWJsZSAkbmFtZSwgaW5pdGlhbGl6aW5nIG5hbWUgaWYgaXQgZG9lcyBub3QgZXhpc3QsIGFuZFxuIgorIiAgICB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJndW1lbnQgdG8gYmUgcHJvY2Vzc2VkIGludG8gdGhlIHNoZWxsXG4iCisiICAgIHZhcmlhYmxlIE9QVElORC4gIE9QVElORCBpcyBpbml0aWFsaXplZCB0byAxIGVhY2ggdGltZSB0aGUgc2hlbGwgb3JcbiIKKyIgICAgYSBzaGVsbCBzY3JpcHQgaXMgaW52b2tlZC4gIFdoZW4gYW4gb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50LFxuIgorIiAgICBnZXRvcHRzIHBsYWNlcyB0aGF0IGFyZ3VtZW50IGludG8gdGhlIHNoZWxsIHZhcmlhYmxlIE9QVEFSRy5cbiIKKyIgICAgXG4iCisiICAgIGdldG9wdHMgcmVwb3J0cyBlcnJvcnMgaW4gb25lIG9mIHR3byB3YXlzLiAgSWYgdGhlIGZpcnN0IGNoYXJhY3RlclxuIgorIiAgICBvZiBPUFRTVFJJTkcgaXMgYSBjb2xvbiwgZ2V0b3B0cyB1c2VzIHNpbGVudCBlcnJvciByZXBvcnRpbmcuICBJblxuIgorIiAgICB0aGlzIG1vZGUsIG5vIGVycm9yIG1lc3NhZ2VzIGFyZSBwcmludGVkLiAgSWYgYW4gaW52YWxpZCBvcHRpb24gaXNcbiIKKyIgICAgc2VlbiwgZ2V0b3B0cyBwbGFjZXMgdGhlIG9wdGlvbiBjaGFyYWN0ZXIgZm91bmQgaW50byBPUFRBUkcuICBJZiBhXG4iCisiICAgIHJlcXVpcmVkIGFyZ3VtZW50IGlzIG5vdCBmb3VuZCwgZ2V0b3B0cyBwbGFjZXMgYSAnOicgaW50byBOQU1FIGFuZFxuIgorIiAgICBzZXRzIE9QVEFSRyB0byB0aGUgb3B0aW9uIGNoYXJhY3RlciBmb3VuZC4gIElmIGdldG9wdHMgaXMgbm90IGluXG4iCisiICAgIHNpbGVudCBtb2RlLCBhbmQgYW4gaW52YWxpZCBvcHRpb24gaXMgc2VlbiwgZ2V0b3B0cyBwbGFjZXMgJz8nIGludG9cbiIKKyIgICAgTkFNRSBhbmQgdW5zZXRzIE9QVEFSRy4gIElmIGEgcmVxdWlyZWQgYXJndW1lbnQgaXMgbm90IGZvdW5kLCBhICc/J1xuIgorIiAgICBpcyBwbGFjZWQgaW4gTkFNRSwgT1BUQVJHIGlzIHVuc2V0LCBhbmQgYSBkaWFnbm9zdGljIG1lc3NhZ2UgaXNcbiIKKyIgICAgcHJpbnRlZC5cbiIKKyIgICAgXG4iCisiICAgIElmIHRoZSBzaGVsbCB2YXJpYWJsZSBPUFRFUlIgaGFzIHRoZSB2YWx1ZSAwLCBnZXRvcHRzIGRpc2FibGVzIHRoZVxuIgorIiAgICBwcmludGluZyBvZiBlcnJvciBtZXNzYWdlcywgZXZlbiBpZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mXG4iCisiICAgIE9QVFNUUklORyBpcyBub3QgYSBjb2xvbi4gIE9QVEVSUiBoYXMgdGhlIHZhbHVlIDEgYnkgZGVmYXVsdC5cbiIKKyIgICAgXG4iCisiICAgIEdldG9wdHMgbm9ybWFsbHkgcGFyc2VzIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgKCQwIC0gJDkpLCBidXQgaWZcbiIKKyIgICAgbW9yZSBhcmd1bWVudHMgYXJlIGdpdmVuLCB0aGV5IGFyZSBwYXJzZWQgaW5zdGVhZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgYW4gb3B0aW9uIGlzIGZvdW5kOyBmYWlscyBpZiB0aGUgZW5kIG9mIG9wdGlvbnMgaXNcbiIKKyIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorIlNlbGFhIHZhbGl0c2ltaWVuIGFyZ3VtZW50aXQuXG4iCisiICAgIFxuIgorIiAgICBHZXRvcHRzaWEga8OkeXRldMOkw6RuIGtvbWVudG90dWxraW4gcHJvc2VkdXVyZWlzc2Ega8Okc2l0ZWx0w6Rlc3PDpFxuIgorIiAgICBrb21lbnRvcml2aXBhcmFtZXRyZWluYSBhbm5ldHR1amEgdmFsaXRzaW1pYS5cbiIKKyIgICAgXG4iCisiICAgIE9QVFNUUklORyBzaXPDpGx0w6TDpCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbmtpcmphaW1ldDsgam9zIGtpcmphaW50YVxuIgorIiAgICBzZXVyYWEga2Frc29pc3Bpc3RlLCB2YWxpdHNpbWVsbGEgb2RvdGV0YWFuIG9sZXZhbiBhcmd1bWVudHRpLCBqb2thIFxuIgorIiAgICBwaXTDpGlzaSBlcm90dGFhIHNpaXTDpCB0eWhqw6RtZXJraWxsw6QuXG4iCisiICAgIFxuIgorIiAgICBHZXRvcHRzIHNpam9pdHRhYSBqb2thIGt1dHN1a2VycmFsbGEgc2V1cmFhdmFuIHZhbGl0c2ltZW4gbXV1dHR1amFhblxuIgorIiAgICAkbmltaSwgYWx1c3RhZW4gc2VuIHRhcnZpdHRhZXNzYSwgamEgc2V1cmFhdmFuIGvDpHNpdGVsdMOkdsOkbiBhcmd1bWVudGluXG4iCisiICAgIE9QVElORC15bXDDpHJpc3TDtm11dXR0dWphYW4uICBPUFRJTkQgYWx1c3RldGFhbiAxOmtzaSBqb2thaXNlbGxhXG4iCisiICAgIGtvbWVudG90dWxraW4gdGFpIGtvbWVudG90aWVkb3N0b24ga8OkeW5uaXN0eXNrZXJyYWxsYS4gS3VuIHZhbGl0c2luXG4iCisiICAgIHZhYXRpaSBhcmd1bWVudGluLCBnZXRvcHRzIHNpam9pdHRhYSBzZW4gbXV1dHR1amFhbiBPUFRBUkcuXG4iCisiICAgIFxuIgorIiAgICBHZXRvcHRzIGlsbW9pdHRhYSB2aXJoZWlzdMOkIGpvbW1hbGxha3VtbWFsbGEgdGF2YWxsYSBrYWhkZXN0YS4gSm9zXG4iCisiICAgIE9QVFNUUklOR0lOIGVuc2ltbcOkaW5lbiBtZXJra2kgb24ga2Frc29pc3Bpc3RlLCBnZXRvcHRzIGlsbW9pdHRhYVxuIgorIiAgICB2aXJoZWlzdMOkIGhpbGphaXNlc3RpLiBUw6RsbMO2aW4gZWkgdHVsb3N0ZXRhIHZpcmhlaWxtb2l0dXN0YS4gIEpvcyAiCisibMO2eWRldMOkw6RuXG4iCisiICAgIHZpcmhlZWxsaW5lbiB2YWxpdHNpbm1lcmtraSwgc2Ugc2lqb2l0ZXRhYW4gT1BUQVJHSUlOLiBKb3MgdmFhZGl0dHVhXG4iCisiICAgIGFyZ3VtZW50dGlhIGVpIGzDtnlkZXTDpCwgZ2V0b3B0cyBzaWpvaXR0YWEg4oCdOuKAnTpuIE5BTUVFTiBqYSBhc2V0dGFhXG4iCisiICAgIGzDtnlkZXR5biBvcHRpb21lcmtpbiBPUFRBUkdJSU4uIEpvcyBnZXRvcHRzIGVpIG9sZSBoaWxqYWlzZXNzYSB0aWxhc3NhXG4iCisiICAgIGphIGzDtnlkZXTDpMOkbiB2aXJoZWVsbGluZW4gdmFsaXRzaW4sIGdldG9wdHMgc2lqb2l0dGFhIOKAnT/igJ06biBOQU1FRU4gamFcbiIKKyIgICAgdHloamVudMOkw6QgT1BUQVJHSU4uICBKb3MgdmFhZGl0dHVhIGFyZ3VtZW50dGlhIGVpIGzDtnlkZXTDpCwgTkFNRUVOXG4iCisiICAgIHNpam9pdGV0YWFuIOKAnT/igJ0sIE9QVEFSRyB0eWhqZW5uZXTDpMOkbiBqYSB0dWxvc3RldGFhbiB2aXJoZWlsbW9pdHVzLlxuIgorIiAgICBcbiIKKyIgICAgSm9zIE9QVEVSUi15bXDDpHJpc3TDtm11dXR0dWphc3NhIG9uIGFydm8gMCwgZ2V0b3B0cyBqw6R0dMOkw6QgIgorInZpcmhlaWxtb2l0dWtzZXRcbiIKKyIgICAgdHVsb3N0YW1hdHRhLCB2YWlra2EgT1BUU1RSSU5HSU4gZW5zaW1tw6RpbmVuIG1lcmtraSBlaSBvbGUgIgorImtha3NvaXNwaXN0ZS5cbiIKKyIgICAgT1BURVJSaW4gb2xldHVzYXJ2byBvbiAxLlxuIgorIiAgICBcbiIKKyIgICAgR2V0b3B0cyBzZWxhYSBub3JtYWFsaXN0aSBwb3NpdGlvcGFyYW1ldHJpdCAoJDAgLSAkOSksIG11dHRhIGpvcyBcbiIKKyIgICAgYXJndW1lbnR0ZWphIGFubmV0YWFuIGVuZW1tw6RuLCBuZSBzZWxhdGFhbiBzZW4gc2lqYWFuLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4gam9zIHZhbGl0c2luIGzDtnl0eXk7IGVww6Rvbm5pc3R1bmVlbiBqb3MgIgorInZhbGl0c2ltZXRcbiIKKyIgICAgbG9wcHV2YXQgdGFpIHRhcGFodHV1IHZpcmhlLiIKKworIzogYnVpbHRpbnMuYzo2NzMKK21zZ2lkICIiCisiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIEV4ZWN1dGUgQ09NTUFORCwgcmVwbGFjaW5nIHRoaXMgc2hlbGwgd2l0aCB0aGUgc3BlY2lmaWVkIHByb2dyYW0uXG4iCisiICAgIEFSR1VNRU5UUyBiZWNvbWUgdGhlIGFyZ3VtZW50cyB0byBDT01NQU5ELiAgSWYgQ09NTUFORCBpcyBub3QgIgorInNwZWNpZmllZCxcbiIKKyIgICAgYW55IHJlZGlyZWN0aW9ucyB0YWtlIGVmZmVjdCBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWEgbmFtZVx0cGFzcyBOQU1FIGFzIHRoZSB6ZXJvdGggYXJndW1lbnQgdG8gQ09NTUFORFxuIgorIiAgICAgIC1jXHRcdGV4ZWN1dGUgQ09NTUFORCB3aXRoIGFuIGVtcHR5IGVudmlyb25tZW50XG4iCisiICAgICAgLWxcdFx0cGxhY2UgYSBkYXNoIGluIHRoZSB6ZXJvdGggYXJndW1lbnQgdG8gQ09NTUFORFxuIgorIiAgICBcbiIKKyIgICAgSWYgdGhlIGNvbW1hbmQgY2Fubm90IGJlIGV4ZWN1dGVkLCBhIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbCBleGl0cywgIgorInVubGVzc1xuIgorIiAgICB0aGUgc2hlbGwgb3B0aW9uIGBleGVjZmFpbCcgaXMgc2V0LlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgQ09NTUFORCBpcyBub3QgZm91bmQgb3IgYSByZWRpcmVjdGlvbiBlcnJvciAiCisib2NjdXJzLiIKK21zZ3N0ciAiIgorIktvcnZhYSBrb21lbnRvdHVsa2tpIGFubmV0dWxsYSBrb21lbm5vbGxhLlxuIgorIiAgICBcbiIKKyIgICAgU3Vvcml0YSBLT01FTlRPLCBrb3J2YXRlbiB0w6Rtw6Qga29tZW50b3R1bGtraSBhbm5ldHVsbGEgb2hqZWxtYWxsYS5cbiIKKyIgICAgQVJHVU1FTlRFSVNUQSB0dWxlZSBLT01FTk5PTiBhcmd1bWVudHRlamEuIEpvcyBLT01FTlRPQSBlaSBhbm5ldGEsXG4iCisiICAgIGthaWtraSB1dWRlbGxlZW5vaGphdWtzZXQgdGFwYWh0dXZhdCBueWt5aXNlc3PDpCBrb21lbnRvdHVsa2lzc2EuXG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC1hIG5hbWVcdGFubmEgTkFNRSBub2xsYW50ZW5hIGFyZ3VtZW50dGluYSBLT01FTk5PTExFXG4iCisiICAgICAgLWNcdFx0c3Vvcml0YSBLT01FTlRPIHR5aGrDpHNzw6QgeW1ww6RyaXN0w7Zzc8OkXG4iCisiICAgICAgLWxcdFx0c2lqb2l0YSBtaWludXNtZXJra2kgS09NRU5OT04gbm9sbGFudGVlbiBhcmd1bWVudHRpaW5cbiIKKyIgICAgXG4iCisiICAgIEpvcyBrb21lbnRvYSBlaSB2b2lkYSBzdW9yaXR0YWEsIGVpLWludGVyYWt0aWl2aW5lbiBrb21lbnRvdHVsa2tpICIKKyJwb2lzdHV1LFxuIgorIiAgICBlbGxlaSB0dWxraW4gdmFsaXRzaW50YSDigJ1leGVjZmFpbOKAnSBvbGUgYXNldGV0dHUuXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSBvbm5pc3R1bmVlbiBwYWl0c2kgam9zIEtPTUVOVE9BIGVpIGzDtnlkeSB0YWkgIgorInV1ZGVsbGVlbm9oamF1a3Nlc3NhXG4iCisiICAgIHRhcGFodHV1IHZpcmhlLiIKKworIzogYnVpbHRpbnMuYzo2OTQKK21zZ2lkICIiCisiRXhpdCB0aGUgc2hlbGwuXG4iCisiICAgIFxuIgorIiAgICBFeGl0cyB0aGUgc2hlbGwgd2l0aCBhIHN0YXR1cyBvZiBOLiAgSWYgTiBpcyBvbWl0dGVkLCB0aGUgZXhpdCBzdGF0dXNcbiIKKyIgICAgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorIlBvaXN0dSBrb21lbnRvdHVsa2lzdGEuXG4iCisiICAgIFxuIgorIiAgICBQb2lzdHV1IGtvbWVudG90dWxraXN0YSBwYWx1dWFydm9sbGEgTi4gSm9zIE46w6TDpCBlaSBhbm5ldGEsIHBhbHV1YXJ2b1xuIgorIiAgICBvbiB2aWltZWlzZW4ga29tZW5ub24gcGFsdXVhcnZvLiIKKworIzogYnVpbHRpbnMuYzo3MDMKK21zZ2lkICIiCisiRXhpdCBhIGxvZ2luIHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdHMgYSBsb2dpbiBzaGVsbCB3aXRoIGV4aXQgc3RhdHVzIE4uICBSZXR1cm5zIGFuIGVycm9yIGlmIG5vdCAiCisiZXhlY3V0ZWRcbiIKKyIgICAgaW4gYSBsb2dpbiBzaGVsbC4iCittc2dzdHIgIiIKKyJQb2lzdHUgc2lzw6TDpG5raXJqYXV0dW1pc2tvbWVudG90dWxraXN0YS5cbiIKKyIgICAgXG4iCisiICAgIFBvaXN0dXUgc2lzw6TDpG5raXJqYXV0dW1pc2tvbWVudG90dWxraXN0YSBwYWx1dWFydm9sbGEgTi4gIFBhbGF1dHRhYVxuIgorIiAgICB2aXJoZWVuIGpvcyBlaSBvbGxhIHNpc8Okw6Rua2lyamF1dHVtaXNrb21lbnRvdHVsa2lzc2EuIgorCisjOiBidWlsdGlucy5jOjcxMworbXNnaWQgIiIKKyJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgorIiAgICBcbiIKKyIgICAgZmMgaXMgdXNlZCB0byBsaXN0IG9yIGVkaXQgYW5kIHJlLWV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSAiCisibGlzdC5cbiIKKyIgICAgRklSU1QgYW5kIExBU1QgY2FuIGJlIG51bWJlcnMgc3BlY2lmeWluZyB0aGUgcmFuZ2UsIG9yIEZJUlNUIGNhbiBiZSBhXG4iCisiICAgIHN0cmluZywgd2hpY2ggbWVhbnMgdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgYmVnaW5uaW5nIHdpdGggdGhhdFxuIgorIiAgICBzdHJpbmcuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1lIEVOQU1FXHRzZWxlY3Qgd2hpY2ggZWRpdG9yIHRvIHVzZS4gIERlZmF1bHQgaXMgRkNFRElULCB0aGVuICIKKyJFRElUT1IsXG4iCisiICAgIFx0XHR0aGVuIHZpXG4iCisiICAgICAgLWwgXHRsaXN0IGxpbmVzIGluc3RlYWQgb2YgZWRpdGluZ1xuIgorIiAgICAgIC1uXHRvbWl0IGxpbmUgbnVtYmVycyB3aGVuIGxpc3RpbmdcbiIKKyIgICAgICAtclx0cmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIGxpbmVzIChuZXdlc3QgbGlzdGVkIGZpcnN0KVxuIgorIiAgICBcbiIKKyIgICAgV2l0aCB0aGUgYGZjIC1zIFtwYXQ9cmVwIC4uLl0gW2NvbW1hbmRdJyBmb3JtYXQsIENPTU1BTkQgaXNcbiIKKyIgICAgcmUtZXhlY3V0ZWQgYWZ0ZXIgdGhlIHN1YnN0aXR1dGlvbiBPTEQ9TkVXIGlzIHBlcmZvcm1lZC5cbiIKKyIgICAgXG4iCisiICAgIEEgdXNlZnVsIGFsaWFzIHRvIHVzZSB3aXRoIHRoaXMgaXMgcj0nZmMgLXMnLCBzbyB0aGF0IHR5cGluZyBgciBjYydcbiIKKyIgICAgcnVucyB0aGUgbGFzdCBjb21tYW5kIGJlZ2lubmluZyB3aXRoIGBjYycgYW5kIHR5cGluZyBgcicgcmUtZXhlY3V0ZXNcbiIKKyIgICAgdGhlIGxhc3QgY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3Mgb3Igc3RhdHVzIG9mIGV4ZWN1dGVkIGNvbW1hbmQ7IG5vbi16ZXJvIGlmIGFuIGVycm9yICIKKyJvY2N1cnMuIgorbXNnc3RyICIiCisiTsOkeXTDpCB0YWkgc3Vvcml0YSBrb21lbnRvamEga29tZW50b2hpc3Rvcmlhc3RhLlxuIgorIiAgICBcbiIKKyIgICAgRmM6dMOkIGvDpHl0ZXTDpMOkbiBoaXN0b3JpYWxpc3Rhc3NhIG9sZXZpZW4ga29tZW50b2plbiB0dWxvc3RhbWlzZWVuIHRhaVxuIgorIiAgICBtdW9ra2FhbWlzZWVuIGphIHV1ZGVsbGVlbnN1b3JpdHVrc2Vlbi4gQUxLVSBqYSBMT1BQVSB2b2l2YXQgb2xsYVxuIgorIiAgICByYWphYXZpYSBudW1lcm9pdGEsIHRhaSBBTEtVIHZvaSBvbGxhIG1lcmtraWpvbm8sIGpva2EgdGFya29pdHRhYSAiCisidmlpbWVpLVxuIgorIiAgICBzaW50w6Qgc2lsbMOkIGFsa2F2YWEga29tZW50b2EuXG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC1lIEVOSU1JXHR2YWxpdHNlIGvDpHl0ZXR0w6R2w6QgZWRpdG9yaS4gT2xldHVzIG9uIEZDRURJVCwgc2l0dGVuIEVESVRPUlxuIgorIiAgICBcdFx0c2l0dGVuIHZpXG4iCisiICAgICAgLWxcdGxpc3RhYSByaXZpdCBlZGl0b2lubmluIHNpamFhblxuIgorIiAgICAgIC1yXHRsaXN0YWEga8Okw6RudGVpc2Vzc8OkIGrDpHJqZXN0eWtzZXNzw6RcbiIKKyIgICAgXG4iCisiICAgIEvDpHl0ZXR0w6Rlc3PDpCBtdW90b2Eg4oCdZmMgLXMgW21hbGxpbmU9a29ydmF1c10gW2tvbWVudG9d4oCdLCBrb21lbnRvXG4iCisiICAgIHN1b3JpdGV0YWFuIGt1biBrb3J2YXVzIE1BTExJTkU9S09SVkFVUyBvbiBzdW9yaXRldHR1LlxuIgorIiAgICBcbiIKKyIgICAgRXLDpHMga8OkeXR0w7ZrZWxwb2luZW4gYWxpYXMgb24gcj0nZmMgLXMnLCBqb2xsb2luIOKAnXIgY2PigJ0gYWphYSB2aWltZWlzZW4gIgorImNjLVxuIgorIiAgICBhbGt1aXNlbiBrb21lbm5vbiBqYSDigJ1y4oCdIHN1b3JpdHRhYSB2aWltZWlzZW4ga29tZW5ub24uXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSBvbm5pc3R1bmVlbiB0YWkgc3Vvcml0ZXR1biBrb21lbm5vbiBwYWx1dWFydm9uOyBub2xsYXN0YVxuIgorIiAgICBwb2lra2VhdmEgdmlyaGV0aWxhbnRlZXNzYS4iCisKKyM6IGJ1aWx0aW5zLmM6NzQzCittc2dpZCAiIgorIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgorIiAgICBcbiIKKyIgICAgUGxhY2UgdGhlIGpvYiBpZGVudGlmaWVkIGJ5IEpPQl9TUEVDIGluIHRoZSBmb3JlZ3JvdW5kLCBtYWtpbmcgaXQgdGhlXG4iCisiICAgIGN1cnJlbnQgam9iLiAgSWYgSk9CX1NQRUMgaXMgbm90IHByZXNlbnQsIHRoZSBzaGVsbCdzIG5vdGlvbiBvZiB0aGVcbiIKKyIgICAgY3VycmVudCBqb2IgaXMgdXNlZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBTdGF0dXMgb2YgY29tbWFuZCBwbGFjZWQgaW4gZm9yZWdyb3VuZCwgb3IgZmFpbHVyZSBpZiBhbiBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisiU2lpcnLDpCB0ecO2IGVkdXN0YWxsZS5cbiIKKyIgICAgXG4iCisiICAgIFNpaXJyw6QgVFnDlktVVkFBSkFMTEEgdHVubmlzdGV0dHUgdHnDtiBlZHVzdGFsbGUsIGpvbGxvaW4gc2lpdMOkIHR1bGVlICIKKyJueWt5aW5lblxuIgorIiAgICB0ecO2LiBKb3MgVFnDlktVVkFBSkFBIGVpIG9sZSBhbm5ldHR1LCBrw6R5dGV0w6TDpG4ga29tZW50b3R1bGtpbiBrw6RzaXR5c3TDpFxuIgorIiAgICB0w6Rtw6RuaGV0a2lzZXN0w6QgdHnDtnN0w6QuXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIEVkdXN0YWxsZSB0dW9kdW4gdHnDtm4gcGFsdXVhcnZvLCB0YWkgZXDDpG9ubmlzdHVtaW5lbiB2aXJoZXRpbGFudGVlc3NhLiIKKworIzogYnVpbHRpbnMuYzo3NTgKK21zZ2lkICIiCisiTW92ZSBqb2JzIHRvIHRoZSBiYWNrZ3JvdW5kLlxuIgorIiAgICBcbiIKKyIgICAgUGxhY2UgdGhlIGpvYnMgaWRlbnRpZmllZCBieSBlYWNoIEpPQl9TUEVDIGluIHRoZSBiYWNrZ3JvdW5kLCBhcyBpZiAiCisidGhleVxuIgorIiAgICBoYWQgYmVlbiBzdGFydGVkIHdpdGggYCYnLiAgSWYgSk9CX1NQRUMgaXMgbm90IHByZXNlbnQsIHRoZSBzaGVsbCdzICIKKyJub3Rpb25cbiIKKyIgICAgb2YgdGhlIGN1cnJlbnQgam9iIGlzIHVzZWQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisiU2lpcnTDpMOkIHR5w7Z0IHRhdXN0YWxsZS5cbiIKKyIgICAgXG4iCisiICAgIFNpaXJ0w6TDpCBrdW5raW4gVFnDlk5LVVZBQUpBTExBIHR1bm5pc3RldHVuIHR5w7ZuIHRhdXN0YWxsZSwga3V0ZW4gam9zIG5lICIKKyJvbGlzaVxuIgorIiAgICBrw6R5bm5pc3RldHR5IOKAnSbigJ06bGzDpC4gSm9zIFRZw5ZOS1VWQUFKQUEgZWkgb2xlIGFubmV0dHUsIGvDpHl0ZXTDpMOkbiAiCisia29tZW50by1cbiIKKyIgICAgdHVsa2luIGvDpHNpdHlzdMOkIG55a3lpc2VzdMOkIHR5w7ZzdMOkLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4gcGFpdHNpIGpvcyB0ecO2bm9oamF1cyBlaSBvbGUga8OkeXTDtnNzw6QgdGFpICIKKyJ0YXBhaHR1dVxuIgorIiAgICB2aXJoZS4iCisKKyM6IGJ1aWx0aW5zLmM6NzcyCittc2dpZCAiIgorIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCisiICAgIFxuIgorIiAgICBEZXRlcm1pbmUgYW5kIHJlbWVtYmVyIHRoZSBmdWxsIHBhdGhuYW1lIG9mIGVhY2ggY29tbWFuZCBOQU1FLiAgSWZcbiIKKyIgICAgbm8gYXJndW1lbnRzIGFyZSBnaXZlbiwgaW5mb3JtYXRpb24gYWJvdXQgcmVtZW1iZXJlZCBjb21tYW5kcyBpcyAiCisiZGlzcGxheWVkLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZFx0XHRmb3JnZXQgdGhlIHJlbWVtYmVyZWQgbG9jYXRpb24gb2YgZWFjaCBOQU1FXG4iCisiICAgICAgLWxcdFx0ZGlzcGxheSBpbiBhIGZvcm1hdCB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXRcbiIKKyIgICAgICAtcCBwYXRobmFtZVx0dXNlIFBBVEhOQU1FIGlzIHRoZSBmdWxsIHBhdGhuYW1lIG9mIE5BTUVcbiIKKyIgICAgICAtclx0XHRmb3JnZXQgYWxsIHJlbWVtYmVyZWQgbG9jYXRpb25zXG4iCisiICAgICAgLXRcdFx0cHJpbnQgdGhlIHJlbWVtYmVyZWQgbG9jYXRpb24gb2YgZWFjaCBOQU1FLCBwcmVjZWRpbmdcbiIKKyIgICAgXHRcdGVhY2ggbG9jYXRpb24gd2l0aCB0aGUgY29ycmVzcG9uZGluZyBOQU1FIGlmIG11bHRpcGxlXG4iCisiICAgIFx0XHROQU1FcyBhcmUgZ2l2ZW5cbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgIE5BTUVcdFx0RWFjaCBOQU1FIGlzIHNlYXJjaGVkIGZvciBpbiAkUEFUSCBhbmQgYWRkZWQgdG8gdGhlIGxpc3RcbiIKKyIgICAgXHRcdG9mIHJlbWVtYmVyZWQgY29tbWFuZHMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCittc2dzdHIgIiIKKyJNdWlzdGEgdGFpIG7DpHl0w6Qgb2hqZWxtaWVuIHNpamFpbm5pdC5cbiIKKyIgICAgXG4iCisiICAgIFNlbHZpdMOkIGphIG11aXN0YSBqb2thaXNlbiBrb21lbm5vbiBOSU1JIHTDpHlzaSBwb2xrdW5pbWkuIEpvcyAiCisiYXJndW1lbnR0ZWphXG4iCisiICAgIGVpIG9sZSBhbm5ldHR1LCB0dWxvc3RldGFhbiB0aWVkb3QgbXVpc3RldHVpc3RhIGtvbWVubm9pc3RhLlxuIgorIlxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC1kXHRcdHVub2hkYSBqb2thaXNlbiBOSU1FTiBzaWphaW50aVxuIgorIiAgICAgIC1sXHRcdG7DpHl0w6QgaHnDtmR5bm5ldHTDpHbDpHNzw6QgbXVvZG9zc2FcbiIKKyIgICAgICAtcCBwb2xrdVx0a8OkeXTDpCBQT0xLVUEgTklNRU4gdMOkeXRlbsOkIHBvbGt1bmltZW7DpFxuIgorIiAgICAgIC1yXHRcdHVub2hkYSBrYWlra2kgc2lqYWlubml0XG4iCisiICAgICAgLXRcdFx0dHVsb3N0YSBrYWlra2llbiBOSU1JRU4gbXVpc3RldHV0IHNpamFpbm5pdC4gSm9zIGFubmV0YWFuICIKKyJ1c2VhbXBpIE5JTUksXG4iCisiICAgICAgICBcdFx0c2lqYWludGllbiBldGVlbiB0dWxvc3RldGFhbiB2YXN0YWF2YSBOSU1JXG4iCisiICAgIEFyZ3VtZW50aXQ6XG4iCisiICAgICAgIE5JTUlcdFx0S3VraW4gTklNSSBldHNpdMOkw6RuICRQQVRILW11dXR0dWphbiBoYWt1cG9sdWlzdGEgamEgbGlzw6R0w6TDpG5cbiIKKyIgICAgICAgbXVpc3RldHR1amVuIGtvbWVudG9qZW4gbGlzdGFhbi5cbiIKKyJcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4gcGFpdHNpIGpvcyBOSU1Fw4QgZWkgbMO2eWR5IHRhaSBvbiBhbm5ldHR1ICIKKyJ2aXJoZWVsbGluZW4gdmFsaXRzaW4uIgorCisjOiBidWlsdGlucy5jOjc5NworbXNnaWQgIiIKKyJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCisiICAgIFxuIgorIiAgICBEaXNwbGF5cyBicmllZiBzdW1tYXJpZXMgb2YgYnVpbHRpbiBjb21tYW5kcy4gIElmIFBBVFRFUk4gaXNcbiIKKyIgICAgc3BlY2lmaWVkLCBnaXZlcyBkZXRhaWxlZCBoZWxwIG9uIGFsbCBjb21tYW5kcyBtYXRjaGluZyBQQVRURVJOLFxuIgorIiAgICBvdGhlcndpc2UgdGhlIGxpc3Qgb2YgaGVscCB0b3BpY3MgaXMgcHJpbnRlZC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWRcdG91dHB1dCBzaG9ydCBkZXNjcmlwdGlvbiBmb3IgZWFjaCB0b3BpY1xuIgorIiAgICAgIC1tXHRkaXNwbGF5IHVzYWdlIGluIHBzZXVkby1tYW5wYWdlIGZvcm1hdFxuIgorIiAgICAgIC1zXHRvdXRwdXQgb25seSBhIHNob3J0IHVzYWdlIHN5bm9wc2lzIGZvciBlYWNoIHRvcGljIG1hdGNoaW5nXG4iCisiICAgIFx0UEFUVEVSTlxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgIFBBVFRFUk5cdFBhdHRlcm4gc3BlY2lmaXlpbmcgYSBoZWxwIHRvcGljXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBQQVRURVJOIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyAiCisiZ2l2ZW4uIgorbXNnc3RyICIiCisiTsOkeXR0w6TDpCB0aWV0b2phIHNpc8Okw6RucmFrZW5uZXR1aXN0YSBrb21lbm5vaXN0YS5cbiIKKyIgICAgXG4iCisiICAgIE7DpHl0dMOkw6QgbHloeWV0IHRpaXZpc3RlbG3DpHQgc2lzw6TDpG5yYWtlbm5ldHVpc3RhIGtvbWVubm9pc3RhLiBKb3MgIgorIk1BTExJTkVcbiIKKyIgICAgb24gYW5uZXR0dSwgYW50YWEgeWtzaXR5aXNrb2h0YWlzZW1tYW4gb2hqZWVuIGthaWtpc3RhIE1BTExJTkVFU0VFTlxuIgorIiAgICBzb3BpdmlzdGEga29tZW5ub2lzdGEsIG11dXRlbiB0dWxvc3RldGFhbiBsaXN0YSBvaGplb3RzaWtvaXN0YS5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWRcdHR1bG9zdGEga3Vua2luIGFpaGVlbiBseWh5dCBrdXZhdXNcbiIKKyIgICAgICAtbVx0bsOkeXTDpCBrw6R5dHTDtm9oamUgbWFuLXNpdnVtYWlzZXNzYSBtdW9kb3NzYVxuIgorIiAgICAgIC1zXHR0dWxvc3RhIGFpbm9hc3RhYW4gbHloeXQga8OkeXR0w7ZvaGplIGt1c3Rha2luIE1BTExJTkVFU0VFTiBcbiIKKyIgICAgICBcdHNvcGl2YXN0YVxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRpdDpcbiIKKyIgICAgICAgTUFMTElORVx0b2hqZW90c2lrb24gaGFrdW1hbGxpbmVcbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIG9ubmlzdHVuZWVuIHBhaXRzaSBqb3MgTUFMTElORVRUQSBlaSBsw7Z5ZHkgdGFpIHZhbGl0c2luIG9uXG4iCisiICAgIHZpcmhlZWxsaW5lbi4iCisKKyM6IGJ1aWx0aW5zLmM6ODIxCittc2dpZCAiIgorIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgorIiAgICBcbiIKKyIgICAgRGlzcGxheSB0aGUgaGlzdG9yeSBsaXN0IHdpdGggbGluZSBudW1iZXJzLCBwcmVmaXhpbmcgZWFjaCBtb2RpZmllZFxuIgorIiAgICBlbnRyeSB3aXRoIGEgYConLiAgQW4gYXJndW1lbnQgb2YgTiBsaXN0cyBvbmx5IHRoZSBsYXN0IE4gZW50cmllcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWNcdGNsZWFyIHRoZSBoaXN0b3J5IGxpc3QgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbnRyaWVzXG4iCisiICAgICAgLWQgb2Zmc2V0XHRkZWxldGUgdGhlIGhpc3RvcnkgZW50cnkgYXQgb2Zmc2V0IE9GRlNFVC5cbiIKKyIgICAgXG4iCisiICAgICAgLWFcdGFwcGVuZCBoaXN0b3J5IGxpbmVzIGZyb20gdGhpcyBzZXNzaW9uIHRvIHRoZSBoaXN0b3J5IGZpbGVcbiIKKyIgICAgICAtblx0cmVhZCBhbGwgaGlzdG9yeSBsaW5lcyBub3QgYWxyZWFkeSByZWFkIGZyb20gdGhlIGhpc3RvcnkgZmlsZVxuIgorIiAgICAgIC1yXHRyZWFkIHRoZSBoaXN0b3J5IGZpbGUgYW5kIGFwcGVuZCB0aGUgY29udGVudHMgdG8gdGhlIGhpc3RvcnlcbiIKKyIgICAgXHRsaXN0XG4iCisiICAgICAgLXdcdHdyaXRlIHRoZSBjdXJyZW50IGhpc3RvcnkgdG8gdGhlIGhpc3RvcnkgZmlsZVxuIgorIiAgICBcdGFuZCBhcHBlbmQgdGhlbSB0byB0aGUgaGlzdG9yeSBsaXN0XG4iCisiICAgIFxuIgorIiAgICAgIC1wXHRwZXJmb3JtIGhpc3RvcnkgZXhwYW5zaW9uIG9uIGVhY2ggQVJHIGFuZCBkaXNwbGF5IHRoZSByZXN1bHRcbiIKKyIgICAgXHR3aXRob3V0IHN0b3JpbmcgaXQgaW4gdGhlIGhpc3RvcnkgbGlzdFxuIgorIiAgICAgIC1zXHRhcHBlbmQgdGhlIEFSR3MgdG8gdGhlIGhpc3RvcnkgbGlzdCBhcyBhIHNpbmdsZSBlbnRyeVxuIgorIiAgICBcbiIKKyIgICAgSWYgRklMRU5BTUUgaXMgZ2l2ZW4sIGl0IGlzIHVzZWQgYXMgdGhlIGhpc3RvcnkgZmlsZS4gIE90aGVyd2lzZSxcbiIKKyIgICAgaWYgJEhJU1RGSUxFIGhhcyBhIHZhbHVlLCB0aGF0IGlzIHVzZWQsIGVsc2Ugfi8uYmFzaF9oaXN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgSWYgdGhlICRISVNUVElNRUZPUk1BVCB2YXJpYWJsZSBpcyBzZXQgYW5kIG5vdCBudWxsLCBpdHMgdmFsdWUgaXMgdXNlZFxuIgorIiAgICBhcyBhIGZvcm1hdCBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpIHRvIHByaW50IHRoZSB0aW1lIHN0YW1wIGFzc29jaWF0ZWRcbiIKKyIgICAgd2l0aCBlYWNoIGRpc3BsYXllZCBoaXN0b3J5IGVudHJ5LiAgTm8gdGltZSBzdGFtcHMgYXJlIHByaW50ZWQgIgorIm90aGVyd2lzZS5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyJOw6R5dHTDpMOkIHRhaSBtdW9ra2FhIGtvbWVudG9oaXN0b3JpYWEuXG4iCisiICAgIFxuIgorIiAgICBOw6R5dHTDpMOkIChrb21lbnRvKWhpc3RvcmlhbiByaXZpbnVtZXJvaW4sIHNpam9pdHRhZW4gYXN0ZXJpc2tpbiBqb2thaXNlblxuIgorIiAgICBtdW9rYXR1biBhbGtpb24gZXRlZW4uIEFyZ3VtZW50aWxsYSBOIGxpc3RhdGFhbiB2YWluIE4gdmlpbWVpc3TDpCAiCisiYWxraW90YS5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWNcdHR5aGplbm7DpCBoaXN0b3JpYSBwb2lzdGFtYWxsYSBrYWlra2kgYWxraW90XG4iCisiICAgICAgLWQgc2lqYWludGlcdHBvaXN0YSBhbGtpbyBrb2hkYXN0YSBTSUpBSU5USVxuIgorIiAgICBcbiIKKyIgICAgICAtYVx0bGlzw6TDpCB0w6Rtw6RuIGlzdHVubm9uIGhpc3Rvcmlhcml2aXQgaGlzdG9yaWF0aWVkb3N0b29uXG4iCisiICAgICAgLW5cdGx1ZSBrYWlra2kgcml2aXQsIGpvaXRhIGVpIGpvIG9sZSBsdWV0dHUgaGlzdG9yaWF0aWVkb3N0b3N0YVxuIgorIiAgICAgIC1yXHRsdWUgaGlzdG9yaWF0aWVkb3N0byBqYSBsaXPDpMOkIHNlbiBzaXPDpGx0w7YgaGlzdG9yaWFhblxuIgorIiAgICAgIC13XHRraXJqb2l0YSBueWt5aW5lbiBoaXN0b3JpYSBoaXN0b3JpYXRpZWRvc3Rvb24gamEgbGlzw6TDpCBuZSAiCisiaGlzdG9yaWFhblxuIgorIiAgICBcbiIKKyIgICAgICAtcFx0c3Vvcml0YSBoaXN0b3JpYWxhYWplbm5vcyBqb2thaXNlbGxlIEFSR1VNRU5USUxMRSBqYSBuw6R5dMOkIHR1bG9zXG4iCisiICAgIFx0bGlzw6TDpG3DpHR0w6Qgc2l0w6QgaGlzdG9yaWFhblxuIgorIiAgICAgIC1zXHRsaWl0w6QgQVJHVU1FTlRJVCBoaXN0b3JpYWFuIHlodGVuw6QgYWxraW9uYVxuIgorIiAgICBcbiIKKyIgICAgSm9zIFRJRURPU1RPIG9uIGFubmV0dHUsIHNpdMOkIGvDpHl0ZXTDpMOkbiBoaXN0b3JpYXRpZWRvc3RvbmEuIE11dXRlbixcbiIKKyIgICAgam9zICRISVNURklMRTpsbMOkIG9uIGFydm8sIHNpdMOkIGvDpHl0ZXTDpMOkbiwgbXV1dGVuIH4vLmJhc2hfaGlzdG9yeS5cbiIKKyIgICAgXG4iCisiICAgIEpvcyAkSElTVFRJTUVGT1JNQVQtbXV1dHR1amEgb24gYXNldGV0dHUgamEgc2UgZWkgb2xlIHR5aGrDpCwgc2VuIGFydm9hXG4iCisiICAgIGvDpHl0ZXTDpMOkbiBzdHJmdGltZSgzKTpuIG11b3RvaWx1am9ub25hIHR1bG9zdGV0dGFlc3NhIGt1bmtpbiBhbGtpb24gIgorImFpa2FsZWltYS5cbiIKKyIgICAgTXV1c3NhIHRhcGF1a3Nlc3NhIGFpa2FsZWltb2phIGVpIHR1bG9zdGV0YS5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIG9ubmlzdHVuZWVuIHBhaXRzaSBqb3Mgb24gYW5uZXR0dSB2aXJoZWVsbGluZW4gdmFsaXRzaW4gIgorInRhaSAgICAgdGFwYWh0dXUgdmlyaGUuIgorCisjOiBidWlsdGlucy5jOjg1NworbXNnaWQgIiIKKyJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgorIiAgICBcbiIKKyIgICAgTGlzdHMgdGhlIGFjdGl2ZSBqb2JzLiAgSk9CU1BFQyByZXN0cmljdHMgb3V0cHV0IHRvIHRoYXQgam9iLlxuIgorIiAgICBXaXRob3V0IG9wdGlvbnMsIHRoZSBzdGF0dXMgb2YgYWxsIGFjdGl2ZSBqb2JzIGlzIGRpc3BsYXllZC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWxcdGxpc3RzIHByb2Nlc3MgSURzIGluIGFkZGl0aW9uIHRvIHRoZSBub3JtYWwgaW5mb3JtYXRpb25cbiIKKyIgICAgICAtblx0bGlzdCBvbmx5IHByb2Nlc3NlcyB0aGF0IGhhdmUgY2hhbmdlZCBzdGF0dXMgc2luY2UgdGhlIGxhc3RcbiIKKyIgICAgXHRub3RpZmljYXRpb25cbiIKKyIgICAgICAtcFx0bGlzdHMgcHJvY2VzcyBJRHMgb25seVxuIgorIiAgICAgIC1yXHRyZXN0cmljdCBvdXRwdXQgdG8gcnVubmluZyBqb2JzXG4iCisiICAgICAgLXNcdHJlc3RyaWN0IG91dHB1dCB0byBzdG9wcGVkIGpvYnNcbiIKKyIgICAgXG4iCisiICAgIElmIC14IGlzIHN1cHBsaWVkLCBDT01NQU5EIGlzIHJ1biBhZnRlciBhbGwgam9iIHNwZWNpZmljYXRpb25zIHRoYXRcbiIKKyIgICAgYXBwZWFyIGluIEFSR1MgaGF2ZSBiZWVuIHJlcGxhY2VkIHdpdGggdGhlIHByb2Nlc3MgSUQgb2YgdGhhdCBqb2Inc1xuIgorIiAgICBwcm9jZXNzIGdyb3VwIGxlYWRlci5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy5cbiIKKyIgICAgSWYgLXggaXMgdXNlZCwgcmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCittc2dzdHIgIiIKKyJOw6R5dHTDpMOkIHTDtmlkZW4gdGlsYW4uXG4iCisiICAgIFxuIgorIiAgICBMaXN0YWEgYWt0aWl2aXNldCB0ecO2dC4gVFnDlk3DhMOEUklUWVMgcmFqYWEgdHVsb3N0dWtzZW4ga3lzZWlzZWVuIHR5w7Zow7ZuLlxuIgorIiAgICBJbG1hbiB2YWxpdHNpbWlhIHR1bG9zdGV0YWFuIGthaWtraWVuIGFrdGlpdmlzdGVuIHTDtmlkZW4gdGlsYS5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWxcdGxpc3RhYSBwcm9zZXNzaXR1bm51a3NldCAocGlkKSBtdXVuIHRpZWRvbiBsaXPDpGtzaVxuIgorIiAgICAgIC1uXHRsaXN0YWEgYWlub2FzdGFhbiBwcm9zZXNzaXQgam9pZGVuIHRpbGEgb24gbXV1dHR1bnV0IHZpaW1laXNlblxuIgorIiAgICBcdGlsbW9pdHVrc2VuIGrDpGxrZWVuXG4iCisiICAgICAgLXBcdGxpc3RhYSB2YWluIHByb3Nlc3NpdHVubnVrc2V0XG4iCisiICAgICAgLXJcdHJhamFhIHR1bG9zdHVzIGFqb3NzYSBvbGV2aWluIHTDtmloaW5cbiIKKyIgICAgXG4iCisiICAgIEpvcyAteCBvbiBhbm5ldHR1LCBLT01FTlRPIHN1b3JpdGV0YWFuIGt1biBrYWlra2kgQVJHVU1FTlRFSVNTQSBhbm5ldHV0XG4iCisiICAgIHR5w7Ztw6TDpHJpdHlrc2V0IG9uIGtvcnZhdHR1IGt5c2Vpc2VuIHR5w7ZuIHByb3Nlc3NpcnlobcOkbiBqb2h0YWphbiAiCisicHJvc2Vzc2ktXG4iCisiICAgIHR1bm51a3NlbGxhLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4gcGFpdHNpIGpvcyBvbiBhbm5ldHR1IHZpcmhlZWxsaW5lbiB2YWxpdHNpbiB0YWkgXG4iCisiICAgIHRhcGFodHV1IHZpcmhlLiBKb3MgLXg6w6TDpCBvbiBrw6R5dGV0dHksIHBhbGF1dHRhYSBLT01FTk5PTiBwYWx1dWFydm9uLiIKKworIzogYnVpbHRpbnMuYzo4ODQKK21zZ2lkICIiCisiUmVtb3ZlIGpvYnMgZnJvbSBjdXJyZW50IHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgUmVtb3ZlcyBlYWNoIEpPQlNQRUMgYXJndW1lbnQgZnJvbSB0aGUgdGFibGUgb2YgYWN0aXZlIGpvYnMuICBXaXRob3V0XG4iCisiICAgIGFueSBKT0JTUEVDcywgdGhlIHNoZWxsIHVzZXMgaXRzIG5vdGlvbiBvZiB0aGUgY3VycmVudCBqb2IuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1hXHRyZW1vdmUgYWxsIGpvYnMgaWYgSk9CU1BFQyBpcyBub3Qgc3VwcGxpZWRcbiIKKyIgICAgICAtaFx0bWFyayBlYWNoIEpPQlNQRUMgc28gdGhhdCBTSUdIVVAgaXMgbm90IHNlbnQgdG8gdGhlIGpvYiBpZiB0aGVcbiIKKyIgICAgXHRzaGVsbCByZWNlaXZlcyBhIFNJR0hVUFxuIgorIiAgICAgIC1yXHRyZW1vdmUgb25seSBydW5uaW5nIGpvYnNcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yIEpPQlNQRUMgaXMgZ2l2ZW4uIgorbXNnc3RyICIiCisiUG9pc3RhYSB0w7ZpdMOkIG55a3lpc2VzdMOkIGtvbWVudG90dWxraXN0YS5cbiIKKyIgICAgXG4iCisiICAgIFBvaXN0YWEga3Vua2luIFRZw5ZUVU5OSVNURUVOIGFrdGlpdmlzdGVuIHTDtmlkZW4gdGF1bHVrb3N0YS4gSWxtYW5cbiIKKyIgICAgVFnDllRVTk5JU1RFSVRBIGtvbWVudG90dWxra2kga8OkeXR0w6TDpCBvbWFhIGFydmlvdGFhbiBueWt5aXNlc3TDpFxuIgorIiAgICB0ecO2c3TDpC5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWFcdHBvaXN0YSBrYWlra2kgdHnDtnQgZWxsZWkgVFnDllRVTk5JU1RFVFRBIG9sZSBhbm5ldHR1XG4iCisiICAgICAgLWhcdG1lcmtpdHNlIGt1a2luIFRZw5ZUVU5OSVNURSBzaXRlbiwgZXR0ZWkgbmlpbGxlIGzDpGhldGV0w6RcbiIKKyIgICAgXHRTSUdIVVBpYSwgam9zIGtvbWVudG90dWxra2kgdmFzdGFhbm90dGFhIHNlbGxhaXNlblxuIgorIiAgICAgIC1yXHRwb2lzdGEgYWlub2FzdGFhbiBham9zc2Egb2xldmF0IHR5w7Z0XG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSBvbm5pc3R1bmVlbiBwYWl0c2kgam9zIGpva2luIHZhbGl0c2luIHRhaSBUWcOWVFVOTklTVEUgb24gICAgICIKKyJ2aXJoZWVsbGluZW4uIgorCisjOiBidWlsdGlucy5jOjkwMworbXNnaWQgIiIKKyJTZW5kIGEgc2lnbmFsIHRvIGEgam9iLlxuIgorIiAgICBcbiIKKyIgICAgU2VuZCB0aGUgcHJvY2Vzc2VzIGlkZW50aWZpZWQgYnkgUElEIG9yIEpPQlNQRUMgdGhlIHNpZ25hbCBuYW1lZCBieVxuIgorIiAgICBTSUdTUEVDIG9yIFNJR05VTS4gIElmIG5laXRoZXIgU0lHU1BFQyBub3IgU0lHTlVNIGlzIHByZXNlbnQsIHRoZW5cbiIKKyIgICAgU0lHVEVSTSBpcyBhc3N1bWVkLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtcyBzaWdcdFNJRyBpcyBhIHNpZ25hbCBuYW1lXG4iCisiICAgICAgLW4gc2lnXHRTSUcgaXMgYSBzaWduYWwgbnVtYmVyXG4iCisiICAgICAgLWxcdGxpc3QgdGhlIHNpZ25hbCBuYW1lczsgaWYgYXJndW1lbnRzIGZvbGxvdyBgLWwnIHRoZXkgYXJlXG4iCisiICAgIFx0YXNzdW1lZCB0byBiZSBzaWduYWwgbnVtYmVycyBmb3Igd2hpY2ggbmFtZXMgc2hvdWxkIGJlIGxpc3RlZFxuIgorIiAgICBcbiIKKyIgICAgS2lsbCBpcyBhIHNoZWxsIGJ1aWx0aW4gZm9yIHR3byByZWFzb25zOiBpdCBhbGxvd3Mgam9iIElEcyB0byBiZSB1c2VkXG4iCisiICAgIGluc3RlYWQgb2YgcHJvY2VzcyBJRHMsIGFuZCBhbGxvd3MgcHJvY2Vzc2VzIHRvIGJlIGtpbGxlZCBpZiB0aGUgbGltaXRcbiIKKyIgICAgb24gcHJvY2Vzc2VzIHRoYXQgeW91IGNhbiBjcmVhdGUgaXMgcmVhY2hlZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyJMw6RoZXTDpCB0ecO2bGxlIHNpZ25hYWxpLlxuIgorIiAgICBcbiIKKyIgICAgTMOkaGV0dMOkw6QgUElESUxMw4QgdGFpIFRZw5ZUVU5OSVNURUVMTEEgdHVubmlzdGV0dWxsZSBwcm9zZXNzaWxsZVxuIgorIiAgICBTSUdTUEVDSUxMw4QgdGFpIFNJR05VTUlMTEEgYW5uZXR1biBzaWduYWFsaW4uIEpvcyBrdW1wYWFrYWFuXG4iCisiICAgIGVpIG9sZSBsw6RzbsOkLCBrw6R5dGV0w6TDpG4gU0lHVEVSTUnDhC5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLXMgc2lnXHRTSUcgb24gc2lnbmFhbGluIG5pbWlcbiIKKyIgICAgICAtbiBzaWdcdFNJRyBvbiBzaWduYWFsaW4gbnVtZXJvXG4iCisiICAgICAgLWxcdGxpc3RhYSBzaWduYWFsaWVuIG5pbWV0OyDigJ0tbOKAnTpuIGrDpGxrZWlzZXQgYXJndW1lbnRpdCBvbGV0ZXRhYW5cbiIKKyIgICAgXHRzaWduYWFsaW51bWVyb2lrc2ksIGpvaWRlbiBuaW1ldCBoYWx1dGFhbiBsaXN0YXRhLlxuIgorIiAgICBcbiIKKyIgICAgS2lsbCBvbiBzaXPDpMOkbnJha2VubmV0dHUga29tZW50byBrYWhkZXN0YSBzeXlzdMOkOiBzZSBhbnRhYSBrw6R5dHTDpMOkXG4iCisiICAgIHR5w7Z0dW5uaXN0ZWl0YSBwcm9zZXNzaXR1bm51c3RlbiBzaWphYW4sIGphIHNhbGxpaSBwcm9zZXNzaWVuICIKKyJ0YXBwYW1pc2VuXG4iCisiICAgIHZhaWtrYSBzYWxsaXR0dWplbiBwcm9zZXNzaWVuIGx1a3Vtw6TDpHLDpCBvbGlzaWtpbiB5bGl0ZXR0eS5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIG9ubmlzdHVuZWVuIHBhaXRzaSBqb3Mgb24gYW5uZXR0dSB2aXJoZWVsbGluZW4gdmFsaXRzaW4gdGFpICIKKyJ0YXBhaHR1dSB2aXJoZS4iCisKKyM6IGJ1aWx0aW5zLmM6OTI2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb25zLlxuIgorIiAgICBcbiIKKyIgICAgRXZhbHVhdGUgZWFjaCBBUkcgYXMgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uLiAgRXZhbHVhdGlvbiBpcyBkb25lIGluXG4iCisiICAgIGZpeGVkLXdpZHRoIGludGVnZXJzIHdpdGggbm8gY2hlY2sgZm9yIG92ZXJmbG93LCB0aG91Z2ggZGl2aXNpb24gYnkgMFxuIgorIiAgICBpcyB0cmFwcGVkIGFuZCBmbGFnZ2VkIGFzIGFuIGVycm9yLiAgVGhlIGZvbGxvd2luZyBsaXN0IG9mIG9wZXJhdG9ycyBpc1xuIgorIiAgICBncm91cGVkIGludG8gbGV2ZWxzIG9mIGVxdWFsLXByZWNlZGVuY2Ugb3BlcmF0b3JzLiAgVGhlIGxldmVscyBhcmUgIgorImxpc3RlZFxuIgorIiAgICBpbiBvcmRlciBvZiBkZWNyZWFzaW5nIHByZWNlZGVuY2UuXG4iCisiICAgIFxuIgorIiAgICBcdGlkKyssIGlkLS1cdHZhcmlhYmxlIHBvc3QtaW5jcmVtZW50LCBwb3N0LWRlY3JlbWVudFxuIgorIiAgICBcdCsraWQsIC0taWRcdHZhcmlhYmxlIHByZS1pbmNyZW1lbnQsIHByZS1kZWNyZW1lbnRcbiIKKyIgICAgXHQtLCArXHRcdHVuYXJ5IG1pbnVzLCBwbHVzXG4iCisiICAgIFx0ISwgflx0XHRsb2dpY2FsIGFuZCBiaXR3aXNlIG5lZ2F0aW9uXG4iCisiICAgIFx0KipcdFx0ZXhwb25lbnRpYXRpb25cbiIKKyIgICAgXHQqLCAvLCAlXHRcdG11bHRpcGxpY2F0aW9uLCBkaXZpc2lvbiwgcmVtYWluZGVyXG4iCisiICAgIFx0KywgLVx0XHRhZGRpdGlvbiwgc3VidHJhY3Rpb25cbiIKKyIgICAgXHQ8PCwgPj5cdFx0bGVmdCBhbmQgcmlnaHQgYml0d2lzZSBzaGlmdHNcbiIKKyIgICAgXHQ8PSwgPj0sIDwsID5cdGNvbXBhcmlzb25cbiIKKyIgICAgXHQ9PSwgIT1cdFx0ZXF1YWxpdHksIGluZXF1YWxpdHlcbiIKKyIgICAgXHQmXHRcdGJpdHdpc2UgQU5EXG4iCisiICAgIFx0Xlx0XHRiaXR3aXNlIFhPUlxuIgorIiAgICBcdHxcdFx0Yml0d2lzZSBPUlxuIgorIiAgICBcdCYmXHRcdGxvZ2ljYWwgQU5EXG4iCisiICAgIFx0fHxcdFx0bG9naWNhbCBPUlxuIgorIiAgICBcdGV4cHIgPyBleHByIDogZXhwclxuIgorIiAgICBcdFx0XHRjb25kaXRpb25hbCBvcGVyYXRvclxuIgorIiAgICBcdD0sICo9LCAvPSwgJT0sXG4iCisiICAgIFx0Kz0sIC09LCA8PD0sID4+PSxcbiIKKyIgICAgXHQmPSwgXj0sIHw9XHRhc3NpZ25tZW50XG4iCisiICAgIFxuIgorIiAgICBTaGVsbCB2YXJpYWJsZXMgYXJlIGFsbG93ZWQgYXMgb3BlcmFuZHMuICBUaGUgbmFtZSBvZiB0aGUgdmFyaWFibGVcbiIKKyIgICAgaXMgcmVwbGFjZWQgYnkgaXRzIHZhbHVlIChjb2VyY2VkIHRvIGEgZml4ZWQtd2lkdGggaW50ZWdlcikgd2l0aGluXG4iCisiICAgIGFuIGV4cHJlc3Npb24uICBUaGUgdmFyaWFibGUgbmVlZCBub3QgaGF2ZSBpdHMgaW50ZWdlciBhdHRyaWJ1dGVcbiIKKyIgICAgdHVybmVkIG9uIHRvIGJlIHVzZWQgaW4gYW4gZXhwcmVzc2lvbi5cbiIKKyIgICAgXG4iCisiICAgIE9wZXJhdG9ycyBhcmUgZXZhbHVhdGVkIGluIG9yZGVyIG9mIHByZWNlZGVuY2UuICBTdWItZXhwcmVzc2lvbnMgaW5cbiIKKyIgICAgcGFyZW50aGVzZXMgYXJlIGV2YWx1YXRlZCBmaXJzdCBhbmQgbWF5IG92ZXJyaWRlIHRoZSBwcmVjZWRlbmNlXG4iCisiICAgIHJ1bGVzIGFib3ZlLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuIgorbXNnc3RyICIiCisiTGFza2VlIG1hdGVtYWF0dGlzZXQgbGF1c2Vra2VldC5cbiIKKyIgICAgXG4iCisiICAgIExhc2tlZSBqb2thaXNlbiBBUkdVTUVOVElOIG1hdGVtYWF0dGlzZW5hIGxhdXNla2tlZW5hLiBFdmFsdW9pbnRpXG4iCisiICAgIHRlaGTDpMOkbiBraWludGXDpG5taXR0YWlzaW5hIGtva29uYWlzbHVrdWluYSBpbG1hbiB5bGl2dW9kb24gIgorInRhcmtpc3RhbWlzdGEsXG4iCisiICAgIHZhaWtrYWtpbiBub2xsYWxsYSBqYWtvIGhhdmFpdGFhbiBqYSBpbG1vaXRldGFhbiB2aXJoZWVuw6QuIFNldXJhYXZhIFxuIgorIiAgICBvcGVyYWF0dG9yaWxpc3RhIG9uIHJ5aG1pdGVsdHkgc2FtYW5hcnZvaXN0ZW4gb3BlcmFhdHRvcmVpZGVuIHJ5aG1paW4uIFxuIgorIiAgICBFdmFsdW9pbnRpasOkcmplc3R5cyBvbiBsYXNrZXZhLlxuIgorIiAgICBcbiIKKyIgICAgXHRpZCsrLCBpZC0tXHRtdXV0dHVqYW4gasOkbGtpbGlzw6R5cywgasOkbGtpdsOkaGVubnlzXG4iCisiICAgIFx0KytpZCwgLS1pZFx0b3BlcmFhdHRvcmluIGV0dWxpc8OkeXMsIGV0dXbDpGhlbm55c1xuIgorIiAgICBcdC0sICtcdFx0dW5hYXJpbmVuIG1paW51cywgcGx1c1xuIgorIiAgICBcdCEsIH5cdFx0bG9vZ2luZW4gamEgYml0dGl0YXNvbiBuZWdhYXRpb1xuIgorIiAgICBcdCoqXHRcdHBvdGVuc3NpaW5rb3JvdHVzXG4iCisiICAgIFx0KiwgLywgJVx0XHRrZXJ0b21pbmVuLCBqYWthbWluZW4sIGpha29qw6TDpG5uw7ZzXG4iCisiICAgIFx0KywgLVx0XHRsaXPDpHlzLCB2w6RoZW5ueXNcbiIKKyIgICAgXHQ8PCwgPj5cdFx0Yml0dGlzaWlycm90IHZhc2VtbWFsbGUgamEgb2lrZWFsbGVcbiIKKyIgICAgXHQ8PSwgPj0sIDwsID5cdHZlcnRhaWx1XG4iCisiICAgIFx0PT0sICE9XHRcdHlodMOkbMOkaXN5eXMsIGVww6R5aHTDpGzDpGlzeXlzXG4iCisiICAgIFx0Jlx0XHRiaXR0aXRhc29uIEFORFxuIgorIiAgICBcdF5cdFx0Yml0dGl0YXNvbiBYT1JcbiIKKyIgICAgXHR8XHRcdGJpdHRpdGFzb24gT1JcbiIKKyIgICAgXHQmJlx0XHRsb29naW5lbiBBTkRcbiIKKyIgICAgXHR8fFx0XHRsb29naW5lbiBPUlxuIgorIiAgICBcdGV4cHIgPyBleHByIDogZXhwclxuIgorIiAgICBcdFx0XHRlaGRvbGxpbmVuIG9wZXJhYXR0b3JpXG4iCisiICAgIFx0PSwgKj0sIC89LCAlPSxcbiIKKyIgICAgXHQrPSwgLT0sIDw8PSwgPj49LFxuIgorIiAgICBcdCY9LCBePSwgfD1cdHNpam9pdHVzXG4iCisiICAgIFxuIgorIiAgICBZbXDDpHJpc3TDtm11dXR0dWppYSB2b2lkYWFuIGvDpHl0dMOkw6Qgb3BlcmFuZGVpbmEuIExhdXNla2tlZXNzYSBtdXV0dHVqYW4gXG4iCisiICAgIG5pbWkga29ydmF0YWFuIHNlbiBhcnZvbGxhIChtw6TDpHLDpG1pdHRhaXNla3NpIGtva29uYWlzbHV2dWtzaSAiCisicGFrb3RldHR1bmEpLlxuIgorIiAgICBNdXV0dHVqYW4gaW50ZWdlci1hdHRyaWJ1dXRpbiBlaSB0YXJ2aXRzZSBvbGxhIGFzZXRldHR1bmEuXG4iCisiICAgIFxuIgorIiAgICBPcGVyYWF0dG9yaXQgZXZhbHVvaWRhYW4gbGFza2VubmFsbGlzZXNzYSBqw6RyamVzdHlrc2Vzc8OkLiBTdWx1aXNzYSAiCisib2xldmF0IFxuIgorIiAgICBhbGlsYXVzZWtrZWV0IGV2YWx1b2lkYWFuIGVuc2luOyBzdWx1aWxsYSB2b2lkYWFuIG15w7ZzIG11dXR0YWEgXG4iCisiICAgIGVkZWxsw6RrdXZhdHR1YSBsYXNrZW50YWrDpHJqZXN0eXN0w6QuXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIEpvcyB2aWltZWluZW4gQVJHVU1FTlRUSSBldmFsdW9pdHV1IG5vbGxha3NpLCBsZXQgcGFsYXV0dGFhIDEsIG11dXNzYVxuIgorIiAgICB0YXBhdWtzZXNzYSAwLiIKKworIzogYnVpbHRpbnMuYzo5NzEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlJlYWQgYSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGFuZCBzcGxpdCBpdCBpbnRvIGZpZWxkcy5cbiIKKyIgICAgXG4iCisiICAgIFJlYWRzIGEgc2luZ2xlIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIG9yIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEXG4iCisiICAgIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgbGluZSBpcyBzcGxpdCBpbnRvIGZpZWxkcyBhcyB3aXRoICIKKyJ3b3JkXG4iCisiICAgIHNwbGl0dGluZywgYW5kIHRoZSBmaXJzdCB3b3JkIGlzIGFzc2lnbmVkIHRvIHRoZSBmaXJzdCBOQU1FLCB0aGUgc2Vjb25kXG4iCisiICAgIHdvcmQgdG8gdGhlIHNlY29uZCBOQU1FLCBhbmQgc28gb24sIHdpdGggYW55IGxlZnRvdmVyIHdvcmRzIGFzc2lnbmVkIHRvXG4iCisiICAgIHRoZSBsYXN0IE5BTUUuICBPbmx5IHRoZSBjaGFyYWN0ZXJzIGZvdW5kIGluICRJRlMgYXJlIHJlY29nbml6ZWQgYXMgIgorIndvcmRcbiIKKyIgICAgZGVsaW1pdGVycy5cbiIKKyIgICAgXG4iCisiICAgIElmIG5vIE5BTUVzIGFyZSBzdXBwbGllZCwgdGhlIGxpbmUgcmVhZCBpcyBzdG9yZWQgaW4gdGhlIFJFUExZICIKKyJ2YXJpYWJsZS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWEgYXJyYXlcdGFzc2lnbiB0aGUgd29yZHMgcmVhZCB0byBzZXF1ZW50aWFsIGluZGljZXMgb2YgdGhlIGFycmF5XG4iCisiICAgIFx0XHR2YXJpYWJsZSBBUlJBWSwgc3RhcnRpbmcgYXQgemVyb1xuIgorIiAgICAgIC1kIGRlbGltXHRjb250aW51ZSB1bnRpbCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIERFTElNIGlzIHJlYWQsIHJhdGhlclxuIgorIiAgICBcdFx0dGhhbiBuZXdsaW5lXG4iCisiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCisiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCisiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCisiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKKyIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCisiICAgICAgLXNcdFx0ZG8gbm90IGVjaG8gaW5wdXQgY29taW5nIGZyb20gYSB0ZXJtaW5hbFxuIgorIiAgICAgIC10IHRpbWVvdXRcdHRpbWUgb3V0IGFuZCByZXR1cm4gZmFpbHVyZSBpZiBhIGNvbXBsZXRlIGxpbmUgb2YgaW5wdXQgIgorImlzXG4iCisiICAgIFx0XHRub3QgcmVhZCB3aXRoaW50IFRJTUVPVVQgc2Vjb25kcy4gIFRoZSB2YWx1ZSBvZiB0aGUgVE1PVVRcbiIKKyIgICAgXHRcdHZhcmlhYmxlIGlzIHRoZSBkZWZhdWx0IHRpbWVvdXQuICBUSU1FT1VUIG1heSBiZSBhXG4iCisiICAgIFx0XHRmcmFjdGlvbmFsIG51bWJlci4gIElmIFRJTUVPVVQgaXMgMCwgcmVhZCByZXR1cm5zIHN1Y2Nlc3Mgb25seVxuIgorIiAgICBcdFx0aWYgaW5wdXQgaXMgYXZhaWxhYmxlIG9uIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLiAgVGhlXG4iCisiICAgIFx0XHRleGl0IHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gMTI4IGlmIHRoZSB0aW1lb3V0IGlzIGV4Y2VlZGVkXG4iCisiICAgICAgLXUgZmRcdFx0cmVhZCBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCBpbnB1dFxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFRoZSByZXR1cm4gY29kZSBpcyB6ZXJvLCB1bmxlc3MgZW5kLW9mLWZpbGUgaXMgZW5jb3VudGVyZWQsIHJlYWQgdGltZXMgIgorIm91dCxcbiIKKyIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKK21zZ3N0ciAiIgorIkx1a2VlIHJpdmluIHZha2lvc3nDtnR0ZWVzdMOkIGphIGpha2FhIHNlbiBrZW50dGlpbi5cbiIKKyIgICAgXG4iCisiICAgIEx1a2VlIHlrc2l0dMOkaXNlbiByaXZpbiB2YWtpb3N5w7Z0dGVlc3TDpCB0YWkgdGllZG9zdG9rYWh2YXN0YVxuIgorIiAgICBGRCBqb3Mga8OkeXRldMOkw6RuIC11IC12YWxpdHNpbnRhLiBSaXZpIGphZXRhYW4ga2VudHRpaW4ga3V0ZW4gc2FuYXRraW4sICIKKyJqYSBcbiIKKyIgICAgZW5zaW1tw6RpbmVuIHNhbmEgc2lqb2l0ZXRhYW4gZW5zaW1tw6Rpc2VlbiBOSU1FRU4sIHRvaW5lbiBUT0lTRUVOLCBqYSAiCisibmlpbiBcbiIKKyIgICAgZWRlbGxlZW4sIHlsaWrDpMOkdmllbiBzYW5vamVuIHNpam9pdHR1ZXNzYSB2aWltZWlzZWVuIE5JTUVFTi4gU2Fub2plbiBcbiIKKyIgICAgZXJvdHRpbWlrc2kgaHl2w6Rrc3l0w6TDpG4gdmFpbiAkSUZTLW11dXR0dWphc3NhIGlsbW9pdGV0dXQuXG4iCisiICAgIFxuIgorIiAgICBKb3MgTklNScOEIGVpIG9sZSBhbm5ldHR1LCBsdWV0dHUgcml2aSBzaWpvaXRldGFhbiBSRVBMWS1tdXV0dHVqYWFuLlxuIgorIiAgICBcbiIKKyIgICAgVmFsaXRzaW1ldDpcbiIKKyIgICAgICAtYSB0YXVsdWtrb1x0c2lqb2l0YSBzYW5hdCBqw6RyamVzdHlrc2Vzc8OkIHRhdWx1a2tvb24gVEFVTFVLS08sIGFsa2FlblxuIgorIiAgICBcdFx0aW5kZWtzaXN0w6Qgbm9sbGFcbiIKKyIgICAgICAtZCBlcm90aW4gXHRqYXRrYSBrdW5uZXMgZW5zaW1tw6RpbmVuIEVST1RUSU1FTiBtZXJra2kgb24gbHVldHR1LCBlaVxuIgorIiAgICBcdFx0cml2aW52YWlodG9cbiIKKyIgICAgICAtZSAgICAgICAgICAgICAgICBrw6R5dMOkIHJlYWRsaW5lYSByaXZpbiBsdWtlbWlzZWtzaSAiCisiaW50ZXJha3RpaXZpc2Vzc2EgXG4iCisiICAgIFx0XHRrb21lbnRvdHVsa2lzc2FcbiIKKyIgICAgICAtaSB0ZWtzdGlcdGvDpHl0w6QgVEVLU1RJw4QgcmVhZGxpbmVuIG9sZXR1c3Rla3N0aW7DpFxuIgorIiAgICAgIC1uIG3DpMOkcsOkXHRcdHBhbGFhLCBrdW4gTcOEw4RSw4QgbWVya2tpw6Qgb24gbHVldHR1LCBzZW4gc2lqYWFuIGV0dMOkIFxuIgorIiAgICBcdFx0b2RvdGV0YWFuIHJpdmludmFpaHRvYVxuIgorIiAgICAgIC1wIGtlaG90ZVx0dHVsb3N0YSBLRUhPVEUgaWxtYW4gcml2aW52YWlodG9hIGVubmVuIGx1a3VhXG4iCisiICAgICAgLXJcdFx0w6Rsw6Qgc2FsbGkga2Vub3ZpaXZvamVuIGvDpHl0dMO2w6RcbiIKKyIgICAgICAtcyBcdFx0w6Rsw6QgbsOkeXTDpCBww6TDpHR0ZWVsdMOkIG7DpHBww6RpbHR5asOkIG1lcmtrZWrDpFxuIgorIiAgICAgIC10IGFpa2FyYWphXHRrZXNrZXl0w6QgamEgcGFsYXV0YSBlcMOkb25uaXN0dW1pbmVuIGpvcyBrb2tvbmFpc3RhIHJpdmnDpFxuIgorIiAgICBcdFx0ZWkgc2FhZGEgbHVldHR1YSBzZWt1bm5laXNzYSBpbG1vaXRldHVuIEFJS0FSQUpBTiBwdWl0dGVpc3NhLlxuIgorIiAgICBcdFx0TXV1dHR1amFuIFRNT1VUIGFydm8gb24gb2xldHVzYXJ2by4gQUlLQVJBSkEgdm9pIG9sbGEgXG4iCisiICAgIFx0XHRyZWFhbGlsdWt1LlxuIgorIlx0XHRKb3MgQUlLQVJBSkEgb24gMCwgcmVhZCBwYWxhdXR0YWEgb25uaXN0dW1pc2VuIHZhaW4gam9zIHN5w7Z0ZSBvblxuIgorIlx0XHR2YWxtaWluYSBhbm5ldHVzc2EgdGllZG9zdG9rYWh2YXNzYS4gUGFsdXVhcnZvIG9uIHN1dXJlbXBpIFxuIgorIiAgICBcdFx0a3VpbiAxMjggam9zIGFpa2FyYWphIHlsaXR0eXlcbiIKKyIgICAgICAtdSBGRFx0XHRsdWUgdGllZG9zdG9rYWh2YXN0YSBGRCB2YWtpb3N5w7Z0ZXRpZWRvc3RvbiBzaWphYW5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsdXVhcnZvIG9uIG5vbGxhLCBlbGxlaSB0w7ZybcOkdMOkIHRpZWRvc3RvbiBsb3BwdW1pc2VlbiwgYWlrYXJhamFuXG4iCisiICAgIHlsaXR5a3NlZW4gdGFpIG1pa8OkbGkgLXU6bGxlIGFubmV0YWFuIHZpcmhlZWxsaW5lbiB0aWVkb3N0b2thaHZhLiIKKworIzogYnVpbHRpbnMuYzoxMDE0Cittc2dpZCAiIgorIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCisiICAgIFxuIgorIiAgICBDYXVzZXMgYSBmdW5jdGlvbiBvciBzb3VyY2VkIHNjcmlwdCB0byBleGl0IHdpdGggdGhlIHJldHVybiB2YWx1ZVxuIgorIiAgICBzcGVjaWZpZWQgYnkgTi4gIElmIE4gaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhhdCBvZiB0aGVcbiIKKyIgICAgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIHdpdGhpbiB0aGUgZnVuY3Rpb24gb3Igc2NyaXB0LlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCittc2dzdHIgIiIKKyJQYWxhdXR0YWEga29tZW50b3R1bGtpbiBmdW5rdGlvc3RhLlxuIgorIiAgICBcbiIKKyIgICAgQWloZXV0dGFhIGZ1bmt0aW9uIHRhaSBsdWV0dW4gc2tyaXB0aW4gcG9pc3R1bWlzZW4gYW5uZXR1bGxhICIKKyJwYWx1dWFydm9sbGEgTi5cbiIKKyIgICAgSm9zIE46w6TDpCBlaSBvbGUgYW5uZXR0dSwgcGFsYXV0ZXRhYW4gdmlpbWVpc2VuIGZ1bmt0aW9zc2EgdGFpICIKKyJza3JpcHRpc3PDpFxuIgorIiAgICBzdW9yaXRldHVuIGtvbWVubm9uIHBhbHV1YXJ2by5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIE46biwgdGFpIGVww6Rvbm5pc3R1bmVlbiBtaWvDpGxpIGtvbWVudG90dWxra2kgZWkgb2xlICIKKyJzdW9yaXR0YW1hc3NhXG4iCisiICAgIGZ1bmt0aW90YSB0YWkgc2tyaXB0acOkLiIKKworIzogYnVpbHRpbnMuYzoxMDI3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgXG4iCisiICAgIENoYW5nZSB0aGUgdmFsdWUgb2Ygc2hlbGwgYXR0cmlidXRlcyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBvclxuIgorIiAgICBkaXNwbGF5IHRoZSBuYW1lcyBhbmQgdmFsdWVzIG9mIHNoZWxsIHZhcmlhYmxlcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWEgIE1hcmsgdmFyaWFibGVzIHdoaWNoIGFyZSBtb2RpZmllZCBvciBjcmVhdGVkIGZvciBleHBvcnQuXG4iCisiICAgICAgLWIgIE5vdGlmeSBvZiBqb2IgdGVybWluYXRpb24gaW1tZWRpYXRlbHkuXG4iCisiICAgICAgLWUgIEV4aXQgaW1tZWRpYXRlbHkgaWYgYSBjb21tYW5kIGV4aXRzIHdpdGggYSBub24temVybyBzdGF0dXMuXG4iCisiICAgICAgLWYgIERpc2FibGUgZmlsZSBuYW1lIGdlbmVyYXRpb24gKGdsb2JiaW5nKS5cbiIKKyIgICAgICAtaCAgUmVtZW1iZXIgdGhlIGxvY2F0aW9uIG9mIGNvbW1hbmRzIGFzIHRoZXkgYXJlIGxvb2tlZCB1cC5cbiIKKyIgICAgICAtayAgQWxsIGFzc2lnbm1lbnQgYXJndW1lbnRzIGFyZSBwbGFjZWQgaW4gdGhlIGVudmlyb25tZW50IGZvciBhXG4iCisiICAgICAgICAgIGNvbW1hbmQsIG5vdCBqdXN0IHRob3NlIHRoYXQgcHJlY2VkZSB0aGUgY29tbWFuZCBuYW1lLlxuIgorIiAgICAgIC1tICBKb2IgY29udHJvbCBpcyBlbmFibGVkLlxuIgorIiAgICAgIC1uICBSZWFkIGNvbW1hbmRzIGJ1dCBkbyBub3QgZXhlY3V0ZSB0aGVtLlxuIgorIiAgICAgIC1vIG9wdGlvbi1uYW1lXG4iCisiICAgICAgICAgIFNldCB0aGUgdmFyaWFibGUgY29ycmVzcG9uZGluZyB0byBvcHRpb24tbmFtZTpcbiIKKyIgICAgICAgICAgICAgIGFsbGV4cG9ydCAgICBzYW1lIGFzIC1hXG4iCisiICAgICAgICAgICAgICBicmFjZWV4cGFuZCAgc2FtZSBhcyAtQlxuIgorIiAgICAgICAgICAgICAgZW1hY3MgICAgICAgIHVzZSBhbiBlbWFjcy1zdHlsZSBsaW5lIGVkaXRpbmcgaW50ZXJmYWNlXG4iCisiICAgICAgICAgICAgICBlcnJleGl0ICAgICAgc2FtZSBhcyAtZVxuIgorIiAgICAgICAgICAgICAgZXJydHJhY2UgICAgIHNhbWUgYXMgLUVcbiIKKyIgICAgICAgICAgICAgIGZ1bmN0cmFjZSAgICBzYW1lIGFzIC1UXG4iCisiICAgICAgICAgICAgICBoYXNoYWxsICAgICAgc2FtZSBhcyAtaFxuIgorIiAgICAgICAgICAgICAgaGlzdGV4cGFuZCAgIHNhbWUgYXMgLUhcbiIKKyIgICAgICAgICAgICAgIGhpc3RvcnkgICAgICBlbmFibGUgY29tbWFuZCBoaXN0b3J5XG4iCisiICAgICAgICAgICAgICBpZ25vcmVlb2YgICAgdGhlIHNoZWxsIHdpbGwgbm90IGV4aXQgdXBvbiByZWFkaW5nIEVPRlxuIgorIiAgICAgICAgICAgICAgaW50ZXJhY3RpdmUtY29tbWVudHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvdyBjb21tZW50cyB0byBhcHBlYXIgaW4gaW50ZXJhY3RpdmUgY29tbWFuZHNcbiIKKyIgICAgICAgICAgICAgIGtleXdvcmQgICAgICBzYW1lIGFzIC1rXG4iCisiICAgICAgICAgICAgICBtb25pdG9yICAgICAgc2FtZSBhcyAtbVxuIgorIiAgICAgICAgICAgICAgbm9jbG9iYmVyICAgIHNhbWUgYXMgLUNcbiIKKyIgICAgICAgICAgICAgIG5vZXhlYyAgICAgICBzYW1lIGFzIC1uXG4iCisiICAgICAgICAgICAgICBub2dsb2IgICAgICAgc2FtZSBhcyAtZlxuIgorIiAgICAgICAgICAgICAgbm9sb2cgICAgICAgIGN1cnJlbnRseSBhY2NlcHRlZCBidXQgaWdub3JlZFxuIgorIiAgICAgICAgICAgICAgbm90aWZ5ICAgICAgIHNhbWUgYXMgLWJcbiIKKyIgICAgICAgICAgICAgIG5vdW5zZXQgICAgICBzYW1lIGFzIC11XG4iCisiICAgICAgICAgICAgICBvbmVjbWQgICAgICAgc2FtZSBhcyAtdFxuIgorIiAgICAgICAgICAgICAgcGh5c2ljYWwgICAgIHNhbWUgYXMgLVBcbiIKKyIgICAgICAgICAgICAgIHBpcGVmYWlsICAgICB0aGUgcmV0dXJuIHZhbHVlIG9mIGEgcGlwZWxpbmUgaXMgdGhlIHN0YXR1cyBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBsYXN0IGNvbW1hbmQgdG8gZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHplcm8gaWYgbm8gY29tbWFuZCBleGl0ZWQgd2l0aCBhIG5vbi16ZXJvICIKKyJzdGF0dXNcbiIKKyIgICAgICAgICAgICAgIHBvc2l4ICAgICAgICBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGJhc2ggd2hlcmUgdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24gZGlmZmVycyBmcm9tIHRoZSBQb3NpeCBzdGFuZGFyZCB0b1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoIHRoZSBzdGFuZGFyZFxuIgorIiAgICAgICAgICAgICAgcHJpdmlsZWdlZCAgIHNhbWUgYXMgLXBcbiIKKyIgICAgICAgICAgICAgIHZlcmJvc2UgICAgICBzYW1lIGFzIC12XG4iCisiICAgICAgICAgICAgICB2aSAgICAgICAgICAgdXNlIGEgdmktc3R5bGUgbGluZSBlZGl0aW5nIGludGVyZmFjZVxuIgorIiAgICAgICAgICAgICAgeHRyYWNlICAgICAgIHNhbWUgYXMgLXhcbiIKKyIgICAgICAtcCAgVHVybmVkIG9uIHdoZW5ldmVyIHRoZSByZWFsIGFuZCBlZmZlY3RpdmUgdXNlciBpZHMgZG8gbm90IG1hdGNoLlxuIgorIiAgICAgICAgICBEaXNhYmxlcyBwcm9jZXNzaW5nIG9mIHRoZSAkRU5WIGZpbGUgYW5kIGltcG9ydGluZyBvZiBzaGVsbFxuIgorIiAgICAgICAgICBmdW5jdGlvbnMuICBUdXJuaW5nIHRoaXMgb3B0aW9uIG9mZiBjYXVzZXMgdGhlIGVmZmVjdGl2ZSB1aWQgYW5kXG4iCisiICAgICAgICAgIGdpZCB0byBiZSBzZXQgdG8gdGhlIHJlYWwgdWlkIGFuZCBnaWQuXG4iCisiICAgICAgLXQgIEV4aXQgYWZ0ZXIgcmVhZGluZyBhbmQgZXhlY3V0aW5nIG9uZSBjb21tYW5kLlxuIgorIiAgICAgIC11ICBUcmVhdCB1bnNldCB2YXJpYWJsZXMgYXMgYW4gZXJyb3Igd2hlbiBzdWJzdGl0dXRpbmcuXG4iCisiICAgICAgLXYgIFByaW50IHNoZWxsIGlucHV0IGxpbmVzIGFzIHRoZXkgYXJlIHJlYWQuXG4iCisiICAgICAgLXggIFByaW50IGNvbW1hbmRzIGFuZCB0aGVpciBhcmd1bWVudHMgYXMgdGhleSBhcmUgZXhlY3V0ZWQuXG4iCisiICAgICAgLUIgIHRoZSBzaGVsbCB3aWxsIHBlcmZvcm0gYnJhY2UgZXhwYW5zaW9uXG4iCisiICAgICAgLUMgIElmIHNldCwgZGlzYWxsb3cgZXhpc3RpbmcgcmVndWxhciBmaWxlcyB0byBiZSBvdmVyd3JpdHRlblxuIgorIiAgICAgICAgICBieSByZWRpcmVjdGlvbiBvZiBvdXRwdXQuXG4iCisiICAgICAgLUUgIElmIHNldCwgdGhlIEVSUiB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLUggIEVuYWJsZSAhIHN0eWxlIGhpc3Rvcnkgc3Vic3RpdHV0aW9uLiAgVGhpcyBmbGFnIGlzIG9uXG4iCisiICAgICAgICAgIGJ5IGRlZmF1bHQgd2hlbiB0aGUgc2hlbGwgaXMgaW50ZXJhY3RpdmUuXG4iCisiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgorIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCisiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKKyIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKKyIgICAgXG4iCisiICAgIFVzaW5nICsgcmF0aGVyIHRoYW4gLSBjYXVzZXMgdGhlc2UgZmxhZ3MgdG8gYmUgdHVybmVkIG9mZi4gIFRoZVxuIgorIiAgICBmbGFncyBjYW4gYWxzbyBiZSB1c2VkIHVwb24gaW52b2NhdGlvbiBvZiB0aGUgc2hlbGwuICBUaGUgY3VycmVudFxuIgorIiAgICBzZXQgb2YgZmxhZ3MgbWF5IGJlIGZvdW5kIGluICQtLiAgVGhlIHJlbWFpbmluZyBuIEFSR3MgYXJlIHBvc2l0aW9uYWxcbiIKKyIgICAgcGFyYW1ldGVycyBhbmQgYXJlIGFzc2lnbmVkLCBpbiBvcmRlciwgdG8gJDEsICQyLCAuLiAkbi4gIElmIG5vXG4iCisiICAgIEFSR3MgYXJlIGdpdmVuLCBhbGwgc2hlbGwgdmFyaWFibGVzIGFyZSBwcmludGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgorbXNnc3RyICIiCisiQXNldHRhYSB0YWkgcG9pc3RhYSBrb21lbnRvdHVsa2luIHZhbGl0c2ltaWEgamEgcG9zaXRpb25hYWxpc2lhICIKKyJwYXJhbWV0cmVqYS5cbiIKKyIgICAgXG4iCisiICAgIE11dXR0YWEga29tZW50b3R1bGtpbiBhdHRyaWJ1dXR0ZWphIGphIHBvc2l0aW9uYWFsaXNpYSBwYXJhbWV0cmVqYSwgdGFpXG4iCisiICAgIG7DpHl0dMOkw6Qga29tZW50b3R1bGtpbiBtdXV0dHVqaWVuIG5pbWV0IGphIGFydm90LlxuIgorIiAgICBcbiIKKyIgICAgVmFsaXRzaW1ldDpcbiIKKyIgICAgICAtYSAgTWVya2l0c2UgbHVvZHV0IHRhaSBtdXV0ZXR1dCBwYXJhbWV0cml0IHZpZW50acOkIHZhcnRlbi5cbiIKKyIgICAgICAtYiAgSWxtb2l0YSB0ecO2biBww6TDpHR0eW1pc2VzdMOkIHbDpGxpdHTDtm3DpHN0aS5cbiIKKyIgICAgICAtZSAgUG9pc3R1IHbDpGxpdHTDtm3DpHN0aSBqb3Mga29tZW50byBwYWxhdXR0YWEgbm9sbGFzdGEgcG9pa2tlYXZhbiAiCisiYXJ2b24uXG4iCisiICAgICAgLWYgIFBvaXN0YSB0aWVkb3N0b25pbWVuIGxhdmVubnVzIGvDpHl0w7ZzdMOkLlxuIgorIiAgICAgIC1oICBtdWlzdGEga29tZW50b2plbiBzaWphaW50aSBzaXTDpCBtdWthYSBrdW4gbmlpdMOkIGV0c2l0w6TDpG4uXG4iCisiICAgICAgLWsgIGthaWtraSBhc2V0dWtzZXQgc2lqb2l0ZXRhYW4ga29tZW5ub24geW1ww6RyaXN0w7bDtm4sIGVpIHZhaW4gbmUsXG4iCisiICAgICAgICAgIGpvdGthIG92YXQgZW5uZW4ga29tZW5ub24gbmltZcOkLlxuIgorIiAgICAgIC1tICBUecO2bm9oamF1cyBvbiBrw6R5dMO2c3PDpC5cbiIKKyIgICAgICAtbiAgTHVlIGtvbWVubm90IG11dHRhIMOkbMOkIHN1b3JpdGEgbmlpdMOkLlxuIgorIiAgICAgIC1vICB2YWxpdHNpbWVuIG5pbWlcbiIKKyIgICAgICAgICAgIEFzZXRhIG11dXR0dWphIHZhbGl0c2ltZW4gbmltZW4gbXVrYWFuOlxuIgorIiAgICAgICAgICAgICAgIGFsbGV4cG9ydFx0c2FtYSBrdWluIC1hXG4iCisiICAgICAgICAgICAgICAgYnJhY2VleHBhbmRcdHNhbWEga3VpbiAtQlxuIgorIiAgICAgICAgICAgICAgIGVtYWNzXHRcdGvDpHl0w6QgZW1hY3MtdHl5bGlzdMOkIHJpdmllZGl0b2ludGlhXG4iCisiICAgICAgICAgICAgICAgZXJyZXhpdFx0XHRzYW1hIGt1aW4gLWVcbiIKKyIgICAgICAgICAgICAgICBlcnJ0cmFjZVx0XHRzYW1hIGt1aW4gLUVcbiIKKyIgICAgICAgICAgICAgICBmdW5jdHJhY2VcdHNhbWEga3VpbiAtVFxuIgorIiAgICAgICAgICAgICAgIGhhc2hhbGxcdFx0c2FtYSBrdWluIC1oXG4iCisiICAgICAgICAgICAgICAgaGlzdGV4cGFuZFx0c2FtYSBrdWluIC1IXG4iCisiICAgICAgICAgICAgICAgaGlzdG9yeVx0XHRvdGEga29tZW50b2hpc3RvcmlhIGvDpHl0dMO2w7ZuXG4iCisiICAgICAgICAgICAgICAgaWdub3JlZW9mXHRrb21lbnRvdHVsa2tpIGVpIHBvaXN0dSBzecO2dHRlZW4gbG9wcHVlc3NhXG4iCisiICAgICAgICAgICAgICAgaW50ZXJhY3RpdmUtY29tbWVudHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbGxpaSBrb21tZW50aXQgaW50ZXJha3RpaXZpc2lzc2EgIgorImtvbWVubm9pc3NhXG4iCisiICAgICAgICAgICAgICAga2V5d29yZFx0XHRzYW1hIGt1aW4gLWtcbiIKKyIgICAgICAgICAgICAgICBtb25pdG9yXHRcdHNhbWEga3VpbiAtbVxuIgorIiAgICAgICAgICAgICAgIG5vY2xvYmJlclx0c2FtYSBrdWluIC1DXG4iCisiICAgICAgICAgICAgICAgbm9leGVjXHRcdHNhbWEga3VpbiAtblxuIgorIiAgICAgICAgICAgICAgIG5vZ2xvYlx0XHRzYW1hIGt1aW4gLWZcbiIKKyIgICAgICAgICAgICAgICBub2xvZ1x0XHR0w6RsbMOkIGhldGtlbGzDpCBoeXbDpGtzeXR0eSBtdXR0YSBlaSBodW9taW9pZGFcbiIKKyIgICAgICAgICAgICAgICBub3RpZnlcdFx0c2FtYSBrdWluIC1iXG4iCisiICAgICAgICAgICAgICAgbm91bnNldFx0XHRzYW1hIGt1aW4gLXVcbiIKKyIgICAgICAgICAgICAgICBvbmVjbWRcdFx0c2FtYSBrdWluIC10XG4iCisiICAgICAgICAgICAgICAgcGh5c2ljYWxcdFx0c2FtYSBrdWluIC1QXG4iCisiICAgICAgICAgICAgICAgcGlwZWZhaWxcdFx0a29tZW50b3B1dGtlbiBwYWx1dWFydm8gb24gdmlpbWVpc2VuIG5vbGxhc3RhXG4iCisiICAgICAgICAgICAgICAgXHRcdFx0cG9pa2tlYXZhbiBrb21lbm5vbiBwYWx1dWFydm8sIHRhaSBub2xsYSBqb3NcbiIKKyIgICAgICAgICAgICAgICBcdFx0XHRtaWvDpMOkbiBrb21lbnRvIGVpIHBhbGF1dHRhbnV0IG5vbGxhc3RhIFxuIgorIiAgICAgICAgICAgICAgIFx0XHRcdHBvaWtrZWF2YWFcbiIKKyIgICAgICAgICAgICAgICBwb3NpeFx0XHRtdXV0YSBiYXNoaW4gdG9pbWludGEgdmFzdGFhbWFhbiBQb3NpeGlhXG4iCisiICAgICAgICAgICAgICAgcHJpdmlsZWdlZFx0c2FtYSBrdWluIC1wXG4iCisiICAgICAgICAgICAgICAgdmVyYm9zZVx0XHRzYW1hIGt1aW4gLXZcbiIKKyIgICAgICAgICAgICAgICB2aVx0XHRrw6R5dMOkIHZpLXR5eWxpc3TDpCBrb21lbnRvcml2aWVkaXRvaW50aWFcbiIKKyIgICAgICAgICAgICAgICB4dHJhY2VcdFx0c2FtYSBrdWluIC14XG4iCisiICAgICAgLXAgIEFzZXRldGFhbiBqb3MgdG9kZWxsaW5lbiBqYSBlZmVrdGlpdmluZW4gdWlkIGVpdsOkdCB0w6RzbcOkw6QuXG4iCisiICAgICAgICAgIFBvaXN0YWEgJEVOVi10aWVkb3N0b24ga8Okc2l0dGVseW4gamEgZnVua3Rpb2lkZW4gdHVvbm5pbiAiCisia8OkeXTDtnN0w6QuXG4iCisiICAgICAgICAgIFTDpG3DpG4gdmFsaXRzaW1lbiBwb2lzdGFtaW5lbiBhaWhldXR0YWEgZWZla3RpaXZpc2VuIHVpZDpuIGphIGdpZDoiCisiblxuIgorIiAgICAgICAgICAoa8OkeXR0w6Rqw6QtIGphIHJ5aG3DpHR1bm51cykgYXNldHRhbWlzZW4gdG9kZWxsaXNla3NpIHVpZDprc2kgamEgXG4iCisiICAgICAgICAgIGdpZDprc2kuXG4iCisiICAgICAgLXQgIFBvaXN0dSB5aGRlbiBrb21lbm5vbiBsdWtlbWlzZW4gamEgc3Vvcml0dGFtaXNlbiBqw6Rsa2Vlbi5cbiIKKyIgICAgICAtdSAgS29odGVsZSBhc2V0dGFtYXR0b21pYSBtdXV0dHVqaWEgdmlyaGVlbsOkIGtvcnZhdWtzZW4geWh0ZXlkZXNzw6QuXG4iCisiICAgICAgLXYgIFR1bG9zdGEga29tZW50b3R1bGtpbiBzecO2dGVyaXZpdCBsdWtlbWlzZW4gbXnDtnTDpC5cbiIKKyIgICAgICAteCAgVHVsb3N0YSBrb21lbm5vdCBhcmd1bWVudHRlaW5lZW4gbmlpdMOkIHN1b3JpdGV0dGFlc3NhLlxuIgorIiAgICAgIC1CICBLb21lbnRvdHVsa2tpIHN1b3JpdHRhYSBhYWx0b3N1bGtlaXR0ZW4gbGFhamVudGFtaXNlblxuIgorIiAgICAgIC1DICBKb3MgYXNldGV0dHUsIGVzdMOkw6QgdGF2YWxsaXN0ZW4gdGllZG9zdG9qZW4gcMOkw6RsbGVraXJqb2l0dGFtaXNlblxuIgorIiAgICAgICAgICB1dWRlbGxlZW5vaGphdWtzZWxsYS5cbiIKKyIgICAgICAtRSAgSm9zIGFzZXRldHR1LCBFUlIta2FhcHBhdXMgcGVyaXl0eXkgZnVua3Rpb2loaW5cbiIKKyIgICAgICAtSCAgT3RhICEtdHl5bGluZW4gaGlzdG9yaWFuIGtvcnZhdXMga8OkeXR0w7bDtm4uIFTDpG3DpCBvbiAiCisib2xldHVzYXJ2b2lzZXN0aVxuIgorIiAgICAgICAgICBww6TDpGxsw6QsIG1pa8OkbGkga29tZW50b3R1bGtraSBvbiBpbnRlcmFrdGlpdmluZW4uXG4iCisiICAgICAgLVAgIEpvcyBhc2V0ZXR0dSwgw6Rsw6Qgc2V1cmFhIHN5bWJvbGlzaWEgbGlua2tlasOkIHN1b3JpdGV0dGFlc3NhXG4iCisiICAgICAgICAgIGhha2VtaXN0b2EgdmFpaHRhdmlhIGtvbWVudG9qYSwga3V0ZW4gY2QuXG4iCisiICAgICAgLVQgIEpvcyBhc2V0ZXR0dSwgZnVua3Rpb3QgcGVyaXbDpHQgREVCVUcta2FhcHBhdWtzZW5cbiIKKyIgICAgICAtICAgU2lqb2l0YSBsb3B1dCBhcmd1bWVudGl0IHBvc2l0aW9uYWFsaXNpaW4gcGFyYW1ldHJlaWhpbi4gLXggLSBqYSBcbiIKKyIgICAgICAgICAgLXYgLW9wdGlvdCBwb2lzdGV0YWFuIGvDpHl0w7ZzdMOkLlxuIgorIiAgICBcbiIKKyIgICAgTWlrw6RsaSBrw6R5dGV0w6TDpG4g4oCdK+KAnS1tZXJra2nDpCDigJ0t4oCdOm4gc2lqYWFuLCBvcHRpb3Qgb3RldGFhbiBwb2lzIHDDpMOkbHTDpC5cbiIKKyIgICAgVmFsaXRzaW1ldCB2b2lkYWFuIG15w7ZzIGFzZXR0YWEga29tZW50b3R1bGtpbiBrw6R5bm5pc3R5a3Nlc3PDpC5cbiIKKyIgICAgQXNldGV0dXQgdmFsaXRzaW1ldCBsw7Z5dHl2w6R0IG11dXR0dWphc3RhICQtLiBMb3B1dCBOIEFSR1VNRU5UVElBIG92YXRcbiIKKyIgICAgcG9zaXRpb25hYWxpc2lhIHBhcmFtZXRyZWphIGphIGFzZXRldGFhbiBqw6RyamVzdHlrc2Vzc8OkIG11dXR0dWppaW5cbiIKKyIgICAgJDEsICQyLCAuLiAkTi4gSm9zIGFyZ3VtZW50dGVqYSBlaSBvbGUgYW5uZXR0dSwgdHVsb3N0ZXRhYW4ga2Fpa2tpXG4iCisiICAgIHltcMOkcmlzdMO2bXV1dHR1amF0LlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW1pc2VuIGVsbGVpIG9sZSBhbm5ldHR1IHZpcmhlZWxsaXN0w6QgdmFsaXRzaW50YS4iCisKKyM6IGJ1aWx0aW5zLmM6MTExMgorbXNnaWQgIiIKKyJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCisiICAgIFxuIgorIiAgICBGb3IgZWFjaCBOQU1FLCByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgdmFyaWFibGUgb3IgZnVuY3Rpb24uXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1mXHR0cmVhdCBlYWNoIE5BTUUgYXMgYSBzaGVsbCBmdW5jdGlvblxuIgorIiAgICAgIC12XHR0cmVhdCBlYWNoIE5BTUUgYXMgYSBzaGVsbCB2YXJpYWJsZVxuIgorIiAgICBcbiIKKyIgICAgV2l0aG91dCBvcHRpb25zLCB1bnNldCBmaXJzdCB0cmllcyB0byB1bnNldCBhIHZhcmlhYmxlLCBhbmQgaWYgdGhhdCAiCisiZmFpbHMsXG4iCisiICAgIHRyaWVzIHRvIHVuc2V0IGEgZnVuY3Rpb24uXG4iCisiICAgIFxuIgorIiAgICBTb21lIHZhcmlhYmxlcyBjYW5ub3QgYmUgdW5zZXQ7IGFsc28gc2VlIGByZWFkb25seScuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKK21zZ3N0ciAiIgorIlBvaXN0YSB5bXDDpHJpc3TDtm11dXR0dWppZW4gamEgZnVua3Rpb2lkZW4gYXJ2b2phIGphIGF0dHJpYnV1dHRlamEuXG4iCisiXG4iCisiICAgIFBvaXN0YSBqb2thaXNlbiBOSU1JLW5pbWluZW4gbXV1dHR1amEgdGFpIGZ1bmt0aW8uXG4iCisiXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWZcdGtvaHRlbGUgam9rYWlzdGEgTklNRcOEIGZ1bmt0aW9uYVxuIgorIiAgICAgIC12XHRrb2h0ZWxlIGpva2Fpc3RhIE5JTUXDhCBtdXV0dHVqYW5hXG4iCisiICAgIFxuIgorIiAgICBJbG1hbiB2YWxpdHNpbWlhIHVuc2V0IHlyaXR0w6TDpCBlbnNpbiBwb2lzdGFhIG11dXR0dWphbiwgamEgbWlrw6RsaSBzZVxuIgorIiAgICBlcMOkb25uaXN0dXUsIHlyaXR0w6TDpCBwb2lzdGFhIGZ1bmt0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgSm9pdGFpbiBtdXV0dHVqaWEgZWkgdm9pIHBvaXN0YWE7IGthdHNvIG15w7ZzIOKAnXJlYWRvbmx54oCdLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4gcGFpdHNpIGpvcyBvbiBhbm5ldHR1IHZpcmhlZWxsaW5lbiB2YWxpdHNpblxuIgorIiAgICB0YWkgTklNSSBvbiBraXJqb2l0dXNzdW9qYXR0dS4iCisKKyM6IGJ1aWx0aW5zLmM6MTEzMgorbXNnaWQgIiIKKyJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgorIiAgICBcbiIKKyIgICAgTWFya3MgZWFjaCBOQU1FIGZvciBhdXRvbWF0aWMgZXhwb3J0IHRvIHRoZSBlbnZpcm9ubWVudCBvZiBzdWJzZXF1ZW50bHlcbiIKKyIgICAgZXhlY3V0ZWQgY29tbWFuZHMuICBJZiBWQUxVRSBpcyBzdXBwbGllZCwgYXNzaWduIFZBTFVFIGJlZm9yZSAiCisiZXhwb3J0aW5nLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZlx0cmVmZXIgdG8gc2hlbGwgZnVuY3Rpb25zXG4iCisiICAgICAgLW5cdHJlbW92ZSB0aGUgZXhwb3J0IHByb3BlcnR5IGZyb20gZWFjaCBOQU1FXG4iCisiICAgICAgLXBcdGRpc3BsYXkgYSBsaXN0IG9mIGFsbCBleHBvcnRlZCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9uc1xuIgorIiAgICBcbiIKKyIgICAgQW4gYXJndW1lbnQgb2YgYC0tJyBkaXNhYmxlcyBmdXJ0aGVyIG9wdGlvbiBwcm9jZXNzaW5nLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKK21zZ3N0ciAiIgorIkFzZXRhIHltcMOkcmlzdMO2bXV1dHR1amllbiB2aWVudGlhdHRyaWJ1dXRpbi5cbiIKKyIgICAgXG4iCisiICAgIE1lcmtpdHNlIGt1a2luIE5JTUkgdmlldMOkdsOka3NpIGF1dG9tYWF0dGlzZXN0aSBzdW9yaXRldHR1amVuIGtvbWVudG9qZW5cbiIKKyIgICAgeW1ww6RyaXN0w7bDtm4uIEpvcyBBUlZPIG9uIGFubmV0dHUsIHNlIHNpam9pdGV0YWFuIE5JTUVFTiBlbm5lbiB2aWVudGnDpC5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWZcdHZpaXR0YWEga29tZW50b3R1bGtpbiBmdW5rdGlvaWhpblxuIgorIiAgICAgIC1uXHRwb2lzdGEgam9rYWlzZWx0YSBOSU1FTFTDhCB2aWVudGlhdHRyaWJ1dXR0aVxuIgorIiAgICAgIC1wXHRsaXN0YWEga2Fpa2tpIHZpZWR5dCBtdXV0dHVqYXQgamEgZnVua3Rpb3RcbiIKKyIgICAgXG4iCisiICAgIOKAnS0t4oCdIGFyZ3VtZW50dGluYSBsb3BldHRhYSB2YWxpdHNpbWllbiBrw6RzaXR0ZWx5bi5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIG9ubmlzdHVuZWVuIHBhaXRzaSBqb3Mgb24gYW5uZXR0dSB2aXJoZWVsbGluZW4gdmFsaXRzaW5cbiIKKyIgICAgdGFpIE5JTUkgb24gdmlyaGVlbGxpbmVuLiIKKworIzogYnVpbHRpbnMuYzoxMTUxCittc2dpZCAiIgorIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKKyIgICAgXG4iCisiICAgIE1hcmsgZWFjaCBOQU1FIGFzIHJlYWQtb25seTsgdGhlIHZhbHVlcyBvZiB0aGVzZSBOQU1FcyBtYXkgbm90IGJlXG4iCisiICAgIGNoYW5nZWQgYnkgc3Vic2VxdWVudCBhc3NpZ25tZW50LiAgSWYgVkFMVUUgaXMgc3VwcGxpZWQsIGFzc2lnbiBWQUxVRVxuIgorIiAgICBiZWZvcmUgbWFya2luZyBhcyByZWFkLW9ubHkuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1hXHRyZWZlciB0byBpbmRleGVkIGFycmF5IHZhcmlhYmxlc1xuIgorIiAgICAgIC1BXHRyZWZlciB0byBhc3NvY2lhdGl2ZSBhcnJheSB2YXJpYWJsZXNcbiIKKyIgICAgICAtZlx0cmVmZXIgdG8gc2hlbGwgZnVuY3Rpb25zXG4iCisiICAgICAgLXBcdGRpc3BsYXkgYSBsaXN0IG9mIGFsbCByZWFkb25seSB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9uc1xuIgorIiAgICBcbiIKKyIgICAgQW4gYXJndW1lbnQgb2YgYC0tJyBkaXNhYmxlcyBmdXJ0aGVyIG9wdGlvbiBwcm9jZXNzaW5nLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKK21zZ3N0ciAiIgorIk1lcmtpdHNlIHltcMOkcmlzdMO2bXV1dHR1amF0IGtpcmpvaXR1c3N1b2phdHVpa3NpLlxuIgorIiAgICBcbiIKKyIgICAgTWVya2l0c2Uga3VraW4gTklNSSBraXJqb2l0dXNzdW9qYXR1a3NpOyBuw6RpZGVuIE5JTUlFTiBhcnZvYSBlaSB2b2lcbiIKKyIgICAgbXV1dHRhYS4gSm9zIEFSVk8gb24gYW5uZXR0dSwgc2lqb2l0YSBzZSBOSU1FRU4gZW5uZW4gbWVya2l0c2VtaXN0w6RcbiIKKyIgICAga2lyam9pdHVzc3VvamF0dWtzaS5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWFcdHZpaXR0YWEgaW5kZWtzb2lkdW4gdGF1bHVrb24gbXV1dHR1amlpblxuIgorIiAgICAgIC1BXHR2aWl0dGFhIGFzc29zaWF0aWl2aXNlbiB0YXVsdWtvbiBtdXV0dHVqaWluXG4iCisiICAgICAgLWZcdHZpaXR0YWEgZnVua3Rpb2loaW5cbiIKKyIgICAgICAtcFx0bsOkeXTDpCBsaXN0YSBraXJqb2l0dXNzdW9qYXR1aXN0YSBtdXV0dHVqaXN0YSBqYSBmdW5rdGlvaXN0YVxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnR0aSDigJ0tLeKAnSBww6TDpHR0w6TDpCB2YWxpdHNpbWllbiBrw6RzaXR0ZWx5bi5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIG9ubmlzdHVuZWVuIHBhaXRzaSBqb3Mgb24gYW5uZXR0dSB2aXJoZWVsbGluZW4gdmFsaXRzaW5cbiIKKyIgICAgdGFpIE5JTUkgb24gdmlyaGVlbGxpbmVuLiIKKworIzogYnVpbHRpbnMuYzoxMTcyCittc2dpZCAiIgorIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgXG4iCisiICAgIFJlbmFtZSB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzICROKzEsJE4rMiAuLi4gdG8gJDEsJDIgLi4uICBJZiBOIGlzXG4iCisiICAgIG5vdCBnaXZlbiwgaXQgaXMgYXNzdW1lZCB0byBiZSAxLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgorbXNnc3RyICIiCisiU2lpcnLDpCBwb3NpdGlvbmFhbGlzaWEgcGFyYW1ldHJlamEuXG4iCisiICAgIFxuIgorIiAgICBTaWlycsOkIHBvc2l0aW9uYWFsaXNpYSBwYXJhbWV0cmVqYSAkTisxLCAkTisyIC4uLiBwYXJhbWV0cmVpaGluICQxLCAiCisiJDIgLi4uXG4iCisiICAgIEpvcyBOOsOkw6QgZWkgb2xlIGFubmV0dHUsIHNlbiBvbGV0ZXRhYW4gb2xldmFuIDEuXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSBvbm5pc3R1bmVlbiBlbGxlaSBOIG9sZSBuZWdhdGlpdmluZW4gdGFpIHN1dXJlbXBpIGt1aW4gJCMuIgorCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5Cittc2dpZCAiIgorIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCisiICAgIFxuIgorIiAgICBSZWFkIGFuZCBleGVjdXRlIGNvbW1hbmRzIGZyb20gRklMRU5BTUUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuICBUaGVcbiIKKyIgICAgZW50cmllcyBpbiAkUEFUSCBhcmUgdXNlZCB0byBmaW5kIHRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBGSUxFTkFNRS5cbiIKKyIgICAgSWYgYW55IEFSR1VNRU5UUyBhcmUgc3VwcGxpZWQsIHRoZXkgYmVjb21lIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgd2hlbiBGSUxFTkFNRSBpcyBleGVjdXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCBpbiBGSUxFTkFNRTsgZmFpbHMgaWZcbiIKKyIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgorbXNnc3RyICIiCisiU3Vvcml0dGFhIHRpZWRvc3RvbiBrb21lbm5vdCBueWt5aXNlc3PDpCBrb21lbnRvdHVsa2lzc2EuXG4iCisiICAgIFxuIgorIiAgICBMdWUgamEgc3Vvcml0YSBrb21lbm5vdCBUSUVET1NUT1NUQSBueWt5aXNlc3PDpCB0dWxraXNzYS4gJFBBVEg6aW5cbiIKKyIgICAga29tcG9uZW50dGVqYSBrw6R5dGV0w6TDpG4gVElFRE9TVE9OIHNpc8OkbHTDpHbDpG4gaGFrZW1pc3RvbiBoYXVzc2EuXG4iCisiICAgIE1haGRvbGxpc2V0IEFSR1VNRU5USVQgc2lqb2l0ZXRhYW4gcG9zaXRpb25hYWxpc2lrc2kgcGFyYW1ldHJlaWtzaVxuIgorIiAgICBUSUVET1NUT0Egc3Vvcml0ZXR0YWVzc2EuXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSB2aWltZWlzZW4gVElFRE9TVE9OIHN1b3JpdGV0dW4ga29tZW5ub24gcGFsdXVhcnZvbjsgIgorImVww6Rvbm5pc3R1dVxuIgorIiAgICBtaWvDpGxpIFRJRURPU1RPQSBlaSB2b2lkYSBsdWtlYS4iCisKKyM6IGJ1aWx0aW5zLmM6MTIxNQorbXNnaWQgIiIKKyJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKKyIgICAgXG4iCisiICAgIFN1c3BlbmQgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHNoZWxsIHVudGlsIGl0IHJlY2VpdmVzIGEgU0lHQ09OVCBzaWduYWwuXG4iCisiICAgIFVubGVzcyBmb3JjZWQsIGxvZ2luIHNoZWxscyBjYW5ub3QgYmUgc3VzcGVuZGVkLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZlx0Zm9yY2UgdGhlIHN1c3BlbmQsIGV2ZW4gaWYgdGhlIHNoZWxsIGlzIGEgbG9naW4gc2hlbGxcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyJLZXNrZXl0dMOkw6Qga29tZW50b3R1bGtpbiBzdW9yaXR1a3Nlbi5cbiIKKyIgICAgXG4iCisiICAgIEtlc2tleXR0w6TDpCB0w6Rtw6RuIHR1bGtpbiBzdW9yaXR1a3NlbiBrdW5uZXMgc2Ugc2FhIFNJR0NPTlQtc2lnbmFhbGluLlxuIgorIiAgICBTaXPDpMOkbmtpcmphdXR1bWlzdHVsa2tlamEgZWkgdm9pIGtlc2tleXR0w6TDpCBrdWluIHbDpGtpc2luLlxuIgorIiAgICBcbiIKKyIgICAgVmFsaXRzaW1ldDpcbiIKKyIgICAgICAtZlx0cGFrb3RhIGtlc2tleXR0w6Rtw6TDpG4sIHZhaWtrYSB0dWxra2kgb2xpc2kgc2lzw6TDpG5raXJqYXV0dW1pcy1cbiIKKyIgICAgICAgIFx0dHVsa2tpLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4gcGFpdHNpIGpvcyB0ecO2bm9oamF1cyBlaSBvbGUga8OkeXTDtnNzw6QgdGFpICIKKyJ0YXBhaHR1dVxuIgorIiAgICB2aXJoZS4iCisKKyM6IGJ1aWx0aW5zLmM6MTIzMQorIywgZnV6enkKK21zZ2lkICIiCisiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgorIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCisiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCisiICAgIFxuIgorIiAgICAgIC1hIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMuXG4iCisiICAgICAgLWIgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGJsb2NrIHNwZWNpYWwuXG4iCisiICAgICAgLWMgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGNoYXJhY3RlciBzcGVjaWFsLlxuIgorIiAgICAgIC1kIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBhIGRpcmVjdG9yeS5cbiIKKyIgICAgICAtZSBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgZXhpc3RzLlxuIgorIiAgICAgIC1mIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMgYW5kIGlzIGEgcmVndWxhciBmaWxlLlxuIgorIiAgICAgIC1nIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBzZXQtZ3JvdXAtaWQuXG4iCisiICAgICAgLWggRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgc3ltYm9saWMgbGluay5cbiIKKyIgICAgICAtTCBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBzeW1ib2xpYyBsaW5rLlxuIgorIiAgICAgIC1rIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBoYXMgaXRzIGBzdGlja3knIGJpdCBzZXQuXG4iCisiICAgICAgLXAgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgbmFtZWQgcGlwZS5cbiIKKyIgICAgICAtciBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgcmVhZGFibGUgYnkgeW91LlxuIgorIiAgICAgIC1zIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMgYW5kIGlzIG5vdCBlbXB0eS5cbiIKKyIgICAgICAtUyBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBzb2NrZXQuXG4iCisiICAgICAgLXQgRkQgICAgICAgICAgVHJ1ZSBpZiBGRCBpcyBvcGVuZWQgb24gYSB0ZXJtaW5hbC5cbiIKKyIgICAgICAtdSBGSUxFICAgICAgICBUcnVlIGlmIHRoZSBmaWxlIGlzIHNldC11c2VyLWlkLlxuIgorIiAgICAgIC13IEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgd3JpdGFibGUgYnkgeW91LlxuIgorIiAgICAgIC14IEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgZXhlY3V0YWJsZSBieSB5b3UuXG4iCisiICAgICAgLU8gRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBlZmZlY3RpdmVseSBvd25lZCBieSB5b3UuXG4iCisiICAgICAgLUcgRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBlZmZlY3RpdmVseSBvd25lZCBieSB5b3VyIGdyb3VwLlxuIgorIiAgICAgIC1OIEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaGFzIGJlZW4gbW9kaWZpZWQgc2luY2UgaXQgd2FzIGxhc3QgIgorInJlYWQuXG4iCisiICAgIFxuIgorIiAgICAgIEZJTEUxIC1udCBGSUxFMiAgVHJ1ZSBpZiBmaWxlMSBpcyBuZXdlciB0aGFuIGZpbGUyIChhY2NvcmRpbmcgdG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWNhdGlvbiBkYXRlKS5cbiIKKyIgICAgXG4iCisiICAgICAgRklMRTEgLW90IEZJTEUyICBUcnVlIGlmIGZpbGUxIGlzIG9sZGVyIHRoYW4gZmlsZTIuXG4iCisiICAgIFxuIgorIiAgICAgIEZJTEUxIC1lZiBGSUxFMiAgVHJ1ZSBpZiBmaWxlMSBpcyBhIGhhcmQgbGluayB0byBmaWxlMi5cbiIKKyIgICAgXG4iCisiICAgIFN0cmluZyBvcGVyYXRvcnM6XG4iCisiICAgIFxuIgorIiAgICAgIC16IFNUUklORyAgICAgIFRydWUgaWYgc3RyaW5nIGlzIGVtcHR5LlxuIgorIiAgICBcbiIKKyIgICAgICAtbiBTVFJJTkdcbiIKKyIgICAgICAgICBTVFJJTkcgICAgICBUcnVlIGlmIHN0cmluZyBpcyBub3QgZW1wdHkuXG4iCisiICAgIFxuIgorIiAgICAgIFNUUklORzEgPSBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgZXF1YWwuXG4iCisiICAgICAgU1RSSU5HMSAhPSBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgbm90IGVxdWFsLlxuIgorIiAgICAgIFNUUklORzEgPCBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiBTVFJJTkcxIHNvcnRzIGJlZm9yZSBTVFJJTkcyICIKKyJsZXhpY29ncmFwaGljYWxseS5cbiIKKyIgICAgICBTVFJJTkcxID4gU1RSSU5HMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIFRydWUgaWYgU1RSSU5HMSBzb3J0cyBhZnRlciBTVFJJTkcyIGxleGljb2dyYXBoaWNhbGx5LlxuIgorIiAgICBcbiIKKyIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgorIiAgICBcbiIKKyIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgorIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKKyIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgorIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCisiICAgIFxuIgorIiAgICAgIGFyZzEgT1AgYXJnMiAgIEFyaXRobWV0aWMgdGVzdHMuICBPUCBpcyBvbmUgb2YgLWVxLCAtbmUsXG4iCisiICAgICAgICAgICAgICAgICAgICAgLWx0LCAtbGUsIC1ndCwgb3IgLWdlLlxuIgorIiAgICBcbiIKKyIgICAgQXJpdGhtZXRpYyBiaW5hcnkgb3BlcmF0b3JzIHJldHVybiB0cnVlIGlmIEFSRzEgaXMgZXF1YWwsIG5vdC1lcXVhbCxcbiIKKyIgICAgbGVzcy10aGFuLCBsZXNzLXRoYW4tb3ItZXF1YWwsIGdyZWF0ZXItdGhhbiwgb3IgZ3JlYXRlci10aGFuLW9yLWVxdWFsXG4iCisiICAgIHRoYW4gQVJHMi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgRVhQUiBldmFsdWF0ZXMgdG8gdHJ1ZTsgZmFpbHMgaWYgRVhQUiBldmFsdWF0ZXMgdG9cbiIKKyIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCittc2dzdHIgIiIKKyJFdmFsdW9pIGVoZG9sbGlzZW4gbGF1c2Vra2Vlbi5cbiIKKyIgICAgXG4iCisiICAgIFBvaXN0dXUgYXJ2b2xsYSAwICh0b3NpKSB0YWkgMSAoZXDDpHRvc2kpIHJpaXBwdWVuIExBVVNFS0tFRU4gIgorImV2YWx1b2lubmlzdGEuXG4iCisiICAgIExhdXNla2tlZW4gdm9pdmF0IG9sbGEgdW5hYXJpc2lhIHRhaSBiaW7DpMOkcmlzacOkLiBVbmFhcmlzaWEgbGF1c2Vra2VpdGFcbiIKKyIgICAga8OkeXRldMOkw6RuIHVzZWluIHRhcmtpc3RhbWFhbiB0aWVkb3N0b24gdGlsYS4gT24gbXnDtnMgbWVya2tpam9uby1cbiIKKyIgICAgb3BlcmFhdHRvcmVpdGEsIGphIG9wZXJhYXR0b3JlaXRhIG51bWVyb2lkZW4gdmVydGFpbHV1bi5cbiIKKyIgICAgXG4iCisiICAgIFRpZWRvc3RvLW9wZXJhYXR0b3JpdDpcbiIKKyIgICAgXG4iCisiICAgICAgLWEgVElFRE9TVE8gICAgICAgIFRvc2kgam9zIHRpZWRvc3RvIG9uIG9sZW1hc3NhLlxuIgorIiAgICAgIC1iIFRJRURPU1RPICAgICAgICBUb3NpIGpvcyB0aWVkb3N0byBvbiBsb2hrb2xhaXRlLlxuIgorIiAgICAgIC1jIFRJRURPU1RPICAgICAgICBUb3NpIGpvcyB0aWVkb3N0byBvbiBtZXJra2lsYWl0ZS5cbiIKKyIgICAgICAtZCBUSUVET1NUTyAgICAgICAgVG9zaSBqb3MgdGllZG9zdG8gb24gaGFrZW1pc3RvLlxuIgorIiAgICAgIC1lIFRJRURPU1RPICAgICAgICBUb3NpIGpvcyB0aWVkb3N0byBvbiBvbGVtYXNzYS5cbiIKKyIgICAgICAtZiBUSUVET1NUTyAgICAgICAgVG9zaSBqb3MgdGllZG9zdG8gb24gb2xlbWFzc2EgamEgb24gdGF2YWxsaW5lbiAiCisidGllZG9zdG8uXG4iCisiICAgICAgLWcgVElFRE9TVE8gICAgICAgIFRvc2kgam9zIHRpZWRvc3RvbGxhIG9uIHNldC1ncm91cC1pZCAtYml0dGkuXG4iCisiICAgICAgLWggVElFRE9TVE8gICAgICAgIFRvc2kgam9zIHRpZWRvc3RvIG9uIHN5bWJvbGluZW4gbGlua2tpLlxuIgorIiAgICAgIC1MIFRJRURPU1RPICAgICAgICBUb3NpIGpvcyB0aWVkb3N0byBvbiBzeW1ib2xpbmVuIGxpbmtraS5cbiIKKyIgICAgICAtayBUSUVET1NUTyAgICAgICAgVG9zaSBqb3MgdGllZG9zdG9sbGEgb24gc3RpY2t5LWJpdHRpLlxuIgorIiAgICAgIC1wIFRJRURPU1RPICAgICAgICBUb3NpIGpvcyB0aWVkb3N0byBvbiBuaW1ldHR5IHB1dGtpLlxuIgorIiAgICAgIC1yIFRJRURPU1RPICAgICAgICBUb3NpIGpvcyBzaW51bGxhIG9uIGx1a3VvaWtldXMgdGllZG9zdG9vbi5cbiIKKyIgICAgICAtcyBUSUVET1NUTyAgICAgICAgVG9zaSBqb3MgdGllZG9zdG8gb24gb2xlbWFzc2EgZWlrw6Qgc2Ugb2xlIHR5aGrDpC5cbiIKKyIgICAgICAtUyBUSUVET1NUTyAgICAgICAgVG9zaSBqb3MgdGllZG9zdG8gb24gc29rZXR0aS5cbiIKKyIgICAgICAtdCBGRCAgICAgICAgICAgICAgICAgICAgVG9zaSBqb3MgRkQgb24gYXZhdHR1IHDDpMOkdHRlZXNlZW4uXG4iCisiICAgICAgLXUgVElFRE9TVE8gICAgICAgIFRvc2kgam9zIHRpZWRvc3RvbGxhIG9uIHNldC11c2VyLWlkIC1iaXR0aS5cbiIKKyIgICAgICAtdyBUSUVET1NUTyAgICAgICAgVG9zaSBqb3Mgc2ludWxsYSBvbiBraXJqb2l0dXNvaWtldXMgdGllZG9zdG9vbi5cbiIKKyIgICAgICAteCBUSUVET1NUTyAgICAgICAgVG9zaSBqb3Mgc2ludWxsYSBvbiB0aWVkb3N0b24gc3Vvcml0dXNvaWtldXMuXG4iCisiICAgICAgLU8gVElFRE9TVE8gICAgICAgIFRvc2kgam9zIG9taXN0YXQgdGllZG9zdG9uLlxuIgorIiAgICAgIC1HIFRJRURPU1RPICAgICAgICBUb3NpIGpvcyByeWhtw6RzaSBvbWlzdGFhIHRpZWRvc3Rvbi5cbiIKKyIgICAgICAtTiBUSUVET1NUTyAgICAgICAgVG9zaSBqb3MgdGllZG9zdG9hIG9uIG11b2thdHR1IHZpaW1laXNlbiAiCisibHVrdWtlcnJhblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBqw6Rsa2Vlbi5cbiIKKyIgICAgXG4iCisiICAgICAgVElFRE9TVE8xIC1udCBUSUVET1NUTzIgIFRvc2kgam9zIFRJRURPU1RPMSBvbiB1dWRlbXBpIGt1aW4gVElFRE9TVE8yXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtdXV0b3Nww6RpdsOkbiBwZXJ1c3RlZWxsYSkuXG4iCisiICAgIFxuIgorIiAgICAgIFRJRURPU1RPMSAtb3QgVElFRE9TVE8yICBUb3NpIGpvcyBUSUVET1NUTzEgb24gdmFuaGVtcGkga3VpbiAiCisiVElFRE9TVE8yLlxuIgorIiAgICBcbiIKKyIgICAgICBUSUVET1NUTzEgLWVmIFRJRURPU1RPMiAgVG9zaSBqb3MgVElFRE9TVE8xIG9uIGtvdm9saW5ra2kgVElFRE9TVE8yOiIKKyJlZW4uXG4iCisiICAgIFxuIgorIiAgICBNZXJra2lqb25vLW9wZXJhYXR0b3JpdDpcbiIKKyIgICAgXG4iCisiICAgICAgLXogSk9OTyAgICAgIFRvc2kgam9zIEpPTk8gb24gdHloasOkLlxuIgorIiAgICBcbiIKKyIgICAgICAtbiBKT05PXG4iCisiICAgICAgICAgSk9OTyAgICAgIFRvc2kgam9zIEpPTk8gZWkgb2xlIHR5aGrDpC5cbiIKKyIgICAgXG4iCisiICAgICAgSk9OTzEgPSBKT05PMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIFRvc2kgam9zIEpPTk9UIG92YXQgc2FtYXQuXG4iCisiICAgICAgSk9OTzEgIT0gSk9OTzJcbiIKKyIgICAgICAgICAgICAgICAgICAgICBUb3NpIGpvcyBKT05PVCBlaXbDpHQgb2xlIHNhbWF0LlxuIgorIiAgICAgIEpPTk8xIDwgSk9OTzJcbiIKKyIgICAgICAgICAgICAgICAgICAgICBUb3NpIGpvcyBKT05PMSBhYWtrb3N0dXUgZW5uZW4gSk9OTzI6dGEuXG4iCisiICAgICAgSk9OTzEgPiBKT05PMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIFRvc2kgam9zIEpPTk8xIGFha2tvc3R1dSBKT05PMjpuIGrDpGxrZWVuLlxuIgorIiAgICBcbiIKKyIgICAgTXV1dCBvcGVyYWF0dG9yaXQ6XG4iCisiICAgIFxuIgorIiAgICAgIC1vIFZBTElUU0lOICAgIFRvc2kgam9zIHR1bGtpbiBWQUxJVFNJTiBvbiBrw6R5dMO2c3PDpC5cbiIKKyIgICAgICAhIExBVVNFS0UgICAgICBUb3NpIGpvcyBMQVVTRUtFIG9uIGVww6R0b3NpLlxuIgorIiAgICAgIExBVVNFS0UxIC1hIExBVVNFS0UyIFxuIgorIiAgICAgICAgICAgICAgICAgICAgIFRvc2kgam9zIG1vbGVtbWF0IGxhdXNla2tlZXQgb3ZhdCB0b3NpYS5cbiIKKyIgICAgICBMQVVTRUtFMSAtbyBMQVVTRUtFMiBcbiIKKyIgICAgICAgICAgICAgICAgICAgICBUb3NpIGpvcyBqb21waWt1bXBpIGxhdXNla2tlaXN0YSBvbiB0b3NpLlxuIgorIiAgICBcbiIKKyIgICAgICBBUkcxIE9QIEFSRzIgICBBcml0bWVldHRpc2V0IHRlc3RpdC4gT1Agb24gam9raW4gc2V1cmFhdmlzdGE6XG4iCisiICAgICAgXHQgICAgICAgXHQgICAgICAgLWVxLCAtbmUsIC1sdCwgLWxlLCAtZ3QgdGFpIC1nZS5cbiIKKyIgICAgXG4iCisiICAgIEJpbsOkw6RyaXNldCBhcml0bWV0aWlra2FvcGVyYWF0dG9yaXQgcGFsYXV0dGF2YXQgdG9kZW4gam9zIEFSRzEgb24gXG4iCisiICAgIHlodMOkc3V1cmksIGVyaXN1dXJpLCBwaWVuZW1waSwgcGllbmVtcGkgdGFpIHlodMOkIHN1dXJpLCBzdXVyZW1waVxuIgorIiAgICB0YWhpIHN1dXJlbXBpIHRhaSB5aHTDpCBzdXVyaSBrdWluIEFSRzIuXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSBvbm5pc3R1bWlzZW4gam9zIExBVVNFS0UgZXZhbHVvaXR1dSB0b2Rla3NpOyBlcMOkb25uaXN0dXUgam9zXG4iCisiICAgIExBVVNFS0UgZXZhbHVvaXR1dSB2w6TDpHLDpGtzaSB0YWkgb24gYW5uZXR0dSB2aXJoZWVsbGluZW4gYXJndW1lbnR0aS4iCisKKyM6IGJ1aWx0aW5zLmM6MTMxMQorbXNnaWQgIiIKKyJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgorIiAgICBcbiIKKyIgICAgVGhpcyBpcyBhIHN5bm9ueW0gZm9yIHRoZSBcInRlc3RcIiBidWlsdGluLCBidXQgdGhlIGxhc3QgYXJndW1lbnQgbXVzdFxuIgorIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgorbXNnc3RyICIiCisiRXZhbHVvaSBlaGRvbGxpc2VuIGxhdXNla2tlZW4uXG4iCisiICAgIFxuIgorIiAgICBUw6Rtw6Qgb24gc2lzw6TDpG5yYWtlbm5ldHVuIOKAnXRlc3TigJ0ta29tZW5ub24gc3lub255eW1pLCBtdXR0YSB2aWltZWlzZW5cbiIKKyIgICAgYXJndW1lbnRpbiBwaXTDpMOkIG9sbGEg4oCdXeKAnSwgam9rYSBzdWxrZWUgYXZhYXZhbiDigJ1b4oCdOm4uIgorCisjOiBidWlsdGlucy5jOjEzMjAKK21zZ2lkICIiCisiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgorIiAgICBcbiIKKyIgICAgUHJpbnRzIHRoZSBhY2N1bXVsYXRlZCB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yIHRoZSBzaGVsbCBhbmQgYWxsIG9mICIKKyJpdHNcbiIKKyIgICAgY2hpbGQgcHJvY2Vzc2VzLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIEFsd2F5cyBzdWNjZWVkcy4iCittc2dzdHIgIiIKKyJOw6R5dHTDpMOkIHByb3Nlc3NpYWphdC5cbiIKKyIgICAgXG4iCisiICAgIFR1bG9zdGFhIGt1bXVsb2l0dW5lZXQga8OkeXR0w6Rqw6QtIGphIGrDpHJqZXN0ZWxtw6RhamF0IHNla8OkICIKKyJrb21lbnRvdHVsa2lsbGVcbiIKKyIgICAgZXR0w6Qga2Fpa2lsbGUgc2VuIGxhcHNpcHJvc2Vzc2VpbGxlLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBPbm5pc3R1dSBhaW5hLiIKKworIzogYnVpbHRpbnMuYzoxMzMyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKKyIgICAgXG4iCisiICAgIERlZmluZXMgYW5kIGFjdGl2YXRlcyBoYW5kbGVycyB0byBiZSBydW4gd2hlbiB0aGUgc2hlbGwgcmVjZWl2ZXMgIgorInNpZ25hbHNcbiIKKyIgICAgb3Igb3RoZXIgY29uZGl0aW9ucy5cbiIKKyIgICAgXG4iCisiICAgIEFSRyBpcyBhIGNvbW1hbmQgdG8gYmUgcmVhZCBhbmQgZXhlY3V0ZWQgd2hlbiB0aGUgc2hlbGwgcmVjZWl2ZXMgdGhlXG4iCisiICAgIHNpZ25hbChzKSBTSUdOQUxfU1BFQy4gIElmIEFSRyBpcyBhYnNlbnQgKGFuZCBhIHNpbmdsZSBTSUdOQUxfU1BFQ1xuIgorIiAgICBpcyBzdXBwbGllZCkgb3IgYC0nLCBlYWNoIHNwZWNpZmllZCBzaWduYWwgaXMgcmVzZXQgdG8gaXRzIG9yaWdpbmFsXG4iCisiICAgIHZhbHVlLiAgSWYgQVJHIGlzIHRoZSBudWxsIHN0cmluZyBlYWNoIFNJR05BTF9TUEVDIGlzIGlnbm9yZWQgYnkgdGhlXG4iCisiICAgIHNoZWxsIGFuZCBieSB0aGUgY29tbWFuZHMgaXQgaW52b2tlcy5cbiIKKyIgICAgXG4iCisiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCisiSWZcbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCisiICAgIFxuIgorIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCisiYXNzb2NpYXRlZFxuIgorIiAgICB3aXRoIGVhY2ggc2lnbmFsLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtbFx0cHJpbnQgYSBsaXN0IG9mIHNpZ25hbCBuYW1lcyBhbmQgdGhlaXIgY29ycmVzcG9uZGluZyBudW1iZXJzXG4iCisiICAgICAgLXBcdGRpc3BsYXkgdGhlIHRyYXAgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIGVhY2ggU0lHTkFMX1NQRUNcbiIKKyIgICAgXG4iCisiICAgIEVhY2ggU0lHTkFMX1NQRUMgaXMgZWl0aGVyIGEgc2lnbmFsIG5hbWUgaW4gPHNpZ25hbC5oPiBvciBhIHNpZ25hbCAiCisibnVtYmVyLlxuIgorIiAgICBTaWduYWwgbmFtZXMgYXJlIGNhc2UgaW5zZW5zaXRpdmUgYW5kIHRoZSBTSUcgcHJlZml4IGlzIG9wdGlvbmFsLiAgQVxuIgorIiAgICBzaWduYWwgbWF5IGJlIHNlbnQgdG8gdGhlIHNoZWxsIHdpdGggXCJraWxsIC1zaWduYWwgJCRcIi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgU0lHU1BFQyBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKKyJnaXZlbi4iCittc2dzdHIgIiIKKyJLYWFwcGFhIHNpZ25hYWxpdCBqYSBtdXV0IHBvaWtrZWFtYXQuXG4iCisiICAgIFxuIgorIiAgICBNw6TDpHJpdHRlbGVlIGphIGFrdGl2b2kga8Okc2l0dGVsaWrDtml0w6QsIGpvdGthIHN1b3JpdGV0YWFuIGt1biAiCisia29tZW50b3R1bGtraVxuIgorIiAgICBzYWEgc2lnbmFhbGluIHRhaSBtdWlzc2EgdGlsYW50ZWlzc2EuXG4iCisiICAgIFxuIgorIiAgICBBUkdVTUVOVFRJIG9uIGx1ZXR0YXZhIGphIHN1b3JpdGV0dGF2YSBrb21lbnRvIGt1biB0dWxra2kgc2FhIFxuIgorIiAgICBTSUdOQUFMSWlzc2EgbcOkw6RyaXRlbGx5biBzaWduYWFsaW4vc2lnbmFhbGl0LiBKb3MgQVJHVU1FTlRUSSBwdXV0dHV1XG4iCisiICAgIChqYSB2YWluIHlrc2l0dMOkaW5lbiBTSUdOQUFMSSBvbiBhbm5ldHR1KSB0YWkgb24g4oCdLeKAnSwga3VraW4gbcOkw6Ryw6R0dHlcbiIKKyIgICAgc2lnbmFhbGkgcGFsYXV0ZXRhYW4gb2xldHVzYXJ2b29uc2EuIEpvcyBBUkdVTUVOVFRJIG9uIHR5aGrDpCAiCisibWVya2tpam9ubyxcbiIKKyIgICAgdHVsa2tpIGphIHNlbiBrw6R5bm5pc3TDpG3DpHQga29tZW5ub3QgasOkdHTDpHbDpHQgYW5uZXR1dCBzaWduYWFsaXQgIgorImh1b21pb3R0YS5cbiIKKyIgICAgXG4iCisiICAgIEpvcyBTSUdOQUFMSSBvbiBFWElUICgwKSwgQVJHVU1FTlRUSSBzdW9yaXRldGFhbiB0dWxraW4gcG9pc3R1ZXNzYS5cbiIKKyIgICAgSm9zIFNJR05BQUxJIG9uIERFQlVHLCBBUkdVTUVOVFRJIHN1b3JpdGV0YWFuIGVubmVuIGpva2Fpc3RhICIKKyJ5a3NpdHTDpGlzdMOkXG4iCisiICAgIGtvbWVudG9hLlxuIgorIiAgICBcbiIKKyIgICAgSm9zIGFyZ3VtZW50dGVqYSBlaSBvbGUgYW5uZXR0dSwgdHJhcCB0dWxvc3RhYSBrdWh1bmtpbiBzaWduYWFsaWluICIKKyJsaWl0ZXR5dFxuIgorIiAgICBrb21lbm5vdC5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWxcdHR1bG9zdGFhIGxpc3RhbiBzaWduYWFsaWVuIG5pbWlzdMOkIGphIHZhc3RhYXZpc3RhIG51bWVyb2lzdGFcbiIKKyIgICAgICAtcFx0dHVsb3N0YWEga3VodW5raW4gc2lnbmFhbGlpbiBsaWl0ZXR5dCBrYWFwcGF1c2tvbWVubm90XG4iCisiICAgIFxuIgorIiAgICBLdWtpbiBTSUdOQUFMSSBvbiBqb2tvIHNpZ25hYWxpbiBuaW1pIDxzaWduYWwuaD4tdGllZG9zdG9zc2EgdGFpICIKKyJudW1lcm8uXG4iCisiICAgIFNpZ25hYWxpZW4gbmltZXQgZWl2w6R0IG9sZSBhYWtrb3NsYWppbGxpc2lhIGphIGFsa3Vvc2EgU0lHIG9uICIKKyJ2YWxpbm5haW5lbi5cbiIKKyIgICAgU2lnbmFhbGkgbMOkaGV0ZXTDpMOkbiB0dWxraWxsZSBrb21lbm5vbGxhIOKAnWtpbGwgLXNpZ25hbCAkJOKAnS5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIG9ubmlzdHVuZWV0IHBhaXRzaSBqb3MgU0lHTkFBTEkgb24gdmlyaGVlbGxpbmVuIHRhaSBvbiAiCisiYW5uZXR0dVxuIgorIiAgICB2aXJoZWVsbGluZW4gdmFsaXRzaW4uIgorCisjOiBidWlsdGlucy5jOjEzNjgKK21zZ2lkICIiCisiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCisiICAgIFxuIgorIiAgICBGb3IgZWFjaCBOQU1FLCBpbmRpY2F0ZSBob3cgaXQgd291bGQgYmUgaW50ZXJwcmV0ZWQgaWYgdXNlZCBhcyBhXG4iCisiICAgIGNvbW1hbmQgbmFtZS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWFcdGRpc3BsYXkgYWxsIGxvY2F0aW9ucyBjb250YWluaW5nIGFuIGV4ZWN1dGFibGUgbmFtZWQgTkFNRTtcbiIKKyIgICAgXHRpbmNsdWRlcyBhbGlhc2VzLCBidWlsdGlucywgYW5kIGZ1bmN0aW9ucywgaWYgYW5kIG9ubHkgaWZcbiIKKyIgICAgXHR0aGUgYC1wJyBvcHRpb24gaXMgbm90IGFsc28gdXNlZFxuIgorIiAgICAgIC1mXHRzdXBwcmVzcyBzaGVsbCBmdW5jdGlvbiBsb29rdXBcbiIKKyIgICAgICAtUFx0Zm9yY2UgYSBQQVRIIHNlYXJjaCBmb3IgZWFjaCBOQU1FLCBldmVuIGlmIGl0IGlzIGFuIGFsaWFzLFxuIgorIiAgICBcdGJ1aWx0aW4sIG9yIGZ1bmN0aW9uLCBhbmQgcmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZGlzayBmaWxlXG4iCisiICAgIFx0dGhhdCB3b3VsZCBiZSBleGVjdXRlZFxuIgorIiAgICAgIC1wXHRyZXR1cm5zIGVpdGhlciB0aGUgbmFtZSBvZiB0aGUgZGlzayBmaWxlIHRoYXQgd291bGQgYmUgZXhlY3V0ZWQsXG4iCisiICAgIFx0b3Igbm90aGluZyBpZiBgdHlwZSAtdCBOQU1FJyB3b3VsZCBub3QgcmV0dXJuIGBmaWxlJy5cbiIKKyIgICAgICAtdFx0b3V0cHV0IGEgc2luZ2xlIHdvcmQgd2hpY2ggaXMgb25lIG9mIGBhbGlhcycsIGBrZXl3b3JkJyxcbiIKKyIgICAgXHRgZnVuY3Rpb24nLCBgYnVpbHRpbicsIGBmaWxlJyBvciBgJywgaWYgTkFNRSBpcyBhbiBhbGlhcywgc2hlbGxcbiIKKyIgICAgXHRyZXNlcnZlZCB3b3JkLCBzaGVsbCBmdW5jdGlvbiwgc2hlbGwgYnVpbHRpbiwgZGlzayBmaWxlLCBvciBub3RcbiIKKyIgICAgXHRmb3VuZCwgcmVzcGVjdGl2ZWx5XG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgTkFNRVx0Q29tbWFuZCBuYW1lIHRvIGJlIGludGVycHJldGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyBpZiBhbGwgb2YgdGhlIE5BTUVzIGFyZSBmb3VuZDsgZmFpbHMgaWYgYW55IGFyZSBub3QgIgorImZvdW5kLiIKK21zZ3N0ciAiIgorIk7DpHl0dMOkw6QgdGlldG9qYSBrb21lbnRvdHl5cGlzdMOkLlxuIgorIiAgICBcbiIKKyIgICAgTsOkeXR0w6TDpCwgbWl0ZW4ga3VraW4gTklNSSB0dWxraXR0YWlzaWluLCBqb3Mgc2l0w6Qga8OkeXRldHTDpGlzaWluICIKKyJrb21lbnRvbmEuXG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC1hXHRuw6R5dHTDpMOkIGthaWtraSBwYWlrYXQsIGpvc3NhIG9uIE5JTUktbmltaW5lbiBvaGplbG1hOyBzaXPDpGx0w6TDpFxuIgorIiAgICAgICAgXHRhbGlha3NldCwgc2lzw6TDpG5yYWtlbm5ldHV0IGtvbWVubm90IGphIGZ1bmt0aW90LCBqb3MgamEgdmFpblxuIgorIiAgICAgICAgXHRqb3MgLXAgLXZhbGl0c2ludGEgb2xlIGvDpHl0ZXR0eVxuIgorIiAgICAgIC1mXHRlc3TDpMOkIGZ1bmt0aW9oYXVuXG4iCisiICAgICAgLVBcdHBha290dGFhIGhha2VtYWFuIE5JTUVUIGhha3Vwb2x1bHRhLCB2YWlra2Egc2Ugb2xpc2lraW4gYWxpYXMsXG4iCisiICAgICAgICBcdHNpc8Okw6RucmFrZW5uZXR0dSBrb21lbnRvLCB0YWkgZnVua3RpbywgamEgcGFsYXV0dGFhIFxuIgorIiAgICAgICAgXHRzdW9yaXRldHRhdmFuIGxldnl0aWVkb3N0b24gbmltZW5cbiIKKyIgICAgICAtcFx0cGFsYXV0dGFhIGpva28gc3Vvcml0ZXR0YXZhbiBsZXZ5dGllZG9zdG9uIG5pbWVuLCB0YWkgZWkgbWl0w6TDpG5cbiIKKyIgICAgICAgIFx0am9zIOKAnXR5cGUgLXQgTklNSeKAnSBlaSBwYWxhdXR0YWlzaSDigJ1maWxl4oCdLlxuIgorIiAgICAgIC10XHR0dWxvc3RhIHNhbmEsIGpva2Egb24g4oCdYWxpYXPigJ0sIOKAnWtleXdvcmTigJ0sIOKAnWZ1bmN0aW9u4oCdLFxuIgorIiAgICAgICAgXHTigJ1idWlsdGlu4oCdLCDigJ1maWxl4oCdIHRhaSDigJ3igJ0sIGpvcyBOSU1JIG9uIGFsaWFzLFxuIgorIiAgICAgICAgXHRhdmFpbnNhbmEsIGZ1bmt0aW8sIHNpc8Okw6RucmFrZW5uZXR0dSBrb21lbnRvLCBsZXZ5dGllZG9zdG8gdGFpXG4iCisiICAgICAgICBcdHNpdMOkIGVpIGzDtnl0eW55dC5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50aXQ6XG4iCisiICAgICAgTklNSVx0VHVsa2l0dGF2YW4ga29tZW5ub24gbmltaS5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIG9ubmlzdHVuZWVuIG1pa8OkbGkga2Fpa2tpIE5JTUVUIGzDtnl0eWl2w6R0LCBtdXVzc2EgdGFwYXVrc2Vzc2FcbiIKKyIgICAgZXDDpG9ubmlzdHV1LiIKKworIzogYnVpbHRpbnMuYzoxMzk5Cittc2dpZCAiIgorIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCisiICAgIFxuIgorIiAgICBQcm92aWRlcyBjb250cm9sIG92ZXIgdGhlIHJlc291cmNlcyBhdmFpbGFibGUgdG8gdGhlIHNoZWxsIGFuZCAiCisicHJvY2Vzc2VzXG4iCisiICAgIGl0IGNyZWF0ZXMsIG9uIHN5c3RlbXMgdGhhdCBhbGxvdyBzdWNoIGNvbnRyb2wuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1TXHR1c2UgdGhlIGBzb2Z0JyByZXNvdXJjZSBsaW1pdFxuIgorIiAgICAgIC1IXHR1c2UgdGhlIGBoYXJkJyByZXNvdXJjZSBsaW1pdFxuIgorIiAgICAgIC1hXHRhbGwgY3VycmVudCBsaW1pdHMgYXJlIHJlcG9ydGVkXG4iCisiICAgICAgLWJcdHRoZSBzb2NrZXQgYnVmZmVyIHNpemVcbiIKKyIgICAgICAtY1x0dGhlIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgICAgICAtZFx0dGhlIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgICAgICAtZVx0dGhlIG1heGltdW0gc2NoZWR1bGluZyBwcmlvcml0eSAoYG5pY2UnKVxuIgorIiAgICAgIC1mXHR0aGUgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHNoZWxsIGFuZCBpdHMgY2hpbGRyZW5cbiIKKyIgICAgICAtaVx0dGhlIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAgICAgIC1sXHR0aGUgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAgICAgIC1tXHR0aGUgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAgICAgIC1uXHR0aGUgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlIGRlc2NyaXB0b3JzXG4iCisiICAgICAgLXBcdHRoZSBwaXBlIGJ1ZmZlciBzaXplXG4iCisiICAgICAgLXFcdHRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAgICAgIC1yXHR0aGUgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAgICAgIC1zXHR0aGUgbWF4aW11bSBzdGFjayBzaXplXG4iCisiICAgICAgLXRcdHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjcHUgdGltZSBpbiBzZWNvbmRzXG4iCisiICAgICAgLXVcdHRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAgICAgIC12XHR0aGUgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAgICAgIC14XHR0aGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAgICBcbiIKKyIgICAgSWYgTElNSVQgaXMgZ2l2ZW4sIGl0IGlzIHRoZSBuZXcgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCByZXNvdXJjZTsgdGhlXG4iCisiICAgIHNwZWNpYWwgTElNSVQgdmFsdWVzIGBzb2Z0JywgYGhhcmQnLCBhbmQgYHVubGltaXRlZCcgc3RhbmQgZm9yIHRoZVxuIgorIiAgICBjdXJyZW50IHNvZnQgbGltaXQsIHRoZSBjdXJyZW50IGhhcmQgbGltaXQsIGFuZCBubyBsaW1pdCwgcmVzcGVjdGl2ZWx5LlxuIgorIiAgICBPdGhlcndpc2UsIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UgaXMgcHJpbnRlZC4gIElmXG4iCisiICAgIG5vIG9wdGlvbiBpcyBnaXZlbiwgdGhlbiAtZiBpcyBhc3N1bWVkLlxuIgorIiAgICBcbiIKKyIgICAgVmFsdWVzIGFyZSBpbiAxMDI0LWJ5dGUgaW5jcmVtZW50cywgZXhjZXB0IGZvciAtdCwgd2hpY2ggaXMgaW4gc2Vjb25kcyxcbiIKKyIgICAgLXAsIHdoaWNoIGlzIGluIGluY3JlbWVudHMgb2YgNTEyIGJ5dGVzLCBhbmQgLXUsIHdoaWNoIGlzIGFuIHVuc2NhbGVkXG4iCisiICAgIG51bWJlciBvZiBwcm9jZXNzZXMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisiTXV1dHRhYSBrb21lbnRvdHVsa2luIHJlc3Vyc3NpcmFqb2l0dWtzaWEuXG4iCisiICAgIFxuIgorIiAgICBBbnRhYSBrb250cm9sbGluIHR1bGtpbiBqYSBzZW4gbHVvbWllbiBwcm9zZXNzaWVuIHJlc3Vyc3NlaWxsZSBcbiIKKyIgICAgasOkcmplc3RlbG1pc3PDpCwgam9zc2Egc2Ugb24gbWFoZG9sbGlzdGEuXG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC1TXHRrw6R5dMOkIOKAnXBlaG1lw6TDpOKAnSByZXN1cnNzaXJhamFhXG4iCisiICAgICAgLUhcdGvDpHl0w6Qg4oCda292YWHigJ0gcmVzdXJzc2lyYWphYVxuIgorIiAgICAgIC1hXHRyYXBvcnRvaSBueWt5aXNldCByYWphdFxuIgorIiAgICAgIC1iXHRzb2tldGluIHB1c2t1cmlrb2tvXG4iCisiICAgICAgLWNcdGx1b3R1amVuIGNvcmUtdGllZG9zdG9qZW4gbWFrc2ltaWtva29cbiIKKyIgICAgICAtZFx0cHJvc2Vzc2luIGRhdGFzZWdtZW50aW4gbWFrc2ltaWtva29cbiIKKyIgICAgICAtZVx0eWxpbiBza2VkdWxvaW50aXByaW9yaXRlZXR0aSAo4oCdbmljZeKAnS1hcnZvKVxuIgorIiAgICAgIC1mXHRrb21lbnRvdHVsa2luIGphIHNlbiBsYXBzaXByb3Nlc3NpZW4ga2lyam9pdHRhbWllbiB0aWVkb3N0b2plblxuIgorIiAgICAgICAgXHRtYWtzaW1pa29rb1xuIgorIiAgICAgIC1pXHRvZG90dGF2aWVuIHNpZ25hYWxpZW4gbWFrc2ltaW3DpMOkcsOkXG4iCisiICAgICAgLWxcdHByb3Nlc3NpbiBsdWtpdHNlbWFuIG11aXN0aW4gbWFrc2ltaWtva29cbiIKKyIgICAgICAtbVx0bXVpc3RpbnZhcmFpc2VuIGpvdWtvbiBtYWtzaW1pa29rb1xuIgorIiAgICAgIC1uXHRhdm9pbnRlbiB0aWVkb3N0b2thaHZvamVuIG1ha3NpbWltw6TDpHLDpFxuIgorIiAgICAgIC1wXHRwdXRrZW4gcHVza3VyaWtva29cbiIKKyIgICAgICAtcVx0UE9TSVgtdmllc3Rpam9ub2lzc2Egb2xldmllbiB0YXZ1amVuIG1ha3NpbWlcbiIKKyIgICAgICAtclx0c3V1cmluIHJlYWFsaWFpa2Fza2VkdWxvaW50aS1wcmlvcml0ZWV0dGlcbiIKKyIgICAgICAtc1x0cGlub24gbWFrc2ltaWtva29cbiIKKyIgICAgICAtdFx0ZW5pbiBDUFUtYWlrYSBzZWt1bm5laXNzYVxuIgorIiAgICAgIC11XHRrw6R5dHTDpGrDpHByb3Nlc3NpZW4gbWFrc2ltaW3DpMOkcsOkXG4iCisiICAgICAgLXZcdHZpcnR1YWFsaW11aXN0aW4ga29rb1xuIgorIiAgICAgIC14XHR0aWVkb3N0b2x1a2l0dXN0ZW4gbWFrc2ltaW3DpMOkcsOkXG4iCisiICAgIFxuIgorIiAgICBKb3MgUkFKQSBvbiBhbm5ldHR1LCBzZSBvbiBtw6TDpHLDpHR5biByZXN1cnNzaW4gdXVzaSBhcnZvOyBSQUpBTiAiCisiZXJpa29pc2Fydm90XG4iCisiICAgIOKAnXNvZnTigJ0sIOKAnWhhcmTigJ0gamEg4oCddW5saW1pdGVk4oCdIHRhcmtvaXR0YXZhdCBueWt5aXN0w6QgcGVobWXDpMOkLCBrb3ZhYSBqYVxuIgorIiAgICByYWphdG9udGEuIE11dXNzYSB0YXBhdWtzZXNzYSB0dWxvc3RldGFhbiBhbm5ldHVuIHJlc3Vyc3NpbiBhcnZvLiBKb3NcbiIKKyIgICAgdmFsaXRzaW1pYSBlaSBvbGUgYW5uZXR0dSwgb2xldGV0YWFuIC1mLlxuIgorIiAgICBcbiIKKyIgICAgQXJ2b24gb3ZhdCAxMDI0IHRhdnVuIG1vbmlrZXJ0b2phLCBwYWl0c2kgLXQ6biwgam9rYSBvbiBzZWt1bnR0ZWphLFxuIgorIiAgICAtcCwgam90YSBrYXN2YXRldGFhbiA1MTIgdGF2dW4gb3Npc3NhLCBqYSAtdSwgam9rYSBvbiBwcm9zZXNzaWVuIFxuIgorIiAgICBza2FhbGFhbWF0b24gbcOkw6Ryw6QuXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSBvbm5pc3R1bmVlbiBwYWl0c2kgam9zIG9uIGFubmV0dHUgdmlyaGVlbGxpbmVuIHZhbGl0c2luXG4iCisiICAgIHRhaSB0YXBhaHR1dSB2aXJoZS4iCisKKyM6IGJ1aWx0aW5zLmM6MTQ0NAorbXNnaWQgIiIKKyJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKKyIgICAgXG4iCisiICAgIFNldHMgdGhlIHVzZXIgZmlsZS1jcmVhdGlvbiBtYXNrIHRvIE1PREUuICBJZiBNT0RFIGlzIG9taXR0ZWQsIHByaW50c1xuIgorIiAgICB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgbWFzay5cbiIKKyIgICAgXG4iCisiICAgIElmIE1PREUgYmVnaW5zIHdpdGggYSBkaWdpdCwgaXQgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gb2N0YWwgbnVtYmVyO1xuIgorIiAgICBvdGhlcndpc2UgaXQgaXMgYSBzeW1ib2xpYyBtb2RlIHN0cmluZyBsaWtlIHRoYXQgYWNjZXB0ZWQgYnkgY2htb2QoMSkuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1wXHRpZiBNT0RFIGlzIG9taXR0ZWQsIG91dHB1dCBpbiBhIGZvcm0gdGhhdCBtYXkgYmUgcmV1c2VkIGFzIGlucHV0XG4iCisiICAgICAgLVNcdG1ha2VzIHRoZSBvdXRwdXQgc3ltYm9saWM7IG90aGVyd2lzZSBhbiBvY3RhbCBudW1iZXIgaXMgb3V0cHV0XG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgorbXNnc3RyICIiCisiTsOkeXR0w6TDpCB0YWkgYXNldHRhYSB0aWVkb3N0b24gdGlsYW1hc2tpbi5cbiIKKyIgICAgXG4iCisiICAgIEFzZXR0YWEga8OkeXR0w6Rqw6RuIHRpZWRvc3Rvbmx1b250aW1hc2tpbiBUSUxBS1NJLiBKb3MgVElMQUEgZWkgb2xlIFxuIgorIiAgICBhbm5ldHR1LCB0dWxvc3RhYSBtYXNraW4gbnlreWlzZW4gYXJ2b24uXG4iCisiICAgIFxuIgorIiAgICBKb3MgVElMQSBhbGthYSBudW1lcm9sbGEsIHNlIGvDpHNpdGVsbMOkw6RuIG9rdGFhbGludW1lcm9uYTsgbXV1c3NhXG4iCisiICAgIHRhcGF1a3Nlc3NhIHNlIG9uIHN5bWJvbGluZW4gdGlsYW1lcmtraWpvbm8gam9ua2EgY2htb2QoMSkgaHl2w6Rrc3l5LlxuIgorIiAgICBcbiIKKyIgICAgVmFsaXRzaW1ldDpcbiIKKyIgICAgICAtcFx0am9zIFRJTEFBIGVpIG9sZSBhbm5ldHR1LCB0dWxvc3RldGFhbiBoecO2ZHlubmV0dMOkdsOkc3PDpFxuIgorIiAgICAgICAgXHRtdW9kb3NzYVxuIgorIiAgICAgIC1TXHR0dWxvc3RhYSBzeW1ib2xpc2VuYTsgbXV1c3NhIHRhcGF1a3Nlc3NhIHR1bG9zdGV0YWFuXG4iCisiICAgICAgICBcdG9rdGFhbGlsdWt1XG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSBvbm5pc3R1bmVlbiBlbGxlaSBUSUxBIG9sZSB2aXJoZWVsbGluZW4gdGFpIG9uIGFubmV0dHUgXG4iCisiICAgIHZpcmhlZWxsaW5lbiB2YWxpdHNpbi4iCisKKyM6IGJ1aWx0aW5zLmM6MTQ2NAorbXNnaWQgIiIKKyJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgorIiAgICBcbiIKKyIgICAgV2FpdHMgZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgSUQsIHdoaWNoIG1heSBiZSBhIHByb2Nlc3MgSUQgb3IgYVxuIgorIiAgICBqb2Igc3BlY2lmaWNhdGlvbiwgYW5kIHJlcG9ydHMgaXRzIHRlcm1pbmF0aW9uIHN0YXR1cy4gIElmIElEIGlzIG5vdFxuIgorIiAgICBnaXZlbiwgd2FpdHMgZm9yIGFsbCBjdXJyZW50bHkgYWN0aXZlIGNoaWxkIHByb2Nlc3NlcywgYW5kIHRoZSByZXR1cm5cbiIKKyIgICAgc3RhdHVzIGlzIHplcm8uICBJZiBJRCBpcyBhIGEgam9iIHNwZWNpZmljYXRpb24sIHdhaXRzIGZvciBhbGwgIgorInByb2Nlc3Nlc1xuIgorIiAgICBpbiB0aGUgam9iJ3MgcGlwZWxpbmUuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIElEOyBmYWlscyBpZiBJRCBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uICIKKyJpc1xuIgorIiAgICBnaXZlbi4iCittc2dzdHIgIiIKKyJPZG90dGFhIHR5w7ZuIHZhbG1pc3R1bWlzdGEgamEgcGFsYXV0dGFhIHBhbHV1YXJ2b24uXG4iCisiICAgIFxuIgorIiAgICBPZG90dGFhIElEOmxsw6QgdHVubmlzdGV0dHVhIHByb3Nlc3NpYSwgam9rYSAoSUQpIHZvaSBvbGxhICIKKyJwcm9zZXNzaXR1bm51c1xuIgorIiAgICB0YWkgdHnDtnR1bm5pc3RlLCBqYSBwYWxhdXR0YWEgc2VuIHBhbHV1YXJ2b24uIEpvcyBJRDp0w6QgZWkgb2xlIGFubmV0dHUsXG4iCisiICAgIG9kb3R0YWEga2Fpa2tpYSB0w6RsbMOkIGhldGtlbGzDpCBha3RpaXZpc2lhIGxhcHNpcHJvc2Vzc2VqYSwgamEgcGFsdXVhcnZvXG4iCisiICAgIG9uIG5vbGxhLiBKb3MgSUQgb24gdHnDtnR1bm5pc3RlLCBvZG90dGFhIGthaWtraWEgcHJvc2Vzc2VqYSB0ecO2biAiCisia29tZW50by1cbiIKKyIgICAgcHV0a2Vzc2EuXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSBJRDpuIHRpbGFuOyBlcMOkb25uaXN0dXUgam9zIElEIG9uIHZpcmhlZWxsaW5lbiB0YWkgb24gYW5uZXR0dVxuIgorIiAgICB2aXJoZWVsbGluZW4gdmFsaXRzaW4uIgorCisjOiBidWlsdGlucy5jOjE0ODIKK21zZ2lkICIiCisiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCisiICAgIFxuIgorIiAgICBXYWl0cyBmb3IgdGhlIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXBvcnRzIGl0cyB0ZXJtaW5hdGlvbiBzdGF0dXMuICBJZlxuIgorIiAgICBQSUQgaXMgbm90IGdpdmVuLCBhbGwgY3VycmVudGx5IGFjdGl2ZSBjaGlsZCBwcm9jZXNzZXMgYXJlIHdhaXRlZCBmb3IsXG4iCisiICAgIGFuZCB0aGUgcmV0dXJuIGNvZGUgaXMgemVyby4gIFBJRCBtdXN0IGJlIGEgcHJvY2VzcyBJRC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgSUQ7IGZhaWxzIGlmIElEIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gIgorImlzXG4iCisiICAgIGdpdmVuLiIKK21zZ3N0ciAiIgorIk9kb3R0YWEgdHnDtm4gdmFsbWlzdHVtaXN0YSBqYSBwYWxhdXR0YWEgcGFsdXVhcnZvbi5cbiIKKyIgICAgXG4iCisiICAgIE9kb3R0YWEgYW5uZXR0dWEgcHJvc2Vzc2lhIGphIHBhbGF1dHRhYSBzZW4gcGFsdXVhcnZvbi4gSm9zIHByb3Nlc3NpLVxuIgorIiAgICB0dW5uaXN0ZXR0YSAoUElEKSBlaSBvbGUgYW5uZXR0dSwgb2RvdHRhYSBrYWlra2lhIHTDpGxsw6QgaGV0a2VsbMOkICIKKyJha3RpaXZpc2lhIFxuIgorIiAgICBsYXBzaXByb3Nlc3NlamEsIGphIHBhbHV1YXJ2byBvbiBub2xsYS5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIElEOm4gdGlsYW47IGVww6Rvbm5pc3R1dSBqb3MgSUQgb24gdmlyaGVlbGxpbmVuIHRhaSBvbiBhbm5ldHR1XG4iCisiICAgIHZpcmhlZWxsaW5lbiB2YWxpdHNpbi4iCisKKyM6IGJ1aWx0aW5zLmM6MTQ5NworbXNnaWQgIiIKKyJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYGZvcicgbG9vcCBleGVjdXRlcyBhIHNlcXVlbmNlIG9mIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhXG4iCisiICAgIGxpc3Qgb2YgaXRlbXMuICBJZiBgaW4gV09SRFMgLi4uOycgaXMgbm90IHByZXNlbnQsIHRoZW4gYGluIFwiJEBcIicgaXNcbiIKKyIgICAgYXNzdW1lZC4gIEZvciBlYWNoIGVsZW1lbnQgaW4gV09SRFMsIE5BTUUgaXMgc2V0IHRvIHRoYXQgZWxlbWVudCwgYW5kXG4iCisiICAgIHRoZSBDT01NQU5EUyBhcmUgZXhlY3V0ZWQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisiU3Vvcml0dGFhIGtvbWVubm90IGxpc3RhbiBqb2thaXNlbGxlIGrDpHNlbmVsbGUuXG4iCisiICAgIFxuIgorIiAgICDigJ1Gb3LigJ0tc2lsbXVra2Egc3Vvcml0dGFhIGtvbWVudG9rZXRqdW4gbGlzdGFuIGpva2Fpc2VsbGUgYWxraW9sbGUuIEpvc1xuIgorIiAgICDigJ1pbiBTQU5BVCAuLi474oCdIGVpIG9sZSBhbm5ldHR1LCBrw6R5dGV0w6TDpG4gcmFrZW5uZXR0YSDigJ1pbiAkQOKAnS4gTklNSSAiCisiYXNldGV0YWFuXG4iCisiICAgIHZ1b3JvbGxhYW4gam9rYWlzZWtzaSBTQU5BVC1saXN0YW4gYWxraW9rc2ksIGphIEtPTUVOTk9UIHN1b3JpdGV0YWFuLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBWaWltZWlzZW4gc3Vvcml0ZXR1biBrb21lbm5vbiBwYWx1dWFydm8uIgorCisjOiBidWlsdGlucy5jOjE1MTEKK21zZ2lkICIiCisiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKKyIgICAgXG4iCisiICAgIEVxdWl2YWxlbnQgdG9cbiIKKyIgICAgXHQoKCBFWFAxICkpXG4iCisiICAgIFx0d2hpbGUgKCggRVhQMiApKTsgZG9cbiIKKyIgICAgXHRcdENPTU1BTkRTXG4iCisiICAgIFx0XHQoKCBFWFAzICkpXG4iCisiICAgIFx0ZG9uZVxuIgorIiAgICBFWFAxLCBFWFAyLCBhbmQgRVhQMyBhcmUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy4gIElmIGFueSBleHByZXNzaW9uIGlzXG4iCisiICAgIG9taXR0ZWQsIGl0IGJlaGF2ZXMgYXMgaWYgaXQgZXZhbHVhdGVzIHRvIDEuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisiQXJpdG1lZXR0aW5lbiBmb3Itc2lsbXVra2EuXG4iCisiICAgIFxuIgorIiAgICBWYXN0YWFcbiIKKyIgICAgXHQoKCBMQVVTRUtFMSkpXG4iCisiICAgIFx0d2hpbGUgKCggTEFVU0VLRTIgKSk7IGRvXG4iCisiICAgIFx0XHRLT01FTk5PVFxuIgorIiAgICBcdFx0KCggTEFVU0VLRTMgKSlcbiIKKyIgICAgXHRkb25lXG4iCisiXG4iCisiICAgIExBVVNFS0UxLCBMQVVTRUtFMiBqYSBMQVVTRUtFMyBvdmF0IGFyaXRtZWV0dGlzacOkIGxhdXNla2tlaXRhLiBKb3MgIgorImpva2luXG4iCisiICAgIGxhdXNla2Ugb24gasOkdGV0dHkgcG9pcywgc2UgdHVsa2l0YWFuIDE6a3NpLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBWaWltZWlzZW4gc3Vvcml0ZXR1biBrb21lbm5vbiBwYWx1dWFydm8uIgorCisjOiBidWlsdGlucy5jOjE1MjkKK21zZ2lkICIiCisiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIFdPUkRTIGFyZSBleHBhbmRlZCwgZ2VuZXJhdGluZyBhIGxpc3Qgb2Ygd29yZHMuICBUaGVcbiIKKyIgICAgc2V0IG9mIGV4cGFuZGVkIHdvcmRzIGlzIHByaW50ZWQgb24gdGhlIHN0YW5kYXJkIGVycm9yLCBlYWNoXG4iCisiICAgIHByZWNlZGVkIGJ5IGEgbnVtYmVyLiAgSWYgYGluIFdPUkRTJyBpcyBub3QgcHJlc2VudCwgYGluIFwiJEBcIidcbiIKKyIgICAgaXMgYXNzdW1lZC4gIFRoZSBQUzMgcHJvbXB0IGlzIHRoZW4gZGlzcGxheWVkIGFuZCBhIGxpbmUgcmVhZFxuIgorIiAgICBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dC4gIElmIHRoZSBsaW5lIGNvbnNpc3RzIG9mIHRoZSBudW1iZXJcbiIKKyIgICAgY29ycmVzcG9uZGluZyB0byBvbmUgb2YgdGhlIGRpc3BsYXllZCB3b3JkcywgdGhlbiBOQU1FIGlzIHNldFxuIgorIiAgICB0byB0aGF0IHdvcmQuICBJZiB0aGUgbGluZSBpcyBlbXB0eSwgV09SRFMgYW5kIHRoZSBwcm9tcHQgYXJlXG4iCisiICAgIHJlZGlzcGxheWVkLiAgSWYgRU9GIGlzIHJlYWQsIHRoZSBjb21tYW5kIGNvbXBsZXRlcy4gIEFueSBvdGhlclxuIgorIiAgICB2YWx1ZSByZWFkIGNhdXNlcyBOQU1FIHRvIGJlIHNldCB0byBudWxsLiAgVGhlIGxpbmUgcmVhZCBpcyBzYXZlZFxuIgorIiAgICBpbiB0aGUgdmFyaWFibGUgUkVQTFkuICBDT01NQU5EUyBhcmUgZXhlY3V0ZWQgYWZ0ZXIgZWFjaCBzZWxlY3Rpb25cbiIKKyIgICAgdW50aWwgYSBicmVhayBjb21tYW5kIGlzIGV4ZWN1dGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorIlZhbGl0c2VlIHNhbmF0IGxpc3Rhc3RhIGphIHN1b3JpdHRhYSBrb21lbm5vdC5cbiIKKyIgICAgXG4iCisiICAgIFNBTkFUIGxhdmVubmV0YWFuLCBqb2xsb2luIHNhYWRhYW4gc2FuYWxpc3RhLiBMYXZlbm5ldHR1amVuIHNhbm9qZW4gIgorImpvdWtrb1xuIgorIiAgICB0dWxvc3RldGFhbiB2YWtpb3ZpcmhldHVsb3N0ZWVzZWVuIGp1b2tzZXZhc3RpIG51bWVyb2l0dW5hLiBKb3Mg4oCdaW4gIgorIlNBTkFU4oCdXG4iCisiICAgIHB1dXR0dXUsIGvDpHl0ZXTDpMOkbiByYWtlbm5ldHRhIOKAnWluICRA4oCdLiBUw6Rtw6RuIGrDpGxrZWVuIHR1bG9zdGV0YWFuIFxuIgorIiAgICBQUzMta2Vob3RlIGphIHZha2lvc3nDtnR0ZWVzdMOkIGx1ZXRhYW4gcml2aS4gTWlrw6RsaSByaXZpIGtvb3N0dXUgXG4iCisiICAgIG51bWVyb3N0YSBqb2thIHZhc3RhYSBqb3Rha2luIHR1bG9zdGV0dWlzdGEgc2Fub2lzdGEsIGFzZXRldGFhbiBOSU1FTiBcbiIKKyIgICAgYXJ2b2tzaSBreXNlaW5lbiBzYW5hLiBKb3Mgcml2aSBvbiB0eWhqw6QsIFNBTkFUIGphIGtlaG90ZSB0dWxvc3RldGFhbiBcbiIKKyIgICAgdXVkZWxsZWVuLiBNaWvDpGxpIHNhYWRhYW4gRU9GICh0aWVkb3N0b24gbG9wcHUpLCBrb21lbnRvIHDDpMOkdHR5eS5cbiIKKyIgICAgTWlrw6QgdGFoYW5zYSBtdXUgbHVldHR1IGFydm8gYWloZXV0dGFhIE5JTUVOIHR5aGrDpMOkbWlzZW4uIEx1ZXR0dSByaXZpIFxuIgorIiAgICB0YWxsZW5uZXRhYW4gUkVQTFktbXV1dHR1amFhbi4gS09NRU5OT1Qgc3Vvcml0ZXRhYW4ga3Vua2luIHZhbGlubmFuIFxuIgorIiAgICBqw6Rsa2VlbiBrdW5uZXMgc3Vvcml0ZXRhYW4gYnJlYWsta29tZW50by5cbiIKKyJcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBWaWltZWlzZW4gc3Vvcml0ZXR1biBrb21lbm5vbiBwYWx1dWFydm8uIgorCisjOiBidWlsdGlucy5jOjE1NTAKK21zZ2lkICIiCisiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCisiICAgIFxuIgorIiAgICBFeGVjdXRlIFBJUEVMSU5FIGFuZCBwcmludCBhIHN1bW1hcnkgb2YgdGhlIHJlYWwgdGltZSwgdXNlciBDUFUgdGltZSxcbiIKKyIgICAgYW5kIHN5c3RlbSBDUFUgdGltZSBzcGVudCBleGVjdXRpbmcgUElQRUxJTkUgd2hlbiBpdCB0ZXJtaW5hdGVzLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtcFx0cHJpbnQgdGhlIHRpbWluZyBzdW1tYXJ5IGluIHRoZSBwb3J0YWJsZSBQb3NpeCBmb3JtYXRcbiIKKyIgICAgXG4iCisiICAgIFRoZSB2YWx1ZSBvZiB0aGUgVElNRUZPUk1BVCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBvdXRwdXQgZm9ybWF0LlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSByZXR1cm4gc3RhdHVzIG9mIFBJUEVMSU5FLiIKK21zZ3N0ciAiIgorIlJhcG9ydG9pIGtvbWVudG9rZXRqdW4gc3Vvcml0dXNhamFuLlxuIgorIiAgICBcbiIKKyIgICAgU3Vvcml0YSBLT01FTlRPS0VUSlUgamEgdHVsb3N0YSB5aHRlZW52ZXRvIGvDpHl0ZXR5c3TDpCBhamFzdGEsIGvDpHl0dMOkasOkblxuIgorIiAgICBDUFUtYWphc3RhIGphIGrDpHJqZXN0ZWxtw6RuIENQVS1hamFzdGEgS09NRU5UT0tFVEpVQSBzdW9yaXRldHRhZXNzYSBzZW5cbiIKKyIgICAgcMOkw6R0eXR0ecOkLlxuIgorIiAgICBcbiIKKyIgICAgVmFsaXRzaW1ldDpcbiIKKyIgICAgICAtcFx0dHVsb3N0YSBhamFzdHVzeWh0ZWVudmV0byBzaWlycmV0dMOkdsOkc3PDpCBQT1NJWC1tdW9kb3NzYS5cbiIKKyIgIFxuIgorIiAgICBUdWxvc3RlZW4gbXVvdG9pbHVzc2Ega8OkeXRldMOkw6RuIFRJTUVGT1JNQVQtbXV1dHR1amFuIGFydm9hLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBLT01FTlRPS0VUSlVOIHBhbHV1YXJ2by4iCisKKyM6IGJ1aWx0aW5zLmM6MTU2NworbXNnaWQgIiIKKyJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCisiICAgIFxuIgorIiAgICBTZWxlY3RpdmVseSBleGVjdXRlIENPTU1BTkRTIGJhc2VkIHVwb24gV09SRCBtYXRjaGluZyBQQVRURVJOLiAgVGhlXG4iCisiICAgIGB8JyBpcyB1c2VkIHRvIHNlcGFyYXRlIG11bHRpcGxlIHBhdHRlcm5zLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorIlN1b3JpdHRhYSBrb21lbnRvamEgdGVrc3RpaGF1biBwZXJ1c3RlZWxsYS5cbiIKKyIgICAgXG4iCisiICAgIFN1b3JpdHRhYSB2YWxpa29pZGVuIEtPTUVOVE9KQSBwZXJ1c3R1ZW4gU0FOQUFOIGpva2Egc29waWkgIgorIk1BTExJTkVFU0VFTi5cbiIKKyIgICAg4oCdfOKAnTplYSBrw6R5dGV0w6TDpG4gZXJvdHRhbWFhbiBtYWxsaW5laXRhLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBWaWltZWlzZW4gc3Vvcml0ZXR1biBrb21lbm5vbiBwYWx1dWFydm8uIgorCisjOiBidWlsdGlucy5jOjE1NzkKK21zZ2lkICIiCisiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBgaWYgQ09NTUFORFMnIGxpc3QgaXMgZXhlY3V0ZWQuICBJZiBpdHMgZXhpdCBzdGF0dXMgaXMgemVybywgdGhlbiAiCisidGhlXG4iCisiICAgIGB0aGVuIENPTU1BTkRTJyBsaXN0IGlzIGV4ZWN1dGVkLiAgT3RoZXJ3aXNlLCBlYWNoIGBlbGlmIENPTU1BTkRTJyBsaXN0ICIKKyJpc1xuIgorIiAgICBleGVjdXRlZCBpbiB0dXJuLCBhbmQgaWYgaXRzIGV4aXQgc3RhdHVzIGlzIHplcm8sIHRoZSBjb3JyZXNwb25kaW5nXG4iCisiICAgIGB0aGVuIENPTU1BTkRTJyBsaXN0IGlzIGV4ZWN1dGVkIGFuZCB0aGUgaWYgY29tbWFuZCBjb21wbGV0ZXMuICAiCisiT3RoZXJ3aXNlLFxuIgorIiAgICB0aGUgYGVsc2UgQ09NTUFORFMnIGxpc3QgaXMgZXhlY3V0ZWQsIGlmIHByZXNlbnQuICBUaGUgZXhpdCBzdGF0dXMgb2YgIgorInRoZVxuIgorIiAgICBlbnRpcmUgY29uc3RydWN0IGlzIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLCBvciAiCisiemVyb1xuIgorIiAgICBpZiBubyBjb25kaXRpb24gdGVzdGVkIHRydWUuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisiU3Vvcml0dGFhIGtvbWVudG9qYSBlaGRvbGxpc2VzdGkuXG4iCisiICAgIFxuIgorIiAgICDigJ1pZiBLT01FTk5PVOKAnS1saXN0YSBzdW9yaXRldGFhbi4gSm9zIHNlbiBwYWx1dWFydm8gb24gbm9sbGEsICIKKyJzdW9yaXRldGFhblxuIgorIiAgICDigJ10aGVuIEtPTUVOTk9U4oCdLWxpc3RhLiBNdXVzc2EgdGFwYXVrc2Vzc2Egc3Vvcml0ZXRhYW4gdnVvcm9sbGFhblxuIgorIiAgICBrdWtpbiDigJ1lbGlmIEtPTUVOTk9U4oCdLWxpc3RhLCBqYSBqb3Mgc2VuIHBhbHV1YXJ2byBvbiBub2xsYSwgc3Vvcml0ZXRhYW5cbiIKKyIgICAgdmFzdGFhdmEg4oCddGhlbiBLT01FTk5PVOKAnS1saXN0YSBqYSBpZi1rb21lbnRvIHDDpMOkdGV0w6TDpG4uIE11dXRvaW5cbiIKKyIgICAgc3Vvcml0ZXRhYW4g4oCdZWxzZSBLT01FTk5PVOKAnS1saXN0YSwgam9zIHNlbGxhaW5lbiBvbi4gS29rbyByYWtlbnRlZW5cbiIKKyIgICAgcGFsdXVhcnZvIG9uIHZpaW1laXNlbiBrb21lbm5vbiBwYWx1dWFydm8gdGFpIG5vbGxhLCBqb3MgbWlrw6TDpG4gZWh0b1xuIgorIiAgICBlaSB0b3RldXR1bnV0LlxuIgorIlxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFZpaW1laXNlbiBzdW9yaXRldHVuIGtvbWVubm9uIHBhbHV1YXJ2by4iCisKKyM6IGJ1aWx0aW5zLmM6MTU5NgorbXNnaWQgIiIKKyJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgorIiAgICBcbiIKKyIgICAgRXhwYW5kIGFuZCBleGVjdXRlIENPTU1BTkRTIGFzIGxvbmcgYXMgdGhlIGZpbmFsIGNvbW1hbmQgaW4gdGhlXG4iCisiICAgIGB3aGlsZScgQ09NTUFORFMgaGFzIGFuIGV4aXQgc3RhdHVzIG9mIHplcm8uXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisiU3Vvcml0dGFhIGtvbWVudG9qYSBuaWluIGthdWFuIGt1biB0ZXN0aSBvbm5pc3R1dS5cbiIKKyIgICAgXG4iCisiICAgIExhdmVudGFhIGphIHN1b3JpdHRhYSBLT01FTlRPSkEgbmlpbiBrYXVhbiBrdW4gdmlpbWVpbmVuIGtvbWVudG9cbiIKKyIgICAg4oCdd2hpbGUgS09NRU5OT1TigJ0gcGFsYXV0dGFhIG5vbGxhbi5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgVmlpbWVpc2VuIGtvbWVubm9uIHBhbHV1YXJ2by4iCisKKyM6IGJ1aWx0aW5zLmM6MTYwOAorbXNnaWQgIiIKKyJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCisiICAgIFxuIgorIiAgICBFeHBhbmQgYW5kIGV4ZWN1dGUgQ09NTUFORFMgYXMgbG9uZyBhcyB0aGUgZmluYWwgY29tbWFuZCBpbiB0aGVcbiIKKyIgICAgYHVudGlsJyBDT01NQU5EUyBoYXMgYW4gZXhpdCBzdGF0dXMgd2hpY2ggaXMgbm90IHplcm8uXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisiU3Vvcml0dGFhIGtvbWVudG9qYSBuaWluIGthdWFuIGt1biB0ZXN0aSBlcMOkb25uaXN0dXUuXG4iCisiICAgIFxuIgorIiAgICBMYXZlbnRhYSBqYSBzdW9yaXR0YWEgS09NRU5UT0pBIG5paW4ga2F1bmEga3VuIHZpaW1laW5lbiBrb21lbnRvXG4iCisiICAgIOKAnXVudGlsIEtPTUVOTk9U4oCdIHBhbGF1dHRhYSBub2xsYXN0YSBwb2lra2VhdmFuIHBhbHV1YXJ2b24uXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFZpaW1laXNlbiBzdW9yaXRldHVuIGtvbWVubm9uIHBhbHV1YXJ2by4iCisKKyM6IGJ1aWx0aW5zLmM6MTYyMAorbXNnaWQgIiIKKyJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKKyIgICAgXG4iCisiICAgIEV4ZWN1dGUgQ09NTUFORCBhc3luY2hyb25vdXNseSwgd2l0aCB0aGUgc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZFxuIgorIiAgICBpbnB1dCBvZiB0aGUgY29tbWFuZCBjb25uZWN0ZWQgdmlhIGEgcGlwZSB0byBmaWxlIGRlc2NyaXB0b3JzIGFzc2lnbmVkXG4iCisiICAgIHRvIGluZGljZXMgMCBhbmQgMSBvZiBhbiBhcnJheSB2YXJpYWJsZSBOQU1FIGluIHRoZSBleGVjdXRpbmcgc2hlbGwuXG4iCisiICAgIFRoZSBkZWZhdWx0IE5BTUUgaXMgXCJDT1BST0NcIi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKK21zZ3N0ciAiIgorIkx1byBOSU1JLW5pbWlzZW4gcmlubmFra2Fpc3Byb3Nlc3Npbi5cbiIKKyIgICAgXG4iCisiICAgIFN1b3JpdHRhYSBLT01FTk5PTiBhc3lua3JvbmlzZXN0aSwgdmFraW90dWxvc3RlIGphIHZha2lvc3nDtnRlXG4iCisiICAgIG9oamF0dHVuYSBwdXRrZW4ga2F1dHRhIHRpZWRvc3Rva2Fodm9paGluIHN1b3JpdHRhdmFuIHR1bGtpbiBOSU1JLSIKKyJuaW1pc2VuXG4iCisiICAgIHRhdWx1a29uIGluZGVrc2VpaGluIDAgamEgMS4gT2xldHVzLU5JTUkgb24g4oCdQ09QUk9D4oCdLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBLT01FTk5PTiBwYWx1dWFydm8uIgorCisjOiBidWlsdGlucy5jOjE2MzQKK21zZ2lkICIiCisiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgQ3JlYXRlIGEgc2hlbGwgZnVuY3Rpb24gbmFtZWQgTkFNRS4gIFdoZW4gaW52b2tlZCBhcyBhIHNpbXBsZSBjb21tYW5kLFxuIgorIiAgICBOQU1FIHJ1bnMgQ09NTUFORHMgaW4gdGhlIGNhbGxpbmcgc2hlbGwncyBjb250ZXh0LiAgV2hlbiBOQU1FIGlzICIKKyJpbnZva2VkLFxuIgorIiAgICB0aGUgYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gdGhlIGZ1bmN0aW9uIGFzICQxLi4uJG4sIGFuZCB0aGUgZnVuY3Rpb24nc1xuIgorIiAgICBuYW1lIGlzIGluICRGVU5DTkFNRS5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgorbXNnc3RyICIiCisiTHVvIGZ1bmt0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgTHVvIGtvbWVudG90dWxraW4gZnVua3Rpb24gTklNSS4gSm9zIE5JTUkga8OkeW5uaXN0ZXTDpMOkbiBrb21lbnRvbmEsXG4iCisiICAgIEtPTUVOTk9UIGFqZXRhYW4ga3V0c3V2YW4gdHVsa2luIHltcMOkcmlzdMO2c3PDpC4gS3VuIE5JTUkga8OkeW5uaXN0ZXTDpMOkbixcbiIKKyIgICAgc2VuIGFyZ3VtZW50aXQgdsOkbGl0ZXTDpMOkbiBwYXJhbWV0cmVpbmEgJDEuLi4kbiwgamEgZnVua3Rpb24gbmltaVxuIgorIiAgICBzaWpvaXRldGFhbiBtdXV0dHVqYWFuICRGVU5DTkFNRS5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgT25uaXN0dXUsIGVsbGVpIE5JTUkgb2xlIGtpcmpvaXR1c3N1b2phdHR1LiIKKworIzogYnVpbHRpbnMuYzoxNjQ4Cittc2dpZCAiIgorIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKKyIgICAgXG4iCisiICAgIFJ1biBhIHNldCBvZiBjb21tYW5kcyBpbiBhIGdyb3VwLiAgVGhpcyBpcyBvbmUgd2F5IHRvIHJlZGlyZWN0IGFuXG4iCisiICAgIGVudGlyZSBzZXQgb2YgY29tbWFuZHMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisiUnlobWl0dMOkw6Qga29tZW5ub3QuXG4iCisiICAgIFxuIgorIiAgICBTdW9yaXR0YWEga29tZW5ub3QgcnlobcOkc3PDpC4gVMOkbcOkIG9uIGVyw6RzIHRhcGEgdXVkZWxsZWVub2hqYXRhICIKKyJrb2tvbmFpc2VuXG4iCisiICAgIGtvbWVudG9qb3Vrb24gdHVsb3N0ZWV0LlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBWaWltZWlzZW4gc3Vvcml0ZXR1biBrb21lbm5vbiBwYWx1dWFydm8uIgorCisjOiBidWlsdGlucy5jOjE2NjAKK21zZ2lkICIiCisiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgorIiAgICBcbiIKKyIgICAgRXF1aXZhbGVudCB0byB0aGUgSk9CX1NQRUMgYXJndW1lbnQgdG8gdGhlIGBmZycgY29tbWFuZC4gIFJlc3VtZSBhXG4iCisiICAgIHN0b3BwZWQgb3IgYmFja2dyb3VuZCBqb2IuICBKT0JfU1BFQyBjYW4gc3BlY2lmeSBlaXRoZXIgYSBqb2IgbmFtZVxuIgorIiAgICBvciBhIGpvYiBudW1iZXIuICBGb2xsb3dpbmcgSk9CX1NQRUMgd2l0aCBhIGAmJyBwbGFjZXMgdGhlIGpvYiBpblxuIgorIiAgICB0aGUgYmFja2dyb3VuZCwgYXMgaWYgdGhlIGpvYiBzcGVjaWZpY2F0aW9uIGhhZCBiZWVuIHN1cHBsaWVkIGFzIGFuXG4iCisiICAgIGFyZ3VtZW50IHRvIGBiZycuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSByZXN1bWVkIGpvYi4iCittc2dzdHIgIiIKKyJTaWlydMOkw6Qga29tZW5ub24gZWR1c3RhbGxlLlxuIgorIiAgICBcbiIKKyIgICAgU2FtYSBrdWluIOKAnWZn4oCdLWtvbWVubm9uIFRZw5ZOS1VWQUFKQS1hcmd1bWVudHRpLiBKYXRrYWEgam9rbyAiCisia2Vza2V5dGV0dHnDpFxuIgorIiAgICB0YWkgdGF1c3RhdHnDtnTDpC4gVFnDlk5LVVZBQUpBIHZvaSBtw6TDpHJpdGVsbMOkIGpva28gdHnDtm4gbmltZW4gdGFpICIKKyJudW1lcm9uLlxuIgorIiAgICBKb3MgVFnDlk5LVVZBQUpBQSBzZXVyYWEg4oCdJuKAnSBzaWlycmV0w6TDpG4gdHnDtiB0YXVzdGFsbGUsIGt1dGVuIGpvcyAiCisidHnDtm5rdXZhYWphXG4iCisiICAgIG9saXNpIGFubmV0dHUg4oCdYmfigJ0ta29tZW5ub24gYXJndW1lbnRpa3NpLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBUecO2biB0aWxhLiIKKworIzogYnVpbHRpbnMuYzoxNjc1Cittc2dpZCAiIgorIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBFWFBSRVNTSU9OIGlzIGV2YWx1YXRlZCBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIGZvciBhcml0aG1ldGljXG4iCisiICAgIGV2YWx1YXRpb24uICBFcXVpdmFsZW50IHRvIFwibGV0IEVYUFJFU1NJT05cIi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIDEgaWYgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gMDsgcmV0dXJucyAwIG90aGVyd2lzZS4iCittc2dzdHIgIiIKKyJFdmFsdW9pIGFydGltZWV0dGluZW4gbGF1c2VrZS5cbiIKKyIgICAgXG4iCisiICAgIExBVVNFS0tFRU4gYXJ2byBldmFsdW9pZGFhbiBsYXNrZW50YXPDpMOkbnTDtmplbiBtdWthaXNlc3RpLiBTYW1hIGt1aW5cbiIKKyIgICAg4oCdbGV0IExBVVNFS0XigJ0uXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSAxLCBqb3MgTEFVU0VLS0VFTiBhcnZvIG9uIDA7IG11dXRlbiBwYWxhdXR0YWEgMC4iCisKKyM6IGJ1aWx0aW5zLmM6MTY4NworbXNnaWQgIiIKKyJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCisiICAgIFxuIgorIiAgICBSZXR1cm5zIGEgc3RhdHVzIG9mIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIGV2YWx1YXRpb24gb2YgdGhlICIKKyJjb25kaXRpb25hbFxuIgorIiAgICBleHByZXNzaW9uIEVYUFJFU1NJT04uICBFeHByZXNzaW9ucyBhcmUgY29tcG9zZWQgb2YgdGhlIHNhbWUgcHJpbWFyaWVzICIKKyJ1c2VkXG4iCisiICAgIGJ5IHRoZSBgdGVzdCcgYnVpbHRpbiwgYW5kIG1heSBiZSBjb21iaW5lZCB1c2luZyB0aGUgZm9sbG93aW5nICIKKyJvcGVyYXRvcnM6XG4iCisiICAgIFxuIgorIiAgICAgICggRVhQUkVTU0lPTiApXHRSZXR1cm5zIHRoZSB2YWx1ZSBvZiBFWFBSRVNTSU9OXG4iCisiICAgICAgISBFWFBSRVNTSU9OXHRcdFRydWUgaWYgRVhQUkVTU0lPTiBpcyBmYWxzZTsgZWxzZSBmYWxzZVxuIgorIiAgICAgIEVYUFIxICYmIEVYUFIyXHRUcnVlIGlmIGJvdGggRVhQUjEgYW5kIEVYUFIyIGFyZSB0cnVlOyBlbHNlIGZhbHNlXG4iCisiICAgICAgRVhQUjEgfHwgRVhQUjJcdFRydWUgaWYgZWl0aGVyIEVYUFIxIG9yIEVYUFIyIGlzIHRydWU7IGVsc2UgZmFsc2VcbiIKKyIgICAgXG4iCisiICAgIFdoZW4gdGhlIGA9PScgYW5kIGAhPScgb3BlcmF0b3JzIGFyZSB1c2VkLCB0aGUgc3RyaW5nIHRvIHRoZSByaWdodCBvZlxuIgorIiAgICB0aGUgb3BlcmF0b3IgaXMgdXNlZCBhcyBhIHBhdHRlcm4gYW5kIHBhdHRlcm4gbWF0Y2hpbmcgaXMgcGVyZm9ybWVkLlxuIgorIiAgICBXaGVuIHRoZSBgPX4nIG9wZXJhdG9yIGlzIHVzZWQsIHRoZSBzdHJpbmcgdG8gdGhlIHJpZ2h0IG9mIHRoZSBvcGVyYXRvclxuIgorIiAgICBpcyBtYXRjaGVkIGFzIGEgcmVndWxhciBleHByZXNzaW9uLlxuIgorIiAgICBcbiIKKyIgICAgVGhlICYmIGFuZCB8fCBvcGVyYXRvcnMgZG8gbm90IGV2YWx1YXRlIEVYUFIyIGlmIEVYUFIxIGlzIHN1ZmZpY2llbnQgdG9cbiIKKyIgICAgZGV0ZXJtaW5lIHRoZSBleHByZXNzaW9uJ3MgdmFsdWUuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKK21zZ3N0ciAiIgorIlN1b3JpdHRhYSBlaGRvbGxpc2VuIGtvbWVubm9uLlxuIgorIiAgICBcbiIKKyIgICAgUGFsYXV0dGFhIDAgdGFpIDEgcmlpcHB1ZW4gZWhkb2xsaXNlbiBMQVVTRUtLRUVOIHR1bG9rc2VzdGEuICIKKyJMYXVzZWtrZWlzc2FcbiIKKyIgICAga8OkeXRldMOkw6RuIHNhbW9qYSBwcmltw6TDpHJlasOkIGt1aW4gc2lzw6TDpG5yYWtlbm5ldHVzc2Eg4oCddGVzdOKAnS1rb21lbm5vc3NhLFxuIgorIiAgICBqYSB2b2lkYWFuIHloZGlzdGVsbMOkIHNldXJhYXZpbGxhIG9wZXJhYXR0b3JlaWxsYTpcbiIKKyIgICAgXG4iCisiICAgICAgKCBMQVVTRUtFIClcdFBhbGF1dHRhYSBMQVVTRUtLRUVOIGFydm9uXG4iCisiICAgICAgISBMQVVTRUtFXHRcdFRvc2kgam9zIExBVVNFS0Ugb24gZXDDpHRvc2k7IG11dXRlbiBlcMOkdG9zaVxuIgorIiAgICAgIExBVVNFS0UxICYmIExBVVNFS0UyXHRUb3NpIGpvcyBtb2xlbW1hdCBsYXVzZWtrZWV0IG92YXQgdG9zaWEsIG11dXRlblxuIgorIiAgICAgICAgICAgICAgIFx0XHRlcMOkdG9zaVxuIgorIiAgICAgIExBVVNFS0UxIHx8IExBVVNFS0UyXHRUb3NpIGpvcyBqb21waWt1bXBpIGxhdXNla2tlaXN0YSBvbiB0b3NpLFxuIgorIiAgICAgIFx0XHRcdG11dXRlbiBlcMOkdG9zaVxuIgorIiAgICBcbiIKKyIgICAgS8OkeXRldHTDpGVzc8OkIOKAnT094oCdLSBqYSDigJ0hPeKAnS1vcGVyYWF0dG9yZWl0YSBvaWtlYW5wdW9sZWlzdGEgbWVya2tpam9ub2EgXG4iCisiICAgIGvDpHl0ZXTDpMOkbiBtYWxsaW5lZW5hIGphIHN1b3JpdGV0YWFuIGhha3Ugc2VuIHBlcnVzdGVlbGxhLiBPcGVyYWF0dG9yaWFcbiIKKyIgICAg4oCdPX7igJ0ga8OkeXRldHTDpGVzc8OkIG9pa2VhbnB1b2xlaW5lbiBtZXJra2lqb25vYSBrw6RzaXRlbGzDpMOkbiBrdXRlbiAiCisic8Okw6RubsO2bGxpc3TDpFxuIgorIiAgICBsYXVzZWtldHRhLlxuIgorIlxuIgorIiAgICBPcGVyYWF0dG9yaXQg4oCdJibigJ0gamEg4oCdfHzigJ0gZWl2w6R0IGV2YWx1b2kgTEFVU0VLRVRUQTIgam9zIExBVVNFS0UxICIKKyJyaWl0dMOkw6RcbiIKKyIgICAgbGF1c2Vra2VlbiBhcnZvbiBww6TDpHR0ZWx5eW4uXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIDAgdGFpIDEgcmlpcHB1ZW4gTEFVU0VLS0VFTiBhcnZvc3RhLiIKKworIzogYnVpbHRpbnMuYzoxNzEzCittc2dpZCAiIgorIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCisiICAgIFxuIgorIiAgICBCQVNIX1ZFUlNJT05cdFZlcnNpb24gaW5mb3JtYXRpb24gZm9yIHRoaXMgQmFzaC5cbiIKKyIgICAgQ0RQQVRIXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaFxuIgorIiAgICBcdFx0Zm9yIGRpcmVjdG9yaWVzIGdpdmVuIGFzIGFyZ3VtZW50cyB0byBgY2QnLlxuIgorIiAgICBHTE9CSUdOT1JFXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIGRlc2NyaWJpbmcgZmlsZW5hbWVzIHRvXG4iCisiICAgIFx0XHRiZSBpZ25vcmVkIGJ5IHBhdGhuYW1lIGV4cGFuc2lvbi5cbiIKKyIgICAgSElTVEZJTEVcdFRoZSBuYW1lIG9mIHRoZSBmaWxlIHdoZXJlIHlvdXIgY29tbWFuZCBoaXN0b3J5IGlzIHN0b3JlZC5cbiIKKyIgICAgSElTVEZJTEVTSVpFXHRUaGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhpcyBmaWxlIGNhbiBjb250YWluLlxuIgorIiAgICBISVNUU0laRVx0VGhlIG1heGltdW0gbnVtYmVyIG9mIGhpc3RvcnkgbGluZXMgdGhhdCBhIHJ1bm5pbmdcbiIKKyIgICAgXHRcdHNoZWxsIGNhbiBhY2Nlc3MuXG4iCisiICAgIEhPTUVcdFRoZSBjb21wbGV0ZSBwYXRobmFtZSB0byB5b3VyIGxvZ2luIGRpcmVjdG9yeS5cbiIKKyIgICAgSE9TVE5BTUVcdFRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGhvc3QuXG4iCisiICAgIEhPU1RUWVBFXHRUaGUgdHlwZSBvZiBDUFUgdGhpcyB2ZXJzaW9uIG9mIEJhc2ggaXMgcnVubmluZyB1bmRlci5cbiIKKyIgICAgSUdOT1JFRU9GXHRDb250cm9scyB0aGUgYWN0aW9uIG9mIHRoZSBzaGVsbCBvbiByZWNlaXB0IG9mIGFuIEVPRlxuIgorIiAgICBcdFx0Y2hhcmFjdGVyIGFzIHRoZSBzb2xlIGlucHV0LiAgSWYgc2V0LCB0aGVuIHRoZSB2YWx1ZVxuIgorIiAgICBcdFx0b2YgaXQgaXMgdGhlIG51bWJlciBvZiBFT0YgY2hhcmFjdGVycyB0aGF0IGNhbiBiZSBzZWVuXG4iCisiICAgIFx0XHRpbiBhIHJvdyBvbiBhbiBlbXB0eSBsaW5lIGJlZm9yZSB0aGUgc2hlbGwgd2lsbCBleGl0XG4iCisiICAgIFx0XHQoZGVmYXVsdCAxMCkuICBXaGVuIHVuc2V0LCBFT0Ygc2lnbmlmaWVzIHRoZSBlbmQgb2YgaW5wdXQuXG4iCisiICAgIE1BQ0hUWVBFXHRBIHN0cmluZyBkZXNjcmliaW5nIHRoZSBjdXJyZW50IHN5c3RlbSBCYXNoIGlzIHJ1bm5pbmcgb24uXG4iCisiICAgIE1BSUxDSEVDS1x0SG93IG9mdGVuLCBpbiBzZWNvbmRzLCBCYXNoIGNoZWNrcyBmb3IgbmV3IG1haWwuXG4iCisiICAgIE1BSUxQQVRIXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGZpbGVuYW1lcyB3aGljaCBCYXNoIGNoZWNrc1xuIgorIiAgICBcdFx0Zm9yIG5ldyBtYWlsLlxuIgorIiAgICBPU1RZUEVcdFRoZSB2ZXJzaW9uIG9mIFVuaXggdGhpcyB2ZXJzaW9uIG9mIEJhc2ggaXMgcnVubmluZyBvbi5cbiIKKyIgICAgUEFUSFx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggd2hlblxuIgorIiAgICBcdFx0bG9va2luZyBmb3IgY29tbWFuZHMuXG4iCisiICAgIFBST01QVF9DT01NQU5EXHRBIGNvbW1hbmQgdG8gYmUgZXhlY3V0ZWQgYmVmb3JlIHRoZSBwcmludGluZyBvZiBlYWNoXG4iCisiICAgIFx0XHRwcmltYXJ5IHByb21wdC5cbiIKKyIgICAgUFMxXHRcdFRoZSBwcmltYXJ5IHByb21wdCBzdHJpbmcuXG4iCisiICAgIFBTMlx0XHRUaGUgc2Vjb25kYXJ5IHByb21wdCBzdHJpbmcuXG4iCisiICAgIFBXRFx0XHRUaGUgZnVsbCBwYXRobmFtZSBvZiB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCisiICAgIFNIRUxMT1BUU1x0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBlbmFibGVkIHNoZWxsIG9wdGlvbnMuXG4iCisiICAgIFRFUk1cdFRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHRlcm1pbmFsIHR5cGUuXG4iCisiICAgIFRJTUVGT1JNQVRcdFRoZSBvdXRwdXQgZm9ybWF0IGZvciB0aW1pbmcgc3RhdGlzdGljcyBkaXNwbGF5ZWQgYnkgdGhlXG4iCisiICAgIFx0XHRgdGltZScgcmVzZXJ2ZWQgd29yZC5cbiIKKyIgICAgYXV0b19yZXN1bWVcdE5vbi1udWxsIG1lYW5zIGEgY29tbWFuZCB3b3JkIGFwcGVhcmluZyBvbiBhIGxpbmUgYnlcbiIKKyIgICAgXHRcdGl0c2VsZiBpcyBmaXJzdCBsb29rZWQgZm9yIGluIHRoZSBsaXN0IG9mIGN1cnJlbnRseVxuIgorIiAgICBcdFx0c3RvcHBlZCBqb2JzLiAgSWYgZm91bmQgdGhlcmUsIHRoYXQgam9iIGlzIGZvcmVncm91bmRlZC5cbiIKKyIgICAgXHRcdEEgdmFsdWUgb2YgYGV4YWN0JyBtZWFucyB0aGF0IHRoZSBjb21tYW5kIHdvcmQgbXVzdFxuIgorIiAgICBcdFx0ZXhhY3RseSBtYXRjaCBhIGNvbW1hbmQgaW4gdGhlIGxpc3Qgb2Ygc3RvcHBlZCBqb2JzLiAgQVxuIgorIiAgICBcdFx0dmFsdWUgb2YgYHN1YnN0cmluZycgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCB3b3JkIG11c3RcbiIKKyIgICAgXHRcdG1hdGNoIGEgc3Vic3RyaW5nIG9mIHRoZSBqb2IuICBBbnkgb3RoZXIgdmFsdWUgbWVhbnMgdGhhdFxuIgorIiAgICBcdFx0dGhlIGNvbW1hbmQgbXVzdCBiZSBhIHByZWZpeCBvZiBhIHN0b3BwZWQgam9iLlxuIgorIiAgICBoaXN0Y2hhcnNcdENoYXJhY3RlcnMgY29udHJvbGxpbmcgaGlzdG9yeSBleHBhbnNpb24gYW5kIHF1aWNrXG4iCisiICAgIFx0XHRzdWJzdGl0dXRpb24uICBUaGUgZmlyc3QgY2hhcmFjdGVyIGlzIHRoZSBoaXN0b3J5XG4iCisiICAgIFx0XHRzdWJzdGl0dXRpb24gY2hhcmFjdGVyLCB1c3VhbGx5IGAhJy4gIFRoZSBzZWNvbmQgaXNcbiIKKyIgICAgXHRcdHRoZSBgcXVpY2sgc3Vic3RpdHV0aW9uJyBjaGFyYWN0ZXIsIHVzdWFsbHkgYF4nLiAgVGhlXG4iCisiICAgIFx0XHR0aGlyZCBpcyB0aGUgYGhpc3RvcnkgY29tbWVudCcgY2hhcmFjdGVyLCB1c3VhbGx5IGAjJy5cbiIKKyIgICAgSElTVElHTk9SRVx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyB1c2VkIHRvIGRlY2lkZSB3aGljaFxuIgorIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCittc2dzdHIgIiIKKyJZbGVpc2nDpCBrb21lbnRvdHVsa2luIG11dXR0dWppYSBqYSBuaWlkZW4ga8OkeXR0w7YuXG4iCisiICAgIFxuIgorIiAgICBCQVNIX1ZFUlNJT05cdFTDpG3DpG4gQmFzaGluIHZlcnNpb3RpZWRvdC5cbiIKKyIgICAgQ0RQQVRIXHRLYWtzb2lzcGlzdGVpbiBlcm90ZWx0dSBsaXN0YSBoYWtlbWlzdG9pc3RhLCBqb2lzdGEgZXRzaXTDpMOkblxuIgorIiAgICBcdFx04oCdY2TigJ0ta29tZW5ub2xsZSBhcmd1bWVudGlrc2kgYW5uZXR0dWEgaGFrZW1pc3RvYS5cbiIKKyIgICAgR0xPQklHTk9SRVx0S2Frc29pc3Bpc3RlaW4gZXJvdGVsdHUgbGlzdGEgbWFsbGluZWlzdGEsIGpvaWhpbiBzb3BpdmF0XG4iCisiICAgIFx0XHR0aWVkb3N0b25pbWV0IGrDpHRldMOkw6RuIGh1b21pb3R0YSBwb2x1biBsYXZlbnRhbWlzZXNzYS5cbiIKKyIgICAgSElTVEZJTEVcdFRpZWRvc3RvLCBqb2hvbiBrb21lbnRvaGlzdG9yaWFzaSB0YWxsZW5uZXRhYW4uXG4iCisiICAgIEhJU1RGSUxFU0laRVx0TWFrc2ltaSByaXZpbcOkw6Ryw6QgdMOkaMOkbiB0aWVkb3N0b29uIHRhbGxlbm5ldGFhbi5cbiIKKyIgICAgSElTVFNJWkVcdFR1bGtpbiBrw6R5dGV0dMOkdmlzc8OkIG9sZXZpZW4gaGlzdG9yaWFyaXZpZW4gbWFrc2ltaW3DpMOkcsOkXG4iCisiICAgIEhPTUVcdFTDpHlkZWxsaW5lbiBwb2xrdSBzaXPDpMOkbmtpcmphdXR1bWlzaGFrZW1pc3Rvb3NpLlxuIgorIiAgICBIT1NUTkFNRVx0TnlreWlzZW4gcGFsdmVsaW1lbiBuaW1pLlxuIgorIiAgICBIT1NUVFlQRVx0Q1BVLXR5eXBwaSwgam9ua2EgYWxhaXN1dWRlc3NhIHTDpG3DpCBCYXNoLXZlcnNpbyBvbiBham9zc2EuXG4iCisiICAgIElHTk9SRUVPRlx0S29udHJvbGxvaSwgbWl0ZW4gdHVsa2tpIHRvaW1paSBzYWFkZXNzYWFuIHN5w7Z0dGVlbsOkIHBlbGvDpG5cbiIKKyIgICAgXHRcdEVPRjpuICh0aWVkb3N0b24gbG9wcHUpLiBKb3MgYXNldGV0dHUsIHNlbiBtw6TDpHJpdHRlbGVtw6RcbiIKKyIgICAgXHRcdGx1a3Vtw6TDpHLDpCBFT0Y6acOkIHZvaWRhYW4gbHVrZWEgc3nDtnR0ZWVuw6QgcGVyw6Rra8OkaW4gZW5uZW5rdWluXG4iCisiICAgIFx0XHR0dWxra2kgcG9pc3R1dSAob2xldHVrc2VuYSAxMCkuIEpvcyBlaSBvbGUgYXNldGV0dHUsIEVPRlxuIgorIiAgICBcdFx0bWVya2l0c2VlIHN5w7Z0dGVlbiBsb3BwdWEuXG4iCisiICAgIE1BQ0hUWVBFXHRKw6RyamVzdGVsbcOkw6Qga3V2YWF2YSBtZXJra2lqb25vLlxuIgorIiAgICBNQUlMQ0hFQ0tcdE1pdGVuIG1vbmVuIHNla3VubmVpbiB2w6RsZWluIEJhc2ggdGFya2lzdGFhIHV1ZGV0IHBvc3RpdC5cbiIKKyIgICAgTUFJTFBBVEhcdEtha3NvaXNwaXN0ZWluIGVyb3RlbHR1IGxpc3RhIHRpZWRvc3RvaXN0YSBqb2lzdGEgQmFzaFxuIgorIiAgICBcdFx0dGFya2lzdGFhIHV1ZGV0IHBvc3RpdC5cbiIKKyIgICAgT1NUWVBFXHRKw6RyamVzdGVsbcOkbiBVbml4LXZlcnNpby5cbiIKKyIgICAgUEFUSFx0S2Frc29pc3Bpc3RlaW4gZXJvdGVsdHUgbGlzdGEgaGFrZW1pc3RvaXN0YSwgam9pc3RhIGV0c2l0w6TDpG5cbiIKKyIgICAgXHRcdGtvbWVudG9qYS5cbiIKKyIgICAgUFJPTVBUX0NPTU1BTkRcdEVubmVuIHByaW3DpMOkcmluIGtlaG90dGVlbiB0dWxvc3RhbWlzdGEgc3Vvcml0ZXR0YXZhXG4iCisiICAgIFx0XHRrb21lbnRvLlxuIgorIiAgICBQUzFcdFx0UHJpbcOkw6RyaSBrb21lbnRva2Vob3RlLlxuIgorIiAgICBQUzJcdFx0U2VrdW5kw6TDpHJpIGtlaG90ZS5cbiIKKyIgICAgUFdEXHRcdE55a3lpc2VuIGhha2VtaXN0b24gdMOkeWRlbGxpbmVuIHBvbGt1bmltaS5cbiIKKyIgICAgU0hFTExPUFRTXHRLYWtzb2lzcGlzdGVpbiBlcm90ZWx0dSBsaXN0YSBrw6R5dMO2c3PDpCBvbGV2aXN0YSB0dWxraW5cbiIKKyIgICAgXHRcdHZhbGl0c2ltaXN0YS5cbiIKKyIgICAgVEVSTVx0S8OkeXRldHTDpHbDpG4gcMOkw6R0ZXR5eXBpbiBuaW1pLlxuIgorIiAgICBUSU1FRk9STUFUXHTigJ10aW1l4oCdLWvDpHNreW4gdHVsb3N0ZWVuIG11b3RvaWx1bWFsbGluZS5cbiIKKyIgICAgYXV0b19yZXN1bWVcdEpvcyBlaSB0eWhqw6QsIGVuc2ltbcOkaXN0w6Qgcml2aWxsw6Qgb2xldmFhIGtvbWVudG9zYW5hYSAiCisiZXRzaXTDpMOkblxuIgorIiAgICBcdFx0a2Vza2V5dGV0dHlqZW4gdMO2aWRlbiBsaXN0YXN0YS4gSm9zIHNhbmEgbMO2eWRldMOkw6RuLCBreXNlaW5lblxuIgorIiAgICBcdFx0dHnDtiB0dW9kYWFuIGVzaWluLiDigJ1leGFjdOKAnS1hcnZvIHRhcmtvaXR0YWEsIGV0dMOkIGtvbWVudG9zYW5hblxuIgorIiAgICBcdFx0cGl0w6TDpCBvbGxhIHTDpHlzaW4gc2FtYSBrdWluIGtlc2tleXRldHR5amVuIGxpc3RhbHRhIGzDtnl0eXbDpC5cbiIKKyIgICAgXHRcdEFydm8g4oCdc3Vic3RyaW5n4oCdIHRhcmtvaXR0YWEgZXR0w6Qga29tZW50b3NhbmFuIHBpdMOkw6Qgb2xsYVxuIgorIiAgICBcdFx0b3NhIHR5w7ZuaW1lw6QuIE1pa8OkIHRhaGFuc2EgbXV1IHRhcmtvaXR0YWEgZXR0w6Qga29tZW5ub24gcGl0w6TDpFxuIgorIiAgICBcdFx0b2xsYSBrZXNrZXl0ZXR5biB0ecO2biBuaW1lbiBhbGt1b3NhLlxuIgorIiAgICBoaXN0Y2hhcnNcdE1lcmtpdCwgam90a2Egb2hqYWF2YXQgaGlzdG9yaWFsaXN0YXN0YSBoYWt1YSBqYSAiCisicGlrYWtvcnZhdXN0YS5cbiIKKyIgICAgXHRcdEVuc2ltbcOkaW5lbiBtZXJra2kgb24gaGlzdG9yaWFrb3J2YXVzbWVya2tpLCB0YXZhbGxpc2VzdGkg4oCdIeKAnS5cbiIKKyIgICAgXHRcdFRvaW5lbiwgcGlrYWtvcnZhdXNtZXJra2ksIG9uIHlsZWVuc8OkIOKAnV7igJ0uIEtvbG1hcyBtZXJra2ksXG4iCisiICAgIFx0XHR0YXZhbGxpc2VzdGkg4oCdI+KAnSwgb24gaGlzdG9yaWFrb21tZW50dGkuXG4iCisiICAgIEhJU1RJR05PUkVcdEtha3NvaXNwaXN0ZWluIGVyb3RlbHR1IGxpc3RhIG1hbGxpbmVpc3RhLCBqb2l0YSBrw6R5dGV0w6TDpG5cbiIKKyIgICAgXHRcdHDDpMOkdGV0dMOkZXNzw6Qga29tZW50b2plbiB0YWxsZW50YW1pc2VzdGEgaGlzdG9yaWFsaXN0YWFuLlxuIgorCisjOiBidWlsdGlucy5jOjE3NzAKK21zZ2lkICIiCisiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgorIiAgICBcbiIKKyIgICAgQWRkcyBhIGRpcmVjdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXNcbiIKKyIgICAgdGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5ldyB0b3Agb2YgdGhlIHN0YWNrIHRoZSBjdXJyZW50IHdvcmtpbmdcbiIKKyIgICAgZGlyZWN0b3J5LiAgV2l0aCBubyBhcmd1bWVudHMsIGV4Y2hhbmdlcyB0aGUgdG9wIHR3byBkaXJlY3Rvcmllcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gYWRkaW5nXG4iCisiICAgIFx0ZGlyZWN0b3JpZXMgdG8gdGhlIHN0YWNrLCBzbyBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICArTlx0Um90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmdcbiIKKyIgICAgXHRmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgorIiAgICBcdHplcm8pIGlzIGF0IHRoZSB0b3AuXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHRSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSBOdGggZGlyZWN0b3J5IChjb3VudGluZ1xuIgorIiAgICBcdGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgorIiAgICBcdHplcm8pIGlzIGF0IHRoZSB0b3AuXG4iCisiICAgIFxuIgorIiAgICAgIGRpclx0QWRkcyBESVIgdG8gdGhlIGRpcmVjdG9yeSBzdGFjayBhdCB0aGUgdG9wLCBtYWtpbmcgaXQgdGhlXG4iCisiICAgIFx0bmV3IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgYXJndW1lbnQgaXMgc3VwcGxpZWQgb3IgdGhlIGRpcmVjdG9yeVxuIgorIiAgICBjaGFuZ2UgZmFpbHMuIgorbXNnc3RyICIiCisiTGlzw6TDpCBoYWtlbWlzdG9qYSBwaW5vb24uXG4iCisiICAgIFxuIgorIiAgICBMaXPDpMOkIGhha2VtaXN0b24gaGFrZW1pc3RvcGlub24gcMOkw6RsbGltbcOkaXNla3NpLCB0YWkga2llcnLDpHR0w6TDpCBwaW5vYSxcbiIKKyIgICAgam9sbG9pbiBueWt5aGFrZW1pc3RvIHNpaXJyZXTDpMOkbiBwaW5vbiBww6TDpGxsaW1tw6Rpc2Vrc2kuIElsbWFuICIKKyJhcmd1bWVudHRlamFcbiIKKyIgICAgdmFpaHRhYSBwaW5vbiBrYWtzaSBww6TDpGxsaW1tw6Rpc3TDpCBrZXNrZW7DpMOkbi5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLW5cdErDpHR0w6TDpCBub3JtYWFsaW4gaGFrZW1pc3RvbiB2YWloZG9uIHRla2Vtw6R0dMOkIGxpc8OkdHTDpGVzc8OkXG4iCisiICAgICAgXHRcdGhha2VtaXN0b2phIHBpbm9vbiwgam90ZW4gYWlub2FzdGFhbiBwaW5vYSBtdW9rYXRhYW4uXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudGl0OlxuIgorIiAgICAgICtOXHRLaWVycsOkdHTDpMOkIHBpbm9hIG5paW4sIGV0dMOkIE46cyBoYWtlbWlzdG8gKGxhc2tpZW4gdmFzZW1tYWx0YVxuIgorIiAgICAgIFx0XHTigJ1kaXJz4oCdLWtvbWVubm9uIHR1b3R0YW1hc3RhIGxpc3Rhc3RhLCBhbGthZW4gbm9sbGFzdGEpIG9uXG4iCisiICAgICAgXHRcdHBpbm9uIHDDpMOkbGxpbW3DpGlzZW7DpC5cbiIKKyIgICAgICAtTlx0S2llcnLDpHR0w6TDpCBwaW5vYSBuaWluLCBldHTDpCBOOnMgaGFrZW1pc3RvIChsYXNraWVuIG9pa2VhbHRhXG4iCisiICAgICAgXHRcdOKAnWRpcnPigJ0ta29tZW5ub24gdHVvdHRhbWFzdGEgbGlzdGFzdGEsIGFsa2FlbiBub2xsYXN0YSkgb25cbiIKKyIgICAgICBcdFx0cGlub24gcMOkw6RsbGltbcOkaXNlbsOkLlxuIgorIiAgICAgIEhBS0VNXHRMaXPDpMOkIEhBS0VNSU4gaGFrZW1pc3RvcGlub24gcMOkw6RsbGltbcOkaXNla3NpIGphIHRla2VlIFxuIgorIiAgICAgIFx0XHRzaWl0w6QgdHnDtmhha2VtaXN0b24uXG4iCisiICAgIFxuIgorIiAgICBTaXPDpMOkbnJha2VubmV0dHUg4oCdZGlyc+KAnSBuw6R5dHTDpMOkIGhha2VtaXN0b3Bpbm9uLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4sIHBhaXRzaSBqb3Mgb24gYW5uZXR0dSB2aXJoZWVsbGluZW4gYXJndW1lbnR0aSAiCisidGFpXG4iCisiICAgIGhha2VtaXN0b24gdmFpaHRhbWluZW4gZXDDpG9ubmlzdHV1LiIKKworIzogYnVpbHRpbnMuYzoxODA0Cittc2dpZCAiIgorIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgorIiAgICBcbiIKKyIgICAgUmVtb3ZlcyBlbnRyaWVzIGZyb20gdGhlIGRpcmVjdG9yeSBzdGFjay4gIFdpdGggbm8gYXJndW1lbnRzLCByZW1vdmVzXG4iCisiICAgIHRoZSB0b3AgZGlyZWN0b3J5IGZyb20gdGhlIHN0YWNrLCBhbmQgY2hhbmdlcyB0byB0aGUgbmV3IHRvcCBkaXJlY3RvcnkuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1uXHRTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3aGVuIHJlbW92aW5nXG4iCisiICAgIFx0ZGlyZWN0b3JpZXMgZnJvbSB0aGUgc3RhY2ssIHNvIG9ubHkgdGhlIHN0YWNrIGlzIG1hbmlwdWxhdGVkLlxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgICtOXHRSZW1vdmVzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdFxuIgorIiAgICBcdHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aCB6ZXJvLiAgRm9yIGV4YW1wbGU6IGBwb3BkICswJ1xuIgorIiAgICBcdHJlbW92ZXMgdGhlIGZpcnN0IGRpcmVjdG9yeSwgYHBvcGQgKzEnIHRoZSBzZWNvbmQuXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHRSZW1vdmVzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgcmlnaHQgb2YgdGhlIGxpc3RcbiIKKyIgICAgXHRzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGggemVyby4gIEZvciBleGFtcGxlOiBgcG9wZCAtMCdcbiIKKyIgICAgXHRyZW1vdmVzIHRoZSBsYXN0IGRpcmVjdG9yeSwgYHBvcGQgLTEnIHRoZSBuZXh0IHRvIGxhc3QuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgYXJndW1lbnQgaXMgc3VwcGxpZWQgb3IgdGhlIGRpcmVjdG9yeVxuIgorIiAgICBjaGFuZ2UgZmFpbHMuIgorbXNnc3RyICIiCisiUG9pc3RhYSBoYWtlbWlzdG9qYSBwaW5vc3RhLlxuIgorIiAgICBcbiIKKyIgICAgUG9pc3RhYSBhbGtpb2l0YSBoYWtlbWlzdG9waW5vc3RhLiBJbG1hbiBhcmd1bWVudHRlamEgcG9pc3RhYVxuIgorIiAgICBwaW5vbiBww6TDpGxsaW1tw6Rpc2VuLCBqYSBzaWlydHl5IHV1dGVlbiB5bGltcMOkw6RuIGhha2VtaXN0b29uLlxuIgorIiAgICBcbiIKKyIgICAgVmFsaXRzaW1ldDpcbiIKKyIgICAgICAtblx0SsOkdHTDpMOkIG5vcm1hYWxpbiBoYWtlbWlzdG9vbiBzaWlydHltaXNlbiBzdW9yaXR0YW1hdHRhLFxuIgorIiAgICAgIFx0XHRqb3RlbiB2YWluIHBpbm9hIG11b2thdGFhbi5cbiIKKyIgICAgICArTlx0UG9pc3RhYSBOOm5uZW4gYWxraW9uIChsYXNraWVuIHZhc2VtbWFsdGEg4oCdZGlyc+KAnS1rb21lbm5vblxuIgorIiAgICAgIFx0XHR0dW90dGFtYXN0YSBsaXN0YXN0YSwgYWxrYWVuIG5vbGxhc3RhKS4gRXNpbWVya2lrc2kg4oCdcG9wZCArMOKAnVxuIgorIiAgICBcdFx0cG9pc3RhYSBlbnNpbW3DpGlzZW4gaGFrZW1pc3Rvbiwg4oCdcG9wZCArMeKAnSB0b2lzZW4uXG4iCisiICAgICAgLU5cdFBvaXN0YWEgTjpubmVuIGFsa2lvbiAobGFza2llbiBvaWtlYWx0YSDigJ1kaXJz4oCdLWtvbWVubm9uXG4iCisiICAgICAgICBcdHR1b3R0YW1hc3RhIGxpc3Rhc3RhLCBhbGthZW4gbm9sbGFzdGEpLiBFc2ltZXJraWtzaSDigJ1wb3BkIC0w4oCdXG4iCisiICAgICAgICBcdHBvaXN0YWEgdmlpbWVpc2VuIGhha2VtaXN0b24sIOKAnXBvcGQgLTHigJ0gdG9pc2Vrc2kgdmlpbWVpc2VuLlxuIgorIlxuIgorIiAgICBTaXPDpMOkbnJha2VubmV0dHUg4oCdZGlyc+KAnS1rb21lbnRvIGxpc3RhYSBoYWtlbWlzdG9waW5vbi5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIG9ubmlzdHVuZWVuIHBhaXRzaSBqb3Mgb24gYW5uZXR0dSB2aXJoZWVsbGluZW4gYXJndW1lbnR0aSB0YWlcbiIKKyIgICAgaGFrZW1pc3RvbiB2YWlodG8gZXDDpG9ubmlzdHV1LiIKKworIzogYnVpbHRpbnMuYzoxODM0Cittc2dpZCAiIgorIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgorIiAgICBcbiIKKyIgICAgRGlzcGxheSB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4gIERpcmVjdG9yaWVzXG4iCisiICAgIGZpbmQgdGhlaXIgd2F5IG9udG8gdGhlIGxpc3Qgd2l0aCB0aGUgYHB1c2hkJyBjb21tYW5kOyB5b3UgY2FuIGdldFxuIgorIiAgICBiYWNrIHVwIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYHBvcGQnIGNvbW1hbmQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1jXHRjbGVhciB0aGUgZGlyZWN0b3J5IHN0YWNrIGJ5IGRlbGV0aW5nIGFsbCBvZiB0aGUgZWxlbWVudHNcbiIKKyIgICAgICAtbFx0ZG8gbm90IHByaW50IHRpbGRlLXByZWZpeGVkIHZlcnNpb25zIG9mIGRpcmVjdG9yaWVzIHJlbGF0aXZlXG4iCisiICAgIFx0dG8geW91ciBob21lIGRpcmVjdG9yeVxuIgorIiAgICAgIC1wXHRwcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lXG4iCisiICAgICAgLXZcdHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUgcHJlZml4ZWRcbiIKKyIgICAgXHR3aXRoIGl0cyBwb3NpdGlvbiBpbiB0aGUgc3RhY2tcbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICArTlx0RGlzcGxheXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duICIKKyJieVxuIgorIiAgICBcdGRpcnMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0RGlzcGxheXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG93biAiCisiYnlcbiIKKyIgICAgXHRkaXJzIHdoZW4gaW52b2tlZCB3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyJOw6R5dHTDpMOkIGhha2VtaXN0b3Bpbm9uLlxuIgorIiAgICBcbiIKKyIgICAgTsOkeXR0w6TDpCBsaXN0YW4gdMOkbGzDpCBoZXRrZWxsw6QgbXVpc3RldHVpc3RhIGhha2VtaXN0b2lzdGEuIEhha2VtaXN0b3RcbiIKKyIgICAgcMOkw6R0eXbDpHQgbGlzdGFsbGUg4oCdcHVzaGTigJ0ta29tZW5ub2xsYTsgdm9pdCBzZWxhdGEgcGlub2Eg4oCdcG9wZOKAnS1cbiIKKyIgICAga29tZW5ub2xsYS5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLWNcdFR5aGplbm7DpCBoYWtlbWlzdG9waW5vIHBvaXN0YW1hbGxhIGthaWtraSBhbGtpb3RcbiIKKyIgICAgICAtbFx0w6Rsw6QgdHVsb3N0YSB0aWxkZS1hbGt1aXNpYSB2ZXJzaW9pdGEga290aWhha2VtaXN0b29uIFxuIgorIiAgICAgICAgXHRzdWh0ZXV0ZXR1aXN0YSBoYWtlbWlzdG9pc3RhXG4iCisiICAgICAgLXBcdHR1bG9zdGEgaGFrZW1pc3RvcHV1IGhha2VtaXN0byBwZXIgcml2aVxuIgorIiAgICAgIC12XHR0dWxvc3RhIGhha2VtaXN0b3B1dSwgaGFrZW1pc3RvIHBlciByaXZpLCBudW1lcm9pdHVpbmEgXG4iCisiICAgICAgICBcdHBpbm9pbmRla3NpbiBtdWthYW5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50aXQ6XG4iCisiICAgICAgK05cdE7DpHl0dMOkw6QgTjpubmVuIGFsa2lvbiAo4oCdZGlyc+KAnS1rb21lbm5vbiB0dW90dGFtYXN0YSBsaXN0YXN0YVxuIgorIiAgICAgICAgXHR2YXNlbW1hbHRhIGxhc2tpZW4pIGFsa2FlbiBub2xsYXN0YSBrw6R5bm5pc3RldHTDpGVzc8OkIGlsbWFuXG4iCisiICAgICAgICBcdG9wdGlvaXRhLlxuIgorIiAgICAgIC1OXHROw6R5dHTDpMOkIE46bm5lbiBhbGtpb24gKOKAnWRpcnPigJ0ta29tZW5ub24gdHVvdHRhbWFzdGEgbGlzdGFzdGFcbiIKKyIgICAgICAgIFx0b2lrZWFsdGEgbGFza2llbikgYWxrYWVuIG5vbGxhc3RhIGvDpHlubmlzdGV0dMOkZXNzw6QgaWxtYW5cbiIKKyIgICAgICAgIFx0b3B0aW9pdGEuXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSBvbm5pc3R1bmVlbiBwYWl0c2kgam9zIG9uIGFubmV0dHUgdmlyaGVlbGxpbmVuIHZhbGl0c2luXG4iCisiICAgIHRhaSB0YXBhaHR1dSB2aXJoZS4iCisKKyM6IGJ1aWx0aW5zLmM6MTg2MworbXNnaWQgIiIKKyJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCisiICAgIFxuIgorIiAgICBDaGFuZ2UgdGhlIHNldHRpbmcgb2YgZWFjaCBzaGVsbCBvcHRpb24gT1BUTkFNRS4gIFdpdGhvdXQgYW55IG9wdGlvblxuIgorIiAgICBhcmd1bWVudHMsIGxpc3QgYWxsIHNoZWxsIG9wdGlvbnMgd2l0aCBhbiBpbmRpY2F0aW9uIG9mIHdoZXRoZXIgb3Igbm90ICIKKyJlYWNoXG4iCisiICAgIGlzIHNldC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW9cdHJlc3RyaWN0IE9QVE5BTUVzIHRvIHRob3NlIGRlZmluZWQgZm9yIHVzZSB3aXRoIGBzZXQgLW8nXG4iCisiICAgICAgLXBcdHByaW50IGVhY2ggc2hlbGwgb3B0aW9uIHdpdGggYW4gaW5kaWNhdGlvbiBvZiBpdHMgc3RhdHVzXG4iCisiICAgICAgLXFcdHN1cHByZXNzIG91dHB1dFxuIgorIiAgICAgIC1zXHRlbmFibGUgKHNldCkgZWFjaCBPUFROQU1FXG4iCisiICAgICAgLXVcdGRpc2FibGUgKHVuc2V0KSBlYWNoIE9QVE5BTUVcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgT1BUTkFNRSBpcyBlbmFibGVkOyBmYWlscyBpZiBhbiBpbnZhbGlkIG9wdGlvbiBpc1xuIgorIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKK21zZ3N0ciAiIgorIkFzZXR0YWEgamEgcG9pc3RhYSBrb21lbnRvdHVsa2luIHZhbGl0c2ltaWEuXG4iCisiICAgIFxuIgorIiAgICBNdXV0dGFhIGt1bmtpbiB0dWxraW4gVkFMSVRTSU1FTiBhc2V0dWtzZW4uIElsbWFuIGFyZ3VtZW50dGVqYVxuIgorIiAgICBsaXN0YWEga2Fpa2tpIHR1bGtpbiB2YWxpdHNpbWV0IGphIHRpZWRvbiwgb25rbyB2YWxpdHNpbiB2b2ltYXNzYSBcbiIKKyIgICAgdmFpIGVpLlxuIgorIiAgICBcbiIKKyIgICAgVmFsaXRzaW1ldDpcbiIKKyIgICAgICAtb1x0cmFqYWEgVkFMSVRTSU1FVCBuaWloaW4sIGpvdGthIG9uIG3DpMOkcml0ZWx0eSBrw6R5dGV0dMOkdsOka3NpXG4iCisiICAgICAgICBcdOKAnXNldCAtb+KAnTpsbGFcbiIKKyIgICAgICAtcFx0dHVsb3N0YSBrdWtpbiB0dWxraW4gdmFsaXRzaW4gamEgc2VuIHRpbGFcbiIKKyIgICAgICAtcVx0w6Rsw6QgdHVsb3N0YVxuIgorIiAgICAgIC1zXHRhc2V0YSBrdWtpbiBWQUxJVFNJTlxuIgorIiAgICAgIC11XHRwb2lzdGEga3VraW4gVkFMSVRTSU5cbiIKKyIgICAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4sIG1pa8OkbGkgVkFMSVRTSU4gb24ga8OkeXTDtnNzw6QsIGVww6Rvbm5pc3R1dSBqb3Mgb25cbiIKKyIgICAgYW5uZXR0dSB2aXJoZWVsbGluZW4gVkFMSVRTSU4gdGFpIFZBTElUU0lOIGVpIG9sZSBrw6R5dMO2c3PDpC4iCisKKyM6IGJ1aWx0aW5zLmM6MTg4NAorIywgZnV6enkKK21zZ2lkICIiCisiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC12IHZhclx0YXNzaWduIHRoZSBvdXRwdXQgdG8gc2hlbGwgdmFyaWFibGUgVkFSIHJhdGhlciB0aGFuXG4iCisiICAgIFx0XHRkaXNwbGF5IGl0IG9uIHRoZSBzdGFuZGFyZCBvdXRwdXRcbiIKKyIgICAgXG4iCisiICAgIEZPUk1BVCBpcyBhIGNoYXJhY3RlciBzdHJpbmcgd2hpY2ggY29udGFpbnMgdGhyZWUgdHlwZXMgb2Ygb2JqZWN0czogIgorInBsYWluXG4iCisiICAgIGNoYXJhY3RlcnMsIHdoaWNoIGFyZSBzaW1wbHkgY29waWVkIHRvIHN0YW5kYXJkIG91dHB1dDsgY2hhcmFjdGVyICIKKyJlc2NhcGVcbiIKKyIgICAgc2VxdWVuY2VzLCB3aGljaCBhcmUgY29udmVydGVkIGFuZCBjb3BpZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dDsgYW5kXG4iCisiICAgIGZvcm1hdCBzcGVjaWZpY2F0aW9ucywgZWFjaCBvZiB3aGljaCBjYXVzZXMgcHJpbnRpbmcgb2YgdGhlIG5leHQgIgorInN1Y2Nlc3NpdmVcbiIKKyIgICAgYXJndW1lbnQuXG4iCisiICAgIFxuIgorIiAgICBJbiBhZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQgZm9ybWF0IHNwZWNpZmljYXRpb25zIGRlc2NyaWJlZCBpbiBwcmludGYiCisiKDEpXG4iCisiICAgIGFuZCBwcmludGYoMyksIHByaW50ZiBpbnRlcnByZXRzOlxuIgorIiAgICBcbiIKKyIgICAgICAlYlx0ZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50XG4iCisiICAgICAgJXFcdHF1b3RlIHRoZSBhcmd1bWVudCBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXRcbiIKKyIgICAgICAlKGZtdClUIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcgZnJvbSB1c2luZyBGTVQgYXMgYSAiCisiZm9ybWF0XG4iCisiICAgICAgICAgICAgc3RyaW5nIGZvciBzdHJmdGltZSgzKVxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSB3cml0ZSBvciAiCisiYXNzaWdubWVudFxuIgorIiAgICBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisiTXVvdG9pbGVlIGphIHR1bG9zdGFhIEFSR1VNRU5USVQgTVVPVE9JTFVMTEEgbXVvdG9pbHR1bmEuXG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC12IG11dXR0dWphXHRzaWpvaXRhIHR1bG9zdGUgbXV1dHR1amFhbiBNVVVUVFVKQSwgw6Rsw6QgdHVsb3N0YVxuIgorIiAgICBcbiIKKyIgICAgTVVPVE9JTFUgb24gbWVya2tpam9ubywgam9rYSBrb29zdHV1IGtvbG1lbnR5eXBwaXNpc3TDpCBhbGtpb2lzdGE6XG4iCisiICAgIHRhdmFsbGlzaXN0YSBtZXJrZWlzdMOkLCBqb3RrYSB2YWluIGtvcGlvaWRhYW4gdmFraW90dWxvc3RlZXNlZW47XG4iCisiICAgIGVzY2FwZS15aGRpc3RlbG1pc3TDpCwgam90a2EgbXV1bm5ldGFhbiBqYSBrb3Bpb2lkYWFuIHZha2lvdHVsb3N0ZWVzZWVuOyAiCisiamFcbiIKKyIgICAgbXVvdG9pbHVtw6TDpHJpdHlrc2lzdMOkLCBqb2lzdGEgam9rYWluZW4gYWloZXV0dGFhIHNldXJhYXZhbiB2dW9yb3NzYVxuIgorIiAgICBvbGV2YW4gYXJndW1lbnRpbiB0dWxvc3RhbWlzZW4uXG4iCisiXG4iCisiICAgIFByaW50ZigxKTpuIGphIHByaW50ZigzKTpuIHZha2lvbXVvdG9pbHVqZW4gbGlzw6Rrc2kgcHJpbnRmIHR1bGtpdHNlZTpcbiIKKyIgICAgICAlYlx0bGF2ZW5uYSBlc2NhcGUteWhkaXN0ZWxtw6R0IHZhc3RhYXZhc3NhIGFyZ3VtZW50aXNzYVxuIgorIiAgICAgICVxXHRrYXBzZWxvaSBhcmd1bWVudHRpIHNpdGVuLCBldHTDpCBzZSB2b2lkYWFuIGvDpHl0dMOkw6QgdHVsa2luXG4iCisiICAgICAgICBcdHN5w7Z0dGVlbsOkXG4iCisiICAgIFxuIgorIiAgICBQYWx1dWFydm86XG4iCisiICAgIFBhbGF1dHRhYSBvbm5pc3R1bmVlbiBwYWl0c2kgam9zIG9uIGFubmV0dHUgdmlyaGVlbGxpbmVuIHZhbGl0c2luIHRhaVxuIgorIiAgICB0YXBhaHR1dSBraXJqb2l0dXMtIHRhaSBzaWpvaXR1c3ZpcmhlLiIKKworIzogYnVpbHRpbnMuYzoxOTEzCisjLCBmdXp6eQorbXNnaWQgIiIKKyJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKKyIgICAgXG4iCisiICAgIEZvciBlYWNoIE5BTUUsIHNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkLiAgSWYgbm8gIgorIm9wdGlvbnNcbiIKKyIgICAgYXJlIHN1cHBsaWVkLCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGFyZSBwcmludGVkIGluIGEgd2F5ICIKKyJ0aGF0XG4iCisiICAgIGFsbG93cyB0aGVtIHRvIGJlIHJldXNlZCBhcyBpbnB1dC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLXBcdHByaW50IGV4aXN0aW5nIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKKyIgICAgICAtclx0cmVtb3ZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBub1xuIgorIiAgICBcdE5BTUVzIGFyZSBzdXBwbGllZCwgYWxsIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbnNcbiIKKyIgICAgICAtRFx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIGFzIHRoZSBkZWZhdWx0IGZvciBjb21tYW5kc1xuIgorIiAgICBcdHdpdGhvdXQgYW55IHNwZWNpZmljIGNvbXBsZXRpb24gZGVmaW5lZFxuIgorIiAgICAgIC1FXHRhcHBseSB0aGUgY29tcGxldGlvbnMgYW5kIGFjdGlvbnMgdG8gXCJlbXB0eVwiIGNvbW1hbmRzIC0tXG4iCisiICAgIFx0Y29tcGxldGlvbiBhdHRlbXB0ZWQgb24gYSBibGFuayBsaW5lXG4iCisiICAgIFxuIgorIiAgICBXaGVuIGNvbXBsZXRpb24gaXMgYXR0ZW1wdGVkLCB0aGUgYWN0aW9ucyBhcmUgYXBwbGllZCBpbiB0aGUgb3JkZXIgdGhlXG4iCisiICAgIHVwcGVyY2FzZS1sZXR0ZXIgb3B0aW9ucyBhcmUgbGlzdGVkIGFib3ZlLiAgVGhlIC1EIG9wdGlvbiB0YWtlc1xuIgorIiAgICBwcmVjZWRlbmNlIG92ZXIgLUUuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisiTcOkw6RyaXR0ZWxlZSBtaXRlbiByZWFkbGluZSB0w6R5ZGVudMOkw6QgYXJndW1lbnRpdC5cbiIKKyIgICAgXG4iCisiICAgIE3DpMOkcml0dGVsZWUsIG1pdGVuIGt1a2luIE5JTUkgdMOkeWRlbm5ldMOkw6RuLiBJbG1hbiB2YWxpdHNpbWlhICIKKyJ0dWxvc3RldGFhblxuIgorIiAgICBueWt5aXNldCB0w6R5ZGVubnlzbcOkw6RyaXR5a3NldCBzaXRlbiwgZXR0w6QgbmlpdMOkIHZvaWRhYW4ga8OkeXR0w6TDpCBcbiIKKyIgICAgc3nDtnR0ZWVuw6QuXG4iCisiICAgIFxuIgorIiAgICBWYWxpdHNpbWV0OlxuIgorIiAgICAgIC1wXHR0dWxvc3RhYSBvbGVtYXNzYSBvbGV2YXQgdMOkeWRlbm55c23DpMOkcml0eWtzZXQgXG4iCisiICAgICAgICAgICAgICAgIGh5w7ZkeW5uZXR0w6R2w6Rzc8OkIG11b2Rvc3NhXG4iCisiICAgICAgLXJcdHBvaXN0YSB0w6R5ZGVubnlzbcOkw6RyaXR5cyBrdWx0YWtpbiBOSU1FTFTDhCwgdGFpLCBqb3MgTklNScOEIGVpXG4iCisiICAgICAgICBcdG9sZSBhbm5ldHR1LCBrYWlra2kgdMOkeWRlbm55c23DpMOkcml0eWtzZXRcbiIKKyIgICAgXG4iCisiICAgIFTDpHlkZW5ueXN0w6QgeXJpdGV0dMOkZXNzw6QgdG9pbWVucGl0ZWVuIHN1b3JpdGV0YWFuIHNhbWFzc2EgIgorImrDpHJqZXN0eWtzZXNzw6RcbiIKKyIgICAgbWlzc8OkIGlzb2lsbGEga2lyam9pdGV0dXQgdmFsaXRzaW1ldCBvbiBlZGVsbMOkIGxpc3RhdHR1LlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4gcGFpdHNpIGpvcyBvbiBhbm5ldHR1IHZpcmhlZWxsaW5lbiB2YWxpdHNpbiB0YWkgXG4iCisiICAgIHRhcGFodHV1IHZpcmhlLiIKKworIzogYnVpbHRpbnMuYzoxOTQxCittc2dpZCAiIgorIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgSW50ZW5kZWQgdG8gYmUgdXNlZCBmcm9tIHdpdGhpbiBhIHNoZWxsIGZ1bmN0aW9uIGdlbmVyYXRpbmcgcG9zc2libGVcbiIKKyIgICAgY29tcGxldGlvbnMuICBJZiB0aGUgb3B0aW9uYWwgV09SRCBhcmd1bWVudCBpcyBzdXBwbGllZCwgbWF0Y2hlcyAiCisiYWdhaW5zdFxuIgorIiAgICBXT1JEIGFyZSBnZW5lcmF0ZWQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisiTsOkeXR0w6TDpCBtYWhkb2xsaXNldCB0w6R5ZGVudGVldCB2YWxpdHNpbWlzdGEgcmlpcHB1ZW4uXG4iCisiICAgIFxuIgorIiAgICBUYXJrb2l0ZXR0dSBrw6R5dGV0dMOkdsOka3NpIGtvbWVudG90dWxraW4gZnVua3Rpb3NzYSwgam9rYSBsdW8gIgorIm1haGRvbGxpc2lhXG4iCisiICAgIHTDpHlkZW50ZWl0w6QuIEpvcyB2YWxpbm5haW5lbiBhcmd1bWVudHRpIFNBTkEgb24gYW5uZXR0dSwgbHVvZGFhbiBzaWloZW5cbiIKKyIgICAgc29waXZhdCB0w6R5ZGVudGVldC5cbiIKKyIgICAgXG4iCisiICAgIFBhbHV1YXJ2bzpcbiIKKyIgICAgUGFsYXV0dGFhIG9ubmlzdHVuZWVuIHBhaXRzaSBqb3Mgb24gYW5uZXR0dSB2aXJoZWVsbGluZW4gdmFsaXRzaW4gdGFpXG4iCisiICAgIHRhcGFodHV1IHZpcmhlLiIKKworIzogYnVpbHRpbnMuYzoxOTU2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCisiICAgIFxuIgorIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKKyJzdXBwbGllZCxcbiIKKyIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlaW5nIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW4sICIKKyJwcmludFxuIgorIiAgICB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUgb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbiAiCisic3BlY2lmaWNhdGlvbi5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgIFx0LW8gb3B0aW9uXHRTZXQgY29tcGxldGlvbiBvcHRpb24gT1BUSU9OIGZvciBlYWNoIE5BTUVcbiIKKyIgICAgXHQtRFx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZGVmYXVsdFwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcdC1FXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJlbXB0eVwiIGNvbW1hbmQgY29tcGxldGlvblxuIgorIiAgICBcbiIKKyIgICAgVXNpbmcgYCtvJyBpbnN0ZWFkIG9mIGAtbycgdHVybnMgb2ZmIHRoZSBzcGVjaWZpZWQgb3B0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICBcbiIKKyIgICAgRWFjaCBOQU1FIHJlZmVycyB0byBhIGNvbW1hbmQgZm9yIHdoaWNoIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIG11c3RcbiIKKyIgICAgaGF2ZSBwcmV2aW91c2x5IGJlZW4gZGVmaW5lZCB1c2luZyB0aGUgYGNvbXBsZXRlJyBidWlsdGluLiAgSWYgbm8gTkFNRXNcbiIKKyIgICAgYXJlIHN1cHBsaWVkLCBjb21wb3B0IG11c3QgYmUgY2FsbGVkIGJ5IGEgZnVuY3Rpb24gY3VycmVudGx5IGdlbmVyYXRpbmdcbiIKKyIgICAgY29tcGxldGlvbnMsIGFuZCB0aGUgb3B0aW9ucyBmb3IgdGhhdCBjdXJyZW50bHktZXhlY3V0aW5nIGNvbXBsZXRpb25cbiIKKyIgICAgZ2VuZXJhdG9yIGFyZSBtb2RpZmllZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIE5BTUUgZG9lcyBub3RcbiIKKyIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKK21zZ3N0ciAiIgorIk11dXR0YWEgdGFpIG7DpHl0dMOkw6QgdMOkeWRlbm55c3ZhbGl0c2ltZXQuXG4iCisiICAgIFxuIgorIiAgICBNdXV0dGFhIGt1bmtpbiBOSU1FTiwgdGFpIGpvcyBOSU1Jw4QgZWkgb2xlIGFubmV0dHUsIHTDpG3DpG5oZXRraXNlblxuIgorIiAgICB0w6R5ZGVubnlrc2VuIHTDpHlkZW5ueXN2YWxpdHNpbWlhLiBKb3MgVkFMSVRTSU1JQSBlaSBvbGUgYW5uZXR0dSwgXG4iCisiICAgIHR1bG9zdGFhIGt1bmtpbiBOSU1FTiB0YWkgdMOkbcOkbmhldGtpc2VuIHTDpHlkZW5ueWtzZW4gXG4iCisiICAgIHTDpHlkZW5ueXN2YWxpdHNpbWV0LlxuIgorIiAgICBcbiIKKyIgICAgVmFsaXRzaW1ldDpcbiIKKyIgICAgXHQtbyB2YWxpdHNpblx0YXNldGEgdMOkeWRlbm55c3ZhbGl0c2luIFZBTElUU0lOIGt1bGxla2luIE5JTUVMTEVcbiIKKyIgICAgXG4iCisiICAgIEvDpHl0dMOkbcOkbGzDpCDigJ0rb+KAnTp0YSDigJ0tb+KAnTpuIHNpamFhbiBreXNlaW5lbiB2YWxpdHNpbiBwb2lzdGV0YWFuLlxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRpdDpcbiIKKyIgICAgXG4iCisiICAgIEt1a2luIE5JTUkgdmlpdHRhYSBrb21lbnRvb24gam9sbGUgdMOkeWRlbm55c23DpMOkcml0eXMgb24gb2xsdXQgcGFra29cbiIKKyIgICAgbcOkw6RyaXRlbGzDpCBhaWVtbWluIGvDpHl0dMOkbcOkbGzDpCBzaXPDpMOkbnJha2VubmV0dHVhIGtvbWVudG9hIOKAnWNvbXBsZXRl4oCdLlxuIgorIiAgICBKb3MgTklNScOEIGVpIG9sZSBhbm5ldHR1LCBjb21wb3B0aWEgcGl0w6TDpCBrdXRzdWEgdMOkbGzDpCBoZXRrZWxsw6RcbiIKKyIgICAgdMOkeWRlbm55a3Npw6QgdHVvdHRhdmFzdGEgZnVua3Rpb3N0YSwgamEgc2VuIHZhbGl0c2ltaWEgbXV1dGV0YWFuLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4gcGFpdHNpIGpvcyBvbiBhbm5ldHR1IHZpcmhlZWxsaW5lbiB2YWxpdHNpbiB0YWlcbiIKKyIgICAgTklNRUxMRSBlaSBvbGUgbcOkw6RyaXRldHR5IHTDpHlkZW5ueXNtw6TDpHJpdHlzdMOkLiIKKworIzogYnVpbHRpbnMuYzoxOTg2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKKyIgICAgXG4iCisiICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSAiCisiQVJSQVksIG9yXG4iCisiICAgIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgIgorIk1BUEZJTEVcbiIKKyIgICAgaXMgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1uIGNvdW50XHRDb3B5IGF0IG1vc3QgQ09VTlQgbGluZXMuICBJZiBDT1VOVCBpcyAwLCBhbGwgbGluZXMgYXJlICIKKyJjb3BpZWQuXG4iCisiICAgICAgLU8gb3JpZ2luXHRCZWdpbiBhc3NpZ25pbmcgdG8gQVJSQVkgYXQgaW5kZXggT1JJR0lOLiAgVGhlIGRlZmF1bHQgIgorImluZGV4IGlzIDAuXG4iCisiICAgICAgLXMgY291bnQgXHREaXNjYXJkIHRoZSBmaXJzdCBDT1VOVCBsaW5lcyByZWFkLlxuIgorIiAgICAgIC10XHRcdFJlbW92ZSBhIHRyYWlsaW5nIG5ld2xpbmUgZnJvbSBlYWNoIGxpbmUgcmVhZC5cbiIKKyIgICAgICAtdSBmZFx0XHRSZWFkIGxpbmVzIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGluc3RlYWQgb2YgdGhlIHN0YW5kYXJkICIKKyJpbnB1dC5cbiIKKyIgICAgICAtQyBjYWxsYmFja1x0RXZhbHVhdGUgQ0FMTEJBQ0sgZWFjaCB0aW1lIFFVQU5UVU0gbGluZXMgYXJlIHJlYWQuXG4iCisiICAgICAgLWMgcXVhbnR1bVx0U3BlY2lmeSB0aGUgbnVtYmVyIG9mIGxpbmVzIHJlYWQgYmV0d2VlbiBlYWNoIGNhbGwgdG8gIgorIkNBTExCQUNLLlxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgIEFSUkFZXHRcdEFycmF5IHZhcmlhYmxlIG5hbWUgdG8gdXNlIGZvciBmaWxlIGRhdGEuXG4iCisiICAgIFxuIgorIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCisiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCisiICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudFxuIgorIiAgICBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiIKKyIgICAgXG4iCisiICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZICIKKyJiZWZvcmVcbiIKKyIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKK21zZ3N0ciAiIgorIkx1a2VlIHJpdmVqw6QgdmFraW9zecO2dHRlZXN0w6QgdGF1bHVra29tdXV0dHVqYWFuLlxuIgorIiAgICBcbiIKKyIgICAgTHVrZWUgcml2ZWrDpCB2YWtpb3N5w7Z0dGVlc3TDpCB0YXVsdWtrb211dXR0dWphYW4gVEFVTFVLS08sIHRhaSBcbiIKKyIgICAgdGllZG9zdG9rYWh2YXN0YSBUSyBqb3Mga8OkeXRldMOkw6RuIC11IC12YWxpdHNpbnRhLiBNdXV0dHVqYSBNQVBGSUxFXG4iCisiICAgIG9uIG9sZXR1cy1UQVVMVUtLTy5cbiIKKyIgICAgXG4iCisiICAgIFZhbGl0c2ltZXQ6XG4iCisiICAgICAgLW4gbGFza3VyaVx0S29waW9pIGtvcmtlaW50YWFuIExBU0tVUkkgcml2acOkLiBKb3MgTEFTS1VSSSBvbiAwLFxuIgorIiAgICAgICAgXHRcdGthaWtraSByaXZpdCBrb3Bpb2lkYWFuLlxuIgorIiAgICAgIC1PIGFsa3VcdFx0QWxvaXRhIHNpam9pdHVzIGluZGVrc2lzdMOkIEFMS1UuIE9sZXR1c2luZGVrc2kgb24gMC5cbiIKKyIgICAgICAtcyBsYXNrdXJpXHRIeWxrw6TDpCBMQVNLVVJJIGVuc2ltbcOkaXN0w6QgbHVldHR1YSByaXZpw6QuXG4iCisiICAgICAgLXRcdFx0UG9pc3RhIHJpdmlubG9wcHVtZXJra2kgam9rYWlzZXN0YSBsdWV0dXN0YSByaXZpc3TDpC5cbiIKKyIgICAgICAtdSBUS1x0XHRMdWUgcml2aXQgdGllZG9zdG9rYWh2YXN0YSBUSy5cbiIKKyIgICAgICAtQyBwYWx1dWt1dHN1XHRTdW9yaXRhIFBBTFVVS1VUU1UgYWluYSwga3VuIE3DhMOEUsOEIHJpdmnDpCBvbiBsdWV0dHUuXG4iCisiICAgICAgLWMgbcOkw6Ryw6RcdFx0TcOkw6RyaXR0ZWxlLCBtb250YWtvIHJpdmnDpCBsdWV0YWFuIGVubmVuIGt1dGFraW4gXG4iCisiICAgICAgICBcdFx0UEFMVVVLVVRTVUEuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudGl0OlxuIgorIiAgICAgIFRBVUxVS0tPXHRcdFRhdWx1a2tvbXV1dHR1amEsIGpvaG9uIHRpZWRvdCBsdWV0YWFuLlxuIgorIlxuIgorIiAgICBKb3MgLUMgb24gYW5uZXR0dSBpbG1hbiAtYzp0w6QsIG9sZXR1c23DpMOkcsOkIG9uIDUwMDAuIEt1biBQQUxVVUtVVFNVQVxuIgorIiAgICBldmFsdW9pZGFhbiwgc2lsbGUgYW5uZXRhYW4gaW5kZWtzaSBzZXVyYWF2YWFuIHNpam9pdHVzcGFpa2thYW5cbiIKKyIgICAgeWxpbcOkw6Ryw6Rpc2Vuw6QgYXJndW1lbnR0aW5hLlxuIgorIiAgICBcbiIKKyIgICAgSm9zIEFMS1VBIGVpIG9sZSBhbm5ldHR1LCBtYXBmaWxlIHR5aGplbnTDpMOkIFRBVUxVS09OIGVubmVuIHNpaWhlblxuIgorIiAgICBzaWpvaXR0YW1pc3RhLlxuIgorIiAgICBcbiIKKyIgICAgUGFsdXVhcnZvOlxuIgorIiAgICBQYWxhdXR0YWEgb25uaXN0dW5lZW4gcGFpdHNpIGpvcyBvbiBhbm5ldHR1IHZpcmhlZWxsaW5lbiB2YWxpdHNpblxuIgorIiAgICB0YWkgVEFVTFVLS08gb24ga2lyam9pdHVzc3VvamF0dHUuIgorCisjIENoYW5nZWQgIiBjaGFyYWN0ZXJzIGludG8g4oCdLi4uCisjOiBidWlsdGlucy5jOjIwMjAKK21zZ2lkICIiCisiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgorIiAgICBcbiIKKyIgICAgQSBzeW5vbnltIGZvciBgbWFwZmlsZScuIgorbXNnc3RyICIiCisiTHVrZWUgcml2aXQgdGllZG9zdG9zdGEgdGF1bHVra29tdXV0dHVqYWFuLlxuIgorIiAgICBcbiIKKyIgICAg4oCdbWFwZmlsZeKAnTpuIHN5bm9ueXltaS4iCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAieHJlYWxsb2M6IGVpIHZvaWRhIHV1ZGVsbGVlbnZhcmF0YSAlbHUgdGF2dWEgKHZhcmF0dGlpbiAlbHUgdGF2dWEpIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjfiBtc2dzdHIgInhyZWFsbG9jOiBlaSB2b2lkYSB2YXJhdGEgJWx1IHRhdnVhIgorCisjfiBtc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICIiCisjfiAieHJlYWxsb2M6ICVzOiVkOiBlaSB2b2lkYSB1dWRlbGxlZW52YXJhdGEgJWx1IHRhdnVhICh2YXJhdHRpaW4gJWx1IHRhdnVhKSIKZGlmZiAtLWdpdCBhL3BvL2ZyLmdtbyBiL3BvL2ZyLmdtbwppbmRleCA5ZmU2ODFmLi5hNjAyNWE2IDEwMDY0NAotLS0gYS9wby9mci5nbW8KKysrIGIvcG8vZnIuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL2ZyLnBvIGIvcG8vZnIucG8KaW5kZXggNTJkNWUxZi4uZTIwOWZiMCAxMDA2NDQKLS0tIGEvcG8vZnIucG8KKysrIGIvcG8vZnIucG8KQEAgLTEsMTQgKzEsMTUgQEAKICMgTWVzc2FnZXMgZnJhbsOnYWlzIHBvdXIgR05VIGNvbmNlcm5hbnQgYmFzaC4KLSMgQ29weXJpZ2h0IMKpIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCDCqSAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgogIyBNaWNoZWwgUm9iaXRhaWxsZSA8cm9iaXRhaWxASVJPLlVNb250cmVhbC5DQT4sIDIwMDQKLSMgQ2hyaXN0b3BoZSBDb21iZWxsZXMgPGNjb21iQGZyZWUuZnI+LCAyMDA4CisjIENocmlzdG9waGUgQ29tYmVsbGVzIDxjY29tYkBmcmVlLmZyPiwgMjAwOCwgMjAwOSwgMjAxMAogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCAzLjJcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2gtNC4xXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA4LTAzLTEzIDEzOjEwKzAxMDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0wMS0yOCAyMjowOS0wNTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMC0wNC0xMCAxMzo0NCswMTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBDaHJpc3RvcGhlIENvbWJlbGxlcyA8Y2NvbWJAZnJlZS5mcj5cbiIKICJMYW5ndWFnZS1UZWFtOiBGcmVuY2ggPHRyYWR1Y0B0cmFkdWMub3JnPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC0yMCwxNSArMjEsMTUgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJtYXV2YWlzIGluZGljZSBkZSB0YWJsZWF1IgogCi0jOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgotbXNnc3RyICIiCittc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkZSBjb252ZXJ0aXIgdW4gdGFibGVhdSBpbmRleMOpIGVuIGFzc29jaWF0aWYiCiAKICM6IGFycmF5ZnVuYy5jOjQ4MAotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFzc29jaWF0aXZlIGFycmF5IGtleSIKLW1zZ3N0ciAiJXMgOiBub20gZCdhY3Rpb24gbm9uIHZhbGFibGUiCittc2dzdHIgIiVzIDogY2zDqSBub24gdmFsYWJsZSBwb3VyIGxlIHRhYmxlYXUgYXNzb2NpYXRpZiIKIAogIzogYXJyYXlmdW5jLmM6NDgyCiAjLCBjLWZvcm1hdApAQCAtMzksNDEgKzQwLDQyIEBACiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCisiJXMgOiAlcyA6IGwnYXNzaWduYXRpb24gZCd1biB0YWJsZWF1IGFzc29jaWF0aWYgZG9pdCBzZSBmYWlyZSBhdmVjIHVuIGluZGljZSIKIAotIzogYmFzaGhpc3QuYzozODMKKyM6IGJhc2hoaXN0LmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGRlIGNyw6llciA6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0NTcKKyM6IGJhc2hsaW5lLmM6MzQ5OAogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQgOiBpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGUgbWFwcGFnZSBjbGF2aWVyIHBvdXIgbGEgIgogImNvbW1hbmRlIgogCi0jOiBiYXNobGluZS5jOjM1NDMKKyM6IGJhc2hsaW5lLmM6MzU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlcyA6IGxlIHByZW1pZXIgY2FyYWN0w6hyZSBub24gdmlkZSBuJ2VzdCBwYXMgwqsgXCIgwrsiCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAicGFzIGRlIMKrICVjIMK7IGRlIGZlcm1ldHVyZSBkYW5zICVzIgogCi0jOiBiYXNobGluZS5jOjM2MDYKKyM6IGJhc2hsaW5lLmM6MzY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzIDogdmlyZ3VsZSBkZSBzw6lwYXJhdGlvbiBtYW5xdWFudGUiCiAKICM6IGJ1aWx0aW5zL2FsaWFzLmRlZjoxMzIKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCi1tc2dzdHIgIsKrICVzIMK7IDogbm9tIGR1IG1hcHBhZ2UgY2xhdmllciBpbnZhbGlkZSIKK21zZ3N0ciAiwqsgJXMgwrsgOiBub20gZCdhbGlhcyBub24gdmFsYWJsZSIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqWRpdGlvbiBkZSBsaWduZSBub24gYWN0aXbDqWUiCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjIwNgogIywgYy1mb3JtYXQKQEAgLTEwNyw2MyArMTA5LDUwIEBACiAKICM6IGJ1aWx0aW5zL2JyZWFrLmRlZjo3NyBidWlsdGlucy9icmVhay5kZWY6MTE3CiBtc2dpZCAibG9vcCBjb3VudCIKLW1zZ3N0ciAiIgorbXNnc3RyICJub21icmUgZGUgYm91Y2xlcyIKIAogIzogYnVpbHRpbnMvYnJlYWsuZGVmOjEzNwogbXNnaWQgIm9ubHkgbWVhbmluZ2Z1bCBpbiBhIGBmb3InLCBgd2hpbGUnLCBvciBgdW50aWwnIGxvb3AiCiBtc2dzdHIgImNlY2kgbidhIHVuIHNlbnMgcXVlIGRhbnMgdW5lIGJvdWNsZSDCqyBmb3IgwrssIMKrIHdoaWxlIMK7IG91IMKrIHVudGlsIMK7IgogCiAjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzMwotIywgZnV6enkKIG1zZ2lkICIiCiAiUmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCiAiICAgIFxuIgogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgotbXNnc3RyICJSZW52b2llIGxlIGNvbnRleHRlIGRlIGwnYXBwZWwgZGUgc291cy1yb3V0aW5lIGFjdHVlbCIKLQotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKLW1zZ2lkICIiCi0iLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCi0iICAgICIKIG1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgotbXNnaWQgIiIKLSI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKLSIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIlJlbnZvaWUgbGUgY29udGV4dGUgZGUgbCdhcHBlbCBkZSBzb3VzLXJvdXRpbmUgYWN0dWVsLlxuIgogIiAgICBcbiIKLSIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgotIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKLW1zZ3N0ciAiIgorIiAgICBTYW5zIEVYUFIsIHJlbnZvaWUiCiAKLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyMzUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIsKrIEhPTUUgwrsgbm9uIGTDqWZpbmkiCiAKLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMjcKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyNDcKIG1zZ2lkICJPTERQV0Qgbm90IHNldCIKIG1zZ3N0ciAiwqsgT0xEUFdEIMK7IG5vbiBkw6lmaW5pIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoxMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAibGluZSAlZDogIgotbXNnc3RyICIiCittc2dzdHIgImxpZ25lICVkIDogIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCi1tc2dzdHIgIiVzIDogYXZlcnRpc3NlbWVudCA6IgorbXNnc3RyICJhdmVydGlzc2VtZW50IDoiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE1MwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1c2FnZTogIgotbXNnc3RyICIlcyA6IGF2ZXJ0aXNzZW1lbnQgOiIKK21zZ3N0ciAiJXMgOiB1dGlsaXNhdGlvbiA6IgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNworIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MzIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgInRyb3AgZCdhcmd1bWVudHMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NTAwIHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzIDogbCdvcHRpb24gbsOpY2Vzc2l0ZSB1biBhcmd1bWVudCIKQEAgLTE5NCwxNiArMTgzLDE0IEBACiBtc2dzdHIgIsKrICVzIMK7IDogaWRlbnRpZmlhbnQgbm9uIHZhbGFibGUiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIzOAotIywgZnV6enkKIG1zZ2lkICJpbnZhbGlkIG9jdGFsIG51bWJlciIKLW1zZ3N0ciAiTnVtw6lybyBkZSBzaWduYWwgbm9uIHZhbGFibGUiCittc2dzdHIgIk5vbWJyZSBvY3RhbCBub24gdmFsYWJsZSIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjQwCi0jLCBmdXp6eQogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKLW1zZ3N0ciAibm9tYnJlIG5vbiB2YWxhYmxlIgorbXNnc3RyICJub21icmUgaGV4YWTDqWNpbWFsIG5vbiB2YWxhYmxlIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTM2MgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJub21icmUgbm9uIHZhbGFibGUiCiAKQEAgLTIxNiw4ICsyMDMsNyBAQAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCiBtc2dzdHIgIiIKLSLCqyAlcyDCuyA6IGNlIG4nZXN0IHBhcyB1biBuwrAgZGUgcHJvY2Vzc3VzIG91IHVuZSBzcMOpY2lmaWNhdGlvbiBkZSB0w6JjaGUgIgotInZhbGFibGUiCisiwqsgJXMgwrsgOiBjZSBuJ2VzdCBwYXMgdW4gbsKwIGRlIHByb2Nlc3N1cyBvdSB1bmUgc3DDqWNpZmljYXRpb24gZGUgdMOiY2hlIHZhbGFibGUiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1NAogIywgYy1mb3JtYXQKQEAgLTI3NCwxMiArMjYwLDEyIEBACiAjOiBidWlsdGlucy9jb21tb24uYzozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igc2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJlcnJldXIgbG9ycyBkZSBsYSBkw6lmaW5pdGlvbiBkZSBsJ2F0dHJpYnV0IGR1IHRlcm1pbmFsICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgZ2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJlcnJldXIgbG9ycyBkZSBsYSByw6ljdXDDqXJhdGlvbiBkZSBsJ2F0dHJpYnV0IGR1IHRlcm1pbmFsIDogJXMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjU2MwogIywgYy1mb3JtYXQKQEAgLTMxNiwzMCArMzAyLDMwIEBACiAKICM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgotbXNnc3RyICIiCittc2dzdHIgImZvbmN0aW9uIGRlIGNvbXBsZXRpb24gYWN0dWVsbGVtZW50IG5vbiBlbiBjb3VycyBkJ2V4w6ljdXRpb24iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyMgorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTI0CiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJ1dGlsaXNhYmxlIHNldWxlbWVudCBkYW5zIHVuZSBmb25jdGlvbiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjYKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIsKrIC1mIMK7IG5lIHBldXQgcGFzIMOqdHJlIHV0aWxpc8OpIHBvdXIgZmFicmlxdWVyIGRlcyBmb25jdGlvbnMiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3OCBleGVjdXRlX2NtZC5jOjUxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlcyA6IGZvbmN0aW9uIGVuIGxlY3R1cmUgc2V1bGUiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkZSBkw6l0cnVpcmUgZGVzIHZhcmlhYmxlcyB0YWJsZWF1eCBkZSBjZXR0ZSBmYcOnb24iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgotbXNnc3RyICIiCittc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkZSBjb252ZXJ0aXIgdW4gdGFibGVhdSBpbmRleMOpIGVuIHRhYmxlYXUgYXNzb2NpYXRpZiIKIAogIzogYnVpbHRpbnMvZW5hYmxlLmRlZjoxMzcgYnVpbHRpbnMvZW5hYmxlLmRlZjoxNDUKIG1zZ2lkICJkeW5hbWljIGxvYWRpbmcgbm90IGF2YWlsYWJsZSIKQEAgLTM2NSwyOSArMzUxLDI5IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZCdlZmZhY2VyIDogJXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKLSM6IHNoZWxsLmM6MTQ1MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzUgYnVpbHRpbnMvaGFzaC5kZWY6MTcxIGV4ZWN1dGVfY21kLmM6NDk2MQorIzogc2hlbGwuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXMgOiBjZWNpIGVzdCB1biByw6lwZXJ0b2lyZSIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIiVzIDogY2VjaSBuJ2VzdCBwYXMgdW4gZmljaGllciByw6lndWxpZXIiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ3CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzIDogbGUgZmljaGllciBlc3QgdHJvcCBncmFuZCIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0Ci0jOiBzaGVsbC5jOjE0NjIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTgyIGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAwIGV4ZWN1dGVfY21kLmM6NTAzMgorIzogc2hlbGwuYzoxNDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXMgOiBmaWNoaWVyIGJpbmFpcmUgaW1wb3NzaWJsZSDDoCBsYW5jZXIiCiAKLSM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgorIzogYnVpbHRpbnMvZXhlYy5kZWY6MTU0IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NiBidWlsdGlucy9leGVjLmRlZjoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlOiAlcyIKIG1zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGQnZXjDqWN1dGVyIDogJXMiCkBAIC0zOTUsNyArMzgxLDcgQEAKICM6IGJ1aWx0aW5zL2V4aXQuZGVmOjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImxvZ291dFxuIgotbXNnc3RyICIiCittc2dzdHIgImTDqWNvbm5leGlvblxuIgogCiAjOiBidWlsdGlucy9leGl0LmRlZjo4OAogbXNnaWQgIm5vdCBsb2dpbiBzaGVsbDogdXNlIGBleGl0JyIKQEAgLTQwNywyNiArMzkzLDI2IEBACiBtc2dzdHIgIklsIHkgYSBkZXMgdMOiY2hlcyBzdG9wcMOpZXMuXG4iCiAKICM6IGJ1aWx0aW5zL2V4aXQuZGVmOjEyMgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCi1tc2dzdHIgIklsIHkgYSBkZXMgdMOiY2hlcyBzdG9wcMOpZXMuXG4iCittc2dzdHIgIklsIHkgYSBkZXMgdMOiY2hlcyBlbiBjb3VycyBkJ2V4w6ljdXRpb24uXG4iCiAKICM6IGJ1aWx0aW5zL2ZjLmRlZjoyNjIKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJhdWN1bmUgY29tbWFuZGUgdHJvdXbDqWUiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiaW5kaWNhdGlvbiBkJ2hpc3RvcmlxdWUiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIHRlbXBvcmFpcmUgOiAlcyIKIAogIzogYnVpbHRpbnMvZmdfYmcuZGVmOjE0OSBidWlsdGlucy9qb2JzLmRlZjoyODIKIG1zZ2lkICJjdXJyZW50IgotbXNnc3RyICIiCittc2dzdHIgImNvdXJhbnQiCiAKICM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNTgKICMsIGMtZm9ybWF0CkBAIC00NTIsMjUgKzQzOCwyNSBAQAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCiBtc2dzdHIgIiVzIDogdGFibGUgZGUgaGFjaGFnZSB2aWRlXG4iCiAKLSM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NAotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9oYXNoLmRlZjoyNDUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiaGl0c1x0Y29tbWFuZFxuIgotbXNnc3RyICJkZXJuacOocmUgY29tbWFuZGUgOiAlc1xuIgorbXNnc3RyICJ0b3VjaGUgbGEgY29tbWFuZGVcbiIKIAogIzogYnVpbHRpbnMvaGVscC5kZWY6MTMwCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZCBgIgogbXNnaWRfcGx1cmFsICJTaGVsbCBjb21tYW5kcyBtYXRjaGluZyBrZXl3b3JkcyBgIgogbXNnc3RyWzBdICJDb21tYW5kZXMgZHUgc2hlbGwgY29ycmVzcG9uZGFudCBhdSBtb3QtY2zDqSDCqyAiCi1tc2dzdHJbMV0gIkNvbW1hbmRlcyBkdSBzaGVsbCBjb3JyZXNwb25kYW50IGF1IG1vdC1jbMOpIMKrICIKK21zZ3N0clsxXSAiQ29tbWFuZGVzIGR1IHNoZWxsIGNvcnJlc3BvbmRhbnQgYXV4IG1vdHMtY2zDqXMgwqsgIgogCiAjOiBidWlsdGlucy9oZWxwLmRlZjoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vIGhlbHAgdG9waWNzIG1hdGNoIGAlcycuICBUcnkgYGhlbHAgaGVscCcgb3IgYG1hbiAtayAlcycgb3IgYGluZm8gJXMnLiIKIG1zZ3N0ciAiIgotIkF1Y3VuZSBydWJyaXF1ZSBkJ2FpZGUgbmUgY29ycmVzcG9uZCDDoCDCqyAlcyDCuy4gRXNzYXlleiDCqyBoZWxwIGhlbHAgwrssIMKrIG1hbiAtIgotImsgJXMgwrsgb3UgwqsgaW5mbyAlcyDCuy4iCisiQXVjdW5lIHJ1YnJpcXVlIGQnYWlkZSBuZSBjb3JyZXNwb25kIMOgIMKrICVzIMK7LiBFc3NheWV6IMKrIGhlbHAgaGVscCDCuywgwqsgbWFuIC1rICUiCisicyDCuyBvdSDCqyBpbmZvICVzIMK7LiIKIAogIzogYnVpbHRpbnMvaGVscC5kZWY6MTg1CiAjLCBjLWZvcm1hdApAQCAtNDkwLDggKzQ3Niw3IEBACiBtc2dzdHIgIiIKICJDZXMgY29tbWFuZGVzIGRlIHNoZWxsIHNvbnQgZMOpZmluaWVzIGRlIG1hbmnDqHJlIGludGVybmUuVGFwZXogwqsgaGVscCDCuyBwb3VyICIKICJ2b2lyIGNldHRlIGxpc3RlLlxuIgotIlRhcGV6IMKrIGhlbHAgbm9tIMK7IHBvdXIgZW4gc2F2b2lyIHBsdXMgc3VyIGxhIGZvbmN0aW9uIHF1aSBzJ2FwcGVsbGUgwqsgbm9tICIKLSLCuy5cbiIKKyJUYXBleiDCqyBoZWxwIG5vbSDCuyBwb3VyIGVuIHNhdm9pciBwbHVzIHN1ciBsYSBmb25jdGlvbiBxdWkgcydhcHBlbGxlIMKrIG5vbSDCuy5cbiIKICJVdGlsaXNleiDCqyBpbmZvIGJhc2ggwrsgcG91ciBlbiBzYXZvaXIgcGx1cyBzdXIgbGUgc2hlbGwgZW4gZ8OpbsOpcmFsLlxuIgogIlV0aWxpc2V6IMKrIG1hbiAtayDCuyBvdSDCqyBpbmZvIMK7IHBvdXIgZW4gc2F2b2lyIHBsdXMgc3VyIGxlcyBjb21tYW5kZXMgcXVpXG4iCiAibmUgZm9udCBwYXMgcGFydGllIGRlIGNldHRlIGxpc3RlLlxuIgpAQCAtNTEzLDg2ICs0OTgsOTUgQEAKIG1zZ3N0ciAiJXMgOiBsJ2V4cGFuc2lvbiBkZSBsJ2hpc3RvcmlxdWUgYSDDqWNob3XDqSIKIAogIzogYnVpbHRpbnMvaW5saWIuZGVmOjcxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlubGliIGZhaWxlZCIKLW1zZ3N0ciAiJXMgOiBsJ2V4cGFuc2lvbiBkZSBsJ2hpc3RvcmlxdWUgYSDDqWNob3XDqSIKK21zZ3N0ciAiJXMgOiDCqyBpbmxpYiDCuyBhIMOpY2hvdcOpIgogCiAjOiBidWlsdGlucy9qb2JzLmRlZjoxMDkKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICJwYXMgZCdhdXRyZSBvcHRpb24gcGVybWlzZSBhdmVjIMKrIC14IMK7IgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyMDAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIiCiAiJXMgOiBsZXMgYXJndW1lbnRzIGRvaXZlbnQgw6p0cmUgZGVzIGlkZW50aWZpYW50cyBkZSB0w6JjaGUgb3UgZGUgcHJvY2Vzc3VzIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjMKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIkVycmV1ciBpbmNvbm51ZSIKIAotIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTAxIGV4cHIuYzo1MTYKKyM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjU1MiBleHByLmM6NTY3CiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAidW5lIGV4cHJlc3Npb24gZXN0IGF0dGVuZHVlIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTcyCisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKLW1zZ3N0ciAiJXMgOiBuJ2VzdCBwYXMgdW5lIHZhcmlhYmxlIHRhYmxlYXUiCittc2dzdHIgIiVzIDogbidlc3QgcGFzIHVuIHRhYmxlYXUgaW5kZXjDqSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU2IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXMgOiBzcMOpY2lmaWNhdGlvbiBkZSBkZXNjcmlwdGV1ciBkZSBmaWNoaWVyIG5vbiB2YWxhYmxlIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjQgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiVkIDogZGVzY3JpcHRldXIgZGUgZmljaGllciBub24gdmFsYWJsZSA6ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3MyBidWlsdGlucy9tYXBmaWxlLmRlZjozMTEKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKLW1zZ3N0ciAiJXMgOiBvcHRpb24gbm9uIHZhbGFibGUiCittc2dzdHIgIiVzIDogbm9tYnJlIGRlIGxpZ25lcyBub24gdmFsYWJsZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCi1tc2dzdHIgIiVzIDogb3B0aW9uIG5vbiB2YWxhYmxlIgorbXNnc3RyICIlcyA6IG9yaWdpbmUgZGUgdGFibGVhdSBub24gdmFsYWJsZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgotbXNnc3RyICIlcyA6IG5vbSBkJ2FjdGlvbiBub24gdmFsYWJsZSIKK21zZ3N0ciAiJXMgOiBxdWFudHVtIGRlIGNhbGxiYWNrIG5vbiB2YWxhYmxlIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKLSMsIGZ1enp5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzMKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgotbXNnc3RyICIlcyA6IG4nZXN0IHBhcyB1bmUgdmFyaWFibGUgdGFibGVhdSIKK21zZ3N0ciAibm9tIGRlIHZhcmlhYmxlIHRhYmxlYXUgdmlkZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgotbXNnc3RyICIiCittc2dzdHIgIm7DqWNlc3NpdMOpIGRlIHByaXNlIGVuIGNoYXJnZSBkZXMgdmFyaWFibGVzIHRhYmxlYXV4IgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICLCqyAlcyDCuyA6IGNhcmFjdMOocmUgZGUgZm9ybWF0IG1hbnF1YW50IgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgdGltZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXMgOiBzcMOpY2lmaWNhdGlvbiBkZSBkw6lsYWkgZCdleHBpcmF0aW9uIG5vbiB2YWxhYmxlIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIsKrICVjIMK7IDogY2FyYWN0w6hyZSBkZSBmb3JtYXQgbm9uIHBlcm1pcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2NjIKKyMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgotbXNnc3RyICIlcyA6IGF2ZXJ0aXNzZW1lbnQgOiIKK21zZ3N0ciAiYXZlcnRpc3NlbWVudCA6ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiY2hpZmZyZSBoZXhhZMOpY2ltYWwgbWFucXVhbnQgcG91ciBcXHgiCiAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIHVuaWNvZGUgZGlnaXQgZm9yIFxcJWMiCittc2dzdHIgImNoaWZmcmUgaGV4YWTDqWNpbWFsIG1hbnF1YW50IHBvdXIgXFx4IgorCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6MTk1CiBtc2dpZCAibm8gb3RoZXIgZGlyZWN0b3J5IgogbXNnc3RyICJwYXMgZCdhdXRyZSByw6lwZXJ0b2lyZSIKQEAgLTYwMywxNSArNTk3LDEzIEBACiAKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo1MDYKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhY2sgZW1wdHkiCi1tc2dzdHIgIiIKK21zZ3N0ciAicGlsZSBkZSByw6lwZXJ0b2lyZSB2aWRlIgogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NTA4Ci0jLCBmdXp6eQogbXNnaWQgImRpcmVjdG9yeSBzdGFjayBpbmRleCIKLW1zZ3N0ciAiRMOpYm9yZGVtZW50IG7DqWdhdGlmIGRlIGxhIHBpbGUgZGUgcsOpY3Vyc2l2aXTDqSIKK21zZ3N0ciAiaW5kaWNlIGRlIHBpbGUgZGUgcsOpcGVydG9pcmUiCiAKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo2ODMKLSMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgdGhlIGxpc3Qgb2YgY3VycmVudGx5IHJlbWVtYmVyZWQgZGlyZWN0b3JpZXMuICBEaXJlY3Rvcmllc1xuIgogIiAgICBmaW5kIHRoZWlyIHdheSBvbnRvIHRoZSBsaXN0IHdpdGggdGhlIGBwdXNoZCcgY29tbWFuZDsgeW91IGNhbiBnZXRcbiIKQEAgLTYzOSwxOSArNjMxLDE1IEBACiAicmVtb250ZXJcbiIKICIgICBkYW5zIGxhIGxpc3RlIGVuIGVubGV2YW50IGRlcyDDqWzDqW1lbnRzIGF2ZWMgbGEgY29tbWFuZGUgwqsgcG9wZCDCuy5cbiIKICIgICAgXG4iCi0iICAgIEwnb3B0aW9uIMKrIC1sIMK7IHNww6ljaWZpZSBxdWUgwqsgZGlycyDCuyBuZSBkb2l0IHBhcyBhZmZpY2hlciBkZXMgdmVyc2lvbnNcbiIKLSIgICAgcmFjY291cmNpZXMgZGVzIHLDqXBlcnRvaXJlcyByZWxhdGl2ZW1lbnQgw6Agdm90cmUgcsOpcGVydG9pcmUgcGVyc29ubmVsLlxuIgotIiAgICBDZWxhIHNpZ25pZmllIHF1ZSDCqyB+L2JpbiDCuyBkZXZyYWl0IMOqdHJlIGFmZmljaMOpIGNvbW1lIMKrIC9ob21lcy9iZm94L2JpbiAiCi0iwrsuXG4iCi0iICAgIEwnb3B0aW9uIMKrIC12IMK7IHBlcm1ldCDDoCDCqyBkaXJzIMK7IGQnYWZmaWNoZXIgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzICIKLSJhdmVjXG4iCi0iICAgIHVuIMOpbMOpbWVudCBwYXIgbGlnbmUsIGVuIGNvbW1lbsOnYW50IGxhIGxpZ25lIHBhciBsYSBwb3NpdGlvbiBkYW5zIGxhICIKLSJwaWxlLlxuIgotIiAgICBMJ29wdGlvbiDCqyAtcCDCuyBmYWl0IGxhIG3Dqm1lIGNob3NlIG1haXMgbGUgbnVtw6lybyBkZSBwb3NpdGlvbiBuJ2VzdCBwYXNcbiIKLSIgICAgYWZmaWNow6kuIEwnb3B0aW9uIMKrIC1jIMK7IGVmZmFjZSBsYSBwaWxlIGRlcyByw6lwZXJ0b2lyZXMgZW4gZW5sZXZhbnQgIgotInRvdXNcbiIKLSIgICAgbGVzIMOpbMOpbWVudHMuXG4iCisiICAgICBPcHRpb25zIDpcbiIKKyIgICAgICAtY1x0ZWZmYWNlIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcyBlbiBlbmxldmFudCB0b3VzIGxlcyDDqWzDqW1lbnRzLlxuIgorIiAgICAgIC1sXHRuZSBwYXMgYWZmaWNoZXIgbGVzIHZlcnNpb25zIHJhY2NvdXJjaWVzIChhdmVjIH4pIGRlcyByw6lwZXJ0b2lyZXNcbiIKKyIgICAgXHRyZWxhdGl2ZW1lbnQgw6Agdm90cmUgcsOpcGVydG9pcmUgcGVyc29ubmVsXG4iCisiICAgICAgLXBcdGFmZmljaGVyIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcyBhdmVjIHVuIMOpbMOpbWVudCBwYXIgbGlnbmVcbiIKKyIgICAgICAtdlx0YWZmaWNoZXIgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzIGF2ZWMgdW4gw6lsw6ltZW50IHBhciBsaWduZVxuIgorIiAgICBcdGF2ZWMgbGEgcG9zaXRpb24gZGFucyBsYSBwaWxlXG4iCiAiICAgIFxuIgorIiAgICBBcmd1bWVudHMgOlxuIgogIiAgICArTlx0IGFmZmljaGUgbGUgTmnDqG1lIMOpbMOpbWVudCBlbiBjb21wdGFudCBkZSB6w6lybyBkZXB1aXMgbGEgZ2F1Y2hlIGRlICIKICJsYVxuIgogIiAgICBsaXN0ZSBhZmZpY2jDqWUgcGFyIMKrIGRpcnMgwrsgbG9yc3F1ZSBjZWxsZS1jaSBlc3QgYXBwZWzDqWUgc2FucyBvcHRpb24uXG4iCkBAIC02NjEsNyArNjQ5LDYgQEAKICIgICAgbGlzdGUgYWZmaWNow6llIHBhciDCqyBkaXJzIMK7IGxvcnNxdWUgY2VsbGUtY2kgZXN0IGFwcGVsw6llIHNhbnMgb3B0aW9uLiIKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjcwNQotIywgZnV6enkKIG1zZ2lkICIiCiAiQWRkcyBhIGRpcmVjdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXNcbiIKICIgICAgdGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5ldyB0b3Agb2YgdGhlIHN0YWNrIHRoZSBjdXJyZW50IHdvcmtpbmdcbiIKQEAgLTY4NiwyOCArNjczLDI4IEBACiAiICAgIFRoZSBgZGlycycgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLiIKIG1zZ3N0ciAiIgogIkFqb3V0ZSB1biByw6lwZXJ0b2lyZSBlbiBoYXV0IGRlIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcywgb3UgcGVybXV0ZVxuIgotIiAgICBsYSBwaWxlLCBkZSBmYcOnb24gcXVlIGxlIHLDqXBlcnRvaXJlIGVuIGhhdXQgZGUgbGEgcGlsZSBkZXZpZW5uZVxuIgorIiAgICBsYSBwaWxlIGRlIGZhw6dvbiBxdWUgbGUgcsOpcGVydG9pcmUgZW4gaGF1dCBkZSBsYSBwaWxlIGRldmllbm5lXG4iCiAiICAgIGxlIG5vdXZlYXUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbC4gUydpbCBuJ3kgYSBwYXMgZCdhcmd1bWVudCwgbGVzIGRldXhcbiIKICIgICAgcsOpcGVydG9pcmVzIGVuIGhhdXQgZGUgbGEgcGlsZSBzb250IMOpY2hhbmfDqXMuXG4iCiAiICAgIFxuIgotIiAgICArTlx0UGVybXV0ZSBsYSBwaWxlIGRlIGZhw6dvbiBxdWUgbGUgTmnDqG1lIHLDqXBlcnRvaXJlIHNlIHBsYWNlIGVuIGhhdXQsXG4iCi0iICAgIFx0ZW4gY29tcHRhbnQgZGUgesOpcm8gZGVwdWlzIGxhIGdhdWNoZSBkZSBsYSBsaXN0ZSBmb3VybmllIHBhciDCqyBkaXJzICIKLSLCuy5cbiIKLSIgICAgXG4iCi0iICAgIC1OXHRQZXJtdXRlIGxhIHBpbGUgZGUgZmHDp29uIHF1ZSBsZSBOacOobWUgcsOpcGVydG9pcmUgc2UgcGxhY2UgZW4gaGF1dCxcbiIKLSIgICAgXHRlbiBjb21wdGFudCBkZSB6w6lybyBkZXB1aXMgbGEgZHJvaXRlIGRlIGxhIGxpc3RlIGZvdXJuaWUgcGFyIMKrIGRpcnMgIgotIsK7LlxuIgotIiAgICBcbiIKLSIgICAgLW5cdG5lIGNoYW5nZSBwYXMgZGUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBsb3JzcXVlIGRlcyByw6lwZXJ0b2lyZXNcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgIC1uXHRuZSBwYXMgY2hhbmdlciBkZSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIGxvcnNxdWUgZGVzIHLDqXBlcnRvaXJlc1xuIgogIiAgICBcdHNvbnQgYWpvdXTDqXMgw6AgbGEgcGlsZSwgZGUgZmHDp29uIHF1ZSBzZXVsZSBsYSBwaWxlIHNvaXQgbWFuaXB1bMOpZVxuIgogIiAgICBcbiIKLSIgICAgZGlyXHRham91dGUgbGUgcsOpcGVydG9pcmUgRElSIGVuIGhhdXQgZGUgbGEgcGlsZSwgZXQgZW4gZmFpdCBsZSBub3V2ZWF1XG4iCisiICAgIEFyZ3VtZW50cyA6XG4iCisiICAgICtOXHRQZXJtdXRlIGxhIHBpbGUgZGUgZmHDp29uIHF1ZSBsZSBOacOobWUgcsOpcGVydG9pcmUgc2UgcGxhY2UgZW4gaGF1dCxcbiIKKyIgICAgXHRlbiBjb21wdGFudCBkZSB6w6lybyBkZXB1aXMgbGEgZ2F1Y2hlIGRlIGxhIGxpc3RlIGZvdXJuaWUgcGFyIMKrIGRpcnMgwrsuXG4iCisiICAgIFxuIgorIiAgICAtTlx0UGVybXV0ZSBsYSBwaWxlIGRlIGZhw6dvbiBxdWUgbGUgTmnDqG1lIHLDqXBlcnRvaXJlIHNlIHBsYWNlIGVuIGhhdXQsXG4iCisiICAgIFx0ZW4gY29tcHRhbnQgZGUgesOpcm8gZGVwdWlzIGxhIGRyb2l0ZSBkZSBsYSBsaXN0ZSBmb3VybmllIHBhciDCqyBkaXJzIMK7LlxuIgorIiAgICBcbiIKKyIgICAgICBkaXJcdGFqb3V0ZSBsZSByw6lwZXJ0b2lyZSBESVIgZW4gaGF1dCBkZSBsYSBwaWxlLCBldCBlbiBmYWl0IGxlICIKKyJub3V2ZWF1XG4iCiAiICAgIFx0csOpcGVydG9pcmUgZGUgdHJhdmFpbC5cbiIKICIgICAgXG4iCiAiICAgIFZvdXMgcG91dmV6IHZvaXIgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzIGF2ZWMgbGEgY29tbWFuZGUgwqsgZGlycyDCuy4iCiAKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo3MzAKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlJlbW92ZXMgZW50cmllcyBmcm9tIHRoZSBkaXJlY3Rvcnkgc3RhY2suICBXaXRoIG5vIGFyZ3VtZW50cywgcmVtb3Zlc1xuIgogIiAgICB0aGUgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSBzdGFjaywgYW5kIGNoYW5nZXMgdG8gdGhlIG5ldyB0b3AgZGlyZWN0b3J5LlxuIgpAQCAtNzMxLDE2ICs3MTgsMTggQEAKICIgICAgZCdhcmd1bWVudCwgbGUgcsOpcGVydG9pcmUgZW4gaGF1dCBkZSBsYSBwaWxlIGVzdCBlbmxldsOpLFxuIgogIiAgICBldCBsZSBub3V2ZWF1IHNvbW1ldCBkZSBsYSBwaWxlIGRldmllbnQgbGUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbC5cbiIKICIgICAgXG4iCisiICAgIE9wdGlvbnMgOlxuIgorIiAgICAtblx0bmUgcGFzIGNoYW5nZXIgZGUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBsb3JzcXVlIGRlcyByw6lwZXJ0b2lyZXNcbiIKKyIgICAgXHRzb250IGVubGV2w6lzIGRlIGxhIHBpbGUsIGRlIGZhw6dvbiBxdWUgc2V1bGUgbGEgcGlsZSBzb2l0IG1hbmlwdWzDqWVcbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50cyA6XG4iCiAiICAgICtOXHRFbmzDqHZlIGxlIE5pw6htZSByw6lwZXJ0b2lyZSwgZW4gY29tcHRhbnQgZGUgesOpcm8gZGVwdWlzIGxhIGdhdWNoZVxuIgogIiAgICBcdGRlIGxhIGxpc3RlIGZvdXJuaWUgcGFyIMKrIGRpcnMgwrsuIFBhciBleGVtcGxlIDogwqsgcG9wZCArMCDCu1xuIgorIiAgICBcdGVubMOodmUgbGUgcHJlbWllciByw6lwZXJ0b2lyZSwgwqsgcG9wZCArMSDCuyBsZSBkZXV4acOobWUuICAgIFxuIgogIiAgICBcbiIKLSJlbmzDqHZlIGxlIHByZW1pZXIgcsOpcGVydG9pcmUsIMKrIHBvcGQgKzEgwrsgbGUgZGV1eGnDqG1lLiAgICBcbiIKICIgICAgLU5cdEVubMOodmUgbGUgTmnDqG1lIHLDqXBlcnRvaXJlLCBlbiBjb21wdGFudCBkZSB6w6lybyBkZXB1aXMgbGEgZHJvaXRlXG4iCiAiICAgIFx0ZGUgbGEgbGlzdGUgZm91cm5pZSBwYXIgwqsgZGlycyDCuy4gUGFyIGV4ZW1wbGUgOiDCqyBwb3BkIC0wIMK7XG4iCi0iICAgIFxuIgotImVubMOodmUgbGUgZGVybmllciByw6lwZXJ0b2lyZSwgwqsgcG9wZCAtMSDCuyBsJ2F2YW50LWRlcm5pZXIuICAgIFxuIgotIiAgICAtblx0bmUgY2hhbmdlIHBhcyBkZSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIGxvcnNxdWUgZGVzIHLDqXBlcnRvaXJlc1xuIgotIiAgICBcdHNvbnQgZW5sZXbDqXMgZGUgbGEgcGlsZSwgZGUgZmHDp29uIHF1ZSBzZXVsZSBsYSBwaWxlIHNvaXQgbWFuaXB1bMOpZVxuIgorIiAgICBcdGVubMOodmUgbGUgZGVybmllciByw6lwZXJ0b2lyZSwgwqsgcG9wZCAtMSDCuyBsJ2F2YW50LWRlcm5pZXIuICAgIFxuIgogIiAgICBcbiIKICIgICAgVm91cyBwb3V2ZXogdm9pciBsYSBwaWxlIGRlcyByw6lwZXJ0b2lyZXMgYXZlYyBsYSBjb21tYW5kZSDCqyBkaXJzIMK7LiIKIApAQCAtNzU3LDI2ICs3NDYsMjYgQEAKICM6IGJ1aWx0aW5zL3JldHVybi5kZWY6NzMKIG1zZ2lkICJjYW4gb25seSBgcmV0dXJuJyBmcm9tIGEgZnVuY3Rpb24gb3Igc291cmNlZCBzY3JpcHQiCiBtc2dzdHIgIiIKLSLCqyByZXR1cm4gwrsgbidlc3QgcG9zc2libGUgcXVlIGRlcHVpcyB1bmUgZm9uY3Rpb24gb3UgZGVwdWlzIHVuIHNjcmlwdCAiCi0iZXjDqWN1dMOpIHBhciDCqyBzb3VyY2UgwrsiCisiwqsgcmV0dXJuIMK7IG4nZXN0IHBvc3NpYmxlIHF1ZSBkZXB1aXMgdW5lIGZvbmN0aW9uIG91IGRlcHVpcyB1biBzY3JpcHQgZXjDqWN1dMOpICIKKyJwYXIgwqsgc291cmNlIMK7IgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjc2OAorIzogYnVpbHRpbnMvc2V0LmRlZjo3NzEKIG1zZ2lkICJjYW5ub3Qgc2ltdWx0YW5lb3VzbHkgdW5zZXQgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSIKIG1zZ3N0ciAiIgogIsKrIHVuc2V0IMK7IG5lIHBldXQgcGFzIHMnYXBwbGlxdWVyIHNpbXVsdGFuw6ltZW50IMOgIHVuZSBmb25jdGlvbiBldCDDoCB1bmUgIgogInZhcmlhYmxlIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgwNQorIzogYnVpbHRpbnMvc2V0LmRlZjo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiJXMgOiDCqyB1bnNldCDCuyBpbXBvc3NpYmxlIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgxMgorIzogYnVpbHRpbnMvc2V0LmRlZjo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgJXMiCiBtc2dzdHIgIiVzIDogwqsgdW5zZXQgwrsgaW1wb3NzaWJsZSA6ICVzIGVzdCBlbiBsZWN0dXJlIHNldWxlIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgyMworIzogYnVpbHRpbnMvc2V0LmRlZjo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKIG1zZ3N0ciAiJXMgOiBuJ2VzdCBwYXMgdW5lIHZhcmlhYmxlIHRhYmxlYXUiCkBAIC03OTAsMjIgKzc3OSwyMiBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJub21icmUgZGUgwqsgc2hpZnQgwrsiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAibGVzIG9wdGlvbnMgZHUgc2hlbGwgbmUgcGV1dmVudCBwYXMgw6p0cmUgc2ltdWx0YW7DqW1lbnQgYWN0aXbDqWVzIGV0ICIKICJkw6lzYWN0aXbDqWVzIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlcyA6IG5vbSBkJ29wdGlvbiBkdSBzaGVsbCBub24gdmFsYWJsZSIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiBtc2dzdHIgIm5vbSBkZSBmaWNoaWVyIG7DqWNlc3NhaXJlIGVuIGFyZ3VtZW50IgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1MworIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgbm90IGZvdW5kIgogbXNnc3RyICIlcyA6IGZpY2hpZXIgaW50cm91dmFibGUiCkBAIC04NDgsMjYgKzgzNywyNiBAQAogbXNnaWQgIiVzIGlzIGhhc2hlZCAoJXMpXG4iCiBtc2dzdHIgIiVzIGVzdCBoYWNow6kgKCVzKVxuIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCiBtc2dzdHIgIiVzIDogYXJndW1lbnQgZGUgbGltaXRlIG5vbiB2YWxhYmxlIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogYmFkIGNvbW1hbmQiCiBtc2dzdHIgIsKrICVjIMK7IDogbWF1dmFpc2UgY29tbWFuZGUiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDI3CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGdldCBsaW1pdDogJXMiCiBtc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkJ29idGVuaXIgbGEgbGltaXRlIDogJXMiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDUzCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ1NwogbXNnaWQgImxpbWl0IgotbXNnc3RyICIiCittc2dzdHIgImxpbWl0ZSIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGRlIG1vZGlmaWVyIGxhIGxpbWl0ZSA6ICVzIgpAQCAtODg4LDcgKzg3Nyw3IEBACiAKICM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKIG1zZ2lkICIgbGluZSAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiIGxpZ25lIgogCiAjOiBlcnJvci5jOjE2NQogIywgYy1mb3JtYXQKQEAgLTkyMywyNzQgKzkxMiwyNzggQEAKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICIHYXR0ZW50ZSBkZSBkb25uw6llcyBleHBpcsOpZSA6IGTDqWNvbm5leGlvbiBhdXRvbWF0aXF1ZVxuIgorbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICJcYWF0dGVudGUgZGUgZG9ubsOpZXMgZXhwaXLDqWUgOiBkw6ljb25uZXhpb24gYXV0b21hdGlxdWVcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTcKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgImwnZW50csOpZSBzdGFuZGFyZCBuZSBwZXV0IHBhcyDDqnRyZSByZWRpcmlnw6llIGRlcHVpcyAvZGV2L251bGwgOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTYyCisjOiBleGVjdXRlX2NtZC5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJUSU1FRk9STUFUIDogwqsgJWMgwrsgOiBjYXJhY3TDqHJlIGRlIGZvcm1hdCBub24gdmFsYWJsZSIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDc1Ci0jLCBmdXp6eQorIzogZXhlY3V0ZV9jbWQuYzoyMTIxCiBtc2dpZCAicGlwZSBlcnJvciIKLW1zZ3N0ciAiZXJyZXVyIGQnw6ljcml0dXJlIDogJXMiCittc2dzdHIgImVycmV1ciBkZSB0dWJlIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0ODEKKyM6IGV4ZWN1dGVfY21kLmM6NDY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiIKICIlcyA6IHJlc3RyaWN0aW9uIDogwqsgLyDCuyBuZSBwZXV0IHBhcyDDqnRyZSBzcMOpY2lmacOpIGRhbnMgdW4gbm9tIGRlIGNvbW1hbmRlIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ1NzIKKyM6IGV4ZWN1dGVfY21kLmM6NDczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzIDogY29tbWFuZGUgaW50cm91dmFibGUiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMiCittc2dzdHIgIiVzIGVzdCAlc1xuIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzIDogJXMgOiBtYXV2YWlzIGludGVycHLDqXRldXIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3NgorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZHVwbGlxdWVyIGxlIGZkICVkIHZlcnMgbGUgZmQgJWQiCiAKLSM6IGV4cHIuYzoyNDEKKyM6IGV4cHIuYzoyNTYKIG1zZ2lkICJleHByZXNzaW9uIHJlY3Vyc2lvbiBsZXZlbCBleGNlZWRlZCIKIG1zZ3N0ciAiRMOpcGFzc2VtZW50IGR1IG5pdmVhdSBkZSByw6ljdXJzaXZpdMOpIGRhbnMgbCdleHByZXNzaW9uIgogCi0jOiBleHByLmM6MjY1CisjOiBleHByLmM6MjgwCiBtc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAiRMOpYm9yZGVtZW50IG7DqWdhdGlmIGRlIGxhIHBpbGUgZGUgcsOpY3Vyc2l2aXTDqSIKIAotIzogZXhwci5jOjM3OQorIzogZXhwci5jOjQyMgogbXNnaWQgInN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIgogbXNnc3RyICJlcnJldXIgZGUgc3ludGF4ZSBkYW5zIGwnZXhwcmVzc2lvbiIKIAotIzogZXhwci5jOjQxOQorIzogZXhwci5jOjQ2MwogbXNnaWQgImF0dGVtcHRlZCBhc3NpZ25tZW50IHRvIG5vbi12YXJpYWJsZSIKIG1zZ3N0ciAidGVudGF0aXZlIGQnYWZmZWN0YXRpb24gw6AgdW5lIG5vbi12YXJpYWJsZSIKIAotIzogZXhwci5jOjQ0MCBleHByLmM6NDQ1IGV4cHIuYzo3NTYKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3CiBtc2dpZCAiZGl2aXNpb24gYnkgMCIKIG1zZ3N0ciAiZGl2aXNpb24gcGFyIDAiCiAKLSM6IGV4cHIuYzo0NzEKKyM6IGV4cHIuYzo1MTcKIG1zZ2lkICJidWc6IGJhZCBleHBhc3NpZ24gdG9rZW4iCiBtc2dzdHIgImJvZ3VlIDogbWF1dmFpcyBzeW1ib2xlIHBvdXIgZXhwYXNzaWduIgogCi0jOiBleHByLmM6NTEzCisjOiBleHByLmM6NTY0CiBtc2dpZCAiYDonIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICLCqyA6IMK7IGF0dGVuZHUgcG91ciB1bmUgZXhwcmVzc2lvbiBjb25kaXRpb25uZWxsZS4iCiAKLSM6IGV4cHIuYzo3ODEKKyM6IGV4cHIuYzo4MzIKIG1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKIG1zZ3N0ciAiZXhwb3NhbnQgbsOpZ2F0aWYiCiAKLSM6IGV4cHIuYzo4MjYKKyM6IGV4cHIuYzo4ODcKIG1zZ2lkICJpZGVudGlmaWVyIGV4cGVjdGVkIGFmdGVyIHByZS1pbmNyZW1lbnQgb3IgcHJlLWRlY3JlbWVudCIKIG1zZ3N0ciAiaWRlbnRpZmlhbnQgYXR0ZW5kdSBhcHLDqHMgdW4gcHLDqS1pbmNyw6ltZW50IG91IHVuIHByw6ktZMOpY3LDqW1lbnQiCiAKLSM6IGV4cHIuYzo4NTQKKyM6IGV4cHIuYzo5MTAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAiwqsgKSDCuyBtYW5xdWFudGUiCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgImVycmV1ciBkZSBzeW50YXhlIDogb3DDqXJhbmRlIGF0dGVuZHVlIgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiZXJyZXVyIGRlIHN5bnRheGUgOiBvcMOpcmF0ZXVyIGFyaXRobcOpdGlxdWUgbm9uIHZhbGFibGUiCiAKLSM6IGV4cHIuYzoxMjAyCisjOiBleHByLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgotbXNnc3RyICIiCittc2dzdHIgIiVzJXMlcyA6ICVzIChsZSBzeW1ib2xlIGVycm9uw6kgZXN0IFwiJXNcIikiCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJiYXNlIGFyaXRobcOpdGlxdWUgbm9uIHZhbGFibGUiCiAKLSM6IGV4cHIuYzoxMjgwCisjOiBleHByLmM6MTM4NgogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAidmFsZXVyIHRyb3AgZ3JhbmRlIHBvdXIgbGEgYmFzZSIKIAotIzogZXhwci5jOjEzMjkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogZXhwci5jOjE0MzUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKLW1zZ3N0ciAiJXMgOiBub21icmUgZW50aWVyIGF0dGVuZHUgY29tbWUgZXhwcmVzc2lvbiIKK21zZ3N0ciAiJXMgOiBlcnJldXIgZCdleHByZXNzaW9uXG4iCiAKICM6IGdlbmVyYWwuYzo2MQogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldGN3ZCA6IG5lIHBldXQgYWNjw6lkZXIgYXV4IHLDqXBlcnRvaXJlcyBwYXJlbnRzIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NwotIywgZnV6enksIGMtZm9ybWF0CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NTA4MgorIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSByw6lpbml0aWFsaXNlciBsZSBtb2RlIMKrIG5vZGVsYXkgwrsgcG91ciBsZSBmZCAlZCIKIAotIzogaW5wdXQuYzoyNTgKKyM6IGlucHV0LmM6MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCiBtc2dzdHIgIiIKICJpbXBvc3NpYmxlIGQnYWxsb3VlciB1biBub3V2ZWF1IGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIgcG91ciBsJ2VudHLDqWUgZGUgYmFzaCAiCiAiZGVwdWlzIGxlIGZkICVkIgogCi0jOiBpbnB1dC5jOjI2NgorIzogaW5wdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2F2ZV9iYXNoX2lucHV0OiBidWZmZXIgYWxyZWFkeSBleGlzdHMgZm9yIG5ldyBmZCAlZCIKIG1zZ3N0ciAic2F2ZV9iYXNoX2lucHV0IDogbGUgdGFtcG9uIGV4aXN0ZSBkw6lqw6AgcG91ciBsZSBub3V2ZWF1IGZkICVkIgogCi0jOiBqb2JzLmM6NDY2CisjOiBqb2JzLmM6NDY4CiBtc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzdGFydF9waXBlbGluZSA6IHBncnAgcGlwZSIKIAotIzogam9icy5jOjg4NworIzogam9icy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JrZWQgcGlkICVkIGFwcGVhcnMgaW4gcnVubmluZyBqb2IgJWQiCiBtc2dzdHIgImxlIHByb2Nlc3N1cyBjbG9uw6kgbsKwJWQgYXBwYXJhw650IGRhbnMgbGEgdMOiY2hlIGVuIGZvbmN0aW9ubmVtZW50ICVkIgogCi0jOiBqb2JzLmM6MTAwNQorIzogam9icy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKIG1zZ3N0ciAic3VwcHJlc3Npb24gZGUgbGEgdMOiY2hlIHN0b3Bww6llICVkIGF2ZWMgbGUgZ3JvdXBlIGRlIHByb2Nlc3N1cyAlbGQiCiAKLSM6IGpvYnMuYzoxMTEwCisjOiBqb2JzLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgotbXNnc3RyICIiCittc2dzdHIgImFkZF9wcm9jZXNzIDogcHJvY2Vzc3VzICU1bGQgKCVzKSBkYW5zIGxlX3BpcGVsaW5lIgogCi0jOiBqb2JzLmM6MTExMworIzogam9icy5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgotbXNnc3RyICIiCittc2dzdHIgImFkZF9wcm9jZXNzIDogcGlkICU1bGQgKCVzKSBzaWduYWzDqSB0b3Vqb3VycyBlbiB2aWUiCiAKLSM6IGpvYnMuYzoxNDAxCisjOiBqb2JzLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCiBtc2dzdHIgImRlc2NyaWJlX3BpZCA6ICVsZCA6IG7CsCBkZSBwcm9jZXNzdXMgaW5leGlzdGFudCIKIAotIzogam9icy5jOjE0MTYKKyM6IGpvYnMuYzoxNDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJTaWduYWwgJWQiCiAKLSM6IGpvYnMuYzoxNDMwIGpvYnMuYzoxNDU1CisjOiBqb2JzLmM6MTQ1OSBqb2JzLmM6MTQ4NAogbXNnaWQgIkRvbmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiRmluaSIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMworIzogam9icy5jOjE0NjQgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiU3RvcHDDqSIKIAotIzogam9icy5jOjE0MzkKKyM6IGpvYnMuYzoxNDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQoJXMpIgotbXNnc3RyICIiCittc2dzdHIgIlN0b3Bww6koJXMpIgogCi0jOiBqb2JzLmM6MTQ0MworIzogam9icy5jOjE0NzIKIG1zZ2lkICJSdW5uaW5nIgotbXNnc3RyICIiCittc2dzdHIgIkVuIGNvdXJzIGQnZXjDqWN1dGlvbiIKIAotIzogam9icy5jOjE0NTcKKyM6IGpvYnMuYzoxNDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbmUoJWQpIgotbXNnc3RyICIiCittc2dzdHIgIkZpbmkoJWQpIgogCi0jOiBqb2JzLmM6MTQ1OQorIzogam9icy5jOjE0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhpdCAlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJUZXJtaW5lICVkIgogCi0jOiBqb2JzLmM6MTQ2MgorIzogam9icy5jOjE0OTEKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKLW1zZ3N0ciAiIgorbXNnc3RyICLDiXRhdCBpbmNvbm51IgogCi0jOiBqb2JzLmM6MTU0OQorIzogam9icy5jOjE1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGNvcmUgZHVtcGVkKSAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiKGNvcmUgZHVtcGVkKSIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCi1tc2dzdHIgIiIKK21zZ3N0ciAiICAod2QgOiAlcykiCiAKLSM6IGpvYnMuYzoxNzc2CisjOiBqb2JzLmM6MTgwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJmaWxzIHNldHBnaWQgKCVsZCDDoCAlbGQpIgogCi0jOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTMzIG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQgOiBsZSBwcm9jZXNzdXMgbsKwJWxkIG4nZXN0IHBhcyB1biBmaWxzIGRlIGNlIHNoZWxsLiIKIAotIzogam9icy5jOjIzMzEKKyM6IGpvYnMuYzoyMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIndhaXRfZm9yIDogYXVjdW4gZW5yZWdpc3RyZW1lbnQgZHUgcHJvY2Vzc3VzIG7CsCVsZCIKIAotIzogam9icy5jOjI2MDcKKyM6IGpvYnMuYzoyNjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiBtc2dzdHIgIndhaXRfZm9yX2pvYiA6IGxhIHTDomNoZSAlZCBlc3Qgc3RvcHDDqWUiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlcyA6IGxhIHTDomNoZSBzJ2VzdCB0ZXJtaW7DqWUiCiAKLSM6IGpvYnMuYzoyODM4CisjOiBqb2JzLmM6Mjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiJXMgOiBsYSB0w6JjaGUgJWQgZXN0IGTDqWrDoCBlbiBhcnJpw6hyZSBwbGFuIgogCi0jOiBqb2JzLmM6MzA1OQorIzogam9icy5jOjMwODkKIG1zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCi1tc2dzdHIgIiIKK21zZ3N0ciAid2FpdGNobGQgOiBhY3RpdmF0aW9uIGRlIFdOT0hBTkcgcG91ciDDqXZpdGVyIHVuIGJsb2NhZ2UgZMOpZmluaXRpZiIKIAotIzogam9icy5jOjM1MDgKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogam9icy5jOjM1MzgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKLW1zZ3N0ciAiJXMgOiBhdmVydGlzc2VtZW50IDoiCittc2dzdHIgIiVzIDogbGlnbmUgJWQgOiAiCiAKLSM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAorIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgotbXNnc3RyICIiCittc2dzdHIgIiAoY29yZSBkdW1wZWQpIgogCi0jOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NworIzogam9icy5jOjM1NjQgam9icy5jOjM1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiKG1haW50ZW5hbnQsIHdkIDogJXMpXG4iCiAKLSM6IGpvYnMuYzozNTc5CisjOiBqb2JzLmM6MzYwOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgotbXNnc3RyICIiCittc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2wgOiBnZXRwZ3JwIGEgw6ljaG91w6kiCiAKLSM6IGpvYnMuYzozNjM5CisjOiBqb2JzLmM6MzY2OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sIDogZGlzY2lwbGluZSBkZSBsaWduZSIKIAotIzogam9icy5jOjM2NDkKKyM6IGpvYnMuYzozNjc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sIDogc2V0cGdpZCIKIAotIzogam9icy5jOjM2NzcKKyM6IGpvYnMuYzozNzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgotbXNnc3RyICIiCittc2dzdHIgImltcG9zc2libGUgZGUgcsOpZ2xlciBsZSBncm91cGUgZGUgcHJvY2Vzc3VzIGR1IHRlcm1pbmxhbCAoJWQpIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJwYXMgZGUgY29udHLDtGxlIGRlIHTDomNoZSBkYW5zIGNlIHNoZWxsIgogCkBAIC0xMjA5LDkgKzEyMDIsOCBAQAogIm1hbGxvYyA6ICVzOiVkIDogYXNzZXJ0aW9uIG1hbnF1w6llXHJcbiIKIAogIzogbGliL21hbGxvYy9tYWxsb2MuYzozMTMKLSMsIGZ1enp5CiBtc2dpZCAidW5rbm93biIKLW1zZ3N0ciAiJXMgOiBow7R0ZSBpbmNvbm51IgorbXNnc3RyICJpbmNvbm51IgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjc5NwogbXNnaWQgIm1hbGxvYzogYmxvY2sgb24gZnJlZSBsaXN0IGNsb2JiZXJlZCIKQEAgLTEyODcsMjIgKzEyNzksMjQgQEAKICM6IGxvY2FsZS5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzZXRsb2NhbGUgOiBMQ19BTEwgOiBpbXBvc3NpYmxlIGRlIGNoYW5nZXIgbGUgcGFyYW3DqHRyZSBkZSBsYW5ndWUgKCVzKSIKIAogIzogbG9jYWxlLmM6MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKIG1zZ3N0ciAiIgorInNldGxvY2FsZSA6IExDX0FMTCA6ICBpbXBvc3NpYmxlIGRlIGNoYW5nZXIgbGUgcGFyYW3DqHRyZSBkZSBsYW5ndWUgKCVzKSA6ICVzIgogCiAjOiBsb2NhbGUuYzoyNDcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgotbXNnc3RyICJ4cmVhbGxvYyA6ICVzOiVkIDogaW1wb3NzaWJsZSBkJ2FsbG91ZXIgJWx1IG9jdGV0cyIKK21zZ3N0ciAic2V0bG9jYWxlIDogJXMgOiBpbXBvc3NpYmxlIGRlIGNoYW5nZXIgbGUgcGFyYW3DqHRyZSBkZSBsYW5ndWUgKCVzKSIKIAogIzogbG9jYWxlLmM6MjQ5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCi1tc2dzdHIgInhyZWFsbG9jIDogJXM6JWQgOiBpbXBvc3NpYmxlIGQnYWxsb3VlciAlbHUgb2N0ZXRzIgorbXNnc3RyICIiCisic2V0bG9jYWxlIDogJXMgOiBpbXBvc3NpYmxlIGRlIGNoYW5nZXIgbGUgcGFyYW3DqHRyZSBkZSBsYW5ndWUgKCVzKSA6ICVzIgogCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgpAQCAtMTMzOSwxMTAgKzEzMzMsMTEyIEBACiAjLCBjLWZvcm1hdAogbXNnaWQgImhlcmUtZG9jdW1lbnQgYXQgbGluZSAlZCBkZWxpbWl0ZWQgYnkgZW5kLW9mLWZpbGUgKHdhbnRlZCBgJXMnKSIKIG1zZ3N0ciAiIgorIsKrIGhlcmUtZG9jdW1lbnQgwrsgw6AgbGEgbGlnbmUgJWQgZMOpbGltaXTDqSBwYXIgbGEgZmluIGR1IGZpY2hpZXIgKGF1IGxpZXUgZGUgwqsgJSIKKyJzIMK7KSIKIAogIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb24gOiBsJ2luc3RydWN0aW9uIGRlIHJlZGlyZWN0aW9uIMKrICVkIMK7IGVzdCBob3JzIHBsYWdlIgogCi0jOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CisjOiBwYXJzZS55OjMxNzMgcGFyc2UueTozNDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIiIKICJDYXJhY3TDqHJlIGRlIGZpbiBkZSBmaWNoaWVyIChFT0YpIHByw6ltYXR1csOpIGxvcnMgZGUgbGEgcmVjaGVyY2hlIGR1IMKrICVjIMK7ICIKICJjb3JyZXNwb25kYW50IgogCi0jOiBwYXJzZS55OjM5NTEKKyM6IHBhcnNlLnk6NDAyNQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgIiIKICJDYXJhY3TDqHJlIGRlIGZpbiBkZSBmaWNoaWVyIChFT0YpIHByw6ltYXR1csOpIGxvcnMgZGUgbGEgcmVjaGVyY2hlIGRlIMKrIF1dIMK7IgogCi0jOiBwYXJzZS55OjM5NTYKKyM6IHBhcnNlLnk6NDAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICIiCiAiRXJyZXVyIGRlIHN5bnRheGUgZGFucyB1bmUgZXhwcmVzc2lvbiBjb25kaXRpb25uZWxsZSA6IHN5bWJvbGUgwqsgJXMgwrsgIgogImluYXR0ZW5kdSIKIAotIzogcGFyc2UueTozOTYwCisjOiBwYXJzZS55OjQwMzQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiRXJyZXVyIGRlIHN5bnRheGUgZGFucyB1bmUgZXhwcmVzc2lvbiBjb25kaXRpb25uZWxsZSIKIAotIzogcGFyc2UueTo0MDM4CisjOiBwYXJzZS55OjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgIlN5bWJvbGUgaW5hdHRlbmR1IMKrICVzIMK7IGF1IGxpZXUgZGUgwqsgKSDCuyIKIAotIzogcGFyc2UueTo0MDQyCisjOiBwYXJzZS55OjQxMTYKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgIsKrICkgwrsgYXR0ZW5kdSIKIAotIzogcGFyc2UueTo0MDcwCisjOiBwYXJzZS55OjQxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJhcmd1bWVudCBpbmF0dGVuZHUgwqsgJXMgwrsgcG91ciBsJ29ww6lyYXRldXIgY29uZGl0aW9ubmVsIMOgIHVuIGFyZ3VtZW50IgogCi0jOiBwYXJzZS55OjQwNzQKKyM6IHBhcnNlLnk6NDE0OAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgImFyZ3VtZW50IGluYXR0ZW5kdSBwb3VyIGwnb3DDqXJhdGV1ciBjb25kaXRpb25uZWwgw6AgdW4gYXJndW1lbnQiCiAKLSM6IHBhcnNlLnk6NDEyMAorIzogcGFyc2UueTo0MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJTeW1ib2xlIMKrICVzIMK7IHRyb3V2w6kgw6AgbGEgcGxhY2UgZCd1biBvcMOpcmF0ZXVyIGJpbmFpcmUgY29uZGl0aW9ubmVsIgogCi0jOiBwYXJzZS55OjQxMjQKKyM6IHBhcnNlLnk6NDE5OAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAib3DDqXJhdGV1ciBiaW5haXJlIGNvbmRpdGlvbm5lbCBhdHRlbmR1IgogCi0jOiBwYXJzZS55OjQxNDYKKyM6IHBhcnNlLnk6NDIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJhcmd1bWVudCDCqyAlcyDCuyBpbmF0dGVuZHUgcG91ciBsJ29ww6lyYXRldXIgYmluYWlyZSBjb25kaXRpb25uZWwiCiAKLSM6IHBhcnNlLnk6NDE1MAorIzogcGFyc2UueTo0MjI0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgImFyZ3VtZW50IGluYXR0ZW5kdSBwb3VyIGwnb3DDqXJhdGV1ciBiaW5haXJlIGNvbmRpdGlvbm5lbCIKIAotIzogcGFyc2UueTo0MTYxCisjOiBwYXJzZS55OjQyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIlN5bWJvbGUgwqsgJWMgwrsgaW5hdHRlbmR1IGRhbnMgbGEgY29tbWFuZGUgY29uZGl0aW9ubmVsbGUiCiAKLSM6IHBhcnNlLnk6NDE2NAorIzogcGFyc2UueTo0MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJTeW1ib2xlIMKrICVzIMK7IGluYXR0ZW5kdSBkYW5zIGxhIGNvbW1hbmRlIGNvbmRpdGlvbm5lbGxlIgogCi0jOiBwYXJzZS55OjQxNjgKKyM6IHBhcnNlLnk6NDI0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIlN5bWJvbGUgwqsgJWQgwrsgaW5hdHRlbmR1IGRhbnMgbGEgY29tbWFuZGUgY29uZGl0aW9ubmVsbGUiCiAKLSM6IHBhcnNlLnk6NTQ1OQorIzogcGFyc2UueTo1NTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiRXJyZXVyIGRlIHN5bnRheGUgcHLDqHMgZHUgc3ltYm9sZSBpbmF0dGVuZHUgwqsgJXMgwrsiCiAKLSM6IHBhcnNlLnk6NTQ3NworIzogcGFyc2UueTo1NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgIkVycmV1ciBkZSBzeW50YXhlIHByw6hzIGRlIMKrICVzIMK7IgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiRXJyZXVyIGRlIHN5bnRheGUgOiBmaW4gZGUgZmljaGllciBwcsOpbWF0dXLDqWUiCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICJFcnJldXIgZGUgc3ludGF4ZSIKIAotIzogcGFyc2UueTo1NTQ5CisjOiBwYXJzZS55OjU2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIlV0aWxpc2V6IMKrICVzIMK7IHBvdXIgcXVpdHRlciBsZSBzaGVsbC5cbiIKIAotIzogcGFyc2UueTo1NzExCisjOiBwYXJzZS55OjU4MTgKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIiIKICJDYXJhY3TDqHJlIGRlIGZpbiBkZSBmaWNoaWVyIChFT0YpIHByw6ltYXR1csOpIGxvcnMgZGUgbGEgcmVjaGVyY2hlIGQndW4gwqsgKSDCuyAiCkBAIC0xNDUzLDc5ICsxNDQ5LDc5IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgImNvbXBsw6h0ZW1lbnQgOiBmb25jdGlvbiDCqyAlcyDCuyBub24gdHJvdXbDqWUiCiAKLSM6IHBjb21wbGliLmM6MTc5CisjOiBwY29tcGxpYi5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICJwcm9nY29tcF9pbnNlcnQgOiAlcyA6IE5VTEwgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI5MAorIzogcHJpbnRfY21kLmM6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZCA6IG1hdXZhaXMgY29ubmVjdGV1ciDCqyAlZCDCuyIKIAotIzogcHJpbnRfY21kLmM6MzYzCi0jLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCi1tc2dzdHIgIiVkIDogZGVzY3JpcHRldXIgZGUgZmljaGllciBub24gdmFsYWJsZSA6ICVzIgotCiAjOiBwcmludF9jbWQuYzozNjgKLW1zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKLW1zZ3N0ciAiIgorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgInh0cmFjZV9zZXQgOiAlZCA6IGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIgbm9uIHZhbGFibGUiCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6MzczCittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgInh0cmFjZV9zZXQgOiBwb2ludGV1ciBkZSBmaWNoaWVyIE5VTEwiCisKKyM6IHByaW50X2NtZC5jOjM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgogCi0jOiBwcmludF9jbWQuYzoxNDYxCisjOiBwcmludF9jbWQuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50ZiA6IMKrICVjIMK7IDogY2FyYWN0w6hyZSBkZSBmb3JtYXQgaW52YWxpZGUiCiAKLSM6IHJlZGlyLmM6MTEwCisjOiByZWRpci5jOjEyMgogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIgaG9ycyBwbGFnZSIKIAotIzogcmVkaXIuYzoxNjYKKyM6IHJlZGlyLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzIDogcmVkaXJlY3Rpb24gYW1iaWd1w6siCiAKLSM6IHJlZGlyLmM6MTcwCisjOiByZWRpci5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZCfDqWNyYXNlciBsZSBmaWNoaWVyIGV4aXN0YW50IgogCi0jOiByZWRpci5jOjE3NQorIzogcmVkaXIuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzIDogcmVzdHJlaW50IDogaW1wb3NzaWJsZSBkZSByZWRpcmlnZXIgbGEgc29ydGllIgogCi0jOiByZWRpci5jOjE4MAotIywgZnV6enksIGMtZm9ybWF0CisjOiByZWRpci5jOjE5MgorIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgIiIKICJpbXBvc3NpYmxlIGRlIGNyw6llciB1biBmaWNoaWVyIHRlbXBvcmFpcmUgcG91ciBsZSDCqyBoZXJlLWRvY3VtZW50IMK7IDogJXMiCiAKLSM6IHJlZGlyLmM6MTg0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJlZGlyLmM6MTk2CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgotbXNnc3RyICIlcyA6IGltcG9zc2libGUgZCdhZmZlY3RlciB1bmUgbGlzdGUgw6AgdW4gw6lsw6ltZW50IGRlIHRhYmxlYXUiCittc2dzdHIgIiVzIDogaW1wb3NzaWJsZSBkJ2FmZmVjdGVyIGxlIGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIgw6AgbGEgdmFyaWFibGUiCiAKLSM6IHJlZGlyLmM6NTQ0CisjOiByZWRpci5jOjU0OAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vbiBwcmlzIGVuIGNoYXJnZSBzYW5zIHLDqXNlYXUiCiAKLSM6IHJlZGlyLmM6MTEwMQorIzogcmVkaXIuYzo4MTggcmVkaXIuYzo5MzAgcmVkaXIuYzo5OTMgcmVkaXIuYzoxMTM2CiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgIiIKICJFcnJldXIgZGUgcmVkaXJlY3Rpb24gOiBpbXBvc3NpYmxlIGRlIGR1cGxpcXVlciBsZSBkZXNjcmlwdGV1ciBkZSBmaWNoaWVyIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAiwqsgL3RtcCDCuyBpbnRyb3V2YWJsZSwgdmV1aWxsZXogbGUgY3LDqWVyICEiCiAKLSM6IHNoZWxsLmM6MzM2CisjOiBzaGVsbC5jOjMzNwogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICLCqyAvdG1wIMK7IGRvaXQgw6p0cmUgdW4gbm9tIGRlIHLDqXBlcnRvaXJlIGNvcnJlY3QiCiAKQEAgLTE1MzQsMTYgKzE1MzAsMTYgQEAKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYyA6IG9wdGlvbiBub24gdmFsYWJsZSIKIAotIzogc2hlbGwuYzoxNjUxCisjOiBzaGVsbC5jOjE2NTIKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIkplIG4nYWkgcGFzIGRlIG5vbSAhIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogCi0jOiBzaGVsbC5jOjE3OTQKKyM6IHNoZWxsLmM6MTc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE1NTIsMjk0ICsxNTQ4LDI5NCBAQAogIlV0aWxpc2F0aW9uIDpcdCVzIFtvcHRpb24gbG9uZ3VlIEdOVV0gW29wdGlvbl0gLi4uXG4iCiAiXHQlcyBbb3B0aW9uIGxvbmd1ZSBHTlVdIFtvcHRpb25dIGZpY2hpZXItc2NyaXB0IC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3OTYKKyM6IHNoZWxsLmM6MTc5OAogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIk9wdGlvbnMgbG9uZ3VlcyBHTlUgOlxuIgogCi0jOiBzaGVsbC5jOjE4MDAKKyM6IHNoZWxsLmM6MTgwMgogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIk9wdGlvbnMgZHUgc2hlbGwgOlxuIgogCi0jOiBzaGVsbC5jOjE4MDEKKyM6IHNoZWxsLmM6MTgwMwogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCBvdSAtYyBjb21tYW5kZSBvdSAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gc2V1bGVtZW50KVxuIgogCi0jOiBzaGVsbC5jOjE4MTYKKyM6IHNoZWxsLmM6MTgxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgb3UgLW8gb3B0aW9uXG4iCiAKLSM6IHNoZWxsLmM6MTgyMgorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogIlBvdXIgZW4gc2F2b2lyIHBsdXMgc3VyIGxlcyBvcHRpb25zIGR1IHNoZWxsLCB0YXBleiDCqyAlcyAtYyBcImhlbHAgc2V0XCIgwrsuXG4iCiAKLSM6IHNoZWxsLmM6MTgyMworIzogc2hlbGwuYzoxODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiBtc2dzdHIgIiIKICJQb3VyIGVuIHNhdm9pciBwbHVzIHN1ciBsZXMgcHJpbWl0aXZlcyBkdSBzaGVsbCwgdGFwZXogwqsgJXMgLWMgaGVscCDCuy5cbiIKIAotIzogc2hlbGwuYzoxODI0CisjOiBzaGVsbC5jOjE4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIHRoZSBgYmFzaGJ1ZycgY29tbWFuZCB0byByZXBvcnQgYnVncy5cbiIKIG1zZ3N0ciAiVXRpbGlzZXogbGEgY29tbWFuZGUgwqsgYmFzaGJ1ZyDCuyBwb3VyIGZhaXJlIHVuIHJhcHBvcnQgZGUgYm9ndWUuXG4iCiAKLSM6IHNpZy5jOjYyNgorIzogc2lnLmM6NjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgInNpZ3Byb2NtYXNrIDogJWQgOiBvcGVyYXRpb24gbm9uIHZhbGFibGUiCiAKICM6IHNpZ2xpc3QuYzo0OAogbXNnaWQgIkJvZ3VzIHNpZ25hbCIKLW1zZ3N0ciAiIgorbXNnc3RyICJTaWduYWwgZmFsc2lmacOpIgogCiAjOiBzaWdsaXN0LmM6NTEKIG1zZ2lkICJIYW5ndXAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiUmFjY3JvY2hlIgogCiAjOiBzaWdsaXN0LmM6NTUKIG1zZ2lkICJJbnRlcnJ1cHQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW50ZXJyb21wdCIKIAogIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJRdWl0dGUiCiAKICM6IHNpZ2xpc3QuYzo2MwogbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW5zdHJ1Y3Rpb24gaW5jb3JyZWN0ZSIKIAogIzogc2lnbGlzdC5jOjY3CiBtc2dpZCAiQlBUIHRyYWNlL3RyYXAiCi1tc2dzdHIgIiIKK21zZ3N0ciAidHJhY2UvdHJhcCBCUFQiCiAKICM6IHNpZ2xpc3QuYzo3NQogbXNnaWQgIkFCT1JUIGluc3RydWN0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIkluc3RydWN0aW9uIEFCT1JUIgogCiAjOiBzaWdsaXN0LmM6NzkKIG1zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiSW5zdHJ1Y3Rpb24gRU1UIgogCiAjOiBzaWdsaXN0LmM6ODMKIG1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiRXhjZXB0aW9uIGVuIHZpcmd1bGUgZmxvdHRhbnRlIgogCiAjOiBzaWdsaXN0LmM6ODcKIG1zZ2lkICJLaWxsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVHXDqSIKIAogIzogc2lnbGlzdC5jOjkxCi0jLCBmdXp6eQogbXNnaWQgIkJ1cyBlcnJvciIKLW1zZ3N0ciAiRXJyZXVyIGRlIHN5bnRheGUiCittc2dzdHIgIkVycmV1ciBkZSBidXMiCiAKICM6IHNpZ2xpc3QuYzo5NQogbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJFcnJldXIgZGUgc2VnbWVudGF0aW9uIgogCiAjOiBzaWdsaXN0LmM6OTkKIG1zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCi1tc2dzdHIgIiIKK21zZ3N0ciAiTWF1dmFpcyBhcHBlbCBzeXN0w6htZSIKIAogIzogc2lnbGlzdC5jOjEwMwogbXNnaWQgIkJyb2tlbiBwaXBlIgotbXNnc3RyICIiCittc2dzdHIgIlR1YmUgYnJpc8OpIgogCiAjOiBzaWdsaXN0LmM6MTA3CiBtc2dpZCAiQWxhcm0gY2xvY2siCi1tc2dzdHIgIiIKK21zZ3N0ciAiSG9ybG9nZSBkJ2FsYXJtZSIKIAogIzogc2lnbGlzdC5jOjExMQotIywgZnV6enkKIG1zZ2lkICJUZXJtaW5hdGVkIgotbXNnc3RyICJyZXN0cmVpbnQiCittc2dzdHIgIlRlcm1pbsOpIgogCiAjOiBzaWdsaXN0LmM6MTE1CiBtc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJDb25kaXRpb24gZCdFL1MgdXJnZW50ZSIKIAogIzogc2lnbGlzdC5jOjExOQogbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiU3RvcHDDqSAoc2lnbmFsKSIKIAogIzogc2lnbGlzdC5jOjEyNwogbXNnaWQgIkNvbnRpbnVlIgotbXNnc3RyICIiCittc2dzdHIgIkNvbnRpbnVlIgogCiAjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKLW1zZ3N0ciAiIgorbXNnc3RyICJNb3J0IG91IGFycsOqdCBkdSBmaWxzIgogCiAjOiBzaWdsaXN0LmM6MTM5CiBtc2dpZCAiU3RvcHBlZCAodHR5IGlucHV0KSIKLW1zZ3N0ciAiIgorbXNnc3RyICJTdG9wcMOpIChlbnRyw6llIHR0eSkiCiAKICM6IHNpZ2xpc3QuYzoxNDMKIG1zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKLW1zZ3N0ciAiIgorbXNnc3RyICJTdG9wcMOpIChzb3J0aWUgdHR5KSIKIAogIzogc2lnbGlzdC5jOjE0NwogbXNnaWQgIkkvTyByZWFkeSIKLW1zZ3N0ciAiIgorbXNnc3RyICJFL1MgcHLDqnRlIgogCiAjOiBzaWdsaXN0LmM6MTUxCiBtc2dpZCAiQ1BVIGxpbWl0IgotbXNnc3RyICIiCittc2dzdHIgIkxpbWl0ZSBDUFUiCiAKICM6IHNpZ2xpc3QuYzoxNTUKIG1zZ2lkICJGaWxlIGxpbWl0IgotbXNnc3RyICIiCittc2dzdHIgIkxpbWl0ZSBmaWNoaWVyIgogCiAjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgotbXNnc3RyICIiCittc2dzdHIgIkFsYXJtZSAodmlydHVhbCkiCiAKICM6IHNpZ2xpc3QuYzoxNjMKIG1zZ2lkICJBbGFybSAocHJvZmlsZSkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiQWxhcm1lIChwcm9maWxlKSIKIAogIzogc2lnbGlzdC5jOjE2NwogbXNnaWQgIldpbmRvdyBjaGFuZ2VkIgotbXNnc3RyICIiCittc2dzdHIgIkZlbsOqdHJlIGNoYW5nw6llIgogCiAjOiBzaWdsaXN0LmM6MTcxCiBtc2dpZCAiUmVjb3JkIGxvY2siCi1tc2dzdHIgIiIKK21zZ3N0ciAiVmVycm91IGQnZW5yZWdpc3RyZW1lbnQiCiAKICM6IHNpZ2xpc3QuYzoxNzUKIG1zZ2lkICJVc2VyIHNpZ25hbCAxIgotbXNnc3RyICIiCittc2dzdHIgIlNpZ25hbCB1dGlsaXNhdGV1ciAxIgogCiAjOiBzaWdsaXN0LmM6MTc5CiBtc2dpZCAiVXNlciBzaWduYWwgMiIKLW1zZ3N0ciAiIgorbXNnc3RyICJTaWduYWwgdXRpbGlzYXRldXIgMiIKIAogIzogc2lnbGlzdC5jOjE4MwogbXNnaWQgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCi1tc2dzdHIgIiIKK21zZ3N0ciAiRG9ubsOpZXMgZCdlbnRyw6llIEhGVCBlbiBhdHRlbnRlIgogCiAjOiBzaWdsaXN0LmM6MTg3CiBtc2dpZCAicG93ZXIgZmFpbHVyZSBpbW1pbmVudCIKLW1zZ3N0ciAiIgorbXNnc3RyICJDb3VwdXJlIGQnYWxpbWVudGF0aW9uIGltbWluZW50ZSIKIAogIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKLW1zZ3N0ciAiIgorbXNnc3RyICJQYW5uZSBzeXN0w6htZSBpbW1pbmVudGUiCiAKICM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiTWlncmF0aW9uIHByb2Nlc3N1cyB2ZXJzIHVuIGF1dHJlIENQVSIKIAogIzogc2lnbGlzdC5jOjE5OQogbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgotbXNnc3RyICIiCittc2dzdHIgIkVycmV1ciBkZSBwcm9ncmFtbWF0aW9uIgogCiAjOiBzaWdsaXN0LmM6MjAzCiBtc2dpZCAiSEZUIG1vbml0b3IgbW9kZSBncmFudGVkIgotbXNnc3RyICIiCittc2dzdHIgIk1vZGUgZGUgc3VydmVpbGxhbmNlIEhGVCBhY2NvcmTDqSIKIAogIzogc2lnbGlzdC5jOjIwNwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgotbXNnc3RyICIiCittc2dzdHIgIk1vZGUgZGUgc3VydmVpbGxhbmNlIEhGVCByw6l0cmFjdMOpIgogCiAjOiBzaWdsaXN0LmM6MjExCiBtc2dpZCAiSEZUIHNvdW5kIHNlcXVlbmNlIGhhcyBjb21wbGV0ZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiU8OpcXVlbmNlIGRlIHNvbiBIRlQgdGVybWluw6llIgogCiAjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJEZW1hbmRlIGQnaW5mb3JtYXRpb24iCiAKICM6IHNpZ2xpc3QuYzoyMjMKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjIgotbXNnc3RyICIiCittc2dzdHIgIk7CsCBkZSBzaWduYWwgaW5jb25udSIKIAogIzogc2lnbGlzdC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiU2lnbmFsIG7CsCVkIGluY29ubnUiCiAKLSM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE1MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJNYXV2YWlzZSBzdWJzdGl0dXRpb24gOiBwYXMgZGUgwqsgJXMgwrsgZGUgZmVybWV0dXJlIGRhbnMgJXMiCiAKLSM6IHN1YnN0LmM6MjczNQorIzogc3Vic3QuYzoyNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlcyA6IGltcG9zc2libGUgZCdhZmZlY3RlciB1bmUgbGlzdGUgw6AgdW4gw6lsw6ltZW50IGRlIHRhYmxlYXUiCiAKLSM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKKyM6IHN1YnN0LmM6NDk3OSBzdWJzdC5jOjQ5OTUKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBmYWJyaXF1ZXIgdW4gdHViZSBwb3VyIHVuZSBzdWJzdGl0dXRpb24gZGUgcHJvY2Vzc3VzIgogCi0jOiBzdWJzdC5jOjQ4MDIKKyM6IHN1YnN0LmM6NTAyNwogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiSW1wb3NzaWJsZSBkZSBmYWJyaXF1ZXIgdW4gZmlscyBwb3VyIHVuZSBzdWJzdGl0dXRpb24gZGUgcHJvY2Vzc3VzIgogCi0jOiBzdWJzdC5jOjQ4NDcKKyM6IHN1YnN0LmM6NTA3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJJbXBvc3NpYmxlIGQnb3V2cmlyIGxlIHR1YmUgbm9tbcOpIMKrICVzIMK7IGVuIGxlY3R1cmUiCiAKLSM6IHN1YnN0LmM6NDg0OQorIzogc3Vic3QuYzo1MDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgbGUgdHViZSBub21tw6kgwqsgJXMgwrsgZW4gw6ljcml0dXJlIgogCi0jOiBzdWJzdC5jOjQ4NjcKKyM6IHN1YnN0LmM6NTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZHVwbGlxdWVyIGxlIHR1YmUgbm9tbcOpIMKrICVzIMK7IHZlcnMgbGUgZmQgJWQiCiAKLSM6IHN1YnN0LmM6NTA2MworIzogc3Vic3QuYzo1Mjg0CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIkltcG9zc2libGUgZGUgZmFicmlxdWVyIHVuIHR1YmUgcG91ciB1bmUgc3Vic3RpdHV0aW9uIGRlIGNvbW1hbmRlIgogCi0jOiBzdWJzdC5jOjUwOTcKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogIkltcG9zc2libGUgZGUgZmFicmlxdWVyIHVuIHByb2Nlc3N1cyBmaWxzIHBvdXIgdW5lIHN1YnN0aXR1dGlvbiBkZSBjb21tYW5kZSIKIAotIzogc3Vic3QuYzo1MTE0CisjOiBzdWJzdC5jOjUzMzkKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICJjb21tYW5kX3N1YnN0aXR1dGUgOiBpbXBvc3NpYmxlIGRlIGR1cGxpcXVlciBsZSB0dWJlIHZlcnMgbGUgZmQgMSIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzIDogcGFyYW3DqHRyZSB2aWRlIG91IG5vbiBkw6lmaW5pIgogCi0jOiBzdWJzdC5jOjU5MDcKKyM6IHN1YnN0LmM6NjEyNSBzdWJzdC5jOjYxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXMgOiBleHByZXNzaW9uIGRlIHNvdXMtY2hhw65uZSBuw6lnYXRpdmUiCiAKLSM6IHN1YnN0LmM6Njk2NQorIzogc3Vic3QuYzo3MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlcyA6IG1hdXZhaXNlIHN1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo3MDQ1CisjOiBzdWJzdC5jOjczNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXMgOiBhZmZlY3RhdGlvbiBpbXBvc3NpYmxlIGRlIGNldHRlIGZhw6dvbiIKIAotIzogc3Vic3QuYzo3Mzc0CisjOiBzdWJzdC5jOjc2ODQKIG1zZ2lkICIiCiAiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCiAic3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCisiTGVzIHZlcnNpb25zIGZ1dHVyZXMgZHUgc2hlbGwgZm9yY2Vyb250IGwnw6l2YWx1YXRpb24gY29tbWUgdW5lIHN1YnN0aXR1dGlvbiAiCisiYXJpdGhtw6l0aXF1ZSIKIAotIzogc3Vic3QuYzo3ODM5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHN1YnN0LmM6ODE0OQorIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgotbXNnc3RyICJNYXV2YWlzZSBzdWJzdGl0dXRpb24gOiBwYXMgZGUgwqsgJXMgwrsgZGUgZmVybWV0dXJlIGRhbnMgJXMiCittc2dzdHIgIk1hdXZhaXMgcmVtcGxhY2VtZW50IDogcGFzIGRlIMKrIGAgwrsgZGUgZmVybWV0dXJlIGRhbnMgJXMiCiAKLSM6IHN1YnN0LmM6ODcyMAorIzogc3Vic3QuYzo5MDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiUGFzIGRlIGNvcnJlc3BvbmRhbmNlIDogJXMiCkBAIC0xODYyLDMwICsxODU4LDMwIEBACiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAiwqsgKSDCuyBhdHRlbmR1IGF1IGxpZXUgZGUgJXMiCiAKLSM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTggdGVzdC5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzIDogb3DDqXJhdGV1ciB1bmFpcmUgYXR0ZW5kdSIKIAotIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXMgOiBvcMOpcmF0ZXVyIGJpbmFpcmUgYXR0ZW5kdSIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICLCqyBdIMK7IG1hbnF1YW50IgogCi0jOiB0cmFwLmM6MjAzCisjOiB0cmFwLmM6MjA3CiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJOdW3DqXJvIGRlIHNpZ25hbCBub24gdmFsYWJsZSIKIAotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwcyA6IG1hdXZhaXNlIHZhbGV1ciBkYW5zIHRyYXBfbGlzdFslZF0gOiAlcCIKIAotIzogdHJhcC5jOjMzMQorIzogdHJhcC5jOjM0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKQEAgLTE4OTMsNyArMTg4OSw3IEBACiAicnVuX3BlbmRpbmdfdHJhcHMgOiBsZSBnZXN0aW9ubmFpcmUgZGUgc2lnbmFsIGVzdCBTSUdfREZMLCAlZCAoJXMpIHJlbnZvecOpIMOgICIKICJtb2ktbcOqbWUiCiAKLSM6IHRyYXAuYzozODAKKyM6IHRyYXAuYzozOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXIgOiBtYXV2YWlzIHNpZ25hbCAlZCIKQEAgLTE5MDMsOTQgKzE4OTksOTkgQEAKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiZXJyZXVyIGxvcnMgZGUgbCdpbXBvcnQgZGUgbGEgZMOpZmluaXRpb24gZGUgZm9uY3Rpb24gcG91ciDCqyAlcyDCuyIKIAotIzogdmFyaWFibGVzLmM6NzQ4CisjOiB2YXJpYWJsZXMuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgIm5pdmVhdSBkZSBzaGVsbCB0cm9wIMOpbGV2w6kgKCVkKSwgaW5pdGlhbGlzYXRpb24gw6AgMSIKIAotIzogdmFyaWFibGVzLmM6MTkxNQorIzogdmFyaWFibGVzLmM6MTkzMgogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogIm1ha2VfbG9jYWxfdmFyaWFibGUgOiBhdWN1biBjb250ZXh0ZSBkZSBmb25jdGlvbiBkYW5zIGxlIGNoYW1wIGQnYXBwbGljYXRpb24gIgogImFjdHVlbCIKIAotIzogdmFyaWFibGVzLmM6MzE1OQorIzogdmFyaWFibGVzLmM6MzE4MgogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogImFsbF9sb2NhbF92YXJpYWJsZXMgOiBhdWN1biBjb250ZXh0ZSBkZSBmb25jdGlvbiBkYW5zIGxlIGNoYW1wIGQnYXBwbGljYXRpb24gIgogImFjdHVlbCIKIAotIzogdmFyaWFibGVzLmM6MzM3NgotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzozNDI3CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKLW1zZ3N0ciAiJXMgOiBwYXJhbcOodHJlIHZpZGUgb3Ugbm9uIGTDqWZpbmkiCittc2dzdHIgIiVzIGEgdW4gwqsgZXhwb3J0c3RyIMK7IHZpZGUiCiAKLSM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAorIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgImNhcmFjdMOocmUgJWQgbm9uIHZhbGFibGUgZGFucyDCqyBleHBvcnRzdHIgwrsgcG91ciAlcyIKIAotIzogdmFyaWFibGVzLmM6MzM5NgorIzogdmFyaWFibGVzLmM6MzQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiUGFzIGRlIMKrID0gwrsgZGFucyDCqyBleHBvcnRzdHIgwrsgcG91ciAlcyIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgogInBvcF92YXJfY29udGV4dCA6IGxlIGTDqWJ1dCBkZSDCqyBzaGVsbF92YXJpYWJsZXMgwrsgbidlc3QgcGFzIHVuIGNvbnRleHRlIGRlICIKICJmb25jdGlvbiIKIAotIzogdmFyaWFibGVzLmM6Mzg0OAorIzogdmFyaWFibGVzLmM6MzkwNAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQgOiBhdWN1biBjb250ZXh0ZSDDoCDCqyBnbG9iYWxfdmFyaWFibGVzIMK7IgogCi0jOiB2YXJpYWJsZXMuYzozOTIyCisjOiB2YXJpYWJsZXMuYzozOTc4CiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgIiIKICJwb3Bfc2NvcGUgOiBsZSBkw6lidXQgZGUgwqsgc2hlbGxfdmFyaWFibGVzIMK7IG4nZXN0IHBhcyB1biBjaGFtcCBkJ2FwcGxpY2F0aW9uICIKICJ0ZW1wb3JhaXJlIGQnZW52aXJvbm5lbWVudCIKIAotIzogdmFyaWFibGVzLmM6NDY3OAotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzo0Nzg2CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKLW1zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGQnb3V2cmlyIDogJXMiCittc2dzdHIgIiVzIDogJXMgOiBpbXBvc3NpYmxlIGQnb3V2cmlyIGNvbW1lIEZJTEUiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2ODMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogdmFyaWFibGVzLmM6NDc5MQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKLW1zZ3N0ciAiJWQgOiBkZXNjcmlwdGV1ciBkZSBmaWNoaWVyIG5vbiB2YWxhYmxlIDogJXMiCittc2dzdHIgIiVzIDogJXMgOiB2YWxldXIgbm9uIHZhbGFibGUgcG91ciB1biBkZXNjcmlwdGV1ciBkZSBmaWNoaWVyIGRlIHRyYWNlIgogCiAjOiB2ZXJzaW9uLmM6NDYKICMsIGZ1enp5Ci1tc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKLW1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiAKICM6IHZlcnNpb24uYzo0NwogbXNnaWQgIiIKICJMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCiAiaHRtbD5cbiIKIG1zZ3N0ciAiIgorIkxpY2VuY2UgR1BMdjMrIDogR05VIEdQTCB2ZXJzaW9uIDMgb3UgdWx0w6lyaWV1cmUgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzLyIKKyJncGwuaHRtbD5cbiIKIAogIzogdmVyc2lvbi5jOjg2IHZlcnNpb24yLmM6ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgotbXNnc3RyICIiCittc2dzdHIgIkdOVSBiYXNoLCB2ZXJzaW9uICVzICglcylcbiIKIAogIzogdmVyc2lvbi5jOjkxIHZlcnNpb24yLmM6ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhpcyBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgYXJlIGZyZWUgdG8gY2hhbmdlIGFuZCByZWRpc3RyaWJ1dGUgaXQuXG4iCiBtc2dzdHIgIiIKKyJDZWNpIGVzdCB1biBsb2dpY2llbCBsaWJyZSA7IHZvdXMgw6p0cmUgbGlicmUgZGUgbGUgbW9kaWZpZXIgZXQgZGUgbGUgIgorInJlZGlzdHJpYnVlci5cbiIKIAogIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKIG1zZ3N0ciAiIgorIkF1Y3VuZSBnYXJhbnRpZSBuJ2VzdCBmb3VybmllLCBkYW5zIGxhIG1lc3VyZSBkZSBjZSBxdWUgbGEgbG9pIGF1dG9yaXNlLlxuIgogCiAjOiB2ZXJzaW9uMi5jOjg2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgotbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDYgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCittc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIAogIzogdmVyc2lvbjIuYzo4NwogIywgYy1mb3JtYXQKQEAgLTE5OTgsMzMzICsxOTk5LDM0NyBAQAogIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKICJodG1sPlxuIgogbXNnc3RyICIiCisiTGljZW5jZSBHUEx2MisgOiBHTlUgR1BMIHZlcnNpb24gMiBvdSB1bHTDqXJpZXVyZSA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvIgorImdwbC5odG1sPlxuIgogCiAjOiB4bWFsbG9jLmM6OTEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2MgOiBpbXBvc3NpYmxlIGQnYWxsb3VlciAlbHUgb2N0ZXRzICglbHUgb2N0ZXRzIGFsbG91w6lzKSIKK21zZ3N0ciAiJXMgOiBpbXBvc3NpYmxlIGQnYWxsb3VlciAlbHUgb2N0ZXRzICglbHUgb2N0ZXRzIGFsbG91w6lzKSIKIAogIzogeG1hbGxvYy5jOjkzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2MgOiBpbXBvc3NpYmxlIGQnYWxsb3VlciAlbHUgb2N0ZXRzIgorbXNnc3RyICIlcyA6IGltcG9zc2libGUgZCdhbGxvdWVyICVsdSBvY3RldHMiCiAKICM6IHhtYWxsb2MuYzoxNjMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4bWFsbG9jIDogJXM6JWQgOiBpbXBvc3NpYmxlIGQnYWxsb3VlciAlbHUgb2N0ZXRzICglbHUgb2N0ZXRzIGFsbG91w6lzKSIKK21zZ3N0ciAiJXMgOiAlczolZCA6IGltcG9zc2libGUgZCdhbGxvdWVyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgYWxsb3XDqXMpIgogCiAjOiB4bWFsbG9jLmM6MTY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4bWFsbG9jIDogJXM6JWQgOiBpbXBvc3NpYmxlIGQnYWxsb3VlciAlbHUgb2N0ZXRzIgorbXNnc3RyICIlcyA6ICVzOiVkIDogaW1wb3NzaWJsZSBkJ2FsbG91ZXIgJWx1IG9jdGV0cyIKIAogIzogYnVpbHRpbnMuYzo0MwogbXNnaWQgImFsaWFzIFstcF0gW25hbWVbPXZhbHVlXSAuLi4gXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhbGlhcyBbLXBdIFtub21bPXZhbGV1cl0gLi4uIF0iCiAKICM6IGJ1aWx0aW5zLmM6NDcKIG1zZ2lkICJ1bmFsaWFzIFstYV0gbmFtZSBbbmFtZSAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgInVuYWxpYXMgWy1hXSBub20gW25vbSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjUxCiBtc2dpZCAiIgogImJpbmQgWy1scHZzUFZTXSBbLW0ga2V5bWFwXSBbLWYgZmlsZW5hbWVdIFstcSBuYW1lXSBbLXUgbmFtZV0gWy1yIGtleXNlcV0gWy0iCiAieCBrZXlzZXE6c2hlbGwtY29tbWFuZF0gW2tleXNlcTpyZWFkbGluZS1mdW5jdGlvbiBvciByZWFkbGluZS1jb21tYW5kXSIKIG1zZ3N0ciAiIgorImJpbmQgWy1scHZzUFZTXSBbLW0ga2V5bWFwXSBbLWYgbm9tZmljaGllcl0gWy1xIG5vbV0gWy11IG5vbV0gWy1yIHNlcXRvdWNoZV0gIgorIlsteCBzZXF0b3VjaGU6Y29tbWFuZGUtc2hlbGxdIFtzZXF0b3VjaGU6Zm9uY3Rpb24tcmVhZGxpbmUgb3UgY29tbWFuZGUtIgorInJlYWRsaW5lXSIKIAogIzogYnVpbHRpbnMuYzo1NAogbXNnaWQgImJyZWFrIFtuXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJicmVhayBbbl0iCiAKICM6IGJ1aWx0aW5zLmM6NTYKIG1zZ2lkICJjb250aW51ZSBbbl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiY29udGludWUgW25dIgogCiAjOiBidWlsdGlucy5jOjU4CiBtc2dpZCAiYnVpbHRpbiBbc2hlbGwtYnVpbHRpbiBbYXJnIC4uLl1dIgotbXNnc3RyICIiCittc2dzdHIgImJ1aWx0aW4gW3NoZWxsLWJ1aWx0aW4gW2FyZyAuLi5dXSIKIAogIzogYnVpbHRpbnMuYzo2MQogbXNnaWQgImNhbGxlciBbZXhwcl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiY2FsbGVyIFtleHByXSIKIAogIzogYnVpbHRpbnMuYzo2NAotbXNnaWQgImNkIFstTHwtUF0gW2Rpcl0iCi1tc2dzdHIgIiIKKyMsIGZ1enp5Cittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCittc2dzdHIgImNkIFstTHwtUF0gW3LDqXBdIgogCiAjOiBidWlsdGlucy5jOjY2CiBtc2dpZCAicHdkIFstTFBdIgotbXNnc3RyICIiCittc2dzdHIgInB3ZCBbLUxQXSIKIAogIzogYnVpbHRpbnMuYzo2OAogbXNnaWQgIjoiCi1tc2dzdHIgIiIKK21zZ3N0ciAiOiIKIAogIzogYnVpbHRpbnMuYzo3MAogbXNnaWQgInRydWUiCi1tc2dzdHIgIiIKK21zZ3N0ciAidHJ1ZSIKIAogIzogYnVpbHRpbnMuYzo3MgogbXNnaWQgImZhbHNlIgotbXNnc3RyICIiCittc2dzdHIgImZhbHNlIgogCiAjOiBidWlsdGlucy5jOjc0CiBtc2dpZCAiY29tbWFuZCBbLXBWdl0gY29tbWFuZCBbYXJnIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiY29tbWFuZCBbLXBWdl0gY29tbWFuZGUgW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc2Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgotbXNnc3RyICIiCisjLCBmdXp6eQorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCittc2dzdHIgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtub21bPXZhbGV1cl0gLi4uXSIKIAogIzogYnVpbHRpbnMuYzo3OAotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCi1tc2dzdHIgIiIKKyMsIGZ1enp5Cittc2dpZCAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCittc2dzdHIgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5vbVs9dmFsZXVyXSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6ODAKIG1zZ2lkICJsb2NhbCBbb3B0aW9uXSBuYW1lWz12YWx1ZV0gLi4uIgotbXNnc3RyICIiCittc2dzdHIgImxvY2FsIFtvcHRpb25dIG5vbVs9dmFsZXVyXSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6ODMKIG1zZ2lkICJlY2hvIFstbmVFXSBbYXJnIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZWNobyBbLW5lRV0gW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjg3CiBtc2dpZCAiZWNobyBbLW5dIFthcmcgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJlY2hvIFstbl0gW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjkwCiBtc2dpZCAiZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYgZmlsZW5hbWVdIFtuYW1lIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYgbm9tZmljaGllcl0gW25vbSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjkyCiBtc2dpZCAiZXZhbCBbYXJnIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZXZhbCBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6OTQKIG1zZ2lkICJnZXRvcHRzIG9wdHN0cmluZyBuYW1lIFthcmddIgotbXNnc3RyICIiCittc2dzdHIgImdldG9wdHMgY2hhaW5lb3B0cyBub20gW2FyZ10iCiAKICM6IGJ1aWx0aW5zLmM6OTYKIG1zZ2lkICJleGVjIFstY2xdIFstYSBuYW1lXSBbY29tbWFuZCBbYXJndW1lbnRzIC4uLl1dIFtyZWRpcmVjdGlvbiAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgImV4ZWMgWy1jbF0gWy1hIG5vbV0gW2NvbW1hbmRlIFthcmd1bWVudHMgLi4uXV0gW3JlZGlyZWN0aW9uIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6OTgKIG1zZ2lkICJleGl0IFtuXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJleGl0IFtuXSIKIAogIzogYnVpbHRpbnMuYzoxMDAKIG1zZ2lkICJsb2dvdXQgW25dIgotbXNnc3RyICIiCittc2dzdHIgImxvZ291dCBbbl0iCiAKICM6IGJ1aWx0aW5zLmM6MTAzCiBtc2dpZCAiZmMgWy1lIGVuYW1lXSBbLWxucl0gW2ZpcnN0XSBbbGFzdF0gb3IgZmMgLXMgW3BhdD1yZXBdIFtjb21tYW5kXSIKIG1zZ3N0ciAiIgorImZjIFstZSBlbmFtZV0gWy1sbnJdIFtwcmVtaWVyXSBbZGVybmllcl0gb3UgZmMgLXMgW2FuY2llbj1ub3V2ZWF1XSBbY29tbWFuZGVdIgogCiAjOiBidWlsdGlucy5jOjEwNwogbXNnaWQgImZnIFtqb2Jfc3BlY10iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmcgW2pvYl9zcGVjXSIKIAogIzogYnVpbHRpbnMuYzoxMTEKIG1zZ2lkICJiZyBbam9iX3NwZWMgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJiZyBbam9iX3NwZWMgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMTQKIG1zZ2lkICJoYXNoIFstbHJdIFstcCBwYXRobmFtZV0gWy1kdF0gW25hbWUgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJoYXNoIFstbHJdIFstcCBub21jaGVtaW5dIFstZHRdIFtub20gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMTcKIG1zZ2lkICJoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgImhlbHAgWy1kbXNdIFttb3RpZiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEyMQogbXNnaWQgIiIKICJoaXN0b3J5IFstY10gWy1kIG9mZnNldF0gW25dIG9yIGhpc3RvcnkgLWFucncgW2ZpbGVuYW1lXSBvciBoaXN0b3J5IC1wcyBhcmcgIgogIlthcmcuLi5dIgogbXNnc3RyICIiCisiaGlzdG9yeSBbLWNdIFstZCBkw6ljYWxhZ2VdIFtuXSBvdSBoaXN0b3J5IC1hbnJ3IFtub21maWNoaWVyXSBvdSBoaXN0b3J5IC1wcyAiCisiYXJnIFthcmcuLi5dIgogCiAjOiBidWlsdGlucy5jOjEyNQogbXNnaWQgImpvYnMgWy1sbnByc10gW2pvYnNwZWMgLi4uXSBvciBqb2JzIC14IGNvbW1hbmQgW2FyZ3NdIgotbXNnc3RyICIiCittc2dzdHIgImpvYnMgWy1sbnByc10gW2pvYnNwZWMgLi4uXSBvdSBqb2JzIC14IGNvbW1hbmRlIFthcmdzXSIKIAogIzogYnVpbHRpbnMuYzoxMjkKIG1zZ2lkICJkaXNvd24gWy1oXSBbLWFyXSBbam9ic3BlYyAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgImRpc293biBbLWhdIFstYXJdIFtqb2JzcGVjIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTMyCiBtc2dpZCAiIgogImtpbGwgWy1zIHNpZ3NwZWMgfCAtbiBzaWdudW0gfCAtc2lnc3BlY10gcGlkIHwgam9ic3BlYyAuLi4gb3Iga2lsbCAtbCAiCiAiW3NpZ3NwZWNdIgogbXNnc3RyICIiCisia2lsbCBbLXMgc2lnc3BlYyB8IC1uIHNpZ251bSB8IC1zaWdzcGVjXSBwaWQgfCBqb2JzcGVjIC4uLiBvdSBraWxsIC1sICIKKyJbc2lnc3BlY10iCiAKICM6IGJ1aWx0aW5zLmM6MTM0CiBtc2dpZCAibGV0IGFyZyBbYXJnIC4uLl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAibGV0IGFyZyBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM2CiBtc2dpZCAiIgogInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKICJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKKyJyZWFkIFstZXJzXSBbLWEgdGFibGVhdV0gWy1kIGRlbGltXSBbLWkgdGV4dGVdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCisicHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbm9tIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM4CiBtc2dpZCAicmV0dXJuIFtuXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZXR1cm4gW25dIgogCiAjOiBidWlsdGlucy5jOjE0MAotbXNnaWQgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbYXJnIC4uLl0iCi1tc2dzdHIgIiIKKyMsIGZ1enp5Cittc2dpZCAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCittc2dzdHIgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG5vbS1vcHRpb25dIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNDIKIG1zZ2lkICJ1bnNldCBbLWZdIFstdl0gW25hbWUgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ1bnNldCBbLWZdIFstdl0gW25vbSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE0NAogbXNnaWQgImV4cG9ydCBbLWZuXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgZXhwb3J0IC1wIgotbXNnc3RyICIiCittc2dzdHIgImV4cG9ydCBbLWZuXSBbbm9tWz12YWxldXJdIC4uLl0gb3UgZXhwb3J0IC1wIgogCiAjOiBidWlsdGlucy5jOjE0NgotbXNnaWQgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKLW1zZ3N0ciAiIgorIywgZnV6enkKK21zZ2lkICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgorbXNnc3RyICJyZWFkb25seSBbLWFmXSBbbm9tWz12YWxldXJdIC4uLl0gb3UgcmVhZG9ubHkgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4Ci0jLCBmdXp6eQogbXNnaWQgInNoaWZ0IFtuXSIKLW1zZ3N0ciAibm9tYnJlIGRlIMKrIHNoaWZ0IMK7IgorbXNnc3RyICJzaGlmdCBbbl0iCiAKICM6IGJ1aWx0aW5zLmM6MTUwCi0jLCBmdXp6eQogbXNnaWQgInNvdXJjZSBmaWxlbmFtZSBbYXJndW1lbnRzXSIKLW1zZ3N0ciAibm9tIGRlIGZpY2hpZXIgbsOpY2Vzc2FpcmUgZW4gYXJndW1lbnQiCittc2dzdHIgInNvdXJjZSBub21fZmljaGllciBbYXJndW1lbnRzXSIKIAogIzogYnVpbHRpbnMuYzoxNTIKLSMsIGZ1enp5CiBtc2dpZCAiLiBmaWxlbmFtZSBbYXJndW1lbnRzXSIKLW1zZ3N0ciAibm9tIGRlIGZpY2hpZXIgbsOpY2Vzc2FpcmUgZW4gYXJndW1lbnQiCittc2dzdHIgIi4gbm9tX2ZpY2hpZXIgW2FyZ3VtZW50c10iCiAKICM6IGJ1aWx0aW5zLmM6MTU1CiBtc2dpZCAic3VzcGVuZCBbLWZdIgotbXNnc3RyICIiCittc2dzdHIgInN1c3BlbmQgWy1mXSIKIAogIzogYnVpbHRpbnMuYzoxNTgKIG1zZ2lkICJ0ZXN0IFtleHByXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0ZXN0IFtleHByXSIKIAogIzogYnVpbHRpbnMuYzoxNjAKIG1zZ2lkICJbIGFyZy4uLiBdIgotbXNnc3RyICIiCittc2dzdHIgIlsgYXJnLi4uIF0iCiAKICM6IGJ1aWx0aW5zLmM6MTYyCiBtc2dpZCAidGltZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAidGltZXMiCiAKICM6IGJ1aWx0aW5zLmM6MTY0CiBtc2dpZCAidHJhcCBbLWxwXSBbW2FyZ10gc2lnbmFsX3NwZWMgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0cmFwIFstbHBdIFtbYXJnXSBzaWduYWxfc3BlYyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE2NgogbXNnaWQgInR5cGUgWy1hZnB0UF0gbmFtZSBbbmFtZSAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgInR5cGUgWy1hZnB0UF0gbm9tIFtub20gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNjkKIG1zZ2lkICJ1bGltaXQgWy1TSGFjZGVmaWxtbnBxcnN0dXZ4XSBbbGltaXRdIgotbXNnc3RyICIiCittc2dzdHIgInVsaW1pdCBbLVNIYWNkZWZpbG1ucHFyc3R1dnhdIFtsaW1pdGVdIgogCiAjOiBidWlsdGlucy5jOjE3MgogbXNnaWQgInVtYXNrIFstcF0gWy1TXSBbbW9kZV0iCi1tc2dzdHIgIiIKK21zZ3N0ciAidW1hc2sgWy1wXSBbLVNdIFttb2RlXSIKIAogIzogYnVpbHRpbnMuYzoxNzUKIG1zZ2lkICJ3YWl0IFtpZF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAid2FpdCBbaWRdIgogCiAjOiBidWlsdGlucy5jOjE3OQogbXNnaWQgIndhaXQgW3BpZF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAid2FpdCBbcGlkXSIKIAogIzogYnVpbHRpbnMuYzoxODIKIG1zZ2lkICJmb3IgTkFNRSBbaW4gV09SRFMgLi4uIF0gOyBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJmb3IgTk9NIFtpbiBNT1RTIC4uLiBdIDsgZG8gQ09NTUFOREVTOyBkb25lIgogCiAjOiBidWlsdGlucy5jOjE4NAogbXNnaWQgImZvciAoKCBleHAxOyBleHAyOyBleHAzICkpOyBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJmb3IgKCggZXhwMTsgZXhwMjsgZXhwMyApKTsgZG8gQ09NTUFOREVTOyBkb25lIgogCiAjOiBidWlsdGlucy5jOjE4NgogbXNnaWQgInNlbGVjdCBOQU1FIFtpbiBXT1JEUyAuLi4gO10gZG8gQ09NTUFORFM7IGRvbmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2VsZWN0IE5PTSBbaW4gTU9UUyAuLi4gO10gZG8gQ09NTUFOREVTOyBkb25lIgogCiAjOiBidWlsdGlucy5jOjE4OAogbXNnaWQgInRpbWUgWy1wXSBwaXBlbGluZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0aW1lIFstcF0gcGlwZWxpbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTkwCiBtc2dpZCAiY2FzZSBXT1JEIGluIFtQQVRURVJOIFt8IFBBVFRFUk5dLi4uKSBDT01NQU5EUyA7O10uLi4gZXNhYyIKLW1zZ3N0ciAiIgorbXNnc3RyICJjYXNlIE1PVCBpbiBbTU9USUYgW3wgTU9USUZdLi4uKSBDT01NQU5ERVMgOztdLi4uIGVzYWMiCiAKICM6IGJ1aWx0aW5zLmM6MTkyCiBtc2dpZCAiIgogImlmIENPTU1BTkRTOyB0aGVuIENPTU1BTkRTOyBbIGVsaWYgQ09NTUFORFM7IHRoZW4gQ09NTUFORFM7IF0uLi4gWyBlbHNlICIKICJDT01NQU5EUzsgXSBmaSIKIG1zZ3N0ciAiIgorImlmIENPTU1BTkRFUzsgdGhlbiBDT01NQU5ERVM7IFsgZWxpZiBDT01NQU5ERVM7IHRoZW4gQ09NTUFOREVTOyBdLi4uIFsgZWxzZSAiCisiQ09NTUFOREVTOyBdIGZpIgogCiAjOiBidWlsdGlucy5jOjE5NAogbXNnaWQgIndoaWxlIENPTU1BTkRTOyBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ3aGlsZSBDT01NQU5ERVM7IGRvIENPTU1BTkRFUzsgZG9uZSIKIAogIzogYnVpbHRpbnMuYzoxOTYKIG1zZ2lkICJ1bnRpbCBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAidW50aWwgQ09NTUFOREVTOyBkbyBDT01NQU5ERVM7IGRvbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTk4CiBtc2dpZCAiY29wcm9jIFtOQU1FXSBjb21tYW5kIFtyZWRpcmVjdGlvbnNdIgotbXNnc3RyICIiCittc2dzdHIgImNvcHJvYyBbTk9NXSBjb21tYW5kZSBbcmVkaXJlY3Rpb25zXSIKIAogIzogYnVpbHRpbnMuYzoyMDAKIG1zZ2lkICJmdW5jdGlvbiBuYW1lIHsgQ09NTUFORFMgOyB9IG9yIG5hbWUgKCkgeyBDT01NQU5EUyA7IH0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZnVuY3Rpb24gbm9tIHsgQ09NTUFOREVTIDsgfSBvdSBub20gKCkgeyBDT01NQU5ERVMgOyB9IgogCiAjOiBidWlsdGlucy5jOjIwMgogbXNnaWQgInsgQ09NTUFORFMgOyB9IgotbXNnc3RyICIiCittc2dzdHIgInsgQ09NTUFOREVTIDsgfSIKIAogIzogYnVpbHRpbnMuYzoyMDQKIG1zZ2lkICJqb2Jfc3BlYyBbJl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiam9iX3NwZWMgWyZdIgogCiAjOiBidWlsdGlucy5jOjIwNgotIywgZnV6enkKIG1zZ2lkICIoKCBleHByZXNzaW9uICkpIgotbXNnc3RyICJ1bmUgZXhwcmVzc2lvbiBlc3QgYXR0ZW5kdWUiCittc2dzdHIgIigoIGV4cHJlc3Npb24gKSkiCiAKICM6IGJ1aWx0aW5zLmM6MjA4Ci0jLCBmdXp6eQogbXNnaWQgIltbIGV4cHJlc3Npb24gXV0iCi1tc2dzdHIgInVuZSBleHByZXNzaW9uIGVzdCBhdHRlbmR1ZSIKK21zZ3N0ciAiW1sgZXhwcmVzc2lvbiBdXSIKIAogIzogYnVpbHRpbnMuYzoyMTAKIG1zZ2lkICJ2YXJpYWJsZXMgLSBOYW1lcyBhbmQgbWVhbmluZ3Mgb2Ygc29tZSBzaGVsbCB2YXJpYWJsZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAidmFyaWFibGVzIC0gTm9tIGV0IHNpZ25pZmljYXRpb24gZGUgY2VydGFpbmVzIHZhcmlhYmxlcyBkdSBzaGVsbCIKIAogIzogYnVpbHRpbnMuYzoyMTMKIG1zZ2lkICJwdXNoZCBbLW5dIFsrTiB8IC1OIHwgZGlyXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJwdXNoZCBbLW5dIFsrTiB8IC1OIHwgcsOpcF0iCiAKICM6IGJ1aWx0aW5zLmM6MjE3CiBtc2dpZCAicG9wZCBbLW5dIFsrTiB8IC1OXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJwb3BkIFstbl0gWytOIHwgLU5dIgogCiAjOiBidWlsdGlucy5jOjIyMQogbXNnaWQgImRpcnMgWy1jbHB2XSBbK05dIFstTl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZGlycyBbLWNscHZdIFsrTl0gWy1OXSIKIAogIzogYnVpbHRpbnMuYzoyMjQKIG1zZ2lkICJzaG9wdCBbLXBxc3VdIFstb10gW29wdG5hbWUgLi4uXSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzaG9wdCBbLXBxc3VdIFstb10gW25vbV9vcHQgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMjYKIG1zZ2lkICJwcmludGYgWy12IHZhcl0gZm9ybWF0IFthcmd1bWVudHNdIgotbXNnc3RyICIiCittc2dzdHIgInByaW50ZiBbLXYgdmFyXSBmb3JtYXQgW2FyZ3VtZW50c10iCiAKICM6IGJ1aWx0aW5zLmM6MjI5CiBtc2dpZCAiIgpAQCAtMjMzMiwzMSArMjM0Nyw0MCBAQAogIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgogInN1ZmZpeF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgbW90aWZfZ2xvYl0gIgorIlstVyBsaXN0ZV9tb3RzXSAgWy1GIGZvbmN0aW9uXSBbLUMgY29tbWFuZGVdIFstWCBtb3RpZl9maWx0cmVdIFstUCBwcmVmaXhlXSAiCisiWy1TIHN1ZmZpeGVdIFtub20gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMzMKIG1zZ2lkICIiCiAiY29tcGdlbiBbLWFiY2RlZmdqa3N1dl0gWy1vIG9wdGlvbl0gIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgd29yZGxpc3RdICAiCiAiWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gW3dvcmRdIgogbXNnc3RyICIiCisiY29tcGdlbiBbLWFiY2RlZmdqa3N1dl0gWy1vIG9wdGlvbl0gIFstQSBhY3Rpb25dIFstRyBtb3RpZl9nbG9iXSBbLVcgIgorImxpc3RlX21vdHNdICBbLUYgZm9uY3Rpb25dIFstQyBjb21tYW5kZV0gWy1YIG1vdGlmX2ZpbHRyZV0gWy1QIHByZWZpeGVdIFstUyAiCisic3VmZml4ZV0gW21vdF0iCiAKICM6IGJ1aWx0aW5zLmM6MjM3CiBtc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgotbXNnc3RyICIiCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25vbSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjI0MAogbXNnaWQgIiIKICJtYXBmaWxlIFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgogInF1YW50dW1dIFthcnJheV0iCiBtc2dzdHIgIiIKKyJtYXBmaWxlIFstbiBub21icmVdIFstTyBvcmlnaW5lXSBbLXMgbm9tYnJlXSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgorInF1YW50dW1dIFt0YWJsZWF1XSIKIAogIzogYnVpbHRpbnMuYzoyNDIKIG1zZ2lkICIiCiAicmVhZGFycmF5IFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgogInF1YW50dW1dIFthcnJheV0iCiBtc2dzdHIgIiIKKyJyZWFkYXJyYXkgWy1uIG5vbWJyZV0gWy1PIG9yaWdpbmVdIFstcyBub21icmVdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstIgorImMgcXVhbnR1bV0gW3RhYmxlYXVdIgogCiAjOiBidWlsdGlucy5jOjI1NAotIywgZnV6enkKIG1zZ2lkICIiCiAiRGVmaW5lIG9yIGRpc3BsYXkgYWxpYXNlcy5cbiIKICIgICAgXG4iCkBAIC0yMzc1LDE3ICsyMzk5LDI2IEBACiAiYmVlblxuIgogIiAgICBkZWZpbmVkLiIKIG1zZ3N0ciAiIgotIsKrIGFsaWFzIMK7IHNhbnMgYXJndW1lbnQgb3UgYXZlYyBsJ29wdGlvbiDCqyAtcCDCuyBhZmZpY2hlIHN1ciBsYSBzb3J0aWUgIgotInN0YW5kYXJkXG4iCi0iICAgIGxhIGxpc3RlIGRlcyBhbGlhcyBzb3VzIGxhIGZvcm1lIE5BTUU9VkFMVUUuIFNpbm9uLCB1biBhbGlhcyBlc3QgZMOpZmluaVxuIgotIiAgICBwb3VyIGNoYXF1ZSBOQU1FIGRvbnQgbGEgVkFMVUUgZXN0IGZvdXJuaWUuIFVuZSBlc3BhY2UgYXByw6hzIGxhIFZBTFVFXG4iCi0iICAgIGVudHJhw65uZSBsYSB2w6lyaWZpY2F0aW9uIGRlIGxhIHN1YnN0aXR1dGlvbiBkJ2FsaWFzIHBvdXIgbGUgbW90IHN1aXZhbnRcbiIKLSIgICAgbG9yc3F1ZSBsJ2FsaWFzIGVzdCDDqXRlbmR1LiDCqyBhbGlhcyDCuyByZW52b2llIMKrIHRydWUgwrsgw6AgbW9pbnMgcXUndW4gIgotIk5BTUVcbiIKLSIgICAgbmUgc29pdCBmb3VybmkgcG91ciBsZXF1ZWwgYXVjdW4gYWxpYXMgbidhIMOpdMOpIGTDqWZpbmkuIgorIkTDqWZpbml0IG91IGFmZmljaGUgZGVzIGFsaWFzLlxuIgorIiAgICBcbiIKKyIgICAgU2FucyBhcmd1bWVudCwgwqsgYWxpYXMgwrsgYWZmaWNoZSBsYSBsaXN0ZSBkZXMgYWxpYXMgYXZlYyBsZSBmb3JtYXQgIgorInLDqXV0aWxpc2FibGVcbiIKKyIgICAgwqsgYWxpYXMgTk9NPVZBTEVVUiDCuyBzdXIgbGEgc29ydGllIHN0YW5kYXJkLlxuIgorIiAgICBcbiIKKyIgICAgU2lub24sIHVuIGFsaWFzIGVzdCBkw6lmaW5pdCBwb3VyIGNoYXF1ZSBOT00gZG9udCBsYSBWQUxFVVIgZXN0IGRvbm7DqWUuXG4iCisiICAgIFVuZSBlc3BhY2Ugw6AgbGEgZmluIGRlIGxhIFZBTEVVUiBlbnRyYWluZSBsZSByZW1wbGFjZW1lbnQgZCdhbGlhcyBkYW5zICIKKyJsZSBtb3RcbiIKKyIgICAgc3VpdmFudCwgbG9yc3F1ZSBsJ2FsaWFzIGVzdCBkw6l2ZWxvcHDDqS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnMgOlxuIgorIiAgICAgIC1wXHRBZmZpY2hlciB0b3VzIGxlcyBhbGlhcyBhY3R1ZWxzIGRhbnMgdW4gZm9ybWF0IHLDqXV0aWxpc2FibGVcbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgwqsgYWxpYXMgwrsgcmVudm9pZSBsYSB2YWxldXIgdnJhaWUgw6AgbW9pbnMgcXVlIE5PTSBuZSBzb2l0IGZvdXJuaSBldCBxdWUgIgorImNlbHVpLWNpIG4nYWllXG4iCisiICAgIHBhcyBkJ2FsaWFzLiIKIAogIzogYnVpbHRpbnMuYzoyNzYKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlJlbW92ZSBlYWNoIE5BTUUgZnJvbSB0aGUgbGlzdCBvZiBkZWZpbmVkIGFsaWFzZXMuXG4iCiAiICAgIFxuIgpAQCAtMjM5NCwxMiArMjQyNywxNCBAQAogIiAgICBcbiIKICIgICAgUmV0dXJuIHN1Y2Nlc3MgdW5sZXNzIGEgTkFNRSBpcyBub3QgYW4gZXhpc3RpbmcgYWxpYXMuIgogbXNnc3RyICIiCi0iRW5sw6h2ZSBsZXMgTkFNRSBkZSBsYSBsaXN0ZSBkZXMgYWxpYXMgZMOpZmluaXMuIFNpIGwnb3B0aW9uIMKrIC1hIMK7IGVzdCAiCi0iZm91cm5pZSxcbiIKLSJhbG9ycyB0b3V0ZXMgbGVzIGTDqWZpbml0aW9ucyBkJ2FsaWFzIHNvbnQgZW5sZXbDqWVzLiIKKyJFbmzDqHZlIGNoYXF1ZSBOT00gZGUgbGEgbGlzdGUgZGVzIGFsaWFzIGFjdHVlbHMuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIDpcbiIKKyIgICAgICAtYVx0cmV0aXJlIHRvdXRlcyBsZXMgZMOpZmluaXRpb25zIGQnYWxpYXMuXG4iCisiICAgIFxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgc3VjY8OocyDDoCBtb2lucyBxdWUgTk9NIG5lIHNvaXQgcGFzIHVuIGFsaWFzIGV4aXN0YW50LiIKIAogIzogYnVpbHRpbnMuYzoyODkKLSMsIGZ1enp5CiBtc2dpZCAiIgogIlNldCBSZWFkbGluZSBrZXkgYmluZGluZ3MgYW5kIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0yNDM3LDQ4ICsyNDcyLDU0IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBiaW5kIHJldHVybnMgMCB1bmxlc3MgYW4gdW5yZWNvZ25pemVkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0iQXNzb2NpZSB1bmUgc3VpdGUgZGUgdG91Y2hlcyDDoCB1bmUgZm9uY3Rpb24gwqsgUmVhZGxpbmUgwrsgb3UgZMOpZmluaXQgdW5lXG4iCi0idmFyaWFibGUgwqsgUmVhZGxpbmUgwrsuIExlcyBhcmd1bWVudHMgbm9uLW9wdGlvbnMgc3VpdmVudCB1bmUgc3ludGF4ZSAiCisiRMOpZmluaXQgbGVzIGFzc29jaWF0aW9ucyBkZSB0b3VjaGVzIGV0IGxlcyB2YXJpYWJsZXMgZGUgwqsgUmVhZGxpbmUgwrsuXG4iCisiICAgIFxuIgorIiAgICBBc3NvY2llIHVuZSBzw6lxdWVuY2UgZGUgdG91Y2hlcyDDoCB1bmUgZm9uY3Rpb24gwqsgUmVhZGxpbmUgwrsgb3UgZMOpZmluaXQgIgorInVuZVxuIgorIiAgICB2YXJpYWJsZSDCqyBSZWFkbGluZSDCuy4gTGVzIGFyZ3VtZW50cyBub24tb3B0aW9ucyBzdWl2ZW50IHVuZSBzeW50YXhlICIKICLDqXF1aXZhbGVudGUgw6AgY2VsbGVcbiIKLSJkdSBmaWNoaWVyIH4vLmlucHV0cmMsIG1haXMgZG9pdmVudCDDqnRyZSB0cmFuc21pcyBjb21tZSBhcmd1bWVudHMgdW5pcXVlcyA6XG4iCi0iICAgIGJpbmQgJ1wiXFxDLXhcXEMtclwiIDogcmUtcmVhZC1pbml0LWZpbGUnLlxuIgotIiAgICBiaW5kIGFjY2VwdGUgbGVzIG9wdGlvbnMgc3VpdmFudGVzIDpcbiIKLSIgICAgICAtbSAga2V5bWFwICAgICAgICAgVXRpbGlzZSDCqyBrZXltYXAgwrsgY29tbWUgbWFwcGFnZSBjbGF2aWVyIHBlbmRhbnQgIgotImxhXG4iCisiICAgIGR1IGZpY2hpZXIgfi8uaW5wdXRyYywgbWFpcyBkb2l2ZW50IMOqdHJlIHRyYW5zbWlzIGNvbW1lIGFyZ3VtZW50cyAiCisidW5pcXVlcyA6XG4iCisiICAgIGV4IDogYmluZCAnXCJcXEMteFxcQy1yXCIgOiByZS1yZWFkLWluaXQtZmlsZScuXG4iCisiICAgIE9wdGlvbnMgOlxuIgorIiAgICAgIC1tICBrZXltYXAgICAgICAgICBVdGlsaXNlIEtFWU1BUCBjb21tZSBtYXBwYWdlIGNsYXZpZXIgcGVuZGFudCBsYVxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICBkdXLDqWUgZGUgY2V0dGUgY29tbWFuZGUuIERlcyBub21zIGRlIG1hcHBhZ2UgIgogInZhbGFibGVzICAgICAgICAgICAgICAgICAgICAgICAgIHNvbnQgwqsgZW1hY3MgwrssIMKrIGVtYWNzLXN0YW5kYXJkIMK7LCDCqyBlbWFjcy0iCiAibWV0YSDCuywgXG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgIMKrIGVtYWNzLWN0bHggwrssIMKrIHZpIMK7LCDCqyB2aS1tb3ZlIMK7LCDCqyB2aS1jb21tYW5kIMK7ICIKLSJldFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICDCqyBlbWFjcy1jdGx4IMK7LCDCqyB2aSDCuywgwqsgdmktbW92ZSDCuywgwqsgdmktY29tbWFuZCDCuyBldFxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICDCqyB2aS1pbnNlcnQgwrsuXG4iCiAiICAgICAgLWwgICAgICAgICAgICAgICAgIEFmZmljaGUgbGVzIG5vbXMgZGUgZm9uY3Rpb25zLlxuIgogIiAgICAgIC1QICAgICAgICAgICAgICAgICBBZmZpY2hlIGxlcyBub21zIGV0IGFzc29jaWF0aW9ucyBkZXMgZm9uY3Rpb25zLlxuIgogIiAgICAgIC1wICAgICAgICAgICAgICAgICBBZmZpY2hlIGxlcyBmb25jdGlvbnMgZXQgYXNzb2NpYXRpb25zIGRhbnMgdW5lICIKICJmb3JtZSBxdWlcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgcGV1dCDDqnRyZSByw6l1dGlsaXPDqWUgY29tbWUgZW50csOpZS5cbiIKLSIgICAgICAtciAgc2VxdG91Y2hlICAgICAgICAgRW5sw6h2ZSBsJ2Fzc29jaWF0aW9uIHBvdXIgwqsgc2VxdG91Y2hlIMK7LlxuIgotIiAgICAgIC14ICBzZXF0b3VjaGU6Y29tbWFuZGUtc2hlbGxcdEVudHJhw65uZSBsJ2V4w6ljdXRpb24gZGUgbGEgwqsgY29tbWFuZGUtIgotInNoZWxsIMK7XG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgIFx0XHRcdFx0bG9yc3F1ZSDCqyBzZXF0b3VjaGUgwrsgZXN0IGVudHLDqWUuXG4iCi0iICAgICAgLWYgIG5vbWZpY2hpZXIgICAgICAgTGl0IGwnYXNzb2NpYXRpb24gZGUgdG91Y2hlcyBkZXB1aXMgbGUgZmljaGllci5cbiIKLSIgICAgICAtcSAgbm9tLWZvbmN0aW9uICAgUGVybWV0IGRlIHNhdm9pciBxdWVsbGVzIHRvdWNoZXMgYXBwZWxsZW50IGxhICIKLSJmb25jdGlvbi5cbiIKLSIgICAgICAtdSAgbm9tLWZvbmN0aW9uICAgRW5sw6h2ZSB0b3V0ZXMgbGVzIGFzc29jaWF0aW9ucyBkZSB0b3VjaGVzIGxpw6llIMOgIGxhICIKLSJmb25jdGlvbi5cbiIKLSIgICAgICAtViAgICAgICAgICAgICAgICAgQWZmaWNoZSBsZXMgbm9tcyBldCB2YWxldXJzIGRlcyB2YXJpYWJsZXNcbiIKLSIgICAgICAtdiAgICAgICAgICAgICAgICAgQWZmaWNoZSBsZXMgbm9tcyBldCB2YWxldXJzIGRlcyB2YXJpYWJsZXMgZGFucyB1bmUgIgotImZvcm1lIHF1aSBwZXV0XG4iCi0iICAgICAgICAgICAgICAgICAgICAgICAgIMOqdHJlIHLDqXV0aWxpc8OpZSBjb21tZSBlbnRyw6llLlxuIgogIiAgICAgIC1TICAgICAgICAgICAgICAgICBBZmZpY2hlIGxlcyBzw6lxdWVuY2VzIGRlIHRvdWNoZXMgcXVpIGludm9xdWVudCBkZXMgIgogIm1hY3JvcyxcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgZXQgbGV1cnMgdmFsZXVycy5cbiIKICIgICAgICAtcyAgICAgICAgICAgICAgICAgQWZmaWNoZSBsZXMgc8OpcXVlbmNlcyBkZSB0b3VjaGVzIHF1aSBpbnZvcXVlbnQgZGVzICIKICJtYWNyb3MsXG4iCiAiICAgICAgICAgICAgICAgICAgICAgICAgIGV0IGxldXJzIHZhbGV1cnMgc291cyB1bmUgZm9ybWUgcXVpIHBldXQgw6p0cmUgIgotInV0aWxpc8OpZSBjb21tZSBlbnRyw6llLiIKKyJ1dGlsaXPDqWUgY29tbWUgZW50csOpZS4gICAgICAtciAgc2VxdG91Y2hlICAgICAgICAgRW5sw6h2ZSBsJ2Fzc29jaWF0aW9uIHBvdXIgwqsgIgorInNlcXRvdWNoZSDCuy5cbiIKKyIgICAgICAtViAgICAgICAgICAgICAgICAgQWZmaWNoZSBsZXMgbm9tcyBldCB2YWxldXJzIGRlcyB2YXJpYWJsZXNcbiIKKyIgICAgICAtdiAgICAgICAgICAgICAgICAgQWZmaWNoZSBsZXMgbm9tcyBldCB2YWxldXJzIGRlcyB2YXJpYWJsZXMgZGFucyB1bmUgIgorImZvcm1lIHF1aSBwZXV0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIMOqdHJlIHLDqXV0aWxpc8OpZSBjb21tZSBlbnRyw6llLlxuIgorIiAgICAgIC1xICBub20tZm9uY3Rpb24gICBQZXJtZXQgZGUgc2F2b2lyIHF1ZWxsZXMgdG91Y2hlcyBhcHBlbGxlbnQgbGEgIgorImZvbmN0aW9uLlxuIgorIiAgICAgIC11ICBub20tZm9uY3Rpb24gICBFbmzDqHZlIHRvdXRlcyBsZXMgYXNzb2NpYXRpb25zIGRlIHRvdWNoZXMgbGnDqWUgw6AgbGEgIgorImZvbmN0aW9uLlxuIgorIiAgICAgIC1yICBzZXF0b3VjaGVzICAgICAgICAgU3VwcHJpbWUgbCdhc3NvY2lhdGlvbiBwb3VyIFNFUVRPVUNIRVMuXG4iCisiICAgICAgLWYgIG5vbWZpY2hpZXIgICAgICAgTGl0IGwnYXNzb2NpYXRpb24gZGUgdG91Y2hlcyBkZXB1aXMgTk9NRklDSElFUi5cbiIKKyIgICAgICAteCAgc2VxdG91Y2hlOmNvbW1hbmRlLXNoZWxsXHRFbnRyYcOubmUgbCdleMOpY3V0aW9uIGRlIGxhIGNvbW1hbmRlLSIKKyJzaGVsbFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBcdFx0XHRcdGxvcnNxdWUgwqsgc2VxdG91Y2hlIMK7IGVzdCBlbnRyw6llLlxuIgorIiAgICAgIFxuIgorIiAgICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgICDCqyBiaW5kIMK7IHJlbnZvaWUgMCDDoCBtb2lucyBxdSd1bmUgb3B0aW9uIG5vbiByZWNvbm51ZSBuZSBzb2l0IGRvbm7DqWUgb3UgIgorInF1J3VuZSBlcnJldXIgbmUgc3Vydmllbm5lLiIKIAogIzogYnVpbHRpbnMuYzozMjYKLSMsIGZ1enp5CiBtc2dpZCAiIgogIkV4aXQgZm9yLCB3aGlsZSwgb3IgdW50aWwgbG9vcHMuXG4iCiAiICAgIFxuIgpAQCAtMjQ4OCwxMiArMjUyOSwxNiBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgVGhlIGV4aXQgc3RhdHVzIGlzIDAgdW5sZXNzIE4gaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLiIKIG1zZ3N0ciAiIgotIlJlcHJlbmQgbCdleMOpY3V0aW9uIMOgIGxhIHByb2NoYWluZSBib3VjbGUgRk9SLCBXSElMRSBvdSBVTlRJTCBkZSBuaXZlYXUgIgotInN1cMOpcmlldXIuXG4iCi0iICAgIFNpIE4gZXN0IHByw6ljaXPDqSwgcmVwcmVuZCDDoCBOLWnDqG1lIGJvdWNsZSBzdXDDqXJpZXVyZS4iCisiU29ydCBkZXMgYm91Y2xlcyBmb3IsIHdoaWxlLCBvdSB1bnRpbC5cbiIKKyIgICAgXG4iCisiICAgIFNvcnQgZCd1bmUgYm91Y2xlIEZPUiwgV0hJTEUgb3UgVU5USUwuICBTaSBOIGVzdCBzcMOpY2lmacOpLCBzb3J0IGRlIE4gIgorImJvdWNsZXNcbiIKKyIgICAgaW1icmlxdcOpZXMuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHJldG91ciA6XG4iCisiICAgIExlIGNvZGUgZGUgcmV0b3VyIGVzdCAwIMOgIG1vaW5zIHF1ZSBOIG5lIHNvaXQgcGFzIHN1cMOpcmlldXIgb3Ugw6lnYWwgw6AgMS4iCiAKICM6IGJ1aWx0aW5zLmM6MzM4Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJSZXN1bWUgZm9yLCB3aGlsZSwgb3IgdW50aWwgbG9vcHMuXG4iCiAiICAgIFxuIgpAQCAtMjUwMyw5ICsyNTQ4LDE0IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBUaGUgZXhpdCBzdGF0dXMgaXMgMCB1bmxlc3MgTiBpcyBub3QgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIgogbXNnc3RyICIiCi0iUmVwcmVuZCBsJ2V4w6ljdXRpb24gw6AgbGEgcHJvY2hhaW5lIGJvdWNsZSBGT1IsIFdISUxFIG91IFVOVElMIGRlIG5pdmVhdSAiCisiUmVwcmVuZCBsJ2V4w6ljdXRpb24gZGVzIGJvdWNsZXMgZm9yLCB3aGlsZSBvdSB1bnRpbC5cbiIKKyIgICAgXG4iCisiICAgIFJlcHJlbmQgbCdpdMOpcmF0aW9uIHN1aXZhbnRlIGRlIGxhIGJvdWNsZSBGT1IsIFdISUxFIG91IFVOVElMIGRlIG5pdmVhdSAiCiAic3Vww6lyaWV1ci5cbiIKLSIgICAgU2kgTiBlc3QgcHLDqWNpc8OpLCByZXByZW5kIMOgIE4tacOobWUgYm91Y2xlIHN1cMOpcmlldXJlLiIKKyIgICAgU2kgTiBlc3QgcHLDqWNpc8OpLCByZXByZW5kIMOgIE4tacOobWUgYm91Y2xlIHN1cMOpcmlldXJlLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBMZSBjb2RlIGRlIHNvcnRpZSBlc3QgMCDDoCBtb2lucyBxdWUgTiBuZSBzb2l0IHBhcyBzdXDDqXJpZXVyIG91IMOpZ2FsZSDDoCAxLiIKIAogIzogYnVpbHRpbnMuYzozNTAKIG1zZ2lkICIiCkBAIC0yNTIwLDkgKzI1NzAsMjIgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgU0hFTEwtQlVJTFRJTiwgb3IgZmFsc2UgaWYgU0hFTEwtQlVJTFRJTiBpc1xuIgogIiAgICBub3QgYSBzaGVsbCBidWlsdGluLi4iCiBtc2dzdHIgIiIKKyJFeMOpY3V0ZSBkZXMgY29tbWFuZGVzIHNoZWxsIGludMOpZ3LDqWVzLlxuIgorIiAgICBcbiIKKyIgICAgRXjDqWN1dGUgU0hFTEwtQlVJTFRJTiBhdmVjIGxlcyBhcmd1bWVudHMgQVJHcyBzYW5zIGVmZmVjdHVlciBkZSAiCisicmVjaGVyY2hlXG4iCisiICAgIGRlIGNvbW1hbmRlLiAgQ2VjaSBlc3QgdXRpbGUgbG9yc3F1ZSB2b3VzIHNvdWhhaXRleiByZW1wbGFjZXIgdW5lICIKKyJjb21tYW5kZVxuIgorIiAgICBpbnTDqWdyw6llIHBhciB1bmUgZm9uY3Rpb24gc2hlbGwsIG1haXMgbsOpY2Vzc2l0ZSBkJ2V4w6ljdXRlciBsYSBjb21tYW5kZSAiCisiaW50w6lncsOpZVxuIgorIiAgICBkYW5zIGxhIGZvbmN0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSByZXRvdXIgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgcmV0b3VyIGRlIFNIRUxMLUJVSUxUSU4sIG91IGZhbHNlIHNpIFNIRUxMLUJVSUxUSU4gIgorIm4nZXN0XG4iCisiICAgIHBhcyB1bmUgY29tbWFuZGUgaW50w6lncsOpZS4uIgogCiAjOiBidWlsdGlucy5jOjM2NQotIywgZnV6enkKIG1zZ2lkICIiCiAiUmV0dXJuIHRoZSBjb250ZXh0IG9mIHRoZSBjdXJyZW50IHN1YnJvdXRpbmUgY2FsbC5cbiIKICIgICAgXG4iCkBAIC0yNTQ2LDcgKzI2MDksMTIgQEAKICIgICAgXG4iCiAiICAgIExhIHZhbGV1ciBkZSBFWFBSIGluZGlxdWUgbGUgbm9tYnJlIGRlIGNhZHJlcyBkJ2FwcGVscyBkdXF1ZWwgaWwgZmF1dCAiCiAicmV2ZW5pciBlbiBhcnJpw6hyZVxuIgotIiAgICBhdmFudCBsZSBjYWRyZSBhY3R1ZWwgOyBsZSBjYWRyZSBzdXDDqXJpZXVyIGVzdCBsZSBjYWRyZSAwLiIKKyIgICAgYXZhbnQgbGUgY2FkcmUgYWN0dWVsIDsgbGUgY2FkcmUgc3Vww6lyaWV1ciBlc3QgbGUgY2FkcmUgMC5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSAwIMOgIG1vaW5zIHF1ZSBsZSBzaGVsbCBuZSBzb2l0IHBhcyBlbiB0cmFpbiBkJ2V4w6ljdXRlciB1bmUgIgorImZvbmN0aW9uIG91IHF1ZSBFWFBSXG4iCisiICAgIG5lIHNvaXQgcGFzIHZhbGFibGUuIgogCiAjOiBidWlsdGlucy5jOjM4MwogIywgZnV6enkKQEAgLTI1NzUsMzMgKzI2NDMsNDggQEAKICIgICAgICAgIC1MXHRmb3JjZSBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZFxuIgogIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgogIiAgICBcdGxpbmtzXG4iCisiICAgICAgICAtZVx0aWYgdGhlIC1QIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iCisiICAgIFx0Y2Fubm90IGJlIGRldGVybWluZWQgc3VjY2Vzc2Z1bGx5LCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXNcbiIKICIgICAgXG4iCiAiICAgIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkOyBub24temVybyBvdGhlcndpc2UuIgorIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5ICIKKyJ3aGVuXG4iCisiICAgIC1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKLSJDaGFuZ2UgbGUgcsOpcGVydG9pcmUgYWN0dWVsIHZlcnMgRElSLiAgTGEgdmFyaWFibGUgwqsgJEhPTUUgwrsgZXN0IGxlICIKKyJDaGFuZ2UgbGUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBkdSBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIENoYW5nZSBsZSByw6lwZXJ0b2lyZSBhY3R1ZWwgdmVycyBESVIuICBMYSB2YXJpYWJsZSDCqyAkSE9NRSDCuyBlc3QgbGUgIgogInLDqXBlcnRvaXJlXG4iCi0iICAgIERJUiBwYXIgZMOpZmF1dC4gIExhIHZhcmlhYmxlIENEUEFUSCBkw6lmaW5pdCBsZSBjaGVtaW4gZGUgcmVjaGVyY2hlXG4iCi0iICAgIGR1IHLDqXBlcnRvaXJlIGNvbnRlbmFudCBESVIuIExlcyBub21zIGRlIHLDqXBlcnRvaXJlcyBhbHRlcm5hdGlmcyBkYW5zICIKLSJDRFBBVEhcbiIKLSIgICAgc29udCBzw6lwYXLDqXMgcGFyIHVuIGRldXgtcG9pbnQgwqsgOiDCuy4gIFVuIG5vbSBkZSByw6lwZXJ0b2lyZSB2aWRlIGVzdCAiCi0iaWRlbnRpcXVlXG4iCi0iICAgIGF1IHLDqXBlcnRvaXJlIGFjdHVlbCwgY8OgZCDCqyAuIMK7LiAgU2kgRElSIGNvbW1lbmNlIGF2ZWMgdW5lIGJhcnJlIG9ibGlxdWUgIgotIsKrIC8gwrssXG4iCi0iICAgIGFsb3JzIENEUEFUSCBuJ2VzdCBwYXMgdXRpbGlzw6kuICBTaSBsZSByw6lwZXJ0b2lyZSBuJ2VzdCBwYXMgdHJvdXbDqSBldCAiCi0icXVlXG4iCi0iICAgIGwnb3B0aW9uIMKrIGNkYWJsZV92YXJzIMK7IGR1IHNoZWxsIGVzdCBkw6lmaW5pZSwgYWxvcnMgbGUgbW90IGVzdCBlc3NhecOpICIKLSJjb21tZSBub21cbiIKLSIgICAgZGUgdmFyaWFibGUuIFNpIGxhIHZhcmlhYmxlIHBvc3PDqGRlIHVuZSB2YWxldXIsIGFsb3JzIG9uIGZhaXQgwqsgY2QgwrsgIgotInZlcnMgY2V0dGUgdmFsZXVyLlxuIgotIiAgICBMJ29wdGlvbiDCqyAtUCDCuyBpbmRpcXVlIGQndXRpbGlzZXIgbGEgc3RydWN0dXJlIHBoeXNpcXVlIGRlcyByw6lwZXJ0b2lyZXMgIgotInBsdXTDtHQgcXVlXG4iCi0iICAgIGxlcyBsaWVucyBzeW1ib2xpcXVlcyA7IGwnb3B0aW9uIMKrIC1MIMK7IGZvcmNlIGxlIHN1aXZpIGRlcyBsaWVucyAiCi0ic3ltYm9saXF1ZXMuIgorIiAgICBESVIgcGFyIGTDqWZhdXQuXG4iCisiICAgIFxuIgorIiAgICBMYSB2YXJpYWJsZSBDRFBBVEggZMOpZmluaXQgbGUgY2hlbWluIGRlIHJlY2hlcmNoZSBkdSByw6lwZXJ0b2lyZSAiCisiY29udGVuYW50XG4iCisiICAgIERJUi4gTGVzIG5vbXMgZGUgcsOpcGVydG9pcmVzIGFsdGVybmF0aWZzIGRhbnMgQ0RQQVRIIHNvbnQgc8OpcGFyw6lzIHBhciB1biAiCisiZGV1eC1wb2ludCDCqyA6IMK7LlxuIgorIiAgICBVbiBub20gZGUgcsOpcGVydG9pcmUgdmlkZSBlc3QgaWRlbnRpcXVlIGF1IHLDqXBlcnRvaXJlIGFjdHVlbC4gIFNpIERJUiAiCisiY29tbWVuY2VcbiIKKyIgICAgYXZlYyB1bmUgYmFycmUgb2JsaXF1ZSDCqyAvIMK7LCBhbG9ycyBDRFBBVEggbidlc3QgcGFzIHV0aWxpc8OpLlxuIgorIiAgICBcbiIKKyIgICAgU2kgbGUgcsOpcGVydG9pcmUgbidlc3QgcGFzIHRyb3V2w6kgZXQgcXVlIGwnb3B0aW9uIMKrIGNkYWJsZV92YXJzIMK7IGR1ICIKKyJzaGVsbCBlc3QgZMOpZmluaWUsXG4iCisiICAgIGFsb3JzIGxlIG1vdCBlc3QgZXNzYXnDqSBjb21tZSBub20gZGUgdmFyaWFibGUuIFNpIGxhIHZhcmlhYmxlIHBvc3PDqGRlICIKKyJ1bmUgdmFsZXVyLFxuIgorIiAgICBhbG9ycyBjZXR0ZSB2YWxldXIgZXN0IHV0aWxpc8OpZSBwb3VyIERJUi5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnMgOlxuIgorIiAgICAgICAgLUxcdGZvcmNlciBsZSBzdWl2aSBkZXMgbGllbnMgc3ltYm9saXF1ZXMuICAgICAgICAtUFx0dXRpbGlzZXIgbGEgIgorInN0cnVjdHVyZSBwaHlzaXF1ZSBkZXMgcsOpcGVydG9pcmVzIHNhbnMgc3VpdnJlXG4iCisiICAgIGxlcyBsaWVucyBzeW1ib2xpcXVlc1xuIgorIiAgICBcbiIKKyIgICAgTGUgY29tcG9ydGVtZW50IHBhciBkw6lmYXV0IGVzdCBkZSBzdWl2cmUgbGVzIGxpZW5zIHN5bWJvbGlxdWVzLCBjb21tZSBzaSAiCisiwqsgLWYgwrsgw6l0YWl0IHByw6ljaXPDqS5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSAwIHNpIGxlIHLDqXBlcnRvaXJlIGVzdCBjaGFuZ8OpLCBzaW5vbiBhdXRyZSBjaG9zZSBxdWUgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNjE2LDkgKzI2OTksMjIgQEAKICIgICAgUmV0dXJucyAwIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiIKICIgICAgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCisiQWZmaWNoZSBsZSBub20gZHUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBjb3VyYW50LlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLUxcdGFmZmljaGUgbGEgdmFsZXVyIGRlICRQV0QgcydpbCBub21tZSBsZSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsICIKKyJjb3VyYW50XG4iCisiICAgIFx0XG4iCisiICAgICAgLVBcdGFmZmljaGUgbGUgcsOpcGVydG9pcmUgcGh5c2lxdWUsIHNhbnMgYXVjdW4gbGllbiBzeW1ib2xpcXVlXG4iCisiICAgIFxuIgorIiAgICBQYXIgZMOpZmF1dCwgwqsgcHdkIMK7IHNlIGNvbXBvcnRlIGNvbW1lIHNpIMKrIC1MIMK7IMOpdGFpdCBzcMOpY2lmacOpLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSByZXRvdXIgOlxuIgorIiAgICBSZW52b2llIDAgw6AgbW9pbnMgcXUndW5lIG9wdGlvbiBub24gdmFsYWJsZSBuZSBzb2l0IGRvbm7DqWUgb3UgcXVlIGxlICIKKyJyw6lwZXJ0b2lyZVxuIgorIiAgICBjb3VyYW50IG5lIHBldXQgcGFzIMOqdHJlIGx1LiIKIAotIzogYnVpbHRpbnMuYzo0MjgKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjQzMQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjYyNywyNiArMjcyMywzOCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgotIlNhbnMgZWZmZXQgOiBsYSBjb21tYW5kZSBuZSBmYWl0IHJpZW4uIExlIGNvZGUgZGUgc29ydGllIHrDqXJvIGVzdCByZW52b3nDqS4iCisiQ29tbWFuZGUgdmlkZS5cbiIKKyIgICAgXG4iCisiICAgIFNhbnMgZWZmZXQgOiBsYSBjb21tYW5kZSBuZSBmYWl0IHJpZW4uXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHJldG91ciA6XG4iCisiICAgIFJlbnZvaWUgdG91am91cnMgbGUgY29kZSBkZSBzdWNjw6hzLiIKIAotIzogYnVpbHRpbnMuYzo0MzkKKyM6IGJ1aWx0aW5zLmM6NDQyCiBtc2dpZCAiIgogIlJldHVybiBhIHN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKKyJSZW52b2llIHVuIHLDqXN1bHRhdCBkZSBzdWNjw6hzLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSByZXRvdXIgOlxuIgorIiAgICBTdWNjw6hzLiIKIAotIzogYnVpbHRpbnMuYzo0NDgKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjQ1MQogbXNnaWQgIiIKICJSZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBBbHdheXMgZmFpbHMuIgotbXNnc3RyICJSZW52b2llIHVuIHLDqXN1bHRhdCBkJ8OpY2hlYyIKK21zZ3N0ciAiIgorIlJlbnZvaWUgdW4gcsOpc3VsdGF0IGQnw6ljaGVjLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBUb3Vqb3VycyBsJ8OpY2hlYy4iCiAKLSM6IGJ1aWx0aW5zLmM6NDU3CisjOiBidWlsdGlucy5jOjQ2MAogbXNnaWQgIiIKICJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNjY0LDggKzI3NzIsMjcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgQ09NTUFORCwgb3IgZmFpbHVyZSBpZiBDT01NQU5EIGlzIG5vdCBmb3VuZC4iCiBtc2dzdHIgIiIKKyJFeMOpY3V0ZSB1bmUgc2ltcGxlIGNvbW1hbmRlIG91IGFmZmljaGUgZGVzIGluZm9ybWF0aW9ucyBzdXIgbGVzIGNvbW1hbmRlcy5cbiIKKyIgICAgXG4iCisiICAgIExhbmNlIGxhIENPTU1BTkRFIGF2ZWMgZGVzIEFSR1MgZW4gY291cnQtY2lyY3VpdGFudCBsYSByZWNoZXJjaGUgZGUgIgorImNvbW1hbmRlLCBvdSBhZmZpY2hlXG4iCisiICAgIGRlcyBpbmZvcm1hdGlvbnMgc3VyIGxlcyBDT01NQU5ERXMgc3DDqWNpZmnDqWVzLiAgQ2VjaSBwZXV0IMOqdHJlIHV0aWxpc8OpICIKKyJwb3VyIGludm9xdWVyIGRlcyBjb21tYW5kZXNcbiIKKyIgICAgc3VyIGxlIGRpc3F1ZSBsb3JzcXUnaWwgeSBhIGNvbmZsaXQgYXZlYyB1bmUgZm9uY3Rpb24gcG9ydGFudCBsZSBtw6ptZSAiCisibm9tLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLXBcdHV0aWxpc2UgdW5lIHZhbGV1ciBwYXIgZMOpZmF1dCBwb3VyIENIRU1JTiBxdWkgZ2FyYW50aXQgZGUgdHJvdXZlclxuIgorIiAgICBcdHRvdXMgbGVzIHV0aWxpdGFpcmVzIHN0YW5kYXJkc1xuIgorIiAgICAgIC12XHRhZmZpY2hlIHVuZSBkZXNjcmlwdGlvbiBkZSBsYSBDT01NQU5ERSBzaW1pbGFpcmUgw6AgbGEgY29tbWFuZGUgIgorImludMOpZ3LDqWUgwqsgdHlwZSDCu1xuIgorIiAgICAgIC1WXHRhZmZpY2hlIHVuZSBkZXNjcmlwdGlvbiBwbHVzIGTDqXRhaWxsw6llcyBkZSBjaGFxdWUgQ09NTUFOREVcbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgcmV0b3VyIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHNvcnRpZSBkZSBsYSBDT01NQU5ERSwgb3UgbGUgY29kZSBkJ8OpY2hlYyBzaSBsYSAiCisiQ09NTUFOREUgZXN0IGludHJvdXZhYmxlLiIKIAotIzogYnVpbHRpbnMuYzo0NzYKKyM6IGJ1aWx0aW5zLmM6NDc5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgpAQCAtMjY3Nyw2ICsyODA0LDggQEAKICIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCiAiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKICIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKICIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgpAQCAtMjY5Niw0OCArMjgyNSw2MSBAQAogIiAgICBcbiIKICIgICAgV2hlbiB1c2VkIGluIGEgZnVuY3Rpb24sIGBkZWNsYXJlJyBtYWtlcyBOQU1FcyBsb2NhbCwgYXMgd2l0aCB0aGUgIgogImBsb2NhbCdcbiIKLSIgICAgY29tbWFuZC5cbiIKKyIgICAgY29tbWFuZC4gIFRoZSBgLWcnIG9wdGlvbiBzdXBwcmVzc2VzIHRoaXMgYmVoYXZpb3IuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0iRMOpY2xhcmUgZGVzIHZhcmlhYmxlcyBvdSBham91dGUgZGVzIGF0dHJpYnV0cyBhdXggdmFyaWFibGVzLiAgU2kgYXVjdW4gbm9tXG4iCi0iICAgIG4nZXN0IGRvbm7DqSwgYWZmaWNoZSBwbHV0w7R0IGxlcyB2YWxldXJzIGRlcyB2YXJpYWJsZXMuICBMJ29wdGlvbiDCqyAtcCDCu1xuIgotIiAgICBwZXJtZXQgZCdhZmZpY2hlciBsZXMgYXR0cmlidXRzIGV0IGxlcyB2YWxldXJzIGRlIGNoYXF1ZSBOQU1FLlxuIgorIkTDqWZpbml0IGxlcyB2YWxldXJzIGV0IGxlcyBhdHRyaWJ1dHMgZGVzIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCi0iICAgIExlcyBvcHRpb25zIHNvbnQgOlxuIgorIiAgICBQZXJtZXQgZGUgZMOpY2xhcmVyIGRlcyB2YXJpYWJsZXMgZXQgZGUgbGV1ciBkb25uZXIgZGVzIGF0dHJpYnV0cy4gIFNpICIKKyJhdWN1biBOT00gbidlc3QgZG9ubsOpLFxuIgorIiAgICBhZmZpY2hlIGxlcyBhdHRyaWJ1dHMgZXQgbGVzIHZhbGV1cnMgZGUgdG91dGVzIGxlcyB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgotIiAgICAgIC1hXHRwb3VyIGZhaXJlIGRlcyB0YWJsZWF1eCBkZSBOQU1FIChzaSBwcmlzIGVuIGNoYXJnZSlcbiIKLSIgICAgICAtZlx0cG91ciBjaG9pc2lyIHVuaXF1ZW1lbnQgcGFybWkgbGVzIG5vbXMgZGUgZm9uY3Rpb25zXG4iCi0iICAgICAgLUZcdHBvdXIgYWZmaWNoZXIgbGVzIG5vbXMgZGUgZm9uY3Rpb25zIChldCBsZXMgbnVtw6lyb3MgZGUgbGlnbmUgZXQgIgotImxlXG4iCi0iICAgICAgIFx0ZmljaGllciBzb3VyY2Ugc2kgbGUgbW9kZSBkZSBkw6lib2dhZ2UgZXN0IGFjdGl2w6lcbiIKLSIgICAgICAtaVx0cG91ciBxdWUgbGVzIE5BTUUgYWllbnQgbCdhdHRyaWJ1dCDCqyBpbnRlZ2VyIMK7XG4iCi0iICAgICAgLXJcdHBvdXIgcXVlIGxlcyBOQU1FIHNvaWVudCBlbiBsZWN0dXJlIHNldWxlXG4iCi0iICAgICAgLXRcdHBvdXIgcXVlIGxlcyBOQU1FIGFpZW50IGwnYXR0cmlidXQgwqsgdHJhY2UgwrtcbiIKLSIgICAgICAteFx0cG91ciBmYWlyZSB1biBleHBvcnQgZGVzIE5BTUVcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLWZcdHJlc3RyZWludCBsJ2FjdGlvbiBvdSBsJ2FmZmljaGFnZSBhdXggbm9tcyBldCBkw6lmaW5pdGlvbnMgZGUgIgorImZvbmN0aW9uc1xuIgorIiAgICAgIC1GXHRyZXN0cmVpbnQgbCdhZmZpY2hhZ2UgYXV4IG5vbXMgZGVzIGZvbmN0aW9ucyB1bmlxdWVtZW50IChhdmVjIGxlICIKKyJudW3DqXJvIGRlIGxpZ25lXG4iCisiICAgIFx0ZXQgbGUgZmljaGllciBzb3VyY2UgbG9ycyBkdSBkw6lib2dhZ2UpXG4iCisiICAgICAgLXBcdGFmZmljaGUgbGVzIGF0dHJpYnV0cyBldCBsYSB2YWxldXIgZGUgY2hhcXVlIE5PTVxuIgogIiAgICBcbiIKLSIgICAgTCfDqXZhbHVhdGlvbiBhcml0aG3DqXRpcXVlIGRlcyB2YXJpYWJsZXMgYXlhbnQgbCdhdHRyaWJ1dCDCqyBpbnRlZ2VyIMK7ICIKLSJlc3RcbiIKLSIgICAgZWZmZWN0dcOpZSBhdSBtb21lbnQgZGUgbCdhZmZlY3RhdGlvbiAodm9pciDCqyBsZXQgwrspLlxuIgorIiAgICBPcHRpb25zIHF1aSBkw6lmaW5pc3NlbnQgZGVzIGF0dHJpYnV0cyA6XG4iCisiICAgICAgLWFcdHBvdXIgZmFpcmUgZGUgTk9NcyBkZXMgdGFibGVhdXggaW5kZXjDqXMgKHNpIHByaXMgZW4gY2hhcmdlKVxuIgorIiAgICAgIC1BXHRwb3VyIGZhaXJlIGRlIE5PTXMgZGVzIHRhYmxlYXV4IGFzc29jaWF0aWZzIChzaSBwcmlzIGVuIGNoYXJnZSlcbiIKKyIgICAgICAtaVx0cG91ciBwZXJtZXR0cmUgYXV4IE5PTXMgZCdhdm9pciBsJ2F0dHJpYnV0IMKrIGludGVnZXIgwrtcbiIKKyIgICAgICAtbFx0cG91ciBjb252ZXJ0aXIgbGVzIE5PTXMgYW4gbWludXNjdWxlIGxvcnMgZGUgbCdhZmZlY3RhdGlvblxuIgorIiAgICAgIC1yXHRwb3VyIG1ldHRyZSBsZXMgTk9NcyBlbiBsZWN0dXJlIHNldWxlXG4iCisiICAgICAgLXRcdHBvdXIgcGVybWV0dHJlIGF1eCBOT01zIGQnYXZvaXIgbCdhdHRyaWJ1dCDCqyB0cmFjZSDCu1xuIgorIiAgICAgIC11XHRwb3VyIGNvbnZlcnRpciBsZXMgTk9NcyBlbiBtYWp1c2N1bGUgbG9ycyBkZSBsJ2FmZmVjdGF0aW9uXG4iCisiICAgICAgLXhcdHBvdXIgcGVybWV0dHJlIGF1eCBOT01zIGRlIHMnZXhwb3J0ZXJcbiIKICIgICAgXG4iCi0iICAgIExvcnMgZGUgbCdhZmZpY2hhZ2UgZGVzIHZhbGV1cnMgZGUgdmFyaWFibGVzLCAtZiBhZmZpY2hlIGxlIG5vbSBkZSBsYSAiCi0iZm9uY3Rpb25cbiIKLSIgICAgZXQgc2EgZMOpZmluaXRpb24uICBMJ29wdGlvbiAtRiBwZXJtZXQgZGUgbidhZmZpY2hlciBxdWUgbGUgbm9tLlxuIgorIiAgICBVdGlsaXNlciDCqyArIMK7IGF1IGxpZXUgZGUgwqsgLSDCuyBwZXJtZXQgZGUgZMOpc2FjdGl2ZXIgbCdhdHRyaWJ1dCBkb25uw6kuXG4iCiAiICAgIFxuIgotIiAgICBVbiBhdHRyaWJ1dCBwZXV0IMOqdHJlIGTDqXNhY3RpdsOpIGVuIHV0aWxpc2FudCDCqyArIMK7IGF1IGxpZXUgZGUgwqsgLSDCuy4gICIKLSJEYW5zIHVuZVxuIgotIiAgICBmb25jdGlvbiwgY2VjaSBhIHBvdXIgZWZmZXQgZGUgcmVuZHJlIGxlcyBOQU1FIGxvY2F1eCwgY29tbWUgYXZlYyBsYSAiCi0iY29tbWFuZGUgwqtsb2NhbCDCuy4iCisiICAgIExlcyB2YXJpYWJsZXMgYXZlYyBsJ2F0dHJpYnV0IMKrIGludGVnZXIgwrsgb250IHVuZSDDqXZhbHVhdGlvbiBhcml0aG3DqXRpcXVlICIKKyIodm9pclxuIgorIiAgICBsYSBjb21tYW5kZSDCqyBsZXQgwrspIGVmZmVjdHXDqWUgbG9yc3F1J3VuIHZhbGV1ciBlc3QgYWZmZWN0w6llIMOgIGxhICIKKyJ2YXJpYWJsZS5cbiIKKyIgICAgXG4iCisiICAgIExvcnNxdSd1dGlsaXPDqWUgZGFucyB1bmUgZm9uY3Rpb24sIMKrIGRlY2xhcmUgwrsgcGVybWV0IGF1eCBOT01zIGQnw6p0cmUgIgorImxvY2F1eCxcbiIKKyIgICAgY29tbWUgYXZlYyBsYSBjb21tYW5kZSDCqyBsb2NhbCDCuy5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgcmV0b3VyIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHN1Y2PDqHMgw6AgbW9pbnMgcXUndW4gb3B0aW9uIG5vbiB2YWxhYmxlIHNvaXQgZm91cm5pZSAiCisib3UgcXUndW5lIGVycmV1ciBuZSBzdXJ2aWVubmUuIgogCi0jOiBidWlsdGlucy5jOjUxMgorIzogYnVpbHRpbnMuYzo1MTcKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCiAiICAgIE9ic29sZXRlLiAgU2VlIGBoZWxwIGRlY2xhcmUnLiIKIG1zZ3N0ciAiIgorIkTDqWZpbml0IGRlcyB2YWxldXJzIG91IGRlcyBhdHRyaWJ1dHMgZGUgdmFyaWFibGVzLlxuIgorIiAgICBcbiIKKyIgICAgT2Jzb2zDqHRlLiAgRXNzYXlleiDCqyBoZWxwIGRlY2xhcmUgwrsuIgogCi0jOiBidWlsdGlucy5jOjUyMAorIzogYnVpbHRpbnMuYzo1MjUKIG1zZ2lkICIiCiAiRGVmaW5lIGxvY2FsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0yNzUxLDkgKzI4OTMsMjMgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCwgYW4gZXJyb3Igb2NjdXJzLFxuIgogIiAgICBvciB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uLiIKIG1zZ3N0ciAiIgorIkTDqWZpbml0IGRlcyB2YXJpYWJsZXMgbG9jYWxlcy5cbiIKKyIgICAgXG4iCisiICAgIENyw6llIHVuZSB2YXJpYWJsZSBsb2NhbGUgbm9tbcOpZSBOT00sIGF2ZWMgdW5lIHZhbGV1ciBWQUxFVVIuICBPUFRJT04gIgorInBldXRcbiIKKyIgICAgw6p0cmUgbidpbXBvcnRlIHF1ZWxsZSBvcHRpb24gYWNjZXB0w6llIHBhciDCqyBkZWNsYXJlIMK7LlxuIgorIiAgICBcbiIKKyIgICAgTGVzIHZhcmlhYmxlcyBsb2NhbGVzIHBldXQgc2V1bGVtZW50IMOqdHJlIHV0aWxpc8OpZSDDoCBsJ2ludMOpcmlldXIgZCd1bmUgIgorImZvbmN0aW9uOyBlbGxlcyBuZSBzb250IHZpc2libGVzXG4iCisiICAgIHF1ZSBkZXMgZm9uY3Rpb25zIG/DuSBlbGxlcyBvbnQgw6l0w6kgZMOpZmluaWVzIGV0IGRhbnMgc2VzIGZvbmN0aW9ucyAiCisiZmlsbGVzLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSByZXRvdXIgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgc3VjY8OocyDDoCBtb2lucyBxdSd1bmUgb3B0aW9uIG5vbiB2YWxhYmxlIG5lIHNvaXQgIgorImZvdXJuaWUsIHF1J3VuZSBlcnJldXIgbmUgc3Vydmllbm5lLFxuIgorIiAgICBvdSBxdWUgbCdpbnRlcHLDqHRlIG5lIHNvaXQgcGFzIGRhbnMgdW5lIGZvbmN0aW9uLiIKIAotIzogYnVpbHRpbnMuYzo1MzcKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjU0MgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yNzgzLDMwICsyOTM5LDM5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgotIkFmZmljaGUgbGVzIEFSR3MuICBTaSDCqyAtbiDCuyBlc3Qgc3DDqWNpZmnDqSwgbGUgcmV0b3VyIMOgIGxhIGxpZ25lIGZpbmFsIGV0ICIKLSJzdXBwcmltw6kuXG4iCi0iICAgIEwnb3B0aW9uIMKrIC1lIMK7IHBlcm1ldCBkJ2FjdGl2ZXIgbCdpbnRlcnByw6l0YXRpb24gZGVzIGNhcmFjdMOocmVzIMOgICIKLSJjb250cmUtb2JsaXF1ZVxuIgotIiAgICBwYXJtaSBsYSBsaXN0ZSBjaS1kZXNzb3VzIDpcbiIKLSIgICAgXHRcXGFcdGFsZXJ0ZSAoY2xvY2hlKVxuIgotIiAgICBcdFxcYlx0cmV0b3VyIGFycmnDqHJlXG4iCi0iICAgIFx0XFxjXHRzdXBwci4gZGVybmllciByZXRvdXIgw6AgbGEgbGlnbmVcbiIKLSIgICAgXHRcXEVcdGNhcmFjdMOocmUgw4ljaGFwLlxuIgotIiAgICBcdFxcZlx0c2F1dCBkZSBwYWdlXG4iCi0iICAgIFx0XFxuXHRzYXV0IGRlIGxpZ25lXG4iCi0iICAgIFx0XFxyXHRyZXRvdXIgY2hhcmlvdFxuIgotIiAgICBcdFxcdFx0dGFidWxhdGlvbiBob3Jpem9udGFsZVxuIgotIiAgICBcdFxcdlx0dGFidWxhdGlvbiB2ZXJ0aWNhbGVcbiIKLSIgICAgXHRcXFxcXHRiYXJyZSBjb250cmUtb2JsaXF1ZVxuIgotIiAgICBcdFxcMG5ublx0bGUgY2FyYWN0w6hyZSBkb250IGxlIGNvZGUgQVNDSUkgZXN0IE5OTiAoZW4gb2N0YWwpLiAgTk5OIHBldXQgIgotIsOqdHJlXG4iCi0iICAgIFx0XHRsb25nIGRlIDAgw6AgMyBjaGlmZnJlcyBvY3RhdXhcbiIKKyLDiWNyaXQgbGVzIGFyZ3VtZW50cyBzdXIgbGEgc29ydGllIHN0YW5kYXJkLlxuIgogIiAgICBcbiIKLSIgICAgVm91cyBwb3V2ZXogZMOpc2FjdGl2ZXIgZGUgbWFuacOocmUgZXhwbGljaXRlIGwnaW50ZXJwcsOpdGF0aW9uIGRlcyAiCi0iY2FyYWN0w6hyZXMgY2ktZGVzc3VzXG4iCi0iICAgIGF2ZWMgbCdvcHRpb24gwqsgLUUgwrsuIgorIiAgICBBZmZpY2hlIGxlcyBBUkdzIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmQsIHN1aXZpcyBkJ3VuIHJldG91ciDDoCBsYSBsaWduZS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnMgOlxuIgorIiAgICAgIC1uXHRuZSBwYXMgYWpvdXRlciBkZSBzYXV0IGRlIGxpZ25lXG4iCisiICAgICAgLWVcdGFjdGl2ZSBsJ2ludGVycHJldGF0aW9uIGRlcyBiYXJyZXMgY29udHJlLW9ibGlxdWVzIGQnw6ljaGFwcGVtZW50ICIKKyJjaS1kZXNzb3VzXG4iCisiICAgICAgLUVcdHN1cHByaW1lIGV4cGxpY2l0ZW1lbnQgbCdpbnRlcnByZXRhdGlvbiBkZXMgYmFycmVzIGNvbnRyZS1vYmxpcXVlcyAiCisiZCfDqWNoYXBwZW1lbnRcbiIKKyIgICAgXG4iCisiICAgIMKrIGVjaG8gwrsgaW50ZXJwcsOodGUgbGVzIGNhcmFjdMOocmVzIHN1aXZhbnRzIGNvbW1lIGRlcyBzw6lxdWVuY2VzICIKKyJkJ8OpY2hhcHBlbWVudCA6XG4iCisiICAgICAgXFxhXHRhbGVydGUgKGNsb2NoZSlcbiIKKyIgICAgICBcXGJcdHJldG91ciBhcnJpw6hyZVxuIgorIiAgICAgIFxcY1x0c3VwcHJpbWUgY2FyYWN0w6hyZSBzdWl2YW50XG4iCisiICAgICAgXFxlXHRjYXJhY3TDqHJlIMOJY2hhcC5cbiIKKyIgICAgICBcXGZcdHNhdXQgZGUgcGFnZVxuIgorIiAgICAgIFxcblx0c2F1dCBkZSBsaWduZVxuIgorIiAgICAgIFxcclx0cmV0b3VyIGNoYXJpb3RcbiIKKyIgICAgICBcXHRcdHRhYnVsYXRpb24gaG9yaXpvbnRhbGVcbiIKKyIgICAgICBcXHZcdHRhYnVsYXRpb24gdmVydGljYWxlXG4iCisiICAgICAgXFxcXFx0YmFycmUgY29udHJlLW9ibGlxdWVcbiIKKyIgICAgICBcXDBubm5cdGxlIGNhcmFjdMOocmUgZG9udCBsZSBjb2RlIEFTQ0lJIGVzdCBOTk4gKGVuIG9jdGFsKS4gIE5OTiBwZXV0ICIKKyLDqnRyZVxuIgorIiAgICBcdGxvbmcgZGUgMCDDoCAzIGNoaWZmcmVzIG9jdGF1eFxuIgorIiAgICAgIFxceEhIXHRsZSBjYXJhY3TDqHJlIMOgIDggYml0cyBkb250IGxhIHZhbGV1ciBlc3QgSEggKGhleGFkZWNpbWFsKS4gIEhIXG4iCisiICAgIFx0cGV1dCDDqnRyZSBsb25nIGRlIDEgb3UgMiBjaGlmZnJlcyBoZXhhZMOpY2ltYXV4XG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1J3VuZSBlcnJldXIgbmUgc3Vydmllbm5lLiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI4MTgsOCArMjk4MywxNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyLDiWNyaXQgZGVzIGFyZ3VtZW50cyBzdXIgbGEgc29ydGllIHN0YW5kYXJkLlxuIgorIiAgICBcbiIKKyIgICAgQWZmaWNoZSBsZXMgQVJHcyBzdXIgbGEgc29ydGllIHN0YW5kYXJkLCBzdWl2aXMgZCd1biByZXRvdXIgw6AgbGEgbGlnbmUuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIDpcbiIKKyIgICAgICAtblx0cGFzIGRlIHJldG91ciDDoCBsYSBsaWduZVxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgc3VjY8OocyDDoCBtb2lucyBxdSd1bmUgZXJyZXVyIG5lIHN1cnZpZW5uZS4iCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjg0NSw4ICszMDE5LDM4IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGEgc2hlbGwgYnVpbHRpbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisiQWN0aXZlIGV0IGTDqXNhY3RpdmUgbGVzIGNvbW1hbmRlcyBpbnTDqWdyw6llcy5cbiIKKyIgICAgXG4iCisiICAgIEFjdGl2ZSBldCBkw6lzYWN0aXZlIGxlcyBjb21tYW5kZXMgaW50w6lncsOpZXMgZHUgc2hlbGwuICBMZXMgZMOpc2FjdGl2ZXIgIgorInZvdXMgcGVybWV0XG4iCisiICAgIGQnZXjDqWN1dGVyIHVuZSBjb21tYW5kZSBkdSBkaXNxdWUgYXlhbnQgbGUgbcOqbWUgbm9tIHF1J3VuZSBjb21tYW5kZSBkdSAiCisic2hlbGxcbiIKKyIgICAgc2FucyB1dGlsaXNlciBsZSBjaGVtaW4gY29tcGxlciB2ZXJzIGxlIGZpY2hpZXIuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIDpcbiIKKyIgICAgICAtYVx0YWZmaWNoZSBsYSBsaXN0ZSBkZXMgY29tbWFuZGVzIGludMOpZ3LDqWVzIGV0IGxldXIgw6l0YXQgIgorImQnYWN0aXZhdGlvblxuIgorIiAgICAgIC1uXHRkw6lzYWN0aXZlIGNoYXF1ZSBOT00gb3UgYWZmaWNoZSBsYSBsaXN0ZSBkZXMgY29tbWFuZGVzICIKKyJkw6lzYWN0aXbDqWVzXG4iCisiICAgICAgLXBcdGFmZmljaGUgbGEgbGlzdGUgZGVzIGNvbW1hbmRlcyBkYW5zIHVuIGZvcm1hdCByw6l1dGlsaXNhYmxlXG4iCisiICAgICAgLXNcdGFmZmljaGUgc2V1bGVtZW50IGxlcyBub21zIGRlcyBjb21tYW5kZXMgUG9zaXggZGUgdHlwZSDCqyBzcGVjaWFsIMK7XG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIGNvbnRyw7RsYW50IGxlIGNoYXJnZW1lbnQgZHluYW1pcXVlIDpcbiIKKyIgICAgICAtZlx0Q2hhcmdlIGxhIGNvbW1hbmRlIGludMOpZ3LDqWUgTk9NIGRlcHVpcyBsYSBiaWJsaW90aMOocXVlIHBhcnRhZ8OpZSAiCisiRklMRU5BTUVcbiIKKyIgICAgICAtZFx0RMOpY2hhcmdlIHVuZSBjb21tYW5kZSBjaGFyZ8OpZSBhdmVjIMKrIC1mIMK7XG4iCisiICAgIFxuIgorIiAgICBTJ2lsIG4neSBhIHBhcyBkJ29wdGlvbiwgY2hhcXVlIGNvbW1hbmRlIE5PTSBlc3QgYWN0aXbDqWUuXG4iCisiICAgIFxuIgorIiAgICBQb3VyIHV0aWxpc2VyIGxlIMKrIHRlc3QgwrsgdHJvdXbDqSBkYW5zICRQQVRIIGF1IGxpZXUgZGUgY2VsdWkgaW50w6lncsOpIGF1ICIKKyJzaGVsbCxcbiIKKyIgICAgdGFwZXogwqsgZW5hYmxlIC1uIHRlc3QgwrsuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1ZSBOT00gbmUgc29pdCBwYXMgdW5lIGNvbW1hbmRlICIKKyJpbnTDqWdyw6llIG91IHF1J3VuZSBlcnJldXIgbmUgc3Vydmllbm5lLiIKIAotIzogYnVpbHRpbnMuYzo2MTQKKyM6IGJ1aWx0aW5zLmM6NjE5CiBtc2dpZCAiIgogIkV4ZWN1dGUgYXJndW1lbnRzIGFzIGEgc2hlbGwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yODU3LDkgKzMwNjEsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgY29tbWFuZCBvciBzdWNjZXNzIGlmIGNvbW1hbmQgaXMgbnVsbC4iCiBtc2dzdHIgIiIKKyJFeMOpY3V0ZSBkZXMgYXJndW1lbnRzIGNvbW1lIHMnaWxzIMOpdGFpZW50IHVuZSBjb21tYW5kZSBkdSBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIENvbWJpbmUgZGVzIEFSR3MgZW4gdW5lIGNoYcOubmUgdW5pcXVlLCB1dGlsaXNlIGxlIHLDqXN1bHRhdCBjb21tZSBlbnRyw6llICIKKyJkdSBzaGVsbCxcbiIKKyIgICAgcHVpcyBleMOpY3V0ZSBsYSBjb21tYW5kZSByw6lzdWx0YW50ZS5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSBsZSBtw6ptZSBjb2RlIGRlIHNvcnRpZSBxdWUgbGEgY29tbWFuZGUsIG91IGxlIGNvZGUgZGUgc3VjY8OocyBzaSAiCisibGEgY29tbWFuZGUgZXN0IHZpZGUuIgogCi0jOiBidWlsdGlucy5jOjYyNgotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMjg5OSw3ICszMTExLDkgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIGlmIGFuIG9wdGlvbiBpcyBmb3VuZDsgZmFpbHMgaWYgdGhlIGVuZCBvZiBvcHRpb25zIGlzXG4iCiAiICAgIGVuY291bnRlcmVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSLCqyBnZXRvcHRzIMK7IGVzdCB1dGlsaXPDqSBwYXIgbGVzIHByb2PDqWR1cmVzIGR1IHNoZWxsIHBvdXIgYW5hbHlzZXIgbGVzIFxuIgorIkFuYWx5c2UgbGVzIG9wdGlvbnMgZW4gYXJndW1lbnRzLlxuIgorIiAgICBcbiIKKyIgICAgwqsgZ2V0b3B0cyDCuyBlc3QgdXRpbGlzw6kgcGFyIGxlcyBwcm9jw6lkdXJlcyBkdSBzaGVsbCBwb3VyIGFuYWx5c2VyIGxlcyBcbiIKICIgICAgcGFyYW3DqHRyZXMgZGUgcG9zaXRpb24uXG4iCiAiICAgIFxuIgogIiAgICBPUFRTVFJJTkcgY29udGllbnQgbGVzIGxldHRyZXMgZCdvcHRpb25zIHF1aSBkZXZyb250IMOqdHJlIHJlY29ubnVlcyA7XG4iCkBAIC0yOTA3LDggKzMxMjEsOCBAQAogIiAgICBhcmd1bWVudCBzw6lwYXLDqSBkJ2VsbGUgcGFyIHVuZSBlc3BhY2UuXG4iCiAiICAgIFxuIgogIiAgICDDgCBjaGFxdWUgZm9pcyBxdSdlbGxlIGVzdCBhcHBlbMOpZSwgwqsgZ2V0b3B0cyDCuyBwbGFjZSBsJ29wdGlvbiBzdWl2YW50ZVxuIgotIiAgICBkYW5zIGxhIHZhcmlhYmxlIGRlIHNoZWxsIMKrICRub20gwrssIGVuIGluaXRpYWxpc2FudCDCqyBub20gwrsgc2kgZWxsZSAiCi0ibidleGlzdGUgcGFzLFxuIgorIiAgICBkYW5zIGxhIHZhcmlhYmxlIGRlIHNoZWxsIMKrICRub20gwrssIGVuIGwnaW5pdGlhbGlzYW50IHNpIGVsbGUgbidleGlzdGUgIgorInBhcyxcbiIKICIgICAgZXQgcGxhY2UgbCdpbmRleCBkZSBsJ2FyZ3VtZW50IHN1aXZhbnQgZGFucyBsYSB2YXJpYWJsZSBkZSBzaGVsbCAiCiAiT1BUSU5ELlxuIgogIiAgICBPUFRJTkQgZXN0IGluaXRpYWxpc8OpIMOgIDEgw6AgY2hhcXVlIGZvaXMgcXVlIGxlIHNoZWxsIG91IHF1J3VuIHNjcmlwdCAiCkBAIC0yOTI3LDggKzMxNDEsOCBAQAogImQnb3B0aW9uXG4iCiAiICAgIHRyb3V2w6kuIFNpIHVuIGFyZ3VtZW50IG7DqWNlc3NhaXJlIG4nZXN0IHBhcyB0cm91dsOpLCDCqyBnZXRvcHRzIMK7IHBsYWNlIHVuICIKICLCqyA6IMK7XG4iCi0iICAgIGRhbnMgTkFNRSBldCBwbGFjZSBkYW5zIE9QVEFSRyBsZSBjYXJhY3TDqHJlIGQnb3B0aW9uIHRyb3V2w6kuICBTaSDCqyAiCi0iZ2V0b3B0cyDCu1xuIgorIiAgICBkYW5zIE5PTSBldCBwbGFjZSBkYW5zIE9QVEFSRyBsZSBjYXJhY3TDqHJlIGQnb3B0aW9uIHRyb3V2w6kuICBTaSDCqyBnZXRvcHRzICIKKyLCu1xuIgogIiAgICBuJ2VzdCBwYXMgZW4gbW9kZSBzaWxlbmNpZXV4IGV0IHF1J3VuZSBvcHRpb24gaW5jb3JyZWN0ZSBlc3QgcmVuY29udHLDqWUsICIKICJpbFxuIgogIiAgICBwbGFjZSDCqyA/IMK7IGRhbnMgTkFNRSBldCBlZmZhY2UgT1BUQVJHLiAgU2kgdW4gYXJndW1lbnQgbsOpY2Vzc2FpcmUgbidlc3QgIgpAQCAtMjk0NSw5ICszMTU5LDE0IEBACiAiICAgIFxuIgogIiAgICDCqyBnZXRvcHRzIMK7IGFuYWx5c2UgaGFiaXR1ZWxsZW1lbnQgbGVzIHBhcmFtw6h0cmVzIGRlIHBvc2l0aW9uICgkMCAtICQ5KSwgIgogIm1haXNcbiIKLSIgICAgc2kgcGx1cyBkJ2FyZ3VtZW50IHNvbnQgZG9ubsOpZXMsIGlscyBzb250IGFuYWx5c8OpcyDDoCBsYSBwbGFjZS4iCisiICAgIHNpIHBsdXMgZCdhcmd1bWVudCBzb250IGRvbm7DqWVzLCBpbHMgc29udCBhbmFseXPDqXMgw6AgbGEgcGxhY2UuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIHNpIHVuZSBvcHRpb24gZXN0IHRyb3V2w6llLCBsZSBjb2RlIGQnw6ljaGVjIHNpICIKKyJsYSBmaW4gZGVzIG9wdGlvbnNcbiIKKyIgICAgZXN0IHJlbmNvbnRyw6llIG91IHNpIHVuZSBlcnJldXIgc3VydmllbnQuIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yOTY5LDE5ICszMTg4LDM5IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgQ09NTUFORCBpcyBub3QgZm91bmQgb3IgYSByZWRpcmVjdGlvbiBlcnJvciAiCiAib2NjdXJzLiIKIG1zZ3N0ciAiIgorIlJlbXBsYWNlIGxlIHNoZWxsIHBhciBsYSBjb21tYW5kZSBmb3VybmllLlxuIgorIiAgICBcbiIKKyIgICAgRXjDqWN1dGUgbGEgQ09NTUFOREUsIGVuIHJlbXBsYcOnYW50IGNlIHNoZWxsIHBhciBsZSBwcm9ncmFtbWUgc3DDqWNpZmnDqWUuXG4iCisiICAgIExlcyBBUkdVTUVOVFMgZGV2aWVubmVudCBjZXV4IGRlIGxhIENPTU1BTkRFLiBTaSBsYSBDT01NQU5ERSBuJ2VzdCBwYXMgIgorImZvdXJuaWUsXG4iCisiICAgIGxlcyByZWRpcmVjdGlvbnMgcHJlbm5lbnQgZWZmZXQgZGFucyBsZSBzaGVsbCBjb3VyYW50LlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLWEgbm9tXHRwYXNzZSBOT00gY29tbWUgYXJndW1lbnQgbnVtw6lybyAwIMOgIGxhIENPTU1BTkRFXG4iCisiICAgICAgLWNcdFx0ZXjDqWN1dGUgbGEgQ09NTUFOREUgYXZlYyB1biBlbnZpcm9ubmVtZW50IHZpZGVcbiIKKyIgICAgICAtbFx0XHRwbGFjZSB1biB0aXJldCBjb21tZSBhcmd1bWVudCBudW3DqXJvIDAgZGUgbGEgQ09NTUFOREVcbiIKKyIgICAgXG4iCisiICAgIFNpIGxhIGNvbW1hbmRlIG5lIHBldXQgcGFzIMOqdHJlIGV4w6ljdXTDqWUsIHVuIHNoZWxsIG5vbi1pbnRlcmFjdGlmIHNlICIKKyJ0ZXJtaW5lLCDDoCBtb2luc1xuIgorIiAgICBxdWUgbCdvcHRpb24gwqsgZXhlY2ZhaWwgwrsgbmUgc29pdCBkw6lmaW5pZS5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHN1Y2PDqHMgw6AgbW9pbnMgcXVlIGxhIENPTU1BTkRFIG5lIHNvaXQgcGFzIHRyb3V2w6llIG91ICIKKyJxdSd1bmUgZXJyZXVyIGRlIHJlZGlyZWN0aW9uIG5lIHN1cnZpZW5uZS4iCiAKLSM6IGJ1aWx0aW5zLmM6Njg5Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzo2OTQKIG1zZ2lkICIiCiAiRXhpdCB0aGUgc2hlbGwuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0cyB0aGUgc2hlbGwgd2l0aCBhIHN0YXR1cyBvZiBOLiAgSWYgTiBpcyBvbWl0dGVkLCB0aGUgZXhpdCBzdGF0dXNcbiIKICIgICAgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgotIlRlcm1pbmVyIGxlIHNoZWxsIGF2ZWMgbGUgY29kZSBkZSByZXRvdXIgwqsgTiDCuy4gIFNpIE4gZXN0IG9taXMsIGxlIGNvZGVcbiIKKyJUZXJtaW5lIGxlIHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGVybWluZSBsZSBzaGVsbCBhdmVjIGxlIGNvZGUgZGUgcmV0b3VyIMKrIE4gwrsuICBTaSBOIGVzdCBvbWlzLCBsZSBjb2RlXG4iCiAiIGRlIHJldG91ciBlc3QgY2VsdWkgZGUgbGEgZGVybmnDqHJlIGNvbW1hbmRlIGV4w6ljdXTDqWUuIgogCi0jOiBidWlsdGlucy5jOjY5OAorIzogYnVpbHRpbnMuYzo3MDMKIG1zZ2lkICIiCiAiRXhpdCBhIGxvZ2luIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI5ODksOSArMzIyOCwxMyBAQAogImV4ZWN1dGVkXG4iCiAiICAgIGluIGEgbG9naW4gc2hlbGwuIgogbXNnc3RyICIiCisiVGVybWluZSB1biBzaGVsbCBkZSBjb25uZXhpb24uXG4iCisiICAgIFxuIgorIiAgICBUZXJtaW5lIHVuIHNoZWxsIGRlIGNvbm5leGlvbiBhdmVjIGxlIGNvZGUgZGUgc29ydGllIE4uICBSZW52b2llIHVuZSAiCisiZXJyZXVyIHMnaWwgbidlc3QgcGFzIGV4w6ljdXTDqVxuIgorIiAgICBkYW5zIHVuIHNoZWxsIGRlIGNvbm5leGlvbi4iCiAKLSM6IGJ1aWx0aW5zLmM6NzA4Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzo3MTMKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBleGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zMDIwLDExICszMjYzLDE2IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBvciBzdGF0dXMgb2YgZXhlY3V0ZWQgY29tbWFuZDsgbm9uLXplcm8gaWYgYW4gZXJyb3IgIgogIm9jY3Vycy4iCiBtc2dzdHIgIiIKLSLCqyBmYyDCuyBlc3QgdXRpbGlzw6kgcG91ciBhZmZpY2hlciBvdSBtb2RpZmllciBwdWlzIHLDqS1leMOpY3V0ZXIgbGVzIGNvbW1hbmRlc1xuIgotIiAgZGUgbCdoaXN0b3JpcXVlIGRlcyBjb21tYW5kZXMuIEZJUlNUIGV0IExBU1QgcGV1dmVudCDDqnRyZSBkZXMgbm9tYnJlc1xuIgotIiAgaW5kaXF1YW50IGxhIHBsYWdlIG91IEZJUlNUIHBldXQgw6p0cmUgdW5lIGNoYcOubmUgZG9ubmFudCBsZSBkw6lidXQgZGUgbGFcbiIKKyJBZmZpY2hlIG91IGV4w6ljdXRlIGRlcyBjb21tYW5kZXMgaXNzdWVzIGRlIGwnaGlzdG9yaXF1ZS5cbiIKKyIgICAgXG4iCisiICDCqyBmYyDCuyBlc3QgdXRpbGlzw6kgcG91ciBhZmZpY2hlciBvdSBtb2RpZmllciBwdWlzIHLDqS1leMOpY3V0ZXIgbGVzICIKKyJjb21tYW5kZXNcbiIKKyIgIGRlIGwnaGlzdG9yaXF1ZSBkZXMgY29tbWFuZGVzLiBQUkVNSUVSIGV0IERFUk5JRVIgcGV1dmVudCDDqnRyZSBkZXMgIgorIm5vbWJyZXNcbiIKKyIgIGluZGlxdWFudCBsYSBwbGFnZSBvdSBQUkVNSUVSIHBldXQgw6p0cmUgdW5lIGNoYcOubmUgZG9ubmFudCBsZSBkw6lidXQgZGUgbGFcbiIKICIgIGNvbW1hbmRlIGxhIHBsdXMgcsOpY2VudGUgcmVjaGVyY2jDqWUuXG4iCiAiICAgIFxuIgorIiAgICBPcHRpb25zIDpcbiIKICIgICAgICAgLWUgRU5BTUUgZMOpZmluaXQgcXVlbCDDqWRpdGV1ciB1dGlsaXNlci4gUGFyIGTDqWZhdXQgaWwgcydhZ2l0IGRlIMKrICIKICJGQ0VESVQgwrtcbiIKICIgICAgICAgICAgcHVpcyDCqyBFRElUT1IgwrssIHB1aXMgwqsgdmkgwrsuXG4iCkBAIC0zMDM1LDE1ICszMjgzLDE4IEBACiAiICAgIFxuIgogIiAgICBFbiB0YXBhbnQgwqsgZmMgLXMgW2FuY2llbj1ub3V2ZWF1IC4uLl0gW2NvbW1hbmRlXSDCuywgbGEgY29tbWFuZGUgZXN0IHLDqS0iCiAiZXjDqWN1dMOpZVxuIgotIiAgICBhcHLDqHMgYXZvaXIgZWZmZWN0dcOpIGxhIHN1YnN0aXR1dGlvbiBPTEQ9TkVXLlxuIgorIiAgICBhcHLDqHMgYXZvaXIgZWZmZWN0dcOpIGxlIHJlbXBsYWNlbWVudCBBTkNJRU49Tk9VVkVBVS5cbiIKICIgICAgXG4iCiAiICAgIFVuIGFsaWFzIHV0aWxlIGVzdCDCqyByPSdmYyAtcycgwrsgZGUgc29ydGUgcXUnZW4gdGFwYW50IMKrIHIgY2MgwrssXG4iCi0iICAgIGxhIGRlcm5pw6hyZSBjb21tYW5kZSBjb21tZW7Dp2FudCBwYXIgwqsgY2MgwrsgZXN0IHLDqS1leMOpY3V0w6llIGV0IGF2ZWMgwqsgciAiCi0iwrssIGxhXG4iCi0iICAgIGRlcm5pw6hyZSBjb21tYW5kZSBlc3QgcsOpLWV4w6ljdXTDqWUuIgorIiAgICBsYSBkZXJuacOocmUgY29tbWFuZGUgY29tbWVuw6dhbnQgcGFyIMKrIGNjIMK7IGVzdCByw6ktZXjDqWN1dMOpZSBldCBhdmVjIMKrIHIgwrssICIKKyJsYVxuIgorIiAgICBkZXJuacOocmUgY29tbWFuZGUgZXN0IHLDqS1leMOpY3V0w6llLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgc3VjY8OocyBvdSBsZSBjb2RlIGRlIHNvcnRpZSBkZSBsYSBjb21tYW5kZSBleMOpY3V0w6llIDsgIgorImF1dHJlIGNob3NlIHF1ZSAwIHNpIHVuZSBlcnJldXIgc3VydmllbnQuIgogCi0jOiBidWlsdGlucy5jOjczOAotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6NzQzCiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTMwNTQsMTIgKzMzMDUsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFN0YXR1cyBvZiBjb21tYW5kIHBsYWNlZCBpbiBmb3JlZ3JvdW5kLCBvciBmYWlsdXJlIGlmIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJQbGFjZSBKT0JfU1BFQyBhdSBwcmVtaWVyIHBsYW4gZXQgZW4gZmFpdCBsYSB0w6JjaGUgYWN0dWVsbGUuIFNpXG4iCisiRMOpcGxhY2UgdW5lIHTDomNoZSBhdSBwcmVtaWVyIHBsYW4uXG4iCisiICAgIFxuIgorIiAgICBQbGFjZSBKT0JfU1BFQyBhdSBwcmVtaWVyIHBsYW4gZXQgZW4gZmFpdCBsYSB0w6JjaGUgYWN0dWVsbGUuIFNpXG4iCiAiICAgIEpPQl9TUEVDIG4nZXN0IHBhcyBmb3VybmksIGxlIHNoZWxsIHV0aWxpc2Ugc2EgcHJvcHJlIG5vdGlvblxuIgotIiAgICBkZSB0w6JjaGUgYWN0dWVsbGUuIgorIiAgICBkZSB0w6JjaGUgYWN0dWVsbGUuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIGNlbHVpIGRlIGxhIGNvbW1hbmRlIHBsYWPDqWUgYXUgcHJlbWllciBwbGFuIG91IGxlIGNvZGUgZCfDqWNoZWMgc2kgdW5lICIKKyJlcnJldXIgc3VydmllbnQuIgogCi0jOiBidWlsdGlucy5jOjc1MwotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6NzU4CiBtc2dpZCAiIgogIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zMDcyLDEyICszMzI4LDE4IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJQbGFjZSBjaGFxdWUgSk9CX1NQRUMgZW4gYXJyacOocmUgcGxhbiBjb21tZSBzJ2lsIGF2YWl0IMOpdMOpIGTDqW1hcnLDqSBhdmVjIMKrICYgIgotIsK7LlxuIgorIkTDqXBsYWNlIGRlcyB0w6JjaGVzIHZlcnMgbCdhcnJpw6hyZSBwbGFuLlxuIgorIiAgICBcbiIKKyIgICAgUGxhY2UgY2hhcXVlIEpPQl9TUEVDIGVuIGFycmnDqHJlIHBsYW4gY29tbWUgcydpbCBhdmFpdCDDqXTDqSBkw6ltYXJyw6kgYXZlYyDCqyAiCisiJiDCuy5cbiIKICIgICAgU2kgSk9CX1NQRUMgbidlc3QgcGFzIGZvdXJuaSwgbGUgc2hlbGwgdXRpbGlzZSBzYSBwcm9wcmUgbm90aW9uXG4iCi0iICAgIGRlIHTDomNoZSBhY3R1ZWxsZS4iCisiICAgIGRlIHTDomNoZSBhY3R1ZWxsZS5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHN1Y2PDqHMgw6AgbW9pbnMgcXVlIGxlIGNvbnRyw7RsZSBkZSB0w6JjaGUgbmUgc29pdCBwYXMgIgorImFjdGl2w6kgb3UgcXUndW5lIGVycmV1ciBuZSBzdXJ2aWVubmUuIgogCi0jOiBidWlsdGlucy5jOjc2NworIzogYnVpbHRpbnMuYzo3NzIKIG1zZ2lkICIiCiAiUmVtZW1iZXIgb3IgZGlzcGxheSBwcm9ncmFtIGxvY2F0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMTAwLDggKzMzNjIsMjkgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgZm91bmQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCisiTcOpbW9yaXNlIG91IGFmZmljaGUgbCdlbXBsYWNlbWVudCBkZXMgcHJvZ3JhbW1lcy5cbiIKKyIgICAgXG4iCisiICAgIETDqXRlcm1pbmUgZXQgbcOpbW9yaXNlIGxlIGNoZW1pbiBjb21wbGV0IGRlIGNoYXF1ZSBjb21tYW5kZSBOT00uICBTaVxuIgorIiAgICBhdWN1biBhcmd1bWVudCBuJ2VzdCBkb25uw6ksIHVuZSBpbmZvcm1hdGlvbiBzdXIgbGVzIGNvbW1hbmRlcyBtw6ltb3Jpc8OpZXMgIgorImVzdCBhZmZpY2jDqWUuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIDpcbiIKKyIgICAgICAtZFx0XHRvdWJsaWVyIGwnZW1wbGFjZW1lbnQgbcOpbW9yaXPDqSBkZSBjaGFxdWUgTk9NXG4iCisiICAgICAgLWxcdFx0YWZmaWNoZXIgZGFucyB1biBmb3JtYXQgcXVpIHBldXQgw6p0cmUgcsOpdXRpbGlzw6kgY29tbWUgZW50csOpZVxuIgorIiAgICAgIC1wIG5vbWNoZW1pblx0dXRpbGlzZXIgTk9NQ0hFTUlOIGNvbW1lIGxlIGNoZW1pbiBjb21wbGV0IGRlIE5PTVxuIgorIiAgICAgIC1yXHRcdG91YmxpZXIgdG91cyBsZXMgZW1wbGFjZW1lbnRzIG3DqW1vcmlzw6lzXG4iCisiICAgICAgLXRcdFx0YWZmaWNoZXIgbCdlbXBsYWNlbWVudCBtw6ltb3Jpc8OpIGRlIGNoYXF1ZSBOT00sIGVuIHByw6ljw6lkYW50XG4iCisiICAgIFx0XHRjaGFxdWUgZW1wbGFjZW1lbnQgZHUgTk9NIGNvcnJlc3BvbmRhbnQgc2kgcGx1c2lldXJzIE5PTVNcbiIKKyIgICAgXHRcdHNvbnQgZG9ubsOpc1xuIgorIiAgICBBcmd1bWVudHMgOlxuIgorIiAgICAgIE5PTVx0XHRDaGFxdWUgTk9NIGVzdCByZWNoZXJjaMOpIGRhbnMgJFBBVEggZXQgYWpvdXTDqSDDoCBsYSBsaXN0ZVxuIgorIiAgICBcdFx0ZGVzIGNvbW1hbmRlcyBtw6ltb3Jpc8OpZS5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHN1Y2PDqHMgw6AgbW9pbnMgcXVlIGxlIE5PTSBuZSBzb2l0IHBhcyB0cm91dsOpIG91ICIKKyJxdSd1bmUgb3B0aW9uIG5vbiB2YWxhYmxlIG5lIHNvaXQgZG9ubsOpZS4iCiAKLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzEyMiw5ICszNDA1LDI3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgUEFUVEVSTiBpcyBub3QgZm91bmQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgIgogImdpdmVuLiIKIG1zZ3N0ciAiIgorIkFmZmljaGUgZGVzIGluZm9ybWF0aW9ucyBzdXIgbGVzIGNvbW1hbmRlcyBpbnTDqWdyw6llcy5cbiIKKyIgICAgXG4iCisiICAgIEFmZmljaGUgZGUgY291cnRzIHLDqXN1bcOpcyBkZXMgY29tbWFuZGVzIGludMOpZ3LDqWVzLiAgU2kgTU9USUYgZXN0XG4iCisiICAgIHNww6ljaWZpw6ksIHVuZSBhaWRlIGTDqXRhaWxsw6llIGRlIHRvdXRlcyBsZXMgY29tbWFuZGVzIGNvcnJlc3BvbmRhbnRlcyBhdSAiCisiTU9USUYgc29udCBhZmZpY2jDqWVzLFxuIgorIiAgICBzaW5vbiBsYSBsaXN0ZSBkZXMgc3VqZXRzIGQnYWlkZSBlc3QgYWZmaWNow6llLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLWRcdGFmZmljaGVyIHVuZSBjb3VydGUgZGVzY3JpcHRpb24gcG91ciBjaGFxdWUgc3VqZXRcbiIKKyIgICAgICAtbVx0YWZmaWNoZXIgbCdhaWRlIGRhbnMgdW4gZm9ybWF0IHByb2NoZSBkZXMgcGFnZXMgZGUgbWFuKHVlbClcbiIKKyIgICAgICAtc1x0bidhZmZpY2hlciBxdSd1bmUgY291cnRlIGFpZGUgcG91ciBjaGFxdWUgc3VqZXQgY29ycmVzcG9uZGFudCBhdVxuIgorIiAgICBcdE1PVElGXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHMgOlxuIgorIiAgICAgIE1PVElGXHRNb3RpZiBzcMOpY2lmaWFudCB1biBzdWpldCBkJ2FpZGVcbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgcmV0b3VyIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHN1Y2PDqHMgw6AgbW9pbnMgcXVlIGxlIE1PVElGIG5lIHNvaXQgcGFzIHRyb3V2w6kgb3UgIgorInF1J3VuZSBvcHRpb24gbm9uIHZhbGFibGUgbmUgc29pdCBkb25uw6llLiIKIAotIzogYnVpbHRpbnMuYzo4MTYKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjgyMQogbXNnaWQgIiIKICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zMTU3LDQyICszNDU4LDQ3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJBZmZpY2hlIGwnaGlzdG9yaXF1ZSBhdmVjIGRlcyBudW3DqXJvcyBkZSBsaWduZXMuIExlcyBsaWduZXMgcG9zc8OpZGFudFxuIgotIiAgICB1biDCqyAqIMK7IG9udCDDqXTDqSBtb2RpZmnDqWVzLiBMJ2FyZ3VtZW50IE4gcGVybWV0IGRlIG4nYWZmaWNoZXIgcXVlXG4iCi0iICAgIGxlcyBOIGRlcm5pw6hyZXMgbGlnbmVzLiBMJ29wdGlvbiDCqyAtYyDCuyBlZmZhY2UgY29tcGzDqHRlbWVudCAiCi0ibCdoaXN0b3JpcXVlLlxuIgotIiAgICBMJ29wdGlvbiDCqyAtZCDCuyBlZmZhY2UgbCfDqWzDqW1lbnQgZCdoaXN0b3JpcXVlIHBsYWPDqSDDoCBsYSBwb3NpdGlvbiAiCi0iT0ZGU0VULlxuIgotIiAgICBMJ29wdGlvbiDCqyAtdyDCuyDDqWNyaXQgbCdoaXN0b3JpcXVlIGFjdHVlbCBkYW5zIGxlIGZpY2hpZXIgZCdoaXN0b3JpcXVlLlxuIgotIiAgICDCqyAtciDCuyBwZXJtZXQgZGUgbGlyZSBsZSBmaWNoaWVyIGV0IGQnYWpvdXRlciBzb24gY29udGVudSDDoCBsYSBmaW4gZGVcbiIKLSIgICAgbCdoaXN0b3JpcXVlLiDCqyAtYSDCuyBwZXJtZXQgZCdham91dGVyIGxlcyBsaWduZXMgZCdoaXN0b3JpcXVlcyBkZSBjZXR0ZVxuIgotIiAgICBzZXNzaW9uIMOgIGxhIGZpbiBkdSBmaWNoaWVyIGQnaGlzdG9yaXF1ZS4gTCdhcmd1bWVudCDCqyAtbiDCuyBwZXJtZXQgZGUgIgotImxpcmVcbiIKLSIgICAgdG91dGVzIGxlcyBsaWduZXMgZCdoaXN0b3JpcXVlIG5vbiBkw6lqw6AgbHVlcyBkZXB1aXMgbGUgZmljaGllciAiCisiQWZmaWNoZSBvdSBtYW5pcHVsZSBsJydoaXN0b3JpcXVlLlxuIgorIiAgICBcbiIKKyIgICAgQWZmaWNoZSBsJ2hpc3RvcmlxdWUgYXZlYyBsZXMgbnVtw6lyb3MgZGUgbGlnbmVzIGVuIHByw6lmaXhhbnQgY2hhcXVlICIKKyLDqWzDqW1lbnRcbiIKKyIgICAgbW9kaWZpw6kgZCd1biDCqyAqIMK7LiAgVW4gYXJndW1lbnQgw6lnYWwgw6AgTiBsaW1pdGUgbGEgbGlzdGUgYXV4IE4gZGVybmllcnMgIgorIsOpbMOpbWVudHMuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIDpcbiIKKyIgICAgICAtY1x0ZWZmYWNlIGxhIGxpc3RlIGQnaGlzdG9yaXF1ZSBlbiBlZmZhw6dhbnQgdG91cyBsZXMgw6lsw6ltZW50c1xuIgorIiAgICAgIC1kIG9mZnNldFx0ZWZmYWNlIGwnw6lsw6ltZW50IGQnaGlzdG9yaXF1ZSDDoCBsJ2VtcGxhY2VtZW50IE9GRlNFVC5cbiIKKyIgICAgXG4iCisiICAgICAgLWFcdGFqb3V0ZXIgbGVzIGxpZ25lcyBkJ2hpc3RvcmlxdWUgZGUgY2V0dGUgc2Vzc2lvbiBhdSBmaWNoaWVyICIKICJkJ2hpc3RvcmlxdWVcbiIKLSIgICAgcHVpcyBkZSBsZXMgYWpvdXRlciDDoCBsJ2hpc3RvcmlxdWUuXG4iCisiICAgICAgLW5cdGxpcmUgdG91dGVzIGxlcyBsaWduZXMgZCdoaXN0b3JpcXVlIG5vbiBkw6lqw6AgbHVlcyBkZXB1aXMgbGUgIgorImZpY2hpZXIgZCdoaXN0b3JpcXVlXG4iCisiICAgICAgLXJcdGxpcmUgbGUgZmljaGllciBkJ2hpc3RvcmlxdWUgZXQgYWpvdXRlciBsZSBjb250ZW51IMOgIGxhIGxpc3RlICIKKyJkJ2hpc3RvcmlxdWVcbiIKKyIgICAgICAtd1x0w6ljcmlyZSBsJ2hpc3RvcmlxdWUgYWN0dWVsIGRhbnMgbGUgZmljaGllciBkJ2hpc3RvcmlxdWVcbiIKKyIgICAgXHRldCBsJ2Fqb3V0ZSDDoCBsYSBsaXN0ZSBkJ2hpc3RvcmlxdWVcbiIKICIgICAgXG4iCi0iICAgIFNpIEZJTEVOQU1FIGVzdCBmb3VybmksIGlsIGVzdCB1dGlsaXPDqSBjb21tZSBmaWNoaWVyIGQnaGlzdG9yaXF1ZSwgIgotInNpbm9uXG4iCi0iICAgIGxhIHZhbGV1ciBkZSDCqyAkSElTVEZJTEUgwrsgZXN0IHV0aWxpc8OpZSwgc2lub24gbGUgZmljaGllciDCqyB+Ly4iCi0iYmFzaF9oaXN0b3J5IMK7LlxuIgotIiAgICBTaSBsJ29wdGlvbiDCqyAtcyDCuyBlc3QgZm91cm5pZSwgbGVzIGFyZ3VtZW50cyBxdWkgbmUgc29udCBwYXMgZGVzICIKLSJvcHRpb25zIHNvbnRcbiIKLSIgICAgYWpvdXTDqXMgw6AgbGEgZmluIGRlIGwnaGlzdG9yaXF1ZSBjb21tZSB1biBzZXVsIMOpbMOpbWVudC4gTCdvcHRpb24gwqsgLXAgwrsgIgotInBlcm1ldFxuIgotIiAgICBkJ2VmZmVjdHVlciB1bmUgZXhwYW5zaW9uIGQnaGlzdG9yaXF1ZSBzdXIgY2hhcXVlIEFSRyBldCBkJ2FmZmljaGVyIGxlICIKLSJyw6lzdWx0YXQsXG4iCi0iICAgIHNhbnMgcmllbiBlbnJlZ2lzdHJlciBkYW5zIGxlIGZpY2hpZXIgZCdoaXN0b3JpcXVlLlxuIgorIiAgICAgIC1wXHRlZmZlY3R1ZXIgdW4gZMOpdmVsb3BwZW1lbnQgZGUgbCdoaXN0b3JpcXVlIHN1ciBjaGFxdWUgQVJHIGV0ICIKKyJhZmZpY2hlciBsZSByw6lzdWx0YXRcbiIKKyIgICAgXHRzYW5zIGxlIHN0b2NrZXIgZGFucyBsYSBsaXN0ZSBkJ2hpc3RvcmlxdWVcbiIKKyIgICAgICAtc1x0YWpvdXRlIGxlcyBBUkdzIMOgIGxhIGxpc3RlIGQnaGlzdG9yaXF1ZSBjb21tZSBlbnRyw6llIHVuaXF1ZVxuIgogIiAgICBcbiIKLSIgICAgU2kgbGEgdmFyaWFibGUgwqsgJEhJU1RUSU1FRk9STUFUIMK7IGVzdCBkw6lmaW5pZSBldCBub24gdmlkZSwgc2EgdmFsZXVyICIKLSJlc3RcbiIKLSIgICAgdXRpbGlzw6llIGNvbW1lIGNoYcOubmUgZGUgZm9ybWF0IHBvdXIgwqsgc3RyZnRpbWUoMykgwrsgYWZpbiBkJ2FmZmljaGVyICIKLSJsZXNcbiIKLSIgICAgdmFsZXVycyBkZSB0ZW1wcyBhc3NvY2nDqWVzIMOgIGNoYXF1ZSDDqWzDqW1lbnQgZGUgbCdoaXN0b3JpcXVlLiBTaW5vbixcbiIKLSIgICAgYXVjdW4gdmFsZXVyIGRlIHRlbXBzIG4nZXN0IGFmZmljaMOpZS4iCisiICAgIFNpIE5PTUZJQ0hJRVIgZXN0IGRvbm7DqSwgaWwgZXN0IHV0aWxpc8OpIGNvbW1lIGZpY2hpZXIgZCdoaXN0b3JpcXVlLiAiCisiU2lub24sXG4iCisiICAgIHNpICRISVNURklMRSBjb250aWVudCB1bmUgdmFsZXVyLCBjZWxsZS1jaSBlc3QgdXRpbGlzw6llLCBzaW5vbiB+Ly4iCisiYmFzaF9oaXN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgU2kgbGEgdmFyaWFibGUgJEhJU1RUSU1FRk9STUFUIGVzdCBkw6lmaW5pZSBldCBuJ2VzdCBwYXMgdmlkZSwgc2EgdmFsZXVyICIKKyJlc3QgdXRpbGxpc8OpZVxuIgorIiAgICBjb21tZSBjaGHDrm5lIGRlIGZvcm1hdCBwb3VyIHF1ZSBzdHJmdGltZSgzKSBhZmZpY2hlIGwnaG9yb2RhdGFnZSAiCisiYXNzb2Npw6lcbiIKKyIgICAgw6AgY2hhcXVlIGVudHLDqWUgZCdoaXN0b3JpcXVlLiAgU2luaW4sIGF1Y3VuIGhvcm9kYXRhZ2Ugbidlc3QgYWZmaWNow6kuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1J3VuZSBvcHRpb24gbm9uIHZhbGFibGUgc29pdCBkb25uw6llICIKKyJvdSBxdSd1bmUgZXJyZXVyIG5lIHN1cnZpZW5uZS4iCiAKLSM6IGJ1aWx0aW5zLmM6ODUyCi0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzo4NTcKIG1zZ2lkICIiCiAiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKICIgICAgXG4iCkBAIC0zMjE1LDIzICszNTIxLDM0IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLlxuIgogIiAgICBJZiAteCBpcyB1c2VkLCByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgotIkFmZmljaGUgbGVzIHTDomNoZXMgYWN0aXZlcy4gTCdvcHRpb24gwqsgLWwgwrsgYWpvdXRlIGxlcyBudW3DqXJvcyBkZSBwcm9jZXNzdXNcbiIKLSIgICAgZW4gcGx1cyBkZXMgaW5mb3JtYXRpb25zIGhhYml0dWVsbGVzLiBMJ29wdGlvbiDCqyAtcCDCuyBuJ2FmZmljaGUgcXVlIGxlc1xuIgotIiAgICBudW3DqXJvcyBkZSBwcm9jZXNzdXMuIFNpIMKrIC1uIMK7IGVzdCBmb3VybmksIHNldWxzIGxlcyBwcm9jZXNzdXMgZG9udFxuIgotIiAgICBsJ8OpdGF0IGEgY2hhbmfDqSBkZXB1aXMgbGEgZGVybmnDqHJlIG5vdGlmaWNhdGlvbiBzb250IGFmZmljaMOpcy4gSk9CU1BFQ1xuIgotIiAgICByZXN0cmVpbnQgbCdhZmZpY2hhZ2Ugw6AgY2UgbnVtw6lybyBkZSB0w6JjaGUuIExlcyBvcHRpb25zIMKrIC1yIMK7IGV0IMKrIC1zICIKLSLCu1xuIgotIiAgICByZXN0cmVpZ25lbnQgbCdhZmZpY2hhZ2UgcmVzcGVjdGl2ZW1lbnQgYXV4IHTDomNoZXMgZW4gY291cnMgZCdleMOpY3V0aW9uXG4iCi0iICAgIGV0IGF1eCB0w6JjaGVzIHN0b3Bww6llcy4gU2FucyBvcHRpb24sIGwnw6l0YXQgZGUgdG91dGVzIGxlcyB0w6JjaGVzICIKLSJhY3RpdmVzXG4iCi0iICAgIGVzdCBhZmZpY2jDqS4gU2kgwqsgLXggwrsgZXN0IGZvdXJuaSwgbGEgY29tbWFuZGUgQ09NTUFORCBlc3QgbGFuY8OpZSBhcHLDqHMgIgotInF1ZSB0b3V0ZXNcbiIKLSIgICAgbGVzIHNww6ljaWZpY2F0aW9ucyBkZSB0w6JjaGVzIHF1aSBhcHBhcmFpc3NlbnQgZGFucyBsZXMgQVJHUyBvbnQgw6l0w6kgIgotInJlbXBsYWPDqWVzXG4iCi0iICAgIHBhciBsZSBudW3DqXJvIGRlIHByb2Nlc3N1cyBkdSBsZWFkZXIgZHUgZ3JvdXBlIGRlIHByb2Nlc3N1cyBwb3VyIGNldHRlICIKLSJ0w6JjaGUuIgorIkFmZmljaGUgbCfDqXRhdCBkZXMgdMOiY2hlcy5cbiIKKyIgICAgXG4iCisiICAgIEFmZmljaGUgbGEgbGlzdGUgZGVzIHTDomNoZXMgYWN0aXZlcy4gIEpPQlNQRUMgcmVzdHJlaW50IGwnYWZmaWNoYWdlIMOgICIKKyJjZXR0ZSB0w6JjaGUuXG4iCisiICAgIFMnaWwgbid5IGEgcGFzIGQnb3B0aW9uLCBsJ8OpdGF0IGRlIHRvdXRlcyBsZXMgdMOiY2hlcyBhY3RpdmVzIGVzdCAiCisiYWZmaWNow6kuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIDpcbiIKKyIgICAgICAtbFx0YWZmaWNoZXIgbGVzIElEcyBkZSBwcm9jZXNzdXMgZW4gcGx1cyBkZXMgaW5mb3JtYXRpb25zIG5vcm1hbGVzXG4iCisiICAgICAgLW5cdGFmZmljaGVyIHNldWxlbWVudCBsZXMgcHJvY2Vzc3VzIGRvbnQgbCfDqXRhdCBhIGNoYW5nw6kgZGVwdWlzIGxhICIKKyJkZXJuacOocmVcbiIKKyIgICAgXHRub3RpZmljYXRpb25cbiIKKyIgICAgICAtcFx0YWZmaWNoZXIgc2V1bGVtZW50IGxlcyBJRHMgZGUgcHJvY2Vzc3VzXG4iCisiICAgICAgLXJcdHJlc3RyZWluZHJlIGwnYWZmaWNoYWdlIGF1eCB0w6JjaGVzIGVuIGNvdXJzIGQnZXjDqWN1dGlvblxuIgorIiAgICAgIC1zXHRyZXN0cmVpbmRyZSBsJ2FmZmljaGFnZSBhdXggdMOiY2hlcyBzdG9wcMOpZXNcbiIKKyIgICAgXG4iCisiICAgIFNpIMKrIC14IMK7IGVzdCBmb3VybmllLCBsYSBDT01NQU5ERSBlc3QgbGFuY8OpZSBhcHLDqHMgcXVlIHRvdXRlcyBsZXMgIgorInNww6ljaWZpY2F0aW9uc1xuIgorIiAgICBxdWkgYXBwYXJhaXNzZW50IGRhbnMgQVJHcyBvbnQgw6l0w6kgcmVtcGxhY8OpZXMgcGFyIGwnSUQgZGUgcHJvY2Vzc3VzIGR1ICIKKyJsZWFkZXIgZGUgZ3JvdXBlXG4iCisiICAgIGRlIHByb2Nlc3N1cyBkZSBjZXR0ZSB0w6JjaGUuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1J3VuZSBvcHRpb24gbm9uIHZhbGFibGUgbmUgc29pdCAiCisiZG9ubsOpZSBvdSBxdSd1bmUgZXJyZXVyIG5lIHN1cnZpZW5uZS5cbiIKKyIgICAgU2kgwqsgLXggwrsgZXN0IHV0aWxpc8OpZSwgbGUgY29kZSBkZSBzb3J0aWUgZGUgbGEgQ09NTUFOREUgZXN0IHJlbnZvecOpLiIKIAotIzogYnVpbHRpbnMuYzo4NzkKKyM6IGJ1aWx0aW5zLmM6ODg0CiBtc2dpZCAiIgogIlJlbW92ZSBqb2JzIGZyb20gY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMjQ3LDkgKzM1NjQsMjMgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKKyJSZXRpcmUgZGVzIHTDomNoZXMgZHUgc2hlbGwgY291cmFudC5cbiIKKyIgICAgXG4iCisiICAgIFJldGlyZSBjaGFxdWUgYXJndW1lbnQgSk9CU1BFQyBkZSBsYSB0YWJsZSBkZXMgdMOiY2hlcyBhY3RpdmVzLiAgU2Fuc1xuIgorIiAgICBKT0JTUEVDLCBsZSBzaGVsbCB1dGlsaXNlIHNhIHByb3ByZSBub3Rpb24gZGUgdMOiY2hlIGNvdXJhbnRlLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLWFcdHJldGlyZXIgdG91dGVzIGxlc3TDomNoZXMgc2kgSk9CU1BFQyBuJ2VzdCBwYXMgZm91cm5pXG4iCisiICAgICAgLWhcdG1hcnF1ZSBjaGFxdWUgSk9CU1BFQyBkZSBmYcOnb24gcXVlIFNJR0hVUCBuZSBzb2l0IHBhcyBlbnZvecOpIMOgIGxhICIKKyJ0w6JjaGVcbiIKKyIgICAgXHRzaSBsZSBzaGVsbCByZcOnb2l0IHVuIFNJR0hVUFxuIgorIiAgICAgIC1yXHRyZXRpcmUgc2V1bGVtZW50IGxlcyB0w6JjaGVzIGVuIGNvdXJzIGRlIGZvbmN0aW9ubmVtZW50XG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1J3VuZSBvcHRpb24gb3UgdW4gSk9CU1BFQyBub24gIgorInZhbGFibGUgbmUgc29pdCBkb25uw6kuIgogCi0jOiBidWlsdGlucy5jOjg5OAotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6OTAzCiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMzI3MCwxOCArMzYwMSwzMCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0iRW52b2llIGxlIHNpZ25hbCBTSUdTUEVDIGF1eCBwcm9jZXNzdXMgZMOpc2lnbsOpcyBwYXIgUElEIChvdSBKT0JTUEVDKS4gU2lcbiIKLSIgICAgU0lHU1BFQyBuJ2VzdCBwYXMgZm91cm5pLCBhbG9ycyBTSUdURVJNIGVzdCB1dGlsaXPDqS4gTCdhcmd1bWVudCDCqyAtbCDCu1xuIgotIiAgICBwZXJtZXQgZGUgbGlzdGVyIGxlcyBub21zIGRlIHNpZ25hdXguIFNpIGRlcyBhcmd1bWVudHMgc29udCBkb25uw6lzIMOgIMKrIC0iCi0ibCDCuyxcbiIKLSIgICAgaWxzIHNvbnQgc3VwcG9zw6lzIMOqdHJlIGRlcyBudW3DqXJvcyBkZSBzaWduYXV4IHBvdXIgbGVzcXVlbHMgbGVzIG5vbXMgXG4iCi0iICAgIGRvaXZlbnQgw6p0cmUgYWZmaWNow6lzLiDCqyBraWxsIMK7IGVzdCB1bmUgY29tbWFuZGUgaW50w6lncsOpZSBhdSBzaGVsbCBwb3VyXG4iCi0iICAgIGRldXggcmFpc29ucyA6IGlsIHBlcm1ldCBkJ3V0aWxpc2VyIGRlcyBudW3DqXJvcyBkZSB0w6JjaGUgcGx1dMO0dCBxdWUgZGVzXG4iCi0iICAgIG51bcOpcm9zIGRlIHByb2Nlc3N1cyBldCwgc2kgdm91cyBhdmV6IGF0dGVpbnQgbGEgbGltaXRlIGR1IG5vbWJyZSBkZVxuIgotIiAgICBwcm9jZXNzdXMgcXVlIHZvdXMgcG91dmV6IGNyw6llciwgdm91cyBuJ2F2ZXogcGFzIGJlc29pbiBkZSBnw6luw6lyZXIgdW5cbiIKLSIgICAgbm91dmVhdSBwcm9jZXNzdXMgcG91ciBlbiB0dWVyIHVuIGF1dHJlLiIKKyJFbnZvaWUgdW4gc2lnbmFsIMOgIHVuZSB0w6JjaGUuXG4iCisiICAgIFxuIgorIiAgICBFbnZvaWUgbGUgc2lnbmFsIG5vbW3DqSBwYXIgU0lHU1BFQyBvdSBTSUdOVU0gYXUgcHJvY2Vzc3VzIGlkZW50aWZpw6kgcGFyICIKKyJQSUQgb3UgSk9CU1BFQy5cbiIKKyIgICAgU2kgU0lHU1BFQyBldCBTSUdOVU0gbmUgc29udCBwYXMgZG9ubsOpcywgYWxvcnMgU0lHVEVSTSBlc3QgZW52b3nDqS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnMgOlxuIgorIiAgICAgIC1zIHNpZ1x0U0lHIGVzdCB1biBub20gZGUgc2lnbmFsXG4iCisiICAgICAgLW4gc2lnXHRTSUcgZXN0IHVuIG51bcOpcm8gZGUgc2lnbmFsXG4iCisiICAgICAgLWxcdGFmZmljaGVyIGxhIGxpc3RlIGRlcyBub21zIGRlIHNpZ25hdXggOyBzaSBkZXMgYXJndW1lbnRzIHN1aXZlbnQgwqsgLSIKKyJsIMK7LCBpbHMgc29udCBzdXBwb3PDqXMgw6p0cmVcbiIKKyIgICAgXHRkZXMgbnVtw6lybyBkZSBzaWduYXV4IHBvdXIgbGVzcXVlbHMgbGVzIG5vbXMgZG9pdmVudCDDqnRyZSBhZmZpY2jDqXNcbiIKKyIgICAgXG4iCisiICAgIMKrIGtpbGwgwrsgZXN0IHVuZSBjb21tYW5kZSBpbnTDqWdyw6llIHBvdXIgZGV1eCByYWlzb25zIDogZWxsZSBwZXJtZXQgYXV4ICIKKyJJRHMgZGUgdMOiY2hlcyBkJ8OqdHJlIHV0aWxpc8OpZXNcbiIKKyIgICAgw6AgbGEgcGxhY2UgZGVzIElEcyBkZSBwcm9jZXNzdXMgZXQgZWxsZSBwZXJtZXQgYXV4IHByb2Nlc3N1cyBkJ8OqdHJlIHR1w6lzICIKKyJzaSBsYSBsaW1pdGUgZHUgbm9tYnJlIGRlIHByb2Nlc3N1c1xuIgorIiAgICBxdWUgdm91cyBwb3V2ZXogY3LDqWVyIGVzdCBhdHRlaW50ZS5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHN1Y2PDqHMgw6AgbW9pbnMgcXUndW5lIG9wdGlvbiBub24gdmFsYWJsZSBzb2l0IGRvbm7DqWUgIgorIm91IHF1J3VuZSBlcnJldXIgbmUgc3Vydmllbm5lLiIKIAotIzogYnVpbHRpbnMuYzo5MjEKKyM6IGJ1aWx0aW5zLmM6OTI2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb25zLlxuIgpAQCAtMzMyNCw5ICszNjY3LDExIEBACiAiICAgIHJ1bGVzIGFib3ZlLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuLiIKKyIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKLSJjaGFxdWUgQVJHIGVzdCB1bmUgZXhwcmVzc2lvbiBhcml0aG3DqXRpcXVlIMOgIMOpdmFsdWVyLiBMJ8OpdmFsdWF0aW9uXG4iCisiw4l2YWx1ZSBkZXMgZXhwcmVzc2lvbnMgYXJpdGhtw6l0aXF1ZXMuXG4iCisiICAgIFxuIgorIiAgICBDaGFxdWUgQVJHIGVzdCB1bmUgZXhwcmVzc2lvbiBhcml0aG3DqXRpcXVlIMOgIMOpdmFsdWVyLiBMJ8OpdmFsdWF0aW9uXG4iCiAiICAgIGVzdCBmYWl0ZSBhdmVjIGRlcyBlbnRpZXJzIGRlIGxhcmdldXIgZml4ZSBzYW5zIHbDqXJpZmljYXRpb24gZGVcbiIKICIgICAgZMOpcGFzc2VtZW50LCBtYWlzIGxhIGRpdmlzaW9uIHBhciB6w6lybyBlc3QgaW50ZXJjZXB0w6llIGV0XG4iCiAiICAgIHNpZ25hbMOpZSBjb21tZSB1bmUgZXJyZXVyLiBMYSBsaXN0ZSBzdWl2YW50ZSBkJ29ww6lyYXRldXJzXG4iCkBAIC0zMzM1LDcgKzM2ODAsOCBAQAogIiAgICBcbiIKICIgICAgXHRpZCsrLCBpZC0tXHRwb3N0LWluY3LDqW1lbnQgb3UgcG9zdC1kw6ljcsOpbWVudCBkZSB2YXJpYWJsZVxuIgogIiAgICBcdCsraWQsIC0taWRcdHByw6ktaW5jcsOpbWVudCBvdSBwcsOpLWTDqWNyw6ltZW50IGRlIHZhcmlhYmxlXG4iCi0iICAgIFx0LSwgK1x0XHRtb2lucywgcGx1cyAgICBcdCEsIH5cdFx0bsOpZ2F0aW9ucyBsb2dpcXVlIGV0IGJpbmFpcmVcbiIKKyIgICAgXHQtLCArXHRcdG1vaW5zLCBwbHVzXG4iCisiICAgIFx0ISwgflx0XHRuw6lnYXRpb25zIGxvZ2lxdWUgZXQgYmluYWlyZVxuIgogIiAgICBcdCoqXHRcdG1pc2UgZW4gZXhwb3NhbnRcbiIKICIgICAgXHQqLCAvLCAlXHRcdG11bHRpcGxpY2F0aW9uLCBkaXZpc2lvbiwgcmVzdGUgZGUgbGEgZGl2aXNpb25cbiIKICIgICAgXHQrLCAtXHRcdGFkZGl0aW9uLCBzb3VzdHJhY3Rpb25cbiIKQEAgLTMzNjYsMTAgKzM3MTIsMTAgQEAKICJsZXMgcsOoZ2xlc1xuIgogIiAgICBjaS1kZXNzdXMuXG4iCiAiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCiAiICAgIFNpIGxlIGRlcm5pZXIgQVJHIGVzdCDDqXZhbHXDqSDDoCAwLCDCqyBsZXQgwrsgcmVudm9pZSAxLCBzaW5vbiAwIGVzdCByZW52b3nDqS4iCiAKLSM6IGJ1aWx0aW5zLmM6OTY2Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzo5NzEKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgogIiAgICBcbiIKQEAgLTM0MTYsNDggKzM3NjIsNjQgQEAKICJvdXQsXG4iCiAiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCiBtc2dzdHIgIiIKLSJVbmUgbGlnbmUgZXN0IGx1ZSBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIG91IGRlcHVpcyBsZSBkZXNjcmlwdGV1ciBkZSAiCi0iZmljaGllclxuIgotIiAgICBGRCBzaSBsJ29wdGlvbiDCqyAtdSDCuyBlc3QgZm91cm5pZS4gTGUgcHJlbWllciBtb3QgZXN0IGFmZmVjdMOpIGF1IHByZW1pZXIgIgotIk5BTUUsXG4iCi0iICAgIGxlIHNlY29uZCBtb3QgYXUgc2Vjb25kIE5BTUUsIGV0IGFpbnNpIGRlIHN1aXRlLCBsZXMgbW90cyByZXN0YW50cyDDqXRhbnQgIgotImFmZmVjdMOpc1xuIgotIiAgICBhdSBkZXJuaWVyIE5BTUUuIFNldWxzIGxlcyBjYXJhY3TDqHJlcyBzaXR1w6lzIGRhbnMgwqsgJElGUyDCuyBzb250IHJlY29ubnVzICIKLSJjb21tZVxuIgotIiAgICDDqXRhbnQgZGVzIGTDqWxpbWl0ZXVycyBkZSBtb3RzLiBTaSBhdWN1biBOQU1FIG4nZXN0IGZvdXJuaSwgbGEgbGlnbmUgZXN0ICIKLSJjb25zZXJ2w6llXG4iCi0iICAgIGRhbnMgbGEgdmFyaWFibGUgUkVQTFkuIEwnb3B0aW9uIMKrIC1yIMK7IHNpZ25pZmllIMKrIGVudHLDqWUgYnJ1dGUgwrsgZXQgbGEgIgotIm5ldXRyYWxpc2F0aW9uIFxuIgotIiAgICBwYXIgYmFycmUgb2JsaXF1ZSBpbnZlcnNlIGVzdCBkw6lzYWN0aXbDqWUuIEwnb3B0aW9uIMKrIC1kIMK7IGluZGlxdWUgZGUgIgotImNvbnRpbnVlclwiICAgIGxhIGxlY3R1cmUganVzcXUnw6AgY2UgcXVlIGxlIHByZW1pZXIgY2FyYWN0w6hyZSBkZSBERUxJTSBzb2l0ICIKLSJsdSBwbHV0w7R0IHF1ZVxuIgotIiAgICBsZSByZXRvdXIgw6AgbGEgbGlnbmUuIFNpIMKrIC1wIMK7IGVzdCBmb3VybmksIGxhIGNoYcOubmUgUFJPTVBUIGVzdCAiCi0iYWZmaWNow6llXG4iCi0iICAgIHNhbnMgcmV0b3VyIMOgIGxhIGxpZ25lIGZpbmFsIGF2YW50IGxhIHRlbnRhdGl2ZSBkZSBsZWN0dXJlLiBTaSDCqyAtYSDCuyAiCi0iZXN0IGZvdXJuaSxcbiIKLSIgICAgbGVzIG1vdHMgbHVzIHNvbnQgYWZmZWN0w6lzIGVuIHPDqXF1ZW5jZSBhdXggaW5kaWNlcyBkdSBUQUJMRUFVLCBlbiAiCi0iY29tbWVuw6dhbnRcbiIKLSIgICAgw6AgesOpcm8uIFNpIMKrIC1lIMK7IGVzdCBmb3VybmkgZXQgcXVlIGxlIHNoZWxsIGVzdCBpbnRlcmFjdGlmLCDCqyByZWFkbGluZSAiCi0iwrsgZXN0XG4iCi0iICAgIHV0aWxpc8OpIHBvdXIgb2J0ZW5pciBsYSBsaWduZS4gU2kgwqsgLW4gwrsgZXN0IGZvdXJuaSBhdmVjIHVuIGFyZ3VtZW50ICIKLSJOQ0hBUlMgbm9uIG51bCxcbiIKLSIgICAgwqsgcmVhZCDCuyBzZSB0ZXJtaW5lIGFwcsOocyBxdWUgTkNIQVJTIGNhcmFjdMOocmVzIG9udCDDqXTDqSBsdXMuIEwnb3B0aW9uIMKrIC0iCi0icyDCu1xuIgotIiAgICBwZXJtZXQgYXV4IGRvbm7DqWVzIHZlbmFudCBkJ3VuIHRlcm1pbmFsIGRlIG5lIHBhcyDDqnRyZSByw6lww6l0w6llcy5cbiIKKyJMaXQgdW5lIGxpZ25lIGRlcHVpcyBsJ2VudHLDqWUgc3RhbmRhcmQgZXQgbGEgZMOpY291cGVyIGVuIG1vcmNlYXV4LlxuIgogIiAgICBcbiIKLSIgICAgTCdvcHRpb24gwqsgLXQgwrsgcGVybWV0IMOgIMKrIHJlYWQgwrsgZGUgc2UgdGVybWluZXIgYXZlYyB1bmUgZXJyZXVyIHNpIHVuZSAiCi0ibGlnbmVcbiIKLSIgICAgZW50acOocmUgZGUgZG9ubsOpZXMgbmUgbHVpIGEgcGFzIMOpdMOpIGZvdXJuaWUgYXZhbnQgbGUgRMOJTEFJIGQnZXhwaXJhdGlvbi4gIgotIlNpIGxhXG4iCi0iICAgIHZhcmlhYmxlIFRNT1VUIGVzdCBkw6lmaW5pZSwgc2EgdmFsZXVyIGVzdCBsZSBkw6lsYWkgZCdleHBpcmF0aW9uIHBhciAiCi0iZMOpZmF1dC4gTGUgY29kZVxuIgotIiAgICBkZSByZXRvdXIgZXN0IHrDqXJvIMOgIG1vaW5zIHF1J3VuZSBmaW4gZGUgZmljaGllciBuZSBzb2l0IHJlbmNvbnRyw6llLCBxdWUgIgotIsKrIHJlYWQgwrtcbiIKLSIgICAgYXR0ZWlnbmUgbGUgZMOpbGFpIGQnZXhwaXJhdGlvbiBvdSBxdSd1biBkZXNjcmlwdGV1ciBkZSBmaWNoaWVyIGluY29ycmVjdCAiCi0ibmUgc29pdFxuIgotIiAgICBmb3VybmkgcG91ciBsJ2FyZ3VtZW50IMKrIC11IMK7LiIKKyIgICAgTGl0IHVuZSBzaW1wbGUgbGlnbmUgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCBvdSBkZXB1aXMgbGUgZGVzY3JpcHRldXIgIgorImRlIGZpY2hpZXIgRkRcbiIKKyIgICAgc2kgbCdvcHRpb24gwqsgLXUgwrsgZXN0IGZvdXJuaWUuICBMYSBsaWduZSBlc3QgZMOpY291cMOpZSBlbiBtb3JjZWF1eCBjb21tZSAiCisiZGVzIG1vdHMsXG4iCisiICAgIGV0IGxlIHByZW1pZXIgbW90IGVzdCBhc3NpZ27DqSBhdSBwcmVtaWVyIE5PTSwgbGUgZGV1eGnDqG1lIG1vdCBhdSAiCisiZGV1eGnDqG1lIE5PTSxcbiIKKyIgICAgZXQgYWluc2kgZGUgc3VpdGUsIGxlIGRlcm5pZXIgTk9NIHLDqWN1cMOpcmFudCBsYSBsaXN0ZSBkZXMgbW90cyAiCisicmVzdGFudHMuXG4iCisiICAgIFNldWwgbGVzIGNhcmFjdMOocmVzIHRyb3V2w6lzIGRhbnMgJElGUyBzb250IHJlY29ubnVzIGNvbW1lIGTDqWxpbWl0ZXVyc1xuIgorIiAgICBkZSBtb3RzXG4iCisiICAgIFxuIgorIiAgICBTaSBhdWN1biBOT00gbidlc3QgZm91cm5pLCBsYSBsaWduZSBsdWUgZXN0IHN0b2Nrw6llIGRhbnMgbGEgdmFyaWFibGUgIgorIlJFUExZLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLWEgdGFibGVhdVx0YWZmZWN0ZXIgbGVzIGluZGljZXMgZGUgbGEgdmFyaWFibGUgdGFibGVhdSAiCisic8OpcXVlbnRpZWxsZW1lbnQgYXV4IG1vdHMgbHVzLFxuIgorIiAgICBcdFx0ZW4gY29tbWFuw6dhbnQgw6AgMFxuIgorIiAgICAgIC1kIGTDqWxpbVx0Y29udGludWVyIGp1c3F1J8OgIGNlIHF1ZSBsZSBwcmVtaWVyIGNhcmFjdMOocmUgZGUgREVMSU0gc29pdCAiCisibHUsXG4iCisiICAgIFx0XHRhdSBsaWV1IGR1IHJldG91ciDDoCBsYSBsaWduZVxuIgorIiAgICAgIC1lXHRcdHV0aWxpc2VyIMKrIFJlYWRsaW5lIMK7IHBvdXIgb2J0ZW5pciBsYSBsaWduZSBkYW5zIHVuIHNoZWxsICIKKyJpbnRlcmFjdGlmXG4iCisiICAgICAgLWkgdGV4dGVcdFV0aWxpc2VyIFRFWFRFIGNvbW1lIHRleHRlIGluaXRpYWwgcG91ciDCqyBSZWFkbGluZSDCu1xuIgorIiAgICAgIC1uIG5cdHRlcm1pbmVyIGFwcsOocyBhdm9pciBsdSBOIGNhcmFjdMOocmVzIHBsdXTDtHQgcXVlIGQnYXR0ZW5kcmVcbiIKKyIgICAgXHRcdHVuIHJldG91ciDDoCBsYSBsaWduZSwgbWFpcyBvYsOpaXIgw6AgdW4gZMOpbGltaXRldXIgc2kgbW9pbnMgZGUgTiAiCisiY2FyYWN0w6hyZXNcbiIKKyIgICAgXHRcdHNvbnQgbHVzIGF2YW50IGxlIGTDqWxpbWl0ZXVyXG4iCisiICAgICAgLU4gblx0dGVybWluZSBzZXVsZW1lbnQgYXByw6hzIGF2b2lyIGx1IGV4YWN0ZW1lbnQgTiBjYXJhY3TDqHJlcywgw6AgIgorIm1vaW5zXG4iCisiICAgIFx0XHRxdWUgbGUgY2FyYWN0w6hyZSBFT0Ygc29pdCByZWNvbnRyw6kgb3UgcXVlIGxlIGTDqWxhaSBkZSBsZWN0dXJlICIKKyJuJ2V4cGlyZSwgZW4gaWdub3JhbnQgdG91dCBkw6lsaW1pdGV1clxuIgorIiAgICAgIC1wIHByb21wdFx0YWZmaWNoZSBsYSBjaGHDrm5lIFBST01QVCBzYW5zIHJldG91ciDDoCBsYSBsaWduZSBmaW5hbCwgIgorImF2YW50IGRlIHRlbnRlciB1bmVcbiIKKyIgICAgXHRcdGxlY3R1cmVcbiIKKyIgICAgICAtclx0XHRuZSBwYXMgcGVybWV0dHJlIGF1eCBiYXJyZXMgb2JsaXF1ZXMgaW52ZXJzZXMgZGUgc2UgY29tcG9ydGVyICIKKyJjb21tZSBkZXMgY2FyYWN0w6hyZXMgZCfDqWNoYXBwZW1lbnRcbiIKKyIgICAgICAtc1x0XHRuZSBwYXMgcsOpcMOpdGVyIGwnZW50csOpZSBwcm92ZW5hbnQgZCd1biB0ZXJtaW5hbFxuIgorIiAgICAgIC10IHRpbWVvdXRcdGV4cGlyZSBldCByZW52b2llIHVuIGNvZGUgZCfDqWNoZWMgc2kgdW5lIGxpZ25lIGQnZW50csOpZSAiCisiY29tcGzDqHRlIG4nZXN0IHBhc1xuIgorIiAgICBcdFx0bHVlIGVuIG1vaW5zIGRlIFRJTUVPVVQgc2Vjb25kZXMuICBMYSB2YWxldXIgZGUgbGEgdmFyaWFibGUgVElNRU9VVFxuIgorIiAgICBcdFx0ZXN0IGxlIGTDqWxhaSBkJ2V4cGlyYXRpb24gcGFyIGTDqWZhdXQuICBUSU1FT1VUIHBldXQgw6p0cmUgdW4gbm9tYnJlIMOgICIKKyJ2aXJndWxlXG4iCisiICAgIFx0XHRTaSBUSU1FT1VUIGVzdCDDoCwgbGEgbGVjdHVyZSByZW52b2llIHVuIGNvZGUgZGUgc3VjY8OocyBzZXVsZW1lbnRcbiIKKyIgICAgXHRcdHNpIGwnZW50csOpZSBlc3QgZGlzcG9uaWJsZSBzdXIgbGUgZGVzY3JpcHRldXQgZGUgZmljaGllci4gIExlIGNvZGVcbiIKKyIgICAgXHRcdGRlIHNvcnRpZSBlc3Qgc3Vww6lyaWV1ciDDoCAxMjggc2kgbGUgZMOpbGFpIGEgZXhwaXLDqVxuIgorIiAgICAgIC11IGZkXHRcdGxpcmUgZGVwdWlzIGxlIGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIgRkQgcGx1dMO0dCBxdWUgbCdlbnRyw6llICIKKyJzdGFuZGFyZFxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBMZSBjb2RlIGRlIHJldG91ciBlc3QgMCwgw6AgbW9pbnMgcXUndW5lIGZpbiBkZSBmaWNoaWVyIG5lIHN1cnZpZW5uZSwgcXVlICIKKyJsZSBkw6lsYWkgZXhwaXJlLFxuIgorIiAgICBvdSBxdSd1biBkZXNjcmlwdGV1ciBkZSBmaWNoaWVyIG5vbiB2YWxhYmxlIG5lIHNvaXQgZm91cm5pIGNvbW1lICIKKyJhcmd1bWVudCDDoCDCqyAtdSDCuy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAwOQorIzogYnVpbHRpbnMuYzoxMDE0CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzQ2OCw4ICszODMwLDE5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCisiVGVybWluZSBkZXB1aXMgdW5lIGZvbmN0aW9uIGR1IHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgRW50cmFpbmUgbCdhcnLDqnQgZCd1bmUgZm9uY3Rpb24gb3UgZCd1biBzY3JpcHQgc291cmPDqSwgYXZlYyBsZSBjb2RlIGRlICIKKyJyZXRvdXIgc3DDqWNpZmnDqSBwYXIgTi5cbiIKKyIgICAgU2kgTiBlc3Qgb21pcywgbGUgY29kZSBkZSByZXRvdXIgZXN0IGNlbHVpIGRlIGxhIGRlcm5pw6hyZSBjb21tYW5kZSAiCisiZXjDqWN1dMOpZVxuIgorIiAgICDDoCBsJ2ludMOpcmlldXIgZGUgbGEgZm9uY3Rpb24gb3UgZHUgc2NyaXB0XG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHJldG91ciA6XG4iCisiICAgIFJlbnZvaWUgTiBvdSBsZSBjb2RlIGQnw6ljaGVjIHNpIGxlIHNoZWxsIG4nZXN0IHBhcyBlbiB0cmFpbiBkJ2V4w6ljdXRlciAiCisidW5lIGZvbmN0aW9uIG91IHVuIHNjcmlwdC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CiAjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKQEAgLTM1MzksNiArMzkxMiw5IEBACiAiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgogIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCiAiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKICIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKICIgICAgXG4iCkBAIC0zNTUxLDkgKzM5MjcsMTYgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCi0iICAgIC1hICBNYXJxdWVyIHBvdXIgbCdleHBvcnQgdG91dGVzIGxlcyB2YXJpYWJsZXMgcXVpIHNvbnQgbW9kaWZpw6llcyBvdSAiCisiRMOpZmluaXQgb3UgaW52YWxpZGUgZGVzIHZhbGV1cnMgZCdvcHRpb25zIGV0IGRlcyBwYXJhbcOodHJlcyBkZSBwb3NpdGlvbiBkdSAiCisic2hlbGwgICAgXG4iCisiICAgIENoYW5nZSBsYSB2YWxldXIgZGVzIGF0dHJpYnV0cyBkdSBzaGVsbCBldCBkZXMgcGFyYW3DqHRyZXMgZGUgcG9zaXRpb24sICIKKyJvdVxuIgorIiAgICBhZmZpY2hlIGxlcyBub21zIGV0IHZhbGV1cnMgZGVzIHZhcmlhYmxlcyBkdSBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnMgOlxuIgorIiAgICAgICAgLWEgIE1hcnF1ZXIgcG91ciBsJ2V4cG9ydCB0b3V0ZXMgbGVzIHZhcmlhYmxlcyBxdWkgc29udCBtb2RpZmnDqWVzIG91ICIKICJjcsOpw6llcy5cbiIKLSIgICAgICAgIC1iICBBdmVydGlyIGltbcOpZGlhdGVtZW50IMOgIGxhIGZpbiBkJ3VuZSB0w6JjaGUuXG4iCisiICAgICAgICAtYiAgQXZlcnRpciBpbW3DqWRpYXRlbWVudCBkZSBsYSBmaW4gZCd1bmUgdMOiY2hlLlxuIgogIiAgICAgICAgLWUgIFRlcm1pbmVyIGltbcOpZGlhdGVtZW50IHNpIHVuZSBjb21tYW5kZSBzJ2FycsOqdGUgYXZlYyB1biBjb2RlIGRlICIKICJyZXRvdXIgbm9uIG51bC5cbiIKICIgICAgICAgIC1mICBEw6lzYWN0aXZlciBsYSBnw6luw6lyYXRpb24gZGUgbm9tIGRlIGZpY2hpZXIgKGdsb2JiaW5nKS5cbiIKQEAgLTM1NzQsOCArMzk1Nyw4IEBACiAiICAgICAgICAgICAgICAgIGhhc2hhbGwgICAgICBpZGVudGlxdWUgw6AgLWhcbiIKICIgICAgICAgICAgICAgICAgaGlzdGV4cGFuZCAgIGlkZW50aXF1ZSDDoCAtSFxuIgogIiAgICAgICAgICAgICAgICBoaXN0b3J5ICAgICAgYWN0aXZlciBsJ2hpc3RvcmlxdWUgZGVzIGNvbW1hbmRlc1xuIgotIiAgICAgICAgICAgICAgICBpZ25vcmVlb2YgICAgbmUgcGFzIHRlcm1pbmVyIGxlIHNoZWxsIMOgIGxhIGxlY3R1cmUgZCd1biDCqyAiCi0iRU9GIMK7XG4iCisiICAgICAgICAgICAgICAgIGlnbm9yZWVvZiAgICBuZSBwYXMgdGVybWluZXIgbGUgc2hlbGwgw6AgbGEgbGVjdHVyZSBkJ3VuIMKrIEVPRiAiCisiwrtcbiIKICIgICAgICAgICAgICAgICAgaW50ZXJhY3RpdmUtY29tbWVudHNcbiIKICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBlcm1ldCBhdXggY29tbWVudGFpcmVzIGQnYXBwYXJhw650cmUgZGFucyBsZXMgIgogImNvbW1hbmRlcyBpbnRlcmFjdGl2ZXNcbiIKQEAgLTM2MDgsMTUgKzM5OTEsMTYgQEAKICJsJ2ltcG9ydCBkZXNcbiIKICIgICAgICAgICAgICBmb25jdGlvbnMgZHUgc2hlbGwuIETDqXNhY3RpdmVyIGNldHRlIG9wdGlvbiBwZXJtZXQgZGUgZMOpZmluaXIgIgogImxlcyB1aWQgZXQgZ2lkXG4iCi0iICAgICAgICAgICAgZWZmZWN0aWZzIMOgIGxhIHZhbGV1ciBkZXMgdWlkIGV0IGdpZCByw6llbHMuICAgICAgICAtdCAgVGVybWluZXIgIgotImFwcsOocyBsYSBsZWN0dXJlIGV0IGwnZXjDqWN1dGlvbiBkJ3VuZSBjb21tYW5kZS5cbiIKKyIgICAgICAgICAgICBlZmZlY3RpZnMgw6AgbGEgdmFsZXVyIGRlcyB1aWQgZXQgZ2lkIHLDqWVscy5cbiIKKyIgICAgICAgIC10ICBUZXJtaW5lciBhcHLDqHMgbGEgbGVjdHVyZSBldCBsJ2V4w6ljdXRpb24gZCd1bmUgY29tbWFuZGUuXG4iCiAiICAgICAgICAtdSAgVHJhaXRlciBsZXMgdmFyaWFibGVzIG5vbiBkw6lmaW5pZXMgY29tbWUgZGVzIGVycmV1cnMgbG9ycyBkZSBsYSAiCiAic3Vic3RpdHV0aW9uLlxuIgogIiAgICAgICAgLXYgIEFmZmljaGVyIGxlcyBsaWduZXMgZCdlbnRyw6llIGR1IHNoZWxsIMOgIGxldXIgbGVjdHVyZS5cbiIKICIgICAgICAgIC14ICBBZmZpY2hlciBsZXMgY29tbWFuZGVzIGV0IGxldXJzIGFyZ3VtZW50cyBhdSBtb21lbnQgZGUgbGV1ciAiCiAiZXjDqWN1dGlvbi5cbiIKLSIgICAgICAgIC1CICBFZmZlY3R1ZXIgbCdleHBhbnNpb24gZGVzIGFjY29sYWRlcyAgICAgICAgLUMgIFNpIGTDqWZpbml0LCAiCi0iZW1ww6pjaGUgbGVzIGZpY2hpZXJzIHLDqWd1bGllcnMgZXhpc3RhbnRzIGQnw6p0cmUgw6ljcmFzw6lzIHBhciB1bmVcbiIKKyIgICAgICAgIC1CICBFZmZlY3R1ZXIgbCdleHBhbnNpb24gZGVzIGFjY29sYWRlc1xuIgorIiAgICAgICAgLUMgIFNpIGTDqWZpbml0LCBlbXDDqmNoZSBsZXMgZmljaGllcnMgcsOpZ3VsaWVycyBleGlzdGFudHMgZCfDqnRyZSAiCisiw6ljcmFzw6lzIHBhciB1bmVcbiIKICIgICAgICAgICAgICByZWRpcmVjdGlvbiBkZSBsYSBzb3J0aWUuXG4iCiAiICAgICAgICAtRSAgU2kgZMOpZmluaXQsIGwnaW50ZXJjZXB0aW9uIEVSUiBlc3QgaMOpcml0w6llIHBhciBsZXMgZm9uY3Rpb25zIGR1ICIKICJzaGVsbC5cbiIKQEAgLTM2MzIsMTcgKzQwMTYsMjAgQEAKICJwb3NpdGlvbi5cbiIKICIgICAgICAgICAgICBMZXMgb3B0aW9ucyDCqyAteCDCuyBldCDCqyAtdiDCuyBzb250IGTDqXNhY3RpdsOpZXMuXG4iCiAiICAgIFxuIgotIiAgICBDZXMgaW5kaWNhdGV1cnMgcGV1dmVudCDDqnRyZSBkw6lzYWN0aXbDqXMgZW4gdXRpbGlzYW50IMKrICsgwrsgcGx1dMO0dCBxdWUgwqsgIgotIi0gwrsuIElscyBwZXV2ZW50XG4iCisiICAgIENlcyBpbmRpY2F0ZXVycyBwZXV2ZW50IMOqdHJlIGTDqXNhY3RpdsOpcyBlbiB1dGlsaXNhbnQgwqsgKyDCuyBwbHV0w7R0IHF1ZSDCqyAtICIKKyLCuy4gSWxzIHBldXZlbnRcbiIKICIgICAgw6p0cmUgdXRpbGlzw6lzIGxvcnMgZGUgbCdhcHBlbCBhdSBzaGVsbC4gTGUgamV1IGQnaW5kaWNhdGV1cnMgYWN0dWVsIHBldXQgIgogIsOqdHJlIHRyb3V2w6lcbiIKLSIgICAgZGFucyDCqyAkLSDCuy4gIExlcyBuIEFSR3MgcmVzdGFudHMgc29udCBkZXMgcGFyYW3DqHRyZXMgZGUgcG9zaXRpb24gZXQgIgotInNvbnQgYWZmZWN0w6lzLFxuIgorIiAgICBkYW5zIMKrICQtIMK7LiAgTGVzIG4gQVJHcyByZXN0YW50cyBzb250IGRlcyBwYXJhbcOodHJlcyBkZSBwb3NpdGlvbiBldCBzb250ICIKKyJhZmZlY3TDqXMsXG4iCiAiICAgIGRhbnMgbCdvcmRyZSwgw6AgJDEsICQyLCAuLiAkbi4gIFNpIGF1Y3VuIEFSRyBuJ2VzdCBkb25uw6ksIHRvdXRlcyBsZXMgIgogInZhcmlhYmxlcyBkdSBzaGVsbFxuIgotIiAgICBzb250IGFmZmljaMOpZXMuIgorIiAgICBzb250IGFmZmljaMOpZXMuICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1J3VuZSBvcHRpb24gbm9uIHZhbGFibGUgbmUgc29pdCAiCisiZG9ubsOpZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTEwNAorIzogYnVpbHRpbnMuYzoxMTEyCiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zNjYxLDggKzQwNDgsMjUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCiBtc2dzdHIgIiIKKyJBbm51bGUgZGVzIHZhbGV1cnMgb3UgZGVzIGF0dHJpYnV0cyBkZSB2YXJpYWJsZXMgZXQgZGUgZm9uY3Rpb25zIGR1IHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgUG91ciBjaGFxdWUgTk9NLCBhbm51bGUgbGEgdmFyaWFibGUgb3UgZm9uY3Rpb24gY29ycmVzcG9uZGFudGUuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIDpcbiIKKyIgICAgICAtZlx0dHJhaXRlIGNoYXF1ZSBOT00gY29tbWUgdW5lIGZvbmN0aW9uIGR1IHNoZWxsXG4iCisiICAgICAgLXZcdHRyYWl0ZSBjaGFxdWUgTk9NIGNvbW1lIHVuZSB2YXJpYWJsZSBkdSBzaGVsbFxuIgorIiAgICBcbiIKKyIgICAgU2FucyBvcHRpb24sIMKrIHVuc2V0IMK7IGVzc2F5ZSBkJ2Fib3JkIGQnYW5udWxlciB1bmUgdmFyaWFibGUgZXQsIFxuIgorIiAgICBlbiBjYXMgZCfDqWNoZWMsIGVzc2F5ZSBkJ2FubnVsZXIgbGEgZm9uY3Rpb24uXG4iCisiICAgIFxuIgorIiAgICBDZXJ0YWluZXMgdmFyaWFibGVzIG5lIHBldXZlbnQgcGFzIMOqdHJlIGFubnVsw6llcyA7IGNvbnN1bHRleiBhdXNzaSDCqyAiCisicmVhZG9ubHkgwrsuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHJldG91ciA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1J3VuZSBvcHRpb24gbm9uIHZhbGFibGUgbmUgc29pdCAiCisiZG9ubsOpZSBvdSBxdWUgTk9NIHNvaXQgZW4gbGVjdHVyZSBzZXVsZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTEyNAorIzogYnVpbHRpbnMuYzoxMTMyCiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzY4MCw4ICs0MDg0LDI1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKKyJEw6lmaW5pdCBsJ2F0dHJpYnV0IMKrIGV4cG9ydCDCuyBwb3VyIGRlcyB2YXJpYWJsZXMgZHUgc2hlbGwuXG4iCisiICAgIFxuIgorIiAgICBNYXJxdWUgY2hhcXVlIE5PTSBwb3VyIGV4cG9ydCBhdXRvbWF0aXF1ZSB2ZXJzIGwnZW52aXJvbm5lbWVudCBkZXMgIgorImNvbW1hbmRlc1xuIgorIiAgICBleMOpY3V0w6llcyB1bHTDqXJpZXVyZW1lbnQuICBTaSBWQUxFVVIgZXN0IGZvdXJuaWUsIGFmZmVjdGUgbGEgVkFMRVVSICIKKyJhdmFudCBsJ2V4cG9ydC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnMgOlxuIgorIiAgICAgIC1mXHRzZSByw6lmw6lyZXIgYXV4IGZvbmN0aW9ucyBkdSBzaGVsbFxuIgorIiAgICAgIC1uXHRlbmzDqHZlIGxhIHByb3ByacOpdMOpIGQnZXhwb3J0IGRlIGNoYXF1ZSBOT01cbiIKKyIgICAgICAtcFx0YWZmaWNoZSB1bmUgbGlzdGUgZGUgdG91dGVzIGxlcyB2YXJpYWJsZXMgZXQgZm9uY3Rpb25zIGV4cG9ydMOpZXNcbiIKKyIgICAgXG4iCisiICAgIEwnYXJndW1lbnQgwqsgLS0gwrsgZMOpc2FjdGl2ZSB0b3V0IHRyYWl0ZW1lbnQgcG9zdMOpcmlldXIgZCdvcHRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSByZXRvdXIgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgc3VjY8OocyDDoCBtb2lucyBxdSd1bmUgb3B0aW9uIG5vbiB2YWxhYmxlIG5lIHNvaXQgIgorImRvbm7DqWVzIG91IHF1ZSBOT00gbmUgc29pdCBwYXMgdmFsYWJsZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MworIzogYnVpbHRpbnMuYzoxMTUxCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zNzAwLDggKzQxMjEsMjggQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgorIk1hcnF1ZSBkZXMgdmFyaWFibGVzIGR1IHNoZWxsIGNvbW1lIG5vbiBtb2RpZmlhYmxlcy5cbiIKKyIgICAgXG4iCisiICAgIE1hcnF1ZSBjaGFxdWUgTk9NIGNvbW1lIMOpdGFudCBlbiBsZWN0dXJlIHNldWxlIDsgbGVzIHZhbGV1cnMgZGUgY2VzIE5PTXMgIgorIm5lIHBldXZlbnQgcGx1c1xuIgorIiAgICDDqnRyZSBtb2RpZmnDqWVzIHBhciBkZXMgYWZmZWN0YXRpb25zIHVsdMOpcmlldXJlcy4gIFNpIFZBTEVVUiBlc3QgZm91bmllLCAiCisibHVpIGFmZmVjdGVyIGxhIFZBTEVVUiBhdmFudCBsZVxuIgorIiAgICBwYXNzYWdlIGVuIGxlY3R1cmUgc2V1bGUuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIDpcbiIKKyIgICAgICAtYVx0c2UgcsOpZsOpcmVyIMOgIGRlcyB2YXJpYWJsZXMgw6l0YW50IGRlcyB0YWJsZWF1eCBpbmRleMOpc1xuIgorIiAgICAgIC1BXHRzZSByw6lmw6lyZXIgw6AgZGVzIHZhcmlhYmxlcyDDqXRhbnQgZGVzIHRhYmxlYXV4IGFzc29jaWF0aWZzXG4iCisiICAgICAgLWZcdHNlIHLDqWbDqXJlciDDoCBkZXMgZm9uY3Rpb25zIGR1IHNoZWxsXG4iCisiICAgICAgLXBcdGFmZmljaGVyIHVuZSBsaXN0ZSBkZXMgdG91dGVzIGxlcyBmb25jdGlvbnMgZXQgdmFyaWFibGVzIGVuICIKKyJsZWN0dXJlIHNldWxlXG4iCisiICAgIFxuIgorIiAgICBVbiBhcmd1bWVudCDCqyAtLSDCuyBkw6lzYWN0aXZlIHRvdXQgdHJhaXRlbWVudCBwb3N0w6lyaWV1ciBkJ29wdGlvbnMuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHJldG91ciA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1J3VuZSBvcHRpb25zIG5vbiB2YWxhYmxlIG5lIHNvaXQgIgorImRvbm7DqWVzIG91IHF1ZSBOT00gbmUgc29pdCBwYXMgdmFsYWJsZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE2NAorIzogYnVpbHRpbnMuYzoxMTcyCiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zNzExLDkgKzQxNTIsMTYgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCisiRMOpY2FsZSBkZXMgcGFyYW3DqHRyZXMgZGUgcG9zaXRpb24uXG4iCisiICAgIFxuIgorIiAgICBSZW5vbW1lIGxlcyBwYXJhbcOodHJlcyBkZSBwb3NpdGlvbiAkTisxLCROKzIgLi4uIMOgICQxLCQyIC4uLiAgU2kgTiBuJ2VzdCAiCisicGFzXG4iCisiICAgIGRvbm7DqSwgaWwgZXN0IHN1cHBvc8OpIMOpZ2FsIMOgIDEuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHJldG91ciA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1ZSBOIHNvaXQgbsOpZ2F0aWYgb3Ugc3Vww6lyaWV1ciDDoCAkIy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzcyNiwxNCArNDE3NCwyMiBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCBpbiBGSUxFTkFNRTsgZmFpbHMgaWZcbiIKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCi0iTGl0IGV0IGV4w6ljdXRlIGxlcyBjb21tYW5kZXMgZGVwdWlzIGxlIGZpY2hpZXIgRklMRU5BTUUgcHVpcyBzZSB0ZXJtaW5lLiBMZXMgIgotImNoZW1pbnNcbiIKLSIgICAgZGFucyAkUEFUSCBzb250IHV0aWxpc8OpcyBwb3VyIHRyb3V2ZXIgbGUgcsOpcGVydG9pcmUgY29udGVuYW50IEZJTEVOQU1FLlxuIgorIkV4ZWN1dGUgZGVzIGNvbW1hbmRlcyBkZXB1aXMgdW4gZmljaGllciBkYW5zIGxlIHNoZWxsIGFjdHVlbC5cbiIKKyIgICAgXG4iCisiICAgIExpdCBldCBleMOpY3V0ZSBkZXMgY29tbWFuZGVzIGRlcHVpcyBOT01GSUNISUVSIGRhbnMgbGUgc2hlbGwgYWN0dWVsLiAgIgorIkxlc1xuIgorIiAgICDDqWzDqW1lbnRzIGRhbnMgJFBBVEggc29udCB1dGlsaXPDqXMgcG91ciB0cm91dmVyIGxlIHLDqXBlcnRvaXJlIGNvbnRlbmFudCAiCisiTk9NRklDSElFUi5cbiIKICIgICAgU2kgZGVzIEFSR1VNRU5UUyBzb250IGZvdXJuaXMsIGlscyBkZXZpZW5uZW50IGxlcyBwYXJhbcOodHJlcyBkZSAiCiAicG9zaXRpb25cbiIKLSIgICAgbG9yc3F1ZSBGSUxFTkFNRSBlc3QgZXjDqWN1dMOpLiIKKyIgICAgbG9yc3F1ZSBOT01GSUNISUVSIGVzdCBleMOpY3V0w6kuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBsYSBkZXJuacOocmUgY29tbWFuZGUgZXjDqWN1dMOpZSBkYW5zIE5PTUZJQ0hJRVIsIG91IGxlICIKKyJjb2RlXG4iCisiICAgIGQnw6ljaGVjIHNpIE5PTUZJQ0hJRVIgbmUgcGV1dCBwYXMgw6p0cmUgbHUuIgogCi0jOiBidWlsdGlucy5jOjEyMDcKKyM6IGJ1aWx0aW5zLmM6MTIxNQogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNzQ2LDggKzQyMDIsMjEgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgorIlN1c3BlbmQgbCdleMOpY3V0aW9uIGR1IHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgU3VzcGVuZCBsJ2V4w6ljdXRpb24gZGUgY2Ugc2hlbGwganVzcXUnw6AgcXUnaWwgcmXDp29pdmUgdW4gc2lnbmFsICIKKyJTSUdDT05ULlxuIgorIiAgICDDgCBtb2lucyBxdWUgY2Ugc29pdCBmb3Jjw6ksIGxlcyBzaGVsbCBkZSBjb25uZXhpb24gbmUgcGV1dmVudCBwYXMgw6p0cmUgIgorInN1c3BlbmR1cy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnMgOlxuIgorIiAgICAgIC1mXHRmb3JjZSBsYSBzdXNwZW5zaW9uLCBtw6ptZSBzaSBsZSBzaGVsbCBlc3QgdW4gc2hlbGwgZGUgY29ubmV4aW9uXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHJldG91ciA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1ZSBsZSBjb250csO0bGUgZGUgdMOiY2hlIG5lIHNvaXQgcGFzICIKKyJhY3RpdsOpIG91IHF1J3VuZSBlcnJldXIgc3Vydmllbm5lLiIKIAotIzogYnVpbHRpbnMuYzoxMjIzCisjOiBidWlsdGlucy5jOjEyMzEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCkBAIC0zNzU1LDcgKzQyMjQsMTAgQEAKICIgICAgRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlKSBvciAxIChmYWxzZSkgZGVwZW5kaW5nIG9uXG4iCiAiICAgIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnlcbiIKICIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCi0iICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFzIHdlbGwsIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgogIiAgICBcbiIKICIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgpAQCAtMzgwOSw2ICs0MjgxLDcgQEAKICIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKICIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgogIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKICIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgogIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCkBAIC0zODI0LDcgKzQyOTcsOSBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgRVhQUiBldmFsdWF0ZXMgdG8gdHJ1ZTsgZmFpbHMgaWYgRVhQUiBldmFsdWF0ZXMgdG9cbiIKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKLSJTZSB0ZXJtaW5lIGF2ZWMgbGUgY29kZSBkZSByZXRvdXIgMCAodnJhaSkgb3UgMSAoZmF1eCkgc2Vsb25cbiIKKyLDiXZhbHVlIHVuZSBleHByZXNzaW9uIGNvbmRpdGlvbm5lbGxlLlxuIgorIiAgICBcbiIKKyIgICAgU2UgdGVybWluZSBhdmVjIGxlIGNvZGUgZGUgcmV0b3VyIDAgKHZyYWkpIG91IDEgKGZhdXgpIHNlbG9uXG4iCiAiICAgIGxlIHLDqXN1bHRhdCBkZSBsJ8OpdmFsdWF0aW9uIGRlIEVYUFIuIExlcyBleHByZXNzaW9ucyBwZXV2ZW50IMOqdHJlXG4iCiAiICAgIHVuYWlyZXMgb3UgYmluYWlyZXMuIExlcyBleHByZXNzaW9ucyB1bmFpcmVzIHNvbnQgc291dmVudCB1dGlsaXPDqWVzXG4iCiAiICAgIHBvdXIgZXhhbWluZXIgbCfDqXRhdCBkJ3VuIGZpY2hpZXIuIElsIGV4aXN0ZSBhdXNzaSBkZXMgb3DDqXJhdGV1cnMgZGVcbiIKQEAgLTM4OTMsMjAgKzQzNjgsMjUgQEAKICIgICAgTGVzIG9ww6lyYXRldXJzIGFyaXRobcOpdGlxdWVzIGJpbmFpcmVzIHJlbnZvaWVudCDCqyB2cmFpIMK7IHNpIEFSRzEgZXN0ICIKICLDqWdhbCxcbiIKICIgICAgbm9uLcOpZ2FsLCBpbmbDqXJpZXVyLCBpbmbDqXJpZXVyIG91IMOpZ2FsLCBzdXDDqXJpZXVyLCBzdXDDqXJpZXVyIG91IMOpZ2FsIMOgICIKLSJBUkcyLiIKKyJBUkcyLiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgc3VjY8OocyBzaSBFWFBSIGVzdCB2cmFpZSwgbGUgY29kZSBkJ8OpY2hlYyBzaSBFWFBSIGVzdCAiCisiZmF1c3NlIG91IHNpXG4iCisiICAgIHVuIGFyZ3VtZW50IG5vbiB2YWxhYmxlIGVzdCBkb25uw6kuIgogCi0jOiBidWlsdGlucy5jOjEyOTkKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjEzMTEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCiAiICAgIFRoaXMgaXMgYSBzeW5vbnltIGZvciB0aGUgXCJ0ZXN0XCIgYnVpbHRpbiwgYnV0IHRoZSBsYXN0IGFyZ3VtZW50IG11c3RcbiIKICIgICAgYmUgYSBsaXRlcmFsIGBdJywgdG8gbWF0Y2ggdGhlIG9wZW5pbmcgYFsnLiIKIG1zZ3N0ciAiIgotIkNlY2kgZXN0IHVuIHN5bm9ueW1lIGRlIGxhIHByaW1pdGl2ZSDCqyB0ZXN0IMK7LCBtYWlzIGxlIGRlcm5pZXIgYXJndW1lbnRcbiIKKyLDiXZhbHVlIHVuZSBleHByZXNzaW9uIGNvbmRpdGlvbm5lbGxlLlxuIgorIiAgICBcbiIKKyIgICAgQ2VjaSBlc3QgdW4gc3lub255bWUgZGUgbGEgcHJpbWl0aXZlIMKrIHRlc3QgwrssIG1haXMgbGUgZGVybmllciBhcmd1bWVudFxuIgogIiAgICBkb2l0IMOqdHJlIGxlIGNhcmFjdMOocmUgwqsgXSDCuywgcG91ciBmZXJtZXIgbGUgwqsgWyDCuyBjb3JyZXNwb25kYW50LiIKIAotIzogYnVpbHRpbnMuYzoxMzA4CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTM5MTcsOCArNDM5NywxNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgorIkFmZmljaGUgbGVzIHRlbXBzIGRlcyBwcm9jZXNzdXMuXG4iCisiICAgIFxuIgorIiAgICBBZmZpY2hlIGxlIGN1bXVsIGRlcyB0ZW1wcyB1dGlsaXNhdGV1ciBldCBzeXN0w6htZSBwb3VyIGxlIHNoZWxsIGV0XG4iCisiICAgIHRvdXMgc2VzIHByb2Nlc3N1cyBmaWxzLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSByZXRvdXIgOlxuIgorIiAgICBUb3Vqb3VycyBsZSBjb2RlIGRlIHN1Y2PDqHMuIgogCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgogIywgZnV6enkKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCkBAIC0zOTM1LDcgKzQ0MjIsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtMzk1NCwzMiArNDQ0OSw0MiBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgU0lHU1BFQyBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKICJnaXZlbi4iCiBtc2dzdHIgIiIKLSJMYSBjb21tYW5kZSBBUkcgZG9pdCDDqnRyZSBsdWUgZXQgZXjDqWN1dMOpZSBsb3JzcXVlIGxlIHNoZWxsIHJlw6dvaXQgbGVcbiIKKyJJbnRlcmNlcHRlciBkZXMgc2lnbmF1eCBldCBkJ2F1dHJlcyDDqXbDqW5lbWVudHMuXG4iCisiICAgIFxuIgorIiAgICBEw6lmaW5pdCBldCBhY3RpdmUgZGVzIGdlc3Rpb25uYWlyZXMgw6AgbGFuY2VyIGxvcnNxdWUgbGUgc2hlbGwgcmXDp29pdCBkZXMgIgorInNpZ25hdXhcbiIKKyIgICAgb3Ugc291cyBkJ2F1dHJlcyBjb25kaXRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgTGEgY29tbWFuZGUgQVJHIGRvaXQgw6p0cmUgbHVlIGV0IGV4w6ljdXTDqWUgbG9yc3F1ZSBsZSBzaGVsbCByZcOnb2l0IGxlXG4iCiAiICAgIHNpZ25hbCBTSUdOQUxfU1BFQy4gU2kgQVJHIGVzdCBhYnNlbnQgKGV0IHF1J3VuIHVuaXF1ZSBTSUdOQUxfU1BFQylcbiIKICIgICAgZXN0IGZvdXJuaSkgb3Ugw6lnYWwgw6AgwqsgLSDCuywgdG91cyBsZXMgc2lnbmF1eCBzcMOpY2lmacOpIHNvbnQgcmVtaXNcbiIKICIgICAgw6AgbGV1ciB2YWxldXIgZCdvcmlnaW5lLiBTaSBBUkcgZXN0IHVuZSBjaGHDrm5lIHZpZGUsIHRvdXMgbGVzICIKICJTSUdOQUxfU1BFQ1xuIgotIiAgICBzb250IGlnbm9yw6lzIHBhciBsZSBzaGVsbCBldCBsZXMgY29tbWFuZGVzIHF1J2lsIGFwcGVsbGUuIFNpICIKLSJTSUdOQUxfU1BFQ1xuIgotIiAgICBlc3QgRVhJVCAoMCksIGxhIGNvbW1hbmRlIEFSRyBlc3QgZXjDqWN1dMOpZSDDoCBsYSBzb3J0aWUgZHUgc2hlbGwuIFNpIHVuXG4iCi0iICAgIFNJR05BTF9TUEVDIGVzdCBERUJVRywgQVJHIGVzdCBleMOpY3V0w6kgYXByw6hzIGNoYXF1ZSBjb21tYW5kZSBzaW1wbGUuIFxuIgotIiAgICBTaSBsJ29wdGlvbiDCqyAtcCDCuyBlc3QgZm91cm5pZSwgbGVzIGNvbW1hbmRlcyBkJ2ludGVyY2VwdGlvbiBhc3NvY2nDqWVzICIKLSLDoFxuIgotIiAgICBjaGFxdWUgU0lHTkFMX1NQRUMgc29udCBhZmZpY2jDqWVzLiBTaSBhdWN1biBhcmd1bWVudCBuJ2VzdCBmb3Vybmkgb3UgIgotInNpIFxuIgotIiAgICDCqyAtcCDCuyBlc3QgZm91cm5pIHNldWwsIMKrIHRyYXAgwrsgYWZmaWNoZSBsYSBsaXN0ZSBkZXMgY29tbWFuZGVzICIKKyIgICAgc29udCBpZ25vcsOpcyBwYXIgbGUgc2hlbGwgZXQgbGVzIGNvbW1hbmRlcyBxdSdpbCBhcHBlbGxlLlxuIgorIiAgICBcbiIKKyIgICAgU2kgU0lHTkFMX1NQRUMgZXN0IEVYSVQgKDApLCBsYSBjb21tYW5kZSBBUkcgZXN0IGV4w6ljdXTDqWUgw6AgbGEgc29ydGllIGR1ICIKKyJzaGVsbC4gU2kgdW5cbiIKKyIgICAgU0lHTkFMX1NQRUMgZXN0IERFQlVHLCBBUkcgZXN0IGV4w6ljdXTDqSBhcHLDqHMgY2hhcXVlIGNvbW1hbmRlIHNpbXBsZS5cbiIKKyIgICAgXG4iCisiICAgIFNpIGF1Y3VuIGFyZ3VtZW50IG4nZXN0IGZvdXJuaSwgwqsgdHJhcCDCuyBhZmZpY2hlIGxhIGxpc3RlIGRlcyBjb21tYW5kZXMgIgogImFzc29jacOpZXNcbiIKLSIgICAgw6AgY2hhcXVlIHNpZ25hbC4gQ2hhcXVlIFNJR05BTF9TUEVDIGVzdCBzb2l0IHVuIG5vbSBkZSBzaWduYWwgZGFucyAiCi0iPHNpZ25hbC5oPlxuIgorIiAgICDDoCBjaGFxdWUgc2lnbmFsLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLWxcdGFmZmljaGUgbGEgbGlzdGUgZGVzIG5vbXMgZGUgc2lnbmF1eCBldCBsZXVyIG51bcOpcm8gY29ycmVzcG9uZGFudFxuIgorIiAgICAgIC1wXHRhZmZpY2hlIGxlcyBjb21tYW5kZXMgZGUgwqsgdHJhcCDCuyBhc3NvY2nDqWVzIMOgIGNoYXF1ZSBTSUdOQUxfU1BFQ1xuIgorIiAgICBcbiIKKyIgICAgQ2hhcXVlIFNJR05BTF9TUEVDIGVzdCBzb2l0IHVuIG5vbSBkZSBzaWduYWwgZGFucyA8c2lnbmFsLmg+XG4iCiAiICAgIG91IHVuIG51bcOpcm8gZGUgc2lnbmFsLiBMZXMgbm9tcyBkZSBzaWduYXV4IHNvbnQgaW5zZW5zaWJsZXMgw6AgbGEgY2Fzc2UgIgogImV0XG4iCi0iICAgIGxlIHByw6lmaXhlIMKrIFNJRyDCuyBlc3QgZmFjdWx0YXRpZi4gwqsgdHJhcCAtbCDCuyBhZmZpY2hlIGxhIGxpc3RlIGRlcyAiCi0ic2lnbmF1eFxuIgotIiAgICBldCBsZXVyIG51bcOpcm9zIGNvcnJlc3BvbmRhbnRzLiBSZW1hcnF1ZXogcXUndW4gc2lnbmFsIHBldXQgw6p0cmUgZW52b3nDqSAiCi0iYXVcbiIKLSIgICAgc2hlbGwgYXZlYyDCqyBraWxsIC1zaWduYWwgJCQgwrsuIgorIiAgICBsZSBwcsOpZml4ZSDCqyBTSUcgwrsgZXN0IGZhY3VsdGF0aWYuIFVuIHNpZ25hbCBwZXV0IMOqdHJlIGVudm95w6kgYXVcbiIKKyIgICAgc2hlbGwgYXZlYyDCqyBraWxsIC1zaWduYWwgJCQgwrsuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1ZSBTSUdTUEVDIG5lIHNvaXQgcGFzIHZhbGFibGUgb3UgIgorInF1J3VuZSBvcHRpb24gbm9uIHZhbGFibGUgbmUgc29pdCBkb25uw6llLiIKIAotIzogYnVpbHRpbnMuYzoxMzUyCisjOiBidWlsdGlucy5jOjEzNjgKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtNDAwOCw5ICs0NTEzLDM5IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBhbGwgb2YgdGhlIE5BTUVzIGFyZSBmb3VuZDsgZmFpbHMgaWYgYW55IGFyZSBub3QgIgogImZvdW5kLiIKIG1zZ3N0ciAiIgorIkFmZmljaGUgZGVzIGluZm9ybWF0aW9ucyBzdXIgbGUgdHlwZSBkZSBjb21tYW5kZS5cbiIKKyIgICAgXG4iCisiICAgIFBvdXIgY2hhcXVlIE5PTSwgaW5kaXF1ZSBjb21tZW50IGlsIHNlcmFpdCBpbnRlcnByw6p0w6kgcydpbCDDqXRhaXRcbiIKKyIgICAgdXRpbGlzw6kgY29tbWUgdW4gbm9tIGRlIGNvbW1hbmRlLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLWFcdGFmZmljaGUgdG91cyBsZXMgZW1wbGFjZW1lbnRzIGNvbnRlbmFudCB1biBleMOpY3V0YWJsZSBub21tw6kgTk9NO1xuIgorIiAgICBcdGluY2x1dCBsZXMgYWxpYXMsIGxlcyBjb21tYW5kZXMgaW50w6lncsOpZXMgZXQgbGVzIGZvbmN0aW9ucyBzaSBldCAiCisic2V1bGVtZW50IHNpXG4iCisiICAgIFx0bCdvcHRpb24gbidlc3QgcGFzIMKrIC1wIMK7IG4nZXN0IHBhcyB1dGlsaXPDqWVcbiIKKyIgICAgICAtZlx0ZMOpc2FjdGl2ZSBsYSByZWNoZXJjaGUgZGUgZm9uY3Rpb25zIGR1IHNoZWxsXG4iCisiICAgICAgLVBcdGZvcmNlIHVuZSByZWNoZXJjaGUgZGUgQ0hFTUlOIHBvdXIgY2hhcXVlIE5PTSwgbcOqbWUgc2kgYydlc3QgdW4gIgorImFsaWFzLFxuIgorIiAgICBcdHVuZSBjb21tYW5kZSBpbnTDqWdyw6llIG91IHVuZSBmb25jdGlvbiBldCByZW52b2llIGxlIG5vbSBkdSBmaWNoaWVyIGR1ICIKKyJkaXNxdWVcbiIKKyIgICAgXHRxdWkgc2VyYWl0IGV4w6ljdXTDqVxuIgorIiAgICAgIC1wXHRyZW52b2llIHNvaXIgbGUgbm9tIGR1IGZpY2hpZXIgZHUgZGlzcXVlIHF1aSBzZXJhaXQgZXjDqWN1dMOpLFxuIgorIiAgICBcdHNvaXQgcmllbiBzaSDCqyB0eXBlIC10IE5PTSDCuyBuZSByZW52b3lhaXQgcGFzIMKrIGZpbGUgwrsuXG4iCisiICAgICAgLXRcdGFmZmljaGUgdW4gbW90IHVuaXF1ZSBwYXJtaSDCqyBhbGlhcyDCuywgwqsga2V5d29yZCDCuyxcbiIKKyIgICAgXHTCqyBmdW5jdGlvbiDCuywgwqsgYnVpbHRpbiDCuywgwqsgZmlsZSDCuyBvciDCqyDCuywgc2kgTk9NIGVzdCByZXNwZWN0aXZlbWVudCB1biAiCisiYWxpYXMsXG4iCisiICAgIFx0dW4gbW90IHLDqXNlcnbDqSBkdSBzaGVsbCwgdW5lIGZvbmN0aW9uIGR1IHNoZWxsLCB1bmUgY29tbWFuZGUgIgorImludMOpZ3LDqWUsXG4iCisiICAgIFx0dW4gZmljaGllciBkdSBkaXNxdWUgb3UgdW4gbm9tIGluY29ubnVcbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50cyA6XG4iCisiICAgICAgTk9NXHROb20gZGUgY29tbWFuZGUgw6AgaW50ZXJwcsOpdGVyLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSByZXRvdXIgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgc3VjY8OocyBzaSB0b3VzIGxlcyBOT01zIHNvbnQgdHJvdXbDqXMsIGxlIGNvZGUgZCfDqWNoZWMgIgorInNpIGwndW4gZCdlbnRyZSBldXggbidlc3QgcGFzIHRyb3V2w6kuIgogCi0jOiBidWlsdGlucy5jOjEzODMKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjEzOTkKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC00MDUzLDE0ICs0NTg4LDE3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSLCqyB1bGltaXQgwrsgZm91cm5pdCB1biBjb250csO0bGUgc3VyIGxlcyByZXNzb3VyY2VzIGRpc3BvbmlibGVzIGF1eFxuIgotIiAgICBwcm9jZXNzdXMgbGFuY8OpcyBkZXB1aXMgbGUgc2hlbGwsIHN1ciBsZXMgc3lzdMOobWVzIHF1aSBwZXJtZXR0ZW50XG4iCi0iICAgIGNlIGdlbnJlIGRlIGNvbnRyw7RsZXMuIFNpIHVuZSBvcHRpb24gZXN0IGRvbm7DqWUsIGVsbGUgZXN0IGludGVycHLDqXTDqWVcbiIKLSIgICAgZGUgbGEgc29ydGUgOlxuIgorIk1vZGlmaWUgbGVzIGxpbWl0ZXMgZGUgcmVzc291cmNlcyBkdSBzaGVsbC5cbiIKICIgICAgXG4iCisiICAgIEZvdXJuaXQgdW4gY29udHLDtGxlIHN1ciBsZXMgcmVzc291cmNlcyBkaXNwb25pYmxlcyBhdSBzaGVsbCBldCBhdXggIgorInByb2Nlc3N1c1xuIgorIiAgICBxdSdpbCBjcsOpZSwgc3VyIGxlcyBzeXN0w6htZXMgcXVpIHBlcm1ldHRlbnQgdW4gdGVsIGNvbnRyw7RsZS4gXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIDpcbiIKICIgICAgICAgIC1TXHR1dGlsaXNlciBsYSBsaW1pdGUgZGUgcmVzc291cmNlcyDCqyBzb2Z0IMK7XG4iCiAiICAgICAgICAtSFx0dXRpbGlzZXIgbGEgbGltaXRlIGRlIHJlc3NvdXJjZXMgwqsgaGFyZCDCu1xuIgogIiAgICAgICAgLWFcdHRvdXRlcyBsZXMgbGltaXRlcyBhY3R1ZWxsZXMgc29udCBwcsOpc2VudMOpZXNcbiIKKyIgICAgICAgIC1iXHRsYSB0YWlsbGUgZHUgdGFtcG9uIGRlIHNvY2tldFxuIgogIiAgICAgICAgLWNcdHRhaWxsZSBtYXhpbWFsZSBkZXMgZmljaGllcnMgwqsgY29yZSDCuyBjcsOpw6lzXG4iCiAiICAgICAgICAtZFx0dGFpbGxlIG1heGltYWxlIGR1IHNlZ21lbnQgZGUgZG9ubsOpZXMgZCd1biBwcm9jZXNzdXNcbiIKICIgICAgICAgIC1lXHRsYSBwcmlvcml0w6kgbWF4aW1hbGUgZCdvcmRvbm5hbmNlbWVudCAowqsgbmljZSDCuylcbiIKQEAgLTQwODYsMTMgKzQ2MjQsMTggQEAKICJkdXJlLFxuIgogIiAgICBvdSDDoCB1bmUgYWJzZW5jZSBkZSBsaW1pdGUuIFNpbm9uIGxhIHZhbGV1ciBhY3R1ZWxsZSBkZSBsYSBsaW1pdGUgZXN0ICIKICJhZmZpY2jDqWVcbiIKLSIgICAgU2kgYXVjdW5lIG9wdGlvbiBuJ2VzdCBkb25uw6llLCDCqyAtZiDCuyBlc3Qgc3VwcG9zw6llLiBMZXMgdmFsZXVycyBzb250XG4iCi0iICAgIGRlcyBtdWx0aXBsZXMgZGUgMTAyNCBvY3RldHMsIHNhdWYgcG91ciDCqyAtdCDCuyBxdWkgcHJlbmQgZGVzIHNlY29uZGVzLFxuIgotIiAgICDCqyAtcCDCuyBxdWkgcHJlbmQgdW4gbXVsdGlwbGUgZGUgNTEyIG9jdGV0cyBldCDCqyAtdSDCuyBxdWkgcHJlbmQgdW4gIgotIm5vbWJyZVxuIgotIiAgICBzYW5zIHVuaXTDqS4iCisiICAgIFNpIGF1Y3VuZSBvcHRpb24gbidlc3QgZG9ubsOpZSwgwqsgLWYgwrsgZXN0IHN1cHBvc8OpZS5cbiIKKyIgICAgXG4iCisiICAgIExlcyB2YWxldXJzIHNvbnQgZGVzIG11bHRpcGxlcyBkZSAxMDI0IG9jdGV0cywgc2F1ZiBwb3VyIMKrIC10IMK7IHF1aSBwcmVuZCAiCisiZGVzIHNlY29uZGVzLFxuIgorIiAgICDCqyAtcCDCuyBxdWkgcHJlbmQgdW4gbXVsdGlwbGUgZGUgNTEyIG9jdGV0cyBldCDCqyAtdSDCuyBxdWkgcHJlbmQgdW4gbm9tYnJlXG4iCisiICAgIGRlIHByb2Nlc3N1cyBzYW5zIHVuaXTDqS5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHN1Y2PDqHMgw6AgbW9pbnMgcXUndW5lIG9wdGlvbiBub24gdmFsYWJsZSBuZSBzb2l0ICIKKyJmb3VybmllIG91IHF1J3VuZSBlcnJldXIgbmUgc3Vydmllbm5lLiIKIAotIzogYnVpbHRpbnMuYzoxNDI4CisjOiBidWlsdGlucy5jOjE0NDQKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtNDEwOSw4ICs0NjUyLDI4IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKKyJBZmZpY2hlIG91IGTDqWZpbml0IGxlIG1hc3F1ZSBkZSBtb2RlIGRlIGZpY2hpZXIuXG4iCisiICAgIFxuIgorIiAgICBEw6lmaW5pdCBsZSBtYXNxdWUgZGUgY3LDqWF0aW9uIGRlIGZpY2hpZXIgY29tbWUgw6l0YW50IE1PREUuICBTaSBNT0RFIGVzdCAiCisib21pcywgYWZmaWNoZVxuIgorIiAgICBsYSB2YWxldXIgY291cmFudGUgZHUgTUFTUVVFLlxuIgorIiAgICBcbiIKKyIgICAgU2kgTU9ERSBjb21tZW5jZSBwYXIgdW4gY2hpZmZyZSwgaWwgZXN0IGludGVycHLDqXTDqSBjb21tZSB1biBub21icmUgIgorIm9jdGFsIDtcbiIKKyIgICAgc2lub24gY29tbWUgdW5lIGNoYcOubmUgZGUgc3ltYm9sZXMgZGUgbW9kZSBjb21tZSBjZXV4IGFjY2VwdMOpcyBwYXIgY2htb2QiCisiKDEpLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLXBcdHNpIE1PREUgZXN0IG9taXMsIGFmZmljaGVyIHNvdXMgdW5lIGZvcm1lIHLDqXV0aWxpc2FibGUgY29tbWUgdW5lICIKKyJlbnRyw6llXG4iCisiICAgICAgLVNcdGFmZmljaGVyIHNvdXMgZm9ybWUgc3ltYm9saXF1ZSwgc2lub24gbGEgc29ydGllIG9jdGFsZSBlc3QgIgorInV0aWxpc8OpZVxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSByZXRvdXIgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgc3VjY8OocyDDoCBtb2lucyBxdWUgTU9ERSBuZSBzb2l0IHBhcyB2YWxhYmxlIG91IHF1J3VuZSAiCisib3B0aW9uIG5vbiB2YWxhYmxlIG5lIHNvaXQgZG9ubsOpZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDEyNiw5ICs0Njg5LDIzIEBACiAiaXNcbiIKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCisiQXR0ZW5kIGxhIGZpbiBkJ3VuZSB0w6JjaGUgZXQgcmVudm9pZSBsZSBjb2RlIGRlIHJldG91ci5cbiIKKyIgICAgXG4iCisiICAgIEF0dGVuZCBxdWUgbGUgcHJvY2Vzc3VzIGlkZW50aWZpw6kgcGFyIElELCBxdWkgcGV1dCDDqnRyZSB1biBJRCBkZSAiCisicHJvY2Vzc3VzIG91XG4iCisiICAgIHVuZSBzcMOpY2lmaWNhdGlvbiBkZSB0w6JjaGUgZXQgcmVudm9pZSBzb24gY29kZSBkZSByZXRvdXIuICBTaSBJRCBuJ2VzdCAiCisicGFzXG4iCisiICAgIGRvbm7DqSwgbGEgY29tbWFuZGUgYXR0ZW5kIHRvdXMgbGVzIHByb2Nlc3N1cyBhY3RpZnMgZW4gY291cnMgZXQgbGUgY29kZSAiCisiZGUgcmV0b3VyXG4iCisiICAgIGVzdCB6w6lyby4gIFNpIElEIGVzdCB1bmUgc3DDqWNpZmljYXRpb24gZGUgdMOiY2hlLCBsYSBjb21tYW5kZSBhdHRlbmQgdG91cyAiCisibGVzIHByb2Nlc3N1c1xuIgorIiAgICBkYW5zIGxlIHBpcGVsaW5lIGRlIGxhIHTDomNoZS5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgcmV0b3VyIDpcbiIKKyIgICAgUmVudm9pZSBsZSBtw6ptZSBjb2RlIHF1ZSBjZWx1aSBkJ0lELCBvdSBsZSBjb2RlIGQnw6ljaGVjIHNpIElEIG4nZXN0IHBhcyAiCisidmFsYWJsZSBvdSBlbiBjYXMgZCdvcHRpb24gbm9uIHZhbGFibGUuIgogCi0jOiBidWlsdGlucy5jOjE0NjYKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE0ODIKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDE0MSwxNCArNDcxOCwxOCBAQAogImlzXG4iCiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgotIkF0dGVuZCBsZSBwcm9jZXNzdXMgc3DDqWNpZmnDqSBldCBkb25uZSBzb24gY29kZSBkZSByZXRvdXIuIFNpIE4gbidlc3RcbiIKKyJBdHRlbmQgbGEgZmluIGQndW4gcHJvY2Vzc3VzIGV0IHJlbnZvaWUgbGUgY29kZSBkZSBzb3J0aWUuXG4iCisiICAgIFxuIgorIiAgICBBdHRlbmQgbGUgcHJvY2Vzc3VzIHNww6ljaWZpw6kgZXQgZG9ubmUgc29uIGNvZGUgZGUgcmV0b3VyLiBTaSBQSUQgbidlc3RcbiIKICIgICAgcGFzIGRvbm7DqSwgdG91cyBsZXMgcHJvY2Vzc3VzIGZpbHMgYWN0dWVsbGVtZW50IGFjdGlmcyBzb250IGF0dGVuZHVzXG4iCi0iICAgIGV0IGxlIGNvZGUgZGUgcmV0b3VyIGVzdCB6w6lyby4gTiBwZXV0IMOqdHJlIHVuIG7CsCBkZSBwcm9jZXNzdXMgb3UgdW5cbiIKLSIgICAgc3DDqWNpZmljYXRldXIgZGUgdMOiY2hlLiBTaSBjJ2VzdCB1biBzcMOpY2lmaWNhdGV1ciBkZSB0w6JjaGUsIHRvdXMgbGVzXG4iCi0iICAgIHByb2Nlc3N1cyBwcsOpc2VudHMgZGFucyBsZSB0dWJlIGRlIGxhIHTDomNoZSBzb250IGF0dGVuZHVzLiIKKyIgICAgZXQgbGUgY29kZSBkZSByZXRvdXIgZXN0IHrDqXJvLiBQSUQgZG9pdCDDqnRyZSB1biBJRCBkZSBwcm9jZXNzdXMuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBJRCwgbCfDqWNoZWMgc2kgSUQgbidlc3QgcGFzIHZhbGFibGUgb3Ugc2kgdW5lIG9wdGlvbiAiCisibm9uIHZhbGFibGVcbiIKKyIgICAgZXN0IGRvbm7DqWUuIgogCi0jOiBidWlsdGlucy5jOjE0ODEKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE0OTcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTQxNjAsMTQgKzQ3NDEsMTggQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgotIkxhIGJvdWNsZSDCqyBmb3IgwrsgZXjDqWN1dGUgdW5lIHN1aXRlIGRlIGNvbW1hbmRlcyBwb3VyIGNoYXF1ZSBtZW1icmUgZCd1bmVcbiIKLSIgICBsaXN0ZSBkJ8OpbMOpbWVudHMuIFNpIMKrIGluIFdPUkRTIC4uLjsgwrsgbidlc3QgcGFzIGZvdXJuaSwgwqsgaW4gXCIkQFwiIMK7ICIKLSJlc3RcbiIKLSIgICAgdXRpbGlzw6kuIFBvdXIgY2hhcXVlIMOpbMOpbWVudCBkYW5zIFdPUkRTLCBOQU1FIGVzdCBkw6lmaW5pIMOgIGNldCDDqWzDqW1lbnQsXG4iCi0iICAgIGV0IGxlcyBDT01NQU5EUyBzb250IGV4w6ljdXTDqWVzLiIKKyJFeMOpY3V0ZSBkZXMgY29tbWFuZGVzIHBvdXIgY2hhcXVlIG1lbWJyZSBkJ3VuZSBsaXN0ZS5cbiIKKyIgICAgXG4iCisiICAgIExhIGJvdWNsZSDCqyBmb3IgwrsgZXjDqWN1dGUgdW5lIHN1aXRlIGRlIGNvbW1hbmRlcyBwb3VyIGNoYXF1ZSBtZW1icmUgIgorImQndW5lXG4iCisiICAgIGxpc3RlIGQnw6lsw6ltZW50cy4gU2kgwqsgaW4gTU9UUyAuLi47IMK7IG4nZXN0IHBhcyBmb3VybmksIMKrIGluIFwiJEBcIiDCuyBlc3RcbiIKKyIgICAgdXRpbGlzw6kuIFBvdXIgY2hhcXVlIMOpbMOpbWVudCBkYW5zIE1PVFMsIE5PTSBlc3QgZMOpZmluaSDDoCBjZXQgw6lsw6ltZW50LFxuIgorIiAgICBldCBsZXMgQ09NTUFOREVTIHNvbnQgZXjDqWN1dMOpZXMuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBsYSBkZXJuacOocmUgY29tbWFuZGUgZXjDqWN1dMOpZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTUxMQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTQxODMsNyArNDc2OCw5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKLSLDiXF1aXZhbGVudCDDoFxuIgorIkJvdWNsZSDCqyBmb3IgwrsgYXJpdGhtw6l0aXF1ZS5cbiIKKyIgICAgXG4iCisiICAgIMOJcXVpdmFsZW50IMOgXG4iCiAiICAgIFx0KCggRVhQMSApKVxuIgogIiAgICBcdHdoaWxlICgoIEVYUDIgKSk7IGRvXG4iCiAiICAgIFx0XHRDT01NQU5EU1xuIgpAQCAtNDE5MSwxMCArNDc3OCwxMiBAQAogIiAgICBcdGRvbmVcbiIKICIgICAgRVhQMSwgRVhQMiwgYW5kIEVYUDMgc29udCBkZXMgZXhwcmVzc2lvbnMgYXJpdGhtw6l0aXF1ZXMuICBTaSB1bmUgIgogImV4cHJlc3Npb25cbiIKLSIgICAgb21pc2UsIGVsbGUgc2UgY29tcG9ydGUgY29tbWUgc2kgZWxsZSBzJ8OpdmFsdWFpdCDDoCAxLiIKKyIgICAgb21pc2UsIGVsbGUgc2UgY29tcG9ydGUgY29tbWUgc2kgZWxsZSBzJ8OpdmFsdWFpdCDDoCAxLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgbGEgZGVybmnDqHJlIGNvbW1hbmRlIGV4w6ljdXTDqWUuIgogCi0jOiBidWlsdGlucy5jOjE1MTMKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE1MjkKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTQyMTMsNyArNDgwMiw5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKLSJMZXMgbW90cyBXT1JEUyBzdWJpc3NlbnQgdW5lIGV4cGFuc2lvbiBldCBnw6luw6hyZW50IHVuZSBsaXN0ZSBkZSBtb3RzLlxuIgorIlPDqWxlY3Rpb25uZSBkZXMgbW90cyBkJ3VuZSBsaXN0ZSBldCBleMOpY3V0ZSBkZXMgY29tbWFuZGVzLlxuIgorIiAgICBcbiIKKyIgICAgTGVzIG1vdHMgV09SRFMgc3ViaXNzZW50IHVuZSBleHBhbnNpb24gZXQgZ8OpbsOocmVudCB1bmUgbGlzdGUgZGUgbW90cy5cbiIKICIgICAgTCdlbnNlbWJsZSBkZSBjZXMgbW90cyBlc3QgYWZmaWNow6kgZGFucyBsYSBzb3J0aWUgZCdlcnJldXIsIGNoYWN1blxuIgogIiAgICDDqXRhbnQgcHLDqWPDqWTDqSBkJ3VuIG5vbWJyZS4gU2kgwqsgaW4gV09SRFMgwrsgbidlc3QgcGFzIGZvdXJuaSwgXG4iCiAiICAgIMKrIGluIFwiJEBcIiDCuyBlc3QgdXRpbGlzw6kuIEwnaW52aXRlIFBTMyBlc3QgZW5zdWl0ZSBhZmZpY2jDqWUgZXQgdW5lXG4iCkBAIC00MjIzLDEwICs0ODE0LDEyIEBACiAiICAgIGVzdCBsdSwgbGEgY29tbWFuZGUgc2UgdGVybWluZS4gVG91dGUgYXV0cmUgdmFsZXVyIGx1ZSBhIHBvdXIgZWZmZXRcbiIKICIgICAgZGUgdmlkZXIgTkFNRS4gTGEgbGlnbmUgbHVlIGVzdCBjb25zZXJ2w6llIGRhbnMgbGEgdmFyaWFibGUgUkVQTFkuXG4iCiAiICAgIExlcyBDT01NQU5EUyBzb250IGV4w6ljdXTDqWVzIGFwcsOocyBjaGFxdWUgc8OpbGVjdGlvbiBqdXNxdSfDoCBjZSBxdSd1bmVcbiIKLSIgICAgY29tbWFuZGUgwqsgYnJlYWsgwrsgc29pdCBleMOpY3V0w6llLiIKKyIgICAgY29tbWFuZGUgwqsgYnJlYWsgwrsgc29pdCBleMOpY3V0w6llLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgbGEgZGVybmnDqHJlIGNvbW1hbmRlIGV4w6ljdXTDqWUuIgogCi0jOiBidWlsdGlucy5jOjE1MzQKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE1NTAKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDI0MSwxNCArNDgzNCwyMyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogbXNnc3RyICIiCi0iRXjDqWN1dGUgUElQRUxJTkUgZXQgYWZmaWNoZSB1biByw6lzdW3DqSBkdSB0ZW1wcyByw6llbCwgZHUgdGVtcHMgcHJvY2Vzc2V1clxuIgorIlNpZ25hbGUgbGUgdGVtcHMgcGFzc8OpIHBlbmRhbnQgbCdleMOpY3V0aW9uIGQndW4gdHViZSBkZSBjb21tYW5kZXMuXG4iCisiICAgIFxuIgorIiAgICBFeMOpY3V0ZSBQSVBFTElORSBldCBhZmZpY2hlIHVuIHLDqXN1bcOpIGR1IHRlbXBzIHLDqWVsLCBkdSB0ZW1wcyAiCisicHJvY2Vzc2V1clxuIgogIiAgICB1dGlsaXNhdGV1ciwgZXQgZHUgdGVtcHMgcHJvY2Vzc2V1ciBzeXN0w6htZSBwYXNzw6lzIMOgIGV4w6ljdXRlciBQSVBFTElORVxuIgotIiAgICBsb3JzcXVlIGNlbHVpLWNpIHNlIHRlcm1pbmUuIExlIGNvZGUgZGUgcmV0b3VyIGVzdCBjZWx1aSBkZSBQSVBFTElORS5cbiIKLSIgICAgTCdvcHRpb24gwqsgLXAgwrsgYWZmaWNoZSBsZSByw6lzdW3DqSBkYW5zIHVuIGZvcm1hdCBsw6lnw6hyZW1lbnQgZGlmZsOpcmVudC5cbiIKLSIgICAgRWxsZSB1dGlsaXNlIGxhIHZhbGV1ciBkZSBsYSB2YXJpYWJsZSBUSU1FRk9STUFUIGNvbW1lIGZvcm1hdCBkZSBzb3J0aWUuIgorIiAgICBsb3JzcXVlIGNlbHVpLWNpIHNlIHRlcm1pbmUuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIDpcbiIKKyIgICAgICAtcFx0YWZmaWNoZSBsZSByw6lzdW3DqSBkYW5zIGxlIGZvcm1hdCBwb3J0YWJsZSBQb3NpeC5cbiIKKyIgICAgXG4iCisiICAgIExhIHZhbGV1ciBkZSBsYSB2YXJpYWJsZSBUSU1FRk9STUFUIGVzdCB1dGlsaXPDqWUgY29tbWUgZm9ybWF0IGRlICIKKyJzb3J0aWUuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIExlIGNvZGUgZGUgcmV0b3VyIGVzdCBjZWx1aSBkdSBQSVBFTElORS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU1MQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTU2NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCiAiICAgIFxuIgpAQCAtNDI1OCwxMiArNDg2MCwxNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCi0iRXjDqWN1dGUgZGUgbWFuacOocmUgc8OpbGVjdGl2ZSBsZXMgY29tbWFuZGVzIENPTU1BTkRTIGJhc8OpZXMgc3VyIGxlXG4iCi0iICAgIG1vdGlmIFBBVFRFUk4gZGUgY29ycmVzcG9uZGFuY2UgZGVzIG1vdHMgV09SRFMuIExlIGNhcmFjdMOocmVcbiIKLSIgICAgwqsgfCDCuyBlc3QgdXRpbGlzw6kgcG91ciBzw6lwYXJlciBsZXMgZGlmZsOpcmVudHMgbW90aWZzLiIKKyJFeMOpY3V0ZSBkZXMgY29tbWFuZGVzIHNlbG9uIHVuZSBjb3JyZXNwb25kYW5jZSBkZSBtb3RpZi5cbiIKKyIgICAgXG4iCisiICAgIEV4w6ljdXRlIGRlIG1hbmnDqHJlIHPDqWxlY3RpdmUgbGVzIENPTU1BTkRFUyBzZWxvbiBsYSBjb3JyZXNwb25kYW5jZSBkdSAiCisiTU9UXG4iCisiICAgIGF1IE1PVElGLiBMZSBjYXJhY3TDqHJlIMKrIHwgwrsgZXN0IHV0aWxpc8OpIHBvdXIgc8OpcGFyZXIgbGVzIGRpZmbDqXJlbnRzICIKKyJtb3RpZnMuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBsYSBkZXJuacOocmUgY29tbWFuZGUgZXjDqWN1dMOpZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MwotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTU3OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTQyODMsMjEgKzQ4OTAsMjUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgotIkxhIGxpc3RlIMKrIGlmIENPTU1BTkRTIMK7IGVzdCBleMOpY3V0w6llLiBTaSBlbGxlIHNlIHRlcm1pbmUgYXZlYyB1biBjb2RlIGRlICIKKyJFeMOpY3V0ZSBkZXMgY29tbWFuZGVzIHNlbG9uIHVuZSBjb25kaXRpb24uXG4iCisiICAgIFxuIgorIiAgICBMYSBsaXN0ZSDCqyBpZiBDT01NQU5ERVMgwrsgZXN0IGV4w6ljdXTDqWUuIFNpIGVsbGUgc2UgdGVybWluZSBhdmVjIHVuIGNvZGUgIgorImRlIHrDqXJvLFxuIgorIiAgICBhbG9ycyBsYSBsaXN0ZSDCqyB0aGVuIENPTU1BTkRFUyDCuyBlc3QgZXjDqWN1dMOpZS4gU2lub24sIGNoYXF1ZSBsaXN0ZVxuIgorIiAgICDCqyBlbGlmIENPTU1BTkRFUyDCuyBlc3QgZXjDqWN1dMOpZSDDoCBzb24gdG91ciBldCBzaSBzb24gY29kZSBkZSByZXRvdXIgZXN0ICIKICJ6w6lybyxcbiIKLSIgICAgYWxvcnMgbGEgbGlzdGUgwqsgdGhlbiBDT01NQU5EUyDCuyBlc3QgZXjDqWN1dMOpZS4gU2lub24sIGNoYXF1ZSBsaXN0ZVxuIgotIiAgICDCqyBlbGlmIENPTU1BTkRTIMK7IGVzdCBleMOpY3V0w6llIMOgIHNvbiB0b3VyIGV0IHNpIHNvbiBjb2RlIGRlIHJldG91ciBlc3QgIgotInrDqXJvLFxuIgotIiAgICBsYSBsaXN0ZSDCqyB0aGVuIENPTU1BTkRTIMK7IGNvcnJlc3BvbmRhbnRlIGVzdCBleMOpY3V0w6llIGV0IGxhIGNvbW1hbmRlIMKrICIKKyIgICAgbGEgbGlzdGUgwqsgdGhlbiBDT01NQU5ERVMgwrsgY29ycmVzcG9uZGFudGUgZXN0IGV4w6ljdXTDqWUgZXQgbGEgY29tbWFuZGUgwqsgIgogImlmIMK7XG4iCi0iICAgIHNlIHRlcm1pbmUuIFNpbm9uLCBsYSBsaXN0IMKrIGVsc2UgQ09NTUFORFMgwrsgZXN0IGV4w6ljdXTDqWUgc2kgZWxsZSAiCisiICAgIHNlIHRlcm1pbmUuIFNpbm9uLCBsYSBsaXN0IMKrIGVsc2UgQ09NTUFOREVTIMK7IGVzdCBleMOpY3V0w6llIHNpIGVsbGUgIgogImV4aXN0ZS5cbiIKICIgICAgTGUgY29kZSBkZSByZXRvdXIgZGUgbCdlbnNlbWJsZSBlc3QgY2VsdWkgZGUgbGEgZGVybmnDqHJlIGNvbW1hbmRlICIKICJleMOpY3V0w6llXG4iCi0iICAgIG91IHrDqXJvIHNpIGF1Y3VuZSBjb25kaXRpb24gbifDqXRhaXQgdnJhaWUuICAgICIKKyIgICAgb3UgesOpcm8gc2kgYXVjdW5lIGNvbmRpdGlvbiBuJ8OpdGFpdCB2cmFpZS5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIGxhIGRlcm5pw6hyZSBjb21tYW5kZSBleMOpY3V0w6llLiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCi0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxNTk2CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtNDMwNywxMyArNDkxOCwxNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCi0iRWZmZWN0dWUgdW5lIGV4cGFuc2lvbiBldCBleMOpY3V0ZSBsZXMgY29tbWFuZGVzIMKrIENPTU1BTkRTIMK7IGF1c3NpICIKLSJsb25ndGVtcHNcbiIKLSIgICAgcXVlIGxhIGNvbW1hbmRlIGZpbmFsZSBwYXJtaSBjZWxsZXMgZGUgwqsgd2hpbGUgwrsgc2UgdGVybWluZSBhdmVjIHVuXG4iCi0iICAgIGNvZGUgZGUgcmV0b3VyIGRlIHrDqXJvLiIKKyJFeMOpY3V0ZSBkZXMgY29tbWFuZGVzIGF1c3NpIGxvbmd0ZW1wcyBxdSdlbGxlIHLDqXVzc2lzc2VudC5cbiIKKyIgICAgXG4iCisiICAgIEVmZmVjdHVlIHVuZSBleHBhbnNpb24gZXQgZXjDqWN1dGUgbGVzIENPTU1BTkRFUyBhdXNzaSBsb25ndGVtcHNcbiIKKyIgICAgcXVlIGxhIGNvbW1hbmRlIGZpbmFsZSBwYXJtaSBjZWxsZXMgc2l0dcOpZXMgZGFucyDCqyB3aGlsZSDCuyBzZSB0ZXJtaW5lICIKKyJhdmVjIHVuXG4iCisiICAgIGNvZGUgZGUgcmV0b3VyIGRlIHrDqXJvLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgbGEgZGVybmnDqHJlIGNvbW1hbmRlIGV4w6ljdXTDqWUuIgogCi0jOiBidWlsdGlucy5jOjE1OTIKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE2MDgKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTQzMjMsMTIgKzQ5MzgsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgotIkVmZmVjdHVlIHVuZSBleHBhbnNpb24gZXQgZXjDqWN1dGUgbGVzIGNvbW1hbmRlcyDCqyBDT01NQU5EUyDCuyBhdXNzaSAiCisiRXjDqWN1dGUgZGVzIGNvbW1hbmRlcyBhdXNzaSBsb25ndGVtcHMgcXUndW4gdGVzdCDDqWNob3VlLlxuIgorIiAgICBcbiIKKyIgICAgRWZmZWN0dWUgdW5lIGV4cGFuc2lvbiBldCBleMOpY3V0ZSBsZXMgY29tbWFuZGVzIMKrIENPTU1BTkRFUyDCuyBhdXNzaSAiCiAibG9uZ3RlbXBzXG4iCiAiICAgIHF1ZSBsZXMgY29tbWFuZGVzIGRlIMKrIHVudGlsIMK7IHNlIHRlcm1pbmVudCBhdmVjIHVuIGNvZGUgZGUgcmV0b3VyXG4iCi0iICAgIGRpZmbDqXJlbnQgZGUgesOpcm8uIgorIiAgICBkaWZmw6lyZW50IGRlIHrDqXJvLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgbGEgZGVybmnDqHJlIGNvbW1hbmRlIGV4w6ljdXTDqWUuIgogCi0jOiBidWlsdGlucy5jOjE2MDQKKyM6IGJ1aWx0aW5zLmM6MTYyMAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00MzQwLDggKzQ5NjAsMTkgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCisiQ3LDqWUgdW4gY29wcm9jZXNzdXMgbm9tbcOpIE5PTS5cbiIKKyIgICAgXG4iCisiICAgIEV4w6ljdXRlIGxhIENPTU1BTkRFIGRlIG1hbmnDqHJlIGFzeW5jaHJvbmUsIGVuIGNvbm5lY3RhbnQgbGEgc29ydGllIGV0ICIKKyJsJ2VudHLDqWUgc3RhbmRhcmRcbiIKKyIgICAgZGUgbGEgY29tbWFuZGUgcGFyIHVuIHR1YmUgYXV4IGRlY3JpcHRldXJzIGRlIGZpY2hpZXIgYWZmZWN0w6lzIGF1eCAiCisiaW5kaWNlcyAwIGV0IDFcbiIKKyIgICAgZCd1bmUgdmFyaWFibGUgdGFibGVhdSBOT00gZGFucyBsZSBzaGVsbCBlbiBjb3VycyBkJ2V4w6ljdXRpb24uXG4iCisiICAgIExlIE5PTSBwYXIgZMOpZmF1dCBlc3QgwqsgQ09QUk9DIMK7LlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSByZXRvdXIgOlxuIgorIiAgICBSZW52b2llIGxlIG3Dqm1lIGNvZGUgZGUgcmV0b3VyIHF1ZSBsYSBDT01NQU5ERS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00MzU0LDkgKzQ5ODUsMjAgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKKyJEw6lmaW5pdCB1bmUgZm9uY3Rpb24gZHUgc2hlbGwuXG4iCisiICAgIFxuIgorIiAgICBDcsOpZSB1bmUgZm9uY3Rpb24gZHUgc2hlbGwgbm9tbcOpZSBOT00uICBMb3JzcXUnYXBwZWzDqWUgY29tbWUgdW5lIHNpbXBsZSAiCisiY29tbWFuZGUsXG4iCisiICAgIE5PTSBsYW5jZSBsYSBDT01NQU5ERSBkYW5zIGxlIGNvbnRleHRlIGR1IHNoZWxsIHF1aSBsJ2FwcGVsbGUuICBMb3JzcXVlICIKKyJOT00gZXN0IGFwcGVsw6ksXG4iCisiICAgIGxlcyBhcmd1bWVudHMgc29udCB0cmFuc21pcyDDoCBsYSBmb25jdGlvbiBjb21tZSAkMS4uLiRuLCBldCBsZSBub20gZGUgbGEgIgorImZvbmN0aW9uXG4iCisiICAgIGVzdCAkRlVOQ05BTUUuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHJldG91ciA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1ZSBOT00gbmUgc29pdCBlbiBsZWN0dXJlIHNldWxlLiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCi0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxNjQ4CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC00MzY2LDExICs1MDA4LDE1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKLSJMYW5jZSB1biBlbnNlbWJsZSBkZSBjb21tYW5kZXMgZCd1biBncm91cGUuIENlY2kgZXN0IHVuZSBmYcOnb24gZGVcbiIKLSIgICAgcmVkaXJpZ2VyIHRvdXQgdW4gZW5zZW1ibGUgZGUgY29tbWFuZGVzLiIKKyJHcm91cGUgcGx1c2lldXJzIGNvbW1hbmRlcyBlbiB1bmUgc2V1bGUuXG4iCisiICAgIFxuIgorIiAgICBMYW5jZSB1biBlbnNlbWJsZSBkZSBjb21tYW5kZXMgZCd1biBncm91cGUuIENlY2kgZXN0IHVuZSBmYcOnb24gZGVcbiIKKyIgICAgcmVkaXJpZ2VyIHRvdXQgdW4gZW5zZW1ibGUgZGUgY29tbWFuZGVzLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgbGEgZGVybmnDqHJlIGNvbW1hbmRlIGV4w6ljdXTDqWUuIgogCi0jOiBidWlsdGlucy5jOjE2NDQKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE2NjAKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTQzODMsMTYgKzUwMjksMjAgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgogbXNnc3RyICIiCi0iw4lxdWl2YWxlbnQgw6AgbCdhcmd1bWVudCBKT0JfU1BFQyBkZSBsYSBjb21tYW5kZSDCqyBmZyDCuy4gUmVwcmVuZCBsJ2V4w6ljdXRpb25cbiIKKyJSZXByZW5kIHVuZSB0w6JjaGUgZW4gYXJyacOocmUgcGxhbi5cbiIKKyIgICAgXG4iCisiICAgIMOJcXVpdmFsZW50IMOgIGwnYXJndW1lbnQgSk9CX1NQRUMgZGUgbGEgY29tbWFuZGUgwqsgZmcgwrsuIFJlcHJlbmQgIgorImwnZXjDqWN1dGlvblxuIgogIiAgICBkJ3VuZSB0w6JjaGUgc3RvcHDDqWUgb3UgZW4gdMOiY2hlIGRlIGZvbmQuIEpPQl9TUEVDIHBldXQgc3DDqWNpZmllciBzb2l0XG4iCi0iICAgIHVuIG5vbSBzb2l0IHVuIG51bcOpcm8gZGUgdMOiY2hlLiBGYWlyZSBzdWl2cmUgSk9CX1NQRUMgZGUgwqsgJiDCuyBwZXJtZXQgIgotImRlXG4iCisiICAgIHVuIG5vbSBzb2l0IHVuIG51bcOpcm8gZGUgdMOiY2hlLiBGYWlyZSBzdWl2cmUgSk9CX1NQRUMgZGUgwqsgJiDCuyBwZXJtZXQgZGVcbiIKICIgICAgcGxhY2VyIGxhIHTDomNoZSBlbiBhcnJpw6hyZSBwbGFuLCBjb21tZSBzaSBsYSBzcMOpY2lmaWNhdGlvbiBkZSB0w6JjaGUgIgogImF2YWl0XG4iCi0iICAgIMOpdMOpIGZvdXJuaWUgY29tbWUgYXJndW1lbnQgZGUgwqsgYmcgwrsuIgorIiAgICDDqXTDqSBmb3VybmllIGNvbW1lIGFyZ3VtZW50IGRlIMKrIGJnIMK7LlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgbGEgY29tbWFuZGUgcmVwcmlzZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1OQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDQwMiwxMSArNTA1MiwxNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCi0iTCdFWFBSRVNTSU9OIGVzdCDDqXZhbHXDqWUgc2Vsb24gbGVzIHLDqGdsZXMgZGUgbCfDqXZhbHVhdGlvbiBhcml0aG3DqXRpcXVlLlxuIgotIiAgICBDJ2VzdCDDqXF1aXZhbGVudCDDoCDCqyBsZXQgRVhQUkVTU0lPTiDCuy4iCisiw4l2YWx1ZSB1bmUgZXhwcmVzc2lvbiBhcml0aG3DqXRpcXVlLlxuIgorIiAgICBcbiIKKyIgICAgTCdFWFBSRVNTSU9OIGVzdCDDqXZhbHXDqWUgc2Vsb24gbGVzIHLDqGdsZXMgZGUgbCfDqXZhbHVhdGlvbiBhcml0aG3DqXRpcXVlLlxuIgorIiAgICBDJ2VzdCDDqXF1aXZhbGVudCDDoCDCqyBsZXQgRVhQUkVTU0lPTiDCuy5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSAxIHNpIEVYUFJFU1NJT04gZXN0IMOpdmFsdcOpZSDDoCAwLCBzaW5vbiByZW52b2llIDAuIgogCi0jOiBidWlsdGlucy5jOjE2NzEKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE2ODcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTQ0MzMsNyArNTA4Nyw5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICAwIG9yIDEgZGVwZW5kaW5nIG9uIHZhbHVlIG9mIEVYUFJFU1NJT04uIgogbXNnc3RyICIiCi0iUmVudm9pZSB1biBjb2RlIGRlIHJldG91ciBkZSAwIG91IDEgZMOpcGVuZGFudCBkZSBsJ8OpdmFsdWF0aW9uIGRlICIKKyJFeMOpY3V0ZSB1bmUgY29tbWFuZGUgY29uZGl0aW9ubmVsbGUuXG4iCisiICAgIFxuIgorIiAgICBSZW52b2llIHVuIGNvZGUgZGUgcmV0b3VyIGRlIDAgb3UgMSBkw6lwZW5kYW50IGRlIGwnw6l2YWx1YXRpb24gZGUgIgogImwnRVhQUkVTU0lPTlxuIgogIiAgICBjb25kaXRpb25uZWxsZS4gTGVzIGV4cHJlc3Npb25zIHNvbnQgZm9ybcOpZXMgZGUgbGEgbcOqbWUgZmHDp29uIHF1ZSBwb3VyICIKICJsYVxuIgpAQCAtNDQ0NSwxNCArNTEwMSwyMCBAQAogIiAgICBcdEVYUFIxICYmIEVYUFIyXHRWcmFpIHNpIEVYUFIxIGV0IEVYUFIyIHNvbnQgdnJhaWVzLCBmYXV4IHNpbm9uXG4iCiAiICAgIFx0RVhQUjEgfHwgRVhQUjJcdFZyYWkgc2kgRVhQUjEgb3UgRVhQUjIgZXN0IHZyYWllLCBmYXV4IHNpbm9uXG4iCiAiICAgIFxuIgotIiAgICBMb3JzcXVlIGxlcyBvcMOpcmF0ZXVycyDCqyA9PSDCuyBldCDCqyAhPSDCuyBzb250IHV0aWxpc8OpcywgbGEgY2hhw65uZSDDoFxuIgotIiAgICBkcm9pdGUgZGUgbCdvcMOpcmF0ZXVyIGVzdCB1dGlsaXPDqWUgY29tbWUgbW90aWYsIGV0IHVuZSBtaXNlIGVuICIKLSJjb3JyZXNwb25kYW5jZVxuIgotIiAgICBlc3QgZWZmZWN0dcOpZS4gTGVzIG9ww6lyYXRldXJzIMKrICYmIMK7IGV0IMKrIHx8IMK7IG4nw6l2YWx1ZW50IHBhcyBFWFBSMiBzaVxuIgotIiAgICBFWFBSMSBlc3Qgc3VmZmlzYW50IHBvdXIgZMOpdGVybWluZXIgbGEgdmFsZXVyIGRlIGwnZXhwcmVzc2lvbi4iCisiICAgIExvcnNxdWUgbGVzIG9ww6lyYXRldXJzIMKrID09IMK7IGV0IMKrICE9IMK7IHNvbnQgdXRpbGlzw6lzLCBsYSBjaGHDrm5lIMOgIGRyb2l0ZSAiCisiZGUgbCdvcMOpcmF0ZXVyXG4iCisiICAgIGVzdCB1dGlsaXPDqWUgY29tbWUgbW90aWYsIGV0IHVuZSBtaXNlIGVuIGNvcnJlc3BvbmRhbmNlIGVzdCBlZmZlY3R1w6llLlxuIgorIiAgICBMb3JzcXVlIGwnb3DDqXJhdGV1ciDCqyA9fiDCuyBlc3QgdXRpbGlzw6ksIGxhIGNoYcOubmUgw6AgZHJvaXRlIGRlICIKKyJsJ29ww6lyYXRldXJcbiIKKyIgICAgZXN0IG1pc2UgZW4gY29ycmVzcG9uZGFuY2UgY29tbWUgdW5lIGV4cHJlc3Npb24gcmF0aW9ubmVsbGUuXG4iCisiICAgIFxuIgorIiAgICBMZXMgb3DDqXJhdGV1cnMgwqsgJiYgwrsgZXQgwqsgfHwgwrsgbifDqXZhbHVlbnQgcGFzIEVYUFIyIHNpXG4iCisiICAgIEVYUFIxIGVzdCBzdWZmaXNhbnQgcG91ciBkw6l0ZXJtaW5lciBsYSB2YWxldXIgZGUgbCdleHByZXNzaW9uLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICAwIG91IDEgc2Vsb24gbGEgdmFsZXVyIGRlIGwnRVhQUkVTU0lPTi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NwotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTcxMwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTQ1MDUsNyArNTE2Nyw5IEBACiAiICAgIEhJU1RJR05PUkVcdEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgdXNlZCB0byBkZWNpZGUgd2hpY2hcbiIKICIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgogbXNnc3RyICIiCi0iQkFTSF9WRVJTSU9OXHROdW3DqXJvIGRlIHZlcnNpb24gZGUgY2UgQmFzaC5cbiIKKyJOb20gZXQgdXNhZ2UgZGUgdmFyaWFibGUgc2hlbGwgY291cmFudGVzLlxuIgorIiAgICBcbiIKKyIgICAgQkFTSF9WRVJTSU9OXHROdW3DqXJvIGRlIHZlcnNpb24gZGUgY2UgQmFzaC5cbiIKICIgICAgQ0RQQVRIXHRVbmUgbGlzdGUgZGUgcsOpcGVydG9pcmVzLCBzw6lwYXLDqXMgcGFyIHVuIGRldXgtcG9pbnRzLCB1dGlsaXPDqXNcbiIKICIgICAgXHRcdHBhciDCqyBjZCDCuyBwb3VyIGxhIHJlY2hlcmNoZSBkZSByw6lwZXJ0b2lyZXMuXG4iCiAiICAgIEdMT0JJR05PUkVcdFVuZSBsaXN0ZSBkZSBtb3RpZnMgc8OpcGFyw6lzIHBhciB1biBkZXV4LXBvaW50cywgZMOpY3JpdmFudCAiCkBAIC00NTIwLDggKzUxODQsOCBAQAogIiAgICBIT1NUTkFNRVx0TGUgbm9tIGRlIGxhIG1hY2hpbmUgYWN0dWVsbGUuXG4iCiAiICAgIEhPU1RUWVBFXHRMZSB0eXBlIGRlIHByb2Nlc3NldXIgc3VyIGxhcXVlbGxlIGNldHRlIHZlcnNpb24gZGUgQmFzaCAiCiAiZm9uY3Rpb25uZS5cbiIKLSIgICAgSUdOT1JFRU9GXHRDb250csO0bGUgbCdhY3Rpb24gZHUgc2hlbGwgw6AgbGEgcsOpY2VwdGlvbiBkJ3VuIGNhcmFjdMOocmUgwqsgIgotIkVPRiDCu1xuIgorIiAgICBJR05PUkVFT0ZcdENvbnRyw7RsZSBsJ2FjdGlvbiBkdSBzaGVsbCDDoCBsYSByw6ljZXB0aW9uIGQndW4gY2FyYWN0w6hyZSDCqyBFT0YgIgorIsK7XG4iCiAiICAgIFx0XHRjb21tZSBzZXVsZSBlbnRyw6llLiBTaSBkw6lmaW5pLCBzYSB2YWxldXIgZXN0IGxlIG5vbWJyZSBkZSAiCiAiY2FyYWN0w6hyZXNcbiIKICIgICAgXHRcdMKrIEVPRiDCuyBxdWkgcGV1dmVudCDDqnRyZSByZW5jb250csOpcyDDoCBsYSBzdWl0ZSBzdXIgdW5lIGxpZ25lIHZpZGVcbiIKQEAgLTQ1NzQsOCArNTIzOCw3IEBACiAiICAgIFx0XHRkw6ljaWRlciBxdWVsbGVzIGNvbW1hbmRlcyBkb2l2ZW50IMOqdHJlIGNvbnNlcnbDqWVzIGRhbnMgbGEgbGlzdGUgIgogImQnaGlzdG9yaXF1ZS5cbiIKIAotIzogYnVpbHRpbnMuYzoxNzU0Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxNzcwCiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC00NjA1LDI5ICs1MjY4LDM2IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBzdXBwbGllZCBvciB0aGUgZGlyZWN0b3J5XG4iCiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKLSJBam91dGUgdW4gcsOpcGVydG9pcmUgZW4gaGF1dCBkZSBsYSBwaWxlIGRlcyByw6lwZXJ0b2lyZXMsIG91IHBlcm11dGVcbiIKKyJBam91dGUgdW4gcsOpcGVydG9pcmUgw6AgbGEgcGlsZS5cbiIKKyIgICAgXG4iCisiICAgIEFqb3V0ZSB1biByw6lwZXJ0b2lyZSBlbiBoYXV0IGRlIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcywgb3UgcGVybXV0ZVxuIgogIiAgICBsYSBwaWxlLCBkZSBmYcOnb24gcXVlIGxlIHLDqXBlcnRvaXJlIGVuIGhhdXQgZGUgbGEgcGlsZSBkZXZpZW5uZVxuIgogIiAgICBsZSBub3V2ZWF1IHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwuIFMnaWwgbid5IGEgcGFzIGQnYXJndW1lbnQsIGxlcyBkZXV4XG4iCiAiICAgIHLDqXBlcnRvaXJlcyBlbiBoYXV0IGRlIGxhIHBpbGUgc29udCDDqWNoYW5nw6lzLlxuIgogIiAgICBcbiIKLSIgICAgK05cdFBlcm11dGUgbGEgcGlsZSBkZSBmYcOnb24gcXVlIGxlIE5pw6htZSByw6lwZXJ0b2lyZSBzZSBwbGFjZSBlbiBoYXV0LFxuIgotIiAgICBcdGVuIGNvbXB0YW50IGRlIHrDqXJvIGRlcHVpcyBsYSBnYXVjaGUgZGUgbGEgbGlzdGUgZm91cm5pZSBwYXIgwqsgZGlycyAiCi0iwrsuXG4iCi0iICAgIFxuIgotIiAgICAtTlx0UGVybXV0ZSBsYSBwaWxlIGRlIGZhw6dvbiBxdWUgbGUgTmnDqG1lIHLDqXBlcnRvaXJlIHNlIHBsYWNlIGVuIGhhdXQsXG4iCi0iICAgIFx0ZW4gY29tcHRhbnQgZGUgesOpcm8gZGVwdWlzIGxhIGRyb2l0ZSBkZSBsYSBsaXN0ZSBmb3VybmllIHBhciDCqyBkaXJzICIKLSLCuy5cbiIKLSIgICAgXG4iCi0iICAgIC1uXHRuZSBjaGFuZ2UgcGFzIGRlIHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgbG9yc3F1ZSBkZXMgcsOpcGVydG9pcmVzXG4iCisiICAgIE9wdGlvbnMgOlxuIgorIiAgICAtblx0bmUgcGFzIGNoYW5nZXIgZGUgcsOpcGVydG9pcmUgZGUgdHJhdmFpbCBsb3JzcXVlIGRlcyByw6lwZXJ0b2lyZXNcbiIKICIgICAgXHRzb250IGFqb3V0w6lzIMOgIGxhIHBpbGUsIGRlIGZhw6dvbiBxdWUgc2V1bGUgbGEgcGlsZSBzb2l0IG1hbmlwdWzDqWVcbiIKICIgICAgXG4iCi0iICAgIGRpclx0YWpvdXRlIGxlIHLDqXBlcnRvaXJlIERJUiBlbiBoYXV0IGRlIGxhIHBpbGUsIGV0IGVuIGZhaXQgbGUgbm91dmVhdVxuIgorIiAgICBBcmd1bWVudHMgOlxuIgorIiAgICArTlx0UGVybXV0ZXIgbGEgcGlsZSBkZSBmYcOnb24gcXVlIGxlIE5pw6htZSByw6lwZXJ0b2lyZSBzZSBwbGFjZSBlbiBoYXV0LFxuIgorIiAgICBcdGVuIGNvbXB0YW50IGRlIHrDqXJvIGRlcHVpcyBsYSBnYXVjaGUgZGUgbGEgbGlzdGUgZm91cm5pZSBwYXIgwqsgZGlycyDCuy5cbiIKKyIgICAgXG4iCisiICAgIC1OXHRQZXJtdXRlciBsYSBwaWxlIGRlIGZhw6dvbiBxdWUgbGUgTmnDqG1lIHLDqXBlcnRvaXJlIHNlIHBsYWNlIGVuIGhhdXQsXG4iCisiICAgIFx0ZW4gY29tcHRhbnQgZGUgesOpcm8gZGVwdWlzIGxhIGRyb2l0ZSBkZSBsYSBsaXN0ZSBmb3VybmllIHBhciDCqyBkaXJzIMK7LlxuIgorIiAgICBcbiIKKyIgICAgZGlyXHRham91dGVyIGxlIHLDqXBlcnRvaXJlIERJUiBlbiBoYXV0IGRlIGxhIHBpbGUsIGV0IGVuIGZhaXJlIGxlICIKKyJub3V2ZWF1XG4iCiAiICAgIFx0csOpcGVydG9pcmUgZGUgdHJhdmFpbC5cbiIKICIgICAgXG4iCi0iICAgIFZvdXMgcG91dmV6IHZvaXIgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzIGF2ZWMgbGEgY29tbWFuZGUgwqsgZGlycyDCuy4iCisiICAgIFZvdXMgcG91dmV6IHZvaXIgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzIGF2ZWMgbGEgY29tbWFuZGUgwqsgZGlycyDCuy5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHN1Y2PDqHMgw6AgbW9pbnMgcXUndW4gYXJndW1lbnQgbm9uIHZhbGFibGUgbmUgc29pdCAiCisiZm91cm5pXG4iCisiICAgIG91IHF1ZSBsZSBjaGFuZ2VtZW50IGRlIHLDqXBlcnRvaXJlIG4nw6ljaG91ZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4OAotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTgwNAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC00NjUzLDI1ICs1MzIzLDMxIEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBzdXBwbGllZCBvciB0aGUgZGlyZWN0b3J5XG4iCiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKLSJFbmzDqHZlIGRlcyDDqWzDqW1lbnRzIGRlIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcy4gUydpbCBuJ3kgYSBwYXNcbiIKKyJFbmzDqHZlIGRlcyByw6lwZXJ0b2lyZXMgZGUgbGEgcGlsZS5cbiIKKyIgICAgXG4iCisiICAgIEVubMOodmUgZGVzIMOpbMOpbWVudHMgZGUgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzLiBTJ2lsIG4neSBhIHBhc1xuIgogIiAgICBkJ2FyZ3VtZW50LCBsZSByw6lwZXJ0b2lyZSBlbiBoYXV0IGRlIGxhIHBpbGUgZXN0IGVubGV2w6ksXG4iCiAiICAgIGV0IGxlIG5vdXZlYXUgc29tbWV0IGRlIGxhIHBpbGUgZGV2aWVudCBsZSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsLlxuIgogIiAgICBcbiIKLSIgICAgK05cdEVubMOodmUgbGUgTmnDqG1lIHLDqXBlcnRvaXJlLCBlbiBjb21wdGFudCBkZSB6w6lybyBkZXB1aXMgbGEgZ2F1Y2hlXG4iCi0iICAgIFx0ZGUgbGEgbGlzdGUgZm91cm5pZSBwYXIgwqsgZGlycyDCuy4gUGFyIGV4ZW1wbGUgOiDCqyBwb3BkICswIMK7XG4iCi0iICAgIFxuIgotImVubMOodmUgbGUgcHJlbWllciByw6lwZXJ0b2lyZSwgwqsgcG9wZCArMSDCuyBsZSBkZXV4acOobWUuICAgIFxuIgotIiAgICAtTlx0RW5sw6h2ZSBsZSBOacOobWUgcsOpcGVydG9pcmUsIGVuIGNvbXB0YW50IGRlIHrDqXJvIGRlcHVpcyBsYSBkcm9pdGVcbiIKLSIgICAgXHRkZSBsYSBsaXN0ZSBmb3VybmllIHBhciDCqyBkaXJzIMK7LiBQYXIgZXhlbXBsZSA6IMKrIHBvcGQgLTAgwrtcbiIKLSIgICAgXG4iCi0iZW5sw6h2ZSBsZSBkZXJuaWVyIHLDqXBlcnRvaXJlLCDCqyBwb3BkIC0xIMK7IGwnYXZhbnQtZGVybmllci4gICAgXG4iCisiICAgIE9wdGlvbnMgOlxuIgogIiAgICAtblx0bmUgY2hhbmdlIHBhcyBkZSByw6lwZXJ0b2lyZSBkZSB0cmF2YWlsIGxvcnNxdWUgZGVzIHLDqXBlcnRvaXJlc1xuIgogIiAgICBcdHNvbnQgZW5sZXbDqXMgZGUgbGEgcGlsZSwgZGUgZmHDp29uIHF1ZSBzZXVsZSBsYSBwaWxlIHNvaXQgbWFuaXB1bMOpZVxuIgogIiAgICBcbiIKLSIgICAgVm91cyBwb3V2ZXogdm9pciBsYSBwaWxlIGRlcyByw6lwZXJ0b2lyZXMgYXZlYyBsYSBjb21tYW5kZSDCqyBkaXJzIMK7LiIKKyIgICAgQXJndW1lbnRzIDpcbiIKKyIgICAgK05cdEVubMOodmUgbGUgTmnDqG1lIHLDqXBlcnRvaXJlLCBlbiBjb21wdGFudCBkZSB6w6lybyBkZXB1aXMgbGEgZ2F1Y2hlXG4iCisiICAgIFx0ZGUgbGEgbGlzdGUgZm91cm5pZSBwYXIgwqsgZGlycyDCuy4gUGFyIGV4ZW1wbGUgOiDCqyBwb3BkICswIMK7XG4iCisiICAgIFx0ZW5sw6h2ZSBsZSBwcmVtaWVyIHLDqXBlcnRvaXJlLCDCqyBwb3BkICsxIMK7IGxlIGRldXhpw6htZS4gICAgXG4iCisiICAgIC1OXHRFbmzDqHZlIGxlIE5pw6htZSByw6lwZXJ0b2lyZSwgZW4gY29tcHRhbnQgZGUgesOpcm8gZGVwdWlzIGxhIGRyb2l0ZVxuIgorIiAgICBcdGRlIGxhIGxpc3RlIGZvdXJuaWUgcGFyIMKrIGRpcnMgwrsuIFBhciBleGVtcGxlIDogwqsgcG9wZCAtMCDCu1xuIgorIiAgICBcdGVubMOodmUgbGUgZGVybmllciByw6lwZXJ0b2lyZSwgwqsgcG9wZCAtMSDCuyBsJ2F2YW50LWRlcm5pZXIuXG4iCisiICAgIFZvdXMgcG91dmV6IHZvaXIgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzIGF2ZWMgbGEgY29tbWFuZGUgwqsgZGlycyDCuy5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgc29ydGllIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHN1Y2PDqHMgw6AgbW9pbnMgcXUndW4gYXJndW1lbnQgbm9uIHZhbGFibGUgbmUgc29pdCAiCisiZG9ubsOpXG4iCisiICAgIG91IHF1ZSBsZSBjaGFuZ2VtZW50IGRlIHLDqXBlcnRvaXJlIG4nw6ljaG91ZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTgxOAotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTgzNAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC00Njk5LDMzICs1Mzc1LDM2IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSJBZmZpY2hlIGxhIGxpc3RlIGRlcyByw6lwZXJ0b2lyZXMgYWN0dWVsbGVtZW50IG3DqW1vcmlzw6lzLiBMZXMgcsOpcGVydG9pcmVzXG4iCisiQWZmaWNoZSBsYSBwaWxlIGRlIHLDqXBlcnRvaXJlLlxuIgorIiAgICBcbiIKKyIgICAgQWZmaWNoZSBsYSBsaXN0ZSBkZXMgcsOpcGVydG9pcmVzIGFjdHVlbGxlbWVudCBtw6ltb3Jpc8Opcy4gTGVzICIKKyJyw6lwZXJ0b2lyZXNcbiIKICIgICBzb250IGluc8OpcsOpcyBkYW5zIGxhIGxpc3RlIGF2ZWMgbGEgY29tbWFuZGUgwqsgcHVzaGQgwrsuIFZvdXMgcG91dmV6ICIKICJyZW1vbnRlclxuIgogIiAgIGRhbnMgbGEgbGlzdGUgZW4gZW5sZXZhbnQgZGVzIMOpbMOpbWVudHMgYXZlYyBsYSBjb21tYW5kZSDCqyBwb3BkIMK7LlxuIgogIiAgICBcbiIKLSIgICAgTCdvcHRpb24gwqsgLWwgwrsgc3DDqWNpZmllIHF1ZSDCqyBkaXJzIMK7IG5lIGRvaXQgcGFzIGFmZmljaGVyIGRlcyB2ZXJzaW9uc1xuIgotIiAgICByYWNjb3VyY2llcyBkZXMgcsOpcGVydG9pcmVzIHJlbGF0aXZlbWVudCDDoCB2b3RyZSByw6lwZXJ0b2lyZSBwZXJzb25uZWwuXG4iCi0iICAgIENlbGEgc2lnbmlmaWUgcXVlIMKrIH4vYmluIMK7IGRldnJhaXQgw6p0cmUgYWZmaWNow6kgY29tbWUgwqsgL2hvbWVzL2Jmb3gvYmluICIKLSLCuy5cbiIKLSIgICAgTCdvcHRpb24gwqsgLXYgwrsgcGVybWV0IMOgIMKrIGRpcnMgwrsgZCdhZmZpY2hlciBsYSBwaWxlIGRlcyByw6lwZXJ0b2lyZXMgIgotImF2ZWNcbiIKLSIgICAgdW4gw6lsw6ltZW50IHBhciBsaWduZSwgZW4gY29tbWVuw6dhbnQgbGEgbGlnbmUgcGFyIGxhIHBvc2l0aW9uIGRhbnMgbGEgIgotInBpbGUuXG4iCi0iICAgIEwnb3B0aW9uIMKrIC1wIMK7IGZhaXQgbGEgbcOqbWUgY2hvc2UgbWFpcyBsZSBudW3DqXJvIGRlIHBvc2l0aW9uIG4nZXN0IHBhc1xuIgotIiAgICBhZmZpY2jDqS4gTCdvcHRpb24gwqsgLWMgwrsgZWZmYWNlIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcyBlbiBlbmxldmFudCAiCi0idG91c1xuIgotIiAgICBsZXMgw6lsw6ltZW50cy5cbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtY1x0ZWZmYWNlciBsYSBwaWxlIGRlcyByw6lwZXJ0b2lyZXMgZW4gZWZmYcOnYW50IHRvdXMgbGVzIMOpbMOpbWVudHNcbiIKKyIgICAgICAtbFx0bmUgcGFzIGFmZmljaGVyIGxhIHZlcnNpb24gcmFjY291cmNpZSAoYXZlYyB+KSBkZXMgcsOpcGVydG9pcmVzXG4iCisiICAgIFx0cmVsYXRpdmVtZW50IMOgIHZvdHJlIGRvc3NpZXIgcGVyc29ubmVsXG4iCisiICAgICAgLXBcdGFmZmljaGVyIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcyBhdmVjIHVuIMOpbMOpbWVudCBwYXIgbGlnbmVcbiIKKyIgICAgICAtdlx0YWZmaWNoZXIgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzIGF2ZWMgdW4gw6lsw6ltZW50IHBhciBsaWduZSxcbiIKKyIgICAgXHRlbiBwcsOpZml4YW50IGF2ZWMgc2EgcG9zaXRpb24gZGFucyBsYSBwaWxlXG4iCiAiICAgIFxuIgorIiAgICBBcmd1bWVudHMgOlxuIgogIiAgICArTlx0IGFmZmljaGUgbGUgTmnDqG1lIMOpbMOpbWVudCBlbiBjb21wdGFudCBkZSB6w6lybyBkZXB1aXMgbGEgZ2F1Y2hlIGRlICIKICJsYVxuIgogIiAgICBsaXN0ZSBhZmZpY2jDqWUgcGFyIMKrIGRpcnMgwrsgbG9yc3F1ZSBjZWxsZS1jaSBlc3QgYXBwZWzDqWUgc2FucyBvcHRpb24uXG4iCiAiICAgIFxuIgogIiAgICAtTlx0IGFmZmljaGUgbGUgTmnDqG1lIMOpbMOpbWVudCBlbiBjb21wdGFudCBkZSB6w6lybyBkZXB1aXMgbGEgZHJvaXRlIGRlICIKICJsYVxuIgotIiAgICBsaXN0ZSBhZmZpY2jDqWUgcGFyIMKrIGRpcnMgwrsgbG9yc3F1ZSBjZWxsZS1jaSBlc3QgYXBwZWzDqWUgc2FucyBvcHRpb24uIgorIiAgICBsaXN0ZSBhZmZpY2jDqWUgcGFyIMKrIGRpcnMgwrsgbG9yc3F1ZSBjZWxsZS1jaSBlc3QgYXBwZWzDqWUgc2FucyBvcHRpb24uXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1J3VuZSBvcHRpb24gbm9uIHZhbGFibGUgbmUgc29pdCAiCisiZm91cm5pZSBvdSBxdSd1bmUgZXJyZXVyIG5lIHN1cnZpZW5uZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NworIzogYnVpbHRpbnMuYzoxODYzCiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC00NzQ1LDggKzU0MjQsMjggQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIGlmIE9QVE5BTUUgaXMgZW5hYmxlZDsgZmFpbHMgaWYgYW4gaW52YWxpZCBvcHRpb24gaXNcbiIKICIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCiBtc2dzdHIgIiIKKyJBY3RpdmUgb3UgZMOpc2FjdGl2ZSBkZXMgb3B0aW9ucyBkdSBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIENoYW5nZSBsYSB2YWxldXIgZGUgY2hhcXVlIG9wdGlvbiBkdSBzaGVsbCBOT01PUFQuICBTJ2lsIG4neSBhIHBhcyAiCisiZCdhcmd1bWVudCDDoCBsJ29wdGlvblxuIgorIiAgICBsYSBjb21tYW5kZSBsaXN0ZSB0b3V0ZXMgbGVzIG9wdGlvbnMgZHUgc2hlbGwgZW4gaW5kaXF1YW50IHNpIGVsbGVzIHNvbnQgIgorImFjdGl2ZXNcbiIKKyIgICAgb3Ugbm9uLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLW9cdHJlc3RyZWludCBsZXMgTk9NT1BUIMOgIGNldXggZMOpZmluaXMgcG91ciDDqnRyZSB1dGlsaXPDqXMgYXZlYyDCqyBzZXQgLSIKKyJvIMK7XG4iCisiICAgICAgLXBcdGFmZmljaGUgY2hhcXVlIG9wdGlvbiBkdSBzaGVsbCBlbiBpbmRpcXVhbnQgc29uIMOpdGF0XG4iCisiICAgICAgLXFcdHN1cHByaW1lIGwnYWZmaWNoYWdlXG4iCisiICAgICAgLXNcdGFjdGl2ZSAoc2V0KSBjaGFxdWUgTk9NT1BUXG4iCisiICAgICAgLXVcdGTDqXNhY3RpdmUgKHVuc2V0KSBjaGFxdWUgTk9NT1BUXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHJldG91ciA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIHNpIE5PTU9QVCBlc3QgYWN0aXZlIDsgw6ljaGVjIHNpIHVuZSBvcHRpb24gbm9uICIKKyJ2YWxhYmxlXG4iCisiICAgIGVzdCBkb25uw6llIG91IHNpIE5PTU9QVCBlc3QgaW5hY3RpdmUuIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAogIywgZnV6enkKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCkBAIC00NzcwLDMzICs1NDY5LDQ1IEBACiAiICAgIFxuIgogIiAgICAgICViXHRleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYXJndW1lbnRcbiIKICIgICAgICAlcVx0cXVvdGUgdGhlIGFyZ3VtZW50IGluIGEgd2F5IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dFxuIgorIiAgICAgICUoZm10KVQgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nIEZNVCBhcyBhICIKKyJmb3JtYXRcbiIKKyIgICAgICAgICAgICBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIHdyaXRlIG9yICIKICJhc3NpZ25tZW50XG4iCiAiICAgIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKLSLCqyBwcmludGYgwrsgZm9ybWF0ZSBldCBhZmZpY2hlIGxlcyBBUkdVTUVOVFMgZW4gY29udHLDtGxhbnQgbGUgRk9STUFULiBMZSAiCi0iRk9STUFUXG4iCi0iICAgIGVzdCB1bmUgY2hhw65uZSBkZSBjYXJhY3TDqHJlcyBxdWkgY29udGllbnQgdHJvaXMgdHlwZXMgZCdvYmpldHMgOiBkZXMgIgotImNhcmFjdMOocmVzXG4iCisiRm9ybWF0dGUgZXQgYWZmaWNoZSBkZXMgQVJHVU1FTlRTIGVuIGNvbnRyw7RsYW50IGxlIEZPUk1BVC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnMgOlxuIgorIiAgICAgIC12IHZhclx0YWZmZWN0ZSBsYSBzb3J0aWUgw6AgbGEgdmFpcmFibGUgVkFSIGR1IHNoZWxsIHBsdXTDtHQgcXVlIGRlICIKKyJsJ2FmZmljaGVyXG4iCisiICAgIFx0XHRzdXIgbGEgc29ydGllIHN0YW5kYXJkXG4iCisiICAgIFxuIgorIiAgICBMZSBGT1JNQVQgZXN0IHVuZSBjaGHDrm5lIGRlIGNhcmFjdMOocmVzIHF1aSBjb250aWVudCB0cm9pcyB0eXBlcyAiCisiZCdvYmpldHMgOiBkZXMgY2FyYWN0w6hyZXNcbiIKICIgICAgbm9ybWF1eCBxdWkgc29udCBzaW1wbGVtZW50IGNvcGnDqXMgdmVycyBsYSBzb3J0aWUgc3RhbmRhcmQsIGRlcyAiCiAic8OpcXVlbmNlcyBkJ8OpY2hhcHBlbWVudFxuIgogIiAgICBxdWkgc29udCBjb252ZXJ0aWVzIGV0IGNvcGnDqWVzIHZlcnMgbGEgc29ydGllIHN0YW5kYXJkIGV0IGRlcyAiCiAic3DDqWNpZmljYXRpb25zIGRlXG4iCi0iICAgIGZvcm1hdCwgY2hhY3VuIGVudHJhw65uYW50IGwnYWZmaWNoYWdlIGRlIGwnYXJndW1lbnQgc3VpdmFudC4gRW4gcGx1cyBkZXMgIgotImZvcm1hdHNcbiIKLSIgICAgc3RhbmRhcmRzIGRlIMKrIHByaW50ZigxKSDCuyAsIMKrICViIMK7IHBlcm1ldCBkJ2VmZmVjdHVlciBsJ2V4cGFuc2lvbiBkZXMgIgotInPDqXF1ZW5jZXNcbiIKLSIgICAgZCfDqWNoYXBwZW1lbnQgw6AgY29udHJlLW9ibGlxdWUgZGFucyBsJ2FyZ3VtZW50IGNvcnJlc3BvbmRhbnQgZXQgwqsgJXEgwrsgIgotInBlcm1ldCBkZVxuIgotIiAgICBwcm90w6lnZXIgbGVzIGFyZ3VtZW50cyBwYXIgZ3VpbGxlbWV0cyBkZSBmYcOnb24gcXUnaWxzIHB1aXNzZW50IMOqdHJlICIKKyIgICAgZm9ybWF0LCBjaGFjdW4gZW50cmHDrm5hbnQgbCdhZmZpY2hhZ2UgZGUgbCdhcmd1bWVudCBzdWl2YW50LlxuIgorIiAgICBcbiIKKyIgICAgRW4gcGx1cyBkZXMgZm9ybWF0cyBzdGFuZGFyZHMgZMOpY3JpdHMgZGFucyBwcmludGYoMSkgZXQgcHJpbnRmKDMpLCDCqyAiCisicHJpbnRmIMK7IGludGVycHLDqHRlIDpcbiIKKyIgICAgXG4iCisiICAgICViXHRkw6l2ZWxvcHBlIGxlcyBzw6lxdWVuY2VzIGQnw6ljaGFwcGVtZW50IMOgIGNvbnRyZS1vYmxpcXVlIGRhbnMgIgorImwnYXJndW1lbnQgY29ycmVzcG9uZGFudFxuIgorIiAgICAlcVx0cHJvdMOoZ2UgbGVzIGFyZ3VtZW50cyBwYXIgZ3VpbGxlbWV0cyBkZSBmYcOnb24gcXUnaWxzIHB1aXNzZW50IMOqdHJlICIKICJyw6l1dGlsaXPDqXNcbiIKLSIgICAgY29tbWUgZW50csOpZSBkdSBzaGVsbC4gU2kgbCdvcHRpb24gwqsgLXYgwrsgZXN0IGZvdXJuaWUsIGxhIHNvcnRpZSBlc3QgIgotInBsYWPDqWUgZGFuc1xuIgotIiAgICBsYSB2YXJpYWJsZSBWQVIgcGx1dMO0dCBxdWUgZCfDqnRyZSBlbnZvecOpZSB2ZXJzIGxhIHNvcnRpZSBzdGFuZGFyZC4iCisiICAgIGNvbW1lIGVudHLDqWUgZHUgc2hlbGwuXG4iCisiICAgIFxuIgorIiAgICBDb2RlIGRlIHNvcnRpZSA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1J3VuZSBvcHRpb24gbm9uIHZhbGFibGUgbmUgc29pdCAiCisiZG9ubsOpZSBvdSBxdSd1bmVcbiIKKyIgICAgZXJyZXVyIGQnw6ljcml0dXJlIG91IGQnYWZmZWN0YXRpb24gbmUgc3Vydmllbm5lLiIKIAotIzogYnVpbHRpbnMuYzoxODk1CisjOiBidWlsdGlucy5jOjE5MTMKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtNDgyMiw5ICs1NTMzLDM3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJTcMOpY2lmaWUgbGEgZmHDp29uIGRvbnQgUmVhZGxpbmUgY29tcGzDqHRlIGxlcyBhcmd1bWVudHMuXG4iCisiICAgIFxuIgorIiAgICBQb3VyIGNoYXF1ZSBOT00sIGxhIGNvbW1hbmRlIHNww6ljaWZpZSBsYSBmYcOnb24gZG9udCBsZXMgYXJndW1lbnRzIHNvbiAiCisiY29tcGzDqXTDqXNcbiIKKyIgICAgUydpbCBuJ3kgYSBwYXMgZCdvcHRpb24sIGxlIHLDqWdsYWdlIGFjdHVlbCBlc3QgYWZmaWNow6kgZCd1bmUgbWFuacOocsOpICIKKyJyw6l1dGlsaXNhYmxlIGNvbW1lXG4iCisiICAgIHVuZSBlbnRyw6llLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLXBcdGFmZmljaGUgbGUgcsOpZ2xhZ2UgZCdhdXRvLWNvbXBsw6h0ZW1lbnQgYWN0dWVsIGRhbnMgdW4gZm9ybWF0ICIKKyJyw6l1dGlsaXNhYmxlXG4iCisiICAgICAgLXJcdHJldGlyZSB1biByw6lnbGFnZSBkJ2F1dG8tY29tcGzDqHRlbWVudCDDoCBjaGFxdWUgTk9NIG91LCBzaSBhdWN1biAiCisiTk9NXG4iCisiICAgIFx0bidlc3QgZm91cm5pLCByZXRpcmUgdG91cyBsZXMgcsOpZ2xhZ2VzXG4iCisiICAgICAgLURcdGFwcGxpcXVlIGxlcyBhdXRvLWNvbXBsw6h0ZW1lbnRzIGV0IGFjdGlvbnMgY29tbWUgdmFsZXVycyBwYXIgIgorImTDqWZhdXQgYXV4IGNvbW1hbmRlc1xuIgorIiAgICBcdG5lIHBvc3PDqWRhbnQgYXVjdW4gYXV0by1jb21wbMOodGVtZW50IHNww6ljaWZpcXVlXG4iCisiICAgICAgLUVcdGFwcGxpcXVlIGxlcyBhdXRvLWNvbXBsw6h0ZW1lbnRzIGV0IGFjdGlvbnMgYXV4IGNvbW1hbmRlcyB2aWRlcyAoXG4iCisiICAgIFx0YXV0by1jb21wbMOodGVtZW50IHRlbnTDqSBzdXIgdW5lIGxpZ25lIHZpZGUpXG4iCisiICAgIFxuIgorIiAgICBMb3JzcXUndW4gYXV0by1jb21wbMOodGVtZW50IGVzdCB0ZW50w6ksIGxlcyBhY3Rpb25zIHNvbnQgYXBwbGlxdcOpZXMgZGFucyAiCisibCdvcmRyZVxuIgorIiAgICBkYW5zIGxlcXVlbCBsZXMgb3B0aW9ucyBlbiBtYWp1c2N1bGUgY2ktZGVzc3VzIHNvbnQgbGlzdMOpZXMuICBMJ29wdGlvbiDCqyAtIgorIkQgwrsgZXN0IHByaW9yaXRhaXJlXG4iCisiICAgIHN1ciDCqyAtRSDCuy5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgcmV0b3VyIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHN1Y2PDqHMgw6AgbW9pbnMgcXUndW5lIG9wdGlvbiBub24gdmFsYWJsZSBuZSBzb2l0ICIKKyJmb3VybmllIG91IHF1J3VuZSBlcnJldXIgbmUgc3Vydmllbm5lLiIKIAotIzogYnVpbHRpbnMuYzoxOTIzCi0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxOTQxCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTQ4MzYsMjEgKzU1NzUsMjQgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgotIkFmZmljaGUgbGVzIHBvc3NpYmlsaXTDqXMgZGUgY29tcGzDqHRlbWVudCBkw6lwZW5kYW50IGRlcyBvcHRpb25zLiBDZWNpIGVzdCAiCi0iZGVzdGluw6lcbiIKLSIgICAgw6Agw6p0cmUgdXRpbGlzw6kgZGVwdWlzIHVuZSBmb25jdGlvbiBkZSBzaGVsbCBnw6luw6lyYW50IGRlcyBjb21wbMOodGVtZW50cyAiCi0icG9zc2libGVzLlxuIgotIiAgICBTaSBsZSBtb3QgwqsgV09SRCDCuyBvcHRpb25uZWwgZXN0IGZvdXJuaSwgZGVzIGNvcnJlc3BvbmRhbmNlcyBhdmVjIMKrIFdPUkQgIgotIsK7XG4iCi0iICAgIHNvbnQgZ8OpbsOpcsOpZXMuIgorIkFmZmljaGUgbGVzIHBvc3NpYmlsaXTDqXMgZGUgY29tcGzDqHRlbWVudCBkw6lwZW5kYW50IGRlcyBvcHRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgQ2VjaSBlc3QgZGVzdGluw6kgw6Agw6p0cmUgdXRpbGlzw6kgZGVwdWlzIHVuZSBmb25jdGlvbiBkZSBzaGVsbCBnw6luw6lyYW50XG4iCisiICAgIGRlcyBhdXRvLWNvbXBsw6h0ZW1lbnRzIHBvc3NpYmxlcy4gU2kgbGUgTU9UIG9wdGlvbm5lbCBlc3QgZm91cm5pLFxuIgorIiAgICBkZXMgY29ycmVzcG9uZGFuY2VzIGF2ZWMgwqsgV09SRCDCuyBzb250IGfDqW7DqXLDqWVzLlxuIgorIiAgICBcbiIKKyIgICAgQ29kZSBkZSBzb3J0aWUgOlxuIgorIiAgICBSZW52b2llIGxlIGNvZGUgZGUgc3VjY8OocyDDoCBtb2lucyBxdSd1bmUgb3B0aW9uIG5vbiB2YWxhYmxlIG5lIHNvaXQgIgorImZvdXJuaWUgb3UgcXUndW5lIGVycmV1ciBuZSBzdXJ2aWVubmUuIgogCi0jOiBidWlsdGlucy5jOjE5MzgKKyM6IGJ1aWx0aW5zLmM6MTk1NgorIywgZnV6enkKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKICIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCiAic3VwcGxpZWQsXG4iCi0iICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWdpbiBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVubSwgIgorIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVpbmcgZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbiwgIgogInByaW50XG4iCiAiICAgIHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uICIKICJzcGVjaWZpY2F0aW9uLlxuIgpAQCAtNDg3NCw4ICs1NjE2LDQzIEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgTkFNRSBkb2VzIG5vdFxuIgogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCisiTW9kaWZpZSBvdSBhZmZpY2hlIGxlcyBvcHRpb25zIGQnYXV0by1jb21wbMOodGVtZW50LlxuIgorIiAgICBcbiIKKyIgICAgTW9kaWZpZSBsZXMgb3B0aW9ucyBkJ2F1dG8tY29tcGzDqHRlbWVudCBwb3VyIGNoYXF1ZSBOT00gb3UsIHNpIGF1Y3VuIE5PTSAiCisibidlc3QgZm91cm5pLFxuIgorIiAgICBsJ2F1dG8tY29tcGzDqHRlbWVudCBhY3R1ZWxsZW1lbnQgZXjDqWN1dMOpLiAgc2kgYXVjdW5lIE9QVElPTiBuJ2VzdCAiCisiZG9ubsOpZXMsIGFmZmljaGVcbiIKKyIgICAgbGVzIG9wdGlvbnMgZCdhdXRvLWNvbXBsw6h0ZW1lbnQgZGUgY2hhcXVlIE5PTSBvdSBsZSByw6lnbGFnZSBhY3R1ZWwgIgorImQnYXV0by1jb21wbMOodGVtZW50LlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgIFx0LW8gb3B0aW9uXHREw6lmaW5pciBsJ29wdGlvbiBkJ2F1dG8tY29tcGzDqHRlbWVudCBPUFRJT04gcG91ciBjaGFxdWUgIgorIk5PTVxuIgorIiAgICBcdC1EXHRcdENoYW5nZXIgbGVzIG9wdGlvbnMgcG91ciBsJ2F1dG8tY29tcGzDqHRlbWVudCBkZSBjb21tYW5kZSBwYXIgIgorImTDqWZhdXRcbiIKKyIgICAgXHQtRVx0XHRDaGFuZ2VyIGxlcyBvcHRpb25zIHBvdXIgbCdhdXRvLWNvbXBsw6h0ZW1lbnQgZGUgY29tbWFuZGUgdmlkZVxuIgorIiAgICBcbiIKKyIgICAgVXRpbGlzZXIgwqsgK28gwrsgYXUgbGlldSBkZSDCqyAtbyDCuyBkw6lzYWN0aXZlIGwnb3B0aW9uIHNww6ljaWZpw6llLlxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzIDpcbiIKKyIgICAgXG4iCisiICAgIENoYXF1ZSBOT00gY29ycmVzcG9uZCDDoCB1bmUgY29tbWFuZGUgcG91ciBsYXF1ZWxsZSB1biByw6lnbGFnZSBkJ2F1dG8tIgorImNvbXBsw6h0ZW1lbnRcbiIKKyIgICAgZG9pdCBkw6lqw6AgYXZvaXIgw6l0w6kgZMOpZmluaSBncsOiY2Ugw6AgbGEgY29tbWFuZGUgaW50w6lncsOpZSDCqyBjb21wbGV0ZSDCuy4gIFNpICIKKyJhdWN1biBOT01cbiIKKyIgICAgbidlc3QgZm91cm5pLCDCqyBjb21wb3B0IMK7IGRvaXQgw6p0cmUgYXBwZWzDqWUgcGFyIHVuZSBmb25jdGlvbiBnw6luw6lyYW50ICIKKyJhY3R1ZWxsZW1lbnRcbiIKKyIgICAgZGVzIGF1dG8tY29tcGzDqHRlbWVudHMgOyBhaW5zaSBsZXMgb3B0aW9ucyBkZSBjZSBnw6luw6lyYXRldXIgZCdhdXRvLSIKKyJjb21wbMOodGVtZW50IGVuIGNvdXJzIGQnZXjDqWN1dGlvblxuIgorIiAgICBzZXJvbnQgbW9kaWZpw6llcy5cbiIKKyIgICAgXG4iCisiICAgIENvZGUgZGUgcmV0b3VyIDpcbiIKKyIgICAgUmVudm9pZSBsZSBjb2RlIGRlIHN1Y2PDqHMgw6AgbW9pbnMgcXUndW5lIG9wdGlvbiBub24gdmFsYWJsZSBuZSBzb2l0ICIKKyJmb3VybmllXG4iCisiICAgIG91IHF1ZSBOT00gbidhaXQgYXVjdW4gcsOpZ2xhZ2UgZCdhdXRvLWNvbXBsw6h0ZW1lbnQuIgogCi0jOiBidWlsdGlucy5jOjE5NjgKKyM6IGJ1aWx0aW5zLmM6MTk4NgorIywgZnV6enkKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpAQCAtNDkwMyw3ICs1NjgwLDggQEAKICIgICAgXG4iCiAiICAgIElmIC1DIGlzIHN1cHBsaWVkIHdpdGhvdXQgLWMsIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4gIFdoZW5cbiIKICIgICAgQ0FMTEJBQ0sgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJyYXlcbiIKLSIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50LlxuIgorIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnRcbiIKKyIgICAgYXMgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgogIiAgICBJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiBleHBsaWNpdCBvcmlnaW4sIG1hcGZpbGUgd2lsbCBjbGVhciBBUlJBWSAiCiAiYmVmb3JlXG4iCkBAIC00OTE0LDIzICs1NjkyLDc3IEBACiAib3JcbiIKICIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCisiTGl0IGRlcyBsaWduZXMgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCB2ZXJzIHVuZSB2YXJpYWJsZSB0YWJsZWF1IGluZGV4w6kuXG4iCisiICAgIFxuIgorIiAgICBMaXQgZGVzIGxpZ25lcyBkZXB1aXMgbCdlbnRyw6llIHN0YW5kYXJkIHZlcnMgbGEgdmFyaWFibGUgdGFibGVhdSBpbmRleMOpICIKKyJUQUJMRUFVIG91XG4iCisiICAgIGRlcHVpcyBsZSBkZXNjcmlwdGV1ciBkZSBmaWNoaWVyIEZEIHNpIGwnb3B0aW9uIMKrIC11IMK7IGVzdCB1dGlsaXPDqWUuIExhICIKKyJ2YXJpYWJsZSBNQVBGSUxFXG4iCisiICAgIGVzdCBsZSBUQUJMRUFVIHBhciBkw6lmYXV0LlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyA6XG4iCisiICAgICAgLW4gbm9tYnJlXHRDb3BpZSBhdSBtYXhpbXVtIE5PTUJSRSBsaWduZXMuICBTaSBOT01CUkUgZXN0IDAsIHRvdXRlcyAiCisibGVzIGxpZ25lcyBzb250IGNvcGnDqWVzLlxuIgorIiAgICAgIC1PIG9yaWdpbmVcdENvbW1lbmNlIGwnYWZmZWN0YXRpb24gYXUgVEFCTEVBVSDDoCBsJ2luZGljZSBPUklHSU5FLiAgIgorIkwnaW5kaWNlIHBhciBkw6lmYXV0IGVzdCAwLlxuIgorIiAgICAgIC1zIG5vbWJyZVx0U2F1dGUgbGVzIE5PTUJSRSBwcmVtw6hyZXMgbGlnbmVzIGx1ZXMuXG4iCisiICAgICAgLXRcdFx0UmV0aXJlIGxlcyByZXRvdXJzIMOgIGxhIGxpZ25lIGRlIGNoYXF1ZSBsaWduZSBsdWUuXG4iCisiICAgICAgLXUgZmRcdFx0TGl0IGxlcyBsaWduZXMgZGVwdWlzIGxlIGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIgRkQgYXUgbGlldSBkZSAiCisibCdlbnRyw6llIHN0YW5kYXJkLlxuIgorIiAgICAgIC1DIGNhbGxiYWNrXHTDiXZhbHVlIGxlIENBTExCQUNLIMOgIGNoYXF1ZSBmb2lzIHF1ZSBRVUFOVFVNIGxpZ25lcyBzb250ICIKKyJsdWVzLlxuIgorIiAgICAgIC1jIHF1YW50dW1cdEluZGlxdWUgbGUgbm9tYnJlIGRlIGxpZ25lcyBsdWVzIGVudHJlIGNoYXF1ZSBhcHBlbCBhdSAiCisiQ0FMTEJBQ0suXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHMgOlxuIgorIiAgICAgIFRBQkxFQVVcdFx0Tm9tIGRlIGxhIHZhcmlhYmxlIHRhYmxlYXUgw6AgdXRpbGlzZXIgcG91ciBsZXMgZG9ubsOpZXMuXG4iCisiICAgIFxuIgorIiAgICBTaSBsJ29wdGlvbiDCqyAtQyDCuyBlc3QgZm91cm5pZSBzYW5zIG9wdGlvbiDCqyAtYyDCuywgbGUgcXVhbnR1bSBwYXIgZMOpZmF1dCAiCisiZXN0IDUwMDAuICBMb3JzcXVlXG4iCisiICAgIENBTExCQUNLIGVzdCDDqXZhbHXDqSwgbCdpbmRpY2UgZHUgcHJvY2hhaW4gw6lsw6ltZW50IGRlIHRhYmxlYXUgcXVpIHNlcmEgIgorImFmZmVjdMOpXG4iCisiICAgIGx1aSBlc3QgdHJhbnNtaXMgY29tbWUgYXJndW1lbnQgYWRkaXRpb25uZWwuXG4iCisiICAgIFxuIgorIiAgICBTaSBsYSBjb21tYW5kZSDCqyBtYXBmaWxlIMK7IG4nZXN0IHBhcyBmb3VybmllIGF2ZWMgdW5lIG9yaWdpbmUgZXhwbGljaXRlLCAiCisibGUgdGFibGVhdSBlc3Qgdmlkw6lcbiIKKyIgICAgYXZhbnQgYWZmZWN0YXRpb24uXG4iCisiICAgIFxuIgorIiAgICBjb2RlIGRlIHJldG91ciA6XG4iCisiICAgIFJlbnZvaWUgbGUgY29kZSBkZSBzdWNjw6hzIMOgIG1vaW5zIHF1J3VuZSBvcHRpb24gbm9uIHZhbGFibGUgbmUgc29pdCAiCisiZG9ubsOpZSBvdSBxdWVcbiIKKyIgICAgbGUgVEFCTEVBVSBzb2l0IGVuIGxlY3R1cmUgc2V1bGUgb3UgbmUgc29pdCBwYXMgdW4gdGFibGVhdSBpbmRleMOpLiIKIAotIzogYnVpbHRpbnMuYzoyMDAxCisjOiBidWlsdGlucy5jOjIwMjAKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKICIgICAgQSBzeW5vbnltIGZvciBgbWFwZmlsZScuIgogbXNnc3RyICIiCisiTGl0IGRlcyBsaWduZXMgZGVwdWlzIHVuIGZpY2hpZXIgdmVycyB1bmUgdmFyaWFibGUgdGFibGVhdS5cbiIKKyIgICAgXG4iCisiICAgIFN5bm9ueW1lIGRlIMKrIG1hcGZpbGUgwrsuIgogCi0jfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi0jfiBtc2dzdHIgInhyZWFsbG9jIDogaW1wb3NzaWJsZSBkZSByw6lhbGxvdWVyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgYWxsb3XDqXMpIgotCi0jfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi0jfiBtc2dzdHIgInhyZWFsbG9jIDogaW1wb3NzaWJsZSBkJ2FsbG91ZXIgJWx1IG9jdGV0cyIKLQotI34gbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ2lkICIiCisjfiAiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisjfiAiICAgICIKICN+IG1zZ3N0ciAiIgotI34gInhyZWFsbG9jIDogJXM6JWQgOiBpbXBvc3NpYmxlIGRlIHLDqWFsbG91ZXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyBhbGxvdcOpcykiCisjfiAiLiAgQXZlYyBFWFBSLCByZW52b2llXG4iCisjfiAiICAgICIKKworI34gbXNnaWQgIiIKKyN+ICI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyN+ICIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorI34gIiAgICBcbiIKKyN+ICIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlICIKKyN+ICJ0aGVcbiIKKyN+ICIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCisjfiBtc2dzdHIgIiIKKyN+ICI7IGNlcyBpbmZvcm1hdGlvbnMgc3VwcGzDqW1lbnRhaXJlcyBwZXV2ZW50IMOqdHJlIHV0aWxpc8OpZXMgcG91clxuIgorI34gIiAgICBmb3VybmlyIHVuZSB0cmFjZSBkJ2FwcGVsc1xuIgorI34gIiAgICBcbiIKKyN+ICIgICAgTGEgdmFsZXVyIGRlIEVYUFIgaW5kaXF1ZSBsZSBub21icmUgZGUgY2FkcmVzIGQnYXBwZWxzIGR1cXVlbCBpbCBmYXV0ICIKKyN+ICJyZXZlbmlyIGVuIGFycmnDqHJlXG4iCisjfiAiICAgIGF2YW50IGxlIGNhZHJlIGFjdHVlbCA7IGxlIGNhZHJlIHN1cMOpcmlldXIgZXN0IGxlIGNhZHJlIDAuIgogCiAjfiBtc2dpZCAiICIKICN+IG1zZ3N0ciAiICIKQEAgLTQ5ODQsOCArNTgxNiw4IEBACiAKICN+IG1zZ2lkICJ0aGF0IGB+L2JpbicgbWlnaHQgYmUgZGlzcGxheWVkIGFzIGAvaG9tZXMvYmZveC9iaW4nLiAgVGhlIC12IGZsYWciCiAjfiBtc2dzdHIgIiIKLSN+ICJsZSByw6lwZXJ0b2lyZSDCqyB+L2JpbiDCuyBwb3VycmEgw6p0cmUgYWZmaWNow6kgwqsgL2hvbWVzL2Jmb3gvYmluIMK7LiBMJ29wdGlvbiAiCi0jfiAiwqsgLXYgwrsiCisjfiAibGUgcsOpcGVydG9pcmUgwqsgfi9iaW4gwrsgcG91cnJhIMOqdHJlIGFmZmljaMOpIMKrIC9ob21lcy9iZm94L2JpbiDCuy4gTCdvcHRpb24gwqsgLSIKKyN+ICJ2IMK7IgogCiAjfiBtc2dpZCAiY2F1c2VzIGBkaXJzJyB0byBwcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lLCIKICN+IG1zZ3N0ciAiZGVtYW5kZSDDoCDCqyBkaXJzIMK7IGQnYWZmaWNoZXIgdW4gcsOpcGVydG9pcmUgZGUgbGEgcGlsZSBwYXIgbGlnbmUsIgpAQCAtNDk5Myw4ICs1ODI1LDggQEAKICN+IG1zZ2lkICIiCiAjfiAicHJlcGVuZGluZyB0aGUgZGlyZWN0b3J5IG5hbWUgd2l0aCBpdHMgcG9zaXRpb24gaW4gdGhlIHN0YWNrLiAgVGhlIC1wIgogI34gbXNnc3RyICIiCi0jfiAiZW4gbGUgcHLDqWPDqWRhbnQgZGUgc2EgcG9zaXRpb24gZGFucyBsYSBwaWxlLiAgTCdvcHRpb24gwqsgLXAgwrsgZmFpdCBsYSAiCi0jfiAibcOqbWUgY2hvc2UiCisjfiAiZW4gbGUgcHLDqWPDqWRhbnQgZGUgc2EgcG9zaXRpb24gZGFucyBsYSBwaWxlLiAgTCdvcHRpb24gwqsgLXAgwrsgZmFpdCBsYSBtw6ptZSAiCisjfiAiY2hvc2UiCiAKICN+IG1zZ2lkICJmbGFnIGRvZXMgdGhlIHNhbWUgdGhpbmcsIGJ1dCB0aGUgc3RhY2sgcG9zaXRpb24gaXMgbm90IHByZXBlbmRlZC4iCiAjfiBtc2dzdHIgInNhbnMgYWZmaWNoZXIgbGUgbnVtw6lybyBkJ2VtcGxhY2VtZW50IGRhbnMgbGEgcGlsZS4iCkBAIC01MDAyLDggKzU4MzQsNyBAQAogI34gbXNnaWQgIiIKICN+ICJUaGUgLWMgZmxhZyBjbGVhcnMgdGhlIGRpcmVjdG9yeSBzdGFjayBieSBkZWxldGluZyBhbGwgb2YgdGhlIGVsZW1lbnRzLiIKICN+IG1zZ3N0ciAiIgotI34gIkwnb3B0aW9uIMKrIC1jIMK7IHZpZGUgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzIGVuIHJldGlyYW50IHRvdXMgc2VzICIKLSN+ICLDqWzDqW1lbnRzLiIKKyN+ICJMJ29wdGlvbiDCqyAtYyDCuyB2aWRlIGxhIHBpbGUgZGVzIHLDqXBlcnRvaXJlcyBlbiByZXRpcmFudCB0b3VzIHNlcyDDqWzDqW1lbnRzLiIKIAogI34gbXNnaWQgIiIKICN+ICIrTiAgIGRpc3BsYXlzIHRoZSBOdGggZW50cnkgY291bnRpbmcgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG93biBieSIKQEAgLTUwNjMsOCArNTg5NCw3IEBACiAKICN+IG1zZ2lkICJkaXIgIGFkZHMgRElSIHRvIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYXQgdGhlIHRvcCwgbWFraW5nIGl0IHRoZSIKICN+IG1zZ3N0ciAiIgotI34gImRpciAgYWpvdXRlIMKrIERJUiDCuyBhdSBkZXNzdXMgZGUgbGEgcGlsZSBkZXMgcsOpcGVydG9pcmVzLCBlbiBmYWlzYW50IGRlICIKLSN+ICJsdWkiCisjfiAiZGlyICBham91dGUgwqsgRElSIMK7IGF1IGRlc3N1cyBkZSBsYSBwaWxlIGRlcyByw6lwZXJ0b2lyZXMsIGVuIGZhaXNhbnQgZGUgbHVpIgogCiAjfiBtc2dpZCAiICAgICBuZXcgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iCiAjfiBtc2dzdHIgIiAgICAgbGUgbm91dmVhdSByw6lwZXJ0b2lyZSBjb3VyYW50LiIKQEAgLTUxMjgsNiArNTk1OCwxNiBAQAogI34gbXNnaWQgIm1hbGxvYzogd2F0Y2ggYWxlcnQ6ICVwICVzICIKICN+IG1zZ3N0ciAibWFsbG9jIDogYWxlcnRlIGRlIMKrIHdhdGNoIMK7IDogJXAgJXMgIgogCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgInhyZWFsbG9jIDogaW1wb3NzaWJsZSBkZSByw6lhbGxvdWVyICVsdSBvY3RldHMgKCVsdSBvY3RldHMgYWxsb3XDqXMpIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjfiBtc2dzdHIgInhyZWFsbG9jIDogaW1wb3NzaWJsZSBkJ2FsbG91ZXIgJWx1IG9jdGV0cyIKKworI34gbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAiIgorI34gInhyZWFsbG9jIDogJXM6JWQgOiBpbXBvc3NpYmxlIGRlIHLDqWFsbG91ZXIgJWx1IG9jdGV0cyAoJWx1IG9jdGV0cyBhbGxvdcOpcykiCisKICN+IG1zZ2lkICIiCiAjfiAiRXhpdCBmcm9tIHdpdGhpbiBhIEZPUiwgV0hJTEUgb3IgVU5USUwgbG9vcC4gIElmIE4gaXMgc3BlY2lmaWVkLFxuIgogI34gIiAgICBicmVhayBOIGxldmVscy4iCkBAIC01MTczLDE2ICs2MDEzLDc1IEBACiAjfiAic2hlbGwuICBTaSB2b3VzXG4iCiAjfiAiICAgIGF2ZXogZMOpZmluaSB1bmUgZm9uY3Rpb24gZGUgc2hlbGwgYXBwZWzDqWUgwqsgbHMgwrsgZXQgcXVlIHZvdXMgdm91bGV6ICIKICN+ICJhcHBlbGVyXG4iCi0jfiAiICAgIGxhIGNvbW1hbmRlIMKrIGxzIMK7LCB2b3VzIHBvdXZleiBmYWlyZSDCqyBjb21tYW5kIGxzIMK7LiAgU2kgbCdvcHRpb24gwqsgLSIKLSN+ICJwIMK7IGVzdFxuIgorI34gIiAgICBsYSBjb21tYW5kZSDCqyBscyDCuywgdm91cyBwb3V2ZXogZmFpcmUgwqsgY29tbWFuZCBscyDCuy4gIFNpIGwnb3B0aW9uIMKrIC1wICIKKyN+ICLCuyBlc3RcbiIKICN+ICIgICAgZG9ubsOpZSwgdW5lIHZhbGV1ciBwYXIgZMOpZmF1dCBlc3QgdXRpbGlzw6llIHBvdXIgbGUgUEFUSCBnYXJhbnRpc3NhbnQgIgogI34gInF1ZSB0b3VzXG4iCi0jfiAiICAgIGxlcyB1dGlsaXRhaXJlcyBzdGFuZGFyZHMgc2Vyb250IHRyb3V2w6lzLiAgU2kgbCdvcHRpb24gwqsgLVYgwrsgb3UgwqsgLXYgIgotI34gIsK7IGVzdFxuIgorI34gIiAgICBsZXMgdXRpbGl0YWlyZXMgc3RhbmRhcmRzIHNlcm9udCB0cm91dsOpcy4gIFNpIGwnb3B0aW9uIMKrIC1WIMK7IG91IMKrIC12IMK7ICIKKyN+ICJlc3RcbiIKICN+ICIgICAgZG9ubsOpZSwgdW5lIGRlc2NyaXB0aW9uIGRlIGxhIGNvbW1hbmRlIHMnYWZmaWNoZS4gTCdvcHRpb24gwqsgLVYgwrsgIgogI34gImZvdXJuaXQgcGx1c1xuIgogI34gIiAgICBkJ2luZm9ybWF0aW9ucy4iCiAKKyN+IG1zZ2lkICIiCisjfiAiRGVjbGFyZSB2YXJpYWJsZXMgYW5kL29yIGdpdmUgdGhlbSBhdHRyaWJ1dGVzLiAgSWYgbm8gTkFNRXMgYXJlXG4iCisjfiAiICAgIGdpdmVuLCB0aGVuIGRpc3BsYXkgdGhlIHZhbHVlcyBvZiB2YXJpYWJsZXMgaW5zdGVhZC4gIFRoZSAtcCBvcHRpb25cbiIKKyN+ICIgICAgd2lsbCBkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZXMgb2YgZWFjaCBOQU1FLlxuIgorI34gIiAgICBcbiIKKyN+ICIgICAgVGhlIGZsYWdzIGFyZTpcbiIKKyN+ICIgICAgXG4iCisjfiAiICAgICAgLWFcdHRvIG1ha2UgTkFNRXMgYXJyYXlzIChpZiBzdXBwb3J0ZWQpXG4iCisjfiAiICAgICAgLWZcdHRvIHNlbGVjdCBmcm9tIGFtb25nIGZ1bmN0aW9uIG5hbWVzIG9ubHlcbiIKKyN+ICIgICAgICAtRlx0dG8gZGlzcGxheSBmdW5jdGlvbiBuYW1lcyAoYW5kIGxpbmUgbnVtYmVyIGFuZCBzb3VyY2UgZmlsZSBuYW1lICIKKyN+ICJpZlxuIgorI34gIiAgICBcdGRlYnVnZ2luZykgd2l0aG91dCBkZWZpbml0aW9uc1xuIgorI34gIiAgICAgIC1pXHR0byBtYWtlIE5BTUVzIGhhdmUgdGhlIGBpbnRlZ2VyJyBhdHRyaWJ1dGVcbiIKKyN+ICIgICAgICAtclx0dG8gbWFrZSBOQU1FcyByZWFkb25seVxuIgorI34gIiAgICAgIC10XHR0byBtYWtlIE5BTUVzIGhhdmUgdGhlIGB0cmFjZScgYXR0cmlidXRlXG4iCisjfiAiICAgICAgLXhcdHRvIG1ha2UgTkFNRXMgZXhwb3J0XG4iCisjfiAiICAgIFxuIgorI34gIiAgICBWYXJpYWJsZXMgd2l0aCB0aGUgaW50ZWdlciBhdHRyaWJ1dGUgaGF2ZSBhcml0aG1ldGljIGV2YWx1YXRpb24gKHNlZVxuIgorI34gIiAgICBgbGV0JykgZG9uZSB3aGVuIHRoZSB2YXJpYWJsZSBpcyBhc3NpZ25lZCB0by5cbiIKKyN+ICIgICAgXG4iCisjfiAiICAgIFdoZW4gZGlzcGxheWluZyB2YWx1ZXMgb2YgdmFyaWFibGVzLCAtZiBkaXNwbGF5cyBhIGZ1bmN0aW9uJ3MgbmFtZVxuIgorI34gIiAgICBhbmQgZGVmaW5pdGlvbi4gIFRoZSAtRiBvcHRpb24gcmVzdHJpY3RzIHRoZSBkaXNwbGF5IHRvIGZ1bmN0aW9uXG4iCisjfiAiICAgIG5hbWUgb25seS5cbiIKKyN+ICIgICAgXG4iCisjfiAiICAgIFVzaW5nIGArJyBpbnN0ZWFkIG9mIGAtJyB0dXJucyBvZmYgdGhlIGdpdmVuIGF0dHJpYnV0ZSBpbnN0ZWFkLiAgIgorI34gIldoZW5cbiIKKyN+ICIgICAgdXNlZCBpbiBhIGZ1bmN0aW9uLCBtYWtlcyBOQU1FcyBsb2NhbCwgYXMgd2l0aCB0aGUgYGxvY2FsJyBjb21tYW5kLiIKKyN+IG1zZ3N0ciAiIgorI34gIkTDqWNsYXJlIGRlcyB2YXJpYWJsZXMgb3UgYWpvdXRlIGRlcyBhdHRyaWJ1dHMgYXV4IHZhcmlhYmxlcy4gIFNpIGF1Y3VuICIKKyN+ICJub21cbiIKKyN+ICIgICAgbidlc3QgZG9ubsOpLCBhZmZpY2hlIHBsdXTDtHQgbGVzIHZhbGV1cnMgZGVzIHZhcmlhYmxlcy4gIEwnb3B0aW9uIMKrIC1wICIKKyN+ICLCu1xuIgorI34gIiAgICBwZXJtZXQgZCdhZmZpY2hlciBsZXMgYXR0cmlidXRzIGV0IGxlcyB2YWxldXJzIGRlIGNoYXF1ZSBOQU1FLlxuIgorI34gIiAgICBcbiIKKyN+ICIgICAgTGVzIG9wdGlvbnMgc29udCA6XG4iCisjfiAiICAgIFxuIgorI34gIiAgICAgIC1hXHRwb3VyIGZhaXJlIGRlcyB0YWJsZWF1eCBkZSBOQU1FIChzaSBwcmlzIGVuIGNoYXJnZSlcbiIKKyN+ICIgICAgICAtZlx0cG91ciBjaG9pc2lyIHVuaXF1ZW1lbnQgcGFybWkgbGVzIG5vbXMgZGUgZm9uY3Rpb25zXG4iCisjfiAiICAgICAgLUZcdHBvdXIgYWZmaWNoZXIgbGVzIG5vbXMgZGUgZm9uY3Rpb25zIChldCBsZXMgbnVtw6lyb3MgZGUgbGlnbmUgZXQgIgorI34gImxlXG4iCisjfiAiICAgICAgIFx0ZmljaGllciBzb3VyY2Ugc2kgbGUgbW9kZSBkZSBkw6lib2dhZ2UgZXN0IGFjdGl2w6lcbiIKKyN+ICIgICAgICAtaVx0cG91ciBxdWUgbGVzIE5BTUUgYWllbnQgbCdhdHRyaWJ1dCDCqyBpbnRlZ2VyIMK7XG4iCisjfiAiICAgICAgLXJcdHBvdXIgcXVlIGxlcyBOQU1FIHNvaWVudCBlbiBsZWN0dXJlIHNldWxlXG4iCisjfiAiICAgICAgLXRcdHBvdXIgcXVlIGxlcyBOQU1FIGFpZW50IGwnYXR0cmlidXQgwqsgdHJhY2UgwrtcbiIKKyN+ICIgICAgICAteFx0cG91ciBmYWlyZSB1biBleHBvcnQgZGVzIE5BTUVcbiIKKyN+ICIgICAgXG4iCisjfiAiICAgIEwnw6l2YWx1YXRpb24gYXJpdGhtw6l0aXF1ZSBkZXMgdmFyaWFibGVzIGF5YW50IGwnYXR0cmlidXQgwqsgaW50ZWdlciDCuyAiCisjfiAiZXN0XG4iCisjfiAiICAgIGVmZmVjdHXDqWUgYXUgbW9tZW50IGRlIGwnYWZmZWN0YXRpb24gKHZvaXIgwqsgbGV0IMK7KS5cbiIKKyN+ICIgICAgXG4iCisjfiAiICAgIExvcnMgZGUgbCdhZmZpY2hhZ2UgZGVzIHZhbGV1cnMgZGUgdmFyaWFibGVzLCAtZiBhZmZpY2hlIGxlIG5vbSBkZSBsYSAiCisjfiAiZm9uY3Rpb25cbiIKKyN+ICIgICAgZXQgc2EgZMOpZmluaXRpb24uICBMJ29wdGlvbiAtRiBwZXJtZXQgZGUgbidhZmZpY2hlciBxdWUgbGUgbm9tLlxuIgorI34gIiAgICBcbiIKKyN+ICIgICAgVW4gYXR0cmlidXQgcGV1dCDDqnRyZSBkw6lzYWN0aXbDqSBlbiB1dGlsaXNhbnQgwqsgKyDCuyBhdSBsaWV1IGRlIMKrIC0gwrsuICAiCisjfiAiRGFucyB1bmVcbiIKKyN+ICIgICAgZm9uY3Rpb24sIGNlY2kgYSBwb3VyIGVmZmV0IGRlIHJlbmRyZSBsZXMgTkFNRSBsb2NhdXgsIGNvbW1lIGF2ZWMgbGEgIgorI34gImNvbW1hbmRlIMKrbG9jYWwgwrsuIgorCiAjfiBtc2dpZCAiT2Jzb2xldGUuICBTZWUgYGRlY2xhcmUnLiIKICN+IG1zZ3N0ciAiT2Jzb2zDqHRlLiBDb25zdWx0ZXIgwqsgZGVjbGFyZSDCuy4iCiAKQEAgLTUyMzAsMTIgKzYxMjksMTIgQEAKICN+ICJjaGFyZ2VtZW50XG4iCiAjfiAiICAgIGR5bmFtaXF1ZSwgbCdvcHRpb24gwqsgLWYgwrsgcGV1dCDDqnRyZSB1dGlsaXPDqWUgcG91ciBjaGFyZ2VyIGRlICIKICN+ICJub3V2ZWxsZXMgcHJpbWl0aXZlc1xuIgotI34gIiAgICBkZXB1aXMgbCdvYmpldCBwYXJ0YWfDqSBGSUxFTkFNRS4gIEwnb3B0aW9uIMKrIC1kIMK7IGVmZmFjZSB1bmUgIgotI34gInByaW1pdGl2ZSBwcsOpY8OpZGVtbWVudFxuIgorI34gIiAgICBkZXB1aXMgbCdvYmpldCBwYXJ0YWfDqSBGSUxFTkFNRS4gIEwnb3B0aW9uIMKrIC1kIMK7IGVmZmFjZSB1bmUgcHJpbWl0aXZlICIKKyN+ICJwcsOpY8OpZGVtbWVudFxuIgogI34gIiAgICBjaGFyZ8OpZSBhdmVjIMKrIC1mIMK7LiAgU2kgYXVjdW4gbm9tIChuJ8OpdGFudCBwYXMgdW5lIG9wdGlvbikgbidlc3QgIgogI34gImRvbm7DqSwgb3Ugc2kgbCdvcHRpb25cbiIKLSN+ICIgICAgwqsgLXAgwrsgZXN0IHNww6ljaWZpw6llLCB1bmUgbGlzdGUgZGUgcHJpbWl0aXZlIGVzdCBhZmZpY2jDqWUuICBMJ29wdGlvbiAiCi0jfiAiwqsgLWEgwrsgcGVybWV0IGQnYWZmaWNoZXJcbiIKKyN+ICIgICAgwqsgLXAgwrsgZXN0IHNww6ljaWZpw6llLCB1bmUgbGlzdGUgZGUgcHJpbWl0aXZlIGVzdCBhZmZpY2jDqWUuICBMJ29wdGlvbiDCqyAtIgorI34gImEgwrsgcGVybWV0IGQnYWZmaWNoZXJcbiIKICN+ICIgICAgdG91dGVzIGxlcyBwcmltaXRpdmVzIGVuIHByw6ljaXNhbnQgc2kgZWxsZXMgc29udCBhY3RpdsOpZXMgb3Ugbm9uLiAiCiAjfiAiTCdvcHRpb24gwqsgLXMgwrsgcmVzdHJlaW50XG4iCiAjfiAiICAgIGxhIHNvcnRpZSBhdXggcHJpbWl0aXZlcyDCqyBzcGVjaWFsIMK7IFBPU0lYLjIuIEwnb3B0aW9uIMKrIC1uIMK7IGFmZmljaGUgIgpAQCAtNTI5NiwxMCArNjE5NSwxMCBAQAogI34gImNvbXBsZXRcbiIKICN+ICIgICAgcG91ciBOQU1FLCBldCBhdWN1bmUgcmVjaGVyY2hlIG4nZXN0IGVmZmVjdHXDqWUuIEwnb3B0aW9uIMKrIC1yIMK7ICIKICN+ICJkZW1hbmRlIGF1IHNoZWxsXG4iCi0jfiAiICAgIGQnb3VibGllciB0b3VzIGxlcyBjaGVtaW5zIG3DqW1vcmlzw6lzLiBMJ29wdGlvbiDCqyAtZCDCuyBkZW1hbmRlIGF1ICIKLSN+ICJzaGVsbCBkJ291YmxpZXJcbiIKLSN+ICIgICAgbGVzIGNoZW1pbnMgbcOpbW9yaXPDqXMgcG91ciBsZSBOQU1FLiBTaSBsJ29wdGlvbiDCqyAtdCDCuyBlc3QgZm91cm5pZSwgIgotI34gImxlIGNoZW1pblxuIgorI34gIiAgICBkJ291YmxpZXIgdG91cyBsZXMgY2hlbWlucyBtw6ltb3Jpc8Opcy4gTCdvcHRpb24gwqsgLWQgwrsgZGVtYW5kZSBhdSBzaGVsbCAiCisjfiAiZCdvdWJsaWVyXG4iCisjfiAiICAgIGxlcyBjaGVtaW5zIG3DqW1vcmlzw6lzIHBvdXIgbGUgTkFNRS4gU2kgbCdvcHRpb24gwqsgLXQgwrsgZXN0IGZvdXJuaWUsIGxlICIKKyN+ICJjaGVtaW5cbiIKICN+ICIgICAgY29tcGxldCBhdXF1ZWwgY29ycmVzcG9uZCBjaGFxdWUgTkFNRSBlc3QgYWZmaWNow6kuIFNpIHBsdXNpZXVycyBOQU1FICIKICN+ICJzb250IGZvdXJuaXNcbiIKICN+ICIgICAgw6AgbCdvcHRpb24gwqsgLXQgwrssIGxlIE5BTUUgZXN0IGFmZmljaMOpIGF2YW50IGNoZW1pbiBjb21wbGV0IGhhY2jDqS4gIgpAQCAtNTMzNiwxNyArNjIzNSw5NyBAQAogI34gbXNnc3RyICIiCiAjfiAiUGFyIGTDqWZhdXQsIGVubMOodmUgdG91cyBsZXMgYXJndW1lbnRzIEpPQlNQRUMgZGUgbGEgdGFibGUgZGVzIHTDomNoZXMgIgogI34gImFjdGl2ZXMuXG4iCi0jfiAiICAgIFNpIGwnb3B0aW9uIMKrIC1oIMK7IGVzdCBmb3VybmllLCBsYSB0w6JjaGUgbidlc3QgcGFzIHJldGlyw6llIGRlIGxhICIKLSN+ICJ0YWJsZSBtYWlzXG4iCisjfiAiICAgIFNpIGwnb3B0aW9uIMKrIC1oIMK7IGVzdCBmb3VybmllLCBsYSB0w6JjaGUgbidlc3QgcGFzIHJldGlyw6llIGRlIGxhIHRhYmxlICIKKyN+ICJtYWlzXG4iCiAjfiAiICAgIGVzdCBtYXJxdcOpZSBkZSB0ZWxsZSBzb3J0ZSBxdWUgbGUgc2lnbmFsIFNJR0hVUCBuZSBsdWkgc29pdCBwYXMgIgogI34gImVudm95w6kgcXVhbmRcbiIKICN+ICIgICAgbGUgc2hlbGwgcmXDp29pdCB1biBTSUdIVVAuIExvcnNxdWUgSk9CU1BFQyBuJ2VzdCBwYXMgZm91cm5pZSwgIgogI34gImwnb3B0aW9uIMKrIC1hIMK7LFxuIgotI34gIiAgICBwZXJtZXQgZCdlbmxldmVyIHRvdXRlcyBsZXMgdMOiY2hlcyBkZSBsYSB0YWJsZSBkZXMgdMOiY2hlcy4gTCdvcHRpb24gwqsgIgotI34gIi1yIMK7XG4iCisjfiAiICAgIHBlcm1ldCBkJ2VubGV2ZXIgdG91dGVzIGxlcyB0w6JjaGVzIGRlIGxhIHRhYmxlIGRlcyB0w6JjaGVzLiBMJ29wdGlvbiDCqyAtIgorI34gInIgwrtcbiIKICN+ICIgICAgaW5kaXF1ZSBkZSBuZSByZXRpcmVyIHF1ZSBsZXMgdMOiY2hlcyBlbiBjb3VycyBkZSBmb25jdGlvbm5lbWVudC4iCiAKICN+IG1zZ2lkICIiCisjfiAiT25lIGxpbmUgaXMgcmVhZCBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCwgb3IgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgIgorI34gInRoZVxuIgorI34gIiAgICAtdSBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgZmlyc3Qgd29yZCBpcyBhc3NpZ25lZCB0byB0aGUgZmlyc3QgIgorI34gIk5BTUUsXG4iCisjfiAiICAgIHRoZSBzZWNvbmQgd29yZCB0byB0aGUgc2Vjb25kIE5BTUUsIGFuZCBzbyBvbiwgd2l0aCBsZWZ0b3ZlciB3b3JkcyAiCisjfiAiYXNzaWduZWRcbiIKKyN+ICIgICAgdG8gdGhlIGxhc3QgTkFNRS4gIE9ubHkgdGhlIGNoYXJhY3RlcnMgZm91bmQgaW4gJElGUyBhcmUgcmVjb2duaXplZCAiCisjfiAiYXMgd29yZFxuIgorI34gIiAgICBkZWxpbWl0ZXJzLiAgSWYgbm8gTkFNRXMgYXJlIHN1cHBsaWVkLCB0aGUgbGluZSByZWFkIGlzIHN0b3JlZCBpbiB0aGUgIgorI34gIlJFUExZXG4iCisjfiAiICAgIHZhcmlhYmxlLiAgSWYgdGhlIC1yIG9wdGlvbiBpcyBnaXZlbiwgdGhpcyBzaWduaWZpZXMgYHJhdycgaW5wdXQsICIKKyN+ICJhbmRcbiIKKyN+ICIgICAgYmFja3NsYXNoIGVzY2FwaW5nIGlzIGRpc2FibGVkLiAgVGhlIC1kIG9wdGlvbiBjYXVzZXMgcmVhZCB0byAiCisjfiAiY29udGludWVcbiIKKyN+ICIgICAgdW50aWwgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBERUxJTSBpcyByZWFkLCByYXRoZXIgdGhhbiBuZXdsaW5lLiAgSWYgIgorI34gInRoZSAtcFxuIgorI34gIiAgICBvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBzdHJpbmcgUFJPTVBUIGlzIG91dHB1dCB3aXRob3V0IGEgdHJhaWxpbmcgIgorI34gIm5ld2xpbmVcbiIKKyN+ICIgICAgYmVmb3JlIGF0dGVtcHRpbmcgdG8gcmVhZC4gIElmIC1hIGlzIHN1cHBsaWVkLCB0aGUgd29yZHMgcmVhZCBhcmUgIgorI34gImFzc2lnbmVkXG4iCisjfiAiICAgIHRvIHNlcXVlbnRpYWwgaW5kaWNlcyBvZiBBUlJBWSwgc3RhcnRpbmcgYXQgemVyby4gIElmIC1lIGlzIHN1cHBsaWVkICIKKyN+ICJhbmRcbiIKKyN+ICIgICAgdGhlIHNoZWxsIGlzIGludGVyYWN0aXZlLCByZWFkbGluZSBpcyB1c2VkIHRvIG9idGFpbiB0aGUgbGluZS4gIElmIC1uICIKKyN+ICJpc1xuIgorI34gIiAgICBzdXBwbGllZCB3aXRoIGEgbm9uLXplcm8gTkNIQVJTIGFyZ3VtZW50LCByZWFkIHJldHVybnMgYWZ0ZXIgTkNIQVJTXG4iCisjfiAiICAgIGNoYXJhY3RlcnMgaGF2ZSBiZWVuIHJlYWQuICBUaGUgLXMgb3B0aW9uIGNhdXNlcyBpbnB1dCBjb21pbmcgZnJvbSBhXG4iCisjfiAiICAgIHRlcm1pbmFsIHRvIG5vdCBiZSBlY2hvZWQuXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBUaGUgLXQgb3B0aW9uIGNhdXNlcyByZWFkIHRvIHRpbWUgb3V0IGFuZCByZXR1cm4gZmFpbHVyZSBpZiBhICIKKyN+ICJjb21wbGV0ZSBsaW5lXG4iCisjfiAiICAgIG9mIGlucHV0IGlzIG5vdCByZWFkIHdpdGhpbiBUSU1FT1VUIHNlY29uZHMuICBJZiB0aGUgVE1PVVQgdmFyaWFibGUgIgorI34gImlzIHNldCxcbiIKKyN+ICIgICAgaXRzIHZhbHVlIGlzIHRoZSBkZWZhdWx0IHRpbWVvdXQuICBUaGUgcmV0dXJuIGNvZGUgaXMgemVybywgdW5sZXNzICIKKyN+ICJlbmQtb2YtZmlsZVxuIgorI34gIiAgICBpcyBlbmNvdW50ZXJlZCwgcmVhZCB0aW1lcyBvdXQsIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzICIKKyN+ICJzdXBwbGllZCBhc1xuIgorI34gIiAgICB0aGUgYXJndW1lbnQgdG8gLXUuIgorI34gbXNnc3RyICIiCisjfiAiVW5lIGxpZ25lIGVzdCBsdWUgZGVwdWlzIGwnZW50csOpZSBzdGFuZGFyZCBvdSBkZXB1aXMgbGUgZGVzY3JpcHRldXIgZGUgIgorI34gImZpY2hpZXJcbiIKKyN+ICIgICAgRkQgc2kgbCdvcHRpb24gwqsgLXUgwrsgZXN0IGZvdXJuaWUuIExlIHByZW1pZXIgbW90IGVzdCBhZmZlY3TDqSBhdSAiCisjfiAicHJlbWllciBOQU1FLFxuIgorI34gIiAgICBsZSBzZWNvbmQgbW90IGF1IHNlY29uZCBOQU1FLCBldCBhaW5zaSBkZSBzdWl0ZSwgbGVzIG1vdHMgcmVzdGFudHMgIgorI34gIsOpdGFudCBhZmZlY3TDqXNcbiIKKyN+ICIgICAgYXUgZGVybmllciBOQU1FLiBTZXVscyBsZXMgY2FyYWN0w6hyZXMgc2l0dcOpcyBkYW5zIMKrICRJRlMgwrsgc29udCAiCisjfiAicmVjb25udXMgY29tbWVcbiIKKyN+ICIgICAgw6l0YW50IGRlcyBkw6lsaW1pdGV1cnMgZGUgbW90cy4gU2kgYXVjdW4gTkFNRSBuJ2VzdCBmb3VybmksIGxhIGxpZ25lICIKKyN+ICJlc3QgY29uc2VydsOpZVxuIgorI34gIiAgICBkYW5zIGxhIHZhcmlhYmxlIFJFUExZLiBMJ29wdGlvbiDCqyAtciDCuyBzaWduaWZpZSDCqyBlbnRyw6llIGJydXRlIMK7IGV0IGxhICIKKyN+ICJuZXV0cmFsaXNhdGlvbiBcbiIKKyN+ICIgICAgcGFyIGJhcnJlIG9ibGlxdWUgaW52ZXJzZSBlc3QgZMOpc2FjdGl2w6llLiBMJ29wdGlvbiDCqyAtZCDCuyBpbmRpcXVlIGRlICIKKyN+ICJjb250aW51ZXJcIiAgICBsYSBsZWN0dXJlIGp1c3F1J8OgIGNlIHF1ZSBsZSBwcmVtaWVyIGNhcmFjdMOocmUgZGUgREVMSU0gIgorI34gInNvaXQgbHUgcGx1dMO0dCBxdWVcbiIKKyN+ICIgICAgbGUgcmV0b3VyIMOgIGxhIGxpZ25lLiBTaSDCqyAtcCDCuyBlc3QgZm91cm5pLCBsYSBjaGHDrm5lIFBST01QVCBlc3QgIgorI34gImFmZmljaMOpZVxuIgorI34gIiAgICBzYW5zIHJldG91ciDDoCBsYSBsaWduZSBmaW5hbCBhdmFudCBsYSB0ZW50YXRpdmUgZGUgbGVjdHVyZS4gU2kgwqsgLWEgwrsgIgorI34gImVzdCBmb3VybmksXG4iCisjfiAiICAgIGxlcyBtb3RzIGx1cyBzb250IGFmZmVjdMOpcyBlbiBzw6lxdWVuY2UgYXV4IGluZGljZXMgZHUgVEFCTEVBVSwgZW4gIgorI34gImNvbW1lbsOnYW50XG4iCisjfiAiICAgIMOgIHrDqXJvLiBTaSDCqyAtZSDCuyBlc3QgZm91cm5pIGV0IHF1ZSBsZSBzaGVsbCBlc3QgaW50ZXJhY3RpZiwgwqsgcmVhZGxpbmUgIgorI34gIsK7IGVzdFxuIgorI34gIiAgICB1dGlsaXPDqSBwb3VyIG9idGVuaXIgbGEgbGlnbmUuIFNpIMKrIC1uIMK7IGVzdCBmb3VybmkgYXZlYyB1biBhcmd1bWVudCAiCisjfiAiTkNIQVJTIG5vbiBudWwsXG4iCisjfiAiICAgIMKrIHJlYWQgwrsgc2UgdGVybWluZSBhcHLDqHMgcXVlIE5DSEFSUyBjYXJhY3TDqHJlcyBvbnQgw6l0w6kgbHVzLiBMJ29wdGlvbiDCqyAiCisjfiAiLXMgwrtcbiIKKyN+ICIgICAgcGVybWV0IGF1eCBkb25uw6llcyB2ZW5hbnQgZCd1biB0ZXJtaW5hbCBkZSBuZSBwYXMgw6p0cmUgcsOpcMOpdMOpZXMuXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBMJ29wdGlvbiDCqyAtdCDCuyBwZXJtZXQgw6AgwqsgcmVhZCDCuyBkZSBzZSB0ZXJtaW5lciBhdmVjIHVuZSBlcnJldXIgc2kgdW5lICIKKyN+ICJsaWduZVxuIgorI34gIiAgICBlbnRpw6hyZSBkZSBkb25uw6llcyBuZSBsdWkgYSBwYXMgw6l0w6kgZm91cm5pZSBhdmFudCBsZSBEw4lMQUkgIgorI34gImQnZXhwaXJhdGlvbi4gU2kgbGFcbiIKKyN+ICIgICAgdmFyaWFibGUgVE1PVVQgZXN0IGTDqWZpbmllLCBzYSB2YWxldXIgZXN0IGxlIGTDqWxhaSBkJ2V4cGlyYXRpb24gcGFyICIKKyN+ICJkw6lmYXV0LiBMZSBjb2RlXG4iCisjfiAiICAgIGRlIHJldG91ciBlc3QgesOpcm8gw6AgbW9pbnMgcXUndW5lIGZpbiBkZSBmaWNoaWVyIG5lIHNvaXQgcmVuY29udHLDqWUsICIKKyN+ICJxdWUgwqsgcmVhZCDCu1xuIgorI34gIiAgICBhdHRlaWduZSBsZSBkw6lsYWkgZCdleHBpcmF0aW9uIG91IHF1J3VuIGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIgIgorI34gImluY29ycmVjdCBuZSBzb2l0XG4iCisjfiAiICAgIGZvdXJuaSBwb3VyIGwnYXJndW1lbnQgwqsgLXUgwrsuIgorCisjfiBtc2dpZCAiIgogI34gIkNhdXNlcyBhIGZ1bmN0aW9uIHRvIGV4aXQgd2l0aCB0aGUgcmV0dXJuIHZhbHVlIHNwZWNpZmllZCBieSBOLiAgSWYgTlxuIgogI34gIiAgICBpcyBvbWl0dGVkLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQuIgogI34gbXNnc3RyICIiCkBAIC01MzgzLDggKzYzNjIsNyBAQAogI34gIkxlcyBOQU1FIHNvbnQgbWFycXXDqXMgcG91ciBleHBvcnQgYXV0b21hdGlxdWUgdmVycyBsJ2Vudmlyb25uZW1lbnQgZGVzXG4iCiAjfiAiICAgIHByb2NoYWluZXMgY29tbWFuZGVzIGV4w6ljdXTDqWVzLiBzaSBsJ29wdGlvbiDCqyAtZiDCuyBlc3QgZG9ubsOpZSwgbGVzICIKICN+ICJOQU1FXG4iCi0jfiAiICAgIHNlIHJhcHBvcnRlbnQgw6AgZGVzIGZvbmN0aW9ucy4gU2kgYXVjdW4gTkFNRSBuJ2VzdCBkb25uw6kgb3Ugc2kgwqsgLXAgIgotI34gIsK7XG4iCisjfiAiICAgIHNlIHJhcHBvcnRlbnQgw6AgZGVzIGZvbmN0aW9ucy4gU2kgYXVjdW4gTkFNRSBuJ2VzdCBkb25uw6kgb3Ugc2kgwqsgLXAgwrtcbiIKICN+ICIgICAgZXN0IGZvdXJuaSwgbGEgbGlzdGUgZGUgdG91cyBsZXMgTkFNRSBleHBvcnTDqXMgZGFucyBjZSBzaGVsbCAiCiAjfiAicydhZmZpY2hlLlxuIgogI34gIiAgICBMJ2FyZ3VtZW50IMKrIC1uIMK7IHBlcm1ldCBkZSBzdXBwcmltZXIgbGEgcHJvcHJpw6l0w6kgZCdleHBvcnQgZGVzIE5BTUUgIgpAQCAtNTQxMCw4ICs2Mzg4LDggQEAKICN+ICJhdWN1blxuIgogI34gIiAgICBhcmd1bWVudCBuJ2VzdCBkb25uw6kgb3Ugc2kgwqsgLXAgwrsgZXN0IGZvdXJuaSwgbGEgbGlzdGUgZGUgdG91cyBsZXMgIgogI34gIm5vbXNcbiIKLSN+ICIgICAgZW4gbGVjdHVyZSBzZXVsZSBlc3QgYWZmaWNow6llLiBMJ29wdGlvbiDCqyAtYSDCuyBpbmRpcXVlIGRlIHRyYWl0ZXIgIgotI34gInRvdXMgbGVzXG4iCisjfiAiICAgIGVuIGxlY3R1cmUgc2V1bGUgZXN0IGFmZmljaMOpZS4gTCdvcHRpb24gwqsgLWEgwrsgaW5kaXF1ZSBkZSB0cmFpdGVyIHRvdXMgIgorI34gImxlc1xuIgogI34gIiAgICBOQU1FIGNvbW1lIGRlcyB2YXJpYWJsZXMgdGFibGVhdXguIEwnYXJndW1lbnQgwqsgLS0gwrsgZMOpc2FjdGl2ZSBsZSAiCiAjfiAidHJhaXRlbWVudFxuIgogI34gIiAgICBkZXMgb3B0aW9uIHN1aXZhbnRlcy4iCkBAIC01NDc0LDEwICs2NDUyLDggQEAKICN+ICJ1blxuIgogI34gIiAgICBub20gZGUgY29tbWFuZGUuXG4iCiAjfiAiICAgIFxuIgotI34gIiAgICBTaSBsJ29wdGlvbiDCqyAtdCDCuyBlc3QgdXRpbGlzw6llLCDCqyB0eXBlIMK7IGFmZmljaGUgdW4gc2ltcGxlIG1vdCAiCi0jfiAicGFybWlcbiIKLSN+ICIgICAgwqsgYWxpYXMgwrssIMKrIGtleXdvcmQgwrssIMKrIGZ1bmN0aW9uIMK7LCDCqyBidWlsdGluIMK7LCDCqyBmaWxlIMK7IG91IMKrIMK7LCAiCi0jfiAic2lcbiIKKyN+ICIgICAgU2kgbCdvcHRpb24gwqsgLXQgwrsgZXN0IHV0aWxpc8OpZSwgwqsgdHlwZSDCuyBhZmZpY2hlIHVuIHNpbXBsZSBtb3QgcGFybWlcbiIKKyN+ICIgICAgwqsgYWxpYXMgwrssIMKrIGtleXdvcmQgwrssIMKrIGZ1bmN0aW9uIMK7LCDCqyBidWlsdGluIMK7LCDCqyBmaWxlIMK7IG91IMKrIMK7LCBzaVxuIgogI34gIiAgICBOQU1FIGVzdCByZXNwZWN0aXZlbWVudCB1biBhbGlhcywgdW4gbW90IHLDqXNlcnbDqSBkdSBzaGVsbCwgdW5lICIKICN+ICJmb25jdGlvblxuIgogI34gIiAgICBkdSBzaGVsbCwgdW5lIHByaW1pdGl2ZSwgdW4gZmljaGllciBkdSBkaXNxdWUsIG91IHMnaWwgZXN0IGluY29ubnUuXG4iCkBAIC01NDkwLDggKzY0NjYsOCBAQAogI34gIiAgICBcbiIKICN+ICIgICAgU2kgwqsgLWEgwrsgZXN0IHV0aWxpc8OpLCDCqyB0eXBlIMK7IGFmZmljaGUgdG91cyBsZXMgZW1wbGFjZW1lbnRzIHF1aSAiCiAjfiAiY29udGllbm5lbnRcbiIKLSN+ICIgICAgdW4gZXjDqWN1dGFibGUgbm9tbcOpIMKrIGZpbGUgwrsuIENlY2kgaW5jbHV0IGxlcyBhbGlhcywgbGVzIHByaW1pdGl2ZXMgIgotI34gImV0IGxlc1xuIgorI34gIiAgICB1biBleMOpY3V0YWJsZSBub21tw6kgwqsgZmlsZSDCuy4gQ2VjaSBpbmNsdXQgbGVzIGFsaWFzLCBsZXMgcHJpbWl0aXZlcyBldCAiCisjfiAibGVzXG4iCiAjfiAiICAgIGZvbmN0aW9ucyBzaSwgZXQgc2V1bGVtZW50IHNpIMKrIC1wIMK7IG4nZXN0IHBhcyDDqWdhbGVtZW50IHV0aWxpc8OpLlxuIgogI34gIiAgICBcbiIKICN+ICIgICAgTCdpbmRpY2F0ZXVyIMKrIC1QIMK7IGZvcmNlIHVuZSByZWNoZXJjaGUgZGFucyBQQVRIIHBvdXIgY2hhcXVlIE5BTUUgIgpkaWZmIC0tZ2l0IGEvcG8vZ2EuZ21vIGIvcG8vZ2EuZ21vCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MTUyODMKLS0tIC9kZXYvbnVsbAorKysgYi9wby9nYS5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vZ2EucG8gYi9wby9nYS5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGZmNjkzCi0tLSAvZGV2L251bGwKKysrIGIvcG8vZ2EucG8KQEAgLTAsMCArMSw0MzU1IEBACisjIHRyYW5zbGF0aW9uIG9mIGJhc2g0LnBvIHRvIElyaXNoCisjIENvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGJhc2ggcGFja2FnZS4KKyMKKyMgU8OpYW11cyDDkyBDaWFyZGh1w6FpbiA8c2VvYyhhdClpb2xmcmVlLmllPiwgMjAwOS4KK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggNC4wXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDExLTAxLTI4IDIyOjA5LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTA5LTI0IDIzOjA4KzAxMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFPDqWFtdXMgw5MgQ2lhcmRodcOhaW4gPHNlb2NAaW9sZnJlZS5pZT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBJcmlzaCA8Z2FlaWxnZS1nbnVsaW51eEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1HZW5lcmF0b3I6IEtCYWJlbCAxLjExLjRcbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTM7IHBsdXJhbD1uPT0xID8gMCA6IG49PTIgPyAxIDogMjtcbiIKKworIzogYXJyYXlmdW5jLmM6NTAKK21zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgorbXNnc3RyICJkcm9jaC1maG9zY3JpcHQgZWFnYWlyIgorCisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgorbXNnc3RyICIiCisiJXM6IG7DrSBmw6lpZGlyIGVhZ2FyIGlubsOpYWNzYWl0aGUgYSB0aGlvbnTDuiBnbyBoZWFnYXIgY29taHRoaW9tc2FpdGhlYWNoIgorCisjOiBhcnJheWZ1bmMuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgorbXNnc3RyICIlczogZW9jaGFpciBuZWFtaGJoYWlsw60gZWFnYWlyIGNob21odGhpb21zYWl0aGlnaCIKKworIzogYXJyYXlmdW5jLmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIHRvIG5vbi1udW1lcmljIGluZGV4IgorbXNnc3RyICIlczogbsOtIGbDqWlkaXIgc2FubmFkaCBnbyBoaW5uw6lhY3MgbmVhbWh1aW1ocmnDumlsLiIKKworIzogYXJyYXlmdW5jLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgorbXNnc3RyICIiCisiJXM6ICVzOiBjYWl0aGZlYXIgZm9zY3JpcHQgYSDDunPDoWlkIGxlIHNhbm5hZGggY2h1aWcgZWFnYXIgY29taHRoaW9tc2FpdGhlYWNoIgorCisjOiBiYXNoaGlzdC5jOjM4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCittc2dzdHIgIiVzOiBuw60gZsOpaWRpciBjcnV0aMO6OiAlcyIKKworIzogYmFzaGxpbmUuYzozNDk4Cittc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgorbXNnc3RyICIiCisiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogbsOtIGbDqWlkaXIgbWFwYSBlb2NocmFjaCBhbiBvcmRhaXRoZSBhIGFpbXNpw7oiCisKKyM6IGJhc2hsaW5lLmM6MzU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgorbXNnc3RyICIlczogbsOtIFwiIMOpIGFuIGNow6lhZCBjaGFyYWNodGFyIG5hY2ggc3DDoXMgYsOhbiDDqS4iCisKKyM6IGJhc2hsaW5lLmM6MzYxMworIywgYy1mb3JtYXQKK21zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCittc2dzdHIgIk7DrWwgXCIlY1wiIGTDum50YSBpICVzIgorCisjOiBiYXNobGluZS5jOjM2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgorbXNnc3RyICIlczogZGVpZ2hpbHRlb2lyIGlkaXJzdGFpZCBhciBpYXJyYWlkaCIKKworIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICJcIiVzXCI6IGFpbm0gbmVhbWhiaGFpbMOtIGFyIG1oYXBhIGVvY2hyYWNoICIKKworIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMworbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKK21zZ3N0ciAibsOtbCBlYWdhcnRow7NpcmVhY2h0IGzDrW5lIGN1bWFzYWl0aGUiCisKKyM6IGJ1aWx0aW5zL2JpbmQuZGVmOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGtleW1hcCBuYW1lIgorbXNnc3RyICJcIiVzXCI6IGFpbm0gbmVhbWhiaGFpbMOtIGFyIG1oYXBhIGVvY2hyYWNoICIKKworIzogYnVpbHRpbnMvYmluZC5kZWY6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZDogJXMiCittc2dzdHIgIiVzOiBuw60gZsOpaWRpciBsw6lhbWg6ICVzIgorCisjOiBidWlsdGlucy9iaW5kLmRlZjoyNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogY2Fubm90IHVuYmluZCIKK21zZ3N0ciAiXCIlc1wiOiBuw60gZsOpaWRpciBkw61jaGVhbmdhaWwiCisKKyM6IGJ1aWx0aW5zL2JpbmQuZGVmOjI5NSBidWlsdGlucy9iaW5kLmRlZjozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogdW5rbm93biBmdW5jdGlvbiBuYW1lIgorbXNnc3RyICJcIiVzXCI6IGFpbm0gZmVpZGhtZSBuZWFtaGFpdGhuaWQiCisKKyM6IGJ1aWx0aW5zL2JpbmQuZGVmOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYm91bmQgdG8gYW55IGtleXMuXG4iCittc2dzdHIgIk7DrWwgJXMgY2VhbmdhaWx0ZSBsZSBoZW9jaGFpciBhciBiaXRoLlxuIgorCisjOiBidWlsdGlucy9iaW5kLmRlZjozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FuIGJlIGludm9rZWQgdmlhICIKK21zZ3N0ciAiSXMgZsOpaWRpciAlcyBhIGdobGFvaWdoIHRyw60gIgorCisjOiBidWlsdGlucy9icmVhay5kZWY6NzcgYnVpbHRpbnMvYnJlYWsuZGVmOjExNworbXNnaWQgImxvb3AgY291bnQiCittc2dzdHIgImNvbWhhaXJlYW1oIGzDumliZSIKKworIzogYnVpbHRpbnMvYnJlYWsuZGVmOjEzNworbXNnaWQgIm9ubHkgbWVhbmluZ2Z1bCBpbiBhIGBmb3InLCBgd2hpbGUnLCBvciBgdW50aWwnIGxvb3AiCittc2dzdHIgIkdhbiBjaGlhbGwgYWNoIGkgbMO6YiBcImZvclwiLCBcIndoaWxlXCIgbsOzIFwidW50aWxcIiIKKworIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzMKK21zZ2lkICIiCisiUmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCisiICAgIFxuIgorIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgorbXNnc3RyICIiCisiQWlzY2h1aXIgY29taHRow6lhY3MgYW4gZ2hsYW9pZ2ggcmVhdGhhIGZob2dobsOhdGhhaW1oLlxuIgorIiAgICBcbiIKKyIgICAgR2FuIFNMT05OLCBhaXNjaHVpcnRlYXIgIgorCisjOiBidWlsdGlucy9jZC5kZWY6MjM1Cittc2dpZCAiSE9NRSBub3Qgc2V0IgorbXNnc3RyICJOw61sIEhPTUUgc29jcnVpdGhlIgorCisjOiBidWlsdGlucy9jZC5kZWY6MjQ3Cittc2dpZCAiT0xEUFdEIG5vdCBzZXQiCittc2dzdHIgIk7DrWwgT0xEUFdEIHNvY3J1aXRoZSIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MTAxCisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6ICIKK21zZ3N0ciAibMOtbmUgJWQ6ICIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICIKK21zZ3N0ciAicmFiaGFkaDogIgorCisjOiBidWlsdGlucy9jb21tb24uYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVzYWdlOiAiCittc2dzdHIgIiVzOiDDunPDoWlkOiAiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJBbiBpb21hcmNhIGFyZ8OzaW50w60iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlczogdMOhIGFyZ8OzaW50IHJpYWNodGFuYWNoIGRvbiByb2doYSIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1lcmljIGFyZ3VtZW50IHJlcXVpcmVkIgorbXNnc3RyICIlczogYXJnw7NpbnQgdWltaHJpw7ppbCBkZSBkaMOtdGgiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlczogZ2FuIGFpbXNpw7oiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCittc2dzdHIgIiVzOiByb2doYSBuZWFtaGJoYWlsw60iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBvcHRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IGFpbm0gbmVhbWhiaGFpbMOtIHJvZ2hhIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyMjggZ2VuZXJhbC5jOjIzMSBnZW5lcmFsLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IG5vdCBhIHZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgIlwiJXNcIjogbsOtIGFpdGhlYW50w7NpciBiYWlsw60gw6kiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIzOAorbXNnaWQgImludmFsaWQgb2N0YWwgbnVtYmVyIgorbXNnc3RyICJ1aW1oaXIgb2NodG7DoXJ0aGEgbmVhbWhiaGFpbMOtIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyNDAKK21zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCittc2dzdHIgInVpbWhpciBoZWljc2lkaGVhY2jDumxhY2ggbmVhbWhiaGFpbMOtIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKK21zZ2lkICJpbnZhbGlkIG51bWJlciIKK21zZ3N0ciAidWltaGlyIG5lYW1oYmhhaWzDrSIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNpZ25hbCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczogc29ucsO6IG5lYW1oYmhhaWzDrSBjb21oYXJ0aGEiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCittc2dzdHIgIlwiJXNcIjogbsOtIGFpdGhlYW50YXMgcHLDs2lzaXMgbsOzIHNvbnLDuiBqYWIgYmFpbMOtIMOpIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgorbXNnc3RyICIlczogYXRocsOzZyBpbmzDqWl0ZSBhbWjDoWluIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG91dCBvZiByYW5nZSIKK21zZ3N0ciAiJXM6ICVzIGFzIHJhb24iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI3MiBidWlsdGlucy9jb21tb24uYzoyNzQKK21zZ2lkICJhcmd1bWVudCIKK21zZ3N0ciAiYXJnw7NpbnQiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIiVzIGFzIHJhb24iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gc3VjaCBqb2IiCittc2dzdHIgIiVzOiBuw61sIGEgbMOpaXRow6lpZCBkZSBqYWIgYW5uLiIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBqb2IgY29udHJvbCIKK21zZ3N0ciAiJXM6IGdhbiByaWFsw7ogamFiYW5uYS4iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI5MgorbXNnaWQgIm5vIGpvYiBjb250cm9sIgorbXNnc3RyICJHYW4gcmlhbMO6IGphYmFubmEuIgorCisjOiBidWlsdGlucy9jb21tb24uYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlc3RyaWN0ZWQiCittc2dzdHIgIiVzOiBzcmlhbnRhIgorCisjOiBidWlsdGlucy9jb21tb24uYzozMDQKK21zZ2lkICJyZXN0cmljdGVkIgorbXNnc3RyICJzcmlhbnRhIgorCisjOiBidWlsdGlucy9jb21tb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHNoZWxsIGJ1aWx0aW4iCittc2dzdHIgIiVzOiBuw60gb3Jkw7ogaW9uc3VpdGUgYmxhb2lzY2Ugw6kuIgorCisjOiBidWlsdGlucy9jb21tb24uYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZXJyb3I6ICVzIgorbXNnc3RyICJlYXJyw6FpZCBzY3LDrW9mYTogJXMiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzIgorbXNnc3RyICJlYXJyw6FpZCBhZ3VzIGFpcsOtb25uYSB0ZWlybWluw6lpbCDDoSBzb2Nyw7o6ICVzIgorCisjOiBidWlsdGlucy9jb21tb24uYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgZ2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKK21zZ3N0ciAiZWFycsOhaWQgYWd1cyBhaXLDrW9ubmEgdGVpcm1pbsOpaWwgw6EgZsOhaWw6ICVzIgorCisjOiBidWlsdGlucy9jb21tb24uYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHJldHJpZXZpbmcgY3VycmVudCBkaXJlY3Rvcnk6ICVzOiAlc1xuIgorbXNnc3RyICIlczogZWFycsOhaWQgYWcgZsOhaWwgbmEgY29taGFkbGFpbm5lIHJlYXRoYTogJXM6ICVzXG4iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjYyOSBidWlsdGlucy9jb21tb24uYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKK21zZ3N0ciAiJXM6IHNvbnLDuiBqYWIgYXRoYmhyw61vY2giCisKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYWN0aW9uIG5hbWUiCittc2dzdHIgIiVzOiBhaW5tIG5lYW1oYmhhaWzDrSBnbsOtbWgiCisKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczogbsOtbCBzb25yw7ogaW9tbMOhbmFpdGhlIGFubi4iCisKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKK21zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCittc2dzdHIgIiIKKyJSYWJoYWRoOiBiJ2Zow6lpZGlyIG5hY2ggbi1vaWJyw61vbm4gYW4gcm9naGEgLUYgbWFyIGEgYmhlaWZlw6EgYWcgc8O6aWwgbGVpcy4iCisKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTgKK21zZ2lkICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCittc2dzdHIgIiIKKyJSYWJoYWRoOiBiJ2Zow6lpZGlyIG5hY2ggbi1vaWJyw61vbm4gYW4gcm9naGEgLUMgbWFyIGEgYmhlaWZlw6EgYWcgc8O6aWwgbGVpcy4iCisKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKK21zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgorbXNnc3RyICJuw61sIGFuIGZoZWlkaG0gY2hvbWhsw6FuYWl0aGUgw6Egcml0aCBmYW9pIGzDoXRoYWlyIgorCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjQKK21zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCittc2dzdHIgIkluw7pzw6FpZHRlIGkgYmhmZWlkaG1lYW5uYSBhbWjDoWluLiAiCisKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgorbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKK21zZ3N0ciAiTsOtIGbDqWlkaXIgXCItZlwiIGEgw7pzw6FpZCBjaHVuIGZlaWRobWVhbm5hIGEgZGjDqWFuYW1oIgorCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzggZXhlY3V0ZV9jbWQuYzo1MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKK21zZ3N0ciAiJXM6IGZlaWRobSBpbmzDqWl0ZSBhbWjDoWluIgorCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKK21zZ3N0ciAiJXM6IG7DrSBmw6lpZGlyIGF0aHLDs2dhIGVhZ2FpciBhIHNjcmlvcyBtYXIgc2VvLiIKKworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgorbXNnc3RyICIiCisiJXM6IG7DrSBmw6lpZGlyIGVhZ2FyIGNvbWh0aGlvbXNhaXRoZWFjaCBhIHRoaW9udMO6IGdvIGhlYWdhciBpbm7DqWFjc2FpdGhlIgorCisjOiBidWlsdGlucy9lbmFibGUuZGVmOjEzNyBidWlsdGlucy9lbmFibGUuZGVmOjE0NQorbXNnaWQgImR5bmFtaWMgbG9hZGluZyBub3QgYXZhaWxhYmxlIgorbXNnc3RyICJOw61sIGx1Y2h0w7ogZGluaW1pY2nDumlsIGFyIGbDoWlsIgorCisjOiBidWlsdGlucy9lbmFibGUuZGVmOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzaGFyZWQgb2JqZWN0ICVzOiAlcyIKK21zZ3N0ciAiTsOtIGbDqWlkaXIgYW4gcsOpYWQgY29taHJvaW5udGUgJXMgYSBvc2NhaWx0OiAlcyIKKworIzogYnVpbHRpbnMvZW5hYmxlLmRlZjozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgJXMgaW4gc2hhcmVkIG9iamVjdCAlczogJXMiCittc2dzdHIgIk7DrSBmw6lpZGlyICVzIGEgYWltc2nDuiBzYSByw6lhZCBjb21ocm9pbm50ZSAlczogJXMiCisKKyM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZHluYW1pY2FsbHkgbG9hZGVkIgorbXNnc3RyICIlczogbsOtbCBzw6kgbHVjaHRhaXRoZSBnbyBkaW5pbWljacO6aWwiCisKKyM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKK21zZ3N0ciAiJXM6IG7DrSBmw6lpZGlyIHNjcmlvczogJXMiCisKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBpcyBjb21oYWRsYW5uIMOpIgorCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgorbXNnc3RyICIlczogbsOtIGduw6F0aGNob21oYWQgw6kiCisKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKK21zZ3N0ciAiJXM6IHTDoSBhbiBjb21oYWQgcsOzLW1ow7NyIgorCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4MiBidWlsdGlucy9ldmFsZmlsZS5jOjIwMCBleGVjdXRlX2NtZC5jOjUwMzIKKyM6IHNoZWxsLmM6MTQ2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCittc2dzdHIgIiVzOiBuw60gZsOpaWRpciBjb21oYWQgZMOpbsOhcnRoYSBhIHJpdGgiCisKKyM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NCBidWlsdGlucy9leGVjLmRlZjoxNTYgYnVpbHRpbnMvZXhlYy5kZWY6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgIiVzOiBuw60gZsOpaWRpciByaXRoOiAlcyIKKworIzogYnVpbHRpbnMvZXhpdC5kZWY6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9nb3V0XG4iCittc2dzdHIgImxvZ291dFxuIgorCisjOiBidWlsdGlucy9leGl0LmRlZjo4OAorbXNnaWQgIm5vdCBsb2dpbiBzaGVsbDogdXNlIGBleGl0JyIKK21zZ3N0ciAiTsOtIGJsYW9zYyBsb2fDoWxhIGlzdGVhY2ggw6kgc2VvOiDDunPDoWlkIFwiZXhpdFwiIgorCisjOiBidWlsdGlucy9leGl0LmRlZjoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgYXJlIHN0b3BwZWQgam9icy5cbiIKK21zZ3N0ciAiVMOhIGphYmFubmEgc3RvcHRoYSBhbm4uXG4iCisKKyM6IGJ1aWx0aW5zL2V4aXQuZGVmOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgorbXNnc3RyICJUw6EgamFiYW5uYSBhZyByaXRoLlxuIgorCisjOiBidWlsdGlucy9mYy5kZWY6MjYyCittc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKK21zZ3N0ciAiTsOtb3IgYWltc8Otb2RoIG9yZMO6IgorCisjOiBidWlsdGlucy9mYy5kZWY6MzEyIGJ1aWx0aW5zL2ZjLmRlZjozNTkKK21zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCittc2dzdHIgIlNvbnLDuiBzdGFpcmUiCisKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCittc2dzdHIgIiVzOiBuw60gZsOpaWRpciBjb21oYWQgc2VhbGFkYWNoIGEgb3NjYWlsdDogJXMiCisKKyM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNDkgYnVpbHRpbnMvam9icy5kZWY6MjgyCittc2dpZCAiY3VycmVudCIKK21zZ3N0ciAicmVhdGhhIgorCisjOiBidWlsdGlucy9mZ19iZy5kZWY6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImpvYiAlZCBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wiCittc2dzdHIgIlRob3NhaWdoIGphYiAlZCBnYW4gcmlhbMO6IGphYmFubmEuIgorCisjOiBidWlsdGlucy9nZXRvcHQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCittc2dzdHIgIiVzOiByb2doYSBuZWFtaGRobGVhdGhhY2ggLS0gJWNcbiIKKworIzogYnVpbHRpbnMvZ2V0b3B0LmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJWNcbiIKK21zZ3N0ciAiJXM6IHTDoSBhcmfDs2ludCByaWFjaHRhbmFjaCBkb24gcm9naGEgLS0gJWNcbiIKKworIzogYnVpbHRpbnMvaGFzaC5kZWY6OTIKK21zZ2lkICJoYXNoaW5nIGRpc2FibGVkIgorbXNnc3RyICJUw6EgaGFpc2XDoWlsIGTDrWNodW1hc2FpdGhlLiIKKworIzogYnVpbHRpbnMvaGFzaC5kZWY6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCittc2dzdHIgIiVzOiB0w6EgYW4gdMOhYmxhIGhhaXNlw6FsYSBmb2xhbWguXG4iCisKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJoaXRzXHRjb21tYW5kXG4iCittc2dzdHIgImFtYWlzXHRvcmTDulxuIgorCisjOiBidWlsdGlucy9oZWxwLmRlZjoxMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZCBgIgorbXNnaWRfcGx1cmFsICJTaGVsbCBjb21tYW5kcyBtYXRjaGluZyBrZXl3b3JkcyBgIgorbXNnc3RyWzBdICJPcmRhaXRoZSBibGFvaXNjZSBhIG1oZWFpdHNlw6FsYW5uIGFuIGxvcmdmaG9jYWwgXCIiCittc2dzdHJbMV0gIk9yZGFpdGhlIGJsYW9pc2NlIGEgbWhlYWl0c2XDoWxhbm4gbmEgbG9yZ2Zob2NhaWwgXCIiCittc2dzdHJbMl0gIk9yZGFpdGhlIGJsYW9pc2NlIGEgbWhlYWl0c2XDoWxhbm4gbmEgbG9yZ2Zob2NhaWwgJyIKKworIzogYnVpbHRpbnMvaGVscC5kZWY6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJubyBoZWxwIHRvcGljcyBtYXRjaCBgJXMnLiAgVHJ5IGBoZWxwIGhlbHAnIG9yIGBtYW4gLWsgJXMnIG9yIGBpbmZvICVzJy4iCittc2dzdHIgIiIKKyJOw60gbWhlYWl0c2XDoWxhbm4gw6FiaGFyIGNhYmhyYWNoIGFyIGJpdGggXCIlc1wiLiBCYWluIHRyaWFpbCBhcyBcImhlbHAgaGVscFwiICIKKyJuw7MgXCJtYW4gLWsgJXNcIiBuw7MgXCJpbmZvICVzXCIuIgorCisjOiBidWlsdGlucy9oZWxwLmRlZjoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBvcGVuOiAlcyIKK21zZ3N0ciAiJXM6IG7DrSBmw6lpZGlyIG9zY2FpbHQ6ICVzIgorCisjOiBidWlsdGlucy9oZWxwLmRlZjozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZXNlIHNoZWxsIGNvbW1hbmRzIGFyZSBkZWZpbmVkIGludGVybmFsbHkuICBUeXBlIGBoZWxwJyB0byBzZWUgdGhpcyBsaXN0LlxuIgorIlR5cGUgYGhlbHAgbmFtZScgdG8gZmluZCBvdXQgbW9yZSBhYm91dCB0aGUgZnVuY3Rpb24gYG5hbWUnLlxuIgorIlVzZSBgaW5mbyBiYXNoJyB0byBmaW5kIG91dCBtb3JlIGFib3V0IHRoZSBzaGVsbCBpbiBnZW5lcmFsLlxuIgorIlVzZSBgbWFuIC1rJyBvciBgaW5mbycgdG8gZmluZCBvdXQgbW9yZSBhYm91dCBjb21tYW5kcyBub3QgaW4gdGhpcyBsaXN0LlxuIgorIlxuIgorIkEgc3RhciAoKikgbmV4dCB0byBhIG5hbWUgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCBpcyBkaXNhYmxlZC5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlTDoSBuYSBob3JkdWl0aGUgYmxhb2lzY2Ugc2VvIHNhaW5taMOtbml0aGUgZ28gaGlubWhlw6FuYWNoLlxuIgorIlVzw6FpZCBcImhlbHBcIiBsZWlzIGFuIGxpb3N0YSBzZW8gYSB0aGFpc3Blw6FpbnQuXG4iCisiw5pzw6FpZCBcImhlbHAgYWlubVwiIGNodW4gdHVpbGxlYWRoIGVvbGFpcyBhIGZow6FpbCBmYW9pbiBiaGZlaWRobSBcImFpbm1cIi5cbiIKKyLDmnPDoWlkIFwiaW5mbyBiYXNoXCIgY2h1biB0dWlsbGVhZGggZW9sYWlzIGEgZmjDoWlsIGZhb2luIG1ibGFvc2MgZsOpaW4uXG4iCisiw5pzw6FpZCBcIm1hbiAta1wiIG7DsyBcImluZm9cIiBjaHVuIHR1aWxsZWFkaCBlb2xhaXMgYSBmaMOhaWwgZmFvaSBvcmRhaXRoZSAiCisibmFjaCBiaGZ1aWwgc2EgbGlvc3RhIHNlby5cbiIKKyJDaWFsbGHDrW9ubiByw6lhbHQgKCopIGFyIGFpbm0gZ28gYmhmdWlsIGFuIHQtb3Jkw7ogZMOtY2h1bWFzYWl0aGUuXG4iCisiXG4iCisKKyM6IGJ1aWx0aW5zL2hpc3RvcnkuZGVmOjE1NAorbXNnaWQgImNhbm5vdCB1c2UgbW9yZSB0aGFuIG9uZSBvZiAtYW5ydyIKK21zZ3N0ciAiTsOtIGbDqWlkaXIgbsOtb3MgbcOzIG7DoSBjZWFubiBhbWjDoWluIGFzIC1hbnJ3IGEgw7pzw6FpZC4iCisKKyM6IGJ1aWx0aW5zL2hpc3RvcnkuZGVmOjE4NgorbXNnaWQgImhpc3RvcnkgcG9zaXRpb24iCittc2dzdHIgInN1w61vbWggc3RhaXJlIgorCisjOiBidWlsdGlucy9oaXN0b3J5LmRlZjozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhpc3RvcnkgZXhwYW5zaW9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHRoZWlwIGFyIGZoYWlyc2luZ2nDuiBzdGFpcmUuIgorCisjOiBidWlsdGlucy9pbmxpYi5kZWY6NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlubGliIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHRoZWlwIGFyIGlubGliIgorCisjOiBidWlsdGlucy9qb2JzLmRlZjoxMDkKK21zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgorbXNnc3RyICJOw61sIHJvZ2hhbm5hIGVpbGUgY2VhZGFpdGhlIGxlIFwiLXhcIiIKKworIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCittc2dzdHIgIiVzOiBpcyBnw6EgbGUgYXJnw7NpbnTDrSBiaGVpdGggaW5hIGFpdGhlYW50YWlzIHBocsOzaXNpcyBuw7MgamFiIgorCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjEKK21zZ2lkICJVbmtub3duIGVycm9yIgorbXNnc3RyICJFYXJyw6FpZCBuZWFtaGFpdGhuaWQiCisKKyM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjU1MiBleHByLmM6NTY3Cittc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKK21zZ3N0ciAiQWcgc8O6aWwgbGUgc2xvbm4iCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorbXNnc3RyICIlczogbsOtIGF0aHLDs2cgZWFnYWlyIMOpIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTYgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczogc29ucsO6IG5lYW1oYmhhaWzDrSB0dWFpcmlzY2VvcmEgY29taGFpZCIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY0IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgorbXNnc3RyICIlZDogdHVhaXJpc2Nlb2lyIGNvbWhhaWQgbmVhbWhiaGFpbMOtOiAlcyIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjczIGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgorbXNnc3RyICIlczogY29taGFpcmVhbWggbmVhbWhiaGFpbMOtIGzDrW50ZSIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKK21zZ3N0ciAiJXM6IGJ1bnBob2ludGUgbmVhbWhiaGFpbMOtIGVhZ2FpciIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCittc2dzdHIgIiVzOiBjYW5kYW0gbmVhbWhiaGFpbMOtIGFpc2dobGFvaWdoIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzMKK21zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgorbXNnc3RyICJhaW5tIGZvbGFtaCBhdGhyw7NnYSBlYWdhaXIiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM1NAorbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCittc2dzdHIgInRhY2HDrW9jaHQgbGUgaGF0aHLDs2dhIGVhZ2FpciBkZSBkaMOtdGgiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKK21zZ3N0ciAiXCIlc1wiOiBjYXJhY2h0YXIgZm9ybcOhaWRlIGFyIGlhcnJhaWRoLiIKKworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgdGltZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6IHNvbnLDuiBuZWFtaGJoYWlsw60gdGVvcmFubiBhbWEiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjM1CisjLCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKK21zZ3N0ciAiXCIlY1wiOiBjYXJhY2h0YXIgZm9ybcOhaWRlIG5lYW1oYmhhaWzDrS4iCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKK21zZ3N0ciAicmFiaGFkaDogJXM6ICVzIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjg0MAorbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCittc2dzdHIgImRpZ2l0IGhlaWNzaWRoZWFjaMO6bGFjaCBhciBpYXJyYWlkaCBsZSBoYWdoYWlkaCBcXHgiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIHVuaWNvZGUgZGlnaXQgZm9yIFxcJWMiCittc2dzdHIgImRpZ2l0IGhlaWNzaWRoZWFjaMO6bGFjaCBhciBpYXJyYWlkaCBsZSBoYWdoYWlkaCBcXHgiCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjoxOTUKK21zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCittc2dzdHIgIk7DrWwgY29taGFkbGFubiBlaWxlIGFubiIKKworIzogYnVpbHRpbnMvcHVzaGQuZGVmOjQ2MgorbXNnaWQgIjxubyBjdXJyZW50IGRpcmVjdG9yeT4iCittc2dzdHIgIjxuw61sIGNvbWhhZGxhbm4gcmVhdGhhIGFubj4iCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo1MDYKK21zZ2lkICJkaXJlY3Rvcnkgc3RhY2sgZW1wdHkiCittc2dzdHIgImNydWFjaCBmaG9sYW1oIGNob21oYWRsYWlubmUiCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo1MDgKK21zZ2lkICJkaXJlY3Rvcnkgc3RhY2sgaW5kZXgiCittc2dzdHIgImlubsOpYWNzIGNydWFpY2hlIGNvbWhhZGxhaW5uZSIKKworIzogYnVpbHRpbnMvcHVzaGQuZGVmOjY4MworbXNnaWQgIiIKKyJEaXNwbGF5IHRoZSBsaXN0IG9mIGN1cnJlbnRseSByZW1lbWJlcmVkIGRpcmVjdG9yaWVzLiAgRGlyZWN0b3JpZXNcbiIKKyIgICAgZmluZCB0aGVpciB3YXkgb250byB0aGUgbGlzdCB3aXRoIHRoZSBgcHVzaGQnIGNvbW1hbmQ7IHlvdSBjYW4gZ2V0XG4iCisiICAgIGJhY2sgdXAgdGhyb3VnaCB0aGUgbGlzdCB3aXRoIHRoZSBgcG9wZCcgY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWNcdGNsZWFyIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbGVtZW50c1xuIgorIiAgICAgIC1sXHRkbyBub3QgcHJpbnQgdGlsZGUtcHJlZml4ZWQgdmVyc2lvbnMgb2YgZGlyZWN0b3JpZXMgcmVsYXRpdmVcbiIKKyIgICAgXHR0byB5b3VyIGhvbWUgZGlyZWN0b3J5XG4iCisiICAgICAgLXBcdHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmVcbiIKKyIgICAgICAtdlx0cHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZSBwcmVmaXhlZFxuIgorIiAgICBcdHdpdGggaXRzIHBvc2l0aW9uIGluIHRoZSBzdGFja1xuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgICtOXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvd24gIgorImJ5XG4iCisiICAgIFx0ZGlycyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duICIKKyJieVxuIgorIlx0ZGlycyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo3MDUKK21zZ2lkICIiCisiQWRkcyBhIGRpcmVjdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXNcbiIKKyIgICAgdGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5ldyB0b3Agb2YgdGhlIHN0YWNrIHRoZSBjdXJyZW50IHdvcmtpbmdcbiIKKyIgICAgZGlyZWN0b3J5LiAgV2l0aCBubyBhcmd1bWVudHMsIGV4Y2hhbmdlcyB0aGUgdG9wIHR3byBkaXJlY3Rvcmllcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gYWRkaW5nXG4iCisiICAgIFx0ZGlyZWN0b3JpZXMgdG8gdGhlIHN0YWNrLCBzbyBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICArTlx0Um90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmdcbiIKKyIgICAgXHRmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgorIiAgICBcdHplcm8pIGlzIGF0IHRoZSB0b3AuXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHRSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSBOdGggZGlyZWN0b3J5IChjb3VudGluZ1xuIgorIiAgICBcdGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgorIiAgICBcdHplcm8pIGlzIGF0IHRoZSB0b3AuXG4iCisiICAgIFxuIgorIiAgICAgIGRpclx0QWRkcyBESVIgdG8gdGhlIGRpcmVjdG9yeSBzdGFjayBhdCB0aGUgdG9wLCBtYWtpbmcgaXQgdGhlXG4iCisiICAgIFx0bmV3IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMvcHVzaGQuZGVmOjczMAorbXNnaWQgIiIKKyJSZW1vdmVzIGVudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiAgV2l0aCBubyBhcmd1bWVudHMsIHJlbW92ZXNcbiIKKyIgICAgdGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUgc3RhY2ssIGFuZCBjaGFuZ2VzIHRvIHRoZSBuZXcgdG9wIGRpcmVjdG9yeS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gcmVtb3ZpbmdcbiIKKyIgICAgXHRkaXJlY3RvcmllcyBmcm9tIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgK05cdFJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0XG4iCisiICAgIFx0c2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgKzAnXG4iCisiICAgIFx0cmVtb3ZlcyB0aGUgZmlyc3QgZGlyZWN0b3J5LCBgcG9wZCArMScgdGhlIHNlY29uZC5cbiIKKyIgICAgXG4iCisiICAgICAgLU5cdFJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdFxuIgorIiAgICBcdHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aCB6ZXJvLiAgRm9yIGV4YW1wbGU6IGBwb3BkIC0wJ1xuIgorIiAgICBcdHJlbW92ZXMgdGhlIGxhc3QgZGlyZWN0b3J5LCBgcG9wZCAtMScgdGhlIG5leHQgdG8gbGFzdC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBgZGlycycgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczogc29ucsO6IG5lYW1oYmhhaWzDrSB0ZW9yYW5uIGFtYSIKKworIzogYnVpbHRpbnMvcmVhZC5kZWY6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKK21zZ3N0ciAiZWFycsOhaWQgbMOpaXRlOiAlZDogJXMiCisKKyM6IGJ1aWx0aW5zL3JldHVybi5kZWY6NzMKK21zZ2lkICJjYW4gb25seSBgcmV0dXJuJyBmcm9tIGEgZnVuY3Rpb24gb3Igc291cmNlZCBzY3JpcHQiCittc2dzdHIgIiIKKyJuw60gZsOpaWRpciBcInJldHVyblwiIGEgZGjDqWFuYW1oIGFjaCDDsyBmaGVpZGhtIG7DsyDDsyBzY3JpcHQgcml0ZSBsZSBcInNvdXJjZVwiIgorCisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQorbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgorbXNnc3RyICJOw60gZsOpaWRpciBmZWlkaG0gYWd1cyBhdGhyw7NnIGEgZGjDrXNob2Nyw7ogYWcgYW4gYW0gY8OpYW5uYS4iCisKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQiCittc2dzdHIgIiVzOiBuw60gZsOpaWRpciBkw61zaG9jcsO6IgorCisjOiBidWlsdGlucy9zZXQuZGVmOjgxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHVuc2V0OiByZWFkb25seSAlcyIKK21zZ3N0ciAiJXM6IG7DrSBmw6lpZGlyIGTDrXNob2Nyw7o6ICVzIGlubMOpaXRlIGFtaMOhaW4iCisKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCittc2dzdHIgIiVzOiBuw60gYXRocsOzZyBlYWdhaXIgw6kiCisKKyM6IGJ1aWx0aW5zL3NldGF0dHIuZGVmOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZnVuY3Rpb24iCittc2dzdHIgIiVzOiBuw60gZmVpZGhtIMOpLiIKKworIzogYnVpbHRpbnMvc2hpZnQuZGVmOjcxIGJ1aWx0aW5zL3NoaWZ0LmRlZjo3NworbXNnaWQgInNoaWZ0IGNvdW50IgorbXNnc3RyICJjb21oYWlyZWFtaCBpb21sYW9pZGUiCisKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKK21zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgorbXNnc3RyICJOw60gZsOpaWRpciByb2doYW5uYSBibGFvaXNjZSBhIHNob2Nyw7ogYWd1cyBhIGRow61zaG9jcsO6IGFnIGFuIGFtIGPDqWFubmEuIgorCisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgorbXNnc3RyICIlczogYWlubSBuZWFtaGJoYWlsw60gYXIgcm9naGEgYmxhb2lzY2UiCisKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCittc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCittc2dzdHIgIklzIGfDoSBkb24gYXJnw7NpbnQgYmhlaXRoIGluYSBhaW5tIGNvbWhhaWQuIgorCisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuw61vciBhaW1zw61vZGggYW4gY29taGFkIgorCisjOiBidWlsdGlucy9zdXNwZW5kLmRlZjoxMDEKK21zZ2lkICJjYW5ub3Qgc3VzcGVuZCIKK21zZ3N0ciAiTsOtIGbDqWlkaXIgY3VyIGFyIGZpb25yYcOtLiIKKworIzogYnVpbHRpbnMvc3VzcGVuZC5kZWY6MTExCittc2dpZCAiY2Fubm90IHN1c3BlbmQgYSBsb2dpbiBzaGVsbCIKK21zZ3N0ciAiTsOtIGbDqWlkaXIgYmxhb3NjIGxvZ8OhbGEgaXN0ZWFjaCBhIGNodXIgYXIgZmlvbnJhw60uIgorCisjOiBidWlsdGlucy90eXBlLmRlZjoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxpYXNlZCB0byBgJXMnXG4iCittc2dzdHIgIlTDoSAlcyBhaWxpYXPDoWlsdGUgZ28gXCIlc1wiLlxuIgorCisjOiBidWlsdGlucy90eXBlLmRlZjoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBzaGVsbCBrZXl3b3JkXG4iCittc2dzdHIgIklzIGVvY2hhaXJmaG9jYWwgYmxhb2lzY2Ugw6kgJXMuXG4iCisKKyM6IGJ1aWx0aW5zL3R5cGUuZGVmOjI3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIGZ1bmN0aW9uXG4iCittc2dzdHIgIklzIGZlaWRobSDDqSAlcy5cbiIKKworIzogYnVpbHRpbnMvdHlwZS5kZWY6Mjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgc2hlbGwgYnVpbHRpblxuIgorbXNnc3RyICJJcyBvcmTDuiBpb25zdWl0ZSBibGFvaXNjZSDDqSAlc1xuIgorCisjOiBidWlsdGlucy90eXBlLmRlZjozMTcgYnVpbHRpbnMvdHlwZS5kZWY6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzICVzXG4iCittc2dzdHIgIlTDoSAlcyAlc1xuIgorCisjOiBidWlsdGlucy90eXBlLmRlZjozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgaGFzaGVkICglcylcbiIKK21zZ3N0ciAiVMOhICVzIGhhaXNlw6FpbHRlICglcylcbiIKKworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCittc2dzdHIgIiVzOiBhcmfDs2ludCB0ZW9yYW5uIG5lYW1oYmhhaWzDrSIKKworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVjJzogYmFkIGNvbW1hbmQiCittc2dzdHIgIlwiJWNcIjogZHJvY2gtb3Jkw7oiCisKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKK21zZ3N0ciAiJXM6IG7DrSBmw6lpZGlyIHRlb3JhaW5uIGEgZmjDoWlsOiAlcyIKKworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTcKK21zZ2lkICJsaW1pdCIKK21zZ3N0ciAidGVvcmFpbm4iCisKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKK21zZ3N0ciAiJXM6IG7DrSBmw6lpZGlyIHRlb3JhaW5uIGEgYXRocsO6OiAlcyIKKworIzogYnVpbHRpbnMvdW1hc2suZGVmOjExOAorbXNnaWQgIm9jdGFsIG51bWJlciIKK21zZ3N0ciAidWltaGlyIG9jaHRuw6FydGhhIgorCisjOiBidWlsdGlucy91bWFzay5kZWY6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBvcGVyYXRvciIKK21zZ3N0ciAiXCIlY1wiOiBvaWJyZW9pciBuZWFtaGJoYWlsw60gbcOzaWQgc2hpb21iYWxhaWdoIgorCisjOiBidWlsdGlucy91bWFzay5kZWY6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBjaGFyYWN0ZXIiCittc2dzdHIgIlwiJWNcIjogY2FyYWNodGFyIG5lYW1oYmhhaWzDrSBtw7NpZCBzaGlvbWJhbGFpZ2giCisKKyM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKK21zZ2lkICIgbGluZSAiCittc2dzdHIgIiBsw61uZSAiCisKKyM6IGVycm9yLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAiT3Jkw7ogZGVpcmVhbmFjaDogJXNcbiIKKworIzogZXJyb3IuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWJvcnRpbmcuLi4iCittc2dzdHIgIkFnIHRvYnNjb3IuLi4iCisKKyM6IGVycm9yLmM6NDA2Cittc2dpZCAidW5rbm93biBjb21tYW5kIGVycm9yIgorbXNnc3RyICJlYXJyw6FpZCBvcmRhaXRoZSBuZWFtaGFpdGhuaWQiCisKKyM6IGVycm9yLmM6NDA3Cittc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKK21zZ3N0ciAiZHJvY2gtY2hpbmXDoWwgb3JkYWl0aGUiCisKKyM6IGVycm9yLmM6NDA4Cittc2dpZCAiYmFkIGNvbm5lY3RvciIKK21zZ3N0ciAiZHJvY2huYXNjw7NpciIKKworIzogZXJyb3IuYzo0MDkKK21zZ2lkICJiYWQganVtcCIKK21zZ3N0ciAiZHJvY2hsw6lpbSIKKworIzogZXJyb3IuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYm91bmQgdmFyaWFibGUiCittc2dzdHIgIiVzOiBhdGhyw7NnIG5lYW1oY2hlYW5nYWlsdGUiCisKKyM6IGV2YWwuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dzdHIgIlxhaW1pdGhlIHRoYXIgYW0gYWcgZmVpdGhlYW1oIGxlIGhpb25jaHVyOiBsb2fDoWlsIGFtYWNoIHVhdGhvaWJyw61vY2hcbiIKKworIzogZXhlY3V0ZV9jbWQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKK21zZ3N0ciAiTsOtIGbDqWlkaXIgYW4gaW9uY2h1ciBjYWlnaGRlw6FuYWNoIGEgYXRyZW9yw7ogw7MgL2Rldi9udWxsOiAlcyIKKworIzogZXhlY3V0ZV9jbWQuYzoxMTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKK21zZ3N0ciAiRk9STcOBSURfQU1BOiBcIiVjXCI6IGNhcmFjaHRhciBmb3Jtw6FpZGUgbmVhbWhiaGFpw60uIgorCisjOiBleGVjdXRlX2NtZC5jOjIxMjEKK21zZ2lkICJwaXBlIGVycm9yIgorbXNnc3RyICJlYXJyw6FpZCBwaMOtb3BhIgorCisjOiBleGVjdXRlX2NtZC5jOjQ2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgorbXNnc3RyICIlczogc3JpYW50YTogbsOtIGbDqWlkaXIgXCIvXCIgYSBzaG9ucsO6IGluIGFpbm1uZWFjaGEgb3JkYWl0aGUiCisKKyM6IGV4ZWN1dGVfY21kLmM6NDczNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuw61vciBhaW1zw61vZGggYW4gdC1vcmTDuiIKKworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMiCittc2dzdHIgIlTDoSAlcyAlc1xuIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCittc2dzdHIgIiVzOiAlczogZHJvY2hsw6lpcm1ow61uaXRoZW9pciIKKworIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCittc2dzdHIgIiIKKyJOw60gZsOpaWRpciBhbiB0dWFpcmlzY2VvaXIgY29taGFpZCAlZCBhIGRow7piYWlsdCBtYXIgdGh1YWlyaXNjZW9pciBjb21oYWlkICVkLiIKKworIzogZXhwci5jOjI1NgorbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgorbXNnc3RyICJpbWl0aGUgdGhhciBsZWliaMOpYWwgYXRoY2h1cnPDoWxhIHNsb2lubiIKKworIzogZXhwci5jOjI4MAorbXNnaWQgInJlY3Vyc2lvbiBzdGFjayB1bmRlcmZsb3ciCittc2dzdHIgImdhbm5zcmVhYmhhZGggbmEgY3J1YWljaGUgYXRoY2jDunJzw6FsYSIKKworIzogZXhwci5jOjQyMgorbXNnaWQgInN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIgorbXNnc3RyICJFYXJyw6FpZCBjaG9taHLDqWlyZSBzYSBzbG9ubi4iCisKKyM6IGV4cHIuYzo0NjMKK21zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCittc2dzdHIgIkRlaW5lYWRoIGlhcnJhY2h0IHNhbm5hZGggZ28gcnVkIG5hY2ggYXRocsOzZyDDqS4iCisKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3Cittc2dpZCAiZGl2aXNpb24gYnkgMCIKK21zZ3N0ciAicm9pbm50IGFyIDAiCisKKyM6IGV4cHIuYzo1MTcKK21zZ2lkICJidWc6IGJhZCBleHBhc3NpZ24gdG9rZW4iCittc2dzdHIgImZhYmh0OiBkcm9jaC1jaG9taGFydGhhIGV4cGFzc2lnbiIKKworIzogZXhwci5jOjU2NAorbXNnaWQgImA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKK21zZ3N0ciAiQmjDrW90aGFzIGFnIHPDumlsIGxlIFwiOlwiIGxlIGhhZ2hhaWRoIHNsb2lubiBjaG9pbm7DrW9sbGFpZ2guIgorCisjOiBleHByLmM6ODMyCittc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCittc2dzdHIgIkVhc3DDs25hbnQgbsOtb3MgbMO6IG7DoSAwLiIKKworIzogZXhwci5jOjg4NworbXNnaWQgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgorbXNnc3RyICJhZyBzw7ppbCBsZSBhaXRoZWFudMOzaXIgdGFyIMOpaXMgcsOpYW1oaW5jcmltaW50ZSBuw7MgcsOpYW1oZGVpY3JpbWludGUiCisKKyM6IGV4cHIuYzo5MTAKK21zZ2lkICJtaXNzaW5nIGApJyIKK21zZ3N0ciAiXCIpXCIgYXIgaWFycmFpZGgiCisKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKK21zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCittc2dzdHIgIkVhcnLDoWlkIGNob21ocsOpaXJlOiBiaMOtb3RoYXMgYWcgc8O6aWwgbGUgaG9pYnJlYW5uLiIKKworIzogZXhwci5jOjEyODQKK21zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKK21zZ3N0ciAiZWFycsOhaWQgY2hvbWhyw6lpcmU6IG9pYnJlb2lyIG5lYW1oYmhhaWzDrSB1aW1ocsOtb2NodGEiCisKKyM6IGV4cHIuYzoxMzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCittc2dzdHIgIiVzJXMlczogJXMgKGNvbWhhcnRoYSBlYXJyw6FpZGUgXCIlc1wiKSIKKworIzogZXhwci5jOjEzNjYKK21zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKK21zZ3N0ciAiQm9ubnVpbWhpciB1aW1ocsOtb2NodMO6aWwgbmVhbWhiaGFpbMOtLiIKKworIzogZXhwci5jOjEzODYKK21zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCittc2dzdHIgIlTDoSBhbiBsdWFjaCByw7NtaMOzciBkb24gYmhvbm51aW1oaXIuIgorCisjOiBleHByLmM6MTQzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgorbXNnc3RyICIlczogZWFycsOhaWQgc2xvaW5uXG4iCisKKyM6IGdlbmVyYWwuYzo2MQorbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCittc2dzdHIgImdldGN3ZDogbsOtIGbDqWlkaXIgbmEgbcOhdGhhaXJjaG9taGFkbGFubmEgYSByb2NodGFpbi4iCisKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgorbXNnc3RyICIiCisibsOtIGbDqWlkaXIgYW4gbcOzZCBnYW4gbWhvaWxsIGEgYXRoc2hvY3LDuiBsZSBoYWdoYWlkaCBhbiB0dWFpcmlzY2VvcmEgY2hvbWhhaWQgIgorIiVkIgorCisjOiBpbnB1dC5jOjI2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWxsb2NhdGUgbmV3IGZpbGUgZGVzY3JpcHRvciBmb3IgYmFzaCBpbnB1dCBmcm9tIGZkICVkIgorbXNnc3RyICIiCisiTsOtIGbDqWlkaXIgdHVhaXJpc2Nlb2lyIGNvbWhhaWQgbnVhIGEgbGVpdGhkaMOhaWxlYWRoIGxlIGhhZ2hhaWRoIGlvbmNodXIgYmFzaCAiCisiw7NuIHR1YWlyaXNjZW9pciBjb21oYWlkICVkLiIKKworIzogaW5wdXQuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2F2ZV9iYXNoX2lucHV0OiBidWZmZXIgYWxyZWFkeSBleGlzdHMgZm9yIG5ldyBmZCAlZCIKK21zZ3N0ciAiIgorInNhdmVfYmFzaF9pbnB1dDogdMOhIGFuIG1hb2zDoW4gYW5uIGNoZWFuYSBsZSBoYWdoYWlkaCBhbiB0dWFpcmlzY2VvaXIgY29taGFpZCAiCisibnVhICVkIgorCisjOiBqb2JzLmM6NDY4Cittc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKK21zZ3N0ciAic3RhcnRfcGlwZWxpbmU6IHBncnAgcMOtb3BhIgorCisjOiBqb2JzLmM6ODg5CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKK21zZ3N0ciAidMOhIGFuIGFpdGhlYW50YXMgYW4gcGhyw7Npc2lzIGdoYWJobGFpdGhlICVkIHNhIGphYiAlZCBhdMOhIGFnIHJpdGgiCisKKyM6IGpvYnMuYzoxMDA3CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCittc2dzdHIgIlTDoSBhbiBqYWIgc3RvcHRoYSAlZCBsZWlzIGFuIG5ncsO6cGEgcHLDs2lzaXMgJWxkIMOhIHNjcmlvcy4iCisKKyM6IGpvYnMuYzoxMTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImFkZF9wcm9jZXNzOiBwcm9jZXNzICU1bGQgKCVzKSBpbiB0aGVfcGlwZWxpbmUiCittc2dzdHIgImFkZF9wcm9jZXNzOiBwcsOzaXNlYXMgJTVsZCAoJXMpIHNhIHBow61ibMOtbmUiCisKKyM6IGpvYnMuYzoxMTE1CisjLCBjLWZvcm1hdAorbXNnaWQgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIG1hcmtlZCBhcyBzdGlsbCBhbGl2ZSIKK21zZ3N0ciAiYWRkX3Byb2Nlc3M6IHByw7Npc2VhcyAlNWxkICglcykgbWFyY8OhaWx0ZSBtYXIgZsOzcyBiZW8iCisKKyM6IGpvYnMuYzoxNDMwCisjLCBjLWZvcm1hdAorbXNnaWQgImRlc2NyaWJlX3BpZDogJWxkOiBubyBzdWNoIHBpZCIKK21zZ3N0ciAiZGVzY3JpYmVfcGlkOiAlbGQ6IG7DrWwgYW4gYWl0aGVhbnTDs2lyIHByw7Npc2lzIHNpbiBhbm4uIgorCisjOiBqb2JzLmM6MTQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJTaWduYWwgJWQiCittc2dzdHIgIkNvbWhhcnRoYSAlZCIKKworIzogam9icy5jOjE0NTkgam9icy5jOjE0ODQKK21zZ2lkICJEb25lIgorbXNnc3RyICJEw6lhbnRhIgorCisjOiBqb2JzLmM6MTQ2NCBzaWdsaXN0LmM6MTIzCittc2dpZCAiU3RvcHBlZCIKK21zZ3N0ciAiU3RvcHRoYSIKKworIzogam9icy5jOjE0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RvcHBlZCglcykiCittc2dzdHIgIlN0b3B0aGEoJXMpIgorCisjOiBqb2JzLmM6MTQ3MgorbXNnaWQgIlJ1bm5pbmciCittc2dzdHIgIkFnIFJpdGgiCisKKyM6IGpvYnMuYzoxNDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkRvbmUoJWQpIgorbXNnc3RyICJEw6lhbnRhKCVkKSIKKworIzogam9icy5jOjE0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhpdCAlZCIKK21zZ3N0ciAiU2NvaXIgJWQiCisKKyM6IGpvYnMuYzoxNDkxCittc2dpZCAiVW5rbm93biBzdGF0dXMiCittc2dzdHIgIlN0w6FkYXMgbmVhbWhhaXRobmlkIgorCisjOiBqb2JzLmM6MTU3OAorIywgYy1mb3JtYXQKK21zZ2lkICIoY29yZSBkdW1wZWQpICIKK21zZ3N0ciAiKGN1aW1obmUgZHVtcMOhaWx0ZSkiCisKKyM6IGpvYnMuYzoxNTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHdkOiAlcykiCittc2dzdHIgIiAgKGNvbWhhZGxhbm4gb2licmU6ICVzKSIKKworIzogam9icy5jOjE4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCittc2dzdHIgInNldHBnaWQgbWFjcGhyw7Npc2lzICglbGQgZ28gJWxkKSIKKworIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKK21zZ3N0ciAid2FpdDogbsOtbCBhbiBwcsOzaXNlYXMgJWxkIGluYSBtaGFjcGhyw7Npc2VhcyBkZW4gYmhsYW9zYyBzZW8uIgorCisjOiBqb2JzLmM6MjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgorbXNnc3RyICJ3YWl0X2ZvcjogbsOtbCB0YWlmZWFkIGRlbiBwaHLDs2lzZWFzICVsZCIKKworIzogam9icy5jOjI2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKK21zZ3N0ciAid2FpdF9mb3Jfam9iOiB0w6EgYW4gamFiICVkIHN0b3B0aGEuIgorCisjOiBqb2JzLmM6Mjg1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgorbXNnc3RyICIlczogdMOhIGFuIGphYiBjcsOtb2NobmFpdGhlLiIKKworIzogam9icy5jOjI4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCittc2dzdHIgIiVzOiB0w6EgYW4gamFiICVkIHNhIGNow7pscmEgY2hlYW5hLiIKKworIzogam9icy5jOjMwODkKK21zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCittc2dzdHIgIiIKKworIzogam9icy5jOjM1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpbmUgJWQ6ICIKK21zZ3N0ciAiJXM6IGzDrW5lICVkOiAiCisKKyM6IGpvYnMuYzozNTUyIG5vam9icy5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiIChjdWltaG5lIGR1bXDDoWlsdGUpIgorCisjOiBqb2JzLmM6MzU2NCBqb2JzLmM6MzU3NworIywgYy1mb3JtYXQKK21zZ2lkICIod2Qgbm93OiAlcylcbiIKK21zZ3N0ciAiKGNvbWhhZGxhbm4gb2licmUgYW5vaXM6ICVzKVxuIgorCisjOiBqb2JzLmM6MzYwOQorbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgorbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiB0aGVpcCBhciBnZXRwZ3JwIgorCisjOiBqb2JzLmM6MzY2OQorbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogYXJhw61vbmFjaHQgbMOtbmUiCisKKyM6IGpvYnMuYzozNjc5Cittc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKK21zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKKworIzogam9icy5jOjM3MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCittc2dzdHIgIm7DrSBmw6lpZGlyIGdyw7pwYSBwcsOzaXNpcyB0ZWlybWluw6lpbCBhIHNob2Nyw7ogKCVkKSIKKworIzogam9icy5jOjM3MTIKK21zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgorbXNnc3RyICJOw61sIHJpYWzDuiBqYWJhbm5hIHNhIGJobGFvc2Mgc2VvLiIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsbG9jOiBmYWlsZWQgYXNzZXJ0aW9uOiAlc1xuIgorbXNnc3RyICJtYWxsb2M6IGRlYXJiaMO6IHRlaXB0aGU6ICVzXG4iCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcclxuIgorIm1hbGxvYzogJXM6JWQ6IGFzc2VydGlvbiBib3RjaGVkXHJcbiIKK21zZ3N0ciAiIgorIlxyXG4iCisibWFsbG9jOiAlczolZDogZGVhcmJow7ogaW5hIHBocmFpc2VhY2hcclxuIgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjMxMworbXNnaWQgInVua25vd24iCittc2dzdHIgIm5lYW1oYWl0aG5pZCIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzo3OTcKK21zZ2lkICJtYWxsb2M6IGJsb2NrIG9uIGZyZWUgbGlzdCBjbG9iYmVyZWQiCittc2dzdHIgIm1hbGxvYzogYmxvYyBhciBhbiBsaW9zdGEgc2FvciBzY3Jpb3N0YSIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzo4NzQKK21zZ2lkICJmcmVlOiBjYWxsZWQgd2l0aCBhbHJlYWR5IGZyZWVkIGJsb2NrIGFyZ3VtZW50IgorbXNnc3RyICJmcmVlOiBnbGFvaXRlIGxlIGFyZ8OzaW50IGJobG9pYyDDoSBzYW9yYWRoIGNoZWFuYSIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzo4NzcKK21zZ2lkICJmcmVlOiBjYWxsZWQgd2l0aCB1bmFsbG9jYXRlZCBibG9jayBhcmd1bWVudCIKK21zZ3N0ciAiZnJlZTogZ2xhb2l0ZSBsZSBhcmfDs2ludCBiaGxvaWMgbsOhciBsZWl0aGRow6FpbGVhZGgiCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6ODk2Cittc2dpZCAiZnJlZTogdW5kZXJmbG93IGRldGVjdGVkOyBtaF9uYnl0ZXMgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJmcmVlOiBnYW5uc3JlYWJoYWRoOyB0w6EgbWhfbmJ5dGVzIGFzIHJhb24iCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6OTAyCittc2dpZCAiZnJlZTogc3RhcnQgYW5kIGVuZCBjaHVuayBzaXplcyBkaWZmZXIiCittc2dzdHIgImZyZWU6IG7DrSBpb25hbm4gbcOpaWQgbmEgc211dMOhbiB0w7ppcyBhZ3VzIGRlaXJpZGgiCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MTAwMQorbXNnaWQgInJlYWxsb2M6IGNhbGxlZCB3aXRoIHVuYWxsb2NhdGVkIGJsb2NrIGFyZ3VtZW50IgorbXNnc3RyICJyZWFsbG9jOiBnbGFvaXRlIGxlIGFyZ8OzaW50IGJobG9pYyBuw6FyIGxlaXRoZGjDoWlsZWFkaCIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzoxMDE2Cittc2dpZCAicmVhbGxvYzogdW5kZXJmbG93IGRldGVjdGVkOyBtaF9uYnl0ZXMgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJyZWFsbG9jOiBnYW5uc3JlYWJoYWRoOyB0w6EgbWhfbmJ5dGVzIGFzIHJhb24iCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MTAyMgorbXNnaWQgInJlYWxsb2M6IHN0YXJ0IGFuZCBlbmQgY2h1bmsgc2l6ZXMgZGlmZmVyIgorbXNnc3RyICJyZWFsbG9jOiBuw60gaW9uYW5uIG3DqWlkZWFubmEgbmEgc211dMOhbiB0w7ppcyBhZ3VzIGRlaXJpZGgiCisKKyM6IGxpYi9tYWxsb2MvdGFibGUuYzoxNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnaXN0ZXJfYWxsb2M6IGFsbG9jIHRhYmxlIGlzIGZ1bGwgd2l0aCBGSU5EX0FMTE9DP1xuIgorbXNnc3RyICJyZWdpc3Rlcl9hbGxvYzogYW4gYmhmdWlsIGFuIHTDoWJsYSBsZWl0aGRow6FpbHRlIGzDoW4gbGUgRklORF9BTExPQz9cbiIKKworIzogbGliL21hbGxvYy90YWJsZS5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdpc3Rlcl9hbGxvYzogJXAgYWxyZWFkeSBpbiB0YWJsZSBhcyBhbGxvY2F0ZWQ/XG4iCittc2dzdHIgIiIKKyJyZWdpc3Rlcl9hbGxvYzogYW4gYmhmdWlsICVwIHNhIHTDoWJsYSBtYXIgYXTDoSBzw6kgbGVpdGhkaMOhaWx0ZSBjaGVhbmE/XG4iCisKKyM6IGxpYi9tYWxsb2MvdGFibGUuYzoyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnaXN0ZXJfZnJlZTogJXAgYWxyZWFkeSBpbiB0YWJsZSBhcyBmcmVlP1xuIgorbXNnc3RyICJyZWdpc3Rlcl9mcmVlOiBhbiBiaGZ1aWwgJXAgc2EgdMOhYmxhIGNoZWFuYSBtYXIgY2Vhbm4gc2Fvcj9cbiIKKworIzogbGliL3NoL2ZtdHVsb25nLmM6MTAxCittc2dpZCAiaW52YWxpZCBiYXNlIgorbXNnc3RyICJCb25uIG5lYW1oYmhhaWzDrSIKKworIzogbGliL3NoL25ldG9wZW4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhvc3QgdW5rbm93biIKK21zZ3N0ciAiJXM6IMOzc3Ryw61vbWhhaXJlIG5lYW1oYWl0aG5pZCIKKworIzogbGliL3NoL25ldG9wZW4uYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2VydmljZSIKK21zZ3N0ciAiJXM6IHNlaXJiaMOtcyBuZWFtaGJoYWlsw60iCisKKyM6IGxpYi9zaC9uZXRvcGVuLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgbmV0d29yayBwYXRoIHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiBkcm9jaHNob25yw7ogY29uYWlyZSBsw61vbnJhIgorCisjOiBsaWIvc2gvbmV0b3Blbi5jOjM0NgorbXNnaWQgIm5ldHdvcmsgb3BlcmF0aW9ucyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJOw60gdGhhY2HDrXRlYXIgbGUgb2licsOtb2NodGHDrSBsw61vbnJhLiIKKworIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgIiIKKworIzogbG9jYWxlLmM6MjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG7DrSBmw6lpZGlyICVsdSBiZWFydCBhIGxlaXRoZGjDoWlsZWFkaCIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKK21zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiBuw60gZsOpaWRpciAlbHUgYmVhcnQgYSBsZWl0aGRow6FpbGVhZGgiCisKKyM6IG1haWxjaGVjay5jOjQzMworbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCittc2dzdHIgIlTDoSByw61vbWhwaG9zdCBhZ2F0IGkgJF8iCisKKyM6IG1haWxjaGVjay5jOjQ1OAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsIGluICRfIgorbXNnc3RyICJUw6EgcsOtb21ocGhvc3QgbnVhIGFnYXQgaSAkXyIKKworIzogbWFpbGNoZWNrLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKK21zZ3N0ciAiVMOhIGFuIHLDrW9taHBob3N0IGkgJXMgbMOpaXRlXG4iCisKKyM6IG1ha2VfY21kLmM6MzIzCittc2dpZCAic3ludGF4IGVycm9yOiBhcml0aG1ldGljIGV4cHJlc3Npb24gcmVxdWlyZWQiCittc2dzdHIgIkVhcnLDoWlkIGNob21ocsOpaXJlOiB0w6Egc2xvbm4gdWltaHLDrW9jaHTDumlsIGRlIGRoaXRoLiIKKworIzogbWFrZV9jbWQuYzozMjUKK21zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgorbXNnc3RyICJFYXJyw6FpZCBjaG9taHLDqWlyZTogXCI7XCIgZ2FuIHPDumlsIGxlaXMuIgorCisjOiBtYWtlX2NtZC5jOjMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgorbXNnc3RyICJFYXJyw6FpZCBjaG9taHLDqWlyZTogXCIoKCVzKSlcIiIKKworIzogbWFrZV9jbWQuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFrZV9oZXJlX2RvY3VtZW50OiBiYWQgaW5zdHJ1Y3Rpb24gdHlwZSAlZCIKK21zZ3N0ciAibWFrZV9oZXJlX2RvY3VtZW50OiBkcm9jaGNoaW5lw6FsIG9yZGFpdGhlICVkIgorCisjOiBtYWtlX2NtZC5jOjY1OQorIywgYy1mb3JtYXQKK21zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCittc2dzdHIgIiIKKyJjw6FpcMOpaXMgbGVhYmFpdGhlIGFnIGzDrW5lICVkIHRlb3JtaGFyY8OhaWx0ZSBsZSBkZWlyZWFkaCBjb21oYWlkIChcIiVzXCIgw6EgIgorImxvcmcpIgorCisjOiBtYWtlX2NtZC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiBgJWQnIG91dCBvZiByYW5nZSIKK21zZ3N0ciAibWFrZV9yZWRpcmVjdGlvbjogb3Jkw7ogYXRyZW9yYWl0aGUgXCIlZFwiIGFzIHJhb24uIgorCisjOiBwYXJzZS55OjMxNzMgcGFyc2UueTozNDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCittc2dzdHIgIkRlaXJlYWRoIGNvbWhhaWQgZ2FuIHPDumlsIGxlaXMgYWd1cyBcIiVjXCIgYSBtaGVhaXRzZcOhbGFubiDDoSBsb3JnLiIKKworIzogcGFyc2UueTo0MDI1Cittc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKK21zZ3N0ciAiRGVpcmVhZGggY29taGFpZCBnYW4gc8O6aWwgbGVpcyBhZ3VzIFwiXV1cIiDDoSBsb3JnLiIKKworIzogcGFyc2UueTo0MDMwCisjLCBjLWZvcm1hdAorbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCittc2dzdHIgIiIKKyJFYXJyw6FpZCBjaG9taHLDqWlyZSBpIHNsb25uIGNvaW5uw61vbGxhY2g6IGNvbWhhcnRoYSBcIiVzXCIgZ2FuIHN1aWwgbGVpcy4iCisKKyM6IHBhcnNlLnk6NDAzNAorbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgorbXNnc3RyICJFYXJyw6FpZCBjaG9taHLDqWlyZSBpIHNsb25uIGNvaW5uw61vbGxhY2guIgorCisjOiBwYXJzZS55OjQxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCittc2dzdHIgIkNvbWhhcnRoYSBcIiVzXCIgZ2FuIHPDumlsIGxlaXM7IGFnIHPDumlsIGxlIFwiKVwiLiIKKworIzogcGFyc2UueTo0MTE2Cittc2dpZCAiZXhwZWN0ZWQgYCknIgorbXNnc3RyICJBZyBzw7ppbCBsZSBcIilcIiIKKworIzogcGFyc2UueTo0MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKK21zZ3N0ciAiQXJnw7NpbnQgXCIlc1wiIGdhbiBzw7ppbCBsZWkgZ28gaG9pYnJlb2lyIGFvbsOhcnRoYSBjb2lubsOtb2xsYWNoLiIKKworIzogcGFyc2UueTo0MTQ4Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKK21zZ3N0ciAiQXJnw7NpbnQgZ2FuIHPDumlsIGxlaSBnbyBob2licmVvaXIgY29pbm7DrW9sbGFjaCBhb27DoXJ0aGEgLiIKKworIzogcGFyc2UueTo0MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgorbXNnc3RyICIiCisiQ29taGFydGhhIFwiJXNcIiBnYW4gc8O6aWwgbGVpcy4gQmjDrW90aGFzIGFnIHPDumlsIGxlIGhvaWJyZW9pciBjb2lubsOtb2xsYWNoICIKKyJkw6luw6FydGhhLiIKKworIzogcGFyc2UueTo0MTk4Cittc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgorbXNnc3RyICJCaMOtb3RoYXMgYWcgc8O6aWwgbGUgaG9pYnJlb2lyIGNvaW5uw61vbGxhY2ggZMOpbsOhcnRoYS4iCisKKyM6IHBhcnNlLnk6NDIyMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgorbXNnc3RyICJBcmfDs2ludCBcIiVzXCIgZ2FuIHPDumlsIGxlaSBnbyBob2licmVvaXIgZMOpbsOhcnRoYSBjb2lubsOtb2xsYWNoLiIKKworIzogcGFyc2UueTo0MjI0Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCittc2dzdHIgIkFyZ8OzaW50IGdhbiBzw7ppbCBsZWkgZ28gaG9pYnJlb2lyIGTDqW7DoXJ0aGEgY29pbm7DrW9sbGFjaC4iCisKKyM6IHBhcnNlLnk6NDIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKK21zZ3N0ciAiQ29taGFydGhhIFwiJWNcIiBnYW4gc8O6aWwgbGVpcyBpbiBvcmTDuiBjb2lubsOtb2xsYWNoLiIKKworIzogcGFyc2UueTo0MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgorbXNnc3RyICJDb21oYXJ0aGEgXCIlc1wiIGdhbiBzw7ppbCBsZWlzIGluIG9yZMO6IGNvaW5uw61vbGxhY2guIgorCisjOiBwYXJzZS55OjQyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgorbXNnc3RyICJDb21oYXJ0aGEgJWQgZ2FuIHPDumlsIGxlaXMgaW4gb3Jkw7ogY29pbm7DrW9sbGFjaC4iCisKKyM6IHBhcnNlLnk6NTU2NgorIywgYy1mb3JtYXQKK21zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCittc2dzdHIgIiIKKyJFYXJyw6FpZCBjaG9taHLDqWlyZSBpbiBhaWNlIGNvbWhhcnRoYSBcIiVzXCIgbmFjaCByYWJodGhhcyBhZyBzw7ppbCBsZWlzLiIKKworIzogcGFyc2UueTo1NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCittc2dzdHIgIkVhcnLDoWlkIGNob21ocsOpaXJlIGluIGFpY2UgXCIlc1wiIgorCisjOiBwYXJzZS55OjU1OTQKK21zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCittc2dzdHIgIkVhcnLDoWlkIGNob21ocsOpaXJlOiBkZWlyZWFkaCBjb21oYWlkIGdhbiBzw7ppbCBsZWlzLiIKKworIzogcGFyc2UueTo1NTk0Cittc2dpZCAic3ludGF4IGVycm9yIgorbXNnc3RyICJFYXJyw6FpZCBjaG9taHLDqWlyZSIKKworIzogcGFyc2UueTo1NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgorbXNnc3RyICLDmnPDoWlkIFwiJXNcIiBsZSBzY29pciBkZW4gbWJsYW9zYy5cbiIKKworIzogcGFyc2UueTo1ODE4Cittc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgorbXNnc3RyICJEZWlyZWFkaCBjb21oYWlkIGdhbiBzw7ppbCBsZWlzIGFndXMgXCIpXCIgw6EgbG9yZyBsZSBtZWFpdHNlw6FpbC4iCisKKyM6IHBjb21wbGV0ZS5jOjEwMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCittc2dzdHIgIklvbWzDoW7DujogbsOtb3IgYWltc8Otb2RoIGFuIGZoZWlkaG0gXCIlc1wiLiIKKworIzogcGNvbXBsaWIuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKK21zZ3N0ciAicHJvZ2NvbXBfaW5zZXJ0OiAlczogdMOhIENPTVBTUEVDIG5lYW1obml0aGVhY2giCisKKyM6IHByaW50X2NtZC5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCittc2dzdHIgInByaW50X2NvbW1hbmQ6IGRyb2NobmFzY8OzaXIgXCIlZFwiIgorCisjOiBwcmludF9jbWQuYzozNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiJWQ6IHR1YWlyaXNjZW9pciBjb21oYWlkIG5lYW1oYmhhaWzDrTogJXMiCisKKyM6IHByaW50X2NtZC5jOjM3MworbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MTQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCittc2dzdHIgImNwcmludGY6IFwiJWNcIjogY2FyYWNodGFyIGZvcm3DoWlkZSBuZWFtaGJoYWlsw60iCisKKyM6IHJlZGlyLmM6MTIyCittc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKK21zZ3N0ciAidHVhaXJpc2Nlb2lyIGNvbWhhaWQgYXMgcmFvbiIKKworIzogcmVkaXIuYzoxNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKK21zZ3N0ciAiJXM6IGF0cmVvcsO6IGF0aGJocsOtb2NoIgorCisjOiByZWRpci5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgorbXNnc3RyICIlczogbsOtIGbDqWlkaXIgY29taGFkIGF0w6EgYW5uIGNoZWFuYSBhIGZob3JzY3LDrW9iaC4iCisKKyM6IHJlZGlyLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgorbXNnc3RyICIlczogc3JpYW50YTogbsOtIGbDqWlkaXIgYXNjaHVyIGEgYXRyZW9yw7ouIgorCisjOiByZWRpci5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCittc2dzdHIgIm7DrSBmw6lpZGlyIGPDoWlww6lpcyBzaGVhbGFkYWNoIGEgY2hydXRow7ogZG9uIGNow6FpcMOpaXMgbGVhYmFpdGhlOiAlcyIKKworIzogcmVkaXIuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgorbXNnc3RyICIlczogbsOtIGbDqWlkaXIgbGlvc3RhIGEgc2hhbm5hZGggZ28gYmFsbCBlYWdhaXIuIgorCisjOiByZWRpci5jOjU0OAorbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKK21zZ3N0ciAiTsOtIHRoYWNhw610ZWFyIGxlIC9kZXYvKHRjcHx1ZHApL8Ozc3Ryw61vbWhhaXJlL3BvcnQgZ2FuIGzDrW9ucsO6LiIKKworIzogcmVkaXIuYzo4MTggcmVkaXIuYzo5MzAgcmVkaXIuYzo5OTMgcmVkaXIuYzoxMTM2Cittc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCittc2dzdHIgIkVhcnLDoWlkIGF0cmVvcmFpdGhlOiBuw60gZsOpaWRpciBhbiB0dWFpcmlzY2VvaXIgY29taGFpZCBhIGRow7piYWlsdC4iCisKKyM6IHNoZWxsLmM6MzMzCittc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCittc2dzdHIgIk7DrW9yYmggZmjDqWlkaXIgL3RtcCBhIGFpbXNpw7ouIENydXRoYWlnaCDDqSBsZSBkbyB0aG9pbCEiCisKKyM6IHNoZWxsLmM6MzM3Cittc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCittc2dzdHIgIkNhaXRoZmlkaCAvdG1wIGJoZWl0aCBpbmEgYWlubSBjb21oYWRsYWlubmUgYmFpbMOtLiIKKworIzogc2hlbGwuYzo4ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCittc2dzdHIgIiVjJWM6IHJvZ2hhIG5lYW1oYmhhaWzDrSIKKworIzogc2hlbGwuYzoxNjUyCittc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgorbXNnc3RyICJOw61sIGFpbm0gb3JtISIKKworIzogc2hlbGwuYzoxNzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKK21zZ3N0ciAiR05VIGJhc2gsIGxlYWdhbiAlcy0oJXMpXG4iCisKKyM6IHNoZWxsLmM6MTc5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKKyJcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIHNjcmlwdC1maWxlIC4uLlxuIgorbXNnc3RyICIiCisiw5pzw6FpZDpcdCVzIFtyb2doYSBmYWRhIEdOVV0gW3JvZ2hhXSAuLi5cbiIKKyJcdCVzIFtyb2doYSBmYWRhIEdOVV0gW3JvZ2hhXSBjb21oYWRfc2NyaXB0ZSAuLi5cbiIKKworIzogc2hlbGwuYzoxNzk4Cittc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiUm9naGFubmEgZmFkYSBHTlU6XG4iCisKKyM6IHNoZWxsLmM6MTgwMgorbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCittc2dzdHIgIlJvZ2hhbm5hIGJsYW9pc2NlOlxuIgorCisjOiBzaGVsbC5jOjE4MDMKK21zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCittc2dzdHIgIlx0LWlyc0QgbsOzIC1jIG9yZMO6IG7DsyAtTyByb2doYV9zaG9wdFx0XHQoZ2xhb2NoIGFtaMOhaW4pXG4iCisKKyM6IHNoZWxsLmM6MTgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKK21zZ3N0ciAiXHQtJXMgbsOzIC1vIHJvZ2hhXG4iCisKKyM6IHNoZWxsLmM6MTgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCittc2dzdHIgIiIKKyLDmnPDoWlkICVzIC1jIFwiaGVscCBzZXRcIiBsZSBoYWdoYWlkaCB0dWlsbGVhZGggZW9sYWlzIGZhb2kgcm9naGFubmEgIgorImJsYW9pc2NlLlxuIgorCisjOiBzaGVsbC5jOjE4MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKK21zZ3N0ciAiIgorIsOac8OhaWQgXCIlcyAtYyBoZWxwXCIgbGUgaGFnaGFpZGggdHVpbGxlYWRoIGVvbGFpcyBmYW9pIG9yZHVpdGhlIGlvbnN1aXRlICIKKyJibGFvaXNjZS5cbiIKKworIzogc2hlbGwuYzoxODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCittc2dzdHIgIsOac8OhaWQgYW4gdC1vcmTDuiBcImJhc2hidWdcIiBsZSB0dWFyYXNjw6FpbCBhIHNoZW9sYWRoIGZhb2kgZmhhYmh0LlxuIgorCisjOiBzaWcuYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKK21zZ3N0ciAic2lncHJvY21hc2s6ICVkOiBvaWJyw61vY2h0IG5lYW1oYmhhaWzDrSIKKworIzogc2lnbGlzdC5jOjQ4Cittc2dpZCAiQm9ndXMgc2lnbmFsIgorbXNnc3RyICJEcm9jaC1jaG9taGFydGhhIgorCisjOiBzaWdsaXN0LmM6NTEKK21zZ2lkICJIYW5ndXAiCittc2dzdHIgIkNyb2NoYWRoIgorCisjOiBzaWdsaXN0LmM6NTUKK21zZ2lkICJJbnRlcnJ1cHQiCittc2dzdHIgIklkaXJiaHJpc2VhZGgiCisKKyM6IHNpZ2xpc3QuYzo1OQorbXNnaWQgIlF1aXQiCittc2dzdHIgIlNjb2lyIgorCisjOiBzaWdsaXN0LmM6NjMKK21zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgorbXNnc3RyICJUcmVvaXIgbcOtZGhsZWF0aGFjaCIKKworIzogc2lnbGlzdC5jOjY3Cittc2dpZCAiQlBUIHRyYWNlL3RyYXAiCittc2dzdHIgIlJpYW7Dui9nYWlzdGnDuiBicmlzcGhvaW50ZSIKKworIzogc2lnbGlzdC5jOjc1Cittc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCittc2dzdHIgIlRyZW9pciBBQk9SVCIKKworIzogc2lnbGlzdC5jOjc5Cittc2dpZCAiRU1UIGluc3RydWN0aW9uIgorbXNnc3RyICJUcmVvaXIgRU1UIgorCisjOiBzaWdsaXN0LmM6ODMKK21zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCittc2dzdHIgIkVpc2NlYWNodCBzbsOhbWhwaG9pbnRlIgorCisjOiBzaWdsaXN0LmM6ODcKK21zZ2lkICJLaWxsZWQiCittc2dzdHIgIk1hcmFpdGhlIgorCisjOiBzaWdsaXN0LmM6OTEKK21zZ2lkICJCdXMgZXJyb3IiCittc2dzdHIgIkVhcnLDoWlkIGJodXMiCisKKyM6IHNpZ2xpc3QuYzo5NQorbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKK21zZ3N0ciAiRmFiaHQgZGVpZ2hpbHRlIgorCisjOiBzaWdsaXN0LmM6OTkKK21zZ2lkICJCYWQgc3lzdGVtIGNhbGwiCittc2dzdHIgIkRyb2NoLWdobGFvY2ggY8OzcmFpcyIKKworIzogc2lnbGlzdC5jOjEwMworbXNnaWQgIkJyb2tlbiBwaXBlIgorbXNnc3RyICJQw61vcGEgYnJpc3RlIgorCisjOiBzaWdsaXN0LmM6MTA3Cittc2dpZCAiQWxhcm0gY2xvY2siCittc2dzdHIgIkNsb2cgYWzDoXJhaW0iCisKKyM6IHNpZ2xpc3QuYzoxMTEKK21zZ2lkICJUZXJtaW5hdGVkIgorbXNnc3RyICJDcsOtb2NobmFpdGhlIgorCisjOiBzaWdsaXN0LmM6MTE1Cittc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKK21zZ3N0ciAiU3RhaWQgcGhyw6Fpbm5lYWNoIEkvQSIKKworIzogc2lnbGlzdC5jOjExOQorbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCittc2dzdHIgIlN0b3B0aGEgKGNvbWhhcnRoYSkiCisKKyM6IHNpZ2xpc3QuYzoxMjcKK21zZ2lkICJDb250aW51ZSIKK21zZ3N0ciAiTGVhbiBhciBhZ2hhaWRoIgorCisjOiBzaWdsaXN0LmM6MTM1Cittc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKK21zZ3N0ciAiQsOhcyBtYWNwaHLDs2lzaXMgbsOzIHN0b3BhZGgiCisKKyM6IHNpZ2xpc3QuYzoxMzkKK21zZ2lkICJTdG9wcGVkICh0dHkgaW5wdXQpIgorbXNnc3RyICJTdG9wdGhhIChpb25jaHVyIHRlaXJtaW7DqWlsKSIKKworIzogc2lnbGlzdC5jOjE0MworbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgorbXNnc3RyICJTdG9wdGhhIChhc2NodXIgdGVpcm1pbsOpaWwpIgorCisjOiBzaWdsaXN0LmM6MTQ3Cittc2dpZCAiSS9PIHJlYWR5IgorbXNnc3RyICJJL0EgdWxsYW1oIgorCisjOiBzaWdsaXN0LmM6MTUxCittc2dpZCAiQ1BVIGxpbWl0IgorbXNnc3RyICJUZW9yYWlubiBMQVAiCisKKyM6IHNpZ2xpc3QuYzoxNTUKK21zZ2lkICJGaWxlIGxpbWl0IgorbXNnc3RyICJUZW9yYWlubiBjaG9taGFkIgorCisjOiBzaWdsaXN0LmM6MTU5Cittc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgorbXNnc3RyICJBbMOhcmFtIChmw61vcsO6aWwpIgorCisjOiBzaWdsaXN0LmM6MTYzCittc2dpZCAiQWxhcm0gKHByb2ZpbGUpIgorbXNnc3RyICJBbMOhcmFtIChwcsOzaWbDrWwpIgorCisjOiBzaWdsaXN0LmM6MTY3Cittc2dpZCAiV2luZG93IGNoYW5nZWQiCittc2dzdHIgIkZ1aW5uZW9nIGF0aHJhaXRoZSIKKworIzogc2lnbGlzdC5jOjE3MQorbXNnaWQgIlJlY29yZCBsb2NrIgorbXNnc3RyICJHbGFzIHRhaWZpZCIKKworIzogc2lnbGlzdC5jOjE3NQorbXNnaWQgIlVzZXIgc2lnbmFsIDEiCittc2dzdHIgIkNvbWhhcnRoYSDDunPDoWlkZW9yYSAxIgorCisjOiBzaWdsaXN0LmM6MTc5Cittc2dpZCAiVXNlciBzaWduYWwgMiIKK21zZ3N0ciAiQ29taGFydGhhIMO6c8OhaWRlb3JhIDIiCisKKyM6IHNpZ2xpc3QuYzoxODMKK21zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgorbXNnc3RyICJzb25yYcOtIGlvbmNodWlyIEhGVCBhciBmZWl0aGVhbWgiCisKKyM6IHNpZ2xpc3QuYzoxODcKK21zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgorbXNnc3RyICJ0ZWlwIGNodW1oYWNodGEgYXIgdMOtIHRhcmzDuiIKKworIzogc2lnbGlzdC5jOjE5MQorbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKK21zZ3N0ciAiY2xpc2VhZGggY8OzcmFpcyBhciB0w60gdGFybMO6IgorCisjOiBzaWdsaXN0LmM6MTk1Cittc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgorbXNnc3RyICJib2cgcHLDs2lzZWFzIGdvIExBUCBlaWxlIgorCisjOiBzaWdsaXN0LmM6MTk5Cittc2dpZCAicHJvZ3JhbW1pbmcgZXJyb3IiCittc2dzdHIgImVhcnLDoWlkIHLDrW9taGNobMOhcmFpdGhlIgorCisjOiBzaWdsaXN0LmM6MjAzCittc2dpZCAiSEZUIG1vbml0b3IgbW9kZSBncmFudGVkIgorbXNnc3RyICJtw7NkIG1vbmF0w7NpcmVhY2h0YSBIRlQgY2VhZGFpdGhlIgorCisjOiBzaWdsaXN0LmM6MjA3Cittc2dpZCAiSEZUIG1vbml0b3IgbW9kZSByZXRyYWN0ZWQiCittc2dzdHIgIm3Ds2QgbW9uYXTDs2lyZWFjaHRhIEhGVCBjZWFsYWl0aGUiCisKKyM6IHNpZ2xpc3QuYzoyMTEKK21zZ2lkICJIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZCIKK21zZ3N0ciAic2VpY2hlYW1oIGZ1YWltZSBIRlQgY3LDrW9jaG5haXRoZSIKKworIzogc2lnbGlzdC5jOjIxNQorbXNnaWQgIkluZm9ybWF0aW9uIHJlcXVlc3QiCittc2dzdHIgIklhcnJhdGFzIGZhaXNuw6lpc2UiCisKKyM6IHNpZ2xpc3QuYzoyMjMKK21zZ2lkICJVbmtub3duIFNpZ25hbCAjIgorbXNnc3RyICJDb21oYXJ0aGEgbmVhbWhhaXRobmlkICMiCisKKyM6IHNpZ2xpc3QuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgorbXNnc3RyICJDb21oYXJ0aGEgbmVhbWhhaXRobmlkICMlZCIKKworIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCittc2dzdHIgIkRyb2NoaW9uYWTDujogbsOtbCBcIiVzXCIgZMO6bnRhIGkgJXMiCisKKyM6IHN1YnN0LmM6Mjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKK21zZ3N0ciAiJXM6IG7DrSBmw6lpZGlyIGxpb3N0YSBhIHNoYW5uYWRoIGdvIGJhbGwgZWFnYWlyLiIKKworIzogc3Vic3QuYzo0OTc5IHN1YnN0LmM6NDk5NQorbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgorbXNnc3RyICJOw60gZsOpaWRpciBww61vcGEgYSBkaMOpYW5hbWggbGUgaGFnaGFpZGggaW9uYWRhw61vY2h0IHByw7Npc2lzLiIKKworIzogc3Vic3QuYzo1MDI3Cittc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgorbXNnc3RyICJOw60gZsOpaWRpciBtYWNwaHLDs2lzZWFzIGEgZGjDqWFuYW1oIGxlIGhhZ2hhaWRoIGlvbmFkYcOtb2NodCBwcsOzaXNpcy4iCisKKyM6IHN1YnN0LmM6NTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgorbXNnc3RyICJOw60gZsOpaWRpciBww61vcGEgYWlubW5pdGhlICVzIGEgb3NjYWlsdCBsZSBoYWdoYWlkaCBsw6lhbWguIgorCisjOiBzdWJzdC5jOjUwNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKK21zZ3N0ciAiTsOtIGbDqWlkaXIgcMOtb3BhIGFpbm1uaXRoZSAlcyBhIG9zY2FpbHQgbGUgaGFnaGFpZGggc2Nyw61vZmEuIgorCisjOiBzdWJzdC5jOjUwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgorbXNnc3RyICIiCisiTsOtIGbDqWlkaXIgYW4gcMOtb3BhIGFpbm1uaXRoZSAlcyBhIGRow7piYWlsdCBtYXIgdGh1YWlyaXNjZW9pciBjb21oYWlkICVkLiIKKworIzogc3Vic3QuYzo1Mjg0Cittc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCittc2dzdHIgIk7DrSBmw6lpZGlyIHDDrW9wYSBhIGRow6lhbmFtaCBsZSBoYWdoYWlkaCBpb25hZMO6IG9yZGFpdGhlLiIKKworIzogc3Vic3QuYzo1MzIyCittc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgorbXNnc3RyICJOw60gZsOpaWRpciBtYWNwaHLDs2lzZWFzIGEgZGjDqWFuYW1oIGxlIGhhZ2hhaWRoIGlvbmFkw7ogb3JkYWl0aGUuIgorCisjOiBzdWJzdC5jOjUzMzkKK21zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgorbXNnc3RyICIiCisiY29tbWFuZF9zdWJzdGl0dXRlOiBuw60gZmVpZGlyIGFuIHDDrW9wYSBhIGRow7piYWlsdCBtYXIgdGh1YWlyaXNjZW9pciBjb21oYWlkICIKKyIxLiIKKworIzogc3Vic3QuYzo1ODU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgorbXNnc3RyICIlczogcGFyYWltw6lhZGFyIG5lYW1obml0aGVhY2ggbsOzIGdhbiBzb2Nyw7ouIgorCisjOiBzdWJzdC5jOjYxMjUgc3Vic3QuYzo2MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCittc2dzdHIgIiVzOiBzbG9ubiBmb3RoZWFnaHLDoWluIDwgMCIKKworIzogc3Vic3QuYzo3MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgorbXNnc3RyICIlczogZHJvY2hpb25hZMO6IgorCisjOiBzdWJzdC5jOjczNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgorbXNnc3RyICIkJXM6IG7DrSBmw6lpZGlyIHNhbm5hZGggbWFyIHNlby4iCisKKyM6IHN1YnN0LmM6NzY4NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIiIKKworIzogc3Vic3QuYzo4MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCittc2dzdHIgImRyb2NoaW9uYWTDujogbsOtbCAgXCJgXCIgZMO6bnRhIGkgJXMiCisKKyM6IHN1YnN0LmM6OTAzNgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtYXRjaDogJXMiCittc2dzdHIgImdhbiBtZWFpdHNlw6FpbDogJXMiCisKKyM6IHRlc3QuYzoxNDYKK21zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKK21zZ3N0ciAiQmjDrW90aGFzIGFnIHPDumlsIGxlIGhhcmfDs2ludC4iCisKKyM6IHRlc3QuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKK21zZ3N0ciAiJXM6IGFnIHPDumlsIGxlIHNsb25uIHNsw6FudWltaHJlYWNoLiIKKworIzogdGVzdC5jOjI2MworbXNnaWQgImApJyBleHBlY3RlZCIKK21zZ3N0ciAiQWcgc8O6aWwgbGUgXCIpXCIiCisKKyM6IHRlc3QuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKK21zZ3N0ciAiQWcgc8O6aWwgbGUgXCIpXCIsIGFjaCBmdWFydGhhcyAlcy4iCisKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKK21zZ3N0ciAiJXM6IGFnIHPDumlsIGxlIGhvaWJyZW9pciBhb27DoXJ0aGEuIgorCisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKK21zZ3N0ciAiJXM6IGFnIHPDumlsIGxlIGhvaWJyZW9pciBkw6luw6FydGhhLiIKKworIzogdGVzdC5jOjgxNgorbXNnaWQgIm1pc3NpbmcgYF0nIgorbXNnc3RyICJcIl1cIiBhciBpYXJyYWlkaCIKKworIzogdHJhcC5jOjIwNworbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKK21zZ3N0ciAiVWltaGlyIGNob21oYXJ0aGEgbmVhbWhiaGFpbMOtIgorCisjOiB0cmFwLmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCittc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiBkcm9jaGx1YWNoIHNhIGxpb3N0YV9nYWlzdMOtWyVkXTogJXAiCisKKyM6IHRyYXAuYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCittc2dzdHIgIiIKKyJydW5fcGVuZGluZ190cmFwczogaXMgU0lHX0RGTCBhbiBsw6FpbWhzZcOhbGHDrSBjb21oYXJ0aGHDrTsgJWQgKCVzKSDDoSAiCisiYXRoc2hlb2xhZGggY2h1Z2FtIGbDqWluLiIKKworIzogdHJhcC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCittc2dzdHIgInRyYXBfaGFuZGxlcjogZHJvY2gtY2hvbWhhcnRoYSAlZCIKKworIzogdmFyaWFibGVzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgorbXNnc3RyICJFYXJyw6FpZCBhZ3VzIHNhaW5taMOtbmnDuiBuYSBmZWlkaG1lIFwiJXNcIiDDoSBpb21ww7NydMOhaWwuIgorCisjOiB2YXJpYWJsZXMuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCittc2dzdHIgIlTDoSBhbiBsZWliaMOpYWwgYmxhb2lzY2UgKCVkKSByw7MtYXJkOyDDoSBhdGhzaG9jcsO6IGdvIDEuIgorCisjOiB2YXJpYWJsZXMuYzoxOTMyCittc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgorbXNnc3RyICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBuw61sIGNvbWh0aMOpYWNzIGZlaWRobWUgc2Egc2PDs2lwIHJlYXRoYS4iCisKKyM6IHZhcmlhYmxlcy5jOjMxODIKK21zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCittc2dzdHIgImFsbF9sb2NhbF92YXJpYWJsZXM6IG7DrWwgY29taHRow6lhY3MgZmVpZGhtZSBzYSBzY8OzaXAgcmVhdGhhIgorCisjOiB2YXJpYWJsZXMuYzozNDI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCittc2dzdHIgIiVzOiBwYXJhaW3DqWFkYXIgbmVhbWhuaXRoZWFjaCBuw7MgZ2FuIHNvY3LDui4iCisKKyM6IHZhcmlhYmxlcy5jOjM0MzIgdmFyaWFibGVzLmM6MzQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgorbXNnc3RyICJDYXJhY2h0YXIgbmVhbWhiaGFpbMOtICVkIHNhIHRlYWdocsOhbiBlYXNww7NydMOhbGEgbGUgaGFnaGFpZGggJXMuIgorCisjOiB2YXJpYWJsZXMuYzozNDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgorbXNnc3RyICJOw61sIFwiPVwiIHNhIHRlYWdocsOhbiBlYXNww7NydMOhbGEgbGUgaGFnaGFpZGggJXMuIgorCisjOiB2YXJpYWJsZXMuYzozODkxCittc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgorbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IG7DrSBjb21odGjDqWFjcyBmZWlkaG1lIMOpIGNlYW5uIHNoZWxsX3ZhcmlhYmxlcyIKKworIzogdmFyaWFibGVzLmM6MzkwNAorbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgorbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IG7DrWwgY29taHRow6lhY3MgZ2xvYmFsX3ZhcmlhYmxlcyBhbm4iCisKKyM6IHZhcmlhYmxlcy5jOjM5NzgKK21zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKK21zZ3N0ciAicG9wX3Njb3BlOiBuw60gc2PDs2lwIHNoZWFsYWRhY2ggdGhpbXBlYWxsYWNodGEgw6kgY2Vhbm4gc2hlbGxfdmFyaWFibGVzIgorCisjOiB2YXJpYWJsZXMuYzo0Nzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCittc2dzdHIgIiVzOiBuw60gZsOpaWRpciBvc2NhaWx0OiAlcyIKKworIzogdmFyaWFibGVzLmM6NDc5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiB0dWFpcmlzY2VvaXIgY29taGFpZCBuZWFtaGJoYWlsw606ICVzIgorCisjOiB2ZXJzaW9uLmM6NDYKKyMsIGZ1enp5Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ3N0ciAiQ8OzaXBjaGVhcnQgwqkgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCisKKyM6IHZlcnNpb24uYzo0NworbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorIkNlYWTDum5hcyBHUEx2Mys6IEdOVSBHUEwgbGVhZ2FuIDMgbsOzIG7DrW9zIGTDqWFuYcOtIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy8iCisiZ3BsLmh0bWw+XG4iCisKKyM6IHZlcnNpb24uYzo4NiB2ZXJzaW9uMi5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzICglcylcbiIKK21zZ3N0ciAiR05VIGJhc2gsIGxlYWdhbiAlcyAoJXMpXG4iCisKKyM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgorbXNnc3RyICJJcyBzYW9yYmhvZ2VhcnJhIMOpIHNlbzsgdMOhIGNlYWQgYWdhdCDDqSBhIGF0aHLDuiBhZ3VzIGEgZGjDoWlsZWFkaC5cbiIKKworIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKK21zZ3N0ciAiIgorIk7DrSBnaGFiaGFubiBiYXLDoW50YSBhciBiaXRoIGxlaXMsIHNhIG1ow6lpZCBpcyBhdMOhIHNpbiBjZWFkYWl0aGUgZGUgcsOpaXIgIgorImRsw60uXG4iCisKKyM6IHZlcnNpb24yLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKK21zZ3N0ciAiQ8OzaXBjaGVhcnQgwqkgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCisKKyM6IHZlcnNpb24yLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorIkNlYWTDum5hcyBHUEx2Mys6IEdOVSBHUEwgbGVhZ2FuIDMgbsOzIG7DrW9zIGTDqWFuYcOtIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy8iCisiZ3BsLmh0bWw+XG4iCisKKyM6IHhtYWxsb2MuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnc3RyICJ4bWFsbG9jOiBuw60gZsOpaWRpciAlbHUgYmVhcnQgYSBsZWl0aGRow6FpbGVhZGggKCVsdSBiZWFydCBsZWl0aGRow6FpbHRlKSIKKworIzogeG1hbGxvYy5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ3N0ciAieG1hbGxvYzogbsOtIGbDqWlkaXIgJWx1IGJlYXJ0IGEgbGVpdGhkaMOhaWxlYWRoIgorCisjOiB4bWFsbG9jLmM6MTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorbXNnc3RyICIiCisieG1hbGxvYzogJXM6JWQ6IG7DrSBmw6lpZGlyICVsdSBiZWFydCBhIGxlaXRoZGjDoWlsZWFkaCAoJWx1IGJlYXJ0IGxlaXRoZGjDoWlsdGUpIgorCisjOiB4bWFsbG9jLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBuw60gZsOpaWRpciAlbHUgYmVhcnQgYSBsZWl0aGRow6FpbGVhZGgiCisKKyM6IGJ1aWx0aW5zLmM6NDMKK21zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCittc2dzdHIgImFsaWFzIFstcF0gW2Fpbm1bPWx1YWNoXSAuLi4gXSIKKworIzogYnVpbHRpbnMuYzo0NworbXNnaWQgInVuYWxpYXMgWy1hXSBuYW1lIFtuYW1lIC4uLl0iCittc2dzdHIgInVuYWxpYXMgWy1hXSBhaW5tIFthaW5tIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6NTEKK21zZ2lkICIiCisiYmluZCBbLWxwdnNQVlNdIFstbSBrZXltYXBdIFstZiBmaWxlbmFtZV0gWy1xIG5hbWVdIFstdSBuYW1lXSBbLXIga2V5c2VxXSBbLSIKKyJ4IGtleXNlcTpzaGVsbC1jb21tYW5kXSBba2V5c2VxOnJlYWRsaW5lLWZ1bmN0aW9uIG9yIHJlYWRsaW5lLWNvbW1hbmRdIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zLmM6NTQKK21zZ2lkICJicmVhayBbbl0iCittc2dzdHIgImJyZWFrIFtOXSIKKworIzogYnVpbHRpbnMuYzo1NgorbXNnaWQgImNvbnRpbnVlIFtuXSIKK21zZ3N0ciAiY29udGludWUgW05dIgorCisjOiBidWlsdGlucy5jOjU4Cittc2dpZCAiYnVpbHRpbiBbc2hlbGwtYnVpbHRpbiBbYXJnIC4uLl1dIgorbXNnc3RyICJidWlsdGluIFtPUkTDmi1JT05TVUlURS1CTEFPSVNDRSBbQVJHw5NJTlQgLi4uXV0iCisKKyM6IGJ1aWx0aW5zLmM6NjEKK21zZ2lkICJjYWxsZXIgW2V4cHJdIgorbXNnc3RyICJjYWxsZXIgW1NMT05OXSIKKworIzogYnVpbHRpbnMuYzo2NAorIywgZnV6enkKK21zZ2lkICJjZCBbLUx8Wy1QIFstZV1dXSBbZGlyXSIKK21zZ3N0ciAiY2QgWy1MfC1QXSBbY29taGFkbGFubl0iCisKKyM6IGJ1aWx0aW5zLmM6NjYKK21zZ2lkICJwd2QgWy1MUF0iCittc2dzdHIgInB3ZCBbLUxQXSIKKworIzogYnVpbHRpbnMuYzo2OAorbXNnaWQgIjoiCittc2dzdHIgIjoiCisKKyM6IGJ1aWx0aW5zLmM6NzAKK21zZ2lkICJ0cnVlIgorbXNnc3RyICJ0cnVlIgorCisjOiBidWlsdGlucy5jOjcyCittc2dpZCAiZmFsc2UiCittc2dzdHIgImZhbHNlIgorCisjOiBidWlsdGlucy5jOjc0Cittc2dpZCAiY29tbWFuZCBbLXBWdl0gY29tbWFuZCBbYXJnIC4uLl0iCittc2dzdHIgImNvbW1hbmQgWy1wVnZdIE9SRMOaIFtBUkfDk0lOVCAuLi5dIgorCisjOiBidWlsdGlucy5jOjc2CisjLCBmdXp6eQorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCittc2dzdHIgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFthaW5tWz1sdWFjaF0gLi4uXSIKKworIzogYnVpbHRpbnMuYzo3OAorIywgZnV6enkKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKK21zZ3N0ciAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gYWlubVs9bHVhY2hdIC4uLiIKKworIzogYnVpbHRpbnMuYzo4MAorbXNnaWQgImxvY2FsIFtvcHRpb25dIG5hbWVbPXZhbHVlXSAuLi4iCittc2dzdHIgImxvY2FsIFtST0dIQV0gQUlOTVs9TFVBQ0hdIC4uLiIKKworIzogYnVpbHRpbnMuYzo4MworbXNnaWQgImVjaG8gWy1uZUVdIFthcmcgLi4uXSIKK21zZ3N0ciAiZWNobyBbLW5lRV0gW0FSR8OTSU5UIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6ODcKK21zZ2lkICJlY2hvIFstbl0gW2FyZyAuLi5dIgorbXNnc3RyICJlY2hvIFstbl0gW0FSR8OTSU5UIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6OTAKK21zZ2lkICJlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmaWxlbmFtZV0gW25hbWUgLi4uXSIKK21zZ3N0ciAiZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYgY29taGFkYWlubV0gW2Fpbm0gLi4uXSIKKworIzogYnVpbHRpbnMuYzo5MgorbXNnaWQgImV2YWwgW2FyZyAuLi5dIgorbXNnc3RyICJldmFsIFthcmfDs2ludCAuLi5dIgorCisjOiBidWlsdGlucy5jOjk0Cittc2dpZCAiZ2V0b3B0cyBvcHRzdHJpbmcgbmFtZSBbYXJnXSIKK21zZ3N0ciAiZ2V0b3B0cyB0ZWFnaHLDoW5fcm9naGFubmEgYWlubSBbYXJnw7NpbnRdIgorCisjOiBidWlsdGlucy5jOjk2Cittc2dpZCAiZXhlYyBbLWNsXSBbLWEgbmFtZV0gW2NvbW1hbmQgW2FyZ3VtZW50cyAuLi5dXSBbcmVkaXJlY3Rpb24gLi4uXSIKK21zZ3N0ciAiZXhlYyBbLWNsXSBbLWEgYWlubV0gW29yZMO6IFthcmfDs2ludMOtIC4uLl1dIFthdHJlb3LDuiAuLi5dIgorCisjOiBidWlsdGlucy5jOjk4Cittc2dpZCAiZXhpdCBbbl0iCittc2dzdHIgImV4aXQgW05dIgorCisjOiBidWlsdGlucy5jOjEwMAorbXNnaWQgImxvZ291dCBbbl0iCittc2dzdHIgImxvZ291dCBbbl0iCisKKyM6IGJ1aWx0aW5zLmM6MTAzCittc2dpZCAiZmMgWy1lIGVuYW1lXSBbLWxucl0gW2ZpcnN0XSBbbGFzdF0gb3IgZmMgLXMgW3BhdD1yZXBdIFtjb21tYW5kXSIKK21zZ3N0ciAiIgorImZjIFstZSBBSU5NX0VdIFstbG5yXSBbQ8OJQURdIFtERUlSRUFOQUNIXSBuw7MgZmMgLXMgW1BBVFLDmk49SU9OQURBw41dIFtPUkTDml0iCisKKyM6IGJ1aWx0aW5zLmM6MTA3Cittc2dpZCAiZmcgW2pvYl9zcGVjXSIKK21zZ3N0ciAiZmcgW1NPTlLDml9KQUJdIgorCisjOiBidWlsdGlucy5jOjExMQorbXNnaWQgImJnIFtqb2Jfc3BlYyAuLi5dIgorbXNnc3RyICJiZyBbU09OUsOaX0pBQiAuLi5dIgorCisjOiBidWlsdGlucy5jOjExNAorbXNnaWQgImhhc2ggWy1scl0gWy1wIHBhdGhuYW1lXSBbLWR0XSBbbmFtZSAuLi5dIgorbXNnc3RyICJoYXNoIFstbHJdIFstcCBDT05BSVJdIFstZHRdIFtBSU5NIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCittc2dzdHIgImhlbHAgWy1kc10gW1BBVFLDmk4gLi4uXSIKKworIzogYnVpbHRpbnMuYzoxMjEKK21zZ2lkICIiCisiaGlzdG9yeSBbLWNdIFstZCBvZmZzZXRdIFtuXSBvciBoaXN0b3J5IC1hbnJ3IFtmaWxlbmFtZV0gb3IgaGlzdG9yeSAtcHMgYXJnICIKKyJbYXJnLi4uXSIKK21zZ3N0ciAiIgorImhpc3RvcnkgWy1jXSBbLWQgU0VBQ0hfQ0hVUl0gW25dIG7DsyBoaXN0b3J5IC1hbnJ3IFtDT01IQURBSU5NXSBuw7MgaGlzdG9yeSAtIgorInBzIEFSR8OTSU5UIFtBUkfDk0lOVC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTI1Cittc2dpZCAiam9icyBbLWxucHJzXSBbam9ic3BlYyAuLi5dIG9yIGpvYnMgLXggY29tbWFuZCBbYXJnc10iCittc2dzdHIgImpvYnMgWy1sbnByc10gW1NPTlLDml9KQUIgLi4uXSBuw7Mgam9icyAteCBPUkTDmiBbQVJHw5NJTlTDjV0iCisKKyM6IGJ1aWx0aW5zLmM6MTI5Cittc2dpZCAiZGlzb3duIFstaF0gWy1hcl0gW2pvYnNwZWMgLi4uXSIKK21zZ3N0ciAiZGlzb3duIFstaF0gWy1hcl0gW1NPTlLDml9KQUIgLi4uXSIKKworIzogYnVpbHRpbnMuYzoxMzIKK21zZ2lkICIiCisia2lsbCBbLXMgc2lnc3BlYyB8IC1uIHNpZ251bSB8IC1zaWdzcGVjXSBwaWQgfCBqb2JzcGVjIC4uLiBvciBraWxsIC1sICIKKyJbc2lnc3BlY10iCittc2dzdHIgIiIKKyJraWxsIFstcyBzb25yw7pfY29taGFydGhhIHwgLW4gdWltaGlyX2Nob21oYXJ0aGEgfCAtc29ucsO6X2NvbWhhcnRoYV0gIgorImFpdGhlYW50w7Npcl9wcsOzaXNpcyB8IHNvbnLDul9qYWIgLi4uIG7DsyBraWxsIC1sIFtzb25yw7pfY29taGFydGhhXSIKKworIzogYnVpbHRpbnMuYzoxMzQKK21zZ2lkICJsZXQgYXJnIFthcmcgLi4uXSIKK21zZ3N0ciAibGV0IGFyZ8OzaW50IFthcmfDs2ludCAuLi5dIgorCisjOiBidWlsdGlucy5jOjEzNgorIywgZnV6enkKK21zZ2lkICIiCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKK21zZ3N0ciAiIgorInJlYWQgWy1lcnNdIFstYSBlYWdhcl0gWy1kIHRlb3JtaGFyY8OzaXJdIFstaSB0w6lhY3NdIFstbiBsw61vbl9jYXJhY2h0YXJdIFstcCAiCisibGVpZF0gWy10IHRlb3JhaW5uX2FtYV0gWy11IHR1YWlyaXNjZW9pcl9jb21oYWlkXSBbYWlubSAuLi5dIgorCisjOiBidWlsdGlucy5jOjEzOAorbXNnaWQgInJldHVybiBbbl0iCittc2dzdHIgInJldHVybiBbbl0iCisKKyM6IGJ1aWx0aW5zLmM6MTQwCisjLCBmdXp6eQorbXNnaWQgInNldCBbLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFstLV0gW2FyZyAuLi5dIgorbXNnc3RyICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBhaW5tLXJvZ2hhXSBbYXJnw7NpbnQgLi4uXSIKKworIzogYnVpbHRpbnMuYzoxNDIKK21zZ2lkICJ1bnNldCBbLWZdIFstdl0gW25hbWUgLi4uXSIKK21zZ3N0ciAidW5zZXQgWy1mXSBbLXZdIFthaW5tIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTQ0Cittc2dpZCAiZXhwb3J0IFstZm5dIFtuYW1lWz12YWx1ZV0gLi4uXSBvciBleHBvcnQgLXAiCittc2dzdHIgImV4cG9ydCBbLWZuXSBbYWlubVs9bHVhY2hdIC4uLl0gbsOzIGV4cG9ydCAtcCIKKworIzogYnVpbHRpbnMuYzoxNDYKKyMsIGZ1enp5Cittc2dpZCAicmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKK21zZ3N0ciAicmVhZG9ubHkgWy1hZl0gW2Fpbm1bPWx1YWNoXSAuLi5dIG7DsyByZWFkb25seSAtcCIKKworIzogYnVpbHRpbnMuYzoxNDgKK21zZ2lkICJzaGlmdCBbbl0iCittc2dzdHIgInNoaWZ0IFtuXSIKKworIzogYnVpbHRpbnMuYzoxNTAKK21zZ2lkICJzb3VyY2UgZmlsZW5hbWUgW2FyZ3VtZW50c10iCittc2dzdHIgInNvdXJjZSBjb21oYWRhaW5tIFthcmfDs2ludMOtXSIKKworIzogYnVpbHRpbnMuYzoxNTIKK21zZ2lkICIuIGZpbGVuYW1lIFthcmd1bWVudHNdIgorbXNnc3RyICIuIGNvbWhhZGFpbm0gW2FyZ8OzaW50w61dIgorCisjOiBidWlsdGlucy5jOjE1NQorbXNnaWQgInN1c3BlbmQgWy1mXSIKK21zZ3N0ciAic3VzcGVuZCBbLWZdIgorCisjOiBidWlsdGlucy5jOjE1OAorbXNnaWQgInRlc3QgW2V4cHJdIgorbXNnc3RyICJ0ZXN0IFtzbG9ubl0iCisKKyM6IGJ1aWx0aW5zLmM6MTYwCittc2dpZCAiWyBhcmcuLi4gXSIKK21zZ3N0ciAiWyBhcmfDs2ludC4uLiBdIgorCisjOiBidWlsdGlucy5jOjE2MgorbXNnaWQgInRpbWVzIgorbXNnc3RyICJ0aW1lcyIKKworIzogYnVpbHRpbnMuYzoxNjQKK21zZ2lkICJ0cmFwIFstbHBdIFtbYXJnXSBzaWduYWxfc3BlYyAuLi5dIgorbXNnc3RyICJ0cmFwIFstbHBdIFtbYXJnw7NpbnRdIHNvbnLDul9jb21oYXJ0aGEgLi4uXSIKKworIzogYnVpbHRpbnMuYzoxNjYKK21zZ2lkICJ0eXBlIFstYWZwdFBdIG5hbWUgW25hbWUgLi4uXSIKK21zZ3N0ciAidHlwZSBbLWFmcHRQXSBhaW5tIFthaW5tIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTY5Cittc2dpZCAidWxpbWl0IFstU0hhY2RlZmlsbW5wcXJzdHV2eF0gW2xpbWl0XSIKK21zZ3N0ciAidWxpbWl0IFstU0hhY2RlZmlsbW5wcXJzdHV2eF0gW3Rlb3JhaW5uXSIKKworIzogYnVpbHRpbnMuYzoxNzIKK21zZ2lkICJ1bWFzayBbLXBdIFstU10gW21vZGVdIgorbXNnc3RyICJ1bWFzayBbLXBdIFstU10gW23Ds2RdIgorCisjOiBidWlsdGlucy5jOjE3NQorbXNnaWQgIndhaXQgW2lkXSIKK21zZ3N0ciAid2FpdCBbYWl0aGVhbnRhc10iCisKKyM6IGJ1aWx0aW5zLmM6MTc5Cittc2dpZCAid2FpdCBbcGlkXSIKK21zZ3N0ciAid2FpdCBbYWl0aGVhbnRhc19wcsOzaXNpc10iCisKKyM6IGJ1aWx0aW5zLmM6MTgyCittc2dpZCAiZm9yIE5BTUUgW2luIFdPUkRTIC4uLiBdIDsgZG8gQ09NTUFORFM7IGRvbmUiCittc2dzdHIgImZvciBBSU5NIFtpbiBGT0NBSUwgLi4uIF0gOyBkbyBPUkRVSVRIRTsgZG9uZSIKKworIzogYnVpbHRpbnMuYzoxODQKK21zZ2lkICJmb3IgKCggZXhwMTsgZXhwMjsgZXhwMyApKTsgZG8gQ09NTUFORFM7IGRvbmUiCittc2dzdHIgImZvciAoKCBzbG9ubjE7IHNsb25uMjsgc2xvbm4zICkpOyBkbyBPUkRVSVRIRTsgZG9uZSIKKworIzogYnVpbHRpbnMuYzoxODYKK21zZ2lkICJzZWxlY3QgTkFNRSBbaW4gV09SRFMgLi4uIDtdIGRvIENPTU1BTkRTOyBkb25lIgorbXNnc3RyICJzZWxlY3QgQUlOTSBbaW4gRk9DQUlMIC4uLiA7XSBkbyBPUkRVSVRIRTsgZG9uZSIKKworIzogYnVpbHRpbnMuYzoxODgKK21zZ2lkICJ0aW1lIFstcF0gcGlwZWxpbmUiCittc2dzdHIgInRpbWUgWy1wXSBww61ibMOtbmUiCisKKyM6IGJ1aWx0aW5zLmM6MTkwCittc2dpZCAiY2FzZSBXT1JEIGluIFtQQVRURVJOIFt8IFBBVFRFUk5dLi4uKSBDT01NQU5EUyA7O10uLi4gZXNhYyIKK21zZ3N0ciAiY2FzZSBGT0NBTCBpbiBbUEFUUsOaTiBbfCBQQVRSw5pOXS4uLikgT1JEVUlUSEUgOztdLi4uIGVzYWMiCisKKyM6IGJ1aWx0aW5zLmM6MTkyCittc2dpZCAiIgorImlmIENPTU1BTkRTOyB0aGVuIENPTU1BTkRTOyBbIGVsaWYgQ09NTUFORFM7IHRoZW4gQ09NTUFORFM7IF0uLi4gWyBlbHNlICIKKyJDT01NQU5EUzsgXSBmaSIKK21zZ3N0ciAiIgorImlmIE9SRFVJVEhFOyB0aGVuIE9SRFVJVEhFOyBbIGVsaWYgT1JEVUlUSEU7IHRoZW4gT1JEVUlUSEU7IF0uLi4gWyBlbHNlICIKKyJPUkRVSVRIRTsgXSBmaSIKKworIzogYnVpbHRpbnMuYzoxOTQKK21zZ2lkICJ3aGlsZSBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUiCittc2dzdHIgIndoaWxlIE9SRFVJVEhFOyBkbyBPUkRVSVRIRTsgZG9uZSIKKworIzogYnVpbHRpbnMuYzoxOTYKK21zZ2lkICJ1bnRpbCBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUiCittc2dzdHIgInVudGlsIE9SRFVJVEhFOyBkbyBPUkRVSVRIRTsgZG9uZSIKKworIzogYnVpbHRpbnMuYzoxOTgKK21zZ2lkICJjb3Byb2MgW05BTUVdIGNvbW1hbmQgW3JlZGlyZWN0aW9uc10iCittc2dzdHIgImNvcHJvYyBbQUlOTV0gb3Jkw7ogW2F0cmVvcnVpdGhlXSIKKworIzogYnVpbHRpbnMuYzoyMDAKK21zZ2lkICJmdW5jdGlvbiBuYW1lIHsgQ09NTUFORFMgOyB9IG9yIG5hbWUgKCkgeyBDT01NQU5EUyA7IH0iCittc2dzdHIgImZ1bmN0aW9uIEFJTk0geyBPUkRVSVRIRSA7IH0gbsOzIEFJTk0gKCkgeyBPUkRVSVRIRSA7IH0iCisKKyM6IGJ1aWx0aW5zLmM6MjAyCittc2dpZCAieyBDT01NQU5EUyA7IH0iCittc2dzdHIgInsgT1JEVUlUSEUgOyB9IgorCisjOiBidWlsdGlucy5jOjIwNAorbXNnaWQgImpvYl9zcGVjIFsmXSIKK21zZ3N0ciAic29ucsO6X2phYiBbJl0iCisKKyM6IGJ1aWx0aW5zLmM6MjA2Cittc2dpZCAiKCggZXhwcmVzc2lvbiApKSIKK21zZ3N0ciAiKCggc2xvbm4gKSkiCisKKyM6IGJ1aWx0aW5zLmM6MjA4Cittc2dpZCAiW1sgZXhwcmVzc2lvbiBdXSIKK21zZ3N0ciAiW1sgc2xvbm4gXV0iCisKKyM6IGJ1aWx0aW5zLmM6MjEwCittc2dpZCAidmFyaWFibGVzIC0gTmFtZXMgYW5kIG1lYW5pbmdzIG9mIHNvbWUgc2hlbGwgdmFyaWFibGVzIgorbXNnc3RyICJBdGhyw7NnYSAtIGFpbm1uZWFjaGEgYWd1cyBtw61uaXRoZSBhciBmYXRocsOzZ2Egw6Fpcml0aGUgYmxhb2lzY2UiCisKKyM6IGJ1aWx0aW5zLmM6MjEzCittc2dpZCAicHVzaGQgWy1uXSBbK04gfCAtTiB8IGRpcl0iCittc2dzdHIgInB1c2hkIFstbl0gWytOIHwgLU4gfCBjb21oYWRsYW5uXSIKKworIzogYnVpbHRpbnMuYzoyMTcKK21zZ2lkICJwb3BkIFstbl0gWytOIHwgLU5dIgorbXNnc3RyICJwb3BkIFstbl0gWytOIHwgLU5dIgorCisjOiBidWlsdGlucy5jOjIyMQorbXNnaWQgImRpcnMgWy1jbHB2XSBbK05dIFstTl0iCittc2dzdHIgImRpcnMgWy1jbHB2XSBbK05dIFstTl0iCisKKyM6IGJ1aWx0aW5zLmM6MjI0Cittc2dpZCAic2hvcHQgWy1wcXN1XSBbLW9dIFtvcHRuYW1lIC4uLl0iCittc2dzdHIgInNob3B0IFstcHFzdV0gWy1vXSBbYWlubV9yb2doYSAuLi5dIgorCisjOiBidWlsdGlucy5jOjIyNgorbXNnaWQgInByaW50ZiBbLXYgdmFyXSBmb3JtYXQgW2FyZ3VtZW50c10iCittc2dzdHIgInByaW50ZiBbLXYgYXRocsOzZ10gZm9ybcOhaWQgW2FyZ8OzaW50w61dIgorCisjOiBidWlsdGlucy5jOjIyOQorIywgZnV6enkKK21zZ2lkICIiCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKKyJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKKyJzdWZmaXhdIFtuYW1lIC4uLl0iCittc2dzdHIgIiIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIHJvZ2hhXSBbLUEgZ27DrW9taF0gWy1HIHBhdHLDum5dIFstVyAiCisibGlvc3RhX2ZvY2FsXSAgWy1GIGZlaWRobV0gWy1DIG9yZMO6XSBbLVggcGF0csO6bl9zY2FnYWlyZV0gWy1QIHLDqWltw61yXSBbLVMgIgorImlhcm1ow61yXSBbYWlubSAuLi5dIgorCisjOiBidWlsdGlucy5jOjIzMworbXNnaWQgIiIKKyJjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8gb3B0aW9uXSAgWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyB3b3JkbGlzdF0gICIKKyJbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbd29yZF0iCittc2dzdHIgIiIKKyJjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8gcm9naGFdICBbLUEgZ27DrW9taF0gWy1HIHBhdHLDum5dIFstVyAiCisibGlvc3RhX2ZvY2FsXSAgWy1GIGZlaWRobV0gWy1DIG9yZMO6XSBbLVggcGF0csO6bl9zY2FnYWlyZV0gWy1QIHLDqWltw61yXSBbLVMgIgorImlhcm1ow61yXSBbRk9DQUxdIgorCisjOiBidWlsdGlucy5jOjIzNworIywgZnV6enkKK21zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIHJvZ2hhXSBbYWlubSAuLi5dIgorCisjOiBidWlsdGlucy5jOjI0MAorbXNnaWQgIiIKKyJtYXBmaWxlIFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgorInF1YW50dW1dIFthcnJheV0iCittc2dzdHIgImEiCisKKyM6IGJ1aWx0aW5zLmM6MjQyCittc2dpZCAiIgorInJlYWRhcnJheSBbLW4gY291bnRdIFstTyBvcmlnaW5dIFstcyBjb3VudF0gWy10XSBbLXUgZmRdIFstQyBjYWxsYmFja10gWy1jICIKKyJxdWFudHVtXSBbYXJyYXldIgorbXNnc3RyICJ0IgorCisjOiBidWlsdGlucy5jOjI1NAorbXNnaWQgIiIKKyJEZWZpbmUgb3IgZGlzcGxheSBhbGlhc2VzLlxuIgorIiAgICBcbiIKKyIgICAgV2l0aG91dCBhcmd1bWVudHMsIGBhbGlhcycgcHJpbnRzIHRoZSBsaXN0IG9mIGFsaWFzZXMgaW4gdGhlIHJldXNhYmxlXG4iCisiICAgIGZvcm0gYGFsaWFzIE5BTUU9VkFMVUUnIG9uIHN0YW5kYXJkIG91dHB1dC5cbiIKKyIgICAgXG4iCisiICAgIE90aGVyd2lzZSwgYW4gYWxpYXMgaXMgZGVmaW5lZCBmb3IgZWFjaCBOQU1FIHdob3NlIFZBTFVFIGlzIGdpdmVuLlxuIgorIiAgICBBIHRyYWlsaW5nIHNwYWNlIGluIFZBTFVFIGNhdXNlcyB0aGUgbmV4dCB3b3JkIHRvIGJlIGNoZWNrZWQgZm9yXG4iCisiICAgIGFsaWFzIHN1YnN0aXR1dGlvbiB3aGVuIHRoZSBhbGlhcyBpcyBleHBhbmRlZC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLXBcdFByaW50IGFsbCBkZWZpbmVkIGFsaWFzZXMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBhbGlhcyByZXR1cm5zIHRydWUgdW5sZXNzIGEgTkFNRSBpcyBzdXBwbGllZCBmb3Igd2hpY2ggbm8gYWxpYXMgaGFzICIKKyJiZWVuXG4iCisiICAgIGRlZmluZWQuIgorbXNnc3RyICIiCisiU2FpbmlnaCBuw7MgdGFpc3Blw6FpbiBhaWxpYXNhbm5hLlxuIgorIiAgICBcbiIKKyIgICAgR2FuIGFyZ8OzaW50w60sIHByaW9udMOhbGFubiBcImFsaWFzXCIgYW4gbGlvc3RhIGFpbGlhc2FubmEgc2FuIGZob2lybVxuIgorIiAgICBcImFsaWFzIExVQUNIPVZBTFVFXCIgYXIgYW4gbmduw6F0aC1hc2NodXIuXG4iCisiICAgIFxuIgorIiAgICBJIG5nYWNoIGPDoXMgZWlsZSwgc2FpbsOtdGVhciBhaWxpYXMgZG8gZ2FjaCBBSU5NIGEgdGh1Z3RhciBMVUFDSCBkw7MuXG4iCisiICAgIE3DoSB0w6Egc3DDoXMgY2h1biBkZWlyaWRoIExVQUNILCBkw6lhbnRhciBhbiBjaMOpYWQgZmhvY2FsIGVpbGUgYSBzaGVpY2XDoWlsXG4iCisiICAgIGxlIGhhZ2hhaWRoIGlvbmFkw7ogYWlsaWFzIG51YWlyIGEgZmhhaXJzaW5nw610ZWFyIGFuIGFpbGlhcy5cbiIKKyIgICAgXG4iCisiICAgIFJvZ2hhbm5hOlxuIgorIiAgICAgIC1wXHRQcmlvbnTDoWlsIGdhY2ggYWlsaWFzIHNhaW5pdGhlIGkgYmhmb2lybSBpbmF0aMO6c8OhaWR0ZS5cbiIKKyIgICAgXG4iCisiICAgIFN0w6FkYXMgU2NvcnRoYTpcbiIKKyIgICAgQWlzY2h1aXJ0ZWFyIGFuIGx1YWNoIHRydWUgbXVyYSB0aHVndGFyIEFJTk0gbmFjaCBiaGZ1aWxcbiIKKyIgICAgYWlsaWFzIHNhaW5pdGhlIGTDsy4iCisKKyM6IGJ1aWx0aW5zLmM6Mjc2Cittc2dpZCAiIgorIlJlbW92ZSBlYWNoIE5BTUUgZnJvbSB0aGUgbGlzdCBvZiBkZWZpbmVkIGFsaWFzZXMuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1hXHRyZW1vdmUgYWxsIGFsaWFzIGRlZmluaXRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgUmV0dXJuIHN1Y2Nlc3MgdW5sZXNzIGEgTkFNRSBpcyBub3QgYW4gZXhpc3RpbmcgYWxpYXMuIgorbXNnc3RyICIiCisiQmFpbiBnYWNoIEFJTk0gZGUgbGlvc3RhIG5hIG4tYWlsaWFzYW5uYSBzYWluaXRoZS5cbiIKKyIgICAgXG4iCisiICAgIFJvZ2hhbm5hOlxuIgorIiAgICAgIC1hXHRiYWluIGdhY2ggc2FpbmnDuiBhaWxpYXMuXG4iCisiICAgICBcbiIKKyIgICAgQWlzY2h1aXJ0ZWFyIHJhdGggYWNoIHNhIGNow6FzIG5hY2ggYmhmdWlsIEFJTk0gYW5uLiIKKworIzogYnVpbHRpbnMuYzoyODkKK21zZ2lkICIiCisiU2V0IFJlYWRsaW5lIGtleSBiaW5kaW5ncyBhbmQgdmFyaWFibGVzLlxuIgorIiAgICBcbiIKKyIgICAgQmluZCBhIGtleSBzZXF1ZW5jZSB0byBhIFJlYWRsaW5lIGZ1bmN0aW9uIG9yIGEgbWFjcm8sIG9yIHNldCBhXG4iCisiICAgIFJlYWRsaW5lIHZhcmlhYmxlLiAgVGhlIG5vbi1vcHRpb24gYXJndW1lbnQgc3ludGF4IGlzIGVxdWl2YWxlbnQgdG9cbiIKKyIgICAgdGhhdCBmb3VuZCBpbiB+Ly5pbnB1dHJjLCBidXQgbXVzdCBiZSBwYXNzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4sIGJpbmQgJ1wiXFxDLXhcXEMtclwiOiByZS1yZWFkLWluaXQtZmlsZScuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1tICBrZXltYXAgICAgICAgICBVc2UgS0VZTUFQIGFzIHRoZSBrZXltYXAgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGlzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQuICBBY2NlcHRhYmxlIGtleW1hcCBuYW1lcyBhcmUgZW1hY3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWNzLXN0YW5kYXJkLCBlbWFjcy1tZXRhLCBlbWFjcy1jdGx4LCB2aSwgdmktIgorIm1vdmUsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIHZpLWNvbW1hbmQsIGFuZCB2aS1pbnNlcnQuXG4iCisiICAgICAgLWwgICAgICAgICAgICAgICAgIExpc3QgbmFtZXMgb2YgZnVuY3Rpb25zLlxuIgorIiAgICAgIC1QICAgICAgICAgICAgICAgICBMaXN0IGZ1bmN0aW9uIG5hbWVzIGFuZCBiaW5kaW5ncy5cbiIKKyIgICAgICAtcCAgICAgICAgICAgICAgICAgTGlzdCBmdW5jdGlvbnMgYW5kIGJpbmRpbmdzIGluIGEgZm9ybSB0aGF0IGNhbiBiZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICByZXVzZWQgYXMgaW5wdXQuXG4iCisiICAgICAgLVMgICAgICAgICAgICAgICAgIExpc3Qga2V5IHNlcXVlbmNlcyB0aGF0IGludm9rZSBtYWNyb3MgYW5kIHRoZWlyICIKKyJ2YWx1ZXNcbiIKKyIgICAgICAtcyAgICAgICAgICAgICAgICAgTGlzdCBrZXkgc2VxdWVuY2VzIHRoYXQgaW52b2tlIG1hY3JvcyBhbmQgdGhlaXIgIgorInZhbHVlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBpbiBhIGZvcm0gdGhhdCBjYW4gYmUgcmV1c2VkIGFzIGlucHV0LlxuIgorIiAgICAgIC1WICAgICAgICAgICAgICAgICBMaXN0IHZhcmlhYmxlIG5hbWVzIGFuZCB2YWx1ZXNcbiIKKyIgICAgICAtdiAgICAgICAgICAgICAgICAgTGlzdCB2YXJpYWJsZSBuYW1lcyBhbmQgdmFsdWVzIGluIGEgZm9ybSB0aGF0IGNhblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBiZSByZXVzZWQgYXMgaW5wdXQuXG4iCisiICAgICAgLXEgIGZ1bmN0aW9uLW5hbWUgIFF1ZXJ5IGFib3V0IHdoaWNoIGtleXMgaW52b2tlIHRoZSBuYW1lZCBmdW5jdGlvbi5cbiIKKyIgICAgICAtdSAgZnVuY3Rpb24tbmFtZSAgVW5iaW5kIGFsbCBrZXlzIHdoaWNoIGFyZSBib3VuZCB0byB0aGUgbmFtZWQgIgorImZ1bmN0aW9uLlxuIgorIiAgICAgIC1yICBrZXlzZXEgICAgICAgICBSZW1vdmUgdGhlIGJpbmRpbmcgZm9yIEtFWVNFUS5cbiIKKyIgICAgICAtZiAgZmlsZW5hbWUgICAgICAgUmVhZCBrZXkgYmluZGluZ3MgZnJvbSBGSUxFTkFNRS5cbiIKKyIgICAgICAteCAga2V5c2VxOnNoZWxsLWNvbW1hbmRcdENhdXNlIFNIRUxMLUNPTU1BTkQgdG8gYmUgZXhlY3V0ZWQgd2hlblxuIgorIiAgICBcdFx0XHRcdEtFWVNFUSBpcyBlbnRlcmVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIGJpbmQgcmV0dXJucyAwIHVubGVzcyBhbiB1bnJlY29nbml6ZWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzozMjYKK21zZ2lkICIiCisiRXhpdCBmb3IsIHdoaWxlLCBvciB1bnRpbCBsb29wcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgYSBGT1IsIFdISUxFIG9yIFVOVElMIGxvb3AuICBJZiBOIGlzIHNwZWNpZmllZCwgYnJlYWsgTiBlbmNsb3NpbmdcbiIKKyIgICAgbG9vcHMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgVGhlIGV4aXQgc3RhdHVzIGlzIDAgdW5sZXNzIE4gaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLiIKK21zZ3N0ciAiIgorIlNjb2lyIGRlIGzDumJhIGZvciwgd2hpbGUgbsOzIHVudGlsLlxuIgorIiAgICBcbiIKKyIgICAgU2NvaXIgZGUgbMO6YiBcImZvclwiLCBcIndoaWxlXCIgXCJuw7MgXCJ1bnRpbFwiLiBNw6Egc2hvbnJhw610ZWFyIE4sIHNjb2lyXG4iCisiICAgIGRlIE4gbMO6YiBtaMOzcnRoaW1wZWFsbC5cbiIKKyIgICAgXG4iCisiICAgIFN0w6FkYXMgU2NvcnRoYTpcbiIKKyIgICAgSXMgw6kgMCBhbiBzdMOhZGFzIHNjb3J0aGEgbXVyYSBiaGZ1aWwgTiBuw61vcyBsw7ogbsOhIDEuIgorCisjOiBidWlsdGlucy5jOjMzOAorbXNnaWQgIiIKKyJSZXN1bWUgZm9yLCB3aGlsZSwgb3IgdW50aWwgbG9vcHMuXG4iCisiICAgIFxuIgorIiAgICBSZXN1bWVzIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB0aGUgZW5jbG9zaW5nIEZPUiwgV0hJTEUgb3IgVU5USUwgbG9vcC5cbiIKKyIgICAgSWYgTiBpcyBzcGVjaWZpZWQsIHJlc3VtZXMgdGhlIE50aCBlbmNsb3NpbmcgbG9vcC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBUaGUgZXhpdCBzdGF0dXMgaXMgMCB1bmxlc3MgTiBpcyBub3QgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIgorbXNnc3RyICIiCisiTGVhbiBhciBhZ2hhaWRoIGxlIGzDumJhIGZvciwgd2hpbGUgbsOzIHVudGlsLlxuIgorIiAgICBcbiIKKyIgICAgVG9zYWlnaCBhbiBjaMOpYWQgYXRyaWFsbCBlaWxlIGRlbiBsw7piIG1ow7NydGhpbXBlYWxsIFwiZm9yXCIsIFwid2hpbGVcIiAiCisibsOzIFwidW50aWxcIi5cbiIKKyIgICAgTcOhIHNob25yYcOtdGVhciBOLCB0b3NhaWdoIGFuIE7DuiBsw7piIG1ow7NydGhpbXBlYWxsLlxuIgorIiAgICBcbiIKKyIgICAgU3TDoWRhcyBTY29ydGhhOlxuIgorIiAgICBJcyDDqSAwIGFuIHN0w6FkYXMgc2NvcnRoYSBtdXJhIGJoZnVpbCBOIG7DrW9zIGzDuiBuw6EgMS4iCisKKyM6IGJ1aWx0aW5zLmM6MzUwCittc2dpZCAiIgorIkV4ZWN1dGUgc2hlbGwgYnVpbHRpbnMuXG4iCisiICAgIFxuIgorIiAgICBFeGVjdXRlIFNIRUxMLUJVSUxUSU4gd2l0aCBhcmd1bWVudHMgQVJHcyB3aXRob3V0IHBlcmZvcm1pbmcgY29tbWFuZFxuIgorIiAgICBsb29rdXAuICBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSB3aXNoIHRvIHJlaW1wbGVtZW50IGEgc2hlbGwgYnVpbHRpblxuIgorIiAgICBhcyBhIHNoZWxsIGZ1bmN0aW9uLCBidXQgbmVlZCB0byBleGVjdXRlIHRoZSBidWlsdGluIHdpdGhpbiB0aGUgIgorImZ1bmN0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIFNIRUxMLUJVSUxUSU4sIG9yIGZhbHNlIGlmIFNIRUxMLUJVSUxUSU4gaXNcbiIKKyIgICAgbm90IGEgc2hlbGwgYnVpbHRpbi4uIgorbXNnc3RyICIiCisiUml0aCBvcmR1aXRoZSBpb25zdWl0ZSBuYSBibGFvaXNjZS5cbiIKKyIgICAgXG4iCisiICAgIFJpdGggT1JEw5otSU9OU1VJVEUtQkxBT0lTQ0UgbGVpcyBuYSBoYXJnw7NpbnTDrSBBUkfDk0lOVMONIGdhbiBjdWFyZGFjaFxuIgorIiAgICBvcmRhaXRoZSBhIGRow6lhbmFtaC4gVMOhIHPDqSBzZW8gw7pzw6FpZGVhY2ggbcOhcyBtaWFuIGxlYXQgb3Jkw7ogYmxhb2lzY2UgYVxuIgorIiAgICBhdGhzaGFpbmnDuiBtYXIgZmhlaWRobSBiaGxhb2lzY2UgYWd1cyBndXIgZ2jDoSBhbiB0LW9yZMO6IGlvbnN1aXRlIGEgcml0aFxuIgorIiAgICBsYWlzdGlnaCBkZW4gZmhlaWRobS5cbiIKKyIgICAgXG4iCisiICAgIFN0w6FkYXMgU2NvcnRoYTpcbiIKKyIgICAgQWlzY2h1aXJ0ZWFyIHN0w6FkYXMgc2NvcnRoYSBPUkTDmi1JT05TVUlURS1CTEFPSVNDRSwgbsOzIGZhbHNhIG11cmEgIgorImJoZnVpbFxuIgorIiAgICBPUkTDmi1JT05TVUlURS1CTEFPSVNDRSBpbmEgb3Jkw7ogaW9uc3VpdGUgYmxhb2lzY2UuIgorCisjOiBidWlsdGlucy5jOjM2NQorbXNnaWQgIiIKKyJSZXR1cm4gdGhlIGNvbnRleHQgb2YgdGhlIGN1cnJlbnQgc3Vicm91dGluZSBjYWxsLlxuIgorIiAgICBcbiIKKyIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zIFwiJGxpbmUgJGZpbGVuYW1lXCIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgXCIkbGluZSAkc3Vicm91dGluZSAkZmlsZW5hbWVcIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyAwIHVubGVzcyB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIHNoZWxsIGZ1bmN0aW9uIG9yIEVYUFJcbiIKKyIgICAgaXMgaW52YWxpZC4iCittc2dzdHIgIiIKKyJBaXNjaHVpciBjb21odGjDqWFjcyBhbiBnaGxhb2lnaCByZWF0aGEgZmhvZ2huw6F0aGFpbWguXG4iCisiICAgIFxuIgorIiAgICBHYW4gU0xPTk4sIGFpc2NodWlydGVhciBcIiRsaW5lICRmaWxlbmFtZVwiLiBMZSBTTE9OTiwgYWlzY2h1aXJ0ZWFyXG4iCisiICAgIFwiJGxpbmUgJHN1YnJvdXRpbmUgJGZpbGVuYW1lXCI7IGlzIGbDqWlkaXIgbG9yZyBjcnVhaWNoZSBhIHNob2zDoXRoYXIgIgorImxlaXMgYW5cbiIKKyIgICAgZmhhaXNuw6lpcyBiaHJlaXNlIHNlby5cbiIKKyIgICAgXG4iCisiICAgIFRhaXNwZcOhbmFubiBhbiBsdWFjaCBhdMOhIGFnIFNMT05OIGFuIG3DqWlzIGZyw6FtYcOtIGdsYW9pZ2ggbGUgZHVsIHNpYXJcbiIKKyIgICAgcm9pbWggYW4gY2Vhbm4gcmVhdGhhOyBmcsOhbWEgMCBhbiBjZWFubiBhdMOhIGFyIGJhcnIuXG4iCisiICAgIFxuIgorIiAgICBTdMOhZGFzIFNjb3J0aGE6XG4iCisiICAgIEFpc2NodWlydGVhciAwIGFjaCBzYSBjaMOhcyBuYWNoIGJoZnVpbCBhbiBiaGxhb3NjIGFnIHJpdGggZmVpZGhtZSAiCisiYmxhb2lzY2UsIG7Ds1xuIgorIiAgICBzYSBjaMOhcyBnbyBiaGZ1aWwgU0xPTk4gbmVhbWhiaGFpbMOtLiIKKworIzogYnVpbHRpbnMuYzozODMKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBzaGVsbCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKKyIgICAgXG4iCisiICAgIENoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8gRElSLiAgVGhlIGRlZmF1bHQgRElSIGlzIHRoZSB2YWx1ZSBvZiAiCisidGhlXG4iCisiICAgIEhPTUUgc2hlbGwgdmFyaWFibGUuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFyaWFibGUgQ0RQQVRIIGRlZmluZXMgdGhlIHNlYXJjaCBwYXRoIGZvciB0aGUgZGlyZWN0b3J5ICIKKyJjb250YWluaW5nXG4iCisiICAgIERJUi4gIEFsdGVybmF0aXZlIGRpcmVjdG9yeSBuYW1lcyBpbiBDRFBBVEggYXJlIHNlcGFyYXRlZCBieSBhIGNvbG9uICIKKyIoOikuXG4iCisiICAgIEEgbnVsbCBkaXJlY3RvcnkgbmFtZSBpcyB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBJZiBESVIgIgorImJlZ2luc1xuIgorIiAgICB3aXRoIGEgc2xhc2ggKC8pLCB0aGVuIENEUEFUSCBpcyBub3QgdXNlZC5cbiIKKyIgICAgXG4iCisiICAgIElmIHRoZSBkaXJlY3RvcnkgaXMgbm90IGZvdW5kLCBhbmQgdGhlIHNoZWxsIG9wdGlvbiBgY2RhYmxlX3ZhcnMnIGlzICIKKyJzZXQsXG4iCisiICAgIHRoZSB3b3JkIGlzIGFzc3VtZWQgdG8gYmUgIGEgdmFyaWFibGUgbmFtZS4gIElmIHRoYXQgdmFyaWFibGUgaGFzIGEgIgorInZhbHVlLFxuIgorIiAgICBpdHMgdmFsdWUgaXMgdXNlZCBmb3IgRElSLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAgIC1MXHRmb3JjZSBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZFxuIgorIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgorIiAgICBcdGxpbmtzXG4iCisiICAgICAgICAtZVx0aWYgdGhlIC1QIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iCisiICAgIFx0Y2Fubm90IGJlIGRldGVybWluZWQgc3VjY2Vzc2Z1bGx5LCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXNcbiIKKyIgICAgXG4iCisiICAgIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5ICIKKyJ3aGVuXG4iCisiICAgIC1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzo0MTQKK21zZ2lkICIiCisiUHJpbnQgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1MXHRwcmludCB0aGUgdmFsdWUgb2YgJFBXRCBpZiBpdCBuYW1lcyB0aGUgY3VycmVudCB3b3JraW5nXG4iCisiICAgIFx0ZGlyZWN0b3J5XG4iCisiICAgICAgLVBcdHByaW50IHRoZSBwaHlzaWNhbCBkaXJlY3RvcnksIHdpdGhvdXQgYW55IHN5bWJvbGljIGxpbmtzXG4iCisiICAgIFxuIgorIiAgICBCeSBkZWZhdWx0LCBgcHdkJyBiZWhhdmVzIGFzIGlmIGAtTCcgd2VyZSBzcGVjaWZpZWQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyAwIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiIKKyIgICAgY2Fubm90IGJlIHJlYWQuIgorbXNnc3RyICIiCisiUHJpb250w6FpbCBhaW5tIG5hIGNvbWhhZGxhaW5uZSBvaWJyZSByZWF0aGEuXG4iCisiICAgIFxuIgorIiAgICBSb2doYW5uYTpcbiIKKyIgICAgICAtTFx0cHJpb250w6FpbCBsdWFjaCAkUFdEIG3DoSB0aHVnYW5uIHPDqSBhaW5tIG5hIGNvbWhhZGxhaW5uZVxuIgorIiAgICBcdG9pYnJlIHJlYXRoYS4gICAgICAtUFx0cHJpb250w6FpbCBhbiBjaG9taGFkbGFubiBmaGlzaWNpw7ppbCwgZ2FuIG5haXNjICIKKyJzaGlvbWJhbGFjaGFcbiIKKyIgICAgXG4iCisiICAgIE1hciByw6lhbWhzaG9jcsO6LCBvaWJyw61vbm4gXCJwd2RcIiBmYW9pIG1hciBhIGJoZWFkaCBcIi1MXCIgc29ucmFpdGhlLlxuIgorIiAgICBcbiIKKyIgICAgU3TDoWRhcyBTY29ydGhhOlxuIgorIiAgICBBaXNjaHVpcnRlYXIgbHVhY2ggZGUgMCBtdXJhIHRodWd0YXIgcm9naGEgbmVhbWhiaGFpbMOtIG7DsyBtdXJhIGbDqWlkaXJcbiIKKyIgICAgYW4gY2hvbWhhZGxhbm4gcmVhdGhhIGEgbMOpYW1oLiIKKworIzogYnVpbHRpbnMuYzo0MzEKK21zZ2lkICIiCisiTnVsbCBjb21tYW5kLlxuIgorIiAgICBcbiIKKyIgICAgTm8gZWZmZWN0OyB0aGUgY29tbWFuZCBkb2VzIG5vdGhpbmcuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKK21zZ3N0ciAiIgorIk9yZMO6IG5lYW1obml0aGVhY2guXG4iCisiICAgIFxuIgorIiAgICBHYW4gw6lpZmVhY2h0OyBuw60gZGjDqWFuYW5uIGFuIHQtb3Jkw7ogZmFpYy5cbiIKKyIgICAgXG4iCisiICAgIFN0YWRhcyBTY29ydGhhOlxuIgorIiAgICDDiWlyw61vbm4gbGVpcyBpIGdjw7NuYcOtLiIKKworIzogYnVpbHRpbnMuYzo0NDIKK21zZ2lkICIiCisiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKK21zZ3N0ciAiIgorIkFpc2NodWlyIHRvcmFkaCByYXRow7ppbC5cbiIKKyIgICAgXG4iCisiICAgIFN0w6FkYXMgU2NvcnRoYTpcbiIKKyIgICAgw4lpcsOtb25uIGxlaXMgaSBnY8OzbmHDrS4iCisKKyM6IGJ1aWx0aW5zLmM6NDUxCittc2dpZCAiIgorIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIEFsd2F5cyBmYWlscy4iCittc2dzdHIgIiIKKyJBaXNjaHVpciB0b3JhZGggbmVhbWhyYXRow7ppbC5cbiIKKyIgICAgXG4iCisiICAgIFN0w6FkYXMgU2NvcnRoYTpcbiIKKyIgICAgVGVpcGVhbm4gYWlyIGkgZ2PDs25hw60uIgorCisjOiBidWlsdGlucy5jOjQ2MAorbXNnaWQgIiIKKyJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIFJ1bnMgQ09NTUFORCB3aXRoIEFSR1Mgc3VwcHJlc3NpbmcgIHNoZWxsIGZ1bmN0aW9uIGxvb2t1cCwgb3IgZGlzcGxheVxuIgorIiAgICBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3BlY2lmaWVkIENPTU1BTkRzLiAgQ2FuIGJlIHVzZWQgdG8gaW52b2tlICIKKyJjb21tYW5kc1xuIgorIiAgICBvbiBkaXNrIHdoZW4gYSBmdW5jdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtcFx0dXNlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgUEFUSCB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gZmluZCBhbGwgb2ZcbiIKKyIgICAgXHR0aGUgc3RhbmRhcmQgdXRpbGl0aWVzXG4iCisiICAgICAgLXZcdHByaW50IGEgZGVzY3JpcHRpb24gb2YgQ09NTUFORCBzaW1pbGFyIHRvIHRoZSBgdHlwZScgYnVpbHRpblxuIgorIiAgICAgIC1WXHRwcmludCBhIG1vcmUgdmVyYm9zZSBkZXNjcmlwdGlvbiBvZiBlYWNoIENPTU1BTkRcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQsIG9yIGZhaWx1cmUgaWYgQ09NTUFORCBpcyBub3QgZm91bmQuIgorbXNnc3RyICIiCisiUml0aCBvcmTDuiBzaW1wbMOtIG7DsyB0YWlzcGXDoWluIGVvbGFzIG1haWRpciBsZSBob3JkdWl0aGUuXG4iCisiICAgIFxuIgorIiAgICBSaXRoZWFubiBPUkTDmiBsZSBoQVJHw5NJTlTDjSBnYW4gY3VhcmRhY2ggZmVpZGhtZSBibGFvaXNjZSwgbsOzICIKKyJ0YWlzcGXDoW5hbm5cbiIKKyIgICAgZW9sYXMgbWFpZGlyIGxlaXMgbmEgaG9yZHVpdGhlIHNvbnJhaXRoZS4gSXMgZsOpaWRpciDDqSBzZW8gYSDDunPDoWlkIGNodW4gIgorIm9yZHVpdGhlIGFyXG4iCisiICAgIGRpb3NjYSBhIHJpdGggbcOhIHTDoSBmZWlkaG0gbGVpcyBhbiBhaW5tIGPDqWFubmEgYW5uLlxuIgorIiAgICBcbiIKKyIgICAgUm9naGFubmE6XG4iCisiICAgICAgLXBcdMO6c8OhaWQgbHVhY2ggcsOpYW1oc2hvY3JhaXRoZSBsZSBoYWdoYWlkaCBDT05BSVIgYSBhaW1zZW9pZGggZ28gIgorImNpbm50ZVxuIgorIiAgICAgICAgXHRnYWNoIGNlYW5uIGRlIG5hIGduw6F0aHLDrW9taGNobMOhaXIgw6FpcmdlLlxuIgorIiAgICAgIC12XHR0YWlzcGXDoWluIGN1ciBzw61vcyBhciBPUkTDmiBjb3PDumlsIGxlaXMgYW4gb3Jkw7ogaW9uc3VpdGUgXCJ0eXBlXCJcbiIKKyIgICAgICAtVlx0dGFpc3Blw6FpbiBjdXIgc8Otb3MgbsOtb3MgZmFpZGUgZGUgZ2FjaCBPUkTDmlxuIgorIiAgICBcbiIKKyIgICAgU3TDoWRhcyBTY29ydGhhOlxuIgorIiAgICBBaXNjaHVpcnRlYXIgYW4gc3TDoWRhcyBzY29ydGhhIMOzIE9SRMOaLCBuw7MgdGVpcCBtdXJhIGFpbXPDrXRlYXIgT1JEw5ouIgorCisjOiBidWlsdGlucy5jOjQ3OQorbXNnaWQgIiIKKyJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgorIiAgICBcbiIKKyIgICAgRGVjbGFyZSB2YXJpYWJsZXMgYW5kIGdpdmUgdGhlbSBhdHRyaWJ1dGVzLiAgSWYgbm8gTkFNRXMgYXJlIGdpdmVuLFxuIgorIiAgICBkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZXMgb2YgYWxsIHZhcmlhYmxlcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgorIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCisiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCisiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKKyIgICAgICAtYVx0dG8gbWFrZSBOQU1FcyBpbmRleGVkIGFycmF5cyAoaWYgc3VwcG9ydGVkKVxuIgorIiAgICAgIC1BXHR0byBtYWtlIE5BTUVzIGFzc29jaWF0aXZlIGFycmF5cyAoaWYgc3VwcG9ydGVkKVxuIgorIiAgICAgIC1pXHR0byBtYWtlIE5BTUVzIGhhdmUgdGhlIGBpbnRlZ2VyJyBhdHRyaWJ1dGVcbiIKKyIgICAgICAtbFx0dG8gY29udmVydCBOQU1FcyB0byBsb3dlciBjYXNlIG9uIGFzc2lnbm1lbnRcbiIKKyIgICAgICAtclx0dG8gbWFrZSBOQU1FcyByZWFkb25seVxuIgorIiAgICAgIC10XHR0byBtYWtlIE5BTUVzIGhhdmUgdGhlIGB0cmFjZScgYXR0cmlidXRlXG4iCisiICAgICAgLXVcdHRvIGNvbnZlcnQgTkFNRXMgdG8gdXBwZXIgY2FzZSBvbiBhc3NpZ25tZW50XG4iCisiICAgICAgLXhcdHRvIG1ha2UgTkFNRXMgZXhwb3J0XG4iCisiICAgIFxuIgorIiAgICBVc2luZyBgKycgaW5zdGVhZCBvZiBgLScgdHVybnMgb2ZmIHRoZSBnaXZlbiBhdHRyaWJ1dGUuXG4iCisiICAgIFxuIgorIiAgICBWYXJpYWJsZXMgd2l0aCB0aGUgaW50ZWdlciBhdHRyaWJ1dGUgaGF2ZSBhcml0aG1ldGljIGV2YWx1YXRpb24gKHNlZVxuIgorIiAgICB0aGUgYGxldCcgY29tbWFuZCkgcGVyZm9ybWVkIHdoZW4gdGhlIHZhcmlhYmxlIGlzIGFzc2lnbmVkIGEgdmFsdWUuXG4iCisiICAgIFxuIgorIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCisiYGxvY2FsJ1xuIgorIiAgICBjb21tYW5kLiAgVGhlIGAtZycgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzo1MTcKK21zZ2lkICIiCisiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKKyIgICAgXG4iCisiICAgIE9ic29sZXRlLiAgU2VlIGBoZWxwIGRlY2xhcmUnLiIKK21zZ3N0ciAiIgorIlNvY3JhaWdoIGx1YWNoYW5uYSBhZ3VzIGFpcsOtb25uYSBhdGhyw7NnLlxuIgorIiAgICBcbiIKKyIgICAgSW1pdGhlIGkgbMOpaWcuIEZlaWMgXCJoZWxwIGRlY2xhcmVcIi4iCisKKyM6IGJ1aWx0aW5zLmM6NTI1Cittc2dpZCAiIgorIkRlZmluZSBsb2NhbCB2YXJpYWJsZXMuXG4iCisiICAgIFxuIgorIiAgICBDcmVhdGUgYSBsb2NhbCB2YXJpYWJsZSBjYWxsZWQgTkFNRSwgYW5kIGdpdmUgaXQgVkFMVUUuICBPUFRJT04gY2FuXG4iCisiICAgIGJlIGFueSBvcHRpb24gYWNjZXB0ZWQgYnkgYGRlY2xhcmUnLlxuIgorIiAgICBcbiIKKyIgICAgTG9jYWwgdmFyaWFibGVzIGNhbiBvbmx5IGJlIHVzZWQgd2l0aGluIGEgZnVuY3Rpb247IHRoZXkgYXJlIHZpc2libGVcbiIKKyIgICAgb25seSB0byB0aGUgZnVuY3Rpb24gd2hlcmUgdGhleSBhcmUgZGVmaW5lZCBhbmQgaXRzIGNoaWxkcmVuLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuIGVycm9yIG9jY3VycyxcbiIKKyIgICAgb3IgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbi4iCittc2dzdHIgIiIKKyJTYWluaWdoIGF0aHLDs2dhIGxvZ8OhbnRhLlxuIgorIiAgICBcbiIKKyIgICAgQ3J1dGhhw610ZWFyIGF0aHLDs2cgbG9nw6FudGEgZGFyYmggYWlubSBBSU5NLCBhZ3VzIGN1aXJ0ZWFyIExVQUNIIGxlaXMuICIKKyJJc1xuIgorIiAgICBmw6lpZGlyIGxlIFJPR0hBIGEgYmhlaXRoIGNlYW5uIGFyIGJpdGggZGUgbmEgcm9naGFubmEgYSBnaGxhY2FubiAiCisiXCJkZWNsYXJlXCIgbGVvLlxuIgorIiAgICBcbiIKKyIgICAgTsOtIGbDqWlkaXIgYXRocsOzZ2EgbG9nw6FudGEgYSDDunPDoWlkIGFjaCBsYWlzdGlnaCBkZSBmaGVpZGhtLiBUw6Egc2lhZCAiCisiaW5maGVpY3RoZVxuIgorIiAgICBzYW4gZmhlaWRobSBpbmEgc2hhaW7DrXRlYXIgaWFkIGFndXMgYSBtaWMgYW1ow6Fpbi5cbiIKKyIgICAgXG4iCisiICAgIFN0w6FkYXMgU2NvcnRoYTpcbiIKKyIgICAgQWlzY2h1aXJ0ZWFyIHJhdGggbXVyYSB0aHVndGFyIHJvZ2hhIG5lYW1oYmhhaWzDrSwgbsOzIG11cmEgdGhhcmxhw61vbm4gIgorImVhcnLDoWlkLFxuIgorIiAgICBuw7MgbXVyYSBiaGZ1aWwgYW4gYmhsYW9zYyBhZyByaXRoIGZlaWRobWUuIgorCisjOiBidWlsdGlucy5jOjU0MgorbXNnaWQgIiIKKyJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKKyIgICAgXG4iCisiICAgIERpc3BsYXkgdGhlIEFSR3Mgb24gdGhlIHN0YW5kYXJkIG91dHB1dCBmb2xsb3dlZCBieSBhIG5ld2xpbmUuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1uXHRkbyBub3QgYXBwZW5kIGEgbmV3bGluZVxuIgorIiAgICAgIC1lXHRlbmFibGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlIGZvbGxvd2luZyBiYWNrc2xhc2ggZXNjYXBlc1xuIgorIiAgICAgIC1FXHRleHBsaWNpdGx5IHN1cHByZXNzIGludGVycHJldGF0aW9uIG9mIGJhY2tzbGFzaCBlc2NhcGVzXG4iCisiICAgIFxuIgorIiAgICBgZWNobycgaW50ZXJwcmV0cyB0aGUgZm9sbG93aW5nIGJhY2tzbGFzaC1lc2NhcGVkIGNoYXJhY3RlcnM6XG4iCisiICAgICAgXFxhXHRhbGVydCAoYmVsbClcbiIKKyIgICAgICBcXGJcdGJhY2tzcGFjZVxuIgorIiAgICAgIFxcY1x0c3VwcHJlc3MgZnVydGhlciBvdXRwdXRcbiIKKyIgICAgICBcXGVcdGVzY2FwZSBjaGFyYWN0ZXJcbiIKKyIgICAgICBcXGZcdGZvcm0gZmVlZFxuIgorIiAgICAgIFxcblx0bmV3IGxpbmVcbiIKKyIgICAgICBcXHJcdGNhcnJpYWdlIHJldHVyblxuIgorIiAgICAgIFxcdFx0aG9yaXpvbnRhbCB0YWJcbiIKKyIgICAgICBcXHZcdHZlcnRpY2FsIHRhYlxuIgorIiAgICAgIFxcXFxcdGJhY2tzbGFzaFxuIgorIiAgICAgIFxcMG5ublx0dGhlIGNoYXJhY3RlciB3aG9zZSBBU0NJSSBjb2RlIGlzIE5OTiAob2N0YWwpLiAgTk5OIGNhbiBiZVxuIgorIiAgICBcdDAgdG8gMyBvY3RhbCBkaWdpdHNcbiIKKyIgICAgICBcXHhISFx0dGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgSEggKGhleGFkZWNpbWFsKS4gIEhIXG4iCisiICAgIFx0Y2FuIGJlIG9uZSBvciB0d28gaGV4IGRpZ2l0c1xuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisiU2Nyw61vYmggbmEgaGFyZ8OzaW50w60gYXIgYW4gbmduw6F0aGFzY2h1ci5cbiIKKyIgICAgXG4iCisiICAgIFRhaXNwZcOhaW4gbmEgaEFSR8OTSU5Uw40gYXIgYW4gbmduw6F0aGFzY2h1ciBhZ3VzIGzDrW5lIG51YSBpbmEgbmRpYWRoLlxuIgorIiAgICBcbiIKKyIgICAgUm9naGFubmE6XG4iCisiICAgICAgLW5cdG7DoSBoaWFyY2hlYW5nYWlsIGzDrW5lIG51YVxuIgorIiAgICAgIC1uXHRjdW1hc2FpZ2ggbmEgaMOpYWx1aXRoZSBjw7psc2xhaXNlICAgICAgIC1FXHRkw61jaHVtYXNhaWdoIG5hICIKKyJow6lhbHVpdGhlIGPDumxzbGFpc2UgICAgXG4iCisiICAgIFR1aWdlYW5uIFwiZWNob1wiIG5hIGNhcmFjaHRhaXIgw6lhbGFpdGhlIGxlIGPDumxzbGFpcyBzZW8gYSBsZWFuYXM6XG4iCisiICAgICAgXFxhXHRhaXJkZWFsbCAoY2xvZylcbiIKKyIgICAgICBcXGJcdGPDumxzcMOhc1xuIgorIiAgICAgIFxcY1x0Y3VyIGRlaXJlYWRoIGxlIGFzY2h1clxuIgorIiAgICAgIFxcZVx0Y2FyYWN0YXIgw6lhbGFpdGhlXG4iCisiICAgICAgXFxmXHRmb3RoYSBmb2lybWVcbiIKKyIgICAgICBcXG5cdGzDrW5lIG51YVxuIgorIiAgICAgIFxcclx0YWlzZmhpbGxlYWRoIGNhcnLDoWlzdGVcbiIKKyIgICAgICBcXHRcdHTDoWliIGNob3Rocm9tw6FuYWNoXG4iCisiICAgICAgXFx2XHR0w6FpYiBpbmdlYXJhY2hcbiIKKyIgICAgICBcXFxcXHRjw7psc2xhaXNcbiIKKyIgICAgICBcXDBubm5cdGFuIGNhcmFjaHRhciBsZWlzIGFuIGdjw7NkIEFTQ0lJIE5OTiAob2NodG7DoXJ0aGEpLiBJcyBmw6lpZGlyIGxlICIKKyJOTk5cbiIKKyIgICAgICAgIFx0YmhlaXRoIDAgZ28gMyBkaWdpdCBvY2h0bsOhcnRoYSBhciBmaGFkXG4iCisiICAgICAgXFx4SEhcdGFuIGNhcmFjaHRhciBvY2h0IG5naW90w6FuIGxlaXMgYW4gbHVhY2ggSEggKGhlaWNzaWRoZWFjaMO6bGFjaCkuICIKKyJJc1xuIgorIiAgICAgICAgXHRmw6lpZGlyIGxlIEhIIGJoZWl0aCAxIG7DsyAyIGRpZ2l0IGhlaWNzaWRoZWFjaMO6bGFjaCBhciBmaGFkLlxuIgorIiAgICBcbiIKKyIgICAgU3TDoWRhcyBTY29ydGhhOlxuIgorIiAgICBBaXNjaHVpcnRlYXIgcmF0aCBhY2ggaSBnY8OhcyBlYXJyw6FpZGUgc2Nyw61vZmEuIgorCisjOiBidWlsdGlucy5jOjU3NgorbXNnaWQgIiIKKyJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKKyIgICAgXG4iCisiICAgIERpc3BsYXkgdGhlIEFSR3Mgb24gdGhlIHN0YW5kYXJkIG91dHB1dCBmb2xsb3dlZCBieSBhIG5ld2xpbmUuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1uXHRkbyBub3QgYXBwZW5kIGEgbmV3bGluZVxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisiU2Nyw61vYmggbmEgaGFyZ8OzaW50w60gYXIgYW4gbmduw6F0aGFzY2h1ci5cbiIKKyIgICAgXG4iCisiICAgIFRhaXNwZcOhaW4gbmEgaEFSR8OTSU5Uw40gYXIgYW4gbmduw6F0aGFzY2h1ciBhZ3VzIGzDrW5lIG51YSBpbmEgbmRpYWlkaC5cbiIKKyIgICAgXG4iCisiICAgIFJvZ2hhbm5hOlxuIgorIiAgICAgIC1uXHRuw6EgaGlhcmNoZWFuZ2FpbCBsw61uZSBudWFcbiIKKyIgICAgXG4iCisiICAgIFN0w6FkYXMgU2NvcnRoYTpcbiIKKyIgICAgQWlzY2h1aXJ0ZWFyIHJhdGggYWNoIGkgZ2PDoXMgZWFycsOhaWRlIHNjcsOtb2ZhLiIKKworIzogYnVpbHRpbnMuYzo1OTEKK21zZ2lkICIiCisiRW5hYmxlIGFuZCBkaXNhYmxlIHNoZWxsIGJ1aWx0aW5zLlxuIgorIiAgICBcbiIKKyIgICAgRW5hYmxlcyBhbmQgZGlzYWJsZXMgYnVpbHRpbiBzaGVsbCBjb21tYW5kcy4gIERpc2FibGluZyBhbGxvd3MgeW91IHRvXG4iCisiICAgIGV4ZWN1dGUgYSBkaXNrIGNvbW1hbmQgd2hpY2ggaGFzIHRoZSBzYW1lIG5hbWUgYXMgYSBzaGVsbCBidWlsdGluXG4iCisiICAgIHdpdGhvdXQgdXNpbmcgYSBmdWxsIHBhdGhuYW1lLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtYVx0cHJpbnQgYSBsaXN0IG9mIGJ1aWx0aW5zIHNob3dpbmcgd2hldGhlciBvciBub3QgZWFjaCBpcyBlbmFibGVkXG4iCisiICAgICAgLW5cdGRpc2FibGUgZWFjaCBOQU1FIG9yIGRpc3BsYXkgYSBsaXN0IG9mIGRpc2FibGVkIGJ1aWx0aW5zXG4iCisiICAgICAgLXBcdHByaW50IHRoZSBsaXN0IG9mIGJ1aWx0aW5zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCisiICAgICAgLXNcdHByaW50IG9ubHkgdGhlIG5hbWVzIG9mIFBvc2l4IGBzcGVjaWFsJyBidWlsdGluc1xuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyBjb250cm9sbGluZyBkeW5hbWljIGxvYWRpbmc6XG4iCisiICAgICAgLWZcdExvYWQgYnVpbHRpbiBOQU1FIGZyb20gc2hhcmVkIG9iamVjdCBGSUxFTkFNRVxuIgorIiAgICAgIC1kXHRSZW1vdmUgYSBidWlsdGluIGxvYWRlZCB3aXRoIC1mXG4iCisiICAgIFxuIgorIiAgICBXaXRob3V0IG9wdGlvbnMsIGVhY2ggTkFNRSBpcyBlbmFibGVkLlxuIgorIiAgICBcbiIKKyIgICAgVG8gdXNlIHRoZSBgdGVzdCcgZm91bmQgaW4gJFBBVEggaW5zdGVhZCBvZiB0aGUgc2hlbGwgYnVpbHRpblxuIgorIiAgICB2ZXJzaW9uLCB0eXBlIGBlbmFibGUgLW4gdGVzdCcuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjYxOQorbXNnaWQgIiIKKyJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCisiICAgIFxuIgorIiAgICBDb21iaW5lIEFSR3MgaW50byBhIHNpbmdsZSBzdHJpbmcsIHVzZSB0aGUgcmVzdWx0IGFzIGlucHV0IHRvIHRoZSAiCisic2hlbGwsXG4iCisiICAgIGFuZCBleGVjdXRlIHRoZSByZXN1bHRpbmcgY29tbWFuZHMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBjb21tYW5kIG9yIHN1Y2Nlc3MgaWYgY29tbWFuZCBpcyBudWxsLiIKK21zZ3N0ciAiIgorIlJpdGggYXJnw7NpbnTDrSBtYXIgb3Jkw7ogYmxhb2lzY2UuXG4iCisiICAgIFxuIgorIiAgICBDdWlyIEFSR8OTSU5Uw40gaSBkdGVhZ2hyw6FuIGFtaMOhaW4sIMO6c8OhaWQgYW4gdG9yYWRoIG1hciBpb25jaHVyIGdvIGR0w61cbiIKKyIgICAgYW4gYmhsYW9zYywgYWd1cyByaXRoIG5hIGhvcmR1aXRoZSB0b3JhaWRoLlxuIgorIiAgICBcbiIKKyIgICAgU3TDoWRhcyBTY29ydGhhOlxuIgorIiAgICBBaXNjaHVpcnRlYXIgc3TDoWRhcyBzY29ydGhhIGFuIG9yZGFpdGhlLCBuw7MgcmF0aCBtw6FzIG9yZMO6IG5lYW1obml0aGVhY2ggIgorIsOpLiIKKworIzogYnVpbHRpbnMuYzo2MzEKK21zZ2lkICIiCisiUGFyc2Ugb3B0aW9uIGFyZ3VtZW50cy5cbiIKKyIgICAgXG4iCisiICAgIEdldG9wdHMgaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICBhcyBvcHRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgT1BUU1RSSU5HIGNvbnRhaW5zIHRoZSBvcHRpb24gbGV0dGVycyB0byBiZSByZWNvZ25pemVkOyBpZiBhIGxldHRlclxuIgorIiAgICBpcyBmb2xsb3dlZCBieSBhIGNvbG9uLCB0aGUgb3B0aW9uIGlzIGV4cGVjdGVkIHRvIGhhdmUgYW4gYXJndW1lbnQsXG4iCisiICAgIHdoaWNoIHNob3VsZCBiZSBzZXBhcmF0ZWQgZnJvbSBpdCBieSB3aGl0ZSBzcGFjZS5cbiIKKyIgICAgXG4iCisiICAgIEVhY2ggdGltZSBpdCBpcyBpbnZva2VkLCBnZXRvcHRzIHdpbGwgcGxhY2UgdGhlIG5leHQgb3B0aW9uIGluIHRoZVxuIgorIiAgICBzaGVsbCB2YXJpYWJsZSAkbmFtZSwgaW5pdGlhbGl6aW5nIG5hbWUgaWYgaXQgZG9lcyBub3QgZXhpc3QsIGFuZFxuIgorIiAgICB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJndW1lbnQgdG8gYmUgcHJvY2Vzc2VkIGludG8gdGhlIHNoZWxsXG4iCisiICAgIHZhcmlhYmxlIE9QVElORC4gIE9QVElORCBpcyBpbml0aWFsaXplZCB0byAxIGVhY2ggdGltZSB0aGUgc2hlbGwgb3JcbiIKKyIgICAgYSBzaGVsbCBzY3JpcHQgaXMgaW52b2tlZC4gIFdoZW4gYW4gb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50LFxuIgorIiAgICBnZXRvcHRzIHBsYWNlcyB0aGF0IGFyZ3VtZW50IGludG8gdGhlIHNoZWxsIHZhcmlhYmxlIE9QVEFSRy5cbiIKKyIgICAgXG4iCisiICAgIGdldG9wdHMgcmVwb3J0cyBlcnJvcnMgaW4gb25lIG9mIHR3byB3YXlzLiAgSWYgdGhlIGZpcnN0IGNoYXJhY3RlclxuIgorIiAgICBvZiBPUFRTVFJJTkcgaXMgYSBjb2xvbiwgZ2V0b3B0cyB1c2VzIHNpbGVudCBlcnJvciByZXBvcnRpbmcuICBJblxuIgorIiAgICB0aGlzIG1vZGUsIG5vIGVycm9yIG1lc3NhZ2VzIGFyZSBwcmludGVkLiAgSWYgYW4gaW52YWxpZCBvcHRpb24gaXNcbiIKKyIgICAgc2VlbiwgZ2V0b3B0cyBwbGFjZXMgdGhlIG9wdGlvbiBjaGFyYWN0ZXIgZm91bmQgaW50byBPUFRBUkcuICBJZiBhXG4iCisiICAgIHJlcXVpcmVkIGFyZ3VtZW50IGlzIG5vdCBmb3VuZCwgZ2V0b3B0cyBwbGFjZXMgYSAnOicgaW50byBOQU1FIGFuZFxuIgorIiAgICBzZXRzIE9QVEFSRyB0byB0aGUgb3B0aW9uIGNoYXJhY3RlciBmb3VuZC4gIElmIGdldG9wdHMgaXMgbm90IGluXG4iCisiICAgIHNpbGVudCBtb2RlLCBhbmQgYW4gaW52YWxpZCBvcHRpb24gaXMgc2VlbiwgZ2V0b3B0cyBwbGFjZXMgJz8nIGludG9cbiIKKyIgICAgTkFNRSBhbmQgdW5zZXRzIE9QVEFSRy4gIElmIGEgcmVxdWlyZWQgYXJndW1lbnQgaXMgbm90IGZvdW5kLCBhICc/J1xuIgorIiAgICBpcyBwbGFjZWQgaW4gTkFNRSwgT1BUQVJHIGlzIHVuc2V0LCBhbmQgYSBkaWFnbm9zdGljIG1lc3NhZ2UgaXNcbiIKKyIgICAgcHJpbnRlZC5cbiIKKyIgICAgXG4iCisiICAgIElmIHRoZSBzaGVsbCB2YXJpYWJsZSBPUFRFUlIgaGFzIHRoZSB2YWx1ZSAwLCBnZXRvcHRzIGRpc2FibGVzIHRoZVxuIgorIiAgICBwcmludGluZyBvZiBlcnJvciBtZXNzYWdlcywgZXZlbiBpZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mXG4iCisiICAgIE9QVFNUUklORyBpcyBub3QgYSBjb2xvbi4gIE9QVEVSUiBoYXMgdGhlIHZhbHVlIDEgYnkgZGVmYXVsdC5cbiIKKyIgICAgXG4iCisiICAgIEdldG9wdHMgbm9ybWFsbHkgcGFyc2VzIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgKCQwIC0gJDkpLCBidXQgaWZcbiIKKyIgICAgbW9yZSBhcmd1bWVudHMgYXJlIGdpdmVuLCB0aGV5IGFyZSBwYXJzZWQgaW5zdGVhZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgYW4gb3B0aW9uIGlzIGZvdW5kOyBmYWlscyBpZiB0aGUgZW5kIG9mIG9wdGlvbnMgaXNcbiIKKyIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjY3MworbXNnaWQgIiIKKyJSZXBsYWNlIHRoZSBzaGVsbCB3aXRoIHRoZSBnaXZlbiBjb21tYW5kLlxuIgorIiAgICBcbiIKKyIgICAgRXhlY3V0ZSBDT01NQU5ELCByZXBsYWNpbmcgdGhpcyBzaGVsbCB3aXRoIHRoZSBzcGVjaWZpZWQgcHJvZ3JhbS5cbiIKKyIgICAgQVJHVU1FTlRTIGJlY29tZSB0aGUgYXJndW1lbnRzIHRvIENPTU1BTkQuICBJZiBDT01NQU5EIGlzIG5vdCAiCisic3BlY2lmaWVkLFxuIgorIiAgICBhbnkgcmVkaXJlY3Rpb25zIHRha2UgZWZmZWN0IGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtYSBuYW1lXHRwYXNzIE5BTUUgYXMgdGhlIHplcm90aCBhcmd1bWVudCB0byBDT01NQU5EXG4iCisiICAgICAgLWNcdFx0ZXhlY3V0ZSBDT01NQU5EIHdpdGggYW4gZW1wdHkgZW52aXJvbm1lbnRcbiIKKyIgICAgICAtbFx0XHRwbGFjZSBhIGRhc2ggaW4gdGhlIHplcm90aCBhcmd1bWVudCB0byBDT01NQU5EXG4iCisiICAgIFxuIgorIiAgICBJZiB0aGUgY29tbWFuZCBjYW5ub3QgYmUgZXhlY3V0ZWQsIGEgbm9uLWludGVyYWN0aXZlIHNoZWxsIGV4aXRzLCAiCisidW5sZXNzXG4iCisiICAgIHRoZSBzaGVsbCBvcHRpb24gYGV4ZWNmYWlsJyBpcyBzZXQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBDT01NQU5EIGlzIG5vdCBmb3VuZCBvciBhIHJlZGlyZWN0aW9uIGVycm9yICIKKyJvY2N1cnMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zLmM6Njk0Cittc2dpZCAiIgorIkV4aXQgdGhlIHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdHMgdGhlIHNoZWxsIHdpdGggYSBzdGF0dXMgb2YgTi4gIElmIE4gaXMgb21pdHRlZCwgdGhlIGV4aXQgc3RhdHVzXG4iCisiICAgIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKyJTY29pciBkZW4gYmhsYW9zYy5cbiIKKyIgICAgXG4iCisiICAgIFNjb2lyZWFubiBkZW4gYmhsYW9zYyBsZSBzdMOhZGFzIE4uIE3DoSBmaMOhZ3RhciBOIGFyIGzDoXIsIGlzIMOpIHN0w6FkYXNcbiIKKyIgICAgYW4gY2jDqWFkIG9yZGFpdGhlIGRlaXJlYW5haWdoIGFuIHN0w6FkYXMgc2NvcnRoYS4iCisKKyM6IGJ1aWx0aW5zLmM6NzAzCittc2dpZCAiIgorIkV4aXQgYSBsb2dpbiBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXRzIGEgbG9naW4gc2hlbGwgd2l0aCBleGl0IHN0YXR1cyBOLiAgUmV0dXJucyBhbiBlcnJvciBpZiBub3QgIgorImV4ZWN1dGVkXG4iCisiICAgIGluIGEgbG9naW4gc2hlbGwuIgorbXNnc3RyICIiCisiU2NvaXIgZGUgYmhsYW9zYyBsb2fDoWxhIGlzdGVhY2guXG4iCisiICAgIFxuIgorIiAgICBTY29pcmVhbm4gZGUgYmhsYW9zYyBsb2fDoWxhIGlzdGVhY2ggbGUgc3TDoWRhcyBzY29ydGhhIE4uIEFpc2NodWlydGVhclxuIgorIiAgICBlYXJyw6FpZCBtw6Egcml0ZWFyIMOpIGkgbWJsYW9zYyBuYWNoIGJsYW9zYyBsb2fDoWxhIGlzdGVhY2ggw60uIgorCisjOiBidWlsdGlucy5jOjcxMworbXNnaWQgIiIKKyJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgorIiAgICBcbiIKKyIgICAgZmMgaXMgdXNlZCB0byBsaXN0IG9yIGVkaXQgYW5kIHJlLWV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSAiCisibGlzdC5cbiIKKyIgICAgRklSU1QgYW5kIExBU1QgY2FuIGJlIG51bWJlcnMgc3BlY2lmeWluZyB0aGUgcmFuZ2UsIG9yIEZJUlNUIGNhbiBiZSBhXG4iCisiICAgIHN0cmluZywgd2hpY2ggbWVhbnMgdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgYmVnaW5uaW5nIHdpdGggdGhhdFxuIgorIiAgICBzdHJpbmcuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1lIEVOQU1FXHRzZWxlY3Qgd2hpY2ggZWRpdG9yIHRvIHVzZS4gIERlZmF1bHQgaXMgRkNFRElULCB0aGVuICIKKyJFRElUT1IsXG4iCisiICAgIFx0XHR0aGVuIHZpXG4iCisiICAgICAgLWwgXHRsaXN0IGxpbmVzIGluc3RlYWQgb2YgZWRpdGluZ1xuIgorIiAgICAgIC1uXHRvbWl0IGxpbmUgbnVtYmVycyB3aGVuIGxpc3RpbmdcbiIKKyIgICAgICAtclx0cmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIGxpbmVzIChuZXdlc3QgbGlzdGVkIGZpcnN0KVxuIgorIiAgICBcbiIKKyIgICAgV2l0aCB0aGUgYGZjIC1zIFtwYXQ9cmVwIC4uLl0gW2NvbW1hbmRdJyBmb3JtYXQsIENPTU1BTkQgaXNcbiIKKyIgICAgcmUtZXhlY3V0ZWQgYWZ0ZXIgdGhlIHN1YnN0aXR1dGlvbiBPTEQ9TkVXIGlzIHBlcmZvcm1lZC5cbiIKKyIgICAgXG4iCisiICAgIEEgdXNlZnVsIGFsaWFzIHRvIHVzZSB3aXRoIHRoaXMgaXMgcj0nZmMgLXMnLCBzbyB0aGF0IHR5cGluZyBgciBjYydcbiIKKyIgICAgcnVucyB0aGUgbGFzdCBjb21tYW5kIGJlZ2lubmluZyB3aXRoIGBjYycgYW5kIHR5cGluZyBgcicgcmUtZXhlY3V0ZXNcbiIKKyIgICAgdGhlIGxhc3QgY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3Mgb3Igc3RhdHVzIG9mIGV4ZWN1dGVkIGNvbW1hbmQ7IG5vbi16ZXJvIGlmIGFuIGVycm9yICIKKyJvY2N1cnMuIgorbXNnc3RyICIiCisiVGFpc3Blw6FpbiBuw7Mgcml0aCBvcmR1aXRoZSDDs24gbGlvc3RhIHN0YWlyZS5cbiIKKyIgICAgXG4iCisiICAgIMOac8OhaWR0ZWFyIGZjIGNodW4gb3JkdWl0aGUgw7NuIGxpb3N0YSBzdGFpcmUgYSBsaW9zdMO6LCBhIGNodXIgaW4gZWFnYXIsICIKKyJuw7MgYSBhdGgtcml0aC5cbiIKKyIgICAgTcOhcyB1aW1ocmVhY2hhIGlhZCBDw4lBRCBhZ3VzIERFSVJFQU5BQ0gsIHNvbnJhw61vbm4gc2lhZCBhbiByYW9uLCBuw7MgaXNcbiIKKyIgICAgZsOpaWRpciBsZSBDw4lBRCBiaGVpdGggaW5hIHRoZWFnaHLDoW4sIHJ1ZCBhIGNoaWFsbGHDrW9ubiBhbiB0LW9yZMO6IGlzICIKKyJkZWlyZWFuYcOtIGFcbiIKKyIgICAgdGhvc2HDrW9ubiBsZWlzIGFuIHRlYWdocsOhbiBzaW4uXG4iCisiICAgIFxuIgorIiAgICBSb2doYW5uYTpcbiIKKyIgICAgICAtZSBBSU5NX0VcdHJvZ2huYWlnaCBhbiBjbMOhciBlYWdhcnRow7NyYSBhdMOhIGxlIGjDunPDoWlkLiBGQ0VESVQgYW4gIgorInLDqWFtaHNob2Nyw7osXG4iCisiICAgICAgICAgICAgICAgXHRhbnNpbiBFRElUT1IsIGFndXMgYW5zaW4gdmkuXG4iCisiICAgICAgLW5cdGbDoWcgdWltaHJlYWNoYSBuYSBsw61udGUgYXIgbMOhciBhZ3VzIGxpb3N0YSDDoSB0aGFpc3Blw6FpbnRcbiIKKyIgICAgICAtclx0YWlzaW9tcGFpZ2ggb3JkIG5hIGzDrW50ZSAoLmkuIGxpb3N0YWlnaCBhbiBjZWFubiBpcyBudWHDrSBhciBkdMO6cylcbiIKKyIgICAgXG4iCisiICAgIFNhbiBmaG9ybcOhaWQgXCJmYyAtcyBbUEFUUsOaTj1JT05BREHDjSAuLi5dIFtPUkTDml1cIiwgYXRoLXJpdGVhciBPUkTDmlxuIgorIiAgICB0YXIgw6lpcyBhbiB0LWlvbmFkw7ogU0VBTj1OVUEgYSBkaMOpYW5hbWguXG4iCisiICAgIFxuIgorIiAgICBBaWxpYXMgw7pzw6FpZGVhY2ggaXMgZWEgcj0nZmMgLXMnLCBzYSBjaGFvaSBnbyByaXRoZWFubiBcInIgY2NcIiBhbiB0LSIKKyJvcmTDuiBpcyBkZWlyZWFuYcOtXG4iCisiICAgIGEgdGhvc2HDrW9ubiBsZSBcImNjXCIsIGFndXMgYXRoLXJpdGhlYW5uIFwiclwiIGFuIHQtb3Jkw7ogaXMgZGVpcmVhbmHDrS5cbiIKKyIgICAgXG4iCisiICAgIFN0w6FkYXMgU2NvcnRoYTpuXFwgICAgIEFpc2NodWlydGVhciByYXRoIG7DsyBzdMOhZGFzIGFuIG9yZGFpdGhlIHJpdGU7ICIKKyJuZWFtaC1uaWFsYXMgbcOhIHRoYXJsYcOtb25uIGVhcnLDoWlkLiIKKworIzogYnVpbHRpbnMuYzo3NDMKK21zZ2lkICIiCisiTW92ZSBqb2IgdG8gdGhlIGZvcmVncm91bmQuXG4iCisiICAgIFxuIgorIiAgICBQbGFjZSB0aGUgam9iIGlkZW50aWZpZWQgYnkgSk9CX1NQRUMgaW4gdGhlIGZvcmVncm91bmQsIG1ha2luZyBpdCB0aGVcbiIKKyIgICAgY3VycmVudCBqb2IuICBJZiBKT0JfU1BFQyBpcyBub3QgcHJlc2VudCwgdGhlIHNoZWxsJ3Mgbm90aW9uIG9mIHRoZVxuIgorIiAgICBjdXJyZW50IGpvYiBpcyB1c2VkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFN0YXR1cyBvZiBjb21tYW5kIHBsYWNlZCBpbiBmb3JlZ3JvdW5kLCBvciBmYWlsdXJlIGlmIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyJCb2cgamFiIGdvIGR0w60gYW4gdHVscmEuXG4iCisiICAgIFxuIgorIiAgICBDdWlyIGFuIGphYiBhIHNob25yYcOtdGVhciBsZSBTT05Sw5pfSkFCIHNhIHR1bHJhIGFndXMgw6kgbWFyIGFuIGphYiAiCisicmVhdGhhLlxuIgorIiAgICBNdXJhIGJoZnVpbCBTT05Sw5pfSkFCIGFubiwgw7pzw6FpZHRlYXIgY2liw6kgamFiIGF0w6EgcmVhdGhhIGRlIHLDqWlyIG5hICIKKyJibGFvaXNjZS5cbiIKKyIgICAgXG4iCisiICAgIFN0w6FkYXMgU2NvcnRoYTpcbiIKKyIgICAgU3TDoWRhcyBhbiBvcmRhaXRoZSBjdXJ0aGEgc2EgdHVscmEsIG7DsyB0ZWlwIG3DoSB0aGFybGHDrW9ubiBlYXJyw6FpZC4iCisKKyM6IGJ1aWx0aW5zLmM6NzU4Cittc2dpZCAiIgorIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKKyIgICAgXG4iCisiICAgIFBsYWNlIHRoZSBqb2JzIGlkZW50aWZpZWQgYnkgZWFjaCBKT0JfU1BFQyBpbiB0aGUgYmFja2dyb3VuZCwgYXMgaWYgIgorInRoZXlcbiIKKyIgICAgaGFkIGJlZW4gc3RhcnRlZCB3aXRoIGAmJy4gIElmIEpPQl9TUEVDIGlzIG5vdCBwcmVzZW50LCB0aGUgc2hlbGwncyAiCisibm90aW9uXG4iCisiICAgIG9mIHRoZSBjdXJyZW50IGpvYiBpcyB1c2VkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorIkJvZyBqYWJhbm5hIGdvIGR0w60gYW4gY8O6bHJhLlxuIgorIiAgICBcbiIKKyIgICAgQ3VpciBhbiBqYWIgYSBzaG9ucmHDrXRlYXIgbGUgU09OUsOaX0pBQiBzYSBjaMO6bHJhIGNvc8O6aWwgbGUgw6kgYSB0aG9zw7ogbGUgIgorIlwiJlwiLlxuIgorIiAgICBNdXJhIGJoZnVpbCBTT05Sw5pfSkFCIGFubiwgw7pzw6FpZHRlYXIgY2liw6kgamFiIGF0w6EgcmVhdGhhIGRlIHLDqWlyIG5hICIKKyJibGFvaXNjZS5cbiIKKyIgICAgXG4iCisiICAgIFN0w6FkYXMgU2NvcnRoYTpcbiIKKyIgICAgQWlzY2h1aXJ0ZWFyIHJhdGggYWNoIG3DoSB0aGFybGHDrW9ubiBlYXJyw6FpZCBuw7MgbXVyYSBiaGZ1aWxcbiIKKyIgICAgcmlhbMO6IGphYmFubmEgY3VtYXNhaXRoZS4iCisKKyM6IGJ1aWx0aW5zLmM6NzcyCittc2dpZCAiIgorIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCisiICAgIFxuIgorIiAgICBEZXRlcm1pbmUgYW5kIHJlbWVtYmVyIHRoZSBmdWxsIHBhdGhuYW1lIG9mIGVhY2ggY29tbWFuZCBOQU1FLiAgSWZcbiIKKyIgICAgbm8gYXJndW1lbnRzIGFyZSBnaXZlbiwgaW5mb3JtYXRpb24gYWJvdXQgcmVtZW1iZXJlZCBjb21tYW5kcyBpcyAiCisiZGlzcGxheWVkLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZFx0XHRmb3JnZXQgdGhlIHJlbWVtYmVyZWQgbG9jYXRpb24gb2YgZWFjaCBOQU1FXG4iCisiICAgICAgLWxcdFx0ZGlzcGxheSBpbiBhIGZvcm1hdCB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXRcbiIKKyIgICAgICAtcCBwYXRobmFtZVx0dXNlIFBBVEhOQU1FIGlzIHRoZSBmdWxsIHBhdGhuYW1lIG9mIE5BTUVcbiIKKyIgICAgICAtclx0XHRmb3JnZXQgYWxsIHJlbWVtYmVyZWQgbG9jYXRpb25zXG4iCisiICAgICAgLXRcdFx0cHJpbnQgdGhlIHJlbWVtYmVyZWQgbG9jYXRpb24gb2YgZWFjaCBOQU1FLCBwcmVjZWRpbmdcbiIKKyIgICAgXHRcdGVhY2ggbG9jYXRpb24gd2l0aCB0aGUgY29ycmVzcG9uZGluZyBOQU1FIGlmIG11bHRpcGxlXG4iCisiICAgIFx0XHROQU1FcyBhcmUgZ2l2ZW5cbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgIE5BTUVcdFx0RWFjaCBOQU1FIGlzIHNlYXJjaGVkIGZvciBpbiAkUEFUSCBhbmQgYWRkZWQgdG8gdGhlIGxpc3RcbiIKKyIgICAgXHRcdG9mIHJlbWVtYmVyZWQgY29tbWFuZHMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzo3OTcKK21zZ2lkICIiCisiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLlxuIgorIiAgICBcbiIKKyIgICAgRGlzcGxheXMgYnJpZWYgc3VtbWFyaWVzIG9mIGJ1aWx0aW4gY29tbWFuZHMuICBJZiBQQVRURVJOIGlzXG4iCisiICAgIHNwZWNpZmllZCwgZ2l2ZXMgZGV0YWlsZWQgaGVscCBvbiBhbGwgY29tbWFuZHMgbWF0Y2hpbmcgUEFUVEVSTixcbiIKKyIgICAgb3RoZXJ3aXNlIHRoZSBsaXN0IG9mIGhlbHAgdG9waWNzIGlzIHByaW50ZWQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1kXHRvdXRwdXQgc2hvcnQgZGVzY3JpcHRpb24gZm9yIGVhY2ggdG9waWNcbiIKKyIgICAgICAtbVx0ZGlzcGxheSB1c2FnZSBpbiBwc2V1ZG8tbWFucGFnZSBmb3JtYXRcbiIKKyIgICAgICAtc1x0b3V0cHV0IG9ubHkgYSBzaG9ydCB1c2FnZSBzeW5vcHNpcyBmb3IgZWFjaCB0b3BpYyBtYXRjaGluZ1xuIgorIiAgICBcdFBBVFRFUk5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICBQQVRURVJOXHRQYXR0ZXJuIHNwZWNpZml5aW5nIGEgaGVscCB0b3BpY1xuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgUEFUVEVSTiBpcyBub3QgZm91bmQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgIgorImdpdmVuLiIKK21zZ3N0ciAiIgorIlRhaXNwZcOhaW4gZW9sYXMgbWFpZGlyIGxlIGhvcmR1aXRoZSBpb25zdWl0ZS5cbiIKKyIgICAgXG4iCisiICAgIFRhaXNwZcOhbnRhciBhY2hvaW1yw60gbmEgbi1vcmR1aXRoZSBpb25zdWl0ZS4gTcOhIHNob25yYcOtdGVhciBQQVRSw5pOLFxuIgorIiAgICB0YWlzcGXDoW50YXIgY2FiaGFpciBjaHVpbXNpdGhlYWNoIGZhb2kgZ2FjaCBvcmTDuiBhIG1oZWFpdHNlw6FsYW5uICIKKyJQQVRSw5pOO1xuIgorIiAgICBpIGdjw6FzYW5uYSBlaWxlIHRhaXNwZcOhbnRhciBsaW9zdGEgbmEgbi3DoWJoYXIgY2FiaHJhY2guXG4iCisiICAgIFxuIgorIiAgICBSb2doYW5uYTpcbiIKKyIgICAgICAtZFx0dGFpc3Blw6FpbiBjdXIgc8Otb3MgZ2FpcmlkIGFyIGdhY2ggw6FiaGFyXG4iCisiICAgICAgLW1cdHRhaXNwZcOhaW4gw7pzw6FpZCBpIGJoZm9ybcOhaWQgY29zw7ppbCBsZWlzIGFuIGzDoW1obGVhYmhhciBtYW4oMSlcbiIKKyIgICAgICAtc1x0bsOhIHRhaXNwZcOhaW4gYWNoIGFjaG9pbXJlIGdhaXJpZCDDunPDoWlkZSBsZSBoYWdoYWlkaCBnYWNoIMOhYmhhaXIgYVxuIgorIiAgICAgICAgXHRtaGVhdHNlw6FsYW5uIFBBVFLDmk5cbiIKKyIgICAgXG4iCisiICAgIEFyZ8OzaW50w606XG4iCisiICAgICAgUEFUUsOaTlx0cGF0csO6biBhIHNob25yYcOtb25uIMOhYmhhciBjYWJocmFjaFxuIgorIiAgICBcbiIKKyIgICAgU3TDoWRhcyBTY29ydGhhOlxuIgorIiAgICBBaXNjaHVpcnRlYXIgcmF0aCBhY2ggc2EgY2jDoXMgbmFjaCBuLWFpbXPDrXRlYXIgUEFUUsOaTiBuw7MgZ28gZHR1Z3RhclxuIgorIiAgICByb2doYSBuZWFtaGJoYWlsw60uIgorCisjOiBidWlsdGlucy5jOjgyMQorbXNnaWQgIiIKKyJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgdGhlIGhpc3RvcnkgbGlzdC5cbiIKKyIgICAgXG4iCisiICAgIERpc3BsYXkgdGhlIGhpc3RvcnkgbGlzdCB3aXRoIGxpbmUgbnVtYmVycywgcHJlZml4aW5nIGVhY2ggbW9kaWZpZWRcbiIKKyIgICAgZW50cnkgd2l0aCBhIGAqJy4gIEFuIGFyZ3VtZW50IG9mIE4gbGlzdHMgb25seSB0aGUgbGFzdCBOIGVudHJpZXMuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1jXHRjbGVhciB0aGUgaGlzdG9yeSBsaXN0IGJ5IGRlbGV0aW5nIGFsbCBvZiB0aGUgZW50cmllc1xuIgorIiAgICAgIC1kIG9mZnNldFx0ZGVsZXRlIHRoZSBoaXN0b3J5IGVudHJ5IGF0IG9mZnNldCBPRkZTRVQuXG4iCisiICAgIFxuIgorIiAgICAgIC1hXHRhcHBlbmQgaGlzdG9yeSBsaW5lcyBmcm9tIHRoaXMgc2Vzc2lvbiB0byB0aGUgaGlzdG9yeSBmaWxlXG4iCisiICAgICAgLW5cdHJlYWQgYWxsIGhpc3RvcnkgbGluZXMgbm90IGFscmVhZHkgcmVhZCBmcm9tIHRoZSBoaXN0b3J5IGZpbGVcbiIKKyIgICAgICAtclx0cmVhZCB0aGUgaGlzdG9yeSBmaWxlIGFuZCBhcHBlbmQgdGhlIGNvbnRlbnRzIHRvIHRoZSBoaXN0b3J5XG4iCisiICAgIFx0bGlzdFxuIgorIiAgICAgIC13XHR3cml0ZSB0aGUgY3VycmVudCBoaXN0b3J5IHRvIHRoZSBoaXN0b3J5IGZpbGVcbiIKKyIgICAgXHRhbmQgYXBwZW5kIHRoZW0gdG8gdGhlIGhpc3RvcnkgbGlzdFxuIgorIiAgICBcbiIKKyIgICAgICAtcFx0cGVyZm9ybSBoaXN0b3J5IGV4cGFuc2lvbiBvbiBlYWNoIEFSRyBhbmQgZGlzcGxheSB0aGUgcmVzdWx0XG4iCisiICAgIFx0d2l0aG91dCBzdG9yaW5nIGl0IGluIHRoZSBoaXN0b3J5IGxpc3RcbiIKKyIgICAgICAtc1x0YXBwZW5kIHRoZSBBUkdzIHRvIHRoZSBoaXN0b3J5IGxpc3QgYXMgYSBzaW5nbGUgZW50cnlcbiIKKyIgICAgXG4iCisiICAgIElmIEZJTEVOQU1FIGlzIGdpdmVuLCBpdCBpcyB1c2VkIGFzIHRoZSBoaXN0b3J5IGZpbGUuICBPdGhlcndpc2UsXG4iCisiICAgIGlmICRISVNURklMRSBoYXMgYSB2YWx1ZSwgdGhhdCBpcyB1c2VkLCBlbHNlIH4vLmJhc2hfaGlzdG9yeS5cbiIKKyIgICAgXG4iCisiICAgIElmIHRoZSAkSElTVFRJTUVGT1JNQVQgdmFyaWFibGUgaXMgc2V0IGFuZCBub3QgbnVsbCwgaXRzIHZhbHVlIGlzIHVzZWRcbiIKKyIgICAgYXMgYSBmb3JtYXQgc3RyaW5nIGZvciBzdHJmdGltZSgzKSB0byBwcmludCB0aGUgdGltZSBzdGFtcCBhc3NvY2lhdGVkXG4iCisiICAgIHdpdGggZWFjaCBkaXNwbGF5ZWQgaGlzdG9yeSBlbnRyeS4gIE5vIHRpbWUgc3RhbXBzIGFyZSBwcmludGVkICIKKyJvdGhlcndpc2UuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zLmM6ODU3Cittc2dpZCAiIgorIkRpc3BsYXkgc3RhdHVzIG9mIGpvYnMuXG4iCisiICAgIFxuIgorIiAgICBMaXN0cyB0aGUgYWN0aXZlIGpvYnMuICBKT0JTUEVDIHJlc3RyaWN0cyBvdXRwdXQgdG8gdGhhdCBqb2IuXG4iCisiICAgIFdpdGhvdXQgb3B0aW9ucywgdGhlIHN0YXR1cyBvZiBhbGwgYWN0aXZlIGpvYnMgaXMgZGlzcGxheWVkLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtbFx0bGlzdHMgcHJvY2VzcyBJRHMgaW4gYWRkaXRpb24gdG8gdGhlIG5vcm1hbCBpbmZvcm1hdGlvblxuIgorIiAgICAgIC1uXHRsaXN0IG9ubHkgcHJvY2Vzc2VzIHRoYXQgaGF2ZSBjaGFuZ2VkIHN0YXR1cyBzaW5jZSB0aGUgbGFzdFxuIgorIiAgICBcdG5vdGlmaWNhdGlvblxuIgorIiAgICAgIC1wXHRsaXN0cyBwcm9jZXNzIElEcyBvbmx5XG4iCisiICAgICAgLXJcdHJlc3RyaWN0IG91dHB1dCB0byBydW5uaW5nIGpvYnNcbiIKKyIgICAgICAtc1x0cmVzdHJpY3Qgb3V0cHV0IHRvIHN0b3BwZWQgam9ic1xuIgorIiAgICBcbiIKKyIgICAgSWYgLXggaXMgc3VwcGxpZWQsIENPTU1BTkQgaXMgcnVuIGFmdGVyIGFsbCBqb2Igc3BlY2lmaWNhdGlvbnMgdGhhdFxuIgorIiAgICBhcHBlYXIgaW4gQVJHUyBoYXZlIGJlZW4gcmVwbGFjZWQgd2l0aCB0aGUgcHJvY2VzcyBJRCBvZiB0aGF0IGpvYidzXG4iCisiICAgIHByb2Nlc3MgZ3JvdXAgbGVhZGVyLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLlxuIgorIiAgICBJZiAteCBpcyB1c2VkLCByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjg4NAorbXNnaWQgIiIKKyJSZW1vdmUgam9icyBmcm9tIGN1cnJlbnQgc2hlbGwuXG4iCisiICAgIFxuIgorIiAgICBSZW1vdmVzIGVhY2ggSk9CU1BFQyBhcmd1bWVudCBmcm9tIHRoZSB0YWJsZSBvZiBhY3RpdmUgam9icy4gIFdpdGhvdXRcbiIKKyIgICAgYW55IEpPQlNQRUNzLCB0aGUgc2hlbGwgdXNlcyBpdHMgbm90aW9uIG9mIHRoZSBjdXJyZW50IGpvYi5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWFcdHJlbW92ZSBhbGwgam9icyBpZiBKT0JTUEVDIGlzIG5vdCBzdXBwbGllZFxuIgorIiAgICAgIC1oXHRtYXJrIGVhY2ggSk9CU1BFQyBzbyB0aGF0IFNJR0hVUCBpcyBub3Qgc2VudCB0byB0aGUgam9iIGlmIHRoZVxuIgorIiAgICBcdHNoZWxsIHJlY2VpdmVzIGEgU0lHSFVQXG4iCisiICAgICAgLXJcdHJlbW92ZSBvbmx5IHJ1bm5pbmcgam9ic1xuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCittc2dzdHIgIiIKKyJCYWluIGphYmFubmEgZGVuIG1ibGFvc2MgcmVhdGhhLlxuIgorIiAgICBcbiIKKyIgICAgQmFpbnRlYXIgZ2FjaCBTT05Sw5pfSkFCIGRlbiB0w6FibGEgZGUgamFiYW5uYSBnbsOtb21oYWNoYS4gR2FuXG4iCisiICAgIFNPTlLDml9KQUIgYXIgYml0aCDDunPDoWlkdGVhciBhbiBqYWIgYXTDoSByZWF0aGEgZGFyIGxlaXMgYW4gbWJsYW9zYy5cbiIKKyIgICAgXG4iCisiICAgIFJvZ2hhbm5hOlxuIgorIiAgICAgIC1hXHRiYWluIGdhY2ggamFiIG11cmEgc2hvbMOhcmHDrXRlYXIgU09OUsOaX0pBQlxuIgorIiAgICAgIC1oXHRtYXJjw6FpbCBnYWNoIFNPTlLDml9KQUIgc2EgY2hhb2kgbmFjaCBzZW9sZmFyIFNJR0hVUCBjaHVpZ2UgbcOhXG4iCisiICAgICAgICBcdGZoYWlnaGVhbm4gYW4gYmhsYW9zYyBmw6lpbiBTSUdIVVBcbiIKKyIgICAgICAtclx0bsOhIGJhaW4gYWNoIGphYmFubmEgYXTDoSBhZyByaXRoXG4iCisiICAgIFxuIgorIiAgICBTdMOhZGFzIFNjb3J0aGE6XG4iCisiICAgIEFpc2NodWlydGVhciByYXRoIGFjaCBzYSBjaMOhcyBnbyBkdHVndGFyIHJvZ2hhIG5lYW1oYmhhaWzDrVxuIgorIiAgICBuw7MgU09OUsOaX0pBQiBuZWFtaGJoYWlsw60uIgorCisjOiBidWlsdGlucy5jOjkwMworbXNnaWQgIiIKKyJTZW5kIGEgc2lnbmFsIHRvIGEgam9iLlxuIgorIiAgICBcbiIKKyIgICAgU2VuZCB0aGUgcHJvY2Vzc2VzIGlkZW50aWZpZWQgYnkgUElEIG9yIEpPQlNQRUMgdGhlIHNpZ25hbCBuYW1lZCBieVxuIgorIiAgICBTSUdTUEVDIG9yIFNJR05VTS4gIElmIG5laXRoZXIgU0lHU1BFQyBub3IgU0lHTlVNIGlzIHByZXNlbnQsIHRoZW5cbiIKKyIgICAgU0lHVEVSTSBpcyBhc3N1bWVkLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtcyBzaWdcdFNJRyBpcyBhIHNpZ25hbCBuYW1lXG4iCisiICAgICAgLW4gc2lnXHRTSUcgaXMgYSBzaWduYWwgbnVtYmVyXG4iCisiICAgICAgLWxcdGxpc3QgdGhlIHNpZ25hbCBuYW1lczsgaWYgYXJndW1lbnRzIGZvbGxvdyBgLWwnIHRoZXkgYXJlXG4iCisiICAgIFx0YXNzdW1lZCB0byBiZSBzaWduYWwgbnVtYmVycyBmb3Igd2hpY2ggbmFtZXMgc2hvdWxkIGJlIGxpc3RlZFxuIgorIiAgICBcbiIKKyIgICAgS2lsbCBpcyBhIHNoZWxsIGJ1aWx0aW4gZm9yIHR3byByZWFzb25zOiBpdCBhbGxvd3Mgam9iIElEcyB0byBiZSB1c2VkXG4iCisiICAgIGluc3RlYWQgb2YgcHJvY2VzcyBJRHMsIGFuZCBhbGxvd3MgcHJvY2Vzc2VzIHRvIGJlIGtpbGxlZCBpZiB0aGUgbGltaXRcbiIKKyIgICAgb24gcHJvY2Vzc2VzIHRoYXQgeW91IGNhbiBjcmVhdGUgaXMgcmVhY2hlZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzo5MjYKK21zZ2lkICIiCisiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy5cbiIKKyIgICAgXG4iCisiICAgIEV2YWx1YXRlIGVhY2ggQVJHIGFzIGFuIGFyaXRobWV0aWMgZXhwcmVzc2lvbi4gIEV2YWx1YXRpb24gaXMgZG9uZSBpblxuIgorIiAgICBmaXhlZC13aWR0aCBpbnRlZ2VycyB3aXRoIG5vIGNoZWNrIGZvciBvdmVyZmxvdywgdGhvdWdoIGRpdmlzaW9uIGJ5IDBcbiIKKyIgICAgaXMgdHJhcHBlZCBhbmQgZmxhZ2dlZCBhcyBhbiBlcnJvci4gIFRoZSBmb2xsb3dpbmcgbGlzdCBvZiBvcGVyYXRvcnMgaXNcbiIKKyIgICAgZ3JvdXBlZCBpbnRvIGxldmVscyBvZiBlcXVhbC1wcmVjZWRlbmNlIG9wZXJhdG9ycy4gIFRoZSBsZXZlbHMgYXJlICIKKyJsaXN0ZWRcbiIKKyIgICAgaW4gb3JkZXIgb2YgZGVjcmVhc2luZyBwcmVjZWRlbmNlLlxuIgorIiAgICBcbiIKKyIgICAgXHRpZCsrLCBpZC0tXHR2YXJpYWJsZSBwb3N0LWluY3JlbWVudCwgcG9zdC1kZWNyZW1lbnRcbiIKKyIgICAgXHQrK2lkLCAtLWlkXHR2YXJpYWJsZSBwcmUtaW5jcmVtZW50LCBwcmUtZGVjcmVtZW50XG4iCisiICAgIFx0LSwgK1x0XHR1bmFyeSBtaW51cywgcGx1c1xuIgorIiAgICBcdCEsIH5cdFx0bG9naWNhbCBhbmQgYml0d2lzZSBuZWdhdGlvblxuIgorIiAgICBcdCoqXHRcdGV4cG9uZW50aWF0aW9uXG4iCisiICAgIFx0KiwgLywgJVx0XHRtdWx0aXBsaWNhdGlvbiwgZGl2aXNpb24sIHJlbWFpbmRlclxuIgorIiAgICBcdCssIC1cdFx0YWRkaXRpb24sIHN1YnRyYWN0aW9uXG4iCisiICAgIFx0PDwsID4+XHRcdGxlZnQgYW5kIHJpZ2h0IGJpdHdpc2Ugc2hpZnRzXG4iCisiICAgIFx0PD0sID49LCA8LCA+XHRjb21wYXJpc29uXG4iCisiICAgIFx0PT0sICE9XHRcdGVxdWFsaXR5LCBpbmVxdWFsaXR5XG4iCisiICAgIFx0Jlx0XHRiaXR3aXNlIEFORFxuIgorIiAgICBcdF5cdFx0Yml0d2lzZSBYT1JcbiIKKyIgICAgXHR8XHRcdGJpdHdpc2UgT1JcbiIKKyIgICAgXHQmJlx0XHRsb2dpY2FsIEFORFxuIgorIiAgICBcdHx8XHRcdGxvZ2ljYWwgT1JcbiIKKyIgICAgXHRleHByID8gZXhwciA6IGV4cHJcbiIKKyIgICAgXHRcdFx0Y29uZGl0aW9uYWwgb3BlcmF0b3JcbiIKKyIgICAgXHQ9LCAqPSwgLz0sICU9LFxuIgorIiAgICBcdCs9LCAtPSwgPDw9LCA+Pj0sXG4iCisiICAgIFx0Jj0sIF49LCB8PVx0YXNzaWdubWVudFxuIgorIiAgICBcbiIKKyIgICAgU2hlbGwgdmFyaWFibGVzIGFyZSBhbGxvd2VkIGFzIG9wZXJhbmRzLiAgVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlXG4iCisiICAgIGlzIHJlcGxhY2VkIGJ5IGl0cyB2YWx1ZSAoY29lcmNlZCB0byBhIGZpeGVkLXdpZHRoIGludGVnZXIpIHdpdGhpblxuIgorIiAgICBhbiBleHByZXNzaW9uLiAgVGhlIHZhcmlhYmxlIG5lZWQgbm90IGhhdmUgaXRzIGludGVnZXIgYXR0cmlidXRlXG4iCisiICAgIHR1cm5lZCBvbiB0byBiZSB1c2VkIGluIGFuIGV4cHJlc3Npb24uXG4iCisiICAgIFxuIgorIiAgICBPcGVyYXRvcnMgYXJlIGV2YWx1YXRlZCBpbiBvcmRlciBvZiBwcmVjZWRlbmNlLiAgU3ViLWV4cHJlc3Npb25zIGluXG4iCisiICAgIHBhcmVudGhlc2VzIGFyZSBldmFsdWF0ZWQgZmlyc3QgYW5kIG1heSBvdmVycmlkZSB0aGUgcHJlY2VkZW5jZVxuIgorIiAgICBydWxlcyBhYm92ZS5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjk3MQorbXNnaWQgIiIKKyJSZWFkIGEgbGluZSBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBhbmQgc3BsaXQgaXQgaW50byBmaWVsZHMuXG4iCisiICAgIFxuIgorIiAgICBSZWFkcyBhIHNpbmdsZSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LCBvciBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRFxuIgorIiAgICBpZiB0aGUgLXUgb3B0aW9uIGlzIHN1cHBsaWVkLiAgVGhlIGxpbmUgaXMgc3BsaXQgaW50byBmaWVsZHMgYXMgd2l0aCAiCisid29yZFxuIgorIiAgICBzcGxpdHRpbmcsIGFuZCB0aGUgZmlyc3Qgd29yZCBpcyBhc3NpZ25lZCB0byB0aGUgZmlyc3QgTkFNRSwgdGhlIHNlY29uZFxuIgorIiAgICB3b3JkIHRvIHRoZSBzZWNvbmQgTkFNRSwgYW5kIHNvIG9uLCB3aXRoIGFueSBsZWZ0b3ZlciB3b3JkcyBhc3NpZ25lZCB0b1xuIgorIiAgICB0aGUgbGFzdCBOQU1FLiAgT25seSB0aGUgY2hhcmFjdGVycyBmb3VuZCBpbiAkSUZTIGFyZSByZWNvZ25pemVkIGFzICIKKyJ3b3JkXG4iCisiICAgIGRlbGltaXRlcnMuXG4iCisiICAgIFxuIgorIiAgICBJZiBubyBOQU1FcyBhcmUgc3VwcGxpZWQsIHRoZSBsaW5lIHJlYWQgaXMgc3RvcmVkIGluIHRoZSBSRVBMWSAiCisidmFyaWFibGUuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1hIGFycmF5XHRhc3NpZ24gdGhlIHdvcmRzIHJlYWQgdG8gc2VxdWVudGlhbCBpbmRpY2VzIG9mIHRoZSBhcnJheVxuIgorIiAgICBcdFx0dmFyaWFibGUgQVJSQVksIHN0YXJ0aW5nIGF0IHplcm9cbiIKKyIgICAgICAtZCBkZWxpbVx0Y29udGludWUgdW50aWwgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBERUxJTSBpcyByZWFkLCByYXRoZXJcbiIKKyIgICAgXHRcdHRoYW4gbmV3bGluZVxuIgorIiAgICAgIC1lXHRcdHVzZSBSZWFkbGluZSB0byBvYnRhaW4gdGhlIGxpbmUgaW4gYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgICAgICAtaSB0ZXh0XHRVc2UgVEVYVCBhcyB0aGUgaW5pdGlhbCB0ZXh0IGZvciBSZWFkbGluZVxuIgorIiAgICAgIC1uIG5jaGFyc1x0cmV0dXJuIGFmdGVyIHJlYWRpbmcgTkNIQVJTIGNoYXJhY3RlcnMgcmF0aGVyIHRoYW4gd2FpdGluZ1xuIgorIiAgICBcdFx0Zm9yIGEgbmV3bGluZSwgYnV0IGhvbm9yIGEgZGVsaW1pdGVyIGlmIGZld2VyIHRoYW4gTkNIQVJTXG4iCisiICAgIFx0XHRjaGFyYWN0ZXJzIGFyZSByZWFkIGJlZm9yZSB0aGUgZGVsaW1pdGVyXG4iCisiICAgICAgLU4gbmNoYXJzXHRyZXR1cm4gb25seSBhZnRlciByZWFkaW5nIGV4YWN0bHkgTkNIQVJTIGNoYXJhY3RlcnMsICIKKyJ1bmxlc3NcbiIKKyIgICAgXHRcdEVPRiBpcyBlbmNvdW50ZXJlZCBvciByZWFkIHRpbWVzIG91dCwgaWdub3JpbmcgYW55IGRlbGltaXRlclxuIgorIiAgICAgIC1wIHByb21wdFx0b3V0cHV0IHRoZSBzdHJpbmcgUFJPTVBUIHdpdGhvdXQgYSB0cmFpbGluZyBuZXdsaW5lIGJlZm9yZVxuIgorIiAgICBcdFx0YXR0ZW1wdGluZyB0byByZWFkXG4iCisiICAgICAgLXJcdFx0ZG8gbm90IGFsbG93IGJhY2tzbGFzaGVzIHRvIGVzY2FwZSBhbnkgY2hhcmFjdGVyc1xuIgorIiAgICAgIC1zXHRcdGRvIG5vdCBlY2hvIGlucHV0IGNvbWluZyBmcm9tIGEgdGVybWluYWxcbiIKKyIgICAgICAtdCB0aW1lb3V0XHR0aW1lIG91dCBhbmQgcmV0dXJuIGZhaWx1cmUgaWYgYSBjb21wbGV0ZSBsaW5lIG9mIGlucHV0ICIKKyJpc1xuIgorIiAgICBcdFx0bm90IHJlYWQgd2l0aGludCBUSU1FT1VUIHNlY29uZHMuICBUaGUgdmFsdWUgb2YgdGhlIFRNT1VUXG4iCisiICAgIFx0XHR2YXJpYWJsZSBpcyB0aGUgZGVmYXVsdCB0aW1lb3V0LiAgVElNRU9VVCBtYXkgYmUgYVxuIgorIiAgICBcdFx0ZnJhY3Rpb25hbCBudW1iZXIuICBJZiBUSU1FT1VUIGlzIDAsIHJlYWQgcmV0dXJucyBzdWNjZXNzIG9ubHlcbiIKKyIgICAgXHRcdGlmIGlucHV0IGlzIGF2YWlsYWJsZSBvbiB0aGUgc3BlY2lmaWVkIGZpbGUgZGVzY3JpcHRvci4gIFRoZVxuIgorIiAgICBcdFx0ZXhpdCBzdGF0dXMgaXMgZ3JlYXRlciB0aGFuIDEyOCBpZiB0aGUgdGltZW91dCBpcyBleGNlZWRlZFxuIgorIiAgICAgIC11IGZkXHRcdHJlYWQgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaW5zdGVhZCBvZiB0aGUgc3RhbmRhcmQgaW5wdXRcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBUaGUgcmV0dXJuIGNvZGUgaXMgemVybywgdW5sZXNzIGVuZC1vZi1maWxlIGlzIGVuY291bnRlcmVkLCByZWFkIHRpbWVzICIKKyJvdXQsXG4iCisiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxMDE0Cittc2dpZCAiIgorIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCisiICAgIFxuIgorIiAgICBDYXVzZXMgYSBmdW5jdGlvbiBvciBzb3VyY2VkIHNjcmlwdCB0byBleGl0IHdpdGggdGhlIHJldHVybiB2YWx1ZVxuIgorIiAgICBzcGVjaWZpZWQgYnkgTi4gIElmIE4gaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhhdCBvZiB0aGVcbiIKKyIgICAgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIHdpdGhpbiB0aGUgZnVuY3Rpb24gb3Igc2NyaXB0LlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCittc2dzdHIgIiIKKyJGaWxsIMOzIGZoZWlkaG0gYmhsYW9pc2NlLlxuIgorIiAgICBcbiIKKyIgICAgRmlsbHRlYXIgw7MgZmhlaWRobSBuw7Mgw7Mgc2NyaXB0IGzDqWl0ZSBhcyBjb21oYWQgbGVpcyBhbiBsdWFjaCBzY29ydGhhXG4iCisiICAgIGEgc2hvbnJhw610ZWFyIGkgTi4gTcOhIGZow6FndGFyIE4gYXIgbMOhciwgaXMgw6kgYW4gc3TDoWRhcyBzY29ydGhhIG7DoSAiCisic3RhZGFzXG4iCisiICAgIGFuIG9yZHVpdGhlIGRoZWlyZWFuYWlnaCBhIHJpdGhlYWRoIGxhaXN0aWdoIGRlbiBmaGVpZGhtIG7DsyBzY3JpcHQuXG4iCisiICAgIFxuIgorIiAgICBTdMOhZGFzIFNjb3J0aGE6XG4iCisiICAgIEFpc2NodWlydGVhciBOLCBuw7MgdGVpcCBzYSBjaMOhcyBuYWNoIGJoZnVpbCBhbiBiaGxhb3NjIGFnIHJpdGggZmVpZGhtZSAiCisibsOzIHNjcmlwdGUuIgorCisjOiBidWlsdGlucy5jOjEwMjcKK21zZ2lkICIiCisiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgIFxuIgorIiAgICBDaGFuZ2UgdGhlIHZhbHVlIG9mIHNoZWxsIGF0dHJpYnV0ZXMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycywgb3JcbiIKKyIgICAgZGlzcGxheSB0aGUgbmFtZXMgYW5kIHZhbHVlcyBvZiBzaGVsbCB2YXJpYWJsZXMuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1hICBNYXJrIHZhcmlhYmxlcyB3aGljaCBhcmUgbW9kaWZpZWQgb3IgY3JlYXRlZCBmb3IgZXhwb3J0LlxuIgorIiAgICAgIC1iICBOb3RpZnkgb2Ygam9iIHRlcm1pbmF0aW9uIGltbWVkaWF0ZWx5LlxuIgorIiAgICAgIC1lICBFeGl0IGltbWVkaWF0ZWx5IGlmIGEgY29tbWFuZCBleGl0cyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLlxuIgorIiAgICAgIC1mICBEaXNhYmxlIGZpbGUgbmFtZSBnZW5lcmF0aW9uIChnbG9iYmluZykuXG4iCisiICAgICAgLWggIFJlbWVtYmVyIHRoZSBsb2NhdGlvbiBvZiBjb21tYW5kcyBhcyB0aGV5IGFyZSBsb29rZWQgdXAuXG4iCisiICAgICAgLWsgIEFsbCBhc3NpZ25tZW50IGFyZ3VtZW50cyBhcmUgcGxhY2VkIGluIHRoZSBlbnZpcm9ubWVudCBmb3IgYVxuIgorIiAgICAgICAgICBjb21tYW5kLCBub3QganVzdCB0aG9zZSB0aGF0IHByZWNlZGUgdGhlIGNvbW1hbmQgbmFtZS5cbiIKKyIgICAgICAtbSAgSm9iIGNvbnRyb2wgaXMgZW5hYmxlZC5cbiIKKyIgICAgICAtbiAgUmVhZCBjb21tYW5kcyBidXQgZG8gbm90IGV4ZWN1dGUgdGhlbS5cbiIKKyIgICAgICAtbyBvcHRpb24tbmFtZVxuIgorIiAgICAgICAgICBTZXQgdGhlIHZhcmlhYmxlIGNvcnJlc3BvbmRpbmcgdG8gb3B0aW9uLW5hbWU6XG4iCisiICAgICAgICAgICAgICBhbGxleHBvcnQgICAgc2FtZSBhcyAtYVxuIgorIiAgICAgICAgICAgICAgYnJhY2VleHBhbmQgIHNhbWUgYXMgLUJcbiIKKyIgICAgICAgICAgICAgIGVtYWNzICAgICAgICB1c2UgYW4gZW1hY3Mtc3R5bGUgbGluZSBlZGl0aW5nIGludGVyZmFjZVxuIgorIiAgICAgICAgICAgICAgZXJyZXhpdCAgICAgIHNhbWUgYXMgLWVcbiIKKyIgICAgICAgICAgICAgIGVycnRyYWNlICAgICBzYW1lIGFzIC1FXG4iCisiICAgICAgICAgICAgICBmdW5jdHJhY2UgICAgc2FtZSBhcyAtVFxuIgorIiAgICAgICAgICAgICAgaGFzaGFsbCAgICAgIHNhbWUgYXMgLWhcbiIKKyIgICAgICAgICAgICAgIGhpc3RleHBhbmQgICBzYW1lIGFzIC1IXG4iCisiICAgICAgICAgICAgICBoaXN0b3J5ICAgICAgZW5hYmxlIGNvbW1hbmQgaGlzdG9yeVxuIgorIiAgICAgICAgICAgICAgaWdub3JlZW9mICAgIHRoZSBzaGVsbCB3aWxsIG5vdCBleGl0IHVwb24gcmVhZGluZyBFT0ZcbiIKKyIgICAgICAgICAgICAgIGludGVyYWN0aXZlLWNvbW1lbnRzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsb3cgY29tbWVudHMgdG8gYXBwZWFyIGluIGludGVyYWN0aXZlIGNvbW1hbmRzXG4iCisiICAgICAgICAgICAgICBrZXl3b3JkICAgICAgc2FtZSBhcyAta1xuIgorIiAgICAgICAgICAgICAgbW9uaXRvciAgICAgIHNhbWUgYXMgLW1cbiIKKyIgICAgICAgICAgICAgIG5vY2xvYmJlciAgICBzYW1lIGFzIC1DXG4iCisiICAgICAgICAgICAgICBub2V4ZWMgICAgICAgc2FtZSBhcyAtblxuIgorIiAgICAgICAgICAgICAgbm9nbG9iICAgICAgIHNhbWUgYXMgLWZcbiIKKyIgICAgICAgICAgICAgIG5vbG9nICAgICAgICBjdXJyZW50bHkgYWNjZXB0ZWQgYnV0IGlnbm9yZWRcbiIKKyIgICAgICAgICAgICAgIG5vdGlmeSAgICAgICBzYW1lIGFzIC1iXG4iCisiICAgICAgICAgICAgICBub3Vuc2V0ICAgICAgc2FtZSBhcyAtdVxuIgorIiAgICAgICAgICAgICAgb25lY21kICAgICAgIHNhbWUgYXMgLXRcbiIKKyIgICAgICAgICAgICAgIHBoeXNpY2FsICAgICBzYW1lIGFzIC1QXG4iCisiICAgICAgICAgICAgICBwaXBlZmFpbCAgICAgdGhlIHJldHVybiB2YWx1ZSBvZiBhIHBpcGVsaW5lIGlzIHRoZSBzdGF0dXMgb2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgbGFzdCBjb21tYW5kIHRvIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBvciB6ZXJvIGlmIG5vIGNvbW1hbmQgZXhpdGVkIHdpdGggYSBub24temVybyAiCisic3RhdHVzXG4iCisiICAgICAgICAgICAgICBwb3NpeCAgICAgICAgY2hhbmdlIHRoZSBiZWhhdmlvciBvZiBiYXNoIHdoZXJlIHRoZSBkZWZhdWx0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uIGRpZmZlcnMgZnJvbSB0aGUgUG9zaXggc3RhbmRhcmQgdG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCB0aGUgc3RhbmRhcmRcbiIKKyIgICAgICAgICAgICAgIHByaXZpbGVnZWQgICBzYW1lIGFzIC1wXG4iCisiICAgICAgICAgICAgICB2ZXJib3NlICAgICAgc2FtZSBhcyAtdlxuIgorIiAgICAgICAgICAgICAgdmkgICAgICAgICAgIHVzZSBhIHZpLXN0eWxlIGxpbmUgZWRpdGluZyBpbnRlcmZhY2VcbiIKKyIgICAgICAgICAgICAgIHh0cmFjZSAgICAgICBzYW1lIGFzIC14XG4iCisiICAgICAgLXAgIFR1cm5lZCBvbiB3aGVuZXZlciB0aGUgcmVhbCBhbmQgZWZmZWN0aXZlIHVzZXIgaWRzIGRvIG5vdCBtYXRjaC5cbiIKKyIgICAgICAgICAgRGlzYWJsZXMgcHJvY2Vzc2luZyBvZiB0aGUgJEVOViBmaWxlIGFuZCBpbXBvcnRpbmcgb2Ygc2hlbGxcbiIKKyIgICAgICAgICAgZnVuY3Rpb25zLiAgVHVybmluZyB0aGlzIG9wdGlvbiBvZmYgY2F1c2VzIHRoZSBlZmZlY3RpdmUgdWlkIGFuZFxuIgorIiAgICAgICAgICBnaWQgdG8gYmUgc2V0IHRvIHRoZSByZWFsIHVpZCBhbmQgZ2lkLlxuIgorIiAgICAgIC10ICBFeGl0IGFmdGVyIHJlYWRpbmcgYW5kIGV4ZWN1dGluZyBvbmUgY29tbWFuZC5cbiIKKyIgICAgICAtdSAgVHJlYXQgdW5zZXQgdmFyaWFibGVzIGFzIGFuIGVycm9yIHdoZW4gc3Vic3RpdHV0aW5nLlxuIgorIiAgICAgIC12ICBQcmludCBzaGVsbCBpbnB1dCBsaW5lcyBhcyB0aGV5IGFyZSByZWFkLlxuIgorIiAgICAgIC14ICBQcmludCBjb21tYW5kcyBhbmQgdGhlaXIgYXJndW1lbnRzIGFzIHRoZXkgYXJlIGV4ZWN1dGVkLlxuIgorIiAgICAgIC1CICB0aGUgc2hlbGwgd2lsbCBwZXJmb3JtIGJyYWNlIGV4cGFuc2lvblxuIgorIiAgICAgIC1DICBJZiBzZXQsIGRpc2FsbG93IGV4aXN0aW5nIHJlZ3VsYXIgZmlsZXMgdG8gYmUgb3ZlcndyaXR0ZW5cbiIKKyIgICAgICAgICAgYnkgcmVkaXJlY3Rpb24gb2Ygb3V0cHV0LlxuIgorIiAgICAgIC1FICBJZiBzZXQsIHRoZSBFUlIgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC1IICBFbmFibGUgISBzdHlsZSBoaXN0b3J5IHN1YnN0aXR1dGlvbi4gIFRoaXMgZmxhZyBpcyBvblxuIgorIiAgICAgICAgICBieSBkZWZhdWx0IHdoZW4gdGhlIHNoZWxsIGlzIGludGVyYWN0aXZlLlxuIgorIiAgICAgIC1QICBJZiBzZXQsIGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3Mgd2hlbiBleGVjdXRpbmcgY29tbWFuZHNcbiIKKyIgICAgICAgICAgc3VjaCBhcyBjZCB3aGljaCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgorIiAgICAgIC1UICBJZiBzZXQsIHRoZSBERUJVRyB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLS0gIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgorIiAgICAgICAgICBJZiB0aGVyZSBhcmUgbm8gcmVtYWluaW5nIGFyZ3VtZW50cywgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICAgICAgICBhcmUgdW5zZXQuXG4iCisiICAgICAgLSAgIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgorIiAgICAgICAgICBUaGUgLXggYW5kIC12IG9wdGlvbnMgYXJlIHR1cm5lZCBvZmYuXG4iCisiICAgIFxuIgorIiAgICBVc2luZyArIHJhdGhlciB0aGFuIC0gY2F1c2VzIHRoZXNlIGZsYWdzIHRvIGJlIHR1cm5lZCBvZmYuICBUaGVcbiIKKyIgICAgZmxhZ3MgY2FuIGFsc28gYmUgdXNlZCB1cG9uIGludm9jYXRpb24gb2YgdGhlIHNoZWxsLiAgVGhlIGN1cnJlbnRcbiIKKyIgICAgc2V0IG9mIGZsYWdzIG1heSBiZSBmb3VuZCBpbiAkLS4gIFRoZSByZW1haW5pbmcgbiBBUkdzIGFyZSBwb3NpdGlvbmFsXG4iCisiICAgIHBhcmFtZXRlcnMgYW5kIGFyZSBhc3NpZ25lZCwgaW4gb3JkZXIsIHRvICQxLCAkMiwgLi4gJG4uICBJZiBub1xuIgorIiAgICBBUkdzIGFyZSBnaXZlbiwgYWxsIHNoZWxsIHZhcmlhYmxlcyBhcmUgcHJpbnRlZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjExMTIKK21zZ2lkICIiCisiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgorIiAgICBcbiIKKyIgICAgRm9yIGVhY2ggTkFNRSwgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIHZhcmlhYmxlIG9yIGZ1bmN0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZlx0dHJlYXQgZWFjaCBOQU1FIGFzIGEgc2hlbGwgZnVuY3Rpb25cbiIKKyIgICAgICAtdlx0dHJlYXQgZWFjaCBOQU1FIGFzIGEgc2hlbGwgdmFyaWFibGVcbiIKKyIgICAgXG4iCisiICAgIFdpdGhvdXQgb3B0aW9ucywgdW5zZXQgZmlyc3QgdHJpZXMgdG8gdW5zZXQgYSB2YXJpYWJsZSwgYW5kIGlmIHRoYXQgIgorImZhaWxzLFxuIgorIiAgICB0cmllcyB0byB1bnNldCBhIGZ1bmN0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgU29tZSB2YXJpYWJsZXMgY2Fubm90IGJlIHVuc2V0OyBhbHNvIHNlZSBgcmVhZG9ubHknLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxMTMyCittc2dpZCAiIgorIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCisiICAgIFxuIgorIiAgICBNYXJrcyBlYWNoIE5BTUUgZm9yIGF1dG9tYXRpYyBleHBvcnQgdG8gdGhlIGVudmlyb25tZW50IG9mIHN1YnNlcXVlbnRseVxuIgorIiAgICBleGVjdXRlZCBjb21tYW5kcy4gIElmIFZBTFVFIGlzIHN1cHBsaWVkLCBhc3NpZ24gVkFMVUUgYmVmb3JlICIKKyJleHBvcnRpbmcuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1mXHRyZWZlciB0byBzaGVsbCBmdW5jdGlvbnNcbiIKKyIgICAgICAtblx0cmVtb3ZlIHRoZSBleHBvcnQgcHJvcGVydHkgZnJvbSBlYWNoIE5BTUVcbiIKKyIgICAgICAtcFx0ZGlzcGxheSBhIGxpc3Qgb2YgYWxsIGV4cG9ydGVkIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zXG4iCisiICAgIFxuIgorIiAgICBBbiBhcmd1bWVudCBvZiBgLS0nIGRpc2FibGVzIGZ1cnRoZXIgb3B0aW9uIHByb2Nlc3NpbmcuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zLmM6MTE1MQorbXNnaWQgIiIKKyJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCisiICAgIFxuIgorIiAgICBNYXJrIGVhY2ggTkFNRSBhcyByZWFkLW9ubHk7IHRoZSB2YWx1ZXMgb2YgdGhlc2UgTkFNRXMgbWF5IG5vdCBiZVxuIgorIiAgICBjaGFuZ2VkIGJ5IHN1YnNlcXVlbnQgYXNzaWdubWVudC4gIElmIFZBTFVFIGlzIHN1cHBsaWVkLCBhc3NpZ24gVkFMVUVcbiIKKyIgICAgYmVmb3JlIG1hcmtpbmcgYXMgcmVhZC1vbmx5LlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtYVx0cmVmZXIgdG8gaW5kZXhlZCBhcnJheSB2YXJpYWJsZXNcbiIKKyIgICAgICAtQVx0cmVmZXIgdG8gYXNzb2NpYXRpdmUgYXJyYXkgdmFyaWFibGVzXG4iCisiICAgICAgLWZcdHJlZmVyIHRvIHNoZWxsIGZ1bmN0aW9uc1xuIgorIiAgICAgIC1wXHRkaXNwbGF5IGEgbGlzdCBvZiBhbGwgcmVhZG9ubHkgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnNcbiIKKyIgICAgXG4iCisiICAgIEFuIGFyZ3VtZW50IG9mIGAtLScgZGlzYWJsZXMgZnVydGhlciBvcHRpb24gcHJvY2Vzc2luZy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxMTcyCittc2dpZCAiIgorIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgXG4iCisiICAgIFJlbmFtZSB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzICROKzEsJE4rMiAuLi4gdG8gJDEsJDIgLi4uICBJZiBOIGlzXG4iCisiICAgIG5vdCBnaXZlbiwgaXQgaXMgYXNzdW1lZCB0byBiZSAxLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zLmM6MTE4NCBidWlsdGlucy5jOjExOTkKK21zZ2lkICIiCisiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIFJlYWQgYW5kIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSBGSUxFTkFNRSBpbiB0aGUgY3VycmVudCBzaGVsbC4gIFRoZVxuIgorIiAgICBlbnRyaWVzIGluICRQQVRIIGFyZSB1c2VkIHRvIGZpbmQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIEZJTEVOQU1FLlxuIgorIiAgICBJZiBhbnkgQVJHVU1FTlRTIGFyZSBzdXBwbGllZCwgdGhleSBiZWNvbWUgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICB3aGVuIEZJTEVOQU1FIGlzIGV4ZWN1dGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIGluIEZJTEVOQU1FOyBmYWlscyBpZlxuIgorIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxMjE1Cittc2dpZCAiIgorIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgU3VzcGVuZCB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWl2ZXMgYSBTSUdDT05UIHNpZ25hbC5cbiIKKyIgICAgVW5sZXNzIGZvcmNlZCwgbG9naW4gc2hlbGxzIGNhbm5vdCBiZSBzdXNwZW5kZWQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1mXHRmb3JjZSB0aGUgc3VzcGVuZCwgZXZlbiBpZiB0aGUgc2hlbGwgaXMgYSBsb2dpbiBzaGVsbFxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjEyMzEKK21zZ2lkICIiCisiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgorIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCisiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCisiICAgIFxuIgorIiAgICAgIC1hIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMuXG4iCisiICAgICAgLWIgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGJsb2NrIHNwZWNpYWwuXG4iCisiICAgICAgLWMgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGNoYXJhY3RlciBzcGVjaWFsLlxuIgorIiAgICAgIC1kIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBhIGRpcmVjdG9yeS5cbiIKKyIgICAgICAtZSBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgZXhpc3RzLlxuIgorIiAgICAgIC1mIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMgYW5kIGlzIGEgcmVndWxhciBmaWxlLlxuIgorIiAgICAgIC1nIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBzZXQtZ3JvdXAtaWQuXG4iCisiICAgICAgLWggRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgc3ltYm9saWMgbGluay5cbiIKKyIgICAgICAtTCBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBzeW1ib2xpYyBsaW5rLlxuIgorIiAgICAgIC1rIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBoYXMgaXRzIGBzdGlja3knIGJpdCBzZXQuXG4iCisiICAgICAgLXAgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgbmFtZWQgcGlwZS5cbiIKKyIgICAgICAtciBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgcmVhZGFibGUgYnkgeW91LlxuIgorIiAgICAgIC1zIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMgYW5kIGlzIG5vdCBlbXB0eS5cbiIKKyIgICAgICAtUyBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBzb2NrZXQuXG4iCisiICAgICAgLXQgRkQgICAgICAgICAgVHJ1ZSBpZiBGRCBpcyBvcGVuZWQgb24gYSB0ZXJtaW5hbC5cbiIKKyIgICAgICAtdSBGSUxFICAgICAgICBUcnVlIGlmIHRoZSBmaWxlIGlzIHNldC11c2VyLWlkLlxuIgorIiAgICAgIC13IEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgd3JpdGFibGUgYnkgeW91LlxuIgorIiAgICAgIC14IEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgZXhlY3V0YWJsZSBieSB5b3UuXG4iCisiICAgICAgLU8gRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBlZmZlY3RpdmVseSBvd25lZCBieSB5b3UuXG4iCisiICAgICAgLUcgRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBlZmZlY3RpdmVseSBvd25lZCBieSB5b3VyIGdyb3VwLlxuIgorIiAgICAgIC1OIEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaGFzIGJlZW4gbW9kaWZpZWQgc2luY2UgaXQgd2FzIGxhc3QgIgorInJlYWQuXG4iCisiICAgIFxuIgorIiAgICAgIEZJTEUxIC1udCBGSUxFMiAgVHJ1ZSBpZiBmaWxlMSBpcyBuZXdlciB0aGFuIGZpbGUyIChhY2NvcmRpbmcgdG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWNhdGlvbiBkYXRlKS5cbiIKKyIgICAgXG4iCisiICAgICAgRklMRTEgLW90IEZJTEUyICBUcnVlIGlmIGZpbGUxIGlzIG9sZGVyIHRoYW4gZmlsZTIuXG4iCisiICAgIFxuIgorIiAgICAgIEZJTEUxIC1lZiBGSUxFMiAgVHJ1ZSBpZiBmaWxlMSBpcyBhIGhhcmQgbGluayB0byBmaWxlMi5cbiIKKyIgICAgXG4iCisiICAgIFN0cmluZyBvcGVyYXRvcnM6XG4iCisiICAgIFxuIgorIiAgICAgIC16IFNUUklORyAgICAgIFRydWUgaWYgc3RyaW5nIGlzIGVtcHR5LlxuIgorIiAgICBcbiIKKyIgICAgICAtbiBTVFJJTkdcbiIKKyIgICAgICAgICBTVFJJTkcgICAgICBUcnVlIGlmIHN0cmluZyBpcyBub3QgZW1wdHkuXG4iCisiICAgIFxuIgorIiAgICAgIFNUUklORzEgPSBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgZXF1YWwuXG4iCisiICAgICAgU1RSSU5HMSAhPSBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgbm90IGVxdWFsLlxuIgorIiAgICAgIFNUUklORzEgPCBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiBTVFJJTkcxIHNvcnRzIGJlZm9yZSBTVFJJTkcyICIKKyJsZXhpY29ncmFwaGljYWxseS5cbiIKKyIgICAgICBTVFJJTkcxID4gU1RSSU5HMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIFRydWUgaWYgU1RSSU5HMSBzb3J0cyBhZnRlciBTVFJJTkcyIGxleGljb2dyYXBoaWNhbGx5LlxuIgorIiAgICBcbiIKKyIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgorIiAgICBcbiIKKyIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgorIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKKyIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgorIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCisiICAgIFxuIgorIiAgICAgIGFyZzEgT1AgYXJnMiAgIEFyaXRobWV0aWMgdGVzdHMuICBPUCBpcyBvbmUgb2YgLWVxLCAtbmUsXG4iCisiICAgICAgICAgICAgICAgICAgICAgLWx0LCAtbGUsIC1ndCwgb3IgLWdlLlxuIgorIiAgICBcbiIKKyIgICAgQXJpdGhtZXRpYyBiaW5hcnkgb3BlcmF0b3JzIHJldHVybiB0cnVlIGlmIEFSRzEgaXMgZXF1YWwsIG5vdC1lcXVhbCxcbiIKKyIgICAgbGVzcy10aGFuLCBsZXNzLXRoYW4tb3ItZXF1YWwsIGdyZWF0ZXItdGhhbiwgb3IgZ3JlYXRlci10aGFuLW9yLWVxdWFsXG4iCisiICAgIHRoYW4gQVJHMi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgRVhQUiBldmFsdWF0ZXMgdG8gdHJ1ZTsgZmFpbHMgaWYgRVhQUiBldmFsdWF0ZXMgdG9cbiIKKyIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxMzExCittc2dpZCAiIgorIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCisiICAgIFxuIgorIiAgICBUaGlzIGlzIGEgc3lub255bSBmb3IgdGhlIFwidGVzdFwiIGJ1aWx0aW4sIGJ1dCB0aGUgbGFzdCBhcmd1bWVudCBtdXN0XG4iCisiICAgIGJlIGEgbGl0ZXJhbCBgXScsIHRvIG1hdGNoIHRoZSBvcGVuaW5nIGBbJy4iCittc2dzdHIgIiIKKyJMdWFjaMOhaWwgc2xvbm4gY29pbm7DrW9sbGFjaC5cbiIKKyIgICAgXG4iCisiICAgIExlYXNhaW5tIMOpIHNlbyBhciBhbiBvcmTDuiBibGFvaXNjZSBpb25zdWl0ZSBcInRlc3RcIiwgYWNoXG4iCisiICAgIGNhaXRoZmVhciBcIl1cIiBnbyBkw61yZWFjaCBhIGJoZWl0aCBhbm4gbWFyIGFuIGFyZ8OzaW50XG4iCisiICAgIGRoZWlyZWFuYWNoLCBsZSBiaGVpdGggY29taG9pcmnDum5hY2ggbGVpcyBhbiBcIltcIiBhZyBhbiB0w7pzLiIKKworIzogYnVpbHRpbnMuYzoxMzIwCittc2dpZCAiIgorIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKKyIgICAgXG4iCisiICAgIFByaW50cyB0aGUgYWNjdW11bGF0ZWQgdXNlciBhbmQgc3lzdGVtIHRpbWVzIGZvciB0aGUgc2hlbGwgYW5kIGFsbCBvZiAiCisiaXRzXG4iCisiICAgIGNoaWxkIHByb2Nlc3Nlcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBBbHdheXMgc3VjY2VlZHMuIgorbXNnc3RyICIiCisiVGFpc3Blw6FpbiBhbWFubmEgcHLDs2lzaXMuXG4iCisiICAgIFxuIgorIiAgICBcbiIKKyJUYWlzcGXDoW50YXIgYW1hbm5hIGNhcm50aGEgw7pzw6FpZGVvcmEgYWd1cyBjw7NyYWlzIG5hIGJsYW9pc2NlIGFndXMgYVxuIgorIiAgICBtYWNwaHLDs2lzZWFzLlxuIgorIiAgICBcbiIKKyIgICAgU3TDoWRhcyBTY29ydGhhOlxuIgorIiAgICDDiWlyw61vbm4gbGVpcyBpIGdjw7NuYcOtLiIKKworIzogYnVpbHRpbnMuYzoxMzMyCittc2dpZCAiIgorIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgorIiAgICBcbiIKKyIgICAgRGVmaW5lcyBhbmQgYWN0aXZhdGVzIGhhbmRsZXJzIHRvIGJlIHJ1biB3aGVuIHRoZSBzaGVsbCByZWNlaXZlcyAiCisic2lnbmFsc1xuIgorIiAgICBvciBvdGhlciBjb25kaXRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgQVJHIGlzIGEgY29tbWFuZCB0byBiZSByZWFkIGFuZCBleGVjdXRlZCB3aGVuIHRoZSBzaGVsbCByZWNlaXZlcyB0aGVcbiIKKyIgICAgc2lnbmFsKHMpIFNJR05BTF9TUEVDLiAgSWYgQVJHIGlzIGFic2VudCAoYW5kIGEgc2luZ2xlIFNJR05BTF9TUEVDXG4iCisiICAgIGlzIHN1cHBsaWVkKSBvciBgLScsIGVhY2ggc3BlY2lmaWVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMgb3JpZ2luYWxcbiIKKyIgICAgdmFsdWUuICBJZiBBUkcgaXMgdGhlIG51bGwgc3RyaW5nIGVhY2ggU0lHTkFMX1NQRUMgaXMgaWdub3JlZCBieSB0aGVcbiIKKyIgICAgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbnZva2VzLlxuIgorIiAgICBcbiIKKyIgICAgSWYgYSBTSUdOQUxfU1BFQyBpcyBFWElUICgwKSBBUkcgaXMgZXhlY3V0ZWQgb24gZXhpdCBmcm9tIHRoZSBzaGVsbC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLiAgIgorIklmXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgUkVUVVJOLCBBUkcgaXMgZXhlY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgIgorImFcbiIKKyIgICAgc2NyaXB0IHJ1biBieSB0aGUgLiBvciBzb3VyY2UgYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLiAgQSAiCisiU0lHTkFMX1NQRUNcbiIKKyIgICAgb2YgRVJSIG1lYW5zIHRvIGV4ZWN1dGUgQVJHIGVhY2ggdGltZSBhIGNvbW1hbmQncyBmYWlsdXJlIHdvdWxkIGNhdXNlICIKKyJ0aGVcbiIKKyIgICAgc2hlbGwgdG8gZXhpdCB3aGVuIHRoZSAtZSBvcHRpb24gaXMgZW5hYmxlZC5cbiIKKyIgICAgXG4iCisiICAgIElmIG5vIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQsIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzICIKKyJhc3NvY2lhdGVkXG4iCisiICAgIHdpdGggZWFjaCBzaWduYWwuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1sXHRwcmludCBhIGxpc3Qgb2Ygc2lnbmFsIG5hbWVzIGFuZCB0aGVpciBjb3JyZXNwb25kaW5nIG51bWJlcnNcbiIKKyIgICAgICAtcFx0ZGlzcGxheSB0aGUgdHJhcCBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggZWFjaCBTSUdOQUxfU1BFQ1xuIgorIiAgICBcbiIKKyIgICAgRWFjaCBTSUdOQUxfU1BFQyBpcyBlaXRoZXIgYSBzaWduYWwgbmFtZSBpbiA8c2lnbmFsLmg+IG9yIGEgc2lnbmFsICIKKyJudW1iZXIuXG4iCisiICAgIFNpZ25hbCBuYW1lcyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSBhbmQgdGhlIFNJRyBwcmVmaXggaXMgb3B0aW9uYWwuICBBXG4iCisiICAgIHNpZ25hbCBtYXkgYmUgc2VudCB0byB0aGUgc2hlbGwgd2l0aCBcImtpbGwgLXNpZ25hbCAkJFwiLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSBTSUdTUEVDIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgIgorImdpdmVuLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjEzNjgKK21zZ2lkICIiCisiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCisiICAgIFxuIgorIiAgICBGb3IgZWFjaCBOQU1FLCBpbmRpY2F0ZSBob3cgaXQgd291bGQgYmUgaW50ZXJwcmV0ZWQgaWYgdXNlZCBhcyBhXG4iCisiICAgIGNvbW1hbmQgbmFtZS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWFcdGRpc3BsYXkgYWxsIGxvY2F0aW9ucyBjb250YWluaW5nIGFuIGV4ZWN1dGFibGUgbmFtZWQgTkFNRTtcbiIKKyIgICAgXHRpbmNsdWRlcyBhbGlhc2VzLCBidWlsdGlucywgYW5kIGZ1bmN0aW9ucywgaWYgYW5kIG9ubHkgaWZcbiIKKyIgICAgXHR0aGUgYC1wJyBvcHRpb24gaXMgbm90IGFsc28gdXNlZFxuIgorIiAgICAgIC1mXHRzdXBwcmVzcyBzaGVsbCBmdW5jdGlvbiBsb29rdXBcbiIKKyIgICAgICAtUFx0Zm9yY2UgYSBQQVRIIHNlYXJjaCBmb3IgZWFjaCBOQU1FLCBldmVuIGlmIGl0IGlzIGFuIGFsaWFzLFxuIgorIiAgICBcdGJ1aWx0aW4sIG9yIGZ1bmN0aW9uLCBhbmQgcmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZGlzayBmaWxlXG4iCisiICAgIFx0dGhhdCB3b3VsZCBiZSBleGVjdXRlZFxuIgorIiAgICAgIC1wXHRyZXR1cm5zIGVpdGhlciB0aGUgbmFtZSBvZiB0aGUgZGlzayBmaWxlIHRoYXQgd291bGQgYmUgZXhlY3V0ZWQsXG4iCisiICAgIFx0b3Igbm90aGluZyBpZiBgdHlwZSAtdCBOQU1FJyB3b3VsZCBub3QgcmV0dXJuIGBmaWxlJy5cbiIKKyIgICAgICAtdFx0b3V0cHV0IGEgc2luZ2xlIHdvcmQgd2hpY2ggaXMgb25lIG9mIGBhbGlhcycsIGBrZXl3b3JkJyxcbiIKKyIgICAgXHRgZnVuY3Rpb24nLCBgYnVpbHRpbicsIGBmaWxlJyBvciBgJywgaWYgTkFNRSBpcyBhbiBhbGlhcywgc2hlbGxcbiIKKyIgICAgXHRyZXNlcnZlZCB3b3JkLCBzaGVsbCBmdW5jdGlvbiwgc2hlbGwgYnVpbHRpbiwgZGlzayBmaWxlLCBvciBub3RcbiIKKyIgICAgXHRmb3VuZCwgcmVzcGVjdGl2ZWx5XG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgTkFNRVx0Q29tbWFuZCBuYW1lIHRvIGJlIGludGVycHJldGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyBpZiBhbGwgb2YgdGhlIE5BTUVzIGFyZSBmb3VuZDsgZmFpbHMgaWYgYW55IGFyZSBub3QgIgorImZvdW5kLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjEzOTkKK21zZ2lkICIiCisiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKKyIgICAgXG4iCisiICAgIFByb3ZpZGVzIGNvbnRyb2wgb3ZlciB0aGUgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byB0aGUgc2hlbGwgYW5kICIKKyJwcm9jZXNzZXNcbiIKKyIgICAgaXQgY3JlYXRlcywgb24gc3lzdGVtcyB0aGF0IGFsbG93IHN1Y2ggY29udHJvbC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLVNcdHVzZSB0aGUgYHNvZnQnIHJlc291cmNlIGxpbWl0XG4iCisiICAgICAgLUhcdHVzZSB0aGUgYGhhcmQnIHJlc291cmNlIGxpbWl0XG4iCisiICAgICAgLWFcdGFsbCBjdXJyZW50IGxpbWl0cyBhcmUgcmVwb3J0ZWRcbiIKKyIgICAgICAtYlx0dGhlIHNvY2tldCBidWZmZXIgc2l6ZVxuIgorIiAgICAgIC1jXHR0aGUgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAgICAgIC1kXHR0aGUgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAgICAgIC1lXHR0aGUgbWF4aW11bSBzY2hlZHVsaW5nIHByaW9yaXR5IChgbmljZScpXG4iCisiICAgICAgLWZcdHRoZSBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgc2hlbGwgYW5kIGl0cyBjaGlsZHJlblxuIgorIiAgICAgIC1pXHR0aGUgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiICAgICAgLWxcdHRoZSBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiICAgICAgLW1cdHRoZSBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiICAgICAgLW5cdHRoZSBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGUgZGVzY3JpcHRvcnNcbiIKKyIgICAgICAtcFx0dGhlIHBpcGUgYnVmZmVyIHNpemVcbiIKKyIgICAgICAtcVx0dGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiICAgICAgLXJcdHRoZSBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiICAgICAgLXNcdHRoZSBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgICAgICAtdFx0dGhlIG1heGltdW0gYW1vdW50IG9mIGNwdSB0aW1lIGluIHNlY29uZHNcbiIKKyIgICAgICAtdVx0dGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiICAgICAgLXZcdHRoZSBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiICAgICAgLXhcdHRoZSBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiICAgIFxuIgorIiAgICBJZiBMSU1JVCBpcyBnaXZlbiwgaXQgaXMgdGhlIG5ldyB2YWx1ZSBvZiB0aGUgc3BlY2lmaWVkIHJlc291cmNlOyB0aGVcbiIKKyIgICAgc3BlY2lhbCBMSU1JVCB2YWx1ZXMgYHNvZnQnLCBgaGFyZCcsIGFuZCBgdW5saW1pdGVkJyBzdGFuZCBmb3IgdGhlXG4iCisiICAgIGN1cnJlbnQgc29mdCBsaW1pdCwgdGhlIGN1cnJlbnQgaGFyZCBsaW1pdCwgYW5kIG5vIGxpbWl0LCByZXNwZWN0aXZlbHkuXG4iCisiICAgIE90aGVyd2lzZSwgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCByZXNvdXJjZSBpcyBwcmludGVkLiAgSWZcbiIKKyIgICAgbm8gb3B0aW9uIGlzIGdpdmVuLCB0aGVuIC1mIGlzIGFzc3VtZWQuXG4iCisiICAgIFxuIgorIiAgICBWYWx1ZXMgYXJlIGluIDEwMjQtYnl0ZSBpbmNyZW1lbnRzLCBleGNlcHQgZm9yIC10LCB3aGljaCBpcyBpbiBzZWNvbmRzLFxuIgorIiAgICAtcCwgd2hpY2ggaXMgaW4gaW5jcmVtZW50cyBvZiA1MTIgYnl0ZXMsIGFuZCAtdSwgd2hpY2ggaXMgYW4gdW5zY2FsZWRcbiIKKyIgICAgbnVtYmVyIG9mIHByb2Nlc3Nlcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxNDQ0Cittc2dpZCAiIgorIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgorIiAgICBcbiIKKyIgICAgU2V0cyB0aGUgdXNlciBmaWxlLWNyZWF0aW9uIG1hc2sgdG8gTU9ERS4gIElmIE1PREUgaXMgb21pdHRlZCwgcHJpbnRzXG4iCisiICAgIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBtYXNrLlxuIgorIiAgICBcbiIKKyIgICAgSWYgTU9ERSBiZWdpbnMgd2l0aCBhIGRpZ2l0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhbiBvY3RhbCBudW1iZXI7XG4iCisiICAgIG90aGVyd2lzZSBpdCBpcyBhIHN5bWJvbGljIG1vZGUgc3RyaW5nIGxpa2UgdGhhdCBhY2NlcHRlZCBieSBjaG1vZCgxKS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLXBcdGlmIE1PREUgaXMgb21pdHRlZCwgb3V0cHV0IGluIGEgZm9ybSB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXRcbiIKKyIgICAgICAtU1x0bWFrZXMgdGhlIG91dHB1dCBzeW1ib2xpYzsgb3RoZXJ3aXNlIGFuIG9jdGFsIG51bWJlciBpcyBvdXRwdXRcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxNDY0Cittc2dpZCAiIgorIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCisiICAgIFxuIgorIiAgICBXYWl0cyBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBJRCwgd2hpY2ggbWF5IGJlIGEgcHJvY2VzcyBJRCBvciBhXG4iCisiICAgIGpvYiBzcGVjaWZpY2F0aW9uLCBhbmQgcmVwb3J0cyBpdHMgdGVybWluYXRpb24gc3RhdHVzLiAgSWYgSUQgaXMgbm90XG4iCisiICAgIGdpdmVuLCB3YWl0cyBmb3IgYWxsIGN1cnJlbnRseSBhY3RpdmUgY2hpbGQgcHJvY2Vzc2VzLCBhbmQgdGhlIHJldHVyblxuIgorIiAgICBzdGF0dXMgaXMgemVyby4gIElmIElEIGlzIGEgYSBqb2Igc3BlY2lmaWNhdGlvbiwgd2FpdHMgZm9yIGFsbCAiCisicHJvY2Vzc2VzXG4iCisiICAgIGluIHRoZSBqb2IncyBwaXBlbGluZS5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgSUQ7IGZhaWxzIGlmIElEIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gIgorImlzXG4iCisiICAgIGdpdmVuLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjE0ODIKK21zZ2lkICIiCisiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCisiICAgIFxuIgorIiAgICBXYWl0cyBmb3IgdGhlIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXBvcnRzIGl0cyB0ZXJtaW5hdGlvbiBzdGF0dXMuICBJZlxuIgorIiAgICBQSUQgaXMgbm90IGdpdmVuLCBhbGwgY3VycmVudGx5IGFjdGl2ZSBjaGlsZCBwcm9jZXNzZXMgYXJlIHdhaXRlZCBmb3IsXG4iCisiICAgIGFuZCB0aGUgcmV0dXJuIGNvZGUgaXMgemVyby4gIFBJRCBtdXN0IGJlIGEgcHJvY2VzcyBJRC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgSUQ7IGZhaWxzIGlmIElEIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gIgorImlzXG4iCisiICAgIGdpdmVuLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjE0OTcKK21zZ2lkICIiCisiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGBmb3InIGxvb3AgZXhlY3V0ZXMgYSBzZXF1ZW5jZSBvZiBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYVxuIgorIiAgICBsaXN0IG9mIGl0ZW1zLiAgSWYgYGluIFdPUkRTIC4uLjsnIGlzIG5vdCBwcmVzZW50LCB0aGVuIGBpbiBcIiRAXCInIGlzXG4iCisiICAgIGFzc3VtZWQuICBGb3IgZWFjaCBlbGVtZW50IGluIFdPUkRTLCBOQU1FIGlzIHNldCB0byB0aGF0IGVsZW1lbnQsIGFuZFxuIgorIiAgICB0aGUgQ09NTUFORFMgYXJlIGV4ZWN1dGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjE1MTEKK21zZ2lkICIiCisiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKKyIgICAgXG4iCisiICAgIEVxdWl2YWxlbnQgdG9cbiIKKyIgICAgXHQoKCBFWFAxICkpXG4iCisiICAgIFx0d2hpbGUgKCggRVhQMiApKTsgZG9cbiIKKyIgICAgXHRcdENPTU1BTkRTXG4iCisiICAgIFx0XHQoKCBFWFAzICkpXG4iCisiICAgIFx0ZG9uZVxuIgorIiAgICBFWFAxLCBFWFAyLCBhbmQgRVhQMyBhcmUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy4gIElmIGFueSBleHByZXNzaW9uIGlzXG4iCisiICAgIG9taXR0ZWQsIGl0IGJlaGF2ZXMgYXMgaWYgaXQgZXZhbHVhdGVzIHRvIDEuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisiTMO6aWIgZm9yIHVpbWhyaW9jaHTDumlsLlxuIgorIiAgICBcbiIKKyIgICAgTWFyIGFuIGdjw6lhbm5hIGxlXG4iCisiICAgIFx0KCggU0xPTk4xICkpXG4iCisiICAgIFx0d2hpbGUgKCggU0xPTk4yICkpOyBkb1xuIgorIiAgICBcdFx0T1JEQUlUSEVcbiIKKyIgICAgXHRcdCgoIFNMT05OMyApKVxuIgorIiAgICBcdGRvbmVcbiIKKyIgICAgSXMgc2xvaW5uIHVpbWhyZWFjaHTDumxhIGlhZCBTTE9OTjEsIFNMT05OMiBhZ3VzIFNMT05OMy5cbiIKKyIgICAgTcOhIGZow6FndGFyIHNsb25uIGFyIGJpdGggYXIgbMOhciwgb2licsOtb25uIGFuIGzDumliIG1hciBhIGJoZWFkaCBsdWFjaCBkZSAiCisiMSBhaXIuXG4iCisiICAgIFxuIgorIiAgICBTdMOhZGFzIFNjb3J0aGE6XG4iCisiICAgIEFpc2NodWlydGVhciBzdMOhZGFzIGFuIG9yZGFpdGhlIGRoZWlyZWFuYWlnaCBhIHJpdGhlYWRoLiIKKworIzogYnVpbHRpbnMuYzoxNTI5Cittc2dpZCAiIgorIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBXT1JEUyBhcmUgZXhwYW5kZWQsIGdlbmVyYXRpbmcgYSBsaXN0IG9mIHdvcmRzLiAgVGhlXG4iCisiICAgIHNldCBvZiBleHBhbmRlZCB3b3JkcyBpcyBwcmludGVkIG9uIHRoZSBzdGFuZGFyZCBlcnJvciwgZWFjaFxuIgorIiAgICBwcmVjZWRlZCBieSBhIG51bWJlci4gIElmIGBpbiBXT1JEUycgaXMgbm90IHByZXNlbnQsIGBpbiBcIiRAXCInXG4iCisiICAgIGlzIGFzc3VtZWQuICBUaGUgUFMzIHByb21wdCBpcyB0aGVuIGRpc3BsYXllZCBhbmQgYSBsaW5lIHJlYWRcbiIKKyIgICAgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQuICBJZiB0aGUgbGluZSBjb25zaXN0cyBvZiB0aGUgbnVtYmVyXG4iCisiICAgIGNvcnJlc3BvbmRpbmcgdG8gb25lIG9mIHRoZSBkaXNwbGF5ZWQgd29yZHMsIHRoZW4gTkFNRSBpcyBzZXRcbiIKKyIgICAgdG8gdGhhdCB3b3JkLiAgSWYgdGhlIGxpbmUgaXMgZW1wdHksIFdPUkRTIGFuZCB0aGUgcHJvbXB0IGFyZVxuIgorIiAgICByZWRpc3BsYXllZC4gIElmIEVPRiBpcyByZWFkLCB0aGUgY29tbWFuZCBjb21wbGV0ZXMuICBBbnkgb3RoZXJcbiIKKyIgICAgdmFsdWUgcmVhZCBjYXVzZXMgTkFNRSB0byBiZSBzZXQgdG8gbnVsbC4gIFRoZSBsaW5lIHJlYWQgaXMgc2F2ZWRcbiIKKyIgICAgaW4gdGhlIHZhcmlhYmxlIFJFUExZLiAgQ09NTUFORFMgYXJlIGV4ZWN1dGVkIGFmdGVyIGVhY2ggc2VsZWN0aW9uXG4iCisiICAgIHVudGlsIGEgYnJlYWsgY29tbWFuZCBpcyBleGVjdXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxNTUwCittc2dpZCAiIgorIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgRXhlY3V0ZSBQSVBFTElORSBhbmQgcHJpbnQgYSBzdW1tYXJ5IG9mIHRoZSByZWFsIHRpbWUsIHVzZXIgQ1BVIHRpbWUsXG4iCisiICAgIGFuZCBzeXN0ZW0gQ1BVIHRpbWUgc3BlbnQgZXhlY3V0aW5nIFBJUEVMSU5FIHdoZW4gaXQgdGVybWluYXRlcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLXBcdHByaW50IHRoZSB0aW1pbmcgc3VtbWFyeSBpbiB0aGUgcG9ydGFibGUgUG9zaXggZm9ybWF0XG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgdGhlIFRJTUVGT1JNQVQgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgb3V0cHV0IGZvcm1hdC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgcmV0dXJuIHN0YXR1cyBvZiBQSVBFTElORS4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxNTY3Cittc2dpZCAiIgorIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKKyIgICAgXG4iCisiICAgIFNlbGVjdGl2ZWx5IGV4ZWN1dGUgQ09NTUFORFMgYmFzZWQgdXBvbiBXT1JEIG1hdGNoaW5nIFBBVFRFUk4uICBUaGVcbiIKKyIgICAgYHwnIGlzIHVzZWQgdG8gc2VwYXJhdGUgbXVsdGlwbGUgcGF0dGVybnMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zLmM6MTU3OQorbXNnaWQgIiIKKyJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGBpZiBDT01NQU5EUycgbGlzdCBpcyBleGVjdXRlZC4gIElmIGl0cyBleGl0IHN0YXR1cyBpcyB6ZXJvLCB0aGVuICIKKyJ0aGVcbiIKKyIgICAgYHRoZW4gQ09NTUFORFMnIGxpc3QgaXMgZXhlY3V0ZWQuICBPdGhlcndpc2UsIGVhY2ggYGVsaWYgQ09NTUFORFMnIGxpc3QgIgorImlzXG4iCisiICAgIGV4ZWN1dGVkIGluIHR1cm4sIGFuZCBpZiBpdHMgZXhpdCBzdGF0dXMgaXMgemVybywgdGhlIGNvcnJlc3BvbmRpbmdcbiIKKyIgICAgYHRoZW4gQ09NTUFORFMnIGxpc3QgaXMgZXhlY3V0ZWQgYW5kIHRoZSBpZiBjb21tYW5kIGNvbXBsZXRlcy4gICIKKyJPdGhlcndpc2UsXG4iCisiICAgIHRoZSBgZWxzZSBDT01NQU5EUycgbGlzdCBpcyBleGVjdXRlZCwgaWYgcHJlc2VudC4gIFRoZSBleGl0IHN0YXR1cyBvZiAiCisidGhlXG4iCisiICAgIGVudGlyZSBjb25zdHJ1Y3QgaXMgdGhlIGV4aXQgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQsIG9yICIKKyJ6ZXJvXG4iCisiICAgIGlmIG5vIGNvbmRpdGlvbiB0ZXN0ZWQgdHJ1ZS5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxNTk2Cittc2dpZCAiIgorIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCisiICAgIFxuIgorIiAgICBFeHBhbmQgYW5kIGV4ZWN1dGUgQ09NTUFORFMgYXMgbG9uZyBhcyB0aGUgZmluYWwgY29tbWFuZCBpbiB0aGVcbiIKKyIgICAgYHdoaWxlJyBDT01NQU5EUyBoYXMgYW4gZXhpdCBzdGF0dXMgb2YgemVyby5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxNjA4Cittc2dpZCAiIgorIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKKyIgICAgXG4iCisiICAgIEV4cGFuZCBhbmQgZXhlY3V0ZSBDT01NQU5EUyBhcyBsb25nIGFzIHRoZSBmaW5hbCBjb21tYW5kIGluIHRoZVxuIgorIiAgICBgdW50aWwnIENPTU1BTkRTIGhhcyBhbiBleGl0IHN0YXR1cyB3aGljaCBpcyBub3QgemVyby5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxNjIwCittc2dpZCAiIgorIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgorIiAgICBcbiIKKyIgICAgRXhlY3V0ZSBDT01NQU5EIGFzeW5jaHJvbm91c2x5LCB3aXRoIHRoZSBzdGFuZGFyZCBvdXRwdXQgYW5kIHN0YW5kYXJkXG4iCisiICAgIGlucHV0IG9mIHRoZSBjb21tYW5kIGNvbm5lY3RlZCB2aWEgYSBwaXBlIHRvIGZpbGUgZGVzY3JpcHRvcnMgYXNzaWduZWRcbiIKKyIgICAgdG8gaW5kaWNlcyAwIGFuZCAxIG9mIGFuIGFycmF5IHZhcmlhYmxlIE5BTUUgaW4gdGhlIGV4ZWN1dGluZyBzaGVsbC5cbiIKKyIgICAgVGhlIGRlZmF1bHQgTkFNRSBpcyBcIkNPUFJPQ1wiLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zLmM6MTYzNAorbXNnaWQgIiIKKyJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCisiICAgIFxuIgorIiAgICBDcmVhdGUgYSBzaGVsbCBmdW5jdGlvbiBuYW1lZCBOQU1FLiAgV2hlbiBpbnZva2VkIGFzIGEgc2ltcGxlIGNvbW1hbmQsXG4iCisiICAgIE5BTUUgcnVucyBDT01NQU5EcyBpbiB0aGUgY2FsbGluZyBzaGVsbCdzIGNvbnRleHQuICBXaGVuIE5BTUUgaXMgIgorImludm9rZWQsXG4iCisiICAgIHRoZSBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24gYXMgJDEuLi4kbiwgYW5kIHRoZSBmdW5jdGlvbidzXG4iCisiICAgIG5hbWUgaXMgaW4gJEZVTkNOQU1FLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCittc2dzdHIgIiIKKyJTYWluaWdoIGZlaWRobSBiaGxhb2lzY2UuXG4iCisiICAgIFxuIgorIiAgICBDcnV0aGHDrW9ubiBmZWlkaG0gYmhsYW9pc2NlIGRhcmJoIGFpbm0gQUlOTS4gTnVhaXIgYSDDunPDoWlkdGVhciBtYXIgb3Jkw7pcbiIKKyIgICAgc2ltcGzDrSDDqSwgcml0aGVhbm4gQUlOTSBuYSBoT1JEVUlUSEUgaSBnY29taHRow6lhY3MgbmEgYmxhb2lzY2UgZ2xhb2lnaC5cbiIKKyIgICAgTnVhaXIgYSBnaGxhb2l0ZWFyIEFJTk0sIHR1Z3RhciBuYSBoYXJnw7NpbnTDrSBkb24gZmhlaWRobSBtYXIgJDAgLi4uICRuLCAiCisiYWd1c1xuIgorIiAgICB0w6EgYWlubSBuYSBmZWlkaG1lIGkgJEZVTkNOQU1FLlxuIgorIiAgICBcbiIKKyIgICAgU3TDoWRhcyBTY29ydGhhOlxuIgorIiAgICBBaXNjaHVpcnRlYXIgcmF0aCBtdXJhIGJoZnVpbCBBSU5NIGlubMOpaXRlIGFtaMOhaW4uIgorCisjOiBidWlsdGlucy5jOjE2NDgKK21zZ2lkICIiCisiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgorIiAgICBcbiIKKyIgICAgUnVuIGEgc2V0IG9mIGNvbW1hbmRzIGluIGEgZ3JvdXAuICBUaGlzIGlzIG9uZSB3YXkgdG8gcmVkaXJlY3QgYW5cbiIKKyIgICAgZW50aXJlIHNldCBvZiBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKyJHcsO6cMOhaWwgb3JkdWl0aGUgbWFyIGFvbmFkLlxuIgorIiAgICBcbiIKKyIgICAgUml0aCB0YWNhciBvcmR1aXRoZSBpIG5ncsO6cGEuIFNlbyBiZWFsYWNoIGFtaMOhaW4gY2h1biB0YWNhciBpb21sw6FuXG4iCisiICAgIG9yZHVpdGhlIGEgYXRyZW9yw7ouXG4iCisiICAgIFxuIgorIiAgICBTdMOhZGFzIFNjb3J0aGE6XG4iCisiICAgIEFpc2NodWlydGVhciBzdMOhZGFzIGFuIG9yZGFpdGhlIGRoZWlyZWFuYWlnaCBhIHJpdGhlYWRoLiIKKworIzogYnVpbHRpbnMuYzoxNjYwCittc2dpZCAiIgorIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKKyIgICAgXG4iCisiICAgIEVxdWl2YWxlbnQgdG8gdGhlIEpPQl9TUEVDIGFyZ3VtZW50IHRvIHRoZSBgZmcnIGNvbW1hbmQuICBSZXN1bWUgYVxuIgorIiAgICBzdG9wcGVkIG9yIGJhY2tncm91bmQgam9iLiAgSk9CX1NQRUMgY2FuIHNwZWNpZnkgZWl0aGVyIGEgam9iIG5hbWVcbiIKKyIgICAgb3IgYSBqb2IgbnVtYmVyLiAgRm9sbG93aW5nIEpPQl9TUEVDIHdpdGggYSBgJicgcGxhY2VzIHRoZSBqb2IgaW5cbiIKKyIgICAgdGhlIGJhY2tncm91bmQsIGFzIGlmIHRoZSBqb2Igc3BlY2lmaWNhdGlvbiBoYWQgYmVlbiBzdXBwbGllZCBhcyBhblxuIgorIiAgICBhcmd1bWVudCB0byBgYmcnLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zLmM6MTY3NQorbXNnaWQgIiIKKyJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCisiICAgIFxuIgorIiAgICBUaGUgRVhQUkVTU0lPTiBpcyBldmFsdWF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBmb3IgYXJpdGhtZXRpY1xuIgorIiAgICBldmFsdWF0aW9uLiAgRXF1aXZhbGVudCB0byBcImxldCBFWFBSRVNTSU9OXCIuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zLmM6MTY4NworbXNnaWQgIiIKKyJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCisiICAgIFxuIgorIiAgICBSZXR1cm5zIGEgc3RhdHVzIG9mIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIGV2YWx1YXRpb24gb2YgdGhlICIKKyJjb25kaXRpb25hbFxuIgorIiAgICBleHByZXNzaW9uIEVYUFJFU1NJT04uICBFeHByZXNzaW9ucyBhcmUgY29tcG9zZWQgb2YgdGhlIHNhbWUgcHJpbWFyaWVzICIKKyJ1c2VkXG4iCisiICAgIGJ5IHRoZSBgdGVzdCcgYnVpbHRpbiwgYW5kIG1heSBiZSBjb21iaW5lZCB1c2luZyB0aGUgZm9sbG93aW5nICIKKyJvcGVyYXRvcnM6XG4iCisiICAgIFxuIgorIiAgICAgICggRVhQUkVTU0lPTiApXHRSZXR1cm5zIHRoZSB2YWx1ZSBvZiBFWFBSRVNTSU9OXG4iCisiICAgICAgISBFWFBSRVNTSU9OXHRcdFRydWUgaWYgRVhQUkVTU0lPTiBpcyBmYWxzZTsgZWxzZSBmYWxzZVxuIgorIiAgICAgIEVYUFIxICYmIEVYUFIyXHRUcnVlIGlmIGJvdGggRVhQUjEgYW5kIEVYUFIyIGFyZSB0cnVlOyBlbHNlIGZhbHNlXG4iCisiICAgICAgRVhQUjEgfHwgRVhQUjJcdFRydWUgaWYgZWl0aGVyIEVYUFIxIG9yIEVYUFIyIGlzIHRydWU7IGVsc2UgZmFsc2VcbiIKKyIgICAgXG4iCisiICAgIFdoZW4gdGhlIGA9PScgYW5kIGAhPScgb3BlcmF0b3JzIGFyZSB1c2VkLCB0aGUgc3RyaW5nIHRvIHRoZSByaWdodCBvZlxuIgorIiAgICB0aGUgb3BlcmF0b3IgaXMgdXNlZCBhcyBhIHBhdHRlcm4gYW5kIHBhdHRlcm4gbWF0Y2hpbmcgaXMgcGVyZm9ybWVkLlxuIgorIiAgICBXaGVuIHRoZSBgPX4nIG9wZXJhdG9yIGlzIHVzZWQsIHRoZSBzdHJpbmcgdG8gdGhlIHJpZ2h0IG9mIHRoZSBvcGVyYXRvclxuIgorIiAgICBpcyBtYXRjaGVkIGFzIGEgcmVndWxhciBleHByZXNzaW9uLlxuIgorIiAgICBcbiIKKyIgICAgVGhlICYmIGFuZCB8fCBvcGVyYXRvcnMgZG8gbm90IGV2YWx1YXRlIEVYUFIyIGlmIEVYUFIxIGlzIHN1ZmZpY2llbnQgdG9cbiIKKyIgICAgZGV0ZXJtaW5lIHRoZSBleHByZXNzaW9uJ3MgdmFsdWUuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjE3MTMKK21zZ2lkICIiCisiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKKyIgICAgXG4iCisiICAgIEJBU0hfVkVSU0lPTlx0VmVyc2lvbiBpbmZvcm1hdGlvbiBmb3IgdGhpcyBCYXNoLlxuIgorIiAgICBDRFBBVEhcdEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoXG4iCisiICAgIFx0XHRmb3IgZGlyZWN0b3JpZXMgZ2l2ZW4gYXMgYXJndW1lbnRzIHRvIGBjZCcuXG4iCisiICAgIEdMT0JJR05PUkVcdEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgZGVzY3JpYmluZyBmaWxlbmFtZXMgdG9cbiIKKyIgICAgXHRcdGJlIGlnbm9yZWQgYnkgcGF0aG5hbWUgZXhwYW5zaW9uLlxuIgorIiAgICBISVNURklMRVx0VGhlIG5hbWUgb2YgdGhlIGZpbGUgd2hlcmUgeW91ciBjb21tYW5kIGhpc3RvcnkgaXMgc3RvcmVkLlxuIgorIiAgICBISVNURklMRVNJWkVcdFRoZSBtYXhpbXVtIG51bWJlciBvZiBsaW5lcyB0aGlzIGZpbGUgY2FuIGNvbnRhaW4uXG4iCisiICAgIEhJU1RTSVpFXHRUaGUgbWF4aW11bSBudW1iZXIgb2YgaGlzdG9yeSBsaW5lcyB0aGF0IGEgcnVubmluZ1xuIgorIiAgICBcdFx0c2hlbGwgY2FuIGFjY2Vzcy5cbiIKKyIgICAgSE9NRVx0VGhlIGNvbXBsZXRlIHBhdGhuYW1lIHRvIHlvdXIgbG9naW4gZGlyZWN0b3J5LlxuIgorIiAgICBIT1NUTkFNRVx0VGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgaG9zdC5cbiIKKyIgICAgSE9TVFRZUEVcdFRoZSB0eXBlIG9mIENQVSB0aGlzIHZlcnNpb24gb2YgQmFzaCBpcyBydW5uaW5nIHVuZGVyLlxuIgorIiAgICBJR05PUkVFT0ZcdENvbnRyb2xzIHRoZSBhY3Rpb24gb2YgdGhlIHNoZWxsIG9uIHJlY2VpcHQgb2YgYW4gRU9GXG4iCisiICAgIFx0XHRjaGFyYWN0ZXIgYXMgdGhlIHNvbGUgaW5wdXQuICBJZiBzZXQsIHRoZW4gdGhlIHZhbHVlXG4iCisiICAgIFx0XHRvZiBpdCBpcyB0aGUgbnVtYmVyIG9mIEVPRiBjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIHNlZW5cbiIKKyIgICAgXHRcdGluIGEgcm93IG9uIGFuIGVtcHR5IGxpbmUgYmVmb3JlIHRoZSBzaGVsbCB3aWxsIGV4aXRcbiIKKyIgICAgXHRcdChkZWZhdWx0IDEwKS4gIFdoZW4gdW5zZXQsIEVPRiBzaWduaWZpZXMgdGhlIGVuZCBvZiBpbnB1dC5cbiIKKyIgICAgTUFDSFRZUEVcdEEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIGN1cnJlbnQgc3lzdGVtIEJhc2ggaXMgcnVubmluZyBvbi5cbiIKKyIgICAgTUFJTENIRUNLXHRIb3cgb2Z0ZW4sIGluIHNlY29uZHMsIEJhc2ggY2hlY2tzIGZvciBuZXcgbWFpbC5cbiIKKyIgICAgTUFJTFBBVEhcdEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZmlsZW5hbWVzIHdoaWNoIEJhc2ggY2hlY2tzXG4iCisiICAgIFx0XHRmb3IgbmV3IG1haWwuXG4iCisiICAgIE9TVFlQRVx0VGhlIHZlcnNpb24gb2YgVW5peCB0aGlzIHZlcnNpb24gb2YgQmFzaCBpcyBydW5uaW5nIG9uLlxuIgorIiAgICBQQVRIXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCB3aGVuXG4iCisiICAgIFx0XHRsb29raW5nIGZvciBjb21tYW5kcy5cbiIKKyIgICAgUFJPTVBUX0NPTU1BTkRcdEEgY29tbWFuZCB0byBiZSBleGVjdXRlZCBiZWZvcmUgdGhlIHByaW50aW5nIG9mIGVhY2hcbiIKKyIgICAgXHRcdHByaW1hcnkgcHJvbXB0LlxuIgorIiAgICBQUzFcdFx0VGhlIHByaW1hcnkgcHJvbXB0IHN0cmluZy5cbiIKKyIgICAgUFMyXHRcdFRoZSBzZWNvbmRhcnkgcHJvbXB0IHN0cmluZy5cbiIKKyIgICAgUFdEXHRcdFRoZSBmdWxsIHBhdGhuYW1lIG9mIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKKyIgICAgU0hFTExPUFRTXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGVuYWJsZWQgc2hlbGwgb3B0aW9ucy5cbiIKKyIgICAgVEVSTVx0VGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgdGVybWluYWwgdHlwZS5cbiIKKyIgICAgVElNRUZPUk1BVFx0VGhlIG91dHB1dCBmb3JtYXQgZm9yIHRpbWluZyBzdGF0aXN0aWNzIGRpc3BsYXllZCBieSB0aGVcbiIKKyIgICAgXHRcdGB0aW1lJyByZXNlcnZlZCB3b3JkLlxuIgorIiAgICBhdXRvX3Jlc3VtZVx0Tm9uLW51bGwgbWVhbnMgYSBjb21tYW5kIHdvcmQgYXBwZWFyaW5nIG9uIGEgbGluZSBieVxuIgorIiAgICBcdFx0aXRzZWxmIGlzIGZpcnN0IGxvb2tlZCBmb3IgaW4gdGhlIGxpc3Qgb2YgY3VycmVudGx5XG4iCisiICAgIFx0XHRzdG9wcGVkIGpvYnMuICBJZiBmb3VuZCB0aGVyZSwgdGhhdCBqb2IgaXMgZm9yZWdyb3VuZGVkLlxuIgorIiAgICBcdFx0QSB2YWx1ZSBvZiBgZXhhY3QnIG1lYW5zIHRoYXQgdGhlIGNvbW1hbmQgd29yZCBtdXN0XG4iCisiICAgIFx0XHRleGFjdGx5IG1hdGNoIGEgY29tbWFuZCBpbiB0aGUgbGlzdCBvZiBzdG9wcGVkIGpvYnMuICBBXG4iCisiICAgIFx0XHR2YWx1ZSBvZiBgc3Vic3RyaW5nJyBtZWFucyB0aGF0IHRoZSBjb21tYW5kIHdvcmQgbXVzdFxuIgorIiAgICBcdFx0bWF0Y2ggYSBzdWJzdHJpbmcgb2YgdGhlIGpvYi4gIEFueSBvdGhlciB2YWx1ZSBtZWFucyB0aGF0XG4iCisiICAgIFx0XHR0aGUgY29tbWFuZCBtdXN0IGJlIGEgcHJlZml4IG9mIGEgc3RvcHBlZCBqb2IuXG4iCisiICAgIGhpc3RjaGFyc1x0Q2hhcmFjdGVycyBjb250cm9sbGluZyBoaXN0b3J5IGV4cGFuc2lvbiBhbmQgcXVpY2tcbiIKKyIgICAgXHRcdHN1YnN0aXR1dGlvbi4gIFRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgdGhlIGhpc3RvcnlcbiIKKyIgICAgXHRcdHN1YnN0aXR1dGlvbiBjaGFyYWN0ZXIsIHVzdWFsbHkgYCEnLiAgVGhlIHNlY29uZCBpc1xuIgorIiAgICBcdFx0dGhlIGBxdWljayBzdWJzdGl0dXRpb24nIGNoYXJhY3RlciwgdXN1YWxseSBgXicuICBUaGVcbiIKKyIgICAgXHRcdHRoaXJkIGlzIHRoZSBgaGlzdG9yeSBjb21tZW50JyBjaGFyYWN0ZXIsIHVzdWFsbHkgYCMnLlxuIgorIiAgICBISVNUSUdOT1JFXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIHVzZWQgdG8gZGVjaWRlIHdoaWNoXG4iCisiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjE3NzAKK21zZ2lkICIiCisiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgorIiAgICBcbiIKKyIgICAgQWRkcyBhIGRpcmVjdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXNcbiIKKyIgICAgdGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5ldyB0b3Agb2YgdGhlIHN0YWNrIHRoZSBjdXJyZW50IHdvcmtpbmdcbiIKKyIgICAgZGlyZWN0b3J5LiAgV2l0aCBubyBhcmd1bWVudHMsIGV4Y2hhbmdlcyB0aGUgdG9wIHR3byBkaXJlY3Rvcmllcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gYWRkaW5nXG4iCisiICAgIFx0ZGlyZWN0b3JpZXMgdG8gdGhlIHN0YWNrLCBzbyBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICArTlx0Um90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmdcbiIKKyIgICAgXHRmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgorIiAgICBcdHplcm8pIGlzIGF0IHRoZSB0b3AuXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHRSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSBOdGggZGlyZWN0b3J5IChjb3VudGluZ1xuIgorIiAgICBcdGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgorIiAgICBcdHplcm8pIGlzIGF0IHRoZSB0b3AuXG4iCisiICAgIFxuIgorIiAgICAgIGRpclx0QWRkcyBESVIgdG8gdGhlIGRpcmVjdG9yeSBzdGFjayBhdCB0aGUgdG9wLCBtYWtpbmcgaXQgdGhlXG4iCisiICAgIFx0bmV3IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgYXJndW1lbnQgaXMgc3VwcGxpZWQgb3IgdGhlIGRpcmVjdG9yeVxuIgorIiAgICBjaGFuZ2UgZmFpbHMuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zLmM6MTgwNAorbXNnaWQgIiIKKyJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKKyIgICAgXG4iCisiICAgIFJlbW92ZXMgZW50cmllcyBmcm9tIHRoZSBkaXJlY3Rvcnkgc3RhY2suICBXaXRoIG5vIGFyZ3VtZW50cywgcmVtb3Zlc1xuIgorIiAgICB0aGUgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSBzdGFjaywgYW5kIGNoYW5nZXMgdG8gdGhlIG5ldyB0b3AgZGlyZWN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtblx0U3VwcHJlc3NlcyB0aGUgbm9ybWFsIGNoYW5nZSBvZiBkaXJlY3Rvcnkgd2hlbiByZW1vdmluZ1xuIgorIiAgICBcdGRpcmVjdG9yaWVzIGZyb20gdGhlIHN0YWNrLCBzbyBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICArTlx0UmVtb3ZlcyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3RcbiIKKyIgICAgXHRzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGggemVyby4gIEZvciBleGFtcGxlOiBgcG9wZCArMCdcbiIKKyIgICAgXHRyZW1vdmVzIHRoZSBmaXJzdCBkaXJlY3RvcnksIGBwb3BkICsxJyB0aGUgc2Vjb25kLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0UmVtb3ZlcyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0XG4iCisiICAgIFx0c2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgLTAnXG4iCisiICAgIFx0cmVtb3ZlcyB0aGUgbGFzdCBkaXJlY3RvcnksIGBwb3BkIC0xJyB0aGUgbmV4dCB0byBsYXN0LlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIHN1cHBsaWVkIG9yIHRoZSBkaXJlY3RvcnlcbiIKKyIgICAgY2hhbmdlIGZhaWxzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjE4MzQKK21zZ2lkICIiCisiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCisiICAgIFxuIgorIiAgICBEaXNwbGF5IHRoZSBsaXN0IG9mIGN1cnJlbnRseSByZW1lbWJlcmVkIGRpcmVjdG9yaWVzLiAgRGlyZWN0b3JpZXNcbiIKKyIgICAgZmluZCB0aGVpciB3YXkgb250byB0aGUgbGlzdCB3aXRoIHRoZSBgcHVzaGQnIGNvbW1hbmQ7IHlvdSBjYW4gZ2V0XG4iCisiICAgIGJhY2sgdXAgdGhyb3VnaCB0aGUgbGlzdCB3aXRoIHRoZSBgcG9wZCcgY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWNcdGNsZWFyIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbGVtZW50c1xuIgorIiAgICAgIC1sXHRkbyBub3QgcHJpbnQgdGlsZGUtcHJlZml4ZWQgdmVyc2lvbnMgb2YgZGlyZWN0b3JpZXMgcmVsYXRpdmVcbiIKKyIgICAgXHR0byB5b3VyIGhvbWUgZGlyZWN0b3J5XG4iCisiICAgICAgLXBcdHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmVcbiIKKyIgICAgICAtdlx0cHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZSBwcmVmaXhlZFxuIgorIiAgICBcdHdpdGggaXRzIHBvc2l0aW9uIGluIHRoZSBzdGFja1xuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgICtOXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvd24gIgorImJ5XG4iCisiICAgIFx0ZGlycyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duICIKKyJieVxuIgorIiAgICBcdGRpcnMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjE4NjMKK21zZ2lkICIiCisiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgQ2hhbmdlIHRoZSBzZXR0aW5nIG9mIGVhY2ggc2hlbGwgb3B0aW9uIE9QVE5BTUUuICBXaXRob3V0IGFueSBvcHRpb25cbiIKKyIgICAgYXJndW1lbnRzLCBsaXN0IGFsbCBzaGVsbCBvcHRpb25zIHdpdGggYW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIG9yIG5vdCAiCisiZWFjaFxuIgorIiAgICBpcyBzZXQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1vXHRyZXN0cmljdCBPUFROQU1FcyB0byB0aG9zZSBkZWZpbmVkIGZvciB1c2Ugd2l0aCBgc2V0IC1vJ1xuIgorIiAgICAgIC1wXHRwcmludCBlYWNoIHNoZWxsIG9wdGlvbiB3aXRoIGFuIGluZGljYXRpb24gb2YgaXRzIHN0YXR1c1xuIgorIiAgICAgIC1xXHRzdXBwcmVzcyBvdXRwdXRcbiIKKyIgICAgICAtc1x0ZW5hYmxlIChzZXQpIGVhY2ggT1BUTkFNRVxuIgorIiAgICAgIC11XHRkaXNhYmxlICh1bnNldCkgZWFjaCBPUFROQU1FXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIGlmIE9QVE5BTUUgaXMgZW5hYmxlZDsgZmFpbHMgaWYgYW4gaW52YWxpZCBvcHRpb24gaXNcbiIKKyIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxODg0Cittc2dpZCAiIgorIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtdiB2YXJcdGFzc2lnbiB0aGUgb3V0cHV0IHRvIHNoZWxsIHZhcmlhYmxlIFZBUiByYXRoZXIgdGhhblxuIgorIiAgICBcdFx0ZGlzcGxheSBpdCBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0XG4iCisiICAgIFxuIgorIiAgICBGT1JNQVQgaXMgYSBjaGFyYWN0ZXIgc3RyaW5nIHdoaWNoIGNvbnRhaW5zIHRocmVlIHR5cGVzIG9mIG9iamVjdHM6ICIKKyJwbGFpblxuIgorIiAgICBjaGFyYWN0ZXJzLCB3aGljaCBhcmUgc2ltcGx5IGNvcGllZCB0byBzdGFuZGFyZCBvdXRwdXQ7IGNoYXJhY3RlciAiCisiZXNjYXBlXG4iCisiICAgIHNlcXVlbmNlcywgd2hpY2ggYXJlIGNvbnZlcnRlZCBhbmQgY29waWVkIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQ7IGFuZFxuIgorIiAgICBmb3JtYXQgc3BlY2lmaWNhdGlvbnMsIGVhY2ggb2Ygd2hpY2ggY2F1c2VzIHByaW50aW5nIG9mIHRoZSBuZXh0ICIKKyJzdWNjZXNzaXZlXG4iCisiICAgIGFyZ3VtZW50LlxuIgorIiAgICBcbiIKKyIgICAgSW4gYWRkaXRpb24gdG8gdGhlIHN0YW5kYXJkIGZvcm1hdCBzcGVjaWZpY2F0aW9ucyBkZXNjcmliZWQgaW4gcHJpbnRmIgorIigxKVxuIgorIiAgICBhbmQgcHJpbnRmKDMpLCBwcmludGYgaW50ZXJwcmV0czpcbiIKKyIgICAgXG4iCisiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgorIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgorImFzc2lnbm1lbnRcbiIKKyIgICAgZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjE5MTMKK21zZ2lkICIiCisiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCisiICAgIFxuIgorIiAgICBGb3IgZWFjaCBOQU1FLCBzcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZC4gIElmIG5vICIKKyJvcHRpb25zXG4iCisiICAgIGFyZSBzdXBwbGllZCwgZXhpc3RpbmcgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBhcmUgcHJpbnRlZCBpbiBhIHdheSAiCisidGhhdFxuIgorIiAgICBhbGxvd3MgdGhlbSB0byBiZSByZXVzZWQgYXMgaW5wdXQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCisiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKKyIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgorIiAgICBcbiIKKyIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgorIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS4gIFRoZSAtRCBvcHRpb24gdGFrZXNcbiIKKyIgICAgcHJlY2VkZW5jZSBvdmVyIC1FLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorCisjOiBidWlsdGlucy5jOjE5NDEKK21zZ2lkICIiCisiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCisiICAgIFxuIgorIiAgICBJbnRlbmRlZCB0byBiZSB1c2VkIGZyb20gd2l0aGluIGEgc2hlbGwgZnVuY3Rpb24gZ2VuZXJhdGluZyBwb3NzaWJsZVxuIgorIiAgICBjb21wbGV0aW9ucy4gIElmIHRoZSBvcHRpb25hbCBXT1JEIGFyZ3VtZW50IGlzIHN1cHBsaWVkLCBtYXRjaGVzICIKKyJhZ2FpbnN0XG4iCisiICAgIFdPUkQgYXJlIGdlbmVyYXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyJUYWlzcGXDoWluIG5hIGhpb21sw6FuYWl0aGUgYXTDoSBhciBmw6FpbCBkZSByw6lpciBuYSByb2doYW5uYS5cbiIKKyIgICAgXG4iCisiICAgIFTDoSBzw6kgc2VvIGNlYXB0aGEgbGUgaMO6c8OhaWQgaSBiaGZlaWRtZWFubmEgYmxhb2lzY2UgYSBjaHJ1dGhhw61vbm4gIgorImlvbWzDoW5haXRoZS5cbiIKKyIgICAgIE3DoSB0aHVndGFyIGFuIGFyZ8OzaW50IHJvZ2huYWNoIEZPQ0FMLCBjcnV0aGHDrXRlYXIgaW9tbMOhbmFpdGhlXG4iCisiICAgICBhdMOhIGNvbWhvaXJpw7puYWNoIGxlIEZPQ0FMLlxuIgorIiAgICBcbiIKKyIgICAgU3TDoWRhcyBTY29ydGhhOlxuIgorIiAgICBBaXNjaHVpcnRlYXIgcmF0aCBtdXJhIHRodWd0YXIgcm9naGEgbmVhbWhiaGFpbMOtIGFndXMgbXVyYSB0aGFybGHDrW9ubiAiCisiZWFycsOhaWQuIgorCisjOiBidWlsdGlucy5jOjE5NTYKK21zZ2lkICIiCisiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCisic3VwcGxpZWQsXG4iCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCisicHJpbnRcbiIKKyIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgorInNwZWNpZmljYXRpb24uXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICBcdC1vIG9wdGlvblx0U2V0IGNvbXBsZXRpb24gb3B0aW9uIE9QVElPTiBmb3IgZWFjaCBOQU1FXG4iCisiICAgIFx0LURcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImRlZmF1bHRcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKKyIgICAgXHQtRVx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZW1wdHlcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKKyIgICAgXG4iCisiICAgIFVzaW5nIGArbycgaW5zdGVhZCBvZiBgLW8nIHR1cm5zIG9mZiB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgXG4iCisiICAgIEVhY2ggTkFNRSByZWZlcnMgdG8gYSBjb21tYW5kIGZvciB3aGljaCBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBtdXN0XG4iCisiICAgIGhhdmUgcHJldmlvdXNseSBiZWVuIGRlZmluZWQgdXNpbmcgdGhlIGBjb21wbGV0ZScgYnVpbHRpbi4gIElmIG5vIE5BTUVzXG4iCisiICAgIGFyZSBzdXBwbGllZCwgY29tcG9wdCBtdXN0IGJlIGNhbGxlZCBieSBhIGZ1bmN0aW9uIGN1cnJlbnRseSBnZW5lcmF0aW5nXG4iCisiICAgIGNvbXBsZXRpb25zLCBhbmQgdGhlIG9wdGlvbnMgZm9yIHRoYXQgY3VycmVudGx5LWV4ZWN1dGluZyBjb21wbGV0aW9uXG4iCisiICAgIGdlbmVyYXRvciBhcmUgbW9kaWZpZWQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBOQU1FIGRvZXMgbm90XG4iCisiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCittc2dzdHIgIiIKKworIzogYnVpbHRpbnMuYzoxOTg2Cittc2dpZCAiIgorIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgorIiAgICBcbiIKKyIgICAgUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIHRoZSBpbmRleGVkIGFycmF5IHZhcmlhYmxlICIKKyJBUlJBWSwgb3JcbiIKKyIgICAgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaWYgdGhlIC11IG9wdGlvbiBpcyBzdXBwbGllZC4gIFRoZSB2YXJpYWJsZSAiCisiTUFQRklMRVxuIgorIiAgICBpcyB0aGUgZGVmYXVsdCBBUlJBWS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW4gY291bnRcdENvcHkgYXQgbW9zdCBDT1VOVCBsaW5lcy4gIElmIENPVU5UIGlzIDAsIGFsbCBsaW5lcyBhcmUgIgorImNvcGllZC5cbiIKKyIgICAgICAtTyBvcmlnaW5cdEJlZ2luIGFzc2lnbmluZyB0byBBUlJBWSBhdCBpbmRleCBPUklHSU4uICBUaGUgZGVmYXVsdCAiCisiaW5kZXggaXMgMC5cbiIKKyIgICAgICAtcyBjb3VudCBcdERpc2NhcmQgdGhlIGZpcnN0IENPVU5UIGxpbmVzIHJlYWQuXG4iCisiICAgICAgLXRcdFx0UmVtb3ZlIGEgdHJhaWxpbmcgbmV3bGluZSBmcm9tIGVhY2ggbGluZSByZWFkLlxuIgorIiAgICAgIC11IGZkXHRcdFJlYWQgbGluZXMgZnJvbSBmaWxlIGRlc2NyaXB0b3IgRkQgaW5zdGVhZCBvZiB0aGUgc3RhbmRhcmQgIgorImlucHV0LlxuIgorIiAgICAgIC1DIGNhbGxiYWNrXHRFdmFsdWF0ZSBDQUxMQkFDSyBlYWNoIHRpbWUgUVVBTlRVTSBsaW5lcyBhcmUgcmVhZC5cbiIKKyIgICAgICAtYyBxdWFudHVtXHRTcGVjaWZ5IHRoZSBudW1iZXIgb2YgbGluZXMgcmVhZCBiZXR3ZWVuIGVhY2ggY2FsbCB0byAiCisiQ0FMTEJBQ0suXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgQVJSQVlcdFx0QXJyYXkgdmFyaWFibGUgbmFtZSB0byB1c2UgZm9yIGZpbGUgZGF0YS5cbiIKKyIgICAgXG4iCisiICAgIElmIC1DIGlzIHN1cHBsaWVkIHdpdGhvdXQgLWMsIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4gIFdoZW5cbiIKKyIgICAgQ0FMTEJBQ0sgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJyYXlcbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgorIiAgICBcbiIKKyIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgorImJlZm9yZVxuIgorIiAgICBhc3NpZ25pbmcgdG8gaXQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBBUlJBWSBpcyByZWFkb25seSAiCisib3JcbiIKKyIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgorbXNnc3RyICIiCisKKyM6IGJ1aWx0aW5zLmM6MjAyMAorbXNnaWQgIiIKKyJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiICAgIFxuIgorIiAgICBBIHN5bm9ueW0gZm9yIGBtYXBmaWxlJy4iCittc2dzdHIgIiIKKyJMw6lpZ2ggbMOtbnRlIMOzIGNob21oYWQgYWd1cyBjdWlyIGluIGF0aHLDs2cgZWFnYWlyIGlhZC5cbiIKKyIgICAgXG4iCisiICAgIENvbWhjaGlhbGxhY2ggbGUgXCJtYXBmaWxlXCIuIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dzdHIgIiIKKyN+ICJ4cmVhbGxvYzogbsOtIGbDqWlkaXIgJWx1IGJlYXJ0IGEgYXRobGVpdGhkaMOhaWxlYWRoICglbHUgYmVhcnQgbGVpdGhkaMOhaWx0ZSkiCisKKyN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKKyN+IG1zZ3N0ciAieHJlYWxsb2M6IG7DrSBmw6lpZGlyICVsdSBiZWFydCBhIGxlaXRoZGjDoWlsZWFkaCIKKworI34gbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKKyN+IG1zZ3N0ciAiIgorI34gInhyZWFsbG9jOiAlczolZDogbsOtIGbDqWlkaXIgJWx1IGJlYXJ0IGEgYXRobGVpdGhkaMOhaWxlYWRoICglbHUgYmVhcnQgIgorI34gImxlaXRoZGjDoWlsdGUpIgpkaWZmIC0tZ2l0IGEvcG8vaHUuZ21vIGIvcG8vaHUuZ21vCmluZGV4IDg0MjE0MTQuLmMzZjAwNWEgMTAwNjQ0Ci0tLSBhL3BvL2h1LmdtbworKysgYi9wby9odS5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vaHUucG8gYi9wby9odS5wbwppbmRleCA2NDM1ZTY3Li5jOWU5NjM3IDEwMDY0NAotLS0gYS9wby9odS5wbworKysgYi9wby9odS5wbwpAQCAtMSw0NzYgKzEsNDYxIEBACi0jIEh1bmdhcmlhbiB0cmFuc2xhdGlvbiBvZiB0aGUgR05VIGJhc2guCi0jIENvcHlyaWdodCAoQykgMjAwMiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KLSMgR+Fib3IgSXN0duFuIDxzdGl2ZUBtZXpvYmVyZW55Lmh1PiwgMjAwMi4KKyMgSHVuZ2FyaWFuIHRyYW5zbGF0aW9uIGZvciBiYXNoLgorIyBDb3B5cmlnaHQgKEMpIDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSBiYXNoIHBhY2thZ2UuCiAjCisjIE1hdGUgT3J5IDxvcnltYXRlQHVidW50dS5jb20+LCAyMDEwLgogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCAyLjBcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2gtNC4xXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDAyLTA2LTE0IDA5OjQ5R01UXG4iCi0iTGFzdC1UcmFuc2xhdG9yOiBH4WJvciBJc3R24W4gPHN0aXZlQG1lem9iZXJlbnkuaHU+XG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTAtMDgtMDYgMTc6NDQrMDIwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogTWF0ZSBPcnkgPG9yeW1hdGVAdWJ1bnR1LmNvbT5cbiIKICJMYW5ndWFnZS1UZWFtOiBIdW5nYXJpYW4gPHRyYW5zbGF0aW9uLXRlYW0taHVAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCi0iQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PUlTTy04ODU5LTJcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCi0iWC1HZW5lcmF0b3I6IEtCYWJlbCAwLjkuNVxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgogCiAjOiBhcnJheWZ1bmMuYzo1MAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCi1tc2dzdHIgImhpYuFzIHT2bWIgYSAgdPZtYmluZGV4YmVuIgorbXNnc3RyICJIaWLDoXMgdMO2bWJpbmRleCIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogbmVtIGxlaGV0c8OpZ2VzIGF6IGluZGV4ZWx0IHTDtm1iIGFzc3pvY2lhdMOtdnbDoSBhbGFrw610w6FzYSIKIAogIzogYXJyYXlmdW5jLmM6NDgwCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgotbXNnc3RyICIlYyVjOiByb3NzeiBvcGNp8yIKK21zZ3N0ciAiJXM6IMOpcnbDqW55dGVsZW4gYXNzem9jaWF0w612dMO2bWItaW5kZXgiCiAKICM6IGFycmF5ZnVuYy5jOjQ4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiB0byBub24tbnVtZXJpYyBpbmRleCIKLW1zZ3N0ciAiJXM6IG5lbSBsZWhldCBob3p64XJlbmRlbG5pIG5lbSBzeuFtIGluZGV4ZXQiCittc2dzdHIgIiVzOiBhIG5lbS1zesOhbSBpbmRleG5layB2YWzDsyDDqXJ0w6lrYWTDoXMgbmVtIGxlaGV0c8OpZ2VzIgogCiAjOiBhcnJheWZ1bmMuYzo1MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6ICVzOiBhc3N6b2NpYXTDrXYgdMO2bWJow7Z6IHZhbMOzIMOpcnTDqWthZMOhc27DoWwgbWVnIGtlbGwgYWRuaSBheiBpbmRleGV0IgogCi0jOiBiYXNoaGlzdC5jOjM4MworIzogYmFzaGhpc3QuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgotbXNnc3RyICIlczogbmVtIGxlaGV0IGzpdHJlaG96bmk6ICVzIgorbXNnc3RyICIlczogbmVtIGhvemhhdMOzIGzDqXRyZTogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQ1NworIzogYmFzaGxpbmUuYzozNDk4CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICIiCisiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogbmVtIHRhbMOhbGhhdMOzIGJpbGxlbnR5xbFraW9zenTDoXMgYSBwYXJhbmNzaG96IgogCi0jOiBiYXNobGluZS5jOjM1NDMKKyM6IGJhc2hsaW5lLmM6MzU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBheiBlbHPFkSBuZW0gc3rDs2vDtnprYXJha3RlciBuZW0g4oCeXCLigJ0iCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJuaW5jcyB6w6Fyw7Mg4oCeJWPigJ0gYSBrw7Z2ZXRrZXrFkWJlbjogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzYwNgorIzogYmFzaGxpbmUuYzozNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogaGnDoW55esOzIGtldHTFkXNwb250LWVsdsOhbGFzenTDsyIKIAogIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IGludmFsaWQgYWxpYXMgbmFtZSIKLW1zZ3N0ciAiJWMlYzogcm9zc3ogb3BjafMiCittc2dzdHIgIuKAniVz4oCdOiDDqXJ2w6lueXRlbGVuIGFsaWFzLW7DqXYiCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibmluY3MgZW5nZWTDqWx5ZXp2ZSBhIHNvcnN6ZXJrZXN6dMOpcyIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6MjA2CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IGludmFsaWQga2V5bWFwIG5hbWUiCi1tc2dzdHIgIiIKK21zZ3N0ciAi4oCeJXPigJ06IMOpcnbDqW55dGVsZW4gYmlsbGVudHnFsWtpb3N6dMOhcy1uw6l2IgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjoyNDUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHJlYWQ6ICVzIgotbXNnc3RyICIlczogbmVtIGxlaGV0IGzpdHJlaG96bmk6ICVzIgorbXNnc3RyICIlczogbmVtIG9sdmFzaGF0w7MgYSBrw7Z2ZXRrZXrFkTogJXMiCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjI2MAotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IGNhbm5vdCB1bmJpbmQiCi1tc2dzdHIgIiVzOiBwYXJhbmNzIG5lbSB0YWzhbGhhdPMiCittc2dzdHIgIuKAniVz4oCdOiBuZW0gbGVoZXRzw6lnZXMgYSBrw7Z0w6lzIG1lZ3N6w7xudGV0w6lzZSIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6Mjk1IGJ1aWx0aW5zL2JpbmQuZGVmOjMyNQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IHVua25vd24gZnVuY3Rpb24gbmFtZSIKLW1zZ3N0ciAiJXMgQ3NhayBvbHZhc2hhdPMgZnVua2Np8yIKK21zZ3N0ciAi4oCeJXPigJ06IGlzbWVyZXRsZW4gZsO8Z2d2w6lueW7DqXYiCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjMwMwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBub3QgYm91bmQgdG8gYW55IGtleXMuXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXMgbmluY3Mga8O2dHZlIGVneSBiaWxsZW50ecWxaMO2eiBzZW0uXG4iCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjMwNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBjYW4gYmUgaW52b2tlZCB2aWEgIgotbXNnc3RyICIiCittc2dzdHIgIiVzIGEga8O2dmV0a2V6xZEgbcOzZG9uIGhhanRoYXTDsyB2w6lncmU6ICIKIAogIzogYnVpbHRpbnMvYnJlYWsuZGVmOjc3IGJ1aWx0aW5zL2JyZWFrLmRlZjoxMTcKLSMsIGZ1enp5CiBtc2dpZCAibG9vcCBjb3VudCIKLW1zZ3N0ciAibG9nb3V0IgorbXNnc3RyICJjaWtsdXNzesOhbSIKIAogIzogYnVpbHRpbnMvYnJlYWsuZGVmOjEzNwogbXNnaWQgIm9ubHkgbWVhbmluZ2Z1bCBpbiBhIGBmb3InLCBgd2hpbGUnLCBvciBgdW50aWwnIGxvb3AiCi1tc2dzdHIgIiIKK21zZ3N0ciAiY3NhayDigJ5mb3LigJ0sIOKAnndoaWxl4oCdIMOpcyDigJ51bnRpbOKAnSBjaWtsdXNva2JhbiDDqXJ0ZWxtZXpoZXTFkSIKIAorIyBzZWUgJCBoZWxwIGNhbGxlcgogIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzMKIG1zZ2lkICIiCiAiUmV0dXJucyB0aGUgY29udGV4dCBvZiB0aGUgY3VycmVudCBzdWJyb3V0aW5lIGNhbGwuXG4iCiAiICAgIFxuIgogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Ci1tc2dpZCAiIgotIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgotIiAgICAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKLW1zZ2lkICIiCi0iOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCi0iICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKKyJBeiBha3R1w6FsaXMgc3p1YnJ1dGluaMOtdsOhcyBoZWx5w6l2ZWwgdMOpciB2aXNzemEuXG4iCiAiICAgIFxuIgotIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCi0iICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgotbXNnc3RyICIiCisiICAgIEVYUFIgbsOpbGvDvGwgYSAiCiAKLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyMzUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiTmluY3MgYmXDoWxsw610dmEgSE9NRSIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgotbXNnc3RyICIiCittc2dzdHIgIk5pbmNzIGJlw6FsbMOtdHZhIE9MRFBXRCIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MTAxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAibGluZSAlZDogIgotbXNnc3RyICJmb2dsYWxhdCAlM2Q6ICIKK21zZ3N0ciAiJWQuIHNvcjogIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCi1tc2dzdHIgIu1y4XMiCittc2dzdHIgImZpZ3llbG1lenRldMOpczogIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVzYWdlOiAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IGhhc3puw6FsYXQ6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgotbXNnc3RyICJ0+mwgc29rIGFyZ3VtZW50dW0iCittc2dzdHIgInTDumwgc29rIGFyZ3VtZW50dW0iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo1MDAgc2hlbGwuYzo3ODIKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKLW1zZ3N0ciAiYXogb3BjafMgcGFyYW3pdGVydCBpZ+lueWVsOi0iCittc2dzdHIgIiVzOiBhIGthcGNzb2zDs25hayBrw7Z0ZWxlesWRIGFyZ3VtZW50dW1hIHZhbiIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBudW1lcmljIGFyZ3VtZW50IHJlcXVpcmVkIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBhIGvDtnRlbGV6xZEgYXJndW1lbnR1bSBlZ3kgc3rDoW0iCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIwNQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgZm91bmQiCi1tc2dzdHIgIiVzOiBwYXJhbmNzIG5lbSB0YWzhbGhhdPMiCittc2dzdHIgIiVzOiBuZW0gdGFsw6FsaGF0w7MiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIxNCBzaGVsbC5jOjc5NQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIG9wdGlvbiIKLW1zZ3N0ciAiJWMlYzogcm9zc3ogb3BjafMiCittc2dzdHIgIiVzOiDDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjIxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIG5hbWUiCi1tc2dzdHIgIiVjJWM6IHJvc3N6IG9wY2nzIgorbXNnc3RyICIlczogw6lydsOpbnl0ZWxlbiBrYXBjc29sw7Nuw6l2IgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyMjggZ2VuZXJhbC5jOjIzMSBnZW5lcmFsLmM6MjM2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbm90IGEgdmFsaWQgaWRlbnRpZmllciIKLW1zZ3N0ciAiYCVzJyBuZW0g6XJ26W55ZXMgYXpvbm9z7XTzIgorbXNnc3RyICLigJ4lc+KAnTogw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDsyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjM4Ci0jLCBmdXp6eQogbXNnaWQgImludmFsaWQgb2N0YWwgbnVtYmVyIgotbXNnc3RyICJyb3NzeiBqZWwoc2lnbmFsKSBzeuFtIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIG9rdMOhbGlzIHN6w6FtIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyNDAKLSMsIGZ1enp5CiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgotbXNnc3RyICJyb3NzeiBqZWwoc2lnbmFsKSBzeuFtIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGhleGFkZWNpbcOhbGlzIHN6w6FtIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKLSMsIGZ1enp5CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKLW1zZ3N0ciAicm9zc3ogamVsKHNpZ25hbCkgc3rhbSIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBzesOhbSIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjUwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNpZ25hbCBzcGVjaWZpY2F0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiDDqXJ2w6lueXRlbGVuIHN6aWduw6FsbWVnYWTDoXMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI1NwogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBub3QgYSBwaWQgb3IgdmFsaWQgam9iIHNwZWMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi4oCeJXPigJ06IG5lbSBwaWQgdmFneSBtdW5rYWF6b25vc8OtdMOzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgotbXNnc3RyICIlcyBDc2FrIG9sdmFzaGF08yB24Wx0b3rzIgorbXNnc3RyICIlczogY3NhayBvbHZhc2hhdMOzIHbDoWx0b3rDsyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlcyBvdXQgb2YgcmFuZ2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6ICVzIGvDrXbDvGwgZXNpayBhIHRhcnRvbcOhbnlvbiIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjcyIGJ1aWx0aW5zL2NvbW1vbi5jOjI3NAotIywgZnV6enkKIG1zZ2lkICJhcmd1bWVudCIKLW1zZ3N0ciAicGFyYW3pdGVyIHN6/Gtz6WdlcyIKK21zZ3N0ciAiYXJndW1lbnR1bSIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6Mjc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIG91dCBvZiByYW5nZSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlcyBrw612w7xsIGVzaWsgYSB0YXJ0b23DoW55b24iCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gc3VjaCBqb2IiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IG5pbmNzIGlseWVuIG11bmthIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyOTAKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gam9iIGNvbnRyb2wiCi1tc2dzdHIgIm5pbmNzIG11bmthZm9seWFtYXQgZWxsZW71cnrpcyBlemVuIGEgcGFyYW5jc+lydGVsbWV69W4iCittc2dzdHIgIiVzOiBuaW5jcyBtdW5rYWtlemVsw6lzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyOTIKLSMsIGZ1enp5CiBtc2dpZCAibm8gam9iIGNvbnRyb2wiCi1tc2dzdHIgIm5pbmNzIG11bmthZm9seWFtYXQgZWxsZW71cnrpcyBlemVuIGEgcGFyYW5jc+lydGVsbWV69W4iCittc2dzdHIgIm5pbmNzIG11bmtha2V6ZWzDqXMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMwMgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkIgotbXNnc3RyICIlczogbXVua2Fmb2x5YW1hdCBtZWdzemFrYWR0IgorbXNnc3RyICIlczoga29ybMOhdG96b3R0IgogCiAjOiBidWlsdGlucy9jb21tb24uYzozMDQKLSMsIGZ1enp5CiBtc2dpZCAicmVzdHJpY3RlZCIKLW1zZ3N0ciAiRulsYmVzemFr7XR2YSIKK21zZ3N0ciAia29ybMOhdG96b3R0IgogCiAjOiBidWlsdGlucy9jb21tb24uYzozMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhIHNoZWxsIGJ1aWx0aW4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IG5lbSBiZcOpcMOtdGV0dCBwYXJhbmNzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzozMjEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJ3cml0ZSBlcnJvcjogJXMiCi1tc2dzdHIgIkNz9SAocGlwZSloaWJhICVzIgorbXNnc3RyICLDrXLDoXNpIGhpYmE6ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3Igc2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJoaWJhIGEgdGVybWluw6FsYXR0cmliw7p0dW0gYmXDoWxsw610w6FzYWtvcjogJXMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBnZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzIgotbXNnc3RyICIiCittc2dzdHIgImhpYmEgYSB0ZXJtaW7DoWxhdHRyaWLDunR1bSBsZWvDqXJkZXrDqXNla29yOiAlcyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6NTYzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBlcnJvciByZXRyaWV2aW5nIGN1cnJlbnQgZGlyZWN0b3J5OiAlczogJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogaGliYSBhIG11bmtha8O2bnl2dMOhciBsZWvDqXJkZXrDqXNla29yOiAlczogJXNcbiIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6NjI5IGJ1aWx0aW5zL2NvbW1vbi5jOjYzMQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCi1tc2dzdHIgIiVzOiBOZW0gZWd56XJ0ZWxt+yDhdGly4W557XThcyIKK21zZ3N0ciAiJXM6IGvDqXTDqXJ0ZWxtxbEgbXVua2FtZWdhZMOhcyIKIAogIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjI3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhY3Rpb24gbmFtZSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogw6lydsOpbnl0ZWxlbiBtxbF2ZWxldG7DqXYiCiAKICM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAogIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBuaW5jcyBraWVnw6lzesOtdMOpcyBtZWdoYXTDoXJvenZhIgogCiAjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2CiBtc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgotbXNnc3RyICIiCittc2dzdHIgImZpZ3llbG1lenRldMOpczogYSAtRiBrYXBjc29sw7MgbmVtIGEgdsOhcnQgbcOzZG9uIG3FsWvDtmRoZXQiCiAKICM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTgKIG1zZ2lkICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmlneWVsbWV6dGV0w6lzOiBhIC1DIGthcGNzb2zDsyBuZW0gYSB2w6FydCBtw7Nkb24gbcWxa8O2ZGhldCIKIAogIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjgyNgogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiamVsZW5sZWcgbmluY3Mga2llZ8Opc3rDrXTDqXNpIGbDvGdndsOpbnkgdsOpZ3JlaGFqdMOhcyBhbGF0dCIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCi0jLCBmdXp6eQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTI0CiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgotbXNnc3RyICJBIGxvY2FsLXQgY3NhayBmdW5rY2nzbiBiZWz8bCBsZWhldCBoYXN6buFsbmksIGzpdHJlaG96b3R0IHbhbHRvevMgTslWIgorbXNnc3RyICJjc2FrIGbDvGdndsOpbnliZW4gaGFzem7DoWxoYXTDsyIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjYKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibmVtIGhhc3puw6FsaGF0w7MgYSDigJ4tZuKAnSBmw7xnZ3bDqW55IGzDqXRyZWhvesOhc8OhcmEiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3OCBleGVjdXRlX2NtZC5jOjUxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgotbXNnc3RyICIlcyBDc2FrIG9sdmFzaGF08yBmdW5rY2nzIgorbXNnc3RyICIlczogY3NhayBvbHZhc2hhdMOzIGbDvGdndsOpbnkiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBkZXN0cm95IGFycmF5IHZhcmlhYmxlcyBpbiB0aGlzIHdheSIKLW1zZ3N0ciAiJCVzIO1neSBuZW0gbGVoZXQgaG96euFyZW5kZWxuaSIKK21zZ3N0ciAiJXM6IGlseWVuIG3Ds2RvbiBuZW0gbGVoZXQgdMO2bWLDtnQgbWVnc3rDvG50ZXRuaSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IG5lbSBsZWhldHPDqWdlcyBheiBhc3N6b2NpYXTDrXYgdMO2bWIgaW5kZXhlbHR0w6kgYWxha8OtdMOhc2EiCiAKICM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6MTM3IGJ1aWx0aW5zL2VuYWJsZS5kZWY6MTQ1CiBtc2dpZCAiZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYSBkaW5hbWlrdXMgYmV0w7ZsdMOpcyBuZW0gw6lyaGV0xZEgZWwiCiAKICM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6MzEyCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gc2hhcmVkIG9iamVjdCAlczogJXMiCi1tc2dzdHIgIm5lbSBsZWhldCBs6XRyZWhvem5pIGEgICVzIFwibmFtZWQgcGlwZVwiLW90IGEgJXMtbmVrOiAlcyIKK21zZ3N0ciAibWVnb3N6dG90dCBvYmpla3R1bWbDoWpsIG1lZ255aXTDoXNhIHNpa2VydGVsZW46ICVzOiAlcyIKIAogIzogYnVpbHRpbnMvZW5hYmxlLmRlZjozMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGZpbmQgJXMgaW4gc2hhcmVkIG9iamVjdCAlczogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXMgbmVtIHRhbMOhbGhhdMOzIGEoeikgJXMgbWVnb3N6dG90dCBvYmpla3R1bWbDoWpsYmFuOiAlcyIKIAogIzogYnVpbHRpbnMvZW5hYmxlLmRlZjo0NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBkeW5hbWljYWxseSBsb2FkZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IG5lbSBkaW5hbWlrdXNhbiB2YW4gYmV0w7ZsdHZlIgogCiAjOiBidWlsdGlucy9lbmFibGUuZGVmOjQ3NAotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKLW1zZ3N0ciAiJXM6IG5lbSBsZWhldCBs6XRyZWhvem5pOiAlcyIKK21zZ3N0ciAiJXM6IG5lbSB0w7Zyw7ZsaGV0xZE6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0Ci0jOiBzaGVsbC5jOjE0NTIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCi1tc2dzdHIgIiVzOiBlZ3kga/ZueXZ04XIiCittc2dzdHIgIiVzIGVneSBrw7ZueXZ0w6FyIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzOQotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgotbXNnc3RyICIlczogbmVtIGZ1dHRhdGhhdPMgYmlu4XJpcyBm4WpsIgorbXNnc3RyICIlczogbmVtIG5vcm3DoWwgZsOhamwiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ3CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IGEgZsOhamwgdMO6bCBuYWd5IgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKLSM6IHNoZWxsLmM6MTQ2MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgotbXNnc3RyICIlczogbmVtIGZ1dHRhdGhhdPMgYmlu4XJpcyBm4WpsIgorbXNnc3RyICIlczogYmluw6FyaXMgbmVtIGhhanRoYXTDsyB2w6lncmUiCiAKLSM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgotbXNnc3RyICIlczogbmVtIGxlaGV0IGzpdHJlaG96bmk6ICVzIgorbXNnc3RyICIlczogbmVtIGhhanRoYXTDsyB2w6lncmU6ICVzIgogCiAjOiBidWlsdGlucy9leGl0LmRlZjo2NQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImxvZ291dFxuIgotbXNnc3RyICJsb2dvdXQiCittc2dzdHIgImtpamVsZW50a2V6w6lzXG4iCiAKICM6IGJ1aWx0aW5zL2V4aXQuZGVmOjg4CiBtc2dpZCAibm90IGxvZ2luIHNoZWxsOiB1c2UgYGV4aXQnIgotbXNnc3RyICIiCittc2dzdHIgIm5lbSBiZWplbGVudGtlesWRIHBhcmFuY3PDqXJ0ZWxtZXrFkTogaGFzem7DoWxqYSBheiDigJ5leGl04oCdLWV0IgogCiAjOiBidWlsdGlucy9leGl0LmRlZjoxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgYXJlIHN0b3BwZWQgam9icy5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJWYW5uYWsgbGXDoWxsw610b3R0IG11bmvDoWsuXG4iCiAKICM6IGJ1aWx0aW5zL2V4aXQuZGVmOjEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGVyZSBhcmUgcnVubmluZyBqb2JzLlxuIgotbXNnc3RyICIiCittc2dzdHIgIlZhbm5hayBmdXTDsyBtdW5rw6FrLlxuIgogCiAjOiBidWlsdGlucy9mYy5kZWY6MjYyCi0jLCBmdXp6eQogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCi1tc2dzdHIgIiVzOiBwYXJhbmNzIG5lbSB0YWzhbGhhdPMiCittc2dzdHIgIm5pbmNzIGlseWVuIHBhcmFuY3MiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJlbMWRem3DqW55dsOhbGFzenTDoXMiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbnMvZmMuZGVmOjM4MAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKLW1zZ3N0ciAiJXM6IG5lbSBsZWhldCBs6XRyZWhvem5pOiAlcyIKK21zZ3N0ciAiJXM6IGF6IMOhdG1lbmV0aSBmw6FqbCBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCiAKICM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNDkgYnVpbHRpbnMvam9icy5kZWY6MjgyCiBtc2dpZCAiY3VycmVudCIKLW1zZ3N0ciAiIgorbXNnc3RyICJha3R1w6FsaXMiCiAKICM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiam9iICVkIHN0YXJ0ZWQgd2l0aG91dCBqb2IgY29udHJvbCIKLW1zZ3N0ciAiIgorbXNnc3RyICJhKHopICVkLiBtdW5rYSBtdW5rYWtlemVsw6lzIG7DqWxrw7xsIGluZHVsdCIKIAogIzogYnVpbHRpbnMvZ2V0b3B0LmM6MTEwCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCi1tc2dzdHIgIulydulueXRlbGVuIG9wY2nzOiAtIgorbXNnc3RyICIlczogw6lydsOpbnl0ZWxlbiBrYXBjc29sw7Mg4oCTICVjXG4iCiAKICM6IGJ1aWx0aW5zL2dldG9wdC5jOjExMQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJWNcbiIKLW1zZ3N0ciAiYXogb3BjafMgcGFyYW3pdGVydCBpZ+lueWVsOi0iCittc2dzdHIgIiVzOiBhIGthcGNzb2zDs25hayBrw7Z0ZWxlesWRIGFyZ3VtZW50dW1hIHZhbiDigJMgJWNcbiIKIAogIzogYnVpbHRpbnMvaGFzaC5kZWY6OTIKIG1zZ2lkICJoYXNoaW5nIGRpc2FibGVkIgotbXNnc3RyICIiCittc2dzdHIgImEgaGFzaGVsw6lzIGxlIHZhbiB0aWx0dmEiCiAKICM6IGJ1aWx0aW5zL2hhc2guZGVmOjEzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBhIGhhc2h0w6FibGEgw7xyZXNcbiIKIAotIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQorIywgYy1mb3JtYXQKIG1zZ2lkICJoaXRzXHRjb21tYW5kXG4iCi1tc2dzdHIgIvpqcmEgZnV0dGF0aGF0amEgYXogdXRvbHPzIHBhcmFuY3NvdC4iCittc2dzdHIgInQuc3rDoW1cdHBhcmFuY3NcbiIKIAorIyBmdWNrLgogIzogYnVpbHRpbnMvaGVscC5kZWY6MTMwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNoZWxsIGNvbW1hbmRzIG1hdGNoaW5nIGtleXdvcmQgYCIKIG1zZ2lkX3BsdXJhbCAiU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZHMgYCIKLW1zZ3N0clswXSAiIgotbXNnc3RyWzFdICIiCittc2dzdHJbMF0gIkEga8O2dmV0a2V6xZEga2lmZWplesOpc3JlIGlsbGVzemtlZMWRIHBhcmFuY3Nvazog4oCeIgorbXNnc3RyWzFdICJBIGvDtnZldGtlesWRIGtpZmVqZXrDqXNla3JlIGlsbGVzemtlZMWRIHBhcmFuY3Nvazog4oCeIgogCiAjOiBidWlsdGlucy9oZWxwLmRlZjoxNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIm5vIGhlbHAgdG9waWNzIG1hdGNoIGAlcycuICBUcnkgYGhlbHAgaGVscCcgb3IgYG1hbiAtayAlcycgb3IgYGluZm8gJXMnLiIKIG1zZ3N0ciAiIgorIm5lbSBpbGxlc3prZWRpayBlZ3kgc3rDs2Npa2sgc2VtIGEga8O2dmV0a2V6xZFyZTog4oCeJXPigJ0uXG4iCisiQSDigJ5oZWxwIGhlbHDigJ0sIOKAnm1hbiAtayAnJXMn4oCdIHZhZ3kg4oCeaW5mbyAnJXMn4oCdIHBhcmFuY3NvayBzZWfDrXRoZXRuZWsuIgogCiAjOiBidWlsdGlucy9oZWxwLmRlZjoxODUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW46ICVzIgotbXNnc3RyICIlczogbmVtIGxlaGV0IGzpdHJlaG96bmk6ICVzIgorbXNnc3RyICIlczogbmVtIG55aXRoYXTDsyBtZWc6ICVzIgogCiAjOiBidWlsdGlucy9oZWxwLmRlZjozMzcKICMsIGMtZm9ybWF0CkBAIC00ODMsMTE5ICs0NjgsMTMxIEBACiAiQSBzdGFyICgqKSBuZXh0IHRvIGEgbmFtZSBtZWFucyB0aGF0IHRoZSBjb21tYW5kIGlzIGRpc2FibGVkLlxuIgogIlxuIgogbXNnc3RyICIiCisiRXplayBhIHBhcmFuY3NvayBiZSB2YW5uYWsgw6lww610dmUgYSBwYXJhbmNzw6lydGVsbWV6xZFiZS4gQSDigJ5oZWxw4oCdIHBhcmFuY3NcbiIKKyJsaXN0w6F6emEgxZFrZXQuIEEg4oCeaGVscCBuw6l24oCdIGEg4oCebsOpduKAnSBwYXJhbmNzcsOzbCB0w6Fqw6lrb3p0YXQuIEF6IOKAnmluZm8gYmFzaOKAnVxuIgorInBhcmFuY2NzYWwgw6FsdGFsw6Fub3MgaW5mb3Jtw6FjacOzdCBrYXAgYSBwYXJhbmNzw6lydGVsbWV6xZFyxZFsLiBBIGxpc3TDoW4gbmVtXG4iCisidGFsw6FsaGF0w7MgcGFyYW5jc29rcsOzbCBhIOKAnm1hbiAta+KAnSB2YWd5IGF6IOKAnmluZm/igJ0gYWRoYXQgZmVsdmlsw6Fnb3PDrXTDoXN0LlxuIgorIlxuIgorIkEgcGFyYW5jcyBuZXbDqXQga8O2dmV0xZEgY3NpbGxhZyAoKikgYXp0IGplbHppLCBob2d5IGxlIHZhbiB0aWx0dmEuXG4iCisiXG4iCiAKICM6IGJ1aWx0aW5zL2hpc3RvcnkuZGVmOjE1NAogbXNnaWQgImNhbm5vdCB1c2UgbW9yZSB0aGFuIG9uZSBvZiAtYW5ydyIKLW1zZ3N0ciAiIgorbXNnc3RyICJhIGvDtnZldGtlesWRIGthcGNzb2zDs2sga2l6w6FyasOhayBlZ3ltw6FzdDogLWFucnciCiAKICM6IGJ1aWx0aW5zL2hpc3RvcnkuZGVmOjE4NgogbXNnaWQgImhpc3RvcnkgcG9zaXRpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiZWzFkXptw6lueXBvesOtY2nDsyIKIAogIzogYnVpbHRpbnMvaGlzdG9yeS5kZWY6MzY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGhpc3RvcnkgZXhwYW5zaW9uIGZhaWxlZCIKLW1zZ3N0ciAiJXMgZWfpc3ogc3rhbSBzevxrc+lnZXMiCittc2dzdHIgIiVzOiBzaWtlcnRlbGVuIGVsxZF6bcOpbnlixZFsIHZhbMOzIGtpZWfDqXN6w610w6lzIgogCiAjOiBidWlsdGlucy9pbmxpYi5kZWY6NzEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW5saWIgZmFpbGVkIgotbXNnc3RyICIlcyBlZ+lzeiBzeuFtIHN6/Gtz6WdlcyIKK21zZ3N0ciAiJXM6IHNpa2VydGVsZW4gaW5saWIiCiAKICM6IGJ1aWx0aW5zL2pvYnMuZGVmOjEwOQogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCi1tc2dzdHIgIiIKK21zZ3N0ciAiYSDigJ4teOKAnSBtZWxsZXR0IG5lbSBoYXN6bsOhbGhhdMOzIG3DoXMga2FwY3NvbMOzIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyMDAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBheiBhcmd1bWVudHVtb2sgZm9seWFtYXQtIHZhZ3kgbXVua2Fhem9ub3PDrXTDs2sgbGVoZXRuZWsiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MwotIywgZnV6enkKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MQogbXNnaWQgIlVua25vd24gZXJyb3IiCi1tc2dzdHIgIklzbWVyZXRsZW4gaGliYSAlZCIKK21zZ3N0ciAiSXNtZXJldGxlbiBoaWJhIgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgotbXNnc3RyICJ24XJoYXTzIGtpZmVqZXrpcyIKK21zZ3N0ciAiYXogw6lydGVsbWV6xZEga2lmZWplesOpc3QgdsOhcnQiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNzIKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgotbXNnc3RyICIlcyBmZWxzemFiYWTtdG90dCB24Wx0b3rzIgorbXNnc3RyICIlczogbmVtIGVneSBpbmRleGVsdCB0w7ZtYiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU2IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogw6lydsOpbnl0ZWxlbiBmw6FqbGxlw61yw7MtbWVnYWTDoXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NCBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICIlZDogw6lydsOpbnl0ZWxlbiBmw6FqbGxlw61yw7M6ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3MyBidWlsdGlucy9tYXBmaWxlLmRlZjozMTEKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKLW1zZ3N0ciAiJWMlYzogcm9zc3ogb3BjafMiCittc2dzdHIgIiVzOiBzb3JvayBzesOhbWEgw6lydsOpbnl0ZWxlbiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCi1tc2dzdHIgIiVjJWM6IHJvc3N6IG9wY2nzIgorbXNnc3RyICIlczogw6lydsOpbnl0ZWxlbiB0w7ZtYmtlemRldCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgotbXNnc3RyICJyb3NzeiBqZWwoc2lnbmFsKSBzeuFtIgorbXNnc3RyICIlczogw6lydsOpbnl0ZWxlbiBwYXJhbmNzaMOtdsOhc2kgdMOhdm9sc8OhZyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzMzCiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKLW1zZ3N0ciAiJXMgZmVsc3phYmFk7XRvdHQgduFsdG968yIKK21zZ3N0ciAiw7xyZXMgdMO2bWJ2w6FsdG96w7MtbsOpdiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgotbXNnc3RyICIiCittc2dzdHIgImEgdMO2bWLDtmsgaGFzem7DoWxhdGEgbmluY3MgdMOhbW9nYXR2YSIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKLW1zZ3N0ciAiIgorbXNnc3RyICLigJ4lc+KAnTogaGnDoW55esOzIGZvcm3DoXR1bWthcmFrdGVyIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgdGltZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6IMOpcnbDqW55dGVsZW4gaWTFkWtvcmzDoXQtbWVnYWTDoXMiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKLW1zZ3N0ciAiIgorbXNnc3RyICLigJ4lY+KAnTogw6lydsOpbnl0ZWxlbiBmb3Jtw6F0dW1rYXJha3RlciIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJmaWd5ZWxtZXp0ZXTDqXM6ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKLW1zZ3N0ciAiIgorbXNnc3RyICJoacOhbnl6w7MgaGV4YWRlY2ltw6FsaXMgc3rDoW1qZWd5IGEga8O2dmV0a2V6xZFow7Z6OiBcXHgiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIHVuaWNvZGUgZGlnaXQgZm9yIFxcJWMiCittc2dzdHIgImhpw6FueXrDsyBoZXhhZGVjaW3DoWxpcyBzesOhbWplZ3kgYSBrw7Z2ZXRrZXrFkWjDtno6IFxceCIKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQotIywgZnV6enkKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCi1tc2dzdHIgImv2bnl2dOFyYmEuIgorbXNnc3RyICJuaW5jcyBtw6FzaWsga8O2bnl2dMOhciIKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjQ2MgotIywgZnV6enkKIG1zZ2lkICI8bm8gY3VycmVudCBkaXJlY3Rvcnk+IgotbXNnc3RyICJcdGxlc3ogYXogYWt0deFsaXMgbXVua2Fr9m55dnThci4iCittc2dzdHIgIjxuaW5jcyBtdW5rYWvDtm55dnTDoXI+IgogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NTA2CiBtc2dpZCAiZGlyZWN0b3J5IHN0YWNrIGVtcHR5IgotbXNnc3RyICIiCittc2dzdHIgImEga8O2bnl2dMOhcnZlcmVtIMO8cmVzIgogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NTA4Ci0jLCBmdXp6eQogbXNnaWQgImRpcmVjdG9yeSBzdGFjayBpbmRleCIKLW1zZ3N0ciAiUmVrdXJ6afNzIHZlcmVtIHT6bGNzb3JkdWx0IgorbXNnc3RyICJrw7ZueXZ0w6FydmVyZW1pbmRleCIKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjY4MwogbXNnaWQgIiIKQEAgLTYyMCw2ICs2MTcsMjAgQEAKICJieVxuIgogIlx0ZGlycyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uIgogbXNnc3RyICIiCisiTWVnamVsZW7DrXRpIGEgamVsZW5sZWcgbWVnamVneXpldHQga8O2bnl2dMOhcmFrYXQuIEEga8O2bnl2dMOhcmFrYXQgYSDigJ5wdXNoZOKAnVxuIgorInBhcmFuY2NzYWwgbGVoZXQgYSB2ZXJlbWJlIHJha25pOyDDqXMgYSDigJ5wb3Bk4oCdIHBhcmFuY2NzYWwga2l2ZW5uaS5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLWMgICAgICAgYSBrw7ZueXZ0w6FydmVyZW0gdMO2cmzDqXNlIGF6IMO2c3N6ZXMgZWxlbSBlbHTDoXZvbMOtdMOhc8OhdmFsXG4iCisiICAgICAgLWwgICAgICAgYSBzYWrDoXQga8O2bnl2dMOhcmF0IG5lIHLDtnZpZMOtdHNlIGEgbGlzdMOhesOhc2tvciBlZ3kgdGlsZGUgKH4pXG4iCisiICAgICAgLXAgICAgICAgYSBrw7ZueXZ0w6FydmVyZW0ga2nDrXLDoXNhIHNvcm9ua8OpbnQgZWd5IGVsZW1tZWxcbiIKKyIgICAgICAtdiAgICAgICBhIGvDtm55dnTDoXJ2ZXJlbSBracOtcsOhc2Egc29yb25rw6ludCBlZ3kgZWxlbW1lbCwgYSB2ZXJtZW5cbiIKKyIgICAgICAgICAgICAgICBiZWzDvGxpIHBvesOtY2nDsyBqZWzDtmzDqXPDqXZlbFxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnR1bW9rOlxuIgorIiAgICAgICtOICAgICAgIE4gZGFyYWIgYmVqZWd5esOpc3QgamVsZW7DrXQgbWVnIGF6IGFyZ3VtZW50dW0gbsOpbGvDvGwgYSBkaXJzXG4iCisiICAgICAgICAgICAgICAgw6FsdGFsIG1lZ2plbGVuw610ZXR0IGxpc3TDoW4gYmFscsOzbCBzesOhbW9sdmEsIG51bGzDoXTDs2wga2V6ZHZlXG4iCisiICAgICAgLU4gICAgICAgTiBkYXJhYiBiZWplZ3l6w6lzdCBqZWxlbsOtdCBtZWcgYSBsaXN0w6Fiw7NsIGpvYmJyw7NsIHN6w6Ftb2x2YSIKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjcwNQogbXNnaWQgIiIKQEAgLTY0NSw2ICs2NTYsMjcgQEAKICIgICAgXG4iCiAiICAgIFRoZSBgZGlycycgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLiIKIG1zZ3N0ciAiIgorIkVneSBrw7ZueXZ0w6FyYXQgdGVzeiBhIGvDtm55dnTDoXJ2ZXJlbSB0ZXRlasOpcmUsIHZhZ3kgZm9yZ2F0amEgYSB2ZXJtZXQsIGF6IMO6alxuIgorImZlbHPFkSBlbGVtbcOpIGEgamVsZW5sZWdpIG11bmtha8O2bnl2dMOhcmF0IHTDqXZlLiBBcmd1bWVudHVtb2sgbsOpbGvDvGwgaMOtdnZhIGFcbiIKKyJrw6l0IGZlbHPFkSBrw7ZueXZ0w6FyYXQgY3NlcsOpbGkgbWVnLlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAtbiAgICAgICBOZSB2w6FsdHNvbiBrw7ZueXZ0w6FyYXQgaG96esOhYWTDoXNrb3IsIHZhZ3lpcyBjc2FrIGFcbiIKKyIgICAgICAgdmVybWV0IHbDoWx0b3p0YXNzYS5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50dW1vazpcbiIKKyIgICAgICArTiAgICAgICDDmmd5IGZvcmdhdGphIGEgdmVybWV0LCBob2d5IGF6IE4tZWRpayBrw7ZueXZ0w6FyICgwLXTDs2xcbiIKKyIgICAgICAga2V6ZHZlLCBhIOKAnmRpcnPigJ0gw6FsdGFsIGtpw61ydCBsaXN0w6FuIGJhbHLDs2wgc3rDoW1vbHZhKVxuIgorIiAgICAgICBrZXLDvGxqw7ZuIGEgdmVyZW0gdGV0ZWrDqXJlLlxuIgorIiAgICBcbiIKKyIgICAgICAtTiAgICAgICDDmmd5IGZvcmdhdGphIGEgdmVybWV0LCBob2d5IGF6IE4tZWRpayBrw7ZueXZ0w6FyICgwLXTDs2xcbiIKKyIgICAgICAga2V6ZHZlLCBhIOKAnmRpcnPigJ0gw6FsdGFsIGtpw61ydCBsaXN0w6FuIGpvYmJyw7NsIHN6w6Ftb2x2YSlcbiIKKyIgICAgICAga2Vyw7xsasO2biBhIHZlcmVtIHRldGVqw6lyZS5cbiIKKyIgICAgXG4iCisiICAgICAgZGlyICAgICAgQSB2ZXJlbSB0ZXRlasOpcmUgaGVseWV6aSBLVMOBUiBrw7ZueXZ0w6FyYXQsIMOpcyB1Z3lhbmV6dFxuIgorIiAgICAgICDDoWxsw610amEgYmUgw7pqIG11bmtha8O2bnl2dMOhcm5hay5cbiIKKyIgICAgXG4iCisiICAgIEEg4oCeZGlyc+KAnSBiZcOpcMOtdGV0dCBwYXJhbmNzIGxpc3TDoXp6YSBhIGvDtm55dnTDoXJ2ZXJtZXQuIgogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NzMwCiBtc2dpZCAiIgpAQCAtNjY2LDQ2OSArNjk4LDQ3NiBAQAogIiAgICBcbiIKICIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suIgogbXNnc3RyICIiCisiRWxlbWVrZXQgdmVzeiBraSBhIGvDtm55dnTDoXJ2ZXJlbWLFkWwuIEFyZ3VtZW50dW1vayBuw6lsa8O8bCBraXZlc3ppIGEgbGVnZmVsLVxuIgorInPFkSBlbGVtZXQsIMOpcyBhIGtpdmV0dCBlbGVtcmUgw6FsbMOtdGphIGF6IMO6aiBtdW5rYWvDtm55dnTDoXJhdC5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLW4gICBOZSB2w6FsdHNvbiBrw7ZueXZ0w6FyYXQgZWx0w6F2b2zDrXTDoXNrb3IsIHZhZ3lpcyBjc2FrIGEgdmVybWV0XG4iCisiICAgICAgICAgICB2w6FsdG96dGFzc2EuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHVtb2s6XG4iCisiICAgICAgK04gICBFbHTDoXZvbMOtdGphIGF6IE4tZWRpayBlbGVtZXQgYSDigJ5kaXJz4oCdIMOhbHRhbCBracOtcnQgbGlzdMOhbiwgbnVsbMOhLVxuIgorIiAgICAgICAgICAgdMOzbCwgYmFscsOzbCBzesOhbW9sdmEuIFBsLiBhIOKAnnBvcGQgKzDigJ0gYXogZWxzxZEsIG3DrWcgYSDigJ5wb3BkICsx4oCdIGFcbiIKKyIgICAgICAgICAgIGvDtm55dnTDoXJhdCB0w6F2b2zDrXRqYSBlbC5cbiIKKyIgICAgICAtTiAgIEVsdMOhdm9sw610amEgYXogTi1lZGlrIGVsZW1ldCBhIOKAnmRpcnPigJ0gw6FsdGFsIGtpw61ydCBsaXN0w6FuLCBudWxsw6EtXG4iCisiICAgICAgICAgICB0w7NsLCBqb2JicsOzbCBzesOhbW9sdmEuIFBsLiBhIOKAnnBvcGQgLTDigJ0gYXogdXRvbHPDsywgYSDigJ5wb3BkIC0x4oCdIGF6XG4iCisiICAgICAgICAgICB1dG9sc8OzIGVsxZF0dGkga8O2bnl2dMOhcmF0IHTDoXZvbMOtdGphIGVsLlxuIgorIiAgICBcbiIKKyIgICAgQSDigJ5kaXJz4oCdIGJlw6lww610ZXR0IHBhcmFuY3MgbGlzdMOhenphIGEga8O2bnl2dMOhcnZlcm1ldC4iCiAKICM6IGJ1aWx0aW5zL3JlYWQuZGVmOjI1MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCB0aW1lb3V0IHNwZWNpZmljYXRpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IMOpcnbDqW55dGVsZW4gaWTFkWtvcmzDoXQtbWVnYWTDoXMiCiAKICM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgInJlYWQgZXJyb3I6ICVkOiAlcyIKLW1zZ3N0ciAiQ3P1IChwaXBlKWhpYmEgJXMiCittc2dzdHIgIm9sdmFzw6FzaSBoaWJhOiAlZDogJXMiCiAKICM6IGJ1aWx0aW5zL3JldHVybi5kZWY6NzMKIG1zZ2lkICJjYW4gb25seSBgcmV0dXJuJyBmcm9tIGEgZnVuY3Rpb24gb3Igc291cmNlZCBzY3JpcHQiCiBtc2dzdHIgIiIKKyJjc2FrIGbDvGdndsOpbnlixZFsIHZhZ3kgc291cmNlLW9sdCBwYXJhbmNzZsOhamxiw7NsIGxlaGV0IOKAnnJldHVybuKAnS1uZWwgIgorInZpc3N6YXTDqXJuaSIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo3NjgKLSMsIGZ1enp5CisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQogbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgotbXNnc3RyICJBIGxvY2FsLXQgY3NhayBmdW5rY2nzbiBiZWz8bCBsZWhldCBoYXN6buFsbmksIGzpdHJlaG96b3R0IHbhbHRvevMgTslWIgorbXNnc3RyICJuZW0gbGVoZXQgZWd5c3plcnJlIGbDvGdndsOpbnl0IMOpcyB2w6FsdG96w7N0IG1lZ3N6w7xudGV0bmkiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODA4CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQiCi1tc2dzdHIgIiVzOiBuZW0gbGVoZXQgbOl0cmVob3puaTogJXMiCittc2dzdHIgIiVzOiBuZW0gc3rDvG50ZXRoZXTFkSBtZWciCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODEyCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODE1CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgotbXNnc3RyICIlczogbmVtIGxlaGV0IGzpdHJlaG96bmk6ICVzIgorbXNnc3RyICIlczogbmVtIHN6w7xudGV0aGV0xZEgbWVnOiBjc2FrIG9sdmFzaGF0w7MgJXMiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODIzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODI2CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCi1tc2dzdHIgIiVzIGZlbHN6YWJhZO10b3R0IHbhbHRvevMiCittc2dzdHIgIiVzOiBuZW0gZWd5IHTDtm1idsOhbHRvesOzIgogCiAjOiBidWlsdGlucy9zZXRhdHRyLmRlZjoxODYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgZnVuY3Rpb24iCi1tc2dzdHIgIiVzIENzYWsgb2x2YXNoYXTzIGZ1bmtjafMiCittc2dzdHIgIiVzOiBuZW0gZsO8Z2d2w6lueSIKIAogIzogYnVpbHRpbnMvc2hpZnQuZGVmOjcxIGJ1aWx0aW5zL3NoaWZ0LmRlZjo3NwotIywgZnV6enkKIG1zZ2lkICJzaGlmdCBjb3VudCIKLW1zZ3N0ciAic2hpZnQgW25dIgorbXNnc3RyICJzaGlmdC1zesOhbSIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2NAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiBtc2dzdHIgIiIKKyJuZW0gbGVoZXQgZWd5c3plcnJlIGJlw6FsbMOtdGFuaSDDqXMgdMO2csO2bG5pIHBhcmFuY3PDqXJ0ZWxtZXrFkS1iZcOhbGzDrXTDoXNva2F0IgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiDDqXJ2w6lueXRlbGVuIHBhcmFuY3PDqXJ0ZWxtZXrFkWthcGNzb2zDsy1uw6l2IgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjEyOAorIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKIG1zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJmw6FqbG7DqXZhcmd1bWVudHVtIHN6w7xrc8OpZ2VzIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1MwotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1NQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCi1tc2dzdHIgIiVzOiBwYXJhbmNzIG5lbSB0YWzhbGhhdPMiCittc2dzdHIgIiVzOiBhIGbDoWpsIG5lbSB0YWzDoWxoYXTDsyIKIAogIzogYnVpbHRpbnMvc3VzcGVuZC5kZWY6MTAxCiBtc2dpZCAiY2Fubm90IHN1c3BlbmQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibmVtIGxlaGV0IHN6w7xuZXRlbHRldG5pIgogCiAjOiBidWlsdGlucy9zdXNwZW5kLmRlZjoxMTEKLSMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IHN1c3BlbmQgYSBsb2dpbiBzaGVsbCIKLW1zZ3N0ciAiS2ls6XDpcyBhIHBhcmFuY3PpcnRlbG1levVi9WwuIgorbXNnc3RyICJuZW0gbGVoZXQgYmVqZWxlbnRrZXrFkSBwYXJhbmNzw6lydGVsbWV6xZF0IHN6w7xuZXRlbHRldG5pIgogCiAjOiBidWlsdGlucy90eXBlLmRlZjoyMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYWxpYXNlZCB0byBgJXMnXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXMgZWd5IGFsaWFzIGEga8O2dmV0a2V6xZFyZTog4oCeJXPigJ1cbiIKIAogIzogYnVpbHRpbnMvdHlwZS5kZWY6MjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgc2hlbGwga2V5d29yZFxuIgotbXNnc3RyICIiCittc2dzdHIgIiVzIG5lbSBwYXJhbmNzw6lydGVsbWV6xZEta3VsY3NzesOzXG4iCiAKICM6IGJ1aWx0aW5zL3R5cGUuZGVmOjI3NAotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgZnVuY3Rpb25cbiIKLW1zZ3N0ciAiJXMgQ3NhayBvbHZhc2hhdPMgZnVua2Np8yIKK21zZ3N0ciAiJXMgZWd5IGbDvGdndsOpbnlcbiIKIAogIzogYnVpbHRpbnMvdHlwZS5kZWY6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgc2hlbGwgYnVpbHRpblxuIgotbXNnc3RyICIiCittc2dzdHIgIiVzIGVneSBiZcOpcMOtdGV0dCBwYXJhbmNzXG4iCiAKICM6IGJ1aWx0aW5zL3R5cGUuZGVmOjMxNyBidWlsdGlucy90eXBlLmRlZjozOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIlcyBlZ3kgJXNcbiIKIAogIzogYnVpbHRpbnMvdHlwZS5kZWY6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGhhc2hlZCAoJXMpXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXMgaGFzaGVsdmUgdmFuICglcylcbiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzIKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbWl0IGFyZ3VtZW50IgotbXNnc3RyICIiCittc2dzdHIgIiVzOiDDqXJ2w6lueXRlbGVuIGtvcmzDoXTDqXJ0w6lrIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQwMgorIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKLW1zZ3N0ciAiJWMlYzogcm9zc3ogb3BjafMiCittc2dzdHIgIuKAniVj4oCdOiDDqXJ2w6lueXRlbGVuIHBhcmFuY3MiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDI3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKLW1zZ3N0ciAiJXM6IG5lbSBsZWhldCBs6XRyZWhvem5pOiAlcyIKK21zZ3N0ciAiJXM6IG5lbSBrw6lyZGV6aGV0xZEgbGUgYSBrb3Jsw6F0OiAlcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKLSMsIGZ1enp5CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ1NwogbXNnaWQgImxpbWl0IgotbXNnc3RyICJDUFUgaGF04XIiCittc2dzdHIgImtvcmzDoXQiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY1IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKLW1zZ3N0ciAiJXM6IG5lbSBsZWhldCBs6XRyZWhvem5pOiAlcyIKK21zZ3N0ciAiJXM6IG5lbSBtw7Nkb3PDrXRoYXTDsyBhIGtvcmzDoXQ6ICVzIgogCiAjOiBidWlsdGlucy91bWFzay5kZWY6MTE4Ci0jLCBmdXp6eQogbXNnaWQgIm9jdGFsIG51bWJlciIKLW1zZ3N0ciAicm9zc3ogamVsKHNpZ25hbCkgc3rhbSIKK21zZ3N0ciAib2t0w6FsaXMgc3rDoW0iCiAKICM6IGJ1aWx0aW5zL3VtYXNrLmRlZjoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIG9wZXJhdG9yIgotbXNnc3RyICIiCittc2dzdHIgIuKAniVj4oCdOiDDqXJ2w6lueXRlbGVuIHN6aW1ib2xpa3VzIG3Ds2RvcGVyw6F0b3IiCiAKICM6IGJ1aWx0aW5zL3VtYXNrLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKLW1zZ3N0ciAiIgorbXNnc3RyICLigJ4lY+KAnTogw6lydsOpbnl0ZWxlbiBzemltYm9saWt1cyBtw7Nka2FyYWt0ZXIiCiAKICM6IGVycm9yLmM6OTAgZXJyb3IuYzozMjEgZXJyb3IuYzozMjMgZXJyb3IuYzozMjUKIG1zZ2lkICIgbGluZSAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiIHNvcjogIgogCiAjOiBlcnJvci5jOjE2NQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKLW1zZ3N0ciAi+mpyYSBmdXR0YXRoYXRqYSBheiB1dG9sc/MgcGFyYW5jc290LiIKK21zZ3N0ciAidXRvbHPDsyBwYXJhbmNzOiAlc1xuIgogCiAjOiBlcnJvci5jOjE3MwogIywgYy1mb3JtYXQKIG1zZ2lkICJBYm9ydGluZy4uLiIKLW1zZ3N0ciAiIgorbXNnc3RyICJNZWdzemFrw610w6FzLi4uIgogCiAjOiBlcnJvci5jOjQwNgotIywgZnV6enkKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCi1tc2dzdHIgIklzbWVyZXRsZW4gaGliYSAlZCIKK21zZ3N0ciAiaGliYTogw6lydsOpbnl0ZWxlbiBwYXJhbmNzIgogCiAjOiBlcnJvci5jOjQwNwotIywgZnV6enkKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgotbXNnc3RyICJwYXJhbmNza+ludCBoYXN6buFsamEuIgorbXNnc3RyICJoaWLDoXMgcGFyYW5jc3TDrXB1cyIKIAogIzogZXJyb3IuYzo0MDgKLSMsIGZ1enp5CiBtc2dpZCAiYmFkIGNvbm5lY3RvciIKLW1zZ3N0ciAicm9zc3ogY3NhdGxha2964XMgYCVkJyIKK21zZ3N0ciAiaGliw6FzIGNzYXRsYWtvesOzIgogCiAjOiBlcnJvci5jOjQwOQotIywgZnV6enkKIG1zZ2lkICJiYWQganVtcCIKLW1zZ3N0ciAiUm9zc3ogdWdy4XMgJWQiCittc2dzdHIgImhpYsOhcyB1Z3LDoXMiCiAKICM6IGVycm9yLmM6NDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmJvdW5kIHZhcmlhYmxlIgotbXNnc3RyICIlcyBmZWxzemFiYWTtdG90dCB24Wx0b3rzIgorbXNnc3RyICIlczoga8O2dGV0bGVuIHbDoWx0b3rDsyIKIAogIzogZXZhbC5jOjE4MQotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKLW1zZ3N0ciAiJWMgdPpsIHNva+FpZyBuZW0gY3NpbuFsdCBzZW1taXQ6YXV0b21hdGlrdXMga2ls6XDpc1xuIgorIywgYy1mb3JtYXQKK21zZ2lkICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ3N0ciAiXGFpZMWRdMO6bGzDqXDDqXMgYmVtZW5ldHJlIHbDoXJ2YTogYXV0b21hdGlrdXMga2lqZWxlbnRrZXrDqXNcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTcKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAic3phYnbDoW55b3MgYmVtZW5ldCAvZGV2L251bGwtcmEgw6FsbMOtdMOhc2Egc2lrZXJ0ZWxlbjogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKLW1zZ3N0ciAiIgorbXNnc3RyICJJRMWQRk9STcOBVFVNOiDigJ4lY+KAnTogw6lydsOpbnl0ZWxlbiBmb3Jtw6F0dW1rYXJha3RlciIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDc1Ci0jLCBmdXp6eQorIzogZXhlY3V0ZV9jbWQuYzoyMTIxCiBtc2dpZCAicGlwZSBlcnJvciIKLW1zZ3N0ciAiQ3P1IChwaXBlKWhpYmEgJXMiCittc2dzdHIgImhpYsOhcyBjc8WRdmV6ZXTDqWsiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDQ4MQorIzogZXhlY3V0ZV9jbWQuYzo0NjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKLW1zZ3N0ciAiJXM6IGZlbm50YXJ0dmE6IHBhcmFuY3MgbmVtIHRhcnRhbG1hemhhdCAnLycga2FyYWt0ZXJ0IgorbXNnc3RyICIlczoga29ybMOhdG96b3R0OiBuZW0gYWRoYXTDsyBtZWcg4oCeL+KAnSBhIHBhcmFuY3NvayBuZXbDqWJlbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NTcyCisjOiBleGVjdXRlX2NtZC5jOjQ3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgotbXNnc3RyICIlczogcGFyYW5jcyBuZW0gdGFs4WxoYXTzIgorbXNnc3RyICIlczogcGFyYW5jcyBuZW0gdGFsw6FsaGF0w7MiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CiAjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMiCittc2dzdHIgIiVzIGVneSAlc1xuIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCi1tc2dzdHIgIiVzOiBlZ3kga/ZueXZ04XIiCittc2dzdHIgIiVzOiAlczogcm9zc3ogcGFyYW5jc8OpcnRlbG1lesWRIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NzYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCi1tc2dzdHIgIm5lbSBt4XNvbGhhdPMgYSAgZmQgJWQgIGZkIDA6ICVzLXJlIgorbXNnc3RyICJuZW0gbGVoZXQgZHVwbGlrw6FsbmkgYSh6KSAlZC4gZsOhamxsZcOtcsOzdCBhKHopICVkLiBoZWx5cmUiCiAKLSM6IGV4cHIuYzoyNDEKKyM6IGV4cHIuYzoyNTYKIG1zZ2lkICJleHByZXNzaW9uIHJlY3Vyc2lvbiBsZXZlbCBleGNlZWRlZCIKLW1zZ3N0ciAia2lmZWpleulzIHT6bGzpcHRlIGEgbWVnZW5nZWRldHQgcmVrdXJ67XYgc3ppbnRldCIKK21zZ3N0ciAiYSBraWZlamV6w6lzIHJla3VyemnDs2tvcmzDoXRvdCIKIAotIzogZXhwci5jOjI2NQotIywgZnV6enkKKyM6IGV4cHIuYzoyODAKIG1zZ2lkICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgotbXNnc3RyICJSZWt1cnpp83MgdmVyZW0gdPpsY3NvcmR1bHQiCittc2dzdHIgImFsdWxjc29yZHVsdCBhIHJla3VyemnDs3MgdmVyZW0iCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKLW1zZ3N0ciAic3ppbnRha3Rpa2FpIGhpYmEgYSBraWZlbHlleulzYmVuIgorbXNnc3RyICJzemludGFrdGlrYWkgaGliYSBhIGtpZmVqZXrDqXNiZW4iCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCi1tc2dzdHIgIm5lbSB24Wx0b3rzaG96IHBy82LhbHQgaG96euFyZW5kZWxuaSIKK21zZ3N0ciAibmVtIHbDoWx0b3rDs2hveiBwcsOzYsOhbHQgw6lydMOpa2V0IHJlbmRlbG5pIgogCi0jOiBleHByLmM6NDQwIGV4cHIuYzo0NDUgZXhwci5jOjc1NgorIzogZXhwci5jOjQ4NiBleHByLmM6NDkxIGV4cHIuYzo4MDcKIG1zZ2lkICJkaXZpc2lvbiBieSAwIgotbXNnc3RyICJudWxs4XZhbCB2YWzzIG9zenThcyIKK21zZ3N0ciAiMC12YWwgb3N6dMOhcyIKIAotIzogZXhwci5jOjQ3MQotIywgZnV6enkKKyM6IGV4cHIuYzo1MTcKIG1zZ2lkICJidWc6IGJhZCBleHBhc3NpZ24gdG9rZW4iCi1tc2dzdHIgIkhpYmE6cm9zc3ogdmV66XJqZWwgJWQiCittc2dzdHIgImJ1Zzogcm9zc3ogZXhwYXNzaWduIHRva2VuIgogCi0jOiBleHByLmM6NTEzCisjOiBleHByLmM6NTY0CiBtc2dpZCAiYDonIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgotbXNnc3RyICJgOicgdPpsbOlwdGUgYSBraWZlbHlleulzIGZlbHTpdGVsZWl0IgorbXNnc3RyICLigJ464oCdIGVneSBmZWx0w6l0ZWxraWZlamV6w6lzIHN6w7xrc8OpZ2VzIgogCi0jOiBleHByLmM6NzgxCisjOiBleHByLmM6ODMyCiBtc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiMC1uw6FsIGtpc2ViYiBraXRldsWRIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCi1tc2dzdHIgIiIKK21zZ3N0ciAicHJlZml4IG7DtnZlbMOpcyB2YWd5IGNzw7Zra2VudMOpcyB1dMOhbiBhem9ub3PDrXTDsyBrZWxsIGvDtnZldGtlenplbiIKIAotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogbXNnaWQgIm1pc3NpbmcgYCknIgotbXNnc3RyICJyb3NzeiAnKSciCittc2dzdHIgImhpw6FueXrDsyDigJ4p4oCdIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2Ci0jLCBmdXp6eQorIzogZXhwci5jOjk1OSBleHByLmM6MTI4MgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKLW1zZ3N0ciAic3ppbnRha3Rpa2FpIGhpYmE6ICB24XJhdGxhbiBm4WpsIHbpZyIKK21zZ3N0ciAic3ppbnRha3Rpa2FpIGhpYmE6IG9wZXJhbmR1cyBrZWxsIGvDtnZldGtlenplbiIKIAotIzogZXhwci5jOjExNzgKKyM6IGV4cHIuYzoxMjg0CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCi1tc2dzdHIgIiIKK21zZ3N0ciAic3ppbnRha3Rpa2FpIGhpYmE6IMOpcnbDqW55dGVsZW4gYXJpdG1ldGlrYWkgb3BlcsOhdG9yIgogCi0jOiBleHByLmM6MTIwMgotIywgZnV6enksIGMtZm9ybWF0CisjOiBleHByLmM6MTMwOAorIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgotbXNnc3RyICIlczogJXM6ICVzIChhIGhpYmEgamVsZSBcIiVzXCIpXG4iCittc2dzdHIgIiVzJXMlczogJXMgKGhpYsOhcyB0b2tlbjog4oCeJXPigJ0pIgogCi0jOiBleHByLmM6MTI2MAorIzogZXhwci5jOjEzNjYKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIHN6w6FtcmVuZHN6ZXIiCiAKLSM6IGV4cHIuYzoxMjgwCisjOiBleHByLmM6MTM4NgogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKLW1zZ3N0ciAiYXog6XJ06WsgdPpsIG5hZ3kiCittc2dzdHIgInTDumwgbmFneSDDqXJ0w6lrIGEgc3rDoW1yZW5kc3plcmhleiIKIAotIzogZXhwci5jOjEzMjkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogZXhwci5jOjE0MzUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKLW1zZ3N0ciAiJXMgZWfpc3ogc3rhbSBzevxrc+lnZXMiCittc2dzdHIgIiVzOiBoaWLDoXMga2lmZWplesOpc1xuIgogCiAjOiBnZW5lcmFsLmM6NjEKLSMsIGZ1enp5CiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKLW1zZ3N0ciAiZ2V0d2Q6IG5lbSBlbOlyaGV09SBhIHN6/Gz1IGv2bnl2dOFyIgorbXNnc3RyICJnZXRjd2Q6IG5lbSDDqXJoZXTFkWVrIGVsIGEgc3rDvGzFkWvDtm55dnTDoXJhayIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogaW5wdXQuYzo5NCBzdWJzdC5jOjUwODIKKyMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCi1tc2dzdHIgIm5lbSBt4XNvbGhhdPMgYSAgZmQgJWQgIGZkIDA6ICVzLXJlIgorbXNnc3RyICJuZW0gbGVoZXQgw7pqcmFpbmTDrXRhbmkgYSBub2RlbGF5IG3Ds2RvdCBhKHopICVkLiBmw6FqbGxlw61yw7Nob3oiCiAKLSM6IGlucHV0LmM6MjU4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGlucHV0LmM6MjYwCisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCiBtc2dzdHIgIiIKLSJuZW0gbGVoZXQgbGVmb2dsYWxuaSBheiD6aiBm4WpsbGXtcvN0IGEgYmFzaCBiZW1lbmV06XJlIGEgZmQgJWQ6ICVzLXI/bCIKKyJuZW0gbGVoZXQgw7pqIGbDoWpsbGXDrXLDs3QgZm9nbGFsbmkgYSBiYXNoIGJlbWVuZXTDqWhleiBhKHopICVkLiBmw6FqbGxlw61yw7Niw7NsIgogCi0jOiBpbnB1dC5jOjI2NgotIywgZnV6enksIGMtZm9ybWF0CisjOiBpbnB1dC5jOjI2OAorIywgYy1mb3JtYXQKIG1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgotbXNnc3RyICJjaGVja19iYXNoX2lucHV0OiBwdWZmZXIgbeFyIGzpdGV6aWsgYXog+mogZmQgJWQiCittc2dzdHIgInNhdmVfYmFzaF9pbnB1dDogbcOhciB2YW4gcHVmZmVyIGEoeikgJWQuIGbDoWpsbGXDrXLDs2hveiIKIAotIzogam9icy5jOjQ2NgorIzogam9icy5jOjQ2OAogbXNnaWQgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAic3RhcnRfcGlwZWxpbmU6IHBncnAgY3PFkXZlemV0w6lrIgogCi0jOiBqb2JzLmM6ODg3CisjOiBqb2JzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJhKHopICVkIHN6w6Ftw7ogZm9ya29sdCBwaWQgYSh6KSAlZCBzesOhbcO6IG11bmvDoWJhbiBqZWxlbnQgbWVnIgogCi0jOiBqb2JzLmM6MTAwNQorIzogam9icy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKLW1zZ3N0ciAiIgorbXNnc3RyICIlZC4gc3rDoW3DuiBtZWfDoWxsw610b3R0IG11bmthIHTDtnJsw6lzZSBhICVsZCBzesOhbcO6IGZvbHlhbWF0Y3NvcG9ydHRhbCIKIAotIzogam9icy5jOjExMTAKKyM6IGpvYnMuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwcm9jZXNzICU1bGQgKCVzKSBpbiB0aGVfcGlwZWxpbmUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYWRkX3Byb2Nlc3M6ICU1bGQuIGZvbHlhbWF0ICglcykgYSB0aGVfcGlwZWxpbmUtYmFuIgogCi0jOiBqb2JzLmM6MTExMworIzogam9icy5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgotbXNnc3RyICIiCittc2dzdHIgImFkZF9wcm9jZXNzOiAlNWxkLiBmb2x5YW1hdCAoJXMpIG3DqWcgw6lsxZFrw6ludCB2YW4gamVsw7ZsdmUiCiAKLSM6IGpvYnMuYzoxNDAxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGpvYnMuYzoxNDMwCisjLCBjLWZvcm1hdAogbXNnaWQgImRlc2NyaWJlX3BpZDogJWxkOiBubyBzdWNoIHBpZCIKLW1zZ3N0ciAiZGVzY3JpYmVfcGlkOiBOZW0gbOl0ZXr1IHBpZCAoJWQpIVxuIgorbXNnc3RyICJkZXNjcmliZV9waWQ6ICVsZDogbmluY3MgaWx5ZW4gcGlkIgogCi0jOiBqb2JzLmM6MTQxNgotIywgZnV6enksIGMtZm9ybWF0CisjOiBqb2JzLmM6MTQ0NQorIywgYy1mb3JtYXQKIG1zZ2lkICJTaWduYWwgJWQiCi1tc2dzdHIgIklzbWVyZXRsZW4gIyVkIFN6aWdu4WwiCittc2dzdHIgIiVkLiBzemlnbsOhbCIKIAotIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0CiBtc2dpZCAiRG9uZSIKLW1zZ3N0ciAiS+lzeiIKK21zZ3N0ciAiS8Opc3oiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgotbXNnc3RyICJNZWfhbGztdHZhIgorbXNnc3RyICJNZWfDoWxsw610dmEiCiAKLSM6IGpvYnMuYzoxNDM5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGpvYnMuYzoxNDY4CisjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQoJXMpIgotbXNnc3RyICJNZWfhbGztdHZhIgorbXNnc3RyICJNZWfDoWxsw610dmEoJXMpIgogCi0jOiBqb2JzLmM6MTQ0MworIzogam9icy5jOjE0NzIKIG1zZ2lkICJSdW5uaW5nIgotbXNnc3RyICJGdXTzIgorbXNnc3RyICJGdXQiCiAKLSM6IGpvYnMuYzoxNDU3CisjOiBqb2JzLmM6MTQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb25lKCVkKSIKLW1zZ3N0ciAiS+lzeiAoJWQpIgorbXNnc3RyICJLw6lzeiglZCkiCiAKLSM6IGpvYnMuYzoxNDU5CisjOiBqb2JzLmM6MTQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeGl0ICVkIgotbXNnc3RyICJLaWzpcOlzICVkIgorbXNnc3RyICJLaWzDqXBldHQoJWQpIgogCi0jOiBqb2JzLmM6MTQ2MgorIzogam9icy5jOjE0OTEKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKLW1zZ3N0ciAiSXNtZXJldGxlbiDhbGxhcG90IgorbXNnc3RyICJJc21lcmV0bGVuIMOhbGxhcG90IgogCi0jOiBqb2JzLmM6MTU0OQorIzogam9icy5jOjE1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGNvcmUgZHVtcGVkKSAiCi1tc2dzdHIgIihtZW3zcmlhIGtp7XLhcykiCittc2dzdHIgIihjb3JlIGvDqXN6w7xsdCkgIgogCi0jOiBqb2JzLmM6MTU2OAotIywgZnV6enksIGMtZm9ybWF0CisjOiBqb2JzLmM6MTU5NworIywgYy1mb3JtYXQKIG1zZ2lkICIgICh3ZDogJXMpIgotbXNnc3RyICIod2QgbW9zdDogJXMpXG4iCittc2dzdHIgIiAobWs6ICVzKSIKIAotIzogam9icy5jOjE3NzYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogam9icy5jOjE4MDUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCi1tc2dzdHIgImd5ZXJtZWstZm9seWFtYXQgc2V0cGdpZCAoJWQgLXLzbCAlZC1yYSkgaGliYSAlZDogJXNcbiIKK21zZ3N0ciAiZ3llcm1layBzZXRwZ2lkIChpbm5lbjogJWxkIGlkZTogJWxkKSIKIAotIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGpvYnMuYzoyMTMzIG5vam9icy5jOjU4NQorIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCi1tc2dzdHIgInbhcmpvbjphICVkIG5lbSB1dPNkYSBlbm5layBhIHBhcmFuY3PpcnRlbG1levVuZWsiCittc2dzdHIgIndhaXQ6ICVsZC4gc3rDoW3DuiBmb2x5YW1hdCBuZW0gZ3llcm1la2UgZW5uZWsgYSBwYXJhbmNzw6lydGVsbWV6xZFuZWsiCiAKLSM6IGpvYnMuYzoyMzMxCisjOiBqb2JzLmM6MjM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgotbXNnc3RyICIiCittc2dzdHIgIndhaXRfZm9yOiBOaW5jcyBiZWplZ3l6w6lzICVsZC4gc3rDoW3DuiBmb2x5YW1hdHLDs2wiCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgotbXNnc3RyICIiCittc2dzdHIgIndhaXRfZm9yX2pvYjogJWQuIHN6w6Ftw7ogbXVua2EgbGUgbGV0dCDDoWxsw610dmEiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgotbXNnc3RyICIlczogbXVua2Fmb2x5YW1hdCBtZWdzemFrYWR0IgorbXNnc3RyICIlczogYSBtdW5rYSBiZSBsZXR0IGZlamV6dmUiCiAKLSM6IGpvYnMuYzoyODM4CisjOiBqb2JzLmM6Mjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogJWQuIHN6w6Ftw7ogbXVua2EgbcOhciBhIGjDoXR0w6lyYmVuIHZhbiIKIAotIzogam9icy5jOjMwNTkKKyM6IGpvYnMuYzozMDg5CiBtc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgotbXNnc3RyICIiCittc2dzdHIgIndhaXRjaGxkOiBXTk9IQU5HIGJla2FwY3NvbMOhc2EgYSBrb3Jsw6F0bGFuIGJsb2trIGVsa2Vyw7xsw6lzw6lyZSIKIAotIzogam9icy5jOjM1MDgKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogam9icy5jOjM1MzgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKLW1zZ3N0ciAiZm9nbGFsYXQgJTNkOiAiCittc2dzdHIgIiVzOiAlZC4gc29yOiAiCiAKLSM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAorIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgotbXNnc3RyICIobWVt83JpYSBrae1y4XMpIgorbXNnc3RyICIgKGNvcmUga8Opc3rDvGx0KSIKIAotIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKKyM6IGpvYnMuYzozNTY0IGpvYnMuYzozNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgotbXNnc3RyICIod2QgbW9zdDogJXMpXG4iCittc2dzdHIgIihtayBtb3N0OiAlcylcbiIKIAotIzogam9icy5jOjM1NzkKLSMsIGZ1enp5CisjOiBqb2JzLmM6MzYwOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgotbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGdldHBncnAgc2lrZXJ0ZWxlbjogJXMiCittc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgc2lrZXJ0ZWxlbiIKIAotIzogam9icy5jOjM2MzkKLSMsIGZ1enp5CisjOiBqb2JzLmM6MzY2OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKLW1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzOiBzb3IgZmVneWVsZW0gJXMiCittc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIAotIzogam9icy5jOjM2NDkKLSMsIGZ1enp5CisjOiBqb2JzLmM6MzY3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCi1tc2dzdHIgImluaXRpYWxpemVfam9iczogZ2V0cGdycCBzaWtlcnRlbGVuOiAlcyIKK21zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIAotIzogam9icy5jOjM2NzcKKyM6IGpvYnMuYzozNzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgotbXNnc3RyICIiCittc2dzdHIgIm5lbSDDoWxsw610aGF0w7MgYmUgYSB0ZXJtaW7DoWwgZm9seWFtYXRjc29wb3J0amEgKCVkKSIKIAotIzogam9icy5jOjM2ODIKKyM6IGpvYnMuYzozNzEyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKLW1zZ3N0ciAibmluY3MgbXVua2Fmb2x5YW1hdCBlbGxlbvVyeulzIGV6ZW4gYSBwYXJhbmNz6XJ0ZWxtZXr1biIKK21zZ3N0ciAibmluY3NlbiBtdW5rYWtlemVsw6lzIGViYmVuIGEgcGFyYW5jc8OpcnRlbG1lesWRYmVuIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxsb2M6IGZhaWxlZCBhc3NlcnRpb246ICVzXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAibWFsbG9jOiBuZW0gdGVsamVzw7xsxZEgZmVsdMOpdGVsZXrDqXM6ICVzXG4iCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MzEyCiAjLCBjLWZvcm1hdApAQCAtMTEzNiw3ODYgKzExNzUsNzczIEBACiAiXHJcbiIKICJtYWxsb2M6ICVzOiVkOiBhc3NlcnRpb24gYm90Y2hlZFxyXG4iCiBtc2dzdHIgIiIKKyJcclxuIgorIm1hbGxvYzogJXM6JWQ6IHTDqXZlcyBmZWx0w6l0ZWxlesOpc1xyXG4iCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MzEzCi0jLCBmdXp6eQogbXNnaWQgInVua25vd24iCi1tc2dzdHIgIjxpc21lcmV0bGVuPiIKK21zZ3N0ciAiaXNtZXJldGxlbiIKIAogIzogbGliL21hbGxvYy9tYWxsb2MuYzo3OTcKIG1zZ2lkICJtYWxsb2M6IGJsb2NrIG9uIGZyZWUgbGlzdCBjbG9iYmVyZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAibWFsbG9jOiBhIHN6YWJhZGxpc3TDoW4gbMOpdsWRIGJsb2trIGZlbMO8bMOtcnZhIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjg3NAogbXNnaWQgImZyZWU6IGNhbGxlZCB3aXRoIGFscmVhZHkgZnJlZWQgYmxvY2sgYXJndW1lbnQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZnJlZTogbcOhciBmZWxzemFiYWTDrXRvdHQgYmxva2thbCBsZXR0IGjDrXZ2YSIKIAogIzogbGliL21hbGxvYy9tYWxsb2MuYzo4NzcKIG1zZ2lkICJmcmVlOiBjYWxsZWQgd2l0aCB1bmFsbG9jYXRlZCBibG9jayBhcmd1bWVudCIKLW1zZ3N0ciAiIgorbXNnc3RyICJmcmVlOiBuZW0gbGVmb2dsYWx0IGJsb2trYWwgbGV0dCBow612dmEiCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6ODk2CiBtc2dpZCAiZnJlZTogdW5kZXJmbG93IGRldGVjdGVkOyBtaF9uYnl0ZXMgb3V0IG9mIHJhbmdlIgotbXNnc3RyICIiCittc2dzdHIgImZyZWU6IGFsdWxjc29yZHVsw6FzdCDDqXJ6w6lrZWx0OyBtaF9uYnl0ZXMga8OtdsO8bCBlc2lrIGEgdGFydG9tw6FueW9uIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjkwMgogbXNnaWQgImZyZWU6IHN0YXJ0IGFuZCBlbmQgY2h1bmsgc2l6ZXMgZGlmZmVyIgotbXNnc3RyICIiCittc2dzdHIgImZyZWU6IGtlemTFkS0gw6lzIHrDoXLDs2RhcmFiIG3DqXJldGUgZWx0w6lyIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjEwMDEKIG1zZ2lkICJyZWFsbG9jOiBjYWxsZWQgd2l0aCB1bmFsbG9jYXRlZCBibG9jayBhcmd1bWVudCIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWFsbG9jOiBuZW0gbGVmb2dsYWx0IGJsb2trYWwgbGV0dCBow612dmEiCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MTAxNgogbXNnaWQgInJlYWxsb2M6IHVuZGVyZmxvdyBkZXRlY3RlZDsgbWhfbmJ5dGVzIG91dCBvZiByYW5nZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWFsbG9jOiBhbHVsY3NvcmR1bMOhc3Qgw6lyesOpa2VsdDsgbWhfbmJ5dGVzIGvDrXbDvGwgZXNpayBhIHRhcnRvbcOhbnlvbiIKIAogIzogbGliL21hbGxvYy9tYWxsb2MuYzoxMDIyCiBtc2dpZCAicmVhbGxvYzogc3RhcnQgYW5kIGVuZCBjaHVuayBzaXplcyBkaWZmZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVhbGxvYzoga2V6ZMWRLSDDqXMgesOhcsOzZGFyYWIgbcOpcmV0ZSBlbHTDqXIiCiAKICM6IGxpYi9tYWxsb2MvdGFibGUuYzoxNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVnaXN0ZXJfYWxsb2M6IGFsbG9jIHRhYmxlIGlzIGZ1bGwgd2l0aCBGSU5EX0FMTE9DP1xuIgotbXNnc3RyICIiCittc2dzdHIgInJlZ2lzdGVyX2FsbG9jOiBmb2dsYWzDs3TDoWJsYSB0ZWxlIHZhbiBGSU5EX0FMTE9DLWthbD9cbiIKIAogIzogbGliL21hbGxvYy90YWJsZS5jOjE4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdpc3Rlcl9hbGxvYzogJXAgYWxyZWFkeSBpbiB0YWJsZSBhcyBhbGxvY2F0ZWQ/XG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVnaXN0ZXJfYWxsb2M6ICVwIG3DoXIgYSB0w6FibMOhYmFuIGxlZm9nbGFsdGvDqW50P1xuIgogCiAjOiBsaWIvbWFsbG9jL3RhYmxlLmM6MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInJlZ2lzdGVyX2ZyZWU6ICVwIGFscmVhZHkgaW4gdGFibGUgYXMgZnJlZT9cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWdpc3Rlcl9mcmVlOiAlcCBtw6FyIGEgdMOhYmzDoWJhbiBzemFiYWRrw6ludD9cbiIKIAogIzogbGliL3NoL2ZtdHVsb25nLmM6MTAxCiBtc2dpZCAiaW52YWxpZCBiYXNlIgotbXNnc3RyICIiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gc3rDoW1yZW5kc3plciIKIAogIzogbGliL3NoL25ldG9wZW4uYzoxNjgKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaG9zdCB1bmtub3duIgotbXNnc3RyICJpc21lcmV0bGVuIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBnw6lwbsOpdiIKIAogIzogbGliL3NoL25ldG9wZW4uYzoxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2VydmljZSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogw6lydsOpbnl0ZWxlbiBzem9sZ8OhbHRhdMOhcyIKIAogIzogbGliL3NoL25ldG9wZW4uYzozMDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBuZXR3b3JrIHBhdGggc3BlY2lmaWNhdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogaGliw6FzIGjDoWzDs3phdGnDunR2b25hbC1tZWdhZMOhcyIKIAogIzogbGliL3NoL25ldG9wZW4uYzozNDYKIG1zZ2lkICJuZXR3b3JrIG9wZXJhdGlvbnMgbm90IHN1cHBvcnRlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJhIGjDoWzDs3phdGkgbcWxdmVsZXRlayBuaW5jc2VuZWsgdMOhbW9nYXR2YSIKIAogIzogbG9jYWxlLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgotbXNnc3RyICIiCittc2dzdHIgInNldGxvY2FsZTogTENfQUxMOiBuZW0gbGVoZXQgdGVyw7xsZXRpIGJlw6FsbMOtdMOhc29rYXQgdsOhbHRhbmkgKCVzKSIKIAogIzogbG9jYWxlLmM6MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJzZXRsb2NhbGU6IExDX0FMTDogbmVtIGxlaGV0IHRlcsO8bGV0aSBiZcOhbGzDrXTDoXNva2F0IHbDoWx0YW5pICglcyk6ICVzIgogCiAjOiBsb2NhbGUuYzoyNDcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgotbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQgbGVmb2dsYWxuaSAlbHUgYuFqdG90ICglbHUgYuFqdCBsZWZvZ2xhbHZhKSIKK21zZ3N0ciAic2V0bG9jYWxlOiAlczogbmVtIGxlaGV0IHRlcsO8bGV0aSBiZcOhbGzDrXTDoXNva2F0IHbDoWx0YW5pICglcykiCiAKICM6IGxvY2FsZS5jOjI0OQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgotbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQgbGVmb2dsYWxuaSAlbHUgYuFqdG90ICglbHUgYuFqdCBsZWZvZ2xhbHZhKSIKK21zZ3N0ciAic2V0bG9jYWxlOiAlczogbmVtIGxlaGV0IHRlcsO8bGV0aSBiZcOhbGzDrXTDoXNva2F0IHbDoWx0YW5pICglcyk6ICVzIgogCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgotbXNnc3RyICLWbm5layBsZXZlbGUgdmFuICRfIC1iZW4iCittc2dzdHIgIkxldsOpbCBhIGvDtnZldGtlesWRYmVuOiAkXyIKIAogIzogbWFpbGNoZWNrLmM6NDU4CiBtc2dpZCAiWW91IGhhdmUgbmV3IG1haWwgaW4gJF8iCi1tc2dzdHIgItZubmVrIPpqIGxldmVsZSDpcmtlemV0dCBhICRfIC1yYSIKK21zZ3N0ciAiw5pqIGxldsOpbCBhIGvDtnZldGtlesWRYmVuOiAkXyIKIAogIzogbWFpbGNoZWNrLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKLW1zZ3N0ciAiQSAlcyBsZXZlbGV0IG3hciBlbG9sdmFzdGFcbiIKK21zZ3N0ciAiQSh6KSDigJ4lc+KAnSBoZWx5ZW4gbMOpdsWRIGxldsOpbCBlbCB2YW4gb2x2YXN2YVxuIgogCiAjOiBtYWtlX2NtZC5jOjMyMwotIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKLW1zZ3N0ciAic3ppbnRha3Rpa2FpIGhpYmEgYSBraWZlbHlleulzYmVuIgorbXNnc3RyICJzemludGFrdGlrYWkgaGliYTogYXJpdG1ldGlrYWkga2lmZWplesOpcyBzesO8a3PDqWdlcyIKIAogIzogbWFrZV9jbWQuYzozMjUKLSMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKLW1zZ3N0ciAic3ppbnRha3Rpa2FpIGhpYmE6ICB24XJhdGxhbiBm4WpsIHbpZyIKK21zZ3N0ciAic3ppbnRha3Rpa2FpIGhpYmE6IHbDoXJhdGxhbiDigJ474oCdIgogCiAjOiBtYWtlX2NtZC5jOjMyNgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCi1tc2dzdHIgInN6aW50YWt0aWthaSBoaWJhIgorbXNnc3RyICJzemludGFrdGlrYWkgaGliYTog4oCeKCglcykp4oCdIgogCiAjOiBtYWtlX2NtZC5jOjU3NQogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGJhZCBpbnN0cnVjdGlvbiB0eXBlICVkIgotbXNnc3RyICJtYWtlX2hlcmVfZG9jdW1lbnQ6IHJvc3N6IHV0YXPtdOFzIHTtcHVzICVkIgorbXNnc3RyICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGhpYsOhcyB1dGFzw610w6FzdMOtcHVzOiAlZCIKIAogIzogbWFrZV9jbWQuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGVyZS1kb2N1bWVudCBhdCBsaW5lICVkIGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIGAlcycpIgotbXNnc3RyICIiCittc2dzdHIgImEoeikgJWQuIHNvcmJhbiBrZXpkZXR0IGhlcmVkb2NvdCBFT0YgesOhcmphICjigJ4lc+KAnSBoZWx5ZXR0KSIKIAogIzogbWFrZV9jbWQuYzo3NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAibWFrZV9yZWRpcmVjdGlvbjogJWQuIMOhdGlyw6FuecOtdMOzIHV0YXPDrXTDoXMga8OtdsO8bCBlc2lrIGEgdGFydG9tw6FueW9uIgogCi0jOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKKyMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKLW1zZ3N0ciAiduFyYXRsYW4gRU9GIGFt7Wcgdml6c2fhbHRhbSBhICBgJWMnLXQiCittc2dzdHIgInbDoXJhdGxhbiBFT0Yg4oCeJWPigJ0gaGVseWV0dCIKIAotIzogcGFyc2UueTozOTUxCi0jLCBmdXp6eQorIzogcGFyc2UueTo0MDI1CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKLW1zZ3N0ciAiduFyYXRsYW4gRU9GIGFt7Wcgdml6c2fhbHRhbSBhICBgJWMnLXQiCittc2dzdHIgInbDoXJhdGxhbiBFT0Yg4oCeXV3igJ0gaGVseWV0dCIKIAotIzogcGFyc2UueTozOTU2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHBhcnNlLnk6NDAzMAorIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgotbXNnc3RyICJzemludGFrdGlrYWkgaGliYSBhIHbhcmF0bGFuICVzIHZleulyamVsIGv2cvxsIgorbXNnc3RyICJzemludGFrdGlrYWkgaGliYSBhIGZlbHTDqXRlbGJlbjogdsOhcmF0bGFuIHRva2VuOiDigJ4lc+KAnSIKIAotIzogcGFyc2UueTozOTYwCi0jLCBmdXp6eQorIzogcGFyc2UueTo0MDM0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCi1tc2dzdHIgInN6aW50YWt0aWthaSBoaWJhIGEga2lmZWx5ZXrpc2JlbiIKK21zZ3N0ciAic3ppbnRha3Rpa2FpIGhpYmEgYSBmZWx0w6l0ZWxiZW4iCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgotbXNnc3RyICIiCittc2dzdHIgInbDoXJhdGxhbiB0b2tlbiAoJXMpIOKAninigJ0gaGVseWV0dCIKIAotIzogcGFyc2UueTo0MDQyCi0jLCBmdXp6eQorIzogcGFyc2UueTo0MTE2CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgotbXNnc3RyICInKScgc3r8a3PpZ2VzIgorbXNnc3RyICLigJ4p4oCdIHN6w7xrc8OpZ2VzIgogCi0jOiBwYXJzZS55OjQwNzAKKyM6IHBhcnNlLnk6NDE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCi1tc2dzdHIgIiIKK21zZ3N0ciAidsOhcmF0bGFuIGFyZ3VtZW50dW0gKCVzKSBmZWx0w6l0ZWxlcyBlZ3lvcGVyYW5kdXPDuiBvcGVyw6F0b3Job3oiCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKLW1zZ3N0ciAiIgorbXNnc3RyICJ2w6FyYXRsYW4gYXJndW1lbnR1bSBmZWx0w6l0ZWxlcyBlZ3lvcGVyYW5kdXPDuiBvcGVyw6F0b3Job3oiCiAKLSM6IHBhcnNlLnk6NDEyMAotIywgZnV6enksIGMtZm9ybWF0CisjOiBwYXJzZS55OjQxOTQKKyMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCi1tc2dzdHIgIiVzOmJpbuFyaXMgbft2ZWxldCBzevxrc+lnZXMiCittc2dzdHIgInbDoXJhdGxhbiB0b2tlbiAoJXMpLCBmZWx0w6l0ZWxlcyBrw6l0b3BlcmFuZHVzw7ogb3BlcsOhdG9yIHN6w7xrc8OpZ2VzIgogCi0jOiBwYXJzZS55OjQxMjQKLSMsIGZ1enp5CisjOiBwYXJzZS55OjQxOTgKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCi1tc2dzdHIgIiVzOmJpbuFyaXMgbft2ZWxldCBzevxrc+lnZXMiCittc2dzdHIgImZlbHTDqXRlbGVzIGvDqXRvcGVyYW5kdXPDuiBvcGVyw6F0b3Igc3rDvGtzw6lnZXMiCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCi1tc2dzdHIgIiIKK21zZ3N0ciAidsOhcmF0bGFuIGFyZ3VtZW50dW0gKCVzKSBmZWx0w6l0ZWxlcyBrw6l0b3BlcmFuZHVzw7ogb3BlcsOhdG9yaG96IgogCi0jOiBwYXJzZS55OjQxNTAKKyM6IHBhcnNlLnk6NDIyNAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgotbXNnc3RyICIiCittc2dzdHIgInbDoXJhdGxhbiBhcmd1bWVudHVtIGZlbHTDqXRlbGVzIGvDqXRvcGVyYW5kdXPDuiBvcGVyw6F0b3Job3oiCiAKLSM6IHBhcnNlLnk6NDE2MQotIywgZnV6enksIGMtZm9ybWF0CisjOiBwYXJzZS55OjQyMzUKKyMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCi1tc2dzdHIgImA6JyB0+mxs6XB0ZSBhIGtpZmVseWV66XMgZmVsdOl0ZWxlaXQiCittc2dzdHIgInbDoXJhdGxhbiB0b2tlbiAoJWMpIGZlbHTDqXRlbGVzIHBhcmFuY3NiYW4iCiAKLSM6IHBhcnNlLnk6NDE2NAotIywgZnV6enksIGMtZm9ybWF0CisjOiBwYXJzZS55OjQyMzgKKyMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCi1tc2dzdHIgImA6JyB0+mxs6XB0ZSBhIGtpZmVseWV66XMgZmVsdOl0ZWxlaXQiCittc2dzdHIgInbDoXJhdGxhbiB0b2tlbiAoJXMpIGZlbHTDqXRlbGVzIHBhcmFuY3NiYW4iCiAKLSM6IHBhcnNlLnk6NDE2OAotIywgZnV6enksIGMtZm9ybWF0CisjOiBwYXJzZS55OjQyNDIKKyMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgotbXNnc3RyICJgOicgdPpsbOlwdGUgYSBraWZlbHlleulzIGZlbHTpdGVsZWl0IgorbXNnc3RyICJ2w6FyYXRsYW4gdG9rZW4gKCVkKSBmZWx0w6l0ZWxlcyBwYXJhbmNzYmFuIgogCi0jOiBwYXJzZS55OjU0NTkKKyM6IHBhcnNlLnk6NTU2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCi1tc2dzdHIgInN6aW50YWt0aWthaSBoaWJhIGEgduFyYXRsYW4gJXMgdmV66XJqZWwga/Zy/GwiCittc2dzdHIgInN6aW50YWt0aWthaSBoaWJhIOKAniVz4oCdIHbDoXJhdGxhbiB0b2tlbiBrw7Z6ZWzDqWJlbiIKIAotIzogcGFyc2UueTo1NDc3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHBhcnNlLnk6NTU4NAorIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgotbXNnc3RyICJzemludGFrdGlrYWkgaGliYSBhIHbhcmF0bGFuICVzIHZleulyamVsIGv2cvxsIgorbXNnc3RyICJzemludGFrdGlrYWkgaGliYSDigJ4lc+KAnSBrw7Z6ZWzDqWJlbiIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCi1tc2dzdHIgInN6aW50YWt0aWthaSBoaWJhOiAgduFyYXRsYW4gZuFqbCB26WciCittc2dzdHIgInN6aW50YWt0aWthaSBoaWJhOiB2w6FyYXRsYW4gZsOhamx2w6lnZSIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgInN6aW50YWt0aWthaSBoaWJhIgogCi0jOiBwYXJzZS55OjU1NDkKKyM6IHBhcnNlLnk6NTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKLW1zZ3N0ciAiSGFzem7hbGphIFwiJXNcIiBhIHBhcmFuY3PpcnRlbG1levUgZWxoYWd54XPhaG96LlxuIgorbXNnc3RyICLigJ4lc+KAnSBoYXN6bsOhbGF0w6F2YWwgbGVoZXQgZWxoYWd5bmkgYSBwYXJhbmNzw6lydGVsbWV6xZF0LlxuIgogCi0jOiBwYXJzZS55OjU3MTEKLSMsIGZ1enp5CisjOiBwYXJzZS55OjU4MTgKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCi1tc2dzdHIgInbhcmF0bGFuIEVPRiBhbe1nIHZpenNn4Wx0YW0gYSAgYCVjJy10IgorbXNnc3RyICJ2w6FyYXRsYW4gRU9GIOKAninigJ0gaGVseWV0dCIKIAogIzogcGNvbXBsZXRlLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJraWVnw6lzesOtdMOpczogbmVtIHRhbMOhbGhhdMOzIOKAniVz4oCdIGbDvGdndsOpbnkiCiAKLSM6IHBjb21wbGliLmM6MTc5CisjOiBwY29tcGxpYi5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgotbXNnc3RyICIiCittc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI5MAorIzogcHJpbnRfY21kLmM6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKLW1zZ3N0ciAicHJpbnRfY29tbWFuZDogcm9zc3ogY3NhdGxha2964XMgYCVkJyIKLQotIzogcHJpbnRfY21kLmM6MzYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKLW1zZ3N0ciAiIgorbXNnc3RyICJwcmludF9jb21tYW5kOiBoaWLDoXMgY3NhdGxha296w7MgKCVkKSIKIAogIzogcHJpbnRfY21kLmM6MzY4Ci1tc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCi1tc2dzdHIgIiIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJ4dHJhY2Vfc2V0OiAlZDogw6lydsOpbnl0ZWxlbiBmw6FqbGxlw61yw7MiCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6MzczCittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgInh0cmFjZV9zZXQ6IE5VTEwgZsOhamxtdXRhdMOzIgorCisjOiBwcmludF9jbWQuYzozNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgotbXNnc3RyICIiCittc2dzdHIgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKIAotIzogcHJpbnRfY21kLmM6MTQ2MQorIzogcHJpbnRfY21kLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAiY3ByaW50Zjog4oCeJWPigJ06IMOpcnbDqW55dGVsZW4gZm9ybcOhdHVta2FyYWt0ZXIiCiAKLSM6IHJlZGlyLmM6MTEwCisjOiByZWRpci5jOjEyMgogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZsOhamxsZcOtcsOzIGvDrXbDvGwgZXNpayBhIHRhcnRvbcOhbnlvbiIKIAotIzogcmVkaXIuYzoxNjYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcmVkaXIuYzoxNzgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKLW1zZ3N0ciAiJXM6IE5lbSBlZ3npcnRlbG37IOF0aXLhbnntdOFzIgorbXNnc3RyICIlczoga8OpdMOpcnRlbG3FsSDDoXRpcsOhbnnDrXTDoXMiCiAKLSM6IHJlZGlyLmM6MTcwCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJlZGlyLmM6MTgyCisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCi1tc2dzdHIgIiVzOiBOZW0gbGVoZXQgbWVnc2VtbWlz7XRlbmkgbOl0ZXr1IGbhamx0kSIKK21zZ3N0ciAiJXM6IG5lbSBsZWhldCBmZWzDvGzDrXJuaSBsw6l0ZXrFkSBmw6FqbHQiCiAKLSM6IHJlZGlyLmM6MTc1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJlZGlyLmM6MTg3CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgotbXNnc3RyICIlczogZmVubnRhcnR2YTogcGFyYW5jcyBuZW0gdGFydGFsbWF6aGF0ICcvJyBrYXJha3RlcnQiCittc2dzdHIgIiVzOiBrb3Jsw6F0b3pvdHQ6IG5lbSBsZWhldCDDoXRpcsOhbnnDrXRhbmkgYSBraW1lbmV0ZXQiCiAKLSM6IHJlZGlyLmM6MTgwCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJlZGlyLmM6MTkyCisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKLW1zZ3N0ciAibmVtIGxlaGV0IGzpdHJlaG96bmkgYSBwaXBlLW90IGZlbGFkYXQgYmVoZWx5ZXR0ZXPtdOlzaGV6OiAlcyIKK21zZ3N0ciAibmVtIGxlaGV0IGEgaGVyZWRvY25hayDDoXRtZW5ldGkgZsOhamx0IGzDqXRyZWhvem5pOiAlcyIKIAotIzogcmVkaXIuYzoxODQKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcmVkaXIuYzoxOTYKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCi1tc2dzdHIgIiVzOiBuZW0gbGVoZXQgYSBsaXN04WhveiByZW5kZWxuaSBheiBlbGVtZXQiCittc2dzdHIgIiVzOiBuZW0gbGVoZXQgdsOhbHRvesOzaG96IGbDoWpsbGXDrXLDs3QgcmVuZGVsbmkiCiAKLSM6IHJlZGlyLmM6NTQ0CisjOiByZWRpci5jOjU0OAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKLW1zZ3N0ciAiIgorbXNnc3RyICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbmluY3MgdMOhbW9nYXR2YSBow6Fsw7N6YXQgbsOpbGvDvGwiCiAKLSM6IHJlZGlyLmM6MTEwMQotIywgZnV6enkKKyM6IHJlZGlyLmM6ODE4IHJlZGlyLmM6OTMwIHJlZGlyLmM6OTkzIHJlZGlyLmM6MTEzNgogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgotbXNnc3RyICLhdGly4W557XThc2kgaGliYSIKK21zZ3N0ciAiw6F0aXLDoW55w610w6FzaSBoaWJhOiBuZW0gbGVoZXQgZHVwbGlrw6FsbmkgYSBmw6FqbGxlw61yw7N0IgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKLW1zZ3N0ciAiIgorbXNnc3RyICJuZW0gdGFsw6FsaGF0w7MgL3RtcCwgaG96emEgbMOpdHJlISIKIAotIzogc2hlbGwuYzozMzYKKyM6IHNoZWxsLmM6MzM3CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiL3RtcCDDqXJ2w6lueWVzIGvDtm55dnTDoXJuw6l2IGtlbGwgbGVneWVuIgogCiAjOiBzaGVsbC5jOjg4NAotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgotbXNnc3RyICIlYyVjOiByb3NzeiBvcGNp8yIKK21zZ3N0ciAiJWMlYzogw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCiAKLSM6IHNoZWxsLmM6MTY1MQorIzogc2hlbGwuYzoxNjUyCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICJOaW5jcyBuZXZlbSEiCiAKLSM6IHNoZWxsLmM6MTc5MwotIywgZnV6enksIGMtZm9ybWF0CisjOiBzaGVsbC5jOjE3OTUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgotbXNnc3RyICJHTlUgJXMsIHZlcnpp8yAlc1xuIgorbXNnc3RyICJHTlUgYmFzaCwgJXMtKCVzKSB2ZXJ6acOzXG4iCiAKLSM6IHNoZWxsLmM6MTc5NAorIzogc2hlbGwuYzoxNzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgogIlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gc2NyaXB0LWZpbGUgLi4uXG4iCiBtc2dzdHIgIiIKLSJIYXN6buFsYXQ6XHQlcyBbR05VIGhvc3N6+iBvcGNp810gW29wY2nzXSAuLi5cbiIKLSJcdCVzIFtHTlUgaG9zc3r6IG9wY2nzXSBbb3BjafNdIHBhcmFuY3MgZuFqbCAuLi5cbiIKKyJIYXN6bsOhbGF0OiAgICAgJXMgW0dOVSBob3NzesO6IGthcGNzb2zDs10gW2thcGNzb2zDs10gLi4uXG4iCisiICAgICAgICVzIFtHTlUgaG9zc3rDuiBrYXBjc29sw7NdIFtrYXBjc29sw7NdIHBhcmFuY3Nmw6FqbCAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzk2CisjOiBzaGVsbC5jOjE3OTgKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgotbXNnc3RyICJHTlUgaG9zc3r6IG9wY2nzazpcbiIKK21zZ3N0ciAiR05VIGhvc3N6w7oga2FwY3NvbMOzazpcbiIKIAotIzogc2hlbGwuYzoxODAwCisjOiBzaGVsbC5jOjE4MDIKIG1zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgotbXNnc3RyICJQYXJhbmNz6XJ0ZWxtZXr1IG9wY2nzazpcbiIKK21zZ3N0ciAiUGFyYW5jc8OpcnRlbG1lesWRLWthcGNzb2zDs2s6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMQotIywgZnV6enkKKyM6IHNoZWxsLmM6MTgwMwogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKLW1zZ3N0ciAiXHQtaXJzRCB2YWd5IC1jIHBhcmFuY3NcdFx0KGNzYWsgdulncmVoYWp0aGF08ylcbiIKK21zZ3N0ciAiXHQtaXJzRCB2YWd5IC1jIHBhcmFuY3MgdmFneSAtTyBzaG9wdF9vcHRpb25cdFx0KGNzYWsgaMOtdsOhcylcbiIKIAotIzogc2hlbGwuYzoxODE2CisjOiBzaGVsbC5jOjE4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCi1tc2dzdHIgIlx0LSVzIHZhZ3kgLW8gb3BjafNrXG4iCi0KLSM6IHNoZWxsLmM6MTgyMgotIywgYy1mb3JtYXQKLW1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCi1tc2dzdHIgIiIKLSLNcmphIGJlIGEgYCVzIC1jIFwiaGVscCBzZXRcIicgaGEgdPZiYiBpbmZvcm3hY2nzcmEgdmFuIHN6/Gtz6WdlIGEgIgotInBhcmFuY3PpcnRlbG1levUgb3BjafNpdmFsIGthcGNzb2xhdGJhbi5cbiIKLQotIzogc2hlbGwuYzoxODIzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCi1tc2dzdHIgIiIKLSLNcmphIGJlIGEgYCVzIC1jIFwiaGVscCBzZXRcIicgaGEgdPZiYiBpbmZvcm3hY2nzcmEgdmFuIHN6/Gtz6WdlIGEgIgotInBhcmFuY3PpcnRlbG1levUgYmXpcO10ZXR0IHV0YXPtdOFzYWl2YWwga2FwY3NvbGF0YmFuLlxuIgorbXNnc3RyICJcdC0lcyB2YWd5IC1vIGthcGNzb2zDs1xuIgogCiAjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0Ci1tc2dpZCAiVXNlIHRoZSBgYmFzaGJ1ZycgY29tbWFuZCB0byByZXBvcnQgYnVncy5cbiIKK21zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKKyJBIOKAniVzIC1jIFwiaGVscCBzZXRcIuKAnSB0b3bDoWJiaSBpbmZvcm3DoWNpw7N0IGFkIGEgcGFyYW5jc8OpcnRlbG1lesWRLSIKKyJiZcOhbGzDrXTDoXNva3LDs2wuXG4iCiAKLSM6IHNpZy5jOjYyNgorIzogc2hlbGwuYzoxODI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCittc2dzdHIgIkEg4oCeJXMgLWMgaGVscOKAnSB0b3bDoWJiaSBpbmZvcm3DoWNpw7N0IGFkIGEgYmXDqXDDrXRldHQgcGFyYW5jc29rcsOzbC5cbiIKKworIzogc2hlbGwuYzoxODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCittc2dzdHIgIkEg4oCeYmFzaGJ1Z+KAnSBwYXJhbmNjc2FsIGplbGVudGhldCBoaWLDoWthdC5cbiIKKworIzogc2lnLmM6NjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAic2lncHJvY21hc2s6ICVkOiDDqXJ2w6lueXRlbGVuIG3FsXZlbGV0IgogCiAjOiBzaWdsaXN0LmM6NDgKIG1zZ2lkICJCb2d1cyBzaWduYWwiCi1tc2dzdHIgIkhhbWlzIGplbCIKK21zZ3N0ciAiSGliw6FzIHN6aWduw6FsIgogCiAjOiBzaWdsaXN0LmM6NTEKIG1zZ2lkICJIYW5ndXAiCi1tc2dzdHIgIkJvbnThcyIKK21zZ3N0ciAiQm9udMOhcyIKIAogIzogc2lnbGlzdC5jOjU1CiBtc2dpZCAiSW50ZXJydXB0IgotbXNnc3RyICJNZWdzemFr7XThcyIKK21zZ3N0ciAiTWVnc3pha8OtdMOhcyIKIAogIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKLW1zZ3N0ciAiS2ls6XDpcyIKK21zZ3N0ciAiQWJiYWhhZ3nDoXMiCiAKICM6IHNpZ2xpc3QuYzo2MwogbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCi1tc2dzdHIgIslydulueXRlbGVuIHV0YXPtdOFzIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIHV0YXPDrXTDoXMiCiAKICM6IHNpZ2xpc3QuYzo2NwogbXNnaWQgIkJQVCB0cmFjZS90cmFwIgotbXNnc3RyICJCUFQgbnlvbWv2dmV06XMvY3NhcGRhIgorbXNnc3RyICJCUFQgdHJhY2UvdHJhcCIKIAogIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCi1tc2dzdHIgIlV0YXPtdOFzIE1FR1NaQUvNVMFTQSIKK21zZ3N0ciAiQUJPUlQgdXRhc8OtdMOhcyIKIAogIzogc2lnbGlzdC5jOjc5CiBtc2dpZCAiRU1UIGluc3RydWN0aW9uIgotbXNnc3RyICJFTVQgdXRhc+104XMiCittc2dzdHIgIkVNVCB1dGFzw610w6FzIgogCiAjOiBzaWdsaXN0LmM6ODMKIG1zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCi1tc2dzdHIgIkxlYmVn9SBwb250b3MgZXNlbelueSIKK21zZ3N0ciAiTGViZWfFkXBvbnRvcyBraXbDqXRlbCIKIAogIzogc2lnbGlzdC5jOjg3CiBtc2dpZCAiS2lsbGVkIgotbXNnc3RyICJLaWz1dmUiCittc2dzdHIgIktpbMWRdmUiCiAKICM6IHNpZ2xpc3QuYzo5MQogbXNnaWQgIkJ1cyBlcnJvciIKLW1zZ3N0ciAiQnVzeiBoaWJhIgorbXNnc3RyICJCdXN6aGliYSIKIAogIzogc2lnbGlzdC5jOjk1CiBtc2dpZCAiU2VnbWVudGF0aW9uIGZhdWx0IgotbXNnc3RyICJTemVnbWVucyBoaWJhIgorbXNnc3RyICJTemVnbWVuc2hpYmEiCiAKICM6IHNpZ2xpc3QuYzo5OQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKLW1zZ3N0ciAiUm9zc3ogcmVuZHN6ZXJo7XbhcyIKK21zZ3N0ciAiUm9zc3ogcmVuZHN6ZXJow612w6FzIgogCiAjOiBzaWdsaXN0LmM6MTAzCiBtc2dpZCAiQnJva2VuIHBpcGUiCi1tc2dzdHIgIlT2cvZ0dCBjc/UgKHBpcGUpIgorbXNnc3RyICJUw7Zyw7Z0dCBjc8WRdmV6ZXTDqWsiCiAKICM6IHNpZ2xpc3QuYzoxMDcKIG1zZ2lkICJBbGFybSBjbG9jayIKLW1zZ3N0ciAiRW1s6WtlenRldOlzIgorbXNnc3RyICLDiWJyZXN6dMOpcyIKIAogIzogc2lnbGlzdC5jOjExMQotIywgZnV6enkKIG1zZ2lkICJUZXJtaW5hdGVkIgotbXNnc3RyICJraS4iCittc2dzdHIgIkJlZmVqZXp2ZSIKIAogIzogc2lnbGlzdC5jOjExNQogbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCi1tc2dzdHIgIlP8cmf1cyBJTyBmZWx06XRlbCIKK21zZ3N0ciAiU8O8cmfFkXMgSU8ga8O2csO8bG3DqW55IgogCiAjOiBzaWdsaXN0LmM6MTE5CiBtc2dpZCAiU3RvcHBlZCAoc2lnbmFsKSIKLW1zZ3N0ciAiTWVn4Wxs7XR2YSAoamVsbGVsKSIKK21zZ3N0ciAiTWVnw6FsbMOtdHZhIChzemlnbsOhbCkiCiAKICM6IHNpZ2xpc3QuYzoxMjcKIG1zZ2lkICJDb250aW51ZSIKLW1zZ3N0ciAiRm9seXRhdOFzIgorbXNnc3RyICJGb2x5dGF0w6FzIgogCiAjOiBzaWdsaXN0LmM6MTM1CiBtc2dpZCAiQ2hpbGQgZGVhdGggb3Igc3RvcCIKLW1zZ3N0ciAiR3llcm1layBvYmpla3R1bSBtZWdoYWx0IHZhZ3kgbWVn4WxsdCIKK21zZ3N0ciAiR3llcm1layBoYWzDoWxhIHZhZ3kgbWVnw6FsbMOtdMOhc2EiCiAKICM6IHNpZ2xpc3QuYzoxMzkKIG1zZ2lkICJTdG9wcGVkICh0dHkgaW5wdXQpIgotbXNnc3RyICJNZWfhbGztdHZhICh0dHkgYmVtZW5ldCkiCittc2dzdHIgIk1lZ8OhbGzDrXR2YSAoa29uem9sYmVtZW5ldCkiCiAKICM6IHNpZ2xpc3QuYzoxNDMKIG1zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKLW1zZ3N0ciAiTWVn4Wxs7XR2YSAodHR5IGtpbWVuZXQpIgorbXNnc3RyICJNZWfDoWxsw610dmEgKGtvbnpvbGtpbWVuZXQpIgogCiAjOiBzaWdsaXN0LmM6MTQ3CiBtc2dpZCAiSS9PIHJlYWR5IgotbXNnc3RyICJJL08ga+lzeiIKK21zZ3N0ciAiSU8ga8Opc3oiCiAKICM6IHNpZ2xpc3QuYzoxNTEKIG1zZ2lkICJDUFUgbGltaXQiCi1tc2dzdHIgIkNQVSBoYXThciIKK21zZ3N0ciAiQ1BVLWtvcmzDoXRvesOhcyIKIAogIzogc2lnbGlzdC5jOjE1NQogbXNnaWQgIkZpbGUgbGltaXQiCi1tc2dzdHIgIkbhamwgaGF04XIiCittc2dzdHIgIkbDoWpsa29ybMOhdG96w6FzIgogCiAjOiBzaWdsaXN0LmM6MTU5CiBtc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgotbXNnc3RyICJFbWzpa2V6dGV06XMgKHZpcnR14WxpcykiCittc2dzdHIgIsOJYnJlc3p0w6lzICh2aXJ0dcOhbGlzKSIKIAogIzogc2lnbGlzdC5jOjE2MwogbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKLW1zZ3N0ciAiRW1s6WtlenRldOlzIChwcm9maWwpIgorbXNnc3RyICLDiWJyZXN6dMOpcyAocHJvZmlsb3rDoXMpIgogCiAjOiBzaWdsaXN0LmM6MTY3CiBtc2dpZCAiV2luZG93IGNoYW5nZWQiCi1tc2dzdHIgIkFibGFrIG1lZ3bhbHRvem90dCIKK21zZ3N0ciAiQWJsYWsgdsOhbHRvem90dCIKIAogIzogc2lnbGlzdC5jOjE3MQogbXNnaWQgIlJlY29yZCBsb2NrIgotbXNnc3RyICJGZWx26XRlbCB64XJvbHZhIgorbXNnc3RyICJFbHZlc3pldHQgesOhcm9sw6FzIgogCiAjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKLW1zZ3N0ciAiRmVsaGFzem7hbPNpIGplbCAxIgorbXNnc3RyICJGZWxoYXN6bsOhbMOzaSAxLiIKIAogIzogc2lnbGlzdC5jOjE3OQogbXNnaWQgIlVzZXIgc2lnbmFsIDIiCi1tc2dzdHIgIkZlbGhhc3pu4WzzaSBqZWwgMiIKK21zZ3N0ciAiRmVsaGFzem7DoWzDs2kgMi4iCiAKICM6IHNpZ2xpc3QuYzoxODMKIG1zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgotbXNnc3RyICJIRlQgYmVtZW5ldGkgYWRhdCBm/Gdn9WJlbiIKK21zZ3N0ciAiSEZUIGJlbWVuZXRpIGFkYXQgdsOhciIKIAogIzogc2lnbGlzdC5jOjE4NwogbXNnaWQgInBvd2VyIGZhaWx1cmUgaW1taW5lbnQiCi1tc2dzdHIgIuFyYW0ga2ltYXJhZOFzIHbhcmhhdPMiCittc2dzdHIgInTDoXBoaWJhIGZlbnllZ2V0IgogCiAjOiBzaWdsaXN0LmM6MTkxCiBtc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgotbXNnc3RyICJyZW5kc3plciBz6XL8bOlzIHbhcmhhdPMiCittc2dzdHIgInJlbmRzemVybGXDoWxsw6FzIGZlbnllZ2V0IgogCiAjOiBzaWdsaXN0LmM6MTk1CiBtc2dpZCAibWlncmF0ZSBwcm9jZXNzIHRvIGFub3RoZXIgQ1BVIgotbXNnc3RyICJmZWxhZGF0IOF0YWThc2EgbeFzaWsgQ1BVLW5hayIKK21zZ3N0ciAiZm9seWFtYXQgw6F0dml0ZWxlIG3DoXNpayBDUFUtcmEiCiAKICM6IHNpZ2xpc3QuYzoxOTkKIG1zZ2lkICJwcm9ncmFtbWluZyBlcnJvciIKLW1zZ3N0ciAicHJvZ3JhbW964XNpIGhpYmEiCittc2dzdHIgInByb2dyYW1vesOhc2kgaGliYSIKIAogIzogc2lnbGlzdC5jOjIwMwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKLW1zZ3N0ciAiSEZUIGZlbPxneWVs9SBt82QgZW5nZWTpbHllenZlIgorbXNnc3RyICJIRlQgbW9uaXRvciBtw7NkIG1lZ2FkdmEiCiAKICM6IHNpZ2xpc3QuYzoyMDcKIG1zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKLW1zZ3N0ciAiSEZUIGZlbPxneWVs9SBt82Qgdmlzc3phdm9udmEiCittc2dzdHIgIkhGVCBtb25pdG9yIG3Ds2Qgdmlzc3phdm9udmEiCiAKICM6IHNpZ2xpc3QuYzoyMTEKIG1zZ2lkICJIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZCIKLW1zZ3N0ciAiSEZUIGhhbmdzb3JvemF0IGJlaGVseWV6dmUiCittc2dzdHIgIkhGVCBoYW5nZm9seWFtYXQgYmVmZWplenZlIgogCiAjOiBzaWdsaXN0LmM6MjE1CiBtc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKLW1zZ3N0ciAiIgorbXNnc3RyICJJbmZvcm3DoWNpw7Nrw6lyw6lzIgogCiAjOiBzaWdsaXN0LmM6MjIzCiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyIKLW1zZ3N0ciAiSXNtZXJldGxlbiAjIFN6aWdu4WwiCittc2dzdHIgIklzbWVyZXRsZW4gc3ppZ27DoWwgIyIKIAogIzogc2lnbGlzdC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCi1tc2dzdHIgIklzbWVyZXRsZW4gIyVkIFN6aWdu4WwiCittc2dzdHIgIiVkLiBzesOhbcO6IGlzbWVyZXRsZW4gc3ppZ27DoWwiCiAKLSM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgorIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCi1tc2dzdHIgInJvc3N6IGJlaGVseWV0dGVz7XTpczogbmUgYSAlcyBiZSBhICVzLXQiCittc2dzdHIgImhpYsOhcyBoZWx5ZXR0ZXPDrXTDqXM6IG5pbmNzIHrDoXLDsyDigJ4lc+KAnSBhIGvDtnZldGtlesWRYmVuOiAlcyIKIAotIzogc3Vic3QuYzoyNzM1CisjOiBzdWJzdC5jOjI3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCi1tc2dzdHIgIiVzOiBuZW0gbGVoZXQgYSBsaXN04WhveiByZW5kZWxuaSBheiBlbGVtZXQiCittc2dzdHIgIiVzOiBsaXN0YSBuZW0gYWRoYXTDsyB0w7ZtYmVsZW1uZWsgw6lydMOpa8O8bCIKIAotIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAotIywgZnV6enkKKyM6IHN1YnN0LmM6NDk3OSBzdWJzdC5jOjQ5OTUKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKLW1zZ3N0ciAibmVtIGxlaGV0IGzpdHJlaG96bmkgYSBwaXBlLW90IGZlbGFkYXQgYmVoZWx5ZXR0ZXPtdOlzaGV6OiAlcyIKK21zZ3N0ciAibmVtIGhvemhhdMOzIGzDqXRyZSBhIGNzxZF2ZXpldMOpayBhIGZvbHlhbWF0YmVoZWx5ZXR0ZXPDrXTDqXNoZXoiCiAKLSM6IHN1YnN0LmM6NDgwMgotIywgZnV6enkKKyM6IHN1YnN0LmM6NTAyNwogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKLW1zZ3N0ciAiIgotIm5lbSBsZWhldCBs6XRyZWhvem5pIGEgZ3llcm1la2ZvbHlhbWF0b3R0IGZlbGFkYXQgYmVoZWx5ZXR0ZXPtdOlzaGV6OiAlcyIKK21zZ3N0ciAibmVtIGhvemhhdMOzIGzDqXRyZSBhIGd5ZXJtZWsgYSBmb2x5YW1hdGJlaGVseWV0dGVzw610w6lzaGV6IgogCi0jOiBzdWJzdC5jOjQ4NDcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogc3Vic3QuYzo1MDcyCisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCi1tc2dzdHIgIm5lbSBsZWhldCBs6XRyZWhvem5pIGEgICVzIFwibmFtZWQgcGlwZVwiLW90IGEgJXMtbmVrOiAlcyIKK21zZ3N0ciAibmVtIG55aXRoYXTDsyBtZWcgb2x2YXPDoXNyYSBhKHopICVzIGNzxZF2ZXpldMOpayIKIAotIzogc3Vic3QuYzo0ODQ5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHN1YnN0LmM6NTA3NAorIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgotbXNnc3RyICJuZW0gbGVoZXQgbOl0cmVob3puaSBhICAlcyBcIm5hbWVkIHBpcGVcIi1vdCBhICVzLW5lazogJXMiCittc2dzdHIgIm5lbSBueWl0aGF0w7MgbWVnIMOtcsOhc3JhIGEoeikgJXMgY3PFkXZlemV0w6lrIgogCi0jOiBzdWJzdC5jOjQ4NjcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogc3Vic3QuYzo1MDkyCisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKLW1zZ3N0ciAibmVtIGxlaGV0IG3hc29sbmkgYSAlcyBcIm5hbWVkIHBpcGVcIi1vdCBtaW50IGZkICVkIDolcyIKK21zZ3N0ciAibmVtIGR1cGxpa8OhbGhhdMOzIGEoeikgJXMgY3PFkXZlemV0w6lrICVkLiBmw6FqbGxlw61yw7Nrw6ludCIKIAotIzogc3Vic3QuYzo1MDYzCi0jLCBmdXp6eQorIzogc3Vic3QuYzo1Mjg0CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCi1tc2dzdHIgIm5lbSBsZWhldCBs6XRyZWhvem5pIGEgXCJwaXBlXCItb3QgcGFyYW5jcyBiZWhlbHlldHRlc+106XPpaGV6OiAlcyIKK21zZ3N0ciAibmVtIGhvemhhdMOzIGzDqXRyZSBjc8WRdmV6ZXTDqWsgYSBwYXJhbmNzYmVoZWx5ZXR0ZXPDrXTDqXNoZXoiCiAKLSM6IHN1YnN0LmM6NTA5NwotIywgZnV6enkKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKLW1zZ3N0ciAiIgotIm5lbSBsZWhldCBs6XRyZWhvem5pIGEgZ3llcm1la2ZvbHlhbWF0b3QgYSBwYXJhbmNzIGJlaGVseWV0dGVz7XTpc+loZXo6ICVzIgorbXNnc3RyICJuZW0gaG96aGF0w7MgbMOpdHJlIGd5ZXJtZWsgYSBwYXJhbmNzYmVoZWx5ZXR0ZXPDrXTDqXNoZXoiCiAKLSM6IHN1YnN0LmM6NTExNAotIywgZnV6enkKKyM6IHN1YnN0LmM6NTMzOQogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCi1tc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTogbmVtIGxlaGV0IG3hc29sbmkgYSBcInBpcGVcIi1vdCBtaW50IGZkIDE6ICVzIgorbXNnc3RyICJjb21tYW5kX3N1YnN0aXR1dGU6IG5lbSBkdXBsaWvDoWxoYXTDsyBhIGNzxZF2ZXpldMOpayAxLiBmw6FqbGxlw61yw7Nrw6ludCIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCi1tc2dzdHIgIiVzIHBhcmFt6XRlciBzZW1taXMgdmFneSBuaW5jcyBiZeFsbO10dmEiCittc2dzdHIgIiVzOiBhIHBhcmFtw6l0ZXIgbnVsbCB2YWd5IG5pbmNzIGJlw6FsbMOtdHZhIgogCi0jOiBzdWJzdC5jOjU5MDcKKyM6IHN1YnN0LmM6NjEyNSBzdWJzdC5jOjYxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKLW1zZ3N0ciAiJXMgc3r2dmVnculzeiBraWZlamV66XMgPCAwIgorbXNnc3RyICIlczogcsOpc3prYXJha3RlcmzDoW5jLWtpZmVqZXrDqXMgPCAwIgogCi0jOiBzdWJzdC5jOjY5NjUKKyM6IHN1YnN0LmM6NzI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKLW1zZ3N0ciAiJXMgcm9zc3ogYmVoZWx5ZXR0ZXPtdOlzIgorbXNnc3RyICIlczogcm9zc3ogaGVseWV0dGVzw610w6lzIgogCi0jOiBzdWJzdC5jOjcwNDUKKyM6IHN1YnN0LmM6NzM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCi1tc2dzdHIgIiQlcyDtZ3kgbmVtIGxlaGV0IGhvenrhcmVuZGVsbmkiCittc2dzdHIgIiQlczogbmVtIGxlaGV0IMOtZ3kgw6lydMOpa2V0IGFkbmkiCiAKLSM6IHN1YnN0LmM6NzM3NAorIzogc3Vic3QuYzo3Njg0CiBtc2dpZCAiIgogImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgogInN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgorImEgcGFyYW5jc8OpcnRlbG1lesWRIGvDqXPFkWJiaSB2ZXJ6acOzaSBrw7Z0ZWxlesWRdsOpIHRlc3ppayBtYWpkIGF6IGFyaXRtZXRpa2FpICIKKyJracOpcnTDqWtlbMOpc3QiCiAKLSM6IHN1YnN0LmM6NzgzOQotIywgZnV6enksIGMtZm9ybWF0CisjOiBzdWJzdC5jOjgxNDkKKyMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKLW1zZ3N0ciAicm9zc3ogYmVoZWx5ZXR0ZXPtdOlzOiBuZSBhICVzIGJlIGEgJXMtdCIKK21zZ3N0ciAiaGliw6FzIGhlbHlldHRlc8OtdMOpczogbmluY3MgesOhcsOzIOKAnmDigJ0gYSBrw7Z2ZXRrZXrFkWJlbjogJXMiCiAKLSM6IHN1YnN0LmM6ODcyMAorIzogc3Vic3QuYzo5MDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJuaW5jcyB0YWzDoWxhdDogJXMiCiAKICM6IHRlc3QuYzoxNDYKIG1zZ2lkICJhcmd1bWVudCBleHBlY3RlZCIKLW1zZ3N0ciAicGFyYW3pdGVyIHN6/Gtz6WdlcyIKK21zZ3N0ciAiYXJndW1lbnR1bSBzesO8a3PDqWdlcyIKIAogIzogdGVzdC5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW50ZWdlciBleHByZXNzaW9uIGV4cGVjdGVkIgotbXNnc3RyICIlcyBlZ+lzeiBzeuFtIHN6/Gtz6WdlcyIKK21zZ3N0ciAiJXM6IGVnw6lzeiBraWZlamV6w6lzIHN6w7xrc8OpZ2VzIgogCiAjOiB0ZXN0LmM6MjYzCiBtc2dpZCAiYCknIGV4cGVjdGVkIgotbXNnc3RyICInKScgc3r8a3PpZ2VzIgorbXNnc3RyICLigJ4p4oCdIHN6w7xrc8OpZ2VzIgogCiAjOiB0ZXN0LmM6MjY1CiAjLCBjLWZvcm1hdAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCi1tc2dzdHIgIicpJyBzevxrc+lnZXMsICVzLXQgdGFs4Wx0YW0iCittc2dzdHIgIuKAninigJ0gc3rDvGtzw6lnZXMgJXMgaGVseWV0dCIKIAotIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKLW1zZ3N0ciAiJXMgdW7hcmlzIG37dmVsZXQgc3r8a3PpZ2VzIgorbXNnc3RyICIlczogZWd5b3BlcmFuZHVzw7ogb3BlcsOhdG9yIHN6w7xrc8OpZ2VzIgogCi0jOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgotbXNnc3RyICIlczpiaW7hcmlzIG37dmVsZXQgc3r8a3PpZ2VzIgorbXNnc3RyICIlczoga8OpdG9wZXJhbmR1c8O6IG9wZXLDoXRvciBzesO8a3PDqWdlcyIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogbXNnaWQgIm1pc3NpbmcgYF0nIgotbXNnc3RyICJoaeFueXrzICddJyIKK21zZ3N0ciAiaGnDoW55esOzIOKAnl3igJ0iCiAKLSM6IHRyYXAuYzoyMDMKLSMsIGZ1enp5CisjOiB0cmFwLmM6MjA3CiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgotbXNnc3RyICJyb3NzeiBqZWwoc2lnbmFsKSBzeuFtIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIHN6aWduw6Fsc3rDoW0iCiAKLSM6IHRyYXAuYzozMjcKKyM6IHRyYXAuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKLW1zZ3N0ciAiIgorbXNnc3RyICJydW5fcGVuZGluZ190cmFwczogcm9zc3ogw6lydMOpayBhIHRyYXBfbGlzdFslZF0tYmFuOiAlcCIKIAotIzogdHJhcC5jOjMzMQorIzogdHJhcC5jOjM0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKIG1zZ3N0ciAiIgorInJ1bl9wZW5kaW5nX3RyYXBzOiBzemlnbsOhbGtlemVsxZEgYSBTSUdfREZMLCAlZCAoJXMpIMO6anJha8O8bGTDqXNlIMO2bm1hZ3Vua25hayIKIAotIzogdHJhcC5jOjM4MAotIywgZnV6enksIGMtZm9ybWF0CisjOiB0cmFwLmM6MzkzCisjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKLW1zZ3N0ciAidHJhcF9oYW5kbGVyOiBSb3NzeiBqZWwoc2lnbmFsKSAlZCIKK21zZ3N0ciAidHJhcF9oYW5kbGVyOiByb3NzeiBzemlnbsOhbDogJWQiCiAKICM6IHZhcmlhYmxlcy5jOjM2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKLW1zZ3N0ciAiaGliYSBhICVzIGZ1bmtjafMgZGVmaW7tY2nzIGltcG9ydOFs4XNha29yIgorbXNnc3RyICJoaWJhIGEgZsO8Z2d2w6lueWRlZmluw61jacOzIGJldMO2bHTDqXNla29yOiDigJ4lc+KAnSIKIAotIzogdmFyaWFibGVzLmM6NzQ4CisjOiB2YXJpYWJsZXMuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYSBwYXJhbmNzw6lydGVsbWV6xZEgc3ppbnRqZSAoJWQpIHTDumwgbWFnYXMsIHZpc3N6YcOhbGzDrXTDoXMgMS1yZSIKIAotIzogdmFyaWFibGVzLmM6MTkxNQorIzogdmFyaWFibGVzLmM6MTkzMgogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBuaW5jcyBmw7xnZ3bDqW55a8O2cm55ZXpldCBheiBha3R1w6FsaXMgbMOhdMOza8O2cmJlbiIKIAotIzogdmFyaWFibGVzLmM6MzE1OQorIzogdmFyaWFibGVzLmM6MzE4MgogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJhbGxfbG9jYWxfdmFyaWFibGVzOiBuaW5jcyBmw7xnZ3bDqW55a8O2cm55ZXpldCBheiBha3R1w6FsaXMgbMOhdMOza8O2cmJlbiIKIAotIzogdmFyaWFibGVzLmM6MzM3NgotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzozNDI3CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKLW1zZ3N0ciAiJXMgcGFyYW3pdGVyIHNlbW1pcyB2YWd5IG5pbmNzIGJl4Wxs7XR2YSIKK21zZ3N0ciAiJXMgZXhwb3J0c3RyLWplIG51bGwiCiAKLSM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAorIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXJha3RlciAoJWQpICVzIGV4cG9ydHN0ci1qw6liZW4iCiAKLSM6IHZhcmlhYmxlcy5jOjMzOTYKKyM6IHZhcmlhYmxlcy5jOjM0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAibmluY3Mg4oCePeKAnSAlcyBleHBvcnRzdHItasOpYmVuIgogCi0jOiB2YXJpYWJsZXMuYzozODM1CisjOiB2YXJpYWJsZXMuYzozODkxCiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgotbXNnc3RyICIiCittc2dzdHIgInBvcF92YXJfY29udGV4dDogc2hlbGxfdmFyaWFibGVzIGZlamUgbmVtIGVneSBmw7xnZ3bDqW55a8O2cm55ZXpldCIKIAotIzogdmFyaWFibGVzLmM6Mzg0OAorIzogdmFyaWFibGVzLmM6MzkwNAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgotbXNnc3RyICIiCittc2dzdHIgInBvcF92YXJfY29udGV4dDogbmluY3MgZ2xvYmFsX3ZhcmlhYmxlcyBrw7ZybnllemV0IgogCi0jOiB2YXJpYWJsZXMuYzozOTIyCisjOiB2YXJpYWJsZXMuYzozOTc4CiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAicG9wX3Njb3BlOiBzaGVsbF92YXJpYWJsZXMgZmVqZSBuZW0gZWd5IMOhdG1lbmV0aSBrw7ZybnllemV0aSBsw6F0w7Nrw7ZyIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHZhcmlhYmxlcy5jOjQ3ODYKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgotbXNnc3RyICIlczogbmVtIGxlaGV0IGzpdHJlaG96bmk6ICVzIgorbXNnc3RyICIlczogJXM6IG5lbSBueWl0aGF0w7MgbWVnIEZJTEUta8OpbnQiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2ODMKKyM6IHZhcmlhYmxlcy5jOjQ3OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6ICVzOiDDqXJ2w6lueXRlbGVuIMOpcnTDqWsgYSB0cmFjZSBmw6FqbGxlw61yw7Nob3oiCiAKICM6IHZlcnNpb24uYzo0NgotbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCi1tc2dzdHIgIiIKKyMsIGZ1enp5Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ3N0ciAiQ29weXJpZ2h0IMKpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogCiAjOiB2ZXJzaW9uLmM6NDcKIG1zZ2lkICIiCiAiTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiBtc2dzdHIgIiIKKyJBIGxpY2VuYyBHUEx2Mys6IGEgR05VIEdQTCAzLiB2YWd5IMO6amFiYiB2w6FsdG96YXRhIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy8iCisiZ3BsLmh0bWw+XG4iCiAKICM6IHZlcnNpb24uYzo4NiB2ZXJzaW9uMi5jOjgzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMgKCVzKVxuIgotbXNnc3RyICJHTlUgJXMsIHZlcnpp8yAlc1xuIgorbXNnc3RyICJHTlUgYmFzaCwgJXMgKCVzKSB2ZXJ6acOzXG4iCiAKICM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgotbXNnc3RyICIiCittc2dzdHIgIkV6IGVneSBzemFiYWQgc3pvZnR2ZXIsIHRlcmplc3p0aGV0aSDDqXMvdmFneSBtw7Nkb3PDrXRoYXRqYS5cbiIKIAogIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJOSU5DUyBHQVJBTkNJQSwgYSB0w7ZydsOpbnkgw6FsdGFsIGVuZ2Vkw6lseWV6ZXR0IG3DqXJ0w6lraWcuXG4iCiAKICM6IHZlcnNpb24yLmM6ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgotbXNnc3RyICIiCittc2dzdHIgIkNvcHlyaWdodCDCqSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgogCiAjOiB2ZXJzaW9uMi5jOjg3CiAjLCBjLWZvcm1hdApAQCAtMTkyMyw0NCArMTk0OSw0NCBAQAogIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKICJodG1sPlxuIgogbXNnc3RyICIiCisiQSBsaWNlbmMgR1BMdjIrOiBhIEdOVSBHUEwgMi4gdmFneSDDumphYmIgdsOhbHRvemF0YSA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvIgorImdwbC5odG1sPlxuIgogCiAjOiB4bWFsbG9jLmM6OTEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2M6IG5lbSBsZWhldCD6anJhIGxlZm9nbGFsbmkgJWx1IGLhanRvdCAoJWx1IGLhanQgbGVmb2dsYWx2YSkiCittc2dzdHIgIiVzOiBuZW0gbGVoZXRzw6lnZXMgJWx1IGJ5dGUgZm9nbGFsw6FzYSAoJWx1IGJ5dGUgbGV0dCBmb2dsYWx2YSkiCiAKICM6IHhtYWxsb2MuYzo5MwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQg+mpyYSBsZWZvZ2xhbG5pICVsdSBi4Wp0b3QgKCVsdSBi4Wp0IGxlZm9nbGFsdmEpIgorbXNnc3RyICIlczogbmVtIGxlaGV0c8OpZ2VzICVsdSBieXRlIGZvZ2xhbMOhc2EiCiAKICM6IHhtYWxsb2MuYzoxNjMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQg+mpyYSBsZWZvZ2xhbG5pICVsdSBi4Wp0b3QgKCVsdSBi4Wp0IGxlZm9nbGFsdmEpIgorbXNnc3RyICIlczogJXM6JWQgbmVtIGxlaGV0c8OpZ2VzICVsdSBieXRlIGZvZ2xhbMOhc2EgKCVsdSBieXRlIGxldHQgZm9nbGFsdmEpIgogCiAjOiB4bWFsbG9jLmM6MTY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQg+mpyYSBsZWZvZ2xhbG5pICVsdSBi4Wp0b3QgKCVsdSBi4Wp0IGxlZm9nbGFsdmEpIgorbXNnc3RyICIlczogJXM6JWQgbmVtIGxlaGV0c8OpZ2VzICVsdSBieXRlIGZvZ2xhbMOhc2EiCiAKICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCi1tc2dzdHIgImFsaWFzIFstcF0gW27pdls96XJ06WtdIC4uLiBdIgorbXNnc3RyICJhbGlhcyBbLXBdIFtuw6l2Wz3DqXJ0w6lrXSAuLi4gXSIKIAogIzogYnVpbHRpbnMuYzo0NwotIywgZnV6enkKIG1zZ2lkICJ1bmFsaWFzIFstYV0gbmFtZSBbbmFtZSAuLi5dIgotbXNnc3RyICJ1bmFsaWFzIFstYV0gW27pdiAuLi5dIgorbXNnc3RyICJ1bmFsaWFzIFstYV0gbsOpdiBbbsOpdiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjUxCi0jLCBmdXp6eQogbXNnaWQgIiIKICJiaW5kIFstbHB2c1BWU10gWy1tIGtleW1hcF0gWy1mIGZpbGVuYW1lXSBbLXEgbmFtZV0gWy11IG5hbWVdIFstciBrZXlzZXFdIFstIgogIngga2V5c2VxOnNoZWxsLWNvbW1hbmRdIFtrZXlzZXE6cmVhZGxpbmUtZnVuY3Rpb24gb3IgcmVhZGxpbmUtY29tbWFuZF0iCiBtc2dzdHIgIiIKLSJiaW5kIFstbHB2c1BWU10gWy1tIGtleW1hcF0gWy1mIGbhamxu6XZdIFstcSBu6XZdIFstciBiaWxsLmvzZF0gW2JpbGwua/NkOiIKLSJyZWFkbGluZS1mdW5rY2nzXSIKKyJiaW5kIFstbHB2c1BWU10gWy1tIGtpb3N6dMOhc10gWy1mIGbDoWpsbsOpdl0gWy1xIG7DqXZdIFstdSBuw6l2XSBbLXIgYmlsbGtvbWJdIFstIgorInggYmlsbGtvbWI6c2hlbGwtcGFyYW5jc10gW2JpbGxrb21iOnJlYWRsaW5lLWbDvGdndsOpbnkgdmFneSByZWFkbGluZS1wYXJhbmNzXSIKIAogIzogYnVpbHRpbnMuYzo1NAogbXNnaWQgImJyZWFrIFtuXSIKQEAgLTE5NzUsMTkgKzIwMDEsMTcgQEAKIG1zZ3N0ciAiYnVpbHRpbiBbc2hlbGwtYnVpbHRpbiBbYXJnIC4uLl1dIgogCiAjOiBidWlsdGlucy5jOjYxCi0jLCBmdXp6eQogbXNnaWQgImNhbGxlciBbZXhwcl0iCi1tc2dzdHIgInRlc3QgW2tpZmVseWV66XNdIgorbXNnc3RyICJjYWxsZXIgW2tpZl0iCiAKICM6IGJ1aWx0aW5zLmM6NjQKICMsIGZ1enp5Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKLW1zZ3N0ciAiY2QgWy1QTF0gW2v2bnl2dOFyXSIKK21zZ2lkICJjZCBbLUx8Wy1QIFstZV1dXSBbZGlyXSIKK21zZ3N0ciAiY2QgWy1MfC1QXSBba3TDoXJdIgogCiAjOiBidWlsdGlucy5jOjY2Ci0jLCBmdXp6eQogbXNnaWQgInB3ZCBbLUxQXSIKLW1zZ3N0ciAicHdkIFstUExdIgorbXNnc3RyICJwd2QgWy1MUF0iCiAKICM6IGJ1aWx0aW5zLmM6NjgKIG1zZ2lkICI6IgpAQCAtMTk5NSwzMCArMjAxOSwyOSBAQAogCiAjOiBidWlsdGlucy5jOjcwCiBtc2dpZCAidHJ1ZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0cnVlIgogCiAjOiBidWlsdGlucy5jOjcyCiBtc2dpZCAiZmFsc2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmFsc2UiCiAKICM6IGJ1aWx0aW5zLmM6NzQKIG1zZ2lkICJjb21tYW5kIFstcFZ2XSBjb21tYW5kIFthcmcgLi4uXSIKLW1zZ3N0ciAiY29tbWFuZCBbLXBWdl0gIHBhcmFuY3MgW2FyZyAuLi5dIgorbXNnc3RyICJjb21tYW5kIFstcFZ2XSBwYXJhbmNzIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzo3NgogIywgZnV6enkKLW1zZ2lkICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCi1tc2dzdHIgImRlY2xhcmUgWy1hZkZyeGldIFstcF0gbul2Wz3pcnTpa10gLi4uIgorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCittc2dzdHIgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtuw6l2Wz3DqXJ0w6lrXSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc4CiAjLCBmdXp6eQotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCi1tc2dzdHIgInR5cGVzZXQgWy1hZkZyeGldIFstcF0gbul2Wz3pcnTpa10gLi4uIgorbXNnaWQgInR5cGVzZXQgWy1hQWZGZ2lscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgorbXNnc3RyICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBuw6l2Wz3DqXJ0w6lrXSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6ODAKLSMsIGZ1enp5CiBtc2dpZCAibG9jYWwgW29wdGlvbl0gbmFtZVs9dmFsdWVdIC4uLiIKLW1zZ3N0ciAibG9jYWwgbmFtZVs96XJ06WtdIC4uLiIKK21zZ3N0ciAibG9jYWwgW2thcGNzb2zDs10gbsOpdls9w6lydMOpa10gLi4uIgogCiAjOiBidWlsdGlucy5jOjgzCiBtc2dpZCAiZWNobyBbLW5lRV0gW2FyZyAuLi5dIgpAQCAtMjAyOSw5ICsyMDUyLDggQEAKIG1zZ3N0ciAiZWNobyBbLW5dIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzo5MAotIywgZnV6enkKIG1zZ2lkICJlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmaWxlbmFtZV0gW25hbWUgLi4uXSIKLW1zZ3N0ciAiZW5hYmxlIFstcG5kc10gWy1hXSBbLWYgZuFqbG7pdl0gW27pdiAuLi5dIgorbXNnc3RyICJlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmw6FqbG7DqXZdIFtuw6l2IC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6OTIKIG1zZ2lkICJldmFsIFthcmcgLi4uXSIKQEAgLTIwMzksNzEgKzIwNjEsNjQgQEAKIAogIzogYnVpbHRpbnMuYzo5NAogbXNnaWQgImdldG9wdHMgb3B0c3RyaW5nIG5hbWUgW2FyZ10iCi1tc2dzdHIgImdldG9wdHMgb3B0c3RyaW5nIG7pdiBbYXJnXSIKK21zZ3N0ciAiZ2V0b3B0cyBvcGNpw7NrIG7DqXYgW2FyZ10iCiAKICM6IGJ1aWx0aW5zLmM6OTYKLSMsIGZ1enp5CiBtc2dpZCAiZXhlYyBbLWNsXSBbLWEgbmFtZV0gW2NvbW1hbmQgW2FyZ3VtZW50cyAuLi5dXSBbcmVkaXJlY3Rpb24gLi4uXSIKLW1zZ3N0ciAiZXhlYyBbLWNsXSBbLWEgbul2XSBm4WpsIFvhdGly4W557XThcyAuLi5dIgorbXNnc3RyICJleGVjIFstY2xdIFstYSBuw6l2XSBbcGFyYW5jcyBbYXJndW1lbnR1bW9rIC4uLl1dIFvDoXRpcsOhbnnDrXTDoXMgLi4uXSIKIAogIzogYnVpbHRpbnMuYzo5OAogbXNnaWQgImV4aXQgW25dIgogbXNnc3RyICJleGl0IFtuXSIKIAogIzogYnVpbHRpbnMuYzoxMDAKLSMsIGZ1enp5CiBtc2dpZCAibG9nb3V0IFtuXSIKLW1zZ3N0ciAibG9nb3V0IgorbXNnc3RyICJsb2dvdXQgW25dIgogCiAjOiBidWlsdGlucy5jOjEwMwotIywgZnV6enkKIG1zZ2lkICJmYyBbLWUgZW5hbWVdIFstbG5yXSBbZmlyc3RdIFtsYXN0XSBvciBmYyAtcyBbcGF0PXJlcF0gW2NvbW1hbmRdIgotbXNnc3RyICJmYyBbLWUgZW5hbWVdIFstbmxyXSBbZWxz9V0gW3V0b2xz810gdmFneSBmYyAtcyBbcGF0PXJlcF0gW2NtZF0iCittc2dzdHIgIiIKKyJmYyBbLWUgZW5hbWVdIFstbG5yXSBbZWxzxZFdIFt1dG9sc8OzXSB2YWd5IGZjIC1zIFttaW50YT1jc2VyZV0gW3BhcmFuY3NdIgogCiAjOiBidWlsdGlucy5jOjEwNwogbXNnaWQgImZnIFtqb2Jfc3BlY10iCi1tc2dzdHIgImZnIFttdW5rYV9mb2x5YW1hdF0iCittc2dzdHIgImZnIFttdW5rYXN6w6FtXSIKIAogIzogYnVpbHRpbnMuYzoxMTEKLSMsIGZ1enp5CiBtc2dpZCAiYmcgW2pvYl9zcGVjIC4uLl0iCi1tc2dzdHIgImJnIFttdW5rYV9mb2x5YW1hdF0iCittc2dzdHIgImJnIFttdW5rYXN6w6FtIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTE0Ci0jLCBmdXp6eQogbXNnaWQgImhhc2ggWy1scl0gWy1wIHBhdGhuYW1lXSBbLWR0XSBbbmFtZSAuLi5dIgotbXNnc3RyICJoYXNoIFstcl0gWy1wIPp0dm9uYWxdIFtu6XYgLi4uXSIKK21zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgw7p0dm9uYWxdIFstZHRdIFtuw6l2IC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTE3Ci0jLCBmdXp6eQogbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCi1tc2dzdHIgImhlbHAgW21pbnRhIC4uLl0iCittc2dzdHIgImhlbHAgWy1kbXNdIFttaW50YSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEyMQotIywgZnV6enkKIG1zZ2lkICIiCiAiaGlzdG9yeSBbLWNdIFstZCBvZmZzZXRdIFtuXSBvciBoaXN0b3J5IC1hbnJ3IFtmaWxlbmFtZV0gb3IgaGlzdG9yeSAtcHMgYXJnICIKICJbYXJnLi4uXSIKIG1zZ3N0ciAiIgotImhpc3RvcnkgWy1jXSBbbl0gdmFneSBoaXN0b3J5IC1hd3JuIFtm4Wpsbul2XSB2YWd5IGhpc3RvcnkgLXBzIGFyZyBbYXJnLi4uXSIKKyJoaXN0b3J5IFstY10gWy1kIHN6w6FtXSBbbl0gdmFneSBoaXN0b3J5IC1hbnJ3IFtmw6FqbG7DqXZdIHZhZ3kgaGlzdG9yeSAtcHMgYXJnICIKKyJbYXJnLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMjUKIG1zZ2lkICJqb2JzIFstbG5wcnNdIFtqb2JzcGVjIC4uLl0gb3Igam9icyAteCBjb21tYW5kIFthcmdzXSIKLW1zZ3N0ciAiam9icyBbLWxucHJzXSBbbXVua2Fmb2x5YW1hdCAuLi5dIHZhZ3kgam9icyAteCAgcGFyYW5jcyBbYXJnc10iCittc2dzdHIgImpvYnMgWy1sbnByc10gW211bmthc3rDoW0gLi4uXSB2YWd5IGpvYnMgLXggcGFyYW5jcyBbYXJnc10iCiAKICM6IGJ1aWx0aW5zLmM6MTI5Ci0jLCBmdXp6eQogbXNnaWQgImRpc293biBbLWhdIFstYXJdIFtqb2JzcGVjIC4uLl0iCi1tc2dzdHIgImRpc293biBbbXVua2EgZm9seWFtYXQgLi4uXSIKK21zZ3N0ciAiZGlzb3duIFstaF0gWy1hcl0gW211bmthc3rDoW0gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzIKLSMsIGZ1enp5CiBtc2dpZCAiIgogImtpbGwgWy1zIHNpZ3NwZWMgfCAtbiBzaWdudW0gfCAtc2lnc3BlY10gcGlkIHwgam9ic3BlYyAuLi4gb3Iga2lsbCAtbCAiCiAiW3NpZ3NwZWNdIgogbXNnc3RyICIiCi0ia2lsbCBbLXMgamVsdO1wdXMoc2lnc3BlYykgfCAtbiBqZWwoc2lnbnVtKSB8IC1qZWx07XB1cyhzaWdzcGVjKV0gW3BpZCB8ICIKLSJqb2JdLi4uIHZhZ3kga2lsbCAtbCBbamVsdO1wdXMoc2lnc3BlYyldIgorImtpbGwgWy1zIHN6aWduw6FsIHwgLW4gc3ppZ27DoWxzesOhbSB8IC1zemlnbsOhbF0gcGlkIHwgbXVua2FzesOhbSAuLi4gdmFneSBraWxsIC0iCisibCBbc3ppZ27DoWxdIgogCiAjOiBidWlsdGlucy5jOjEzNAogbXNnaWQgImxldCBhcmcgW2FyZyAuLi5dIgpAQCAtMjExNCw2ICsyMTI5LDggQEAKICJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCiAicHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCisicmVhZCBbLWVyc10gWy1hIHTDtm1iXSBbLWQgZWx2w6FsYXN6dMOzXSBbLWkgc3rDtnZlZ10gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy0iCisicCBwcm9tcHRdIFstdCBpZMWRa2VyZXRdIFstdSBmZF0gW27DqXYgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzgKIG1zZ2lkICJyZXR1cm4gW25dIgpAQCAtMjEyMSwzNyArMjEzOCwzMyBAQAogCiAjOiBidWlsdGlucy5jOjE0MAogIywgZnV6enkKLW1zZ2lkICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dIgotbXNnc3RyICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcGNp810gW2FyZyAuLi5dIgorbXNnaWQgInNldCBbLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFstLV0gW2FyZyAuLi5dIgorbXNnc3RyICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBiZcOhbGzDrXTDoXNuw6l2XSBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQyCiBtc2dpZCAidW5zZXQgWy1mXSBbLXZdIFtuYW1lIC4uLl0iCi1tc2dzdHIgInVuc2V0IFstZl0gWy12XSBbbul2IC4uLl0iCittc2dzdHIgInVuc2V0IFstZl0gWy12XSBbbsOpdiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE0NAotIywgZnV6enkKIG1zZ2lkICJleHBvcnQgWy1mbl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIGV4cG9ydCAtcCIKLW1zZ3N0ciAiZXhwb3J0IFstbmZdIFtu6XYgLi4uXSB2YWd5IGV4cG9ydCAtcCIKK21zZ3N0ciAiZXhwb3J0IFstZm5dIFtuw6l2Wz3DqXJ0w6lrXSAuLi5dIHZhZ3kgZXhwb3J0IC1wIgogCiAjOiBidWlsdGlucy5jOjE0NgogIywgZnV6enkKLW1zZ2lkICJyZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCi1tc2dzdHIgInJlYWRvbmx5IFstYW5mXSBbbul2IC4uLl0gdmFneSByZWFkb25seSAtcCIKK21zZ2lkICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgorbXNnc3RyICJyZWFkb25seSBbLWFmXSBbbsOpdls9w6lydMOpa10gLi4uXSB2YWd5IHJlYWRvbmx5IC1wIgogCiAjOiBidWlsdGlucy5jOjE0OAotIywgZnV6enkKIG1zZ2lkICJzaGlmdCBbbl0iCi1tc2dzdHIgImV4aXQgW25dIgorbXNnc3RyICJzaGlmdCBbbl0iCiAKICM6IGJ1aWx0aW5zLmM6MTUwCi0jLCBmdXp6eQogbXNnaWQgInNvdXJjZSBmaWxlbmFtZSBbYXJndW1lbnRzXSIKLW1zZ3N0ciAiZm9ycuFzIGbhamxuZXZlIgorbXNnc3RyICJzb3VyY2UgZsOhamxuw6l2IFthcmd1bWVudHVtb2tdIgogCiAjOiBidWlsdGlucy5jOjE1MgotIywgZnV6enkKIG1zZ2lkICIuIGZpbGVuYW1lIFthcmd1bWVudHNdIgotbXNnc3RyICJm4Wpsbul2IgorbXNnc3RyICIuIGbDoWpsbsOpdiBbYXJndW1lbnR1bW9rXSIKIAogIzogYnVpbHRpbnMuYzoxNTUKIG1zZ2lkICJzdXNwZW5kIFstZl0iCkBAIC0yMTU5LDcgKzIxNzIsNyBAQAogCiAjOiBidWlsdGlucy5jOjE1OAogbXNnaWQgInRlc3QgW2V4cHJdIgotbXNnc3RyICJ0ZXN0IFtraWZlbHlleulzXSIKK21zZ3N0ciAidGVzdCBbZXhwcl0iCiAKICM6IGJ1aWx0aW5zLmM6MTYwCiBtc2dpZCAiWyBhcmcuLi4gXSIKQEAgLTIxNzAsNTYgKzIxODMsNDggQEAKIG1zZ3N0ciAidGltZXMiCiAKICM6IGJ1aWx0aW5zLmM6MTY0Ci0jLCBmdXp6eQogbXNnaWQgInRyYXAgWy1scF0gW1thcmddIHNpZ25hbF9zcGVjIC4uLl0iCi1tc2dzdHIgInRyYXAgW2FyZ10gW3NpZ25hbF9zcGVjXSB2YWd5IHRyYXAgLWwiCittc2dzdHIgInRyYXAgWy1scF0gW1thcmddIHN6aWduw6FsIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTY2Ci0jLCBmdXp6eQogbXNnaWQgInR5cGUgWy1hZnB0UF0gbmFtZSBbbmFtZSAuLi5dIgotbXNnc3RyICJ0eXBlIFstYXB0XSBu6XYgW27pdiAuLi5dIgorbXNnc3RyICJ0eXBlIFstYWZwdFBdIG7DqXYgW27DqXYgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNjkKLSMsIGZ1enp5CiBtc2dpZCAidWxpbWl0IFstU0hhY2RlZmlsbW5wcXJzdHV2eF0gW2xpbWl0XSIKLW1zZ3N0ciAidWxpbWl0IFstU0hhY2RmbXN0cG51dl0gW2hhdOFyXSIKK21zZ3N0ciAidWxpbWl0IFstU0hhY2RlZmlsbW5wcXJzdHV2eF0gW2tvcmzDoXRdIgogCiAjOiBidWlsdGlucy5jOjE3MgotIywgZnV6enkKIG1zZ2lkICJ1bWFzayBbLXBdIFstU10gW21vZGVdIgotbXNnc3RyICJtYXNrIFstU10gW23zZF0iCittc2dzdHIgInVtYXNrIFstcF0gWy1TXSBbbcOzZF0iCiAKICM6IGJ1aWx0aW5zLmM6MTc1Ci0jLCBmdXp6eQogbXNnaWQgIndhaXQgW2lkXSIKLW1zZ3N0ciAid2FpdCBbbl0iCittc2dzdHIgIndhaXQgW2lkXSIKIAogIzogYnVpbHRpbnMuYzoxNzkKLSMsIGZ1enp5CiBtc2dpZCAid2FpdCBbcGlkXSIKLW1zZ3N0ciAid2FpdCBbbl0iCittc2dzdHIgIndhaXQgW3BpZF0iCiAKICM6IGJ1aWx0aW5zLmM6MTgyCi0jLCBmdXp6eQogbXNnaWQgImZvciBOQU1FIFtpbiBXT1JEUyAuLi4gXSA7IGRvIENPTU1BTkRTOyBkb25lIgotbXNnc3RyICJmb3IgTslWIFtpbiBTWkFWQUsgLi4uIDtdIGRvIFBBUkFOQ1NPSzsgZG9uZSIKK21zZ3N0ciAiZm9yIE7DiVYgW2luIFNaQVZBSyAuLi4gXSA7IGRvIFBBUkFOQ1NPSzsgZG9uZSIKIAogIzogYnVpbHRpbnMuYzoxODQKLSMsIGZ1enp5CiBtc2dpZCAiZm9yICgoIGV4cDE7IGV4cDI7IGV4cDMgKSk7IGRvIENPTU1BTkRTOyBkb25lIgotbXNnc3RyICJmb3IgTslWIFtpbiBTWkFWQUsgLi4uIDtdIGRvIFBBUkFOQ1NPSzsgZG9uZSIKK21zZ3N0ciAiZm9yICgoIGtpZjE7IGtpZjI7IGtpZjMgKSk7IGRvIFBBUkFOQ1NPSzsgZG9uZSIKIAogIzogYnVpbHRpbnMuYzoxODYKIG1zZ2lkICJzZWxlY3QgTkFNRSBbaW4gV09SRFMgLi4uIDtdIGRvIENPTU1BTkRTOyBkb25lIgotbXNnc3RyICJzZWxlY3QgTslWIFtpbiBTWkFWQUsgLi4uIDtdIGRvIFBBUkFOQ1NPSzsgZG9uZSIKK21zZ3N0ciAic2VsZWN0IE7DiVYgW2luIFNaQVZBSyAuLi4gO10gZG8gUEFSQU5DU09LOyBkb25lIgogCiAjOiBidWlsdGlucy5jOjE4OAogbXNnaWQgInRpbWUgWy1wXSBwaXBlbGluZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0aW1lIFstcF0gY3PFkXZlemV0w6lrIgogCiAjOiBidWlsdGlucy5jOjE5MAogbXNnaWQgImNhc2UgV09SRCBpbiBbUEFUVEVSTiBbfCBQQVRURVJOXS4uLikgQ09NTUFORFMgOztdLi4uIGVzYWMiCi1tc2dzdHIgImNhc2UgU1rTIGluIFtNSU5UQSBbfCBNSU5UQV0uLi4pIFBBUkFOQ1NPSyA7O10uLi4gZXNhYyIKK21zZ3N0ciAiY2FzZSBTWsOTIGluIFtNSU5UQSBbfCBNSU5UQV0uLi4pIFBBUkFOQ1NPSyA7O10uLi4gZXNhYyIKIAogIzogYnVpbHRpbnMuYzoxOTIKIG1zZ2lkICIiCkBAIC0yMjM5LDYxICsyMjQ0LDUxIEBACiAKICM6IGJ1aWx0aW5zLmM6MTk4CiBtc2dpZCAiY29wcm9jIFtOQU1FXSBjb21tYW5kIFtyZWRpcmVjdGlvbnNdIgotbXNnc3RyICIiCittc2dzdHIgImNvcHJvYyBbTsOJVl0gcGFyYW5jcyBbw6F0aXLDoW55w610w6Fzb2tdIgogCiAjOiBidWlsdGlucy5jOjIwMAotIywgZnV6enkKIG1zZ2lkICJmdW5jdGlvbiBuYW1lIHsgQ09NTUFORFMgOyB9IG9yIG5hbWUgKCkgeyBDT01NQU5EUyA7IH0iCi1tc2dzdHIgImZ1bmN0aW9uIE7JViB7IFBBUkFOQ1NPSyA7IH0gdmFneSBOyVYgKCkgeyBQQVJBTkNTT0sgOyB9IgorbXNnc3RyICJmdW5jdGlvbiBuw6l2IHsgUEFSQU5DU09LIDsgfSB2YWd5IG7DqXYgKCkgeyBQQVJBTkNTT0sgOyB9IgogCiAjOiBidWlsdGlucy5jOjIwMgotIywgZnV6enkKIG1zZ2lkICJ7IENPTU1BTkRTIDsgfSIKLW1zZ3N0ciAieyBQQVJBTkNTT0sgfSIKK21zZ3N0ciAieyBQQVJBTkNTT0sgOyB9IgogCiAjOiBidWlsdGlucy5jOjIwNAotIywgZnV6enkKIG1zZ2lkICJqb2Jfc3BlYyBbJl0iCi1tc2dzdHIgImZnIFttdW5rYV9mb2x5YW1hdF0iCittc2dzdHIgIm11bmthc3rDoW0gWyZdIgogCiAjOiBidWlsdGlucy5jOjIwNgotIywgZnV6enkKIG1zZ2lkICIoKCBleHByZXNzaW9uICkpIgotbXNnc3RyICJ24XJoYXTzIGtpZmVqZXrpcyIKK21zZ3N0ciAiKCgga2lmZWplesOpcyApKSIKIAogIzogYnVpbHRpbnMuYzoyMDgKLSMsIGZ1enp5CiBtc2dpZCAiW1sgZXhwcmVzc2lvbiBdXSIKLW1zZ3N0ciAiduFyaGF08yBraWZlamV66XMiCittc2dzdHIgIltbIGtpZmVqZXrDqXMgXV0iCiAKICM6IGJ1aWx0aW5zLmM6MjEwCi0jLCBmdXp6eQogbXNnaWQgInZhcmlhYmxlcyAtIE5hbWVzIGFuZCBtZWFuaW5ncyBvZiBzb21lIHNoZWxsIHZhcmlhYmxlcyIKLW1zZ3N0ciAiIgotIkEgcGFyYW5jc+lydGVsbWV69SB24Wx0b3rzaSBmZWxoYXN6buFsaGF082sgb3BlcmFuZHVza+ludC4gQSB24Wx0b3rzIG5ldmUiCittc2dzdHIgInZhcmlhYmxlcyAtIE7DqWjDoW55IHbDoWx0b3rDsyBuZXZlIMOpcyBqZWxlbnTDqXNlIgogCiAjOiBidWlsdGlucy5jOjIxMwotIywgZnV6enkKIG1zZ2lkICJwdXNoZCBbLW5dIFsrTiB8IC1OIHwgZGlyXSIKLW1zZ3N0ciAicHVzaGQgW2v2bnl2dOFyIHwgK04gfCAtTl0gWy1uXSIKK21zZ3N0ciAicHVzaGQgWy1uXSBbK04gfCAtTiB8IGt0w6FyXSIKIAogIzogYnVpbHRpbnMuYzoyMTcKLSMsIGZ1enp5CiBtc2dpZCAicG9wZCBbLW5dIFsrTiB8IC1OXSIKLW1zZ3N0ciAicG9wZCBbK04gfCAtTl0gWy1uXSIKK21zZ3N0ciAicG9wZCBbLW5dIFsrTiB8IC1OXSIKIAogIzogYnVpbHRpbnMuYzoyMjEKIG1zZ2lkICJkaXJzIFstY2xwdl0gWytOXSBbLU5dIgogbXNnc3RyICJkaXJzIFstY2xwdl0gWytOXSBbLU5dIgogCiAjOiBidWlsdGlucy5jOjIyNAotIywgZnV6enkKIG1zZ2lkICJzaG9wdCBbLXBxc3VdIFstb10gW29wdG5hbWUgLi4uXSIKLW1zZ3N0ciAic2hvcHQgWy1wcXN1XSBbLW8gaG9zc3r6IG9wY2nza10gb3B0bul2IFtvcHRu6XYuLi5dIgorbXNnc3RyICJzaG9wdCBbLXBxc3VdIFstb10gW29wdG7DqXYgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMjYKIG1zZ2lkICJwcmludGYgWy12IHZhcl0gZm9ybWF0IFthcmd1bWVudHNdIgotbXNnc3RyICIiCittc2dzdHIgInByaW50ZiBbLXYgdsOhbHRvesOzXSBmb3Jtw6F0dW0gW2FyZ3VtZW50dW1va10iCiAKICM6IGJ1aWx0aW5zLmM6MjI5CiBtc2dpZCAiIgpAQCAtMjMwMSwyOSArMjI5NiwzOCBAQAogIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgogInN1ZmZpeF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gYmXDoWxsw610w6FzXSBbLUEgbcWxdmVsZXRdIFstRyAiCisiZ2xvYm1pbnRhXSBbLVcgc3rDs2xpc3RhXSBbLUYgZsO8Z2d2w6lueV0gWy1DIHBhcmFuY3NdIFstWCBzesWxcsWRbWludGFdIFstUCAiCisicHJlZml4dW1dIFstUyBzenVmZml4dW1dIFtuw6l2IC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjMzCiBtc2dpZCAiIgogImNvbXBnZW4gWy1hYmNkZWZnamtzdXZdIFstbyBvcHRpb25dICBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy1XIHdvcmRsaXN0XSAgIgogIlstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyBzdWZmaXhdIFt3b3JkXSIKIG1zZ3N0ciAiIgorImNvbXBnZW4gWy1hYmNkZWZnamtzdXZdIFstbyBiZcOhbGzDrXTDoXNdICBbLUEgbcWxdmVsZXRdIFstRyBnbG9ibWludGFdIFstVyAiCisic3rDs2xpc3RhXSAgWy1GIGbDvGdndsOpbnldIFstQyBwYXJhbmNzXSBbLVggc3rFsXLFkW1pbnRhXSBbLVAgcHJlZml4dW1dIFstUyAiCisic3p1ZmZpeHVtXSBbc3rDs10iCiAKICM6IGJ1aWx0aW5zLmM6MjM3Ci0jLCBmdXp6eQogbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKLW1zZ3N0ciAidHlwZSBbLWFwdF0gbul2IFtu6XYgLi4uXSIKK21zZ3N0ciAiY29tcG9wdCBbLW98K28gYmXDoWxsw610w6FzXSBbLURFXSBbbsOpdiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjI0MAogbXNnaWQgIiIKICJtYXBmaWxlIFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgogInF1YW50dW1dIFthcnJheV0iCiBtc2dzdHIgIiIKKyJtYXBmaWxlIFstbiBzesOhbV0gWy1PIGtlemRldF0gWy1zIHN6w6FtXSBbLXRdIFstdSBmZF0gWy1DIHBhcmFuY3NdIFstYyAiCisidMOhdm9sc8OhZ10gW3TDtm1iXSIKIAogIzogYnVpbHRpbnMuYzoyNDIKIG1zZ2lkICIiCiAicmVhZGFycmF5IFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgogInF1YW50dW1dIFthcnJheV0iCiBtc2dzdHIgIiIKKyJyZWFkYXJyYXkgWy1uIHN6w6FtXSBbLU8ga2V6ZGV0XSBbLXMgc3rDoW1dIFstdF0gWy11IGZkXSBbLUMgcGFyYW5jc10gWy1jICIKKyJ0w6F2b2xzw6FnXSBbdMO2bWJdIgogCiAjOiBidWlsdGlucy5jOjI1NAogbXNnaWQgIiIKQEAgLTIzNDQsOSArMjM0OCwyMiBAQAogImJlZW5cbiIKICIgICAgZGVmaW5lZC4iCiBtc2dzdHIgIiIKKyJBbGlhc29rIGRlZmluacOhbMOhc2EgdmFneSBracOtcsOhc2EuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHVtb2sgbsOpbGvDvGwgYXog4oCeYWxpYXPigJ0ga2nDrXIgZWd5IMO6anJhaGFzem7DoWxoYXTDsyBsaXN0w6F0IGEgbWVnbMOpLVxuIgorIiAgICB2xZEgYWxpYXNva3LDs2wg4oCeYWxpYXMgTsOJVj3DiVJUw4lLJyBmb3Jtw6FiYW4gYSBzemFidsOhbnlvcyBraW1lbmV0cmUuXG4iCisiICAgIFxuIgorIiAgICBLw7xsw7ZuYmVuIGVneSBOw4lWIG5ldsWxIGFsaWFzdCBkZWZpbmnDoWwgw4lSVMOJSyDDqXJ0w6lra2VsLiBBeiDDiVJUw4lLIHbDqWfDqW4gYVxuIgorIiAgICB6w6Fyw7Mgc3rDs2vDtnogbGVoZXTFkXbDqSB0ZXN6aSBhIGvDtnZldGtlesWRIHN6w7Mgc3rDoW3DoXJhIGlzIGF6IGFsaWFzaGVseWV0dGUtXG4iCisiICAgIHPDrXTDqXN0LlxuIgorIiAgICBcbiIKKyIgICAgQmXDoWxsw610w6Fzb2s6XG4iCisiICAgICAgLXAgICAgICAgS2nDrXIgbWluZGVuIGFsaWFzdCBhIGZlbnRpIGZvcm3DoWJhblxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBpZ2F6emFsIHTDqXIgdmlzc3phLCBraXbDqXZlIGhhIG5pbmNzIG1lZ2Fkb3R0IE7DiVYgbmV2xbEgYWxpYXMgZGVmaW5pw6FsdmEuIgogCiAjOiBidWlsdGlucy5jOjI3NgotIywgZnV6enkKIG1zZ2lkICIiCiAiUmVtb3ZlIGVhY2ggTkFNRSBmcm9tIHRoZSBsaXN0IG9mIGRlZmluZWQgYWxpYXNlcy5cbiIKICIgICAgXG4iCkBAIC0yMzU0LDcgKzIzNzEsMTMgQEAKICIgICAgICAtYVx0cmVtb3ZlIGFsbCBhbGlhcyBkZWZpbml0aW9ucy5cbiIKICIgICAgXG4iCiAiICAgIFJldHVybiBzdWNjZXNzIHVubGVzcyBhIE5BTUUgaXMgbm90IGFuIGV4aXN0aW5nIGFsaWFzLiIKLW1zZ3N0ciAiTslWIGVsdOF2b2ztdOFzYSBhIG1lZ2hhdOFyb3pvdHQgYWxpYXNvayBsaXN04WrhYvNsLiBBIC1hIG9wY2nzIgorbXNnc3RyICIiCisiTWluZGVuIE7DiVYgZWx0w6F2b2zDrXTDoXNhIGEgZGVmaW5pw6FsdCBhbGlhc29rIGvDtnrDvGwuXG4iCisiICAgIFxuIgorIiAgICBCZcOhbGzDrXTDoXNvazpcbiIKKyIgICAgICAtYSAgICAgICBtaW5kZW4gZGVmaW7DrWNpw7MgdMO2cmzDqXNlLlxuIgorIiAgICBcbiIKKyIgICAgU2lrZXJlc2VuIHTDqXIgdmlzc3phLCBraXbDqXZlIGhhIG5pbmNzIG1lZ2Fkb3R0IE7DiVYgbmV2xbEgYWxpYXMuIgogCiAjOiBidWlsdGlucy5jOjI4OQogbXNnaWQgIiIKQEAgLTIzOTQsOSArMjQxNyw0MyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgYmluZCByZXR1cm5zIDAgdW5sZXNzIGFuIHVucmVjb2duaXplZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgorIlJlYWRsaW5lIGJpbGxlbnR5xbFrw7Z0w6lzZWsgw6lzIHbDoWx0b3rDs2sgYmXDoWxsw610w6FzYS5cbiIKKyIgICAgXG4iCisiICAgIEVneSBiaWxsZW50ecWxc29yb3phdCBob3p6w6FyZW5kZWzDqXNlIFJlYWRsaW5lIGbDvGdndsOpbnloZXogdmFneSBtYWtyw7Nob3osXG4iCisiICAgIHZhZ3kgUmVhZGxpbmUgdsOhbHRvesOzIGJlw6FsbMOtdMOhc2EuIEEgYmXDoWxsw610w6FzIG7DqWxrw7xsaSBzemludGF4aXMgbWVnZS1cbiIKKyIgICAgZ3llemlrIGF6IH4vLmlucHV0cmMtYmVuIHRhbMOhbGhhdMOzdmFsLCBkZSBrZWxsIGxlZ3llbiBlZ3kgYXJndW1lbnR1bWE6XG4iCisiICAgIHBsLiBiaW5kICdcIlxcQy14XFxDLXJcIjogcmUtcmVhZC1pbml0LWZpbGUnLlxuIgorIiAgICBcbiIKKyIgICAgQmXDoWxsw610w6Fzb2s6XG4iCisiICAgICAgLW0gIGtpb3N6dMOhcyAgICAgICBLSU9TWlTDgVMgaGFzem7DoWxhdGEga2lvc3p0w6Fza8OpbnQgYSBwYXJhbmNzIGhhdMOhc8OhLVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBuYWsgaWRlasOpcmUuIEVsZm9nYWRoYXTDsyBraW9zenTDoXNuZXZlazogZW1hY3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWNzLXN0YW5kYXJkLCBlbWFjcy1tZXRhLCBlbWFjcy1jdGx4LCB2aSwgdmktXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIG1vdmUsIHZpLWNvbW1hbmQgw6lzIHZpLWluc2VydC5cbiIKKyIgICAgICAtbCAgICAgICAgICAgICAgICAgTmV2ZWsgw6lzIGbDvGdndsOpbnllayBsaXN0w6F6w6FzYS5cbiIKKyIgICAgICAtUCAgICAgICAgICAgICAgICAgRsO8Z2d2w6lueW5ldmVrIMOpcyBrw7Z0w6lzZWsgbGlzdMOhesOhc2EuXG4iCisiICAgICAgLXAgICAgICAgICAgICAgICAgIEbDvGdndsOpbnllayDDqXMga8O2dMOpc2VrIGxpc3TDoXrDoXNhIMO6anJhaGFzem7DoWxoYXTDs1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBmb3Jtw6FiYW4uXG4iCisiICAgICAgLVMgICAgICAgICAgICAgICAgIE1ha3LDs2thdCB2w6lncmVoYWp0w7MgYmlsbGVudHnFsWtvbWJpbsOhY2nDs2sgw6lzICIKKyLDqXJ0w6lrZS1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgaWsgbGlzdMOhesOhc2EuXG4iCisiICAgICAgLXMgICAgICAgICAgICAgICAgIE1ha3LDs2thdCB2w6lncmVoYWp0w7MgYmlsbGVudHnFsWtvbWJpbsOhY2nDs2sgw6lzICIKKyLDqXJ0w6lrZS1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgaWsgbGlzdMOhesOhc2Egw7pqcmFoYXN6bsOhbGhhdMOzIGZvcm3DoWJhbi5cbiIKKyIgICAgICAtViAgICAgICAgICAgICAgICAgVsOhbHRvesOzbmV2ZWsgw6lzIMOpcnTDqWtlayBsaXN0w6F6w6FzYS5cbiIKKyIgICAgICAtdiAgICAgICAgICAgICAgICAgVsOhbHRvesOzbmV2ZWsgw6lzIMOpcnTDqWtlayBsaXN0w6F6w6FzYSDDumpyYWhhc3puw6FsaGF0w7NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybcOhYmFuLlxuIgorIiAgICAgIC1xICBmw7xnZ3bDqW55bsOpdiAgICBBIGbDvGdndsOpbnloZXogdGFydG96w7MgYmlsbGVudHnFsWtvbWJpbsOhY2nDsyAiCisibGVrw6lyw6lzZS5cbiIKKyIgICAgICAtdSAgZsO8Z2d2w6lueW7DqXYgICAgw5Zzc3plIGFkb3R0IGbDvGdndsOpbnloZXogdGFydG96w7MgYmlsbGVudHnFsWtvbWJpbsOhLVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBjacOzIHTDtnJsw6lzZS5cbiIKKyIgICAgICAtciAgYmlsbGtvbWIgICAgICAgQSBCSUxMS09NQi1ob3ogdGFydG96w7Mga8O2dMOpc2VrIHTDtnJsw6lzZS5cbiIKKyIgICAgICAtZiAgZsOhamxuw6l2ICAgICAgICBLw7Z0w6lzZWsgb2x2YXPDoXNhIEbDgUpMTsOJViBmw6FqbGLDs2wuXG4iCisiICAgICAgLXggIGJpbGxrb21iOnNoZWxsLXBhcmFuY3MgICAgU0hFTEwtUEFSQU5DUyB2w6lncmVoYWp0w6FzYSBCSUxMS09NQi1yYS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgYSBiaW5kIDAtdmFsIHTDqXIgdmlzc3phLCBoYSBuaW5jcyBpc21lcmV0bGVuIGthcGNzb2zDsyB2YWd5IGhpYmEuIgogCiAjOiBidWlsdGlucy5jOjMyNgotIywgZnV6enkKIG1zZ2lkICIiCiAiRXhpdCBmb3IsIHdoaWxlLCBvciB1bnRpbCBsb29wcy5cbiIKICIgICAgXG4iCkBAIC0yNDA2LDExICsyNDYzLDE1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBUaGUgZXhpdCBzdGF0dXMgaXMgMCB1bmxlc3MgTiBpcyBub3QgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIgogbXNnc3RyICIiCi0iRm9seXRhdGphIGEga/Z2ZXRrZXr1IGVneSBzemludHRlbCBtYWdhc2FiYmFuIGVsaGVseWV6a2Vk9SBGT1IsIFdISUxFIHZhZ3kgIgotIlVOVElMIGh1cm9ra2FsLiIKKyJLaWzDqXAgYSBmb3IsIHdoaWxlIHZhZ3kgdW50aWwgY2lrbHVzb2tiw7NsLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lwIGVneSBGT1IsIFdISUxFIHZhZ3kgVU5USUwgY2lrbHVzYsOzbC4gSGEgTiBtZWcgdmFuIGFkdmEsIGFra29yIE5cbiIKKyIgICAgZWd5bcOhc2JhIMOhZ3lhem90dCBjaWtsdXNiw7NsIGzDqXAga2kuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIEEga2lsw6lww6lzaSBrw7NkIDAsIGhhIE4gPj0gMS4iCiAKICM6IGJ1aWx0aW5zLmM6MzM4Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJSZXN1bWUgZm9yLCB3aGlsZSwgb3IgdW50aWwgbG9vcHMuXG4iCiAiICAgIFxuIgpAQCAtMjQyMCw4ICsyNDgxLDE0IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBUaGUgZXhpdCBzdGF0dXMgaXMgMCB1bmxlc3MgTiBpcyBub3QgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIgogbXNnc3RyICIiCi0iRm9seXRhdGphIGEga/Z2ZXRrZXr1IGVneSBzemludHRlbCBtYWdhc2FiYmFuIGVsaGVseWV6a2Vk9SBGT1IsIFdISUxFIHZhZ3kgIgotIlVOVElMIGh1cm9ra2FsLiIKKyLDmmpyYWtlemRpIGEgZm9yLCB3aGlsZSB2YWd5IHVudGlsIGNpa2x1c3QuXG4iCisiICAgIFxuIgorIiAgICBBIGvDtnZldGtlesWRIGl0ZXLDoWNpw7N0w7NsIGZvbHl0YXRqYSBhIEZPUiwgV0hJTEUgdmFneSBVTlRJTCBjaWtsdXN0LlxuIgorIiAgICBJZiBOIGlzIHNwZWNpZmllZCwgcmVzdW1lcyB0aGUgTnRoIGVuY2xvc2luZyBsb29wLlxuIgorIiAgICBIYSBOIG1lZyB2YW4gYWR2YSwgYWtrb3IgTiBlZ3ltw6FzYmEgw6FneWF6b3R0IGNpa2x1c2LDs2wgbMOpcCBraS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgQSBraWzDqXDDqXNpIGvDs2QgMCwgaGEgTiA+PSAxLiIKIAogIzogYnVpbHRpbnMuYzozNTAKIG1zZ2lkICIiCkBAIC0yNDM2LDYgKzI1MDMsMTUgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgU0hFTEwtQlVJTFRJTiwgb3IgZmFsc2UgaWYgU0hFTEwtQlVJTFRJTiBpc1xuIgogIiAgICBub3QgYSBzaGVsbCBidWlsdGluLi4iCiBtc2dzdHIgIiIKKyJCZcOpcMOtdGV0dCBwYXJhbmNzb2sgdsOpZ3JlaGFqdMOhc2EuXG4iCisiICAgIFxuIgorIiAgICBWw6lncmVoYWp0amEgU0hFTEwtQlVJTFRJTi10IEFSRyBhcmd1bWVudHVtb2trYWwgcGFyYW5jc2tlcmVzw6lzIG7DqWxrw7xsLlxuIgorIiAgICBFeiBha2tvciBoYXN6bm9zLCBoYSBmZWzDvGwgc3plcmV0bmUgZGVmaW5pw6FsbmkgZWd5IGJlw6lww610ZXR0IHBhcmFuY3NvdFxuIgorIiAgICBmw7xnZ3bDqW55a8OpbnQsIGRlIGViYsWRbCBtZWcgc3plcmV0bsOpIGjDrXZuaSBheiBlcmVkZXRpIHBhcmFuY3NvdC5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgVG92w6FiYmFkamEgYSBTSEVMTC1CVUlMVElOIGtpbMOpcMOpc2kga8OzZGrDoXQgdmFneSBoYW1pc3NhbCB0w6lyIHZpc3N6YSxcbiIKKyIgICAgaGEgbmluY3MgaWx5ZW4gcGFyYW5jcy4iCiAKICM6IGJ1aWx0aW5zLmM6MzY1CiBtc2dpZCAiIgpAQCAtMjQ1Miw4ICsyNTI4LDIxIEBACiAiICAgIFJldHVybnMgMCB1bmxlc3MgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBzaGVsbCBmdW5jdGlvbiBvciBFWFBSXG4iCiAiICAgIGlzIGludmFsaWQuIgogbXNnc3RyICIiCisiVmlzc3phYWRqYSBheiBha3R1w6FsaXMgc3p1YnJ1dGluaMOtdsOhcyBrw7ZybnllemV0w6l0LlxuIgorIiAgICBcbiIKKyIgICAgS0lGIG7DqWxrw7xsIFwiJHNvciAkZsOhamxuw6l2XCIgZm9ybcOhdHVtw7ogZXJlZG3DqW55dCBhZC4gS0lGLWZlbCBwZWRpZ1xuIgorIiAgICBcIiRzb3IgJHN6dWJydXRpbiAkZsOhamxuw6l2XCIgZm9ybcOhdHVtw7p0OyBleiBoYXN6bm9zIGxlaGV0IHN0YWNrIHRyYWNlXG4iCisiICAgIGtpw61yw6Fzw6Fob3ouXG4iCisiICAgIFxuIgorIiAgICBBeiBFWFBSIMOpcnTDqWtlIGF6dCBhZGphIG1lZywgaG9neSBhIGplbGVubGVnaWhleiBrw6lwZXN0IG1pbHllbiBtw6lseXJlXG4iCisiICAgIGzDqXBqZW4gdmlzc3phOyBhIHZlcmVtIHRldGVqw6luIGEgMC1zIGtlcmV0IHZhbi5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgMC12YWwgdMOpciB2aXNzemEsIGhhIMOpcnbDqW55ZXMgS0lGIMOpcyB2YWzDs2JhbiBmw7xnZ3bDqW55dCBoYWp0IHbDqWdyZSBhIHBhLVxuIgorIiAgICByYW5jc8OpcnRlbG1lesWRLiIKIAogIzogYnVpbHRpbnMuYzozODMKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkNoYW5nZSB0aGUgc2hlbGwgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjQ3OSwxNCArMjU2OCw0MiBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgorIkEgcGFyYW5jc8OpcnRlbG1lesWRIG11bmtha8O2bnl2dMOhcsOhdCB2w6FsdGphLlxuIgorIiAgICBcbiIKKyIgICAgQSBtdW5rYWvDtm55dnTDoXJhIEtUw4FSLXJhIHbDoWx0amEuIEVsaGFnecOhc2EgZXNldMOpbiBhIEhPTUUga8O2cm55ZXpldGlcbiIKKyIgICAgdsOhbHRvesOzYmFuIGzDqXbFkSBrw7ZueXZ0w6FycmEgdsOhbHQuXG4iCisiICAgIFxuIgorIiAgICBBIENEUEFUSCBrw7ZybnllemV0aSB2w6FsdG96w7MgYWRqYSBtZWcgYSBLVMOBUiBrZXJlc8Opc2kgw7p0dm9uYWxhaXQuIEF6XG4iCisiICAgIMO6dHZvbmFsYWthdCBrZXR0xZFzcG9udCAoOikgdsOhbGFzc3phIGVsLiBFZ3kgw7xyZXMga8O2bnl2dMOhcm7DqXYgYXogYWt0dS1cbiIKKyIgICAgw6FsaXMga8O2bnl2dMOhcmF0IGplbGVudGkuIEhhIEtUw4FSIOKAni/igJ0gamVsbGVsIGtlemTFkWRpaywgYSBDRFBBVEggw6lydMOpa2VcbiIKKyIgICAgbmluY3MgZmlneWVsZW1iZSB2w6l2ZS5cbiIKKyIgICAgXG4iCisiICAgIEhhIGEga8O2bnl2dMOhciBuZW0gbMOpdGV6aWssIMOpcyBhIOKAnmNkYWJsZV92YXJz4oCdIHBhcmFuY3PDqXJ0ZWxtZXrFkS1iZcOhbGzDrS1cbiIKKyIgICAgdMOhcyBha3TDrXYsIEtUw4FSIGVneSB2w6FsdG96w7Nuw6l2a8OpbnQgbGVzeiBoYXN6bsOhbHZhLiBIYSBhIHbDoWx0b3rDs25hayB2YW5cbiIKKyIgICAgw6lydMOpa2UsIGF6IGxlc3ogS1TDgVItw6lydMOpa2vDqW50IGhhc3puw6FsdmEuXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgICAgLUwgICAgIHN6aW1ib2xpa3VzIGxpbmtlayBzemlnb3LDuiBrw7Z2ZXTDqXNlXG4iCisiICAgICAgICAtUCAgICAgYSBmaXppa2FpIGvDtm55dnTDoXJmYSBoYXN6bsOhbGF0YSBhIHN6aW1ib2xpa3VzIGxpbmtlayAiCisia8O2dmV0w6lzZVxuIgorIiAgICAgICBoZWx5ZXR0XG4iCisiICAgIFxuIgorIiAgICBBeiBhbGFww6lydGVsbWV6ZXR0IGEgc3ppbWJvbGlrdXMgbGlua2VrIGvDtnZldMOpc2UsIG1pbnRoYSDigJ4tTOKAnSBsZW5uZVxuIgorIiAgICBtZWdhZHZhLlxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIDAtdmFsIHTDqXIgdmlzc3phLCBoYSBrw7ZueXZ0w6FyYXQgdsOhbHRvdHQ7IG3DoXMgw6lydMOpa2V0IGvDvGzDtm5iZW4uIgogCi0jOiBidWlsdGlucy5jOjQxMQorIzogYnVpbHRpbnMuYzo0MTQKIG1zZ2lkICIiCiAiUHJpbnQgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjUwMSw5ICsyNjE4LDIxIEBACiAiICAgIFJldHVybnMgMCB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgdGhlIGN1cnJlbnQgZGlyZWN0b3J5XG4iCiAiICAgIGNhbm5vdCBiZSByZWFkLiIKIG1zZ3N0ciAiIgorIkF6IGFrdHXDoWxpcyBtdW5rYWvDtm55dnTDoXIgw7p0dm9uYWzDoW5hayBracOtcsOhc2EuXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1MICAgICAgICRQV0Qgw6lydMOpa8OpbmVrIGtpw61yw6FzYSwgaGEgYXogYSBtdW5rYWvDtm55dnTDoXIgw6lydsOpbnllc1xuIgorIiAgICAgICBuZXZlXG4iCisiICAgICAgLVAgICAgICAgYSBmaXppa2FpIGvDtm55dnTDoXIga2nDrXLDoXNhLCBzemltYm9saWt1cyBsaW5rZWsgbsOpbGvDvGxcbiIKKyIgICAgXG4iCisiICAgIEF6IGFsYXDDqXJ0ZWxtZXpldHQgYSBzemltYm9saWt1cyBsaW5rZWsga8O2dmV0w6lzZSwgbWludGhhIOKAni1M4oCdIGxlbm5lXG4iCisiICAgIG1lZ2FkdmEuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIDAtdmFsIHTDqXIgdmlzc3phLCBraXbDqXZlIGhhIMOpcnbDqW55dGVsZW4ga2FwY3NvbMOzdCBrYXBvdHQgdmFneSBuZW0gbGUtXG4iCisiICAgIGhldCBvbHZhc25pIGEgbXVua2Frw7ZueXZ0w6FyYXQuIgogCi0jOiBidWlsdGlucy5jOjQyOAotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6NDMxCiBtc2dpZCAiIgogIk51bGwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNTExLDI1ICsyNjQwLDM5IEBACiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKLW1zZ3N0ciAiTmVtIGNzaW7hbCBzZW1taXQgZXogYSBwYXJhbmNzLiBBIHZpc3N6YXTpculzaSDpcnTpa2UgMC4iCittc2dzdHIgIiIKKyJOaW5jcyBtxbF2ZWxldC5cbiIKKyIgICAgXG4iCisiICAgIE5pbmNzIGhhdMOhc2EsIGEgcGFyYW5jcyBuZW0gY3NpbsOhbCBzZW1taXQuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIE1pbmRpZyBzaWtlcmVzLiIKIAotIzogYnVpbHRpbnMuYzo0MzkKKyM6IGJ1aWx0aW5zLmM6NDQyCiBtc2dpZCAiIgogIlJldHVybiBhIHN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKKyJTaWtlcmVzIHZpc3N6YXTDqXLDqXMuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIE1pbmRpZyBzaWtlcmVzLiIKIAotIzogYnVpbHRpbnMuYzo0NDgKKyM6IGJ1aWx0aW5zLmM6NDUxCiBtc2dpZCAiIgogIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIEFsd2F5cyBmYWlscy4iCiBtc2dzdHIgIiIKKyJTaWtlcnRlbGVuIHZpc3N6YXTDqXLDqXMuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIE1pbmRpZyBzaWtlcnRlbGVuLiIKIAotIzogYnVpbHRpbnMuYzo0NTcKKyM6IGJ1aWx0aW5zLmM6NDYwCiBtc2dpZCAiIgogIkV4ZWN1dGUgYSBzaW1wbGUgY29tbWFuZCBvciBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTI1NDcsOCArMjY5MCwyNiBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBDT01NQU5ELCBvciBmYWlsdXJlIGlmIENPTU1BTkQgaXMgbm90IGZvdW5kLiIKIG1zZ3N0ciAiIgorIkVneSBwYXJhbmNzb3QgaGFqdCB2w6lncmUgdmFneSBpbmZvcm3DoWNpw7N0IGplbGVuw610IG1lZyByw7NsYS5cbiIKKyIgICAgXG4iCisiICAgIFbDqWdyZWhhanRqYSBhIFBBUkFOQ1MgcGFyYW5jc290IEFSR1VNRU5UVU1PSyBhcmd1bWVudHVtb2trYWwgYSBmw7xnZy1cbiIKKyIgICAgdsOpbnlmZWxvbGTDoXMgdsOpZ3JlaGFqdMOhc2EgbsOpbGvDvGw7IHZhZ3kgaW5mb3Jtw6FjacOzdCBqZWxlbsOtdCBtZWcgYSBwYS1cbiIKKyIgICAgcmFuY3Nyw7NsLiBIYXN6bsOhbGhhdMOzIHByb2dyYW1vayBmdXR0YXTDoXPDoXJhLCBoYSBhem9ub3MgbmV2xbEgZsO8Z2d2w6lueVxuIgorIiAgICBsw6l0ZXppay5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLXAgICAgICAgYWxhcMOpcnRlbG1lemV0dCDDqXJ0w6lrIGhhc3puw6FsYXRhIFBBVEggaGVseWV0dCwgYW1lbHkgZ2EtXG4iCisiICAgICAgICAgICAgICAgcmFudMOhbHRhbiBtZWd0YWzDoWwgbWluZGVuIHN6YWJ2w6FueW9zIGVzemvDtnp0ICAgICAgLXYgICAgICAgIgorImVneSBsZcOtcsOhc3QgYWQgYSBQQVJBTkNTIHBhcmFuY3Nyw7NsIGEg4oCedHlwZeKAnSBiZcOpcMOtdGV0dCBwYS1cbiIKKyIgICAgICAgICAgICAgICByYW5jc2hveiBoYXNvbmzDsyBtw7Nkb25cbiIKKyIgICAgICAtViAgICAgICBtaW5kZW4gUEFSQU5DUy1yw7NsIGVneSByw6lzemxldGVzZWJiIGxlw61yw6FzdCBhZFxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBQQVJBTkNTIGtpbMOpcMOpc2kga8OzZGrDoXZhbCB0w6lyIHZpc3N6YSwgdmFneSBoaWLDoXQgamVsZXosIGhhIG5lbSB0YWzDoWwtXG4iCisiICAgIGhhdMOzIFBBUkFOQ1MuIgogCi0jOiBidWlsdGlucy5jOjQ3NgorIzogYnVpbHRpbnMuYzo0NzkKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgpAQCAtMjU1OSw2ICsyNzIwLDggQEAKICIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCiAiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKICIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKICIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgpAQCAtMjU3OCwyMCArMjc0MSw1NiBAQAogIiAgICBcbiIKICIgICAgV2hlbiB1c2VkIGluIGEgZnVuY3Rpb24sIGBkZWNsYXJlJyBtYWtlcyBOQU1FcyBsb2NhbCwgYXMgd2l0aCB0aGUgIgogImBsb2NhbCdcbiIKLSIgICAgY29tbWFuZC5cbiIKKyIgICAgY29tbWFuZC4gIFRoZSBgLWcnIG9wdGlvbiBzdXBwcmVzc2VzIHRoaXMgYmVoYXZpb3IuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisiVsOhbHRvesOzw6lydMOpa2VrZXQgw6lzIGplbGxlbXrFkWtldCDDoWxsw610IGJlLlxuIgorIiAgICBcbiIKKyIgICAgVsOhbHRvesOzayBkZWtsYXLDoWzDoXNhIMOpcyBqZWxsZW16xZFrIGFkw6FzYS4gSGEgbmluY3MgTsOJViBtZWdhZHZhLCBraWxpcy1cbiIKKyIgICAgdMOhenphIGF6IMO2c3N6ZXMgdsOhbHRvesOzIGplbGxlbXrFkWl0IMOpcyDDqXJ0w6lrw6l0LlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAtZiAgICAgICBtxbF2ZWxldCDDqXMgbWVnamVsZW7DrXTDqXMga29ybMOhdG96w6FzYSBmw7xnZ3bDqW55bmV2ZWtyZSDDqXNcbiIKKyIgICAgICAgICAgICAgICAtZGVmaW7DrWNpw7NrcmFcbiIKKyIgICAgICAtRiAgICAgICBtZWdqZWxlbsOtdMOpcyBrb3Jsw6F0b3rDoXNhIGbDvGdndsOpbnluZXZla3JlICjDqXMgc29yIHN6w6Ftw6FyYSxcbiIKKyIgICAgICAgICAgICAgICB2YWxhbWludCBhIGZvcnLDoXNmw6FqbCBuZXbDqXJlIGhpYmFrZXJlc8Opc2tvcilcbiIKKyIgICAgICAtcCAgICAgICBtaW5kZW4gTsOJViBqZWxsZW16xZFpbmVrIMOpcyDDqXJ0w6lrw6luZWsga2nDrXLDoXNhXG4iCisiICAgIFxuIgorIiAgICBKZWxsZW16xZFrZXQgw6FsbMOtdMOzIGthcGNzb2zDs2s6XG4iCisiICAgICAgLWEgICAgICAgTsOJViBpbmRleGVsdCB0w7ZtYmLDqSBhbGFrw610w6FzYSAoaGEgdMOhbW9nYXRvdHQpXG4iCisiICAgICAgLUEgICAgICAgTsOJViBhc3N6b2NpYXTDrXYgdMO2bWJiw6kgYWxha8OtdMOhc2EgKGhhIHTDoW1vZ2F0b3R0KVxuIgorIiAgICAgIC1pICAgICAgIG1pbmRlbiBOw4lWIGthcGpvbiDigJ5pbnRlZ2Vy4oCdIGplbGxlbXrFkXRcbiIKKyIgICAgICAtbCAgICAgICBOw4lWLWhleiB2YWzDsyDDqXJ0w6lrYWTDoXNrb3Iga2lzYmV0xbFzc8OpIGtvbnZlcnTDoWzDoXNcbiIKKyIgICAgICAtciAgICAgICBtaW5kZW4gTsOJViBsZWd5ZW4gY3NhayBvbHZhc2hhdMOzXG4iCisiICAgICAgLXQgICAgICAgbWluZGVuIE7DiVYga2Fwam9uIOKAnnRyYWNl4oCdIGplbGxlbXrFkXRcbiIKKyIgICAgICAtdSAgICAgICBOw4lWLWhleiB2YWzDsyDDqXLDqWthZMOhc2tvciBuYWd5YmV0xbFzc8OpIGtvbnZlcnTDoWzDoXNcbiIKKyIgICAgICAteCAgICAgICBtaW5kZW4gTsOJViBleHBvcnTDoWzDoXNhXG4iCisiICAgIFxuIgorIiAgICBBIOKAni3igJ0gaGVseWV0dCDigJ4r4oCdIGhhc3puw6FsYXRhIGtpa2FwY3NvbGphIGF6IGFkb3R0IGplbGxlbXrFkXQuXG4iCisiICAgIFxuIgorIiAgICBBeiBpbnRlZ2VyIGplbGxlbXrFkXZlbCByZW5kZWxrZXrFkSB2w6FsdG96w7NraG96IHZhbMOzIMOpcnTDqWthZMOhc2tvciBhcml0LVxuIgorIiAgICBtZXRpa2FpIGtpw6lydMOpa2Vsw6lzIHTDtnJ0w6luaWsgKGzDoXNkIGEg4oCebGV04oCdIHBhcmFuY3NvdCkuXG4iCisiICAgIFxuIgorIiAgICBGw7xnZ3bDqW55dMO2cnpzYmVuIOKAnmRlY2xhcmXigJ0tdCBoYXN6bsOhbHZhIG1pbmRlbiBOw4lWIGhlbHlpIGxlc3osIGhhc29ubMOzLVxuIgorIiAgICBhbiBhIOKAnmxvY2Fs4oCdIHBhcmFuY3Nob3ouXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIHTDqXIgdmlzc3phLCBraXbDqXZlIGhhIMOpcnbDqW55dGVsZW4ga2FwY3NvbMOzdCBrYXAsIHZhZ3kgaGliYVxuIgorIiAgICB0w7ZydMOpbnQuIgogCi0jOiBidWlsdGlucy5jOjUxMgorIzogYnVpbHRpbnMuYzo1MTcKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCiAiICAgIE9ic29sZXRlLiAgU2VlIGBoZWxwIGRlY2xhcmUnLiIKIG1zZ3N0ciAiIgorIlbDoWx0b3rDs8OpcnTDqWtla2V0IMOpcyBqZWxsZW16xZFrZXQgw6FsbMOtdCBiZS5cbiIKKyIgICAgXG4iCisiICAgIEVsYXZ1bHQuIEzDoXNkIOKAnmhlbHAgZGVjbGFyZeKAnS4iCiAKLSM6IGJ1aWx0aW5zLmM6NTIwCisjOiBidWlsdGlucy5jOjUyNQogbXNnaWQgIiIKICJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI2MDUsOCArMjgwNCwxOSBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBlcnJvciBvY2N1cnMsXG4iCiAiICAgIG9yIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24uIgogbXNnc3RyICIiCisiSGVseWkgdsOhbHRvesOzayBkZWZpbmnDoWzDoXNhLlxuIgorIiAgICBcbiIKKyIgICAgRWd5IE7DiVYgbmV2xbEgaGVseWkgdsOhbHRvesOzdCBob3ogbMOpdHJlLCDDqXMgw4lSVMOJSyDDqXJ0w6lrZXQgYWQgbmVraS4gS0FQLVxuIgorIiAgICBDU09Mw5MgdGV0c3rFkWxlZ2VzIOKAnmRlY2xhcmXigJ0gw6FsdGFsIGVsZm9nYWRvdHQga2FwY3NvbMOzIGxlaGV0LlxuIgorIiAgICBcbiIKKyIgICAgQSBoZWx5aSB2w6FsdG96w7NrIGNzYWsgYSBmw7xnZ3bDqW55ZW4gYmVsw7xsIGhhc3puw6FsaGF0w7NhaywgbmVtIGzDoXRoYXTDs2FrXG4iCisiICAgIGF6IMWRa2V0IGRlZmluacOhbMOzIGbDvGdndsOpbnllbiDDqXMgYXpvayBneWVybWVrZWluIGvDrXbDvGwuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIHTDqXIgdmlzc3phLCBraXbDqXZlIGhhIMOpcnbDqW55dGVsZW4ga2FwY3NvbMOzdCBrYXAsIGhpYmFcbiIKKyIgICAgdMO2cnTDqW50LCB2YWd5IG5lbSBmw7xnZ3bDqW55YmVuIGxldHQgaMOtdnZhLiIKIAotIzogYnVpbHRpbnMuYzo1MzcKKyM6IGJ1aWx0aW5zLmM6NTQyCiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI2MzYsOCArMjg0NiwzNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJBcmd1bWVudHVtb2sgc3phYnbDoW55b3Mga2ltZW5ldHJlIMOtcsOhc2EuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHVtb2sgw6lzIGVneSDDumpzb3Iga2nDrXLDoXNhIGEgc3phYnbDoW55b3Mga2ltZW5ldHJlLlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAtbiAgICAgICBuZSBmxbF6esO2biBob3p6w6Egw7pqc29ydFxuIgorIiAgICAgIC1lICAgICAgIGF6IGFsw6FiYmkgZXNjYXBlLXN6ZWt2ZW5jacOhayDDqXJ0ZWxtZXrDqXNlXG4iCisiICAgICAgLUUgICAgICAgZXNjYXBlLXN6ZWt2ZW5jacOhayDDqXJ0ZWxtZXrDqXPDqW5layB0aWx0w6FzYVxuIgorIiAgICBcbiIKKyIgICAgQXog4oCeZWNob+KAnWEga8O2dmV0a2V6xZEgdmlzc3phcGVyLWVzY2FwZS1rYXJha3RlcmVrZXQgw6lydGVsbWV6aTpcbiIKKyIgICAgICBcXGEgICAgICB0ZXJtaW7DoWxjc2VuZ8WRXG4iCisiICAgICAgXFxiICAgICAgdmlzc3phdMO2cmzDqXMgKGJhY2tzcGFjZSlcbiIKKyIgICAgICBcXGMgICAgICB0b3bDoWJiaSBraW1lbmV0IGVsbnllbMOpc2VcbiIKKyIgICAgICBcXGUgICAgICBlc2NhcGUta2FyYWt0ZXJcbiIKKyIgICAgICBcXGYgICAgICBsYXBkb2LDoXMta2FyYWt0ZXJcbiIKKyIgICAgICBcXG4gICAgICDDumpzb3Ita2FyYWt0ZXJcbiIKKyIgICAgICBcXHIgICAgICBrb2NzaXZpc3N6YS1rYXJha3RlclxuIgorIiAgICAgIFxcdCAgICAgIHbDrXpzemludGVzIHRhYnVsw6F0b3JcbiIKKyIgICAgICBcXHYgICAgICBmw7xnZ8WRbGVnZXMgdGFidWzDoXRvclxuIgorIiAgICAgIFxcXFwgICAgIHZpc3N6YXBlciAoXFwpXG4iCisiICAgICAgXFwwbm5uICAgYXogb2t0w6FsaXMgTk5OIEFTQ0lJLWvDs2TDuiBrYXJha3Rlci4gTk5OIDDigJMzXG4iCisiICAgICAgICAgICAgICAgb2t0w6FsaXMgc3rDoW1qZWd5IGxlaGV0XG4iCisiICAgICAgXFx4SEggICAgYXogYSA4IGJpdGVzIGthcmFrdGVyLCBhbWVseW5layDDqXJ0w6lrZSBISFxuIgorIiAgICAgICAgICAgICAgIChoZXhhZGVjaW3DoWxpc2FuKS4gSEggZWd5IHZhZ3kga8OpdCBoZXhhc3rDoW1qZWd5IGxlaGV0XG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIHTDqXIgdmlzc3phLCBraXbDqXZlIMOtcsOhc2kgaGliYSBlc2V0w6luLiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI2NDksOCArMjg4NiwxNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJBcmd1bWVudHVtb2sgc3phYnbDoW55b3Mga2ltZW5ldHJlIMOtcsOhc2EuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHVtb2sgw6lzIGVneSDDumpzb3Iga2nDrXLDoXNhIGEgc3phYnbDoW55b3Mga2ltZW5ldHJlLlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAtbiAgICAgICBuZSBmxbF6esO2biBob3p6w6Egw7pqc29ydFxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBTaWtlcnJlbCB0w6lyIHZpc3N6YSwga2l2w6l2ZSDDrXLDoXNpIGhpYmEgZXNldMOpbi4iCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjY3Niw4ICsyOTIyLDM0IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGEgc2hlbGwgYnVpbHRpbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisiUGFyYW5jc8OpcnRlbG1lesWRIGJlw6lww610ZXR0IHBhcmFuY3NhaW5hayBlbmdlZMOpbHllesOpc2Ugw6lzIHRpbHTDoXNhLlxuIgorIiAgICBcbiIKKyIgICAgQmXDqXDDrXRldHQgcGFyYW5jc29rYXQgZW5nZWTDqWx5ZXogw6lzIHRpbHQuIEVneSBwYXJhbmNzIGxldGlsdMOhc8OhdmFsIGF6XG4iCisiICAgIGVsw6lyw6lzaSDDunQgYmXDrXLDoXNhIG7DqWxrw7xsIGxlaGV0IGJlw6lww610ZXR0IHBhcmFuY2NzYWwgbWVnZWd5ZXrFkSBuZXbFsS1cbiIKKyIgICAgcHJvZ3JhbW90IGZ1dHRhdG5pLlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAtYSAgICAgICBhIGJlw6lww610ZXR0IHBhcmFuY3NvayDDqXMgYXpvayDDoWxsYXBvdMOhbmFrIGxpc3TDoXrDoXNhXG4iCisiICAgICAgLW4gICAgICAgbWluZGVuIE7DiVYgdGlsdMOhc2EgdmFneSBhIHRpbHRvdHQgcGFyYW5jc29rIGxpc3TDoXrDoXNhXG4iCisiICAgICAgLXAgICAgICAgYSBiZcOpcMOtdGV0dCBwYXJhbmNzb2thdCBsaXN0w6F6emEgw7pqcmFoYXN6bsOhbGhhdMOzIGZvcm3DoWJhblxuIgorIiAgICAgIC1zICAgICAgIGNzYWsgYSBQb3NpeCDigJ5zcGVjaWFs4oCdIGJlw6lww610ZXR0IHBhcmFuY3Nva2F0IGxpc3TDoXp6YVxuIgorIiAgICBcbiIKKyIgICAgRGluYW1pa3VzIGJldMO2bHTDqXN0IHN6YWLDoWx5b3rDsyBrYXBjc29sw7NrOlxuIgorIiAgICAgIC1mICAgICAgIE7DiVYgbmV2xbEgYmXDqXDDrXRldHQgcGFyYW5jcyBiZXTDtmx0w6lzZSBhIEbDgUpMTsOJViBtZWdvc3p0b3R0ICIKKyJvYmplay1cbiIKKyIgICAgICAgICAgICAgICB0dW1mw6FqbGLDs2xcbiIKKyIgICAgICAtZCAgICAgICBlZ3kgLWYga2FwY3NvbMOzdmFsIGJldMO2bHTDtnR0IHBhcmFuY3MgZWx0w6F2b2zDrXTDoXNhXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrIG7DqWxrw7xsIG1pbmRlbiBOw4lWIGVuZ2Vkw6lseWV6w6lzcmUga2Vyw7xsXG4iCisiICAgIFxuIgorIiAgICBBIGJlw6lww610ZXR0IHBhcmFuY3MgaGVseWV0dCBhICRQQVRILWJhbiB0YWzDoWxoYXTDsyDigJ50ZXN04oCdIGhhc3puw6FsYXTDoWhvelxuIgorIiAgICBoYXN6bsOhbGphIGF6IOKAnmVuYWJsZSAtbiB0ZXN04oCdIHBhcmFuY3NvdC5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGtpdsOpdmUgaGEgTsOJViBuZW0gZWd5IGJlw6lww610ZXR0IHBhcmFuY3MsIHZhZ3kgaGktXG4iCisiICAgIGJhIHTDtnJ0w6ludC4iCiAKLSM6IGJ1aWx0aW5zLmM6NjE0CisjOiBidWlsdGlucy5jOjYxOQogbXNnaWQgIiIKICJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjY4OCw4ICsyOTYwLDE2IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIGNvbW1hbmQgb3Igc3VjY2VzcyBpZiBjb21tYW5kIGlzIG51bGwuIgogbXNnc3RyICIiCisiQXJndW1lbnR1bW9rIHbDqWdyZWhhanTDoXNhIHBhcmFuY3Nrw6ludC5cbiIKKyIgICAgXG4iCisiICAgIEF6IGFyZ3VtZW50dW1va2F0IMO2c3N6ZWbFsXppLCDDqXMgYXogZXJlZG3DqW55dCBlZ3kgcGFyYW5jc3NvcmvDqW50IGhhanRqYVxuIgorIiAgICB2w6lncmUgYSBwYXJhbmNzw6lydGVsbWV6xZEuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIEEgcGFyYW5jcyBraWzDqXDDqXNpIGvDs2Rqw6F2YWwgdMOpciB2aXNzemEsIHZhZ3kgc2lrZXJyZWwsIGhhIMO8cmVzIGEgcGEtXG4iCisiICAgIHJhbmNzLiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMjcyOSw4ICszMDA5LDQxIEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBhbiBvcHRpb24gaXMgZm91bmQ7IGZhaWxzIGlmIHRoZSBlbmQgb2Ygb3B0aW9ucyBpc1xuIgogIiAgICBlbmNvdW50ZXJlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisiS2FwY3NvbMOzayDDqXJ0ZWxtZXrDqXNlLlxuIgorIiAgICBcbiIKKyIgICAgQSBnZXRvcHRzIHBhcmFuY3NvdCBhcnJhIGhhc3puw6FsasOhayBheiBlbGrDoXLDoXNvaywgaG9neSBwb3ppY2lvbsOhbGlzXG4iCisiICAgIHBhcmFtw6l0ZXJla2V0IGthcGNzb2zDs2trw6ludCDDqXJ0ZWxtZXp6ZW5lay5cbiIKKyIgICAgXG4iCisiICAgIEEgS0FQQ1NPTMOTSyBhem9rYXQgYSBiZXTFsWtldCB0YXJ0YWxtYXp6YSwgYW1lbHlla2V0IGZlbCBrZWxsIGlzbWVybmkuXG4iCisiICAgIEhhIGVneSBrYXBjc29sw7N0IGtldHTFkXNwb250IGvDtnZldCwgYSBrYXBjc29sw7Mga8O2dGVsZXrFkSBwYXJhbcOpdGVydCB2w6FyLlxuIgorIiAgICBFenQgYSBwYXJhbcOpdGVydCBzesOza8O2enplbCBrZWxsIGVsdsOhbGFzenRhbmkgYSBrYXBjc29sw7N0w7NsLlxuIgorIiAgICBcbiIKKyIgICAgTWluZGVuIHbDqWdyZWhhanTDoXNrb3IgYSBnZXRvcHRzIGEgJG7DqXYgdsOhbHRvesOzYmEgaGVseWV6aSBhIGvDtnZldGtlesWRXG4iCisiICAgIGthcGNzb2zDs3QgKHN6w7xrc8OpZyBlc2V0w6luIGluaWNpYWxpesOhbHZhIGEgdsOhbHRvesOzdCkuIEEga2FwY3NvbMOzIGluZGV4ZVxuIgorIiAgICBheiBPUFRJTkQgdsOhbHRvesOzYmEga2Vyw7xsLiBBeiBPUFRJTkQgdsOhbHRvesOzdCBhIHBhcmFuY3PDqXJ0ZWxtZXrFkSBpbmR1LVxuIgorIiAgICBsw6Fza29yIDEtcmUgaW5pY2lhbGl6w6FsamEuIEhhIGEga2FwY3NvbMOzbmFrIHBhcmFtw6l0ZXJlIHZhbiwgZW5uZWsgw6lyLVxuIgorIiAgICB0w6lrZSBheiBPUFRBUkcgdsOhbHRvesOzYmEga2Vyw7xsLlxuIgorIiAgICBcbiIKKyIgICAgQSBnZXRvcHRzIGvDqXQgbcOzZG9uIHR1ZCBoaWLDoXQgamVsZXpuaS4gRWxuw6ltw610aGF0w7MgYSBoaWJhamVsesOpcyBheiBPUC1cbiIKKyIgICAgQ0nDk0sga2V0dMWRc3BvbnR0YWwgdmFsw7Mga2V6ZMOpc8OpdmVsLiBFYmJlbiBhIG3Ds2RiYW4gbmVtIGtlcsO8bCBracOtcsOhc3JhXG4iCisiICAgIGhpYmHDvHplbmV0LiBIYSBhIGdldG9wdHMgw6lydsOpbnl0ZWxlbiBvcGNpw7N0IHRhbMOhbCwgZXp0IGF6IE9QVEFSRyB2w6FsLVxuIgorIiAgICB0b3rDs2JhIMOtcmphLiBIYSBoacOhbnl6aWsgZWd5IGvDtnRlbGV6xZEgcGFyYW3DqXRlciwgYSAkbsOpdiB2w6FsdG96w7NiYSBlZ3lcbiIKKyIgICAga2V0dMWRc3BvbnQga2Vyw7xsLCDDqXMgYSB0YWzDoWx0IGthcmFrdGVyIE9QVEFSRy1iYSBrZXLDvGwuXG4iCisiICAgIEhhIGEgZ2V0b3B0cyBuaW5jcyBuw6ltYSBtw7NkYmFuLCDDqXMgw6lydsOpbnl0ZWxlbiBrYXBjc29sw7N0IHRhbMOhbCwgJG7DqXYtXG4iCisiICAgIGJlIGVneSBrw6lyZMWRamVsIGtlcsO8bCwgT1BUQVJHIHTDtnJsw6lzcmUga2Vyw7xsLCDDqXMgaGliYcO8emVuZXRldCDDrXIga2kuXG4iCisiICAgIFxuIgorIiAgICBIYSBheiBPUFRFUlIgdsOhbHRvesOzIDAtcmEgdmFuIMOhbGzDrXR2YSwgYSBnZXRvcHRzIGxldGlsdGphIGEgaGliYcO8emVuZS1cbiIKKyIgICAgdGV0LCBha2tvciBpcywgaGEgbmVtIGtldHTFkXNwb250dGFsIGtlemTFkWRpayBheiBPUENJw5NLLiBPUFRFUlIgYWxhcMOpci1cbiIKKyIgICAgdMOpa2UgMS5cbiIKKyIgICAgXG4iCisiICAgIEEgZ2V0b3B0cyBhbGFwdmV0xZFlbiBwb3ppY2lvbsOhbGlzIHBhcmFtw6l0ZXJla2V0IMOpcnRlbG1lemkgKCQw4oCTJDkpLCBkZVxuIgorIiAgICB0w7ZiYiBhcmd1bWVudHVtIGVzZXTDqW4gbWluZGV0IGtlemVsaS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGhhIGthcGNzb2zDs3QgdGFsw6FsdCwgc2lrZXJ0ZWxlbsO8bCwgaGEgZWxmb2d5dGFrIGFcbiIKKyIgICAga2FwY3NvbMOzayB2YWd5IGhpYmEgdMO2cnTDqW50LiIKIAotIzogYnVpbHRpbnMuYzo2NjgKKyM6IGJ1aWx0aW5zLmM6NjczCiBtc2dpZCAiIgogIlJlcGxhY2UgdGhlIHNoZWxsIHdpdGggdGhlIGdpdmVuIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjc1MiwxNyArMzA2NSwzNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIENPTU1BTkQgaXMgbm90IGZvdW5kIG9yIGEgcmVkaXJlY3Rpb24gZXJyb3IgIgogIm9jY3Vycy4iCiBtc2dzdHIgIiIKKyJBIHBhcmFuY3PDqXJ0ZWxtZXrFkSBmZWx2w6FsdMOhc2EgYSBtZWdhZG90dCBwYXJhbmNjc2FsLlxuIgorIiAgICBcbiIKKyIgICAgUEFSQU5DUyB2w6lncmVoYWp0w6FzYSwga2ljc2Vyw6lsdmUgYSBwYXJhbmNzw6lydGVsbWV6xZF0IGEgbWVnYWRvdHQgcHJvZy1cbiIKKyIgICAgcmFtbWFsLiBBUkdVTUVOVFVNT0sgbGVzem5layBhIFBBUkFOQ1MgYXJndW1lbnR1bWFpLiBIYSBuaW5jcyBQQVJBTkNTXG4iCisiICAgIG1lZ2FkdmEsIGEgZnV0w7Mgc2hlbGxyZSBrZXLDvGxuZWsgw6lydsOpbnllc8OtdMOpc3JlIGF6IMOhdGlyw6FuecOtdMOhc29rLlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAtYSBuw6l2ICAgTsOJViDDoXRhZMOhc2EgUEFSQU5DUy1uYWsgJDAta8OpbnRcbiIKKyIgICAgICAtYyAgICAgICBQQVJBTkNTIHbDqWdyZWhhanTDoXNhIMO8cmVzIGvDtnJueWV6ZXR0ZWxcbiIKKyIgICAgICAtbCAgICAgICBQQVJBTkNTLW5hayBlZ3kg4oCeLeKAnSDDoXRhZMOhc2EgJDAta8OpbnRcbiIKKyIgICAgXG4iCisiICAgIEhhIGEgcGFyYW5jcyBuZW0gaGFqdGhhdMOzIHbDqWdyZSwgYSBuZW0gaW50ZXJha3TDrXYgcGFyYW5jc8OpcnRlbG1lesWRIGtpLVxuIgorIiAgICBsw6lwLCBraXbDqXZlLCBoYSBheiDigJ5leGVjZmFpbOKAnSBwYXJhbmNzw6lydGVsbWV6xZEtYmXDoWxsw610w6FzIMOpbC5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGtpdsOpdmUsIGhhIFBBUkFOQ1MgbmVtIHRhbMOhbGhhdMOzIHZhZ3kgc2lrZXJ0ZWxlblxuIgorIiAgICBheiDDoXRpcsOhbnnDrXTDoXMuIgogCi0jOiBidWlsdGlucy5jOjY4OQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6Njk0CiBtc2dpZCAiIgogIkV4aXQgdGhlIHNoZWxsLlxuIgogIiAgICBcbiIKICIgICAgRXhpdHMgdGhlIHNoZWxsIHdpdGggYSBzdGF0dXMgb2YgTi4gIElmIE4gaXMgb21pdHRlZCwgdGhlIGV4aXQgc3RhdHVzXG4iCiAiICAgIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCi1tc2dzdHIgIktpbOlwIGEgcGFyYW5jc+lydGVsbWV69WL1bCBOIHN04XR1c3N6YWwuIEhhIGF6IE4tdCBraWhhZ3lqYSBha2tvciBhICIKK21zZ3N0ciAiIgorIktpbMOpcCBhIHBhcmFuY3PDqXJ0ZWxtZXrFkWLFkWwuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXAgYSBwYXJhbmNzw6lydGVsbWV6xZFixZFsIE4ga2lsw6lww6lzaSBrw7NkZGFsLiBIYSBOIGhpw6FueXppaywgYXogdXRvbC1cbiIKKyIgICAgc8OzIHBhcmFuY3Mga2lsw6lww6lzaSBrw7NkasOhdmFsIGzDqXAga2kuIgogCi0jOiBidWlsdGlucy5jOjY5OAorIzogYnVpbHRpbnMuYzo3MDMKIG1zZ2lkICIiCiAiRXhpdCBhIGxvZ2luIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI3NzAsOCArMzEwMywxMiBAQAogImV4ZWN1dGVkXG4iCiAiICAgIGluIGEgbG9naW4gc2hlbGwuIgogbXNnc3RyICIiCisiS2lsw6lwIGEgYmVqZWxlbnRrZXrFkSBwYXJhbmNzw6lydGVsbWV6xZFixZFsLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lwIGEgYmVqZWxlbnRrZXrFkSBwYXJhbmNzw6lydGVsbWV6xZFixZFsIE4ga2lsw6lww6lzaSBrw7NkZGFsLiBIaWLDoXZhbFxuIgorIiAgICB0w6lyIHZpc3N6YSwgaGEgbmVtIGJlamVsZW50a2V6xZEgcGFyYW5jc8OpcnRlbG1lesWRYsWRbCBow612asOhay4iCiAKLSM6IGJ1aWx0aW5zLmM6NzA4CisjOiBidWlsdGlucy5jOjcxMwogbXNnaWQgIiIKICJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTI4MDAsOSArMzEzNywzMiBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3Mgb3Igc3RhdHVzIG9mIGV4ZWN1dGVkIGNvbW1hbmQ7IG5vbi16ZXJvIGlmIGFuIGVycm9yICIKICJvY2N1cnMuIgogbXNnc3RyICIiCisiUGFyYW5jc29rIG1lZ2plbGVuw610w6lzZSB2YWd5IHbDqWdyZWhhanTDoXNhIGF6IGVsxZF6bcOpbnlixZFsLlxuIgorIiAgICBcbiIKKyIgICAgQXogZmMgc2Vnw610c8OpZ8OpdmVsIGxlaGV0IGtvcsOhYmJpIHBhcmFuY3Nva2F0IGtpw61ybmksIG3Ds2Rvc8OtdGFuaSDDqXMgw7pqLVxuIgorIiAgICBiw7NsIHbDqWdyZWhhanRhbmkuXG4iCisiICAgIEVMU8WQIMOpcyBVVE9MU8OTIGxlaGV0bmVrIGVneSB0YXJ0b23DoW55dCBtZWdoYXTDoXJvesOzIHN6w6Ftb2ssIHZhZ3kgRUxTxZBcbiIKKyIgICAgbGVoZXQgZWd5IGthcmFrdGVybMOhbmMsIGFtZWx5IGF6IHV0b2xzw7Mgw61neSBrZXpkxZFkxZEgcGFyYW5jc290IGplbMO2bGkuXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1lIEVOQU1FIHN6ZXJrZXN6dMWRIGtpdsOhbGFzenTDoXNhLiBBeiBhbGFww6lydGVsbWV6ZXR0IGF6IEZDRURJVCxcbiIKKyIgICAgICAgbWFqZCBFRElUT1IsIHbDqWfDvGwgYSB2aVxuIgorIiAgICAgIC1sICAgICAgIHN6ZXJrZXN6dMOpcyBoZWx5ZXR0IGEgc29yb2sgbGlzdMOhesOhc2FcbiIKKyIgICAgICAtbiAgICAgICBzb3JvayBzesOhbcOhbmFrIGVsaGFnecOhc2EgbGlzdMOhesOhc2tvclxuIgorIiAgICAgIC1yICAgICAgIHNvcnJlbmQgbWVnY3NlcsOpbMOpc2UgKGxlZ8O6amFiYmFra2FsIGtlemRpIGEgbGlzdMOhesOhc3QpXG4iCisiICAgIFxuIgorIiAgICBBeiDigJ5mYyAtcyBbbWludGE9Y3NlcmVdIFtwYXJhbmNzXeKAnSBmb3Jtw6F2YWwgUEFSQU5DUy4uLiDDumpiw7NsIHbDqWdyZWhhai1cbiIKKyIgICAgdMOhc3JhIGtlcsO8bCBtaXV0w6FuIGEgcsOpZ2k9w7pqIGJlaGVseWV0dGVzw610w6lzIG1lZ3TDtnJ0w6ludC5cbiIKKyIgICAgXG4iCisiICAgIEhhc3pub3MgbGVoZXQgYXog4oCeYWxpYXMgcj0nZmMgLXMn4oCdIGhhc3puw6FsYXRhLCBtaXZlbCDDrWd5IHBsLiBheiDigJ5yIGNj4oCdXG4iCisiICAgIHBhcmFuY3MgdsOpZ3JlaGFqdGphIGF6IHV0b2xzw7Mg4oCeY2PigJ0tdmVsIGtlemTFkWTFkSBwYXJhbmNzb3QsIG3DrWcg4oCecuKAnSBtZWctXG4iCisiICAgIGlzbcOpdGxpIGF6IHV0b2xzw7MgcGFyYW5jc290LlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBTaWtlcnQgdmFneSBhIHbDqWdyZWhhanRvdHQgcGFyYW5jcyBraWzDqXDDqXNpIGvDs2Rqw6F0IGFkamE7IG51bGzDoXTDs2wgZWwtXG4iCisiICAgIHTDqXLFkXQgaGliYSBlc2V0w6luLiIKIAotIzogYnVpbHRpbnMuYzo3MzgKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjc0MwogbXNnaWQgIiIKICJNb3ZlIGpvYiB0byB0aGUgZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0yODEzLDEwICszMTczLDE3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBTdGF0dXMgb2YgY29tbWFuZCBwbGFjZWQgaW4gZm9yZWdyb3VuZCwgb3IgZmFpbHVyZSBpZiBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0iQSBtdW5rYV9mb2x5YW1hdC1vdCBheiBlbPV06XJiZSBoZWx5ZXppIOlzIGplbGVubGVnaSBmb2x5YW1hdG90IGNzaW7hbCAiCi0iYmVs9WxlLiIKKyJBIG11bmthIGVsxZF0w6lyYmUgaG96w6FzYS5cbiIKKyIgICAgXG4iCisiICAgIEEgTVVOS0FTWsOBTSDDoWx0YWwgbWVnaGF0w6Fyb3pvdHQgbXVua8OhdCBheiBlbMWRdMOpcmJlIGhvenphLCBheiBha3R1w6FsaXNcbiIKKyIgICAgbXVua8OhdsOhIHTDqXZlIGF6dC4gSGEgbmluY3MgTVVOS0FTWsOBTSwgYSBwYXJhbmNzw6lydGVsbWV6xZEgw6FsdGFsIG1lZy1cbiIKKyIgICAgamVneXpldHQgYWt0dcOhbGlzIG11bmvDoXJhIHZvbmF0a296aWsgYSBwYXJhbmNzLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBBeiBlbMWRdMOpcmJlIGhvem90dCBwYXJhbmNzIMOhbGxhcG90YSAoYW5uYWsga2lsw6lww6lzZWtvciksIHZhZ3kgbmVtbnVsbGFcbiIKKyIgICAgaGliYSBlc2V0w6luLiIKIAotIzogYnVpbHRpbnMuYzo3NTMKKyM6IGJ1aWx0aW5zLmM6NzU4CiBtc2dpZCAiIgogIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0yODI5LDggKzMxOTYsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgorIk11bmvDoWsgaMOhdHTDqXJiZSBrw7xsZMOpc2UuXG4iCisiICAgIFxuIgorIiAgICBBIE1VTktBU1rDgU0gw6FsdGFsIG1lZ2hhdMOhcm96b3R0IG11bmvDoWthdCBow6F0dMOpcmJlIGvDvGxkaSwgbWludGhhIOKAnibigJ1cbiIKKyIgICAgamVsbGVsIGEgcGFyYW5jcyB2w6lnw6luIGxldHRlayB2b2xuYSBpbmTDrXR2YS4gSGEgbmluY3MgTVVOS0FTWsOBTSwgYSBwYS1cbiIKKyIgICAgcmFuY3PDqXJ0ZWxtZXrFkSDDoWx0YWwgbWVnamVneXpldHQgYWt0dcOhbGlzIG11bmvDoXJhIHZvbmF0a296aWsgYSBwYXJhbmNzLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBTaWtlcnJlbCB0w6lyIHZpc3N6YSwga2l2w6l2ZSBoYSBhIG11bmtha2V6ZWzDqXMgbGUgdmFuIHRpbHR2YSwgdmFneSBoaS1cbiIKKyIgICAgYmEgdMO2cnTDqW50LiIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjg1Myw4ICszMjI5LDI3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgorIlByb2dyYW1vayBoZWx5w6luZWsgbWVnamVneXrDqXNlIHZhZ3kgbWVnamVsZW7DrXTDqXNlLlxuIgorIiAgICBcbiIKKyIgICAgTWVnaGF0w6Fyb3p6YSB2YWd5IG1lZ2plZ3l6aSBhIHRlbGplcyDDunR2b25hbMOhdCBtaW5kZW4gbWVnYWRvdHQgTsOJVlxuIgorIiAgICBwYXJhbmNzbmFrLiBIYSBuaW5jcyBOw4lWIG1lZ2FkdmEsIGF6IMO2c3N6ZXMgbWVnamVneXpldHQgcGFyYW5jc290IGxpcy1cbiIKKyIgICAgdMOhenphLlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAtZCAgICAgICAgICAgICAgIG1pbmRlbiBtZWdqZWd5emV0dCBOw4lWIGhlbHnDqW5layBlbGZlbGVqdMOpc2VcbiIKKyIgICAgICAtbCAgICAgICAgICAgICAgIGJlbWVuZXRrw6ludCDDumpyYWhhc3puw6FsaGF0w7MgZm9ybcOhdHVtYmFuIGxpc3TDoXp6b25cbiIKKyIgICAgICAtcCDDunR2b25hbCAgICAgICDDmlRWT05BTCBoYXN6bsOhbGF0YSBOw4lWIGhlbHlla8OpbnRcbiIKKyIgICAgICAtciAgICAgICAgICAgICAgIG1pbmRlbiBtZWdqZWd5emV0dCBoZWx5IGVsZmVsZWp0w6lzZVxuIgorIiAgICAgIC10ICAgICAgICAgICAgICAgbWluZGVuIG1lZ2Fkb3R0IE7DiVYgbWVnamVneXpldHQgaGVsecOpbmVrIGtpw61yw6FzYSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIHTDtmJiIG7DqXYgZXNldMOpbiBhIGhlbHllayBlbMWRdHQgYSBOw4lWIGtpw61yw6FzYVxuIgorIiAgICBBcmd1bWVudHVtb2s6XG4iCisiICAgICAgTsOJViAgICAgIE1pbmRlbiBORVYtZXQgbWVna2VyZXMgYSAkUEFUSC1iYW4sIMOpcyBob3p6w6FhZGphIGEgbWVnamVneS1cbiIKKyIgICAgICAgICAgICAgICB6ZXR0ZWsgbGlzdMOhasOhaG96LiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBTaWtlcnJlbCB0w6lyIHZpc3N6YSwga2l2w6l2ZSwgaGEgTsOJViBuZW0gdGFsw6FsaGF0w7MgdmFneSDDqXJ2w6lueXRlbGVuIGthcC1cbiIKKyIgICAgY3NvbMOzdCBrYXAuIgogCi0jOiBidWlsdGlucy5jOjc5MgorIzogYnVpbHRpbnMuYzo3OTcKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTI4NzUsOCArMzI3MCwyNCBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIFBBVFRFUk4gaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKICJnaXZlbi4iCiBtc2dzdHIgIiIKKyJUw6Fqw6lrb3p0YXTDoXMgbWVnamVsZW7DrXTDqXNlIGJlw6lww610ZXR0IHBhcmFuY3Nva3LDs2wuXG4iCisiICAgIFxuIgorIiAgICBSw7Z2aWQgbGXDrXLDoXNva2F0IGplbGVuw610IG1lZyBhIGJlw6lww610ZXR0IHBhcmFuY3Nva3LDs2wuIEhhIE1JTlRBIG1lZ1xuIgorIiAgICB2YW4gYWR2YSwgcsOpc3psZXRlcyBzZWfDrXRzw6lnZXQgYWQgYXogw7Zzc3plcyBpbGxlc3prZWTFkSBwYXJhbmNzcsOzbCwga8O8LVxuIgorIiAgICBsw7ZuYmVuIGEgdMOpbcOha2F0IGxpc3TDoXp6YS5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLWQgICAgICAgbWluZGVuIHTDqW3DoXLDs2wgcsO2dmlkIGxlw61yw6FzIGxpc3TDoXrDoXNhXG4iCisiICAgICAgLW0gICAgICAgbWFuLXN6ZXLFsSBmb3Jtw6F0dW0gaGFzem7DoWxhdGFcbiIKKyIgICAgICAtcyAgICAgICBjc2FrIHLDtnZpZCBoYXN6bsOhbGF0aSDDunRtdXRhdMOzIGtpw61yw6FzYSBtaW5kZW4gdGFsw6FsYXRob3pcbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50dW1vazpcbiIKKyIgICAgICBNSU5UQSAgICBUw6ltYWvDtnJ0IG1lZ2hhdMOhcm96w7MgbWludGFcbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGtpdsOpdmUgaGEgbmluY3MgdGFsw6FsYXQgdmFneSBoaWLDoXMga2FwY3NvbMOzdCBrYXAuIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMjkwOSw4ICszMzIwLDM3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJNZWdqZWxlbsOtdGkgdmFneSBtw7Nkb3PDrXRqYSBheiBlbMWRem3DqW55ZWtldC5cbiIKKyIgICAgXG4iCisiICAgIE1lZ2plbGVuw610aSBheiBlbMWRem3DqW55bGlzdMOhdCBzb3JzesOhbW9ra2FsLCBtaW5kZW4gbcOzZG9zw610b3R0IGJlamVneS1cbiIKKyIgICAgesOpc3QgYXogZWxlasOpbiDigJ4q4oCdLWdhbCBtZWdqZWzDtmx2ZS4gTiBtZWdhZMOhc2EgZXNldMOpbiBheiB1dG9sc8OzIE4gYmUtXG4iCisiICAgIGplZ3l6w6lzdCBsaXN0w6F6emEuXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1jICAgICAgIG1pbmRlbiBlbMWRem3DqW55IHTDtnJsw6lzZVxuIgorIiAgICAgIC1kIHN6w6FtICBhIFNaw4FNIHN6w6Ftw7ogYmVqZWd5esOpcyB0w7ZybMOpc2VcbiIKKyIgICAgICAtYSAgICAgICBhIGZ1dMOzIG11bmthbWVuZXQgZWzFkXptw6lueWVpbmVrIGvDtnpwb250aSBmw6FqbGJhIMOtcsOhc2FcbiIKKyIgICAgICAtbiAgICAgICBtaW5kZW4gb2x2YXNhdGxhbiBlbMWRem3DqW55c29yIGtpw61yw6FzYSBheiBlbMWRem3DqW55ZsOhamxiw7NsXG4iCisiICAgICAgLXIgICAgICAgZWzFkXptw6lueWbDoWpsIGJlb2x2YXPDoXNhIMOpcyBlbMWRem3DqW55bGlzdMOhaG96IMOtcsOhc2FcbiIKKyIgICAgICAtdyAgICAgICBheiBha3R1w6FsaXMgZWzFkXptw6lueWVrIGVsxZF6bcOpbnlmw6FqbGJhIMOtcsOhc2Egw6lzIGVsxZF6bcOpbnktXG4iCisiICAgICAgIGxpc3TDoWhveiDDrXLDoXNhXG4iCisiICAgIFxuIgorIiAgICAgIC1wICAgICAgIGVsxZF6bcOpbnlraWVnw6lzesOtdMOpcyB2w6lncmVoYWp0w6FzYSBtaW5kZW4gQVJHdW1lbnR1bW9uIMOpcyBhelxuIgorIiAgICAgICBlcmVkbcOpbnkga2nDrXLDoXNhIGVsxZF6bcOpbnlsaXN0w6FuIHZhbMOzIHTDoXJvbMOhcyBuw6lsa8O8bFxuIgorIiAgICAgIC1zICAgICAgIEFSR3VtZW50dW1vayBob3p6w6HDrXLDoXNhIGVneWV0bGVuIGJlamVneXrDqXNrw6ludCBhIGxpc3TDoWhvelxuIgorIiAgICBcbiIKKyIgICAgSGEgRsOBSkxOw4lWIGlzIG1lZyB2YW4gYWR2YSwgYXogbGVzeiBlbMWRem3DqW55ZsOhamxrw6ludCBoYXN6bsOhbHZhLiBLw7xsw7ZuLVxuIgorIiAgICBiZW4gJEhJU1RGSUxFIMOpcnTDqWtlLCB2YWd5IGVubmVrIGjDrWrDoW4gfi8uYmFzaF9oaXN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgSGEgYSAkSElTVFRJTUVGT1JNQVQgdsOhbHRvesOzIGJlIHZhbiDDoWxsw610dmEsIMOpcyBuZW0gw7xyZXMsIGFra29yIMOpcnTDqWtlXG4iCisiICAgIGxlc3ogaGFzem7DoWx2YSBheiBzdHJmdGltZSgzKSBmb3Jtw6F0dW1wYXJhbcOpdGVyZWvDqW50IGEga2lqZWx6ZXR0IGJlLVxuIgorIiAgICBqZWd5esOpc2VrIGlkxZFiw6lseWVnZWluZWsgbWVnamVsZW7DrXTDqXPDqWhlei4gS8O8bMO2bmJlbiBuZW0gw61yIGtpIGlkxZF0LlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBTaWtlcnJlbCB0w6lyIHZpc3N6YSwga2l2w6l2ZSBoYSDDqXJ2w6lueXRlbGVuIGthcGNzb2zDs3Qga2FwLCB2YWd5IGhpYmFcbiIKKyIgICAgdMO2cnTDqW5pay4iCiAKLSM6IGJ1aWx0aW5zLmM6ODUyCisjOiBidWlsdGlucy5jOjg1NwogbXNnaWQgIiIKICJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgogIiAgICBcbiIKQEAgLTI5MzMsOCArMzM3MywyOCBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy5cbiIKICIgICAgSWYgLXggaXMgdXNlZCwgcmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKKyJNdW5rw6FrIMOhbGxhcG90w6FuYWsgbWVnamVsZW7DrXTDqXNlLlxuIgorIiAgICBcbiIKKyIgICAgTGlzdMOheiBtaW5kZW4gYWt0w612IG11bmvDoXQuIE1VTktBU1rDgU0gbWVnYWTDoXNhIGVzZXTDqW4gY3NhayBheiBhZG90dFxuIgorIiAgICBtdW5rYSBqZWxlbmlrIG1lZywga8O8bMO2bmJlbiBheiDDtnNzemVzIGFrdMOtdi5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLWwgICAgICAgZm9seWFtYXRhem9ub3PDrXTDs2sgbWVnamVsZW7DrXTDqXNlIGEgdMO2YmJpIGFkYXRvbiB0w7psXG4iCisiICAgICAgLW4gICAgICAgY3NhayBhem9uIGZvbHlhbWF0b2sgbGlzdMOhesOhc2EsIGFtZWx5ZWsgw6FsbGFwb3RhIHbDoWx0b3pvdHRcbiIKKyIgICAgICAgICAgICAgICBheiB1dG9sc8OzIMOpcnRlc8OtdMOpcyDDs3RhXG4iCisiICAgICAgLXAgICAgICAgY3NhayBmb2x5YW1hdGF6b25vc8OtdMOzayBsaXN0w6F6w6FzYVxuIgorIiAgICAgIC1yICAgICAgIGNzYWsgYSBmdXTDsyBtdW5rw6FrIG1lZ2plbGVuw610w6lzZVxuIgorIiAgICAgIC1zICAgICAgIGNzYWsgYSBtZWfDoWxsw610b3R0IG11bmvDoWsgbWVnamVsZW7DrXTDqXNlXG4iCisiICAgIFxuIgorIiAgICBIYSAteCBtZWcgdmFuIGFkdmEsIFBBUkFOQ1Mga2Vyw7xsIGZ1dHRhdMOhc3JhIMO6Z3ksIGhvZ3kgbWluZGVuIGFyZ3VtZW4tXG4iCisiICAgIHR1bSBhIG1lZ2hhdMOhcm96b3R0IG11bmvDoWhveiB0YXJ0b3rDsyBmb2x5YW1hdGNzb3BvcnQgdmV6ZXTFkWrDqW5layBQSUQtXG4iCisiICAgIGrDqXJlIGNzZXLDqWzFkWRpay5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGhhIG5lbSBrYXAgw6lydsOpbnl0ZWxlbiBrYXBjc29sw7N0IMOpcyBuZW0gdMO2cnTDqW5pa1xuIgorIiAgICBoaWJhLiAteCBoYXN6bsOhbGF0YSBlc2V0w6luIFBBUkFOQ1Mga2lsw6lww6lzaSBrw7NkasOhdmFsIHTDqXIgdmlzc3phLiIKIAotIzogYnVpbHRpbnMuYzo4NzkKKyM6IGJ1aWx0aW5zLmM6ODg0CiBtc2dpZCAiIgogIlJlbW92ZSBqb2JzIGZyb20gY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0yOTUwLDggKzM0MTAsMjMgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKKyJNdW5rw6FrIGVsdMOhdm9sw610w6FzYSBheiBha3R1w6FsaXMgcGFyYW5jc8OpcnRlbG1lesWRYsWRbC5cbiIKKyIgICAgXG4iCisiICAgIEVsdMOhdm9sw610IG1pbmRlbiBNVU5LQVNaw4FNIG11bmvDoXQgYXogYWt0w612IG11bmvDoWsgdMOhYmzDoWrDoWLDs2wuIE1VTktBLVxuIgorIiAgICBTWsOBTSBtZWdhZMOhc2EgbsOpbGvDvGwgYSBwYXJhbmNzw6lydGVsbWV6xZEgw6FsdGFsIG1lZ2plZ3l6ZXR0IGFrdHXDoWxpc1xuIgorIiAgICBtdW5rw6F0IHTDoXZvbMOtdGphIGVsLlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAtYSAgICAgICBtaW5kZW4gbXVua2EgZWx0w6F2b2zDrXTDoXNhLCBoYSBuaW5jcyBNVU5LQVNaw4FNIG1lZ2FkdmFcbiIKKyIgICAgICAtaCAgICAgICBtaW5kZW4gTVVOS0FTWsOBTSBtZWdqZWzDtmzDqXNlIMO6Z3ksIGhvZ3kgbmVtIGtlbGwgdG92w6FiYmFkbmlcbiIKKyIgICAgICAgbmVraWsgYSBwYXJhbmNzw6lydGVsbWV6xZEgw6FsdGFsIGthcG90dCBTSUdIVVAtb3RcbiIKKyIgICAgICAtciAgICAgICBjc2FrIGZ1dMOzIG11bmvDoWsgZWx0w6F2b2zDrXTDoXNhXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIHTDqXIgdmlzc3phLCBoYSBuZW0ga2FwIMOpcnbDqW55dGVsZW4ga2FwY3NvbMOzdCB2YWd5IE1VTktBU1rDgU0tXG4iCisiICAgIG90LiIKIAotIzogYnVpbHRpbnMuYzo4OTgKKyM6IGJ1aWx0aW5zLmM6OTAzCiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMjk3Miw4ICszNDQ3LDI4IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJTemlnbsOhbCBrw7xsZMOpc2UgbXVua8OhbmFrLlxuIgorIiAgICBcbiIKKyIgICAgUElEIHZhZ3kgTVVOS0FTWsOBTSDDoWx0YWwgbWVnaGF0w6Fyb3pvdHQgZm9seWFtYXRva25hayBTWklHTsOBTCB2YWd5XG4iCisiICAgIFNaSUdOw4FMU1rDgU0gc3ppZ27DoWwga8O8bGTDqXNlLiBIYSBzZW0gU1pJR07DgUwsIHNlbSBTWklHTsOBTFNaw4FNIG5pbmNzXG4iCisiICAgIG1lZ2FkdmEsIGFra29yIFNJR1RFUk0gYXogYWxhcMOpcnRlbG1lesOpcy5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLXMgc2lnICAgU0lHIGVneSBzemlnbsOhbG7DqXZcbiIKKyIgICAgICAtbiBzaWcgICBTSUcgZWd5IHN6aWduw6Fsc3rDoW1cbiIKKyIgICAgICAtbCAgICAgICBhIHN6aWduw6FsbmV2ZWsgbGlzdMOhesOhc2E7IGhhIGFyZ3VtZW50dW1vayBpcyBrw7Z2ZXRpaywgYWtrb3JcbiIKKyIgICAgICAgICAgICAgICBheiDDoWx0YWx1ayBtZWdoYXTDoXJvem90dCBzemlnbsOhbG9rIG5ldmVpIGtlcsO8bG5layBsaXN0w6F6w6FzcmFcbiIKKyIgICAgXG4iCisiICAgIEEga2lsbCBrw6l0IG9rYsOzbCBiZcOpcMOtdGV0dCBwYXJhbmNzOiDDrWd5IGxlaGV0xZF2w6kgdGVzemkgbXVua2FzesOhbW9rXG4iCisiICAgIGhhc3puw6FsYXTDoXQgUElEIGhlbHlldHQsIHRvdsOhYmLDoSBsZWhldHPDqWdlc3PDqSB2w6FsaWsgZm9seWFtYXRvayBraWzDtnbDqS1cbiIKKyIgICAgc2UsIGhhIGEgZm9seWFtYXRvayBzesOhbcOhbmFrIGtvcmzDoXRqYSBraW1lcsO8bHQuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIHTDqXIgdmlzc3phLCBoYSBuZW0ga2FwIMOpcnbDqW55dGVsZW4ga2FwY3NvbMOzdCDDqXMgbmVtIHTDtnJ0w6luaWtcbiIKKyIgICAgaGliYS4iCiAKLSM6IGJ1aWx0aW5zLmM6OTIxCisjOiBidWlsdGlucy5jOjkyNgorIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMDE1LDEwICszNTEwLDQ4IEBACiAiICAgIHJ1bGVzIGFib3ZlLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuLiIKKyIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKKyJBcml0bWV0aWthaSBraWZlamV6w6lzIGtpw6lydMOpa2Vsw6lzZS5cbiIKKyIgICAgXG4iCisiICAgIE1pbmRlbiBBUkd1bWVudHVtIGtpw6lydMOpa2Vsw6lzZSBhcml0bWV0aWthaSBraWZlamV6w6lza8OpbnQuIEEga2nDqXJ0w6lrZS1cbiIKKyIgICAgbMOpcyBmaXggc3rDqWxlc3PDqWfFsSBlZ8Opc3playBlc2V0w6luIHTDumxjc29yZHVsw6FzLWVsbGVuxZFyesOpcyBuw6lsa8O8bCB0w7ZydMOpLVxuIgorIiAgICBuaWssIGRlIGEgbnVsbMOhdmFsIHZhbMOzIG9zenTDoXMgaGliw6F0IG9rb3ouIEF6IGFsw6FiYmkgb3BlcsOhdG9yb2sgc29yb24tXG4iCisiICAgIGvDqW50IGF6b25vcyBwcmVjZWRlbmNpYXN6aW50ZW4gdmFubmFrLiBBIHByZWNlZGVuY2lhIGF6IGFsw6FiYmkgc29ycmVuZC1cbiIKKyIgICAgYmVuIGNzw7Zra2VuOlxuIgorIiAgICBcbiIKKyIgICAgICAgaWQrKywgaWQtLSAgICAgIHbDoWx0b3rDsyBwb3N0Zml4LW7DtnZlbMOpc2UsIC1jc8O2a2tlbnTDqXNlXG4iCisiICAgICAgICsraWQsIC0taWQgICAgICB2w6FsdG96w7MgcHJlZml4LW7DtnZlbMOpc2UsIC1jc8O2a2tlbnTDqXNlXG4iCisiICAgICAgIC0sICsgICAgICAgICAgICBtw61udXN6LCBwbHVzeiBlbMWRamVsXG4iCisiICAgICAgICEsIH4gICAgICAgICAgICBsb2dpa2FpIMOpcyBiaXRlbmvDqW50aSBuZWfDoWx0XG4iCisiICAgICAgICoqICAgICAgICAgICAgICBoYXR2w6FueW96w6FzXG4iCisiICAgICAgICosIC8sICUgICAgICAgICBzem9yesOhcywgb3N6dMOhcywgbWFyYWTDqWtcbiIKKyIgICAgICAgKywgLSAgICAgICAgICAgIMO2c3N6ZWFkw6FzLCBraXZvbsOhc1xuIgorIiAgICAgICA8PCwgPj4gICAgICAgICAgYml0ZW5rw6ludGkgZWx0b2zDoXMgYmFscmEsIGpvYmJcbiIKKyIgICAgICAgPD0sID49LCA8LCA+ICAgIMO2c3N6ZWhhc29ubMOtdMOhc1xuIgorIiAgICAgICA9PSwgIT0gICAgICAgICAgZWd5ZW5sxZFzw6lnLCBlZ3llbmzFkXRsZW5zw6lnXG4iCisiICAgICAgICYgICAgICAgICAgICAgICBiaXRlbmvDqW50aSDDiVNcbiIKKyIgICAgICAgXiAgICAgICAgICAgICAgIGJpdGVua8OpbnRpIGtpesOhcsOzIHZhZ3lcbiIKKyIgICAgICAgfCAgICAgICAgICAgICAgIGJpdGVua8OpbnRpIFZBR1lcbiIKKyIgICAgICAgJiYgICAgICAgICAgICAgIGxvZ2lrYWkgw4lTXG4iCisiICAgICAgIHx8ICAgICAgICAgICAgICBsb2dpa2FpIFZBR1lcbiIKKyIgICAgICAga2lmID8ga2lmIDoga2lmXG4iCisiICAgICAgICAgICAgICAgICAgICAgICBmZWx0w6l0ZWxlcyBvcGVyw6F0b3JcbiIKKyIgICAgICAgPSwgKj0sIC89LCAlPSxcbiIKKyIgICAgICAgKz0sIC09LCA8PD0sID4+PSxcbiIKKyIgICAgICAgJj0sIF49LCB8PSAgICAgIMOpcnTDqWthZMOhc1xuIgorIiAgICBcbiIKKyIgICAgUGFyYW5jc8OpcnRlbG1lesWRLXbDoWx0b3rDs2sgaXMgbGVoZXRuZWsgb3BlcmFuZHVzb2suIEEgdsOhbHRvesOzayBuZXbDqW5la1xuIgorIiAgICBoZWx5w6lyZSDDqXJ0w6lrw7xrIGtlcsO8bCAoZml4IHN6w6lsZXNzw6lnxbEgZWfDqXN6a8OpbnQpIGEga2lmZWplesOpc2Jlbi4gTmVtXG4iCisiICAgIGtlbGwgYSB2w6FsdG96w7NrIOKAnmludGVnZXLigJ0gamVsbGVtesWRasOpdCBiZcOhbGzDrXRhbmkgYSBoYXN6bsOhbGF0aG96LlxuIgorIiAgICBcbiIKKyIgICAgQXogb3BlcsOhdG9yb2sgYSBmZW50aSBwcmVjZWRlbmNpYSBzemVyaW50IGhhanTDs2RuYWsgdsOpZ3JlLiBBIHrDoXLDs2plbGVzXG4iCisiICAgIGtpZmVqZXrDqXNlayBwcmVjZWRlbmNpw6FqYSBhIGxlZ21hZ2FzYWJiIOKAkyBleiBmZWzDvGzDrXJqYSBhIHN6YWLDoWx5b2thdC5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgSGEgYXogdXRvbHPDsyBhcmd1bWVudHVtIDAsIGEgbGV0IDEtZ3llbCB0w6lyIHZpc3N6YSwga8O8bMO2bmJlbiAwLXZhbC4iCiAKLSM6IGJ1aWx0aW5zLmM6OTY2CisjOiBidWlsdGlucy5jOjk3MQogbXNnaWQgIiIKICJSZWFkIGEgbGluZSBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBhbmQgc3BsaXQgaXQgaW50byBmaWVsZHMuXG4iCiAiICAgIFxuIgpAQCAtMzA2NSw4ICszNTk4LDQzIEBACiAib3V0LFxuIgogIiAgICBvciBhbiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBpcyBzdXBwbGllZCBhcyB0aGUgYXJndW1lbnQgdG8gLXUuIgogbXNnc3RyICIiCisiQmVvbHZhcyBlZ3kgc29ydCBhIHN6YWJ2w6FueW9zIGJlbWVuZXRyxZFsIMOpcyBtZXrFkWtyZSBvc3p0amEuXG4iCisiICAgIFxuIgorIiAgICBFZ3kgc29ydCBvbHZhcyBiZSBhIHN6YWJ2w6FueW9zIGJlbWVuZXRyxZFsLCB2YWd5IGF6IEZEIGbDoWpsbGXDrXLDs2LDs2wsIGhhXG4iCisiICAgIG1lZyB2YW4gYWR2YSBhIC11IGthcGNzb2zDsy4gQSBzb3IgbWV6xZFrcmUgbGVzeiBvc3p0dmEgYSBzesOzZGFyYWJvbMOhc1xuIgorIiAgICBzemFiw6FseWFpIHN6ZXJpbnQuIEF6IGVsc8WRIHN6w7MgYXogZWzFkXMgTsOJViBuZXbFsSB2w6FsdG96w7Mgw6lydMOpa2UgbGVzeiwgYVxuIgorIiAgICBtw6Fzb2RpayBhIG3DoXNvZGlrw6kgc3RiLiBBIHN6w7NlbHbDoWxhc3p0w7Mga2FyYWt0ZXJla2V0IGF6ICRJRlMgYWRqYS5cbiIKKyIgICAgXG4iCisiICAgIEhhIG5pbmNzIE7DiVYgbWVnYWR2YSwgYSBiZW9sdmFzb3R0IHNvciBhICRSRVBMWSB2w6FsdG96w7NiYSBrZXLDvGwuXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1hIHTDtm1iICAgIGEgYmVvbHZhc290dCBzemF2YWsgVMOWTUIgdMO2bWIgMC10w7NsIGtlemR2ZSBlZ3ltw6FzdCBrw7Z2ZXTFkVxuIgorIiAgICAgICAgICAgICAgICAgaW5kZXjFsSBlbGVtZWliZSBrZXLDvGxuZWtcbiIKKyIgICAgICAtZCBlbHbDoWwgICBFTFbDgUwgZWxzxZEga2FyYWt0ZXLDqWlnIG9sdmFzc29uIGF6IMO6anNvciBoZWx5ZXR0XG4iCisiICAgICAgLWUgICAgICAgICBhIHNvciBiZW9sdmFzw6FzYSBSZWFkbGluZSBoYXN6bsOhbGF0w6F2YWwgaW50ZXJha3TDrXZhblxuIgorIiAgICAgIC1pIHN6w7Z2ZWcgIFNaw5ZWRUcgaGFzem7DoWxhdGEga2V6ZGV0aSBzesO2dmVna8OpbnQgKFJlYWRsaW5laG96KVxuIgorIiAgICAgIC1uIHN6w6FtICAgIFNaw4FNIGthcmFrdGVyIGJlb2x2YXPDoXNhIHV0w6FuIHTDqXJqZW4gdmlzc3phLCBuZSB2w6Fyam9uIGVneVxuIgorIiAgICAgICAgICAgICAgICAgw7pqc29ycmEsIGRlIHZlZ3llIGZpZ3llbGVtYmUgYXogZWx2w6FsYXN6dMOzdCwgaGEga2V2ZXNlYmJcbiIKKyIgICAgICAgICAgICAgICAgIG1pbnQgU1rDgU0ga2FyYWt0ZXJ0IG9sdmFzb3R0IGJlIGF6IGVsdsOhbGFzenTDs2lnXG4iCisiICAgICAgLU4gc3rDoW0gICAgcG9udG9zYW4gYWtrb3IgdMOpcmplbiB2aXNzemEsIGhhIFNaw4FNIGthcmFrdGVydCBvbHZhLVxuIgorIiAgICAgICAgICAgICAgICAgc290dCBiZSwga2l2w6l2ZSBheiBFT0YgZWzDqXLDqXPDqXQgw6lzIGF6IGlkxZF0w7psbMOpcMOpc3QsIGF6IGVsLVxuIgorIiAgICAgICAgICAgICAgICAgdsOhbGFzenTDsyBmaWd5ZWxtZW4ga8OtdsO8bCBoYWd5dmFcbiIKKyIgICAgICAtcCBwcm9tcHQgIMOtcmphIGtpIGEgUFJPTVBUIMOpcnTDqWvDqXQgb2x2YXPDoXMgZWzFkXR0IGEgc29yIGVsZWrDqXJlXG4iCisiICAgICAgLXIgICAgICAgICB0aWx0c2EgbGUgYSDigJ5cXOKAnSBrZXpkZXTFsSBlc2NhcGUtZWsgaGFzem7DoWxhdMOhdFxuIgorIiAgICAgIC1zICAgICAgICAgdGVybWluw6FscsOzbCDDqXJrZXrFkSBiZW1lbmV0IG5lIHZpc3N6aGFuZ296em9uXG4iCisiICAgICAgLXQgaWTFkSAgICAgSUTFkCBsZXRlbHTDqXZlbCBqZWxlenplbiBoaWLDoXQsIGhhIG5lbSB0dWRvdHQgZWd5IHRlbGplc1xuIgorIiAgICAgICAgICAgICAgICAgc29ydCBiZW9sdmFzbmkuIEEgJFRNT1VUIHbDoWx0b3rDsyDDqXJ0w6lrZSBheiBhbGFww6lydGVsbWV6ZXR0XG4iCisiICAgICAgICAgICAgICAgICBpZMWRa29ybMOhdC4gSUTFkCBsZWhldCB0aXplZGVzdMO2cnQgaXMuIEhhIGlkxZEgMCwgY3NhayBha2tvclxuIgorIiAgICAgICAgICAgICAgICAgbGVzeiBzaWtlcmVzIGEgYmVvbHZhc8OhcywgaGEgYXogYWRvdHQgZsOhamxsZcOtcsOzbiBtw6FyIG9sLVxuIgorIiAgICAgICAgICAgICAgICAgdmFzaGF0w7MgYSBiZW1lbmV0LiBJZMWRdMO6bGzDqXDDqXMgZXNldMOpbiBhIGtpbMOpcMOpc2kga8OzZCA+MTI4XG4iCisiICAgICAgLXUgZmQgICAgICBmw6FqbCBiZW9sdmFzw6FzYSBGRC4gZsOhamxsZcOtcsOzYsOzbCBhIHN6YWJ2w6FueW9zIGJlbWVuZXQgaGUtXG4iCisiICAgICAgICAgICAgICAgICBseWV0dFxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBBIGtpbMOpcMOpc2kga8OzZCBudWxsYSwga2l2w6l2ZSBoYSBFT0Ytb3Qgw6lyIGEgYmVvbHZhc8OhcywgaWTFkXTDumxsw6lww6lza29yXG4iCisiICAgIHZhZ3kgw6lydsOpbnl0ZWxlbiBmw6FqbGxlw61yw7MgbWVnYWTDoXNha29yLiIKIAotIzogYnVpbHRpbnMuYzoxMDA5CisjOiBidWlsdGlucy5jOjEwMTQKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMDc3LDggKzM2NDUsMTggQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiBtc2dzdHIgIiIKKyJWaXNzemF0w6lyIGVneSBmw7xnZ3bDqW55YsWRbC5cbiIKKyIgICAgXG4iCisiICAgIEVneSBmw7xnZ3bDqW55IHZhZ3kgZWd5IOKAnnNvdXJjZeKAnS1vbHQgcGFyYW5jc2bDoWpsIGFkb3R0IE4ga2lsw6lww6lzaSBrw7NkZGFsXG4iCisiICAgIHZhbMOzIHZpc3N6YXTDqXLDqXPDqXQgb2tvenphLiBIYSBOIG5pbmNzIG1lZ2FkdmEsIGF6IHV0b2xzw7MgcGFyYW5jcyBraWzDqS1cbiIKKyIgICAgcMOpc2kga8OzZGrDoXZhbCB0w6lyIHZpc3N6YS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgTi1uZWwgdMOpciB2aXNzemEsIGtpdsOpdmUgaGEgbmVtIGbDvGdndsOpbnlixZFsIHZhZ3kgcGFyYW5jc2bDoWpsYsOzbCBha2FyXG4iCisiICAgIHZpc3N6YXTDqXJuaSDigJMgZWtrb3Igc2lrZXJ0ZWxlbnPDqWdldCBqZWxlei4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CisjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMTQ3LDYgKzM3MjUsOSBAQAogIiAgICAgIC1QICBJZiBzZXQsIGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3Mgd2hlbiBleGVjdXRpbmcgY29tbWFuZHNcbiIKICIgICAgICAgICAgc3VjaCBhcyBjZCB3aGljaCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgogIiAgICAgIC1UICBJZiBzZXQsIHRoZSBERUJVRyB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLS0gIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgorIiAgICAgICAgICBJZiB0aGVyZSBhcmUgbm8gcmVtYWluaW5nIGFyZ3VtZW50cywgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICAgICAgICBhcmUgdW5zZXQuXG4iCiAiICAgICAgLSAgIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICAgICAgICBUaGUgLXggYW5kIC12IG9wdGlvbnMgYXJlIHR1cm5lZCBvZmYuXG4iCiAiICAgIFxuIgpAQCAtMzE1OSw4ICszNzQwLDg1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgorIlBhcmFuY3PDqXJ0ZWxtZXrFkS1iZcOhbGzDrXTDoXNvayDDqXMgcG96aWNpb27DoWxpcyBwYXJhbcOpdGVyZWsgw6FsbMOtdMOhc2EsIHTDtnJsw6lzZS5cbiIKKyIgICAgXG4iCisiICAgIFBhcmFuY3PDqXJ0ZWxtZXrFkS1qZWxsZW16xZFrIMOpcyBwb3ppY2lvbsOhbGlzIHBhcmFtw6l0ZXJlayDDqXJ0w6lrZWluZWsgbcOzLVxuIgorIiAgICBkb3PDrXTDoXNhLCBwYXJhbmNzw6lydGVsbWV6xZEtdsOhbHRvesOzayBuZXZlaW5layDDqXMgw6lydMOpa2VpbmVrIGtpw61yw6FzYS5cbiIKKyIgICAgZGlzcGxheSB0aGUgbmFtZXMgYW5kIHZhbHVlcyBvZiBzaGVsbCB2YXJpYWJsZXMuXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1hICBBIG3Ds2Rvc8OtdG90dCB2YWd5IGzDqXRyZWhvem90dCB2w6FsdG96w7MgZXhwb3J0w6Fsw6FzcmEgamVsw7Zsw6lzZVxuIgorIiAgICAgIC1iICBNdW5rYSBiZWZlamV6w6lzw6lyxZFsIGF6b25uYWxpIMOpcnRlc8OtdMOpc1xuIgorIiAgICAgIC1lICBBem9ubmFsaSBraWzDqXDDqXMsIGhhIGVneSBwYXJhbmNzIG5lbSBudWxsw6F2YWwgbMOpcCBraVxuIgorIiAgICAgIC1mICBGw6FqbG7DqXYtZ2VuZXLDoWzDoXMgKGdsb2JiaW5nKSB0aWx0w6FzYVxuIgorIiAgICAgIC1oICBQYXJhbmNzb2sgaGVsecOpbmVrIG1lZ2plZ3l6w6lzZSBoYXN6bsOhbGF0a29yXG4iCisiICAgICAgLWsgIE1pbmRlbiDDqXJ0w6lrYWTDsyBhcmd1bWVudHVtIGEgcGFyYW5jcyBrw7ZybnllemV0w6liZSBrZXLDvGwsIG5lbVxuIgorIiAgICAgICAgICBjc2FrIGEgcGFyYW5jc290IG1lZ2VsxZF6xZFrXG4iCisiICAgICAgLW0gIE11bmtha2V6ZWzDqXMgZW5nZWTDqWx5ZXrDqXNlXG4iCisiICAgICAgLW4gIFBhcmFuY3NvayBiZW9sdmFzw6FzYSB2w6lncmVoYWp0w6FzIG7DqWxrw7xsXG4iCisiICAgICAgLW8ga2FwY3NvbMOzbsOpdlxuIgorIiAgICAgICAgICBLYXBjc29sw7Nuw6l2IHN6ZXJpbnRpIHbDoWx0b3rDs8OhbGzDrXTDoXM6XG4iCisiICAgICAgICAgICAgICBhbGxleHBvcnQgICAgbWludCAtYVxuIgorIiAgICAgICAgICAgICAgYnJhY2VleHBhbmQgIG1pbnQgLUJcbiIKKyIgICAgICAgICAgICAgIGVtYWNzICAgICAgICBlbWFjcy1zemVyxbEgc29yc3plcmtlc3p0w6lzXG4iCisiICAgICAgICAgICAgICBlcnJleGl0ICAgICAgbWludCAtZVxuIgorIiAgICAgICAgICAgICAgZXJydHJhY2UgICAgIG1pbnQgLUVcbiIKKyIgICAgICAgICAgICAgIGZ1bmN0cmFjZSAgICBtaW50IC1UXG4iCisiICAgICAgICAgICAgICBoYXNoYWxsICAgICAgbWludCAtaFxuIgorIiAgICAgICAgICAgICAgaGlzdGV4cGFuZCAgIG1pbnQgLUhcbiIKKyIgICAgICAgICAgICAgIGhpc3RvcnkgICAgICBlbMWRem3DqW55ZWsgdMOhcm9sw6Fzw6FuYWsgZW5nZWTDqWx5ZXrDqXNlXG4iCisiICAgICAgICAgICAgICBpZ25vcmVlb2YgICAgRU9GIGVzZXTDqW4gbmVtIGzDqXAga2kgYSBwYXJhbmNzw6lydGVsbWV6xZFcbiIKKyIgICAgICAgICAgICAgIGludGVyYWN0aXZlLWNvbW1lbnRzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ZXJha3TDrXYgcGFyYW5jc29rYmFuIGlzIGxlaGV0bmVrIG1lZ2plZ3l6w6lzZWtcbiIKKyIgICAgICAgICAgICAgIGtleXdvcmQgICAgICBtaW50IC1rXG4iCisiICAgICAgICAgICAgICBtb25pdG9yICAgICAgbWludCAtbVxuIgorIiAgICAgICAgICAgICAgbm9jbG9iYmVyICAgIG1pbnQgLUNcbiIKKyIgICAgICAgICAgICAgIG5vZXhlYyAgICAgICBtaW50IC1uXG4iCisiICAgICAgICAgICAgICBub2dsb2IgICAgICAgbWludCAtZlxuIgorIiAgICAgICAgICAgICAgbm9sb2cgICAgICAgIChqZWxlbmxlZyBuaW5jcyBoYXTDoXNhKVxuIgorIiAgICAgICAgICAgICAgbm90aWZ5ICAgICAgIG1pbnQgLWJcbiIKKyIgICAgICAgICAgICAgIG5vdW5zZXQgICAgICBtaW50IC11XG4iCisiICAgICAgICAgICAgICBvbmVjbWQgICAgICAgbWludCAtdFxuIgorIiAgICAgICAgICAgICAgcGh5c2ljYWwgICAgIG1pbnQgLVBcbiIKKyIgICAgICAgICAgICAgIHBpcGVmYWlsICAgICBlZ3kgY3PFkXZlemV0w6lrLXBhcmFuY3Mga2lsw6lww6lzaSBrw7NkamEgYXogdXRvbHPDs1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lbSBudWxsw6F2YWwga2lsw6lwZXR0IHBhcmFuY3Mga2lsw6lww6lzaSBrw7NkamEsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFneSAwLCBoYSBuZW0gdm9sdCBpbHllblxuIgorIiAgICAgICAgICAgICAgcG9zaXggICAgICAgIGEgYmFzaCB2aXNlbGtlZMOpc8OpbmVrIG1lZ3bDoWx0b3p0YXTDoXNhLCBoYSBhelxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsYXDDqXJ0ZWxtZXpldHQgbmVtIGZlbGVsIG1lZyBhIFBvc2l4XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgc3phYnbDoW55bmFrXG4iCisiICAgICAgICAgICAgICBwcml2aWxlZ2VkICAgbWludCAtcFxuIgorIiAgICAgICAgICAgICAgdmVyYm9zZSAgICAgIG1pbnQgLXZcbiIKKyIgICAgICAgICAgICAgIHZpICAgICAgICAgICB2aS1zemVyxbEgc29yc3plcmtlc3p0w6lzXG4iCisiICAgICAgICAgICAgICB4dHJhY2UgICAgICAgbWludCAteFxuIgorIiAgICAgIC1wICBNaW5kaWcgYmUgdmFuIGthcGNzb2x2YSwgaGEgYSB2YWzDs3Mgw6lzIGVmZmVrdMOtdiBmZWxoYXN6bsOhbMOzIG5lbVxuIgorIiAgICAgICAgICBlZ3llemlrLiBMZXRpbHRqYSBheiAkRU5WIGbDoWpsIMOpcnRlbG1lesOpc8OpdCDDqXMgYSBwYXJhbmNzw6lydGVsbWUtXG4iCisiICAgICAgICAgIHrFkS1mw7xnZ3bDqW55ZWsgYmV0w7ZsdMOpc8OpdC4gQSBrYXBjc29sw7Mga2lrYXBjc29sw6FzYSBheiBlZmZla3TDrXZcbiIKKyIgICAgICAgICAgdWlkIMOpcyBnaWQgdmFsw7NzcmEgw6FsbMOtdMOhc8OhdCBva296emFcbiIKKyIgICAgICAtdCAgRWd5ZXRsZW4gcGFyYW5jcyBiZW9sdmFzw6FzYSDDqXMgdsOpZ3JlaGFqdMOhcyB1dMOhbiBraWzDqXDDqXNcbiIKKyIgICAgICAtdSAgTmVtIGzDqXRlesWRIHbDoWx0b3rDs2sgYmVoZWx5ZXR0ZXPDrXTDqXNlIGxlZ3llbiBoaWJhXG4iCisiICAgICAgLXYgIEJlb2x2YXNvdHQgcGFyYW5jc29rIGtpw61yw6FzYSBvbHZhc8Ohc2tvciAow6lydGVsbWV6w6lzIGVsxZF0dCkuXG4iCisiICAgICAgLXggIFBhcmFuY3NvayBracOtcsOhc2EgdsOpZ3JlaGFqdMOhc2tvciAow6lydGVsbWV6w6lzIHV0w6FuKS5cbiIKKyIgICAgICAtQiAgU3rDtmdsZXRlc3rDoXLDs2plbC1raWVnw6lzesOtdMOpcyB2w6lncmVoYWp0w6FzYVxuIgorIiAgICAgIC1DICBMw6l0ZXrFkSBub3Jtw6FsIGbDoWpsb2sgZmVsw7xsw61yw6Fzw6FuYWsgdGlsdMOhc2Ega2ltZW5ldMOhdGlyw6FuecOtdMOhc27DoWxcbiIKKyIgICAgICAtRSAgQXogRVJSIGNzYXBkw6F0IMO2csO2a2xpayBhIGbDvGdndsOpbnlla1xuIgorIiAgICAgIC1IICBGZWxracOhbHTDs2plbGVzIGVsxZF6bcOpbnloZWx5ZXR0ZXPDrXTDqXMgZW5nZWTDqWx5ZXrDqXNlLiBJbnRlcmFrdMOtdlxuIgorIiAgICAgICAgICBwYXJhbmNzw6lydGVsbWV6xZFuw6lsIGFsYXDDqXJ0ZWxtZXrDqXNcbiIKKyIgICAgICAtUCAgUGFyYW5jc29rIHbDqWdyZWhhanTDoXPDoW7DoWwgc3ppbWJvbGlrdXMgbGlua2VrIGvDtnZldMOpc8OpbmVrIHRpbHTDoS1cbiIKKyIgICAgICAgICAgc2EgKHDDqWxkw6F1bCBjZCBlc2V0w6liZW4pXG4iCisiICAgICAgLVQgIEEgREVCVUcgY3NhcGTDoXQgw7Zyw7ZrbGlrIGEgZsO8Z2d2w6lueWVrXG4iCisiICAgICAgLSAgIEEgdG92w6FiYmkgYXJndW1lbnR1bW9rIHBvemljaW9uw6FsaXMgcGFyYW3DqXRlcmVraGV6IHJlbmRlbMOpc2VcbiIKKyIgICAgICAgICAgQSAteCDDqXMgLXYga2FwY3NvbMOzayBraSB2YW5uYWsga2FwY3NvbHZhLlxuIgorIiAgICBcbiIKKyIgICAg4oCeLeKAnSBoZWx5ZXR0IOKAnivigJ0gaGFzem7DoWxhdMOhdmFsIGEga2FwY3NvbMOzayB0aWx0aGF0w7Nhay4gQSBrYXBjc29sw7NrIGFcbiIKKyIgICAgcGFyYW5jc8OpcnRlbG1lesWRIGluZMOtdMOhc2Frb3IgaXMgw6FsbMOtdGhhdMOzYWsuIEF6IMOpcnbDqW55YmVuIGzDqXbFkSBrYXBjc28tXG4iCisiICAgIGzDs2sgYSAkLSB2w6FsdG96w7NiYW4gdmFubmFrLiBBIHrDoXLDsyBuZW0gw6lydGVsbWV6aGV0xZEgYXJndW1lbnR1bW9rIHBvemktXG4iCisiICAgIGNpb27DoWxpcyBwYXJhbcOpdGVyZWsgbGVzem5layAocmVuZHJlICQxLCAkMiAuLi4gJG4pLiBIYSBuaW5jcyBBUkcsIG1pbi1cbiIKKyIgICAgZGVuIHBhcmFuY3PDqXJ0ZWxtZXrFkS12w6FsdG96w7Mga2nDrXLDoXNyYSBrZXLDvGwuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIHTDqXIgdmlzc3phLCBraXbDqXZlIGhhIMOpcnbDqW55dGVsZW4ga2FwY3NvbMOzdCBrYXAuIgogCi0jOiBidWlsdGlucy5jOjExMDQKKyM6IGJ1aWx0aW5zLmM6MTExMgogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzE3OSw4ICszODM3LDI0IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogbXNnc3RyICIiCisiUGFyYW5jc8OpcnRlbG1lesWRLXbDoWx0b3rDs2ssIC1mw7xnZ3bDqW55ZWsgw6lzIC1qZWxsZW16xZFrIHTDtnJsw6lzZS5cbiIKKyIgICAgXG4iCisiICAgIE1pbmRlbiBOw4lWIG5ldsWxIGbDvGdndsOpbnkgdmFneSB2w6FsdG96w7MgdMO2cmzDqXNlLlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAtZiAgICAgICBtaW5kZW4gTsOJViBmw7xnZ3bDqW55XG4iCisiICAgICAgLXYgICAgICAgbWluZGVuIE7DiVYgdsOhbHRvesOzXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrIG7DqWxrw7xsIGF6IHVuc2V0IGVsxZFzesO2ciB2w6FsdG96w7N0LCBzaWtlcnRlbGVuc8OpZyBlc2V0w6luIGbDvGdnLVxuIgorIiAgICB2w6lueXQgcHLDs2LDoWwgdMO2csO2bG5pLlxuIgorIiAgICBcbiIKKyIgICAgTsOpaMOhbnkgdsOhbHRvesOzdCBuZW0gbGVoZXQgdMO2csO2bG5pLCBsw6FzZCDigJ5yZWFkb25seeKAnS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGtpdsOpdmUgaGEgaGliw6FzIGthcGNzb2zDs3Qga2FwLCB2YWd5IGVneSBOw4lWIGNzYWtcbiIKKyIgICAgb2x2YXNoYXTDsy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTEyNAorIzogYnVpbHRpbnMuYzoxMTMyCiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzE5OCw4ICszODcyLDIzIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKKyJFeHBvcnTDoWzDoXNyYSBqZWzDtmwgZWd5IHBhcmFuY3PDqXJ0ZWxtZXrFkS12w6FsdG96w7N0LlxuIgorIiAgICBcbiIKKyIgICAgTWluZGVuIE7DiVYgYXV0b21hdGlrdXMga8O2cm55ZXpldGkgdsOhbHRvesOzdsOhIGV4cG9ydMOhbMOhc3JhIGplbMO2bMOpc2UuIMONZ3lcbiIKKyIgICAgbWluZGVuIGV6dXTDoW4ga2lhZG90dCBwYXJhbmNzIGvDtnJueWV6ZXTDqWJlbiBtZWdqZWxlbmlrLiBIYSDDiVJUw4lLIGlzXG4iCisiICAgIG1lZyB2YW4gYWR2YSwgw6lydMOpa2Fkw6FzIGlzIHTDtnJ0w6luaWsuXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1mICAgICAgIHBhcmFuY3PDqXJ0ZWxtZXrFkS1mw7xnZ3bDqW55ZWtyZSB2b25hdGtvenpvblxuIgorIiAgICAgIC1uICAgICAgIGV4cG9ydC1qZWxsZW16xZEgZWx0w6F2b2zDrXTDoXNhIG1pbmRlbiBOw4lWLXLFkWxcbiIKKyIgICAgICAtcCAgICAgICDDtnNzemVzIGV4cG9ydMOhbHQgdsOhbHRvesOzIMOpcyBmw7xnZ3bDqW55IGxpc3TDoXrDoXNhXG4iCisiICAgIFxuIgorIiAgICBFZ3kg4oCeLS3igJ0gYXJndW1lbnR1bSBsZXRpbHRqYSBhIHRvdsOhYmJpIGthcGNzb2zDs8OpcnRlbG1lesOpc3QuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIHTDqXIgdmlzc3phLCBraXbDqXZlIGhhIMOpcnbDqW55dGVsZW4ga2FwY3NvbMOzdCB2YWd5IE5FVi1ldCBrYXAuIgogCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzIxOCw4ICszOTA3LDI0IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKKyJQYXJhbmNzw6lydGVsbWV6xZEtdsOhbHRvesOzIHbDoWx0b3p0YXRoYXRhdGxhbm5hayBqZWzDtmzDqXNlLlxuIgorIiAgICBcbiIKKyIgICAgTWluZGVuIE7DiVYgY3NhayBvbHZhc2hhdMOzdsOhIMOhbGzDrXTDoXNhLiBBIHRvdsOhYmJpYWtiYW4gYSBORVYtZWsgw6lydMOpa2VcbiIKKyIgICAgw6lydMOpa2Fkw6Fzc2FsIG5lbSB2w6FsdG96dGF0aGF0w7MuIEhhIMOJUlTDiUsgaXMgdmFuIG1lZ2FkdmEsIGF6IMOtcsOhc3bDqWRlLVxuIgorIiAgICBsZW0gYmVrYXBjc29sw6FzYSBlbMWRdHQgw6lydMOpa2Fkw6FzIGlzIHTDtnJ0w6luaWsuXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1hICAgICAgIGluZGV4ZWx0IHTDtm1idsOhbHRvesOza3JhIHZvbmF0a296aWtcbiIKKyIgICAgICAtQSAgICAgICBhc3N6b2NpYXTDrXYgdMO2bWJ2w6FsdG96w7NrcmEgdm9uYXRrb3ppa1xuIgorIiAgICAgIC1mICAgICAgIGbDvGdndsOpbnlla3JlIHZvbmF0a296aWtcbiIKKyIgICAgICAtcCAgICAgICBheiDDtnNzemVzIGNzYWsgb2x2YXNoYXTDsyB2w6FsdG96w7Mgw6lzIGbDvGdndsOpbnkgbGlzdMOhesOhc2FcbiIKKyIgICAgXG4iCisiICAgIEVneSDigJ4tLeKAnSBhcmd1bWVudHVtIGxldGlsdGphIGEgdG92w6FiYmkga2FwY3NvbMOzw6lydGVsbWV6w6lzdC5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGtpdsOpdmUgaGEgw6lydsOpbnl0ZWxlbiBrYXBjc29sw7N0IHZhZ3kgTkVWLWV0IGthcC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE2NAorIzogYnVpbHRpbnMuYzoxMTcyCiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMjI5LDggKzM5MzQsMTUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCisiUG96aWNpb27DoWxpcyBwYXJhbcOpdGVyZWsgZWx0b2zDoXNhLlxuIgorIiAgICBcbiIKKyIgICAgQXogJE4rMSwgJE4rMi4uLiBwb3ppY2lvbsOhbGlzIHBhcmFtw6l0ZXJlayDDoXRuZXZlesOpc2UgJDEsICQyLi4uIG7DqXZyZS5cbiIKKyIgICAgSGEgbmluY3MgTiBtZWdhZHZhLCDDqXJ0w6lrZSAxIGxlc3ouXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIHTDqXIgdmlzc3phLCBraXbDqXZlIGhhIE4gbmVnYXTDrXYgdmFneSBuYWd5b2JiIG1pbnQgJCMuIgogCi0jOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzI0Myw4ICszOTU1LDE3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIGluIEZJTEVOQU1FOyBmYWlscyBpZlxuIgogIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKKyJQYXJhbmNzb2sgdsOpZ3JlaGFqdMOhc2EgZsOhamxiw7NsIGEgZnV0w7MgcGFyYW5jc8OpcnRlbG1lesWRYmVuLlxuIgorIiAgICBcbiIKKyIgICAgRsOBSkxOw4lWIGbDoWpsYsOzbCBhIHBhcmFuY3NvayBiZW9sdmFzw6FzYSDDqXMgdsOpZ3JlaGFqdMOhc2EuIEEgZsOhamxuw6l2IG1lZy1cbiIKKyIgICAgdGFsw6Fsw6Fzw6Fob3ogYSAkUEFUSCDDoWx0YWwgZmVsc29yb2x0IGvDtm55dnTDoXJha2JhbiBrZXJlcy4gQXogQVJHdW1lbnR1LVxuIgorIiAgICBtb2sgcG96aWNpb27DoWxpcyBwYXJhbcOpdGVyZWsgbGVzem5layBGw4FKTE7DiVYgdsOpZ3JlaGFqdMOhc2Frb3IuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIEF6IHV0b2xzw7MgRsOBSkxOw4lWLWJlbGkgcGFyYW5jcyBraWzDqXDDqXNpIGvDs2Rqw6F2YWwgdMOpciB2aXNzemE7IHNpa2VydGUtXG4iCisiICAgIGxlbsO8bCwgaGEgRsOBSkxOw4lWIG5lbSBvbHZhc2hhdMOzLiIKIAotIzogYnVpbHRpbnMuYzoxMjA3CisjOiBidWlsdGlucy5jOjEyMTUKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzI1NywxNSArMzk3OCwzMSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisiUGFyYW5jc3bDqWdyZWhhanTDoXMgZmVsZsO8Z2dlc3p0w6lzZS5cbiIKKyIgICAgXG4iCisiICAgIEEgZnV0w7MgcGFyYW5jc8OpcnRlbG1lesWRIHbDqWdyZWhhanTDoXPDoW5hayBmZWxmw7xnZ2VzenTDqXNlIFNJR0NPTlQgc3ppZ27DoWxcbiIKKyIgICAgw6lya2V6w6lzw6lpZy4gSGEgbmluY3MgZXLFkWx0ZXR2ZSwgYmVqZWxlbnRrZXrFkSBwYXJhbmNzw6lydGVsbWV6xZF0IG5lbVxuIgorIiAgICBmw7xnZ2VzenRoZXTFkSBmZWwuXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1mICAgICAgIGZlbGbDvGdnZXN6dMOpcyBlcsWRbHRldMOpc2UgYmVqZWxlbnRrZXrFkSBwYXJhbmNzw6lydGVsbWV6xZFuIGlzXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIHTDqXIgdmlzc3phLCBraXbDqXZlIGhhIGEgbXVua2FrZXplbMOpcyBuZW0gdMOhbW9nYXRvdHQgdmFneSBoaWJhXG4iCisiICAgIHTDtnJ0w6ludC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMworIzogYnVpbHRpbnMuYzoxMjMxCisjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKICIgICAgRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlKSBvciAxIChmYWxzZSkgZGVwZW5kaW5nIG9uXG4iCiAiICAgIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnlcbiIKICIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCi0iICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFzIHdlbGwsIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgogIiAgICBcbiIKICIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgpAQCAtMzMxOSw2ICs0MDU2LDcgQEAKICIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKICIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgogIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKICIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgogIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCkBAIC0zMzM0LDE4ICs0MDcyLDkyIEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBFWFBSIGV2YWx1YXRlcyB0byB0cnVlOyBmYWlscyBpZiBFWFBSIGV2YWx1YXRlcyB0b1xuIgogIiAgICBmYWxzZSBvciBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgorIkZlbHTDqXRlbGVzIGtpZmVqZXrDqXNlayBracOpcnTDqWtlbMOpc2UuXG4iCisiICAgIFxuIgorIiAgICAwLXZhbCAoaWdheikgdmFneSAxLWd5ZWwgKGhhbWlzKSBsw6lwIGtpIGEgS0lGZWplesOpcyDDqXJ0w6lrw6l0xZFsIGbDvGdnxZFlbi5cbiIKKyIgICAgQSBraWZlamV6w6lzZWtuZWsgZWd5IHZhZ3kga8OpdCBvcGVyYW5kdXNhIGxlaGV0LiBBeiBlZ3lvcGVyYW5kdXPDuiBraWZlLVxuIgorIiAgICBqZXrDqXNlayB0w7ZiYm55aXJlIGbDoWpsb2sgw6FsbGFwb3TDoXQgdml6c2fDoWxqw6FrLiBLYXJha3RlcmzDoW5jb2thdCDDqXNcbiIKKyIgICAgc3rDoW1va2F0IGlzIGxlaGV0IMO2c3N6ZWhhc29ubMOtdGFuaS5cbiIKKyIgICAgXG4iCisiICAgIEbDoWpsLW9wZXLDoXRvcm9rOlxuIgorIiAgICBcbiIKKyIgICAgICAtYSBGw4FKTCAgICAgICAgSWdheiwgaGEgYSBmw6FqbCBsw6l0ZXppay5cbiIKKyIgICAgICAtYiBGw4FKTCAgICAgICAgSWdheiwgaGEgYSBmw6FqbCBibG9ra2VzemvDtnouXG4iCisiICAgICAgLWMgRsOBSkwgICAgICAgIElnYXosIGhhIGEgZsOhamwga2FyYWt0ZXJlcyBlc3prw7Z6LlxuIgorIiAgICAgIC1kIEbDgUpMICAgICAgICBJZ2F6LCBoYSBhIGbDoWpsIGvDtm55dnTDoXIuXG4iCisiICAgICAgLWUgRsOBSkwgICAgICAgIElnYXosIGhhIGEgZsOhamwgbMOpdGV6aWsuXG4iCisiICAgICAgLWYgRsOBSkwgICAgICAgIElnYXosIGhhIGEgZsOhamwgbMOpdGV6aWsgw6lzIG5vcm3DoWwgZsOhamwuXG4iCisiICAgICAgLWcgRsOBSkwgICAgICAgIElnYXosIGhhIGEgZsOhamwgU0VUR0lEIGpvZ29zdWx0c8OhZ8O6LlxuIgorIiAgICAgIC1oIEbDgUpMICAgICAgICBJZ2F6LCBoYSBhIGbDoWpsIHN6aW1ib2xpa3VzIGxpbmsuXG4iCisiICAgICAgLUwgRsOBSkwgICAgICAgIElnYXosIGhhIGEgZsOhamwgc3ppbWJvbGlrdXMgbGluay5cbiIKKyIgICAgICAtayBGw4FKTCAgICAgICAgSWdheiwgaGEgYSBmw6FqbG5hayDigJ5zdGlja3nigJ0gYml0amUgKHQtYml0amUpIHZhbi5cbiIKKyIgICAgICAtcCBGw4FKTCAgICAgICAgSWdheiwgaGEgYSBmw6FqbCBlZ3kgZWxuZXZlemV0dCBjc8WRdmV6ZXTDqWsuXG4iCisiICAgICAgLXIgRsOBSkwgICAgICAgIElnYXosIGhhIGEgZsOhamwgb2x2YXNoYXTDsyBhIGZlbGhhc3puw6Fsw7Mgc3rDoW3DoXJhLlxuIgorIiAgICAgIC1zIEbDgUpMICAgICAgICBJZ2F6LCBoYSBhIGbDoWpsIGzDqXRlemlrIMOpcyBuZW0gw7xyZXMuXG4iCisiICAgICAgLVMgRsOBSkwgICAgICAgIElnYXosIGhhIGEgZsOhamwgZWd5IGZvZ2xhbGF0IChzb2NrZXQpLlxuIgorIiAgICAgIC10IEZEICAgICAgICAgIElnYXosIGhhIGEgZsOhamxsZcOtcsOzIGVneSB0ZXJtaW7DoWwuXG4iCisiICAgICAgLXUgRsOBSkwgICAgICAgIElnYXosIGhhIGEgZsOhamwgU0VUVUlEIGpvZ29zdWx0c8OhZ8O6LlxuIgorIiAgICAgIC13IEbDgUpMICAgICAgICBJZ2F6LCBoYSBhIGbDoWpsIMOtcmhhdMOzIGEgZmVsaGFzem7DoWzDsyBzesOhbcOhcmEuXG4iCisiICAgICAgLXggRsOBSkwgICAgICAgIElnYXosIGhhIGEgZsOhamwgdsOpZ3JlaGFqdGhhdMOzIGEgZmVsaGFzem7DoWzDsyBzesOhbcOhcmEuXG4iCisiICAgICAgLU8gRsOBSkwgICAgICAgIElnYXosIGhhIGEgZsOhamwgZWZmZWt0w612ZW4gYSBmZWxoYXN6bsOhbMOzIHR1bGFqZG9uYS5cbiIKKyIgICAgICAtRyBGw4FKTCAgICAgICAgSWdheiwgaGEgYSBmw6FqbCBlZmZla3TDrXZlbiBhIGNzb3BvcnQgdHVsYWpkb25hLlxuIgorIiAgICAgIC1OIEbDgUpMICAgICAgICBJZ2F6LCBoYSBhIGbDoWpsIG3Ds2Rvc3VsdCB1dG9sc8OzIG9sdmFzw6FzYSDDs3RhLlxuIgorIiAgICBcbiIKKyIgICAgICBGw4FKTDEgLW50IEbDgUpMMiAgSWdheiwgaGEgZsOhamwxIMO6amFiYiBmw6FqbDItbsOpbCAoYSBtw7Nkb3PDrXTDoXNpIGTDoXR1bVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgYWxhcGrDoW4pLlxuIgorIiAgICBcbiIKKyIgICAgICBGw4FKTDEgLW90IEbDgUpMMiAgSWdheiwgaGEgZsOhamwxIHLDqWdlYmJpIGbDoWpsMi1uw6lsLlxuIgorIiAgICBcbiIKKyIgICAgICBGw4FKTDEgLWVmIEbDgUpMMiAgSWdheiwgaGEgZsOhamwxIGhhcmQgbGluayBmw6FqbDItcmUuXG4iCisiICAgIFxuIgorIiAgICBLYXJha3RlcmzDoW5jLW9wZXLDoXRvcm9rOlxuIgorIiAgICBcbiIKKyIgICAgICAteiBTWsOWVkVHICAgICAgSWdheiwgaGEgU1rDllZFRyDDvHJlcy5cbiIKKyIgICAgXG4iCisiICAgICAgLW4gU1rDllZFRyAgICAgIElnYXosIGhhIFNaw5ZWRUcgbmVtIMO8cmVzLlxuIgorIiAgICBcbiIKKyIgICAgICBTWsOWVkVHMSA9IFNaw5ZWRUcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgSWdheiwgaGEgYSBrw6l0IFNaw5ZWRUcgZWd5ZXppay5cbiIKKyIgICAgICBTWsOWVkVHMSAhPSBTWsOWVkVHMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIElnYXosIGhhIGEga8OpdCBTWsOWVkVHIG5lbSBlZ3llemlrLlxuIgorIiAgICAgIFNaw5ZWRUcxIDwgU1rDllZFRzJcbiIKKyIgICAgICAgICAgICAgICAgICAgICBJZ2F6LCBoYSBTWsOWVkVHMSBTWsOWVkVHMiBlbMWRdHQgdmFuIGEgYmV0xbFyZW5kYmVuLlxuIgorIiAgICAgIFNaw5ZWRUcxID4gU1rDllZFRzJcbiIKKyIgICAgICAgICAgICAgICAgICAgICBJZ2F6LCBoYSBTWsOWVkVHMSBTWsOWVkVHMiB1dMOhbiB2YW4gYSBiZXTFsXJlbmRiZW4uXG4iCisiICAgIFxuIgorIiAgICBUb3bDoWJiaSBvcGVyw6F0b3JvazpcbiIKKyIgICAgXG4iCisiICAgICAgLW8gQkXDgUxMw41Uw4FTICAgSWdheiwgaGEgYSBwYXJhbmNzw6lydGVsbWV6xZEtYmXDoWxsw610w6FzIGVuZ2Vkw6lseWV6dmVcbiIKKyIgICAgICAgICAgICAgICAgICAgICB2YW4uXG4iCisiICAgICAgISBLSUYgICAgICAgICAgSWdheiwgaGEga2lmIGhhbWlzLlxuIgorIiAgICAgIEtJRjEgLWEgS0lGMiAgIElnYXosIGhhIGtpZjEgw4lTIGtpZjIgaXMgaWdhei5cbiIKKyIgICAgICBLSUYxIC1vIEtJRjIgICBJZ2F6LCBoYSBraWYxIFZBR1kga2lmMiBpZ2F6LlxuIgorIiAgICBcbiIKKyIgICAgICBhcmcxIE9QIGFyZzIgICBBcml0bWV0aWthaSDDtnNzemVoYXNvbmzDrXTDoXNvay4gT1AgbGVoZXQ6IC1lcSwgLW5lLFxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1sdCwgLWxlLCAtZ3QgdmFneSAtZ2UuXG4iCisiICAgIFxuIgorIiAgICBBIGvDqXRvcGVyYW5kdXPDuiBhcml0bWV0aWthaSBvcGVyw6F0b3JvayBpZ2F6YXQgYWRuYWssIGhhIEFSRzEgcmVuZHJlXG4iCisiICAgIGVneWVubMWRLCBuZW0gZWd5ZW5sxZEsIGtpc2ViYiwga2lzZWJiIHZhZ3kgZWd5ZW5sxZEsIG5hZ3lvYmIsIG5hZ3lvYmJcbiIKKyIgICAgdmFneSBlZ3llbmzFkSwgbWludCBBUkcyLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBTaWtlcnJlbCB0w6lyIHZpc3N6YSwgaGEgS0lGIGlnYXo7IHNpa2VydGVsZW5zw6lnZ2VsLCBoYSBLSUYgaGFtaXMgdmFneVxuIgorIiAgICDDqXJ2w6lueXRlbGVuIGFyZ3VtZW50dW1va2F0IGthcC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTI5OQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTMxMQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKICIgICAgVGhpcyBpcyBhIHN5bm9ueW0gZm9yIHRoZSBcInRlc3RcIiBidWlsdGluLCBidXQgdGhlIGxhc3QgYXJndW1lbnQgbXVzdFxuIgogIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgogbXNnc3RyICIiCi0iZWd5ICddJyBzevZ2ZWdrb25zdGFuc25hayBrZWxsIGxlbm5pZSwgaG9neSBw4XJiYW4gbGVneWVuIGEgbnlpdPMgJ1snLXZhbC4iCisiRmVsdMOpdGVsZXMga2lmZWplesOpc2VrIGtpw6lydMOpa2Vsw6lzZS5cbiIKKyIgICAgXG4iCisiICAgIEV6IGEg4oCedGVzdOKAnSBiZcOpcMOtdGV0dCBwYXJhbmNzIHN6aW5vbmltw6FqYSwgZGUgYW5ueWliYW4gZWx0w6lyIHTFkWxlLFxuIgorIiAgICBob2d5IGF6IHV0b2xzw7MgYXJndW1lbnR1bWEg4oCeXeKAnSBrZWxsIGxlZ3llbiDigJMgYSBueWl0w7Mg4oCeXeKAnS1sZWwgw7Zzc3poYW5nLVxuIgorIiAgICBiYW4uIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzM1Niw4ICs0MTY4LDE1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCisiVsOpZ3JlaGFqdMOhc2kgaWTFkWsga2nDrXLDoXNhLlxuIgorIiAgICBcbiIKKyIgICAgTWVnamVsZW7DrXRpIGEga3VtdWzDoWx0IGZlbGhhc3puw6Fsw7NpLSDDqXMgcmVuZHN6ZXJnw6lwaWTFkXQsIGFtZWx5ZXQgYSBwYS1cbiIKKyIgICAgcmFuY3PDqXJ0ZWxtZXrFkSDDqXMgZ3llcm1la2ZvbHlhbWF0YWkgaGFzem7DoWx0YWsuICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIE1pbmRpZyBzaWtlcmVzLiIKIAotIzogYnVpbHRpbnMuYzoxMzIwCisjOiBidWlsdGlucy5jOjEzMzIKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTMzNzMsNyArNDE5MiwxNSBAQAogIiAgICBcbiIKICIgICAgSWYgYSBTSUdOQUxfU1BFQyBpcyBFWElUICgwKSBBUkcgaXMgZXhlY3V0ZWQgb24gZXhpdCBmcm9tIHRoZSBzaGVsbC4gICIKICJJZlxuIgotIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLiAgIgorIklmXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgUkVUVVJOLCBBUkcgaXMgZXhlY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgIgorImFcbiIKKyIgICAgc2NyaXB0IHJ1biBieSB0aGUgLiBvciBzb3VyY2UgYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLiAgQSAiCisiU0lHTkFMX1NQRUNcbiIKKyIgICAgb2YgRVJSIG1lYW5zIHRvIGV4ZWN1dGUgQVJHIGVhY2ggdGltZSBhIGNvbW1hbmQncyBmYWlsdXJlIHdvdWxkIGNhdXNlICIKKyJ0aGVcbiIKKyIgICAgc2hlbGwgdG8gZXhpdCB3aGVuIHRoZSAtZSBvcHRpb24gaXMgZW5hYmxlZC5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQsIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzICIKICJhc3NvY2lhdGVkXG4iCkBAIC0zMzkyLDggKzQyMTksMzYgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIFNJR1NQRUMgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyAiCiAiZ2l2ZW4uIgogbXNnc3RyICIiCisiU3ppZ27DoWxvayDDqXMgbcOhcyBlc2Vtw6lueWVrIGVsZm9nw6FzYS5cbiIKKyIgICAgXG4iCisiICAgIE1lZ2hhdMOhcm96IMOpcyBha3RpdsOhbCBlc2Vtw6lueWtlemVsxZFrZXQsIGFtZWx5ZWsgc3ppZ27DoWxvayDDqXMgbcOhcyBrw7ZyLVxuIgorIiAgICByw7xsbcOpbnllayBiZWvDtnZldGtlesOpc2Vrb3IgZnV0bmFrLlxuIgorIiAgICBcbiIKKyIgICAgQVJHIGF6IGEgcGFyYW5jcywgYW1lbHlldCBhIHBhcmFuY3PDqXJ0ZWxtZXrFkSBiZW9sdmFzIMOpcyB2w6lncmVoYWp0IGFcbiIKKyIgICAgU1pJR07DgUwob2spIGJla8O2dmV0a2V6w6lzZWtvci4gSGEgQVJHIGhpw6FueXppayAow6lzIGVneSBTWklHTsOBTCB2YW4gbWVnLVxuIgorIiAgICBhZHZhKSB2YWd5IEFSRyBlZ3kg4oCeLeKAnSwgYWtrb3IgbWluZGVuIHN6aWduw6Fsa2V6ZWzFkSB2aXNzemHDoWxsIGF6IGFsYXAtXG4iCisiICAgIMOpcnRlbG1lemV0dCB2aXNlbGtlZMOpc3JlLiBIYSBBUkcgw7xyZXMsIGFra29yIGEgbWVnYWRvdHQgU1pJR07DgUwtb2sgYmUtXG4iCisiICAgIGvDtnZldGtlesOpc2Vrb3IgbmVtIHTDtnJ0w6luaWsgc2VtbWkgYSBwYXJhbmNzw6lydGVsbWV6xZFiZW4gw6lzIMO6aiBneWVybWVrLVxuIgorIiAgICBmb2x5YW1hdGFpYmFuLlxuIgorIiAgICBcbiIKKyIgICAgSGEgYSBTWklHTsOBTCDDqXJ0w6lrZSBFWElUICgwKSwgQVJHIGEgcGFyYW5jc8OpcnRlbG1lesWRYsWRbCB2YWzDsyBraWzDqXDDqXNrb3JcbiIKKyIgICAgZnV0LiBIYSDDqXJ0w6lrZSBERUJVRywgQVJHIG1pbmRlbiBwYXJhbmNzIGVsxZF0dCBmdXQuIEhhIG5pbmNzZW5layBhcmd1LVxuIgorIiAgICBtZW50dW1vaywgYSB0cmFwIGtpbGlzdMOhenphIGF6IMO2c3N6ZXMgc3ppZ27DoWx0IMOpcyBwYXJhbmNzb3QuXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1sICAgICAgIGEgcmVuZHN6ZXJlbiDDqXJ2w6lueWVzIHN6aWduw6FsbmV2ZWsgw6lzIHNvcnN6w6FtYWlrIGtpbGlzdMOhesOhc2FcbiIKKyIgICAgICAtcCAgICAgICBraWxpc3TDoXp6YSBhIHRyYXAgw6FsdGFsIGJlw6FsbMOtdG90dCBlc2Vtw6lueWtlemVsxZFrZXRcbiIKKyIgICAgXG4iCisiICAgIFNaSUdOw4FMIMOpcnTDqWtlIGVneSB0cmFwIC1sIMOhbHRhbCBraWxpc3TDoXpvdHQgc3ppZ27DoWxuw6l2IHZhZ3kgc3rDoW0uXG4iCisiICAgIEEgc3ppZ27DoWxuZXZlayBraXMtIMOpcyBuYWd5YmV0xbFrcmUgw6lyesOpa2V0bGVuZWssIGEgU0lHIGVsxZF0YWcgZWxoYWd5LVxuIgorIiAgICBoYXTDsy4gU3ppZ27DoWx0IGEgcGFyYW5jc8OpcnRlbG1lesWRbmVrIGEg4oCea2lsbCAtc3ppZ27DoWwgJCTigJ0gcGFyYW5jY3NhbFxuIgorIiAgICBsZWhldCBrw7xsZGVuaS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGtpdsOpdmUgaGEgU1pJR07DgUwgw6lydsOpbnl0ZWxlbiB2YWd5IMOpcnbDqW55dGVsZW5cbiIKKyIgICAga2FwY3NvbMOzdCBrYXAuIgogCi0jOiBidWlsdGlucy5jOjEzNTIKKyM6IGJ1aWx0aW5zLmM6MTM2OAogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC0zNDIyLDggKzQyNzcsMzAgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIGlmIGFsbCBvZiB0aGUgTkFNRXMgYXJlIGZvdW5kOyBmYWlscyBpZiBhbnkgYXJlIG5vdCAiCiAiZm91bmQuIgogbXNnc3RyICIiCisiVMOhasOpa296dGF0IGVneSBwYXJhbmNzIHTDrXB1c8OhcsOzbC5cbiIKKyIgICAgXG4iCisiICAgIE1pbmRlbiBOw4lWLXJhIGtpw61yamEsIGhvZ3kgaG9neSBsZW5uZSDDqXJ0ZWxtZXp2ZSBwYXJhbmNzbsOpdmvDqW50LlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAtYSAgICAgICBtaW5kZW4gTsOJVi1yZSBpbGxlc3prZWTFkSBmdXR0YXRoYXTDsyBwYXJhbmNzIGZlbHNvcm9sw6FzYSxcbiIKKyIgICAgICAgICAgICAgICBiZWxlw6lydHZlIGF6IGFsaWFzb2thdCwgYmXDqXDDrXRldHQgcGFyYW5jc29rYXQsIMOpcyBhIGbDvGdndsOpLVxuIgorIiAgICAgICAgICAgICAgIG55ZWtldCAoaGEg4oCeLXDigJ0gbmVtIHRpbHRqYSlcbiIKKyIgICAgICAtZiAgICAgICBmw7xnZ3bDqW55ZWtldCBuZSBrZXJlc3NlblxuIgorIiAgICAgIC1QICAgICAgIGNzYWsgYSBQQVRILWJhbiBrZXJlc3NlIE5FVi1ldCwgYWtrb3IgaXMsIGhhIHZhbiBpbHllbiBuZXbFsVxuIgorIiAgICAgICAgICAgICAgIGFsaWFzLCBwYXJhbmNzIHZhZ3kgZsO8Z2d2w6lueVxuIgorIiAgICAgIC1wICAgICAgIGEgdsOpZ3JlaGFqdGhhdMOzIGbDoWpsIG5ldsOpdCDDrXJqYSBraSwgaGEgYW1lbHkgdsOpZ3JlaGFqdMOzZG5hXG4iCisiICAgICAgICAgICAgICAgYSBwYXJhbmNzIGtpYWTDoXNha29yLiBIYSBleiBuZW0gZsOhamwgbGVubmUsIG5lbSDDrXIga2kgc2VtbWl0XG4iCisiICAgICAgLXQgICAgICAgZWd5ZXRsZW4gc3rDs3Qgw61yIGtpLCBhbWVseSBOw4lWIHTDrXB1c8OhdCBqZWx6aTog4oCeYWxpYXPigJ0sXG4iCisiICAgICAgICAgICAgICAg4oCea2V5d29yZOKAnSAoa3VsY3NzesOzKSwg4oCeZnVuY3Rpb27igJ0gKGbDvGdndsOpbnkpLCDigJ5idWlsdGlu4oCdIChiZS1cbiIKKyIgICAgICAgICAgICAgICDDqXDDrXRldHQgcGFyYW5jcyksIOKAnmZpbGXigJ0gKGbDoWpsKSB2YWd5IOKAnuKAnSAobmVtIHRhbMOhbGhhdMOzKVxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICBOw4lWICAgICAgw4lydGVsbWV6ZW5kxZEgcGFyYW5jc27DqXYuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIGzDqXAga2ksIGhhIG1pbmRlbiBOw4lWIG1lZ3RhbMOhbGhhdMOzLCBzaWtlcnRlbGVuw7xsLCBoYSBuZW0uIgogCi0jOiBidWlsdGlucy5jOjEzODMKKyM6IGJ1aWx0aW5zLmM6MTM5OQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTM0NjYsOCArNDM0Myw0NyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisiUGFyYW5jc8OpcnRlbG1lesWRIGVyxZFmb3Jyw6Fza29ybMOhdGphaW5hayBiZcOhbGzDrXTDoXNhLlxuIgorIiAgICBcbiIKKyIgICAgU3phYsOhbHlvesOhc2kgbGVoZXTFkXPDqWdldCBhZCBhIHBhcmFuY3PDqXJ0ZWxtZXrFkSDDoWx0YWwgZWzDqXJoZXTFkSBlcsWRZm9yLVxuIgorIiAgICByw6Fzb2sga29ybMOhdG96w6Fzw6Fob3osIGhhIGEgcmVuZHN6ZXIgdMOhbW9nYXRqYS5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLVMgICAgICAgYSBwdWhhIChzb2Z0KSBrb3Jsw6F0b3rDoXMgaGFzem7DoWxhdGFcbiIKKyIgICAgICAtSCAgICAgICBhIGtlbcOpbnkgKGhhcmQpIGtvcmzDoXRvesOhcyBoYXN6bsOhbGF0YVxuIgorIiAgICAgIC1hICAgICAgIGF6IMO2c3N6ZXMgYWt0dcOhbGlzIGtvcmzDoXRvesOhcyBraWxpc3TDoXrDoXNhXG4iCisiICAgICAgLWIgICAgICAgZm9nbGFsYXRvayAoc29ja2V0KSBwdWZmZXJtw6lyZXRlXG4iCisiICAgICAgLWMgICAgICAgY29yZSBmw6FqbG9rIG1heGltw6FsaXMgbcOpcmV0ZSAoMCB0aWx0amEpXG4iCisiICAgICAgLWQgICAgICAgZm9seWFtYXRvayBtYXhpbcOhbGlzIGFkYXRzemVnbWVucy1tw6lyZXRlXG4iCisiICAgICAgLWUgICAgICAgYSBtYXhpbcOhbGlzIMO8dGVtZXrDqXNpIHByaW9yaXTDoXMgKG5pY2UpXG4iCisiICAgICAgLWYgICAgICAgYSBwYXJhbmNzw6lydGVsbWV6xZEgw6lzIGd5ZXJtZWtlaSDDoWx0YWwgw61yaGF0w7MgbGVnbmFneW9iYiBmw6FqbFxuIgorIiAgICAgIC1pICAgICAgIHbDoXJha296w7Mgc3ppZ27DoWxvayBtYXhpbcOhbGlzIHN6w6FtYVxuIgorIiAgICAgIC1sICAgICAgIGZvbHlhbWF0b25rw6ludCBmb2dsYWxoYXTDsyBtZW3Ds3JpYSBtYXhpbcOhbGlzIG3DqXJldGVcbiIKKyIgICAgICAtbSAgICAgICBhIG1heGltw6FsaXNhbiBvcGVyYXTDrXYgbWVtw7NyacOhYmFuIHRhcnRoYXTDsyB0ZXLDvGxldCBtw6lyZXRlXG4iCisiICAgICAgLW4gICAgICAgbnlpdG90dCBmw6FqbGxlw61yw7NrIG1heGltw6FsaXMgc3rDoW1hXG4iCisiICAgICAgLXAgICAgICAgYSBjc8WRdmV6ZXTDqWtwdWZmZXIgbcOpcmV0ZVxuIgorIiAgICAgIC1xICAgICAgIGEgUG9zaXggw7x6ZW5ldHNvcm9rYmFuIHRhcnRoYXTDsyBieXRlLW9rIHN6w6FtYVxuIgorIiAgICAgIC1yICAgICAgIGEgbWF4aW3DoWxpcyB2YWzDs3MgaWRlasWxIMO8dGVtZXrDqXNpIHByaW9yaXTDoXNcbiIKKyIgICAgICAtcyAgICAgICBtYXhpbcOhbGlzIHZlcmVtbcOpcmV0XG4iCisiICAgICAgLXQgICAgICAgbWF4aW3DoWxpcyBwcm9jZXNzem9yaWTFkSBtw6Fzb2RwZXJjZWtiZW5cbiIKKyIgICAgICAtdSAgICAgICBmZWxoYXN6bsOhbMOzaSBmb2x5YW1hdG9rIG1heGltw6FsaXMgc3rDoW1hXG4iCisiICAgICAgLXYgICAgICAgdmlydHXDoWxpcyBtZW3Ds3JpYSBtw6lyZXRlXG4iCisiICAgICAgLXggICAgICAgZsOhamx6w6Fyb2zDoXNvayBtYXhpbcOhbGlzIHN6w6FtYVxuIgorIiAgICBcbiIKKyIgICAgSGEgS09STMOBVCBtZWcgdmFuIGFkdmEsIGF6IGxlc3ogYXogw7pqIMOpcnTDqWtlIGEgbWVnYWRvdHQgZXLFkWZvcnLDoXNuYWsuXG4iCisiICAgIFNwZWNpw6FsaXMgS09STMOBVC3DqXJ0w6lrZWs6IOKAnmhhcmTigJ0gKGplbGVubGVnaSBrZW3DqW55IGtvcmzDoXQgw6lydMOpa2UpLFxuIgorIiAgICDigJ5zb2Z04oCdIChqZWxlbmxlZ2kgcHVoYSBrb3Jsw6F0IMOpcnTDqWtlKSDDqXMg4oCedW5saW1pdGVk4oCdIChrb3Jsw6F0b3rDoXMgbsOpbC1cbiIKKyIgICAga8O8bCkuXG4iCisiICAgIEhhIG5pbmNzIGthcGNzb2zDsyBtZWdhZHZhLCAtZiBheiBhbGFww6lydGVsbWV6ZXR0LlxuIgorIiAgICBcbiIKKyIgICAgQXogw6lydMOpa2VrIDEwMjQgYnl0ZS1vcyBlZ3lzw6lnZWtiZW4gw6lydGVuZMWRZWssIGtpdsOpdmUgYSAtdCwgYW1lbHkgbcOhLVxuIgorIiAgICBzb2RwZXJjZWtiZW4sIGEgLXAsIGFtZWx5IDUxMiBieXRlLW9rYmFuLCB2YWxhbWludCBhIC11LCBhbWVseSBkYXJhYi1cbiIKKyIgICAgYmFuIMOpcnRlbmTFkS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGtpdsOpdmUgw6lydsOpbnl0ZWxlbiBrYXBjc29sw7Mgw6lzIGhpYmEgZXNldMOpYmVuLiIKIAotIzogYnVpbHRpbnMuYzoxNDI4CisjOiBidWlsdGlucy5jOjE0NDQKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtMzQ4NCw4ICs0NDAwLDI1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKKyJLacOtcmphIHZhZ3kgYmXDoWxsw610amEgYSBmw6FqbG3Ds2RtYXN6a290LlxuIgorIiAgICBcbiIKKyIgICAgQmXDoWxsw610amEgYSBmw6FqbGzDqXRyZWhvesOhc2kgbWFzemtvdCBNw5NELXJhLiBIYSBNw5NEIGhpw6FueXppaywgYXogYWt0dcOhLVxuIgorIiAgICBsaXMgw6lydMOpa8OpdCDDrXJqYSBraS5cbiIKKyIgICAgRsOhamxvayBsw6l0cmVob3rDoXNha29yIGF6IGFsYXDDqXJ0ZWxtZXpldHQgam9nb2tiw7NsIGtpIGxlc3puZWsgbWFzemtvbHZhXG4iCisiICAgIGF6IGl0dCBtZWdhZG90dCBiaXRlay4gRXogbmVtIGFrYWTDoWx5b3p6YSBtZWcsIGhvZ3kgYSBwcm9ncmFtIHZhZ3kgYVxuIgorIiAgICBmZWxoYXN6bsOhbMOzIGvDqXPFkWJiIG1lZ3bDoWx0b3p0YXNzYSBhIGbDoWpsIGpvZ2FpdC5cbiIKKyIgICAgXG4iCisiICAgIEhhIE3Dk0Qgc3rDoW1qZWdneWVsIGtlemTFkWRpaywgb2t0w6FsaXMgc3rDoW1rw6ludCBsZXN6IMOpcnRlbG1lenZlOyBlZ3nDqWItXG4iCisiICAgIGvDqW50IGEgY2htb2QoMSkgw6FsdGFsIGhhc3puw6FsdCBzemltYm9saWt1cyBmb3Jtw6F0dW1iYW4uXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1wICAgIGhhIE3Dk0QgaGnDoW55emlrLCBhIGtpbWVuZXQgw7pqcmFoYXN6bsOhbMOzIGZvcm3DoXR1bW90IGhhc3puw6Fsam9uXG4iCisiICAgICAgLVMgICAgYSBraW1lbmV0IGhhc3puw6FsamEgYSBzemltYm9saWt1cyBmb3Jtw6F0IChrw7xsw7ZuYmVuIG9rdMOhbGlzYXQpXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIGzDqXAga2ksIGtpdsOpdmUgaGEgTcOTRCB2YWd5IGVneSBrYXBjc29sw7Mgw6lydsOpbnl0ZWxlbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzUwMSw4ICs0NDM0LDE4IEBACiAiaXNcbiIKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCisiTXVua2EgYmVmZWplesOpc8OpbmVrIG1lZ3bDoXLDoXNhIMOpcyBhIGtpbMOpcMOpc2kga8OzZCB2aXNzemFhZMOhc2EuXG4iCisiICAgIFxuIgorIiAgICBJRCBzesOhbcO6IGZvbHlhbWF0IGJlZmVqZXrDqXPDqXJlIHbDoXIsIG1hamQgamVsemkgYSBraWzDqXDDqXNpIGvDs2Rqw6F0LiBJRFxuIgorIiAgICBsZWhldCBlZ3kgUElEIHZhZ3kgZWd5ICVNVU5LQVNaw4FNLiBIYSBuaW5jcyBJRCBtZWdhZHZhLCBiw6FybWVseWlrXG4iCisiICAgIGd5ZXJtZWtmb2x5YW1hdCBiZWZlamV6w6lzZWtvciB2aXNzemF0w6lyLCAwLXZhbC4gSGEgSUQgbXVua2FzesOhbSwgYVxuIgorIiAgICBjc8WRdmV6ZXTDqWsgw7Zzc3plcyBmb2x5YW1hdMOhdCBiZXbDoXJqYS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgSUQga2lsw6lww6lzaSBrw7NkasOhdmFsIHTDqXIgdmlzc3phOyDDqXJ2w6lueXRlbGVuIElEIHZhZ3kga2FwY3NvbMOzIGVzZXTDqW5cbiIKKyIgICAgc2lrZXJ0ZWxlbsO8bC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2NgorIzogYnVpbHRpbnMuYzoxNDgyCiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM1MTUsOCArNDQ1OCwxNiBAQAogImlzXG4iCiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgorIk11bmthIGJlZmVqZXrDqXPDqW5layBtZWd2w6Fyw6FzYSDDqXMgYSBraWzDqXDDqXNpIGvDs2Qgdmlzc3phYWTDoXNhLlxuIgorIiAgICBcbiIKKyIgICAgSUQgc3rDoW3DuiBmb2x5YW1hdCBiZWZlamV6w6lzw6lyZSB2w6FyLCBtYWpkIGplbHppIGEga2lsw6lww6lzaSBrw7NkasOhdC4gSURcbiIKKyIgICAgZWd5IGZvbHlhbWF0YXpvbm9zw610w7Mga2VsbCBsZWd5ZW4uXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIElEIGtpbMOpcMOpc2kga8OzZGrDoXZhbCB0w6lyIHZpc3N6YTsgw6lydsOpbnl0ZWxlbiBJRCB2YWd5IGthcGNzb2zDsyBlc2V0w6luXG4iCisiICAgIHNpa2VydGVsZW7DvGwuIgogCi0jOiBidWlsdGlucy5jOjE0ODEKKyM6IGJ1aWx0aW5zLmM6MTQ5NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzUyOCw4ICs0NDc5LDE3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKKyJFZ3kgbGlzdGEgbWluZGVuIGVsZW3DqXJlIHBhcmFuY3MgdsOpZ3JlaGFqdMOhc2EuXG4iCisiICAgIFxuIgorIiAgICBBIOKAnmZvcuKAnSBjaWtsdXMgdsOpZ3JlaGFqdCBlZ3kgcGFyYW5jc3Nvcm96YXRvdCBhIG1lZ2Fkb3R0IGxpc3TDoW4uIEhhIGF6XG4iCisiICAgIOKAnmluIFNaQVZBSyAuLi474oCdIHLDqXN6IGhpw6FueXppaywg4oCeaW4gXCIkQFwi4oCdIGF6IGFsYXDDqXJ0ZWxtZXrDqXMuIE1pbmRlblxuIgorIiAgICBpdGVyw6FjacOzbsOhbCBOw4lWIMOpcnTDqWtlIGEgU1pBVkFLIGxpc3RhIG1lZ2ZlbGVsxZEgZWxlbcOpcmUgbGVzeiDDoWxsw610dmEsXG4iCisiICAgIMOpcyDDrWd5IGZ1dG5hayBhIFBBUkFOQ1NPSy5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgQXogdXRvbHPDsyBwYXJhbmNzIGtpbMOpcMOpc2kga8OzZGrDoXQgYWRqYSB2aXNzemEuIgogCi0jOiBidWlsdGlucy5jOjE0OTUKKyM6IGJ1aWx0aW5zLmM6MTUxMQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTM1NDUsOCArNDUwNSwyMSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCisiQXJpdG1ldGlrYWkgZm9yLWNpa2x1cy5cbiIKKyIgICAgXG4iCisiICAgIEVrdml2YWxlbnMgYSBrw7Z2ZXRrZXrFkXZlbDpcbiIKKyIgICAgICAgKCggS0lGMSApKVxuIgorIiAgICAgICB3aGlsZSAoKCBLSUYyICkpOyBkb1xuIgorIiAgICAgICAgICAgICAgIFBBUkFOQ1NPS1xuIgorIiAgICAgICAgICAgICAgICgoIEtJRjMgKSlcbiIKKyIgICAgICAgZG9uZVxuIgorIiAgICBLSUYxLCBLSUYyIMOpcyBLSUYzIGFyaXRtZXRpa2FpIGtpZmVqZXrDqXNlay4gSGEgdmFsYW1lbHlpayBlbCB2YW4gaGFneS1cbiIKKyIgICAgdmEsIMO6Z3kgbcWxa8O2ZGlrLCBtaW50aGEgw6lydMOpa2UgMSBsZW5uZS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgQXogdXRvbHPDsyBwYXJhbmNzIGtpbMOpcMOpc2kga8OzZGrDoXQgYWRqYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMworIzogYnVpbHRpbnMuYzoxNTI5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zNTY1LDggKzQ1MzgsMjQgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgorIkEgZmVsaGFzem7DoWzDs3ZhbCBraXbDoWxhc3p0YXQgYSBsaXN0w6Fiw7NsIGVneSBlbGVtZXQgw6lzIHbDqWdyZWhhanQgcsOhIGVneSBwYS1cbiIKKyJyYW5jc290LlxuIgorIiAgICBcbiIKKyIgICAgQSBTWkFWQUsga2nDqXJ0w6lrZWzDqXNyZSBrZXLDvGxuZWsgw6lzIGVneSBzesOzbGlzdMOhdCBrw6lwZXpuZWsuIEEgc3phdmFrIGFcbiIKKyIgICAgc3phYnbDoW55b3MgaGliYWtpbWVuZXRyZSBrZXLDvGxuZWsgc29yb25rw6ludCwgc29yc3rDoW1venZhLiBFenV0w6FuIG1lZy1cbiIKKyIgICAgamVsZW5payBhICRQUzMgw6lzIGVneSBzb3JzesOhbW90IHbDoXIgYSBzemFidsOhbnlvcyBiZW1lbmV0ZW4uIMOJcnbDqW55ZXNcbiIKKyIgICAgc29yc3rDoW0gbWVnYWTDoXNha29yIGEgUEFSQU5DU09LQVQgdsOpZ3JlaGFqdGphIMO6Z3ksIGhvZ3kgTsOJViBhIG1lZ2ZlbGVsxZFcbiIKKyIgICAgc29yc3rDoW3DuiBlbGVtIMOpcnTDqWvDqXQga2FwamEuIEV6dXTDoW4gw7pqYsOzbCBtZWdqZWxlbmlrICRQUzMgw6lzIMO6amLDs2wgbGUtXG4iCisiICAgIGhldCB2w6FsYXN6dGFuaS4gRU9GIGJlbWVuZXQgw6lzIGJyZWFrIHBhcmFuY3MgZXNldMOpbiBmZWplesWRZGlrIGJlIGEgaHUtXG4iCisiICAgIHJvay4gw4lydsOpbnl0ZWxlbiB2w6FsYXN6dMOhcyBlc2V0w6luIHN6aW50w6luIMO6aiBwcm9tcHQgamVsZW5payBtZWcuIMOccmVzXG4iCisiICAgIHNvciBiZW9sdmFzw6FzYWtvciBhIGxlaGV0xZFzw6lnZWsgaXMgw7pqcmEgbWVnamVsZW5uZWsuIEEgYmVvbHZhc290dCBzb3JcbiIKKyIgICAgYSBSRVBMWSB2w6FsdG96w7NiYSBrZXLDvGwuIEhhIGVsbWFyYWQgYXog4oCeaW4gU1pBVkFL4oCdIHLDqXN6LCDigJ5pbiBcIiRAXCLigJ1cbiIKKyIgICAgYXogYWxhcMOpcnRlbG1lesOpcy5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgQXogdXRvbHPDsyBwYXJhbmNzIGtpbMOpcMOpc2kga8OzZGrDoXQgYWRqYSB2aXNzemEuIgogCi0jOiBidWlsdGlucy5jOjE1MzQKKyM6IGJ1aWx0aW5zLmM6MTU1MAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNTgxLDkgKzQ1NzAsMjIgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFRoZSByZXR1cm4gc3RhdHVzIGlzIHRoZSByZXR1cm4gc3RhdHVzIG9mIFBJUEVMSU5FLiIKIG1zZ3N0ciAiIgorIkEgY3PFkXZlemV0w6lrIHbDqWdyZWhhanTDoXNpIGlkZWrDqXQgw61yamEga2kuXG4iCisiICAgIFxuIgorIiAgICBDU8WQVkVaRVTDiUsgdsOpZ3JlaGFqdMOhc2Egw6lzIGVneSDDtnNzemVmb2dsYWzDsyBracOtcsOhc2EgYSB2w6lncmVoYWp0w6FzIGvDtnotXG4iCisiICAgIGJlbiBlbHRlbHQgdmFsw7NzIGlkxZFyxZFsLCBhIGhhc3puw6FsdCBmZWxoYXN6bsOhbMOzaS0gw6lzIHJlbmRzemVyZ8OpcGlkxZFrLVxuIgorIiAgICByxZFsIENTxZBWRVpFVMOJSyBiZWZlamV6xZFkw6lzZWtvci5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLXAgICAgICAgYXogw7Zzc3plZm9nbGFsw7MgbWVnamVsZW7DrXTDqXNlIGEgaG9yZG96aGF0w7MgUG9zaXggZm9ybcOhYmFuXG4iCisiICAgIFxuIgorIiAgICBBIFRJTUVGT1JNQVQgdsOhbHRvesOzIMOpcnTDqWtlIGZlbGhhc3puw6Fsw6FzcmEga2Vyw7xsIGEga2ltZW5ldCBmb3Jtw6F6w6FzYS1cbiIKKyIgICAga29yLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBBIGtpbMOpcMOpc2kga8OzZCBhIENTxZBWRVpFVMOJSyBraWzDqXDDqXNpIGvDs2RqYSBsZXN6LiIKIAotIzogYnVpbHRpbnMuYzoxNTUxCi0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxNTY3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC0zNTkyLDkgKzQ1OTQsMTcgQEAKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCi1tc2dzdHIgIkZlbHTpdGVsZXNlbiBmdXR0YXRqYSBhIFBBUkFOQ1NPVCBoYSBhIFNa0yBtZWdlZ3llemlrIGEgTUlOVMFWQUwuIEEiCittc2dzdHIgIiIKKyJQYXJhbmNzb2sgdsOpZ3JlaGFqdMOhc2EgbWludGFpbGxlc3p0w6lzIGFsYXBqw6FuLlxuIgorIiAgICBcbiIKKyIgICAgUEFSQU5DU09LIHbDqWdyZWhhanTDoXNhIGF6b24gU1pBVkFLb24sIGFtZWx5ZWsgaWxsZXN6a2VkbmVrIGEgTUlOVMOBLXJhLlxuIgorIiAgICBUw7ZiYiBtaW50w6F0IOKAnnzigJ0gamVsbGVsIGxlaGV0IGVsdsOhbGFzenRhbmkuIEEgbWludMOhayBhIGbDoWpsbsOpdi1oZWx5ZXQtXG4iCisiICAgIHRlc8OtdMOpcyBmb3Jtw6F0dW3DoXQgaGFzem7DoWxqw6FrLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBBeiB1dG9sc8OzIHBhcmFuY3Mga2lsw6lww6lzaSBrw7NkasOhdCBhZGphIHZpc3N6YS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MworIzogYnVpbHRpbnMuYzoxNTc5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtMzYxNCw5ICs0NjI0LDIwIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKKyJQYXJhbmNzb2sgdsOpZ3JlaGFqdMOhc2EgZmVsdMOpdGVsZXNlbi5cbiIKKyIgICAgXG4iCisiICAgIEF6IOKAnmlmIFBBUkFOQ1NPS+KAnSBsaXN0YSB2w6lncmVoYWp0w6FzcmEga2Vyw7xsLiBIYSBraWzDqXDDqXNpIGvDs2RqYSBudWxsYSxcbiIKKyIgICAgYWtrb3IgYSDigJ50aGVuIFBBUkFOQ1NPS+KAnSBsaXN0YSBrZXLDvGwgdsOpZ3JlaGFqdMOhc3JhLiBIYSBuZW0sIGFra29yIGF6XG4iCisiICAgIGVsc8WRIG51bGzDoXZhbCBraWzDqXDFkSDigJ5lbGlmIFBBUkFOQ1NPS+KAnSBsaXN0w6Fob3ogdGFydG96w7Mg4oCedGhlbiBQQVJBUkFOLVxuIgorIiAgICBDU09L4oCdIGxpc3RhIGtlcsO8bCB2w6lncmVoYWp0w6FzcmEuIEhhIGVneWlrIHNlbSB0ZWxqZXPDvGwsIGF6IOKAnmVsc2UgUEEtXG4iCisiICAgIFJBTkNTT0vigJ0gbGlzdGEga2Vyw7xsIHbDqWdyZWhhanTDoXNyYS4gQXogZWfDqXN6IHN6ZXJrZXpldCBraWzDqXDDqXNpIGvDs2RqYVxuIgorIiAgICBheiB1dG9sasOhcmEgdsOpZ3JlaGFqdG90dCBwYXJhbmNzIGtpbMOpcMOpc2kga8OzZGphLCB2YWd5IG51bGxhLCBoYSBuZW1cbiIKKyIgICAgdGVsamVzw7xsdCBlZ3lpayBmZWx0w6l0ZWwgc2VtLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBBeiB1dG9sasOhcmEgdsOpZ3JlaGFqdG90dCBwYXJhbmNzIGtpbMOpcMOpc2kga8OzZGphLiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCi0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxNTk2CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtMzYyNSwxMCArNDY0NiwxNiBAQAogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKLW1zZ3N0ciAiS2lib250amEg6XMgdulncmVoYWp0amEgYSBQQVJBTkNTT1QgYW3tZyBheiB1dG9sc/MgcGFyYW5jcyBhICIKK21zZ3N0ciAiIgorIlBhcmFuY3NvayB2w6lncmVoYWp0w6FzYSBhbcOtZyBhIGZlbHTDqXRlbCB0ZWxqZXPDvGwuXG4iCisiICAgIFxuIgorIiAgICBQQVJBTkNTT0sgdsOpZ3JlaGFqdMOhc2EgYWRkaWcsIGFtw61nIGEg4oCed2hpbGUgUEFSQU5DU09L4oCdIHV0b2xzw7MgcGFyYW4tXG4iCisiICAgIGNzYSBudWxsw6F2YWwgbMOpcCBraS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgQXogdXRvbHPDs25hayB2w6lncmVoYWp0b3R0IHBhcmFuY3Mga2lsw6lww6lzaSBrw7NkamEuIgogCi0jOiBidWlsdGlucy5jOjE1OTIKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE2MDgKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTM2MzcsOSArNDY2NCwxNiBAQAogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKLW1zZ3N0ciAiS2lib250amEg6XMgdulncmVoYWp0amEgYSBQQVJBTkNTT1QgYW3tZyBheiB1dG9sc/MgcGFyYW5jcyBhICIKK21zZ3N0ciAiIgorIlBhcmFuY3NvayB2w6lncmVoYWp0w6FzYSBhbcOtZyBhIGZlbHTDqXRlbCBuZW0gdGVsamVzw7xsLlxuIgorIiAgICBcbiIKKyIgICAgUEFSQU5DU09LIHbDqWdyZWhhanTDoXNhIGFkZGlnLCBhbcOtZyBhIOKAnnVudGlsIFBBUkFOQ1NPS+KAnSB1dG9sc8OzIHBhcmFuLVxuIgorIiAgICBjc2EgbmVtIG51bGzDoXZhbCBsw6lwIGtpLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBBeiB1dG9sc8OzbmFrIHbDqWdyZWhhanRvdHQgcGFyYW5jcyBraWzDqXDDqXNpIGvDs2RqYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYwNAorIzogYnVpbHRpbnMuYzoxNjIwCiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTM2NTEsOCArNDY4NSwxNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKKyJFZ3kgTsOJViBuZXbFsSB0w6Fyc2ZvbHlhbWF0IGzDqXRyZWhvesOhc2EuXG4iCisiICAgIFxuIgorIiAgICBQQVJBTkNTIGFzemlua3JvbiB2w6lncmVoYWp0w6FzYSwgYSBzemFidsOhbnlvcyBraS0gw6lzIGJlbWVuZXQgw6F0aXLDoW55w60tXG4iCisiICAgIHTDoXPDoXZhbCBlZ3ktZWd5IGNzxZF2ZXpldMOpa2JlLCBhbWVseWVrIGbDoWpsbGXDrXLDs2kgYSBOw4lWIHTDtm1iIDAtcyDDqXMgMS1cbiIKKyIgICAgZXMgZWxlbWVpYmUga2Vyw7xsbmVrIGEgdsOpZ3JlaGFqdMOzIHBhcmFuY3PDqXJ0ZWxtZXrFkWJlbi4gQXogYWxhcMOpcnRlbG1lLVxuIgorIiAgICB6ZXR0IG7DqXY6IOKAnkNPUFJPQ+KAnS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgQSBQQVJBTkNTIGtpbMOpcMOpc2kga8OzZGrDoXZhbCB0w6lyIHZpc3N6YS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNjY1LDkgKzQ3MDgsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKKyJQYXJhbmNzw6lydGVsbWV6xZEtZsO8Z2d2w6lueSBkZWZpbmnDoWzDoXNhLlxuIgorIiAgICBcbiIKKyIgICAgTMOpdHJlaG96IGVneSBOw4lWIG5ldsWxIGbDvGdndsOpbnl0LiBIYSBOw4lWIHBhcmFuY3Nrw6ludCB2w6lncmVoYWp0w6FzcmEga2UtXG4iCisiICAgIHLDvGwsIFBBUkFOQ1NPSyBmdXRuYWsgYSBow612w7MgcGFyYW5jc8OpcnRlbG1lesWRIGvDtnJueWV6ZXTDqWJlbi4gTsOJViBow612w6EtXG4iCisiICAgIHNha29yIGF6IGFyZ3VtZW50dW1vayBhIGbDvGdndsOpbnlixZFsICQxLi4uJG4gbsOpdmVuIMOpcmhldMWRZWsgZWwsIG3DrWcgYVxuIgorIiAgICBmw7xnZ3bDqW55IG5ldmUgJEZVTkNOQU1FLWvDqW50LlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBTaWtlcnJlbCB0w6lyIHZpc3N6YSwga2l2w6l2ZSBoYSBOw4lWIGNzYWsgb2x2YXNoYXTDsy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYzMgotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTY0OAogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtMzY3Niw5ICs0NzI3LDE2IEBACiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgotbXNnc3RyICJQYXJhbmNzb2sgaGFsbWF64XQgZnV0dGF0amEgZWd5IGNzb3BvcnRiYW4uIEV6IGF6IGVneWlrIG3zZGphIGF6IgorbXNnc3RyICIiCisiUGFyYW5jc29rIGNzb3BvcnRvc8OtdMOhc2EgZWd5IGVneXPDqWdnw6kuXG4iCisiICAgIFxuIgorIiAgICBFZ3kgY3NvcG9ydGvDqW50IGhhanQgdsOpZ3JlIGVneSBwYXJhbmNzc29yb3phdG90LiBFeiBlZ3kgbcOzZGphIGEga2ktIMOpc1xuIgorIiAgICBiZW1lbmV0ZWsgcGFyYW5jc2hhbG1hemJhIHZhbMOzIMOhdGlyw6FuecOtdMOhc8OhbmFrLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBBeiB1dG9sc8OzIHBhcmFuY3Mga2lsw6lww6lzaSBrw7NkasOhdCBhZGphIHZpc3N6YS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY0NAorIzogYnVpbHRpbnMuYzoxNjYwCiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zNjkxLDggKzQ3NDksMTYgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgogbXNnc3RyICIiCisiRWd5IG11bmvDoXQgZWzFkXTDqXJiZSBob3ouXG4iCisiICAgIFxuIgorIiAgICBNZWdlZ3llemlrIGF6IOKAnmZn4oCdIHBhcmFuY3MgTVVOS0FTWsOBTSBhcmd1bWVudHVtw6F2YWwuIEVneSBtZWdzemFrw610b3R0XG4iCisiICAgIHZhZ3kgaMOhdHTDqXJiZW4gZnV0w7MgbXVua8OhdCBob3ogZWzFkXTDqXJiZS4gTVVOS0FTWsOBTSBsZWhldCBtdW5rYW7DqXYgdmFneVxuIgorIiAgICBtdW5rYWF6b25vc8OtdMOzIGlzLiBFZ3kgesOhcsOzIOKAnibigJ0gbWVnYWTDoXNhIGEgbXVua8OhdCBow6F0dMOpcmJlIGvDvGxkaSwgbWludFxuIgorIiAgICBhIOKAnmJn4oCdIHBhcmFuY3MuICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIEEgdmlzc3phw6FsbMOtdG90dCBwYXJhbmNzIGtpbMOpcMOpc2kga8OzZGrDoXZhbCBsw6lwIGtpLiIKIAotIzogYnVpbHRpbnMuYzoxNjU5CisjOiBidWlsdGlucy5jOjE2NzUKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTM3MDIsOCArNDc2OCwxNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCisiQXJpdG1ldGlrYWkga2lmZWplesOpc2VrZXQgw6lydMOpa2VsIGtpLlxuIgorIiAgICBcbiIKKyIgICAgQSBLSUZFSkVaw4lTIGF6IGFyaXRtZXRpa2FpIGtpw6lydMOpa2Vsw6lzIHN6YWLDoWx5YWkgc3plcmludCBrZXLDvGxuZWsga2ktXG4iCisiICAgIMOpcnTDqWtlbMOpc3JlLiBNZWd5ZWd5ZXppayBhIOKAnmxldCBLSUZFSkVaw4lT4oCdIHBhcmFuY2NzYWwuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIDEtZ3llbCB0w6lyIHZpc3N6YSwgaGEgS0lGRUpFWsOJUyDDqXJ0w6lrZSAwLCBrw7xsw7ZuYmVuIDAtdmFsLiIKIAotIzogYnVpbHRpbnMuYzoxNjcxCisjOiBidWlsdGlucy5jOjE2ODcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTM3MzAsOCArNDgwMywyOSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgorIkZlbHTDqXRlbGVzIHBhcmFuY3MgdsOpZ3JlaGFqdMOhc2EuXG4iCisiICAgIFxuIgorIiAgICAwIHZhZ3kgMSBraWzDqXDDqXNpIGvDs2RvdCBhZCBhIEtJRkVKRVrDiVMga2nDqXJ0w6lrZWzDqXPDqW5layBlcmVkbcOpbnnDqXTFkWxcbiIKKyIgICAgZsO8Z2fFkWVuLiBBIGtpZmVqZXrDqXNlayBhIOKAnnRlc3TigJ0gcGFyYW5jcyDDoWx0YWwgaGFzem7DoWx0IHByaW1pdMOtdmVrYsWRbFxuIgorIiAgICDDqXDDvGxuZWsgZmVsLCDDqXMgYSBrw7Z2ZXRrZXrFkSBvcGVyw6F0b3Jva2thbCBrZXZlcmhldMWRZWsuXG4iCisiICAgIFxuIgorIiAgICAgICggS0lGRUpFWsOJUyApICAgIEtJRkVKRVrDiVMgw6lydMOpa8OpdCBhZGphIHZpc3N6YVxuIgorIiAgICAgICEgS0lGRUpFWsOJUyAgICAgIElnYXosIGhhIEtJRkVKRVrDiVMgaGFtaXNcbiIKKyIgICAgICBLSUYxICYmIEtJRjIgICAgIElnYXosIGhhIEtJRjEgw6lzIEtJRjIgaXMgaWdhelxuIgorIiAgICAgIEtJRjEgfHwgS0lGMiAgICAgSWdheiwgaGEgS0lGMSB2YWd5IEtJRjIgaWdhelxuIgorIiAgICBcbiIKKyIgICAgQXog4oCePT3igJ0gw6lzIOKAniE94oCdIG9wZXLDoXRvcm9rIGhhc3puw6FsYXTDoW7DoWwgYSBqb2Jiw6lydMOpayBtaW50YWvDqW50IMOpcnRlbC1cbiIKKyIgICAgbWV6xZFkaWssIMOpcyBmw6FqbG7DqXZpbGxlc3p0w6lzIHTDtnJ0w6luaWsuIEEgaGFzb25sw7NhbiBtxbFrw7ZkxZEg4oCePX7igJ0gb3BlcsOhLVxuIgorIiAgICB0b3IgaGFzem7DoWxhdGFrb3IgYSBqb2Jiw6lydMOpayByZWd1bMOhcmlzIGtpZmVqZXrDqXNrw6ludCBrZXLDvGwgaWxsZXN6dMOpcy1cbiIKKyIgICAgcmUuXG4iCisiICAgIFxuIgorIiAgICBBeiDigJ4mJuKAnSDDqXMg4oCefHzigJ0gb3BlcsOhdG9yb2sgcsO2dmlkesOhci10dWxhamRvbnPDoWfDumFrLCB2YWd5aXMgS0lGMi10IG5lbVxuIgorIiAgICDDqXJ0w6lrZWxpayBraSwgaGEgS0lGMS1ixZFsIGlzIG1lZ8OhbGxhcMOtdGhhdMOzIGEga2lmZWplesOpcyDDqXJ0w6lrZS5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgMCB2YWd5IDEgYSBLSUZFSkVaw4lTLXTFkWwgZsO8Z2fFkWVuLiIKIAotIzogYnVpbHRpbnMuYzoxNjk3CisjOiBidWlsdGlucy5jOjE3MTMKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC0zNzg0LDggKzQ4NzgsNTUgQEAKICIgICAgSElTVElHTk9SRVx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyB1c2VkIHRvIGRlY2lkZSB3aGljaFxuIgogIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiBtc2dzdHIgIiIKKyJLw7Z6w7ZzIHBhcmFuY3PDqXJ0ZWxtZXrFkS12w6FsdG96w7NrIMOpcyBoYXN6bsOhbGF0dWsuXG4iCisiICAgIFxuIgorIiAgICBCQVNIX1ZFUlNJT04gICBWZXJ6acOzYWRhdG9rIGVycsWRbCBhIEJhc2gtcsWRbFxuIgorIiAgICBDRFBBVEggICAgIEtldHTFkXNwb250b2trYWwgZWx2w6FsYXN6dG90dCBrw7ZueXZ0w6FybGlzdGEsIGFtZWx5ZWtiZW4gYVxuIgorIiAgICAgICAgICAgICAgIOKAnmNk4oCdIGtlcmVzXG4iCisiICAgIEdMT0JJR05PUkUgS2V0dMWRc3BvbnRva2thbCBlbHbDoWxhc3p0b3R0IG1pbnRhbGlzdGEsIGFtZWx5ZWtyZSBpbGxlc3otXG4iCisiICAgICAgICAgICAgICAga2VkxZEgbmV2xbEgZsOhamxvayBuZW0ga2Vyw7xsbmVrIMO6dHZvbmFsLWtpZWfDqXN6w610w6lzcmVcbiIKKyIgICAgSElTVEZJTEUgICBBIHBhcmFuY3NlbMWRem3DqW55ZWtldCB0w6Fyb2zDsyBmw6FqbCBuZXZlXG4iCisiICAgIEhJU1RGSUxFU0laRSAgIEF6IGVsxZF6bcOpbnlmw6FqbCBtYXhpbcOhbGlzIGhvc3N6YSBzb3Jva2JhblxuIgorIiAgICBISVNUU0laRSAgIEEgcGFyYW5jc8OpcnRlbG1lesWRIMOhbHRhbCBrZXplbHQgZWzFkXptw6lueXNvcm9rIG1heGltw6FsaXNcbiIKKyIgICAgICAgICAgICAgICBzesOhbWFcbiIKKyIgICAgSE9NRSAgICAgICBBIHNhasOhdCBrw7ZueXZ0w6FyIHRlbGplcyBhYnN6b2zDunQgw7p0dm9uYWxhXG4iCisiICAgIEhPU1ROQU1FICAgQSBwYXJhbmNzw6lydGVsbWV6xZF0IGZ1dHRhdMOzIGfDqXAgbmV2ZVxuIgorIiAgICBIT1NUVFlQRSAgIEEgQmFzaC10IGZ1dHRhdMOzIENQVSB0w61wdXNhXG4iCisiICAgIElHTk9SRUVPRiAgQSBwYXJhbmNzw6lydGVsbWV6xZEgdmlzZWxrZWTDqXPDqXQgw6FsbMOtdGphLCBob2d5IG1pdCB0ZWd5ZW4sXG4iCisiICAgICAgICAgICAgICAgaGEgZWd5IHNvciBlbGVqw6luIEVPRiBrYXJha3RlcnQga2FwIGJlbWVuZXTDqW4uIEhhIGV6IGEgdsOhbC1cbiIKKyIgICAgICAgICAgICAgICB0b3rDsyBsw6l0ZXppaywgYXogw6lydMOpa8OpYmVuIG1lZ2Fkb3R0IHN6w6Ftw7ogRU9GIGthcmFrdGVydCBuZW1cbiIKKyIgICAgICAgICAgICAgICB2ZXN6IGZpZ3llbGVtYmUgKGFsYXDDqXJ0ZWxtZXpldHRlbiAxMCkuIEhhIG5pbmNzIGJlw6FsbMOtdHZhLFxuIgorIiAgICAgICAgICAgICAgIEVPRi1yYSBraWzDqXAgYSBwYXJhbmNzw6lydGVsbWV6xZFcbiIKKyIgICAgTUFDSFRZUEUgICBBIEJhc2gtdCBmdXR0YXTDsyBnw6lwZXQgbGXDrXLDsyBrYXJha3RlcmzDoW5jXG4iCisiICAgIE1BSUxDSEVDSyAgTWVnYWRvdHQgc3rDoW3DuiBtw6Fzb2RwZXJjZW5rw6ludCBrZXJlcyBhIEJhc2ggw7pqIGxldmVsZWtldFxuIgorIiAgICBNQUlMUEFUSCAgIEtldHTFkXNwb250b2trYWwgZWx2w6FsYXN6dG90dCBmw6FqbG7DqXZsaXN0YSwgYWhvbCBhIEJhc2hcbiIKKyIgICAgICAgICAgICAgICDDumogbGV2ZWxla2V0IGtlcmVzXG4iCisiICAgIE9TVFlQRSAgICAgQSBCYXNoLXQgZnV0dGF0w7MgZ8OpcGVuIGZ1dMOzIFVOSVgtdsOhbHRvemF0IG5ldmUgKHZlcnppw7NqYSlcbiIKKyIgICAgUEFUSCAgICAgICBLZXR0xZFzcG9udG9ra2FsIGVsdsOhbGFzenRvdHQga8O2bnl2dMOhcmxpc3RhLCBhbWVseWVrYmVuIGFcbiIKKyIgICAgICAgICAgICAgICBCYXNoIGZ1dHRhdGhhdMOzIHByb2dyYW1va2F0IGtlcmVzIHBhcmFuY3N2w6lncmVoYWp0w6Fza29yXG4iCisiICAgIFBST01QVF9DT01NQU5EIEF6IGVsc8WRZGxlZ2VzIHByb21wdCBracOtcsOhc2EgZWzFkXR0IHbDqWdyZWhhanRhbmTDsyBwYS1cbiIKKyIgICAgICAgICAgICAgICByYW5jc1xuIgorIiAgICBQUzEgICAgICAgIEF6IGVsc8WRZGxlZ2VzIHByb21wdFxuIgorIiAgICBQUzIgICAgICAgIEEgbcOhc29kbGFnb3MgcHJvbXB0XG4iCisiICAgIFBXRCAgICAgICAgQXogYWt0dcOhbGlzIGvDtm55dnTDoXIgdGVsamVzIMO6dHZvbmFsYVxuIgorIiAgICBTSEVMTE9QVFMgIEF6IGVuZ2Vkw6lseWV6ZXR0IHNoZWxsLWJlw6FsbMOtdMOhc29rIGtldHTFkXNwb250b2trYWwgZWx2w6FsYXN6LVxuIgorIiAgICAgICAgICAgICAgIHRvdHQgbGlzdMOhamFcbiIKKyIgICAgVEVSTSAgICAgICBBeiBha3R1w6FsaXMgdGVybWluw6FsdMOtcHVzIG5ldmVcbiIKKyIgICAgVElNRUZPUk1BVCBBIOKAnnRpbWXigJ0gcGFyYW5jcyDDoWx0YWwgaGFzem7DoWx0IGlkxZFmb3Jtw6F0dW1cbiIKKyIgICAgYXV0b19yZXN1bWUgICAgTmVtIMO8cmVzIMOpcnTDqWsgZXNldMOpbiBlZ3kgZWd5IHN6w7Niw7NsIMOhbGzDsyBwYXJhbmNzIGVsxZEtXG4iCisiICAgICAgICAgICAgICAgc3rDtnIgYSBtZWdzemFrw610b3R0IG11bmvDoWsgbmV2ZWkga8O2esO2dHQgbGVzeiBrZXJlc3ZlLiBUYWzDoS1cbiIKKyIgICAgICAgICAgICAgICBsYXQgZXNldMOpbiBhIG11bmthIGVsxZF0w6lyYmUga2Vyw7xsLiDigJ5leGFjdOKAnSDDqXJ0w6lrIGVzZXTDqW5cbiIKKyIgICAgICAgICAgICAgICBwb250b3NhbiBtZWdlZ3llesWRIG5ldmV0IGtlcmVzLCDigJ5zdWJzdHJpbmfigJ0gZXNldMOpbiB0ZXRzesWRLVxuIgorIiAgICAgICAgICAgICAgIGxlZ2VzIGVneWV6w6lzdCwgbWluZGVuIG3DoXMgw6lydMOpayBlc2V0w6luIGEgc3rDsyBlbGVqw6luIGtlcmVzXG4iCisiICAgIGhpc3RjaGFycyAgRWzFkXptw6lueWtpZWfDqXN6w610w6lzdCDDqXMgZ3lvcnMgY3NlcsOpdCB2ZXrDqXJsxZEga2FyYWt0ZXJla2V0XG4iCisiICAgICAgICAgICAgICAgYWQgbWVnLiBBeiBlbHPFkSBrYXJha3RlciBheiBlbMWRem3DqW55YmVoZWx5ZXR0ZXPDrXTFkSBrYXJhay1cbiIKKyIgICAgICAgICAgICAgICB0ZXIgKMOhbHRhbMOhYmFuIOKAniHigJ0pLCBhIG3DoXNvZGlrIGEgZ3lvcnNjc2VyZS1rYXJha3RlciAow6FsdGEtXG4iCisiICAgICAgICAgICAgICAgbMOhYmFuIOKAnl7igJ0pLCBhIGhhcm1hZGlrIHBlZGlnIGF6IGVsxZF6bcOpbnltZWdqZWd5esOpcyAow6FsdGFsw6EtXG4iCisiICAgICAgICAgICAgICAgYmFuIOKAniPigJ0pXG4iCisiICAgIEhJU1RJR05PUkUgS2V0dMWRc3BvbnRva2thbCBlbHbDoWxhc3p0b3R0IG1pbnRhbGlzdGEsIGFtZWx5IG1pbnTDoWtyYVxuIgorIiAgICAgICAgICAgICAgIGlsbGVzemtlZMWRIHBhcmFuY3NvayBuZW0ga2Vyw7xsbmVrIGF6IGVsxZF6bcOpbnllayBrw7Z6w6lcbiIKIAotIzogYnVpbHRpbnMuYzoxNzU0CisjOiBidWlsdGlucy5jOjE3NzAKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM4MTUsOCArNDk1NiwzNCBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgYXJndW1lbnQgaXMgc3VwcGxpZWQgb3IgdGhlIGRpcmVjdG9yeVxuIgogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCisiS8O2bnl2dMOhcmFrYXQgdGVzeiBhIHZlcmVtYmUuXG4iCisiICAgXG4iCisiICAgIEVneSBrw7ZueXZ0w6FyYXQgdGVzeiBhIGvDtm55dnTDoXJ2ZXJlbSB0ZXRlasOpcmUsIHZhZ3kgZm9yZ2F0amEgYSB2ZXJtZXQsXG4iCisiICAgIGF6IMO6aiBmZWxzxZEgZWxlbW3DqSBhIGplbGVubGVnaSBtdW5rYWvDtm55dnTDoXJhdCB0w6l2ZS4gQXJndW1lbnR1bW9rIG7DqWwtXG4iCisiICAgIGvDvGwgaMOtdnZhIGEga8OpdCBmZWxzxZEga8O2bnl2dMOhcmF0IGNzZXLDqWxpIG1lZy5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLW4gICAgICAgTmUgdsOhbHRzb24ga8O2bnl2dMOhcmF0IGhvenrDoWFkw6Fza29yLCB2YWd5aXMgY3NhayBhXG4iCisiICAgICAgIHZlcm1ldCB2w6FsdG96dGFzc2EuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHVtb2s6XG4iCisiICAgICAgK04gICAgICAgw5pneSBmb3JnYXRqYSBhIHZlcm1ldCwgaG9neSBheiBOLWVkaWsga8O2bnl2dMOhciAoMC10w7NsXG4iCisiICAgICAgIGtlemR2ZSwgYSDigJ5kaXJz4oCdIMOhbHRhbCBracOtcnQgbGlzdMOhbiBiYWxyw7NsIHN6w6Ftb2x2YSlcbiIKKyIgICAgICAga2Vyw7xsasO2biBhIHZlcmVtIHRldGVqw6lyZS5cbiIKKyIgICAgXG4iCisiICAgICAgLU4gICAgICAgw5pneSBmb3JnYXRqYSBhIHZlcm1ldCwgaG9neSBheiBOLWVkaWsga8O2bnl2dMOhciAoMC10w7NsXG4iCisiICAgICAgIGtlemR2ZSwgYSDigJ5kaXJz4oCdIMOhbHRhbCBracOtcnQgbGlzdMOhbiBqb2JicsOzbCBzesOhbW9sdmEpXG4iCisiICAgICAgIGtlcsO8bGrDtm4gYSB2ZXJlbSB0ZXRlasOpcmUuXG4iCisiICAgIFxuIgorIiAgICAgIGRpciAgICAgIEEgdmVyZW0gdGV0ZWrDqXJlIGhlbHllemkgS1TDgVIga8O2bnl2dMOhcmF0LCDDqXMgdWd5YW5lenRcbiIKKyIgICAgICAgw6FsbMOtdGphIGJlIMO6aiBtdW5rYWvDtm55dnTDoXJuYWsuXG4iCisiICAgIFxuIgorIiAgICBBIOKAnmRpcnPigJ0gYmXDqXDDrXRldHQgcGFyYW5jcyBsaXN0w6F6emEgYSBrw7ZueXZ0w6FydmVybWV0LiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBTaWtlcnJlbCB0w6lyIHZpc3N6YSwga2l2w6l2ZSDDqXJ2w6lueXRlbGVuIGFyZ3VtZW50dW0gdmFneSBrw7ZueXZ0w6FydsOhbHTDoXNcbiIKKyIgICAgc29yw6FuIHTDtnJ0w6luxZEgaGliYSBlc2V0w6luLiIKIAotIzogYnVpbHRpbnMuYzoxNzg4CisjOiBidWlsdGlucy5jOjE4MDQKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzg0Miw4ICs1MDA5LDI5IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBzdXBwbGllZCBvciB0aGUgZGlyZWN0b3J5XG4iCiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKKyJFbGVtZWsgZWx0w6F2b2zDrXTDoXNhIGEgdmVyZW1ixZFsLlxuIgorIiAgICBcbiIKKyIgICAgRWxlbWVrZXQgdmVzeiBraSBhIGvDtm55dnTDoXJ2ZXJlbWLFkWwuIEFyZ3VtZW50dW1vayBuw6lsa8O8bCBraXZlc3ppIGEgXG4iCisiICAgIGxlZ2ZlbHPFkSBlbGVtZXQsIMOpcyBhIGtpdmV0dCBlbGVtcmUgw6FsbMOtdGphIGF6IMO6aiBtdW5rYWvDtm55dnTDoXJhdC5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLW4gICBOZSB2w6FsdHNvbiBrw7ZueXZ0w6FyYXQgZWx0w6F2b2zDrXTDoXNrb3IsIHZhZ3lpcyBjc2FrIGEgdmVybWV0XG4iCisiICAgICAgICAgICB2w6FsdG96dGFzc2EuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHVtb2s6XG4iCisiICAgICAgK04gICBFbHTDoXZvbMOtdGphIGF6IE4tZWRpayBlbGVtZXQgYSDigJ5kaXJz4oCdIMOhbHRhbCBracOtcnQgbGlzdMOhbiwgbnVsbMOhLVxuIgorIiAgICAgICAgICAgdMOzbCwgYmFscsOzbCBzesOhbW9sdmEuIFBsLiBhIOKAnnBvcGQgKzDigJ0gYXogZWxzxZEsIG3DrWcgYSDigJ5wb3BkICsx4oCdIGFcbiIKKyIgICAgICAgICAgIGvDtm55dnTDoXJhdCB0w6F2b2zDrXRqYSBlbC5cbiIKKyIgICAgICAtTiAgIEVsdMOhdm9sw610amEgYXogTi1lZGlrIGVsZW1ldCBhIOKAnmRpcnPigJ0gw6FsdGFsIGtpw61ydCBsaXN0w6FuLCBudWxsw6EtXG4iCisiICAgICAgICAgICB0w7NsLCBqb2JicsOzbCBzesOhbW9sdmEuIFBsLiBhIOKAnnBvcGQgLTDigJ0gYXogdXRvbHPDsywgYSDigJ5wb3BkIC0x4oCdIGF6XG4iCisiICAgICAgICAgICB1dG9sc8OzIGVsxZF0dGkga8O2bnl2dMOhcmF0IHTDoXZvbMOtdGphIGVsLlxuIgorIiAgICBcbiIKKyIgICAgQSDigJ5kaXJz4oCdIGJlw6lww610ZXR0IHBhcmFuY3MgbGlzdMOhenphIGEga8O2bnl2dMOhcnZlcm1ldC4gICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGtpdsOpdmUgw6lydsOpbnl0ZWxlbiBhcmd1bWVudHVtIHZhZ3kga8O2bnl2dMOhcnbDoWx0w6FzXG4iCisiICAgIHNvcsOhbiB0w7ZydMOpbsWRIGhpYmEgZXNldMOpbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTgxOAorIzogYnVpbHRpbnMuYzoxODM0CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM4NzEsOCArNTA1OSwyOCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisiQSBrw7ZueXZ0w6FydmVyZW0gbWVnamVsZW7DrXTDqXNlLlxuIgorIiAgICBcbiIKKyIgICAgTWVnamVsZW7DrXRpIGEgamVsZW5sZWcgbWVnamVneXpldHQga8O2bnl2dMOhcmFrYXQuIEEga8O2bnl2dMOhcmFrYXQgYVxuIgorIiAgICDigJ5wdXNoZOKAnSBwYXJhbmNjc2FsIGxlaGV0IGEgdmVyZW1iZSByYWtuaTsgw6lzIGEg4oCecG9wZOKAnSBwYXJhbmNjc2FsIGtpdmVuLVxuIgorIiAgICBuaS5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLWMgICAgICAgYSBrw7ZueXZ0w6FydmVyZW0gdMO2cmzDqXNlIGF6IMO2c3N6ZXMgZWxlbSBlbHTDoXZvbMOtdMOhc8OhdmFsXG4iCisiICAgICAgLWwgICAgICAgYSBzYWrDoXQga8O2bnl2dMOhcmF0IG5lIHLDtnZpZMOtdHNlIGEgbGlzdMOhesOhc2tvciBlZ3kgdGlsZGUgKH4pXG4iCisiICAgICAgLXAgICAgICAgYSBrw7ZueXZ0w6FydmVyZW0ga2nDrXLDoXNhIHNvcm9ua8OpbnQgZWd5IGVsZW1tZWxcbiIKKyIgICAgICAtdiAgICAgICBhIGvDtm55dnTDoXJ2ZXJlbSBracOtcsOhc2Egc29yb25rw6ludCBlZ3kgZWxlbW1lbCwgYSB2ZXJtZW5cbiIKKyIgICAgICAgICAgICAgICBiZWzDvGxpIHBvesOtY2nDsyBqZWzDtmzDqXPDqXZlbFxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnR1bW9rOlxuIgorIiAgICAgICtOICAgICAgIE4gZGFyYWIgYmVqZWd5esOpc3QgamVsZW7DrXQgbWVnIGF6IGFyZ3VtZW50dW0gbsOpbGvDvGwgYSBkaXJzXG4iCisiICAgICAgICAgICAgICAgw6FsdGFsIG1lZ2plbGVuw610ZXR0IGxpc3TDoW4gYmFscsOzbCBzesOhbW9sdmEsIG51bGzDoXTDs2wga2V6ZHZlXG4iCisiICAgICAgLU4gICAgICAgTiBkYXJhYiBiZWplZ3l6w6lzdCBqZWxlbsOtdCBtZWcgYSBsaXN0w6Fiw7NsIGpvYmJyw7NsICIKKyJzesOhbW9sdmEgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGtpdsOpdmUgw6lydsOpbnl0ZWxlbiBhcmd1bWVudHVtIHZhZ3kgaGliYSBlc2V0w6luLiIKIAotIzogYnVpbHRpbnMuYzoxODQ3CisjOiBidWlsdGlucy5jOjE4NjMKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4OTIsOCArNTEwMCwyNSBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgT1BUTkFNRSBpcyBlbmFibGVkOyBmYWlscyBpZiBhbiBpbnZhbGlkIG9wdGlvbiBpc1xuIgogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgorIlBhcmFuY3PDqXRlbG1lesWRLWthcGNzb2zDs2sgYmXDoWxsw610w6FzYSDDqXMgdMO2cmzDqXNlLlxuIgorIiAgICBcbiIKKyIgICAgTWluZGVuIG1lZ2Fkb3R0IE9QVE7DiVYga2FwY3NvbMOzIGJlw6FsbMOtdMOhc2EuIEFyZ3VtZW50dW1vayBuw6lsa8O8bCBow612dmFcbiIKKyIgICAgZWd5IHRlbGplcyBsaXN0YSBracOtcsOhc2EgYSBwYXJhbmNzw6lydGVsbWV6xZEga2FwY3NvbMOzaXLDs2wsIGplbGV6dmUgYXpva1xuIgorIiAgICDDoWxsYXBvdMOhdC5cbiIKKyIgICAgXG4iCisiICAgIEthcGNzb2zDs2s6XG4iCisiICAgICAgLW8gICAgICAgT1BUTkVWZWsga29ybMOhdG96w6FzYSBhIOKAnnNldCAtb+KAnS12YWwgaGFzem7DoWx0YWtyYVxuIgorIiAgICAgIC1wICAgICAgIG1pbmRlbiBrYXBjc29sw7Mga2lsaXN0w6F6w6FzYSDDoWxsYXBvdHRhbFxuIgorIiAgICAgIC1xICAgICAgIGtpbWVuZXQgZWxueWVsw6lzZVxuIgorIiAgICAgIC1zICAgICAgIG1pbmRlbiBPUFROw4lWIGVuZ2Vkw6lseWV6w6lzZVxuIgorIiAgICAgIC11ICAgICAgIG1pbmRlbiBPUFROw4lWIHRpbHTDoXNhXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIHTDqXIgdmlzc3phLCBoYSBPUFROw4lWIGVuZ2Vkw6lseWV6dmUgdmFuOyBzaWtlcnRlbGVuw7xsLCBoYSBoaS1cbiIKKyIgICAgYsOhcyBrYXBjc29sw7NrYXQga2FwIHZhZ3kgT1BUTsOJViB0aWx0dmEgdmFuLiIKIAotIzogYnVpbHRpbnMuYzoxODY4CisjOiBidWlsdGlucy5jOjE4ODQKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTM5MTYsMTQgKzUxNDEsMzkgQEAKICIgICAgXG4iCiAiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgogIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgogImFzc2lnbm1lbnRcbiIKICIgICAgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgorIkZPUk3DgVRVTSBhbGFwasOhbiBracOtcmphIGF6IEFSR1VNRU5UVU1PS2F0LlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAtdiB2w6FsdG96w7MgICAgICAga2ltZW5ldCBWw4FMVE9aw5MgbmV2xbEgdsOhbHRvesOzYmEgw61yw6FzYSBhIHN6YWJ2w6FueW9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICBraW1lbmV0IGhlbHlldHRcbiIKKyIgICAgXG4iCisiICAgIEZPUk3DgVRVTSBlZ3kga2FyYWt0ZXJsw6FuYywgYW1lbHkgaMOhcm9tIHTDrXB1c8O6IHByaW1pdMOtdmVrYsWRbCDDoWxsOiBlZ3ktXG4iCisiICAgIHN6ZXLFsSBrYXJha3RlcmVrLCBhbWVseWVrZXQgYSBwYXJhbmNzIGEga2ltZW5ldHJlIG3DoXNvbDsgZXNjYXBlLWthcmFrLVxuIgorIiAgICB0ZXJzb3JvemF0b2ssIGFtZWx5ZWtldCDDoXRhbGFrw610dmEgbcOhc29sIGEga2ltZW5ldHJlOyB2YWxhbWludCBmb3Jtw6EtXG4iCisiICAgIHR1bWplbHrFkWssIGFtZWx5ZWsgcmVuZHJlIGEga8O2dmV0a2V6xZEgYXJndW1lbnR1bSBracOtcsOhc8OhdCBzemFiw6FseW96LVxuIgorIiAgICB6w6FrLlxuIgorIiAgICBcbiIKKyIgICAgQSBwcmludGYoMSkgw6lzIHByaW50ZigzKSDDoWx0YWwgaGFzem7DoWx0IHN6b2vDoXNvcyBqZWx6xZFrw7ZuIHTDumwgYSBrw7Z2ZXQtXG4iCisiICAgIGtlesWRa2V0IGlzbWVyaSBhIHByaW50ZiBwYXJhbmNzOlxuIgorIiAgICBcbiIKKyIgICAgICAlYiAgICAgICBrYXJha3RlcmzDoW5jIGtpw61yw6FzYSBheiBlc2NhcGUtc3pla3ZlbmNpw6FrIMOpcnRlbG1lesOpc2UgdXTDoW5cbiIKKyIgICAgICAlcSAgICAgICBhcmd1bWVudHVtIGlkw6l6xZFqZWxlesOpc2Ugb2x5YW4gbcOzZG9uLCBob2d5IHBhcmFuY3PDqXJ0ZWxtZXrFkVxuIgorIiAgICAgICAgICAgICAgIGJlbWVuZXRla8OpbnQgaGFzem7DoWxoYXTDsyBsZWd5ZW5cbiIKKyIgICAgXG4iCisiICAgIEtpbMOpcMOpc2kga8OzZDpcbiIKKyIgICAgU2lrZXJyZWwgdMOpciB2aXNzemEsIGtpdsOpdmUgaGEgaGliw6FzIGthcGNzb2zDs2thdCBrYXAsIHZhZ3kgYXogw61yw6FzL8Opci1cbiIKKyIgICAgdMOpa2Fkw6FzIGhpYsOhdmFsIGrDoXJ0LiIKIAotIzogYnVpbHRpbnMuYzoxODk1CisjOiBidWlsdGlucy5jOjE5MTMKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtMzk0OSw4ICs1MTk5LDI5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJNZWdhZGphLCBob2d5IGEgUmVhZGxpbmUgaG9neWFuIGVnw6lzesOtdHNlIGtpIGF6IGFyZ3VtZW50dW1va2F0LlxuIgorIiAgICBcbiIKKyIgICAgTWluZGVuIE7DiVYtaGV6IG1lZ2FkamEsIGhvZ3lhbiBlZ8Opc3rDrXRzZSBraSBhIFJlYWRsaW5lIGF6IGFyZ3VtZW50dW1vLVxuIgorIiAgICBrYXQuIEhhIG5pbmNzZW5layBrYXBjc29sw7NrIG1lZ2FkdmEsIGEgamVsZW5sZWdpIMOpcnTDqWsga2Vyw7xsIGtpw61yw6FzcmEsXG4iCisiICAgIMO6anJhZmVsaGFzem7DoWxoYXTDsyBtw7Nkb24uXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1wICAgICAgIG1lZ2zDqXbFkSBraWVnw6lzesOtdMOpc21lZ2Fkw6Fzb2sgbGlzdMOhesOhc2Egw7pqcmFoYXN6bsOhbGhhdMOzIG3Ds2RvblxuIgorIiAgICAgIC1yICAgICAgIGtpZWfDqXN6w610w6lzbWVnYWTDoXNvayB0w7ZybMOpc2UgbWluZGVuIE7DiVYtdMWRbDsgdmFneSBoYSBuaW5jc1xuIgorIiAgICAgICAgICAgICAgIE7DiVYgbWVnYWR2YSwgYXogw7Zzc3plcyB0w7ZybMOpc2VcbiIKKyIgICAgICAtRCAgICAgICBraWVnw6lzesOtdMOpc2VrIMOpcyBtxbF2ZWxldGVrIGFsa2FsbWF6w6FzYSBhbGFww6lydGVsbWV6w6lzYmVuLCBoYVxuIgorIiAgICAgICAgICAgICAgIGF6IGFkb3R0IHBhcmFuY3Nob3ogbmluY3Mga2llZ8Opc3rDrXTDqXMgbWVnYWR2YVxuIgorIiAgICAgIC1FICAgICAgIGtpZWfDqXN6w610w6lzZWsgw6lzIG3FsXZlbGV0ZWsgYWxrYWxtYXrDoXNhIGF6IOKAnsO8cmVz4oCdIHBhcmFuY3Nvay1cbiIKKyIgICAgICAgICAgICAgICByYSwgdmFneWlzIGEgc29yIGVsZWrDqW5cbiIKKyIgICAgXG4iCisiICAgIEtpZWfDqXN6w610w6lza29yIGEgbcWxdmVsZXRlayBhIG5hZ3liZXTFsXMga2FwY3NvbMOzayBmZWxzb3JvbMOhc8OhbmFrIHNvci1cbiIKKyIgICAgcmVuZGrDqWJlbiBrw61zw6lybGkgbWVnIGEgUmVhZGxpbmUuIEEgLUQgZWxzxZFiYnPDqWdldCDDqWx2ZXogYSAtRS12ZWwgc3plbS1cbiIKKyIgICAgYmVuLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBTaWtlcnJlbCB0w6lyIHZpc3N6YSwga2l2w6l2ZSDDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyDDqXMgaGliYSBlc2V0w6luLiIKIAotIzogYnVpbHRpbnMuYzoxOTIzCisjOiBidWlsdGlucy5jOjE5NDEKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzk2MiwxNCArNTIzMywyMyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisiTGVoZXRzw6lnZXMga2llZ8Opc3rDrXTDqXNlayBtZWdqZWxlbsOtdMOpc2UgYSBrYXBjc29sw7NrdMOzbCBmw7xnZ8WRZW4uXG4iCisiICAgIFxuIgorIiAgICBGw7xnZ3bDqW55YmVuIHZhbMOzIGhhc3puw6FsYXRyYSBzem9sZ8OhbCBhIGxlaGV0c8OpZ2VzIGtpZWfDqXN6w610w6lzZWsgZ2VuZS1cbiIKKyIgICAgcsOhbMOhc2EgY8OpbGrDoWLDs2wuIEhhIGF6IGVsaGFneWhhdMOzIFNaw5MgYXJndW1lbnR1bSBpcyBtZWcgdmFuIGFkdmEsIFNaw5MtXG4iCisiICAgIHJhIGVsw7ZscsWRbCBpbGxlc3prZWTFkSB0YWzDoWxhdG9rIGplbGVubmVrIGNzYWsgbWVnLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBTaWtlcnJlbCBsw6lwIGtpLCBraXbDqXZlIMOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIHZhZ3kgaGliYSBlc2V0w6luLiIKIAotIzogYnVpbHRpbnMuYzoxOTM4CisjOiBidWlsdGlucy5jOjE5NTYKKyMsIGZ1enp5CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCiAiICAgIE1vZGlmeSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBubyBOQU1FcyBhcmUgIgogInN1cHBsaWVkLFxuIgotIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVnaW4gZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbm0sICIKKyIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlaW5nIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW4sICIKICJwcmludFxuIgogIiAgICB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUgb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbiAiCiAic3BlY2lmaWNhdGlvbi5cbiIKQEAgLTM5OTMsOCArNTI3MywzNSBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIE5BTUUgZG9lcyBub3RcbiIKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgorIktpZWfDqXN6w610w6lzaSBiZcOhbGzDrXTDoXNvayBtw7Nkb3PDrXTDoXNhIHZhZ3kga2nDrXLDoXNhLlxuIgorIiAgICBcbiIKKyIgICAgS2llZ8Opc3rDrXTDqXNpIGJlw6FsbMOtdMOhc29rIGxpc3TDoXrDoXNhIG1pbmRlbiBOw4lWLWhleiwgdmFneSBoYSBuaW5jcyBOw4lWXG4iCisiICAgIG1lZ2FkdmEsIGFra29yIGF6IMOpcHBlbiB6YWpsw7Mga2llZ8Opc3rDrXTDqXNyZS4gSGEgbmluY3MgS0FQQ1NPTMOTIG1lZ2FkLVxuIgorIiAgICB2YSwga2nDrXJqYSBhIGtpZWfDqXN6w610w6lzaSBiZcOhbGzDrXTDoXNva2F0IG1pbmRlbiBOw4lWLWhleiB2YWd5IGF6IGFrdHXDoS1cbiIKKyIgICAgbGlzIGtpZWfDqXN6w610w6lzaGV6LlxuIgorIiAgICBcbiIKKyIgICAgS2FwY3NvbMOzazpcbiIKKyIgICAgICAgLW8ga2FwY3NvbMOzICAgICBLQVBDU09Mw5Mga2llZ8Opc3rDrXTDqXNlaSBiZcOhbGzDrXTDoXMgYmVrYXBjc29sw6FzYSBtaW5kZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIE7DiVYtaGV6XG4iCisiICAgICAgIC1EICAgICAgICAgICAgICBBeiBhbGFww6lydGVsbWV6ZXR0IGtpZWfDqXN6w610w6lzIGJlw6FsbMOtdMOhc2FpbmFrIG3Ds2RvLVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgc8OtdMOhc2FcbiIKKyIgICAgICAgLUUgICAgICAgICAgICAgIEF6IMO8cmVzIGtpZWfDqXN6w610w6lzIGJlw6FsbMOtdMOhc2FpbmFrIG3Ds2Rvc8OtdMOhc2FcbiIKKyIgICAgXG4iCisiICAgIOKAni1v4oCdIGhlbHlldHQg4oCeK2/igJ0gaGFzem7DoWxhdMOhdmFsIGEgYmXDoWxsw610w6FzIGtpa2FwY3NvbGhhdMOzLlxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnR1bW9rOlxuIgorIiAgICBcbiIKKyIgICAgTWluZGVuIE7DiVYgZWd5IHBhcmFuY3NyYSB2b25hdGtvemlrLCBhbWVseWhleiBlZ3kga2llZ8Opc3rDrXTDqXN0IGVsxZF6xZFsZWdcbiIKKyIgICAgbWVnIGtlbGwgYWRuaSBhIOKAnmNvbXBsZXRl4oCdIHBhcmFuY2NzYWwuIEhhIG5pbmNzIE7DiVYgbWVnYWR2YSwgYSBjb21wb3B0LVxuIgorIiAgICBvdCBlZ3kgw6lwcGVuIGtpZWfDqXN6w610w6lzZWtldCBnZW5lcsOhbMOzIGbDvGdndsOpbnlixZFsIGtlbGwgaMOtdm5pLCDDqXMgYSB6YWotXG4iCisiICAgIGzDsyBnZW5lcsOhbMOhc3JhIGZvZyB2b25hdGtvem5pLlxuIgorIiAgICBcbiIKKyIgICAgS2lsw6lww6lzaSBrw7NkOlxuIgorIiAgICBTaWtlcnJlbCBsw6lwIGtpLCBraXbDqXZlIGhhIMOpcnbDqW55dGVsZW4ga2FwY3NvbMOza2F0IGthcCwgdmFneSBOw4lWIG5pbmNzXG4iCisiICAgIG3DqWcgbWVnYWR2YS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CisjLCBmdXp6eQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCkBAIC00MDIyLDcgKzUzMjksOCBAQAogIiAgICBcbiIKICIgICAgSWYgLUMgaXMgc3VwcGxpZWQgd2l0aG91dCAtYywgdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLiAgV2hlblxuIgogIiAgICBDQUxMQkFDSyBpcyBldmFsdWF0ZWQsIGl0IGlzIHN1cHBsaWVkIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBhcnJheVxuIgotIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuXG4iCisiICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudFxuIgorIiAgICBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZICIKICJiZWZvcmVcbiIKQEAgLTQwMzMsMjI3MCArNTM0MSw2MyBAQAogIm9yXG4iCiAiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgorIlNvcm9rIGJlb2x2YXPDoXNhIGEgc3phYnbDoW55b3MgYmVtZW5ldHLFkWwgZWd5IGluZGV4ZWx0IHTDtm1iYmUuXG4iCisiICAgIFxuIgorIiAgICBTb3JvayBiZW9sdmFzw6FzYSBhIHN6YWJ2w6FueW9zIGJlbWVuZXRyxZFsIOKAkyB2YWd5IC11IG1lZ2Fkw6FzYSBlc2V0w6luIEZEXG4iCisiICAgIGbDoWpsbGXDrXLDs2LDs2wg4oCTIGVneSBtZWdhZG90dCBuZXbFsSBUw5ZNQi1iZSAoZWxoYWd5w6FzYSBlc2V0w6luICRBUlJBWS1iZSkuXG4iCisiICAgIFxuIgorIiAgICBLYXBjc29sw7NrOlxuIgorIiAgICAgIC1uIHN6w6FtICAgICAgICAgIExlZ2ZlbGplYmIgU1rDgU0gc29yIG3DoXNvbMOhc2EuIEhhIHN6w6FtIDAsIG1pbmRlbiBzb3JcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIG3DoXNvbMOhc3JhIGtlcsO8bFxuIgorIiAgICAgIC1PIGtlemRldCAgICAgICAgS0VaREVUIHN6w6Ftw7ogaW5kZXh0xZFsIGtlemRqZSBhIFTDlk1CLWJlIG3DoXNvbMOhc3QuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICBBbGFww6lydGVsbWV6w6lzOiAwXG4iCisiICAgICAgLXMgc3rDoW0gICAgICAgICAgQXogZWxzxZEgU1rDgU0gc29yIGVsZG9iw6FzYSBvbHZhc8Ohc2tvclxuIgorIiAgICAgIC10ICAgICAgICAgICAgICAgQSBzb3JvayB2w6lnw6lyxZFsIGEgesOhcsOzIMO6anNvciBlbHTDoXZvbMOtdMOhc2FcbiIKKyIgICAgICAtdSBmZCAgICAgICAgICAgIFN6YWJ2w6FueW9zIGJlbWVuZXQgaGVseWV0dCBGRCBmw6FqbGxlw61yw7Niw7NsIG9sdmFzc29uXG4iCisiICAgICAgLUMgcGFyYW5jcyAgICAgICBQQVJBTkNTIHbDqWdyZWhhanTDoXNhIG1pbmRlbiBUw4FWT0xTw4FHIHNvciB1dMOhblxuIgorIiAgICAgIC1jIHTDoXZvbHPDoWcgICAgICBQQVJBTkNTIHbDqWdyZWhhanTDoXNhaSBrw7Z6w7Z0dCBiZW9sdmFzb3R0IHNvcm9rIHN6w6FtYVxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnR1bW9rOlxuIgorIiAgICAgIFTDlk1CICAgICAgICAgICAgIEJlb2x2YXPDoXNob3ogaGFzem7DoWx0IHTDtm1iIG5ldmVcbiIKKyIgICAgXG4iCisiICAgIEhhIC1DIC1jIG7DqWxrw7xsIHZhbiBtZWdhZHZhLCBheiBhbGFww6lydGVsbWV6ZXR0IHTDoXZvbHPDoWcgNTAwMC5cbiIKKyIgICAgUEFSQU5DUyB2w6lncmVoYWp0w6FzYWtvciB1dG9sc8OzIGFyZ3VtZW50dW1rw6ludCBhIHBhcmFuY3MgbWVna2FwamEgYSBrw7YtXG4iCisiICAgIHZldGtlesWRIGJlb2x2YXNhbmTDsyBlbGVtIGluZGV4w6l0LlxuIgorIiAgICBcbiIKKyIgICAgSGEgbmluY3MgS0VaREVUIG1lZ2FkdmEsIGEgbWFwZmlsZSB0w7ZybGkgYSBUw5ZNQiB0w7ZtYsO2dCBvbHZhc8OhcyBlbMWRdHQuXG4iCisiICAgIFxuIgorIiAgICBLaWzDqXDDqXNpIGvDs2Q6XG4iCisiICAgIFNpa2VycmVsIHTDqXIgdmlzc3phLCBraXbDqXZlIMOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIHZhZ3kgY3NhayBvbHZhc2hhdMOzLFxuIgorIiAgICB2YWd5IG5lbSBpbmRleGVsdCBUw5ZNQiBtZWdhZMOhc2EgZXNldMOpbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCiAiICAgIEEgc3lub255bSBmb3IgYG1hcGZpbGUnLiIKIG1zZ3N0ciAiIgotCi0jfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi0jfiBtc2dzdHIgInhtYWxsb2M6IG5lbSBsZWhldCBsZWZvZ2xhbG5pICVsdSBi4Wp0b3QgKCVsdSBi4Wp0IGxlZm9nbGFsdmEpIgotCi0jLCBmdXp6eQotI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotI34gbXNnc3RyICJ4bWFsbG9jOiBuZW0gbGVoZXQgbGVmb2dsYWxuaSAlbHUgYuFqdG90ICglbHUgYuFqdCBsZWZvZ2xhbHZhKSIKLQotIywgZnV6enkKLSN+IG1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi0jfiBtc2dzdHIgInhtYWxsb2M6IG5lbSBsZWhldCBsZWZvZ2xhbG5pICVsdSBi4Wp0b3QgKCVsdSBi4Wp0IGxlZm9nbGFsdmEpIgotCi0jfiBtc2dpZCAiRGlzcGxheSB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4gIERpcmVjdG9yaWVzIgotI34gbXNnc3RyICJNZWdqZWxlbu10aSBhIGplbGVubGVnIGZlbGplZ3l6ZXR0IGv2bnl2dOFyYWthdC4gS/ZueXZ04XJhayIKLQotI34gbXNnaWQgImZpbmQgdGhlaXIgd2F5IG9udG8gdGhlIGxpc3Qgd2l0aCB0aGUgYHB1c2hkJyBjb21tYW5kOyB5b3UgY2FuIGdldCIKLSN+IG1zZ3N0ciAibGlzdOFiYSB2YWzzIGJlaGVseWV66XMgYSAncHVzaGQnIHBhcmFuY3Mgdulnemkg6XMgYXogZWx04XZvbO104XN0IgotCi0jfiBtc2dpZCAiYmFjayB1cCB0aHJvdWdoIHRoZSBsaXN0IHdpdGggdGhlIGBwb3BkJyBjb21tYW5kLiIKLSN+IG1zZ3N0ciAicGVkaWcgYSAncG9wZCcgdXRhc+104XNzYWwgbGVoZXQgdulncmVoYWp0YW5pLiIKLQotI34gbXNnaWQgIiIKLSN+ICJUaGUgLWwgZmxhZyBzcGVjaWZpZXMgdGhhdCBgZGlycycgc2hvdWxkIG5vdCBwcmludCBzaG9ydGhhbmQgdmVyc2lvbnMiCi0jfiBtc2dzdHIgIkEgJy1sJyBvcGNp8yBoYXThc+FyYSBhICdkaXJzJyBuZW0gaGFzem7hbGphIGEgZ3lvcnPtcuFzIG3zZG90IgorIlNvcm9rIG9sdmFzw6FzYSBlZ3kgdMO2bWJ2w6FsdG96w7NiYS5cbiIKKyIgICAgXG4iCisiICAgIOKAnm1hcGZpbGXigJ0gc3ppbm9uaW3DoWphLiIKIAogI34gbXNnaWQgIiIKLSN+ICJvZiBkaXJlY3RvcmllcyB3aGljaCBhcmUgcmVsYXRpdmUgdG8geW91ciBob21lIGRpcmVjdG9yeS4gIFRoaXMgbWVhbnMiCi0jfiBtc2dzdHIgImEgc2Fq4XQga/ZueXZ04XJi82wgbnntbPMgbWFwcOFrcmEuIEV6IGF6dCBqZWxlbnRpLCBob2d5IgotCi0jfiBtc2dpZCAidGhhdCBgfi9iaW4nIG1pZ2h0IGJlIGRpc3BsYXllZCBhcyBgL2hvbWVzL2Jmb3gvYmluJy4gIFRoZSAtdiBmbGFnIgorI34gIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgorI34gIiAgICAiCiAjfiBtc2dzdHIgIiIKLSN+ICJhICd+L2JpbicgaGVseWV0ICcvaG9tZS9iZm94L2JpbicgZm9nIG1lZ2plbGVubmkuIEEgJy12JyBhenQgaGF04XPhcmEiCi0KLSN+IG1zZ2lkICJjYXVzZXMgYGRpcnMnIHRvIHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUsIgotI34gbXNnc3RyICJhICdkaXJzJyBhIHZlcmVtIGVsZW1laXQga/xs9m4gc29yYmEg7XJqYSBraSIKKyN+ICJraWZlamV6w6lzc2VsLCBFWFBSLXJlbCBhXG4iCisjfiAiICAgICIKIAogI34gbXNnaWQgIiIKLSN+ICJwcmVwZW5kaW5nIHRoZSBkaXJlY3RvcnkgbmFtZSB3aXRoIGl0cyBwb3NpdGlvbiBpbiB0aGUgc3RhY2suICBUaGUgLXAiCi0jfiBtc2dzdHIgIulzIGEga/ZueXZ04XIgbmV2ZSBlbOkg7XJqYSBhIHZlcmVtYmVuIGVsZm9nbGFsdCBoZWx56XQgaXMuIEEgJy1wJyIKLQotI34gbXNnaWQgImZsYWcgZG9lcyB0aGUgc2FtZSB0aGluZywgYnV0IHRoZSBzdGFjayBwb3NpdGlvbiBpcyBub3QgcHJlcGVuZGVkLiIKLSN+IG1zZ3N0ciAidWd5YW5lenQgY3NpbuFsamEgY3NhayBuZW0g7XJqYSBraSBheiBlbGZvZ2xhbHQgaGVseWV0LiIKLQotI34gbXNnaWQgIiIKLSN+ICJUaGUgLWMgZmxhZyBjbGVhcnMgdGhlIGRpcmVjdG9yeSBzdGFjayBieSBkZWxldGluZyBhbGwgb2YgdGhlIGVsZW1lbnRzLiIKLSN+IG1zZ3N0ciAiQSAnLWMnLXZlbCBheiBlZ+lzeiBr9m55dnThciB2ZXJtZXQga2l09nJsaS4iCi0KLSMsIGZ1enp5Ci0jfiBtc2dpZCAiIgotI34gIitOICAgZGlzcGxheXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duIGJ5IgotI34gbXNnc3RyICIrTlx0TWVnbXV0YXRqYSBhIHZlcmVtIE4tZWRpayBiZWplZ3l66XPpdCBhIHN64W1vbOFzdCBiYWxy82wga2V6ZGkiCi0KLSMsIGZ1enp5Ci0jfiBtc2dpZCAiICAgICBkaXJzIHdoZW4gaW52b2tlZCB3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4iCi0jfiBtc2dzdHIgIlx0YXogZWxz9SBlbGVtZSBhIG51bGxhZGlrLiIKLQotIywgZnV6enkKLSN+IG1zZ2lkICIiCi0jfiAiLU4gICBkaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duIGJ5IgotI34gbXNnc3RyICItTlx0TWVnbXV0YXRqYSBhIHZlcmVtIE4tZWRpayBiZWplZ3l66XPpdCBhIHN64W1vbOFzdCBqb2JicvNsIGtlemRpIgotCi0jfiBtc2dpZCAiQWRkcyBhIGRpcmVjdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXMiCi0jfiBtc2dzdHIgIkVneSD6aiBr9m55dnThcmF0IGFkIGEga/ZueXZ04XIgdmVyZW1oZXosIHZhZ3kgZWx0b2xqYSIKLQotI34gbXNnaWQgInRoZSBzdGFjaywgbWFraW5nIHRoZSBuZXcgdG9wIG9mIHRoZSBzdGFjayB0aGUgY3VycmVudCB3b3JraW5nIgotI34gbXNnc3RyICJhIHZlcm1ldCwgbOl0cmVob3p6YSBhIHZlcmVtIGVsZWrpdCBheiBha3R14WxpcyBtdW5rYSAiCi0KLSN+IG1zZ2lkICJkaXJlY3RvcnkuICBXaXRoIG5vIGFyZ3VtZW50cywgZXhjaGFuZ2VzIHRoZSB0b3AgdHdvIGRpcmVjdG9yaWVzLiIKLSN+IG1zZ3N0ciAia/ZueXZ04XJiYW4uIE9wY2nzayBu6Wxr/GwgZmVsY3NlculsaSBheiBlbHP1IGvpdCBr9m55dnThcmF0LiIKLQotIywgZnV6enkKLSN+IG1zZ2lkICIrTiAgIFJvdGF0ZXMgdGhlIHN0YWNrIHNvIHRoYXQgdGhlIE50aCBkaXJlY3RvcnkgKGNvdW50aW5nIgotI34gbXNnc3RyICIrTlx0XHRFbHRvbGphIGEgdmVyZW0gTi1lZGlrIGv2bnl2dOFy4XQgKGEgc3rhbW9s4XN0IgotCi0jLCBmdXp6eQotI34gbXNnaWQgIiAgICAgZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGgiCi0jfiBtc2dzdHIgIlx0XHRiYWxy82wga2V6ZGkgYSAnZGlycycgbGlzdOFq4WJhbikgbGVnZWz1cmUuIgotCi0jLCBmdXp6eQotI34gbXNnaWQgIiAgICAgemVybykgaXMgYXQgdGhlIHRvcC4iCi0jfiBtc2dzdHIgIlx0am9iYnLzbCBrZXpkaSkgbGVnZWz1cmUuIgotCi0jLCBmdXp6eQotI34gbXNnaWQgIi1OICAgUm90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmciCi0jfiBtc2dzdHIgIi1OXHRcdEVsdG9samEgYSB2ZXJlbSBOLWVkaWsga/ZueXZ04XLhdCAoYSBzeuFtb2zhc3QiCi0KLSMsIGZ1enp5Ci0jfiBtc2dpZCAiICAgICBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGgiCi0jfiBtc2dzdHIgIlx0XHRiYWxy82wga2V6ZGkgYSAnZGlycycgbGlzdOFq4WJhbikgbGVnZWz1cmUuIgotCi0jLCBmdXp6eQotI34gbXNnaWQgIi1uICAgc3VwcHJlc3MgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gYWRkaW5nIGRpcmVjdG9yaWVzIgorI34gIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorI34gIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgIgorI34gInRoZVxuIgorI34gIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKICN+IG1zZ3N0ciAiIgotI34gIi1uXHRsZXRpbHRqYSBhIG5vcm3hbGlzIGv2bnl2dOFyIHbhbHThc3QuIEFtaWtvciBhIGv2bnl2dOFyYWthdCB24Wx0dW5rIgotCi0jLCBmdXp6eQotI34gbXNnaWQgIiAgICAgdG8gdGhlIHN0YWNrLCBzbyBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC4iCi0jfiBtc2dzdHIgIlx0YWtrb3IgYSB2ZXJlbWhleiBhZGp1ayBheiBha3R14WxpcyBr9m55dnThcmF0LiIKLQotIywgZnV6enkKLSN+IG1zZ2lkICJkaXIgIGFkZHMgRElSIHRvIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYXQgdGhlIHRvcCwgbWFraW5nIGl0IHRoZSIKLSN+IG1zZ3N0ciAiZGlyXHRBIERJUi10IGJlaGVseWV6aSBhIHZlcmVtIGVsZWrpcmUg6XMgYXoiCi0KLSMsIGZ1enp5Ci0jfiBtc2dpZCAiICAgICBuZXcgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS4iCi0jfiBtc2dzdHIgIlx0bGVzeiBheiBha3R14WxpcyBtdW5rYWv2bnl2dOFyLiIKLQotI34gbXNnaWQgIllvdSBjYW4gc2VlIHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCB0aGUgYGRpcnMnIGNvbW1hbmQuIgotI34gbXNnc3RyICJBIGv2bnl2dOFyIHZlcm1ldCBhICdkaXJzJyBwYXJhbmNjc2FsIHRla2ludGhldGkgbWVnLiIKLQotI34gbXNnaWQgIlJlbW92ZXMgZW50cmllcyBmcm9tIHRoZSBkaXJlY3Rvcnkgc3RhY2suICBXaXRoIG5vIGFyZ3VtZW50cywiCi0jfiBtc2dzdHIgIkJlamVneXrpc3QgdOF2b2ztdCBlbCBhIGv2bnl2dOFyIHZlcmVtYvVsLiBPcGNp82sgbulsa/xsIgotCi0jfiBtc2dpZCAicmVtb3ZlcyB0aGUgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSBzdGFjaywgYW5kIGNkJ3MgdG8gdGhlIG5ldyIKLSN+IG1zZ3N0ciAiZWx04XZvbO10amEgYSB2ZXJlbSBlbHP1IGJlamVneXrpc+l0LCDpcyDhdGzpcCBhIHNvcm9uIGv2dmV0a2V69SIKLQotI34gbXNnaWQgInRvcCBkaXJlY3RvcnkuIgotI34gbXNnc3RyICJr9m55dnThcmJhLiIKLQotIywgZnV6enkKLSN+IG1zZ2lkICIrTiAgIHJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IgotI34gbXNnc3RyICIrTlx0RWx04XZvbO10amEgYSB2ZXJlbSBOLWVkaWsgYmVqZWd5eulz6XQgKGEgc3rhbW9s4XN0IgotCi0jLCBmdXp6eQotI34gbXNnaWQgIiAgICAgc2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgKzAnIgotI34gbXNnc3RyICJcdGJhbHLzbCBrZXpkaSDpcyBudWxs4XZhbCBpbmTtdGphKSAuUOlsZOF1bCBhICdwb3BkICswJyIKLQotIywgZnV6enkKLSN+IG1zZ2lkICIgICAgIHJlbW92ZXMgdGhlIGZpcnN0IGRpcmVjdG9yeSwgYHBvcGQgKzEnIHRoZSBzZWNvbmQuIgotI34gbXNnc3RyICJcdGF6IGVsc/Uga/ZueXZ04XJhdCB04XZvbO10amEgZWwsIGEgJ3BvcCArMScgYSBt4XNvZGlrYXQuIgotCi0jLCBmdXp6eQotI34gbXNnaWQgIi1OICAgcmVtb3ZlcyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IgotI34gbXNnc3RyICIrTlx0RWx04XZvbO10amEgYSB2ZXJlbSBOLWVkaWsgYmVqZWd5eulz6XQgKGEgc3rhbW9s4XN0IgotCi0jLCBmdXp6eQotI34gbXNnaWQgIiAgICAgc2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgLTAnIgotI34gbXNnc3RyICJcdGJhbHLzbCBrZXpkaSDpcyBudWxs4XZhbCBpbmTtdGphKSAuUOlsZOF1bCBhICdwb3BkIC0wJyIKLQotIywgZnV6enkKLSN+IG1zZ2lkICIgICAgIHJlbW92ZXMgdGhlIGxhc3QgZGlyZWN0b3J5LCBgcG9wZCAtMScgdGhlIG5leHQgdG8gbGFzdC4iCi0jfiBtc2dzdHIgIlx0YXogdXRvbHPzIGv2bnl2dOFyYXQgdOF2b2ztdGphIGVsLCBhICdwb3AgKzEnIGEgLnV0b2xz82Vs9XR0aXQiCi0KLSMsIGZ1enp5Ci0jfiBtc2dpZCAiIgotI34gIi1uICAgc3VwcHJlc3MgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gcmVtb3ZpbmcgZGlyZWN0b3JpZXMiCi0jfiBtc2dzdHIgIiIKLSN+ICItblx0bGV0aWx0amEgYSBub3Jt4WxpcyBr9m55dnThciB24Wx04XN0LiBBbWlrb3IgYSBr9m55dnThcmFrYXQgduFsdHVuayIKLQotIywgZnV6enkKLSN+IG1zZ2lkICIgICAgIGZyb20gdGhlIHN0YWNrLCBzbyBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC4iCi0jfiBtc2dzdHIgIlx0YWtrb3IgYSB2ZXJlbWL1bCBlbHThdm9s7XRqYSBheiBha3R14WxpcyBr9m55dnThcmF0LiIKLQotIywgZnV6enkKLSN+IG1zZ2lkICIiCi0jfiAiRXhpdCBmcm9tIHdpdGhpbiBhIEZPUiwgV0hJTEUgb3IgVU5USUwgbG9vcC4gIElmIE4gaXMgc3BlY2lmaWVkLFxuIgotI34gIiAgICBicmVhayBOIGxldmVscy4iCi0jfiBtc2dzdHIgIktpbOlwIGVneSBGT1IsIFdISUxFIHZhZ3kgVU5USUwgaHVyb2ti82wuIEhhIE4gbWVnIHZhbiBoYXThcm96dmEsIgotCi0jfiBtc2dpZCAiT2Jzb2xldGUuICBTZWUgYGRlY2xhcmUnLiIKLSN+IG1zZ3N0ciAiRWxhdnVsdC4gTOFzZCAnZGVjbGFyZSciCi0KLSN+IG1zZ2lkICIiCi0jfiAiT3V0cHV0IHRoZSBBUkdzLiAgSWYgLW4gaXMgc3BlY2lmaWVkLCB0aGUgdHJhaWxpbmcgbmV3bGluZSBpcyBzdXBwcmVzc2VkLiIKLSN+IG1zZ3N0ciAiIgotI34gIktpbWVuZXQgYXogQVJHLiBIYSAtbiBoYXN6buFsamEsIGFra29yIGEgc29ydulnaSD6anNvciBqZWxldCBuZW0gdmVzemkgIgotI34gImZpZ3llbGVtYmUuIgotCi0jfiBtc2dpZCAiIgotI34gIlJlYWQgQVJHcyBhcyBpbnB1dCB0byB0aGUgc2hlbGwgYW5kIGV4ZWN1dGUgdGhlIHJlc3VsdGluZyBjb21tYW5kKHMpLiIKLSN+IG1zZ3N0ciAiIgotI34gIkJlb2x2YXNzYSBheiBBUkcgdGFydGFsbeF0IGEgYmVtZW5ldHL1bCBhIHBhcmFuY3PpcnRlbG1levVo9Xog6XMgIgotI34gImVsaW5k7XRqYS4iCi0KLSN+IG1zZ2lkICJMb2dvdXQgb2YgYSBsb2dpbiBzaGVsbC4iCi0jfiBtc2dzdHIgIktpbOlw6XMgYSBwYXJhbmNz6XJ0ZWxtZXr1YvVsLiIKLQotIywgZnV6enkKLSN+IG1zZ2lkICIiCi0jfiAiQ2F1c2VzIGEgZnVuY3Rpb24gdG8gZXhpdCB3aXRoIHRoZSByZXR1cm4gdmFsdWUgc3BlY2lmaWVkIGJ5IE4uICBJZiBOXG4iCi0jfiAiICAgIGlzIG9taXR0ZWQsIHRoZSByZXR1cm4gc3RhdHVzIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZC4iCi0jfiBtc2dzdHIgIiIKLSN+ICJBIGZ1bmtjafMgaGF04XPhcmEga2ls6XAg6XMgYSB2aXNzemF06XLpc2kg6XJ06WtlIGF6IE4tYmVuIG1lZ2hhdOFyb3pvdHQgIgotI34gIulydOlrIGxlc3ouIgotCi0jLCBmdXp6eQotI34gbXNnaWQgIiIKLSN+ICJUaGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzIGZyb20gJE4rMSAuLi4gYXJlIHJlbmFtZWQgdG8gJDEgLi4uICBJZiBOIGlzXG4iCi0jfiAiICAgIG5vdCBnaXZlbiwgaXQgaXMgYXNzdW1lZCB0byBiZSAxLiIKLSN+IG1zZ3N0ciAiQSBwb3ppY2lvbuFs8yBwYXJhbel0ZXJla2V0IOF0bmV2ZXppICROKzEtcvVsICQxLXJlLkhhIGF6IE4iCi0KLSMsIGZ1enp5Ci0jfiBtc2dpZCAiIgotI34gIlByaW50IHRoZSBhY2N1bXVsYXRlZCB1c2VyIGFuZCBzeXN0ZW0gdGltZXMgZm9yIHByb2Nlc3NlcyBydW4gZnJvbVxuIgotI34gIiAgICB0aGUgc2hlbGwuIgotI34gbXNnc3RyICJLae1yamEgZmVsaGFzem7hbPMg6XMgYSByZW5kc3plciBtZW5ueWkgaWT1IGhhc3pu4Wx0IGZlbCBhcnJhLCBob2d5IgotCi0jfiBtc2dpZCAiTWlzc2luZyBgfSciCi0jfiBtc2dzdHIgIkhp4W55evMgJ30nIgotCi0jfiBtc2dpZCAiYnJhY2VfZXhwYW5kPiAiCi0jfiBtc2dzdHIgImJyYWNlX2V4cGFuZD4gIgotCi0jfiBtc2dpZCAiQXR0ZW1wdCB0byBmcmVlIHVua25vd24gY29tbWFuZCB0eXBlIGAlZCcuXG4iCi0jfiBtc2dzdHIgIk1lZ3By82LhbG9tIGZlbHN6YWJhZO10YW5pIGF6IGlzbWVyZXRsZW4gYCVkJyBwYXJhbmNzIHTtcHVzdC5cbiIKLQotI34gbXNnaWQgIlJlcG9ydCB0aGlzIHRvICVzXG4iCi0jfiBtc2dzdHIgIkvpcmVtIGplbGVudHNlIGV6dCBhICVzIC1yZSBcbiIKLQotI34gbXNnaWQgIlN0b3BwaW5nIG15c2VsZi4uLiIKLSN+IG1zZ3N0ciAiTGXhbGztdG9tIG1hZ2FtLi4uIgotCi0jfiBtc2dpZCAiVGVsbCAlcyB0byBmaXggdGhpcyBzb21lZGF5LlxuIgotI34gbXNnc3RyICJNb25kamEgZWwgJXMgLW5laywgaG9neSBraWphdu10aGFzc2FcbiIKLQotI34gbXNnaWQgImV4ZWN1dGVfY29tbWFuZDogYmFkIGNvbW1hbmQgdHlwZSBgJWQnIgotI34gbXNnc3RyICJleGVjdXRlX2NvbW1hbmQ6IHJvc3N6IHBhcmFuY3MgdO1wdXMgYCVkJyIKLQotI34gbXNnaWQgInJlYWxcdCIKLSN+IG1zZ3N0ciAidmFs83NcdCIKLQotI34gbXNnaWQgInVzZXJcdCIKLSN+IG1zZ3N0ciAiZmVsaGFzem7hbPNpXHQiCi0KLSN+IG1zZ2lkICJzeXNcdCIKLSN+IG1zZ3N0ciAicmVuZHN6ZXJcdCIKLQotI34gbXNnaWQgIiIKLSN+ICJyZWFsXHQwbTAuMDBzXG4iCi0jfiAidXNlclx0MG0wLjAwc1xuIgotI34gInN5c1x0MG0wLjAwc1xuIgotI34gbXNnc3RyICIiCi0jfiAidmFs83NcdDBtMC4wMHNcbiIKLSN+ICJmZWxoYXN6buFs82lcdDBtMC4wMHNcbiIKLSN+ICJyZW5kc3plclx0MG0wLjAwc1xuIgotCi0jfiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAxOiAlcyIKLSN+IG1zZ3N0ciAibmVtIG3hc29saGF08yBhICBmZCAlZCAgZmQgMTogJXMtcmUiCi0KLSN+IG1zZ2lkICIlczogb3V0cHV0IHJlZGlyZWN0aW9uIHJlc3RyaWN0ZWQiCi0jfiBtc2dzdHIgIiVzIGtpbWVuZXQg4XRpcuFuee104XMgZmVubnRhcnR2YSIKLQotI34gbXNnaWQgIk91dCBvZiBtZW1vcnkhIgotI34gbXNnc3RyICJFbGZvZ3lvdHQgYSBtZW3zcmlhISIKLQotI34gbXNnaWQgIllvdSBoYXZlIGFscmVhZHkgYWRkZWQgaXRlbSBgJXMnXG4iCi0jfiBtc2dzdHIgIkEgIGAlcycgZWxlbSBlZ3lzemVyIG3hciBob3p64SBsZXR0IGFkdmFcbiIKLQotI34gbXNnaWQgIllvdSBoYXZlIGVudGVyZWQgJWQgKCVkKSBpdGVtcy4gIFRoZSBkaXN0cmlidXRpb24gaXM6XG4iCi0jfiBtc2dzdHIgItZuICAlZCAoJWQpIGVsZW1ldCDtcnQgYmUuICBBIHRlcmplc3p06XM6XG4iCi0KLSN+IG1zZ2lkICIlczogYmcgYmFja2dyb3VuZCBqb2I/IgotI34gbXNnc3RyICIlczogYmcgaOF0dOlyIG11bmthZm9seWFtYXQ/IgotCi0jfiBtc2dpZCAiIgotI34gIlJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGZyb20geXlwYXJzZSAoKSAnJWQnIGlzXG4iCi0jfiAib3V0IG9mIHJhbmdlIGluIG1ha2VfcmVkaXJlY3Rpb24gKCkuIgotI34gbXNnc3RyICIiCi0jfiAiQXog4XRpcuFuee104XNpIHV0YXPtdOFzIGEgeXlwYXJzZS1i82wgKCkgJyVkJyBcbiIKLSN+ICJ0+mwgdmFuIGEgaGF04XJvbiBhICBtYWtlX3JlZGlyZWN0aW9uICgpLi1iZW4iCi0KLSN+IG1zZ2lkICJjbGVhbl9zaW1wbGVfY29tbWFuZCAoKSBnb3QgYSBjb21tYW5kIHdpdGggdHlwZSAlZC4iCi0jfiBtc2dzdHIgImNsZWFuX3NpbXBsZV9jb21tYW5kICgpIGthcHRhbSBlZ3kgICVkIHTtcHVz+iBwYXJhbmNzb3QuIgotCi0jfiBtc2dpZCAiZ290IGVycm5vICVkIHdoaWxlIHdhaXRpbmcgZm9yICVkIgotI34gbXNnc3RyICJrYXB0YW0gZWd5ICVkIGhpYuF0IGFt7WcgduFydGFtIGEgICVkLXJlIgotCi0jfiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJWMnIgotI34gbXNnc3RyICJzemludGFrdGlrYWkgaGliYSBhIHbhcmF0bGFuICVjIHZleulyamVsIGv2cvxsIgotCi0jfiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbW1hbmQgdHlwZSBgJWQnIgotI34gbXNnc3RyICJwcmludF9jb21tYW5kOiByb3NzeiBwYXJhbmNzIHTtcHVzIGAlZCciCi0KLSN+IG1zZ2lkICJjcHJpbnRmOiBiYWQgYCUlJyBhcmd1bWVudCAoJWMpIgotI34gbXNnc3RyICJjcHJpbnRmOiByb3NzeiBgJSUnIHBhcmFt6XRlciAoJWMpIgotCi0jfiBtc2dpZCAib3B0aW9uIGAlcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCi0jfiBtc2dzdHIgIm9wY2nzayBhIGAlcycgcGFyYW3pdGVydCBpZ+lueWVsIgotCi0jfiBtc2dpZCAiJXM6IHVucmVjb2duaXplZCBvcHRpb24iCi0jfiBtc2dzdHIgImEgJXMgaXNtZXJldGxlbiBvcGNp8yIKLQotI34gbXNnaWQgImAtYycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCi0jfiBtc2dzdHIgImAtYycgcGFyYW3pdGVydCBpZ+lueWVsIgotCi0jfiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGRpcmVjdG9yaWVzIgotI34gbXNnc3RyICIlczoga/ZueXZ04XJha2F0IG5lbSBsZWhldCBmdXR0YXRuaSIKLQotI34gbXNnaWQgIkJhZCBjb2RlIGluIHNpZy5jOiBzaWdwcm9jbWFzayIKLSN+IG1zZ3N0ciAiSGli4XMga/NkIGEgc2lnLmMtYmVuOiBzaWdwcm9jbWFzayIKLQotI34gbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGVuZGluZyBgfScgaW4gJXMiCi0jfiBtc2dzdHIgInJvc3N6IGJlaGVseWV0dGVz7XTpczogbmluY3MgbGV64XLzIH0gYSAlcy1iZW4iCi0KLSN+IG1zZ2lkICIlczogYmFkIGFycmF5IHN1YnNjcmlwdCIKLSN+IG1zZ3N0ciAiJXMgcm9zc3ogdPZtYiBhIHT2bWJpbmRleGJlbiIKLQotI34gbXNnaWQgImNhbid0IG1ha2UgcGlwZXMgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uOiAlcyIKLSN+IG1zZ3N0ciAibmVtIGxlaGV0IGzpdHJlaG96bmkgYSBwaXBlLW90IGZlbGFkYXQgYmVoZWx5ZXR0ZXPtdOlzaGV6OiAlcyIKLQotI34gbXNnaWQgInJlYWRpbmciCi0jfiBtc2dzdHIgIm9sdmFz4XMiCi0KLSN+IG1zZ2lkICJwcm9jZXNzIHN1YnN0aXR1dGlvbiIKLSN+IG1zZ3N0ciAiZmVsYWRhdCBiZWhlbHlldHRlc+106XNlIgotCi0jfiBtc2dpZCAiY29tbWFuZCBzdWJzdGl0dXRpb24iCi0jfiBtc2dzdHIgInBhcmFuY3MgYmVoZWx5ZXR0ZXPtdOlzZSIKLQotI34gbXNnaWQgIkNhbid0IHJlb3BlbiBwaXBlIHRvIGNvbW1hbmQgc3Vic3RpdHV0aW9uIChmZCAlZCk6ICVzIgotI34gbXNnc3RyICIiCi0jfiAiTmVtIGxlaGV0IPpqcmEgbWVnbnlpdG5pIGEgXCJwaXBlXCItb3QgYSBwYXJhbmNzIGJlaGVseWV0dGVz7XTpc2hleihmZCAlIgotI34gImQpOiAlcyIKLQotI34gbXNnaWQgIiQlYzogdW5ib3VuZCB2YXJpYWJsZSIKLSN+IG1zZ3N0ciAiJCVjIGZlbHN6YWJhZO10b3R0IHbhbHRvevMiCi0KLSN+IG1zZ2lkICIlczogYmFkIGFyaXRobWV0aWMgc3Vic3RpdHV0aW9uIgotI34gbXNnc3RyICIlczogcm9zc3ogc3rhbXRhbmkgaGVseWV0dGVz7XTpcyIKLQotI34gbXNnaWQgIi0lczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgotI34gbXNnc3RyICItJXM6Ymlu4XJpcyBt+3ZlbGV0IHN6/Gtz6WdlcyIKLQotI34gbXNnaWQgIiVzWyVzOiBiYWQgc3Vic2NyaXB0IgotI34gbXNnc3RyICIlc1slczogcm9zc3ogdPZtYmluZGV4IgotCi0jfiBtc2dpZCAiWyVzOiBiYWQgc3Vic2NyaXB0IgotI34gbXNnc3RyICJbJXM6IHJvc3N6IHT2bWJpbmRleCIKLQotI34gbXNnaWQgImRpZ2l0cyBvY2N1ciBpbiB0d28gZGlmZmVyZW50IGFyZ3YtZWxlbWVudHMuXG4iCi0jfiBtc2dzdHIgInN64W1qZWd5ZWsgZm9yZHVsdGFrIGVs9SBr6XQga/xs9m5i9nr1IFwiYXJndlwiZWxlbWJlbi5cbiIKLQotI34gbXNnaWQgIm9wdGlvbiAlY1xuIgotI34gbXNnc3RyICJvcGNp8zogJWNcbiIKLQotI34gbXNnaWQgIm9wdGlvbiBhXG4iCi0jfiBtc2dzdHIgIm9wY2nzIGFcbiIKLQotI34gbXNnaWQgIm9wdGlvbiBiXG4iCi0jfiBtc2dzdHIgIm9wY2nzIGJcbiIKLQotI34gbXNnaWQgIm9wdGlvbiBjIHdpdGggdmFsdWUgYCVzJ1xuIgotI34gbXNnc3RyICJvcGNp8yBjICVzIOlydOlra2VsXG4iCi0KLSN+IG1zZ2lkICI/PyBzaF9nZXRvcHQgcmV0dXJuZWQgY2hhcmFjdGVyIGNvZGUgMCVvID8/XG4iCi0jfiBtc2dzdHIgIj8/IHNoX2dldG9wdCB2aXNzemFrYXBvdHQga2FyYWt0ZXIga/NkIDAlbyA/P1xuIgotCi0jfiBtc2dpZCAibm9uLW9wdGlvbiBBUkdWLWVsZW1lbnRzOiAiCi0jfiBtc2dzdHIgIm5lbSBvcGNp8yBheiBcImFyZ3ZcImVsZW1layIKLQotI34gbXNnaWQgIiVzOiBVbmtub3duIGZsYWcgJXMuXG4iCi0jfiBtc2dzdHIgIiVzOiBJc21lcmV0bGVuIGplbCAlcy5cbiIKLQotI34gbXNnaWQgIlVua25vd24gZGlyZWN0aXZlIGAlcyciCi0jfiBtc2dzdHIgIklzbWVyZXRsZW4gZGlyZWt07XZhICVzIgotCi0jfiBtc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCi0jfiBtc2dzdHIgImEgJXMgcGFyYW3pdGVydCBpZ+lueWVsIgotCi0jfiBtc2dpZCAiJXMgbXVzdCBiZSBpbnNpZGUgb2YgYSAkQlVJTFRJTiBibG9jayIKLSN+IG1zZ3N0ciAiJXMtbmVrIGEgJEJVSUxUSU4gYmxva2tvbiBiZWz8bCBrZWxsIGhvZ3kgbGVneWVuIgotCi0jfiBtc2dpZCAiJXMgZm91bmQgYmVmb3JlICRFTkQiCi0jfiBtc2dzdHIgIiVzIHRhbOFsdGFtIGF6ICRFTkQgZWz1dHQiCi0KLSN+IG1zZ2lkICIlcyBhbHJlYWR5IGhhcyBhIGZ1bmN0aW9uICglcykiCi0jfiBtc2dzdHIgIiVzIG3hciBs6XRlevUgZvxnZ3bpbnkgKCVzKSIKLQotI34gbXNnaWQgIiVzIGFscmVhZHkgaGFkIGEgZG9jbmFtZSAoJXMpIgotI34gbXNnc3RyICJhICVzIG3hciBr6XN6IGRva3VtZW50dW0gKCVzKSIKLQotI34gbXNnaWQgIiVzIGFscmVhZHkgaGFzIHNob3J0IGRvY3VtZW50YXRpb24gKCVzKSIKLSN+IG1zZ3N0ciAiYSAlcyBt4XIgbOl0ZXr1IHL2dmlkIGRva3VtZW504WNp8yAoJXMpIgotCi0jfiBtc2dpZCAiJXMgYWxyZWFkeSBoYXMgYSAlcyBkZWZpbml0aW9uIgotI34gbXNnc3RyICJhICVzIG3hciBs6XRlevUgJXMgbWVnaGF04XJveuFzKGRlZmluaXRpb24pIgotCi0jfiBtc2dpZCAibWtidWlsdGluczogT3V0IG9mIHZpcnR1YWwgbWVtb3J5IVxuIgotI34gbXNnc3RyICJta2J1aWx0aW5zOiBBIHZpcnR14WxpcyBtZW3zcmlhIGVsZm9neW90dCFcbiIKLQotI34gbXNnaWQgInJlYWQgWy1yXSBbLXAgcHJvbXB0XSBbLWEgYXJyYXldIFstZV0gW25hbWUgLi4uXSIKLSN+IG1zZ3N0ciAicmVhZCBbLXJdIFstcCBr6XJk6XNdIFstYSB09m1iXSBbLWVdIFtu6XYgLi4uXSIKLQotI34gbXNnaWQgIiVbRElHSVRTIHwgV09SRF0gWyZdIgotI34gbXNnc3RyICIlW1NawU1PSyB8IFNa010gWyZdIgotCi0jfiBtc2dpZCAidmFyaWFibGVzIC0gU29tZSB2YXJpYWJsZSBuYW1lcyBhbmQgbWVhbmluZ3MiCi0jfiBtc2dzdHIgInbhbHRvevNrIC0gTulo4W55IHbhbHRvevMgbmV2ZSDpcyBqZWxlbnTpc2UiCi0KLSN+IG1zZ2lkICJgYWxpYXMnIHdpdGggbm8gYXJndW1lbnRzIG9yIHdpdGggdGhlIC1wIG9wdGlvbiBwcmludHMgdGhlIGxpc3QiCi0jfiBtc2dzdHIgIiIKLSN+ICJgYWxpYXMnIHBhcmFt6XRlcmVrIG7pbGv8bCB2YWd5IC1wIG9wY2nzdmFsIGtp7XJqYSBheiBhbGlhc29rIGxpc3ThauF0IgotCi0jfiBtc2dpZCAib2YgYWxpYXNlcyBpbiB0aGUgZm9ybSBhbGlhcyBOQU1FPVZBTFVFIG9uIHN0YW5kYXJkIG91dHB1dC4iCi0jfiBtc2dzdHIgImF6IE7JVj3JUlTJSyBmb3Jt4WJhbiBhIHN0YW5kYXJkIGtpbWVuZXRlbi4iCi0KLSN+IG1zZ2lkICJPdGhlcndpc2UsIGFuIGFsaWFzIGlzIGRlZmluZWQgZm9yIGVhY2ggTkFNRSB3aG9zZSBWQUxVRSBpcyBnaXZlbi4iCi0jfiBtc2dzdHIgIiIKLSN+ICJFZ3npYmvpbnQsIGF6IGFsaWFzLWJhbiBtZWdoYXThcm96b3R0IG1pbmRlZ3lpayBOyVYtbmVrIGF6IMlSVMlLIGxlc3ogIgotI34gIuF0YWR2YS4iCi0KLSN+IG1zZ2lkICJBIHRyYWlsaW5nIHNwYWNlIGluIFZBTFVFIGNhdXNlcyB0aGUgbmV4dCB3b3JkIHRvIGJlIGNoZWNrZWQgZm9yIgotI34gbXNnc3RyICIgIgotCi0jfiBtc2dpZCAiYWxpYXMgc3Vic3RpdHV0aW9uIHdoZW4gdGhlIGFsaWFzIGlzIGV4cGFuZGVkLiAgQWxpYXMgcmV0dXJucyIKLSN+IG1zZ3N0ciAiQXogYWxpYXMgdmlzc3phdOly6XNpIOlydOlrZSAiCi0KLSN+IG1zZ2lkICJ0cnVlIHVubGVzcyBhIE5BTUUgaXMgZ2l2ZW4gZm9yIHdoaWNoIG5vIGFsaWFzIGhhcyBiZWVuIGRlZmluZWQuIgotI34gbXNnc3RyICJpZ2F6IGhhY3NhayBhIE7JViBhbGF0dCBuaW5jcyBhbGlhcyBtZWdoYXThcm96dmEuIgotCi0jfiBtc2dpZCAidGhlbiByZW1vdmUgYWxsIGFsaWFzIGRlZmluaXRpb25zLiIKLSN+IG1zZ3N0ciAiZWx04XZvbO10amEgYXog9nNzemVzIGFsaWFzIG1lZ2hhdOFyb3rhc3QuIgotCi0jfiBtc2dpZCAiQmluZCBhIGtleSBzZXF1ZW5jZSB0byBhIFJlYWRsaW5lIGZ1bmN0aW9uLCBvciB0byBhIG1hY3JvLiAgVGhlIgotI34gbXNnc3RyICIiCi0jfiAiYSBiaW5kIGVneSBrdWxjcyBzemVrdmVuY2lhIGEgcmVhZGxpbmUgZnVua2Np82hveiB2YWd5IGVneSBtYWty82hvei4iCi0KLSN+IG1zZ2lkICJzeW50YXggaXMgZXF1aXZhbGVudCB0byB0aGF0IGZvdW5kIGluIH4vLmlucHV0cmMsIGJ1dCBtdXN0IGJlIgotI34gbXNnc3RyICJBIHN6aW50YWt0aWthIG1lZ2VneWV6aWsgYXogfi8uaW5wdXRyYy12ZWwsIGRlIOF0IGtlbGwiCi0KLSN+IG1zZ2lkICIiCi0jfiAicGFzc2VkIGFzIGEgc2luZ2xlIGFyZ3VtZW50OiBiaW5kICdcIlxcQy14XFxDLXJcIjogcmUtcmVhZC1pbml0LWZpbGUnLiIKLSN+IG1zZ3N0ciAiIgotI34gImFkbmkgZWd5IGVneXN6ZXL7IHBhcmFt6XRlcnJlbDogYmluZCAnXCJcXEMteFxcQy1yXCI6IHJlLXJlYWQtaW5pdC1maWxlJy4iCi0KLSN+IG1zZ2lkICJBcmd1bWVudHMgd2UgYWNjZXB0OiIKLSN+IG1zZ3N0ciAiQSBwYXJhbel0ZXJlayBhbWlrZXQgZWxmb2dhZHVuazoiCi0KLSN+IG1zZ2lkICIiCi0jfiAiICAtbSAga2V5bWFwICAgICAgICAgVXNlIGBrZXltYXAnIGFzIHRoZSBrZXltYXAgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGlzIgotI34gbXNnc3RyICIgIC1tICBrZXltYXAgICAgICAgICBBIGBrZXltYXAnLW90IGhhc3pu4WxqYSBrZXltYXAta+ludCBheiBhbe1nIgotCi0jfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgY29tbWFuZC4gIEFjY2VwdGFibGUga2V5bWFwIG5hbWVzIGFyZSBlbWFjcywiCi0jfiBtc2dzdHIgIiIKLSN+ICIgICAgICAgICAgICAgICAgICAgICBhIHBhcmFuY3MgZnV0LiBFbGZvZ2FkaGF08yBrZXltYXAgbul2bmVrIGVtYWNzLW9rLCIKLQotI34gbXNnaWQgIiIKLSN+ICIgICAgICAgICAgICAgICAgICAgICBlbWFjcy1zdGFuZGFyZCwgZW1hY3MtbWV0YSwgZW1hY3MtY3RseCwgdmksIHZpLW1vdmUsIgotI34gbXNnc3RyICIiCi0jfiAiICAgICAgICAgICAgICAgICAgICAgZW1hY3Mtc3RhbmRhcmQsIGVtYWNzLW1ldGEsIGVtYWNzLWN0bHgsIHZpLCB2aS1tb3ZlLCIKLQotI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgIHZpLWNvbW1hbmQsIGFuZCB2aS1pbnNlcnQuIgotI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICB2aS1wYXJhbmNzLCDpcyB2aS1iZXN6+nLhcy4iCi0KLSN+IG1zZ2lkICIgIC1sICAgICAgICAgICAgICAgICBMaXN0IG5hbWVzIG9mIGZ1bmN0aW9ucy4iCi0jfiBtc2dzdHIgIiAgLWwgICAgICAgICAgICAgICAgIEEgZnVua2Np82sgbmV2ZWluZWsgYSBsaXN04WphLiIKLQotI34gbXNnaWQgIiAgLVAgICAgICAgICAgICAgICAgIExpc3QgZnVuY3Rpb24gbmFtZXMgYW5kIGJpbmRpbmdzLiIKLSN+IG1zZ3N0ciAiICAtUCAgICAgICAgICAgICAgICAgQSBuZXZlayDpcyBhIGhvenrhanVrIHRhcnRvevMgYmluZC1vayBsaXN04WphLiIKLQotI34gbXNnaWQgIiIKLSN+ICIgIC1wICAgICAgICAgICAgICAgICBMaXN0IGZ1bmN0aW9ucyBhbmQgYmluZGluZ3MgaW4gYSBmb3JtIHRoYXQgY2FuIGJlIgotI34gbXNnc3RyICIiCi0jfiAiICAtcCAgICAgICAgICAgICAgICAgQSBmdW5rY2nzayDpcyBiaW5kLW9rIGxpc3ThamEgYmVtZW5ldGvpbnQg+mpyYSAiCi0jfiAiZmVsc3phbuFsaGF08yIKLQotI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgIHJldXNlZCBhcyBpbnB1dC4iCi0jfiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgIGZvcm3hYmFuLiIKLQotI34gbXNnaWQgIiAgLXIgIGtleXNlcSAgICAgICAgIFJlbW92ZSB0aGUgYmluZGluZyBmb3IgS0VZU0VRLiIKLSN+IG1zZ3N0ciAiICAtciAga2V5c2VxICAgICAgICAgQmluZCBlbHThdm9s7XThc2EgYSBLRVlTRVEtcvVsLiIKLQotI34gbXNnaWQgIiAgLWYgIGZpbGVuYW1lICAgICAgIFJlYWQga2V5IGJpbmRpbmdzIGZyb20gRklMRU5BTUUuIgotI34gbXNnc3RyICIgIC1mICBGwUpMTslOICAgICAgICBCaW5kLW9rIG9sdmFz4XNhIGEgRsFKTE7JViBm4WpsYvNsLiIKLQotI34gbXNnaWQgIiIKLSN+ICIgIC1xICBmdW5jdGlvbi1uYW1lICBRdWVyeSBhYm91dCB3aGljaCBrZXlzIGludm9rZSB0aGUgbmFtZWQgZnVuY3Rpb24uIgotI34gbXNnc3RyICIiCi0jfiAiICAtcSAgZnVuY3Rpb24tbmFtZSAgTGVr6XJkZXppLCBob2d5IG1pbHllbiBiaWxsZW50eft0IGjtdiBtZWcgYSBmdW5rY2nzLiIKLQotI34gbXNnaWQgIiAgLVYgICAgICAgICAgICAgICAgIExpc3QgdmFyaWFibGUgbmFtZXMgYW5kIHZhbHVlcyIKLSN+IG1zZ3N0ciAiICAtViAgICAgICAgICAgICAgICAgQSB24Wx0b3rzayBuZXZlaW5layDpcyDpcnTpa2VpbmVrIGEgbGlzdOFqYS4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiICAtdiAgICAgICAgICAgICAgICAgTGlzdCB2YXJpYWJsZSBuYW1lcyBhbmQgdmFsdWVzIGluIGEgZm9ybSB0aGF0IGNhbiIKLSN+IG1zZ3N0ciAiIgotI34gIiAgLXYgICAgICAgICAgICAgICAgIEEgduFsdG9682sg6XMg6XJ06WtlaWsgbmV2ZWluZWsgYSBsaXN04WphICIKLSN+ICJiZW1lbmV0a+ludCAiCi0KLSN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICBiZSByZXVzZWQgYXMgaW5wdXQuIgotI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICD6anJhIGZlbGhhc3pu4WxoYXTzIGZvcm3hYmFuLiIKLQotI34gbXNnaWQgIiIKLSN+ICIgIC1TICAgICAgICAgICAgICAgICBMaXN0IGtleSBzZXF1ZW5jZXMgdGhhdCBpbnZva2UgbWFjcm9zIGFuZCB0aGVpciAiCi0jfiAidmFsdWVzIgotI34gbXNnc3RyICIiCi0jfiAiICAtUyAgICAgICAgICAgICAgIEEga3VsY3Mgc3pla3ZlbmNp4WsgbGlzdOFqYSBhIG1lZ2jtdm90dCBtYWty82trYWwg6XMgIgotI34gImF6b2sg6XJ06WvpdmVsIgotCi0jfiBtc2dpZCAiIgotI34gIiAgLXMgICAgICAgICAgICAgICAgIExpc3Qga2V5IHNlcXVlbmNlcyB0aGF0IGludm9rZSBtYWNyb3MgYW5kIHRoZWlyICIKLSN+ICJ2YWx1ZXMgaW4iCi0jfiBtc2dzdHIgIiIKLSN+ICIgIC1TICAgICAgICAgICAgICAgQSBrdWxjcyBzemVrdmVuY2nhayBsaXN04WphIGEgbWVnaO12b3R0IG1ha3Lza2thbCDpcyAiCi0jfiAiYXpvayDpcnTpa+l2ZWwiCi0KLSN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICBhIGZvcm0gdGhhdCBjYW4gYmUgcmV1c2VkIGFzIGlucHV0LiIKLSN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgbWVseWVrZXQgZmVsIGxlaGV0IGhhc3pu4WxuaSBiZW1lbmV0a+ludC4iCi0KLSN+IG1zZ2lkICJicmVhayBOIGxldmVscy4iCi0jfiBtc2dzdHIgImFra29yIE4gc3ppbnRldCBs6XAga2kuIgotCi0jfiBtc2dpZCAiSWYgTiBpcyBzcGVjaWZpZWQsIHJlc3VtZSBhdCB0aGUgTi10aCBlbmNsb3NpbmcgbG9vcC4iCi0jfiBtc2dzdHIgIiIKLSN+ICJIYSBOIG1lZyB2YW4gaGF04XJvenZhIGFra29yIE4gc3ppbnR0ZWwgbWFnYXNhYmIgaHVyb2tiYSBs6XAgdmlzc3phLiIKLQotI34gbXNnaWQgIlJ1biBhIHNoZWxsIGJ1aWx0aW4uICBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSB3aXNoIHRvIHJlbmFtZSBhIgotI34gbXNnc3RyICIiCi0jfiAiRWd5IGJl6XDtdGV0dCB1dGFz7XThc3QgZnV0dGF0ICwgRXogYWtrb3IgaGFzem5vcyBoYSDhdGFrYXIgbmV2ZXpuaSBlZ3kiCi0KLSN+IG1zZ2lkICJzaGVsbCBidWlsdGluIHRvIGJlIGEgZnVuY3Rpb24sIGJ1dCBuZWVkIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSIKLSN+IG1zZ3N0ciAiIgotI34gImVneSBiZelw7XRldHQgcGFyYW5jc290IGZ1bmtjafN24SwgZGUgc3r8a3PpZ2UgdmFuIGEgYmXpcO10ZXR0IHBhcmFuY3MiCi0KLSN+IG1zZ2lkICJidWlsdGluIHdpdGhpbiB0aGUgZnVuY3Rpb24gaXRzZWxmLiIKLSN+IG1zZ3N0ciAiZXJlZGV0aSBmdW5rY2nzauFyYS4iCi0KLSN+IG1zZ2lkICJDaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRvIERJUi4gIFRoZSB2YXJpYWJsZSAkSE9NRSBpcyB0aGUiCi0jfiBtc2dzdHIgIkJlbOlwIGEgZGlyIGv2bnl2dOFyYmEuQSAkSE9NRSB24Wx0b3rzIGF6IGFsYXDpcnRlbG1lemV0dCIKLQotI34gbXNnaWQgImRlZmF1bHQgRElSLiAgVGhlIHZhcmlhYmxlICRDRFBBVEggZGVmaW5lcyB0aGUgc2VhcmNoIHBhdGggZm9yIgotI34gbXNnc3RyICJESVIuICBBICRDRFBBVEggduFsdG968yBtZWdoYXThcm96emEgYSBrZXJlc+lzaSD6dHZvbmFs4XQgYSBESVItdCIKLQotI34gbXNnaWQgInRoZSBkaXJlY3RvcnkgY29udGFpbmluZyBESVIuICBBbHRlcm5hdGl2ZSBkaXJlY3RvcnkgbmFtZXMgaW4gQ0RQQVRIIgotI34gbXNnc3RyICJ0YXJ0YWxtYXrzIGv2bnl2dOFybmFrLiBBeiBhbHRlcm5hdO12IGv2bnl2dOFyIG5ldmVrZXQgYSBDRFBBVEgtYmFuIgotCi0jfiBtc2dpZCAiYXJlIHNlcGFyYXRlZCBieSBhIGNvbG9uICg6KS4gIEEgbnVsbCBkaXJlY3RvcnkgbmFtZSBpcyB0aGUgc2FtZSBhcyIKLSN+IG1zZ3N0ciAia2V0dPVzcG9udHRhbCg6KSBrZWxsIGVsduFsYXN6dGFuaS4gQXog/HJlcyBr9m55dnThciBu6XYgYXpvbm9zIgotCi0jfiBtc2dpZCAidGhlIGN1cnJlbnQgZGlyZWN0b3J5LCBpLmUuIGAuJy4gIElmIERJUiBiZWdpbnMgd2l0aCBhIHNsYXNoICgvKSwiCi0jfiBtc2dzdHIgImEgamVsZW5sZWdpIGv2bnl2dOFycmFsIGAuJy4gIEhhIGEgRElSIHBlciBqZWxsZWwga2V6ZPVkaWsgKC8pLCIKLQotI34gbXNnaWQgInRoZW4gJENEUEFUSCBpcyBub3QgdXNlZC4gIElmIHRoZSBkaXJlY3RvcnkgaXMgbm90IGZvdW5kLCBhbmQgdGhlIgotI34gbXNnc3RyICJha2tvciBhICRDRFBBVEggbmVtIGhhc3pu4WxoYXTzLiBIYSBhIGv2bnl2dOFyIG5lbSB0YWzhbGhhdPMg6XMgYSIKLQotI34gbXNnaWQgInNoZWxsIG9wdGlvbiBgY2RhYmxlX3ZhcnMnIGlzIHNldCwgdGhlbiB0cnkgdGhlIHdvcmQgYXMgYSB2YXJpYWJsZSIKLSN+IG1zZ3N0ciAiIgotI34gImEgcGFyYW5jc+lydGVsbWV69SAnY2RhYmxlX3ZhcnMnIG5pbmNzIGJl4Wxs7XR2YSwgYWtrb3IgYSBzevN0ICIKLSN+ICJtZWdwcvNi4WxqYSBtaW50ICIKLQotI34gbXNnaWQgIm5hbWUuICBJZiB0aGF0IHZhcmlhYmxlIGhhcyBhIHZhbHVlLCB0aGVuIGNkIHRvIHRoZSB2YWx1ZSBvZiB0aGF0IgotI34gbXNnc3RyICIiCi0jfiAiduFsdG968yBu6XZr6W50LiBIYSBlbm5layBhIHbhbHRvevNuYWsgdmFuIOlydOlrZSwgYWtrb3IgYmVoZWx5ZXR0ZXPtdGkgYSAiCi0jfiAiduFsdG968yAiCi0KLSN+IG1zZ2lkICIiCi0jfiAidmFyaWFibGUuICBUaGUgLVAgb3B0aW9uIHNheXMgdG8gdXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIgotI34gbXNnc3RyICIiCi0jfiAi6XJ06WvpdC4gQSAtUCBvcGNp8yBhenQgamVsZW50aSwgaG9neSBhIGZpemlrYWkga/ZueXZ04XIgZmVs6XDtdOlzdCAiCi0jfiAiaGFzem7hbGphIgotCi0jfiBtc2dpZCAiIgotI34gImluc3RlYWQgb2YgZm9sbG93aW5nIHN5bWJvbGljIGxpbmtzOyB0aGUgLUwgb3B0aW9uIGZvcmNlcyBzeW1ib2xpYyBsaW5rcyIKLSN+IG1zZ3N0ciAiIgotI34gImEgc3ppbWJvbGlrdXMgbGlua2VrIGhlbHlldCwgYSAtTCBvcGNp8yBwZWRpZyBhIHN6aW1ib2xpa3VzIGxpbmtlayAiCi0jfiAia/Z2ZXTpc+l0IgotCi0jfiBtc2dpZCAidG8gYmUgZm9sbG93ZWQuIgotI34gbXNnc3RyICJlcvVsdGV0aSBraSIKLQotI34gbXNnaWQgIlByaW50IHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LiAgV2l0aCB0aGUgLVAgb3B0aW9uLCBwd2QgcHJpbnRzIgotI34gbXNnc3RyICJLae1yamEgYSBr9m55dnThcmF0IGFob2wg4WxsLiBBIC1QIG9wY2nzYmFuIGEgcHdkIGEgIgotCi0jfiBtc2dpZCAidGhlIHBoeXNpY2FsIGRpcmVjdG9yeSwgd2l0aG91dCBhbnkgc3ltYm9saWMgbGlua3M7IHRoZSAtTCBvcHRpb24iCi0jfiBtc2dzdHIgIiIKLSN+ICJmaXppa2FpIGv2bnl2dOFyIGZlbOlw7XTpc3QgbXV0YXRqYSwgYSBzemltYm9saWt1cyBsaW5rZWsgbulsa/xsLCBhIC1MICIKLSN+ICJvcGNp8yIKLQotI34gbXNnaWQgIm1ha2VzIHB3ZCBmb2xsb3cgc3ltYm9saWMgbGlua3MuIgotI34gbXNnc3RyICJwZWRpZyBr9nZldGkgYSBzemltYm9saWt1cyBsaW5rZWtldC4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiUnVucyBDT01NQU5EIHdpdGggQVJHUyBpZ25vcmluZyBzaGVsbCBmdW5jdGlvbnMuICBJZiB5b3UgaGF2ZSBhIHNoZWxsIgotI34gbXNnc3RyICIiCi0jfiAiRWd5IFBBUkFOQ1Mtb3QgZnV0dGF0IEFSRy1va2thbCBmaWd5ZWxtZW4ga+12/GwgaGFneWphIGEgcGFyYW5jc+lydGVsbWV69SIKLQotI34gbXNnaWQgImZ1bmN0aW9uIGNhbGxlZCBgbHMnLCBhbmQgeW91IHdpc2ggdG8gY2FsbCB0aGUgY29tbWFuZCBgbHMnLCB5b3UgY2FuIgotI34gbXNnc3RyICIiCi0jfiAiZnVua2Np82l0LkhhIHZhbiBlZ3kgZnVua2Np8yBhbWluZWsgYSBuZXZlICdscycsIOlzIG1lZ2FrYXJqYSBo7XZuaSwgY3NhayAiCi0jfiAiYXp0IgotCi0jfiBtc2dpZCAiIgotI34gInNheSBcImNvbW1hbmQgbHNcIi4gIElmIHRoZSAtcCBvcHRpb24gaXMgZ2l2ZW4sIGEgZGVmYXVsdCB2YWx1ZSBpcyB1c2VkIgotI34gbXNnc3RyICIiCi0jfiAia2VsbCBtb25kYW5pLCBob2d5IFwiY29tbWFuZCBsc1wiLkhhIGEgLXAgb3BjafN0IGhhc3pu4WxqYSwgYWtrb3IgIgotI34gImZlbGhhc3pu4WxqYSIKLQotI34gbXNnaWQgIiIKLSN+ICJmb3IgUEFUSCB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gZmluZCBhbGwgb2YgdGhlIHN0YW5kYXJkIHV0aWxpdGllcy4gIElmIgotI34gbXNnc3RyICJhIFBBVEggduFsdG9683Qg7Wd5IGJpenRvcywgaG9neSBtZWcgdGFs4WxqYSBheiBhbGFwIHByb2dyYW1va2F0LiIKLQotI34gbXNnaWQgIiIKLSN+ICJ0aGUgLVYgb3IgLXYgb3B0aW9uIGlzIGdpdmVuLCBhIHN0cmluZyBpcyBwcmludGVkIGRlc2NyaWJpbmcgQ09NTUFORC4iCi0jfiBtc2dzdHIgIkhhIGEgLVYgdmFneSBhIC12IG9wY2nzdCBoYXN6buFsamEgYWtrb3Iga2ntcmphIGEgQ09NTUFORCBsZe1y4XPhdC4iCi0KLSN+IG1zZ2lkICJUaGUgLVYgb3B0aW9uIHByb2R1Y2VzIGEgbW9yZSB2ZXJib3NlIGRlc2NyaXB0aW9uLiIKLSN+IG1zZ3N0ciAiQSAtViBvcGNp8yB09mJiIGluZm9ybeFjafN0IGFkIHZpc3N6YS4iCi0KLSN+IG1zZ2lkICJEZWNsYXJlIHZhcmlhYmxlcyBhbmQvb3IgZ2l2ZSB0aGVtIGF0dHJpYnV0ZXMuICBJZiBubyBOQU1FcyBhcmUiCi0jfiBtc2dzdHIgIlbhbHRvevNrYXQgaG96IGzpdHJlIOlzL3ZhZ3kgYXR0cmli+nR1bW9rYXQgYWQgbmVraWsuIEhhIG5pbmNzIE7JViIKLQotI34gbXNnaWQgImdpdmVuLCB0aGVuIGRpc3BsYXkgdGhlIHZhbHVlcyBvZiB2YXJpYWJsZXMgaW5zdGVhZC4gIFRoZSAtcCBvcHRpb24iCi0jfiBtc2dzdHIgIuF0YWR2YSwgYWtrb3IgYSBtZWdqZWxlbu10aSBhIHbhbHRvevNrIOlydOlrZWl0LiBBIC1wIG9wY2nzIgotCi0jfiBtc2dpZCAid2lsbCBkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZXMgb2YgZWFjaCBOQU1FLiIKLSN+IG1zZ3N0ciAibWVnamVsZW7tdGkgYXogYXR0cmli+nR1bW9rYXQg6XMgYXogbWluZGVneWlrIE7JViDpcnTpa+l0LiIKLQotI34gbXNnaWQgIlRoZSBmbGFncyBhcmU6IgotI34gbXNnc3RyICJBIGxlaGV0c+lnZXMgb3BjafNrOiIKLQotI34gbXNnaWQgIiAgLWFcdHRvIG1ha2UgTkFNRXMgYXJyYXlzIChpZiBzdXBwb3J0ZWQpIgotI34gbXNnc3RyICIgIC1hXHRs6XRyZWhvenphIGEgIE7JViB09m1i9nQgKGhhIHThbW9nYXRvdHQpIgotCi0jfiBtc2dpZCAiICAtZlx0dG8gc2VsZWN0IGZyb20gYW1vbmcgZnVuY3Rpb24gbmFtZXMgb25seSIKLSN+IG1zZ3N0ciAiNyAgLWZcdGNzYWsgYSBmdW5rY2nza2F0IHbhbGFzc3phIGtpIgotCi0jfiBtc2dpZCAiICAtRlx0dG8gZGlzcGxheSBmdW5jdGlvbiBuYW1lcyB3aXRob3V0IGRlZmluaXRpb25zIgotI34gbXNnc3RyICIgIC1GXHRtZWdqZWxlbu10aSBhIGZ1bmtjafMgbmV2ZWtldCBhIG1lZ2hhdOFyb3rhc3VrIG7pbGv8bCIKLQotI34gbXNnaWQgIiAgLXJcdHRvIG1ha2UgTkFNRXMgcmVhZG9ubHkiCi0jfiBtc2dzdHIgIiAgLXJcdGEgTkVWRUtFVCBjc2FrIG9sdmFzaGF083bhIHRlc3ppIgotCi0jfiBtc2dpZCAiICAteFx0dG8gbWFrZSBOQU1FcyBleHBvcnQiCi0jfiBtc2dzdHIgIiAgLXhcdGEgTkVWRUtFVCBleHBvcnThbGhhdPMgbfNkb24g7XJqYSBraSIKLQotI34gbXNnaWQgIiAgLWlcdHRvIG1ha2UgTkFNRXMgaGF2ZSB0aGUgYGludGVnZXInIGF0dHJpYnV0ZSBzZXQiCi0jfiBtc2dzdHIgIiAgLWlcdGtp7XJqYSBhIE5FVkVLRVQgYW1pa25layAnc3rhbScgYXogIGF0dHJpYvp0dW11ayIKLQotI34gbXNnaWQgIlZhcmlhYmxlcyB3aXRoIHRoZSBpbnRlZ2VyIGF0dHJpYnV0ZSBoYXZlIGFyaXRobWV0aWMgZXZhbHVhdGlvbiAoc2VlIgotI34gbXNnc3RyICJBIHbhbHRvevNrIG1lbHlla25layBzeuFtIGF6IGF0dHJpYvp0dW11ayBlZ3kgc3rhbW90IChs4XNkIGEgIgotCi0jfiBtc2dpZCAiYGxldCcpIGRvbmUgd2hlbiB0aGUgdmFyaWFibGUgaXMgYXNzaWduZWQgdG8uIgotI34gbXNnc3RyICJsZXQpIGtlbGwsIGhvenrhcmVuZGVsbmkuIgotCi0jfiBtc2dpZCAiV2hlbiBkaXNwbGF5aW5nIHZhbHVlcyBvZiB2YXJpYWJsZXMsIC1mIGRpc3BsYXlzIGEgZnVuY3Rpb24ncyBuYW1lIgotI34gbXNnc3RyICJBbWlrb3IgbWVnamVsZW7tdGkgYSB24Wx0b3rzayDpcnTpa+l0IGEgLWYgYSBmdW5rY2nzayBuZXbpdCIKLQotI34gbXNnaWQgImFuZCBkZWZpbml0aW9uLiAgVGhlIC1GIG9wdGlvbiByZXN0cmljdHMgdGhlIGRpc3BsYXkgdG8gZnVuY3Rpb24iCi0jfiBtc2dzdHIgIulzIG1lZ2hhdOFyb3rhc3VrYXQgbXV0YXRqYS4gQSAtRiBvcGNp8yBzemlnb3L6YW4gY3NhayAiCi0KLSN+IG1zZ2lkICJuYW1lIG9ubHkuIgotI34gbXNnc3RyICJhIGZ1bmtjafNrIG5ldul0IGplbGVu7XRpIG1lZy4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiVXNpbmcgYCsnIGluc3RlYWQgb2YgYC0nIHR1cm5zIG9mZiB0aGUgZ2l2ZW4gYXR0cmlidXRlIGluc3RlYWQuICBXaGVuIgotI34gbXNnc3RyICJBICcrJyBoYXN6buFsYXRhIGEgJy0nIGhlbHlldCBheiBhdHRyaWL6dHVtb3QgdPZybGkuQW1pa29yICIKLQotI34gbXNnaWQgInVzZWQgaW4gYSBmdW5jdGlvbiwgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlIGBsb2NhbCcgY29tbWFuZC4iCi0jfiBtc2dzdHIgIiIKLSN+ICJlZ3kgZnVua2Np82JhbiBoYXN6buFsamEgYSBs6XRyZWhvem90dCBOyVYgaGVseWkgbGVzeiwgbWludCBhIGxvY2FsICIKLSN+ICJwYXJhbmNzbuFsLiIKLQotI34gbXNnaWQgIkNyZWF0ZSBhIGxvY2FsIHZhcmlhYmxlIGNhbGxlZCBOQU1FLCBhbmQgZ2l2ZSBpdCBWQUxVRS4gIExPQ0FMIgotI34gbXNnc3RyICIiCi0jfiAiTOl0cmVob3ogZWd5IGhlbHlpIHbhbHRvem90dCBtZWx5ZXQgTslWLW5layBo7XYg6XMg4XRhZGphIG5la2kgYXogyVJUyUtFVC4iCi0KLSN+IG1zZ2lkICJoYXZlIGEgdmlzaWJsZSBzY29wZSByZXN0cmljdGVkIHRvIHRoYXQgZnVuY3Rpb24gYW5kIGl0cyBjaGlsZHJlbi4iCi0jfiBtc2dzdHIgImNzYWsgYSBmdW5rY2nzbiDpcyBneWVybWVrZWluIGJlbPxsIOlydulueWVzLiIKLQotI34gbXNnaWQgIk91dHB1dCB0aGUgQVJHcy4gIElmIC1uIGlzIHNwZWNpZmllZCwgdGhlIHRyYWlsaW5nIG5ld2xpbmUgaXMiCi0jfiBtc2dzdHIgIiIKLSN+ICJLaW1lbmV0IGF6IEFSRy4gSGEgLW4gaGFzem7hbGphLCBha2tvciBhIHNvcnbpZ2kg+mpzb3J0IGplbGV0IG5lbSB2ZXN6aSIKLQotI34gbXNnaWQgInN1cHByZXNzZWQuICBJZiB0aGUgLWUgb3B0aW9uIGlzIGdpdmVuLCBpbnRlcnByZXRhdGlvbiBvZiB0aGUiCi0jfiBtc2dzdHIgIiIKLSN+ICJmaWd5ZWxlbWJlLiBIYSBhIC1lIG9wY2nzdCBoYXN6buFsamEgYWtrb3IgYSBr9nZldGtlevUgJ2JhY2tzbGFzaC1lc2NhcGVkJyIKLQotI34gbXNnaWQgImZvbGxvd2luZyBiYWNrc2xhc2gtZXNjYXBlZCBjaGFyYWN0ZXJzIGlzIHR1cm5lZCBvbjoiCi0jfiBtc2dzdHIgImthcmFrdGVyZWtldCBoYXN6buFsamE6IgotCi0jfiBtc2dpZCAiXHRcXGFcdGFsZXJ0IChiZWxsKSIKLSN+IG1zZ3N0ciAiXHRcXGFcdOlicmVzenT1IChjc2VuZ/UpIgotCi0jfiBtc2dpZCAiXHRcXGJcdGJhY2tzcGFjZSIKLSN+IG1zZ3N0ciAiXHRcXGJcdHT2cmzpcyIKLQotI34gbXNnaWQgIlx0XFxjXHRzdXBwcmVzcyB0cmFpbGluZyBuZXdsaW5lIgotI34gbXNnc3RyICJcdFxcY1x0c29ydulnaSD6anNvciBraWhhZ3nhc2EiCi0KLSN+IG1zZ2lkICJcdFxcRVx0ZXNjYXBlIGNoYXJhY3RlciIKLSN+IG1zZ3N0ciAiXHRcXEVcdGVzY2FwZSBrYXJha3RlciIKLQotI34gbXNnaWQgIlx0XFxmXHRmb3JtIGZlZWQiCi0jfiBtc2dzdHIgIlx0XFxmXHRsYXAgZG9i4XMiCi0KLSN+IG1zZ2lkICJcdFxcblx0bmV3IGxpbmUiCi0jfiBtc2dzdHIgIlx0XFxuXHT6aiBzb3IiCi0KLSN+IG1zZ2lkICJcdFxcclx0Y2FycmlhZ2UgcmV0dXJuIgotI34gbXNnc3RyICJcdFxcclx0a29jc2kgdmlzc3phIgotCi0jfiBtc2dpZCAiXHRcXHRcdGhvcml6b250YWwgdGFiIgotI34gbXNnc3RyICJcdFxcdFx0du16c3ppbnRlcyB0YWIiCi0KLSN+IG1zZ2lkICJcdFxcdlx0dmVydGljYWwgdGFiIgotI34gbXNnc3RyICJcdFxcdlx0ZvxnZ/VsZWdlcyB0YWIiCi0KLSN+IG1zZ2lkICJcdFxcXFxcdGJhY2tzbGFzaCIKLSN+IG1zZ3N0ciAiXHRcXFxcXHRiYWNrc2xhc2giCi0KLSN+IG1zZ2lkICJcdFxcbnVtXHR0aGUgY2hhcmFjdGVyIHdob3NlIEFTQ0lJIGNvZGUgaXMgTlVNIChvY3RhbCkuIgotI34gbXNnc3RyICJcdFxcbnVtXHRhIE5VTSBhIGthcmFrdGVyIEFTQ0lJIGvzZGphIChueW9sY2FzIHN64W1yZW5kc3plcmJlbikiCi0KLSN+IG1zZ2lkICIiCi0jfiAiWW91IGNhbiBleHBsaWNpdGx5IHR1cm4gb2ZmIHRoZSBpbnRlcnByZXRhdGlvbiBvZiB0aGUgYWJvdmUgY2hhcmFjdGVycyIKLSN+IG1zZ3N0ciAiQSAtRSBvcGNp83ZhbCBraSBsZWhldCBrYXBjc29sbmkgYSBrYXJha3RlcmVrIGZlbnRpIgotCi0jfiBtc2dpZCAid2l0aCB0aGUgLUUgb3B0aW9uLiIKLSN+IG1zZ3N0ciAi6XJ0ZWxtZXrpc+l0LiIKLQotI34gbXNnaWQgIkVuYWJsZSBhbmQgZGlzYWJsZSBidWlsdGluIHNoZWxsIGNvbW1hbmRzLiAgVGhpcyBhbGxvd3MiCi0jfiBtc2dzdHIgIiIKLSN+ICJFbmdlZOlseWV66XMg6XMgTGV0aWx0amEgcGFyYW5jc+lydGVsbWV69SBiZelw7XRldHQgdXRhc+104XNhaXQuIEV6IGF6dCAiCi0jfiAiamVsZW50aSwiCi0KLSN+IG1zZ2lkICJ5b3UgdG8gdXNlIGEgZGlzayBjb21tYW5kIHdoaWNoIGhhcyB0aGUgc2FtZSBuYW1lIGFzIGEgc2hlbGwiCi0jfiBtc2dzdHIgIiIKLSN+ICJob2d5IGxlaGV0IGhhc3pu4WxuaSBhIGxlbWV6ZW4gdGFs4WxoYXTzIHBhcmFuY3Nva2F0IG1lbHlla25layBhIG5ldmUgbWVnLSIKLQotI34gbXNnaWQgImJ1aWx0aW4uICBJZiAtbiBpcyB1c2VkLCB0aGUgTkFNRXMgYmVjb21lIGRpc2FibGVkOyBvdGhlcndpc2UiCi0jfiBtc2dzdHIgIiIKLSN+ICJlZ3llemlrIGEgYmXpcO10ZXR06XZlbC4gSGEgYSAtbiBoYXN6buFsamEsIGFra29yIGEgTslWIGxlIGxlc3ogdGlsdHZhICIKLSN+ICJlZ3npYmvpbnQiCi0KLSN+IG1zZ2lkICJOQU1FcyBhcmUgZW5hYmxlZC4gIEZvciBleGFtcGxlLCB0byB1c2UgdGhlIGB0ZXN0JyBmb3VuZCBvbiB5b3VyIgotI34gbXNnc3RyICIiCi0jfiAiYSBORVZFVCBlbmdlZOlseWV6aS4gUOlsZOF1bCBoYSBoYXN6buFsbmkgYWthcmphIGEgJ3Rlc3QnIC1ldCBhbWkgbGVtZXplbiAiCi0jfiAibOl0ZXppayIKLQotI34gbXNnaWQgInBhdGggaW5zdGVhZCBvZiB0aGUgc2hlbGwgYnVpbHRpbiB2ZXJzaW9uLCB0eXBlIGBlbmFibGUgLW4gdGVzdCcuIgotI34gbXNnc3RyICJhIHBhcmFuY3PpcnRlbGVsbWV69SBoZWx5ZXQsIGfpcGVsamUgYmUgJ2VuYWJsZSAtbiB0ZXN0Jy4iCi0KLSN+IG1zZ2lkICJPbiBzeXN0ZW1zIHN1cHBvcnRpbmcgZHluYW1pYyBsb2FkaW5nLCB0aGUgLWYgb3B0aW9uIG1heSBiZSB1c2VkIgotI34gbXNnc3RyICIiCi0jfiAiQXpva29uIGEgcmVuZHN6ZXJla2VuIGFtaSB04W1vZ2F0amEgYSBkaW5hbWlrdXMgYmV09mx06XN0LCBhIC1mIG9wY2nzdmFsIgotCi0jfiBtc2dpZCAidG8gbG9hZCBuZXcgYnVpbHRpbnMgZnJvbSB0aGUgc2hhcmVkIG9iamVjdCBGSUxFTkFNRS4gIFRoZSAtZCIKLSN+IG1zZ3N0ciAiYmUgbGVoZXQgdPZsdGVuaSBhIEbBSkxOyVYgZuFqbHQg6XMgYmXpcO10ZXR0a+ludCBoYXN6buFsbmkuIEEgLWQiCi0KLSN+IG1zZ2lkICJvcHRpb24gd2lsbCBkZWxldGUgYSBidWlsdGluIHByZXZpb3VzbHkgbG9hZGVkIHdpdGggLWYuICBJZiBubyIKLSN+IG1zZ3N0ciAib3BjafMgcGVkaWcgbGV09nJsaSBheiBlbPV69WxlZyBhIC1mIGVsIGJldPZsdPZ0dCBwcm9ncmFtb3QuIEhhIG5lbSIKLQotI34gbXNnaWQgIm5vbi1vcHRpb24gbmFtZXMgYXJlIGdpdmVuLCBvciB0aGUgLXAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhIGxpc3QiCi0jfiBtc2dzdHIgIiIKLSN+ICLtciBiZSBzZW1taXQgdmFneSBhIC1wIG9wY2nzdCBoYXN6buFsamEgYWtrb3IgbWVnamVsZW7tdGkgYXogZW5nZWTpbHnpa2V0ICIKLQotI34gbXNnaWQgIm9mIGJ1aWx0aW5zIGlzIHByaW50ZWQuICBUaGUgLWEgb3B0aW9uIG1lYW5zIHRvIHByaW50IGV2ZXJ5IGJ1aWx0aW4iCi0jfiBtc2dzdHIgImJl6XDtdGV0dCBwYXJhbmNzb2thdC4gQSAtYSBvcGNp8yBtZWdqZWxlbu10aSBheiD2c3N6ZXMgYmXpcO10ZXR0IgotCi0jfiBtc2dpZCAid2l0aCBhbiBpbmRpY2F0aW9uIG9mIHdoZXRoZXIgb3Igbm90IGl0IGlzIGVuYWJsZWQuICBUaGUgLXMgb3B0aW9uIgotI34gbXNnc3RyICJwYXJhbmNzb3QgYWvhciBlbmdlZOlseWV6dmUgYWvhciBuZW0uIEEgLXMgb3BjafMga2llcvVsdGV0aSIKLQotI34gbXNnaWQgInJlc3RyaWN0cyB0aGUgb3V0cHV0IHRvIHRoZSBQb3NpeC4yIGBzcGVjaWFsJyBidWlsdGlucy4gIFRoZSAtbiIKLSN+IG1zZ3N0ciAiYSBQb3NpeC4yIHNwZWNp4WxpcyBiZelw7XRldHQgcGFyYW5jc2FpdC5BIC1uIGtp7XJqYSBheiD2c3N6ZXMiCi0KLSN+IG1zZ2lkICJvcHRpb24gZGlzcGxheXMgYSBsaXN0IG9mIGFsbCBkaXNhYmxlZCBidWlsdGlucy4iCi0jfiBtc2dzdHIgImxldGlsdG90dCBiZelw7XRldHQgcGFyYW5jc290LiIKLQotI34gbXNnaWQgIkdldG9wdHMgaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy4iCi0jfiBtc2dzdHIgIiIKLSN+ICJBIGdldG9wdHMgLW90IGEgcGFyYW5jc+lydGVsbWV69SBoYXN6buFsamEgYSBwYXJhbmNzb2sgcGFyYW3pdGVyaW5layBheiAiCi0jfiAiZWxlbXrpc+lyZS4iCi0KLSN+IG1zZ2lkICJPUFRTVFJJTkcgY29udGFpbnMgdGhlIG9wdGlvbiBsZXR0ZXJzIHRvIGJlIHJlY29nbml6ZWQ7IGlmIGEgbGV0dGVyIgotI34gbXNnc3RyICJBeiBPUFRTVFJJTkcgdGFydGFsbWF6emEgYSBmZWxpc21lcmVuZPUgb3BjafNrYXQsIGhhIGF6IG9wY2nza2F0IgotCi0jfiBtc2dpZCAiaXMgZm9sbG93ZWQgYnkgYSBjb2xvbiwgdGhlIG9wdGlvbiBpcyBleHBlY3RlZCB0byBoYXZlIGFuIGFyZ3VtZW50LCIKLSN+IG1zZ3N0ciAia2V0dPVzcG9udCBr9nZldGkgYWtrb3IgdmFs83N67W77bGVnIHBhcmFt6XRlcmUgaXMgdmFuLCIKLQotI34gbXNnaWQgIndoaWNoIHNob3VsZCBiZSBzZXBhcmF0ZWQgZnJvbSBpdCBieSB3aGl0ZSBzcGFjZS4iCi0jfiBtc2dzdHIgImFtaXQgamF2YXNvbHQgZWx24Wxhc3p0YW5pIHN682v2enplbC4iCi0KLSN+IG1zZ2lkICJFYWNoIHRpbWUgaXQgaXMgaW52b2tlZCwgZ2V0b3B0cyB3aWxsIHBsYWNlIHRoZSBuZXh0IG9wdGlvbiBpbiB0aGUiCi0jfiBtc2dzdHIgIk1pbmRlbiBo7Xbhc27hbCBhIGdldG9wdHMgZWxoZWx5ZXppIGEgJG5hbWUiCi0KLSN+IG1zZ2lkICJzaGVsbCB2YXJpYWJsZSAkbmFtZSwgaW5pdGlhbGl6aW5nIG5hbWUgaWYgaXQgZG9lcyBub3QgZXhpc3QsIGFuZCIKLSN+IG1zZ3N0ciAiduFsdG9682JhLCBoYSBuZW0gbOl0ZXppayBhIG7pdiBha2tvciIKLQotI34gbXNnaWQgInRoZSBpbmRleCBvZiB0aGUgbmV4dCBhcmd1bWVudCB0byBiZSBwcm9jZXNzZWQgaW50byB0aGUgc2hlbGwiCi0jfiBtc2dzdHIgImEga/Z2ZXRrZXr1IHBhcmFt6XRlciBheiBPUFRJTkQgduFsdG9682JhIGtlcvxsLiIKLQotI34gbXNnaWQgInZhcmlhYmxlIE9QVElORC4gIE9QVElORCBpcyBpbml0aWFsaXplZCB0byAxIGVhY2ggdGltZSB0aGUgc2hlbGwgb3IiCi0jfiBtc2dzdHIgIiIKLSN+ICJBeiBPUFRJTkQgduFsdG9683QgY3NhayBlZ3lzemVyIGtlbGwgbOl0cmVob3puaSBhIHBhcmFuY3PpcnRlbG1levViZW4gIgotI34gInZhZ3kgIgotCi0jfiBtc2dpZCAiYSBzaGVsbCBzY3JpcHQgaXMgaW52b2tlZC4gIFdoZW4gYW4gb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50LCIKLSN+IG1zZ3N0ciAiIgotI34gImVneSBwYXJhbmNz4Wxsb23hbnkgbWVnaO124XNha29yLiBBbWlrb3IgYXogb3BjafMgcGFyYW3pdGVydCBpZ+lueWVsIgotCi0jfiBtc2dpZCAiZ2V0b3B0cyBwbGFjZXMgdGhhdCBhcmd1bWVudCBpbnRvIHRoZSBzaGVsbCB2YXJpYWJsZSBPUFRBUkcuIgotI34gbXNnc3RyICJha2tvciBhIGdldG9wdHMgYmVsZWhlbHllemkgYSBwYXJhbel0ZXJ0IGF6IE9QVEFSRyB24Wx0b3rzYmEuIgotCi0jfiBtc2dpZCAiZ2V0b3B0cyByZXBvcnRzIGVycm9ycyBpbiBvbmUgb2YgdHdvIHdheXMuICBJZiB0aGUgZmlyc3QgY2hhcmFjdGVyIgotI34gbXNnc3RyICJBIGdldG9wdHMga+l0IG3zZG9uIGvpcGVzIGvpcGVzIGEgaGli4WthdCBqZWxlbnRlbmkuSGEgYXogT1BTVFJJTkciCi0KLSN+IG1zZ2lkICJvZiBPUFRTVFJJTkcgaXMgYSBjb2xvbiwgZ2V0b3B0cyB1c2VzIHNpbGVudCBlcnJvciByZXBvcnRpbmcuICBJbiIKLSN+IG1zZ3N0ciAiIgotI34gImVsc/Uga2FyYWt0ZXJyZSBlZ3kga2V0dPVzcG9udCwgYWtrb3IgYSBnZXRvcHRzIGNzZW5kZXMgaGliYW3zZGJhbiB2YW4uIgotCi0jfiBtc2dpZCAidGhpcyBtb2RlLCBubyBlcnJvciBtZXNzYWdlcyBhcmUgcHJpbnRlZC4gIElmIGFuIGlsbGVnYWwgb3B0aW9uIGlzIgotI34gbXNnc3RyICIiCi0jfiAiRWJiZW4gYXog/HplbW3zZGrhYmFuIG5lbSDtciBoaWJhIPx6ZW5ldGV0LiBIYSDpcnbpbnl0ZWxlbiBvcGNp8yB0YWzhbCIKLQotI34gbXNnaWQgInNlZW4sIGdldG9wdHMgcGxhY2VzIHRoZSBvcHRpb24gY2hhcmFjdGVyIGZvdW5kIGludG8gT1BUQVJHLiAgSWYgYSIKLSN+IG1zZ3N0ciAiYWJiYW4gYXogZXNldGJlbiBhIGdldG9wdHMgYXogT1BUQVJHIHbhbHRvevNiYSBoZWx5ZXppIGF6IG9wY2nzdC4iCi0KLSN+IG1zZ2lkICJyZXF1aXJlZCBhcmd1bWVudCBpcyBub3QgZm91bmQsIGdldG9wdHMgcGxhY2VzIGEgJzonIGludG8gTkFNRSBhbmQiCi0jfiBtc2dzdHIgIiIKLSN+ICJIYSBlZ3kgc3r8a3PpZ2VzIHBhcmFt6XRlcnQgbmluY3MgbWVnIGEgZ2V0b3B0cyBlZ3kgJzonIGhlbHlleiBhIE7JVi1iZSDpcyIKLQotI34gbXNnaWQgInNldHMgT1BUQVJHIHRvIHRoZSBvcHRpb24gY2hhcmFjdGVyIGZvdW5kLiAgSWYgZ2V0b3B0cyBpcyBub3QgaW4iCi0jfiBtc2dzdHIgImJl4Wxs7XRqYSBheiBPUFRBUkctb3QgYSBoaWLhcyBvcGNp82tob3ouIEhhIGEgZ2V0b3B0cyBuZW0gY3P2bmRlcyIKLQotI34gbXNnaWQgInNpbGVudCBtb2RlLCBhbmQgYW4gaWxsZWdhbCBvcHRpb24gaXMgc2VlbiwgZ2V0b3B0cyBwbGFjZXMgJz8nIGludG8iCi0jfiBtc2dzdHIgIvx6ZW1t82RiYW4gdmFuIOlzIOlydulueXRlbGVuIG9wY2nzdCB0YWzhbCwgYWtrb3IgYSBnZXRvcHRzIGVneSAnPyciCi0KLSN+IG1zZ2lkICJOQU1FIGFuZCB1bnNldHMgT1BUQVJHLiAgSWYgYSByZXF1aXJlZCBvcHRpb24gaXMgbm90IGZvdW5kLCBhICc/JyIKLSN+IG1zZ3N0ciAiIgotI34gImEgTslWIHbhbHRvevNiYSDpcyBsZeFsbO10amEgYXogT1BUQVJHIHbhbHRvevN0LiBIYSBhIHN6/Gtz6WdlcyBvcGNp8yAiCi0jfiAibmluY3MgbWVnIgotCi0jfiBtc2dpZCAiaXMgcGxhY2VkIGluIE5BTUUsIE9QVEFSRyBpcyB1bnNldCwgYW5kIGEgZGlhZ25vc3RpYyBtZXNzYWdlIGlzIgotI34gbXNnc3RyICIiCi0jfiAiYWtrb3IgZWd5ICc/JyAtZXQgcmFrIGEgTslWLWJlIOlzIGF6IE9QVEFSRy1vdCBsZeFsbO10amEg6XMgZWd5IPx6ZW5ldGV0ICIKLSN+ICJr/GxkIgotCi0jfiBtc2dpZCAiSWYgdGhlIHNoZWxsIHZhcmlhYmxlIE9QVEVSUiBoYXMgdGhlIHZhbHVlIDAsIGdldG9wdHMgZGlzYWJsZXMgdGhlIgotI34gbXNnc3RyICJIYSBheiBPUFRFUlIgduFsdG968yDpcnTpa2UgMCwgYWtrb3IgYSBnZXRvcHRzIGxldGlsdGphIgotCi0jfiBtc2dpZCAicHJpbnRpbmcgb2YgZXJyb3IgbWVzc2FnZXMsIGV2ZW4gaWYgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiIKLSN+IG1zZ3N0ciAiYXog/HplbmV0ZWsga/xsZOlz6XQsIG3pZyBha2tvciBpcyBoYSBheiBPUFRTVFJJTkcgZWxz9SBrYXJha3RlcnJlIgotCi0jfiBtc2dpZCAiT1BUU1RSSU5HIGlzIG5vdCBhIGNvbG9uLiAgT1BURVJSIGhhcyB0aGUgdmFsdWUgMSBieSBkZWZhdWx0LiIKLSN+IG1zZ3N0ciAiZWd5IGtldHT1c3BvbnQuIEF6IE9QVEVSUiBhbGFw6XJ06WtlIDEuIgotCi0jfiBtc2dpZCAiR2V0b3B0cyBub3JtYWxseSBwYXJzZXMgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyAoJDAgLSAkOSksIGJ1dCBpZiIKLSN+IG1zZ3N0ciAiIgotI34gIkEgZ2V0b3B0cyBub3Jt4WwgZXNldGJlbiBhIHBvemljaW9u4WzzIHBhcmFt6XRlcmVrZXQgKCQwLSQ5KSBlbGVtemksIGRlIgotCi0jfiBtc2dpZCAibW9yZSBhcmd1bWVudHMgYXJlIGdpdmVuLCB0aGV5IGFyZSBwYXJzZWQgaW5zdGVhZC4iCi0jfiBtc2dzdHIgImhhIHT2YmIgcGFyYW3pdGVydCBrYXAgYWtrb3IgYXpva2F0IGhhc3pu4WxqYSBoZWx5ZXR0/GsuIgotCi0jfiBtc2dpZCAiRXhlYyBGSUxFLCByZXBsYWNpbmcgdGhpcyBzaGVsbCB3aXRoIHRoZSBzcGVjaWZpZWQgcHJvZ3JhbS4iCi0jfiBtc2dzdHIgIiIKLSN+ICJGwUpMIGZ1dHRhdOFzYSwga2ljc2Vy6WxpIGEgcGFyYW5jc+lydGVsbWV69XQgZWd5IG1lZ2hhdOFyb3pvdHQgcHJvZ3JhbXJhLiIKLQotI34gbXNnaWQgIklmIEZJTEUgaXMgbm90IHNwZWNpZmllZCwgdGhlIHJlZGlyZWN0aW9ucyB0YWtlIGVmZmVjdCBpbiB0aGlzIgotI34gbXNnc3RyICIiCi0jfiAiSGEgYSBGwUpMIG5pbmNzIG1lZ2hhdOFyb3p2YSBha2tvciBheiDhdO1y4W557XThcyBlZmZla3R1cyBs6XAg6WxldGJlIgotCi0jfiBtc2dpZCAic2hlbGwuICBJZiB0aGUgZmlyc3QgYXJndW1lbnQgaXMgYC1sJywgdGhlbiBwbGFjZSBhIGRhc2ggaW4gdGhlIgotI34gbXNnc3RyICIiCi0jfiAiYSBwYXJhbmNz6XJ0ZWxtZXr1bi4gSGEgYXogZWxz9SBwYXJhbel0ZXIgJy1sJyBha2tvciBlZ3kgZ29uZG9sYXRqZWxldCIKLQotI34gbXNnaWQgInplcm90aCBhcmcgcGFzc2VkIHRvIEZJTEUsIGFzIGxvZ2luIGRvZXMuICBJZiB0aGUgYC1jJyBvcHRpb24iCi0jfiBtc2dzdHIgIiIKLSN+ICJyYWsgYSBGwUpMIG51bGxhZGlrIHBhcmFt6XRlculiZSBtaW50IGFob2d5IGEgbG9naW4gdGVzemkuIEhhIGEgJy1jJyAiCi0jfiAib3BjafN0IgotCi0jfiBtc2dpZCAiaXMgc3VwcGxpZWQsIEZJTEUgaXMgZXhlY3V0ZWQgd2l0aCBhIG51bGwgZW52aXJvbm1lbnQuICBUaGUgYC1hJyIKLSN+IG1zZ3N0ciAiYWxrYWxtYXp6YSBha2tvciBhIEbBSkwg/HJlcyBr9nJueWV6ZXRpIHbhbHRvevNra2FsIGluZHVsLiBBICctYSciCi0KLSN+IG1zZ2lkICJvcHRpb24gbWVhbnMgdG8gbWFrZSBzZXQgYXJndlswXSBvZiB0aGUgZXhlY3V0ZWQgcHJvY2VzcyB0byBOQU1FLiIKLSN+IG1zZ3N0ciAiIgotI34gIm9wY2nzIGF6dCBqZWxlbmksIGhvZ3kgYSBmdXR0YXRvdHQgbft2ZWxldCBORVbpdCBheiBhcmd2WzBdLXJhIOFsbO10amEuIgotCi0jfiBtc2dpZCAiSWYgdGhlIGZpbGUgY2Fubm90IGJlIGV4ZWN1dGVkIGFuZCB0aGUgc2hlbGwgaXMgbm90IGludGVyYWN0aXZlLCIKLSN+IG1zZ3N0ciAiSGEgbmVtIGxlaGV0IGEgZuFqbHQgZnV0dGF0bmkg6XMgYSBwYXJhbmNz6XJ0ZWxtZXr1IG5lbSBpbnRlcmFrdO12LCIKLQotI34gbXNnaWQgInRoZW4gdGhlIHNoZWxsIGV4aXRzLCB1bmxlc3MgdGhlIHZhcmlhYmxlIFwibm9fZXhpdF9vbl9mYWlsZWRfZXhlY1wiIgotI34gbXNnc3RyICIiCi0jfiAiYWtrb3IgYSBwYXJhbmNz6XJ0ZWxtZXr1IGtpbOlwLCBoYWNzYWsgbmVtIGEgIFwibm9fZXhpdF9vbl9mYWlsZWRfZXhlY1wiIgotCi0jfiBtc2dpZCAiaXMgc2V0LiIKLSN+IG1zZ3N0ciAiduFsdG968yBuaW5jcyBiZeFsbO10dmEuIgotCi0jfiBtc2dpZCAiaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKLSN+IG1zZ3N0ciAiIgotI34gInZpc3N6YXTpculzaSDpcnTpayBheiB1dG9sauFyYSBmdXR0YXRvdHQgcGFyYW5jcyB2aXNzemEgdOly6XNpIOlydOlrZSAiCi0jfiAibGVzei4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiRklSU1QgYW5kIExBU1QgY2FuIGJlIG51bWJlcnMgc3BlY2lmeWluZyB0aGUgcmFuZ2UsIG9yIEZJUlNUIGNhbiBiZSBhIgotI34gbXNnc3RyICIiCi0jfiAiQXogZWxz9SDpcyBheiB1dG9sc/MgbGVoZXQgZWd5IHT2bWIga2V6ZPUg6XMgYmVmZWplevUg6XJ06WtlLCB2YWd5IGF6IGVsc/UiCi0KLSN+IG1zZ2lkICJzdHJpbmcsIHdoaWNoIG1lYW5zIHRoZSBtb3N0IHJlY2VudCBjb21tYW5kIGJlZ2lubmluZyB3aXRoIHRoYXQiCi0jfiBtc2dzdHIgImxlaGV0IGVneSBzenRyaW5nIGFtaSBhIGxlZ3V0b2xz8yBwYXJhbmNzIGVsc/Ugc3p0cmluZ2rpdCIKLQotI34gbXNnaWQgInN0cmluZy4iCi0jfiBtc2dzdHIgImplbGVudGkuIgotCi0jfiBtc2dpZCAiIgotI34gIiAgIC1lIEVOQU1FIHNlbGVjdHMgd2hpY2ggZWRpdG9yIHRvIHVzZS4gIERlZmF1bHQgaXMgRkNFRElULCB0aGVuIEVESVRPUiwiCi0jfiBtc2dzdHIgIiIKLSN+ICIgIC1lIEVOyVYga2l24Wxhc3p0amEgYSBmZWxoYXN6buFsdCBzemVya2VzenT1dCAuICBBbGFwYvNsIGEgdmktdCAiCi0jfiAiaGFzem7hbGphIgotCi0jfiBtc2dpZCAiIgotI34gIiAgICAgIHRoZW4gdGhlIGVkaXRvciB3aGljaCBjb3JyZXNwb25kcyB0byB0aGUgY3VycmVudCByZWFkbGluZSBlZGl0aW5nIgotI34gbXNnc3RyICIgICAgICIKLQotI34gbXNnaWQgIiAgICAgIG1vZGUsIHRoZW4gdmkuIgotI34gbXNnc3RyICIgIgotCi0jfiBtc2dpZCAiICAgLWwgbWVhbnMgbGlzdCBsaW5lcyBpbnN0ZWFkIG9mIGVkaXRpbmcuIgotI34gbXNnc3RyICIgICAtbCBhIHN6ZXJrZXN6dOlzIGhlbHlldCBjc2FrIG1lZ2plbGVu7XRpIGF6IGVsZW1la2V0LiIKLQotI34gbXNnaWQgIiAgIC1uIG1lYW5zIG5vIGxpbmUgbnVtYmVycyBsaXN0ZWQuIgotI34gbXNnc3RyICIgICAtbiBuZW0g7XJqYSBraSBhIHNvcm9rIHN64W3hdC4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiICAgLXIgbWVhbnMgcmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIGxpbmVzIChtYWtpbmcgaXQgbmV3ZXN0IGxpc3RlZCAiCi0jfiAiZmlyc3QpLiIKLSN+IG1zZ3N0ciAiICAgLXIgdmlzc3phZmVsZSByZW5kZXppIGEgc29yb2thdCAoYSBsZWf6amFiYiBlbGVtIGxlc3ogYXogZWxz9SkuIgotCi0jfiBtc2dpZCAiV2l0aCB0aGUgYGZjIC1zIFtwYXQ9cmVwIC4uLl0gW2NvbW1hbmRdJyBmb3JtYXQsIHRoZSBjb21tYW5kIGlzIgotI34gbXNnc3RyICIiCi0jfiAiQSBmYyAtcyBbcGF0PXJlcCAuLi5dIFtjb21tYW5kXScgZm9ybeF2YWwsIGF6IPpqcmEgbGVmdXR0YXRvdHQgcGFyYW5jcyIKLQotI34gbXNnaWQgInJlLWV4ZWN1dGVkIGFmdGVyIHRoZSBzdWJzdGl0dXRpb24gT0xEPU5FVyBpcyBwZXJmb3JtZWQuIgotI34gbXNnc3RyICJiZWhlbHlldHRlc+10aSBhIHNhauF0IGhlbHnpcmUgYXogdXRhc+104XN0LiIKLQotI34gbXNnaWQgIkEgdXNlZnVsIGFsaWFzIHRvIHVzZSB3aXRoIHRoaXMgaXMgcj0nZmMgLXMnLCBzbyB0aGF0IHR5cGluZyBgciBjYyciCi0jfiBtc2dzdHIgIkVneSBoYXN6bm9zIGFsaWFzIGF6IHI9J2ZjIC1zJywg7Wd5IGFtaWtvciBiZWfpcGVsaSBhICdyIGNjJyIKLQotI34gbXNnaWQgInJ1bnMgdGhlIGxhc3QgY29tbWFuZCBiZWdpbm5pbmcgd2l0aCBgY2MnIGFuZCB0eXBpbmcgYHInIHJlLWV4ZWN1dGVzIgotI34gbXNnc3RyICIiCi0jfiAibGVmdXR0YXRqYSBheiB1dG9sc/MgJ2NjJy12ZWwga2V6ZPVk9SBwYXJhbmNzb3Qg6XMgYW1pa29yIGJl7XJqYSBheiAncictdCAiCi0KLSN+IG1zZ2lkICJKT0JfU1BFQyBpcyBub3QgcHJlc2VudCwgdGhlIHNoZWxsJ3Mgbm90aW9uIG9mIHRoZSBjdXJyZW50IGpvYiBpcyIKLSN+IG1zZ3N0ciAiIgotI34gIkhhIG11bmthX2ZvbHlhbWF0IG5pbmNzIG1lZ2hhdOFyb3p2YSBha2tvciBhIGplbGVubGVnaSBtdW5rYSBmb2x5YW1hdG90IgotCi0jfiBtc2dpZCAidXNlZC4iCi0jfiBtc2dzdHIgImhhc3pu4WxqYS4iCi0KLSN+IG1zZ2lkICJQbGFjZSBKT0JfU1BFQyBpbiB0aGUgYmFja2dyb3VuZCwgYXMgaWYgaXQgaGFkIGJlZW4gc3RhcnRlZCB3aXRoIgotI34gbXNnc3RyICIiCi0jfiAibmthX2ZvbHlhbWF0LW90IGF6IGjhdHTpcmJlIGhlbHllemkgbWludGhhICcmJyBqZWxsZWwgaW5k7XRvdHRhIHZvbG5hIgotCi0jfiBtc2dpZCAiYCYnLiAgSWYgSk9CX1NQRUMgaXMgbm90IHByZXNlbnQsIHRoZSBzaGVsbCdzIG5vdGlvbiBvZiB0aGUgY3VycmVudCIKLSN+IG1zZ3N0ciAiSGEgYSBtdW5rYWZvbHlhbWF0IG5pbmNzIG1lZ2hhdOFyb3p2YSBha2tvciIKLQotI34gbXNnaWQgImpvYiBpcyB1c2VkLiIKLSN+IG1zZ3N0ciAiYSBqZWxlbmxlZ2kgbXVua2Fmb2x5YW1hdG90IGhhc3pu4WxqYS4iCi0KLSN+IG1zZ2lkICJGb3IgZWFjaCBOQU1FLCB0aGUgZnVsbCBwYXRobmFtZSBvZiB0aGUgY29tbWFuZCBpcyBkZXRlcm1pbmVkIGFuZCIKLSN+IG1zZ3N0ciAiTWVnaGF04XJvenphIGF6IPZzc3plcyBu6XYgdGVsamVzIGVs6XLpc2kg+nR2b25hbOF0IOlzIG1lZ2plZ3l6aS4iCi0KLSN+IG1zZ2lkICJyZW1lbWJlcmVkLiAgSWYgdGhlIC1wIG9wdGlvbiBpcyBzdXBwbGllZCwgUEFUSE5BTUUgaXMgdXNlZCBhcyB0aGUiCi0jfiBtc2dzdHIgIkhhIGEgJy1wJyBvcGNp83QgaGFzem7hbGphIGFra29yIGF6INpUVk9OQUwtYXQgdmVzemkgYSBOyVYgdGVsamVzIgotCi0jfiBtc2dpZCAiZnVsbCBwYXRobmFtZSBvZiBOQU1FLCBhbmQgbm8gcGF0aCBzZWFyY2ggaXMgcGVyZm9ybWVkLiAgVGhlIC1yIgotI34gbXNnc3RyICL6dHZvbmFs4W5hayDpcyBuZW0ga2VyZXNpIGF6IPp0dm9uYWxhdC4gQSAnLXInIG9wY2nzIgotCi0jfiBtc2dpZCAib3B0aW9uIGNhdXNlcyB0aGUgc2hlbGwgdG8gZm9yZ2V0IGFsbCByZW1lbWJlcmVkIGxvY2F0aW9ucy4gIElmIG5vIgotI34gbXNnc3RyICJmZWxzevNs7XRqYSBhIHBhcmFuY3PpcnRlbG1levV0LCBob2d5IGZlbGVqdHNlIGVsIGF6IPZzc3plcyBoZWx5ZXQuIgotCi0jfiBtc2dpZCAiIgotI34gImFyZ3VtZW50cyBhcmUgZ2l2ZW4sIGluZm9ybWF0aW9uIGFib3V0IHJlbWVtYmVyZWQgY29tbWFuZHMgaXMgZGlzcGxheWVkLiIKLSN+IG1zZ3N0ciAiIgotI34gIkhhIG5pbmNzIG1lZ2FkdmEgcGFyYW3pdGVyIGFra29yIG1lZ2plbGVu7XRpIGEgbWVnamVneXpldHQgcGFyYW5jc29rYXQuIgotCi0jfiBtc2dpZCAiRGlzcGxheSBoZWxwZnVsIGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuICBJZiBQQVRURVJOIGlzIgotI34gbXNnc3RyICJIYXN6bm9zIGluZm9ybeFjafNrYXQgamVsZW7tdCBtZWcgYSBiZelw7XRldHQgcGFyYW5jc29rcvNsLiBIYSBhICIKLQotI34gbXNnaWQgInNwZWNpZmllZCwgZ2l2ZXMgZGV0YWlsZWQgaGVscCBvbiBhbGwgY29tbWFuZHMgbWF0Y2hpbmcgUEFUVEVSTiwiCi0jfiBtc2dzdHIgIiIKLSN+ICJNSU5UQSBtZWcgdmFuIGhhdOFyb3p2YSwgYWtrb3IgculzemxldGVzIHNlZ+10c+lnZXQg7XIga2kgYXogdXRhc+104XNy82wiCi0KLSN+IG1zZ2lkICJvdGhlcndpc2UgYSBsaXN0IG9mIHRoZSBidWlsdGlucyBpcyBwcmludGVkLiIKLSN+IG1zZ3N0ciAiZWd56WJr6W50IGVneSBsaXN04XQgamVsZW7tdCBtZWcgYSBiZelw7XRldHQgcGFyYW5jc29rcvNsLiIKLQotI34gbXNnaWQgIkRpc3BsYXkgdGhlIGhpc3RvcnkgbGlzdCB3aXRoIGxpbmUgbnVtYmVycy4gIExpbmVzIGxpc3RlZCB3aXRoIgotI34gbXNnc3RyICJTb3JzeuFtb3p2YSBtZWdqZWxlbu10aSBheiBlbPV6belueWVrZXQuIEEgbWVnduFsdG96dGF0b3R0IHNvcm9rYXQiCi0KLSN+IG1zZ2lkICJ3aXRoIGEgYConIGhhdmUgYmVlbiBtb2RpZmllZC4gIEFyZ3VtZW50IG9mIE4gc2F5cyB0byBsaXN0IG9ubHkiCi0jfiBtc2dzdHIgIiIKLSN+ICJlZ3kgY3NpbGxhZ2dhbCgqKSBqZWz2bGkuIEF6IE4gb3BjafMgYXp0IGplbGVudGksIGhvZ3kgY3NhayBheiB1dG9sc/MiCi0KLSN+IG1zZ2lkICJ0aGUgbGFzdCBOIGxpbmVzLiAgVGhlIC1jIG9wdGlvbiBjYXVzZXMgdGhlIGhpc3RvcnkgbGlzdCB0byBiZSIKLSN+IG1zZ3N0ciAiTiBzb3J0IG11dGF0amEgbWVnLiAgQSAnLWMnIG9wY2nzIGVyZWRt6W55ZSwgaG9neSBheiBlbPV6belueSIKLQotI34gbXNnaWQgIiIKLSN+ICJjbGVhcmVkIGJ5IGRlbGV0aW5nIGFsbCBvZiB0aGUgZW50cmllcy4gIFRoZSBgLXcnIG9wdGlvbiB3cml0ZXMgb3V0IHRoZSIKLSN+IG1zZ3N0ciAiIgotI34gImxpc3RhIPZzc3plcyBlbGVtZSB09nJs9WRpay4gQSAnLXcnIG9wY2nzIGF6b25uYWwga2ntcmphIGF6IGVs9Xpt6W55ZWtldCIKLQotI34gbXNnaWQgIiIKLSN+ICJjdXJyZW50IGhpc3RvcnkgdG8gdGhlIGhpc3RvcnkgZmlsZTsgIGAtcicgbWVhbnMgdG8gcmVhZCB0aGUgZmlsZSBhbmQiCi0jfiBtc2dzdHIgImF6IGFrdHXhbGlzIGxpc3ThYmEsICctcicgcGVkaWcgYmVvbHZhc3NhIGEgZuFqbHQiCi0KLSN+IG1zZ2lkICJhcHBlbmQgdGhlIGNvbnRlbnRzIHRvIHRoZSBoaXN0b3J5IGxpc3QgaW5zdGVhZC4gIGAtYScgbWVhbnMiCi0jfiBtc2dzdHIgIulzIGF6IPpqIGbhamx0IGVsZW1laXQgaGFzem7hbGphIGhlbHlldHRlLiBBICctYScgaG96euFm+3ppIgotCi0jfiBtc2dpZCAidG8gYXBwZW5kIGhpc3RvcnkgbGluZXMgZnJvbSB0aGlzIHNlc3Npb24gdG8gdGhlIGhpc3RvcnkgZmlsZS4iCi0jfiBtc2dzdHIgImF6IGFrdHXhbGlzIHRlcm1pbuFsIHNvcmFpdCBhIHRlbGplcyBlbPV6belueSBm4WpsaG96LiIKLQotI34gbXNnaWQgIkFyZ3VtZW50IGAtbicgbWVhbnMgdG8gcmVhZCBhbGwgaGlzdG9yeSBsaW5lcyBub3QgYWxyZWFkeSByZWFkIgotI34gbXNnc3RyICJBICctbicgb3BjafMgYmVvbHZhc3NhIGF6IGVn6XN6IGVs9Xpt6W55IG5lbSBiZW9sdmFzb3R0IHNvcmFpdCIKLQotI34gbXNnaWQgImZyb20gdGhlIGhpc3RvcnkgZmlsZSBhbmQgYXBwZW5kIHRoZW0gdG8gdGhlIGhpc3RvcnkgbGlzdC4gIElmIgotI34gbXNnc3RyICJleiBlbPV6belueWVrIGbhamxi82wg6XMgaG96euFm+3ppIGF6IGVs9Xpt6W55IGxpc3ThaG96LiIKLQotI34gbXNnaWQgIkZJTEVOQU1FIGlzIGdpdmVuLCB0aGVuIHRoYXQgaXMgdXNlZCBhcyB0aGUgaGlzdG9yeSBmaWxlIGVsc2UiCi0jfiBtc2dzdHIgIkhhIGbhamxuZXZldCBpcyBtZWdhZHVuayBha2tvciBhenQgYSBm4WpsdCBmb2dqYSBoYXN6buFsbmkiCi0KLSN+IG1zZ2lkICJpZiAkSElTVEZJTEUgaGFzIGEgdmFsdWUsIHRoYXQgaXMgdXNlZCwgZWxzZSB+Ly5iYXNoX2hpc3RvcnkuIgotI34gbXNnc3RyICIiCi0jfiAiSGEgbmluY3MgYSAkSElTRklMRS1uYWsg6XJ06WsgYWR2YSBha2tvciBhIH4vLmJhc2hfaGlzdG9yeS10IGhhc3pu4WxqYS4iCi0KLSN+IG1zZ2lkICJJZiB0aGUgLXMgb3B0aW9uIGlzIHN1cHBsaWVkLCB0aGUgbm9uLW9wdGlvbiBBUkdzIGFyZSBhcHBlbmRlZCB0byIKLSN+IG1zZ3N0ciAiQSAnLXMnIG9wY2nzIGhhdOFz4XJhIGF6IEFSRy1vdCBob3p64Wb7emkiCi0KLSN+IG1zZ2lkICJ0aGUgaGlzdG9yeSBsaXN0IGFzIGEgc2luZ2xlIGVudHJ5LiAgVGhlIC1wIG9wdGlvbiBtZWFucyB0byBwZXJmb3JtIgotI34gbXNnc3RyICJheiBlbPV6belueWVraGV6LiBBICctcCcgb3BjafMgIgotCi0jfiBtc2dpZCAiIgotI34gImhpc3RvcnkgZXhwYW5zaW9uIG9uIGVhY2ggQVJHIGFuZCBkaXNwbGF5IHRoZSByZXN1bHQsIHdpdGhvdXQgc3RvcmluZyIKLSN+IG1zZ3N0ciAidulncmUgaGFqdGphIGV6IPZzc3plcyBBUkctb3Qg6XMgYXogZXJlZG3pbnl0IG1lZ2plbGVu7XRpIgotCi0jfiBtc2dpZCAiYW55dGhpbmcgaW4gdGhlIGhpc3RvcnkgbGlzdC4iCi0jfiBtc2dzdHIgImFu6Wxr/GwsIGhvZ3kgYuFybWl0IGlzIGJl7XJuYSBheiBlbPV6belueSBsaXN04WJhLiIKLQotI34gbXNnaWQgIkxpc3RzIHRoZSBhY3RpdmUgam9icy4gIFRoZSAtbCBvcHRpb24gbGlzdHMgcHJvY2VzcyBpZCdzIGluIGFkZGl0aW9uIgotI34gbXNnc3RyICIiCi0jfiAiS2lsaXN04Xp6YSBheiBha3TtdiBtdW5rYSBmb2x5YW1hdG9rYXQuIEEgJy1sJyBvcGNp8yBrae1yamEgZmVsYWRhdCAiCi0jfiAiYXpvbm9z7XRvdHQiCi0KLSN+IG1zZ2lkICJ0byB0aGUgbm9ybWFsIGluZm9ybWF0aW9uOyB0aGUgLXAgb3B0aW9uIGxpc3RzIHByb2Nlc3MgaWQncyBvbmx5LiIKLSN+IG1zZ3N0ciAiIgotI34gImEgbm9ybeFsIGluZm9ybeFjafNrIG1lbGzpLCBhICctcCcgb3BjafMgcGVkaWcgY3NhayBhIGZlbGFkYXQgYXpvbm9z7XRvdHQgIgotI34gIu1yamEga2kuIgotCi0jfiBtc2dpZCAiIgotI34gIklmIC1uIGlzIGdpdmVuLCBvbmx5IHByb2Nlc3NlcyB0aGF0IGhhdmUgY2hhbmdlZCBzdGF0dXMgc2luY2UgdGhlIGxhc3QiCi0jfiBtc2dzdHIgIiIKLSN+ICJIYSBhICctbicgb3BjafN0IGhhc3pu4WxqYSBha2tvciBjc2FrIGEgduFsdG964XNva2F0IO1yamEga2kgYW1pIGF6ICIKLSN+ICJ1dG9sc/MgaO124XMgIgotCi0jfiBtc2dpZCAiIgotI34gIm5vdGlmaWNhdGlvbiBhcmUgcHJpbnRlZC4gIEpPQlNQRUMgcmVzdHJpY3RzIG91dHB1dCB0byB0aGF0IGpvYi4gIFRoZSIKLSN+IG1zZ3N0ciAidXThbiB09nJ06W50LiBBIE1VTktBRk9MWUFNQVQgbWVnaGF04XJvenphbSwgaG9neSBtZWx5aWtldCDtcmphIGtpLiIKLQotI34gbXNnaWQgIi1yIGFuZCAtcyBvcHRpb25zIHJlc3RyaWN0IG91dHB1dCB0byBydW5uaW5nIGFuZCBzdG9wcGVkIGpvYnMgb25seSwiCi0jfiBtc2dzdHIgIiIKLSN+ICJBICctcicg6XMgYSAnLXMnIG9wY2nzayBjc2FrIGEgZnV08yDpcyBhIG1lZ+FsbO10b3R0IGZvbHlhbWF0b2thdCDtcmphIGtpIgotCi0jfiBtc2dpZCAicmVzcGVjdGl2ZWx5LiAgV2l0aG91dCBvcHRpb25zLCB0aGUgc3RhdHVzIG9mIGFsbCBhY3RpdmUgam9icyBpcyIKLSN+IG1zZ3N0ciAiTWluZGVuIG9wY2nzIG7pbGv8bCBtZWdqZWxlbu10aSBheiD2c3N6ZXMgYWt07XYgbXVua2Fmb2x5YW1hdG90IgotCi0jfiBtc2dpZCAiIgotI34gInByaW50ZWQuICBJZiAteCBpcyBnaXZlbiwgQ09NTUFORCBpcyBydW4gYWZ0ZXIgYWxsIGpvYiBzcGVjaWZpY2F0aW9ucyIKLSN+IG1zZ3N0ciAiIgotI34gIkEgJy14JyBvcGNp8yBoYXThc+FyYSBhIFBBUkFOQ1MgbGVmdXThc2EgdXThbiBheiD2c3N6ZXMgbXVua2Fmb2x5YW1hdCAiCi0KLSN+IG1zZ2lkICIiCi0jfiAidGhhdCBhcHBlYXIgaW4gQVJHUyBoYXZlIGJlZW4gcmVwbGFjZWQgd2l0aCB0aGUgcHJvY2VzcyBJRCBvZiB0aGF0IGpvYidzIgotI34gbXNnc3RyICIiCi0jfiAibWVnaGF04XJveuFzIGFtaSBheiBBUkdTLWJhbiBmZWx0+25payBheiBraWNzZXLpbPVkaWsgYSBtdW5rYWZvbHlhbWF0ICIKLSN+ICJ2ZXpldPUiCi0KLSN+IG1zZ2lkICJwcm9jZXNzIGdyb3VwIGxlYWRlci4iCi0jfiBtc2dzdHIgImZlbGFkYXQgYXpvbm9z7XTzauFyYS4iCi0KLSN+IG1zZ2lkICJSZW1vdmVzIGVhY2ggSk9CU1BFQyBhcmd1bWVudCBmcm9tIHRoZSB0YWJsZSBvZiBhY3RpdmUgam9icy4iCi0jfiBtc2dzdHIgIkVsdOF2b2ztdGphIGF6IPZzc3plcyBNVU5LQUZPTFlBTUFULW90IGF6IGFrdO12IGZvbHlhbWF0b2sga/Z6/GwuIgotCi0jfiBtc2dpZCAiU2VuZCB0aGUgcHJvY2Vzc2VzIG5hbWVkIGJ5IFBJRCAob3IgSk9CKSB0aGUgc2lnbmFsIFNJR1NQRUMuICBJZiIKLSN+IG1zZ3N0ciAiQSBqZWx07XB1c3Qoc2lnc3BlYykga/xsZCBhIG1lZ2hhdOFyb3pvdHQgUElELXJlIHZhZ3kgSk9CLXJhLiIKLQotI34gbXNnaWQgIiIKLSN+ICJTSUdTUEVDIGlzIG5vdCBwcmVzZW50LCB0aGVuIFNJR1RFUk0gaXMgYXNzdW1lZC4gIEFuIGFyZ3VtZW50IG9mIGAtbCciCi0jfiBtc2dzdHIgIiIKLSN+ICJIYSBhIGplbHTtcHVzKHNpZ3BzZWMpIG5pbmNzIG1lZ2hhdOFyb3p2YSBha2tvciBlZ3kgU0lHVEVSTS1ldCBr/GxkLiIKLQotI34gbXNnaWQgImxpc3RzIHRoZSBzaWduYWwgbmFtZXM7IGlmIGFyZ3VtZW50cyBmb2xsb3cgYC1sJyB0aGV5IGFyZSBhc3N1bWVkIHRvIgotI34gbXNnc3RyICIiCi0jfiAiQSAnLWwnIG9wY2nzIGtpbGlzdOF6emEgYSBqZWxlayBuZXZlaXQuSGEgYSAnLWwnIG9wY2nzIHBhcmFt6XRlcmUgZWd5IgotCi0jfiBtc2dpZCAiYmUgc2lnbmFsIG51bWJlcnMgZm9yIHdoaWNoIG5hbWVzIHNob3VsZCBiZSBsaXN0ZWQuICBLaWxsIGlzIGEgc2hlbGwiCi0jfiBtc2dzdHIgIiIKLSN+ICJqZWwgc3rhbWEgYWtrb3IgYSBzeuFtaG96IHRhcnRvevMgbmV2ZXQg7XJqYSBraS4gQSBraWxsIGvpdCBva2LzbCAiCi0jfiAiYmXpcO10ZXR0IgotCi0jfiBtc2dpZCAiYnVpbHRpbiBmb3IgdHdvIHJlYXNvbnM6IGl0IGFsbG93cyBqb2IgSURzIHRvIGJlIHVzZWQgaW5zdGVhZCBvZiIKLSN+IG1zZ3N0ciAidXRhc+104XNhIGEgcGFyYW5jc+lydGVsbWV69W5lazogYSBqb2IgYXpvbm9z7XTzIGhlbHlldCIKLQotI34gbXNnaWQgInByb2Nlc3MgSURzLCBhbmQsIGlmIHlvdSBoYXZlIHJlYWNoZWQgdGhlIGxpbWl0IG9uIHByb2Nlc3NlcyB0aGF0IgotI34gbXNnc3RyICLpcyBoYSAoZXNldGxlZykgYSBmZWxhZGF0b2sgZWzpcmlrIGEgbWF4aW3hbGlzIGhhdOFydCBha2tvciBuZW0iCi0KLSN+IG1zZ2lkICIiCi0jfiAieW91IGNhbiBjcmVhdGUsIHlvdSBkb24ndCBoYXZlIHRvIHN0YXJ0IGEgcHJvY2VzcyB0byBraWxsIGFub3RoZXIgb25lLiIKLSN+IG1zZ3N0ciAiIgotI34gIm5lbSBsZWhldCD6aiBmZWxhZGF0b3QgaW5k7XRhbmkoZvVsZWcgYSBraWxsKSDpcyDtZ3kgbmVtIGxlaGV0c+lnZXMgIgotI34gImtpbPVuaSBzZW1taXQuIgotCi0jfiBtc2dpZCAiRWFjaCBBUkcgaXMgYW4gYXJpdGhtZXRpYyBleHByZXNzaW9uIHRvIGJlIGV2YWx1YXRlZC4gIEV2YWx1YXRpb24iCi0jfiBtc2dzdHIgIk1pbmRlbiBBUkcgZWd5IG1hdGVtYXRpa2FpIGtpZmVseWV66XMuIEF6IOlydOlrIgotCi0jfiBtc2dpZCAiaXMgZG9uZSBpbiBsb25nIGludGVnZXJzIHdpdGggbm8gY2hlY2sgZm9yIG92ZXJmbG93LCB0aG91Z2ggZGl2aXNpb24iCi0jfiBtc2dzdHIgImxlaGV0IGhvc3N6+iBlZ+lzeiB0+mxjc29yZHVs4XMgZWxsZW71cnrpcyBu6Wxr/GwuIEEgbnVsbOF2YWwgdmFs8yIKLQotI34gbXNnaWQgImJ5IDAgaXMgdHJhcHBlZCBhbmQgZmxhZ2dlZCBhcyBhbiBlcnJvci4gIFRoZSBmb2xsb3dpbmcgbGlzdCBvZiIKLSN+IG1zZ3N0ciAiIgotI34gIm9zenThcyBtZWdzemFr7XRqYSDpcyBoaWLhdCBqZWxlei5BIGv2dmV0a2V69SBsaXN0YSBlZ3kg9nNzemVmb2dsYWzzIgotCi0jfiBtc2dpZCAib3BlcmF0b3JzIGlzIGdyb3VwZWQgaW50byBsZXZlbHMgb2YgZXF1YWwtcHJlY2VkZW5jZSBvcGVyYXRvcnMuIgotI34gbXNnc3RyICJheiBvcGVy4XRvcm9rcvNsIHbpZ3JlaGFqdOFzIHN6ZXJpbnRpIGNzb3BvcnRvc+104XNiYW4uIgotCi0jfiBtc2dpZCAiVGhlIGxldmVscyBhcmUgbGlzdGVkIGluIG9yZGVyIG9mIGRlY3JlYXNpbmcgcHJlY2VkZW5jZS4iCi0jfiBtc2dzdHIgIiIKLSN+ICJBIGxpc3ThYmFuIHbpZ3JlaGFqdOFzIHN6ZXJpbnQgY3P2a2tlbvUgc29ycmVuZGJlbiB2YW5uYWsgZmVsc29yb2x2YS4iCi0KLSN+IG1zZ2lkICJcdC0sICtcdFx0dW5hcnkgbWludXMsIHBsdXMiCi0jfiBtc2dzdHIgIlx0LSwgK1x0XHR1buFyaXMgbe1udXN6LCBwbHVzeiIKLQotI34gbXNnaWQgIlx0ISwgflx0XHRsb2dpY2FsIGFuZCBiaXR3aXNlIG5lZ2F0aW9uIgotI34gbXNnc3RyICJcdCEsIH5cdFx0bG9naWthaSDpcyBiaXRzemludPsgbmVn4WzhcyIKLQotI34gbXNnaWQgIlx0KiwgLywgJVx0XHRtdWx0aXBsaWNhdGlvbiwgZGl2aXNpb24sIHJlbWFpbmRlciIKLSN+IG1zZ3N0ciAiXHQqLCAvLCAlXHRcdHN6b3J64XMsIG9zenThcywgbWFyYWTpa2vpcHrpcyIKLQotI34gbXNnaWQgIlx0KywgLVx0XHRhZGRpdGlvbiwgc3VidHJhY3Rpb24iCi0jfiBtc2dzdHIgIlx0KywgLVx0XHT2c3N6ZWFk4XNhLCBraXZvbuFzIgotCi0jfiBtc2dpZCAiXHQ8PCwgPj5cdFx0bGVmdCBhbmQgcmlnaHQgYml0d2lzZSBzaGlmdHMiCi0jfiBtc2dzdHIgIlx0PDwsID4+XHRcdGJpdHN6aW50+yBiYWxyYSDpcyBqb2JicmEgZW1lbOlzIgotCi0jfiBtc2dpZCAiXHQ8PSwgPj0sIDwsID5cdGNvbXBhcmlzb24iCi0jfiBtc2dzdHIgIlx0PD0sID49LCA8LCA+XHT2c3N6ZWhhc29ubO104XMiCi0KLSN+IG1zZ2lkICJcdD09LCAhPVx0XHRlcXVhbGl0eSwgaW5lcXVhbGl0eSIKLSN+IG1zZ3N0ciAiXHQ9PSwgIT1cdFx0ZWd5ZW5s9XPpZyAsZWd5ZW5s9XRsZW5z6WciCi0KLSN+IG1zZ2lkICJcdCZcdFx0Yml0d2lzZSBBTkQiCi0jfiBtc2dzdHIgIlx0Jlx0XHRiaXRzemludPsgyVMiCi0KLSN+IG1zZ2lkICJcdF5cdFx0Yml0d2lzZSBYT1IiCi0jfiBtc2dzdHIgIlx0Xlx0XHRiaXRzemludPsga2l64XLzLXZhZ3kiCi0KLSN+IG1zZ2lkICJcdHxcdFx0Yml0d2lzZSBPUiIKLSN+IG1zZ3N0ciAiXHR8XHRcdGJpdHN6aW50+yBWQUdZIgotCi0jfiBtc2dpZCAiXHQmJlx0XHRsb2dpY2FsIEFORCIKLSN+IG1zZ3N0ciAiXHQmJlx0XHRsb2dpa2FpIMlTIgotCi0jfiBtc2dpZCAiXHR8fFx0XHRsb2dpY2FsIE9SIgotI34gbXNnc3RyICJcdHx8XHRcdGxvZ2lrYWkgVkFHWSIKLQotI34gbXNnaWQgIlx0ZXhwciA/IGV4cHIgOiBleHByIgotI34gbXNnc3RyICJcdGtpZmVseWV66XMgPyBraWZlbHlleulzIDoga2lmZWx5ZXrpcyIKLQotI34gbXNnaWQgIlx0XHRcdGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCi0jfiBtc2dzdHIgIlx0XHRcdGZlbHTpdGVsZXMga2lmZWx5ZXrpcyIKLQotI34gbXNnaWQgIlx0PSwgKj0sIC89LCAlPSwiCi0jfiBtc2dzdHIgIlx0PSwgKj0sIC89LCAlPSwiCi0KLSN+IG1zZ2lkICJcdCs9LCAtPSwgPDw9LCA+Pj0sIgotI34gbXNnc3RyICJcdCs9LCAtPSwgPDw9LCA+Pj0sIgotCi0jfiBtc2dpZCAiXHQmPSwgXj0sIHw9XHRhc3NpZ25tZW50IgotI34gbXNnc3RyICJcdCY9LCBePSwgfD1cdGhvenrhcmVuZGVs6XMiCi0KLSN+IG1zZ2lkICJpcyByZXBsYWNlZCBieSBpdHMgdmFsdWUgKGNvZXJjZWQgdG8gYSBsb25nIGludGVnZXIpIHdpdGhpbiIKLSN+IG1zZ3N0ciAiYmVoZWx5ZXR0ZXPtdGhldPUgYSBraWZlbHlleulzZWtiZW4g6XJ06WtlayBoZWx56XJlICIKLQotI34gbXNnaWQgImFuIGV4cHJlc3Npb24uICBUaGUgdmFyaWFibGUgbmVlZCBub3QgaGF2ZSBpdHMgaW50ZWdlciBhdHRyaWJ1dGUiCi0jfiBtc2dzdHIgIiIKLSN+ICIoaG9zc3r6IGVn6XN6cmUga2llZ+lzeu10dmUpLiBBIHbhbHRvevNuYWsgbmVtIGxlaGV0IGVn6XN6IGF0dHJpYvp0dW1hIgotCi0jfiBtc2dpZCAidHVybmVkIG9uIHRvIGJlIHVzZWQgaW4gYW4gZXhwcmVzc2lvbi4iCi0jfiBtc2dzdHIgImJl4Wxs7XR2YSwgaGEga2lmZWx5ZXrpc2vpbnQga+124W5qYSBoYXN6buFsbmkuIgotCi0jfiBtc2dpZCAiT3BlcmF0b3JzIGFyZSBldmFsdWF0ZWQgaW4gb3JkZXIgb2YgcHJlY2VkZW5jZS4gIFN1Yi1leHByZXNzaW9ucyBpbiIKLSN+IG1zZ3N0ciAiQXogb3BlcuF0b3JvayBraelydOlrZWzpc2kgc29ycmVuZGJlbi4gQXogYWwta2lmZWx5ZXrpc2VrIgotCi0jfiBtc2dpZCAicGFyZW50aGVzZXMgYXJlIGV2YWx1YXRlZCBmaXJzdCBhbmQgbWF5IG92ZXJyaWRlIHRoZSBwcmVjZWRlbmNlIgotI34gbXNnc3RyICIiCi0jfiAiZWxz9W5layBo7XbzZG5hayBtZWcg6XMgZXp6ZWwgZmVs/Gxi7XLhbGhhdGrhayBhIHRlbGplcyB26WdyZSBoYWp04XNpIgotCi0jfiBtc2dpZCAicnVsZXMgYWJvdmUuIgotI34gbXNnc3RyICJzemFi4Wx5b2thdC4iCi0KLSN+IG1zZ2lkICJJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IDAgaXMgcmV0dXJuZWQiCi0jfiBtc2dzdHIgIkhhIGF6IHV0b2xz8yBBUkcg6XJ06WtlIDAgYWtrb3IgYSB2aXNzemF06XLpc2kg6XJ06WtlIDEsIGVneelia+ludCIKLQotI34gbXNnaWQgIm90aGVyd2lzZS4iCi0jfiBtc2dzdHIgIjAgLXZhbCB06XIgdmlzc3phLiIKLQotI34gbXNnaWQgIk9uZSBsaW5lIGlzIHJlYWQgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIGFuZCB0aGUgZmlyc3Qgd29yZCBpcyIKLSN+IG1zZ3N0ciAiRWd5IHNvcnQgYmVvbHZhcyBhIHN0YW5kYXJkIGJlbWVuZXRy9Wwg6XMgYXogZWxz9SBzevN0IgotCi0jfiBtc2dpZCAiIgotI34gImFzc2lnbmVkIHRvIHRoZSBmaXJzdCBOQU1FLCB0aGUgc2Vjb25kIHdvcmQgdG8gdGhlIHNlY29uZCBOQU1FLCBhbmQgc28iCi0jfiBtc2dzdHIgIiIKLSN+ICJob3p64XJlbmRlbGkgYXogZWxz9SBOyVYtaGV6LCBhIG3hc29kaWsgc3rzdCBob3p64XJlbmRlbGkgYSBt4XNvZGlrIE7JVi0iCi0jfiAiaGV6IgotCi0jfiBtc2dpZCAiIgotI34gIm9uLCB3aXRoIGxlZnRvdmVyIHdvcmRzIGFzc2lnbmVkIHRvIHRoZSBsYXN0IE5BTUUuICBPbmx5IHRoZSBjaGFyYWN0ZXJzIgotI34gbXNnc3RyICIiCi0jfiAi6XMg7Wd5IHRvduFiYiBlZ+lzemVuIGFkZGlnIG3tZyBlbCBuZW0g6XJpIGF6IHV0b2xz8yBORVZldC4gQWJiYW4gYXogIgotI34gImVzZXRiZW4iCi0KLSN+IG1zZ2lkICJmb3VuZCBpbiAkSUZTIGFyZSByZWNvZ25pemVkIGFzIHdvcmQgZGVsaW1pdGVycy4gIFRoZSByZXR1cm4gY29kZSBpcyIKLSN+IG1zZ3N0ciAiIgotI34gImhhIGEgJElGUyBlZ3kga2FyYWt0ZXJ0IHRhbOFsIGFra29yIGF6dCBzevNoYXThcm9s82vpbnQgZm9namEgZmVsLiBBICIKLSN+ICJ2aXNzemF06XLpc2kiCi0KLSN+IG1zZ2lkICIiCi0jfiAiemVybywgdW5sZXNzIGVuZC1vZi1maWxlIGlzIGVuY291bnRlcmVkLiAgSWYgbm8gTkFNRXMgYXJlIHN1cHBsaWVkLCB0aGUiCi0jfiBtc2dzdHIgIiIKLSN+ICLpcnTpayAwLCBoYWNzYWsgbmVtIGthcCBm4WpsIHbpZ2UgamVsZXQuSGEgYSBOyVYgbmluY3MgbWVnaGF04XJvenZhLCBha2tvciIKLQotI34gbXNnaWQgIiIKLSN+ICJsaW5lIHJlYWQgaXMgc3RvcmVkIGluIHRoZSBSRVBMWSB2YXJpYWJsZS4gIElmIHRoZSAtciBvcHRpb24gaXMgZ2l2ZW4sIgotI34gbXNnc3RyICIiCi0jfiAiYSBiZW9sdmFzb3R0IHNvcm9rIGEgUkVQTFkgduFsdG9682JhbiB04XJvbPNkbmFrLiBBICctcicgb3BjafMgaGF04XPhcmEiCi0KLSN+IG1zZ2lkICJ0aGlzIHNpZ25pZmllcyBgcmF3JyBpbnB1dCwgYW5kIGJhY2tzbGFzaCBlc2NhcGluZyBpcyBkaXNhYmxlZC4gIElmIgotI34gbXNnc3RyICIiCi0jfiAiYSBiZW1lbmV0ZXQsIG1pbnQgbnllcnMgYmVtZW5ldCBoYXN6buFsamEg6XMgYSBiYWNrc2xhc2gga2FyYWt0ZXJla2V0ICIKLSN+ICJsZXRpbHRqYS4iCi0KLSN+IG1zZ2lkICJ0aGUgYC1wJyBvcHRpb24gaXMgc3VwcGxpZWQsIHRoZSBzdHJpbmcgc3VwcGxpZWQgYXMgYW4gYXJndW1lbnQgaXMiCi0jfiBtc2dzdHIgIiIKLSN+ICJIYSBhICctcCcgb3BjafMgc3p0cmluZyBwYXJhbel0ZXLpdCBrae1yamEgKPpqc29yIGthcmFrdGVyIG7pbGv8bCkgYSAiCi0jfiAia2ltZW5ldHJlIgotCi0jfiBtc2dpZCAiIgotI34gIm91dHB1dCB3aXRob3V0IGEgdHJhaWxpbmcgbmV3bGluZSBiZWZvcmUgYXR0ZW1wdGluZyB0byByZWFkLiAgSWYgLWEgaXMiCi0jfiBtc2dzdHIgIm1pZWz1dHQgbelnIGF6IG9sdmFz4XNiYSBiZWxla2V6ZGVuZS4gQSAnLWEnICBvcGNp8yBoYXThc+FyYSIKLQotI34gbXNnaWQgIiIKLSN+ICJzdXBwbGllZCwgdGhlIHdvcmRzIHJlYWQgYXJlIGFzc2lnbmVkIHRvIHNlcXVlbnRpYWwgaW5kaWNlcyBvZiBBUlJBWSwiCi0jfiBtc2dzdHIgImEgYmVvbHZhc290dCBzemF2YWsgZWd5IGluZGV4ZWx0IHT2bWIgZWxlbWVpa2V0IHZlc3ppIGZlbCwgbnVsbOF2YWwiCi0KLSN+IG1zZ2lkICJzdGFydGluZyBhdCB6ZXJvLiAgSWYgLWUgaXMgc3VwcGxpZWQgYW5kIHRoZSBzaGVsbCBpcyBpbnRlcmFjdGl2ZSwiCi0jfiBtc2dzdHIgIiIKLSN+ICJrZXpk9WT1ZW4uIEEgJy1lJyBvcGNp8yBhbGthbG1heuFzYSDpcyBhIHBhcmFuY3PpcnRlbG1levUgcOFyYmVzeulkIG3zZGphIgotCi0jfiBtc2dpZCAicmVhZGxpbmUgaXMgdXNlZCB0byBvYnRhaW4gdGhlIGxpbmUuIgotI34gbXNnc3RyICJoYXThc+FyYSBhICdyZWFkbGluZSctYvNsIHZlc3ppIGEgZmVsZG9sZ2964XNpIHNvcnQuIgotCi0jfiBtc2dpZCAiaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhhdCBvZiB0aGUgbGFzdCBjb21tYW5kLiIKLSN+IG1zZ3N0ciAiIgotI34gIkhhIGF6IE4g6XJ06WtlIG5pbmNzIG1lZ2FkdmEgYWtrb3IgYSB2aXNzemF06XLpc2kg6XJ06WtldCBheiB1dG9sc/MgIgotI34gInBhcmFuY3Ni82wgdmVzemkuIgotCi0jfiBtc2dpZCAiICAgIC1hICBNYXJrIHZhcmlhYmxlcyB3aGljaCBhcmUgbW9kaWZpZWQgb3IgY3JlYXRlZCBmb3IgZXhwb3J0LiIKLSN+IG1zZ3N0ciAiIgotI34gIiAgICAtYSBNZWdqZWz2bGkgYSB24Wx0b3rzdCD6Z3kgbWludGhhIGF6IGV4cG9ydCBt82Rvc+10b3R0YSB2YWd5ICIKLSN+ICJs6XRyZWhvenRhIHZvbG5hLiIKLQotI34gbXNnaWQgIiAgICAtYiAgTm90aWZ5IG9mIGpvYiB0ZXJtaW5hdGlvbiBpbW1lZGlhdGVseS4iCi0jfiBtc2dzdHIgIiAgICAtYiBBem9ubmFsIG1lZ3N6YWvtdGphIGEgbXVua2Fmb2x5YW1hdG90LiIKLQotI34gbXNnaWQgIiAgICAtZSAgRXhpdCBpbW1lZGlhdGVseSBpZiBhIGNvbW1hbmQgZXhpdHMgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy4iCi0jfiBtc2dzdHIgIiAgICAtZSBLaWzpcCBhem9ubmFsIGhhIGEgcGFyYW5jcyBuZW0gbnVsbGEg4WxsYXBvdGJhbiB2YW4uIgotCi0jfiBtc2dpZCAiICAgIC1mICBEaXNhYmxlIGZpbGUgbmFtZSBnZW5lcmF0aW9uIChnbG9iYmluZykuIgotI34gbXNnc3RyICIgICAtZiBMZXRpbHRqYSBhIGbhamxu6XYgZ2VuZXLhbOFzdCAoZ2xvYmJpbmcpLiIKLQotI34gbXNnaWQgIiAgICAtaCAgUmVtZW1iZXIgdGhlIGxvY2F0aW9uIG9mIGNvbW1hbmRzIGFzIHRoZXkgYXJlIGxvb2tlZCB1cC4iCi0jfiBtc2dzdHIgIiAgIC1oIE1lZ2plZ3l6aSBhIHBhcmFuY3MgaGVseel0IGFtaXQgbWVndGFs4Wx0LiIKLQotI34gbXNnaWQgIiIKLSN+ICIgICAgLWkgIEZvcmNlIHRoZSBzaGVsbCB0byBiZSBhbiBcImludGVyYWN0aXZlXCIgb25lLiAgSW50ZXJhY3RpdmUgc2hlbGxzIgotI34gbXNnc3RyICIiCi0jfiAiICAgIC1pICAgS2llcvVsdGV0aSBhIHBhcmFuY3PpcnRlbG1levV09WwgYSBw4XJiZXN66WRlcyD8emVtbfNkb3QuIEV6IGEgIgotCi0jfiBtc2dpZCAiICAgICAgICBhbHdheXMgcmVhZCBgfi8uYmFzaHJjJyBvbiBzdGFydHVwLiIKLSN+IG1zZ3N0ciAiICAgICAgICBt82QgbWluZGlnIGEgJ34vLmJhc2hyYycgaGFzem7hbGphIGluZHVs4XNu4WwuIgotCi0jfiBtc2dpZCAiICAgIC1rICBBbGwgYXNzaWdubWVudCBhcmd1bWVudHMgYXJlIHBsYWNlZCBpbiB0aGUgZW52aXJvbm1lbnQgZm9yIGEiCi0jfiBtc2dzdHIgIiIKLSN+ICIgICAtayBBeiD2c3N6ZXMgaG96euFyZW5kZWx0IHBhcmFt6XRlciBlbGhlbHllemkgYSBr9nJueWV6ZXRpIHbhbHRvem9rICIKLSN+ICJr9nr2dHQiCi0KLSN+IG1zZ2lkICIgICAgICAgIGNvbW1hbmQsIG5vdCBqdXN0IHRob3NlIHRoYXQgcHJlY2VkZSB0aGUgY29tbWFuZCBuYW1lLiIKLSN+IG1zZ3N0ciAiICAgICAgbmVtIGNzYWsgYXp0IGFtaSBhIHBhcmFuY3MgbmV26XQgbWVnZWz1emkuIgotCi0jfiBtc2dpZCAiICAgIC1tICBKb2IgY29udHJvbCBpcyBlbmFibGVkLiIKLSN+IG1zZ3N0ciAiICAgLW0gQSBtdW5rYWZvbHlhbWF0IGVsbGVu9XJ66XMgZW5nZWTpbHlleulzZS4iCi0KLSN+IG1zZ2lkICIgICAgLW4gIFJlYWQgY29tbWFuZHMgYnV0IGRvIG5vdCBleGVjdXRlIHRoZW0uIgotI34gbXNnc3RyICIgICAtbiBCZW9sdmFzc2EgYSBwYXJhbmNzb2ssIGRlIG5lbSBoYWp0amEg9WtldCB26WdyZS4iCi0KLSN+IG1zZ2lkICIgICAgLW8gb3B0aW9uLW5hbWUiCi0jfiBtc2dzdHIgIiAgIC1vIG9wY2nzIG5ldmUiCi0KLSN+IG1zZ2lkICIgICAgICAgIFNldCB0aGUgdmFyaWFibGUgY29ycmVzcG9uZGluZyB0byBvcHRpb24tbmFtZToiCi0jfiBtc2dzdHIgIiIKLSN+ICIgICAgICBBIHbhbHRvem9rIGJl4Wxs7XThc+Fob3ogaGFzem7hbGhhdPNrIGEga/Z2ZXRrZXr1IG9wY2nzIG5ldmVrOiIKLQotI34gbXNnaWQgIiAgICAgICAgICAgIGFsbGV4cG9ydCAgICBzYW1lIGFzIC1hIgotI34gbXNnc3RyICIgICAgICAgICAgICBhbGxleHBvcnQgICAgdWd5YW5heiBtaW50IGEgLWEiCi0KLSN+IG1zZ2lkICIgICAgICAgICAgICBicmFjZWV4cGFuZCAgc2FtZSBhcyAtQiIKLSN+IG1zZ3N0ciAiICAgICAgICAgICAgYnJhY2VleHBhbmQgIHVneWFuYXogbWludCBhIC1CIgotCi0jfiBtc2dpZCAiICAgICAgICAgICAgZW1hY3MgICAgICAgIHVzZSBhbiBlbWFjcy1zdHlsZSBsaW5lIGVkaXRpbmcgaW50ZXJmYWNlIgotI34gbXNnc3RyICIgICAgICAgICBlbWFjcyAgICBlbWFjcyBzdO1sdXP6IHNvciBzemVya2VzenTpcyBoYXN6buFsYXRhIgotCi0jfiBtc2dpZCAiICAgICAgICAgICAgZXJyZXhpdCAgICAgIHNhbWUgYXMgLWUiCi0jfiBtc2dzdHIgIiAgICAgICAgICAgIGVycmV4aXQgICAgICB1Z3lhbmF6IG1pbnQgYSAtZSIKLQotI34gbXNnaWQgIiAgICAgICAgICAgIGhhc2hhbGwgICAgICBzYW1lIGFzIC1oIgotI34gbXNnc3RyICIgICAgICAgICAgICBoYXNoYWxsICAgICAgdWd5YW5heiBtaW50IGEgLWgiCi0KLSN+IG1zZ2lkICIgICAgICAgICAgICBoaXN0ZXhwYW5kICAgc2FtZSBhcyAtSCIKLSN+IG1zZ3N0ciAiICAgICAgICAgICAgaGlzdGV4cGFuZCAgIHVneWFuYXogbWludCBhIC1IIgotCi0jfiBtc2dpZCAiICAgICAgICAgICAgaWdub3JlZW9mICAgIHRoZSBzaGVsbCB3aWxsIG5vdCBleGl0IHVwb24gcmVhZGluZyBFT0YiCi0jfiBtc2dzdHIgIiIKLSN+ICIgICAgICAgICAgICBpZ25vcmVlb2YgICAgYSBwYXJhbmNz6XJ0ZWxtZXr1IG5lbSBs6XAga2kgYW3tZyBuZW0ga2FwIEVPRiAiCi0jfiAiamVsZXQiCi0KLSN+IG1zZ2lkICIgICAgICAgICAgICBpbnRlcmFjdGl2ZS1jb21tZW50cyIKLSN+IG1zZ3N0ciAiICAgICAgICAgICAgaW50ZXJhY3RpdmUtY29tbWVudHMiCi0KLSN+IG1zZ2lkICIiCi0jfiAiICAgICAgICAgICAgICAgICAgICAgICAgIGFsbG93IGNvbW1lbnRzIHRvIGFwcGVhciBpbiBpbnRlcmFjdGl2ZSBjb21tYW5kcyIKLSN+IG1zZ3N0ciAiIgotI34gIiAgICAgICAgICAgICAgICAgICBlbmdlZOlseWV6aSBhIG1lZ2plZ3l66XNla2V0IGEgcOFyYmVzeulkZXMgcGFyYW5jc29rbuFsIgotCi0jfiBtc2dpZCAiICAgICAgICAgICAga2V5d29yZCAgICAgIHNhbWUgYXMgLWsiCi0jfiBtc2dzdHIgIiAgICAgICAgICAgIGtleXdvcmQgICAgICB1Z3lhbmF6IG1pbnQgYSAtayIKLQotI34gbXNnaWQgIiAgICAgICAgICAgIG1vbml0b3IgICAgICBzYW1lIGFzIC1tIgotI34gbXNnc3RyICIgICAgICAgICAgICBtb25pdG9yICAgICAgdWd5YW5heiBtaW50IGEgLW0iCi0KLSN+IG1zZ2lkICIgICAgICAgICAgICBub2Nsb2JiZXIgICAgc2FtZSBhcyAtQyIKLSN+IG1zZ3N0ciAiICAgICAgICAgICAgbm9jbG9iYmVyICAgIHVneWFuYXogbWludCBhIC1DIgotCi0jfiBtc2dpZCAiICAgICAgICAgICAgbm9leGVjICAgICAgIHNhbWUgYXMgLW4iCi0jfiBtc2dzdHIgIiAgICAgICAgICAgIG5vZXhlYyAgICAgICB1Z3lhbmF6IG1pbnQgYSAtbiIKLQotI34gbXNnaWQgIiAgICAgICAgICAgIG5vZ2xvYiAgICAgICBzYW1lIGFzIC1mIgotI34gbXNnc3RyICIgICAgICAgICAgICBub2dsb2IgICAgICAgdWd5YW5heiBtaW50IGEgLWYiCi0KLSN+IG1zZ2lkICIgICAgICAgICAgICBub3RpZnkgICAgICAgc2F2ZSBhcyAtYiIKLSN+IG1zZ3N0ciAiICAgICAgICAgICAgbm90aWZ5ICAgICAgIHVneWFuYXogbWludCBhIC1iIgotCi0jfiBtc2dpZCAiICAgICAgICAgICAgbm91bnNldCAgICAgIHNhbWUgYXMgLXUiCi0jfiBtc2dzdHIgIiAgICAgICAgICAgIG5vdW5zZXQgICAgICB1Z3lhbmF6IG1pbnQgYSAtdSIKLQotI34gbXNnaWQgIiAgICAgICAgICAgIG9uZWNtZCAgICAgICBzYW1lIGFzIC10IgotI34gbXNnc3RyICIgICAgICAgICAgICBvbmVjbWQgICAgICAgdWd5YW5heiBtaW50IGEgLXQiCi0KLSN+IG1zZ2lkICIgICAgICAgICAgICBwaHlzaWNhbCAgICAgc2FtZSBhcyAtUCIKLSN+IG1zZ3N0ciAiICAgICAgICAgICAgcGh5c2ljYWwgICAgIHVneWFuYXogbWludCBhIC1QIgotCi0jfiBtc2dpZCAiIgotI34gIiAgICAgICAgICAgIHBvc2l4ICAgICAgICBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGJhc2ggd2hlcmUgdGhlIGRlZmF1bHQiCi0jfiBtc2dzdHIgIiIKLSN+ICIgICAgICAgICAgICBwb3NpeCAgICAgICAgbWVnduFsdG96dGF0amEgYSBiYXNoIHZpc2Vsa2Vk6XPpdCBvdHQgYWhvbCBheiAiCi0jfiAiYWxhcCIKLQotI34gbXNnaWQgIiIKLSN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgb3BlcmF0aW9uIGRpZmZlcnMgZnJvbSB0aGUgMTAwMy4yIHN0YW5kYXJkIHRvIgotI34gbXNnc3RyICIgICAgICAgICAgICAgICBt82Qga/xs9m5i9nppayBhIDEwMDMuMiBzemFiduFueXTzbCIKLQotI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICBtYXRjaCB0aGUgc3RhbmRhcmQiCi0jfiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICBheiBha3R14WxpcyBzemFiduFueSIKLQotI34gbXNnaWQgIiAgICAgICAgICAgIHByaXZpbGVnZWQgICBzYW1lIGFzIC1wIgotI34gbXNnc3RyICIgICAgICAgICAgICBwcml2aWxlZ2VkICAgdWd5YW5heiBtaW50IGEgLXAiCi0KLSN+IG1zZ2lkICIgICAgICAgICAgICB2ZXJib3NlICAgICAgc2FtZSBhcyAtdiIKLSN+IG1zZ3N0ciAiICAgICAgICAgICAgdmVyYm9zZSAgICAgIHVneWFuYXogbWludCBhIC12IgotCi0jfiBtc2dpZCAiICAgICAgICAgICAgdmkgICAgICAgICAgIHVzZSBhIHZpLXN0eWxlIGxpbmUgZWRpdGluZyBpbnRlcmZhY2UiCi0jfiBtc2dzdHIgIiAgICAgICAgICAgIHZpICAgICAgICAgICB2aSBzdO1sdXP6IHNvciBzemVya2VzenTpc3QgaGFzem7hbCIKLQotI34gbXNnaWQgIiAgICAgICAgICAgIHh0cmFjZSAgICAgICBzYW1lIGFzIC14IgotI34gbXNnc3RyICIgICAgICAgICAgICB4dHJhY2UgICAgICAgdWd5YW5heiBtaW50IGEgLXgiCi0KLSN+IG1zZ2lkICIiCi0jfiAiICAgIC1wICBUdXJuZWQgb24gd2hlbmV2ZXIgdGhlIHJlYWwgYW5kIGVmZmVjdGl2ZSB1c2VyIGlkcyBkbyBub3QgbWF0Y2guIgotI34gbXNnc3RyICIiCi0jfiAiICAgLXAgQmVrYXBjc29samEgbelnIGFra29yIGlzIGhhIGEgdmFs83Mg6XMgYXogZWZmZWt07XYgZmVsaGFzem7hbPMgIgotI34gImF6b25vc+108yIKLQotI34gbXNnaWQgIiAgICAgICAgRGlzYWJsZXMgcHJvY2Vzc2luZyBvZiB0aGUgJEVOViBmaWxlIGFuZCBpbXBvcnRpbmcgb2Ygc2hlbGwiCi0jfiBtc2dzdHIgIiIKLSN+ICIga/xs9m5i9nppay4gTGV0aWx0amEgJEVOViBm4WpsIGZlbGRvbGdveuFz4XQg6XMgYSBwYXJhbmNz6XJ0ZWxtZXr1YmUgIgotI34gIulw7XTpc+l0IgotCi0jfiBtc2dpZCAiIgotI34gIiAgICAgICAgZnVuY3Rpb25zLiAgVHVybmluZyB0aGlzIG9wdGlvbiBvZmYgY2F1c2VzIHRoZSBlZmZlY3RpdmUgdWlkIGFuZCIKLSN+IG1zZ3N0ciAiICBCZeFsbO10amEgYXogZWZmZWt07XYgZmVsaGFzem7hbPMg6XMgY3NvcG9ydCBhem9ub3PtdPN0IGEgIgotCi0jfiBtc2dpZCAiICAgICAgICBnaWQgdG8gYmUgc2V0IHRvIHRoZSByZWFsIHVpZCBhbmQgZ2lkLiIKLSN+IG1zZ3N0ciAiICB2YWzzcyBmZWxoYXN6buFs8yDpcyBjc29wb3J0IGF6b25vc+1083JhLiIKLQotI34gbXNnaWQgIiAgICAtdCAgRXhpdCBhZnRlciByZWFkaW5nIGFuZCBleGVjdXRpbmcgb25lIGNvbW1hbmQuIgotI34gbXNnc3RyICIgICAtdCBLaWzpcCBheiBvbHZhc+FzIOlzIGVneSBwYXJhbmNzIHbpZ3JlaGFqdOFzYSB1dOFuLiIKLQotI34gbXNnaWQgIiAgICAtdSAgVHJlYXQgdW5zZXQgdmFyaWFibGVzIGFzIGFuIGVycm9yIHdoZW4gc3Vic3RpdHV0aW5nLiIKLSN+IG1zZ3N0ciAiIgotI34gIiAgIC11INpneSBrZXplbGkgYSBsZeFsbO10b3R0IHbhbHRvevNrYXQgbWludGhhIGhpYuFzIGxlbm5lIGEgIgotI34gImJlaGVseWV0dGVz7XTpcy4iCi0KLSN+IG1zZ2lkICIgICAgLXYgIFByaW50IHNoZWxsIGlucHV0IGxpbmVzIGFzIHRoZXkgYXJlIHJlYWQuIgotI34gbXNnc3RyICIgICAgLXYgIEtp7XJqYSBhIHBhcmFuY3PpcnRlbG1levUgYmVtZW5ldOl0IPpneSBhaG9neSBiZW9sdmFzdGEuIgotCi0jfiBtc2dpZCAiICAgIC14ICBQcmludCBjb21tYW5kcyBhbmQgdGhlaXIgYXJndW1lbnRzIGFzIHRoZXkgYXJlIGV4ZWN1dGVkLiIKLSN+IG1zZ3N0ciAiIgotI34gIiAgICAteCAgS2ntcmphIGEgcGFyYW5jc29rYXQg6XMgYSBwYXJhbel0ZXJlaWtldCD6Z3kgYWhvZ3kgbGVmdXR0YXR0YSAiCi0jfiAi9WtldC4iCi0KLSN+IG1zZ2lkICIgICAgLUIgIHRoZSBzaGVsbCB3aWxsIHBlcmZvcm0gYnJhY2UgZXhwYW5zaW9uIgotI34gbXNnc3RyICIgICAtQiAgYSBwYXJhbmNz6XJ0ZWxtZXr1IGVs9Wvpc3rtdGkgYSBr9nr2cyBi9XbtdG3pbnlla2V0IgotCi0jfiBtc2dpZCAiICAgIC1IICBFbmFibGUgISBzdHlsZSBoaXN0b3J5IHN1YnN0aXR1dGlvbi4gIFRoaXMgZmxhZyBpcyBvbiIKLSN+IG1zZ3N0ciAiICAgLUggRW5nZWTpbHlleulzIGEgISBzdO1sdXP6IGVs9Xpt6W55IGJlaGVseWV0dGVz7XTpcy4gRXogYSBqZWwiCi0KLSN+IG1zZ2lkICIgICAgICAgIGJ5IGRlZmF1bHQuIgotI34gbXNnc3RyICIgICAgIGFsYXBi82wgYmUgdmFuIGthcGNzb2x2YS4iCi0KLSN+IG1zZ2lkICIgICAgLUMgIElmIHNldCwgZGlzYWxsb3cgZXhpc3RpbmcgcmVndWxhciBmaWxlcyB0byBiZSBvdmVyd3JpdHRlbiIKLSN+IG1zZ3N0ciAiICAgIC1DIEhhIGJlIHZhbiDhbGztdHZhIGFra29yIGEgaGFneW9t4W55b3MgZuFqbCBmZWz8bO1y4XNhIgotCi0jfiBtc2dpZCAiICAgICAgICBieSByZWRpcmVjdGlvbiBvZiBvdXRwdXQuIgotI34gbXNnc3RyICIgICAgICAgYSBraW1lbmV0IOF0aXLhbnntdOFz4XZhbC4iCi0KLSN+IG1zZ2lkICIgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kcyIKLSN+IG1zZ3N0ciAiIgotI34gIiAgICAtUCBIYSBiZSB2YW4g4Wxs7XR2YSBha2tvciBuZW0gZm9namEga/Z2ZXRuaSBhIHN6aW1ib2xpa3VzIGxpbmtla2V0ICIKLSN+ICJhbWlrb3IiCi0KLSN+IG1zZ2lkICIgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4iCi0jfiBtc2dzdHIgIiIKLSN+ICJlbGluZO10b3R0IHByb2dyYW0gbWludCBhICdjZCcgbWVncHLzYuFsamEgbWVnIHbhbHRvenRhdG5pIGF6IGFrdHXhbGlzICIKLSN+ICJr9m55dnThcmF0LiIKLQotI34gbXNnaWQgIlVzaW5nICsgcmF0aGVyIHRoYW4gLSBjYXVzZXMgdGhlc2UgZmxhZ3MgdG8gYmUgdHVybmVkIG9mZi4gIFRoZSIKLSN+IG1zZ3N0ciAiSGEgYSAnLScgaGVseWV0ICcrJyBoYXN6buFsIGFra29yIGEgamVsevV0IGtpa2FwY3NvbGphLiIKLQotI34gbXNnaWQgImZsYWdzIGNhbiBhbHNvIGJlIHVzZWQgdXBvbiBpbnZvY2F0aW9uIG9mIHRoZSBzaGVsbC4gIFRoZSBjdXJyZW50IgotI34gbXNnc3RyICJBIGplbHr1a2V0IG3pZyBsZWhldCBoYXN6buFsbmkgYSBwYXJhbmNz6XJ0ZWxtZXr1IG1lZ2jtduFz4XJhLkEgIgotCi0jfiBtc2dpZCAiIgotI34gInNldCBvZiBmbGFncyBtYXkgYmUgZm91bmQgaW4gJC0uICBUaGUgcmVtYWluaW5nIG4gQVJHcyBhcmUgcG9zaXRpb25hbCIKLSN+IG1zZ3N0ciAiIgotI34gImplbGVubGVnaSBqZWx69SBiZeFsbO104XNva2F0IGEgJC0gdOFyb2xqYS4gQSBtYXJhZOlrIG4gQVJHIGEgcG96aWNpb27hbPMiCi0KLSN+IG1zZ2lkICJwYXJhbWV0ZXJzIGFuZCBhcmUgYXNzaWduZWQsIGluIG9yZGVyLCB0byAkMSwgJDIsIC4uICRuLiAgSWYgbm8iCi0jfiBtc2dzdHIgInBhcmFt6XRlcmVraGV6IHJlbmRlbGkgaG96euEgKCQxLCAkMiwgJDMgLi4uJG4pIEhhIG5lbSIKLQotI34gbXNnaWQgIkFSR3MgYXJlIGdpdmVuLCBhbGwgc2hlbGwgdmFyaWFibGVzIGFyZSBwcmludGVkLiIKLSN+IG1zZ3N0ciAibmVtIGFkdW5rIHNlbW1pbHllbiBvcGNp83QgbWVnIGFra29yIGF6IPZzc3plcyB24Wx0b3rzIGtp7XJqYS4iCi0KLSN+IG1zZ2lkICJGb3IgZWFjaCBOQU1FLCByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgdmFyaWFibGUgb3IgZnVuY3Rpb24uICBHaXZlbiIKLSN+IG1zZ3N0ciAiQXog9nNzemVzIE7JViB24Wx0b3rzdCB2YWd5IGb8Z2d26W55dCBsZXT2cmxpIgotCi0jfiBtc2dpZCAidGhlIGAtdicsIHVuc2V0IHdpbGwgb25seSBhY3Qgb24gdmFyaWFibGVzLiAgR2l2ZW4gdGhlIGAtZicgZmxhZywiCi0jfiBtc2dzdHIgIkEgJy12JyBoYXN6buFsYXRha29yIGNzYWsgYSB24Wx0b3rza2F0IOFsbO10amEgbGUuQSAnLWYnIHBlZGlnIgotCi0jfiBtc2dpZCAidW5zZXQgd2lsbCBvbmx5IGFjdCBvbiBmdW5jdGlvbnMuICBXaXRoIG5laXRoZXIgZmxhZywgdW5zZXQgZmlyc3QiCi0jfiBtc2dzdHIgImNzYWsgYSBmdW5rY2nza2F0Lk9wY2nzayBu6Wxr/GwgYXogdW5zZXQgZWz1c3r2ciBtZWdwcvNi4WxqYSBhICIKLQotI34gbXNnaWQgInRyaWVzIHRvIHVuc2V0IGEgdmFyaWFibGUsIGFuZCBpZiB0aGF0IGZhaWxzLCB0aGVuIHRyaWVzIHRvIHVuc2V0IGEiCi0jfiBtc2dzdHIgIiIKLSN+ICJhIHbhbHRvevNrIGxl4Wxs7XThc+F0IOlzIGhhIG5lbSBzaWtlcvxsIGFra29yIG1lZ3By82LhbGphIGEgZnVua2Np82thdCAiCi0jfiAiaXMuIgotCi0jfiBtc2dpZCAiIgotI34gImZ1bmN0aW9uLiAgU29tZSB2YXJpYWJsZXMgKHN1Y2ggYXMgUEFUSCBhbmQgSUZTKSBjYW5ub3QgYmUgdW5zZXQ7IGFsc28iCi0jfiBtc2dzdHIgIk7paOFueSBraWVtZWx0IHbhbHRvevN0IChwbCBQQVRIIHZhZ3kgSUZTKSBuZW0gbGVoZXQgbGV09nL2bG5pIgotCi0jfiBtc2dpZCAic2VlIHJlYWRvbmx5LiIKLSN+IG1zZ3N0ciAiZXplayBjc2FrIG9sdmFzaGF082suIgotCi0jfiBtc2dpZCAiTkFNRXMgYXJlIG1hcmtlZCBmb3IgYXV0b21hdGljIGV4cG9ydCB0byB0aGUgZW52aXJvbm1lbnQgb2YiCi0jfiBtc2dzdHIgIiIKLSN+ICJBIE5FVkVUIG1lZ2plbPZsaSBhdXRvbWF0aWt1cyBleHBvcnThbOFzcmEgYSBr6XP1YmIgZWxpbmTtdG90dCBwYXJhbmNzIgotCi0jfiBtc2dpZCAic3Vic2VxdWVudGx5IGV4ZWN1dGVkIGNvbW1hbmRzLiAgSWYgdGhlIC1mIG9wdGlvbiBpcyBnaXZlbiwiCi0jfiBtc2dzdHIgImv2cm55ZXpldGkgduFsdG9682lr6W50LiIKLQotI34gbXNnaWQgInRoZSBOQU1FcyByZWZlciB0byBmdW5jdGlvbnMuICBJZiBubyBOQU1FcyBhcmUgZ2l2ZW4sIG9yIGlmIGAtcCciCi0jfiBtc2dzdHIgIiIKLSN+ICJBICctZicgYmVzb3JvbGphIGEgTkVWRVQgYSBmdW5rY2nzayBr9nrpLiBIYSBuZW0gYWRqYSBtZWcgYSBuZXZldCB2YWd5IgotCi0jfiBtc2dpZCAiaXMgZ2l2ZW4sIGEgbGlzdCBvZiBhbGwgbmFtZXMgdGhhdCBhcmUgZXhwb3J0ZWQgaW4gdGhpcyBzaGVsbCBpcyIKLSN+IG1zZ3N0ciAiIgotI34gIictcCcgLXQgaGFzem7hbGphIGFra29yIGtp7XJqYSBheiD2c3N6ZXMgbmV2ZXQgYW1pdCBleHBvcnThbHRhayBlYmJlbiBhICIKLSN+ICJwYXJhbmNzLSIKLQotI34gbXNnaWQgInByaW50ZWQuICBBbiBhcmd1bWVudCBvZiBgLW4nIHNheXMgdG8gcmVtb3ZlIHRoZSBleHBvcnQgcHJvcGVydHkiCi0jfiBtc2dzdHIgIulydGVsbWV69WJlbi4gQSAnLW4nIGhhdOFz4XJhIGVsdOF2b2ztdGphIGEgTkVWRVQgZXhwb3J04WxhbmTzayIKLQotI34gbXNnaWQgImZyb20gc3Vic2VxdWVudCBOQU1Fcy4gIEFuIGFyZ3VtZW50IG9mIGAtLScgZGlzYWJsZXMgZnVydGhlciBvcHRpb24iCi0jfiBtc2dzdHIgImv2evxsLiBBICctLScgcGFyYW3pdGVyZSBsZXRpbHRqYSBhIGv2dmV0a2V69SBvcGNp8yIKLQotI34gbXNnaWQgInByb2Nlc3NpbmcuIgotI34gbXNnc3RyICJmZWxkb2xnb3rhc+F0LiIKLQotI34gbXNnaWQgIiIKLSN+ICJUaGUgZ2l2ZW4gTkFNRXMgYXJlIG1hcmtlZCByZWFkb25seSBhbmQgdGhlIHZhbHVlcyBvZiB0aGVzZSBOQU1FcyBtYXkiCi0jfiBtc2dzdHIgIiIKLSN+ICJBeiDhdGFkb3R0IE5FVkVUIGNzYWsgb2x2YXNoYXTzduEgdGVzemkg6XMgZXR09Wwga2V6ZHZlIG5lbSBsZWhldCBtZWciCi0KLSN+IG1zZ2lkICJub3QgYmUgY2hhbmdlZCBieSBzdWJzZXF1ZW50IGFzc2lnbm1lbnQuICBJZiB0aGUgLWYgb3B0aW9uIGlzIGdpdmVuLCIKLSN+IG1zZ3N0ciAiduFsdG96dGF0bmkgYSBob3p64XJlbmRlbOlzZWtldC4gIgotCi0jfiBtc2dpZCAidGhlbiBmdW5jdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgTkFNRXMgYXJlIHNvIG1hcmtlZC4gIElmIG5vIgotI34gbXNnc3RyICJBICctZicgaGF04XPhcmEgYSBmdW5rY2nzbmFrIG1lZ2ZlbGVs9SBORVZFVCBtZWdqZWz2bGkuIEhhIgotCi0jfiBtc2dpZCAiIgotI34gImFyZ3VtZW50cyBhcmUgZ2l2ZW4sIG9yIGlmIGAtcCcgaXMgZ2l2ZW4sIGEgbGlzdCBvZiBhbGwgcmVhZG9ubHkgbmFtZXMiCi0jfiBtc2dzdHIgIiIKLSN+ICJvcGNp82sgbulsa/xsIHZhZ3kgYSAnLXAnLXZlbCBpbmTtdGp1ayBlbCBha2tvciBlZ3kgbGlzdOF0IGthcHVuayBhIGNzYWsiCi0KLSN+IG1zZ2lkICIiCi0jfiAiaXMgcHJpbnRlZC4gIEFuIGFyZ3VtZW50IG9mIGAtbicgc2F5cyB0byByZW1vdmUgdGhlIHJlYWRvbmx5IHByb3BlcnR5IgotI34gbXNnc3RyICIiCi0jfiAib2x2YXNoYXTzIGZ1bmtjafNrcvNsLkEgJy1uJyBoYXThc+FyYSBlbHThdm9s7XRqYSBhIE5FVkVUIGNzYWsgb2x2YXNoYXTzayIKLQotI34gbXNnaWQgImZyb20gc3Vic2VxdWVudCBOQU1Fcy4gIFRoZSBgLWEnIG9wdGlvbiBtZWFucyB0byB0cmVhdCBlYWNoIE5BTUUgYXMiCi0jfiBtc2dzdHIgImv2evxsLkEgJy1hJyBvcGNp8yBheiD2c3N6ZXMgTkVWRVQgdPZtYiB24Wx0b3rza+ludCBrZXplbC4iCi0KLSN+IG1zZ2lkICJhbiBhcnJheSB2YXJpYWJsZS4gIEFuIGFyZ3VtZW50IG9mIGAtLScgZGlzYWJsZXMgZnVydGhlciBvcHRpb24iCi0jfiBtc2dzdHIgIkEgJy0tJyBwYXJhbel0ZXJlIGxldGlsdGphIGEga/Z2ZXRrZXr1IG9wY2nzIGZlbGRvbGdveuFz4XQuIgotCi0jfiBtc2dpZCAibm90IGdpdmVuLCBpdCBpcyBhc3N1bWVkIHRvIGJlIDEuIgotI34gbXNnc3RyICLpcnTpa+l0IG5lbSBhZGp1ayBtZWcsIGFra29yIGVneWVsIGNz9mtrZW50aS4iCi0KLSN+IG1zZ2lkICJSZWFkIGFuZCBleGVjdXRlIGNvbW1hbmRzIGZyb20gRklMRU5BTUUgYW5kIHJldHVybi4gIFRoZSBwYXRobmFtZXMiCi0jfiBtc2dzdHIgIiIKLSN+ICJCZW9sdmFzIOlzIHbpZ3JlaGFqdGphIGEgcGFyYW5jc29rYXQgYSBGwUpMTslWLWL1bCDpcyB2aXNzemF06XIuQSAkUEFUSCIKLQotI34gbXNnaWQgImluICRQQVRIIGFyZSB1c2VkIHRvIGZpbmQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIEZJTEVOQU1FLiIKLSN+IG1zZ3N0ciAiduFsdG9682JhbiB0YWzhbGhhdPMg+nR2b25hbG9uIHBy82LhbGphIG1lZyBrZXJlc2kgYSBGwUpMTkVWRVQuIgotCi0jfiBtc2dpZCAiU3VzcGVuZCB0aGUgZXhlY3V0aW9uIG9mIHRoaXMgc2hlbGwgdW50aWwgaXQgcmVjZWl2ZXMgYSBTSUdDT05UIgotI34gbXNnc3RyICIiCi0jfiAiRmVsZvxnZ2VzenRpIGVubmVrIGEgcGFyYW5jc+lydGVsbWV69W5layBhIGZ1dHRhdOFz4XQgYW3tZyBlZ3kgU0lHQ09OVCIKLQotI34gbXNnaWQgInNpZ25hbC4gIFRoZSBgLWYnIGlmIHNwZWNpZmllZCBzYXlzIG5vdCB0byBjb21wbGFpbiBhYm91dCB0aGlzIgotI34gbXNnc3RyICIiCi0jfiAiamVsZXQgbmVtIGthcC5BICctZicgYXp0IGplbGVudGksIGhvZ3kgbmVtIGZvZyBzevNsbmksIGhhIGVneSAiCi0jfiAiYmVqZWxlbnRrZXpldHQiCi0KLSN+IG1zZ2lkICJiZWluZyBhIGxvZ2luIHNoZWxsIGlmIGl0IGlzOyBqdXN0IHN1c3BlbmQgYW55d2F5LiIKLSN+IG1zZ3N0ciAicGFyYW5jc+lydGVsbWV69XQgcHLzYuFsIGZlbGb8Z2dlc3p0ZW5pLCBtaW5kZW5r6XBwIGZlbGb8Z2dlc3p0LiIKLQotI34gbXNnaWQgIkV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZW5lc3MpIG9yIDEgKGZhbHNlbmVzcykgZGVwZW5kaW5nIG9uIgotI34gbXNnc3RyICIiCi0jfiAiS2ls6XAgMCBzdOF0dXNzemFsIChpZ2F6KSB2YWd5IDEtZWwgKGhpYmEpICBhIEtJRkVMWUVayVMgZXJlZG3pbnnpdPVsIgotCi0jfiBtc2dpZCAidGhlIGV2YWx1YXRpb24gb2YgRVhQUi4gIEV4cHJlc3Npb25zIG1heSBiZSB1bmFyeSBvciBiaW5hcnkuICBVbmFyeSIKLSN+IG1zZ3N0ciAiZvxnZ/Vlbi4gQSBLSUZFTFlFWslTICBsZWhldCB1buFyaXMgdmFneSBiaW7hcmlzLiBBeiB1buFyaXMgIgotCi0jfiBtc2dpZCAiZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlIgotI34gbXNnc3RyICIiCi0jfiAia2lmZWx5ZXrpc2VrZXQgZ3lha3JhbiBoYXN6buFsauFrIGbhamxvayBoZWx5emV06W5layBhIHZpenNn4WxhdOFyYS4iCi0KLSN+IG1zZ2lkICJhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy4iCi0jfiBtc2dzdHIgIlZhZ3kgb3R0IGFob2wgYSBzenRpbmdla2V0IGtlbGwg9nNzemVoYXNvbmztdGFuaSBzeuFtb2trYWwuIgotCi0jfiBtc2dpZCAiRmlsZSBvcGVyYXRvcnM6IgotI34gbXNnc3RyICJG4WpsIG9wZXLhdG9yb2s6IgotCi0jfiBtc2dpZCAiICAgIC1iIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBibG9jayBzcGVjaWFsLiIKLSN+IG1zZ3N0ciAiICAgIC1iIEbBSkwgICAgICAgIElnYXogaGEgYSBGwUpMIGVneSBzcGVjaeFsaXMgYmxva2sgZuFqbC4iCi0KLSN+IG1zZ2lkICIgICAgLWMgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGNoYXJhY3RlciBzcGVjaWFsLiIKLSN+IG1zZ3N0ciAiICAgIC1jIEbBSkwgICAgICAgIElnYXogaGEgYSBGwUpMIGVneSBzcGVjaeFsaXMga2FyYWt0ZXIgZuFqbCIKLQotI34gbXNnaWQgIiAgICAtZCBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBkaXJlY3RvcnkuIgotI34gbXNnc3RyICIgICAgLWQgRsFKTCAgICAgICAgSWdheiBoYSBhIEbBSkwgZWd5IGv2bnl2dOFyIgotCi0jfiBtc2dpZCAiICAgIC1lIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMuIgotI34gbXNnc3RyICIgICAgLWUgRsFKTCAgICAgICAgSWdheiBoYSBhIEbBSkwgbOl0ZXppay4iCi0KLSN+IG1zZ2lkICIgICAgLWYgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGV4aXN0cyBhbmQgaXMgYSByZWd1bGFyIGZpbGUuIgotI34gbXNnc3RyICIgICAgLWYgRsFKTCAgICAgICAgSWdheiBoYSBhIEbBSkwgbOl0ZXppayDpcyDhbHRhbOFub3MgZuFqbC4iCi0KLSN+IG1zZ2lkICIgICAgLWcgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIHNldC1ncm91cC1pZC4iCi0jfiBtc2dzdHIgIiIKLSN+ICIgICAgLWcgRsFKTCAgICAgICAgSWdheiBoYSBhIEbBSkwgY3NvcG9ydCBhem9ub3PtdPNqYSBiZSB2YW4g4Wxs7XR2YS4iCi0KLSN+IG1zZ2lkICIgICAgLWggRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgc3ltYm9saWMgbGluay4gIFVzZSBcIi1MXCIuIgotI34gbXNnc3RyICIiCi0jfiAiICAgIC1oIEbBSkwgICAgICAgIElnYXogaGEgYSBGwUpMIGVneSBzemltYm9saWt1cyBsaW5rLiBBIFwiLUxcIiAiCi0jfiAiaGFzem7hbGF04XZhbC4iCi0KLSN+IG1zZ2lkICIgICAgLUwgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgc3ltYm9saWMgbGluay4iCi0jfiBtc2dzdHIgIiAgICAtTCBGwUpMICAgICAgICBJZ2F6IGhhIGEgRsFKTCBlZ3kgc3ppbWJvbGlrdXMgbGluay4iCi0KLSN+IG1zZ2lkICIgICAgLWsgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGhhcyBpdHMgXCJzdGlja3lcIiBiaXQgc2V0LiIKLSN+IG1zZ3N0ciAiIgotI34gIiAgICAtayBGwUpMICAgICAgICBJZ2F6IGhhIGEgRsFKTC1vbiBiZSB2YW4g4Wxs7XR2YSBhIHL2Z3rtdGV0dCBiaXQuIgotCi0jfiBtc2dpZCAiICAgIC1wIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBhIG5hbWVkIHBpcGUuIgotI34gbXNnc3RyICIgICAgLXAgRsFKTCAgICAgICAgSWdheiBoYSBhIEbBSkwgZWd5IGNz9ShwaXBlKS4iCi0KLSN+IG1zZ2lkICIgICAgLXIgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIHJlYWRhYmxlIGJ5IHlvdS4iCi0jfiBtc2dzdHIgIiAgICAtciBGwUpMICAgICAgICBJZ2F6IGhhIGEgRsFKTCD2biDhbHRhbCBvbHZhc2hhdPMuIgotCi0jfiBtc2dpZCAiICAgIC1zIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMgYW5kIGlzIG5vdCBlbXB0eS4iCi0jfiBtc2dzdHIgIiAgICAtcyBGwUpMICAgICAgICBJZ2F6IGhhIGEgRsFKTCBs6XRlemlrIOlzIG5lbSD8cmVzLiIKLQotI34gbXNnaWQgIiAgICAtUyBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBzb2NrZXQuIgotI34gbXNnc3RyICIgICAgLVMgRsFKTCAgICAgICAgSWdheiBoYSBhIEbBSkwgZWd5IHNvY2tldC4iCi0KLSN+IG1zZ2lkICIgICAgLXQgRkQgICAgICAgICAgVHJ1ZSBpZiBGRCBpcyBvcGVuZWQgb24gYSB0ZXJtaW5hbC4iCi0jfiBtc2dzdHIgIiAgICAtdCBGRCAgICAgICAgICBJZ2F6IGhhIGF6IEZEIG1lZ255aXRvdHThayBlZ3kgdGVybWlu4Wxvbi4iCi0KLSN+IG1zZ2lkICIgICAgLXUgRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBzZXQtdXNlci1pZC4iCi0jfiBtc2dzdHIgIiIKLSN+ICIgICAgLXUgRsFKTCAgICAgICAgSWdheiBoYSBhIEbBSkwtb24gYSBmZWxoYXN6buFs8yBhem9ub3PtdPMgYmUgdmFuICIKLSN+ICLhbGztdHZhLiIKLQotI34gbXNnaWQgIiAgICAtdyBGSUxFICAgICAgICBUcnVlIGlmIHRoZSBmaWxlIGlzIHdyaXRhYmxlIGJ5IHlvdS4iCi0jfiBtc2dzdHIgIiAgICAtdyBGwUpMICAgICAgICBJZ2F6IGhhIGEgRsFKTC10IPZuIHR1ZGphIO1ybmkuIgotCi0jfiBtc2dpZCAiICAgIC14IEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgZXhlY3V0YWJsZSBieSB5b3UuIgotI34gbXNnc3RyICIgICAgLXggRsFKTCAgICAgICAgSWdheiBoYSBhIEbBSkwtdCB0dWRqYSBmdXR0YXRuaS4iCi0KLSN+IG1zZ2lkICIgICAgLU8gRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBlZmZlY3RpdmVseSBvd25lZCBieSB5b3UuIgotI34gbXNnc3RyICIgICAgLU8gRsFKTCAgICAgICAgSWdheiBoYSBhIEbBSkwtdCBlZmZla3TtdmUg9m4gYmlydG9rb2xqYS4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiICAgIC1HIEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgZWZmZWN0aXZlbHkgb3duZWQgYnkgeW91ciBncm91cC4iCi0jfiBtc2dzdHIgIiIKLSN+ICIgICAgLUcgRsFKTCAgICAgICAgSWdheiBoYSBhIEbBSkwgYXog9m4gY3NvcG9ydGphIGVmZmVrdO12ZSBiaXJ0b2tvbGphLiIKLQotI34gbXNnaWQgIiAgRklMRTEgLW50IEZJTEUyICBUcnVlIGlmIGZpbGUxIGlzIG5ld2VyIHRoYW4gKGFjY29yZGluZyB0byIKLSN+IG1zZ3N0ciAiICBGwUpMMSAtbnQgRsFKTDIgSWdheiBoYSBhIEbBSkwxIPpqYWJiIG1pbnQgKG3zZG9z7XThc2kgZOF0dW0gIgotCi0jfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgIG1vZGlmaWNhdGlvbiBkYXRlKSBmaWxlMi4iCi0jfiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICBzemVyaW50KSBGwUpMMi4iCi0KLSN+IG1zZ2lkICIgIEZJTEUxIC1vdCBGSUxFMiAgVHJ1ZSBpZiBmaWxlMSBpcyBvbGRlciB0aGFuIGZpbGUyLiIKLSN+IG1zZ3N0ciAiICBGwUpMMSAtYm90IEbBSkwyICBJZ2F6IGhhIGEgRsFKTDEgculnZWJiaSwgbWludCBhIEbBSkwyLiIKLQotI34gbXNnaWQgIiAgRklMRTEgLWVmIEZJTEUyICBUcnVlIGlmIGZpbGUxIGlzIGEgaGFyZCBsaW5rIHRvIGZpbGUyLiIKLSN+IG1zZ3N0ciAiICBGwUpMMSAtZWYgRsFKTDIgIElnYXogaGEgYSBGwUpMMSBlZ3kgaGFyZCBsaW5rIGEgRsFKTDItcmUuIgotCi0jfiBtc2dpZCAiU3RyaW5nIG9wZXJhdG9yczoiCi0jfiBtc2dzdHIgIlN6dHJpbmcgb3BlcuF0b3JvazoiCi0KLSN+IG1zZ2lkICIgICAgLXogU1RSSU5HICAgICAgVHJ1ZSBpZiBzdHJpbmcgaXMgZW1wdHkuIgotI34gbXNnc3RyICIgICAgLXogU1pUUklORyAgICAgIElnYXogLmhhIGEgU1pUUklORyD8cmVzLiIKLQotI34gbXNnaWQgIiAgICAtbiBTVFJJTkciCi0jfiBtc2dzdHIgIiAgICAtbiBTWlRSSU5HIgotCi0jfiBtc2dpZCAiICAgIFNUUklORyAgICAgICAgIFRydWUgaWYgc3RyaW5nIGlzIG5vdCBlbXB0eS4iCi0jfiBtc2dzdHIgIiAgICBTWlRSSU5HICAgICAgICAgICAgICBJZ2F6IC5oYSBhIFNaVFJJTkcgbmVtIPxyZXMiCi0KLSN+IG1zZ2lkICIgICAgU1RSSU5HMSA9IFNUUklORzIiCi0jfiBtc2dzdHIgIiAgICBTWlRSSU5HMSA9IFNaVFJJTkcyIgotCi0jfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgIFRydWUgaWYgdGhlIHN0cmluZ3MgYXJlIGVxdWFsLiIKLSN+IG1zZ3N0ciAiICAgICAgICAgICAgICBJZ2F6IGhhIGEga+l0IHN6dHJpbmcgYXpvbm9zLiIKLQotI34gbXNnaWQgIiAgICBTVFJJTkcxICE9IFNUUklORzIiCi0jfiBtc2dzdHIgIiAgICBTWlRSSU5HMSAhPSBTWlRSSU5HMiIKLQotI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICBUcnVlIGlmIHRoZSBzdHJpbmdzIGFyZSBub3QgZXF1YWwuIgotI34gbXNnc3RyICIgICAgICAgICAgICAgICAgIElnYXogaGEgYSBr6XQgc3p0cmluZyBuZW0gYXpvbm9zLiIKLQotI34gbXNnaWQgIiAgICBTVFJJTkcxIDwgU1RSSU5HMiIKLSN+IG1zZ3N0ciAiICAgIFNaVFJJTkcxIDwgU1pUUklORzIiCi0KLSN+IG1zZ2lkICIiCi0jfiAiICAgICAgICAgICAgICAgICAgIFRydWUgaWYgU1RSSU5HMSBzb3J0cyBiZWZvcmUgU1RSSU5HMiBsZXhpY29ncmFwaGljYWxseSIKLSN+IG1zZ3N0ciAiIgotI34gIiAgICAgICAgICAgICAgICAgICBJZ2F6IGhhIGEgU1pUUklORzEgZWz1culiYiB2YW4gbWludCBhIFNaVFJJTkcyICIKLSN+ICJsZXhpa+FsaXNhbiIKLQotI34gbXNnaWQgIiAgICBTVFJJTkcxID4gU1RSSU5HMiIKLSN+IG1zZ3N0ciAiICAgIFNaVFJJTkcxID4gU1pUUklORzIiCi0KLSN+IG1zZ2lkICIiCi0jfiAiICAgICAgICAgICAgICAgICAgIFRydWUgaWYgU1RSSU5HMSBzb3J0cyBhZnRlciBTVFJJTkcyIGxleGljb2dyYXBoaWNhbGx5IgotI34gbXNnc3RyICIiCi0jfiAiICAgICAgICAgICAgICAgICAgIElnYXogaGEgYSBTWlRSSU5HMSBo4XRy6WJiIHZhbiBtaW50IGEgU1pUUklORzIgIgotI34gImxleGlr4Wxpc2FuIgotCi0jfiBtc2dpZCAiT3RoZXIgb3BlcmF0b3JzOiIKLSN+IG1zZ3N0ciAiRWd56WIgb3BlcuF0b3JvazoiCi0KLSN+IG1zZ2lkICIgICAgISBFWFBSICAgICAgICAgVHJ1ZSBpZiBleHByIGlzIGZhbHNlLiIKLSN+IG1zZ3N0ciAiICAgICEgS0lGRUxZRVrJUyAgIElnYXogaGEgYSBLSUZFTFlFWslTLiIKLQotI34gbXNnaWQgIiAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLiIKLSN+IG1zZ3N0ciAiICAgIEtJRjEgLWEgS0lGMiBJZ2F6IGhhIG1pbmRr6XQoyVMpIEtJRmVseWV66XMgaWdhei4iCi0KLSN+IG1zZ2lkICIgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS4iCi0jfiBtc2dzdHIgIiAgICBLSUYxIC1hIEtJRjIgSWdheiBoYSB2YWxhbWVseWlrKFZBR1kpIEtJRmVseWV66XMgaWdhei4iCi0KLSN+IG1zZ2lkICIgICAgYXJnMSBPUCBhcmcyICAgQXJpdGhtZXRpYyB0ZXN0cy4gIE9QIGlzIG9uZSBvZiAtZXEsIC1uZSwiCi0jfiBtc2dzdHIgIiAgICBhcmcxIE9QIGFyZzIgICAgU3rhbXRhbmkg9nNzemVoYXNvbmztdOFzb2suICBPUCBsZWhldCAtZXEsIC1uZSwiCi0KLSN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgLWx0LCAtbGUsIC1ndCwgb3IgLWdlLiIKLSN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgIC1sdCwgLWxlLCAtZ3QsIHZhZ3kgLWdlIGv2evxsIGLhcm1lbHlpay4iCi0KLSN+IG1zZ2lkICJBcml0aG1ldGljIGJpbmFyeSBvcGVyYXRvcnMgcmV0dXJuIHRydWUgaWYgQVJHMSBpcyBlcXVhbCwgbm90LWVxdWFsLCIKLSN+IG1zZ3N0ciAiIgotI34gIkEgYmlu4XJpcyBzeuFtdGFuaSBvcGVy4XRvcm9rIGlnYXog6XJ06WtlbCB06XJuZWsgdmlzc3phIGhhIGF6IEFSRzEgIgotI34gImVneWVubPUiCi0KLSN+IG1zZ2lkICIiCi0jfiAibGVzcy10aGFuLCBsZXNzLXRoYW4tb3ItZXF1YWwsIGdyZWF0ZXItdGhhbiwgb3IgZ3JlYXRlci10aGFuLW9yLWVxdWFsIgotI34gbXNnc3RyICIiCi0jfiAibmVtIGVneWVubPUsIGtldmVzZWJiIG1pbnQsIGtldmVzZWJiIHZhZ3kgZWd5ZW5s9SwgbmFneW9iYiBtaW50IHZhZ3kiCi0KLSN+IG1zZ2lkICJ0aGFuIEFSRzIuIgotI34gbXNnc3RyICJuYWd5b2JiIHZhZ3kgZWd5ZW5s9SBtaW50IGF6IEFSRzIuIgotCi0jfiBtc2dpZCAiVGhpcyBpcyBhIHN5bm9ueW0gZm9yIHRoZSBcInRlc3RcIiBidWlsdGluLCBidXQgdGhlIGxhc3QiCi0jfiBtc2dzdHIgIiIKLSN+ICJFeiBlZ3kgc3ppbm9uaW3hamEgYSBcInRlc3RcIiBiZelw7XRldHQgdXRhc+104XNuYWssIGRlIGF6IHV0b2xz8yAiCi0jfiAicGFyYW3pdGVyIgotCi0jfiBtc2dpZCAidGhlIHNoZWxsLiIKLSN+IG1zZ3N0ciAiYSBmZWxhZGF0b3QgZnV0dGFzc2EgZXplbiBhICBwYXJhbmNz6XJ0ZWxtZXr1bi4iCi0KLSN+IG1zZ2lkICJUaGUgY29tbWFuZCBBUkcgaXMgdG8gYmUgcmVhZCBhbmQgZXhlY3V0ZWQgd2hlbiB0aGUgc2hlbGwgcmVjZWl2ZXMiCi0jfiBtc2dzdHIgIiIKLSN+ICJBeiBBUkctYmFuIG1lZ2hhdOFyb3pvdHQgcGFyYW5jc290IGZ1dHRhdGphIGxlIGhhIGEgcGFyYW5jc+lydGVsbWV69SBlZ3kiCi0KLSN+IG1zZ2lkICJzaWduYWwocykgU0lHTkFMX1NQRUMuICBJZiBBUkcgaXMgYWJzZW50IGFsbCBzcGVjaWZpZWQgc2lnbmFscyBhcmUiCi0jfiBtc2dzdHIgIlNJR05BTF9TQ0VQIGplbGV0IGthcC5IYSBheiBBUkctb3QgZWxoYWd5anVrIGFra29yIGF6IPZzc3plcyBqZWwiCi0KLSN+IG1zZ2lkICJyZXNldCB0byB0aGVpciBvcmlnaW5hbCB2YWx1ZXMuICBJZiBBUkcgaXMgdGhlIG51bGwgc3RyaW5nIGVhY2giCi0jfiBtc2dzdHIgIiIKLSN+ICJ2aXNzemEg4WxsIGF6IGVyZWRldGkg6XJ06WvpcmUuIEhhIGF6IEFSRyBlZ3kg/HJlcyBzenRyaW5nIGFra29yIGEgIgotI34gInBhcmFuY3PpcnRlbG1levUiCi0KLSN+IG1zZ2lkICJTSUdOQUxfU1BFQyBpcyBpZ25vcmVkIGJ5IHRoZSBzaGVsbCBhbmQgYnkgdGhlIGNvbW1hbmRzIGl0IGludm9rZXMuIgotI34gbXNnc3RyICLpcyBhIHBhcmFuY3NvayBTSUdOQUxfU1BFQyBo7Xbhc2FpdCBmaWd5ZWxtZW4ga+12/GwgaGFneWphLiIKLQotI34gbXNnaWQgIklmIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIHRoZSBjb21tYW5kIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20iCi0jfiBtc2dzdHIgIiIKLSN+ICJIYSBlZ3kgU0lHTkFMX1NQRUMgIEVYSVQoMCkgQVJHLW90IGthcCBha2tvciBraWzpcCBheiBha3R14WxpcyBwYXJhbmNzLSIKLQotI34gbXNnaWQgInRoZSBzaGVsbC4gIElmIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYWZ0ZXIgZXZlcnkiCi0jfiBtc2dzdHIgIulydGVsbWV69WL1bC5IYSBhIFNJR05BTF9TUEVDIOlydOlrZSBERUJVRyBha2tvciBheiBBUkcgbWluZGVuIgotCi0jfiBtc2dpZCAiY29tbWFuZC4gIElmIEFSRyBpcyBgLXAnIHRoZW4gdGhlIHRyYXAgY29tbWFuZHMgYXNzb2NpYXRlZCB3aXRoIgotI34gbXNnc3RyICJwYXJhbmNzIHV04W4gbGUgZnV0LiBIYSBheiBBUkcgZWd5ICctcCcgYWtrb3IgbWVnamVsZW7tdGkgYXog9nNzemVzIgotCi0jfiBtc2dpZCAiZWFjaCBTSUdOQUxfU1BFQyBhcmUgZGlzcGxheWVkLiAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCBvciBpZiIKLSN+IG1zZ3N0ciAiU0lHTkFMX1NQRUMgaG96euFyZW5kZWzpc3QuIEhhIG9wY2nzayBu6Wxr/GwgaGFzem7hbGphIHZhZ3kiCi0KLSN+IG1zZ2lkICJvbmx5IGAtcCcgaXMgZ2l2ZW4sIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCIKLSN+IG1zZ3N0ciAiIgotI34gImNzYWsgYSAnLXAnLXQgYWtrb3IgYSB0cmFwIGtp7XJqYSBhIGhvenrhcmVuZGVsdCBwYXJhbmNzb2sgbGlzdOFq4XQgYXogIgotCi0jfiBtc2dpZCAiIgotI34gImVhY2ggc2lnbmFsIG51bWJlci4gIFNJR05BTF9TUEVDIGlzIGVpdGhlciBhIHNpZ25hbCBuYW1lIGluIDxzaWduYWwuaD4iCi0jfiBtc2dzdHIgIiIKLSN+ICL2c3N6ZXMgamVsIHN64W3hdmFsLiBBIFNJR05BTF9TUEVDIGVsZm9nYWRqYSBhIDxzaWduYWwuaD4tYmFuICIKLSN+ICJtZWdoYXThcm96b3R0IgotCi0jfiBtc2dpZCAiIgotI34gIm9yIGEgc2lnbmFsIG51bWJlci4gIGB0cmFwIC1sJyBwcmludHMgYSBsaXN0IG9mIHNpZ25hbCBuYW1lcyBhbmQgdGhlaXIiCi0jfiBtc2dzdHIgIiIKLSN+ICJuZXZla2V0IHZhZ3kgc3rhbXVrYXQuIEEgJ3RyYXAgLWwnIGtp7XJqYSBhIGplbGVrIG5ldmVpdCDpcyBhICIKLSN+ICJob3p64XRhcnRvevMgIgotCi0jfiBtc2dpZCAiY29ycmVzcG9uZGluZyBudW1iZXJzLiAgTm90ZSB0aGF0IGEgc2lnbmFsIGNhbiBiZSBzZW50IHRvIHRoZSBzaGVsbCIKLSN+IG1zZ3N0ciAiIgotI34gIulydOlrZWtldC5NZWdqZWd5eulzOiBhIHBhcmFuY3PpcnRlbGVtevVuZWsgYSAgXCJraWxsIC1zaWduYWwgJCRcIiAtYWwgIgotCi0jfiBtc2dpZCAid2l0aCBcImtpbGwgLXNpZ25hbCAkJFwiLiIKLSN+IG1zZ3N0ciAibGVoZXQga/xsZGVuaS4iCi0KLSN+IG1zZ2lkICJGb3IgZWFjaCBOQU1FLCBpbmRpY2F0ZSBob3cgaXQgd291bGQgYmUgaW50ZXJwcmV0ZWQgaWYgdXNlZCBhcyBhIgotI34gbXNnc3RyICJBeiD2c3N6ZXMgTslWcvVsIGhvZ3lhbiDpcnRlbG1lemkgaGEgcGFyYW5jc+lydGVsbWV69SBhbWlrb3IiCi0KLSN+IG1zZ2lkICJJZiB0aGUgLXQgb3B0aW9uIGlzIHVzZWQsIHJldHVybnMgYSBzaW5nbGUgd29yZCB3aGljaCBpcyBvbmUgb2YiCi0jfiBtc2dzdHIgIiIKLSN+ICJIYSBhICctdCcgb3BjafN0IGhhc3pu4WxqYSBha2tvciBheiBlcmVkbelueSBhIGv2dmV0a2V69SBzemF2YWsgZWd5aWtlIgotCi0jfiBtc2dpZCAiIgotI34gImBhbGlhcycsIGBrZXl3b3JkJywgYGZ1bmN0aW9uJywgYGJ1aWx0aW4nLCBgZmlsZScgb3IgYCcsIGlmIE5BTUUgaXMgYW4iCi0jfiBtc2dzdHIgIiIKLSN+ICJgYWxpYXMnLCBga2V5d29yZCcsIGBmdW5jdGlvbicsIGBidWlsdGluJywgYGZpbGUnIHZhZ3kgYCcsIGhhIGEgTslWIGVneSIKLQotI34gbXNnaWQgIiIKLSN+ICJhbGlhcywgc2hlbGwgcmVzZXJ2ZWQgd29yZCwgc2hlbGwgZnVuY3Rpb24sIHNoZWxsIGJ1aWx0aW4sIGRpc2sgZmlsZSwiCi0jfiBtc2dzdHIgIiIKLSN+ICJhbGlhcywgcGFyYW5jc+lydGVsbWV69SDhbHRhbCBmZW5udGFydG90dCBzevMsIHBhcmFuY3PpcnRlbG1levUgZnVua2Np8ywgIgotCi0jfiBtc2dpZCAib3IgdW5mb3VuZCwgcmVzcGVjdGl2ZWx5LiIKLSN+IG1zZ3N0ciAiIgotI34gImJl6XDtdGV0dCB1dGFz7XThcywgZWd5IGbhamwgYSBsZW1lemVuIHZhZ3kgaGEgbmluY3MgbWVnLHNvcnJlbmRiZW4uIgotCi0jfiBtc2dpZCAiSWYgdGhlIC1wIGZsYWcgaXMgdXNlZCwgZWl0aGVyIHJldHVybnMgdGhlIG5hbWUgb2YgdGhlIGRpc2sgZmlsZSIKLSN+IG1zZ3N0ciAiIgotI34gIkhhIGEgJy1wJy10IGhhc3pu4WxqYSB2aXNzemEgdOlyIGEgbGVtZXplbiB0YWzhbGhhdPMgZuFqbCBwb250b3MgaGVseel2ZWwiCi0KLSN+IG1zZ2lkICJ0aGF0IHdvdWxkIGJlIGV4ZWN1dGVkLCBvciBub3RoaW5nIGlmIC10IHdvdWxkIG5vdCByZXR1cm4gYGZpbGUnLiIKLSN+IG1zZ3N0ciAidmFneSBoYSBuZW0gYWQgdmlzc3phIHNlbW1pdCBha2tvciBheiBuZW0gZWd5IGbhamwuIgotCi0jfiBtc2dpZCAiSWYgdGhlIC1hIGZsYWcgaXMgdXNlZCwgZGlzcGxheXMgYWxsIG9mIHRoZSBwbGFjZXMgdGhhdCBjb250YWluIGFuIgotI34gbXNnc3RyICIiCi0jfiAiQSAnLWEnIG9wY2nzIGhhdOFz4XJhIG1lZ2plbGVu7XRpIGF6IPZzc3plcyBoZWx5ZXQgYWhvbCBhIG1lZ3RhbOFsaGF08yIKLQotI34gbXNnaWQgIiIKLSN+ICJleGVjdXRhYmxlIG5hbWVkIGBmaWxlJy4gIFRoaXMgaW5jbHVkZXMgYWxpYXNlcyBhbmQgZnVuY3Rpb25zLCBpZiBhbmQiCi0jfiBtc2dzdHIgIiIKLSN+ICJtaW50IGZ1dHRhdGhhdPMgZuFqbC4gRXogbWFn4WJhbiBmb2dsYWxqYSBhIGFsaWFzb2thdCDpcyBhIGZ1bmtjafNrYXQgIgotCi0jfiBtc2dpZCAib25seSBpZiB0aGUgLXAgZmxhZyBpcyBub3QgYWxzbyB1c2VkLiIKLSN+IG1zZ3N0ciAiY3NhayBha2tvciBoYSAnLXAnLXQgbmVtIGhhc3pu4WxqYS4iCi0KLSN+IG1zZ2lkICJUeXBlIGFjY2VwdHMgLWFsbCwgLXBhdGgsIGFuZCAtdHlwZSBpbiBwbGFjZSBvZiAtYSwgLXAsIGFuZCAtdCwiCi0jfiBtc2dzdHIgIkEgdHlwZSBlbGZvZ2FkamEgLWFsbCwgLXBhdGgsIOlzIGEgLXR5cGUgc3phdmFrYXQgIC1hLCAtcCwg6XMgLXQsIgotCi0jfiBtc2dpZCAicmVzcGVjdGl2ZWx5LiIKLSN+IG1zZ3N0ciAiaGVseWV0LiIKLQotI34gbXNnaWQgIlVsaW1pdCBwcm92aWRlcyBjb250cm9sIG92ZXIgdGhlIHJlc291cmNlcyBhdmFpbGFibGUgdG8gcHJvY2Vzc2VzIgotI34gbXNnc3RyICIiCi0jfiAiQXogdWxpbWl0IHRlbGplcyBlbGxlbvVyeulzdCBiaXp0b3PtdCBhIHBhcmFuY3PpcnRlbG1levUg4Wx0YWwgZWxpbmTtdG90dCAiCi0jfiAicHJvZ3JhbW9rIgotCi0jfiBtc2dpZCAic3RhcnRlZCBieSB0aGUgc2hlbGwsIG9uIHN5c3RlbXMgdGhhdCBhbGxvdyBzdWNoIGNvbnRyb2wuICBJZiBhbiIKLSN+IG1zZ3N0ciAiZWz1Zm9ycuFzYWkgZmVsZXQsIGFtaSDhbHRhbCBheiBlZ+lzeiByZW5kc3plciBsZWhldCBzemFi4Wx5b3puaS4iCi0KLSN+IG1zZ2lkICJvcHRpb24gaXMgZ2l2ZW4sIGl0IGlzIGludGVycHJldGVkIGFzIGZvbGxvd3M6IgotI34gbXNnc3RyICJBIGv2dmV0a2V69SBsaXN0YSBiZW11dGF0amEgYXogZWzpcmhldPUgb3BjafNrYXQ6IgotCi0jfiBtc2dpZCAiICAgIC1TXHR1c2UgdGhlIGBzb2Z0JyByZXNvdXJjZSBsaW1pdCIKLSN+IG1zZ3N0ciAiICAgIC1TXHQgXCJs4Wd5XCIgZXL1Zm9ycuFzIGtvcmzhdG964XN0IGhhc3pu4WwiCi0KLSN+IG1zZ2lkICIgICAgLUhcdHVzZSB0aGUgYGhhcmQnIHJlc291cmNlIGxpbWl0IgotI34gbXNnc3RyICIgICAgLUhcdCBcImtlbelueVwiIGVy9WZvcnLhcyBrb3Js4XRveuFzdCBoYXN6buFsIgotCi0jfiBtc2dpZCAiICAgIC1hXHRhbGwgY3VycmVudCBsaW1pdHMgYXJlIHJlcG9ydGVkIgotI34gbXNnc3RyICIgICAgLWFcdG1lZ2plbGVu7XRpIGF6IPZzc3plcyBrb3Js4XRveuFzIgotCi0jfiBtc2dpZCAiICAgIC1jXHR0aGUgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZCIKLSN+IG1zZ3N0ciAiICAgIC1jXHRhIG1heGlt4Wxpc2FuIGzpdHJlaG96aGF08yBjb3JlIGbhamwgbelyZXRlIgotCi0jfiBtc2dpZCAiICAgIC1kXHR0aGUgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudCIKLSN+IG1zZ3N0ciAiICAgICAtZCBtYXhpbeFsaXMgbelyZXRlIGZlbGFkYXRvayAgYWRhdCBzemVnbWVuc+luZWsiCi0KLSN+IG1zZ2lkICIgICAgLW1cdHRoZSBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplIgotI34gbXNnc3RyICIgICAgLW1cdGEgbWF4aW3hbGlzIGJlbm5tYXJhZPMocmV6aWRlc3QpIHLpc3ogbelyZXRlIgotCi0jfiBtc2dpZCAiICAgIC1zXHR0aGUgbWF4aW11bSBzdGFjayBzaXplIgotI34gbXNnc3RyICIgICAgLXNcdGEgdmVyZW0gbWF4aW3hbGlzIG3pcmV0ZSIKLQotI34gbXNnaWQgIiAgICAtdFx0dGhlIG1heGltdW0gYW1vdW50IG9mIGNwdSB0aW1lIGluIHNlY29uZHMiCi0jfiBtc2dzdHIgIiAgICAtdFx0YSBtYXhpbeFsaXNhbiBmZWxoYXN6buFsaGF08yBjcHUgaWT1IG3hc29kcGVyY2JlbiIKLQotI34gbXNnaWQgIiAgICAtZlx0dGhlIG1heGltdW0gc2l6ZSBvZiBmaWxlcyBjcmVhdGVkIGJ5IHRoZSBzaGVsbCIKLSN+IG1zZ3N0ciAiIgotI34gIiAgICAtZlx0IGEgcGFyYW5jc+lydGVsbWV69SDhbHRhbCBs6XRyZWhvemhhdPMgZuFqbG9rIG1heGlt4WxpcyBt6XJldGUiCi0KLSN+IG1zZ2lkICIgICAgLXBcdHRoZSBwaXBlIGJ1ZmZlciBzaXplIgotI34gbXNnc3RyICIgICAgLXBcdGEgY3P1KHBpcGUpIHB1ZmZlciBt6XJldGUiCi0KLSN+IG1zZ2lkICIgICAgLW5cdHRoZSBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGUgZGVzY3JpcHRvcnMiCi0jfiBtc2dzdHIgIiAgICAtblx0YSBtYXhpbeFsaXNhbiBtZWdueWl0aGF08yBm4WpsIGxl7XLzayBzeuFtYSIKLQotI34gbXNnaWQgIiAgICAtdVx0dGhlIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzIgotI34gbXNnc3RyICIgICAgLXVcdGEgZmVsaGFzem7hbPMg4Wx0YWwgbWF4aW3hbGlzYW4gZWxpbmTtdGhhdPMgZmVsYWRhdG9rIHN64W1hIgotCi0jfiBtc2dpZCAiICAgIC12XHR0aGUgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeSIKLSN+IG1zZ3N0ciAiICAgIC12XHRhIHZpcnR14WxpcyBtZW3zcmlhIG3pcmV0ZSIKLQotI34gbXNnaWQgIklmIExJTUlUIGlzIGdpdmVuLCBpdCBpcyB0aGUgbmV3IHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UuIgotI34gbXNnc3RyICJIYSBhIEhBVMFSIG1lZ2hhdOFyb3p6YSBha2tvciBhemF6IOlydOlrZXQgaGFzem7hbGphIGF6IGVy9WZvcnLhcy4iCi0KLSN+IG1zZ2lkICJPdGhlcndpc2UsIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UgaXMgcHJpbnRlZC4iCi0jfiBtc2dzdHIgIkVneelia+ludCBtZWdqZWxlbu10aSBhIGplbGVubGVnaSDpcnTpa+l0IGF6IGVs9WZvcnLhc25hay4iCi0KLSN+IG1zZ2lkICJJZiBubyBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gLWYgaXMgYXNzdW1lZC4gIFZhbHVlcyBhcmUgaW4gMWsiCi0jfiBtc2dzdHIgIiIKLSN+ICJIYSBvcGNp8yBu6Wxr/GwgaW5k7XThc2hveiBhICctZicgdmFuIGhvenrhcmVuZGVsdmUuQXog6XJ06WtlayBLaWxvYuFqdGJhbiIKLQotI34gbXNnaWQgImluY3JlbWVudHMsIGV4Y2VwdCBmb3IgLXQsIHdoaWNoIGlzIGluIHNlY29uZHMsIC1wLCB3aGljaCBpcyBpbiIKLSN+IG1zZ3N0ciAiIgotI34gIulydGVuZPUsIGtpdul0ZWwgYSAnLWEnIOlydOlrZSBtZXJ0IGF6IG3hc29kcGVyY2V0IGplbGVudCDpcyBhICctcCcgIgotI34gImFtZWx5aWsiCi0KLSN+IG1zZ2lkICJpbmNyZW1lbnRzIG9mIDUxMiBieXRlcywgYW5kIC11LCB3aGljaCBpcyBhbiB1bnNjYWxlZCBudW1iZXIgb2YiCi0jfiBtc2dzdHIgIjUxMiBi4Wp0b3QuIEEgJy11JyBwZWRpZyBhIGZvbHlhbWF0b2sgc3rhbWEgZGFyYWJiYW4gIgotCi0jfiBtc2dpZCAicHJvY2Vzc2VzLiIKLSN+IG1zZ3N0ciAia2loZWx5ZXp2ZS4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiVGhlIHVzZXIgZmlsZS1jcmVhdGlvbiBtYXNrIGlzIHNldCB0byBNT0RFLiAgSWYgTU9ERSBpcyBvbWl0dGVkLCBvciBpZiIKLSN+IG1zZ3N0ciAiIgotI34gIkEgZmVsaGFzem7hbPMgZuFqbCBs6XRyZWhveuFzaSBN00RKwVQg4Wxs7XRoYXRqdWsgYmUuIEhhIGEgTdNEb3QgZWxoYWd5anVrIgotCi0jfiBtc2dpZCAiIgotI34gImAtUycgaXMgc3VwcGxpZWQsIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBtYXNrIGlzIHByaW50ZWQuICBUaGUgYC1TJyIKLSN+IG1zZ3N0ciAiIgotI34gInZhZ3kgYSAnLVMnIG9wY2nzdCBoYXN6buFsanVrIGFra29yIGEgamVsZW5sZWdpIG1hc2tvdCDtcmphIGtpLiBBICctUycgIgotI34gIm9wY2nzICIKLQotI34gbXNnaWQgIiIKLSN+ICJvcHRpb24gbWFrZXMgdGhlIG91dHB1dCBzeW1ib2xpYzsgb3RoZXJ3aXNlIGFuIG9jdGFsIG51bWJlciBpcyBvdXRwdXQuIgotI34gbXNnc3RyICIiCi0jfiAia2ltZW5ldGUgYSBzemltYm9saWt1cyBqZWxlbnTpc3Qg7XJqYSBraSBlZ3npYmvpbnQgbnlvbGNhcyAiCi0jfiAic3rhbXJlbmRzemVyYmVuIGvzZG9sdmEiCi0KLSN+IG1zZ2lkICJJZiBNT0RFIGJlZ2lucyB3aXRoIGEgZGlnaXQsIGl0IGlzIGludGVycHJldGVkIGFzIGFuIG9jdGFsIG51bWJlciwiCi0jfiBtc2dzdHIgIiIKLSN+ICLtcmphIGtpLkhhIGEgTdNEIHN64W1tYWwga2V6ZPVkaWsgYWtrb3IgbnlvbGNhcyBzeuFtcmVuZHN6ZXJiZW4ga/Nkb2x2YSIKLQotI34gbXNnaWQgIiIKLSN+ICJvdGhlcndpc2UgaXQgaXMgYSBzeW1ib2xpYyBtb2RlIHN0cmluZyBsaWtlIHRoYXQgYWNjZXB0ZWQgYnkgY2htb2QoMSkuIgotI34gbXNnc3RyICIiCi0jfiAi6XJ0ZWxtZXppIGVneelia+ludCBhIHN6aW1ib2xpa3VzIG3zZG9rYXQgaGFzem7hbGphIG1pbnQgYSBjaG1vZCgxKS4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiV2FpdCBmb3IgdGhlIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXBvcnQgaXRzIHRlcm1pbmF0aW9uIHN0YXR1cy4gIElmIgotI34gbXNnc3RyICJW4XJha296aWsgZWd5IG1lZ2hhdOFyb3pvdHQgZmVsYWRhdHJhIOlzIGplbGVudOlzdCBr6XN67XQgcvNsYS4iCi0KLSN+IG1zZ2lkICJOIGlzIG5vdCBnaXZlbiwgYWxsIGN1cnJlbnRseSBhY3RpdmUgY2hpbGQgcHJvY2Vzc2VzIGFyZSB3YWl0ZWQgZm9yLCIKLSN+IG1zZ3N0ciAiIgotI34gIkhhIGF6IE4gbmluY3MgbWVnaGF04XJvenZhIGFra29yIGEgamVsZW5sZWcgYWt07XYgZ3llcm1layBmb2x5YW1hdHJhIHbhciIKLQotI34gbXNnaWQgImFuZCB0aGUgcmV0dXJuIGNvZGUgaXMgemVyby4gIE4gbWF5IGJlIGEgcHJvY2VzcyBJRCBvciBhIGpvYiIKLSN+IG1zZ3N0ciAiIgotI34gIulzIGEgdmlzc3phdOly6XNpIOlydOlrZSAwLiBBeiBOIGxlaGV0IGVneSBmb2x5YW1hdCBhem9ub3PtdPMg6XMgZWd5ICIKLSN+ICJtdW5rYS0iCi0KLSN+IG1zZ2lkICJzcGVjaWZpY2F0aW9uOyBpZiBhIGpvYiBzcGVjIGlzIGdpdmVuLCBhbGwgcHJvY2Vzc2VzIGluIHRoZSBqb2IncyIKLSN+IG1zZ3N0ciAiZm9seWFtYXQgbWVnaGF04XJveuFzLCBoYSBlZ3kgbXVua2Fmb2x5YW1hdG90IGFkIOF0IGFra29yIGF6IPZzc3plcyIKLQotI34gbXNnaWQgInBpcGVsaW5lIGFyZSB3YWl0ZWQgZm9yLiIKLSN+IG1zZ3N0ciAiZm9seWFtYXThcmEgduFyYWtvemlrLiIKLQotI34gbXNnaWQgImFuZCB0aGUgcmV0dXJuIGNvZGUgaXMgemVyby4gIE4gaXMgYSBwcm9jZXNzIElEOyBpZiBpdCBpcyBub3QgZ2l2ZW4sIgotI34gbXNnc3RyICIiCi0jfiAi6XMgYSB2aXNzemF06XLpc2kg6XJ06WtlIDAuIEF6IE4gbGVoZXQgZWd5IGZvbHlhbWF0IGF6b25vc+108yBoYSBleiBuaW5jcyAiCi0KLSN+IG1zZ2lkICJhbGwgY2hpbGQgcHJvY2Vzc2VzIG9mIHRoZSBzaGVsbCBhcmUgd2FpdGVkIGZvci4iCi0jfiBtc2dzdHIgIm1lZ2FkdmEgYSBwYXJhbmNz6XJ0ZWxtZXr1IPZzc3plcyBneWVybWVrIGZlbGFkYXThcmEgduFyYWtvemlrLiIKLQotI34gbXNnaWQgIlRoZSBgZm9yJyBsb29wIGV4ZWN1dGVzIGEgc2VxdWVuY2Ugb2YgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEiCi0jfiBtc2dzdHIgIkEgJ2ZvcicgZWd5IGh1cm9rYmFuIGVsaW5k7XRqYSBhIHBhcmFuY3Nva2F0IGFt7WcgYXog9nNzemVzIGVsZW1lIgotCi0jfiBtc2dpZCAiIgotI34gImxpc3Qgb2YgaXRlbXMuICBJZiBgaW4gV09SRFMgLi4uOycgaXMgbm90IHByZXNlbnQsIHRoZW4gYGluIFwiJEBcIicgaXMiCi0jfiBtc2dzdHIgIiIKLSN+ICJ26WdpZyBuZW0gZnV0b3R0LiBIYSBheiAnaW4gU1pBVkFLLi47J25pbmNzIGplbGVuIGFra29yIGEgXCIkQFwiIOlydOlrZWl0IgotCi0jfiBtc2dpZCAiIgotI34gImFzc3VtZWQuICBGb3IgZWFjaCBlbGVtZW50IGluIFdPUkRTLCBOQU1FIGlzIHNldCB0byB0aGF0IGVsZW1lbnQsIGFuZCIKLSN+IG1zZ3N0ciAiaGFzem7hbGphIGZlbC5BIFNaQVZBSyD2c3N6ZXMgZWxlbel0IGEgTslWaGV6IHJlbmRlbGkg6XMgbGVmdXR0YXRqYSIKLQotI34gbXNnaWQgInRoZSBDT01NQU5EUyBhcmUgZXhlY3V0ZWQuIgotI34gbXNnc3RyICJhIFBBUkFOQ1NPS0FULiIKLQotI34gbXNnaWQgIlRoZSBXT1JEUyBhcmUgZXhwYW5kZWQsIGdlbmVyYXRpbmcgYSBsaXN0IG9mIHdvcmRzLiAgVGhlIgotI34gbXNnc3RyICJTWkFWQUsga2l24Wxhc3p04XNhLCBsaXN0YSBnZW5lcuFs4XNhIGEgc3phdmFrYvNsIgotCi0jfiBtc2dpZCAic2V0IG9mIGV4cGFuZGVkIHdvcmRzIGlzIHByaW50ZWQgb24gdGhlIHN0YW5kYXJkIGVycm9yLCBlYWNoIgotI34gbXNnc3RyICJBeiD2c3N6ZWd5+2p09XQgc3phdmFrYXQgYSBzdGFuZGFyZCBoaWJha2ltZW5ldHJlIGv8bGRpLCBtaW5kZWd5aWsiCi0KLSN+IG1zZ2lkICJwcmVjZWRlZCBieSBhIG51bWJlci4gIElmIGBpbiBXT1JEUycgaXMgbm90IHByZXNlbnQsIGBpbiBcIiRAXCInIgotI34gbXNnc3RyICJiZXNvcnN64W1venZhLiBIYSBhICdpbiBTWkFWQUsnIG5pbmNzIGplbGVuIGFra29yIGEgXCIkQFwiIgotCi0jfiBtc2dpZCAiaXMgYXNzdW1lZC4gIFRoZSBQUzMgcHJvbXB0IGlzIHRoZW4gZGlzcGxheWVkIGFuZCBhIGxpbmUgcmVhZCIKLSN+IG1zZ3N0ciAiaGFzem7hbGphLiBBIFBTMyBwcm9tcHQgamVsZW5payBtZWcg6XMgc3phYnbhbnkgYmVtZW5ldHL1bCIKLQotI34gbXNnaWQgImZyb20gdGhlIHN0YW5kYXJkIGlucHV0LiAgSWYgdGhlIGxpbmUgY29uc2lzdHMgb2YgdGhlIG51bWJlciIKLSN+IG1zZ3N0ciAib2x2YXMuIEhhIGEgc29yYmFuIHRhbOFsaGF08yB2YWxhbWVseWlrIHN64W0gbWVnZmVsZWwiCi0KLSN+IG1zZ2lkICJjb3JyZXNwb25kaW5nIHRvIG9uZSBvZiB0aGUgZGlzcGxheWVkIHdvcmRzLCB0aGVuIE5BTUUgaXMgc2V0IgotI34gbXNnc3RyICJhIG1lZ2plbGVu7XRldHQgc3phdmFrIGVneWlr6XZlbCBha2tvciBhenQgYmVoZWx5ZXR0ZXPtdGkgYSBOyVYtYmUiCi0KLSN+IG1zZ2lkICJ0byB0aGF0IHdvcmQuICBJZiB0aGUgbGluZSBpcyBlbXB0eSwgV09SRFMgYW5kIHRoZSBwcm9tcHQgYXJlIgotI34gbXNnc3RyICJIYSBhIHNvciD8cmVzIGFra29yIGEgU1pBVkFLQVQg6XMgYSBwcm9tcHRvdCD6anJhIG1lZ2plbGVu7XRpIgotCi0jfiBtc2dpZCAicmVkaXNwbGF5ZWQuICBJZiBFT0YgaXMgcmVhZCwgdGhlIGNvbW1hbmQgY29tcGxldGVzLiAgQW55IG90aGVyIgotI34gbXNnc3RyICIiCi0jfiAiSGEgRU9GIGplbGV0IG9sdmFzIGJlIGFra29yIGEgcGFyYW5jc290IGJlZmVqZXppLiBNaW5kZW4gZWd56WIgaGVseXpldGJlbiIKLQotI34gbXNnaWQgInZhbHVlIHJlYWQgY2F1c2VzIE5BTUUgdG8gYmUgc2V0IHRvIG51bGwuICBUaGUgbGluZSByZWFkIGlzIHNhdmVkIgotI34gbXNnc3RyICJhIE7JViDpcnTpa+l0IG51bGzhcmEg4Wxs7XRqYSBiZS4gQSBiZW9sdmFzb3R0IHNvcnQgZWx04XJvbGphIGEgIgotCi0jfiBtc2dpZCAiaW4gdGhlIHZhcmlhYmxlIFJFUExZLiAgQ09NTUFORFMgYXJlIGV4ZWN1dGVkIGFmdGVyIGVhY2ggc2VsZWN0aW9uIgotI34gbXNnc3RyICIiCi0jfiAiUkVQTFkgduFsdG9682JhLiBBIHBhcmFuY3NvdCBheiBtaW5kaWcgbGVmdXR0YXRqYSBlZ+lzemVuIGFkZGlnIGFt7WciCi0KLSN+IG1zZ2lkICJ1bnRpbCBhIGJyZWFrIG9yIHJldHVybiBjb21tYW5kIGlzIGV4ZWN1dGVkLiIKLSN+IG1zZ3N0ciAibWVnIG5lbSBzemFr7XRqdWsgdmFneSB2aXNzemEgbmVtIHTpciBhIHBhcmFuY3MuIgotCi0jfiBtc2dpZCAiYHwnIGlzIHVzZWQgdG8gc2VwYXJhdGUgbXVsdGlwbGUgcGF0dGVybnMuIgotI34gbXNnc3RyICInfCcgaGFzem7hbGhhdGp1ayB09mJiIG1pbnRhIGVsduFsYXN6dOFz4Whvei4iCi0KLSN+IG1zZ2lkICIiCi0jfiAiVGhlIGlmIENPTU1BTkRTIGFyZSBleGVjdXRlZC4gIElmIHRoZSBleGl0IHN0YXR1cyBpcyB6ZXJvLCB0aGVuIHRoZSB0aGVuIgotI34gbXNnc3RyICIiCi0jfiAiQXogaWYgUEFSQU5DUyBsZWZ1dHRhdOFzYS4gSGEgYSBraW1lbmV0aSBzdGF0dXMgbnVsbGEgYWtrb3IgYSAndGhlbiciCi0KLSN+IG1zZ2lkICIiCi0jfiAiQ09NTUFORFMgYXJlIGV4ZWN1dGVkLiAgT3RoZXJ3aXNlLCBlYWNoIG9mIHRoZSBlbGlmIENPTU1BTkRTIGFyZSBleGVjdXRlZCIKLSN+IG1zZ3N0ciAiIFBBUkFOQ1Mtb3QgbGVmdXR0YXRqYS4gRWd56WJr6W50IGF6ICdlbGlmJyBQQVJBTkNTQUl0IGZ1dHRhdGphIGxlIgotCi0jfiBtc2dpZCAiIgotI34gImluIHR1cm4sIGFuZCBpZiB0aGUgZXhpdCBzdGF0dXMgaXMgemVybywgdGhlIGNvcnJlc3BvbmRpbmcgdGhlbiBDT01NQU5EUyIKLSN+IG1zZ3N0ciAiIgotI34gIulzIGhhIGVubmVrIGEgdmlzc3phdOly6XNpIOlydOlrZSBudWxsYSBha2tvciBhIG1lZ2ZlbGVs9SBQQVJBTkNTb2sgIgotI34gImxlc3puZWsiCi0KLSN+IG1zZ2lkICIiCi0jfiAiYXJlIGV4ZWN1dGVkIGFuZCB0aGUgaWYgY29tbWFuZCBjb21wbGV0ZXMuICBPdGhlcndpc2UsIHRoZSBlbHNlIENPTU1BTkRTIgotI34gbXNnc3RyICIiCi0jfiAibGVmdXR0YXR2YSDpcyBlenplbCBiZWhlbHllevVkaWsgYXogJ2lmJyBwYXJhbmNzLiBFZ3npYmvpbnQgYXogJ2Vsc2UnIOFnICIKLSN+ICJQQVJBTkNTQUkiCi0KLSN+IG1zZ2lkICIiCi0jfiAiYXJlIGV4ZWN1dGVkLCBpZiBwcmVzZW50LiAgVGhlIGV4aXQgc3RhdHVzIGlzIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUgbGFzdCIKLSN+IG1zZ3N0ciAiZnV0bmFrIGxlIChwZXJzemUgaGEgamVsZW4gdmFuKS4gQSB2aXNzemF06XLpc2kgc3ThdHVzeiBheiB1dG9sc/MiCi0KLSN+IG1zZ2lkICJjb21tYW5kIGV4ZWN1dGVkLCBvciB6ZXJvIGlmIG5vIGNvbmRpdGlvbiB0ZXN0ZWQgdHJ1ZS4iCi0jfiBtc2dzdHIgImxlZnV0b3R0IHBhcmFuY3PpIHZhZ3kgbnVsbGEgaGEgYXogJ2lmJyBmZWx06XRlbCBuZW0gaWdhei4iCi0KLSN+IG1zZ2lkICJgd2hpbGUnIENPTU1BTkRTIGhhcyBhbiBleGl0IHN0YXR1cyBvZiB6ZXJvLiIKLSN+IG1zZ3N0ciAiJ3doaWxlJy1iYW4gbmVtIHTpciB2aXNzemEgbnVsbGEga2ls6XDpc2kgc3ThdHVzc3phbC4iCi0KLSN+IG1zZ2lkICJgdW50aWwnIENPTU1BTkRTIGhhcyBhbiBleGl0IHN0YXR1cyB3aGljaCBpcyBub3QgemVyby4iCi0jfiBtc2dzdHIgIid1bnRpbCctYmFuIG5lbSB06XIgdmlzc3phIG51bGxhIGtpbOlw6XNpIHN04XR1c3N6YWwuIgotCi0jfiBtc2dpZCAiQ3JlYXRlIGEgc2ltcGxlIGNvbW1hbmQgaW52b2tlZCBieSBOQU1FIHdoaWNoIHJ1bnMgQ09NTUFORFMuIgotI34gbXNnc3RyICIiCi0jfiAiTOl0cmVob3ogZWd5IGVneXN6ZXL7IHBhcmFuY3NvdCBhbWl0IGEgTslWdmVsIGxlaGV0IG1lZ2jtdm5pIOlzIGFtaSAiCi0jfiAibGVmdXR0YXRqYSIKLQotI34gbXNnaWQgIkFyZ3VtZW50cyBvbiB0aGUgY29tbWFuZCBsaW5lIGFsb25nIHdpdGggTkFNRSBhcmUgcGFzc2VkIHRvIHRoZSIKLSN+IG1zZ3N0ciAiYSBQQVJBTkNTT0tBVC4gQSBwYXJhbmNzc29yYmFuIGEgTslWICBvcGNp82kgYSAkMC4uJE4iCi0KLSN+IG1zZ2lkICJmdW5jdGlvbiBhcyAkMCAuLiAkbi4iCi0jfiBtc2dzdHIgInbhbHRvevNrYmFuIGplbGVuaWsgbWVnLiIKLQotI34gbXNnaWQgImVudGlyZSBzZXQgb2YgY29tbWFuZHMuIgotI34gbXNnc3RyICLhdGly4W557XThcyBhIHBhcmFuY3NvayBoYWxtYXrhbmFrLiIKLQotI34gbXNnaWQgIlRoaXMgaXMgc2ltaWxhciB0byB0aGUgYGZnJyBjb21tYW5kLiAgUmVzdW1lIGEgc3RvcHBlZCBvciBiYWNrZ3JvdW5kIgotI34gbXNnc3RyICIiCi0jfiAiRXogaGFzb25s7XQgYXogJ2ZnJyBwYXJhbmNzcmEuIEZvbHlhdHRhdGphIGEgbWVn4Wxs7XRvdHQgdmFneSBo4XR06XJiZSAiCi0jfiAicmFrb3R0IgotCi0jfiBtc2dpZCAiam9iLiAgSWYgeW91IHNwZWNpZml5IERJR0lUUywgdGhlbiB0aGF0IGpvYiBpcyB1c2VkLiAgSWYgeW91IHNwZWNpZnkiCi0jfiBtc2dzdHIgIiIKLSN+ICJtdW5rYWZvbHlhbWF0b2thdC4gSGEgbWVnaGF04XJvenphIGEgU1rBTU9LQVQgYWtrb3IgYXp0IG11bmthZm9seWFtYXRvdCIKLQotI34gbXNnaWQgIiIKLSN+ICJXT1JELCB0aGVuIHRoZSBqb2Igd2hvc2UgbmFtZSBiZWdpbnMgd2l0aCBXT1JEIGlzIHVzZWQuICBGb2xsb3dpbmcgdGhlIgotI34gbXNnc3RyICIiCi0jfiAiaGFzem7hbGphLiBIYSBhIFNa01QgYWRqYSBtZWcgYWtrb3IgYXpva2F0IGEgZm9seWFtYXRva2F0IGhhc3pu4WxqYSBhbWkgYSAiCi0KLSN+IG1zZ2lkICJqb2Igc3BlY2lmaWNhdGlvbiB3aXRoIGEgYCYnIHBsYWNlcyB0aGUgam9iIGluIHRoZSBiYWNrZ3JvdW5kLiIKLSN+IG1zZ3N0ciAiIgotI34gImEgU1rTdmFsIGtlemT1ZGlrLkEgbXVua2Fmb2x5YW1hdCBtZWdoYXThcm964XNhIGVneSAnJictcmUgdulnevVkaWsgYWtrb3IgIgotI34gImEgaOF0dOlyYmUgaGVseWV6aS4iCi0KLSN+IG1zZ2lkICJCQVNIX1ZFUlNJT04gICAgVGhlIHZlcnNpb24gbnVtYmVycyBvZiB0aGlzIEJhc2guIgotI34gbXNnc3RyICJCQVNIX1ZFUlNJT04gICAgQSBCYXNoIHZlcnpp8yBzeuFtYS4iCi0KLSN+IG1zZ2lkICJDRFBBVEggICAgICAgICAgQSBjb2xvbiBzZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2giCi0jfiBtc2dzdHIgIiIKLSN+ICJDRFBBVEggICAgICAgICAgS2V0dPVzcG9udHRhbCBlbHbhbGFzenRvdHQgbGlzdGEgYXpva25hayBhIGv2bnl2dOFyYWtuYWsiCi0KLSN+IG1zZ2lkICJcdFx0d2hlbiB0aGUgYXJndW1lbnQgdG8gYGNkJyBpcyBub3QgZm91bmQgaW4gdGhlIGN1cnJlbnQiCi0jfiBtc2dzdHIgIlx0XHRoZWx56XL1bCBhbWlrZXQgYSAnY2QnIHBhcmFuY3MgbmVtIHRhbOFsIG1lZyBheiBha3R14WxpcyAiCi0KLSN+IG1zZ2lkICJcdFx0ZGlyZWN0b3J5LiIKLSN+IG1zZ3N0ciAiXHRcdGv2bnl2dOFyYmFuLiIKLQotI34gbXNnaWQgIiIKLSN+ICJISVNURklMRSAgICAgICAgVGhlIG5hbWUgb2YgdGhlIGZpbGUgd2hlcmUgeW91ciBjb21tYW5kIGhpc3RvcnkgaXMgc3RvcmVkLiIKLSN+IG1zZ3N0ciAiIgotI34gIkhJU1RGSUxFICAgICAgICBBIGbhamwgbmV2ZSBhaG9sIGEgc2Fq4XQgcGFyYW5jcyBlbPV6belueWVrZXQgdOFyb2xqYS4iCi0KLSN+IG1zZ2lkICJISVNURklMRVNJWkUgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRoaXMgZmlsZSBjYW4gY29udGFpbi4iCi0jfiBtc2dzdHIgIkhJU1RGSUxFU0laRSAgICBNYXhpbeFsaXMgc29yb2sgc3rhbWEgYW1pdCBleiBhIGbhamwgdGFydGFsbWF6aGF0LiIKLQotI34gbXNnaWQgIkhJU1RTSVpFICAgICAgICBUaGUgbWF4aW11bSBudW1iZXIgb2YgaGlzdG9yeSBsaW5lcyB0aGF0IGEgcnVubmluZyIKLSN+IG1zZ3N0ciAiSElTVFNJWkUgICAgICAgIEEgbWF4aW3hbGlzIHNvcm9rIHN64W1hIGFtaXQgYSBmdXTzIgotCi0jfiBtc2dpZCAiXHRcdHNoZWxsIGNhbiBhY2Nlc3MuIgotI34gbXNnc3RyICJcdFx0cGFyYW5jc+lydGVsbWV69SBt6WcgZWzpcmhldC4iCi0KLSN+IG1zZ2lkICJIT01FICAgICAgICAgICAgVGhlIGNvbXBsZXRlIHBhdGhuYW1lIHRvIHlvdXIgbG9naW4gZGlyZWN0b3J5LiIKLSN+IG1zZ3N0ciAiSE9NRSAgICAgICAgICAgIEEgdGVsamVzIPp0dm9uYWxhIGEgc2Fq4XQgYmVs6XDpc2kga/ZueXZ04XJuYWsuIgotCi0jfiBtc2dpZCAiIgotI34gIkhPU1RUWVBFICAgICAgICBUaGUgdHlwZSBvZiBDUFUgdGhpcyB2ZXJzaW9uIG9mIEJhc2ggaXMgcnVubmluZyB1bmRlci4iCi0jfiBtc2dzdHIgIkhPU1RUWVBFICAgICAgICBBIENQVSB07XB1c2EgYW5uYWsgYSBn6XBla25layBhaG9sIGEgQmFzaCBmdXQuIgotCi0jfiBtc2dpZCAiIgotI34gIklHTk9SRUVPRiAgICAgICBDb250cm9scyB0aGUgYWN0aW9uIG9mIHRoZSBzaGVsbCBvbiByZWNlaXB0IG9mIGFuIEVPRiIKLSN+IG1zZ3N0ciAiIgotI34gIklHTk9SRUVPRiAgICAgICBFbGxlbvVyemkgYSBwYXJhbmNz6XJ0ZWxlbWV69SB2aXNlbGtlZOlz6XQgYW1pa29yIGVneSBFT0YiCi0KLSN+IG1zZ2lkICJcdFx0Y2hhcmFjdGVyIGFzIHRoZSBzb2xlIGlucHV0LiAgSWYgc2V0LCB0aGVuIHRoZSB2YWx1ZSIKLSN+IG1zZ3N0ciAiIgotI34gIlx0XHRrYXJha3RlcnQga2FwIG1pbnQg9m7hbGzzIGJlbWVuZXQuIEhhIGJlIHZhbiDhbGztdHZhIGFra29yIGV6IGF6ICIKLQotI34gbXNnaWQgIlx0XHRvZiBpdCBpcyB0aGUgbnVtYmVyIG9mIEVPRiBjaGFyYWN0ZXJzIHRoYXQgY2FuIGJlIHNlZW4iCi0jfiBtc2dzdHIgIlx0XHQg6XJ06WsgYWtrb3IgYXp0IGplbGVudGksIGhvZ3kgaOFueSD8cmVzIgotCi0jfiBtc2dpZCAiXHRcdGluIGEgcm93IG9uIGFuIGVtcHR5IGxpbmUgYmVmb3JlIHRoZSBzaGVsbCB3aWxsIGV4aXQiCi0jfiBtc2dzdHIgIlx0XHRzb3Iga2VsamVuIGF6IEVPRiBqZWwgZWz1dHQsIGhvZ3kga2ls6XBqZW4oYWxhcGLzbCAxMCkuIEFtaWtvciIKLQotI34gbXNnaWQgIlx0XHQoZGVmYXVsdCAxMCkuICBXaGVuIHVuc2V0LCBFT0Ygc2lnbmlmaWVzIHRoZSBlbmQgb2YgaW5wdXQuIgotI34gbXNnc3RyICJcdFx0IG5pbmNzIGJl4Wxs7XR2YSBha2tvciBheiBFT0YgamVscmUgYmVmZWplemkgYSBiZXZpdGVsdCIKLQotI34gbXNnaWQgIk1BSUxDSEVDS1x0SG93IG9mdGVuLCBpbiBzZWNvbmRzLCBCYXNoIGNoZWNrcyBmb3IgbmV3IG1haWwuIgotI34gbXNnc3RyICJNQUlMQ0hFQ0tcdEjhbnkgbeFzb2RwZXJjZW5r6W50IGVsbGVu9XJpenplIGEgQmFzaCBheiD6aiBsZXZlbGVrZXQuIgotCi0jfiBtc2dpZCAiTUFJTFBBVEhcdEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZmlsZW5hbWVzIHdoaWNoIEJhc2ggY2hlY2tzIgotI34gbXNnc3RyICJNQUlMUEFUSFx0RWd5IGtldHT1c3BvbnR0YWwgZWx24Wxhc3p0b3R0IGxpc3RhIGEgZuFqbCBuZXZla3L1bCBhaG9sIgotCi0jfiBtc2dpZCAiXHRcdGZvciBuZXcgbWFpbC4iCi0jfiBtc2dzdHIgIlx0XHRhIEJhc2ggZWxsZW71cnppIGF6IPpqIGxldmVsZWtldC4iCi0KLSN+IG1zZ2lkICJPU1RZUEVcdFx0VGhlIHZlcnNpb24gb2YgVW5peCB0aGlzIHZlcnNpb24gb2YgQmFzaCBpcyBydW5uaW5nIG9uLiIKLSN+IG1zZ3N0ciAiT1NUWVBFXHRcdEEgVW5peCB2ZXJ6afNqYSBhbm5hayBhIGfpcG5layBhaG9sIGEgQmFzaCBmdXQuIgotCi0jfiBtc2dpZCAiUEFUSCAgICAgICAgICAgIEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIHdoZW4iCi0jfiBtc2dzdHIgIiIKLSN+ICJQQVRIICAgICAgICAgICAgS2V0dPVzcG9udHRhbCBlbHbhbGFzenRvdHQgbGlzdGEgYXpva3LzbCBhIGv2bnl2dOFyYWty82wiCi0KLSN+IG1zZ2lkICJcdFx0bG9va2luZyBmb3IgY29tbWFuZHMuIgotI34gbXNnc3RyICJcdFx0YWhvbCBhIEJhc2gga2VyZXNpIGEgcGFyYW5jc29rYXQuIgotCi0jfiBtc2dpZCAiUFJPTVBUX0NPTU1BTkQgIEEgY29tbWFuZCB0byBiZSBleGVjdXRlZCBiZWZvcmUgdGhlIHByaW50aW5nIG9mIGVhY2giCi0jfiBtc2dzdHIgIlBST01QVF9DT01NQU5EICBBIHBhcmFuY3MgYW1pdCBtaW5kaWcgbGVmdXR0YXQgbWllbPV0dCBrae1yamEgIgotCi0jfiBtc2dpZCAiXHRcdHByaW1hcnkgcHJvbXB0LiIKLSN+IG1zZ3N0ciAiXHRcdG1pZWz1dHQgbWVnamVsZW7tdGVu6SBheiBlbHP1ZGxlZ2VzIHByb21wdG90LiIKLQotI34gbXNnaWQgIlBTMSAgICAgICAgICAgICBUaGUgcHJpbWFyeSBwcm9tcHQgc3RyaW5nLiIKLSN+IG1zZ3N0ciAiUFMxICAgICAgICAgICAgIEF6IGVsc/VkbGVnZXMgcHJvbXB0IHN6dHJpbmdqZS4iCi0KLSN+IG1zZ2lkICJQUzIgICAgICAgICAgICAgVGhlIHNlY29uZGFyeSBwcm9tcHQgc3RyaW5nLiIKLSN+IG1zZ3N0ciAiUFMyICAgICAgICAgICAgIG3hc29kbGFnb3MgcHJvbXB0IHN6dHJpbmdqZS4iCi0KLSN+IG1zZ2lkICJURVJNICAgICAgICAgICAgVGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgdGVybWluYWwgdHlwZS4iCi0jfiBtc2dzdHIgIlRFUk0gICAgICAgICAgICBBIGplbGVubGVnaSB0ZXJtaW7hbCB07XB1c+FuYWsgYSBuZXZlLiIKLQotI34gbXNnaWQgImF1dG9fcmVzdW1lICAgICBOb24tbnVsbCBtZWFucyBhIGNvbW1hbmQgd29yZCBhcHBlYXJpbmcgb24gYSBsaW5lIGJ5IgotI34gbXNnc3RyICIiCi0jfiAiYXV0b19yZXN1bWUgICAgIEEga2l09mx09nR0ICB24Wx0b3rzIGF6dCBqZWxlbnRpIGEga2lhZG90dCBwYXJhbmNzb2thdCIKLQotI34gbXNnaWQgIlx0XHRpdHNlbGYgaXMgZmlyc3QgbG9va2VkIGZvciBpbiB0aGUgbGlzdCBvZiBjdXJyZW50bHkiCi0jfiBtc2dzdHIgIlx0XHRlbPViYiBtZWdu6XppIGEgamVsZW5sZWcgbWVn4Wxs7XRvdHQgIG11bmthIgotCi0jfiBtc2dpZCAiXHRcdHN0b3BwZWQgam9icy4gIElmIGZvdW5kIHRoZXJlLCB0aGF0IGpvYiBpcyBmb3JlZ3JvdW5kZWQuIgotI34gbXNnc3RyICJcdFx0Zm9seWFtYXRvayBr9nr2dHQuSGEgbWVndGFs4WxqYSBha2tvciBhenQgZm9seXRhdGphLiIKLQotI34gbXNnaWQgIlx0XHRBIHZhbHVlIG9mIGBleGFjdCcgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCB3b3JkIG11c3QiCi0jfiBtc2dzdHIgIlx0XHRBeiBgZXhhY3QnIOlydOlrZSBhenQgamVsZW50aSwgaG9neSBhIHBhcmFuY3NuYWsgdGVsamVzZW4gbWVnIgotCi0jfiBtc2dpZCAiXHRcdGV4YWN0bHkgbWF0Y2ggYSBjb21tYW5kIGluIHRoZSBsaXN0IG9mIHN0b3BwZWQgam9icy4gIEEiCi0jfiBtc2dzdHIgIlx0XHRrZWxsIGVneWV6bmkgYSBsZeFsbO10b3R0IG11bmthZm9seWFtYXQgbmV26XZlbC4iCi0KLSN+IG1zZ2lkICJcdFx0dmFsdWUgb2YgYHN1YnN0cmluZycgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCB3b3JkIG11c3QiCi0jfiBtc2dzdHIgIlx0XHRBICdzdWJzdHJpbmcnIOlydOlrIHBlZGlnIGF6dCBqZWxlbnRpLCBob2d5IGEgcGFyYW5jc25hayBjc2FrICIKLQotI34gbXNnaWQgIlx0XHRtYXRjaCBhIHN1YnN0cmluZyBvZiB0aGUgam9iLiAgQW55IG90aGVyIHZhbHVlIG1lYW5zIHRoYXQiCi0jfiBtc2dzdHIgIiIKLSN+ICJcdFx0ZWd5IHLpc3plIGlzIGVsZWdlbmT1IGF6IGVneWV66XNoZXouTWluZGVuIGVneeliIOlydOlrIGF6dCBqZWxlbnRpLCIKLQotI34gbXNnaWQgIlx0XHR0aGUgY29tbWFuZCBtdXN0IGJlIGEgcHJlZml4IG9mIGEgc3RvcHBlZCBqb2IuIgotI34gbXNnc3RyICIiCi0jfiAiXHRcdCBob2d5IGEgcGFyYW5jcyBlbPV06XRlIGtlbGwgaG9neSBsZWd5ZW4gYSBsZWfhbGztdG90dCBtdW5rYWZvbHlhbWF0LiIKLQotI34gbXNnaWQgImNvbW1hbmRfb3JpZW50ZWRfaGlzdG9yeSIKLSN+IG1zZ3N0ciAiY29tbWFuZF9vcmllbnRlZF9oaXN0b3J5IgotCi0jfiBtc2dpZCAiIgotI34gIiAgICAgICAgICAgICAgICBOb24tbnVsbCBtZWFucyB0byBzYXZlIG11bHRpcGxlLWxpbmUgY29tbWFuZHMgdG9nZXRoZXIgb24iCi0jfiBtc2dzdHIgIiIKLSN+ICIgICAgICAgICAgICAgICBBIHbhbHRvevMga2l09mx06XNlIGF6dCBqZWxlbnRpLCBob2d5IHT2YmIgc29yb3MgIgotI34gInBhcmFuY3Nva2F0IgotCi0jfiBtc2dpZCAiICAgICAgICAgICAgICAgIGEgc2luZ2xlIGhpc3RvcnkgbGluZS4iCi0jfiBtc2dzdHIgIiAgICAgICAgICAgICAgZWd5IHNvcmJhIHJha2phIGF6IGVs9Xpt6W55ZWsga/Z66S4iCi0KLSN+IG1zZ2lkICJoaXN0Y2hhcnMgICAgICAgQ2hhcmFjdGVycyBjb250cm9sbGluZyBoaXN0b3J5IGV4cGFuc2lvbiBhbmQgcXVpY2siCi0jfiBtc2dzdHIgIiIKLSN+ICJoaXN0Y2hhcnMgICAgICAgRXpla2tlbCBhIGthcmFrdGVyZWtrZWwgYmVmb2x54XNvbGhhdPMgYXogZWz1em3pbnllayBneW9ycyIKLQotI34gbXNnaWQgIlx0XHRzdWJzdGl0dXRpb24uICBUaGUgZmlyc3QgY2hhcmFjdGVyIGlzIHRoZSBoaXN0b3J5IgotI34gbXNnc3RyICJcdFx0YmVoZWx5ZXR0ZXPtdOlzZS4gQXogZWz1em3pbnllayBlbHP1IGthcmFrdGVycmUiCi0KLSN+IG1zZ2lkICJcdFx0c3Vic3RpdHV0aW9uIGNoYXJhY3RlciwgdXN1YWxseSBgIScuICBUaGUgc2Vjb25kIGlzIgotI34gbXNnc3RyICJcdFx0YSBiZWhlbHlldHRlc+109SBrYXJha3RlciDhbHRhbOFiYW4gJyEnLiBBIG3hc29kaWsiCi0KLSN+IG1zZ2lkICJcdFx0dGhlIGBxdWljayBzdWJzdGl0dXRpb24nIGNoYXJhY3RlciwgdXN1YWxseSBgXicuICBUaGUiCi0jfiBtc2dzdHIgIlx0XHRhIGd5b3JzIGJlaGVseWV0dGVz7XTpc3QgamVsZW50aSDhbHRhbOFiYW4gYF4nIGplbGVudGkuIEEiCi0KLSN+IG1zZ2lkICJcdFx0dGhpcmQgaXMgdGhlIGBoaXN0b3J5IGNvbW1lbnQnIGNoYXJhY3RlciwgdXN1YWxseSBgIycuIgotI34gbXNnc3RyICJcdFx0aGFybWFkaWsgYSBlbPV6belueWVrIG1lZ2plZ3l66XMga2FyYWt0ZXJyZSDhbHRhbOFiYW4gJyMnLiIKLQotI34gbXNnaWQgIkhJU1RDT05UUk9MXHRTZXQgdG8gYSB2YWx1ZSBvZiBgaWdub3Jlc3BhY2UnLCBpdCBtZWFucyBkb24ndCBlbnRlciIKLSN+IG1zZ3N0ciAiSElTVENPTlRST0xcdEEgduFsdG968yBgaWdub3Jlc3BhY2UnIOlydOlrZSBhenQgamVsZW50aSwgaG9neSIKLQotI34gbXNnaWQgIlx0XHRsaW5lcyB3aGljaCBiZWdpbiB3aXRoIGEgc3BhY2Ugb3IgdGFiIG9uIHRoZSBoaXN0b3J5IgotI34gbXNnc3RyICIiCi0jfiAiXHRcdGF6b2thdCBhIHNvcm9rYXQgYW1lbHllayBoZWx5amVsbGVsIHZhZ3kgdGFidWzhdG9ycmFsIGtlemT1ZG5layAiCi0jfiAia2loYWd5amEgYXoiCi0KLSN+IG1zZ2lkICJcdFx0bGlzdC4gIFNldCB0byBhIHZhbHVlIG9mIGBpZ25vcmVkdXBzJywgaXQgbWVhbnMgZG9uJ3QiCi0jfiBtc2dzdHIgIlx0XHRlbPV6belueWVrIGv2evxsLkF6IGBpZ25vcmVkdXBzJyBqZWxlbnTpc2UiCi0KLSN+IG1zZ2lkICJcdFx0ZW50ZXIgbGluZXMgd2hpY2ggbWF0Y2ggdGhlIGxhc3QgZW50ZXJlZCBsaW5lLiAgU2V0IHRvIgotI34gbXNnc3RyICJcdFx0aGEgYSBiZe1ydCBzb3IgYXpvbm9zIGF6IGVs9Xr1dmVsIGFra29yIG5lbSBy9md67XRpLkhhICIKLQotI34gbXNnaWQgIlx0XHRgaWdub3JlYm90aCcgbWVhbnMgdG8gY29tYmluZSB0aGUgdHdvIG9wdGlvbnMuICBVbnNldCwiCi0jfiBtc2dzdHIgIiIKLSN+ICJcdFx0YGlnbm9yZWJvdGgnLXJhIOFsbO10anVrIGJlIGFra29yIGEga+l0IHR1bGFqZG9uc+Fnb3Qg9nR29nppLiIKLSN+ICJMZeFsbO104XNhIgotCi0jfiBtc2dpZCAiXHRcdG9yIHNldCB0byBhbnkgb3RoZXIgdmFsdWUgdGhhbiB0aG9zZSBhYm92ZSBtZWFucyB0byBzYXZlIgotI34gbXNnc3RyICJcdFx0dmFneSBt4XIgaGEg6XJ06WtyZSDhbGztdGp1ayBiZSBha2tvciBhIG1lbnTpcyBzb3LhbiIKLQotI34gbXNnaWQgIlx0XHRhbGwgbGluZXMgb24gdGhlIGhpc3RvcnkgbGlzdC4iCi0jfiBtc2dzdHIgIlx0XHRtaW5kZW4gc29yIGJlbGUga2Vy/GwgYXogZWz1em3pbnllayBr9nrpLiIKLQotI34gbXNnaWQgIlRvZ2dsZSB0aGUgdmFsdWVzIG9mIHZhcmlhYmxlcyBjb250cm9sbGluZyBvcHRpb25hbCBiZWhhdmlvci4iCi0jfiBtc2dzdHIgIkEgduFsdG96b2sg6XJ06WtlaXZlbCBzemFi4Wx5b3poYXRqdWsgYXogb3BjafNrIHZpc2Vsa2Vk6XPpdC4iCi0KLSN+IG1zZ2lkICJUaGUgLXMgZmxhZyBtZWFucyB0byBlbmFibGUgKHNldCkgZWFjaCBPUFROQU1FOyB0aGUgLXUgZmxhZyIKLSN+IG1zZ3N0ciAiQSAnLXMnLWVsIGVuZ2Vk6Wx5ZXpoZXRq/GsgYXog9nNzemVzIE9QVE5FVkV0LCBhICctdSctdmFsIHBlZGlnIgotCi0jfiBtc2dpZCAidW5zZXRzIGVhY2ggT1BUTkFNRS4gIFRoZSAtcSBmbGFnIHN1cHByZXNzZXMgb3V0cHV0OyB0aGUgZXhpdCIKLSN+IG1zZ3N0ciAibGV0aWx0aGF0anVrIPVrZXQuIEEgJy1xJyBvcGNp83ZhbCBhIGtpbWVuZXRldCBsZXRpbHRoYXRqdWsgZWwg7Wd5IgotCi0jfiBtc2dpZCAic3RhdHVzIGluZGljYXRlcyB3aGV0aGVyIGVhY2ggT1BUTkFNRSBpcyBzZXQgb3IgdW5zZXQuICBUaGUgLW8iCi0jfiBtc2dzdHIgImNzYWsgYSB2aXNzemF06XLpc2kg6XJ06WtlayBqZWx6aWsgYXogT1BUTkVWRWsg4WxsYXBvdOF0LiBBICctbyciCi0KLSN+IG1zZ2lkICJvcHRpb24gcmVzdHJpY3RzIHRoZSBPUFROQU1FcyB0byB0aG9zZSBkZWZpbmVkIGZvciB1c2Ugd2l0aCIKLSN+IG1zZ3N0ciAib3BjafN2YWwgcvZneu10aGV0aSBhIE9QVE5FVkVLLWV0IGV6ZWtldCBhIG1lZ2hhdOFyb3rhc29rYXQiCi0KLSN+IG1zZ2lkICJgc2V0IC1vJy4gIFdpdGggbm8gb3B0aW9ucywgb3Igd2l0aCB0aGUgLXAgb3B0aW9uLCBhIGxpc3Qgb2YgYWxsIgotI34gbXNnc3RyICIiCi0jfiAiYSAnc2V0IC1vJyBoYXN6buFsaGF0anVrLiBPcGNp82sgbulsa/xsIHZhZ3kgYSAncCcgb3BjafMga2lsaXN04Xp6YSBheiAiCi0jfiAi9nNzemVzIgotCi0jfiBtc2dpZCAic2V0dGFibGUgb3B0aW9ucyBpcyBkaXNwbGF5ZWQsIHdpdGggYW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIG9yIgotI34gbXNnc3RyICJiZeFsbO10aGF08yBvcGNp83QgamVsZXp2ZSBhem9rYXQgYW1payBt4XIgYmUgdmFubmFrIOFsbO10dmEg6XMiCi0KLSN+IG1zZ2lkICJub3QgZWFjaCBpcyBzZXQuIgotI34gbXNnc3RyICJhem9rYXQgYW1payBuaW5jc2VuZWsgYmXhbGztdHZhLiIKKyN+ICIga2lmZWplesOpc3NlbCB0w6lyIHZpc3N6YS4gRXogYXogYWRhdCBzdGFjayB0cmFjZSBracOtcsOhc8OhaG96XG4iCisjfiAiICAgIGxlaGV0IGhhc3pub3MuXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBBeiBFWFBSIMOpcnTDqWtlIGF6dCBhZGphIG1lZywgaG9neSBhIGplbGVubGVnaWhleiBrw6lwZXN0IG1pbHllbiAiCisjfiAibcOpbHlyZVxuIgorI34gIiAgICBsw6lwamVuIHZpc3N6YTsgYSB2ZXJlbSB0ZXRlasOpbiBhIDAtcyBrZXJldCB2YW4uIgpkaWZmIC0tZ2l0IGEvcG8vaWQuZ21vIGIvcG8vaWQuZ21vCmluZGV4IDUzZGY2YWQuLmQ4ZDgwYzggMTAwNjQ0Ci0tLSBhL3BvL2lkLmdtbworKysgYi9wby9pZC5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vaWQucG8gYi9wby9pZC5wbwppbmRleCA0MDg0ODQyLi5hYWEwZTVmIDEwMDY0NAotLS0gYS9wby9pZC5wbworKysgYi9wby9pZC5wbwpAQCAtMSwxNCArMSwxNCBAQAogIyBQZXNhbiBCYWhhc2EgSW5kb25lc2lhIHVudHVrIGJhc2gKICMgQ29weXJpZ2h0IChDKSAyMDA4IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgotIyBBcmlmIEUuIE51Z3JvaG8gPGFyaWZfZW5kcm9AeWFob28uY29tPiwgMjAwOCwgMjAwOS4KKyMgQXJpZiBFLiBOdWdyb2hvIDxhcmlmX2VuZHJvQHlhaG9vLmNvbT4sIDIwMDgsIDIwMDksIDIwMTAuCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMFxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCA0LjFcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDMtMjEgMTE6NDArMDcwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDExLTAxLTI4IDIyOjA5LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEwLTAxLTE2IDEyOjQ1KzA3MDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEFyaWYgRS4gTnVncm9obyA8YXJpZl9lbmRyb0B5YWhvby5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogSW5kb25lc2lhbiA8dHJhbnNsYXRpb24tdGVhbS1pZEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCiAiTUlNRS1WZXJzaW9uOiAxLjBcbiIKQEAgLTIwLDcgKzIwLDcgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJhcnJheSBzdWJzY3JpcHQgYnVydWsiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5ndWJhaCBpbmRleCBrZSBhcnJheSB5YW5nIGJlcmFzc29zaWFzaSIKQEAgLTQwLDM0ICs0MCwzNCBAQAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIlczogJXM6IGhhcnVzIG1lbmdndW5ha2FuIHN1YnNjcmlwdCBrZXRpa2EgbWVtYmVyaWthbiBhc3Nvc2lhc2kgYXJyYXkiCiAKLSM6IGJhc2hoaXN0LmM6MzgzCisjOiBiYXNoaGlzdC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1idWF0OiAlcyIKIAotIzogYmFzaGxpbmUuYzozNDU3CisjOiBiYXNobGluZS5jOjM0OTgKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiBtc2dzdHIgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiBrZXltYXAgdW50dWsgcGVyaW50YWgiCiAKLSM6IGJhc2hsaW5lLmM6MzU0MworIzogYmFzaGxpbmUuYzozNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiBidWthbiBrYXJha3RlciB3aGl0ZXNwYWNlIChzcGFzaSkgcGVydGFtYSBkaXRlbXVrYW4gYFwiJyIKIAotIzogYmFzaGxpbmUuYzozNTcyCisjOiBiYXNobGluZS5jOjM2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICJ0aWRhayBtZW51dHVwICclYycgZGFsYW0gJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzYwNgorIzogYmFzaGxpbmUuYzozNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXM6IGhpbGFuZyBwZW1pc2FoIGNvbG9uIgogCiAjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgotbXNnc3RyICInJXMnOiBuYW1hIGtleW1hcCB0aWRhayB2YWxpZCIKK21zZ3N0ciAiYCVzJzogbmFtYSBhbGlhcyB0aWRhayB2YWxpZCIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKQEAgLTEyMSwyNiArMTIxLDExIEBACiAiICAgIFxuIgogIiAgICBUYW5wYSBFWFBSLCBrZW1iYWxpICIKIAotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKLW1zZ2lkICIiCi0iLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCi0iICAgICIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgotbXNnaWQgIiIKLSI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKLSIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgotIiAgICBcbiIKLSIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgotIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jZC5kZWY6MjE1CisjOiBidWlsdGlucy9jZC5kZWY6MjM1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICJIT01FIHRpZGFrIGRpc2V0IgogCi0jOiBidWlsdGlucy9jZC5kZWY6MjI3CisjOiBidWlsdGlucy9jZC5kZWY6MjQ3CiBtc2dpZCAiT0xEUFdEIG5vdCBzZXQiCiBtc2dzdHIgIk9MRFBXRCB0aWRhayBkaXNldCIKIApAQCAtMTU5LDExICsxNDQsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiJXM6IHBlbmdndW5hYW46ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJ0ZXJsYWx1IGJhbnlhayBhcmd1bWVuIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogcGlsaWhhbiBtZW1idXR1aGthbiBzZWJ1YWggYXJndW1lbiIKQEAgLTIwMSw3ICsxODYsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAibm9tb3IgaGV4YSB0aWRhayB2YWxpZCIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAibm9tb3IgdGlkYWsgdmFsaWQiCiAKQEAgLTMxMiwyNSArMjk3LDI1IEBACiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAic2FhdCBpbmkgc2VkYW5nIHRpZGFrIG1lbmphbGFua2FuIGZ1bmdzaSBjb21wbGV0aW9uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjIKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAiaGFueWEgZGFwYXQgZGlndW5ha2FuIGRhbGFtIHNlYnVhaCBmdW5nc2kiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY2CiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5nZ3VuYWthbiBgLWYnIHVudHVrIG1lbWJ1YXQgZnVuZ3NpIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzggZXhlY3V0ZV9jbWQuYzo1MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6IGZ1bmdzaSBiYWNhLXNhamEiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5naGFwdXMgdmFyaWFiZWwgYXJyYXkgc2VjYXJhIGluaSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5ndWJhaCBhc3Nvc2lhc2kga2UgYXJyYXkgaW5kZXgiCkBAIC0zNTksMjkgKzM0NCwyOSBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmdoYXB1czogJXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKLSM6IHNoZWxsLmM6MTQ1MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzUgYnVpbHRpbnMvaGFzaC5kZWY6MTcxIGV4ZWN1dGVfY21kLmM6NDk2MQorIzogc2hlbGwuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6IGJ1a2FuIHNlYnVhaCBkaXJla3RvcmkiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlczogYnVrYW4gc2VidWFoIGZpbGUgdW11bSIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDcKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiJXM6IGZpbGUgdGVybGFsdSBiZXNhciIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0Ci0jOiBzaGVsbC5jOjE0NjIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTgyIGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAwIGV4ZWN1dGVfY21kLmM6NTAzMgorIzogc2hlbGwuYzoxNDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmphbGFua2FuIGJlcmthcyBiaW5hcnkiCiAKLSM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgorIzogYnVpbHRpbnMvZXhlYy5kZWY6MTU0IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NiBidWlsdGlucy9leGVjLmRlZjoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlOiAlcyIKIG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmphbGFua2FuOiAlcyIKQEAgLTQwOSwxMSArMzk0LDExIEBACiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAicGVyaW50YWggdGlkYWsgZGl0ZW11a2FuIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQ5CisjOiBidWlsdGlucy9mYy5kZWY6MzEyIGJ1aWx0aW5zL2ZjLmRlZjozNTkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgInNwZXNpZmlrYXNpIHNlamFyYWgiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1idWthIGZpbGUgc2VtZW50YXJhOiAlcyIKQEAgLTQ0Niw3ICs0MzEsNyBAQAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCiBtc2dzdHIgIiVzOiB0YWJlbCBoYXNoIGtvc29uZ1xuIgogCi0jOiBidWlsdGlucy9oYXNoLmRlZjoyNDQKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJoaXRzXHRjb21tYW5kXG4iCiBtc2dzdHIgInRla2FuXHRwZXJpbnRhaFxuIgpAQCAtNTE2LDc2ICs1MDEsODYgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICJ0aWRhayBhZGEgcGlsaWhhbiBsYWluIHlhbmcgZGlwZXJib2xlaGthbiBkZW5nYW4gYC14JyIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCisjOiBidWlsdGlucy9raWxsLmRlZjoxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiJXM6IGFyZ3VtZW4gaGFydXMgZGlwcm9zZXMgYXRhdSBJRCBwZWtlcmphYW4iCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MworIzogYnVpbHRpbnMva2lsbC5kZWY6MjYxCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiS2VzYWxhaGFuIHRpZGFrIGRpa2V0YWh1aSIKIAotIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTAxIGV4cHIuYzo1MTYKKyM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjU1MiBleHByLmM6NTY3CiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiZGlkdWdhIHNlYnVhaCBla3NwcmVzaSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCi1tc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggdmFyaWFiZWwgYXJyYXkiCittc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggaW5kZWtzIGFycmF5IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTYgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogc3Blc2lmaWthc2kgZmlsZSBkZXNrcmlwc2kgdGlkYWsgdmFsaWQiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NCBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiJWQ6IGZpbGUgZGVza3JpcHRvciAlcyB0aWRhayB2YWxpZCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjczIGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlczoganVtbGFoIGJhcmlzIHRpZGFrIHZhbGlkIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBhc2FsIGFycmF5IHRpZGFrIHZhbGlkIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogbmFtYSBha3NpIHRpZGFrIHZhbGlkIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIm5hbWEgdmFyaWFiZWwgYXJyYXkga29zb25nIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM1NAogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgImJhbnR1YW4gYXJyYXkgdmFyaWFiZWwgZGlidXR1aGthbiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiYCVzJzogaGlsYW5nIGthcmFrdGVyIGZvcm1hdCIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiBzcGVzaWZpa2FzaSB0aW1lb3V0IHRpZGFrIHZhbGlkIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImAlYyc6IGthcmFrdGVyIGZvcm1hdCB0aWRhayB2YWxpZCIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAicGVyaW5nYXRhbjogJXM6ICVzIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NDAKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICJoaWxhbmcgZGlnaXQgaGV4YSB1bnR1ayBcXHgiCiAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIHVuaWNvZGUgZGlnaXQgZm9yIFxcJWMiCittc2dzdHIgImhpbGFuZyBkaWdpdCBoZXhhIHVudHVrIFxceCIKKwogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQogbXNnaWQgIm5vIG90aGVyIGRpcmVjdG9yeSIKIG1zZ3N0ciAidGlkYWsgYWRhIGRpcmVrdG9yaSBsYWluIgpAQCAtNzQ0LDIxICs3MzksMjEgQEAKIG1zZ2lkICJjYW4gb25seSBgcmV0dXJuJyBmcm9tIGEgZnVuY3Rpb24gb3Igc291cmNlZCBzY3JpcHQiCiBtc2dzdHIgImhhbnlhIGRhcGF0IGByZXR1cm4nIGRhcmkgc2VidWFoIGZ1bmdzaSBhdGF1IHNjcmlwdCB5YW5nIGRpc291cmNlIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjc2OAorIzogYnVpbHRpbnMvc2V0LmRlZjo3NzEKIG1zZ2lkICJjYW5ub3Qgc2ltdWx0YW5lb3VzbHkgdW5zZXQgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSIKIG1zZ3N0ciAidGlkYWsgZGFwYXQgc2VjYXJhIHNpbXVsdGFuIHVuc2V0IHNlYnVhaCBmdW5nc2kgZGFuIHNlYnVhaCB2YXJpYWJsZSIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MDUKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQiCiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCB1bnNldCIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MTIKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgogbXNnc3RyICIlczogdGlkYWsgZGFwYXQgdW5zZXQ6IGJhY2Etc2FqYSAlcyIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MjMKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggdmFyaWFiZWwgYXJyYXkiCkBAIC03NzIsMjAgKzc2NywyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJzaGlmdCB0ZXJoaXR1bmciCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5zZXQgZGFuIG1lbnVuc2V0IHBpbGloYW4gc2hlbGwgc2VjYXJhIGJlcnNhbWFhbiIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IG5hbWEgcGlsaWhhbiBzaGVsbCB0aWRhayB2YWxpZCIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiBtc2dzdHIgImFyZ3VtZW4gbmFtYSBmaWxlIGRpYnV0dWhrYW4iCiAKLSM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTUzCisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBiZXJrYXMgdGlkYWsgZGl0ZW11a2FuIgpAQCAtODI4LDI2ICs4MjMsMjYgQEAKIG1zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgogbXNnc3RyICIlcyBtZW1pbGlraSBoYXNoICglcylcbiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzIKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbWl0IGFyZ3VtZW50IgogbXNnc3RyICIlczogYXJndW1lbiBsaW1pdCB0aWRhayB2YWxpZCIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozOTgKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGJhZCBjb21tYW5kIgogbXNnc3RyICJgJWMnOiBwZXJpbnRhaCBidXJ1ayIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IGdldCBsaW1pdDogJXMiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDUzCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ1NwogbXNnaWQgImxpbWl0IgogbXNnc3RyICJiYXRhcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbW9kaWZpa2FzaSBiYXRhczogJXMiCkBAIC05MDMsMTA2ICs4OTgsMTExIEBACiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ2lkICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKIG1zZ3N0ciAia2VoYWJpc2FuIHdha3R1IG1lbnVuZ2d1IG1hc3VrYW46IG90b21hdGlzLWtlbHVhclxuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NworIzogZXhlY3V0ZV9jbWQuYzo1MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVueWFsdXJrYW4gbWFzdWthbiBzdGFuZGFyIGRhcmkgL2Rldi9udWxsOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTYyCisjOiBleGVjdXRlX2NtZC5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJUSU1FRk9STUFUOiBgJWMnOiBrYXJha3RlciBmb3JtYXQgdGlkYWsgdmFsaWQiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjA3NQorIzogZXhlY3V0ZV9jbWQuYzoyMTIxCiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAicGlwZSBlcnJvciIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDgxCisjOiBleGVjdXRlX2NtZC5jOjQ2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIiCiAiJXM6IGRpYmF0YXNpOiB0aWRhayBkYXBhdCBtZW5zcGVzaWZpa2FzaWthbiAnLycgZGFsYW0gbmFtYSBuYW1hIHBlcmludGFoIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ1NzIKKyM6IGV4ZWN1dGVfY21kLmM6NDczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBwZXJpbnRhaCB0aWRhayBkaXRlbXVrYW4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMiCittc2dzdHIgIiVzIGFkYWxhaCAlc1xuIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiAlczogaW50ZXJwcmV0ZXIgYnVydWsiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3NgorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbmR1cGxpa2FzaWthbiBmZCAlZCBrZSBmZCAlZCIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICJleHByZXNpIGxldmVsIHJla3Vyc2kgdGVybGV3YXRpIgogCi0jOiBleHByLmM6MjY1CisjOiBleHByLmM6MjgwCiBtc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAicmVrdXJzaSBzdGFjayB1bmRlcmZsb3ciCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKIG1zZ3N0ciAic3ludGF4IGVycm9yIGRhbGFtIGV4cHJlc2kiCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgIm1lbmNvYmEgbWVuZW1wYXRrYW4ga2UgYnVrYW4gc2VidWFoIHZhcmlhYmVsIgogCi0jOiBleHByLmM6NDQwIGV4cHIuYzo0NDUgZXhwci5jOjc1NgorIzogZXhwci5jOjQ4NiBleHByLmM6NDkxIGV4cHIuYzo4MDcKIG1zZ2lkICJkaXZpc2lvbiBieSAwIgogbXNnc3RyICJkaWJhZ2kgb2xlaCAwIgogCi0jOiBleHByLmM6NDcxCisjOiBleHByLmM6NTE3CiBtc2dpZCAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuIgogbXNnc3RyICJidWc6IHRhbmRhIGV4cGFzc2lnbiBidXJ1ayIKIAotIzogZXhwci5jOjUxMworIzogZXhwci5jOjU2NAogbXNnaWQgImA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiYDonIGRpaGFyYXBrYW4gdW50dWsgc2VidWFoIHBlcm55YXRhYW4ga29uZGlzaW9uYWwiCiAKLSM6IGV4cHIuYzo3ODEKKyM6IGV4cHIuYzo4MzIKIG1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKIG1zZ3N0ciAiZWtzcG9uZW4ga3VyYW5nIGRhcmkgMCIKIAotIzogZXhwci5jOjgyNgorIzogZXhwci5jOjg4NwogbXNnaWQgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgogbXNnc3RyICJpZGVuZmllciBkaWhhcmFwa2FuIHNldGVsYWggcHJlLWluY3JlbWVudCBhdGF1IHByZS1kZWNyZW1lbnQiCiAKLSM6IGV4cHIuYzo4NTQKKyM6IGV4cHIuYzo5MTAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAiaGlsYW5nIGApJyIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgorIzogZXhwci5jOjk1OSBleHByLmM6MTI4MgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAic3ludGF4IGVycm9yOiBvcGVyYW5kIGRpaGFyYXBrYW4iCiAKLSM6IGV4cHIuYzoxMTc4CisjOiBleHByLmM6MTI4NAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICJzeW50YXggZXJyb3I6IG9wZXJhdG9yIGFyaXRobWV0aWMgdGlkYWsgdmFsaWQiCiAKLSM6IGV4cHIuYzoxMjAyCisjOiBleHByLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBhZGFsYWggXCIlc1wiKSIKIAotIzogZXhwci5jOjEyNjAKKyM6IGV4cHIuYzoxMzY2CiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgImJhc2lzIGFyaXRobWV0aWMgdGlkYWsgdmFsaWQiCiAKLSM6IGV4cHIuYzoxMjgwCisjOiBleHByLmM6MTM4NgogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAibmlsYWkgdGVybGFsdSBiZXNhciB1bnR1ayBiYXNpcyIKIAotIzogZXhwci5jOjEzMjkKKyM6IGV4cHIuYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiVzOiBleHByZXNpIGVycm9yXG4iCkBAIC0xMDExLDE2NSArMTAxMSwxNjUgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXRjd2Q6IHRpZGFrIGRhcGF0IG1lbmdha3NlcyBkaXJla3Rvcmkgb3JhbmcgdHVhIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NworIzogaW5wdXQuYzo5NCBzdWJzdC5jOjUwODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lcmVzZXQgbW9kZSBub2RlbGF5IHVudHVrIGZkICVkIgogCi0jOiBpbnB1dC5jOjI1OAorIzogaW5wdXQuYzoyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKIG1zZ3N0ciAiIgogInRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuIGJlcmthcyBkZXNrcmlwc2kgYmFyaSB1bnR1ayBtYXN1a2FuIGJhc2ggZGFyaSBmZCAlIgogImQiCiAKLSM6IGlucHV0LmM6MjY2CisjOiBpbnB1dC5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgogbXNnc3RyICJzaW1wYW4gYmFzaF9pbnB1dDogYnVmZmVyIHRlbGFoIGFkYSB1bnR1ayBmZCAlZCBiYXJ1IgogCi0jOiBqb2JzLmM6NDY2CisjOiBqb2JzLmM6NDY4CiBtc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIG1zZ3N0ciAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIAotIzogam9icy5jOjg4NworIzogam9icy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JrZWQgcGlkICVkIGFwcGVhcnMgaW4gcnVubmluZyBqb2IgJWQiCiBtc2dzdHIgImZvcmtlZCBwaWQgJWQgdGVybGloYXQgZGFsYW0gcGVrZXJqYWFuIHlhbmcgc2VkYW5nIGJlcmphbGFuICVkIgogCi0jOiBqb2JzLmM6MTAwNQorIzogam9icy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKIG1zZ3N0ciAibWVuZ2hhcHVzIHBla2VyamFhbiB5YW5nIHRlcmhlbnRpICVkIGRlbmdhbiBwcm9zZXMgZ3J1cCAlbGQiCiAKLSM6IGpvYnMuYzoxMTEwCisjOiBqb2JzLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgogbXNnc3RyICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgZGFsYW0gdGhlX3BpcGVsaW5lIgogCi0jOiBqb2JzLmM6MTExMworIzogam9icy5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgogbXNnc3RyICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBkaXRhbmRhaSBkZW5nYW4gdGV0YXAgaGlkdXAiCiAKLSM6IGpvYnMuYzoxNDAxCisjOiBqb2JzLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCiBtc2dzdHIgImRlc2NyaWJlX3BpZDogJWxkOiB0aWRhayBhZGEgcGlkIHNlcGVydGkgaXR1IgogCi0jOiBqb2JzLmM6MTQxNgorIzogam9icy5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2lnbmFsICVkIgogbXNnc3RyICJzaW55YWwgJWQiCiAKLSM6IGpvYnMuYzoxNDMwIGpvYnMuYzoxNDU1CisjOiBqb2JzLmM6MTQ1OSBqb2JzLmM6MTQ4NAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIlNlbGVzYWkiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJUZXJoZW50aSIKIAotIzogam9icy5jOjE0MzkKKyM6IGpvYnMuYzoxNDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQoJXMpIgogbXNnc3RyICJUZXJoZW50aSglcykiCiAKLSM6IGpvYnMuYzoxNDQzCisjOiBqb2JzLmM6MTQ3MgogbXNnaWQgIlJ1bm5pbmciCiBtc2dzdHIgIkJlcmphbGFuIgogCi0jOiBqb2JzLmM6MTQ1NworIzogam9icy5jOjE0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCiBtc2dzdHIgIlNlbGVzYWkoJWQpIgogCi0jOiBqb2JzLmM6MTQ1OQorIzogam9icy5jOjE0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhpdCAlZCIKIG1zZ3N0ciAiS2VsdWFyICVkIgogCi0jOiBqb2JzLmM6MTQ2MgorIzogam9icy5jOjE0OTEKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKIG1zZ3N0ciAiU3RhdHVzIHRpZGFrIGRpa2V0YWh1aSIKIAotIzogam9icy5jOjE1NDkKKyM6IGpvYnMuYzoxNTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihjb3JlIGR1bXBlZCkgIgogbXNnc3RyICIoY29yZSBkaWR1bXApICIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiAgKHdkOiAlcykiCiAKLSM6IGpvYnMuYzoxNzc2CisjOiBqb2JzLmM6MTgwNQogIywgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAiYW5hayBzZXRwZ2lkICglbGQga2UgJWxkKSIKIAotIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEzMyBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICJ3YWl0OiBwaWQgJWxkIGJ1a2FuIHNlYnVhaCBhbmFrIGRhcmkgc2hlbGwgaW5pIgogCi0jOiBqb2JzLmM6MjMzMQorIzogam9icy5jOjIzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IFRpZGFrIGFkYSBjYXRhdGFuIHVudHVrIHByb3NlcyAlbGQiCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IHBla2VyamFhbiAlZCB0ZXJoZW50aSIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiBwZWtlcmphYW4gdGVsYWggc2VsZXNhaSIKIAotIzogam9icy5jOjI4MzgKKyM6IGpvYnMuYzoyODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIlczogcGVrZXJqYWFuICVkIHN1ZGFoIGJlcmphbGFuIGRpIGJlbGFrYW5nIChiYWNrZ3JvdW5kKSIKIAotIzogam9icy5jOjMwNTkKKyM6IGpvYnMuYzozMDg5CiBtc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgotbXNnc3RyICIiCittc2dzdHIgIndhaXRjaGxkOiBtZW5nYWt0aWZrYW4gV05PSEFORyB1bnR1ayBtZW5naGluZGFyaSBibG9rIHRhayB0ZXJoaW5nZ2EiCiAKLSM6IGpvYnMuYzozNTA4CisjOiBqb2JzLmM6MzUzOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlczogYmFyaXMgJWQ6ICIKIAotIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiAoY29yZSBkaWR1bXApIgogCi0jOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NworIzogam9icy5jOjM1NjQgam9icy5jOjM1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIih3ZCBzZWthcmFuZzogJXMpXG4iCiAKLSM6IGpvYnMuYzozNTc5CisjOiBqb2JzLmM6MzYwOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGdhZ2FsIgogCi0jOiBqb2JzLmM6MzYzOQorIzogam9icy5jOjM2NjkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGJhcmlzIGRpc2lwbGluIgogCi0jOiBqb2JzLmM6MzY0OQorIzogam9icy5jOjM2NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogCi0jOiBqb2JzLmM6MzY3NworIzogam9icy5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbnNldCB0ZXJtaW5hbCBwcm9zZXMgZ3J1cCAoJWQpIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJ0aWRhayBhZGEgcGVuZ29udHJvbCBwZWtlcmphYW4gZGFsYW0gc2hlbGwgaW5pIgogCkBAIC0xMjY1LDIyICsxMjY1LDIyIEBACiAjOiBsb2NhbGUuYzoxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2V0bG9jYWxlOiBMQ19BTEw6IHRpZGFrIGRhcGF0IG1lbmd1YmFoIGxva2FsICglcykiCiAKICM6IGxvY2FsZS5jOjE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2V0bG9jYWxlOiBMQ19BTEw6IHRpZGFrIGRhcGF0IG1lbmd1YmFoIGxvY2FsICglcyk6ICVzIgogCiAjOiBsb2NhbGUuYzoyNDcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IHRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuICVsdSBieXRlcyIKK21zZ3N0ciAic2V0bG9jYWxlOiAlczogdGlkYWsgZGFwYXQgbWVuZ3ViYWggbG9rYWwgKCVzKSIKIAogIzogbG9jYWxlLmM6MjQ5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCi1tc2dzdHIgInhyZWFsbG9jOiAlczolZDogdGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gJWx1IGJ5dGVzIgorbXNnc3RyICJzZXRsb2NhbGU6ICVzOiB0aWRhayBkYXBhdCBtZW5ndWJhaCBsb2thbCAoJXMpOiAlcyIKIAogIzogbWFpbGNoZWNrLmM6NDMzCiBtc2dpZCAiWW91IGhhdmUgbWFpbCBpbiAkXyIKQEAgLTEzMjQsOTkgKzEzMjQsOTkgQEAKIG1zZ2lkICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiBgJWQnIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAibWFrZV9yZWRpcmVjdGlvbjogaW5zdHJ1a3NpIHJlZGlyZWtzaSBgJWQnIGRpbHVhciBkYXJpIGphbmdrYXVhbiIKIAotIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQorIzogcGFyc2UueTozMTczIHBhcnNlLnk6MzQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICJFT0YgdGlkYWsgdGVyZHVnYSBrZXRpa2EgbWVuY2FyaSB1bnR1ayBwZW5jb2Nva2FuIGAlYyciCiAKLSM6IHBhcnNlLnk6Mzk1MQorIzogcGFyc2UueTo0MDI1CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiRU9GIHRpZGFrIHRlcmR1Z2Ega2V0aWthIG1lbmNhcmkgdW50dWsgYF1dJyIKIAotIzogcGFyc2UueTozOTU2CisjOiBwYXJzZS55OjQwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAic3ludGF4IGVycm9yIGRhbGFtIGVrc3ByZXNpIGtvbmRpc2lvbmFsOiB0YW5kYSBgJXMnIHRpZGFrIHRlcmR1Z2EiCiAKLSM6IHBhcnNlLnk6Mzk2MAorIzogcGFyc2UueTo0MDM0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgInN5bnRheCBlcnJvciBkYWxhbSBla3NwcmVzaSBrb25kaXNpb25hbCIKIAotIzogcGFyc2UueTo0MDM4CisjOiBwYXJzZS55OjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgInRhbmRhIGAlcycgdGlkYWsgdGVyZHVnYSwgZGlkdWdhIGApJyIKIAotIzogcGFyc2UueTo0MDQyCisjOiBwYXJzZS55OjQxMTYKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgImRpZHVnYSBgKSciCiAKLSM6IHBhcnNlLnk6NDA3MAorIzogcGFyc2UueTo0MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiYXJndW1lbiB0aWRhayB0ZXJkdWdhIGAlcycga2Ugb3BlcmF0b3Iga29uZGlzaW9uYWwgdW5hcnkiCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiYXJndW1lbiB0aWRhayB0ZXJkdWdhIHVudHVrIG9wZXJhc2kgdW5hcnkga29uZGlzaW9uYWwiCiAKLSM6IHBhcnNlLnk6NDEyMAorIzogcGFyc2UueTo0MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJ0YW5kYSBgJXMnIHRpZGFrIHRlcmR1Z2EsIG9wZXJhdG9yIGJpbmFyeSBrb25kaXNpb25hbCBkaWR1Z2EiCiAKLSM6IHBhcnNlLnk6NDEyNAorIzogcGFyc2UueTo0MTk4CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJvcGVyYXRvciBiaW5hcnkga29uZGlzaW9uYWwgZGlkdWdhIgogCi0jOiBwYXJzZS55OjQxNDYKKyM6IHBhcnNlLnk6NDIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJhcmd1bWVuIGAlcycgdGlkYWsgdGVyZHVnYSBrZSBvcGVyYXRvciBiaW5hcnkga29uZGlzaW9uYWwiCiAKLSM6IHBhcnNlLnk6NDE1MAorIzogcGFyc2UueTo0MjI0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgImFyZ3VtZW4gdGlkYWsgdGVyZHVnYSBrZSBvcGVyYXNpIGJpbmFyeSBrb25kaXNpb25hbCIKIAotIzogcGFyc2UueTo0MTYxCisjOiBwYXJzZS55OjQyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgInRhbmRhIGAlYycgdGlkYWsgdGVyZHVnYSBkYWxhbSBwZXJpbnRhaCBrb25kaXNpb25hbCIKIAotIzogcGFyc2UueTo0MTY0CisjOiBwYXJzZS55OjQyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgInRhbmRhIGAlcycgdGlkYWsgdGVyZHVnYSBkYWxhbSBwZXJpbnRhaCBrb25kaXNpb25hbCIKIAotIzogcGFyc2UueTo0MTY4CisjOiBwYXJzZS55OjQyNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJ0YW5kYSAlZCB0aWRhayB0ZXJkdWdhIGRhbGFtIHBlcmludGFoIGtvbmRpc2lvbmFsIgogCi0jOiBwYXJzZS55OjU0NTkKKyM6IHBhcnNlLnk6NTU2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgInN5bnRheCBlcnJvciBkaWRla2F0IHRhbmRhIGAlcycgeWFuZyB0aWRhayB0ZXJkdWdhIgogCi0jOiBwYXJzZS55OjU0NzcKKyM6IHBhcnNlLnk6NTU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICJzeW50YXggZXJyb3IgZGlkZWthdCBgJXMnIgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAic3ludGF4IGVycm9yOiB0aWRhayB0ZXJkdWdhIGRpYWtoaXIgZGFyaSBiZXJrYXMiCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICJzeW50YXggZXJyb3IiCiAKLSM6IHBhcnNlLnk6NTU0OQorIzogcGFyc2UueTo1NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJHdW5ha2FuIFwiJXNcIiB1bnR1ayBtZW5pbmdnYWxrYW4gc2hlbGwuXG4iCiAKLSM6IHBhcnNlLnk6NTcxMQorIzogcGFyc2UueTo1ODE4CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICJFT0YgdGlkYWsgdGVyZHVnYSBrZXRpa2EgbWVuY2FyaSB1bnR1ayBwZW5jb2Nva2FuICcpJyIKIApAQCAtMTQyNSw3NyArMTQyNSw3NyBAQAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICJjb21wbGV0aW9uOiBmdW5nc2kgYCVzJyB0aWRhayBkaXRlbXVrYW4iCiAKLSM6IHBjb21wbGliLmM6MTc5CisjOiBwY29tcGxpYi5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogCi0jOiBwcmludF9jbWQuYzoyOTAKKyM6IHByaW50X2NtZC5jOjI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IGtvbmVrdG9yIGJ1cnVrIGAlZCciCiAKLSM6IHByaW50X2NtZC5jOjM2MwotIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgotbXNnc3RyICIlZDogZmlsZSBkZXNrcmlwdG9yICVzIHRpZGFrIHZhbGlkIgotCiAjOiBwcmludF9jbWQuYzozNjgKLW1zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKLW1zZ3N0ciAiIgorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgInh0cmFjZV9zZXQ6ICVkOiBiZXJrYXMgcGVuZGVza3JpcHNpIHRpZGFrIHZhbGlkIgogCi0jOiBwcmludF9jbWQuYzozNzIKKyM6IHByaW50X2NtZC5jOjM3MworbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICJ4dHJhY2Vfc2V0OiBiZXJrYXMgcGVudW5qdWsgS09TT05HIgorCisjOiBwcmludF9jbWQuYzozNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgotbXNnc3RyICIiCittc2dzdHIgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKIAotIzogcHJpbnRfY21kLmM6MTQ2MQorIzogcHJpbnRfY21kLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImNwcmludGY6ICclYyc6IGZvcm1hdCBrYXJha3RlciB0aWRhayB2YWxpZCIKIAotIzogcmVkaXIuYzoxMTAKKyM6IHJlZGlyLmM6MTIyCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiYmVya2FzIGRlc2tyaXBzaSBkaWx1YXIgZGFyaSBqYW5na2F1YW4iCiAKLSM6IHJlZGlyLmM6MTY2CisjOiByZWRpci5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogcmVkaXJlY3QgYW1iaWd1IgogCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbnVsaXMgYmVya2FzIHlhbmcgc3VkYWggYWRhIgogCi0jOiByZWRpci5jOjE3NQorIzogcmVkaXIuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiByZXN0cmljdGVkOiB0aWRhayBkYXBhdCBtZXJlZGlyZWN0IGtlbHVhcmFuIgogCi0jOiByZWRpci5jOjE4MAorIzogcmVkaXIuYzoxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWF0IGJlcmthcyBzZW1lbnRhcmEgdW50dWsgZG9rdW1lbiBkaXNpbmk6ICVzIgogCi0jOiByZWRpci5jOjE4NAotIywgZnV6enksIGMtZm9ybWF0CisjOiByZWRpci5jOjE5NgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKLW1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmctYXNzaWduIGRhZnRhciBrZWRhbGFtIGFuZ2dveWEgYXJyYXkiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5nLSdhc3NpZ24nIGZkIGtlIHZhcmlhYmVsIgogCi0jOiByZWRpci5jOjU0NAorIzogcmVkaXIuYzo1NDgKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCB0aWRhayBkaWxheWFuaSB0YW5wYSBqYXJpbmdhbiIKIAotIzogcmVkaXIuYzoxMTAxCisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAicmVkaXJlY3Rpb24gZXJyb3I6IHRpZGFrIGRhcGF0IG1lbmR1cGxpa2FzaSBmZCIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzMzCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVtdWthbiAvdG1wLCB0b2xvbmcgYnVhdCEiCiAKLSM6IHNoZWxsLmM6MzM2CisjOiBzaGVsbC5jOjMzNwogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIvdG1wIGhhcnVzIGJlcnVwYSBzZWJ1YWggbmFtYSBkaXJla3RvcmkgeWFuZyB2YWxpZCIKIApAQCAtMTUwNCwxNiArMTUwNCwxNiBAQAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiBwaWxpaGFuIHRpZGFrIHZhbGlkIgogCi0jOiBzaGVsbC5jOjE2NTEKKyM6IHNoZWxsLmM6MTY1MgogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiQWt1IHRpZGFrIG1lbWlsaWtpIG5hbWEhIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSBiYXNoLCB2ZXJzaSAlcy0oJXMpXG4iCiAKLSM6IHNoZWxsLmM6MTc5NAorIzogc2hlbGwuYzoxNzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgpAQCAtMTUyMiw0MyArMTUyMiw0MyBAQAogIlBlbmdndW5hYW46XHQlcyBbR05VIHBpbGloYW4gcGFuamFuZ10gW3BpbGloYW5dIC4uLlxuIgogIlx0JXMgW0dOVSBwaWxpaGFuIHBhbmphbmddIFtwaWxpaGFuXSBiZXJrYXMtc2NyaXB0IC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3OTYKKyM6IHNoZWxsLmM6MTc5OAogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkdOVSBwaWxpaGFuIHBhbmphbmc6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiUGlsaWhhbiBzaGVsbDpcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MDMKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0QgYXRhdSAtYyBwZXJpbnRhaCBhdGF1IC1PIHNob3B0X29wdGlvblx0XHQoaGFueWEgcGVtYW5nZ2lsYW4pXG4iCiAKLSM6IHNoZWxsLmM6MTgxNgorIzogc2hlbGwuYzoxODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyBhdGF1IHBpbGloYW4gLW9cbiIKIAotIzogc2hlbGwuYzoxODIyCisjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgogbXNnc3RyICIiCiAiS2V0aWsgYCVzIC1jIFwiaGVscCBzZXRcIicgdW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBtZW5nZW5haSBwaWxpaGFuICIKICJzaGVsbC5cbiIKIAotIzogc2hlbGwuYzoxODIzCisjOiBzaGVsbC5jOjE4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIktldGlrIGAlcyAtYyBoZWxwJyB1bnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IG1lbmdlbmFpIHBlcmludGFoIGJ1aWx0aW5nICIKICJzaGVsbC5cbiIKIAotIzogc2hlbGwuYzoxODI0CisjOiBzaGVsbC5jOjE4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIHRoZSBgYmFzaGJ1ZycgY29tbWFuZCB0byByZXBvcnQgYnVncy5cbiIKIG1zZ3N0ciAiR3VuYWthbiBwZXJpbnRhaCAnYmFzaGJ1ZycgdW50dWsgbWVsYXBvcmthbiBidWdzLlxuIgogCi0jOiBzaWcuYzo2MjYKKyM6IHNpZy5jOjYzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJzaWdwcm9jbWFzazogJWQ6IGludmFsaWQgb3BlcmF0aW9uIgogbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IG9wZXJhc2kgdGlkYWsgdmFsaWQiCkBAIC0xNzMyLDgzICsxNzMyLDg1IEBACiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICJTaW55YWwgdGlkYWsgZGlrZXRhaHVpICMlZCIKIAotIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCiBtc2dzdHIgInN1YnN0aXR1c2kgYnVydWs6IHRpZGFrIGFkYSBwZW51dHVwYW4gYCVzJyBkYWxhbSAlcyIKIAotIzogc3Vic3QuYzoyNzM1CisjOiBzdWJzdC5jOjI3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5nLWFzc2lnbiBkYWZ0YXIga2VkYWxhbSBhbmdnb3lhIGFycmF5IgogCi0jOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCisjOiBzdWJzdC5jOjQ5Nzkgc3Vic3QuYzo0OTk1CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgcGlwZSB1bnR1ayBwcm9zZXMgc3Vic3RpdHVzaSIKIAotIzogc3Vic3QuYzo0ODAyCisjOiBzdWJzdC5jOjUwMjcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgYW5hayB1bnR1ayBwcm9zZXMgc3Vic3RpdHVzaSIKIAotIzogc3Vic3QuYzo0ODQ3CisjOiBzdWJzdC5jOjUwNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSBuYW1lZCBwaXBlICVzIHVudHVrIG1lbWJhY2EiCiAKLSM6IHN1YnN0LmM6NDg0OQorIzogc3Vic3QuYzo1MDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2FuIG5hbWVkIHBpcGUgJXMgdW50dWsgbWVudWxpcyIKIAotIzogc3Vic3QuYzo0ODY3CisjOiBzdWJzdC5jOjUwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5kdXBsaWthc2kgbmFtYSBwaXBlICVzIHNlYmFnYWkgZmQgJWQiCiAKLSM6IHN1YnN0LmM6NTA2MworIzogc3Vic3QuYzo1Mjg0CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgcGlwZSB1bnR1ayBwZXJpbnRhaCBzdWJzdGl0dXNpIgogCi0jOiBzdWJzdC5jOjUwOTcKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVhdCBhbmFrIHVudHVrIHBlcmludGFoIHN1YnN0aXR1c2kiCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlOiB0aWRhayBkYXBhdCBtZW5kdXBsaWthc2lrYW4gcGlwZSBzZWJhZ2kgZmQgMSIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBwYXJhbWV0ZXIga29zb25nIGF0YXUgdGlkYWsgZGlzZXQiCiAKLSM6IHN1YnN0LmM6NTkwNworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIlczogc3Vic3RyaW5nIGV4cHJlc2kgPCAwIgogCi0jOiBzdWJzdC5jOjY5NjUKKyM6IHN1YnN0LmM6NzI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiJXM6IHN1YnN0aXR1c2kgYnVydWsiCiAKLSM6IHN1YnN0LmM6NzA0NQorIzogc3Vic3QuYzo3MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiB0aWRhayBkYXBhdCBtZW5nLWFzc2lnbiBkZW5nYW4gY2FyYSBpbmkiCiAKLSM6IHN1YnN0LmM6NzM3NAorIzogc3Vic3QuYzo3Njg0CiBtc2dpZCAiIgogImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgogInN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgorInZlcnNpIHNlbGFuanV0bnlhIGRhcmkgc2hlbGwgYWthbiBtZW1ha3NhIGV2YWx1YXNpIGRhcmkgc2VidWFoIHBlbmdnYW50aWFuICIKKyJhcml0bWV0aWthIgogCi0jOiBzdWJzdC5jOjc4MzkKKyM6IHN1YnN0LmM6ODE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJzdWJzdGl0dXNpIGJ1cnVrOiB0aWRhayBhZGEgcGVudXR1cGFuIFwiXCIgZGFsYW0gJXMiCiAKLSM6IHN1YnN0LmM6ODcyMAorIzogc3Vic3QuYzo5MDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAidGlkYWsgY29jb2s6ICVzIgpAQCAtMTgzMSwzMCArMTgzMywzMCBAQAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCiBtc2dzdHIgImApJyBkaWR1Z2EsIGRpdGVtdWthbiAlcyIKIAotIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IG9wZXJhdG9yIHVuYXJ5IGRpZHVnYSIKIAotIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IG9wZXJhdG9yIGJpbmFyeSBkaWR1Z2EiCiAKLSM6IHRlc3QuYzo4MTEKKyM6IHRlc3QuYzo4MTYKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAiaGlsYW5nIGBdJyIKIAotIzogdHJhcC5jOjIwMworIzogdHJhcC5jOjIwNwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAibm9tb3Igc2lueWFsIHRpZGFrIHZhbGlkIgogCi0jOiB0cmFwLmM6MzI3CisjOiB0cmFwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiBuaWxhaSBidXJ1ayBkYWxhbSB0cmFwX2xpc3RbJWRdOiAlcCIKIAotIzogdHJhcC5jOjMzMQorIzogdHJhcC5jOjM0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKQEAgLTE4NjIsNyArMTg2NCw3IEBACiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpbnlhbCBoYW5kbGVyIGFkYWxhaCBTSUdfREZMLCBtZW5naXJpbWthbiBrZW1iYWxpICVkICglIgogInMpIGtlZGlyaSBzZW5kaXJpIgogCi0jOiB0cmFwLmM6MzgwCisjOiB0cmFwLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBzaW55YWwgYnVydWsgJWQiCkBAIC0xODcyLDYxICsxODc0LDYyIEBACiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgImVycm9yIG1lbmdpbXBvciBkZWZpbmlzaSBmdW5nc2kgdW50dWsgYCVzJyIKIAotIzogdmFyaWFibGVzLmM6NzQ4CisjOiB2YXJpYWJsZXMuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgImxldmVsIHNoZWxsICglZCkgdGVybGFsdSB0aW5nZ2ksIG1lcmVzZXQga2UgMSIKIAotIzogdmFyaWFibGVzLmM6MTkxNQorIzogdmFyaWFibGVzLmM6MTkzMgogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAibWFrZV9sb2NhbF92YXJpYWJsZTogdGlkYWsgYWRhIGNvbnRleHQgZnVuZ3NpIGRpIHNjb3BlIGluaSIKIAotIzogdmFyaWFibGVzLmM6MzE1OQorIzogdmFyaWFibGVzLmM6MzE4MgogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiYWxsX2xvY2FsX3ZhcmlhYmxlczogdGlkYWsgYWRhIGNvbnRleHQgZnVuZ3NpIGRhbGFtIHNjb3BlIGluaSIKIAotIzogdmFyaWFibGVzLmM6MzM3NgotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzozNDI3CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKLW1zZ3N0ciAiJXM6IHBhcmFtZXRlciBrb3NvbmcgYXRhdSB0aWRhayBkaXNldCIKK21zZ3N0ciAiJXMgbWVtaWxpa2kgZXhwb3J0c3RyIGtvc29uZyIKIAotIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCisjOiB2YXJpYWJsZXMuYzozNDMyIHZhcmlhYmxlcy5jOjM0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAia2FyYWt0ZXIgJWQgdGlkYWsgdmFsaWQgZGFsYW0gZXhwb3JzdHIgdW50dWsgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjMzOTYKKyM6IHZhcmlhYmxlcy5jOjM0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgImJ1a2FuIGA9JyBkYWxhbSBleHBvcnRzdHIgdW50dWsgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM4MzUKKyM6IHZhcmlhYmxlcy5jOjM4OTEKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKICJwb3BfdmFyX2NvbnRleHQ6IGtlcGFsYSBkYXJpIHNoZWxsX3ZhcmlhYmxlcyBidWthbiBzZWJ1YWggZnVuZ3NpIGNibnRleHQiCiAKLSM6IHZhcmlhYmxlcy5jOjM4NDgKKyM6IHZhcmlhYmxlcy5jOjM5MDQKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBidWthbiBnbG9iYWxfdmFyaWFibGUgY29udGV4dCIKIAotIzogdmFyaWFibGVzLmM6MzkyMgorIzogdmFyaWFibGVzLmM6Mzk3OAogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAicG9wX3Njb3BlOiBrZXBhbGEgZGFyaSBzaGVsbF92YXJpYWJsZXMgYnVrYW4gc2VidWFoIHNjb3BlIGxpbmdrdW5nYW4gIgogInNlbWVudGFyYSIKIAotIzogdmFyaWFibGVzLmM6NDY3OAotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzo0Nzg2CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKLW1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbWJ1a2E6ICVzIgorbXNnc3RyICIlczogJXM6IHRpZGFrIGRhcGF0IG1lbWJ1a2Egc2ViYWdhaSBCRVJLQVMiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2ODMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogdmFyaWFibGVzLmM6NDc5MQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKLW1zZ3N0ciAiJWQ6IGZpbGUgZGVza3JpcHRvciAlcyB0aWRhayB2YWxpZCIKK21zZ3N0ciAiJXM6ICVzOiBuaWxhaSBkYXJpIGJlcmthcyBwZW5kZXNrcmlwc2kgcGVuZWx1c3VyIHRpZGFrIHZhbGlkIgogCiAjOiB2ZXJzaW9uLmM6NDYKLW1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorIywgZnV6enkKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogbXNnc3RyICJIYWsgQ2lwdGEgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogCiAjOiB2ZXJzaW9uLmM6NDcKQEAgLTE5NTUsMzkgKzE5NTgsMzggQEAKIG1zZ3N0ciAiVElEQUsgQURBIEdBUkFOU0ksIHNlbGFtYSBtYXNpaCBkaWlqaW5rYW4gb2xlaCBodWt1bSB5YW5nIGJlcmxha3UuXG4iCiAKICM6IHZlcnNpb24yLmM6ODYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCi1tc2dzdHIgIkhhayBDaXB0YSAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dzdHIgIkhhayBDaXB0YSAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIAogIzogdmVyc2lvbjIuYzo4NwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJMaWNlbnNlIEdQTHYyKzogR05VIEdQTCB2ZXJzaW9uIDIgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCiAiaHRtbD5cbiIKIG1zZ3N0ciAiIgotIkxpc2Vuc2kgR1BMdjMrOiBHTlUgR1BMIHZlcnNpIDMgYXRhdSBzZXN1ZGFobnlhIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorIkxpc2Vuc2kgR1BMdjIrOiBHTlUgR1BMIHZlcnNpIDIgYXRhdSBzZXN1ZGFobnlhIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiAKICM6IHhtYWxsb2MuYzo5MQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLW1zZ3N0ciAieG1hbGxvYzogdGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gJWx1IGJ5dGVzICglbHUgYnl0ZXMgdGVyYWxva2FzaSkiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiAlbHUgYnl0ZXMgKCVsdSBieXRlcyB0ZXJhbG9rYXNpKSIKIAogIzogeG1hbGxvYy5jOjkzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6IHRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuICVsdSBieXRlcyIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuICVsdSBieXRlcyIKIAogIzogeG1hbGxvYy5jOjE2MwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgIiIKLSJ4bWFsbG9jOiAlczolZDogdGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gJWx1IGJ5dGVzICglbHUgYnl0ZXMgdGVyYWxva2FzaSkiCittc2dzdHIgIiVzOiAlczolZDogdGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gJWx1IGJ5dGVzICglbHUgYnl0ZXMgdGVyYWxva2FzaSkiCiAKICM6IHhtYWxsb2MuYzoxNjUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6ICVzOiAlZDogdGlkYWsgZGFwYXQgdGVyYWxva2FzaSAlbHUgYnl0ZXMiCittc2dzdHIgIiVzOiAlczogJWQ6IHRpZGFrIGRhcGF0IHRlcmFsb2thc2kgJWx1IGJ5dGVzIgogCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgpAQCAtMjAyMiw3ICsyMDI0LDggQEAKIG1zZ3N0ciAicGVtYW5nZ2lsIFtleHByXSIKIAogIzogYnVpbHRpbnMuYzo2NAotbXNnaWQgImNkIFstTHwtUF0gW2Rpcl0iCisjLCBmdXp6eQorbXNnaWQgImNkIFstTHxbLVAgWy1lXV1dIFtkaXJdIgogbXNnc3RyICJjZCBbLUx8LVBdIFtkaXJla3RvcmldIgogCiAjOiBidWlsdGlucy5jOjY2CkBAIC0yMDQ2LDExICsyMDQ5LDEzIEBACiBtc2dzdHIgInBlcmludGFoIFstcFZ2XSBwZXJpbnRhaCBbYXJndW1lbiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc2Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgorIywgZnV6enkKK21zZ2lkICJkZWNsYXJlIFstYUFmRmdpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgogbXNnc3RyICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9bmlsYWldIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6NzgKLW1zZ2lkICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgorIywgZnV6enkKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKIG1zZ3N0ciAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9bmlsYWldIC4uLiIKIAogIzogYnVpbHRpbnMuYzo4MApAQCAtMjEwNyw5ICsyMTEyLDggQEAKIG1zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgbmFtYSBqYWx1cl0gWy1kdF0gW25hbWEgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMTcKLSMsIGZ1enp5CiBtc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKLW1zZ3N0ciAiYmFudHVhbiBbLWRzXSBbcG9sYSAuLi5dIgorbXNnc3RyICJiYW50dWFuIFstZG1zXSBbcG9sYSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEyMQogbXNnaWQgIiIKQEAgLTIxNDAsMjAgKzIxNDQsMjAgQEAKIG1zZ3N0ciAiYmlhcmthbiBhcmcgW2FyZ3VtZW4gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzYKLSMsIGZ1enp5CiBtc2dpZCAiIgogInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKICJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKLSJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBwZW1iYXRhc10gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstcCBwcm9tcHRdIFstdCAiCi0idGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIHBlbWJhdGFzXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM4CiBtc2dpZCAicmV0dXJuIFtuXSIKIG1zZ3N0ciAicmV0dXJuIFtuXSIKIAogIzogYnVpbHRpbnMuYzoxNDAKLW1zZ2lkICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dIgorIywgZnV6enkKK21zZ2lkICJzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXSIKIG1zZ3N0ciAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBuYW1hLXBpbGloYW5dIFthcmd1bWVuIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQyCkBAIC0yMTY1LDcgKzIxNjksOCBAQAogbXNnc3RyICJleHBvcnQgWy1mbl0gW25hbWVbPW5pbGFpXSAuLi5dIGF0YXUgZXhwb3J0IC1wIgogCiAjOiBidWlsdGlucy5jOjE0NgotbXNnaWQgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKKyMsIGZ1enp5Cittc2dpZCAicmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKIG1zZ3N0ciAicmVhZG9ubHkgWy1hZl0gW25hbWVbPW5pbGFpXSAuLi5dIGF0YXUgcmVhZG9ubHkgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4CkBAIC0yMzA1LDE0ICsyMzEwLDEzIEBACiBtc2dzdHIgInByaW50ZiBbLXYgdmFyXSBmb3JtYXQgW2FyZ3VtZW5dIgogCiAjOiBidWlsdGlucy5jOjIyOQotIywgZnV6enkKIG1zZ2lkICIiCiAiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKICJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKICJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIHBpbGloYW5dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgIgotImRhZnRhciBrYXRhXSBbLUYgZnVuZ3NpXSBbLUMgcGVyaW50YWhdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBwaWxpaGFuXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyBkYWZ0YXIga2F0YV0gWy1GIGZ1bmdzaV0gWy1DIHBlcmludGFoXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgogInN1ZmZpeF0gW25hbWUgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMzMKQEAgLTIzMjQsOSArMjMyOCw4IEBACiAiRiBmdW5nc2ldIFstQyBwZXJpbnRhaF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gW3dvcmRdIgogCiAjOiBidWlsdGlucy5jOjIzNwotIywgZnV6enkKIG1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCi1tc2dzdHIgImNvbXBvcHQgWy1vfCtvIHBpbGloYW5dIFtuYW1hIC4uLl0iCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIHBpbGloYW5dIFstREVdIFtuYW1hIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjQwCiBtc2dpZCAiIgpAQCAtMjU3NSw2ICsyNTc4LDcgQEAKICIgICAgdGlkYWsgdmFsaWQuIgogCiAjOiBidWlsdGlucy5jOjM4MworIywgZnV6enkKIG1zZ2lkICIiCiAiQ2hhbmdlIHRoZSBzaGVsbCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNjAwLDExICsyNjA0LDE1IEBACiAiICAgICAgICAtTFx0Zm9yY2Ugc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG93ZWRcbiIKICIgICAgICAgIC1QXHR1c2UgdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWNcbiIKICIgICAgXHRsaW5rc1xuIgorIiAgICAgICAgLWVcdGlmIHRoZSAtUCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVxuIgorIiAgICBcdGNhbm5vdCBiZSBkZXRlcm1pbmVkIHN1Y2Nlc3NmdWxseSwgZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzXG4iCiAiICAgIFxuIgogIiAgICBUaGUgZGVmYXVsdCBpcyB0byBmb2xsb3cgc3ltYm9saWMgbGlua3MsIGFzIGlmIGAtTCcgd2VyZSBzcGVjaWZpZWQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKKyIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZCwgYW5kIGlmICRQV0QgaXMgc2V0IHN1Y2Nlc3NmdWxseSAiCisid2hlblxuIgorIiAgICAtUCBpcyB1c2VkOyBub24temVybyBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAiUGluZGFoIGRpcmVrdG9yaSBrZXJqYSBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0yNjM0LDcgKzI2NDIsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIDAgamlrYSBkaXJla3RvcmkgYmVydWJhaDsgYnVrYW4gbm9sIGppa2EgdGlkYWsuIgogCi0jOiBidWlsdGlucy5jOjQxMQorIzogYnVpbHRpbnMuYzo0MTQKIG1zZ2lkICIiCiAiUHJpbnQgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjY2NCw3ICsyNjcyLDcgQEAKICJkaXJla3Rvcmkgc2VrYXJhbmdcbiIKICIgICAgdGlkYWsgYmlzYSBkaWJhY2EuIgogCi0jOiBidWlsdGlucy5jOjQyOAorIzogYnVpbHRpbnMuYzo0MzEKIG1zZ2lkICIiCiAiTnVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI2ODAsNyArMjY4OCw3IEBACiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIFNlbGFsdSBzdWtzZXMuIgogCi0jOiBidWlsdGlucy5jOjQzOQorIzogYnVpbHRpbnMuYzo0NDIKIG1zZ2lkICIiCiAiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgpAQCAtMjY5Miw3ICsyNzAwLDcgQEAKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKICIgICAgU2VsYWx1IHN1a3Nlcy4iCiAKLSM6IGJ1aWx0aW5zLmM6NDQ4CisjOiBidWlsdGlucy5jOjQ1MQogbXNnaWQgIiIKICJSZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNzA0LDcgKzI3MTIsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBTZWxhbHUgZ2FnYWwuIgogCi0jOiBidWlsdGlucy5jOjQ1NworIzogYnVpbHRpbnMuYzo0NjAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjc0Miw3ICsyNzUwLDggQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdGF0dXMga2VsdWFyIGRhcmkgUEVSSU5UQUgsIGF0YXUgZ2FnYWwgamlrYSBQRVJJTlRBSCAiCiAidGlkYWsgZGl0ZW11a2FuLiIKIAotIzogYnVpbHRpbnMuYzo0NzYKKyM6IGJ1aWx0aW5zLmM6NDc5CisjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI3NTMsNiArMjc2Miw4IEBACiAiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgogIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCiAiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCiAiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgogIiAgICBcbiIKICIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKQEAgLTI3NzIsNyArMjc4Myw3IEBACiAiICAgIFxuIgogIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiAiYGxvY2FsJ1xuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIGAtZycgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCkBAIC0yODExLDcgKzI4MjIsNyBAQAogIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBwaWxpaGFuIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKICJzZWJ1YWggZXJyb3IgdGVyamFkaS4iCiAKLSM6IGJ1aWx0aW5zLmM6NTEyCisjOiBidWlsdGlucy5jOjUxNwogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI4MjEsNyArMjgzMiw3IEBACiAiICAgIFxuIgogIiAgICBLYWRhbHVhcnNhLiBMaWhhdCBgaGVscCBkZWNsYXJlJy4iCiAKLSM6IGJ1aWx0aW5zLmM6NTIwCisjOiBidWlsdGlucy5jOjUyNQogbXNnaWQgIiIKICJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI4NDksNyArMjg2MCw3IEBACiAic2VidWFoIGVycm9yIHRlcmphZGkuXG4iCiAiICAgIGF0YXUgc2hlbGwgdGlkYWsgbWVuamFsYW5rYW4gc2VidWFoIGZ1bmdzaS4iCiAKLSM6IGJ1aWx0aW5zLmM6NTM3CisjOiBidWlsdGlucy5jOjU0MgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yOTA3LDcgKzI5MTgsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBwZW51bGlzYW4gZXJyb3IgdGVyamFkaS4iCiAKLSM6IGJ1aWx0aW5zLmM6NTcxCisjOiBidWlsdGlucy5jOjU3NgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yOTI5LDcgKzI5NDAsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHNlYnVhaCBwZW51bGlzYW4gZXJyb3IgdGVyamFkaS4iCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjk4NSw3ICsyOTk2LDcgQEAKICIgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIE5BTUEgYnVrYW4gc2VidWFoIHNoZWxsIGJ1aWx0aW4gYXRhdSBzZWJ1YWggIgogImVycm9yIHRlcmphZGkuIgogCi0jOiBidWlsdGlucy5jOjYxNAorIzogYnVpbHRpbnMuYzo2MTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhcmd1bWVudHMgYXMgYSBzaGVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTMwMDYsNyArMzAxNyw3IEBACiAiICAgIE1lbmdlbWJhbGlrYW4gc3RhdHVzIGtlbHVhciBkYXJpIHBlcmludGFoIGF0YXUgc3Vrc2VzIGppa2EgcGVyaW50YWggIgogImFkYWxhaCBrb3NvbmcuIgogCi0jOiBidWlsdGlucy5jOjYyNgorIzogYnVpbHRpbnMuYzo2MzEKIG1zZ2lkICIiCiAiUGFyc2Ugb3B0aW9uIGFyZ3VtZW50cy5cbiIKICIgICAgXG4iCkBAIC0zMDkyLDcgKzMxMDMsNyBAQAogImRhcmkgcGlsaWhhblxuIgogIiAgICBkaXRlbXVpIGF0YXUgc2VidWFoIGVycm9yIHRlcmphZGkuIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zMTM1LDcgKzMxNDYsNyBAQAogIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIFBFUklOVEFIIHRpZGFrIGRpdGVtdWthbiBhdGF1IHNlYnVhaCAiCiAicmVkaXJla3NpIGVycm9yIHRlcmphZGkuIgogCi0jOiBidWlsdGlucy5jOjY4OQorIzogYnVpbHRpbnMuYzo2OTQKIG1zZ2lkICIiCiAiRXhpdCB0aGUgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzE0OCw3ICszMTU5LDcgQEAKICJrZWx1YXJhblxuIgogIiAgICBhZGFsYWggc3RhdHVzIGRhcmkgcGVyaW50YWggdGVyYWtoaXIgeWFuZyBkaWphbGFua2FuLiIKIAotIzogYnVpbHRpbnMuYzo2OTgKKyM6IGJ1aWx0aW5zLmM6NzAzCiBtc2dpZCAiIgogIkV4aXQgYSBsb2dpbiBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMTYyLDcgKzMxNzMsNyBAQAogImVycm9yIGppa2EgdGlkYWsgZGlqYWxhbmthblxuIgogIiAgICBkYWxhbSBzZWJ1YWggbG9naW4gc2hlbGwuIgogCi0jOiBidWlsdGlucy5jOjcwOAorIzogYnVpbHRpbnMuYzo3MTMKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBleGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zMjIxLDcgKzMyMzIsNyBAQAogIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBhdGF1IHN0YXR1cyBkYXJpIHBlcmludGFoIHlhbmcgZGlqYWxhbmthbjsgdGlkYWstIgogIm5vbCBqaWthIHNlYnVhaCBlcnJvciB0ZXJqYWRpLiIKIAotIzogYnVpbHRpbnMuYzo3MzgKKyM6IGJ1aWx0aW5zLmM6NzQzCiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTMyNDIsNyArMzI1Myw3IEBACiAiICAgIFN0YXR1cyBkYXJpIHBlcmludGFoIHlhbmcgZGl0ZW1wYXRrYW4gZGkgZm9yZWdyb3VuZCwgYXRhdSBnYWdhbCBqaWthICIKICJzZWJ1YWggZXJyb3IgdGVyamFkaS4iCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogbXNnaWQgIiIKICJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzI2Niw3ICszMjc3LDcgQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBwZW5nb250cm9sIHBla2VyamFhbiB0aWRhayBha3RpZiBhdGF1ICIKICJzZWJ1YWggZXJyb3IgdGVyamFkaS4iCiAKLSM6IGJ1aWx0aW5zLmM6NzY3CisjOiBidWlsdGlucy5jOjc3MgogbXNnaWQgIiIKICJSZW1lbWJlciBvciBkaXNwbGF5IHByb2dyYW0gbG9jYXRpb25zLlxuIgogIiAgICBcbiIKQEAgLTMzMTIsNyArMzMyMyw3IEBACiAiICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBOQU1BIHRpZGFrIGRpdGVtdWthbiBhdGF1IHNlYnVhaCBwaWxpaGFuICIKICJ0aWRhayB2YWxpZCB0ZWxhaCBkaWJlcmlrYW4uIgogCi0jOiBidWlsdGlucy5jOjc5MgorIzogYnVpbHRpbnMuYzo3OTcKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTMzNTMsNyArMzM2NCw3IEBACiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgUE9MQSB0aWRhayBkaXRlbXVrYW4gYXRhdSBwaWxpaGFuIHRpZGFrICIKICJ2YWxpZCBkaWJlcmlrYW4uIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzQyOCw3ICszNDM5LDcgQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCiAic2VidWFoIGVycm9yIHRlcmphZGkuIgogCi0jOiBidWlsdGlucy5jOjg1MgorIzogYnVpbHRpbnMuYzo4NTcKIG1zZ2lkICIiCiAiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKICIgICAgXG4iCkBAIC0zNDc2LDcgKzM0ODcsNyBAQAogInNlYnVhaCBlcnJvciB0ZXJqYWRpLlxuIgogIiAgICBKaWthIC14IGRpZ3VuYWthbiwgbWVuZ2VtYmFsaWthbiBzdGF0dXMga2VsdWFyIGRhcmkgUEVSSU5UQUguIgogCi0jOiBidWlsdGlucy5jOjg3OQorIzogYnVpbHRpbnMuYzo4ODQKIG1zZ2lkICIiCiAiUmVtb3ZlIGpvYnMgZnJvbSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTM1MDgsNyArMzUxOSw3IEBACiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgYWRhIHNlYnVhaCBwaWxpaGFuIHRpZGFrIHZhbGlkIGF0YXUgSk9CU1BFQyAiCiAiZGliZXJpa2FuLiIKIAotIzogYnVpbHRpbnMuYzo4OTgKKyM6IGJ1aWx0aW5zLmM6OTAzCiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMzU1MSw3ICszNTYyLDggQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCiAic2VidWFoIGVycm9yIHRlcmphZGkuIgogCi0jOiBidWlsdGlucy5jOjkyMQorIzogYnVpbHRpbnMuYzo5MjYKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzU5Myw3ICszNjA1LDcgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIkV2YWx1YXNpIGVrc3ByZXNpIGFyaXRobWV0aWMuXG4iCiAiICAgIFxuIgpAQCAtMzYzOSw4ICszNjUxLDcgQEAKICIgICAgSmlrYSBBUkcgdGVyYWtoaXIgZGlldmFsdWFzaSBrZSAwLCBtZW1iaWFya2FuIGtlbWJhbGkga2UgMTsgMCAiCiAiZGlrZW1iYWxpa2FuIEppa2EgdGlkYWsuIgogCi0jOiBidWlsdGlucy5jOjk2NgotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6OTcxCiBtc2dpZCAiIgogIlJlYWQgYSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGFuZCBzcGxpdCBpdCBpbnRvIGZpZWxkcy5cbiIKICIgICAgXG4iCkBAIC0zNzE0LDYgKzM3MjUsMTAgQEAKICIgICAgICAtbiBuY2hhcnNcdGtlbWJhbGkgc2V0ZWxhaCBtZW1iYWNhIE5DSEFSUyBjaGFyYWN0ZXJzIGRhcmlwYWRhICIKICJtZW51bmdndVxuIgogIiAgICBcdFx0dW50dWsgc2VidWFoIGJhcmlzIGJhcnVcbiIKKyIgICAgICAtTiBuY2hhcnNcdGhhbnlhIGtlbWJhbGkgc2V0ZWxhaCBtZW1iYWNhIHRlcGF0IE5DSEFSUyBrYXJha3RlciwgIgorImtlY3VhbGlcbiIKKyIgICAgXHRcdEVPRiBkaXRlbXVpIGF0YXUgd2FrdHUgaGFiaXMgZGFsYW0gcGVtYmFjYWFuLCBhYmFpa2FuIHBlbWJhdGFzICIKKyJhcGFwdW5cbiIKICIgICAgICAtcCBwcm9tcHRcdGtlbHVhcmthbiBzdHJpbmcgUFJPTVBUIHRhbnBhIHRhbWJhaGFuIGJhcmlzIGJhcnUgc2ViZWx1bVxuIgogIiAgICBcdFx0bWVuY29iYSB1bnR1ayBtZW1iYWNhXG4iCiAiICAgICAgLXJcdFx0amFuZ2FuIGlqaW5rYW4gYmFja3NsYXNoIHVudHVrIG1lbmdlbHVhcmthbiBrYXJha3RlciBhcGFwdW5cbiIKQEAgLTM3MzQsNyArMzc0OSw3IEBACiAiICAgIGF0YXUgc2VidWFoIGJlcmthcyBkZXNrcmlwc2kgZGlzdXBwbHkgc2ViYWdhaSBzZWJ1YWggYXJndW1lbiBrZSBwaWxpaGFuIC0iCiAidS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAwOQorIzogYnVpbHRpbnMuYzoxMDE0CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzc1Niw3ICszNzcxLDggQEAKICIgICAgTWVuZ2VtYmFsaWthbiBOLCBhdGF1IGdhZ2FsIGppa2Egc2hlbGwgdGlkYWsgbWVuamFsYW4gc2VidWFoIGZ1bmdzaSBhdGF1ICIKICJzY3JpcHQuIgogCi0jOiBidWlsdGlucy5jOjEwMjIKKyM6IGJ1aWx0aW5zLmM6MTAyNworIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzgyNSw2ICszODQxLDkgQEAKICIgICAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzXG4iCiAiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKICIgICAgICAtVCAgSWYgc2V0LCB0aGUgREVCVUcgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC0tICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgICAgICAgYXJlIHVuc2V0LlxuIgogIiAgICAgIC0gICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgogIiAgICBcbiIKQEAgLTM5MjgsNyArMzk0Nyw3IEBACiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIHBpbGloYW4gdGlkYWsgdmFsaWQgZGliZXJpa2FuLiIKIAotIzogYnVpbHRpbnMuYzoxMTA0CisjOiBidWlsdGlucy5jOjExMTIKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTM5NjUsNyArMzk4NCw3IEBACiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIHBpbGloYW4gdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgIgogInNlYnVhaCBOQU1BIGFkYWxhaCBiYWNhLXNhamEuIgogCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTQwMDAsNyArNDAxOSw3IEBACiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIHBpbGloYW4gdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgIgogIk5BTUEgdGlkYWsgdmFsaWQuIgogCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtNDAzOSw3ICs0MDU4LDcgQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsIHNlYnVhaCBwaWxpaGFuIHRpZGFrIHZhbGlkIGRpYmVyaWthbiBhdGF1ICIKICJOQU1BIHRpZGFrIHZhbGlkLiIKIAotIzogYnVpbHRpbnMuYzoxMTY0CisjOiBidWlsdGlucy5jOjExNzIKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTQwNTcsNyArNDA3Niw3IEBACiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgTiBhZGFsYWggbmVnYXRpZiBhdGF1IGxlYmloIGJlc2FyIGRhcmkgJCMuIgogCi0jOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtNDA4Myw3ICs0MTAyLDcgQEAKICJCRVJLQVM7IGdhZ2FsIGppa2FcbiIKICIgICAgTkFNQSBCRVJLQVMgdGlkYWsgZGFwYXQgZGliYWNhLiIKIAotIzogYnVpbHRpbnMuYzoxMjA3CisjOiBidWlsdGlucy5jOjEyMTUKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDEwOSwxNCArNDEyOCwxOCBAQAogIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIHBlbmdvbnRyb2wgcGVrZXJqYWFuIHRpZGFrIGFrdGlmIGF0YXUgIgogInNlYnVhaCBlcnJvciB0ZXJqYWRpLiIKIAotIzogYnVpbHRpbnMuYzoxMjIzCisjOiBidWlsdGlucy5jOjEyMzEKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgogIiAgICBFeGl0cyB3aXRoIGEgc3RhdHVzIG9mIDAgKHRydWUpIG9yIDEgKGZhbHNlKSBkZXBlbmRpbmcgb25cbiIKICIgICAgdGhlIGV2YWx1YXRpb24gb2YgRVhQUi4gIEV4cHJlc3Npb25zIG1heSBiZSB1bmFyeSBvciBiaW5hcnkuICBVbmFyeVxuIgogIiAgICBleHByZXNzaW9ucyBhcmUgb2Z0ZW4gdXNlZCB0byBleGFtaW5lIHRoZSBzdGF0dXMgb2YgYSBmaWxlLiAgVGhlcmVcbiIKLSIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYXMgd2VsbCwgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMuXG4iCisiICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzIGFzIHdlbGwuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYmVoYXZpb3Igb2YgdGVzdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzLiAgUmVhZCB0aGVcbiIKKyIgICAgYmFzaCBtYW51YWwgcGFnZSBmb3IgdGhlIGNvbXBsZXRlIHNwZWNpZmljYXRpb24uXG4iCiAiICAgIFxuIgogIiAgICBGaWxlIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCkBAIC00MTcwLDYgKzQxOTMsNyBAQAogIiAgICBPdGhlciBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgogIiAgICAgIC1vIE9QVElPTiAgICAgIFRydWUgaWYgdGhlIHNoZWxsIG9wdGlvbiBPUFRJT04gaXMgZW5hYmxlZC5cbiIKKyIgICAgICAtdiBWQVJcdCBUcnVlIGlmIHRoZSBzaGVsbCB2YXJpYWJsZSBWQVIgaXMgc2V0XG4iCiAiICAgICAgISBFWFBSICAgICAgICAgVHJ1ZSBpZiBleHByIGlzIGZhbHNlLlxuIgogIiAgICAgIEVYUFIxIC1hIEVYUFIyIFRydWUgaWYgYm90aCBleHByMSBBTkQgZXhwcjIgYXJlIHRydWUuXG4iCiAiICAgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS5cbiIKQEAgLTQyNjksNyArNDI5Myw3IEBACiAiRVhQUiBtZW5nZXZhbHVhc2kga2VcbiIKICIgICAgICAgc2FsYWggYXRhdSBzZWJ1YWggYXJndW1lbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4uIgogCi0jOiBidWlsdGlucy5jOjEyOTkKKyM6IGJ1aWx0aW5zLmM6MTMxMQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQyODEsNyArNDMwNSw3IEBACiAiICAgIEluaSBzaW5vbmltIHVudHVrIFwidGVzdFwiIGJ1aWx0aW4sIHRldGFwaSBhcmd1bWVuIHRlcmFraGlyXG4iCiAiICAgIGhhcnVzIGJlcnVwYSBzZWJ1YWggbGl0ZXJhbCBgXScsIHVudHVrIG1lbmNvY29rYW4gZGVuZ2FuIHBlbWJ1a2FhbiBgWycuIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtNDMwMSw3ICs0MzI1LDggQEAKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKICIgICAgU2VsYWx1IHN1a3Nlcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMyMAorIzogYnVpbHRpbnMuYzoxMzMyCisjLCBmdXp6eQogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC00MzE3LDcgKzQzNDIsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtNDM3NCw3ICs0NDA3LDcgQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggU0lHU1BFQyBhZGFsYWggdGlkYWsgdmFsaWQgYXRhdSAiCiAic2VidWFoIHBpbGloYW4gdGlkYWsgdmFsaWQgZGliZXJpa2FuLiIKIAotIzogYnVpbHRpbnMuYzoxMzUyCisjOiBidWlsdGlucy5jOjEzNjgKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtNDQzNiw3ICs0NDY5LDcgQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMgamlrYSBzZWx1cnVoIGRhcmkgTkFNQSBkaXRlbXVrYW47IGdhZ2FsIGppa2EgYWRhICIKICJ5YW5nIHRpZGFrIGRpdGVtdWthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MworIzogYnVpbHRpbnMuYzoxMzk5CiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtNDUyNCw3ICs0NTU3LDcgQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCiAic2VidWFoIGVycm9yIHRlcmphZGkuIgogCi0jOiBidWlsdGlucy5jOjE0MjgKKyM6IGJ1aWx0aW5zLmM6MTQ0NAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC00NTYyLDcgKzQ1OTUsNyBAQAogIiAgICBNZW5nZW1iYWxpa2FuIHN1a3NlcyBrZWN1YWxpIE1PREUgdGlkYWsgdmFsaWQgYXRhdSBzZWJ1YWggcGlsaWhhbiB0aWRhayAiCiAidmFsaWQgZGliZXJpa2FuLiIKIAotIzogYnVpbHRpbnMuYzoxNDQ4CisjOiBidWlsdGlucy5jOjE0NjQKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00NTk0LDcgKzQ2MjcsNyBAQAogInBpbGloYW4gdGlkYWtcbiIKICIgICAgdmFsaWQgZGliZXJpa2FuLiIKIAotIzogYnVpbHRpbnMuYzoxNDY2CisjOiBidWlsdGlucy5jOjE0ODIKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDYxOSw3ICs0NjUyLDcgQEAKICJwaWxpaGFuIHRpZGFrIHZhbGlkXG4iCiAiICAgIGRpYmVyaWthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ4MQorIzogYnVpbHRpbnMuYzoxNDk3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC00NjQzLDcgKzQ2NzYsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN0YXR1cyBkYXJpIHBlcmludGFoIHRlcmFraGlyIHlhbmcgZGlqYWxhbmthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtNDY3Myw3ICs0NzA2LDcgQEAKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKICIgICAgTWVuZ2VtYmFsaWthbiBzdGF0dXMgZGFyaSBwZXJpbnRhaCB0ZXJha2hpciB5YW5nIGRpamFsYW5rYW4uIgogCi0jOiBidWlsdGlucy5jOjE1MTMKKyM6IGJ1aWx0aW5zLmM6MTUyOQogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtNDcxMCw3ICs0NzQzLDcgQEAKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKICIgICAgTWVuZ2VtYmFsaWthbiBzdGF0dXMgZGFyaSBwZXJpbnRhaCB0ZXJha2hpciB5YW5nIGRpamFsYW5rYW4uIgogCi0jOiBidWlsdGlucy5jOjE1MzQKKyM6IGJ1aWx0aW5zLmM6MTU1MAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC00NzM4LDcgKzQ3NzEsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBTdGF0dXMga2VtYmFsaSBhZGFsYWggc3RhdHVzIGtlbWJhbGkgZGFyaSBQSVBFTElORS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU1MQorIzogYnVpbHRpbnMuYzoxNTY3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC00NzU2LDcgKzQ3ODksNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHNldGF0dXMgZGFyaSBwZXJpbnRhaCB0ZXJha2hpciB5YW5nIGRpamFsYW5rYW4uIgogCi0jOiBidWlsdGlucy5jOjE1NjMKKyM6IGJ1aWx0aW5zLmM6MTU3OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTQ3OTQsNyArNDgyNyw3IEBACiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gc3RhdHVzIGRhcmkgcGVyaW50YWggdGVyYWtoaXIgeWFuZyBkaWphbGFua2FuLiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCisjOiBidWlsdGlucy5jOjE1OTYKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC00ODEyLDcgKzQ4NDUsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN0YXR1cyBkYXJpIHBlcmludGFoIHRlcmFraGlyIHlhbmcgZGlqYWxhbmthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU5MgorIzogYnVpbHRpbnMuYzoxNjA4CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKICIgICAgXG4iCkBAIC00ODI5LDcgKzQ4NjIsNyBAQAogIiAgICBTdGF0dXMgS2VsdWFyOlxuIgogIiAgICBNZW5nZW1iYWxpa2FuIHN0YXR1cyBkYXJpIHBlcmludGFoIHRlcmFraGlyIHlhbmcgZGlqYWxhbmthbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYwNAorIzogYnVpbHRpbnMuYzoxNjIwCiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTQ4NTIsNyArNDg4NSw3IEBACiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gc3RhdHVzIGtlbHVhciBkYXJpIFBFUklOVEFILiIKIAotIzogYnVpbHRpbnMuYzoxNjE4CisjOiBidWlsdGlucy5jOjE2MzQKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ4NzcsNyArNDkxMCw3IEBACiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgTkFNQSBhZGFsYWggYmFjYS1zYWphLiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCisjOiBidWlsdGlucy5jOjE2NDgKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTQ4OTYsNyArNDkyOSw3IEBACiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gc3RhdHVzIGRhcmkgcGVyaW50YWggdGVyYWtoaXIgeWFuZyBkaWVrc2VrdXNpLiIKIAotIzogYnVpbHRpbnMuYzoxNjQ0CisjOiBidWlsdGlucy5jOjE2NjAKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTQ5MjMsNyArNDk1Niw3IEBACiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIE1lbmdlbWJhbGlrYW4gc3RhdHVzIGRhcmkgcGVrZXJqYWFuIHlhbmcgZGlsYW5qdXRrYW4uIgogCi0jOiBidWlsdGlucy5jOjE2NTkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDk0MSw3ICs0OTc0LDcgQEAKICIgICAgU3RhdHVzIEtlbHVhcjpcbiIKICIgICAgTWVuZ2VtYmFsaWthbiAxIGppa2EgRVhQUkVTSSBkaWV2YWx1YXNpIGtlIDA7IG1lbmdlbWJhbGlrYW4gMCBqaWthIHRpZGFrLiIKIAotIzogYnVpbHRpbnMuYzoxNjcxCisjOiBidWlsdGlucy5jOjE2ODcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTQ5OTgsNyArNTAzMSw3IEBACiAiICAgIFN0YXR1cyBLZWx1YXI6XG4iCiAiICAgIDAgYXRhdSAxIHRlcmdhbnR1biBkYXJpIG5pbGFpIGRhcmkgRUtTUFJFU0kuIgogCi0jOiBidWlsdGlucy5jOjE2OTcKKyM6IGJ1aWx0aW5zLmM6MTcxMwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTUxMTIsNyArNTE0NSw3IEBACiAiZGlndW5ha2FuIHVudHVrIG1lbmVudHVrYW4gZGltYW5hXG4iCiAiICAgIFx0XHRwZXJpbnRhaCBzZWhhcnVzbnlhIGRpc2ltcGFuIGRhbGFtIGRhZnRhciBzZWphcmFoLlxuIgogCi0jOiBidWlsdGlucy5jOjE3NTQKKyM6IGJ1aWx0aW5zLmM6MTc3MAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTE3Miw3ICs1MjA1LDcgQEAKICJhdGF1IHBlbWluZGFoYW5cbiIKICIgICAgZGlyZWt0b3JpIGdhZ2FsLiIKIAotIzogYnVpbHRpbnMuYzoxNzg4CisjOiBidWlsdGlucy5jOjE4MDQKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTIyNyw3ICs1MjYwLDcgQEAKICJhdGF1IHBlbWluZGFoYW5cbiIKICIgICAgZGlyZWt0b3JpIGdhZ2FsLiIKIAotIzogYnVpbHRpbnMuYzoxODE4CisjOiBidWlsdGlucy5jOjE4MzQKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTI4Myw3ICs1MzE2LDcgQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBhZGEgc2VidWFoIHBpbGloYW4gdGlkYWsgdmFsaWQgZGliZXJpa2FuICIKICJhdGF1IHNlYnVhaCBlcnJvciB0ZXJqYWRpLiIKIAotIzogYnVpbHRpbnMuYzoxODQ3CisjOiBidWlsdGlucy5jOjE4NjMKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUzMjIsNyArNTM1NSw4IEBACiAidGlkYWsgdmFsaWQgZGliZXJpa2FuXG4iCiAiICAgIGF0YXUgT1BUTkFNRSBkaW5vbmFrdGlma2FuLiIKIAotIzogYnVpbHRpbnMuYzoxODY4CisjOiBidWlsdGlucy5jOjE4ODQKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTUzNDUsNiArNTM3OSw5IEBACiAiICAgIFxuIgogIiAgICAgICViXHRleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYXJndW1lbnRcbiIKICIgICAgICAlcVx0cXVvdGUgdGhlIGFyZ3VtZW50IGluIGEgd2F5IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dFxuIgorIiAgICAgICUoZm10KVQgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nIEZNVCBhcyBhICIKKyJmb3JtYXRcbiIKKyIgICAgICAgICAgICBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIHdyaXRlIG9yICIKQEAgLTUzNzcsOCArNTQxNCw3IEBACiAic2VidWFoIHBlbnVsaXNhbiBhdGF1IHBlbmVtcGF0YW5cbiIKICIgICAgZXJyb3IgdGVyamFkaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg5NQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTkxMwogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC01NDE4LDYgKzU0NTQsMTEgQEAKICIgICAgICAtclx0aGFwdXMgc2VidWFoIHNwZXNpZmlrYXNpIHBlbnllbGVzYWlhbiB1bnR1ayBzZXRpYXAgTkFNQSwgYXRhdSBqaWthICIKICJ0aWRhayBhZGFcbiIKICIgICAgXHROQU1BIHlhbmcgZGliZXJpa2FuLCBzZWx1cnVoIHNwZXNpZmlrYXNpIHBlbnllbGVzYWlhblxuIgorIiAgICAgIC1EXHRhcGxpa2FzaWthbiBwZWxlbmdrYXBhbiBkYW4gYWtzaSBzZWJhZ2FpIHBlcmludGFoIGJha3UgdGFucGEgIgorInBlbGVuZ2thcGFuXG4iCisiICAgIFx0c3Blc2lmaWsgeWFuZyBkaWRlZmluaXNpa2FuXG4iCisiICAgICAgLUVcdGFwbGlrYXNpa2FuIHBlbGVuZ2thcGFuIGRhbiBha3NpIGtlIHBlcmludGFoIFwiZW1wdHlcIiAtLVxuIgorIiAgICBcdHBlbGVuZ2thcGFuIGRpbGFrdWthbiBkaSBiYXJpcyBrb3NvbmdcbiIKICIgICAgXG4iCiAiICAgIEtldGlrYSBwZW55ZWxlc2FpYW4gZGljb2JhLCBha3NpIHlhbmcgZGlsYWt1a2FuIGRhbGFtIHVydXRhblxuIgogIiAgICBodXJ1ZiBiZXNhciBwaWxpaGFuIHlhbmcgZGl0YW1waWxrYW4gZGlhdGFzLlxuIgpAQCAtNTQyNiw3ICs1NDY3LDcgQEAKICIgICAgTWVuZ2VtYmFsaWthbiBzdWtzZXMga2VjdWFsaSBzZWJ1YWggcGlsaWhhbiB0aWRhayB2YWxpZCBkaWJlcmlrYW4gYXRhdSAiCiAic2VidWFoIGVycm9yIHRlcmphZGkuIgogCi0jOiBidWlsdGlucy5jOjE5MjMKKyM6IGJ1aWx0aW5zLmM6MTk0MQogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC01NDQ5LDE0ICs1NDkwLDE0IEBACiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIHBpbGloYW4gdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgIgogInNlYnVhaCBlcnJvciB0ZXJqYWRpLiIKIAotIzogYnVpbHRpbnMuYzoxOTM4CisjOiBidWlsdGlucy5jOjE5NTYKICMsIGZ1enp5CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCiAiICAgIE1vZGlmeSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBubyBOQU1FcyBhcmUgIgogInN1cHBsaWVkLFxuIgotIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVnaW4gZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbm0sICIKKyIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlaW5nIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW4sICIKICJwcmludFxuIgogIiAgICB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUgb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbiAiCiAic3BlY2lmaWNhdGlvbi5cbiIKQEAgLTU0OTEsNiArNTUzMiw4IEBACiAiICAgIFxuIgogIiAgICBQaWxpaGFuOlxuIgogIiAgICBcdC1vIG9wdGlvblx0U2V0IHBpbGloYW4gcGVueWVsZXNhaWFuIE9QU0kgdW50dWsgc2V0aWFwIE5BTUFcbiIKKyIgICAgXHQtRFx0XHRVYmFoIHBpbGloYW4gdW50dWsgcGVyaW50YWggcGVsZW5na2FwYW4gXCJkZWZhdWx0XCJcbiIKKyIgICAgXHQtRVx0XHRVYmFoIHBpbGloYW4gdW50dWsgcGVyaW50YWggcGVsZW5na2FwYW4gXCJlbXB0eVwiXG4iCiAiICAgIFxuIgogIiAgICBHdW5ha2FuIGArbycgZGFyaXBhZGEgYC1vJyBtYXRpa2FuIHBpbGloYW4geWFuZyBkaXNwZXNpZmlrYXNpa2FuLlxuIgogIiAgICBcbiIKQEAgLTU1MTAsNyArNTU1Myw3IEBACiAiTkFNQSB0aWRhayBtZW1pbGlraVxuIgogIiAgICBzcGVzaWZpa2FzaSBwZW55ZWxlc2FpYW4geWFuZyB0ZXJkZWZpbmlzaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKQEAgLTU1MzksNyArNTU4Miw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtNTU1NCwxMiArNTU5OCwxMiBAQAogIiAgICBcbiIKICIgICAgQmFjYSBiYXJpcyBkYXJpIHN0YW5kYXIgbWFzdWthbiBrZWRhbGFtIHZhcmlhYmVsIGFycmF5IEFSUkFZLCBhdGF1IGRhcmlcbiIKICIgICAgYmVya2FzIGRlc2tyaXBzaSBGRCBqaWthIHBpbGloYW4gLXUgZGliZXJpa2FuLiBWYXJpYWJlbCBNQVBGSUxFIGFkYWxhaFxuIgotIiAgICBiYWt1IEFSUkFZLlxuIgorIiAgICBBUlJBWSBiYWt1LlxuIgogIiAgICBcbiIKICIgICAgUGlsaWhhbjpcbiIKICIgICAgICAtbiBjb3VudFx0U2FsaW4gZGkgYmFyaXMgQ09VTlQuIEppa2EgQ09VTlQgYWRhbGFoIDAsIHNlbXVhIGJhcmlzICIKICJkaXNhbGluLlxuIgotIiAgICAgIC1PIG9yaWdpblx0QXdhbCBwZW5lbXBhdGFuIGtlIEFSUkFZIGRpIGluZGV4IE9SSUdJTi4gRGVmYXVsdCBpbmRleCAiCisiICAgICAgLU8gb3JpZ2luXHRBd2FsIHBlbmVtcGF0YW4ga2UgQVJSQVkgZGkgaW5kZXggT1JJR0lOLiBJbmRla3MgYmFrdSAiCiAiYWRhbGFoIDAuXG4iCiAiICAgICAgLXMgY291bnQgXHRBYmFpa2FuIGJhcmlzIENPVU5UIHBlcnRhbWEgeWFuZyBkaWJhY2EuXG4iCiAiICAgICAgLXRcdFx0SGFwdXMgc2VidWFoIGFraGlyYW4gYmFyaXMgYmFydSBkYXJpIHNldGlhcCBiYXJpcyB5YW5nIGRpYmFjYS5cbiIKQEAgLTU1NzMsNyArNTYxNywxMCBAQAogIiAgICBBcmd1bWVuOlxuIgogIiAgICAgIEFSUkFZXHRcdE5hbWEgdmFyaWFiZWwgYXJyYXkgeWFuZyBkaWd1bmFrYW4gdW50dWsgYmVya2FzIGRhdGEuXG4iCiAiICAgIFxuIgotIiAgICBKaWthIC1DIERpYmVyaWthbiB0YW5wYSAtYywgZGVmYXVsdCBxdWFudHVtIGFkYWxhaCA1MDAwLlxuIgorIiAgICBKaWthIC1DIERpYmVyaWthbiB0YW5wYSAtYywgZGVmYXVsdCBxdWFudHVtIGFkYWxhaCA1MDAwLiBLZXRpa2EgIgorIkNBTExCQUNLXG4iCisiICAgIGRpZXZhbHVhc2kgLCBpbmkgZGliZXJpa2FuIGtlIGluZGVrcyBkYXJpIGVsZW1lbnQgJ2FycmF5JyBzZWxhbmp1dG55YVxuIgorIiAgICB1bnR1ayBkaS0nYXNzaWduJyBzZWJhZ2FpIHNlYnVhaCBhcmd1bWVuIHRhbWJhaGFuLlxuIgogIiAgICBcbiIKICIgICAgSmlrYSB0aWRhayBkaWJlcmlrYW4gZGVuZ2FuIGFzYWwgc2VjYXJhIGVrc3BsaXNpdCwgYmVya2FzIHBldGEgYWthbiAiCiAibWVuZ2hhcHVzIEFSUkFZIHNlYmVsdW1cbiIKQEAgLTU1ODMsNyArNTYzMCw3IEBACiAiICAgIE1lbmdlbWJhbGlrYW4gc3Vrc2VzIGtlY3VhbGkgc2VidWFoIHBpbGloYW4gdGlkYWsgdmFsaWQgZGliZXJpa2FuIGF0YXUgIgogIkFSUkFZIGFkYWxhaCBiYWNhLXNhamEuIgogCi0jOiBidWlsdGlucy5jOjIwMDEKKyM6IGJ1aWx0aW5zLmM6MjAyMAogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpAQCAtNTU5Myw2ICs1NjQwLDI4IEBACiAiICAgIFxuIgogIiAgICBTZWJ1YWggc2lub25pbSB1bnR1ayBgbWFwZmlsZScuIgogCisjfiBtc2dpZCAiIgorI34gIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgorI34gIiAgICAiCisjfiBtc2dzdHIgIiIKKyN+ICIuICBEZW5nYW4gRVhQUiwga2VtYmFsaVxuIgorI34gIiAgICAiCisKKyN+IG1zZ2lkICIiCisjfiAiOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCisjfiAiICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKKyN+ICIgICAgXG4iCisjfiAiICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSAiCisjfiAidGhlXG4iCisjfiAiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorI34gbXNnc3RyICIiCisjfiAiOyBpbmZvcm1hc2kgdGFtYmFoYW4gaW5pIGRhcGF0IGRpZ3VuYWthbiB1bnR1a1xuIgorI34gIiAgICBtZW55ZWRpYWthbiBwZW5lbHVzdXJhbiAnc3RhY2snLlxuIgorI34gIiAgICBcbiIKKyN+ICIgICAgTmlsYWkgZGFyaSBFWFBSIG1lbmdpbmRpa2FzaWthbiBiZXJhcGEgYmFueWFrIHBhbmdnaWxhbiAnZnJhbWUnIHVudHVrICIKKyN+ICJrZW1iYWxpXG4iCisjfiAiICAgIHNlYmVsdW0gc2FhdCBpbmk7ICdmcmFtZScgcGFsaW5nIGF0YXMgYWRhbGFoICdmcmFtZScgMC4iCisKICN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKICN+IG1zZ3N0ciAiIgogI34gInhyZWFsbG9jOiB0aWRhayBkYXBhdCBtZW5yZWFsb2thc2lrYW4gJWx1IGJ5dGVzICglbHUgYnl0ZXMgdGVyYWxva2FzaWthbikiCmRpZmYgLS1naXQgYS9wby9qYS5nbW8gYi9wby9qYS5nbW8KaW5kZXggN2RlZjRkNy4uZjFkNDFjMyAxMDA2NDQKLS0tIGEvcG8vamEuZ21vCisrKyBiL3BvL2phLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9qYS5wbyBiL3BvL2phLnBvCmluZGV4IDE4ZGVjMjMuLmQ2YWJiY2QgMTAwNjQ0Ci0tLSBhL3BvL2phLnBvCisrKyBiL3BvL2phLnBvCkBAIC0xLDExNCArMSwxMTUgQEAKLSMgSmFwYW5lc2UgbWVzc2FnZSBmb3IgR05VIGJhc2ggMi4wCi0jIENvcHlyaWdodCAoQykgMTk5OSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgSmFwYW5lc2UgbWVzc2FnZXMgZm9yIEdOVSBiYXNoCisjIENvcHlyaWdodCAoQykgMTk5OSwgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGJhc2ggcGFja2FnZS4KICMgS3lvaWNoaSBPemFraSA8a0BhZnJvbWFuaWEub3JnPiwgMjAwMC4KLSMKKyMgWWFzdWFraSBUYW5pZ3VjaGkgPHlhc3Vha2l0QGdtYWlsLmNvbT4sIDIwMTAuCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBHTlUgYmFzaCAyLjBcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IEdOVSBiYXNoIDQuMVxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwMC0wMy0yMSAxOTozMCswOTAwXG4iCi0iTGFzdC1UcmFuc2xhdG9yOiBLeW9pY2hpIE96YWtpIDxrQGFmcm9tYW5pYS5vcmc+XG4iCi0iTGFuZ3VhZ2UtVGVhbTogSmFwYW5lc2UgPGphQGxpLm9yZz5cbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0wMS0yOCAyMjowOS0wNTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMC0xMC0xNyAxOTozOCswOTAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBZYXN1YWtpIFRhbmlndWNoaSA8eWFzdWFraXRAZ21haWwuY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IEphcGFuZXNlIDx0cmFuc2xhdGlvbi10ZWFtLWphQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgotIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1FVUMtSlBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKICJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0xOyBwbHVyYWw9MDtcbiIKIAogIzogYXJyYXlmdW5jLmM6NTAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgotbXNnc3RyICIiCittc2dzdHIgIuiqpOOBo+OBn+mFjeWIl+OBrua3u+WtlyIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczog44Kk44Oz44OH44OD44Kv44K56YWN5YiX44GL44KJ6YCj5oOz6YWN5YiX44Gr5aSJ5o+b44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgogCiAjOiBhcnJheWZ1bmMuYzo0ODAKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhc3NvY2lhdGl2ZSBhcnJheSBrZXkiCi1tc2dzdHIgIiVjJWM6ILCtpKSlqqXXpbel56XzIgorbXNnc3RyICIlczog54Sh5Yq544Gq6YCj5oOz6YWN5YiX44Gu44Kt44O844Gn44GZIgogCiAjOiBhcnJheWZ1bmMuYzo0ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IOmFjeWIl+OBrua3u+Wtl+OBq+mdnuaVsOWtl+OCkuioreWumuOBp+OBjeOBvuOBm+OCkyIKIAogIzogYXJyYXlmdW5jLmM6NTE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgotbXNnc3RyICIiCittc2dzdHIgIiVzOiAlczog6YCj5oOz6YWN5YiX44KS6Kit5a6a44GZ44KL44Go44GN44Gr44Gv5re75a2X44KS44Gk44GR44Gq44GR44KM44Gw44GE44GR44G+44Gb44KTIgogCi0jOiBiYXNoaGlzdC5jOjM4MworIzogYmFzaGhpc3QuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgotbXNnc3RyICIlczogJXMgpPK67sCupMekraTepLuk8yIKK21zZ3N0ciAiJXM6ICVzIOOCkuS9nOaIkOOBp+OBjeOBvuOBm+OCkyIKIAotIzogYmFzaGxpbmUuYzozNDU3CisjOiBiYXNobGluZS5jOjM0OTgKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDog44Kz44Oe44Oz44OJ44Gu44Kt44O844Oe44OD44OX44GM44GC44KK44G+44Gb44KTIgogCi0jOiBiYXNobGluZS5jOjM1NDMKKyM6IGJhc2hsaW5lLmM6MzU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiDmnIDliJ3jga7pnZ7nqbrnmb3poZ7mloflrZfjgYwgYFwiJyDjgafjga/jgYLjgorjgb7jgZvjgpMiCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICLplonjgZjjgosgYCVjJyDjgYwgJXMg44Gr44GC44KK44G+44Gb44KTIgogCi0jOiBiYXNobGluZS5jOjM2MDYKKyM6IGJhc2hsaW5lLmM6MzY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IOWMuuWIh+OCiuaWh+Wtl+OCs+ODreODsyg6KeOBjOOBguOCiuOBvuOBm+OCkyIKIAogIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IGludmFsaWQgYWxpYXMgbmFtZSIKLW1zZ3N0ciAiJWMlYzogsK2kpKWqpdelt6XnpfMiCittc2dzdHIgImAlcyc6IOeEoeWKueOBquOCqOOCpOODquOCouOCueWQjeOBp+OBmSIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6MTIwIGJ1aWx0aW5zL2JpbmQuZGVmOjEyMwogbXNnaWQgImxpbmUgZWRpdGluZyBub3QgZW5hYmxlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICLooYznt6jpm4bjgYzmnInlirnjgavjgarjgaPjgabjgYTjgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjIwNgogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBpbnZhbGlkIGtleW1hcCBuYW1lIgotbXNnc3RyICIiCittc2dzdHIgImAlcyc6IOeEoeWKueOBquOCreODvOODnuODg+ODl+WQjeOBp+OBmSIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6MjQ1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCByZWFkOiAlcyIKLW1zZ3N0ciAiJXM6ICVzIKTyuu7ArqTHpK2k3qS7pPMiCittc2dzdHIgIiVzOiAlcyDjgpLoqq3jgb/ovrzjgoHjgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjI2MAotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IGNhbm5vdCB1bmJpbmQiCi1tc2dzdHIgIiVzOiCls6XepfOlyaSsuKukxKSrpOqk3qS7pPMiCittc2dzdHIgImAlcyc6IOWJsuOCiuW9k+OBpuino+mZpOOBp+OBjeOBvuOBm+OCkyIKIAogIzogYnVpbHRpbnMvYmluZC5kZWY6Mjk1IGJ1aWx0aW5zL2JpbmQuZGVmOjMyNQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IHVua25vd24gZnVuY3Rpb24gbmFtZSIKLW1zZ3N0ciAiJXM6IMbJpN+5/qTfpM6k36TOtNi/9CIKK21zZ3N0ciAiYCVzJzog5LiN5piO44Gq6Zai5pWw5ZCN44Gn44GZIgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjozMDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgbm90IGJvdW5kIHRvIGFueSBrZXlzLlxuIgotbXNnc3RyICIiCittc2dzdHIgIiVzIOOBr+OBqeOBruOCreODvOOBq+OCguWJsuOCiuW9k+OBpuOCieOCjOOBpuOBhOOBvuOBm+OCk+OAglxuIgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjozMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgY2FuIGJlIGludm9rZWQgdmlhICIKLW1zZ3N0ciAiIgorbXNnc3RyICIlcyDjga/mrKHjgpLpgJrjgZfjgabotbfli5XjgZfjgb7jgZkgIgogCiAjOiBidWlsdGlucy9icmVhay5kZWY6NzcgYnVpbHRpbnMvYnJlYWsuZGVmOjExNwotIywgZnV6enkKIG1zZ2lkICJsb29wIGNvdW50IgotbXNnc3RyICKl7aWwpaKlpqXIIgorbXNnc3RyICLjg6vjg7zjg5flm57mlbAiCiAKICM6IGJ1aWx0aW5zL2JyZWFrLmRlZjoxMzcKIG1zZ2lkICJvbmx5IG1lYW5pbmdmdWwgaW4gYSBgZm9yJywgYHdoaWxlJywgb3IgYHVudGlsJyBsb29wIgotbXNnc3RyICIiCittc2dzdHIgImBmb3In44CBYHdoaWxlJyDjgb7jgZ/jga8gYHVudGlsJyDjg6vjg7zjg5fjgafjga7jgb/mhI/lkbPjgYzjgYLjgorjgb7jgZkiCiAKICM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTMzCiBtc2dpZCAiIgpAQCAtMTE2LDM1OSArMTE3LDM0MSBAQAogIiAgICBcbiIKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQotbXNnaWQgIiIKLSIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKLSIgICAgIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Ci1tc2dpZCAiIgotIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgotIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisi54++5Zyo44Gu44K144OW44Or44O844OB44Oz5ZG844Gz5Ye644GX44Gu44Kz44Oz44OG44Kt44K544OI44KS6L+U44GX44G+44GZ44CCXG4iCiAiICAgIFxuIgotIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCi0iICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgotbXNnc3RyICIiCisiICAgIEVYUFIg44GM54Sh44GE5aC05ZCI44CB5qyh44KS6L+U44GX44G+44GZICIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIxNQorIzogYnVpbHRpbnMvY2QuZGVmOjIzNQogbXNnaWQgIkhPTUUgbm90IHNldCIKLW1zZ3N0ciAiIgorbXNnc3RyICJIT01FIOOBjOioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgotbXNnc3RyICIiCittc2dzdHIgIk9MRFBXRCDjgYzoqK3lrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEwMQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImxpbmUgJWQ6ICIKLW1zZ3N0ciAipbml7aXDpcggJTNkOiAiCittc2dzdHIgIiVkIOihjDogIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAiCi1tc2dzdHIgIr3xpK25/qTfw+YiCittc2dzdHIgIuitpuWRijogIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoxNTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVzYWdlOiAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IOS9v+eUqOazlTogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNworIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MzIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCi1tc2dzdHIgIrD6v/SkrMK/pLmkrqTepLkiCittc2dzdHIgIuW8leaVsOOBjOWkmuOBmeOBjuOBvuOBmSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgotbXNnc3RyICKlqqXXpbel56XzpMukz7D6v/SkrMmszdc6IC0iCittc2dzdHIgIiVzOiDjgqrjg5fjgrfjg6fjg7Pjgavjga/lvJXmlbDjgYzlv4XopoHjgafjgZkiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbnVtZXJpYyBhcmd1bWVudCByZXF1aXJlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczog5pWw5a2X44Gu5byV5pWw44GM5b+F6KaB44Gn44GZIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyMDUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGZvdW5kIgotbXNnc3RyICIlczogpbOl3qXzpcmkrLirpMSkq6TqpN6ku6TzIgorbXNnc3RyICIlczog6KaL44Gk44GL44KK44G+44Gb44KTIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3OTUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24iCi1tc2dzdHIgIiVjJWM6ILCtpKSlqqXXpbel56XzIgorbXNnc3RyICIlczog54Sh5Yq544Gq44Kq44OX44K344On44Oz44Gn44GZIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyMjEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBvcHRpb24gbmFtZSIKLW1zZ3N0ciAiJWMlYzogsK2kpKWqpdelt6XnpfMiCittc2dzdHIgIiVzOiDnhKHlirnjgarjgqrjg5fjgrfjg6fjg7PlkI3jgafjgZkiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIyOCBnZW5lcmFsLmM6MjMxIGdlbmVyYWwuYzoyMzYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBub3QgYSB2YWxpZCBpZGVudGlmaWVyIgotbXNnc3RyICJgJXMnIKTPza24+qTKs87Hp6THpM+kyqSkIgorbXNnc3RyICJgJXMnOiDmnInlirnjgarorZjliKXlrZDjgafjga/jgYLjgorjgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIzOAotIywgZnV6enkKIG1zZ2lkICJpbnZhbGlkIG9jdGFsIG51bWJlciIKLW1zZ3N0ciAisK2kpKW3pbClyqXryNa55iIKK21zZ3N0ciAi54Sh5Yq544Gq5YWr6YCy5pWw44Gn44GZIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyNDAKLSMsIGZ1enp5CiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgotbXNnc3RyICKwraSkpbelsKXKpevI1rnmIgorbXNnc3RyICLnhKHlirnjgarljYHlha3pgLLmlbDjgafjgZkiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgotIywgZnV6enkKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTM2MgogbXNnaWQgImludmFsaWQgbnVtYmVyIgotbXNnc3RyICKwraSkpbelsKXKpevI1rnmIgorbXNnc3RyICLnhKHlirnjgarmlbDlrZfjgafjgZkiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI1MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaWduYWwgc3BlY2lmaWNhdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczog54Sh5Yq544Gq44K344Kw44OK44Or5oyH5a6a44Gn44GZIgogCiAjOiBidWlsdGlucy9jb21tb24uYzoyNTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbm90IGEgcGlkIG9yIHZhbGlkIGpvYiBzcGVjIgotbXNnc3RyICIiCittc2dzdHIgImAlcyc6IHBpZCDjgb7jgZ/jga/mnInlirnjgarjgrjjg6fjg5bmjIflrprjgafjga/jgYLjgorjgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI2NCBlcnJvci5jOjQ1NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgdmFyaWFibGUiCi1tc2dzdHIgIiVzOiDGyaTfuf6k36TOpN+kzsrRv/QiCittc2dzdHIgIiVzOiDoqq3jgb/lj5bjgorlsILnlKjjga7lpInmlbDjgafjgZkiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI3MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXMgb3V0IG9mIHJhbmdlIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiAlcyDjgYznr4Tlm7LlpJbjgafjgZkiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI3MiBidWlsdGlucy9jb21tb24uYzoyNzQKLSMsIGZ1enp5CiBtc2dpZCAiYXJndW1lbnQiCi1tc2dzdHIgIrD6v/Sk8rT8wtQiCittc2dzdHIgIuW8leaVsCIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6Mjc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIG91dCBvZiByYW5nZSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlcyDjgYznr4Tlm7LlpJbjgafjgZkiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gc3VjaCBqb2IiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IOOBneOBruOCiOOBhuOBquOCuOODp+ODluOBr+OBguOCiuOBvuOBm+OCkyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MjkwCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vIGpvYiBjb250cm9sIgotbXNnc3RyICKks6TOpbelp6XrpMukz6W4peel1sCpuOakrKSipOqk3qS7pPMiCittc2dzdHIgIiVzOiDjgrjjg6fjg5bliLblvqHjgYznhKHlirnjgavjgarjgaPjgabjgYTjgb7jgZkiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI5MgotIywgZnV6enkKIG1zZ2lkICJubyBqb2IgY29udHJvbCIKLW1zZ3N0ciAipLOkzqW3pael66TLpM+luKXnpdbAqbjmpKykoqTqpN6ku6TzIgorbXNnc3RyICLjgrjjg6fjg5bliLblvqHjgYznhKHlirnjgavjgarjgaPjgabjgYTjgb7jgZkiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMwMgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkIgotbXNnc3RyICIlczogpbil56XWpM+9qs67pLek3qS3pL8iCittc2dzdHIgIiVzOiDliLbpmZDjgZXjgozjgabjgYTjgb7jgZkiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMwNAotIywgZnV6enkKIG1zZ2lkICJyZXN0cmljdGVkIgotbXNnc3RyICK9qs67pLek3qS3pL8iCittc2dzdHIgIuWItumZkOOBleOCjOOBpuOBhOOBvuOBmSIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MzEyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSBzaGVsbCBidWlsdGluIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiDjgrfjgqfjg6vjga7jg5Pjg6vjg4jjgqTjg7PplqLmlbDjgafjga/jgYLjgorjgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMyMQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIndyaXRlIGVycm9yOiAlcyIKLW1zZ3N0ciAipdGlpKXXpail6aG8OiAlcyIKK21zZ3N0ciAi5pu444GN6L6844G/44Ko44Op44O8OiAlcyIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgImVycm9yIHNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlczogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi44K/44O844Of44OK44Or5bGe5oCn44Gu6Kit5a6a5pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIDogJXMiCiAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBnZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzIgotbXNnc3RyICIiCittc2dzdHIgIuOCv+ODvOODn+ODiuODq+WxnuaAp+OBruWPluW+l+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyA6ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzo1NjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGVycm9yIHJldHJpZXZpbmcgY3VycmVudCBkaXJlY3Rvcnk6ICVzOiAlc1xuIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiDjgqvjg6zjg7Pjg4jjg4fjgqPjg6zjgq/jg4jjg6rjga7lj5blvpfmmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8gOiAlczogJXNcbiIKIAogIzogYnVpbHRpbnMvY29tbW9uLmM6NjI5IGJ1aWx0aW5zL2NvbW1vbi5jOjYzMQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCi1tc2dzdHIgIiVzOiCkoqSkpN6kpKTKpeqlwKWkpeylr6XIIgorbXNnc3RyICIlczog5puW5pin44Gq44K444On44OW5oyH5a6a44Gn44GZIgogCiAjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiDnhKHlirnjgarjgqLjgq/jgrfjg6fjg7PlkI3jgafjgZkiCiAKICM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAogIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiDoo5zlrozmjIflrprjgYzjgYLjgorjgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTYKIG1zZ2lkICJ3YXJuaW5nOiAtRiBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCi1tc2dzdHIgIiIKK21zZ3N0ciAi6K2m5ZGKOiAtRiDjgqrjg5fjgrfjg6fjg7Pjga/mnJ/lvoXpgJrjgorjgavli5XkvZzjgZfjgarjgYTjgYvjgoLjgZfjgozjgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo2OTgKIG1zZ2lkICJ3YXJuaW5nOiAtQyBvcHRpb24gbWF5IG5vdCB3b3JrIGFzIHlvdSBleHBlY3QiCi1tc2dzdHIgIiIKK21zZ3N0ciAi6K2m5ZGKOiAtQyDjgqrjg5fjgrfjg6fjg7Pjga/mnJ/lvoXpgJrjgorjgavli5XkvZzjgZfjgarjgYTjgYvjgoLjgZfjgozjgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIuijnOWujOapn+iDveOBr+ePvuWcqOWun+ihjOOBleOCjOOBpuOBhOOBvuOBm+OCkyIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjQKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAi6Zai5pWw44Gu5Lit44Gn44Gu44G/5L2/55So44Gn44GN44G+44GZIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKLW1zZ3N0ciAiIgorbXNnc3RyICLplqLmlbDkvZzmiJDmmYLjgasgYC1mJyDjgpLkvb/nlKjjgafjgY3jgb7jgZvjgpMiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3OCBleGVjdXRlX2NtZC5jOjUxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgotbXNnc3RyICIlczogxsmk37n+pN+kzqTfpM602L/0IgorbXNnc3RyICIlczog6Kqt44G/5Y+W44KK5bCC55So6Zai5pWw44Gn44GZIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCi1tc2dzdHIgIiQlczogpLOkzqTopKaky7vYxOqkx6StpN6ku6TzIgorbXNnc3RyICIlczog44GT44Gu5pa55rOV44Gn6YWN5YiX5aSJ5pWw44KS5raI5Y6744GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczog6YCj5oOz6YWN5YiX44GL44KJ44Kk44Oz44OH44OD44Kv44K56YWN5YiX44Gr5aSJ5o+b44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgogCiAjOiBidWlsdGlucy9lbmFibGUuZGVmOjEzNyBidWlsdGlucy9lbmFibGUuZGVmOjE0NQogbXNnaWQgImR5bmFtaWMgbG9hZGluZyBub3QgYXZhaWxhYmxlIgotbXNnc3RyICIiCittc2dzdHIgIuWLleeahOODreODvOODieOBr+WIqeeUqOOBp+OBjeOBvuOBm+OCkyIKIAogIzogYnVpbHRpbnMvZW5hYmxlLmRlZjozMTIKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBzaGFyZWQgb2JqZWN0ICVzOiAlcyIKLW1zZ3N0ciAibmFtZWQgcGlwZSAlcyCk8iAlcyCk2LOrpLGk3qS7pPM6ICVzIgorbXNnc3RyICLlhbHmnInjgqrjg5bjgrjjgqfjgq/jg4ggJXMg44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTIDogJXMiCiAKICM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6MzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBmaW5kICVzIGluIHNoYXJlZCBvYmplY3QgJXM6ICVzIgotbXNnc3RyICIiCittc2dzdHIgIiVzIOOBjOWFseacieOCquODluOCuOOCp+OCr+ODiCAlcyDjgavlrZjlnKjjgZfjgb7jgZvjgpM6ICVzIgogCiAjOiBidWlsdGlucy9lbmFibGUuZGVmOjQ1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGR5bmFtaWNhbGx5IGxvYWRlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczog5YuV55qE44Gr44Ot44O844OJ44GV44KM44Gm44GE44G+44Gb44KTIgogCiAjOiBidWlsdGlucy9lbmFibGUuZGVmOjQ3NAotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKLW1zZ3N0ciAiJXM6ICVzIKTyuu7ArqTHpK2k3qS7pPMiCittc2dzdHIgIiVzOiDliYrpmaTjgafjgY3jgb7jgZvjgpM6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0Ci0jOiBzaGVsbC5jOjE0NTIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCi1tc2dzdHIgIiVzOiCkz6XHpaOl7KWvpcil6qTHpLkiCittc2dzdHIgIiVzOiDjg4fjgqPjg6zjgq/jg4jjg6rjgafjgZkiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCi1tc2dzdHIgIiVzOiCl0KWkpcql6qXVpaGlpKXrpPK8wrnUpMekraTepLuk8yIKK21zZ3N0ciAiJXM6IOmAmuW4uOODleOCoeOCpOODq+OBp+OBr+OBguOCiuOBvuOBm+OCkyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDcKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczog44OV44Kh44Kk44Or44GM5aSn44GN44GZ44GO44G+44GZIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKLSM6IHNoZWxsLmM6MTQ2MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgotbXNnc3RyICIlczogpdClpKXKpeql1aWhpaSl66TyvMK51KTHpK2k3qS7pPMiCittc2dzdHIgIiVzOiDjg5DjgqTjg4rjg6rjg5XjgqHjgqTjg6vjgpLlrp/ooYzjgafjgY3jgb7jgZvjgpMiCiAKLSM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgotbXNnc3RyICIlczogJXMgpPK67sCupMekraTepLuk8yIKK21zZ3N0ciAiJXM6IOWun+ihjOOBp+OBjeOBvuOBm+OCkzogJXMiCiAKICM6IGJ1aWx0aW5zL2V4aXQuZGVmOjY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAibG9nb3V0XG4iCi1tc2dzdHIgIqXtpbCloqWmpcgiCittc2dzdHIgIuODreOCsOOCouOCpuODiFxuIgogCiAjOiBidWlsdGlucy9leGl0LmRlZjo4OAogbXNnaWQgIm5vdCBsb2dpbiBzaGVsbDogdXNlIGBleGl0JyIKLW1zZ3N0ciAiIgorbXNnc3RyICLjg63jgrDjgqTjg7Pjgrfjgqfjg6vjgafjga/jgYLjgorjgb7jgZvjgpM6IGBleGl0JyDjgpLkvb/nlKjjgZfjgabjgY/jgaDjgZXjgYQiCiAKICM6IGJ1aWx0aW5zL2V4aXQuZGVmOjEyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGVyZSBhcmUgc3RvcHBlZCBqb2JzLlxuIgotbXNnc3RyICIiCittc2dzdHIgIuWBnOatouOBl+OBpuOBhOOCi+OCuOODp+ODluOBjOOBguOCiuOBvuOBmeOAglxuIgogCiAjOiBidWlsdGlucy9leGl0LmRlZjoxMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgYXJlIHJ1bm5pbmcgam9icy5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICLli5XkvZzkuK3jga7jgrjjg6fjg5bjgYzjgYLjgorjgb7jgZnjgIJcbiIKIAogIzogYnVpbHRpbnMvZmMuZGVmOjI2MgotIywgZnV6enkKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgotbXNnc3RyICIlczogpbOl3qXzpcmkrLirpMSkq6TqpN6ku6TzIgorbXNnc3RyICLjgrPjg57jg7Pjg4njgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICLjg5Ljgrnjg4jjg6rmjIflrpoiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbnMvZmMuZGVmOjM4MAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKLW1zZ3N0ciAiJXM6ICVzIKTyuu7ArqTHpK2k3qS7pPMiCittc2dzdHIgIiVzOiDkuIDmmYLjg5XjgqHjgqTjg6vjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpM6ICVzIgogCiAjOiBidWlsdGlucy9mZ19iZy5kZWY6MTQ5IGJ1aWx0aW5zL2pvYnMuZGVmOjI4MgogbXNnaWQgImN1cnJlbnQiCi1tc2dzdHIgIiIKK21zZ3N0ciAi44Kr44Os44Oz44OIIgogCiAjOiBidWlsdGlucy9mZ19iZy5kZWY6MTU4CiAjLCBjLWZvcm1hdAogbXNnaWQgImpvYiAlZCBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wiCi1tc2dzdHIgIiIKK21zZ3N0ciAi44K444On44OWICVkIOOBjOOCuOODp+ODluWItuW+oeOBquOBl+OBp+mWi+Wni+OBleOCjOOBvuOBl+OBnyIKIAogIzogYnVpbHRpbnMvZ2V0b3B0LmM6MTEwCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCi1tc2dzdHIgIsnUwLWkyqWqpdelt6XnpfM6IC0iCittc2dzdHIgIiVzOiDkuI3mraPjgarjgqrjg5fjgrfjg6fjg7PjgafjgZkgLS0gJWNcbiIKIAogIzogYnVpbHRpbnMvZ2V0b3B0LmM6MTExCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlY1xuIgotbXNnc3RyICKlqqXXpbel56XzpMukz7D6v/SkrMmszdc6IC0iCittc2dzdHIgIiVzOiDjgqrjg5fjgrfjg6fjg7Pjgavjga/lvJXmlbDjgYzlv4XopoHjgafjgZkgLS0gJWNcbiIKIAogIzogYnVpbHRpbnMvaGFzaC5kZWY6OTIKIG1zZ2lkICJoYXNoaW5nIGRpc2FibGVkIgotbXNnc3RyICIiCittc2dzdHIgIuODj+ODg+OCt+ODpeOBjOeEoeWKueOBq+OBquOBo+OBpuOBhOOBvuOBmSIKIAogIzogYnVpbHRpbnMvaGFzaC5kZWY6MTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IOODj+ODg+OCt+ODpeODhuODvOODluODq+OBjOepuuOBp+OBmVxuIgogCi0jOiBidWlsdGlucy9oYXNoLmRlZjoyNDQKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJoaXRzXHRjb21tYW5kXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiaGl0c1x0Y29tbWFuZFxuIgogCiAjOiBidWlsdGlucy9oZWxwLmRlZjoxMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2hlbGwgY29tbWFuZHMgbWF0Y2hpbmcga2V5d29yZCBgIgogbXNnaWRfcGx1cmFsICJTaGVsbCBjb21tYW5kcyBtYXRjaGluZyBrZXl3b3JkcyBgIgotbXNnc3RyWzBdICIiCi1tc2dzdHJbMV0gIiIKK21zZ3N0clswXSAi44Kt44O844Ov44O844OJ44Gr5LiA6Ie044GX44Gf44K344Kn44Or44Kz44Oe44Oz44OJIGAiCiAKICM6IGJ1aWx0aW5zL2hlbHAuZGVmOjE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAibm8gaGVscCB0b3BpY3MgbWF0Y2ggYCVzJy4gIFRyeSBgaGVscCBoZWxwJyBvciBgbWFuIC1rICVzJyBvciBgaW5mbyAlcycuIgogbXNnc3RyICIiCisiYCVzJyDjgavkuIDoh7TjgZnjgovjg5jjg6vjg5fpoIXnm67jgYzjgYLjgorjgb7jgZvjgpPjgIJgaGVscCBoZWxwJ+OAgWBtYW4gLWsgJXMnIOOBvuOBn+OBryBgaW5mbyAiCisiJXMnIOOCkuippuOBl+OBpuOBj+OBoOOBleOBhCIKIAogIzogYnVpbHRpbnMvaGVscC5kZWY6MTg1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuOiAlcyIKLW1zZ3N0ciAiJXM6ICVzIKTyuu7ArqTHpK2k3qS7pPMiCittc2dzdHIgIiVzOiDplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpM6ICVzIgogCiAjOiBidWlsdGlucy9oZWxwLmRlZjozMzcKICMsIGMtZm9ybWF0CkBAIC00ODEsMTE4ICs0NjQsMTM0IEBACiAiQSBzdGFyICgqKSBuZXh0IHRvIGEgbmFtZSBtZWFucyB0aGF0IHRoZSBjb21tYW5kIGlzIGRpc2FibGVkLlxuIgogIlxuIgogbXNnc3RyICIiCisi44GT44KM44KJ44Gu44K344Kn44Or44Kz44Oe44Oz44OJ44Gv5YaF6YOo44Gn5a6a576p44GV44KM44Gm44GE44G+44GZ44CCYGhlbHAnIOOBqOWFpeWKm+OBl+OBpuS4gOimp+OCkuWPgueFp+OBlyIKKyLjgabjgY/jgaDjgZXjgYTjgIJcbiIKKyJgaGVscCDlkI3liY0nIOOBqOWFpeWKm+OBmeOCi+OBqCBg5ZCN5YmNJyDjgajjgYTjgYbplqLmlbDjga7jgojjgoroqbPjgZfjgYToqqzmmI7jgYzlvpfjgonjgozjgb7jgZnjgIJcbiIKKyInaW5mbyBiYXNoJyDjgpLkvb/nlKjjgZnjgovjgajjgrfjgqfjg6vlhajoiKzjga7jgojjgoroqbPjgZfjgYToqqzmmI7jgYzlvpfjgonjgozjgb7jgZnjgIJcbiIKKyJgbWFuIC1rJyDjgb7jgZ/jga8gaW5mbyDjgpLkvb/nlKjjgZnjgovjgajkuIDopqfjgavjgarjgYTjgrPjg57jg7Pjg4njga7jgojjgoroqbPjgZfjgYToqqzmmI7jgYzlvpfjgonjgozjgb4iCisi44GZ44CCXG4iCisiXG4iCisi5ZCN5YmN44Gu5b6M44Gr44Ki44K544K/44Oq44K544KvICgqKSDjgYzjgYLjgovloLTlkIjjga/jgZ3jga7jgrPjg57jg7Pjg4njgYznhKHlirnjgavjgarjgaPjgabjgYTjgovjgZPjgajjgpLmhI8iCisi5ZGz44GX44G+44GZ44CCXG4iCisiXG4iCiAKICM6IGJ1aWx0aW5zL2hpc3RvcnkuZGVmOjE1NAogbXNnaWQgImNhbm5vdCB1c2UgbW9yZSB0aGFuIG9uZSBvZiAtYW5ydyIKLW1zZ3N0ciAiIgorbXNnc3RyICItYW5ydyDjgpIy44Gk5Lul5LiK5LiA57eS44Gr5L2/55So44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgogCiAjOiBidWlsdGlucy9oaXN0b3J5LmRlZjoxODYKIG1zZ2lkICJoaXN0b3J5IHBvc2l0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIuODkuOCueODiOODquS9jee9riIKIAogIzogYnVpbHRpbnMvaGlzdG9yeS5kZWY6MzY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGhpc3RvcnkgZXhwYW5zaW9uIGZhaWxlZCIKLW1zZ3N0ciAiJXM6ILvYv/Skzsm9uL2k8rT8wtQiCittc2dzdHIgIiVzOiDjg5Ljgrnjg4jjg6rjga7lsZXplovjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCiAKICM6IGJ1aWx0aW5zL2lubGliLmRlZjo3MQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbmxpYiBmYWlsZWQiCi1tc2dzdHIgIiVzOiC72L/0pM7Jvbi9pPK0/MLUIgorbXNnc3RyICIlczogaW5saWIg44GM5aSx5pWX44GX44G+44GX44GfIgogCiAjOiBidWlsdGlucy9qb2JzLmRlZjoxMDkKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgotbXNnc3RyICIiCittc2dzdHIgImAteCcg44Gv5LuW44Gu44Kq44OX44K344On44Oz44KS5ZCM5pmC44Gr5L2/55So44Gn44GN44G+44Gb44KTIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyMDAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiDlvJXmlbDjga/jg5fjg63jgrvjgrlJROOBi+OCuOODp+ODlklE44Gn44Gq44GR44KM44Gw44GE44GR44G+44Gb44KTIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjMKLSMsIGZ1enp5CisjOiBidWlsdGlucy9raWxsLmRlZjoyNjEKIG1zZ2lkICJVbmtub3duIGVycm9yIgotbXNnc3RyICLMpMPOpM6lqKXpobwgJWQiCittc2dzdHIgIuS4jeaYjuOBquOCqOODqeODvOOBp+OBmSIKIAotIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTAxIGV4cHIuYzo1MTYKKyM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjU1MiBleHByLmM6NTY3CiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKLW1zZ3N0ciAiyb24vaTytPzC1KS3pMak3qS5IgorbXNnc3RyICLlvI/jgYzkuojmnJ/jgZXjgozjgb7jgZkiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNzIKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgotbXNnc3RyICIlczogxbizq6S1pOykxqSkpMqkpMrRv/QiCittc2dzdHIgIiVzOiDjgqTjg7Pjg4fjg4Pjgq/jgrnphY3liJfjgafjga/jgYLjgorjgb7jgZvjgpMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NiBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IOeEoeWKueOBquODleOCoeOCpOODq+iomOi/sOWtkOaMh+WumuOBp+OBmSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY0IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgotbXNnc3RyICIiCittc2dzdHIgIiVkOiAlcyDjga/nhKHlirnjgarjg5XjgqHjgqTjg6voqJjov7DlrZDjgafjgZkiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjczIGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxMQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgotbXNnc3RyICIlYyVjOiCwraSkpaql16W3peel8yIKK21zZ3N0ciAiJXM6IOeEoeWKueOBquihjOaVsOOBp+OBmSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCi1tc2dzdHIgIiVjJWM6ILCtpKSlqqXXpbel56XzIgorbXNnc3RyICIlczog54Sh5Yq544Gq6YWN5YiX44Gu5Y6f54K544Gn44GZIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzAxCisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCi1tc2dzdHIgIrCtpKSlt6Wwpcql68jWueYiCittc2dzdHIgIiVzOiDjgrPjg7zjg6vjg5Djg4Pjgq/jga4gcXVhbnR1bSDjgYznhKHlirnjgafjgZkiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgotIywgZnV6enkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCi1tc2dzdHIgIiVzOiDFuLOrpLWk7KTGpKSkyqSkytG/9CIKK21zZ3N0ciAi56m644Gu6YWN5YiX5aSJ5pWw5ZCN44Gn44GZIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM1NAogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAi6YWN5YiX5aSJ5pWw44Gu44K144Od44O844OI44GM5b+F6KaB44Gn44GZIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgotbXNnc3RyICIiCittc2dzdHIgImAlcyc6IOabuOW8j+aMh+WumuaWh+Wtl+OBjOOBguOCiuOBvuOBm+OCkyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiDnhKHlirnjgarjgr/jgqTjg6DjgqLjgqbjg4jmjIflrprjgafjgZkiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKLW1zZ3N0ciAiIgorbXNnc3RyICJgJWMnOiDnhKHlirnjgarmm7jlvI/mjIflrprmloflrZfjgafjgZkiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CisjOiBidWlsdGlucy9wcmludGYuZGVmOjY2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi6K2m5ZGKOiAlczogJXMiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjg0MAogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCi1tc2dzdHIgIiIKK21zZ3N0ciAiXFx4IOOBq+WNgeWFremAsuaVsOWtl+OBjOOBguOCiuOBvuOBm+OCkyIKKworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAiXFx4IOOBq+WNgeWFremAsuaVsOWtl+OBjOOBguOCiuOBvuOBm+OCkyIKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQotIywgZnV6enkKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCi1tc2dzdHIgIiVzOiCkz6XHpaOl7KWvpcil6qTHpLkiCittc2dzdHIgIuS7luOBruODh+OCo+ODrOOCr+ODiOODquOBr+OBguOCiuOBvuOBm+OCkyIKIAogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjQ2MgogbXNnaWQgIjxubyBjdXJyZW50IGRpcmVjdG9yeT4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiPOOCq+ODrOODs+ODiOODh+OCo+ODrOOCr+ODiOODquOBjOOBguOCiuOBvuOBm+OCkz4iCiAKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo1MDYKIG1zZ2lkICJkaXJlY3Rvcnkgc3RhY2sgZW1wdHkiCi1tc2dzdHIgIiIKK21zZ3N0ciAi44OH44Kj44Os44Kv44OI44Oq44K544K/44OD44Kv44GM56m644Gn44GZIgogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NTA4Ci0jLCBmdXp6eQogbXNnaWQgImRpcmVjdG9yeSBzdGFjayBpbmRleCIKLW1zZ3N0ciAiUmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKK21zZ3N0ciAi44OH44Kj44Os44Kv44OI44Oq44K544K/44OD44Kv44Gu44Kk44Oz44OH44OD44Kv44K5IgogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NjgzCiBtc2dpZCAiIgpAQCAtNjE3LDYgKzYxNiwyNCBAQAogImJ5XG4iCiAiXHRkaXJzIHdoZW4gaW52b2tlZCB3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby4iCiBtc2dzdHIgIiIKKyLnj77lnKjoqJjmhrbjgZXjgozjgabjgYTjgovjg4fjgqPjg6zjgq/jg4jjg6rjgrnjgr/jg4Pjgq/jgpLooajnpLrjgZfjgb7jgZnjgILjg4fjgqPjg6zjgq/jg4jjg6rjga8gYHB1c2hkJ1xuIgorIiAgICDjgrPjg57jg7Pjg4njgavjgojjgaPjgabjgrnjgr/jg4Pjgq/jga7kuIDnlarkuIrjgavkv53lrZjjgZXjgozjgb7jgZnjgIJgcG9wZCfjgrPjg57jg7Pjg4njgavjgojjgaPjgaZcbiIKKyIgICAg44K544K/44OD44Kv44GL44KJ5Y+W44KK5oi744GZ44GT44Go44GM44Gn44GN44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLWNcdOODh+OCo+ODrOOCr+ODiOODquOCueOCv+ODg+OCr+OBi+OCieOBmeOBueOBpuOBruimgee0oOOCkuWPluOCiumZpOOBjeepuuOBq+OBmeOCi1xuIgorIiAgICAgIC1sXHTjg5vjg7zjg6Djg4fjgqPjg6zjgq/jg4jjg6rjgYvjgonjga7nm7jlr77jg5HjgrnjgpIgfiDjgpLliKnnlKjjgZfjgZ/lvaLlvI/jgadcbiIKKyIgICAgXHTooajnpLrjgZfjgarjgYRcbiIKKyIgICAgICAtcFx044OH44Kj44Os44Kv44OI44Oq44K544K/44OD44Kv44Gu6KaB57Sg44KSMeihjOavjuOBq+ihqOekuuOBmeOCi1xuIgorIiAgICAgIC12XHTjg4fjgqPjg6zjgq/jg4jjg6rjgrnjgr/jg4Pjgq/jga7opoHntKDjgpIx6KGM44GU44Go44Gr55Wq5Y+344KS44Gk44GR44GmXG4iCisiICAgIFx06KGo56S644GZ44KLXG4iCisiICAgIFxuIgorIiAgICDlvJXmlbA6XG4iCisiICAgICAgK05cdOOCquODl+OCt+ODp+ODs+OBquOBl+OBp+i1t+WLleOBleOCjOOBn+WgtOWQiOOBq+ODquOCueODiOOBruWFiOmgreOBi+OCieaVsOOBiOOBplxuIgorIiAgICBcdE7nlarnm67jga7opoHntKDjgpLooajnpLrjgZfjgb7jgZnjgILplovlp4vnlarlj7fjga8w44Gn44GZ44CCXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHTjgqrjg5fjgrfjg6fjg7PjgarjgZfjgafotbfli5XjgZXjgozjgZ/loLTlkIjjgavjg6rjgrnjg4jjga7mnKvlsL7jgYvjgonmlbDjgYjjgaZcbiIKKyJcdE7nlarnm67jga7opoHntKDjgpLooajnpLrjgZfjgb7jgZnjgILplovlp4vnlarlj7fjga8w44Gn44GZ44CCIgogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NzA1CiBtc2dpZCAiIgpAQCAtNjQyLDYgKzY1OSwyNSBAQAogIiAgICBcbiIKICIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suIgogbXNnc3RyICIiCisi44OH44Kj44Os44Kv44OI44Oq44K544K/44OD44Kv44Gu5YWI6aCt44Gr44OH44Kj44Os44Kv44OI44Oq44KS6L+95Yqg44GX44G+44GZ44CC44G+44Gf44Gv44OH44Kj44Os44Kv44OI44OqXG4iCisiICAgIOOCueOCv+ODg+OCr+OCkuWbnui7ouOBl+OBvuOBmeOAguaWsOOBl+OBhOOCueOCv+ODg+OCr+OBruWFiOmgreOBjOOCq+ODrOODs+ODiOODh+OCo+ODrOOCr+ODiOODquOBq+OBqlxuIgorIiAgICDjgorjgb7jgZnjgILlvJXmlbDjgarjgZfjgafotbfli5XjgZXjgozjgZ/loLTlkIjjgIHlhYjpoK3jga4y44Gk44Gu44OH44Kj44Os44Kv44OI44Oq44KS5Lqk5o+b44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLW5cdOOCueOCv+ODg+OCr+OBq+ODh+OCo+ODrOOCr+ODiOODquOCkui/veWKoOOBl+OBn+aZguOBq+mAmuW4uOOBruODh+OCo+ODrOOCr+ODiOODquWkieabtFxuIgorIiAgICBcdOOCkuaKkeatouOBl+OBvuOBmeOAguOCiOOBo+OBpuOAgeOCueOCv+ODg+OCr+OBruOBv+aTjeS9nOOBleOCjOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg5byV5pWwOlxuIgorIiAgICAgICtOXHTlhYjpoK3jgYxO55Wq55uu44Gu44OH44Kj44Os44Kv44OI44Oq44Gr44Gq44KL44KI44GG44Gr5Zue6Lui44GX44G+44GZKGBkaXJzJ+OBp1xuIgorIiAgICBcdOihqOekuuOBleOCjOOCi+OCueOCv+ODg+OCr+OBruWFiOmgreOBi+OCieaVsOOBiOOBn+aVsOOBp+OBmeOAgumWi+Wni+eVquWPt+OBrzDjgafjgZkp44CCXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHTlhYjpoK3jgYxO55Wq55uu44Gu44OH44Kj44Os44Kv44OI44Oq44Gr44Gq44KL44KI44GG44Gr5Zue6Lui44GX44G+44GZKGBkaXJzJ+OBp1xuIgorIiAgICBcdOihqOekuuOBleOCjOOCi+OCueOCv+ODg+OCr+OBruacq+WwvuOBi+OCieaVsOOBiOOBn+aVsOOBp+OBmeOAgumWi+Wni+eVquWPt+OBrzDjgafjgZkp44CCXG4iCisiICAgIFxuIgorIiAgICAgIOODh+OCo+ODrOOCr+ODiOODqlx044OH44Kj44Os44Kv44OI44Oq44KS44K544K/44OD44Kv44Gu5YWI6aCt44Gr5Yqg44GI44CB44Gd44Gu44OH44Kj44Os44KvXG4iCisiICAgIFx044OI44Oq44KS5paw44GX44GE44Kr44Os44Oz44OI44OH44Kj44Os44Kv44OI44Oq44Gr44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBgZGlycycg44OT44Or44OI44Kk44Oz44Kz44Oe44Oz44OJ44Gn44OH44Kj44Os44Kv44OI44Oq44K544K/44OD44Kv44KS6KGo56S644GX44G+44GZ44CCIgogCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6NzMwCiBtc2dpZCAiIgpAQCAtNjYzLDQ2NiArNjk5LDQ3MyBAQAogIiAgICBcbiIKICIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suIgogbXNnc3RyICIiCisi44OH44Kj44Os44Kv44OI44Oq44K544K/44OD44Kv44GL44KJ6KaB57Sg44KS5YmK6Zmk44GX44G+44GZ44CC5byV5pWw44GM54Sh44GE5aC05ZCI44K544K/44OD44Kv44Gu5YWI6aCt44GL44KJXG4iCisiICAgIOWJiumZpOOBl+OAgeaWsOOBl+OBhOOCueOCv+ODg+OCr+OBruWFiOmgreODh+OCo+ODrOOCr+ODiOODquOBq+enu+WLleOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1uXHTjgrnjgr/jg4Pjgq/jgYvjgonjg4fjgqPjg6zjgq/jg4jjg6rjgpLliYrpmaTjgZfjgZ/mmYLjgavpgJrluLjjga7jg4fjgqPjg6zjgq/jg4jjg6rlpInmm7RcbiIKKyIgICAgXHTjgpLmipHmraLjgZfjgb7jgZnjgILjgojjgaPjgabjgIHjgrnjgr/jg4Pjgq/jga7jgb/mk43kvZzjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOW8leaVsDpcbiIKKyIgICAgICArTlx044OH44Kj44Os44Kv44OI44Oq44K544K/44OD44KvKGBkaXJzJyDjgafooajnpLrjgZXjgozjgosp44Gu5YWI6aCt44GL44KJ5pWw44GI44GmXG4iCisiICAgIFx0IE4g55Wq55uu44Gu6KaB57Sg44KS5YmK6Zmk44GX44G+44GZ44CC6ZaL5aeL55Wq5Y+344GvIDAg44Gn44GZ44CC5L6LOiBgcG9wZCArMCdcbiIKKyIgICAgXHTjga/mnIDliJ3jga7jg4fjgqPjg6zjgq/jg4jjg6rjgpLliYrpmaTjgZfjgb7jgZnjgIJgcG9wZCArMScg44GvMueVquebruOBp+OBmeOAglxuIgorIiAgICBcbiIKKyIgICAgICAtTlx044OH44Kj44Os44Kv44OI44Oq44K544K/44OD44KvKGBkaXJzJyDjgafooajnpLrjgZXjgozjgosp44Gu5pyA5b6M44GL44KJ5pWw44GI44GmXG4iCisiICAgIFx0IE4g55Wq55uu44Gu6KaB57Sg44KS5YmK6Zmk44GX44G+44GZ44CC6ZaL5aeL55Wq5Y+344GvIDAg44Gn44GZ44CC5L6LOiBgcG9wZCArMCdcbiIKKyIgICAgXHTjga/mnIDlvozjga7jg4fjgqPjg6zjgq/jg4jjg6rjgpLliYrpmaTjgZfjgb7jgZnjgIJgcG9wZCArMScg44Gv5pyA5b6M44GL44KJMueVquebruOBp+OBmeOAglxuIgorIiAgICBcbiIKKyIgICAgYGRpcnMnIOODk+ODq+ODiOOCpOODs+OCs+ODnuODs+ODieOBp+ODh+OCo+ODrOOCr+ODiOODquOCueOCv+ODg+OCr+OCkuihqOekuuOBl+OBvuOBmeOAgiIKIAogIzogYnVpbHRpbnMvcmVhZC5kZWY6MjUyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHRpbWVvdXQgc3BlY2lmaWNhdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczog54Sh5Yq544Gq44K/44Kk44Og44Ki44Km44OI5oyH5a6a44Gn44GZIgogCiAjOiBidWlsdGlucy9yZWFkLmRlZjo1ODgKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCi1tc2dzdHIgIqXRpaSl16WopemhvDogJXMiCittc2dzdHIgIuiqreOBv+i+vOOBv+OCqOODqeODvDogJWQ6ICVzIgogCiAjOiBidWlsdGlucy9yZXR1cm4uZGVmOjczCiBtc2dpZCAiY2FuIG9ubHkgYHJldHVybicgZnJvbSBhIGZ1bmN0aW9uIG9yIHNvdXJjZWQgc2NyaXB0IgotbXNnc3RyICIiCittc2dzdHIgImByZXR1cm4nIOOBr+mWouaVsOOBvuOBn+OBryBzb3VyY2Ug44GV44KM44Gf44K544Kv44Oq44OX44OI5YaF44Gu44G/44Gn5Yip55So44Gn44GN44G+44GZIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjc2OAorIzogYnVpbHRpbnMvc2V0LmRlZjo3NzEKIG1zZ2lkICJjYW5ub3Qgc2ltdWx0YW5lb3VzbHkgdW5zZXQgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLlpInmlbDjgajplqLmlbDjgpLlkIzmmYLjgavmtojljrvjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpMiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODA4CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQiCi1tc2dzdHIgIiVzOiAlcyCk8rruwK6kx6StpN6ku6TzIgorbXNnc3RyICIlczog5raI5Y6744Gn44GN44G+44Gb44KTIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgxMgotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9zZXQuZGVmOjgxNQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0OiByZWFkb25seSAlcyIKLW1zZ3N0ciAiJXM6ICVzIKTyuu7ArqTHpK2k3qS7pPMiCittc2dzdHIgIiVzOiDmtojljrvjgafjgY3jgb7jgZvjgpM6ICVzIOOBr+iqreOBv+WPluOCiuWwgueUqOOBp+OBmSIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MjMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbnMvc2V0LmRlZjo4MjYKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKLW1zZ3N0ciAiJXM6IMW4s6uktaTspMakpKTKpKTK0b/0IgorbXNnc3RyICIlczog6YWN5YiX5aSJ5pWw44Gn44Gv44GC44KK44G+44Gb44KTIgogCiAjOiBidWlsdGlucy9zZXRhdHRyLmRlZjoxODYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgZnVuY3Rpb24iCi1tc2dzdHIgIiVzOiDGyaTfuf6k36TOpN+kzrTYv/QiCittc2dzdHIgIiVzOiDplqLmlbDjgafjga/jgYLjgorjgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL3NoaWZ0LmRlZjo3MSBidWlsdGlucy9zaGlmdC5kZWY6NzcKLSMsIGZ1enp5CiBtc2dpZCAic2hpZnQgY291bnQiCi1tc2dzdHIgInNoaWZ0IFtuXSIKK21zZ3N0ciAi44K344OV44OI5Zue5pWwIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MjYwCisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjY0CiBtc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKLW1zZ3N0ciAiIgorbXNnc3RyICLjgrfjgqfjg6vjgqrjg5fjgrfjg6fjg7PjgpLlkIzmmYLjgavmnInlirnjgYvjgaTnhKHlirnjgavjgafjgY3jgb7jgZvjgpMiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IOeEoeWKueOBquOCt+OCp+ODq+OCquODl+OCt+ODp+ODs+WQjeOBp+OBmSIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAi44OV44Kh44Kk44Or5ZCN44GM5byV5pWw44Go44GX44Gm5b+F6KaB44Gn44GZIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1MwotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1NQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCi1tc2dzdHIgIiVzOiCls6XepfOlyaSsuKukxKSrpOqk3qS7pPMiCittc2dzdHIgIiVzOiDjg5XjgqHjgqTjg6vjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL3N1c3BlbmQuZGVmOjEwMQogbXNnaWQgImNhbm5vdCBzdXNwZW5kIgotbXNnc3RyICIiCittc2dzdHIgIuS4reaWreOBp+OBjeOBvuOBm+OCkyIKIAogIzogYnVpbHRpbnMvc3VzcGVuZC5kZWY6MTExCiBtc2dpZCAiY2Fubm90IHN1c3BlbmQgYSBsb2dpbiBzaGVsbCIKLW1zZ3N0ciAiIgorbXNnc3RyICLjg63jgrDjgqTjg7Pjgrfjgqfjg6vjgpLkuK3mlq3jgafjgY3jgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zL3R5cGUuZGVmOjIzNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhbGlhc2VkIHRvIGAlcydcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIlcyDjga8gYCVzJyDjga7jgqjjgqTjg6rjgqLjgrnjgafjgZlcbiIKIAogIzogYnVpbHRpbnMvdHlwZS5kZWY6MjU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGlzIGEgc2hlbGwga2V5d29yZFxuIgotbXNnc3RyICIiCittc2dzdHIgIiVzIOOBr+OCt+OCp+ODq+OBruS6iOe0hOiqnuOBp+OBmVxuIgogCiAjOiBidWlsdGlucy90eXBlLmRlZjoyNzQKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBhIGZ1bmN0aW9uXG4iCi1tc2dzdHIgIiVzOiDGyaTfuf6k36TOpN+kzrTYv/QiCittc2dzdHIgIiVzIOOBr+mWouaVsOOBp+OBmVxuIgogCiAjOiBidWlsdGlucy90eXBlLmRlZjoyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgYSBzaGVsbCBidWlsdGluXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXMg44Gv44K344Kn44Or57WE44G/6L6844G/6Zai5pWw44Gn44GZXG4iCiAKICM6IGJ1aWx0aW5zL3R5cGUuZGVmOjMxNyBidWlsdGlucy90eXBlLmRlZjozOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaXMgJXNcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIlcyDjga8gJXMg44Gn44GZXG4iCiAKICM6IGJ1aWx0aW5zL3R5cGUuZGVmOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgotbXNnc3RyICIiCittc2dzdHIgIiVzIOOBr+ODj+ODg+OCt+ODpeOBleOCjOOBpuOBhOOBvuOBmSAoJXMpXG4iCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6MzcyCisjOiBidWlsdGlucy91bGltaXQuZGVmOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW1pdCBhcmd1bWVudCIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogbGltaXQg44Gu54Sh5Yq544Gq5byV5pWw44Gn44GZIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQwMgorIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKLW1zZ3N0ciAiJWMlYzogsK2kpKWqpdelt6XnpfMiCittc2dzdHIgImAlYyc6IOiqpOOBo+OBn+OCs+ODnuODs+ODieOBp+OBmSIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MzEKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBnZXQgbGltaXQ6ICVzIgotbXNnc3RyICIlczogJXMgpPK67sCupMekraTepLuk8yIKK21zZ3N0ciAiJXM6IGxpbWl0IOOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkzogJXMiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDUzCi0jLCBmdXp6eQorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTcKIG1zZ2lkICJsaW1pdCIKLW1zZ3N0ciAiQ1BVILjCxdkiCittc2dzdHIgImxpbWl0IgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQ2NSBidWlsdGlucy91bGltaXQuZGVmOjc2NQotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ2OSBidWlsdGlucy91bGltaXQuZGVmOjc2OQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCi1tc2dzdHIgIiVzOiAlcyCk8rruwK6kx6StpN6ku6TzIgorbXNnc3RyICIlczogbGltaXQg44KS5aSJ5pu044Gn44GN44G+44Gb44KTIDogJXMiCiAKICM6IGJ1aWx0aW5zL3VtYXNrLmRlZjoxMTgKLSMsIGZ1enp5CiBtc2dpZCAib2N0YWwgbnVtYmVyIgotbXNnc3RyICKwraSkpbelsKXKpevI1rnmIgorbXNnc3RyICLlhavpgLLmlbAiCiAKICM6IGJ1aWx0aW5zL3VtYXNrLmRlZjoyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIG9wZXJhdG9yIgotbXNnc3RyICIiCittc2dzdHIgImAlYyc6IOeEoeWKueOBquOCt+ODs+ODnOODquODg+OCr+ODouODvOODiea8lOeul+WtkOOBp+OBmSIKIAogIzogYnVpbHRpbnMvdW1hc2suZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIHN5bWJvbGljIG1vZGUgY2hhcmFjdGVyIgotbXNnc3RyICIiCittc2dzdHIgImAlYyc6IOeEoeWKueOBquOCt+ODs+ODnOODquODg+OCr+ODouODvOODieaWh+Wtl+OBp+OBmSIKIAogIzogZXJyb3IuYzo5MCBlcnJvci5jOjMyMSBlcnJvci5jOjMyMyBlcnJvci5jOjMyNQogbXNnaWQgIiBsaW5lICIKLW1zZ3N0ciAiIgorbXNnc3RyICIg6KGMICIKIAogIzogZXJyb3IuYzoxNjUKICMsIGMtZm9ybWF0CiBtc2dpZCAibGFzdCBjb21tYW5kOiAlc1xuIgotbXNnc3RyICIiCittc2dzdHIgIuacgOW+jOOBruOCs+ODnuODs+ODiTogJXNcbiIKIAogIzogZXJyb3IuYzoxNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQWJvcnRpbmcuLi4iCi1tc2dzdHIgIiIKK21zZ3N0ciAi5Lit5q2i44GX44Gm44GE44G+44GZLi4uIgogCiAjOiBlcnJvci5jOjQwNgotIywgZnV6enkKIG1zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCi1tc2dzdHIgIsykw86kzqWopemhvCAlZCIKK21zZ3N0ciAi5LiN5piO44Gq44Kz44Oe44Oz44OJ44Ko44Op44O844Gn44GZIgogCiAjOiBlcnJvci5jOjQwNwotIywgZnV6enkKIG1zZ2lkICJiYWQgY29tbWFuZCB0eXBlIgotbXNnc3RyICJwcmludF9jb21tYW5kOiCwraSkpbOl3qXzpcmlv6WkpdcgYCVkJyIKK21zZ3N0ciAi6Kqk44Gj44Gf44Kz44Oe44Oz44OJ44K/44Kk44OX44Gn44GZIgogCiAjOiBlcnJvci5jOjQwOAotIywgZnV6enkKIG1zZ2lkICJiYWQgY29ubmVjdG9yIgotbXNnc3RyICKwraSkvPXFz6S3IGAlZCciCittc2dzdHIgIuiqpOOBo+OBn+aOpee2muOBp+OBmSIKIAogIzogZXJyb3IuYzo0MDkKLSMsIGZ1enp5CiBtc2dpZCAiYmFkIGp1bXAiCi1tc2dzdHIgIrCtpKQganVtcCAlZCIKK21zZ3N0ciAi6Kqk44Gj44Gf44K444Oj44Oz44OX44Gn44GZIgogCiAjOiBlcnJvci5jOjQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5ib3VuZCB2YXJpYWJsZSIKLW1zZ3N0ciAiJXM6IMW4s6uktaTspMakpKTKpKTK0b/0IgorbXNnc3RyICIlczog5pyq5Ymy44KK5b2T44Gm44Gu5aSJ5pWw44Gn44GZIgogCiAjOiBldmFsLmM6MTgxCi0jLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICIlY6TPxv7Oz8LUpMGkq6Tppb+lpKXgpaKlpqXIpLek3qS3pL86ILyrxrCl7aWwpaKlpqXIXG4iCisjLCBjLWZvcm1hdAorbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICJcYeWFpeWKm+W+heOBoeOBjOOCv+OCpOODoOOCouOCpuODiOOBl+OBvuOBl+OBnzog6Ieq5YuV44Ot44Kw44Ki44Km44OIXG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgotbXNnc3RyICIiCittc2dzdHIgIi9kZXYvbnVsbCDjgYvjgonmqJnmupblhaXlipvjgavlr77jgZfjgabjg6rjg4DjgqTjg6zjgq/jg4jjgafjgY3jgb7jgZvjgpM6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExNjIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAiVElNRUZPUk1BVDogYCVjJzog54Sh5Yq544Gq5pu45byP5paH5a2X44Gn44GZIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwNzUKLSMsIGZ1enp5CisjOiBleGVjdXRlX2NtZC5jOjIxMjEKIG1zZ2lkICJwaXBlIGVycm9yIgotbXNnc3RyICKl0aWkpdelqKXpobw6ICVzIgorbXNnc3RyICLjg5HjgqTjg5fjgqjjg6njg7wiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDQ4MQorIzogZXhlY3V0ZV9jbWQuYzo0NjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKLW1zZ3N0ciAiJXM6IMCpuMI6ICBgLycgpPKls6XepfOlycy+pMu1rb3SpMekraTepLuk8yIKK21zZ3N0ciAiJXM6IOWItumZkOOBleOCjOOBpuOBhOOBvuOBmTogIGAvJyDjgpLjgrPjg57jg7Pjg4nlkI3jga7kuK3jgavmjIflrprjgafjgY3jgb7jgZvjgpMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDU3MgorIzogZXhlY3V0ZV9jbWQuYzo0NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKLW1zZ3N0ciAiJXM6IKWzpd6l86XJpKy4q6TEpKuk6qTepLuk8yIKK21zZ3N0ciAiJXM6IOOCs+ODnuODs+ODieOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODI3CisjOiBleGVjdXRlX2NtZC5jOjQ5NTkKICMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyIKK21zZ3N0ciAiJXMg44GvICVzIOOBp+OBmVxuIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCi1tc2dzdHIgIiVzOiCkz6XHpaOl7KWvpcil6qTHpLkiCittc2dzdHIgIiVzOiAlczog6Kqk44Gj44Gf44Kk44Oz44K/44OX44Oq44K/44Gn44GZIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NzYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCi1tc2dzdHIgImZkICVkIKTyIGZkIDAgpMvKo8C9pMekraTepLuk8zogJXMiCittc2dzdHIgImZkICVkIOOCkiBmZCAlZCDjgavopIfoo73jgafjgY3jgb7jgZvjgpMiCiAKLSM6IGV4cHIuYzoyNDEKKyM6IGV4cHIuYzoyNTYKIG1zZ2lkICJleHByZXNzaW9uIHJlY3Vyc2lvbiBsZXZlbCBleGNlZWRlZCIKLW1zZ3N0ciAiyb24vaTOusa1orLEx72l7KXZpeuk8rHbpKik3qS3pL8iCittc2dzdHIgIuW8j+OBruWGjeW4sOWPr+iDveODrOODmeODq+OCkui2iuOBiOOBvuOBl+OBnyIKIAotIzogZXhwci5jOjI2NQotIywgZnV6enkKKyM6IGV4cHIuYzoyODAKIG1zZ2lkICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgotbXNnc3RyICJSZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgorbXNnc3RyICLlho3luLDjgrnjgr/jg4Pjgq/jgYzjgqLjg7Pjg4Djg7zjg5Xjg63jg7zjgZfjgb7jgZfjgZ8iCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKLW1zZ3N0ciAiyb24vaTLpbel86W/pcOlr6W5pail6aG8IgorbXNnc3RyICLlvI/jgavmp4vmlofjgqjjg6njg7zjgYzjgYLjgorjgb7jgZkiCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCi1tc2dzdHIgIsjzytG/9KTLs+Sk6sX2pMak8rnUpKqkpqTIpLekxqTepLkiCittc2dzdHIgIumdnuWkieaVsOOBq+WJsuOCiuW9k+OBpuOCkuihjOOBiuOBhuOBqOOBl+OBpuOBvuOBmSIKIAotIzogZXhwci5jOjQ0MCBleHByLmM6NDQ1IGV4cHIuYzo3NTYKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3CiBtc2dpZCAiZGl2aXNpb24gYnkgMCIKLW1zZ3N0ciAiMCCkzrPku7siCittc2dzdHIgIjAg44Gr44KI44KL6Zmk566X44Gn44GZIgogCi0jOiBleHByLmM6NDcxCi0jLCBmdXp6eQorIzogZXhwci5jOjUxNwogbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKLW1zZ3N0ciAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuJyAlZCIKK21zZ3N0ciAi44OQ44KwOiDoqqTjgaPjgZ/lvI/jga7jg4jjg7zjgq/jg7PjgafjgZkiCiAKLSM6IGV4cHIuYzo1MTMKKyM6IGV4cHIuYzo1NjQKIG1zZ2lkICJgOicgZXhwZWN0ZWQgZm9yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCi1tc2dzdHIgImA6JyCk8r7yt++kzsm9uL2kzqS/pOG0/MLUpLekxqTepLkiCittc2dzdHIgIuadoeS7tuW8j+OBq+OBryBgOicg44GM5LqI5pyf44GV44KM44G+44GZIgogCi0jOiBleHByLmM6NzgxCisjOiBleHByLmM6ODMyCiBtc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCi1tc2dzdHIgIiIKK21zZ3N0ciAiMOOCiOOCiuWwj+OBleOBhOaMh+aVsOmDqOOBp+OBmSIKIAotIzogZXhwci5jOjgyNgorIzogZXhwci5jOjg4NwogbXNnaWQgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgotbXNnc3RyICIiCittc2dzdHIgIuitmOWIpeWtkOOBr+WJjee9ruOCpOODs+OCr+ODquODoeODs+ODiOOBvuOBn+OBr+WJjee9ruODh+OCr+ODquODoeODs+ODiOOBjOS6iOacn+OBleOCjOOBvuOBmSIKIAotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogbXNnaWQgIm1pc3NpbmcgYCknIgotbXNnc3RyICJgKScgpKykoqTqpN6ku6TzIgorbXNnc3RyICJgKScg44GM44GC44KK44G+44Gb44KTIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2Ci0jLCBmdXp6eQorIzogZXhwci5jOjk1OSBleHByLmM6MTI4MgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKLW1zZ3N0ciAipbel86W/pcOlr6W5IKWopemhvDogtPzC1KS3pMakyqSkpdWloaWkpeukzr2qzrsiCittc2dzdHIgIuani+aWh+OCqOODqeODvDog44Kq44Oa44Op44Oz44OJ44GM5LqI5pyf44GV44KM44G+44GZIgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKLW1zZ3N0ciAiIgorbXNnc3RyICLmp4vmlofjgqjjg6njg7w6IOeEoeWKueOBquioiOeul+a8lOeul+WtkOOBp+OBmSIKIAotIzogZXhwci5jOjEyMDIKKyM6IGV4cHIuYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXMlcyVzOiAlcyAo44Ko44Op44O844Gu44GC44KL44OI44O844Kv44Oz44GvIFwiJXNcIikiCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgotbXNnc3RyICIiCittc2dzdHIgIueEoeWKueOBquWfuuW6leOBruaVsOWApOOBp+OBmSIKIAotIzogZXhwci5jOjEyODAKKyM6IGV4cHIuYzoxMzg2CiBtc2dpZCAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgotbXNnc3RyICKl2aG8pbmkzsPNpMukz8LnpK2kuaSupN6kuSIKK21zZ3N0ciAi5Z+65bqV44Gu5YCk44GM5aSn44GN44GZ44GO44G+44GZIgogCi0jOiBleHByLmM6MTMyOQotIywgZnV6enksIGMtZm9ybWF0CisjOiBleHByLmM6MTQzNQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgotbXNnc3RyICIlczogu9i/9KTOyb24vaTytPzC1CIKK21zZ3N0ciAiJXM6IOW8j+OBruOCqOODqeODvFxuIgogCiAjOiBnZW5lcmFsLmM6NjEKLSMsIGZ1enp5CiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKLW1zZ3N0ciAiZ2V0d2Q6IL7lsMylx6Wjpeylr6XIpeqky6Wipa+lu6W5pMekraTepLuk8yIKK21zZ3N0ciAiZ2V0Y3dkOiDopqrjg4fjgqPjg6zjgq/jg4jjg6rjgavjgqLjgq/jgrvjgrnjgafjgY3jgb7jgZvjgpMiCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgotbXNnc3RyICJmZCAlZCCk8iBmZCAwIKTLyqPAvaTHpK2k3qS7pPM6ICVzIgorbXNnc3RyICLjg5XjgqHjgqTjg6voqJjov7DlrZAoZmQpICVkIOOCkueEoemBheW7tuODouODvOODieOBq+WGjeioreWumuOBp+OBjeOBvuOBm+OCkyIKIAotIzogaW5wdXQuYzoyNTgKKyM6IGlucHV0LmM6MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAi5paw6KaP44OV44Kh44Kk44Or6KiY6L+w5a2QKGZkKSAlZCDjgpIgYmFzaCDjga7lhaXlipvjgajjgZfjgablibLjgorlvZPjgabjgonjgozjgb7jgZvjgpMiCiAKLSM6IGlucHV0LmM6MjY2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGlucHV0LmM6MjY4CisjLCBjLWZvcm1hdAogbXNnaWQgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGFscmVhZHkgZXhpc3RzIGZvciBuZXcgZmQgJWQiCi1tc2dzdHIgImNoZWNrX2Jhc2hfaW5wdXQ6IGZkICVkIKTOpL+k4aTOpdClw6XVpaGkz7T7pMvCuLrfpLek3qS5IgorbXNnc3RyICJzYXZlX2Jhc2hfaW5wdXQ6IOaWsOimjyBmZCAlZCDjga7jg5Djg4Pjg5XjgqHjga/jgZnjgafjgavlrZjlnKjjgZfjgb7jgZkiCiAKLSM6IGpvYnMuYzo0NjYKKyM6IGpvYnMuYzo0NjgKIG1zZ2lkICJzdGFydF9waXBlbGluZTogcGdycCBwaXBlIgotbXNnc3RyICIiCittc2dzdHIgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCiAKLSM6IGpvYnMuYzo4ODcKKyM6IGpvYnMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ya2VkIHBpZCAlZCBhcHBlYXJzIGluIHJ1bm5pbmcgam9iICVkIgotbXNnc3RyICIiCittc2dzdHIgIuWun+ihjOS4reOBruOCuOODp+ODliAlMiRkIOOBpyBmb3JrIOOBl+OBnyBwaWQgJTEkZCDjgYzlh7rnj77jgZfjgb7jgZfjgZ8iCiAKLSM6IGpvYnMuYzoxMDA1CisjOiBqb2JzLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyBzdG9wcGVkIGpvYiAlZCB3aXRoIHByb2Nlc3MgZ3JvdXAgJWxkIgotbXNnc3RyICIiCittc2dzdHIgIuODl+ODreOCu+OCueOCsOODq+ODvOODlyAlMiRsZCDjga7jgrjjg6fjg5YgJTEkZCDjgpLliYrpmaTjgZfjgabjgYTjgb7jgZkiCiAKLSM6IGpvYnMuYzoxMTEwCisjOiBqb2JzLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgotbXNnc3RyICIiCittc2dzdHIgImFkZF9wcm9jZXNzOiDjg5fjg63jgrvjgrkgJTVsZCAoJXMpIOOBjCB0aGVfcGlwZWxpbmUg44Gr44GC44KK44G+44GZIgogCi0jOiBqb2JzLmM6MTExMworIzogam9icy5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgotbXNnc3RyICIiCittc2dzdHIgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIOOBr+OBvuOBoOWtmOWcqOOBl+OBpuOBhOOCi+OBqOODnuODvOOCr+OBleOCjOOBpuOBhOOBvuOBmSIKIAotIzogam9icy5jOjE0MDEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogam9icy5jOjE0MzAKKyMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkIgotbXNnc3RyICJkZXNjcmliZV9waWQ6IKXXpe2lu6W5SUQoJWQppM/CuLrfpLek3qS7pPMhXG4iCittc2dzdHIgImRlc2NyaWJlX3BpZDogJWxkOiDjgZ3jga7jgojjgYbjgaogcGlkIOOBr+WtmOWcqOOBl+OBvuOBm+OCkyIKIAotIzogam9icy5jOjE0MTYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogam9icy5jOjE0NDUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiU2lnbmFsICVkIgotbXNnc3RyICLMpMPOpM6lt6Wwpcql6yAjJWQiCittc2dzdHIgIuOCt+OCsOODiuODqyAlZCIKIAotIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0CiBtc2dpZCAiRG9uZSIKLW1zZ3N0ciAivarOuyIKK21zZ3N0ciAi57WC5LqGIgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCisjOiBqb2JzLmM6MTQ2NCBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKLW1zZ3N0ciAixOS73yIKK21zZ3N0ciAi5YGc5q2iIgogCi0jOiBqb2JzLmM6MTQzOQotIywgZnV6enksIGMtZm9ybWF0CisjOiBqb2JzLmM6MTQ2OAorIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKLW1zZ3N0ciAixOS73yIKK21zZ3N0ciAi5YGc5q2iICglcykiCiAKLSM6IGpvYnMuYzoxNDQzCisjOiBqb2JzLmM6MTQ3MgogbXNnaWQgIlJ1bm5pbmciCi1tc2dzdHIgIrzCudTD5iIKK21zZ3N0ciAi5a6f6KGM5LitIgogCi0jOiBqb2JzLmM6MTQ1NworIzogam9icy5jOjE0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCi1tc2dzdHIgIr2qzrsoJWQpIgorbXNnc3RyICLntYLkuoYoJWQpIgogCi0jOiBqb2JzLmM6MTQ1OQorIzogam9icy5jOjE0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhpdCAlZCIKLW1zZ3N0ciAivarOuyAlZCIKK21zZ3N0ciAi57WC5LqGICVkIgogCi0jOiBqb2JzLmM6MTQ2MgorIzogam9icy5jOjE0OTEKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKLW1zZ3N0ciAizKTDzqTOpbmlxqG8pb+luSIKK21zZ3N0ciAi5LiN5piO44Gq44K544OG44O844K/44K5IgogCi0jOiBqb2JzLmM6MTU0OQorIzogam9icy5jOjE1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGNvcmUgZHVtcGVkKSAiCi1tc2dzdHIgIiils6WipcCl86XXKSAiCittc2dzdHIgIijjgrPjgqLjg4Djg7Pjg5cpICIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCi1tc2dzdHIgIiIKK21zZ3N0ciAiICAod2Q6ICVzKSIKIAotIzogam9icy5jOjE3NzYKKyM6IGpvYnMuYzoxODA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgotbXNnc3RyICIiCittc2dzdHIgIuWtkOODl+ODreOCu+OCuSBzZXRwZ2lkICglbGQg44GL44KJICVsZCkiCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQotIywgZnV6enksIGMtZm9ybWF0CisjOiBqb2JzLmM6MjEzMyBub2pvYnMuYzo1ODUKKyMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgotbXNnc3RyICLC1LWhOiBwaWQgJWQgpLOkzqW3pael66TOu9Kl16XtpbuluaTHpM+koqTqpN6ku6TzIgorbXNnc3RyICJ3YWl0OiBwaWQgJWxkIOOBr+OBk+OBruOCt+OCp+ODq+OBruWtkOODl+ODreOCu+OCueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKIAotIzogam9icy5jOjIzMzEKKyM6IGpvYnMuYzoyMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCi1tc2dzdHIgIiIKK21zZ3N0ciAid2FpdF9mb3I6IOODl+ODreOCu+OCuSAlbGQg44Gu6KiY6Yyy44GM44GC44KK44G+44Gb44KTIgogCi0jOiBqb2JzLmM6MjYwNworIzogam9icy5jOjI2MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IOOCuOODp+ODliAlZCDjga/lgZzmraLjgZfjgabjgYTjgb7jgZkiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgotbXNnc3RyICIlczogpbil56XWpM+9qs67pLek3qS3pL8iCittc2dzdHIgIiVzOiDjgrjjg6fjg5bjga/ntYLkuobjgZfjgb7jgZfjgZ8iCiAKLSM6IGpvYnMuYzoyODM4CisjOiBqb2JzLmM6Mjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczog44K444On44OWICVkIOOBr+OBmeOBp+OBq+ODkOODg+OCr+OCsOODqeOCpuODs+ODieOBp+WLleS9nOOBl+OBpuOBhOOBvuOBmSIKIAotIzogam9icy5jOjMwNTkKKyM6IGpvYnMuYzozMDg5CiBtc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgotbXNnc3RyICIiCittc2dzdHIgIndhaXRjaGxkOiDkuI3lrprjga7jg5bjg63jg4Pjgq/jgpLpgb/jgZHjgovjgZ/jgoHjgasgV05PSEFORyDjgpLjgqrjg7PjgavjgZfjgb7jgZfjgZ/jgIIiCiAKLSM6IGpvYnMuYzozNTA4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGpvYnMuYzozNTM4CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCi1tc2dzdHIgIqW5pe2lw6XIICUzZDogIgorbXNnc3RyICIlczogJWQg6KGMOiAiCiAKLSM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAorIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgotbXNnc3RyICIgKKWzpaKlwKXzpdcpIgorbXNnc3RyICIgKOOCs+OCouODgOODs+ODlykiCiAKLSM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CisjOiBqb2JzLmM6MzU2NCBqb2JzLmM6MzU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKLW1zZ3N0ciAiIgorbXNnc3RyICIod2Qgbm93OiAlcylcbiIKIAotIzogam9icy5jOjM1NzkKLSMsIGZ1enp5CisjOiBqb2JzLmM6MzYwOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgotbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGdldHBncnAgvLrH1DogJXMiCittc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAg44GM5aSx5pWX44GX44G+44GX44GfIgogCi0jOiBqb2JzLmM6MzYzOQotIywgZnV6enkKKyM6IGpvYnMuYzozNjY5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgotbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IKXppaSl8yBkaXNjaXBsaW5lOiAlcyIKK21zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogCi0jOiBqb2JzLmM6MzY0OQotIywgZnV6enkKKyM6IGpvYnMuYzozNjc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKLW1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzOiBnZXRwZ3JwILy6x9Q6ICVzIgorbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogCi0jOiBqb2JzLmM6MzY3NworIzogam9icy5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAi56uv5pyr44OX44Ot44K744K544Kw44Or44O844OX44KS6Kit5a6a44Gn44GN44G+44Gb44KTICglZCkiCiAKLSM6IGpvYnMuYzozNjgyCisjOiBqb2JzLmM6MzcxMgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCi1tc2dzdHIgIqSzpM6lt6Wnpeuky6TPpbil56XWwKm45qSspKKk6qTepLuk8yIKK21zZ3N0ciAi44GT44Gu44K344Kn44Or44Gn44Gv44K444On44OW5Yi25b6h44GM54Sh5Yq544Gr44Gq44Gj44Gm44GE44G+44GZIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWxsb2M6IGZhaWxlZCBhc3NlcnRpb246ICVzXG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAibWFsbG9jOiDlpLHmlZfjgZfjgZ/jgqLjgrXjg7zjgrfjg6fjg7M6ICVzXG4iCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MzEyCiAjLCBjLWZvcm1hdApAQCAtMTEzMCw3NzkgKzExNzMsNzczIEBACiAiXHJcbiIKICJtYWxsb2M6ICVzOiVkOiBhc3NlcnRpb24gYm90Y2hlZFxyXG4iCiBtc2dzdHIgIiIKKyJcclxuIgorIm1hbGxvYzogJXM6JWQ6IOOCouOCteODvOOCt+ODp+ODs+WkseaVl1xyXG4iCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MzEzCi0jLCBmdXp6eQogbXNnaWQgInVua25vd24iCi1tc2dzdHIgIjzMpMPOPiIKK21zZ3N0ciAi5LiN5piOIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjc5NwogbXNnaWQgIm1hbGxvYzogYmxvY2sgb24gZnJlZSBsaXN0IGNsb2JiZXJlZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJtYWxsb2M6IGZyZWUg44OW44Ot44OD44Kv44Oq44K544OI44GM5aOK44KM44Gm44GE44G+44GZIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjg3NAogbXNnaWQgImZyZWU6IGNhbGxlZCB3aXRoIGFscmVhZHkgZnJlZWQgYmxvY2sgYXJndW1lbnQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZnJlZTog5pei44GrIGZyZWUg44GV44KM44Gf44OW44Ot44OD44Kv44KS5byV5pWw44Go44GX44Gm5ZG844Gz5Ye644GV44KM44G+44GX44GfIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjg3NwogbXNnaWQgImZyZWU6IGNhbGxlZCB3aXRoIHVuYWxsb2NhdGVkIGJsb2NrIGFyZ3VtZW50IgotbXNnc3RyICIiCittc2dzdHIgImZyZWU6IOacquWJsuW9k+OBruODluODreODg+OCr+OCkuW8leaVsOOBqOOBl+OBpuWRvOOBs+WHuuOBleOCjOOBvuOBl+OBnyIKIAogIzogbGliL21hbGxvYy9tYWxsb2MuYzo4OTYKIG1zZ2lkICJmcmVlOiB1bmRlcmZsb3cgZGV0ZWN0ZWQ7IG1oX25ieXRlcyBvdXQgb2YgcmFuZ2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZnJlZTog44Ki44Oz44OA44O844OV44Ot44O844KS5qSc5Ye644GX44G+44GX44Gf44CCIG1oX25ieXRlcyDjgYznr4Tlm7LlpJbjgafjgZnjgIIiCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6OTAyCiBtc2dpZCAiZnJlZTogc3RhcnQgYW5kIGVuZCBjaHVuayBzaXplcyBkaWZmZXIiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZnJlZTog6ZaL5aeL44Go57WC5LqG44Gu5aGK44Gu5aSn44GN44GV44GM55Ww44Gq44Gj44Gm44GE44G+44GZIgogCiAjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjEwMDEKIG1zZ2lkICJyZWFsbG9jOiBjYWxsZWQgd2l0aCB1bmFsbG9jYXRlZCBibG9jayBhcmd1bWVudCIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWFsbG9jOiDmnKrlibLlvZPjga7jg5bjg63jg4Pjgq/jgpLlvJXmlbDjgajjgZfjgablkbzjgbPlh7rjgZXjgozjgb7jgZfjgZ8iCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MTAxNgogbXNnaWQgInJlYWxsb2M6IHVuZGVyZmxvdyBkZXRlY3RlZDsgbWhfbmJ5dGVzIG91dCBvZiByYW5nZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJyZWFsbG9jOiDjgqLjg7Pjg4Djg7zjg5Xjg63jg7zjgpLmpJzlh7rjgZfjgb7jgZfjgZ/jgIIgbWhfbmJ5dGVzIOOBjOevhOWbsuWkluOBp+OBmeOAgjwiCiAKICM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MTAyMgogbXNnaWQgInJlYWxsb2M6IHN0YXJ0IGFuZCBlbmQgY2h1bmsgc2l6ZXMgZGlmZmVyIgotbXNnc3RyICIiCittc2dzdHIgInJlYWxsb2M6IOmWi+Wni+OBqOe1guS6huOBruWhiuOBruWkp+OBjeOBleOBjOeVsOOBquOBo+OBpuOBhOOBvuOBmSIKIAogIzogbGliL21hbGxvYy90YWJsZS5jOjE3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdpc3Rlcl9hbGxvYzogYWxsb2MgdGFibGUgaXMgZnVsbCB3aXRoIEZJTkRfQUxMT0M/XG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVnaXN0ZXJfYWxsb2M6IEZJTkRfQUxMT0Mg44Gn5Ymy44KK5b2T44Gm44OG44O844OW44Or44GM44GE44Gj44Gx44GE44Gn44GZXG4iCiAKICM6IGxpYi9tYWxsb2MvdGFibGUuYzoxODQKICMsIGMtZm9ybWF0CiBtc2dpZCAicmVnaXN0ZXJfYWxsb2M6ICVwIGFscmVhZHkgaW4gdGFibGUgYXMgYWxsb2NhdGVkP1xuIgotbXNnc3RyICIiCittc2dzdHIgInJlZ2lzdGVyX2FsbG9jOiAlcCDml6Ljgavjg4bjg7zjg5bjg6vkuIrjgafjga/libLjgorlvZPjgabjgonjgozjgabjgYTjgb7jgZlcbiIKIAogIzogbGliL21hbGxvYy90YWJsZS5jOjIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJyZWdpc3Rlcl9mcmVlOiAlcCBhbHJlYWR5IGluIHRhYmxlIGFzIGZyZWU/XG4iCi1tc2dzdHIgIiIKK21zZ3N0ciAicmVnaXN0ZXJfZnJlZTogJXAg44OG44O844OW44Or5LiK44Gn44Gv5pei44Gr6Kej5pS+44GV44KM44Gm44GE44G+44GZXG4iCiAKICM6IGxpYi9zaC9mbXR1bG9uZy5jOjEwMQogbXNnaWQgImludmFsaWQgYmFzZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLnhKHlirnjgarln7rlupUiCiAKICM6IGxpYi9zaC9uZXRvcGVuLmM6MTY4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGhvc3QgdW5rbm93biIKLW1zZ3N0ciAizKTDziIKK21zZ3N0ciAiJXM6IOS4jeaYjuOBquODm+OCueODiOOBp+OBmSIKIAogIzogbGliL3NoL25ldG9wZW4uYzoxNzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2VydmljZSIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczog54Sh5Yq544Gq44K144O844OT44K544Gn44GZIgogCiAjOiBsaWIvc2gvbmV0b3Blbi5jOjMwNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIG5ldHdvcmsgcGF0aCBzcGVjaWZpY2F0aW9uIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiDjg43jg4Pjg4jjg6/jg7zjgq/jg5HjgrnmjIflrprjgavoqqTjgorjgYzjgYLjgorjgb7jgZkiCiAKICM6IGxpYi9zaC9uZXRvcGVuLmM6MzQ2CiBtc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAi44ON44OD44OI44Ov44O844Kv5pON5L2c44Gv44K144Od44O844OI44GV44KM44Gm44GE44G+44Gb44KTIgogCiAjOiBsb2NhbGUuYzoxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2V0bG9jYWxlOiBMQ19BTEw6IOODreOCseODvOODq+OCkuWkieabtOOBp+OBjeOBvuOBm+OCkyAoJXMpIgogCiAjOiBsb2NhbGUuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgotbXNnc3RyICIiCittc2dzdHIgInNldGxvY2FsZTogTENfQUxMOiDjg63jgrHjg7zjg6vjgpLlpInmm7TjgafjgY3jgb7jgZvjgpMgKCVzKTogJXMiCiAKICM6IGxvY2FsZS5jOjI0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgotbXNnc3RyICIiCittc2dzdHIgInNldGxvY2FsZTogJXM6IOODreOCseODvOODq+OCkuWkieabtOOBp+OBjeOBvuOBm+OCkyAoJXMpIgogCiAjOiBsb2NhbGUuYzoyNDkKICMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2V0bG9jYWxlOiAlczog44Ot44Kx44O844Or44KS5aSJ5pu044Gn44GN44G+44Gb44KTICglcyk6ICVzIgogCiAjOiBtYWlsY2hlY2suYzo0MzMKIG1zZ2lkICJZb3UgaGF2ZSBtYWlsIGluICRfIgotbXNnc3RyICKl4aG8peukrCAkXyCky6SipOqk3qS5IgorbXNnc3RyICLjg6Hjg7zjg6vjgYwgJF8g44Gr44GC44KK44G+44GZIgogCiAjOiBtYWlsY2hlY2suYzo0NTgKIG1zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbCBpbiAkXyIKLW1zZ3N0ciAiv7ekt6SkpeGhvKXrpKwgJF8gpMukoqTqpN6kuSIKK21zZ3N0ciAi5paw44GX44GE44Oh44O844Or44GMICRfIOOBq+OBguOCiuOBvuOBmSIKIAogIzogbWFpbGNoZWNrLmM6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRoZSBtYWlsIGluICVzIGhhcyBiZWVuIHJlYWRcbiIKLW1zZ3N0ciAiJXMgpM6l4aG8peukz7T7pMvGyaTepOykxqTepLlcbiIKK21zZ3N0ciAiJXMg44Gu44Oh44O844Or44Gv5pei44Gr6Kqt44G+44KM44Gm44G+44GZXG4iCiAKICM6IG1ha2VfY21kLmM6MzIzCi0jLCBmdXp6eQogbXNnaWQgInN5bnRheCBlcnJvcjogYXJpdGhtZXRpYyBleHByZXNzaW9uIHJlcXVpcmVkIgotbXNnc3RyICLJvbi9pMult6Xzpb+lw6WvpbmlqKXpobwiCittc2dzdHIgIuani+aWh+OCqOODqeODvDog5pWw5YCk44Gu5byP44GM5b+F6KaB44Gn44GZIgogCiAjOiBtYWtlX2NtZC5jOjMyNQotIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3I6IGA7JyB1bmV4cGVjdGVkIgotbXNnc3RyICKlt6Xzpb+lw6Wvpbkgpail6aG8OiC0/MLUpLekxqTKpKSl1aWhpaSl66TOvarOuyIKK21zZ3N0ciAi5qeL5paH44Ko44Op44O8OiDkuojmnJ/jgZfjgarjgYQgYDsnIOOBp+OBmSIKIAogIzogbWFrZV9jbWQuYzozMjYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgotbXNnc3RyICKlt6Xzpb+lw6WvpbmlqKXpobwiCittc2dzdHIgIuani+aWh+OCqOODqeODvDogYCgoJXMpKSciCiAKICM6IG1ha2VfY21kLmM6NTc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1ha2VfaGVyZV9kb2N1bWVudDogYmFkIGluc3RydWN0aW9uIHR5cGUgJWQiCi1tc2dzdHIgIm1ha2VfaGVyZV9kb2N1bWVudDogsK2kpLvYvKilv6WkpdcgJWQiCittc2dzdHIgIm1ha2VfaGVyZV9kb2N1bWVudDog6Kqk44Gj44Gf5oyH5a6a44Gu56iu6aGeICVkIgogCiAjOiBtYWtlX2NtZC5jOjY1OQogIywgYy1mb3JtYXQKIG1zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCiBtc2dzdHIgIiIKKyLjg5LjgqLjg4njgq3jg6Xjg6Hjg7Pjg4jjga4gJWQg6KGM55uu44Gn44OV44Kh44Kk44Or57WC5LqGIChFT0YpIOOBq+mBlOOBl+OBvuOBl+OBnyAoYCVzJyDjgYzlv4XopoEpIgogCiAjOiBtYWtlX2NtZC5jOjc1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiBgJWQnIG91dCBvZiByYW5nZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJtYWtlX3JlZGlyZWN0aW9uOiDjg6rjg4DjgqTjg6zjgq/jg4jmjIflrpogYCVkJyDjga/nr4Tlm7LlpJbjgafjgZkiCiAKLSM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcGFyc2UueTozMTczIHBhcnNlLnk6MzQ0NAorIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgotbXNnc3RyICK0/MLUpLekxqTKpKSl1aWhpaSl66TOvarOuyhFT0YppKxgJWMnpPK4q8nVpLGk66TepKiky8ivwLgiCittc2dzdHIgIuS4gOiHtOOBmeOCiyBgJWMnIOOCkuaOoue0ouS4reOBq+S6iOacn+OBl+OBquOBhOODleOCoeOCpOODq+e1guS6hiAoRU9GKSDjgafjgZkiCiAKLSM6IHBhcnNlLnk6Mzk1MQotIywgZnV6enkKKyM6IHBhcnNlLnk6NDAyNQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCi1tc2dzdHIgIrT8wtSkt6TGpMqkpKXVpaGlpKXrpM69qs67KEVPRimkrGAlYyek8rirydWksaTrpN6kqKTLyK/AuCIKK21zZ3N0ciAiYF1dJyDjgpLmjqLntKLkuK3jgavkuojmnJ/jgZfjgarjgYTjg5XjgqHjgqTjg6vntYLkuoYgKEVPRikg44Gn44GZIgogCi0jOiBwYXJzZS55OjM5NTYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcGFyc2UueTo0MDMwCisjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCi1tc2dzdHIgIrT8wtSkt6TGpMqkpCB0b2tlbiBgJXMnIKTOpKKkv6TqpMult6Xzpb+lw6WvpbmlqKXpobwiCittc2dzdHIgIuadoeS7tuW8j+OBq+ani+aWh+OCqOODqeODvDog5LqI5pyf44GX44Gq44GE44OI44O844Kv44OzIGAlcycg44Gn44GZIgogCi0jOiBwYXJzZS55OjM5NjAKLSMsIGZ1enp5CisjOiBwYXJzZS55OjQwMzQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKLW1zZ3N0ciAiyb24vaTLpbel86W/pcOlr6W5pail6aG8IgorbXNnc3RyICLmnaHku7blvI/jgavmp4vmlofjgqjjg6njg7zjgYzjgYLjgorjgb7jgZkiCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgotbXNnc3RyICIiCittc2dzdHIgIuS6iOacn+OBl+OBquOBhOODiOODvOOCr+ODsyBgJXMnIOOBp+OBmeOAgmApJyDjgYzkuojmnJ/jgZXjgozjgb7jgZkiCiAKLSM6IHBhcnNlLnk6NDA0MgotIywgZnV6enkKKyM6IHBhcnNlLnk6NDExNgogbXNnaWQgImV4cGVjdGVkIGApJyIKLW1zZ3N0ciAiYCknIKTytPzC1CIKK21zZ3N0ciAiYCknIOOBjOS6iOacn+OBleOCjOOBvuOBmSIKIAotIzogcGFyc2UueTo0MDcwCisjOiBwYXJzZS55OjQxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgotbXNnc3RyICIiCittc2dzdHIgIuadoeS7tuWNmOmghea8lOeul+WtkOOBq+S6iOacn+OBl+OBquOBhOW8leaVsCBgJXMnIOOBp+OBmSIKIAotIzogcGFyc2UueTo0MDc0CisjOiBwYXJzZS55OjQxNDgKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgotbXNnc3RyICIiCittc2dzdHIgIuadoeS7tuWNmOmghea8lOeul+WtkOOBq+S6iOacn+OBl+OBquOBhOW8leaVsOOBp+OBmSIKIAotIzogcGFyc2UueTo0MTIwCisjOiBwYXJzZS55OjQxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiYCVzYCDjga/kuojmnJ/jgZfjgarjgYTjg4jjg7zjgq/jg7PjgafjgZnjgILmnaHku7bkuozpoIXmvJTnrpflrZDjgYzkuojmnJ/jgZXjgozjgb7jgZkiCiAKLSM6IHBhcnNlLnk6NDEyNAorIzogcGFyc2UueTo0MTk4CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgotbXNnc3RyICIiCittc2dzdHIgIuadoeS7tuS6jOmghea8lOeul+WtkOOBjOS6iOacn+OBleOCjOOBvuOBmSIKIAotIzogcGFyc2UueTo0MTQ2CisjOiBwYXJzZS55OjQyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKLW1zZ3N0ciAiIgorbXNnc3RyICLmnaHku7bkuozpoIXmvJTnrpflrZDjgavkuojmnJ/jgZfjgarjgYTlvJXmlbAgYCVzJyDjgafjgZkiCiAKLSM6IHBhcnNlLnk6NDE1MAorIzogcGFyc2UueTo0MjI0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCi1tc2dzdHIgIiIKK21zZ3N0ciAi5p2h5Lu25LqM6aCF5ryU566X5a2Q44Gr5LqI5pyf44GX44Gq44GE5byV5pWw44Gn44GZIgogCi0jOiBwYXJzZS55OjQxNjEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcGFyc2UueTo0MjM1CisjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgotbXNnc3RyICJgOicgpPK+8rfvpM7Jvbi9pM6kv6ThtPzC1KS3pMak3qS5IgorbXNnc3RyICLmnaHku7bjgrPjg57jg7Pjg4njgavkuojmnJ/jgZfjgarjgYTjg4jjg7zjgq/jg7MgYCVjJyDjgYzjgYLjgorjgb7jgZkiCiAKLSM6IHBhcnNlLnk6NDE2NAotIywgZnV6enksIGMtZm9ybWF0CisjOiBwYXJzZS55OjQyMzgKKyMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCi1tc2dzdHIgImA6JyCk8r7yt++kzsm9uL2kzqS/pOG0/MLUpLekxqTepLkiCittc2dzdHIgIuadoeS7tuOCs+ODnuODs+ODieOBq+S6iOacn+OBl+OBquOBhOODiOODvOOCr+ODsyBgJXMnIOOBjOOBguOCiuOBvuOBmSIKIAotIzogcGFyc2UueTo0MTY4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHBhcnNlLnk6NDI0MgorIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCi1tc2dzdHIgImA6JyCk8r7yt++kzsm9uL2kzqS/pOG0/MLUpLekxqTepLkiCittc2dzdHIgIuadoeS7tuOCs+ODnuODs+ODieOBq+S6iOacn+OBl+OBquOBhOODiOODvOOCr+ODsyAlZCDjgYzjgYLjgorjgb7jgZkiCiAKLSM6IHBhcnNlLnk6NTQ1OQorIzogcGFyc2UueTo1NTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKLW1zZ3N0ciAitPzC1KS3pMakyqSkIHRva2VuIGAlcycgpM6koqS/pOqky6W3pfOlv6XDpa+luaWopemhvCIKK21zZ3N0ciAi5LqI5pyf44GX44Gq44GE44OI44O844Kv44OzIGAlcycg5ZGo6L6644Gr5qeL5paH44Ko44Op44O844GM44GC44KK44G+44GZIgogCi0jOiBwYXJzZS55OjU0NzcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcGFyc2UueTo1NTg0CisjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCi1tc2dzdHIgIrT8wtSkt6TGpMqkpCB0b2tlbiBgJXMnIKTOpKKkv6TqpMult6Xzpb+lw6WvpbmlqKXpobwiCittc2dzdHIgImAlcycg5ZGo6L6644Gr5qeL5paH44Ko44Op44O844GM44GC44KK44G+44GZIgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKLW1zZ3N0ciAipbel86W/pcOlr6W5IKWopemhvDogtPzC1KS3pMakyqSkpdWloaWkpeukzr2qzrsiCittc2dzdHIgIuani+aWh+OCqOODqeODvDog5LqI5pyf44GX44Gq44GE44OV44Kh44Kk44Or57WC5LqGIChFT0YpIOOBp+OBmSIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3IiCi1tc2dzdHIgIqW3pfOlv6XDpa+luaWopemhvCIKK21zZ3N0ciAi5qeL5paH44Ko44Op44O8IgogCi0jOiBwYXJzZS55OjU1NDkKKyM6IHBhcnNlLnk6NTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKLW1zZ3N0ciAipbelp6XrpKuk6cOmvdCkuaTrpM6kyyBcIiVzXCIgpPK7yKSkpMqktaSkLlxuIgorbXNnc3RyICLjgrfjgqfjg6vjgYvjgonohLHlh7rjgZnjgovjgavjga8gXCIlc1wiIOOCkuS9v+eUqOOBl+OBpuOBj+OBoOOBleOBhOOAglxuIgogCi0jOiBwYXJzZS55OjU3MTEKLSMsIGZ1enp5CisjOiBwYXJzZS55OjU4MTgKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCi1tc2dzdHIgIrT8wtSkt6TGpMqkpKXVpaGlpKXrpM69qs67KEVPRimkrGAlYyek8rirydWksaTrpN6kqKTLyK/AuCIKK21zZ3N0ciAi5a++5b+c44GZ44KLIGApJyDjgpLmjqLntKLkuK3jgavkuojmnJ/jgZfjgarjgYTjg5XjgqHjgqTjg6vntYLkuoYoRU9GKeOBp+OBmSIKIAogIzogcGNvbXBsZXRlLmM6MTAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKLW1zZ3N0ciAiIgorbXNnc3RyICJjb21wbGV0aW9uOiDplqLmlbAgYCVzJyDjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCiAKLSM6IHBjb21wbGliLmM6MTc5CisjOiBwY29tcGxpYi5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgotbXNnc3RyICIiCittc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI5MAorIzogcHJpbnRfY21kLmM6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKLW1zZ3N0ciAicHJpbnRfY29tbWFuZDogsK2kpMDcwrMgYCVkJyIKLQotIzogcHJpbnRfY21kLmM6MzYzCi0jLCBjLWZvcm1hdAotbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKLW1zZ3N0ciAiIgorbXNnc3RyICJwcmludF9jb21tYW5kOiDoqqTjgaPjgZ/mjqXntpogYCVkJyIKIAogIzogcHJpbnRfY21kLmM6MzY4Ci1tc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCi1tc2dzdHIgIiIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJ4dHJhY2Vfc2V0OiAlZDog54Sh5Yq544Gq44OV44Kh44Kk44Or6KiY6L+w5a2Q44Gn44GZIgogCi0jOiBwcmludF9jbWQuYzozNzIKKyM6IHByaW50X2NtZC5jOjM3MworbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICJ4dHJhY2Vfc2V0OiBOVUxMIOODleOCoeOCpOODq+ODneOCpOODs+OCv+OBp+OBmSIKKworIzogcHJpbnRfY21kLmM6Mzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCiAKLSM6IHByaW50X2NtZC5jOjE0NjEKKyM6IHByaW50X2NtZC5jOjE0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgotbXNnc3RyICIiCittc2dzdHIgImNwcmludGY6IGAlYyc6IOeEoeWKueOBquabuOW8j+aWh+Wtl+OBp+OBmSIKIAotIzogcmVkaXIuYzoxMTAKKyM6IHJlZGlyLmM6MTIyCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKLW1zZ3N0ciAiIgorbXNnc3RyICLjg5XjgqHjgqTjg6voqJjov7DlrZDjgYznr4Tlm7LlpJbjgafjgZkiCiAKLSM6IHJlZGlyLmM6MTY2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJlZGlyLmM6MTc4CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCi1tc2dzdHIgIiVzOiCkoqSkpN6kpKTKpeqlwKWkpeylr6XIIgorbXNnc3RyICIlczog5puW5pin44Gq44Oq44OA44Kk44Os44Kv44OI44Gn44GZIgogCi0jOiByZWRpci5jOjE3MAotIywgZnV6enksIGMtZm9ybWF0CisjOiByZWRpci5jOjE4MgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgotbXNnc3RyICIlczogwri636S5pOul1aWhpaSl66TyvuW98aStpMekraTepLuk8yIKK21zZ3N0ciAiJXM6IOWtmOWcqOOBmeOCi+ODleOCoeOCpOODq+OCkuS4iuabuOOBjeOBp+OBjeOBvuOBm+OCkyIKIAotIzogcmVkaXIuYzoxNzUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcmVkaXIuYzoxODcKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCi1tc2dzdHIgIiVzOiDAqbjCOiAgYC8nIKTypbOl3qXzpcnMvqTLta290qTHpK2k3qS7pPMiCittc2dzdHIgIiVzOiDliLbpmZDjgZXjgozjgabjgYTjgb7jgZk6IOWHuuWKm+OCkuODquODgOOCpOODrOOCr+ODiOWHuuadpeOBvuOBm+OCkyIKIAotIzogcmVkaXIuYzoxODAKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogcmVkaXIuYzoxOTIKKyMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgotbXNnc3RyICKl16XtpbuluaTOwuXG/qTLpdGlpKXXpPK67sCupMekraTepLuk8zogJXMiCittc2dzdHIgIuODkuOCouODieOCreODpeODoeODs+ODiOeUqOS4gOaZguODleOCoeOCpOODq+OCkuS9nOaIkOOBp+OBjeOBvuOBm+OCkzogJXMiCiAKLSM6IHJlZGlyLmM6MTg0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJlZGlyLmM6MTk2CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgotbXNnc3RyICIlczogpeqluaXIpPLH287zpeGl86XQobyky7PkpOrF9qTGpOmk7KTepLuk8yIKK21zZ3N0ciAiJXM6IOODleOCoeOCpOODq+iomOi/sOWtkCAoZmQpIOOCkuWkieaVsOOBq+ioreWumuOBmeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCkyIKIAotIzogcmVkaXIuYzo1NDQKKyM6IHJlZGlyLmM6NTQ4CiBtc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgotbXNnc3RyICIiCittc2dzdHIgIuODjeODg+ODiOODr+ODvOOCr+OBjOeEoeWKueOBquWgtOWQiCAvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQg44Gv44K144Od44O844OI44GV44KM44G+44Gb44KTIgogCi0jOiByZWRpci5jOjExMDEKLSMsIGZ1enp5CisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKLW1zZ3N0ciAipeqlwKWkpeylr6W3peel86WopemhvCIKK21zZ3N0ciAi44Oq44OA44Kk44Os44Kv44OI44Ko44Op44O8OiDjg5XjgqHjgqTjg6voqJjov7DlrZDjgpLopIfoo73jgafjgY3jgb7jgZvjgpMiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgotbXNnc3RyICIiCittc2dzdHIgIi90bXAg44GM6KaL44Gk44GL44KK44G+44Gb44KT44CC5L2c5oiQ44GX44Gm44GP44Gg44GV44GEISIKIAotIzogc2hlbGwuYzozMzYKKyM6IHNoZWxsLmM6MzM3CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCi1tc2dzdHIgIiIKK21zZ3N0ciAiL3RtcCDjga/mnInlirnjgarjg4fjgqPjg6zjgq/jg4jjg6rlkI3jgafjgarjgZHjgozjgbDjgYTjgZHjgb7jgZvjgpMiCiAKICM6IHNoZWxsLmM6ODg0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCi1tc2dzdHIgIiVjJWM6ILCtpKSlqqXXpbel56XzIgorbXNnc3RyICIlYyVjOiDnhKHlirnjgarjgqrjg5fjgrfjg6fjg7MiCiAKLSM6IHNoZWxsLmM6MTY1MQorIzogc2hlbGwuYzoxNjUyCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgotbXNnc3RyICK75KTPzL7BsKSspKKk6qTepLuk8yEiCittc2dzdHIgIuengeOBr+WQjeWJjeOBjOOBguOCiuOBvuOBm+OCkyEiCiAKLSM6IHNoZWxsLmM6MTc5MwotIywgZnV6enksIGMtZm9ybWF0CisjOiBzaGVsbC5jOjE3OTUKKyMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgotbXNnc3RyICJHTlUgJXMsIKXQobyluKXnpfMgJXNcbiIKK21zZ3N0ciAiR05VIGJhc2gsIOODkOODvOOCuOODp+ODsyAlcy0oJXMpXG4iCiAKLSM6IHNoZWxsLmM6MTc5NAorIzogc2hlbGwuYzoxNzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgogIlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gc2NyaXB0LWZpbGUgLi4uXG4iCiBtc2dzdHIgIiIKLSK7yM3Ryv3LoTpcdCVzIFtHTlUgxLmkpKWqpdelt6XnpfNdIFulqqXXpbel56XzXSAuLi5cbiIKLSJcdCVzIFtHTlUgxLmkpKWqpdelt6XnpfNdIFulqqXXpbel56XzXSCluaWvpeql16XIpdWloaWkpesgLi4uXG4iCisi5L2/55So5rOVOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCisiXHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSBzY3JpcHQtZmlsZSAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzk2CisjOiBzaGVsbC5jOjE3OTgKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgotbXNnc3RyICJHTlUgxLmkpKWqpdelt6XnpfM6XG4iCittc2dzdHIgIkdOVSDlvaLlvI/jga7plbfjgYTjgqrjg5fjgrfjg6fjg7M6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKLW1zZ3N0ciAipbelp6XrIKWqpdelt6XnpfM6XG4iCittc2dzdHIgIuOCt+OCp+ODq+OCquODl+OCt+ODp+ODszpcbiIKIAotIzogc2hlbGwuYzoxODAxCi0jLCBmdXp6eQorIzogc2hlbGwuYzoxODAzCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgotbXNnc3RyICJcdC1pcnNEIMv0pM8gpbOl3qXzpclcdFx0KMHKpKikzqTfKVxuIgorbXNnc3RyICJcdC1pcnNEIOOBvuOBn+OBryAtYyBjb21tYW5kIOOBvuOBn+OBryAtTyBzaG9wdF9vcHRpb25cdFx0KOi1t+WLleaZguOBruOBvylcbiIKIAotIzogc2hlbGwuYzoxODE2CisjOiBzaGVsbC5jOjE4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCi1tc2dzdHIgIlx0LSVzIMv0pM8gLW8gpaql16W3peel81xuIgotCi0jOiBzaGVsbC5jOjE4MjIKLSMsIGMtZm9ybWF0Ci1tc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgotbXNnc3RyICKlt6WnpeulqqXXpbel56XzpM6+3LrZpMukxKSkpMakzyBgJXMgLWMgXCJoZWxwIHNldFwiJ6TIxv7Ozy5cbiIKLQotIzogc2hlbGwuYzoxODIzCi0jLCBjLWZvcm1hdAotbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCi1tc2dzdHIgIsHIpN+5/qTfpbOl3qXzpcmky6TEpKSkxqTPIGAlcyAtYyBoZWxwJ6TIxv7OzyAuXG4iCittc2dzdHIgIlx0LSVzIOOBvuOBn+OBryAtbyBvcHRpb25cbiIKIAogIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAotbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCittc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgogbXNnc3RyICIiCisi44K344Kn44Or44Kq44OX44K344On44Oz44Gu6Kmz57Sw44Gr44Gk44GE44Gm44GvIGAlcyAtYyBcImhlbHAgc2V0XCIn44Go5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCXG4iCiAKLSM6IHNpZy5jOjYyNgorIzogc2hlbGwuYzoxODI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCittc2dzdHIgIuOCt+OCp+ODq+e1hOOBv+i+vOOBv+OCs+ODnuODs+ODieOBq+OBpOOBhOOBpuOBryBgJXMgLWMgaGVscCcg44Go5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCXG4iCisKKyM6IHNoZWxsLmM6MTgyNgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgorbXNnc3RyICLjg5DjgrDloLHlkYrjgpLjgZnjgovloLTlkIjjga8gYGJhc2hidWcnIOOCs+ODnuODs+ODieOCkuS9v+eUqOOBl+OBpuOBj+OBoOOBleOBhOOAglxuIgorCisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJzaWdwcm9jbWFzazogJWQ6IOeEoeWKueOBquaTjeS9nOOBp+OBmSIKIAogIzogc2lnbGlzdC5jOjQ4CiBtc2dpZCAiQm9ndXMgc2lnbmFsIgotbXNnc3RyICKwraSkpbelsKXKpesiCittc2dzdHIgIuaCquOBhOOCt+OCsOODiuODqyIKIAogIzogc2lnbGlzdC5jOjUxCiBtc2dpZCAiSGFuZ3VwIgotbXNnc3RyICLE5LvfIgorbXNnc3RyICLlgZzmraIiCiAKICM6IHNpZ2xpc3QuYzo1NQogbXNnaWQgIkludGVycnVwdCIKLW1zZ3N0ciAis+Sk6rn+pN8iCittc2dzdHIgIuWJsuOCiui+vOOBvyIKIAogIzogc2lnbGlzdC5jOjU5CiBtc2dpZCAiUXVpdCIKLW1zZ3N0ciAivarOuyIKK21zZ3N0ciAi57WC5LqGIgogCiAjOiBzaWdsaXN0LmM6NjMKIG1zZ2lkICJJbGxlZ2FsIGluc3RydWN0aW9uIgotbXNnc3RyICKwraSku9i8qCIKK21zZ3N0ciAi5LiN5q2j44Gq5oyH5a6aIgogCiAjOiBzaWdsaXN0LmM6NjcKIG1zZ2lkICJCUFQgdHJhY2UvdHJhcCIKLW1zZ3N0ciAiIgorbXNnc3RyICJCUFQgdHJhY2UvdHJhcCIKIAogIzogc2lnbGlzdC5jOjc1CiBtc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCi1tc2dzdHIgIrvYvKikzsPmu98iCittc2dzdHIgIkFCT1JUIOaMh+WumiIKIAogIzogc2lnbGlzdC5jOjc5CiBtc2dpZCAiRU1UIGluc3RydWN0aW9uIgotbXNnc3RyICJFTVQgu9i8qCIKK21zZ3N0ciAiRU1UIOaMh+WumiIKIAogIzogc2lnbGlzdC5jOjgzCiBtc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgotbXNnc3RyICLJ4sawxcCkzs7js7AiCittc2dzdHIgIua1ruWLleWwj+aVsOeCueS+i+WkliIKIAogIzogc2lnbGlzdC5jOjg3CiBtc2dpZCAiS2lsbGVkIgotbXNnc3RyICK7pqS3pN6kt6S/IgorbXNnc3RyICJLaWxsZWQiCiAKICM6IHNpZ2xpc3QuYzo5MQogbXNnaWQgIkJ1cyBlcnJvciIKLW1zZ3N0ciAipdCluaWopemhvCIKK21zZ3N0ciAi44OQ44K544Ko44Op44O8IgogCiAjOiBzaWdsaXN0LmM6OTUKIG1zZ2lkICJTZWdtZW50YXRpb24gZmF1bHQiCi1tc2dzdHIgIqW7pbCl4aXzpcahvKW3peel86XVpaml66XIIgorbXNnc3RyICLjgrvjgrDjg6Hjg7Pjg4bjg7zjgrfjg6fjg7Pjg5Xjgqnjg6vjg4giCiAKICM6IHNpZ2xpc3QuYzo5OQogbXNnaWQgIkJhZCBzeXN0ZW0gY2FsbCIKLW1zZ3N0ciAisK2kpKW3pbmlxqXgpbOhvKXrIgorbXNnc3RyICLoqqTjgaPjgZ/jgrfjgrnjg4bjg6DjgrPjg7zjg6siCiAKICM6IHNpZ2xpc3QuYzoxMDMKIG1zZ2lkICJCcm9rZW4gcGlwZSIKLW1zZ3N0ciAipdGlpKXXpKzA2qTspN6kt6S/IgorbXNnc3RyICLjg5HjgqTjg5fjgYzliIfjgozjgb7jgZfjgZ8iCiAKICM6IHNpZ2xpc3QuYzoxMDcKIG1zZ2lkICJBbGFybSBjbG9jayIKLW1zZ3N0ciAipaKl6aG8peC7/rfXIgorbXNnc3RyICLjgqLjg6njg7zjg6DmmYLoqIgiCiAKICM6IHNpZ2xpc3QuYzoxMTEKLSMsIGZ1enp5CiBtc2dpZCAiVGVybWluYXRlZCIKLW1zZ3N0ciAivarOu6S3pN6kt6S/IgorbXNnc3RyICJUZXJtaW5hdGVkIgogCiAjOiBzaWdsaXN0LmM6MTE1CiBtc2dpZCAiVXJnZW50IElPIGNvbmRpdGlvbiIKLW1zZ3N0ciAitd6krqTOIElPIL71wtYiCittc2dzdHIgIuaApeOBjuOBriBJTyDnirbmhYsiCiAKICM6IHNpZ2xpc3QuYzoxMTkKIG1zZ2lkICJTdG9wcGVkIChzaWduYWwpIgotbXNnc3RyICLE5LvfICilt6Wwpcql6ykiCittc2dzdHIgIuWBnOatoiAo44K344Kw44OK44OrKSIKIAogIzogc2lnbGlzdC5jOjEyNwogbXNnaWQgIkNvbnRpbnVlIgotbXNnc3RyICLCs7nUIgorbXNnc3RyICLntprooYwiCiAKICM6IHNpZ2xpc3QuYzoxMzUKIG1zZ2lkICJDaGlsZCBkZWF0aCBvciBzdG9wIgotbXNnc3RyICK70qTOvarOu8v0pM/E5LvfICIKK21zZ3N0ciAi5a2Q44OX44Ot44K744K544Gu5q275Lqh44G+44Gf44Gv5YGc5q2iICIKIAogIzogc2lnbGlzdC5jOjEzOQogbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCi1tc2dzdHIgIsTku98gKHR0eSDG/s7PKSIKK21zZ3N0ciAi5YGc5q2iICh0dHkg5YWl5YqbKSIKIAogIzogc2lnbGlzdC5jOjE0MwogbXNnaWQgIlN0b3BwZWQgKHR0eSBvdXRwdXQpIgotbXNnc3RyICLE5LvfICh0dHkgvdDOzykiCittc2dzdHIgIuWBnOatoiAodHR5IOWHuuWKmykiCiAKICM6IHNpZ2xpc3QuYzoxNDcKIG1zZ2lkICJJL08gcmVhZHkiCi1tc2dzdHIgIkkvTyDN0bDVpKykx6StpMakpKTepLkiCittc2dzdHIgIkkvTyDnlKjmhI/jgYzjgafjgY3jgabjgYTjgb7jgZkiCiAKICM6IHNpZ2xpc3QuYzoxNTEKIG1zZ2lkICJDUFUgbGltaXQiCi1tc2dzdHIgIkNQVSC4wsXZIgorbXNnc3RyICJDUFUgbGltaXQiCiAKICM6IHNpZ2xpc3QuYzoxNTUKIG1zZ2lkICJGaWxlIGxpbWl0IgotbXNnc3RyICKl1aWhpaSl67jCxdkiCittc2dzdHIgIuODleOCoeOCpOODqyBsaW1pdCIKIAogIzogc2lnbGlzdC5jOjE1OQogbXNnaWQgIkFsYXJtICh2aXJ0dWFsKSIKLW1zZ3N0ciAit9nK8yAosr7B2ykiCittc2dzdHIgIuitpuWgsSAo5Luu5oOzKSIKIAogIzogc2lnbGlzdC5jOjE2MwogbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKLW1zZ3N0ciAit9nK8yAopdel7aXVpaGlpKXrKSIKK21zZ3N0ciAi6K2m5aCxICjjg5fjg63jg5XjgqHjgqTjg6spIgogCiAjOiBzaWdsaXN0LmM6MTY3CiBtc2dpZCAiV2luZG93IGNoYW5nZWQiCi1tc2dzdHIgIsHrpKzK0bm5pLWk7KTepLekvyIKK21zZ3N0ciAi44Km44Kj44Oz44OJ44Km44GM5aSJ5pu044GV44KM44G+44GX44GfIgogCiAjOiBzaWdsaXN0LmM6MTcxCiBtc2dpZCAiUmVjb3JkIGxvY2siCi1tc2dzdHIgIrWtz7+kzqXtpcOlryIKK21zZ3N0ciAi6KiY6Yyy44Gu44Ot44OD44KvIgogCiAjOiBzaWdsaXN0LmM6MTc1CiBtc2dpZCAiVXNlciBzaWduYWwgMSIKLW1zZ3N0ciAipeahvKW2pbelsKXKpesgMSIKK21zZ3N0ciAi44Om44O844K244K344Kw44OK44OrIDEiCiAKICM6IHNpZ2xpc3QuYzoxNzkKIG1zZ2lkICJVc2VyIHNpZ25hbCAyIgotbXNnc3RyICKl5qG8pbalt6Wwpcql6yAyIgorbXNnc3RyICLjg6bjg7zjgrbjgrfjgrDjg4rjg6sgMiIKIAogIzogc2lnbGlzdC5jOjE4MwogbXNnaWQgIkhGVCBpbnB1dCBkYXRhIHBlbmRpbmciCi1tc2dzdHIgIkhGVCDMpLfopM7G/s7PpcehvKW/IgorbXNnc3RyICJIRlQg5pyq5rG644Gu5YWl5Yqb44OH44O844K/IgogCiAjOiBzaWdsaXN0LmM6MTg3CiBtc2dpZCAicG93ZXIgZmFpbHVyZSBpbW1pbmVudCIKLW1zZ3N0ciAixcW4u7jOvuOkzrTtuLEiCittc2dzdHIgIumbu+a6kOaVhemanOOBruWNsemZuiIKIAogIzogc2lnbGlzdC5jOjE5MQogbXNnaWQgInN5c3RlbSBjcmFzaCBpbW1pbmVudCIKLW1zZ3N0ciAipbeluaXGpeClr6XppcOlt6XlpM607bixIgorbXNnc3RyICLjgrfjgrnjg4bjg6Djgq/jg6njg4Pjgrfjg6Xjga7ljbHpmboiCiAKICM6IHNpZ2xpc3QuYzoxOTUKIG1zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCi1tc2dzdHIgIqXXpe2lu6W5pPKw46SmQ1BVpMuw3MawIgorbXNnc3RyICLjg5fjg63jgrvjgrnjgpLliKXjga5DUFXjgavnp7vli5UiCiAKICM6IHNpZ2xpc3QuYzoxOTkKIG1zZ2lkICJwcm9ncmFtbWluZyBlcnJvciIKLW1zZ3N0ciAipdel7aWwpeml36XzpbClqKXpobwiCittc2dzdHIgIuODl+ODreOCsOODqeODn+ODs+OCsOOCqOODqeODvCIKIAogIzogc2lnbGlzdC5jOjIwMwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKLW1zZ3N0ciAiSFRGIG1vbml0b3Kl4qG8pcmkrM2/pKik6aTspN6kt6S/IgorbXNnc3RyICJIVEYgbW9uaXRvcuODouODvOODieOBjOS4juOBiOOCieOCjOOBvuOBl+OBnyIKIAogIzogc2lnbGlzdC5jOjIwNwogbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgotbXNnc3RyICJIRlQgbW9uaXRvcqXiobylyaSsw6Wk76TspN6kt6S/IgorbXNnc3RyICJIRlQgbW9uaXRvcuODouODvOODieOBjOWlquOCj+OCjOOBvuOBl+OBnyIKIAogIzogc2lnbGlzdC5jOjIxMQogbXNnaWQgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgotbXNnc3RyICIiCittc2dzdHIgIkhGVCDjgrXjgqbjg7Pjg4njgrfjg7zjgrHjg7PjgrnjgYzlrozkuobjgZfjgb7jgZfjgZ8iCiAKICM6IHNpZ2xpc3QuYzoyMTUKIG1zZ2lkICJJbmZvcm1hdGlvbiByZXF1ZXN0IgotbXNnc3RyICIiCittc2dzdHIgIuaDheWgseimgeaxgiIKIAogIzogc2lnbGlzdC5jOjIyMwogbXNnaWQgIlVua25vd24gU2lnbmFsICMiCi1tc2dzdHIgIsykw86kzqW3pbClyqXrICMiCittc2dzdHIgIuS4jeaYjuOBquOCt+OCsOODiuODq+eVquWPtyIKIAogIzogc2lnbGlzdC5jOjIyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCi1tc2dzdHIgIsykw86kzqW3pbClyqXrICMlZCIKK21zZ3N0ciAi5LiN5piO44Gq44K344Kw44OK44Or55Wq5Y+3ICVkIgogCi0jOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE1MDIKKyMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgotbXNnc3RyICKwraSkwuXG/jogYCVzJyCkrCAlcyCky6TPpKKk6qTepLuk8yIKK21zZ3N0ciAi6Kqk44Gj44Gf5Luj5YWlOiDplonjgZjjgosgYCVzJyDjgYwgJXMg44Gr5a2Y5Zyo44GX44G+44Gb44KTIgogCi0jOiBzdWJzdC5jOjI3MzUKKyM6IHN1YnN0LmM6Mjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKLW1zZ3N0ciAiJXM6IKXqpbmlyKTyx9vO86XhpfOl0KG8pMuz5KTqxfakxqTppOyk3qS7pPMiCittc2dzdHIgIiVzOiDjg6rjgrnjg4jjgpLphY3liJfopoHntKDjgavlibLjgorlvZPjgabjgafjgY3jgb7jgZvjgpMiCiAKLSM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKLSMsIGZ1enp5CisjOiBzdWJzdC5jOjQ5Nzkgc3Vic3QuYzo0OTk1CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCi1tc2dzdHIgIqXXpe2lu6W5pM7C5cb+pMul0aWkpdek8rruwK6kx6StpN6ku6TzOiAlcyIKK21zZ3N0ciAi44OX44Ot44K744K55Luj5YWl44Gn44Gv44OR44Kk44OX44KS5L2c5oiQ44Gn44GN44G+44Gb44KTIgogCi0jOiBzdWJzdC5jOjQ4MDIKLSMsIGZ1enp5CisjOiBzdWJzdC5jOjUwMjcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCi1tc2dzdHIgIqXXpe2lu6W5pM7C5cb+pMu70qTyuu7ArqTHpK2k3qS7pPM6ICVzIgorbXNnc3RyICLjg5fjg63jgrvjgrnku6PlhaXjgafjga/lrZDjg5fjg63jgrvjgrnjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpMiCiAKLSM6IHN1YnN0LmM6NDg0NwotIywgZnV6enksIGMtZm9ybWF0CisjOiBzdWJzdC5jOjUwNzIKKyMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKLW1zZ3N0ciAibmFtZWQgcGlwZSAlcyCk8iAlcyCk2LOrpLGk3qS7pPM6ICVzIgorbXNnc3RyICLlkI3liY3ku5jjgY3jg5HjgqTjg5cgJXMg44KS6Kqt44G/6L6844G/55So44Gr6ZaL44GR44G+44Gb44KTIgogCi0jOiBzdWJzdC5jOjQ4NDkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogc3Vic3QuYzo1MDc0CisjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCi1tc2dzdHIgIm5hbWVkIHBpcGUgJXMgpPIgJXMgpNizq6SxpN6ku6TzOiAlcyIKK21zZ3N0ciAi5ZCN5YmN5LuY44GN44OR44Kk44OXICVzIOOCkuabuOOBjei+vOOBv+eUqOOBq+mWi+OBkeOBvuOBm+OCkyIKIAotIzogc3Vic3QuYzo0ODY3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHN1YnN0LmM6NTA5MgorIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCi1tc2dzdHIgIm5hbWVkIHBpcGUgJXMgpPIgZmQgJWQgpM6kv6ThpMvKo8C9pLmk66SzpMikz6THpK2k3qS7pPM6ICVzIgorbXNnc3RyICLlkI3liY3ku5jjgY3jg5HjgqTjg5cgJXMg44KS44OV44Kh44Kk44Or6KiY6L+w5a2QKGZkKSAlZCDjgajjgZfjgabopIfoo73jgafjgY3jgb7jgZvjgpMiCiAKLSM6IHN1YnN0LmM6NTA2MwotIywgZnV6enkKKyM6IHN1YnN0LmM6NTI4NAogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgotbXNnc3RyICLC5c39pbOl3qXzpcmky6XRpaSl16Tyuu7ArqTHpK2k3qS7pPM6ICVzIgorbXNnc3RyICLjgrPjg57jg7Pjg4nku6PlhaXjgafjga/jg5HjgqTjg5fjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpMiCiAKLSM6IHN1YnN0LmM6NTA5NwotIywgZnV6enkKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKLW1zZ3N0ciAiwuXN/aWzpd6l86XJpMu70qTyuu7ArqTHpK2k3qS7pPM6ICVzIgorbXNnc3RyICLjgrPjg57jg7Pjg4nku6PlhaXjgafjga/lrZDjg5fjg63jgrvjgrnjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpMiCiAKLSM6IHN1YnN0LmM6NTExNAotIywgZnV6enkKKyM6IHN1YnN0LmM6NTMzOQogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCi1tc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTogpdGlpKXXpPIgZmQgMSCkyKS3pMbKo8C9pMekraTepLuk8zogJXMiCittc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTog44OR44Kk44OX44KSIGZkIDEg44Go44GX44Gm6KSH6KO944Gn44GN44G+44Gb44KTIgogCi0jOiBzdWJzdC5jOjU2MTcKKyM6IHN1YnN0LmM6NTg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKLW1zZ3N0ciAiJXM6IKXRpeml4aG8pb+krKXMpevL9KTPpbulw6XIpLWk7KTGpKSk3qS7pPMiCittc2dzdHIgIiVzOiDjg5Hjg6njg6Hjg7zjgr/jgYwgbnVsbCDjgb7jgZ/jga/oqK3lrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCiAKLSM6IHN1YnN0LmM6NTkwNworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiAKLSM6IHN1YnN0LmM6Njk2NQorIzogc3Vic3QuYzo3MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgotbXNnc3RyICIlczogsK2kpMLlzf0iCittc2dzdHIgIiVzOiDoqqTjgaPjgZ/ku6PlhaXjgafjgZkiCiAKLSM6IHN1YnN0LmM6NzA0NQorIzogc3Vic3QuYzo3MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKLW1zZ3N0ciAiJCVzOiCks6TOpOikpqTLu9jE6qTHpK2k3qS7pPMiCittc2dzdHIgIiQlczog44GT44Gu5pa55rOV44Gn5Ymy5b2T44Gv44Gn44GN44G+44Gb44KTIgogCi0jOiBzdWJzdC5jOjczNzQKKyM6IHN1YnN0LmM6NzY4NAogbXNnaWQgIiIKICJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKICJzdWJzdGl0dXRpb24iCi1tc2dzdHIgIiIKK21zZ3N0ciAi5bCG5p2l44Gu44OQ44O844K444On44Oz44Gu44K344Kn44Or44Gn44Gv5by35Yi255qE44Gr5pWw5YCk5Luj5YWl44Go44GX44Gm6KmV5L6h44GV44KM44G+44GZIgogCi0jOiBzdWJzdC5jOjc4MzkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogc3Vic3QuYzo4MTQ5CisjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCi1tc2dzdHIgIrCtpKTC5cb+OiBgJXMnIKSsICVzIKTLpM+koqTqpN6ku6TzIgorbXNnc3RyICLoqqTjgaPjgZ/ku6PlhaU6ICVzIOOBq+mWieOBmOOCiyBcImBcIiDjgYzjgYLjgorjgb7jgZvjgpMiCiAKLSM6IHN1YnN0LmM6ODcyMAorIzogc3Vic3QuYzo5MDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICLkuIDoh7TjgZfjgb7jgZvjgpM6ICVzIgogCiAjOiB0ZXN0LmM6MTQ2CiBtc2dpZCAiYXJndW1lbnQgZXhwZWN0ZWQiCi1tc2dzdHIgIrD6v/Sk8rT8wtQiCittc2dzdHIgIuW8leaVsOOBjOS6iOacn+OBleOCjOOBvuOBmSIKIAogIzogdGVzdC5jOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW50ZWdlciBleHByZXNzaW9uIGV4cGVjdGVkIgotbXNnc3RyICIlczogu9i/9KTOyb24vaTytPzC1CIKK21zZ3N0ciAiJXM6IOaVtOaVsOOBruW8j+OBjOS6iOacn+OBleOCjOOBvuOBmSIKIAogIzogdGVzdC5jOjI2MwogbXNnaWQgImApJyBleHBlY3RlZCIKLW1zZ3N0ciAiYCknIKTytPzC1CIKK21zZ3N0ciAiYCknIOOBjOS6iOacn+OBleOCjOOBvuOBmSIKIAogIzogdGVzdC5jOjI2NQogIywgYy1mb3JtYXQKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgotbXNnc3RyICJgKScsIKTytPzC1CwgxsCkv6TOpM8gJXMiCittc2dzdHIgImApJyDjgYzkuojmnJ/jgZXjgozjgb7jgZnjgYzjgIHopovjgaTjgYvjgaPjgZ/jga7jga8gJXMg44Gn44GZIgogCi0jOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgorIzogdGVzdC5jOjI4MCB0ZXN0LmM6Njk4IHRlc3QuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiDljZjpoIXmvJTnrpflrZDjgYzkuojmnJ/jgZXjgozjgb7jgZkiCiAKLSM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXM6IOS6jOmghea8lOeul+WtkOOBjOS6iOacn+OBleOCjOOBvuOBmSIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogbXNnaWQgIm1pc3NpbmcgYF0nIgotbXNnc3RyICJgXSekrMi0pLGkxqTepLkiCittc2dzdHIgImBdJ+OBjOOBguOCiuOBvuOBm+OCkyIKIAotIzogdHJhcC5jOjIwMwotIywgZnV6enkKKyM6IHRyYXAuYzoyMDcKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCi1tc2dzdHIgIrCtpKSlt6Wwpcql68jWueYiCittc2dzdHIgIueEoeWKueOBquOCt+OCsOODiuODq+eVquWPtyIKIAotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgotbXNnc3RyICIiCittc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiB0cmFwX2xpc3RbJWRdIOOBq+iqpOOBo+OBn+WApOOBjOOBguOCiuOBvuOBmTogJXAiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgIiIKKyJydW5fcGVuZGluZ190cmFwczog44K344Kw44OK44Or44OP44Oz44OJ44Op44O844GvIFNJR19ERkzjgafjgZnjgIIsICVkICglcykg44KS6Ieq6Lqr44Gr5YaN6YCB44GXIgorIuOBvuOBmeOAgiIKIAotIzogdHJhcC5jOjM4MAotIywgZnV6enksIGMtZm9ybWF0CisjOiB0cmFwLmM6MzkzCisjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKLW1zZ3N0ciAidHJhcF9oYW5kbGVyOiCwraSkpbelsKXKpesgJWQiCittc2dzdHIgInRyYXBfaGFuZGxlcjog6Kqk44Gj44Gf44K344Kw44OK44OrICVkIgogCiAjOiB2YXJpYWJsZXMuYzozNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCi1tc2dzdHIgIiIKK21zZ3N0ciAiYCVzJyDjga7plqLmlbDlrprnvqnjgpLjgqTjg7Pjg53jg7zjg4jkuK3jgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgotbXNnc3RyICIiCittc2dzdHIgIuOCt+OCp+ODq+ODrOODmeODqyAoJWQpIOOBr+mrmOOBmeOBjuOBvuOBmeOAgjHjgavlho3oqK3lrprjgZXjgozjgb7jgZfjgZ8iCiAKLSM6IHZhcmlhYmxlcy5jOjE5MTUKKyM6IHZhcmlhYmxlcy5jOjE5MzIKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCi1tc2dzdHIgIiIKK21zZ3N0ciAibWFrZV9sb2NhbF92YXJpYWJsZTog54++5Zyo44Gu44K544Kz44O844OX44Gv6Zai5pWw44Kz44Oz44OG44Kt44K544OI44Gn44Gv44GC44KK44G+44Gb44KTIgogCi0jOiB2YXJpYWJsZXMuYzozMTU5CisjOiB2YXJpYWJsZXMuYzozMTgyCiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgotbXNnc3RyICIiCittc2dzdHIgImFsbF9sb2NhbF92YXJpYWJsZXM6IOePvuWcqOOBruOCueOCs+ODvOODl+OBr+mWouaVsOOCs+ODs+ODhuOCreOCueODiOOBp+OBr+OBguOCiuOBvuOBm+OCkyIKIAotIzogdmFyaWFibGVzLmM6MzM3NgotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzozNDI3CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKLW1zZ3N0ciAiJXM6IKXRpeml4aG8pb+krKXMpevL9KTPpbulw6XIpLWk7KTGpKSk3qS7pPMiCittc2dzdHIgIiVzIOOBryBudWxsIOOBriBleHBvcnRzdHIg44KS5oyB44Gj44Gm44GE44G+44GZIgogCi0jOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKKyM6IHZhcmlhYmxlcy5jOjM0MzIgdmFyaWFibGVzLmM6MzQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgotbXNnc3RyICIiCittc2dzdHIgIiUyJHMg44Gr5a++44GZ44KLIGV4cG9ydHN0ciDjgacgJTEkZCDjga/nhKHlirnjgarmloflrZfjgafjgZkiCiAKLSM6IHZhcmlhYmxlcy5jOjMzOTYKKyM6IHZhcmlhYmxlcy5jOjM0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAiJXMg44Gr5a++44GZ44KLIGV4cG9ydHN0ciDjgasgYD0nIOOBjOOBguOCiuOBvuOBm+OCkyIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgorInBvcF92YXJfY29udGV4dDogc2hlbGxfdmFyaWFibGVzIOOBruWFiOmgreOBp+OBmeOAgumWouaVsOOCs+ODs+ODhuOCreOCueODiOOBp+OBr+OBguOCiuOBvuOBm+OCkyIKIAotIzogdmFyaWFibGVzLmM6Mzg0OAorIzogdmFyaWFibGVzLmM6MzkwNAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgotbXNnc3RyICIiCittc2dzdHIgInBvcF92YXJfY29udGV4dDogZ2xvYmFsX3ZhcmlhYmxlcyDjgrPjg7Pjg4bjgq3jgrnjg4jjgafjga/jgYLjgorjgb7jgZvjgpMiCiAKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJwb3Bfc2NvcGU6IHNoZWxsX3ZhcmlhYmxlcyDjga7lhYjpoK3jgafjgZnjgILkuIDmmYLnkrDlooPjgrnjgrPjg7zjg5fjgafjga/jgYLjgorjgb7jgZvjgpMiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2NzgKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogdmFyaWFibGVzLmM6NDc4NgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCi1tc2dzdHIgIiVzOiAlcyCk8rruwK6kx6StpN6ku6TzIgorbXNnc3RyICIlczogJXM6IOODleOCoeOCpOODq+OBqOOBl+OBpumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKIAotIzogdmFyaWFibGVzLmM6NDY4MworIzogdmFyaWFibGVzLmM6NDc5MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKLW1zZ3N0ciAiIgorbXNnc3RyICIlczogJXM6IOODiOODrOODvOOCueODleOCoeOCpOODq+iomOi/sOWtkOOBqOOBl+OBpueEoeWKueOBquWApOOBp+OBmSIKIAogIzogdmVyc2lvbi5jOjQ2Ci1tc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKLW1zZ3N0ciAiIgorIywgZnV6enkKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogCiAjOiB2ZXJzaW9uLmM6NDcKIG1zZ2lkICIiCiAiTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiBtc2dzdHIgIiIKKyLjg6njgqTjgrvjg7PjgrkgR1BMdjMrOiBHTlUgR1BMIOODkOODvOOCuOODp+ODsyAzIOOBvuOBn+OBr+OBneOCjOS7pemZjSA8aHR0cDovL2dudS5vcmcvIgorImxpY2Vuc2VzL2dwbC5odG1sPlxuIgogCiAjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzICglcylcbiIKLW1zZ3N0ciAiR05VICVzLCCl0KG8pbil56XzICVzXG4iCittc2dzdHIgIkdOVSBiYXNoLCDjg5Djg7zjgrjjg6fjg7MgJXMgKCVzKVxuIgogCiAjOiB2ZXJzaW9uLmM6OTEgdmVyc2lvbjIuYzo4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKIAogIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LlxuIgogCiAjOiB2ZXJzaW9uMi5jOjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKLW1zZ3N0ciAiIgorbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCiAKICM6IHZlcnNpb24yLmM6ODcKICMsIGMtZm9ybWF0CkBAIC0xOTEwLDY2ICsxOTQ3LDY5IEBACiAiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiBtc2dzdHIgIiIKKyLjg6njgqTjgrvjg7PjgrkgR1BMdjIrOiBHTlUgR1BMIOODkOODvOOCuOODp+ODsyAyIOOBvuOBn+OBr+OBneOCjOS7pemZjSA8aHR0cDovL2dudS5vcmcvIgorImxpY2Vuc2VzL2dwbC5odG1sPlxuIgogCiAjOiB4bWFsbG9jLmM6OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiAlbHUg44OQ44Kk44OI44KS5Ymy5b2T44Gn44GN44G+44Gb44KTICglbHUg44OQ44Kk44OI44KS5Ymy5b2T5riI44G/KSIKIAogIzogeG1hbGxvYy5jOjkzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgIiVzOiAlcyCk8rruwK6kx6StpN6ku6TzIgorbXNnc3RyICIlczogJWx1IOODkOOCpOODiOOCkuWJsuW9k+OBp+OBjeOBvuOBm+OCkyIKIAogIzogeG1hbGxvYy5jOjE2MwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCittc2dzdHIgIiVzOiAlczolZDogJWx1IOODkOOCpOODiOOCkuWJsuW9k+OBp+OBjeOBvuOBm+OCkyAoJWx1IOODkOOCpOODiOOCkuWJsuW9k+a4iOOBvykiCiAKICM6IHhtYWxsb2MuYzoxNjUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgIiVzOiAlcyCk8rruwK6kx6StpN6ku6TzIgorbXNnc3RyICIlczogJXM6JWQ6ICVsdSDjg5DjgqTjg4jjgpLlibLlvZPjgafjgY3jgb7jgZvjgpMiCiAKICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCi1tc2dzdHIgImFsaWFzIFstcF0gW8y+wbBbPcPNXSAuLi4gXSIKK21zZ3N0ciAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgogCiAjOiBidWlsdGlucy5jOjQ3Ci0jLCBmdXp6eQogbXNnaWQgInVuYWxpYXMgWy1hXSBuYW1lIFtuYW1lIC4uLl0iCi1tc2dzdHIgInVuYWxpYXMgWy1hXSBbzL7BsCAuLi5dIgorbXNnc3RyICJ1bmFsaWFzIFstYV0gbmFtZSBbbmFtZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjUxCiBtc2dpZCAiIgogImJpbmQgWy1scHZzUFZTXSBbLW0ga2V5bWFwXSBbLWYgZmlsZW5hbWVdIFstcSBuYW1lXSBbLXUgbmFtZV0gWy1yIGtleXNlcV0gWy0iCiAieCBrZXlzZXE6c2hlbGwtY29tbWFuZF0gW2tleXNlcTpyZWFkbGluZS1mdW5jdGlvbiBvciByZWFkbGluZS1jb21tYW5kXSIKIG1zZ3N0ciAiIgorImJpbmQgWy1scHZzUFZTXSBbLW0ga2V5bWFwXSBbLWYgZmlsZW5hbWVdIFstcSBuYW1lXSBbLXUgbmFtZV0gWy1yIGtleXNlcV0gWy0iCisieCBrZXlzZXE6c2hlbGwtY29tbWFuZF0gW2tleXNlcTpyZWFkbGluZS1mdW5jdGlvbiDjgb7jgZ/jga8gcmVhZGxpbmUtY29tbWFuZF0iCiAKICM6IGJ1aWx0aW5zLmM6NTQKIG1zZ2lkICJicmVhayBbbl0iCi1tc2dzdHIgIsPmw8cgW25dIgorbXNnc3RyICJicmVhayBbbl0iCiAKICM6IGJ1aWx0aW5zLmM6NTYKIG1zZ2lkICJjb250aW51ZSBbbl0iCi1tc2dzdHIgIsKzudQgW25dIgorbXNnc3RyICJjb250aW51ZSBbbl0iCiAKICM6IGJ1aWx0aW5zLmM6NTgKIG1zZ2lkICJidWlsdGluIFtzaGVsbC1idWlsdGluIFthcmcgLi4uXV0iCi1tc2dzdHIgImJ1aWx0aW4gW3NoZWxsLWJ1aWx0aW4gW7D6v/QgLi4uXV0iCittc2dzdHIgImJ1aWx0aW4gW3NoZWxsLWJ1aWx0aW4gW2FyZyAuLi5dXSIKIAogIzogYnVpbHRpbnMuYzo2MQotIywgZnV6enkKIG1zZ2lkICJjYWxsZXIgW2V4cHJdIgotbXNnc3RyICJ0ZXN0IFvJvbi9XSIKK21zZ3N0ciAiY2FsbGVyIFtleHByXSIKIAogIzogYnVpbHRpbnMuYzo2NAotbXNnaWQgImNkIFstTHwtUF0gW2Rpcl0iCi1tc2dzdHIgIiIKKyMsIGZ1enp5Cittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCittc2dzdHIgImNkIFstTHwtUF0gW2Rpcl0iCiAKICM6IGJ1aWx0aW5zLmM6NjYKIG1zZ2lkICJwd2QgWy1MUF0iCi1tc2dzdHIgIiIKK21zZ3N0ciAicHdkIFstTFBdIgogCiAjOiBidWlsdGlucy5jOjY4CiBtc2dpZCAiOiIKQEAgLTE5NzcsMTI2ICsyMDE3LDExNyBAQAogCiAjOiBidWlsdGlucy5jOjcwCiBtc2dpZCAidHJ1ZSIKLW1zZ3N0ciAiIgorbXNnc3RyICJ0cnVlIgogCiAjOiBidWlsdGlucy5jOjcyCiBtc2dpZCAiZmFsc2UiCi1tc2dzdHIgIiIKK21zZ3N0ciAiZmFsc2UiCiAKICM6IGJ1aWx0aW5zLmM6NzQKIG1zZ2lkICJjb21tYW5kIFstcFZ2XSBjb21tYW5kIFthcmcgLi4uXSIKLW1zZ3N0ciAiY29tbWFuZCBbLXBWdl0gpbOl3qXzpckgW7D6v/QgLi4uXSIKK21zZ3N0ciAiY29tbWFuZCBbLXBWdl0gY29tbWFuZCBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6NzYKICMsIGZ1enp5Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgotbXNnc3RyICJkZWNsYXJlIFstYWZGcnhpXSBbLXBdIMy+wbBbPcPNXSAuLi4iCittc2dpZCAiZGVjbGFyZSBbLWFBZkZnaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKK21zZ3N0ciAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc4CiAjLCBmdXp6eQotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCi1tc2dzdHIgInR5cGVzZXQgWy1hZkZyeGldIFstcF0gzL7BsFs9w81dIC4uLiIKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKK21zZ3N0ciAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKIAogIzogYnVpbHRpbnMuYzo4MAotIywgZnV6enkKIG1zZ2lkICJsb2NhbCBbb3B0aW9uXSBuYW1lWz12YWx1ZV0gLi4uIgotbXNnc3RyICJsb2NhbCDMvsGwWz3DzV0gLi4uIgorbXNnc3RyICJsb2NhbCBbb3B0aW9uXSBuYW1lWz12YWx1ZV0gLi4uIgogCiAjOiBidWlsdGlucy5jOjgzCiBtc2dpZCAiZWNobyBbLW5lRV0gW2FyZyAuLi5dIgotbXNnc3RyICJlY2hvIFstbmVFXSBbsPq/9CAuLi5dIgorbXNnc3RyICJlY2hvIFstbmVFXSBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6ODcKIG1zZ2lkICJlY2hvIFstbl0gW2FyZyAuLi5dIgotbXNnc3RyICJlY2hvIFstbl0gW7D6v/QgLi4uXSIKK21zZ3N0ciAiZWNobyBbLW5dIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzo5MAotIywgZnV6enkKIG1zZ2lkICJlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmaWxlbmFtZV0gW25hbWUgLi4uXSIKLW1zZ3N0ciAiZW5hYmxlIFstcG5kc10gWy1hXSBbLWYgpdWloaWkpevMvl0gW8y+wbAgLi4uXSIKK21zZ3N0ciAiZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYgZmlsZW5hbWVdIFtuYW1lIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6OTIKIG1zZ2lkICJldmFsIFthcmcgLi4uXSIKLW1zZ3N0ciAiZXZhbCBbsPq/9CAuLi5dIgorbXNnc3RyICJldmFsIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzo5NAogbXNnaWQgImdldG9wdHMgb3B0c3RyaW5nIG5hbWUgW2FyZ10iCi1tc2dzdHIgImdldG9wdHMgb3B0c3RyaW5nIMy+wbAgW7D6v/RdIgorbXNnc3RyICJnZXRvcHRzIG9wdHN0cmluZyBuYW1lIFthcmddIgogCiAjOiBidWlsdGlucy5jOjk2Ci0jLCBmdXp6eQogbXNnaWQgImV4ZWMgWy1jbF0gWy1hIG5hbWVdIFtjb21tYW5kIFthcmd1bWVudHMgLi4uXV0gW3JlZGlyZWN0aW9uIC4uLl0iCi1tc2dzdHIgImV4ZWMgWy1jbF0gWy1hIMy+wbBdIKXVpaGlpKXrIFul6qXApaSl7KWvpbel56XzIC4uLl0iCittc2dzdHIgImV4ZWMgWy1jbF0gWy1hIG5hbWVdIFtjb21tYW5kIFthcmd1bWVudHMgLi4uXV0gW3JlZGlyZWN0aW9uIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6OTgKIG1zZ2lkICJleGl0IFtuXSIKLW1zZ3N0ciAivarOuyBbbl0iCittc2dzdHIgImV4aXQgW25dIgogCiAjOiBidWlsdGlucy5jOjEwMAotIywgZnV6enkKIG1zZ2lkICJsb2dvdXQgW25dIgotbXNnc3RyICKl7aWwpaKlpqXIIgorbXNnc3RyICJsb2dvdXQgW25dIgogCiAjOiBidWlsdGlucy5jOjEwMwotIywgZnV6enkKIG1zZ2lkICJmYyBbLWUgZW5hbWVdIFstbG5yXSBbZmlyc3RdIFtsYXN0XSBvciBmYyAtcyBbcGF0PXJlcF0gW2NvbW1hbmRdIgotbXNnc3RyICJmYyBbLWUgZW5hbWVdIFstbmxyXSBbuse96V0gW7rHuOVdIG9mIGZjIC1zIFul0aW/obyl8z1yZXBdIFuls6XepfOlyV0iCittc2dzdHIgImZjIFstZSBlbmFtZV0gWy1sbnJdIFtmaXJzdF0gW2xhc3RdIOOBvuOBn+OBryBmYyAtcyBbcGF0PXJlcF0gW2NvbW1hbmRdIgogCiAjOiBidWlsdGlucy5jOjEwNwotIywgZnV6enkKIG1zZ2lkICJmZyBbam9iX3NwZWNdIgotbXNnc3RyICJkaXNvd24gW2pvYnNwZWMgLi4uXSIKK21zZ3N0ciAiZmcgW2pvYl9zcGVjXSIKIAogIzogYnVpbHRpbnMuYzoxMTEKLSMsIGZ1enp5CiBtc2dpZCAiYmcgW2pvYl9zcGVjIC4uLl0iCi1tc2dzdHIgImRpc293biBbam9ic3BlYyAuLi5dIgorbXNnc3RyICJiZyBbam9iX3NwZWMgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMTQKLSMsIGZ1enp5CiBtc2dpZCAiaGFzaCBbLWxyXSBbLXAgcGF0aG5hbWVdIFstZHRdIFtuYW1lIC4uLl0iCi1tc2dzdHIgImhhc2ggWy1yXSBbLXAgpdGlucy+XSBbzL7BsCAuLi5dIgorbXNnc3RyICJoYXNoIFstbHJdIFstcCBwYXRobmFtZV0gWy1kdF0gW25hbWUgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMTcKLSMsIGZ1enp5CiBtc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKLW1zZ3N0ciAiaGVscCBbpdGlv6G8pfMgLi4uXSIKK21zZ3N0ciAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMjEKLSMsIGZ1enp5CiBtc2dpZCAiIgogImhpc3RvcnkgWy1jXSBbLWQgb2Zmc2V0XSBbbl0gb3IgaGlzdG9yeSAtYW5ydyBbZmlsZW5hbWVdIG9yIGhpc3RvcnkgLXBzIGFyZyAiCiAiW2FyZy4uLl0iCiBtc2dzdHIgIiIKLSJoaXN0b3J5IFstY10gW25dIMv0pM8gaGlzdG9yeSAtYXdybiBbpdWloaWkpevMvl0gb2YgaGlzdG9yeSAtcHMgYXJnIFuw+r/0Li4uXSIKKyJoaXN0b3J5IFstY10gWy1kIG9mZnNldF0gW25dIOOBvuOBn+OBryBoaXN0b3J5IC1hbnJ3IFtmaWxlbmFtZV0g44G+44Gf44GvIGhpc3RvcnkgLSIKKyJwcyBhcmcgW2FyZy4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTI1CiBtc2dpZCAiam9icyBbLWxucHJzXSBbam9ic3BlYyAuLi5dIG9yIGpvYnMgLXggY29tbWFuZCBbYXJnc10iCi1tc2dzdHIgImpvYnMgWy1sbnByc10gW2pvYnNwZWMgLi4uXSDL9KTPIGpvYnMgLXggY29tbWFuZG8gW7D6v/RdIgorbXNnc3RyICJqb2JzIFstbG5wcnNdIFtqb2JzcGVjIC4uLl0g44G+44Gf44GvIGpvYnMgLXggY29tbWFuZCBbYXJnc10iCiAKICM6IGJ1aWx0aW5zLmM6MTI5Ci0jLCBmdXp6eQogbXNnaWQgImRpc293biBbLWhdIFstYXJdIFtqb2JzcGVjIC4uLl0iCi1tc2dzdHIgImRpc293biBbam9ic3BlYyAuLi5dIgorbXNnc3RyICJkaXNvd24gWy1oXSBbLWFyXSBbam9ic3BlYyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEzMgotIywgZnV6enkKIG1zZ2lkICIiCiAia2lsbCBbLXMgc2lnc3BlYyB8IC1uIHNpZ251bSB8IC1zaWdzcGVjXSBwaWQgfCBqb2JzcGVjIC4uLiBvciBraWxsIC1sICIKICJbc2lnc3BlY10iCiBtc2dzdHIgIiIKLSJraWxsIFstcyBzaWdzcGVjIHwgLW4gc2lnbnVtIHwgLXNpZ3NwZWNdIFtwaWQgfCBqb2JdLi4uIMv0pM8ga2lsbCAtbCAiCisia2lsbCBbLXMgc2lnc3BlYyB8IC1uIHNpZ251bSB8IC1zaWdzcGVjXSBwaWQgfCBqb2JzcGVjIC4uLiDjgb7jgZ/jga8ga2lsbCAtbCAiCiAiW3NpZ3NwZWNdIgogCiAjOiBidWlsdGlucy5jOjEzNAogbXNnaWQgImxldCBhcmcgW2FyZyAuLi5dIgotbXNnc3RyICJsZXQgsPq/9CBbsPq/9CAuLi5dIgorbXNnc3RyICJsZXQg5byV5pWwIFvlvJXmlbAgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzYKIG1zZ2lkICIiCiAicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgogInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgorInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKKyJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM4CiBtc2dpZCAicmV0dXJuIFtuXSIKQEAgLTIxMDQsMzcgKzIxMzUsMzMgQEAKIAogIzogYnVpbHRpbnMuYzoxNDAKICMsIGZ1enp5Ci1tc2dpZCAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKLW1zZ3N0ciAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gpaql16W3peel810gW7D6v/QgLi4uXSIKK21zZ2lkICJzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXSIKK21zZ3N0ciAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNDIKIG1zZ2lkICJ1bnNldCBbLWZdIFstdl0gW25hbWUgLi4uXSIKLW1zZ3N0ciAidW5zZXQgWy1mXSBbLXZdIFvMvsGwIC4uLl0iCittc2dzdHIgInVuc2V0IFstZl0gWy12XSBbbmFtZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE0NAotIywgZnV6enkKIG1zZ2lkICJleHBvcnQgWy1mbl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIGV4cG9ydCAtcCIKLW1zZ3N0ciAiZXhwb3J0IFstbmZdIFvMvsGwIC4uLl0gy/SkzyBleHBvcnQgLXAiCittc2dzdHIgImV4cG9ydCBbLWZuXSBbbmFtZVs9dmFsdWVdIC4uLl0g44G+44Gf44GvIGV4cG9ydCAtcCIKIAogIzogYnVpbHRpbnMuYzoxNDYKICMsIGZ1enp5Ci1tc2dpZCAicmVhZG9ubHkgWy1hZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgotbXNnc3RyICJyZWFkb25seSBbLWFuZl0gW8y+wbAgLi4uXSDL9KTPIHJlYWRvbmx5IC1wIgorbXNnaWQgInJlYWRvbmx5IFstYUFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCittc2dzdHIgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSDjgb7jgZ/jga8gcmVhZG9ubHkgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4Ci0jLCBmdXp6eQogbXNnaWQgInNoaWZ0IFtuXSIKLW1zZ3N0ciAivarOuyBbbl0iCittc2dzdHIgInNoaWZ0IFtuXSIKIAogIzogYnVpbHRpbnMuYzoxNTAKLSMsIGZ1enp5CiBtc2dpZCAic291cmNlIGZpbGVuYW1lIFthcmd1bWVudHNdIgotbXNnc3RyICJzb3VyY2UgpdWloaWkpevMviIKK21zZ3N0ciAic291cmNlIGZpbGVuYW1lIFthcmd1bWVudHNdIgogCiAjOiBidWlsdGlucy5jOjE1MgotIywgZnV6enkKIG1zZ2lkICIuIGZpbGVuYW1lIFthcmd1bWVudHNdIgotbXNnc3RyICIuIKXVpaGlpKXrzL4iCittc2dzdHIgIi4gZmlsZW5hbWUgW2FyZ3VtZW50c10iCiAKICM6IGJ1aWx0aW5zLmM6MTU1CiBtc2dpZCAic3VzcGVuZCBbLWZdIgpAQCAtMjE0MiwxMzggKzIxNjksMTIzIEBACiAKICM6IGJ1aWx0aW5zLmM6MTU4CiBtc2dpZCAidGVzdCBbZXhwcl0iCi1tc2dzdHIgInRlc3QgW8m9uL1dIgorbXNnc3RyICJ0ZXN0IFtleHByXSIKIAogIzogYnVpbHRpbnMuYzoxNjAKIG1zZ2lkICJbIGFyZy4uLiBdIgotbXNnc3RyICJbILD6v/QuLi4gXSIKK21zZ3N0ciAiWyBhcmcuLi4gXSIKIAogIzogYnVpbHRpbnMuYzoxNjIKIG1zZ2lkICJ0aW1lcyIKIG1zZ3N0ciAidGltZXMiCiAKICM6IGJ1aWx0aW5zLmM6MTY0Ci0jLCBmdXp6eQogbXNnaWQgInRyYXAgWy1scF0gW1thcmddIHNpZ25hbF9zcGVjIC4uLl0iCi1tc2dzdHIgInRyYXAgW7D6v/RdIFtzaWduYWxfc3BlY10gy/SkzyB0cmFwIC1sIgorbXNnc3RyICJ0cmFwIFstbHBdIFtbYXJnXSBzaWduYWxfc3BlYyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE2NgotIywgZnV6enkKIG1zZ2lkICJ0eXBlIFstYWZwdFBdIG5hbWUgW25hbWUgLi4uXSIKLW1zZ3N0ciAidHlwZSBbLWFwdF0gzL7BsCBbzL7BsCAuLi5dIgorbXNnc3RyICJ0eXBlIFstYWZwdFBdIG5hbWUgW25hbWUgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNjkKLSMsIGZ1enp5CiBtc2dpZCAidWxpbWl0IFstU0hhY2RlZmlsbW5wcXJzdHV2eF0gW2xpbWl0XSIKLW1zZ3N0ciAidWxpbWl0IFstU0hhY2RmbXN0cG51dl0gW77luMJdIgorbXNnc3RyICJ1bGltaXQgWy1TSGFjZGVmaWxtbnBxcnN0dXZ4XSBbbGltaXRdIgogCiAjOiBidWlsdGlucy5jOjE3MgotIywgZnV6enkKIG1zZ2lkICJ1bWFzayBbLXBdIFstU10gW21vZGVdIgotbXNnc3RyICJ1bWFzayBbLVNdIFul4qG8pcldIgorbXNnc3RyICJ1bWFzayBbLXBdIFstU10gW21vZGVdIgogCiAjOiBidWlsdGlucy5jOjE3NQotIywgZnV6enkKIG1zZ2lkICJ3YWl0IFtpZF0iCi1tc2dzdHIgIndhaXQgW25dIgorbXNnc3RyICJ3YWl0IFtpZF0iCiAKICM6IGJ1aWx0aW5zLmM6MTc5Ci0jLCBmdXp6eQogbXNnaWQgIndhaXQgW3BpZF0iCi1tc2dzdHIgIndhaXQgW25dIgorbXNnc3RyICJ3YWl0IFtwaWRdIgogCiAjOiBidWlsdGlucy5jOjE4MgotIywgZnV6enkKIG1zZ2lkICJmb3IgTkFNRSBbaW4gV09SRFMgLi4uIF0gOyBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAiZm9yIMy+wbAgW2luILjAzdUgLi4uIDtdIGRvIKWzpd6l86XJt7I7IGRvbmUiCittc2dzdHIgImZvciBOQU1FIFtpbiBXT1JEUyAuLi4gXSA7IGRvIENPTU1BTkRTOyBkb25lIgogCiAjOiBidWlsdGlucy5jOjE4NAotIywgZnV6enkKIG1zZ2lkICJmb3IgKCggZXhwMTsgZXhwMjsgZXhwMyApKTsgZG8gQ09NTUFORFM7IGRvbmUiCi1tc2dzdHIgImZvciDMvsGwIFtpbiC4wM3VIC4uLiA7XSBkbyCls6XepfOlybeyOyBkb25lIgorbXNnc3RyICJmb3IgKCggZXhwMTsgZXhwMjsgZXhwMyApKTsgZG8gQ09NTUFORFM7IGRvbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTg2CiBtc2dpZCAic2VsZWN0IE5BTUUgW2luIFdPUkRTIC4uLiA7XSBkbyBDT01NQU5EUzsgZG9uZSIKLW1zZ3N0ciAic2VsZWN0IMy+wbAgW2luILjAzdUgLi4uIDtdIGRvIKWzpd6l86XJt7I7IGRvbmUiCittc2dzdHIgInNlbGVjdCBOQU1FIFtpbiBXT1JEUyAuLi4gO10gZG8gQ09NTUFORFM7IGRvbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTg4CiBtc2dpZCAidGltZSBbLXBdIHBpcGVsaW5lIgotbXNnc3RyICIiCittc2dzdHIgInRpbWUgWy1wXSBwaXBlbGluZSIKIAogIzogYnVpbHRpbnMuYzoxOTAKIG1zZ2lkICJjYXNlIFdPUkQgaW4gW1BBVFRFUk4gW3wgUEFUVEVSTl0uLi4pIENPTU1BTkRTIDs7XS4uLiBlc2FjIgotbXNnc3RyICJjYXNlILjAzdUgaW4gW6XRpb+hvKXzIFt8IKXRpb+hvKXzXS4uLikgpbOl3qXzpcm3siA7O10uLi4gZXNhYyIKK21zZ3N0ciAiY2FzZSBXT1JEIGluIFtQQVRURVJOIFt8IFBBVFRFUk5dLi4uKSBDT01NQU5EUyA7O10uLi4gZXNhYyIKIAogIzogYnVpbHRpbnMuYzoxOTIKIG1zZ2lkICIiCiAiaWYgQ09NTUFORFM7IHRoZW4gQ09NTUFORFM7IFsgZWxpZiBDT01NQU5EUzsgdGhlbiBDT01NQU5EUzsgXS4uLiBbIGVsc2UgIgogIkNPTU1BTkRTOyBdIGZpIgogbXNnc3RyICIiCi0iaWYgpbOl3qXzpcm3sjsgdGhlbiCls6XepfOlybeyOyBbIGVsaWYgpbOl3qXzpcm3sjsgdGhlbiCls6XepfOlybeyOyBdLi4uICIKLSJbIGVsc2UgpbOl3qXzpcm3sjsgXSBmaSIKKyJpZiBDT01NQU5EUzsgdGhlbiBDT01NQU5EUzsgWyBlbGlmIENPTU1BTkRTOyB0aGVuIENPTU1BTkRTOyBdLi4uIFsgZWxzZSAiCisiQ09NTUFORFM7IF0gZmkiCiAKICM6IGJ1aWx0aW5zLmM6MTk0CiBtc2dpZCAid2hpbGUgQ09NTUFORFM7IGRvIENPTU1BTkRTOyBkb25lIgotbXNnc3RyICJ3aGlsZSCls6XepfOlybeyOyBkbyCls6XepfOlybeyOyBkb25lIgorbXNnc3RyICJ3aGlsZSBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTk2CiBtc2dpZCAidW50aWwgQ09NTUFORFM7IGRvIENPTU1BTkRTOyBkb25lIgotbXNnc3RyICJ1bnRpbCCls6XepfOlybeyOyBkbyCls6XepfOlybeyOyBkb25lIgorbXNnc3RyICJ1bnRpbCBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUiCiAKICM6IGJ1aWx0aW5zLmM6MTk4CiBtc2dpZCAiY29wcm9jIFtOQU1FXSBjb21tYW5kIFtyZWRpcmVjdGlvbnNdIgotbXNnc3RyICIiCittc2dzdHIgImNvcHJvYyBbTkFNRV0gY29tbWFuZCBbcmVkaXJlY3Rpb25zXSIKIAogIzogYnVpbHRpbnMuYzoyMDAKLSMsIGZ1enp5CiBtc2dpZCAiZnVuY3Rpb24gbmFtZSB7IENPTU1BTkRTIDsgfSBvciBuYW1lICgpIHsgQ09NTUFORFMgOyB9IgotbXNnc3RyICJmdW5jdGlvbiDMvsGwIHsgpbOl3qXzpcm3siA7IH0gb3IgzL7BsCAoKSB7IKWzpd6l86XJt7IgOyB9ICIKK21zZ3N0ciAiZnVuY3Rpb24gbmFtZSB7IENPTU1BTkRTIDsgfSDjgb7jgZ/jga8gbmFtZSAoKSB7IENPTU1BTkRTIDsgfSIKIAogIzogYnVpbHRpbnMuYzoyMDIKLSMsIGZ1enp5CiBtc2dpZCAieyBDT01NQU5EUyA7IH0iCi1tc2dzdHIgInsgpbOl3qXzpcm3siB9IgorbXNnc3RyICJ7IENPTU1BTkRTIDsgfSIKIAogIzogYnVpbHRpbnMuYzoyMDQKIG1zZ2lkICJqb2Jfc3BlYyBbJl0iCi1tc2dzdHIgIiIKK21zZ3N0ciAiam9iX3NwZWMgWyZdIgogCiAjOiBidWlsdGlucy5jOjIwNgotIywgZnV6enkKIG1zZ2lkICIoKCBleHByZXNzaW9uICkpIgotbXNnc3RyICLJvbi9pPK0/MLUpLekxqTepLkiCittc2dzdHIgIigoIGV4cHJlc3Npb24gKSkiCiAKICM6IGJ1aWx0aW5zLmM6MjA4Ci0jLCBmdXp6eQogbXNnaWQgIltbIGV4cHJlc3Npb24gXV0iCi1tc2dzdHIgIsm9uL2k8rT8wtSkt6TGpN6kuSIKK21zZ3N0ciAiW1sgZXhwcmVzc2lvbiBdXSIKIAogIzogYnVpbHRpbnMuYzoyMTAKIG1zZ2lkICJ2YXJpYWJsZXMgLSBOYW1lcyBhbmQgbWVhbmluZ3Mgb2Ygc29tZSBzaGVsbCB2YXJpYWJsZXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAi5aSJ5pWwIC0g5aSJ5pWw44Gu5ZCN5YmN44Go44Gd44Gu5oSP5ZGzIgogCiAjOiBidWlsdGlucy5jOjIxMwotIywgZnV6enkKIG1zZ2lkICJwdXNoZCBbLW5dIFsrTiB8IC1OIHwgZGlyXSIKLW1zZ3N0ciAicHVzaGQgW6XHpaOl7KWvpcil6iB8ICtOIHwgLU4gXSBbLW5dIgorbXNnc3RyICJwdXNoZCBbLW5dIFsrTiB8IC1OIHwgZGlyXSIKIAogIzogYnVpbHRpbnMuYzoyMTcKLSMsIGZ1enp5CiBtc2dpZCAicG9wZCBbLW5dIFsrTiB8IC1OXSIKLW1zZ3N0ciAicG9wZCBbK04gfCAtTl0gWy1uXSIKK21zZ3N0ciAicG9wZCBbLW5dIFsrTiB8IC1OXSIKIAogIzogYnVpbHRpbnMuYzoyMjEKIG1zZ2lkICJkaXJzIFstY2xwdl0gWytOXSBbLU5dIgogbXNnc3RyICJkaXJzIFstY2xwdl0gWytOXSBbLU5dIgogCiAjOiBidWlsdGlucy5jOjIyNAotIywgZnV6enkKIG1zZ2lkICJzaG9wdCBbLXBxc3VdIFstb10gW29wdG5hbWUgLi4uXSIKLW1zZ3N0ciAic2hvcHQgWy1wcXN1XSBbLW8gxLmkpKWqpdelt6XnpfNdIG9wdG5hbWUgW29wdG5hbWUuLi5dIgorbXNnc3RyICJzaG9wdCBbLXBxc3VdIFstb10gW29wdG5hbWUgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMjYKIG1zZ2lkICJwcmludGYgWy12IHZhcl0gZm9ybWF0IFthcmd1bWVudHNdIgotbXNnc3RyICIiCittc2dzdHIgInByaW50ZiBbLXYgdmFyXSBmb3JtYXQgW2FyZ3VtZW50c10iCiAKICM6IGJ1aWx0aW5zLmM6MjI5CiBtc2dpZCAiIgpAQCAtMjI4MSwyOSArMjI5MywzNyBAQAogIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgogInN1ZmZpeF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjIzMwogbXNnaWQgIiIKICJjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8gb3B0aW9uXSAgWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyB3b3JkbGlzdF0gICIKICJbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbd29yZF0iCiBtc2dzdHIgIiIKKyJjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8gb3B0aW9uXSAgWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyB3b3JkbGlzdF0gICIKKyJbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbd29yZF0iCiAKICM6IGJ1aWx0aW5zLmM6MjM3Ci0jLCBmdXp6eQogbXNnaWQgImNvbXBvcHQgWy1vfCtvIG9wdGlvbl0gWy1ERV0gW25hbWUgLi4uXSIKLW1zZ3N0ciAidHlwZSBbLWFwdF0gzL7BsCBbzL7BsCAuLi5dIgorbXNnc3RyICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjQwCiBtc2dpZCAiIgogIm1hcGZpbGUgWy1uIGNvdW50XSBbLU8gb3JpZ2luXSBbLXMgY291bnRdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyAiCiAicXVhbnR1bV0gW2FycmF5XSIKIG1zZ3N0ciAiIgorIm1hcGZpbGUgWy1uIGNvdW50XSBbLU8gb3JpZ2luXSBbLXMgY291bnRdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyAiCisicXVhbnR1bV0gW2FycmF5XSIKIAogIzogYnVpbHRpbnMuYzoyNDIKIG1zZ2lkICIiCiAicmVhZGFycmF5IFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgogInF1YW50dW1dIFthcnJheV0iCiBtc2dzdHIgIiIKKyJyZWFkYXJyYXkgWy1uIGNvdW50XSBbLU8gb3JpZ2luXSBbLXMgY291bnRdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyAiCisicXVhbnR1bV0gW2FycmF5XSIKIAogIzogYnVpbHRpbnMuYzoyNTQKIG1zZ2lkICIiCkBAIC0yMzI0LDkgKzIzNDQsMjUgQEAKICJiZWVuXG4iCiAiICAgIGRlZmluZWQuIgogbXNnc3RyICIiCisi44Ko44Kk44Oq44Ki44K544KS5a6a576p44G+44Gf44Gv6KGo56S644GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDlvJXmlbDjgYzjgarjgYTloLTlkIjjgIFgYWxpYXNgIOOBr+WGjeS9v+eUqOWPr+iDveOBquOCqOOCpOODquOCouOCueS4gOimp+OCkiBgYWxpYXMg5ZCN5YmNPeWApCdcbiIKKyIgICAg5b2i5byP44Gn5qiZ5rqW5Ye65Yqb44Gr6KGo56S644GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgZ3jgYbjgafjgarjgZHjgozjgbDjgIHkuI7jgYjjgonjgozjgZ/lkI3liY3jgajlgKTjgafjgqjjgqTjg6rjgqLjgrnjgpLlrprnvqnjgZfjgb7jgZnjgILlgKTjga7lvozntprjgavnqboiCisi55m9XG4iCisiICAgIOOBjOWtmOWcqOOBmeOCi+WgtOWQiOOBr+asoeOBruiqnuOBr+OCqOOCpOODquOCouOCueWxlemWi+aZguOBq+OCqOOCpOODquOCouOCueS7o+WFpeWvvuixoeOBqOOBl+OBpueiuuiqjeOBlSIKKyLjgoxcbiIKKyIgICAg44G+44GZ44CCXG4iCisiXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtcFx044GZ44G544Gm44Gu5a6a576p44GV44KM44Gf44Ko44Kk44Oq44Ki44K544KS5YaN5Yip55So5Y+v6IO944Gq5b2i5byP44Gn6KGo56S644GX44G+44GZXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIGFsaWFzIOOBr+S4juOBiOOCieOCjOOBn+WQjeWJjeOBp+OCqOOCpOODquOCouOCueOBjOWumue+qeOBleOCjOOBquOBi+OBo+OBn+WgtOWQiOOCkumZpOOBjSB0cnVlIOOCkui/lCIKKyLjgZfjgb7jgZnjgIIiCiAKICM6IGJ1aWx0aW5zLmM6Mjc2Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJSZW1vdmUgZWFjaCBOQU1FIGZyb20gdGhlIGxpc3Qgb2YgZGVmaW5lZCBhbGlhc2VzLlxuIgogIiAgICBcbiIKQEAgLTIzMzUsOCArMjM3MSwxMiBAQAogIiAgICBcbiIKICIgICAgUmV0dXJuIHN1Y2Nlc3MgdW5sZXNzIGEgTkFNRSBpcyBub3QgYW4gZXhpc3RpbmcgYWxpYXMuIgogbXNnc3RyICIiCi0iW8y+wbBdpPLE6rXBpLWk7KTGpKSk66WopaSl6qWipbmkq6Tpuu+9/KS3pMqktaSkoaOk4qS3oaItYSClqqXXpbel56XzpPK72MTqpLciCi0ipL+kyqTpoaIiCisi5a6a576p44GV44KM44Gf44Ko44Kk44Oq44Ki44K55LiA6Kan44GL44KJ5ZCE5ZCN5YmN44Gu44Ko44Kk44Oq44Ki44K544KS5YmK6Zmk44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1hXHTjgZnjgbnjgabjga7jgqjjgqTjg6rjgqLjgrnlrprnvqnjgpLliYrpmaTjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOWQjeWJjeOBjOOCqOOCpOODquOCouOCueOBq+WtmOWcqOOBl+OBquOBhOWgtOWQiOOCkumZpOOBjSB0cnVlIOOCkui/lOOBl+OBvuOBmeOAgiIKIAogIzogYnVpbHRpbnMuYzoyODkKIG1zZ2lkICIiCkBAIC0yMzc2LDYgKzI0MTYsNDEgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIGJpbmQgcmV0dXJucyAwIHVubGVzcyBhbiB1bnJlY29nbml6ZWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJSZWFkbGluZSDjga7jgq3jg7zjg5DjgqTjg7Pjg4fjgqPjg7PjgrDjgajlpInmlbDjgpLoqK3lrprjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCreODvOOCt+ODvOOCseODs+OCueOCkiBSZWFkbGluZSDplqLmlbDjgb7jgZ/jga/jg57jgq/jg63jgavplqLpgKPku5jjgZHjgpLooYzjgYbjgYvjgIFSZWFkbGluZVxuIgorIiAgICDlpInmlbDjgpLoqK3lrprjgZfjgb7jgZnjgILjgqrjg5fjgrfjg6fjg7PjgYznhKHjgYTlvJXmlbDjga7mp4vmlofjga8gfi8uaW5wdXRyYyDjga7mp4vmlofjgahcbiIKKyIgICAg5ZCM5qeY44Gn44GZ44CC44GX44GL44GX44CB5Y2Y5LiA44Gu5byV5pWw44Go44GX44Gm5LiO44GI44Gq44GR44KM44Gw44Gq44KK44G+44Gb44KT44CCXG4iCisiICAgIOS+izogYmluZCAnXCJcXEMteFxcQy1yXCI6IHJlLXJlYWQtaW5pdC1maWxlJ1xuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1tICBrZXltYXAgICAgICAgICBVc2UgS0VZTUFQIGFzIHRoZSBrZXltYXAgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGlzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQuICBBY2NlcHRhYmxlIGtleW1hcCBuYW1lcyBhcmUgZW1hY3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWNzLXN0YW5kYXJkLCBlbWFjcy1tZXRhLCBlbWFjcy1jdGx4LCB2aSwgdmktIgorIm1vdmUsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIHZpLWNvbW1hbmQsIGFuZCB2aS1pbnNlcnQuXG4iCisiICAgICAgLWwgICAgICAgICAgICAgICAgIOmWouaVsOWQjeS4gOimp+OCkuihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICAgIC1QICAgICAgICAgICAgICAgICDplqLmlbDlkI3jgYrjgojjgbPjgq3jg7zjg5DjgqTjg7Pjg4fjgqPjg7PjgrDkuIDopqfjgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgICAtcCAgICAgICAgICAgICAgICAg6Zai5pWw5ZCN44Go44Kt44O844OQ44Kk44Oz44OH44Kj44Oz44Kw44KS5YWl5Yqb44Go44GX44Gm5YaN5Yip55So5Y+v6IO944GqXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIOW9ouW8j+OBp+S4gOimp+ihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICAgIC1TICAgICAgICAgICAgICAgICBMaXN0IGtleSBzZXF1ZW5jZXMgdGhhdCBpbnZva2UgbWFjcm9zIGFuZCB0aGVpciAiCisidmFsdWVzXG4iCisiICAgICAgLXMgICAgICAgICAgICAgICAgIExpc3Qga2V5IHNlcXVlbmNlcyB0aGF0IGludm9rZSBtYWNyb3MgYW5kIHRoZWlyICIKKyJ2YWx1ZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYSBmb3JtIHRoYXQgY2FuIGJlIHJldXNlZCBhcyBpbnB1dC5cbiIKKyIgICAgICAtViAgICAgICAgICAgICAgICAg5aSJ5pWw5ZCN44Go5YCk44Gu5LiA6Kan44KS6KGo56S644GX44G+44GZ44CCXG4iCisiICAgICAgLXYgICAgICAgICAgICAgICAgIOWkieaVsOWQjeOBqOWApOOCkuWFpeWKm+OBqOOBl+OBpuWGjeWIqeeUqOWPr+iDveOBquW9ouW8j+OBp+S4gOimp1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICDooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgICAtcSAgZnVuY3Rpb24tbmFtZSAg6Zai5pWw5ZCN44GM44Gp44Gu44Kt44O844Gr44KI44Gj44Gm6LW35YuV44GV44KM44KL44GL5o6i57Si44GX44G+44GZXG4iCisiICAgICAgLXUgIGZ1bmN0aW9uLW5hbWUgIOmWouaVsOWQjeOBq+ODkOOCpOODs+ODieOBleOCjOOBn+OBmeOBueOBpuOBruOCreODvOOCkuino+mZpOOBl+OBvuOBmeOAglxuIgorIiAgICAgIC1yICBrZXlzZXEgICAgICAgICBLRVlTRVEg44Gr5a++44GZ44KL44OQ44Kk44Oz44OJ44KS6Kej6Zmk44GX44G+44GZ44CCXG4iCisiICAgICAgLWYgIGZpbGVuYW1lICAgICAgIEZJTEVOQU1FIOOBi+OCieOCreODvOODkOOCpOODs+ODieOCkuiqreOBv+i+vOOBv+OBvuOBmeOAglxuIgorIiAgICAgIC14ICBrZXlzZXE6c2hlbGwtY29tbWFuZFx0S0VZU0VRIOOBjOWFpeWKm+OBleOCjOOBn+aZguOBqyBTSEVMTC1DT01NQU5EIFxuIgorIiAgICBcdFx0XHRcdOOBjOWun+ihjOOBleOCjOOCi+OCiOOBhuOBq+OBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICBiaW5kIOOBr+ino+mHiOOBp+OBjeOBquOBhOOCquODl+OCt+ODp+ODs+OBjOa4oeOBleOCjOOBn+WgtOWQiOOBiuOCiOOBs+OCqOODqeODvOOBjOeZuueUn+OBl+OBn+WgtOWQiFxuIgorIiAgICDjgpLpmaTjgY0gMCDjgpLov5TjgZfjgb7jgZnjgIIiCiAKICM6IGJ1aWx0aW5zLmM6MzI2CiBtc2dpZCAiIgpAQCAtMjM4Nyw2ICsyNDYyLDE0IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBUaGUgZXhpdCBzdGF0dXMgaXMgMCB1bmxlc3MgTiBpcyBub3QgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIgogbXNnc3RyICIiCisiZm9y44CBIHdoaWxl44CB44G+44Gf44GvIHVudGlsIOODq+ODvOODl+OCkuiEseWHuuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAgRk9S44CBIFdISUxF44CB44G+44Gf44GvIFVOVElMIOODq+ODvOODl+OCkuiEseWHuuOBl+OBvuOBmSAg44KC44GXIE4g44GM5oyH5a6a44GV44KM44Gm44GE44KL5aC0IgorIuWQiOOAgVxuIgorIiAgICBO6ZqO5bGk44Gu44Or44O844OX44KS57WC5LqG44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIE4g44GMMeacqua6gOOBruWgtOWQiOOCkumZpOOBjeOAgee1guS6huOCueODhuODvOOCv+OCueOBryAwIOOBp+OBmeOAgiIKIAogIzogYnVpbHRpbnMuYzozMzgKIG1zZ2lkICIiCkBAIC0yMzk4LDYgKzI0ODEsMTMgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFRoZSBleGl0IHN0YXR1cyBpcyAwIHVubGVzcyBOIGlzIG5vdCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4iCiBtc2dzdHIgIiIKKyJmb3IsIHdoaWxlLCDjgb7jgZ/jga8gdW50aWwg44Or44O844OX44KS5YaN6ZaL44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBGT1IsIFdISUxFIOOBvuOBn+OBryBVTlRJTCDjg6vjg7zjg5fjga7mrKHjga7nubDjgorov5TjgZfjgpLlho3plovjgZfjgb7jgZnjgIJcbiIKKyIgICAg44KC44GXIE4g44GM5oyH5a6a44GV44KM44Gf5aC05ZCI44CBTiDpmo7lsaTjga7jg6vjg7zjg5fjgpLlho3plovjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAgTiAg44GMMeacqua6gOOBruWgtOWQiOOCkumZpOOBjeOAgee1guS6huOCueODhuODvOOCv+OCueOBryAwIOOBp+OBmeOAgiIKIAogIzogYnVpbHRpbnMuYzozNTAKIG1zZ2lkICIiCkBAIC0yNDEyLDYgKzI1MDIsMTUgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgU0hFTEwtQlVJTFRJTiwgb3IgZmFsc2UgaWYgU0hFTEwtQlVJTFRJTiBpc1xuIgogIiAgICBub3QgYSBzaGVsbCBidWlsdGluLi4iCiBtc2dzdHIgIiIKKyLjgrfjgqfjg6vntYTjgb/ovrzjgb/jgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCs+ODnuODs+ODieOCkuaknOe0ouOBl+OBquOBhOOBp+OCt+OCp+ODq+e1hOOBv+i+vOOBv+OCs+ODnuODs+ODieOCkiBBUkcg44KS44Gk44GR44Gm5a6f6KGM44GXXG4iCisiICAgIOOBvuOBmeOAguOBk+OCjOOBr+OCt+OCp+ODq+e1hOOBv+i+vOOBv+OCs+ODnuODs+ODieOCkuOCt+OCp+ODq+mWouaVsOOBqOOBl+OBpuWun+ijheOBmeOCi+OBjOOAgemWouaVsFxuIgorIiAgICDlhoXjgafntYTjgb/ovrzjgb/jgrPjg57jg7Pjg4njgpLlrp/ooYzjgZnjgovlv4XopoHjgYzjgYLjgovloLTlkIjjgavlvbnjgavnq4vjgaHjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg44K344Kn44Or57WE44G/6L6844G/44Kz44Oe44Oz44OJ44Gu57WC5LqG44K544OG44O844K/44K544KS6L+U44GX44G+44GZ44CC44K344Kn44Or57WE44G/6L6844G/44Kz44OeXG4iCisiICAgIOODs+ODieOBjOeEoeOBhOWgtOWQiOOBryBmYWxzZSDjgpLov5TjgZfjgb7jgZnjgIIiCiAKICM6IGJ1aWx0aW5zLmM6MzY1CiBtc2dpZCAiIgpAQCAtMjQyOCw4ICsyNTI3LDIxIEBACiAiICAgIFJldHVybnMgMCB1bmxlc3MgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBzaGVsbCBmdW5jdGlvbiBvciBFWFBSXG4iCiAiICAgIGlzIGludmFsaWQuIgogbXNnc3RyICIiCisi54++5Zyo44Gu44K144OW44Or44O844OB44Oz5ZG844Gz5Ye644GX44Gu44Kz44Oz44OG44Kt44K544OI44KS6L+U44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBFWFBSIOOBjOeEoeOBhOWgtOWQiCBcIiRsaW5lICRmaWxlbmFtZVwiIOOCkui/lOOBl+OBvuOBmeOAgiAgRVhQUiDjgYzjgYLjgovloLTlkIjjgIFcbiIKKyIgICAgXCIkbGluZSAkc3Vicm91dGluZSAkZmlsZW5hbWVcIiDjgpLov5TjgZfjgb7jgZnjgILjgZPjga7ov73liqDjga7mg4XloLHjga/jgrnjgr/jg4Pjgq/jg4giCisi44Os44O844K5XG4iCisiICAgIOOCkuaPkOS+m+OBmeOCi+aZguOBq+WIqeeUqOOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAgRVhQUiDjga7lgKTjga/nj77lnKjjga7jg5Xjg6zjg7zjg6DjgavmiLvjgovjgb7jgafjgavkvZXlm57jg5Xjg6zjg7zjg6DjgYzlkbzjgbPlh7rjgZXjgozjgabjgYTjgovjgYvjgpJcbiIKKyIgICAg5oSP5ZGz44GX44G+44GZ44CC5pyA5LiK5L2N44Gu44OV44Os44O844Og44GvIDAg44Gn44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOOCt+OCp+ODq+OBjOmWouaVsOOCkuWun+ihjOOBp+OBjeOBquOBhOOBi+W8jyBFWFBSIOOBjOeEoeWKueOBquWgtOWQiOOCkumZpOOBjSAwIOOCkui/lOOBl+OBvuOBmeOAgiIKIAogIzogYnVpbHRpbnMuYzozODMKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkNoYW5nZSB0aGUgc2hlbGwgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjQ1NSwxNCArMjU2Nyw0NCBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgorIuOCt+OCp+ODq+OBruOCq+ODrOODs+ODiOODh+OCo+ODrOOCr+ODiOODquOCkuWkieabtOOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kr44Os44Oz44OI44OH44Kj44Os44Kv44OI44Oq44KSYOODh+OCo+ODrOOCr+ODiOODqifjgavlpInmm7TjgZfjgb7jgZnjgIJg44OH44Kj44Os44Kv44OI44OqJ+OBrlxuIgorIiAgICDjg4fjg5Xjgqnjg6vjg4jjga8gSE9NRSDjgrfjgqfjg6vlpInmlbDjgafjgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIENEUEFUSCDjga/jg4fjgqPjg6zjgq/jg4jjg6rjgYzlkKvjgb7jgozjgovmpJzntKLjg5HjgrnjgpLlrprnvqnjgZfjgb7jgZnjgIJDRFBBVEgg44Gr44Gv44Kz44Ot44OzIgorIig6KVxuIgorIiAgICDjgafljLrliIfjgonjgozjgZ/ku6Pmm7/jg4fjgqPjg6zjgq/jg4jjg6rjgpLmjIflrprjgZfjgb7jgZnjgIJcbiIKKyIgICAgTlVMTCDjga7jg4fjgqPjg6zjgq/jg4jjg6rlkI3jga/jgqvjg6zjg7Pjg4jjg4fjgqPjg6zjgq/jg4jjg6rjgajlkIznvqnjgafjgZnjgILjg4fjgqPjg6zjgq/jg4jjg6rjgYxcbiIKKyIgICAg44K544Op44OD44K344OlICgvKSDjgYvjgonlp4vjgb7jgovloLTlkIjjga8gQ0RQQVRIIOOBr+WIqeeUqOOBleOCjOOBvuOBm+OCk+OAglxuIgorIiAgICBcbiIKKyIgICAg44OH44Kj44Os44Kv44OI44Oq44GM6KaL44Gk44GL44KJ44Gq44GP44CB44GL44GkIGBjZGFibF92YXJzJyDjgrfjgqfjg6vjgqrjg5fjgrfjg6fjg7PjgYzoqK3lrprjgZXjgowiCisi44GmXG4iCisiICAgIOOBhOOCi+WgtOWQiOOAgeW8leaVsOOBr+WkieaVsOWQjeOBqOOBl+OBpuaJseOCj+OCjOOBvuOBmeOAguOBneOBruWkieaVsOOBq+WApOOBjOOBguOCi+WgtOWQiOOAgeOBneOBruWApCIKKyLjgYxcbiIKKyIgICAgRElSIOOBqOOBl+OBpuaJseOCj+OCjOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgICAgLUxcdOOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OCkuW8t+WItueahOOBq+OBn+OBqeOCiuOBvuOBmVxuIgorIiAgICAgICAgLVBcdOOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OCkuOBn+OBqeOCieOBmueJqeeQhuani+mAoOOCkuWIqeeUqOOBl+OBvuOBmVxuIgorIiAgICBcbiIKKyIgICAg44OH44OV44Kp44Or44OI44Gn44GvIGAtTCcg44GM5oyH5a6a44GV44KM44Gf5aC05ZCI44Go5ZCM5qeY44K344Oz44Oc44Oq44OD44Kv44Oq44Oz44Kv44KS44Gf44Gp44KK44G+IgorIuOBmVxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDjg4fjgqPjg6zjgq/jg4jjg6rjgpLlpInmm7TjgZfjgZ/loLTlkIjjga8gMOOAgeOBneOBhuOBp+OBquOBkeOCjOOBsCAwIOS7peWkluOBp+OBmeOAgiIKIAotIzogYnVpbHRpbnMuYzo0MTEKKyM6IGJ1aWx0aW5zLmM6NDE0CiBtc2dpZCAiIgogIlByaW50IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI0NzcsOCArMjYxOSwyMCBAQAogIiAgICBSZXR1cm5zIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIHRoZSBjdXJyZW50IGRpcmVjdG9yeVxuIgogIiAgICBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKKyLjgqvjg6zjg7Pjg4jjg4fjgqPjg6zjgq/jg4jjg6rjga7lkI3liY3jgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtTFx0JFBXRCDjgYzjgqvjg6zjg7Pjg4jjg4fjgqPjg6zjgq/jg4jjg6rjga7lkI3liY3jgpLmjIfjgZfjgabjgYTjgovloLTlkIjjga8gJFBXRFxuIgorIiAgICBcdOOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICAgIC1QXHTjgrfjg7Pjg5zjg6rjg4Pjgq/jg6rjg7Pjgq/jgpLovr/jgaPjgZ/niannkIbnmoTjgarjg4fjgqPjg6zjgq/jg4jjg6rjgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOODh+ODleOCqeODq+ODiOOBp+OBryBgcHdkJyDjga8gYC1MJyDjgYzmjIflrprjgZXjgozjgZ/jgojjgYbjgavli5XkvZzjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg54Sh5Yq544Gq44Kq44OX44K344On44Oz44G+44Gf44Gv44Kr44Os44Oz44OI44OH44Kj44Os44Kv44OI44Oq44KS6Kqt44G/6L6844KB44Gq44GE5aC05ZCI44KS6Zmk44GNXG4iCisiICAgIDDjgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6NDI4CisjOiBidWlsdGlucy5jOjQzMQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjQ4NywyNCArMjY0MSwzOCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgorIuS9leOCguOBl+OBquOBhOOCs+ODnuODs+ODiVxuIgorIiAgICBcbiIKKyIgICAg5L2V44KC5Yq55p6c44GM44GC44KK44G+44Gb44KT44CC44Kz44Oe44Oz44OJ44Gv5L2V44KC6KGM44GE44G+44Gb44KTXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOW4uOOBq+aIkOWKn+OBp+OBmeOAgiIKIAotIzogYnVpbHRpbnMuYzo0MzkKKyM6IGJ1aWx0aW5zLmM6NDQyCiBtc2dpZCAiIgogIlJldHVybiBhIHN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKKyLntZDmnpzjgajjgZfjgabmiJDlip/jgpLov5TjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg5bi444Gr5oiQ5Yqf44Gn44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjQ0OAorIzogYnVpbHRpbnMuYzo0NTEKIG1zZ2lkICIiCiAiUmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgQWx3YXlzIGZhaWxzLiIKIG1zZ3N0ciAiIgorIue1kOaenOOBqOOBl+OBpuWkseaVl+OCkui/lOOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDluLjjgavlpLHmlZfjgafjgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6NDU3CisjOiBidWlsdGlucy5jOjQ2MAogbXNnaWQgIiIKICJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNTIyLDggKzI2OTAsMjQgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgQ09NTUFORCwgb3IgZmFpbHVyZSBpZiBDT01NQU5EIGlzIG5vdCBmb3VuZC4iCiBtc2dzdHIgIiIKKyLljZjntJTjgarjgrPjg57jg7Pjg4njgpLlrp/ooYzjgZnjgovjgYvjgrPjg57jg7Pjg4njgavplqLjgZnjgovmg4XloLHjgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCt+OCp+ODq+mWouaVsOOBruaOoue0ouOCkuaKkeatouOBl+OBpiBDT01NQU5EIOOCkuW8leaVsCBBUkdTIOOBp+Wun+ihjOOBl+OBvuOBmeOAguOBvuOBn+OBr1xuIgorIiAgICDmjIflrprjgZfjgZ8gQ09NTUFORHMg44Gu5oOF5aCx44KS6KGo56S644GX44G+44GZ44CC44K344Kn44Or6Zai5pWw44Go5ZCM44GY5ZCN5YmN44Gu44Kz44Oe44Oz44OJXG4iCisiICAgIOOBjOODh+OCo+OCueOCr+S4iuOBq+WtmOWcqOOBmeOCi+aZguOBq+S9v+eUqOOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1wXHR1c2UgYSBkZWZhdWx0IHZhbHVlIGZvciBQQVRIIHRoYXQgaXMgZ3VhcmFudGVlZCB0byBmaW5kIGFsbCBvZlxuIgorIiAgICBcdHRoZSBzdGFuZGFyZCB1dGlsaXRpZXNcbiIKKyIgICAgICAtdlx0YHR5cGUn57WE44G/6L6844G/6Zai5pWw44Go5ZCM5qeY44GrIENPTU1BTkQg44Gu6Kqs5piO44KS6KGo56S644GX44G+44GZ44CCXG4iCisiICAgICAgLVZcdENPTU1BTkQg44Gr5a++44GX44Gm44KI44KK5YaX6ZW344Gq6Kqs5piO44KS6KGo56S644GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIENPTU1BTkQg44Gu57WC5LqG44K544OG44O844K/44K544KS6L+U44GX44G+44GZ44CC44G+44Gf44GvIENPTU1BTkQg44GM6KaL44Gk44GL44KJ44Gq44GE5pmC44Gr5aSx5pWXIgorIuOCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzo0NzYKKyM6IGJ1aWx0aW5zLmM6NDc5CisjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI1MzQsNiArMjcxOCw4IEBACiAiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgogIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCiAiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCiAiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgogIiAgICBcbiIKICIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKQEAgLTI1NTMsMjAgKzI3MzksNTUgQEAKICIgICAgXG4iCiAiICAgIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBgZGVjbGFyZScgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKICJgbG9jYWwnXG4iCi0iICAgIGNvbW1hbmQuXG4iCisiICAgIGNvbW1hbmQuICBUaGUgYC1nJyBvcHRpb24gc3VwcHJlc3NlcyB0aGlzIGJlaGF2aW9yLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgorIuWkieaVsOOBruWApOOBiuOCiOOBs+WxnuaAp+OCkuioreWumuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg5aSJ5pWw44KS5a6j6KiA44GX44CB44Gd44KM44Gr5bGe5oCn44KS5LiO44GI44G+44GZ44CCTkFNRSDjgpLmjIflrprjgZfjgarjgYTloLTlkIhcbiIKKyIgICAg44GZ44G544Gm44Gu5aSJ5pWw44Gr5a++44GZ44KL5bGe5oCn44Go5YCk44KS6KGo56S644GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgorIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCisiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgorIiAgICBcbiIKKyIgICAg5bGe5oCn44KS6Kit5a6a44GZ44KL44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1hXHROQU1FIOOCkuOCpOODs+ODh+ODg+OCr+OCueWei+mFjeWIl+OBq+OBl+OBvuOBmSjjgrXjg53jg7zjg4jjgZXjgozjgabjgYTjgovloLTlkIgpXG4iCisiICAgICAgLUFcdE5BTUUg44KS6YCj5oOz6YWN5YiX44Gr44GX44G+44GZKOOCteODneODvOODiOOBleOCjOOBpuOBhOOCi+WgtOWQiClcbiIKKyIgICAgICAtaVx0TkFNRSDjgatg5pW05pWw5Z6LJ+OBruWxnuaAp+OCkuioreWumuOBl+OBvuOBmeOAglxuIgorIiAgICAgIC1sXHROQU1FIOOBruioreWumuaZguOBq+WApOOCkuWwj+aWh+Wtl+OBq+WkieaPm+OBl+OBvuOBmVxuIgorIiAgICAgIC1yXHROQU1FIOOCkuiqreOBv+WPluOCiuWwgueUqOOBq+OBl+OBvuOBmVxuIgorIiAgICAgIC10XHROQU1FIOOBqyBgdHJhY2UnIOWxnuaAp+OCkuioreWumuOBl+OBvuOBmVxuIgorIiAgICAgIC11XHROQU1FIOioreWumuaZguOBq+WApOOCkuWkp+aWh+Wtl+OBq+ioreWumuOBl+OBvuOBmVxuIgorIiAgICAgIC14XHROQU1FIOOCkuOCqOOCr+OCueODneODvOODiOOBl+OBvuOBmVxuIgorIiAgICBcbiIKKyIgICAgYC0nIOOBruS7o+OCj+OCiuOBqyBgKycg44KS5L2/55So44GZ44KL44Go5LiO44GI44KJ44KM44Gf5bGe5oCn44KS54Sh5Yq544Gr44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDmlbTmlbDlsZ7mgKfjgpLkuI7jgYjjgonjgozjgZ/lpInmlbDjga/lgKTjgpLlibLjgorlvZPjgabjgonjgozjgZ/mmYLjgavjgIHmlbDlgKTjgajjgZfjgaboqZXkvqHjgZXjgoxcbiIKKyIgICAg44G+44GZ44CCKGBsZXQnIOOCs+ODnuODs+ODieWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAgilcbiIKKyIgICAgXG4iCisiICAgIOmWouaVsOWGheOBp+S9v+eUqOOBleOCjOOBn+WgtOWQiOOBryBgbG9jYWwnIOOCs+ODnuODs+ODieOCkuS9v+eUqOOBl+OBn+aZguOBqOWQjOanmOOBqyAiCisiYGRlY2xhcmUnIFxuIgorIiAgICDjga8gTkFNRSDjgpLjg63jg7zjgqvjg6vlpInmlbDjgavjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg54Sh5Yq544Gq44Kq44OX44K344On44Oz44GM5LiO44GI44KJ44KM44Gf44GL44Ko44Op44O844GM55m655Sf44GX44Gq44GE6ZmQ44KK5oiQ5Yqf44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjUxMgorIzogYnVpbHRpbnMuYzo1MTcKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCiAiICAgIE9ic29sZXRlLiAgU2VlIGBoZWxwIGRlY2xhcmUnLiIKIG1zZ3N0ciAiIgorIuWkieaVsOOBruWApOOBiuOCiOOBs+WxnuaAp+OCkuioreWumuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg5pen5byP44Gn44GZ44CCYGhlbHAgZGVjbGFyZSfjgpLlj4LnhafjgZfjgabjgY/jgaDjgZXjgYTjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6NTIwCisjOiBidWlsdGlucy5jOjUyNQogbXNnaWQgIiIKICJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI1ODAsOCArMjgwMSwyMiBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBlcnJvciBvY2N1cnMsXG4iCiAiICAgIG9yIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24uIgogbXNnc3RyICIiCisi44Ot44O844Kr44Or5aSJ5pWw44KS5a6a576p44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBOQU1FIOOBqOOBhOOBhuWQjeWJjeOBruODreODvOOCq+ODq+WkieaVsOOCkuWumue+qeOBl+WApOOCkiBWQUxVRSDjgavoqK3lrprjgZfjgb7jgZnjgIIiCisiYGRlY2xhcmUn44GoXG4iCisiICAgIOWQjOOBmOOCquODl+OCt+ODp+ODs+OCkuWPl+OBkeS7mOOBkeOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Ot44O844Kr44Or5aSJ5pWw44Gv44K344Kn44Or6Zai5pWw44Gu5Lit44Gn44Gu44G/5L2/55So44Gn44GN44G+44GZ44CC5a6j6KiA44GV44KM44Gf6Zai5pWw44Gu5Lit44GK44KI44GzIgorIuOBneOBk1xuIgorIiAgICDjgYvjgonlkbzjgbPlh7rjgZXjgozjgZ/plqLmlbDjga7jgb/jgaflj4LnhafjgafjgY3jgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg54Sh5Yq544Gq44Kq44OX44K344On44Oz44GM5LiO44GI44KJ44KM44KL44CB44Ko44Op44O844GM55m655Sf44GZ44KL44CB44G+44Gf44Gv44K344Kn44Or44GM6Zai5pWw44KS5a6f6KGMIgorIuOBp+OBjeOBquOBhFxuIgorIiAgICDloLTlkIjjgpLpmaTjgY3miJDlip/jgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6NTM3CisjOiBidWlsdGlucy5jOjU0MgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yNjExLDggKzI4NDYsMzMgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisi5byV5pWw44KS5qiZ5rqW5Ye65Yqb44Gr5pu444GN5Ye644GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDlvJXmlbAgQVJHIOOCkuacgOW+jOOBq+aUueihjOOCkuWKoOOBiOOBpuaomea6luWHuuWKm+OBq+ihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1uXHTmnIDlvozjgavmlLnooYzjgpLliqDjgYjjgarjgYRcbiIKKyIgICAgICAtZVx05LiL6KiY44Gr56S644GZ44OQ44OD44Kv44K544Op44OD44K344Ol44Ko44K544Kx44O844OX44Gu6Kej6YeI44KS5pyJ5Yq544Gr44GZ44KLXG4iCisiICAgICAgLUVcdOODkOODg+OCr+OCueODqeODg+OCt+ODpeOCqOOCueOCseODvOODl+OBruino+mHiOOCkuaYjuekuueahOOBq+eEoeWKueOBq+OBmeOCi1xuIgorIiAgICBcbiIKKyIgICAgYGVjaG8nIOOBp+OBr+S4i+iomOOBruODkOODg+OCr+OCueODqeODg+OCt+ODpeOCqOOCueOCseODvOODl+aWh+Wtl+OCkuino+mHiOOBl+OBvuOBmTpcbiIKKyIgICAgICBcXGFcdOOCouODqeODvOODiCAoYmVsbClcbiIKKyIgICAgICBcXGJcdOODkOODg+OCr+OCueODmuODvOOCuVxuIgorIiAgICAgIFxcY1x05Lul6ZmN44Gu5Ye65Yqb44KS5oqR5q2iXG4iCisiICAgICAgXFxlXHTjgqjjgrnjgrHjg7zjg5fmloflrZdcbiIKKyIgICAgICBcXGZcdOODleOCqeODvOODoOODleOCo+ODvOODiVxuIgorIiAgICAgIFxcblx05pS56KGMXG4iCisiICAgICAgXFxyXHTjgq3jg6Pjg6rjg4Pjgrjjg6rjgr/jg7zjg7NcbiIKKyIgICAgICBcXHRcdOawtOW5s+OCv+ODllxuIgorIiAgICAgIFxcdlx05Z6C55u044K/44OWXG4iCisiICAgICAgXFxcXFx044OQ44OD44Kv44K544Op44OD44K344OlXG4iCisiICAgICAgXFwwbm5uXHRBU0NJSSDjgrPjg7zjg4njgYwgTk5OICg46YCy5pWwKSDjga7mloflrZfjgIIgTk5OIOOBrzDjgYvjgokz5YCL44GuOOmAsuaVsOWtl1xuIgorIiAgICAgIFxceEhIXHTlgKTjgYwgSEggKDE26YCy5pWwKSDjga4444OT44OD44OI5paH5a2X44CCSEgg44GvIDEg44G+44Gf44GvMuWAi+OBrjE26YCy5pWw5a2XXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOabuOOBjei+vOOBv+OCqOODqeODvOOBjOeZuueUn+OBl+OBquOBhOmZkOOCiuaIkOWKn+OCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI2MjQsOCArMjg4NCwxNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyLlvJXmlbDjgpLmqJnmupblh7rlipvjgavmm7jjgY3lh7rjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOW8leaVsCBBUkcg44KS5pyA5b6M44Gr5pS56KGM44KS5Yqg44GI44Gm5qiZ5rqW5Ye65Yqb44Gr6KGo56S644GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLW5cdOacgOW+jOOBq+aUueihjOOCkuWKoOOBiOOBquOBhFxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDmm7jjgY3ovrzjgb/jgqjjg6njg7zjgYznmbrnlJ/jgZfjgarjgYTpmZDjgormiJDlip/jgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjY1MSw4ICsyOTIwLDMzIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGEgc2hlbGwgYnVpbHRpbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisi44K344Kn44Or57WE44G/6L6844G/6Zai5pWw44KS5pyJ5Yq544G+44Gf44Gv54Sh5Yq544Gr44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgrfjgqfjg6vntYTjgb/ovrzjgb/plqLmlbDjgpLmnInlirnjgb7jgZ/jga/nhKHlirnjgavjgZfjgb7jgZnjgILjgrfjgqfjg6vntYTjgb/ovrzjgb/plqLmlbDjgpLnhKHlirnjgavjgZkiCisi44KL44GoXG4iCisiICAgIOODh+OCo+OCueOCr+S4iuOBq+WtmOWcqOOBmeOCi+OCt+OCp+ODq+e1hOOBv+i+vOOBv+mWouaVsOOBqOWQjOOBmOWQjeWJjeOBruOCs+ODnuODs+ODieOCkuODleODq+ODkeOCueOCkuaMhyIKKyLlrprjgZlcbiIKKyIgICAg44KL44GT44Go44Gq44GP5a6f6KGM44GZ44KL44GT44Go44GM5Ye65p2l44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLWFcdOe1hOOBv+i+vOOBv+mWouaVsOOBruS4gOimp+OCkuOBneOCjOOBnuOCjOOBjOacieWKueOBi+WQpuOBi+OCkuWQq+OCgeOBpuihqOekuuOBl+OBvuOBmVxuIgorIiAgICAgIC1uXHROQU1FIOOCkueEoeWKueOBq+OBmeOCi+OBi+OAgeOBvuOBn+OBr+eEoeWKueOBque1hOOBv+i+vOOBv+mWouaVsOS4gOimp+OCkuihqOekuuOBl+OBvuOBmVxuIgorIiAgICAgIC1wXHTntYTjgb/ovrzjgb/plqLmlbDkuIDopqfjgpLlho3liKnnlKjlj6/og73jgarlvaLlvI/jgafooajnpLrjgZfjgb7jgZlcbiIKKyIgICAgICAtc1x0UG9zaXgg44Gn5a6a576p44GV44KM44Gm44GE44KL57WE44G/6L6844G/6Zai5pWw44Gu44G/6KGo56S644GX44G+44GZXG4iCisiICAgIFxuIgorIiAgICDli5XnmoTjg63jg7zjg4njgpLliLblvqHjgZnjgovjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLWZcdOWFseacieOCquODluOCuOOCp+OCr+ODiCBGSUxFTkFNRSDjgYvjgonntYTjgb/ovrzjgb/plqLmlbAgTkFNRSDjgpLoqq3jgb/ovrzjgb/jgb7jgZlcbiIKKyIgICAgICAtZFx0LWYg44Gn6Kqt44G/6L6844G+44KM44Gf57WE44G/6L6844G/6Zai5pWw44KS5YmK6Zmk44GX44G+44GZXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7PnhKHjgZfjgafotbfli5XjgZXjgozjgZ/loLTlkIjjgIHlkIQgTkFNRSDjga/mnInlirnjgavjgarjgorjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgICRQQVRIIOS4iuOBq+WtmOWcqOOBmeOCiyBgdGVzdCcg44KS44K344Kn44Or57WE44G/6L6844G/6Zai5pWw44Gu5Luj44KP44KK44Gr5Yip55So44GZ44KL5aC05ZCI44GvXG4iCisiICAgIGBlbmFibGUgLW4gdGVzdCfjgajlhaXlipvjgZfjgabjgY/jgaDjgZXjgYTjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAgTkFNRSDjgYzntYTjgb/ovrzjgb/plqLmlbDjgafjga/jgarjgYTjgYvjgqjjg6njg7zjgYznmbrnlJ/jgZfjgarjgYTpmZDjgormiJDlip/jgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6NjE0CisjOiBidWlsdGlucy5jOjYxOQogbXNnaWQgIiIKICJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjY2Myw4ICsyOTU3LDE2IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIGNvbW1hbmQgb3Igc3VjY2VzcyBpZiBjb21tYW5kIGlzIG51bGwuIgogbXNnc3RyICIiCisi5byV5pWw44KS44K344Kn44Or44Kz44Oe44Oz44OJ44Go44GX44Gm5a6f6KGM44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDlvJXmlbDjgpLkuIDjgaTjga7mloflrZfliJfjgavpgKPntZDjgZfjgIHjgZ3jga7ntZDmnpzjgpLjgrfjgqfjg6vjgbjjga7lhaXlipvjgajjgZfjgabkvb/nlKjjgZfjgIFcbiIKKyIgICAg44Gd44Gu57WQ5p6c44KS44Kz44Oe44Oz44OJ44Go44GX44Gm5a6f6KGM44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOOCs+ODnuODs+ODieOBrue1guS6huOCueODhuODvOOCv+OCueOCkui/lOOBl+OBvuOBmeOAguOCs+ODnuODs+ODieOBjCBudWxsIOOBruWgtOWQiOOBr+aIkOWKn+OCklxuIgorIiAgICDov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6NjI2CisjOiBidWlsdGlucy5jOjYzMQogbXNnaWQgIiIKICJQYXJzZSBvcHRpb24gYXJndW1lbnRzLlxuIgogIiAgICBcbiIKQEAgLTI3MDQsOCArMzAwNiw0NCBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgYW4gb3B0aW9uIGlzIGZvdW5kOyBmYWlscyBpZiB0aGUgZW5kIG9mIG9wdGlvbnMgaXNcbiIKICIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgorIuOCquODl+OCt+ODp+ODs+W8leaVsOOCkuino+aekOOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAgZ2V0b3B0cyDjga/kvY3nva7jg5Hjg6njg6Hjg7zjgr/jg7zjgpLjgqrjg5fjgrfjg6fjg7PjgajjgZfjgabop6PmnpDjgZnjgovpmpvjgavjgrfjgqfjg6vjgavjgojjgaNcbiIKKyIgICAg44Gm5L2/55So44GV44KM44KL5omL57aa44Gn44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBPUFRTVFJJTkcg44Gr44Gv6KqN6K2Y44GV44KM44KL44Kq44OX44K344On44Oz44Gu5paH5a2X44GM5ZCr44G+44KM44G+44GZ44CC5paH5a2X44Gu5b6M44GrXG4iCisiICAgIOOCs+ODreODsyg6KeOBjOe2muOBj+WgtOWQiOOBr+OAgeOCquODl+OCt+ODp+ODs+OBr+epuueZveaWh+Wtl+OBp+OCquODl+OCt+ODp+ODs+OBi+OCieWMuuWIh1xuIgorIiAgICDjgonjgozjgZ/lvJXmlbDjgpLmjIHjgaTjgajkuojmnJ/jgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIGdldG9wdHMg44Gv6LW35YuV44GV44KM44KL44Gf44Gz44Gr44CB5qyh44Gu44Kq44OX44K344On44Oz44KS44K344Kn44Or5aSJ5pWwICRuYW1lIOOBq+S/neWtmFxuIgorIiAgICDjgZfjgb7jgZnjgIJuYW1lIOOBjOWtmOWcqOOBl+OBquOBhOWgtOWQiOOBr+WIneacn+WMluOBleOCjOOBvuOBmeOAguOBneOBl+OBpuWHpueQhuOBmeOCi+W/heimgeOBjFxuIgorIiAgICDjgYLjgovmrKHjga7lvJXmlbDjga7kvY3nva7jgpLjgrfjgqfjg6vlpInmlbAgT1BUSU5EIOOBq+S/neWtmOOBl+OBvuOBmeOAgk9QVElORCDjga/jgrfjgqfjg6tcbiIKKyIgICAg44G+44Gf44Gv44K344Kn44Or44K544Kv44Oq44OX44OI44GM6LW35YuV44GZ44KL44Gf44Gz44GrIDEg44Gr5Yid5pyf5YyW44GV44KM44G+44GZ44CC44Kq44OX44K344OnXG4iCisiICAgIOODs+OBq+W8leaVsOOBjOimgeaxguOBleOCjOOCi+WgtOWQiOOAgWdldG9wdCDjga/lvJXmlbDjgpLjgrfjgqfjg6vlpInmlbAgT1BUQVJHIOOBq+S/neWtmOOBl1xuIgorIiAgICDjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIGdldG9wdHMg44Gv44Ko44Op44O844KSMuOBpOOBruaWueazleOBruOBhOOBmuOCjOOBi+OBp+WgseWRiuOBl+OBvuOBmeOAgk9QVFNUUklOR+OBruacgOWInVxuIgorIiAgICDjga7mloflrZfjgYzjgrPjg63jg7MgKDopIOOBruWgtOWQiOOAgWdldG9wdHMg44Gv44K144Kk44Os44Oz44OI44Ko44Op44O85aCx5ZGK44KS5L2/55So44GXXG4iCisiICAgIOOBvuOBmeOAguOBk+OBruODouODvOODieOBp+OBr+OCqOODqeODvOODoeODg+OCu+ODvOOCuOOBr+ihqOekuuOBleOCjOOBvuOBm+OCk+OAgueEoeWKueOBquOCquODl+OCt1xuIgorIiAgICDjg6fjg7PjgpLopovjgaTjgZHjgZ/mmYLjgIEgZ2V0b3B0cyDjga/jgqrjg5fjgrfjg6fjg7Pjga7mloflrZfjgpIgT1BUQVJHIOOBq+ioreWumuOBl+OBvlxuIgorIiAgICDjgZnjgILlv4XopoHjgarjgqrjg5fjgrfjg6fjg7PlvJXmlbDjgYzopovjgaTjgYvjgonjgarjgYTloLTlkIjjga/jgIFnZXRvcHRzIOOBryBOQU1FIOOBq1xuIgorIiAgICAnOicg44KS6Kit5a6a44GX44CBT1BUQVJHIOOBq+OCquODl+OCt+ODp+ODs+OBruaWh+Wtl+OCkuioreWumuOBl+OBvuOBmeOAgmdldG9wdHMg44GMXG4iCisiICAgIOOCteOCpOODrOODs+ODiOODouODvOODieOBp+eEoeOBhOWgtOWQiOOAgeeEoeWKueOBquOCquODl+OCt+ODp+ODs+OCkuimi+OBpOOBkeOBn+aZguOAgWdldG9wdHMgXG4iCisiICAgIOOBryBOQU1FIOOBqyAnPycg44KS6Kit5a6a44GX44CBT1BUQVJHIOOCkuacquWumue+qeeKtuaFi+OBq+OBl+OBvuOBmeOAguOBneOBl+OBplxuIgorIiAgICDoqLrmlq3jg6Hjg4Pjgrvjg7zjgrjjgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCt+OCp+ODq+WkieaVsCBPUFRFUlIg44Gu5YCk44GMIDAg44Gu5aC05ZCI44CBZ2V0b3B0cyDjga8gT1BUU1RSSU5HIOOBruacgOWIneOBjFxuIgorIiAgICDjgrPjg63jg7MgKDopIOOBi+WQpuOBi+OBq+OBi+OBi+OCj+OCieOBmuOCqOODqeODvOODoeODg+OCu+ODvOOCuOOBruihqOekuuOCkuaKkeatouOBl+OBvuOBmeOAglxuIgorIiAgICBPUFRFUlIg44Gu44OH44OV44Kp44Or44OI5YCk44GvIDEg44Gn44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBnZXRvcHRzIOOBp+OBr+mAmuW4uOS9jee9ruODkeODqeODoeODvOOCv+ODvCAoJDAgLSAkOSkg44KS6Kej5p6Q44GX44G+44GZ44CC44GX44GL44GXXG4iCisiICAgIOS7luOBruW8leaVsOOBjOS4juOBiOOCieOCjOOBn+WgtOWQiOOAgeOBneOCjOOCieOBjOino+aekOOBleOCjOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7PjgYzopovjgaTjgYvjgaPjgZ/loLTlkIjjgavmiJDlip/jgpLov5TjgZfjgb7jgZnjgILjgqrjg5fjgrfjg6fjg7Pjga7ntYLjgo/jgopcbiIKKyIgICAg44Gr5Yiw6YGU44GZ44KL44GL44Ko44Op44O844GM55m655Sf44GX44Gf5pmC44Gr5aSx5pWX44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNzI3LDE2ICszMDY1LDM5IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgQ09NTUFORCBpcyBub3QgZm91bmQgb3IgYSByZWRpcmVjdGlvbiBlcnJvciAiCiAib2NjdXJzLiIKIG1zZ3N0ciAiIgorIuOCt+OCp+ODq+OCkuS4juOBiOOCieOCjOOBn+OCs+ODnuODs+ODieOBp+e9ruaPm+OBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg5oyH5a6a44GX44Gf44OX44Ot44Kw44Op44Og44Gn44K344Kn44Or44KS572u5o+b44GX44GmIENPTU1BTkQg44KS5a6f6KGM44GX44G+44GZ44CCQVJHVU1FTlRTIOOBr1xuIgorIiAgICBDT01NQU5EIOOBruW8leaVsOOBqOOBquOCiuOBvuOBmeOAguOCguOBlyBDT01NQU5EIOOBjOaMh+WumuOBleOCjOOBquOBhOWgtOWQiOOBr+OAgeePvuWcqOOBruOCt+OCpyIKKyLjg6tcbiIKKyIgICAg44Gr5a++44GZ44KL5YWo44Gm44Gu44Oq44OA44Kk44Os44Kv44OI44GM6KGM44KP44KM44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLWEgbmFtZVx0TkFNRSDjgpIgQ09NTUFORCDjga4gMCDnlarnm67jga7lvJXmlbDjgajjgZfjgabkuI7jgYjjgb7jgZlcbiIKKyIgICAgICAtY1x0XHRDT01NQU5EIOOCkueSsOWig+WkieaVsOOBquOBl+OBp+Wun+ihjOOBl+OBvuOBmVxuIgorIiAgICAgIC1sXHRcdGRhc2goLSkg44KSIENPTU1BTkQg44GuIDAg55Wq55uu44Gu5byV5pWw44Go44GX44G+44GZXG4iCisiICAgIFxuIgorIiAgICDjgoLjgZfjgrPjg57jg7Pjg4njgYzlrp/ooYzjgafjgY3jgarjgYTloLTlkIjjgIHpnZ7lr77oqbHnmoTjgarjgrfjgqfjg6vjga/ntYLkuobjgZfjgIHlr77oqbHnmoTjgarjgrfjgqfjg6siCisi44GvXG4iCisiICAgIOOCquODl+OCt+ODp+ODsyBgZXhlY2ZhaWwnIOOBjOioreWumuOBleOCjOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICBDT01NQU5EIOOBjOimi+OBpOOBi+OCieOBquOBhOOBi+ODquODgOOCpOODrOOCr+ODiOOCqOODqeODvOOBjOeZuueUn+OBl+OBquOBhOmZkOOCiuaIkOWKn+OCkui/lOOBl+OBviIKKyLjgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6Njg5CisjOiBidWlsdGlucy5jOjY5NAogbXNnaWQgIiIKICJFeGl0IHRoZSBzaGVsbC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXRzIHRoZSBzaGVsbCB3aXRoIGEgc3RhdHVzIG9mIE4uICBJZiBOIGlzIG9taXR0ZWQsIHRoZSBleGl0IHN0YXR1c1xuIgogIiAgICBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCisi44K344Kn44Or44KS57WC5LqG44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrkgTiDjgafjgrfjgqfjg6vjgpLntYLkuobjgZfjgb7jgZnjgIIgTiDjgpLmjIflrprjgZfjgarjgYTloLTlkIjjga9cbiIKKyIgICAg5pyA5b6M44Gr5a6f6KGM44GX44Gf44Kz44Oe44Oz44OJ44Gu57WC5LqG44K544OG44O844K/44K544Gr44Gq44KK44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjY5OAorIzogYnVpbHRpbnMuYzo3MDMKIG1zZ2lkICIiCiAiRXhpdCBhIGxvZ2luIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI3NDQsOCArMzEwNSwxMyBAQAogImV4ZWN1dGVkXG4iCiAiICAgIGluIGEgbG9naW4gc2hlbGwuIgogbXNnc3RyICIiCisi44Ot44Kw44Kk44Oz44K344Kn44Or44KS57WC5LqG44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrkgTiDjgafjg63jgrDjgqTjg7Pjgrfjgqfjg6vjgpLntYLkuobjgZfjgb7jgZnjgILlrp/ooYzjgZfjgZ/jga7jgYzjg63jgrDjgqTjg7PjgrfjgqciCisi44OrXG4iCisiICAgIOWGheOBp+eEoeOBhOWgtOWQiOOBr+OCqOODqeODvOOCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzo3MDgKKyM6IGJ1aWx0aW5zLmM6NzEzCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMjc3NCw4ICszMTQwLDM4IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBvciBzdGF0dXMgb2YgZXhlY3V0ZWQgY29tbWFuZDsgbm9uLXplcm8gaWYgYW4gZXJyb3IgIgogIm9jY3Vycy4iCiBtc2dzdHIgIiIKKyLjg5Ljgrnjg4jjg6rkuIDopqfjgYvjgonjgrPjg57jg7Pjg4njgpLooajnpLrjgb7jgZ/jga/lrp/ooYzjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIGZjIOOBr+ODkuOCueODiOODquS4gOimp+OCkuihqOekuuOBvuOBn+OBr+e3qOmbhuOBl+OBpuOCs+ODnuODs+ODieOCkuWGjeWun+ihjOOBmeOCi+OBn+OCgeOBq+S9v+eUqOOBl+OBviIKKyLjgZnjgIJcbiIKKyIgICAgRklSU1Qg44GK44KI44GzIExBU1Qg44Gv56+E5Zuy44KS5oyH5a6a44GZ44KL5pWw5YCk44Gn44GZ44CCRklSU1Qg44Gv5paH5a2X5YiX44KS5oyH5a6a44GZ44KL44GT44GoIgorIuOCglxuIgorIiAgICDjgafjgY3jgb7jgZnjgILjgZ3jga7loLTlkIjjga/jgZ3jga7mloflrZfliJfjgaflp4vjgb7jgovnm7Tov5Hjgavlrp/ooYzjgZfjgZ/jgrPjg57jg7Pjg4njgpLooajjgZfjgb4iCisi44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLWUgRU5BTUVcdOS9v+eUqOOBmeOCi+OCqOODh+OCo+OCv+OCkumBuOaKnuOBl+OBvuOBmeOAguODh+ODleOCqeODq+ODiOOBryBGQ0VESVQg44Gn44CB5qyh44GvICIKKyJFRElUT1LjgIFcbiIKKyIgICAgIFx0XHTjgZ3jgZfjgaYgdmkg44Gu6aCG44Gn44GZ44CCXG4iCisiICAgICAgLWwgXHTnt6jpm4bjgafjga/jgarjgY/ooYzjgpLkuIDopqfooajnpLrjgZfjgb7jgZlcbiIKKyIgICAgICAtblx05LiA6Kan6KGo56S65pmC44Gr6KGM55Wq5Y+344KS6KGo56S644GX44G+44Gb44KTXG4iCisiICAgICAgLXJcdOihjOOCkumAhumghuOBq+OBl+OBvuOBmSAo5pyA5paw44Gu44Kz44Oe44Oz44OJ44KS5pyA5Yid44Gr44GZ44KLKVxuIgorIiAgICBcbiIKKyIgICAgYGZjIC1zIFtwYXQ9cmVwIC4uLl0gW2NvbW1hbmRdJyDlvaLlvI/jgpLkvb/nlKjjgZnjgovjgajjgIFDT01NQU5EIOOBr1xuIgorIiAgICBPTEQ9TkVXIOOBrue9ruaPm+OBjOihjOOCj+OCjOOBn+W+jOOBq+WGjeWun+ihjOOBleOCjOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44GT44KM44KS5L2/44Gj44Gf5L2/44GE44KE44GZ44GE44Ko44Kk44Oq44Ki44K544GvIHI9J2ZjIC1zJyDjgafjgZnjgILjgZPjgozjgacgYHIgY2MnIOOCkuWun+ihjOOBmSIKKyLjgotcbiIKKyIgICAg44Go5pyA5b6M44Gr5a6f6KGM44GX44GfIGNjIOOBp+Wni+OBvuOCi+OCs+ODnuODs+ODieOBjOWun+ihjOOBleOCjOOBvuOBmeOAgmByJyDjgafnm7TliY3jga7jgrPjg57jg7Pjg4kiCisi44GMXG4iCisiICAgIOWun+ihjOOBleOCjOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDlrp/ooYzjgZfjgZ/jgrPjg57jg7Pjg4njga7jgrnjg4bjg7zjgr/jgrnjgb7jgZ/jga/miJDlip/jgYzluLDjgorjgb7jgZnjgILjgqjjg6njg7zjgYznmbrnlJ/jgZfjgZ/loLTlkIjjga8gIgorIjAgXG4iCisiICAgIOS7peWkluOBruWApOOBq+OBquOCiuOBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzo3MzgKKyM6IGJ1aWx0aW5zLmM6NzQzCiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTI3ODYsOCArMzE4MiwyMSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgU3RhdHVzIG9mIGNvbW1hbmQgcGxhY2VkIGluIGZvcmVncm91bmQsIG9yIGZhaWx1cmUgaWYgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgorIuOCuOODp+ODluOCkuODleOCqeOCouOCsOODqeODs+ODieOBq+OBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAgSk9CX1NQRUMg44Gn6K2Y5Yil44GV44KM44Gf44K444On44OW44KS44OV44Kp44Ki44Kw44Op44Oz44OJ44Gr44GX44Gm44CB54++5Zyo44Gu44K444On44OW44Gr44GX44G+IgorIuOBmeOAglxuIgorIiAgICDjgoLjgZcgSk9CX1NQRUMg44GM5a2Y5Zyo44GX44Gq44GE5aC05ZCI44CB44K344Kn44Or44GM54++5Zyo44Gu44Os44Oz44OI44K444On44OW44Go44GX44Gm6ICD44GI44Gm44GEIgorIuOCi1xuIgorIiAgICDjgoLjga7jgYzliKnnlKjjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOODleOCqeOCouOCsOODqeOCpuODs+ODieOBq+OBquOBo+OBn+OCs+ODnuODs+ODieOBruOCueODhuODvOOCv+OCueOCkui/lOOBl+OBvuOBmeOAguOBvuOBn+OBr+OAgeOCqOODqeODvCIKKyLjgYxcbiIKKyIgICAg55m655Sf44GX44Gf5pmC44Gr5aSx5pWX44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjc1MworIzogYnVpbHRpbnMuYzo3NTgKIG1zZ2lkICIiCiAiTW92ZSBqb2JzIHRvIHRoZSBiYWNrZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTI4MDAsOCArMzIwOSwxOCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisi44K444On44OW44KS44OQ44OD44Kv44Kw44Op44Km44Oz44OJ44Gr44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBKT0JfU1BFQyDjgaforZjliKXjgZXjgozjgovjgrjjg6fjg5bjgpIgYCYnIOOBqOWFseOBq+Wni+OCgeOBn+aZguOBruOCiOOBhuOBq+ODkOODg+OCr+OCsOODqeOCpuODs+ODiSIKKyLjgatcbiIKKyIgICAg44GX44G+44GZ44CC44KC44GXIEpPQl9TUEVDIOOBjOWtmOWcqOOBl+OBquOBhOWgtOWQiOOAgeOCt+OCp+ODq+OBjOePvuWcqOOBruOCuOODp+ODluOBqOOBl+OBpuiAg+OBiOOBpiIKKyLjgYRcbiIKKyIgICAg44KL44KC44Gu44GM5Yip55So44GV44KM44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOOCuOODp+ODluWItuW+oeOBjOacieWKueOBq+OBquOBo+OBpuOBhOOBquOBhOOBi+OCqOODqeODvOOBjOeZuueUn+OBl+OBquOBhOmZkOOCiuaIkOWKn+OCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjgyNCw4ICszMjQzLDI3IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgorIuODl+ODreOCsOODqeODoOOBruS9jee9ruOCkuiomOaGtuOBvuOBn+OBr+ihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg5ZCE44Kz44Oe44Oz44OJIE5BTUUg44Gu44OV44Or44OR44K544KS5rG65a6a44GX6KiY5oa244GX44G+44GZ44CC44KC44GX5byV5pWw44GM5LiO44GI44KJ44KM44Gq44GL44Gj44GfIgorIuWgtOWQiOOAgVxuIgorIiAgICDoqJjmhrbjgZfjgabjgYTjgovjgrPjg57jg7Pjg4njga7mg4XloLHjgYzooajnpLrjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtZFx0XHTlkIQgTkFNRSDjgavlr77jgZfjgaboqJjmhrbjgZfjgabjgYTjgovmg4XloLHjgpLmtojljrvjgZfjgb7jgZlcbiIKKyIgICAgICAtbFx0XHTlhaXlipvjgajjgZfjgablho3lj6/og73jgarlvaLlvI/jgafooajnpLrjgZfjgb7jgZlcbiIKKyIgICAgICAtcCBwYXRobmFtZVx0TkFNRSDjga7jg5Xjg6vjg5HjgrnlkI3jgajjgZfjgaYgUEFUSE5BTUUg44KS5L2/55So44GX44G+44GZXG4iCisiICAgICAgLXJcdFx05YWo44Gm44Gu6KiY5oa244GX44Gm44GE44KL5L2N572u5oOF5aCx44KS5raI5Y6744GX44G+44GZXG4iCisiICAgICAgLXRcdFx05ZCEIE5BTUUg44Gr5a++44GX44Gm6KiY5oa244GX44Gm44GE44KL5L2N572u44KS6KGo56S644GX44G+44GZ44CC6KSH5pWw44GuIE5BTUVcbiIKKyIgICAgXHRcdOOBjOS4juOBiOOCieOCjOOBn+WgtOWQiOOAgeS9jee9ruOCkuihqOekuuOBmeOCi+WJjeOBq+WvvuixoeOBqOOBquOCiyBOQU1FIOOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICDlvJXmlbA6XG4iCisiICAgICAgTkFNRVx0XHTlkIQgTkFNRSDjga8gJFBBVEgg44Gu5Lit44KS5o6i57Si44GV44KM44CB6KiY6Yyy44GV44KM44Gf44Kz44Oe44Oz44OJ5LiA6Kan44GrXG4iCisiICAgIFx0XHTov73liqDjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAgTkFNRSDjgYzopovjgaTjgYvjgonjgarjgYTjgYvjgIHnhKHlirnjgarjgqrjg5fjgrfjg6fjg7PjgYzkuI7jgYjjgonjgozjgarjgYTpmZDjgormiJDlip/jgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjg0Niw4ICszMjg0LDI2IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgUEFUVEVSTiBpcyBub3QgZm91bmQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgIgogImdpdmVuLiIKIG1zZ3N0ciAiIgorIue1hOOBv+i+vOOBv+OCs+ODnuODs+ODieOBruaDheWgseOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WE44G/6L6844G/44Kz44Oe44Oz44OJ44Gr6Zai44GZ44KL57Ch5r2U44Gq6KaB57SE44KS6KGo56S644GX44G+44GZ44CC44KC44GXIFBBVFRFUk4g44GMXG4iCisiICAgIOaMh+WumuOBleOCjOOBn+WgtOWQiOOBr+OAgVBBVFRFUk4g44Gr5LiA6Ie044GZ44KL5YWo44Gm44Gu44Kz44Oe44Oz44OJ44Gr5a++44GZ44KL6Kmz57Sw44GqXG4iCisiICAgIOODmOODq+ODl+OCkuihqOekuuOBl+OBvuOBmeOAguOBneOCjOS7peWkluOBr+ODmOODq+ODl+ODiOODlOODg+OCr+OCkuihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1kXHTlkITjg5jjg6vjg5fjg4jjg5Tjg4Pjgq/jgavlr77jgZfjgabnn63jgYToqqzmmI7jgpLlh7rlipvjgZfjgb7jgZlcbiIKKyIgICAgICAtbVx05L2/55So5rOV44KS5pOs5Ly855qE44GqIG1hbiDjg5rjg7zjgrjlvaLlvI/jgafooajnpLrjgZfjgb7jgZlcbiIKKyIgICAgICAtc1x05LiA6Ie044GX44Gf5ZCE44OI44OU44OD44Kv44Gr5a++44GX44Gm57Ch5Y2Y44Gq5L2/55So5rOV44Gu44G/44KS6KGo56S644GX44G+44GZXG4iCisiICAgIFx0UEFUVEVSTlxuIgorIiAgICBcbiIKKyIgICAg5byV5pWwOlxuIgorIiAgICAgIFBBVFRFUk5cdOODmOODq+ODl+ODiOODlOODg+OCr+OCkuaMh+WumuOBmeOCi+ODkeOCv+ODvOODs1xuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICBQQVRURVJOIOOBjOimi+OBpOOBi+OCieOBquOBhOOBi+eEoeWKueOBquOCquODl+OCt+ODp+ODs+OBjOS4juOBiOOCieOCjOOBquOBhOmZkOOCiuaIkOWKn+OCkui/lOOBl+OBviIKKyLjgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6ODE2CisjOiBidWlsdGlucy5jOjgyMQogbXNnaWQgIiIKICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0yODgwLDggKzMzMzYsNDAgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgorIuODkuOCueODiOODquS4gOimp+OCkuihqOekuuOBvuOBn+OBr+aTjeS9nOOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg6KGM55Wq5Y+344KS44Gk44GR44Gm44OS44K544OI44Oq44KS6KGo56S644GX44G+44GZ44CC5pON5L2c44GX44Gf5ZCE6aCF55uu44Gr44Gv5YmN44GrYCon44GM5LuY44GN44G+IgorIuOBmeOAglxuIgorIiAgICDlvJXmlbAgTiDjgYzjgYLjgovloLTlkIjjga/mnIDlvozjga4gTiDlgIvjga7poIXnm67jga7jgb/jgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtY1x044OS44K544OI44Oq5LiA6Kan44GL44KJ5YWo44Gm44Gu6aCF55uu44KS5YmK6Zmk44GX44G+44GZ44CCXG4iCisiICAgICAgLWQgb2Zmc2V0XHRPRkZTRVQg55Wq55uu44Gu44OS44K544OI44Oq6aCF55uu44KS5YmK6Zmk44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICAgIC1hXHTjgZPjga7jgrvjg4Pjgrfjg6fjg7PjgYvjgonjg5Ljgrnjg4jjg6rjg5XjgqHjgqTjg6vjgavooYzjgpLov73liqDjgZfjgb7jgZlcbiIKKyIgICAgICAtblx044OS44K544OI44Oq44OV44Kh44Kk44Or44GL44KJ44G+44Gg6Kqt44G/6L6844G+44KM44Gm44GE44Gq44GE6KGM44KS5YWo44Gm6Kqt44G/6L6844G/44G+44GZXG4iCisiICAgICAgLXJcdOODkuOCueODiOODquODleOCoeOCpOODq+OCkuiqreOBv+i+vOOBv+OAgeWGheWuueOCkuODkuOCueODiOODquS4gOimp+OBq+i/veWKoOOBl+OBvuOBmVxuIgorIiAgICAgIC13XHTnj77lnKjjga7jg5Ljgrnjg4jjg6rjgpLjg5Ljgrnjg4jjg6rjg5XjgqHjgqTjg6vjgavmm7jjgY3ovrzjgb/jgb7jgZnjgILjgZ3jgZfjgabjgZ3jgozjgonjgpJcbiIKKyIgICAgXHTjg5Ljgrnjg4jjg6rkuIDopqfjgavov73liqDjgZfjgb7jgZlcbiIKKyIgICAgXG4iCisiICAgICAgLXBcdOWQhCBBUkcg44Gr5a++44GX44Gm44OS44K544OI44Oq5bGV6ZaL44KS5a6f6KGM44GX44CB57WQ5p6c44KS44OS44K544OI44Oq5LiA6Kan44Gr6L+95Yqg44GXXG4iCisiICAgIFx044GX44Gq44GE44Gn6KGo56S644GX44G+44GZXG4iCisiICAgICAgLXNcdEFSRyDjgpLljZjkuIDjga7poIXnm67jgajjgZfjgabjg5Ljgrnjg4jjg6rkuIDopqfjgavov73liqDjgZfjgb7jgZlcbiIKKyIgICAgXG4iCisiICAgIEZJTEVOQU1FIOOCkuS4juOBiOOBn+WgtOWQiOOAgUZJTEVOQU1FIOOBjOODkuOCueODiOODquODleOCoeOCpOODq+OCkuOBl+OBpuS9v+eUqOOBleOCjOOBvuOBmeOAguOBnSIKKyLjgozjgYxcbiIKKyIgICAg54Sh44GP44CBJEhJU1RGSUxFIOOBq+WApOOBjOOBguOCi+WgtOWQiOOBneOBruWApOOBjOS9v+eUqOOBleOCjOOBvuOBmeOAguOBneOBhuOBp+OBquOBkeOCjOOBsCBcbiIKKyIgICAgfi8uYmFzaF9oaXN0b3J5IOOBjOS9v+eUqOOBleOCjOOBvuOBmeOAglxuIgorIlxuIgorIiAgICDjgoLjgZcgJEhJU1RUSU1FRk9STUFUIOWkieaVsOOBjOioreWumuOBleOCjOOAgU5VTEwg44Gn54Sh44GR44KM44Gw44CBc3RyZnRpbWUoMykg44Gu5pu4IgorIuW8j1xuIgorIiAgICDmloflrZfliJfjgajjgZfjgablkITjg5Ljgrnjg4jjg6rpoIXnm67jga7mmYLliLvjgpLooajnpLrjgZnjgovpmpvjgavkvb/nlKjjgZXjgozjgb7jgZnjgILjgZ3jgozku6XlpJbjga9cbiIKKyIgICAg5pmC5Yi744Gv6KGo56S644GV44KM44G+44Gb44KT44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOeEoeWKueOBquOCquODl+OCt+ODp+ODs+OBjOS4juOBiOOCieOCjOOCi+OBi+OCqOODqeODvOOBjOeZuueUn+OBl+OBquOBhOmZkOOCiuaIkOWKn+OCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzo4NTIKKyM6IGJ1aWx0aW5zLmM6ODU3CiBtc2dpZCAiIgogIkRpc3BsYXkgc3RhdHVzIG9mIGpvYnMuXG4iCiAiICAgIFxuIgpAQCAtMjkwNCw4ICszMzkyLDMwIEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLlxuIgogIiAgICBJZiAteCBpcyB1c2VkLCByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgorIuOCuOODp+ODluOBruOCueODhuODvOOCv+OCueOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Ki44Kv44OG44Kj44OW44Gq44K444On44OW44KS5LiA6Kan6KGo56S644GX44G+44GZ44CCSk9CU1BFQyDjga/jgrjjg6fjg5bjga7lh7rlipvjgpLliLbpmZDjgZfjgb4iCisi44GZ44CCXG4iCisiICAgIOOCquODl+OCt+ODp+ODs+OBjOOBquOBhOWgtOWQiOWFqOOBpuOBruOCouOCr+ODhuOCo+ODluOBquOCuOODp+ODluOBruOCueODhuODvOOCv+OCueOBjOihqOekuuOBleOCjOOBviIKKyLjgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtbFx06YCa5bi444Gu5oOF5aCx44Gr5Yqg44GI44Gm44OX44Ot44K744K5SUTjgpLkuIDopqfooajnpLrjgZfjgb7jgZlcbiIKKyIgICAgICAtblx05pyA5b6M44Gu6YCa55+l44GL44KJ44K544OG44O844K/44K544GM5aSJ5pu044Gr44Gq44Gj44Gf44OX44Ot44K744K544Gu44G/5LiA6Kan6KGo56S6XG4iCisiICAgIFx044GX44G+44GZXG4iCisiICAgICAgLXBcdOODl+ODreOCu+OCuUlE44Gu44G/44KS5LiA6Kan6KGo56S644GX44G+44GZXG4iCisiICAgICAgLXJcdOWun+ihjOS4reOBruOCuOODp+ODluOBruWHuuWKm+OCkuWItumZkOOBl+OBvuOBmVxuIgorIiAgICAgIC1zXHTlgZzmraLkuK3jga7jgrjjg6fjg5bjga7lh7rlipvjgpLliLbpmZDjgZfjgb7jgZlcbiIKKyIgICAgXG4iCisiICAgIElmIC14IGlzIHN1cHBsaWVkLCBDT01NQU5EIGlzIHJ1biBhZnRlciBhbGwgam9iIHNwZWNpZmljYXRpb25zIHRoYXRcbiIKKyIgICAgYXBwZWFyIGluIEFSR1MgaGF2ZSBiZWVuIHJlcGxhY2VkIHdpdGggdGhlIHByb2Nlc3MgSUQgb2YgdGhhdCBqb2Inc1xuIgorIiAgICBwcm9jZXNzIGdyb3VwIGxlYWRlci5cbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg54Sh5Yq544Gq44Kq44OX44K344On44Oz44GM5LiO44GI44KJ44KM44KL44GL44Ko44Op44O844GM55m655Sf44GX44Gq44GE6ZmQ44KK5oiQ5Yqf44KS6L+U44GX44G+44GZ44CCXG4iCisiICAgIOOCguOBlyAteCDjgYzkvb/nlKjjgZXjgozjgZ/loLTlkIjjgIFDT01NQU5EIOOBrue1guS6huOCueODhuODvOOCv+OCueOCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzo4NzkKKyM6IGJ1aWx0aW5zLmM6ODg0CiBtc2dpZCAiIgogIlJlbW92ZSBqb2JzIGZyb20gY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0yOTIxLDggKzM0MzEsMjMgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKKyLnj77lnKjjga7jgrfjgqfjg6vjgYvjgonjgrjjg6fjg5bjgpLliYrpmaTjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCouOCr+ODhuOCo+ODluOBquOCuOODp+ODluOBruODhuODvOODluODq+OBi+OCieWQhOW8leaVsOOBriBKT0JTUEVDIOOCkuWJiumZpOOBl+OBvuOBmeOAgkpPQlNQRUMg44GMIgorIuaMh+WumlxuIgorIiAgICDjgZXjgozjgarjgYTloLTlkIjjgIHjgrfjgqfjg6vjgYznj77lnKjjga7jgrjjg6fjg5bjgajogIPjgYjjgabjgYTjgovnianjgYzkvb/nlKjjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtYVx0Sk9CU1BFQyDjgYzkuI7jgYjjgonjgozjgarjgYTmmYLjgavlhajjgabjga7jgrjjg6fjg5bjgpLliYrpmaTjgZfjgb7jgZlcbiIKKyIgICAgICAtaFx044K344Kn44Or44GMIFNJR0hVUCDjgpLlj5fjgZHlj5bjgaPjgZ/mmYLjgavlkIQgSk9CU1BFQyDjga7jgrjjg6fjg5bjgavlr77jgZfjgaYgIgorIlNJR0hVUCBcbiIKKyIgICAgXHTjgYzpgIHjgonjgozjgarjgYTjgojjgYbjgavjg57jg7zjgq/jgZfjgb7jgZlcbiIKKyIgICAgICAtclx05a6f6KGM5Lit44Gu44K444On44OW44Gu44G/5YmK6Zmk44GX44G+44GZXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOeEoeWKueOBquOCquODl+OCt+ODp+ODs+OBiyBKT0JTUEVDIOOBjOS4juOBiOOCieOCjOOBquOBhOmZkOOCiuaIkOWKn+OCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzo4OTgKKyM6IGJ1aWx0aW5zLmM6OTAzCiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMjk0Myw4ICszNDY4LDMxIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyLjgrjjg6fjg5bjgavjgrfjgrDjg4rjg6vjgpLpgIHjgorjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIFBJRCDjgb7jgZ/jga8gSk9CU1BFQyDjgaforZjliKXjgZXjgozjgovjg5fjg63jgrvjgrnjgasgU0lHU1BFQyDjgb7jgZ/jga8gU0lHTlVNIOOBp+WQjeS7mOOBkSIKKyLjgolcbiIKKyIgICAg44KM44KL44K344Kw44OK44Or44KS6YCB44KK44G+44GZ44CC44KC44GXIFNJR1NQRUMg44KCIFNJR05VTSDjgoLmjIflrprjgZXjgozjgarjgYTloLTlkIjjgIEiCisiU0lHVEVSTVxuIgorIiAgICDjgajopovjgarjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtcyBzaWdcdFNJRyDjga/jgrfjgrDjg4rjg6vlkI3jgafjgZlcbiIKKyIgICAgICAtbiBzaWdcdFNJRyDjga/jgrfjgrDjg4rjg6vnlarlj7fjgafjgZlcbiIKKyIgICAgICAtbFx044K344Kw44OK44Or5ZCN44KS5LiA6Kan6KGo56S644GX44G+44GZ44CCLWwg44Gu5b6M44Gr5byV5pWw44GM57aa44GE44Gf5aC05ZCI44CBXG4iCisiICAgIFx044Gd44KM44KJ44Gv5LiA6Kan6KGo56S644GV44KM44KL44G544GN44K344Kw44OK44Or55Wq5Y+344Gn44GC44KL44Go6KaL44Gq44GV44KM44G+44GZXG4iCisiICAgIFxuIgorIiAgICBLaWxsIOOBr+asoeOBrjLjgaTjga7nkIbnlLHjgYvjgonjgrfjgqfjg6vntYTjgb/ovrzjgb/plqLmlbDjgafjgZnjgILkuIDjgaTjga/jg5fjg63jgrvjgrlJROOBruS7o+OCj+OCiiIKKyLjgatcbiIKKyIgICAg44K444On44OWSUTjgpLkvb/nlKjjgafjgY3jgovjgojjgYbjgavjgZnjgovjgZ/jgoHjgafjgZnjgILjgoLjgYbkuIDjgaTjga/kvZzmiJDjgZfjgZ/jg5fjg63jgrvjgrnjgYzliLbpmZAiCisi44GrXG4iCisiICAgIOmBlOOBl+OBn+aZguOBq+ODl+ODreOCu+OCueOCkiBraWxsIOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOCi+OCiOOBhuOBq+OBmeOCi+OBn+OCgeOBp+OBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDnhKHlirnjgarjgqrjg5fjgrfjg6fjg7PjgYzkuI7jgYjjgonjgozjgovjgYvjgqjjg6njg7zjgYznmbrnlJ/jgZfjgarjgYTpmZDjgormiJDlip/jgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6OTIxCisjOiBidWlsdGlucy5jOjkyNgorIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy5cbiIKICIgICAgXG4iCkBAIC0yOTg2LDEwICszNTM0LDUzIEBACiAiICAgIHJ1bGVzIGFib3ZlLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuLiIKKyIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKKyLmlbDlvI/ooajnj77jgpLoqZXkvqHjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIEFSRyDjgpLmlbDlvI/ooajnj77jgajjgZfjgaboqZXkvqHjgZfjgb7jgZnjgILoqZXkvqHjga/lm7rlrprplbfjga7mlbTmlbDjgajjgZfjgaboqZXkvqHjgZXjgozjgIHmoYHmuqLjgowiCisi44GvXG4iCisiICAgIOeiuuiqjeOBleOCjOOBvuOBm+OCk+OAguOBl+OBi+OBl+OAgTAg44Gn5Ymy44KK566X44KS44GX44Gf5aC05ZCI44Gv5o2V5o2J44GV44KM44Ko44Op44O844Go44GX44Gm44OV44Op44KwIgorIuOBjFxuIgorIiAgICDnq4vjgaHjgb7jgZnjgILkuIvoqJjjga7mvJTnrpflrZDkuIDopqfjga/lkIzkuIDlhKrlhYjpoIbkvY3jga7mvJTnrpflrZDmr47jgavjgrDjg6vjg7zjg5fljJbjgZXjgozjgabjgYTjgb4iCisi44GZ44CCXG4iCisiICAgIOWEquWFiOmghuS9jeOBr+mZjemghuOBq+OBquOBo+OBpuOBhOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAgXHRpZCsrLCBpZC0tXHTlpInmlbDjga7lvoznva7jgqTjg7Pjgq/jg6rjg6Hjg7Pjg4jjgIHjg4fjgq/jg6rjg6Hjg7Pjg4hcbiIKKyIgICAgXHQrK2lkLCAtLWlkXHTlpInmlbDjga7liY3nva7jgqTjg7Pjgq/jg6rjg6Hjg7Pjg4jjgIHjg4fjgq/jg6rjg6Hjg7Pjg4hcbiIKKyIgICAgXHQtLCArXHRcdOWNmOmgheODnuOCpOODiuOCueOAgeODl+ODqeOCuVxuIgorIiAgICBcdCEsIH5cdFx06KuW55CG44GK44KI44Gz44OT44OD44OI5ZCm5a6aXG4iCisiICAgIFx0KipcdFx05oyH5pWw5ryU566XXG4iCisiICAgIFx0KiwgLywgJVx0XHTkuZfnrpfjgIHpmaTnrpfjgIHlibDkvZnmvJTnrpdcbiIKKyIgICAgXHQrLCAtXHRcdOWKoOeul+OAgea4m+eul1xuIgorIiAgICBcdDw8LCA+Plx0XHTlt6bjgYrjgojjgbPlj7Pjg5Pjg4Pjg4jjgrfjg5Xjg4hcbiIKKyIgICAgXHQ8PSwgPj0sIDwsID5cdOavlOi8g1xuIgorIiAgICBcdD09LCAhPVx0XHTnrYnkvqHjgIHkuI3nrYnkvqFcbiIKKyIgICAgXHQmXHRcdOODk+ODg+ODiOirlueQhuepjVxuIgorIiAgICBcdF5cdFx044OT44OD44OI5o6S5LuW55qE6KuW55CG5ZKMXG4iCisiICAgIFx0fFx0XHTjg5Pjg4Pjg4joq5bnkIblkoxcbiIKKyIgICAgXHQmJlx0XHToq5bnkIbnqY1cbiIKKyIgICAgXHR8fFx0XHToq5bnkIblkoxcbiIKKyIgICAgXHRleHByID8gZXhwciA6IGV4cHJcbiIKKyIgICAgXHRcdFx05p2h5Lu25ryU566X5a2QXG4iCisiICAgIFx0PSwgKj0sIC89LCAlPSxcbiIKKyIgICAgXHQrPSwgLT0sIDw8PSwgPj49LFxuIgorIiAgICBcdCY9LCBePSwgfD1cdOWApOOBruWJsuW9k1xuIgorIiAgICBcbiIKKyIgICAg44K344Kn44Or5aSJ5pWw44Gv44Kq44Oa44Op44Oz44OJ44Go44GX44Gm5L2/55So44Gn44GN44G+44GZ44CC5aSJ5pWw5ZCN44Gv5pWw5byP5YaF44GnICjlvLfliLbnmoTjgatcbiIKKyIgICAg5Zu65a6a6ZW35pW05pWw44GuKSDlgKTjgavnva7jgY3mj5vjgYjjgonjgozjgb7jgZnjgILlpInmlbDjga/mlbDlvI/lhoXjgafkvb/nlKjjgZnjgovmmYLjgavjga/lv4XjgZrjgZciCisi44KCXG4iCisiICAgIOaVtOaVsOWxnuaAp+OCkuaMgeOBo+OBpuOBhOOCi+W/heimgeOBr+OBguOCiuOBvuOBm+OCk+OAglxuIgorIiAgICBcbiIKKyIgICAg5ryU566X5a2Q44Gv5YSq5YWI6aCG5L2N44Gu6aCG44Gr6KmV5L6h44GV44KM44G+44GZ44CC5bCP5ous5byn44Gn44GP44GP44KJ44KM44Gf5pWw5byP44Gv5YWI44Gr6KmV5L6h44GVIgorIuOCjOOAgVxuIgorIiAgICDkuIroqJjjga7lhKrlhYjpoIbkvY3jgpLkuIrmm7jjgY3jgZnjgovjgYvjgoLjgZfjgozjgb7jgZvjgpPjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAgQVJHIOOBruipleS+oeWApOOBjCAwIOOBruWgtOWQiCBsZXQg44GvIDEg44KS6L+U44GX44G+44GZ44CC44Gd44KM5Lul5aSW44Gu5aC05ZCI44GvIGxldCDjga8gMCDjgpIiCisi6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjk2NgorIzogYnVpbHRpbnMuYzo5NzEKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgogIiAgICBcbiIKQEAgLTMwMzYsOCArMzYyNyw1MyBAQAogIm91dCxcbiIKICIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKIG1zZ3N0ciAiIgorIuaomea6luWFpeWKm+OBi+OCieS4gOihjOiqreOBv+i+vOOBv+ODleOCo+ODvOODq+ODieavjuOBq+WIhuWJsuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg5qiZ5rqW5YWl5Yqb44GL44KJ5LiA6KGM6Kqt44G/6L6844G/44G+44GZ44CC44G+44Gf44GvIC11IOOBjOaMh+WumuOBleOCjOOBpuOBhOOCi+WgtOWQiOOBr+ODleOCoeOCpOODq+iomCIKKyLov7DlrZBcbiIKKyIgICAgRkQg44GL44KJ6Kqt44G/6L6844G/44G+44GZ44CC6KGM44Gv5Y2Y6Kqe5YiG5Ymy44Gr44KI44Gj44Gm44OV44Kj44O844Or44OJ44Gr5YiG5Ymy44GV44KM44CB5pyA5Yid44Gu5Y2Y6KqeIgorIuOBjFxuIgorIiAgICDmnIDliJ3jga4gTkFNRSDjgavjgIEy55Wq55uu44Gu5Y2Y6Kqe44GMMueVquebruOBqyBOQU1FIOOBq+OBqOOBhOOBhumghuOBp+WJsuOCiuW9k+OBpuOCieOCjOOBvuOBmeOAgiIKKyLmrovjgaNcbiIKKyIgICAg44Gf5Y2Y6Kqe44Gv5YWo44Gm5pyA5b6M44GuIE5BTUUg44Gr5Ymy44KK5b2T44Gm44KJ44KM44G+44GZ44CC5aSJ5pWwICRJRlMg44Gr6Kit5a6a44GV44KM44Gf5paH5a2X44GuIgorIuOBv+OBjFxuIgorIiAgICDljZjoqp7jga7ljLrliIfjgorjgajjgZfjgaboqo3orZjjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCguOBlyBOQU1FIOOCkuaMh+WumuOBl+OBquOBi+OBo+OBn+WgtOWQiOOAgeihjOOBryBSRVBMWSDlpInmlbDjgavkv53lrZjjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtYSBhcnJheVx06Kqt44G/6L6844KT44Gg5Y2Y6Kqe44KS44Kk44Oz44OH44OD44Kv44K55Z6L6YWN5YiXIEFSUkFZIOOBq+mghueVquOBq+WJsuOCiuW9k+OBpuOBviIKKyLjgZnjgIJcbiIKKyIgICAgXHRcdOmWi+Wni+eVquWPt+OBryAwIOOBp+OBmeOAglxuIgorIiAgICAgIC1kIGRlbGltXHTmlLnooYzjgafjga/jgarjgY/mloflrZcgREVMSU0g44GM5pyA5Yid44Gr54++44KM44KL44G+44Gn6Kqt44G/6L6844G/44KS57aa44GR44G+44GZXG4iCisiICAgICAgLWVcdFx05a++6Kmx55qE44K344Kn44Or44Gn6KGM44KS5b6X44KL44Gu44GrIFJlYWRsaW5lIOOCkuS9v+eUqOOBl+OBvuOBmVxuIgorIiAgICAgIC1pIHRleHRcdFJlYWRsaW5lIOOBruWIneacn+ODhuOCreOCueODiOOBqOOBl+OBpiBURVhUIOOCkuS9v+eUqOOBl+OBvuOBmVxuIgorIiAgICAgIC1uIG5jaGFyc1x05pS56KGM44GM54Sh44GP44Gm44KC5paH5a2X5pWwIE5DSEFSUyDjgpLoqq3jgb/ovrzjgpPjgaDjgonlvqnluLDjgZfjgb7jgZnjgIIiCisiTkNIQVJTXG4iCisiICAgIFx0XHTjgojjgorliY3jgavljLrliIfjgormloflrZcgKERFTElNSVRFUikg44GM54++44KM44Gf5aC05ZCI44Gv5Yy65YiH44KK5paH5a2X44GMXG4iCisiICAgIFx0XHTlhKrlhYjjgZXjgozjgb7jgZlcbiIKKyIgICAgICAtTiBuY2hhcnNcdOWOs+WvhuOBq+aWh+Wtl+aVsCBOQ0hBUlMg44KS6Kqt44G/6L6844G/5b6p5biw44GX44G+44GZ44CC44Gf44Gg44GX44CB44OV44Kh44Kk44OrIgorIue1glxuIgorIiAgICBcdFx05LqGKEVPRikg44Gr44Gq44KL44GL6Kqt44G/6L6844G/44K/44Kk44Og44Ki44Km44OI44GM55m655Sf44GX44Gf5aC05ZCI44Gv6Zmk44GN44G+44GZ44CCXG4iCisiICAgIFx0XHTljLrliIfjgormloflrZcgKERFTElNSVRFUikg44Gv54Sh6KaW44GV44KM44G+44GZXG4iCisiICAgICAgLXAgcHJvbXB0XHToqq3jgb/ovrzjgb/liY3jgavmloflrZfliJcgUFJPTVBUIOOCkuW+jOOCjeOBq+aUueihjOOCkuS7mOOBkeOBquOBhOOBp+ihqOekuuOBl+OBviIKKyLjgZlcbiIKKyIgICAgICAtclx0XHTjg5Djg4Pjgq/jgrnjg5rjg7zjgrnjgafmloflrZfjgpLjgqjjgrnjgrHjg7zjg5fjgZnjgovjgZPjgajjgpLnpoHmraLjgZfjgb7jgZlcbiIKKyIgICAgICAtc1x0XHTnq6/mnKvjgYvjgonoqq3jgb/ovrzjgb7jgozjgovmloflrZfjgpLjgqjjgrPjg7zjg5Djg4Pjgq/jgZfjgb7jgZvjgpNcbiIKKyIgICAgICAtdCB0aW1lb3V0XHRUSU1FT1VUIOenkuS7peWGheOBq+WFpeWKm+ihjOOBjOWujOWFqOOBq+iqreOBv+i+vOOBvuOCjOOBquOBi+OBo+OBn+WgtOWQiFxuIgorIiAgICBcdFx044K/44Kk44Og44Ki44Km44OI44KS55m655Sf44GV44Gb5aSx5pWX44Go44GX44Gm5b6p5biw44GX44G+44GZ44CCVE1PVVQg5aSJ5pWw44Gu5YCk44GMXG4iCisiICAgIFx0XHTjg4fjg5Xjgqnjg6vjg4jjga7jgr/jgqTjg6DjgqLjgqbjg4jjgafjgZnjgIJUSU1FT1VUIOOCkuWwj+aVsOOBq+OBmeOCi+OBk+OBqOOCguOBp+OBjVxuIgorIiAgICBcdFx044G+44GZ44CC44KC44GXIFRJTUVPVVQg44GMIDAg44Gu5aC05ZCI44CB5oyH5a6a44GX44Gf44OV44Kh44Kk44Or6KiY6L+w5a2Q44GL44KJ44GuXG4iCisiICAgIFx0XHTlhaXlipvjgYzkvb/nlKjlj6/og73jgarloLTlkIjjgavjga7jgb/oqq3jgb/ovrzjgb/jgIHmiJDlip/ov5TjgZfjgb7jgZnjgILjgr/jgqTjg6DjgqLjgqZcbiIKKyIgICAgXHRcdOODiOeZuueUn+aZguOBrue1guS6huOCueODhuODvOOCv+OCueOBrzEyOOOCiOOCiuWkp+OBjeOBj+OBquOCiuOBvuOBmVxuIgorIiAgICAgIC11IGZkXHRcdOiqreOBv+i+vOOBv+OBq+aomea6luWFpeWKm+OBp+OBr+OBquOBj+ODleOCoeOCpOODq+iomOi/sOWtkCBGRCDjgpLkvb/nlKjjgZfjgb7jgZlcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg44OV44Kh44Kk44Or57WC5LqGKEVPRinjgIHoqq3jgb/ovrzjgb/jgr/jgqTjg6DjgqLjgqbjg4jjgIEtdSDjgavnhKHlirnjgarjg5XjgqHjgqTjg6voqJjov7DlrZDjgYzkuI4iCisi44GIXG4iCisiICAgIOOCieOCjOOBn+WgtOWQiOOCkumZpOOBjTDjgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAwOQorIzogYnVpbHRpbnMuYzoxMDE0CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzA0OCw4ICszNjg0LDIxIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCisi44K344Kn44Or6Zai5pWw44GL44KJ5b6p5biw44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBOIOOBp+aMh+WumuOBl+OBn+WApOOCkuaIu+OCiuWApOOBqOOBl+OBpumWouaVsOOBvuOBn+OBryBzb3VyY2Ug44GV44KM44Gf44K544Kv44Oq44OX44OI44KS57WC5LqG44GX44G+IgorIuOBmeOAglxuIgorIiAgICBOIOOBjOaMh+WumuOBleOCjOOBquOBhOWgtOWQiOOAgemWouaVsOOBvuOBn+OBr+OCueOCr+ODquODl+ODiOOBp+acgOW+jOOBq+Wun+ihjOOBl+OBn+OCs+ODnuODs+ODieOBruaIu+OCiiIKKyLlgKRcbiIKKyIgICAg44GM5L2/55So44GV44KM44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOaIu+OCiuWApCBO44CB44G+44Gf44Gv44K344Kn44Or44GM6Zai5pWw44G+44Gf44Gv44K544Kv44Oq44OX44OI44KS5a6f6KGM44GX44Gm44GE44Gq44GE5aC05ZCI44Gv5aSx5pWXIgorIuOCklxuIgorIiAgICDov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CisjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMTE4LDYgKzM3NjcsOSBAQAogIiAgICAgIC1QICBJZiBzZXQsIGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3Mgd2hlbiBleGVjdXRpbmcgY29tbWFuZHNcbiIKICIgICAgICAgICAgc3VjaCBhcyBjZCB3aGljaCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgogIiAgICAgIC1UICBJZiBzZXQsIHRoZSBERUJVRyB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLS0gIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgorIiAgICAgICAgICBJZiB0aGVyZSBhcmUgbm8gcmVtYWluaW5nIGFyZ3VtZW50cywgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICAgICAgICBhcmUgdW5zZXQuXG4iCiAiICAgICAgLSAgIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICAgICAgICBUaGUgLXggYW5kIC12IG9wdGlvbnMgYXJlIHR1cm5lZCBvZmYuXG4iCiAiICAgIFxuIgpAQCAtMzEzMCw4ICszNzgyLDg2IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgorIuOCt+OCp+ODq+OCquODl+OCt+ODp+ODs+OChOS9jee9ruODkeODqeODoeODvOOCv+ODvOOBruWApOOCkuioreWumuODu+a2iOWOu+OBl+OBvuOBmVxuIgorIiAgICBcbiIKKyIgICAg44K344Kn44Or5bGe5oCn44KE5L2N572u44OR44Op44Oh44O844K/44O844Gu5YCk44KS5aSJ5pu044CB44G+44Gf44Gv44K344Kn44Or5aSJ5pWw44Gu5ZCN5YmN44Go5YCkXG4iCisiICAgIOOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1hICDlpInmlbDjgpLlpInmm7Tjgb7jgZ/jga/lpInmm7TjgZfjgabjgqjjgq/jgrnjg53jg7zjg4jjgZnjgovjgojjgYbjgavjg57jg7zjgq/jgZfjgb7jgZnjgIJcbiIKKyIgICAgICAtYiAg44K444On44OW57WC5LqG44KS5Y2z5pmC6YCa55+l44GX44G+44GZ44CCXG4iCisiICAgICAgLWUgIOOCs+ODnuODs+ODieOBrue1guS6huOCueODhuODvOOCv+OCueOBjCAwIOS7peWkluOBruWgtOWQiOOBr+WNs+aZgue1guS6huOBl+OBvuOBmeOAgiAgIFxuIgorIiAgICAgIC1mICDjg5XjgqHjgqTjg6vlkI3nlJ/miJAgKGdsb2JiaW5nKSDjgpLnhKHlirnjgavjgZfjgb7jgZnjgIJcbiIKKyIgICAgICAtaCAg5qSc57Si44GX44Gf44Kz44Oe44Oz44OJ44Gu5L2N572u44KS6KiY5oa244GX44G+44GZ44CCXG4iCisiICAgICAgLWsgIEFsbCBhc3NpZ25tZW50IGFyZ3VtZW50cyBhcmUgcGxhY2VkIGluIHRoZSBlbnZpcm9ubWVudCBmb3IgYVxuIgorIiAgICAgICAgICBjb21tYW5kLCBub3QganVzdCB0aG9zZSB0aGF0IHByZWNlZGUgdGhlIGNvbW1hbmQgbmFtZS5cbiIKKyIgICAgICAtbSAg44K444On44OW5Yi25b6h44KS5pyJ5Yq544Gr44GX44G+44GZ44CCXG4iCisiICAgICAgLW4gIOOCs+ODnuODs+ODieOCkuiqreOBv+i+vOOBv+OBvuOBmeOBjOWun+ihjOOBl+OBvuOBm+OCk+OAglxuIgorIiAgICAgIC1vIG9wdGlvbi1uYW1lXG4iCisiICAgICAgICAgIG9wdGlvbi1uYW1lIOOBq+WvvuW/nOOBl+OBn+WkieaVsOOCkuioreWumuOBl+OBvuOBmTpcbiIKKyIgICAgICAgICAgICAgIGFsbGV4cG9ydCAgICAtYSDjgajlkIzmp5hcbiIKKyIgICAgICAgICAgICAgIGJyYWNlZXhwYW5kICAtQiDjgajlkIzmp5hcbiIKKyIgICAgICAgICAgICAgIGVtYWNzICAgICAgICBlbWFjcyDjgrnjgr/jgqTjg6vjga7ooYznt6jpm4bjgqTjg7Pjgr/jg7zjg5Xjgqfjg7zjgrnjgpLkvb/nlKhcbiIKKyIgICAgICAgICAgICAgIGVycmV4aXQgICAgICAtZSDjgajlkIzmp5hcbiIKKyIgICAgICAgICAgICAgIGVycnRyYWNlICAgICAtRSDjgajlkIzmp5hcbiIKKyIgICAgICAgICAgICAgIGZ1bmN0cmFjZSAgICAtVCDjgajlkIzmp5hcbiIKKyIgICAgICAgICAgICAgIGhhc2hhbGwgICAgICAtaCDjgajlkIzmp5hcbiIKKyIgICAgICAgICAgICAgIGhpc3RleHBhbmQgICAtSCDjgajlkIzmp5hcbiIKKyIgICAgICAgICAgICAgIGhpc3RvcnkgICAgICDjgrPjg57jg7Pjg4njg5Ljgrnjg4jjg6rjgpLmnInlirnjgavjgZnjgotcbiIKKyIgICAgICAgICAgICAgIGlnbm9yZWVvZiAgICDjg5XjgqHjgqTjg6vntYLkuoYgKEVPRikg6Kqt44G/6L6844G/5pmC44Gr44K344Kn44Or44KS57WC5LqGXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAg44GX44Gq44GEXG4iCisiICAgICAgICAgICAgICBpbnRlcmFjdGl2ZS1jb21tZW50c1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOWvvuipseOCs+ODnuODs+ODieOBp+OCs+ODoeODs+ODiOOBruS9v+eUqOOCkuioseWPr+OBmeOCi1xuIgorIiAgICAgICAgICAgICAga2V5d29yZCAgICAgIC1rIOOBqOWQjOanmFxuIgorIiAgICAgICAgICAgICAgbW9uaXRvciAgICAgIC1tIOOBqOWQjOanmFxuIgorIiAgICAgICAgICAgICAgbm9jbG9iYmVyICAgIC1DIOOBqOWQjOanmFxuIgorIiAgICAgICAgICAgICAgbm9leGVjICAgICAgIC1uIOOBqOWQjOanmFxuIgorIiAgICAgICAgICAgICAgbm9nbG9iICAgICAgIC1mIOOBqOWQjOanmFxuIgorIiAgICAgICAgICAgICAgbm9sb2cgICAgICAgIOWPl+OBkeS7mOOBkeOCieOCjOOCi+OBjOeEoeimluOBleOCjOOCi1xuIgorIiAgICAgICAgICAgICAgbm90aWZ5ICAgICAgIC1iIOOBqOWQjOanmFxuIgorIiAgICAgICAgICAgICAgbm91bnNldCAgICAgIC11IOOBqOWQjOanmFxuIgorIiAgICAgICAgICAgICAgb25lY21kICAgICAgIC10IOOBqOWQjOanmFxuIgorIiAgICAgICAgICAgICAgcGh5c2ljYWwgICAgIC1QIOOBqOWQjOanmFxuIgorIiAgICAgICAgICAgICAgcGlwZWZhaWwgICAgIOODkeOCpOODl+ODqeOCpOODs+OBruaIu+OCiuWApOOCkuacgOW+jOOBqyAwIOS7peWkluOBp+e1guS6huOBl+OBn+OCsyIKKyLjg55cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDjg7Pjg4njga7ntYLkuobjgrnjg4bjg7zjgr/jgrnjgavjgZnjgovjgIIwIOS7peWkluOBruOCueODhuODvOOCv+OCueOBp1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOe1guS6huOBl+OBn+OCs+ODnuODs+ODieOBjOeEoeOBhOWgtOWQiOOBq+OBryAwIOOBq+OBmeOCi+OAglxuIgorIiAgICAgICAgICAgICAgcG9zaXggICAgICAgIFBvc2l4IOaomea6luOBqOODh+ODleOCqeODq+ODiOWLleS9nOOBjOeVsOOBquOCiyBiYXNoIOOBruWLleS9nOOCklxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvc2l4IOOBqOS4gOiHtOOBmeOCi+OCiOOBhuOBq+OBmeOCi1xuIgorIiAgICAgICAgICAgICAgcHJpdmlsZWdlZCAgIC1wIOOBqOWQjOanmFxuIgorIiAgICAgICAgICAgICAgdmVyYm9zZSAgICAgIC12IOOBqOWQjOanmFxuIgorIiAgICAgICAgICAgICAgdmkgICAgICAgICAgIHZpIOOCueOCv+OCpOODq+OBruihjOe3qOmbhuOCpOODs+OCv+ODvOODleOCp+ODvOOCueOCkuS9v+eUqFxuIgorIiAgICAgICAgICAgICAgeHRyYWNlICAgICAgIC14IOOBqOWQjOanmFxuIgorIiAgICAgIC1wICDlrp8gdWlkIOOBqOWun+WKuSB1aWQg44GM55Ww44Gq44KL5pmC44Gr5bi444Gr44Kq44Oz44Gr44Gq44KK44G+44GZ44CCJEVOViDjg5XjgqHjgqTjg6tcbiIKKyIgICAgICAgICAg44Gu5Yem55CG44GK44KI44Gz44K344Kn44Or6Zai5pWw44Gu44Kk44Oz44Od44O844OI44GM54Sh5Yq544Gr44Gq44KK44G+44GZ44CC44GT44Gu44Kq44OX44K344OnXG4iCisiICAgICAgICAgIOODs+OCkuOCquODleOBq+OBmeOCi+OBqOWun+WKuSB1aWQsIGdpZCDjgYzlrp8gdWlkLCBnaWQg44Go5ZCM44GY44Gr6Kit5a6a44GV44KM44G+IgorIuOBmeOAglxuIgorIiAgICAgIC10ICDkuIDjgaTjga7jgrPjg57jg7Pjg4njgpLoqq3jgb/ovrzjgb/jgIHlrp/ooYzjgZfjgZ/lvozjgavntYLkuobjgZfjgb7jgZnjgIJcbiIKKyIgICAgICAtdSAg5Luj5YWl5pmC44Gr5aSJ5pWw44KS5pyq6Kit5a6a44Gr44GZ44KL44Go44Ko44Op44O844Go44GX44Gm5omx44GE44G+44GZ44CCXG4iCisiICAgICAgLXYgIOOCt+OCp+ODq+OBruWFpeWKm+ihjOOCkuiqreOBv+i+vOOCk+OBoOOBqOOBiuOCiuOBq+ihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICAgIC14ICDlrp/ooYzjgZXjgozjgovjgrPjg57jg7Pjg4njgajlvJXmlbDjgpLjgZ3jga7pgJrjgorjgavooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgICAtQiAg5Lit5ous5byn44Gu5bGV6ZaL44KS44K344Kn44Or44Gn6KGM44GE44G+44GZ44CCXG4iCisiICAgICAgLUMgIOioreWumuOBl+OBn+WgtOWQiOOAgeODquODgOOCpOODrOOCr+ODiOOBp+aXouWtmOOBrumAmuW4uOODleOCoeOCpOODq+OCkuS4iuabuOOBjeOBmeOCi+OBk+OBqOOCklxuIgorIiAgICAgICAgICDnpoHmraLjgZfjgb7jgZnjgIJcbiIKKyIgICAgICAtRSAg6Kit5a6a44GX44Gf5aC05ZCIIEVSUiDjg4jjg6njg4Pjg5fjgYzjgrfjgqfjg6vplqLmlbDjgavntpnmib/jgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgICAtSCAgISDjgrnjgr/jgqTjg6vjga7jg5Ljgrnjg4jjg6rnva7mj5vjgpLmnInlirnjgavjgZfjgb7jgZnjgILjgZPjga7jg5Xjg6njgrDjga/lr77oqbHnmoTjgrfjgqfjg6tcbiIKKyIgICAgICAgICAg44Gn44Gv44OH44OV44Kp44Or44OI44Gn44Kq44Oz44Gr44Gq44Gj44Gm44GE44G+44GZ44CCXG4iCisiICAgICAgLVAgIOioreWumuOBl+OBn+WgtOWQiOOAgSBjZCDjgarjganjga7jgqvjg6zjg7Pjg4jjg4fjgqPjg6zjgq/jg4jjg6rjgpLlpInmm7TjgZnjgovjgrPjg57jg7Pjg4njgpJcbiIKKyIgICAgICAgICAg5a6f6KGM44GX44Gf5pmC44Gr44K344Oz44Oc44Oq44OD44Kv44Oq44Oz44Kv44KS6L6/44KK44G+44Gb44KT44CCXG4iCisiICAgICAgLVQgIOioreWumuOBl+OBn+WgtOWQiOOAgSBERUJVRyDjg4jjg6njg4Pjg5fjgYzjgrfjgqfjg6vplqLmlbDjgavntpnmib/jgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgICAtICAg44GT44KM5Lul6ZmN44Gu5byV5pWw44KS5L2N572u44OR44Op44Oh44O844K/44O844Go44GX44Gm5Ymy44KK5b2T44Gm44G+44GZ44CCLXgg44GoIC12IFxuIgorIiAgICAgICAgICDjgqrjg5fjgrfjg6fjg7Pjga/jgqrjg5Xjgavjgarjgorjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIFVzaW5nICsgcmF0aGVyIHRoYW4gLSBjYXVzZXMgdGhlc2UgZmxhZ3MgdG8gYmUgdHVybmVkIG9mZi4gIFRoZVxuIgorIiAgICBmbGFncyBjYW4gYWxzbyBiZSB1c2VkIHVwb24gaW52b2NhdGlvbiBvZiB0aGUgc2hlbGwuICBUaGUgY3VycmVudFxuIgorIiAgICBzZXQgb2YgZmxhZ3MgbWF5IGJlIGZvdW5kIGluICQtLiAgVGhlIHJlbWFpbmluZyBuIEFSR3MgYXJlIHBvc2l0aW9uYWxcbiIKKyIgICAgcGFyYW1ldGVycyBhbmQgYXJlIGFzc2lnbmVkLCBpbiBvcmRlciwgdG8gJDEsICQyLCAuLiAkbi4gIElmIG5vXG4iCisiICAgIEFSR3MgYXJlIGdpdmVuLCBhbGwgc2hlbGwgdmFyaWFibGVzIGFyZSBwcmludGVkLlxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDnhKHlirnjgarjgqrjg5fjgrfjg6fjg7PjgYzkuI7jgYjjgonjgozjgarjgYTpmZDjgormiJDlip/jgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEwNAorIzogYnVpbHRpbnMuYzoxMTEyCiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMTUwLDggKzM4ODAsMjUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCiBtc2dzdHIgIiIKKyLjgrfjgqfjg6vlpInmlbDjgYrjgojjgbPplqLmlbDjga7lgKTjg7vlsZ7mgKfjgpLmtojljrvjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOWQhCBOQU1F44Gr5a++44GX44Gm6Zai6YCj44GZ44KL5YCk44G+44Gf44Gv6Zai5pWw44KS5YmK6Zmk44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLWZcdOWQhCBOQU1FIOOCkuOCt+OCp+ODq+mWouaVsOOBqOOBl+OBpuaJseOBhOOBvuOBmVxuIgorIiAgICAgIC12XHTlkIQgTkFNRSDjgpLjgrfjgqfjg6vlpInmlbDjgajjgZfjgabmibHjgYTjgb7jgZlcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODs+OBjOeEoeOBhOWgtOWQiOOAgeacgOWIneOBq+WkieaVsOOCkua2iOWOu+OBl+OCiOOBhuOBqOippuOBv+OBvuOBmeOAguWkseaVl+OBl+OBn+WgtOWQiOOBqyIKKyLjga9cbiIKKyIgICAg6Zai5pWw44KS5raI5Y6744GX44KI44GG44Go6Kmm44G/44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgYTjgY/jgaTjgYvjga7lpInmlbDjga/mtojljrvjgafjgY3jgb7jgZvjgpPjgIJgcmVhZG9ubHknIOOCguWPgueFp+OBl+OBpuOBj+OBoOOBleOBhOOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDnhKHlirnjgarjgqrjg5fjgrfjg6fjg7PjgYzkuI7jgYjjgonjgozjgovjgYsgTkFNRSDjgYzoqq3jgb/lj5bjgorlsILnlKjjga7loLTlkIjjgpLpmaTjgY3miJDlip/jgpLov5TjgZciCisi44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTMxNjksOCArMzkxNiwyNCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCisi44K344Kn44Or5aSJ5pWw44GrIGV4cG9ydCDlsZ7mgKfjgpLoqK3lrprjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOWQhCBOQU1FIOOBq+WvvuOBl+OBpuW+jOOBq+e2muOBkeOBpuWun+ihjOOBleOCjOOCi+OCs+ODnuODs+ODieOBrueSsOWig+WkieaVsOOBqOOBl+OBpuiHquWLleeahOOBq1xuIgorIiAgICDjgqjjgq/jgrnjg53jg7zjg4jjgZXjgozjgovjgojjgYbjgavjg57jg7zjgq/jgZfjgb7jgZnjgIJWQUxVRSDjgYzkuI7jgYjjgonjgozjgZ/loLTlkIjjga/jgqjjgq/jgrlcbiIKKyIgICAg44Od44O844OI44GZ44KL5YmN44Gr5YCk44KS6Kit5a6a44GX44G+44GZ44CCXG4iCisiXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtZlx044K344Kn44Or6Zai5pWw44KS5Y+C54Wn44GX44G+44GZXG4iCisiICAgICAgLW5cdOWQhCBOQU1FIOOBq+WvvuOBl+OBpuOCqOOCr+OCueODneODvOODiOWxnuaAp+OCkuWJiumZpOOBl+OBvuOBmVxuIgorIiAgICAgIC1wXHTlhajjgabjga7jgqjjgq/jgrnjg53jg7zjg4jjgZXjgozjgZ/lpInmlbDjg7vplqLmlbDkuIDopqfjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgICAgXG4iCisiICAgIOW8leaVsCBgLS0nIOS7pemZjeOBr+OCquODl+OCt+ODp+ODs+OBqOOBl+OBpuWHpueQhuOBleOCjOOBvuOBm+OCk+OAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDnhKHlirnjgarjgqrjg5fjgrfjg6fjg7PjgYzkuI7jgYjjgonjgozjgovjgYvjgIHnhKHlirnjgaogTkFNRSDjgYzkuI7jgYjjgonjgozjgarjgYTpmZDjgormiJDlip9cbiIKKyIgICAg44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzE4OSw4ICszOTUyLDI1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKKyLjgrfjgqfjg6vlpInmlbDjgpLlpInmm7TkuI3lj6/jgavjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOWQhCBOQU1FIOOCkuiqreOBv+WPluOCiuWwgueUqOOBq+OBl+OBvuOBmeOAguOBk+OCjOOCieOBriBOQU1FIOOBruWApOOBr+OBk+OCjOS7pemZjeOBruS7o+WFpeOBp1xuIgorIiAgICDlpInmm7TjgYzjgafjgY3jgarjgY/jgarjgorjgb7jgZnjgIJWQUxVRSDjgYzkuI7jgYjjgonjgozjgZ/loLTlkIjjgIHoqq3jgb/lj5bjgorlsILnlKjjgavjgZnjgovliY1cbiIKKyIgICAg44Gr5YCk44GM6Kit5a6a44GV44KM44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLWFcdOOCpOODs+ODh+ODg+OCr+OCueWei+mFjeWIl+WkieaVsOOCkuekuuOBl+OBvuOBmVxuIgorIiAgICAgIC1BXHTpgKPmg7PphY3liJflpInmlbDjgpLnpLrjgZfjgb7jgZlcbiIKKyIgICAgICAtZlx044K344Kn44Or6Zai5pWw44KS56S644GX44G+44GZXG4iCisiICAgICAgLXBcdOWFqOOBpuOBruiqreOBv+WPluOCiuWwgueUqOWkieaVsOODu+mWouaVsOOBruS4gOimp+OCkuihqOekuuOBl+OBvuOBmVxuIgorIiAgICBcbiIKKyIgICAg5byV5pWwIGAtLScg44Gv5Lul6ZmN44Gu44Kq44OX44K344On44Oz5Yem55CG44KS54Sh5Yq544Gr44GX44G+44GZXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOeEoeWKueOBquOCquODl+OCt+ODp+ODs+OBjOS4juOBiOOCieOCjOOCi+OBi+OAgeS4juOBiOOCieOCjOOBnyBOQU1FIOOBjOeEoeWKueOBquWgtOWQiOOCkumZpOOBjeaIkOWKn1xuIgorIiAgICDjgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2NAorIzogYnVpbHRpbnMuYzoxMTcyCiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMjAwLDggKzM5ODAsMTUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCisi5L2N572u44OR44Op44Oh44O844K/44O844KS44K344OV44OI44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDkvY3nva7jg5Hjg6njg6Hjg7zjgr/jg7zlkI0gJE4rMSwkTisyIC4uLiDjgpIgJDEsJDIgLi4uIOOBq+WkieabtOOBl+OBvuOBmeOAgiBcbiIKKyIgICAgTiDjgYzkuI7jgYjjgonjgozjgarjgYvjgaPjgZ/loLTlkIjjgIExIOOBqOimi+OBquOBleOCjOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICBO44GM6LKg44Gu5YCk44G+44Gf44GvICQjIOOCiOOCiuWkp+OBjeOBhOWgtOWQiOOCkumZpOOBjeaIkOWKn+OCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQorIzogYnVpbHRpbnMuYzoxMTg0IGJ1aWx0aW5zLmM6MTE5OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMyMTQsOCArNDAwMSwxOCBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCBpbiBGSUxFTkFNRTsgZmFpbHMgaWZcbiIKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCisi44OV44Kh44Kk44Or44KS6Kqt44G/6L6844G/54++5Zyo44Gu44K344Kn44Or44Gn44Kz44Oe44Oz44OJ44KS5a6f6KGM44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBGSUxFTkFNRSDjgpLoqq3jgb/ovrzjgb/nj77lnKjjga7jgrfjgqfjg6vjgafjgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgb7jgZnjgIIkUEFUSCDjga7poIXnm67jgYxcbiIKKyIgICAgRklMRU5BTUUg44GM5ZCr44G+44KM44KL44OH44Kj44Os44Kv44OI44Oq44KS6KaL44Gk44GR44KL44Gf44KB44Gr5L2/55So44GV44KM44G+44GZ44CC5byV5pWwXG4iCisiICAgIEFSR1VNRU5UUyDjgYzkuI7jgYjjgonjgozjgZ/loLTlkIggRklMRU5BTUUg44KS5a6f6KGM44GZ44KL6Zqb44Gu5L2N572u44OR44Op44Oh44O844K/44O844GoXG4iCisiICAgIOOBl+OBpuS9v+eUqOOBleOCjOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICBGSUxFTkFNRSDjgafmnIDlvozjgavlrp/ooYzjgZfjgZ/jgrPjg57jg7Pjg4njga7jgrnjg4bjg7zjgr/jgrnjgpLov5TjgZfjgb7jgZnjgIJGSUxFTkFNRSDjgYxcbiIKKyIgICAg6Kqt44G/6L6844KB44Gq44GL44Gj44Gf5aC05ZCI44Gv5aSx5pWX44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjEyMDcKKyM6IGJ1aWx0aW5zLmM6MTIxNQogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMjI4LDE1ICs0MDI1LDI5IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyLjgrfjgqfjg6vjga7lrp/ooYzjgpLkuIDmmYLlgZzmraLjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIFNJR0NPTlQg44K344Kw44OK44Or44KS5Y+X44GR5Y+W44KL44G+44Gn44GT44Gu44K344Kn44Or44Gu5a6f6KGM44KS5LiA5pmC5YGc5q2i44GX44G+44GZ44CC5by35Yi2XG4iCisiICAgIOOCquODl+OCt+ODp+ODs+OBjOeEoeOBhOmZkOOCiuODreOCsOOCpOODs+OCt+OCp+ODq+OBr+S4gOaZguWBnOatouOBp+OBjeOBvuOBm+OCk+OAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1mXHTjgrfjgqfjg6vjgYzjg63jgrDjgqTjg7Pjgrfjgqfjg6vjgaDjgajjgZfjgabjgoLlvLfliLbnmoTjgavkuIDmmYLlgZzmraLjgZfjgb7jgZlcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg44K444On44OW5Yi25b6h44GM5pyJ5Yq544Gn44Gq44GE44GL44Ko44Op44O844GM55m655Sf44GX44Gq44GE6ZmQ44KK5oiQ5Yqf44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjEyMjMKKyM6IGJ1aWx0aW5zLmM6MTIzMQorIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCiAiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgogIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCiAiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgotIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy5cbiIKKyIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMgYXMgd2VsbC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBiZWhhdmlvciBvZiB0ZXN0IGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHMuICBSZWFkIHRoZVxuIgorIiAgICBiYXNoIG1hbnVhbCBwYWdlIGZvciB0aGUgY29tcGxldGUgc3BlY2lmaWNhdGlvbi5cbiIKICIgICAgXG4iCiAiICAgIEZpbGUgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKQEAgLTMyOTAsNiArNDEwMSw3IEBACiAiICAgIE90aGVyIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCiAiICAgICAgLW8gT1BUSU9OICAgICAgVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uIE9QVElPTiBpcyBlbmFibGVkLlxuIgorIiAgICAgIC12IFZBUlx0IFRydWUgaWYgdGhlIHNoZWxsIHZhcmlhYmxlIFZBUiBpcyBzZXRcbiIKICIgICAgICAhIEVYUFIgICAgICAgICBUcnVlIGlmIGV4cHIgaXMgZmFsc2UuXG4iCiAiICAgICAgRVhQUjEgLWEgRVhQUjIgVHJ1ZSBpZiBib3RoIGV4cHIxIEFORCBleHByMiBhcmUgdHJ1ZS5cbiIKICIgICAgICBFWFBSMSAtbyBFWFBSMiBUcnVlIGlmIGVpdGhlciBleHByMSBPUiBleHByMiBpcyB0cnVlLlxuIgpAQCAtMzMwNSwxNiArNDExNyw5OCBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgRVhQUiBldmFsdWF0ZXMgdG8gdHJ1ZTsgZmFpbHMgaWYgRVhQUiBldmFsdWF0ZXMgdG9cbiIKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKKyLmnaHku7blvI/jgpLoqZXkvqHjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOW8jyBFWFBSIOOBrue1kOaenOOBq+W/nOOBmOOBpiAwICjnnJ/jgIF0cnVlKSDjgb7jgZ/jga8gMSAo5YG944CBZmFsc2UpIOOCkui/lOOBl+OBvuOBmeOAglxuIgorIiAgICDlvI/jga/ljZjpoIXmvJTnrpflrZDjgb7jgZ/jga/kuozpoIXmvJTnrpflrZDjgafjgZnjgILljZjpoIXmvJTnrpflrZDjga/jg5XjgqHjgqTjg6vjga7jgrnjg4bjg7zjgr/jgrlcbiIKKyIgICAg44KS6KmV5L6h44GZ44KL44Gf44KB44Gr5L2/55So44GV44KM44G+44GZ44CC5paH5a2X5YiX5ryU566X5a2Q44Gr5Yqg44GI44Gm5pWw5YCk5q+U6LyD5ryU566X5a2Q44KCXG4iCisiICAgIOWtmOWcqOOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44OV44Kh44Kk44Or5ryU566X5a2QOlxuIgorIiAgICBcbiIKKyIgICAgICAtYSBGSUxFICAgICAgICDjg5XjgqHjgqTjg6vjgYzlrZjlnKjjgZnjgovmmYLjgavnnJ8odHJ1ZSnjgIJcbiIKKyIgICAgICAtYiBGSUxFICAgICAgICDjg5XjgqHjgqTjg6vjgYzjg5bjg63jg4Pjgq/nibnmrorjg4fjg5DjgqTjgrnjga7mmYLjgavnnJ8odHJ1ZSnjgIJcbiIKKyIgICAgICAtYyBGSUxFICAgICAgICDjg5XjgqHjgqTjg6vjgYzjgq3jg6Pjg6njgq/jgr/nibnmrorjg4fjg5DjgqTjgrnjga7mmYLjgavnnJ8odHJ1ZSnjgIJcbiIKKyIgICAgICAtZCBGSUxFICAgICAgICDjg5XjgqHjgqTjg6vjgYzjg4fjgqPjg6zjgq/jg4jjg6rjga7mmYLjgavnnJ8odHJ1ZSnjgIJcbiIKKyIgICAgICAtZSBGSUxFICAgICAgICDjg5XjgqHjgqTjg6vjgYzlrZjlnKjjgZnjgovmmYLjgavnnJ8odHJ1ZSnjgIJcbiIKKyIgICAgICAtZiBGSUxFICAgICAgICDjg5XjgqHjgqTjg6vjgYzlrZjlnKjjgZfjgIHpgJrluLjjg5XjgqHjgqTjg6vjga7mmYLjgavnnJ8odHJ1ZSnjgIJcbiIKKyIgICAgICAtZyBGSUxFICAgICAgICDjg5XjgqHjgqTjg6vjgasgc2V0Z2lkIOOBjOioreWumuOBleOCjOOBpuOBhOOCi+aZguOBq+ecnyh0cnVlKeOAglxuIgorIiAgICAgIC1oIEZJTEUgICAgICAgIOODleOCoeOCpOODq+OBjOOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OBruaZguOBq+ecnyh0cnVlKeOAglxuIgorIiAgICAgIC1MIEZJTEUgICAgICAgIOODleOCoeOCpOODq+OBjOOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OBruaZguOBq+ecnyh0cnVlKeOAglxuIgorIiAgICAgIC1rIEZJTEUgICAgICAgIOODleOCoeOCpOODq+OBqyBzdGlja3kg44OT44OD44OI44GM6Kit5a6a44GV44KM44Gm44GE44KL5pmC44Gr55yfKHRydWUp44CCXG4iCisiICAgICAgLXAgRklMRSAgICAgICAg44OV44Kh44Kk44Or44GM5ZCN5YmN5LuY44GN44OR44Kk44OX44Gu5pmC44Gr55yfKHRydWUp44CCXG4iCisiICAgICAgLXIgRklMRSAgICAgICAg44OV44Kh44Kk44Or44GM44Om44O844K244Gr5a++44GX44Gm6Kqt44G/6L6844G/5Y+v6IO944Gq5pmC44Gr55yfKHRydWUp44CCXG4iCisiICAgICAgLXMgRklMRSAgICAgICAg44OV44Kh44Kk44Or44GM5a2Y5Zyo44GX44CB44GL44Gk56m644OV44Kh44Kk44Or44Gn44Gq44GE5aC05ZCI44Gr55yfKHRydWUp44CCXG4iCisiICAgICAgLVMgRklMRSAgICAgICAg44OV44Kh44Kk44Or44GM44K944Kx44OD44OI44Gu5aC05ZCI44Gr55yfKHRydWUp44CCXG4iCisiICAgICAgLXQgRkQgICAgICAgICAgRkQo44OV44Kh44Kk44Or6K2Y5Yil5a2QKSDjgYznq6/mnKvjgavplovjgYTjgabjgYTjgovmmYLjgavnnJ8odHJ1ZSnjgIJcbiIKKyIgICAgICAtdSBGSUxFICAgICAgICDjg5XjgqHjgqTjg6vjgasgc2V0dWlkIOOBjOioreWumuOBleOCjOOBpuOBhOOCi+aZguOBq+ecnyh0cnVlKeOAglxuIgorIiAgICAgIC13IEZJTEUgICAgICAgIOODleOCoeOCpOODq+OBjOODpuODvOOCtuOBq+WvvuOBl+OBpuabuOOBjei+vOOBv+WPr+iDveOBquaZguOBq+ecnyh0cnVlKeOAglxuIgorIiAgICAgIC14IEZJTEUgICAgICAgIOODleOCoeOCpOODq+OBjOODpuODvOOCtuOBq+WvvuOBl+OBpuWun+ihjOWPr+iDveOBquaZguOBq+ecnyh0cnVlKeOAglxuIgorIiAgICAgIC1PIEZJTEUgICAgICAgIOODleOCoeOCpOODq+OCkuODpuODvOOCtuOBjOWun+WKueeahOOBq+aJgOacieOBleOCjOOBpuOBhOOCi+aZguOBq+ecnyh0cnVlKeOAglxuIgorIiAgICAgIC1HIEZJTEUgICAgICAgIOODleOCoeOCpOODq+OBruOCsOODq+ODvOODl+OBq+ODpuODvOOCtuOBjOWun+WKueeahOOBq+aJgOWxnuOBl+OBpuOBhOOCi+aZguOBq+ecnyIKKyIodHJ1ZSnjgIJcbiIKKyIgICAgICAtTiBGSUxFICAgICAgICDjg5XjgqHjgqTjg6vjgpLmnIDlvozjgavoqq3jgb/ovrzjgpPjgaDku6XpmY3jgavlpInmm7TjgZXjgozjgabjgYTjgovmmYLjgavnnJ8iCisiKHRydWUp44CCXG4iCisiICAgIFxuIgorIiAgICAgIEZJTEUxIC1udCBGSUxFMiAgZmlsZTEg44GMIGZpbGUyIOOCiOOCiuaWsOOBl+OBhOaZgijmm7TmlrDmmYLplpPjgavln7rjgaXjgY8p44Gr55yfIgorIih0cnVlKeOAglxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgXG4iCisiICAgIFxuIgorIiAgICAgIEZJTEUxIC1vdCBGSUxFMiAgZmlsZTEg44GMIGZpbGUyIOOCiOOCiuWPpOOBhOaZguOBq+ecnyh0cnVlKeOAglxuIgorIiAgICBcbiIKKyIgICAgICBGSUxFMSAtZWYgRklMRTIgIGZpbGUxIOOBjCBmaWxlMiDjgavlr77jgZnjgovjg4/jg7zjg4njg6rjg7Pjgq/jga7mmYLjgavnnJ8odHJ1ZSnjgIJcbiIKKyIgICAgXG4iCisiICAgIOaWh+Wtl+WIl+a8lOeul+WtkDpcbiIKKyIgICAgXG4iCisiICAgICAgLXogU1RSSU5HICAgICAg5paH5a2X5YiX44GM56m644Gu5pmC44Gr55yfKHRydWUp44CCXG4iCisiICAgIFxuIgorIiAgICAgIC1uIFNUUklOR1xuIgorIiAgICAgICAgIFNUUklORyAgICAgIOaWh+Wtl+WIl+OBjOepuuOBp+OBquOBhOaZguOBq+ecnyh0cnVlKeOAglxuIgorIiAgICBcbiIKKyIgICAgICBTVFJJTkcxID0gU1RSSU5HMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIOaWh+Wtl+WIl+OBjOWQjOS4gOOBruaZguOBq+ecnyh0cnVlKeOAglxuIgorIiAgICAgIFNUUklORzEgIT0gU1RSSU5HMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIOaWh+Wtl+WIl+OBjOWQjOS4gOOBp+OBquOBhOaZguOBq+ecnyh0cnVlKeOAglxuIgorIiAgICAgIFNUUklORzEgPCBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAg6L6e5pu46aCG44GnIFNUUklORzEg44GMIFNUUklORzIg44KI44KK5YmN44Gu5pmC44Gr55yfKHRydWUp44CCXG4iCisiICAgICAgU1RSSU5HMSA+IFNUUklORzJcbiIKKyIgICAgICAgICAgICAgICAgICAgICDovp7mm7jpoIbjgacgU1RSSU5HMSDjgYwgU1RSSU5HMiDjgojjgorlvozjga7mmYLjgavnnJ8odHJ1ZSnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOBneOBruS7lua8lOeul+WtkDpcbiIKKyIgICAgXG4iCisiICAgICAgLW8gT1BUSU9OICAgICAg44K344Kn44Or44Kq44OX44K344On44OzIE9QVElPTiDjgYzmnInlirnjgarmmYLjgavnnJ8odHJ1ZSnjgIJcbiIKKyIgICAgICAhIEVYUFIgICAgICAgICDlvI8gZXhwciDjgYzlgb0oZmFsZXMp44Gu5pmC44Gr55yfKHRydWUp44CCXG4iCisiICAgICAgRVhQUjEgLWEgRVhQUjIg5byPIGV4cHIxIOOBiuOCiOOBsyBleHByMiDjga7kuKHmlrnjgajjgoLnnJ8odHJ1ZSnjga7mmYLjgavnnJ8iCisiKHRydWUp44CCXG4iCisiICAgICAgRVhQUjEgLW8gRVhQUjIg5byPIGV4cHIxIOOBvuOBn+OBryBleHByMiDjga7jgYTjgZrjgozjgYvjgYznnJ8odHJ1ZSnjga7mmYLjgavnnJ8iCisiKHRydWUp44CCXG4iCisiICAgIFxuIgorIiAgICAgIGFyZzEgT1AgYXJnMiAgIOaVsOWApOavlOi8g+a8lOeul+OCkuihjOOBhOOBvuOBmeOAgk9QIOOBryAtZXEsIC1uZSwgLWx0LCAtbGUsIC1ndCxcbiIKKyIgICAgICAgICAgICAgICAgICAgICDjgb7jgZ/jga8gLWdlIOOBruOBhOOBmuOCjOOBi+OBp+OBmeOAglxuIgorIiAgICBcbiIKKyIgICAg5pWw5YCk5ryU566X5LqM6aCF5ryU566X5a2Q44GvIEFSRzEg44GoIEFSRzIg44Gu6Zai5L+C44GM44Gd44KM44Ge44KM44CB562J44GX44GEKC1lcSnjgIFcbiIKKyIgICAg562J44GX44GP44Gq44GEKC1uZSnjgIHjgojjgorlsI/jgZXjgYQoLWx0KeOAgeS7peS4iygtbGUp44CB44KI44KK5aSn44GN44GEKC1ndCnjgIHjgb7jgZ/jga9cbiIKKyIgICAg5Lul5LiKKC1nZSnjga7mmYLjgavnnJ8odHJ1ZSnjgpLov5TjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg5byPIEVYUFIg44Gu6KmV5L6h5YCk44GM55yfKHRydWUp44Gu5pmC44Gr5oiQ5Yqf44KS6L+U44GX44G+44GZ44CCRVhQUiDjga7oqZXkvqHlgKTjgYzlgb0oZmFsc2UpICIKKyLjgb7jgZ/jga9cbiIKKyIgICAg5byV5pWw44GM54Sh5Yq544Gq5aC05ZCI44Gr5aSx5pWX44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjEyOTkKKyM6IGJ1aWx0aW5zLmM6MTMxMQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKICIgICAgVGhpcyBpcyBhIHN5bm9ueW0gZm9yIHRoZSBcInRlc3RcIiBidWlsdGluLCBidXQgdGhlIGxhc3QgYXJndW1lbnQgbXVzdFxuIgogIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgogbXNnc3RyICIiCisi5p2h5Lu25byP44KS6KmV5L6h44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgZPjgozjga8gdGVzdCDntYTjgb/ovrzjgb/plqLmlbDjgajlkIznvqnoqp7jgafjgZnjgILjgZ/jgaDjgZfjgIHmnIDlvozjga7lvJXmlbDjgavplovlp4vjga5gWyfjgajkuIAiCisi6Ie0XG4iCisiICAgIOOBmeOCi+OCiOOBhuOBq+aWh+Wtl2BdJ+OCkuS4juOBiOOBquOBkeOCjOOBsOOBhOOBkeOBvuOBm+OCk+OAgiIKIAotIzogYnVpbHRpbnMuYzoxMzA4CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTMzMjUsOCArNDIxOSwxNyBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgorIuODl+ODreOCu+OCueOBruaZgumWk+OCkuihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44K344Kn44Or44Go44Gd44Gu5a2Q44OX44Ot44K744K544GM5L2/55So44GX44Gf44Om44O844K244O85pmC6ZaT44Go44K344K544OG44Og5pmC6ZaT44Gd44KM44Ge44KM44Gu57Sv56mNIgorIuOCklxuIgorIiAgICDooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg5bi444Gr5oiQ5Yqf44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgorIywgZnV6enkKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzM0Miw3ICs0MjQ1LDE1IEBACiAiICAgIFxuIgogIiAgICBJZiBhIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20gdGhlIHNoZWxsLiAgIgogIklmXG4iCi0iICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuICAiCisiSWZcbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBSRVRVUk4sIEFSRyBpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciAiCisiYVxuIgorIiAgICBzY3JpcHQgcnVuIGJ5IHRoZSAuIG9yIHNvdXJjZSBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuICBBICIKKyJTSUdOQUxfU1BFQ1xuIgorIiAgICBvZiBFUlIgbWVhbnMgdG8gZXhlY3V0ZSBBUkcgZWFjaCB0aW1lIGEgY29tbWFuZCdzIGZhaWx1cmUgd291bGQgY2F1c2UgIgorInRoZVxuIgorIiAgICBzaGVsbCB0byBleGl0IHdoZW4gdGhlIC1lIG9wdGlvbiBpcyBlbmFibGVkLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCwgdHJhcCBwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgIgogImFzc29jaWF0ZWRcbiIKQEAgLTMzNjEsOCArNDI3Miw0MCBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgU0lHU1BFQyBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKICJnaXZlbi4iCiBtc2dzdHIgIiIKKyLjgrfjgrDjg4rjg6vjgb7jgZ/jga/ku5bjga7jgqTjg5njg7Pjg4jjgpLjg4jjg6njg4Pjg5fjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCt+OCp+ODq+OBjOOCt+OCsOODiuODq+OCkuWPl+OBkeWPluOCi+OBi+S7luOBruadoeS7tuOBjOeZuueUn+OBl+OBn+aZguOBq+Wun+ihjOOBleOCjOOCi+ODj+ODs+ODieODqeODvCIKKyLjgpJcbiIKKyIgICAg5a6a576p44GK44KI44Gz5pyJ5Yq55YyW44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBBUkcg44Gv44K344Kw44OK44OrIFNJR05BTF9TUEVDIOOCkuWPl+OBkeWPluOBo+OBn+aZguOBq+iqreOBv+i+vOOBvuOCjOWun+ihjOOBleOCjOOCi+OCs+ODnuODs+ODiVxuIgorIiAgICDjgafjgZnjgILjgoLjgZcgQVJHIOOBjOeEoeOBhCAo44GL44Gk44K344Kw44OK44OrIFNJR05BTF9TUEVDIOOBjOS4juOBiOOCieOCjOOBn+WgtOWQiCkg44G+44GfIgorIuOBr1xuIgorIiAgICBgLScg44Gu5aC05ZCI44CB5ZCE5oyH5a6a44GX44Gf44K344Kw44OK44Or44Gv44Kq44Oq44K444OK44Or44Gu5YCk44Gr44Oq44K744OD44OI44GV44KM44G+44GZ44CCXG4iCisiICAgIEFSRyDjgYwgTlVMTCDmloflrZfliJfjga7loLTlkIjjgIHlkITjgrfjgrDjg4rjg6sgU0lHTkFMX1NQRUMg44Gv44K344Kn44Or44Gr44GK44KI44Gz6LW35YuV44GVXG4iCisiICAgIOOCjOOBn+OCs+ODnuODs+ODieOBq+OCiOOBo+OBpueEoeimluOBleOCjOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44KC44GXIFNJR05BTF9TUEVDIOOBjCBFWElUICgwKSDjga7loLTlkIjjgIFBUkcg44GM44K344Kn44Or44Gu57WC5LqG5pmC44Gr5a6f6KGM44GV44KM44G+IgorIuOBmeOAglxuIgorIiAgICDjgoLjgZcgU0lHTkFMX1NQRUMg44GMIERFQlVH44Gu5aC05ZCIIEFSRyDjga/ljZjjgavmr47lm57jgrPjg57jg7Pjg4njga7liY3jgavlrp/ooYzjgZXjgozjgb4iCisi44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgoLjgZflvJXmlbDjgYzkuI7jgYjjgonjgozjgarjgYTloLTlkIjjgIEgdHJhcCDjga/lkITjgrfjgrDjg4rjg6vjgavlibLjgorlvZPjgabjgonjgozjgZ/jgrPjg57jg7Pjg4kiCisi44GuXG4iCisiICAgIOS4gOimp+OCkuihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1sXHTjgrfjgrDjg4rjg6vlkI3jgajjgrfjgrDjg4rjg6vnlarlj7fjga7lr77lv5zkuIDopqfjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgICAgICAtcFx05ZCEIFNJR05BTF9TUEVDIOOBq+mWoumAo+OBpeOBkeOCieOCjOOBnyB0cmFwIOOCs+ODnuODs+ODieOCkuihqOekuuOBl+OBvuOBmVxuIgorIiAgICBcbiIKKyIgICAg5ZCEIFNJR05BTF9TUEVDIOOBryA8c2lnbmFsLmg+IOOBq+OBguOCi+OCt+OCsOODiuODq+WQjeOBi+OCt+OCsOODiuODq+eVquWPt+OBp+OBmeOAguOCt+OCsFxuIgorIiAgICDjg4rjg6vlkI3jga/lpKfmloflrZflsI/mloflrZfjgpLljLrliKXjgZfjgb7jgZvjgpPjgILjgb7jgZ8gU0lHIOaOpemgrei+nuOBr+OCquODl+OCt+ODp+ODs+OBp+OBmeOAglxuIgorIiAgICDjgrfjgrDjg4rjg6vjga/jgrfjgqfjg6vjgavlr77jgZfjgaYgXCJraWxsIC1zaWduYWwgJCRcIiDjgafpgIHjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAgU0lHU1BFQyDjgYznhKHlirnjgYvjgIHnhKHlirnjgarjgqrjg5fjgrfjg6fjg7PjgpLkuI7jgYjjgonjgozjgarjgYTpmZDjgormiJDlip/jgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM1MgorIzogYnVpbHRpbnMuYzoxMzY4CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTMzOTEsOCArNDMzNCwzNiBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgYWxsIG9mIHRoZSBOQU1FcyBhcmUgZm91bmQ7IGZhaWxzIGlmIGFueSBhcmUgbm90ICIKICJmb3VuZC4iCiBtc2dzdHIgIiIKKyLjgrPjg57jg7Pjg4njga7nqK7poZ7jgavplqLjgZnjgovmg4XloLHjgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOWQhCBOQU1FIOOBq+WvvuOBl+OBpuOCs+ODnuODs+ODieWQjeOBqOOBl+OBpuS9v+OCj+OCjOOBn+aZguOBq+OBqeOBruOCiOOBhuOBq+ino+mHiOOBleOCjOOCi+OBi+OCklxuIgorIiAgICDnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtYVx0TkFNRSDjgajjgYTjgYblkI3liY3jgavjgarjgaPjgabjgYTjgovlrp/ooYzlj6/og73jgarjgoLjga7jga7lhajjgabjga7kvY3nva7jgpLooajnpLrjgZdcbiIKKyIgICAgXHTjgb7jgZnjgILjgZPjgozjgavjga8gYC1wJyDjgYzlkIzmmYLjgavmjIflrprjgZXjgozjgabjgYTjgarjgYTloLTlkIjjgavpmZDjgaPjgabjgqjjgqTjg6rjgqLjgrnjgIFcbiIKKyIgICAgXHTntYTjgb/ovrzjgb/plqLmlbDjgIHjgrfjgqfjg6vplqLmlbDjgoLlkKvjgb/jgb7jgZlcbiIKKyIgICAgICAtZlx044K344Kn44Or6Zai5pWw44Gu5qSc57Si44KS5oqR5q2i44GX44G+44GZXG4iCisiICAgICAgLVBcdOWQhCBOQU1FIOOBq+WvvuOBl+OBpiBQQVRIIOaOoue0ouOCkuW8t+WItuOBl+OBvuOBmeOAguOCqOOCpOODquOCouOCueOAgee1hOOBv+i+vOOBv1xuIgorIiAgICBcdOmWouaVsOOAgeOCt+OCp+ODq+mWouaVsOOBjOOBguOBo+OBn+OBqOOBl+OBpuOCguWun+ihjOOBleOCjOOCi+ODh+OCo+OCueOCr+S4iuOBruODleOCoeOCpOODq+WQjeOCklxuIgorIiAgICBcdOi/lOOBl+OBvuOBmVxuIgorIiAgICAgIC1wXHTlrp/ooYzjgZXjgozjgovjg4fjgqPjgrnjgq/kuIrjga7jg5XjgqHjgqTjg6vlkI3jgpLov5TjgZfjgb7jgZnjgIJgdHlwZSAtdCBOQU1FJ1xuIgorIiAgICBcdOOBjCBgZmlsZScg44KS6L+U44GV44Gq44GE5aC05ZCI44CB5L2V44KC6L+U44GX44G+44Gb44KT44CCXG4iCisiICAgICAgLXRcdOasoeOBruOBhOOBmuOCjOOBi+OBruWNmOiqnuOCkui/lOOBl+OBvuOBmeOAgmBhbGlhcycsIGBrZXl3b3JkJywgYGZ1bmN0aW9uJyxcbiIKKyIgICAgXHQgYGJ1aWx0aW4nLCBgZmlsZScgb3IgYCfjgILjgZ3jgozjgZ7jgowgTkFNRSDjgYzjgqjjgqTjg6rjgqLjgrnjgIHjgrfjgqfjg6vkuojntIToqp7jgIFcbiIKKyIgICAgXHTjgrfjgqfjg6vplqLmlbDjgIHjgrfjgqfjg6vntYTjgb/ovrzjgb/plqLmlbDjgIHjg4fjgqPjgrnjgq/kuIrjga7jg5XjgqHjgqTjg6vjgIHkvZXjgoLopovjgaTjgYvjgonjgaoiCisi44GEXG4iCisiICAgIFx044Gr5a++5b+c44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDlvJXmlbA6XG4iCisiICAgICAgTkFNRVx06Kej6YeI44GZ44KL44Kz44Oe44Oz44OJ44Gu5ZCN5YmN44Gn44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOWFqOOBpuOBriBOQU1FIOOBjOimi+OBpOOBi+OBo+OBn+WgtOWQiOOBq+aIkOWKn+OCkui/lOOBl+OBvuOBmeOAguOBqeOCjOOBi+OBjOimi+OBpOOBi+OCieOBquOBi+OBo+OBn+WgtCIKKyLlkIhcbiIKKyIgICAg44Gv5aSx5pWX44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjEzODMKKyM6IGJ1aWx0aW5zLmM6MTM5OQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTM0MzUsOCArNDQwNiw0OCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisi44K344Kn44Or44Gu6LOH5rqQ5Yi26ZmQ44KS5aSJ5pu044GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgrfjgqfjg6vjgYrjgojjgbPjgrfjgqfjg6vjgYzkvZzmiJDjgZnjgovjg5fjg63jgrvjgrnjgYzkvb/nlKjlj6/og73jgaros4fmupDjgavlr77jgZnjgovliLblvqHjgpLmj5DkvpvjgZciCisi44G+44GZ44CCXG4iCisiICAgIOOBn+OBoOOBl+OAgeOCt+OCueODhuODoOOBjOOBneOBruOCiOOBhuOBquWItuW+oeOCkuioseWPr+OBl+OBpuOBhOOCi+WgtOWQiOOBp+OBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1TXHRgc29mdCcg6LOH5rqQ5Yi26ZmQ44KS5L2/55So44GX44G+44GZXG4iCisiICAgICAgLUhcdGBoYXJkJyDos4fmupDliLbpmZDjgpLkvb/nlKjjgZfjgb7jgZlcbiIKKyIgICAgICAtYVx054++5Zyo44Gu5YWo44Gm44Gu6LOH5rqQ5Yi26ZmQ44KS6KGo56S644GX44G+44GZXG4iCisiICAgICAgLWJcdOOCveOCseODg+ODiOODkOODg+ODleOCoeOCteOCpOOCulxuIgorIiAgICAgIC1jXHTkvZzmiJDjgZXjgozjgovjgrPjgqLjg5XjgqHjgqTjg6vjga7mnIDlpKfjgrXjgqTjgrpcbiIKKyIgICAgICAtZFx044OX44Ot44K744K544OH44O844K/44K744Kw44Oh44Oz44OI44Gu5pyA5aSn44K144Kk44K6XG4iCisiICAgICAgLWVcdOOCueOCseOCuOODpeODvOODq+WEquWFiOW6puOBruacgOWkp+WApCAoYG5pY2UnKVxuIgorIiAgICAgIC1mXHTjgrfjgqfjg6vlj4rjgbPlrZDjg5fjg63jgrvjgrnjgYzmm7jjgY3ovrzjgb/lj6/og73jgarjg5XjgqHjgqTjg6vjgrXjgqTjgrrjga7mnIDlpKflgKRcbiIKKyIgICAgICAtaVx05L+d55WZ44GZ44KL44K344Kw44OK44Or44Gu5pyA5aSn5pWwXG4iCisiICAgICAgLWxcdOODoeODouODquOBq+ODreODg+OCr+OBp+OBjeOCi+ODl+ODreOCu+OCueOBruacgOWkp+OCteOCpOOCulxuIgorIiAgICAgIC1tXHTmnIDlpKfjga7jg6Hjg6Ljg6rjgrXjgqTjgrpcbiIKKyIgICAgICAtblx044OV44Kh44Kk44Or6KiY6L+w5a2Q44KS6ZaL44GP44GT44Go44GM44Gn44GN44KL5pyA5aSn5pWwXG4iCisiICAgICAgLXBcdOODkeOCpOODl+OBruODkOODg+ODleOCoeOCteOCpOOCulxuIgorIiAgICAgIC1xXHRQT1NJWCBtZXNzYWdlIHF1ZXVlcyDjga7mnIDlpKfjg5DjgqTjg4jmlbBcbiIKKyIgICAgICAtclx044Oq44Ki44Or44K/44Kk44Og44K544Kx44K444Ol44O844Or5YSq5YWI5bqm44Gu5pyA5aSn5YCkXG4iCisiICAgICAgLXNcdOOCueOCv+ODg+OCr+OCteOCpOOCuuOBruacgOWkp+WApFxuIgorIiAgICAgIC10XHRDUFXmmYLplpPnt4/ph4/jga7mnIDlpKflgKQgKOenkuWNmOS9jSlcbiIKKyIgICAgICAtdVx044Om44O844K244O844OX44Ot44K744K544Gu5pyA5aSn5pWwXG4iCisiICAgICAgLXZcdOS7ruaDs+ODoeODouODquOBruOCteOCpOOCulxuIgorIiAgICAgIC14XHTjg5XjgqHjgqTjg6vjg63jg4Pjgq/jga7mnIDlpKfmlbBcbiIKKyIgICAgXG4iCisiICAgIExJTUlUIOOBjOS4juOBiOOCieOCjOOBn+WgtOWQiOOAgeaMh+WumuOBl+OBn+izh+a6kOOBq+WvvuOBmeOCi+aWsOOBl+OBhOWApOOBq+OBquOCiuOBvuOBmeOAgueJueWIpeOBqlxuIgorIiAgICBMSU1JVCDjga7lgKTjgafjgYLjgosgYHNvZnQn44CBYGhhcmQn44CB44GK44KI44GzIGB1bmxpbWl0ZWQnIOOBr+ePvuWcqOOBriBgc29mdCcg5Yi2IgorIumZkFxuIgorIiAgICDnj77lnKjjga5gaGFyZCcg5Yi26ZmQ44GK44KI44Gz5Yi26ZmQ44Gq44GX44KS44Gd44KM44Ge44KM5oSP5ZGz44GX44G+44GZ44CCXG4iCisiICAgIOOBneOCjOS7peWkluOBruWgtOWQiOOAgeaMh+WumuOBl+OBn+izh+a6kOOBruePvuWcqOOBruWApOOBjOihqOekuuOBleOCjOOBvuOBmeOAguOCquODl+OCt+ODp+ODs+OBjOS4juOBiFxuIgorIiAgICDjgonjgozjgarjgYvjgaPjgZ/loLTlkIggLWYg44Go6KaL44Gq44GV44KM44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDlgKTjga8gMTAyNCDjg5DjgqTjg4jljZjkvY3jgaflopfliqDjgZfjgb7jgZnjgILkvovlpJbjga8gLXQg44GM56eS5Y2Y5L2N44CBLXAg44GMIDUxMuODkOOCpOODiFxuIgorIiAgICDljZjkvY3jgIHjgYrjgojjgbMgLXUg44GvMeODl+ODreOCu+OCueWNmOS9jeOBp+OBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDnhKHlirnjgarjgqrjg5fjgrfjg6fjg7PjgYzkuI7jgYjjgonjgozjgovjgYvjgqjjg6njg7zjgYznmbrnlJ/jgZfjgarjgYTpmZDjgormiJDlip/jgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQyOAorIzogYnVpbHRpbnMuYzoxNDQ0CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTM0NTMsOCArNDQ2NCwyNCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCisi44OV44Kh44Kk44Or44Gu44Oi44O844OJ44Oe44K544Kv44KS6KGo56S644G+44Gf44Gv6Kit5a6a44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjg6bjg7zjgrbjg7zjgYzjg5XjgqHjgqTjg6vkvZzmiJDmmYLjga7jg57jgrnjgq/jgpIgTU9ERSDjgavoqK3lrprjgZfjgb7jgZnjgIJNT0RFIOOBjOaMh+WumuOBleOCjOOBquOBhCIKKyLloLTlkIhcbiIKKyIgICAg54++5Zyo44Gu44Oe44K544Kv44Gu5YCk44KS6KGo56S644GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBNT0RFIOOBjOaVsOWApOOBp+mWi+Wni+OBl+OBn+WgtOWQiDjpgLLmlbDjgajjgZfjgabop6Pph4jjgZXjgozjgb7jgZnjgILjgZ3jgozku6XlpJbjga8gY2htb2QoMSkg44GnIgorIuWPl+OBkVxuIgorIiAgICDlhaXjgozjgonjgozjgovjgrfjg7Pjg5zjg6vjg6Ljg7zjg4njga7mloflrZfliJfjgajjgZfjgabmibHjgo/jgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtcFx0TU9ERSDjgYzmjIflrprjgZXjgozjgarjgYTloLTlkIjjgIHlhaXlipvjgajjgZfjgablho3liKnnlKjlj6/og73jgarlvaLlvI/jgafooajnpLrjgZfjgb7jgZlcbiIKKyIgICAgICAtU1x044K344Oz44Oc44Or44Oi44O844OJ44Gn5Ye65Yqb44GX44G+44GZ44CC44Gd44KM5Lul5aSW44GvOOmAsuaVsOOBp+WHuuWKm+OBl+OBvuOBmVxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICBNT0RFIOOBjOeEoeWKueOBi+OAgeeEoeWKueOBquOCquODl+OCt+ODp+ODs+OBjOS4juOBiOOCieOCjOOBquOBhOmZkOOCiuaIkOWKn+OCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxNDQ4CisjOiBidWlsdGlucy5jOjE0NjQKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zNDcwLDggKzQ0OTcsMTggQEAKICJpc1xuIgogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKKyLjgrjjg6fjg5bjga7lrp/ooYzlrozkuobjgpLlvoXjgaHjgIHntYLkuobjgrnjg4bjg7zjgr/jgrnjgpLov5TjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIElEIOOBp+itmOWIpeOBleOCjOOCi+ODl+ODreOCu+OCuSAo44OX44Ot44K744K5SUQg44G+44Gf44GvIOOCuOODp+ODluaMh+Wumikg44KS5b6F44Gh44CB44Gd44Gu57WC5LqGXG4iCisiICAgIOOCueODhuODvOOCv+OCueOCkui/lOOBl+OBvuOBmeOAgklEIOOBjOS4juOBiOOCieOCjOOBquOBhOWgtOWQiOOAgeePvuWcqOOCouOCr+ODhuOCo+ODluOBquWFqOOBpuOBruWtkOODl1xuIgorIiAgICDjg63jgrvjgrnjgpLlvoXjgaEgMCDjgpLov5TjgZfjgb7jgZnjgIJJRCDjgYzjgrjjg6fjg5bmjIflrprjga7loLTlkIjjgrjjg6fjg5bjga7jg5HjgqTjg5fjg6njgqTjg7PjgatcbiIKKyIgICAg44GC44KL5YWo44Gm44Gu44OX44Ot44K744K544KS5b6F44Gh44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIElEIOOBrue1guS6huOCueODhuODvOOCv+OCueOCkui/lOOBl+OBvuOBmeOAgklE44GM54Sh5Yq544Gn44GC44KL44GL44CB54Sh5Yq544Gq44Kq44OX44K344On44Oz44GMXG4iCisiICAgIOS4juOBiOOCieOCjOOBn+WgtOWQiOOBq+OBr+WkseaVl+OCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxNDY2CisjOiBidWlsdGlucy5jOjE0ODIKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzQ4NCw4ICs0NTIxLDE3IEBACiAiaXNcbiIKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCisi44OX44Ot44K744K544Gu5a6f6KGM5a6M5LqG44KS5b6F44Gh44CB57WC5LqG44K544OG44O844K/44K544KS6L+U44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDmjIflrprjgZXjgozjgZ/jg5fjg63jgrvjgrnjgpLlvoXjgaHjgIHjgZ3jga7ntYLkuobjgrnjg4bjg7zjgr/jgrnjgpLov5TjgZfjgb7jgZnjgIJQSUQg44GM5LiO44GI44KJ44KMXG4iCisiICAgIOOBquOBhOWgtOWQiOOAgeePvuWcqOOCouOCr+ODhuOCo+ODluOBquWFqOOBpuOBruWtkOODl+ODreOCu+OCueOCkuW+heOBoeOAgTAg44KS6L+U44GX44G+44GZ44CCUElEIOOBr1xuIgorIiAgICDjg5fjg63jgrvjgrlJROOBp+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCk+OAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICBJROOBrue1guS6huOCueODhuODvOOCv+OCueOCkui/lOOBl+OBvuOBmeOAgklE44GM54Sh5Yq544GL44CB54Sh5Yq544Gq44Kq44OX44K344On44Oz44GM5LiO44GI44KJ44KM44GfXG4iCisiICAgIOWgtOWQiOOBr+OCqOODqeODvOOCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxNDgxCisjOiBidWlsdGlucy5jOjE0OTcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTM0OTcsOCArNDU0MywxNiBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCisi44Oq44K544OI44Gu5ZCE6KaB57Sg44Gr5a++44GX44Gm44Kz44Oe44Oz44OJ44KS5a6f6KGM44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBgZm9yJyDjg6vjg7zjg5fjgafjga/jg6rjgrnjg4jjga7lkITopoHntKDjgavlr77jgZfjgabkuIDpgKPjga7jgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgb7jgZnjgIJcbiIKKyIgICAgYGluIFdPUkRTIC4uLjsnIOOBjOWtmOWcqOOBl+OBquOBhOWgtOWQiOOAgWBpbiBcIiRAXCInIOOBp+OBguOCi+OBqOimi+OBquOBleOCjOOBvuOBmeOAglxuIgorIiAgICBXT1JEUyDjga7opoHntKDjgYwgTkFNRSDjga7lgKTjgajjgZfjgabku6PlhaXjgZXjgowgQ09NTUFORFMg44GM5a6f6KGM44GV44KM44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOacgOW+jOOBq+Wun+ihjOOBl+OBn+OCs+ODnuODs+ODieOBruOCueODhuODvOOCv+OCueOCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxNDk1CisjOiBidWlsdGlucy5jOjE1MTEKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKICIgICAgXG4iCkBAIC0zNTE0LDggKzQ1NjgsMjEgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgorIueul+ihkyBmb3Ig44Or44O844OXXG4iCisiICAgIFxuIgorIiAgICDku6XkuIvjgajnrYnkvqHjgafjgZnjgIJcbiIKKyIgICAgXHQoKCBFWFAxICkpXG4iCisiICAgIFx0d2hpbGUgKCggRVhQMiApKTsgZG9cbiIKKyIgICAgXHRcdENPTU1BTkRTXG4iCisiICAgIFx0XHQoKCBFWFAzICkpXG4iCisiICAgIFx0ZG9uZVxuIgorIiAgICBFWFAx44CBRVhQMuOAgeOBiuOCiOOBsyBFWFAzIOOBr+aVsOW8j+OBp+OBmeOAguOBhOOBmuOCjOOBi+OBruaVsOW8j+OCkuecgeeVpeOBl+OBn+WgtOWQiOOAgVxuIgorIiAgICDlgKTjgYwgMSDjgafjgYLjgovjgajjgZfjgaboqZXkvqHjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg5pyA5b6M44Gr5a6f6KGM44GX44Gf44Kz44Oe44Oz44OJ44Gu44K544OG44O844K/44K544KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjE1MTMKKyM6IGJ1aWx0aW5zLmM6MTUyOQogbXNnaWQgIiIKICJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzUzNCw4ICs0NjAxLDI0IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKKyJTZWxlY3Qgd29yZHMgZnJvbSBhIGxpc3QgYW5kIGV4ZWN1dGUgY29tbWFuZHMuXG4iCisiICAgIFxuIgorIiAgICBUaGUgV09SRFMgYXJlIGV4cGFuZGVkLCBnZW5lcmF0aW5nIGEgbGlzdCBvZiB3b3Jkcy4gIFRoZVxuIgorIiAgICBzZXQgb2YgZXhwYW5kZWQgd29yZHMgaXMgcHJpbnRlZCBvbiB0aGUgc3RhbmRhcmQgZXJyb3IsIGVhY2hcbiIKKyIgICAgcHJlY2VkZWQgYnkgYSBudW1iZXIuICBJZiBgaW4gV09SRFMnIGlzIG5vdCBwcmVzZW50LCBgaW4gXCIkQFwiJ1xuIgorIiAgICBpcyBhc3N1bWVkLiAgVGhlIFBTMyBwcm9tcHQgaXMgdGhlbiBkaXNwbGF5ZWQgYW5kIGEgbGluZSByZWFkXG4iCisiICAgIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0LiAgSWYgdGhlIGxpbmUgY29uc2lzdHMgb2YgdGhlIG51bWJlclxuIgorIiAgICBjb3JyZXNwb25kaW5nIHRvIG9uZSBvZiB0aGUgZGlzcGxheWVkIHdvcmRzLCB0aGVuIE5BTUUgaXMgc2V0XG4iCisiICAgIHRvIHRoYXQgd29yZC4gIElmIHRoZSBsaW5lIGlzIGVtcHR5LCBXT1JEUyBhbmQgdGhlIHByb21wdCBhcmVcbiIKKyIgICAgcmVkaXNwbGF5ZWQuICBJZiBFT0YgaXMgcmVhZCwgdGhlIGNvbW1hbmQgY29tcGxldGVzLiAgQW55IG90aGVyXG4iCisiICAgIHZhbHVlIHJlYWQgY2F1c2VzIE5BTUUgdG8gYmUgc2V0IHRvIG51bGwuICBUaGUgbGluZSByZWFkIGlzIHNhdmVkXG4iCisiICAgIGluIHRoZSB2YXJpYWJsZSBSRVBMWS4gIENPTU1BTkRTIGFyZSBleGVjdXRlZCBhZnRlciBlYWNoIHNlbGVjdGlvblxuIgorIiAgICB1bnRpbCBhIGJyZWFrIGNvbW1hbmQgaXMgZXhlY3V0ZWQuXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOacgOW+jOOBq+Wun+ihjOOBl+OBn+OCs+ODnuODs+ODieOBruOCueODhuODvOOCv+OCueOCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxNTM0CisjOiBidWlsdGlucy5jOjE1NTAKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU1MCw4ICs0NjMzLDIwIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgcmV0dXJuIHN0YXR1cyBvZiBQSVBFTElORS4iCiBtc2dzdHIgIiIKKyLjg5HjgqTjg5fjg6njgqTjg7PjgpLlrp/ooYzjgZnjgovmmYLjgavmtojosrvjgZXjgozjgZ/mmYLplpPjgpLloLHlkYrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIFBJUEVMSU5FIOOCkuWun+ihjOOBl+OAgee1guS6huaZguOBqyBQSVBFTElORSDjgpLlrp/ooYzjgZnjgovjgZ/jgoHjgavosrvjgoTjgZXjgozjgZ/lrp9cbiIKKyIgICAg5pmC6ZaT44CB44Om44O844K244O8IENQVSDmmYLplpPjgIHjgYrjgojjgbPjgrfjgrnjg4bjg6AgQ1BVIOaZgumWk+OBruimgee0hOOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1wXHTnp7vmpI3mgKfjga7jgYLjgosgUG9zaXgg5b2i5byP44Gn5pmC6ZaT44Gu6KaB57SE44KS6KGo56S644GX44G+44GZXG4iCisiICAgIFxuIgorIiAgICDlpInmlbAgVElNRUZPUk1BVCDjga7lgKTjgYzlh7rlipvjga7lvaLlvI/jgajjgZfjgabkvb/nlKjjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAgUElQRUxJTkUg44Gu5oi744KK5YCk44GM57WC5LqG44K544OG44O844K/44K544Go44Gq44KK44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjE1NTEKKyM6IGJ1aWx0aW5zLmM6MTU2NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCiAiICAgIFxuIgpAQCAtMzU2MSw4ICs0NjU2LDE2IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKKyLjg5Hjgr/jg7zjg7PkuIDoh7Tjga7ntZDmnpzjgavln7rjgaXjgYTjgabjgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIFdPUkQg44GMIFBBVFRFUk4g44Gr5LiA6Ie044GZ44KL44GL44Gp44GG44GL44Gr5Z+644Gl44GE44Gm6YG45oqe55qE44GrIENPTU1BTkRTIOOCkuWun+ihjOOBl+OBviIKKyLjgZnjgIJcbiIKKyIgICAg6KSH5pWw44Gu44OR44K/44O844Oz44KS5Yy65YiH44KL44Gf44KB44GrIGB8JyDjgYzkvb/nlKjjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg5pyA5b6M44Gr5a6f6KGM44GX44Gf44Kz44Oe44Oz44OJ44Gu44K544OG44O844K/44K544KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjE1NjMKKyM6IGJ1aWx0aW5zLmM6MTU3OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTM1ODIsOCArNDY4NSwyMiBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCisi5p2h5Lu244Gr5b6T44Gj44Gm44Kz44Oe44Oz44OJ44KS5a6f6KGM44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBgaWYgQ09NTUFORFMnIOOCkuWun+ihjOOBl+OBvuOBmeOAguOBk+OBrue1guS6huOCueODhuODvOOCv+OCueOBjCAwIOOBruWgtOWQiOOAgWB0aGVuICIKKyJDT01NQU5EUydcbiIKKyIgICAg44KS5a6f6KGM44GX44G+44GZ44CC44Gd44GG44Gn44Gq44GE5aC05ZCI44Gv44CB5ZCEIGBlbGlmIENPTU1BTkRTJyDjgpLpoIbnlarjgavlrp/ooYzjgZfjgIHjgZ3jga5cbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K544GMIDAg44Gu44Gu5aC05ZCI44Gr44CB6Zai6YCj44GX44GfIGB0aGVuIENPTU1BTkRTJyDjgpLlrp/ooYzjgZfjgIFpZiDmlociCisi44GMXG4iCisiICAgIOWujOS6huOBl+OBvuOBmeOAguOBneOCjOS7peWkluOBruWgtOWQiOOAgSBgZWxzZSBDT01NQU5EUycg44GM5a2Y5Zyo44GZ44KL5aC05ZCI44Gr44Gv5a6f6KGM44GV44KMXG4iCisiICAgIOOBvuOBmeOAguaWh+WFqOS9k+OBrue1guS6huOCueODhuODvOOCv+OCueOBr+OAgeacgOW+jOOBq+Wun+ihjOOBl+OBn+OCs+ODnuODs+ODieOBrue1guS6huOCueODhuODvOOCv+OCuSIKKyLjgYvjgIFcbiIKKyIgICAg44G+44Gf44Gv44CB44OG44K544OI44GX44Gf5p2h5Lu244GrIHRydWUg44Go44Gq44KL44KC44Gu44GM54Sh44GE5aC05ZCI44GvIDAg44Gn44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOacgOW+jOOBq+Wun+ihjOOBl+OBn+OCs+ODnuODs+ODieOBrue1guS6huOCueODhuODvOOCv+OCueOCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCisjOiBidWlsdGlucy5jOjE1OTYKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC0zNTkzLDggKzQ3MTAsMTUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgorIuODhuOCueODiOOBjOaIkOWKn+OBmeOCi+mZkOOCiuOCs+ODnuODs+ODieOCkuWun+ihjOOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAgYHdoaWxlJyBDT01NQU5EUyDjgavjgYLjgovmnIDlvozjga7jgrPjg57jg7Pjg4njga7ntYLkuobjgrnjg4bjg7zjgr/jgrnjgYwgMCDjgafjgYLjgovplpMgXG4iCisiICAgICBDT01NQU5EUyDjgpLlsZXplovjgZfjgablrp/ooYzjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg5pyA5b6M44Gr5a6f6KGM44GX44Gf44Kz44Oe44Oz44OJ44Gu44K544OG44O844K/44K544KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjE1OTIKKyM6IGJ1aWx0aW5zLmM6MTYwOAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtMzYwNCw4ICs0NzI4LDE1IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKKyLjg4bjgrnjg4jjgYzlpLHmlZfjgZnjgovpmZDjgorjgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIGB1bnRpbCcgQ09NTUFORFMg44Gr44GC44KL5pyA5b6M44Gu44Kz44Oe44Oz44OJ44Gu57WC5LqG44K544OG44O844K/44K544GMIDAg44Gn44Gq44GE6ZaTXG4iCisiICAgICBDT01NQU5EUyDjgpLlsZXplovjgZfjgablrp/ooYzjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg5pyA5b6M44Gr5a6f6KGM44GX44Gf44Kz44Oe44Oz44OJ44Gu44K544OG44O844K/44K544KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjE2MDQKKyM6IGJ1aWx0aW5zLmM6MTYyMAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC0zNjE3LDggKzQ3NDgsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCisiTkFNRSDjgajjgYTjgYblkI3liY3jga7pnZ7lkIzmnJ/jg5fjg63jgrvjgrnjgpLkvZzmiJDjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIENPTU1BTkQg44KS6Z2e5ZCM5pyf44Gn5a6f6KGM44GX44G+44GZ44CC44Kz44Oe44Oz44OJ44Gu5qiZ5rqW5Ye65Yqb44GK44KI44Gz5qiZ5rqW5YWl5Yqb44Gv5a6f6KGMXG4iCisiICAgIOOBl+OBpuOBhOOCi+OCt+OCp+ODq+OBruOCpOODs+ODh+ODg+OCr+OCueWei+mFjeWIl+WkieaVsCBOQU1FIOOBruimgee0oOa3u+WtlyAw44CBMSDjgavoqK3lrppcbiIKKyIgICAg44GV44KM44KL44OV44Kh44Kk44Or6KiY6L+w5a2Q44G444Gu44OR44Kk44OX44Go44GX44Gm5o6l57aa44GV44KM44G+44GZ44CCXG4iCisiICAgIOODh+ODleOCqeODq+ODiOOBriBOQU1FIOOBryBcIkNPUFJPQ1wiIOOBp+OBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICBDT01NQU5EIOOBrue1guS6huOCueODhuODvOOCv+OCueOCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxNjE4CisjOiBidWlsdGlucy5jOjE2MzQKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2MzEsOCArNDc3MSwxOSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKIG1zZ3N0ciAiIgorIuOCt+OCp+ODq+mWouaVsOOCkuWumue+qeOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAgTkFNRSDjgajjgYTjgYblkI3liY3jga7jgrfjgqfjg6vplqLmlbDjgpLkvZzmiJDjgZfjgb7jgZnjgILljZjjgavjgrPjg57jg7Pjg4njgajjgZfjgabotbfli5XjgZXjgozjgZ/mmYIiCisi44GvXG4iCisiICAgIE5BTUUg44GvIENPTU1BTkRzIOOCkuOCt+OCp+ODq+OBruOCs+ODs+ODhuOCreOCueODiOWGheOBp+WRvOOBs+WHuuOBl+OBvuOBmeOAgk5BTUUg44KS6LW35YuV44GXIgorIuOBn1xuIgorIiAgICDmmYLjgavlvJXmlbDjga/plqLmlbDjgasgJDEuLi4kbiDjgajjgYTjgYbkvY3nva7jg5Hjg6njg6Hjg7zjgr/jg7zjgafjgIHplqLmlbDlkI3jga8gJEZVTkNOQU1FXG4iCisiICAgIOWkieaVsOOBqOOBl+OBpua4oeOBleOCjOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICBOQU1FIOOBjOiqreOBv+WPluOCiuWwgueUqOOBp+OBquOBhOmZkOOCiuaIkOWKn+OCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCisjOiBidWlsdGlucy5jOjE2NDgKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTM2NDIsOCArNDc5MywxNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCisi6KSH5pWw44Gu44Kz44Oe44Oz44OJ44KS5LiA44Gk44Gr44Kw44Or44O844OX5YyW44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDopIfmlbDjga7jgrPjg57jg7Pjg4njgpLjgrDjg6vjg7zjg5fjgavjgZfjgaYx44K744OD44OI44Go44GX44Gm5a6f6KGM44GX44G+44GZ44CC44GT44KM44Gv44Kz44Oe44Oz44OJXG4iCisiICAgIOOBruOCu+ODg+ODiOWFqOS9k+OCkuODquODgOOCpOODrOOCr+ODiOOBmeOCi+S4gOOBpOOBruaWueazleOBp+OBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDmnIDlvozjgavlrp/ooYzjgZfjgZ/jgrPjg57jg7Pjg4njga7jgrnjg4bjg7zjgr/jgrnjgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY0NAorIzogYnVpbHRpbnMuYzoxNjYwCiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zNjU2LDggKzQ4MTQsMTcgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgogbXNnc3RyICIiCisi44K444On44OW44KS44OV44Kp44Ki44Kw44Op44Km44Oz44OJ44Gn5YaN6ZaL44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBgZmcnIOOCs+ODnuODs+ODieOBruW8leaVsOOBqOOBl+OBpuS4juOBiOOCiyBKT0JfU1BFQyDjgajnrYnkvqHjgafjgZnjgILlgZzmraLjgb7jgZ/jga9cbiIKKyIgICAg44OQ44OD44Kv44Kw44Op44Km44Oz44OJ44Gu44K444On44OW44KS5YaN6ZaL44GX44G+44GZ44CCSk9CX1NQRUMg44Gv44K444On44OW5ZCN44G+44Gf44GvXG4iCisiICAgIOOCuOODp+ODlueVquWPt+OBp+aMh+WumuOBl+OBvuOBmeOAgkpPQl9TUEVDIOOBruW+jOOBqyBgJicg44KS57aa44GR44KL44Go44CBYGJnJyDjga5cbiIKKyIgICAg5byV5pWw44Go44GX44Gm5LiO44GI44KJ44KM44Gf44KI44GG44Gr44K444On44OW44KS44OQ44OD44Kv44Kw44Op44Km44Oz44OJ44Gr44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOWGjemWi+OBleOCjOOBn+OCuOODp+ODluOBrue1guS6huOCueODhuODvOOCv+OCueOCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxNjU5CisjOiBidWlsdGlucy5jOjE2NzUKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTM2NjcsOCArNDgzNCwxNSBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCisi566X6KGT5byP44KS6KmV5L6h44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDnrpfooZPlvI/jga7opo/lrprjgavln7rjgaXjgYTjgaYgRVhQUkVTU0lPTiDjgpLoqZXkvqHjgZfjgb7jgZnjgIJcImxldCBFWFBSRVNTSU9OXCJcbiIKKyIgICAg44Go562J5L6h44Gn44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIEVYUFJFU1NJT04g44Gu6KmV5L6h5YCk44GMIDAg44Gu5aC05ZCI44GvIDHjgIHjgZ3jgozku6XlpJbjga8gMCDjgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY3MQorIzogYnVpbHRpbnMuYzoxNjg3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zNjk1LDggKzQ4NjksMzUgQEAKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIDAgb3IgMSBkZXBlbmRpbmcgb24gdmFsdWUgb2YgRVhQUkVTU0lPTi4iCiBtc2dzdHIgIiIKKyLmnaHku7blvI/jga7jgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOadoeS7tuW8jyBFWFBSRVNTSU9OIOOBruipleS+oee1kOaenOOBq+WfuuOBpeOBhOOBpiAwIOOBvuOBn+OBryAxIOOCkui/lOOBl+OBvuOBmeOAglxuIgorIiAgICDmnaHku7blvI/jga8gdGVzdCDntYTjgb/ovrzjgb/plqLmlbDjgajlkIzjgZjlhKrlhYjpoIbkvY3jgafntYTjgb/lkIjjgo/jgZXjgozjgb7jgZnjgILjgb7jgZ/jgIFcbiIKKyIgICAg5qyh44Gu5ryU566X5a2Q44Go44KC57WE44G/5ZCI44KP44GV44KM44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICAgICggRVhQUkVTU0lPTiApXHRFWFBSRVNTSU9OIOOBruWApOOCkui/lOOBl+OBvuOBmVxuIgorIiAgICAgICEgRVhQUkVTU0lPTlx0XHRFWFBSRVNTSU9OIOOBjCB0cnVlIOOBruaZgiBmYWxzZSDjgpLov5TjgZfjgb7jgZnjgILjgZ3jgoxcbiIKKyIgICAgICAgICAgICAgICAgICBcdFx05Lul5aSW44GvIGZhbHNlIOOCkui/lOOBl+OBvuOBmVxuIgorIiAgICAgIEVYUFIxICYmIEVYUFIyXHRFWFBSMSDjgYrjgojjgbMgRVhQUjIg44Gu5Lih5pa544GMIHRydWUg44Gu5pmCIHRydWUg44KS6L+U44GX44G+IgorIuOBmeOAglxuIgorIiAgICAgIFx044Gd44KM5Lul5aSW44GvIGZhbHNlIOOCkui/lOOBl+OBvuOBmeOAglxuIgorIiAgICAgIEVYUFIxIHx8IEVYUFIyXHRFWFBSMSDjgYrjgojjgbMgRVhQUjIg44Gu44GE44Ga44KM44GL44GMIHRydWUg44Gu5pmCIHRydWUg44KS6L+U44GXXG4iCisiICAgICAgXHTjgb7jgZnjgILjgZ3jgozku6XlpJbjga8gZmFsc2Ug44KS6L+U44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBgPT0nIOOBiuOCiOOBsyBgIT0nIOa8lOeul+WtkOOBjOS9v+eUqOOBleOCjOOBn+WgtOWQiOOAgea8lOeul+WtkOOBruWPs+WBtOOBruaWh+Wtl+WIl+OCkuODkeOCv+ODvOODsyIKKyLjgahcbiIKKyIgICAg44GX44Gf5bem5YG044Gu5paH5a2X5YiX44Gr5a++44GZ44KL44OR44K/44O844Oz5LiA6Ie05Yem55CG44GM6KGM44KP44KM44G+44GZ44CCXG4iCisiICAgIGA9ficg5ryU566X5a2Q44GM5L2/55So44GV44KM44Gf5aC05ZCI44CB5ryU566X5a2Q44Gu5Y+z5YG044Gu5paH5a2X5YiX44GM5q2j6KaP6KGo54++44Go44GX44Gm5omx44KP44KMIgorIuOBvlxuIgorIiAgICDjgZnjgIJcbiIKKyIgICAgXG4iCisiICAgICYmIOOBiuOCiOOBsyB8fCDmvJTnrpflrZDjga8gRVhQUjEg44Gn5byP44Gu5YCk44KS5rG65a6a44GZ44KL44Gu44Gr5Y2B5YiG44Gq5aC05ZCI44GvIEVYUFIyIOOCklxuIgorIiAgICDoqZXkvqHjgZfjgb7jgZvjgpPjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAgRVhQUkVTU0lPTiDjga7lgKTjgavln7rjgaXjgYTjgaYgMCDjgb7jgZ/jga8gMSDjgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NworIzogYnVpbHRpbnMuYzoxNzEzCiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtMzc0OSw4ICs0OTUwLDU1IEBACiAiICAgIEhJU1RJR05PUkVcdEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgdXNlZCB0byBkZWNpZGUgd2hpY2hcbiIKICIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgogbXNnc3RyICIiCisi6YCa5bi444Gu5aSJ5pWw5ZCN44Go44Gd44Gu5L2/55So5rOV44CCXG4iCisiICAgIFxuIgorIiAgICBCQVNIX1ZFUlNJT05cdEJhc2jjga7jg5Djg7zjgrjjg6fjg7Pmg4XloLHjgIJcbiIKKyIgICAgQ0RQQVRIXHRgY2Rg44Gu5byV5pWw44Go44GX44Gm5LiO44GI44KJ44KM44Gf44OH44Kj44Os44Kv44OI44Oq44KS5qSc57Si44GZ44KL6Zqb44GrXG4iCisiICAgIFx0XHTkvb/nlKjjgZXjgozjgovjgrPjg63jg7MgKDopIOOBp+WMuuWIh+OCieOCjOOBn+ODh+OCo+ODrOOCr+ODiOODquOBruS4gOimp+OAglxuIgorIiAgICBHTE9CSUdOT1JFXHTjg5HjgrnlkI3jgpLlsZXplovjgZnjgovmmYLjgavnhKHoppbjgZXjgozjgovjgrPjg63jg7MgKDopIOOBp+WMuuWIh+OCieOCjOOBn1xuIgorIiAgICBcdFx044OV44Kh44Kk44Or5ZCN44OR44K/44O844Oz44Gu5LiA6Kan44CCXG4iCisiICAgIEhJU1RGSUxFXHTjgrPjg57jg7Pjg4njg5Ljgrnjg4jjg6rjgYzkv53lrZjjgZXjgozjgovjg5XjgqHjgqTjg6vlkI3jgIJcbiIKKyIgICAgSElTVEZJTEVTSVpFXHTjg5Ljgrnjg4jjg6rjg5XjgqHjgqTjg6vjgavkv53lrZjjgZnjgovjgZPjgajjgYzjgafjgY3jgovmnIDlpKfooYzmlbDjgIJcbiIKKyIgICAgSElTVFNJWkVcdOWun+ihjOS4reOBruOCt+OCp+ODq+OBjOOCouOCr+OCu+OCueOBp+OBjeOCi+acgOWkp+ODkuOCueODiOODquihjOaVsOOAglxuIgorIiAgICBIT01FXHTjg63jgrDjgqTjg7Pjg4fjgqPjg6zjgq/jg4jjg6rjga7lrozlhajjg5HjgrnlkI3jgIJcbiIKKyIgICAgSE9TVE5BTUVcdOePvuWcqOOBruODm+OCueODiOWQjeOAglxuIgorIiAgICBIT1NUVFlQRVx044GT44Gu44OQ44O844K444On44Oz44GuIEJhc2gg44KS5a6f6KGM44GX44Gm44GE44KLIENQVSDjga7nqK7poZ7jgIJcbiIKKyIgICAgSUdOT1JFRU9GXHTjgrfjgqfjg6vjgYzjg5XjgqHjgqTjg6vntYLkuoYgKEVPRikg5paH5a2X44KS5Y2Y5LiA44Gu5YWl5Yqb44Go44GX44Gm5Y+X44GRXG4iCisiICAgIFx0XHTlj5bjgaPjgZ/mmYLjga7li5XkvZzjgpLliLblvqHjgZfjgb7jgZnjgILoqK3lrprjgZXjgozjgabjgYTjgovloLTlkIjjgIHnqbrnmb3ooYxcbiIKKyIgICAgXHRcdOOBpyBFT0Yg5paH5a2X44KS44Gd44Gu5pWw6YCj57aa44GX44Gm5Y+X44GR5Y+W44Gj44Gf5pmC44Gr44K344Kn44Or44KS57WC5LqGXG4iCisiICAgIFx0XHTjgZfjgb7jgZkgKOODh+ODleOCqeODq+ODiCAxMCnjgILoqK3lrprjgYzop6PpmaTjgZXjgozjgZ/loLTlkIjjgIFFT0Yg44GnXG4iCisiICAgIFx0XHTlhaXlipvjgYzntYLkuobjgZnjgovjgZPjgajjgpLmhI/lkbPjgZfjgb7jgZnjgIJcbiIKKyIgICAgTUFDSFRZUEVcdEJhc2gg44GM5a6f6KGM44GV44KM44Gm44GE44KL54++5Zyo44Gu44K344K544OG44Og44KS6KGo44GZ5paH5a2X5YiX44CCXG4iCisiICAgIE1BSUxDSEVDS1x0QmFzaCDjgYzjg6Hjg7zjg6vjgpLnorroqo3jgZnjgovpoLvluqYgKOenkuWNmOS9jSnjgIJcbiIKKyIgICAgTUFJTFBBVEhcdEJhc2gg44GM5paw6KaP44Oh44O844Or44KS56K66KqN44GZ44KL44Kz44Ot44OzICg6KSDjgafljLrliIfjgonjgozjgZ9cbiIKKyIgICAgXHRcdOODleOCoeOCpOODq+WQjeOBruS4gOimp+OAglxuIgorIiAgICBPU1RZUEVcdOOBk+OBruODkOODvOOCuOODp+ODs+OBriBCYXNoIOOCkuWun+ihjOOBl+OBpuOBhOOCiyBPUyDjga7jg5Djg7zjgrjjg6fjg7PjgIJcbiIKKyIgICAgUEFUSFx044Kz44Oe44Oz44OJ44KS5qSc57Si44GZ44KL6Zqb44Gr5L2/55So44GV44KM44KL44Kz44Ot44OzICg6KSDjgafljLrliIfjgolcbiIKKyIgICAgXHRcdOOCjOOBn+ODh+OCo+ODrOOCr+ODiOODquOBruS4gOimp+OAglxuIgorIiAgICBQUk9NUFRfQ09NTUFORFx044OX44Op44Kk44Oe44Oq44OX44Ot44Oz44OX44OI44GM6KGo56S644GV44KM44KL5YmN44Gr5q+O5Zue5a6f6KGMXG4iCisiICAgIFx0XHTjgZXjgozjgovjgrPjg57jg7Pjg4njgIJcbiIKKyIgICAgUFMxXHRcdOODl+ODqeOCpOODnuODquODl+ODreODs+ODl+ODiOaWh+Wtl+WIl+OAglxuIgorIiAgICBQUzJcdFx044K744Kr44Oz44OA44Oq44OX44Ot44Oz44OX44OI5paH5a2X5YiX44CCXG4iCisiICAgIFBXRFx0XHTnj77lnKjjga7jg4fjgqPjg6zjgq/jg4jjg6rjga7lrozlhajjg5HjgrnlkI3jgIJcbiIKKyIgICAgU0hFTExPUFRTXHTjgrPjg63jg7MgKDopIOOBp+WMuuWIh+OCieOCjOOBn+acieWKueOBquOCt+OCp+ODq+OCquODl+OCt+ODp+ODs+S4gOimp+OAglxuIgorIiAgICBURVJNXHTnj77lnKjjga7nq6/mnKvnqK7poZ7lkI3jgIJcbiIKKyIgICAgVElNRUZPUk1BVFx0YHRpbWUnIOS6iOe0hOiqnuOBq+OCiOOCi+aZgumWk+e1seioiOaDheWgseOBruihqOekuuabuOW8j+OAglxuIgorIiAgICBhdXRvX3Jlc3VtZVx0bnVsbCDjgafnhKHjgYTloLTlkIjjgIHjgZ3jga7ooYzjgavnj77jgozjgZ/jgrPjg57jg7Pjg4njga/jgIHjgb7jgZrnj77lnKjlgZzmraJcbiIKKyIgICAgXHRcdOOBleOCjOOBpuOBhOOCi+OCuOODp+ODluOBi+OCieaknOe0ouOBleOCjOOBvuOBmeOAguOBneOCjOOBp+imi+OBpOOBi+OBo+OBn+WgtOWQiOOAgVxuIgorIiAgICBcdFx044K444On44OW44GM44OV44Kp44Ki44Kw44Op44Oz44OJ44Gr44Gq44KK44G+44GZ44CC5YCk44GMIGBleGFjdCcg44Gu5aC05ZCI44CBXG4iCisiICAgIFx0XHTjgrPjg57jg7Pjg4njgYzlgZzmraLjgZfjgabjgYTjgovjgrjjg6fjg5bjga7kuIDopqfjgajljrPlr4bjgavkuIDoh7TjgZfjgabjgYTjgarjgZFcbiIKKyIgICAgXHRcdOOCjOOBsOOBquOCiuOBvuOBm+OCk+OAguWApOOBjCBgc3Vic3RyaW5nJyDjga7loLTlkIjjgIHjgrPjg57jg7Pjg4njgYzjgrjjg6dcbiIKKyIgICAgXHRcdOODluOBrumDqOWIhuaWh+Wtl+WIl+OBq+S4gOiHtOOBl+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCk+OAguOBneOBruS7luOBruWApOOBrlxuIgorIiAgICBcdFx05aC05ZCI44Gv44Kz44Oe44Oz44OJ44GM5YGc5q2i44GX44Gm44GE44KL44K444On44OW44Gu5YWI6aCt6YOo5YiG44Gr5LiA6Ie044GX44GqXG4iCisiICAgIFx0XHTjgZHjgozjgbDjgarjgorjgb7jgZvjgpPjgIJcbiIKKyIgICAgaGlzdGNoYXJzXHTjg5Ljgrnjg4jjg6rlsZXplovjgajjgq/jgqTjg4Pjgq/nva7mj5vjgpLliLblvqHjgZnjgovmloflrZfjgILmnIDliJ3jga7mloflrZfjgYxcbiIKKyIgICAgXHRcdOODkuOCueODiOODquWxlemWi+OBruaWh+Wtl+OBp+mAmuW4uOOBryBgIScg44Gn44GZ44CC5LqM55Wq55uu44GM44Kv44Kk44OD44KvXG4iCisiICAgIFx0XHTnva7mj5vjgafpgJrluLjjga8gYF4nIOOBp+OBmeOAguS4ieeVquebruOBjOODkuOCueODiOODquOBruOCs+ODoeODs+ODiOOBp1xuIgorIiAgICBcdFx06YCa5bi444GvIGAjJyDjgafjgZnjgIJcbiIKKyIgICAgSElTVElHTk9SRVx044OS44K544OI44Oq5LiA6Kan44Gr5L+d5a2Y44GV44KM44KL44Kz44Oe44Oz44OJ44KS5rG644KB44KL5pmC44Gr5L2/55So44GV44KM44KLXG4iCisiICAgIFx0XHTjgrPjg63jg7MgKDopIOOBp+WMuuWIh+OCieOCjOOBn+ODkeOCv+ODvOODs+OBruS4gOimp+OAglxuIgogCi0jOiBidWlsdGlucy5jOjE3NTQKKyM6IGJ1aWx0aW5zLmM6MTc3MAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzc4MCw4ICs1MDI4LDM2IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBzdXBwbGllZCBvciB0aGUgZGlyZWN0b3J5XG4iCiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKKyLjg4fjgqPjg6zjgq/jg4jjg6rjgpLjg4fjgqPjg6zjgq/jg4jjg6rjgrnjgr/jg4Pjgq/jgavliqDjgYjjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOODh+OCo+ODrOOCr+ODiOODquOCkuODh+OCo+ODrOOCr+ODiOODquOCueOCv+ODg+OCr+OBruWFiOmgreOBq+WKoOOBiOOCi+OAgeOBvuOBn+OBr+ODh+OCo+ODrFxuIgorIiAgICDjgq/jg4jjg6rjgpLlm57ou6LjgZfjgabjgqvjg6zjg7Pjg4jjg4fjgqPjg6zjgq/jg4jjg6rjgYzjgrnjgr/jg4Pjgq/jga7lhYjpoK3jgavjgarjgovjgojjgYZcbiIKKyIgICAg44Gr44GX44G+44GZ44CC5byV5pWw44GM44Gq44GE5aC05ZCI44CB5YWI6aCt44Gu5LqM44Gk44Gu44OH44Kj44Os44Kv44OI44Oq44KS5YWl44KM5pu/44GI44G+XG4iCisiICAgIOOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1uXHTjgrnjgr/jg4Pjgq/jgavliqDjgYjjgZ/mmYLjgIHpgJrluLjjga7jg4fjgqPjg6zjgq/jg4jjg6rlpInmm7TjgpLmipHmraLjgZdcbiIKKyIgICAgXHTjgb7jgZnjgILjgojjgaPjgabjgrnjgr/jg4Pjgq/jga7jgb/mk43kvZzjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOW8leaVsDpcbiIKKyIgICAgICArTlx0TiDnlarnm67jga7jg4fjgqPjg6zjgq/jg4jjg6rjgYzlhYjpoK3jgavjgarjgovjgojjgYbjgrnjgr/jg4Pjgq/jgpLlm57ou6JcbiIKKyIgICAgXHTjgZfjgb7jgZkgKGBkaXJzJyDjgafooajnpLrjgZXjgozjgovkuIDopqfjga7lt6bjgYvjgonmlbDjgYjjgb7jgZnjgILplovlp4vnlarlj7dcbiIKKyIgICAgXHTjga8gMCDjgafjgZkp44CCXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHROIOeVquebruOBruODh+OCo+ODrOOCr+ODiOODquOBjOWFiOmgreOBq+OBquOCi+OCiOOBhuOCueOCv+ODg+OCr+OCkuWbnui7olxuIgorIiAgICBcdOOBl+OBvuOBmSAoYGRpcnMnIOOBp+ihqOekuuOBleOCjOOCi+S4gOimp+OBruWPs+OBi+OCieaVsOOBiOOBvuOBmeOAgumWi+Wni+eVquWPt1xuIgorIiAgICBcdOOBryAwIOOBp+OBmSnjgIJcbiIKKyIgICAgXG4iCisiICAgICAgZGlyXHRESVIg44KS44OH44Kj44Os44Kv44OI44Oq44K544K/44OD44Kv44Gu5YWI6aCt44Gr5Yqg44GI44CB44Kr44Os44Oz44OIXG4iCisiICAgIFx044OH44Kj44Os44Kv44OI44Oq44Gr44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBgZGlycycg57WE44G/6L6844G/6Zai5pWw44Gn44OH44Kj44Os44Kv44OI44Oq44K544K/44OD44Kv44KS6KGo56S644GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOeEoeWKueOBquW8leaVsOOBjOS4juOBiOOCieOCjOOCi+OBi+ODh+OCo+ODrOOCr+ODiOODquWkieabtOOBjOWkseaVl+OBl+OBquOBhOmZkOOCiuaIkOWKn+OCklxuIgorIiAgICDov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc4OAorIzogYnVpbHRpbnMuYzoxODA0CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM4MDcsOCArNTA4MywzMiBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgYXJndW1lbnQgaXMgc3VwcGxpZWQgb3IgdGhlIGRpcmVjdG9yeVxuIgogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCisi44OH44Kj44Os44Kv44OI44Oq44K544K/44OD44Kv44GL44KJ44OH44Kj44Os44Kv44OI44Oq44KS5YmK6Zmk44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjg4fjgqPjg6zjgq/jg4jjg6rjgrnjgr/jg4Pjgq/jgYvjgonopoHntKDjgpLliYrpmaTjgZfjgb7jgZnjgILlvJXmlbDjgYzjgarjgYTloLTlkIjjgIHjg4fjgqPjg6zjgq/jg4jjg6pcbiIKKyIgICAg44K544K/44OD44Kv44Gu5YWI6aCt44GL44KJ5YmK6Zmk44GX44CB5paw44GX44GE44K544K/44OD44Kv5YWI6aCt44Gu44OH44Kj44Os44Kv44OI44Oq44Gr56e75YuV44GX44G+IgorIuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1uXHTjgrnjgr/jg4Pjgq/jgYvjgonjg4fjgqPjg6zjgq/jg4jjg6rjgpLliYrpmaTjgZfjgZ/mmYLjgIHpgJrluLjjga7jg4fjgqPjg6zjgq/jg4jjg6rlpIlcbiIKKyIgICAgXHTmm7TjgpLmipHmraLjgZfjgb7jgZnjgILjgojjgaPjgabjgrnjgr/jg4Pjgq/jga7jgb/mk43kvZzjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOW8leaVsDpcbiIKKyIgICAgICArTlx0YGRpcnMnIOOBp+ihqOekuuOBleOCjOOCi+S4gOimp+OBruW3puOBi+OCieaVsOOBiOOBpiBOIOeVquebruOBruimgee0oOOCkuWJiumZpOOBl1xuIgorIiAgICBcdOOBvuOBmeOAgumWi+Wni+eVquWPt+OBryAwIOOBp+OBmeOAguS+i+OBiOOBsOOAgWBwb3BkICswJyDjga/lhYjpoK3jga7jg4fjgqPjg6zjgq/jg4jjg6rjgpJcbiIKKyIgICAgXHTliYrpmaTjgZfjgb7jgZnjgIJgcG9wZCArMScg44Gv5LqM55Wq55uu44Gn44GZ44CCXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHRgZGlycycg44Gn6KGo56S644GV44KM44KL5LiA6Kan44Gu5Y+z44GL44KJ5pWw44GI44GmIE4g55Wq55uu44Gu6KaB57Sg44KS5YmK6Zmk44GXXG4iCisiICAgIFx044G+44GZ44CC6ZaL5aeL55Wq5Y+344GvIDAg44Gn44GZ44CC5L6L44GI44Gw44CBYHBvcGQgLTAnIOOBr+acgOW+jOOBruODh+OCo+ODrOOCr+ODiOODquOCklxuIgorIiAgICBcdOWJiumZpOOBl+OBvuOBmeOAgmBwb3BkIC0xJyDjga/mnIDlvozjgYvjgonkuoznlarnm67jgafjgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIGBkaXJzJyDntYTjgb/ovrzjgb/plqLmlbDjgafjg4fjgqPjg6zjgq/jg4jjg6rjgrnjgr/jg4Pjgq/jgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg54Sh5Yq544Gq5byV5pWw44GM5LiO44GI44KJ44KM44KL44GL44OH44Kj44Os44Kv44OI44Oq5aSJ5pu044GM5aSx5pWX44GX44Gq44GE6ZmQ44KK5oiQ5Yqf44KSXG4iCisiICAgIOi/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxODE4CisjOiBidWlsdGlucy5jOjE4MzQKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzgzNiw4ICs1MTM2LDMxIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyLjg4fjgqPjg6zjgq/jg4jjg6rjgrnjgr/jg4Pjgq/jgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOePvuWcqOiomOaGtuOBleOCjOOBpuOBhOOCi+ODh+OCo+ODrOOCr+ODiOODquS4gOimp+OCkuihqOekuuOBl+OBvuOBmeOAguODh+OCo+ODrOOCr+ODiOODquOBryBgcHVzaGQnXG4iCisiICAgIOOCs+ODnuODs+ODieOCkuS9v+eUqOOBl+OBpuS4gOimp+OBq+i/veWKoOOBleOCjOOAgWBwb3BkJyDjgrPjg57jg7Pjg4njgpLpgJrjgZfjgabkuIDopqfjgYvjgonlj5bjgopcbiIKKyIgICAg5oi744GV44KM44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLWNcdOWFqOOBpuOBruimgee0oOOCkuWJiumZpOOBl+OBpuODh+OCo+ODrOOCr+ODiOODquOCueOCv+ODg+OCr+OCkuepuuOBq+OBl+OBvuOBmVxuIgorIiAgICAgIC1sXHTjg5vjg7zjg6Djg4fjgqPjg6zjgq/jg4jjg6rjgYvjgonjga7nm7jlr77jg5HjgrnjgpIgfiDjgpLlhYjpoK3jgavjgZfjgZ/lvaLlvI/jgadcbiIKKyIgICAgXHTooajnpLrjgZfjgb7jgZvjgpNcbiIKKyIgICAgICAtcFx05LiA6KGM44Gr5LiA44Gk44Gu44OH44Kj44Os44Kv44OI44Oq44K544K/44OD44Kv6KaB57Sg44KS6KGo56S644GX44G+44GZXG4iCisiICAgICAgLXZcdOS4gOihjOOBq+S4gOOBpOOBruODh+OCo+ODrOOCr+ODiOODquOCueOCv+ODg+OCr+imgee0oOOCkuS9jee9ruOBq+mWouOBmeOCi+eVquWPt1xuIgorIiAgICBcdOOCkuOBpOOBkeOBpuihqOekuuOBl+OBvuOBmVxuIgorIiAgICBcbiIKKyIgICAg5byV5pWwOlxuIgorIiAgICAgICtOXHRkaXJzIOOCkuW8leaVsOeEoeOBl+OBp+Wun+ihjOOBl+OBn+aZguOBruS4gOimp+OBp+W3puOBi+OCieaVsOOBiOOBpiBOIOeVquebruOBrlxuIgorIiAgICBcdOimgee0oOOBruOBv+OCkuihqOekuuOBl+OBvuOBmeOAgumWi+Wni+eVquWPt+OBryAwIOOBp+OBmeOAglxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0ZGlycyDjgpLlvJXmlbDnhKHjgZfjgaflrp/ooYzjgZfjgZ/mmYLjga7kuIDopqfjgaflj7PjgYvjgonmlbDjgYjjgaYgTiDnlarnm67jga5cbiIKKyIgICAgXHTopoHntKDjga7jgb/jgpLooajnpLrjgZfjgb7jgZnjgILplovlp4vnlarlj7fjga8gMCDjgafjgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg54Sh5Yq544Gq44Kq44OX44K344On44Oz44GM5LiO44GI44KJ44KM44KL44GL44Ko44Op44O844GM55m655Sf44GX44Gq44GE6ZmQ44KK5oiQ5Yqf44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjE4NDcKKyM6IGJ1aWx0aW5zLmM6MTg2MwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzg1Nyw4ICs1MTgwLDI0IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyBpZiBPUFROQU1FIGlzIGVuYWJsZWQ7IGZhaWxzIGlmIGFuIGludmFsaWQgb3B0aW9uIGlzXG4iCiAiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgogbXNnc3RyICIiCisi44K344Kn44Or44Kq44OX44K344On44Oz44KS6Kit5a6a44CB44GK44KI44Gz6Kit5a6a6Kej6Zmk44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDlkITjgrfjgqfjg6vjgqrjg5fjgrfjg6fjg7MgT1BUTkFNRSDjga7oqK3lrprjgpLlpInmm7TjgZfjgb7jgZnjgILlvJXmlbDjgYzjgarjgYTloLTlkIjjgIHjgrfjgqfjg6tcbiIKKyIgICAg44Kq44OX44K344On44Oz5YWo44Gm44KS44CB44Gd44KM44Ge44KM6Kit5a6a44GV44KM44Gm44GE44KL44GL5ZCm44GL44KS5ZCr44KB44Gm6KGo56S644GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgICAgLW9cdHJlc3RyaWN0IE9QVE5BTUVzIHRvIHRob3NlIGRlZmluZWQgZm9yIHVzZSB3aXRoIGBzZXQgLW8nXG4iCisiICAgICAgLXBcdOOBneOCjOOBnuOCjOOBruOCt+OCp+ODq+OCquODl+OCt+ODp+ODs+OCkuOAgeeKtuaFi+OCkuWQq+OCgeOBpuihqOekuuOBl+OBvuOBmVxuIgorIiAgICAgIC1xXHTlh7rlipvjgpLmipHmraLjgZfjgb7jgZlcbiIKKyIgICAgICAtc1x0T1BUTkFNRSDjgpLjgZ3jgozjgZ7jgozmnInlirkgKOioreWumikg44Gr44GX44G+44GZXG4iCisiICAgICAgLXVcdE9QVE5BTUUg44KS44Gd44KM44Ge44KM54Sh5Yq5ICjpnZ7oqK3lrpopIOOBq+OBl+OBvuOBmVxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICBPUFROQU1FIOOBjOacieWKueOBquWgtOWQiOOBr+aIkOWKn+OCkui/lOOBl+OBvuOBmeOAgueEoeWKueOBquOCquODl+OCt+ODp+ODs+OBjOS4juOBiOOCieOCjOOBn+WgtOWQiFxuIgorIiAgICDjgb7jgZ/jga8gT1BUTkFNRSDjgYznhKHlirnjgarloLTlkIjjga/lpLHmlZfjgpLov5TjgZfjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg2OAorIzogYnVpbHRpbnMuYzoxODg0CisjLCBmdXp6eQogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC0zODgxLDE0ICs1MjIwLDQwIEBACiAiICAgIFxuIgogIiAgICAgICViXHRleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYXJndW1lbnRcbiIKICIgICAgICAlcVx0cXVvdGUgdGhlIGFyZ3VtZW50IGluIGEgd2F5IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dFxuIgorIiAgICAgICUoZm10KVQgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nIEZNVCBhcyBhICIKKyJmb3JtYXRcbiIKKyIgICAgICAgICAgICBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIHdyaXRlIG9yICIKICJhc3NpZ25tZW50XG4iCiAiICAgIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyJBUkdVTUVOVFMg44KSIEZPUk1BVCDjgafmm7jlvI/mlbTlvaLjgZfjgabooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtdiB2YXJcdOaomea6luWHuuWKm+OBq+ihqOekuuOBmeOCi+OBruOBp+OBr+OBquOBj+OAgeWHuuWKm+OCkuOCt+OCp+ODq+WkieaVsCBWQVIg44Gr5Luj5YWl44GX44G+IgorIuOBmVxuIgorIiAgICBcbiIKKyIgICAgRk9STUFUIOOBr+asoeOBrjPnqK7poZ7jga7jgqrjg5bjgrjjgqfjgq/jg4jjgpLlkKvjgoDmloflrZfliJfjgafjgZnjgILkuIDjgaTnm67jga/mma7pgJrjga7mloflrZfjgafljZgiCisi44GrXG4iCisiICAgIOaomea6luWHuuWKm+OBq+OCs+ODlOODvOOBleOCjOOBvuOBmeOAguS6jOOBpOebruOBr+OCqOOCueOCseODvOODl+aWh+Wtl+OBp+WkieaPm+OBleOCjOOBn+W+jOaomea6luWHuuWKmyIKKyLjgatcbiIKKyIgICAg44Kz44OU44O844GV44KM44G+44GZ44CC5LiJ44Gk55uu44Gv5pu45byP5oyH5a6a5paH5a2X44Gn44CB5ZCE5paH5a2X44Gv5b6M44Gr57aa44GP5byV5pWw44KS6KGo56S644GX44G+IgorIuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAgcHJpbnRmKDEpIOOBiuOCiOOBsyBwcmludGYoMykg44Gr6KiY6L+w44GV44KM44KL5qiZ5rqW44Gu5pu45byP5oyH5a6a44Gr5Yqg44GI44Gm44CBcHJpbnRmICIKKyLjga9cbiIKKyIgICAg5qyh44Gu5paH5a2X44KS6Kej6YeI44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICAgICViXHTlr77lv5zjgZnjgovlvJXmlbDjga7jg5Djg4Pjgq/jgrnjg6njg4Pjgrfjg6XjgqjjgrnjgrHjg7zjg5fmloflrZfjgpLlsZXplovjgZfjgb7jgZlcbiIKKyIgICAgICAlcVx044K344Kn44Or5YWl5Yqb44Go44GX44Gm5byV5pWw44KS44Kv44Kq44O844OI44GX44G+44GZXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOeEoeWKueOBquW8leaVsOOBjOS4juOBiOOCieOCjOOCi+OBi+OAgeabuOOBjei+vOOBv+OAgeS7o+WFpeOCqOODqeODvOOBjOeZuueUn+OBl+OBquOBhOmZkOOCiuaIkOWKn+OCkui/lOOBlyIKKyLjgb7jgZnjgIIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg5NQorIzogYnVpbHRpbnMuYzoxOTEzCiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTM5MTQsOCArNTI3OSwzMCBAQAogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCisi5byV5pWw44GMIFJlYWRsaW5lIOOBq+OCiOOBo+OBpuOBqeOBruOCiOOBhuOBq+ijnOWujOOBleOCjOOCi+OBi+OCkuaMh+WumuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg5ZCEIE5BTUUg44Gr5a++44GX44Gm44Gp44Gu44KI44GG44Gr5byV5pWw44GM6KOc5a6M44GV44KM44KL44GL44KS5oyH5a6a44GX44G+44GZ44CC44Kq44OX44K344On44Oz44GM5LiOIgorIuOBiFxuIgorIiAgICDjgonjgozjgarjgYTloLTlkIjjgIHml6LlrZjjga7oo5zlrozmjIflrprjgYzlhaXlipvjgajjgZfjgablho3liKnnlKjlj6/og73jgarlvaLlvI/jgafooajnpLrjgZXjgozjgb4iCisi44GZ44CCXG4iCisiICAgIFxuIgorIiAgICBcbiIKKyIgICAg44Kq44OX44K344On44OzOlxuIgorIiAgICAgIC1wXHTml6LlrZjjga7oo5zlrozmjIflrprjgpLlho3liKnnlKjlj6/og73jgarlvaLlvI/jgafooajnpLrjgZfjgb7jgZlcbiIKKyIgICAgICAtclx06KOc5a6M5oyH5a6aIE5BTUUg44KS5YmK6Zmk44GX44G+44GZ44CCTkFNRSDjgYzkuI7jgYjjgonjgozjgarjgYTloLTlkIjjgIHlhajjgabjga5cbiIKKyIgICAgXHToo5zlrozmjIflrprjgpLliYrpmaTjgZfjgb7jgZnjgIJcbiIKKyIgICAgICAtRFx06KOc5a6M5oyH5a6a44GM5a6a576p44GV44KM44Gm44GE44Gq44GE5pmC44Gu44Kz44Oe44Oz44OJ44Gr5a++44GZ44KL44OH44OV44Kp44Or44OI44GuXG4iCisiICAgIFx06KOc5a6M44Go5YuV5L2c44KS6YGp55So44GX44G+44GZXG4iCisiICAgICAgLUVcdFwi56m6XCIg44Kz44Oe44Oz44OJ44Gr5a++44GZ44KL6KOc5a6MICjnqbrooYzjgavlr77jgZnjgovoo5zlrozjga7oqabjgb8pIOOBqOWLleS9nFxuIgorIiAgICBcdOOCkumBqeeUqOOBl+OBvuOBmVxuIgorIiAgICBcbiIKKyIgICAg6KOc5a6M44GM6Kmm44G/44KJ44KM44Gf5pmC44CB5LiK6KiY44Kq44OX44K344On44Oz44Gu44GG44Gh5aSn5paH5a2X44Gu44Kq44OX44K344On44Oz44Gu5YuV5L2c44GMXG4iCisiICAgIOihjOOCj+OCjOOBvuOBmeOAgi1EIOOCquODl+OCt+ODp+ODs+OBryAtRSDjgqrjg5fjgrfjg6fjg7PjgojjgorlhKrlhYjjgZXjgozjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOe1guS6huOCueODhuODvOOCv+OCuTpcbiIKKyIgICAg54Sh5Yq544Gq44Kq44OX44K344On44Oz44GM5LiO44GI44KJ44KM44KL44GL44Ko44Op44O844GM55m655Sf44GX44Gq44GE6ZmQ44KK5oiQ5Yqf44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjE5MjMKKyM6IGJ1aWx0aW5zLmM6MTk0MQogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zOTI3LDE0ICs1MzE0LDI0IEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKKyLjgqrjg5fjgrfjg6fjg7Pjgavln7rjgaXjgYTjgZ/oo5zlrozlgJnoo5zjgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCt+OCp+ODq+mWouaVsOOBruS4reOBp+ijnOWujOWAmeijnOOCkuOCkueUn+aIkOOBmeOCi+OBn+OCgeOBq+S9v+eUqOOBmeOCi+OCiOOBhuOBq+aEj+Wbs+OBleOCjOOBpuOBhOOBviIKKyLjgZnjgIJcbiIKKyIgICAg44Kq44OX44K344On44Oz5byV5pWwIFdPUkQg44GM5LiO44GI44KJ44KM44Gf5aC05ZCI44CBV09SRCDjgavlr77jgZfjgabkuIDoh7TjgZfjgZ/lgJnoo5zjgYznlJ/miJBcbiIKKyIgICAg44GV44KM44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOeEoeWKueOBquOCquODl+OCt+ODp+ODs+OBjOS4juOBiOOCieOCjOOCi+OBi+OCqOODqeODvOOBjOeZuueUn+OBl+OBquOBhOmZkOOCiuaIkOWKn+OCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxOTM4CisjOiBidWlsdGlucy5jOjE5NTYKKyMsIGZ1enp5CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCiAiICAgIE1vZGlmeSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBubyBOQU1FcyBhcmUgIgogInN1cHBsaWVkLFxuIgotIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVnaW4gZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbm0sICIKKyIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlaW5nIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW4sICIKICJwcmludFxuIgogIiAgICB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUgb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbiAiCiAic3BlY2lmaWNhdGlvbi5cbiIKQEAgLTM5NTgsOCArNTM1NSwzNCBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIE5BTUUgZG9lcyBub3RcbiIKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgorIuijnOWujOOCquODl+OCt+ODp+ODs+OCkue3qOmbhuOBvuOBn+OBr+ihqOekuuOBl+OBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg5ZCEIE5BTUUg44Gr5a++44GX44Gm6KOc5a6M44Kq44OX44K344On44Oz44KS5aSJ5pu044GX44G+44GZ44CCTkFNRSDjgYzkuI7jgYjjgonjgozjgarjgYTloLTlkIjjgIFcbiIKKyIgICAg6KOc5a6M44GM55u044Gh44Gr5a6f6KGM44GV44KM44G+44GZ44CC44KC44GXIE9QVElPTiDjgYzkuI7jgYjjgonjgozjgarjgYTloLTlkIjjgIHlkIQgTkFNRSBcbiIKKyIgICAg44G+44Gf44Gv54++5Zyo44Gu6KOc5a6M44Gr5a++44GZ44KL6KOc5a6M44Kq44OX44K344On44Oz44KS6KGo56S644GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDjgqrjg5fjgrfjg6fjg7M6XG4iCisiICAgIFx0LW8gb3B0aW9uXHTlkIQgTkFNRSDjgavlr77jgZfjgaboo5zlrozjgqrjg5fjgrfjg6fjg7MgT1BUSU9OIOOCkuioreWumuOBl+OBvuOBmVxuIgorIiAgICBcdC1EXHRcdFwi44OH44OV44Kp44Or44OIXCIg44Kz44Oe44Oz44OJ6KOc5a6M44Kq44OX44K344On44Oz44KS5aSJ5pu044GX44G+44GZXG4iCisiICAgIFx0LUVcdFx0XCLnqbpcIiDjgrPjg57jg7Pjg4noo5zlrozjgqrjg5fjgrfjg6fjg7PjgpLlpInmm7TjgZfjgb7jgZlcbiIKKyIgICAgXG4iCisiICAgIGAtbycg44Gu5Luj44KP44KK44GrIGArbycg44KS5L2/55So44GZ44KL44Go5oyH5a6a44GX44Gf44Kq44OX44K344On44Oz44KS44Kq44OV44Gr44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDlvJXmlbA6XG4iCisiICAgIFxuIgorIiAgICDlkIQgTkFNRSDjga8gYGNvbXBsZXRlJyDntYTjgb/ovrzjgb/plqLmlbDjgpLkvb/jgaPjgabkuovliY3jgavlrprnvqnjgZXjgozjgZ/oo5zlrozmjIflrprjgpLjgrMiCisi44OeXG4iCisiICAgIOODs+ODieOCkuaMh+OBl+ekuuOBleOBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCk+OAgk5BTUUg44GM5LiO44GI44KJ44KM44Gq44GE5aC05ZCI44CBY29tcG9wdCDjga9cbiIKKyIgICAg6KOc5a6M44KS44GT44KM44GL44KJ55Sf5oiQ44GZ44KL6Zai5pWw44GL44KJ5ZG844Gz5Ye644GV44KM44Gq44GR44KM44Gw44GE44GR44G+44Gb44KT44CC44Gd44GX44GmXG4iCisiICAgIOijnOWujOOCkuOBk+OCjOOBi+OCieeUn+aIkOOBmeOCi+mWouaVsOOBq+WvvuOBmeOCi+OCquODl+OCt+ODp+ODs+OBjOWkieabtOOBleOCjOOBvuOBmeOAglxuIgorIiAgICBcbiIKKyIgICAg57WC5LqG44K544OG44O844K/44K5OlxuIgorIiAgICDnhKHlirnjgarjgqrjg5fjgrfjg6fjg7PjgYzkuI7jgYjjgonjgozjgovjgYvjgIEgTkFNRSDjgYzoo5zlrozmjIflrprjgajjgZfjgablrprnvqnjgZXjgozjgabjgYTjgarjgYTloLQiCisi5ZCIXG4iCisiICAgIOOCkumZpOOBjeOAgeaIkOWKn+OCkui/lOOBl+OBvuOBmeOAgiIKIAotIzogYnVpbHRpbnMuYzoxOTY4CisjOiBidWlsdGlucy5jOjE5ODYKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM5ODcsNyArNTQxMCw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtMzk5OCwxOTggKzU0MjIsMjU2IEBACiAib3JcbiIKICIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCisi5qiZ5rqW5YWl5Yqb44GL44KJ6KGM44KS6Kqt44G/6L6844G/44Kk44Oz44OH44OD44Kv44K55Z6L6YWN5YiX44Gr5Luj5YWl44GX44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDmqJnmupblhaXlipvjgIEtdSDjgqrjg5fjgrfjg6fjg7PjgYzkuI7jgYjjgonjgozjgZ/loLTlkIjjga/jg5XjgqHjgqTjg6voqJjov7DlrZAgRkQg44GL44KJ6KGM44KS6Kqt44G/6L68IgorIuOBv+OAgVxuIgorIiAgICDjgqTjg7Pjg4fjg4Pjgq/jgrnlnovphY3liJflpInmlbAgQVJSQVkg44Gr5Luj5YWl44GX44G+44GZ44CC5aSJ5pWwIEFSUkFZIOOBruODh+ODleOCqeODq+ODiOOBryAiCisiTUFQRklMRVxuIgorIiAgICDjgafjgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOOCquODl+OCt+ODp+ODszpcbiIKKyIgICAgICAtbiBjb3VudFx05pyA5aSnIENPVU5UIOihjOOCkuOCs+ODlOODvOOBl+OBvuOBmeOAgkNPVU5UIOOBjCAwIOOBruWgtOWQiOOAgeWFqOOBpuOBruihjOOCkuOCsyIKKyLjg5Tjg7zjgZfjgb7jgZnjgIJcbiIKKyIgICAgICAtTyBvcmlnaW5cdOmFjeWIl+OBrumWi+Wni+eVquWPt+OCkiBPUklHSU4g44Gr44GX44G+44GZ44CC44OH44OV44Kp44Or44OI44GvIDAg44Gn44GZ44CCXG4iCisiICAgICAgLXMgY291bnQgXHTmnIDliJ3jga4gQ09VTlQg6KGM44Gu6Kqt44G/6L6844G/44KS56C05qOE44GX44G+44GZ44CCXG4iCisiICAgICAgLXRcdFx05ZCE6KGM44KS6Kqt44G/6L6844KT44Gg5pmC44Gr5pyA5b6M44Gu5pS56KGM44KS5YmK6Zmk44GX44G+44GZ44CCXG4iCisiICAgICAgLXUgZmRcdFx05qiZ5rqW5YWl5Yqb44Gn44Gv44Gq44GP44OV44Kh44Kk44Or6KiY6L+w5a2QIEZEIOOBi+OCieihjOOCkuiqreOBv+i+vOOBv+OBvuOBmVxuIgorIiAgICAgIC1DIGNhbGxiYWNrXHRRVUFOVFVNIOihjOOCkuiqreOBv+i+vOOCgOavjuOBqyBDQUxMQkFDSyDjgpLoqZXkvqHjgZfjgb7jgZnjgIJcbiIKKyIgICAgICAtYyBxdWFudHVtXHRDQUxMQkFDSyDjgpLkvZXooYzoqq3jgb/ovrzjgoDmr47jgavlrp/ooYzjgZnjgovjgYvjgpLmjIflrprjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIOW8leaVsDpcbiIKKyIgICAgICBBUlJBWVx0XHTjg4fjg7zjgr/jgpLkv53lrZjjgZnjgovjgZ/jgoHjgavkvb/nlKjjgZnjgovphY3liJflpInmlbDlkI1cbiIKKyIgICAgXG4iCisiICAgIOOCguOBlyAtYyDjgYzmjIflrprjgZXjgozjgZrjgasgLUMg44GM5LiO44GI44KJ44KM44Gf5aC05ZCI44CB44OH44OV44Kp44Or44OI44GuIHF1YW50dW0g44GvIDUwMDAgIgorIuOBp+OBmeOAglxuIgorIiAgICBDQUxMQkFDSyDjgYzoqZXkvqHjgZXjgozjgZ/mmYLjgIHov73liqDjga7lvJXmlbDjgajjgZfjgabphY3liJfjga7mrKHopoHntKDjga7jgqTjg7Pjg4fjg4Pjgq/jgrnjgYzmuKHjgZUiCisi44KM44G+44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDmmI7npLrnmoTjgavplovlp4vnlarlj7fjgYzkuI7jgYjjgonjgozjgarjgYTloLTlkIjjgIFtYXBmaWxlIOOBr+S7o+WFpeWJjeOBqyBBUlJBWSDjgpLnqbrjgavjgZfjgb4iCisi44GZ44CCXG4iCisiICAgIFxuIgorIiAgICDntYLkuobjgrnjg4bjg7zjgr/jgrk6XG4iCisiICAgIOeEoeWKueOBquOCquODl+OCt+ODp+ODs+OBjOS4juOBiOOCieOCjOOCi+OAgemFjeWIl+OBjOiqreOBv+WPluOCiuWwgueUqOOAgeOBvuOBn+OBr+OCpOODs+ODh+ODg+OCr+OCueWei+mFjSIKKyLliJfjgafnhKHjgYRcbiIKKyIgICAg5aC05ZCI44KS6Zmk44GN5oiQ5Yqf44KS6L+U44GX44G+44GZ44CCIgogCi0jOiBidWlsdGlucy5jOjIwMDEKKyM6IGJ1aWx0aW5zLmM6MjAyMAogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgogIiAgICBBIHN5bm9ueW0gZm9yIGBtYXBmaWxlJy4iCiBtc2dzdHIgIiIKKyLjg5XjgqHjgqTjg6vjgYvjgonooYzjgpLoqq3jgb/ovrzjgb/phY3liJflpInmlbDjgavku6PlhaXjgZfjgb7jgZnjgIJcbiIKKyIgICAgXG4iCisiICAgIGBtYXBmaWxlJ+OBruWIpeWQjeOBp+OBmeOAgiIKKworI34gbXNnaWQgIiIKKyN+ICIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyN+ICIgICAgIgorI34gbXNnc3RyICIiCisjfiAi44CCICBFWFBSIOOBjOWtmOWcqOOBmeOCi+WgtOWQiOOAgeasoeOCkui/lOOBl+OBvuOBmSBcbiIKKyN+ICIgICAgIgorCisjfiBtc2dpZCAiIgorI34gIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorI34gIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgIgorI34gInRoZVxuIgorI34gIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKKyN+IG1zZ3N0ciAiIgorI34gIuOAguOBk+OBrui/veWKoOOBruaDheWgseOBr+OCueOCv+ODg+OCr+ODiOODrOODvOOCuVxuIgorI34gIiAgICDjgpLmj5DkvpvjgZnjgovmmYLjgavliKnnlKjjgZfjgb7jgZnjgIJcbiIKKyN+ICJcbiIKKyN+ICIgICAgRVhQUiDjga7lgKTjga/nj77lnKjjga7jg5Xjg6zjg7zjg6DjgavmiLvjgovjgb7jgafjgavkvZXlm57jg5Xjg6zjg7zjg6DjgYzlkbzjgbPlh7rjgZXjgozjgabjgYTjgovjgYsiCisjfiAi44KSXG4iCisjfiAiICAgIOaEj+WRs+OBl+OBvuOBmeOAguacgOS4iuS9jeOBruODleODrOODvOODoOOBryAwIOOBp+OBmeOAgiIKIAogI34gbXNnaWQgIk1pc3NpbmcgYH0nIgotI34gbXNnc3RyICJgfSekrKSipOqk3qS7pPMiCisjfiBtc2dzdHIgImB9J+OBjOOBguOCiuOBvuOBm+OCkyIKIAogI34gbXNnaWQgImJyYWNlX2V4cGFuZD4gIgotI34gbXNnc3RyICKl1qXsobylucW4s6s+ICIKKyN+IG1zZ3N0ciAi44OW44Os44O844K55bGV6ZaLPiAiCiAKICN+IG1zZ2lkICJBdHRlbXB0IHRvIGZyZWUgdW5rbm93biBjb21tYW5kIHR5cGUgYCVkJy5cbiIKLSN+IG1zZ3N0ciAizKTDzqTKpbOl3qXzpcmlv6WkpdcgYCVkJyCk8rOryvykt6TopKakyKS3pMak3qS5LlxuIgorI34gbXNnc3RyICLmnKrnn6XjgarjgrPjg57jg7Pjg4njgr/jgqTjg5cgYCVkJyDjgpLplovmlL7jgZfjgojjgYbjgajjgZfjgabjgb7jgZkuXG4iCiAKICN+IG1zZ2lkICJSZXBvcnQgdGhpcyB0byAlc1xuIgotI34gbXNnc3RyICIlcyCky8rzufCkt6TGpK+kwKS1pKRcbiIKKyN+IG1zZ3N0ciAiJXMg44Gr5aCx5ZGK44GX44Gm44GP44Gg44GV44GEXG4iCiAKICN+IG1zZ2lkICJTdG9wcGluZyBteXNlbGYuLi4iCi0jfiBtc2dzdHIgIsTku9+kt6TepLkuLi4iCisjfiBtc2dzdHIgIuWBnOatouOBl+OBvuOBmS4uLiIKIAogI34gbXNnaWQgIlRlbGwgJXMgdG8gZml4IHRoaXMgc29tZWRheS5cbiIKLSN+IG1zZ3N0ciAiJXMgpMukpKTEpKuks6TspPLEvqS5pOikpqTLxcGkqKTGpK+kwKS1pKQuXG4iCisjfiBtc2dzdHIgIiVzIOOBq+OBhOOBpOOBi+OBk+OCjOOCkuebtOOBmeOCiOOBhuOBq+S8neOBiOOBpuOBj+OBoOOBleOBhC5cbiIKIAogI34gbXNnaWQgImV4ZWN1dGVfY29tbWFuZDogYmFkIGNvbW1hbmQgdHlwZSBgJWQnIgotI34gbXNnc3RyICKls6XepfOlybzCudQ6ILTWsOOkw6S/pbOl3qXzpcmlv6WkpdcgYCVkJyIKKyN+IG1zZ3N0ciAi44Kz44Oe44Oz44OJ5a6f6KGMOiDplpPpgZXjgaPjgZ/jgrPjg57jg7Pjg4njgr/jgqTjg5cgYCVkJyIKIAogI34gbXNnaWQgInJlYWxcdCIKLSN+IG1zZ3N0ciAivMJcdCIKKyN+IG1zZ3N0ciAi5a6fXHQiCiAKICN+IG1zZ2lkICJ1c2VyXHQiCi0jfiBtc2dzdHIgIqXmobyltlx0IgorI34gbXNnc3RyICLjg6bjg7zjgrZcdCIKIAogI34gbXNnaWQgInN5c1x0IgotI34gbXNnc3RyICKlt6W5pcal4Fx0IgorI34gbXNnc3RyICLjgrfjgrnjg4bjg6BcdCIKIAogI34gbXNnaWQgIiIKICN+ICJyZWFsXHQwbTAuMDBzXG4iCiAjfiAidXNlclx0MG0wLjAwc1xuIgogI34gInN5c1x0MG0wLjAwc1xuIgogI34gbXNnc3RyICIiCi0jfiAivMJcdDBtMC4wMHNcbiIKLSN+ICKl5qG8pbZcdDBtMC4wMHNcbiIKLSN+ICKlt6W5pcal4Fx0MG0wLjAwc1xuIgorI34gIuWun1x0MG0wLjAwc1xuIgorI34gIuODpuODvOOCtlx0MG0wLjAwc1xuIgorI34gIuOCt+OCueODhuODoFx0MG0wLjAwc1xuIgogCiAjfiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAxOiAlcyIKLSN+IG1zZ3N0ciAiZmQgJWQgpPIgZmQgMSCky8qjwL2kx6StpN6ku6TzOiAlcyIKKyN+IG1zZ3N0ciAiZmQgJWQg44KSIGZkIDEg44Gr6KSH6KO944Gn44GN44G+44Gb44KTOiAlcyIKIAogI34gbXNnaWQgIiVzOiBvdXRwdXQgcmVkaXJlY3Rpb24gcmVzdHJpY3RlZCIKLSN+IG1zZ3N0ciAiJXM6IL3Qzs+l6qXApaSl7KWvpbel56XzpKzAqbjCpLWk7KTGpN6kuSIKKyN+IG1zZ3N0ciAiJXM6IOWHuuWKm+ODquODgOOCpOODrOOCr+OCt+ODp+ODs+OBjOWItumZkOOBleOCjOOBpuOBvuOBmSIKIAogI34gbXNnaWQgIk91dCBvZiBtZW1vcnkhIgotI34gbXNnc3RyICKl4aXipeqkrKSipOqk3qS7pPMhIgorI34gbXNnc3RyICLjg6Hjg6Ljg6rjgYzjgYLjgorjgb7jgZvjgpMhIgogCiAjfiBtc2dpZCAiWW91IGhhdmUgYWxyZWFkeSBhZGRlZCBpdGVtIGAlcydcbiIKLSN+IG1zZ3N0ciAipKKkyqS/pM+0+6TLpaKlpKXGpeBgJXMnpPLJ1aSxwq2kt6TGpN6kuVxuIgorI34gbXNnc3RyICLjgYLjgarjgZ/jga/ml6LjgavjgqLjgqTjg4bjg6BgJXMn44KS5LuY44GR6Laz44GX44Gm44G+44GZXG4iCiAKICN+IG1zZ2lkICJZb3UgaGF2ZSBlbnRlcmVkICVkICglZCkgaXRlbXMuICBUaGUgZGlzdHJpYnV0aW9uIGlzOlxuIgogI34gbXNnc3RyICIiCi0jfiAipKKkyqS/pN6kzyAlZCAoJWQpIKWipaSlxqXgpPLG/s7PpLek3qS3pL+ho6XHpaOluaXIpeql06Xlobylt6XnpfOkzzpcbiIKKyN+ICLjgYLjgarjgZ/jgb7jga8gJWQgKCVkKSDjgqLjgqTjg4bjg6DjgpLlhaXlipvjgZfjgb7jgZfjgZ/jgILjg4fjgqPjgrnjg4jjg6rjg5Pjg6Xjg7zjgrfjg6fjg7Pjga86XG4iCiAKICN+IG1zZ2lkICIlczogYmcgYmFja2dyb3VuZCBqb2I/IgotI34gbXNnc3RyICIlczogYmcgpdClw6WvpbCl6aWmpfOlyaTOu8W79j8iCisjfiBtc2dzdHIgIiVzOiBiZyDjg5Djg4Pjgq/jgrDjg6njgqbjg7Pjg4njga7ku5Xkuos/IgogCiAjfiBtc2dpZCAiIgogI34gIlJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGZyb20geXlwYXJzZSAoKSAnJWQnIGlzXG4iCiAjfiAib3V0IG9mIHJhbmdlIGluIG1ha2VfcmVkaXJlY3Rpb24gKCkuIgogI34gbXNnc3RyICIiCi0jfiAieXlwYXJzZSAoKSAnJWQnIKSrpOmkzqXqpcClpKXspa+lt6XnpfO72LyopM9cbiIKLSN+ICJtYWtlX3JlZGlyZWN0aW9uICgpIKTOyM+wz7OwpMekuS4iCisjfiAieXlwYXJzZSAoKSAnJWQnIOOBi+OCieOBruODquODgOOCpOODrOOCr+OCt+ODp+ODs+aMh+ekuuOBr1xuIgorI34gIm1ha2VfcmVkaXJlY3Rpb24gKCkg44Gu56+E5Zuy5aSW44Gn44GZLiIKIAogI34gbXNnaWQgImNsZWFuX3NpbXBsZV9jb21tYW5kICgpIGdvdCBhIGNvbW1hbmQgd2l0aCB0eXBlICVkLiIKLSN+IG1zZ3N0ciAiY2xlYW5fc2ltcGxlX2NvbW1hbmQgKCkgpM+lv6WkpdcgJWQgpM6ls6XepfOlyaTyxsCk3qS3pL8uIgorI34gbXNnc3RyICJjbGVhbl9zaW1wbGVfY29tbWFuZCAoKSDjga/jgr/jgqTjg5cgJWQg44Gu44Kz44Oe44Oz44OJ44KS5b6X44G+44GX44GfLiIKIAogI34gbXNnaWQgImdvdCBlcnJubyAlZCB3aGlsZSB3YWl0aW5nIGZvciAlZCIKLSN+IG1zZ3N0ciAipail6aG8yNa55iAlZCCk8iAlZCCk8sLUpMOkxqSkpOu01qTLxsCk3qS3pL8iCisjfiBtc2dzdHIgIuOCqOODqeODvOeVquWPtyAlZCDjgpIgJWQg44KS5b6F44Gj44Gm44GE44KL6ZaT44Gr5b6X44G+44GX44GfIgogCiAjfiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJWMnIgotI34gbXNnc3RyICK0/MLUpLekxqTKpKQgdG9rZW4gYCVjJyCkzqSipL+k6qTLpbel86W/pcOlr6W5pail6aG8IgorI34gbXNnc3RyICLmnJ/lvoXjgZfjgabjgarjgYQgdG9rZW4gYCVjJyDjga7jgYLjgZ/jgorjgavjgrfjg7Pjgr/jg4Pjgq/jgrnjgqjjg6njg7wiCiAKICN+IG1zZ2lkICJjcHJpbnRmOiBiYWQgYCUlJyBhcmd1bWVudCAoJWMpIgotI34gbXNnc3RyICJjcHJpbnRmOiCwraSkIGAlJScgsPq/9CAoJWMpIgorI34gbXNnc3RyICJjcHJpbnRmOiDmgqrjgYQgYCUlJyDlvJXmlbAgKCVjKSIKIAogI34gbXNnaWQgIm9wdGlvbiBgJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgotI34gbXNnc3RyICJvcHRpZSBgJXMnIKTPsPq/9KTyyazN16TIpLek3qS5IgorI34gbXNnc3RyICJvcHRpZSBgJXMnIOOBr+W8leaVsOOCkuW/heimgeOBqOOBl+OBvuOBmSIKIAogI34gbXNnaWQgIiVzOiB1bnJlY29nbml6ZWQgb3B0aW9uIgotI34gbXNnc3RyICIlczogx6e8saTHpK2kyqSkpaql16W3peel8yIKKyN+IG1zZ3N0ciAiJXM6IOiqjeitmOOBp+OBjeOBquOBhOOCquODl+OCt+ODp+ODsyIKIAogI34gbXNnaWQgImAtYycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCi0jfiBtc2dzdHIgImAtYycgsPq/9KTyyazN16TIpLek3qS5IgorI34gbXNnc3RyICJgLWMnIOW8leaVsOOCkuW/heimgeOBqOOBl+OBvuOBmSIKIAogI34gbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBkaXJlY3RvcmllcyIKLSN+IG1zZ3N0ciAiJXM6IKXHpaOl7KWvpcil6qTyvMK51KTHpK2k3qS7pPMiCisjfiBtc2dzdHIgIiVzOiDjg4fjgqPjg6zjgq/jg4jjg6rjgpLlrp/ooYzjgafjgY3jgb7jgZvjgpMiCiAKICN+IG1zZ2lkICJCYWQgY29kZSBpbiBzaWcuYzogc2lncHJvY21hc2siCi0jfiBtc2dzdHIgInNpZy5jIKTOw+aky7CtpKSls6G8pck6IHNpZ3Byb2NtYXNrIgorI34gbXNnc3RyICJzaWcuYyDjga7kuK3jgavmgqrjgYTjgrPjg7zjg4k6IHNpZ3Byb2NtYXNrIgogCiAjfiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gZW5kaW5nIGB9JyBpbiAlcyIKLSN+IG1zZ3N0ciAisK2kpMLlxv46IL2qzrukuaTrIGB9JyCkrCAlcyCky6SipOqk3qS7pPMiCisjfiBtc2dzdHIgIuaCquOBhOS7o+WFpTog57WC5LqG44GZ44KLIGB9JyDjgYwgJXMg44Gr44GC44KK44G+44Gb44KTIgogCiAjfiBtc2dpZCAiJXM6IGJhZCBhcnJheSBzdWJzY3JpcHQiCi0jfiBtc2dzdHIgIiVzOiCwraSkx9vO8yBzdWJzY3JpcHQiCisjfiBtc2dzdHIgIiVzOiDmgqrjgYTphY3liJcgc3Vic2NyaXB0IgogCiAjfiBtc2dpZCAiY2FuJ3QgbWFrZSBwaXBlcyBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb246ICVzIgotI34gbXNnc3RyICKl16XtpbuluaTOwuXG/qTLpdGlpKXXpPK67sCupMekraTepLuk8zogJXMiCisjfiBtc2dzdHIgIuODl+ODreOCu+OCueOBruS7o+WFpeOBq+ODkeOCpOODl+OCkuS9nOaIkOOBp+OBjeOBvuOBm+OCkzogJXMiCiAKICN+IG1zZ2lkICJyZWFkaW5nIgotI34gbXNnc3RyICLGyaTfuf6k38PmIgorI34gbXNnc3RyICLoqq3jgb/ovrzjgb/kuK0iCiAKICN+IG1zZ2lkICJwcm9jZXNzIHN1YnN0aXR1dGlvbiIKLSN+IG1zZ3N0ciAipdel7aW7pbmkzsLlzf0iCisjfiBtc2dzdHIgIuODl+ODreOCu+OCueOBruS7o+eQhiIKIAogI34gbXNnaWQgImNvbW1hbmQgc3Vic3RpdHV0aW9uIgotI34gbXNnc3RyICKls6XepfOlyaTOwuXN/SIKKyN+IG1zZ3N0ciAi44Kz44Oe44Oz44OJ44Gu5Luj55CGIgogCiAjfiBtc2dpZCAiQ2FuJ3QgcmVvcGVuIHBpcGUgdG8gY29tbWFuZCBzdWJzdGl0dXRpb24gKGZkICVkKTogJXMiCi0jfiBtc2dzdHIgIqWzpd6l86XJpM7C5c39pMul0aWkpdek8rrGpNOzq6SxpN6ku6TzIChmZCAlZCk6ICVzIgorI34gbXNnc3RyICLjgrPjg57jg7Pjg4njga7ku6PnkIbjgavjg5HjgqTjg5fjgpLlho3jgbPplovjgZHjgb7jgZvjgpMgKGZkICVkKTogJXMiCiAKICN+IG1zZ2lkICIkJWM6IHVuYm91bmQgdmFyaWFibGUiCi0jfiBtc2dzdHIgIiQlYzogxbizq6S1pOykxqSkpMqkpMrRv/QiCisjfiBtc2dzdHIgIiQlYzog5bGV6ZaL44GV44KM44Gm44GE44Gq44GE5aSJ5pWwIgogCiAjfiBtc2dpZCAiJXM6IGJhZCBhcml0aG1ldGljIHN1YnN0aXR1dGlvbiIKLSN+IG1zZ3N0ciAiJXM6ILTWsOOkw6S/u7u90cLlxv4iCisjfiBtc2dzdHIgIiVzOiDplpPpgZXjgaPjgZ/nrpfooZPku6PlhaUiCiAKICN+IG1zZ2lkICJvcHRpb24gJWNcbiIKLSN+IG1zZ3N0ciAipaql16W3peel8yAlY1xuIgorI34gbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgJWNcbiIKIAogI34gbXNnaWQgIm9wdGlvbiBhXG4iCi0jfiBtc2dzdHIgIqWqpdelt6XnpfMgYVxuIgorI34gbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgYVxuIgogCiAjfiBtc2dpZCAib3B0aW9uIGJcbiIKLSN+IG1zZ3N0ciAipaql16W3peel8yBiXG4iCisjfiBtc2dzdHIgIuOCquODl+OCt+ODp+ODsyBiXG4iCiAKICN+IG1zZ2lkICJvcHRpb24gYyB3aXRoIHZhbHVlIGAlcydcbiIKLSN+IG1zZ3N0ciAiw80gYCVzJyCkzqWqpdelt6XnpfMgY1xuIgorI34gbXNnc3RyICLlgKQgYCVzJyDjga7jgqrjg5fjgrfjg6fjg7MgY1xuIgogCiAjfiBtc2dpZCAiPz8gc2hfZ2V0b3B0IHJldHVybmVkIGNoYXJhY3RlciBjb2RlIDAlbyA/P1xuIgotI34gbXNnc3RyICI/PyBzaF9nZXRvcHQgpM+lraXjpemlr6W/obyls6G8pckgMCVvIKTyytakt6TepLekvyA/P1xuIgorI34gbXNnc3RyICI/PyBzaF9nZXRvcHQg44Gv44Kt44Oj44Op44Kv44K/44O844Kz44O844OJIDAlbyDjgpLov5TjgZfjgb7jgZfjgZ8gPz9cbiIKIAogI34gbXNnaWQgIiVzOiBVbmtub3duIGZsYWcgJXMuXG4iCi0jfiBtc2dzdHIgIiVzOiDMpMPOpM6l1aXppbAgJXMuXG4iCisjfiBtc2dzdHIgIiVzOiDmnKrnn6Xjga7jg5Xjg6njgrAgJXMuXG4iCiAKICN+IG1zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKLSN+IG1zZ3N0ciAiJXMgsPq/9KSsyazN1yIKKyN+IG1zZ3N0ciAiJXMg5byV5pWw44GM5b+F6KaBIgogCiAjfiBtc2dpZCAiJXMgbXVzdCBiZSBpbnNpZGUgb2YgYSAkQlVJTFRJTiBibG9jayIKLSN+IG1zZ3N0ciAiJXMgpM8gJEJVSUxUSU4gpdal7aXDpa+kzsPmpMekyqSxpOyk0KSkpLGk3qS7pPMiCisjfiBtc2dzdHIgIiVzIOOBryAkQlVJTFRJTiDjg5bjg63jg4Pjgq/jga7kuK3jgafjgarjgZHjgozjgbDjgYTjgZHjgb7jgZvjgpMiCiAKICN+IG1zZ2lkICIlcyBmb3VuZCBiZWZvcmUgJEVORCIKLSN+IG1zZ3N0ciAiJXMgpKwgJEVORCCkzsGwpMu4q6TEpKuk6qTepLekvyIKKyN+IG1zZ3N0ciAiJXMg44GMICRFTkQg44Gu5YmN44Gr6KaL44Gk44GL44KK44G+44GX44GfIgogCiAjfiBtc2dpZCAiJXMgYWxyZWFkeSBoYXMgYSBmdW5jdGlvbiAoJXMpIgotI34gbXNnc3RyICIlcyCkz7T7pMu02L/0pPK7/aTDpMakpKTepLkgKCVzKSIKKyN+IG1zZ3N0ciAiJXMg44Gv5pei44Gr6Zai5pWw44KS5oyB44Gj44Gm44GE44G+44GZICglcykiCiAKICN+IG1zZ2lkICIlcyBhbHJlYWR5IGhhZCBhIGRvY25hbWUgKCVzKSIKLSN+IG1zZ3N0ciAiJXMgpM+0+6TLZG9jbmFtZaTyu/2kw6TGpKSk3qS5ICglcykgIgorI34gbXNnc3RyICIlcyDjga/ml6Ljgatkb2NuYW1l44KS5oyB44Gj44Gm44GE44G+44GZICglcykgIgogCiAjfiBtc2dpZCAiJXMgYWxyZWFkeSBoYXMgc2hvcnQgZG9jdW1lbnRhdGlvbiAoJXMpIgotI34gbXNnc3RyICIlcyCkz7T7pMu+rqXJpa2l5aXhpfOlyKTyu/2kw6TGpKSk3qS5ICglcykiCisjfiBtc2dzdHIgIiVzIOOBr+aXouOBq+Wwj+ODieOCreODpeODoeODs+ODiOOCkuaMgeOBo+OBpuOBhOOBvuOBmSAoJXMpIgogCiAjfiBtc2dpZCAiJXMgYWxyZWFkeSBoYXMgYSAlcyBkZWZpbml0aW9uIgotI34gbXNnc3RyICIlcyCkz7T7pMsgJSBzxOq1waTyu/2kw6TGpKSk3qS5IgorI34gbXNnc3RyICIlcyDjga/ml6LjgasgJSBz5a6a576p44KS5oyB44Gj44Gm44GE44G+44GZIgogCiAjfiBtc2dpZCAibWtidWlsdGluczogT3V0IG9mIHZpcnR1YWwgbWVtb3J5IVxuIgotI34gbXNnc3RyICJta2J1aWx0aW5zOiCyvsHbpeGl4qXqwNqk7CFcbiIKKyN+IG1zZ3N0ciAibWtidWlsdGluczog5Luu5oOz44Oh44Oi44Oq5YiH44KMIVxuIgogCiAjfiBtc2dpZCAicmVhZCBbLXJdIFstcCBwcm9tcHRdIFstYSBhcnJheV0gWy1lXSBbbmFtZSAuLi5dIgotI34gbXNnc3RyICJyZWFkIFstcl0gWy1wIHByb21wdF0gWy1hIMfbzvNdIFstZV0gW8y+wbAgLi4uXSIKKyN+IG1zZ3N0ciAicmVhZCBbLXJdIFstcCBwcm9tcHRdIFstYSDphY3liJddIFstZV0gW+WQjeWJjSAuLi5dIgogCiAjfiBtc2dpZCAiJVtESUdJVFMgfCBXT1JEXSBbJl0iCi0jfiBtc2dzdHIgIiVbt+W/9CB8ILjAzdVdIFslXSIKKyN+IG1zZ3N0ciAiJVvmoYHmlbAgfCDoqIDokYldIFslXSIKIAogI34gbXNnaWQgInZhcmlhYmxlcyAtIFNvbWUgdmFyaWFibGUgbmFtZXMgYW5kIG1lYW5pbmdzIgotI34gbXNnc3RyICLK0b/0IC0gytG/9My+pMiw1cyjIgorI34gbXNnc3RyICLlpInmlbAgLSDlpInmlbDlkI3jgajmhI/lkbMiCiAKICN+IG1zZ2lkICJgYWxpYXMnIHdpdGggbm8gYXJndW1lbnRzIG9yIHdpdGggdGhlIC1wIG9wdGlvbiBwcmludHMgdGhlIGxpc3QiCi0jfiBtc2dzdHIgIrD6v/TMtaS3y/Skz6Wqpdelt6XnpfMgLXAgydWkraTOYGFsaWFzJ6TPpeqluaXIpPK90M7PIgorI34gbXNnc3RyICLlvJXmlbDnhKHjgZflj4jjga/jgqrjg5fjgrfjg6fjg7MgLXAg5LuY44GN44GuYGFsaWFzJ+OBr+ODquOCueODiOOCkuWHuuWKmyIKIAogI34gbXNnaWQgIm9mIGFsaWFzZXMgaW4gdGhlIGZvcm0gYWxpYXMgTkFNRT1WQUxVRSBvbiBzdGFuZGFyZCBvdXRwdXQuIgotI34gbXNnc3RyICLJuL3gvdDOz6TOIMy+wbA9w80gpM63wbywpMelqKWkpeqloqW5IgorI34gbXNnc3RyICLmqJnmupblh7rlipvjga4g5ZCN5YmNPeWApCDjga7lvaLlvI/jgafjgqjjgqTjg6rjgqLjgrkiCiAKICN+IG1zZ2lkICJPdGhlcndpc2UsIGFuIGFsaWFzIGlzIGRlZmluZWQgZm9yIGVhY2ggTkFNRSB3aG9zZSBWQUxVRSBpcyBnaXZlbi4iCi0jfiBtc2dzdHIgIqS1pOKkyqSxpOyk0KGipL2k7KS+pOzDzaTOzb+kqKTppOykv8y+wbCky6WopaSl6qWipbmkz8TqtcGktaTspOsuIgorI34gbXNnc3RyICLjgZXjgoLjgarjgZHjgozjgbDjgIHjgZ3jgozjgZ7jgozlgKTjga7kuI7jgYjjgonjgozjgZ/lkI3liY3jgavjgqjjgqTjg6rjgqLjgrnjga/lrprnvqnjgZXjgozjgosuIgogCiAjfiBtc2dpZCAidHJ1ZSB1bmxlc3MgYSBOQU1FIGlzIGdpdmVuIGZvciB3aGljaCBubyBhbGlhcyBoYXMgYmVlbiBkZWZpbmVkLiIKLSN+IG1zZ3N0ciAipailpKXqpaKluaSsxOq1waS1pOykxqSqpOmkuqGiW8y+wbBdpKzFz6S1pOykxqSkpMqksaTspNC/vyIKKyN+IG1zZ3N0ciAi44Ko44Kk44Oq44Ki44K544GM5a6a576p44GV44KM44Gm44GK44KJ44Ga44CBW+WQjeWJjV3jgYzmuKHjgZXjgozjgabjgYTjgarjgZHjgozjgbDnnJ8iCiAKICN+IG1zZ2lkICJ0aGVuIHJlbW92ZSBhbGwgYWxpYXMgZGVmaW5pdGlvbnMuIgotI34gbXNnc3RyICLBtKTGpM6lqKWkpeqloqW5pM7E6rXBpPK67738LiIKKyN+IG1zZ3N0ciAi5YWo44Gm44Gu44Ko44Kk44Oq44Ki44K544Gu5a6a576p44KS5YmK6ZmkLiIKIAogI34gbXNnaWQgIkFyZ3VtZW50cyB3ZSBhY2NlcHQ6IgotI34gbXNnc3RyICK89aSxvOik67D6v/SkzzoiCisjfiBtc2dzdHIgIuWPl+OBkeWPluOCi+W8leaVsOOBrzoiCmRpZmYgLS1naXQgYS9wby9sdC5nbW8gYi9wby9sdC5nbW8KaW5kZXggYTNiZTBmYS4uZWExODgzNiAxMDA2NDQKLS0tIGEvcG8vbHQuZ21vCisrKyBiL3BvL2x0LmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9sdC5wbyBiL3BvL2x0LnBvCmluZGV4IGQwMDAwZWMuLjA1OGM2MTQgMTAwNjQ0Ci0tLSBhL3BvL2x0LnBvCisrKyBiL3BvL2x0LnBvCkBAIC03LDcgKzcsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoLTQuMFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDMtMjUgMTY6NDkrMDIwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogR2ludGF1dGFzIE1pbGlhdXNrYXMgPGdpbnRhc0Bha2wubHQ+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogTGl0aHVhbmlhbiA8a29tcF9sdEBrb25mZXJlbmNpam9zLmx0PlxuIgpAQCAtMjIsNyArMjIsNyBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgImJsb2dhcyBtYXN5dm8gaW5kZWtzYXMiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTQyLDI2ICs0MiwyNiBAQAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6MzgzCisjOiBiYXNoaGlzdC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBuZXBhdnlrbyBzdWt1cnRpOiAlcyIKIAotIzogYmFzaGxpbmUuYzozNDU3CisjOiBiYXNobGluZS5jOjM0OTgKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiBtc2dzdHIgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IG5lcGF2eWtvIHJhc3RpIGtleW1hcG8ga29tYW5kYWkiCiAKLSM6IGJhc2hsaW5lLmM6MzU0MworIzogYmFzaGxpbmUuYzozNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiBwaXJtYXMgbmUgdGFycG8gc2ltYm9saXMgbsSXcmEg4oCeXCLigJwiCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAibsSXcmEgdcW+ZGFyYW7EjWlvam8g4oCeJWPigJwgJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzYwNgorIzogYmFzaGxpbmUuYzozNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXM6IHRyxatrc3RhIGR2aXRhxaFraW8gc2tpcnR1a28iCkBAIC0xMjEsMjYgKzEyMSwxMSBAQAogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogbXNnc3RyICJHcsSFxb5pbmEgZXNhbW9zIHByb2NlZMWrcm9zIGtvbnRla3N0xIUuIgogCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQotbXNnaWQgIiIKLSIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKLSIgICAgIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Ci1tc2dpZCAiIgotIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgotIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCi0iICAgIFxuIgotIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCi0iICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyMzUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIkhPTUUgbmVudXN0YXR5dGFzIgogCi0jOiBidWlsdGlucy9jZC5kZWY6MjI3CisjOiBidWlsdGlucy9jZC5kZWY6MjQ3CiBtc2dpZCAiT0xEUFdEIG5vdCBzZXQiCiBtc2dzdHIgIk9MRFBXRCBuZW51c3RhdHl0YXMiCiAKQEAgLTE1OSwxMSArMTQ0LDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiBuYXVkb2ppbWFzOiAiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgzMgogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAicGVyIGRhdWcgYXJndW1lbnTFsyIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo1MDAgc2hlbGwuYzo3ODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKIG1zZ3N0ciAiJXM6IHBhcmFtZXRydWkgcmVpa2lhIGFyZ3VtZW50byIKQEAgLTIwMSw3ICsxODYsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAibmV0YWlzeWtsaW5nYXMgxaFlxaFpb2xpa3RhaW5pcyBza2FpxI1pdXMiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMzYyCiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIm5ldGFpc3lrbGluZ2FzIHNrYWnEjWl1cyIKIApAQCAtMzEwLDI1ICsyOTUsMjUgQEAKIG1zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyMgorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTI0CiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJnYWxpbWEgbmF1ZG90aSB0aWsgZnVua2Npam9qZSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjYKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIm5lZ2FsaW1hIG5hdWRvdGkg4oCeLWbigJwgZnVua2Npam9tcyBrdXJ0aSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBmdW5rY2lqYSB0aWsgc2thaXR5bXVpIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogbmVnYWxpbWEgdG9raXUgYsWrZHUgc3VuYWlraW50aSBtYXN5dsWzIGtpbnRhbcWzasWzIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzU3LDI5ICszNDIsMjkgQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBuZXBhdnlrbyBpxaF0cmludGk6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0Ci0jOiBzaGVsbC5jOjE0NTIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiBhcGxhbmthcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIiVzOiBuZSBwYXByYXN0YXMgZmFpbGFzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0NworIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgaXMgdG9vIGxhcmdlIgogbXNnc3RyICIlczogZmFpbGFzIHBlciBkaWRlbGlzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKLSM6IHNoZWxsLmM6MTQ2MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczogbmVnYWxpbWEgdnlrZHl0aSBkdmVqZXRhaW5pxbMgZmFpbMWzIgogCi0jOiBidWlsdGlucy9leGVjLmRlZjoyMTIKKyM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NCBidWlsdGlucy9leGVjLmRlZjoxNTYgYnVpbHRpbnMvZXhlYy5kZWY6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCiBtc2dzdHIgIiVzOiBuZXBhdnlrbyBwYWxlaXN0aTogJXMiCkBAIC00MDcsMTEgKzM5MiwxMSBAQAogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgImtvbWFuZMWzIG5lcmFzdGEiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiaXN0b3Jpam9zIHNwZWNpZmlrYWNpamEiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiBuZXBhdnlrbyBhdHZlcnRpIGxhaWtpbm9qbyBmYWlsbzogJXMiCkBAIC00NDQsNyArNDI5LDcgQEAKIG1zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgogbXNnc3RyICIlczogbWFpxaFvcyBsZW50ZWzElyB0dcWhxI1pYVxuIgogCi0jOiBidWlsdGlucy9oYXNoLmRlZjoyNDQKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiaGl0c1x0Y29tbWFuZFxuIgogbXNnc3RyICJwYXNrdXRpbsSXIGtvbWFuZGE6ICVzXG4iCkBAIC01MTMsNzcgKzQ5OCw4NyBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgInN1IOKAni144oCcIG5lbGVpZMW+aWFtYSBuYXVkb3RpIGtpdMWzIHBhcmFtZXRyxbMiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAorIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiVzOiBhcmd1bWVudGFpIHR1cmkgYsWrdGkgcHJvY2VzxbMgYXJiYSBkYXJixbMgSUQiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MworIzogYnVpbHRpbnMva2lsbC5kZWY6MjYxCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiTmXFvmlub21hIGtsYWlkYSIKIAotIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTAxIGV4cHIuYzo1MTYKKyM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjU1MiBleHByLmM6NTY3CiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAidGlrxJd0YXNpIGnFoXJhacWha29zIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgogbXNnc3RyICIlczogbmUgbWFzeXZvIGtpbnRhbWFzaXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NiBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBuZXRhaXN5a2xpbmdhIGZhaWxvIGRlc2tyaXB0b3JpYXVzIHNwZWNpZmlrYWNpamEiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NCBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiJWQ6IG5ldGFpc3lrbGluZ2FzIGZhaWxvIGRlc2tyaXB0b3JpdXM6ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzMgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzExCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlczogbmVzYW1hcyBwYXJhbWV0cmFzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlczogbmVzYW1hcyBwYXJhbWV0cmFzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiJXM6IG5ldGFpc3lrbGluZ2FzIHZlaWtzbW8gcGF2YWRpbmltYXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzMzCiAjLCBmdXp6eQogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIiVzOiBuZSBtYXN5dm8ga2ludGFtYXNpcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAniVz4oCcOiB0csWra3N0YSBmb3JtYXRvIHNpbWJvbGlvIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgdGltZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6IGtsYWlkaW5nYSBsYWlrbyByaWJvcyAodGltZW91dCkgc3BlY2lmaWthY2lqYSIKKworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICLigJ4lY+KAnDogbmV0YWlzeWtsaW5nYXMgZm9ybWF0byBzaW1ib2xpcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAixK9zcMSXamltYXM6ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAidHLFq2tzdGEgxaFlxaFpb2xpa3RhaW5pbyBza2FpdG1lbnMgacWhcmFpxaFrb2plIFxceCIKIAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAidHLFq2tzdGEgxaFlxaFpb2xpa3RhaW5pbyBza2FpdG1lbnMgacWhcmFpxaFrb2plIFxceCIKKwogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQogbXNnaWQgIm5vIG90aGVyIGRpcmVjdG9yeSIKIG1zZ3N0ciAibsSXcmEga2l0byBhcGxhbmtvIgpAQCAtNjg1LDIxICs2ODAsMjEgQEAKIG1zZ2lkICJjYW4gb25seSBgcmV0dXJuJyBmcm9tIGEgZnVuY3Rpb24gb3Igc291cmNlZCBzY3JpcHQiCiBtc2dzdHIgImdhbGltYSBncsSvxb50aSAocmV0dXJuKSB0aWsgacWhIGZ1bmtjaWpvcyBhciBzY2VuYXJpamF1cyIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo3NjgKKyM6IGJ1aWx0aW5zL3NldC5kZWY6NzcxCiBtc2dpZCAiY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUiCiBtc2dzdHIgIm5lZ2FsaW1hIGthcnR1IGnFoXRyaW50aSBmdW5rY2lqb3MgaXIga2ludGFtb2pvIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgwNQorIzogYnVpbHRpbnMvc2V0LmRlZjo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiJXM6IG5lcGF2eWtvIGnFoXRyaW50aSIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MTIKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgogbXNnc3RyICIlczogbmVwYXZ5a28gacWhdHJpbnRpOiAlcyB0aWsgc2thaXR5bXVpIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgyMworIzogYnVpbHRpbnMvc2V0LmRlZjo4MjYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IG5lIG1hc3l2byBraW50YW1hc2lzIgpAQCAtNzEzLDIwICs3MDgsMjAgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAicG9zdMWrbWnFsyBza2FpxI1pdXMiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJuZWdhbGltYSBhcGxpbmtvcyBudW9zdGF0b3MgdmllbnUgbWV0dSDEr2p1bmd0aSBpciBpxaFqdW5ndGkiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiBuZXRhaXN5a2xpbmdhcyBhcGxpbmtvcyBudW9zdGF0b3MgcGF2YWRpbmltYXMiCiAKLSM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTI4CisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjEzMAogbXNnaWQgImZpbGVuYW1lIGFyZ3VtZW50IHJlcXVpcmVkIgogbXNnc3RyICJyZWlraWEgZmFpbG8gcGF2YWRpbmltbyBhcmd1bWVudG8iCiAKLSM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTUzCisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBmYWlsYXMgbmVyYXN0YXMiCkBAIC03NjksMjYgKzc2NCwyNiBAQAogbXNnaWQgIiVzIGlzIGhhc2hlZCAoJXMpXG4iCiBtc2dzdHIgIiVzIHlyYSBoZcWhdW90YXMgKCVzKVxuIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBuZXRhaXN5a2xpbmdhcyBsaW1pdG8gYXJndW1lbnRhcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozOTgKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGJhZCBjb21tYW5kIgogbXNnc3RyICJgJWMnOiBibG9nYSBrb21hbmRhIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQyNworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBnZXQgbGltaXQ6ICVzIgogbXNnc3RyICIlczogbmVwYXZ5a28gZ2F1dGkgbGltaXRvOiAlcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiBtc2dpZCAibGltaXQiCiBtc2dzdHIgInJpYmEiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY1IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY1CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ2OSBidWlsdGlucy91bGltaXQuZGVmOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBuZXBhdnlrbyBwYWtlaXN0aSBsaW1pdG86ICVzIgpAQCAtODQ0LDEwNyArODM5LDExMiBAQAogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCi1tc2dzdHIgIgdsYXVraWFudCDEr3ZlZGltbyBiYWlnxJdzaSBsYWlrYXM6IGF1dG9tYXRpxaFrYWkgYXRzaWp1bmd0YVxuIgorbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICJcYWxhdWtpYW50IMSvdmVkaW1vIGJhaWfEl3NpIGxhaWthczogYXV0b21hdGnFoWthaSBhdHNpanVuZ3RhXG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICJuZXBhdnlrbyBwZXJhZHJlc3VvdGkgc3RhbmRhcnRpbmlvIMSvdmVkaW1vIGnFoSAvZGV2L251bGw6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExNjIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlRJTUVGT1JNQVQ6IOKAniVj4oCcOiBuZXRhaXN5a2xpbmdhcyBmb3JtYXRvIHNpbWJvbGlzIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwNzUKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQogIywgZnV6enkKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJyYcWheW1vIGtsYWlkYTogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDQ4MQorIzogZXhlY3V0ZV9jbWQuYzo0NjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IGFwcmlib3RhOiBuZWdhbGltYSBuYXVkb3RpIOKAni/igJwga29tYW5kxbMgcGF2YWRpbmltdW9zZSIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NTcyCisjOiBleGVjdXRlX2NtZC5jOjQ3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczoga29tYW5kYSBuZXJhc3RhIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4MjcKKyM6IGV4ZWN1dGVfY21kLmM6NDk1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIgorbXNnc3RyICIlcyB5cmEgJXNcbiIKKworIzogZXhlY3V0ZV9jbWQuYzo0OTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IGJsb2dhcyBpbnRlcnByZXRhdG9yaXVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NzYKKyM6IGV4ZWN1dGVfY21kLmM6NTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICJuZXBhdnlrbyBkdWJsaWt1b3RpIGZkICVkIMSvIGZkICVkIgogCi0jOiBleHByLmM6MjQxCisjOiBleHByLmM6MjU2CiBtc2dpZCAiZXhwcmVzc2lvbiByZWN1cnNpb24gbGV2ZWwgZXhjZWVkZWQiCiBtc2dzdHIgInZpcsWheXRhcyBpxaFyYWnFoWtvcyByZWt1cnNpam9zIGx5Z2lzIgogCi0jOiBleHByLmM6MjY1CisjOiBleHByLmM6MjgwCiBtc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAicmVrdXJzaWpvcyBzdGVrbyBhdHZpcmvFoXRpbmlzIHBlcnBpbGR5bWFzIgogCi0jOiBleHByLmM6Mzc5CisjOiBleHByLmM6NDIyCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGV4cHJlc3Npb24iCiBtc2dzdHIgInNpbnRha3PEl3Mga2xhaWRhIGnFoXJhacWha29qZSIKIAotIzogZXhwci5jOjQxOQorIzogZXhwci5jOjQ2MwogbXNnaWQgImF0dGVtcHRlZCBhc3NpZ25tZW50IHRvIG5vbi12YXJpYWJsZSIKIG1zZ3N0ciAiYmFuZHltYXMgcHJpc2tpcnRpIG5lIGtpbnRhbWFqYW0iCiAKLSM6IGV4cHIuYzo0NDAgZXhwci5jOjQ0NSBleHByLmM6NzU2CisjOiBleHByLmM6NDg2IGV4cHIuYzo0OTEgZXhwci5jOjgwNwogbXNnaWQgImRpdmlzaW9uIGJ5IDAiCiBtc2dzdHIgImRhbHliYSBpxaEgMCIKIAotIzogZXhwci5jOjQ3MQorIzogZXhwci5jOjUxNwogbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKIG1zZ3N0ciAia2xhaWRhOiBibG9nYSBleHBhc3NpZ24gbGVrc2VtYSIKIAotIzogZXhwci5jOjUxMworIzogZXhwci5jOjU2NAogbXNnaWQgImA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAic8SFbHlnb3MgacWhcmFpxaFrb2plIHRpa8SXdGFzaSDigJ464oCcIgogCi0jOiBleHByLmM6NzgxCisjOiBleHByLmM6ODMyCiBtc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCiBtc2dzdHIgImVrc3BvbmVudMSXIG1hxb5lc25pcyB1xb4gMCIKIAotIzogZXhwci5jOjgyNgorIzogZXhwci5jOjg4NwogbXNnaWQgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgogbXNnc3RyICIiCiAicG8gcHJpZcWhLWRpZGluaW1vIGFyIHByaWXFoS1tYcW+aW5pbW8gb3BlcmF0b3JpYXVzIHRpa8SXdGFzaSBpZGVudGlmaWthdG9yaWF1cyIKIAotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJUcsWra3N0YSDigJ4p4oCcIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CisjOiBleHByLmM6OTU5IGV4cHIuYzoxMjgyCiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJzaW50YWtzxJdzIGtsYWlkYTogdGlrxJd0YXNpIG9wZXJhbmRvIgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAic2ludGFrc8SXcyBrbGFpZGE6IG5ldGFpc3lrbGluZ2FzIGFyaXRtZXRpbmlzIG9wZXJhdG9yaXVzIgogCi0jOiBleHByLmM6MTIwMgorIzogZXhwci5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI2MAorIzogZXhwci5jOjEzNjYKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAibmV0YWlzeWtsaW5nYXMgYXJpdG1ldGluaXMgcGFncmluZGFzIgogCi0jOiBleHByLmM6MTI4MAorIzogZXhwci5jOjEzODYKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgInBlciBkaWRlbMSXIHBhZ3JpbmRvIHJlaWvFoW3ElyIKIAotIzogZXhwci5jOjEzMjkKKyM6IGV4cHIuYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiVzOiBpxaFyYWnFoWtvcyBrbGFpZGFcbiIKQEAgLTk1MywxNjMgKzk1MywxNjMgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXRjd2Q6IG5lcGF2eWtvIHBhc2lla3RpIGF1a8WhdGVzbmnFsyBhcGxhbmvFsyIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAibmVwYXZ5a28gZHVibGlrdW90aSBmZCAlZCDEryBmZCAlZCIKIAotIzogaW5wdXQuYzoyNTgKKyM6IGlucHV0LmM6MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCiBtc2dzdHIgIm5lcGF2eWtvIGnFoXNraXJ0aSBuYXVqbyBmYWlsbyBkZXNrcmlwdG9yaWF1cyBiYXNoIMSvdmVkaW11aSBpxaEgZmQgJWQiCiAKLSM6IGlucHV0LmM6MjY2CisjOiBpbnB1dC5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgogbXNnc3RyICJzYXZlX2Jhc2hfaW5wdXQ6IG5hdWphbSBmZCAlZCBidWZlcmlzIGphdSBlZ3ppc3R1b2phIgogCi0jOiBqb2JzLmM6NDY2CisjOiBqb2JzLmM6NDY4CiBtc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6ODg3CisjOiBqb2JzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTAwNQorIzogam9icy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKIG1zZ3N0ciAidHJpbmFtYXMgc3VzdGFiZHl0YXMgZGFyYmFzICVkIHByb2Nlc8WzIGdydXDEl2plICVsZCIKIAotIzogam9icy5jOjExMTAKKyM6IGpvYnMuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwcm9jZXNzICU1bGQgKCVzKSBpbiB0aGVfcGlwZWxpbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjExMTMKKyM6IGpvYnMuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIG1hcmtlZCBhcyBzdGlsbCBhbGl2ZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQwMQorIzogam9icy5jOjE0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkIgogbXNnc3RyICJkZXNjcmliZV9waWQ6ICVsZDogdG9raW8gcGlkIG7El3JhIgogCi0jOiBqb2JzLmM6MTQxNgorIzogam9icy5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2lnbmFsICVkIgogbXNnc3RyICJTaWduYWxhcyAlZCIKIAotIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0CiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiQXRsaWt0YSIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMworIzogam9icy5jOjE0NjQgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzkKKyM6IGpvYnMuYzoxNDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQoJXMpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDQzCisjOiBqb2JzLmM6MTQ3MgogbXNnaWQgIlJ1bm5pbmciCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0NTcKKyM6IGpvYnMuYzoxNDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbmUoJWQpIgogbXNnc3RyICJBdGxpa3RhKCVkKSIKIAotIzogam9icy5jOjE0NTkKKyM6IGpvYnMuYzoxNDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4aXQgJWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0NjIKKyM6IGpvYnMuYzoxNDkxCiBtc2dpZCAiVW5rbm93biBzdGF0dXMiCiBtc2dzdHIgIk5lxb5pbm9tYSBixatzZW5hIgogCi0jOiBqb2JzLmM6MTU0OQorIzogam9icy5jOjE1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGNvcmUgZHVtcGVkKSAiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE3NzYKKyM6IGpvYnMuYzoxODA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAid2FpdDogcGlkICVsZCBuxJdyYSDFoWlvcyBhcGxpbmtvcyBkdWt0ZXJpbmlzIHByb2Nlc2FzIgogCi0jOiBqb2JzLmM6MjMzMQorIzogam9icy5jOjIzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IG7El3JhIHByb2Nlc28gJWxkIMSvcmHFoW8iCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IGRhcmJhcyAlZCB5cmEgc3VzdGFiZHl0YXMiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogZGFyYmFzIHXFvnNpYmFpZ8SXIgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiBkYXJiYXMgJWQgamF1IGZvbmUiCiAKLSM6IGpvYnMuYzozMDU5CisjOiBqb2JzLmM6MzA4OQogbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUwOAorIzogam9icy5jOjM1MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiJXM6ICVkIGVpbHV0xJc6ICIKIAotIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKKyM6IGpvYnMuYzozNTY0IGpvYnMuYzozNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTc5CisjOiBqb2JzLmM6MzYwOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjM5CisjOiBqb2JzLmM6MzY2OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY0OQorIzogam9icy5jOjM2NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjc3CisjOiBqb2JzLmM6MzcwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICLFoWlvamUgYXBsaW5rb2plIG7El3JhIGRhcmLFsyB2YWxkeW1vIgogCkBAIC0xMjYyLDk5ICsxMjYyLDk5IEBACiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb246IG51a3JlaXBpbW8gaW5zdHJ1a2NpamEg4oCeJWTigJwgdcW+IHJpYsWzIgogCi0jOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CisjOiBwYXJzZS55OjMxNzMgcGFyc2UueTozNDQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGAlYyciCiBtc2dzdHIgIm5ldGlrxJd0YSBmYWlsbyBwYWJhaWdhIGllxaFrYW50IGF0aXRpbmthbW8g4oCeJWPigJwiCiAKLSM6IHBhcnNlLnk6Mzk1MQorIzogcGFyc2UueTo0MDI1CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAibmV0aWvEl3RhIGZhaWxvIHBhYmFpZ2EgaWXFoWthbnQg4oCeXV3igJwiCiAKLSM6IHBhcnNlLnk6Mzk1NgorIzogcGFyc2UueTo0MDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgInNpbnRha3PEl3Mga2xhaWRhIHPEhWx5Z29zIGnFoXJhacWha29qZTogbmV0aWvEl3RhIGxla3NlbWEg4oCeJXPigJwiCiAKLSM6IHBhcnNlLnk6Mzk2MAorIzogcGFyc2UueTo0MDM0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgInNpbnRha3PEl3Mga2xhaWRhIHPEhWx5Z29zIGnFoXJhacWha29qZSIKIAotIzogcGFyc2UueTo0MDM4CisjOiBwYXJzZS55OjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgIm5ldGlrxJd0YSBsZWtzZW1hIOKAniVz4oCcLCB0aWvEl3Rhc2kg4oCeKeKAnCIKIAotIzogcGFyc2UueTo0MDQyCisjOiBwYXJzZS55OjQxMTYKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgInRpa8SXdGFzaSDigJ4p4oCcIgogCi0jOiBwYXJzZS55OjQwNzAKKyM6IHBhcnNlLnk6NDE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm5ldGlrxJd0YXMgYXJndW1lbnRhcyDigJ4lc+KAnCBzxIVseWdvcyB1bmFyaW5pYW0gb3BlcmF0b3JpdWkiCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAibmV0aWvEl3RhcyBhcmd1bWVudGFzIHPEhWx5Z29zIHVuYXJpbmlhbSBvcGVyYXRvcml1aSIKIAotIzogcGFyc2UueTo0MTIwCisjOiBwYXJzZS55OjQxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIm5ldGlrxJd0YSBsZWtzZW1hIOKAniVz4oCcLCB0aWvEl3Rhc2kgc8SFbHlnaW5pbyBiaW5hcmluaW8gb3BlcmF0b3JpYXVzIgogCi0jOiBwYXJzZS55OjQxMjQKKyM6IHBhcnNlLnk6NDE5OAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAidGlrxJd0YXNpIHPEhWx5Z29zIGJpbmFyaW5pbyBvcGVyYXRvcmlhdXMiCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm5ldGlrxJd0YXMgYXJndW1lbnRhcyDigJ4lc+KAnCBzxIVseWdvcyBiaW5hcmluaWFtIG9wZXJhdG9yaXVpIgogCi0jOiBwYXJzZS55OjQxNTAKKyM6IHBhcnNlLnk6NDIyNAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuZXRpa8SXdGFzIGFyZ3VtZW50YXMgc8SFbHlnb3MgYmluYXJpbmlhbSBvcGVyYXRvcml1aSIKIAotIzogcGFyc2UueTo0MTYxCisjOiBwYXJzZS55OjQyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIm5ldGlrxJd0YSBsZWtzZW1hIOKAniVj4oCcIHPEhWx5Z29zIGtvbWFuZG9qZSIKIAotIzogcGFyc2UueTo0MTY0CisjOiBwYXJzZS55OjQyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIm5ldGlrxJd0YSBsZWtzZW1hIOKAniVz4oCcIHPEhWx5Z29zIGtvbWFuZG9qZSIKIAotIzogcGFyc2UueTo0MTY4CisjOiBwYXJzZS55OjQyNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJuZXRpa8SXdGEgbGVrc2VtYSAlZCBzxIVseWdvcyBrb21hbmRvamUiCiAKLSM6IHBhcnNlLnk6NTQ1OQorIzogcGFyc2UueTo1NTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAic2ludGFrc8SXcyBrbGFpZGEgcHJpZSBuZXRpa8SXdG9zIGxla3NlbW9zOiDigJ4lc+KAnCIKIAotIzogcGFyc2UueTo1NDc3CisjOiBwYXJzZS55OjU1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAic2ludGFrc8SXcyBrbGFpZGEgcHJpZSDigJ4lc+KAnCIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgInNpbnRha3PEl3Mga2xhaWRhOiBuZXRpa8SXdGEgZmFpbG8gcGFiYWlnYSIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgInNpbnRha3PEl3Mga2xhaWRhIgogCi0jOiBwYXJzZS55OjU1NDkKKyM6IHBhcnNlLnk6NTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIG1zZ3N0ciAiTmF1ZG9raXRlIOKAniVz4oCcLCBqZWkgbm9yaXRlIGnFoWVpdGkgacWhIGFwLlxuIgogCi0jOiBwYXJzZS55OjU3MTEKKyM6IHBhcnNlLnk6NTgxOAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAibmV0aWvEl3RhIGZhaWxvIHBhYmFpZ2EgaWXFoWthbnQgYXRpdGlua2FtbyDigJ4p4oCcIgogCkBAIC0xMzYzLDc3ICsxMzYzLDc3IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgImNvbXBsZXRpb246IGZ1bmtjaWphIOKAniVz4oCcIG5lcmFzdGEiCiAKLSM6IHBjb21wbGliLmM6MTc5CisjOiBwY29tcGxpYi5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogCi0jOiBwcmludF9jbWQuYzoyOTAKKyM6IHByaW50X2NtZC5jOjI5NgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcmludF9jb21tYW5kOiBiYWQgY29ubmVjdG9yIGAlZCciCiBtc2dzdHIgInByaW50X2NvbW1hbmQ6IGJsb2dhcyBqdW5ndHVrYXMgwqDigJ4lZOKAnCIKIAotIzogcHJpbnRfY21kLmM6MzYzCisjOiBwcmludF9jbWQuYzozNjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiJWQ6IG5ldGFpc3lrbGluZ2FzIGZhaWxvIGRlc2tyaXB0b3JpdXM6ICVzIgogCi0jOiBwcmludF9jbWQuYzozNjgKKyM6IHByaW50X2NtZC5jOjM3MwogbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6Mzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoxNDYxCisjOiBwcmludF9jbWQuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50Zjog4oCeJWPigJw6IG5ldGFpc3lrbGluZ2FzIGZvcm1hdG8gc2ltYm9saXMiCiAKLSM6IHJlZGlyLmM6MTEwCisjOiByZWRpci5jOjEyMgogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImZhaWxvIGRlc2tyaXB0b3JpdXMgdcW+IHJpYsWzIgogCi0jOiByZWRpci5jOjE2NgorIzogcmVkaXIuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIAotIzogcmVkaXIuYzoxNzAKKyM6IHJlZGlyLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBuZWdhbGltYSBwZXJyYcWheXRpIGVnemlzdHVvamFuxI1pbyBmYWlsbyIKIAotIzogcmVkaXIuYzoxNzUKKyM6IHJlZGlyLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogYXByaWJvdGE6IG5lZ2FsaW1hIHBlcmFkcmVzdW90aSBpxaF2ZWRpbW8iCiAKLSM6IHJlZGlyLmM6MTgwCisjOiByZWRpci5jOjE5MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICJuZXBhdnlrbyBzdWt1cnRpIGxhaWtpbm8gZmFpbG8g4oCeaGVyZeKAnCBkb2t1bWVudHVpOiAlcyIKIAotIzogcmVkaXIuYzoxODQKKyM6IHJlZGlyLmM6MTk2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IG5lZ2FsaW1hIHByaXNraXJ0aSBzxIVyYcWhbyBtYXN5dm8gZWxlbWVudHVpIgogCi0jOiByZWRpci5jOjU0NAorIzogcmVkaXIuYzo1NDgKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIi9kZXYvKHRjcHx1ZHApL3NlcnZlcmlzL3ByaWV2YWRhcyBuZXBhbGFpa29tYSBiZSB0aW5rbG8iCiAKLSM6IHJlZGlyLmM6MTEwMQorIzogcmVkaXIuYzo4MTggcmVkaXIuYzo5MzAgcmVkaXIuYzo5OTMgcmVkaXIuYzoxMTM2CiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgIm51a3JlaXBpbW8ga2xhaWRhOiBuZXBhdnlrbyBkdWJsaWt1b3RpIGZkIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAibmVwYXZ5a28gcmFzdGkgL3RtcCwgc3VrdXJraXRlIMWhxK8gYXBsYW5rxIUhIgogCi0jOiBzaGVsbC5jOjMzNgorIzogc2hlbGwuYzozMzcKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiL3RtcCB0dXJpIGLFq3RpIHRhaXN5a2xpbmdhcyBhcGxhbmtvIHBhdmFkaW5pbWFzIgogCkBAIC0xNDQyLDE2ICsxNDQyLDE2IEBACiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IG5ldGFpc3lrbGluZ2FzIHBhcmFtZXRyYXMiCiAKLSM6IHNoZWxsLmM6MTY1MQorIzogc2hlbGwuYzoxNjUyCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICJOZXR1cml1IHZhcmRvISIKIAotIzogc2hlbGwuYzoxNzkzCisjOiBzaGVsbC5jOjE3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICJHTlUgYmFzaCwgdmVyc2lqYSAlcy0oJXMpXG4iCiAKLSM6IHNoZWxsLmM6MTc5NAorIzogc2hlbGwuYzoxNzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgpAQCAtMTQ2MCw0MiArMTQ2MCw0MiBAQAogIk5hdWRvamltYXM6XHQlcyBbR05VIGlsZ2FzIHBhcmFtZXRyYXNdIFtwYXJhbWV0cmFzXSAuLi5cbiIKICJcdCVzIFtHTlUgaWxnYXMgcGFyYW1ldHJhc10gW3BhcmFtZXRyYXNdIHNjZW5hcmlqYXVzLWZhaWxhcyAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzk2CisjOiBzaGVsbC5jOjE3OTgKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJHTlUgaWxnaSBwYXJhbWV0cmFpOlxuIgogCi0jOiBzaGVsbC5jOjE4MDAKKyM6IHNoZWxsLmM6MTgwMgogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkFwbGlua29zIHBhcmFtZXRyYWk6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODAzCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICIiCiAiXHQtaXJzRCBhcmJhIC1jIGtvbWFuZGEgYXJiYSAtTyBzaG9wdF9udXN0YXR5bWFzXHRcdCh0aWsgacWha3ZpZXRpbXVpKVxuIgogCi0jOiBzaGVsbC5jOjE4MTYKKyM6IHNoZWxsLmM6MTgxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgYXJiYSAtbyBudXN0YXR5bWFzXG4iCiAKLSM6IHNoZWxsLmM6MTgyMgorIzogc2hlbGwuYzoxODI0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKICJCYW5keWtpdGUg4oCeJXMgLS1oZWxw4oCcIGFyYmEg4oCeJXMgLS11c2FnZeKAnCwgamVpIG5vcml0ZSBnYXV0aSBkYXVnaWF1ICIKICJpbmZvcm1hY2lqb3MuXG4iCiAKLSM6IHNoZWxsLmM6MTgyMworIzogc2hlbGwuYzoxODI1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICJCYW5keWtpdGUg4oCebGRkIC0taGVscOKAnCwgamVpIG5vcml0ZSBkYXVnaWF1IGluZm9ybWFjaWpvcy4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIk5hdWRva2l0ZSBrb21hbmTEhSDigJ5iYXNoYnVn4oCcIGtsYWlkb21zIHByYW5lxaF0aS5cbiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiBuZXRhaXN5a2xpbmdhIG9wZXJhY2lqYSIKQEAgLTE2NzAsODMgKzE2NzAsODMgQEAKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIk5lxb5pbm9tYXMgc2lnbmFsYXMgIyVkIgogCi0jOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAiYmxvZ2FzIGtlaXRpbnlzOiB0csWra3N0YSDigJ4lc+KAnCAlcyIKIAotIzogc3Vic3QuYzoyNzM1CisjOiBzdWJzdC5jOjI3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiBuZWdhbGltYSBwcmlza2lydGkgc8SFcmHFoW8gbWFzeXZvIGVsZW1lbnR1aSIKIAotIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAorIzogc3Vic3QuYzo0OTc5IHN1YnN0LmM6NDk5NQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDgwMgorIzogc3Vic3QuYzo1MDI3CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDg0NworIzogc3Vic3QuYzo1MDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0ODQ5CisjOiBzdWJzdC5jOjUwNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ4NjcKKyM6IHN1YnN0LmM6NTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo1MDYzCisjOiBzdWJzdC5jOjUyODQKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjUwOTcKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjUxMTQKKyM6IHN1YnN0LmM6NTMzOQogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBwYXJhbWV0cmFzIHR1xaHEjWlhcyBhcmJhIG5lbnVzdGF0eXRhcyIKIAotIzogc3Vic3QuYzo1OTA3CisjOiBzdWJzdC5jOjYxMjUgc3Vic3QuYzo2MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiBwb3Nla2lvIGnFoXJhacWha2EgPCAwIgogCi0jOiBzdWJzdC5jOjY5NjUKKyM6IHN1YnN0LmM6NzI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiJXM6IGJsb2dhcyBrZWl0aW55cyIKIAotIzogc3Vic3QuYzo3MDQ1CisjOiBzdWJzdC5jOjczNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IG5lZ2FsaW1hIHRva2l1IGLFq2R1IHByaXNraXJ0aSIKIAotIzogc3Vic3QuYzo3Mzc0CisjOiBzdWJzdC5jOjc2ODQKIG1zZ2lkICIiCiAiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCiAic3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NzgzOQorIzogc3Vic3QuYzo4MTQ5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJibG9nYXMga2VpdGlueXM6IHRyxatrc3RhIOKAniVz4oCcICVzIgogCi0jOiBzdWJzdC5jOjg3MjAKKyM6IHN1YnN0LmM6OTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgIm7El3JhIGF0aXRpa21lbsWzOiAlcyIKQEAgLTE3NjksMzYgKzE3NjksMzYgQEAKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJ0aWvEl3Rhc2kg4oCeKeKAnCwgcmFzdGEgJXMiCiAKLSM6IHRlc3QuYzoyODAgdGVzdC5jOjY5MyB0ZXN0LmM6Njk2CisjOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTggdGVzdC5jOjcwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiB0aWvEl3Rhc2kgdW5hcmluaW8gb3BlcmF0b3JpYXVzIgogCi0jOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogdGlrxJd0YXNpIGJpbmFyaW5pbyBvcGVyYXRvcmlhdXMiCiAKLSM6IHRlc3QuYzo4MTEKKyM6IHRlc3QuYzo4MTYKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAidHLFq2tzdGEg4oCeXeKAnCIKIAotIzogdHJhcC5jOjIwMworIzogdHJhcC5jOjIwNwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAibmV0YWlzeWtsaW5nYXMgc2lnbmFsbyBudW1lcmlzIgogCi0jOiB0cmFwLmM6MzI3CisjOiB0cmFwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiBibG9nYSB0cmFwX2xpc3RbJWRdIHJlaWvFoW3ElzogJXAiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWxvIGRvcm9rbMSXIHlyYSBTSUdfREZMLCBzaXVuxI1pYW1hcyAlZCAoJXMpIHNhdSIKIAotIzogdHJhcC5jOjM4MAorIzogdHJhcC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcjogYmxvZ2FzIHNpZ25hbGFzICVkIgpAQCAtMTgwOCw1OCArMTgwOCw1OSBAQAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJrbGFpZGEgaW1wb3J0dW9qYW50IGZ1bmtjaWpvcyBhcGlicsSXxb5pbcSFIOKAniVz4oCcIgogCi0jOiB2YXJpYWJsZXMuYzo3NDgKKyM6IHZhcmlhYmxlcy5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAiYXBsaW5rb3MgbHlnbXVvICglZCkgcGVyIGF1a8WhdGFzLCBudXN0YXRvbWEgxK8gMSIKIAotIzogdmFyaWFibGVzLmM6MTkxNQorIzogdmFyaWFibGVzLmM6MTkzMgogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMTU5CisjOiB2YXJpYWJsZXMuYzozMTgyCiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNzYKKyM6IHZhcmlhYmxlcy5jOjM0MjcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKIG1zZ3N0ciAiJXM6IHBhcmFtZXRyYXMgdHXFocSNaWFzIGFyYmEgbmVudXN0YXR5dGFzIgogCi0jOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKKyM6IHZhcmlhYmxlcy5jOjM0MzIgdmFyaWFibGVzLmM6MzQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJuZXRhaXN5a2xpbmdhcyBzaW1ib2xpcyAlZCAlcyBleHBvcnRzdHInZSIKIAotIzogdmFyaWFibGVzLmM6MzM5NgorIzogdmFyaWFibGVzLmM6MzQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiJXMgZXhwb3J0c3RyJ2UgdHLFq2tzdGEg4oCePeKAnCIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODQ4CisjOiB2YXJpYWJsZXMuYzozOTA0CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDogbsSXcmEgZ2xvYmFsX3ZhcmlhYmxlcyBrb250ZWtzdG8iCiAKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4CisjOiB2YXJpYWJsZXMuYzo0Nzg2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCiBtc2dzdHIgIiVzOiBuZXBhdnlrbyBhdHZlcnRpOiAlcyIKIAotIzogdmFyaWFibGVzLmM6NDY4MworIzogdmFyaWFibGVzLmM6NDc5MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCiBtc2dzdHIgIiVkOiBuZXRhaXN5a2xpbmdhcyBmYWlsbyBkZXNrcmlwdG9yaXVzOiAlcyIKIAogIzogdmVyc2lvbi5jOjQ2Ci1tc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKKyMsIGZ1enp5Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiQXV0b3JpbsSXcyB0ZWlzxJdzIChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIAogIzogdmVyc2lvbi5jOjQ3CkBAIC0xOTUxLDcgKzE5NTIsOCBAQAogbXNnc3RyICJjYWxsZXIgW2nFoXJhacWha2FdIgogCiAjOiBidWlsdGlucy5jOjY0Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKKyMsIGZ1enp5Cittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCiBtc2dzdHIgImNkIFstTHwtUF0gW2FwbGFua2FzXSIKIAogIzogYnVpbHRpbnMuYzo2NgpAQCAtMTk3NSwxMSArMTk3NywxMyBAQAogbXNnc3RyICJjb21tYW5kIFstcFZ2XSBrb21hbmRhIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzo3NgotbXNnaWQgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAiZGVjbGFyZSBbLWFBZkZnaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKIG1zZ3N0ciAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW3BhdmFkaW5pbWFzWz1yZWlrxaFtxJddIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6NzgKLW1zZ2lkICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgorIywgZnV6enkKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKIG1zZ3N0ciAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gcGF2YWRpbmltYXNbPXJlaWvFoW3El10gLi4uIgogCiAjOiBidWlsdGlucy5jOjgwCkBAIC0yMDc3LDcgKzIwODEsOCBAQAogbXNnc3RyICJyZXR1cm4gW25dIgogCiAjOiBidWlsdGlucy5jOjE0MAotbXNnaWQgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbYXJnIC4uLl0iCisjLCBmdXp6eQorbXNnaWQgInNldCBbLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFstLV0gW2FyZyAuLi5dIgogbXNnc3RyICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBudXN0YXR5bWFzXSBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQyCkBAIC0yMDg5LDcgKzIwOTQsOCBAQAogbXNnc3RyICJleHBvcnQgWy1mbl0gW3BhdmFkaW5pbWFzWz12ZXJ0xJddIC4uLl0gYXJiYSBleHBvcnQgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ2Ci1tc2dpZCAicmVhZG9ubHkgWy1hZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgorIywgZnV6enkKK21zZ2lkICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgogbXNnc3RyICJyZWFkb25seSBbLWFmXSBbcGF2YWRpbmltYXNbPXZlcnTEl10gLi4uXSBhcmJhIHJlYWRvbmx5IC1wIgogCiAjOiBidWlsdGlucy5jOjE0OApAQCAtMjQzMCwxMSArMjQzNiwxNSBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIlBha2Vpc3RpIGVzYW3EhSBhcGxhbmvEhSDEryBESVIuICBLaW50YW1hc2lzICRIT01FIHlyYVxuIgogIiAgICBudW1hdHl0YXNpcyBESVIuICBLaW50YW1hc2lzIENEUEFUSCBudXJvZG8gYXBsYW5rdXMsIGt1cml1b3NlIGJ1c1xuIgpAQCAtMjQ0OCw3ICsyNDU4LDcgQEAKICIgICAgdcW+dW90IHNla3VzIHNpbWJvbGluZXMgbnVvcm9kYXM7IHBhcmFtZXRyYXMgLUwgbnVyb2RvLCBrYWQgdHVyaSBixat0aVxuIgogIiAgICBzZWthbWEgc2ltYm9saW7El21pcyBudW9yb2RvbWlzLiIKIAotIzogYnVpbHRpbnMuYzo0MTEKKyM6IGJ1aWx0aW5zLmM6NDE0CiBtc2dpZCAiIgogIlByaW50IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI0NjQsNyArMjQ3NCw3IEBACiAiICAgIGNhbm5vdCBiZSByZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQyOAorIzogYnVpbHRpbnMuYzo0MzEKICMsIGZ1enp5CiBtc2dpZCAiIgogIk51bGwgY29tbWFuZC5cbiIKQEAgLTI0NzUsNyArMjQ4NSw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIkpva2lvIGVmZWt0bzsga29tYW5kYSBuaWVrbyBuZWRhcm8uICBHcsSFxb5pbmFtYXMga2xhaWRvcyBrb2RhcyAwLiIKIAotIzogYnVpbHRpbnMuYzo0MzkKKyM6IGJ1aWx0aW5zLmM6NDQyCiBtc2dpZCAiIgogIlJldHVybiBhIHN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI0ODMsNyArMjQ5Myw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0NDgKKyM6IGJ1aWx0aW5zLmM6NDUxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHJlc3VsdC5cbiIKQEAgLTI0OTIsNyArMjUwMiw3IEBACiAiICAgIEFsd2F5cyBmYWlscy4iCiBtc2dzdHIgIkdyxIXFvmludGkgbmVzxJdrbWluZ8SFIHJlenVsdGF0xIUuIgogCi0jOiBidWlsdGlucy5jOjQ1NworIzogYnVpbHRpbnMuYzo0NjAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjUxMSw3ICsyNTIxLDcgQEAKICIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBDT01NQU5ELCBvciBmYWlsdXJlIGlmIENPTU1BTkQgaXMgbm90IGZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ3NgorIzogYnVpbHRpbnMuYzo0NzkKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCkBAIC0yNTIyLDYgKzI1MzIsOCBAQAogIiAgICAgIC1mXHRyZXN0cmljdCBhY3Rpb24gb3IgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBhbmQgZGVmaW5pdGlvbnNcbiIKICIgICAgICAtRlx0cmVzdHJpY3QgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBvbmx5IChwbHVzIGxpbmUgbnVtYmVyIGFuZFxuIgogIiAgICBcdHNvdXJjZSBmaWxlIHdoZW4gZGVidWdnaW5nKVxuIgorIiAgICAgIC1nXHRjcmVhdGUgZ2xvYmFsIHZhcmlhYmxlcyB3aGVuIHVzZWQgaW4gYSBzaGVsbCBmdW5jdGlvbjsgb3RoZXJ3aXNlXG4iCisiICAgIFx0aWdub3JlZFxuIgogIiAgICAgIC1wXHRkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZSBvZiBlYWNoIE5BTUVcbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnMgd2hpY2ggc2V0IGF0dHJpYnV0ZXM6XG4iCkBAIC0yNTQxLDIwICsyNTUzLDIwIEBACiAiICAgIFxuIgogIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiAiYGxvY2FsJ1xuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIGAtZycgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MTIKKyM6IGJ1aWx0aW5zLmM6NTE3CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgogIiAgICBPYnNvbGV0ZS4gIFNlZSBgaGVscCBkZWNsYXJlJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MjAKKyM6IGJ1aWx0aW5zLmM6NTI1CiBtc2dpZCAiIgogIkRlZmluZSBsb2NhbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMjU2OSw3ICsyNTgxLDcgQEAKICIgICAgb3IgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MzcKKyM6IGJ1aWx0aW5zLmM6NTQyCiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI2MDAsNyArMjYxMiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTcxCisjOiBidWlsdGlucy5jOjU3NgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yNjEzLDcgKzI2MjUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjU4NgorIzogYnVpbHRpbnMuYzo1OTEKIG1zZ2lkICIiCiAiRW5hYmxlIGFuZCBkaXNhYmxlIHNoZWxsIGJ1aWx0aW5zLlxuIgogIiAgICBcbiIKQEAgLTI2NDAsNyArMjY1Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgYSBzaGVsbCBidWlsdGluIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2MTQKKyM6IGJ1aWx0aW5zLmM6NjE5CiBtc2dpZCAiIgogIkV4ZWN1dGUgYXJndW1lbnRzIGFzIGEgc2hlbGwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNjUyLDcgKzI2NjQsNyBAQAogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIGNvbW1hbmQgb3Igc3VjY2VzcyBpZiBjb21tYW5kIGlzIG51bGwuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NjI2CisjOiBidWlsdGlucy5jOjYzMQogbXNnaWQgIiIKICJQYXJzZSBvcHRpb24gYXJndW1lbnRzLlxuIgogIiAgICBcbiIKQEAgLTI2OTMsNyArMjcwNSw3IEBACiAiICAgIGVuY291bnRlcmVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2NjgKKyM6IGJ1aWx0aW5zLmM6NjczCiBtc2dpZCAiIgogIlJlcGxhY2UgdGhlIHNoZWxsIHdpdGggdGhlIGdpdmVuIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjcxNiw3ICsyNzI4LDcgQEAKICJvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6Njg5CisjOiBidWlsdGlucy5jOjY5NAogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhpdCB0aGUgc2hlbGwuXG4iCkBAIC0yNzI4LDcgKzI3NDAsNyBAQAogIm51c3RhdG9tYXNcbiIKICIgICAgcGFza3V0aW7El3MgdnlrZHl0b3Mga29tYW5kb3Mga2xhaWRvcyBrb2Rhcy4iCiAKLSM6IGJ1aWx0aW5zLmM6Njk4CisjOiBidWlsdGlucy5jOjcwMwogbXNnaWQgIiIKICJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMjczNyw3ICsyNzQ5LDcgQEAKICIgICAgaW4gYSBsb2dpbiBzaGVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3MDgKKyM6IGJ1aWx0aW5zLmM6NzEzCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMjc2Nyw3ICsyNzc5LDcgQEAKICJvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzM4CisjOiBidWlsdGlucy5jOjc0MwogbXNnaWQgIiIKICJNb3ZlIGpvYiB0byB0aGUgZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0yNzc5LDcgKzI3OTEsNyBAQAogIiAgICBTdGF0dXMgb2YgY29tbWFuZCBwbGFjZWQgaW4gZm9yZWdyb3VuZCwgb3IgZmFpbHVyZSBpZiBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogbXNnaWQgIiIKICJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMjc5Myw3ICsyODA1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzY3CisjOiBidWlsdGlucy5jOjc3MgogbXNnaWQgIiIKICJSZW1lbWJlciBvciBkaXNwbGF5IHByb2dyYW0gbG9jYXRpb25zLlxuIgogIiAgICBcbiIKQEAgLTI4MTcsNyArMjgyOSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgZm91bmQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjgzOSw3ICsyODUxLDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4MTYKKyM6IGJ1aWx0aW5zLmM6ODIxCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTI4NzMsNyArMjg4NSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg1MgorIzogYnVpbHRpbnMuYzo4NTcKIG1zZ2lkICIiCiAiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKICIgICAgXG4iCkBAIC0yODk3LDcgKzI5MDksNyBAQAogIiAgICBJZiAteCBpcyB1c2VkLCByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg3OQorIzogYnVpbHRpbnMuYzo4ODQKIG1zZ2lkICIiCiAiUmVtb3ZlIGpvYnMgZnJvbSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI5MTQsNyArMjkyNiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4OTgKKyM6IGJ1aWx0aW5zLmM6OTAzCiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMjkzNiw3ICsyOTQ4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6OTIxCisjOiBidWlsdGlucy5jOjkyNgogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb25zLlxuIgogIiAgICBcbiIKQEAgLTI5NzgsMTAgKzI5OTAsMTAgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjk2NgorIzogYnVpbHRpbnMuYzo5NzEKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgogIiAgICBcbiIKQEAgLTMwMjksNyArMzA0MSw3IEBACiAiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDA5CisjOiBidWlsdGlucy5jOjEwMTQKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMDQxLDcgKzMwNTMsNyBAQAogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMxMTAsNiArMzEyMiw5IEBACiAiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgogIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCiAiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKICIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKICIgICAgXG4iCkBAIC0zMTIzLDcgKzMxMzgsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMDQKKyM6IGJ1aWx0aW5zLmM6MTExMgogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzE0Myw3ICszMTU4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTMxNjIsNyArMzE3Nyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzE4Miw3ICszMTk3LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2NAorIzogYnVpbHRpbnMuYzoxMTcyCiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMTkzLDcgKzMyMDgsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgpAQCAtMzIxMiw3ICszMjI3LDcgQEAKICIgICAgSmVpIG51cm9keXRhIEFSR1VNRU5UxbIsIGppZSB0YW1wYSBwb3ppY2luaWFpcyBwYXJhbWV0cmFpcyBpxaFrdmlldHVzXG4iCiAiICAgIEZBSUzEhC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNworIzogYnVpbHRpbnMuYzoxMjE1CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMyMjYsMTQgKzMyNDEsMTcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMworIzogYnVpbHRpbnMuYzoxMjMxCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgogIiAgICBFeGl0cyB3aXRoIGEgc3RhdHVzIG9mIDAgKHRydWUpIG9yIDEgKGZhbHNlKSBkZXBlbmRpbmcgb25cbiIKICIgICAgdGhlIGV2YWx1YXRpb24gb2YgRVhQUi4gIEV4cHJlc3Npb25zIG1heSBiZSB1bmFyeSBvciBiaW5hcnkuICBVbmFyeVxuIgogIiAgICBleHByZXNzaW9ucyBhcmUgb2Z0ZW4gdXNlZCB0byBleGFtaW5lIHRoZSBzdGF0dXMgb2YgYSBmaWxlLiAgVGhlcmVcbiIKLSIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYXMgd2VsbCwgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMuXG4iCisiICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzIGFzIHdlbGwuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYmVoYXZpb3Igb2YgdGVzdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzLiAgUmVhZCB0aGVcbiIKKyIgICAgYmFzaCBtYW51YWwgcGFnZSBmb3IgdGhlIGNvbXBsZXRlIHNwZWNpZmljYXRpb24uXG4iCiAiICAgIFxuIgogIiAgICBGaWxlIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCkBAIC0zMjg3LDYgKzMzMDUsNyBAQAogIiAgICBPdGhlciBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgogIiAgICAgIC1vIE9QVElPTiAgICAgIFRydWUgaWYgdGhlIHNoZWxsIG9wdGlvbiBPUFRJT04gaXMgZW5hYmxlZC5cbiIKKyIgICAgICAtdiBWQVJcdCBUcnVlIGlmIHRoZSBzaGVsbCB2YXJpYWJsZSBWQVIgaXMgc2V0XG4iCiAiICAgICAgISBFWFBSICAgICAgICAgVHJ1ZSBpZiBleHByIGlzIGZhbHNlLlxuIgogIiAgICAgIEVYUFIxIC1hIEVYUFIyIFRydWUgaWYgYm90aCBleHByMSBBTkQgZXhwcjIgYXJlIHRydWUuXG4iCiAiICAgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS5cbiIKQEAgLTMzMDMsNyArMzMyMiw3IEBACiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTI5OQorIzogYnVpbHRpbnMuYzoxMzExCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzMxMSw3ICszMzMwLDcgQEAKICIgICAgYmUgYSBsaXRlcmFsIGBdJywgdG8gbWF0Y2ggdGhlIG9wZW5pbmcgYFsnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzMyMyw3ICszMzQyLDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC0zMzM5LDcgKzMzNTgsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtMzM1OSw3ICszMzg2LDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzUyCisjOiBidWlsdGlucy5jOjEzNjgKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtMzM4OSw3ICszNDE2LDcgQEAKICJmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzgzCisjOiBidWlsdGlucy5jOjEzOTkKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC0zNDMzLDcgKzM0NjAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDI4CisjOiBidWlsdGlucy5jOjE0NDQKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtMzQ1MSw3ICszNDc4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzQ2OCw3ICszNDk1LDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2NgorIzogYnVpbHRpbnMuYzoxNDgyCiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM0ODIsNyArMzUwOSw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0ODEKKyM6IGJ1aWx0aW5zLmM6MTQ5NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzQ5NSw3ICszNTIyLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtMzUxMiw3ICszNTM5LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMworIzogYnVpbHRpbnMuYzoxNTI5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zNTMyLDcgKzM1NTksNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTM0CisjOiBidWlsdGlucy5jOjE1NTAKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU0OCw3ICszNTc1LDcgQEAKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU1MQorIzogYnVpbHRpbnMuYzoxNTY3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC0zNTU5LDcgKzM1ODYsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTYzCisjOiBidWlsdGlucy5jOjE1NzkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC0zNTgwLDcgKzM2MDcsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCisjOiBidWlsdGlucy5jOjE1OTYKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCkBAIC0zNTk0LDcgKzM2MjEsNyBAQAogIknFoXNrbGVpc3RpIGlyIHZ5a2R5dGkgS09NQU5EQVMgdG9sLCBrb2wgZ2FsdXRpbsSXIGtvbWFuZGEgacWhXG4iCiAiICAgIOKAnndoaWxl4oCcIGtvbWFuZMWzIGdyxIXFvmluYSBrbGFpZG9zIGtvZMSFIDAuIgogCi0jOiBidWlsdGlucy5jOjE1OTIKKyM6IGJ1aWx0aW5zLmM6MTYwOAogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgpAQCAtMzYwOCw3ICszNjM1LDcgQEAKICJJxaFza2xlaXN0aSBpciB2eWtkeXRpIEtPTUFOREFTIHRvbCwga29sIGdhbHV0aW7ElyBrb21hbmRhIGnFoVxuIgogIiAgICDigJ51bnRpbOKAnCBrb21hbmTFsyBncsSFxb5pbmEga2xhaWRvcyBrb2TEhSwgbmVseWfFsyAwLiIKIAotIzogYnVpbHRpbnMuYzoxNjA0CisjOiBidWlsdGlucy5jOjE2MjAKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtMzYyMSw3ICszNjQ4LDcgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjE4CisjOiBidWlsdGlucy5jOjE2MzQKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2MzUsNyArMzY2Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCisjOiBidWlsdGlucy5jOjE2NDgKICMsIGZ1enp5CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKQEAgLTM2NDksNyArMzY3Niw3IEBACiAiVnlrZHl0aSBlaWzEmSBrb21hbmTFsyBncnVwxJdqZS4gIFRhaSB5cmEgdmllbmFzIGnFoSBixatkxbMgbnVrcmVpcHRpXG4iCiAiICAgIHZpc29zIGVpbMSXcyBrb21hbmTFsyDEr3ZlZGltxIUvacWhdmVkaW3EhS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY0NAorIzogYnVpbHRpbnMuYzoxNjYwCiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zNjYzLDcgKzM2OTAsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NTkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzY3NCw3ICszNzAxLDcgQEAKICIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY3MQorIzogYnVpbHRpbnMuYzoxNjg3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zNzAyLDcgKzM3MjksNyBAQAogIiAgICAwIG9yIDEgZGVwZW5kaW5nIG9uIHZhbHVlIG9mIEVYUFJFU1NJT04uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NworIzogYnVpbHRpbnMuYzoxNzEzCiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtMzc1Niw3ICszNzgzLDcgQEAKICIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc1NAorIzogYnVpbHRpbnMuYzoxNzcwCiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzg3LDcgKzM4MTQsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc4OAorIzogYnVpbHRpbnMuYzoxODA0CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM4MTQsNyArMzg0MSw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODE4CisjOiBidWlsdGlucy5jOjE4MzQKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzg0Myw3ICszODcwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NworIzogYnVpbHRpbnMuYzoxODYzCiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zODY0LDcgKzM4OTEsNyBAQAogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAogIywgZnV6enkKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCkBAIC0zODg4LDYgKzM5MTUsOSBAQAogIiAgICBcbiIKICIgICAgICAlYlx0ZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50XG4iCiAiICAgICAgJXFcdHF1b3RlIHRoZSBhcmd1bWVudCBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXRcbiIKKyIgICAgICAlKGZtdClUIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcgZnJvbSB1c2luZyBGTVQgYXMgYSAiCisiZm9ybWF0XG4iCisiICAgICAgICAgICAgc3RyaW5nIGZvciBzdHJmdGltZSgzKVxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSB3cml0ZSBvciAiCkBAIC0zOTA2LDcgKzM5MzYsNyBAQAogIiAgICBKZWkgcGF0ZWlrdGFzIHBhcmFtZXRyYXMgLXYsIGnFoXZlZGltYXMgxK9yYcWhb21hcyDEryBhcGxpbmtvcyBraW50YW3EhWrEr1xuIgogIiAgICBLSU5ULCB1xb51b3Qgc3BhdXNkaW51cyDEryBzdGFuZGFydGluxK8gacWhdmVkaW3EhS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg5NQorIzogYnVpbHRpbnMuYzoxOTEzCiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTM5MzMsNyArMzk2Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MjMKKyM6IGJ1aWx0aW5zLmM6MTk0MQogIywgZnV6enkKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCkBAIC0zOTUxLDEzICszOTgxLDEzIEBACiAiICAgIEplaSBwYXRlaWt0YXMgbmVixat0aW5hc2lzIMW9T0TFvUlPIGFyZ3VtZW50YXMsIGnFoXZlZGFtaSDEr3JhxaFhaSxcbiIKICIgICAgYXRpdGlua2FudHlzIMW9T0TEri4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzOAorIzogYnVpbHRpbnMuYzoxOTU2CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCiAiICAgIE1vZGlmeSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBubyBOQU1FcyBhcmUgIgogInN1cHBsaWVkLFxuIgotIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVnaW4gZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbm0sICIKKyIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlaW5nIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW4sICIKICJwcmludFxuIgogIiAgICB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUgb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbiAiCiAic3BlY2lmaWNhdGlvbi5cbiIKQEAgLTM5ODIsNyArNDAxMiw3IEBACiAiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTY4CisjOiBidWlsdGlucy5jOjE5ODYKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpAQCAtNDAxMCw3ICs0MDQwLDggQEAKICIgICAgXG4iCiAiICAgIElmIC1DIGlzIHN1cHBsaWVkIHdpdGhvdXQgLWMsIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4gIFdoZW5cbiIKICIgICAgQ0FMTEJBQ0sgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJyYXlcbiIKLSIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50LlxuIgorIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnRcbiIKKyIgICAgYXMgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgogIiAgICBJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiBleHBsaWNpdCBvcmlnaW4sIG1hcGZpbGUgd2lsbCBjbGVhciBBUlJBWSAiCiAiYmVmb3JlXG4iCkBAIC00MDIyLDcgKzQwNTMsNyBAQAogIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoyMDAxCisjOiBidWlsdGlucy5jOjIwMjAKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKZGlmZiAtLWdpdCBhL3BvL25sLmdtbyBiL3BvL25sLmdtbwppbmRleCA5ZmY4YjI1Li4yNTMwYTEyIDEwMDY0NAotLS0gYS9wby9ubC5nbW8KKysrIGIvcG8vbmwuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL25sLnBvIGIvcG8vbmwucG8KaW5kZXggNDhiMzgyZi4uMGY4N2VjNiAxMDA2NDQKLS0tIGEvcG8vbmwucG8KKysrIGIvcG8vbmwucG8KQEAgLTEsNCArMSw0IEBACi0jIER1dGNoIHRyYW5zbGF0aW9ucyBmb3IgYmFzaAorIyBEdXRjaCB0cmFuc2xhdGlvbnMgZm9yIGJhc2guCiAjIENvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIGJhc2ggcGFja2FnZS4KICMKQEAgLTgsOCArOCw2IEBACiAjIGRlIG9uYmVwYWFsZGUgd2lqcywgbWFhciBoZXQgYmVnaW4gZGUgZ2VkZXRhaWxsZWVyZGVyZSBvbXNjaHJpanZpbmcKICMgc3RhcHQgb3ZlciBvcCBkZSBkZXJkZSBwZXJzb29uLCBvbSBkYWFybmEgZWVuIHBhc3NpZXZlIHZvcm0gdGUKICMgZ2VicnVpa2VuIHZvb3IgZGUgcmVzdCB2YW4gZGUgcHJlY2lzZXJpbmdlbiBlbiB1aXR6b25kZXJpbmdlbi4KLSMgRGV6ZSBvcHpldCBpcyBub2cgbmlldCBoZWxlbWFhbCBjb25zZXF1ZW50IGRvb3JnZXZvZXJkOyB2b29yIGRlCi0jIHZvbGdlbmRlIHZlcnRhbGVyIGlzIGVyIGR1cyBub2cgcnVpbXNjaG9vdHMgd2Vyay4gIC0tICBCZW5ubywgMjAwOAogIwogIyBPcG1lcmtpbmcgb3ZlciB2b2NhYnVsYWlyOgogIyAnU3RvcHBlZCcgd29yZHQgY29uc2VxdWVudCB2ZXJ0YWFsZCBtZXQgIkdlcGF1emVlcmQiLCBvbWRhdCAiR2VzdG9wdCIKQEAgLTE5LDI3ICsxNywyNyBAQAogIwogIyBFcmljayBCcmFuZGVyaG9yc3QgPGJyYW5kZXJoQGlhZWh2Lm5sPiwgMTk5Ni4KICMgSnVsaWUgVmVybWVlcnNjaCA8anVsaWVAbGFtYmRhMS5iZT4sIDIwMDQuCi0jIEJlbm5vIFNjaHVsZW5iZXJnIDxiZW5ub0B2ZXJ0YWFsdC5ubD4sIDIwMDYsIDIwMDguCiAjIEVyd2luIFBvZXplIDxlcndpbi5wb2V6ZUBnbWFpbC5jb20+LCAyMDA5LgorIyBCZW5ubyBTY2h1bGVuYmVyZyA8YmVubm9AdmVydGFhbHQubmw+LCAyMDA2LCAyMDA4LCAyMDEwLgogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaC00LjBcbiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2gtNC4xXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDA5LTEyLTAzIDE1OjE1KzAxMDBcbiIKLSJMYXN0LVRyYW5zbGF0b3I6IEVyd2luIFBvZXplIDxlcndpbi5wb2V6ZUBnbWFpbC5jb20+XG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTAtMDQtMjAgMjE6MDYrMDIwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogQmVubm8gU2NodWxlbmJlcmcgPGJlbm5vQHZlcnRhYWx0Lm5sPlxuIgogIkxhbmd1YWdlLVRlYW06IER1dGNoIDx2ZXJ0YWxpbmdAdnJpanNjaHJpZnQub3JnPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCiAiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCiAiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgotIlgtR2VuZXJhdG9yOiBLQmFiZWwgMS4xMS40XG4iCisiWC1HZW5lcmF0b3I6IExva2FsaXplIDEuMFxuIgogIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgogCiAjOiBhcnJheWZ1bmMuYzo1MAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgIm9uZ2VsZGlnZSBhcnJheS1pbmRleCIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6IGthbiBnZcOvbmRleGVlcmQgYXJyYXkgbmlldCBvbXpldHRlbiBuYWFyIGFzc29jaWF0aWVmIGFycmF5IgpAQCAtNTksMzkgKzU3LDM5IEBACiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiAlczogZWVuIGluZGV4IGlzIG5vZGlnIGJpaiB0b2VrZW5uaW5nIGFhbiBhc3NvY2lhdGllZiBhcnJheSIKIAotIzogYmFzaGhpc3QuYzozODMKKyM6IGJhc2hoaXN0LmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiS2FuICVzIG5pZXQgYWFubWFrZW46ICVzIgogCi0jOiBiYXNobGluZS5jOjM0NTcKKyM6IGJhc2hsaW5lLmM6MzQ5OAogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQoKToga2FuIHZvb3Igb3BkcmFjaHQgZ2VlbiB0b2V0c2Vua2FhcnQgdmluZGVuIgogCi0jOiBiYXNobGluZS5jOjM1NDMKKyM6IGJhc2hsaW5lLmM6MzU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczogZWVyc3RlIHRla2VuIGRhdCBnZWVuIHdpdHJ1aW10ZSBpcyBpcyBuaWV0ICdcIiciCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAiZ2VlbiBzbHVpdC0nJWMnIGluICVzIgogCi0jOiBiYXNobGluZS5jOjM2MDYKKyM6IGJhc2hsaW5lLmM6MzY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiBvbnRicmVrZW5kIHNjaGVpZGluZ3N0ZWtlbiAoZHViYmVsZSBwdW50KSIKIAogIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IGludmFsaWQgYWxpYXMgbmFtZSIKLW1zZ3N0ciAiJyVzJzogb25nZWxkaWdlIG5hYW0gdm9vciB0b2V0c2Vua2FhcnQiCittc2dzdHIgIiclcyc6IG9uZ2VsZGlnZSBuYWFtIHZvb3IgYWxpYXMiCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCi1tc2dzdHIgImJld2Vya2VuIHZhbiByZWdlbHMgbmlldCBpbmdlc2NoYWtlbGQiCittc2dzdHIgInJlZ2VsYmV3ZXJraW5nIGlzIG5pZXQgaW5nZXNjaGFrZWxkIgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjoyMDYKICMsIGMtZm9ybWF0CkBAIC0xMzcsMzAgKzEzNSwxNSBAQAogIiAgICBcbiIKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiIgotIkdlZWZ0IGRlIGNvbnRleHQgdmFuIGRlIGh1aWRpZ2UgZnVuY3RpZS1hYW5yb2VwLlxuIgotIiAgICBcbiIKKyJEZSBjb250ZXh0IGdldmVuIHZhbiBkZSBodWlkaWdlIGZ1bmN0aWUtYWFucm9lcC5cbiIKKyJcbiIKICIgICAgWm9uZGVyIEVYUFIsIHJlc3VsdGVlcnQgIgogCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQotbXNnaWQgIiIKLSIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKLSIgICAgIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Ci1tc2dpZCAiIgotIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgotIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCi0iICAgIFxuIgotIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCi0iICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyMzUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIkhPTUUgaXMgbmlldCBnZWRlZmluaWVlcmQiCiAKLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMjcKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyNDcKIG1zZ2lkICJPTERQV0Qgbm90IHNldCIKIG1zZ3N0ciAiT0xEUFdEIGlzIG5pZXQgZ2VkZWZpbmllZXJkIgogCkBAIC0xNzcsMTMgKzE2MCwxMyBAQAogIzogYnVpbHRpbnMvY29tbW9uLmM6MTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1c2FnZTogIgotbXNnc3RyICIlczogZ2VicnVpazogIgorbXNnc3RyICIlczogR2VicnVpazogICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJ0ZSB2ZWVsIGFyZ3VtZW50ZW4iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NTAwIHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBvcHRpZSB2ZXJlaXN0IGVlbiBhcmd1bWVudCIKQEAgLTIyMSw3ICsyMDQsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAib25nZWxkaWcgaGV4YWRlY2ltYWFsIGdldGFsIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTM2MgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJvbmdlbGRpZyBnZXRhbCIKIApAQCAtMjkwLDEyICsyNzMsMTIgQEAKICM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICJlcnJvciBzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVzIgotbXNnc3RyICJJbnN0ZWxsZW4gdGVybWluYWxhdHRyaWJ1dGVuIGlzIG1pc2x1a3Q6ICVzIgorbXNnc3RyICJmb3V0IHRpamRlbnMgaW5zdGVsbGVuIHZhbiB0ZXJtaW5hbGVpZ2Vuc2NoYXBwZW46ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzozMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgZ2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKLW1zZ3N0ciAiT3BoYWxlbiB0ZXJtaW5hbGF0dHJpYnV0ZW4gaXMgbWlzbHVrdDogJXMiCittc2dzdHIgImZvdXQgdGlqZGVucyB2ZXJrcmlqZ2VuIHZhbiB0ZXJtaW5hbGVpZ2Vuc2NoYXBwZW46ICVzIgogCiAjOiBidWlsdGlucy9jb21tb24uYzo1NjMKICMsIGMtZm9ybWF0CkBAIC0zMzAsMjUgKzMxMywyNSBAQAogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgImVyIHdvcmR0IG1vbWVudGVlbCBnZWVuIGNvbXBsZXRlcmluZ3NmdW5jdGllIHVpdGdldm9lcmQiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyMgorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTI0CiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJrYW4gYWxsZWVuIHdvcmRlbiBnZWJydWlrdCBiaW5uZW4gZWVuIGZ1bmN0aWUiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2MAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzY2CiBtc2dpZCAiY2Fubm90IHVzZSBgLWYnIHRvIG1ha2UgZnVuY3Rpb25zIgogbXNnc3RyICInLWYnIGthbiBuaWV0IGdlYnJ1aWt0IHdvcmRlbiBvbSBlZW4gZnVuY3RpZSB0ZSBkZWZpbmnDq3JlbiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBpcyBlZW4gYWxsZWVuLWxlemVuIGZ1bmN0aWUiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiVzOiBrYW4gYXJyYXktdmFyaWFiZWxlbiBuaWV0IG9wIGRlemUgbWFuaWVyIHZlcndpamRlcmVuIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiJXM6IGthbiBhc3NvY2lhdGllZiBhcnJheSBuaWV0IG9temV0dGVuIG5hYXIgZ2XDr25kZXhlZXJkIGFycmF5IgpAQCAtMzc3LDI5ICszNjAsMjkgQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIkthbiAlcyBuaWV0IHZlcndpamRlcmVuOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAotIzogc2hlbGwuYzoxNDUyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNSBidWlsdGlucy9oYXNoLmRlZjoxNzEgZXhlY3V0ZV9jbWQuYzo0OTYxCisjOiBzaGVsbC5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogaXMgZWVuIG1hcCIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIiVzOiBpcyBnZWVuIG5vcm1hYWwgYmVzdGFuZCIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDcKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiJXM6IGJlc3RhbmQgaXMgdGUgZ3Jvb3QiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTg1IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAzIGV4ZWN1dGVfY21kLmM6NDg2NAotIzogc2hlbGwuYzoxNDYyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4MiBidWlsdGlucy9ldmFsZmlsZS5jOjIwMCBleGVjdXRlX2NtZC5jOjUwMzIKKyM6IHNoZWxsLmM6MTQ2NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGUgYmluYXJ5IGZpbGUiCiBtc2dzdHIgIiVzOiBrYW4gZWVuIGJpbmFpciBiZXN0YW5kIG5pZXQgdWl0dm9lcmVuIgogCi0jOiBidWlsdGlucy9leGVjLmRlZjoyMTIKKyM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NCBidWlsdGlucy9leGVjLmRlZjoxNTYgYnVpbHRpbnMvZXhlYy5kZWY6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCiBtc2dzdHIgIkthbiAlcyBuaWV0IHVpdHZvZXJlbjogJXMiCkBAIC00MjcsMTEgKzQxMCwxMSBAQAogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgImdlZW4gb3BkcmFjaHQgZ2V2b25kZW4iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiZ2VzY2hpZWRlbmlzYWFuZHVpZGluZyIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM3MAorIzogYnVpbHRpbnMvZmMuZGVmOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiS2FuIHRpamRlbGlqayBiZXN0YW5kICclcycgbmlldCBvcGVuZW46ICVzIgpAQCAtNDY0LDcgKzQ0Nyw3IEBACiBtc2dpZCAiJXM6IGhhc2ggdGFibGUgZW1wdHlcbiIKIG1zZ3N0ciAiJXM6IGRlIGhhc2gtdGFiZWwgaXMgbGVlZ1xuIgogCi0jOiBidWlsdGlucy9oYXNoLmRlZjoyNDQKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJoaXRzXHRjb21tYW5kXG4iCiBtc2dzdHIgInRyZWZmZXJzIGNvbW1hbmRvXG4iCkBAIC01MzMsNzggKzUxNiw4OCBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgImJpaiAnLXgnIHppam4gZ2VlbiBhbmRlcmUgb3B0aWVzIHRvZWdlc3RhYW4iCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAorIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiVzOiBhcmd1bWVudGVuIG1vZXRlbiBwcm9jZXMtSURzIG9mIHRhYWstSURzIHppam4iCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MworIzogYnVpbHRpbnMva2lsbC5kZWY6MjYxCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiT25iZWtlbmRlIGZvdXQiCiAKLSM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjUwMSBleHByLmM6NTE2CisjOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1NTIgZXhwci5jOjU2NwogbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgInVpdGRydWtraW5nIHdlcmQgdmVyd2FjaHQiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE2NQotIywgZnV6enksIGMtZm9ybWF0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNzIKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgotbXNnc3RyICIlczogaXMgZ2VlbiBhcnJheS12YXJpYWJlbGUiCittc2dzdHIgIiVzOiBpcyBnZWVuIGdlw69uZGV4ZWVyZCBhcnJheSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU2IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IG9uZ2VsZGlnZSBhYW5kdWlkaW5nIHZhbiBiZXN0YW5kc2Rlc2NyaXB0b3IiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NCBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiJWQ6IG9uZ2VsZGlnZSBiZXN0YW5kc2Rlc2NyaXB0b3I6ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzMgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiBvbmdlbGRpZyByZWdlbGFhbnRhbCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlczogb25nZWxkaWcgYXJyYXktYmVnaW4iCiAKICMgUXVhbnR1bSBpcyBlZW4gaG9ldmVlbGhlaWQgcmVnZWxzLCBlZW4gZ2V0YWwuCiAjIENhbGxiYWNrIGlzIGRlIGFhbiB0ZSByb2VwZW4gZnVuY3RpZSwgbWFhciBvbm5vZGlnIGluIGRlIHZlcnRhbGluZy4KLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIiVzOiBvbmdlbGRpZ2UgaG9ldmVlbGhlaWQiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzMzCiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAibGVnZSBuYWFtIHZhbiBhcnJheS12YXJpYWJlbGUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzU0CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAib25kZXJzdGV1bmluZyB2YW4gYXJyYXl2YXJpYWJlbGVuIGlzIHZlcmVpc3QiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiclcyc6IG9udGJyZWtlbmQgb3BtYWFrdGVrZW4iCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVjJzogaW52YWxpZCB0aW1lIGZvcm1hdCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczogb25nZWxkaWdlIGFhbmR1aWRpbmcgdmFuIHRpamRzbGltaWV0IgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiclYyc6IG9uZ2VsZGlnIG9wbWFha3Rla2VuIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICJ3YWFyc2NodXdpbmc6ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAib250YnJla2VuZCBoZXhhZGVjaW1hYWwgY2lqZmVyIGJpaiBcXHgiCiAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIHVuaWNvZGUgZGlnaXQgZm9yIFxcJWMiCittc2dzdHIgIm9udGJyZWtlbmQgaGV4YWRlY2ltYWFsIGNpamZlciBiaWogXFx4IgorCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6MTk1CiBtc2dpZCAibm8gb3RoZXIgZGlyZWN0b3J5IgogbXNnc3RyICJnZWVuIGFuZGVyZSBtYXAiCkBAIC03NTcsMjEgKzc1MCwyMSBAQAogImthbiBhbGxlZW4gZWVuICdyZXR1cm4nIGRvZW4gdWl0IGVlbiBmdW5jdGllIG9mIGVlbiB1aXQgc2NyaXB0IGFhbmdlcm9lcGVuICIKICJtZXQgJ3NvdXJjZSciCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQogbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgogbXNnc3RyICJrYW4gbmlldCB0ZWdlbGlqayBlZW4gZnVuY3RpZSBlbiBlZW4gdmFyaWFiZWxlIHZlcndpamRlcmVuIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgwNQorIzogYnVpbHRpbnMvc2V0LmRlZjo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiS2FuICclcycgbmlldCB2ZXJ3aWpkZXJlbiIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MTIKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgogbXNnc3RyICJLYW4gJyVzJyBuaWV0IHZlcndpamRlcmVuOiAlcyBpcyBhbGxlZW4tbGV6ZW4iCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODIzCisjOiBidWlsdGlucy9zZXQuZGVmOjgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGFycmF5IHZhcmlhYmxlIgogbXNnc3RyICIlczogaXMgZ2VlbiBhcnJheS12YXJpYWJlbGUiCkBAIC03ODUsMjAgKzc3OCwyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJzaGlmdC1hYW50YWwiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJrYW4gc2hlbGwtb3B0aWVzIG5pZXQgdGVnZWxpamsgaW5zY2hha2VsZW4gZW4gdWl0c2NoYWtlbGVuIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlczogb25nZWxkaWdlIHNoZWxsLW9wdGllbmFhbSIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiBtc2dzdHIgInZlcmVpc3QgZWVuIGJlc3RhbmRzbmFhbSBhbHMgYXJndW1lbnQiCiAKLSM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTUzCisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBiZXN0YW5kIG5pZXQgZ2V2b25kZW4iCkBAIC04NDEsMjYgKzgzNCwyNiBAQAogbXNnaWQgIiVzIGlzIGhhc2hlZCAoJXMpXG4iCiBtc2dzdHIgIiVzIGlzIGdlaGFzaHQgKCVzKVxuIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBvbmdlbGRpZ2UgbGltaWV0d2FhcmRlIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogYmFkIGNvbW1hbmQiCiBtc2dzdHIgIiclYyc6IG9uZ2VsZGlnZSBvcGRyYWNodCIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IGthbiBkZSBsaW1pZXQgbmlldCBiZXBhbGVuOiAlcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiBtc2dpZCAibGltaXQiCiBtc2dzdHIgImxpbWlldCIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IGthbiBkZSBsaW1pZXQgbmlldCB3aWp6aWdlbjogJXMiCkBAIC05MTYsMTA1ICs5MDksMTEwIEBACiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKLW1zZ3N0ciAiB3dhY2h0ZW4gb3AgaW52b2VyIGR1dXJkZSB0ZSBsYW5nIC0tIGF1dG9tYXRpc2NoIGFmZ2VtZWxkXG4iCittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dzdHIgIlxhd2FjaHRlbiBvcCBpbnZvZXIgZHV1cmRlIHRlIGxhbmcgLS0gYXV0b21hdGlzY2ggYWZnZW1lbGRcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTcKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgImthbiBzdGFuZGFhcmRpbnZvZXIgbmlldCBvbWxlaWRlbiB2YW5hZiAvZGV2L251bGw6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExNjIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlRJTUVGT1JNQVQ6ICclYyc6IG9uZ2VsZGlnIG9wbWFha3Rla2VuIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwNzUKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgInBpanBmb3V0IgogCi0jOiBleGVjdXRlX2NtZC5jOjQ0ODEKKyM6IGV4ZWN1dGVfY21kLmM6NDY0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCiBtc2dzdHIgIiVzOiBiZXBlcmt0ZSBtb2R1czogJy8nIGluIG9wZHJhY2h0bmFtZW4gaXMgbmlldCB0b2VnZXN0YWFuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ1NzIKKyM6IGV4ZWN1dGVfY21kLmM6NDczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBvcGRyYWNodCBuaWV0IGdldm9uZGVuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4MjcKKyM6IGV4ZWN1dGVfY21kLmM6NDk1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIgorbXNnc3RyICIlcyBpcyAlc1xuIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiAlczogb25nZWxkaWdlIGludGVycHJldGVyIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NzYKKyM6IGV4ZWN1dGVfY21kLmM6NTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICJrYW4gYmVzdGFuZHNkZXNjcmlwdG9yICVkIG5pZXQgZHVwbGljZXJlbiBuYWFyIGJlc3RhbmRzZGVzY3JpcHRvciAlZCIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICJyZWN1cnNpZW5pdmVhdSB2YW4gZXhwcmVzc2llcyBpcyBvdmVyc2NocmVkZW4iCiAKLSM6IGV4cHIuYzoyNjUKKyM6IGV4cHIuYzoyODAKIG1zZ2lkICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgogbXNnc3RyICJyZWN1cnNpZXN0YXBlbC1vbmRlcmxvb3AiCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKIG1zZ3N0ciAic3ludGF4Zm91dCBpbiBleHByZXNzaWUiCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgInBvZ2luZyB0b3QgdG9ld2lqemluZyBhYW4gZWVuIG5pZXQtdmFyaWFiZWxlIgogCi0jOiBleHByLmM6NDQwIGV4cHIuYzo0NDUgZXhwci5jOjc1NgorIzogZXhwci5jOjQ4NiBleHByLmM6NDkxIGV4cHIuYzo4MDcKIG1zZ2lkICJkaXZpc2lvbiBieSAwIgogbXNnc3RyICJkZWxpbmcgZG9vciBudWwiCiAKLSM6IGV4cHIuYzo0NzEKKyM6IGV4cHIuYzo1MTcKIG1zZ2lkICJidWc6IGJhZCBleHBhc3NpZ24gdG9rZW4iCiBtc2dzdHIgIioqaW50ZXJuZSBmb3V0Kio6IG9uanVpc3Qgc3ltYm9vbCBpbiB0b2V3aWp6aW5nc2V4cHJlc3NpZSIKIAotIzogZXhwci5jOjUxMworIzogZXhwci5jOjU2NAogbXNnaWQgImA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiJzonIHdlcmQgdmVyd2FjaHQgdm9vciBlZW4gdm9vcndhYXJkZWxpamtlIGV4cHJlc3NpZSIKIAotIzogZXhwci5jOjc4MQorIzogZXhwci5jOjgzMgogbXNnaWQgImV4cG9uZW50IGxlc3MgdGhhbiAwIgogbXNnc3RyICJleHBvbmVudCBpcyBrbGVpbmVyIGRhbiAwIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgIm5hYW0gdmVyd2FjaHQgbmEgcHJlLWluY3JlbWVudCBvZiBwcmUtZGVjcmVtZW50IgogCi0jOiBleHByLmM6ODU0CisjOiBleHByLmM6OTEwCiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgIm9udGJyZWtlbmQgJyknIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CisjOiBleHByLmM6OTU5IGV4cHIuYzoxMjgyCiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJzeW50YXhmb3V0OiBvcGVyYXRvciB2ZXJ3YWNodCIKIAotIzogZXhwci5jOjExNzgKKyM6IGV4cHIuYzoxMjg0CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgInN5bnRheGZvdXQ6IG9uZ2VsZGlnZSByZWtlbmt1bmRpZ2Ugb3BlcmF0b3IiCiAKLSM6IGV4cHIuYzoxMjAyCisjOiBleHByLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIlcyVzJXM6ICVzIChoZXQgb25qdWlzdGUgc3ltYm9vbCBpcyBcIiVzXCIpIgogCi0jOiBleHByLmM6MTI2MAorIzogZXhwci5jOjEzNjYKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAib25nZWxkaWdlIHJla2Vua3VuZGlnZSBiYXNpcyIKIAotIzogZXhwci5jOjEyODAKKyM6IGV4cHIuYzoxMzg2CiBtc2dpZCAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgogbXNnc3RyICJ3YWFyZGUgaXMgdGUgZ3Jvb3Qgdm9vciBiYXNpcyIKIAotIzogZXhwci5jOjEzMjkKKyM6IGV4cHIuYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiVzOiBleHByZXNzaWVmb3V0XG4iCkBAIC0xMDIzLDE2NiArMTAyMSwxNjggQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXR3ZCgpOiBrYW4gZ2VlbiBnZWVuIHRvZWdhbmcgdmVya3JpamdlbiB0b3QgYm92ZW5saWdnZW5kZSBtYXBwZW4iCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NTA4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAia2FuICdub2RlbGF5Jy1tb2R1cyBuaWV0IHVpdHNjaGFrZWxlbiB2b29yIGJlc3RhbmRzZGVzY3JpcHRvciAlZCIKIAotIzogaW5wdXQuYzoyNTgKKyM6IGlucHV0LmM6MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCiBtc2dzdHIgIiIKICJrYW4gZ2VlbiBuaWV1d2UgYmVzdGFuZHNkZXNjcmlwdG9yIHJlc2VydmVyZW4gdm9vciBiYXNoLWludm9lciB2YW51aXQgIgogImJlc3RhbmRzZGVzY3JpcHRvciAlZCIKIAotIzogaW5wdXQuYzoyNjYKKyM6IGlucHV0LmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGFscmVhZHkgZXhpc3RzIGZvciBuZXcgZmQgJWQiCiBtc2dzdHIgIiIKICJjaGVja19iYXNoX2lucHV0KCk6IGJ1ZmZlciBiZXN0YWF0IGFsIHZvb3IgbmlldXdlIGJlc3RhbmRzZGVzY3JpcHRvciAlZCIKIAotIzogam9icy5jOjQ2NgorIzogam9icy5jOjQ2OAogbXNnaWQgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCiBtc2dzdHIgInN0YXJ0X3BpcGVsaW5lKCk6IHByb2Nlc2dyb2VwIHZhbiBwaWpwIgogCi0jOiBqb2JzLmM6ODg3CisjOiBqb2JzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKIG1zZ3N0ciAiYWZnZXNwbGl0c3QgUElEICVkIGhvb3J0IGJpaiBkcmFhaWVuZGUgdGFhayAlZCIKIAotIzogam9icy5jOjEwMDUKKyM6IGpvYnMuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCiBtc2dzdHIgInZlcndpamRlcmVuIHZhbiBnZXBhdXplZXJkZSB0YWFrICVkIG1ldCBwcm9jZXNncm9lcCAlbGQuLi4iCiAKLSM6IGpvYnMuYzoxMTEwCisjOiBqb2JzLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgogbXNnc3RyICJhZGRfcHJvY2VzcygpOiBwcm9jZXMgJTVsZCAoJXMpIGluIGRlIHBpanBsaWpuIgogCi0jOiBqb2JzLmM6MTExMworIzogam9icy5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgogbXNnc3RyICJhZGRfcHJvY2VzcygpOiBQSUQgJTVsZCAoJXMpIHN0YWF0IGdlbWFya2VlcmQgYWxzIG5vZyBhY3RpZWYiCiAKLSM6IGpvYnMuYzoxNDAxCisjOiBqb2JzLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCiBtc2dzdHIgImRlc2NyaWJlX3BpZCgpOiBQSUQgJWxkIGJlc3RhYXQgbmlldCIKIAotIzogam9icy5jOjE0MTYKKyM6IGpvYnMuYzoxNDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKIG1zZ3N0ciAiU2lnbmFhbCAlZCIKIAotIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0CiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiS2xhYXIiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJHZXBhdXplZXJkIgogCi0jOiBqb2JzLmM6MTQzOQorIzogam9icy5jOjE0NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCglcykiCiBtc2dzdHIgIkdlcGF1emVlcmQoJXMpIgogCi0jOiBqb2JzLmM6MTQ0MworIzogam9icy5jOjE0NzIKIG1zZ2lkICJSdW5uaW5nIgogbXNnc3RyICJXb3JkdCB1aXRnZXZvZXJkIgogCi0jOiBqb2JzLmM6MTQ1NworIzogam9icy5jOjE0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCiBtc2dzdHIgIktsYWFyKCVkKSIKIAotIzogam9icy5jOjE0NTkKKyM6IGpvYnMuYzoxNDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4aXQgJWQiCiBtc2dzdHIgIkV4aXQgJWQiCiAKLSM6IGpvYnMuYzoxNDYyCisjOiBqb2JzLmM6MTQ5MQogbXNnaWQgIlVua25vd24gc3RhdHVzIgogbXNnc3RyICJPbmJla2VuZGUgYWZzbHVpdHdhYXJkZSIKIAotIzogam9icy5jOjE1NDkKKyM6IGpvYnMuYzoxNTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihjb3JlIGR1bXBlZCkgIgogbXNnc3RyICIoZ2VoZXVnZW5kdW1wIGdlbWFha3QpICIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiAgKHdlcmttYXA6ICVzKSIKIAotIzogam9icy5jOjE3NzYKKyM6IGpvYnMuYzoxODA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICJpbnN0ZWxsZW4gdmFuIHByb2Nlc2dyb2VwICUyJGxkIHZhbiBkb2NodGVyICUxJGxkIgogCi0jOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTMzIG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQoKTogUElEICVsZCBpcyBnZWVuIGRvY2h0ZXJwcm9jZXMgdmFuIGRlemUgc2hlbGwiCiAKLSM6IGpvYnMuYzoyMzMxCisjOiBqb2JzLmM6MjM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICJ3YWl0X2ZvcigpOiBwcm9jZXMgJWxkIGlzIG5lcmdlbnMgZ2VyZWdpc3RyZWVyZCIKIAotIzogam9icy5jOjI2MDcKKyM6IGpvYnMuYzoyNjM3CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCiBtc2dzdHIgIndhaXRfZm9yX2pvYigpOiB0YWFrICVkIGlzIGdlcGF1emVlcmQiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogdGFhayBpcyBhZmdlc2xvdGVuIgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiB0YWFrICVkIGRyYWFpdCBhbCBvcCBkZSBhY2h0ZXJncm9uZCIKIAotIzogam9icy5jOjMwNTkKKyM6IGpvYnMuYzozMDg5CiBtc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgogbXNnc3RyICIiCisid2FpdGNobGQoKTogV05PSEFORyB3b3JkdCBpbmdlc2NoYWtlbGQgb20gZWVuIG9uYmVncmVuc2RlIGJsb2trZXJpbmcgdGUgIgorInZlcm1pamRlbiIKIAotIzogam9icy5jOjM1MDgKKyM6IGpvYnMuYzozNTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIiVzOiByZWdlbCAlZDogIgogCi0jOiBqb2JzLmM6MzUyMiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTUyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIChnZWhldWdlbmR1bXAgZ2VtYWFrdCkiCiAKLSM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CisjOiBqb2JzLmM6MzU2NCBqb2JzLmM6MzU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiKHdlcmttYXAgaXMgbnU6ICVzKVxuIgogCi0jOiBqb2JzLmM6MzU3OQorIzogam9icy5jOjM2MDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCgpIGlzIG1pc2x1a3QiCiAKLSM6IGpvYnMuYzozNjM5CisjOiBqb2JzLmM6MzY2OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGlqbnByb3RvY29sIgogCi0jOiBqb2JzLmM6MzY0OQorIzogam9icy5jOjM2NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkKCkiCiAKLSM6IGpvYnMuYzozNjc3CisjOiBqb2JzLmM6MzcwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAia2FuIHByb2Nlc2dyb2VwICglZCkgdmFuIHRlcm1pbmFsIG5pZXQgaW5zdGVsbGVuIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJlciBpcyBnZWVuIHRhYWtiZXN0dXJpbmcgaW4gZGV6ZSBzaGVsbCIKIApAQCAtMTI3NywyMiArMTI3NywyMiBAQAogIzogbG9jYWxlLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgotbXNnc3RyICIiCittc2dzdHIgInNldGxvY2FsZSgpOiBMQ19BTEw6IGthbiBuaWV0IHZhbiB0YWFscmVnaW8gdmVyYW5kZXJlbiAoJXMpIgogCiAjOiBsb2NhbGUuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgotbXNnc3RyICIiCittc2dzdHIgInNldGxvY2FsZSgpOiBMQ19BTEw6IGthbiBuaWV0IHZhbiB0YWFscmVnaW8gdmVyYW5kZXJlbiAoJXMpOiAlcyIKIAogIzogbG9jYWxlLmM6MjQ3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKLW1zZ3N0ciAieHJlYWxsb2MoKTogJXM6JWQ6IGthbiAlbHUgYnl0ZXMgbmlldCBvcG5pZXV3IHJlc2VydmVyZW4iCittc2dzdHIgInNldGxvY2FsZSgpOiAlczoga2FuIG5pZXQgdmFuIHRhYWxyZWdpbyB2ZXJhbmRlcmVuICglcykiCiAKICM6IGxvY2FsZS5jOjI0OQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgotbXNnc3RyICJ4cmVhbGxvYygpOiAlczolZDoga2FuICVsdSBieXRlcyBuaWV0IG9wbmlldXcgcmVzZXJ2ZXJlbiIKK21zZ3N0ciAic2V0bG9jYWxlKCk6ICVzOiBrYW4gbmlldCB2YW4gdGFhbHJlZ2lvIHZlcmFuZGVyZW4gKCVzKTogJXMiCiAKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCkBAIC0xMzM3LDEwMCArMTMzNywxMDAgQEAKIG1zZ2lkICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiBgJWQnIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAibWFrZV9yZWRpcmVjdGlvbigpOiBvbWxlaWRpbmdzaW5zdHJ1Y3RpZSAnJWQnIHZhbHQgYnVpdGVuIGJlcmVpayIKIAotIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQorIzogcGFyc2UueTozMTczIHBhcnNlLnk6MzQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICJvbnZlcndhY2h0IGJlc3RhbmRzZWluZGUgdGlqZGVucyB6b2VrZW4gbmFhciBiaWpwYXNzZW5kZSAnJWMnIgogCi0jOiBwYXJzZS55OjM5NTEKKyM6IHBhcnNlLnk6NDAyNQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgIm9udmVyd2FjaHQgYmVzdGFuZHNlaW5kZSB0aWpkZW5zIHpvZWtlbiBuYWFyICddXSciCiAKLSM6IHBhcnNlLnk6Mzk1NgorIzogcGFyc2UueTo0MDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgInN5bnRheGZvdXQgaW4gY29uZGl0aW9uZWxlIGV4cHJlc3NpZTogb252ZXJ3YWNodCBzeW1ib29sICclcyciCiAKLSM6IHBhcnNlLnk6Mzk2MAorIzogcGFyc2UueTo0MDM0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgInN5bnRheGZvdXQgaW4gY29uZGl0aW9uZWxlIGV4cHJlc3NpZSIKIAotIzogcGFyc2UueTo0MDM4CisjOiBwYXJzZS55OjQxMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCiBtc2dzdHIgIm9udmVyd2FjaHQgc3ltYm9vbCAnJXMnOyAnKScgd2VyZCB2ZXJ3YWNodCIKIAotIzogcGFyc2UueTo0MDQyCisjOiBwYXJzZS55OjQxMTYKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgIicpJyB3ZXJkIHZlcndhY2h0IgogCi0jOiBwYXJzZS55OjQwNzAKKyM6IHBhcnNlLnk6NDE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm9udmVyd2FjaHQgYXJndW1lbnQgJyVzJyBiaWogZWVuemlqZGlnZSBjb25kaXRpb25lbGUgb3BlcmF0b3IiCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAib252ZXJ3YWNodCBhcmd1bWVudCBiaWogZWVuemlqZGlnZSBjb25kaXRpb25lbGUgb3BlcmF0b3IiCiAKLSM6IHBhcnNlLnk6NDEyMAorIzogcGFyc2UueTo0MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIiCiAib252ZXJ3YWNodCBzeW1ib29sICclcyc7IHR3ZWV6aWpkaWdlIGNvbmRpdGlvbmVsZSBvcGVyYXRvciB3ZXJkIHZlcndhY2h0IgogCi0jOiBwYXJzZS55OjQxMjQKKyM6IHBhcnNlLnk6NDE5OAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAidHdlZXppamRpZ2UgY29uZGl0aW9uZWxlIG9wZXJhdG9yIHdlcmQgdmVyd2FjaHQiCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm9udmVyd2FjaHQgYXJndW1lbnQgJyVzJyBiaWogdHdlZXppamRpZ2UgY29uZGl0aW9uZWxlIG9wZXJhdG9yIgogCi0jOiBwYXJzZS55OjQxNTAKKyM6IHBhcnNlLnk6NDIyNAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJvbnZlcndhY2h0IGFyZ3VtZW50IGJpaiB0d2VlemlqZGlnZSBjb25kaXRpb25lbGUgb3BlcmF0b3IiCiAKLSM6IHBhcnNlLnk6NDE2MQorIzogcGFyc2UueTo0MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJvbnZlcndhY2h0IHN5bWJvb2wgJyVjJyBpbiBjb25kaXRpb25lbGUgb3BkcmFjaHQiCiAKLSM6IHBhcnNlLnk6NDE2NAorIzogcGFyc2UueTo0MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJvbnZlcndhY2h0IHN5bWJvb2wgJyVzJyBpbiBjb25kaXRpb25lbGUgb3BkcmFjaHQiCiAKLSM6IHBhcnNlLnk6NDE2OAorIzogcGFyc2UueTo0MjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAib252ZXJ3YWNodCBzeW1ib29sICVkIGluIGNvbmRpdGlvbmVsZSBvcGRyYWNodCIKIAotIzogcGFyc2UueTo1NDU5CisjOiBwYXJzZS55OjU1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJzeW50YXhmb3V0IG5hYmlqIG9udmVyd2FjaHQgc3ltYm9vbCAnJXMnIgogCi0jOiBwYXJzZS55OjU0NzcKKyM6IHBhcnNlLnk6NTU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgogbXNnc3RyICJzeW50YXhmb3V0IG5hYmlqICclcyciCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJzeW50YXhmb3V0OiBvbnZlcndhY2h0IGJlc3RhbmRzZWluZGUiCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICJzeW50YXhmb3V0IgogCi0jOiBwYXJzZS55OjU1NDkKKyM6IHBhcnNlLnk6NTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIG1zZ3N0ciAiR2VicnVpayBcIiVzXCIgb20gZGUgc2hlbGwgdGUgdmVybGF0ZW4uXG4iCiAKLSM6IHBhcnNlLnk6NTcxMQorIzogcGFyc2UueTo1ODE4CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICJvbnZlcndhY2h0IGJlc3RhbmRzZWluZGUgdGlqZGVucyB6b2VrZW4gbmFhciBiaWpwYXNzZW5kZSAnKSciCiAKQEAgLTE0MzksNzcgKzE0MzksNzkgQEAKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiY29tcGxldGlvbigpOiBmdW5jdGllICclcycgbmlldCBnZXZvbmRlbiIKIAotIzogcGNvbXBsaWIuYzoxNzkKKyM6IHBjb21wbGliLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgInByb2djb21wX2luc2VydCgpOiAlczogbGVnZSBDT01QU1BFQyIKIAotIzogcHJpbnRfY21kLmM6MjkwCisjOiBwcmludF9jbWQuYzoyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICJwcmludF9jb21tYW5kKCk6IG9uZ2VsZGlnZSB2ZXJiaW5kZXIgJyVkJyIKIAotIzogcHJpbnRfY21kLmM6MzYzCi0jLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCi1tc2dzdHIgIiVkOiBvbmdlbGRpZ2UgYmVzdGFuZHNkZXNjcmlwdG9yOiAlcyIKLQogIzogcHJpbnRfY21kLmM6MzY4Ci1tc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCi1tc2dzdHIgIiIKKyMsIGMtZm9ybWF0Cittc2dpZCAieHRyYWNlX3NldDogJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJ4dHJhY2Vfc2V0KCk6ICVkOiBvbmdlbGRpZ2UgYmVzdGFuZHNkZXNjcmlwdG9yIgogCi0jOiBwcmludF9jbWQuYzozNzIKKyM6IHByaW50X2NtZC5jOjM3MworbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICJ4dHJhY2Vfc2V0KCk6IGJlc3RhbmRzcG9pbnRlciBpcyBOSUwiCisKKyM6IHByaW50X2NtZC5jOjM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCiBtc2dzdHIgIiIKKyJ4dHJhY2UtYmVzdGFuZHNkZXNjcmlwdG9yICglZCkgIT0gYmVzdGFuZHNudW1tZXIgdmFuIHh0cmFjZS1iZXN0YW5kc3BvaW50ZXIgIgorIiglZCkiCiAKLSM6IHByaW50X2NtZC5jOjE0NjEKKyM6IHByaW50X2NtZC5jOjE0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJjcHJpbnRmKCk6ICclYyc6IG9uZ2VsZGlnIG9wbWFha3Rla2VuIgogCi0jOiByZWRpci5jOjExMAorIzogcmVkaXIuYzoxMjIKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICJiZXN0YW5kc2Rlc2NyaXB0b3IgdmFsdCBidWl0ZW4gYmVyZWlrIgogCi0jOiByZWRpci5jOjE2NgorIzogcmVkaXIuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IG9tbGVpZGluZyBpcyBuaWV0IGVlbmR1aWRpZyIKIAotIzogcmVkaXIuYzoxNzAKKyM6IHJlZGlyLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBrYW4gYmVzdGFhbmQgYmVzdGFuZCBuaWV0IG92ZXJzY2hyaWp2ZW4iCiAKLSM6IHJlZGlyLmM6MTc1CisjOiByZWRpci5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IGJlcGVya3RlIG1vZHVzOiBvbWxlaWRlbiB2YW4gdWl0dm9lciBpcyBuaWV0IHRvZWdlc3RhYW4iCiAKLSM6IHJlZGlyLmM6MTgwCisjOiByZWRpci5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgImthbiBnZWVuIHRpamRlbGlqayBiZXN0YW5kIG1ha2VuIHZvb3IgXCJoaWVyXCItZG9jdW1lbnQ6ICVzIgogCi0jOiByZWRpci5jOjE4NAotIywgZnV6enksIGMtZm9ybWF0CisjOiByZWRpci5jOjE5NgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKLW1zZ3N0ciAiJXM6IGthbiBnZWVuIGxpanN0IHRvZXdpanplbiBhYW4gZWVuIGFycmF5LWVsZW1lbnQiCittc2dzdHIgIiVzOiBrYW4gYmVzdGFuZHNkZXNjcmlwdG9yIG5pZXQgdG9ld2lqemVuIGFhbiB2YXJpYWJlbGUiCiAKLSM6IHJlZGlyLmM6NTQ0CisjOiByZWRpci5jOjU0OAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IGlzIG5pZXQgbW9nZWxpamsgem9uZGVyIG5ldHdlcmsiCiAKLSM6IHJlZGlyLmM6MTEwMQorIzogcmVkaXIuYzo4MTggcmVkaXIuYzo5MzAgcmVkaXIuYzo5OTMgcmVkaXIuYzoxMTM2CiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgIm9tbGVpZGluZ3Nmb3V0OiBrYW4gYmVzdGFuZHNkZXNjcmlwdG9yIG5pZXQgZHVwbGljZXJlbiIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzMzCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgIkthbiAvdG1wIG5pZXQgdmluZGVuOyBtYWFrIGRlemUgYWFuISIKIAotIzogc2hlbGwuYzozMzYKKyM6IHNoZWxsLmM6MzM3CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAgZGllbnQgZWVuIGdlbGRpZ2UgbWFwbmFhbSB0ZSB6aWpuIgogCkBAIC0xNTE4LDE2ICsxNTIwLDE2IEBACiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IG9uZ2VsZGlnZSBvcHRpZSIKIAotIzogc2hlbGwuYzoxNjUxCisjOiBzaGVsbC5jOjE2NTIKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIklrIGhlYiBnZWVuIG5hYW0hIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSBiYXNoLCB2ZXJzaWUgJXMtKCVzKVxuIgogCi0jOiBzaGVsbC5jOjE3OTQKKyM6IHNoZWxsLmM6MTc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE1MzYsNDAgKzE1MzgsNDAgQEAKICJHZWJydWlrOiAgJXMgW29wdGllc11cbiIKICIgICAgICAgICAgJXMgW29wdGllc10gc2NyaXB0YmVzdGFuZC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3OTYKKyM6IHNoZWxsLmM6MTc5OAogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkxhbmdlIG9wdGllczpcbiIKIAotIzogc2hlbGwuYzoxODAwCisjOiBzaGVsbC5jOjE4MDIKIG1zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgogbXNnc3RyICJLb3J0ZSBvcHRpZXM6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODAzCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNELCAgb2YgLWMgb3BkcmFjaHQsICBvZiAtTyBzaG9wdC1vcHRpZSAgICAoZW5rZWwgYmlqIGFhbnJvZXApXG4iCiAKLSM6IHNoZWxsLmM6MTgxNgorIzogc2hlbGwuYzoxODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcywgIG9mIC1vIG9wdGllICAgICh2ZXJhbmRlcmJhYXIgdmlhICdzZXQnKVxuIgogCi0jOiBzaGVsbC5jOjE4MjIKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIlR5cCAnJXMgLWMgXCJoZWxwIHNldFwiJyB2b29yIG1lZXIgaW5mb3JtYXRpZSBvdmVyIHNoZWxsLW9wdGllcy5cbiIKIAotIzogc2hlbGwuYzoxODIzCisjOiBzaGVsbC5jOjE4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogIlR5cCAnJXMgLWMgaGVscCcgdm9vciBtZWVyIGluZm9ybWF0aWUgb3ZlciBpbmdlYm91d2RlIHNoZWxsLWZ1bmN0aWVzLlxuIgogCi0jOiBzaGVsbC5jOjE4MjQKKyM6IHNoZWxsLmM6MTgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICJHZWJydWlrIGRlIG9wZHJhY2h0ICdiYXNoYnVnJyBvbSBmb3V0ZW4gaW4gYmFzaCB0ZSByYXBwb3J0ZXJlbi5cbiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2soKTogJWQ6IG9uZ2VsZGlnZSBvcGVyYXRpZSIKQEAgLTE3NDUsODQgKzE3NDcsODYgQEAKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIk9uYmVrZW5kIHNpZ25hYWwgIyVkIgogCi0jOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAib25nZWxkaWdlIHZlcnZhbmdpbmc6IGdlZW4gc2x1aXQtJyVzJyBpbiAlcyIKIAotIzogc3Vic3QuYzoyNzM1CisjOiBzdWJzdC5jOjI3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiBrYW4gZ2VlbiBsaWpzdCB0b2V3aWp6ZW4gYWFuIGVlbiBhcnJheS1lbGVtZW50IgogCi0jOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCisjOiBzdWJzdC5jOjQ5Nzkgc3Vic3QuYzo0OTk1CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImthbiBnZWVuIHBpanAgbWFrZW4gdm9vciBwcm9jZXN2ZXJ2YW5naW5nIgogCi0jOiBzdWJzdC5jOjQ4MDIKKyM6IHN1YnN0LmM6NTAyNwogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAia2FuIGdlZW4gZG9jaHRlcnByb2NlcyBtYWtlbiB2b29yIHByb2Nlc3ZlcnZhbmdpbmciCiAKLSM6IHN1YnN0LmM6NDg0NworIzogc3Vic3QuYzo1MDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgImthbiBwaWpwIGdlbmFhbWQgJXMgbmlldCBvcGVuZW4gb20gdGUgbGV6ZW4iCiAKLSM6IHN1YnN0LmM6NDg0OQorIzogc3Vic3QuYzo1MDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgImthbiBwaWpwIGdlbmFhbWQgJXMgbmlldCBvcGVuZW4gb20gdGUgc2NocmlqdmVuIgogCi0jOiBzdWJzdC5jOjQ4NjcKKyM6IHN1YnN0LmM6NTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgImthbiBwaWpwIGdlbmFhbWQgJXMgbmlldCBkdXBsaWNlcmVuIGFscyBiZXN0YW5kc2Rlc2NyaXB0b3IgJWQiCiAKLSM6IHN1YnN0LmM6NTA2MworIzogc3Vic3QuYzo1Mjg0CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImthbiBnZWVuIHBpanAgbWFrZW4gdm9vciBvcGRyYWNodHZlcnZhbmdpbmciCiAKLSM6IHN1YnN0LmM6NTA5NworIzogc3Vic3QuYzo1MzIyCiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJrYW4gZ2VlbiBkb2NodGVycHJvY2VzIG1ha2VuIHZvb3Igb3BkcmFjaHR2ZXJ2YW5naW5nIgogCi0jOiBzdWJzdC5jOjUxMTQKKyM6IHN1YnN0LmM6NTMzOQogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgIiIKICJjb21tYW5kX3N1YnN0aXR1dGUoKToga2FuIHBpanAgbmlldCBkdXBsaWNlcmVuIGFscyBiZXN0YW5kc2Rlc2NyaXB0b3IgMSIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBsZWdlIHBhcmFtZXRlciwgb2YgbmlldCBpbmdlc3RlbGQiCiAKLSM6IHN1YnN0LmM6NTkwNworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIlczogcmVzdWx0YWF0IHZhbiBkZWVsdGVrZW5yZWVrcyBpcyBrbGVpbmVyIGRhbiBudWwiCiAKLSM6IHN1YnN0LmM6Njk2NQorIzogc3Vic3QuYzo3MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlczogb25nZWxkaWdlIHZlcnZhbmdpbmciCiAKLSM6IHN1YnN0LmM6NzA0NQorIzogc3Vic3QuYzo3MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBrYW4gbmlldCBvcCBkZXplIG1hbmllciB0b2V3aWp6ZW4iCiAKLSM6IHN1YnN0LmM6NzM3NAorIzogc3Vic3QuYzo3Njg0CiBtc2dpZCAiIgogImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgogInN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgorInRvZWtvbXN0aWdlIHZlcnNpZXMgdmFuIGRlIHNoZWxsIHp1bGxlbiBkaXQgYWxzIGVlbiByZWtlbmt1bmRpZ2UgdmVydmFuZ2luZyAiCisiZXZhbHVlcmVuIgogCi0jOiBzdWJzdC5jOjc4MzkKKyM6IHN1YnN0LmM6ODE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJvbmdlbGRpZ2UgdmVydmFuZ2luZzogZ2VlbiBhZnNsdWl0ZW5kZSAnYCcgaW4gJXMiCiAKLSM6IHN1YnN0LmM6ODcyMAorIzogc3Vic3QuYzo5MDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiZ2VlbiBvdmVyZWVua29tc3Q6ICVzIgpAQCAtMTg0NSwzMCArMTg0OSwzMCBAQAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCiBtc2dzdHIgIicpJyB3ZXJkIHZlcndhY2h0OyAlcyBnZXZvbmRlbiIKIAotIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiZWVuemlqZGlnZSBvcGVyYXRvciB3ZXJkIHZlcndhY2h0LCAlcyBnZXZvbmRlbiIKIAotIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAidHdlZXppamRpZ2Ugb3BlcmF0b3Igd2VyZCB2ZXJ3YWNodCwgJXMgZ2V2b25kZW4iCiAKLSM6IHRlc3QuYzo4MTEKKyM6IHRlc3QuYzo4MTYKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAib250YnJla2VuZGUgJ10nIgogCi0jOiB0cmFwLmM6MjAzCisjOiB0cmFwLmM6MjA3CiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJvbmdlbGRpZyBzaWduYWFsbnVtbWVyIgogCi0jOiB0cmFwLmM6MzI3CisjOiB0cmFwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzKCk6IG9uZ2VsZGlnZSB3YWFyZGUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCkBAIC0xODc2LDcgKzE4ODAsNyBAQAogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWFsdmVyd2Vya2VyIGlzIFNJR19ERkwsIGhlcnplbmRlbiB2YW4gJWQgKCVzKSBhYW4gIgogIm1lemVsZi4uLiIKIAotIzogdHJhcC5jOjM4MAorIzogdHJhcC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcigpOiBvbmdlbGRpZyBzaWduYWFsICVkIgpAQCAtMTg4Niw2MSArMTg5MCw2MiBAQAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJmb3V0IHRpamRlbnMgaW1wb3J0ZXJlbiB2YW4gZnVuY3RpZWRlZmluaXRpZSB2b29yICclcyciCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJzaGVsbC1uaXZlYXUgaXMgdGUgaG9vZyAoJWQpOyB0ZXJ1Z2dlemV0IG9wIDEiCiAKLSM6IHZhcmlhYmxlcy5jOjE5MTUKKyM6IHZhcmlhYmxlcy5jOjE5MzIKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKICJtYWtlX2xvY2FsX3ZhcmlhYmxlKCk6IGVyIGlzIGdlZW4gZnVuY3RpZWNvbnRleHQgaW4gaHVpZGlnZSBnZWxkaWdoZWlkc2JlcmVpayIKIAotIzogdmFyaWFibGVzLmM6MzE1OQorIzogdmFyaWFibGVzLmM6MzE4MgogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogImFsbF9sb2NhbF92YXJpYWJsZXMoKTogZXIgaXMgZ2VlbiBmdW5jdGllY29udGV4dCBpbiBodWlkaWdlIGdlbGRpZ2hlaWRzYmVyZWlrIgogCi0jOiB2YXJpYWJsZXMuYzozMzc2CisjOiB2YXJpYWJsZXMuYzozNDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKLW1zZ3N0ciAiIgorbXNnc3RyICIqKiogJXMgaGVlZnQgbGVnZSBleHBvcnQtdGVrZW5yZWVrcyIKIAotIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCisjOiB2YXJpYWJsZXMuYzozNDMyIHZhcmlhYmxlcy5jOjM0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKLW1zZ3N0ciAib25nZWxkaWcgdGVrZW4gJyVkJyBpbiBleHBvcnQtdGVrZW5yZWVrcyB2b29yICVzIgorbXNnc3RyICIqKiogb25nZWxkaWcgdGVrZW4gJyVkJyBpbiBleHBvcnQtdGVrZW5yZWVrcyB2b29yICVzIgogCi0jOiB2YXJpYWJsZXMuYzozMzk2CisjOiB2YXJpYWJsZXMuYzozNDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgotbXNnc3RyICJnZWVuICc9JyBpbiBleHBvcnQtdGVrZW5yZWVrcyB2b29yICVzIgorbXNnc3RyICIqKiogZ2VlbiAnPScgaW4gZXhwb3J0LXRla2VucmVla3Mgdm9vciAlcyIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0KCk6IHRvcCB2YW4gJ3NoZWxsX3ZhcmlhYmxlcycgaXMgZ2VlbiBmdW5jdGllY29udGV4dCIKIAotIzogdmFyaWFibGVzLmM6Mzg0OAorIzogdmFyaWFibGVzLmM6MzkwNAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQoKTogZXIgaXMgZ2VlbiAnZ2xvYmFsX3ZhcmlhYmxlcyctY29udGV4dCIKIAotIzogdmFyaWFibGVzLmM6MzkyMgorIzogdmFyaWFibGVzLmM6Mzk3OAogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAicG9wX3Njb3BlKCk6IHRvcCB2YW4gJ3NoZWxsX3ZhcmlhYmxlcycgaXMgZ2VlbiB0aWpkZWxpamsgZ2VsZGlnaGVpZHNiZXJlaWsiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2NzgKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogdmFyaWFibGVzLmM6NDc4NgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCi1tc2dzdHIgIkthbiAlcyBuaWV0IG9wZW5lbjogJXMiCittc2dzdHIgIiVzOiBLYW4gJXMgbmlldCBvcGVuZW4gYWxzIEJFU1RBTkQiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2ODMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogdmFyaWFibGVzLmM6NDc5MQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKLW1zZ3N0ciAiJWQ6IG9uZ2VsZGlnZSBiZXN0YW5kc2Rlc2NyaXB0b3I6ICVzIgorbXNnc3RyICIlczogb25nZWxkaWdlIHdhYXJkZSAlcyB2b29yICd0cmFjZSctYmVzdGFuZHNkZXNjcmlwdG9yIgogCiAjOiB2ZXJzaW9uLmM6NDYKLW1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorIywgZnV6enkKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogCiAjOiB2ZXJzaW9uLmM6NDcKQEAgLTE5NjgsMzkgKzE5NzMsMzggQEAKIG1zZ3N0ciAiRXIgaXMgR0VFTiBHQVJBTlRJRSwgdm9vciB6b3ZlciBkZSB3ZXQgZGl0IHRvZXN0YWF0LlxuIgogCiAjOiB2ZXJzaW9uMi5jOjg2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgotbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCiAKICM6IHZlcnNpb24yLmM6ODcKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiTGljZW5zZSBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWw+XG4iCiBtc2dzdHIgIiIKLSJEZSBsaWNlbnRpZSBpcyBHUEx2Mys6IEdOVSBHUEwgdmVyc2llIDMgb2YgbGF0ZXIuXG4iCisiRGUgbGljZW50aWUgaXMgR1BMdjIrOiBHTlUgR1BMIHZlcnNpZSAyIG9mIGxhdGVyLlxuIgogIlppZSBodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbCB2b29yIGRlIHZvbGxlZGlnZSB0ZWtzdC5cbiIKIAogIzogeG1hbGxvYy5jOjkxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4bWFsbG9jKCk6IGthbiBnZWVuICVsdSBieXRlcyByZXNlcnZlcmVuICglbHUgYnl0ZXMgZ2VyZXNlcnZlZXJkKSIKK21zZ3N0ciAiJXM6IGthbiBnZWVuICVsdSBieXRlcyByZXNlcnZlcmVuICglbHUgYnl0ZXMgZ2VyZXNlcnZlZXJkKSIKIAogIzogeG1hbGxvYy5jOjkzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2MoKToga2FuIGdlZW4gJWx1IGJ5dGVzIHJlc2VydmVyZW4iCittc2dzdHIgIiVzOiBrYW4gZ2VlbiAlbHUgYnl0ZXMgcmVzZXJ2ZXJlbiIKIAogIzogeG1hbGxvYy5jOjE2MwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgIiIKLSJ4bWFsbG9jKCk6ICVzOiVkOiBrYW4gZ2VlbiAlbHUgYnl0ZXMgcmVzZXJ2ZXJlbiAoJWx1IGJ5dGVzIGdlcmVzZXJ2ZWVyZCkiCittc2dzdHIgIiVzOiAlczolZDoga2FuIGdlZW4gJWx1IGJ5dGVzIHJlc2VydmVyZW4gKCVsdSBieXRlcyBnZXJlc2VydmVlcmQpIgogCiAjOiB4bWFsbG9jLmM6MTY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4bWFsbG9jKCk6ICVzOiVkOiBrYW4gZ2VlbiAlbHUgYnl0ZXMgcmVzZXJ2ZXJlbiIKK21zZ3N0ciAiJXM6ICVzOiVkOiBrYW4gZ2VlbiAlbHUgYnl0ZXMgcmVzZXJ2ZXJlbiIKIAogIzogYnVpbHRpbnMuYzo0MwogbXNnaWQgImFsaWFzIFstcF0gW25hbWVbPXZhbHVlXSAuLi4gXSIKQEAgLTIwMzYsNyArMjA0MCw4IEBACiBtc2dzdHIgImNhbGxlciBbRVhQUkVTU0lFXSIKIAogIzogYnVpbHRpbnMuYzo2NAotbXNnaWQgImNkIFstTHwtUF0gW2Rpcl0iCisjLCBmdXp6eQorbXNnaWQgImNkIFstTHxbLVAgWy1lXV1dIFtkaXJdIgogbXNnc3RyICJjZCBbLUx8LVBdIFtNQVBdIgogCiAjOiBidWlsdGlucy5jOjY2CkBAIC0yMDYwLDExICsyMDY1LDEzIEBACiBtc2dzdHIgImNvbW1hbmQgWy1wVnZdIE9QRFJBQ0hUIFtBUkdVTUVOVC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6NzYKLW1zZ2lkICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCisjLCBmdXp6eQorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCiBtc2dzdHIgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtOQUFNWz1XQUFSREVdLi4uXSIKIAogIzogYnVpbHRpbnMuYzo3OAotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCisjLCBmdXp6eQorbXNnaWQgInR5cGVzZXQgWy1hQWZGZ2lscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgogbXNnc3RyICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBOQUFNWz1XQUFSREVdLi4uIgogCiAjOiBidWlsdGlucy5jOjgwCkBAIC0yMTIyLDkgKzIxMjksOCBAQAogbXNnc3RyICJoYXNoIFstbHJdIFstcCBQQUROQUFNXSBbLWR0XSBbTkFBTS4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTE3Ci0jLCBmdXp6eQogbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCi1tc2dzdHIgImhlbHAgWy1kc10gW1BBVFJPT04uLi5dIgorbXNnc3RyICJoZWxwIFstZG1zXSBbUEFUUk9PTi4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCiBtc2dpZCAiIgpAQCAtMjE1NywyMCArMjE2MywyMSBAQAogbXNnc3RyICJsZXQgQVJHVU1FTlQuLi4iCiAKICM6IGJ1aWx0aW5zLmM6MTM2Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCiAicHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCi0icmVhZCBbLWVyc10gWy1hIEFSUkFZXSBbLWQgU0NIRUlESU5HU1RFS0VOXSBbLWkgVEVLU1RdIFstbiBBQU5UQUxfVEVLRU5TXVxuIgotIiAgICAgICAgICAgWy1wIFBST01QVF0gWy10IFRJSkRTTElNSUVUXSBbLXUgQkVTVEFORFNERVNDUklQVE9SXSBbTkFBTS4uLl0iCisicmVhZCBbLWVyc10gWy1hIEFSUkFZXSBbLWQgU0NIRUlESU5HU1RFS0VOXSBbLWkgVEVLU1RdXG4iCisiICAgICAgICAgICBbLW4gQUFOVEFMX1RFS0VOU10gWy1OIEFBTlRBTF9URUtFTlNdIFstcCBQUk9NUFRdXG4iCisiICAgICAgICAgICBbLXQgVElKRFNMSU1JRVRdIFstdSBCRVNUQU5EU0RFU0NSSVBUT1JdIFtOQUFNLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzgKIG1zZ2lkICJyZXR1cm4gW25dIgogbXNnc3RyICJyZXR1cm4gW05dIgogCiAjOiBidWlsdGlucy5jOjE0MAotbXNnaWQgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbYXJnIC4uLl0iCisjLCBmdXp6eQorbXNnaWQgInNldCBbLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFstLV0gW2FyZyAuLi5dIgogbXNnc3RyICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBPUFRJRU5BQU1dIFtBUkdVTUVOVC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQyCkBAIC0yMTgyLDcgKzIxODksOCBAQAogbXNnc3RyICJleHBvcnQgWy1mbl0gW05BQU1bPVdBQVJERV0gLi4uXSAgIG9mICAgZXhwb3J0IC1wIgogCiAjOiBidWlsdGlucy5jOjE0NgotbXNnaWQgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKKyMsIGZ1enp5Cittc2dpZCAicmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKIG1zZ3N0ciAicmVhZG9ubHkgWy1hZl0gW05BQU1bPVdBQVJERV0gLi4uXSAgIG9mICAgcmVhZG9ubHkgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4CkBAIC0yMjc2LDcgKzIyODQsNyBAQAogCiAjOiBidWlsdGlucy5jOjE5OAogbXNnaWQgImNvcHJvYyBbTkFNRV0gY29tbWFuZCBbcmVkaXJlY3Rpb25zXSIKLW1zZ3N0ciAiY29wcm9jIFtOQUFNXSBvcGRyYWNodCBbdmVyd2lqemluZ2VuXSIKK21zZ3N0ciAiY29wcm9jIFtOQUFNXSBPUERSQUNIVCBbT01MRUlESU5HRU5dIgogCiAjOiBidWlsdGlucy5jOjIwMAogbXNnaWQgImZ1bmN0aW9uIG5hbWUgeyBDT01NQU5EUyA7IH0gb3IgbmFtZSAoKSB7IENPTU1BTkRTIDsgfSIKQEAgLTIzMjMsMjkgKzIzMzEsMjggQEAKIG1zZ3N0ciAicHJpbnRmIFstdiBWQVJJQUJFTEVdIE9QTUFBSyBbQVJHVU1FTlRFTl0iCiAKICM6IGJ1aWx0aW5zLmM6MjI5Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstIgogIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgogInN1ZmZpeF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gT1BUSUVdIFstQSBBQ1RJRV0gWy1HIFBBVFJPT05dXG4iCi0iICAgICAgICAgICAgICAgICAgIFstVyBXT09SREVOTElKU1RdIFstRiBGVU5DVElFXSBbLUMgT1BEUkFDSFRdXG4iCi0iICAgICAgICAgICAgICAgICAgIFstWCBGSUxURVJQQVRST09OXSBbLVAgUFJFRklYXSBbLVMgU1VGRklYXSAgW05BQU0uLi5dIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gT1BUSUVdIFstQSBBQ1RJRV1cbiIKKyIgICAgICAgICAgICAgICAgICAgWy1DIE9QRFJBQ0hUXSBbLUYgRlVOQ1RJRV0gWy1HIFBBVFJPT05dIFstUCBQUkVGSVhdXG4iCisiICAgICAgICAgICAgICAgICAgIFstUyBTVUZGSVhdIFstVyBXT09SREVOTElKU1RdIFstWCBGSUxURVJQQVRST09OXSAgIgorIltOQUFNLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMzMKIG1zZ2lkICIiCiAiY29tcGdlbiBbLWFiY2RlZmdqa3N1dl0gWy1vIG9wdGlvbl0gIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLVcgd29yZGxpc3RdICAiCiAiWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TIHN1ZmZpeF0gW3dvcmRdIgogbXNnc3RyICIiCi0iY29tcGdlbiBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIE9QVElFXSBbLUEgQUNUSUVdIFstRyBQQVRST09OXVxuIgotIiAgICAgICAgICAgICAgICAgWy1XIFdPT1JERU5MSUpTVF0gWy1GIEZVTkNUSUVdIFstQyBPUERSQUNIVF1cbiIKLSIgICAgICAgICAgICAgICAgIFstWCBGSUxURVJQQVRST09OXSBbLVAgUFJFRklYXSBbLVMgU1VGRklYXSAgW1dPT1JEXSIKKyJjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8gT1BUSUVdIFstQSBBQ1RJRV0gWy1DIE9QRFJBQ0hUXVxuIgorIiAgICAgICAgICAgICAgICAgWy1GIEZVTkNUSUVdIFstRyBQQVRST09OXSBbLVAgUFJFRklYXSBbLVMgU1VGRklYXVxuIgorIiAgICAgICAgICAgICAgICAgWy1XIFdPT1JERU5MSUpTVF0gWy1YIEZJTFRFUlBBVFJPT05dICBbV09PUkRdIgogCiAjOiBidWlsdGlucy5jOjIzNwotIywgZnV6enkKIG1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCi1tc2dzdHIgImNvbXBvcHQgWy1vfCtvIE9QVElFXSBbTkFBTS4uLl0iCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIE9QVElFXSBbLURFXSBbTkFBTS4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjQwCiBtc2dpZCAiIgpAQCAtMjQ1MCw4ICsyNDU3LDggQEAKIG1zZ3N0ciAiIgogIlRvZXRzYmluZGluZ2VuIGVuIHZhcmlhYmVsZW4gdmFuICdyZWFkbGluZScgaW5zdGVsbGVuLlxuIgogIlxuIgotIiAgICBFZW4gdG9ldHNlbnJlZWtzIHZlcmJpbmRlbiBhYW4gZWVuICdyZWFkbGluZSctZnVuY3RpZSBvZiBhYW4gZWVuIG1hY3JvLFxuIgotIiAgICBvZiBlZW4gJ3JlYWRsaW5lJy12YXJpYWJlbGUgaW5zdGVsbGVuLiAgRGUgc3ludGF4IHZhbiBhcmd1bWVudGVuIGRpZSAiCisiICAgIFZlcmJpbmR0IGVlbiB0b2V0c2VucmVla3MgYWFuIGVlbiAncmVhZGxpbmUnLWZ1bmN0aWUgb2YgYWFuIGVlbiBtYWNybyxcbiIKKyIgICAgb2Ygc3RlbHQgZWVuICdyZWFkbGluZSctdmFyaWFiZWxlIGluLiAgRGUgc3ludGF4IHZhbiBhcmd1bWVudGVuIGRpZSAiCiAiZ2VlblxuIgogIiAgICBvcHRpZXMgemlqbiBpcyBnZWxpamthYXJkaWcgYWFuIGRpZSB2b29yIH4vLmlucHV0cmMsIG1hYXIgemlqIGRpZW5lbiAiCiAiw6nDqW5cbiIKQEAgLTI0ODIsOSArMjQ4OSw5IEBACiAiZGV6ZVxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9ldHNlbnJlZWtzIGluZ2V2b2VyZCB3b3JkdCBcbiIKICJcbiIKLSIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQgb2YgZWVuICIKLSJmb3V0XG4iCi0iICAgIG9wdHJhZC4iCisiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIGVlbiBvbmdlbGRpZ2Ugb3B0aWUgZ2VnZXZlbiB3ZXJkIG9mIGVyICIKKyJlZW5cbiIKKyIgICAgZm91dCBvcHRyYWQuIgogCiAjOiBidWlsdGlucy5jOjMyNgogbXNnaWQgIiIKQEAgLTI0OTgsNiArMjUwNSw3IEBACiBtc2dzdHIgIiIKICJFZW4gJ2ZvcictLCAnd2hpbGUnLSBvZiAndW50aWwnLWx1cyBiZcOraW5kaWdlbi5cbiIKICIgICAgQWxzIE4gZ2VnZXZlbiBpcywgZGFuIHdvcmRlbiBOIG5pdmVhdXMgdmFuIGx1c3NlbiBiZcOraW5kaWdkLlxuIgorIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBOIGtsZWluZXIgZGFuIDEgaXMuIgogCiAjOiBidWlsdGlucy5jOjMzOApAQCAtMjUxMSw4ICsyNTE5LDkgQEAKICIgICAgVGhlIGV4aXQgc3RhdHVzIGlzIDAgdW5sZXNzIE4gaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLiIKIG1zZ3N0ciAiIgogIkRlIHZvbGdlbmRlIGhlcmhhbGluZyB2YW4gaHVpZGlnZSAnZm9yJy0sICd3aGlsZSctIG9mICd1bnRpbCctbHVzIGJlZ2lubmVuLlxuIgotIiAgICBBbHMgTiBnZWdldmVuIGlzLCBkYW4gd29yZHQgTiBuaXZlYXVzIGhvZ2VyIGRvb3JnZWdhYW4uICAgIERlICIKLSJhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBOIGtsZWluZXIgZGFuIDEgaXMuIgorIiAgICBBbHMgTiBnZWdldmVuIGlzLCBkYW4gd29yZHQgTiBuaXZlYXVzIGhvZ2VyIGRvb3JnZWdhYW4uXG4iCisiXG4iCisiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIE4ga2xlaW5lciBkYW4gMSBpcy4iCiAKICM6IGJ1aWx0aW5zLmM6MzUwCiBtc2dpZCAiIgpAQCAtMjU2NSw2ICsyNTc0LDcgQEAKICIgICAgb2YgRVhQUkVTU0lFIG9uZ2VsZGlnIGlzLiIKIAogIzogYnVpbHRpbnMuYzozODMKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkNoYW5nZSB0aGUgc2hlbGwgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjU5MCwxMSArMjYwMCwxNSBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIkRlIGh1aWRpZ2UgbWFwIHdpanppZ2VuLlxuIgogIlxuIgpAQCAtMjYxMSwxNCArMjYyNSwxNCBAQAogIiAgICBiZWdyZXBlbiwgZW4gYWxzIGRpZSB2YXJpYWJlbGUgZWVuIG5hYW0gYmV2YXQsIGRhbiBnYWF0ICdjZCcgbmFhciBkZVxuIgogIiAgICBtYXAgbWV0IGRpZSBuYWFtLlxuIgogIlxuIgotIiAgT3B0aWVzOlxuIgotIiAgICAtTCAgICBzeW1ib2xpc2NoZSBrb3BwZWxpbmdlbiB2b2xnZW4gKHN0YW5kYWFyZClcbiIKLSIgICAgLVAgICAgZGUgZnlzaWVrZSBtYXBwZW5zdHJ1Y3R1dXIgZ2VicnVpa2VuO1xuIgotIiAgICAgICAgICAgIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIHdvcmRlbiBlZXJzdCBcInZlcnRhYWxkXCJcbiIKKyIgICAgT3B0aWVzOlxuIgorIiAgICAgIC1MICAgIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIHZvbGdlbiAoc3RhbmRhYXJkKVxuIgorIiAgICAgIC1QICAgIGRlIGZ5c2lla2UgbWFwcGVuc3RydWN0dXVyIGdlYnJ1aWtlbjtcbiIKKyIgICAgICAgICAgICAgIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIHdvcmRlbiBlZXJzdCBcInZlcnRhYWxkXCJcbiIKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwIGFscyBkZSBnZXdlbnN0ZSBtYXAgaW5nZXN0ZWxkIGtvbiB3b3JkZW4sIGFuZGVycyAxLiIKIAotIzogYnVpbHRpbnMuYzo0MTEKKyM6IGJ1aWx0aW5zLmM6NDE0CiBtc2dpZCAiIgogIlByaW50IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI2NDIsMTAgKzI2NTYsMTAgQEAKICJzeW1ib2xpc2NoZVxuIgogIiAgICAgICAgICAgICBrb3BwZWxpbmdlbiAoc3RhbmRhYXJkKVxuIgogIlxuIgotIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlZW4gb25nZWxkaWdlIG9wdGllIGdlZ2V2ZW4gd2VyZFxuIgotIiAgICBvZiBkZSBodWlkaWdlIG1hcCBuaWV0IGJlcGFhbGQga29uIHdvcmRlbi4iCisiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIGVlbiBvbmdlbGRpZ2Ugb3B0aWUgZ2VnZXZlbiB3ZXJkIG9mIGRlXG4iCisiICAgIGh1aWRpZ2UgbWFwIG5pZXQgYmVwYWFsZCBrb24gd29yZGVuLiIKIAotIzogYnVpbHRpbnMuYzo0MjgKKyM6IGJ1aWx0aW5zLmM6NDMxCiBtc2dpZCAiIgogIk51bGwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNjU1LDcgKzI2NjksNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICJEb2V0IG5pZXRzOyBkZSBvcGRyYWNodCBoZWVmdCBnZWVuIGVmZmVjdDsgZGUgYWZzbHVpdHdhYXJkZSBpcyAwLiIKIAotIzogYnVpbHRpbnMuYzo0MzkKKyM6IGJ1aWx0aW5zLmM6NDQyCiBtc2dpZCAiIgogIlJldHVybiBhIHN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI2NjMsNyArMjY3Nyw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIkdlZWZ0IGFmc2x1aXR3YWFyZGUgMCwgaG9yZW5kIGJpaiBcImdlbHVrdFwiLiIKIAotIzogYnVpbHRpbnMuYzo0NDgKKyM6IGJ1aWx0aW5zLmM6NDUxCiBtc2dpZCAiIgogIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI2NzEsNyArMjY4NSw3IEBACiAiICAgIEFsd2F5cyBmYWlscy4iCiBtc2dzdHIgIkdlZWZ0IGFmc2x1aXR3YWFyZGUgMSwgaG9yZW5kIGJpaiBcIm1pc2x1a3RcIi4iCiAKLSM6IGJ1aWx0aW5zLmM6NDU3CisjOiBidWlsdGlucy5jOjQ2MAogbXNnaWQgIiIKICJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNzA1LDcgKzI3MTksOCBAQAogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIGRpZSB2YW4gZGUgdWl0Z2V2b2VyZGUgT1BEUkFDSFQsXG4iCiAiICAgIG9mIDEgYWxzIGRlIE9QRFJBQ0hUIG5pZXQgZ2V2b25kZW4gaXMuIgogCi0jOiBidWlsdGlucy5jOjQ3NgorIzogYnVpbHRpbnMuYzo0NzkKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgpAQCAtMjcxNiw2ICsyNzMxLDggQEAKICIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCiAiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKICIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKICIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgpAQCAtMjczNSwzNyArMjc1MiwzNyBAQAogIiAgICBcbiIKICIgICAgV2hlbiB1c2VkIGluIGEgZnVuY3Rpb24sIGBkZWNsYXJlJyBtYWtlcyBOQU1FcyBsb2NhbCwgYXMgd2l0aCB0aGUgIgogImBsb2NhbCdcbiIKLSIgICAgY29tbWFuZC5cbiIKKyIgICAgY29tbWFuZC4gIFRoZSBgLWcnIG9wdGlvbiBzdXBwcmVzc2VzIHRoaXMgYmVoYXZpb3IuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCi0iV2FhcmRlbiBlbiBhdHRyaWJ1dGVuIHZhbiB2YXJpYWJlbGVuIGluc3RlbGxlbi5cbiIKKyJXYWFyZGVuIGVuIGVpZ2Vuc2NoYXBwZW4gdmFuIHZhcmlhYmVsZW4gaW5zdGVsbGVuLlxuIgogIlxuIgotIiAgICBEZWNsYXJlZXJ0IGRlIGdlZ2V2ZW4gdmFyaWFiZWxlbiBlbi9vZiBrZW50IGhlbiBhdHRyaWJ1dGVuIHRvZS5cbiIKKyIgICAgRGVjbGFyZWVydCBkZSBnZWdldmVuIHZhcmlhYmVsZW4gZW4vb2Yga2VudCBoZW4gZWlnZW5zY2hhcHBlbiB0b2UuXG4iCiAiICAgIEFscyBlciBnZWVuIG5hbWVuIHZhbiB2YXJpYWJlbGVuIGdlZ2V2ZW4gemlqbiwgZGFuIHdvcmRlbiBkZVxuIgogIiAgICBiZXN0YWFuZGUgdmFyaWFiZWxlbiBlbiBodW4gd2FhcmRlbiBnZXRvb25kLlxuIgogIlxuIgogIiAgICBPcHRpZXM6XG4iCiAiICAgICAgLWYgICBhbGxlZW4gZGUgZ2VkZWZpbmllZXJkZSBmdW5jdGllcyB0b25lbiAoZ2VlbiB2YXJpYWJlbGVuKVxuIgogIiAgICAgIC1GICAgYWxsZWVuIGRlIG5hbWVuIHZhbiBkZSBmdW5jdGllcyB0b25lbiwgem9uZGVyIGRlIGRlZmluaXRpZXNcbiIKLSIgICAgICAtcCAgIHZhbiBlbGtlIGdlZ2V2ZW4gdmFyaWFiZWxlIGRlIGF0dHJpYnV0ZW4gZW4gd2FhcmRlIHRvbmVuXG4iCisiICAgICAgLXAgICB2YW4gZWxrZSBnZWdldmVuIHZhcmlhYmVsZSBkZSBlaWdlbnNjaGFwcGVuIGVuIHdhYXJkZSB0b25lblxuIgogIlxuIgotIiAgICBBdHRyaWJ1dGVuOlxuIgorIiAgICBFaWdlbnNjaGFwcGVuOlxuIgogIiAgICAgIC1hICAgdmFuIGdlZ2V2ZW4gdmFyaWFiZWxlbiBhcnJheXMgbWFrZW4gKGluZGllbiBtb2dlbGlqaylcbiIKICIgICAgICAtQSAgIHZhbiBnZWdldmVuIHZhcmlhYmVsZW4gYXNzb2NpYXRpZXZlIGFycmF5cyBtYWtlbiAoaW5kaWVuICIKICJtb2dlbGlqaylcbiIKLSIgICAgICAtaSAgIGFhbiBnZWdldmVuIHZhcmlhYmVsZW4gaGV0ICdnZWhlZWwgZ2V0YWwnLWF0dHJpYnV1dCB0b2VrZW5uZW5cbiIKKyIgICAgICAtaSAgIGFhbiBnZWdldmVuIHZhcmlhYmVsZW4gZGUgJ2dlaGVlbCBnZXRhbCctZWlnZW5zY2hhcCB0b2VrZW5uZW5cbiIKICIgICAgICAtbCAgIGdlZ2V2ZW4gdmFyaWFiZWxlbiBiaWogdG9la2VubmluZyBvbXpldHRlbiBuYWFyIGtsZWluZSBsZXR0ZXJzXG4iCiAiICAgICAgLXIgICBkZSBnZWdldmVuIHZhcmlhYmVsZW4gYWxsZWVuLWxlemVuIG1ha2VuXG4iCi0iICAgICAgLXQgICBhYW4gZ2VnZXZlbiB2YXJpYWJlbGVuIGhldCAndHJhY2UnLWF0dHJpYnV1dCB0b2VrZW5uZW5cbiIKKyIgICAgICAtdCAgIGFhbiBnZWdldmVuIHZhcmlhYmVsZW4gZGUgJ3RyYWNlJy1laWdlbnNjaGFwIHRvZWtlbm5lblxuIgogIiAgICAgIC11ICAgZ2VnZXZlbiB2YXJpYWJlbGVuIGJpaiB0b2VrZW5uaW5nIG9temV0dGVuIG5hYXIgaG9vZmRsZXR0ZXJzXG4iCiAiICAgICAgLXggICBkZSBnZWdldmVuIHZhcmlhYmVsZW4gZXhwb3J0ZXJlblxuIgogIlxuIgotIiAgICBFZW4gJysnIGluIHBsYWF0cyB2YW4gZWVuICctJyB2b29yIGRlIGxldHRlciBzY2hha2VsdCBoZXQgYmV0cmVmZmVuZGVcbiIKLSIgICAgYXR0cmlidXV0IHVpdC5cbiIKKyIgICAgRWVuICcrJyBpbiBwbGFhdHMgdmFuIGVlbiAnLScgdm9vciBkZSBsZXR0ZXIgc2NoYWtlbHQgZGUgYmV0cmVmZmVuZGVcbiIKKyIgICAgZWlnZW5zY2hhcCB1aXQuXG4iCiAiXG4iCi0iICAgIEJpaiB2YXJpYWJlbGVuIG1ldCBoZXQgJ2dlaGVlbCBnZXRhbCctYXR0cmlidXV0IHdvcmR0IGJpaiB0b2V3aWp6aW5nZW5cbiIKKyIgICAgQmlqIHZhcmlhYmVsZW4gbWV0IGRlICdnZWhlZWwgZ2V0YWwnLWVpZ2Vuc2NoYXAgd29yZHQgYmlqIHRvZXdpanppbmdlblxuIgogIiAgICBlZW4gcmVrZW5rdW5kaWdlIGV2YWx1YXRpZSBnZWRhYW4gKHppZSAnbGV0JykuXG4iCiAiXG4iCiAiICAgIEFscyAnZGVjbGFyZScgd29yZHQgZ2VicnVpa3QgaW4gZWVuIGZ1bmN0aWUsIGRhbiBtYWFrdCBoZXQgZWxrZSBnZWdldmVuXG4iCkBAIC0yNzczLDE4ICsyNzkwLDE5IEBACiAiXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIGVlbiBvbmdlbGRpZ2Ugb3B0aWUgZ2VnZXZlbiB3ZXJkIG9mIGVyICIKICJlZW5cbiIKLSIgICAgZm91dCBvcHRyZWVkdC4iCisiICAgIGZvdXQgb3B0cmFkLiIKIAotIzogYnVpbHRpbnMuYzo1MTIKKyM6IGJ1aWx0aW5zLmM6NTE3CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgogIiAgICBPYnNvbGV0ZS4gIFNlZSBgaGVscCBkZWNsYXJlJy4iCiBtc2dzdHIgIiIKLSJXYWFyZGVuIGVuIGF0dHJpYnV0ZW4gdmFuIHZhcmlhYmVsZW4gaW5zdGVsbGVuLlxuIgotIiAgICBWZXJvdWRlcmQuICBaaWUgJ2hlbHAgZGVjbGFyZScuIgorIldhYXJkZW4gZW4gZWlnZW5zY2hhcHBlbiB2YW4gdmFyaWFiZWxlbiBpbnN0ZWxsZW4uXG4iCisiXG4iCisiICAgIERlemUgb3BkcmFjaHQgaXMgdmVyb3VkZXJkLiAgWmllICdoZWxwIGRlY2xhcmUnLiIKIAotIzogYnVpbHRpbnMuYzo1MjAKKyM6IGJ1aWx0aW5zLmM6NTI1CiBtc2dpZCAiIgogIkRlZmluZSBsb2NhbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMjgwNiwxMCArMjgyNCwxMSBAQAogIiAgICAnbG9jYWwnIGthbiBhbGxlZW4gYmlubmVuIGVlbiBmdW5jdGllIGdlYnJ1aWt0IHdvcmRlbiwgZW4gem9yZ3QgZXJ2b29yXG4iCiAiICAgIGRhdCBoZXQgZ2VsZGlnaGVpZHNiZXJlaWsgdmFuIGRlIHZhcmlhYmVsZSBOQUFNIGJlcGVya3Qgd29yZHQgdG90IGRlXG4iCiAiICAgIGJldHJlZmZlbmRlIGZ1bmN0aWUgZW4gZGllbnMgZG9jaHRlcnMuXG4iCisiXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIGVlbiBvbmdlbGRpZ2Ugb3B0aWUgZ2VnZXZlbiB3ZXJkLCBlciBlZW5cbiIKICIgICAgZm91dCBvcHRyYWQsIG9mIGRlIHNoZWxsIGdlZW4gZnVuY3RpZSBhYW4gaGV0IHVpdHZvZXJlbiBpcy4iCiAKLSM6IGJ1aWx0aW5zLmM6NTM3CisjOiBidWlsdGlucy5jOjU0MgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yODQxLDEyICsyODYwLDE2IEBACiBtc2dzdHIgIiIKICJEZSBnZWdldmVuIGFyZ3VtZW50ZW4gbmFhciBzdGFuZGFhcmR1aXR2b2VyIHNjaHJpanZlbi5cbiIKICJcbiIKKyIgICAgU2NocmlqZnQgZGUgZ2VnZXZlbiBhcmd1bWVudGVuIG5hYXIgc3RhbmRhYXJkdWl0dm9lciwgZ2V2b2xnZCBkb29yIGVlblxuIgorIiAgICBuaWV1d2UgcmVnZWwuXG4iCisiXG4iCiAiICAgIE9wdGllczpcbiIKICIgICAgICAtbiAgIGRlIGFmc2x1aXRlbmRlIG5pZXV3ZSByZWdlbCBvbmRlcmRydWtrZW5cbiIKICIgICAgICAtZSAgIG9uZGVyc3RhYW5kZSBiYWNrc2xhc2gtc3R1dXJjb2RlcyBpbnRlcnByZXRlcmVuXG4iCiAiICAgICAgLUUgICBvbmRlcnN0YWFuZGUgYmFja3NsYXNoLXN0dXVyY29kZXMgbmlldCBpbnRlcnByZXRlcmVuXG4iCiAiXG4iCi0iICAgICdlY2hvJyBrZW50IGRlIHZvbGdlbmRlIHN0dXVyY29kZXM6ICAgICAgXFxhICAgICBnZWx1aWRzc2lnbmFhbFxuIgorIiAgICAnZWNobycga2VudCBkZSB2b2xnZW5kZSBzdHV1cmNvZGVzOlxuIgorIiAgICAgIFxcYSAgICAgZ2VsdWlkc3NpZ25hYWxcbiIKICIgICAgICBcXGIgICAgIGJhY2tzcGFjZVxuIgogIiAgICAgIFxcYyAgICAgZ2VlbiB2ZXJkZXJlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgogIiAgICAgIFxcRSAgICAgZXNjYXBlY29kZVxuIgpAQCAtMjg1OSw5ICsyODgyLDkgQEAKICIgICAgICBcXDBOTk4gIGhldCB0ZWtlbiBtZXQgQVNDSUktY29kZSBOTk4gKG9jdGFhbCwgMSB0b3QgMyBjaWpmZXJzKVxuIgogIiAgICAgIFxceEhIICAgaGV0IHRla2VuIG1ldCBjb2RlIEhIIChoZXhhZGVjaW1hYWwsIDEgb2YgMiBjaWpmZXJzKVxuIgogIlxuIgotIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlZW4gc2NocmlqZmZvdXQgb3B0cmVlZHQuIgorIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlZW4gc2NocmlqZmZvdXQgb3B0cmFkLiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI4NzUsMTIgKzI4OTgsMTIgQEAKIG1zZ3N0ciAiIgogIkRlIGdlZ2V2ZW4gYXJndW1lbnRlbiBuYWFyIHN0YW5kYWFyZHVpdHZvZXIgc2NocmlqdmVuLlxuIgogIlxuIgotIiAgICBTY2hyaWpmdCBkZSBnZWdldmVuIGFyZ3VtZW50ZW4gbmFhciBzdGFuZGFhcmR1aXR2b2VyLCBnZXZvbGdkIGRvb3IuXG4iCi0iICAgIGVlbiBuaWV1d2UgcmVnZWwuICBPcHRpZSAtbiBvbmRlcmRydWt0IGRlIGFmc2x1aXRlbmRlIG5pZXV3ZSByZWdlbC5cbiIKKyIgICAgU2NocmlqZnQgZGUgZ2VnZXZlbiBhcmd1bWVudGVuIG5hYXIgc3RhbmRhYXJkdWl0dm9lciwgZ2V2b2xnZCBkb29yIGVlblxuIgorIiAgICBuaWV1d2UgcmVnZWwuICBPcHRpZSAnLW4nIG9uZGVyZHJ1a3QgZGV6ZSBhZnNsdWl0ZW5kZSBuaWV1d2UgcmVnZWwuXG4iCiAiXG4iCi0iICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIGVlbiBzY2hyaWpmZm91dCBvcHRyZWVkdC4iCisiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIGVlbiBzY2hyaWpmZm91dCBvcHRyYWQuIgogCi0jOiBidWlsdGlucy5jOjU4NgorIzogYnVpbHRpbnMuYzo1OTEKIG1zZ2lkICIiCiAiRW5hYmxlIGFuZCBkaXNhYmxlIHNoZWxsIGJ1aWx0aW5zLlxuIgogIiAgICBcbiIKQEAgLTI5MzQsOSArMjk1Nyw5IEBACiAiICAgIGdlYnJ1aWtlbiBkYXQgemljaCBpbiB1dyB6b2VrcGFkIFBBVEggYmV2aW5kdCwgdHlwdCB1ICdlbmFibGUgLW4gdGVzdCcuXG4iCiAiXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIE5BQU0gZ2VlbiBpbmdlYm91d2RlIHNoZWxsLW9wZHJhY2h0IGlzIG9mXG4iCi0iwqAgICBlZW4gZm91dCBvcHRyZWVkdC4iCisiwqAgICBlciBlZW4gZm91dCBvcHRyZWVkdC4iCiAKLSM6IGJ1aWx0aW5zLmM6NjE0CisjOiBidWlsdGlucy5jOjYxOQogbXNnaWQgIiIKICJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjk1Nyw3ICsyOTgwLDcgQEAKICJvcGRyYWNodFxuIgogIiAgICBsZWVnIGlzLiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzAzMyw3ICszMDU2LDcgQEAKICIgICAgTm9ybWFsaXRlciBvbnRsZWVkdCAnZ2V0b3B0cycgZGUgcG9zaXRpb25lbGUgcGFyYW1ldGVyczogJDAuLi4kOS5cbiIKICIgICAgTWFhciBhbHMgZXIgYXJndW1lbnRlbiBnZWdldmVuIHdvcmRlbiwgZGFuIHdvcmRlbiBkZXplIG9udGxlZWQuIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zMDc0LDcgKzMwOTcsNyBAQAogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBPUERSQUNIVCBuaWV0IGdldm9uZGVuIHdvcmR0IG9mIGVyIGVlblxuIgogIiAgICBvbWxlaWRpbmdzZm91dCBvcHRyZWVkdC4iCiAKLSM6IGJ1aWx0aW5zLmM6Njg5CisjOiBidWlsdGlucy5jOjY5NAogbXNnaWQgIiIKICJFeGl0IHRoZSBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMDg2LDcgKzMxMDksNyBAQAogIiAgICBCZcOraW5kaWd0IGRlIHNoZWxsIG1ldCBlZW4gYWZzbHVpdHdhYXJkZSB2YW4gTi4gIFpvbmRlciBOIGlzIGRlXG4iCiAiICAgIGFmc2x1aXR3YWFyZGUgZGllIHZhbiBkZSBsYWF0c3QgdWl0Z2V2b2VyZGUgb3BkcmFjaHQuIgogCi0jOiBidWlsdGlucy5jOjY5OAorIzogYnVpbHRpbnMuYzo3MDMKIG1zZ2lkICIiCiAiRXhpdCBhIGxvZ2luIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMwOTksNyArMzEyMiw3IEBACiAiICAgIEJlw6tpbmRpZ3QgZWVuIGxvZ2luLXNoZWxsIG1ldCBlZW4gYWZzbHVpdHdhYXJkZSB2YW4gTi4gIEdlZWZ0IGVlblxuIgogIiAgICBmb3V0bWVsZGluZyBhbHMgZGUgaHVpZGlnZSBzaGVsbCBnZWVuIGxvZ2luLXNoZWxsIGlzLiIKIAotIzogYnVpbHRpbnMuYzo3MDgKKyM6IGJ1aWx0aW5zLmM6NzEzCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzE1NCw3ICszMTc3LDcgQEAKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBkaWUgdmFuIGRlIHVpdGdldm9lcmRlIG9wZHJhY2h0LCBvZiAwLCBvZiBuaWV0LW51bCBhbHNcbiIKICIgICAgZXIgZWVuIGZvdXQgb3B0cmVlZHQuIgogCi0jOiBidWlsdGlucy5jOjczOAorIzogYnVpbHRpbnMuYzo3NDMKIG1zZ2lkICIiCiAiTW92ZSBqb2IgdG8gdGhlIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzE3Nyw3ICszMjAwLDcgQEAKICJlclxuIgogIiAgICBlZW4gZm91dCBvcHRyZWVkdC4iCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogbXNnaWQgIiIKICJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzE5OCwxMCArMzIyMSwxMSBAQAogImh1aWRpZ2VcbiIKICIgICAgdGFhayBpcyBnZWJydWlrdC5cbiIKICJcbiIKLSIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwIHRlbnppaiB0YWFrYmVoZWVyIHVpdGdlc2NoYWtlbGQgaXMgb2YgZXIgZWVuIGZvdXRcbiIKKyIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogdGFha2JlaGVlciB1aXRnZXNjaGFrZWxkIGlzIG9mIGVyIGVlbiAiCisiZm91dFxuIgogIiAgICBvcHRyZWVkdC4iCiAKLSM6IGJ1aWx0aW5zLmM6NzY3CisjOiBidWlsdGlucy5jOjc3MgogbXNnaWQgIiIKICJSZW1lbWJlciBvciBkaXNwbGF5IHByb2dyYW0gbG9jYXRpb25zLlxuIgogIiAgICBcbiIKQEAgLTMyNDMsNyArMzI2Nyw3IEBACiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIE5BQU0gbmlldCBnZXZvbmRlbiB3b3JkdCBvZiBlZW4gb25nZWxkaWdlXG4iCiAiICAgIG9wdGllIGdlZ2V2ZW4gd2VyZC4iCiAKLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzI4MCw3ICszMzA0LDcgQEAKICJvbmdlbGRpZ2VcbiIKICIgICAgb3B0aWUgZ2VnZXZlbiB3ZXJkLiIKIAotIzogYnVpbHRpbnMuYzo4MTYKKyM6IGJ1aWx0aW5zLmM6ODIxCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTMzMzIsMjEgKzMzNTYsMjQgQEAKICJcbiIKICIgICAgICAtcCAgIGdlc2NoaWVkZW5pc29wem9la2luZyB1aXR2b2VyZW4gdm9vciBlbGsgQVJHVU1FTlQgZW4gaGV0ICIKICJyZXN1bHRhYXRcbiIKLSIgICAgICAgICAgICAgdG9uZW4gem9uZGVyIGRpdCBpbiBkZSBnZXNjaGllZGVuaXMgb3AgdGUgc2xhYW4gICAgICAtcyAgIGRlICIKLSJBUkdVTUVOVGVuIGFscyDDqcOpbiBlbmtlbCBpdGVtIGFhbiBkZSBnZXNjaGllZGVuaXMgdG9ldm9lZ2VuXG4iCisiICAgICAgICAgICAgIHRvbmVuIHpvbmRlciBkaXQgaW4gZGUgZ2VzY2hpZWRlbmlzIG9wIHRlIHNsYWFuXG4iCisiICAgICAgLXMgICBkZSBBUkdVTUVOVGVuIGFscyDDqcOpbiBlbmtlbCBpdGVtIGFhbiBkZSBnZXNjaGllZGVuaXMgdG9ldm9lZ2VuXG4iCisiXG4iCiAiICAgIEFscyBlZW4gQkVTVEFORFNOQUFNIGdlZ2V2ZW4gaXMsIGRhbiB3b3JkdCBkYXQgZ2VicnVpa3QgYWxzIGhldFxuIgogIiAgICBnZXNjaGllZGVuaXNiZXN0YW5kLCBhbmRlcnMgd29yZHQgZGUgd2FhcmRlIHZhbiBISVNURklMRSBnZWJydWlrdCwgZW5cbiIKICIgICAgYWxzIGRpZSB2YXJpYWJlbGUgbGVlZyBpcywgZGFuIH4vLmJhc2hfaGlzdG9yeS5cbiIKKyJcbiIKICIgICAgQWxzIGRlIHZhcmlhYmVsZSBISVNUVElNRUZPUk1BVCBpbmdlc3RlbGQgZW4gbmlldCBsZWVnIGlzLCBkYW4gd29yZHQgZGVcbiIKICIgICAgd2FhcmRlIGVydmFuIGdlYnJ1aWt0IGFscyBlZW4gb3BtYWFrdGVrZW5yZWVrcyBmb3Igc3RyZnRpbWUoMyksIG9tIGVlblxuIgogIiAgICB0aWpkc3N0ZW1wZWwgYmlqIGVsayBnZXNjaGllZGVuaXNpdGVtIHdlZXIgdGUgZ2V2ZW4uICBBbmRlcnMgd29yZGVuICIKICJnZWVuXG4iCi0iICAgIHRpamRzc3RlbXBlbHMgZ2V0b29uZC4gXG4iCisiICAgIHRpamRzc3RlbXBlbHMgZ2V0b29uZC5cbiIKKyJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQgb2YgZXIgIgogImVlblxuIgotIiAgICBmb3V0IG9wdHJlZWR0LiIKKyIgICAgZm91dCBvcHRyYWQuIgogCi0jOiBidWlsdGlucy5jOjg1MgorIzogYnVpbHRpbnMuYzo4NTcKIG1zZ2lkICIiCiAiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKICIgICAgXG4iCkBAIC0zMzgzLDE1ICszNDEwLDE2IEBACiAiICAgICAgLXAgICBhbGxlZW4gZGUgcHJvY2VzLUlEJ3MgdG9uZW5cbiIKICIgICAgICAtciAgIHVpdHZvZXIgYmVwZXJrZW4gdG90IGRyYWFpZW5kZSB0YWtlblxuIgogIiAgICAgIC1zICAgdWl0dm9lciBiZXBlcmtlbiB0b3QgZ2VwYXV6ZWVyZGUgdGFrZW5cbiIKKyJcbiIKICIgICAgQWxzIG9wdGllICcteCcgZ2VnZXZlbiBpcywgd29yZHQgZGUgZ2VnZXZlbiBPUERSQUNIVCB1aXRnZXZvZXJkIG5hZGF0XG4iCiAiICAgIGFsbGUgZ2VnZXZlbiB0YWtlbiAoaW4gQVJHVU1FTlRlbikgYWZnZXNsb3RlbiB6aWpuIChkYXQgd2lsIHplZ2dlbjogaHVuXG4iCiAiICAgIHByb2Nlcy1JRCBpcyB2ZXJ2YW5nZW4gZG9vciBkYXQgdmFuIGh1biBtb2VkZXJwcm9jZXMpLlxuIgogIlxuIgotIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlZW4gb25nZWxkaWdlIG9wdGllIGdlZ2V2ZW4gd2VyZCBvZiBlZW5cbiIKLSIgICAgZm91dCBvcHRyZWVkdC4gIEFscyAnLXgnIGdlYnJ1aWt0IGlzLCBkYW4gaXMgZGUgYWZzbHVpdHdhYXJkZSBkaWUgdmFuXG4iCi0iICAgIE9QRFJBQ0hULiIKKyIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQgb2YgZXIgIgorImVlblxuIgorIiAgICBmb3V0IG9wdHJhZC4gIE1ldCBvcHRpZSAnLXgnIGlzIGRlIGFmc2x1aXR3YWFyZGUgZGllIHZhbiBPUERSQUNIVC4iCiAKLSM6IGJ1aWx0aW5zLmM6ODc5CisjOiBidWlsdGlucy5jOjg4NAogbXNnaWQgIiIKICJSZW1vdmUgam9icyBmcm9tIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzQyMyw3ICszNDUxLDcgQEAKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBvZiBUQUFLQUFORFVJRElOR1xuIgogIiAgICBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjg5OAorIzogYnVpbHRpbnMuYzo5MDMKIG1zZ2lkICIiCiAiU2VuZCBhIHNpZ25hbCB0byBhIGpvYi5cbiIKICIgICAgXG4iCkBAIC0zNDY2LDkgKzM0OTQsMTAgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQgb2YgZXIgIgogImVlblxuIgotIiAgICBmb3V0IG9wdHJlZWR0LiIKKyIgICAgZm91dCBvcHRyYWQuIgogCi0jOiBidWlsdGlucy5jOjkyMQorIzogYnVpbHRpbnMuYzo5MjYKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzUxMCw3ICszNTM5LDcgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIlJla2Vua3VuZGlnZSB1aXRkcnVra2luZ2VuIGV2YWx1ZXJlbi5cbiIKICJcbiIKQEAgLTM1NDYsNyArMzU3NSw3IEBACiAidmFyaWFiZWxlXG4iCiAiICAgIHdvcmR0IHZlcnZhbmdlbiBkb29yIHppam4gd2FhcmRlICh6b25vZGlnIG9tZ2V6ZXQgbmFhciBlZW4gZ2VoZWVsICIKICJnZXRhbCkuXG4iCi0iICAgIFZhcmlhYmVsZW4gaG9ldmVuIGdlZW4gJ2dlaGVlbCBnZXRhbCctYXR0cmlidXV0IHRlIGhlYmJlbiBvbSBnZWJydWlrdCAiCisiICAgIFZhcmlhYmVsZW4gaG9ldmVuIGdlZW4gJ2dlaGVlbCBnZXRhbCctZWlnZW5zY2hhcCB0ZSBoZWJiZW4gb20gZ2VicnVpa3QgIgogInRlXG4iCiAiICAgIGt1bm5lbiB3b3JkZW4gaW4gZWVuIGV4cHJlc3NpZS5cbiIKICJcbiIKQEAgLTM1NTcsOCArMzU4Niw3IEBACiAiICAgIEFscyBoZXQgbGFhdHN0ZSBBUkdVTUVOVCBldmFsdWVlcnQgdG90IDAsIGRhbiBpcyBkZSBhZnNsdWl0d2FhcmRlIHZhblxuIgogIiAgICAnbGV0JyAxOyBhbmRlcnMgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6OTY2Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzo5NzEKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgogIiAgICBcbiIKQEAgLTM2MDksNyArMzYzNyw3IEBACiAiXG4iCiAiICAgIExlZXN0IMOpw6luIHJlZ2VsIHZhbiBzdGFuZGFhcmRpbnZvZXIgKG9mIHZhbiBkZSBnZWdldmVuICIKICJiZXN0YW5kc2Rlc2NyaXB0b3JcbiIKLSIgICAgYWxzIG9wdGllIC11IGdlZ2V2ZW4gaXMpIGVuIHdpanN0IGhldCBlZXJzdGUgd29vcmQgYWFuIGRlIGVlcnN0ZSBOQUFNICIKKyIgICAgYWxzIG9wdGllICctdScgZ2VnZXZlbiBpcykgZW4gd2lqc3QgaGV0IGVlcnN0ZSB3b29yZCBhYW4gZGUgZWVyc3RlIE5BQU0gIgogInRvZSxcbiIKICIgICAgaGV0IHR3ZWVkZSB3b29yZCBhYW4gZGUgdHdlZWRlIE5BQU0sIGVuIHpvIHZlcmRlcjsgZGUgcmVzdGVyZW5kZSAiCiAid29vcmRlblxuIgpAQCAtMzYyMCwzMiArMzY0OCwzNCBAQAogIiAgICB6aWpuLCB3b3JkdCBkZSBnZWxlemVuIHJlZ2VsIG9wZ2VzbGFnZW4gaW4gZGUgdmFyaWFiZWxlIFJFUExZLlxuIgogIlxuIgogIiAgICBPcHRpZXM6XG4iCi0iICAgICAgLWEgQVJSQVlcdGRlIGdlbGV6ZW4gd29vcmRlbiB0b2VrZW5uZW4gYWFuIGRlIG9wZWVudm9sZ2VuZGUgcG9zaXRpZXNcbiIKLSIgICAgICBcdFx0dmFuIGhldCBnZW5vZW1kZSBhcnJheSwgYmVnaW5uZW5kIGJpaiBpbmRleCBudWxcbiIKLSIgICAgICAtZCBURUtFTlx0ZG9vcmdhYW4gbWV0IGxlemVuIHRvdCBURUtFTiBnZWxlemVuIHdvcmR0IChpLnAudi4gTEYtIgorIiAgICAgIC1hIEFSUkFZICAgZGUgZ2VsZXplbiB3b29yZGVuIHRvZWtlbm5lbiBhYW4gZGUgb3BlZW52b2xnZW5kZSBwb3NpdGllc1xuIgorIiAgICAgICAgICAgICAgICAgICB2YW4gaGV0IGdlbm9lbWRlIGFycmF5LCBiZWdpbm5lbmQgYmlqIGluZGV4IG51bFxuIgorIiAgICAgIC1kIFRFS0VOICAgZG9vcmdhYW4gbWV0IGxlemVuIHRvdCBURUtFTiBnZWxlemVuIHdvcmR0IChpLnAudi4gTEYtIgogInRla2VuKVxuIgotIiAgICAgIC1lXHRcdGluIGVlbiBpbnRlcmFjdGlldmUgc2hlbGwgJ3JlYWRsaW5lJyBnZWJydWlrZW4gb20gZGUgcmVnZWxcbiIKLSIgICAgICAgICBcdFx0aW4gdGUgbGV6ZW5cbiIKLSIgICAgICAtaSBURUtTVFx0ZG9vciAncmVhZGxpbmUnIHRlIGdlYnJ1aWtlbiBiZWdpbnRla3N0XG4iCi0iICAgICAgLW4gQUFOVEFMXHRzdG9wcGVuIG5hIGRpdCBhYW50YWwgdGVrZW5zIGdlbGV6ZW4gdGUgaGViYmVuIChpLnAudi4gdG90XG4iCi0iICAgICAgICAgXHRcdGVlbiBMRi10ZWtlbilcbiIKLSIgICAgICAtcCBQUk9NUFRcdGRlemUgdGVrZW5yZWVrcyB0b25lbiBhbHMgcHJvbXB0ICh6b25kZXIgYWZzbHVpdGVuZGUgIgorIiAgICAgIC1lICAgICAgICAgaW4gZWVuIGludGVyYWN0aWV2ZSBzaGVsbCAncmVhZGxpbmUnIGdlYnJ1aWtlbiBvbSBkZSByZWdlbFxuIgorIiAgICAgICAgICAgICAgICAgICBpbiB0ZSBsZXplblxuIgorIiAgICAgIC1pIFRFS1NUICAgZG9vciAncmVhZGxpbmUnIHRlIGdlYnJ1aWtlbiBiZWdpbnRla3N0XG4iCisiICAgICAgLW4gQUFOVEFMICBzdG9wcGVuIG5hIG1heGltYWFsIGRpdCBhYW50YWwgdGVrZW5zIGdlbGV6ZW4gdGUgaGViYmVuLCAiCisib2ZcbiIKKyIgICAgICAgICAgICAgICAgICAgbmEgZWVuIExGLXRla2VuIChpLnAudi4gYWx0aWpkIHRlIHdhY2h0ZW4gb3AgZWVuIExGLSIKKyJ0ZWtlbilcbiIKKyIgICAgICAtcCBQUk9NUFQgIGRlemUgdGVrZW5yZWVrcyB0b25lbiBhbHMgcHJvbXB0ICh6b25kZXIgYWZzbHVpdGVuZGUgIgogIm5pZXV3ZVxuIgotIiAgICAgICAgIFx0XHRyZWdlbCkgYWx2b3JlbnMgdGUgYmVnaW5uZW4gbWV0IGxlemVuXG4iCi0iICAgICAgLXJcdFx0YmFja3NsYXNoLWNvZGVzIG5pZXQgb216ZXR0ZW4gbmFhciBodW4gYmV0ZWtlbmlzXG4iCi0iICAgICAgLXNcdFx0aW52b2VyIGRpZSB2YW4gZWVuIHRlcm1pbmFsIGtvbXQgbmlldCBlY2hvw6tuXG4iCi0iICAgICAgLXQgQUFOVEFMXHRuYSBkaXQgYWFudGFsIHNlY29uZGVuIHN0b3BwZW4gbWV0IHdhY2h0ZW4gb3AgaW52b2VyIGVuXG4iCi0iICAgICAgICAgXHRcdGFmc2x1aXRlbiBtZXQgZWVuIGNvZGUgZ3JvdGVyIGRhbiAxMjg7IGRlIHdhYXJkZSB2YW4gZGVcbiIKLSIgICAgICAgICBcdFx0dmFyaWFiZWxlIFRNT1VUIGlzIGRlIHN0YW5kYWFyZHdhYXJkZSB2b29yIGhldCBhYW50YWwgdGVcbiIKLSIgICAgICAgICBcdFx0d2FjaHRlbiBzZWNvbmRlbjsgaGV0IGFhbnRhbCBtYWcgZHJpanZlbmRlcHVudGdldGFsIHppam5cbiIKLSIgICAgICAtdSBCU0RTXHRcdHZhbiBkZXplIGJlc3RhbmRzZGVzY3JpcHRvciBsZXplbiBpLnAudi4gdmFuICIKKyIgICAgICAgICAgICAgICAgICAgcmVnZWwpIGFsdm9yZW5zIHRlIGJlZ2lubmVuIG1ldCBsZXplblxuIgorIiAgICAgIC1yICAgICAgICAgYmFja3NsYXNoLWNvZGVzIG5pZXQgb216ZXR0ZW4gbmFhciBodW4gYmV0ZWtlbmlzXG4iCisiICAgICAgLXMgICAgICAgICBpbnZvZXIgZGllIHZhbiBlZW4gdGVybWluYWwga29tdCBuaWV0IGVjaG/Dq25cbiIKKyIgICAgICAtdCBBQU5UQUwgIG5hIGRpdCBhYW50YWwgc2Vjb25kZW4gc3RvcHBlbiBtZXQgd2FjaHRlbiBvcCBpbnZvZXIgZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgYWZzbHVpdGVuIG1ldCBlZW4gY29kZSBncm90ZXIgZGFuIDEyODsgZGUgd2FhcmRlIHZhbiBkZVxuIgorIiAgICAgICAgICAgICAgICAgICB2YXJpYWJlbGUgVE1PVVQgaXMgZGUgc3RhbmRhYXJkd2FhcmRlIHZvb3IgaGV0IGFhbnRhbCB0ZVxuIgorIiAgICAgICAgICAgICAgICAgICB3YWNodGVuIHNlY29uZGVuOyBoZXQgYWFudGFsIG1hZyBkcmlqdmVuZGVwdW50Z2V0YWwgemlqblxuIgorIiAgICAgIC11IEJTLkRTLiAgdmFuIGRlemUgYmVzdGFuZHNkZXNjcmlwdG9yIGxlemVuIGkucC52LiB2YW4gIgogInN0YW5kYWFyZGludm9lclxuIgotIiAgICBcbiIKKyJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWluZGUtdmFuLWJlc3RhbmQgKEVPRikgYmVyZWlrdCB3ZXJkLFxuIgogIiAgICBkZSB0aWpkc2xpbWlldCBvdmVyc2NocmVkZW4gd2VyZCwgb2YgZWVuIG9uZ2VsZGlnZSBiZXN0YW5kc2Rlc2NyaXB0b3JcbiIKICIgICAgYWxzIGFyZ3VtZW50IHZhbiAnLXUnIGdlZ2V2ZW4gd2VyZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAwOQorIzogYnVpbHRpbnMuYzoxMDE0CiBtc2dpZCAiIgogIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzY2Niw3ICszNjk2LDggQEAKICIgICAgdWl0dm9lcmVuIGlzLiIKIAogIyBWb29yIGRlIGR1aWRlbGlqa2hlaWQgaXMgZGUgdGVrc3R2b2xnb3JkZSB2ZXJhbmRlcmQuCi0jOiBidWlsdGlucy5jOjEwMjIKKyM6IGJ1aWx0aW5zLmM6MTAyNworIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzczNSw2ICszNzY2LDkgQEAKICIgICAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzXG4iCiAiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKICIgICAgICAtVCAgSWYgc2V0LCB0aGUgREVCVUcgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC0tICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgICAgICAgYXJlIHVuc2V0LlxuIgogIiAgICAgIC0gICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgogIiAgICBcbiIKQEAgLTM3NDksNyArMzc4Myw3IEBACiBtc2dzdHIgIiIKICJXYWFyZGVuIHZhbiBzaGVsbC1vcHRpZXMgb2YgcG9zaXRpb25lbGUgcGFyYW1ldGVycyBpbnN0ZWxsZW4uXG4iCiAiXG4iCi0iICAgIFNjaGFrZWx0IHNoZWxsLWF0dHJpYnV0ZW4gaW4gb2YgdWl0LCBvZiB2ZXJhbmRlcnQgd2FhcmRlbiB2YW4gIgorIiAgICBTY2hha2VsdCBzaGVsbC1laWdlbnNjaGFwcGVuIGluL3VpdCwgb2YgdmVyYW5kZXJ0IHdhYXJkZW4gdmFuICIKICJwb3NpdGlvbmVsZVxuIgogIiAgICBwYXJhbWV0ZXJzLiAgWm9uZGVyIG9wdGllcyBvZiBhcmd1bWVudGVuIHRvb250ICdzZXQnIGRlIG5hbWVuIGVuICIKICJ3YWFyZGVuXG4iCkBAIC0zNzU3LDcgKzM3OTEsNyBAQAogImludm9lclxuIgogIiAgICBoZXJnZWJydWlrdCBrYW4gd29yZGVuLiAgRGUgdm9sZ2VuZGUgb3B0aWVzIHppam4gYmVzY2hpa2JhYXIgKGVlbiAnKycgIgogImluXG4iCi0iICAgIHBsYWF0cyB2YW4gZWVuICctJyBzY2hha2VsdCBoZXQgYmV0cmVmZmVuZGUgYXR0cmlidXV0IF91aXRfIGkucC52LiBpbik6XG4iCisiICAgIHBsYWF0cyB2YW4gZWVuICctJyBzY2hha2VsdCBkZSBiZXRyZWZmZW5kZSBlaWdlbnNjaGFwIF91aXRfIGkucC52LiBpbik6XG4iCiAiXG4iCiAiICAgICAgLWEgIG5pZXV3ZSBvZiBnZXdpanppZ2RlIHZhcmlhYmVsZW4gZW4gZnVuY3RpZXMgYXV0b21hdGlzY2ggIgogImV4cG9ydGVyZW5cbiIKQEAgLTM4MDUsNyArMzgzOSw3IEBACiAiZ2V3aXN0XG4iCiAiXG4iCiAiICAgIERlIG9wdGllcyBrdW5uZW4gb29rIGdlYnJ1aWt0IHdvcmRlbiBiaWogaGV0IHN0YXJ0ZW4gdmFuIGRlIHNoZWxsLlxuIgotIiAgICBEZSBodWlkaWdlIHRvZXN0YW5kIHZhbiBkZSBhdHRyaWJ1dGVuIGlzIHRlIHZpbmRlbiBpbiAkLS4gIEV2ZW50dWVsZVxuIgorIiAgICBEZSBodWlkaWdlIHRvZXN0YW5kIHZhbiBkZSBlaWdlbnNjaGFwcGVuIGlzIHRlIHZpbmRlbiBpbiAkLS4gIEV2ZW50dWVsZVxuIgogIiAgICBleHRyYSBhcmd1bWVudGVuIHZhbiAnc2V0JyB3b3JkZW4gYmVncmVwZW4gYWxzIHBvc2l0aW9uZWxlIHBhcmFtZXRlcnNcbiIKICIgICAgZW4gd29yZGVuIHRvZWdld2V6ZW4gYWFuICQxLCAkMiwgLi4uICROLlxuIgogIlxuIgpAQCAtMzg0Niw3ICszODgwLDcgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjExMDQKKyM6IGJ1aWx0aW5zLmM6MTExMgogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzg4MCw3ICszOTE0LDcgQEAKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQgb2YgZWVuXG4iCiAiICAgIE5BQU0gYWxsZWVuLWxlemVuIGlzLiIKIAotIzogYnVpbHRpbnMuYzoxMTI0CisjOiBidWlsdGlucy5jOjExMzIKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zODk4LDExICszOTMyLDEyIEBACiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKLSJIZXQgZXhwb3J0LWF0dHJpYnV1dCB2YW4gc2hlbGwtdmFyaWFiZWxlbiBpbnN0ZWxsZW4uXG4iCisiRGUgZXhwb3J0LWVpZ2Vuc2NoYXAgdmFuIHNoZWxsLXZhcmlhYmVsZW4gaW5zdGVsbGVuLlxuIgogIlxuIgogIiAgICBNYXJrZWVydCBlbGtlIGdlZ2V2ZW4gbmFhbSB2b29yIGF1dG9tYXRpc2NoZSBleHBvcnQgbmFhciBkZSBvbWdldmluZ1xuIgotIiAgICB2YW4gbGF0ZXJlIG9wZHJhY2h0ZW4uICBBbHMgZWVuIFdBQVJERSBnZWdldmVuIGlzLCBkYW4gZGV6ZSBXQUFSREVcbiIKLSIgICAgdG9la2VubmVuIGFsdm9yZW5zIHRlIGV4cG9ydGVyZW4uXG4iCisiICAgIHZhbiBsYXRlcmUgb3BkcmFjaHRlbi4gIEFscyBlZW4gV0FBUkRFIGdlZ2V2ZW4gaXMsIGRhbiB3b3JkdCBkZXplICIKKyJXQUFSREVcbiIKKyIgICAgdG9lZ2VrZW5kIGFsdm9yZW5zIHRlIGV4cG9ydGVyZW4uXG4iCiAiXG4iCiAiICAgIE9wdGllczpcbiIKICIgICAgICAtZiAgIGdlZ2V2ZW4gbmFtZW4gdmVyd2lqemVuIGFsbGVlbiBuYWFyIGZ1bmN0aWVzXG4iCkBAIC0zOTEzLDcgKzM5NDgsNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlZW4gb25nZWxkaWdlIG9wdGllIG9mIE5BQU0gZ2VnZXZlbiB3ZXJkLiIKIAotIzogYnVpbHRpbnMuYzoxMTQzCisjOiBidWlsdGlucy5jOjExNTEKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM5NDksNyArMzk4NCw3IEBACiAiXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIGVlbiBvbmdlbGRpZ2Ugb3B0aWUgb2YgTkFBTSBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjExNjQKKyM6IGJ1aWx0aW5zLmM6MTE3MgogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzk2Niw3ICs0MDAxLDcgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwIHRlbnppaiBOIG5lZ2F0aWVmIGlzIG9mIGdyb3RlciBkYW4gJCMuIgogCi0jOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzk5MSw3ICs0MDI2LDcgQEAKICJnZWdldmVuXG4iCiAiICAgIGJlc3RhbmQsIG9mIDEgYWxzIGRpdCBiZXN0YW5kIG5pZXQgZ2VsZXplbiBrYW4gd29yZGVuLiIKIAotIzogYnVpbHRpbnMuYzoxMjA3CisjOiBidWlsdGlucy5jOjEyMTUKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDAxMywxNyArNDA0OCwyMiBAQAogIiAgICBPcHRpZTpcbiIKICIgICAgICAtZiAgIHBhdXplcmluZyBhZmR3aW5nZW4sIG9vayBhbHMgZGl0IGVlbiBsb2dpbi1zaGVsbCBpc1xuIgogIlxuIgotIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAgdGVuemlqIHRhYWtiZWhlZXIgdWl0Z2VzY2hha2VsZCBpcyBvZiBlciBlZW4gZm91dFxuIgorIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiB0YWFrYmVoZWVyIHVpdGdlc2NoYWtlbGQgaXMgb2YgZXIgZWVuICIKKyJmb3V0XG4iCiAiICAgIG9wdHJlZWR0LiIKIAotIzogYnVpbHRpbnMuYzoxMjIzCisjOiBidWlsdGlucy5jOjEyMzEKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgogIiAgICBFeGl0cyB3aXRoIGEgc3RhdHVzIG9mIDAgKHRydWUpIG9yIDEgKGZhbHNlKSBkZXBlbmRpbmcgb25cbiIKICIgICAgdGhlIGV2YWx1YXRpb24gb2YgRVhQUi4gIEV4cHJlc3Npb25zIG1heSBiZSB1bmFyeSBvciBiaW5hcnkuICBVbmFyeVxuIgogIiAgICBleHByZXNzaW9ucyBhcmUgb2Z0ZW4gdXNlZCB0byBleGFtaW5lIHRoZSBzdGF0dXMgb2YgYSBmaWxlLiAgVGhlcmVcbiIKLSIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYXMgd2VsbCwgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMuXG4iCisiICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzIGFzIHdlbGwuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYmVoYXZpb3Igb2YgdGVzdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzLiAgUmVhZCB0aGVcbiIKKyIgICAgYmFzaCBtYW51YWwgcGFnZSBmb3IgdGhlIGNvbXBsZXRlIHNwZWNpZmljYXRpb24uXG4iCiAiICAgIFxuIgogIiAgICBGaWxlIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCkBAIC00MDc3LDYgKzQxMTcsNyBAQAogIiAgICBPdGhlciBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgogIiAgICAgIC1vIE9QVElPTiAgICAgIFRydWUgaWYgdGhlIHNoZWxsIG9wdGlvbiBPUFRJT04gaXMgZW5hYmxlZC5cbiIKKyIgICAgICAtdiBWQVJcdCBUcnVlIGlmIHRoZSBzaGVsbCB2YXJpYWJsZSBWQVIgaXMgc2V0XG4iCiAiICAgICAgISBFWFBSICAgICAgICAgVHJ1ZSBpZiBleHByIGlzIGZhbHNlLlxuIgogIiAgICAgIEVYUFIxIC1hIEVYUFIyIFRydWUgaWYgYm90aCBleHByMSBBTkQgZXhwcjIgYXJlIHRydWUuXG4iCiAiICAgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS5cbiIKQEAgLTQxNTUsNyArNDE5Niw3IEBACiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCBhbHMgRVhQUkVTU0lFIHdhYXIgaXMsIDEgYWxzIEVYUFJFU1NJRSBvbndhYXIgaXMsXG4iCiAiICAgIGVuIDIgYWxzIGVlbiBvbmdlbGRpZyBhcmd1bWVudCBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjEyOTkKKyM6IGJ1aWx0aW5zLmM6MTMxMQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQxNjcsNyArNDIwOCw3IEBACiAiICAgIERpdCBpcyBlZW4gc3lub25pZW0gdm9vciBkZSBpbmdlYm91d2RlIGZ1bmN0aWUgJ3Rlc3QnLCBiZWhhbHZlIGRhdFxuIgogIiAgICBoZXQgbGFhdHN0ZSBhcmd1bWVudCBlZW4gJ10nIG1vZXQgemlqbiwgaG9yZW5kIGJpaiBkZSBiZWdpbi0nWycuIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtNDE4Niw3ICs0MjI3LDggQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyBhbHRpamQgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMyMAorIzogYnVpbHRpbnMuYzoxMzMyCisjLCBmdXp6eQogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC00MjAyLDcgKzQyNDQsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtNDI2Niw3ICs0MzE2LDcgQEAKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBvZiBTSUdOQUFMQUFORFVJRElOR1xuIgogIiAgICBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjEzNTIKKyM6IGJ1aWx0aW5zLmM6MTM2OAogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC00MzE4LDcgKzQzNjgsNyBAQAogIiAgICAgICAgICAgIGFscyBkZSBuYWFtIG9uYmVrZW5kIGlzXFwgXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCBhbHMgZWxrZSBOQUFNIGdldm9uZGVuIHdlcmQsIGFuZGVycyAxLiIKIAotIzogYnVpbHRpbnMuYzoxMzgzCisjOiBidWlsdGlucy5jOjEzOTkKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC00NDAyLDEwICs0NDUyLDExIEBACiAidScsXG4iCiAiICAgIGRhdCBlZW4gb25nZXNjaGFhbGQgYWFudGFsIGlzLlxuIgogIlxuIgotIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlZW4gb25nZWxkaWdlIG9wdGllIGdlZ2V2ZW4gd2VyZCBvZiBlZW5cbiIKLSIgICAgZm91dCBvcHRyZWVkdC4iCisiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIGVlbiBvbmdlbGRpZ2Ugb3B0aWUgZ2VnZXZlbiB3ZXJkIG9mIGVyICIKKyJlZW5cbiIKKyIgICAgZm91dCBvcHRyYWQuIgogCi0jOiBidWlsdGlucy5jOjE0MjgKKyM6IGJ1aWx0aW5zLmM6MTQ0NAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC00NDQxLDcgKzQ0OTIsNyBAQAogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBNT0RVUyBvbmdlbGRpZyBpcyBvZiBlZW4gb25nZWxkaWdlIG9wdGllXG4iCiAiICAgIGdlZ2V2ZW4gd2VyZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDQ3MCw3ICs0NTIxLDcgQEAKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyBkaWUgdmFuIElELCAxIGFscyBJRCBvbmdlbGRpZyBzaSwgb2YgMiBhbHMgZWVuXG4iCiAiICAgIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjE0NjYKKyM6IGJ1aWx0aW5zLmM6MTQ4MgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00NDk0LDcgKzQ1NDUsNyBAQAogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIGRpZSB2YW4gSUQsIDEgYWxzIElEIG9uZ2VsZGlnIHNpLCBvZiAyIGFscyBlZW5cbiIKICIgICAgb25nZWxkaWdlIG9wdGllIGdlZ2V2ZW4gd2VyZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ4MQorIzogYnVpbHRpbnMuYzoxNDk3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC00NTE0LDcgKzQ1NjUsNyBAQAogIiAgICBkYXQgZWxlbWVudCBlbiB3b3JkZW4gZGUgT1BEUkFDSFRFTiB1aXRnZXZvZXJkLiBcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyBkaWUgdmFuIGRlIGxhYXRzdCB1aXRnZXZvZXJkZSBvcGRyYWNodC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtNDU0MSw3ICs0NTkyLDcgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyBkaWUgdmFuIGRlIGxhYXRzdCB1aXRnZXZvZXJkZSBvcGRyYWNodC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMworIzogYnVpbHRpbnMuYzoxNTI5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC00NTc4LDcgKzQ2MjksNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIGRpZSB2YW4gZGUgbGFhdHN0IHVpdGdldm9lcmRlIG9wZHJhY2h0LiIKIAotIzogYnVpbHRpbnMuYzoxNTM0CisjOiBidWlsdGlucy5jOjE1NTAKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDYwNSw3ICs0NjU2LDcgQEAKICIgICAgb3ZlcmRyYWFnYmFyZSBzdGFuZGFhcmRvcG1hYWsuXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgZGllIHZhbiBkZSBQSUpQTElKTi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU1MQorIzogYnVpbHRpbnMuYzoxNTY3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC00NjIzLDcgKzQ2NzQsNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIGRpZSB2YW4gZGUgbGFhdHN0IHVpdGdldm9lcmRlIG9wZHJhY2h0LiIKIAotIzogYnVpbHRpbnMuYzoxNTYzCisjOiBidWlsdGlucy5jOjE1NzkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC00NjU4LDcgKzQ3MDksNyBAQAogInVpdGdldm9lcmRlXG4iCiAiICAgIGRlZWxvcGRyYWNodCwgb2YgbnVsIGFscyBnZWVuIGVua2VsZSAnaWYnIG9mICdlbGlmJyBudWwgb3BsZXZlcmRlLiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCisjOiBidWlsdGlucy5jOjE1OTYKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC00Njc1LDcgKzQ3MjYsNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIGRpZSB2YW4gZGUgbGFhdHN0IHVpdGdldm9lcmRlIG9wZHJhY2h0LiIKIAotIzogYnVpbHRpbnMuYzoxNTkyCisjOiBidWlsdGlucy5jOjE2MDgKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTQ2OTIsNyArNDc0Myw3IEBACiAiXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgZGllIHZhbiBkZSBsYWF0c3QgdWl0Z2V2b2VyZGUgb3BkcmFjaHQuIgogCi0jOiBidWlsdGlucy5jOjE2MDQKKyM6IGJ1aWx0aW5zLmM6MTYyMAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00NzA1LDE3ICs0NzU2LDE1IEBACiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAiRWVuIGNvLXByb2NlcyBhYW5tYWtlbiBnZW5hYW1kIE5BQU0uXG4iCi0iICAgIFxuIgotIiAgICBPUERSQUNIVCBhc3luY2hyb29uIHVpdHZvZXJlbiwgbWV0IGRlIHN0YW5kYWFyZGludm9lciBlbiAtdWl0dm9lciB2YW5cbiIKLSIgICAgZGUgb3BkcmFjaHQgdmlhIGVlbiBwaXBlIHZlcmJvbmRlbiBtZXQgYmVzdGFuZHN2ZXJ3aWp6aWdlbiB0b2VnZXdlemVuXG4iCi0iICAgIGFhbiBpbmRpY2VzIDAgZW4gMSB2YW4gZWVuIGFycmF5LXZhcmlhYmVsZSBOQUFNIGluIGRlIHVpdHZvZXJlbmRlICIKLSJzaGVsbC5cbiIKKyJcbiIKKyIgICAgVm9lcnQgT1BEUkFDSFQgYXN5bmNocm9vbiB1aXQsIG1ldCBzdGFuZGFhcmRpbnZvZXIgZW4gLXVpdHZvZXIgdmlhXG4iCisiICAgIGVlbiBwaWpwIHZlcmJvbmRlbiBtZXQgYmVzdGFuZHNkZXNjcmlwdG9ycyBkaWUgdG9lZ2V3ZXplbiB6aWpuIGFhblxuIgorIiAgICBpbmRpY2VzIDAgZW4gMSB2YW4gYXJyYXktdmFyaWFiZWxlIE5BQU0gaW4gZGUgdWl0dm9lcmVuZGUgc2hlbGwuXG4iCiAiICAgIERlIHN0YW5kYWFyZC1OQUFNIGlzIFwiQ09QUk9DXCIuXG4iCi0iICAgIFxuIgotIiAgICBBZnNsdWl0c3RhdHVzOlxuIgotIiAgICBHZWVmdCBkZSBhZnNsdWl0d2FhcmRlIHZhbiBPUERSQUNIVC4iCisiXG4iCisiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgZGllIHZhbiBkZSBPUERSQUNIVC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00NzM3LDcgKzQ3ODYsNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBOQUFNIG9udmVyYW5kZXJiYWFyIGlzLiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCisjOiBidWlsdGlucy5jOjE2NDgKIG1zZ2lkICIiCiAiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgogIiAgICBcbiIKQEAgLTQ3NTQsNyArNDgwMyw3IEBACiAiXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgZGllIHZhbiBkZSBsYWF0c3QgdWl0Z2V2b2VyZGUgb3BkcmFjaHQuIgogCi0jOiBidWlsdGlucy5jOjE2NDQKKyM6IGJ1aWx0aW5zLmM6MTY2MAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtNDc3OCw3ICs0ODI3LDcgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyBkaWUgdmFuIGRlIGhlcnZhdHRlIHRhYWsuIgogCi0jOiBidWlsdGlucy5jOjE2NTkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDc5NSw3ICs0ODQ0LDcgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAxIGFscyBkZSBFWFBSRVNTSUUgdG90IDAgZXZhbHVlZXJ0OyBhbmRlcnMgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY3MQorIzogYnVpbHRpbnMuYzoxNjg3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC00ODUxLDcgKzQ5MDAsNyBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAgb2YgMSwgYWZoYW5rZWxpamsgdmFuIEVYUFJFU1NJRS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NworIzogYnVpbHRpbnMuYzoxNzEzCiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtNDk2NSw3ICs1MDE0LDcgQEAKICJoZXRcbiIKICIgICAgICAgICAgICAgICAgICAgIGdlc2NoaWVkZW5pc2NvbW1lbnRhYXJ0ZWtlbiwgZ2V3b29ubGlqayAnIydcbiIKIAotIzogYnVpbHRpbnMuYzoxNzU0CisjOiBidWlsdGlucy5jOjE3NzAKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUwMTMsMTMgKzUwNjIsMTIgQEAKICIgICAgICAtTiAgIFJvdGVlcnQgZGUgc3RhcGVsIHpvZGF0IGRlIE4tZGUgbWFwICh0ZWxsZW5kIHZhbmFmIHJlY2h0cywgdmFuXG4iCiAiICAgICAgICAgICBkZSBsaWpzdCBnZXRvb25kIGRvb3IgJ2RpcnMnLCBiZWdpbm5lZCBiaWogbnVsKSBib3ZlbmFhbiBrb210LlxuIgogIlxuIgotIiAgICBEZSBpbmdlYm91d2RlIG9wZHJhY2h0ICdkaXJzJyB0b29udCBkZSBodWlkaWdlIG1hcHBlbnN0YXBlbC5cbiIKKyIgICAgRGUgb3BkcmFjaHQgJ2RpcnMnIHRvb250IGRlIGh1aWRpZ2UgbWFwcGVuc3RhcGVsLlxuIgogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlZW4gb25nZWxkaWcgYXJndW1lbnQgZ2VnZXZlbiB3ZXJkIG9mIGRlXG4iCi0iICAgIG1hcHdpanppZ2luZyBtaXNsdWt0ZS4gICAgRGUgb3BkcmFjaHQgJ2RpcnMnIGdlZWZ0IGRlIGh1aWRpZ2UgIgotIm1hcHBlbnN0YXBlbCB3ZWVyLiIKKyIgICAgbWFwd2lqemlnaW5nIG1pc2x1a3RlLiIKIAotIzogYnVpbHRpbnMuYzoxNzg4CisjOiBidWlsdGlucy5jOjE4MDQKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTA2MywxMiArNTExMSwxMiBAQAogIiAgICAgICAgICAgZ2V0b29uZCBkb29yICdkaXJzJywgYmVnaW5uZW5kIG1ldCBudWwpLiAgQmlqdm9vcmJlZWxkOlxuIgogIiAgICAgICAgICAgJ3BvcGQgLTAnIHZlcndpamRlcnQgZGUgbGFhdHN0ZSBtYXAsICdwb3BkIC0xJyBkZSB2b29ybGFhdHN0ZS5cbiIKICJcbiIKLSIgICAgRGUgaW5nZWJvdXdkZSBvcGRyYWNodCAnZGlycycgdG9vbnQgZGUgaHVpZGlnZSBtYXBwZW5zdGFwZWwuXG4iCisiICAgIERlIG9wZHJhY2h0ICdkaXJzJyB0b29udCBkZSBodWlkaWdlIG1hcHBlbnN0YXBlbC5cbiIKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnIGFyZ3VtZW50IGdlZ2V2ZW4gd2VyZCBvZiBkZVxuIgogIiAgICBtYXB3aWp6aWdpbmcgbWlzbHVrdGUuIgogCi0jOiBidWlsdGlucy5jOjE4MTgKKyM6IGJ1aWx0aW5zLmM6MTgzNAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MTE3LDkgKzUxNjUsOSBAQAogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlZW4gb25nZWxkaWdlIG9wdGllIGdlZ2V2ZW4gd2VyZCBvZiBlciAiCiAiZWVuXG4iCi0iICAgIGZvdXQgb3B0cmVlZHQuIgorIiAgICBmb3V0IG9wdHJhZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NworIzogYnVpbHRpbnMuYzoxODYzCiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC01MTU2LDEzICs1MjA0LDE0IEBACiAiICAgICAgLXMgICBlbGtlIGdlZ2V2ZW4gT1BUSUVOQUFNIGluc2NoYWtlbGVuXG4iCiAiICAgICAgLXUgICBlbGtlIGdlZ2V2ZW4gT1BUSUVOQUFNIHVpdHNjaGFrZWxlblxuIgogIlxuIgotIiAgICBab25kZXIgb3B0aWVzIGlzIGRlIGFmc2x1aXR3YWFyZGUgMCBpbmRpZW4gT1BUSUVOQUFNIGluZ2VzY2hha2VsZCBpcyxcbiIKLSIgICAgMSBpbmRpZW4gdWl0Z2VzY2hha2VsZC4gIERlIGFmc2x1aXR3YWFyZGUgaXMgb29rIDEgYWxzIGVlbiBvbmdlbGRpZ2VcbiIKLSIgICAgb3B0aWVuYWFtIGdlZ2V2ZW4gd2VyZCwgZW4gZGUgYWZzbHVpdHdhYXJkZSBpcyAyIGFscyBlZW4gb25nZWxkaWdlICIKLSJvcHRpZVxuIgotIiAgICBnZWdldmVuIHdlcmQuIgorIiAgICBab25kZXIgb3B0aWVzIChvZiBtZXQgYWxsZWVuICctcScpIGlzIGRlIGFmc2x1aXR3YWFyZGUgMCBpbmRpZW4gIgorIk9QVElFTkFBTVxuIgorIiAgICBpbmdlc2NoYWtlbGQgaXMsIDEgaW5kaWVuIHVpdGdlc2NoYWtlbGQuICBEZSBhZnNsdWl0d2FhcmRlIGlzIG9vayAxIGFsc1xuIgorIiAgICBlZW4gb25nZWxkaWdlIG9wdGllbmFhbSBnZWdldmVuIHdlcmQsIGVuIGRlIGFmc2x1aXR3YWFyZGUgaXMgMiBhbHMgZWVuXG4iCisiICAgIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAorIywgZnV6enkKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtNTE4NSw2ICs1MjM0LDkgQEAKICIgICAgXG4iCiAiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgogIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgpAQCAtNTIxMiwxMCArNTI2NCw5IEBACiAiXG4iCiAiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIGVlbiBvbmdlbGRpZ2Ugb3B0aWUgZ2VnZXZlbiB3ZXJkIG9mIGVyICIKICJlZW5cbiIKLSIgICAgZm91dCBvcHRyZWVkdC4iCisiICAgIGZvdXQgb3B0cmFkLiIKIAotIzogYnVpbHRpbnMuYzoxODk1Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzoxOTEzCiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTUyNTIsMTUgKzUzMDMsMjAgQEAKICIgICAgICAtcCAgIGJlc3RhYW5kZSBjb21wbGV0ZXJpbmdzdm9vcnNjaHJpZnRlbiBpbiBoZXJicnVpa2JhcmUgdm9ybSB0b25lblxuIgogIiAgICAgIC1yICAgZWxrIGdlbm9lbWQgdm9vcnNjaHJpZnQgdmVyd2lqZGVyZW4sIG9mIGFsbGUgdm9vcnNjaHJpZnRlbiBhbHNcbiIKICIgICAgICAgICAgICAgZ2VlbiBOQUFNIGdlZ2V2ZW4gaXNcbiIKKyIgICAgICAtRCAgIGRlIGdlZ2V2ZW4gY29tcGxldGVyaW5nZW4gZW4gYWN0aWVzIGFscyBzdGFuZGFhcmQgbmVtZW4gdm9vclxuIgorIiAgICAgICAgICAgICBvcGRyYWNodGVuIGRpZSBnZWVuIHNwZWNpZmlla2UgZWlnZW4gY29tcGxldGVyaW5nIGhlYmJlblxuIgorIiAgICAgIC1FICAgZGUgZ2VnZXZlbiBjb21wbGV0ZXJpbmdlbiBlbiBhY3RpZXMgYWxzIHN0YW5kYWFyZCBuZW1lbiB2b29yXG4iCisiICAgICAgICAgICAgIGxlZ2Ugb3BkcmFjaHRlbiAtLSBkZSBjb21wbGV0ZXJpbmcgdmFuIGVlbiBsZWdlIHJlZ2VsXG4iCiAiXG4iCi0iICAgIEFscyBjb21wbGV0ZXJpbmcgZ2Vwcm9iZWVyZCB3b3JkdCwgZGFuIHdvcmRlbiBkZSBhY3RpZXMgdG9lZ2VwYXN0IGluIGRlXG4iCi0iICAgIHZvbGdvcmRlIHZhbiBkZSBib3ZlbnN0YWFuZGUgaG9vZmRsZXR0ZXJvcHRpZXMuXG4iCisiICAgIEFscyBjb21wbGV0ZXJpbmcgZ2Vwcm9iZWVyZCB3b3JkdCwgZGFuIHdvcmRlbiBkZSBhY3RpZXMgdG9lZ2VwYXN0IGluXG4iCisiICAgIGRlIHZvbGdvcmRlIHZhbiBkZSBib3ZlbnN0YWFuZGUgaG9vZmRsZXR0ZXJvcHRpZXMuICBPcHRpZSAnLUQnIGdhYXRcbiIKKyIgICAgdm9vciBvcHRpZSAnLUUnLlxuIgogIlxuIgogIiAgICBEZSBhZnNsdWl0d2FhcmRlIGlzIDAsIHRlbnppaiBlZW4gb25nZWxkaWdlIG9wdGllIGdlZ2V2ZW4gd2VyZCBvZiBlciAiCiAiZWVuXG4iCi0iICAgIGZvdXQgb3B0cmVlZHQuIgorIiAgICBmb3V0IG9wdHJhZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkyMworIzogYnVpbHRpbnMuYzoxOTQxCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUyODAsMTYgKzUzMzYsMTYgQEAKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQgb2YgZXIgIgogImVlblxuIgotIiAgICBmb3V0IG9wdHJlZWR0LiIKKyIgICAgZm91dCBvcHRyYWQuIgogCi0jOiBidWlsdGlucy5jOjE5MzgKKyM6IGJ1aWx0aW5zLmM6MTk1NgogIywgZnV6enkKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKICIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCiAic3VwcGxpZWQsXG4iCi0iICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWdpbiBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVubSwgIgorIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVpbmcgZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbiwgIgogInByaW50XG4iCiAiICAgIHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uICIKICJzcGVjaWZpY2F0aW9uLlxuIgpAQCAtNTMyMSw4ICs1Mzc3LDEwIEBACiAiICAgIGRhbiB3b3JkZW4gZGUgY29tcGxldGVyaW5nc29wdGllcyB2YW4gZWxrZSBnZWdldmVuIE5BQU0gZ2V0b29uZCwgb2YgZGllXG4iCiAiICAgIHZhbiBkZSBodWlkaWdlIGNvbXBsZXRlcmluZy5cbiIKICJcbiIKLSIgICAgT3B0aWU6XG4iCisiICAgIE9wdGllczpcbiIKICIgICAgICAtbyBPUFRJRSAgIGRlemUgY29tcGxldGVyaW5nc29wdGllIGluc2NoYWtlbGVuIHZvb3IgZWxrZSBnZWdldmVuIE5BQU1cbiIKKyIgICAgICAtRCAgICAgICAgIG9wdGllcyB3aWp6aWdlbiB2b29yIGRlIHN0YW5kYWFyZGNvbXBsZXRlcmluZ1xuIgorIiAgICAgIC1FICAgICAgICAgb3B0aWVzIHdpanppZ2VuIHZvb3IgZGUgY29tcGxldGVyaW5nIHZhbiBlZW4gbGVnZSBvcGRyYWNodFxuIgogIlxuIgogIiAgICBIZXQgZ2VicnVpayB2YW4gJytvJyBpLnAudi4gJy1vJyBzY2hha2VsdCBkZSBiZXRyZWZmZW5kZSBvcHRpZSBfdWl0Xy5cbiIKICJcbiIKQEAgLTUzMzUsOSArNTM5Myw5IEBACiAiICAgIHZvb3IgZGllIGRyYWFpZW5kZSBjb21wbGV0ZXJpbmdzZ2VuZXJhdG9yIGdld2lqemlnZC5cbiIKICJcbiIKICIgICAgRGUgYWZzbHVpdHdhYXJkZSBpcyAwLCB0ZW56aWogZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQgb2Ygdm9vclxuIgotIiAgICBOQUFNIGlzIGdlZW4gY29tcGxldGVyaW5nc3Zvb3JzY2hyaWZ0IGdlZGVmaW5pZWVyZC4iCisiICAgIE5BQU0gZ2VlbiBjb21wbGV0ZXJpbmdzdm9vcnNjaHJpZnQgZ2VkZWZpbmllZXJkIGlzLiIKIAotIzogYnVpbHRpbnMuYzoxOTY4CisjOiBidWlsdGlucy5jOjE5ODYKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgpAQCAtNTM2Niw3ICs1NDI0LDggQEAKICIgICAgXG4iCiAiICAgIElmIC1DIGlzIHN1cHBsaWVkIHdpdGhvdXQgLWMsIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4gIFdoZW5cbiIKICIgICAgQ0FMTEJBQ0sgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJyYXlcbiIKLSIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50LlxuIgorIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnRcbiIKKyIgICAgYXMgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgogIiAgICBJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiBleHBsaWNpdCBvcmlnaW4sIG1hcGZpbGUgd2lsbCBjbGVhciBBUlJBWSAiCiAiYmVmb3JlXG4iCkBAIC01Mzc4LDc4ICs1NDM3LDYzIEBACiAiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogIlJlZ2VscyBpbmxlemVuIGluIGVlbiBhcnJheS12YXJpYWJlbGUuXG4iCi0iICAgIFxuIgorIlxuIgogIiAgICBMZWVzdCByZWdlbHMgdmFuIHN0YW5kYWFyZGludm9lciBpbiBpbiB0aGUgYXJyYXktdmFyaWFiZWxlIEFSUkFZLlxuIgotIiAgICBEZSB2YXJpYWJlbGUgTUFQRklMRSB3b3JkdCBnZWJydWlrdCBhbHMgZ2VlbiBBUlJBWSBnZWdldmVuIGlzLiAgICBcbiIKLSIgIE9wdGllczpcbiIKLSIgICAgLW4gQUFOVEFMXHRtYXhpbWFhbCBkaXQgYWFudGFsIHJlZ2VscyBrb3Bpw6tyZW4gKDAgPSBhbGxlcylcbiIKLSIgICAgLU8gQkVHSU5cdG1ldCB0b2VrZW5uZW4gYmVnaW5uZW4gYmlqIGRlemUgaW5kZXggKHN0YW5kYWFyZCAwKVxuIgotIiAgICAtcyBBQU5UQUxcdGRpdCBhYW50YWwgcmVnZWxzIG92ZXJzbGFhblxuIgotIiAgICAtdCBcdFx0bmlldXdlcmVnZWx0ZWtlbiBhYW4gZWluZCB2YW4gZWxrZSBnZWxlemVuIHJlZ2VsIHZlcndpamRlcmVuXG4iCi0iICAgIC11IEJFUy5ERVMuXHR1aXQgZGV6ZSBiZXN0YW5kc2Rlc2NyaXB0b3IgbGV6ZW4gaS5wLnYuIHVpdCAiCisiICAgIERlIHZhcmlhYmVsZSBNQVBGSUxFIHdvcmR0IGdlYnJ1aWt0IGFscyBnZWVuIEFSUkFZIGdlZ2V2ZW4gaXMuXG4iCisiXG4iCisiICAgIE9wdGllczpcbiIKKyIgICAgICAtbiBBQU5UQUwgICAgbWF4aW1hYWwgZGl0IGFhbnRhbCByZWdlbHMga29wacOrcmVuICgwID0gYWxsZXMpXG4iCisiICAgICAgLU8gQkVHSU4gICAgIG1ldCB0b2VrZW5uZW4gYmVnaW5uZW4gYmlqIGRlemUgaW5kZXggKHN0YW5kYWFyZCAwKVxuIgorIiAgICAgIC1zIEFBTlRBTCAgICBkaXQgYWFudGFsIHJlZ2VscyBvdmVyc2xhYW5cbiIKKyIgICAgICAtdCAgICAgICAgICAgbmlldXdlcmVnZWx0ZWtlbiBhYW4gZWluZCB2YW4gZWxrZSBnZWxlemVuIHJlZ2VsICIKKyJ2ZXJ3aWpkZXJlblxuIgorIiAgICAgIC11IEJFUy5ERVMuICB1aXQgZGV6ZSBiZXN0YW5kc2Rlc2NyaXB0b3IgbGV6ZW4gaS5wLnYuIHVpdCAiCiAic3RhbmRhYXJkaW52b2VyXG4iCi0iICAgIC1DIEZVTkNUSUVcdGRlemUgZnVuY3RpZSBldmFsdWVyZW4gbmEgZWxrZSBIT0VWRUVMSEVJRCByZWdlbHNcbiIKLSIgICAgLWMgSE9FVkVFTEhFSURcdGhldCBhYW50YWwgdGUgbGV6ZW4gcmVnZWxzIHZvb3IgZWxrZSBhYW5yb2VwIHZhbiAiCisiICAgICAgLUMgRlVOQ1RJRSAgIGRlemUgZnVuY3RpZSBldmFsdWVyZW4gbmEgZWxrZSBIT0VWRUVMSEVJRCByZWdlbHNcbiIKKyIgICAgICAtYyBIT0VWRUVMSEVJRCAgaGV0IGFhbnRhbCB0ZSBsZXplbiByZWdlbHMgdm9vciBlbGtlIGFhbnJvZXAgdmFuICIKICJGVU5DVElFXG4iCi0ibiAgQXJndW1lbnQ6XG4iCi0iICAgIEFSUkFZXHRcdG5hYW0gdmFuIGFycmF5LXZhcmlhYmVsZSB3YWFyaW4gcmVnZWxzIGluZ2VsZXplbiBtb2V0ZW4gd29yZGVuXG4iCi0iICAgIFxuIgotIiAgICBBbHMgJy1DJyBnZWdldmVuIGlzIHpvbmRlciAnLWMnLCBpcyBkZSBzdGFuZGFhcmQtSE9FVkVFTEhFSUQgNTAwMC4gQWxzXG4iCi0iICAgIEZVTkNUSUUgaXMgZ2VldmFsdWVlcmQgd29yZHQgaGllcmFhbiBkZSBpbmRleCB2YW4gaGV0IHZvbGdlbmRlIGFycmF5LSIKLSJlbGVtZW50XG4iCi0iICAgIHRvZWdla2VuZCBhbHMgZWVuIGFkZGl0aW9uZWVsIGFyZ3VtZW50LlxuIgotIiAgICBcbiIKKyJcbiIKKyIgICAgQXJndW1lbnQ6XG4iCisiICAgICAgQVJSQVkgICAgICAgIG5hYW0gdmFuIGFycmF5LXZhcmlhYmVsZSB3YWFyaW4gcmVnZWxzIGluZ2VsZXplbiBtb2V0ZW4gIgorIndvcmRlblxuIgorIlxuIgorIiAgICBBbHMgJy1DJyBnZWdldmVuIGlzIHpvbmRlciAnLWMnLCBpcyBkZSBzdGFuZGFhcmQtSE9FVkVFTEhFSUQgNTAwMC5cbiIKKyIgICAgV2FubmVlciBGVU5DVElFIGFhbmdlcm9lcGVuIHdvcmR0LCB3b3JkdCBoaWVyYWFuIGRlIGluZGV4IHZhbiBoZXRcbiIKKyIgICAgdm9sZ2VuZGUgYXJyYXktZWxlbWVudCBhbHMgZXh0cmEgYXJndW1lbnQgbWVlZ2VnZXZlbi5cbiIKKyJcbiIKICIgICAgQWxzIGdlZW4gZXhwbGljaWV0IEJFR0lOIGdlZ2V2ZW4gaXMsIHdvcmR0IGhldCBhcnJheSBnZXdpc3QgYWx2b3JlbnNcbiIKICIgICAgbWV0IHRvZWtlbm5lbiB0ZSBiZWdpbm5lbi5cbiIKLSIgICAgXG4iCi0iICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIEFSUkFZIGFsbGVlbi1sZXplbiBpcyBvZiBlZW4gb25nZWxkaWdlXG4iCi0iICAgIG9wdGllIGdlZ2V2ZW4gd2VyZC4iCisiXG4iCisiICAgIERlIGFmc2x1aXR3YWFyZGUgaXMgMCwgdGVuemlqIEFSUkFZIGFsbGVlbi1sZXplbiBpcyBvZiBnZWVuIGFycmF5IGlzLCAiCisib2ZcbiIKKyIgICAgZWVuIG9uZ2VsZGlnZSBvcHRpZSBnZWdldmVuIHdlcmQuIgogCi0jOiBidWlsdGlucy5jOjIwMDEKKyM6IGJ1aWx0aW5zLmM6MjAyMAogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgogIiAgICBBIHN5bm9ueW0gZm9yIGBtYXBmaWxlJy4iCiBtc2dzdHIgIiIKLSJSZWdlbHMgdWl0IGVlbiBiZXN0YW5kIGxlemVuIG5hYXIgZWVuIGFycmF5LXZhcmFiZWxlLlxuIgotIiAgICBcbiIKLSIgICAgRWVuIHN5bm9uaWVtIHZvb3IgYG1hcGZpbGUnLiIKLQotI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotI34gbXNnc3RyICIiCi0jfiAieHJlYWxsb2MoKToga2FuICVsdSBieXRlcyBuaWV0IG9wbmlldXcgcmVzZXJ2ZXJlbiAoJWx1IGJ5dGVzIGdlcmVzZXJ2ZWVyZCkiCi0KLSN+IG1zZ2lkICJ4cmVhbGxvYzogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLSN+IG1zZ3N0ciAieHJlYWxsb2MoKToga2FuICVsdSBieXRlcyBuaWV0IG9wbmlldXcgcmVzZXJ2ZXJlbiIKLQotI34gbXNnaWQgInhyZWFsbG9jOiAlczolZDogY2Fubm90IHJlYWxsb2NhdGUgJWx1IGJ5dGVzICglbHUgYnl0ZXMgYWxsb2NhdGVkKSIKLSN+IG1zZ3N0ciAiIgotI34gInhyZWFsbG9jKCk6ICVzOiVkOiBrYW4gJWx1IGJ5dGVzIG5pZXQgb3BuaWV1dyByZXNlcnZlcmVuICglbHUgYnl0ZXMgIgotI34gImdlcmVzZXJ2ZWVyZCkiCi0KLSN+IG1zZ2lkICIlczogaW52YWxpZCBudW1iZXIiCi0jfiBtc2dzdHIgIiVzOiBvbmdlbGRpZyBnZXRhbCIKLQotI34gbXNnaWQgImFsbG9jYXRlZCIKLSN+IG1zZ3N0ciAiZ2VyZXNlcnZlZXJkIgotCi0jfiBtc2dpZCAiZnJlZWQiCi0jfiBtc2dzdHIgInZyaWpnZWdldmVuIgotCi0jfiBtc2dpZCAicmVxdWVzdGluZyByZXNpemUiCi0jfiBtc2dzdHIgInZlcnpvZWsgdG90IGdyb290dGV2ZXJhbmRlcmluZyIKLQotI34gbXNnaWQgImp1c3QgcmVzaXplZCIKLSN+IG1zZ3N0ciAianVpc3QgdmFuIGdyb290dGUgdmVyYW5kZXJkIgotCi0jfiBtc2dpZCAiYnVnOiB1bmtub3duIG9wZXJhdGlvbiIKLSN+IG1zZ3N0ciAiKippbnRlcm5lIGZvdXQqKjogb25iZWtlbmRlIG9wZXJhdGllIgorIlJlZ2VscyBpbmxlemVuIHZhbnVpdCBlZW4gYmVzdGFuZCBpbiBlZW4gYXJyYXktdmFyaWFiZWxlLlxuIgorIlxuIgorIiAgICBFZW4gc3lub25pZW0gdm9vciAnbWFwZmlsZScuIgogCiAjfiBtc2dpZCAiIgotI34gIk91dHB1dCB0aGUgQVJHcy4gIElmIC1uIGlzIHNwZWNpZmllZCwgdGhlIHRyYWlsaW5nIG5ld2xpbmUgaXMgc3VwcHJlc3NlZC4iCisjfiAiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisjfiAiICAgICIKICN+IG1zZ3N0ciAiIgotI34gIlNjaHJpamZ0IGRlIGdlZ2V2ZW4gYXJndW1lbnRlbiBuYWFyIHN0YW5kYWFyZHVpdHZvZXIuXG4iCi0jfiAiICAgIE9wdGllIC1uIG9uZGVyZHJ1a3QgZGUgYWZzbHVpdGVuZGUgbmlldXdlIHJlZ2VsLiIKKyN+ICIuXG4iCisjfiAiICAgIE1ldCBFWFBSLCByZXN1bHRlZXJ0ICIKIAotI34gbXNnaWQgIkxvZ291dCBvZiBhIGxvZ2luIHNoZWxsLiIKLSN+IG1zZ3N0ciAiQmXDq2luZGlndCBlZW4gbG9naW4tc2hlbGwuIgorI34gbXNnaWQgIiIKKyN+ICI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyN+ICIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorI34gIiAgICBcbiIKKyN+ICIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlICIKKyN+ICJ0aGVcbiIKKyN+ICIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCisjfiBtc2dzdHIgIiIKKyN+ICIuXG4iCisjfiAiICAgIERlemUgdHdlZWRlIHZvcm0ga2FuIGdlYnJ1aWt0IHdvcmRlbiBvbSBlZW4gJ3N0YWNrIHRyYWNlJyB0ZVxuIgorI34gIiAgICBwcm9kdWNlcmVuLiAgRGUgd2FhcmRlIHZhbiBFWFBSIGdlZWZ0IGFhbiBob2V2ZWVsIGZyYW1lcyBlclxuIgorI34gIiAgICB0ZXJ1Z2dlZ2FhbiBtb2V0IHdvcmRlbjsgaGV0IHRvcC1mcmFtZSBoZWVmdCBudW1tZXIgMC4iCmRpZmYgLS1naXQgYS9wby9wbC5nbW8gYi9wby9wbC5nbW8KaW5kZXggNjUwMWQxYy4uYmYyNmI2MiAxMDA2NDQKLS0tIGEvcG8vcGwuZ21vCisrKyBiL3BvL3BsLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9wbC5wbyBiL3BvL3BsLnBvCmluZGV4IDk4ZjBhMjkuLjc1YzQ0ODkgMTAwNjQ0Ci0tLSBhL3BvL3BsLnBvCisrKyBiL3BvL3BsLnBvCkBAIC03LDcgKzcsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDMuMlxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDctMTEtMzAgMDg6NDkrMDEwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogQW5kcnplaiBNLiBLcnp5c3p0b2Zvd2ljeiA8YW5rcnlAbWlmLnBnLmdkYS5wbD5cbiIKICJMYW5ndWFnZS1UZWFtOiBQb2xpc2ggPHRyYW5zbGF0aW9uLXRlYW0tcGxAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgpAQCAtMTksNyArMTksNyBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgIm5pZXByYXdpZLNvd3kgaW5kZWtzIHRhYmxpY3kiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTM5LDI4ICszOSwyOCBAQAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6MzgzCisjOiBiYXNoaGlzdC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBuaWUgbW+/bmEgdXR3b3J6eeY6ICVzIgogCiAjID8/PwotIzogYmFzaGxpbmUuYzozNDU3CisjOiBiYXNobGluZS5jOjM0OTgKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiBtc2dzdHIgIiIKICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBuaWUgbW+/bmEgem5hbGW85iBtYXB5IGtsYXdpc3p5IGRsYSBwb2xlY2VuaWEiCiAKLSM6IGJhc2hsaW5lLmM6MzU0MworIzogYmFzaGxpbmUuYzozNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiBwaWVyd3N6eW0gZHJ1a293YWxueW0gem5ha2llbSBuaWUgamVzdCBgXCInIgogCi0jOiBiYXNobGluZS5jOjM1NzIKKyM6IGJhc2hsaW5lLmM6MzYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgImJyYWsgemFteWtharFjZWdvIGAlYycgdyAlcyIKIAotIzogYmFzaGxpbmUuYzozNjA2CisjOiBiYXNobGluZS5jOjM2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIlczogYnJhayBzZXBhcnVqsWNlZ28gZHd1a3JvcGthIgpAQCAtMTI0LDI2ICsxMjQsMTEgQEAKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiV3JhY2EgZG8ga29udGVrc3R1IHd5d2+zYW5pYSBiaWW/sWNlZ28gcG9kcHJvZ3JhbXUiCiAKLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Ci1tc2dpZCAiIgotIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgotIiAgICAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKLW1zZ2lkICIiCi0iOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCi0iICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKLSIgICAgXG4iCi0iICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKLSIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2QuZGVmOjIxNQorIzogYnVpbHRpbnMvY2QuZGVmOjIzNQogbXNnaWQgIkhPTUUgbm90IHNldCIKIG1zZ3N0ciAiTmllIHVzdGF3aW9ubyBIT01FIgogCi0jOiBidWlsdGlucy9jZC5kZWY6MjI3CisjOiBidWlsdGlucy9jZC5kZWY6MjQ3CiBtc2dpZCAiT0xEUFdEIG5vdCBzZXQiCiBtc2dzdHIgIk5pZSB1c3Rhd2lvbm8gT0xEUFdEIgogCkBAIC0xNjIsMTEgKzE0NywxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIlczogdXdhZ2E6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJ6YSBkdb9vIGFyZ3VtZW5083ciCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NTAwIHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBvcGNqYSB3eW1hZ2EgYXJndW1lbnR1IgpAQCAtMjA2LDcgKzE5MSw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJuaWVwcmF3aWSzb3dhIGxpY3piYSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAibmllcHJhd2lks293YSBsaWN6YmEiCiAKQEAgLTMxNSwyNSArMzAwLDI1IEBACiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjIKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAibW+/bmEgdb95d2HmIHR5bGtvIHcgZnVua2NqaSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjYKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIm5pZSBtb79uYSB1v3l3YeYgYC1mJyBkbyB0d29yemVuaWEgZnVua2NqaSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBmdW5rY2phIHR5bGtvIGRvIG9kY3p5dHUiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiVzOiBuaWUgbW+/bmEgdyB0ZW4gc3Bvc/NiIHVuaWNlc3R3aeYgem1pZW5uZWogdGFibGljb3dlaiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTM2MiwyOSArMzQ3LDI5IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogbmllIG1vv25hIHVzdW6x5jogJXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKLSM6IHNoZWxsLmM6MTQ1MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzUgYnVpbHRpbnMvaGFzaC5kZWY6MTcxIGV4ZWN1dGVfY21kLmM6NDk2MQorIzogc2hlbGwuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6IGplc3Qga2F0YWxvZ2llbSIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIiVzOiBuaWUgamVzdCB6d3lrs3ltIHBsaWtpZW0iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ3CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiBwbGlrIGplc3QgemEgZHW/eSIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0Ci0jOiBzaGVsbC5jOjE0NjIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTgyIGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAwIGV4ZWN1dGVfY21kLmM6NTAzMgorIzogc2hlbGwuYzoxNDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IG5pZSBtb79uYSB1cnVjaG9taeYgcGxpa3UgYmluYXJuZWdvIgogCi0jOiBidWlsdGlucy9leGVjLmRlZjoyMTIKKyM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NCBidWlsdGlucy9leGVjLmRlZjoxNTYgYnVpbHRpbnMvZXhlYy5kZWY6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCiBtc2dzdHIgIiVzOiBuaWUgbW+/bmEgdXJ1Y2hvbWnmOiAlcyIKQEAgLTQxMiwxMSArMzk3LDExIEBACiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAibmllIHpuYWxlemlvbm8gcG9sZWNlbmlhIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQ5CisjOiBidWlsdGlucy9mYy5kZWY6MzEyIGJ1aWx0aW5zL2ZjLmRlZjozNTkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgInNwZWN5ZmlrYWNqYSBoaXN0b3JpaSIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM3MAorIzogYnVpbHRpbnMvZmMuZGVmOjM4MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IG5pZSB1ZGGzbyBzaeogb3R3b3J6eeYgcGxpa3UgdHltY3phc293ZWdvOiAlcyIKQEAgLTQ0OSw3ICs0MzQsNyBAQAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCiBtc2dzdHIgIiVzOiB0YWJsaWNhIGFzb2NqYWN5am5hIHB1c3RhXG4iCiAKLSM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NAorIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJoaXRzXHRjb21tYW5kXG4iCiBtc2dzdHIgIm9zdGF0bmllIHBvbGVjZW5pZTogJXNcbiIKQEAgLTUxOCw3NyArNTAzLDg3IEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAibmllIG1vv25hIHW/eXdh5iBpbm55Y2ggb3BjamkgcHJ6eSBgLXgnIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyMDAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIlczogYXJndW1lbnRhbWkgbXVzerEgYnnmIG51bWVyeSBwcm9jZXPzdyBsdWIgemFkYfEiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MworIzogYnVpbHRpbnMva2lsbC5kZWY6MjYxCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiTmllem5hbnkgYrOxZCIKIAotIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTAxIGV4cHIuYzo1MTYKKyM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjU1MiBleHByLmM6NTY3CiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAic3BvZHppZXdhbm8gc2nqIHd5cmG/ZW5pYSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNzIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiJXM6IG5pZSBqZXN0IHptaWVubrEgdGFibGljb3exIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTYgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogbmllcHJhd2lks293byBva3JltmxvbnkgZGVza3J5cHRvciBwbGlrdSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY0IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogbmllcHJhd2lks293eSBkZXNrcnlwdG9yIHBsaWt1OiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjczIGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxMQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXM6IG5pZXByYXdpZLNvd2Egb3BjamEiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3NworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjg0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiBuaWVwcmF3aWSzb3dhIG9wY2phIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiJXM6IG5pZXByYXdpZLNvd2EgbmF6d2EgYWtjamkiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzMzCiAjLCBmdXp6eQogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIiVzOiBuaWUgamVzdCB6bWllbm6xIHRhYmxpY293sSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImAlcyc6IGJyYWsgem5ha3UgZm9ybWF0dWqxY2VnbyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiBuaWVwcmF3aWSzb3dvIG9rcmW2bG9ueSB0aW1lb3V0IgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImAlYyc6IG5pZXByYXdpZLNvd3kgem5hayBmb3JtYXR1arFjeSIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIiVzOiB1d2FnYTogIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NDAKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICJicmFrIGN5ZnJ5IHN6ZXNuYXN0a293ZWogZGxhIFxceCIKIAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAiYnJhayBjeWZyeSBzemVzbmFzdGtvd2VqIGRsYSBcXHgiCisKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjoxOTUKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCiBtc2dzdHIgImJyYWsgaW5uZWdvIGthdGFsb2d1IgpAQCAtNzQ2LDIzICs3NDEsMjMgQEAKIG1zZ3N0ciAid3lqtmNpZSBwcnpleiBgcmV0dXJuJyBtb79saXdlIHR5bGtvIHogZnVua2NqaSBsdWIgc2tyeXB0dSIKIAogIyA/Pz8KLSM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQogbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgogbXNnc3RyICJuaWUgbW+/bmEgamVkbm9jemW2bmllIGFudWxvd2HmIGRlZmluaWNqaSBmdW5rY2ppIGkgem1pZW5uZWoiCiAKICMgPz8/Ci0jOiBidWlsdGlucy9zZXQuZGVmOjgwNQorIzogYnVpbHRpbnMvc2V0LmRlZjo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiJXM6IG5pZSBtb79uYSBhbnVsb3dh5iBkZWZpbmljamkiCiAKICMgPz8/Ci0jOiBidWlsdGlucy9zZXQuZGVmOjgxMgorIzogYnVpbHRpbnMvc2V0LmRlZjo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgJXMiCiBtc2dzdHIgIiVzOiBuaWUgbW+/bmEgYW51bG93YeYgZGVmaW5pY2ppOiAlcyBqZXN0IHR5bGtvIGRvIG9kY3p5dHUiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODIzCisjOiBidWlsdGlucy9zZXQuZGVmOjgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGFycmF5IHZhcmlhYmxlIgogbXNnc3RyICIlczogbmllIGplc3Qgem1pZW5usSB0YWJsaWNvd7EiCkBAIC03NzYsMjAgKzc3MSwyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJsaWN6bmlrIHByemVzdW5p6mNpYSIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2NAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiBtc2dzdHIgIm5pZSBtb79uYSBvcGNqaSBwb3ezb2tpIGplZG5vY3pltm5pZSB1c3Rhd2nmIGkgdW5pZXdhv25p5iIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IG5pZXByYXdpZLNvd2EgbmF6d2Egb3BjamkgcG93s29raSIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiBtc2dzdHIgInd5bWFnYW55IGFyZ3VtZW50IHcgcG9zdGFjaSBuYXp3eSBwbGlrdSIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IG5pZSB6bmFsZXppb25vIHBsaWt1IgpAQCAtODMyLDI2ICs4MjcsMjYgQEAKIG1zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgogbXNnc3RyICK2Y2llv2thIGRvICVzIGplc3QgemFwYW1p6nRhbmEgKCVzKVxuIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBuaWVwcmF3aWSzb3d5IGFyZ3VtZW50IHN0YW5vd2mxY3kgb2dyYW5pY3plbmllIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogYmFkIGNvbW1hbmQiCiBtc2dzdHIgImAlYyc6IHqzZSBwb2xlY2VuaWUiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDI3CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGdldCBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBuaWUgbW+/bmEgb2Rjenl0YeYgb2dyYW5pY3plbmlhOiAlcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiBtc2dpZCAibGltaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IG5pZSBtb79uYSB6bWllbmnmIG9ncmFuaWN6ZW5pYTogJXMiCkBAIC05MDcsMTA4ICs5MDIsMTEzIEBACiAKICM6IGV2YWwuYzoxODEKICMsIGMtZm9ybWF0Ci1tc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKLW1zZ3N0ciAiB3ByemVrcm9jem9ueSBjemFzIG9jemVraXdhbmlhIG5hIGRhbmUgd2VqtmNpb3dlOiBhdXRvLXd5bG9nb3dhbmllXG4iCittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dzdHIgIlxhcHJ6ZWtyb2N6b255IGN6YXMgb2N6ZWtpd2FuaWEgbmEgZGFuZSB3ZWq2Y2lvd2U6IGF1dG8td3lsb2dvd2FuaWVcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTcKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIm5pZSBtb79uYSBwcnpla2llcm93YeYgc3RhbmRhcmRvd2VnbyB3ZWq2Y2lhIHogL2Rldi9udWxsOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTYyCisjOiBleGVjdXRlX2NtZC5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJUSU1FRk9STUFUOiBgJWMnOiBuaWVwcmF3aWSzb3d5IHpuYWsgZm9ybWF0dWqxY3kiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjA3NQorIzogZXhlY3V0ZV9jbWQuYzoyMTIxCiAjLCBmdXp6eQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgImKzsWQgemFwaXN1OiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDgxCisjOiBleGVjdXRlX2NtZC5jOjQ2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczogb2dyYW5pY3pvbnk6IG5pZSBtb79uYSBwb2Rhd2HmIGAvJyB3IG5hendhY2ggcG9sZWNl8SIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NTcyCisjOiBleGVjdXRlX2NtZC5jOjQ3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogbmllIHpuYWxlemlvbm8gcG9sZWNlbmlhIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4MjcKKyM6IGV4ZWN1dGVfY21kLmM6NDk1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIgorbXNnc3RyICIlcyBqZXN0ICVzXG4iCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiB6s3kgaW50ZXJwcmV0ZXIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3NgorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgIm5pZSBtb79uYSBza29waW93YeYgZGVza3J5cHRvcmEgcGxpa3UgJWQgZG8gJWQiCiAKLSM6IGV4cHIuYzoyNDEKKyM6IGV4cHIuYzoyNTYKIG1zZ2lkICJleHByZXNzaW9uIHJlY3Vyc2lvbiBsZXZlbCBleGNlZWRlZCIKIG1zZ3N0ciAicHJ6ZWtyb2N6b25lIG9ncmFuaWN6ZW5pZSBwb3ppb211IHJla3Vyc2ppIGRsYSB3eXJhv2VuaWEiCiAKLSM6IGV4cHIuYzoyNjUKKyM6IGV4cHIuYzoyODAKIG1zZ2lkICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgogbXNnc3RyICJuaWVkb21pYXIgc3Rvc3UgcmVrdXJzamkiCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKIG1zZ3N0ciAiYrOxZCBza7NhZG5pb3d5IHcgd3lyYb9lbml1IgogCi0jOiBleHByLmM6NDE5CisjOiBleHByLmM6NDYzCiBtc2dpZCAiYXR0ZW1wdGVkIGFzc2lnbm1lbnQgdG8gbm9uLXZhcmlhYmxlIgogbXNnc3RyICJwcvNiYSBwcnp5cGlzYW5pYSBkbyBuaWUtem1pZW5uZWoiCiAKLSM6IGV4cHIuYzo0NDAgZXhwci5jOjQ0NSBleHByLmM6NzU2CisjOiBleHByLmM6NDg2IGV4cHIuYzo0OTEgZXhwci5jOjgwNwogbXNnaWQgImRpdmlzaW9uIGJ5IDAiCiBtc2dzdHIgImR6aWVsZW5pZSBwcnpleiAwIgogCiAjID8/PwotIzogZXhwci5jOjQ3MQorIzogZXhwci5jOjUxNwogbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKIG1zZ3N0ciAiYrOxZDogerN5IHByZWZpa3Mgb3BlcmF0b3JhIHByenlwaXN1arFjZWdvIgogCi0jOiBleHByLmM6NTEzCisjOiBleHByLmM6NTY0CiBtc2dpZCAiYDonIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJzcG9kemlld2FubyBzaeogYDonIHcgd3lyYb9lbml1IHdhcnVua293eW0iCiAKLSM6IGV4cHIuYzo3ODEKKyM6IGV4cHIuYzo4MzIKIG1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKIG1zZ3N0ciAid3lrs2FkbmlrIG1uaWVqc3p5IG5pvyAwIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgIiIKICJzcG9kemlld2FueSBpZGVudHlmaWthdG9yIHBvIG9wZXJhdG9yemUgcHJlaW5rcmVtZW50YWNqaSBsdWIgcHJlZGVrcmVtZW50YWNqaSIKIAotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJicmFrdWqxY3kgYCknIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CisjOiBleHByLmM6OTU5IGV4cHIuYzoxMjgyCiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJis7FkIHNrs2Fkbmk6IHNwb2R6aWV3YW55IGFyZ3VtZW50IgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiYrOxZCBza7NhZG5pOiBuaWVwcmF3aWSzb3d5IG9wZXJhdG9yIGFyeXRtZXR5Y3pueSIKIAotIzogZXhwci5jOjEyMDIKKyM6IGV4cHIuYzoxMzA4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzJXMlczogJXMgKGVycm9yIHRva2VuIGlzIFwiJXNcIikiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEyNjAKKyM6IGV4cHIuYzoxMzY2CiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgIm5pZXByYXdpZLNvd2EgcG9kc3Rhd2EgYXJ5dG1ldHljem5hIgogCi0jOiBleHByLmM6MTI4MAorIzogZXhwci5jOjEzODYKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgIndhcnRvtuYgemEgZHW/YSBuYSBwb2RzdGF36iIKIAotIzogZXhwci5jOjEzMjkKKyM6IGV4cHIuYzoxNDM1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgogbXNnc3RyICIlczogb2N6ZWtpd2FubyB3eXJhv2VuaWEgY2Gza293aXRlZ28iCkBAIC0xMDE3LDE2NCArMTAxNywxNjQgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXRjd2Q6IG5pZW1vv2xpd3kgZG9zdOpwIGRvIGthdGFsb2fzdyBuYWRyeupkbnljaCIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAibmllIG1vv25hIHd5s7FjennmIHRyeWJ1IG5pZWJsb2t1arFjZWdvIGRsYSBkZXNrcnlwdG9yYSAlZCIKIAotIzogaW5wdXQuYzoyNTgKKyM6IGlucHV0LmM6MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCiBtc2dzdHIgIm5pZSBtb79uYSBwcnp5ZHppZWxp5iBub3dlZ28gZGVza3J5cHRvcmEgcGxpa3UgZGxhIHdlarZjaWEgYmFzaGEgeiAlZCIKIAotIzogaW5wdXQuYzoyNjYKKyM6IGlucHV0LmM6MjY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGFscmVhZHkgZXhpc3RzIGZvciBuZXcgZmQgJWQiCiBtc2dzdHIgInNhdmVfYmFzaF9pbnB1dDogYnVmb3IgZGxhIG5vd2VnbyBkZXNrcnlwdG9yYSAlZCBqdb8gaXN0bmllamUiCiAKLSM6IGpvYnMuYzo0NjYKKyM6IGpvYnMuYzo0NjgKIG1zZ2lkICJzdGFydF9waXBlbGluZTogcGdycCBwaXBlIgogbXNnc3RyICIiCiAKICMgPz8/Ci0jOiBqb2JzLmM6ODg3CisjOiBqb2JzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKIG1zZ3N0ciAicHJvY2VzIG8gUElEICVkIHd5c3TqcHVqZSB3IGR6aWGzYWqxY3ltIHphZGFuaXUgJWQiCiAKLSM6IGpvYnMuYzoxMDA1CisjOiBqb2JzLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyBzdG9wcGVkIGpvYiAlZCB3aXRoIHByb2Nlc3MgZ3JvdXAgJWxkIgogbXNnc3RyICJ1c3V3YW5pZSB6YXRyenltYW5lZ28gemFkYW5pYSAlZCB6IGdydXCxIHByb2Nlc/N3ICVsZCIKIAotIzogam9icy5jOjExMTAKKyM6IGpvYnMuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwcm9jZXNzICU1bGQgKCVzKSBpbiB0aGVfcGlwZWxpbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjExMTMKKyM6IGpvYnMuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIG1hcmtlZCBhcyBzdGlsbCBhbGl2ZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQwMQorIzogam9icy5jOjE0MzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkIgogbXNnc3RyICJkZXNjcmliZV9waWQ6ICVsZDogYnJhayB0YWtpZWdvIFBJRC11IgogCi0jOiBqb2JzLmM6MTQxNgorIzogam9icy5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2lnbmFsICVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDMwIGpvYnMuYzoxNDU1CisjOiBqb2JzLmM6MTQ1OSBqb2JzLmM6MTQ4NAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMworIzogam9icy5jOjE0NjQgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzkKKyM6IGpvYnMuYzoxNDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQoJXMpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDQzCisjOiBqb2JzLmM6MTQ3MgogbXNnaWQgIlJ1bm5pbmciCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0NTcKKyM6IGpvYnMuYzoxNDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbmUoJWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDU5CisjOiBqb2JzLmM6MTQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeGl0ICVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDYyCisjOiBqb2JzLmM6MTQ5MQogbXNnaWQgIlVua25vd24gc3RhdHVzIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNTQ5CisjOiBqb2JzLmM6MTU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIoY29yZSBkdW1wZWQpICIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTU2OAorIzogam9icy5jOjE1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTc3NgorIzogam9icy5jOjE4MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEzMyBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICJ3YWl0OiBQSUQgJWxkIG5pZSBqZXN0IHBvdG9ta2llbSB0ZWogcG93s29raSIKIAotIzogam9icy5jOjIzMzEKKyM6IGpvYnMuYzoyMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIndhaXRfZm9yOiBCcmFrIHJla29yZHUgZGxhIHByb2Nlc3UgJWxkIgogCi0jOiBqb2JzLmM6MjYwNworIzogam9icy5jOjI2MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAid2FpdF9mb3Jfam9iOiB6YWRhbmllICVkIGplc3QgemF0cnp5bWFuZSIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiB6YWRhbmllIHpvc3Rhs28gcHJ6ZXJ3YW5lIgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiB6YWRhbmllICVkIGp1vyBwcmFjdWplIHcgdGxlIgogCi0jOiBqb2JzLmM6MzA1OQorIzogam9icy5jOjMwODkKIG1zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1MDgKKyM6IGpvYnMuYzozNTM4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlczogdXdhZ2E6ICIKIAotIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKKyM6IGpvYnMuYzozNTY0IGpvYnMuYzozNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTc5CisjOiBqb2JzLmM6MzYwOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjM5CisjOiBqb2JzLmM6MzY2OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY0OQorIzogam9icy5jOjM2NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjc3CisjOiBqb2JzLmM6MzcwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJ3IHRlaiBwb3ezb2NlIG5pZSBtYSBrb250cm9saSB6YWRh8SIKIApAQCAtMTMyOSw5OSArMTMyOSw5OSBAQAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICJtYWtlX3JlZGlyZWN0aW9uOiBpbnN0cnVrY2phIHByemVraWVyb3dhbmlhIGAlZCcgcG96YSB6YWtyZXNlbSIKIAotIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQorIzogcGFyc2UueTozMTczIHBhcnNlLnk6MzQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICJuaWVvY3pla2l3YW55IEVPRiBwb2RjemFzIHBvc3p1a2l3YW5pYSBwYXN1arFjZWdvIGAlYyciCiAKLSM6IHBhcnNlLnk6Mzk1MQorIzogcGFyc2UueTo0MDI1CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAibmllb2N6ZWtpd2FueSBFT0YgcG9kY3phcyBwb3N6dWtpd2FuaWEgYF1dJyIKIAotIzogcGFyc2UueTozOTU2CisjOiBwYXJzZS55OjQwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiYrOxZCBza7NhZG5pIHcgd3lyYb9lbml1IHdhcnVua293eW06IG5pZW9jemVraXdhbnkgem5hY3puaWsgYCVzJyIKIAotIzogcGFyc2UueTozOTYwCisjOiBwYXJzZS55OjQwMzQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiYrOxZCBza7NhZG5pIHcgd3lyYb9lbml1IHdhcnVua293eW0iCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJuaWVvY3pla2l3YW55IHpuYWN6bmlrIGAlcycsIG9jemVraXdhbm8gYCknIgogCi0jOiBwYXJzZS55OjQwNDIKKyM6IHBhcnNlLnk6NDExNgogbXNnaWQgImV4cGVjdGVkIGApJyIKIG1zZ3N0ciAib2N6ZWtpd2FubyBgKSciCiAKLSM6IHBhcnNlLnk6NDA3MAorIzogcGFyc2UueTo0MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAibmllb2N6ZWtpd2FueSBhcmd1bWVudCBgJXMnIGplZG5vYXJndW1lbnRvd2VnbyBvcGVyYXRvcmEgd2FydW5rb3dlZ28iCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAibmllb2N6ZWtpd2FueSBhcmd1bWVudCBqZWRub2FyZ3VtZW50b3dlZ28gb3BlcmF0b3JhIHdhcnVua293ZWdvIgogCi0jOiBwYXJzZS55OjQxMjAKKyM6IHBhcnNlLnk6NDE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAibmllb2N6ZWtpd2FueSBhcmd1bWVudCBgJXMnLCBvY3pla2l3YW5vIGR3dWFyZy4gb3BlcmF0b3JhIHdhcnVua293ZWdvIgogCi0jOiBwYXJzZS55OjQxMjQKKyM6IHBhcnNlLnk6NDE5OAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAib2N6ZWtpd2FubyBkd3Vhcmd1bWVudG93ZWdvIG9wZXJhdG9yYSB3YXJ1bmtvd2VnbyIKIAotIzogcGFyc2UueTo0MTQ2CisjOiBwYXJzZS55OjQyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAibmllb2N6ZWtpd2FueSBhcmd1bWVudCBgJXMnIGR3dWFyZ3VtZW50b3dlZ28gb3BlcmF0b3JhIHdhcnVua293ZWdvIgogCi0jOiBwYXJzZS55OjQxNTAKKyM6IHBhcnNlLnk6NDIyNAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuaWVvY3pla2l3YW55IGFyZ3VtZW50IGR3dWFyZ3VtZW50b3dlZ28gb3BlcmF0b3JhIHdhcnVua293ZWdvIgogCi0jOiBwYXJzZS55OjQxNjEKKyM6IHBhcnNlLnk6NDIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAibmllb2N6ZWtpd2FueSB6bmFjem5payBgJWMnIHcgcG9sZWNlbml1IHdhcnVua293eW0iCiAKLSM6IHBhcnNlLnk6NDE2NAorIzogcGFyc2UueTo0MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJuaWVvY3pla2l3YW55IHpuYWN6bmlrIGAlcycgdyBwb2xlY2VuaXUgd2FydW5rb3d5bSIKIAotIzogcGFyc2UueTo0MTY4CisjOiBwYXJzZS55OjQyNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJuaWVvY3pla2l3YW55IHpuYWN6bmlrICVkIHcgcG9sZWNlbml1IHdhcnVua293eW0iCiAKLSM6IHBhcnNlLnk6NTQ1OQorIzogcGFyc2UueTo1NTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiYrOxZCBza7NhZG5pIHByenkgbmllb2N6ZWtpd2FueW0gem5hY3puaWt1IGAlcyciCiAKLSM6IHBhcnNlLnk6NTQ3NworIzogcGFyc2UueTo1NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgImKzsWQgc2uzYWRuaSBwcnp5IGAlcyciCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJis7FkIHNrs2Fkbmk6IG5pZW9jemVraXdhbnkga29uaWVjIHBsaWt1IgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAiYrOxZCBza7NhZG5pIgogCi0jOiBwYXJzZS55OjU1NDkKKyM6IHBhcnNlLnk6NTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIG1zZ3N0ciAiVb95aiBcIiVzXCIsIGFieSBvcHW2Y2nmIHTqIHBvd7Nva+ouXG4iCiAKLSM6IHBhcnNlLnk6NTcxMQorIzogcGFyc2UueTo1ODE4CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICJuaWVvY3pla2l3YW55IEVPRiBwb2RjemFzIHBvc3p1a2l3YW5pYSBwYXN1arFjZWdvIGApJyIKIApAQCAtMTQzMCw3NyArMTQzMCw3NyBAQAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICJ1enVwZbNuaWVuaWU6IG5pZSB6bmFsZXppb25vIGZ1bmtjamkgYCVzJyIKIAotIzogcGNvbXBsaWIuYzoxNzkKKyM6IHBjb21wbGliLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI5MAorIzogcHJpbnRfY21kLmM6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogerN5ILOxY3puaWsgYCVkJyIKIAotIzogcHJpbnRfY21kLmM6MzYzCisjOiBwcmludF9jbWQuYzozNjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiJWQ6IG5pZXByYXdpZLNvd3kgZGVza3J5cHRvciBwbGlrdTogJXMiCiAKLSM6IHByaW50X2NtZC5jOjM2OAorIzogcHJpbnRfY21kLmM6MzczCiBtc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MzcyCisjOiBwcmludF9jbWQuYzozNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjE0NjEKKyM6IHByaW50X2NtZC5jOjE0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJjcHJpbnRmOiBgJWMnOiBuaWVwcmF3aWSzb3d5IHpuYWsgZm9ybWF0dWqxY3kiCiAKLSM6IHJlZGlyLmM6MTEwCisjOiByZWRpci5jOjEyMgogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgImRlc2tyeXB0b3IgcGxpa3UgcG96YSB6YWtyZXNlbSIKIAotIzogcmVkaXIuYzoxNjYKKyM6IHJlZGlyLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiBuaWVvamVkbm96bmFjem5lIHByemVraWVyb3dhbmllIgogCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IG5pZSBtb79uYSBuYWRwaXNh5iBpc3RuaWVqsWNlZ28gcGxpa3UiCiAKLSM6IHJlZGlyLmM6MTc1CisjOiByZWRpci5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IG9ncmFuaWN6b255OiBuaWUgbW+/bmEgcHJ6ZWtpZXJvd2HmIHd5arZjaWEiCiAKLSM6IHJlZGlyLmM6MTgwCisjOiByZWRpci5jOjE5MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICJuaWUgbW+/bmEgdXR3b3J6eeYgcGxpa3UgdHltY3phc293ZWdvIGRsYSBkb2t1bWVudHUgbWllanNjb3dlZ286ICVzIgogCi0jOiByZWRpci5jOjE4NAorIzogcmVkaXIuYzoxOTYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgogbXNnc3RyICIlczogbmllIG1vv25hIHByenlwaXNh5iBsaXN0eSBkbyBlbGVtZW50dSB0YWJsaWN5IgogCi0jOiByZWRpci5jOjU0NAorIzogcmVkaXIuYzo1NDgKIG1zZ2lkICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbm90IHN1cHBvcnRlZCB3aXRob3V0IG5ldHdvcmtpbmciCiBtc2dzdHIgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBuaWUgc7Egd3NwaWVyYW5lIGJleiBzaWVjaSIKIAotIzogcmVkaXIuYzoxMTAxCisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAiYrOxZCBwcnpla2llcm93YW5pYTogbmllIG1vv25hIHBvd2llbGnmIGRlc2tyeXB0b3JhIHBsaWt1IgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAibmllIG1vv25hIHpuYWxlvOYgL3RtcCwgcHJvc3rqIG8gdXR3b3J6ZW5pZSEiCiAKLSM6IHNoZWxsLmM6MzM2CisjOiBzaGVsbC5jOjMzNwogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIvdG1wIG11c2kgYnnmIHByYXdpZLNvd7EgbmF6d7Ega2F0YWxvZ3UiCiAKQEAgLTE1MDksMTYgKzE1MDksMTYgQEAKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogbmllcHJhd2lks293YSBvcGNqYSIKIAotIzogc2hlbGwuYzoxNjUxCisjOiBzaGVsbC5jOjE2NTIKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIk5pZSBtYW0gbmF6d3khIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxNzk0CisjOiBzaGVsbC5jOjE3OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNTI3LDQzICsxNTI3LDQzIEBACiAiVb95Y2llOlx0JXMgW2SzdWdhIG9wY2phIEdOVV0gW29wY2phXSAuLi5cbiIKICJcdCVzIFtks3VnYSBvcGNqYSBHTlVdIFtvcGNqYV0gcGxpay1za3J5cHR1IC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3OTYKKyM6IHNoZWxsLmM6MTc5OAogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkSzdWdpZSBvcGNqZSBHTlU6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiT3BjamUgcG93s29raTpcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MDMKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0QgbHViIC1jIHBvbGVjZW5pZSBsdWIgLU8gc2hvcHRfb3B0aW9uXHRcdCh0eWxrbyB3eXdvs2FuaWUpXG4iCiAKLSM6IHNoZWxsLmM6MTgxNgorIzogc2hlbGwuYzoxODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyBsdWIgLW8gb3BjamFcbiIKIAotIzogc2hlbGwuYzoxODIyCisjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgogbXNnc3RyICIiCiAiQWJ5IHV6eXNrYeYgd2nqY2VqIGluZm9ybWFjamkgbyBvcGNqYWNoIHBvd7Nva2ksIG5hcGlzeiBgJXMgLWMgXCJoZWxwIHNldCIKICJcIicuXG4iCiAKLSM6IHNoZWxsLmM6MTgyMworIzogc2hlbGwuYzoxODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiBtc2dzdHIgIiIKICJBYnkgdXp5c2th5iB3aepjZWogaW5mb3JtYWNqaSBvIHBvbGVjZW5pYWNoIHdld27qdHJ6bnljaCBwb3ezb2tpLFxuIgogIm5hcGlzeiBgJXMgLWMgaGVscCcuXG4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIkRvIHpns2FzemFuaWEgYrPqZPN3IG5hbGW/eSB1v3l3YeYgcG9sZWNlbmlhIGBiYXNoYnVnJy5cbiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiBuaWVwcmF3aWSzb3dhIG9wZXJhY2phIgpAQCAtMTczOSw4MyArMTczOSw4MyBAQAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAierNlIHBvZHN0YXdpZW5pZTogYnJhayB6YW15a2FqsWNlZ28gYCVzJyB3ICVzIgogCi0jOiBzdWJzdC5jOjI3MzUKKyM6IHN1YnN0LmM6Mjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiJXM6IG5pZSBtb79uYSBwcnp5cGlzYeYgbGlzdHkgZG8gZWxlbWVudHUgdGFibGljeSIKIAotIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAorIzogc3Vic3QuYzo0OTc5IHN1YnN0LmM6NDk5NQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJuaWUgbW+/bmEgdXR3b3J6eeYgcG90b2t1IGRsYSBwb2RzdGF3aWVuaWEgcHJvY2VzdSIKIAotIzogc3Vic3QuYzo0ODAyCisjOiBzdWJzdC5jOjUwMjcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5pZSBtb79uYSB1dHdvcnp55iBwcm9jZXN1IHBvdG9tbmVnbyBkbGEgcG9kc3Rhd2llbmlhIHByb2Nlc3UiCiAKLSM6IHN1YnN0LmM6NDg0NworIzogc3Vic3QuYzo1MDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgIm5pZSBtb79uYSBvdHdvcnp55iBuYXp3YW5lZ28gcG90b2t1ICVzIGRvIG9kY3p5dHUiCiAKLSM6IHN1YnN0LmM6NDg0OQorIzogc3Vic3QuYzo1MDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIm5pZSBtb79uYSBvdHdvcnp55iBuYXp3YW5lZ28gcG90b2t1ICVzIGRvIHphcGlzdSIKIAotIzogc3Vic3QuYzo0ODY3CisjOiBzdWJzdC5jOjUwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJuaWUgbW+/bmEgcG93aWVsaeYgbmF6d2FuZWdvIHBvdG9rdSAlcyBqYWtvIGRlc2tyeXB0b3IgJWQiCiAKLSM6IHN1YnN0LmM6NTA2MworIzogc3Vic3QuYzo1Mjg0CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5pZSBtb79uYSB1dHdvcnp55iBwb3Rva3UgZGxhIHBvZHN0YXdpZW5pYSBwb2xlY2VuaWEiCiAKLSM6IHN1YnN0LmM6NTA5NworIzogc3Vic3QuYzo1MzIyCiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJuaWUgbW+/bmEgdXR3b3J6eeYgcHJvY2VzdSBwb3RvbW5lZ28gZGxhIHBvZHN0YXdpZW5pYSBwb2xlY2VuaWEiCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlOiBuaWUgbW+/bmEgcG93aWVsaeYgcG90b2t1IGpha28gZGVza3J5cHRvcmEgMSIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBwYXJhbWV0ciBwdXN0eSBsdWIgbmlldXN0YXdpb255IgogCi0jOiBzdWJzdC5jOjU5MDcKKyM6IHN1YnN0LmM6NjEyNSBzdWJzdC5jOjYxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiJXM6IHd5cmG/ZW5pZSBkbGEgcG9ks2HxY3VjaGEgPCAwIgogCi0jOiBzdWJzdC5jOjY5NjUKKyM6IHN1YnN0LmM6NzI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiJXM6IHqzZSBwb2RzdGF3aWVuaWUiCiAKLSM6IHN1YnN0LmM6NzA0NQorIzogc3Vic3QuYzo3MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiJCVzOiBuaWUgbW+/bmEgcHJ6eXBpc3l3YeYgdyB0ZW4gc3Bvc/NiIgogCi0jOiBzdWJzdC5jOjczNzQKKyM6IHN1YnN0LmM6NzY4NAogbXNnaWQgIiIKICJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKICJzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo3ODM5CisjOiBzdWJzdC5jOjgxNDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgInqzZSBwb2RzdGF3aWVuaWU6IGJyYWsgemFteWtharFjZWdvIGAlcycgdyAlcyIKIAotIzogc3Vic3QuYzo4NzIwCisjOiBzdWJzdC5jOjkwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICJicmFrIHBhc3VqsWNlZ286ICVzIgpAQCAtMTgzOCwzMCArMTgzOCwzMCBAQAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCiBtc2dzdHIgIm9jemVraXdhbm8gYCknLCB6bmFsZXppb25vICVzIgogCi0jOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgorIzogdGVzdC5jOjI4MCB0ZXN0LmM6Njk4IHRlc3QuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogb2N6ZWtpd2FubyBvcGVyYXRvcmEgamVkbm9hcmd1bWVudG93ZWdvIgogCi0jOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogb2N6ZWtpd2FubyBvcGVyYXRvcmEgZHd1YXJndW1lbnRvd2VnbyIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICJicmFrdWqxY3kgYF0nIgogCi0jOiB0cmFwLmM6MjAzCisjOiB0cmFwLmM6MjA3CiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJuaWVwcmF3aWSzb3d5IG51bWVyIHN5Z25hs3UiCiAKLSM6IHRyYXAuYzozMjcKKyM6IHRyYXAuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IHqzYSB3YXJ0b7bmIHRyYXBfbGlzdFslZF06ICVwIgogCi0jOiB0cmFwLmM6MzMxCisjOiB0cmFwLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgpAQCAtMTg2OSw3ICsxODY5LDcgQEAKICJydW5fcGVuZGluZ190cmFwczogb2Jzs3VnYSBzeWduYbN1IGplc3QgdXN0YXdpb25hIG5hIFNJR19ERkwsIHd5c3mzYWqxYyAlZCAoJSIKICJzKSBkbyBzaWViaWUiCiAKLSM6IHRyYXAuYzozODAKKyM6IHRyYXAuYzozOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXI6IHqzeSBzeWduYbMgJWQiCkBAIC0xODc5LDYwICsxODc5LDYwIEBACiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgImKzsWQgaW1wb3J0dSBkZWZpbmljamkgZnVua2NqaSBkbGEgYCVzJyIKIAotIzogdmFyaWFibGVzLmM6NzQ4CisjOiB2YXJpYWJsZXMuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgInBvemlvbSBwb3ezb2tpICglZCkgamVzdCB6YSBkdb95LCB1c3Rhd2lvbm8gbmEgMSIKIAotIzogdmFyaWFibGVzLmM6MTkxNQorIzogdmFyaWFibGVzLmM6MTkzMgogbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAibWFrZV9sb2NhbF92YXJpYWJsZTogYnJhayBrb250ZWtzdHUgZnVua2NqaSB3IGJpZb+xY3ltIHpha3Jlc2llIgogCi0jOiB2YXJpYWJsZXMuYzozMTU5CisjOiB2YXJpYWJsZXMuYzozMTgyCiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJhbGxfbG9jYWxfdmFyaWFibGVzOiBicmFrIGtvbnRla3N0dSBmdW5rY2ppIHcgYmllv7FjeW0gemFrcmVzaWUiCiAKLSM6IHZhcmlhYmxlcy5jOjMzNzYKKyM6IHZhcmlhYmxlcy5jOjM0MjcKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKIG1zZ3N0ciAiJXM6IHBhcmFtZXRyIHB1c3R5IGx1YiBuaWV1c3Rhd2lvbnkiCiAKLSM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAorIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIm5pZXByYXdpZLNvd3kgem5hayAlZCB3IGV4cG9ydHN0ciBkbGEgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjMzOTYKKyM6IHZhcmlhYmxlcy5jOjM0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgImJyYWsgYD0nIHcgZXhwb3J0c3RyIGRsYSAlcyIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBuYWez83dlayBzaGVsbF92YXJpYWJsZXMgcG96YSBrb250ZWtzdGVtIGZ1bmtjamkiCiAKLSM6IHZhcmlhYmxlcy5jOjM4NDgKKyM6IHZhcmlhYmxlcy5jOjM5MDQKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBicmFrIGtvbnRla3N0dSBnbG9iYWxfdmFyaWFibGVzIgogCi0jOiB2YXJpYWJsZXMuYzozOTIyCisjOiB2YXJpYWJsZXMuYzozOTc4CiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgIiIKICJwb3Bfc2NvcGU6IG5hZ7Pzd2VrIHNoZWxsX3ZhcmlhYmxlcyBwb3phIHpha3Jlc2VtIHR5bWN6YXNvd2VnbyC2cm9kb3dpc2thIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4CisjOiB2YXJpYWJsZXMuYzo0Nzg2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCiBtc2dzdHIgIiVzOiBuaWUgbW+/bmEgb3R3b3J6eeY6ICVzIgogCi0jOiB2YXJpYWJsZXMuYzo0NjgzCisjOiB2YXJpYWJsZXMuYzo0NzkxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiJWQ6IG5pZXByYXdpZLNvd3kgZGVza3J5cHRvciBwbGlrdTogJXMiCiAKICM6IHZlcnNpb24uYzo0NgogIywgZnV6enkKLW1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIAogIzogdmVyc2lvbi5jOjQ3CkBAIC0yMDE5LDcgKzIwMTksNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6NjQKLW1zZ2lkICJjZCBbLUx8LVBdIFtkaXJdIgorbXNnaWQgImNkIFstTHxbLVAgWy1lXV1dIFtkaXJdIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6NjYKQEAgLTIwNDMsMTEgKzIwNDMsMTEgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjc2Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo3OAotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCittc2dpZCAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo4MApAQCAtMjE0MSw3ICsyMTQxLDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0MAotbXNnaWQgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbYXJnIC4uLl0iCittc2dpZCAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxNDIKQEAgLTIxNTMsNyArMjE1Myw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxNDYKLW1zZ2lkICJyZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCittc2dpZCAicmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0OApAQCAtMjUzNSwxMSArMjUzNSwxNSBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIlptaWFuYSBiaWW/sWNlZ28ga2F0YWxvZ3UgbmEgRElSLiBEb215tmxueW0gRElSIGplc3Qgem1pZW5uYSAkSE9NRS5cbiIKICIgICAgWm1pZW5uYSBDRFBBVEggb2tyZbZsYSC2Y2llv2vqIHByemVzenVraXdhbmlhIHcgcG9zenVraXdhbml1IGthdGFsb2d1XG4iCkBAIC0yNTU0LDcgKzI1NTgsNyBAQAogIiAgICBrYXRhbG9n83cgemFtaWFzdCC2bGVkemVuaWEgZG93abF6YfEgc3ltYm9saWN6bnljaDsgb3BjamEgLUwgd3ltdXN6YVxuIgogIiAgICC2bGVkemVuaWUgZG93abF6YfEgc3ltYm9saWN6bnljaC4iCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNTcwLDcgKzI1NzQsNyBAQAogIiAgICBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0MjgKKyM6IGJ1aWx0aW5zLmM6NDMxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCkBAIC0yNTgzLDcgKzI1ODcsNyBAQAogIq9hZG5lZ28gZWZla3R1OyBwb2xlY2VuaWUgbmljIG5pZSByb2JpLiBKYWtvIGtvZCB6YWtv8WN6ZW5pYVxuIgogIiAgICB6d3JhY2FuZSBqZXN0IHplcm8uIgogCi0jOiBidWlsdGlucy5jOjQzOQorIzogYnVpbHRpbnMuYzo0NDIKIG1zZ2lkICIiCiAiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgpAQCAtMjU5MSw3ICsyNTk1LDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ0OAorIzogYnVpbHRpbnMuYzo0NTEKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgpAQCAtMjYwMCw3ICsyNjA0LDcgQEAKICIgICAgQWx3YXlzIGZhaWxzLiIKIG1zZ3N0ciAiWndyYWNhbnkgamVzdCBuaWVwb215tmxueSB3eW5payB6YWtv8WN6ZW5pYS4iCiAKLSM6IGJ1aWx0aW5zLmM6NDU3CisjOiBidWlsdGlucy5jOjQ2MAogbXNnaWQgIiIKICJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNjE5LDcgKzI2MjMsNyBAQAogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQsIG9yIGZhaWx1cmUgaWYgQ09NTUFORCBpcyBub3QgZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDc2CisjOiBidWlsdGlucy5jOjQ3OQogIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKQEAgLTI2MzEsNiArMjYzNSw4IEBACiAiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgogIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCiAiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCiAiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgogIiAgICBcbiIKICIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKQEAgLTI2NTAsNyArMjY1Niw3IEBACiAiICAgIFxuIgogIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiAiYGxvY2FsJ1xuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIGAtZycgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCkBAIC0yNjgxLDE0ICsyNjg3LDE0IEBACiAiICAgIFW/eWNpZSBgKycgemFtaWFzdCBgLScgcG93b2R1amUgd3mzsWN6ZW5pZSBkYW5lZ28gYXRyeWJ1dHUuIFW/eXRlXG4iCiAiICAgIHcgZnVua2NqaSBjenluaSB3c3p5c3RraWUgTkFNRSBsb2thbG55bWksIHBvZG9ibmllIGphayBwb2xlY2VuaWUgYGxvY2FsJy4iCiAKLSM6IGJ1aWx0aW5zLmM6NTEyCisjOiBidWlsdGlucy5jOjUxNwogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKICIgICAgT2Jzb2xldGUuICBTZWUgYGhlbHAgZGVjbGFyZScuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTIwCisjOiBidWlsdGlucy5jOjUyNQogbXNnaWQgIiIKICJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI3MDMsNyArMjcwOSw3IEBACiAiICAgIG9yIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTM3CisjOiBidWlsdGlucy5jOjU0MgogIywgZnV6enkKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCkBAIC0yNzUzLDcgKzI3NTksNyBAQAogIiAgICBcbiIKICIgICAgWmEgcG9tb2OxIG9wY2ppIC1FIG1vv25hIGphd25pZSB3ebOxY3p55iBpbnRlcnByZXRhY2rqIHBvd3m/c3p5Y2ggem5ha/N3LiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI3NjYsNyArMjc3Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjc5Myw3ICsyNzk5LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjYxNAorIzogYnVpbHRpbnMuYzo2MTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhcmd1bWVudHMgYXMgYSBzaGVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI4MDUsNyArMjgxMSw3IEBACiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgY29tbWFuZCBvciBzdWNjZXNzIGlmIGNvbW1hbmQgaXMgbnVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMjg0Niw3ICsyODUyLDcgQEAKICIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yODY5LDcgKzI4NzUsNyBAQAogIm9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2ODkKKyM6IGJ1aWx0aW5zLmM6Njk0CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGl0IHRoZSBzaGVsbC5cbiIKQEAgLTI4ODAsNyArMjg4Niw3IEBACiAiT3B1c3pjemVuaWUgcG93s29raSB6IGtvZGVtIHpha2/xY3plbmlhIE4uIEpltmxpIE4gcG9taW5p6nRvLCBrb2RlbVxuIgogIiAgICB6YWtv8WN6ZW5pYSBi6mR6aWUga29kIHpha2/xY3plbmlhIG9zdGF0bmllZ28gd3lrb25hbmVnbyBwb2xlY2VuaWEuIgogCi0jOiBidWlsdGlucy5jOjY5OAorIzogYnVpbHRpbnMuYzo3MDMKIG1zZ2lkICIiCiAiRXhpdCBhIGxvZ2luIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI4ODksNyArMjg5NSw3IEBACiAiICAgIGluIGEgbG9naW4gc2hlbGwuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzA4CisjOiBidWlsdGlucy5jOjcxMwogIywgZnV6enkKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBleGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdC5cbiIKQEAgLTI5NDEsNyArMjk0Nyw3IEBACiAiICAgIGByIGNjJyB1cnVjaGFtaWEgb3N0YXRuaWUgcG9sZWNlbmllIHphY3p5bmFqsWNlIHNp6iBvZCBgY2MnIGEgbmFwaXNhbmllXG4iCiAiICAgIGByJyB1cnVjaGFtaWEgcG9ub3duaWUgb3N0YXRuaWUgcG9sZWNlbmllLiIKIAotIzogYnVpbHRpbnMuYzo3MzgKKyM6IGJ1aWx0aW5zLmM6NzQzCiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb3ZlIGpvYiB0byB0aGUgZm9yZWdyb3VuZC5cbiIKQEAgLTI5NTcsNyArMjk2Myw3IEBACiAiICAgIHphZGFuaWVtLiBKZbZsaSBuaWUgcG9kYW5vIEpPQl9TUEVDLCB1v3l0ZSB6b3N0YW5pZSB6YWRhbmllIGJpZb+xY2VcbiIKICIgICAgdyByb3p1bWllbml1IHBvd7Nva2kiCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogIywgZnV6enkKIG1zZ2lkICIiCiAiTW92ZSBqb2JzIHRvIHRoZSBiYWNrZ3JvdW5kLlxuIgpAQCAtMjk3NSw3ICsyOTgxLDcgQEAKICIgICAgeiBgJicuIEpltmxpIG5pZSBwb2Rhbm8gSk9CX1NQRUMsIHW/eXRlIHpvc3RhbmllIHphZGFuaWUgYmllv7FjZVxuIgogIiAgICB3IHJvenVtaWVuaXUgcG93s29raSIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjk5OSw3ICszMDA1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3OTIKKyM6IGJ1aWx0aW5zLmM6Nzk3CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zMDIxLDcgKzMwMjcsNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzA1NSw3ICszMDYxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODUyCisjOiBidWlsdGlucy5jOjg1NwogIywgZnV6enkKIG1zZ2lkICIiCiAiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKQEAgLTMwOTIsNyArMzA5OCw3IEBACiAiICAgIGthv2RlaiB6IHd5c3TqcHVqsWN5Y2ggdyBBUkdTIHNwZWN5ZmlrYWNqaSB6YWRh8SBudW1lcmVtIFBJRCBwcm9jZXN1XG4iCiAiICAgIHdpb2SxY2VnbyBkYW5lZ28gemFkYW5pYS4iCiAKLSM6IGJ1aWx0aW5zLmM6ODc5CisjOiBidWlsdGlucy5jOjg4NAogbXNnaWQgIiIKICJSZW1vdmUgam9icyBmcm9tIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzEwOSw3ICszMTE1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBvciBKT0JTUEVDIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg5OAorIzogYnVpbHRpbnMuYzo5MDMKICMsIGZ1enp5CiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCkBAIC0zMTQwLDcgKzMxNDYsNyBAQAogIiAgICBvcmF6LCB3IHByenlwYWRrdSBvc2mxZ25p6mNpYSBvZ3JhbmljemVuaWEgbmEgbGljemLqIHByb2Nlc/N3LCBuaWVcbiIKICIgICAgcG93b2R1amUgcG90cnplYnkgdXJ1Y2hhbWlhbmlhIGRvZGF0a293ZWdvIHByb2Nlc3UsIGFieSBqYWtptiB1YmnmLiIKIAotIzogYnVpbHRpbnMuYzo5MjEKKyM6IGJ1aWx0aW5zLmM6OTI2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb25zLlxuIgpAQCAtMzE4Myw3ICszMTg5LDcgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIkthv2R5IHogYXJndW1lbnTzdyBqZXN0IHd5cmG/ZW5pZW0gYXJ5dG1ldHljem55bSBkbyBvYmxpY3plbmlhLiBPYmxpY3plbmlhXG4iCiAiICAgIHOxIHd5a29ueXdhbmUgZGxhIGxpY3piIGNhs2tvd2l0eWNoIG8gc3Rhs2VqIGSzdWdvtmNpIGJleiBzcHJhd2R6YW5pYVxuIgpAQCAtMzIyNiw3ICszMjMyLDcgQEAKICIgICAgSmW2bGkgd2FydG+2Y2mxIG9zdGF0bmllZ28gYXJndW1lbnR1IGplc3QgMCwgbGV0IHp3cmFjYSAxO1xuIgogIiAgICB3IHBvem9zdGGzeWNoIHByenlwYWRrYWNoIHp3cmFjYW5lIGplc3QgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6OTY2CisjOiBidWlsdGlucy5jOjk3MQogIywgZnV6enkKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgpAQCAtMzI5OSw3ICszMzA1LDcgQEAKICJkZXNrcnlwdG9yXG4iCiAiICAgIHBsaWt1LiIKIAotIzogYnVpbHRpbnMuYzoxMDA5CisjOiBidWlsdGlucy5jOjEwMTQKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMzExLDcgKzMzMTcsNyBAQAogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CiAjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKQEAgLTMzODEsNiArMzM4Nyw5IEBACiAiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgogIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCiAiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKICIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKICIgICAgXG4iCkBAIC0zNDc5LDcgKzM0ODgsNyBAQAogIiAgICBwb3p5Y3lqbnltaSBpIHOxIG9uZSBwcnp5cGlzYW5lLCBrb2xlam5vLCBkbyAkMSwgJDIsIC4uICRuLiBHZHkgbmllXG4iCiAiICAgIHpvc3RhbrEgcG9kYW5lIL9hZG5lIGFyZ3VtZW50eSwgd3lwaXN5d2FuZSBzsSB3c3p5c3RraWUgem1pZW5uZSBwb3ezb2tpLiIKIAotIzogYnVpbHRpbnMuYzoxMTA0CisjOiBidWlsdGlucy5jOjExMTIKIG1zZ2lkICIiCiAiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgogIiAgICBcbiIKQEAgLTM0OTksNyArMzUwOCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTI0CisjOiBidWlsdGlucy5jOjExMzIKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zNTE4LDcgKzM1MjcsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTQzCisjOiBidWlsdGlucy5jOjExNTEKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM1MzgsNyArMzU0Nyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNjQKKyM6IGJ1aWx0aW5zLmM6MTE3MgogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzU0OSw3ICszNTU4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOIGlzIG5lZ2F0aXZlIG9yIGdyZWF0ZXIgdGhhbiAkIy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQorIzogYnVpbHRpbnMuYzoxMTg0IGJ1aWx0aW5zLmM6MTE5OQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKQEAgLTM1NjgsNyArMzU3Nyw3IEBACiAiICAgIHcgJFBBVEguIEpltmxpIHBvZGFuZSB6b3N0YW6xIGpha2lla29sd2llayBBUkdVTUVOVFMsIHN0YWqxIHNp6lxuIgogIiAgICBwYXJhbWV0cmFtaSBwb3p5Y3lqbnltaSBwb2RjemFzIHVydWNob21pZW5pYSBGSUxFTkFNRS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNworIzogYnVpbHRpbnMuYzoxMjE1CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM1ODIsNyArMzU5MSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEyMjMKKyM6IGJ1aWx0aW5zLmM6MTIzMQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKQEAgLTM1OTAsNyArMzU5OSwxMCBAQAogIiAgICBFeGl0cyB3aXRoIGEgc3RhdHVzIG9mIDAgKHRydWUpIG9yIDEgKGZhbHNlKSBkZXBlbmRpbmcgb25cbiIKICIgICAgdGhlIGV2YWx1YXRpb24gb2YgRVhQUi4gIEV4cHJlc3Npb25zIG1heSBiZSB1bmFyeSBvciBiaW5hcnkuICBVbmFyeVxuIgogIiAgICBleHByZXNzaW9ucyBhcmUgb2Z0ZW4gdXNlZCB0byBleGFtaW5lIHRoZSBzdGF0dXMgb2YgYSBmaWxlLiAgVGhlcmVcbiIKLSIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYXMgd2VsbCwgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMuXG4iCisiICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzIGFzIHdlbGwuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYmVoYXZpb3Igb2YgdGVzdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzLiAgUmVhZCB0aGVcbiIKKyIgICAgYmFzaCBtYW51YWwgcGFnZSBmb3IgdGhlIGNvbXBsZXRlIHNwZWNpZmljYXRpb24uXG4iCiAiICAgIFxuIgogIiAgICBGaWxlIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCkBAIC0zNjQ0LDYgKzM2NTYsNyBAQAogIiAgICBPdGhlciBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgogIiAgICAgIC1vIE9QVElPTiAgICAgIFRydWUgaWYgdGhlIHNoZWxsIG9wdGlvbiBPUFRJT04gaXMgZW5hYmxlZC5cbiIKKyIgICAgICAtdiBWQVJcdCBUcnVlIGlmIHRoZSBzaGVsbCB2YXJpYWJsZSBWQVIgaXMgc2V0XG4iCiAiICAgICAgISBFWFBSICAgICAgICAgVHJ1ZSBpZiBleHByIGlzIGZhbHNlLlxuIgogIiAgICAgIEVYUFIxIC1hIEVYUFIyIFRydWUgaWYgYm90aCBleHByMSBBTkQgZXhwcjIgYXJlIHRydWUuXG4iCiAiICAgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS5cbiIKQEAgLTM3MzcsNyArMzc1MCw3IEBACiAiICAgIHLzd255LCBuaWVy83dueSwgbW5pZWpzenkgbmm/LCBtbmllanN6eSBsdWIgcvN3bnksIHdp6mtzenkgbmm/IGx1YlxuIgogIiAgICB3aeprc3p5IGx1YiBy83dueSBhcmcyLiIKIAotIzogYnVpbHRpbnMuYzoxMjk5CisjOiBidWlsdGlucy5jOjEzMTEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCkBAIC0zNzQ4LDcgKzM3NjEsNyBAQAogIkplc3QgdG8gc3lub25pbSBkbGEgd2J1ZG93YW5lZ28gcG9sZWNlbmlhIFwidGVzdFwiLCBhbGUgd3ltYWdharFjeSwgYnlcbiIKICIgICAgb3N0YXRuaW0gYXJndW1lbnRlbSBiebMgYF0nIHBhc3VqsWN5IGRvIHBvY3qxdGtvd2VnbyBgWycuIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzc2MCw3ICszNzczLDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgogIywgZnV6enkKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCkBAIC0zNzc3LDcgKzM3OTAsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtMzgxNiw3ICszODM3LDcgQEAKICIgICAgbmF6dyBzeWduYbPzdyB3cmF6IHogb2Rwb3dpYWRharFjeW1pIGltIG51bWVyYW1pLiBOYWxlv3kgemF1d2G/eeYsIL9lXG4iCiAiICAgIHN5Z25hsyBtb79uYSB3eXOzYeYgZG8gcG93s29raSBwb2xlY2VuaWVtIFwia2lsbCAtc2lnbmFsICQkXCIuIgogCi0jOiBidWlsdGlucy5jOjEzNTIKKyM6IGJ1aWx0aW5zLmM6MTM2OAogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC0zODQ2LDcgKzM4NjcsNyBAQAogImZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzODMKKyM6IGJ1aWx0aW5zLmM6MTM5OQogIywgZnV6enkKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKQEAgLTM5MjcsNyArMzk0OCw3IEBACiAiICAgIC1wLCBrdPNyZSBqZXN0IHcgamVkbm9zdGthY2ggNTEyLWJhanRvd3ljaCBvcmF6IC11LCBrdPNyZSBqZXN0XG4iCiAiICAgIGJlend5bWlhcm93sSBsaWN6YrEgcHJvY2Vz83cuIgogCi0jOiBidWlsdGlucy5jOjE0MjgKKyM6IGJ1aWx0aW5zLmM6MTQ0NAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC0zOTQ1LDcgKzM5NjYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDQ4CisjOiBidWlsdGlucy5jOjE0NjQKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zOTYyLDcgKzM5ODMsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDY2CisjOiBidWlsdGlucy5jOjE0ODIKICMsIGZ1enp5CiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgpAQCAtMzk4Miw3ICs0MDAzLDcgQEAKICIgICAgcHJvY2VzdSBsdWIgc3BlY3lmaWthY2qxIHphZGFuaWE7IGdkeSBqZXN0IHNwZWN5ZmlrYWNqsSB6YWRhbmlhLFxuIgogIiAgICBvY3pla2l3YW5pZSBkb3R5Y3p5IHdzenlzdGtpY2ggcHJvY2Vz83cgdyBwb3Rva3UgemFkYW5pYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ4MQorIzogYnVpbHRpbnMuYzoxNDk3CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCkBAIC00MDAxLDcgKzQwMjIsNyBAQAogIiAgICBEbGEga2G/ZGVnbyBlbGVtZW50dSBXT1JEUywgTkFNRSBqZXN0IHVzdGF3aWFuZSBuYSB0ZW4gZWxlbWVudFxuIgogIiAgICBpIHVydWNoYW1pYW5lIHOxIENPTU1BTkRTLiIKIAotIzogYnVpbHRpbnMuYzoxNDk1CisjOiBidWlsdGlucy5jOjE1MTEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCkBAIC00MDI3LDcgKzQwNDgsNyBAQAogIiAgICBFWFAxLCBFWFAyIGkgRVhQMyBzsSB3eXJhv2VuaWFtaSBhcnl0bWV0eWN6bnltaS4gSmW2bGkga3TzcmW2IHogd3lyYb9l8VxuIgogIiAgICB6b3N0YW5pZSBwb21pbmnqdGUsIHphY2hvd2FuaWUgamVzdCB0YWtpZSwgamFieSBtaWGzbyBvbm8gd2FydG+25iAxLiIKIAotIzogYnVpbHRpbnMuYzoxNTEzCisjOiBidWlsdGlucy5jOjE1MjkKICMsIGZ1enp5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKQEAgLTQwNjAsNyArNDA4MSw3IEBACiAiICAgIHdpZXJzeiBqZXN0IHphY2hvd3l3YW55IHcgem1pZW5uZWogUkVQTFkuIFBvIGthv2R5bSB3eWJvcnplIHVydWNoYW1pYW5lXG4iCiAiICAgIHOxIHBvbGVjZW5pYSBDT01NQU5EUyBhvyBkbyBwb2xlY2VuaWEgYnJlYWsuIgogCi0jOiBidWlsdGlucy5jOjE1MzQKKyM6IGJ1aWx0aW5zLmM6MTU1MAogIywgZnV6enkKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCkBAIC00MDg3LDcgKzQxMDgsNyBAQAogIiAgICBwb2RzdW1vd2FuaWEgY3phc/N3IHcgbmllY28gaW5uZWogcG9zdGFjaS4gVb95d2FuYSBqZXN0IHd0ZWR5IHdhcnRvtuZcbiIKICIgICAgem1pZW5uZWogVElNRUZPUk1BVCBqYWtvIGZvcm1hdCBkYW55Y2ggd3lqtmNpb3d5Y2guIgogCi0jOiBidWlsdGlucy5jOjE1NTEKKyM6IGJ1aWx0aW5zLmM6MTU2NwogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgpAQCAtNDEwMiw3ICs0MTIzLDcgQEAKICJwYXN1amVcbiIKICIgICAgZG8gd3pvcmNhIFBBVFRFUk4uIFpuYWsgYHwnIHOzdb95IGRvIHJvemR6aWVsYW5pYSB3aWVsdSB3em9yY/N3LiIKIAotIzogYnVpbHRpbnMuYzoxNTYzCisjOiBidWlsdGlucy5jOjE1NzkKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCkBAIC00MTMzLDcgKzQxNTQsNyBAQAogIiAgICB1cnVjaG9taW9uZWdvIHBvbGVjZW5pYSBsdWIgemVybywgZ2R5IL9hZGVuIHplIHNwcmF3ZHphbnljaCB3YXJ1bmvzd1xuIgogIiAgICBuaWUgYnmzIHByYXdkeml3eS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU4MAorIzogYnVpbHRpbnMuYzoxNTk2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgpAQCAtNDE0Nyw3ICs0MTY4LDcgQEAKICJSb3p3aWphbmllIGkgdXJ1Y2hhbWlhbmllIHBvbGVjZfEgQ09NTUFORFMgdGFrIGSzdWdvLCBkb3Dza2kgb3N0YXRuaWVcbiIKICIgICAgcG9sZWNlbmllIHcgYHdoaWxlJyBDT01NQU5EUyBrb/Fjenkgc2nqIHoga29kZW0gemVyby4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU5MgorIzogYnVpbHRpbnMuYzoxNjA4CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCkBAIC00MTYxLDcgKzQxODIsNyBAQAogIlJvendpamFuaWUgaSB1cnVjaGFtaWFuaWUgcG9sZWNl8SBDT01NQU5EUyB0YWsgZLN1Z28sIGRvcPNraSBvc3RhdG5pZVxuIgogIiAgICBwb2xlY2VuaWUgdyBgdW50aWwnIENPTU1BTkRTIGtv8WN6eSBzaeogeiBrb2RlbSBuaWV6ZXJvd3ltLiIKIAotIzogYnVpbHRpbnMuYzoxNjA0CisjOiBidWlsdGlucy5jOjE2MjAKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtNDE3NCw3ICs0MTk1LDcgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjE4CisjOiBidWlsdGlucy5jOjE2MzQKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQxODgsNyArNDIwOSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCisjOiBidWlsdGlucy5jOjE2NDgKICMsIGZ1enp5CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKQEAgLTQyMDIsNyArNDIyMyw3IEBACiAiVXJ1Y2hvbWllbmllIHpiaW9ydSBwb2xlY2XxIGpha28gZ3J1cHkuIFcgdGVuIHNwb3PzYiBtb79uYSBwcnpla2llcm93YeZcbiIKICIgICAgY2GzeSB6YmnzciBwb2xlY2XxLiIKIAotIzogYnVpbHRpbnMuYzoxNjQ0CisjOiBidWlsdGlucy5jOjE2NjAKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKQEAgLTQyMjMsNyArNDI0NCw3IEBACiAiZGxhXG4iCiAiICAgIGBiZycuIgogCi0jOiBidWlsdGlucy5jOjE2NTkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgpAQCAtNDIzNyw3ICs0MjU4LDcgQEAKICJPYmxpY3plbmllIHd5cmG/ZW5pYSBFWFBSRVNTSU9OIHpnb2RuaWUgeiB6YXNhZGFtaSBvYmxpY3phbmlhIHd5cmG/ZfFcbiIKICIgICAgYXJ5dG1ldHljem55Y2guIFLzd25vd2G/bmUgXCJsZXQgRVhQUkVTU0lPTlwiLiIKIAotIzogYnVpbHRpbnMuYzoxNjcxCisjOiBidWlsdGlucy5jOjE2ODcKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKQEAgLTQyODYsNyArNDMwNyw3IEBACiAiICAgIHd6b3JjYS4gT3BlcmF0b3J5ICYmIGkgfHwgbmllIG9wbGljemFqsSBFWFBSMiwgamW2bGkgb2JsaWN6ZW5pZSBFWFBSMVxuIgogIiAgICB3eXN0YXJjemEgZG8gb2tyZbZsZW5pYSB3YXJ0b7ZjaSB3eXJhv2VuaWEuIgogCi0jOiBidWlsdGlucy5jOjE2OTcKKyM6IGJ1aWx0aW5zLmM6MTcxMwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTQzNDAsNyArNDM2MSw3IEBACiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3NTQKKyM6IGJ1aWx0aW5zLmM6MTc3MAogIywgZnV6enkKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgpAQCAtNDM4OSw3ICs0NDEwLDcgQEAKICIgICAgXG4iCiAiICAgIFphd2FydG+25iBzdG9zdSBrYXRhbG9n83cgbW+/bmEgem9iYWN6eeYgemEgcG9tb2OxIHBvbGVjZW5pYSBgZGlycycuIgogCi0jOiBidWlsdGlucy5jOjE3ODgKKyM6IGJ1aWx0aW5zLmM6MTgwNAogIywgZnV6enkKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCkBAIC00NDMzLDcgKzQ0NTQsNyBAQAogIiAgICBcbiIKICIgICAgWmF3YXJ0b7bmIHN0b3N1IGthdGFsb2fzdyBtb79uYSB6b2JhY3p55iB6YSBwb21vY7EgcG9sZWNlbmlhIGBkaXJzJy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTgxOAorIzogYnVpbHRpbnMuYzoxODM0CiAjLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKQEAgLTQ0ODIsNyArNDUwMyw3IEBACiAiICAgIC1OXHRXeXBpc2FuaWUgTi10ZWogcG96eWNqaSBsaWN6sWMgb2QgcHJhd2VqIHN0cm9ueSBsaXN0eSB3eXBpc3l3YW5lalxuIgogIiAgICBcdHByemV6IGRpcnMgd3l3b7NhbmUgYmV6IG9wY2ppLCBwb2N6sXdzenkgb2QgemVyYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NworIzogYnVpbHRpbnMuYzoxODYzCiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC00NTAzLDcgKzQ1MjQsNyBAQAogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC00NTI2LDYgKzQ1NDcsOSBAQAogIiAgICBcbiIKICIgICAgICAlYlx0ZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50XG4iCiAiICAgICAgJXFcdHF1b3RlIHRoZSBhcmd1bWVudCBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXRcbiIKKyIgICAgICAlKGZtdClUIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcgZnJvbSB1c2luZyBGTVQgYXMgYSAiCisiZm9ybWF0XG4iCisiICAgICAgICAgICAgc3RyaW5nIGZvciBzdHJmdGltZSgzKVxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSB3cml0ZSBvciAiCkBAIC00NTMzLDcgKzQ1NTcsNyBAQAogIiAgICBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg5NQorIzogYnVpbHRpbnMuYzoxOTEzCiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTQ1NjAsNyArNDU4NCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MjMKKyM6IGJ1aWx0aW5zLmM6MTk0MQogIywgZnV6enkKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCkBAIC00NTc4LDEzICs0NjAyLDEzIEBACiAiICAgIEdkeSBwb2RhbnkgamVzdCBvcGNqb25hbG55IGFyZ3VtZW50IFdPUkQsIGdlbmVyb3dhbmUgc7EgdXp1cGWzbmllbmlhXG4iCiAiICAgIHBhc3VqsWNlIGRvIFdPUkQuIgogCi0jOiBidWlsdGlucy5jOjE5MzgKKyM6IGJ1aWx0aW5zLmM6MTk1NgogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC00NjA5LDcgKzQ2MzMsNyBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKQEAgLTQ2MzcsNyArNDY2MSw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtNDY0OSw3ICs0Njc0LDcgQEAKICIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCmRpZmYgLS1naXQgYS9wby9wdF9CUi5nbW8gYi9wby9wdF9CUi5nbW8KaW5kZXggOWFjOWM0My4uMWQxZjg2NyAxMDA2NDQKLS0tIGEvcG8vcHRfQlIuZ21vCisrKyBiL3BvL3B0X0JSLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9wdF9CUi5wbyBiL3BvL3B0X0JSLnBvCmluZGV4IGU3ZTQyY2YuLjZjMGUzZjYgMTAwNjQ0Ci0tLSBhL3BvL3B0X0JSLnBvCisrKyBiL3BvL3B0X0JSLnBvCkBAIC02LDcgKzYsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDIuMFxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDItMDUtMDggMTM6NTBHTVQgLTNcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEhhbGxleSBQYWNoZWNvIGRlIE9saXZlaXJhIDxoYWxsZXlwb0BpZy5jb20uYnI+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogQnJhemlsaWFuIFBvcnR1Z3Vlc2UgPGxkcC1ickBiYXphci5jb25lY3RpdmEuY29tLmJyPlxuIgpAQCAtMTksNyArMTksNyBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgIu1uZGljZSBkYSBtYXRyaXogKGFycmF5KSBpbmNvcnJldG8iCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTM5LDI2ICszOSwyNiBAQAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6MzgzCisjOiBiYXNoaGlzdC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBpbXBvc3PtdmVsIGNyaWFyOiAlcyIKIAotIzogYmFzaGxpbmUuYzozNDU3CisjOiBiYXNobGluZS5jOjM0OTgKIG1zZ2lkICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBjYW5ub3QgZmluZCBrZXltYXAgZm9yIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNTQzCisjOiBiYXNobGluZS5jOjM1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM1NzIKKyM6IGJhc2hsaW5lLmM6MzYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNjA2CisjOiBiYXNobGluZS5jOjM2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIiCkBAIC0xMTgsMjYgKzExOCwxMSBAQAogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Ci1tc2dpZCAiIgotIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgotIiAgICAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKLW1zZ2lkICIiCi0iOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCi0iICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKLSIgICAgXG4iCi0iICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKLSIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2QuZGVmOjIxNQorIzogYnVpbHRpbnMvY2QuZGVmOjIzNQogbXNnaWQgIkhPTUUgbm90IHNldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jZC5kZWY6MjI3CisjOiBidWlsdGlucy9jZC5kZWY6MjQ3CiBtc2dpZCAiT0xEUFdEIG5vdCBzZXQiCiBtc2dzdHIgIiIKIApAQCAtMTU2LDExICsxNDEsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNworIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MzIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIm76bWVybyBleGNlc3Npdm8gZGUgYXJndW1lbnRvcyIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo1MDAgc2hlbGwuYzo3ODIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgImEgb3Dn428gcmVxdWVyIHVtIGFyZ3VtZW50bzogLSIKQEAgLTIwMCw3ICsxODUsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAibvptZXJvIGRvIHNpbmFsIGluY29ycmV0byIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKICMsIGZ1enp5CiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIm76bWVybyBkbyBzaW5hbCBpbmNvcnJldG8iCkBAIC0zMTMsMjYgKzI5OCwyNiBAQAogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjQKICMsIGZ1enp5CiBtc2dpZCAiY2FuIG9ubHkgYmUgdXNlZCBpbiBhIGZ1bmN0aW9uIgogbXNnc3RyICJzb21lbnRlIHBvZGUgc2VyIHVzYWRvIGRlbnRybyBkZSBmdW7n9WVzOyBmYXogY29tIHF1ZSBvIGVzY29wbyB2aXPtdmVsIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzggZXhlY3V0ZV9jbWQuYzo1MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6IGZ1bufjbyBzb21lbnRlIHBhcmEgbGVpdHVyYSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDY4CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiQlczogaW1wb3Nz7XZlbCBhdHJpYnVpciBkZXN0YSBtYW5laXJhIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzYxLDI5ICszNDYsMjkgQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiBpbXBvc3PtdmVsIGNyaWFyOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAotIzogc2hlbGwuYzoxNDUyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNSBidWlsdGlucy9oYXNoLmRlZjoxNzEgZXhlY3V0ZV9jbWQuYzo0OTYxCisjOiBzaGVsbC5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczog6SB1bSBkaXJldPNyaW8iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAiJXM6IGltcG9zc+12ZWwgZXhlY3V0YXIgbyBhcnF1aXZvIGJpbuFyaW8iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ3CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0Ci0jOiBzaGVsbC5jOjE0NjIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTgyIGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAwIGV4ZWN1dGVfY21kLmM6NTAzMgorIzogc2hlbGwuYzoxNDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IGltcG9zc+12ZWwgZXhlY3V0YXIgbyBhcnF1aXZvIGJpbuFyaW8iCiAKLSM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgorIzogYnVpbHRpbnMvZXhlYy5kZWY6MTU0IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NiBidWlsdGlucy9leGVjLmRlZjoyMjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCiBtc2dzdHIgIiVzOiBpbXBvc3PtdmVsIGNyaWFyOiAlcyIKQEAgLTQxMiwxMSArMzk3LDExIEBACiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGNvbWFuZG8gbuNvIGVuY29udHJhZG8iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzcwCisjOiBidWlsdGlucy9mYy5kZWY6MzgwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IGltcG9zc+12ZWwgY3JpYXI6ICVzIgpAQCAtNDQ5LDcgKzQzNCw3IEBACiBtc2dpZCAiJXM6IGhhc2ggdGFibGUgZW1wdHlcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9oYXNoLmRlZjoyNDQKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiaGl0c1x0Y29tbWFuZFxuIgogbXNnc3RyICJgcicsIG8g+mx0aW1vIGNvbWFuZG8gc2VqYSBleGVjdXRhZG8gbm92YW1lbnRlLiIKQEAgLTUwNiw3OCArNDkxLDg4IEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyMDAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MworIzogYnVpbHRpbnMva2lsbC5kZWY6MjYxCiAjLCBmdXp6eQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIkVycm8gZGVzY29uaGVjaWRvICVkIgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJlc3BlcmFkbyB1bWEgZXhwcmVzc+NvIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgogbXNnc3RyICIlczogdmFyaeF2ZWwgbuNvIHZpbmN1bGFkYSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU2IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjQgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjczIGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxMQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJWMlYzogb3Dn428gaW5jb3JyZXRhIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlYyVjOiBvcOfjbyBpbmNvcnJldGEiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzAxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICJu+m1lcm8gZG8gc2luYWwgaW5jb3JyZXRvIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogIywgZnV6enkKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICIlczogdmFyaeF2ZWwgbuNvIHZpbmN1bGFkYSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVjJWM6IG9w5+NvIGluY29ycmV0YSIKKworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CisjOiBidWlsdGlucy9wcmludGYuZGVmOjY2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGlucy9wcmludGYuZGVmOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIHVuaWNvZGUgZGlnaXQgZm9yIFxcJWMiCittc2dzdHIgIiIKKwogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQogIywgZnV6enkKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCkBAIC02ODEsMjIgKzY3NiwyMiBAQAogbXNnaWQgImNhbiBvbmx5IGByZXR1cm4nIGZyb20gYSBmdW5jdGlvbiBvciBzb3VyY2VkIHNjcmlwdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjc2OAorIzogYnVpbHRpbnMvc2V0LmRlZjo3NzEKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUiCiBtc2dzdHIgInNvbWVudGUgcG9kZSBzZXIgdXNhZG8gZGVudHJvIGRlIGZ1buf1ZXM7IGZheiBjb20gcXVlIG8gZXNjb3BvIHZpc+12ZWwiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1CisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiJXM6IGltcG9zc+12ZWwgY3JpYXI6ICVzIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgxMgorIzogYnVpbHRpbnMvc2V0LmRlZjo4MTUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgogbXNnc3RyICIlczogaW1wb3Nz7XZlbCBjcmlhcjogJXMiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODIzCisjOiBidWlsdGlucy9zZXQuZGVmOjgyNgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IHZhcmnhdmVsIG7jbyB2aW5jdWxhZGEiCkBAIC03MTEsMjAgKzcwNiwyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJzaGlmdCBbbl0iCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBjb21hbmRvIG7jbyBlbmNvbnRyYWRvIgpAQCAtNzY4LDI3ICs3NjMsMjcgQEAKIG1zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6MzcyCisjOiBidWlsdGlucy91bGltaXQuZGVmOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW1pdCBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGJhZCBjb21tYW5kIgogbXNnc3RyICIlYyVjOiBvcOfjbyBpbmNvcnJldGEiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDI3CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQzMQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBnZXQgbGltaXQ6ICVzIgogbXNnc3RyICIlczogaW1wb3Nz7XZlbCBjcmlhcjogJXMiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDUzCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ1NwogIywgZnV6enkKIG1zZ2lkICJsaW1pdCIKIG1zZ3N0ciAiVGVtcG8gbGltaXRlIGRlIENQVSBleGNlZGlkbyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBpbXBvc3PtdmVsIGNyaWFyOiAlcyIKQEAgLTg0OSwxMTEgKzg0NCwxMTYgQEAKIAogIzogZXZhbC5jOjE4MQogIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ2lkICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKIG1zZ3N0ciAiIgogIiVjdGVtcG8gbGltaXRlIGRlIGVzcGVyYSBleGNlZGlkbyBhZ3VhcmRhbmRvIGVudHJhZGE6XG4iCiAiZmltIGF1dG9t4XRpY28gZGEgc2Vzc+NvXG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwNzUKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQogIywgZnV6enkKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJlcnJvIGRlIGBwaXBlJzogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDQ4MQorIzogZXhlY3V0ZV9jbWQuYzo0NjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IHJlc3RyaefjbzogbuNvIOkgcGVybWl0aWRvIGVzcGVjaWZpY2FyIGAvJyBlbSBub21lcyBkZSBjb21hbmRvcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NTcyCisjOiBleGVjdXRlX2NtZC5jOjQ3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogY29tYW5kbyBu428gZW5jb250cmFkbyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODI3CisjOiBleGVjdXRlX2NtZC5jOjQ5NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk5NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiDpIHVtIGRpcmV083JpbyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTc2CisjOiBleGVjdXRlX2NtZC5jOjUxNDQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgImltcG9zc+12ZWwgZHVwbGljYXIgZmQgKGRlc2NyaXRvciBkZSBhcnF1aXZvKSAlZCBwYXJhIGZkIDA6ICVzIgogCi0jOiBleHByLmM6MjQxCisjOiBleHByLmM6MjU2CiBtc2dpZCAiZXhwcmVzc2lvbiByZWN1cnNpb24gbGV2ZWwgZXhjZWVkZWQiCiBtc2dzdHIgImV4Y2VkaWRvIG8gbu12ZWwgZGUgcmVjdXJzaXZpZGFkZSBkYSBleHByZXNz428iCiAKLSM6IGV4cHIuYzoyNjUKKyM6IGV4cHIuYzoyODAKICMsIGZ1enp5CiBtc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAiRXN0b3VybyBuYSBiYXNlIGRhIHBpbGhhIGRlIHJlY3Vyc2l2aWRhZGUiCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKIG1zZ3N0ciAiZXJybyBkZSBzaW50YXhlIG5hIGV4cHJlc3PjbyIKIAotIzogZXhwci5jOjQxOQorIzogZXhwci5jOjQ2MwogbXNnaWQgImF0dGVtcHRlZCBhc3NpZ25tZW50IHRvIG5vbi12YXJpYWJsZSIKIG1zZ3N0ciAidGVudGF0aXZhIGRlIGF0cmlidWnn428gcGFyYSBhbGdvIHF1ZSBu428g6SB1bWEgdmFyaeF2ZWwiCiAKLSM6IGV4cHIuYzo0NDAgZXhwci5jOjQ0NSBleHByLmM6NzU2CisjOiBleHByLmM6NDg2IGV4cHIuYzo0OTEgZXhwci5jOjgwNwogbXNnaWQgImRpdmlzaW9uIGJ5IDAiCiBtc2dzdHIgImRpdmlz428gcG9yIDAiCiAKLSM6IGV4cHIuYzo0NzEKKyM6IGV4cHIuYzo1MTcKICMsIGZ1enp5CiBtc2dpZCAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuIgogbXNnc3RyICJFcnJvIGRlIHByb2dyYW1h5+NvOiBgdG9rZW4nIGluduFsaWRvIGAlZCcgcGFzc2FkbyBwYXJhIGV4cGFzc2lnbigpIgogCi0jOiBleHByLmM6NTEzCisjOiBleHByLmM6NTY0CiBtc2dpZCAiYDonIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJgOicgZXNwZXJhZG8gcGFyYSBleHByZXNz428gY29uZGljaW9uYWwiCiAKLSM6IGV4cHIuYzo3ODEKKyM6IGV4cHIuYzo4MzIKIG1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJmYWx0YW5kbyBgKSciCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJlcnJvIGRlIHNpbnRheGU6IGZpbSBwcmVtYXR1cm8gZG8gYXJxdWl2byIKIAotIzogZXhwci5jOjExNzgKKyM6IGV4cHIuYzoxMjg0CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEyMDIKKyM6IGV4cHIuYzoxMzA4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIlczogJXM6ICVzIChlcnJvOiBvIGB0b2tlbicg6SBcIiVzXCIpXG4iCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjgwCisjOiBleHByLmM6MTM4NgogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAidmFsb3IgbXVpdG8gZ3JhbmRlIHBhcmEgZXN0YSBiYXNlIGRlIG51bWVyYefjbyIKIAotIzogZXhwci5jOjEzMjkKKyM6IGV4cHIuYzoxNDM1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogZXhwcmVzc2lvbiBlcnJvclxuIgogbXNnc3RyICIlczogZXNwZXJhZG8gZXhwcmVzc+NvIGRlIG76bWVybyBpbnRlaXJvIgpAQCAtOTYzLDE3MCArOTYzLDE3MCBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldHdkOiBpbXBvc3PtdmVsIGFjZXNzYXIgb3MgZGlyZXTzcmlvcyBwYWlzIChhbnRlcmlvcmVzKSIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAiaW1wb3Nz7XZlbCBkdXBsaWNhciBmZCAoZGVzY3JpdG9yIGRlIGFycXVpdm8pICVkIHBhcmEgZmQgMDogJXMiCiAKLSM6IGlucHV0LmM6MjU4CisjOiBpbnB1dC5jOjI2MAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKIG1zZ3N0ciAiIgogImltcG9zc+12ZWwgYWxvY2FyIG5vdm8gZGVzY3JpdG9yIGRlIGFycXVpdm8gKGZkKSBwYXJhIGEgZW50cmFkYVxuIgogImRvIGBiYXNoJyAgYSBwYXJ0aXIgZG8gZGVzY3JpdG9yIGRlIGFycXVpdm8gKGZkKSAlZDogJXMiCiAKLSM6IGlucHV0LmM6MjY2CisjOiBpbnB1dC5jOjI2OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAic2F2ZV9iYXNoX2lucHV0OiBidWZmZXIgYWxyZWFkeSBleGlzdHMgZm9yIG5ldyBmZCAlZCIKIG1zZ3N0ciAiIgogImNoZWNrX2Jhc2hfaW5wdXQ6IGrhIGV4aXN0ZSBvIGVzcGHnbyBpbnRlcm1lZGnhcmlvIChidWZmZXIpXG4iCiAicGFyYSBvIG5vdm8gZGVzY3JpdG9yIGRlIGFycXVpdm8gKGZkKSAlZCIKIAotIzogam9icy5jOjQ2NgorIzogam9icy5jOjQ2OAogbXNnaWQgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjg4NworIzogam9icy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JrZWQgcGlkICVkIGFwcGVhcnMgaW4gcnVubmluZyBqb2IgJWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjEwMDUKKyM6IGpvYnMuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjExMTAKKyM6IGpvYnMuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwcm9jZXNzICU1bGQgKCVzKSBpbiB0aGVfcGlwZWxpbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjExMTMKKyM6IGpvYnMuYzoxMTE1CiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIG1hcmtlZCBhcyBzdGlsbCBhbGl2ZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQwMQorIzogam9icy5jOjE0MzAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImRlc2NyaWJlX3BpZDogJWxkOiBubyBzdWNoIHBpZCIKIG1zZ3N0ciAiZGVzY3JpYmVfcGlkOiBvIGlkZW50aWZpY2Fkb3IgZG8gcHJvY2Vzc28gKHBpZCkgbuNvIGV4aXN0ZSAoJWQpIVxuIgogCi0jOiBqb2JzLmM6MTQxNgorIzogam9icy5jOjE0NDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKIG1zZ3N0ciAiU2luYWwgZGVzY29uaGVjaWRvICMlZCIKIAotIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0CiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiQ29uY2x17WRvIgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCisjOiBqb2JzLmM6MTQ2NCBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiUGFyYWRvIgogCi0jOiBqb2JzLmM6MTQzOQorIzogam9icy5jOjE0NjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQoJXMpIgogbXNnc3RyICJQYXJhZG8iCiAKLSM6IGpvYnMuYzoxNDQzCisjOiBqb2JzLmM6MTQ3MgogbXNnaWQgIlJ1bm5pbmciCiBtc2dzdHIgIkV4ZWN1dGFuZG8iCiAKLSM6IGpvYnMuYzoxNDU3CisjOiBqb2JzLmM6MTQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb25lKCVkKSIKIG1zZ3N0ciAiQ29uY2x17WRvKCVkKSIKIAotIzogam9icy5jOjE0NTkKKyM6IGpvYnMuYzoxNDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4aXQgJWQiCiBtc2dzdHIgIkZpbSBkYSBleGVjdefjbyBjb20gc3RhdHVzICVkIgogCi0jOiBqb2JzLmM6MTQ2MgorIzogam9icy5jOjE0OTEKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKIG1zZ3N0ciAiU3RhdHVzIGRlc2NvbmhlY2lkbyIKIAotIzogam9icy5jOjE1NDkKKyM6IGpvYnMuYzoxNTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihjb3JlIGR1bXBlZCkgIgogbXNnc3RyICIoaW1hZ2VtIGRvIG76Y2xlbyBncmF2YWRhKSIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIgICh3ZDogJXMpIgogbXNnc3RyICIod2QgYWdvcmE6ICVzKVxuIgogCi0jOiBqb2JzLmM6MTc3NgorIzogam9icy5jOjE4MDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICJgc2V0cGdpZCcgZmlsaG8gKCVkIHBhcmEgJWQpIGVycm8gJWQ6ICVzXG4iCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQ6IG8gcGlkICVkIG7jbyDpIHVtIGZpbGhvIGRlc3RlIGBzaGVsbCciCiAKLSM6IGpvYnMuYzoyMzMxCisjOiBqb2JzLmM6MjM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogbyB0cmFiYWxobyB0ZXJtaW5vdSIKIAotIzogam9icy5jOjI4MzgKKyM6IGpvYnMuYzoyODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozMDU5CisjOiBqb2JzLmM6MzA4OQogbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUwOAorIzogam9icy5jOjM1MzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgImVuY2FpeGUgKHNsb3QpICUzZDogIgogCi0jOiBqb2JzLmM6MzUyMiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTUyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIChpbWFnZW0gZG8gbvpjbGVvIGdyYXZhZGEpIgogCi0jOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NworIzogam9icy5jOjM1NjQgam9icy5jOjM1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIih3ZCBhZ29yYTogJXMpXG4iCiAKLSM6IGpvYnMuYzozNTc5CisjOiBqb2JzLmM6MzYwOQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JzOiBnZXRwZ3JwIGZhbGhvdTogJXMiCiAKLSM6IGpvYnMuYzozNjM5CisjOiBqb2JzLmM6MzY2OQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgImluaXRpYWxpemVfam9iczogZGlzY2lwbGluYSBkYSBsaW5oYTogJXMiCiAKLSM6IGpvYnMuYzozNjQ5CisjOiBqb2JzLmM6MzY3OQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGdldHBncnAgZmFsaG91OiAlcyIKIAotIzogam9icy5jOjM2NzcKKyM6IGpvYnMuYzozNzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjgyCisjOiBqb2JzLmM6MzcxMgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgIm5lbmh1bSBjb250cm9sZSBkZSB0cmFiYWxobyBuZXN0YSBgc2hlbGwnIgogCkBAIC0xMjgwLDEwMyArMTI4MCwxMDMgQEAKIG1zZ2lkICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiBgJWQnIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjMxMzMgcGFyc2UueTozMzY5CisjOiBwYXJzZS55OjMxNzMgcGFyc2UueTozNDQ0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICJlbmNvbnRyYWRvIEVPRiBu428gZXNwZXJhZG8gZW5xdWFudG8gcHJvY3VyYXZhIHBvciBgJWMnIgogCi0jOiBwYXJzZS55OjM5NTEKKyM6IHBhcnNlLnk6NDAyNQogIywgZnV6enkKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICJlbmNvbnRyYWRvIEVPRiBu428gZXNwZXJhZG8gZW5xdWFudG8gcHJvY3VyYXZhIHBvciBgJWMnIgogCi0jOiBwYXJzZS55OjM5NTYKKyM6IHBhcnNlLnk6NDAzMAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiZXJybyBkZSBzaW50YXhlIHBy83hpbW8gZG8gYHRva2VuJyBu428gZXNwZXJhZG8gYCVzJyIKIAotIzogcGFyc2UueTozOTYwCisjOiBwYXJzZS55OjQwMzQKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgImVycm8gZGUgc2ludGF4ZSBuYSBleHByZXNz428iCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDA0MgorIzogcGFyc2UueTo0MTE2CiAjLCBmdXp6eQogbXNnaWQgImV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiZXNwZXJhZG8gYCknIgogCi0jOiBwYXJzZS55OjQwNzAKKyM6IHBhcnNlLnk6NDE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MDc0CisjOiBwYXJzZS55OjQxNDgKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDEyMAorIzogcGFyc2UueTo0MTk0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IGVzcGVyYWRvIG9wZXJhZG9yIGJpbuFyaW8iCiAKLSM6IHBhcnNlLnk6NDEyNAorIzogcGFyc2UueTo0MTk4CiAjLCBmdXp6eQogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IGVzcGVyYWRvIG9wZXJhZG9yIGJpbuFyaW8iCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTUwCisjOiBwYXJzZS55OjQyMjQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNjEKKyM6IHBhcnNlLnk6NDIzNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImA6JyBlc3BlcmFkbyBwYXJhIGV4cHJlc3PjbyBjb25kaWNpb25hbCIKIAotIzogcGFyc2UueTo0MTY0CisjOiBwYXJzZS55OjQyMzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJgOicgZXNwZXJhZG8gcGFyYSBleHByZXNz428gY29uZGljaW9uYWwiCiAKLSM6IHBhcnNlLnk6NDE2OAorIzogcGFyc2UueTo0MjQyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImA6JyBlc3BlcmFkbyBwYXJhIGV4cHJlc3PjbyBjb25kaWNpb25hbCIKIAotIzogcGFyc2UueTo1NDU5CisjOiBwYXJzZS55OjU1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJlcnJvIGRlIHNpbnRheGUgcHLzeGltbyBkbyBgdG9rZW4nIG7jbyBlc3BlcmFkbyBgJXMnIgogCi0jOiBwYXJzZS55OjU0NzcKKyM6IHBhcnNlLnk6NTU4NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiZXJybyBkZSBzaW50YXhlIHBy83hpbW8gZG8gYHRva2VuJyBu428gZXNwZXJhZG8gYCVzJyIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImVycm8gZGUgc2ludGF4ZTogZmltIHByZW1hdHVybyBkbyBhcnF1aXZvIgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAiZXJybyBkZSBzaW50YXhlIgogCi0jOiBwYXJzZS55OjU1NDkKKyM6IHBhcnNlLnk6NTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIG1zZ3N0ciAiVXNlIFwiJXNcIiBwYXJhIHNhaXIgZGEgYHNoZWxsJy5cbiIKIAotIzogcGFyc2UueTo1NzExCisjOiBwYXJzZS55OjU4MTgKICMsIGZ1enp5CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICJlbmNvbnRyYWRvIEVPRiBu428gZXNwZXJhZG8gZW5xdWFudG8gcHJvY3VyYXZhIHBvciBgJWMnIgpAQCAtMTM4Niw3OCArMTM4Niw3OCBAQAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICIiCiAKLSM6IHBjb21wbGliLmM6MTc5CisjOiBwY29tcGxpYi5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjI5MAorIzogcHJpbnRfY21kLmM6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogY29uZWN0b3IgaW5jb3JyZXRvIGAlZCciCiAKLSM6IHByaW50X2NtZC5jOjM2MworIzogcHJpbnRfY21kLmM6MzY4CiAjLCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzozNjgKKyM6IHByaW50X2NtZC5jOjM3MwogbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6Mzc3CiAjLCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzoxNDYxCisjOiBwcmludF9jbWQuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjExMAorIzogcmVkaXIuYzoxMjIKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTY2CisjOiByZWRpci5jOjE3OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IFJlZGlyZWNpb25hbWVudG8gYW1i7Wd1byIKIAotIzogcmVkaXIuYzoxNzAKKyM6IHJlZGlyLmM6MTgyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogbXNnc3RyICIlczogSW1wb3Nz7XZlbCBzb2JyZXNjcmV2ZXIgYXJxdWl2byBleGlzdGVudGUiCiAKLSM6IHJlZGlyLmM6MTc1CisjOiByZWRpci5jOjE4NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiByZXN0cmnn4286IG7jbyDpIHBlcm1pdGlkbyBlc3BlY2lmaWNhciBgLycgZW0gbm9tZXMgZGUgY29tYW5kb3MiCiAKLSM6IHJlZGlyLmM6MTgwCisjOiByZWRpci5jOjE5MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICJpbXBvc3PtdmVsIGNyaWFyIGBwaXBlJyBwYXJhIGEgc3Vic3RpdHVp5+NvIGRvIHByb2Nlc3NvOiAlcyIKIAotIzogcmVkaXIuYzoxODQKKyM6IHJlZGlyLmM6MTk2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IGltcG9zc+12ZWwgYXRyaWJ1aXIgdW1hIGxpc3RhIGEgdW0gbWVtYnJvIGRlIHVtYSBtYXRyaXogKGFycmF5KSIKIAotIzogcmVkaXIuYzo1NDQKKyM6IHJlZGlyLmM6NTQ4CiBtc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTEwMQorIzogcmVkaXIuYzo4MTggcmVkaXIuYzo5MzAgcmVkaXIuYzo5OTMgcmVkaXIuYzoxMTM2CiAjLCBmdXp6eQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJlcnJvIGRlIHJlZGlyZWNpb25hbWVudG8iCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MzM2CisjOiBzaGVsbC5jOjMzNwogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIiCiAKQEAgLTE0NjYsMTYgKzE0NjYsMTYgQEAKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogb3Dn428gaW5jb3JyZXRhIgogCi0jOiBzaGVsbC5jOjE2NTEKKyM6IHNoZWxsLmM6MTY1MgogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiRXUgbuNvIHRlbmhvIG5vbWUhIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICJHTlUgJXMsIHZlcnPjbyAlc1xuIgogCi0jOiBzaGVsbC5jOjE3OTQKKyM6IHNoZWxsLmM6MTc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE0ODQsNDQgKzE0ODQsNDQgQEAKICJVdGlsaXph5+NvOlx0JXMgW29w5+NvLWxvbmdhLUdOVV0gW29w5+NvXSAuLi5cbiIKICJcdCVzIFtvcOfjby1sb25nYS1HTlVdIFtvcOfjb10gYXJxdWl2by1kZS1zY3JpcHQgLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc5NgorIzogc2hlbGwuYzoxNzk4CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAib3Dn9WVzLWxvbmdhcy1HTlU6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiT3Dn9WVzIGRhIGBzaGVsbCc6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODAzCiAjLCBmdXp6eQogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCBvdSAtYyBjb21hbmRvXHRcdChzb21lbnRlIHBhcmEgY2hhbWFkYSlcbiIKIAotIzogc2hlbGwuYzoxODE2CisjOiBzaGVsbC5jOjE4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIG91IC1vIG9w5+NvXG4iCiAKLSM6IHNoZWxsLmM6MTgyMgorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogIkRpZ2l0ZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBwYXJhIG1haXMgaW5mb3JtYef1ZXMgc29icmUgYXMgb3Dn9WVzIGRhICIKICJgc2hlbGwnLlxuIgogCi0jOiBzaGVsbC5jOjE4MjMKKyM6IHNoZWxsLmM6MTgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAiRGlnaXRlIGAlcyAtYyBoZWxwJyBwYXJhIG1haXMgaW5mb3JtYef1ZXMgc29icmUgb3MgY29tYW5kb3MgaW50ZXJub3MgZG8gIgogImBzaGVsbCcuXG4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAiIgpAQCAtMTY5Niw5MiArMTY5Niw5MiBAQAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiU2luYWwgZGVzY29uaGVjaWRvICMlZCIKIAotIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJzdWJzdGl0dWnn428gaW5jb3JyZXRhOiBuZW5odW0gYCVzJyBlbSAlcyIKIAotIzogc3Vic3QuYzoyNzM1CisjOiBzdWJzdC5jOjI3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiBpbXBvc3PtdmVsIGF0cmlidWlyIHVtYSBsaXN0YSBhIHVtIG1lbWJybyBkZSB1bWEgbWF0cml6IChhcnJheSkiCiAKLSM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKKyM6IHN1YnN0LmM6NDk3OSBzdWJzdC5jOjQ5OTUKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImltcG9zc+12ZWwgY3JpYXIgYHBpcGUnIHBhcmEgYSBzdWJzdGl0dWnn428gZG8gcHJvY2Vzc286ICVzIgogCi0jOiBzdWJzdC5jOjQ4MDIKKyM6IHN1YnN0LmM6NTAyNwogIywgZnV6enkKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImltcG9zc+12ZWwgY3JpYXIgdW0gcHJvY2Vzc28gZmlsaG8gcGFyYSBhIHN1YnN0aXR1aefjbyBkbyBwcm9jZXNzbzogJXMiCiAKLSM6IHN1YnN0LmM6NDg0NworIzogc3Vic3QuYzo1MDcyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJpbXBvc3PtdmVsIGFicmlyIG8gYG5hbWVkIHBpcGUnICVzIHBhcmEgJXM6ICVzIgogCi0jOiBzdWJzdC5jOjQ4NDkKKyM6IHN1YnN0LmM6NTA3NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiaW1wb3Nz7XZlbCBhYnJpciBvIGBuYW1lZCBwaXBlJyAlcyBwYXJhICVzOiAlcyIKIAotIzogc3Vic3QuYzo0ODY3CisjOiBzdWJzdC5jOjUwOTIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiIgogImltcG9zc+12ZWwgZHVwbGljYXIgbyBgbmFtZWQgcGlwZScgJXNcbiIKICJjb21vIGRlc2NyaXRvciBkZSBhcnF1aXZvIChmZCkgJWQ6ICVzIgogCi0jOiBzdWJzdC5jOjUwNjMKKyM6IHN1YnN0LmM6NTI4NAogIywgZnV6enkKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiaW1wb3Nz7XZlbCBjb25zdHJ1aXIgYHBpcGVzJyBwYXJhIHN1YnN0aXR1aefjbyBkbyBjb21hbmRvOiAlcyIKIAotIzogc3Vic3QuYzo1MDk3CisjOiBzdWJzdC5jOjUzMjIKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJpbXBvc3PtdmVsIGNyaWFyIHVtIHByb2Nlc3NvIGZpbGhvIHBhcmEgc3Vic3RpdHVp5+NvIGRvIGNvbWFuZG86ICVzIgogCi0jOiBzdWJzdC5jOjUxMTQKKyM6IHN1YnN0LmM6NTMzOQogIywgZnV6enkKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICIiCiAiY29tbWFuZF9zdWJzdGl0dXRlOiBpbXBvc3PtdmVsIGR1cGxpY2FyIG8gYHBpcGUnIGNvbW9cbiIKICJkZXNjcml0b3IgZGUgYXJxdWl2byAoZmQpIDE6ICVzIgogCi0jOiBzdWJzdC5jOjU2MTcKKyM6IHN1YnN0LmM6NTg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6IHBhcuJtZXRybyBudWxvIG91IG7jbyBpbmljaWFsaXphZG8iCiAKLSM6IHN1YnN0LmM6NTkwNworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIlczogZXhwcmVzc+NvIGRlIHN1YnN0cmluZyA8IDAiCiAKLSM6IHN1YnN0LmM6Njk2NQorIzogc3Vic3QuYzo3MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlczogc3Vic3RpdHVp5+NvIGluY29ycmV0YSIKIAotIzogc3Vic3QuYzo3MDQ1CisjOiBzdWJzdC5jOjczNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IGltcG9zc+12ZWwgYXRyaWJ1aXIgZGVzdGEgbWFuZWlyYSIKIAotIzogc3Vic3QuYzo3Mzc0CisjOiBzdWJzdC5jOjc2ODQKIG1zZ2lkICIiCiAiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCiAic3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NzgzOQorIzogc3Vic3QuYzo4MTQ5CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJzdWJzdGl0dWnn428gaW5jb3JyZXRhOiBuZW5odW0gYCVzJyBlbSAlcyIKIAotIzogc3Vic3QuYzo4NzIwCisjOiBzdWJzdC5jOjkwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICIiCkBAIC0xODA0LDM3ICsxODA0LDM3IEBACiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAiZXNwZXJhZG8gYCknLCBlbmNvbnRyYWRvICVzIgogCi0jOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgorIzogdGVzdC5jOjI4MCB0ZXN0LmM6Njk4IHRlc3QuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogZXNwZXJhZG8gb3BlcmFkb3IgdW7hcmlvIgogCi0jOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogZXNwZXJhZG8gb3BlcmFkb3IgYmlu4XJpbyIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICJmYWx0YW5kbyBgXSciCiAKLSM6IHRyYXAuYzoyMDMKKyM6IHRyYXAuYzoyMDcKICMsIGZ1enp5CiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJu+m1lcm8gZG8gc2luYWwgaW5jb3JyZXRvIgogCi0jOiB0cmFwLmM6MzI3CisjOiB0cmFwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgIiIKIAotIzogdHJhcC5jOjMzMQorIzogdHJhcC5jOjM0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKIG1zZ3N0ciAiIgogCi0jOiB0cmFwLmM6MzgwCisjOiB0cmFwLmM6MzkzCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcjogU2luYWwgaW5jb3JyZXRvICVkIgpAQCAtMTg0NCw1OCArMTg0NCw1OCBAQAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJlcnJvIGFvIGltcG9ydGFyIGEgZGVmaW5p5+NvIGRhIGZ1bufjbyBwYXJhIGAlcyciCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjE5MTUKKyM6IHZhcmlhYmxlcy5jOjE5MzIKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzE1OQorIzogdmFyaWFibGVzLmM6MzE4MgogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzc2CisjOiB2YXJpYWJsZXMuYzozNDI3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCiBtc2dzdHIgIiVzOiBwYXLibWV0cm8gbnVsbyBvdSBu428gaW5pY2lhbGl6YWRvIgogCi0jOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKKyM6IHZhcmlhYmxlcy5jOjM0MzIgdmFyaWFibGVzLmM6MzQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzOTYKKyM6IHZhcmlhYmxlcy5jOjM0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODQ4CisjOiB2YXJpYWJsZXMuYzozOTA0CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzkyMgorIzogdmFyaWFibGVzLmM6Mzk3OAogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2NzgKKyM6IHZhcmlhYmxlcy5jOjQ3ODYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKIG1zZ3N0ciAiJXM6IGltcG9zc+12ZWwgY3JpYXI6ICVzIgogCi0jOiB2YXJpYWJsZXMuYzo0NjgzCisjOiB2YXJpYWJsZXMuYzo0NzkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgogbXNnc3RyICIiCiAKICM6IHZlcnNpb24uYzo0NgotbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiIgogCiAjOiB2ZXJzaW9uLmM6NDcKQEAgLTE5ODgsNyArMTk4OCw3IEBACiAKICM6IGJ1aWx0aW5zLmM6NjQKICMsIGZ1enp5Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKK21zZ2lkICJjZCBbLUx8Wy1QIFstZV1dXSBbZGlyXSIKIG1zZ3N0ciAiY2QgWy1QTF0gW0RJUl0iCiAKICM6IGJ1aWx0aW5zLmM6NjYKQEAgLTIwMTQsMTIgKzIwMTQsMTIgQEAKIAogIzogYnVpbHRpbnMuYzo3NgogIywgZnV6enkKLW1zZ2lkICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCittc2dpZCAiZGVjbGFyZSBbLWFBZkZnaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKIG1zZ3N0ciAiZGVjbGFyZSBbLWFmRnJ4aV0gWy1wXSBOT01FWz1WQUxPUl0gLi4uIgogCiAjOiBidWlsdGlucy5jOjc4CiAjLCBmdXp6eQotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCittc2dpZCAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCiBtc2dzdHIgInR5cGVzZXQgWy1hZkZyeGldIFstcF0gTk9NRVs9VkFMT1JdIC4uLiIKIAogIzogYnVpbHRpbnMuYzo4MApAQCAtMjEyOCw3ICsyMTI4LDcgQEAKIAogIzogYnVpbHRpbnMuYzoxNDAKICMsIGZ1enp5Ci1tc2dpZCAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKK21zZ2lkICJzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXSIKIG1zZ3N0ciAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gT1DHw09dIFtBUkcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNDIKQEAgLTIxNDIsNyArMjE0Miw3IEBACiAKICM6IGJ1aWx0aW5zLmM6MTQ2CiAjLCBmdXp6eQotbXNnaWQgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKK21zZ2lkICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgogbXNnc3RyICJyZWFkb25seSBbLWFuZl0gW05PTUUgLi4uXSBvdSByZWFkb25seSAtcCIKIAogIzogYnVpbHRpbnMuYzoxNDgKQEAgLTI0ODIsMTQgKzI0ODIsMTggQEAKICIgICAgICAgIC1MXHRmb3JjZSBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZFxuIgogIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgogIiAgICBcdGxpbmtzXG4iCisiICAgICAgICAtZVx0aWYgdGhlIC1QIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iCisiICAgIFx0Y2Fubm90IGJlIGRldGVybWluZWQgc3VjY2Vzc2Z1bGx5LCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXNcbiIKICIgICAgXG4iCiAiICAgIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkOyBub24temVybyBvdGhlcndpc2UuIgorIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5ICIKKyJ3aGVuXG4iCisiICAgIC1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0MTEKKyM6IGJ1aWx0aW5zLmM6NDE0CiBtc2dpZCAiIgogIlByaW50IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI1MDUsNyArMjUwOSw3IEBACiAiICAgIGNhbm5vdCBiZSByZWFkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQyOAorIzogYnVpbHRpbnMuYzo0MzEKICMsIGZ1enp5CiBtc2dpZCAiIgogIk51bGwgY29tbWFuZC5cbiIKQEAgLTI1MTcsNyArMjUyMSw3IEBACiBtc2dzdHIgIiIKICJOZW5odW0gZWZlaXRvOyBvIGNvbWFuZG8gbuNvIGZheiBuYWRhLiAgUmV0b3JuYSB6ZXJvIG5vIGPzZGlnbyBkZSBzYe1kYS4iCiAKLSM6IGJ1aWx0aW5zLmM6NDM5CisjOiBidWlsdGlucy5jOjQ0MgogbXNnaWQgIiIKICJSZXR1cm4gYSBzdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNTI1LDcgKzI1MjksNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDQ4CisjOiBidWlsdGlucy5jOjQ1MQogbXNnaWQgIiIKICJSZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNTMzLDcgKzI1MzcsNyBAQAogIiAgICBBbHdheXMgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDU3CisjOiBidWlsdGlucy5jOjQ2MAogbXNnaWQgIiIKICJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNTUyLDcgKzI1NTYsNyBAQAogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQsIG9yIGZhaWx1cmUgaWYgQ09NTUFORCBpcyBub3QgZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDc2CisjOiBidWlsdGlucy5jOjQ3OQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI1NjMsNiArMjU2Nyw4IEBACiAiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgogIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCiAiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCiAiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgogIiAgICBcbiIKICIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKQEAgLTI1ODIsMjAgKzI1ODgsMjAgQEAKICIgICAgXG4iCiAiICAgIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBgZGVjbGFyZScgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKICJgbG9jYWwnXG4iCi0iICAgIGNvbW1hbmQuXG4iCisiICAgIGNvbW1hbmQuICBUaGUgYC1nJyBvcHRpb24gc3VwcHJlc3NlcyB0aGlzIGJlaGF2aW9yLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUxMgorIzogYnVpbHRpbnMuYzo1MTcKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCiAiICAgIE9ic29sZXRlLiAgU2VlIGBoZWxwIGRlY2xhcmUnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUyMAorIzogYnVpbHRpbnMuYzo1MjUKIG1zZ2lkICIiCiAiRGVmaW5lIGxvY2FsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0yNjEwLDcgKzI2MTYsNyBAQAogIiAgICBvciB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUzNworIzogYnVpbHRpbnMuYzo1NDIKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjY0MSw3ICsyNjQ3LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI2NTQsNyArMjY2MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjY4MSw3ICsyNjg3LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjYxNAorIzogYnVpbHRpbnMuYzo2MTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhcmd1bWVudHMgYXMgYSBzaGVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI2OTMsNyArMjY5OSw3IEBACiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgY29tbWFuZCBvciBzdWNjZXNzIGlmIGNvbW1hbmQgaXMgbnVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMjczNCw3ICsyNzQwLDcgQEAKICIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNzU3LDcgKzI3NjMsNyBAQAogIm9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2ODkKKyM6IGJ1aWx0aW5zLmM6Njk0CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGl0IHRoZSBzaGVsbC5cbiIKQEAgLTI3NjYsNyArMjc3Miw3IEBACiAiICAgIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIlNhaXIgZGEgYHNoZWxsJyBjb20gc3RhdHVzIGlndWFsIGEgTi4gIFNlIE4gZm9yIG9taXRpZG8sIG8gc3RhdHVzIgogCi0jOiBidWlsdGlucy5jOjY5OAorIzogYnVpbHRpbnMuYzo3MDMKIG1zZ2lkICIiCiAiRXhpdCBhIGxvZ2luIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI3NzUsNyArMjc4MSw3IEBACiAiICAgIGluIGEgbG9naW4gc2hlbGwuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzA4CisjOiBidWlsdGlucy5jOjcxMwogbXNnaWQgIiIKICJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTI4MDUsNyArMjgxMSw3IEBACiAib2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjczOAorIzogYnVpbHRpbnMuYzo3NDMKICMsIGZ1enp5CiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgpAQCAtMjgxOSw3ICsyODI1LDcgQEAKIG1zZ3N0ciAiIgogIkNvbG9jYXIgSk9CLUVTUEVDSUZJQ0FETyBubyBwcmltZWlybyBwbGFubywgZSB0b3Ju4S1sbyBvIHRyYWJhbGhvIGF0dWFsLiIKIAotIzogYnVpbHRpbnMuYzo3NTMKKyM6IGJ1aWx0aW5zLmM6NzU4CiBtc2dpZCAiIgogIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0yODMzLDcgKzI4MzksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjg1Nyw3ICsyODYzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3OTIKKyM6IGJ1aWx0aW5zLmM6Nzk3CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yODc5LDcgKzI4ODUsNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMjkxMyw3ICsyOTE5LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODUyCisjOiBidWlsdGlucy5jOjg1NwogbXNnaWQgIiIKICJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgogIiAgICBcbiIKQEAgLTI5MzcsNyArMjk0Myw3IEBACiAiICAgIElmIC14IGlzIHVzZWQsIHJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODc5CisjOiBidWlsdGlucy5jOjg4NAogbXNnaWQgIiIKICJSZW1vdmUgam9icyBmcm9tIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMjk1NCw3ICsyOTYwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBvciBKT0JTUEVDIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg5OAorIzogYnVpbHRpbnMuYzo5MDMKIG1zZ2lkICIiCiAiU2VuZCBhIHNpZ25hbCB0byBhIGpvYi5cbiIKICIgICAgXG4iCkBAIC0yOTc2LDcgKzI5ODIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo5MjEKKyM6IGJ1aWx0aW5zLmM6OTI2CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzAxOCwxMCArMzAyNCwxMCBAQAogIiAgICBydWxlcyBhYm92ZS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4iCisiICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6OTY2CisjOiBidWlsdGlucy5jOjk3MQogbXNnaWQgIiIKICJSZWFkIGEgbGluZSBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBhbmQgc3BsaXQgaXQgaW50byBmaWVsZHMuXG4iCiAiICAgIFxuIgpAQCAtMzA2OSw3ICszMDc1LDcgQEAKICIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMDkKKyM6IGJ1aWx0aW5zLmM6MTAxNAogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMwODEsNyArMzA4Nyw3IEBACiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDIyCisjOiBidWlsdGlucy5jOjEwMjcKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzE1MCw2ICszMTU2LDkgQEAKICIgICAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzXG4iCiAiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKICIgICAgICAtVCAgSWYgc2V0LCB0aGUgREVCVUcgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC0tICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgICAgICAgYXJlIHVuc2V0LlxuIgogIiAgICAgIC0gICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgogIiAgICBcbiIKQEAgLTMxNjMsNyArMzE3Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEwNAorIzogYnVpbHRpbnMuYzoxMTEyCiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMTgzLDcgKzMxOTIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEyNAorIzogYnVpbHRpbnMuYzoxMTMyCiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzIwMiw3ICszMjExLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MworIzogYnVpbHRpbnMuYzoxMTUxCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zMjIyLDcgKzMyMzEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTY0CisjOiBidWlsdGlucy5jOjExNzIKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMyMzMsNyArMzI0Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKKyM6IGJ1aWx0aW5zLmM6MTE4NCBidWlsdGlucy5jOjExOTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMjQ3LDcgKzMyNTYsNyBAQAogIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjA3CisjOiBidWlsdGlucy5jOjEyMTUKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzI2MSwxNCArMzI3MCwxNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjIzCisjOiBidWlsdGlucy5jOjEyMzEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCiAiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgogIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCiAiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgotIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy5cbiIKKyIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMgYXMgd2VsbC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBiZWhhdmlvciBvZiB0ZXN0IGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHMuICBSZWFkIHRoZVxuIgorIiAgICBiYXNoIG1hbnVhbCBwYWdlIGZvciB0aGUgY29tcGxldGUgc3BlY2lmaWNhdGlvbi5cbiIKICIgICAgXG4iCiAiICAgIEZpbGUgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKQEAgLTMzMjIsNiArMzMzNCw3IEBACiAiICAgIE90aGVyIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCiAiICAgICAgLW8gT1BUSU9OICAgICAgVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uIE9QVElPTiBpcyBlbmFibGVkLlxuIgorIiAgICAgIC12IFZBUlx0IFRydWUgaWYgdGhlIHNoZWxsIHZhcmlhYmxlIFZBUiBpcyBzZXRcbiIKICIgICAgICAhIEVYUFIgICAgICAgICBUcnVlIGlmIGV4cHIgaXMgZmFsc2UuXG4iCiAiICAgICAgRVhQUjEgLWEgRVhQUjIgVHJ1ZSBpZiBib3RoIGV4cHIxIEFORCBleHByMiBhcmUgdHJ1ZS5cbiIKICIgICAgICBFWFBSMSAtbyBFWFBSMiBUcnVlIGlmIGVpdGhlciBleHByMSBPUiBleHByMiBpcyB0cnVlLlxuIgpAQCAtMzMzOCw3ICszMzUxLDcgQEAKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjk5CisjOiBidWlsdGlucy5jOjEzMTEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCkBAIC0zMzQ3LDcgKzMzNjAsNyBAQAogIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgogbXNnc3RyICJhcmd1bWVudG8gZGV2ZSBzZXIgbyBsaXRlcmFsIGBdJywgcGFyYSBmZWNoYXIgbyBgWycgZGUgYWJlcnR1cmEuIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzM1OSw3ICszMzcyLDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC0zMzc1LDcgKzMzODgsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtMzM5NSw3ICszNDE2LDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzUyCisjOiBidWlsdGlucy5jOjEzNjgKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtMzQyNSw3ICszNDQ2LDcgQEAKICJmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzgzCisjOiBidWlsdGlucy5jOjEzOTkKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC0zNDY5LDcgKzM0OTAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDI4CisjOiBidWlsdGlucy5jOjE0NDQKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtMzQ4Nyw3ICszNTA4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzUwNCw3ICszNTI1LDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2NgorIzogYnVpbHRpbnMuYzoxNDgyCiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM1MTgsNyArMzUzOSw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0ODEKKyM6IGJ1aWx0aW5zLmM6MTQ5NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzUzMSw3ICszNTUyLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtMzU0OCw3ICszNTY5LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMworIzogYnVpbHRpbnMuYzoxNTI5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zNTY4LDcgKzM1ODksNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTM0CisjOiBidWlsdGlucy5jOjE1NTAKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU4NCw3ICszNjA1LDcgQEAKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU1MQorIzogYnVpbHRpbnMuYzoxNTY3CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIHBhdHRlcm4gbWF0Y2hpbmcuXG4iCkBAIC0zNTk3LDcgKzM2MTgsNyBAQAogbXNnc3RyICIiCiAiRXhlY3V0YXIgc2VsZXRpdmFtZW50ZSBDT01BTkRPUyB0b21hbmRvIHBvciBiYXNlIGEgY29ycmVzcG9uZOpuY2lhIGVudHJlIgogCi0jOiBidWlsdGlucy5jOjE1NjMKKyM6IGJ1aWx0aW5zLmM6MTU3OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTM2MTgsNyArMzYzOSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1ODAKKyM6IGJ1aWx0aW5zLmM6MTU5NgogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKQEAgLTM2MzAsNyArMzY1MSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiRXhwYW5kZSBlIGV4ZWN1dGEgQ09NQU5ET1MgZW5xdWFudG8gbyBjb21hbmRvIGZpbmFsIG5vcyIKIAotIzogYnVpbHRpbnMuYzoxNTkyCisjOiBidWlsdGlucy5jOjE2MDgKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKQEAgLTM2NDIsNyArMzY2Myw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiRXhwYW5kZSBlIGV4ZWN1dGEgQ09NQU5ET1MgZW5xdWFudG8gbyBjb21hbmRvIGZpbmFsIG5vcyIKIAotIzogYnVpbHRpbnMuYzoxNjA0CisjOiBidWlsdGlucy5jOjE2MjAKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtMzY1NSw3ICszNjc2LDcgQEAKICIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjE4CisjOiBidWlsdGlucy5jOjE2MzQKIG1zZ2lkICIiCiAiRGVmaW5lIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2NjksNyArMzY5MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyByZWFkb25seS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjMyCisjOiBidWlsdGlucy5jOjE2NDgKICMsIGZ1enp5CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKQEAgLTM2ODEsNyArMzcwMiw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiRXhlY3V0YSB1bSBjb25qdW50byBkZSBjb21hbmRvcyBhZ3J1cGFuZG8tb3MuICBFc3RhIOkgdW1hIGZvcm1hIGRlIgogCi0jOiBidWlsdGlucy5jOjE2NDQKKyM6IGJ1aWx0aW5zLmM6MTY2MAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzY5NSw3ICszNzE2LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSByZXN1bWVkIGpvYi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjU5CisjOiBidWlsdGlucy5jOjE2NzUKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTM3MDYsNyArMzcyNyw3IEBACiAiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NzEKKyM6IGJ1aWx0aW5zLmM6MTY4NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzczNCw3ICszNzU1LDcgQEAKICIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2OTcKKyM6IGJ1aWx0aW5zLmM6MTcxMwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTM3ODgsNyArMzgwOSw3IEBACiAiICAgIFx0XHRjb21tYW5kcyBzaG91bGQgYmUgc2F2ZWQgb24gdGhlIGhpc3RvcnkgbGlzdC5cbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3NTQKKyM6IGJ1aWx0aW5zLmM6MTc3MAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzgxOSw3ICszODQwLDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE3ODgKKyM6IGJ1aWx0aW5zLmM6MTgwNAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zODQ2LDcgKzM4NjcsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTgxOAorIzogYnVpbHRpbnMuYzoxODM0CiBtc2dpZCAiIgogIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM4NzUsNyArMzg5Niw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NDcKKyM6IGJ1aWx0aW5zLmM6MTg2MwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzg5Niw3ICszOTE3LDcgQEAKICIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODY4CisjOiBidWlsdGlucy5jOjE4ODQKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtMzkxOSw2ICszOTQwLDkgQEAKICIgICAgXG4iCiAiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgogIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgpAQCAtMzkyNiw3ICszOTUwLDcgQEAKICIgICAgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4OTUKKyM6IGJ1aWx0aW5zLmM6MTkxMwogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC0zOTUzLDcgKzM5NzcsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTIzCisjOiBidWlsdGlucy5jOjE5NDEKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzk2NiwxMyArMzk5MCwxMyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTM4CisjOiBidWlsdGlucy5jOjE5NTYKIG1zZ2lkICIiCiAiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgogIiAgICBcbiIKICIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCiAic3VwcGxpZWQsXG4iCi0iICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWdpbiBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVubSwgIgorIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVpbmcgZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbiwgIgogInByaW50XG4iCiAiICAgIHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uICIKICJzcGVjaWZpY2F0aW9uLlxuIgpAQCAtMzk5Nyw3ICs0MDIxLDcgQEAKICIgICAgaGF2ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBkZWZpbmVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5NjgKKyM6IGJ1aWx0aW5zLmM6MTk4NgogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCkBAIC00MDI1LDcgKzQwNDksOCBAQAogIiAgICBcbiIKICIgICAgSWYgLUMgaXMgc3VwcGxpZWQgd2l0aG91dCAtYywgdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLiAgV2hlblxuIgogIiAgICBDQUxMQkFDSyBpcyBldmFsdWF0ZWQsIGl0IGlzIHN1cHBsaWVkIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBhcnJheVxuIgotIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuXG4iCisiICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudFxuIgorIiAgICBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZICIKICJiZWZvcmVcbiIKQEAgLTQwMzcsNyArNDA2Miw3IEBACiAiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjIwMDEKKyM6IGJ1aWx0aW5zLmM6MjAyMAogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpkaWZmIC0tZ2l0IGEvcG8vcm8uZ21vIGIvcG8vcm8uZ21vCmluZGV4IGQzYzcwMGMuLmQxOTE5N2EgMTAwNjQ0Ci0tLSBhL3BvL3JvLmdtbworKysgYi9wby9yby5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vcm8ucG8gYi9wby9yby5wbwppbmRleCBiNTU0ZmI3Li41YjY5OTk4IDEwMDY0NAotLS0gYS9wby9yby5wbworKysgYi9wby9yby5wbwpAQCAtNiw3ICs2LDcgQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCAyLjBcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDExLTAxLTI4IDIyOjA5LTA1MDBcbiIKICJQTy1SZXZpc2lvbi1EYXRlOiAxOTk3LTA4LTE3IDE4OjQyKzAzMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEV1Z2VuIEhvYW5jYSA8ZXVnZW5oQHVyYmFuLWdyYWZ4LnJvPlxuIgogIkxhbmd1YWdlLVRlYW06IFJvbWFuaWFuIDx0cmFuc2xhdGlvbi10ZWFtLXJvQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKQEAgLTE4LDcgKzE4LDcgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJpbmNsdXppdW5lIGdyZbppdOMg7m4gaW50ZXJ2YWwiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTM4LDI2ICszOCwyNiBAQAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6MzgzCisjOiBiYXNoaGlzdC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBudSBzLWEgcHV0dXQgY3JlYTogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQ1NworIzogYmFzaGxpbmUuYzozNDk4CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzU0MworIzogYmFzaGxpbmUuYzozNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiIKIAotIzogYmFzaGxpbmUuYzozNTcyCisjOiBiYXNobGluZS5jOjM2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzYwNgorIzogYmFzaGxpbmUuYzozNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiIgpAQCAtMTE3LDI2ICsxMTcsMTEgQEAKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQotbXNnaWQgIiIKLSIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKLSIgICAgIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Ci1tc2dpZCAiIgotIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgotIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCi0iICAgIFxuIgotIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCi0iICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyMzUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgogbXNnc3RyICIiCiAKQEAgLTE1NSwxMSArMTQwLDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICJwcmVhIG11bP5pIHBhcmFtZXRyaSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NDk5IHNoZWxsLmM6NzgyCisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo1MDAgc2hlbGwuYzo3ODIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIm9w/ml1bmVhIG5lY2VzaXTjIHVuIHBhcmFtZXRydTogLSIKQEAgLTE5OSw3ICsxODQsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAibnVt43IgZGUgc2VtbmFsIGludmFsaWQiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMzYyCiAjLCBmdXp6eQogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICJudW3jciBkZSBzZW1uYWwgaW52YWxpZCIKQEAgLTMxMiwyNiArMjk3LDI2IEBACiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjIKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAogIywgZnV6enkKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgInBvYXRlIGZpIGZvbG9zaXQgZG9hciDubnRyLW8gZnVuY/5pZSwgumkgZmFjZSBjYSB2YXJpYWJpbGEgTlVNRSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjYKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiBmdW5j/mllIGRvYXIg7m4gY2l0aXJlIChyZWFkb25seSkiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IG51IHNlIHBvYXRlIGFzaWduYSDubiBhY2VzdCBtb2QiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIiCkBAIC0zNjAsMjkgKzM0NSwyOSBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6IG51IHMtYSBwdXR1dCBjcmVhOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAotIzogc2hlbGwuYzoxNDUyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNSBidWlsdGlucy9oYXNoLmRlZjoxNzEgZXhlY3V0ZV9jbWQuYzo0OTYxCisjOiBzaGVsbC5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogZXN0ZSBkaXJlY3RvciIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlczogbnUgc2UgcG9hdGUgZXhlY3V0YSBmabppZXJ1bCBiaW5hciIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDcKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKLSM6IHNoZWxsLmM6MTQ2MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczogbnUgc2UgcG9hdGUgZXhlY3V0YSBmabppZXJ1bCBiaW5hciIKIAotIzogYnVpbHRpbnMvZXhlYy5kZWY6MjEyCisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlOiAlcyIKIG1zZ3N0ciAiJXM6IG51IHMtYSBwdXR1dCBjcmVhOiAlcyIKQEAgLTQxMSwxMSArMzk2LDExIEBACiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGNvbWFuZOMgbmVn43NpdOMiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzcwCisjOiBidWlsdGlucy9mYy5kZWY6MzgwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKIG1zZ3N0ciAiJXM6IG51IHMtYSBwdXR1dCBjcmVhOiAlcyIKQEAgLTQ0OCw3ICs0MzMsNyBAQAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0CisjOiBidWlsdGlucy9oYXNoLmRlZjoyNDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKIG1zZ3N0ciAidWx0aW1hIGNvbWFuZOMuIgpAQCAtNTA1LDc4ICs0OTAsODggQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAorIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjEKICMsIGZ1enp5CiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAiRXJvYXJlIG5lY3Vub3NjdXTjICVkIgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJzZSBhunRlYXB04yBleHByZXNpZSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNzIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiJXM6IHZhcmlhYmls4yBm43LjIGxpbWl04yIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU2IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjQgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjczIGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxMQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJWMlYzogb3D+aXVuZSBpbnZhbGlk4yIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJWMlYzogb3D+aXVuZSBpbnZhbGlk4yIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIm51beNyIGRlIHNlbW5hbCBpbnZhbGlkIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogIywgZnV6enkKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICIlczogdmFyaWFiaWzjIGbjcuMgbGltaXTjIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM1NAogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgdGltZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJWMlYzogb3D+aXVuZSBpbnZhbGlk4yIKKworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CisjOiBidWlsdGlucy9wcmludGYuZGVmOjY2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiIgogCisjOiBidWlsdGlucy9wcmludGYuZGVmOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIHVuaWNvZGUgZGlnaXQgZm9yIFxcJWMiCittc2dzdHIgIiIKKwogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQogIywgZnV6enkKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCkBAIC02NzksMjIgKzY3NCwyMiBAQAogbXNnaWQgImNhbiBvbmx5IGByZXR1cm4nIGZyb20gYSBmdW5jdGlvbiBvciBzb3VyY2VkIHNjcmlwdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjc2OAorIzogYnVpbHRpbnMvc2V0LmRlZjo3NzEKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUiCiBtc2dzdHIgInBvYXRlIGZpIGZvbG9zaXQgZG9hciDubnRyLW8gZnVuY/5pZSwgumkgZmFjZSBjYSB2YXJpYWJpbGEgTlVNRSIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MDUKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODA4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0IgogbXNnc3RyICIlczogbnUgcy1hIHB1dHV0IGNyZWE6ICVzIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgxMgorIzogYnVpbHRpbnMvc2V0LmRlZjo4MTUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgogbXNnc3RyICIlczogbnUgcy1hIHB1dHV0IGNyZWE6ICVzIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgyMworIzogYnVpbHRpbnMvc2V0LmRlZjo4MjYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiB2YXJpYWJpbOMgZuNy4yBsaW1pdOMiCkBAIC03MDksMjAgKzcwNCwyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJzaGlmdCBbbl0iCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBjb21hbmTjIG5lZ+NzaXTjIgpAQCAtNzY2LDI3ICs3NjEsMjcgQEAKIG1zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6MzcyCisjOiBidWlsdGlucy91bGltaXQuZGVmOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW1pdCBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGJhZCBjb21tYW5kIgogbXNnc3RyICIlYyVjOiBvcP5pdW5lIGludmFsaWTjIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQyNworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MzEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IG51IHMtYSBwdXR1dCBjcmVhOiAlcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiAjLCBmdXp6eQogbXNnaWQgImxpbWl0IgogbXNnc3RyICJsaW1pdOMgQ1BVIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQ2NSBidWlsdGlucy91bGltaXQuZGVmOjc2NQorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjkgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IG51IHMtYSBwdXR1dCBjcmVhOiAlcyIKQEAgLTg0NywxMDkgKzg0MiwxMTQgQEAKIAogIzogZXZhbC5jOjE4MQogIywgZnV6enksIGMtZm9ybWF0Ci1tc2dpZCAiB3RpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKK21zZ2lkICJcYXRpbWVkIG91dCB3YWl0aW5nIGZvciBpbnB1dDogYXV0by1sb2dvdXRcbiIKIG1zZ3N0ciAiJWNhIGV4cGlyYXQgYbp0ZXB04m5kIGludHJvZHVjZXJlIGRlIGRhdGU6IGF1dG8tbG9nb3V0XG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwNzUKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQogIywgZnV6enkKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJlcm9hcmUgZGUgbGVn43R1cuMgKHBpcGUpOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDgxCisjOiBleGVjdXRlX2NtZC5jOjQ2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczogbGltaXRhdDogbnUgc2UgcG9hdGUgc3BlY2lmaWNhIGAvJyDubiBudW1lbGUgY29tZW56aWxvciIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NTcyCisjOiBleGVjdXRlX2NtZC5jOjQ3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczogY29tYW5k4yBuZWfjc2l04yIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODI3CisjOiBleGVjdXRlX2NtZC5jOjQ5NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk5NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiBlc3RlIGRpcmVjdG9yIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NzYKKyM6IGV4ZWN1dGVfY21kLmM6NTE0NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAibnUgc2UgcG9hdGUgZHVwbGljYSBmZCAlZCDubiBmZCAwOiAlcyIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICJuaXZlbCBkZSByZWN1cnNpdml0YXRlIGFsIGV4cHJlc2llaSBkZXDjuml0IgogCi0jOiBleHByLmM6MjY1CisjOiBleHByLmM6MjgwCiAjLCBmdXp6eQogbXNnaWQgInJlY3Vyc2lvbiBzdGFjayB1bmRlcmZsb3ciCiBtc2dzdHIgIlN0aXbjIHJlY3Vyc2l2aXRhdGUgcHJlYSBwdf5pbiBmb2xvc2l04yh1bmRlcmZsb3cpIgogCi0jOiBleHByLmM6Mzc5CisjOiBleHByLmM6NDIyCiBtc2dpZCAic3ludGF4IGVycm9yIGluIGV4cHJlc3Npb24iCiBtc2dzdHIgImVyb2FyZSBkZSBzaW50YXjjIO5uIGV4cHJlc2llICIKIAotIzogZXhwci5jOjQxOQorIzogZXhwci5jOjQ2MwogbXNnaWQgImF0dGVtcHRlZCBhc3NpZ25tZW50IHRvIG5vbi12YXJpYWJsZSIKIG1zZ3N0ciAicy1hIO5uY2VyY2F0IGFzaWduYXJlIGPjdHJlIG5vbi12YXJpYWJpbOMiCiAKLSM6IGV4cHIuYzo0NDAgZXhwci5jOjQ0NSBleHByLmM6NzU2CisjOiBleHByLmM6NDg2IGV4cHIuYzo0OTEgZXhwci5jOjgwNwogbXNnaWQgImRpdmlzaW9uIGJ5IDAiCiBtc2dzdHIgIu5tcONy/mlyZSBsYSAwIgogCi0jOiBleHByLmM6NDcxCisjOiBleHByLmM6NTE3CiAjLCBmdXp6eQogbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKIG1zZ3N0ciAiYnVnOiBpZGVudGlmaWNhdG9yKHRva2VuKSBleHBhc3NpZ24gZ3Jluml0ICVkIgogCi0jOiBleHByLmM6NTEzCisjOiBleHByLmM6NTY0CiBtc2dpZCAiYDonIGV4cGVjdGVkIGZvciBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICJgOicgYbp0ZXB0YXQgZHVw4yBleHByZXNpZSBjb25kaf5pb25hbOMiCiAKLSM6IGV4cHIuYzo3ODEKKyM6IGV4cHIuYzo4MzIKIG1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJgKScgbGlwc+MiCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKICMsIGZ1enp5CiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJlcm9hcmUgZGUgc2ludGF44zogc2bicrppdCBkZSBmabppZXIgbmVhunRlcHRhdCIKIAotIzogZXhwci5jOjExNzgKKyM6IGV4cHIuYzoxMjg0CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEyMDIKKyM6IGV4cHIuYzoxMzA4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIlczogJXM6ICVzIChpZGVudGlmaWNhdG9ydWwgZXJvcmlpIGVzdGUgXCIlc1wiKVxuIgogCi0jOiBleHByLmM6MTI2MAorIzogZXhwci5jOjEzNjYKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI4MAorIzogZXhwci5jOjEzODYKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgInZhbG9hcmUgcHJlYSBtYXJlIHBlbnRydSBiYXrjIgogCi0jOiBleHByLmM6MTMyOQorIzogZXhwci5jOjE0MzUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgImVyb2FyZSBkZSByZWRpcmVjdGFyZSIKQEAgLTk1OSwxNjcgKzk1OSwxNjcgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICJnZXR3ZDogbnUgcy1hdSBwdXR1dCBhY2Nlc2EgZGlyZWN0b2FyZWxlIHDjcmludGUiCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NTA4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBpbnB1dC5jOjI1OAorIzogaW5wdXQuYzoyNjAKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCiBtc2dzdHIgIiIKICJudSBzZSBwb2F0ZSBhbG9jYSBkZXNjcmlwdG9yIGRlIGZpumllciBub3UgcGVudHJ1IGlucHV0dWwgYmFzaCBkaW4gZmQgJWQ6ICVzIgogCi0jOiBpbnB1dC5jOjI2NgorIzogaW5wdXQuYzoyNjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGFscmVhZHkgZXhpc3RzIGZvciBuZXcgZmQgJWQiCiBtc2dzdHIgImNoZWNrX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBkZWphIGV4aXN0ZW50IHBlbnRydSBmZCBub3UgJWQiCiAKLSM6IGpvYnMuYzo0NjYKKyM6IGpvYnMuYzo0NjgKIG1zZ2lkICJzdGFydF9waXBlbGluZTogcGdycCBwaXBlIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzo4ODcKKyM6IGpvYnMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ya2VkIHBpZCAlZCBhcHBlYXJzIGluIHJ1bm5pbmcgam9iICVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxMDA1CisjOiBqb2JzLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyBzdG9wcGVkIGpvYiAlZCB3aXRoIHByb2Nlc3MgZ3JvdXAgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxMTEwCisjOiBqb2JzLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxMTEzCisjOiBqb2JzLmM6MTExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MDEKKyM6IGpvYnMuYzoxNDMwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCiBtc2dzdHIgImRlc2NyaWJlX3BpZDogTnUgZXhpc3TjIHBpZC11bCAoJWQpIVxuIgogCi0jOiBqb2JzLmM6MTQxNgorIzogam9icy5jOjE0NDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKIG1zZ3N0ciAiU2VtbmFsIE5lY3Vub3NjdXQgIyVkIgogCi0jOiBqb2JzLmM6MTQzMCBqb2JzLmM6MTQ1NQorIzogam9icy5jOjE0NTkgam9icy5jOjE0ODQKIG1zZ2lkICJEb25lIgogbXNnc3RyICJGaW5hbGl6YXQiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJTdG9wYXQiCiAKLSM6IGpvYnMuYzoxNDM5CisjOiBqb2JzLmM6MTQ2OAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCglcykiCiBtc2dzdHIgIlN0b3BhdCIKIAotIzogam9icy5jOjE0NDMKKyM6IGpvYnMuYzoxNDcyCiBtc2dpZCAiUnVubmluZyIKIG1zZ3N0ciAizm4gcnVsYXJlIgogCi0jOiBqb2JzLmM6MTQ1NworIzogam9icy5jOjE0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCiBtc2dzdHIgIkZpbmFsaXphdCglZCkiCiAKLSM6IGpvYnMuYzoxNDU5CisjOiBqb2JzLmM6MTQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeGl0ICVkIgogbXNnc3RyICJJZbppcmUgJWQiCiAKLSM6IGpvYnMuYzoxNDYyCisjOiBqb2JzLmM6MTQ5MQogbXNnaWQgIlVua25vd24gc3RhdHVzIgogbXNnc3RyICJTdGFyZSBuZWN1bm9zY3V04yIKIAotIzogam9icy5jOjE1NDkKKyM6IGpvYnMuYzoxNTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihjb3JlIGR1bXBlZCkgIgogbXNnc3RyICIoY29yZSBkdW1wZWQpICIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIgICh3ZDogJXMpIgogbXNnc3RyICIod2QgYWN0dWFsOiAlcylcbiIKIAotIzogam9icy5jOjE3NzYKKyM6IGpvYnMuYzoxODA1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKIG1zZ3N0ciAic2V0cGdpZCBjb3BpbCAoZGUgbGEgJWQgbGEgJWQpIGEg7m504mxuaXQgbyBlcm9hcmUgJWQ6ICVzXG4iCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgImG6dGVwdGH+aTogcGlkLXVsICVkIG51IGVzdGUgcmV6dWx0YXQoY2hpbGQpIGFsIGFjZXN0dWkgc2hlbGwiCiAKLSM6IGpvYnMuYzoyMzMxCisjOiBqb2JzLmM6MjM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogam9idWwgYSBmb3N0IHRlcm1pbmF0IgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjMwNTkKKyM6IGpvYnMuYzozMDg5CiBtc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTA4CisjOiBqb2JzLmM6MzUzOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAic2xvdCAlM2Q6ICIKIAotIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiAoY29yZSBkdW1wZWQpIgogCi0jOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NworIzogam9icy5jOjM1NjQgam9icy5jOjM1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIih3ZCBhY3R1YWw6ICVzKVxuIgogCi0jOiBqb2JzLmM6MzU3OQorIzogam9icy5jOjM2MDkKICMsIGZ1enp5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iczogZ2V0cGdycCBlunVhdDogJXMiCiAKLSM6IGpvYnMuYzozNjM5CisjOiBqb2JzLmM6MzY2OQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgImluaXRpYWxpemVfam9iczogZGlzY2lwbGlu4yBsaW5pZTogJXMiCiAKLSM6IGpvYnMuYzozNjQ5CisjOiBqb2JzLmM6MzY3OQogIywgZnV6enkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYnM6IGdldHBncnAgZbp1YXQ6ICVzIgogCi0jOiBqb2JzLmM6MzY3NworIzogam9icy5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2ODIKKyM6IGpvYnMuYzozNzEyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAibmljaSB1biBjb250cm9sIGRlIGpvYiDubiBhY2VzdCBzaGVsbCIKIApAQCAtMTI3MiwxMDMgKzEyNzIsMTAzIEBACiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQorIzogcGFyc2UueTozMTczIHBhcnNlLnk6MzQ0NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAiRU9GIGJydXNjIO5uIGPjdXRhcmUgZHVw4yBgJWMnIgogCi0jOiBwYXJzZS55OjM5NTEKKyM6IHBhcnNlLnk6NDAyNQogIywgZnV6enkKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICJFT0YgYnJ1c2Mg7m4gY+N1dGFyZSBkdXDjIGAlYyciCiAKLSM6IHBhcnNlLnk6Mzk1NgorIzogcGFyc2UueTo0MDMwCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJlcm9hcmUgZGUgc2ludGF44yBuZWG6dGVwdGF04yBs4m5n4yBgJXMnIgogCi0jOiBwYXJzZS55OjM5NjAKKyM6IHBhcnNlLnk6NDAzNAogIywgZnV6enkKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiZXJvYXJlIGRlIHNpbnRheOMg7m4gZXhwcmVzaWUgIgogCi0jOiBwYXJzZS55OjQwMzgKKyM6IHBhcnNlLnk6NDExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQwNDIKKyM6IHBhcnNlLnk6NDExNgogIywgZnV6enkKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgInNlIGG6dGVhcHTjIGApJyIKIAotIzogcGFyc2UueTo0MDcwCisjOiBwYXJzZS55OjQxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxMjAKKyM6IHBhcnNlLnk6NDE5NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBzZSBhunRlYXB04yBvcGVyYXRvciBiaW5hciIKIAotIzogcGFyc2UueTo0MTI0CisjOiBwYXJzZS55OjQxOTgKICMsIGZ1enp5CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogc2UgYbp0ZWFwdOMgb3BlcmF0b3IgYmluYXIiCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTUwCisjOiBwYXJzZS55OjQyMjQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNjEKKyM6IHBhcnNlLnk6NDIzNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImA6JyBhunRlcHRhdCBkdXDjIGV4cHJlc2llIGNvbmRp/mlvbmFs4yIKIAotIzogcGFyc2UueTo0MTY0CisjOiBwYXJzZS55OjQyMzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJgOicgYbp0ZXB0YXQgZHVw4yBleHByZXNpZSBjb25kaf5pb25hbOMiCiAKLSM6IHBhcnNlLnk6NDE2OAorIzogcGFyc2UueTo0MjQyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImA6JyBhunRlcHRhdCBkdXDjIGV4cHJlc2llIGNvbmRp/mlvbmFs4yIKIAotIzogcGFyc2UueTo1NDU5CisjOiBwYXJzZS55OjU1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJlcm9hcmUgZGUgc2ludGF44yBuZWG6dGVwdGF04yBs4m5n4yBgJXMnIgogCi0jOiBwYXJzZS55OjU0NzcKKyM6IHBhcnNlLnk6NTU4NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiZXJvYXJlIGRlIHNpbnRheOMgbmVhunRlcHRhdOMgbOJuZ+MgYCVzJyIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImVyb2FyZSBkZSBzaW50YXjjOiBzZuJyuml0IGRlIGZpumllciBuZWG6dGVwdGF0IgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvciIKIG1zZ3N0ciAiZXJvYXJlIGRlIHNpbnRheOMiCiAKLSM6IHBhcnNlLnk6NTU0OQorIzogcGFyc2UueTo1NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJGb2xvc2n+aSBcIiVzXCIgcGVudHJ1IGEgcONy43NpIHNoZWxsdWwuXG4iCiAKLSM6IHBhcnNlLnk6NTcxMQorIzogcGFyc2UueTo1ODE4CiAjLCBmdXp6eQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAiRU9GIGJydXNjIO5uIGPjdXRhcmUgZHVw4yBgJWMnIgpAQCAtMTM3OCw3OCArMTM3OCw3OCBAQAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICIiCiAKLSM6IHBjb21wbGliLmM6MTc5CisjOiBwY29tcGxpYi5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjI5MAorIzogcHJpbnRfY21kLmM6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogY29uZWN0b3IgZ3Jluml0ciBgJWQnIgogCi0jOiBwcmludF9jbWQuYzozNjMKKyM6IHByaW50X2NtZC5jOjM2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MzY4CisjOiBwcmludF9jbWQuYzozNzMKIG1zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzozNzIKKyM6IHByaW50X2NtZC5jOjM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MTQ2MQorIzogcHJpbnRfY21kLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMTAKKyM6IHJlZGlyLmM6MTIyCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE2NgorIzogcmVkaXIuYzoxNzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiVzOiBSZWRpcmVjdGFyZSBhbWJpZ3XjIgogCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBudSBzZSBwb2F0ZSBhY2Nlc2EoY2xvYmJlcikgZmm6aWVydWwgZXhpc3RlbnQiCiAKLSM6IHJlZGlyLmM6MTc1CisjOiByZWRpci5jOjE4NwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiBsaW1pdGF0OiBudSBzZSBwb2F0ZSBzcGVjaWZpY2EgYC8nIO5uIG51bWVsZSBjb21lbnppbG9yIgogCi0jOiByZWRpci5jOjE4MAorIzogcmVkaXIuYzoxOTIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAibnUgcG90IGZhY2UgbGVn43R1cuMgKHBpcGUpIHBlbnRydSBzdWJzdGl0df5pYSBwcm9jZXN1bHVpOiAlcyIKIAotIzogcmVkaXIuYzoxODQKKyM6IHJlZGlyLmM6MTk2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKIG1zZ3N0ciAiJXM6IG51IHBvdCBhc2lnbmEgbGlzdOMgbWVtYnJ1bHVpIGludGVydmFsdWx1aSIKIAotIzogcmVkaXIuYzo1NDQKKyM6IHJlZGlyLmM6NTQ4CiBtc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTEwMQorIzogcmVkaXIuYzo4MTggcmVkaXIuYzo5MzAgcmVkaXIuYzo5OTMgcmVkaXIuYzoxMTM2CiAjLCBmdXp6eQogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICJlcm9hcmUgZGUgcmVkaXJlY3RhcmUiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MzM2CisjOiBzaGVsbC5jOjMzNwogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICIiCiAKQEAgLTE0NTgsMTYgKzE0NTgsMTYgQEAKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogb3D+aXVuZSBpbnZhbGlk4yIKIAotIzogc2hlbGwuYzoxNjUxCisjOiBzaGVsbC5jOjE2NTIKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIk51IGFtIG5pY2kgdW4gbnVtZSEiCiAKLSM6IHNoZWxsLmM6MTc5MworIzogc2hlbGwuYzoxNzk1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSAlcywgdmVyc2l1bmVhICVzXG4iCiAKLSM6IHNoZWxsLmM6MTc5NAorIzogc2hlbGwuYzoxNzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgpAQCAtMTQ3Niw0NCArMTQ3Niw0NCBAQAogIkZvbG9zaXJlOlx0JXMgW0dOVSBvcP5pdW5lIGx1bmfjXSBbb3D+aXVuZV0gLi4uXG4iCiAiXHQlcyBbR05VIG9w/ml1bmUgbHVuZ+NdIFtvcP5pdW5lXSBmabppZXIgc2NyaXB0IC4uLlxuIgogCi0jOiBzaGVsbC5jOjE3OTYKKyM6IHNoZWxsLmM6MTc5OAogbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCiBtc2dzdHIgIm9w/ml1bmkgbHVuZ2kgR05VOlxuIgogCi0jOiBzaGVsbC5jOjE4MDAKKyM6IHNoZWxsLmM6MTgwMgogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIk9w/ml1bmkgYWxlIHNoZWxsLXVsdWk6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODAzCiAjLCBmdXp6eQogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCBzYXUgLWMgY29tYW5k41x0XHQoZG9hciBpbnZvY2H+aWUpXG4iCiAKLSM6IHNoZWxsLmM6MTgxNgorIzogc2hlbGwuYzoxODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyBzYXUgLW8gb3D+aXVuZVxuIgogCi0jOiBzaGVsbC5jOjE4MjIKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKICJBcONzYf5pIGAlcyAtYyBcInNldC1hanV0b3JcIicgcGVudHJ1IG1haSBtdWx0ZSBpbmZvcm1h/mlpIGRlc3ByZSBvcP5pdW5pbGUgIgogInNoZWxsLXVsdWkuXG4iCiAKLSM6IHNoZWxsLmM6MTgyMworIzogc2hlbGwuYzoxODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiBtc2dzdHIgIiIKICJBcONzYf5pIGAlcyAtYyBhanV0b3InIHBlbnRydSBtYWkgbXVsdGUgaW5mb3JtYf5paSBkZXNwcmUgY29tZW56aWxlIGludGVybmUgIgogImFsZSBzaGVsbC11bHVpLlxuIgogCi0jOiBzaGVsbC5jOjE4MjQKKyM6IHNoZWxsLmM6MTgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNpZy5jOjYyNgorIzogc2lnLmM6NjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgIiIKQEAgLTE2ODcsODggKzE2ODcsODggQEAKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIlNlbW5hbCBOZWN1bm9zY3V0ICMlZCIKIAotIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJzdWJzdGl0df5pZSBpbnZhbGlk4zogbnUgZXhpc3TjICclcycg7m4gJXMiCiAKLSM6IHN1YnN0LmM6MjczNQorIzogc3Vic3QuYzoyNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogbnUgcG90IGFzaWduYSBsaXN04yBtZW1icnVsdWkgaW50ZXJ2YWx1bHVpIgogCi0jOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCisjOiBzdWJzdC5jOjQ5Nzkgc3Vic3QuYzo0OTk1CiAjLCBmdXp6eQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJudSBwb3QgZmFjZSBsZWfjdHVy4yAocGlwZSkgcGVudHJ1IHN1YnN0aXR1/mlhIHByb2Nlc3VsdWk6ICVzIgogCi0jOiBzdWJzdC5jOjQ4MDIKKyM6IHN1YnN0LmM6NTAyNwogIywgZnV6enkKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm51IHBvdCBjcmVhIHVuIHByb2NlcyBjb3BpbCBwZW50cnUgc3Vic3RpdHVpcmVhIHByb2Nlc3VsdWk6ICVzIgogCi0jOiBzdWJzdC5jOjQ4NDcKKyM6IHN1YnN0LmM6NTA3MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAibnUgcG90IGRlc2NoaWRlIGxlZ+N0dXJhIG51bWl04yAlcyBwZW50cnUgJXM6ICVzIgogCi0jOiBzdWJzdC5jOjQ4NDkKKyM6IHN1YnN0LmM6NTA3NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAibnUgcG90IGRlc2NoaWRlIGxlZ+N0dXJhIG51bWl04yAlcyBwZW50cnUgJXM6ICVzIgogCi0jOiBzdWJzdC5jOjQ4NjcKKyM6IHN1YnN0LmM6NTA5MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBuYW1lZCBwaXBlICVzIGFzIGZkICVkIgogbXNnc3RyICJudSBzZSBwb2F0ZSBkdXBsaWNhIGxlZ+N0dXJhIG51bWl04yAlcyBjYSBmZCAlZDogJXMgIgogCi0jOiBzdWJzdC5jOjUwNjMKKyM6IHN1YnN0LmM6NTI4NAogIywgZnV6enkKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibnUgcG90IGZhY2UgbGVn43R1cmkocGlwZXMpIHBlbnRydSBzdWJzdGl0df5pYSBkZSBjb21lbnppOiAlcyIKIAotIzogc3Vic3QuYzo1MDk3CisjOiBzdWJzdC5jOjUzMjIKICMsIGZ1enp5CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJudSBwb3QgY3JlYSB1biBjb3BpbCBwZW50cnUgc3Vic3RpdHX+aWEgZGUgY29tZW56aTogJXMiCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiAjLCBmdXp6eQogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTogbnUgc2UgcG9hdGUgZHVwbGljYSBsZWfjdHVyYSAocGlwZSkgY2EgZmQgMTogJXMiCiAKLSM6IHN1YnN0LmM6NTYxNworIzogc3Vic3QuYzo1ODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBwYXJhbWV0ZXIgbnVsbCBvciBub3Qgc2V0IgogbXNnc3RyICIlczogcGFyYW1ldHJ1IG51bGwgc2F1IG5lc2V0YXQiCiAKLSM6IHN1YnN0LmM6NTkwNworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIlczogZXhwcmVzaWUgc3ViumlyIDwgMCIKIAotIzogc3Vic3QuYzo2OTY1CisjOiBzdWJzdC5jOjcyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBzdWJzdGl0df5pZSBpbnZhbGlk4yIKIAotIzogc3Vic3QuYzo3MDQ1CisjOiBzdWJzdC5jOjczNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IG51IHNlIHBvYXRlIGFzaWduYSDubiBhY2VzdCBtb2QiCiAKLSM6IHN1YnN0LmM6NzM3NAorIzogc3Vic3QuYzo3Njg0CiBtc2dpZCAiIgogImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgogInN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjc4MzkKKyM6IHN1YnN0LmM6ODE0OQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKIG1zZ3N0ciAic3Vic3RpdHX+aWUgaW52YWxpZOM6IG51IGV4aXN04yAnKScgZGUgZmluYWwg7m4gJXMiCiAKLSM6IHN1YnN0LmM6ODcyMAorIzogc3Vic3QuYzo5MDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiIgpAQCAtMTc5MSwzNyArMTc5MSwzNyBAQAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCiBtc2dzdHIgInNlIGG6dGVhcHTjIGApJywgcy1hIHByaW1pdCAlcyIKIAotIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHNlIGG6dGVhcHTjIG9wZXJhdG9yIHVuYXIiCiAKLSM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBzZSBhunRlYXB04yBvcGVyYXRvciBiaW5hciIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICJsaXBzZbp0ZSAnXSciCiAKLSM6IHRyYXAuYzoyMDMKKyM6IHRyYXAuYzoyMDcKICMsIGZ1enp5CiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJudW3jciBkZSBzZW1uYWwgaW52YWxpZCIKIAotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgIiIKIAotIzogdHJhcC5jOjM4MAorIzogdHJhcC5jOjM5MwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXI6IFNlbW5hbCBpbnZhbGlkICVkIgpAQCAtMTgzMSw1OCArMTgzMSw1OCBAQAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICJlcm9hcmUg7m4gaW1wb3J0YXJlYSBkZWZpbmn+aWVpIGZ1bmP+aWVpIHBlbnRydSAnJXMnIgogCi0jOiB2YXJpYWJsZXMuYzo3NDgKKyM6IHZhcmlhYmxlcy5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzoxOTE1CisjOiB2YXJpYWJsZXMuYzoxOTMyCiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMxNTkKKyM6IHZhcmlhYmxlcy5jOjMxODIKIG1zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM3NgorIzogdmFyaWFibGVzLmM6MzQyNwogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgogbXNnc3RyICIlczogcGFyYW1ldHJ1IG51bGwgc2F1IG5lc2V0YXQiCiAKLSM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAorIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM5NgorIzogdmFyaWFibGVzLmM6MzQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODM1CisjOiB2YXJpYWJsZXMuYzozODkxCiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4NDgKKyM6IHZhcmlhYmxlcy5jOjM5MDQKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozOTIyCisjOiB2YXJpYWJsZXMuYzozOTc4CiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6NDY3OAorIzogdmFyaWFibGVzLmM6NDc4NgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgogbXNnc3RyICIlczogbnUgcy1hIHB1dHV0IGNyZWE6ICVzIgogCi0jOiB2YXJpYWJsZXMuYzo0NjgzCisjOiB2YXJpYWJsZXMuYzo0NzkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgogbXNnc3RyICIiCiAKICM6IHZlcnNpb24uYzo0NgotbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiIgogCiAjOiB2ZXJzaW9uLmM6NDcKQEAgLTE5NzUsNyArMTk3NSw3IEBACiAKICM6IGJ1aWx0aW5zLmM6NjQKICMsIGZ1enp5Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKK21zZ2lkICJjZCBbLUx8Wy1QIFstZV1dXSBbZGlyXSIKIG1zZ3N0ciAiY2QgWy1QTF0gW2Rpcl0iCiAKICM6IGJ1aWx0aW5zLmM6NjYKQEAgLTIwMDEsMTIgKzIwMDEsMTIgQEAKIAogIzogYnVpbHRpbnMuYzo3NgogIywgZnV6enkKLW1zZ2lkICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCittc2dpZCAiZGVjbGFyZSBbLWFBZkZnaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKIG1zZ3N0ciAiZGVjbGFyZSBbLWFmRnJ4aV0gWy1wXSBudW1lWz12YWxvYXJlXSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6NzgKICMsIGZ1enp5Ci1tc2dpZCAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKIG1zZ3N0ciAidHlwZXNldCBbLWFmRnJ4aV0gWy1wXSBudW1lWz12YWxvYXJlXSAuLi4iCiAKICM6IGJ1aWx0aW5zLmM6ODAKQEAgLTIxMTQsNyArMjExNCw3IEBACiAKICM6IGJ1aWx0aW5zLmM6MTQwCiAjLCBmdXp6eQotbXNnaWQgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbYXJnIC4uLl0iCittc2dpZCAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCiBtc2dzdHIgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9w/ml1bmVdIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxNDIKQEAgLTIxMjgsNyArMjEyOCw3IEBACiAKICM6IGJ1aWx0aW5zLmM6MTQ2CiAjLCBmdXp6eQotbXNnaWQgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKK21zZ2lkICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgogbXNnc3RyICJyZWFkb25seSBbLWFuZl0gW251bWUgLi4uXSBzYXUgcmVhZG9ubHkgLXAiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4CkBAIC0yNDYzLDE0ICsyNDYzLDE4IEBACiAiICAgICAgICAtTFx0Zm9yY2Ugc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG93ZWRcbiIKICIgICAgICAgIC1QXHR1c2UgdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWNcbiIKICIgICAgXHRsaW5rc1xuIgorIiAgICAgICAgLWVcdGlmIHRoZSAtUCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVxuIgorIiAgICBcdGNhbm5vdCBiZSBkZXRlcm1pbmVkIHN1Y2Nlc3NmdWxseSwgZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzXG4iCiAiICAgIFxuIgogIiAgICBUaGUgZGVmYXVsdCBpcyB0byBmb2xsb3cgc3ltYm9saWMgbGlua3MsIGFzIGlmIGAtTCcgd2VyZSBzcGVjaWZpZWQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKKyIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZCwgYW5kIGlmICRQV0QgaXMgc2V0IHN1Y2Nlc3NmdWxseSAiCisid2hlblxuIgorIiAgICAtUCBpcyB1c2VkOyBub24temVybyBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNDg2LDcgKzI0OTAsNyBAQAogIiAgICBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0MjgKKyM6IGJ1aWx0aW5zLmM6NDMxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCkBAIC0yNDk4LDcgKzI1MDIsNyBAQAogbXNnc3RyICIiCiAiTmljaSB1biBlZmVjdCwgY29tYW5kYSBudSBmYWNlIG5pbWljLiAgVW4gY29kIGRlIGllumlyZSB6ZXJvIGVzdGUgcmV0dXJuYXQuIgogCi0jOiBidWlsdGlucy5jOjQzOQorIzogYnVpbHRpbnMuYzo0NDIKIG1zZ2lkICIiCiAiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgpAQCAtMjUwNiw3ICsyNTEwLDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ0OAorIzogYnVpbHRpbnMuYzo0NTEKIG1zZ2lkICIiCiAiUmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgpAQCAtMjUxNCw3ICsyNTE4LDcgQEAKICIgICAgQWx3YXlzIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ1NworIzogYnVpbHRpbnMuYzo0NjAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjUzMyw3ICsyNTM3LDcgQEAKICIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBDT01NQU5ELCBvciBmYWlsdXJlIGlmIENPTU1BTkQgaXMgbm90IGZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ3NgorIzogYnVpbHRpbnMuYzo0NzkKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCkBAIC0yNTQ0LDYgKzI1NDgsOCBAQAogIiAgICAgIC1mXHRyZXN0cmljdCBhY3Rpb24gb3IgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBhbmQgZGVmaW5pdGlvbnNcbiIKICIgICAgICAtRlx0cmVzdHJpY3QgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBvbmx5IChwbHVzIGxpbmUgbnVtYmVyIGFuZFxuIgogIiAgICBcdHNvdXJjZSBmaWxlIHdoZW4gZGVidWdnaW5nKVxuIgorIiAgICAgIC1nXHRjcmVhdGUgZ2xvYmFsIHZhcmlhYmxlcyB3aGVuIHVzZWQgaW4gYSBzaGVsbCBmdW5jdGlvbjsgb3RoZXJ3aXNlXG4iCisiICAgIFx0aWdub3JlZFxuIgogIiAgICAgIC1wXHRkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZSBvZiBlYWNoIE5BTUVcbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnMgd2hpY2ggc2V0IGF0dHJpYnV0ZXM6XG4iCkBAIC0yNTYzLDIwICsyNTY5LDIwIEBACiAiICAgIFxuIgogIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiAiYGxvY2FsJ1xuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIGAtZycgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MTIKKyM6IGJ1aWx0aW5zLmM6NTE3CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgogIiAgICBPYnNvbGV0ZS4gIFNlZSBgaGVscCBkZWNsYXJlJy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MjAKKyM6IGJ1aWx0aW5zLmM6NTI1CiBtc2dpZCAiIgogIkRlZmluZSBsb2NhbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMjU5MSw3ICsyNTk3LDcgQEAKICIgICAgb3IgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1MzcKKyM6IGJ1aWx0aW5zLmM6NTQyCiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI2MjIsNyArMjYyOCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTcxCisjOiBidWlsdGlucy5jOjU3NgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yNjM1LDcgKzI2NDEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjU4NgorIzogYnVpbHRpbnMuYzo1OTEKIG1zZ2lkICIiCiAiRW5hYmxlIGFuZCBkaXNhYmxlIHNoZWxsIGJ1aWx0aW5zLlxuIgogIiAgICBcbiIKQEAgLTI2NjIsNyArMjY2OCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgYSBzaGVsbCBidWlsdGluIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2MTQKKyM6IGJ1aWx0aW5zLmM6NjE5CiBtc2dpZCAiIgogIkV4ZWN1dGUgYXJndW1lbnRzIGFzIGEgc2hlbGwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNjc0LDcgKzI2ODAsNyBAQAogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIGNvbW1hbmQgb3Igc3VjY2VzcyBpZiBjb21tYW5kIGlzIG51bGwuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NjI2CisjOiBidWlsdGlucy5jOjYzMQogbXNnaWQgIiIKICJQYXJzZSBvcHRpb24gYXJndW1lbnRzLlxuIgogIiAgICBcbiIKQEAgLTI3MTUsNyArMjcyMSw3IEBACiAiICAgIGVuY291bnRlcmVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2NjgKKyM6IGJ1aWx0aW5zLmM6NjczCiBtc2dpZCAiIgogIlJlcGxhY2UgdGhlIHNoZWxsIHdpdGggdGhlIGdpdmVuIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjczOCw3ICsyNzQ0LDcgQEAKICJvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6Njg5CisjOiBidWlsdGlucy5jOjY5NAogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhpdCB0aGUgc2hlbGwuXG4iCkBAIC0yNzQ3LDcgKzI3NTMsNyBAQAogIiAgICBpcyB0aGF0IG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICJJZXNlIGRpbiBzaGVsbCBjdSBzdGFyZWEgbHVpIE4uIERhY+MgTiBlc3RlIG9taXMsIHN0YXJlYSBkZSBpZbppcmUiCiAKLSM6IGJ1aWx0aW5zLmM6Njk4CisjOiBidWlsdGlucy5jOjcwMwogbXNnaWQgIiIKICJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMjc1Niw3ICsyNzYyLDcgQEAKICIgICAgaW4gYSBsb2dpbiBzaGVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3MDgKKyM6IGJ1aWx0aW5zLmM6NzEzCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgZXhlY3V0ZSBjb21tYW5kcyBmcm9tIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMjc4Niw3ICsyNzkyLDcgQEAKICJvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzM4CisjOiBidWlsdGlucy5jOjc0MwogbXNnaWQgIiIKICJNb3ZlIGpvYiB0byB0aGUgZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0yNzk4LDcgKzI4MDQsNyBAQAogIiAgICBTdGF0dXMgb2YgY29tbWFuZCBwbGFjZWQgaW4gZm9yZWdyb3VuZCwgb3IgZmFpbHVyZSBpZiBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogbXNnaWQgIiIKICJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMjgxMiw3ICsyODE4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzY3CisjOiBidWlsdGlucy5jOjc3MgogbXNnaWQgIiIKICJSZW1lbWJlciBvciBkaXNwbGF5IHByb2dyYW0gbG9jYXRpb25zLlxuIgogIiAgICBcbiIKQEAgLTI4MzYsNyArMjg0Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTkFNRSBpcyBub3QgZm91bmQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjg1OCw3ICsyODY0LDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4MTYKKyM6IGJ1aWx0aW5zLmM6ODIxCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTI4OTIsNyArMjg5OCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg1MgorIzogYnVpbHRpbnMuYzo4NTcKIG1zZ2lkICIiCiAiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKICIgICAgXG4iCkBAIC0yOTE2LDcgKzI5MjIsNyBAQAogIiAgICBJZiAteCBpcyB1c2VkLCByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg3OQorIzogYnVpbHRpbnMuYzo4ODQKIG1zZ2lkICIiCiAiUmVtb3ZlIGpvYnMgZnJvbSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI5MzMsNyArMjkzOSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo4OTgKKyM6IGJ1aWx0aW5zLmM6OTAzCiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMjk1NSw3ICsyOTYxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6OTIxCisjOiBidWlsdGlucy5jOjkyNgogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb25zLlxuIgogIiAgICBcbiIKQEAgLTI5OTcsMTAgKzMwMDMsMTAgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjk2NgorIzogYnVpbHRpbnMuYzo5NzEKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgogIiAgICBcbiIKQEAgLTMwNDgsNyArMzA1NCw3IEBACiAiICAgIG9yIGFuIGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIGlzIHN1cHBsaWVkIGFzIHRoZSBhcmd1bWVudCB0byAtdS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDA5CisjOiBidWlsdGlucy5jOjEwMTQKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zMDYwLDcgKzMwNjYsNyBAQAogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CiBtc2dpZCAiIgogIlNldCBvciB1bnNldCB2YWx1ZXMgb2Ygc2hlbGwgb3B0aW9ucyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMxMjksNiArMzEzNSw5IEBACiAiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgogIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCiAiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKICIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKICIgICAgXG4iCkBAIC0zMTQyLDcgKzMxNTEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMDQKKyM6IGJ1aWx0aW5zLmM6MTExMgogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzE2Miw3ICszMTcxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTMxODEsNyArMzE5MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzIwMSw3ICszMjEwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2NAorIzogYnVpbHRpbnMuYzoxMTcyCiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zMjEyLDcgKzMyMjEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZnJvbSBhIGZpbGUgaW4gdGhlIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzIyNiw3ICszMjM1LDcgQEAKICIgICAgRklMRU5BTUUgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNworIzogYnVpbHRpbnMuYzoxMjE1CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTMyNDAsMTQgKzMyNDksMTcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMworIzogYnVpbHRpbnMuYzoxMjMxCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgogIiAgICBFeGl0cyB3aXRoIGEgc3RhdHVzIG9mIDAgKHRydWUpIG9yIDEgKGZhbHNlKSBkZXBlbmRpbmcgb25cbiIKICIgICAgdGhlIGV2YWx1YXRpb24gb2YgRVhQUi4gIEV4cHJlc3Npb25zIG1heSBiZSB1bmFyeSBvciBiaW5hcnkuICBVbmFyeVxuIgogIiAgICBleHByZXNzaW9ucyBhcmUgb2Z0ZW4gdXNlZCB0byBleGFtaW5lIHRoZSBzdGF0dXMgb2YgYSBmaWxlLiAgVGhlcmVcbiIKLSIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYXMgd2VsbCwgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMuXG4iCisiICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzIGFzIHdlbGwuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYmVoYXZpb3Igb2YgdGVzdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzLiAgUmVhZCB0aGVcbiIKKyIgICAgYmFzaCBtYW51YWwgcGFnZSBmb3IgdGhlIGNvbXBsZXRlIHNwZWNpZmljYXRpb24uXG4iCiAiICAgIFxuIgogIiAgICBGaWxlIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCkBAIC0zMzAxLDYgKzMzMTMsNyBAQAogIiAgICBPdGhlciBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgogIiAgICAgIC1vIE9QVElPTiAgICAgIFRydWUgaWYgdGhlIHNoZWxsIG9wdGlvbiBPUFRJT04gaXMgZW5hYmxlZC5cbiIKKyIgICAgICAtdiBWQVJcdCBUcnVlIGlmIHRoZSBzaGVsbCB2YXJpYWJsZSBWQVIgaXMgc2V0XG4iCiAiICAgICAgISBFWFBSICAgICAgICAgVHJ1ZSBpZiBleHByIGlzIGZhbHNlLlxuIgogIiAgICAgIEVYUFIxIC1hIEVYUFIyIFRydWUgaWYgYm90aCBleHByMSBBTkQgZXhwcjIgYXJlIHRydWUuXG4iCiAiICAgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS5cbiIKQEAgLTMzMTcsNyArMzMzMCw3IEBACiAiICAgIGZhbHNlIG9yIGFuIGludmFsaWQgYXJndW1lbnQgaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTI5OQorIzogYnVpbHRpbnMuYzoxMzExCiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzMyNSw3ICszMzM4LDcgQEAKICIgICAgYmUgYSBsaXRlcmFsIGBdJywgdG8gbWF0Y2ggdGhlIG9wZW5pbmcgYFsnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtMzMzNyw3ICszMzUwLDcgQEAKICIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC0zMzUzLDcgKzMzNjYsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtMzM3Myw3ICszMzk0LDcgQEAKICJnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzUyCisjOiBidWlsdGlucy5jOjEzNjgKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtMzQwMyw3ICszNDI0LDcgQEAKICJmb3VuZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzgzCisjOiBidWlsdGlucy5jOjEzOTkKIG1zZ2lkICIiCiAiTW9kaWZ5IHNoZWxsIHJlc291cmNlIGxpbWl0cy5cbiIKICIgICAgXG4iCkBAIC0zNDQ3LDcgKzM0NjgsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDI4CisjOiBidWlsdGlucy5jOjE0NDQKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtMzQ2NSw3ICszNDg2LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBNT0RFIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzQ4Miw3ICszNTAzLDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ2NgorIzogYnVpbHRpbnMuYzoxNDgyCiBtc2dpZCAiIgogIldhaXQgZm9yIHByb2Nlc3MgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTM0OTYsNyArMzUxNyw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0ODEKKyM6IGJ1aWx0aW5zLmM6MTQ5NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzUwOSw3ICszNTMwLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtMzUyNiw3ICszNTQ3LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTUxMworIzogYnVpbHRpbnMuYzoxNTI5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zNTQ2LDcgKzM1NjcsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTM0CisjOiBidWlsdGlucy5jOjE1NTAKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzU2Miw3ICszNTgzLDcgQEAKICIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTU1MQorIzogYnVpbHRpbnMuYzoxNTY3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC0zNTczLDcgKzM1OTQsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTYzCisjOiBidWlsdGlucy5jOjE1NzkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC0zNTk0LDcgKzM2MTUsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCisjOiBidWlsdGlucy5jOjE1OTYKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC0zNjA1LDcgKzM2MjYsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTkyCisjOiBidWlsdGlucy5jOjE2MDgKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgogIiAgICBcbiIKQEAgLTM2MTYsNyArMzYzNyw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MDQKKyM6IGJ1aWx0aW5zLmM6MTYyMAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC0zNjI5LDcgKzM2NTAsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MTgKKyM6IGJ1aWx0aW5zLmM6MTYzNAogbXNnaWQgIiIKICJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtMzY0Myw3ICszNjY0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2MzIKKyM6IGJ1aWx0aW5zLmM6MTY0OAogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtMzY1NCw3ICszNjc1LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY0NAorIzogYnVpbHRpbnMuYzoxNjYwCiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zNjY4LDcgKzM2ODksNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE2NTkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtMzY3OSw3ICszNzAwLDcgQEAKICIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY3MQorIzogYnVpbHRpbnMuYzoxNjg3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29uZGl0aW9uYWwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zNzA3LDcgKzM3MjgsNyBAQAogIiAgICAwIG9yIDEgZGVwZW5kaW5nIG9uIHZhbHVlIG9mIEVYUFJFU1NJT04uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NworIzogYnVpbHRpbnMuYzoxNzEzCiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtMzc2MSw3ICszNzgyLDcgQEAKICIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc1NAorIzogYnVpbHRpbnMuYzoxNzcwCiBtc2dpZCAiIgogIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzkyLDcgKzM4MTMsNyBAQAogIiAgICBjaGFuZ2UgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTc4OAorIzogYnVpbHRpbnMuYzoxODA0CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM4MTksNyArMzg0MCw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODE4CisjOiBidWlsdGlucy5jOjE4MzQKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzg0OCw3ICszODY5LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NworIzogYnVpbHRpbnMuYzoxODYzCiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zODY5LDcgKzM4OTAsNyBAQAogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAogbXNnaWQgIiIKICJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKICIgICAgXG4iCkBAIC0zODkyLDYgKzM5MTMsOSBAQAogIiAgICBcbiIKICIgICAgICAlYlx0ZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50XG4iCiAiICAgICAgJXFcdHF1b3RlIHRoZSBhcmd1bWVudCBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXRcbiIKKyIgICAgICAlKGZtdClUIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcgZnJvbSB1c2luZyBGTVQgYXMgYSAiCisiZm9ybWF0XG4iCisiICAgICAgICAgICAgc3RyaW5nIGZvciBzdHJmdGltZSgzKVxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSB3cml0ZSBvciAiCkBAIC0zODk5LDcgKzM5MjMsNyBAQAogIiAgICBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg5NQorIzogYnVpbHRpbnMuYzoxOTEzCiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTM5MjYsNyArMzk1MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MjMKKyM6IGJ1aWx0aW5zLmM6MTk0MQogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zOTM5LDEzICszOTYzLDEzIEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MzgKKyM6IGJ1aWx0aW5zLmM6MTk1NgogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC0zOTcwLDcgKzM5OTQsNyBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM5OTgsNyArNDAyMiw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtNDAxMCw3ICs0MDM1LDcgQEAKICIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCmRpZmYgLS1naXQgYS9wby9ydS5nbW8gYi9wby9ydS5nbW8KaW5kZXggYjVhZWNjZi4uYzQzZTAxYyAxMDA2NDQKLS0tIGEvcG8vcnUuZ21vCisrKyBiL3BvL3J1LmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9ydS5wbyBiL3BvL3J1LnBvCmluZGV4IDQ4OTYzNWIuLmZiNGNhMjkgMTAwNjQ0Ci0tLSBhL3BvL3J1LnBvCisrKyBiL3BvL3J1LnBvCkBAIC04LDcgKzgsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBHTlUgYmFzaCAzLjEtcmVsZWFzZVxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDYtMDEtMDUgMjE6MjgrMDMwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogRXZnZW5peSBEdXNoaXN0b3YgPGR1c2hpc3RvdkBtYWlsLnJ1PlxuIgogIkxhbmd1YWdlLVRlYW06IFJ1c3NpYW4gPHJ1QGxpLm9yZz5cbiIKQEAgLTIyLDcgKzIyLDcgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICLOxdDSwdfJzNjO2cogyc7ExcvTIM3B09PJ18EiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTQyLDI2ICs0MiwyNiBAQAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJhc2hoaXN0LmM6MzgzCisjOiBiYXNoaGlzdC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiDOxSDNz8fVINPP2sTB1Ng6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0NTcKKyM6IGJhc2hsaW5lLmM6MzQ5OAogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM1NDMKKyM6IGJhc2hsaW5lLmM6MzU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczog0MXS19nKIM7F0NLPwsXM2M7ZyiDTyc3Xz8wgzsUgYFwiJyIKIAotIzogYmFzaGxpbmUuYzozNTcyCisjOiBiYXNobGluZS5jOjM2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICLOxdQg2sHL0tnXwcDdxcfPIGAlYycg1yAlcyIKIAotIzogYmFzaGxpbmUuYzozNjA2CisjOiBiYXNobGluZS5jOjM2NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG1pc3NpbmcgY29sb24gc2VwYXJhdG9yIgogbXNnc3RyICIlczog0NLP0NXdxc4g0sHaxMXMydTFzNggxNfPxdTP3snFIgpAQCAtMTIwLDI2ICsxMjAsMTEgQEAKICIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQotbXNnaWQgIiIKLSIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKLSIgICAgIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Ci1tc2dpZCAiIgotIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgotIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCi0iICAgIFxuIgotIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCi0iICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyMzUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgItDF0sXNxc7OwdEgSE9NRSDOxSDV09TBzs/XzMXOwSIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgogbXNnc3RyICLQxdLFzcXOzsHRIE9MRFBXRCDOxSDV09TBzs/XzMXOwSIKIApAQCAtMTU4LDExICsxNDMsMTEgQEAKIG1zZ2lkICIlczogdXNhZ2U6ICIKIG1zZ3N0ciAiJXM6INDSxcTV0NLF1sTFzsnFOiIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICLTzMnby8/NIM3Oz8fPIMHSx9XNxc7Uz9ciCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NTAwIHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiDP0MPJ0SDU0sXC1cXUIMHSx9XNxc7UwSIKQEAgLTIwMiw3ICsxODcsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAizsXEz9DV09TJzc/FIN7J08zPIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEyNTYKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTM2MgogbXNnaWQgImludmFsaWQgbnVtYmVyIgogbXNnc3RyICLOxcTP0NXT1MnNz8Ug3snTzM8iCiAKQEAgLTMxMSwyNSArMjk2LDI1IEBACiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjIKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAizc/WxdQgwtnU2CDJ09DPzNjaz9fBzsEg1M/M2MvPINcgxtXOy8PJySIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjYKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVzOiDEz9PU1dDOwdEg1M/M2MvPIM7BIN7Uxc7JxSDG1c7Lw8nRIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogzsUgzc/H1SDVxMHMydTYINDF0sXNxc7O1cAtzcHT08nXINTBy8nNINPQz9PPws/NIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtMzU4LDI5ICszNDMsMjkgQEAKIG1zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCiBtc2dzdHIgIiVzOiDOxSDNz8fVINXEwczJ1Ng6ICAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAotIzogc2hlbGwuYzoxNDUyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNSBidWlsdGlucy9oYXNoLmRlZjoxNzEgZXhlY3V0ZV9jbWQuYzo0OTYxCisjOiBzaGVsbC5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczog0dfM0cXU09EgxMnSxcvUz9LJxcoiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlczogzsUg0dfM0cXU09Egz8LZ3s7ZzSDGwcrMz80iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ3CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiDTzMnby8/NIMLPzNjbz8ogxsHKzCIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0Ci0jOiBzaGVsbC5jOjE0NjIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTgyIGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAwIGV4ZWN1dGVfY21kLmM6NTAzMgorIzogc2hlbGwuYzoxNDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IM7FIM3Px9Ug2sHQ1dPUydTYIMLJzsHSztnKIMbByswiCiAKLSM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgorIzogYnVpbHRpbnMvZXhlYy5kZWY6MTU0IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NiBidWlsdGlucy9leGVjLmRlZjoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlOiAlcyIKIG1zZ3N0ciAiJXM6IM7FIM3Px9Ug2sHQ1dPUydTYOiAlcyIKQEAgLTQwOSwxMSArMzk0LDExIEBACiBtc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKIG1zZ3N0ciAizsUgzsHbxcwg1MHL1cAgy8/Nwc7E1SIKIAotIzogYnVpbHRpbnMvZmMuZGVmOjM0OQorIzogYnVpbHRpbnMvZmMuZGVmOjMxMiBidWlsdGlucy9mYy5kZWY6MzU5CiBtc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNzAKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCiBtc2dzdHIgIiVzOiDOxSDNz8fVIM/Uy9LZ1Ngg19LFzcXOztnKIMbBysw6ICVzIgpAQCAtNDQ2LDcgKzQzMSw3IEBACiBtc2dpZCAiJXM6IGhhc2ggdGFibGUgZW1wdHlcbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9oYXNoLmRlZjoyNDQKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiaGl0c1x0Y29tbWFuZFxuIgogbXNnc3RyICLQz9PMxcTO0dEgy8/Nwc7EwTogJXNcbiIKQEAgLTUwNCw3NyArNDg5LDg3IEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyMDAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MworIzogYnVpbHRpbnMva2lsbC5kZWY6MjYxCiBtc2dpZCAiVW5rbm93biBlcnJvciIKIG1zZ3N0ciAi7sXJ2tfF09TOwdEgz9vJwsvBIgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICLP1snEwczP09gg19nSwdbFzsnFIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgogbXNnc3RyICIlczogzsUg0MXSxc3Fzs7B0S3NwdPTydciCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NiBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiDOxcTP0NXT1MnNz8Ugz9DJ08HOycUgxsHKzM/Xz8fPIMTF08vSydDUz9LBIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjQgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiVkOiDOxcTP0NXT1MnN2cogxMXTy9LJ0NTP0iDGwcrMwTogJXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3MyBidWlsdGlucy9tYXBmaWxlLmRlZjozMTEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiDOxdDSwdfJzNjOwdEgz9DDydEiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3NworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjg0CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCiBtc2dzdHIgIiVzOiDOxdDSwdfJzNjOwdEgz9DDydEiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI5NAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzAxCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogzsXEz9DV09TJzc/FIN7J08zPIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogIywgZnV6enkKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICIlczogzsUg0MXSxc3Fzs7B0S3NwdPTydciCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM0NworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzU0CiBtc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJgJXMnOiDQ0s/Q1d3FziDTyc3Xz8wgxs/SzcHUydLP18HOydEiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVjJzogaW52YWxpZCB0aW1lIGZvcm1hdCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczogzsXEz9DV09TJzcHRINPQxcPJxsnLwcPJ0SDTycfOwczBIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiVjJzogzsXEz9DV09TJzdnKINPJzdfPzCDGz9LNwdTJ0s/Xwc7J0SIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIiVzOiDQ0sXE1dDSxdbExc7JxToiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NzU3CisjOiBidWlsdGlucy9wcmludGYuZGVmOjg0MAogbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCiBtc2dzdHIgIiIKIAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyB1bmljb2RlIGRpZ2l0IGZvciBcXCVjIgorbXNnc3RyICIiCisKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjoxOTUKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCiBtc2dzdHIgIs7F1CDE0tXHz8ogxMnSxcvUz9LJySIKQEAgLTY3NSwyMSArNjcwLDIxIEBACiBtc2dpZCAiY2FuIG9ubHkgYHJldHVybicgZnJvbSBhIGZ1bmN0aW9uIG9yIHNvdXJjZWQgc2NyaXB0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQogbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1CisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0IgogbXNnc3RyICIlczogzsUgzc/H1SDTwtLP08nU2CIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MTIKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgogbXNnc3RyICIlczogzsUgzc/H1SDTwtLP08nU2DogxM/T1NXQzs8g1M/M2MvPIMTM0SDe1MXOydEgJXMiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODIzCisjOiBidWlsdGlucy9zZXQuZGVmOjgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGFycmF5IHZhcmlhYmxlIgogbXNnc3RyICIlczogzsUg0MXSxc3Fzs7B0S3NwdPTydciCkBAIC03MDMsMjAgKzY5OCwyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjUKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjozMjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgc2hlbGwgb3B0aW9uIG5hbWUiCiBtc2dzdHIgIiVzOiDOxcTP0NXT1MnNz8Ugyc3RIM/Qw8nJIM/Cz8zP3svJIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjEyOAorIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKIG1zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKIG1zZ3N0ciAi1NLFwtXF1NPRIMHSx9XNxc7UIMnN0SDGwcrMwSIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IMbByswgzsUgzsHKxMXOIgpAQCAtNzU5LDI2ICs3NTQsMjYgQEAKIG1zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6MzcyCisjOiBidWlsdGlucy91bGltaXQuZGVmOjM3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW1pdCBhcmd1bWVudCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogYmFkIGNvbW1hbmQiCiBtc2dzdHIgImAlYyc6INDMz8jB0SDLz83BzsTBIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQyNworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBnZXQgbGltaXQ6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDUzCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ1NwogbXNnaWQgImxpbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY1IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY1CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ2OSBidWlsdGlucy91bGltaXQuZGVmOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCiBtc2dzdHIgIiIKQEAgLTgzNCwxMDYgKzgyOSwxMTEgQEAKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiIgogCi0jOiBleGVjdXRlX2NtZC5jOjIwNzUKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQogIywgZnV6enkKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICLP28nCy8Eg2sHQydPJOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDgxCisjOiBleGVjdXRlX2NtZC5jOjQ2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDU3MgorIzogZXhlY3V0ZV9jbWQuYzo0NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IMvPzcHOxMEgzsUgzsHKxMXOwSIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODI3CisjOiBleGVjdXRlX2NtZC5jOjQ5NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiDQzM/Iz8ogyc7UxdLQ0sXUwdTP0iIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTc2CisjOiBleGVjdXRlX2NtZC5jOjUxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAizsUgzc/H1SDE1cLMydLP18HU2CBmZCAlZCDXIGZkICVkIgogCi0jOiBleHByLmM6MjQxCisjOiBleHByLmM6MjU2CiBtc2dpZCAiZXhwcmVzc2lvbiByZWN1cnNpb24gbGV2ZWwgZXhjZWVkZWQiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjI2NQorIzogZXhwci5jOjI4MAogbXNnaWQgInJlY3Vyc2lvbiBzdGFjayB1bmRlcmZsb3ciCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjM3OQorIzogZXhwci5jOjQyMgogbXNnaWQgInN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIgogbXNnc3RyICLTyc7UwcvTyd7F08vB0SDP28nCy8Eg1yDX2dLB1sXOycUiCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgItDP0NnUy8Eg0NLJ09fPxc7J0SDOxS3QxdLFzcXOzs/KIgogCi0jOiBleHByLmM6NDQwIGV4cHIuYzo0NDUgZXhwci5jOjc1NgorIzogZXhwci5jOjQ4NiBleHByLmM6NDkxIGV4cHIuYzo4MDcKIG1zZ2lkICJkaXZpc2lvbiBieSAwIgogbXNnc3RyICLExczFzsnFIM7BIDAiCiAKLSM6IGV4cHIuYzo0NzEKKyM6IGV4cHIuYzo1MTcKIG1zZ2lkICJidWc6IGJhZCBleHBhc3NpZ24gdG9rZW4iCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjUxMworIzogZXhwci5jOjU2NAogbXNnaWQgImA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6NzgxCisjOiBleHByLmM6ODMyCiBtc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjgyNgorIzogZXhwci5jOjg4NwogbXNnaWQgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzo4NTQKKyM6IGV4cHIuYzo5MTAKIG1zZ2lkICJtaXNzaW5nIGApJyIKIG1zZ3N0ciAi0NLP0NXdxc4gYCknIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CisjOiBleHByLmM6OTU5IGV4cHIuYzoxMjgyCiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICLP28nCy8Eg08nO1MHL08nTwTogz9bJxMHF1NPRIM/QxdLBzsQiCiAKLSM6IGV4cHIuYzoxMTc4CisjOiBleHByLmM6MTI4NAogbXNnaWQgInN5bnRheCBlcnJvcjogaW52YWxpZCBhcml0aG1ldGljIG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjAyCisjOiBleHByLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzoxMjgwCisjOiBleHByLmM6MTM4NgogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTMyOQorIzogZXhwci5jOjE0MzUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIs/WycTBzM/T2CDX2dLB1sXOycUiCkBAIC05NDIsMTYzICs5NDIsMTYzIEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NworIzogaW5wdXQuYzo5NCBzdWJzdC5jOjUwODIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICLOxSDNz8fVIMTVwszJ0s/XwdTYIGZkICVkINcgZmQgJWQiCiAKLSM6IGlucHV0LmM6MjU4CisjOiBpbnB1dC5jOjI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYWxsb2NhdGUgbmV3IGZpbGUgZGVzY3JpcHRvciBmb3IgYmFzaCBpbnB1dCBmcm9tIGZkICVkIgogbXNnc3RyICIiCiAKLSM6IGlucHV0LmM6MjY2CisjOiBpbnB1dC5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzo0NjYKKyM6IGpvYnMuYzo0NjgKIG1zZ2lkICJzdGFydF9waXBlbGluZTogcGdycCBwaXBlIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzo4ODcKKyM6IGpvYnMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ya2VkIHBpZCAlZCBhcHBlYXJzIGluIHJ1bm5pbmcgam9iICVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxMDA1CisjOiBqb2JzLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyBzdG9wcGVkIGpvYiAlZCB3aXRoIHByb2Nlc3MgZ3JvdXAgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxMTEwCisjOiBqb2JzLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxMTEzCisjOiBqb2JzLmM6MTExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MDEKKyM6IGpvYnMuYzoxNDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc2NyaWJlX3BpZDogJWxkOiBubyBzdWNoIHBpZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQxNgorIzogam9icy5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2lnbmFsICVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDMwIGpvYnMuYzoxNDU1CisjOiBqb2JzLmM6MTQ1OSBqb2JzLmM6MTQ4NAogbXNnaWQgIkRvbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzUgc2lnbGlzdC5jOjEyMworIzogam9icy5jOjE0NjQgc2lnbGlzdC5jOjEyMwogbXNnaWQgIlN0b3BwZWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MzkKKyM6IGpvYnMuYzoxNDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQoJXMpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDQzCisjOiBqb2JzLmM6MTQ3MgogbXNnaWQgIlJ1bm5pbmciCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0NTcKKyM6IGpvYnMuYzoxNDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbmUoJWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDU5CisjOiBqb2JzLmM6MTQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeGl0ICVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDYyCisjOiBqb2JzLmM6MTQ5MQogbXNnaWQgIlVua25vd24gc3RhdHVzIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNTQ5CisjOiBqb2JzLmM6MTU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIoY29yZSBkdW1wZWQpICIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTU2OAorIzogam9icy5jOjE1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTc3NgorIzogam9icy5jOjE4MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEzMyBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMzMxCisjOiBqb2JzLmM6MjM2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyODM4CisjOiBqb2JzLmM6Mjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzA1OQorIzogam9icy5jOjMwODkKIG1zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1MDgKKyM6IGpvYnMuYzozNTM4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogbGluZSAlZDogIgogbXNnc3RyICIlczog0NLFxNXQ0sXWxMXOycU6IgogCi0jOiBqb2JzLmM6MzUyMiBub2pvYnMuYzo4MTQKKyM6IGpvYnMuYzozNTUyIG5vam9icy5jOjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICIgKGNvcmUgZHVtcGVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUzNCBqb2JzLmM6MzU0NworIzogam9icy5jOjM1NjQgam9icy5jOjM1NzcKICMsIGMtZm9ybWF0CiBtc2dpZCAiKHdkIG5vdzogJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1NzkKKyM6IGpvYnMuYzozNjA5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2MzkKKyM6IGpvYnMuYzozNjY5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjQ5CisjOiBqb2JzLmM6MzY3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NzcKKyM6IGpvYnMuYzozNzA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjgyCisjOiBqb2JzLmM6MzcxMgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgIiIKIApAQCAtMTI1MCw5OSArMTI1MCw5OSBAQAogbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5NTEKKyM6IHBhcnNlLnk6NDAyNQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTU2CisjOiBwYXJzZS55OjQwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5NjAKKyM6IHBhcnNlLnk6NDAzNAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDA0MgorIzogcGFyc2UueTo0MTE2CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICLP1snEwczT0SBgKSciCiAKLSM6IHBhcnNlLnk6NDA3MAorIzogcGFyc2UueTo0MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQwNzQKKyM6IHBhcnNlLnk6NDE0OAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTIwCisjOiBwYXJzZS55OjQxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTI0CisjOiBwYXJzZS55OjQxOTgKIG1zZ2lkICJjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTQ2CisjOiBwYXJzZS55OjQyMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNTAKKyM6IHBhcnNlLnk6NDIyNAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDE2MQorIzogcGFyc2UueTo0MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDE2NAorIzogcGFyc2UueTo0MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDE2OAorIzogcGFyc2UueTo0MjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjU0NTkKKyM6IHBhcnNlLnk6NTU2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo1NDc3CisjOiBwYXJzZS55OjU1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiz9vJwsvBINPJztTBy9PJ08Egz8vPzM8gYCVzJyIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIs/bycLLwSDTyc7UwcvTydPBOiDOxc/WycTBzs7ZyiDLz87FwyDGwcrMwSIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgIs/bycLLwSDTyc7UwcvTydPBIgogCi0jOiBwYXJzZS55OjU1NDkKKyM6IHBhcnNlLnk6NTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIG1zZ3N0ciAi6dPQz8zY2tXK1MUgXCIlc1wiLCDe1M/C2SDawdfF0tvJ1NjT0SDSwcLP1NUg0yAgz8LPzM/ey8/KLlxuIgogCi0jOiBwYXJzZS55OjU3MTEKKyM6IHBhcnNlLnk6NTgxOAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAiIgogCkBAIC0xMzUxLDc3ICsxMzUxLDc3IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgIiIKIAotIzogcGNvbXBsaWIuYzoxNzkKKyM6IHBjb21wbGliLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MjkwCisjOiBwcmludF9jbWQuYzoyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjM2MworIzogcHJpbnRfY21kLmM6MzY4CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCiBtc2dzdHIgIiVkOiDOxcTP0NXT1MnN2cogxMXTy9LJ0NTP0iDGwcrMwTogJXMiCiAKLSM6IHByaW50X2NtZC5jOjM2OAorIzogcHJpbnRfY21kLmM6MzczCiBtc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MzcyCisjOiBwcmludF9jbWQuYzozNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjE0NjEKKyM6IHByaW50X2NtZC5jOjE0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTEwCisjOiByZWRpci5jOjEyMgogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIsbByszP19nKIMTF08vSydDUz9Ig2sEg0NLFxMXMwc3JIMTP0NXT1MnNz8fPIMTJwdDB2s/OwSIKIAotIzogcmVkaXIuYzoxNjYKKyM6IHJlZGlyLmM6MTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxNzAKKyM6IHJlZGlyLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiDOxSDNz8fVINDF0sXQydPB1Ngg1dbFINPV3cXT1NfVwN3JyiDGwcrMIgogCi0jOiByZWRpci5jOjE3NQorIzogcmVkaXIuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE4NAorIzogcmVkaXIuYzoxOTYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgogbXNnc3RyICIlczogzsUg0MXSxc3Fzs7B0S3NwdPTydciCiAKLSM6IHJlZGlyLmM6NTQ0CisjOiByZWRpci5jOjU0OAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjExMDEKKyM6IHJlZGlyLmM6ODE4IHJlZGlyLmM6OTMwIHJlZGlyLmM6OTkzIHJlZGlyLmM6MTEzNgogbXNnaWQgInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIgogbXNnc3RyICLP28nCy8Eg0MXSxc7B0NLB18zFzsnROiDOxSDNz8fVIMTVwszJ0s/XwdTYIGZkIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAizsUgzc/H1SDOwcrUySAvdG1wLCDQz9bBzNXK09TBINPP2sTBytTFISIKIAotIzogc2hlbGwuYzozMzYKKyM6IHNoZWxsLmM6MzM3CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIi90bXAgxM/M1s7BIMLZ1NggxMXK09TXydTFzNjO2c0gyc3FzsXNIMTJ0sXL1M/SyckiCiAKQEAgLTE0MzAsMTYgKzE0MzAsMTYgQEAKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogzsXEz9DV09TJzcHRIM/Qw8nRIgogCi0jOiBzaGVsbC5jOjE2NTEKKyM6IHNoZWxsLmM6MTY1MgogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAi9SDNxc7RIM7F1CDJzcXOySEiCiAKLSM6IHNoZWxsLmM6MTc5MworIzogc2hlbGwuYzoxNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE3OTQKKyM6IHNoZWxsLmM6MTc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE0NDksMzkgKzE0NDksMzkgQEAKICIlcyBbxMzJzs7ZxSDP0MPJySDBLczRIGBHTlUnXSBbz9DDycldIC4uLlxuIgogIlx0JXMgW8TMyc7O2cUgz9DDyckgwS3M0SBgR05VJ10gW8/Qw8nJXSDGwcrMX9PPX9PL0snQ1M/NLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc5NgorIzogc2hlbGwuYzoxNzk4CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAi5MzJzs7ZxSDP0MPJySDXINPUxczFIEdOVTpcbiIKIAotIzogc2hlbGwuYzoxODAwCisjOiBzaGVsbC5jOjE4MDIKIG1zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgogbXNnc3RyICLv0MPJySDPws/Mz97LyTpcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MDMKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxODE2CisjOiBzaGVsbC5jOjE4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIMnMySDP0MPJ0SAtb1xuIgogCi0jOiBzaGVsbC5jOjE4MjIKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxODIzCisjOiBzaGVsbC5jOjE4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAiIgogCi0jOiBzaGVsbC5jOjE4MjQKKyM6IHNoZWxsLmM6MTgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICIiCiAKLSM6IHNpZy5jOjYyNgorIzogc2lnLmM6NjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgIiIKQEAgLTE2NTYsODMgKzE2NTYsODMgQEAKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzoyNzM1CisjOiBzdWJzdC5jOjI3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAorIzogc3Vic3QuYzo0OTc5IHN1YnN0LmM6NDk5NQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDgwMgorIzogc3Vic3QuYzo1MDI3CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDg0NworIzogc3Vic3QuYzo1MDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgIs7FIM3Px9Ugz9TL0tnU2CDJzcXOzs/KIMvBzsHMICVzIMTM0SDe1MXOydEiCiAKLSM6IHN1YnN0LmM6NDg0OQorIzogc3Vic3QuYzo1MDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCiBtc2dzdHIgIs7FIM3Px9Ugz9TL0tnU2CDJzcXOzs/KIMvBzsHMICVzIMTM0SDawdDJ08kiCiAKLSM6IHN1YnN0LmM6NDg2NworIzogc3Vic3QuYzo1MDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjUwNjMKKyM6IHN1YnN0LmM6NTI4NAogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTA5NworIzogc3Vic3QuYzo1MzIyCiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjU2MTcKKyM6IHN1YnN0LmM6NTg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6INDB0sHNxdTSIG51bGwgyczJIM7FINXT1MHOz9fMxc4iCiAKLSM6IHN1YnN0LmM6NTkwNworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6Njk2NQorIzogc3Vic3QuYzo3MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NzA0NQorIzogc3Vic3QuYzo3MzQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjczNzQKKyM6IHN1YnN0LmM6NzY4NAogbXNnaWQgIiIKICJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKICJzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo3ODM5CisjOiBzdWJzdC5jOjgxNDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgIs7F1CDawcvS2dfBwN3Fx88gYCVjJyDXICVzIgogCi0jOiBzdWJzdC5jOjg3MjAKKyM6IHN1YnN0LmM6OTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgIs7F1CDTz9fQwcTFzsnRINM6ICVzIgpAQCAtMTc1NSwzNiArMTc1NSwzNiBAQAogbXNnaWQgImApJyBleHBlY3RlZCwgZm91bmQgJXMiCiBtc2dzdHIgIs/WycTBzNPRIGApJywgzsHKxMXOICVzIgogCi0jOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgorIzogdGVzdC5jOjI4MCB0ZXN0LmM6Njk4IHRlc3QuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogz9bJxMHF1NPRIMnT0M/M2NrP18HOycUg1c7B0s7Px88gz9DF0sHUz9LBIgogCi0jOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogz9bJxMHF1NPRIMnT0M/M2NrP18HOycUgwsnOwdLOz8fPIM/QxdLB1M/SwSIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICLQ0s/Q1d3FziBgXSciCiAKLSM6IHRyYXAuYzoyMDMKKyM6IHRyYXAuYzoyMDcKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgIs7FxM/Q1dPUyc3ZyiDOz83F0iDTycfOwczBIgogCi0jOiB0cmFwLmM6MzI3CisjOiB0cmFwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgIiIKIAotIzogdHJhcC5jOjMzMQorIzogdHJhcC5jOjM0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKIG1zZ3N0ciAiIgogCi0jOiB0cmFwLmM6MzgwCisjOiB0cmFwLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAiIgpAQCAtMTc5NCw1OCArMTc5NCw1OCBAQAogbXNnaWQgImVycm9yIGltcG9ydGluZyBmdW5jdGlvbiBkZWZpbml0aW9uIGZvciBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjE5MTUKKyM6IHZhcmlhYmxlcy5jOjE5MzIKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzE1OQorIzogdmFyaWFibGVzLmM6MzE4MgogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzc2CisjOiB2YXJpYWJsZXMuYzozNDI3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCiBtc2dzdHIgIiVzOiDQwdLBzcXU0iBudWxsIMnMySDOxSDV09TBzs/XzMXOIgogCi0jOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKKyM6IHZhcmlhYmxlcy5jOjM0MzIgdmFyaWFibGVzLmM6MzQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzOTYKKyM6IHZhcmlhYmxlcy5jOjM0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozODQ4CisjOiB2YXJpYWJsZXMuYzozOTA0CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzkyMgorIzogdmFyaWFibGVzLmM6Mzk3OAogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2NzgKKyM6IHZhcmlhYmxlcy5jOjQ3ODYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKIG1zZ3N0ciAiJXM6IM7FIM3Px9Ugz9TL0tnU2DogJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjQ2ODMKKyM6IHZhcmlhYmxlcy5jOjQ3OTEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgogbXNnc3RyICIlZDogzsXEz9DV09TJzdnKIMTF08vSydDUz9IgxsHKzME6ICVzIgogCiAjOiB2ZXJzaW9uLmM6NDYKLW1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCiBtc2dzdHIgIiIKIAogIzogdmVyc2lvbi5jOjQ3CkBAIC0xOTMyLDcgKzE5MzIsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6NjQKLW1zZ2lkICJjZCBbLUx8LVBdIFtkaXJdIgorbXNnaWQgImNkIFstTHxbLVAgWy1lXV1dIFtkaXJdIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6NjYKQEAgLTE5NTYsMTEgKzE5NTYsMTEgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjc2Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo3OAotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCittc2dpZCAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo4MApAQCAtMjA1NCw3ICsyMDU0LDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0MAotbXNnaWQgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbYXJnIC4uLl0iCittc2dpZCAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxNDIKQEAgLTIwNjYsNyArMjA2Niw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxNDYKLW1zZ2lkICJyZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCittc2dpZCAicmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0OApAQCAtMjM4MywxNCArMjM4MywxOCBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQxMQorIzogYnVpbHRpbnMuYzo0MTQKIG1zZ2lkICIiCiAiUHJpbnQgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjQwNiw3ICsyNDEwLDcgQEAKICIgICAgY2Fubm90IGJlIHJlYWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDI4CisjOiBidWlsdGlucy5jOjQzMQogIywgZnV6enkKIG1zZ2lkICIiCiAiTnVsbCBjb21tYW5kLlxuIgpAQCAtMjQxOSw3ICsyNDIzLDcgQEAKICIg7sXUIMvBy8/Hzy3MycLPINzGxsXL1ME7IMvPzcHOxMEgzsnexcfPIM7FIMTFzMHF1C4g7tXM2CDXz9rX0sHdwcXU09Eg1yAiCiAiy8HexdPU18Ug0sXa1czY1MHUwS4iCiAKLSM6IGJ1aWx0aW5zLmM6NDM5CisjOiBidWlsdGlucy5jOjQ0MgogbXNnaWQgIiIKICJSZXR1cm4gYSBzdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNDI3LDcgKzI0MzEsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDQ4CisjOiBidWlsdGlucy5jOjQ1MQogIywgZnV6enkKIG1zZ2lkICIiCiAiUmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCkBAIC0yNDM2LDcgKzI0NDAsNyBAQAogIiAgICBBbHdheXMgZmFpbHMuIgogbXNnc3RyICL3z9rX0sHdwcXUINLF2tXM2NTB1DogzsXVxMHewS4iCiAKLSM6IGJ1aWx0aW5zLmM6NDU3CisjOiBidWlsdGlucy5jOjQ2MAogbXNnaWQgIiIKICJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNDU1LDcgKzI0NTksNyBAQAogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQsIG9yIGZhaWx1cmUgaWYgQ09NTUFORCBpcyBub3QgZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDc2CisjOiBidWlsdGlucy5jOjQ3OQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI0NjYsNiArMjQ3MCw4IEBACiAiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgogIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCiAiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCiAiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgogIiAgICBcbiIKICIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKQEAgLTI0ODUsMjAgKzI0OTEsMjAgQEAKICIgICAgXG4iCiAiICAgIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBgZGVjbGFyZScgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKICJgbG9jYWwnXG4iCi0iICAgIGNvbW1hbmQuXG4iCisiICAgIGNvbW1hbmQuICBUaGUgYC1nJyBvcHRpb24gc3VwcHJlc3NlcyB0aGlzIGJlaGF2aW9yLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUxMgorIzogYnVpbHRpbnMuYzo1MTcKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCiAiICAgIE9ic29sZXRlLiAgU2VlIGBoZWxwIGRlY2xhcmUnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUyMAorIzogYnVpbHRpbnMuYzo1MjUKIG1zZ2lkICIiCiAiRGVmaW5lIGxvY2FsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0yNTEzLDcgKzI1MTksNyBAQAogIiAgICBvciB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUzNworIzogYnVpbHRpbnMuYzo1NDIKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjU0NCw3ICsyNTUwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI1NTcsNyArMjU2Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjU4NCw3ICsyNTkwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjYxNAorIzogYnVpbHRpbnMuYzo2MTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhcmd1bWVudHMgYXMgYSBzaGVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI1OTYsNyArMjYwMiw3IEBACiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgY29tbWFuZCBvciBzdWNjZXNzIGlmIGNvbW1hbmQgaXMgbnVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMjYzNyw3ICsyNjQzLDcgQEAKICIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNjYwLDcgKzI2NjYsNyBAQAogIm9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2ODkKKyM6IGJ1aWx0aW5zLmM6Njk0CiBtc2dpZCAiIgogIkV4aXQgdGhlIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI2NjgsNyArMjY3NCw3IEBACiAiICAgIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2OTgKKyM6IGJ1aWx0aW5zLmM6NzAzCiBtc2dpZCAiIgogIkV4aXQgYSBsb2dpbiBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0yNjc3LDcgKzI2ODMsNyBAQAogIiAgICBpbiBhIGxvZ2luIHNoZWxsLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjcwOAorIzogYnVpbHRpbnMuYzo3MTMKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBleGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0yNzA3LDcgKzI3MTMsNyBAQAogIm9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3MzgKKyM6IGJ1aWx0aW5zLmM6NzQzCiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTI3MTksNyArMjcyNSw3IEBACiAiICAgIFN0YXR1cyBvZiBjb21tYW5kIHBsYWNlZCBpbiBmb3JlZ3JvdW5kLCBvciBmYWlsdXJlIGlmIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3NTMKKyM6IGJ1aWx0aW5zLmM6NzU4CiBtc2dpZCAiIgogIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0yNzMzLDcgKzI3MzksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjc1Nyw3ICsyNzYzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3OTIKKyM6IGJ1aWx0aW5zLmM6Nzk3CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNzc5LDcgKzI3ODUsNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMjgxMyw3ICsyODE5LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODUyCisjOiBidWlsdGlucy5jOjg1NwogbXNnaWQgIiIKICJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgogIiAgICBcbiIKQEAgLTI4MzcsNyArMjg0Myw3IEBACiAiICAgIElmIC14IGlzIHVzZWQsIHJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODc5CisjOiBidWlsdGlucy5jOjg4NAogbXNnaWQgIiIKICJSZW1vdmUgam9icyBmcm9tIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMjg1NCw3ICsyODYwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBvciBKT0JTUEVDIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg5OAorIzogYnVpbHRpbnMuYzo5MDMKIG1zZ2lkICIiCiAiU2VuZCBhIHNpZ25hbCB0byBhIGpvYi5cbiIKICIgICAgXG4iCkBAIC0yODc2LDcgKzI4ODIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo5MjEKKyM6IGJ1aWx0aW5zLmM6OTI2CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjkxOCwxMCArMjkyNCwxMCBAQAogIiAgICBydWxlcyBhYm92ZS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4iCisiICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6OTY2CisjOiBidWlsdGlucy5jOjk3MQogbXNnaWQgIiIKICJSZWFkIGEgbGluZSBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBhbmQgc3BsaXQgaXQgaW50byBmaWVsZHMuXG4iCiAiICAgIFxuIgpAQCAtMjk2OSw3ICsyOTc1LDcgQEAKICIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMDkKKyM6IGJ1aWx0aW5zLmM6MTAxNAogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTI5ODEsNyArMjk4Nyw3IEBACiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDIyCisjOiBidWlsdGlucy5jOjEwMjcKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzA1MCw2ICszMDU2LDkgQEAKICIgICAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzXG4iCiAiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKICIgICAgICAtVCAgSWYgc2V0LCB0aGUgREVCVUcgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC0tICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgICAgICAgYXJlIHVuc2V0LlxuIgogIiAgICAgIC0gICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgogIiAgICBcbiIKQEAgLTMwNjMsNyArMzA3Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEwNAorIzogYnVpbHRpbnMuYzoxMTEyCiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMDgzLDcgKzMwOTIsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEyNAorIzogYnVpbHRpbnMuYzoxMTMyCiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzEwMiw3ICszMTExLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MworIzogYnVpbHRpbnMuYzoxMTUxCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zMTIyLDcgKzMxMzEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTY0CisjOiBidWlsdGlucy5jOjExNzIKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMxMzMsNyArMzE0Miw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKKyM6IGJ1aWx0aW5zLmM6MTE4NCBidWlsdGlucy5jOjExOTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMTQ3LDcgKzMxNTYsNyBAQAogIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjA3CisjOiBidWlsdGlucy5jOjEyMTUKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzE2MSwxNCArMzE3MCwxNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjIzCisjOiBidWlsdGlucy5jOjEyMzEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCiAiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgogIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCiAiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgotIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy5cbiIKKyIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMgYXMgd2VsbC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBiZWhhdmlvciBvZiB0ZXN0IGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHMuICBSZWFkIHRoZVxuIgorIiAgICBiYXNoIG1hbnVhbCBwYWdlIGZvciB0aGUgY29tcGxldGUgc3BlY2lmaWNhdGlvbi5cbiIKICIgICAgXG4iCiAiICAgIEZpbGUgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKQEAgLTMyMjIsNiArMzIzNCw3IEBACiAiICAgIE90aGVyIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCiAiICAgICAgLW8gT1BUSU9OICAgICAgVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uIE9QVElPTiBpcyBlbmFibGVkLlxuIgorIiAgICAgIC12IFZBUlx0IFRydWUgaWYgdGhlIHNoZWxsIHZhcmlhYmxlIFZBUiBpcyBzZXRcbiIKICIgICAgICAhIEVYUFIgICAgICAgICBUcnVlIGlmIGV4cHIgaXMgZmFsc2UuXG4iCiAiICAgICAgRVhQUjEgLWEgRVhQUjIgVHJ1ZSBpZiBib3RoIGV4cHIxIEFORCBleHByMiBhcmUgdHJ1ZS5cbiIKICIgICAgICBFWFBSMSAtbyBFWFBSMiBUcnVlIGlmIGVpdGhlciBleHByMSBPUiBleHByMiBpcyB0cnVlLlxuIgpAQCAtMzIzOCw3ICszMjUxLDcgQEAKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjk5CisjOiBidWlsdGlucy5jOjEzMTEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zMjQ2LDcgKzMyNTksNyBAQAogIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMwOAorIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC0zMjU4LDcgKzMyNzEsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMyMAorIzogYnVpbHRpbnMuYzoxMzMyCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTMyNzQsNyArMzI4NywxNSBAQAogIiAgICBcbiIKICIgICAgSWYgYSBTSUdOQUxfU1BFQyBpcyBFWElUICgwKSBBUkcgaXMgZXhlY3V0ZWQgb24gZXhpdCBmcm9tIHRoZSBzaGVsbC4gICIKICJJZlxuIgotIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLiAgIgorIklmXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgUkVUVVJOLCBBUkcgaXMgZXhlY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgIgorImFcbiIKKyIgICAgc2NyaXB0IHJ1biBieSB0aGUgLiBvciBzb3VyY2UgYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLiAgQSAiCisiU0lHTkFMX1NQRUNcbiIKKyIgICAgb2YgRVJSIG1lYW5zIHRvIGV4ZWN1dGUgQVJHIGVhY2ggdGltZSBhIGNvbW1hbmQncyBmYWlsdXJlIHdvdWxkIGNhdXNlICIKKyJ0aGVcbiIKKyIgICAgc2hlbGwgdG8gZXhpdCB3aGVuIHRoZSAtZSBvcHRpb24gaXMgZW5hYmxlZC5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQsIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzICIKICJhc3NvY2lhdGVkXG4iCkBAIC0zMjk0LDcgKzMzMTUsNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzNTIKKyM6IGJ1aWx0aW5zLmM6MTM2OAogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC0zMzI0LDcgKzMzNDUsNyBAQAogImZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzODMKKyM6IGJ1aWx0aW5zLmM6MTM5OQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTMzNjgsNyArMzM4OSw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0MjgKKyM6IGJ1aWx0aW5zLmM6MTQ0NAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC0zMzg2LDcgKzM0MDcsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDQ4CisjOiBidWlsdGlucy5jOjE0NjQKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zNDAzLDcgKzM0MjQsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDY2CisjOiBidWlsdGlucy5jOjE0ODIKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzQxNyw3ICszNDM4LDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ4MQorIzogYnVpbHRpbnMuYzoxNDk3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zNDMwLDcgKzM0NTEsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDk1CisjOiBidWlsdGlucy5jOjE1MTEKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKICIgICAgXG4iCkBAIC0zNDQ3LDcgKzM0NjgsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTEzCisjOiBidWlsdGlucy5jOjE1MjkKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTM0NjcsNyArMzQ4OCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MzQKKyM6IGJ1aWx0aW5zLmM6MTU1MAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNDgzLDcgKzM1MDQsNyBAQAogIiAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgcmV0dXJuIHN0YXR1cyBvZiBQSVBFTElORS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTUxCisjOiBidWlsdGlucy5jOjE1NjcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTM0OTQsNyArMzUxNSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NjMKKyM6IGJ1aWx0aW5zLmM6MTU3OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTM1MTUsNyArMzUzNiw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1ODAKKyM6IGJ1aWx0aW5zLmM6MTU5NgogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgogIiAgICBcbiIKQEAgLTM1MjYsNyArMzU0Nyw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1OTIKKyM6IGJ1aWx0aW5zLmM6MTYwOAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtMzUzNyw3ICszNTU4LDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYwNAorIzogYnVpbHRpbnMuYzoxNjIwCiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTM1NTAsNyArMzU3MSw3IEBACiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNTY0LDcgKzM1ODUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYzMgorIzogYnVpbHRpbnMuYzoxNjQ4CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC0zNTc1LDcgKzM1OTYsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjQ0CisjOiBidWlsdGlucy5jOjE2NjAKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTM1ODksNyArMzYxMCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY1OQorIzogYnVpbHRpbnMuYzoxNjc1CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zNjAwLDcgKzM2MjEsNyBAQAogIiAgICBSZXR1cm5zIDEgaWYgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gMDsgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjcxCisjOiBidWlsdGlucy5jOjE2ODcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTM2MjgsNyArMzY0OSw3IEBACiAiICAgIDAgb3IgMSBkZXBlbmRpbmcgb24gdmFsdWUgb2YgRVhQUkVTU0lPTi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjk3CisjOiBidWlsdGlucy5jOjE3MTMKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC0zNjgyLDcgKzM3MDMsNyBAQAogIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzU0CisjOiBidWlsdGlucy5jOjE3NzAKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM3MTMsNyArMzczNCw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzg4CisjOiBidWlsdGlucy5jOjE4MDQKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzc0MCw3ICszNzYxLDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4MTgKKyM6IGJ1aWx0aW5zLmM6MTgzNAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzY5LDcgKzM3OTAsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODQ3CisjOiBidWlsdGlucy5jOjE4NjMKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM3OTAsNyArMzgxMSw3IEBACiAiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg2OAorIzogYnVpbHRpbnMuYzoxODg0CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTM4MTMsNiArMzgzNCw5IEBACiAiICAgIFxuIgogIiAgICAgICViXHRleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYXJndW1lbnRcbiIKICIgICAgICAlcVx0cXVvdGUgdGhlIGFyZ3VtZW50IGluIGEgd2F5IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dFxuIgorIiAgICAgICUoZm10KVQgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nIEZNVCBhcyBhICIKKyJmb3JtYXRcbiIKKyIgICAgICAgICAgICBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIHdyaXRlIG9yICIKQEAgLTM4MjAsNyArMzg0NCw3IEBACiAiICAgIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODk1CisjOiBidWlsdGlucy5jOjE5MTMKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtMzg0Nyw3ICszODcxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkyMworIzogYnVpbHRpbnMuYzoxOTQxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKQEAgLTM4NjYsMTMgKzM4OTAsMTMgQEAKICIgICAg5dPMySDOxc/C0drB1MXM2M7ZyiDB0sfVzcXO1CDz7O/37yDC2cwgydPQz8zY2s/Xwc4sINTPIMLVxNXUICIKICLTx8XOxdLJ0s/Xwc7ZINTPzNjLzyDTz9fQwcTFzsnRINMg8+zv9+8uIgogCi0jOiBidWlsdGlucy5jOjE5MzgKKyM6IGJ1aWx0aW5zLmM6MTk1NgogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC0zODk3LDcgKzM5MjEsNyBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM5MjUsNyArMzk0OSw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtMzkzNyw3ICszOTYyLDcgQEAKICIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCmRpZmYgLS1naXQgYS9wby9zay5nbW8gYi9wby9zay5nbW8KaW5kZXggMDZiNzk4Zi4uNmQ0YjYyMCAxMDA2NDQKLS0tIGEvcG8vc2suZ21vCisrKyBiL3BvL3NrLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby9zay5wbyBiL3BvL3NrLnBvCmluZGV4IGRiYTMwNjEuLjM1MjIwMzYgMTAwNjQ0Ci0tLSBhL3BvL3NrLnBvCisrKyBiL3BvL3NrLnBvCkBAIC0xLDE0ICsxLDE0IEBACiAjIFNsb3ZhayB0cmFuc2xhdGlvbiBmb3IgYmFzaC4KICMgQ29weXJpZ2h0IChDKSAyMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgotIyBJdmFuIE1hc8OhciA8aGVsaXg4NEBjZW50cnVtLnNrPiwgMjAwNywgMjAwOCwgMjAwOS4KKyMgSXZhbiBNYXPDoXIgPGhlbGl4ODRAY2VudHJ1bS5zaz4sIDIwMDcsIDIwMDgsIDIwMDksIDIwMTAuCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMFxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCA0LjFcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDMtMTkgMTM6MDkrMDEwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDExLTAxLTI4IDIyOjA5LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEwLTAxLTA3IDE5OjE4KzAxMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEl2YW4gTWFzw6FyIDxoZWxpeDg0QGNlbnRydW0uc2s+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogU2xvdmFrIDxzay1pMThuQGxpc3RzLmxpbnV4LnNrPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC0yMCw3ICsyMCw3IEBACiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAiY2h5Ym7DvSBpbmRleCBwb8S+YSIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6IG5pZSBqZSBtb8W+bsOpIHByZXZpZXPFpSBpbmRleG92YW7DqSBwb2xlIG5hIGFzb2NpYXTDrXZuZSIKQEAgLTQwLDM1ICs0MCwzNSBAQAogbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIlczogJXM6IHByaSBwcmlyYcSPb3ZhbsOtIGFzb2NpYXTDrXZuZW11IHBvxL51IGplIHBvdHJlYm7DqSBwb3XFvmnFpSBpbmRleCIKIAotIzogYmFzaGhpc3QuYzozODMKKyM6IGJhc2hoaXN0LmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiJXM6IG5pZSBqZSBtb8W+bsOpIHZ5dHZvcmnFpTogJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQ1NworIzogYmFzaGxpbmUuYzozNDk4CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICIiCiAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogbmllIGplIG1vxb5uw6kgbsOhanPFpSBrbMOhdmVzb3bDuiBtYXB1IHByZSBwcsOta2F6IgogCi0jOiBiYXNobGluZS5jOjM1NDMKKyM6IGJhc2hsaW5lLmM6MzU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczogcHJ2w70gem5hayAob2tyZW0gYmllbHljaCB6bmFrb3YpIG5pZSBqZSDigJ5cIuKAnCIKIAotIzogYmFzaGxpbmUuYzozNTcyCisjOiBiYXNobGluZS5jOjM2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICJjaMO9YmEgemF0dsOhcmFqw7pjYSDigJ4lY+KAnCB2ICVzIgogCi0jOiBiYXNobGluZS5jOjM2MDYKKyM6IGJhc2hsaW5lLmM6MzY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiBjaMO9YmEgb2RkZcS+b3ZhxI0gZHZvamJvZGthIgogCiAjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgotbXNnc3RyICLigJ4lc+KAnDogbmVwbGF0bsO9IG7DoXpvdiBrbMOhdmVzb3ZlaiBtYXB5IgorbXNnc3RyICLigJ4lc+KAnDogbmVwbGF0bsO9IG7DoXpvdiBhbGlhc3UiCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCkBAIC0xMjIsMjYgKzEyMiwxMSBAQAogIiAgICBcbiIKICIgICAgQmV6IEVYUFIsIHZyYWNpYSAiCiAKLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Ci1tc2dpZCAiIgotIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgotIiAgICAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKLW1zZ2lkICIiCi0iOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCi0iICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKLSIgICAgXG4iCi0iICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKLSIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2QuZGVmOjIxNQorIzogYnVpbHRpbnMvY2QuZGVmOjIzNQogbXNnaWQgIkhPTUUgbm90IHNldCIKIG1zZ3N0ciAiSE9NRSBuZWJvbGEgbmFzdGF2ZW7DoSIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgogbXNnc3RyICJPTERQV0QgbmVib2xhIG5hc3RhdmVuw6EiCiAKQEAgLTE2MCwxMSArMTQ1LDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiBwb3XFvml0aWUgIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNworIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MzIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgInByw61sacWhIHZlxL5hIGFyZ3VtZW50b3YiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NTAwIHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVzOiB2b8S+YmEgdnnFvmFkdWplIGFyZ3VtZW50IgpAQCAtMjAyLDcgKzE4Nyw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICJuZXBsYXRuw6kgxaFlc3Ruw6FzdGtvdsOpIMSNw61zbG8iCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMzYyCiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgIm5lcGxhdG7DqSDEjcOtc2xvIgogCkBAIC0zMTEsMjUgKzI5NiwyNSBAQAogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgIm1vbWVudMOhbG5lIHNhIG5ldnlrb27DoXZhIGZ1bmtjaWEgZG9wbMWIb3ZhbmlhIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjIKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAiamUgbW/Fvm7DqSBwb3XFvmnFpSBpYmEgdm8gZnVua2NpaSIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjYKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIHBvdcW+acWlIOKAni1m4oCcIHByZSB0dm9yYnUgZnVua2Npw60iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3OCBleGVjdXRlX2NtZC5jOjUxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogZnVua2NpYSBpYmEgbmEgxI3DrXRhbmllIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogbmllIGplIG1vxb5uw6kgdGFrdG8gcm9iacWlIGRlxaF0cnVrY2l1IHByZW1lbm7DvWNoIHBvbMOtIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiJXM6IG5pZSBqZSBtb8W+bsOpIHByZXZpZXPFpSBhc29jaWF0w612bmUgcG9sZSBuYSBpbmRleG92YW7DqSIKQEAgLTM1OCwyOSArMzQzLDI5IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogbmllIGplIG1vxb5uw6kgem1hemHFpTogJXMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM0IGJ1aWx0aW5zL2hhc2guZGVmOjE2OSBleGVjdXRlX2NtZC5jOjQ3OTQKLSM6IHNoZWxsLmM6MTQ1MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzUgYnVpbHRpbnMvaGFzaC5kZWY6MTcxIGV4ZWN1dGVfY21kLmM6NDk2MQorIzogc2hlbGwuYzoxNDU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiJXM6IGplIGFkcmVzw6FyIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzOQorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhIHJlZ3VsYXIgZmlsZSIKIG1zZ3N0ciAiJXM6IG5pZSBqZSBvYnnEjWFqbsO9IHPDumJvciIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDcKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiJXM6IHPDumJvciBqZSBwcsOtbGnFoSB2ZcS+a8O9IgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKLSM6IHNoZWxsLmM6MTQ2MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczogbmllIGplIG1vxb5uw6kgdnlrb25hxaUgYmluw6Fybnkgc8O6Ym9yIgogCi0jOiBidWlsdGlucy9leGVjLmRlZjoyMTIKKyM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NCBidWlsdGlucy9leGVjLmRlZjoxNTYgYnVpbHRpbnMvZXhlYy5kZWY6MjI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCiBtc2dzdHIgIiVzOiBuaWUgamUgbW/Fvm7DqSBzcHVzdGnFpTogJXMiCkBAIC00MDgsMTEgKzM5MywxMSBAQAogbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCiBtc2dzdHIgInByw6FrYXogbmVuw6FqZGVuw70iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAixaFwZWNpZmlrw6FjaWEgaGlzdMOzcmllIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzcwCisjOiBidWlsdGlucy9mYy5kZWY6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczogbmllIGplIG1vxb5uw6kgb3R2b3JpxaUgb2RrbGFkYWPDrSBzw7pib3I6ICVzIgpAQCAtNDQ1LDcgKzQzMCw3IEBACiBtc2dpZCAiJXM6IGhhc2ggdGFibGUgZW1wdHlcbiIKIG1zZ3N0ciAiJXM6IGhhxaFvdmFjaWEgdGFidcS+a2EgamUgcHLDoXpkbmFcbiIKIAotIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0CisjOiBidWlsdGlucy9oYXNoLmRlZjoyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGl0c1x0Y29tbWFuZFxuIgogbXNnc3RyICJwb3XFvml0w61cdHByw61rYXpcbiIKQEAgLTUxNCw3NiArNDk5LDg2IEBACiBtc2dpZCAibm8gb3RoZXIgb3B0aW9ucyBhbGxvd2VkIHdpdGggYC14JyIKIG1zZ3N0ciAiaW7DqSB2b8S+YnkgcHLDrXB1c3Ruw6kgcyDigJ4teOKAnCIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCisjOiBidWlsdGlucy9raWxsLmRlZjoxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiJXM6IGFyZ3VtZW50eSBtdXNpYSBiecWlIElEIHByb2Nlc292IGFsZWJvIMO6bG9oIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjMKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIk5lem7DoW1hIGNoeWJhIgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICJvxI1ha8OhdmFsIHNhIHbDvXJheiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCi1tc2dzdHIgIiVzOiBuaWUgamUgcHJlbWVubsOhIHBvxL5hIgorbXNnc3RyICIlczogbmllIGplIGluZGV4b3ZhbsOpIHBvbGUiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NiBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiVzOiBuZXBsYXRuw6EgxaFwZWNpZmlrw6FjaWEgcG9waXNvdmHEjWEgc8O6Ym9ydSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY0IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogbmVwbGF0bsO9IHBvcGlzb3ZhxI0gc8O6Ym9ydTogJXMiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3MyBidWlsdGlucy9tYXBmaWxlLmRlZjozMTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXM6IG5lcGxhdG7DvSBwb8SNZXQgcmlhZGtvdiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlczogbmVwbGF0bsO9IHphxI1pYXRvayBwb8S+YSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiJXM6IG5lcGxhdG7DqSBrdmFudHVtIHNww6R0bsOpaG8gdm9sYW5pYSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzMKIG1zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgogbXNnc3RyICJuw6F6b3YgcHLDoXpkbmVqIHByZW1lbm5laiBwb8S+YSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICJ2ecW+YWR1amUgc2EgcG9kcG9yYSBwcmVtZW5uZWogcG/EvmEiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIuKAniVz4oCcOiBjaMO9YmEgZm9ybcOhdG92YWPDrSB6bmFrIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgdGltZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6IG5lcGxhdG7DoSDFoXBlY2lmaWvDoWNpYSBleHBpcsOhY2llICh0aW1lb3V0KSIKKworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICLigJ4lY+KAnDogbmVwbGF0bsO9IGZvcm3DoXRvdmFjw60gem5hayIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAidXBvem9ybmVuaWU6ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiY2jDvWJhIGhleGFkZWNpbcOhbG5hIMSNw61zbGljYSB2IFxceCIKIAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAiY2jDvWJhIGhleGFkZWNpbcOhbG5hIMSNw61zbGljYSB2IFxceCIKKwogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQogbXNnaWQgIm5vIG90aGVyIGRpcmVjdG9yeSIKIG1zZ3N0ciAixb5pYWRueSBpbsO9IGFkcmVzw6FyIgpAQCAtNzQxLDIxICs3MzYsMjEgQEAKICJuw6F2cmF0ICjigJ5yZXR1cm7igJwpIGplIG1vxb5uw6kgdnlrb25hxaUgaWJhIHogZnVua2NpZSBhbGVibyBza3JpcHR1IHZ5dm9sYW7DqWhvICIKICJwb21vY291IOKAnnNvdXJjZeKAnCIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo3NjgKKyM6IGJ1aWx0aW5zL3NldC5kZWY6NzcxCiBtc2dpZCAiY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUiCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIHrDoXJvdmXFiCB6cnXFoWnFpSBmdW5rY2l1IGEgcHJlbWVubsO6IgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgwNQorIzogYnVpbHRpbnMvc2V0LmRlZjo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiJXM6IG5pZSBqZSBtb8W+bsOpIHpydcWhacWlIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgxMgorIzogYnVpbHRpbnMvc2V0LmRlZjo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgJXMiCiBtc2dzdHIgIiVzOiBuaWUgamUgbW/Fvm7DqSB6cnXFoWnFpTogbGVuIG5hIMSNw610YW5pZSAlcyIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MjMKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBuaWUgamUgcHJlbWVubsOhIHBvxL5hIgpAQCAtNzY5LDIwICs3NjQsMjAgQEAKIG1zZ2lkICJzaGlmdCBjb3VudCIKIG1zZ3N0ciAicG9zdW4gbyIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2NAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIHrDoXJvdmXFiCBuYXN0YXZpxaUgYWogenJ1xaFpxaUgdm/EvmJ5IHNoZWxsdSIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IG5lcGxhdG7DvSBuw6F6b3Ygdm/EvmJ5IHNoZWxsdSIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMjgKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCiBtc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCiBtc2dzdHIgInZ5xb5hZHVqZSBzYSBhcmd1bWVudCBuw6F6b3Ygc8O6Ym9ydSIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IHPDumJvciBzYSBuZXBvZGFyaWxvIG7DoWpzxaUiCkBAIC04MjUsMjYgKzgyMCwyNiBAQAogbXNnaWQgIiVzIGlzIGhhc2hlZCAoJXMpXG4iCiBtc2dzdHIgIiVzIGplIGhhxaFvdmFuw70gKCVzKVxuIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBuZXBsYXRuw70gYXJndW1lbnQgbGltaXR1IgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogYmFkIGNvbW1hbmQiCiBtc2dzdHIgIuKAniVj4oCcOiBjaHlibsO9IHByw61rYXoiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDI3CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGdldCBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBuaWUgamUgbW/Fvm7DqSB6aXN0acWlIGxpbWl0OiAlcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiBtc2dpZCAibGltaXQiCiBtc2dzdHIgIm9ibWVkemVuaWUiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY1IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY1CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ2OSBidWlsdGlucy91bGltaXQuZGVmOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBuaWUgamUgbW/Fvm7DqSB6bWVuacWlIGxpbWl0OiAlcyIKQEAgLTkwMCwxMDUgKzg5NSwxMTAgQEAKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICIHxI1hcyB2eXByxaFhbCBwcmkgxI1ha2Fuw60gbmEgdnN0dXA6IGF1dG9tYXRpY2vDqSBvZGhsw6FzZW5pZVxuIgorbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnc3RyICJcYcSNYXMgdnlwcsWhYWwgcHJpIMSNYWthbsOtIG5hIHZzdHVwOiBhdXRvbWF0aWNrw6kgb2RobMOhc2VuaWVcbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTcKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIHByZXNtZXJvdmHFpSDFoXRhbmRhcmRuw70gdnN0dXAgeiAvZGV2L251bGw6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExNjIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlRJTUVGT1JNQVQ6IOKAniVj4oCcOiBuZXBsYXRuw70gZm9ybcOhdG92w6Fjw60gem5hayIKIAotIzogZXhlY3V0ZV9jbWQuYzoyMDc1CisjOiBleGVjdXRlX2NtZC5jOjIxMjEKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJjaHliYSByw7pyeSIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDgxCisjOiBleGVjdXRlX2NtZC5jOjQ2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczogb2JtZWR6ZW7DqTogbmllIGplbW/Fvm7DqSB1dmllc8WlIOKAni/igJwgdiBuw6F6dm9jaCBwcsOta2F6b3YiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDU3MgorIzogZXhlY3V0ZV9jbWQuYzo0NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IHByw61rYXogbmVuw6FqZGVuw70iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMiCittc2dzdHIgIiVzIGplICVzXG4iCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiBjaHlibsO9IGludGVycHJldGVyIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NzYKKyM6IGV4ZWN1dGVfY21kLmM6NTE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgogbXNnc3RyICJuaWUgamUgbW/Fvm7DqSBkdXBsaWtvdmHFpSBmZCAlZCBuYSBmZCAlZCIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICJib2xhIHByZWtyb8SNZW7DoSDDunJvdmXFiCByZWt1cnppZSB2w71yYXp1IgogCi0jOiBleHByLmM6MjY1CisjOiBleHByLmM6MjgwCiBtc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAicG9kdGXEjWVuaWUgesOhc29ibsOta2EgcmVrdXJ6aWUiCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZSB2byB2w71yYXplIgogCi0jOiBleHByLmM6NDE5CisjOiBleHByLmM6NDYzCiBtc2dpZCAiYXR0ZW1wdGVkIGFzc2lnbm1lbnQgdG8gbm9uLXZhcmlhYmxlIgogbXNnc3RyICJwb2t1cyBvIHByaXJhZGVuaWUgbWltbyBwcmVtZW5uZWoiCiAKLSM6IGV4cHIuYzo0NDAgZXhwci5jOjQ0NSBleHByLmM6NzU2CisjOiBleHByLmM6NDg2IGV4cHIuYzo0OTEgZXhwci5jOjgwNwogbXNnaWQgImRpdmlzaW9uIGJ5IDAiCiBtc2dzdHIgImRlbGVuaWUgbnVsb3UiCiAKLSM6IGV4cHIuYzo0NzEKKyM6IGV4cHIuYzo1MTcKIG1zZ2lkICJidWc6IGJhZCBleHBhc3NpZ24gdG9rZW4iCiBtc2dzdHIgImNoeWJhOiBjaHlibsO9IGV4cGFzc2lnbiB0b2tlbiIKIAotIzogZXhwci5jOjUxMworIzogZXhwci5jOjU2NAogbXNnaWQgImA6JyBleHBlY3RlZCBmb3IgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAicHJlIHBvZG1pZW5lbsO9IHbDvXJheiBzYSBvxI1ha8OhdmEg4oCeOuKAnCIKIAotIzogZXhwci5jOjc4MQorIzogZXhwci5jOjgzMgogbXNnaWQgImV4cG9uZW50IGxlc3MgdGhhbiAwIgogbXNnc3RyICJleHBvbmVudCBtZW7FocOtIGFrbyAwIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgInBvIHByZS1pbmtyZW1lbnTDoWNpaSBhbGVibyBwcmUtZGVrcmVtZW50w6FjaWkgc2Egb8SNYWvDoXZhIGlkZW50aWZpa8OhdG9yIgogCi0jOiBleHByLmM6ODU0CisjOiBleHByLmM6OTEwCiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgImNow71iYSDigJ4p4oCcIgogCi0jOiBleHByLmM6ODk3IGV4cHIuYzoxMTc2CisjOiBleHByLmM6OTU5IGV4cHIuYzoxMjgyCiBtc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgogbXNnc3RyICJjaHliYSBzeW50YXhlOiBvxI1ha8OhdmEgc2Egb3BlcmFuZCIKIAotIzogZXhwci5jOjExNzgKKyM6IGV4cHIuYzoxMjg0CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgImNoeWJhIHN5bnRheGU6IG5lcGxhdG7DvSBhcml0bWV0aWNrw70gb3BlcsOhdG9yIgogCi0jOiBleHByLmM6MTIwMgorIzogZXhwci5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiJXMlcyVzOiAlcyAoY2h5Ym7DvSB0b2tlbiBqZSDigJ4lc+KAnSkiCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJuZXBsYXRuw70gYXJpdG1ldGlja8O9IHrDoWtsYWQiCiAKLSM6IGV4cHIuYzoxMjgwCisjOiBleHByLmM6MTM4NgogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAiaG9kbm90YSBqZSBha28gesOha2xhZCBwcsOtbGnFoSB2ZcS+a8OhIgogCi0jOiBleHByLmM6MTMyOQorIzogZXhwci5jOjE0MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IGNoeWJhIHbDvXJhenVcbiIKQEAgLTEwMDcsMTYzICsxMDA3LDE2MyBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldGN3ZDogbmllIGplIG1vxb5uw6kgcHJpc3R1cG92YcWlIGsgcm9kacSNb3Zza8O9bSBhZHJlc8Ohcm9tIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NworIzogaW5wdXQuYzo5NCBzdWJzdC5jOjUwODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCiBtc2dzdHIgIm5pZSBqIGVtb8W+bsOpIHJlc2V0b3ZhxaUgbm9kZWxheSByZcW+aW0gZmQgJWQiCiAKLSM6IGlucHV0LmM6MjU4CisjOiBpbnB1dC5jOjI2MAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgYWxsb2NhdGUgbmV3IGZpbGUgZGVzY3JpcHRvciBmb3IgYmFzaCBpbnB1dCBmcm9tIGZkICVkIgogbXNnc3RyICJuaWUgamUgbW/Fvm7DqSBhbG9rb3ZhxaUgbm92w70gcG9waXNvdmHEjSBzw7pib3J1IHByZSB2c3R1cCBiYXNodSB6IGZkICVkIgogCi0jOiBpbnB1dC5jOjI2NgorIzogaW5wdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2F2ZV9iYXNoX2lucHV0OiBidWZmZXIgYWxyZWFkeSBleGlzdHMgZm9yIG5ldyBmZCAlZCIKIG1zZ3N0ciAic2F2ZV9iYXNoX2lucHV0OiBidWZlciB1xb4gZXhpc3R1amUgcHJlIG5vdsO9IGZkICVkIgogCi0jOiBqb2JzLmM6NDY2CisjOiBqb2JzLmM6NDY4CiBtc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIG1zZ3N0ciAic3RhcnRfcGlwZWxpbmU6IHBncnAgcsO6cmEiCiAKLSM6IGpvYnMuYzo4ODcKKyM6IGpvYnMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ya2VkIHBpZCAlZCBhcHBlYXJzIGluIHJ1bm5pbmcgam9iICVkIgogbXNnc3RyICJwaWQgJWQgesOtc2thbsO9IHBvbW9jb3UgZm9yayBzYSB2eXNreXR1amUgdiBiZcW+aWFjZWogw7psb2hlICVkIgogCi0jOiBqb2JzLmM6MTAwNQorIzogam9icy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKIG1zZ3N0ciAibWHFvmVtIHphc3RhdmVuw7ogw7psb2h1ICVkIHNvIHNrdXBpbm91IHByb2Nlc3UgJWxkIgogCi0jOiBqb2JzLmM6MTExMAorIzogam9icy5jOjExMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKIG1zZ3N0ciAiYWRkX3Byb2Nlc3M6IHByb2NlcyAlNWxkICglcykgdiB0aGVfcGlwZWxpbmUiCiAKLSM6IGpvYnMuYzoxMTEzCisjOiBqb2JzLmM6MTExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCiBtc2dzdHIgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIGplIHN0w6FsZSBvem5hxI1lbsO9IGFrbyDFvml2w70iCiAKLSM6IGpvYnMuYzoxNDAxCisjOiBqb2JzLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCiBtc2dzdHIgImRlc2NyaWJlX3BpZDogJWxkOiB0YWvDvSBwaWQgbmVleGlzdHVqZSIKIAotIzogam9icy5jOjE0MTYKKyM6IGpvYnMuYzoxNDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKIG1zZ3N0ciAiU2lnbsOhbCAlZCIKIAotIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0CiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiSG90b3ZvIgogCi0jOiBqb2JzLmM6MTQzNSBzaWdsaXN0LmM6MTIzCisjOiBqb2JzLmM6MTQ2NCBzaWdsaXN0LmM6MTIzCiBtc2dpZCAiU3RvcHBlZCIKIG1zZ3N0ciAiWmFzdGF2ZW7DqSIKIAotIzogam9icy5jOjE0MzkKKyM6IGpvYnMuYzoxNDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQoJXMpIgogbXNnc3RyICJaYXN0YXZlbsOpKCVzKSIKIAotIzogam9icy5jOjE0NDMKKyM6IGpvYnMuYzoxNDcyCiBtc2dpZCAiUnVubmluZyIKIG1zZ3N0ciAiQmXFvsOtIgogCi0jOiBqb2JzLmM6MTQ1NworIzogam9icy5jOjE0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCiBtc2dzdHIgIkhvdG92byglZCkiCiAKLSM6IGpvYnMuYzoxNDU5CisjOiBqb2JzLmM6MTQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeGl0ICVkIgogbXNnc3RyICJVa29uxI1lbmllICVkIgogCi0jOiBqb2JzLmM6MTQ2MgorIzogam9icy5jOjE0OTEKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKIG1zZ3N0ciAiTmV6bsOhbXkgc3RhdiIKIAotIzogam9icy5jOjE1NDkKKyM6IGpvYnMuYzoxNTc4CiAjLCBjLWZvcm1hdAogbXNnaWQgIihjb3JlIGR1bXBlZCkgIgogbXNnc3RyICIoYm9sIHVsb8W+ZW7DvSB2w71waXMgcGFtw6R0ZSkgIgogCi0jOiBqb2JzLmM6MTU2OAorIzogam9icy5jOjE1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiICAod2Q6ICVzKSIKIAotIzogam9icy5jOjE3NzYKKyM6IGpvYnMuYzoxODA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICJzZXRwZ2lkIGRldHNrw6lobyBwcm9jZXN1ICglbGQgdG8gJWxkKSIKIAotIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEzMyBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICJ3YWl0OiBwaWQgJWxkIG5pZSBqZSBkaWXFpWEgdG9odG8gc2hlbGx1IgogCi0jOiBqb2JzLmM6MjMzMQorIzogam9icy5jOjIzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IE5lZXhpc3R1amUgesOhem5hbSBvIHByb2Nlc2UgJWxkIgogCi0jOiBqb2JzLmM6MjYwNworIzogam9icy5jOjI2MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAid2FpdF9mb3Jfam9iOiDDumxvaGEgJWQgamUgemFzdGF2ZW7DoSIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiDDumxvaGEgc2tvbsSNaWxhIgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiVzOiDDumxvaGEgJWQgdcW+IGplIHYgcG96YWTDrSIKIAotIzogam9icy5jOjMwNTkKKyM6IGpvYnMuYzozMDg5CiBtc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgotbXNnc3RyICIiCittc2dzdHIgIndhaXRjaGxkOiB6YXDDrW5hIHNhIFdOT0hBTkcgYWJ5IHNtZSBzYSB2eWhsaSBuZXVyxI1pdMOpbXUgYmxva292YW5pdSIKIAotIzogam9icy5jOjM1MDgKKyM6IGpvYnMuYzozNTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIiVzOiByaWFkb2sgJWQ6ICIKIAotIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiAoYm9sIHVsb8W+ZW7DvSB2w71waXMgcGFtw6R0ZSkiCiAKLSM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CisjOiBqb2JzLmM6MzU2NCBqb2JzLmM6MzU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiKHdkIHRlcmF6OiAlcylcbiIKIAotIzogam9icy5jOjM1NzkKKyM6IGpvYnMuYzozNjA5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGZ1bmtjaWEgZ2V0cGdycCB6bHloYWxhIgogCi0jOiBqb2JzLmM6MzYzOQorIzogam9icy5jOjM2NjkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHJpYWRrb3bDvSBzeXN0w6ltIgogCi0jOiBqb2JzLmM6MzY0OQorIzogam9icy5jOjM2NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogCi0jOiBqb2JzLmM6MzY3NworIzogam9icy5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIG5hc3RhdmnFpSBza3VwaW51IHByb2Nlc3UgdGVybWluw6FsdSAoJWQpIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJ2IHRvbXRvIHNoZWxsaSBuaWUgamUgcmlhZGVuaWUgw7psb2giCiAKQEAgLTEyNTgsMjIgKzEyNTgsMjIgQEAKICM6IGxvY2FsZS5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzZXRsb2NhbGU6IExDX0FMTDogbmVtb8W+bm8gem1lbmnFpSBsb2NhbGUgKCVzKSIKIAogIzogbG9jYWxlLmM6MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKLW1zZ3N0ciAiIgorbXNnc3RyICJzZXRsb2NhbGU6IExDX0FMTDogbmVtb8W+bm8gem1lbmnFpSBsb2NhbGUgKCVzKTogJXMiCiAKICM6IGxvY2FsZS5jOjI0NwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCi1tc2dzdHIgInhyZWFsbG9jOiAlczolZDogbmllIGplIG1vxb5uw6kgYWxva292YcWlICVsdSBiYWp0b3YiCittc2dzdHIgInNldGxvY2FsZTogJXM6IG5pZSBqZSBtb8W+bsOpIHptZW5pxaUgbG9jYWxlICglcykiCiAKICM6IGxvY2FsZS5jOjI0OQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgotbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6IG5pZSBqZSBtb8W+bsOpIGFsb2tvdmHFpSAlbHUgYmFqdG92IgorbXNnc3RyICJzZXRsb2NhbGU6ICVzOiBuaWUgamUgbW/Fvm7DqSB6bWVuacWlIGxvY2FsZSAoJXMpOiAlcyIKIAogIzogbWFpbGNoZWNrLmM6NDMzCiBtc2dpZCAiWW91IGhhdmUgbWFpbCBpbiAkXyIKQEAgLTEzMTcsOTkgKzEzMTcsOTkgQEAKIG1zZ2lkICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiBgJWQnIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAibWFrZV9yZWRpcmVjdGlvbjogaW7FoXRydWtjaWEgcHJlc21lcm92YW5pYSDigJ4lZOKAnCBtaW1vIHJvenNhaHUiCiAKLSM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAibmVvxI1ha8OhdmFuw70ga29uaWVjIHPDumJvcnUgcG/EjWFzIGjEvmFkYW5pYSB6b2Rwb3ZlZGFqw7pjZWhvIOKAniVj4oCcIgogCi0jOiBwYXJzZS55OjM5NTEKKyM6IHBhcnNlLnk6NDAyNQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgIm5lb8SNYWvDoXZhbsO9IGtvbmllYyBzw7pib3J1IHBvxI1hcyBoxL5hZGFuaWEg4oCeXV3igJwiCiAKLSM6IHBhcnNlLnk6Mzk1NgorIzogcGFyc2UueTo0MDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgImNoeWJhIHN5bnRheGUgdiBwb2RtaWVuZcSNbm9tIHByw61rYXplOiBuZW/EjWFrw6F2YW7DvSB0b2tlbiDigJ4lc+KAnCIKIAotIzogcGFyc2UueTozOTYwCisjOiBwYXJzZS55OjQwMzQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZSB2IHBvZG1pZW5lxI1ub20gcHLDrWthemUiCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJuZW/EjWFrw6F2YW7DvSB0b2tlbiDigJ4lc+KAnCwgb8SNYWvDoXZhbG8gc2EgYCknIgogCi0jOiBwYXJzZS55OjQwNDIKKyM6IHBhcnNlLnk6NDExNgogbXNnaWQgImV4cGVjdGVkIGApJyIKIG1zZ3N0ciAib8SNYWvDoXZhbG8gc2EgYCknIgogCi0jOiBwYXJzZS55OjQwNzAKKyM6IHBhcnNlLnk6NDE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm5lb8SNYWvDoXZhbsO9IGFyZ3VtZW50IOKAniVz4oCcIHBvZG1pZW5lxI1uw6lobyB1bsOhcm5laG8gb3BlcsOhdG9yYSIKIAotIzogcGFyc2UueTo0MDc0CisjOiBwYXJzZS55OjQxNDgKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuZW/EjWFrw6F2YW7DvSBhcmd1bWVudCBwb2RtaWVuZcSNbsOpaG8gdW7DoXJuZWhvIG9wZXLDoXRvcmEiCiAKLSM6IHBhcnNlLnk6NDEyMAorIzogcGFyc2UueTo0MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJuZW/EjWFrw6F2YW7DvSB0b2tlbiDigJ4lc+KAnCwgb8SNYWvDoXZhIHNhIHBvZG1pZW5lxI1uw70gYmluw6Fybnkgb3BlcsOhdG9yIgogCi0jOiBwYXJzZS55OjQxMjQKKyM6IHBhcnNlLnk6NDE5OAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAib8SNYWvDoXZhIHNhIHBvZG1pZW5lxI1uw70gYmluw6Fybnkgb3BlcsOhdG9yIgogCi0jOiBwYXJzZS55OjQxNDYKKyM6IHBhcnNlLnk6NDIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJuZW/EjWFrw6F2YW7DvSBhcmd1bWVudCDigJ4lc+KAnCB2IHBvZG1pZW5lxI1ub20gYmluw6Fybm9tIG9wZXLDoXRvcmUiCiAKLSM6IHBhcnNlLnk6NDE1MAorIzogcGFyc2UueTo0MjI0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm5lb8SNYWvDoXZhbsO9IGFyZ3VtZW50IHYgcG9kbWllbmXEjW5vbSBiaW7DoXJub20gb3BlcsOhdG9yZSIKIAotIzogcGFyc2UueTo0MTYxCisjOiBwYXJzZS55OjQyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIm5lb8SNYWvDoXZhbsO9IHRva2VuIOKAniVj4oCcIHYgcG9kbWllbmXEjW5vbSBwcsOta2F6ZSIKIAotIzogcGFyc2UueTo0MTY0CisjOiBwYXJzZS55OjQyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIm5lb8SNYWvDoXZhbsO9IHRva2VuIOKAniVz4oCcIHYgcG9kbWllbmXEjW5vbSBwcsOta2F6ZSIKIAotIzogcGFyc2UueTo0MTY4CisjOiBwYXJzZS55OjQyNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJuZW/EjWFrw6F2YW7DvSB0b2tlbiAlZCB2IHBvZG1pZW5lxI1ub20gcHLDrWthemUiCiAKLSM6IHBhcnNlLnk6NTQ1OQorIzogcGFyc2UueTo1NTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZSBuZcSPYWxla28gbmVvxI1ha8OhdmFuw6lobyB0b2tlbnUg4oCeJXPigJwiCiAKLSM6IHBhcnNlLnk6NTQ3NworIzogcGFyc2UueTo1NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgImNoeWJhIHN5bnRheGUgbmXEj2FsZWtvIOKAniVz4oCcIgogCi0jOiBwYXJzZS55OjU0ODcKKyM6IHBhcnNlLnk6NTU5NAogbXNnaWQgInN5bnRheCBlcnJvcjogdW5leHBlY3RlZCBlbmQgb2YgZmlsZSIKIG1zZ3N0ciAiY2h5YmEgc3ludGF4ZTogbmVvxI1ha8OhdmFuw70ga29uaWVjIHPDumJvcnUiCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICJjaHliYSBzeW50YXhlIgogCi0jOiBwYXJzZS55OjU1NDkKKyM6IHBhcnNlLnk6NTY1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKIG1zZ3N0ciAiTmEgb3B1c3RlbmllIHNoZWxsdSBwb3XFvml0ZSDigJ4lc+KAnC5cbiIKIAotIzogcGFyc2UueTo1NzExCisjOiBwYXJzZS55OjU4MTgKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIm5lb8SNYWvDoXZhbsO9IGtvbmllYyBzw7pib3J1IHBvxI1hcyBoxL5hZGFuaWEgem9kcG92ZWRhasO6Y2VobyDigJ4p4oCcIgogCkBAIC0xNDE4LDc3ICsxNDE4LDc3IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgImRva29uxI1vdmFuaWU6IGZ1bmtjaWEg4oCeJXPigJwgbmVib2xhIG7DoWpkZW7DoSIKIAotIzogcGNvbXBsaWIuYzoxNzkKKyM6IHBjb21wbGliLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI5MAorIzogcHJpbnRfY21kLmM6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogY2h5Ym7DvSBrb25la3RvciBgJWQnIgogCi0jOiBwcmludF9jbWQuYzozNjMKLSMsIGZ1enp5LCBjLWZvcm1hdAotbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKLW1zZ3N0ciAiJWQ6IG5lcGxhdG7DvSBwb3Bpc292YcSNIHPDumJvcnU6ICVzIgotCiAjOiBwcmludF9jbWQuYzozNjgKLW1zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKLW1zZ3N0ciAiIgorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgInh0cmFjZV9zZXQ6ICVkOiBuZXBsYXRuw70gcG9waXNvdmHEjSBzw7pib3J1IgogCi0jOiBwcmludF9jbWQuYzozNzIKKyM6IHByaW50X2NtZC5jOjM3MworbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICJ4dHJhY2Vfc2V0OiB1a2F6b3ZhdGXEviBzw7pib3J1IGplIE5VTEwiCisKKyM6IHByaW50X2NtZC5jOjM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCi1tc2dzdHIgIiIKK21zZ3N0ciAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgogCi0jOiBwcmludF9jbWQuYzoxNDYxCisjOiBwcmludF9jbWQuYzoxNDc4CiAjLCBjLWZvcm1hdAogbXNnaWQgImNwcmludGY6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiY3ByaW50Zjog4oCeJWPigJw6IG5lcGxhdG7DvSBmb3Jtw6F0b3ZhY8OtIHpuYWsiCiAKLSM6IHJlZGlyLmM6MTEwCisjOiByZWRpci5jOjEyMgogbXNnaWQgImZpbGUgZGVzY3JpcHRvciBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgInBvcGlzb3ZhxI0gc8O6Ym9ydSBtaW1vIHJvenNhaHUiCiAKLSM6IHJlZGlyLmM6MTY2CisjOiByZWRpci5jOjE3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgogbXNnc3RyICIlczogbmVqZWRub3puYcSNbsOpIHByZXNtZXJvdmFuaWUiCiAKLSM6IHJlZGlyLmM6MTcwCisjOiByZWRpci5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIgogbXNnc3RyICIlczogbmllIGplIG1vxb5uw6kgcHJlcMOtc2HFpSBleGlzdHVqw7pjaSBzw7pib3IiCiAKLSM6IHJlZGlyLmM6MTc1CisjOiByZWRpci5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IG9tYmVkemVuw6k6IG5pZSBqZSBtb8W+bsOpIHByZXNtZXJvdmHFpSB2w71zdHVwIgogCi0jOiByZWRpci5jOjE4MAorIzogcmVkaXIuYzoxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGNyZWF0ZSB0ZW1wIGZpbGUgZm9yIGhlcmUtZG9jdW1lbnQ6ICVzIgogbXNnc3RyICJuaWUgamUgbW/Fvm7DqSB2eXR2b3JpxaUgb2RrbGFkYWPDrSBzw7pib3IgcHJlIGhlcmUtZG9jdW1lbnQ6ICVzIgogCi0jOiByZWRpci5jOjE4NAotIywgZnV6enksIGMtZm9ybWF0CisjOiByZWRpci5jOjE5NgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKLW1zZ3N0ciAiJXM6IG5pZSBqZSBtb8W+bsOpIHByaXJhZGnFpSB6b3puYW0gcG9sb8W+a2UgcG/EvmEiCittc2dzdHIgIiVzOiBuaWUgamUgbW/Fvm7DqSBwcmlyYWRpxaUgcG9waXNvdmHEjSBzw7pib3J1IHByZW1lbm5laiIKIAotIzogcmVkaXIuYzo1NDQKKyM6IHJlZGlyLmM6NTQ4CiBtc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgogbXNnc3RyICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgbmllIGplIHBvZHBvcm92YW7DvSBiZXogcG9kcG9yeSBzaWV0w60iCiAKLSM6IHJlZGlyLmM6MTEwMQorIzogcmVkaXIuYzo4MTggcmVkaXIuYzo5MzAgcmVkaXIuYzo5OTMgcmVkaXIuYzoxMTM2CiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgImNoeWJhIHByZXNtZXJvdmFuaWE6IG5pZSBqZSBtb8W+bsOpIGR1cGxpa292YcWlIGZkIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAibmVuYcWhaWVsIHNhIC90bXAsIHZ5dHZvcnRlIGhvIHByb3PDrW0hIgogCi0jOiBzaGVsbC5jOjMzNgorIzogc2hlbGwuYzozMzcKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiL3RtcCBtdXPDrSBiecWlIHBsYXRuw70gbsOhem92IGFkcmVzw6FyYSIKIApAQCAtMTQ5NywxNiArMTQ5NywxNiBAQAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiBuZXBsYXRuw6Egdm/EvmJhIgogCi0jOiBzaGVsbC5jOjE2NTEKKyM6IHNoZWxsLmM6MTY1MgogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAiTmVtw6FtIG1lbm8hIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIkdOVSBiYXNoLCB2ZXJ6aWEgJXMtKCVzKVxuIgogCi0jOiBzaGVsbC5jOjE3OTQKKyM6IHNoZWxsLmM6MTc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE1MTUsNDIgKzE1MTUsNDIgQEAKICJQb3XFvml0aWU6XHQlcyBbR05VIGRsaMOhIHZvxL5iYV0gW3ZvxL5iYV0gLi4uXG4iCiAiXHQlcyBbR05VIGRsaMOhIHZvxL5iYV0gW3ZvxL5iYV0gc8O6Ym9yLXNrcmlwdHUgLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc5NgorIzogc2hlbGwuYzoxNzk4CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiR05VIGRsaMOpIHZvxL5ieTpcbiIKIAotIzogc2hlbGwuYzoxODAwCisjOiBzaGVsbC5jOjE4MDIKIG1zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgogbXNnc3RyICJWb8S+Ynkgc2hlbGx1OlxuIgogCi0jOiBzaGVsbC5jOjE4MDEKKyM6IHNoZWxsLmM6MTgwMwogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCBhbGVibyAtYyBwcsOta2F6IGFsZWJvIC1PIGtyw6F0a2Ffdm/EvmJhXHRcdChpYmEgdnl2b2xhbmllKVxuIgogCi0jOiBzaGVsbC5jOjE4MTYKKyM6IHNoZWxsLmM6MTgxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgYWxlYm8gLW8gdm/EvmJhXG4iCiAKLSM6IHNoZWxsLmM6MTgyMgorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogIk5hcMOtc2Fuw61tIOKAniVzIC1jIFwiaGVscCBzZXRcIuKAnCB6w61za2F0ZSB2aWFjIGluZm9ybcOhY2nDrSBvIHZvxL5iw6FjaCBzaGVsbHUuXG4iCiAKLSM6IHNoZWxsLmM6MTgyMworIzogc2hlbGwuYzoxODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiBtc2dzdHIgIiIKICJOYXDDrXNhbsOtbSDigJ4lcyAtYyBoZWxw4oCcIHrDrXNrYXRlIHZpYWMgaW5mb3Jtw6FjacOtIG8gdnN0YXZhbsO9Y2ggcHLDrWthem9jaCAiCiAiKGJ1aWx0aW5zKSBzaGVsbHUuXG4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIk5hIG9obGFzb3ZhbmllIGNow71iIHBvdcW+aXRlIHByw61rYXog4oCeYmFzaGJ1Z+KAnC5cbiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiBuZXBsYXRuw6Egb3BlcsOhY2lhIgpAQCAtMTcyNCw4MyArMTcyNCw4NSBAQAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiTmV6bsOhbXkgc2lnbsOhbCAjJWQiCiAKLSM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE1MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJjaHlibsOhIHN1YnN0aXTDumNpYTogY2jDvWJhIOKAniVz4oCcIHYgJXMiCiAKLSM6IHN1YnN0LmM6MjczNQorIzogc3Vic3QuYzoyNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogbmllIGplIG1vxb5uw6kgcHJpcmFkacWlIHpvem5hbSBwb2xvxb5rZSBwb8S+YSIKIAotIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAorIzogc3Vic3QuYzo0OTc5IHN1YnN0LmM6NDk5NQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJuaWUgamUgbW/Fvm7DqSB2eXR2b3JpxaUgcsO6cnUgcHJlIHN1YnN0aXTDumNpdSBwcm9jZXNvdiIKIAotIzogc3Vic3QuYzo0ODAyCisjOiBzdWJzdC5jOjUwMjcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIHZ5dHZvcmnFpSBwb3RvbWthIHByZSBzdWJzdGl0w7pjaXUgcHJvY2Vzb3YiCiAKLSM6IHN1YnN0LmM6NDg0NworIzogc3Vic3QuYzo1MDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIG90dm9yacWlIHBvbWVub3ZhbsO6IHLDunJ1ICVzIG5hIMSNw610YW5pZSIKIAotIzogc3Vic3QuYzo0ODQ5CisjOiBzdWJzdC5jOjUwNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAibmllIGplIG1vxb5uw6kgb3R2b3JpxaUgcG9tZW5vdmFuw7ogcsO6cnUgJXMgbmEgesOhcGlzIgogCi0jOiBzdWJzdC5jOjQ4NjcKKyM6IHN1YnN0LmM6NTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgIm5pZSBqZSBtb8W+bsOpIGR1cGxpa292YcWlIHBvbWVub3ZhbsO6IHLDunJ1ICVzIGFrbyBmZCAlZCIKIAotIzogc3Vic3QuYzo1MDYzCisjOiBzdWJzdC5jOjUyODQKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibmllIGplIG1vxb5uw6kgdnl0dm9yacWlIHLDunJ1IHByZSBzdWJzdGl0w7pjaXUgcHLDrWthem92IgogCi0jOiBzdWJzdC5jOjUwOTcKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAibmllIGplIG1vxb5uw6kgdnl0dm9yacWlIHBvdG9ta2EgcHJlIHN1YnN0aXTDumNpdSBwcsOta2F6b3YiCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlOiBuaWUgamUgbW/Fvm7DqSBkdXBsaWtvdmHFpSByw7pydSBha28gZmQgMSIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiBwYXJhbWV0ZXIgamUgbnVsbCBhbGVibyBuZW5hc3RhdmVuw70iCiAKLSM6IHN1YnN0LmM6NTkwNworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgogbXNnc3RyICIlczogdsO9cmF6IHBvZHJlxaVhemNhIDwgMCIKIAotIzogc3Vic3QuYzo2OTY1CisjOiBzdWJzdC5jOjcyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBjaHlibsOhIHN1YnN0aXTDumNpYSIKIAotIzogc3Vic3QuYzo3MDQ1CisjOiBzdWJzdC5jOjczNDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJCVzOiBjYW5ub3QgYXNzaWduIGluIHRoaXMgd2F5IgogbXNnc3RyICIkJXM6IG5pZSBqZSBtb8W+bsOpIHZ5a29uYcWlIHByaXJhZGVuaWUgdGFrw71tdG8gc3DDtHNvYm9tIgogCi0jOiBzdWJzdC5jOjczNzQKKyM6IHN1YnN0LmM6NzY4NAogbXNnaWQgIiIKICJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKICJzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKKyJidWTDumNlIHZlcnppZSBzaGVsbHUgYnVkw7ogdnludWNvdmHFpSB2eWhvZG5vY292YW5pZSBha28gYXJpdG1ldGlja8O6ICIKKyJzdWJzdGl0w7pjaXUiCiAKLSM6IHN1YnN0LmM6NzgzOQorIzogc3Vic3QuYzo4MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgImNoeWJuw6Egc3Vic3RpdMO6Y2lhOiA6IHYgcmXFpWF6Y2kgJXMgY2jDvWJhIHV6YXR2w6FyYWrDumNpIOKAnmDigJ0iCiAKLSM6IHN1YnN0LmM6ODcyMAorIzogc3Vic3QuYzo5MDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiYmV6IHpob2R5OiAlcyIKQEAgLTE4MjMsMzcgKzE4MjUsMzcgQEAKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJvxI1ha8OhdmFsYSBzYSDigJ4p4oCcLCBib2xvIG7DoWpkZW7DqSAlcyIKIAotIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IG/EjWFrw6F2YWwgc2EgdW7DoXJueSBvcGVyw6F0b3IiCiAKLSM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiVzOiBvxI1ha8OhdmFsIHNhIGJpbsOhcm55IG9wZXLDoXRvciIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICJjaMO9YmEg4oCeXeKAnCIKIAotIzogdHJhcC5jOjIwMworIzogdHJhcC5jOjIwNwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAibmVwbGF0bsOpIMSNw61zbG8gc2lnbsOhbHUiCiAKLSM6IHRyYXAuYzozMjcKKyM6IHRyYXAuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IGNoeWJuw6EgaG9kbm90YSB2IHRyYXBfbGlzdFslZF06ICVwIgogCi0jOiB0cmFwLmM6MzMxCisjOiB0cmFwLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IG9ic2x1aGEgc2lnbsOhbHUgamUgU0lHX0RGTCwgem5vdnUgcG9zaWVsYW0gJWQgKCVzKSBzZWJlIgogCi0jOiB0cmFwLmM6MzgwCisjOiB0cmFwLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBjaHlibsO9IHNpZ27DoWwgJWQiCkBAIC0xODYzLDU4ICsxODY1LDU5IEBACiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgImNoeWJhIHByaSBpbXBvcnRlIGRlZmluw61jaWUgZnVua2NpZSDigJ4lc+KAnCIKIAotIzogdmFyaWFibGVzLmM6NzQ4CisjOiB2YXJpYWJsZXMuYzo3NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCiBtc2dzdHIgIsO6cm92ZcWIIHNoZWxsdSAoJWQpIGplIHByw61sacWhIHZ5c29rw6EsIG5hc3RhdnVqZW0gc3DDpMWlIG5hIDEiCiAKLSM6IHZhcmlhYmxlcy5jOjE5MTUKKyM6IHZhcmlhYmxlcy5jOjE5MzIKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIm1ha2VfbG9jYWxfdmFyaWFibGU6IHYgYWt0dcOhbG5vbSByb3pzYWh1IHNhIG5lbmFjaMOhZHphIGtvbnRleHQgZnVua2NpZSIKIAotIzogdmFyaWFibGVzLmM6MzE1OQorIzogdmFyaWFibGVzLmM6MzE4MgogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiYWxsX2xvY2FsX3ZhcmlhYmxlczogdiBha3R1w6Fsbm9tIHJvenNhaHUgc2EgbmVuYWNow6FkemEga29udGV4dCBmdW5rY2llIgogCi0jOiB2YXJpYWJsZXMuYzozMzc2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHZhcmlhYmxlcy5jOjM0MjcKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgotbXNnc3RyICIlczogcGFyYW1ldGVyIGplIG51bGwgYWxlYm8gbmVuYXN0YXZlbsO9IgorbXNnc3RyICIlcyBtw6EgbnVsbCBleHBvcnRzdHIiCiAKLSM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAorIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIm5lcGxhdG7DvSB6bmFrICVkIHYgZXhwb3J0c3RyICVzIgogCi0jOiB2YXJpYWJsZXMuYzozMzk2CisjOiB2YXJpYWJsZXMuYzozNDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICLFvmlhZG5lIOKAnj3igJwgdiBleHBvcnRzdHIgJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM4MzUKKyM6IHZhcmlhYmxlcy5jOjM4OTEKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDogaGxhdmnEjWthIHNoZWxsX3ZhcmlhYmxlcyBuaWUgamUga29udGV4dCBmdW5rY2llIgogCi0jOiB2YXJpYWJsZXMuYzozODQ4CisjOiB2YXJpYWJsZXMuYzozOTA0CiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBubyBnbG9iYWxfdmFyaWFibGVzIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDogY2jDvWJhIGtvbnRleHQgZ2xvYmFsX3ZhcmlhYmxlcyIKIAotIzogdmFyaWFibGVzLmM6MzkyMgorIzogdmFyaWFibGVzLmM6Mzk3OAogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICJwb3Bfc2NvcGU6IGhsYXZpxI1rYSBzaGVsbF92YXJpYWJsZXMgbmllIGplIGRvxI1hc27DvSByb3pzYWggcHJvc3RyZWRpYSIKIAotIzogdmFyaWFibGVzLmM6NDY3OAotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzo0Nzg2CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKLW1zZ3N0ciAiJXM6IG5pZSBqZSBtb8W+bsOpIG90dm9yacWlOiAlcyIKK21zZ3N0ciAiJXM6ICVzOiBuZW1vxb5ubyBvdHZvcmnFpSBha28gU8OaQk9SIgogCi0jOiB2YXJpYWJsZXMuYzo0NjgzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHZhcmlhYmxlcy5jOjQ3OTEKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCi1tc2dzdHIgIiVkOiBuZXBsYXRuw70gcG9waXNvdmHEjSBzw7pib3J1OiAlcyIKK21zZ3N0ciAiJXM6ICVzOiBuZXBsYXRuw6EgaG9kbm90YSBwb3Bpc292YcSNYSB0cmFzb3ZhY2llaG8gc8O6Ym9ydSIKIAogIzogdmVyc2lvbi5jOjQ2Ci1tc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKKyMsIGZ1enp5Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIAogIzogdmVyc2lvbi5jOjQ3CkBAIC0xOTQzLDM5ICsxOTQ2LDM4IEBACiAiYXBsaWtvdmF0ZcS+bsOpIHByw6F2by5cbiIKIAogIzogdmVyc2lvbjIuYzo4NgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKLW1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgogCiAjOiB2ZXJzaW9uMi5jOjg3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKICJodG1sPlxuIgogbXNnc3RyICIiCi0iTGljZW5jaWEgR1BMdjMrOiBHTlUgR1BMIHZlcnppZSAzIGFsZWJvIG5vdsWhaWEgaHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJMaWNlbmNpYSBHUEx2Mis6IEdOVSBHUEwgdmVyemllIDIgYWxlYm8gbm92xaFpYSBodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgogImh0bWxcbiIKIAogIzogeG1hbGxvYy5jOjkxCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4bWFsbG9jOiBuaWUgamUgbW/Fvm7DqSBhbG9rb3ZhxaUgJWx1IGJhanRvdiAoJWx1IGJhanRvdiBhbG9rb3ZhbsO9Y2gpIgorbXNnc3RyICIlczogbmllIGplIG1vxb5uw6kgYWxva292YcWlICVsdSBiYWp0b3YgKCVsdSBiYWp0b3YgYWxva292YW7DvWNoKSIKIAogIzogeG1hbGxvYy5jOjkzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6IG5pZSBqZSBtb8W+bsOpIGFsb2tvdmHFpSAlbHUgYmFqdG92IgorbXNnc3RyICIlczogbmllIGplIG1vxb5uw6kgYWxva292YcWlICVsdSBiYWp0b3YiCiAKICM6IHhtYWxsb2MuYzoxNjMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICIiCi0ieG1hbGxvYzogJXM6JWQ6IG5pZSBqZSBtb8W+bsOpIGFsb2tvdmHFpSAlbHUgYmFqdG92ICglbHUgYmFqdG92IGFsb2tvdmFuw71jaCkiCittc2dzdHIgIiVzOiAlczolZDogbmllIGplIG1vxb5uw6kgYWxva292YcWlICVsdSBiYWp0b3YgKCVsdSBiYWp0b3YgYWxva292YW7DvWNoKSIKIAogIzogeG1hbGxvYy5jOjE2NQotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKLW1zZ3N0ciAieG1hbGxvYzogJXM6JWQ6IG5pZSBqZSBtb8W+bsOpIGFsb2tvdmHFpSAlbHUgYmFqdG92IgorbXNnc3RyICIlczogJXM6JWQ6IG5pZSBqZSBtb8W+bsOpIGFsb2tvdmHFpSAlbHUgYmFqdG92IgogCiAjOiBidWlsdGlucy5jOjQzCiBtc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgpAQCAtMjAxMSw3ICsyMDEzLDggQEAKIG1zZ3N0ciAiY2FsbGVyIFt2w71yYXpdIgogCiAjOiBidWlsdGlucy5jOjY0Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKKyMsIGZ1enp5Cittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCiBtc2dzdHIgImNkIFstTHwtUF0gW2FkcmVzw6FyXSIKIAogIzogYnVpbHRpbnMuYzo2NgpAQCAtMjAzNSwxMSArMjAzOCwxMyBAQAogbXNnc3RyICJjb21tYW5kIFstcFZ2XSBjb21tYW5kIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzo3NgotbXNnaWQgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAiZGVjbGFyZSBbLWFBZkZnaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKIG1zZ3N0ciAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW27DoXpvdls9aG9kbm90YV0gLi4uXSIKIAogIzogYnVpbHRpbnMuYzo3OAotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCisjLCBmdXp6eQorbXNnaWQgInR5cGVzZXQgWy1hQWZGZ2lscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgogbXNnc3RyICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSBuw6F6b3ZbPWhvZG5vdGFdIC4uLiIKIAogIzogYnVpbHRpbnMuYzo4MApAQCAtMjA5Niw5ICsyMTAxLDggQEAKIG1zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgY2VzdGFdIFstZHRdIFtuw6F6b3YgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMTcKLSMsIGZ1enp5CiBtc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKLW1zZ3N0ciAiaGVscCBbLWRzXSBbdnpvciAuLi5dIgorbXNnc3RyICJoZWxwIFstZG1zXSBbdnpvciAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEyMQogbXNnaWQgIiIKQEAgLTIxMjksMjAgKzIxMzMsMjAgQEAKIG1zZ3N0ciAibGV0IGFyZyBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM2Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJyZWFkIFstZXJzXSBbLWEgYXJyYXldIFstZCBkZWxpbV0gWy1pIHRleHRdIFstbiBuY2hhcnNdIFstTiBuY2hhcnNdIFstcCAiCiAicHJvbXB0XSBbLXQgdGltZW91dF0gWy11IGZkXSBbbmFtZSAuLi5dIgogbXNnc3RyICIiCi0icmVhZCBbLWVyc10gWy1hIHBvbGVdIFstZCBvZGRlxL5vdmHEjV0gWy1pIHRleHRdIFstbiBuem5ha292XSBbLXAgdsO9enZhXSBbLXQgIgotInpkcsW+YWRuaWVdIFstdSBmZF0gW27DoXpvdiAuLi5dIgorInJlYWQgWy1lcnNdIFstYSBwb2xlXSBbLWQgb2RkZcS+b3ZhxI1dIFstaSB0ZXh0XSBbLW4gbnpuYWtvdl0gWy1OIG56bmFrb3ZdIFstcCAiCisidsO9enZhXSBbLXQgemRyxb5hZG5pZV0gWy11IGZkXSBbbsOhem92IC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTM4CiBtc2dpZCAicmV0dXJuIFtuXSIKIG1zZ3N0ciAicmV0dXJuIFtuXSIKIAogIzogYnVpbHRpbnMuYzoxNDAKLW1zZ2lkICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dIgorIywgZnV6enkKK21zZ2lkICJzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXSIKIG1zZ3N0ciAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gbsOhem92X3ZvxL5ieV0gW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE0MgpAQCAtMjE1NCw3ICsyMTU4LDggQEAKIG1zZ3N0ciAiZXhwb3J0IFstZm5dIFtuw6F6b3ZbPWhvZG5vdGFdIC4uLl0gYWxlYm8gZXhwb3J0IC1wIgogCiAjOiBidWlsdGlucy5jOjE0NgotbXNnaWQgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKKyMsIGZ1enp5Cittc2dpZCAicmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKIG1zZ3N0ciAicmVhZG9ubHkgWy1hZl0gW27DoXpvdls9aG9kbm90YV0gLi4uXSBhbGVibyByZWFkb25seSAtcCIKIAogIzogYnVpbHRpbnMuYzoxNDgKQEAgLTIyOTUsMTQgKzIzMDAsMTMgQEAKIG1zZ3N0ciAicHJpbnRmIFstdiB2YXJdIGZvcm3DoXQgW2FyZ3VtZW50eV0iCiAKICM6IGJ1aWx0aW5zLmM6MjI5Ci0jLCBmdXp6eQogbXNnaWQgIiIKICJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstIgogIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgogInN1ZmZpeF0gW25hbWUgLi4uXSIKIG1zZ3N0ciAiIgotImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8gdm/EvmJhXSBbLUEgb3BlcsOhY2lhXSBbLUcgZ2xvYl92em9yXSBbLVcgIgotInpvem5hbV9zbG92XSAgWy1GIGZ1bmtjaWFdIFstQyBwcsOta2F6XSBbLVggdnpvcl9maWx0cmFdIFstUCBwcmVkcG9uYV0gWy1TICIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIHZvxL5iYV0gWy1BIG9wZXLDoWNpYV0gWy1HIGdsb2Jfdnpvcl0gIgorIlstVyB6b3puYW1fc2xvdl0gWy1GIGZ1bmtjaWFdIFstQyBwcsOta2F6XSBbLVggdnpvcl9maWx0cmFdIFstUCBwcmVkcG9uYV0gWy1TICIKICJwcsOtcG9uYV0gW27DoXpvdiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjIzMwpAQCAtMjMxNSw5ICsyMzE5LDggQEAKICJwcsOtcG9uYV0gW3Nsb3ZvXSIKIAogIzogYnVpbHRpbnMuYzoyMzcKLSMsIGZ1enp5CiBtc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgotbXNnc3RyICJjb21wb3B0IFstb3wrbyB2b8S+YmFdIFtuw6F6b3YgLi4uXSIKK21zZ3N0ciAiY29tcG9wdCBbLW98K28gdm/EvmJhXSBbLURFXSBbbsOhem92IC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MjQwCiBtc2dpZCAiIgpAQCAtMjU1NCw2ICsyNTU3LDcgQEAKICIgICAgVnLDoXRpIDAgYWsgc2hlbGwgbmV2eWtvbsOhdmEgZnVua2NpdSBzaGVsbHUgYSBFWFBSIG5pZSBqZSBuZXBsYXRuw70uIgogCiAjOiBidWlsdGlucy5jOjM4MworIywgZnV6enkKIG1zZ2lkICIiCiAiQ2hhbmdlIHRoZSBzaGVsbCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNTc5LDExICsyNTgzLDE1IEBACiAiICAgICAgICAtTFx0Zm9yY2Ugc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG93ZWRcbiIKICIgICAgICAgIC1QXHR1c2UgdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWNcbiIKICIgICAgXHRsaW5rc1xuIgorIiAgICAgICAgLWVcdGlmIHRoZSAtUCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVxuIgorIiAgICBcdGNhbm5vdCBiZSBkZXRlcm1pbmVkIHN1Y2Nlc3NmdWxseSwgZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzXG4iCiAiICAgIFxuIgogIiAgICBUaGUgZGVmYXVsdCBpcyB0byBmb2xsb3cgc3ltYm9saWMgbGlua3MsIGFzIGlmIGAtTCcgd2VyZSBzcGVjaWZpZWQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKKyIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZCwgYW5kIGlmICRQV0QgaXMgc2V0IHN1Y2Nlc3NmdWxseSAiCisid2hlblxuIgorIiAgICAtUCBpcyB1c2VkOyBub24temVybyBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAiWm1lbmnFpSBha3R1w6FsbnkgYWRyZXPDoXIuXG4iCiAiICAgIFxuIgpAQCAtMjYxMCw3ICsyNjE4LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIDAgYWsgYm9sIGFrdHXDoWxueSBhZHJlc8OhciB6bWVuZW7DvSwgaW5hayBuZW51bG92w7ogaG9kbm90dS4iCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNjM4LDcgKzI2NDYsNyBAQAogIiAgICBWcmFjaWEgMCBhayBuaWUgamUgemFkYW7DoSBuZXBsYXRuw6Egdm/EvmJhIGFsZWJvIG5pZSBqZSBtb8W+bsOpXG4iCiAiICAgIHByZcSNw610YcWlIGFrdHXDoWxueSBhZHJlc8Ohci4iCiAKLSM6IGJ1aWx0aW5zLmM6NDI4CisjOiBidWlsdGlucy5jOjQzMQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjY1NCw3ICsyNjYyLDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVsW+ZHkgdnLDoXRpIHByYXZkYS4iCiAKLSM6IGJ1aWx0aW5zLmM6NDM5CisjOiBidWlsdGlucy5jOjQ0MgogbXNnaWQgIiIKICJSZXR1cm4gYSBzdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNjY2LDcgKzI2NzQsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWxb5keSB2csOhdGkgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6NDQ4CisjOiBidWlsdGlucy5jOjQ1MQogbXNnaWQgIiIKICJSZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNjgwLDcgKzI2ODgsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWxb5keSB2csOhdGkgbmVwcmF2ZGEuIgogCi0jOiBidWlsdGlucy5jOjQ1NworIzogYnVpbHRpbnMuYzo0NjAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjcxMyw3ICsyNzIxLDggQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIG7DoXZyYXRvdsO6IGhvZG5vdHUgUFLDjUtBWnUgYWxlYm8gemx5aMOhIGFrIG5lbsOhamRlIFBSw41LQVouIgogCi0jOiBidWlsdGlucy5jOjQ3NgorIzogYnVpbHRpbnMuYzo0NzkKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgpAQCAtMjcyNCw2ICsyNzMzLDggQEAKICIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCiAiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKICIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKICIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCiAiICAgIFxuIgogIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgpAQCAtMjc0Myw3ICsyNzU0LDcgQEAKICIgICAgXG4iCiAiICAgIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBgZGVjbGFyZScgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKICJgbG9jYWwnXG4iCi0iICAgIGNvbW1hbmQuXG4iCisiICAgIGNvbW1hbmQuICBUaGUgYC1nJyBvcHRpb24gc3VwcHJlc3NlcyB0aGlzIGJlaGF2aW9yLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKQEAgLTI3ODAsNyArMjc5MSw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sYSB6YWRhbsOhIG5lcGxhdG7DoSB2b8S+YmEgYSBuZXZ5c2t5dGxhIHNhIGNoeWJhLiIKIAotIzogYnVpbHRpbnMuYzo1MTIKKyM6IGJ1aWx0aW5zLmM6NTE3CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCiAiICAgIFxuIgpAQCAtMjc5MCw3ICsyODAxLDcgQEAKICIgICAgXG4iCiAiICAgIFphc3RhcmFsw6kuIFBvenJpIOKAnmhlbHAgZGVjbGFyZeKAnC4iCiAKLSM6IGJ1aWx0aW5zLmM6NTIwCisjOiBidWlsdGlucy5jOjUyNQogbXNnaWQgIiIKICJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTI4MTYsNyArMjgyNyw3IEBACiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sYSB6YWRhbsOhIG5lcGxhdG7DoSB2b8S+YmEsIG5ldnlza3l0bGEgc2EgY2h5YmEgYVxuIgogIiAgICBzaGVsbCBwcsOhdmUgbmV2eWtvbsOhdmEgZnVua2NpdS4iCiAKLSM6IGJ1aWx0aW5zLmM6NTM3CisjOiBidWlsdGlucy5jOjU0MgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yODc0LDcgKzI4ODUsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgMCBhayBzYSBuZXZ5c2t5dGxhIHNhIGNoeWJhIHByaSB6w6FwaXNlLiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI4OTYsNyArMjkwNyw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIHNhIG5ldnlza3l0bGEgc2EgY2h5YmEgcHJpIHrDoXBpc2UuIgogCi0jOiBidWlsdGlucy5jOjU4NgorIzogYnVpbHRpbnMuYzo1OTEKIG1zZ2lkICIiCiAiRW5hYmxlIGFuZCBkaXNhYmxlIHNoZWxsIGJ1aWx0aW5zLlxuIgogIiAgICBcbiIKQEAgLTI5NTAsNyArMjk2MSw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIE7DgVpPViBuaWUgamUgdnN0YXZhbsOhIGZ1bmtjaWEgc2hlbGx1IGEgbmV2eXNreXRsYSBzYSBjaHliYS4iCiAKLSM6IGJ1aWx0aW5zLmM6NjE0CisjOiBidWlsdGlucy5jOjYxOQogbXNnaWQgIiIKICJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjk2OSw3ICsyOTgwLDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIG7DoXZyYXRvdsO6IGhvZG5vdHUgcHLDrWthenUgYWxlYm8gMCBhayBqZSBwcsOta2F6IHByw6F6ZG55LiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzA0NSw3ICszMDU2LDcgQEAKICIgICAgVnLDoXRpIDAgYWsgamUgdm/EvmJhIG7DoWpkZW7DoTsgemx5aMOhIHBvIGRvc2lhaG51dMOtIGtvbmNhIHJlxaVhemNhIHZvbGllYlxuIgogIiAgICBhbGVibyBhayBzYSB2eXNreXRuZSBjaHliYS4iCiAKLSM6IGJ1aWx0aW5zLmM6NjY4CisjOiBidWlsdGlucy5jOjY3MwogbXNnaWQgIiIKICJSZXBsYWNlIHRoZSBzaGVsbCB3aXRoIHRoZSBnaXZlbiBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTMwODUsNyArMzA5Niw3IEBACiAiICAgIFZyw6F0aSAwIGFrIHNhIG5lc3RhbmUsIMW+ZSBQUsONS0FaIG5lYm9sIG7DoWpkZW7DvSBhIG5ldnlza3l0bmUgc2EgY2h5YmFcbiIKICIgICAgcHJlc21lcm92YW5pYS4iCiAKLSM6IGJ1aWx0aW5zLmM6Njg5CisjOiBidWlsdGlucy5jOjY5NAogbXNnaWQgIiIKICJFeGl0IHRoZSBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMDk3LDcgKzMxMDgsNyBAQAogIiAgICBVa29uxI3DrSBzaGVsbCBzIG7DoXZyYXRvdm91IGhvZG5vdG91IE4uIEFrIHNhIE4gdnluZWNow6EsIG7DoXZyYXRvdsOhXG4iCiAiICAgIGhvZG5vdGEgIHNhIG5hc3RhdsOtIHBvZMS+YSBzdGF2dSBwb3NsZWRuw6lobyB2eWtvbmFuw6lobyBwcsOta2F6dS4iCiAKLSM6IGJ1aWx0aW5zLmM6Njk4CisjOiBidWlsdGlucy5jOjcwMwogbXNnaWQgIiIKICJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzExMCw3ICszMTIxLDcgQEAKICIgICAgVWtvbsSNw60gbG9naW4gc2hlbGwgcyBuw6F2cmF0b3ZvdSBob2Rub3RvdSBOLiBWcsOhdGkgY2h5YnUgYWsgbmllIGplXG4iCiAiICAgIHNwdXN0ZW7DvSB2IGxvZ2luIHNoZWxsaS4iCiAKLSM6IGJ1aWx0aW5zLmM6NzA4CisjOiBidWlsdGlucy5jOjcxMwogbXNnaWQgIiIKICJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTMxNjYsNyArMzE3Nyw3IEBACiAiICAgIFZyw6F0aSAwIGFsZWJvIHN0YXYgdnlrb25hbsOpaG8gcHLDrWthenU7IG5lbnVsb3bDuiBob2Rub3R1IGFrIHNhIHZ5c2t5dG5lXG4iCiAiICAgIGNoeWJhLiIKIAotIzogYnVpbHRpbnMuYzo3MzgKKyM6IGJ1aWx0aW5zLmM6NzQzCiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTMxODYsNyArMzE5Nyw3IEBACiAiICAgIFN0YXYgcHLDrWthenUgdW1pZXN0bmVuw6lobyBkbyBwb3ByZWRpYTsgbmVudWxvdsO6IGhvZG5vdHUgYWsgc2Egdnlza3l0bmVcbiIKICIgICAgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjc1MworIzogYnVpbHRpbnMuYzo3NTgKIG1zZ2lkICIiCiAiTW92ZSBqb2JzIHRvIHRoZSBiYWNrZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTMyMDcsNyArMzIxOCw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIG5pZSBqZSByaWFkZW5pZSDDumxvaCB2eXBudXTDqSBhIG5ldnlza3l0bmUgc2EgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjc2NworIzogYnVpbHRpbnMuYzo3NzIKIG1zZ2lkICIiCiAiUmVtZW1iZXIgb3IgZGlzcGxheSBwcm9ncmFtIGxvY2F0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMjU0LDcgKzMyNjUsNyBAQAogIiAgICBWcsOhdGkgMCBhayBzYSBuZXN0YWxvLCDFvmUgTsOBWk9WIG5lYm9sIG7DoWpkZW7DvSBhIG5lYm9sYSB6YWRhbsOhXG4iCiAiICAgIG5lcGxhdG7DoSB2b8S+YmEuIgogCi0jOiBidWlsdGlucy5jOjc5MgorIzogYnVpbHRpbnMuYzo3OTcKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTMyOTQsNyArMzMwNSw3IEBACiAiICAgIFZyw6F0aSAwIGFrIHNhIG5lc3RhbG8sIMW+ZSBWWk9SIG5lYm9sIG7DoWpkZW7DvSBhIG5lYm9sYSB6YWRhbsOhXG4iCiAiICAgIG5lcGxhdG7DoSB2b8S+YmEuIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzM1Nyw3ICszMzY4LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIDAgYWsgbmVib2xhIHphZGFuw6EgbmVwbGF0bsOhIHZvxL5iYSBhIG5ldnlza3l0bGEgc2EgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjg1MgorIzogYnVpbHRpbnMuYzo4NTcKIG1zZ2lkICIiCiAiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKICIgICAgXG4iCkBAIC0zNDAwLDcgKzM0MTEsNyBAQAogIiAgICBWcsOhdGkgMCBhayBuZWJvbGEgemFkYW7DoSBuZXBsYXRuw6Egdm/EvmJhIGEgbmV2eXNreXRsYSBzYSBjaHliYS5cbiIKICIgICAgQWsgamUgcG91xb5pdMOhIHZvxL5iYSAteCwgdnLDoXRpIHNhIG7DoXZyYXRvdsOhIGhvZG5vdGEgUFLDjUtBWnUuIgogCi0jOiBidWlsdGlucy5jOjg3OQorIzogYnVpbHRpbnMuYzo4ODQKIG1zZ2lkICIiCiAiUmVtb3ZlIGpvYnMgZnJvbSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTM0MzAsNyArMzQ0MSw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sYSB6YWRhbsOhIG5lcGxhdG7DoSBKT0JTUEVDLiIKIAotIzogYnVpbHRpbnMuYzo4OTgKKyM6IGJ1aWx0aW5zLmM6OTAzCiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCiAiICAgIFxuIgpAQCAtMzQ3MCw3ICszNDgxLDggQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIDAgYWsgbmVib2xhIHphZGFuw6EgbmVwbGF0bsOhIHZvxL5iYSBhIG5ldnlza3l0bGEgc2EgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjkyMQorIzogYnVpbHRpbnMuYzo5MjYKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzUxMiw3ICszNTI0LDcgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIlZ5aG9kbm90acWlIGFyaXRtZXRpY2vDqSB2w71yYXp5LlxuIgogIiAgICBcbiIKQEAgLTM1NTUsOCArMzU2Nyw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIEFrIHNhIHBvc2xlZG7DvSBBUkcgdnlob2Rub3TDrSBuYSAwLCBsZXQgdnLDoXRpIDE7IDAgaW5hayBzYSB2csOhdGkgMC4iCiAKLSM6IGJ1aWx0aW5zLmM6OTY2Ci0jLCBmdXp6eQorIzogYnVpbHRpbnMuYzo5NzEKIG1zZ2lkICIiCiAiUmVhZCBhIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgYW5kIHNwbGl0IGl0IGludG8gZmllbGRzLlxuIgogIiAgICBcbiIKQEAgLTM2MTYsMzAgKzM2MjcsMzcgQEAKICIgICAgUkVQTFkuXG4iCiAiICAgIFxuIgogIiAgICBWb8S+Ynk6XG4iCi0iICAgICAtYSBwb2xlXHR2xaFldGt5IG5hxI3DrXRhbsOpIHNsb3bDoSBzYSBwcmlyYWRpYSBwb3N0dXBuZSBpbmRleG9tIHBvxL5hIFBPTEUsICIKLSJwb8SNw61uYWrDumMgbnVsb3UuXG4iCisiICAgICAtYSBwb2xlXHR2xaFldGt5IG5hxI3DrXRhbsOpIHNsb3bDoSBzYSBwcmlyYWRpYSBwb3N0dXBuZSBpbmRleG9tIHBvxL5hIFBPTEUsXG4iCisiICAgIFx0XHRwb8SNw61uYWrDumMgbnVsb3UuXG4iCiAiICAgICAtZFx0cG9rcmHEjW92YW5pZSDEjcOtdGFuaWEgYcW+IGvDvW0gc2EgbmV2eXNreXRuZSBwcnbDvSB6bmFrIHpuYWsgREVMSU1cbiIKLSIgICAgbmFtaWVzdG8gem5ha3Ugbm92w6lobyByaWFka2EuXG4iCi0iICAgICAtZSBhIHNoZWxsIGplIGludGVyYWt0w612bnksIG5hIG5hxI3DrXRhbmllIHJpYWRrYSBzYSBwb3XFvmlqZSByZWFkbGluZS5cbiIKLSIgICAgICAtaSB0ZXh0XHRwb3XFvmlqZSBURVhUIGFrbyBwcnZvdG7DvSB0ZXh0IHByZSBSZWFkbGluZVxuIgotIiAgICAgLW4gem5ha292XHTEjcOtdGFuaWUgdnN0dXB1IHNrb27EjcOtIHBvIG5hxI3DrXRhbsOtIFpOQUtPViB6bmFrb3YuXG4iCisiICAgIFx0XHRuYW1pZXN0byB6bmFrdSBub3bDqWhvIHJpYWRrYS5cbiIKKyIgICAgIC1lXHRcdG5hIG5hxI3DrXRhbmllIHJpYWRrYSBzYSBwb3XFvmlqZSBSZWFkbGluZSBhayBqZSBzaGVsbCAiCisiaW50ZXJha3TDrXZueS5cbiIKKyIgICAgIC1pIHRleHRcdHBvdcW+aWplIFRFWFQgYWtvIHBydm90bsO9IHRleHQgcHJlIFJlYWRsaW5lXG4iCisiICAgICAgLW4gbnpuYWtvdlx0xI3DrXRhbmllIHZzdHVwdSBza29uxI3DrSBwbyBuYcSNw610YW7DrSBOWk5BS09WIHpuYWtvdiBiZXogIgorIsSNYWthbmlhXG4iCisiICAgIFx0XHRuYSBub3bDvSByaWFkb2ssIGFsZSByZcWhcGVrdG92YcWlIG9kZGXEvm92YcSNIHYgcHLDrXBhZGUgbWVuZWogYWtvICIKKyJOWk5BS09WXG4iCisiICAgICAgLU4gbmNoYXJzXHTEjcOtdGFuaWUgdnN0dXB1IHNrb27EjcOtIHByZXNuZSBwbyBuYcSNw610YW7DrSBaTkFLT1Ygem5ha292LFxuIgorIiAgICBcdFx0aWJhIGFrIGJ5IHNhIHNrw7RyIHZ5c2t5dG9sIGtvbmllYyBzw7pib3J1IGFsZWJvIMSNYXNvdsO9IGludGVydmFsIG5hXG4iCisiICAgIFx0XHTEjcOtdGFuaWUgdnlwcsWhYWwsIGlnbm9ydWrDumMgb2RkZcS+b3ZhxI1lXG4iCiAiICAgICAtcFx0dsO9enZhXHRwcmVkIHBva3Vzb20gbyDEjcOtdGFuaWUgdnlww63FoWUgcmXFpWF6ZWMgVsOdWlZBIGJleiBrb25jb3bDqWhvXG4iCi0iICAgICAgIFx0em5ha3Ugbm92w6lobyByaWFka2EuXG4iCi0iICAgICAtclx0esOhcGlzIMO6bmlrb3bDvWNoIGtsYXV6w7psIHBvbW9jb3Ugc3DDpHRuZWogbG9ta3kgamUgdnlwbnV0w70uXG4iCi0iICAgICAtc1x0dnN0dXAgbmHEjcOtdGFuw70geiB0ZXJtaW7DoWx1IG5lYnVkZSB2eXBpc292YcWlIChlY2hvKS5cbiIKLSIgICAgXG4iCi0iICAgICAtdCBpbnRlcnZhbFx0dWtvbsSNZW5pZSDEjcOtdGFuaWEgcG8gdnlwcsWhYW7DrSDEjWFzb3bDqWhvIElOVEVSVkFMdSBhIGFrXG4iCisiICAgIFx0XHR6bmFrdSBub3bDqWhvIHJpYWRrYS5cbiIKKyIgICAgICAtclx0esOhcGlzIMO6bmlrb3bDvWNoIGtsYXV6w7psIHBvbW9jb3Ugc3DDpHRuZWogbG9ta3kgamUgdnlwbnV0w70uXG4iCisiICAgICAgLXNcdHZzdHVwIG5hxI3DrXRhbsO9IHogdGVybWluw6FsdSBuZWJ1ZGUgdnlwaXNvdmHFpSAoZWNobykuXG4iCisiICAgICAgLXQgaW50ZXJ2YWxcdHVrb27EjWVuaWUgxI3DrXRhbmlhIHBvIHZ5cHLFoWFuw60gxI1hc292w6lobyBJTlRFUlZBTHUgYSBha1xuIgogIiAgICBcdHNhIGRvIGludGVydmFsdSBuZW5hxI3DrXRhIMO6cGxuw70gcmlhZG9rIHZzdHVwdSwgdnLDoXRpIGNoeWJ1LiBBayBqZVxuIgotIiAgICBcdG5hc3RhdmVuw6EgcHJlbWVubsOhIFRNT1VULCBqZWogaG9kbm90YSBqZSDFoXRhbmRhcmRuw70gaW50ZXJ2YWxcbiIKLSIgICAgXHRleHBpcsOhY2llLiBUTU9VVCBtw7TFvmUgYnnFpSB6bG9tb2suIE7DoXZyYXRvdsOhIGhvZG5vdGEgamVcbiIKLSIgICAgXHR2w6TEjcWhaWEgYWtvIDEyOCBhaiBzYSBwcmVrcm/EjcOtIElOVEVSVkFMLlxuIgorIiAgICBcdG5hc3RhdmVuw6EgcHJlbWVubsOhIFRJTUVPVVQsIGplaiBob2Rub3RhIGplIMWhdGFuZGFyZG7DvSBpbnRlcnZhbFxuIgorIiAgICBcdGV4cGlyw6FjaWUuIFRJTUVPVVQgbcO0xb5lIGJ5xaUgemxvbW9rLiBBayBqZSBUSU1FT1VUIDAsIHJlYWQgc2EgdWtvbsSNw61cbiIKKyIgICAgXHTDunNwZcWhbmUgaWJhIGFrIGplIG5hIHBvxb5hZG92YW5vbSBwb3Bpc292YcSNaSBrIGRpc3BvesOtY2lpIHZzdXAuXG4iCisiICAgIFx0TsOhdnJhdG92w6EgaG9kbm90YSBqZSB2w6TEjcWhaWEgYWtvIDEyOCBhaiBzYSBwcmVrcm/EjcOtIElOVEVSVkFMLlxuIgogIiAgICAgLXUgZmRcdG5hbWllc3RvIMWhdGFuZGFyZG7DqWhvIHZzdHVwdSDEjcOtdGHFpSB6IHBvcGlzb3ZhxI1hIHPDumJvcnUgRkQuXG4iCiAiICAgIFxuIgogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgMCBhayBzYSBuZW5hcmF6w60gcHJpIMSNw610YW7DrSBuYWtvbmllYyBzw7pib3J1LCBuZXZ5cHLFocOtIMSNYXMgbmFcbiIKICIgICAgxI3DrXRhbmllIGEgYWtvIGFyZ3VtZW50IC11IG5lYm9sIGplIHphZGFuw70gbmVwbGF0bsO9IHBvcGlzb3ZhxI0uIgogCi0jOiBidWlsdGlucy5jOjEwMDkKKyM6IGJ1aWx0aW5zLmM6MTAxNAogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM2NjAsNyArMzY3OCw4IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSBOIGFsZWJvIHpseWjDoSBhayBzaGVsbCBuZXZ5a29uw6F2YSBmdW5rY2l1IMSNaSBza3JpcHQuIgogCi0jOiBidWlsdGlucy5jOjEwMjIKKyM6IGJ1aWx0aW5zLmM6MTAyNworIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzcyOSw2ICszNzQ4LDkgQEAKICIgICAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzXG4iCiAiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKICIgICAgICAtVCAgSWYgc2V0LCB0aGUgREVCVUcgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC0tICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgICAgICAgYXJlIHVuc2V0LlxuIgogIiAgICAgIC0gICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgogIiAgICBcbiIKQEAgLTM4MjYsNyArMzg0OCw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sYSB6YWRhbsOhIG5lcGxhdG7DoSB2b8S+YmEuIgogCi0jOiBidWlsdGlucy5jOjExMDQKKyM6IGJ1aWx0aW5zLmM6MTExMgogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzg2Myw3ICszODg1LDcgQEAKICIgICAgVnLDoXRpIDAgYWsgc2EgbmVzdGFsbywgxb5lIGplIE7DgVpPViBpYmEgbmEgxI3DrXRhbmllIGEgbmVib2xhIHphZGFuw6FcbiIKICIgICAgbmVwbGF0bsOhIHZvxL5iYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTEyNAorIzogYnVpbHRpbnMuYzoxMTMyCiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzg5OCw3ICszOTIwLDcgQEAKICIgICAgVnLDoXRpIDAgYWsgc2EgbmVzdGFsbywgxb5lIGplIE7DgVpPViBuZXBsYXRuw70gYSBuZWJvbGEgemFkYW7DoVxuIgogIiAgICBuZXBsYXRuw6Egdm/EvmJhLiIKIAotIzogYnVpbHRpbnMuYzoxMTQzCisjOiBidWlsdGlucy5jOjExNTEKIG1zZ2lkICIiCiAiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgogIiAgICBcbiIKQEAgLTM5MzYsNyArMzk1OCw3IEBACiAiICAgIFZyw6F0aSAwIGFrIHNhIG5lc3RhbG8sIMW+ZSBqZSBOw4FaT1YgbmVwbGF0bsO9IGEgbmVib2xhIHphZGFuw6FcbiIKICIgICAgbmVwbGF0bsOhIHZvxL5iYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE2NAorIzogYnVpbHRpbnMuYzoxMTcyCiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zOTU0LDcgKzM5NzYsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgMCBhayBzYSBuZXN0YWxvLCDFvmUgamUgTiB6w6Fwb3Juw6kgYWxlYm8gdsOkxI3FoWllIGFrbyAkIy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKKyM6IGJ1aWx0aW5zLmM6MTE4NCBidWlsdGlucy5jOjExOTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zOTc4LDcgKzQwMDAsNyBAQAogIiAgICBWcsOhdGkgbsOhdnJhdG92w7ogaG9kbm90dSBwb3NsZWRuw6lobyBwcsOta2F6dSB2IFPDmkJPUmU7IHpseWjDoSBhayBuaWUgamVcbiIKICIgICAgbW/Fvm7DqSBTw5pCT1IgbmHEjcOtdGHFpS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIwNworIzogYnVpbHRpbnMuYzoxMjE1CiBtc2dpZCAiIgogIlN1c3BlbmQgc2hlbGwgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQwMDIsMTQgKzQwMjQsMTggQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIDAgYWsgc2EgbmVzdGFsbywgxb5lIGplIHZ5cG51dMOpIHJpYWRlbmllIMO6bG9oIGEgbmV2eXNreXRsYSBzYSBjaHliYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMworIzogYnVpbHRpbnMuYzoxMjMxCisjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKICIgICAgRXhpdHMgd2l0aCBhIHN0YXR1cyBvZiAwICh0cnVlKSBvciAxIChmYWxzZSkgZGVwZW5kaW5nIG9uXG4iCiAiICAgIHRoZSBldmFsdWF0aW9uIG9mIEVYUFIuICBFeHByZXNzaW9ucyBtYXkgYmUgdW5hcnkgb3IgYmluYXJ5LiAgVW5hcnlcbiIKICIgICAgZXhwcmVzc2lvbnMgYXJlIG9mdGVuIHVzZWQgdG8gZXhhbWluZSB0aGUgc3RhdHVzIG9mIGEgZmlsZS4gIFRoZXJlXG4iCi0iICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFzIHdlbGwsIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzLlxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgogIiAgICBcbiIKICIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgpAQCAtNDA2Myw2ICs0MDg5LDcgQEAKICIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKICIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgogIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKICIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgogIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCkBAIC00MTU0LDcgKzQxODEsNyBAQAogIiAgICBWcsOhdGkgMCBhayBWw51SIHZ5aG9kbm90w60gYWtvIHByYXZkaXbDvTsgemx5aMOhIGFrbyBzYSBWw51SIHZ5aG9kbm90w61cbiIKICIgICAgYWtvIG5lcHJhdmRpdsO9IGFsZWJvIGplIHphZGFuw70gbmVwbGF0bsO9IGFyZ3VtZW50LiIKIAotIzogYnVpbHRpbnMuYzoxMjk5CisjOiBidWlsdGlucy5jOjEzMTEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00MTY2LDcgKzQxOTMsNyBAQAogIiAgICBUb3RvIGplIHN5bm9ueW11bSB2c2F0YXZhbmVqIGZ1bmtjaWUg4oCedGVzdOKAnCwgYWxlIHBvc2xlZG7DvVxuIgogIiAgICBhcmd1bWVudCBtdXPDrSBiecWlIGxpdGVyw6FsIOKAnl3igJwsIGt0b3LDvSB1emF0dsOhcmEgb3R2w6FyYWrDumN1IOKAnlvigJwuIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtNDE4NSw3ICs0MjEyLDggQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVsW+ZHkgdnLDoXRpIDAuIgogCi0jOiBidWlsdGlucy5jOjEzMjAKKyM6IGJ1aWx0aW5zLmM6MTMzMgorIywgZnV6enkKIG1zZ2lkICIiCiAiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCiAiICAgIFxuIgpAQCAtNDIwMSw3ICs0MjI5LDE1IEBACiAiICAgIFxuIgogIiAgICBJZiBhIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20gdGhlIHNoZWxsLiAgIgogIklmXG4iCi0iICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuICAiCisiSWZcbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBSRVRVUk4sIEFSRyBpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciAiCisiYVxuIgorIiAgICBzY3JpcHQgcnVuIGJ5IHRoZSAuIG9yIHNvdXJjZSBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuICBBICIKKyJTSUdOQUxfU1BFQ1xuIgorIiAgICBvZiBFUlIgbWVhbnMgdG8gZXhlY3V0ZSBBUkcgZWFjaCB0aW1lIGEgY29tbWFuZCdzIGZhaWx1cmUgd291bGQgY2F1c2UgIgorInRoZVxuIgorIiAgICBzaGVsbCB0byBleGl0IHdoZW4gdGhlIC1lIG9wdGlvbiBpcyBlbmFibGVkLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCwgdHJhcCBwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgIgogImFzc29jaWF0ZWRcbiIKQEAgLTQyNTEsNyArNDI4Nyw3IEBACiAiICAgIFZyw6F0aSAwIGFrIHNhIG5lc3RhbG8sIMW+ZSBqZSBTSUdTUEVDIG5lcGxhdG7DvSBhIG5lYm9sYSB6YWRhbsOhXG4iCiAiICAgIG5lcGxhdG7DoSB2b8S+YmEuIgogCi0jOiBidWlsdGlucy5jOjEzNTIKKyM6IGJ1aWx0aW5zLmM6MTM2OAogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC00MzA2LDcgKzQzNDIsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgMCBhayBib2xpIG7DoWpkZW7DqSB2xaFldGt5IE7DgVpWWTsgemx5aMOhIGFrIG5pZS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MworIzogYnVpbHRpbnMuYzoxMzk5CiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtNDM5MCw3ICs0NDI2LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIDAgYWsgbmVib2xhIHphZGFuw6EgbmVwbGF0bsOhIHZvxL5iYSBhIG5ldnlza3l0bGEgc2EgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjE0MjgKKyM6IGJ1aWx0aW5zLmM6MTQ0NAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC00NDI0LDcgKzQ0NjAsNyBAQAogIiAgICBWcsOhdGkgMCBhayBzYSBuZXN0YWxvLCDFvmUgamUgUkXFvUlNIG5lcGxhdG7DvSBhIG5lYm9sYSB6YWRhbsOhXG4iCiAiICAgIG5lcGxhdG7DoSB2b8S+YmEuIgogCi0jOiBidWlsdGlucy5jOjE0NDgKKyM6IGJ1aWx0aW5zLmM6MTQ2NAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQ0NTIsNyArNDQ4OCw3IEBACiAiICAgIFZyw6F0aSBzdGF2IElEOyB6bHlow6EgYWsgamUgSUQgbmVwbGF0bsO9IGFsZWJvIGJvbGEgemFkYW7DoVxuIgogIiAgICBuZXBsYXRuw6Egdm/EvmJhLiIKIAotIzogYnVpbHRpbnMuYzoxNDY2CisjOiBidWlsdGlucy5jOjE0ODIKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDQ3Niw3ICs0NTEyLDcgQEAKICIgICAgVnLDoXRpIHN0YXYgSUQ7IHpseWjDoSBhayBqZSBJRCBuZXBsYXRuw70gYWxlYm8gYm9sYSB6YWRhbsOhIG5lcGxhdG7DoVxuIgogIiAgICB2b8S+YmEuIgogCi0jOiBidWlsdGlucy5jOjE0ODEKKyM6IGJ1aWx0aW5zLmM6MTQ5NwogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZvciBlYWNoIG1lbWJlciBpbiBhIGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtNDQ5OCw3ICs0NTM0LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIG7DoXZyYXRvdsO6IGhvZG5vdHUgcG9zbGVkbsOpaG8gdnlrb25hbsOpaG8gcHLDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE0OTUKKyM6IGJ1aWx0aW5zLmM6MTUxMQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgogIiAgICBcbiIKQEAgLTQ1MjgsNyArNDU2NCw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSBuw6F2cmF0b3bDuiBob2Rub3R1IHBvc2xlZG7DqWhvIHZ5a29uYW7DqWhvIHByw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzoxNTEzCisjOiBidWlsdGlucy5jOjE1MjkKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTQ1NjMsNyArNDU5OSw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSBuw6F2cmF0b3bDuiBob2Rub3R1IHBvc2xlZG7DqWhvIHZ5a29uYW7DqWhvIHByw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzoxNTM0CisjOiBidWlsdGlucy5jOjE1NTAKIG1zZ2lkICIiCiAiUmVwb3J0IHRpbWUgY29uc3VtZWQgYnkgcGlwZWxpbmUncyBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDU5MSw3ICs0NjI3LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YSBqZSBuw6F2cmF0b3bDoSBob2Rub3RhIFLDmlJZLiIKIAotIzogYnVpbHRpbnMuYzoxNTUxCisjOiBidWlsdGlucy5jOjE1NjcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTQ2MDksNyArNDY0NSw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSBuw6F2cmF0b3bDuiBob2Rub3R1IHBvc2xlZG7DqWhvIHZ5a29uYW7DqWhvIHByw61rYXp1LiIKIAotIzogYnVpbHRpbnMuYzoxNTYzCisjOiBidWlsdGlucy5jOjE1NzkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC00NjQ2LDcgKzQ2ODIsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgbsOhdnJhdG92w7ogaG9kbm90dSBwb3NsZWRuw6lobyB2eWtvbmFuw6lobyBwcsOta2F6dS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU4MAorIzogYnVpbHRpbnMuYzoxNTk2CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtNDY2NCw3ICs0NzAwLDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIG7DoXZyYXRvdsO6IGhvZG5vdHUgcG9zbGVkbsOpaG8gdnlrb25hbsOpaG8gcHLDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE1OTIKKyM6IGJ1aWx0aW5zLmM6MTYwOAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtNDY4Miw3ICs0NzE4LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIG7DoXZyYXRvdsO6IGhvZG5vdHUgcG9zbGVkbsOpaG8gdnlrb25hbsOpaG8gcHLDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE2MDQKKyM6IGJ1aWx0aW5zLmM6MTYyMAogbXNnaWQgIiIKICJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKICIgICAgXG4iCkBAIC00NzA0LDcgKzQ3NDAsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgbsOhdnJhdG92w7ogaG9kbm90dSBQUsONS0FadS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00NzI5LDcgKzQ3NjUsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgMCBhayBzYSBuZXN0YWxvLCDFvmUgamUgTsOBWk9WIGliYSBuYSDEjcOtdGFuaWUuIgogCi0jOiBidWlsdGlucy5jOjE2MzIKKyM6IGJ1aWx0aW5zLmM6MTY0OAogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCiAiICAgIFxuIgpAQCAtNDc0Nyw3ICs0NzgzLDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIG7DoXZyYXRvdsO6IGhvZG5vdHUgcG9zbGVkbsOpaG8gdnlrb25hbsOpaG8gcHLDrWthenUuIgogCi0jOiBidWlsdGlucy5jOjE2NDQKKyM6IGJ1aWx0aW5zLmM6MTY2MAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtNDc3MSw3ICs0ODA3LDcgQEAKICIgICAgTsOhdnJhdG92w6EgaG9kbm90YTpcbiIKICIgICAgVnLDoXRpIG7DoXZyYXRvdsO6IGhvZG5vdHUgb2Jub3ZlbmVqIMO6bG9oeS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1OQorIzogYnVpbHRpbnMuYzoxNjc1CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00Nzg5LDcgKzQ4MjUsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgMSBhayBzYSBWw51SQVogdnlob2Rub3TDrSBuYSAwOyBpbmFrIHZyw6F0aSAwLiIKIAotIzogYnVpbHRpbnMuYzoxNjcxCisjOiBidWlsdGlucy5jOjE2ODcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTQ4MzcsNyArNDg3Myw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFsZWJvIDEgdiB6w6F2aXNsb3N0aSBuYSBob2Rub3RlIFbDnVJBWnUuIgogCi0jOiBidWlsdGlucy5jOjE2OTcKKyM6IGJ1aWx0aW5zLmM6MTcxMwogbXNnaWQgIiIKICJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgogIiAgICBcbiIKQEAgLTQ5NDEsNyArNDk3Nyw3IEBACiAiICAgIEhJU1RJR05PUkVcdEJvZGtvxI1pYXJrYW1pIG9kZGVsZW7DvSB6b3puYW0gdnpvcmllaywga3RvcsOpXG4iCiAiICAgIFx0XHRzYSBwb3XFvsOtdmFqw7ogbmEgcm96aG9kb3ZhbmllLCDEjWkgc2EgcHLDrWtheiB1bG/FvsOtIGRvIGhpc3TDs3JpZS5cbiIKIAotIzogYnVpbHRpbnMuYzoxNzU0CisjOiBidWlsdGlucy5jOjE3NzAKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTQ5OTcsNyArNTAzMyw3IEBACiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sIHphZGFuw70gbmVwbGF0bsO9IGFyZ3VtZW50IGEgbmV2eXNreXRsYSBzYVxuIgogIiAgICBjaHliYSBwcmkgem1lbmUgYWRyZXPDoXJhLiIKIAotIzogYnVpbHRpbnMuYzoxNzg4CisjOiBidWlsdGlucy5jOjE4MDQKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTA0Nyw3ICs1MDgzLDcgQEAKICIgICAgVnLDoXRpIDAgYWsgbmVib2wgemFkYW7DvSBuZXBsYXRuw70gYXJndW1lbnQgYSBuZXZ5c2t5dGxhIHNhXG4iCiAiICAgIGNoeWJhIHByaSB6bWVuZSBhZHJlc8OhcmEuIgogCi0jOiBidWlsdGlucy5jOjE4MTgKKyM6IGJ1aWx0aW5zLmM6MTgzNAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MDk4LDcgKzUxMzQsNyBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgMCBhayBuZWJvbCB6YWRhbsO9IG5lcGxhdG7DvSBhcmd1bWVudCBhIG5ldnlza3l0bGEgc2EgY2h5YmEuIgogCi0jOiBidWlsdGlucy5jOjE4NDcKKyM6IGJ1aWx0aW5zLmM6MTg2MwogbXNnaWQgIiIKICJTZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTEzNiw3ICs1MTcyLDggQEAKICIgICAgVnLDoXRpIDAgYWsgamUgT1BUTkFNRSB6YXBudXTDqTsgemx5aMOhIGFrIGJvbGEgemFkYW7DoVxuIgogIiAgICBuZXBsYXRuw6Egdm/EvmJhIGFsZWJvIE9QVE5BTUUgamUgdnlwbnV0w6kuIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAorIywgZnV6enkKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtNTE1OSw2ICs1MTk2LDkgQEAKICIgICAgXG4iCiAiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgogIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgpAQCAtNTE4NSw4ICs1MjI1LDcgQEAKICIgICAgVnLDoXRpIDAgYWsgbmVib2xhIHphZGFuw6EgbmVwbGF0bsOhIHZvxL5iYSBhIG5ldnlza3l0bGEgc2EgY2h5YmEgcHJpXG4iCiAiICAgIHrDoXBpc2UgxI1pIHByaXJhZGVuw60uIgogCi0jOiBidWlsdGlucy5jOjE4OTUKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjE5MTMKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtNTIyMyw2ICs1MjYyLDEwIEBACiAiICAgICAgICBcdHR2YXJlXG4iCiAiICAgICAgLXJcdG9kc3Ryw6FuacWlIMWhcGVjaWZpa8OhY2l1IGRvcMS6xYhhbmlhIGthxb5kw6lobyBOw4FaVlUgYWxlYm8gYWsgbmllIGplXG4iCiAiICAgICAgICBcdHphZGFuw70gxb5pYWRueSBOw4FaT1YsIHbFoWV0a3kgxaFwZWNpZmlrw6FjaWUgZG9wxLrFiGFuaWFcbiIKKyIgICAgICAtRFx0cG91xb5pxaUgZG9wxLrFiGFuaWUgYSBvcGVyw6FjaWUgYWtvIHByZWR2b2xlbsOpIHByZSBwcsOta2F6eVxuIgorIiAgICBcdGJleiBkZWZpbm92YW7DqWhvIGtvbmtyw6l0bmVobyBkb3DEusWIYW5pYVxuIgorIiAgICAgIC1FXHRwb3XFvmnFpSBkb3DEusWIYW5pZSBhIG9wZXLDoWNpZSBwcmUgcHLDrWthenkg4oCeZW1wdHnigJwgLS1cbiIKKyIgICAgXHRwb2t1cyBvIGRvcMS6xYhhbmllIG5hIHByw6F6ZG5vbSBwcsOta2F6b3ZvbSByaWFka3VcbiIKICIgICAgXG4iCiAiICAgIFByaSBwb2t1c2UgbyBkb3BsbmVuaWUgc2Egb3BlcsOhY2llIHBvdcW+aWrDuiB2IHBvcmFkw60gaG9yZSB1dmVkZW7DvWNoXG4iCiAiICAgIHZvbGllYiB2ZcS+a8O9bWkgcMOtc21lbmFtaS5cbiIKQEAgLTUyMzAsNyArNTI3Myw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sYSB6YWRhbsOhIG5lcGxhdG7DoSB2b8S+YmEgYSBuZXZ5c2t5dGxhIHNhIGNoeWJhLiIKIAotIzogYnVpbHRpbnMuYzoxOTIzCisjOiBidWlsdGlucy5jOjE5NDEKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtNTI1MCwxNCArNTI5MywxNCBAQAogIiAgICBOw6F2cmF0b3bDoSBob2Rub3RhOlxuIgogIiAgICBWcsOhdGkgMCBhayBuZWJvbGEgemFkYW7DoSBuZXBsYXRuw6Egdm/EvmJhIGEgbmV2eXNreXRsYSBzYSBjaHliYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzOAorIzogYnVpbHRpbnMuYzoxOTU2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC01MjkwLDYgKzUzMzMsOCBAQAogIiAgICBcbiIKICIgICAgVm/EvmJ5OlxuIgogIiAgICBcdC1vIHZvxL5iYVx0TmFzdGF2w60gdm/EvmJ1IGRvcMS6xYhhbmlhIFZPxL1CQSBwcmUga2HFvmTDvSBOw4FaT1ZcbiIKKyIgICAgXHQtRFx0XHRabWVuw60gdm/EvmJ5IGRvcMS6xYhhbmlhIHByw61rYXpvdiDigJ5kZWZhdWx04oCcXG4iCisiICAgIFx0LUVcdFx0Wm1lbsOtIHZvxL5ieSBkb3DEusWIYW5pYSBwcsOta2F6b3Yg4oCeZW1wdHnigJxcbiIKICIgICAgXG4iCiAiICAgIFBvdcW+aXTDrW0g4oCeK2/igJwgbmFtaWVzdG8g4oCeLW/igJwgdnlwbmV0ZSB1csSNZW7DuiB2b8S+YnUuXG4iCiAiICAgIFxuIgpAQCAtNTMwNSw3ICs1MzUwLDcgQEAKICIgICAgVnLDoXRpIDAgYWsgbmVib2xhIHphZGFuw6EgbmVwbGF0bsOhIHZvxL5iYSBhIE7DgVpPViBuZW3DoSBkZWZpbm92YW7DulxuIgogIiAgICDFoXBlY2lmaWvDoWNpdSBkb3DEusWIYW5pYS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKQEAgLTUzMzQsNyArNTM3OSw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtNTM1Miw3ICs1Mzk4LDcgQEAKICIgICAgTUFQRklMRS5cbiIKICIgICAgXG4iCiAiICAgIFZvxL5ieTpcbiIKLSIgICAgICAtbiBwb8SNZXRcdFNrb3DDrXJvdmHFpSBuYWp2aWFjIFBPxIxFVCByaWFka292LiBBayBqZSBQT8SMRVIgMCwgdsWhZXRreSAiCisiICAgICAgLW4gcG/EjWV0XHRTa29ww61yb3ZhxaUgbmFqdmlhYyBQT8SMRVQgcmlhZGtvdi4gQWsgamUgUE/EjEVUIDAsIHbFoWV0a3kgIgogInJpYWRreS5cbiIKICIgICAgICAtTyB6YcSNaWF0b2tcdFphxI1hxaUgcHJpcmHEj292YW5pZSBwb2xvxb5pZWsgUE/EvUEgbmEgaW5kZXhlIFpBxIxJQVRPSy5cbiIKICIgICAgICBcdFx0UHJlZHZvbGVuw70gaW5kZXggamUgMC5cbiIKQEAgLTUzNjgsNyArNTQxNCw3IEBACiAiICAgICAgQVJSQVlcdFx0TsOhem92IHByZW1lbm5laiBwb8S+YSwga2FtIHNhIG1hasO6IHVsb8W+acWlIMO6ZGFqZS5cbiIKICIgICAgXG4iCiAiICAgIEFrIHV2ZWRpZXRlIC1DIGJleiAtYywgcHJlZHZvbGVuw6EgaG9kbm90YSBxdWFudHVtIGplIDUwMDAuXG4iCi0iICAgIFByaSB2eWhvZG5vdGVuw60gQ0FMTEJBQ0sgc2EgZG9kw6EgaW5kZXggxI9hbMWhaWVobyBwZXZrdSBwb8S+YSxcbiIKKyIgICAgUHJpIHZ5aG9kbm90ZW7DrSBDQUxMQkFDSyBzYSBkb2TDoSBpbmRleCDEj2FsxaFpZWhvIHBydmt1IHBvxL5hLFxuIgogIiAgICBrdG9yw70gc2EgbcOhIHByaXJhZGnFpSBha28gxI9hbMWhw60gYXJndW1lbnQuXG4iCiAiICAgIFxuIgogIiAgICBBayBuaWUgamUgemFkYW7DvSBaQcSMSUFUT0sgZXhwbGljaXRuZSwgbWFwZmlsZSBQT0xFIHZ5xI1pc3TDrSBwcmVkdMO9bSxcbiIKQEAgLTUzNzcsNyArNTQyMyw3IEBACiAiICAgIE7DoXZyYXRvdsOhIGhvZG5vdGE6XG4iCiAiICAgIFZyw6F0aSAwIGFrIG5lYm9sYSB6YWRhbsOhIG5lcGxhdG7DoSB2b8S+YmEgYSBQT0xFIG5pZSBqZSBsZW4gbmEgxI3DrXRhbmllLiIKIAotIzogYnVpbHRpbnMuYzoyMDAxCisjOiBidWlsdGlucy5jOjIwMjAKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKQEAgLTUzODcsNiArNTQzMywyNyBAQAogIiAgICBcbiIKICIgICAgU3lub255bXVtIGsg4oCebWFwZmlsZeKAnC4iCiAKKyN+IG1zZ2lkICIiCisjfiAiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisjfiAiICAgICIKKyN+IG1zZ3N0ciAiIgorI34gIi4gIFMgVsOdUiB2cmFjaWFcbiIKKyN+ICIgICAgIgorCisjfiBtc2dpZCAiIgorI34gIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorI34gIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgIgorI34gInRoZVxuIgorI34gIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKKyN+IG1zZ3N0ciAiIgorI34gIjsgdGlldG8gaW5mb3Jtw6FjaWUgbmF2aWFjIG1vxb5ubyBwb3XFvmnFpSBuYVxuIgorI34gIiAgICB0cmFzb3ZhbmlhIHrDoXNvYm7DrWthLlxuIgorI34gIiAgICBcbiIKKyN+ICIgICAgSG9kbm90YSBWw51SIHpuYcSNw60gbyBrb8S+a28gcsOhbWNvdiBzYSB2csOhdGnFpSBwcmVkIHPDusSNYXNuw71cbiIKKyN+ICIgICAgVnJjaG7DvSByw6FtZWMgamUgcsOhbWVjIDAuIgorCiAjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCiAjfiBtc2dzdHIgIiIKICN+ICJ4cmVhbGxvYzogbmllIGplIG1vxb5uw6kgcmVhbG9rb3ZhxaUgJWx1IGJhanRvdiAoJWx1IGJhanRvdiBhbG9rb3ZhbsO9Y2gpIgpkaWZmIC0tZ2l0IGEvcG8vc3YuZ21vIGIvcG8vc3YuZ21vCmluZGV4IGI1YmZjZWYuLmU4OTAzNzMgMTAwNjQ0Ci0tLSBhL3BvL3N2LmdtbworKysgYi9wby9zdi5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vc3YucG8gYi9wby9zdi5wbwppbmRleCBmMjNmMjUwLi4xYWQ2YWQxIDEwMDY0NAotLS0gYS9wby9zdi5wbworKysgYi9wby9zdi5wbwpAQCAtMSwxNiArMSwxNSBAQAogIyBTd2VkaXNoIHRyYW5zbGF0aW9uIG9mIGJhc2gKLSMgQ29weXJpZ2h0IMKpIDIwMDgsIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCDCqSAyMDA4LCAyMDA5LCAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgotIyBHw7ZyYW4gVWRkZWJvcmcgPGdvZXJhbkB1ZGRlYm9yZy5zZT4sIDIwMDgsIDIwMDkuCisjIEfDtnJhbiBVZGRlYm9yZyA8Z29lcmFuQHVkZGVib3JnLnNlPiwgMjAwOCwgMjAwOSwgMjAxMC4KICMKLSMgJFJldmlzaW9uOiAxLjYgJAotIworIyAkUmV2aXNpb246IDEuOSAkCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMFxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCA0LjFcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDMtMjUgMTk6MzUrMDEwMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDExLTAxLTI4IDIyOjA5LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEwLTEwLTI0IDIyOjM1KzAyMDBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IEfDtnJhbiBVZGRlYm9yZyA8Z29lcmFuQHVkZGVib3JnLnNlPlxuIgogIkxhbmd1YWdlLVRlYW06IFN3ZWRpc2ggPHRwLXN2QGxpc3Rvci50cC1zdi5zZT5cbiIKICJNSU1FLVZlcnNpb246IDEuMFxuIgpAQCAtMjIsNyArMjEsNyBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgImZlbGFrdGlndCB2ZWt0b3JpbmRleCIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6IGRldCBnw6VyIGludGUgYXR0IGtvbnZlcnRlcmEgZW4gaW5kZXhlcmFkIHZla3RvciB0aWxsIGFzc29jaWF0aXYiCkBAIC00MiwzNiArNDEsMzYgQEAKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiJXM6ICVzOiBtw6VzdGUgYW52w6RuZGEgaW5kZXggdmlkIHRpbGxkZWxuaW5nIGF2IGFzc29jaWF0aXYgdmVrdG9yIgogCi0jOiBiYXNoaGlzdC5jOjM4MworIzogYmFzaGhpc3QuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgc2thcGE6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0NTcKKyM6IGJhc2hsaW5lLmM6MzQ5OAogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGRldCBnw6VyIGludGUgYXR0IGhpdHRhIGVuIHRhbmdlbnRiaW5kbmluZyBmw7ZyICIKICJrb21tYW5kb3QiCiAKLSM6IGJhc2hsaW5lLmM6MzU0MworIzogYmFzaGxpbmUuYzozNTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaXJzdCBub24td2hpdGVzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IGBcIiciCiBtc2dzdHIgIiVzOiBmw7Zyc3RhIGlja2VibGFua2EgdGVja25ldCDDpHIgaW50ZSAnXCInIgogCi0jOiBiYXNobGluZS5jOjM1NzIKKyM6IGJhc2hsaW5lLmM6MzYxMwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBjbG9zaW5nIGAlYycgaW4gJXMiCiBtc2dzdHIgImluZ2VuIGF2c2x1dGFuZGUgXCIlY1wiIGkgJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzYwNgorIzogYmFzaGxpbmUuYzozNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXM6IGtvbG9uc2VwYXJhdG9yIHNha25hcyIKIAogIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IGludmFsaWQgYWxpYXMgbmFtZSIKLW1zZ3N0ciAiXCIlc1wiOiBvZ2lsdGlndCB0YW5nZW50YmluZG5pbmdzbmFtbiIKK21zZ3N0ciAiXCIlc1wiOiBvZ2lsdGlndCBhbGlhc25hbW4iCiAKICM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKIG1zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCkBAIC0xMjUsMjYgKzEyNCwxMSBAQAogIiAgICBcbiIKICIgICAgVXRhbiBVVFRSLCByZXR1cm5lcmFyICIKIAotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKLW1zZ2lkICIiCi0iLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCi0iICAgICIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgotbXNnaWQgIiIKLSI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKLSIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgotIiAgICBcbiIKLSIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgotIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jZC5kZWY6MjE1CisjOiBidWlsdGlucy9jZC5kZWY6MjM1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICJIT01FIMOkciBpbnRlIHNhdHQiCiAKLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMjcKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyNDcKIG1zZ2lkICJPTERQV0Qgbm90IHNldCIKIG1zZ3N0ciAiT0xEUFdEIMOkciBpbnRlIHNhdHQiCiAKQEAgLTE2MywxMSArMTQ3LDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiBhbnbDpG5kbmluZzogIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgyNworIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MzIKIG1zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgImbDtnIgbcOlbmdhIGFyZ3VtZW50IgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogZmxhZ2dhbiBrcsOkdmVyIGV0dCBhcmd1bWVudCIKQEAgLTIwNSw3ICsxODksNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAib2dpbHRpZ3QgaGV4YWRlY2ltYWx0IHRhbCIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAib2dpbHRpZ3QgdGFsIgogCkBAIC0zMTQsMjUgKzI5OCwyNSBAQAogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgImvDtnIgaW50ZSBlbiBrb21wbGV0dGVyaW5nc2Z1bmt0aW9uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjIKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAogbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKIG1zZ3N0ciAia2FuIGVuZGFzdCBhbnbDpG5kYXMgaSBlbiBmdW5rdGlvbiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjYKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgImRldCBnw6VyIGludGUgYXR0IGFudsOkbmRhIFwiLWZcIiBmw7ZyIGF0dCBnw7ZyYSBmdW5rdGlvbmVyIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzIgZXhlY3V0ZV9jbWQuYzo0OTM3CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNzggZXhlY3V0ZV9jbWQuYzo1MTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZWFkb25seSBmdW5jdGlvbiIKIG1zZ3N0ciAiJXM6IGVuZGFzdCBsw6RzYmFyIGZ1bmt0aW9uIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgZsO2cnN0w7ZyYSB2ZWt0b3J2YXJpYWJsZXIgcMOlIGRldHRhIHPDpHR0IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiJXM6IGRldCBnw6VyIGludGUgYXR0IGtvbnZlcnRlcmEgZW4gYXNzb2NpYXRpdiB2ZWt0b3IgdGlsbCBpbmRleGVyYWQiCkBAIC0zNjEsMjkgKzM0NSwyOSBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGthbiBpbnRlIHRhIGJvcnQ6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0Ci0jOiBzaGVsbC5jOjE0NTIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiDDpHIgZW4ga2F0YWxvZyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIiVzOiBpbnRlIGVuIG5vcm1hbCBmaWwiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ3CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiBmaWxlbiDDpHIgZsO2ciBzdG9yIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKLSM6IHNoZWxsLmM6MTQ2MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQga8O2cmEgYmluw6RyIGZpbCIKIAotIzogYnVpbHRpbnMvZXhlYy5kZWY6MjEyCisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgogbXNnc3RyICIlczoga2FuIGludGUga8O2cmE6ICVzIgpAQCAtNDExLDExICszOTUsMTEgQEAKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJoaXR0YXIgaW5nZXQga29tbWFuZG8iCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiaGlzdG9yaWVzcGVjaWZpa2F0aW9uIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzcwCisjOiBidWlsdGlucy9mYy5kZWY6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgw7ZwcG5hIHRlbXBvcsOkcmZpbDogJXMiCkBAIC00NDgsNyArNDMyLDcgQEAKIG1zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgogbXNnc3RyICIlczogaGFzaHRhYmVsbGVuIHRvbVxuIgogCi0jOiBidWlsdGlucy9oYXNoLmRlZjoyNDQKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJoaXRzXHRjb21tYW5kXG4iCiBtc2dzdHIgInRyw6RmZmFyXHRrb21tYW5kb1xuIgpAQCAtNTE1LDc2ICs0OTksODYgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICJpbmdhIGFuZHJhIGZsYWdnb3Igw6RyIHRpbGzDpXRuYSBtZWQgXCIteFwiIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyMDAKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgogbXNnc3RyICIlczogYXJndW1lbnQgbcOlc3RlIHZhcmEgcHJvY2Vzc2VyIGVsbGVyIGpvYi1pZDpuIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjMKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIk9rw6RudCBmZWwiCiAKLSM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjUwMSBleHByLmM6NTE2CisjOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1NTIgZXhwci5jOjU2NwogbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgInV0dHJ5Y2sgZsO2cnbDpG50YWRlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCi1tc2dzdHIgIiVzOiBpbnRlIGVuIHZla3RvcnZhcmlhYmVsIgorbXNnc3RyICIlczogaW50ZSBlbiBpbmRleGVyYWQgdmVrdG9yIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTYgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogb2dpbHRpZyBmaWxpZGVudGlmaWVyYXJzcGVjaWZpa2F0aW9uIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTcgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjQgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCiBtc2dzdHIgIiVkOiBvZ2lsdGlnIGZpbGJlc2tyaXZhcmU6ICVzIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjYgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzA0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzMgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzExCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVzOiBvZ2lsdGlndCByYWRhbnRhbCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlczogb2dpbHRpZyB2ZWt0b3JzdGFydCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgY2FsbGJhY2sgcXVhbnR1bSIKIG1zZ3N0ciAiJXM6IG9naWx0aWd0IMOldGVyYW5yb3Bza3ZhbnRhIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgInRvbXQgdmVrdG9ydmFyaWFiZWxuYW1uIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM1NAogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgInN0w7ZkIGbDtnIgdmVrdG9ydmFyaWFibGVyIGtyw6R2cyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozNzQKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IG1pc3NpbmcgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiXCIlc1wiOiBmb3JtYXRlcmluZ3N0ZWNrZW4gc2FrbmFzIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU1MQorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgdGltZSBmb3JtYXQgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6IG9naWx0aWcgdGlkc2dyw6Ruc3NwZWNpZmlrYXRpb24iCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiXCIlY1wiOiBvZ2lsdGlndCBmb3JtYXRlcmluZ3N0ZWNrZW4iCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTc4CisjOiBidWlsdGlucy9wcmludGYuZGVmOjY2MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgInZhcm5pbmc6ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAiaGV4YWRlY2ltYWwgc2lmZnJhIHNha25hcyBmw7ZyIFxceCIKIAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAiaGV4YWRlY2ltYWwgc2lmZnJhIHNha25hcyBmw7ZyIFxceCIKKwogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQogbXNnaWQgIm5vIG90aGVyIGRpcmVjdG9yeSIKIG1zZ3N0ciAiaW5nZW4gYW5uYW4ga2F0YWxvZyIKQEAgLTc0MiwyMSArNzM2LDIxIEBACiBtc2dzdHIgIiIKICJkZXQgZ8OlciBiYXJhIGF0dCBnw7ZyYSBcInJldHVyblwiIGZyw6VuIGVuIGZ1bmt0aW9uIGVsbGVyIGvDpGxsaW5sw6RzdCBza3JpcHQiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6NzY4CisjOiBidWlsdGlucy9zZXQuZGVmOjc3MQogbXNnaWQgImNhbm5vdCBzaW11bHRhbmVvdXNseSB1bnNldCBhIGZ1bmN0aW9uIGFuZCBhIHZhcmlhYmxlIgogbXNnc3RyICJkZXQgZ8OlciBpbnRlIGF0dCBzYW10aWRpZ3QgdGEgYm9ydCBlbiBmdW5rdGlvbiBvY2ggZW4gdmFyaWFiZWwiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1CisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0IgogbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgdGEgYm9ydCB0aWxsZGVsbmluZyIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MTIKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgogbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgdGEgYm9ydCB0aWxsZGVsbmluZzogZW5kYXN0IGzDpHNiYXIgJXMiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODIzCisjOiBidWlsdGlucy9zZXQuZGVmOjgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGFycmF5IHZhcmlhYmxlIgogbXNnc3RyICIlczogaW50ZSBlbiB2ZWt0b3J2YXJpYWJlbCIKQEAgLTc3MCwyMCArNzY0LDIwIEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgInNraWZ0YW50YWwiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJkZXQgZ8OlciBpbnRlIGF0dCBzw6R0dGEgb2NoIHRhIGJvcnQgc2thbGZsYWdnb3Igc2FtdGlkaWd0IgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlczogb2dpbHRpZ3Qgc2thbGZsYWdnc25hbW4iCiAKLSM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTI4CisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjEzMAogbXNnaWQgImZpbGVuYW1lIGFyZ3VtZW50IHJlcXVpcmVkIgogbXNnc3RyICJmaWxuYW1uc2FyZ3VtZW50IGtyw6R2cyIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGZpbGVuIGZpbm5zIGludGUiCkBAIC04MjYsMjYgKzgyMCwyNiBAQAogbXNnaWQgIiVzIGlzIGhhc2hlZCAoJXMpXG4iCiBtc2dzdHIgIiVzIMOkciBoYXNoYWQgKCVzKVxuIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM3MgorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCiBtc2dzdHIgIiVzOiBvZ2lsdGlndCBncsOkbnNhcmd1bWVudCIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozOTgKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGJhZCBjb21tYW5kIgogbXNnc3RyICJcIiVjXCI6IGZlbGFrdGlndCBrb21tYW5kbyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IGthbiBpbnRlIGF2Z8O2cmEgZ3LDpG5zZW46ICVzIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQ1MworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTcKIG1zZ2lkICJsaW1pdCIKIG1zZ3N0ciAiZ3LDpG5zIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjQ2NSBidWlsdGlucy91bGltaXQuZGVmOjc2NQorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjkgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgbGltaXQ6ICVzIgogbXNnc3RyICIlczoga2FuIGludGUgw6RuZHJhIGdyw6Ruc2VuOiAlcyIKQEAgLTkwMSwxMDUgKzg5NSwxMTAgQEAKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICIHdGlkZW4gZ2ljayB1dCBpIHbDpG50YW4gcMOlIGluZGF0YTogYXV0b21hdGlzayB1dGxvZ2duaW5nXG4iCittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dzdHIgIlxhdGlkZW4gZ2ljayB1dCBpIHbDpG50YW4gcMOlIGluZGF0YTogYXV0b21hdGlzayB1dGxvZ2duaW5nXG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICJkZXQgZ8OlciBpbnRlIGF0dCBvbWRpcmVnZXJhIHN0YW5kYXJkIGluIGZyw6VuIC9kZXYvbnVsbDogJXMiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MTE2MgorIzogZXhlY3V0ZV9jbWQuYzoxMTY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiVElNRUZPUk1BVDogXCIlY1wiOiBvZ2lsdGlndCBmb3JtYXRlcmluZ3N0ZWNrZW4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjA3NQorIzogZXhlY3V0ZV9jbWQuYzoyMTIxCiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAicsO2cmZlbCIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDgxCisjOiBleGVjdXRlX2NtZC5jOjQ2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczogYmVncsOkbnNhdDogZGV0IGfDpXIgaW50ZSBhdHQgYW5nZSBcIi9cIiBpIGtvbW1hbmRvbmFtbiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NTcyCisjOiBleGVjdXRlX2NtZC5jOjQ3MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNvbW1hbmQgbm90IGZvdW5kIgogbXNnc3RyICIlczoga29tbWFuZG90IGZpbm5zIGludGUiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMiCittc2dzdHIgIiVzIMOkciAlc1xuIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiVzOiAlczogZmVsYWt0aWcgdG9sayIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTc2CisjOiBleGVjdXRlX2NtZC5jOjUxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiZGV0IGfDpXIgaW50ZSBhdHQgZHVwbGljZXJhIGZiICVkIHRpbGwgZmIgJWQiCiAKLSM6IGV4cHIuYzoyNDEKKyM6IGV4cHIuYzoyNTYKIG1zZ2lkICJleHByZXNzaW9uIHJlY3Vyc2lvbiBsZXZlbCBleGNlZWRlZCIKIG1zZ3N0ciAicmVrdXJzaW9uc25pdsOlIGkgdXR0cnljayDDtnZlcnNrcmlkZW4iCiAKLSM6IGV4cHIuYzoyNjUKKyM6IGV4cHIuYzoyODAKIG1zZ2lkICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgogbXNnc3RyICJ1bmRlcnNwaWxsIGkgcmVrdXJzaW9uc3N0YWNrZW4iCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKIG1zZ3N0ciAic3ludGF4ZmVsIGkgdXR0cnlja2V0IgogCi0jOiBleHByLmM6NDE5CisjOiBleHByLmM6NDYzCiBtc2dpZCAiYXR0ZW1wdGVkIGFzc2lnbm1lbnQgdG8gbm9uLXZhcmlhYmxlIgogbXNnc3RyICJmw7Zyc8O2ayBhdHQgdGlsbGRlbGEgdGlsbCBlbiBpY2tlLXZhcmlhYmVsIgogCi0jOiBleHByLmM6NDQwIGV4cHIuYzo0NDUgZXhwci5jOjc1NgorIzogZXhwci5jOjQ4NiBleHByLmM6NDkxIGV4cHIuYzo4MDcKIG1zZ2lkICJkaXZpc2lvbiBieSAwIgogbXNnc3RyICJkaXZpc2lvbiBtZWQgMCIKIAotIzogZXhwci5jOjQ3MQorIzogZXhwci5jOjUxNwogbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKIG1zZ3N0ciAiYnVnOiBmZWxha3RpZyBleHBhc3NpZ24tdG9rZW4iCiAKLSM6IGV4cHIuYzo1MTMKKyM6IGV4cHIuYzo1NjQKIG1zZ2lkICJgOicgZXhwZWN0ZWQgZm9yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgIlwiOlwiIGbDtnJ2w6RudGFkZXMgaSB2aWxsa29ybGlndCB1dHRyeWNrIgogCi0jOiBleHByLmM6NzgxCisjOiBleHByLmM6ODMyCiBtc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCiBtc2dzdHIgImV4cG9uZW50ZW4gw6RyIG1pbmRyZSDDpG4gMCIKIAotIzogZXhwci5jOjgyNgorIzogZXhwci5jOjg4NwogbXNnaWQgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgogbXNnc3RyICJlbiBpZGVudGlmaWVyYXJlIGbDtnJ2w6RudGFkZXMgZWZ0ZXIgcHJlLcO2a25pbmcgZWxsZXIgcHJlLW1pbnNrbmluZyIKIAotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJcIilcIiBzYWtuYXMiCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgInN5bnRheGZlbDogZW4gb3BlcmFuZCBmw7ZydsOkbnRhZGVzIgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAic3ludGF4ZmVsOiBvZ2lsdGlnIGFyaXRtZXRpc2sgb3BlcmF0b3IiCiAKLSM6IGV4cHIuYzoxMjAyCisjOiBleHByLmM6MTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgogbXNnc3RyICIlcyVzJXM6ICVzIChmZWxzeW1ib2wgw6RyIFwiJXNcIikiCiAKLSM6IGV4cHIuYzoxMjYwCisjOiBleHByLmM6MTM2NgogbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgogbXNnc3RyICJvZ2lsdGlnIGFyaXRtZXRpc2sgYmFzIgogCi0jOiBleHByLmM6MTI4MAorIzogZXhwci5jOjEzODYKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgInbDpHJkZXQgw6RyIGbDtnIgc3RvcnQgZsO2ciBiYXNlbiIKIAotIzogZXhwci5jOjEzMjkKKyM6IGV4cHIuYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiVzOiB1dHRyeWNrc2ZlbFxuIgpAQCAtMTAwOCwxNjQgKzEwMDcsMTY0IEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ2V0Y3dkOiBkZXQgZ8OlciBpbnRlIGF0dCBrb21tYSDDpXQgZsO2csOkbGRyYWthdGFsb2dlbiIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICJkZXQgZ8OlciBpbnRlIGF0dCDDpXRlcnN0w6RsbGEgZsO2cmRyw7ZqbmluZ3Nmcml0dCBsw6RnZSBmw7ZyIGZiICVkIgogCi0jOiBpbnB1dC5jOjI1OAorIzogaW5wdXQuYzoyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKIG1zZ3N0ciAiIgogImRldCBnw6VyIGludGUgYXR0IGFsbG9rZXJhIGVuIG55IGZpbGJlc2tyaXZhcmUgZsO2ciBiYXNoaW5kYXRhIGZyw6VuIGZiICVkIgogCi0jOiBpbnB1dC5jOjI2NgorIzogaW5wdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2F2ZV9iYXNoX2lucHV0OiBidWZmZXIgYWxyZWFkeSBleGlzdHMgZm9yIG5ldyBmZCAlZCIKIG1zZ3N0ciAic2F2ZV9iYXNoX2lucHV0OiBidWZmZXJ0IGZpbm5zIHJlZGFuIGbDtnIgbnkgZmIgJWQiCiAKLSM6IGpvYnMuYzo0NjYKKyM6IGpvYnMuYzo0NjgKIG1zZ2lkICJzdGFydF9waXBlbGluZTogcGdycCBwaXBlIgogbXNnc3RyICJzdGFydF9waXBlbGluZTogcGdycCByw7ZyIgogCi0jOiBqb2JzLmM6ODg3CisjOiBqb2JzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKIG1zZ3N0ciAiYXZncmVuYWQgcGlkICVkIGZpbnMgaSBrw7ZyYW5kZSBqb2JiICVkIgogCi0jOiBqb2JzLmM6MTAwNQorIzogam9icy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKIG1zZ3N0ciAidGFyIGJvcnQgc3RvcHBhdCBqb2JiICVkIG1lZCBwcm9jZXNzZ3J1cHAgJWxkIgogCi0jOiBqb2JzLmM6MTExMAorIzogam9icy5jOjExMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKIG1zZ3N0ciAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGkgdGhlX3BpcGVsaW5lIgogCi0jOiBqb2JzLmM6MTExMworIzogam9icy5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgogbXNnc3RyICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZXJhZCBzb20gZm9ydGZhcmFuZGUgdmlkIGxpdiIKIAotIzogam9icy5jOjE0MDEKKyM6IGpvYnMuYzoxNDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc2NyaWJlX3BpZDogJWxkOiBubyBzdWNoIHBpZCIKIG1zZ3N0ciAiZGVzY3JpYmVfcGlkOiAlbGQ6IGluZ2VuIHPDpWRhbiBwaWQiCiAKLSM6IGpvYnMuYzoxNDE2CisjOiBqb2JzLmM6MTQ0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJTaWduYWwgJWQiCiBtc2dzdHIgIlNpZ25hbCAlZCIKIAotIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0CiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiS2xhcnQiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJTdG9wcGF0IgogCi0jOiBqb2JzLmM6MTQzOQorIzogam9icy5jOjE0NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiU3RvcHBlZCglcykiCiBtc2dzdHIgIlN0b3BwYXQoJXMpIgogCi0jOiBqb2JzLmM6MTQ0MworIzogam9icy5jOjE0NzIKIG1zZ2lkICJSdW5uaW5nIgogbXNnc3RyICJLw7ZyIgogCi0jOiBqb2JzLmM6MTQ1NworIzogam9icy5jOjE0ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRG9uZSglZCkiCiBtc2dzdHIgIktsYXJ0KCVkKSIKIAotIzogam9icy5jOjE0NTkKKyM6IGpvYnMuYzoxNDg4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkV4aXQgJWQiCiBtc2dzdHIgIkF2c2x1dCAlZCIKIAotIzogam9icy5jOjE0NjIKKyM6IGpvYnMuYzoxNDkxCiBtc2dpZCAiVW5rbm93biBzdGF0dXMiCiBtc2dzdHIgIk9rw6RuZCBzdGF0dXMiCiAKLSM6IGpvYnMuYzoxNTQ5CisjOiBqb2JzLmM6MTU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIoY29yZSBkdW1wZWQpICIKIG1zZ3N0ciAiKG1pbm5lc3V0c2tyaWZ0IHNrYXBhZCkgIgogCi0jOiBqb2JzLmM6MTU2OAorIzogam9icy5jOjE1OTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAod2Q6ICVzKSIKIG1zZ3N0ciAiICAoYWs6ICVzKSIKIAotIzogam9icy5jOjE3NzYKKyM6IGpvYnMuYzoxODA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICJiYXJucyBzZXRwZ2lkICglbGQgdGlsbCAlbGQpIgogCi0jOiBqb2JzLmM6MjEwNCBub2pvYnMuYzo1ODUKKyM6IGpvYnMuYzoyMTMzIG5vam9icy5jOjU4NQogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0OiBwaWQgJWxkIGlzIG5vdCBhIGNoaWxkIG9mIHRoaXMgc2hlbGwiCiBtc2dzdHIgIndhaXQ6IHBpZCAlbGQgw6RyIGludGUgZXR0IGJhcm4gdGlsbCBkZXR0YSBza2FsIgogCi0jOiBqb2JzLmM6MjMzMQorIzogam9icy5jOjIzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IEluZ2VuIHVwcGdpZnQgb20gcHJvY2VzcyAlbGQiCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IGpvYmIgJWQgw6RyIHN0b3BwYXQiCiAKLSM6IGpvYnMuYzoyODI5CisjOiBqb2JzLmM6Mjg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgogbXNnc3RyICIlczogam9iYmV0IGhhciBhdnNsdXRhdCIKIAotIzogam9icy5jOjI4MzgKKyM6IGpvYnMuYzoyODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIlczogam9iYiAlZCDDpHIgcmVkYW4gaSBiYWtncnVuZGVuIgogCi0jOiBqb2JzLmM6MzA1OQorIzogam9icy5jOjMwODkKIG1zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCi1tc2dzdHIgIiIKK21zZ3N0ciAid2FpdGNobGQ6IHNsw6VyIHDDpSBXTk9IQU5HIGbDtnIgYXR0IHVuZHZpa2Egb8OkbmRsaWcgYmxvY2tlcmluZyIKIAotIzogam9icy5jOjM1MDgKKyM6IGpvYnMuYzozNTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIiVzOiByYWQgJWQ6ICIKIAotIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiAobWlubmVzdXRza3JpZnQgc2thcGFkKSIKIAotIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKKyM6IGpvYnMuYzozNTY0IGpvYnMuYzozNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIoYWsgbnU6ICVzKVxuIgogCi0jOiBqb2JzLmM6MzU3OQorIzogam9icy5jOjM2MDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBtaXNzbHlja2FkZXMiCiAKLSM6IGpvYnMuYzozNjM5CisjOiBqb2JzLmM6MzY2OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluamVkaXNjaXBsaW4iCiAKLSM6IGpvYnMuYzozNjQ5CisjOiBqb2JzLmM6MzY3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiAKLSM6IGpvYnMuYzozNjc3CisjOiBqb2JzLmM6MzcwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAiZGV0IGfDpXIgaW50ZSBhdHQgc8OkdHRhIHRlcm1pbmFscHJvY2Vzc2dydXBwICglZCkiCiAKLSM6IGpvYnMuYzozNjgyCisjOiBqb2JzLmM6MzcxMgogbXNnaWQgIm5vIGpvYiBjb250cm9sIGluIHRoaXMgc2hlbGwiCiBtc2dzdHIgImluZ2VuIGpvYmJzdHlybmluZyBpIGRldHRhIHNrYWwiCiAKQEAgLTEyNjAsMjIgKzEyNTksMjIgQEAKICM6IGxvY2FsZS5jOjE5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKLW1zZ3N0ciAiIgorbXNnc3RyICJzZXRsb2NhbGU6IExDX0FMTDogZGV0IGfDpXIgaW50ZSBhdHQgw6RuZHJhIGxva2FsICglcykiCiAKICM6IGxvY2FsZS5jOjE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2V0bG9jYWxlOiBMQ19BTEw6IGRldCBnw6VyIGludGUgYXR0IMOkbmRyYSBsb2thbCAoJXMpOiAlcyIKIAogIzogbG9jYWxlLmM6MjQ3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKLW1zZ3N0ciAieHJlYWxsb2M6ICVzOiAlZDoga2FuIGludGUgYWxsb2tlcmEgJWx1IGJ5dGUiCittc2dzdHIgInNldGxvY2FsZTogJXM6IGRldCBnw6VyIGludGUgYXR0IMOkbmRyYSBsb2thbCAoJXMpIgogCiAjOiBsb2NhbGUuYzoyNDkKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpOiAlcyIKLW1zZ3N0ciAieHJlYWxsb2M6ICVzOiAlZDoga2FuIGludGUgYWxsb2tlcmEgJWx1IGJ5dGUiCittc2dzdHIgInNldGxvY2FsZTogJXM6IGRldCBnw6VyIGludGUgYXR0IMOkbmRyYSBsb2thbCAoJXMpOiAlcyIKIAogIzogbWFpbGNoZWNrLmM6NDMzCiBtc2dpZCAiWW91IGhhdmUgbWFpbCBpbiAkXyIKQEAgLTEzMTksOTkgKzEzMTgsOTkgQEAKIG1zZ3N0ciAiIgogIm1ha2VfcmVkaXJlY3Rpb246IG9tZGlyaWdlcmluZ3NpbnN0cnVrdGlvbiBcIiVkXCIgdXRhbmbDtnIgZ2lsdGlndCBpbnRlcnZhbGwiCiAKLSM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAib3bDpG50YXQgZmlsc2x1dCB2aWQgc8O2a25pbmcgZWZ0ZXIgbWF0Y2hhbmRlIFwiJWNcIiIKIAotIzogcGFyc2UueTozOTUxCisjOiBwYXJzZS55OjQwMjUKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgogbXNnc3RyICJvdsOkbnRhdCBmaWxzbHV0IHZpZCBzw7ZrbmluZyBlZnRlciBcIl1dXCIiCiAKLSM6IHBhcnNlLnk6Mzk1NgorIzogcGFyc2UueTo0MDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uOiB1bmV4cGVjdGVkIHRva2VuIGAlcyciCiBtc2dzdHIgInN5bnRheGZlbCBpIHZpbGxrb3JsaWd0IHV0dHJ5Y2s6IG92w6RudGFkIHN5bWJvbCBcIiVzXCIiCiAKLSM6IHBhcnNlLnk6Mzk2MAorIzogcGFyc2UueTo0MDM0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgInN5bnRheGZlbCBpIHZpbGxrb3JsaWd0IHV0dHJ5Y2siCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJvdsOkbnRhZCBzeW1ib2wgXCIlc1wiLCBcIilcIiBmw7ZydsOkbnRhZGVzIgogCi0jOiBwYXJzZS55OjQwNDIKKyM6IHBhcnNlLnk6NDExNgogbXNnaWQgImV4cGVjdGVkIGApJyIKIG1zZ3N0ciAiXCIpXCIgZsO2cnbDpG50YWRlcyIKIAotIzogcGFyc2UueTo0MDcwCisjOiBwYXJzZS55OjQxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJvdsOkbnRhdCBhcmd1bWVudCBcIiVzXCIgdGlsbCB2aWxsa29ybGlnIHVuw6RyIG9wZXJhdG9yIgogCi0jOiBwYXJzZS55OjQwNzQKKyM6IHBhcnNlLnk6NDE0OAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm92w6RudGF0IGFyZ3VtZW50IHRpbGwgdmlsbGtvcmxpZyB1bsOkciBvcGVyYXRvciIKIAotIzogcGFyc2UueTo0MTIwCisjOiBwYXJzZS55OjQxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIm92w6RudGFkIHN5bWJvbCBcIiVzXCIsIHZpbGxrb3JsaWcgYmluw6RyIG9wZXJhdG9yIGbDtnJ2w6RudGFkZXMiCiAKLSM6IHBhcnNlLnk6NDEyNAorIzogcGFyc2UueTo0MTk4CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICJ2aWxsa29ybGlnIGJpbsOkciBvcGVyYXRvIGbDtnJ2w6RudGFkZXMiCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIm92w6RudGF0IGFyZ3VtZW50IFwiJXNcIiB0aWxsIHZpbGxrb3JsaWcgYmluw6RyIG9wZXJhdG9yIgogCi0jOiBwYXJzZS55OjQxNTAKKyM6IHBhcnNlLnk6NDIyNAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJvdsOkbnRhdCBhcmd1bWVudCB0aWxsIHZpbGxrb3JsaWcgYmluw6RyIG9wZXJhdG9yIgogCi0jOiBwYXJzZS55OjQxNjEKKyM6IHBhcnNlLnk6NDIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAib3bDpG50YWQgc3ltYm9sIFwiJWNcIiBpIHZpbGxrb3JsaWd0IGtvbW1hbmRvIgogCi0jOiBwYXJzZS55OjQxNjQKKyM6IHBhcnNlLnk6NDIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAib3bDpG50YWQgc3ltYm9sIFwiJXNcIiBpIHZpbGxrb3JsaWd0IGtvbW1hbmRvIgogCi0jOiBwYXJzZS55OjQxNjgKKyM6IHBhcnNlLnk6NDI0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIm92w6RudGFkIHN5bWJvbCAlZCBpIHZpbGxrb3JsaWd0IGtvbW1hbmRvIgogCi0jOiBwYXJzZS55OjU0NTkKKyM6IHBhcnNlLnk6NTU2NgogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciCi1tc2dzdHIgInN5bnRheGZlbCBuw6RyIGRlbiBvdsOkbnRhZGUgc3ltYm9sZW4gXCIlc1wiIgorbXNnc3RyICJzeW50YXhmZWwgbsOkcmEgZGVuIG92w6RudGFkZSBzeW1ib2xlbiBcIiVzXCIiCiAKLSM6IHBhcnNlLnk6NTQ3NworIzogcGFyc2UueTo1NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgInN5bnRheGZlbCBuw6RyYSBcIiVzXCIiCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJzeW50YXhmZWw6IG92w6RudGF0IGZpbHNsdXQiCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICJzeW50YXhmZWwiCiAKLSM6IHBhcnNlLnk6NTU0OQorIzogcGFyc2UueTo1NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJBbnbDpG5kIFwiJXNcIiBmw6RyIGF0dCBsw6RtbmEgc2thbGV0LlxuIgogCi0jOiBwYXJzZS55OjU3MTEKKyM6IHBhcnNlLnk6NTgxOAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAib3bDpG50YXQgZmlsc2x1dCBuw6RyIG1hdGNoYW5kZSBcIilcIiBzw7ZrdGVzIgogCkBAIC0xNDIwLDc3ICsxNDE5LDc3IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgImtvbXBsZXR0ZXJpbmc6IGZ1bmt0aW9uIFwiJXNcIiBmaW5ucyBpbnRlIgogCi0jOiBwY29tcGxpYi5jOjE3OQorIzogcGNvbXBsaWIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIAotIzogcHJpbnRfY21kLmM6MjkwCisjOiBwcmludF9jbWQuYzoyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICJwcmludF9jb21tYW5kOiBmZWxha3RpZyBhbnNsdXRuaW5nIFwiJWRcIiIKIAotIzogcHJpbnRfY21kLmM6MzYzCi0jLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCi1tc2dzdHIgIiVkOiBvZ2lsdGlnIGZpbGJlc2tyaXZhcmU6ICVzIgotCiAjOiBwcmludF9jbWQuYzozNjgKLW1zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKLW1zZ3N0ciAiIgorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgInh0cmFjZV9zZXQ6ICVkOiBvZ2lsdGlnIGZpbGJlc2tyaXZhcmUiCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6MzczCittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgInh0cmFjZV9zZXQ6IE5VTEwtZmlscGVrYXJlIgorCisjOiBwcmludF9jbWQuYzozNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgotbXNnc3RyICIiCittc2dzdHIgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKIAotIzogcHJpbnRfY21kLmM6MTQ2MQorIzogcHJpbnRfY21kLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImNwcmludGY6IFwiJWNcIjogb2dpbHRpZ3QgZm9ybWF0ZXJpbmdzdGVja2VuIgogCi0jOiByZWRpci5jOjExMAorIzogcmVkaXIuYzoxMjIKIG1zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgogbXNnc3RyICJmaWxiZXNrcml2YXJlIHV0YW5mw7ZyIGdpbHRpZ3QgaW50ZXJ2YWxsIgogCi0jOiByZWRpci5jOjE2NgorIzogcmVkaXIuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IHR2ZXR5ZGlnIG9tZGlyaWdlcmluZyIKIAotIzogcmVkaXIuYzoxNzAKKyM6IHJlZGlyLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBiZWdyw6Ruc2FkOiBkZXQgZ8OlciBpbnRlIGF0dCBza3JpdmEgw7Z2ZXIgZW4gZXhpc3RlcmFuZGUgZmlsIgogCi0jOiByZWRpci5jOjE3NQorIzogcmVkaXIuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiVzOiBiZWdyw6Ruc2FkOiBkZXQgZ8OlciBpbnRlIGF0dCBvbWRpcmlnZXJhIHV0ZGF0YSIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiZGV0IGfDpXIgaW50ZSBhdHQgc2thcGEgdGVtcG9yw6RyZmlsIGbDtnIgaMOkci1kb2t1bWVudDogJXMiCiAKLSM6IHJlZGlyLmM6MTg0Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHJlZGlyLmM6MTk2CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgotbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgdGlsbGRlbGEgbGlzdG9yIHRpbGwgdmVrdG9ybWVkbGVtbWFyIgorbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgdGlsbGRlbGEgZmIgdGlsbCB2YXJpYWJlbCIKIAotIzogcmVkaXIuYzo1NDQKKyM6IHJlZGlyLmM6NTQ4CiBtc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgogbXNnc3RyICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgc3TDtmRzIGludGUgdXRhbiBuw6R0dmVya3NmdW5rdGlvbiIKIAotIzogcmVkaXIuYzoxMTAxCisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAib21kaXJpZ2VyaW5nc2ZlbDogZGV0IGfDpXIgaW50ZSBhdHQgZHVwbGljZXJhIGZiIgogCi0jOiBzaGVsbC5jOjMzMgorIzogc2hlbGwuYzozMzMKIG1zZ2lkICJjb3VsZCBub3QgZmluZCAvdG1wLCBwbGVhc2UgY3JlYXRlISIKIG1zZ3N0ciAiaGl0dGFkZSBpbnRlIC90bXAsIHZhciBnb2Qgc2thcGEhIgogCi0jOiBzaGVsbC5jOjMzNgorIzogc2hlbGwuYzozMzcKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiL3RtcCBtw6VzdGUgdmFyYSBldHQgZ2lsdGlndCBrYXRhbG9nbmFtbiIKIApAQCAtMTQ5OSwxNiArMTQ5OCwxNiBAQAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVjOiBvZ2lsdGlnIGZsYWdnYSIKIAotIzogc2hlbGwuYzoxNjUxCisjOiBzaGVsbC5jOjE2NTIKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIkphZyBoYXIgaW5nZXQgbmFtbiEiCiAKLSM6IHNoZWxsLmM6MTc5MworIzogc2hlbGwuYzoxNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkdOVSBiYXNoLCB2ZXJzaW9uICVzLSglcylcbiIKIG1zZ3N0ciAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogCi0jOiBzaGVsbC5jOjE3OTQKKyM6IHNoZWxsLmM6MTc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE1MTcsNDEgKzE1MTYsNDEgQEAKICJBbnbDpG5kbmluZzpcdCVzIFtHTlUgbMOlbmcgZmxhZ2dhXSBbZmxhZ2dhXSAuLi5cbiIKICJcdFx0JXMgW0dOVSBsw6VuZyBmbGFnZ2FdIFtmbGFnZ2FdIHNrcmlwdGZpbCAuLi5cbiIKIAotIzogc2hlbGwuYzoxNzk2CisjOiBzaGVsbC5jOjE3OTgKIG1zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgogbXNnc3RyICJHTlUgbMOlbmdhIGZsYWdnb3I6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiU2thbGZsYWdnb3I6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODAzCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNEIGVsbGVyIC1jIGtvbW1hbmRvIGVsbGVyIC1PIHNob3B0X2ZsYWdnYVx0XHQoYmFyYSB1cHBzdGFydClcbiIKIAotIzogc2hlbGwuYzoxODE2CisjOiBzaGVsbC5jOjE4MTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCiBtc2dzdHIgIlx0LSVzIGVsbGVyIC1vIGZsYWdnYVxuIgogCi0jOiBzaGVsbC5jOjE4MjIKKyM6IHNoZWxsLmM6MTgyNAogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCiBtc2dzdHIgIlNrcml2IFwiJXMgLWMgJ2hlbHAgc2V0J1wiIGbDtnIgbWVyIGluZm9ybWF0aW9uIG9tIHNrYWxmbGFnZ29yLlxuIgogCi0jOiBzaGVsbC5jOjE4MjMKKyM6IHNoZWxsLmM6MTgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICJTa3JpdiBcIiVzIC1jIGhlbHBcIiBmw7ZyIG1lciBpbmZvcm1hdGlvbiBvbSBpbmJ5Z2dkYSBza2Fsa29tbWFuZG9uLlxuIgogCi0jOiBzaGVsbC5jOjE4MjQKKyM6IHNoZWxsLmM6MTgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICIiCiAiQW52w6RuZCBrb21tYW5kb3QgXCJiYXNoYnVnXCIgZsO2ciBhdHQgcmFwcG9ydGVyYSBmZWwuXG4iCiAiU2tpY2thIHN5bnB1bmt0ZXIgcMOlIMO2dmVyc8OkdHRuaW5nZW4gdGlsbCA8dHAtc3ZAbGlzdG9yLnRwLXN2LnNlPi5cbiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiBvZ2lsdGlnIG9wZXJhdGlvbiIKQEAgLTE3MjUsODMgKzE3MjQsODUgQEAKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIk9rw6RuZCBzaWduYWwgbnIgJWQiCiAKLSM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE0NTQKKyM6IHN1YnN0LmM6MTMzMyBzdWJzdC5jOjE1MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBgJXMnIGluICVzIgogbXNnc3RyICJmZWxha3RpZyBzdWJzdGl0dXRpb246IGluZ2VuIGF2c2x1dGFuZGUgXCIlc1wiIGkgJXMiCiAKLSM6IHN1YnN0LmM6MjczNQorIzogc3Vic3QuYzoyNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgdGlsbGRlbGEgbGlzdG9yIHRpbGwgdmVrdG9ybWVkbGVtbWFyIgogCi0jOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCisjOiBzdWJzdC5jOjQ5Nzkgc3Vic3QuYzo0OTk1CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImRldCBnw6VyIGludGUgYXR0IHNrYXBhIHLDtnIgZsO2ciBwcm9jZXNzdWJzdGl0dXRpb24iCiAKLSM6IHN1YnN0LmM6NDgwMgorIzogc3Vic3QuYzo1MDI3CiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJkZXQgZ8OlciBpbnRlIGF0dCBza2FwYSBiYXJuIGbDtnIgcHJvY2Vzc3Vic3RpdHV0aW9uIgogCi0jOiBzdWJzdC5jOjQ4NDcKKyM6IHN1YnN0LmM6NTA3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJkZXQgZ8OlciBpbnRlIGF0dCDDtnBwbmEgbmFtbmdpdmV0IHLDtnIgJXMgZsO2ciBsw6RzbmluZyIKIAotIzogc3Vic3QuYzo0ODQ5CisjOiBzdWJzdC5jOjUwNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiZGV0IGfDpXIgaW50ZSBhdHQgw7ZwcG5hIG5hbW5naXZldCByw7ZyICVzIGbDtnIgc2tyaXZuaW5nIgogCi0jOiBzdWJzdC5jOjQ4NjcKKyM6IHN1YnN0LmM6NTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgImRldCBnw6VyIGludGUgYXR0IGR1cGxpY2VyYSBuYW1uZ2l2ZXQgcsO2ciAlcyBzb20gZmIgJWQiCiAKLSM6IHN1YnN0LmM6NTA2MworIzogc3Vic3QuYzo1Mjg0CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImRldCBnw6VyIGludGUgYXR0IHNrYXBhIHLDtnIgZsO2ciBrb21tYW5kb3N1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo1MDk3CisjOiBzdWJzdC5jOjUzMjIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImRldCBnw6VyIGludGUgYXR0IHNrYXBhIGJhcm4gZsO2ciBrb21tYW5kb3N1YnN0aXR1dGlvbiIKIAotIzogc3Vic3QuYzo1MTE0CisjOiBzdWJzdC5jOjUzMzkKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICJjb21tYW5kX3N1YnN0aXR1dGU6IGRldCBnw6VyIGludGUgYXR0IGR1cGxpY2VyYSByw7ZyIHNvbSBmYiAxIgogCi0jOiBzdWJzdC5jOjU2MTcKKyM6IHN1YnN0LmM6NTg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6IHBhcmFtZXRlcm4gdG9tIGVsbGVyIGludGUgc2F0dCIKIAotIzogc3Vic3QuYzo1OTA3CisjOiBzdWJzdC5jOjYxMjUgc3Vic3QuYzo2MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiBkZWxzdHLDpG5ndXR0cnljayA8IDAiCiAKLSM6IHN1YnN0LmM6Njk2NQorIzogc3Vic3QuYzo3MjcxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIlczogZmVsYWt0aWcgc3Vic3RpdHV0aW9uIgogCi0jOiBzdWJzdC5jOjcwNDUKKyM6IHN1YnN0LmM6NzM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiQlczogZGV0IGfDpXIgaW50ZSBhdHQgdGlsbGRlbGEgcMOlIGRldHRhIHPDpHR0IgogCi0jOiBzdWJzdC5jOjczNzQKKyM6IHN1YnN0LmM6NzY4NAogbXNnaWQgIiIKICJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKICJzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKKyJmcmFtdGlkYSB2ZXJzaW9uZXIgYXYgc2thbGV0IGtvbW1lciBhdHQgZnJhbXR2aW5nYSBldmFsdWVyaW5nIHNvbSBlbiAiCisiYXJpdG1ldGlzayBzdWJzdGl0aW9uIgogCi0jOiBzdWJzdC5jOjc4MzkKKyM6IHN1YnN0LmM6ODE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJmZWxha3RpZyBlcnPDpHR0bmluZzogaW5nZW4gYXZzbHV0YW5kZSBcImBcIiBpICVzIgogCi0jOiBzdWJzdC5jOjg3MjAKKyM6IHN1YnN0LmM6OTAzNgogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBtYXRjaDogJXMiCiBtc2dzdHIgImluZ2VuIG1hdGNoOiAlcyIKQEAgLTE4MjQsMzAgKzE4MjUsMzAgQEAKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICJcIilcIiBmw7ZydsOkbnRhZGVzLCBmYW5uICVzIgogCi0jOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgorIzogdGVzdC5jOjI4MCB0ZXN0LmM6Njk4IHRlc3QuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogdW7DpHIgb3BlcmF0b3IgZsO2cnbDpG50YWRlcyIKIAotIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IGJpbsOkciBvcGVyYXRvciBmw7ZydsOkbnRhZGVzIgogCi0jOiB0ZXN0LmM6ODExCisjOiB0ZXN0LmM6ODE2CiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgIlwiXVwiIHNha25hcyIKIAotIzogdHJhcC5jOjIwMworIzogdHJhcC5jOjIwNwogbXNnaWQgImludmFsaWQgc2lnbmFsIG51bWJlciIKIG1zZ3N0ciAib2dpbHRpZ3Qgc2lnbmFsbnVtbWVyIgogCi0jOiB0cmFwLmM6MzI3CisjOiB0cmFwLmM6MzM3CiAjLCBjLWZvcm1hdAogbXNnaWQgInJ1bl9wZW5kaW5nX3RyYXBzOiBiYWQgdmFsdWUgaW4gdHJhcF9saXN0WyVkXTogJXAiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBzOiBmZWxha3RpZ3QgdsOkcmRlIGkgdHJhcF9saXN0WyVkXTogJXAiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCkBAIC0xODU1LDcgKzE4NTYsNyBAQAogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWxoYW50ZXJhcmUgw6RyIFNJR19ERkwsIHNraWNrYXIgb20gJWQgKCVzKSB0aWxsIG1pZyAiCiAic2rDpGx2IgogCi0jOiB0cmFwLmM6MzgwCisjOiB0cmFwLmM6MzkzCiAjLCBjLWZvcm1hdAogbXNnaWQgInRyYXBfaGFuZGxlcjogYmFkIHNpZ25hbCAlZCIKIG1zZ3N0ciAidHJhcF9oYW5kbGVyOiBmZWxha3RpZyBzaWduYWwgJWQiCkBAIC0xODY1LDYwICsxODY2LDYxIEBACiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgImZlbCB2aWQgaW1wb3J0IGF2IGZ1bmt0aW9uc2RlZmluaXRpb24gZsO2ciBcIiVzXCIiCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJza2Fsbml2w6UgKCVkKSBmw7ZyIGjDtmcsIMOldGVyc3TDpGxsZXIgdGlsbCAxIgogCi0jOiB2YXJpYWJsZXMuYzoxOTE1CisjOiB2YXJpYWJsZXMuYzoxOTMyCiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBpbmdlbiBmdW5rdGlvbnNrb250ZXh0IGkgYWt0dWVsbHQgc2FtbWFuaGFuZyIKIAotIzogdmFyaWFibGVzLmM6MzE1OQorIzogdmFyaWFibGVzLmM6MzE4MgogbXNnaWQgImFsbF9sb2NhbF92YXJpYWJsZXM6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKIG1zZ3N0ciAiYWxsX2xvY2FsX3ZhcmlhYmxlczogaW5nZW4gZnVua3Rpb25za29udGV4dCBpIGFrdHVlbGx0IHNhbW1hbmhhbmciCiAKLSM6IHZhcmlhYmxlcy5jOjMzNzYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogdmFyaWFibGVzLmM6MzQyNworIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCi1tc2dzdHIgIiVzOiBwYXJhbWV0ZXJuIHRvbSBlbGxlciBpbnRlIHNhdHQiCittc2dzdHIgIiVzIGhhciB0b20gZXhwb3J0c3RyIgogCi0jOiB2YXJpYWJsZXMuYzozMzgxIHZhcmlhYmxlcy5jOjMzOTAKKyM6IHZhcmlhYmxlcy5jOjM0MzIgdmFyaWFibGVzLmM6MzQ0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJpbnZhbGlkIGNoYXJhY3RlciAlZCBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICJvZ2lsdGlndCB0ZWNrZW4gJWQgaSBleHBvcnRzdHIgZsO2ciAlcyIKIAotIzogdmFyaWFibGVzLmM6MzM5NgorIzogdmFyaWFibGVzLmM6MzQ0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJubyBgPScgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiaW5nZXQgXCI9XCIgaSBleHBvcnRzdHIgZsO2ciAlcyIKIAotIzogdmFyaWFibGVzLmM6MzgzNQorIzogdmFyaWFibGVzLmM6Mzg5MQogbXNnaWQgInBvcF92YXJfY29udGV4dDogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgZnVuY3Rpb24gY29udGV4dCIKIG1zZ3N0ciAiIgogInBvcF92YXJfY29udGV4dDogaHV2dWRldCBww6Ugc2hlbGxfdmFyaWFibGVzIMOkciBpbnRlIGVuIGZ1bmt0aW9uc2tvbnRleHQiCiAKLSM6IHZhcmlhYmxlcy5jOjM4NDgKKyM6IHZhcmlhYmxlcy5jOjM5MDQKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAicG9wX3Zhcl9jb250ZXh0OiBpbmdlbiBrb250ZXh0IGdsb2JhbF92YXJpYWJsZXMiCiAKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogInBvcF9zY29wZTogaHV2dWRldCBww6Ugc2hlbGxfdmFyaWFibGVzIMOkciBpbnRlIGVuIHRlbXBvcsOkciBvbWdpdm5pbmdzcsOkY2t2aWRkIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHZhcmlhYmxlcy5jOjQ3ODYKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgotbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgw7ZwcG5hOiAlcyIKK21zZ3N0ciAiJXM6ICVzOiBnw6VyIGludGUgYXR0IMO2cHBuYSBzb20gRklMRSIKIAotIzogdmFyaWFibGVzLmM6NDY4MwotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzo0NzkxCisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgotbXNnc3RyICIlZDogb2dpbHRpZyBmaWxiZXNrcml2YXJlOiAlcyIKK21zZ3N0ciAiJXM6ICVzOiBvZ2lsdGlndCB2w6RyZGUgZsO2ciBzcMOlcm5pbmdzZmlsYmVza3JpdmFyZSIKIAogIzogdmVyc2lvbi5jOjQ2Ci1tc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKKyMsIGZ1enp5Cittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiQ29weXJpZ2h0IMKpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogCiAjOiB2ZXJzaW9uLmM6NDcKQEAgLTE5NDYsMzggKzE5NDgsMzggQEAKIG1zZ3N0ciAiRGV0IGZpbm5zIElOR0VOIEdBUkFOVEksIHPDpSBsw6VuZ3QgbGFnZW4gdGlsbMOldGVyLlxuIgogCiAjOiB2ZXJzaW9uMi5jOjg2Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgotbXNnc3RyICJDb3B5cmlnaHQgwqkgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dzdHIgIkNvcHlyaWdodCDCqSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLlxuIgogCiAjOiB2ZXJzaW9uMi5jOjg3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKICJodG1sPlxuIgogbXNnc3RyICIiCi0iTGljZW5zIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgZWxsZXIgc2VuYXJlIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorIkxpY2VucyBHUEx2Mis6IEdOVSBHUEwgdmVyc2lvbiAyIGVsbGVyIHNlbmFyZSA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKICJodG1sPlxuIgogCiAjOiB4bWFsbG9jLmM6OTEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2M6IGthbiBpbnRlIGFsbG9rZXJhICVsdSBieXRlICglbHUgYnl0ZSBhbGxva2VyYWRlKSIKK21zZ3N0ciAiJXM6IGRldCBnw6VyIGludGUgYXR0IGFsbG9rZXJhICVsdSBieXRlICglbHUgYnl0ZSBhbGxva2VyYWRlKSIKIAogIzogeG1hbGxvYy5jOjkzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6IGthbiBpbnRlIGFsbG9rZXJhICVsdSBieXRlIgorbXNnc3RyICIlczogZGV0IGfDpXIgaW50ZSBhdHQgYWxsb2tlcmEgJWx1IGJ5dGUiCiAKICM6IHhtYWxsb2MuYzoxNjMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotbXNnc3RyICJ4bWFsbG9jOiAlczogJWQ6IGthbiBpbnRlIGFsbG9rZXJhICVsdSBieXRlICglbHUgYnl0ZSBhbGxva2VyYWRlKSIKK21zZ3N0ciAiJXM6ICVzOiVkOiBkZXQgZ8OlciBpbnRlIGF0dCBhbGxva2VyYSAlbHUgYnl0ZSAoJWx1IGJ5dGUgYWxsb2tlcmFkZSkiCiAKICM6IHhtYWxsb2MuYzoxNjUKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6ICVzOiAlZDoga2FuIGludGUgYWxsb2tlcmEgJWx1IGJ5dGUiCittc2dzdHIgIiVzOiAlczolZDogZGV0IGfDpXIgaW50ZSBhdHQgYWxsb2tlcmEgJWx1IGJ5dGUiCiAKICM6IGJ1aWx0aW5zLmM6NDMKIG1zZ2lkICJhbGlhcyBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uIF0iCkBAIC0yMDEzLDcgKzIwMTUsOCBAQAogbXNnc3RyICJjYWxsZXIgW3V0dHJdIgogCiAjOiBidWlsdGlucy5jOjY0Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKKyMsIGZ1enp5Cittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCiBtc2dzdHIgImNkIFstTHwtUF0gW2thdF0iCiAKICM6IGJ1aWx0aW5zLmM6NjYKQEAgLTIwMzcsMTEgKzIwNDAsMTMgQEAKIG1zZ3N0ciAiY29tbWFuZCBbLXBWdl0ga29tbWFuZG8gW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc2Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgorIywgZnV6enkKK21zZ2lkICJkZWNsYXJlIFstYUFmRmdpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgogbXNnc3RyICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtbls9dsOkcmRlXSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc4Ci1tc2dpZCAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKKyMsIGZ1enp5Cittc2dpZCAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCiBtc2dzdHIgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbW5bPXbDpHJkZV0gLi4uIgogCiAjOiBidWlsdGlucy5jOjgwCkBAIC0yMDk4LDkgKzIxMDMsOCBAQAogbXNnc3RyICJoYXNoIFstbHJdIFstcCBzw7ZrdsOkZ10gWy1kdF0gW25hbW4gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMTcKLSMsIGZ1enp5CiBtc2dpZCAiaGVscCBbLWRtc10gW3BhdHRlcm4gLi4uXSIKLW1zZ3N0ciAiaGVscCBbLWRzXSBbbcO2bnN0ZXIgLi4uXSIKK21zZ3N0ciAiaGVscCBbLWRtc10gW23Dtm5zdGVyIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTIxCiBtc2dpZCAiIgpAQCAtMjEzMSwyMCArMjEzNSwyMCBAQAogbXNnc3RyICJsZXQgYXJnIFthcmcgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzYKLSMsIGZ1enp5CiBtc2dpZCAiIgogInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKICJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKLSJyZWFkIFstZXJzXSBbLWEgdmVrdG9yXSBbLWQgYXZncl0gWy1pIHRleHRdIFstbiBudGtuXSBbLXAgcHJvbXB0XSBbLXQgIgotInRpZGdyw6Ruc10gWy11IGZiXSBbbmFtbiAuLi5dIgorInJlYWQgWy1lcnNdIFstYSB2ZWt0b3JdIFstZCBhdmdyXSBbLWkgdGV4dF0gWy1uIG50a25dIFstTiBudGtuXSBbLXAgcHJvbXB0XSAiCisiWy10IHRpZGdyw6Ruc10gWy11IGZiXSBbbmFtbiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjEzOAogbXNnaWQgInJldHVybiBbbl0iCiBtc2dzdHIgInJldHVybiBbbl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQwCi1tc2dpZCAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKKyMsIGZ1enp5Cittc2dpZCAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCiBtc2dzdHIgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIGZsYWdnbmFtbl0gW2FyZyAuLi5dIgogCiAjOiBidWlsdGlucy5jOjE0MgpAQCAtMjE1Niw3ICsyMTYwLDggQEAKIG1zZ3N0ciAiZXhwb3J0IFstZm5dIFtuYW1uWz12w6RyZGVdIC4uLl0gZWxsZXIgZXhwb3J0IC1wIgogCiAjOiBidWlsdGlucy5jOjE0NgotbXNnaWQgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKKyMsIGZ1enp5Cittc2dpZCAicmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKIG1zZ3N0ciAicmVhZG9ubHkgWy1hZl0gW25hbW5bPXbDpHJkZV0gLi4uXSBlbGxlciByZWFkb25seSAtcCIKIAogIzogYnVpbHRpbnMuYzoxNDgKQEAgLTIyOTYsMTQgKzIzMDEsMTMgQEAKIG1zZ3N0ciAicHJpbnRmIFstdiB2YXJdIGZvcm1hdCBbYXJndW1lbnRdIgogCiAjOiBidWlsdGlucy5jOjIyOQotIywgZnV6enkKIG1zZ2lkICIiCiAiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKICJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKICJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIGZsYWdnYV0gWy1BIMOldGfDpHJkXSBbLUcgZ2xvYm1uc3RdIFstVyAiCi0ib3JkbGlzdGFdICBbLUYgZnVua3Rpb25dIFstQyBrb21tYW5kb10gWy1YIGZpbHRlcm1uc3RdIFstUCBwcmVmaXhdIFstUyAiCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBmbGFnZ2FdIFstQSDDpXRnw6RyZF0gWy1HIGdsb2JtbnN0XSBbLSIKKyJXIG9yZGxpc3RhXSAgWy1GIGZ1bmt0aW9uXSBbLUMga29tbWFuZG9dIFstWCBmaWx0ZXJtbnN0XSBbLVAgcHJlZml4XSBbLVMgIgogInN1ZmZpeF0gW25hbW4gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyMzMKQEAgLTIzMTYsOSArMjMyMCw4IEBACiAic3VmZml4XSBbb3JkXSIKIAogIzogYnVpbHRpbnMuYzoyMzcKLSMsIGZ1enp5CiBtc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgotbXNnc3RyICJjb21wb3B0IFstb3wrbyBmbGFnZ2FdIFtuYW1uIC4uLl0iCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIGZsYWdnYV0gWy1ERV0gW25hbW4gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyNDAKIG1zZ2lkICIiCkBAIC0yNTYwLDYgKzI1NjMsNyBAQAogIiAgICBvZ2lsdGlndC4iCiAKICM6IGJ1aWx0aW5zLmM6MzgzCisjLCBmdXp6eQogbXNnaWQgIiIKICJDaGFuZ2UgdGhlIHNoZWxsIHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI1ODUsMTEgKzI1ODksMTUgQEAKICIgICAgICAgIC1MXHRmb3JjZSBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZFxuIgogIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgogIiAgICBcdGxpbmtzXG4iCisiICAgICAgICAtZVx0aWYgdGhlIC1QIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iCisiICAgIFx0Y2Fubm90IGJlIGRldGVybWluZWQgc3VjY2Vzc2Z1bGx5LCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXNcbiIKICIgICAgXG4iCiAiICAgIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkOyBub24temVybyBvdGhlcndpc2UuIgorIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5ICIKKyJ3aGVuXG4iCisiICAgIC1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKICLDhG5kcmEgc2thbGV0cyBhcmJldHNrYXRhbG9nLlxuIgogIiAgICBcbiIKQEAgLTI2MTcsNyArMjYyNSw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgMCBvbSBrYXRhbG9nZW4gw6RyIMOkbmRyYWQ7IHNraWx0IGZyw6VuIG5vbGwgYW5uYXJzLiIKIAotIzogYnVpbHRpbnMuYzo0MTEKKyM6IGJ1aWx0aW5zLmM6NDE0CiBtc2dpZCAiIgogIlByaW50IHRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgogIiAgICBcbiIKQEAgLTI2NDYsNyArMjY1NCw3IEBACiAia2F0YWxvZ2VuXG4iCiAiICAgIGludGUga2FuIGzDpHNhcy4iCiAKLSM6IGJ1aWx0aW5zLmM6NDI4CisjOiBidWlsdGlucy5jOjQzMQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjY2Miw3ICsyNjcwLDcgQEAKICIgICAgU2x1dHN0YXR1czpcbiIKICIgICAgTHlja2FzIGFsbHRpZC4iCiAKLSM6IGJ1aWx0aW5zLmM6NDM5CisjOiBidWlsdGlucy5jOjQ0MgogbXNnaWQgIiIKICJSZXR1cm4gYSBzdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNjc0LDcgKzI2ODIsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBMeWNrYXMgYWxsdGlkLiIKIAotIzogYnVpbHRpbnMuYzo0NDgKKyM6IGJ1aWx0aW5zLmM6NDUxCiBtc2dpZCAiIgogIlJldHVybiBhbiB1bnN1Y2Nlc3NmdWwgcmVzdWx0LlxuIgogIiAgICBcbiIKQEAgLTI2ODYsNyArMjY5NCw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIE1pc3NseWNrYXMgYWxsdGlkLiIKIAotIzogYnVpbHRpbnMuYzo0NTcKKyM6IGJ1aWx0aW5zLmM6NDYwCiBtc2dpZCAiIgogIkV4ZWN1dGUgYSBzaW1wbGUgY29tbWFuZCBvciBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTI3MjEsNyArMjcyOSw4IEBACiAiaW50ZVxuIgogIiAgICBmaW5ucy4iCiAKLSM6IGJ1aWx0aW5zLmM6NDc2CisjOiBidWlsdGlucy5jOjQ3OQorIywgZnV6enkKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCkBAIC0yNzMyLDYgKzI3NDEsOCBAQAogIiAgICAgIC1mXHRyZXN0cmljdCBhY3Rpb24gb3IgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBhbmQgZGVmaW5pdGlvbnNcbiIKICIgICAgICAtRlx0cmVzdHJpY3QgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBvbmx5IChwbHVzIGxpbmUgbnVtYmVyIGFuZFxuIgogIiAgICBcdHNvdXJjZSBmaWxlIHdoZW4gZGVidWdnaW5nKVxuIgorIiAgICAgIC1nXHRjcmVhdGUgZ2xvYmFsIHZhcmlhYmxlcyB3aGVuIHVzZWQgaW4gYSBzaGVsbCBmdW5jdGlvbjsgb3RoZXJ3aXNlXG4iCisiICAgIFx0aWdub3JlZFxuIgogIiAgICAgIC1wXHRkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZSBvZiBlYWNoIE5BTUVcbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnMgd2hpY2ggc2V0IGF0dHJpYnV0ZXM6XG4iCkBAIC0yNzUxLDcgKzI3NjIsNyBAQAogIiAgICBcbiIKICIgICAgV2hlbiB1c2VkIGluIGEgZnVuY3Rpb24sIGBkZWNsYXJlJyBtYWtlcyBOQU1FcyBsb2NhbCwgYXMgd2l0aCB0aGUgIgogImBsb2NhbCdcbiIKLSIgICAgY29tbWFuZC5cbiIKKyIgICAgY29tbWFuZC4gIFRoZSBgLWcnIG9wdGlvbiBzdXBwcmVzc2VzIHRoaXMgYmVoYXZpb3IuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgpAQCAtMjc5MCw3ICsyODAxLDcgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBlbiBvZ2lsdGlnIGZsYWdnYSBnZXMgZWxsZXIgZXR0IGZlbCAiCiAiaW50csOkZmZhci4iCiAKLSM6IGJ1aWx0aW5zLmM6NTEyCisjOiBidWlsdGlucy5jOjUxNwogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI4MDAsNyArMjgxMSw3IEBACiAiICAgIFxuIgogIiAgICBGw7Zyw6VsZHJhdC4gIFNlIFwiaGVscCBkZWNsYXJlXCIuIgogCi0jOiBidWlsdGlucy5jOjUyMAorIzogYnVpbHRpbnMuYzo1MjUKIG1zZ2lkICIiCiAiRGVmaW5lIGxvY2FsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0yODI3LDcgKzI4MzgsNyBAQAogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGVuIG9naWx0aWcgZmxhZ2dhIGdlcywgZXR0IGZlbCBpbnRyw6RmZmFyXG4iCiAiICAgIGVsbGVyIHNrYWxldCBpbnRlIGV4ZWt2ZXJhciBlbiBmdW5rdGlvbi4iCiAKLSM6IGJ1aWx0aW5zLmM6NTM3CisjOiBidWlsdGlucy5jOjU0MgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yODg1LDcgKzI4OTYsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGV0dCBza3JpdmZlbCBpbnRyw6RmZmFyLiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI5MDcsNyArMjkxOCw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIGludGUgZXR0IHNrcml2ZmVsIGludHLDpGZmYXIuIgogCi0jOiBidWlsdGlucy5jOjU4NgorIzogYnVpbHRpbnMuYzo1OTEKIG1zZ2lkICIiCiAiRW5hYmxlIGFuZCBkaXNhYmxlIHNoZWxsIGJ1aWx0aW5zLlxuIgogIiAgICBcbiIKQEAgLTI5NjEsNyArMjk3Miw3IEBACiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIGludGUgTkFNTiBpbnRlIMOkciBpbmJ5Z2dkIGkgc2thbGV0IGVsbGVyIGV0dCBmZWxcbiIKICIgICAgaW50csOkZmZhci4iCiAKLSM6IGJ1aWx0aW5zLmM6NjE0CisjOiBidWlsdGlucy5jOjYxOQogbXNnaWQgIiIKICJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjk4MSw3ICsyOTkyLDcgQEAKICIgICAgU2x1dHN0YXR1czpcbiIKICIgICAgUmV0dXJuZXJhciBzbHV0c3RhdHVzIGF2IGtvbW1hbmRvdCBlbGxlciBmcmFtZ8Olbmcgb20ga29tbWFuZG90IMOkciB0b210LiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMzA1OCw3ICszMDY5LDcgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gZW4gZmxhZ2dhIGhpdHRhcywgbWlzc2x5Y2thcyBvbSBzbHV0ZXQgYXZcbiIKICIgICAgZmxhZ2dvcm5hIG7DpXMgZWxsZXIgZXR0IGZlbCBpbnRyw6RmZmFyLiIKIAotIzogYnVpbHRpbnMuYzo2NjgKKyM6IGJ1aWx0aW5zLmM6NjczCiBtc2dpZCAiIgogIlJlcGxhY2UgdGhlIHNoZWxsIHdpdGggdGhlIGdpdmVuIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzA5OSw3ICszMTEwLDcgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBLT01NQU5ETyBpbnRlIGZpbm5zIGVsbGVyIGV0dCBmZWwgdmlkXG4iCiAiICAgIG9tZGlyaWdlcmluZyBpbnRyw6RmZmFyLiIKIAotIzogYnVpbHRpbnMuYzo2ODkKKyM6IGJ1aWx0aW5zLmM6Njk0CiBtc2dpZCAiIgogIkV4aXQgdGhlIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMxMTEsNyArMzEyMiw3IEBACiAiICAgIEF2c2x1dGFyIHNrYWxldCBtZWQgc3RhdHVzZW4gTi4gIE9tIE4gdXRlbMOkbW5hcyDDpHIgc2x1dHN0YXR1c2VuIGRlblxuIgogIiAgICBob3MgZGV0IHNpc3Qga8O2cmRhIGtvbW1hbmRvdC4iCiAKLSM6IGJ1aWx0aW5zLmM6Njk4CisjOiBidWlsdGlucy5jOjcwMwogbXNnaWQgIiIKICJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzEyNCw3ICszMTM1LDcgQEAKICIgICAgQXZzbHV0YXIgZXR0IGlubG9nZ25pbmdzc2thbCBtZWQgc2x1dHN0YXR1cyBOLiAgUmV0dXJuZXJhciBldHQgZmVsIG9tXG4iCiAiICAgIGRldCBpbnRlIGvDtnJzIGkgZXR0IGlubG9nZ25pbmdzc2thbC4iCiAKLSM6IGJ1aWx0aW5zLmM6NzA4CisjOiBidWlsdGlucy5jOjcxMwogbXNnaWQgIiIKICJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTMxODAsNyArMzE5MSw3IEBACiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIGVsbGVyIHN0YXR1cyBww6UgZXhla3ZlcmF0IGtvbW1hbmRvLCBza2lsdCBmcsOlbiBub2xsXG4iCiAiICAgIG9tIGV0dCBmZWwgaW50csOkZmZhci4iCiAKLSM6IGJ1aWx0aW5zLmM6NzM4CisjOiBidWlsdGlucy5jOjc0MwogbXNnaWQgIiIKICJNb3ZlIGpvYiB0byB0aGUgZm9yZWdyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zMjAxLDcgKzMyMTIsNyBAQAogIiAgICBTdGF0dXMgcMOlIGtvbW1hbmRvdCBzb20gcGxhY2VyYWRlcyBpIGbDtnJncnVuZGVuLCBlbGxlciBtaXNzbHlja2FuZGUgb21cbiIKICIgICAgZXR0IGZlbCBpbnRyw6RmZmFyLiIKIAotIzogYnVpbHRpbnMuYzo3NTMKKyM6IGJ1aWx0aW5zLmM6NzU4CiBtc2dpZCAiIgogIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0zMjI3LDcgKzMyMzgsNyBAQAogImZlbFxuIgogIiAgICBpbnRyw6RmZmFyLiIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzI3MCw3ICszMjgxLDcgQEAKICIgICAgU2x1dHN0YXR1czpcbiIKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBOQU1OIGludGUgaGl0dGFzIGVsbGVyIGVuIG9naWx0aWcgZmxhZ2dhIGdlcy4iCiAKLSM6IGJ1aWx0aW5zLmM6NzkyCisjOiBidWlsdGlucy5jOjc5NwogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGJ1aWx0aW4gY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMzMxMSw3ICszMzIyLDcgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBNw5ZOU1RFUiBpbnRlIGZpbm5zIGVsbGVyIGVuIG9naWx0aWcgZmxhZ2dhICIKICJnZXMuIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMzM3Nyw3ICszMzg4LDcgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBlbiBvZ2lsdGlnIGZsYWdnYSBnZXMgZWxsZXIgZXR0IGZlbCAiCiAiaW50csOkZmZhci4iCiAKLSM6IGJ1aWx0aW5zLmM6ODUyCisjOiBidWlsdGlucy5jOjg1NwogbXNnaWQgIiIKICJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgogIiAgICBcbiIKQEAgLTM0MjEsNyArMzQzMiw3IEBACiAiaW50csOkZmZhci5cbiIKICIgICAgT20gLXggYW52w6RuZHMgcmV0dXJuZXJhcyBzbHV0c3RhdHVzIGZyw6VuIEtPTU1BTkRPLiIKIAotIzogYnVpbHRpbnMuYzo4NzkKKyM6IGJ1aWx0aW5zLmM6ODg0CiBtc2dpZCAiIgogIlJlbW92ZSBqb2JzIGZyb20gY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zNDUxLDcgKzM0NjIsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGVuIG9naWx0aWcgZmxhZ2dhIGVsbGVyIEpPQkJTUEVDIGdlcy4iCiAKLSM6IGJ1aWx0aW5zLmM6ODk4CisjOiBidWlsdGlucy5jOjkwMwogbXNnaWQgIiIKICJTZW5kIGEgc2lnbmFsIHRvIGEgam9iLlxuIgogIiAgICBcbiIKQEAgLTM0OTUsNyArMzUwNiw4IEBACiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIGludGUgZW4gb2dpbHRpZyBmbGFnZ2EgYW5naXZpdHMgZWxsZXIgZXR0IGZlbFxuIgogIiAgICBpbnRyw6RmZmFyLiIKIAotIzogYnVpbHRpbnMuYzo5MjEKKyM6IGJ1aWx0aW5zLmM6OTI2CisjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb25zLlxuIgogIiAgICBcbiIKQEAgLTM1MzcsNyArMzU0OSw3IEBACiAiICAgIHJ1bGVzIGFib3ZlLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuLiIKKyIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKICJFdmFsdWVyYSBhcml0bWV0aXNrYSB1dHRyeWNrLlxuIgogIiAgICBcbiIKQEAgLTM1ODMsOCArMzU5NSw3IEBACiAiICAgIE9tIGRldCBzaXN0YSBBUkcgYmVyw6RrbmFzIHRpbGwgMCwgcmV0dXJuZXJhciBsZXQgMTsgbGV0IHJldHVybmVyYXIgMCAiCiAiYW5uYXJzLiIKIAotIzogYnVpbHRpbnMuYzo5NjYKLSMsIGZ1enp5CisjOiBidWlsdGlucy5jOjk3MQogbXNnaWQgIiIKICJSZWFkIGEgbGluZSBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBhbmQgc3BsaXQgaXQgaW50byBmaWVsZHMuXG4iCiAiICAgIFxuIgpAQCAtMzY1Myw3ICszNjY0LDEyIEBACiAiICAgIFx0XHRcdHNrYWxcbiIKICIgICAgICAtaSB0ZXh0XHRBbnbDpG5kIFRFWFQgc29tIHN0YXJ0dGV4dCBmw7ZyIFJlYWRsaW5lXG4iCiAiICAgICAgLW4gbnRrblx0cmV0dXJuZXJhIGVmdGVyIGF0dCBoYSBsw6RzdCBOVEtOIHRlY2tlbiBpc3TDpGxsZXQgZsO2ciBhdHRcbiIKLSIgICAgXHRcdHbDpG50YSBww6UgZW4gbnlyYWRcbiIKKyIgICAgXHRcdHbDpG50YSBww6UgZW4gbnlyYWQsIG1lbiB0YSBow6Ruc3luIHRpbGwgZW4gYXZncsOkbnNhcmUgb20gZsOkcnJlXG4iCisiICAgIFx0XHTDpG4gTlRLTiB0ZWNrZW4gbMOkc3RzIGbDtnJlIGF2Z3LDpG5zYXJlblxuIgorIiAgICAgIC1OIG50a25cdHJldHVybmVyYSBlbmRhc3QgZWZ0ZXIgYXR0IGhhIGzDpHN0IGV4YWt0IE5US04gdGVja2VuLCBvbSAiCisiaW50ZVxuIgorIiAgICBcdFx0Zmlsc2x1dCBww6V0csOkZmZhZGVzIGVsbGVyIHRpZHNncsOkbnNlbiDDtnZlcnNrcmVkcywgaWdub3JlcmFcbiIKKyIgICAgXHRcdGFsbGEgYXZncsOkbnNhcmVcbiIKICIgICAgICAtcCBwcm9tcHRcdHNrcml2IHV0IHN0csOkbmdlbiBQUk9NUFQgdXRhbiBlbiBhdnNsdXRhbmRlIG55cmFkIGbDtnJlXG4iCiAiICAgIFx0XHRmw7Zyc8O2ayBhdHQgbMOkc2FcbiIKICIgICAgICAtclx0XHR0aWxsw6V0IGludGUgYmFrc3RyZWNrIGF0dCBza3lkZGEgbsOlZ3JhIHRlY2tlblxuIgpAQCAtMzY3MCw3ICszNjg2LDcgQEAKICIgICAgUmV0dXJrb2RlbiDDpHIgbm9sbCBvbSBpbnRlIGZpbHNsdXQgbsOlcywgbMOkc25pbmdlbnMgdGlkc2dyw6RucyDDtnZlcnNrcmlkc1xuIgogIiAgICBlbGxlciBlbiBvZ2lsdGlnIGZpbGJlc2tyaXZhcmUgZ2VzIHNvbSBhcmd1bWVudCB0aWxsIC11LiIKIAotIzogYnVpbHRpbnMuYzoxMDA5CisjOiBidWlsdGlucy5jOjEwMTQKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNjkxLDcgKzM3MDcsOCBAQAogIiAgICBSZXR1cm5lcmFyIE4sIGVsbGVyIG1pc3NseWNrYW5kZSBvbSBza2FsZXQgaW50ZSBrw7ZyIGVuIGZ1bmt0aW9uIGVsbGVyXG4iCiAiICAgIHNrcmlwdC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CisjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zNzYwLDYgKzM3NzcsOSBAQAogIiAgICAgIC1QICBJZiBzZXQsIGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3Mgd2hlbiBleGVjdXRpbmcgY29tbWFuZHNcbiIKICIgICAgICAgICAgc3VjaCBhcyBjZCB3aGljaCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgogIiAgICAgIC1UICBJZiBzZXQsIHRoZSBERUJVRyB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLS0gIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgorIiAgICAgICAgICBJZiB0aGVyZSBhcmUgbm8gcmVtYWluaW5nIGFyZ3VtZW50cywgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICAgICAgICBhcmUgdW5zZXQuXG4iCiAiICAgICAgLSAgIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICAgICAgICBUaGUgLXggYW5kIC12IG9wdGlvbnMgYXJlIHR1cm5lZCBvZmYuXG4iCiAiICAgIFxuIgpAQCAtMzg1Nyw3ICszODc3LDcgQEAKICIgICAgU2x1dHN0YXR1czpcbiIKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBlbiBvZ2lsdGlnIGZsYWdnYSBnZXMuIgogCi0jOiBidWlsdGlucy5jOjExMDQKKyM6IGJ1aWx0aW5zLmM6MTExMgogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzg5Myw3ICszOTEzLDcgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBlbiBvZ2lsdGlnIGZsYWdnYSBnZXMgZWxsZXIgTkFNTiBlbmRhc3Qgw6RyXG4iCiAiICAgIGzDpHNiYXJ0LiIKIAotIzogYnVpbHRpbnMuYzoxMTI0CisjOiBidWlsdGlucy5jOjExMzIKIG1zZ2lkICIiCiAiU2V0IGV4cG9ydCBhdHRyaWJ1dGUgZm9yIHNoZWxsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0zOTI2LDcgKzM5NDYsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGVuIG9naWx0aWcgZmxhZ2dhIGdlcyBlbGxlciBOQU1OIMOkciBvZ2lsdGlndC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MworIzogYnVpbHRpbnMuYzoxMTUxCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zOTYyLDcgKzM5ODIsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGVuIG9naWx0aWcgZmxhZ2dhIGdlcyBlbGxlciBOQU1OIMOkciBvZ2lsdGlndC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE2NAorIzogYnVpbHRpbnMuYzoxMTcyCiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zOTgxLDcgKzQwMDEsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIE4gw6RyIG5lZ2F0aXZ0IGVsbGVyIHN0w7ZycmUgw6RuICQjLiIKIAotIzogYnVpbHRpbnMuYzoxMTc2IGJ1aWx0aW5zLmM6MTE5MQorIzogYnVpbHRpbnMuYzoxMTg0IGJ1aWx0aW5zLmM6MTE5OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTQwMDUsNyArNDAyNSw3IEBACiAiICAgIFJldHVybmVyYXIgc3RhdHVzIHDDpSBkZXQgc2lzdGEga29tbWFuZG90IHNvbSBrw7ZycyBpIEZJTE5BTU4sIG1pc3NseWNrYXNcbiIKICIgICAgb20gRklMTkFNTiBpbnRlIGthbiBsw6RzYXMuIgogCi0jOiBidWlsdGlucy5jOjEyMDcKKyM6IGJ1aWx0aW5zLmM6MTIxNQogbXNnaWQgIiIKICJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC00MDMxLDE0ICs0MDUxLDE4IEBACiAiZmVsXG4iCiAiICAgIGludHLDpGZmYXIuIgogCi0jOiBidWlsdGlucy5jOjEyMjMKKyM6IGJ1aWx0aW5zLmM6MTIzMQorIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCiAiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgogIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCiAiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgotIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy5cbiIKKyIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMgYXMgd2VsbC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBiZWhhdmlvciBvZiB0ZXN0IGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHMuICBSZWFkIHRoZVxuIgorIiAgICBiYXNoIG1hbnVhbCBwYWdlIGZvciB0aGUgY29tcGxldGUgc3BlY2lmaWNhdGlvbi5cbiIKICIgICAgXG4iCiAiICAgIEZpbGUgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKQEAgLTQwOTIsNiArNDExNiw3IEBACiAiICAgIE90aGVyIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCiAiICAgICAgLW8gT1BUSU9OICAgICAgVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uIE9QVElPTiBpcyBlbmFibGVkLlxuIgorIiAgICAgIC12IFZBUlx0IFRydWUgaWYgdGhlIHNoZWxsIHZhcmlhYmxlIFZBUiBpcyBzZXRcbiIKICIgICAgICAhIEVYUFIgICAgICAgICBUcnVlIGlmIGV4cHIgaXMgZmFsc2UuXG4iCiAiICAgICAgRVhQUjEgLWEgRVhQUjIgVHJ1ZSBpZiBib3RoIGV4cHIxIEFORCBleHByMiBhcmUgdHJ1ZS5cbiIKICIgICAgICBFWFBSMSAtbyBFWFBSMiBUcnVlIGlmIGVpdGhlciBleHByMSBPUiBleHByMiBpcyB0cnVlLlxuIgpAQCAtNDE3OSw3ICs0MjA0LDcgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gVVRUUiBiZXLDpGtuYXMgdGlsbCBzYW50LiAgTWlzc2x5Y2thcyBpZmFsbCBVVFRSXG4iCiAiICAgIGJlcsOka25hcyB0aWxsIGZhbHNrdCBlbGxlciBldHQgb2dpbHRpZ3QgYXJndW1lbnQgZ2VzLiIKIAotIzogYnVpbHRpbnMuYzoxMjk5CisjOiBidWlsdGlucy5jOjEzMTEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00MTkyLDcgKzQyMTcsNyBAQAogImFyZ3VtZW50ZXRcbiIKICIgICAgbcOlc3RlIHZhcmEgZW4gYm9rc3RhdmxpZyBcIl1cIiwgZsO2ciBhdHQgbWF0Y2hhIGRlbiBpbmxlZGFuZGUgXCJbXCIuIgogCi0jOiBidWlsdGlucy5jOjEzMDgKKyM6IGJ1aWx0aW5zLmM6MTMyMAogbXNnaWQgIiIKICJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCiAiICAgIFxuIgpAQCAtNDIxMiw3ICs0MjM3LDggQEAKICIgICAgU2x1dHN0YXR1czpcbiIKICIgICAgTHlja2FzIGFsbHRpZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMyMAorIzogYnVpbHRpbnMuYzoxMzMyCisjLCBmdXp6eQogbXNnaWQgIiIKICJUcmFwIHNpZ25hbHMgYW5kIG90aGVyIGV2ZW50cy5cbiIKICIgICAgXG4iCkBAIC00MjI4LDcgKzQyNTQsMTUgQEAKICIgICAgXG4iCiAiICAgIElmIGEgU0lHTkFMX1NQRUMgaXMgRVhJVCAoMCkgQVJHIGlzIGV4ZWN1dGVkIG9uIGV4aXQgZnJvbSB0aGUgc2hlbGwuICAiCiAiSWZcbiIKLSIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC5cbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBERUJVRywgQVJHIGlzIGV4ZWN1dGVkIGJlZm9yZSBldmVyeSBzaW1wbGUgY29tbWFuZC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIFJFVFVSTiwgQVJHIGlzIGV4ZWN1dGVkIGVhY2ggdGltZSBhIHNoZWxsIGZ1bmN0aW9uIG9yICIKKyJhXG4iCisiICAgIHNjcmlwdCBydW4gYnkgdGhlIC4gb3Igc291cmNlIGJ1aWx0aW5zIGZpbmlzaGVzIGV4ZWN1dGluZy4gIEEgIgorIlNJR05BTF9TUEVDXG4iCisiICAgIG9mIEVSUiBtZWFucyB0byBleGVjdXRlIEFSRyBlYWNoIHRpbWUgYSBjb21tYW5kJ3MgZmFpbHVyZSB3b3VsZCBjYXVzZSAiCisidGhlXG4iCisiICAgIHNoZWxsIHRvIGV4aXQgd2hlbiB0aGUgLWUgb3B0aW9uIGlzIGVuYWJsZWQuXG4iCiAiICAgIFxuIgogIiAgICBJZiBubyBhcmd1bWVudHMgYXJlIHN1cHBsaWVkLCB0cmFwIHByaW50cyB0aGUgbGlzdCBvZiBjb21tYW5kcyAiCiAiYXNzb2NpYXRlZFxuIgpAQCAtNDI3OCw3ICs0MzEyLDcgQEAKICJmbGFnZ2FcbiIKICIgICAgZ2VzLiIKIAotIzogYnVpbHRpbnMuYzoxMzUyCisjOiBidWlsdGlucy5jOjEzNjgKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCiAiICAgIFxuIgpAQCAtNDMzNSw3ICs0MzY5LDcgQEAKICIgICAgU2x1dHN0YXR1czpcbiIKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gYWxsYSBOQU1OZW4gZmlubnMsIG1pc3NseWNrYXMgb20gbsOlZ290IGludGUgZmlubnMuIgogCi0jOiBidWlsdGlucy5jOjEzODMKKyM6IGJ1aWx0aW5zLmM6MTM5OQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTQ0MjMsNyArNDQ1Nyw3IEBACiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIGludGUgZW4gb2dpbHRpZyBmbGFnZ2EgYW5nZXMgZWxsZXIgZXR0IGZlbCAiCiAiaW50csOkZmZhci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQyOAorIzogYnVpbHRpbnMuYzoxNDQ0CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTQ0NTksNyArNDQ5Myw3IEBACiAiZmxhZ2dhXG4iCiAiICAgIGdlcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDQ4OCw3ICs0NTIyLDcgQEAKICJvZ2lsdGlnXG4iCiAiICAgIGZsYWdnYSBnZXMuIgogCi0jOiBidWlsdGlucy5jOjE0NjYKKyM6IGJ1aWx0aW5zLmM6MTQ4MgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00NTE0LDcgKzQ1NDgsNyBAQAogIm9naWx0aWdcbiIKICIgICAgZmxhZ2dhIGdlcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ4MQorIzogYnVpbHRpbnMuYzoxNDk3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC00NTM3LDcgKzQ1NzEsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIHN0YXR1cyBmw7ZyIGRldCBzaXN0IGV4ZWt2ZXJhZGUga29tbWFuZG90LiIKIAotIzogYnVpbHRpbnMuYzoxNDk1CisjOiBidWlsdGlucy5jOjE1MTEKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKICIgICAgXG4iCkBAIC00NTY3LDcgKzQ2MDEsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIHN0YXR1c2VuIGZyw6VuIGRldCBzaXN0IGV4ZWt2ZXJhZGUga29tbWFuZG90LiIKIAotIzogYnVpbHRpbnMuYzoxNTEzCisjOiBidWlsdGlucy5jOjE1MjkKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTQ2MDIsNyArNDYzNiw3IEBACiAiICAgIFNsdXR0YXR1czpcbiIKICIgICAgUmV0dXJuZXJhciBzdGF0dXNlbiBmcsOlbiBkZXQgc2lzdCBleGVrdmVyYWRlIGtvbW1hbmRvdC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUzNAorIzogYnVpbHRpbnMuYzoxNTUwCiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ2MzEsNyArNDY2NSw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVyc3RhdHVzZW4gw6RyIHJldHVyc3RhdHVzZW4gZnLDpW4gUsOWUi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU1MQorIzogYnVpbHRpbnMuYzoxNTY3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKICIgICAgXG4iCkBAIC00NjQ5LDcgKzQ2ODMsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIHN0YXR1c2VuIGZyw6VuIGRldCBzaXN0IGV4ZWt2ZXJhZGUga29tbWFuZG90LiIKIAotIzogYnVpbHRpbnMuYzoxNTYzCisjOiBidWlsdGlucy5jOjE1NzkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBjb25kaXRpb25hbC5cbiIKICIgICAgXG4iCkBAIC00Njg1LDcgKzQ3MTksNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIHN0YXR1cyBmcsOlbiBkZXQgc2lzdCBleGVrdmVyYWRlIGtvbW1hbmRvdC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU4MAorIzogYnVpbHRpbnMuYzoxNTk2CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3Qgc3VjY2VlZHMuXG4iCiAiICAgIFxuIgpAQCAtNDcwMyw3ICs0NzM3LDcgQEAKICIgICAgU2x1dHN0YXR1czpcbiIKICIgICAgUmV0dXJuZXJhciBzdGF0dXNlbiBmcsOlbiBkZXQgc2lzdCBleGVrdmVyYWRlIGtvbW1hbmRvdC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU5MgorIzogYnVpbHRpbnMuYzoxNjA4CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYXMgbG9uZyBhcyBhIHRlc3QgZG9lcyBub3Qgc3VjY2VlZC5cbiIKICIgICAgXG4iCkBAIC00NzIxLDcgKzQ3NTUsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIHN0YXR1c2VuIGZyw6VuIGRldCBzaXN0IGV4ZWt2ZXJhZGUga29tbWFuZG90LiIKIAotIzogYnVpbHRpbnMuYzoxNjA0CisjOiBidWlsdGlucy5jOjE2MjAKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtNDc0Myw3ICs0Nzc3LDcgQEAKICIgICAgU2x1dHN0YXR1czpcbiIKICIgICAgUmV0dXJuZXJhciBzdGF0dXNlbiBmcsOlbiBLT01NQU5ETy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00NzY2LDcgKzQ4MDAsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIE5BTU4gZW5kYXN0IMOkciBsw6RzYmFydC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYzMgorIzogYnVpbHRpbnMuYzoxNjQ4CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC00Nzg0LDcgKzQ4MTgsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIHN0dXR1c2VuIGZyw6VuIGRldCBzaXN0IGV4ZWt2ZXJhZGUga29tbWFuZG90LiIKIAotIzogYnVpbHRpbnMuYzoxNjQ0CisjOiBidWlsdGlucy5jOjE2NjAKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTQ4MDgsNyArNDg0Miw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIFJldHVybmVyYXIgc3RhdHVzZW4gcMOlIGRldCDDpXRlcnVwcHRhZ25hIGpvYmJldC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY1OQorIzogYnVpbHRpbnMuYzoxNjc1CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC00ODI2LDcgKzQ4NjAsNyBAQAogIiAgICBTbHV0c3RhdHVzOlxuIgogIiAgICBSZXR1cm5lcmFyIDEgb20gVVRUUllDSyBiZXLDpGtuYXMgdGlsbCAwLCByZXR1cm5lcmFyIDAgYW5uYXJzLiIKIAotIzogYnVpbHRpbnMuYzoxNjcxCisjOiBidWlsdGlucy5jOjE2ODcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTQ4NzksNyArNDkxMyw3IEBACiAiICAgIFNsdXRzdGF0dXM6XG4iCiAiICAgIDAgZWxsZXIgMSBiZXJvZW5kZSBww6UgdsOkcmRldCBhdiBVVFRSWUNLLiIKIAotIzogYnVpbHRpbnMuYzoxNjk3CisjOiBidWlsdGlucy5jOjE3MTMKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC00OTg0LDcgKzUwMTgsNyBAQAogIiAgICBISVNUSUdOT1JFXHRFbiBrb2xvbnNlcGFyZXJhZCBsaXN0YSBhdiBtw7Zuc3RlciBzb20gYW52w6RuZHMgZsO2ciBhdHRcbiIKICIgICAgXHRcdGJlc3TDpG1tYSB2aWxrYSBrb21tYW5kb24gc29tIHNrYWxsIHNwYXJhcyBpIGhpc3RvcmllbGlzdGFuLlxuIgogCi0jOiBidWlsdGlucy5jOjE3NTQKKyM6IGJ1aWx0aW5zLmM6MTc3MAogbXNnaWQgIiIKICJBZGQgZGlyZWN0b3JpZXMgdG8gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTA0Miw3ICs1MDc2LDcgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBldHQgb2dpbHRpZ3QgYXJndW1lbnQgZ2VzIGVsbGVyIGJ5dGV0IGF2XG4iCiAiICAgIGthdGFsb2cgbWlzc2x5Y2thcy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4OAorIzogYnVpbHRpbnMuYzoxODA0CiBtc2dpZCAiIgogIlJlbW92ZSBkaXJlY3RvcmllcyBmcm9tIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUwOTIsNyArNTEyNiw3IEBACiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIGludGUgZXR0IG9naWx0aWd0IGFyZ3VtZW50IGdlcyBlbGxlciBieXRldCBhdlxuIgogIiAgICBrYXRhbG9nIG1pc3NseWNrYXMuIgogCi0jOiBidWlsdGlucy5jOjE4MTgKKyM6IGJ1aWx0aW5zLmM6MTgzNAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MTQ1LDcgKzUxNzksNyBAQAogIiAgICBSZXR1cm5lcmFyIGZyYW1nw6VuZyBvbSBpbnRlIGVuIG9naWx0aWcgZmxhZ2dhIGdlcyBlbGxlciBldHQgZmVsICIKICJpbnRyw6RmZmFyLiIKIAotIzogYnVpbHRpbnMuYzoxODQ3CisjOiBidWlsdGlucy5jOjE4NjMKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUxODEsNyArNTIxNSw4IEBACiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIEZMR05BTU4gw6RyIGFrdGl2ZXJhdCwgbWlzc2x5Y2thcyBvbSBlbiBvZ2lsdGlnXG4iCiAiICAgIGZsYWdnYSBnZXMgZWxsZXIgRkxHTkFNTiDDpHIgYXZha3RpdmVyYXQuIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAorIywgZnV6enkKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtNTIwNCw2ICs1MjM5LDkgQEAKICIgICAgXG4iCiAiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgogIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgpAQCAtNTIzNCw4ICs1MjcyLDcgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBlbiBvZ2lsdGlnIGZsYWdnYSBnZXMgZWxsZXIgZXR0IHNrcml2LVxuIgogIiAgICBlbGxlciB0aWxsZGVsbmluZ3NmZWwgaW50csOkZmZhci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg5NQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTkxMwogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC01MjcyLDE1ICs1MzA5LDIwIEBACiAiICAgIFx0w6V0ZXJhbnbDpG5kbmluZ3NiYXJ0IGZvcm1hdFxuIgogIiAgICAgIC1yXHR0YSBib3J0IGVuIGtvbXBsZXR0ZXJpbmdzc3BlY2lmaWthdGlvbiBmw7ZyIHZhcmplIE5BTU4gZWxsZXJcbiIKICIgICAgXHRvbSBpbmdhIE5BTU4gw6RyIGdpdm5hLCBhbGxhIGtvbXBsZXR0ZXJpbmdzaW5mb3JtYXRpb25lclxuIgorIiAgICAgIC1EXHRhbnbDpG5kIGtvbXBsZXR0ZXJpbmdhcm5hIG9jaCDDpXRnw6RyZGVybmEgc29tIHN0YW5kYXJkIGbDtnJcbiIKKyIgICAgXHRrb21tYW5kb24gdXRhbiBuw6Vnb24gc8OkcnNraWxkIGtvbXBsZXR0ZXJpbmcgZGVmaW5pZXJhZFxuIgorIiAgICAgIC1FXHRhbnbDpG5kIGtvbXBsZXR0ZXJpbmdhcm5hIG9jaCDDpXRnw6RyZGVybmEgZsO2ciBcInRvbW1hXCIga29tbWFuZG9uXG4iCisiICAgIFx0LS0ga29tcGxldHRlcmluZ2FyIHNvbSBmw7Zyc8O2a3MgcMOlIGVuIHRvbSByYWRcbiIKICIgICAgXG4iCiAiICAgIE7DpHIga29tcGxldHRlcmluZyBmw7Zyc8O2a2VyIGfDtnJhcyBmw7Zyc8O2a3Mgw6V0Z8OkcmRlciBpIGRlbiBvcmRuaW5nIGRlXG4iCi0iICAgIHZlcnNhbGEgZmxhZ2dvcm5hIMOkciB1cHByw6RrbmFkZSBvdmFuLlxuIgorIiAgICB2ZXJzYWxhIGZsYWdnb3JuYSDDpHIgdXBwcsOka25hZGUgb3Zhbi4gIEZsYWdnYW4gLUQgaGFyIGbDtnJldHLDpGRlIGZyYW1mw7ZyXG4iCisiICAgIC1FLlxuIgogIiAgICBcbiIKICIgICAgU2x1dHN0YXR1czpcbiIKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBlbiBvZ2lsdGlnIGZsYWdnYSBnZXMgZWxsZXIgZXR0IGZlbCAiCiAiaW50csOkZmZhci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkyMworIzogYnVpbHRpbnMuYzoxOTQxCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUzMDIsMTQgKzUzNDQsMTQgQEAKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBlbiBvZ2lsdGlnIGZsYWdnYSBnZXMgZWxsZXIgZXR0IGZlbCAiCiAiaW50csOkZmZhci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzOAorIzogYnVpbHRpbnMuYzoxOTU2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC01MzQzLDYgKzUzODUsOCBAQAogIiAgICBcbiIKICIgICAgRmxhZ2dvcjpcbiIKICIgICAgXHQtbyBmbGFnZ2FcdFPDpHR0IGtvbXBsZXR0ZXJpbmdzZmxhZ2dhIEZMQUdHQSBmw7ZyIHZhcmplIE5BTU5cbiIKKyIgICAgXHQtRFx0ICAgICAgICDDhG5kcmEgZmxhZ2dvcm5hIGbDtnIgc3RhbmRhcmRrb21tYW5kb2tvbXBsZXR0ZXJpbmdlblxuIgorIiAgICBcdC1FXHRcdMOEbmRyYSBmbGFnZ29ybmEgZsO2ciBrb21wbGV0dGVyaW5nIGF2IGV0dCB0b210IGtvbW1hbmRvXG4iCiAiICAgIFxuIgogIiAgICBHZW5vbSBhdHQgYW52w6RuZGEgXCIrb1wiIGlzdMOkbGxldCBmw7ZyIFwiLW9cIiBzbMOlcyBkZW4gYW5naXZuYSBmbGFnZ2FuICIKICJhdi5cbiIKQEAgLTUzNjAsNyArNTQwNCw3IEBACiAiICAgIFJldHVybmVyYXIgZnJhbWfDpW5nIG9tIGludGUgZW4gb2dpbHRpZyBmbGFnZ2EgZ2VzIGVsbGVyIE5BTU4gaW50ZSBoYXJcbiIKICIgICAgbsOlZ29uIGtvbXBsZXR0ZXJpbmdzc3BlY2lmaWthYXRpb24gZGVmaW5pZXJhZC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKQEAgLTUzODksNyArNTQzMyw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtNTQwMCwxMSArNTQ0NSwxMSBAQAogIm9yXG4iCiAiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKIG1zZ3N0ciAiIgotIkzDpHMgcmFkZXIgZnLDpW4gc3RhbmRhcmQgaW4gdGlsbCBlbiB2ZWt0b3J2YXJpYWJlbC5cbiIKKyJMw6RzIHJhZGVyIGZyw6VuIHN0YW5kYXJkIGluIHRpbGwgZW4gaW5kZXhlcmFkIHZla3RvcnZhcmlhYmVsLlxuIgogIiAgICBcbiIKLSIgICAgTMOkcyByYWRlciBmcsOlbiBzdGFuZGFyZCBpbiB0aWxsIHZla3RvcnZhcmlhYmVsbiBWRUtUT1IsIGVsbGVyIGZyw6VuXG4iCi0iICAgIGZpbGJlc2tyaXZhcmVuIEZCIG9tIGZsYWdnYW4gLXUgZ2VzLiAgVmFyaWFiZWxuIE1BUEZJTEUgw6RyIHN0YW5kYXJkXG4iCi0iICAgIGbDtnIgVkVLVE9SLlxuIgorIiAgICBMw6RzIHJhZGVyIGZyw6VuIHN0YW5kYXJkIGluIHRpbGwgZGVuIGluZGV4ZXJhZGUgdmVrdG9ydmFyaWFiZWxuIFZFS1RPUixcbiIKKyIgICAgZWxsZXIgZnLDpW4gZmlsYmVza3JpdmFyZW4gRkIgb20gZmxhZ2dhbiAtdSBnZXMuICBWYXJpYWJlbG4gTUFQRklMRSDDpHJcbiIKKyIgICAgc3RhbmRhcmQgZsO2ciBWRUtUT1IuXG4iCiAiICAgIFxuIgogIiAgICBGbGFnZ29yOlxuIgogIiAgICAgIC1uIGFudGFsXHRLb3BpZXJhIGjDtmdzIEFOVEFMIHJhZGVyLiAgT20gQU5UQUwgw6RyIDAga29waWVyYXMgYWxsYSAiCkBAIC01NDMwLDkgKzU0NzUsOSBAQAogIiAgICBcbiIKICIgICAgU2x1dHN0YXR1czpcbiIKICIgICAgUmV0dXJuZXJhciBmcmFtZ8Olbmcgb20gaW50ZSBlbiBvZ2lsdGlnIGZsYWdnYSBnZXMgZWxsZXIgVkVLVE9SIMOkclxuIgotIiAgICBvZsO2csOkbmRlcmxpZy4iCisiICAgIG9mw7Zyw6RuZGVybGlnIGVsbGVyIGludGUgZW4gaW5kZXhlcmFkIHZla3Rvci4iCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCkBAIC01NDQyLDEyICs1NDg3LDI0IEBACiAiICAgIFxuIgogIiAgICBFbiBzeW5vbnltIHRpbGwgXCJtYXBmaWxlXCIuIgogCi0jfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi0jfiBtc2dzdHIgInhyZWFsbG9jOiBrYW4gaW50ZSByZWFsbG9rZXJhICVsdSBieXRlICglbHUgYnl0ZSBhbGxva2VyYWRlKSIKLQotI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotI34gbXNnc3RyICJ4cmVhbGxvYzoga2FuIGludGUgYWxsb2tlcmEgJWx1IGJ5dGUiCi0KLSN+IG1zZ2lkICJ4cmVhbGxvYzogJXM6JWQ6IGNhbm5vdCByZWFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCisjfiBtc2dpZCAiIgorI34gIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgorI34gIiAgICAiCiAjfiBtc2dzdHIgIiIKLSN+ICJ4cmVhbGxvYzogJXM6ICVkOiBrYW4gaW50ZSBhcmVhbGxva2VyYSAlbHUgYnl0ZSAoJWx1IGJ5dGUgYWxsb2tlcmFkZSkiCisjfiAiLiAgTWVkIFVUVFIsIHJldHVybmVyYXJcbiIKKyN+ICIgICAgIgorCisjfiBtc2dpZCAiIgorI34gIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorI34gIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgIgorI34gInRoZVxuIgorI34gIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKKyN+IG1zZ3N0ciAiIgorI34gIjsgZGVubmEgZXh0cmEgaW5mb3JtYXRpb24ga2FuIGFudsOkbmRhcyBmw7ZyIGF0dFxuIgorI34gIiAgICBnZSBlbiBzdGFja3Nww6VybmluZy5cbiIKKyN+ICIgICAgXG4iCisjfiAiICAgIFbDpHJkZXQgcMOlIFVUVFIgaW5kaWtlcmFyIGh1ciBtw6VuZ2EgYW5yb3BzcmFtYXIgYXR0IGfDpSB0aWxsYmFrYSBmw7ZyZSAiCisjfiAiZGVuXG4iCisjfiAiICAgIGFrdHVlbGxhLCB0b3BwcmFtZW4gw6RyIHJhbSAwLiIKZGlmZiAtLWdpdCBhL3BvL3RyLmdtbyBiL3BvL3RyLmdtbwppbmRleCBmM2IwMjViLi5kNDFjODE3IDEwMDY0NAotLS0gYS9wby90ci5nbW8KKysrIGIvcG8vdHIuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL3RyLnBvIGIvcG8vdHIucG8KaW5kZXggZDE5MjE4Mi4uZDZlZDNiOCAxMDA2NDQKLS0tIGEvcG8vdHIucG8KKysrIGIvcG8vdHIucG8KQEAgLTYsNyArNiw3IEBACiBtc2dzdHIgIiIKICJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggMy4yXG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDA5LTEyLTMwIDA4OjI1LTA1MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0wMS0yOCAyMjowOS0wNTAwXG4iCiAiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0xMC0zMCAyMDowMCswMjAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyIDxuaWxndW5AYnVndW5lci5uYW1lLnRyPlxuIgogIkxhbmd1YWdlLVRlYW06IFR1cmtpc2ggPGdudS10ci11MTJhQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKQEAgLTIwLDcgKzIwLDcgQEAKIG1zZ2lkICJiYWQgYXJyYXkgc3Vic2NyaXB0IgogbXNnc3RyICJoYXRhbMSxIGRpemkgaW5kaXNpIgogCi0jOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgogbXNnc3RyICIiCkBAIC00MCwyNiArNDAsMjYgQEAKIG1zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgogCi0jOiBiYXNoaGlzdC5jOjM4MworIzogYmFzaGhpc3QuYzozODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjcmVhdGU6ICVzIgogbXNnc3RyICIlczogb2x1xZ90dXJ1bGFtxLF5b3I6ICVzIgogCi0jOiBiYXNobGluZS5jOjM0NTcKKyM6IGJhc2hsaW5lLmM6MzQ5OAogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDoga29tdXQgacOnaW4ga8Sxc2F5b2wgYnVsdW5hbcSxeW9yIgogCi0jOiBiYXNobGluZS5jOjM1NDMKKyM6IGJhc2hsaW5lLmM6MzU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIlczogYm/Fn2x1ayBvbG1heWFuIGlsayBrYXJha3RlciBgXCInIGRlxJ9pbCIKIAotIzogYmFzaGxpbmUuYzozNTcyCisjOiBiYXNobGluZS5jOjM2MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgogbXNnc3RyICIlMiRzIGnDp2luZGUga2FwYXRhbiBgJTEkYycgeW9rIgogCi0jOiBiYXNobGluZS5jOjM2MDYKKyM6IGJhc2hsaW5lLmM6MzY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiVzOiBpa2lub2t0YSBpbWkgZWtzaWsiCkBAIC0xMTksMjYgKzExOSwxMSBAQAogIiAgICBXaXRob3V0IEVYUFIsIHJldHVybnMgIgogbXNnc3RyICJHZcOnZXJsaSBhbHR5b3JkYW0gw6dhxJ9yxLFzxLFuxLFuIGJhxJ9sYW3EsSBkw7ZuZXIuIgogCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNQotbXNnaWQgIiIKLSIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKLSIgICAgIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM2Ci1tc2dpZCAiIgotIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgotIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCi0iICAgIFxuIgotIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCi0iICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgotbXNnc3RyICIiCi0KLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMTUKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyMzUKIG1zZ2lkICJIT01FIG5vdCBzZXQiCiBtc2dzdHIgIkhPTUUgYXRhbm1hbcSxxZ8iCiAKLSM6IGJ1aWx0aW5zL2NkLmRlZjoyMjcKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyNDcKIG1zZ2lkICJPTERQV0Qgbm90IHNldCIKIG1zZ3N0ciAiT0xEUFdEIGJvxZ8iCiAKQEAgLTE1NywxMSArMTQyLDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiB1eWFyxLE6ICIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICLDp29rIGZhemxhIGFyZ8O8bWFuIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogc2XDp2VuZWsgYmlyIGFyZ8O8bWFuIGdlcmVrdGlyaXIiCkBAIC0yMDEsNyArMTg2LDcgQEAKIG1zZ2lkICJpbnZhbGlkIGhleCBudW1iZXIiCiBtc2dzdHIgImdlw6dlcnNpeiBzYXnEsSIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAiZ2XDp2Vyc2l6IHNhecSxIgogCkBAIC0zMTAsMjUgKzI5NSwyNSBAQAogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjQKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgInNhZGVjZSBiaXIgacWfbGV2ZGUga3VsbGFuxLFsYWJpbGlyIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAiacWfbGV2IHlhcG1hayBpw6dpbiBgLWYnIGt1bGxhbsSxbGFtYXoiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3OCBleGVjdXRlX2NtZC5jOjUxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogc2FsdCBva3VudXIgacWfbGV2IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIlczogZGl6aSBkZcSfacWfa2VubGVyaSBidSB5b2xsYSBpcHRhbCBlZGlsZW1leiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc1CisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCiBtc2dzdHIgIiIKQEAgLTM1NywyOSArMzQyLDI5IEBACiBtc2dpZCAiJXM6IGNhbm5vdCBkZWxldGU6ICVzIgogbXNnc3RyICIlczogc2lsaW5lbWl5b3I6ICVzIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0Ci0jOiBzaGVsbC5jOjE0NTIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiVzOiBiaXIgZGl6aW4iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlczogYmlyIGRvc3lhIGRlxJ9pbCIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDcKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiJXM6IGRvc3lhIMOnb2sgYsO8ecO8ayIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0Ci0jOiBzaGVsbC5jOjE0NjIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTgyIGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAwIGV4ZWN1dGVfY21kLmM6NTAzMgorIzogc2hlbGwuYzoxNDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IGlraWxpIGRvc3lhIMOnYWzEscWfdMSxcsSxbGFtxLF5b3IiCiAKLSM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgorIzogYnVpbHRpbnMvZXhlYy5kZWY6MTU0IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NiBidWlsdGlucy9leGVjLmRlZjoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlOiAlcyIKIG1zZ3N0ciAiJXM6IMOnYWzEscWfdMSxcsSxbGFtxLF5b3I6ICVzIgpAQCAtNDA3LDExICszOTIsMTEgQEAKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJrb211dCB5b2siCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiZ2XDp21pxZ8gYmVsaXJ0aW1pIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzcwCisjOiBidWlsdGlucy9mYy5kZWY6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczogZ2XDp2ljaSBkb3N5YSBhw6fEsWxhbcSxeW9yOiAlcyIKQEAgLTQ0NCw3ICs0MjksNyBAQAogbXNnaWQgIiVzOiBoYXNoIHRhYmxlIGVtcHR5XG4iCiBtc2dzdHIgIiVzOiDDp2l0bGVtZSB0YWJsb3N1IGJvxZ9cbiIKIAotIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0CisjOiBidWlsdGlucy9oYXNoLmRlZjoyNDUKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKIG1zZ3N0ciAic29uIGtvbXV0OiAlc1xuIgpAQCAtNTExLDc3ICs0OTYsODcgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICJgLXgnIGlsZSBiYcWfa2Egc2XDp2VuZWsga3VsbGFuxLFsYW1heiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjAwCisjOiBidWlsdGlucy9raWxsLmRlZjoxOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFyZ3VtZW50cyBtdXN0IGJlIHByb2Nlc3Mgb3Igam9iIElEcyIKIG1zZ3N0ciAiJXM6IGFyZ8O8bWFubGFyIHPDvHJlw6cgdmV5YSBpxZ8ga2ltbGlrbGVyaSBvbG1hbMSxIgogCi0jOiBidWlsdGlucy9raWxsLmRlZjoyNjMKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjI2MQogbXNnaWQgIlVua25vd24gZXJyb3IiCiBtc2dzdHIgIkJpbGlubWV5ZW4gaGF0YSIKIAotIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTAxIGV4cHIuYzo1MTYKKyM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjU1MiBleHByLmM6NTY3CiBtc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKIG1zZ3N0ciAiaWZhZGUgYmVrbGVuaXlvcmR1IgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNjUKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgogbXNnc3RyICIlczogYmlyIGRpemkgZGXEn2nFn2tlbmkgZGXEn2lsIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNDkgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTYgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgogbXNnc3RyICIlczogZG9zeWEgdGFuxLF0xLFjxLEgYmVsaXJ0aW1pIGdlw6dlcnNpeiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY0IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIlZDogZG9zeWEgdGFuxLF0xLFjxLEgZ2XDp2Vyc2l6OiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjczIGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxMQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKIG1zZ3N0ciAiJXM6IHNlw6dlbmVrIGdlw6dlcnNpeiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODQKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKIG1zZ3N0ciAiJXM6IHNlw6dlbmVrIGdlw6dlcnNpeiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIiVzOiBleWxlbSBhZMSxIGdlw6dlcnNpeiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzI2CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzMKICMsIGZ1enp5CiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiJXM6IGJpciBkaXppIGRlxJ9pxZ9rZW5pIGRlxJ9pbCIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImAlcyc6IGJpw6dpbSBrYXJha3RlcmkgZWtzaWsiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NTUxCisjOiBidWlsdGlucy9wcmludGYuZGVmOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYCVjJzogaW52YWxpZCB0aW1lIGZvcm1hdCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczogemFtYW5hxZ/EsW3EsSBiZWxpcnRpbWkgZ2XDp2Vyc2l6IgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImAlYyc6IGJpw6dpbSBrYXJha3RlcmkgZ2XDp2Vyc2l6IgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2NjIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIndhcm5pbmc6ICVzOiAlcyIKIG1zZ3N0ciAiJXM6IHV5YXLEsTogIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NDAKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICJcXHggacOnaW4gb25hbHTEsWzEsWsgcmFrYW0gZWtzaWsiCiAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtaXNzaW5nIHVuaWNvZGUgZGlnaXQgZm9yIFxcJWMiCittc2dzdHIgIlxceCBpw6dpbiBvbmFsdMSxbMSxayByYWthbSBla3NpayIKKwogIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQogbXNnaWQgIm5vIG90aGVyIGRpcmVjdG9yeSIKIG1zZ3N0ciAiYmHFn2thIGRpemluIHlvayIKQEAgLTczNSwyMSArNzMwLDIxIEBACiBtc2dpZCAiY2FuIG9ubHkgYHJldHVybicgZnJvbSBhIGZ1bmN0aW9uIG9yIHNvdXJjZWQgc2NyaXB0IgogbXNnc3RyICJzYWRlY2UgYmlyIGnFn2xldiB2ZXlhIGJldGlrdGVuIGtheW5ha2zEsSBvbGFyYWsgYHJldHVybicgeWFwxLFsYWJpbGlyIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjc2OAorIzogYnVpbHRpbnMvc2V0LmRlZjo3NzEKIG1zZ2lkICJjYW5ub3Qgc2ltdWx0YW5lb3VzbHkgdW5zZXQgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSIKIG1zZ3N0ciAiYmlyIGnFn2xldiB2ZSBiaXIgZGXEn2nFn2tlbiBheW7EsSBhbmRhIHVuc2V0IHlhcMSxbGFtYXoiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODA1CisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0IgogbXNnc3RyICIlczogdW5zZXQgeWFwxLFsYW1heiIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MTIKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgdW5zZXQ6IHJlYWRvbmx5ICVzIgogbXNnc3RyICIlczp1bnNldCB5YXDEsWxhbWF6OiAlcyBzYWx0IG9rdW51ciIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MjMKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBiaXIgZGl6aSBkZcSfacWfa2VuaSBkZcSfaWwiCkBAIC03NjMsMjAgKzc1OCwyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICJzaGlmdCBzYXnEsXPEsSIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2NAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiBtc2dzdHIgImthYnVrIHNlw6dlbmVrbGVyaSBheW7EsSBhbmRhIGhlbSBhdGFuxLFwIGhlbSBkZSBpcHRhbCBlZGlsZW1leiIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiJXM6IGthYnVrIHNlw6dlbmVrIGlzbWkgZ2XDp2Vyc2l6IgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjEyOAorIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKIG1zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKIG1zZ3N0ciAiZG9zeWEgaXNtaSBhcmfDvG1hbiBnZXJla2lyIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1MworIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgbm90IGZvdW5kIgogbXNnc3RyICIlczogZG9zeWEgeW9rIgpAQCAtODE5LDI2ICs4MTQsMjYgQEAKIG1zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgogbXNnc3RyICIlcyDDp2l0aWxtacWfICglcylcbiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzIKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbWl0IGFyZ3VtZW50IgogbXNnc3RyICIlczogc8SxbsSxcmxhbWEgYXJnw7xtYW7EsSBnZcOnZXJzaXoiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzk4CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKIG1zZ3N0ciAiYCVjJzogaGF0YWzEsSBrb211dCIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IHPEsW7EsXIgYWzEsW5hbcSxeW9yOiAlcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiBtc2dpZCAibGltaXQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IHPEsW7EsXIgZGXEn2nFn3RpcmlsZW1peW9yOiAlcyIKQEAgLTg5NCwxMDYgKzg4OSwxMTEgQEAKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgotbXNnc3RyICIHZ2lyZGkgYmVrbGVya2VuIHphbWFuYcWfxLFtxLE6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dzdHIgIlxhZ2lyZGkgYmVrbGVya2VuIHphbWFuYcWfxLFtxLE6IGF1dG8tbG9nb3V0XG4iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3CisjOiBleGVjdXRlX2NtZC5jOjUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgogbXNnc3RyICIvZGV2L251bGwnZGFuIHN0YW5kYXJ0IGdpcmRpeWUgecO2bmxlbmRpcm1lIHlhcMSxbGFtYXo6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExNjIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIlRJTUVGT1JNQVQ6IGAlYyc6IGJpw6dpbSBrYXJha3RlcmkgZ2XDp2Vyc2l6IgogCi0jOiBleGVjdXRlX2NtZC5jOjIwNzUKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQogIywgZnV6enkKIG1zZ2lkICJwaXBlIGVycm9yIgogbXNnc3RyICJ5YXptYSBoYXRhc8SxOiAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDgxCisjOiBleGVjdXRlX2NtZC5jOjQ2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIlczoga8Sxc8SxdGzEsToga29tdXQgYWTEsW5kYSBgLycga3VsbGFuYW1henPEsW7EsXoiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDU3MgorIzogZXhlY3V0ZV9jbWQuYzo0NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGtvbXV0IHlvayIKIAotIzogZXhlY3V0ZV9jbWQuYzo0ODI3CisjOiBleGVjdXRlX2NtZC5jOjQ5NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyIKK21zZ3N0ciAiJXMgJXMnZGlyXG4iCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKIG1zZ3N0ciAiJXM6ICVzOiBoYXRhbMSxIHlvcnVtbGF5xLFjxLEiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3NgorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgImZkICVkLCBmZCAlZCBvbGFyYWsgeWluZWxlbmVtaXlvciIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICJpZmFkZSDDtnp5aW5lbGVtZSBkw7x6ZXlpIGHFn8SxbGTEsSIKIAotIzogZXhwci5jOjI2NQorIzogZXhwci5jOjI4MAogbXNnaWQgInJlY3Vyc2lvbiBzdGFjayB1bmRlcmZsb3ciCiBtc2dzdHIgIsO2enlpbmVsZW1lIHnEscSfxLF0xLEgYWx0dGFuIHRhxZ90xLEiCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKIG1zZ3N0ciAiaWZhZGVkZSBzw7Z6ZGl6aW1pIGhhdGFzxLEiCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgImRlxJ9pxZ9rZW4gb2xtYXlhbmEgYXRhbWEgeWFwbWF5YSDDp2FsxLHFn8SxbGTEsSIKIAotIzogZXhwci5jOjQ0MCBleHByLmM6NDQ1IGV4cHIuYzo3NTYKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3CiBtc2dpZCAiZGl2aXNpb24gYnkgMCIKIG1zZ3N0ciAic8SxZsSxcmxhIGLDtmxtZSIKIAotIzogZXhwci5jOjQ3MQorIzogZXhwci5jOjUxNwogbXNnaWQgImJ1ZzogYmFkIGV4cGFzc2lnbiB0b2tlbiIKIG1zZ3N0ciAieWF6xLFsxLFtIGhhdGFzxLE6IGJhZCBleHBhc3NpZ24gdG9rZW4iCiAKLSM6IGV4cHIuYzo1MTMKKyM6IGV4cHIuYzo1NjQKIG1zZ2lkICJgOicgZXhwZWN0ZWQgZm9yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgImtvxZ91bGx1IGlmYWRlIGnDp2luIGA6JyBiZWtsZW5peW9yZHUiCiAKLSM6IGV4cHIuYzo3ODEKKyM6IGV4cHIuYzo4MzIKIG1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKIG1zZ3N0ciAiw7xzIHPEsWbEsXJkYW4ga8O8w6fDvGsiCiAKLSM6IGV4cHIuYzo4MjYKKyM6IGV4cHIuYzo4ODcKIG1zZ2lkICJpZGVudGlmaWVyIGV4cGVjdGVkIGFmdGVyIHByZS1pbmNyZW1lbnQgb3IgcHJlLWRlY3JlbWVudCIKIG1zZ3N0ciAiYmVsaXJ0ZcOnIMO2bi1hcnR0xLFyxLFtIHZleWEgw7ZuLWVrc2lsdGltIHNvbnJhc8SxIGJla2xlbml5b3JkdSIKIAotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJla3NpayBgKSciCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgInPDtnpkaXppbWkgaGF0YXPEsTogdGVyaW0gdW11bHV5b3JkdSIKIAotIzogZXhwci5jOjExNzgKKyM6IGV4cHIuYzoxMjg0CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgInPDtnpkaXppbWkgaGF0YXPEsTogZ2XDp2Vyc2l6IGFyaXRtZXRpayBpxZ9sZWNpIgogCi0jOiBleHByLmM6MTIwMgorIzogZXhwci5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI2MAorIzogZXhwci5jOjEzNjYKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiZ2XDp2Vyc2l6IHNhecSxIHRhYmFuxLEiCiAKLSM6IGV4cHIuYzoxMjgwCisjOiBleHByLmM6MTM4NgogbXNnaWQgInZhbHVlIHRvbyBncmVhdCBmb3IgYmFzZSIKIG1zZ3N0ciAiZGXEn2VyIHRhYmFuIGnDp2luIGZhemxhIGLDvHnDvGsiCiAKLSM6IGV4cHIuYzoxMzI5CisjOiBleHByLmM6MTQzNQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IHRhbXNhecSxIGlmYWRlc2kgYmVrbGVuaXlvcmR1IgpAQCAtMTAwMiwxNjQgKzEwMDIsMTY0IEBACiBtc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKIG1zZ3N0ciAiZ2V0Y3dkOiDDvHN0IGRpemlubGVyZSBlcmnFn2lsZW1peW9yIgogCi0jOiBpbnB1dC5jOjk0IHN1YnN0LmM6NDg1NworIzogaW5wdXQuYzo5NCBzdWJzdC5jOjUwODIKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICJmZCAlZCBpw6dpbiBnZWNpa3Rpcm1lbWUga2lwaSBzxLFmxLFybGFuYW3EsXlvciIKIAotIzogaW5wdXQuYzoyNTgKKyM6IGlucHV0LmM6MjYwCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCiBtc2dzdHIgIiIKICJmZCAlZCB0YW7EsXTEsWPEsXPEsW5kYWtpIGJhc2ggZ2lyZGlzaSBpw6dpbiB5ZW5pIGRvc3lhIHRhbsSxdMSxY8Sxc8SxIGF5csSxbGFtxLF5b3IiCiAKLSM6IGlucHV0LmM6MjY2CisjOiBpbnB1dC5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgogbXNnc3RyICJzYXZlX2Jhc2hfaW5wdXQ6IHllbmkgZmQgJWQgacOnaW4gdGFtcG9uIHphdGVuIHZhciIKIAotIzogam9icy5jOjQ2NgorIzogam9icy5jOjQ2OAogbXNnaWQgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjg4NworIzogam9icy5jOjg4OQogIywgYy1mb3JtYXQKIG1zZ2lkICJmb3JrZWQgcGlkICVkIGFwcGVhcnMgaW4gcnVubmluZyBqb2IgJWQiCiBtc2dzdHIgIsOnYXRhbGxhbmFuIHBpZCAlZCwgw6dhbMSxxZ9hbiBpxZ8gJWQgacOnaW5kZSBnw7Zyw7xuw7x5b3IiCiAKLSM6IGpvYnMuYzoxMDA1CisjOiBqb2JzLmM6MTAwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJkZWxldGluZyBzdG9wcGVkIGpvYiAlZCB3aXRoIHByb2Nlc3MgZ3JvdXAgJWxkIgogbXNnc3RyICJkdXJkdXJ1bGFuICUyJGxkIHPDvHJlw6cgZ3J1cGx1IGnFnyAlMSRkICBzaWxpbml5b3IiCiAKLSM6IGpvYnMuYzoxMTEwCisjOiBqb2JzLmM6MTExMgogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxMTEzCisjOiBqb2JzLmM6MTExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MDEKKyM6IGpvYnMuYzoxNDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc2NyaWJlX3BpZDogJWxkOiBubyBzdWNoIHBpZCIKIG1zZ3N0ciAiZGVzY3JpYmVfcGlkOiAlbGQ6IGLDtnlsZSBiaXIgcGlkIHlvayIKIAotIzogam9icy5jOjE0MTYKKyM6IGpvYnMuYzoxNDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQzMCBqb2JzLmM6MTQ1NQorIzogam9icy5jOjE0NTkgam9icy5jOjE0ODQKIG1zZ2lkICJEb25lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDM5CisjOiBqb2JzLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ0MworIzogam9icy5jOjE0NzIKIG1zZ2lkICJSdW5uaW5nIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDU3CisjOiBqb2JzLmM6MTQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb25lKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ1OQorIzogam9icy5jOjE0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhpdCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ2MgorIzogam9icy5jOjE0OTEKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTU0OQorIzogam9icy5jOjE1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGNvcmUgZHVtcGVkKSAiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE3NzYKKyM6IGpvYnMuYzoxODA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAid2FpdDogcGlkICVsZCBidSBrYWJ1xJ91biBiaXIgYWx0IHPDvHJlY2luZSBhaXQgZGXEn2lsIgogCi0jOiBqb2JzLmM6MjMzMQorIzogam9icy5jOjIzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAid2FpdF9mb3I6IHPDvHJlw6cgJWxkIGnDp2luIGthecSxdCB5b2siCiAKLSM6IGpvYnMuYzoyNjA3CisjOiBqb2JzLmM6MjYzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJ3YWl0X2Zvcl9qb2I6IGpvYiAlZCBpcyBzdG9wcGVkIgogbXNnc3RyICJ3YWl0X2Zvcl9qb2I6IGnFnyAlZCBkdXJkdSIKIAotIzogam9icy5jOjI4MjkKKyM6IGpvYnMuYzoyODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgaGFzIHRlcm1pbmF0ZWQiCiBtc2dzdHIgIiVzOiBpxZ8gc29ubGFubcSxxZ8iCiAKLSM6IGpvYnMuYzoyODM4CisjOiBqb2JzLmM6Mjg2OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKIG1zZ3N0ciAiJXM6IGnFnyAlZCB6YXRlbiBhcnRhbGFuZGEiCiAKLSM6IGpvYnMuYzozMDU5CisjOiBqb2JzLmM6MzA4OQogbXNnaWQgIndhaXRjaGxkOiB0dXJuaW5nIG9uIFdOT0hBTkcgdG8gYXZvaWQgaW5kZWZpbml0ZSBibG9jayIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzUwOAorIzogam9icy5jOjM1MzgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIiVzOiB1eWFyxLE6ICIKIAotIzogam9icy5jOjM1MjIgbm9qb2JzLmM6ODE0CisjOiBqb2JzLmM6MzU1MiBub2pvYnMuYzo4MTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiIChjb3JlIGR1bXBlZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM1MzQgam9icy5jOjM1NDcKKyM6IGpvYnMuYzozNTY0IGpvYnMuYzozNTc3CiAjLCBjLWZvcm1hdAogbXNnaWQgIih3ZCBub3c6ICVzKVxuIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTc5CisjOiBqb2JzLmM6MzYwOQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAgZmFpbGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjM5CisjOiBqb2JzLmM6MzY2OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY0OQorIzogam9icy5jOjM2NzkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBzZXRwZ2lkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNjc3CisjOiBqb2JzLmM6MzcwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJidSBrYWJ1a3RhIGnFnyBkZW5ldGltaSB5b2siCiAKQEAgLTEzMTMsOTkgKzEzMTMsOTkgQEAKIG1zZ2lkICJtYWtlX3JlZGlyZWN0aW9uOiByZWRpcmVjdGlvbiBpbnN0cnVjdGlvbiBgJWQnIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAibWFrZV9yZWRpcmVjdGlvbjogecO2bmxlbmRpcm1lIHnDtm5lcmdlc2kgYCVkJyBhcmFsxLFrIGTEscWfxLFuZGEiCiAKLSM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAiYCVjJyBpw6dpbiBlxZ9sZcWfbWUgYXJhbsSxcmtlbiBiZWtsZW5tZWRpayBkb3N5YSBzb251IgogCi0jOiBwYXJzZS55OjM5NTEKKyM6IHBhcnNlLnk6NDAyNQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgImBdXScgYXJhbsSxcmtlbiBiZWtsZW5tZWRpayBkb3N5YSBzb251IgogCi0jOiBwYXJzZS55OjM5NTYKKyM6IHBhcnNlLnk6NDAzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJrb8WfdWxsdSBpZmFkZWRlIHPDtnpkaXppbWkgaGF0YXPEsTogYmVrbGVubWVkaWsgZGl6Z2VjaWsgYCVzJyIKIAotIzogcGFyc2UueTozOTYwCisjOiBwYXJzZS55OjQwMzQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAia2/Fn3VsbHUgaWZhZGVkZSBzw7Z6ZGl6aW1pIGhhdGFzxLEiCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJiZWtsZW5tZWRpayBkaXpnZWNpayBgJXMnLCBgKScgdW11bHV5b3JkdSIKIAotIzogcGFyc2UueTo0MDQyCisjOiBwYXJzZS55OjQxMTYKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgImApJyB1bXVsdXlvcmR1IgogCi0jOiBwYXJzZS55OjQwNzAKKyM6IHBhcnNlLnk6NDE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgImtvxZ91bGx1IHRlayB0ZXJpbWxpIGnFn2xlY2UgYmVrbGVubWVkaWsgYXJnw7xtYW4gYCVzJyIKIAotIzogcGFyc2UueTo0MDc0CisjOiBwYXJzZS55OjQxNDgKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJrb8WfdWxsdSB0ZWsgdGVyaW1saSBpxZ9sZWNlIGJla2xlbm1lZGlrIGFyZ8O8bWFuIgogCi0jOiBwYXJzZS55OjQxMjAKKyM6IHBhcnNlLnk6NDE5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiYmVrbGVubWVkaWsgZGl6Z2VjaWsgYCVzJywga2/Fn3VsbHUgaWtpIHRlcmltbGkgacWfbGXDpyB1bXVsdXlvcmR1IgogCi0jOiBwYXJzZS55OjQxMjQKKyM6IHBhcnNlLnk6NDE5OAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAia2/Fn3VsbHUgaWtpIHRlcmltbGkgacWfbGXDpyB1bXVsdXlvcmR1IgogCi0jOiBwYXJzZS55OjQxNDYKKyM6IHBhcnNlLnk6NDIyMAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICJrb8WfdWxsdSBpa2kgdGVyaW1saSBpxZ9sZWNlIGJla2xlbm1lZGlrIGFyZ8O8bWFuIGAlcyciCiAKLSM6IHBhcnNlLnk6NDE1MAorIzogcGFyc2UueTo0MjI0CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgImtvxZ91bGx1IGlraSB0ZXJpbWxpIGnFn2xlY2UgYmVrbGVubWVkaWsgYXJnw7xtYW4iCiAKLSM6IHBhcnNlLnk6NDE2MQorIzogcGFyc2UueTo0MjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJrb8WfdWxsdSBrb211dHRhIGJla2xlbm1leWVuIGRpemdlY2lrIGAlYyciCiAKLSM6IHBhcnNlLnk6NDE2NAorIzogcGFyc2UueTo0MjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJrb8WfdWxsdSBrb211dHRhIGJla2xlbm1leWVuIGRpemdlY2lrIGAlcyciCiAKLSM6IHBhcnNlLnk6NDE2OAorIzogcGFyc2UueTo0MjQyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAia2/Fn3VsbHUga29tdXR0YSBiZWtsZW5tZXllbiBkaXpnZWNpayAlZCIKIAotIzogcGFyc2UueTo1NDU5CisjOiBwYXJzZS55OjU1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICJiZWtsZW5tZXllbiBkaXpnZWNpayBgJXMnIHlha8SxbsSxbmRhIHPDtnpkaXppbWkgaGF0YXPEsSIKIAotIzogcGFyc2UueTo1NDc3CisjOiBwYXJzZS55OjU1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgYCVzJyIKIG1zZ3N0ciAiYCVzJyB5YWvEsW7EsW5kYSBzw7Z6ZGl6aW1pIGhhdGFzxLEiCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgogbXNnc3RyICJzw7Z6ZGl6aW1pIGhhdGFzxLE6IGJla2xlbm1leWVuIGRvc3lhIHNvbnUiCiAKLSM6IHBhcnNlLnk6NTQ4NworIzogcGFyc2UueTo1NTk0CiBtc2dpZCAic3ludGF4IGVycm9yIgogbXNnc3RyICJzw7Z6ZGl6aW1pIGhhdGFzxLEiCiAKLSM6IHBhcnNlLnk6NTU0OQorIzogcGFyc2UueTo1NjU2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgogbXNnc3RyICJLYWJ1xJ91IGLEsXJha21hayBpw6dpbiBcIiVzXCIga3VsbGFuxLFuLlxuIgogCi0jOiBwYXJzZS55OjU3MTEKKyM6IHBhcnNlLnk6NTgxOAogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKIG1zZ3N0ciAiYCknIGnDp2luIGXFn2xlxZ9tZSBhcmFuxLFya2VuIGJla2xlbm1lZGlrIGRvc3lhIHNvbnUiCiAKQEAgLTE0MTQsNzcgKzE0MTQsNzcgQEAKIG1zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKIG1zZ3N0ciAiY29tcGxldGlvbjogYCVzJyBpxZ9sZXZpIHlvayIKIAotIzogcGNvbXBsaWIuYzoxNzkKKyM6IHBjb21wbGliLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiBtc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCiAKLSM6IHByaW50X2NtZC5jOjI5MAorIzogcHJpbnRfY21kLmM6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAicHJpbnRfY29tbWFuZDogaGF0YWzEsSBiYcSfbGF5xLFjxLEgYCVkJyIKIAotIzogcHJpbnRfY21kLmM6MzYzCisjOiBwcmludF9jbWQuYzozNjgKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKIG1zZ3N0ciAiJWQ6IGRvc3lhIHRhbsSxdMSxY8SxIGdlw6dlcnNpejogJXMiCiAKLSM6IHByaW50X2NtZC5jOjM2OAorIzogcHJpbnRfY21kLmM6MzczCiBtc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MzcyCisjOiBwcmludF9jbWQuYzozNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjE0NjEKKyM6IHByaW50X2NtZC5jOjE0NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiY3ByaW50ZjogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICJjcHJpbnRmOiBgJWMnOiBnZcOnZXJzaXogYmnDp2ltIGthcmFrdGVyaSIKIAotIzogcmVkaXIuYzoxMTAKKyM6IHJlZGlyLmM6MTIyCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiZG9zeWEgdGFuxLF0xLFjxLEgYXJhbMSxayBkxLHFn8SxbmRhIgogCi0jOiByZWRpci5jOjE2NgorIzogcmVkaXIuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IGJlbGlyc2l6IHnDtm5sZW5kaXJtZSIKIAotIzogcmVkaXIuYzoxNzAKKyM6IHJlZGlyLmM6MTgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCiBtc2dzdHIgIiVzOiBtZXZjdXQgZG9zeWFuxLFuIMO8emVyaW5lIHlhesSxbGFtxLF5b3IiCiAKLSM6IHJlZGlyLmM6MTc1CisjOiByZWRpci5jOjE4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHJlZGlyZWN0IG91dHB1dCIKIG1zZ3N0ciAiJXM6IGvEsXPEsXRsxLE6IMOnxLFrdMSxIHnDtm5sZW5kaXJpbGVtaXlvciIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIHRlbXAgZmlsZSBmb3IgaGVyZS1kb2N1bWVudDogJXMiCiBtc2dzdHIgImJlbGdlIGnDp2luIGdlw6dpY2kgZG9zeWEgb2x1xZ90dXJ1bGFtxLF5b3I6ICVzIgogCi0jOiByZWRpci5jOjE4NAorIzogcmVkaXIuYzoxOTYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgogbXNnc3RyICIlczogZGl6aSDDvHllc2luZSBsaXN0ZSBhdGFuYW1heiIKIAotIzogcmVkaXIuYzo1NDQKKyM6IHJlZGlyLmM6NTQ4CiBtc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgogbXNnc3RyICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQgYcSfIG9sbWFrc8SxesSxbiBkZXN0ZWtsZW5taXlvciIKIAotIzogcmVkaXIuYzoxMTAxCisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAiecO2bmxlbmRpcm1lIGhhdGFzxLE6IGZkIHlpbmVsZW5lbWl5b3IiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICIvdG1wIGJ1bHVuYW1hZMSxLCBsw7x0ZmVuIG9sdcWfdHVydW4hIgogCi0jOiBzaGVsbC5jOjMzNgorIzogc2hlbGwuYzozMzcKIG1zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKIG1zZ3N0ciAiL3RtcCBnZcOnZXJsaSBiaXIgZGl6aW5pbiBhZMSxIG9sbWFsxLFkxLFyIgogCkBAIC0xNDkzLDE2ICsxNDkzLDE2IEBACiBtc2dpZCAiJWMlYzogaW52YWxpZCBvcHRpb24iCiBtc2dzdHIgIiVjJWM6IGdlw6dlcnNpeiBzZcOnZW5layIKIAotIzogc2hlbGwuYzoxNjUxCisjOiBzaGVsbC5jOjE2NTIKIG1zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCiBtc2dzdHIgIkhpw6cgaXNtaW0geW9rISIKIAotIzogc2hlbGwuYzoxNzkzCisjOiBzaGVsbC5jOjE3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgogbXNnc3RyICIiCiAKLSM6IHNoZWxsLmM6MTc5NAorIzogc2hlbGwuYzoxNzk2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgpAQCAtMTUxMSw0NCArMTUxMSw0NCBAQAogIkt1bGxhbsSxbTpcdCVzIFtHTlUgdXp1biBzZcOnZW5lxJ9pXSBbc2XDp2VuZWtdIC4uLlxuIgogIlx0JXMgW0dOVSB1enVuIHNlw6dlbmXEn2ldIFtzZcOnZW5la10gYmV0aWstZG9zeWFzxLEgLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc5NgorIzogc2hlbGwuYzoxNzk4CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiR05VIHV6dW4gc2XDp2VuZWtsZXJpOlxuIgogCi0jOiBzaGVsbC5jOjE4MDAKKyM6IHNoZWxsLmM6MTgwMgogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIkthYnVrIHNlw6dlbmVrbGVyaTpcbiIKIAotIzogc2hlbGwuYzoxODAxCisjOiBzaGVsbC5jOjE4MDMKIG1zZ2lkICJcdC1pcnNEIG9yIC1jIGNvbW1hbmQgb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChpbnZvY2F0aW9uIG9ubHkpXG4iCiBtc2dzdHIgIlx0LWlyc0QgdmV5YSAtYyBLT01VVCB2ZXlhIC1PIHNob3B0X3Nlw6dlbmXEn2lcdChzYWRlY2Ugw6dhxJ9yxLEgacOnaW4pXG4iCiAKLSM6IHNoZWxsLmM6MTgxNgorIzogc2hlbGwuYzoxODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyB5YSBkYSAtbyBzZcOnZW5lxJ9pXG4iCiAKLSM6IHNoZWxsLmM6MTgyMgorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAiIgogIkthYnVrIHNlw6dlbmVrbGVyaXlsZSBpbGdpbGkgZGFoYSBmYXpsYSBiaWxnaSBpw6dpbiBgJXMgLWMgXCJoZWxwIHNldFwiJyAiCiAieWF6xLFuLlxuIgogCi0jOiBzaGVsbC5jOjE4MjMKKyM6IHNoZWxsLmM6MTgyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgogbXNnc3RyICIiCiAiS2FidWsgeWVybGXFn2lrIGtvbXV0bGFyxLF5bGEgaWxnaWxpIGJpbGdpIGFsbWFrIGnDp2luIGAlcyAtYyBoZWxwJyB5YXrEsW4uXG4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIiIKICJZYXrEsWzEsW0gaGF0YWxhcsSxbsSxIHJhcG9ybGFtYWsgacOnaW4gYGJhc2hidWcnIGtvbXV0dW51IGt1bGxhbsSxbsSxei5cbiIKICLDh2V2aXJpIGhhdGFsYXLEsW7EsSBpc2UgPGdudS10ckBiZWxnZWxlci5vcmc+IGFkcmVzaW5lIGJpbGRpcmluaXouXG4iCiAKLSM6IHNpZy5jOjYyNgorIzogc2lnLmM6NjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgInNpZ3Byb2NtYXNrOiAlZDogZ2XDp2Vyc2l6IGnFn2xlbSIKQEAgLTE3MjQsODMgKzE3MjQsODMgQEAKIG1zZ2lkICJVbmtub3duIFNpZ25hbCAjJWQiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCiBtc2dzdHIgImhhdGFsxLEgaWthbWU6ICUyJHMgacOnaW5kZSBrYXBhdGFuIGAlMSRzJyB5b2siCiAKLSM6IHN1YnN0LmM6MjczNQorIzogc3Vic3QuYzoyNzk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGxpc3QgdG8gYXJyYXkgbWVtYmVyIgogbXNnc3RyICIlczogZGl6aSDDvHllc2luZSBsaXN0ZSBhdGFuYW1heiIKIAotIzogc3Vic3QuYzo0NzU0IHN1YnN0LmM6NDc3MAorIzogc3Vic3QuYzo0OTc5IHN1YnN0LmM6NDk5NQogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgogbXNnc3RyICJzw7xyZcOnIGlrYW1lc2kgacOnaW4gYm9ydWxhbWEgeWFwxLFsYW3EsXlvciIKIAotIzogc3Vic3QuYzo0ODAyCisjOiBzdWJzdC5jOjUwMjcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgInPDvHJlw6cgaWthbWVzaSBpw6dpbiBhbHQgc8O8cmXDpyB5YXDEsWxhbcSxeW9yIgogCi0jOiBzdWJzdC5jOjQ4NDcKKyM6IHN1YnN0LmM6NTA3MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgogbXNnc3RyICJpc2ltbGkgYm9ydSAlcyBva3VtYWsgacOnaW4gYcOnxLFsYW3EsXlvciIKIAotIzogc3Vic3QuYzo0ODQ5CisjOiBzdWJzdC5jOjUwNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAiaXNpbWxpIGJvcnUgJXMgeWF6bWFrIGnDp2luIGHDp8SxbGFtxLF5b3IiCiAKLSM6IHN1YnN0LmM6NDg2NworIzogc3Vic3QuYzo1MDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiaXNpbWxpIGJvcnUgJXMgZmQgJWQgb2xhcmFrIHlpbmVsZW5lbWl5b3IiCiAKLSM6IHN1YnN0LmM6NTA2MworIzogc3Vic3QuYzo1Mjg0CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImtvbXV0IGlrYW1lc2kgacOnaW4gYm9ydSB5YXDEsWxhbcSxeW9yIgogCi0jOiBzdWJzdC5jOjUwOTcKKyM6IHN1YnN0LmM6NTMyMgogbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAia29tdXQgaWthbWVzaSBpw6dpbiBhbHQgc8O8cmXDpyB5YXDEsWxhbcSxeW9yIgogCi0jOiBzdWJzdC5jOjUxMTQKKyM6IHN1YnN0LmM6NTMzOQogbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCiBtc2dzdHIgImNvbW1hbmRfc3Vic3RpdHV0ZTogYm9ydSBmZCAxIG9sYXJhayB5aW5lbGVuZW1peW9yIgogCi0jOiBzdWJzdC5jOjU2MTcKKyM6IHN1YnN0LmM6NTg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiJXM6IHBhcmFtZXRyZSBib8WfIHlhIGRhIGRlxJ9lciBhdGFubWFtxLHFnyIKIAotIzogc3Vic3QuYzo1OTA3CisjOiBzdWJzdC5jOjYxMjUgc3Vic3QuYzo2MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiBhbHRkaXpnZSBpZmFkZXNpIDwgMCIKIAotIzogc3Vic3QuYzo2OTY1CisjOiBzdWJzdC5jOjcyNzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJhZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiVzOiBoYXRhbMSxIGlrYW1lIgogCi0jOiBzdWJzdC5jOjcwNDUKKyM6IHN1YnN0LmM6NzM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiQlczogYnUgeW9sbGEgYXRhbWEgeWFwxLFsbWF6IgogCi0jOiBzdWJzdC5jOjczNzQKKyM6IHN1YnN0LmM6NzY4NAogbXNnaWQgIiIKICJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKICJzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo3ODM5CisjOiBzdWJzdC5jOjgxNDkKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgImhhdGFsxLEgaWthbWU6ICUyJHMgacOnaW5kZSBrYXBhdGFuIGAlMSRzJyB5b2siCiAKLSM6IHN1YnN0LmM6ODcyMAorIzogc3Vic3QuYzo5MDM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiZcWfbGXFn21lIHlvazogJXMiCkBAIC0xODIzLDM3ICsxODIzLDM3IEBACiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAiYCknIGJla2xlbml5b3JkdSwgJXMgYnVsdW5kdSIKIAotIzogdGVzdC5jOjI4MCB0ZXN0LmM6NjkzIHRlc3QuYzo2OTYKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IHRlayB0ZXJpbWxpIGnFn2xlY2kgYmVrbGVuaXlvcmR1IgogCi0jOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3MzYKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogaWtpIHRlcmltbGkgacWfbGVjaSBiZWtsZW5peW9yZHUiCiAKLSM6IHRlc3QuYzo4MTEKKyM6IHRlc3QuYzo4MTYKIG1zZ2lkICJtaXNzaW5nIGBdJyIKIG1zZ3N0ciAiZWtzaWsgYF0nIgogCi0jOiB0cmFwLmM6MjAzCisjOiB0cmFwLmM6MjA3CiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJnZcOnZXJzaXogc2lueWFsIG51bWFyYXPEsSIKIAotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICJydW5fcGVuZGluZ190cmFwczp0cmFwX2xpc3RbJWRdIGnDp2luZGUgaGF0YWzEsSBkZcSfZXI6ICVwIgogCi0jOiB0cmFwLmM6MzMxCisjOiB0cmFwLmM6MzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgogbXNnc3RyICIiCiAicnVuX3BlbmRpbmdfdHJhcHM6IHNpbnlhbCB5YWthbGF5xLFjxLEgU0lHX0RGTCdkaXIsIGtlbmRpbWUgJWQgKCVzKSBnw7ZuZGVyZXJlayIKIAotIzogdHJhcC5jOjM4MAorIzogdHJhcC5jOjM5MwogIywgYy1mb3JtYXQKIG1zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCiBtc2dzdHIgInRyYXBfaGFuZGxlcjpoYXRhbMSxIHNpbnlhbCAlZCIKQEAgLTE4NjMsNjAgKzE4NjMsNjAgQEAKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiYCVzJ25pbiBpxZ9sZXYgdGFuxLFtxLFuxLFuIGnDp2VyaSBha3RhcsSxbG1hc8SxbmRhIGhhdGEiCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJrYWJ1ayBkw7x6ZXlpICglZCkgw6dvayB5w7xrc2VrLCAxIHlhcMSxbMSxeW9yIgogCi0jOiB2YXJpYWJsZXMuYzoxOTE1CisjOiB2YXJpYWJsZXMuYzoxOTMyCiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBnZcOnZXJsaSBldGtpIGFsYW7EsW5kYSBoacOnIGnFn2xldiBiYcSfbGFtxLEgeW9rIgogCi0jOiB2YXJpYWJsZXMuYzozMTU5CisjOiB2YXJpYWJsZXMuYzozMTgyCiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJhbGxfbG9jYWxfdmFyaWFibGVzOiBnZcOnZXJsaSBldGtpIGFsYW7EsW5kYSBoacOnIGnFn2xldiBiYcSfbGFtxLEgeW9rIgogCi0jOiB2YXJpYWJsZXMuYzozMzc2CisjOiB2YXJpYWJsZXMuYzozNDI3CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCiBtc2dzdHIgIiVzOiBwYXJhbWV0cmUgYm/FnyB5YSBkYSBkZcSfZXIgYXRhbm1hbcSxxZ8iCiAKLSM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAorIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiUyJHMgacOnaW4gZXhwb3J0c3RyIGnDp2luZGUgZ2XDp2Vyc2l6IGthcmFrdGVyICUxJGQiCiAKLSM6IHZhcmlhYmxlcy5jOjMzOTYKKyM6IHZhcmlhYmxlcy5jOjM0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgIiVzIGnDp2luIGV4cG9ydHN0ciBpw6dpbmRlIGA9JyB5b2siCiAKLSM6IHZhcmlhYmxlcy5jOjM4MzUKKyM6IHZhcmlhYmxlcy5jOjM4OTEKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgInBvcF92YXJfY29udGV4dDoga2FidWsgZGXEn2nFn2tlbmxlcmluaW4gYmHFn8SxIGJpciBpxZ9sZXYgYmHEn2xhbcSxIGRlxJ9pbCIKIAotIzogdmFyaWFibGVzLmM6Mzg0OAorIzogdmFyaWFibGVzLmM6MzkwNAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IGdlbmVsIGRlxJ9pxZ9rZW5sZXIgYmHEn2xhbcSxIHlvayIKIAotIzogdmFyaWFibGVzLmM6MzkyMgorIzogdmFyaWFibGVzLmM6Mzk3OAogbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgogbXNnc3RyICIiCiAicG9wX3Njb3BlOiBrYWJ1ayBkZcSfacWfa2VubGVyaW5pbiBiYcWfxLEgYmlyIGdlw6dpY2kgb3J0YW0gZXRraSBhbGFuxLEgZGXEn2lsIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4CisjOiB2YXJpYWJsZXMuYzo0Nzg2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCiBtc2dzdHIgIiVzOiBhw6fEsWxhbcSxeW9yOiAlcyIKIAotIzogdmFyaWFibGVzLmM6NDY4MworIzogdmFyaWFibGVzLmM6NDc5MQogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCiBtc2dzdHIgIiVkOiBkb3N5YSB0YW7EsXTEsWPEsSBnZcOnZXJzaXo6ICVzIgogCiAjOiB2ZXJzaW9uLmM6NDYKICMsIGZ1enp5Ci1tc2dpZCAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogbXNnc3RyICJDb3B5cmlnaHQgwqkgMjAwNiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKIAogIzogdmVyc2lvbi5jOjQ3CkBAIC0yMDAzLDcgKzIwMDMsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6NjQKLW1zZ2lkICJjZCBbLUx8LVBdIFtkaXJdIgorbXNnaWQgImNkIFstTHxbLVAgWy1lXV1dIFtkaXJdIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6NjYKQEAgLTIwMjcsMTEgKzIwMjcsMTEgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjc2Ci1tc2dpZCAiZGVjbGFyZSBbLWFBZkZpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo3OAotbXNnaWQgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCittc2dpZCAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo4MApAQCAtMjEyNSw3ICsyMTI1LDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0MAotbXNnaWQgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbYXJnIC4uLl0iCittc2dpZCAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxNDIKQEAgLTIxMzcsNyArMjEzNyw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzoxNDYKLW1zZ2lkICJyZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCittc2dpZCAicmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0OApAQCAtMjUzMiwxMSArMjUzMiwxNSBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIlxyY2QgWy1MfC1QXSBbRMSwWsSwTl1cbiIKICIgICAgQnVsdW51bGFuIGRpemluZGVuIETEsFrEsE5lIGdlw6dpbG1lc2luaSBzYcSfbGFyLiAgRMSwWsSwTiB2ZXJpbG1lenNlICRIT01FICIKQEAgLTI1NTcsNyArMjU2MSw3IEBACiAic2XDp2VuZcSfaVxuIgogIiAgICBzZW1ib2xpayBiYcSfbGFyxLFuIG11dGxha2EgaXpsZW5tZXNpbmkgc2HEn2xhci4iCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNTczLDcgKzI1NzcsNyBAQAogIiAgICBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0MjgKKyM6IGJ1aWx0aW5zLmM6NDMxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJOdWxsIGNvbW1hbmQuXG4iCkBAIC0yNTg2LDcgKzI1OTAsNyBAQAogIlxyOlxuIgogIiAgICBFdGtpc2l6ZGlyOyBidSBrb211dCBiaXLFn2V5IHlhcG1hei4gU8SxZsSxciDDp8Sxa8SxxZ8ga29kdSBkw7ZuZMO8csO8bMO8ci4iCiAKLSM6IGJ1aWx0aW5zLmM6NDM5CisjOiBidWlsdGlucy5jOjQ0MgogbXNnaWQgIiIKICJSZXR1cm4gYSBzdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNTk0LDcgKzI1OTgsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDQ4CisjOiBidWlsdGlucy5jOjQ1MQogIywgZnV6enkKIG1zZ2lkICIiCiAiUmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCkBAIC0yNjA1LDcgKzI2MDksNyBAQAogIlxyZmFsc2VcbiIKICIgICAgQmHFn2FyxLFzxLF6IGJpciBzb251w6cgZMO2bmTDvHLDvHIuIgogCi0jOiBidWlsdGlucy5jOjQ1NworIzogYnVpbHRpbnMuYzo0NjAKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCiAiICAgIFxuIgpAQCAtMjYyNCw3ICsyNjI4LDcgQEAKICIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBDT01NQU5ELCBvciBmYWlsdXJlIGlmIENPTU1BTkQgaXMgbm90IGZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjQ3NgorIzogYnVpbHRpbnMuYzo0NzkKICMsIGZ1enp5CiBtc2dpZCAiIgogIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCkBAIC0yNjM2LDYgKzI2NDAsOCBAQAogIiAgICAgIC1mXHRyZXN0cmljdCBhY3Rpb24gb3IgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBhbmQgZGVmaW5pdGlvbnNcbiIKICIgICAgICAtRlx0cmVzdHJpY3QgZGlzcGxheSB0byBmdW5jdGlvbiBuYW1lcyBvbmx5IChwbHVzIGxpbmUgbnVtYmVyIGFuZFxuIgogIiAgICBcdHNvdXJjZSBmaWxlIHdoZW4gZGVidWdnaW5nKVxuIgorIiAgICAgIC1nXHRjcmVhdGUgZ2xvYmFsIHZhcmlhYmxlcyB3aGVuIHVzZWQgaW4gYSBzaGVsbCBmdW5jdGlvbjsgb3RoZXJ3aXNlXG4iCisiICAgIFx0aWdub3JlZFxuIgogIiAgICAgIC1wXHRkaXNwbGF5IHRoZSBhdHRyaWJ1dGVzIGFuZCB2YWx1ZSBvZiBlYWNoIE5BTUVcbiIKICIgICAgXG4iCiAiICAgIE9wdGlvbnMgd2hpY2ggc2V0IGF0dHJpYnV0ZXM6XG4iCkBAIC0yNjU1LDcgKzI2NjEsNyBAQAogIiAgICBcbiIKICIgICAgV2hlbiB1c2VkIGluIGEgZnVuY3Rpb24sIGBkZWNsYXJlJyBtYWtlcyBOQU1FcyBsb2NhbCwgYXMgd2l0aCB0aGUgIgogImBsb2NhbCdcbiIKLSIgICAgY29tbWFuZC5cbiIKKyIgICAgY29tbWFuZC4gIFRoZSBgLWcnIG9wdGlvbiBzdXBwcmVzc2VzIHRoaXMgYmVoYXZpb3IuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgpAQCAtMjY4NywxNCArMjY5MywxNCBAQAogImt1bGxhbsSxbG3EscWfXG4iCiAiICAgIGdpYmkgeWVyZWwgeWFwYXIuIgogCi0jOiBidWlsdGlucy5jOjUxMgorIzogYnVpbHRpbnMuYzo1MTcKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCiAiICAgIE9ic29sZXRlLiAgU2VlIGBoZWxwIGRlY2xhcmUnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUyMAorIzogYnVpbHRpbnMuYzo1MjUKIG1zZ2lkICIiCiAiRGVmaW5lIGxvY2FsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0yNzA5LDcgKzI3MTUsNyBAQAogIiAgICBvciB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUzNworIzogYnVpbHRpbnMuYzo1NDIKICMsIGZ1enp5CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgpAQCAtMjc2Miw3ICsyNzY4LDcgQEAKICIgICAgLUUgc2XDp2VuZcSfaSBpbGUgeXVrYXLEsWRha2kga2FyYWt0ZXJsZXJpbiB5b3J1bWxhbm1hc8SxbsSxIMO2bnRhbsSxbWzEsVxuIgogIiAgICBvbGFyYWsgZXRraW4gb2xkdcSfdSBzaXN0ZW1sZXJkZSBiaWxlIGthcGF0YWJpbGlyc2luaXouIgogCi0jOiBidWlsdGlucy5jOjU3MQorIzogYnVpbHRpbnMuYzo1NzYKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjc3NSw3ICsyNzgxLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1ODYKKyM6IGJ1aWx0aW5zLmM6NTkxCiBtc2dpZCAiIgogIkVuYWJsZSBhbmQgZGlzYWJsZSBzaGVsbCBidWlsdGlucy5cbiIKICIgICAgXG4iCkBAIC0yODAyLDcgKzI4MDgsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGEgc2hlbGwgYnVpbHRpbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NjE0CisjOiBidWlsdGlucy5jOjYxOQogbXNnaWQgIiIKICJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMjgxNCw3ICsyODIwLDcgQEAKICIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBjb21tYW5kIG9yIHN1Y2Nlc3MgaWYgY29tbWFuZCBpcyBudWxsLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjYyNgorIzogYnVpbHRpbnMuYzo2MzEKICMsIGZ1enp5CiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCkBAIC0yOTA2LDcgKzI5MTIsNyBAQAogImJhxZ9rYVxuIgogIiAgICBhcmfDvG1hbmxhciB2ZXJpbG1pxZ9zZSBidW5sYXLEsSDDp8O2esO8bWxlci4iCiAKLSM6IGJ1aWx0aW5zLmM6NjY4CisjOiBidWlsdGlucy5jOjY3MwogbXNnaWQgIiIKICJSZXBsYWNlIHRoZSBzaGVsbCB3aXRoIHRoZSBnaXZlbiBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI5MjksNyArMjkzNSw3IEBACiAib2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjY4OQorIzogYnVpbHRpbnMuYzo2OTQKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4aXQgdGhlIHNoZWxsLlxuIgpAQCAtMjk0MSw3ICsyOTQ3LDcgQEAKICIgICAgTiBkdXJ1bXUgaWxlIGTDtm5lcmVrIGthYnVrIMOnxLFrYXIuIE4gdmVyaWxtZXpzZSBzb24gw6dhbMSxxZ90xLFyxLFsYW4ga29tdXR1blxuIgogIiAgICDDp8Sxa8SxxZ8gZHVydW11IGTDtm5lci4iCiAKLSM6IGJ1aWx0aW5zLmM6Njk4CisjOiBidWlsdGlucy5jOjcwMwogbXNnaWQgIiIKICJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMjk1MCw3ICsyOTU2LDcgQEAKICIgICAgaW4gYSBsb2dpbiBzaGVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3MDgKKyM6IGJ1aWx0aW5zLmM6NzEzCiAjLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgpAQCAtMzAwNSw3ICszMDExLDcgQEAKICIgICAgQsO2eWxlY2UgYHIgY2MnIHlhemFyYWsgYGNjJyBpbGUgYmHFn2xheWFuIHNvbiBrb211dCxcbiIKICIgICAgcicgeWF6YXJhayBlbiBzb24ga29tdXQgw6dhbMSxxZ90xLFyxLFsYWJpbGlyLiIKIAotIzogYnVpbHRpbnMuYzo3MzgKKyM6IGJ1aWx0aW5zLmM6NzQzCiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb3ZlIGpvYiB0byB0aGUgZm9yZWdyb3VuZC5cbiIKQEAgLTMwMjIsNyArMzAyOCw3IEBACiAiICAgIEXEn2VyIMSwxZ5fQkVMxLBSVMSwTcSwIGJlbGlydGlsbWVtacWfc2Uga2FidWsgacWfIGJlbGlydGltaSBvbGFyYWtcbiIKICIgICAgbyBhbiBraSBpxZ9pIGt1bGxhbsSxci4iCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogIywgZnV6enkKIG1zZ2lkICIiCiAiTW92ZSBqb2JzIHRvIHRoZSBiYWNrZ3JvdW5kLlxuIgpAQCAtMzA0MCw3ICszMDQ2LDcgQEAKICIgICAgYCYnIGlsZSBiYcWfbGF0xLFsbcSxxZ/Dp2FzxLFuYSDEsMWeX0JFTMSwUlTEsE3EsG5pIGFydGFsYW5hIHllcmxlxZ90aXJpci5cbiIKICIgICAgxLDFnl9CRUzEsFJUxLBNxLAgdmVyaWxtZW1pxZ9zZSwgacWfIGJlbGlydGltaSBvbGFyYWsgbyBhbiBraSBpxZ8ga3VsbGFuxLFsxLFyLiIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzA2NCw3ICszMDcwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3OTIKKyM6IGJ1aWx0aW5zLmM6Nzk3CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0zMDg2LDcgKzMwOTIsNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKICMsIGZ1enp5CiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgpAQCAtMzE0NCw3ICszMTUwLDcgQEAKICIgICAgZGFtZ2FzxLFuxLEgYmFzYWNhayBvbGFuIHN0cmZ0aW1lKDMpIGnFn2xldmluZSBiacOnaW0gZ2lyZGlzaSBvbHVyOyBha3NpXG4iCiAiICAgIHRha2RpcmRlIGhpw6cgemFtYW4gZGFtZ2FzxLEgYmFzxLFsbWF6LiIKIAotIzogYnVpbHRpbnMuYzo4NTIKKyM6IGJ1aWx0aW5zLmM6ODU3CiAjLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgpAQCAtMzE4MSw3ICszMTg3LDcgQEAKICIgICAgQVJHw7xtYW5sYXIgIGlsZSAgYmVsaXJ0aWxlbiB0w7xtIGnFnyBiZWxpcnRpbWxlcmksICBpxZ9sZXJpbiBzw7xyZcOnIGdydXBcbiIKICIgICAgbGlkZXJpbmluIHPDvHJlw6cgZ3J1cCBraW1sacSfaW5lIHllcmxlxZ90aXJpbGlwIEtPTVVUIMOnYWzEscWfdMSxcsSxbMSxci4iCiAKLSM6IGJ1aWx0aW5zLmM6ODc5CisjOiBidWlsdGlucy5jOjg4NAogbXNnaWQgIiIKICJSZW1vdmUgam9icyBmcm9tIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMzE5OCw3ICszMjA0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBvciBKT0JTUEVDIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg5OAorIzogYnVpbHRpbnMuYzo5MDMKICMsIGZ1enp5CiBtc2dpZCAiIgogIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCkBAIC0zMjM2LDcgKzMyNDIsNyBAQAogIiAgICBzxLFuxLFyxLFuxLEgIGHFn2Fyc2FuxLF6ICBiYcWfa2EgIGJpciAgc8O8cmVjaSAgw7ZsZMO8cmVjZWsgYmlyIHPDvHJlY2kgYmHFn2xhdG1ha1xuIgogIiAgICB6b3J1bmRhIGthbG1henPEsW7EsXouIgogCi0jOiBidWlsdGlucy5jOjkyMQorIzogYnVpbHRpbnMuYzo5MjYKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCkBAIC0zMjc5LDcgKzMyODUsNyBAQAogIiAgICBydWxlcyBhYm92ZS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4iCisiICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAiXHJsZXQgxLBGQURFIFvEsEZBREUgLi4uXVxuIgogIiAgICBIZXIgxLBGQURFIGRlxJ9lcmxlbmRpcmlsZWNlayBiaXIgIGFyaXRtZXRpayAgaWZhZGVzaWRpci4gIERlxJ9lcmxlbmRpcm1lXG4iCkBAIC0zMzIxLDcgKzMzMjcsNyBAQAogIlxuIgogIiAgICBTb24gaWZhZGUnbmluIHNvbnVjdSAwIGlzZSBkw7Zuw7zFnyBkdXJ1bXUgMSBkaXIsIGFrc2kgdGFrZGlyZGUgMCBkxLFyLiIKIAotIzogYnVpbHRpbnMuYzo5NjYKKyM6IGJ1aWx0aW5zLmM6OTcxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZWFkIGEgbGluZSBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBhbmQgc3BsaXQgaXQgaW50byBmaWVsZHMuXG4iCkBAIC0zNDE0LDcgKzM0MjAsNyBAQAogIiAgICBva3VtYSB6YW1hbmHFn8SxbcSxbmEgZMO8xZ9tZWRpa8OnZSB5YSBkYSAtdSBzZcOnZW5lxJ9pIGlsZSBzYcSfbGFuYW5cbiIKICIgICAgRG9TWWFUYU7EsVTEsWPEsSBnZcOnZXJzaXogb2xtYWTEsWvDp2EgZMO2bsO8xZ8gZHVydW11IHPEsWbEsXJkxLFyLiIKIAotIzogYnVpbHRpbnMuYzoxMDA5CisjOiBidWlsdGlucy5jOjEwMTQKIG1zZ2lkICIiCiAiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNDI2LDcgKzM0MzIsNyBAQAogIiAgICBSZXR1cm5zIE4sIG9yIGZhaWx1cmUgaWYgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbiBvciBzY3JpcHQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CiAjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKQEAgLTM0OTYsNiArMzUwMiw5IEBACiAiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgogIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCiAiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKICIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKICIgICAgXG4iCkBAIC0zNTk5LDcgKzM2MDgsNyBAQAogIiAgICBhdGFuxLFyLiDDlnplbCBwYXJhbWV0cmUgIyBpc2UgTidlIGF5YXJsYW7EsXIuIEhpw6cgYXJnw7xtYW4gdmVyaWxtZXpzZSxcbiIKICIgICAgdMO8bSBrYWJ1ayBkZcSfacWfa2VubGVyaSBiYXPEsWzEsXIuIgogCi0jOiBidWlsdGlucy5jOjExMDQKKyM6IGJ1aWx0aW5zLmM6MTExMgogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzYxOSw3ICszNjI4LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTM2MzgsNyArMzY0Nyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNDMKKyM6IGJ1aWx0aW5zLmM6MTE1MQogbXNnaWQgIiIKICJNYXJrIHNoZWxsIHZhcmlhYmxlcyBhcyB1bmNoYW5nZWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzY1OCw3ICszNjY3LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE2NAorIzogYnVpbHRpbnMuYzoxMTcyCiBtc2dpZCAiIgogIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zNjY5LDcgKzM2NzgsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjExNzYgYnVpbHRpbnMuYzoxMTkxCisjOiBidWlsdGlucy5jOjExODQgYnVpbHRpbnMuYzoxMTk5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGZyb20gYSBmaWxlIGluIHRoZSBjdXJyZW50IHNoZWxsLlxuIgpAQCAtMzY5Nyw3ICszNzA2LDcgQEAKICJwYXJhbWV0cmVsZXJcbiIKICIgICAgZGXEn2nFn3RpcmlsbWV6LiIKIAotIzogYnVpbHRpbnMuYzoxMjA3CisjOiBidWlsdGlucy5jOjEyMTUKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzcxMSw3ICszNzIwLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBqb2IgY29udHJvbCBpcyBub3QgZW5hYmxlZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTIyMworIzogYnVpbHRpbnMuYzoxMjMxCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgpAQCAtMzcxOSw3ICszNzI4LDEwIEBACiAiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgogIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCiAiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgotIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy5cbiIKKyIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMgYXMgd2VsbC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBiZWhhdmlvciBvZiB0ZXN0IGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHMuICBSZWFkIHRoZVxuIgorIiAgICBiYXNoIG1hbnVhbCBwYWdlIGZvciB0aGUgY29tcGxldGUgc3BlY2lmaWNhdGlvbi5cbiIKICIgICAgXG4iCiAiICAgIEZpbGUgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKQEAgLTM3NzMsNiArMzc4NSw3IEBACiAiICAgIE90aGVyIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCiAiICAgICAgLW8gT1BUSU9OICAgICAgVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uIE9QVElPTiBpcyBlbmFibGVkLlxuIgorIiAgICAgIC12IFZBUlx0IFRydWUgaWYgdGhlIHNoZWxsIHZhcmlhYmxlIFZBUiBpcyBzZXRcbiIKICIgICAgICAhIEVYUFIgICAgICAgICBUcnVlIGlmIGV4cHIgaXMgZmFsc2UuXG4iCiAiICAgICAgRVhQUjEgLWEgRVhQUjIgVHJ1ZSBpZiBib3RoIGV4cHIxIEFORCBleHByMiBhcmUgdHJ1ZS5cbiIKICIgICAgICBFWFBSMSAtbyBFWFBSMiBUcnVlIGlmIGVpdGhlciBleHByMSBPUiBleHByMiBpcyB0cnVlLlxuIgpAQCAtMzg2NSw3ICszODc4LDcgQEAKICIgICAga8O8w6fDvGtsw7xrLCBiw7x5w7xrbMO8aywga8O8w6fDvGtsw7xrIHZleWEgZcWfaXRsaWssIGLDvHnDvGtsw7xrIHZleWEgZcWfaXRsaWsgdmFyc2FcbiIKICIgICAgaWZhZGVuaW4gc29udWN1IGRvxJ9ydWR1ci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTI5OQorIzogYnVpbHRpbnMuYzoxMzExCiAjLCBmdXp6eQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgpAQCAtMzg3Nyw3ICszODkwLDcgQEAKICIgICB0ZXN0IHllcmxlxZ9pxJ9pIGlsZSBheW7EsWTEsXIsIGZha2F0IHNvbiBhcmfDvG1hbiBhw6dhbiBgWycgaWxlIGXFn2xlxZ9lblxuIgogIiAgIGthcGF0YW4gYF0nIG9sbWFrIHpvcnVuZGFkxLFyLiIKIAotIzogYnVpbHRpbnMuYzoxMzA4CisjOiBidWlsdGlucy5jOjEzMjAKIG1zZ2lkICIiCiAiRGlzcGxheSBwcm9jZXNzIHRpbWVzLlxuIgogIiAgICBcbiIKQEAgLTM4ODksNyArMzkwMiw3IEBACiAiICAgIEFsd2F5cyBzdWNjZWVkcy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMzIwCisjOiBidWlsdGlucy5jOjEzMzIKICMsIGZ1enp5CiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgpAQCAtMzkwNiw3ICszOTE5LDE1IEBACiAiICAgIFxuIgogIiAgICBJZiBhIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20gdGhlIHNoZWxsLiAgIgogIklmXG4iCi0iICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuICAiCisiSWZcbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBSRVRVUk4sIEFSRyBpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciAiCisiYVxuIgorIiAgICBzY3JpcHQgcnVuIGJ5IHRoZSAuIG9yIHNvdXJjZSBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuICBBICIKKyJTSUdOQUxfU1BFQ1xuIgorIiAgICBvZiBFUlIgbWVhbnMgdG8gZXhlY3V0ZSBBUkcgZWFjaCB0aW1lIGEgY29tbWFuZCdzIGZhaWx1cmUgd291bGQgY2F1c2UgIgorInRoZVxuIgorIiAgICBzaGVsbCB0byBleGl0IHdoZW4gdGhlIC1lIG9wdGlvbiBpcyBlbmFibGVkLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCwgdHJhcCBwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgIgogImFzc29jaWF0ZWRcbiIKQEAgLTM5NDIsNyArMzk2Myw3IEBACiAiICAgIG51bWFyYWxhcsSxICBpbGUgIGJpcmxpa3RlICBsaXN0ZWxlbWVzaW5pICBzYcSfbGFyLiAgS2FidcSfYSAgYmlyICBzaW55YWxcbiIKICIgICAgZ8O2bmRlcm1layBpc3RlcnNlbml6IFwia2lsbCAtU8SwR05BTCAkJFwiIHPDtnpkaXppbWluaSBrdWxsYW5hYmlsaXJzaW5pei4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM1MgorIzogYnVpbHRpbnMuYzoxMzY4CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZCB0eXBlLlxuIgogIiAgICBcbiIKQEAgLTM5NzIsNyArMzk5Myw3IEBACiAiZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MworIzogYnVpbHRpbnMuYzoxMzk5CiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgpAQCAtNDA0OSw3ICs0MDcwLDcgQEAKICIgICAgacOnaW4gNTEyIGJheXRsxLFrIGJsb2sgc2F5xLFzxLEgb2xhcmFrLCAgLW4gIHZlICAtdSAgacOnaW4gYmlyaW1zaXosICBrYWxhblxuIgogIiAgICBzZcOnZW5la2xlciBpw6dpbiAxMDI0IGJheXRsxLFrIGJsb2sgc2F5xLFzxLEgb2xhcmFrIGJlbGlydGlsbWVsaWRpci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQyOAorIzogYnVpbHRpbnMuYzoxNDQ0CiBtc2dpZCAiIgogIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgogIiAgICBcbiIKQEAgLTQwNjcsNyArNDA4OCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NDgKKyM6IGJ1aWx0aW5zLmM6MTQ2NAogbXNnaWQgIiIKICJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgogIiAgICBcbiIKQEAgLTQwODQsNyArNDEwNSw3IEBACiAiICAgIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0NjYKKyM6IGJ1aWx0aW5zLmM6MTQ4MgogIywgZnV6enkKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCkBAIC00MTA1LDcgKzQxMjYsNyBAQAogIiAgICBiZWxpcnRpbWkgZGUgb2xhYmlsaXI7IGJpciBpxZ8gYmVsaXJ0aW1pIHZlcmlsaXJzZSBpxZ9pblxuIgogIiAgICBib3J1aGF0dMSxbmRha2kgdMO8bSBzw7xyZcOnbGVyIGnDp2luIGJla2xlbmlyLiIKIAotIzogYnVpbHRpbnMuYzoxNDgxCisjOiBidWlsdGlucy5jOjE0OTcKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKQEAgLTQxMjQsNyArNDE0NSw3IEBACiAiICAgIHlva3NhLCBgaW4gXCIkQFwiJyBiZWxpcnRpbG1pxZ8gZ2liaSBrw7xtZXlpIG9sdcWfdHVyYW4gaGVyIHBhcmFtZXRyZVxuIgogIiAgICBpw6dpbiBLT01VVGxhciBiaXJlciBrZXJlIMOnYWzEscWfdMSxcsSxbMSxci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiAjLCBmdXp6eQogbXNnaWQgIiIKICJBcml0aG1ldGljIGZvciBsb29wLlxuIgpAQCAtNDE1MSw3ICs0MTcyLDcgQEAKICIgICAgxLBGQURFMSwgxLBGQURFMiB2ZSDEsEZBREUzIGFyaXRtZXRpayBpZmFkZWxlcmRpci4gVmVyaWxtZXllbiBoZXJcbiIKICIgICAgaWZhZGUgacOnaW4gMSB2ZXJpbG1pxZ8gZ2liaSBpxZ9sZW0geWFwxLFsxLFyLiIKIAotIzogYnVpbHRpbnMuYzoxNTEzCisjOiBidWlsdGlucy5jOjE1MjkKICMsIGZ1enp5CiBtc2dpZCAiIgogIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKQEAgLTQxOTEsNyArNDIxMiw3IEBACiAiICAgIGRlxJ9pxZ9rZW5pbmRlIHR1dHVsdXIuIEhlciBzZcOnaW1kZW4gc29ucmEgYmlyIGJyZWFrIGtvbXV0dSBpbGVcbiIKICIgICAgc29ubGFuZMSxcsSxbMSxbmNheWEga2FkYXIga29tdXRsYXIgw6dhbMSxxZ90xLFyxLFsxLFyLiIKIAotIzogYnVpbHRpbnMuYzoxNTM0CisjOiBidWlsdGlucy5jOjE1NTAKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgpAQCAtNDIxNSw3ICs0MjM2LDcgQEAKICIgICAgaXN0YXRpc3Rpa2xlcmluaW4gIGJpcmF6IGZhcmtsxLEgYmlyIGJpw6dpbWRlIGJhc8SxbG1hc8SxbsSxIHNhxJ9sYXI7ICDDp8Sxa3TEsVxuIgogIiAgICBiacOnaW1pIG9sYXJhayBUSU1FRk9STUFUIGRlxJ9pxZ9rZW5pbmluIGRlxJ9lcmluaSBrdWxsYW7EsXIuIgogCi0jOiBidWlsdGlucy5jOjE1NTEKKyM6IGJ1aWx0aW5zLmM6MTU2NwogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgpAQCAtNDIzMCw3ICs0MjUxLDcgQEAKICIgICAgU8OWWmPDvGsgaWxlIGXFn2xlxZ9lbiBpbGsgS0FMSVAnYSBrYXLFn8SxIGTDvMWfZW4gS09NVVRsYXLEsSDDp2FsxLHFn3TEsXLEsXIuXG4iCiAiICAgIGB8JyDDp29rIHNhecSxZGEga2FsxLFixLEgYXnEsXJtYWsgacOnaW4ga3VsbGFuxLFsxLFyLiIKIAotIzogYnVpbHRpbnMuYzoxNTYzCisjOiBidWlsdGlucy5jOjE1NzkKICMsIGZ1enp5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCkBAIC00MjY1LDcgKzQyODYsNyBAQAogIiAgICDDp8Sxa8SxxZ8gZHVydW11ZHVyLiAgQmlyIGtvbXV0IMOnYWzEscWfdMSxcsSxbG1hbcSxxZ9zYSAgdmUgaGnDp2JpciBrb8WfdWxcbiIKICIgICAgZG/En3J1IHNvbnXDpyB2ZXJtZW1pxZ9zZSBzxLFmxLFyIGTDtm5lci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU4MAorIzogYnVpbHRpbnMuYzoxNTk2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgpAQCAtNDI4MCw3ICs0MzAxLDcgQEAKICIgICAgYHdoaWxlIEtPTVVUbGFyOyBsaXN0ZXNpbmluIMOnxLFrxLHFnyBkdXJ1bXUgc8SxZsSxciBvbGR1xJ91IHPDvHJlY2VcbiIKICIgICAgYGRvIEtPTVVUbGFyOycgbGlzdGVzaSDDp2FsxLHFn3TEsXLEsWzEsXIuIgogCi0jOiBidWlsdGlucy5jOjE1OTIKKyM6IGJ1aWx0aW5zLmM6MTYwOAogIywgZnV6enkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgpAQCAtNDI5NSw3ICs0MzE2LDcgQEAKICIgICAgYHVudGlsIEtPTVVUbGFyOyBsaXN0ZXNpbmluIMOnxLFrxLHFnyBkdXJ1bXUgc8SxZsSxcmRhbiBmYXJrbMSxIG9sZHXEn3Ugc8O8cmVjZVxuIgogIiAgICBgZG8gS09NVVRsYXI7JyBsaXN0ZXNpIMOnYWzEscWfdMSxcsSxbMSxci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYwNAorIzogYnVpbHRpbnMuYzoxNjIwCiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTQzMDgsNyArNDMyOSw3IEBACiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC00MzIyLDcgKzQzNDMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYzMgorIzogYnVpbHRpbnMuYzoxNjQ4CiAjLCBmdXp6eQogbXNnaWQgIiIKICJHcm91cCBjb21tYW5kcyBhcyBhIHVuaXQuXG4iCkBAIC00MzM3LDcgKzQzNTgsNyBAQAogIiAgICBLT01VVGxhciBiaXIgZ3J1cCBvbGFyYWsgw6dhbMSxxZ90xLFyxLFsxLFyLiBCdSwgYmlyIGtvbXV0IGvDvG1lc2luaSBiaXJcbiIKICIgICAgecO2bmxlbmRpcm1lZGUga3VsbGFubWFuxLFuIHRlayB5b2x1ZHVyLiIKIAotIzogYnVpbHRpbnMuYzoxNjQ0CisjOiBidWlsdGlucy5jOjE2NjAKICMsIGZ1enp5CiBtc2dpZCAiIgogIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKQEAgLTQzNTgsNyArNDM3OSw3IEBACiAiICAgIMSwxZ5fQkVMxLBSVMSwTcSwJ25kZW4gc29ucmEgYmlyICYgZ2VsbWVzaSBpxZ9pbiBgYmcnIGtvbXV0dW51bmEgYXJnw7xtYW5cbiIKICIgICAgb2xhcmFrIGt1bGxhbsSxbG3EscWfIGdpYmkgYXJ0YWxhbmEgeWVybGXFn3RpcmlsbWVzaW5lIHNlYmVwIG9sdXIuIgogCi0jOiBidWlsdGlucy5jOjE2NTkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogIywgZnV6enkKIG1zZ2lkICIiCiAiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgpAQCAtNDM3Myw3ICs0Mzk0LDcgQEAKICIgICAgVmVyaWxlbiBhcml0bWV0aWsgxLBGQURFIGFyaXRtZXRpayBkZcSfZXJsZW5kaXJtZSBrdXJhbGxhcsSxbmEgZ8O2cmVcbiIKICIgICAgZGXEn2VybGVuZGlyaWxpci4gXCJsZXQgxLBGQURFXCIgaWxlIGXFn2RlxJ9lcmRpci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY3MQorIzogYnVpbHRpbnMuYzoxNjg3CiAjLCBmdXp6eQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCkBAIC00NDE2LDcgKzQ0MzcsNyBAQAogIiAgIG9sYXJhayBlbGUgYWzEsW7EsXIgdmUga2FsxLFwIGXFn2xlxZ90aXJtZXNpIHV5Z3VsYW7EsXIuICYmIHZlIHx8IGnFn2xlw6dsZXJpXG4iCiAiICAgZcSfZXIgaWxrIGlmYWRlIHNvbnXDpyBpw6dpbiBiZWxpcmxleWljaSBpc2UgaWtpbmNpc2luZSBiYWttYXpsYXIuIgogCi0jOiBidWlsdGlucy5jOjE2OTcKKyM6IGJ1aWx0aW5zLmM6MTcxMwogIywgZnV6enkKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKQEAgLTQ1MzcsNyArNDU1OCw3IEBACiAiICAgICAgICAgICAgICAgICAgICAgICBnZXJla3RpxJ9pbmUga2FyYXIgdmVybWVrIGnDp2luIGt1bGxhbsSxbGFuIGthbMSxcGxhcsSxblxuIgogIiAgICAgICAgICAgICAgICAgICAgICAgaWtpbm9rdGEgaW1pIGF5cmHDp2zEsSBsaXN0ZXNpLlxuIgogCi0jOiBidWlsdGlucy5jOjE3NTQKKyM6IGJ1aWx0aW5zLmM6MTc3MAogIywgZnV6enkKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgpAQCAtNDU4OSw3ICs0NjEwLDcgQEAKICJcbiIKICIgICAgRGl6aW4gecSxxJ/EsXTEsW7EsSBgZGlycycga29tdXR1eWxhIGfDtnJlYmlsaXJzaW5pei4iCiAKLSM6IGJ1aWx0aW5zLmM6MTc4OAorIzogYnVpbHRpbnMuYzoxODA0CiAjLCBmdXp6eQogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKQEAgLTQ2MzAsNyArNDY1MSw3IEBACiAiICAgICAgICAgIGVuZ2VsbGVyLCBiw7Z5bGVjZSBzYWRlY2UgecSxxJ/EsXQgZGXEn2nFn3RpcmlsbWnFnyBvbHVyLiBcbiIKICIgICAgRGl6aW4gecSxxJ/EsXTEsW7EsSBgZGlycycga29tdXR1eWxhIGfDtnJlYmlsaXJzaW5pei4iCiAKLSM6IGJ1aWx0aW5zLmM6MTgxOAorIzogYnVpbHRpbnMuYzoxODM0CiAjLCBmdXp6eQogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKQEAgLTQ2NzYsNyArNDY5Nyw3IEBACiAiICAgIC1OICAgZGlycyBzZcOnZW5la3NpeiDDp2HEn3LEsWxkxLHEn8SxbmRhIGfDtnN0ZXJkacSfaSBsaXN0ZW5pbiBzYcSfxLFuZGFuXG4iCiAiICAgICAgICAgc8SxZsSxcmxhIGJhxZ9sYXlhcmFrIHNhecSxbGFuIE4naW5jaSBnaXJkaXlpIGfDtnN0ZXJpci4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg0NworIzogYnVpbHRpbnMuYzoxODYzCiBtc2dpZCAiIgogIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC00Njk3LDcgKzQ3MTgsNyBAQAogIiAgICBnaXZlbiBvciBPUFROQU1FIGlzIGRpc2FibGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAogIywgZnV6enkKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCkBAIC00NzIxLDYgKzQ3NDIsOSBAQAogIiAgICBcbiIKICIgICAgICAlYlx0ZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50XG4iCiAiICAgICAgJXFcdHF1b3RlIHRoZSBhcmd1bWVudCBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXRcbiIKKyIgICAgICAlKGZtdClUIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcgZnJvbSB1c2luZyBGTVQgYXMgYSAiCisiZm9ybWF0XG4iCisiICAgICAgICAgICAgc3RyaW5nIGZvciBzdHJmdGltZSgzKVxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSB3cml0ZSBvciAiCkBAIC00NzM5LDcgKzQ3NjMsNyBAQAogIiAgICBiacOnaW1kZSDDp8Sxa3TEsWxhbWFzxLFuxLEgc2HEn2xhci4gLXYgc2XDp2VuZcSfaSDDp8Sxa3TEsW7EsW4gc3RhbmRhcnQgw6fEsWt0xLF5YVxuIgogIiAgICBiYXPEsWxtYXPEsSB5ZXJpbmUgREXEnsSwxZ5LRU5lIGF0YW5tYXPEsW7EsSBzYcSfbGFyLiAiCiAKLSM6IGJ1aWx0aW5zLmM6MTg5NQorIzogYnVpbHRpbnMuYzoxOTEzCiBtc2dpZCAiIgogIlNwZWNpZnkgaG93IGFyZ3VtZW50cyBhcmUgdG8gYmUgY29tcGxldGVkIGJ5IFJlYWRsaW5lLlxuIgogIiAgICBcbiIKQEAgLTQ3NjYsNyArNDc5MCw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE5MjMKKyM6IGJ1aWx0aW5zLmM6MTk0MQogIywgZnV6enkKIG1zZ2lkICIiCiAiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCkBAIC00Nzg2LDEzICs0ODEwLDEzIEBACiAiICAgIGFtYWPEsXlsYSB0YXNhcmxhbm3EscWfdMSxci4gxLBzdGXEn2UgYmHEn2zEsSBTw5ZaQ8OcSyBhcmfDvG1hbsSxIHNhxJ9sYW5kxLHEn8SxXG4iCiAiICAgIHRha2RpcmRlIGXFn2xlxZ9tZWxlcmRlbiBzYWRlY2UgU8OWWkPDnEsgaWxlIGXFn2xlxZ9lbmxlciDDvHJldGlsaXIuIgogCi0jOiBidWlsdGlucy5jOjE5MzgKKyM6IGJ1aWx0aW5zLmM6MTk1NgogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC00ODE3LDcgKzQ4NDEsNyBAQAogIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTk2OAorIzogYnVpbHRpbnMuYzoxOTg2CiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byBhbiBpbmRleGVkIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKQEAgLTQ4NDUsNyArNDg2OSw4IEBACiAiICAgIFxuIgogIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCiAiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCi0iICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYXMgYW4gYWRkaXRpb25hbCBhcmd1bWVudC5cbiIKKyIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhbmQgdGhlIGxpbmUgdG8gYmUgYXNzaWduZWQgdG8gdGhhdCBlbGVtZW50XG4iCisiICAgIGFzIGFkZGl0aW9uYWwgYXJndW1lbnRzLlxuIgogIiAgICBcbiIKICIgICAgSWYgbm90IHN1cHBsaWVkIHdpdGggYW4gZXhwbGljaXQgb3JpZ2luLCBtYXBmaWxlIHdpbGwgY2xlYXIgQVJSQVkgIgogImJlZm9yZVxuIgpAQCAtNDg1Nyw3ICs0ODgyLDcgQEAKICIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCmRpZmYgLS1naXQgYS9wby91ay5nbW8gYi9wby91ay5nbW8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM4ZDY2ZQotLS0gL2Rldi9udWxsCisrKyBiL3BvL3VrLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby91ay5wbyBiL3BvL3VrLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5OGJhNzIKLS0tIC9kZXYvbnVsbAorKysgYi9wby91ay5wbwpAQCAtMCwwICsxLDU1NzEgQEAKKyMgQmFzaCBVa3JhaW5pYW4gbWVzc2FnZXMKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgorIyBNeWhhaWxvIERhbnlsZW5rbyA8aXNiZWFyQHVrcnBvc3QubmV0PiwgMjAwOS4KKyMgTWF4aW0gVi4gRHppdW1hbmVua28gPGR6aXVtYW5lbmtvQGdtYWlsLmNvbT4sIDIwMTAuCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMVxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMS0wMS0yOCAyMjowOS0wNTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMC0wNi0wMSAxNDo1MyswMzAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBNYXhpbSBWLiBEeml1bWFuZW5rbyA8ZHppdW1hbmVua29AZ21haWwuY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IFVrcmFpbmlhbiA8dHJhbnNsYXRpb24tdGVhbS11a0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0zOyBwbHVyYWw9biUxMD09MSAmJiBuJTEwMCE9MTEgPyAwIDogbiUxMD49MiAmJiBuJSIKKyIxMDw9NCAmJiAobiUxMDA8MTAgfHwgbiUxMDA+PTIwKSA/IDEgOiAyO1xuIgorCisjOiBhcnJheWZ1bmMuYzo1MAorbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LjQuSDRltC90LTQtdC60YEg0LzQsNGB0LjQstGDIgorCisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgorbXNnc3RyICIlczog0L3QtdC80L7QttC70LjQstC+INC/0LXRgNC10YLQstC+0YDQuNGC0Lgg0ZbQvdC00LXQutGB0L7QstCw0L3QuNC5INC80LDRgdC40LIg0L3QsCDQsNGB0L7RhtGW0LDRgtC40LLQvdC40LkiCisKKyM6IGFycmF5ZnVuYy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBhc3NvY2lhdGl2ZSBhcnJheSBrZXkiCittc2dzdHIgIiVzOiDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0LrQu9GO0Ycg0LDRgdC+0YbRltCw0YLQuNCy0L3QvtCz0L4g0LzQsNGB0LjQstGDIgorCisjOiBhcnJheWZ1bmMuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCittc2dzdHIgIiVzOiDQvtC30L3QsNGH0LXQvdC90Y8g0L3QtdGH0LjRgdC70L7QstC40YUg0LXQu9C10LzQtdC90YLRltCyINC90LXQvNC+0LbQu9C40LLQtSIKKworIzogYXJyYXlmdW5jLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogbXVzdCB1c2Ugc3Vic2NyaXB0IHdoZW4gYXNzaWduaW5nIGFzc29jaWF0aXZlIGFycmF5IgorbXNnc3RyICIlczogJXM6INC/0YDQuCDQvtC30L3QsNGH0LXQvdC90ZYg0LDRgdC+0YbRltCw0YLQuNCy0L3QuNGFINC80LDRgdC40LLRltCyINC/0L7RgtGA0ZbQsdC90L4g0LLQutCw0LfRg9Cy0LDRgtC4INC60LvRjtGHIgorCisjOiBiYXNoaGlzdC5jOjM4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0YHRgtCy0L7RgNC40YLQuDogJXMiCisKKyM6IGJhc2hsaW5lLmM6MzQ5OAorbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKK21zZ3N0ciAiIgorImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6INC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQt9C90LDQudGC0Lgg0LLRltC00L/QvtCy0ZbQtNC90LUg0L/RgNC40LfQvdCw0YfQtdC90L3RjyDQtNC70Y8gIgorItC60L7QvNCw0L3QtNC4IgorCisjOiBiYXNobGluZS5jOjM1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKK21zZ3N0ciAiJXM6INC/0LXRgNGI0LjQuSDQvdC10L/RgNC+0LHRltC70YzQvdC40Lkg0YHQuNC80LLQvtC7INC90LUg0ZQgYFwiJyIKKworIyBjLWZvcm1hdAorIzogYmFzaGxpbmUuYzozNjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKK21zZ3N0ciAi0L3QtdC80LAg0LfQsNC60LvRjtGH0L3QvtGXIGAlYycg0YMgJXMiCisKKyM6IGJhc2hsaW5lLmM6MzY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCittc2dzdHIgIiVzOiDQv9GA0L7Qv9GD0YnQtdC90L4g0LTQstC+0LrRgNCw0L/QutGDLdGA0L7Qt9C00ZbQu9GM0L3QuNC6IgorCisjOiBidWlsdGlucy9hbGlhcy5kZWY6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGFsaWFzIG5hbWUiCittc2dzdHIgImAlcyc6INC90LXQv9GA0LDQstC40LvRjNC90LAg0L3QsNC30LLQsCDQvdCw0LHQvtGA0YMg0L/RgNC40LfQvdCw0YfQtdC90Ywg0LrQu9Cw0LLRltGIIgorCisjOiBidWlsdGlucy9iaW5kLmRlZjoxMjAgYnVpbHRpbnMvYmluZC5kZWY6MTIzCittc2dpZCAibGluZSBlZGl0aW5nIG5vdCBlbmFibGVkIgorbXNnc3RyICLRgNC10LTQsNCz0YPQstCw0L3QvdGPINGA0Y/QtNC60YMg0L3QtSDQstCy0ZbQvNC60L3QtdC90L4iCisKKyM6IGJ1aWx0aW5zL2JpbmQuZGVmOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBpbnZhbGlkIGtleW1hcCBuYW1lIgorbXNnc3RyICJgJXMnOiDQvdC10L/RgNCw0LLQuNC70YzQvdCwINC90LDQt9Cy0LAg0L3QsNCx0L7RgNGDINC/0YDQuNC30L3QsNGH0LXQvdGMINC60LvQsNCy0ZbRiCIKKworIzogYnVpbHRpbnMvYmluZC5kZWY6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZDogJXMiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4OiAlcyIKKworIzogYnVpbHRpbnMvYmluZC5kZWY6MjYwCisjLCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IGNhbm5vdCB1bmJpbmQiCittc2dzdHIgImAlcyc6INC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQt9C90Y/RgtC4INC/0YDQuNC30L3QsNGH0LXQvdC90Y8iCisKKyM6IGJ1aWx0aW5zL2JpbmQuZGVmOjI5NSBidWlsdGlucy9iaW5kLmRlZjozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogdW5rbm93biBmdW5jdGlvbiBuYW1lIgorbXNnc3RyICJgJXMnOiDQvdC10LLRltC00L7QvNCwINC90LDQt9Cy0LAg0YTRg9C90LrRhtGW0ZciCisKKyM6IGJ1aWx0aW5zL2JpbmQuZGVmOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYm91bmQgdG8gYW55IGtleXMuXG4iCittc2dzdHIgIiVzINC90LUg0L/RgNC40LfQvdCw0YfQtdC90L4g0LbQvtC00L3QvtGXINC60LvQsNCy0ZbRiNGWLlxuIgorCisjOiBidWlsdGlucy9iaW5kLmRlZjozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FuIGJlIGludm9rZWQgdmlhICIKK21zZ3N0ciAiJXMg0LzQvtC20L3QsCDQt9Cw0L/Rg9GB0YLQuNGC0Lgg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gIgorCisjOiBidWlsdGlucy9icmVhay5kZWY6NzcgYnVpbHRpbnMvYnJlYWsuZGVmOjExNworbXNnaWQgImxvb3AgY291bnQiCittc2dzdHIgItC60ZbQu9GM0LrRltGB0YLRjCDRhtC40LrQu9GW0LIiCisKKyM6IGJ1aWx0aW5zL2JyZWFrLmRlZjoxMzcKK21zZ2lkICJvbmx5IG1lYW5pbmdmdWwgaW4gYSBgZm9yJywgYHdoaWxlJywgb3IgYHVudGlsJyBsb29wIgorbXNnc3RyICLQvNCw0ZQg0YHQtdC90YEg0LvQuNGI0LUg0YPRgdC10YDQtdC00LjQvdGWINGG0LjQutC70ZbQsiBgZm9yJywgYHdoaWxlJyDRgtCwIGB1bnRpbCciCisKKyM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTMzCittc2dpZCAiIgorIlJldHVybnMgdGhlIGNvbnRleHQgb2YgdGhlIGN1cnJlbnQgc3Vicm91dGluZSBjYWxsLlxuIgorIiAgICBcbiIKKyIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zICIKK21zZ3N0ciAiIgorItCf0L7QstC10YDRgtCw0ZQg0LrQvtC90YLQtdC60YHRgiDQv9C+0YLQvtGH0L3QvtGXINC/0ZbQtNC/0YDQvtCz0YDQsNC80LguXG4iCisiICAgIFxuIgorIiAgICDQr9C60YnQviBFWFBSINC90LUg0LLQutCw0LfQsNC90L4sINC/0L7QstC10YDRgtCw0ZQgIgorCisjOiBidWlsdGlucy9jZC5kZWY6MjM1Cittc2dpZCAiSE9NRSBub3Qgc2V0IgorbXNnc3RyICLQt9C80ZbQvdC90YMgSE9NRSDQvdC1INCy0YHRgtCw0L3QvtCy0LvQtdC90L4iCisKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyNDcKK21zZ2lkICJPTERQV0Qgbm90IHNldCIKK21zZ3N0ciAi0LfQvNGW0L3QvdGDIE9MRFBXRCDQvdC1INCy0YHRgtCw0L3QvtCy0LvQtdC90L4iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEwMQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiAiCittc2dzdHIgItGA0Y/QtNC+0LogJWQ6ICIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MTM5IGVycm9yLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICIKK21zZ3N0ciAi0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiAiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXNhZ2U6ICIKK21zZ3N0ciAiJXM6INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQudGC0LU6ICIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MzIKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgItC30LDQsdCw0LPQsNGC0L4g0LDRgNCz0YPQvNC10L3RgtGW0LIiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlczog0L/QsNGA0LDQvNC10YLRgCDQv9C+0YLRgNC10LHRg9GUINCw0YDQs9GD0LzQtdC90YLRgyIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1lcmljIGFyZ3VtZW50IHJlcXVpcmVkIgorbXNnc3RyICIlczog0L/QvtGC0YDRltCx0LXQvSDRh9C40YHQu9C+0LLQuNC5INCw0YDQs9GD0LzQtdC90YIiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlczog0L3QtSDQt9C90LDQudC00LXQvdC+IgorCisjOiBidWlsdGlucy9jb21tb24uYzoyMTQgc2hlbGwuYzo3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgb3B0aW9uIgorbXNnc3RyICIlczog0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INC/0LDRgNCw0LzQtdGC0YAiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjIyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBvcHRpb24gbmFtZSIKK21zZ3N0ciAiJXM6INC90LXQstGW0YDQvdCwINC90LDQt9Cy0LAg0L/QsNGA0LDQvNC10YLRgNGDIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyMjggZ2VuZXJhbC5jOjIzMSBnZW5lcmFsLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IG5vdCBhIHZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgImAlcyc6INC90LXQv9GA0LDQstC40LvRjNC90LjQuSDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjM4Cittc2dpZCAiaW52YWxpZCBvY3RhbCBudW1iZXIiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LUg0LLRltGB0ZbQvNC60L7QstC1INGH0LjRgdC70L4iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MAorbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QtSDRiNGW0YHRgtC90LDQtNGG0Y/RgtC60L7QstC1INGH0LjRgdC70L4iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTM2MgorbXNnaWQgImludmFsaWQgbnVtYmVyIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC1INGH0LjRgdC70L4iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaWduYWwgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6INGB0LjQs9C90LDQuyDQstC60LDQt9Cw0L3QviDQvdC10LLRltGA0L3QviIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IG5vdCBhIHBpZCBvciB2YWxpZCBqb2Igc3BlYyIKK21zZ3N0ciAiYCVzJzog0L3QtSDRlCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC+0Lwg0L/RgNC+0YbQtdGB0YMg0YfQuCDQt9Cw0LLQtNCw0L3QvdGPIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgorbXNnc3RyICIlczog0LfQvNGW0L3QvdCwINC/0YDQuNC30L3QsNGH0LXQvdCwINC70LjRiNC1INC00LvRjyDRh9C40YLQsNC90L3RjyIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIiVzOiAlcyDQstC40YXQvtC00LjRgtGMINC30LAg0LLRgdGC0LDQvdC+0LLQu9C10L3RliDQvNC10LbRliIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjcyIGJ1aWx0aW5zL2NvbW1vbi5jOjI3NAorbXNnaWQgImFyZ3VtZW50IgorbXNnc3RyICLQsNGA0LPRg9C80LXQvdGCIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgb3V0IG9mIHJhbmdlIgorbXNnc3RyICIlcyDQstC40YXQvtC00LjRgtGMINC30LAg0LLRgdGC0LDQvdC+0LLQu9C10L3RliDQvNC10LbRliIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBzdWNoIGpvYiIKK21zZ3N0ciAiJXM6INC90LXQvNCwINGC0LDQutC+0LPQviDQt9Cw0LLQtNCw0L3QvdGPIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGpvYiBjb250cm9sIgorbXNnc3RyICIlczog0LrQtdGA0YPQstCw0L3QvdGPINC30LDQstC00LDQvdC90Y/QvNC4INC90LUg0LLQstGW0LzQutC90LXQvdC1IgorCisjOiBidWlsdGlucy9jb21tb24uYzoyOTIKK21zZ2lkICJubyBqb2IgY29udHJvbCIKK21zZ3N0ciAi0LrQtdGA0YPQstCw0L3QvdGPINC30LDQstC00LDQvdC90Y/QvNC4INC90LUg0LLQstGW0LzQutC90LXQvdC1IgorCisjOiBidWlsdGlucy9jb21tb24uYzozMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlc3RyaWN0ZWQiCittc2dzdHIgIiVzOiDQt9Cw0LHQvtGA0L7QvdC10L3QviDQvtCx0LzQtdC20LXQvdC90Y/QvNC4IgorCisjOiBidWlsdGlucy9jb21tb24uYzozMDQKK21zZ2lkICJyZXN0cmljdGVkIgorbXNnc3RyICLQt9Cw0LHQvtGA0L7QvdC10L3QviDQvtCx0LzQtdC20LXQvdC90Y/QvNC4IgorCisjOiBidWlsdGlucy9jb21tb24uYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHNoZWxsIGJ1aWx0aW4iCittc2dzdHIgIiVzOiDQvdC1INGUINCy0LHRg9C00L7QstCw0L3QvtGOINC60L7QvNCw0L3QtNC+0Y4g0L7QsdC+0LvQvtC90LrQuCIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGVycm9yOiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDOiAlcyIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlczogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwINCy0YHRgtCw0L3QvtCy0LvQtdC90L3RjyDQv9Cw0YDQsNC80LXRgtGA0ZbQsiDRgtC10YDQvNGW0L3QsNC70YM6ICVzIgorCisjOiBidWlsdGlucy9jb21tb24uYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgZ2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0L7RgtGA0LjQvNCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDRltCyINGC0LXRgNC80ZbQvdCw0LvRgzogJXMiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgcmV0cmlldmluZyBjdXJyZW50IGRpcmVjdG9yeTogJXM6ICVzXG4iCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQvtGC0YDQuNC80LDQvdC90Y8g0L/QvtGC0L7Rh9C90L7RlyDQtNC40YDQtdC60YLQvtGA0ZbRlzogJXM6ICVzXG4iCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjYyOSBidWlsdGlucy9jb21tb24uYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBqb2Igc3BlYyIKK21zZ3N0ciAiJXM6INC30LDQstC00LDQvdC90Y8g0LLQutCw0LfQsNC90L4g0L3QtdC+0LTQvdC+0LfQvdCw0YfQvdC+IgorCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Mjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGFjdGlvbiBuYW1lIgorbXNnc3RyICIlczog0L3QtdC/0YDQsNCy0LjQu9GM0L3QsCDQvdCw0LfQstCwINC00ZbRlyIKKworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjQ0OSBidWlsdGlucy9jb21wbGV0ZS5kZWY6NjQ0CisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6ODUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiDQvdC1INCy0LrQsNC30LDQvdCwINGB0L/QtdGG0LjRhNGW0YbQutCw0YbRltGPINC30LDQstC10YDRiNC10L3QvdGPIgorCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2Cittc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC80L7QttC70LjQstC+INC/0LDRgNCw0LzQtdGC0YAgLUYg0L/RgNCw0YbRjtGUINC90LUg0YLQsNC6LCDRj9C6INCy0Lgg0L7Rh9GW0LrRg9GU0YLQtSIKKworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAorbXNnaWQgIndhcm5pbmc6IC1DIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKK21zZ3N0ciAi0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDQvNC+0LbQu9C40LLQviDQv9Cw0YDQsNC80LXRgtGAIC1DINC/0YDQsNGG0Y7RlCDQvdC1INGC0LDQuiwg0Y/QuiDQstC4INC+0YfRltC60YPRlNGC0LUiCisKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKK21zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgorbXNnc3RyICLQvdCw0YDQsNC30ZYg0YTRg9C90LrRhtGW0Y8g0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YDRj9C00LrRgyDQvdC1INCy0LjQutC+0L3Rg9GU0YLRjNGB0Y8iCisKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAorbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKK21zZ3N0ciAi0LzQvtC20LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC40YHRjyDQu9C40YjQtSDRg9GB0LXRgNC10LTQuNC90ZYg0YTRg9C90LrRhtGW0ZciCisKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgorbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKK21zZ3N0ciAiYC1mJyDQvdC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPINC00LvRjyDRgdGC0LLQvtGA0LXQvdC90Y8g0YTRg9C90LrRhtGW0LkiCisKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3OCBleGVjdXRlX2NtZC5jOjUxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgorbXNnc3RyICIlczog0L3QtdC30LzRltC90L3QsCDRhNGD0L3QutGG0ZbRjyIKKworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCittc2dzdHIgIiVzOiDQvdC10LzQvtC20LvQuNCy0L4g0LfQvdC40YnQuNGC0Lgg0LzQsNGB0LjQsiDRgtCw0LrQuNC8INGH0LjQvdC+0LwiCisKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKK21zZ3N0ciAiJXM6INC90LXQvNC+0LbQu9C40LLQviDQv9C10YDQtdGC0LLQvtGA0LjRgtC4INCw0YHQvtGG0ZbQsNGC0LjQstC90LjQuSDQvNCw0YHQuNCyINC90LAg0ZbQvdC00LXQutGB0L7QstCw0L3QuNC5IgorCisjOiBidWlsdGlucy9lbmFibGUuZGVmOjEzNyBidWlsdGlucy9lbmFibGUuZGVmOjE0NQorbXNnaWQgImR5bmFtaWMgbG9hZGluZyBub3QgYXZhaWxhYmxlIgorbXNnc3RyICLQtNC40L3QsNC80ZbRh9C90LUg0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPINC90LXQtNC+0YHRgtGD0L/QvdC1IgorCisjOiBidWlsdGlucy9lbmFibGUuZGVmOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzaGFyZWQgb2JqZWN0ICVzOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDRlNGC0YzRgdGPINCy0ZbQtNC60YDQuNGC0Lgg0LrQvtC70LXQutGC0LjQstC90LjQuSDQvtCx4oCZ0ZTQutGCICVzOiAlcyIKKworIzogYnVpbHRpbnMvZW5hYmxlLmRlZjozMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgJXMgaW4gc2hhcmVkIG9iamVjdCAlczogJXMiCittc2dzdHIgItC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQt9C90LDQudGC0LggJXMg0YMg0LrQvtC70LXQutGC0LjQstC90L7QvNGDINC+0LHigJnRlNC60YLRliAlczogJXMiCisKKyM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6NDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZHluYW1pY2FsbHkgbG9hZGVkIgorbXNnc3RyICIlczog0LfQsNCy0LDQvdGC0LDQttC10L3QuNC5INC90LUg0LTQuNC90LDQvNGW0YfQvdC+IgorCisjOiBidWlsdGlucy9lbmFibGUuZGVmOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZTogJXMiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LLQuNC70YPRh9C40YLQuDogJXMiCisKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiDRhtC1INC00LjRgNC10LrRgtC+0YDRltGPIgorCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgorbXNnc3RyICIlczog0L3QtSDRlCDQt9Cy0LjRh9Cw0LnQvdC40Lwg0YTQsNC50LvQvtC8IgorCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCittc2dzdHIgIiVzOiDRhNCw0LnQuyDQt9Cw0LLQtdC70LjQutC40LkiCisKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTgyIGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAwIGV4ZWN1dGVfY21kLmM6NTAzMgorIzogc2hlbGwuYzoxNDY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQstC40LrQvtC90LDRgtC4INCx0ZbQvdCw0YDQvdC40Lkg0YTQsNC50LsiCisKKyM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NCBidWlsdGlucy9leGVjLmRlZjoxNTYgYnVpbHRpbnMvZXhlYy5kZWY6MjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZTogJXMiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LLQuNC60L7QvdCw0YLQuDogJXMiCisKKyM6IGJ1aWx0aW5zL2V4aXQuZGVmOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ291dFxuIgorbXNnc3RyICLQstC40YXRltC0XG4iCisKKyM6IGJ1aWx0aW5zL2V4aXQuZGVmOjg4Cittc2dpZCAibm90IGxvZ2luIHNoZWxsOiB1c2UgYGV4aXQnIgorbXNnc3RyICLRhtC1INC90LUg0L7QsdC+0LvQvtC90LrQsCDRgdC10LDQvdGB0YM6INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQudGC0LUgYGV4aXQnIgorCisjOiBidWlsdGlucy9leGl0LmRlZjoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgYXJlIHN0b3BwZWQgam9icy5cbiIKK21zZ3N0ciAi0JfQsNC70LjRiNC40LvQuNGB0Y8g0L/RgNC40LfRg9C/0LjQvdC10L3RliDQt9Cw0LLQtNCw0L3QvdGPLlxuIgorCisjOiBidWlsdGlucy9leGl0LmRlZjoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgYXJlIHJ1bm5pbmcgam9icy5cbiIKK21zZ3N0ciAi0KTQvtC90L7QstGWINC30LDQstC00LDQvdC90Y8g0LLRgdC1INGJ0LUg0LLQuNC60L7QvdGD0Y7RgtGM0YHRjy5cbiIKKworIzogYnVpbHRpbnMvZmMuZGVmOjI2MgorbXNnaWQgIm5vIGNvbW1hbmQgZm91bmQiCittc2dzdHIgItC60L7QvNCw0L3QtNGDINC90LUg0LfQvdCw0LnQtNC10L3QviIKKworIzogYnVpbHRpbnMvZmMuZGVmOjMxMiBidWlsdGlucy9mYy5kZWY6MzU5Cittc2dpZCAiaGlzdG9yeSBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0Lgg0ZbRgdGC0L7RgNGW0ZciCisKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBvcGVuIHRlbXAgZmlsZTogJXMiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LLRltC00LrRgNC40YLQuCDRgtC40LzRh9Cw0YHQvtCy0LjQuSDRhNCw0LnQuzogJXMiCisKKyM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNDkgYnVpbHRpbnMvam9icy5kZWY6MjgyCittc2dpZCAiY3VycmVudCIKK21zZ3N0ciAi0L/QvtGC0L7Rh9C90LUiCisKKyM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiam9iICVkIHN0YXJ0ZWQgd2l0aG91dCBqb2IgY29udHJvbCIKK21zZ3N0ciAi0LfQsNCy0LTQsNC90L3RjyAlZCDQt9Cw0L/Rg9GJ0LXQvdC1INCx0LXQtyDQutC+0L3RgtGA0L7Qu9GOINC30LDQstC00LDQvdGMIgorCisjOiBidWlsdGlucy9nZXRvcHQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCittc2dzdHIgIiVzOiDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0L/QsNGA0LDQvNC10YLRgCDigJQgJWNcbiIKKworIzogYnVpbHRpbnMvZ2V0b3B0LmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJWNcbiIKK21zZ3N0ciAiJXM6INC/0LDRgNCw0LzQtdGC0YAg0L/QvtGC0YDQtdCx0YPRlCDQsNGA0LPRg9C80LXQvdGC0YMg4oCUICVjXG4iCisKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjkyCittc2dpZCAiaGFzaGluZyBkaXNhYmxlZCIKK21zZ3N0ciAi0LrQtdGI0YPQstCw0L3QvdGPINCy0LjQvNC60L3QtdC90LUiCisKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgorbXNnc3RyICIlczog0LIg0LrQtdGI0ZYg0L3RltGH0L7Qs9C+INC90LXQvNCw0ZRcbiIKKworIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImhpdHNcdGNvbW1hbmRcbiIKK21zZ3N0ciAi0LLQu9GD0YfQtdC90YxcdNC60L7QvNCw0L3QtNCwXG4iCisKKyM6IGJ1aWx0aW5zL2hlbHAuZGVmOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjb21tYW5kcyBtYXRjaGluZyBrZXl3b3JkIGAiCittc2dpZF9wbHVyYWwgIlNoZWxsIGNvbW1hbmRzIG1hdGNoaW5nIGtleXdvcmRzIGAiCittc2dzdHJbMF0gItCa0L7QvNCw0L3QtNC4INC+0LHQvtC70L7QvdC60LgsINGJ0L4g0LLRltC00L/QvtCy0ZbQtNCw0Y7RgtGMINGB0LvQvtCy0YMgYCIKK21zZ3N0clsxXSAi0JrQvtC80LDQvdC00Lgg0L7QsdC+0LvQvtC90LrQuCwg0YnQviDQstGW0LTQv9C+0LLRltC00LDRjtGC0Ywg0YHQu9C+0LLQsNC8IGAiCittc2dzdHJbMl0gItCa0L7QvNCw0L3QtNC4INC+0LHQvtC70L7QvdC60LgsINGJ0L4g0LLRltC00L/QvtCy0ZbQtNCw0Y7RgtGMINGB0LvQvtCy0LDQvCBgIgorCisjOiBidWlsdGlucy9oZWxwLmRlZjoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJubyBoZWxwIHRvcGljcyBtYXRjaCBgJXMnLiAgVHJ5IGBoZWxwIGhlbHAnIG9yIGBtYW4gLWsgJXMnIG9yIGBpbmZvICVzJy4iCittc2dzdHIgIiIKKyJgJXMnINC90LUg0LLRltC00L/QvtCy0ZbQtNCw0ZQg0LbQvtC00L3QvtCz0L4g0YDQvtC30LTRltC70YMg0LTQvtCy0ZbQtNC60LguINCh0L/RgNC+0LHRg9C50YLQtSBgaGVscCBoZWxwJyDRh9C4IGBtYW4gLWsgIgorIiVzJyDQsNCx0L4gYGluZm8gJXMnLiIKKworIzogYnVpbHRpbnMvaGVscC5kZWY6MTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbjogJXMiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LLRltC00LrRgNC40YLQuDogJXMiCisKKyM6IGJ1aWx0aW5zL2hlbHAuZGVmOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZXNlIHNoZWxsIGNvbW1hbmRzIGFyZSBkZWZpbmVkIGludGVybmFsbHkuICBUeXBlIGBoZWxwJyB0byBzZWUgdGhpcyBsaXN0LlxuIgorIlR5cGUgYGhlbHAgbmFtZScgdG8gZmluZCBvdXQgbW9yZSBhYm91dCB0aGUgZnVuY3Rpb24gYG5hbWUnLlxuIgorIlVzZSBgaW5mbyBiYXNoJyB0byBmaW5kIG91dCBtb3JlIGFib3V0IHRoZSBzaGVsbCBpbiBnZW5lcmFsLlxuIgorIlVzZSBgbWFuIC1rJyBvciBgaW5mbycgdG8gZmluZCBvdXQgbW9yZSBhYm91dCBjb21tYW5kcyBub3QgaW4gdGhpcyBsaXN0LlxuIgorIlxuIgorIkEgc3RhciAoKikgbmV4dCB0byBhIG5hbWUgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCBpcyBkaXNhYmxlZC5cbiIKKyJcbiIKK21zZ3N0ciAiIgorItCm0ZYg0LrQvtC80LDQvdC00Lgg0L7QsdC+0LvQvtC90LrQuCDQstC40LfQvdCw0YfQtdC90ZYg0LLQvdGD0YLRgNGW0YjQvdGM0L4uINCS0LLQtdC00ZbRgtGMIGBoZWxwJywg0YnQvtCxINC/0L7QsdCw0YfQuNGC0Lgg0ZfRhSAiCisi0YHQv9C40YHQvtC6LlxuIgorItCS0LLQtdC00ZbRgtGMIGBoZWxwIG5hbWUnLCDRidC+0LEg0LTRltC30L3QsNGC0LjRgdGPINCx0ZbQu9GM0YjQtSDQv9GA0L4g0YTRg9C90LrRhtGW0Y4gYG5hbWUnLlxuIgorItCS0LjQutC+0YDQuNGB0YLQvtCy0YPQudGC0LUgYGluZm8gYmFzaCcsINGJ0L7QsSDQvtGC0YDQuNC80LDRgtC4INCx0ZbQu9GM0YjQtSDRltC90YTQvtGA0LzQsNGG0ZbRlyDQv9GA0L4g0L7QsdC+0LvQvtC90LrRgyDQsiAiCisi0YbRltC70L7QvNGDLlxuIgorImBtYW4gLWsnINGH0LggYGluZm8nINC80L7QttGD0YLRjCDRgdGC0LDRgtC4INCyINC90LDQs9C+0LTRliDQtNC70Y8g0LTQvtCy0ZbQtNC60Lgg0YHRgtC+0YHQvtCy0L3QviDQutC+0LzQsNC90LQsINGJ0L4g0L3QtSAiCisi0ZQg0LIg0YbRjNC+0LzRgyDRgdC/0LjRgdC60YMuXG4iCisiXG4iCisi0JfRltGA0L7Rh9C60LAgKCopINC/0L7RgNGP0LQg0Lcg0L3QsNC30LLQvtGOINC60L7QvNCw0L3QtNC4INC+0LfQvdCw0YfQsNGULCDRidC+INC60L7QvNCw0L3QtNCwINC30LDQsdC+0YDQvtC90LXQvdCwLlxuIgorIlxuIgorCisjOiBidWlsdGlucy9oaXN0b3J5LmRlZjoxNTQKK21zZ2lkICJjYW5ub3QgdXNlIG1vcmUgdGhhbiBvbmUgb2YgLWFucnciCittc2dzdHIgIi1hbnJ3INC80L7QttGD0YLRjCDQt9GD0YHRgtGA0ZbRh9Cw0YLQuNGB0Y8g0LvQuNGI0LUg0L7QtNC40L0g0YDQsNC3IgorCisjOiBidWlsdGlucy9oaXN0b3J5LmRlZjoxODYKK21zZ2lkICJoaXN0b3J5IHBvc2l0aW9uIgorbXNnc3RyICLQv9C+0LfQuNGG0ZbRjyDRgyDRltGB0YLQvtGA0ZbRlyDQutC+0LzQsNC90LQiCisKKyM6IGJ1aWx0aW5zL2hpc3RvcnkuZGVmOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGlzdG9yeSBleHBhbnNpb24gZmFpbGVkIgorbXNnc3RyICIlczog0L3QtdCy0LTQsNC70LjQuSDQv9C+0YjRg9C6INC/0L4g0ZbRgdGC0L7RgNGW0Zcg0LrQvtC80LDQvdC0IgorCisjOiBidWlsdGlucy9pbmxpYi5kZWY6NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlubGliIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIGlubGliIgorCisjOiBidWlsdGlucy9qb2JzLmRlZjoxMDkKK21zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgorbXNnc3RyICLQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGW0L3RiNGWINC/0LDRgNCw0LzQtdGC0YDQuCDRgNCw0LfQvtC8INC3IGAteCciCisKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgorbXNnc3RyICIlczog0LDRgNCz0YPQvNC10L3RgtC4INC80LDRjtGC0Ywg0LHRg9GC0Lgg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQsNC80Lgg0LfQsNCy0LTQsNC90Ywg0YfQuCDQv9GA0L7RhtC10YHRltCyIgorCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjEKK21zZ2lkICJVbmtub3duIGVycm9yIgorbXNnc3RyICLQndC10LLRltC00L7QvNCwINC/0L7QvNC40LvQutCwIgorCisjOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1NTIgZXhwci5jOjU2NworbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCittc2dzdHIgItC+0YfRltC60YPQstCw0LLRgdGPINCy0LjRgNCw0LciCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorbXNnc3RyICIlczog0L3QtSDRlCDQvNCw0YHQuNCy0L7QvCIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU2IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6INC90LXQv9GA0LDQstC40LvRjNC90L4g0LLQutCw0LfQsNC90LjQuSDQtNC10YHQutGA0LjQv9GC0L7RgCDRhNCw0LnQu9GDIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjQgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCittc2dzdHIgIiVkOiDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0LTQtdGB0LrRgNC40L/RgtC+0YAg0YTQsNC50LvRgzogJXMiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3MyBidWlsdGlucy9tYXBmaWxlLmRlZjozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgbGluZSBjb3VudCIKK21zZ3N0ciAiJXM6INC90LXQv9GA0LDQstC40LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINGA0Y/QtNC60ZbQsiIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGFycmF5IG9yaWdpbiIKK21zZ3N0ciAiJXM6INC90LXQv9GA0LDQstC40LvRjNC90LjQuSDQv9C+0YfQsNGC0LrQvtCy0LjQuSDRltC90LTQtdC60YEiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgorbXNnc3RyICIlczog0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INC60YDQvtC6INCy0LjQutC70LjQutGDINGE0YPQvdC60YbRltGXIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzMKK21zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgorbXNnc3RyICLQv9C+0YDQvtC20L3RjyDQvdCw0LfQstCwINC30LzRltC90L3QvtGXLdC80LDRgdC40LLRgyIKKworIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzU0Cittc2dpZCAiYXJyYXkgdmFyaWFibGUgc3VwcG9ydCByZXF1aXJlZCIKK21zZ3N0ciAi0LfQvNGW0L3QvdGWLdC80LDRgdC40LLQuCDQvdC1INC/0ZbQtNGC0YDQuNC80YPRjtGC0YzRgdGPIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCittc2dzdHIgImAlcyc6INC/0YDQvtC/0YPRidC10L3QviDRgdC40LzQstC+0Lsg0YMg0YjQsNCx0LvQvtC90ZYiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiDQvdC10L/RgNCw0LLQuNC70YzQvdC+INCy0LrQsNC30LDQvdC40Lkg0YLQtdGA0LzRltC9INGH0LDRgdGDIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQorIywgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCittc2dzdHIgImAlYyc6INC90LXQstGW0YDQvdC40Lkg0YHQuNC80LLQvtC7INGDINGI0LDQsdC70L7QvdGWIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjY2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogJXMiCittc2dzdHIgItC/0L7Qv9C10YDQtdC00LbQtdC90L3RjzogJXM6ICVzIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjg0MAorbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCittc2dzdHIgItC/0YDQvtC/0YPRidC10L3QviDRiNGW0YHRgtC90LDQtNGG0Y/RgtC60L7QstGDINGG0LjRhNGA0YMg0YMgXFx4IgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjg1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyB1bmljb2RlIGRpZ2l0IGZvciBcXCVjIgorbXNnc3RyICLQv9GA0L7Qv9GD0YnQtdC90L4g0YjRltGB0YLQvdCw0LTRhtGP0YLQutC+0LLRgyDRhtC40YTRgNGDINGDIFxceCIKKworIzogYnVpbHRpbnMvcHVzaGQuZGVmOjE5NQorbXNnaWQgIm5vIG90aGVyIGRpcmVjdG9yeSIKK21zZ3N0ciAi0L3QtdC80LDRlCDRltC90YjQvtGXINC00LjRgNC10LrRgtC+0YDRltGXIgorCisjOiBidWlsdGlucy9wdXNoZC5kZWY6NDYyCittc2dpZCAiPG5vIGN1cnJlbnQgZGlyZWN0b3J5PiIKK21zZ3N0ciAiPNC90LXQvNCw0ZQg0L/QvtGC0L7Rh9C90L7RlyDQtNC40YDQtdC60YLQvtGA0ZbRlz4iCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo1MDYKK21zZ2lkICJkaXJlY3Rvcnkgc3RhY2sgZW1wdHkiCittc2dzdHIgItGB0YLQtdC6INC00LjRgNC10LrRgtC+0YDRltC5INC/0L7RgNC+0LbQvdGW0LkiCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo1MDgKK21zZ2lkICJkaXJlY3Rvcnkgc3RhY2sgaW5kZXgiCittc2dzdHIgItGA0ZbQstC10L3RjCDRgdGC0LXQutGDINC00LjRgNC10LrRgtC+0YDRltC5IgorCisjOiBidWlsdGlucy9wdXNoZC5kZWY6NjgzCisjLCBmdXp6eQorbXNnaWQgIiIKKyJEaXNwbGF5IHRoZSBsaXN0IG9mIGN1cnJlbnRseSByZW1lbWJlcmVkIGRpcmVjdG9yaWVzLiAgRGlyZWN0b3JpZXNcbiIKKyIgICAgZmluZCB0aGVpciB3YXkgb250byB0aGUgbGlzdCB3aXRoIHRoZSBgcHVzaGQnIGNvbW1hbmQ7IHlvdSBjYW4gZ2V0XG4iCisiICAgIGJhY2sgdXAgdGhyb3VnaCB0aGUgbGlzdCB3aXRoIHRoZSBgcG9wZCcgY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWNcdGNsZWFyIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbGVtZW50c1xuIgorIiAgICAgIC1sXHRkbyBub3QgcHJpbnQgdGlsZGUtcHJlZml4ZWQgdmVyc2lvbnMgb2YgZGlyZWN0b3JpZXMgcmVsYXRpdmVcbiIKKyIgICAgXHR0byB5b3VyIGhvbWUgZGlyZWN0b3J5XG4iCisiICAgICAgLXBcdHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmVcbiIKKyIgICAgICAtdlx0cHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZSBwcmVmaXhlZFxuIgorIiAgICBcdHdpdGggaXRzIHBvc2l0aW9uIGluIHRoZSBzdGFja1xuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgICtOXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvd24gIgorImJ5XG4iCisiICAgIFx0ZGlycyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duICIKKyJieVxuIgorIlx0ZGlycyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uIgorbXNnc3RyICIiCisi0J/QvtC60LDQt9GD0ZQg0YHQv9C40YHQvtC6INC30LHQtdGA0LXQttC10L3QuNGFINC00LjRgNC10LrRgtC+0YDRltC5LiDQlNC40YDQtdC60YLQvtGA0ZbRl1xuIgorIiAgICDQtNC+0LTQsNGO0YLRjNGB0Y8g0LTQviDRhtGM0L7Qs9C+INGB0L/QuNGB0LrRgyDQutC+0LzQsNC90LTQvtGOIGBwdXNoZCc7INCy0Lgg0LzQvtC20LXRgtC1INC/0L7QstC10YDQvdGD0YLQuNGB0Y9cbiIKKyIgICAg0L3QsNC30LDQtCDQv9C+INGB0L/QuNGB0LrRgyDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiDQutC+0LzQsNC90LTQuCBgcG9wZCcuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLWNcdNC+0YfQuNGB0YLQuNGC0Lgg0YHQv9C40YHQvtC6INC00LjRgNC10LrRgtC+0YDRltC5LCDQstC40LvRg9GH0LjQstGI0Lgg0YPRgdGWINC50L7Qs9C+INC10LvQtdC80LXQvdGC0LhcbiIKKyIgICAgICAtbFx00L3QtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0LggfiDQtNC70Y8g0LTQuNGA0LXQutGC0L7RgNGW0LksINGJ0L4g0LfQvdCw0YXQvtC00Y/RgtGM0YHRjyDRg9GB0LXRgNC10LTQuNC90ZZcbiIKKyIgICAgXHTQstCw0YjQvtGXINC00L7QvNGW0LLQutC4XG4iCisiICAgICAgLXBcdNCy0LjQstC+0LTQuNGC0Lgg0LTQuNGA0LXQutGC0L7RgNGW0Zcg0L/QviDQvtC00L3RltC5INC90LAg0YDRj9C00L7QulxuIgorIiAgICAgIC12XHTQstC40LLQvtC00LjRgtC4INC00LjRgNC10LrRgtC+0YDRltGXINC/0L4g0L7QtNC90ZbQuSDQvdCwINGA0Y/QtNC+0Log0ZbQtyDQstC60LDQt9Cw0L3QvdGP0Lwg0L/QvtC30LjRhtGW0Zcg0YNcbiIKKyIgICAgXHTRgdC/0LjRgdC60YNcbiIKKyIgICAgXG4iCisiICAgINCQ0YDQs9GD0LzQtdC90YLQuDpcbiIKKyIgICAgICArTlx00J/QvtC60LDQt9GD0ZQgTi3QvdGDINC30LvRltCy0LAg0LTQuNGA0LXQutGC0L7RgNGW0Y4g0YMg0YHQv9C40YHQutGDLCDRidC+INCy0LjQstC+0LTQuNGC0YzRgdGPINC60L7QvNCw0L3QtNC+0Y5cbiIKKyIgICAgXHRkaXJzINCx0LXQtyDQsNGA0LPRg9C80LXQvdGC0ZbQsiwg0YDQsNGF0YPQvdC+0Log0L/QvtGH0LjQvdCw0ZTRgtGM0YHRjyDQtyDQvdGD0LvRjy5cbiIKKyIgICAgXG4iCisiICAgICAgLU5cdNCf0L7QutCw0LfRg9GUIE4t0L3RgyDQtyDQutGW0L3RhtGPINC00LjRgNC10LrRgtC+0YDRltGOINGDINGB0L/QuNGB0LrRgywg0YnQviDQstC40LLQvtC00LjRgtGM0YHRjyDQutC+0LzQsNC90LTQvtGOXG4iCisiXHRkaXJzINCx0LXQtyDQsNGA0LPRg9C80LXQvdGC0ZbQsiwg0YDQsNGF0YPQvdC+0Log0L/QvtGH0LjQvdCw0ZTRgtGM0YHRjyDQtyDQvdGD0LvRjy4iCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo3MDUKKyMsIGZ1enp5Cittc2dpZCAiIgorIkFkZHMgYSBkaXJlY3RvcnkgdG8gdGhlIHRvcCBvZiB0aGUgZGlyZWN0b3J5IHN0YWNrLCBvciByb3RhdGVzXG4iCisiICAgIHRoZSBzdGFjaywgbWFraW5nIHRoZSBuZXcgdG9wIG9mIHRoZSBzdGFjayB0aGUgY3VycmVudCB3b3JraW5nXG4iCisiICAgIGRpcmVjdG9yeS4gIFdpdGggbm8gYXJndW1lbnRzLCBleGNoYW5nZXMgdGhlIHRvcCB0d28gZGlyZWN0b3JpZXMuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1uXHRTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3aGVuIGFkZGluZ1xuIgorIiAgICBcdGRpcmVjdG9yaWVzIHRvIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgK05cdFJvdGF0ZXMgdGhlIHN0YWNrIHNvIHRoYXQgdGhlIE50aCBkaXJlY3RvcnkgKGNvdW50aW5nXG4iCisiICAgIFx0ZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGhcbiIKKyIgICAgXHR6ZXJvKSBpcyBhdCB0aGUgdG9wLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0Um90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmdcbiIKKyIgICAgXHRmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGhcbiIKKyIgICAgXHR6ZXJvKSBpcyBhdCB0aGUgdG9wLlxuIgorIiAgICBcbiIKKyIgICAgICBkaXJcdEFkZHMgRElSIHRvIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYXQgdGhlIHRvcCwgbWFraW5nIGl0IHRoZVxuIgorIiAgICBcdG5ldyBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suIgorbXNnc3RyICIiCisi0JTQvtC00LDRlCDQtNC40YDQtdC60YLQvtGA0ZbRjiDQvdCwINCy0LXRgNGI0LjQvdGDINGB0YLQtdC60YMg0LTQuNGA0LXQutGC0L7RgNGW0LksINGH0Lgg0YbQuNC60LvRltGH0L3QviDQvtCx0LXRgNGC0LDRlFxuIgorIiAgICDRgdGC0LXQuiwg0LLRgdGC0LDQvdC+0LLQu9GO0Y7Rh9C4INC/0L7RgtC+0YfQvdGDINGA0L7QsdC+0YfRgyDQtNC40YDQtdC60YLQvtGA0ZbRjiDQstGW0LTQv9C+0LLRltC00L3QviDQtNC+INC50L7Qs9C+INC90L7QstC+0ZdcbiIKKyIgICAg0LLQtdGA0YjQuNC90LguINCR0LXQtyDQsNGA0LPRg9C80LXQvdGC0ZbQsiDQvNGW0L3Rj9GUINC80ZbRgdGG0Y/QvNC4INC00LLRliDQvdCw0LnQstC40YnQuNGFINC00LjRgNC10LrRgtC+0YDRltGXLlxuIgorIiAgICBcbiIKKyIgICAg0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAgICAgIC1uXHTQndC1INGA0L7QsdC40YLQuCDQt9Cy0LjRh9Cw0LnQvdC+0LPQviDQv9C10YDQtdGF0L7QtNGDINGDINC90L7QstGDINC00LjRgNC10LrRgtC+0YDRltGOINC/0YDQuCDQtNC+0LTQsNCy0LDQvdC90ZZcbiIKKyIgICAgXHTQtNC40YDQtdC60YLQvtGA0ZbQuSDQtNC+INGB0YLQtdC60YMsINC/0YDQvtCy0L7QtNC40YLQuCDQvtC/0LXRgNCw0YbRltGXINC70LjRiNC1INC90LDQtCDRgdGC0LXQutC+0LwuXG4iCisiICAgIFxuIgorIiAgICDQkNGA0LPRg9C80LXQvdGC0Lg6XG4iCisiICAgICAgK05cdNCm0LjQutC70ZbRh9C90L4g0L7QsdC10YDRgtCw0ZQg0YHRgtC10Log0YLQsNC6LCDRidC+0LEgTi3QvdCwINC00LjRgNC10LrRgtC+0YDRltGPLCDRgNCw0YXRg9GO0YfQuFxuIgorIiAgICBcdNC30LvRltCy0LAgKNC/0L7Rh9C40L3QsNGO0YfQuCDQtyDQvdGD0LvRjykg0YMg0YHQv9C40YHQutGDLCDRidC+INCy0LjQstC+0LTQuNGC0YzRgdGPINC60L7QvNCw0L3QtNC+0Y4gYGRpcnMnXG4iCisiICAgIFx00L7Qv9C40L3QuNGC0YzRgdGPINC90LAg0LLQtdGA0YjQuNC90ZYg0YHRgtC10LrRgy5cbiIKKyIgICAgXG4iCisiICAgICAgLU5cdNCm0LjQutC70ZbRh9C90L4g0L7QsdC10YDRgtCw0ZQg0YHRgtC10Log0YLQsNC6LCDRidC+0LEgTi3QvdCwINC00LjRgNC10LrRgtC+0YDRltGPLCDRgNCw0YXRg9GO0YfQuFxuIgorIiAgICBcdNC3INC60ZbQvdGG0Y8gKNC/0L7Rh9C40L3QsNGO0YfQuCDQtyDQvdGD0LvRjykg0YMg0YHQv9C40YHQutGDLCDRidC+INCy0LjQstC+0LTQuNGC0YzRgdGPINC60L7QvNCw0L3QtNC+0Y4gYGRpcnMnXG4iCisiICAgIFx00L7Qv9C40L3QuNGC0YzRgdGPINC90LAg0LLQtdGA0YjQuNC90ZYg0YHRgtC10LrRgy5cbiIKKyIgICAgXG4iCisiICAgICAgZGlyXHTQlNC+0LTQsNGUIERJUiDQvdCwINCy0LXRgNGI0LjQvdGDINGB0YLQtdC60YMsINC5INGA0L7QsdC40YLRjCDRl9GXINC/0L7RgtC+0YfQvdC+0Y4g0YDQvtCx0L7Rh9C+0Y5cbiIKKyIgICAgXHTQtNC40YDQtdC60YLQvtGA0ZbRlNGOLlxuIgorIiAgICBcbiIKKyIgICAg0JLQsdGD0LTQvtCy0LDQvdCwINC60L7QvNCw0L3QtNCwIGBkaXJzJyDQv9C+0LrQsNC30YPRlCDRgdGC0LXQuiDQtNC40YDQtdC60YLQvtGA0ZbQuS4iCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo3MzAKKyMsIGZ1enp5Cittc2dpZCAiIgorIlJlbW92ZXMgZW50cmllcyBmcm9tIHRoZSBkaXJlY3Rvcnkgc3RhY2suICBXaXRoIG5vIGFyZ3VtZW50cywgcmVtb3Zlc1xuIgorIiAgICB0aGUgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSBzdGFjaywgYW5kIGNoYW5nZXMgdG8gdGhlIG5ldyB0b3AgZGlyZWN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtblx0U3VwcHJlc3NlcyB0aGUgbm9ybWFsIGNoYW5nZSBvZiBkaXJlY3Rvcnkgd2hlbiByZW1vdmluZ1xuIgorIiAgICBcdGRpcmVjdG9yaWVzIGZyb20gdGhlIHN0YWNrLCBzbyBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICArTlx0UmVtb3ZlcyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3RcbiIKKyIgICAgXHRzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGggemVyby4gIEZvciBleGFtcGxlOiBgcG9wZCArMCdcbiIKKyIgICAgXHRyZW1vdmVzIHRoZSBmaXJzdCBkaXJlY3RvcnksIGBwb3BkICsxJyB0aGUgc2Vjb25kLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0UmVtb3ZlcyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0XG4iCisiICAgIFx0c2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgLTAnXG4iCisiICAgIFx0cmVtb3ZlcyB0aGUgbGFzdCBkaXJlY3RvcnksIGBwb3BkIC0xJyB0aGUgbmV4dCB0byBsYXN0LlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suIgorbXNnc3RyICIiCisi0JLQuNC70YPRh9Cw0ZQg0LTQuNGA0LXQutGC0L7RgNGW0Zcg0LfRliDRgdGC0LXQutGDINC30LHQtdGA0LXQttC10L3QuNGFINC00LjRgNC10LrRgtC+0YDRltC5LiDQkdC10Lcg0LDRgNCz0YPQvNC10L3RgtGW0LIsINCy0LjQu9GD0YfQsNGUXG4iCisiICAgINCy0LXRgNGF0L3RjiDQtNC40YDQtdC60YLQvtGA0ZbRjiDRgyDRgdGC0LXQutGDINC5INC30LzRltC90Y7RlCDQv9C+0YLQvtGH0L3RgyDQtNC40YDQtdC60YLQvtGA0ZbRjiDQstGW0LTQv9C+0LLRltC00L3QviDQtNC+ICIKKyLQvdC+0LLQvtGXXG4iCisiICAgINCy0LXRgNGI0LjQvdC4INGB0YLQtdC60YMuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLW5cdNCd0LUg0YDQvtCx0LjRgtC4INC30LLQuNGH0LDQudC90L7Qs9C+INC/0LXRgNC10YXQvtC00YMg0LTQviDQvdC+0LLQvtGXINC00LjRgNC10LrRgtC+0YDRltGXINC/0YDQuCDQstC40LvRg9GH0LXQvdC90ZZcbiIKKyIgICAgXHTQtNC40YDQtdC60YLQvtGA0ZbQuSDQt9GWINGB0YLQtdC60YMsINC/0YDQvtCy0L7QtNC40YLQuCDQvtC/0LXRgNCw0YbRltGXINC70LjRiNC1INC90LDQtCDRgdGC0LXQutC+0LwuXG4iCisiICAgIFxuIgorIiAgICDQkNGA0LPRg9C80LXQvdGC0Lg6XG4iCisiICAgICAgK05cdNCS0LjQu9GD0YfQsNGUIE4t0L3RgyDQt9C70ZbQstCwINC00LjRgNC10LrRgtC+0YDRltGOINGDINGB0L/QuNGB0LrRgywg0YnQviDQv9C+0LrQsNC30YPRlNGC0YzRgdGPINC60L7QvNCw0L3QtNC+0Y4gIgorImBkaXJzJ1xuIgorIiAgICBcdCjRgNCw0YXRg9C90L7QuiDQv9C+0YfQuNC90LDRlNGC0YzRgdGPINC3INC90YPQu9GPKS4g0J3QsNC/0YDQuNC60LvQsNC0OiBgcG9wZCArMCcg0LLQuNC70YPRh9Cw0ZQg0L/QtdGA0YjRgyAiCisi0LTQuNGA0LXQutGC0L7RgNGW0Y4sXG4iCisiICAgIFx0YHBvcGQgKzEnINC00YDRg9Cz0YMuXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHTQktC40LvRg9GH0LDRlCBOLdC90YMg0Lcg0LrRltC90YbRjyDQtNC40YDQtdC60YLQvtGA0ZbRjiDRgyDRgdC/0LjRgdC60YMsINGJ0L4g0L/QvtC60LDQt9GD0ZTRgtGM0YHRjyDQutC+0LzQsNC90LTQvtGOXG4iCisiICAgIFx0YGRpcnMnICjRgNCw0YXRg9C90L7QuiDQv9C+0YfQuNC90LDRlNGC0YzRgdGPINC3INC90YPQu9GPKS4g0J3QsNC/0YDQuNC60LvQsNC0OiBgcG9wZCAtMCcg0LLQuNC70YPRh9Cw0ZRcbiIKKyIgICAgXHTQvtGB0YLQsNC90L3RjiDQtNC40YDQtdC60YLQvtGA0ZbRjiwgYHBvcGQgLTEnINC/0LXRgNC10LTQvtGB0YLQsNC90L3Rji5cbiIKKyIgICAgXG4iCisiICAgINCS0LHRg9C00L7QstCw0L3QsCDQutC+0LzQsNC90LTQsCBgZGlycycg0L/QvtC60LDQt9GD0ZQg0YHRgtC10Log0LTQuNGA0LXQutGC0L7RgNGW0LkuIgorCisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHRpbWVvdXQgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6INC90LXQv9GA0LDQstC40LvRjNC90L4g0LLQutCw0LfQsNC90LjQuSDRgtC10YDQvNGW0L0g0YfQsNGB0YMiCisKKyM6IGJ1aWx0aW5zL3JlYWQuZGVmOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yOiAlZDogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGH0LjRgtCw0L3QvdGPOiAlZDogJXMiCisKKyM6IGJ1aWx0aW5zL3JldHVybi5kZWY6NzMKK21zZ2lkICJjYW4gb25seSBgcmV0dXJuJyBmcm9tIGEgZnVuY3Rpb24gb3Igc291cmNlZCBzY3JpcHQiCittc2dzdHIgIiIKKyJgcmV0dXJuJyDQv9GA0LDRhtGO0ZQg0LvQuNGI0LUg0YMg0YTRg9C90LrRhtGW0Zcg0YfQuCDRgdC60YDQuNC/0YLRliwg0LfQsNC/0YPRidC10L3QvtC80YMg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gYHNvdXJjZSciCisKKyM6IGJ1aWx0aW5zL3NldC5kZWY6NzcxCittc2dpZCAiY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUiCittc2dzdHIgItC90LUg0LzQvtC20L3QsCDQvtC00L3QvtGH0LDRgdC90L4g0LfQvdC40YnQuNGC0Lgg0ZYg0YTRg9C90LrRhtGW0Y4g0ZYg0LfQvNGW0L3QvdGDIgorCisjOiBidWlsdGlucy9zZXQuZGVmOjgwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHVuc2V0IgorbXNnc3RyICIlczog0L3QtSDQstC00LDRlNGC0YzRgdGPINC30L3QuNGJ0LjRgtC4IgorCisjOiBidWlsdGlucy9zZXQuZGVmOjgxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHVuc2V0OiByZWFkb25seSAlcyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQt9C90LjRidC40YLQuDogJXMg0LvQuNGI0LUg0LTQu9GPINGH0LjRgtCw0L3QvdGPIgorCisjOiBidWlsdGlucy9zZXQuZGVmOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGFuIGFycmF5IHZhcmlhYmxlIgorbXNnc3RyICIlczog0L3QtSDRlCDQvNCw0YHQuNCy0L7QvCIKKworIzogYnVpbHRpbnMvc2V0YXR0ci5kZWY6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBmdW5jdGlvbiIKK21zZ3N0ciAiJXM6INC90LUg0ZQg0YTRg9C90LrRhtGW0ZTRjiIKKworIzogYnVpbHRpbnMvc2hpZnQuZGVmOjcxIGJ1aWx0aW5zL3NoaWZ0LmRlZjo3NworbXNnaWQgInNoaWZ0IGNvdW50IgorbXNnc3RyICLQutGW0LvRjNC60ZbRgdGC0Ywg0LfRgdGD0LLRltCyIgorCisjOiBidWlsdGlucy9zaG9wdC5kZWY6MjY0Cittc2dpZCAiY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseSIKK21zZ3N0ciAi0L3QtSDQvNC+0LbQvdCwINC+0LTQvdC+0YfQsNGB0L3QviDQstGB0YLQsNC90L7QstC70Y7QstCw0YLQuCDQuSDRgdC60LDRgdC+0LLRg9Cy0LDRgtC4INC/0LDRgNCw0LzQtdGC0YDQuCDQvtCx0L7Qu9C+0L3QutC4IgorCisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgorbXNnc3RyICIlczog0L3QtdC/0YDQsNCy0LjQu9GM0L3QtSDRltC84oCZ0Y8g0L/QsNGA0LDQvNC10YLRgNGDINC+0LHQvtC70L7QvdC60LgiCisKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTMwCittc2dpZCAiZmlsZW5hbWUgYXJndW1lbnQgcmVxdWlyZWQiCittc2dzdHIgItC/0L7RgtGA0ZbQsdC90LAg0L3QsNC30LLQsCDRhNCw0LnQu9GDIgorCisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCittc2dzdHIgIiVzOiDRhNCw0LnQuyDQvdC1INC30L3QsNC50LTQtdC90L4iCisKKyM6IGJ1aWx0aW5zL3N1c3BlbmQuZGVmOjEwMQorbXNnaWQgImNhbm5vdCBzdXNwZW5kIgorbXNnc3RyICLQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0L/RgNC40LfRg9C/0LjQvdC40YLQuCIKKworIzogYnVpbHRpbnMvc3VzcGVuZC5kZWY6MTExCittc2dpZCAiY2Fubm90IHN1c3BlbmQgYSBsb2dpbiBzaGVsbCIKK21zZ3N0ciAi0L3QtSDQvNC+0LbQvdCwINC/0YDQuNC30YPQv9C40L3QuNGC0Lgg0L7QsdC+0LvQvtC90LrRgyDRgdC10LDQvdGB0YMiCisKKyM6IGJ1aWx0aW5zL3R5cGUuZGVmOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbGlhc2VkIHRvIGAlcydcbiIKK21zZ3N0ciAiJXMg0ZQg0L/RgdC10LLQtNC+0L3RltC80L7QvCDQtNC+IGAlcydcbiIKKworIzogYnVpbHRpbnMvdHlwZS5kZWY6MjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgc2hlbGwga2V5d29yZFxuIgorbXNnc3RyICIlcyDigJQg0YbQtSDQutC70Y7Rh9C+0LLQtSDRgdC70L7QstC+INC+0LHQvtC70L7QvdC60LhcbiIKKworIzogYnVpbHRpbnMvdHlwZS5kZWY6Mjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgZnVuY3Rpb25cbiIKK21zZ3N0ciAiJXMg0ZQg0YTRg9C90LrRhtGW0ZTRjlxuIgorCisjOiBidWlsdGlucy90eXBlLmRlZjoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBzaGVsbCBidWlsdGluXG4iCittc2dzdHIgIiVzINGUINCy0LHRg9C00L7QstCw0L3QvtGOINC60L7QvNCw0L3QtNC+0Y4g0L7QsdC+0LvQvtC90LrQuFxuIgorCisjOiBidWlsdGlucy90eXBlLmRlZjozMTcgYnVpbHRpbnMvdHlwZS5kZWY6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzICVzXG4iCittc2dzdHIgIiVzIOKAlCDRhtC1ICVzXG4iCisKKyMgSSBrbm93IHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gaGFzaCBhbmQgY2FjaGUsIGJ1dCBoZXJlLAorIyBJIHRoaW5rLCB0aGlzIGlzIG1vcmUgc3VpdGFibGUuLi4KKyM6IGJ1aWx0aW5zL3R5cGUuZGVmOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBoYXNoZWQgKCVzKVxuIgorbXNnc3RyICIlcyDQt9C90LDRhdC+0LTQuNGC0YzRgdGPINCyINC60LXRiNGWICglcylcbiIKKworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCittc2dzdHIgIiVzOiDQvdC10LLRltGA0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L7QsdC80LXQttC10L3QvdGPIgorCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKK21zZ3N0ciAiYCVjJzog0L3QtdC/0YDQsNCy0LjQu9GM0L3QsCDQutC+0LzQsNC90LTQsCIKKworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBnZXQgbGltaXQ6ICVzIgorbXNnc3RyICIlczog0L3QtSDQstC00LDRlNGC0YzRgdGPINC+0YLRgNC40LzQsNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQvtCx0LzQtdC20LXQvdC90Y86ICVzIgorCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ1NworbXNnaWQgImxpbWl0IgorbXNnc3RyICLQt9C90LDRh9C10L3QvdGPINC+0LHQvNC10LbQtdC90L3RjyIKKworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjkgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgbGltaXQ6ICVzIgorbXNnc3RyICIlczog0L3QtSDQstC00LDRlNGC0YzRgdGPINC30LzRltC90LjRgtC4INC+0LHQvNC10LbQtdC90L3RjzogJXMiCisKKyM6IGJ1aWx0aW5zL3VtYXNrLmRlZjoxMTgKK21zZ2lkICJvY3RhbCBudW1iZXIiCittc2dzdHIgItCy0ZbRgdGW0LzQutC+0LLQtSDRh9C40YHQu9C+IgorCisjOiBidWlsdGlucy91bWFzay5kZWY6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBvcGVyYXRvciIKK21zZ3N0ciAiYCVjJzog0L3QtdCy0ZbRgNC90LjQuSDQvtC/0LXRgNCw0YLQvtGAINGDINGB0LjQvNCy0L7Qu9GM0L3QvtC80YMg0YDQtdC20LjQvNGWIgorCisjOiBidWlsdGlucy91bWFzay5kZWY6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgc3ltYm9saWMgbW9kZSBjaGFyYWN0ZXIiCittc2dzdHIgImAlYyc6INC90LXQstGW0YDQvdC40Lkg0YHQuNC80LLQvtC7INGDINGB0LjQvNCy0L7Qu9GM0L3QvtC80YMg0YDQtdC20LjQvNGWIgorCisjOiBlcnJvci5jOjkwIGVycm9yLmM6MzIxIGVycm9yLmM6MzIzIGVycm9yLmM6MzI1Cittc2dpZCAiIGxpbmUgIgorbXNnc3RyICIg0YDRj9C00L7QuiAiCisKKyM6IGVycm9yLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAi0L7RgdGC0LDQvdC90Y8g0LrQvtC80LDQvdC00LA6ICVzXG4iCisKKyM6IGVycm9yLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIkFib3J0aW5nLi4uIgorbXNnc3RyICLQn9GA0LjQv9C40L3QtdC90L3Rjy4uLiIKKworIzogZXJyb3IuYzo0MDYKK21zZ2lkICJ1bmtub3duIGNvbW1hbmQgZXJyb3IiCittc2dzdHIgItC90LXQstGW0LTQvtC80LAg0L/QvtC80LjQu9C60LAg0LrQvtC80LDQvdC00LgiCisKKyM6IGVycm9yLmM6NDA3Cittc2dpZCAiYmFkIGNvbW1hbmQgdHlwZSIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INGC0LjQvyDQutC+0LzQsNC90LTQuCIKKworIzogZXJyb3IuYzo0MDgKK21zZ2lkICJiYWQgY29ubmVjdG9yIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0LfigJnRlNC00L3Rg9Cy0LDQu9GM0L3QuNC5INC+0L/QtdGA0LDRgtC+0YAiCisKKyM6IGVycm9yLmM6NDA5Cittc2dpZCAiYmFkIGp1bXAiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LjQuSDQv9C10YDQtdGF0ZbQtCIKKworIzogZXJyb3IuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYm91bmQgdmFyaWFibGUiCittc2dzdHIgIiVzOiDQvdC10L7Qt9C90LDRh9C10L3QsCDQt9C80ZbQvdC90LAiCisKKyM6IGV2YWwuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dzdHIgIlxh0YfQsNGBINC+0YfRltC60YPQstCw0L3QvdGPINCy0LLQvtC00YMg0LLQuNGH0LXRgNC/0LDQvdC+OiDQsNCy0YLQvtC80LDRgtC40YfQvdC40Lkg0LLQuNGF0ZbQtFxuIgorCisjOiBleGVjdXRlX2NtZC5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0L/QtdGA0LXRgdC/0YDRj9C80YPQstCw0YLQuCAvZGV2L251bGwg0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3QuNC5INCy0LLRltC0OiAlcyIKKworIzogZXhlY3V0ZV9jbWQuYzoxMTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJTUVGT1JNQVQ6IGAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKK21zZ3N0ciAiVElNRUZPUk1BVDogYCVjJzog0L3QtdCy0ZbRgNC90LjQuSDRgdC40LzQstC+0Lsg0YjQsNCx0LvQvtC90YMiCisKKyM6IGV4ZWN1dGVfY21kLmM6MjEyMQorbXNnaWQgInBpcGUgZXJyb3IiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC60LDQvdCw0LvRgyIKKworIzogZXhlY3V0ZV9jbWQuYzo0NjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKK21zZ3N0ciAiJXM6INC+0LHQvNC10LbQtdC90L3Rjzog0L3QtSDQvNC+0LbQvdCwINCy0LrQsNC30YPQstCw0YLQuCBgLycg0YMg0ZbQvNC10L3RliDQutC+0LzQsNC90LTQuCIKKworIzogZXhlY3V0ZV9jbWQuYzo0NzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6INC60L7QvNCw0L3QtNGDINC90LUg0LfQvdCw0LnQtNC10L3QviIKKworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMiCittc2dzdHIgIiVzIOKAlCDRhtC1ICVzXG4iCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGJhZCBpbnRlcnByZXRlciIKK21zZ3N0ciAiJXM6ICVzOiDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0ZbQvdGC0LXRgNC/0YDQtdGC0LDRgtC+0YAiCisKKyM6IGV4ZWN1dGVfY21kLmM6NTE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZHVwbGljYXRlIGZkICVkIHRvIGZkICVkIgorbXNnc3RyICLQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0YHRgtCy0L7RgNC40YLQuCDQutC+0L/RltGOINGE0LDQudC70L7QstC+0LPQviDQtNC10YHQutGA0LjQv9GC0L7RgNGDICVkINGDICVkIgorCisjOiBleHByLmM6MjU2Cittc2dpZCAiZXhwcmVzc2lvbiByZWN1cnNpb24gbGV2ZWwgZXhjZWVkZWQiCittc2dzdHIgItGA0ZbQstC10L3RjCDQstC60LvQsNC00LXQvdC90Y8g0LLQuNGA0LDQt9GW0LIg0L/QtdGA0LXQstC40YnQtdC90L4iCisKKyM6IGV4cHIuYzoyODAKK21zZ2lkICJyZWN1cnNpb24gc3RhY2sgdW5kZXJmbG93IgorbXNnc3RyICLQvdC10YHRgtCw0YfQsCDRgdGC0LXQutGDINGA0LXQutGD0YDRgdGW0ZciCisKKyM6IGV4cHIuYzo0MjIKK21zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKK21zZ3N0ciAi0YHQuNC90YLQsNC60YHQuNGH0L3QsCDQv9C+0LzQuNC70LrQsCDRgyDQstC40YDQsNC30ZYiCisKKyM6IGV4cHIuYzo0NjMKK21zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQv9GA0LjQt9C90LDRh9C10L3QvdGPINC90LUt0LfQvNGW0L3QvdC+0ZciCisKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3Cittc2dpZCAiZGl2aXNpb24gYnkgMCIKK21zZ3N0ciAi0LTRltC70LXQvdC90Y8g0L3QsCAwIgorCisjOiBleHByLmM6NTE3Cittc2dpZCAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuIgorbXNnc3RyICLQstCw0LTQsDog0L3QtdC/0YDQsNCy0LjQu9GM0L3QsCDQu9C10LrRgdC10LzQsCDRgyDQstC40YDQsNC30ZYiCisKKyM6IGV4cHIuYzo1NjQKK21zZ2lkICJgOicgZXhwZWN0ZWQgZm9yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCittc2dzdHIgItC+0YfRltC60YPQstCw0LvQsNGB0Y8gYDonINGD0LzQvtCy0L3QvtCz0L4g0LLQuNGA0LDQt9GDIgorCisjOiBleHByLmM6ODMyCittc2dpZCAiZXhwb25lbnQgbGVzcyB0aGFuIDAiCittc2dzdHIgItC10LrRgdC/0L7QvdC10L3RgtCwINC80LXQvdGI0LAg0LfQsCAwIgorCisjOiBleHByLmM6ODg3Cittc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCittc2dzdHIgItC/0YDQtS3RltC90LrRgNC10LzQtdC90YIg0YfQuCDQv9GA0LUt0LTQtdC60YDQtdC80LXQvdGCINC/0L7RgtGA0LXQsdGD0Y7RgtGMINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAIgorCisjOiBleHByLmM6OTEwCittc2dpZCAibWlzc2luZyBgKSciCittc2dzdHIgItCy0ZbQtNGB0YPRgtC90Y8gYCknIgorCisjOiBleHByLmM6OTU5IGV4cHIuYzoxMjgyCittc2dpZCAic3ludGF4IGVycm9yOiBvcGVyYW5kIGV4cGVjdGVkIgorbXNnc3RyICLRgdC40L3RgtCw0LrRgdC40YfQvdCwINC/0L7QvNC40LvQutCwOiDQvtGH0ZbQutGD0LLQsNCy0YHRjyDQvtC/0LXRgNCw0L3QtCIKKworIzogZXhwci5jOjEyODQKK21zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKK21zZ3N0ciAi0YHQuNC90YLQsNC60YHQuNGH0L3QsCDQv9C+0LzQuNC70LrQsDog0L3QtdCy0ZbRgNC90LjQuSDQsNGA0LjRhNC80LXRgtC40YfQvdC40Lkg0L7Qv9C10YDQsNGC0L7RgCIKKworIzogZXhwci5jOjEzMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKK21zZ3N0ciAiJXMlcyVzOiAlcyAo0L/QvtC30L3QsNGH0LrQsCDQv9C+0LzQuNC70LrQuCBcIiVzXCIpIgorCisjOiBleHByLmM6MTM2NgorbXNnaWQgImludmFsaWQgYXJpdGhtZXRpYyBiYXNlIgorbXNnc3RyICLQvdC10LLRltGA0L3QsCDQsNGA0LjRhNC80LXRgtC40YfQvdCwINC+0YHQvdC+0LLQsCIKKworIzogZXhwci5jOjEzODYKK21zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCittc2dzdHIgItC30LDQstC10LvQuNC60LUg0LfQvdCw0YfQtdC90L3RjyDQvtGB0L3QvtCy0LgiCisKKyM6IGV4cHIuYzoxNDM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDRgyDQstC40YDQsNC30ZZcbiIKKworIzogZ2VuZXJhbC5jOjYxCittc2dpZCAiZ2V0Y3dkOiBjYW5ub3QgYWNjZXNzIHBhcmVudCBkaXJlY3RvcmllcyIKK21zZ3N0ciAiZ2V0Y3dkOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQtNC+0YHRgtGD0L8g0LTQviDQtNC40YDQtdC60YLQvtGA0ZbQuSDQstC40YnQvtCz0L4g0YDRltCy0L3RjyIKKworIzogaW5wdXQuYzo5NCBzdWJzdC5jOjUwODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCittc2dzdHIgItC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQv9C10YDQtdCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0LXQttC40Lwg0LHQtdC3INC30LDRgtGA0LjQvNC60Lgg0YTQsNC50LvQvtCy0L7Qs9C+INC00LXRgdC60YDQuNC/0YLQvtGA0YMgJWQiCisKKyM6IGlucHV0LmM6MjYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhbGxvY2F0ZSBuZXcgZmlsZSBkZXNjcmlwdG9yIGZvciBiYXNoIGlucHV0IGZyb20gZmQgJWQiCittc2dzdHIgIiIKKyLQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQvdC+0LLQuNC5INGE0LDQudC70L7QstC40Lkg0LTQtdGB0LrRgNC40L/RgtC+0YAg0LTQu9GPINCy0LLQvtC00YMgYmFzaCDQtyDRhNCw0LnQu9C+0LLQvtCz0L4gIgorItC00LXRgdC60YDQuNC/0YLQvtGA0YMgJWQiCisKKyM6IGlucHV0LmM6MjY4CisjLCBjLWZvcm1hdAorbXNnaWQgInNhdmVfYmFzaF9pbnB1dDogYnVmZmVyIGFscmVhZHkgZXhpc3RzIGZvciBuZXcgZmQgJWQiCittc2dzdHIgInNhdmVfYmFzaF9pbnB1dDog0LTQu9GPINC90L7QstC+0LPQviDRhNCw0LnQu9C+0LLQvtCz0L4g0LTQtdGB0LrRgNC40L/RgtC+0YDRgyAlZCDQstC20LUg0ZbRgdC90YPRlCDQsdGD0YTQtdGAIgorCisjOiBqb2JzLmM6NDY4Cittc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKK21zZ3N0ciAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKKworIzogam9icy5jOjg4OQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrZWQgcGlkICVkIGFwcGVhcnMgaW4gcnVubmluZyBqb2IgJWQiCittc2dzdHIgIiIKKyLRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQstGW0LTQs9Cw0LvRg9C20LXQvdC+0LPQviDQv9GA0L7RhtC10YHRgyAlZCDQt9C90LDQudC00LXQvdC+INGDINC/0YDQsNGG0Y7RjtGH0L7QvNGDINC30LDQstC00LDQvdC90ZYgJWQiCisKKyM6IGpvYnMuYzoxMDA3CisjLCBjLWZvcm1hdAorbXNnaWQgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCittc2dzdHIgItCy0LjQu9GD0YfQtdC90L3RjyDQt9GD0L/QuNC90LXQvdC+0LPQviDQt9Cw0LLQtNCw0L3QvdGPICVkLCDRidC+INC80LDRlCDQs9GA0YPQv9GDINC/0YDQvtGG0LXRgdGW0LIgJWxkIgorCisjOiBqb2JzLmM6MTExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKK21zZ3N0ciAiYWRkX3Byb2Nlc3M6INC/0YDQvtGG0LXRgSAlNWxkICglcykg0YMgdGhlX3BpcGVsaW5lIgorCisjOiBqb2JzLmM6MTExNQorIywgYy1mb3JtYXQKK21zZ2lkICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCittc2dzdHIgIiIKKyJhZGRfcHJvY2Vzczog0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0L/RgNC+0YbQtdGB0YMgJTVsZCAoJXMpINCy0LLQsNC20LDRlNGC0YzRgdGPINCy0YHQtSDRidC1INC/0YDQsNGG0Y7RjtGH0LjQvCIKKworIzogam9icy5jOjE0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVzY3JpYmVfcGlkOiAlbGQ6IG5vIHN1Y2ggcGlkIgorbXNnc3RyICJkZXNjcmliZV9waWQ6ICVsZDog0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0L/RgNC+0YbQtdGB0YMg0L3QtSDRltGB0L3Rg9GUIgorCisjOiBqb2JzLmM6MTQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJTaWduYWwgJWQiCittc2dzdHIgItCh0LjQs9C90LDQuyAlZCIKKworIzogam9icy5jOjE0NTkgam9icy5jOjE0ODQKK21zZ2lkICJEb25lIgorbXNnc3RyICLQl9Cw0LLQtdGA0YjQtdC90L4iCisKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKK21zZ2lkICJTdG9wcGVkIgorbXNnc3RyICLQl9GD0L/QuNC90LXQvdC+IgorCisjOiBqb2JzLmM6MTQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJTdG9wcGVkKCVzKSIKK21zZ3N0ciAi0JfRg9C/0LjQvdC10L3QviglcykiCisKKyM6IGpvYnMuYzoxNDcyCittc2dpZCAiUnVubmluZyIKK21zZ3N0ciAi0J/RgNCw0YbRjtGUIgorCisjOiBqb2JzLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJEb25lKCVkKSIKK21zZ3N0ciAi0JfRgNC+0LHQu9C10L3QviglZCkiCisKKyM6IGpvYnMuYzoxNDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4aXQgJWQiCittc2dzdHIgItCS0LjRhdGW0LQgJWQiCisKKyM6IGpvYnMuYzoxNDkxCittc2dpZCAiVW5rbm93biBzdGF0dXMiCittc2dzdHIgItCd0LXQstGW0LTQvtC80LjQuSDRgdGC0LDQvSIKKworIzogam9icy5jOjE1NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiKGNvcmUgZHVtcGVkKSAiCittc2dzdHIgIijQt9Cx0LXRgNC10LbQtdC90L4g0LfQvdGW0LzQvtC6INC+0L/QtdGA0LDRgtC40LLQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWKSIKKworIzogam9icy5jOjE1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAod2Q6ICVzKSIKK21zZ3N0ciAiICAo0KDQlDogJXMpIgorCisjOiBqb2JzLmM6MTgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCBzZXRwZ2lkICglbGQgdG8gJWxkKSIKK21zZ3N0ciAi0LfQvNGW0L3QsCDQs9GA0YPQv9C4INC00L7Rh9GW0YDQvdGM0L7Qs9C+INC/0YDQvtGG0LXRgdGDICglbGQg0L3QsCAlbGQpIgorCisjOiBqb2JzLmM6MjEzMyBub2pvYnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgorbXNnc3RyICJ3YWl0OiDQv9GA0L7RhtC10YEgJWxkINC90LUg0ZQg0LLRltC00LPQsNC70YPQttC10L3QuNC8INCy0ZbQtCDRhtGW0ZTRlyDQvtCx0L7Qu9C+0L3QutC4IgorCisjOiBqb2JzLmM6MjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0X2ZvcjogTm8gcmVjb3JkIG9mIHByb2Nlc3MgJWxkIgorbXNnc3RyICJ3YWl0X2Zvcjog0J3QtdC80LAg0LfQsNC/0LjRgdGDINC00LvRjyDQv9GA0L7RhtC10YHRgyAlbGQiCisKKyM6IGpvYnMuYzoyNjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhaXRfZm9yX2pvYjogam9iICVkIGlzIHN0b3BwZWQiCittc2dzdHIgIndhaXRfZm9yX2pvYjog0LfQsNCy0LTQsNC90L3RjyAlZCDQt9GD0L/QuNC90LXQvdC1IgorCisjOiBqb2JzLmM6Mjg1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgorbXNnc3RyICIlczog0LfQsNCy0LTQsNC90L3RjyDQt9Cw0LLQtdGA0YjQuNC70L7RgdGPIgorCisjOiBqb2JzLmM6Mjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKK21zZ3N0ciAiJXM6INC30LDQstC00LDQvdC90Y8gJWQg0LLQttC1INC/0YDQsNGG0Y7RlCDQsiDRhNC+0L3RliIKKworIzogam9icy5jOjMwODkKK21zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCittc2dzdHIgIiIKKworIzogam9icy5jOjM1MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpbmUgJWQ6ICIKK21zZ3N0ciAiJXM6INGA0Y/QtNC+0LogJWQ6ICIKKworIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIgKNC30LHQtdGA0LXQttC10L3QviDQt9C90ZbQvNC+0Log0L7Qv9C10YDQsNGC0LjQstC90L7RlyDQv9Cw0LzigJnRj9GC0ZYpIgorCisjOiBqb2JzLmM6MzU2NCBqb2JzLmM6MzU3NworIywgYy1mb3JtYXQKK21zZ2lkICIod2Qgbm93OiAlcylcbiIKK21zZ3N0ciAiKNGC0LXQv9C10YAg0KDQlDogJXMpXG4iCisKKyM6IGpvYnMuYzozNjA5Cittc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCittc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6INC/0L7QvNC40LvQutCwIGdldHBncnAiCisKKyM6IGpvYnMuYzozNjY5CisjLCBmdXp6eQorbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogbGluZSBkaXNjaXBsaW5lIgorCisjOiBqb2JzLmM6MzY3OQorbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCittc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCisKKyM6IGpvYnMuYzozNzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgorbXNnc3RyICLQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LPRgNGD0L/RgyDQv9GA0L7RhtC10YHRgyDQtNC70Y8g0YLQtdGA0LzRltC90LDQu9GDICglZCkiCisKKyM6IGpvYnMuYzozNzEyCittc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKK21zZ3N0ciAi0YbRjyDQvtCx0L7Qu9C+0L3QutCwINC90LUg0LzQvtC20LUg0LrQtdGA0YPQstCw0YLQuCDQt9Cw0LLQtNCw0L3QvdGP0LzQuCIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAibWFsbG9jOiBmYWlsZWQgYXNzZXJ0aW9uOiAlc1xuIgorbXNnc3RyICJtYWxsb2M6INGD0LzQvtCy0LAg0L3QtSDQstC40LrQvtC90YPRlNGC0YzRgdGPOiAlc1xuIgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXHJcbiIKKyJtYWxsb2M6ICVzOiVkOiBhc3NlcnRpb24gYm90Y2hlZFxyXG4iCittc2dzdHIgIiIKKyJcclxuIgorIm1hbGxvYzogJXM6JWQ6INC/0L7RgtGA0ZbQsdC90LAg0YPQvNC+0LLQsCDQvdC1INCy0LjQutC+0L3Rg9GU0YLRjNGB0Y9cclxuIgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjMxMworbXNnaWQgInVua25vd24iCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzo3OTcKK21zZ2lkICJtYWxsb2M6IGJsb2NrIG9uIGZyZWUgbGlzdCBjbG9iYmVyZWQiCittc2dzdHIgIm1hbGxvYzog0LfQsNC50L3Rj9GC0LjQuSDQsdC70L7QuiDRgyDRgdC/0LjRgdC60YMg0LLRltC70YzQvdC40YUiCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6ODc0Cittc2dpZCAiZnJlZTogY2FsbGVkIHdpdGggYWxyZWFkeSBmcmVlZCBibG9jayBhcmd1bWVudCIKK21zZ3N0ciAiZnJlZTog0LDRgNCz0YPQvNC10L3RgiDRlCDQstC20LUg0LfQstGW0LvRjNC90LXQvdC40Lwg0LHQu9C+0LrQvtC8IgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjg3NworbXNnaWQgImZyZWU6IGNhbGxlZCB3aXRoIHVuYWxsb2NhdGVkIGJsb2NrIGFyZ3VtZW50IgorbXNnc3RyICJmcmVlOiDQsdC70L7QuiDRidC1INC90LUg0LLQuNC00ZbQu9C10L3QviIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzo4OTYKK21zZ2lkICJmcmVlOiB1bmRlcmZsb3cgZGV0ZWN0ZWQ7IG1oX25ieXRlcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIiIKKyJmcmVlOiDQstC40Y/QstC70LXQvdC+INC/0LXRgNC10YXRltC0INC30LAg0L3QuNC20L3RjiDQs9GA0LDQvdC40YbRjiDQsdC70L7QutGDOyBtaF9uYnl0ZXMg0L3QtSDQstC60LvQsNC00LDRlNGC0YzRgdGPINGDICIKKyLRgNCw0LzQutC4IgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjkwMgorbXNnaWQgImZyZWU6IHN0YXJ0IGFuZCBlbmQgY2h1bmsgc2l6ZXMgZGlmZmVyIgorbXNnc3RyICJmcmVlOiDRgNC+0LfQvNGW0YAg0YMg0LfQsNC/0LjRgdCw0YUg0L3QsCDQv9C+0YfQsNGC0LrRgyDRgtCwINCyINC60ZbQvdGG0ZYg0LHQu9C+0LrRgyDQstGW0LTRgNGW0LfQvdGP0ZTRgtGM0YHRjyIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzoxMDAxCittc2dpZCAicmVhbGxvYzogY2FsbGVkIHdpdGggdW5hbGxvY2F0ZWQgYmxvY2sgYXJndW1lbnQiCittc2dzdHIgInJlYWxsb2M6INCx0LvQvtC6INGJ0LUg0L3QtSDQstC40LTRltC70LXQvdC+IgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjEwMTYKK21zZ2lkICJyZWFsbG9jOiB1bmRlcmZsb3cgZGV0ZWN0ZWQ7IG1oX25ieXRlcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIiIKKyJyZWFsbG9jOiDQstC40Y/QstC70LXQvdC+INC/0LXRgNC10YXRltC0INC30LAg0L3QuNC20L3RjiDQs9GA0LDQvdC40YbRjiDQsdC70L7QutGDOyBtaF9uYnl0ZXMg0L3QtSDQstC60LvQsNC00LDRlNGC0YzRgdGPINGDICIKKyLRgNCw0LzQutC4IgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjEwMjIKK21zZ2lkICJyZWFsbG9jOiBzdGFydCBhbmQgZW5kIGNodW5rIHNpemVzIGRpZmZlciIKK21zZ3N0ciAicmVhbGxvYzog0YDQvtC30LzRltGAINGDINC30LDQv9C40YHQsNGFINC90LAg0L/QvtGH0LDRgtC60YMg0YLQsCDQsiDQutGW0L3RhtGWINCx0LvQvtC60YMg0LLRltC00YDRltC30L3Rj9GU0YLRjNGB0Y8iCisKKyM6IGxpYi9tYWxsb2MvdGFibGUuYzoxNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlZ2lzdGVyX2FsbG9jOiBhbGxvYyB0YWJsZSBpcyBmdWxsIHdpdGggRklORF9BTExPQz9cbiIKK21zZ3N0ciAicmVnaXN0ZXJfYWxsb2M6INGC0LDQsdC70LjRhtGPINCy0LjQtNGW0LvQtdC90L3RjyDQt9Cw0L/QvtCy0L3QtdC90LAgRklORF9BTExPQz9cbiIKKworIzogbGliL21hbGxvYy90YWJsZS5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdpc3Rlcl9hbGxvYzogJXAgYWxyZWFkeSBpbiB0YWJsZSBhcyBhbGxvY2F0ZWQ/XG4iCittc2dzdHIgInJlZ2lzdGVyX2FsbG9jOiAlcCDQstC20LUg0L/QvtC30L3QsNGH0LXQvdC40Lkg0Y/QuiDQstC40LTRltC70LXQvdC40Lkg0YMg0YLQsNCx0LvQuNGG0ZY/XG4iCisKKyM6IGxpYi9tYWxsb2MvdGFibGUuYzoyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVnaXN0ZXJfZnJlZTogJXAgYWxyZWFkeSBpbiB0YWJsZSBhcyBmcmVlP1xuIgorbXNnc3RyICJyZWdpc3Rlcl9mcmVlOiAlcCDQstC20LUg0L/QvtC30L3QsNGH0LXQvdC40Lkg0Y/QuiDQstGW0LvRjNC90LjQuSDRgyDRgtCw0LHQu9C40YbRlj9cbiIKKworIzogbGliL3NoL2ZtdHVsb25nLmM6MTAxCittc2dpZCAiaW52YWxpZCBiYXNlIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCwINC+0YHQvdC+0LLQsCIKKworIzogbGliL3NoL25ldG9wZW4uYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhvc3QgdW5rbm93biIKK21zZ3N0ciAiJXM6INC90LXQstGW0LTQvtC80LjQuSDRhdC+0YHRgiIKKworIzogbGliL3NoL25ldG9wZW4uYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgc2VydmljZSIKK21zZ3N0ciAiJXM6INC90LXQv9GA0LDQstC40LvRjNC90LAg0YHQu9GD0LbQsdCwIgorCisjOiBsaWIvc2gvbmV0b3Blbi5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIG5ldHdvcmsgcGF0aCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczog0L3QtdC/0YDQsNCy0LjQu9GM0L3QviDQstC60LDQt9Cw0L3QuNC5INC80LXRgNC10LbQtdCy0LjQuSDRiNC70Y/RhSIKKworIzogbGliL3NoL25ldG9wZW4uYzozNDYKK21zZ2lkICJuZXR3b3JrIG9wZXJhdGlvbnMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAi0LzQtdGA0LXQttC10LLRliDQvtC/0LXRgNCw0YbRltGXINC90LUg0L/RltC00YLRgNC40LzRg9GO0YLRjNGB0Y8iCisKKyM6IGxvY2FsZS5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBsb2NhbGUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvY2FsZS5jOjI0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKSIKK21zZ3N0ciAieHJlYWxsb2M6ICVzOiVkOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LLQuNC00ZbQu9C40YLQuCAlbHUg0LHQsNC50YLRltCyIgorCisjOiBsb2NhbGUuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJ4cmVhbGxvYzogJXM6JWQ6INC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQstC40LTRltC70LjRgtC4ICVsdSDQsdCw0LnRgtGW0LIiCisKKyM6IG1haWxjaGVjay5jOjQzMworbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCittc2dzdHIgItCf0YDQuNGB0YPRgtC90Y8g0L/QvtGI0YLQsCDRgyAkXyIKKworIzogbWFpbGNoZWNrLmM6NDU4Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwgaW4gJF8iCittc2dzdHIgItCd0L7QstCwINC/0L7RiNGC0LAg0YMgJF8iCisKKyM6IG1haWxjaGVjay5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbWFpbCBpbiAlcyBoYXMgYmVlbiByZWFkXG4iCittc2dzdHIgItCf0L7RiNGC0YMg0YMgJXMg0L/RgNC+0YfQuNGC0LDQvdC+XG4iCisKKyM6IG1ha2VfY21kLmM6MzIzCittc2dpZCAic3ludGF4IGVycm9yOiBhcml0aG1ldGljIGV4cHJlc3Npb24gcmVxdWlyZWQiCittc2dzdHIgItGB0LjQvdGC0LDQutGB0LjRh9C90LAg0L/QvtC80LjQu9C60LA6INC/0L7RgtGA0ZbQsdC10L0g0LDRgNC40YTQvNC10YLQuNGH0L3QuNC5INCy0LjRgNCw0LciCisKKyM6IG1ha2VfY21kLmM6MzI1Cittc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKK21zZ3N0ciAi0YHQuNC90YLQsNC60YHQuNGH0L3QsCDQv9C+0LzQuNC70LrQsDog0L3QtdC+0YfRltC60YPQstCw0L3QsCBgOyciCisKKyM6IG1ha2VfY21kLmM6MzI2CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bnRheCBlcnJvcjogYCgoJXMpKSciCittc2dzdHIgItGB0LjQvdGC0LDQutGB0LjRh9C90LAg0L/QvtC80LjQu9C60LA6IGAoKCVzKSknIgorCisjOiBtYWtlX2NtZC5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGJhZCBpbnN0cnVjdGlvbiB0eXBlICVkIgorbXNnc3RyICJtYWtlX2hlcmVfZG9jdW1lbnQ6INC90LXQv9GA0LDQstC40LvRjNC90LjQuSDRgtC40L8g0ZbQvdGB0YLRgNGD0LrRhtGW0ZcgJWQiCisKKyM6IG1ha2VfY21kLmM6NjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJoZXJlLWRvY3VtZW50IGF0IGxpbmUgJWQgZGVsaW1pdGVkIGJ5IGVuZC1vZi1maWxlICh3YW50ZWQgYCVzJykiCittc2dzdHIgImhlcmUtZG9jdW1lbnQg0Lcg0YDRj9C00LrQsCAlZCDQt9Cw0LrRltC90YfQtdC90L4g0LrRltC90YbQtdC8INGE0LDQudC70YMgKNC+0YfRltC60YPQstCw0LvQvtGB0Y8gYCVzJykiCisKKyM6IG1ha2VfY21kLmM6NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJtYWtlX3JlZGlyZWN0aW9uOiDRltC90YHRgtGA0YPQutGG0ZbRjyDQv9C10YDQtdGB0L/RgNGP0LzRg9Cy0LDQvdC90Y8gYCVkJyDQv9C+0LfQsCDQvNC10LbQsNC80LgiCisKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKK21zZ3N0ciAi0YTQsNC50Lsg0YHQutGW0L3Rh9C40LLRgdGPINGA0LDQvdGW0YjQtSwg0L3RltC2INCx0YPQu9C+INC30L3QsNC50LTQtdC90L4g0LLRltC00L/QvtCy0ZbQtNC90LjQuSBgJWMnIgorCisjOiBwYXJzZS55OjQwMjUKK21zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgorbXNnc3RyICLRhNCw0LnQuyDRgdC60ZbQvdGH0LjQstGB0Y8g0YDQsNC90ZbRiNC1LCDQvdGW0LYg0LHRg9C70L4g0LfQvdCw0LnQtNC10L3QviBgXV0nIgorCisjOiBwYXJzZS55OjQwMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKK21zZ3N0ciAi0YHQuNC90YLQsNC60YHQuNGH0L3QsCDQv9C+0LzQuNC70LrQsCDQsiDRg9C80L7QstC90L7QvNGDINCy0LjRgNCw0LfRljog0L3QtdC+0YfRltC60YPQstCw0L3QsCDQu9C10LrRgdC10LzQsCBgJXMnIgorCisjOiBwYXJzZS55OjQwMzQKK21zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKK21zZ3N0ciAi0YHQuNC90YLQsNC60YHQuNGH0L3QsCDQv9C+0LzQuNC70LrQsCDQsiDRg9C80L7QstC90L7QvNGDINCy0LjRgNCw0LfRliIKKworIzogcGFyc2UueTo0MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgorbXNnc3RyICLQvdC10L7Rh9GW0LrRg9Cy0LDQvdCwINC70LXQutGB0LXQvNCwIGAlcycsINC+0YfRltC60YPQstCw0LvQsNGB0Y8gYCknIgorCisjOiBwYXJzZS55OjQxMTYKK21zZ2lkICJleHBlY3RlZCBgKSciCittc2dzdHIgItC+0YfRltC60YPQstCw0LvQsNGB0Y8gYCknIgorCisjOiBwYXJzZS55OjQxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgorbXNnc3RyICLQvdC10L7Rh9GW0LrRg9Cy0LDQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDRg9C90LDRgNC90L7Qs9C+INGD0LzQvtCy0L3QvtCz0L4g0L7Qv9C10YDQsNGC0L7RgNGDIGAlcyciCisKKyM6IHBhcnNlLnk6NDE0OAorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCittc2dzdHIgItC90LXQvtGH0ZbQutGD0LLQsNC90LjQuSDQsNGA0LPRg9C80LXQvdGCINGD0L3QsNGA0L3QvtCz0L4g0YPQvNC+0LLQvdC+0LPQviDQvtC/0LXRgNCw0YLQvtGA0YMiCisKKyM6IHBhcnNlLnk6NDE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycsIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKK21zZ3N0ciAi0L3QtdC+0YfRltC60YPQstCw0L3QsCDQu9C10LrRgdC10LzQsCBgJXMnLCDQvtGH0ZbQutGD0LLQsNCy0YHRjyDQsdGW0L3QsNGA0L3QuNC5INGD0LzQvtCy0L3QuNC5INC+0L/QtdGA0LDRgtC+0YAiCisKKyM6IHBhcnNlLnk6NDE5OAorbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKK21zZ3N0ciAi0L7Rh9GW0LrRg9Cy0LDQstGB0Y8g0LHRltC90LDRgNC90LjQuSDRg9C80L7QstC90LjQuSDQvtC/0LXRgNCw0YLQvtGAIgorCisjOiBwYXJzZS55OjQyMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCBgJXMnIHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKK21zZ3N0ciAi0L3QtdC+0YfRltC60YPQstCw0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0LHRltC90LDRgNC90L7Qs9C+INGD0LzQvtCy0L3QvtCz0L4g0L7Qv9C10YDQsNGC0L7RgNCwIGAlcyciCisKKyM6IHBhcnNlLnk6NDIyNAorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgorbXNnc3RyICLQvdC10L7Rh9GW0LrRg9Cy0LDQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQsdGW0L3QsNGA0L3QvtCz0L4g0YPQvNC+0LLQvdC+0LPQviDQvtC/0LXRgNCw0YLQvtGA0LAiCisKKyM6IHBhcnNlLnk6NDIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKK21zZ3N0ciAi0L3QtdC+0YfRltC60YPQstCw0L3QsCDQu9C10LrRgdC10LzQsCBgJWMnINCyINGD0LzQvtCy0L3RltC5INC60L7QvNCw0L3QtNGWIgorCisjOiBwYXJzZS55OjQyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCittc2dzdHIgItC90LXQvtGH0ZbQutGD0LLQsNC90LAg0LvQtdC60YHQtdC80LAgYCVzJyDQsiDRg9C80L7QstC90ZbQuSDQutC+0LzQsNC90LTRliIKKworIzogcGFyc2UueTo0MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKK21zZ3N0ciAi0L3QtdC+0YfRltC60YPQstCw0L3QsCDQu9C10LrRgdC10LzQsCAlZCDQsiDRg9C80L7QstC90ZbQuSDQutC+0LzQsNC90LTRliIKKworIzogcGFyc2UueTo1NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKK21zZ3N0ciAi0YHQuNC90YLQsNC60YHQuNGH0L3QsCDQv9C+0LzQuNC70LrQsCDQutC+0LvQviDQvdC10L7Rh9GW0LrRg9Cy0LDQvdC+0Zcg0LvQtdC60YHQtdC80LggYCVzJyIKKworIzogcGFyc2UueTo1NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCittc2dzdHIgItGB0LjQvdGC0LDQutGB0LjRh9C90LAg0L/QvtC80LjQu9C60LAg0LrQvtC70L4gYCVzJyIKKworIzogcGFyc2UueTo1NTk0Cittc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgorbXNnc3RyICLRgdC40L3RgtCw0LrRgdC40YfQvdCwINC/0L7QvNC40LvQutCwOiDRgNCw0L/RgtC+0LLQviDRgdC60ZbQvdGH0LjQstGB0Y8g0YTQsNC50LsiCisKKyM6IHBhcnNlLnk6NTU5NAorbXNnaWQgInN5bnRheCBlcnJvciIKK21zZ3N0ciAi0YHQuNC90YLQsNC60YHQuNGH0L3QsCDQv9C+0LzQuNC70LrQsCIKKworIzogcGFyc2UueTo1NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSBcIiVzXCIgdG8gbGVhdmUgdGhlIHNoZWxsLlxuIgorbXNnc3RyICLQktC40LrQvtGA0LjRgdGC0L7QstGD0LnRgtC1IFwiJXNcIiwg0YnQvtCxINCy0LjQudGC0Lgg0Lcg0L7QsdC+0LvQvtC90LrQuC5cbiIKKworIzogcGFyc2UueTo1ODE4Cittc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgorbXNnc3RyICLRhNCw0LnQuyDRgdC60ZbQvdGH0LjQstGB0Y8sINC/0LXRgNGIINC90ZbQtiDQsdGD0LvQviDQt9C90LDQudC00LXQvdC+INCy0ZbQtNC/0L7QstGW0LTQvdGDIGApJyIKKworIzogcGNvbXBsZXRlLmM6MTAzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjb21wbGV0aW9uOiBmdW5jdGlvbiBgJXMnIG5vdCBmb3VuZCIKK21zZ3N0ciAi0LfQsNCy0LXRgNGI0LXQvdC90Y86INGE0YPQvdC60YbRltGOIGAlcycg0L3QtSDQt9C90LDQudC00LXQvdC+IgorCisjOiBwY29tcGxpYi5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgorbXNnc3RyICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgorCisjOiBwcmludF9jbWQuYzoyOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgorbXNnc3RyICJwcmludF9jb21tYW5kOiDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0LfigJnRlNC00L3Rg9Cy0LDQu9GM0L3QuNC5INC+0L/QtdGA0LDRgtC+0YAgYCVkJyIKKworIzogcHJpbnRfY21kLmM6MzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0LTQtdGB0LrRgNC40L/RgtC+0YAg0YTQsNC50LvRgzogJXMiCisKKyM6IHByaW50X2NtZC5jOjM3MworbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICIiCisKKyM6IHByaW50X2NtZC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCittc2dzdHIgIiIKKworIzogcHJpbnRfY21kLmM6MTQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCittc2dzdHIgImNwcmludGY6IGAlYyc6INC90LXQv9GA0LDQstC40LvRjNC90LjQuSDRgdC40LzQstC+0Lsg0YjQsNCx0LvQvtC90YMiCisKKyM6IHJlZGlyLmM6MTIyCittc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKK21zZ3N0ciAi0LTQtdGB0LrRgNC40L/RgtC+0YAg0YTQsNC50LvRgyDQv9C+0LfQsCDQvNC+0LbQu9C40LLQuNC80Lgg0LzQtdC20LDQvNC4IgorCisjOiByZWRpci5jOjE3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHJlZGlyZWN0IgorbXNnc3RyICIlczog0L3QtdC+0LTQvdC+0LfQvdCw0YfQvdC1INC/0LXRgNC10YHQv9GA0Y/QvNGD0LLQsNC90L3RjyIKKworIzogcmVkaXIuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKK21zZ3N0ciAiJXM6INC30LDQsdC+0YDQvtC90LXQvdC+INC/0LXRgNC10LfQsNC/0LjRgdGD0LLQsNGC0Lgg0ZbRgdC90YPRjtGH0ZYg0YTQsNC50LvQuCIKKworIzogcmVkaXIuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCittc2dzdHIgIiVzOiDQvtCx0LzQtdC20LXQvdC90Y86INC/0LXRgNC10YHQv9GA0Y/QvNGD0LLQsNC90L3RjyDQstC40LLQvtC00YMg0LfQsNCx0L7RgNC+0L3QtdC90LUiCisKKyM6IHJlZGlyLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDRlNGC0YzRgdGPINGB0YLQstC+0YDQuNGC0Lgg0YLQuNC80YfQsNGB0L7QstC40Lkg0YTQsNC50Lsg0LTQu9GPIGhlcmUtZG9jdW1lbnQ6ICVzIgorCisjOiByZWRpci5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIiVzOiDQvdC10LzQvtC20LvQuNCy0L4g0L7Qt9C90LDRh9C40YLQuCDQtdC70LXQvNC10L3RgiDQvNCw0YHQuNCy0YMg0YHQv9C40YHQutC+0LwiCisKKyM6IHJlZGlyLmM6NTQ4Cittc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgorbXNnc3RyICIvZGV2Lyh0Y3B8dWRwKS9ob3N0L3BvcnQg0L3QtSDQv9GW0LTRgtGA0LjQvNGD0ZTRgtGM0YHRjyIKKworIzogcmVkaXIuYzo4MTggcmVkaXIuYzo5MzAgcmVkaXIuYzo5OTMgcmVkaXIuYzoxMTM2Cittc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC/0LXRgNC10YHQv9GA0Y/QvNGD0LLQsNC90L3Rjzog0L3QtSDQstC00LDRlNGC0YzRgdGPINGB0YLQstC+0YDQuNGC0Lgg0LrQvtC/0ZbRjiDQtNC10YHQutGA0LjQv9GC0L7RgNCwINGE0LDQudC70YMiCisKKyM6IHNoZWxsLmM6MzMzCittc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCittc2dzdHIgItC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQt9C90LDQudGC0LggL3RtcCwg0LHRg9C00Ywg0LvQsNGB0LrQsCDRgdGC0LLQvtGA0ZbRgtGMINC50L7Qs9C+ISIKKworIzogc2hlbGwuYzozMzcKK21zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKK21zZ3N0ciAiL3RtcCDQvNCw0ZQg0LHRg9GC0Lgg0L3QsNC30LLQvtGOINC00ZbQudGB0L3QvtGXINC00LjRgNC10LrRgtC+0YDRltGXIgorCisjOiBzaGVsbC5jOjg4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAiJWMlYzog0L3QtdCy0ZbRgNC90LjQuSDQv9Cw0YDQsNC80LXRgtGAIgorCisjOiBzaGVsbC5jOjE2NTIKK21zZ2lkICJJIGhhdmUgbm8gbmFtZSEiCittc2dzdHIgItCjINC80LXQvdC1INC90LXQvNCwINGW0LzQtdC90ZYhIgorCisjOiBzaGVsbC5jOjE3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgorbXNnc3RyICJHTlUgYmFzaCwg0LLQtdGA0YHRltGPICVzLSglcylcbiIKKworIzogc2hlbGwuYzoxNzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTpcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIC4uLlxuIgorIlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gc2NyaXB0LWZpbGUgLi4uXG4iCittc2dzdHIgIiIKKyLQktC40LrQvtGA0LjRgdGC0L7QstGD0LnRgtC1Olx0JXMgW9C00L7QstCz0LjQuSDQv9Cw0YDQsNC80LXRgtGAIEdOVV0gW9C/0LDRgNCw0LzQtdGC0YBdIC4uLlxuIgorIlx0JXMgW9C00L7QstCz0LjQuSDQv9Cw0YDQsNC80LXRgtGAIEdOVV0gW9C/0LDRgNCw0LzQtdGC0YBdINGE0LDQudC7X9GB0YbQtdC90LDRgNGW0Y4gLi4uXG4iCisKKyM6IHNoZWxsLmM6MTc5OAorbXNnaWQgIkdOVSBsb25nIG9wdGlvbnM6XG4iCittc2dzdHIgItCU0L7QstCz0ZYg0L/QsNGA0LDQvNC10YLRgNC4IEdOVTpcbiIKKworIzogc2hlbGwuYzoxODAyCittc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKK21zZ3N0ciAi0J/QsNGA0LDQvNC10YLRgNC4INC+0LHQvtC70L7QvdC60Lg6XG4iCisKKyM6IHNoZWxsLmM6MTgwMworbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKK21zZ3N0ciAiXHQtaXJzRCDRh9C4IC1jINC60L7QvNCw0L3QtNCwINGH0LggLU8g0L/QsNGA0LDQvNC10YLRgF9zaG9wdFx0XHQo0YLRltC70YzQutC4INC90LAg0L/QvtGH0LDRgtC60YMpXG4iCisKKyM6IHNoZWxsLmM6MTgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKK21zZ3N0ciAiXHQtJXMg0YfQuCAtbyDQv9Cw0YDQsNC80LXRgtGAXG4iCisKKyM6IHNoZWxsLmM6MTgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIGAlcyAtYyBcImhlbHAgc2V0XCInIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIG9wdGlvbnMuXG4iCittc2dzdHIgIiIKKyLQktCy0LXQtNGW0YLRjCBgJXMgLWMgXCJoZWxwIHNldFwiJywg0YnQvtCxINC+0YLRgNC40LzQsNGC0Lgg0LHRltC70YzRiNC1INGW0L3RhNC+0YDQvNCw0YbRltGXINC/0YDQviDQv9Cw0YDQsNC80LXRgtGA0LggIgorItC+0LHQvtC70L7QvdC60LguXG4iCisKKyM6IHNoZWxsLmM6MTgyNQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIGAlcyAtYyBoZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBidWlsdGluIGNvbW1hbmRzLlxuIgorbXNnc3RyICIiCisi0JLQstC10LTRltGC0YwgYCVzIC1jIGhlbHAnLCDRidC+0LEg0L7RgtGA0LjQvNCw0YLQuCDQsdGW0LvRjNGI0LUg0ZbQvdGE0L7RgNC80LDRhtGW0Zcg0L/RgNC+INCy0LHRg9C00L7QstCw0L3RliDQutC+0LzQsNC90LTQuCAiCisi0L7QsdC+0LvQvtC90LrQuC5cbiIKKworIzogc2hlbGwuYzoxODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCittc2dzdHIgIiIKKyLQqdC+0LEg0L/QvtCy0ZbQtNC+0LzQuNGC0Lgg0L/RgNC+INC/0L7QvNC40LvQutGDINCyINC/0YDQvtCz0YDQsNC80ZYsINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQudGC0LUg0LrQvtC80LDQvdC00YMgYGJhc2hidWcnLlxuIgorCisjOiBzaWcuYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKK21zZ3N0ciAic2lncHJvY21hc2s6ICVkOiDQvdC10LLRltGA0L3QsCDQvtC/0LXRgNCw0YbRltGPIgorCisjOiBzaWdsaXN0LmM6NDgKK21zZ2lkICJCb2d1cyBzaWduYWwiCittc2dzdHIgItCd0LXRltGB0L3Rg9GO0YfQuNC5INGB0LjQs9C90LDQuyIKKworIzogc2lnbGlzdC5jOjUxCittc2dpZCAiSGFuZ3VwIgorbXNnc3RyICLQl9Cw0LLQuNGB0LDQvdC90Y8iCisKKyM6IHNpZ2xpc3QuYzo1NQorbXNnaWQgIkludGVycnVwdCIKK21zZ3N0ciAi0J/QtdGA0LXRgNC40LLQsNC90L3RjyIKKworIzogc2lnbGlzdC5jOjU5Cittc2dpZCAiUXVpdCIKK21zZ3N0ciAi0JLQuNGF0ZbQtCIKKworIzogc2lnbGlzdC5jOjYzCittc2dpZCAiSWxsZWdhbCBpbnN0cnVjdGlvbiIKK21zZ3N0ciAi0J3QtdCy0ZbRgNC90LAg0ZbQvdGB0YLRgNGD0LrRhtGW0Y8iCisKKyM6IHNpZ2xpc3QuYzo2NworbXNnaWQgIkJQVCB0cmFjZS90cmFwIgorbXNnc3RyICLQktGW0LTQu9Cw0LPQvtC00LbQtdC90L3RjyIKKworIzogc2lnbGlzdC5jOjc1Cittc2dpZCAiQUJPUlQgaW5zdHJ1Y3Rpb24iCittc2dzdHIgItCG0L3RgdGC0YDRg9C60YbRltGPIEFCT1JUIgorCisjOiBzaWdsaXN0LmM6NzkKK21zZ2lkICJFTVQgaW5zdHJ1Y3Rpb24iCittc2dzdHIgItCG0L3RgdGC0YDRg9C60YbRltGPIEVNVCIKKworIzogc2lnbGlzdC5jOjgzCittc2dpZCAiRmxvYXRpbmcgcG9pbnQgZXhjZXB0aW9uIgorbXNnc3RyICLQn9C+0LzQuNC70LrQsCDQvtCx0YfQuNGB0LvQtdC90Ywg0Lcg0YDRg9GF0L7QvNC+0Y4g0LrQvtC80L7RjiIKKworIzogc2lnbGlzdC5jOjg3Cittc2dpZCAiS2lsbGVkIgorbXNnc3RyICLQktCx0LjRgtC40LkiCisKKyM6IHNpZ2xpc3QuYzo5MQorbXNnaWQgIkJ1cyBlcnJvciIKK21zZ3N0ciAi0J/QvtC80LjQu9C60LAg0YjQuNC90LgiCisKKyM6IHNpZ2xpc3QuYzo5NQorbXNnaWQgIlNlZ21lbnRhdGlvbiBmYXVsdCIKK21zZ3N0ciAi0J/QvtC80LjQu9C60LAg0LDQtNGA0LXRgdGD0LLQsNC90L3RjyIKKworIzogc2lnbGlzdC5jOjk5Cittc2dpZCAiQmFkIHN5c3RlbSBjYWxsIgorbXNnc3RyICLQndC10LLRltGA0L3QuNC5INGB0LjRgdGC0LXQvNC90LjQuSDQstC40LrQu9C40LoiCisKKyM6IHNpZ2xpc3QuYzoxMDMKK21zZ2lkICJCcm9rZW4gcGlwZSIKK21zZ3N0ciAi0JfQu9Cw0LzQsNC90LjQuSDQutCw0L3QsNC7IgorCisjOiBzaWdsaXN0LmM6MTA3Cittc2dpZCAiQWxhcm0gY2xvY2siCittc2dzdHIgItCi0LDQudC80LXRgCIKKworIzogc2lnbGlzdC5jOjExMQorbXNnaWQgIlRlcm1pbmF0ZWQiCittc2dzdHIgItCf0YDQuNC/0LjQvdC10L3QviIKKworIzogc2lnbGlzdC5jOjExNQorbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCittc2dzdHIgItCd0LXQstGW0LTQutC70LDQtNC90ZYg0L/QvtC00ZbRlyDQki/QkiIKKworIzogc2lnbGlzdC5jOjExOQorbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCittc2dzdHIgItCX0YPQv9C40L3QtdC90L4gKNGB0LjQs9C90LDQuykiCisKKyM6IHNpZ2xpc3QuYzoxMjcKK21zZ2lkICJDb250aW51ZSIKK21zZ3N0ciAi0J/RgNC+0LTQvtCy0LbQtdC90L3RjyIKKworIzogc2lnbGlzdC5jOjEzNQorbXNnaWQgIkNoaWxkIGRlYXRoIG9yIHN0b3AiCittc2dzdHIgItCX0YPQv9C40L3QutCwINGH0Lgg0L/RgNC40L/QuNC90LXQvdC90Y8g0LTQvtGH0ZbRgNC90YzQvtCz0L4g0L/RgNC+0YbQtdGB0YMiCisKKyM6IHNpZ2xpc3QuYzoxMzkKK21zZ2lkICJTdG9wcGVkICh0dHkgaW5wdXQpIgorbXNnc3RyICLQl9GD0L/QuNC90LXQvdC+ICjQstCy0ZbQtCDQtyDRgtC10YDQvNGW0L3QsNC70YMpIgorCisjOiBzaWdsaXN0LmM6MTQzCittc2dpZCAiU3RvcHBlZCAodHR5IG91dHB1dCkiCittc2dzdHIgItCX0YPQv9C40L3QtdC90L4gKNCy0LjQstGW0LQg0L3QsCDRgtC10YDQvNGW0L3QsNC7KSIKKworIzogc2lnbGlzdC5jOjE0NworbXNnaWQgIkkvTyByZWFkeSIKK21zZ3N0ciAi0JIv0JIg0LPQvtGC0L7QstC40LkiCisKKyM6IHNpZ2xpc3QuYzoxNTEKK21zZ2lkICJDUFUgbGltaXQiCittc2dzdHIgItCe0LHQvNC10LbQtdC90L3RjyDRh9Cw0YHRgyBDUFUiCisKKyM6IHNpZ2xpc3QuYzoxNTUKK21zZ2lkICJGaWxlIGxpbWl0IgorbXNnc3RyICLQntCx0LzQtdC20LXQvdC90Y8g0YDQvtC30LzRltGA0YMg0YTQsNC50LvRgyIKKworIzogc2lnbGlzdC5jOjE1OQorbXNnaWQgIkFsYXJtICh2aXJ0dWFsKSIKK21zZ3N0ciAi0KLQsNC50LzQtdGAICjQstGW0YDRgtGD0LDQu9GM0L3QuNC5KSIKKworIzogc2lnbGlzdC5jOjE2MworbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKK21zZ3N0ciAi0KLQsNC50LzQtdGAICjQv9GA0L7RhNGW0LvRjtCy0LDQvdC90Y8pIgorCisjOiBzaWdsaXN0LmM6MTY3Cittc2dpZCAiV2luZG93IGNoYW5nZWQiCittc2dzdHIgItCX0LzRltC90LAg0LLRltC60L3QsCIKKworIzogc2lnbGlzdC5jOjE3MQorbXNnaWQgIlJlY29yZCBsb2NrIgorbXNnc3RyICLQkdC70L7QutGD0LLQsNC90L3RjyDQstGC0YDQsNGH0LXQvdC+IgorCisjOiBzaWdsaXN0LmM6MTc1Cittc2dpZCAiVXNlciBzaWduYWwgMSIKK21zZ3N0ciAi0KHQuNCz0L3QsNC7INC60L7RgNC40YHRgtGD0LLQsNGH0LAgMSIKKworIzogc2lnbGlzdC5jOjE3OQorbXNnaWQgIlVzZXIgc2lnbmFsIDIiCittc2dzdHIgItCh0LjQs9C90LDQuyDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIDIiCisKKyM6IHNpZ2xpc3QuYzoxODMKK21zZ2lkICJIRlQgaW5wdXQgZGF0YSBwZW5kaW5nIgorbXNnc3RyICLQktGF0ZbQtNC90ZYg0LTQsNC90ZYgSEZUINC+0YfRltC60YPRjtGC0YwiCisKKyM6IHNpZ2xpc3QuYzoxODcKK21zZ2lkICJwb3dlciBmYWlsdXJlIGltbWluZW50IgorbXNnc3RyICLQvdCw0LHQu9C40LbQsNGU0YLRjNGB0Y8g0LLRgtGA0LDRgtCwINC20LjQstC70LXQvdC90Y8iCisKKyM6IHNpZ2xpc3QuYzoxOTEKK21zZ2lkICJzeXN0ZW0gY3Jhc2ggaW1taW5lbnQiCittc2dzdHIgItC90LDQsdC70LjQttCw0ZTRgtGM0YHRjyDQsNCy0LDRgNGW0LnQvdCwINGB0LjRgtGD0LDRhtGW0Y8iCisKKyM6IHNpZ2xpc3QuYzoxOTUKK21zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCittc2dzdHIgItC/0LXRgNC10L3QtdGB0LXQvdC90Y8g0L/RgNC+0YbQtdGB0YMg0L3QsCDRltC90YjQuNC5IENQVSIKKworIzogc2lnbGlzdC5jOjE5OQorbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQv9GA0L7Qs9GA0LDQvNGD0LLQsNC90L3RjyIKKworIzogc2lnbGlzdC5jOjIwMworbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgZ3JhbnRlZCIKK21zZ3N0ciAi0KDQtdC20LjQvCDQvNC+0L3RltGC0L7RgNGDIEhGVCDQvdCw0LTQsNC90L4iCisKKyM6IHNpZ2xpc3QuYzoyMDcKK21zZ2lkICJIRlQgbW9uaXRvciBtb2RlIHJldHJhY3RlZCIKK21zZ3N0ciAi0KDQtdC20LjQvCDQvNC+0L3RltGC0L7RgNGDIEhGVCDQstGW0LTQutC70LjQutCw0L3QviIKKworIzogc2lnbGlzdC5jOjIxMQorbXNnaWQgIkhGVCBzb3VuZCBzZXF1ZW5jZSBoYXMgY29tcGxldGVkIgorbXNnc3RyICLQl9Cw0LLQtdGA0YjQtdC90L4g0LfQstGD0LrQvtCy0YMg0L/QvtGB0LvRltC00L7QstC90ZbRgdGC0YwgSEZUIgorCisjOiBzaWdsaXN0LmM6MjE1Cittc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKK21zZ3N0ciAi0IbQvdGE0L7RgNC80LDRhtGW0LnQvdC40Lkg0LfQsNC/0LjRgiIKKworIzogc2lnbGlzdC5jOjIyMworbXNnaWQgIlVua25vd24gU2lnbmFsICMiCittc2dzdHIgItCd0LXQstGW0LTQvtC80LjQuSDRgdC40LPQvdCw0Lsg4oSWIgorCisjOiBzaWdsaXN0LmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKK21zZ3N0ciAi0J3QtdCy0ZbQtNC+0LzQuNC5INGB0LjQs9C90LDQuyDihJYlZCIKKworIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LAg0LfQsNC80ZbQvdCwOiDQvdC10LzQsNGUINC30LDQutC70Y7Rh9C90L7RlyBgJXMnINGDICVzIgorCisjOiBzdWJzdC5jOjI3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCittc2dzdHIgIiVzOiDQvdC10LzQvtC20LvQuNCy0L4g0L7Qt9C90LDRh9C40YLQuCDQtdC70LXQvNC10L3RgiDQvNCw0YHQuNCy0YMg0YHQv9C40YHQutC+0LwiCisKKyM6IHN1YnN0LmM6NDk3OSBzdWJzdC5jOjQ5OTUKK21zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKK21zZ3N0ciAi0L3QtSDQstC00LDRlNGC0YzRgdGPINGB0YLQstC+0YDQuNGC0Lgg0LrQsNC90LDQuyDQtNC70Y8g0L/RltC00YHRgtCw0LLQu9GP0L3QvdGPINC/0YDQvtGG0LXRgdGDIgorCisjOiBzdWJzdC5jOjUwMjcKK21zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCittc2dzdHIgItC90LUg0LLQtNCw0ZTRgtGM0YHRjyDRgdGC0LLQvtGA0LjRgtC4INC00L7Rh9GW0YDQvdGW0Lkg0L/RgNC+0YbQtdGBINC00LvRjyDQv9GW0LTRgdGC0LDQstC70Y/QvdC90Y8g0L/RgNC+0YbQtdGB0YMiCisKKyM6IHN1YnN0LmM6NTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciByZWFkaW5nIgorbXNnc3RyICLQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LLRltC00LrRgNC40YLQuCDRltC80LXQvdC+0LLQsNC90LjQuSDQutCw0L3QsNC7ICVzINC00LvRjyDRh9C40YLQsNC90L3RjyIKKworIzogc3Vic3QuYzo1MDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCittc2dzdHIgItC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQstGW0LTQutGA0LjRgtC4INGW0LzQtdC90L7QstCw0L3QuNC5INC60LDQvdCw0LsgJXMg0LTQu9GPINC30LDQv9C40YHRgyIKKworIzogc3Vic3QuYzo1MDkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKK21zZ3N0ciAiIgorCisjOiBzdWJzdC5jOjUyODQKK21zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKK21zZ3N0ciAi0L3QtSDQstC00LDRlNGC0YzRgdGPINGB0YLQstC+0YDQuNGC0Lgg0LrQsNC90LDQuyDQtNC70Y8g0L/RltC00YHRgtCw0LLQu9GP0L3QvdGPINC60L7QvNCw0L3QtNC4IgorCisjOiBzdWJzdC5jOjUzMjIKK21zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCittc2dzdHIgItC90LUg0LLQtNCw0ZTRgtGM0YHRjyDRgdGC0LLQvtGA0LjRgtC4INC00L7Rh9GW0YDQvdGW0Lkg0L/RgNC+0YbQtdGBINC00LvRjyDQv9GW0LTRgdGC0LDQstC70Y/QvdC90Y8g0LrQvtC80LDQvdC00LgiCisKKyM6IHN1YnN0LmM6NTMzOQorbXNnaWQgImNvbW1hbmRfc3Vic3RpdHV0ZTogY2Fubm90IGR1cGxpY2F0ZSBwaXBlIGFzIGZkIDEiCittc2dzdHIgIiIKKyJjb21tYW5kX3N1YnN0aXR1dGU6INC90LUg0LLQtNCw0ZTRgtGM0YHRjyDRgdGC0LLQvtGA0LjRgtC4INC60L7Qv9GW0Y4g0LrQsNC90LDQu9GDINGW0Lcg0YTQsNC50LvQvtCy0LjQvCAiCisi0LTQtdGB0LrRgNC40L/RgtC+0YDQvtC8IDEiCisKKyM6IHN1YnN0LmM6NTg1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKK21zZ3N0ciAiJXM6INC/0LDRgNCw0LzQtdGC0YAg0L3Rg9C70YzQvtCy0L7RlyDQtNC+0LLQttC40L3QuCDRh9C4INC90LUg0LLQutCw0LfQsNC90LjQuSIKKworIzogc3Vic3QuYzo2MTI1IHN1YnN0LmM6NjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwIgorbXNnc3RyICIlczog0L/RltC00YDRj9C00L7QuiDQutC+0YDQvtGC0YjQuNC5INC30LAgMCIKKworIzogc3Vic3QuYzo3MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgc3Vic3RpdHV0aW9uIgorbXNnc3RyICIlczog0L3QtdC/0YDQsNCy0LjQu9GM0L3QsCDQt9Cw0LzRltC90LAiCisKKyM6IHN1YnN0LmM6NzM0NworIywgYy1mb3JtYXQKK21zZ2lkICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCittc2dzdHIgIiQlczog0L3QtSDQvNC+0LbQvdCwINC/0YDQuNC30L3QsNGH0LjRgtC4INGC0LDQutC40Lwg0YfQuNC90L7QvCIKKworIzogc3Vic3QuYzo3Njg0Cittc2dpZCAiIgorImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgorInN1YnN0aXR1dGlvbiIKK21zZ3N0ciAiIgorCisjOiBzdWJzdC5jOjgxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHN1YnN0aXR1dGlvbjogbm8gY2xvc2luZyBcImBcIiBpbiAlcyIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QsCDQt9Cw0LzRltC90LA6INC90LXQvNCw0ZQg0LfQsNC60LvRjtGH0L3QvtGXIFwiYFwiINGDICVzIgorCisjOiBzdWJzdC5jOjkwMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWF0Y2g6ICVzIgorbXNnc3RyICLQvdC10LzQsCDQstGW0LTQv9C+0LLRltC00L3QuNC60LA6ICVzIgorCisjOiB0ZXN0LmM6MTQ2Cittc2dpZCAiYXJndW1lbnQgZXhwZWN0ZWQiCittc2dzdHIgItC+0YfRltC60YPQstCw0LLRgdGPINCw0YDQs9GD0LzQtdC90YIiCisKKyM6IHRlc3QuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKK21zZ3N0ciAiJXM6INC+0YfRltC60YPQstCw0LLRgdGPINGH0LjRgdC70L7QstC40Lkg0LLQuNGA0LDQtyIKKworIzogdGVzdC5jOjI2MworbXNnaWQgImApJyBleHBlY3RlZCIKK21zZ3N0ciAi0L7Rh9GW0LrRg9Cy0LDQu9Cw0YHRjyBgKSciCisKKyM6IHRlc3QuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKK21zZ3N0ciAi0L7Rh9GW0LrRg9Cy0LDQu9Cw0YHRjyBgKScsINC+0YLRgNC40LzQsNC90L4gJXMiCisKKyM6IHRlc3QuYzoyODAgdGVzdC5jOjY5OCB0ZXN0LmM6NzAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFyeSBvcGVyYXRvciBleHBlY3RlZCIKK21zZ3N0ciAiJXM6INC+0YfRltC60YPQstCw0LLRgdGPINGD0L3QsNGA0L3QuNC5INC+0L/QtdGA0LDRgtC+0YAiCisKKyM6IHRlc3QuYzo0NDkgdGVzdC5jOjc0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgorbXNnc3RyICIlczog0L7Rh9GW0LrRg9Cy0LDQstGB0Y8g0LHRltC90LDRgNC90LjQuSDQvtC/0LXRgNCw0YLQvtGAIgorCisjOiB0ZXN0LmM6ODE2Cittc2dpZCAibWlzc2luZyBgXSciCittc2dzdHIgItCy0ZbQtNGB0YPRgtC90Y8gYF0nIgorCisjOiB0cmFwLmM6MjA3Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0L3QvtC80LXRgCDRgdC40LPQvdCw0LvRgyIKKworIzogdHJhcC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgorbXNnc3RyICJydW5fcGVuZGluZ190cmFwczog0L3QtdC/0YDQsNCy0LjQu9GM0L3QtSDQt9C90LDRh9C10L3QvdGPINGDIHRyYXBfbGlzdFslZF06ICVwIgorCisjOiB0cmFwLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJydW5fcGVuZGluZ190cmFwczogc2lnbmFsIGhhbmRsZXIgaXMgU0lHX0RGTCwgcmVzZW5kaW5nICVkICglcykgdG8gbXlzZWxmIgorbXNnc3RyICIiCisicnVuX3BlbmRpbmdfdHJhcHM6INC+0LHRgNC+0LHQvdC40Log0YHQuNCz0L3QsNC70YMg0ZQgU0lHX0RGTCwgJWQgKCVzKSDQv9C+0LLRgtC+0YDQvdC+INC90LDQtNGB0LjQu9Cw0ZTRgtGM0YHRjyAiCisi0YHQvtCx0ZYiCisKKyM6IHRyYXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgorbXNnc3RyICJ0cmFwX2hhbmRsZXI6INC90LXQv9GA0LDQstC40LvRjNC90LjQuSDRgdC40LPQvdCw0LsgJWQiCisKKyM6IHZhcmlhYmxlcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0ZbQvNC/0L7RgNGC0YPQstCw0L3QvdGPINC+0LfQvdCw0YfQtdC90L3RjyDRhNGD0L3QutGG0ZbRlyBgJXMnIgorCisjOiB2YXJpYWJsZXMuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCittc2dzdHIgItGA0ZbQstC10L3RjCDQvtCx0L7Qu9C+0L3QutC4ICglZCkg0LfQsNC90LDQtNGC0L4g0LLQuNGB0L7QutC40LksINC/0LXRgNC10LLRgdGC0LDQvdC+0LLQu9C10L3QviDRgyAxIgorCisjOiB2YXJpYWJsZXMuYzoxOTMyCisjLCBmdXp6eQorbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKK21zZ3N0ciAiIgorIm1ha2VfbG9jYWxfdmFyaWFibGU6INC90LXQvNCw0ZQg0LrQvtC90YLQtdC60YHRgtGDINGE0YPQvdC60YbRltGXINGDINC/0L7RgtC+0YfQvdC+0LzRgyDQvtGC0L7Rh9C10L3QvdGWINCy0LjQutC+0L3QsNC90L3RjyIKKworIzogdmFyaWFibGVzLmM6MzE4MgorIywgZnV6enkKK21zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCittc2dzdHIgIiIKKyJhbGxfbG9jYWxfdmFyaWFibGVzOiDQvdC10LzQsNGUINC60L7QvdGC0LXQutGB0YLRgyDRhNGD0L3QutGG0ZbRlyDRgyDQv9C+0YLQvtGH0L3QvtC80YMg0L7RgtC+0YfQtdC90L3RliDQstC40LrQvtC90LDQvdC90Y8iCisKKyM6IHZhcmlhYmxlcy5jOjM0MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKK21zZ3N0ciAiJXM6INC/0LDRgNCw0LzQtdGC0YAg0L3Rg9C70YzQvtCy0L7RlyDQtNC+0LLQttC40L3QuCDRh9C4INC90LUg0LLQutCw0LfQsNC90LjQuSIKKworIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCittc2dzdHIgItC90LXQstGW0YDQvdC40Lkg0YHQuNC80LLQvtC7ICVkINGDINGA0Y/QtNC60YMg0LXQutGB0L/QvtGA0YLRgyDQtNC70Y8gJXMiCisKKyM6IHZhcmlhYmxlcy5jOjM0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCittc2dzdHIgItC90LXQvNCw0ZQgYD0nINGDINGA0Y/QtNC60YMg0LXQutGB0L/QvtGA0YLRgyDQtNC70Y8gJXMiCisKKyM6IHZhcmlhYmxlcy5jOjM4OTEKK21zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCittc2dzdHIgIiIKKyJwb3BfdmFyX2NvbnRleHQ6INC/0LXRgNGI0LjQuSDQtdC70LXQvNC10L3RgiBzaGVsbF92YXJpYWJsZXMg0L3QtSDRlCDQutC+0L3RgtC10LrRgdGC0L7QvCDRhNGD0L3QutGG0ZbRlyIKKworIzogdmFyaWFibGVzLmM6MzkwNAorbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgorbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6INC90LXQvNCw0ZQg0LrQvtC90YLQtdC60YHRgtGDIGdsb2JhbF92YXJpYWJsZXMiCisKKyM6IHZhcmlhYmxlcy5jOjM5NzgKK21zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKK21zZ3N0ciAiIgorInBvcF9zY29wZTog0L/QtdGA0YjQuNC5INC10LvQtdC80LXQvdGCIHNoZWxsX3ZhcmlhYmxlcyDQvdC1INGUINGC0LjQvNGH0LDRgdC+0LLQuNC8INC+0YLQvtGH0LXQvdC90Y/QvCDQstC40LrQvtC90LDQvdC90Y8iCisKKyM6IHZhcmlhYmxlcy5jOjQ3ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogY2Fubm90IG9wZW4gYXMgRklMRSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQstGW0LTQutGA0LjRgtC4OiAlcyIKKworIzogdmFyaWFibGVzLmM6NDc5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBpbnZhbGlkIHZhbHVlIGZvciB0cmFjZSBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIiVkOiDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0LTQtdGB0LrRgNC40L/RgtC+0YAg0YTQsNC50LvRgzogJXMiCisKKyM6IHZlcnNpb24uYzo0NgorIywgZnV6enkKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorCisjOiB2ZXJzaW9uLmM6NDcKK21zZ2lkICIiCisiTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCittc2dzdHIgIiIKKyLQm9GW0YbQtdC90LfRltGPIEdQTHYzKzogR05VIEdQTCDQstC10YDRgdGW0Y8gMyDRh9C4INC90L7QstGW0YjQsCA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorCisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCittc2dzdHIgIkdOVSBiYXNoLCDQstC10YDRgdGW0Y8gJXMgKCVzKVxuIgorCisjOiB2ZXJzaW9uLmM6OTEgdmVyc2lvbjIuYzo4OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC5cbiIKK21zZ3N0ciAiIgorItCm0LUg0LLRltC70YzQvdC1INC/0YDQvtCz0YDQsNC80L3QtSDQt9Cw0LHQtdC30L/QtdGH0LXQvdC90Y87INCy0Lgg0LzQvtC20LXRgtC1INC50L7Qs9C+INC30LzRltC90Y7QstCw0YLQuCDRgtCwICIKKyLRgNC+0LfQv9C+0LLRgdGO0LTQttGD0LLQsNGC0LguXG4iCisKKyM6IHZlcnNpb24uYzo5MiB2ZXJzaW9uMi5jOjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuXG4iCittc2dzdHIgItCd0LUg0L3QsNC00LDRlNGC0YzRgdGPINCd0IbQr9Ca0JjQpcKg0JPQkNCg0JDQndCi0IbQmSDRgyDQvNC10LbQsNGFLCDQv9C10YDQtdC00LHQsNGH0LXQvdC40YUg0LfQsNC60L7QvdC+0LwuXG4iCisKKyM6IHZlcnNpb24yLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKK21zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKKworIzogdmVyc2lvbjIuYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorbXNnc3RyICIiCisi0JvRltGG0LXQvdC30ZbRjyBHUEx2Mys6IEdOVSBHUEwg0LLQtdGA0YHRltGPIDMg0YfQuCDQvdC+0LLRltGI0LAgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKKworIzogeG1hbGxvYy5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dzdHIgInhtYWxsb2M6INC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQstC40LTRltC70LjRgtC4ICVsdSDQsdCw0LnRgtGW0LIgKNCy0LjQtNGW0LvQtdC90L4gJWx1INCx0LDQudGC0ZbQsikiCisKKyM6IHhtYWxsb2MuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dzdHIgInhtYWxsb2M6INC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQstC40LTRltC70LjRgtC4ICVsdSDQsdCw0LnRgtGW0LIiCisKKyM6IHhtYWxsb2MuYzoxNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dzdHIgInhtYWxsb2M6ICVzOiVkOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LLQuNC00ZbQu9C40YLQuCAlbHUg0LHQsNC50YLRltCyICjQstC40LTRltC70LXQvdC+ICVsdSDQsdCw0LnRgtGW0LIpIgorCisjOiB4bWFsbG9jLmM6MTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6JWQ6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCittc2dzdHIgInhtYWxsb2M6ICVzOiVkOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LLQuNC00ZbQu9C40YLQuCAlbHUg0LHQsNC50YLRltCyIgorCisjOiBidWlsdGlucy5jOjQzCittc2dpZCAiYWxpYXMgWy1wXSBbbmFtZVs9dmFsdWVdIC4uLiBdIgorbXNnc3RyICJhbGlhcyBbLTNdIFvRltC84oCZ0Y9bPdC30L3QsNGH0LXQvdC90Y9dIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6NDcKK21zZ2lkICJ1bmFsaWFzIFstYV0gbmFtZSBbbmFtZSAuLi5dIgorbXNnc3RyICJ1bmFsaWFzIFstYV0g0ZbQvOKAmdGPIFvRltC84oCZ0Y8gLi4uXSIKKworIzogYnVpbHRpbnMuYzo1MQorbXNnaWQgIiIKKyJiaW5kIFstbHB2c1BWU10gWy1tIGtleW1hcF0gWy1mIGZpbGVuYW1lXSBbLXEgbmFtZV0gWy11IG5hbWVdIFstciBrZXlzZXFdIFstIgorIngga2V5c2VxOnNoZWxsLWNvbW1hbmRdIFtrZXlzZXE6cmVhZGxpbmUtZnVuY3Rpb24gb3IgcmVhZGxpbmUtY29tbWFuZF0iCittc2dzdHIgIiIKKyJiaW5kIFstbHB2c1BWU10gWy1tIGtleW1hcF0gWy1mINGE0LDQudC7XSBbLXEg0ZbQvOKAmdGPXSBbLXUg0ZbQvOKAmdGPXSBbLXIg0L/QvtGB0LvRltC00L7QstC90ZbRgdGC0YwtIgorItC60LvQsNCy0ZbRiF0gWy14INC/0L7RgdC70ZbQtNC+0LLQvdGW0YHRgtGMLdC60LvQsNCy0ZbRiDrQutC+0LzQsNC90LTQsC3QvtCx0L7Qu9C+0L3QutC4XSBb0L/QvtGB0LvRltC00L7QstC90ZbRgdGC0Ywt0LrQu9Cw0LLRltGIOiIKKyLRhNGD0L3QutGG0ZbRjy1yZWFkbGluZSDRh9C4INC60L7QvNCw0L3QtNCwLXJlYWRsaW5lXSIKKworIzogYnVpbHRpbnMuYzo1NAorbXNnaWQgImJyZWFrIFtuXSIKK21zZ3N0ciAiYnJlYWsgW25dIgorCisjOiBidWlsdGlucy5jOjU2Cittc2dpZCAiY29udGludWUgW25dIgorbXNnc3RyICJjb250aW51ZSBbbl0iCisKKyM6IGJ1aWx0aW5zLmM6NTgKK21zZ2lkICJidWlsdGluIFtzaGVsbC1idWlsdGluIFthcmcgLi4uXV0iCittc2dzdHIgImJ1aWx0aW4gW9Cy0LHRg9C00L7QstCw0L3QsC3QutC+0LzQsNC90LTQsCBb0LDRgNCz0YPQvNC10L3RgiAuLi5dXSIKKworIzogYnVpbHRpbnMuYzo2MQorbXNnaWQgImNhbGxlciBbZXhwcl0iCittc2dzdHIgImNhbGxlciBb0LLQuNGA0LDQt10iCisKKyM6IGJ1aWx0aW5zLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCittc2dzdHIgImNkIFstTHwtUF0gW9C00LjRgNC10LrRgtC+0YDRltGPXSIKKworIzogYnVpbHRpbnMuYzo2NgorbXNnaWQgInB3ZCBbLUxQXSIKK21zZ3N0ciAicHdkIFstTFBdIgorCisjOiBidWlsdGlucy5jOjY4Cittc2dpZCAiOiIKK21zZ3N0ciAiOiIKKworIzogYnVpbHRpbnMuYzo3MAorbXNnaWQgInRydWUiCittc2dzdHIgInRydWUiCisKKyM6IGJ1aWx0aW5zLmM6NzIKK21zZ2lkICJmYWxzZSIKK21zZ3N0ciAiZmFsc2UiCisKKyM6IGJ1aWx0aW5zLmM6NzQKK21zZ2lkICJjb21tYW5kIFstcFZ2XSBjb21tYW5kIFthcmcgLi4uXSIKK21zZ3N0ciAiY29tbWFuZCBbLXBWdl0g0LrQvtC80LDQvdC00LAgW9Cw0YDQs9GD0LzQtdC90YIgLi4uXSIKKworIzogYnVpbHRpbnMuYzo3NgorIywgZnV6enkKK21zZ2lkICJkZWNsYXJlIFstYUFmRmdpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dIgorbXNnc3RyICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBb0ZbQvOKAmdGPWz3Qt9C90LDRh9C10L3QvdGPXSAuLi5dIgorCisjOiBidWlsdGlucy5jOjc4CisjLCBmdXp6eQorbXNnaWQgInR5cGVzZXQgWy1hQWZGZ2lscnR1eF0gWy1wXSBuYW1lWz12YWx1ZV0gLi4uIgorbXNnc3RyICJ0eXBlc2V0IFstYUFmRmlscnR1eF0gWy1wXSDRltC84oCZ0Y9bPdC30L3QsNGH0LXQvdC90Y9dIC4uLiIKKworIzogYnVpbHRpbnMuYzo4MAorbXNnaWQgImxvY2FsIFtvcHRpb25dIG5hbWVbPXZhbHVlXSAuLi4iCittc2dzdHIgImxvY2FsIFvQv9Cw0YDQsNC80LXRgtGAXSDRltC84oCZ0Y9bPdC30L3QsNGH0LXQvdC90Y9dIC4uLiIKKworIzogYnVpbHRpbnMuYzo4MworbXNnaWQgImVjaG8gWy1uZUVdIFthcmcgLi4uXSIKK21zZ3N0ciAiZWNobyBbLW5lRV0gW9Cw0YDQs9GD0LzQtdC90YIgLi4uXSIKKworIzogYnVpbHRpbnMuYzo4NworbXNnaWQgImVjaG8gWy1uXSBbYXJnIC4uLl0iCittc2dzdHIgImVjaG8gWy1uXSBb0LDRgNCz0YPQvNC10L3RgiAuLi5dIgorCisjOiBidWlsdGlucy5jOjkwCittc2dpZCAiZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYgZmlsZW5hbWVdIFtuYW1lIC4uLl0iCittc2dzdHIgImVuYWJsZSBbLWFdIFstZG5wc10gWy1mINGE0LDQudC7XSBb0ZbQvOKAmdGPIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6OTIKK21zZ2lkICJldmFsIFthcmcgLi4uXSIKK21zZ3N0ciAiZXZhbCBb0LDRgNCz0YPQvNC10L3RgiAuLi5dIgorCisjOiBidWlsdGlucy5jOjk0Cittc2dpZCAiZ2V0b3B0cyBvcHRzdHJpbmcgbmFtZSBbYXJnXSIKK21zZ3N0ciAiZ2V0b3B0cyDRgNGP0LTQvtC6LdC/0LDRgNCw0LzQtdGC0YDRltCyINGW0LzigJnRjyBb0LDRgNCz0YPQvNC10L3Rgl0iCisKKyM6IGJ1aWx0aW5zLmM6OTYKK21zZ2lkICJleGVjIFstY2xdIFstYSBuYW1lXSBbY29tbWFuZCBbYXJndW1lbnRzIC4uLl1dIFtyZWRpcmVjdGlvbiAuLi5dIgorbXNnc3RyICJleGVjIFstY2xdIFstYSDRltC84oCZ0Y9dIFvQutC+0LzQsNC90LTQsCBb0LDRgNCz0YPQvNC10L3RgtC4IC4uLl1dIFvQv9C10YDQtdGB0L/RgNGP0LzRg9Cy0LDQvdC90Y8gLi4uXSIKKworIzogYnVpbHRpbnMuYzo5OAorbXNnaWQgImV4aXQgW25dIgorbXNnc3RyICJleGl0IFtuXSIKKworIzogYnVpbHRpbnMuYzoxMDAKK21zZ2lkICJsb2dvdXQgW25dIgorbXNnc3RyICJsb2dvdXQgW25dIgorCisjOiBidWlsdGlucy5jOjEwMworbXNnaWQgImZjIFstZSBlbmFtZV0gWy1sbnJdIFtmaXJzdF0gW2xhc3RdIG9yIGZjIC1zIFtwYXQ9cmVwXSBbY29tbWFuZF0iCittc2dzdHIgIiIKKyJmYyBbLWUg0YDQtdC00LDQutGC0L7RgF0gWy1sbnJdIFvQv9C10YDRiNC40LldIFvQvtGB0YLQsNC90L3RltC5XSDRh9C4IGZjIC1zIFvRiNCw0LHQu9C+0L090LfQsNC80ZbQvdCwXSAiCisiW9C60L7QvNCw0L3QtNCwXSIKKworIzogYnVpbHRpbnMuYzoxMDcKK21zZ2lkICJmZyBbam9iX3NwZWNdIgorbXNnc3RyICJmZyBb0LfQsNCy0LTQsNC90L3Rj10iCisKKyM6IGJ1aWx0aW5zLmM6MTExCittc2dpZCAiYmcgW2pvYl9zcGVjIC4uLl0iCittc2dzdHIgImJnIFvQt9Cw0LLQtNCw0L3QvdGPIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTE0Cittc2dpZCAiaGFzaCBbLWxyXSBbLXAgcGF0aG5hbWVdIFstZHRdIFtuYW1lIC4uLl0iCittc2dzdHIgImhhc2ggWy1scl0gWy1wINGI0LvRj9GFXSBbLWR0XSBb0ZbQvOKAmdGPIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImhlbHAgWy1kbXNdIFtwYXR0ZXJuIC4uLl0iCittc2dzdHIgImhlbHAgWy1kc10gW9GI0LDQsdC70L7QvSAuLi5dIgorCisjOiBidWlsdGlucy5jOjEyMQorbXNnaWQgIiIKKyJoaXN0b3J5IFstY10gWy1kIG9mZnNldF0gW25dIG9yIGhpc3RvcnkgLWFucncgW2ZpbGVuYW1lXSBvciBoaXN0b3J5IC1wcyBhcmcgIgorIlthcmcuLi5dIgorbXNnc3RyICIiCisiaGlzdG9yeSBbLWNdIFstZCDQv9C+0LfQuNGG0ZbRj10gW25dINGH0LggaGlzdG9yeSAtYW5ydyBb0YTQsNC50LtdINGH0LggaGlzdG9yeSAtcHMgIgorItCw0YDQs9GD0LzQtdC90YIgW9Cw0YDQs9GD0LzQtdC90YIgLi4uXSIKKworIzogYnVpbHRpbnMuYzoxMjUKK21zZ2lkICJqb2JzIFstbG5wcnNdIFtqb2JzcGVjIC4uLl0gb3Igam9icyAteCBjb21tYW5kIFthcmdzXSIKK21zZ3N0ciAiam9icyBbLWxucHJzXSBb0LfQsNCy0LTQsNC90L3RjyAuLi5dINGH0Lggam9icyAteCDQutC+0LzQsNC90LTQsCBb0LDRgNCz0YPQvNC10L3RgtC4XSIKKworIzogYnVpbHRpbnMuYzoxMjkKK21zZ2lkICJkaXNvd24gWy1oXSBbLWFyXSBbam9ic3BlYyAuLi5dIgorbXNnc3RyICJkaXNvd24gWy1oXSBbLWFyXSBb0LfQsNCy0LTQsNC90L3RjyAuLi5dIgorCisjOiBidWlsdGlucy5jOjEzMgorbXNnaWQgIiIKKyJraWxsIFstcyBzaWdzcGVjIHwgLW4gc2lnbnVtIHwgLXNpZ3NwZWNdIHBpZCB8IGpvYnNwZWMgLi4uIG9yIGtpbGwgLWwgIgorIltzaWdzcGVjXSIKK21zZ3N0ciAiIgorImtpbGwgWy1zINGB0LjQs9C90LDQuyB8IC1uINC90L7QvNC10YAt0YHQuNCz0L3QsNC70YMgfCAt0YHQuNCz0L3QsNC7XSBwaWQgfCDQt9Cw0LLQtNCw0L3QvdGPIC4uLiDRh9C4IGtpbGwgLWwgIgorIlvRgdC40LPQvdCw0LtdIgorCisjOiBidWlsdGlucy5jOjEzNAorbXNnaWQgImxldCBhcmcgW2FyZyAuLi5dIgorbXNnc3RyICJsZXQg0LDRgNCz0YPQvNC10L3RgiBb0LDRgNCz0YPQvNC10L3RgiAuLi5dIgorCisjOiBidWlsdGlucy5jOjEzNgorIywgZnV6enkKK21zZ2lkICIiCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKK21zZ3N0ciAiIgorInJlYWQgWy1lcnNdIFstYSDQvNCw0YHQuNCyXSBbLWQg0YDQvtC30LTRltC70YzQvdC40LpdIFstaSDRgtC10LrRgdGCXSBbLW4g0LrRltC70YzQutGW0YHRgtGMLdGB0LjQvNCy0L7Qu9GW0LJdIFstIgorInAg0LfQsNC/0YDQvtGI0LXQvdC90Y9dIFstdCDQu9GW0LzRltGCLdGH0LDRgdGDXSBbLXUg0LTQtdGB0LrRgNC40L/RgtC+0YAt0YTQsNC50LvRg10gW9GW0LzigJnRjyAuLi5dIgorCisjOiBidWlsdGlucy5jOjEzOAorbXNnaWQgInJldHVybiBbbl0iCittc2dzdHIgInJldHVybiBbbl0iCisKKyM6IGJ1aWx0aW5zLmM6MTQwCisjLCBmdXp6eQorbXNnaWQgInNldCBbLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFstLV0gW2FyZyAuLi5dIgorbXNnc3RyICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyDQv9Cw0YDQsNC80LXRgtGAXSBb0LDRgNCz0YPQvNC10L3RgiAuLi5dIgorCisjOiBidWlsdGlucy5jOjE0MgorbXNnaWQgInVuc2V0IFstZl0gWy12XSBbbmFtZSAuLi5dIgorbXNnc3RyICJ1bnNldCBbLWZdIFstdl0gW9GW0LzigJnRjyAuLi5dIgorCisjOiBidWlsdGlucy5jOjE0NAorbXNnaWQgImV4cG9ydCBbLWZuXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgZXhwb3J0IC1wIgorbXNnc3RyICJleHBvcnQgWy1mbl0gW9GW0LzigJnRj1s90LfQvdCw0YfQtdC90L3Rj10gLi4uXSDRh9C4IGV4cG9ydCAtcCIKKworIzogYnVpbHRpbnMuYzoxNDYKKyMsIGZ1enp5Cittc2dpZCAicmVhZG9ubHkgWy1hQWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKK21zZ3N0ciAicmVhZG9ubGkgWy1hZiBb0ZbQvOKAmdGPWz3Qt9C90LDRh9C10L3QvdGPXSAuLi5dINGH0LggcmVhZG9ubHkgLXAiCisKKyM6IGJ1aWx0aW5zLmM6MTQ4Cittc2dpZCAic2hpZnQgW25dIgorbXNnc3RyICJzaGlmdCBbbl0iCisKKyM6IGJ1aWx0aW5zLmM6MTUwCittc2dpZCAic291cmNlIGZpbGVuYW1lIFthcmd1bWVudHNdIgorbXNnc3RyICJzb3VyY2Ug0YTQsNC50LsgW9Cw0YDQs9GD0LzQtdC90YLQuF0iCisKKyM6IGJ1aWx0aW5zLmM6MTUyCittc2dpZCAiLiBmaWxlbmFtZSBbYXJndW1lbnRzXSIKK21zZ3N0ciAiLiDRhNCw0LnQuyBb0LDRgNCz0YPQvNC10L3RgtC4XSIKKworIzogYnVpbHRpbnMuYzoxNTUKK21zZ2lkICJzdXNwZW5kIFstZl0iCittc2dzdHIgInN1c3BlbmQgWy1mXSIKKworIzogYnVpbHRpbnMuYzoxNTgKK21zZ2lkICJ0ZXN0IFtleHByXSIKK21zZ3N0ciAidGVzdCBb0LLQuNGA0LDQt10iCisKKyM6IGJ1aWx0aW5zLmM6MTYwCittc2dpZCAiWyBhcmcuLi4gXSIKK21zZ3N0ciAiWyDQsNGA0LPRg9C80LXQvdGCLi4uIF0iCisKKyM6IGJ1aWx0aW5zLmM6MTYyCittc2dpZCAidGltZXMiCittc2dzdHIgInRpbWVzIgorCisjOiBidWlsdGlucy5jOjE2NAorbXNnaWQgInRyYXAgWy1scF0gW1thcmddIHNpZ25hbF9zcGVjIC4uLl0iCittc2dzdHIgInRyYXAgWy1scF0gW1vQsNGA0LPRg9C80LXQvdGCXSDRgdC40LPQvdCw0LsgLi4uXSIKKworIzogYnVpbHRpbnMuYzoxNjYKK21zZ2lkICJ0eXBlIFstYWZwdFBdIG5hbWUgW25hbWUgLi4uXSIKK21zZ3N0ciAidHlwZSBbLWFmcHRQXSDRltC84oCZ0Y8gW9GW0LzigJnRjyAuLi5dIgorCisjOiBidWlsdGlucy5jOjE2OQorbXNnaWQgInVsaW1pdCBbLVNIYWNkZWZpbG1ucHFyc3R1dnhdIFtsaW1pdF0iCittc2dzdHIgInVsaW1pdCBbLVNIYWNkZWZpbG1ucHFyc3R1dnhdIFvQvtCx0LzQtdC20LXQvdC90Y9dIgorCisjOiBidWlsdGlucy5jOjE3MgorbXNnaWQgInVtYXNrIFstcF0gWy1TXSBbbW9kZV0iCittc2dzdHIgInVtYXNrIFstcF0gWy1TXSBb0YDQtdC20LjQvC3QtNC+0YHRgtGD0L/Rg10iCisKKyM6IGJ1aWx0aW5zLmM6MTc1Cittc2dpZCAid2FpdCBbaWRdIgorbXNnc3RyICJ3YWl0IFvRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgF0iCisKKyM6IGJ1aWx0aW5zLmM6MTc5Cittc2dpZCAid2FpdCBbcGlkXSIKK21zZ3N0ciAid2FpdCBb0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAt0L/RgNC+0YbQtdGB0YNdIgorCisjOiBidWlsdGlucy5jOjE4MgorbXNnaWQgImZvciBOQU1FIFtpbiBXT1JEUyAuLi4gXSA7IGRvIENPTU1BTkRTOyBkb25lIgorbXNnc3RyICJmb3Ig0IbQnOKAmdCvIFtpbiDQodCb0J7QktCQIC4uLiBdIDsgZG8g0JrQntCc0JDQndCU0Jg7IGRvbmUiCisKKyM6IGJ1aWx0aW5zLmM6MTg0Cittc2dpZCAiZm9yICgoIGV4cDE7IGV4cDI7IGV4cDMgKSk7IGRvIENPTU1BTkRTOyBkb25lIgorbXNnc3RyICJmb3IgKCgg0LLQuNGA0LDQtzE7INCy0LjRgNCw0LcyOyDQstC40YDQsNC3MyApKTsgZG8g0JrQntCc0JDQndCU0Jg7IGRvbmUiCisKKyM6IGJ1aWx0aW5zLmM6MTg2Cittc2dpZCAic2VsZWN0IE5BTUUgW2luIFdPUkRTIC4uLiA7XSBkbyBDT01NQU5EUzsgZG9uZSIKK21zZ3N0ciAic2VsZWN0INCG0JzigJnQryBbaW4g0KHQm9Ce0JLQkCAuLi47XSBkbyDQmtCe0JzQkNCd0JTQmDsgZG9uZSIKKworIzogYnVpbHRpbnMuYzoxODgKK21zZ2lkICJ0aW1lIFstcF0gcGlwZWxpbmUiCittc2dzdHIgInRpbWUgWy1wXSDQutCw0L3QsNC7IgorCisjOiBidWlsdGlucy5jOjE5MAorbXNnaWQgImNhc2UgV09SRCBpbiBbUEFUVEVSTiBbfCBQQVRURVJOXS4uLikgQ09NTUFORFMgOztdLi4uIGVzYWMiCittc2dzdHIgImNhc2Ug0KHQm9Ce0JLQniBpbiBb0KjQkNCR0JvQntCdIFt8INCo0JDQkdCb0J7QnV0uLi4pINCa0J7QnNCQ0J3QlNCYIDs7XS4uLiBlc2FjIgorCisjOiBidWlsdGlucy5jOjE5MgorbXNnaWQgIiIKKyJpZiBDT01NQU5EUzsgdGhlbiBDT01NQU5EUzsgWyBlbGlmIENPTU1BTkRTOyB0aGVuIENPTU1BTkRTOyBdLi4uIFsgZWxzZSAiCisiQ09NTUFORFM7IF0gZmkiCittc2dzdHIgIiIKKyJpZiDQmtCe0JzQkNCd0JTQmDsgdGhlbiDQmtCe0JzQkNCd0JTQmDsgWyBlbGlmINCa0J7QnNCQ0J3QlNCYOyB0aGVuINCa0J7QnNCQ0J3QlNCYOyBdLi4uIFsgZWxzZSAiCisi0JrQntCc0JDQndCU0Jg7IF0gZmkiCisKKyM6IGJ1aWx0aW5zLmM6MTk0Cittc2dpZCAid2hpbGUgQ09NTUFORFM7IGRvIENPTU1BTkRTOyBkb25lIgorbXNnc3RyICJ3aGlsZSDQmtCe0JzQkNCd0JTQmDsgZG8g0JrQntCc0JDQndCU0Jg7IGRvbmUiCisKKyM6IGJ1aWx0aW5zLmM6MTk2Cittc2dpZCAidW50aWwgQ09NTUFORFM7IGRvIENPTU1BTkRTOyBkb25lIgorbXNnc3RyICJ1bnRpbCDQmtCe0JzQkNCd0JTQmDsgZG8g0JrQntCc0JDQndCU0Jg7IGRvbmUiCisKKyM6IGJ1aWx0aW5zLmM6MTk4Cittc2dpZCAiY29wcm9jIFtOQU1FXSBjb21tYW5kIFtyZWRpcmVjdGlvbnNdIgorbXNnc3RyICJjb3Byb2MgW9CG0JzigJnQr10g0LrQvtC80LDQvdC00LAgW9C/0LXRgNC10YHQv9GA0Y/QvNGD0LLQsNC90L3Rj10iCisKKyM6IGJ1aWx0aW5zLmM6MjAwCittc2dpZCAiZnVuY3Rpb24gbmFtZSB7IENPTU1BTkRTIDsgfSBvciBuYW1lICgpIHsgQ09NTUFORFMgOyB9IgorbXNnc3RyICJmdW5jdGlvbiDRltC84oCZ0Y8geyDQmtCe0JzQkNCd0JTQmCA7IH0g0YfQuCDRltC84oCZ0Y8gKCkgeyDQmtCe0JzQkNCd0JTQmCA7IH0iCisKKyM6IGJ1aWx0aW5zLmM6MjAyCittc2dpZCAieyBDT01NQU5EUyA7IH0iCittc2dzdHIgInsg0JrQntCc0JDQndCU0JggOyB9IgorCisjOiBidWlsdGlucy5jOjIwNAorbXNnaWQgImpvYl9zcGVjIFsmXSIKK21zZ3N0ciAi0LfQsNCy0LTQsNC90L3RjyBbJl0iCisKKyM6IGJ1aWx0aW5zLmM6MjA2Cittc2dpZCAiKCggZXhwcmVzc2lvbiApKSIKK21zZ3N0ciAiKCgg0LLQuNGA0LDQtyApKSIKKworIzogYnVpbHRpbnMuYzoyMDgKK21zZ2lkICJbWyBleHByZXNzaW9uIF1dIgorbXNnc3RyICJbWyDQstC40YDQsNC3IF1dIgorCisjOiBidWlsdGlucy5jOjIxMAorbXNnaWQgInZhcmlhYmxlcyAtIE5hbWVzIGFuZCBtZWFuaW5ncyBvZiBzb21lIHNoZWxsIHZhcmlhYmxlcyIKK21zZ3N0ciAidmFyaWFibGVzIC0g0IbQvNC10L3QsCDRgtCwINC30L3QsNGH0LXQvdC90Y8g0LTQtdGP0LrQuNGFINC30LzRltC90L3QuNGFINC+0LHQvtC70L7QvdC60LgiCisKKyM6IGJ1aWx0aW5zLmM6MjEzCittc2dpZCAicHVzaGQgWy1uXSBbK04gfCAtTiB8IGRpcl0iCittc2dzdHIgInB1c2hkIFstbl0gWytOIHwgLU4gfCDQtNC40YDQtdC60YLQvtGA0ZbRj10iCisKKyM6IGJ1aWx0aW5zLmM6MjE3Cittc2dpZCAicG9wZCBbLW5dIFsrTiB8IC1OXSIKK21zZ3N0ciAicG9wZCBbLW5dIFsrTiB8IC1OXSIKKworIzogYnVpbHRpbnMuYzoyMjEKK21zZ2lkICJkaXJzIFstY2xwdl0gWytOXSBbLU5dIgorbXNnc3RyICJkaXJzIFstY2xwdl0gWytOXSBbLU5dIgorCisjOiBidWlsdGlucy5jOjIyNAorbXNnaWQgInNob3B0IFstcHFzdV0gWy1vXSBbb3B0bmFtZSAuLi5dIgorbXNnc3RyICJzaG9wdCBbLXBxc3VdIFstb10gW9C90LDQt9Cy0LAt0L/QsNGA0LDQvNC10YLRgNCwIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MjI2Cittc2dpZCAicHJpbnRmIFstdiB2YXJdIGZvcm1hdCBbYXJndW1lbnRzXSIKK21zZ3N0ciAicHJpbnRmIFstdiDQt9C80ZbQvdC90LBdINGI0LDQsdC70L7QvS3RhNC+0YDQvNCw0YLRg9Cy0LDQvdC90Y8gW9Cw0YDQs9GD0LzQtdC90YLQuF0iCisKKyM6IGJ1aWx0aW5zLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1ERV0gWy1vIG9wdGlvbl0gWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstIgorIlcgd29yZGxpc3RdICBbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgIgorInN1ZmZpeF0gW25hbWUgLi4uXSIKK21zZ3N0ciAiIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLW8g0L/QsNGA0LDQvNC10YLRgF0gWy1BINC00ZbRj10gWy1HINGI0LDQsdC70L7QvS3QvtCx0L7Qu9C+0L3QutC4XSBbLSIKKyJXINGB0L/QuNGB0L7Qui3RgdC70ZbQsl0gIFstRiDRhNGD0L3QutGG0ZbRj10gWy1DINC60L7QvNCw0L3QtNCwXSBbLVgg0YjQsNCx0LvQvtC9LdGE0ZbQu9GM0YLRgNGD0LLQsNC90L3Rj10gWy1QICIKKyLQv9GA0LXRhNGW0LrRgV0gWy1TINGB0YPRhNGW0LrRgV0gW9GW0LzigJnRjyAuLi5dIgorCisjOiBidWlsdGlucy5jOjIzMworbXNnaWQgIiIKKyJjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8gb3B0aW9uXSAgWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyB3b3JkbGlzdF0gICIKKyJbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbd29yZF0iCittc2dzdHIgIiIKKyJjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8g0L/QsNGA0LDQvNC10YLRgF0gIFstQSDQtNGW0Y9dIFstRyDRiNCw0LHQu9C+0L0t0L7QsdC+0LvQvtC90LrQuF0gWy1XICIKKyLRgdC/0LjRgdC+0Lot0YHQu9GW0LJdICBbLUYg0YTRg9C90LrRhtGW0Y9dIFstQyDQutC+0LzQsNC90LTQsF0gWy1YINGI0LDQsdC70L7QvS3RhNGW0LvRjNGC0YDRg9Cy0LDQvdC90Y9dIFstUCAiCisi0L/RgNC10YTRltC60YFdIFstUyDRgdGD0YTRltC60YFdIFvRgdC70L7QstC+XSIKKworIzogYnVpbHRpbnMuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiY29tcG9wdCBbLW98K28gb3B0aW9uXSBbLURFXSBbbmFtZSAuLi5dIgorbXNnc3RyICJjb21wb3B0IFstb3wrbyDQv9Cw0YDQsNC80LXRgtGAXSBb0ZbQvOKAmdGPIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MjQwCittc2dpZCAiIgorIm1hcGZpbGUgWy1uIGNvdW50XSBbLU8gb3JpZ2luXSBbLXMgY291bnRdIFstdF0gWy11IGZkXSBbLUMgY2FsbGJhY2tdIFstYyAiCisicXVhbnR1bV0gW2FycmF5XSIKK21zZ3N0ciAiIgorIm1hcGZpbGUgWy1uINC60ZbQu9GM0LrRltGB0YLRjF0gWy1PINC/0L7Rh9Cw0YLQvtC6LdCy0ZbQtNC70ZbQutGDXSBbLXMg0LrRltC70YzQutGW0YHRgtGMXSBbLXRdIFstdSAiCisi0LTQtdGB0LrRgNC40L/RgtC+0YBdIFstQyDQvtCx0YDQvtCx0L3QuNC6XSBbLWMg0LrRgNC+0LpdIFvQvNCw0YHQuNCyXSIKKworIzogYnVpbHRpbnMuYzoyNDIKK21zZ2lkICIiCisicmVhZGFycmF5IFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgorInF1YW50dW1dIFthcnJheV0iCittc2dzdHIgIiIKKyJyZWFkYXJyYXkgWy1uINC60ZbQu9GM0LrRltGB0YLRjF0gWy1PINC/0L7Rh9Cw0YLQvtC6LdCy0ZbQtNC70ZbQutGDXSBbLXMg0LrRltC70YzQutGW0YHRgtGMXSBbLXRdIFstdSAiCisi0LTQtdGB0LrRgNC40L/RgtC+0YBdIFstQyDQvtCx0YDQvtCx0L3QuNC6XSBbLWMg0LrRgNC+0LpdIFvQvNCw0YHQuNCyXSIKKworIzogYnVpbHRpbnMuYzoyNTQKK21zZ2lkICIiCisiRGVmaW5lIG9yIGRpc3BsYXkgYWxpYXNlcy5cbiIKKyIgICAgXG4iCisiICAgIFdpdGhvdXQgYXJndW1lbnRzLCBgYWxpYXMnIHByaW50cyB0aGUgbGlzdCBvZiBhbGlhc2VzIGluIHRoZSByZXVzYWJsZVxuIgorIiAgICBmb3JtIGBhbGlhcyBOQU1FPVZBTFVFJyBvbiBzdGFuZGFyZCBvdXRwdXQuXG4iCisiICAgIFxuIgorIiAgICBPdGhlcndpc2UsIGFuIGFsaWFzIGlzIGRlZmluZWQgZm9yIGVhY2ggTkFNRSB3aG9zZSBWQUxVRSBpcyBnaXZlbi5cbiIKKyIgICAgQSB0cmFpbGluZyBzcGFjZSBpbiBWQUxVRSBjYXVzZXMgdGhlIG5leHQgd29yZCB0byBiZSBjaGVja2VkIGZvclxuIgorIiAgICBhbGlhcyBzdWJzdGl0dXRpb24gd2hlbiB0aGUgYWxpYXMgaXMgZXhwYW5kZWQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1wXHRQcmludCBhbGwgZGVmaW5lZCBhbGlhc2VzIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgYWxpYXMgcmV0dXJucyB0cnVlIHVubGVzcyBhIE5BTUUgaXMgc3VwcGxpZWQgZm9yIHdoaWNoIG5vIGFsaWFzIGhhcyAiCisiYmVlblxuIgorIiAgICBkZWZpbmVkLiIKK21zZ3N0ciAiIgorItCU0L7QtNCw0ZQg0YfQuCDQv9C+0LrQsNC30YPRlCDQv9GB0LXQstC00L7QvdGW0LzQuCDQtNC70Y8g0LrQvtC80LDQvdC0LlxuIgorIiAgICBcbiIKKyIgICAg0JLQuNC60LvQuNC60LDQvdCwINCx0LXQtyDQsNGA0LPRg9C80LXQvdGC0ZbQsiwg0LrQvtC80LDQvdC00LAgYGFsaWFzJyDQtNGA0YPQutGD0ZQg0YHQv9C40YHQvtC6INC/0YHQtdCy0LTQvtC90ZbQvNGW0LIg0YNcbiIKKyIgICAg0L/RgNC40LTQsNGC0L3RltC5INC00L4g0L/QvtC00LDQu9GM0YjQvtCz0L4g0LLQuNC60L7QvdCw0L3QvdGPINGE0L7RgNC80ZYgYGFsaWFzINCG0JzigJnQrz3Ql9Cd0JDQp9CV0J3QndCvJy5cbiIKKyIgICAgXG4iCisiICAgINCG0L3QsNC60YjQtSDQstC+0L3QsCDQtNC+0LTQsNGUINC/0YHQtdCy0LTQvtC90ZbQvNC4INC00LvRjyDQutC+0LbQvdC+0LPQviDQstC60LDQt9Cw0L3QvtCz0L4g0IbQnNCV0J3Qhiwg0LTQu9GPINGP0LrQvtCz0L4gIgorItC90LDQtNCw0L3QtVxuIgorIiAgICDQl9Cd0JDQp9CV0J3QndCvLiDQn9GA0L7QsdGW0LvQuCDQsiDQutGW0L3RhtGWINCX0J3QkNCn0JXQndCd0K8g0LTQvtC30LLQvtC70Y/RjtGC0Ywg0YPQstGW0LzQutC90YPRgtC4INC/0L7QtNCw0LvRjNGI0LUgIgorItGA0L7Qt9C60YDQuNGC0YLRj1xuIgorIiAgICDQv9GB0LXQstC00L7QvdGW0LzRltCyINGD0YHQtdGA0LXQtNC40L3RliDRhtGM0L7Qs9C+INC/0YHQtdCy0LTQvtC90ZbQvNGDINC/0ZbQtCDRh9Cw0YEg0LnQvtCz0L4g0L/RltC00YHRgtCw0LLQu9GP0L3QvdGPLlxuIgorIiAgICBcbiIKKyIgICAg0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAgICAgIC1wXHTQndCw0LTRgNGD0LrRg9Cy0LDRgtC4INGD0YHRliDQstC40LfQvdCw0YfQtdC90ZYg0L/RgdC10LLQtNC+0L3RltC80Lgg0YMg0L/RgNC40LTQsNGC0L3RltC5INC00L4g0LLQuNC60L7QvdCw0L3QvdGPICIKKyLRhNC+0YDQvNGWLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0L3QtdCy0LTQsNC70L4sINGP0LrRidC+INCx0YPQu9C+INCy0LrQsNC30LDQvdC1INCG0JzigJnQrywg0LTQu9GPINGP0LrQvtCz0L4g0L3QtdC80LBcbiIKKyIgICAg0L/RgdC10LLQtNC+0L3RltC80YMuIgorCisjOiBidWlsdGlucy5jOjI3NgorbXNnaWQgIiIKKyJSZW1vdmUgZWFjaCBOQU1FIGZyb20gdGhlIGxpc3Qgb2YgZGVmaW5lZCBhbGlhc2VzLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtYVx0cmVtb3ZlIGFsbCBhbGlhcyBkZWZpbml0aW9ucy5cbiIKKyIgICAgXG4iCisiICAgIFJldHVybiBzdWNjZXNzIHVubGVzcyBhIE5BTUUgaXMgbm90IGFuIGV4aXN0aW5nIGFsaWFzLiIKK21zZ3N0ciAiIgorItCS0LjQu9GD0YfQsNGUINGD0YHRliDQstC60LDQt9Cw0L3RliDQhtCc0JXQndCQINC30ZYg0YHQv9C40YHQutGDINCy0LjQt9C90LDRh9C10L3QuNGFINC/0YHQtdCy0LTQvtC90ZbQvNGW0LIuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLWFcdNCS0LjQu9GD0YfQuNGC0Lgg0LLQuNC30L3QsNGH0LXQvdC90Y8g0YPRgdGW0YUg0L/RgdC10LLQtNC+0L3RltC80ZbQsi5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC90LXQstC00LDQu9C+LCDRj9C60YnQviDQhtCc4oCZ0K8g0L3QtSDRlCDQstC40LfQvdCw0YfQtdC90LjQvCDQv9GB0LXQstC00L7QvdGW0LzQvtC8LiIKKworIzogYnVpbHRpbnMuYzoyODkKK21zZ2lkICIiCisiU2V0IFJlYWRsaW5lIGtleSBiaW5kaW5ncyBhbmQgdmFyaWFibGVzLlxuIgorIiAgICBcbiIKKyIgICAgQmluZCBhIGtleSBzZXF1ZW5jZSB0byBhIFJlYWRsaW5lIGZ1bmN0aW9uIG9yIGEgbWFjcm8sIG9yIHNldCBhXG4iCisiICAgIFJlYWRsaW5lIHZhcmlhYmxlLiAgVGhlIG5vbi1vcHRpb24gYXJndW1lbnQgc3ludGF4IGlzIGVxdWl2YWxlbnQgdG9cbiIKKyIgICAgdGhhdCBmb3VuZCBpbiB+Ly5pbnB1dHJjLCBidXQgbXVzdCBiZSBwYXNzZWQgYXMgYSBzaW5nbGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4sIGJpbmQgJ1wiXFxDLXhcXEMtclwiOiByZS1yZWFkLWluaXQtZmlsZScuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1tICBrZXltYXAgICAgICAgICBVc2UgS0VZTUFQIGFzIHRoZSBrZXltYXAgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGlzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1hbmQuICBBY2NlcHRhYmxlIGtleW1hcCBuYW1lcyBhcmUgZW1hY3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWNzLXN0YW5kYXJkLCBlbWFjcy1tZXRhLCBlbWFjcy1jdGx4LCB2aSwgdmktIgorIm1vdmUsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIHZpLWNvbW1hbmQsIGFuZCB2aS1pbnNlcnQuXG4iCisiICAgICAgLWwgICAgICAgICAgICAgICAgIExpc3QgbmFtZXMgb2YgZnVuY3Rpb25zLlxuIgorIiAgICAgIC1QICAgICAgICAgICAgICAgICBMaXN0IGZ1bmN0aW9uIG5hbWVzIGFuZCBiaW5kaW5ncy5cbiIKKyIgICAgICAtcCAgICAgICAgICAgICAgICAgTGlzdCBmdW5jdGlvbnMgYW5kIGJpbmRpbmdzIGluIGEgZm9ybSB0aGF0IGNhbiBiZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICByZXVzZWQgYXMgaW5wdXQuXG4iCisiICAgICAgLVMgICAgICAgICAgICAgICAgIExpc3Qga2V5IHNlcXVlbmNlcyB0aGF0IGludm9rZSBtYWNyb3MgYW5kIHRoZWlyICIKKyJ2YWx1ZXNcbiIKKyIgICAgICAtcyAgICAgICAgICAgICAgICAgTGlzdCBrZXkgc2VxdWVuY2VzIHRoYXQgaW52b2tlIG1hY3JvcyBhbmQgdGhlaXIgIgorInZhbHVlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBpbiBhIGZvcm0gdGhhdCBjYW4gYmUgcmV1c2VkIGFzIGlucHV0LlxuIgorIiAgICAgIC1WICAgICAgICAgICAgICAgICBMaXN0IHZhcmlhYmxlIG5hbWVzIGFuZCB2YWx1ZXNcbiIKKyIgICAgICAtdiAgICAgICAgICAgICAgICAgTGlzdCB2YXJpYWJsZSBuYW1lcyBhbmQgdmFsdWVzIGluIGEgZm9ybSB0aGF0IGNhblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBiZSByZXVzZWQgYXMgaW5wdXQuXG4iCisiICAgICAgLXEgIGZ1bmN0aW9uLW5hbWUgIFF1ZXJ5IGFib3V0IHdoaWNoIGtleXMgaW52b2tlIHRoZSBuYW1lZCBmdW5jdGlvbi5cbiIKKyIgICAgICAtdSAgZnVuY3Rpb24tbmFtZSAgVW5iaW5kIGFsbCBrZXlzIHdoaWNoIGFyZSBib3VuZCB0byB0aGUgbmFtZWQgIgorImZ1bmN0aW9uLlxuIgorIiAgICAgIC1yICBrZXlzZXEgICAgICAgICBSZW1vdmUgdGhlIGJpbmRpbmcgZm9yIEtFWVNFUS5cbiIKKyIgICAgICAtZiAgZmlsZW5hbWUgICAgICAgUmVhZCBrZXkgYmluZGluZ3MgZnJvbSBGSUxFTkFNRS5cbiIKKyIgICAgICAteCAga2V5c2VxOnNoZWxsLWNvbW1hbmRcdENhdXNlIFNIRUxMLUNPTU1BTkQgdG8gYmUgZXhlY3V0ZWQgd2hlblxuIgorIiAgICBcdFx0XHRcdEtFWVNFUSBpcyBlbnRlcmVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIGJpbmQgcmV0dXJucyAwIHVubGVzcyBhbiB1bnJlY29nbml6ZWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLQktGB0YLQsNC90L7QstC70Y7RlCDQv9GA0LjQt9C90LDRh9C10L3QvdGPINC60LvQsNCy0ZbRiCDRgtCwINC30LzRltC90L3RliByZWFkbGluZS5cbiIKKyIgICAgXG4iCisiICAgINCf0YDQuNC30L3QsNGH0LDRlCDRhNGD0L3QutGG0ZbRlyDRh9C4INC80LDQutGA0L7QstC40LfQvdCw0YfQtdC90L3RjiByZWFkbGluZSDQv9C+0YHQu9GW0LTQvtCy0L3RltGB0YLRjCDQutC70LDQstGW0Ygg0YfQuFxuIgorIiAgICDQstGB0YLQsNC90L7QstC70Y7RlCDQt9C80ZbQvdC90YMgcmVhZGxpbmUuINCQ0YDQs9GD0LzQtdC90YIsINGJ0L4g0L3QtSDQstGW0LTQvdC+0YHRj9GC0YzRgdGPINC00L4g0L/QsNGA0LDQvNC10YLRgNGW0LJcbiIKKyIgICAg0LzQsNGUINGB0LjQvdGC0LDQutGB0LjRgSDRgtCw0LrQuNC5INC20LUg0Y/QuiDRgyB+Ly5pbnB1dHJjLCDQsNC70LUg0LzQsNGO0YLRjCDQsdGD0YLQuCDQstC60LDQt9Cw0L3RliDRj9C6INC+0LTQuNC9XG4iCisiICAgINCw0YDQs9GD0LzQtdC90YIsINC90LDQv9GA0LjQutC70LDQtCwgYmluZCAnXCJcXEMteFxcQy1yXCI6IHJlLXJlYWQtaW5pdC1maWxlJy5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtbSAg0L3QsNCx0ZbRgCAgICAgICAgICDQktC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0J3QkNCR0IbQoCDQv9GA0LjQt9C90LDRh9C10L3RjCDQutC70LDQstGW0Ygg0L3QsCDRh9Cw0YFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg0LLQuNC60L7QvdCw0L3QvdGPINGG0ZbRlNGXINC60L7QvNCw0L3QtNC4LiDQndCw0LfQstC4INGW0YHQvdGD0YfQuNGFINC90LDQsdC+0YDRltCyOiAiCisiZW1hY3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWNzLXN0YW5kYXJkLCBlbWFjcy1tZXRhLCBlbWFjcy1jdGx4LCB2aSwgdmktIgorIm1vdmUsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIHZpLWNvbW1hbmQg0YLQsCB2aS1pbnNlcnQuXG4iCisiICAgICAgLWwgICAgICAgICAgICAgICAgINCS0LjQstC10YHRgtC4INGW0LzQtdC90LAg0YTRg9C90LrRhtGW0LkuXG4iCisiICAgICAgLVAgICAgICAgICAgICAgICAgINCS0LjQstC10YHRgtC4INGW0LzQtdC90LAg0YTRg9C90LrRhtGW0Lkg0YLQsCDRj9C60ZYg0L/QvtGB0LvRltC00L7QstC90L7RgdGC0ZYg0LrQu9Cw0LLRltGIICIKKyLRl9C8XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgINC/0YDQuNC30L3QsNGH0LXQvdC+LlxuIgorIiAgICAgIC1wICAgICAgICAgICAgICAgICDQktC40LLQtdGB0YLQuCDRhNGD0L3QutGG0ZbRlyDRgtCwINC/0YDQuNC30L3QsNGH0LXQvdC90Y8g0YMg0YTQvtGA0LzRliwg0L/RgNC40LTQsNGC0L3RltC5ICIKKyLQtNC70Y9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg0L/QvtC00LDQu9GM0YjQvtCz0L4g0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINGP0Log0LLQstGW0LQuXG4iCisiICAgICAgLVMgICAgICAgICAgICAgICAgINCS0LjQstC10YHRgtC4INC/0L7RgdC70ZbQtNC+0LLQvdC+0YHRgtGWINC60LvQsNCy0ZbRiCwg0Y/QutGWINC30LDQv9GD0YHQutCw0Y7RgtGMXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgINC80LDQutGA0L7QstC40LfQvdCw0YfQtdC90L3Rjy5cbiIKKyIgICAgICAtcyAgICAgICAgICAgICAgICAg0JLQuNCy0LXRgdGC0Lgg0L/QvtGB0LvRltC00L7QstC90L7RgdGC0ZYg0LrQu9Cw0LLRltGILCDRj9C60ZYg0LfQsNC/0YPRgdC60LDRjtGC0YxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg0LzQsNC60YDQvtCy0LjQt9C90LDRh9C10L3QvdGPINGDINGE0L7RgNC80ZYsINC/0YDQuNC00LDRgtC90ZbQuSDQtNC70Y8g0L/QvtC00LDQu9GM0YjQvtCz0L5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINGP0Log0LLQstGW0LQuXG4iCisiICAgICAgLVYgICAgICAgICAgICAgICAgINCS0LjQstC10YHRgtC4INGW0LzQtdC90LAg0YLQsCDQt9C90LDRh9C10L3QvdGPINC30LzRltC90L3QuNGFLlxuIgorIiAgICAgIC12ICAgICAgICAgICAgICAgICDQktC40LLQtdGB0YLQuCDRltC80LXQvdCwINGC0LAg0LfQvdCw0YfQtdC90L3RjyDQt9C80ZbQvdC90LjRhSDRgyDRhNC+0YDQvNGWLCDRidC+INC80L7QttC1XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgINCx0YPRgtC4INC90LDQtNCw0LvRliDQstC40LrQvtGA0LjRgdGC0LDQvdCwINGP0Log0LLQstGW0LQuXG4iCisiICAgICAgLXEgINGE0YPQvdC60YbRltGPICAgICAgICDQn9C+0LrQsNC30LDRgtC4LCDRj9C60ZYg0L/QvtGB0LvRltC00L7QstC90L7RgdGC0ZYg0LrQu9Cw0LLRltGIINC30LDQv9GD0YHQutCw0Y7RgtGMINGG0Y5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg0YTRg9C90LrRhtGW0Y4uXG4iCisiICAgICAgLXUgINGE0YPQvdC60YbRltGPICAgICAgICDQodC60LDRgdGD0LLQsNGC0Lgg0YPRgdGWINC/0YDQuNC30L3QsNGH0LXQvdGWINGG0ZbQuSDRhNGD0L3QutGG0ZbRlyAiCisi0L/QvtGB0LvRltC00L7QstC90L7RgdGC0ZYuXG4iCisiICAgICAgLXIgINC/0L7RgdC70ZbQtNC+0LLQvdGW0YHRgtGMICDQodC60LDRgdGD0LLQsNGC0Lgg0L/RgNC40LfQvdCw0YfQtdC90L3RjyDQn9Ce0KHQm9CG0JTQntCS0J3QntCh0KLQhi5cbiIKKyIgICAgICAtZiAg0YTQsNC50LsgICAgICAgICAgINCf0YDQvtGH0LjRgtCw0YLQuCDQv9GA0LjQt9C90LDRh9C10L3QvdGPINC60LvQsNCy0ZbRiCDQtyDQpNCQ0JnQm9CjLlxuIgorIiAgICAgIC14ICDQv9C+0YHQu9GW0LTQvtCy0L3RltGB0YLRjDrQutC+0LzQsNC90LTQsC3QvtCx0L7Qu9C+0L3QutC4XHTQn9GA0Lgg0LLQstC+0LTRliDQn9Ce0KHQm9CG0JTQntCS0J3QntCh0KLQhiDQsdGD0LTQtVxuIgorIiAgICBcdFx0XHRcdNC30LDQv9GD0YHQutCw0YLQuNGB0Y8g0JrQntCc0JDQndCU0JAt0J7QkdCe0JvQntCd0JrQmC5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINGD0YHQv9GW0YjQvdC+LCDRj9C60YnQviDQstC60LDQt9Cw0L3RliDQv9GA0LDQstC40LvRjNC90ZYg0L/QsNGA0LDQvNC10YLRgNC4INGC0LAg0L3QtVxuIgorIiAgICDQstC40L3QuNC60LvQviDQv9C+0LzQuNC70LrQuCDQv9GW0LQg0YfQsNGBINCy0LjQutC+0L3QsNC90L3Rjy4iCisKKyM6IGJ1aWx0aW5zLmM6MzI2Cittc2dpZCAiIgorIkV4aXQgZm9yLCB3aGlsZSwgb3IgdW50aWwgbG9vcHMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IGEgRk9SLCBXSElMRSBvciBVTlRJTCBsb29wLiAgSWYgTiBpcyBzcGVjaWZpZWQsIGJyZWFrIE4gZW5jbG9zaW5nXG4iCisiICAgIGxvb3BzLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFRoZSBleGl0IHN0YXR1cyBpcyAwIHVubGVzcyBOIGlzIG5vdCBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMS4iCittc2dzdHIgIiIKKyLQktC40YXQvtC00LjRgtGMINC3INGG0LjQutC70ZbQsiBmb3IsIHdoaWxlINGH0LggdW50aWwuXG4iCisiICAgIFxuIgorIiAgICDQn9C10YDQtdGA0LjQstCw0ZQg0YbQuNC60LvQuCBGT1IsIFdISUxFINGH0LggVU5USUwuINCv0LrRidC+INCy0LrQsNC30LDQvdC+IE4sINC/0LXRgNC10YDQuNCy0LDRlFxuIgorIiAgICBOINC+0YXQvtC/0LvRjtGO0YfQuNGFINGG0LjQutC70ZbQsi5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC90LXQstC00LDQu9C+LCDRj9C60YnQviBOINC80LXQvdGI0LUg0LfQsCAxLiIKKworIzogYnVpbHRpbnMuYzozMzgKK21zZ2lkICIiCisiUmVzdW1lIGZvciwgd2hpbGUsIG9yIHVudGlsIGxvb3BzLlxuIgorIiAgICBcbiIKKyIgICAgUmVzdW1lcyB0aGUgbmV4dCBpdGVyYXRpb24gb2YgdGhlIGVuY2xvc2luZyBGT1IsIFdISUxFIG9yIFVOVElMIGxvb3AuXG4iCisiICAgIElmIE4gaXMgc3BlY2lmaWVkLCByZXN1bWVzIHRoZSBOdGggZW5jbG9zaW5nIGxvb3AuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgVGhlIGV4aXQgc3RhdHVzIGlzIDAgdW5sZXNzIE4gaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLiIKK21zZ3N0ciAiIgorItCf0LXRgNC10YXQvtC00LjRgtGMINC00L4g0L3QsNGB0YLRg9C/0L3QvtGXINGW0YLQtdGA0LDRhtGW0Zcg0YbQuNC60LvRltCyIGZvciwgd2hpbGUg0YfQuCB1bnRpbC5cbiIKKyIgICAgXG4iCisiICAgINCf0LXRgNC10YXQvtC00LjRgtGMINC00L4g0L3QsNGB0YLRg9C/0L3QvtGXINGW0YLQtdGA0LDRhtGW0Zcg0YbQuNC60LvRgyBmb3IsIHdoaWxlINGH0LggdW50aWwuXG4iCisiICAgINCv0LrRidC+INCy0LrQsNC30LDQvdC1IE4sINC/0LXRgNC10YXRltC0INCy0ZbQtNCx0YPQstCw0ZTRgtGM0YHRjyDRgyBOLdC90L7QvNGDINC+0YXQvtC/0LvRjtGO0YfQvtC80YMg0YbQuNC60LvRli5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC90LXQstC00LDQu9C+LCDRj9C60YnQviBOINC80LXQvdGI0LUgMS4iCisKKyM6IGJ1aWx0aW5zLmM6MzUwCittc2dpZCAiIgorIkV4ZWN1dGUgc2hlbGwgYnVpbHRpbnMuXG4iCisiICAgIFxuIgorIiAgICBFeGVjdXRlIFNIRUxMLUJVSUxUSU4gd2l0aCBhcmd1bWVudHMgQVJHcyB3aXRob3V0IHBlcmZvcm1pbmcgY29tbWFuZFxuIgorIiAgICBsb29rdXAuICBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdSB3aXNoIHRvIHJlaW1wbGVtZW50IGEgc2hlbGwgYnVpbHRpblxuIgorIiAgICBhcyBhIHNoZWxsIGZ1bmN0aW9uLCBidXQgbmVlZCB0byBleGVjdXRlIHRoZSBidWlsdGluIHdpdGhpbiB0aGUgIgorImZ1bmN0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIFNIRUxMLUJVSUxUSU4sIG9yIGZhbHNlIGlmIFNIRUxMLUJVSUxUSU4gaXNcbiIKKyIgICAgbm90IGEgc2hlbGwgYnVpbHRpbi4uIgorbXNnc3RyICIiCisi0JLQuNC60L7QvdGD0ZQg0LLQsdGD0LTQvtCy0LDQvdGDINC60L7QvNCw0L3QtNGDINC+0LHQvtC70L7QvdC60LguXG4iCisiICAgIFxuIgorIiAgICDQl9Cw0L/Rg9GB0LrQsNGUINCS0JHQo9CU0J7QktCQ0J3Qoy3QmtCe0JzQkNCd0JTQoyDQtyDQstC60LDQt9Cw0L3QuNC80Lgg0JDQoNCT0KPQnNCV0J3QotCQ0JzQmCwg0L/QvtGI0YPQuiDQutC+0LzQsNC90LTQuCDQvdC1XG4iCisiICAgINGA0L7QsdC40YLRjNGB0Y8uINCm0LUg0LzQvtC20LUg0YHRgtCw0YLQuCDQsiDQvdCw0LPQvtC00ZYsINGP0LrRidC+INCy0Lgg0YXQvtGH0LXRgtC1INC30LDQvNGW0L3QuNGC0Lgg0LLQsdGD0LTQvtCy0LDQvdGDXG4iCisiICAgINC60L7QvNCw0L3QtNGDINGE0YPQvdC60YbRltGU0Y4g0L7QsdC+0LvQvtC90LrQuCwg0LDQu9C1INCy0LDQvCDRgtGA0LXQsdCwINC30LDQv9GD0YHQutCw0YLQuCDQstCx0YPQtNC+0LLQsNC90YMg0LrQvtC80LDQvdC00YNcbiIKKyIgICAg0LfRgdC10YDQtdC00LjQvdC4INGG0ZbRlNGXINGE0YPQvdC60YbRltGXLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQv9C+0LLQtdGA0YLQsNGUINC60L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDQktCR0KPQlNCe0JLQkNCd0J7Qhy3QmtCe0JzQkNCd0JTQmCDQsNCx0L4g0L/QvtC80LjQu9C60YMsINGP0LrRidC+XG4iCisiICAgINCS0JHQo9CU0J7QktCQ0J3QkC3QmtCe0JzQkNCd0JTQkCDQvdC1INGUINCy0LHRg9C00L7QstCw0L3QvtGOINC60L7QvNCw0L3QtNC+0Y4g0L7QsdC+0LvQvtC90LrQuC4iCisKKyM6IGJ1aWx0aW5zLmM6MzY1CisjLCBmdXp6eQorbXNnaWQgIiIKKyJSZXR1cm4gdGhlIGNvbnRleHQgb2YgdGhlIGN1cnJlbnQgc3Vicm91dGluZSBjYWxsLlxuIgorIiAgICBcbiIKKyIgICAgV2l0aG91dCBFWFBSLCByZXR1cm5zIFwiJGxpbmUgJGZpbGVuYW1lXCIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyIgICAgXCIkbGluZSAkc3Vicm91dGluZSAkZmlsZW5hbWVcIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgdGhlXG4iCisiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyAwIHVubGVzcyB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIHNoZWxsIGZ1bmN0aW9uIG9yIEVYUFJcbiIKKyIgICAgaXMgaW52YWxpZC4iCittc2dzdHIgIiIKKyLQn9C+0LLQtdGA0YLQsNGUINC60L7QvdGC0LXQutGB0YIg0LLQuNC60L7QvdCw0L3QvdGPINC/0L7RgtC+0YfQvdC+0Zcg0L/RltC00L/RgNC+0LPRgNCw0LzQuC5cbiIKKyIgICAgXG4iCisiICAgINCv0LrRidC+INCS0JjQoNCQ0Jcg0L3QtSDQstC60LDQt9Cw0L3Qviwg0LLQuNCy0L7QtNC40YLRjCBcIiRsaW5lICRmaWxlbmFtZVwiLiDQhtC90LDQutGI0LUg0LLQuNCy0L7QtNC40YLRjFxuIgorIiAgICBcIiRsaW5lICRzdWJyb3V0aW5lICRmaWxlbmFtZVwiOyDRhtGOINC00L7QtNCw0YLQutC+0LLRgyDRltC90YTQvtGA0LzQsNGG0ZbRjiDQvNC+0LbQvdCwXG4iCisiICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQtNC70Y8g0L3QsNC00LDQvdC90Y8g0YLRgNCw0YHRg9Cy0LDQvdC90Y8g0YHRgtC10LrRgy5cbiIKKyIgICAgXG4iCisiICAgINCX0L3QsNGH0LXQvdC90Y8g0JLQmNCg0JDQl9CjINCy0LjQt9C90LDRh9Cw0ZQg0L3QsCDRgdC60ZbQu9GM0LrQuCDRgNGW0LLQvdGW0LIg0LLQuNC60LvQuNC60ZbQsiDQv9GW0LTQvdGP0YLQuNGB0Y8g0LLRltC0XG4iCisiICAgINC/0L7RgtC+0YfQvdC+0LPQvjsg0L/QvtGC0L7Rh9C90LjQuSDRgNGW0LLQtdC90Ywg0ZQg0L3Rg9C70YzQvtCy0LjQvC5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC90LXQstC00LDQu9C+LCDRj9C60YnQviDQvtCx0L7Qu9C+0L3QutCwINC30LDRgNCw0Lcg0L3QtSDQstC40LrQvtC90YPRlCDRhNGD0L3QutGG0ZbRjlxuIgorIiAgICDQsNCx0L4g0Y/QutGJ0L4g0JLQmNCg0JDQlyDRlCDQvdC10L/RgNCw0LLQuNC70YzQvdC40LwuIgorCisjOiBidWlsdGlucy5jOjM4MworIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBzaGVsbCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKKyIgICAgXG4iCisiICAgIENoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkgdG8gRElSLiAgVGhlIGRlZmF1bHQgRElSIGlzIHRoZSB2YWx1ZSBvZiAiCisidGhlXG4iCisiICAgIEhPTUUgc2hlbGwgdmFyaWFibGUuXG4iCisiICAgIFxuIgorIiAgICBUaGUgdmFyaWFibGUgQ0RQQVRIIGRlZmluZXMgdGhlIHNlYXJjaCBwYXRoIGZvciB0aGUgZGlyZWN0b3J5ICIKKyJjb250YWluaW5nXG4iCisiICAgIERJUi4gIEFsdGVybmF0aXZlIGRpcmVjdG9yeSBuYW1lcyBpbiBDRFBBVEggYXJlIHNlcGFyYXRlZCBieSBhIGNvbG9uICIKKyIoOikuXG4iCisiICAgIEEgbnVsbCBkaXJlY3RvcnkgbmFtZSBpcyB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBJZiBESVIgIgorImJlZ2luc1xuIgorIiAgICB3aXRoIGEgc2xhc2ggKC8pLCB0aGVuIENEUEFUSCBpcyBub3QgdXNlZC5cbiIKKyIgICAgXG4iCisiICAgIElmIHRoZSBkaXJlY3RvcnkgaXMgbm90IGZvdW5kLCBhbmQgdGhlIHNoZWxsIG9wdGlvbiBgY2RhYmxlX3ZhcnMnIGlzICIKKyJzZXQsXG4iCisiICAgIHRoZSB3b3JkIGlzIGFzc3VtZWQgdG8gYmUgIGEgdmFyaWFibGUgbmFtZS4gIElmIHRoYXQgdmFyaWFibGUgaGFzIGEgIgorInZhbHVlLFxuIgorIiAgICBpdHMgdmFsdWUgaXMgdXNlZCBmb3IgRElSLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAgIC1MXHRmb3JjZSBzeW1ib2xpYyBsaW5rcyB0byBiZSBmb2xsb3dlZFxuIgorIiAgICAgICAgLVBcdHVzZSB0aGUgcGh5c2ljYWwgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRob3V0IGZvbGxvd2luZyBzeW1ib2xpY1xuIgorIiAgICBcdGxpbmtzXG4iCisiICAgICAgICAtZVx0aWYgdGhlIC1QIG9wdGlvbiBpcyBzdXBwbGllZCwgYW5kIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4iCisiICAgIFx0Y2Fubm90IGJlIGRldGVybWluZWQgc3VjY2Vzc2Z1bGx5LCBleGl0IHdpdGggYSBub24temVybyBzdGF0dXNcbiIKKyIgICAgXG4iCisiICAgIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzeW1ib2xpYyBsaW5rcywgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIDAgaWYgdGhlIGRpcmVjdG9yeSBpcyBjaGFuZ2VkLCBhbmQgaWYgJFBXRCBpcyBzZXQgc3VjY2Vzc2Z1bGx5ICIKKyJ3aGVuXG4iCisiICAgIC1QIGlzIHVzZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCittc2dzdHIgIiIKKyLQl9C80ZbQvdGO0ZQg0YDQvtCx0L7Rh9GDINC00LjRgNC10LrRgtC+0YDRltGOINC+0LHQvtC70L7QvdC60LguXG4iCisiICAgIFxuIgorIiAgICDQl9C80ZbQvdGO0ZQg0L/QvtGC0L7Rh9C90YMg0LTQuNGA0LXQutGC0L7RgNGW0Y4g0L3QsCDQlNCY0KDQldCa0KLQntCg0IbQri4g0K/QutGJ0L4g0JTQmNCg0JXQmtCi0J7QoNCG0K4g0L3QtSDQstC60LDQt9Cw0L3QvixcbiIKKyIgICAg0LHQtdGA0LXRgtGM0YHRjyDQt9C90LDRh9C10L3QvdGPINC30LzRltC90L3QvtGXINC+0YLQvtGH0LXQvdC90Y8gSE9NRS5cbiIKKyIgICAgXG4iCisiICAgINCX0LzRltC90L3QsCBDRFBBVEgg0LLQuNC30L3QsNGH0LDRlCDQvdCw0LHRltGAINC00LjRgNC10LrRgtC+0YDRltC5LCDQsiDRj9C60LjRhSDRiNGD0LrQsNGC0Lgg0JTQmNCg0JXQmtCi0J7QoNCG0K4uXG4iCisiICAgINCU0LjRgNC10LrRgtC+0YDRltGXINGDINGG0ZbQuSDQt9C80ZbQvdC90ZbQuSDRgNC+0LfQtNGW0LvRj9GO0YLRjNGB0Y8g0LTQstC+0LrRgNCw0L/QutC+0Y4gKDopLlxuIgorIiAgICDQn9C+0YDQvtC20L3RlCDRltC84oCZ0Y8g0LTQuNGA0LXQutGC0L7RgNGW0Zcg0L7Qt9C90LDRh9Cw0ZQg0L/QvtGC0L7Rh9C90YMg0LTQuNGA0LXQutGC0L7RgNGW0Y4uINCv0LrRidC+INCU0JjQoNCV0JrQotCe0KDQhtCvXG4iCisiICAgINC/0L7Rh9C40L3QsNGU0YLRjNGB0Y8g0Lcg0L/QvtGF0LjQu9C+0Zcg0YDQuNGB0LrQuCAoLyksIENEUEFUSCDQvdC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPLlxuIgorIiAgICBcbiIKKyIgICAg0K/QutGJ0L4g0LTQuNGA0LXQutGC0L7RgNGW0Y4g0L3QtSDQsdGD0LTQtSDQt9C90LDQudC00LXQvdC+LCDQv9GA0Lgg0LLQstGW0LzQutC90LXQvdC+0LzRgyDQv9Cw0YDQsNC80LXRgtGA0ZYg0L7QsdC+0LvQvtC90LrQuFxuIgorIiAgICBgY2RhYmxlX3ZhcnMnLCDQlNCY0KDQldCa0KLQntCg0IbQryDQstCy0LDQttCw0YLQuNC80LXRgtGM0YHRjyDRltC80LXQvdC10Lwg0LfQvNGW0L3QvdC+0ZcuINCv0LrRidC+INC30LzRltC90L3QsCDQt1xuIgorIiAgICDRgtCw0LrQuNC8INGW0LzQtdC90LXQvCDRltGB0L3Rg9Cy0LDRgtC40LzQtSwg0ZfRlyDQt9C90LDRh9C10L3QvdGPINCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQsNC90LUg0LfQsNC80ZbRgdGC0YwgIgorItCU0JjQoNCV0JrQotCe0KDQhtCHLlxuIgorIiAgICBcbiIKKyIgICAg0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAgICAgICAgLUxcdNCf0LXRgNC10YXQvtC00LjRgtC4INC30LAg0YHQuNC80LLQvtC70ZbRh9C90LjQvNC4INC/0L7RgdC40LvQsNC90L3Rj9C80LguXG4iCisiICAgICAgICAtUFx00JLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0ZbQt9C40YfQvdGDINGB0YLRgNGD0LrRgtGD0YDRgyDQtNC40YDQtdC60YLQvtGA0ZbQuSwg0L3QtSDQv9C10YDQtdGF0L7QtNC40YLQuCDQt9CwXG4iCisiICAgIFx00YHQuNC80LLQvtC70ZbRh9C90LjQvNC4INC/0L7RgdC40LvQsNC90L3Rj9C80LguXG4iCisiICAgIFxuIgorIiAgICDQl9Cw0LfQstC40YfQsNC5INC60L7QvNCw0L3QtNCwINC/0LXRgNC10YXQvtC00LjRgtC40LzQtSDQt9CwINGB0LjQvNCy0L7Qu9GW0YfQvdC40LzQuCDQv9C+0YHQuNC70LDQvdC90Y/QvNC4LCDRj9C6INC90ZbQsdC4INCx0YPQslxuIgorIiAgICDQstC60LDQt9Cw0L3QuNC5INC/0LDRgNCw0LzQtdGC0YAgYC1MJy5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC90LXQstC00LDQu9C+LCDRj9C60YnQviDQtNC40YDQtdC60YLQvtGA0ZbRjiDQt9C80ZbQvdC40YLQuCDQvdC1INCy0LTQsNC70L7RgdGPLiIKKworIzogYnVpbHRpbnMuYzo0MTQKK21zZ2lkICIiCisiUHJpbnQgdGhlIG5hbWUgb2YgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1MXHRwcmludCB0aGUgdmFsdWUgb2YgJFBXRCBpZiBpdCBuYW1lcyB0aGUgY3VycmVudCB3b3JraW5nXG4iCisiICAgIFx0ZGlyZWN0b3J5XG4iCisiICAgICAgLVBcdHByaW50IHRoZSBwaHlzaWNhbCBkaXJlY3RvcnksIHdpdGhvdXQgYW55IHN5bWJvbGljIGxpbmtzXG4iCisiICAgIFxuIgorIiAgICBCeSBkZWZhdWx0LCBgcHdkJyBiZWhhdmVzIGFzIGlmIGAtTCcgd2VyZSBzcGVjaWZpZWQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyAwIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciB0aGUgY3VycmVudCBkaXJlY3RvcnlcbiIKKyIgICAgY2Fubm90IGJlIHJlYWQuIgorbXNnc3RyICIiCisi0JLQuNCy0L7QtNC40YLRjCDRltC84oCZ0Y8g0L/QvtGC0L7Rh9C90L7RlyDRgNC+0LHQvtGH0L7RlyDQtNC40YDQtdC60YLQvtGA0ZbRly5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtTFx00JLQuNCy0LXRgdGC0Lgg0LfQvdCw0YfQtdC90L3RjyAkUFdELCDRj9C60YnQviDQstC+0L3QsCDQstC60LDQt9GD0ZQg0L/QvtGC0L7Rh9C90YMg0YDQvtCx0L7Rh9GDICIKKyLQtNC40YDQtdC60YLQvtGA0ZbRji5cbiIKKyIgICAgICAtUFx00JLQuNCy0LXRgdGC0Lgg0YTRltC30LjRh9C90LUg0YDQvtC30YLQsNGI0YPQstCw0L3QvdGPINC00LjRgNC10LrRgtC+0YDRltGXLCDQsdC10Lcg0YHQuNC80LLQvtC70ZbRh9C90LjRhSAiCisi0L/QvtGB0LjQu9Cw0L3RjC5cbiIKKyIgICAgXG4iCisiICAgINCX0LDQt9Cy0LjRh9Cw0LkgYHB3ZCcg0L/RgNCw0YbRjtGUINGP0Log0L3RltCx0Lgg0LLQutCw0LfQsNC90L4gYC1MJy5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC90LXQstC00LDQu9C+LCDRj9C60YnQviDQstC60LDQt9Cw0L3QviDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0L/QsNGA0LDQvNC10YLRgCDRh9C4XG4iCisiICAgINC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQvtGC0YDQuNC80LDRgtC4INC00L7RgdGC0YPQvyDQtNC+INC/0L7RgtC+0YfQvdC+0Zcg0YDQvtCx0L7Rh9C+0Zcg0LTQuNGA0LXQutGC0L7RgNGW0ZcuIgorCisjOiBidWlsdGlucy5jOjQzMQorbXNnaWQgIiIKKyJOdWxsIGNvbW1hbmQuXG4iCisiICAgIFxuIgorIiAgICBObyBlZmZlY3Q7IHRoZSBjb21tYW5kIGRvZXMgbm90aGluZy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBBbHdheXMgc3VjY2VlZHMuIgorbXNnc3RyICIiCisi0J3RltGH0L7Qs9C+INC90LUg0YDQvtCx0LjRgtGMLlxuIgorIiAgICBcbiIKKyIgICAg0J3QtSDQvNCw0ZQg0LbQvtC00L3QvtCz0L4g0LXRhNC10LrRgtGDOyDRhtGPINC60L7QvNCw0L3QtNCwINC90ZbRh9C+0LPQviDQvdC1INGA0L7QsdC40YLRjC5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LbQtNC4INGD0YHQv9GW0YjQvdCwLiIKKworIzogYnVpbHRpbnMuYzo0NDIKK21zZ2lkICIiCisiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKK21zZ3N0ciAiIgorItCX0LDQstC10YDRiNGD0ZTRgtGM0YHRjyDRg9GB0L/RltGI0L3Qvi5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LbQtNC4INGD0YHQv9GW0YjQvdCwLiIKKworIzogYnVpbHRpbnMuYzo0NTEKK21zZ2lkICIiCisiUmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgQWx3YXlzIGZhaWxzLiIKK21zZ3N0ciAiIgorItCX0LDQstC10YDRiNGD0ZTRgtGM0YHRjyDQv9C+0LzQuNC70LrQvtCy0L4uXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC20LTQuCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0L3QtdCy0LTQsNC70L4uIgorCisjOiBidWlsdGlucy5jOjQ2MAorbXNnaWQgIiIKKyJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIFJ1bnMgQ09NTUFORCB3aXRoIEFSR1Mgc3VwcHJlc3NpbmcgIHNoZWxsIGZ1bmN0aW9uIGxvb2t1cCwgb3IgZGlzcGxheVxuIgorIiAgICBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3BlY2lmaWVkIENPTU1BTkRzLiAgQ2FuIGJlIHVzZWQgdG8gaW52b2tlICIKKyJjb21tYW5kc1xuIgorIiAgICBvbiBkaXNrIHdoZW4gYSBmdW5jdGlvbiB3aXRoIHRoZSBzYW1lIG5hbWUgZXhpc3RzLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtcFx0dXNlIGEgZGVmYXVsdCB2YWx1ZSBmb3IgUEFUSCB0aGF0IGlzIGd1YXJhbnRlZWQgdG8gZmluZCBhbGwgb2ZcbiIKKyIgICAgXHR0aGUgc3RhbmRhcmQgdXRpbGl0aWVzXG4iCisiICAgICAgLXZcdHByaW50IGEgZGVzY3JpcHRpb24gb2YgQ09NTUFORCBzaW1pbGFyIHRvIHRoZSBgdHlwZScgYnVpbHRpblxuIgorIiAgICAgIC1WXHRwcmludCBhIG1vcmUgdmVyYm9zZSBkZXNjcmlwdGlvbiBvZiBlYWNoIENPTU1BTkRcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQsIG9yIGZhaWx1cmUgaWYgQ09NTUFORCBpcyBub3QgZm91bmQuIgorbXNnc3RyICIiCisi0JfQsNC/0YPRgdC60LDRlCDQt9Cy0LjRh9Cw0LnQvdGDINC60L7QvNCw0L3QtNGDINGH0Lgg0L/QvtC60LDQt9GD0ZQg0ZbQvdGE0L7RgNC80LDRhtGW0Y4g0L/RgNC+INC60L7QvNCw0L3QtNC4LlxuIgorIiAgICBcbiIKKyIgICAg0JfQsNC/0YPRgdC60LDRlCDQmtCe0JzQkNCd0JTQoyDQtyDQkNCg0JPQo9Cc0JXQndCi0JDQnNCYLCDQvdC1INGA0L7QsdC70Y/Rh9C4INC/0L7RiNGD0LrRgyDRgdC10YDQtdC0INGE0YPQvdC60YbRltC5ICIKKyLQvtCx0L7Qu9C+0L3QutC4LFxuIgorIiAgICDRh9C4INC/0L7QutCw0LfRg9GUINGW0L3RhNC+0YDQvNCw0YbRltGOINC/0YDQviDQstC60LDQt9Cw0L3RliDQmtCe0JzQkNCd0JTQmC4g0JzQvtC20LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC40YHRjyDQtNC70Y9cbiIKKyIgICAg0LfQsNC/0YPRgdC60YMg0LrQvtC80LDQvdC0INC3INC00LjRgdC60YMsINC60L7Qu9C4INGW0YHQvdGD0ZQg0YTRg9C90LrRhtGW0Y8g0Lcg0YLQsNC60LjQvCDQttC1INGW0LzQtdC90LXQvC5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtcFx00JLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGB0YLQsNC90LTQsNGA0YLQvdC1INC30L3QsNGH0LXQvdC90Y8gUEFUSCwg0Y/QutC1INC30LDQsdC10LfQv9C10YfRg9GUXG4iCisiICAgIFx00LfQvdCw0YXQvtC00LbQtdC90L3RjyDRg9GB0ZbRhSDRgdGC0LDQvdC00LDRgNGC0L3QuNGFINGD0YLQuNC70ZbRgi5cbiIKKyIgICAgICAtdlx00JLQuNCy0LXRgdGC0Lgg0L7Qv9C40YEg0JrQntCc0JDQndCULCDQv9C+0LTRltCx0L3QuNC5INC00L4g0LLQuNCy0L7QtNGDINCy0LHRg9C00L7QstCw0L3QvtGXINC60L7QvNCw0L3QtNC4ICIKKyJgdHlwZScuXG4iCisiICAgICAgLVZcdNCS0LjQstC10YHRgtC4INCx0ZbQu9GM0Ygg0LHQsNCz0LDRgtC+0YHQu9GW0LLQvdC40Lkg0L7Qv9C40YEg0LrQvtC20L3QvtGXINC3INCa0J7QnNCQ0J3QlC5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0L/QvtCy0LXRgNGC0LDRlCDQutC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0JrQntCc0JDQndCU0Jgg0LDQsdC+INC/0L7QvNC40LvQutGDLCDRj9C60YnQviDQmtCe0JzQkNCd0JTQoyDQvdC1ICIKKyLQsdGD0LTQtVxuIgorIiAgICDQt9C90LDQudC00LXQvdC+LiIKKworIzogYnVpbHRpbnMuYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCisiICAgIFxuIgorIiAgICBEZWNsYXJlIHZhcmlhYmxlcyBhbmQgZ2l2ZSB0aGVtIGF0dHJpYnV0ZXMuICBJZiBubyBOQU1FcyBhcmUgZ2l2ZW4sXG4iCisiICAgIGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlcyBvZiBhbGwgdmFyaWFibGVzLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCisiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKKyIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKKyIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgorIiAgICAgIC1hXHR0byBtYWtlIE5BTUVzIGluZGV4ZWQgYXJyYXlzIChpZiBzdXBwb3J0ZWQpXG4iCisiICAgICAgLUFcdHRvIG1ha2UgTkFNRXMgYXNzb2NpYXRpdmUgYXJyYXlzIChpZiBzdXBwb3J0ZWQpXG4iCisiICAgICAgLWlcdHRvIG1ha2UgTkFNRXMgaGF2ZSB0aGUgYGludGVnZXInIGF0dHJpYnV0ZVxuIgorIiAgICAgIC1sXHR0byBjb252ZXJ0IE5BTUVzIHRvIGxvd2VyIGNhc2Ugb24gYXNzaWdubWVudFxuIgorIiAgICAgIC1yXHR0byBtYWtlIE5BTUVzIHJlYWRvbmx5XG4iCisiICAgICAgLXRcdHRvIG1ha2UgTkFNRXMgaGF2ZSB0aGUgYHRyYWNlJyBhdHRyaWJ1dGVcbiIKKyIgICAgICAtdVx0dG8gY29udmVydCBOQU1FcyB0byB1cHBlciBjYXNlIG9uIGFzc2lnbm1lbnRcbiIKKyIgICAgICAteFx0dG8gbWFrZSBOQU1FcyBleHBvcnRcbiIKKyIgICAgXG4iCisiICAgIFVzaW5nIGArJyBpbnN0ZWFkIG9mIGAtJyB0dXJucyBvZmYgdGhlIGdpdmVuIGF0dHJpYnV0ZS5cbiIKKyIgICAgXG4iCisiICAgIFZhcmlhYmxlcyB3aXRoIHRoZSBpbnRlZ2VyIGF0dHJpYnV0ZSBoYXZlIGFyaXRobWV0aWMgZXZhbHVhdGlvbiAoc2VlXG4iCisiICAgIHRoZSBgbGV0JyBjb21tYW5kKSBwZXJmb3JtZWQgd2hlbiB0aGUgdmFyaWFibGUgaXMgYXNzaWduZWQgYSB2YWx1ZS5cbiIKKyIgICAgXG4iCisiICAgIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBgZGVjbGFyZScgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKKyJgbG9jYWwnXG4iCisiICAgIGNvbW1hbmQuICBUaGUgYC1nJyBvcHRpb24gc3VwcHJlc3NlcyB0aGlzIGJlaGF2aW9yLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorItCS0YHRgtCw0L3QvtCy0LvRjtGUINC30L3QsNGH0LXQvdC90Y8g0YLQsCDQstC70LDRgdGC0LjQstC+0YHRgtGWINC30LzRltC90L3QuNGFLlxuIgorIiAgICBcbiIKKyIgICAg0J7Qv9C40YHRg9GUINC30LzRltC90L3RliDRgtCwINCy0YHRgtCw0L3QvtCy0LvRjtGUINGX0YUg0LLQu9Cw0YHRgtC40LLQvtGB0YLRli4g0K/QutGJ0L4g0IbQnNCV0J3QkCDQvdC1INCy0LrQsNC30LDQvdGWLFxuIgorIiAgICDQv9C+0LrQsNC30YPRlCDQstC70LDRgdGC0LjQstC+0YHRgtGWINGC0LAg0LfQvdCw0YfQtdC90L3RjyDRg9GB0ZbRhSDQt9C80ZbQvdC90LjRhS5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtZlx00J7QsdC80LXQttC40YLQuCDQv9C+0LvQtSDQtNGW0Zcg0LvQuNGI0LUg0ZbQvNC10L3QsNC80Lgg0YLQsCDQstC40LfQvdCw0YfQtdC90L3Rj9C80Lgg0YTRg9C90LrRhtGW0LkuXG4iCisiICAgICAgLUZcdNCe0LHQvNC10LbQuNGC0Lgg0L/QvtC60LDQtyDQu9C40YjQtSDRltC80LXQvdCw0LzQuCDRhNGD0L3QutGG0ZbQuSAo0L/Qu9GO0YEg0L3QvtC80LXRgCDRgNGP0LTQutGDINGC0LBcbiIKKyIgICAgXHTRhNCw0LnQuywg0LfQstGW0LTQutC4INC/0L7RhdC+0LTQuNGC0Ywg0YTRg9C90LrRhtGW0Y8sINGP0LrRidC+INC50LTQtSDQstGW0LTQu9Cw0LPQvtC00LbQtdC90L3RjykuXG4iCisiICAgICAgLXBcdNCf0L7QutCw0LfQsNGC0Lgg0LLQu9Cw0YHRgtC40LLQvtGB0YLRliDRgtCwINC30L3QsNGH0LXQvdC90Y8g0LrQvtC20L3QvtCz0L4g0Lcg0IbQnNCV0J0uXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0LgsINGJ0L4g0LLRgdGC0LDQvdC+0LLQu9GO0Y7RgtGMINCy0LvQsNGB0YLQuNCy0L7RgdGC0ZY6XG4iCisiICAgICAgLWFcdNCX0YDQvtCx0LjRgtC4INCG0JzQldCd0JAg0ZbQvdC00LXQutGB0L7QstCw0L3QuNC80Lgg0LzQsNGB0LjQstCw0LzQuCAo0Y/QutGJ0L4g0L/RltC00YLRgNC40LzRg9GU0YLRjNGB0Y8pLlxuIgorIiAgICAgIC1BXHTQl9GA0L7QsdC40YLQuCDQhtCc0JXQndCQINCw0YHQvtGG0ZbQsNGC0LjQstC90LjQvNC4INC80LDRgdC40LLQsNC80LggKNGP0LrRidC+INC/0ZbQtNGC0YDQuNC80YPRlNGC0YzRgdGPKS5cbiIKKyIgICAgICAtaVx00J3QsNC00LDRgtC4INCG0JzQldCd0JDQnCDQstC70LDRgdGC0LjQstGW0YHRgtGMIGDRhtGW0LvQtSDRh9C40YHQu9C+Jy5cbiIKKyIgICAgICAtbFx00J/QtdGA0LXQstC+0LTQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQtNC+INC90LjQttC90YzQvtCz0L4g0YDQtdCz0ZbRgdGC0YDRgyDQv9GA0Lgg0L7Qt9C90LDRh9C10L3QvdGWINCG0JzQldCdLlxuIgorIiAgICAgIC1yXHTQl9GA0L7QsdC40YLQuCDQhtCc0JXQndCQINC90LXQt9C80ZbQvdC90LjQvNC4ICjQu9C40YjQtSDQtNC70Y8g0YfQuNGC0LDQvdC90Y8pLlxuIgorIiAgICAgIC10XHTQndCw0LTQsNGC0Lgg0IbQnNCV0J3QkNCcINCy0LvQsNGB0YLQuNCy0ZbRgdGC0YwgYHRyYWNlJy5cbiIKKyIgICAgICAtdVx00J/QtdGA0LXQstC+0LTQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQtNC+INCy0LXRgNGF0L3RjNC+0LPQviDRgNC10LPRltGB0YLRgNGDINC/0YDQuCDQvtC30L3QsNGH0LXQvdC90ZYg0IbQnNCV0J0uXG4iCisiICAgICAgLXhcdNCV0LrRgdC/0L7RgNGC0YPQstCw0YLQuCDQhtCc0JXQndCQLlxuIgorIiAgICBcbiIKKyIgICAg0JfQsNC80ZbQvdC40LLRiNC4IGAtJyDQvdCwIGArJyDQvNC+0LbQvdCwINCy0LjQvNC60L3Rg9GC0Lgg0LLRltC00L/QvtCy0ZbQtNC90YMg0LLQu9Cw0YHRgtC40LLRltGB0YLRjC5cbiIKKyIgICAgXG4iCisiICAgINCf0YDQuCDQvtC30L3QsNGH0LXQvdC90ZYg0LfQvNGW0L3QvdGWINC3INCy0LvQsNGB0YLQuNCy0ZbRgdGC0Y4g0YbRltC70L7Qs9C+INGH0LjRgdC70LAg0L/RgNC+0LLQvtC00LjRgtGM0YHRjyDQsNGA0LjRhNC80LXRgtC40YfQvdC1XG4iCisiICAgINC+0LHRh9C40YHQu9C10L3QvdGPICjQtNC40LIuINC60L7QvNCw0L3QtNGDIGBsZXQnKSDQt9C90LDRh9C10L3QvdGPLlxuIgorIiAgICBcbiIKKyIgICAg0J/RgNC4INCy0LjQutC+0YDQuNGB0YLQsNC90L3RliDQstGB0LXRgNC10LTQuNC90ZYg0YTRg9C90LrRhtGW0ZcsIGBkZWNsYXJlJyDRgNC+0LHQuNGC0Ywg0IbQnNCV0J3QkCDQu9C+0LrQsNC70YzQvdC40LzQuFxuIgorIiAgICDQt9C80ZbQvdC90LjQvNC4LCDRj9C6INC60L7QvNCw0L3QtNCwIGBsb2NhbCcuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDRg9GB0L/RltGI0L3QviDRj9C60YnQviDQstC60LDQt9Cw0L3RliDQv9GA0LDQstC40LvRjNC90ZYg0L/QsNGA0LDQvNC10YLRgNC4INGWINC90LUgIgorItCy0LjQvdC40LrQu9C+XG4iCisiICAgINC/0L7QvNC40LvQutC4INC/0ZbQtCDRh9Cw0YEg0LLQuNC60L7QvdCw0L3QvdGPLiIKKworIzogYnVpbHRpbnMuYzo1MTcKK21zZ2lkICIiCisiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKKyIgICAgXG4iCisiICAgIE9ic29sZXRlLiAgU2VlIGBoZWxwIGRlY2xhcmUnLiIKK21zZ3N0ciAiIgorItCS0YHRgtCw0L3QvtCy0LvRjtGUINC30L3QsNGH0LXQvdC90Y8g0YLQsCDQstC70LDRgdGC0LjQstC+0YHRgtGWINC30LzRltC90L3QuNGFLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LLQuNC50YjQu9CwINC3INGD0LbQuNGC0LrRgy4g0JTQuNCy0ZbRgtGM0YHRjyBgaGVscCBkZWNsYXJlJy4iCisKKyM6IGJ1aWx0aW5zLmM6NTI1Cittc2dpZCAiIgorIkRlZmluZSBsb2NhbCB2YXJpYWJsZXMuXG4iCisiICAgIFxuIgorIiAgICBDcmVhdGUgYSBsb2NhbCB2YXJpYWJsZSBjYWxsZWQgTkFNRSwgYW5kIGdpdmUgaXQgVkFMVUUuICBPUFRJT04gY2FuXG4iCisiICAgIGJlIGFueSBvcHRpb24gYWNjZXB0ZWQgYnkgYGRlY2xhcmUnLlxuIgorIiAgICBcbiIKKyIgICAgTG9jYWwgdmFyaWFibGVzIGNhbiBvbmx5IGJlIHVzZWQgd2l0aGluIGEgZnVuY3Rpb247IHRoZXkgYXJlIHZpc2libGVcbiIKKyIgICAgb25seSB0byB0aGUgZnVuY3Rpb24gd2hlcmUgdGhleSBhcmUgZGVmaW5lZCBhbmQgaXRzIGNoaWxkcmVuLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuIGVycm9yIG9jY3VycyxcbiIKKyIgICAgb3IgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBmdW5jdGlvbi4iCittc2dzdHIgIiIKKyLQntC/0LjRgdGD0ZQg0LvQvtC60LDQu9GM0L3RliDQt9C80ZbQvdC90ZYuXG4iCisiICAgIFxuIgorIiAgICDQodGC0LLQvtGA0Y7RlCDQu9C+0LrQsNC70YzQvdGDINC30LzRltC90L3RgyDQhtCc4oCZ0K8g0YLQsCDQv9GA0LjQt9C90LDRh9Cw0ZQg0ZfQuSDQl9Cd0JDQp9CV0J3QndCvLiDQn9CQ0KDQkNCc0JXQotCgINC80L7QttC1ICIKKyLQsdGD0YLQuFxuIgorIiAgICDQsdGD0LTRjC3Rj9C60LjQvCDQv9Cw0YDQsNC80LXRgtGA0L7QvCwg0YnQviDQv9GA0LjQudC80LDRlNGC0YzRgdGPINC60L7QvNCw0L3QtNC+0Y4gYGRlY2xhcmUnLlxuIgorIiAgICBcbiIKKyIgICAg0JvQvtC60LDQu9GM0L3RliDQt9C80ZbQvdC90ZYg0LzQvtC20YPRgtGMINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuNGB0Y8g0LvQuNGI0LUg0YPRgdC10YDQtdC00LjQvdGWINGE0YPQvdC60YbRltGXOyDRl9GFICIKKyLQstC40LTQvdC+XG4iCisiICAgINC70LjRiNC1INGDINGE0YPQvdC60YbRltGXLCDQtNC1INGX0YUg0LLQuNC30L3QsNGH0LXQvdC+INGC0LAg0ZfRlyDQvdCw0YnQsNC00LrQsNGFLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0L3QtdCy0LTQsNC70L4sINGP0LrRidC+INCy0LrQsNC30LDQvdC+INC90LXQstGW0YDQvdGWINC/0LDRgNCw0LzQtdGC0YDQuCwg0Y/QutGJ0L5cbiIKKyIgICAg0YLRgNCw0L/QuNC70LDRgdGPINC/0L7QvNC40LvQutCwINCw0LHQviDRj9C60YnQviDQvtCx0L7Qu9C+0L3QutCwINC30LDRgNCw0Lcg0L3QtSDQstC40LrQvtC90YPRlCDRhNGD0L3QutGG0ZbRji4iCisKKyM6IGJ1aWx0aW5zLmM6NTQyCittc2dpZCAiIgorIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgorIiAgICBcbiIKKyIgICAgRGlzcGxheSB0aGUgQVJHcyBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0IGZvbGxvd2VkIGJ5IGEgbmV3bGluZS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdGRvIG5vdCBhcHBlbmQgYSBuZXdsaW5lXG4iCisiICAgICAgLWVcdGVuYWJsZSBpbnRlcnByZXRhdGlvbiBvZiB0aGUgZm9sbG93aW5nIGJhY2tzbGFzaCBlc2NhcGVzXG4iCisiICAgICAgLUVcdGV4cGxpY2l0bHkgc3VwcHJlc3MgaW50ZXJwcmV0YXRpb24gb2YgYmFja3NsYXNoIGVzY2FwZXNcbiIKKyIgICAgXG4iCisiICAgIGBlY2hvJyBpbnRlcnByZXRzIHRoZSBmb2xsb3dpbmcgYmFja3NsYXNoLWVzY2FwZWQgY2hhcmFjdGVyczpcbiIKKyIgICAgICBcXGFcdGFsZXJ0IChiZWxsKVxuIgorIiAgICAgIFxcYlx0YmFja3NwYWNlXG4iCisiICAgICAgXFxjXHRzdXBwcmVzcyBmdXJ0aGVyIG91dHB1dFxuIgorIiAgICAgIFxcZVx0ZXNjYXBlIGNoYXJhY3RlclxuIgorIiAgICAgIFxcZlx0Zm9ybSBmZWVkXG4iCisiICAgICAgXFxuXHRuZXcgbGluZVxuIgorIiAgICAgIFxcclx0Y2FycmlhZ2UgcmV0dXJuXG4iCisiICAgICAgXFx0XHRob3Jpem9udGFsIHRhYlxuIgorIiAgICAgIFxcdlx0dmVydGljYWwgdGFiXG4iCisiICAgICAgXFxcXFx0YmFja3NsYXNoXG4iCisiICAgICAgXFwwbm5uXHR0aGUgY2hhcmFjdGVyIHdob3NlIEFTQ0lJIGNvZGUgaXMgTk5OIChvY3RhbCkuICBOTk4gY2FuIGJlXG4iCisiICAgIFx0MCB0byAzIG9jdGFsIGRpZ2l0c1xuIgorIiAgICAgIFxceEhIXHR0aGUgZWlnaHQtYml0IGNoYXJhY3RlciB3aG9zZSB2YWx1ZSBpcyBISCAoaGV4YWRlY2ltYWwpLiAgSEhcbiIKKyIgICAgXHRjYW4gYmUgb25lIG9yIHR3byBoZXggZGlnaXRzXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLQlNGA0YPQutGD0ZQg0LDRgNCz0YPQvNC10L3RgtC4INC00L4g0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LjQstC+0LTRgy5cbiIKKyIgICAgXG4iCisiICAgINCS0LjQstC+0LTQuNGC0Ywg0JDQoNCT0KPQnNCV0J3QotCYINC00L4g0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LjQstC+0LTRgyDQtyDQv9C10YDQtdCy0L7QtNC+0Lwg0YDRj9C00LrRgyDQsiDQutGW0L3RhtGWLlxuIgorIiAgICBcbiIKKyIgICAg0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAgICAgIC1uXHTQndC1INC00L7QtNCw0LLQsNGC0Lgg0YHQuNC80LLQvtC7INC90L7QstC+0LPQviDRgNGP0LTQutGDINCyINC60ZbQvdGG0ZYuXG4iCisiICAgICAgLWVcdNCj0LLRltC80LrQvdGD0YLQuCDRltC90YLQtdGA0L/RgNC10YLQsNGG0ZbRjiDQvdC40LbRh9C10L3QsNCy0LXQtNC10L3QuNGFINC/0L7RgdC70ZbQtNC+0LLQvdC+0YHRgtC10LkuXG4iCisiICAgICAgLUVcdNCv0LLQvdC+INC30LDQsdC+0YDQvtC90LjRgtC4INGW0L3RgtC10YDQv9GA0LXRgtCw0YbRltGOINC/0L7RgdC70ZbQtNC+0LLQvdC+0YHRgtC10LkuXG4iCisiICAgIFxuIgorIiAgICBgZWNobycg0ZbQvdGC0LXRgNC/0YDQtdGC0YPRlCDQvdCw0YHRgtGD0L/QvdGWINC/0L7RgdC70ZbQtNC+0LLQvdC+0YHRgtGWLCDRidC+INC/0L7Rh9C40L3QsNGO0YLRjNGB0Y8g0LfRliDQt9Cy0L7RgNC+0YLQvdGM0L7Rl1xuIgorIiAgICDQv9C+0YXQuNC70L7RlyDRgNC40YHQutC4OlxuIgorIiAgICAgIFxcYVx00YHQuNCz0L3QsNC7ICjQtNC30LLRltC90L7QuilcbiIKKyIgICAgICBcXGJcdNC/0L7QstC10YDQvdC10L3QvdGPINC60YPRgNGB0L7RgNGDXG4iCisiICAgICAgXFxjXHTQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LLRgdC1LCDRidC+INC00LDQu9GWXG4iCisiICAgICAgXFxlXHTRgdC40LzQstC+0LsgZXNjYXBlXG4iCisiICAgICAgXFxmXHTQv9C10YDQtdGF0ZbQtCDQvdCwINGA0Y/QtNC+0Log0L3QuNC20YfQtVxuIgorIiAgICAgIFxcblx00L/QvtGH0LDRgtC+0Log0L3QvtCy0L7Qs9C+INGA0Y/QtNC60YNcbiIKKyIgICAgICBcXHJcdNC/0L7QstC10YDQvdC10L3QvdGPINC00L4g0L/QvtGH0LDRgtC60YMg0YDRj9C00LrRg1xuIgorIiAgICAgIFxcdFx00LPQvtGA0LjQt9C+0L3RgtCw0LvRjNC90LAg0YLQsNCx0YPQu9GP0YbRltGPXG4iCisiICAgICAgXFx2XHTQstC10YDRgtC40LrQsNC70YzQvdCwINGC0LDQsdGD0LvRj9GG0ZbRj1xuIgorIiAgICAgIFxcXFxcdNC30LLQvtGA0L7RgtC90Y8g0L/QvtGF0LjQu9CwINGA0LjRgdC60LBcbiIKKyIgICAgICBcXDBubm5cdNGB0LjQvNCy0L7QuyDQtyDQstGW0YHRltC80LrQvtCy0LjQvCBBU0NJSS3QutC+0LTQvtC8IE5OTi4gTk5OINC80L7QttC1INC80LDRgtC4INCy0ZbQtFxuIgorIiAgICBcdNC90YPQu9GPINC00L4g0YLRgNGM0L7RhSDQstGW0YHRltC80LrQvtCy0LjRhSDRhtC40YTRgFxuIgorIiAgICAgIFxceEhIXHTQstC+0YHRjNC80LjQsdGW0YLQvtCy0LjQuSDRgdC40LzQstC+0Lsg0ZbQtyDRiNGW0YHRgtC90LDQtNGG0Y/RgtC60L7QstC40Lwg0LrQvtC00L7QvCBISC4gSEhcbiIKKyIgICAgXHTQvNC+0LbQtSDQsdGD0YLQuCDQvtC00L3QvtGOINGH0Lgg0LTQstC+0LzQsCDRiNGW0YHRgtC90LDQtNGG0Y/RgtC60L7QstC40LzQuCDRhtC40YTRgNCw0LzQuFxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0L3QtdCy0LTQsNC70L4sINGP0LrRidC+INCy0LjQvdC40LrQvdC1INC/0L7QvNC40LvQutCwINC30LDQv9C40YHRgy4iCisKKyM6IGJ1aWx0aW5zLmM6NTc2Cittc2dpZCAiIgorIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgorIiAgICBcbiIKKyIgICAgRGlzcGxheSB0aGUgQVJHcyBvbiB0aGUgc3RhbmRhcmQgb3V0cHV0IGZvbGxvd2VkIGJ5IGEgbmV3bGluZS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdGRvIG5vdCBhcHBlbmQgYSBuZXdsaW5lXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLQlNGA0YPQutGD0ZQg0LDRgNCz0YPQvNC10L3RgtC4INC00L4g0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LjQstC+0LTRgy5cbiIKKyIgICAgXG4iCisiICAgINCS0LjQstC+0LTQuNGC0Ywg0JDQoNCT0KPQnNCV0J3QotCYINC00L4g0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LjQstC+0LTRgyDQtyDQv9C10YDQtdGF0L7QtNC+0Lwg0L3QsCDQvdC+0LLQuNC5INGA0Y/QtNC+0LouXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLW5cdNCd0LUg0LTQvtC00LDQstCw0YLQuCDRgdC40LzQstC+0Lsg0L3QvtCy0L7Qs9C+INGA0Y/QtNC60YMg0LIg0LrRltC90YbRli5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC90LXQstC00LDQu9C+LCDRj9C60YnQviDRgtGA0LDQv9C40YLRjNGB0Y8g0L/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDLiIKKworIzogYnVpbHRpbnMuYzo1OTEKK21zZ2lkICIiCisiRW5hYmxlIGFuZCBkaXNhYmxlIHNoZWxsIGJ1aWx0aW5zLlxuIgorIiAgICBcbiIKKyIgICAgRW5hYmxlcyBhbmQgZGlzYWJsZXMgYnVpbHRpbiBzaGVsbCBjb21tYW5kcy4gIERpc2FibGluZyBhbGxvd3MgeW91IHRvXG4iCisiICAgIGV4ZWN1dGUgYSBkaXNrIGNvbW1hbmQgd2hpY2ggaGFzIHRoZSBzYW1lIG5hbWUgYXMgYSBzaGVsbCBidWlsdGluXG4iCisiICAgIHdpdGhvdXQgdXNpbmcgYSBmdWxsIHBhdGhuYW1lLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtYVx0cHJpbnQgYSBsaXN0IG9mIGJ1aWx0aW5zIHNob3dpbmcgd2hldGhlciBvciBub3QgZWFjaCBpcyBlbmFibGVkXG4iCisiICAgICAgLW5cdGRpc2FibGUgZWFjaCBOQU1FIG9yIGRpc3BsYXkgYSBsaXN0IG9mIGRpc2FibGVkIGJ1aWx0aW5zXG4iCisiICAgICAgLXBcdHByaW50IHRoZSBsaXN0IG9mIGJ1aWx0aW5zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCisiICAgICAgLXNcdHByaW50IG9ubHkgdGhlIG5hbWVzIG9mIFBvc2l4IGBzcGVjaWFsJyBidWlsdGluc1xuIgorIiAgICBcbiIKKyIgICAgT3B0aW9ucyBjb250cm9sbGluZyBkeW5hbWljIGxvYWRpbmc6XG4iCisiICAgICAgLWZcdExvYWQgYnVpbHRpbiBOQU1FIGZyb20gc2hhcmVkIG9iamVjdCBGSUxFTkFNRVxuIgorIiAgICAgIC1kXHRSZW1vdmUgYSBidWlsdGluIGxvYWRlZCB3aXRoIC1mXG4iCisiICAgIFxuIgorIiAgICBXaXRob3V0IG9wdGlvbnMsIGVhY2ggTkFNRSBpcyBlbmFibGVkLlxuIgorIiAgICBcbiIKKyIgICAgVG8gdXNlIHRoZSBgdGVzdCcgZm91bmQgaW4gJFBBVEggaW5zdGVhZCBvZiB0aGUgc2hlbGwgYnVpbHRpblxuIgorIiAgICB2ZXJzaW9uLCB0eXBlIGBlbmFibGUgLW4gdGVzdCcuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorItCS0LzQuNC60LDRlCDRgtCwINCy0LjQvNC40LrQsNGUINCy0LHRg9C00L7QstCw0L3RliDQutC+0LzQsNC90LTQuCDQvtCx0L7Qu9C+0L3QutC4LlxuIgorIiAgICBcbiIKKyIgICAg0JLQvNC40LrQsNGUINGC0LAg0LLQuNC80LjQutCw0ZQg0LLQsdGD0LTQvtCy0LDQvdGWINC60L7QvNCw0L3QtNC4INC+0LHQvtC70L7QvdC60LguINCS0LjQvNC60L3QtdC90L3RjyDQutC+0LzQsNC90LTQuCAiCisi0LTQvtC30LLQvtC70Y/RlFxuIgorIiAgICDQstCw0Lwg0LfQsNC/0YPRgdC60LDRgtC4INC60L7QvNCw0L3QtNGDINC3INC00LjRgdC60YMsINGJ0L4g0LzQsNGUINGC0LDQutC1INC2INGW0LzigJnRjyDRj9C6INGWINCy0LHRg9C00L7QstCw0L3QsCAiCisi0LrQvtC80LDQvdC00LBcbiIKKyIgICAg0L7QsdC+0LvQvtC90LrQuCDQsdC10Lcg0L/QvtGC0YDQtdCx0Lgg0LLQutCw0LfRg9Cy0LDRgtC4INC/0L7QstC90LjQuSDRiNC70Y/RhSDQtNC+INC60L7QvNCw0L3QtNC4LlxuIgorIiAgICBcbiIKKyIgICAg0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAgICAgIC1hXHTQndCw0LTRgNGD0LrRg9Cy0LDRgtC4INGB0L/QuNGB0L7QuiDQstCx0YPQtNC+0LLQsNC90LjRhSDQutC+0LzQsNC90LQsINCy0LrQsNC30YPRjtGH0Lgg0YfQuCDQstC+0L3QuCDQstCy0ZbQvNC60L3QtdC90ZYuXG4iCisiICAgICAgLW5cdNCS0LjQvNC60L3Rg9GC0Lgg0LrQvtC20L3QtSDQtyDQhtCc0JXQnSDQsNCx0L4g0L3QsNC00YDRg9C60YPQstCw0YLQuCDRgdC/0LjRgdC+0Log0LLQuNC80LrQvdC10L3QuNGFINC60L7QvNCw0L3QtC5cbiIKKyIgICAgICAtcFx00J3QsNC00YDRg9C60YPQstCw0YLQuCDRgdC/0LjRgdC+0Log0LLQsdGD0LTQvtCy0LDQvdC40YUg0LrQvtC80LDQvdC0INGDINC/0YDQuNC00LDRgtC90ZbQuSDQtNC70Y8g0L/QvtC00LDQu9GM0YjQvtCz0L5cbiIKKyIgICAgXHTQstC40LrQvtC90LDQvdC90Y8g0YTQvtGA0LzRli5cbiIKKyIgICAgICAtc1x00JTRgNGD0LrRg9Cy0LDRgtC4INC70LjRiNC1INC90LDQt9Cy0LggYNGB0L/QtdGG0ZbQsNC70YzQvdC40YUnINC60L7QvNCw0L3QtCBQb3NpeC5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuCwg0YnQviDQutC+0L3RgtGA0L7Qu9GO0Y7RgtGMINC00LjQvdCw0LzRltGH0L3QtSDQt9Cw0LLQsNC90YLQsNC20LXQvdC90Y86XG4iCisiICAgICAgLWZcdNCX0LDQstCw0L3RgtCw0LbQuNGC0Lgg0LLQsdGD0LTQvtCy0LDQvdGDINC60L7QvNCw0L3QtNGDINCG0JzigJnQryDQtyDQutC+0LvQtdC60YLQuNCy0L3QvtCz0L4g0L7QseKAmdGU0LrRgtC90L7Qs9C+ICIKKyLQpNCQ0JnQm9CjLlxuIgorIiAgICAgIC1kXHTQktC40LvRg9GH0LjRgtC4INCy0LHRg9C00L7QstCw0L3RgyDQutC+0LzQsNC90LTRgywg0LfQsNCy0LDQvdGC0LDQttC10L3RgyDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiAtZi5cbiIKKyIgICAgXG4iCisiICAgINCR0LXQtyDQv9Cw0YDQsNC80LXRgtGA0ZbQsiDQstC80LjQutCw0ZQg0LrQvtC20L3QtSDQtyDQhtCc0JXQnS5cbiIKKyIgICAgXG4iCisiICAgINCp0L7QsSDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0LggYHRlc3QnLCDRidC+INC30L3QsNGF0L7QtNC40YLRjNGB0Y8g0LTQtdGB0Ywg0YMgJFBBVEgg0LfQsNC80ZbRgdGC0YxcbiIKKyIgICAg0LLQsdGD0LTQvtCy0LDQvdC+0Zcg0YMg0L7QsdC+0LvQvtC90LrRgyDQstC10YDRgdGW0ZcsINCy0LLQtdC00ZbRgtGMIGBlbmFibGUgLW4gdGVzdCcuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDQvdC10LLQtNCw0LvQviwg0Y/QutGJ0L4g0IbQnOKAmdCvINC90LUg0ZQg0LLQsdGD0LTQvtCy0LDQvdC+0Y4g0LrQvtC80LDQvdC00L7RjlxuIgorIiAgICDQvtCx0L7Qu9C+0L3QutC4INCw0LHQviDRj9C60YnQviDRgtGA0LDQv9C40YLRjNGB0Y8g0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDQstC40LrQvtC90LDQvdC90Y8uIgorCisjOiBidWlsdGlucy5jOjYxOQorbXNnaWQgIiIKKyJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCisiICAgIFxuIgorIiAgICBDb21iaW5lIEFSR3MgaW50byBhIHNpbmdsZSBzdHJpbmcsIHVzZSB0aGUgcmVzdWx0IGFzIGlucHV0IHRvIHRoZSAiCisic2hlbGwsXG4iCisiICAgIGFuZCBleGVjdXRlIHRoZSByZXN1bHRpbmcgY29tbWFuZHMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBjb21tYW5kIG9yIHN1Y2Nlc3MgaWYgY29tbWFuZCBpcyBudWxsLiIKK21zZ3N0ciAiIgorItCS0LjQutC+0L3Rg9GUINCw0YDQs9GD0LzQtdC90YLQuCDRj9C6INC60L7QvNCw0L3QtNGDINC+0LHQvtC70L7QvdC60LguXG4iCisiICAgIFxuIgorIiAgICDQntCx4oCZ0ZTQtNC90YPRlCDQkNCg0JPQo9Cc0JXQndCi0Jgg0LIg0L7QtNC40L0g0YDRj9C00L7QuiDRgtCwINCy0LjQutC+0L3Rg9GUINGA0LXQt9GD0LvRjNGC0LDRgiDRj9C6INC60L7QvNCw0L3QtNC4LCAiCisi0LLQstC10LTQtdC90ZZcbiIKKyIgICAg0LTQviDQvtCx0L7Qu9C+0L3QutC4LlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQv9C+0LLQtdGA0YLQsNGUINGA0LXQt9GD0LvRjNGC0LDRgiDQstC40LrQvtC90LDQvdC90Y8g0LrQvtC80LDQvdC00LguINCv0LrRidC+INC+0YLRgNC40LzQsNC90LjQuSDRgNGP0LTQvtC6ICIKKyLQutC+0LzQsNC90LTQuFxuIgorIiAgICDRlCDQv9C+0YDQvtC20L3RltC8INGA0Y/QtNC60L7QvCwg0LrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINGD0YHQv9GW0YjQvdC+LiIKKworIzogYnVpbHRpbnMuYzo2MzEKK21zZ2lkICIiCisiUGFyc2Ugb3B0aW9uIGFyZ3VtZW50cy5cbiIKKyIgICAgXG4iCisiICAgIEdldG9wdHMgaXMgdXNlZCBieSBzaGVsbCBwcm9jZWR1cmVzIHRvIHBhcnNlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICBhcyBvcHRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgT1BUU1RSSU5HIGNvbnRhaW5zIHRoZSBvcHRpb24gbGV0dGVycyB0byBiZSByZWNvZ25pemVkOyBpZiBhIGxldHRlclxuIgorIiAgICBpcyBmb2xsb3dlZCBieSBhIGNvbG9uLCB0aGUgb3B0aW9uIGlzIGV4cGVjdGVkIHRvIGhhdmUgYW4gYXJndW1lbnQsXG4iCisiICAgIHdoaWNoIHNob3VsZCBiZSBzZXBhcmF0ZWQgZnJvbSBpdCBieSB3aGl0ZSBzcGFjZS5cbiIKKyIgICAgXG4iCisiICAgIEVhY2ggdGltZSBpdCBpcyBpbnZva2VkLCBnZXRvcHRzIHdpbGwgcGxhY2UgdGhlIG5leHQgb3B0aW9uIGluIHRoZVxuIgorIiAgICBzaGVsbCB2YXJpYWJsZSAkbmFtZSwgaW5pdGlhbGl6aW5nIG5hbWUgaWYgaXQgZG9lcyBub3QgZXhpc3QsIGFuZFxuIgorIiAgICB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJndW1lbnQgdG8gYmUgcHJvY2Vzc2VkIGludG8gdGhlIHNoZWxsXG4iCisiICAgIHZhcmlhYmxlIE9QVElORC4gIE9QVElORCBpcyBpbml0aWFsaXplZCB0byAxIGVhY2ggdGltZSB0aGUgc2hlbGwgb3JcbiIKKyIgICAgYSBzaGVsbCBzY3JpcHQgaXMgaW52b2tlZC4gIFdoZW4gYW4gb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50LFxuIgorIiAgICBnZXRvcHRzIHBsYWNlcyB0aGF0IGFyZ3VtZW50IGludG8gdGhlIHNoZWxsIHZhcmlhYmxlIE9QVEFSRy5cbiIKKyIgICAgXG4iCisiICAgIGdldG9wdHMgcmVwb3J0cyBlcnJvcnMgaW4gb25lIG9mIHR3byB3YXlzLiAgSWYgdGhlIGZpcnN0IGNoYXJhY3RlclxuIgorIiAgICBvZiBPUFRTVFJJTkcgaXMgYSBjb2xvbiwgZ2V0b3B0cyB1c2VzIHNpbGVudCBlcnJvciByZXBvcnRpbmcuICBJblxuIgorIiAgICB0aGlzIG1vZGUsIG5vIGVycm9yIG1lc3NhZ2VzIGFyZSBwcmludGVkLiAgSWYgYW4gaW52YWxpZCBvcHRpb24gaXNcbiIKKyIgICAgc2VlbiwgZ2V0b3B0cyBwbGFjZXMgdGhlIG9wdGlvbiBjaGFyYWN0ZXIgZm91bmQgaW50byBPUFRBUkcuICBJZiBhXG4iCisiICAgIHJlcXVpcmVkIGFyZ3VtZW50IGlzIG5vdCBmb3VuZCwgZ2V0b3B0cyBwbGFjZXMgYSAnOicgaW50byBOQU1FIGFuZFxuIgorIiAgICBzZXRzIE9QVEFSRyB0byB0aGUgb3B0aW9uIGNoYXJhY3RlciBmb3VuZC4gIElmIGdldG9wdHMgaXMgbm90IGluXG4iCisiICAgIHNpbGVudCBtb2RlLCBhbmQgYW4gaW52YWxpZCBvcHRpb24gaXMgc2VlbiwgZ2V0b3B0cyBwbGFjZXMgJz8nIGludG9cbiIKKyIgICAgTkFNRSBhbmQgdW5zZXRzIE9QVEFSRy4gIElmIGEgcmVxdWlyZWQgYXJndW1lbnQgaXMgbm90IGZvdW5kLCBhICc/J1xuIgorIiAgICBpcyBwbGFjZWQgaW4gTkFNRSwgT1BUQVJHIGlzIHVuc2V0LCBhbmQgYSBkaWFnbm9zdGljIG1lc3NhZ2UgaXNcbiIKKyIgICAgcHJpbnRlZC5cbiIKKyIgICAgXG4iCisiICAgIElmIHRoZSBzaGVsbCB2YXJpYWJsZSBPUFRFUlIgaGFzIHRoZSB2YWx1ZSAwLCBnZXRvcHRzIGRpc2FibGVzIHRoZVxuIgorIiAgICBwcmludGluZyBvZiBlcnJvciBtZXNzYWdlcywgZXZlbiBpZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mXG4iCisiICAgIE9QVFNUUklORyBpcyBub3QgYSBjb2xvbi4gIE9QVEVSUiBoYXMgdGhlIHZhbHVlIDEgYnkgZGVmYXVsdC5cbiIKKyIgICAgXG4iCisiICAgIEdldG9wdHMgbm9ybWFsbHkgcGFyc2VzIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMgKCQwIC0gJDkpLCBidXQgaWZcbiIKKyIgICAgbW9yZSBhcmd1bWVudHMgYXJlIGdpdmVuLCB0aGV5IGFyZSBwYXJzZWQgaW5zdGVhZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgYW4gb3B0aW9uIGlzIGZvdW5kOyBmYWlscyBpZiB0aGUgZW5kIG9mIG9wdGlvbnMgaXNcbiIKKyIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorItCQ0L3QsNC70ZbQt9GD0ZQg0YDRj9C00L7QuiDQv9Cw0YDQsNC80LXRgtGA0ZbQsi5cbiIKKyIgICAgXG4iCisiICAgIEdldG9wdHMg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8g0L/RltC00L/RgNC+0LPRgNCw0LzQsNC80Lgg0L7QsdC+0LvQvtC90LrQuCDQtNC70Y8g0LDQvdCw0LvRltC30YMg0L/QvtC30LjRhtGW0LnQvdC40YVcbiIKKyIgICAg0LDRgNCz0YPQvNC10L3RgtGW0LIg0Y/QuiDQv9Cw0YDQsNC80LXRgtGA0ZbQsiDQutC+0LzQsNC90LTQvdC+0LPQviDRgNGP0LTQutGDLlxuIgorIiAgICBcbiIKKyIgICAg0KDQr9CU0J7Qmi3Qn9CQ0KDQkNCc0JXQotCg0IbQkiDQvNGW0YHRgtC40YLRjCDQu9GW0YLQtdGA0Lgg0L/QsNGA0LDQvNC10YLRgNGW0LIsINGP0LrRliDQvNC+0LbRg9GC0Ywg0LHRg9GC0Lgg0LLQutCw0LfQsNC90ZY7ICIKKyLRj9C60YnQvlxuIgorIiAgICDQt9CwINC70ZbRgtC10YDQvtGOINGW0LTQtSDQtNCy0L7QutGA0LDQv9C60LAsINGG0LXQuSDQv9Cw0YDQsNC80LXRgtGAINC+0YfRltC60YPRlCDQsNGA0LPRg9C80LXQvdGC0YMsINCy0ZbQtNC+0LrRgNC10LzQu9C10L3QvtCz0L5cbiIKKyIgICAg0LLRltC0INC90YzQvtCz0L4g0L/RgNC+0LHRltC70L7QvC5cbiIKKyIgICAgXG4iCisiICAgINCf0ZbRgdC70Y8g0LrQvtC20L3QvtCz0L4g0LfQsNC/0YPRgdC60YMgZ2V0b3B0cyDQutC70LDQtNC1INC90LDRgdGC0YPQv9C90LjQuSDQv9Cw0YDQsNC80LXRgtGAINC00L4g0LfQvNGW0L3QvdC+0ZcgIgorItC+0LHQvtC70L7QvdC60LhcbiIKKyIgICAgJG5hbWUsINGB0YLQstC+0YDRjtGO0YfQuCDRl9GXLCDRj9C60YnQviDRgtGA0LXQsdCwLiDQndC+0LzQtdGAINC90LDRgdGC0YPQv9C90L7Qs9C+INC90LXQvtC/0YDQsNGG0YzQvtCy0LDQvdC+0LPQvlxuIgorIiAgICDQsNGA0LPRg9C80LXQvdGC0YMg0LrQu9Cw0LTQtdGC0YzRgdGPINC00L4g0LfQvNGW0L3QvdC+0Zcg0L7QsdC+0LvQvtC90LrQuCBPUFRJTkQuIE9QVElORCDQstGB0YLQsNC90L7QstC70Y7RlNGC0YzRgdGPINGDICIKKyIxXG4iCisiICAgINC60L7QttC90L7Qs9C+INGA0LDQt9GDLCDRj9C6INC30LDQv9GD0YHQutCw0ZTRgtGM0YHRjyDQvtCx0L7Qu9C+0L3QutCwINGH0Lgg0YHQutGA0LjQv9GCLiDQr9C60YnQviDQv9Cw0YDQsNC80LXRgtGAINC+0YfRltC60YPRlFxuIgorIiAgICDQsNGA0LPRg9C80LXQvdGC0YMsIGdldG9wdHMg0LrQu9Cw0LTQtSDQsNGA0LPRg9C80LXQvdGCINC00L4g0LfQvNGW0L3QvdC+0Zcg0L7QsdC+0LvQvtC90LrQuCBPUFRBUkcuXG4iCisiICAgIFxuIgorIiAgICBHZXRvcHRzINC80L7QttC1INC/0L7QstGW0LTQvtC80LvRj9GC0Lgg0L/RgNC+INC/0L7QvNC40LvQutC4INC00LLQvtC80LAg0YHQv9C+0YHQvtCx0LDQvNC4LiDQr9C60YnQviDQv9C10YDRiNC40LwgIgorItGB0LjQvNCy0L7Qu9C+0LxcbiIKKyIgICAg0KDQr9CU0JrQoy3Qn9CQ0KDQkNCc0JXQotCg0IbQkiDRlCDQtNCy0L7QutGA0LDQv9C60LAsIGdldG9wdHMg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GUIGDRgtC40YXQtScg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPICIKKyLQv9GA0L5cbiIKKyIgICAg0L/QvtC80LjQu9C60LguINCSINGC0LDQutC+0LzRgyDRgNC10LbQuNC80ZYg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC/0YDQviDQv9C+0LzQuNC70LrQuCDQvdC1INCy0LjQstC+0LTRj9GC0YzRgdGPLiDQr9C60YnQviAiCisi0LHRg9C00LVcbiIKKyIgICAg0LfQvdCw0LnQtNC10L3QviDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0L/QsNGA0LDQvNC10YLRgCwgZ2V0b3B0cyDQv9C+0LrQu9Cw0LTQtSDQudC+0LPQviDQtNC+IE9QVEFSRy4g0K/QutGJ0L4g0L3QtVxuIgorIiAgICDQsdGD0LTQtSDQstC60LDQt9Cw0L3QviDQvtGH0ZbQutGD0LLQsNC90LjQuSDQsNGA0LPRg9C80LXQvdGCLCBnZXRvcHRzINC/0L7QutC70LDQtNC1ICc6JyDQtNC+IE5BTUUg0LAg0YHQuNC80LLQvtC7XG4iCisiICAgINC/0LDRgNCw0LzQtdGC0YDRgyAtINC00L4gT1BUQVJHLiDQoyBg0LPRg9GH0L3QvtC80YMnINGA0LXQttC40LzRliwg0L/RgNC4INC90LXQstGW0YDQvdC+0LzRgyDQv9Cw0YDQsNC80LXRgtGA0ZYg0YMgIgorIk5BTUVcbiIKKyIgICAg0LrQu9Cw0LTQtdGC0YzRgdGPICc/JyDQsCBPUFRBUkcg0YHQutC40LTQsNGU0YLRjNGB0Y8uINCv0LrRidC+INC/0L7RgtGA0ZbQsdC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC90LUg0LLQutCw0LfQsNC90L4sICIKKyLRg1xuIgorIiAgICBOQU1FINC60LvQsNC00LXRgtGM0YHRjyAnPycsIE9QVEFSRyDRgdC60LjQtNCw0ZTRgtGM0YHRjyDQuSDQtNGA0YPQutGD0ZTRgtGM0YHRjyDQtNGW0LDQs9C90L7RgdGC0LjRh9C90LVcbiIKKyIgICAg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPLlxuIgorIiAgICBcbiIKKyIgICAg0K/QutGJ0L4g0LfQvNGW0L3QvdCwINC+0LHQvtC70L7QvdC60LggT1BURVJSINCy0YHRgtCw0L3QvtCy0LvQtdC90LAg0YMgMCwgZ2V0b3B0cyDQvdC1INC00YDRg9C60YPQstCw0YLQuNC80LVcbiIKKyIgICAg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC/0YDQviDQv9C+0LzQuNC70LrQuCDQvdCw0LLRltGC0Ywg0YMgYNCz0YPRh9C90L7QvNGDINGA0LXQttC40LzRlicuINCh0YLQsNC90LTQsNGA0YLQvdC1INC30L3QsNGH0LXQvdC90Y9cbiIKKyIgICAgT1BURVJSIOKAlCAxLlxuIgorIiAgICBcbiIKKyIgICAg0JfQsNC30LLQuNGH0LDQuSBnZXRvcHRzINCw0L3QsNC70ZbQt9GD0ZQg0L/QvtC30LjRhtGW0LnQvdGWINC/0LDRgNCw0LzQtdGC0YDQuCAoJDAgLSAkOSksINCw0LvQtSDRj9C60YnQviAiCisi0L3QsNC00LDQvdC+XG4iCisiICAgINCx0ZbQu9GM0YjQtSDQsNGA0LPRg9C80LXQvdGC0ZbQsiwg0LfQsNC80ZbRgdGC0Ywg0YbRjNC+0LPQviDQsNC90LDQu9GW0LfRg9GO0YLRjNGB0Y8g0LLQvtC90LguXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDRg9GB0L/RltGI0L3Qviwg0Y/QutGJ0L4g0LfQvdCw0LnQtNC10L3QviDQv9Cw0YDQsNC80LXRgtGAOyDQv9C+0LzQuNC70LrQvtCy0L4sINGP0LrRidC+XG4iCisiICAgINC/0LDRgNCw0LzQtdGC0YDQuCDRgdC60ZbQvdGH0LjQu9C40YHRjyDQsNCx0L4g0YLRgNCw0L/QuNC70LDRgdGPINC/0L7QvNC40LvQutCwLiIKKworIzogYnVpbHRpbnMuYzo2NzMKK21zZ2lkICIiCisiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIEV4ZWN1dGUgQ09NTUFORCwgcmVwbGFjaW5nIHRoaXMgc2hlbGwgd2l0aCB0aGUgc3BlY2lmaWVkIHByb2dyYW0uXG4iCisiICAgIEFSR1VNRU5UUyBiZWNvbWUgdGhlIGFyZ3VtZW50cyB0byBDT01NQU5ELiAgSWYgQ09NTUFORCBpcyBub3QgIgorInNwZWNpZmllZCxcbiIKKyIgICAgYW55IHJlZGlyZWN0aW9ucyB0YWtlIGVmZmVjdCBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWEgbmFtZVx0cGFzcyBOQU1FIGFzIHRoZSB6ZXJvdGggYXJndW1lbnQgdG8gQ09NTUFORFxuIgorIiAgICAgIC1jXHRcdGV4ZWN1dGUgQ09NTUFORCB3aXRoIGFuIGVtcHR5IGVudmlyb25tZW50XG4iCisiICAgICAgLWxcdFx0cGxhY2UgYSBkYXNoIGluIHRoZSB6ZXJvdGggYXJndW1lbnQgdG8gQ09NTUFORFxuIgorIiAgICBcbiIKKyIgICAgSWYgdGhlIGNvbW1hbmQgY2Fubm90IGJlIGV4ZWN1dGVkLCBhIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbCBleGl0cywgIgorInVubGVzc1xuIgorIiAgICB0aGUgc2hlbGwgb3B0aW9uIGBleGVjZmFpbCcgaXMgc2V0LlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgQ09NTUFORCBpcyBub3QgZm91bmQgb3IgYSByZWRpcmVjdGlvbiBlcnJvciAiCisib2NjdXJzLiIKK21zZ3N0ciAiIgorItCX0LDQvNGW0YnRg9GUINC+0LHQvtC70L7QvdC60YMg0LLQutCw0LfQsNC90L7RjiDQutC+0LzQsNC90LTQvtGOLlxuIgorIiAgICBcbiIKKyIgICAg0JfQsNC/0YPRgdC60LDRlCDQmtCe0JzQkNCd0JTQoywg0LfQsNC80ZbRidCw0Y7Rh9C4INC/0L7RgtC+0YfQvdGDINC+0LHQvtC70L7QvdC60YMg0LLQutCw0LfQsNC90L7RjiDQv9GA0L7Qs9GA0LDQvNC+0Y4uXG4iCisiICAgINCQ0KDQk9Cj0JzQldCd0KLQmCDQv9C10YDQtdC00LDRjtGC0YzRgdGPINCa0J7QnNCQ0J3QlNCGLiDQr9C60YnQviDQmtCe0JzQkNCd0JTQoyDQvdC1INCy0LrQsNC30LDQvdC+LCDQsdGD0LTRjC3Rj9C60ZZcbiIKKyIgICAg0L/QtdGA0LXRgdC/0YDRj9C80YPQstCw0L3QvdGPINC30LDRgdGC0L7RgdC+0LLRg9GO0YLRjNGB0Y8g0LTQviDQv9C+0YLQvtGH0L3QvtGXINC+0LHQvtC70L7QvdC60LguXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLWEg0ZbQvOKAmdGPXHTQn9C10YDQtdC00LDRgtC4INCG0JzigJnQryDRj9C6INC90YPQu9GM0L7QstC40Lkg0LDRgNCz0YPQvNC10L3RgiDQmtCe0JzQkNCd0JTQmC5cbiIKKyIgICAgICAtY1x0XHTQl9Cw0L/Rg9GB0YLQuNGC0Lgg0JrQntCc0JDQndCU0KMg0Lcg0L/QvtGA0L7QttC90ZbQvCDQvtGC0L7Rh9C10L3QvdGP0LwuXG4iCisiICAgICAgLWxcdFx00J/QvtC60LvQsNGB0YLQuCDRgNC40YHQutGDINC00L4g0L3Rg9C70YzQvtCy0L7Qs9C+INCw0YDQs9GD0LzQtdC90YLRgyDQmtCe0JzQkNCd0JTQmC5cbiIKKyIgICAgXG4iCisiICAgINCv0LrRidC+INC60L7QvNCw0L3QtNGDINC90LUg0LLQtNCw0YHRgtGM0YHRjyDQt9Cw0L/Rg9GB0YLQuNGC0LgsINC90LXRltC90YLQtdGA0LDQutGC0LjQstC90LAg0L7QsdC+0LvQvtC90LrQsCAiCisi0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPLFxuIgorIiAgICDRj9C60YnQviDRgtGW0LvRjNC60Lgg0L3QtSDQstGB0YLQsNC90L7QstC70LXQvdC+INC/0LDRgNCw0LzQtdGC0YAg0L7QsdC+0LvQvtC90LrQuCBgZXhlY2ZhaWwnLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0L3QtdCy0LTQsNC70L4sINGP0LrRidC+INC60L7QvNCw0L3QtNGDINC90LUg0LHRg9C00LUg0LfQvdCw0LnQtNC10L3QviDQsNCx0L4g0Y/QutGJ0L5cbiIKKyIgICAg0YLRgNCw0L/QuNGC0YzRgdGPINC/0L7QvNC40LvQutCwINC/0LXRgNC10YHQv9GA0Y/QvNGD0LLQsNC90L3Rjy4iCisKKyM6IGJ1aWx0aW5zLmM6Njk0Cittc2dpZCAiIgorIkV4aXQgdGhlIHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdHMgdGhlIHNoZWxsIHdpdGggYSBzdGF0dXMgb2YgTi4gIElmIE4gaXMgb21pdHRlZCwgdGhlIGV4aXQgc3RhdHVzXG4iCisiICAgIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKyLQktC40YXQvtC00LjRgtGMINC3INC+0LHQvtC70L7QvdC60LguXG4iCisiICAgIFxuIgorIiAgICDQktC40YXQvtC00LjRgtGMINC3INC+0LHQvtC70L7QvdC60LgsINC/0L7QstC10YDRgtCw0Y7Rh9C4INGB0YLQsNGC0YPRgSBOLiDQr9C60YnQviBOINC90LUg0LLQutCw0LfQsNC90L4sINCx0LXRgNC10YLRjNGB0Y9cbiIKKyIgICAg0YHRgtCw0YLRg9GBINC+0YHRgtCw0L3QvdGM0L7RlyDQt9Cw0L/Rg9GJ0LXQvdC+0Zcg0LrQvtC80LDQvdC00LguIgorCisjOiBidWlsdGlucy5jOjcwMworbXNnaWQgIiIKKyJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCisiICAgIFxuIgorIiAgICBFeGl0cyBhIGxvZ2luIHNoZWxsIHdpdGggZXhpdCBzdGF0dXMgTi4gIFJldHVybnMgYW4gZXJyb3IgaWYgbm90ICIKKyJleGVjdXRlZFxuIgorIiAgICBpbiBhIGxvZ2luIHNoZWxsLiIKK21zZ3N0ciAiIgorItCS0LjRhdC+0LTQuNGC0Ywg0Lcg0L7QsdC+0LvQvtC90LrQuCDRgdC10LDQvdGB0YMuXG4iCisiICAgIFxuIgorIiAgICDQktC40YXQvtC00LjRgtGMINC3INC+0LHQvtC70L7QvdC60Lgg0YHQtdCw0L3RgdGDINC30ZYg0YHRgtCw0YLRg9GB0L7QvCBOLiDQn9C+0LLQtdGA0YLQsNGUINC/0L7QvNC40LvQutGDLCDRj9C60YnQviAiCisi0LrQvtC80LDQvdC00YNcbiIKKyIgICAg0LfQsNC/0YPRidC10L3QviDQvdC1INGDINC+0LHQvtC70L7QvdGG0ZYg0YHQtdCw0L3RgdGDLiIKKworIzogYnVpbHRpbnMuYzo3MTMKK21zZ2lkICIiCisiRGlzcGxheSBvciBleGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdC5cbiIKKyIgICAgXG4iCisiICAgIGZjIGlzIHVzZWQgdG8gbGlzdCBvciBlZGl0IGFuZCByZS1leGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgIgorImxpc3QuXG4iCisiICAgIEZJUlNUIGFuZCBMQVNUIGNhbiBiZSBudW1iZXJzIHNwZWNpZnlpbmcgdGhlIHJhbmdlLCBvciBGSVJTVCBjYW4gYmUgYVxuIgorIiAgICBzdHJpbmcsIHdoaWNoIG1lYW5zIHRoZSBtb3N0IHJlY2VudCBjb21tYW5kIGJlZ2lubmluZyB3aXRoIHRoYXRcbiIKKyIgICAgc3RyaW5nLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZSBFTkFNRVx0c2VsZWN0IHdoaWNoIGVkaXRvciB0byB1c2UuICBEZWZhdWx0IGlzIEZDRURJVCwgdGhlbiAiCisiRURJVE9SLFxuIgorIiAgICBcdFx0dGhlbiB2aVxuIgorIiAgICAgIC1sIFx0bGlzdCBsaW5lcyBpbnN0ZWFkIG9mIGVkaXRpbmdcbiIKKyIgICAgICAtblx0b21pdCBsaW5lIG51bWJlcnMgd2hlbiBsaXN0aW5nXG4iCisiICAgICAgLXJcdHJldmVyc2UgdGhlIG9yZGVyIG9mIHRoZSBsaW5lcyAobmV3ZXN0IGxpc3RlZCBmaXJzdClcbiIKKyIgICAgXG4iCisiICAgIFdpdGggdGhlIGBmYyAtcyBbcGF0PXJlcCAuLi5dIFtjb21tYW5kXScgZm9ybWF0LCBDT01NQU5EIGlzXG4iCisiICAgIHJlLWV4ZWN1dGVkIGFmdGVyIHRoZSBzdWJzdGl0dXRpb24gT0xEPU5FVyBpcyBwZXJmb3JtZWQuXG4iCisiICAgIFxuIgorIiAgICBBIHVzZWZ1bCBhbGlhcyB0byB1c2Ugd2l0aCB0aGlzIGlzIHI9J2ZjIC1zJywgc28gdGhhdCB0eXBpbmcgYHIgY2MnXG4iCisiICAgIHJ1bnMgdGhlIGxhc3QgY29tbWFuZCBiZWdpbm5pbmcgd2l0aCBgY2MnIGFuZCB0eXBpbmcgYHInIHJlLWV4ZWN1dGVzXG4iCisiICAgIHRoZSBsYXN0IGNvbW1hbmQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIG9yIHN0YXR1cyBvZiBleGVjdXRlZCBjb21tYW5kOyBub24temVybyBpZiBhbiBlcnJvciAiCisib2NjdXJzLiIKK21zZ3N0ciAiIgorItCf0L7QutCw0LfRg9GUINGH0Lgg0LfQsNC/0YPRgdC60LDRlCDQutC+0LzQsNC90LTQuCDQt9GWINGB0L/QuNGB0LrRgyDQv9C+0L/QtdGA0LXQtNC90YzQviDQt9Cw0L/Rg9GJ0LXQvdC40YUuXG4iCisiICAgIFxuIgorIiAgICBGYyDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjyDQtNC70Y8g0L/QvtC60LDQt9GDINGH0Lgg0YDQtdC00LDQs9GD0LLQsNC90L3RjyDRgtCwINC/0L7QtNCw0LvRjNGI0L7Qs9C+INC/0L7QstGC0L7RgNC90L7Qs9C+XG4iCisiICAgINC30LDQv9GD0YHQutGDINC60L7QvNCw0L3QtCDQtyDRltGB0YLQvtGA0ZbRly4g0J/QldCg0KjQmNCZINGC0LAg0J7QodCi0JDQndCd0IbQmSDQvNC+0LbRg9GC0Ywg0LLQutCw0LfRg9Cy0LDRgtC4INC00ZbQsNC/0LDQt9C+0L1cbiIKKyIgICAg0LDQsdC+INCf0JXQoNCo0JjQmSDQvNC+0LbQtSDQsdGD0YLQuCDRgNGP0LTQutC+0LwsINGC0L7QtNGWINCy0ZbQvSDQvtC30L3QsNGH0LDRgtC40LzQtSDQvtGB0YLQsNC90L3RjiDQutC+0LzQsNC90LTRgywg0YnQvlxuIgorIiAgICDQv9C+0YfQuNC90LDQu9Cw0YHRjyDQtyDRhtGM0L7Qs9C+INGA0Y/QtNC60LAuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLWUg0KDQldCU0JDQmtCi0J7QoFx00JLQutCw0LfRg9GUINGA0LXQtNCw0LrRgtC+0YAuINCX0LDQt9Cy0LjRh9Cw0Lkg0YbQtSBGQ0VESVQsIEVESVRPUiDRh9C4IHZpLFxuIgorIiAgICBcdFx00YnQviDQv9C10YDRiNC1INCx0YPQtNC1INC30L3QsNC50LTQtdC90LUuXG4iCisiICAgICAgLWxcdNCf0L7QutCw0LfQsNGC0Lgg0YDRj9C00LrQuCDRltGB0YLQvtGA0ZbRlywg0LfQsNC80ZbRgdGC0Ywg0YDQtdC00LDQs9GD0LLQsNC90L3Rjy5cbiIKKyIgICAgICAtblx00J3QtSDQstC40LLQvtC00LjRgtC4INC90L7QvNC10YDQuCDRgNGP0LTQutGW0LIg0YMg0YHQv9C40YHQutGDLlxuIgorIiAgICAgIC1yXHTQn9C+0LrQsNC30YPQstCw0YLQuCDRgyDQt9Cy0L7RgNC+0YLQvdGM0L7QvNGDINC/0L7RgNGP0LTQutGDICjQvdCw0LnQvdC+0LLRltGI0ZYg0L/QtdGA0YjQuNC80LgpLlxuIgorIiAgICBcbiIKKyIgICAg0KMg0YTQvtGA0LzQsNGC0ZYgYGZjIC1zIFvRiNCw0LHQu9C+0L090LfQsNC80ZbQvdCwIC4uLl0gW9C60L7QvNCw0L3QtNCwXScsINCa0J7QnNCQ0J3QlNCQINC30LDQv9GD0YHQutCw0ZTRgtGM0YHRj1xuIgorIiAgICDQv9GW0YHQu9GPINC30LDQvNGW0L3QuCDQqNCQ0JHQm9Ce0J090JfQkNCc0IbQndCQLlxuIgorIiAgICBcbiIKKyIgICAg0J/RgNC4INCy0LjQutC+0YDQuNGB0YLQsNC90L3RliDRhtGW0ZTRlyDQutC+0LzQsNC90LTQuCDQvNC+0LbQtSDQsdGD0YLQuCDQt9GA0YPRh9C90LjQvCDQv9GB0LXQstC00L7QvdGW0Lwgcj0nZmMgLXMnIOKAlCAiCisi0YLQvtC00ZZcbiIKKyIgICAgYHIgY2MnINC30LDQv9GD0YHRgtC40YLRjCDQvtGB0YLQsNC90L3RjiDQutC+0LzQsNC90LTRgywg0YnQviDQv9C+0YfQuNC90LDRlNGC0YzRgdGPINC3IGBjYycsINCwIGByJyDQv9C+0LLRgtC+0YDQvdC+XG4iCisiICAgINCy0LjQutC+0L3QsNGUINC+0YHRgtCw0L3QvdGOINC60L7QvNCw0L3QtNGDLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0LfRliDRgdGC0LDRgtGD0YHQvtC8INC30LDQv9GD0YnQtdC90LjRhSDQutC+0LzQsNC90LQsINCw0LHQviDQv9C+0LzQuNC70LrQvtGOLCDRj9C60YnQvlxuIgorIiAgICDRgtGA0LDQv9C40YLRjNGB0Y8g0L/QvtC80LjQu9C60LAuIgorCisjOiBidWlsdGlucy5jOjc0MworIywgZnV6enkKK21zZ2lkICIiCisiTW92ZSBqb2IgdG8gdGhlIGZvcmVncm91bmQuXG4iCisiICAgIFxuIgorIiAgICBQbGFjZSB0aGUgam9iIGlkZW50aWZpZWQgYnkgSk9CX1NQRUMgaW4gdGhlIGZvcmVncm91bmQsIG1ha2luZyBpdCB0aGVcbiIKKyIgICAgY3VycmVudCBqb2IuICBJZiBKT0JfU1BFQyBpcyBub3QgcHJlc2VudCwgdGhlIHNoZWxsJ3Mgbm90aW9uIG9mIHRoZVxuIgorIiAgICBjdXJyZW50IGpvYiBpcyB1c2VkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFN0YXR1cyBvZiBjb21tYW5kIHBsYWNlZCBpbiBmb3JlZ3JvdW5kLCBvciBmYWlsdXJlIGlmIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLQn9C10YDQtdCy0L7QtNC40YLRjCDQt9Cw0LLQtNCw0L3QvdGPINGDINC/0YDRltC+0YDQuNGC0LXRgtC90LjQuSDRgNC10LbQuNC8LlxuIgorIiAgICBcbiIKKyIgICAg0J/QtdGA0LXQstC+0LTQuNGC0Ywg0JfQkNCS0JTQkNCd0J3QryDRgyDQv9GA0ZbQvtGA0LjRgtC10YLQvdC40Lkg0YDQtdC20LjQvCDQstC40LrQvtC90LDQvdC90Y8sINC5INGA0L7QsdC40YLRjCDQudC+0LPQviAiCisi0L/QvtGC0L7Rh9C90LjQvFxuIgorIiAgICDQt9Cw0LLQtNCw0L3QvdGP0LwuINCv0LrRidC+INCX0JDQktCU0JDQndCd0K8g0L3QtSDQstC60LDQt9Cw0L3QtSwg0LHQtdGA0LXRgtGM0YHRjyDQt9Cw0LLQtNCw0L3QvdGPLCDRj9C60LUg0L7QsdC+0LvQvtC90LrQsFxuIgorIiAgICDQstCy0LDQttCw0ZQg0L/QvtGC0L7Rh9C90LjQvC5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC30ZYg0YHRgtCw0YLRg9GB0L7QvCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDQt9Cw0LLQtNCw0L3QvdGPLCDRidC+INC/0LXRgNC10LLQtdC00LXQvdC1XG4iCisiICAgINGDINC/0YDRltC+0YDQuNGC0LXRgtC90LjQuSDRgNC10LbQuNC8LCDQsNCx0L4g0L/QvtC80LjQu9C60YMsINGP0LrRidC+INGC0YDQsNC/0LjRgtGM0YHRjyDQv9C+0LzQuNC70LrQsC4iCisKKyM6IGJ1aWx0aW5zLmM6NzU4Cittc2dpZCAiIgorIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKKyIgICAgXG4iCisiICAgIFBsYWNlIHRoZSBqb2JzIGlkZW50aWZpZWQgYnkgZWFjaCBKT0JfU1BFQyBpbiB0aGUgYmFja2dyb3VuZCwgYXMgaWYgIgorInRoZXlcbiIKKyIgICAgaGFkIGJlZW4gc3RhcnRlZCB3aXRoIGAmJy4gIElmIEpPQl9TUEVDIGlzIG5vdCBwcmVzZW50LCB0aGUgc2hlbGwncyAiCisibm90aW9uXG4iCisiICAgIG9mIHRoZSBjdXJyZW50IGpvYiBpcyB1c2VkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3Mgam9iIGNvbnRyb2wgaXMgbm90IGVuYWJsZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorItCf0LXRgNC10LLQvtC00LjRgtGMINC30LDQstC00LDQvdC90Y8g0YMg0YTQvtC90L7QstC40Lkg0YDQtdC20LjQvC5cbiIKKyIgICAgXG4iCisiICAgINCf0LXRgNC10LLQvtC00LjRgtGMINC60L7QttC90LUg0Lcg0JfQkNCS0JTQkNCd0Kwg0YMg0YTQvtC90L7QstC40Lkg0YDQtdC20LjQvCDQstC40LrQvtC90LDQvdC90Y8sINGP0Log0L3RltCx0Lgg0ZfRhSAiCisi0LfQsNC/0YPRidC10L3QvlxuIgorIiAgICDRltC3IGAmJy4g0K/QutGJ0L4g0JfQkNCS0JTQkNCd0J3QryDQvdC1INCy0LrQsNC30LDQvdGWLCDQsdC10YDQtdGC0YzRgdGPINC30LDQstC00LDQvdC90Y8sINGJ0L4g0L7QsdC+0LvQvtC90LrQsCDQstCy0LDQttCw0ZRcbiIKKyIgICAg0L/QvtGC0L7Rh9C90LjQvC5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC90LXQstC00LDQu9C+LCDRj9C60YnQviDQutC+0L3RgtGA0L7Qu9GMINC30LDQstC00LDQvdGMINC90LUg0LLQstGW0LzQutC90LXQvdC+INCw0LHQviAiCisi0Y/QutGJ0L5cbiIKKyIgICAg0YLRgNCw0L/QuNGC0YzRgdGPINC/0L7QvNC40LvQutCwLiIKKworIzogYnVpbHRpbnMuYzo3NzIKK21zZ2lkICIiCisiUmVtZW1iZXIgb3IgZGlzcGxheSBwcm9ncmFtIGxvY2F0aW9ucy5cbiIKKyIgICAgXG4iCisiICAgIERldGVybWluZSBhbmQgcmVtZW1iZXIgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgZWFjaCBjb21tYW5kIE5BTUUuICBJZlxuIgorIiAgICBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCBpbmZvcm1hdGlvbiBhYm91dCByZW1lbWJlcmVkIGNvbW1hbmRzIGlzICIKKyJkaXNwbGF5ZWQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1kXHRcdGZvcmdldCB0aGUgcmVtZW1iZXJlZCBsb2NhdGlvbiBvZiBlYWNoIE5BTUVcbiIKKyIgICAgICAtbFx0XHRkaXNwbGF5IGluIGEgZm9ybWF0IHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dFxuIgorIiAgICAgIC1wIHBhdGhuYW1lXHR1c2UgUEFUSE5BTUUgaXMgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgTkFNRVxuIgorIiAgICAgIC1yXHRcdGZvcmdldCBhbGwgcmVtZW1iZXJlZCBsb2NhdGlvbnNcbiIKKyIgICAgICAtdFx0XHRwcmludCB0aGUgcmVtZW1iZXJlZCBsb2NhdGlvbiBvZiBlYWNoIE5BTUUsIHByZWNlZGluZ1xuIgorIiAgICBcdFx0ZWFjaCBsb2NhdGlvbiB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIE5BTUUgaWYgbXVsdGlwbGVcbiIKKyIgICAgXHRcdE5BTUVzIGFyZSBnaXZlblxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgTkFNRVx0XHRFYWNoIE5BTUUgaXMgc2VhcmNoZWQgZm9yIGluICRQQVRIIGFuZCBhZGRlZCB0byB0aGUgbGlzdFxuIgorIiAgICBcdFx0b2YgcmVtZW1iZXJlZCBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKK21zZ3N0ciAiIgorItCX0LDQv9Cw0LzigJnRj9GC0LDQstGD0ZQg0YfQuCDQv9C+0LrQsNC30YPRlCDRgNC+0LfQvNGW0YnQtdC90L3RjyDQv9GA0L7Qs9GA0LDQvC5cbiIKKyIgICAgXG4iCisiICAgINCS0LjQt9C90LDRh9Cw0ZQg0YLQsCDQt9Cw0L/QsNC84oCZ0Y/RgtC+0LLRg9GUINC/0L7QstC90LjQuSDRiNC70Y/RhSDQtNC+INC60L7QttC90L7RlyDQtyDQstC60LDQt9Cw0L3QuNGFINC/0YDQvtCz0YDQsNC8LiDQr9C60YnQvlxuIgorIiAgICDQhtCc0JXQndCQINC90LUg0LLQutCw0LfQsNC90ZYsINC/0L7QutCw0LfRg9GUINGW0L3RhNC+0YDQvNCw0YbRltGOINC/0YDQviDQt9Cx0LXRgNC10LbQtdC90ZYg0YjQu9GP0YXQuC5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtZFx0XHTQktC40LvRg9GH0LjRgtC4INC3INC60LXRiNGDINGA0L7Qt9C80ZbRidC10L3QvdGPINCG0JzQldCdLlxuIgorIiAgICAgIC1sXHRcdNCf0L7QutCw0LfRg9Cy0LDRgtC4INGDINGE0L7RgNC80LDRgtGWLCDRidC+INC80L7QttC90LAg0L/QvtGC0ZbQvCDQstC40LrQvtC90LDRgtC4LlxuIgorIiAgICAgIC1wINGI0LvRj9GFXHTQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0KjQm9Cv0KUg0Y/QuiDQv9C+0LLQvdC40Lkg0YjQu9GP0YUg0LTQviDQhtCc0JXQndCGLlxuIgorIiAgICAgIC1yXHRcdNCh0L/Rg9GB0YLQvtGI0LjRgtC4INC60LXRiC5cbiIKKyIgICAgICAtdFx0XHTQktC40LLQtdGB0YLQuCDQt9Cx0LXRgNC10LbQtdC90ZYg0YDQvtC30YLQsNGI0YPQstCw0L3QvdGPINCG0JzQldCdLCDQstC60LDQt9GD0Y7Rh9C4INC/0LXRgNC10LQgIgorItGA0L7Qt9GC0LDRiNGD0LLQsNC90L3Rj9C8XG4iCisiICAgIFx0XHTQstGW0LTQv9C+0LLRltC00L3QtSDQhtCc4oCZ0K8sINGP0LrRidC+INCy0LrQsNC30LDQvdC+INC00LXQutGW0LvRjNC60LAg0IbQnNCV0J0uXG4iCisiICAgINCQ0YDQs9GD0LzQtdC90YLQuDpcbiIKKyIgICAgICDQhtCc4oCZ0K9cdFx00JrQvtC20L3QtSDQtyDQhtCc0JXQnSDRiNGD0LrQsNGU0YLRjNGB0Y8g0YMgJFBBVEgg0YLQsCDQtNC+0LTQsNGU0YLRjNGB0Y8g0LTQviDRgdC/0LjRgdC60YMgIgorItC30LHQtdGA0LXQttC10L3QuNGFXG4iCisiICAgIFx0XHTQutC+0LzQsNC90LQuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDQvdC10LLQtNCw0LvQviwg0Y/QutGJ0L4g0IbQnOKAmdCvINC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQt9C90LDQudGC0Lgg0LDQsdC+INGP0LrRidC+XG4iCisiICAgINCy0LrQsNC30LDQvdC+INC90LXQstGW0YDQvdC40Lkg0L/QsNGA0LDQvNC10YLRgC4iCisKKyM6IGJ1aWx0aW5zLmM6Nzk3Cittc2dpZCAiIgorIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIERpc3BsYXlzIGJyaWVmIHN1bW1hcmllcyBvZiBidWlsdGluIGNvbW1hbmRzLiAgSWYgUEFUVEVSTiBpc1xuIgorIiAgICBzcGVjaWZpZWQsIGdpdmVzIGRldGFpbGVkIGhlbHAgb24gYWxsIGNvbW1hbmRzIG1hdGNoaW5nIFBBVFRFUk4sXG4iCisiICAgIG90aGVyd2lzZSB0aGUgbGlzdCBvZiBoZWxwIHRvcGljcyBpcyBwcmludGVkLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZFx0b3V0cHV0IHNob3J0IGRlc2NyaXB0aW9uIGZvciBlYWNoIHRvcGljXG4iCisiICAgICAgLW1cdGRpc3BsYXkgdXNhZ2UgaW4gcHNldWRvLW1hbnBhZ2UgZm9ybWF0XG4iCisiICAgICAgLXNcdG91dHB1dCBvbmx5IGEgc2hvcnQgdXNhZ2Ugc3lub3BzaXMgZm9yIGVhY2ggdG9waWMgbWF0Y2hpbmdcbiIKKyIgICAgXHRQQVRURVJOXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgUEFUVEVSTlx0UGF0dGVybiBzcGVjaWZpeWluZyBhIGhlbHAgdG9waWNcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIFBBVFRFUk4gaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKKyJnaXZlbi4iCittc2dzdHIgIiIKKyLQn9C+0LrQsNC30YPRlCDRltC90YTQvtGA0LzQsNGG0ZbRjiDQv9GA0L4g0LLQsdGD0LTQvtCy0LDQvdGWINC60L7QvNCw0L3QtNC4LlxuIgorIiAgICBcbiIKKyIgICAg0J/QvtC60LDQt9GD0ZQg0LrQvtGA0L7RgtC60YMg0LTQvtCy0ZbQtNC60YMg0Lcg0LLQsdGD0LTQvtCy0LDQvdC40YUg0LrQvtC80LDQvdC0LiDQr9C60YnQviDQstC60LDQt9Cw0L3QviDQqNCQ0JHQm9Ce0J0sINC90LDQtNCw0ZRcbiIKKyIgICAg0LTQtdGC0LDQu9GM0L3RgyDQtNC+0LLRltC00LrRgyDQtyDRg9GB0ZbRhSDQutC+0LzQsNC90LQsINGJ0L4g0LLRltC00L/QvtCy0ZbQtNCw0Y7RgtGMINGG0YzQvtC80YMg0KjQkNCR0JvQntCd0KMuINCv0LrRidC+ICIKKyLQudC+0LPQvlxuIgorIiAgICDQvdC1INCy0LrQsNC30LDQvdC+LCDQtNGA0YPQutGD0ZQg0YHQv9C40YHQvtC6INC/0YPQvdC60YLRltCyINC00L7QstGW0LTQutC4LlxuIgorIiAgICBcbiIKKyIgICAg0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAgICAgIC1kXHTQktC40LLQtdGB0YLQuCDQutC+0YDQvtGC0LrQuNC5INC+0L/QuNGBINC60L7QttC90L7Qs9C+INC3INC/0YPQvdC60YLRltCyLlxuIgorIiAgICAgIC1tXHTQn9C+0LrQsNC30LDRgtC4INC00L7QstGW0LTQutGDINGDINGE0L7RgNC80LDRgtGWLCDQv9C+0LTRltCx0L3QvtC80YMg0LTQviBtYW4oMSkuXG4iCisiICAgICAgLXNcdNCS0LjQstC10YHRgtC4INC70LjRiNC1INC60L7RgNC+0YLQutC40Lkg0L7Qv9C40YEg0YHQuNC90YLQsNC60YHQuNGB0YMg0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINC60L7QttC90L7RlyDQtyAiCisi0LrQvtC80LDQvdC0LFxuIgorIiAgICBcdNGJ0L4g0LLRltC00L/QvtCy0ZbQtNCw0Y7RgtGMINCo0JDQkdCb0J7QndCjXG4iCisiICAgIFxuIgorIiAgICDQkNGA0LPRg9C80LXQvdGC0Lg6XG4iCisiICAgICAg0KjQkNCR0JvQntCdXHTQqNCw0LHQu9C+0L0sINGJ0L4g0LLQuNC30L3QsNGH0LDRlCDRgtC10LzRgyDQtNC+0LLRltC00LrQuC5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC90LXQstC00LDQu9C+INGP0LrRidC+INCo0JDQkdCb0J7QnSDQvdC1INC30L3QsNC50LTQtdC90L4g0LDQsdC+INGP0LrRidC+INCy0LrQsNC30LDQvdC+XG4iCisiICAgINC90LXQstGW0YDQvdC40Lkg0L/QsNGA0LDQvNC10YLRgC4iCisKKyMgV1RGPz8/IGhpc3RvcnkgbGlzdCArPSBoaXN0b3J5ICsgaGlzdG9yeSBmaWxlID8/PworIzogYnVpbHRpbnMuYzo4MjEKK21zZ2lkICIiCisiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCisiICAgIFxuIgorIiAgICBEaXNwbGF5IHRoZSBoaXN0b3J5IGxpc3Qgd2l0aCBsaW5lIG51bWJlcnMsIHByZWZpeGluZyBlYWNoIG1vZGlmaWVkXG4iCisiICAgIGVudHJ5IHdpdGggYSBgKicuICBBbiBhcmd1bWVudCBvZiBOIGxpc3RzIG9ubHkgdGhlIGxhc3QgTiBlbnRyaWVzLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtY1x0Y2xlYXIgdGhlIGhpc3RvcnkgbGlzdCBieSBkZWxldGluZyBhbGwgb2YgdGhlIGVudHJpZXNcbiIKKyIgICAgICAtZCBvZmZzZXRcdGRlbGV0ZSB0aGUgaGlzdG9yeSBlbnRyeSBhdCBvZmZzZXQgT0ZGU0VULlxuIgorIiAgICBcbiIKKyIgICAgICAtYVx0YXBwZW5kIGhpc3RvcnkgbGluZXMgZnJvbSB0aGlzIHNlc3Npb24gdG8gdGhlIGhpc3RvcnkgZmlsZVxuIgorIiAgICAgIC1uXHRyZWFkIGFsbCBoaXN0b3J5IGxpbmVzIG5vdCBhbHJlYWR5IHJlYWQgZnJvbSB0aGUgaGlzdG9yeSBmaWxlXG4iCisiICAgICAgLXJcdHJlYWQgdGhlIGhpc3RvcnkgZmlsZSBhbmQgYXBwZW5kIHRoZSBjb250ZW50cyB0byB0aGUgaGlzdG9yeVxuIgorIiAgICBcdGxpc3RcbiIKKyIgICAgICAtd1x0d3JpdGUgdGhlIGN1cnJlbnQgaGlzdG9yeSB0byB0aGUgaGlzdG9yeSBmaWxlXG4iCisiICAgIFx0YW5kIGFwcGVuZCB0aGVtIHRvIHRoZSBoaXN0b3J5IGxpc3RcbiIKKyIgICAgXG4iCisiICAgICAgLXBcdHBlcmZvcm0gaGlzdG9yeSBleHBhbnNpb24gb24gZWFjaCBBUkcgYW5kIGRpc3BsYXkgdGhlIHJlc3VsdFxuIgorIiAgICBcdHdpdGhvdXQgc3RvcmluZyBpdCBpbiB0aGUgaGlzdG9yeSBsaXN0XG4iCisiICAgICAgLXNcdGFwcGVuZCB0aGUgQVJHcyB0byB0aGUgaGlzdG9yeSBsaXN0IGFzIGEgc2luZ2xlIGVudHJ5XG4iCisiICAgIFxuIgorIiAgICBJZiBGSUxFTkFNRSBpcyBnaXZlbiwgaXQgaXMgdXNlZCBhcyB0aGUgaGlzdG9yeSBmaWxlLiAgT3RoZXJ3aXNlLFxuIgorIiAgICBpZiAkSElTVEZJTEUgaGFzIGEgdmFsdWUsIHRoYXQgaXMgdXNlZCwgZWxzZSB+Ly5iYXNoX2hpc3RvcnkuXG4iCisiICAgIFxuIgorIiAgICBJZiB0aGUgJEhJU1RUSU1FRk9STUFUIHZhcmlhYmxlIGlzIHNldCBhbmQgbm90IG51bGwsIGl0cyB2YWx1ZSBpcyB1c2VkXG4iCisiICAgIGFzIGEgZm9ybWF0IHN0cmluZyBmb3Igc3RyZnRpbWUoMykgdG8gcHJpbnQgdGhlIHRpbWUgc3RhbXAgYXNzb2NpYXRlZFxuIgorIiAgICB3aXRoIGVhY2ggZGlzcGxheWVkIGhpc3RvcnkgZW50cnkuICBObyB0aW1lIHN0YW1wcyBhcmUgcHJpbnRlZCAiCisib3RoZXJ3aXNlLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorItCf0L7QutCw0LfRg9GUINGH0Lgg0LfQvNGW0L3RjtGUINGB0L/QuNGB0L7QuiDQv9C+0L/QtdGA0LXQtNC90ZbRhSDQutC+0LzQsNC90LQuXG4iCisiICAgIFxuIgorIiAgICDQn9C+0LrQsNC30YPRlCDRgdC/0LjRgdC+0Log0ZbRgdGC0L7RgNGW0Zcg0LrQvtC80LDQvdC0INC3INC90L7QvNC10YDQsNC80Lgg0YDRj9C00LrRltCyLCDQstC60LDQt9GD0Y7Rh9C4IGAqJyDQv9C10YDQtdC0ICIKKyLQutC+0LbQvdC40LxcbiIKKyIgICAg0LfQvNGW0L3QtdC90LjQvCDRgNGP0LTQutC+0LwuINCv0LrRidC+INCy0LrQsNC30LDQvdC+INCw0YDQs9GD0LzQtdC90YIgTiwg0L/QvtC60LDQt9GD0ZQg0LvQuNGI0LUgTiDQvtGB0YLQsNC90L3RltGFICIKKyLRgNGP0LTQutGW0LIuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLWNcdNCS0LjQu9GD0YfQuNGC0Lgg0LfRliDRgdC/0LjRgdC60YMg0YPRgdGWINC30LHQtdGA0LXQttC10L3RliDQutC+0LzQsNC90LTQuC5cbiIKKyIgICAgICAtZCDQv9C+0LfQuNGG0ZbRj1x00JLQuNC70YPRh9C40YLQuCDRgNGP0LTQvtC6INGDINCf0J7Ql9CY0KbQhtCHICjQstGW0LTQvdC+0YHQvdGW0LkpLlxuIgorIiAgICBcbiIKKyIgICAgICAtYVx00JTQvtC00LDRgtC4INC30LDQv9C40YHQuCDQtyDQv9C+0YLQvtGH0L3QvtGXINGB0LXRgdGW0Zcg0LTQviDRhNCw0LnQu9GDINGW0YHRgtC+0YDRltGXLlxuIgorIiAgICAgIC1uXHTQlNC+0LTQsNGC0Lgg0LfQsNC/0LjRgdC4LCDRj9C60LjRhSDRidC1INC90LXQvNCw0ZQg0LIg0YHQv9C40YHQutGDINC3INGE0LDQudC70YMg0ZbRgdGC0L7RgNGW0ZcuXG4iCisiICAgICAgLXJcdNCf0YDQvtGH0LjRgtCw0YLQuCDRhNCw0LnQuyDRltGB0YLQvtGA0ZbRlyDRgtCwINC00L7QtNCw0YLQuCDQudC+0LPQviDQstC80ZbRgdGCINC00L4g0LrRltC90YbRjyDRgdC/0LjRgdC60YMuXG4iCisiICAgICAgLXdcdNCX0LDQv9C40YHQsNGC0Lgg0L/QvtGC0L7Rh9C90YMg0ZbRgdGC0L7RgNGW0Y4g0LrQvtC80LDQvdC0INC00L4g0YTQsNC50LvRgyDRltGB0YLQvtGA0ZbRlyDRgtCwINC00L7QtNCw0YLQuFxuIgorIiAgICBcdNGX0YUg0LTQviDQutGW0L3RhtGPINGB0L/QuNGB0LrRgyDRltGB0YLQvtGA0ZbRly5cbiIKKyIgICAgXG4iCisiICAgICAgLXBcdNCX0YDQvtCx0LjRgtC4INGA0L7Qt9C60YDQuNGC0YLRjyDRltGB0YLQvtGA0ZbRlyDQutC+0LzQsNC90LQg0L3QsCDQutC+0LbQvdC+0LzRgyDQtyDQkNCg0JPQo9Cc0JXQndCi0IbQkiDRgtCwXG4iCisiICAgIFx00L/QvtC60LDQt9Cw0YLQuCDRgNC10LfRg9C70YzRgtCw0YIgKNCx0LXQtyDQt9Cx0LXRgNC10LbQtdC90L3RjyDRgyDRgdC/0LjRgdC60YMg0ZbRgdGC0L7RgNGW0Zcg0LrQvtC80LDQvdC0KS5cbiIKKyIgICAgICAtc1x00JTQvtC00LDRgtC4INCQ0KDQk9Cj0JzQldCd0KLQmCDQtNC+INGB0L/QuNGB0LrRgyDRltGB0YLQvtGA0ZbRlyDRj9C6INC+0LTQuNC9INC30LDQv9C40YEuXG4iCisiICAgIFxuIgorIiAgICDQr9C60YnQviDQstC60LDQt9Cw0L3QuNC5INCk0JDQmdCbLCDQudC+0LPQviDQsdGD0LTQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+INGP0Log0YTQsNC50Lsg0ZbRgdGC0L7RgNGW0Zcg0LrQvtC80LDQvdC0LiAiCisi0IbQvdCw0LrRiNC1LFxuIgorIiAgICDRj9C60YnQviDQstC40LfQvdCw0YfQtdC90L4gJEhJU1RGSUxFLCDQsdC10YDQtdGC0YzRgdGPINGX0Zcg0LfQvdCw0YfQtdC90L3Rjywg0Y/QutGJ0L4g0L3RliDigJQgfi8uIgorImJhc2hfaGlzdG9yeS5cbiIKKyIgICAgXG4iCisiICAgINCv0LrRidC+INC30LzRltC90L3QsCAkSElTVFRJTUVGT1JNQVQg0LzQsNGUINC30L3QsNGH0LXQvdC90Y8sINCy0ZbQtNC80ZbQvdC90LUg0LLRltC0INC/0L7RgNC+0LbQvdGM0L7Qs9C+ICIKKyLRgNGP0LTQutGDLFxuIgorIiAgICDRl9GXINCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQsNC90L4g0Y/QuiDRiNCw0LHQu9C+0L0gc3RyZnRpbWUoMykg0LTQu9GPINC/0L7QutCw0LfRgyDRh9Cw0YHQvtCy0LjRhSDQv9C+0LfQvdCw0YfQvtC6LlxuIgorIiAgICDQhtC90LDQutGI0LUg0YfQsNGB0L7QstGWINC/0L7Qt9C90LDRh9C60Lgg0L3QtSDQstC40LLQvtC00Y/RgtGM0YHRjy5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINGD0YHQv9GW0YjQvdC+LCDRj9C60YnQviDQstC60LDQt9Cw0L3QviDQstGW0YDQvdGWINC/0LDRgNCw0LzQtdGC0YDQuCDRgtCwINC90LUgIgorItCy0LjQvdC40LrQu9C+XG4iCisiICAgINC/0L7QvNC40LvQutC4INC/0ZbQtCDRh9Cw0YEg0LLQuNC60L7QvdCw0L3QvdGPLiIKKworIzogYnVpbHRpbnMuYzo4NTcKK21zZ2lkICIiCisiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKKyIgICAgXG4iCisiICAgIExpc3RzIHRoZSBhY3RpdmUgam9icy4gIEpPQlNQRUMgcmVzdHJpY3RzIG91dHB1dCB0byB0aGF0IGpvYi5cbiIKKyIgICAgV2l0aG91dCBvcHRpb25zLCB0aGUgc3RhdHVzIG9mIGFsbCBhY3RpdmUgam9icyBpcyBkaXNwbGF5ZWQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1sXHRsaXN0cyBwcm9jZXNzIElEcyBpbiBhZGRpdGlvbiB0byB0aGUgbm9ybWFsIGluZm9ybWF0aW9uXG4iCisiICAgICAgLW5cdGxpc3Qgb25seSBwcm9jZXNzZXMgdGhhdCBoYXZlIGNoYW5nZWQgc3RhdHVzIHNpbmNlIHRoZSBsYXN0XG4iCisiICAgIFx0bm90aWZpY2F0aW9uXG4iCisiICAgICAgLXBcdGxpc3RzIHByb2Nlc3MgSURzIG9ubHlcbiIKKyIgICAgICAtclx0cmVzdHJpY3Qgb3V0cHV0IHRvIHJ1bm5pbmcgam9ic1xuIgorIiAgICAgIC1zXHRyZXN0cmljdCBvdXRwdXQgdG8gc3RvcHBlZCBqb2JzXG4iCisiICAgIFxuIgorIiAgICBJZiAteCBpcyBzdXBwbGllZCwgQ09NTUFORCBpcyBydW4gYWZ0ZXIgYWxsIGpvYiBzcGVjaWZpY2F0aW9ucyB0aGF0XG4iCisiICAgIGFwcGVhciBpbiBBUkdTIGhhdmUgYmVlbiByZXBsYWNlZCB3aXRoIHRoZSBwcm9jZXNzIElEIG9mIHRoYXQgam9iJ3NcbiIKKyIgICAgcHJvY2VzcyBncm91cCBsZWFkZXIuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuXG4iCisiICAgIElmIC14IGlzIHVzZWQsIHJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgorbXNnc3RyICIiCisi0JLQuNCy0L7QtNC40YLRjCDRgdGC0LDQvSDQt9Cw0LLQtNCw0L3RjC5cbiIKKyIgICAgXG4iCisiICAgINCf0L7QutCw0LfRg9GUINGB0L/QuNGB0L7QuiDQsNC60YLQuNCy0L3QuNGFINC30LDQstC00LDQvdGMLiDQl9CQ0JLQlNCQ0J3QndCvINC+0LHQvNC10LbRg9GUINCy0LjQstGW0LQg0YbQuNC8INC30LDQstC00LDQvdC90Y/QvC5cbiIKKyIgICAg0JHQtdC3INC/0LDRgNCw0LzQtdGC0YDRltCyINC/0L7QutCw0LfRg9GUINGB0YLQsNC9INGD0YHRltGFINCw0LrRgtC40LLQvdC40YUg0LfQsNCy0LTQsNC90YwuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLWxcdNCU0L7QtNCw0YLQutC+0LLQviDQstC40LLQvtC00LjRgtC4INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0Lgg0L/RgNC+0YbQtdGB0ZbQsi5cbiIKKyIgICAgICAtblx00J/QvtC60LDQt9GD0LLQsNGC0Lgg0LvQuNGI0LUg0L/RgNC+0YbQtdGB0LgsINGB0YLQsNC9INGP0LrQuNGFINC30LzRltC90LjQstGB0Y8g0Lcg0YfQsNGB0YMg0L7RgdGC0LDQvdC90YzQvtCz0L5cbiIKKyIgICAgXHTQt9Cy0ZbQtNC+0LzQu9C10L3QvdGPLlxuIgorIiAgICAgIC1wXHTQn9C+0LrQsNC30YPQstCw0YLQuCDQu9C40YjQtSDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC4INC/0YDQvtGG0LXRgdGW0LIuXG4iCisiICAgICAgLXJcdNCe0LHQvNC10LbQuNGC0Lgg0LLQuNCy0ZbQtCDQv9GA0LDRhtGO0Y7Rh9C40LzQuCDQt9Cw0LLQtNCw0L3QvdGP0LzQuC5cbiIKKyIgICAgICAtc1x00J7QsdC80LXQttC40YLQuCDQstC40LLRltC0INC30YPQv9C40L3QtdC90LjQvNC4INC30LDQstC00LDQvdC90Y/QvNC4LlxuIgorIiAgICBcbiIKKyIgICAg0K/QutGJ0L4g0LLQutCw0LfQsNC90L4gLXgsINCa0J7QnNCQ0J3QlNCjINCx0YPQtNC1INCy0LjQutC+0L3QsNC90L4g0L/RltGB0LvRjyDQt9Cw0LzRltC90Lgg0YPRgdGW0YUg0LfQs9Cw0LTQvtC6INC/0YDQvlxuIgorIiAgICDQt9Cw0LLQtNCw0L3QvdGPINGDINCQ0KDQk9Cj0JzQldCd0KLQkNClINC90LAg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQuCDQs9C+0LvQvtCy0L3QuNGFINC/0YDQvtGG0LXRgdGW0LIg0LLRltC00L/QvtCy0ZbQtNC90LjRhVxuIgorIiAgICDQt9Cw0LLQtNCw0L3RjC5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINGD0YHQv9GW0YjQvdC+LCDRj9C60YnQviDQstC60LDQt9Cw0L3QviDQv9GA0LDQstC40LvRjNC90ZYg0L/QsNGA0LDQvNC10YLRgNC4INGC0LAg0L3QtVxuIgorIiAgICDQstC40L3QuNC60LvQviDQv9C+0LzQuNC70LrQuCDQv9GW0LQg0YfQsNGBINCy0LjQutC+0L3QsNC90L3Rjy4g0J/RgNC4INCy0LjQutC+0YDQuNGB0YLQsNC90L3RliAteCDQutC+0LzQsNC90LTQsFxuIgorIiAgICDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0LfRliDRgdGC0LDRgtGD0YHQvtC8INC30LDQstC10YDRiNC10L3QvdGPINCa0J7QnNCQ0J3QlNCYLiIKKworIzogYnVpbHRpbnMuYzo4ODQKK21zZ2lkICIiCisiUmVtb3ZlIGpvYnMgZnJvbSBjdXJyZW50IHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgUmVtb3ZlcyBlYWNoIEpPQlNQRUMgYXJndW1lbnQgZnJvbSB0aGUgdGFibGUgb2YgYWN0aXZlIGpvYnMuICBXaXRob3V0XG4iCisiICAgIGFueSBKT0JTUEVDcywgdGhlIHNoZWxsIHVzZXMgaXRzIG5vdGlvbiBvZiB0aGUgY3VycmVudCBqb2IuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1hXHRyZW1vdmUgYWxsIGpvYnMgaWYgSk9CU1BFQyBpcyBub3Qgc3VwcGxpZWRcbiIKKyIgICAgICAtaFx0bWFyayBlYWNoIEpPQlNQRUMgc28gdGhhdCBTSUdIVVAgaXMgbm90IHNlbnQgdG8gdGhlIGpvYiBpZiB0aGVcbiIKKyIgICAgXHRzaGVsbCByZWNlaXZlcyBhIFNJR0hVUFxuIgorIiAgICAgIC1yXHRyZW1vdmUgb25seSBydW5uaW5nIGpvYnNcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIG9yIEpPQlNQRUMgaXMgZ2l2ZW4uIgorbXNnc3RyICIiCisi0JLQuNC70YPRh9Cw0ZQg0LfQsNCy0LTQsNC90L3RjyDQtyDQv9C+0YLQvtGH0L3QvtGXINC+0LHQvtC70L7QvdC60LguXG4iCisiICAgIFxuIgorIiAgICDQktC40LvRg9GH0LDRlCDQutC+0LbQvdC1INC3INCX0JDQktCU0JDQndCsINC3INGC0LDQsdC70LjRhtGWINCw0LrRgtC40LLQvdC40YUg0LfQsNCy0LTQsNC90YwuINCv0LrRidC+INCX0JDQktCU0JDQndCd0K8g0L3QtVxuIgorIiAgICDQstC60LDQt9Cw0L3Qviwg0LHQtdGA0LXRgtGM0YHRjyDQt9Cw0LLQtNCw0L3QvdGPLCDRj9C60LUg0L7QsdC+0LvQvtC90LrQsCDQstCy0LDQttCw0ZQg0L/QvtGC0L7Rh9C90LjQvC5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtYVx00JLQuNC70YPRh9C40YLQuCDRg9GB0ZYg0LfQsNCy0LTQsNC90L3Rjywg0Y/QutGJ0L4g0JfQkNCS0JTQkNCd0J3QryDQvdC1INCy0LrQsNC30LDQvdGWLlxuIgorIiAgICAgIC1oXHTQn9C+0LfQvdCw0YfQuNGC0Lgg0JfQkNCS0JTQkNCd0J3QryDRgtCw0LosINGJ0L7QsSDQstC+0L3QuCDQvdC1INC+0YLRgNC40LzQsNC70LggU0lHSFVQLCDRj9C60YnQviAiCisi0L7QsdC+0LvQvtC90LrQsFxuIgorIiAgICBcdNC+0YLRgNC40LzQsNGUIFNJR0hVUC5cbiIKKyIgICAgICAtclx00JLQuNC70YPRh9Cw0YLQuCDQu9C40YjQtSDQv9GA0LDRhtGO0Y7Rh9GWINC30LDQstC00LDQvdC90Y8uXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDQvdC10LLQtNCw0LvQviwg0Y/QutGJ0L4g0LLQutCw0LfQsNC90L4g0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INC/0LDRgNCw0LzQtdGC0YAg0YfQuFxuIgorIiAgICDQl9CQ0JLQlNCQ0J3QndCvLiIKKworIzogYnVpbHRpbnMuYzo5MDMKK21zZ2lkICIiCisiU2VuZCBhIHNpZ25hbCB0byBhIGpvYi5cbiIKKyIgICAgXG4iCisiICAgIFNlbmQgdGhlIHByb2Nlc3NlcyBpZGVudGlmaWVkIGJ5IFBJRCBvciBKT0JTUEVDIHRoZSBzaWduYWwgbmFtZWQgYnlcbiIKKyIgICAgU0lHU1BFQyBvciBTSUdOVU0uICBJZiBuZWl0aGVyIFNJR1NQRUMgbm9yIFNJR05VTSBpcyBwcmVzZW50LCB0aGVuXG4iCisiICAgIFNJR1RFUk0gaXMgYXNzdW1lZC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLXMgc2lnXHRTSUcgaXMgYSBzaWduYWwgbmFtZVxuIgorIiAgICAgIC1uIHNpZ1x0U0lHIGlzIGEgc2lnbmFsIG51bWJlclxuIgorIiAgICAgIC1sXHRsaXN0IHRoZSBzaWduYWwgbmFtZXM7IGlmIGFyZ3VtZW50cyBmb2xsb3cgYC1sJyB0aGV5IGFyZVxuIgorIiAgICBcdGFzc3VtZWQgdG8gYmUgc2lnbmFsIG51bWJlcnMgZm9yIHdoaWNoIG5hbWVzIHNob3VsZCBiZSBsaXN0ZWRcbiIKKyIgICAgXG4iCisiICAgIEtpbGwgaXMgYSBzaGVsbCBidWlsdGluIGZvciB0d28gcmVhc29uczogaXQgYWxsb3dzIGpvYiBJRHMgdG8gYmUgdXNlZFxuIgorIiAgICBpbnN0ZWFkIG9mIHByb2Nlc3MgSURzLCBhbmQgYWxsb3dzIHByb2Nlc3NlcyB0byBiZSBraWxsZWQgaWYgdGhlIGxpbWl0XG4iCisiICAgIG9uIHByb2Nlc3NlcyB0aGF0IHlvdSBjYW4gY3JlYXRlIGlzIHJlYWNoZWQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisi0J3QsNC00ZbRgdC70LDRgtC4INGB0LjQs9C90LDQuyDQtNC+INC30LDQstC00LDQvdC90Y8uXG4iCisiICAgIFxuIgorIiAgICDQndCw0LTRltGB0LvQsNGC0Lgg0L/RgNC+0YbQtdGB0YMsINCy0LrQsNC30LDQvdC+0LzRgyDQt9CwINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0L7QvCDQv9GA0L7RhtC10YHRgyDRh9C4INC30LDQstC00LDQvdC90Y9cbiIKKyIgICAg0YHQuNCz0L3QsNC7LCDQstC60LDQt9Cw0L3QuNC5INC30LAg0LnQvtCz0L4g0L3QvtC80LXRgNC+0Lwg0YfQuCDQvdCw0LfQstC+0Y4uINCv0LrRidC+INC90LUg0LLQutCw0LfQsNC90L4g0LDQvdGWICIKKyLQv9C10YDRiNC+0LPQvixcbiIKKyIgICAg0LDQvdGWINC00YDRg9Cz0L7Qs9C+LCDQsdGD0LTQtSDQvdCw0LTRltGB0LvQsNC90L4gU0lHVEVSTS5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtcyDRgdC40LPQvdCw0LtcdNCh0JjQk9Cd0JDQmyDRlCDQvdCw0LfQstC+0Y4g0YHQuNCz0L3QsNC70YMuXG4iCisiICAgICAgLW4g0YHQuNCz0L3QsNC7XHTQodCY0JPQndCQ0Jsg0ZQg0L3QvtC80LXRgNC+0Lwg0YHQuNCz0L3QsNC70YMuXG4iCisiICAgICAgLWxcdNCf0LXRgNC10LvRltGH0LjRgtC4INC90LDQt9Cy0Lgg0YHQuNCz0L3QsNC70ZbQsjsg0Y/QutGJ0L4g0LfQsCAtbCDRltC00YPRgtGMINGW0YnQtSDQsNGA0LPRg9C80LXQvdGC0LgsINCy0L7QvdC4XG4iCisiICAgIFx00LLQstCw0LbQsNGO0YLRjNGB0Y8g0L3QvtC80LXRgNCw0LzQuCDRgdC40LPQvdCw0LvRltCyLCDRj9C60ZYg0YLRgNC10LHQsCDQv9C+0LrQsNC30LDRgtC4LlxuIgorIiAgICBcbiIKKyIgICAgS2lsbCDRlCDQstCx0YPQtNC+0LLQsNC90L7RjiDQutC+0LzQsNC90LTQvtGOINC3INC00LLQvtGFINC/0YDQuNGH0LjQvTog0YbQtSDQtNC+0LfQstC+0LvRj9GUINCy0LrQsNC30YPQstCw0YLQuFxuIgorIiAgICDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC4INC30LDQstC00LDQvdGMINC30LDQvNGW0YHRgtGMINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0ZbQsiDQv9GA0L7RhtC10YHRltCyINGC0LAg0LTQvtC30LLQvtC70Y/RlFxuIgorIiAgICDQstCx0LjQstCw0YLQuCDQv9GA0L7RhtC10YHQuCwg0L3QsNCy0ZbRgtGMINGP0LrRidC+INCy0Lgg0LLQuNGH0LXRgNC/0LDQu9C4INC70ZbQvNGW0YIg0L/RgNC+0YbQtdGB0ZbQsi5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINGD0YHQv9GW0YjQvdC+LCDRj9C60YnQviDQstC60LDQt9Cw0L3RliDQv9GA0LDQstC40LvRjNC90ZYg0LDRgNCz0YPQvNC10L3RgtC4INGC0LAg0L3QtVxuIgorIiAgICDRgtGA0LDQv9C40LvQvtGB0Y8g0L/QvtC80LjQu9C60Lgg0L/RltC0INGH0LDRgSDQstC40LrQvtC90LDQvdC90Y8uIgorCisjOiBidWlsdGlucy5jOjkyNgorIywgZnV6enkKK21zZ2lkICIiCisiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9ucy5cbiIKKyIgICAgXG4iCisiICAgIEV2YWx1YXRlIGVhY2ggQVJHIGFzIGFuIGFyaXRobWV0aWMgZXhwcmVzc2lvbi4gIEV2YWx1YXRpb24gaXMgZG9uZSBpblxuIgorIiAgICBmaXhlZC13aWR0aCBpbnRlZ2VycyB3aXRoIG5vIGNoZWNrIGZvciBvdmVyZmxvdywgdGhvdWdoIGRpdmlzaW9uIGJ5IDBcbiIKKyIgICAgaXMgdHJhcHBlZCBhbmQgZmxhZ2dlZCBhcyBhbiBlcnJvci4gIFRoZSBmb2xsb3dpbmcgbGlzdCBvZiBvcGVyYXRvcnMgaXNcbiIKKyIgICAgZ3JvdXBlZCBpbnRvIGxldmVscyBvZiBlcXVhbC1wcmVjZWRlbmNlIG9wZXJhdG9ycy4gIFRoZSBsZXZlbHMgYXJlICIKKyJsaXN0ZWRcbiIKKyIgICAgaW4gb3JkZXIgb2YgZGVjcmVhc2luZyBwcmVjZWRlbmNlLlxuIgorIiAgICBcbiIKKyIgICAgXHRpZCsrLCBpZC0tXHR2YXJpYWJsZSBwb3N0LWluY3JlbWVudCwgcG9zdC1kZWNyZW1lbnRcbiIKKyIgICAgXHQrK2lkLCAtLWlkXHR2YXJpYWJsZSBwcmUtaW5jcmVtZW50LCBwcmUtZGVjcmVtZW50XG4iCisiICAgIFx0LSwgK1x0XHR1bmFyeSBtaW51cywgcGx1c1xuIgorIiAgICBcdCEsIH5cdFx0bG9naWNhbCBhbmQgYml0d2lzZSBuZWdhdGlvblxuIgorIiAgICBcdCoqXHRcdGV4cG9uZW50aWF0aW9uXG4iCisiICAgIFx0KiwgLywgJVx0XHRtdWx0aXBsaWNhdGlvbiwgZGl2aXNpb24sIHJlbWFpbmRlclxuIgorIiAgICBcdCssIC1cdFx0YWRkaXRpb24sIHN1YnRyYWN0aW9uXG4iCisiICAgIFx0PDwsID4+XHRcdGxlZnQgYW5kIHJpZ2h0IGJpdHdpc2Ugc2hpZnRzXG4iCisiICAgIFx0PD0sID49LCA8LCA+XHRjb21wYXJpc29uXG4iCisiICAgIFx0PT0sICE9XHRcdGVxdWFsaXR5LCBpbmVxdWFsaXR5XG4iCisiICAgIFx0Jlx0XHRiaXR3aXNlIEFORFxuIgorIiAgICBcdF5cdFx0Yml0d2lzZSBYT1JcbiIKKyIgICAgXHR8XHRcdGJpdHdpc2UgT1JcbiIKKyIgICAgXHQmJlx0XHRsb2dpY2FsIEFORFxuIgorIiAgICBcdHx8XHRcdGxvZ2ljYWwgT1JcbiIKKyIgICAgXHRleHByID8gZXhwciA6IGV4cHJcbiIKKyIgICAgXHRcdFx0Y29uZGl0aW9uYWwgb3BlcmF0b3JcbiIKKyIgICAgXHQ9LCAqPSwgLz0sICU9LFxuIgorIiAgICBcdCs9LCAtPSwgPDw9LCA+Pj0sXG4iCisiICAgIFx0Jj0sIF49LCB8PVx0YXNzaWdubWVudFxuIgorIiAgICBcbiIKKyIgICAgU2hlbGwgdmFyaWFibGVzIGFyZSBhbGxvd2VkIGFzIG9wZXJhbmRzLiAgVGhlIG5hbWUgb2YgdGhlIHZhcmlhYmxlXG4iCisiICAgIGlzIHJlcGxhY2VkIGJ5IGl0cyB2YWx1ZSAoY29lcmNlZCB0byBhIGZpeGVkLXdpZHRoIGludGVnZXIpIHdpdGhpblxuIgorIiAgICBhbiBleHByZXNzaW9uLiAgVGhlIHZhcmlhYmxlIG5lZWQgbm90IGhhdmUgaXRzIGludGVnZXIgYXR0cmlidXRlXG4iCisiICAgIHR1cm5lZCBvbiB0byBiZSB1c2VkIGluIGFuIGV4cHJlc3Npb24uXG4iCisiICAgIFxuIgorIiAgICBPcGVyYXRvcnMgYXJlIGV2YWx1YXRlZCBpbiBvcmRlciBvZiBwcmVjZWRlbmNlLiAgU3ViLWV4cHJlc3Npb25zIGluXG4iCisiICAgIHBhcmVudGhlc2VzIGFyZSBldmFsdWF0ZWQgZmlyc3QgYW5kIG1heSBvdmVycmlkZSB0aGUgcHJlY2VkZW5jZVxuIgorIiAgICBydWxlcyBhYm92ZS5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKK21zZ3N0ciAiIgorItCe0LHRh9C40YHQu9GO0ZQg0LDRgNC40YTQvNC10YLQuNGH0L3RliDQstC40YDQsNC30LguXG4iCisiICAgIFxuIgorIiAgICDQntCx0YfQuNGB0LvRjtGUINC60L7QttC10L0g0JDQoNCT0KPQnNCV0J3QoiDRj9C6INCw0YDQuNGE0LzQtdGC0LjRh9C90LjQuSDQstC40YDQsNC3LiDQntCx0YfQuNGB0LvQtdC90L3RjyDQv9GA0L7QstC+0LTQuNGC0YzRgdGPINGDXG4iCisiICAgINGG0ZbQu9C40YUg0YfQuNGB0LvQsNGFINGE0ZbQutGB0L7QstCw0L3QvtGXINC00L7QstC20LjQvdC4INC5INCx0LXQtyDQv9C10YDQtdCy0ZbRgNC60Lgg0L/QtdGA0LXQv9C+0LLQvdC10L3QvdGPLCDQsNC70LUg0LLRgdC1INC2XG4iCisiICAgINC00ZbQu9C10L3QvdGPINC90LAgMCDQstC40Y/QstC70Y/RlNGC0YzRgdGPINGC0LAg0LLQstCw0LbQsNGU0YLRjNGB0Y8g0L/QvtC80LjQu9C60L7Rji4g0J3QuNC20YfQtdC90LDQstC10LTQtdC90LjQuSDRgdC/0LjRgdC+0LpcbiIKKyIgICAg0L7Qv9C10YDQsNGC0L7RgNGW0LIg0LfQs9GA0YPQv9C+0LLQsNC90L4g0LfQsCDRgNGW0LLQvdGP0LzQuCDQv9GA0ZbQvtGA0LjRgtC10YLRgy4g0IfRhSDQv9C10YDQtdC70ZbRh9C10L3QviDRgyDQv9C+0YDRj9C00LrRg1xuIgorIiAgICDRgdC/0LDQtNCw0L3QvdGPINC/0YDRltC+0YDQuNGC0LXRgtGDLlxuIgorIiAgICBcbiIKKyIgICAgXHRpZCsrLCBpZC0tXHTQv9C+0YHRgi3RltC90LrRgNC10LzQtdC90YIg0YLQsCDQv9C+0YHRgi3QtNC10LrRgNC10LzQtdC90YIg0LfQvNGW0L3QvdC+0ZdcbiIKKyIgICAgXHQrK2lkLCAtLWlkXHTQv9GA0LUt0ZbQvdC60YDQtdC80LXQvdGCINGC0LAg0L/RgNC1LdC00LXQutGA0LXQvNC10L3RgiDQt9C80ZbQvdC90L7Rl1xuIgorIiAgICBcdC0sICtcdFx00YPQvdCw0YDQvdC40Lkg0LzRltC90YPRgSDRgtCwINC/0LvRjtGBXG4iCisiICAgIFx0ISwgflx0XHTQu9C+0LPRltGH0L3QsCDRgtCwINC/0L7QsdGW0YLQvtCy0LAg0ZbQvdCy0LXRgNGB0ZbRj1xuIgorIiAgICBcdCoqXHRcdNC/0ZbQtNC90LXRgdC10L3QvdGPINC00L4g0YHRgtC10L/QtdC90Y9cbiIKKyIgICAgXHQqLCAvLCAlXHRcdNC80L3QvtC20LXQvdC90Y8sINC00ZbQu9C10L3QvdGPLCDQt9Cw0LvQuNGI0L7QulxuIgorIiAgICBcdCssIC1cdFx00LTQvtC00LDQstCw0L3QvdGPLCDQstGW0LTQvdGW0LzQsNC90L3Rj1xuIgorIiAgICBcdDw8LCA+Plx0XHTQv9C+0LHRltGC0L7QstC40Lkg0LfRgdGD0LIg0LLQv9GA0LDQstC+INGC0LAg0LLQu9GW0LLQvlxuIgorIiAgICBcdDw9LCA+PSwgPCwgPlx00L/QvtGA0ZbQstC90Y/QvdC90Y9cbiIKKyIgICAgXHQ9PSwgIT1cdFx00YDRltCy0L3RltGB0YLRjCwg0L3QtdGA0ZbQstC90ZbRgdGC0YxcbiIKKyIgICAgXHQmXHRcdNC/0L7QsdGW0YLQvtCy0LUgQU5EXG4iCisiICAgIFx0Xlx0XHTQv9C+0LHRltGC0L7QstC1IFhPUlxuIgorIiAgICBcdHxcdFx00L/QvtCx0ZbRgtC+0LLQtSBPUlxuIgorIiAgICBcdCYmXHRcdNC70L7Qs9GW0YfQvdC1IEFORFxuIgorIiAgICBcdHx8XHRcdNC70L7Qs9GW0YfQvdC1IE9SXG4iCisiICAgIFx00LLQuNGA0LDQtyA/INCy0LjRgNCw0LcgOiDQstC40YDQsNC3XG4iCisiICAgIFx0XHRcdNGD0LzQvtCy0L3QuNC5INC+0L/QtdGA0LDRgtC+0YBcbiIKKyIgICAgXHQ9LCAqPSwgLz0sICU9LFxuIgorIiAgICBcdCs9LCAtPSwgPDw9LCA+Pj0sXG4iCisiICAgIFx0Jj0sIF49LCB8PVx00L/RgNC40YHQstC+0ZTQvdC90Y9cbiIKKyIgICAgXG4iCisiICAgINCX0LzRltC90L3RliDQvtCx0L7Qu9C+0L3QutC4INC80L7QttGD0YLRjCDQstC40YHRgtGD0L/QsNGC0Lgg0L7Qv9C10YDQsNC90LTQsNC80LguINCd0LDQt9Cy0YMg0LfQvNGW0L3QvdC+0Zcg0LHRg9C00LUgIgorItC30LDQvNGW0L3QtdC90L5cbiIKKyIgICAg0ZfRlyDQt9C90LDRh9C10L3QvdGP0LwgKNC/0YDQuNCy0LXQtNC10L3QuNC8INC00L4g0YbRltC70L7Qs9C+INGH0LjRgdC70LAg0YTRltC60YHQvtCy0LDQvdC+0Zcg0LTQvtCy0LbQuNC90LgpINGDINCy0LjRgNCw0LfRli5cbiIKKyIgICAg0JTQu9GPINGG0YzQvtCz0L4g0L3QtSDQv9C+0YLRgNGW0LHQvdC+INCy0YHRgtCw0L3QvtCy0LvRjtCy0LDRgtC4INCy0LvQsNGB0YLQuNCy0ZbRgdGC0Ywg0LfQvNGW0L3QvdC+0ZcgYNGG0ZbQu9C1INGH0LjRgdC70L4nLlxuIgorIiAgICBcbiIKKyIgICAg0J7Qv9C10YDQsNGC0L7RgNC4INC+0LHRh9C40YHQu9GO0Y7RgtGM0YHRjyDQt9CwINC/0YDRltC+0YDQuNGC0LXRgtCw0LzQuC4g0JLQutC70LDQtNC10L3RliDQstC40YDQsNC30Lgg0YMg0LTRg9C20LrQsNGFXG4iCisiICAgINC+0LHRh9C40YHQu9GO0Y7RgtGM0YHRjyDQv9C10YDRiNC40LzQuCDRgtCwINC80L7QttGD0YLRjCDQt9C80ZbQvdGO0LLQsNGC0Lgg0L/RgNCw0LLQuNC70LAg0L/RgNGW0L7RgNC40YLQtdGC0ZbQsiwg0L3QsNCy0LXQtNC10L3RllxuIgorIiAgICDQstC40YnQtS5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0K/QutGJ0L4g0YDQtdC30YPQu9GM0YLQsNGC0L7QvCDQvtCx0YfQuNGB0LvQtdC90L3RjyDQvtGB0YLQsNC90L3RjNC+0LPQviDQkNCg0JPQo9Cc0JXQndCi0KMg0ZQgMCwgbGV0INC/0L7QstC10YDRgtCw0ZQgMSxcbiIKKyIgICAg0ZbQvdCw0LrRiNC1IOKAlCAwLiIKKworIzogYnVpbHRpbnMuYzo5NzEKKyMsIGZ1enp5Cittc2dpZCAiIgorIlJlYWQgYSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGFuZCBzcGxpdCBpdCBpbnRvIGZpZWxkcy5cbiIKKyIgICAgXG4iCisiICAgIFJlYWRzIGEgc2luZ2xlIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIG9yIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEXG4iCisiICAgIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgbGluZSBpcyBzcGxpdCBpbnRvIGZpZWxkcyBhcyB3aXRoICIKKyJ3b3JkXG4iCisiICAgIHNwbGl0dGluZywgYW5kIHRoZSBmaXJzdCB3b3JkIGlzIGFzc2lnbmVkIHRvIHRoZSBmaXJzdCBOQU1FLCB0aGUgc2Vjb25kXG4iCisiICAgIHdvcmQgdG8gdGhlIHNlY29uZCBOQU1FLCBhbmQgc28gb24sIHdpdGggYW55IGxlZnRvdmVyIHdvcmRzIGFzc2lnbmVkIHRvXG4iCisiICAgIHRoZSBsYXN0IE5BTUUuICBPbmx5IHRoZSBjaGFyYWN0ZXJzIGZvdW5kIGluICRJRlMgYXJlIHJlY29nbml6ZWQgYXMgIgorIndvcmRcbiIKKyIgICAgZGVsaW1pdGVycy5cbiIKKyIgICAgXG4iCisiICAgIElmIG5vIE5BTUVzIGFyZSBzdXBwbGllZCwgdGhlIGxpbmUgcmVhZCBpcyBzdG9yZWQgaW4gdGhlIFJFUExZICIKKyJ2YXJpYWJsZS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWEgYXJyYXlcdGFzc2lnbiB0aGUgd29yZHMgcmVhZCB0byBzZXF1ZW50aWFsIGluZGljZXMgb2YgdGhlIGFycmF5XG4iCisiICAgIFx0XHR2YXJpYWJsZSBBUlJBWSwgc3RhcnRpbmcgYXQgemVyb1xuIgorIiAgICAgIC1kIGRlbGltXHRjb250aW51ZSB1bnRpbCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIERFTElNIGlzIHJlYWQsIHJhdGhlclxuIgorIiAgICBcdFx0dGhhbiBuZXdsaW5lXG4iCisiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCisiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCisiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCisiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKKyIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCisiICAgICAgLXNcdFx0ZG8gbm90IGVjaG8gaW5wdXQgY29taW5nIGZyb20gYSB0ZXJtaW5hbFxuIgorIiAgICAgIC10IHRpbWVvdXRcdHRpbWUgb3V0IGFuZCByZXR1cm4gZmFpbHVyZSBpZiBhIGNvbXBsZXRlIGxpbmUgb2YgaW5wdXQgIgorImlzXG4iCisiICAgIFx0XHRub3QgcmVhZCB3aXRoaW50IFRJTUVPVVQgc2Vjb25kcy4gIFRoZSB2YWx1ZSBvZiB0aGUgVE1PVVRcbiIKKyIgICAgXHRcdHZhcmlhYmxlIGlzIHRoZSBkZWZhdWx0IHRpbWVvdXQuICBUSU1FT1VUIG1heSBiZSBhXG4iCisiICAgIFx0XHRmcmFjdGlvbmFsIG51bWJlci4gIElmIFRJTUVPVVQgaXMgMCwgcmVhZCByZXR1cm5zIHN1Y2Nlc3Mgb25seVxuIgorIiAgICBcdFx0aWYgaW5wdXQgaXMgYXZhaWxhYmxlIG9uIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLiAgVGhlXG4iCisiICAgIFx0XHRleGl0IHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gMTI4IGlmIHRoZSB0aW1lb3V0IGlzIGV4Y2VlZGVkXG4iCisiICAgICAgLXUgZmRcdFx0cmVhZCBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCBpbnB1dFxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFRoZSByZXR1cm4gY29kZSBpcyB6ZXJvLCB1bmxlc3MgZW5kLW9mLWZpbGUgaXMgZW5jb3VudGVyZWQsIHJlYWQgdGltZXMgIgorIm91dCxcbiIKKyIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKK21zZ3N0ciAiIgorItCn0LjRgtCw0ZQg0YDRj9C00L7QuiDQt9GWINGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNGDINGC0LAg0YDQvtC30LHQuNCy0LDRlCDQudC+0LPQviDQvdCwINC/0L7Qu9GPLlxuIgorIiAgICBcbiIKKyIgICAg0JfRh9C40YLRg9GUINC+0LTQuNC9INGA0Y/QtNC+0Log0LfRliDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTRgyDRh9C4INC3INCk0JDQmdCb0J7QktCe0JPQni3QlNCV0KHQmtCg0JjQn9Ci0J7QoNCjLCAiCisi0Y/QutGJ0L5cbiIKKyIgICAg0LLQutCw0LfQsNC90L4g0L/QsNGA0LDQvNC10YLRgCAtdS4g0KDRj9C00L7QuiDRgNC+0LfQsdC40LLQsNGU0YLRjNGB0Y8g0L3QsCDQv9C+0LvRjyDQv9C+INGB0LvQvtCy0LDRhSwg0L/QtdGA0YjQtSDRgdC70L7QstC+XG4iCisiICAgINC/0YDQuNC30L3QsNGH0YPRlNGC0YzRgdGPINC/0LXRgNGI0L7QvNGDINCG0JzQldCd0IYsINC00YDRg9Cz0LUg0YHQu9C+0LLQviDigJQg0LTRgNGD0LPQvtC80YMg0IbQnNCV0J3QhiDRliDRgtCw0Log0LTQsNC70ZYsICIKKyLRj9C60YnQvlxuIgorIiAgICDQt9Cw0LvQuNGI0LDRgtGM0YHRjyDQvdC1INGU0L/RgNC40LfQvdCw0YfQtdC90ZYg0YHQu9C+0LLQsCwg0ZfRhSDQsdGD0LTQtSDQv9GA0LjQt9C90LDRh9C10L3QviDQvtGB0YLQsNC90L3RjNC+0LzRgyDQhtCc0JXQndCGLiAiCisi0K/QulxuIgorIiAgICDRgNC+0LfQtNGW0LvRjNC90LjQutC4INC/0L7Qu9GW0LIg0YDQvtC30L/RltC30L3QsNGO0YLRjNGB0Y8g0YHQuNC80LLQvtC70LgsINCy0LrQsNC30LDQvdGWINGDINC30LzRltC90L3RltC5ICRJRlMuXG4iCisiICAgIFxuIgorIiAgICDQr9C60YnQviDQhtCc0JXQndCQINC90LUg0LLQutCw0LfQsNC90L4sINGA0Y/QtNC+0Log0YbRltC70LrQvtC8INCx0YPQtNC1INC30LHQtdGA0LXQttC10L3QviDRgyDQt9C80ZbQvdC90ZbQuSBSRVBMWS5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtYSDQvNCw0YHQuNCyXHTQn9GA0LjQt9C90LDRh9C40YLQuCDQv9GA0L7Rh9C40YLQsNC90ZYg0YHQu9C+0LLQsCDQv9C+0YHQu9GW0LTQvtCy0L3QuNC8INC10LvQtdC80LXQvdGC0LDQvCDQnNCQ0KHQmNCS0KMsXG4iCisiICAgIFx0XHTQv9C+0YfQuNC90LDRjtGH0Lgg0Lcg0L3Rg9C70YzQvtCy0L7Qs9C+LlxuIgorIiAgICAgIC1kINGA0L7Qt9C00ZbQu9GM0L3QuNC6XHTQp9C40YLQsNGC0Lgg0LLQstGW0LQg0LTQvtC60Lgg0L3QtSDQt9C90LDQudC00LXRgtGM0YHRjyDRgdC40LzQstC+0Lsg0KDQntCX0JTQhtCb0KzQndCY0JpcbiIKKyIgICAgXHRcdCjQt9Cw0LzRltGB0YLRjCDQutGW0L3RhtGPINGA0Y/QtNC60LAsINGP0Log0LfQstC40YfQsNC50L3QvikuXG4iCisiICAgICAgLWVcdFx00JLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4IFJlYWRsaW5lINC00LvRjyDQvtGC0YDQuNC80LDQvdC90Y8g0YDRj9C00LrRgyDRgyDRltC90YLQtdGA0LDQutGC0LjQstC90ZbQuVxuIgorIiAgICBcdFx00L7QsdC+0LvQvtC90YbRli5cbiIKKyIgICAgICAtaSDRgtC10LrRgdGCXHTQktC60LDQt9Cw0YLQuCDQv9C+0YfQsNGC0LrQvtCy0LjQuSDQotCV0JrQodCiINC00LvRjyBSZWFkbGluZS5cbiIKKyIgICAgICAtbiDQutGW0LvRjNC60ZbRgdGC0YxcdNCf0YDQuNC/0LjQvdC40YLQuCDQv9GW0YHQu9GPINC30YfQuNGC0YPQstCw0L3QvdGPINCa0IbQm9Cs0JrQntCh0KLQhiDRgdC40LzQstC+0LvRltCyLCDQt9Cw0LzRltGB0YLRjFxuIgorIiAgICBcdFx00YLQvtCz0L4sINGJ0L7QsSDRh9C10LrQsNGC0Lgg0L3QsCDQutGW0L3QtdGG0Ywg0YDRj9C00LrQsC5cbiIKKyIgICAgICAtcCDQt9Cw0L/RgNC+0YjQtdC90L3Rj1x00JLQuNCy0LXRgdGC0Lgg0YDRj9C00L7QuiDQl9CQ0J/QoNCe0KjQldCd0J3QryAo0LHQtdC3INC/0LXRgNC10LLQvtC00YMg0YDRj9C00LrRgyDQsiDQutGW0L3RhtGWKVxuIgorIiAgICBcdFx00L/QtdGA0LXQtCDRh9C40YLQsNC90L3Rj9C8LlxuIgorIiAgICAgIC1yXHRcdNCd0LUg0L7QsdGA0L7QsdC70Y/RgtC4INC30LLQvtGA0L7RgtC90Y4g0L/QvtGF0LjQu9GDINGA0LjRgdC60YMg0Y/QuiDQt9C90LXRiNC60L7QtNC20YPQstCw0Ycg0YHQuNC80LLQvtC70ZbQsi5cbiIKKyIgICAgICAtc1x0XHTQndC1INCy0LjQstC+0LTQuNGC0Lgg0L7RgtGA0LjQvNCw0L3QuNC5INCy0LLRltC0INC90LAg0YLQtdGA0LzRltC90LDQuy5cbiIKKyIgICAgICAtdCDQu9GW0LzRltGCLdGH0LDRgdGDXHTQn9GA0LjQv9C40L3QuNGC0Lgg0YfQuNGC0LDQvdC90Y8g0YLQsCDQstC40LnRgtC4INC3INC/0L7QvNC40LvQutC+0Y4g0Y/QutGJ0L4g0LfQsCDQstC60LDQt9Cw0L3QuNC5XG4iCisiICAgIFx0XHTQv9GA0L7QvNGW0LbQvtC6INGH0LDRgdGDICjQsiDRgdC10LrRg9C90LTQsNGFKSDQvdC1INCx0YPQu9C+INC/0YDQvtGH0LjRgtCw0L3QviDRgNGP0LTQvtC6INGG0ZbQu9C60L7QvC4g0JfQvdCw0YfQtdC90L3Rj1xuIgorIiAgICBcdFx00LfQvNGW0L3QvdC+0ZcgVE1PVVQg0ZQg0YHRgtCw0L3QtNCw0YDRgtC90LjQvCDQt9C90LDRh9C10L3QvdGP0Lwg0L7QsdC80LXQttC10L3QvdGPINC30LAg0YfQsNGB0L7QvC4g0JvQhtCc0IbQoi0iCisi0KfQkNCh0KNcbiIKKyIgICAgXHRcdNC80L7QttC1INCx0YPRgtC4INC00YDQvtCx0L7QstC40Lwg0YfQuNGB0LvQvtC8LiDQr9C60YnQviDQm9CG0JzQhtCiLdCn0JDQodCjIDAsIHJlYWQg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPXG4iCisiICAgIFx0XHTRg9GB0L/RltGI0L3Qviwg0LvQuNGI0LUg0Y/QutGJ0L4g0LLQstGW0LQg0LLQttC1INC90LDRj9Cy0L3QuNC5INC90LAg0LLQutCw0LfQsNC90L7QvNGDINGE0LDQudC70L7QstC+0LzRg1xuIgorIiAgICBcdFx00LTQtdGB0LrRgNC40L/RgtC+0YDRli4g0K/QutGJ0L4g0L/QtdGA0LXQstC40YnQtdC90L4g0YLQtdGA0LzRltC9INC+0YfRltC60YPQstCw0L3QvdGPLCDQutC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0LHRg9C00LVcbiIKKyIgICAgXHRcdNCx0ZbQu9GM0YjQuNC8INC30LAgMTI4LiAgICAgIC11INGE0LDQudC70L7QstC40Lkt0LTQtdGB0LrRgNC40L/RgtC+0YBcdNCn0LjRgtCw0YLQuCDQstCy0ZbQtCDQtyDQpNCQ0JnQm9Ce0JLQntCT0J4tIgorItCU0JXQodCa0KDQmNCf0KLQntCg0KMg0LfQsNC80ZbRgdGC0YxcbiIKKyIgICAgXHRcdNGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNGDLiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQv9C+0LLQtdGA0YLQsNGUINC/0L7QvNC40LvQutGDLCDRj9C60YnQviDQt9C90LDQudC00LXQvdC+INC60ZbQvdC10YbRjCDRhNCw0LnQu9GDLCDRj9C60YnQviDQstC40YfQtdGA0L/QsNC90L4gIgorItGH0LDRgVxuIgorIiAgICDQvtGH0ZbQutGD0LLQsNC90L3Rjywg0LDQsdC+INGP0LrRidC+INGW0LcgLXUg0LLQutCw0LfQsNC90L4g0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INGE0LDQudC70L7QstC40Lkg0LTQtdGB0LrRgNC40L/RgtC+0YAuIgorCisjOiBidWlsdGlucy5jOjEwMTQKK21zZ2lkICIiCisiUmV0dXJuIGZyb20gYSBzaGVsbCBmdW5jdGlvbi5cbiIKKyIgICAgXG4iCisiICAgIENhdXNlcyBhIGZ1bmN0aW9uIG9yIHNvdXJjZWQgc2NyaXB0IHRvIGV4aXQgd2l0aCB0aGUgcmV0dXJuIHZhbHVlXG4iCisiICAgIHNwZWNpZmllZCBieSBOLiAgSWYgTiBpcyBvbWl0dGVkLCB0aGUgcmV0dXJuIHN0YXR1cyBpcyB0aGF0IG9mIHRoZVxuIgorIiAgICBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQgd2l0aGluIHRoZSBmdW5jdGlvbiBvciBzY3JpcHQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBOLCBvciBmYWlsdXJlIGlmIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24gb3Igc2NyaXB0LiIKK21zZ3N0ciAiIgorItCf0L7QstC10YDRgtCw0ZTRgtGM0YHRjyDQtyDRhNGD0L3QutGG0ZbRlyDQvtCx0L7Qu9C+0L3QutC4LlxuIgorIiAgICBcbiIKKyIgICAg0JLQuNGF0L7QtNC40YLRjCDQtyDRhNGD0L3QutGG0ZbRlyDRh9C4INGB0YbQtdC90LDRgNGW0Y4sINCy0LjQutC+0L3QsNC90L7Qs9C+INC30LAg0LTQvtC/0L7QvNC+0LPQvtGOIHNvdXJjZSDQt9GWICIKKyLQstC60LDQt9Cw0L3QuNC8XG4iCisiICAgINC60L7QtNC+0Lwg0LfQsNCy0LXRgNGI0LXQvdC90Y8gTi4g0K/QutGJ0L4gTiDQvdC1INCy0LrQsNC30LDQvdC1LCByZXR1cm4g0L/QvtCy0LXRgNGC0LDRlCDRgdGC0LDRgtGD0YEg0L7RgdGC0LDQvdC90YzQvtGXXG4iCisiICAgINCy0LjQutC+0L3QsNC90L7RlyDQstGB0LXRgNC10LTQuNC90ZYg0YHRhtC10L3QsNGA0ZbRjiDRh9C4INGE0YPQvdC60YbRltGXINC60L7QvNCw0L3QtNC4LlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQv9C+0LLQtdGA0YLQsNGUIE4sINCw0LHQviDQv9C+0LzQuNC70LrRgywg0Y/QutGJ0L4g0LLQuNC60LvQuNC60LDQvdCwINC90LUg0YMg0YTRg9C90LrRhtGW0Zcg0YfQuCDRgdGG0LXQvdCw0YDRltGXLiIKKworIzogYnVpbHRpbnMuYzoxMDI3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgXG4iCisiICAgIENoYW5nZSB0aGUgdmFsdWUgb2Ygc2hlbGwgYXR0cmlidXRlcyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBvclxuIgorIiAgICBkaXNwbGF5IHRoZSBuYW1lcyBhbmQgdmFsdWVzIG9mIHNoZWxsIHZhcmlhYmxlcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWEgIE1hcmsgdmFyaWFibGVzIHdoaWNoIGFyZSBtb2RpZmllZCBvciBjcmVhdGVkIGZvciBleHBvcnQuXG4iCisiICAgICAgLWIgIE5vdGlmeSBvZiBqb2IgdGVybWluYXRpb24gaW1tZWRpYXRlbHkuXG4iCisiICAgICAgLWUgIEV4aXQgaW1tZWRpYXRlbHkgaWYgYSBjb21tYW5kIGV4aXRzIHdpdGggYSBub24temVybyBzdGF0dXMuXG4iCisiICAgICAgLWYgIERpc2FibGUgZmlsZSBuYW1lIGdlbmVyYXRpb24gKGdsb2JiaW5nKS5cbiIKKyIgICAgICAtaCAgUmVtZW1iZXIgdGhlIGxvY2F0aW9uIG9mIGNvbW1hbmRzIGFzIHRoZXkgYXJlIGxvb2tlZCB1cC5cbiIKKyIgICAgICAtayAgQWxsIGFzc2lnbm1lbnQgYXJndW1lbnRzIGFyZSBwbGFjZWQgaW4gdGhlIGVudmlyb25tZW50IGZvciBhXG4iCisiICAgICAgICAgIGNvbW1hbmQsIG5vdCBqdXN0IHRob3NlIHRoYXQgcHJlY2VkZSB0aGUgY29tbWFuZCBuYW1lLlxuIgorIiAgICAgIC1tICBKb2IgY29udHJvbCBpcyBlbmFibGVkLlxuIgorIiAgICAgIC1uICBSZWFkIGNvbW1hbmRzIGJ1dCBkbyBub3QgZXhlY3V0ZSB0aGVtLlxuIgorIiAgICAgIC1vIG9wdGlvbi1uYW1lXG4iCisiICAgICAgICAgIFNldCB0aGUgdmFyaWFibGUgY29ycmVzcG9uZGluZyB0byBvcHRpb24tbmFtZTpcbiIKKyIgICAgICAgICAgICAgIGFsbGV4cG9ydCAgICBzYW1lIGFzIC1hXG4iCisiICAgICAgICAgICAgICBicmFjZWV4cGFuZCAgc2FtZSBhcyAtQlxuIgorIiAgICAgICAgICAgICAgZW1hY3MgICAgICAgIHVzZSBhbiBlbWFjcy1zdHlsZSBsaW5lIGVkaXRpbmcgaW50ZXJmYWNlXG4iCisiICAgICAgICAgICAgICBlcnJleGl0ICAgICAgc2FtZSBhcyAtZVxuIgorIiAgICAgICAgICAgICAgZXJydHJhY2UgICAgIHNhbWUgYXMgLUVcbiIKKyIgICAgICAgICAgICAgIGZ1bmN0cmFjZSAgICBzYW1lIGFzIC1UXG4iCisiICAgICAgICAgICAgICBoYXNoYWxsICAgICAgc2FtZSBhcyAtaFxuIgorIiAgICAgICAgICAgICAgaGlzdGV4cGFuZCAgIHNhbWUgYXMgLUhcbiIKKyIgICAgICAgICAgICAgIGhpc3RvcnkgICAgICBlbmFibGUgY29tbWFuZCBoaXN0b3J5XG4iCisiICAgICAgICAgICAgICBpZ25vcmVlb2YgICAgdGhlIHNoZWxsIHdpbGwgbm90IGV4aXQgdXBvbiByZWFkaW5nIEVPRlxuIgorIiAgICAgICAgICAgICAgaW50ZXJhY3RpdmUtY29tbWVudHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvdyBjb21tZW50cyB0byBhcHBlYXIgaW4gaW50ZXJhY3RpdmUgY29tbWFuZHNcbiIKKyIgICAgICAgICAgICAgIGtleXdvcmQgICAgICBzYW1lIGFzIC1rXG4iCisiICAgICAgICAgICAgICBtb25pdG9yICAgICAgc2FtZSBhcyAtbVxuIgorIiAgICAgICAgICAgICAgbm9jbG9iYmVyICAgIHNhbWUgYXMgLUNcbiIKKyIgICAgICAgICAgICAgIG5vZXhlYyAgICAgICBzYW1lIGFzIC1uXG4iCisiICAgICAgICAgICAgICBub2dsb2IgICAgICAgc2FtZSBhcyAtZlxuIgorIiAgICAgICAgICAgICAgbm9sb2cgICAgICAgIGN1cnJlbnRseSBhY2NlcHRlZCBidXQgaWdub3JlZFxuIgorIiAgICAgICAgICAgICAgbm90aWZ5ICAgICAgIHNhbWUgYXMgLWJcbiIKKyIgICAgICAgICAgICAgIG5vdW5zZXQgICAgICBzYW1lIGFzIC11XG4iCisiICAgICAgICAgICAgICBvbmVjbWQgICAgICAgc2FtZSBhcyAtdFxuIgorIiAgICAgICAgICAgICAgcGh5c2ljYWwgICAgIHNhbWUgYXMgLVBcbiIKKyIgICAgICAgICAgICAgIHBpcGVmYWlsICAgICB0aGUgcmV0dXJuIHZhbHVlIG9mIGEgcGlwZWxpbmUgaXMgdGhlIHN0YXR1cyBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBsYXN0IGNvbW1hbmQgdG8gZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHplcm8gaWYgbm8gY29tbWFuZCBleGl0ZWQgd2l0aCBhIG5vbi16ZXJvICIKKyJzdGF0dXNcbiIKKyIgICAgICAgICAgICAgIHBvc2l4ICAgICAgICBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGJhc2ggd2hlcmUgdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24gZGlmZmVycyBmcm9tIHRoZSBQb3NpeCBzdGFuZGFyZCB0b1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoIHRoZSBzdGFuZGFyZFxuIgorIiAgICAgICAgICAgICAgcHJpdmlsZWdlZCAgIHNhbWUgYXMgLXBcbiIKKyIgICAgICAgICAgICAgIHZlcmJvc2UgICAgICBzYW1lIGFzIC12XG4iCisiICAgICAgICAgICAgICB2aSAgICAgICAgICAgdXNlIGEgdmktc3R5bGUgbGluZSBlZGl0aW5nIGludGVyZmFjZVxuIgorIiAgICAgICAgICAgICAgeHRyYWNlICAgICAgIHNhbWUgYXMgLXhcbiIKKyIgICAgICAtcCAgVHVybmVkIG9uIHdoZW5ldmVyIHRoZSByZWFsIGFuZCBlZmZlY3RpdmUgdXNlciBpZHMgZG8gbm90IG1hdGNoLlxuIgorIiAgICAgICAgICBEaXNhYmxlcyBwcm9jZXNzaW5nIG9mIHRoZSAkRU5WIGZpbGUgYW5kIGltcG9ydGluZyBvZiBzaGVsbFxuIgorIiAgICAgICAgICBmdW5jdGlvbnMuICBUdXJuaW5nIHRoaXMgb3B0aW9uIG9mZiBjYXVzZXMgdGhlIGVmZmVjdGl2ZSB1aWQgYW5kXG4iCisiICAgICAgICAgIGdpZCB0byBiZSBzZXQgdG8gdGhlIHJlYWwgdWlkIGFuZCBnaWQuXG4iCisiICAgICAgLXQgIEV4aXQgYWZ0ZXIgcmVhZGluZyBhbmQgZXhlY3V0aW5nIG9uZSBjb21tYW5kLlxuIgorIiAgICAgIC11ICBUcmVhdCB1bnNldCB2YXJpYWJsZXMgYXMgYW4gZXJyb3Igd2hlbiBzdWJzdGl0dXRpbmcuXG4iCisiICAgICAgLXYgIFByaW50IHNoZWxsIGlucHV0IGxpbmVzIGFzIHRoZXkgYXJlIHJlYWQuXG4iCisiICAgICAgLXggIFByaW50IGNvbW1hbmRzIGFuZCB0aGVpciBhcmd1bWVudHMgYXMgdGhleSBhcmUgZXhlY3V0ZWQuXG4iCisiICAgICAgLUIgIHRoZSBzaGVsbCB3aWxsIHBlcmZvcm0gYnJhY2UgZXhwYW5zaW9uXG4iCisiICAgICAgLUMgIElmIHNldCwgZGlzYWxsb3cgZXhpc3RpbmcgcmVndWxhciBmaWxlcyB0byBiZSBvdmVyd3JpdHRlblxuIgorIiAgICAgICAgICBieSByZWRpcmVjdGlvbiBvZiBvdXRwdXQuXG4iCisiICAgICAgLUUgIElmIHNldCwgdGhlIEVSUiB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLUggIEVuYWJsZSAhIHN0eWxlIGhpc3Rvcnkgc3Vic3RpdHV0aW9uLiAgVGhpcyBmbGFnIGlzIG9uXG4iCisiICAgICAgICAgIGJ5IGRlZmF1bHQgd2hlbiB0aGUgc2hlbGwgaXMgaW50ZXJhY3RpdmUuXG4iCisiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgorIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCisiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKKyIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKKyIgICAgXG4iCisiICAgIFVzaW5nICsgcmF0aGVyIHRoYW4gLSBjYXVzZXMgdGhlc2UgZmxhZ3MgdG8gYmUgdHVybmVkIG9mZi4gIFRoZVxuIgorIiAgICBmbGFncyBjYW4gYWxzbyBiZSB1c2VkIHVwb24gaW52b2NhdGlvbiBvZiB0aGUgc2hlbGwuICBUaGUgY3VycmVudFxuIgorIiAgICBzZXQgb2YgZmxhZ3MgbWF5IGJlIGZvdW5kIGluICQtLiAgVGhlIHJlbWFpbmluZyBuIEFSR3MgYXJlIHBvc2l0aW9uYWxcbiIKKyIgICAgcGFyYW1ldGVycyBhbmQgYXJlIGFzc2lnbmVkLCBpbiBvcmRlciwgdG8gJDEsICQyLCAuLiAkbi4gIElmIG5vXG4iCisiICAgIEFSR3MgYXJlIGdpdmVuLCBhbGwgc2hlbGwgdmFyaWFibGVzIGFyZSBwcmludGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgorbXNnc3RyICIiCisi0JLRgdGC0LDQvdC+0LLQu9GO0ZQg0YLQsCDRgdC60LjQtNCw0ZQg0L/QsNGA0LDQvNC10YLRgNC4INC+0LHQvtC70L7QvdC60Lgg0YLQsCDQv9C+0LfQuNGG0ZbQudC90ZYg0L/QsNGA0LDQvNC10YLRgNC4LlxuIgorIiAgICBcbiIKKyIgICAg0JfQvNGW0L3RjtGUINC30L3QsNGH0LXQvdC90Y8g0LLQu9Cw0YHRgtC40LLQvtGB0YLQtdC5INC+0LHQvtC70L7QvdC60Lgg0YLQsCDQv9C+0LfQuNGG0ZbQudC90LjRhSDQv9Cw0YDQsNC80LXRgtGA0ZbQsiDRh9C4ICIKKyLQv9C+0LrQsNC30YPRlFxuIgorIiAgICDRltC80LXQvdCwINGC0LAg0LfQvdCw0YfQtdC90L3RjyDQt9C80ZbQvdC90LjRhSDQvtCx0L7Qu9C+0L3QutC4LlxuIgorIiAgICBcbiIKKyIgICAg0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAgICAgIC1hICDQldC60YHQv9C+0YDRgtGD0LLQsNGC0Lgg0LfQvNGW0L3QvdGWLCDRj9C60ZYg0LHRg9C00YPRgtGMINC30LzRltC90Y7QstCw0YLQuNGB0Y8g0YfQuCDRgdGC0LLQvtGA0Y7QstCw0YLQuNGB0Y8uXG4iCisiICAgICAgLWIgINCh0L/QvtCy0ZbRidCw0YLQuCDQv9GA0L4g0L/RgNC40L/QuNC90LXQvdC90Y8g0LfQsNCy0LTQsNC90Ywg0L3QtdCz0LDQudC90L4uXG4iCisiICAgICAgLWUgINCX0LDQstC10YDRiNC40YLQuCDRgNC+0LHQvtGC0YMsINGP0LrRidC+INC+0LTQvdCwINC3INC60L7QvNCw0L3QtCDQt9Cw0LLQtdGA0YjQuNGC0YzRgdGPINC/0L7QvNC40LvQutC+0Y4uXG4iCisiICAgICAgLWYgINCS0LjQvNC60L3Rg9GC0Lgg0YDQvtC30LrRgNC40YLRgtGPINGI0LDQsdC70L7QvdGW0LIg0ZbQvNC10L0g0YTQsNC50LvRltCyIChnbG9iYmluZykuXG4iCisiICAgICAgLWggINCX0LDQv9Cw0LzigJnRj9GC0L7QstGD0LLQsNGC0Lgg0YDQvtC30LzRltGJ0LXQvdC90Y8g0LrQvtC80LDQvdC0INC/0L4g0LzRltGA0ZYg0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPLlxuIgorIiAgICAgIC1rICDQn9C10YDQtdC90L7RgdC40YLQuCDRg9GB0ZYg0LDRgNCz0YPQvNC10L3RgtC4LdC/0YDQuNGB0LLQvtGU0L3QvdGPINC00L4g0L7RgtC+0YfQtdC90L3RjyDQutC+0LzQsNC90LTQuCwg0L3QtSDQu9C40YjQtSAiCisi0YLRlixcbiIKKyIgICAgICAgICAg0YnQviDQudC00YPRgtGMINC/0LXRgNC10LQg0ZbQvNC10L3QtdC8INC60L7QvNCw0L3QtNC4LlxuIgorIiAgICAgIC1tICDQktCy0ZbQvNC60L3Rg9GC0Lgg0LrQvtC90YLRgNC+0LvRjCDQt9Cw0LLQtNCw0L3RjC5cbiIKKyIgICAgICAtbiAg0KfQuNGC0LDRgtC4INC60L7QvNCw0L3QtNC4LCDQsNC70LUg0L3QtSDQstC40LrQvtC90YPQstCw0YLQuCDRl9GFLlxuIgorIiAgICAgIC1vINC/0LDRgNCw0LzQtdGC0YBcbiIKKyIgICAgICAgICAg0JLRgdGC0LDQvdC+0LLQuNGC0Lgg0L/QsNGA0LDQvNC10YLRgCDQvtCx0L7Qu9C+0L3QutC4OlxuIgorIiAgICAgICAgICAgICAgYWxsZXhwb3J0ICAgINGC0LUg0YHQsNC80LUsINGJ0L4g0LkgLWFcbiIKKyIgICAgICAgICAgICAgIGJyYWNlZXhwYW5kICDRgtC1INGB0LDQvNC1LCDRidC+INC5IC1CXG4iCisiICAgICAgICAgICAgICBlbWFjcyAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC/0L7QtNGW0LHQvdC40Lkg0LTQviBlbWFjcyDRltC90YLQtdGA0YTQtdC50YFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDRgNC10LTQsNCz0YPQstCw0L3QvdGPXG4iCisiICAgICAgICAgICAgICBlcnJleGl0ICAgICAg0YLQtSDRgdCw0LzQtSwg0YnQviDQuSAtZVxuIgorIiAgICAgICAgICAgICAgZXJydHJhY2UgICAgINGC0LUg0YHQsNC80LUsINGJ0L4g0LkgLUVcbiIKKyIgICAgICAgICAgICAgIGZ1bmN0cmFjZSAgICDRgtC1INGB0LDQvNC1LCDRidC+INC5IC1UXG4iCisiICAgICAgICAgICAgICBoYXNoYWxsICAgICAg0YLQtSDRgdCw0LzQtSwg0YnQviDQuSAtaFxuIgorIiAgICAgICAgICAgICAgaGlzdGV4cGFuZCAgINGC0LUg0YHQsNC80LUsINGJ0L4g0LkgLUhcbiIKKyIgICAgICAgICAgICAgIGhpc3RvcnkgICAgICDQstCy0ZbQvNC60L3Rg9GC0Lgg0LfQsdC10YDQtdC20LXQvdC90Y8g0ZbRgdGC0L7RgNGW0Zcg0LrQvtC80LDQvdC0XG4iCisiICAgICAgICAgICAgICBpZ25vcmVlb2YgICAg0L3QtSDQstC40YXQvtC00LjRgtC4INC3INC+0LHQvtC70L7QvdC60Lgg0L/RltGB0LvRjyDQt9GH0LjRgtGD0LLQsNC90L3RjyDQutGW0L3RhtGPICIKKyLRhNCw0LnQu9GDXG4iCisiICAgICAgICAgICAgICBpbnRlcmFjdGl2ZS1jb21tZW50c1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgINC00L7Qt9Cy0L7Qu9C40YLQuCDQutC+0LzQtdC90YLQsNGA0ZYg0YMg0ZbQvdGC0LXRgNCw0LrRgtC40LLQvdGW0Lkg0L7QsdC+0LvQvtC90YbRllxuIgorIiAgICAgICAgICAgICAga2V5d29yZCAgICAgINGC0LUg0YHQsNC80LUsINGJ0L4g0LkgLWtcbiIKKyIgICAgICAgICAgICAgIG1vbml0b3IgICAgICDRgtC1INGB0LDQvNC1LCDRidC+INC5IC1tXG4iCisiICAgICAgICAgICAgICBub2Nsb2JiZXIgICAg0YLQtSDRgdCw0LzQtSwg0YnQviDQuSAtQ1xuIgorIiAgICAgICAgICAgICAgbm9leGVjICAgICAgINGC0LUg0YHQsNC80LUsINGJ0L4g0LkgLW5cbiIKKyIgICAgICAgICAgICAgIG5vZ2xvYiAgICAgICDRgtC1INGB0LDQvNC1LCDRidC+INC5IC1mXG4iCisiICAgICAgICAgICAgICBub2xvZyAgICAgICAg0L3QsNGA0LDQt9GWINC/0YDQuNC50LzQsNGU0YLRjNGB0Y8sINCw0LvQtSDRltCz0L3QvtGA0YPRlNGC0YzRgdGPXG4iCisiICAgICAgICAgICAgICBub3RpZnkgICAgICAg0YLQtSDRgdCw0LzQtSwg0YnQviDQuSAtYlxuIgorIiAgICAgICAgICAgICAgbm91bnNldCAgICAgINGC0LUg0YHQsNC80LUsINGJ0L4g0LkgLXVcbiIKKyIgICAgICAgICAgICAgIG9uZWNtZCAgICAgICDRgtC1INGB0LDQvNC1LCDRidC+INC5IC10XG4iCisiICAgICAgICAgICAgICBwaHlzaWNhbCAgICAg0YLQtSDRgdCw0LzQtSwg0YnQviDQuSAtUFxuIgorIiAgICAgICAgICAgICAgcGlwZWZhaWwgICAgINC60L7QtNC+0Lwg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0LvQsNC90YbRjtC20LrQsCDQutC+0LzQsNC90LQg0ZQg0LrQvtC0ICIKKyLQt9Cw0LLQtdGA0YjQtdC90L3Rj1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgINC+0YHRgtCw0L3QvdGM0L7RlyDQutC+0LzQsNC90LTQuCwg0YnQviDQt9Cw0LLQtdGA0YjQuNC70LDRgdGPINC90LXQstC00LDQu9C+LCDQsNCx0L5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDQvdGD0LvRjCwg0Y/QutGJ0L4g0YPRgdGWINC60L7QvNCw0L3QtNC4INC30LDQstC10YDRiNC40LvQuNGB0Y8g0YPRgdC/0ZbRiNC90L5cbiIKKyIgICAgICAgICAgICAgIHBvc2l4ICAgICAgICDQt9C80ZbQvdC40YLQuCDQv9C+0LLQtdC00ZbQvdC60YMgYmFzaCDRgyDRgdC40YLRg9Cw0YbRltGP0YUsINC00LUg0ZfRlyAiCisi0L/QvtCy0LXQtNGW0L3QutCwXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAg0LfQsNC30LLQuNGH0LDQuSDQstGW0LTRhdC40LvRj9GU0YLRjNGB0Y8g0LLRltC0INGB0YLQsNC90LTQsNGA0YLRgyBQb3NpeCDRgtCw0LosICIKKyLRidC+0LFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDQstC+0L3QsCDQstGW0LTQv9C+0LLRltC00LDQu9CwINGB0YLQsNC90LTQsNGA0YLRg1xuIgorIiAgICAgICAgICAgICAgcHJpdmlsZWdlZCAgINGC0LUg0YHQsNC80LUsINGJ0L4g0LkgLXBcbiIKKyIgICAgICAgICAgICAgIHZlcmJvc2UgICAgICDRgtC1INGB0LDQvNC1LCDRidC+INC5IC12XG4iCisiICAgICAgICAgICAgICB2aSAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC/0L7QtNGW0LHQvdC40Lkg0LTQviB2aSDRltC90YLQtdGA0YTQtdC50YFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDRgNC10LTQsNCz0YPQstCw0L3QvdGPINGA0Y/QtNC60YNcbiIKKyIgICAgICAgICAgICAgIHh0cmFjZSAgICAgICDRgtC1INGB0LDQvNC1LCDRidC+INC5IC14XG4iCisiICAgICAgLXAgINCS0LLRltC80LrQvdC10L3QuNC5LCDRj9C60YnQviDQtNGW0LnRgdC90LjQuSDRgtCwINC10YTQtdC60YLQuNCy0L3QuNC5INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0Lgg0LrQvtGA0LjRgdGC0YPQstCw0YfQsCAiCisi0L3QtVxuIgorIiAgICAgICAgICDQt9Cx0ZbQs9Cw0Y7RgtGM0YHRjy4g0JLQuNC80LjQutCw0ZQg0L7QsdGA0L7QsdC60YMg0YTQsNC50LvRgyAkRU5WINGC0LAg0ZbQvNC/0L7RgNGC0YPQstCw0L3QvdGPINGE0YPQvdC60YbRltC5XG4iCisiICAgICAgICAgINC+0LHQvtC70L7QvdC60LguINCS0LjQvNC40LrQsNC90L3RjyDRhtGM0L7Qs9C+INC/0LDRgNCw0LzQtdGC0YDRgyDQstGB0YLQsNC90L7QstC70Y7RlCDQtdGE0LXQutGC0LjQstC90ZZcbiIKKyIgICAgICAgICAg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQuCDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwINGC0LAg0LPRgNGD0L/QuCDRgyDRgNC10LDQu9GM0L3Rli5cbiIKKyIgICAgICAtdCAg0JfQsNCy0LXRgNGI0LjRgtC4INGA0L7QsdC+0YLRgyDQv9GW0YHQu9GPINC30YfQuNGC0YPQstCw0L3QvdGPINGC0LAg0LLQuNC60L7QvdCw0L3QvdGPINC+0LTQvdGW0ZTRlyDQutC+0LzQsNC90LTQuC5cbiIKKyIgICAgICAtdSAg0J7QsdGA0L7QsdC70Y/RgtC4INC90LXQvtC30L3QsNGH0LXQvdGWINC30LzRltC90L3RliDRj9C6INC/0L7QvNC40LvQutGDINC/0ZbQtCDRh9Cw0YEg0ZfRhSDQv9GW0LTRgdGC0LDQstC70Y/QvdC90Y8uXG4iCisiICAgICAgLXYgINCU0YDRg9C60YPQstCw0YLQuCDRgNGP0LTQutC4INCy0LLQvtC00YMg0L/QviDQvNGW0YDRliDRl9GFINGH0LjRgtCw0L3QvdGPLlxuIgorIiAgICAgIC14ICDQlNGA0YPQutGD0LLQsNGC0Lgg0LrQvtC80LDQvdC00Lgg0YLQsCDRl9GFINCw0YDQs9GD0LzQtdC90YLQuCDQv9GA0Lgg0ZfRhSDQstC40LrQvtC90LDQvdC90ZYuXG4iCisiICAgICAgLUIgINCg0L7QsdC40YLQuCDRgNC+0LfQutGA0LjRgtGC0Y8g0LTRg9C20L7Qui5cbiIKKyIgICAgICAtQyAg0JLQvNC40LrQsNC90L3RjyDQv9Cw0YDQsNC80LXRgtGA0YMg0LfQsNCx0L7RgNC+0L3Rj9GUINC/0LXRgNC10LfQsNC/0LjRgSDRltGB0L3Rg9GO0YfQuNGFINC30LLQuNGH0LDQudC90LjRhSDRhNCw0LnQu9GW0LJcbiIKKyIgICAgICAgICAg0L/QtdGA0LXRgdC/0YDRj9C80YPQstCw0L3QvdGP0Lwg0LLQuNCy0L7QtNGDLlxuIgorIiAgICAgIC1FICDQr9C60YnQviDQstCy0ZbQvNC60L3QtdC90LjQuSwg0L/QsNGB0YLQutCwIEVSUiDRg9GB0L/QsNC00LrQvtCy0YPRlNGC0YzRgdGPINGE0YPQvdC60YbRltGP0LzQuCDQvtCx0L7Qu9C+0L3QutC4LlxuIgorIiAgICAgIC1IICDQktCy0ZbQvNC60L3Rg9GC0Lgg0L/RltC00YHRgtCw0LLQu9GP0L3QvdGPINGW0YHRgtC+0YDRltGXINC30LAg0LTQvtC/0L7QvNC+0LPQvtGOICEuINCm0LXQuSDQv9Cw0YDQsNC80LXRgtGAICIKKyLQt9Cw0LfQstC40YfQsNC5XG4iCisiICAgICAgICAgINCy0LLRltC80LrQvdC10L3QviDRgyDRltC90YLQtdGA0LDQutGC0LjQstC90LjRhSDQvtCx0L7Qu9C+0L3QutCw0YUuXG4iCisiICAgICAgLVAgINCd0LUg0L/QtdGA0LXRhdC+0LTQuNGC0Lgg0LfQsCDRgdC40LzQstC+0LvRltGH0L3QuNC80Lgg0L/QvtGB0LjQu9Cw0L3QvdGP0LzQuCDQv9GA0Lgg0LfQsNC/0YPRgdC60YMg0LrQvtC80LDQvdC0LFxuIgorIiAgICAgICAgICDRgtCw0LrQuNGFINGP0LogY2QsINGP0LrQsCDQt9C80ZbQvdGO0ZQg0L/QvtGC0L7Rh9C90YMg0LTQuNGA0LXQutGC0L7RgNGW0Y4uXG4iCisiICAgICAgLVQgINCv0LrRidC+INCy0LLRltC80LrQvdC10L3QuNC5LCDQv9Cw0YHRgtC60LAgREVCVUcg0LHRg9C00LUg0YPRgdC/0LDQtNC60L7QstGD0LLQsNGC0LjRgdGPINGE0YPQvdC60YbRltGP0LzQuFxuIgorIiAgICAgICAgICDQvtCx0L7Qu9C+0L3QutC4LlxuIgorIiAgICAgIC0gICDQn9GA0LjQt9C90LDRh9C40YLQuCDQsNGA0LPRg9C80LXQvdGC0LgsINGJ0L4g0LfQsNC70LjRiNC40LvQuNGB0Y8g0L/QvtC30LjRhtGW0LnQvdC40Lwg0L/QsNGA0LDQvNC10YLRgNCw0LwuXG4iCisiICAgICAgICAgINCf0LDRgNCw0LzQtdGC0YDQuCAteCDRgtCwIC12INCy0LjQvNC40LrQsNGO0YLRjNGB0Y8uXG4iCisiICAgIFxuIgorIiAgICDQktC40LzQutC90YPRgtC4INC/0LDRgNCw0LzQtdGC0YAg0LzQvtC20L3QsCDQstC60LDQt9Cw0LLRiNC4ICsg0LfQsNC80ZbRgdGC0YwgLS4g0J/QsNGA0LDQvNC10YLRgNC4INC80L7QttC90LAg0LfQvNGW0L3RjtCy0LDRgtC4XG4iCisiICAgINC5INC/0ZbRgdC70Y8g0LfQsNC/0YPRgdC60YMg0L7QsdC+0LvQvtC90LrQuC4g0J3QsNGA0LDQt9GWINCy0LLRltC80LrQvdC10L3RliDQv9Cw0YDQsNC80LXRgtGA0Lgg0LzQvtC20L3QsCDQv9C+0LHQsNGH0LjRgtC4INGDXG4iCisiICAgINC30LzRltC90L3RltC5ICQtLiDQl9Cw0LvQuNGI0LrQvtCy0ZYg0LDRgNCz0YPQvNC10L3RgtC4INCy0LLQsNC20LDRjtGC0YzRgdGPINC/0L7Qt9C40YbRltC50L3QuNC80Lgg0L/QsNGA0LDQvNC10YLRgNCw0LzQuFxuIgorIiAgICDRgtCwINC/0YDQuNC30L3QsNGH0LDRjtGC0YzRgdGPINC/0L4g0L/QvtGA0Y/QtNC60YMg0LLRltC00L/QvtCy0ZbQtNC90L4g0LTQviAkMSAkMiwgLi4gJG4uINCv0LrRidC+INCQ0KDQk9Cj0JzQldCd0KLQmCAiCisi0L3QtVxuIgorIiAgICDQstC60LDQt9Cw0L3Rliwg0LLQuNCy0L7QtNC40YLRjNGB0Y8g0YHQv9C40YHQvtC6INGD0YHRltGFINC30LzRltC90L3QuNGFINC+0LHQvtC70L7QvdC60LguXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDRg9GB0L/RltGI0L3Qviwg0Y/QutGJ0L4g0LLQutCw0LfQsNC90ZYg0L/RgNCw0LLQuNC70YzQvdGWINC/0LDRgNCw0LzQtdGC0YDQuC4iCisKKyM6IGJ1aWx0aW5zLmM6MTExMgorbXNnaWQgIiIKKyJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCisiICAgIFxuIgorIiAgICBGb3IgZWFjaCBOQU1FLCByZW1vdmUgdGhlIGNvcnJlc3BvbmRpbmcgdmFyaWFibGUgb3IgZnVuY3Rpb24uXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1mXHR0cmVhdCBlYWNoIE5BTUUgYXMgYSBzaGVsbCBmdW5jdGlvblxuIgorIiAgICAgIC12XHR0cmVhdCBlYWNoIE5BTUUgYXMgYSBzaGVsbCB2YXJpYWJsZVxuIgorIiAgICBcbiIKKyIgICAgV2l0aG91dCBvcHRpb25zLCB1bnNldCBmaXJzdCB0cmllcyB0byB1bnNldCBhIHZhcmlhYmxlLCBhbmQgaWYgdGhhdCAiCisiZmFpbHMsXG4iCisiICAgIHRyaWVzIHRvIHVuc2V0IGEgZnVuY3Rpb24uXG4iCisiICAgIFxuIgorIiAgICBTb21lIHZhcmlhYmxlcyBjYW5ub3QgYmUgdW5zZXQ7IGFsc28gc2VlIGByZWFkb25seScuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIE5BTUUgaXMgcmVhZC1vbmx5LiIKK21zZ3N0ciAiIgorItCh0LrQuNC00LDRlCDQt9C90LDRh9C10L3QvdGPINGC0LAg0L/QsNGA0LDQvNC10YLRgNC4INC30LzRltC90L3QuNGFINGC0LAg0YTRg9C90LrRhtGW0Lkg0L7QsdC+0LvQvtC90LrQuC5cbiIKKyIgICAgXG4iCisiICAgINCS0LjQu9GD0YfQsNGUINC30LzRltC90L3RliDRh9C4INGE0YPQvdC60YbRltGXLCDQstC60LDQt9Cw0L3RliDQt9CwINCG0JzQldCd0JDQnNCYLlxuIgorIiAgICBcbiIKKyIgICAg0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAgICAgIC1mXHTQhtCc0JXQndCQINGUINGE0YPQvdC60YbRltGP0LzQuCDQvtCx0L7Qu9C+0L3QutC4LlxuIgorIiAgICAgIC12XHTQhtCc0JXQndCQINGUINC30LzRltC90L3QuNC80Lgg0L7QsdC+0LvQvtC90LrQuC5cbiIKKyIgICAgXG4iCisiICAgINCR0LXQtyDQv9Cw0YDQsNC80LXRgtGA0ZbQsiwgdW5zZXQg0YHQv9C+0YfQsNGC0LrRgyDQvdCw0LzQsNCz0LDRlNGC0YzRgdGPINGB0LrQuNC90YPRgtC4INC30LzRltC90L3Rgywg0Y/QutGJ0L4g0YbQtSDQvdC1XG4iCisiICAgINCy0LTQsNGB0YLRjNGB0Y8sINGC0L7QtNGWINGE0YPQvdC60YbRltGOLlxuIgorIiAgICBcbiIKKyIgICAg0JTQtdGP0LrRliDQt9C80ZbQvdC90ZYg0L3QtSDQvNC+0LbRg9GC0Ywg0LHRg9GC0Lgg0YHQutC40L3Rg9GC0LjQvNC4OyDQtNC40LIuIGByZWFkb25seScuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDQvdC10LLQtNCw0LvQviwg0Y/QutGJ0L4g0LLQutCw0LfQsNC90L4g0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INC/0LDRgNCw0LzQtdGC0YAg0YfQuCAiCisi0IbQnOKAmdCvXG4iCisiICAgINC00L7RgdGC0YPQv9C90LUg0LvQuNGI0LUg0LTQu9GPINGH0LjRgtCw0L3QvdGPLiIKKworIzogYnVpbHRpbnMuYzoxMTMyCittc2dpZCAiIgorIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCisiICAgIFxuIgorIiAgICBNYXJrcyBlYWNoIE5BTUUgZm9yIGF1dG9tYXRpYyBleHBvcnQgdG8gdGhlIGVudmlyb25tZW50IG9mIHN1YnNlcXVlbnRseVxuIgorIiAgICBleGVjdXRlZCBjb21tYW5kcy4gIElmIFZBTFVFIGlzIHN1cHBsaWVkLCBhc3NpZ24gVkFMVUUgYmVmb3JlICIKKyJleHBvcnRpbmcuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1mXHRyZWZlciB0byBzaGVsbCBmdW5jdGlvbnNcbiIKKyIgICAgICAtblx0cmVtb3ZlIHRoZSBleHBvcnQgcHJvcGVydHkgZnJvbSBlYWNoIE5BTUVcbiIKKyIgICAgICAtcFx0ZGlzcGxheSBhIGxpc3Qgb2YgYWxsIGV4cG9ydGVkIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zXG4iCisiICAgIFxuIgorIiAgICBBbiBhcmd1bWVudCBvZiBgLS0nIGRpc2FibGVzIGZ1cnRoZXIgb3B0aW9uIHByb2Nlc3NpbmcuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgorbXNnc3RyICIiCisi0JLQvNC40LrQsNGUINCy0LvQsNGB0YLQuNCy0ZbRgdGC0Ywg0LXQutGB0L/QvtGA0YLRg9Cy0LDQvdC90Y8g0LfQvNGW0L3QvdC40YUg0L7QsdC+0LvQvtC90LrQuC5cbiIKKyIgICAgXG4iCisiICAgINCf0L7Qt9C90LDRh9Cw0ZQg0LrQvtC20L3QtSDQtyDQhtCc0JXQnSDQtNC70Y8g0LXQutGB0L/QvtGA0YLRgyDRgyDQvtGC0L7Rh9C10L3QvdGPINC30LDQv9GD0YnQtdC90LjRhSDQvdCw0LTQsNC70ZYg0LrQvtC80LDQvdC0LlxuIgorIiAgICDQr9C60YnQviDQstC60LDQt9Cw0L3QtSDQl9Cd0JDQp9CV0J3QndCvLCDQv9GA0LjQt9C90LDRh9Cw0ZQg0JfQndCQ0KfQldCd0J3QryDQv9C10YDQtdC0INGC0LjQvCwg0Y/QuiDQtdC60YHQv9C+0YDRgtGD0LLQsNGC0LguXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLWZcdNCf0YDQsNGG0Y7QstCw0YLQuCDQtyDRhNGD0L3QutGG0ZbRj9C80Lgg0L7QsdC+0LvQvtC90LrQuC5cbiIKKyIgICAgICAtblx00JLQuNC80LrQvdGD0YLQuCDQstC70LDRgdGC0LjQstGW0YHRgtGMINC10LrRgdC/0L7RgNGC0YPQstCw0L3QvdGPINC90LAg0IbQnNCV0J3QkNClLlxuIgorIiAgICAgIC1wXHTQktC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0YPRgdGW0YUg0LXQutGB0L/QvtGA0YLQvtCy0LDQvdC40YUg0LfQvNGW0L3QvdC40YUg0YLQsCDRhNGD0L3QutGG0ZbQuS5cbiIKKyIgICAgXG4iCisiICAgINCQ0YDQs9GD0LzQtdC90YIgYC0tJyDQstC40LzQuNC60LDRlCDQv9C+0LTQsNC70YzRiNC40Lkg0LDQvdCw0LvRltC3INC/0LDRgNCw0LzQtdGC0YDRltCyLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0YPRgdC/0ZbRiNC90L4sINGP0LrRidC+INCy0LrQsNC30LDQvdC+INC/0YDQsNCy0LjQu9GM0L3RliDQv9Cw0YDQsNC80LXRgtGA0Lgg0YLQsCDQhtCc0JXQndCQLiIKKworIzogYnVpbHRpbnMuYzoxMTUxCittc2dpZCAiIgorIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKKyIgICAgXG4iCisiICAgIE1hcmsgZWFjaCBOQU1FIGFzIHJlYWQtb25seTsgdGhlIHZhbHVlcyBvZiB0aGVzZSBOQU1FcyBtYXkgbm90IGJlXG4iCisiICAgIGNoYW5nZWQgYnkgc3Vic2VxdWVudCBhc3NpZ25tZW50LiAgSWYgVkFMVUUgaXMgc3VwcGxpZWQsIGFzc2lnbiBWQUxVRVxuIgorIiAgICBiZWZvcmUgbWFya2luZyBhcyByZWFkLW9ubHkuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1hXHRyZWZlciB0byBpbmRleGVkIGFycmF5IHZhcmlhYmxlc1xuIgorIiAgICAgIC1BXHRyZWZlciB0byBhc3NvY2lhdGl2ZSBhcnJheSB2YXJpYWJsZXNcbiIKKyIgICAgICAtZlx0cmVmZXIgdG8gc2hlbGwgZnVuY3Rpb25zXG4iCisiICAgICAgLXBcdGRpc3BsYXkgYSBsaXN0IG9mIGFsbCByZWFkb25seSB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9uc1xuIgorIiAgICBcbiIKKyIgICAgQW4gYXJndW1lbnQgb2YgYC0tJyBkaXNhYmxlcyBmdXJ0aGVyIG9wdGlvbiBwcm9jZXNzaW5nLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgTkFNRSBpcyBpbnZhbGlkLiIKK21zZ3N0ciAiIgorItCg0L7QsdC40YLRjCDQt9C80ZbQvdC90ZYg0L7QsdC+0LvQvtC90LrQuCDQvdC10LfQvNGW0L3QvdC40LzQuC5cbiIKKyIgICAgXG4iCisiICAgINCf0L7Qt9C90LDRh9Cw0ZQg0LrQvtC20L3QtSDQtyDQhtCc0JXQnSDRj9C6INC90LXQt9C80ZbQvdC90LU7INC/0ZbRgdC70Y8g0YbRjNC+0LPQviDQt9C90LDRh9C10L3QvdGPINCG0JzQldCdINC90LUg0LzQvtC20YPRgtGMXG4iCisiICAgINCx0YPRgtC4INC30LzRltC90LXQvdGWINC/0YDQuNC30L3QsNGH0LXQvdC90Y/QvC4g0K/QutGJ0L4g0LLQutCw0LfQsNC90LUg0JfQndCQ0KfQldCd0J3Qrywg0LLQvtC90L4g0L/RgNC40LfQvdCw0YfQsNGU0YLRjNGB0Y8sICIKKyLQv9C10YDRiFxuIgorIiAgICDQvdGW0LYg0LfQvNGW0L3QvdGDINCx0YPQtNC1INC/0L7Qt9C90LDRh9C10L3QviDQvdC10LfQvNGW0L3QvdC+0Y4uXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLWFcdNCf0YDQsNGG0Y7QstCw0YLQuCDQtyDRltC90LTQtdC60YHQvtCy0LDQvdC40LzQuCDQvNCw0YHQuNCy0LDQvNC4LlxuIgorIiAgICAgIC1BXHTQn9GA0LDRhtGO0LLQsNGC0Lgg0Lcg0LDRgdC+0YbRltCw0YLQuNCy0L3QuNC80Lgg0LzQsNGB0LjQstCw0LzQuC5cbiIKKyIgICAgICAtZlx00J/RgNCw0YbRjtCy0LDRgtC4INC3INGE0YPQvdC60YbRltGP0LzQuCDQvtCx0L7Qu9C+0L3QutC4LlxuIgorIiAgICAgIC1wXHTQktC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0LLRgdGW0YUg0L3QtdC30LzRltC90L3QuNGFINC30LzRltC90L3QuNGFINGC0LAg0YTRg9C90LrRhtGW0LkuXG4iCisiICAgIFxuIgorIiAgICDQkNGA0LPRg9C80LXQvdGCIGAtLScg0LLQuNC80LjQutCw0ZQg0L/QvtC00LDQu9GM0YjQuNC5INCw0L3QsNC70ZbQtyDQv9Cw0YDQsNC80LXRgtGA0ZbQsi5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINGD0YHQv9GW0YjQvdC+LCDRj9C60YnQviDQstC60LDQt9Cw0L3QviDQv9GA0LDQstC40LvRjNC90ZYg0L/QsNGA0LDQvNC10YLRgNC4INGC0LAg0IbQnNCV0J3QkC4iCisKKyM6IGJ1aWx0aW5zLmM6MTE3MgorbXNnaWQgIiIKKyJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgIFxuIgorIiAgICBSZW5hbWUgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycyAkTisxLCROKzIgLi4uIHRvICQxLCQyIC4uLiAgSWYgTiBpc1xuIgorIiAgICBub3QgZ2l2ZW4sIGl0IGlzIGFzc3VtZWQgdG8gYmUgMS5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE4gaXMgbmVnYXRpdmUgb3IgZ3JlYXRlciB0aGFuICQjLiIKK21zZ3N0ciAiIgorItCX0YHRg9Cy0LDRlCDQv9C+0LfQuNGG0ZbQudC90ZYg0L/QsNGA0LDQvNC10YLRgNC4LlxuIgorIiAgICBcbiIKKyIgICAg0J/QtdGA0LXQudC80LXQvdC+0LLRg9GUINC/0L7Qt9C40YbRltC50L3RliDQv9Cw0YDQsNC80LXRgtGA0LggJE4rMSwkTisyIC4uLiDRgyAkMSwkMiAuLi4g0K/QutGJ0L4gTiDQvdC1XG4iCisiICAgINCy0LrQsNC30LDQvdC1LCDQsdC10YDQtdGC0YzRgdGPIDEuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDQvdC10LLQtNCw0LvQviwg0Y/QutGJ0L4gTiDQvNC10L3RiNC1INC30LAg0L3Rg9C70Ywg0YfQuCDQsdGW0LvRjNGI0LUg0LfQsCAkIy4iCisKKyM6IGJ1aWx0aW5zLmM6MTE4NCBidWlsdGlucy5jOjExOTkKK21zZ2lkICIiCisiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIFJlYWQgYW5kIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSBGSUxFTkFNRSBpbiB0aGUgY3VycmVudCBzaGVsbC4gIFRoZVxuIgorIiAgICBlbnRyaWVzIGluICRQQVRIIGFyZSB1c2VkIHRvIGZpbmQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIEZJTEVOQU1FLlxuIgorIiAgICBJZiBhbnkgQVJHVU1FTlRTIGFyZSBzdXBwbGllZCwgdGhleSBiZWNvbWUgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICB3aGVuIEZJTEVOQU1FIGlzIGV4ZWN1dGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIGluIEZJTEVOQU1FOyBmYWlscyBpZlxuIgorIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCittc2dzdHIgIiIKKyLQktC40LrQvtC90YPRlCDQutC+0LzQsNC90LTQuCDQtyDRhNCw0LnQu9GDINGDINC/0L7RgtC+0YfQvdGW0Lkg0L7QsdC+0LvQvtC90YbRli5cbiIKKyIgICAgXG4iCisiICAgINCn0LjRgtCw0ZQg0YLQsCDQstC40LrQvtC90YPRlCDQutC+0LzQsNC90LTQuCDQtyDQpNCQ0JnQm9CjINGDINC/0L7RgtC+0YfQvdGW0Lkg0L7QsdC+0LvQvtC90YbRli4g0JXQu9C10LzQtdC90YLQuCAkUEFUSFxuIgorIiAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0Y7RgtGM0YHRjyDQv9GA0Lgg0L/QvtGI0YPQutGDINCk0JDQmdCb0KMuINCv0LrRidC+INCy0LrQsNC30LDQvdGWINCQ0KDQk9Cj0JzQldCd0KLQmCwg0LLQvtC90Lgg0YHRgtCw0Y7RgtGMXG4iCisiICAgINC/0L7Qt9C40YbRltC50L3QuNC80Lgg0L/QsNGA0LDQvNC10YLRgNCw0LzQuCDQv9GA0Lgg0LfQsNC/0YPRgdC60YMg0KTQkNCZ0JvQoy5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0L/QvtCy0LXRgNGC0LDRlCDQutC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0L7RgdGC0LDQvdC90YzQvtGXINC60L7QvNCw0L3QtNC4LCDQstC40LrQvtC90LDQvdC+0Zcg0YMg0KTQkNCZ0JvQhiwgIgorItCw0LHQvlxuIgorIiAgICDQv9C+0LzQuNC70LrRgywg0Y/QutGJ0L4g0KTQkNCZ0Jsg0L3QtSDQstC00LDRlNGC0YzRgdGPINC/0YDQvtGH0LjRgtCw0YLQuC4iCisKKyM6IGJ1aWx0aW5zLmM6MTIxNQorbXNnaWQgIiIKKyJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKKyIgICAgXG4iCisiICAgIFN1c3BlbmQgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHNoZWxsIHVudGlsIGl0IHJlY2VpdmVzIGEgU0lHQ09OVCBzaWduYWwuXG4iCisiICAgIFVubGVzcyBmb3JjZWQsIGxvZ2luIHNoZWxscyBjYW5ub3QgYmUgc3VzcGVuZGVkLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZlx0Zm9yY2UgdGhlIHN1c3BlbmQsIGV2ZW4gaWYgdGhlIHNoZWxsIGlzIGEgbG9naW4gc2hlbGxcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLQn9GA0LjQt9GD0L/QuNC90Y/RlCDQstC40LrQvtC90LDQvdC90Y8g0L7QsdC+0LvQvtC90LrQuC5cbiIKKyIgICAgXG4iCisiICAgINCf0YDQuNC30YPQv9C40L3Rj9GUINCy0LjQutC+0L3QsNC90L3RjyDQvtCx0L7Qu9C+0L3QutC4INC00L4g0L7RgtGA0LjQvNCw0L3QvdGPINGB0LjQs9C90LDQu9GDIFNJR0NPTlQuINCX0LDQt9Cy0LjRh9Cw0LksXG4iCisiICAgINC+0LHQvtC70L7QvdC60Lgg0YHQtdCw0L3RgdGDINC90LUg0LzQvtC20YPRgtGMINCx0YPRgtC4INC/0YDQuNC30YPQv9C40L3QtdC90ZYuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLWZcdNCf0YDQuNC30YPQv9C40L3QuNGC0LgsINC90LDQstGW0YLRjCDRj9C60YnQviDRhtC1INC+0LHQvtC70L7QvdC60LAg0YHQtdCw0L3RgdGDLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0L3QtdCy0LTQsNC70L4sINGP0LrRidC+INC90LUg0LLQstGW0LzQutC90LXQvdC1INC60LXRgNGD0LLQsNC90L3RjyDQt9Cw0LLQtNCw0L3QvdGP0LzQuCDRh9C4XG4iCisiICAgINGP0LrRidC+INGC0YDQsNC/0LjRgtGM0YHRjyDQv9C+0LzQuNC70LrQsC4iCisKKyM6IGJ1aWx0aW5zLmM6MTIzMQorIywgZnV6enkKK21zZ2lkICIiCisiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgorIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCisiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCisiICAgIFxuIgorIiAgICAgIC1hIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMuXG4iCisiICAgICAgLWIgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGJsb2NrIHNwZWNpYWwuXG4iCisiICAgICAgLWMgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGNoYXJhY3RlciBzcGVjaWFsLlxuIgorIiAgICAgIC1kIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBhIGRpcmVjdG9yeS5cbiIKKyIgICAgICAtZSBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgZXhpc3RzLlxuIgorIiAgICAgIC1mIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMgYW5kIGlzIGEgcmVndWxhciBmaWxlLlxuIgorIiAgICAgIC1nIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBzZXQtZ3JvdXAtaWQuXG4iCisiICAgICAgLWggRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgc3ltYm9saWMgbGluay5cbiIKKyIgICAgICAtTCBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBzeW1ib2xpYyBsaW5rLlxuIgorIiAgICAgIC1rIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBoYXMgaXRzIGBzdGlja3knIGJpdCBzZXQuXG4iCisiICAgICAgLXAgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgbmFtZWQgcGlwZS5cbiIKKyIgICAgICAtciBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgcmVhZGFibGUgYnkgeW91LlxuIgorIiAgICAgIC1zIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMgYW5kIGlzIG5vdCBlbXB0eS5cbiIKKyIgICAgICAtUyBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBzb2NrZXQuXG4iCisiICAgICAgLXQgRkQgICAgICAgICAgVHJ1ZSBpZiBGRCBpcyBvcGVuZWQgb24gYSB0ZXJtaW5hbC5cbiIKKyIgICAgICAtdSBGSUxFICAgICAgICBUcnVlIGlmIHRoZSBmaWxlIGlzIHNldC11c2VyLWlkLlxuIgorIiAgICAgIC13IEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgd3JpdGFibGUgYnkgeW91LlxuIgorIiAgICAgIC14IEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgZXhlY3V0YWJsZSBieSB5b3UuXG4iCisiICAgICAgLU8gRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBlZmZlY3RpdmVseSBvd25lZCBieSB5b3UuXG4iCisiICAgICAgLUcgRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBlZmZlY3RpdmVseSBvd25lZCBieSB5b3VyIGdyb3VwLlxuIgorIiAgICAgIC1OIEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaGFzIGJlZW4gbW9kaWZpZWQgc2luY2UgaXQgd2FzIGxhc3QgIgorInJlYWQuXG4iCisiICAgIFxuIgorIiAgICAgIEZJTEUxIC1udCBGSUxFMiAgVHJ1ZSBpZiBmaWxlMSBpcyBuZXdlciB0aGFuIGZpbGUyIChhY2NvcmRpbmcgdG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWNhdGlvbiBkYXRlKS5cbiIKKyIgICAgXG4iCisiICAgICAgRklMRTEgLW90IEZJTEUyICBUcnVlIGlmIGZpbGUxIGlzIG9sZGVyIHRoYW4gZmlsZTIuXG4iCisiICAgIFxuIgorIiAgICAgIEZJTEUxIC1lZiBGSUxFMiAgVHJ1ZSBpZiBmaWxlMSBpcyBhIGhhcmQgbGluayB0byBmaWxlMi5cbiIKKyIgICAgXG4iCisiICAgIFN0cmluZyBvcGVyYXRvcnM6XG4iCisiICAgIFxuIgorIiAgICAgIC16IFNUUklORyAgICAgIFRydWUgaWYgc3RyaW5nIGlzIGVtcHR5LlxuIgorIiAgICBcbiIKKyIgICAgICAtbiBTVFJJTkdcbiIKKyIgICAgICAgICBTVFJJTkcgICAgICBUcnVlIGlmIHN0cmluZyBpcyBub3QgZW1wdHkuXG4iCisiICAgIFxuIgorIiAgICAgIFNUUklORzEgPSBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgZXF1YWwuXG4iCisiICAgICAgU1RSSU5HMSAhPSBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgbm90IGVxdWFsLlxuIgorIiAgICAgIFNUUklORzEgPCBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiBTVFJJTkcxIHNvcnRzIGJlZm9yZSBTVFJJTkcyICIKKyJsZXhpY29ncmFwaGljYWxseS5cbiIKKyIgICAgICBTVFJJTkcxID4gU1RSSU5HMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIFRydWUgaWYgU1RSSU5HMSBzb3J0cyBhZnRlciBTVFJJTkcyIGxleGljb2dyYXBoaWNhbGx5LlxuIgorIiAgICBcbiIKKyIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgorIiAgICBcbiIKKyIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgorIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKKyIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgorIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCisiICAgIFxuIgorIiAgICAgIGFyZzEgT1AgYXJnMiAgIEFyaXRobWV0aWMgdGVzdHMuICBPUCBpcyBvbmUgb2YgLWVxLCAtbmUsXG4iCisiICAgICAgICAgICAgICAgICAgICAgLWx0LCAtbGUsIC1ndCwgb3IgLWdlLlxuIgorIiAgICBcbiIKKyIgICAgQXJpdGhtZXRpYyBiaW5hcnkgb3BlcmF0b3JzIHJldHVybiB0cnVlIGlmIEFSRzEgaXMgZXF1YWwsIG5vdC1lcXVhbCxcbiIKKyIgICAgbGVzcy10aGFuLCBsZXNzLXRoYW4tb3ItZXF1YWwsIGdyZWF0ZXItdGhhbiwgb3IgZ3JlYXRlci10aGFuLW9yLWVxdWFsXG4iCisiICAgIHRoYW4gQVJHMi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgRVhQUiBldmFsdWF0ZXMgdG8gdHJ1ZTsgZmFpbHMgaWYgRVhQUiBldmFsdWF0ZXMgdG9cbiIKKyIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCittc2dzdHIgIiIKKyLQn9C10YDQtdCy0ZbRgNGP0ZQg0YPQvNC+0LLQvdC40Lkg0LLQuNGA0LDQty5cbiIKKyIgICAgXG4iCisiICAgINCX0LDQstC10YDRiNGD0ZTRgtGM0YHRjyDQtyDQutC+0LTQvtC8IDAgKNGW0YHRgtC40L3QvdC40LkpINGH0LggMSAo0YXQuNCx0L3QuNC5KSwg0LIg0LfQsNC70LXQttC90L7RgdGC0ZYg0LLRltC0XG4iCisiICAgINGA0LXQt9GD0LvRjNGC0LDRgtGDINCy0LjQutC+0L3QsNC90L3RjyDQktCY0KDQkNCX0KMuINCS0LjRgNCw0LfQuCDQvNC+0LbRg9GC0Ywg0LHRg9GC0Lgg0YPQvdCw0YDQvdC40LzQuCDRh9C4INCx0ZbQvdCw0YDQvdC40LzQuC5cbiIKKyIgICAg0KPQvdCw0YDQvdGWINCy0LjRgNCw0LfQuCDRh9Cw0YHRgtC+INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRjtGC0YzRgdGPINC00LvRjyDQstC40LfQvdCw0YfQtdC90L3RjyDQstC70LDRgdGC0LjQstC+0YHRgtC10Lkg0YTQsNC50LvRgy5cbiIKKyIgICAg0KLQsNC60L7QtiDRlCDQvtC/0LXRgNCw0YLQvtGA0Lgg0LTQu9GPINGA0Y/QtNC60ZbQsiDRgtCwINC00LvRjyDQv9C+0YDRltCy0L3Rj9C90L3RjyDRh9C40YHQtdC7LlxuIgorIiAgICBcbiIKKyIgICAg0KTQsNC50LvQvtCy0ZYg0L7Qv9C10YDQsNGC0L7RgNC4OlxuIgorIiAgICBcbiIKKyIgICAgICAtYSDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0YTQsNC50Lsg0ZbRgdC90YPRlC5cbiIKKyIgICAgICAtYiDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0YTQsNC50Lsg0ZQg0LHQu9C+0LrQvtCy0LjQvCDQv9GA0LjRgdGC0YDQvtGU0LwuXG4iCisiICAgICAgLWMg0YTQsNC50LsgICAgICAgINCG0YHRgtC40L3QvdC40LksINGP0LrRidC+INGE0LDQudC7INGUINGB0LjQvNCy0L7Qu9GM0L3QuNC8INC/0YDQuNGB0YLRgNC+0ZTQvC5cbiIKKyIgICAgICAtZCDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0YTQsNC50Lsg0ZQg0LTQuNGA0LXQutGC0L7RgNGW0ZTRji5cbiIKKyIgICAgICAtZSDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0YTQsNC50Lsg0ZbRgdC90YPRlC5cbiIKKyIgICAgICAtZiDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0YTQsNC50Lsg0ZbRgdC90YPRlCDRgtCwINGUINC30LLQuNGH0LDQudC90LjQvCDRhNCw0LnQu9C+0LwuXG4iCisiICAgICAgLWcg0YTQsNC50LsgICAgICAgINCG0YHRgtC40L3QvdC40LksINGP0LrRidC+INGE0LDQudC7INC80LDRlCDQstGB0YLQsNC90L7QstC70LXQvdC40Lkg0LHRltGCIGBzZXQtZ3JvdXAtIgorImlkJy5cbiIKKyIgICAgICAtaCDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0YTQsNC50Lsg0ZQg0YHQuNC80LLQvtC70ZbRh9C90LjQvCDQv9C+0YHQuNC70LDQvdC90Y/QvC5cbiIKKyIgICAgICAtTCDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0YTQsNC50Lsg0ZQg0YHQuNC80LLQvtC70ZbRh9C90LjQvCDQv9C+0YHQuNC70LDQvdC90Y/QvC5cbiIKKyIgICAgICAtayDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0YTQsNC50Lsg0LzQsNGUINCy0YHRgtCw0L3QvtCy0LvQtdC90LjQvCDQsdGW0YIgYHN0aWNreScuXG4iCisiICAgICAgLXAg0YTQsNC50LsgICAgICAgINCG0YHRgtC40L3QvdC40LksINGP0LrRidC+INGE0LDQudC7INGUINGW0LzQtdC90L7QstCw0L3QuNC8INC60LDQvdCw0LvQvtC8LlxuIgorIiAgICAgIC1yINGE0LDQudC7ICAgICAgICDQhtGB0YLQuNC90L3QuNC5LCDRj9C60YnQviDQstC4INC80L7QttC10YLQtSDRh9C40YLQsNGC0Lgg0YTQsNC50LsuXG4iCisiICAgICAgLXMg0YTQsNC50LsgICAgICAgINCG0YHRgtC40L3QvdC40LksINGP0LrRidC+INGE0LDQudC7INGW0YHQvdGD0ZQg0ZYg0L3QtSDRlCDQv9C+0YDQvtC20L3RltC8LlxuIgorIiAgICAgIC1TINGE0LDQudC7ICAgICAgICDQhtGB0YLQuNC90L3QuNC5LCDRj9C60YnQviDRhNCw0LnQuyDRlCDRgdC+0LrQtdGC0L7QvC5cbiIKKyIgICAgICAtdCDQtNC10YHQutGA0LjQv9GC0L7RgCAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0LTQtdGB0LrRgNC40L/RgtC+0YAg0LLRltC00LrRgNC40YLQuNC5INGDINGC0LXRgNC80ZbQvdCw0LvRli5cbiIKKyIgICAgICAtdSDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0YTQsNC50Lsg0LzQsNGUINCy0YHRgtCw0L3QvtCy0LvQtdC90LjQuSDQsdGW0YIgYHNldC11c2VyLSIKKyJpZCcuXG4iCisiICAgICAgLXcg0YTQsNC50LsgICAgICAgINCG0YHRgtC40L3QvdC40LksINGP0LrRidC+INCy0Lgg0LzQvtC20LXRgtC1INC30LDQv9C40YHRg9Cy0LDRgtC4INC00L4g0YTQsNC50LvRgy5cbiIKKyIgICAgICAteCDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0LLQuCDQvNC+0LbQtdGC0LUg0LLQuNC60L7QvdCw0YLQuCDRhNCw0LnQuy5cbiIKKyIgICAgICAtTyDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0LLQuCDRlCDQstC70LDRgdC90LjQutC+0Lwg0YTQsNC50LvRgy5cbiIKKyIgICAgICAtRyDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0LLQsNGI0LAg0LPRgNGD0L/QsCDRlCDQstC70LDRgdC90LjQutC+0Lwg0YTQsNC50LvRgy5cbiIKKyIgICAgICAtTiDRhNCw0LnQuyAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0YTQsNC50Lsg0LHRg9CyINC30LzRltC90LXQvdC40Lkg0L/RltGB0LvRjyDQvtGB0YLQsNC90L3RjNC+0LPQvlxuIgorIiAgICAgICAgICAgICAgICAgICAgINGH0LjRgtCw0L3QvdGPXG4iCisiICAgIFxuIgorIiAgICAgINGE0LDQudC7MSAtbnQg0YTQsNC50LsyICDQhtGB0YLQuNC90L3QuNC5LCDRj9C60YnQviDRhNCw0LnQuzEg0L3QvtCy0ZbRiNC40Lkg0LfQsCDRhNCw0LnQuzIgKNC30LAg0LTQsNGC0L7RjiAiCisi0LfQvNGW0L3QuCkuXG4iCisiICAgIFxuIgorIiAgICAgINGE0LDQudC7MSAtb3Qg0YTQsNC50LsyICDQhtGB0YLQuNC90L3QuNC5LCDRj9C60YnQviDRhNCw0LnQuzEg0YHRgtCw0YDRltGI0LjQuSDQt9CwINGE0LDQudC7Mi5cbiIKKyIgICAgXG4iCisiICAgICAg0YTQsNC50LsxIC1lZiDRhNCw0LnQuzIgINCG0YHRgtC40L3QvdC40LksINGP0LrRidC+INGE0LDQudC7MSDRlCDQttC+0YDRgdGC0LrQuNC8INC/0L7RgdC40LvQsNC90L3Rj9C8INC90LAg0YTQsNC50LsyLlxuIgorIiAgICBcbiIKKyIgICAg0J7Qv9C10YDQsNGC0L7RgNC4INC3INGA0Y/QtNC60LDQvNC4OlxuIgorIiAgICBcbiIKKyIgICAgICAteiDRgNGP0LTQvtC6ICAgICAgINCG0YHRgtC40L3QvdC40LksINGP0LrRidC+INGA0Y/QtNC+0Log0L/QvtGA0L7QttC90ZbQuS5cbiIKKyIgICAgXG4iCisiICAgICAgLW4g0YDRj9C00L7QulxuIgorIiAgICAgICAgINGA0Y/QtNC+0LogICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0YDRj9C00L7QuiDQvdC1INC/0L7RgNC+0LbQvdGW0LkuXG4iCisiICAgIFxuIgorIiAgICAgINGA0Y/QtNC+0LoxID0g0YDRj9C00L7QujJcbiIKKyIgICAgICAgICAgICAgICAgICAgICDQhtGB0YLQuNC90L3QuNC5LCDRj9C60YnQviDRgNGP0LTQutC4INC+0LTQvdCw0LrQvtCy0ZYuXG4iCisiICAgICAg0YDRj9C00L7QujEgIT0g0YDRj9C00L7QujJcbiIKKyIgICAgICAgICAgICAgICAgICAgICDQhtGB0YLQuNC90L3QuNC5LCDRj9C60YnQviDRgNGP0LTQutC4INC90LUg0L7QtNC90LDQutC+0LLRli5cbiIKKyIgICAgICDRgNGP0LTQvtC6MSA8INGA0Y/QtNC+0LoyXG4iCisiICAgICAgICAgICAgICAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0L/RgNC4INC70LXQutGB0LjQutC+0LPRgNCw0YTRltGH0L3QvtC80YMg0YHQvtGA0YLRg9Cy0LDQvdC90ZYg0YDRj9C00L7QujFcbiIKKyIgICAgICAgICAgICAgICAgICAgICDQsdGD0LTQtSDRltGC0Lgg0L/QtdGA0LXQtCDRgNGP0LTQutC+0LxcbiIKKyIgICAgICDRgNGP0LTQvtC6MSA+INGA0Y/QtNC+0LoyXG4iCisiICAgICAgICAgICAgICAgICAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0L/RgNC4INC70LXQutGB0LjQutC+0LPRgNCw0YTRltGH0L3QvtC80YMg0YHQvtGA0YLRg9Cy0LDQvdC90ZYg0YDRj9C00L7QujFcbiIKKyIgICAgICAgICAgICAgICAgICAgICDRltGC0LjQvNC1INC/0ZbRgdC70Y8g0YDRj9C00LrQsDIuXG4iCisiICAgIFxuIgorIiAgICDQhtC90YjRliDQvtC/0LXRgNCw0YLQvtGA0Lg6XG4iCisiICAgIFxuIgorIiAgICAgIC1vINC/0LDRgNCw0LzQtdGC0YAgICAg0IbRgdGC0LjQvdC90LjQuSwg0Y/QutGJ0L4g0L/QsNGA0LDQvNC10YLRgCDQvtCx0L7Qu9C+0L3QutC4INCy0LLRltC80LrQvdC10L3Qvi5cbiIKKyIgICAgICAhINCy0LjRgNCw0LcgICAgICAgINCG0YHRgtC40L3QvdC40LksINGP0LrRidC+INCy0LjRgNCw0Lcg0YXQuNCx0L3QuNC5LlxuIgorIiAgICAgINCy0LjRgNCw0LcxIC1hINCy0LjRgNCw0LcyICDQhtGB0YLQuNC90L3QuNC5LCDRj9C60YnQviDQvtCx0LjQtNCy0LAg0LLQuNGA0LDQt9C4INGW0YHRgtC40L3QvdGWLlxuIgorIiAgICAgINCy0LjRgNCw0LcxIC1vINCy0LjRgNCw0LcyICDQhtGB0YLQuNC90L3QuNC5LCDRj9C60YnQviDRhdC+0Ycg0L7QtNC40L0g0Lcg0LLQuNGA0LDQt9GW0LIg0ZbRgdGC0LjQvdC90LjQuS5cbiIKKyIgICAgXG4iCisiICAgICAg0LDRgNCz0YPQvNC10L3RgjEg0J7Qn9CV0KDQkNCi0J7QoCDQsNGA0LPRg9C80LXQvdGCMlxuIgorIiAgICAgICAgICAgICAgICAgICAgINCQ0YDQuNGE0LzQtdGC0LjRh9C90LUg0L/QvtGA0ZbQstC90Y/QvdC90Y8uINCe0J/QldCg0JDQotCe0KAg0LzQvtC20LUg0LHRg9GC0Lg6IC1lcSwgLW5lLFxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1sdCwgLWxlLCAtZ3QsINGH0LggLWdlLlxuIgorIiAgICBcbiIKKyIgICAg0JDRgNC40YTQvNC10YLQuNGH0L3RliDQsdGW0L3QsNGA0L3RliDQvtC/0LXRgNCw0YLQvtGA0Lgg0ZbRgdGC0LjQvdC90ZYsINGP0LrRidC+INCw0YDQs9GD0LzQtdC90YIxINGA0ZbQstC90LjQuSwg0L3QtSAiCisi0YDRltCy0L3QuNC5LFxuIgorIiAgICDQvNC10L3RiNC40LksINC80LXQvdGI0LjQuSDRh9C4INGA0ZbQstC90LjQuSwg0LHRltC70YzRiNC40LksINGH0Lgg0LHRltC70YzRiNC40Lkg0YfQuCDRgNGW0LLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgtGDMi5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINGD0YHQv9GW0YjQvdC+LCDRj9C60YnQviDQktCY0KDQkNCXINGW0YHRgtC40L3QvdC40Lk7INC90LXQstC00LDQu9C+LCDRj9C60YnQviAiCisi0LLQutCw0LfQsNC90L5cbiIKKyIgICAg0L3QtdCy0ZbRgNC90LjQuSDQsNGA0LPRg9C80LXQvdGCINGH0Lgg0JLQmNCg0JDQlyDRhdC40LHQvdC40LkuIgorCisjOiBidWlsdGlucy5jOjEzMTEKK21zZ2lkICIiCisiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKKyIgICAgXG4iCisiICAgIFRoaXMgaXMgYSBzeW5vbnltIGZvciB0aGUgXCJ0ZXN0XCIgYnVpbHRpbiwgYnV0IHRoZSBsYXN0IGFyZ3VtZW50IG11c3RcbiIKKyIgICAgYmUgYSBsaXRlcmFsIGBdJywgdG8gbWF0Y2ggdGhlIG9wZW5pbmcgYFsnLiIKK21zZ3N0ciAiIgorItCf0LXRgNC10LLRltGA0Y/RlCDRg9C80L7QstC90LjQuSDQstC40YDQsNC3LlxuIgorIiAgICBcbiIKKyIgICAg0KbQtSDRgdC40L3QvtC90ZbQvCDQtNC+INCy0LHRg9C00L7QstCw0L3QvtGXINC60L7QvNCw0L3QtNC4IFwidGVzdFwiLCDQsNC70LUg0L3QsCDQstGW0LTQvNGW0L3RgyDQstGW0LQg0L3QtdGXICIKKyLQvtGB0YLQsNC90L3RltC8XG4iCisiICAgINCw0YDQs9GD0LzQtdC90YLQvtC8INC80LDRlCDQsdGD0YLQuCBgXScuIgorCisjOiBidWlsdGlucy5jOjEzMjAKKyMsIGZ1enp5Cittc2dpZCAiIgorIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKKyIgICAgXG4iCisiICAgIFByaW50cyB0aGUgYWNjdW11bGF0ZWQgdXNlciBhbmQgc3lzdGVtIHRpbWVzIGZvciB0aGUgc2hlbGwgYW5kIGFsbCBvZiAiCisiaXRzXG4iCisiICAgIGNoaWxkIHByb2Nlc3Nlcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBBbHdheXMgc3VjY2VlZHMuIgorbXNnc3RyICIiCisi0J/QvtC60LDQt9GD0ZQg0YfQsNGBINCy0LjQutC+0L3QsNC90L3RjyDQv9GA0L7RhtC10YHRgy5cbiIKKyIgICAgXG4iCisiICAgINCS0LjQstC+0LTQuNGC0Ywg0LfQsdGW0YDQvdC40Lkg0YfQsNGBINCy0LjQutC+0L3QsNC90L3RjyDQvtCx0L7Qu9C+0L3QutC4INGC0LAg0ZfRlyDQvdCw0YnQsNC00LrRltCyINC90LAg0YDRltCy0L3RllxuIgorIiAgICDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwINGC0LAg0L3QsCDRgNGW0LLQvdGWINGB0LjRgdGC0LXQvNC4LlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQttC00Lgg0YPRgdC/0ZbRiNC90LAuIgorCisjOiBidWlsdGlucy5jOjEzMzIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgorIiAgICBcbiIKKyIgICAgRGVmaW5lcyBhbmQgYWN0aXZhdGVzIGhhbmRsZXJzIHRvIGJlIHJ1biB3aGVuIHRoZSBzaGVsbCByZWNlaXZlcyAiCisic2lnbmFsc1xuIgorIiAgICBvciBvdGhlciBjb25kaXRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgQVJHIGlzIGEgY29tbWFuZCB0byBiZSByZWFkIGFuZCBleGVjdXRlZCB3aGVuIHRoZSBzaGVsbCByZWNlaXZlcyB0aGVcbiIKKyIgICAgc2lnbmFsKHMpIFNJR05BTF9TUEVDLiAgSWYgQVJHIGlzIGFic2VudCAoYW5kIGEgc2luZ2xlIFNJR05BTF9TUEVDXG4iCisiICAgIGlzIHN1cHBsaWVkKSBvciBgLScsIGVhY2ggc3BlY2lmaWVkIHNpZ25hbCBpcyByZXNldCB0byBpdHMgb3JpZ2luYWxcbiIKKyIgICAgdmFsdWUuICBJZiBBUkcgaXMgdGhlIG51bGwgc3RyaW5nIGVhY2ggU0lHTkFMX1NQRUMgaXMgaWdub3JlZCBieSB0aGVcbiIKKyIgICAgc2hlbGwgYW5kIGJ5IHRoZSBjb21tYW5kcyBpdCBpbnZva2VzLlxuIgorIiAgICBcbiIKKyIgICAgSWYgYSBTSUdOQUxfU1BFQyBpcyBFWElUICgwKSBBUkcgaXMgZXhlY3V0ZWQgb24gZXhpdCBmcm9tIHRoZSBzaGVsbC4gICIKKyJJZlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLiAgIgorIklmXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgUkVUVVJOLCBBUkcgaXMgZXhlY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgIgorImFcbiIKKyIgICAgc2NyaXB0IHJ1biBieSB0aGUgLiBvciBzb3VyY2UgYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLiAgQSAiCisiU0lHTkFMX1NQRUNcbiIKKyIgICAgb2YgRVJSIG1lYW5zIHRvIGV4ZWN1dGUgQVJHIGVhY2ggdGltZSBhIGNvbW1hbmQncyBmYWlsdXJlIHdvdWxkIGNhdXNlICIKKyJ0aGVcbiIKKyIgICAgc2hlbGwgdG8gZXhpdCB3aGVuIHRoZSAtZSBvcHRpb24gaXMgZW5hYmxlZC5cbiIKKyIgICAgXG4iCisiICAgIElmIG5vIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQsIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzICIKKyJhc3NvY2lhdGVkXG4iCisiICAgIHdpdGggZWFjaCBzaWduYWwuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1sXHRwcmludCBhIGxpc3Qgb2Ygc2lnbmFsIG5hbWVzIGFuZCB0aGVpciBjb3JyZXNwb25kaW5nIG51bWJlcnNcbiIKKyIgICAgICAtcFx0ZGlzcGxheSB0aGUgdHJhcCBjb21tYW5kcyBhc3NvY2lhdGVkIHdpdGggZWFjaCBTSUdOQUxfU1BFQ1xuIgorIiAgICBcbiIKKyIgICAgRWFjaCBTSUdOQUxfU1BFQyBpcyBlaXRoZXIgYSBzaWduYWwgbmFtZSBpbiA8c2lnbmFsLmg+IG9yIGEgc2lnbmFsICIKKyJudW1iZXIuXG4iCisiICAgIFNpZ25hbCBuYW1lcyBhcmUgY2FzZSBpbnNlbnNpdGl2ZSBhbmQgdGhlIFNJRyBwcmVmaXggaXMgb3B0aW9uYWwuICBBXG4iCisiICAgIHNpZ25hbCBtYXkgYmUgc2VudCB0byB0aGUgc2hlbGwgd2l0aCBcImtpbGwgLXNpZ25hbCAkJFwiLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSBTSUdTUEVDIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gaXMgIgorImdpdmVuLiIKK21zZ3N0ciAiIgorItCh0YLQsNCy0LjRgtGMINC/0LDRgdGC0LrQuCDQvdCwINGB0LjQs9C90LDQu9C4INGH0Lgg0ZbQvdGI0ZYg0L/QvtC00ZbRly5cbiIKKyIgICAgXG4iCisiICAgINCS0LjQt9C90LDRh9Cw0ZQg0YLQsCDQsNC60YLQuNCy0YPRlCDQvtCx0YDQvtCx0L3QuNC60Lgg0LTQu9GPINC+0YLRgNC40LzQsNC90LjRhSDQvtCx0L7Qu9C+0L3QutC+0Y4g0YHQuNCz0L3QsNC70ZbQsiDRh9C4INGW0L3RiNC40YVcbiIKKyIgICAg0L/QvtC00ZbQuS5cbiIKKyIgICAgXG4iCisiICAgINCQ0KDQk9Cj0JzQldCd0KIg0ZQg0LrQvtC80LDQvdC00L7Rjiwg0Y/QutGDINCx0YPQtNC1INC30LDQv9GD0YnQtdC90L4g0L7QsdC+0LvQvtC90LrQvtGOINC/0YDQuCDQvtGC0YDQuNC80LDQvdC90ZZcbiIKKyIgICAg0KHQmNCT0J3QkNCb0KMo0IbQkikuINCv0LrRidC+INCQ0KDQk9Cj0JzQldCd0KLCoNC90LUg0LLQutCw0LfQsNC90L4gKNCwINCh0JjQk9Cd0JDQmyDQstC60LDQt9Cw0L3Qvikg0LDQsdC+INCy0LrQsNC30LDQvdC+XG4iCisiICAgIGAtJyDRj9C6INCQ0KDQk9Cj0JzQldCd0KIsINC60L7QttC10L0g0LLQutCw0LfQsNC90LjQuSDQodCY0JPQndCQ0Jsg0LLRgdGC0LDQvdC+0LLQu9GO0ZTRgtGM0YHRjyDRgyDQudC+0LPQvlxuIgorIiAgICDQv9C+0YfQsNGC0LrQvtCy0LjQuSDRgdGC0LDQvS4g0K/QutGJ0L4g0JDQoNCT0KPQnNCV0J3QoiDRlCDQv9C+0YDQvtC20L3RltC8INGA0Y/QtNC60L7QvCwg0KHQmNCT0J3QkNCbKNCYKSDQsdGD0LTQtVxuIgorIiAgICDRltCz0L3QvtGA0YPQstCw0YLQuNGB0Y8g0L7QsdC+0LvQvtC90LrQvtGOINGC0LAg0LfQsNC/0YPRidC10L3QuNC80Lgg0Lcg0L3QtdGXINC60L7QvNCw0L3QtNCw0LzQuC5cbiIKKyIgICAgXG4iCisiICAgINCv0LrRidC+INCh0JjQk9Cd0JDQmyDRlCBFWElUICgwKSwg0JDQoNCT0KPQnNCV0J3QoiDQsdGD0LTQtSDQstC40LrQvtC90LDQvdC+INC/0YDQuCDQstC40YXQvtC00ZYg0Lcg0L7QsdC+0LvQvtC90LrQuC4gIgorItCv0LrRidC+XG4iCisiICAgINCh0JjQk9Cd0JDQmyDRlCBERUJVRywg0JDQoNCT0KPQnNCV0J3QoiDQsdGD0LTQtSDQstC40LrQvtC90YPQstCw0YLQuNGB0Y8g0L/QtdGA0LXQtCDQutC+0LbQvdC+0Y4g0L/RgNC+0YHRgtC+0Y4gIgorItC60L7QvNCw0L3QtNC+0Y4uXG4iCisiICAgIFxuIgorIiAgICDQr9C60YnQviDQsNGA0LPRg9C80LXQvdGC0Lgg0LLQt9Cw0LPQsNC70ZYg0L3QtSDQstC60LDQt9Cw0L3RliwgdHJhcCDQvdCw0LTRgNGD0LrRg9GUINGB0L/QuNGB0L7QuiDQutC+0LzQsNC90LQsXG4iCisiICAgINC/0YDQuNC30L3QsNGH0LXQvdC40YUg0LTQviDRgdC40LPQvdCw0LvRltCyLlxuIgorIiAgICBcbiIKKyIgICAg0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAgICAgIC1sXHTQktC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0YHQuNCz0L3QsNC70ZbQsiDRgtCwINGX0YUg0L3QvtC80LXRgNGW0LIuXG4iCisiICAgICAgLXBcdNCf0L7QutCw0LfQsNGC0Lgg0LrQvtC80LDQvdC00LgsINC/0YDQuNC30L3QsNGH0LXQvdGWINCh0JjQk9Cd0JDQm9CQ0JwuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LbQtdC9INC3INCh0JjQk9Cd0JDQm9CG0JIg0LzQsNGUINCx0YPRgtC4INCw0LHQviDQvdCw0LfQstC+0Y4g0YHQuNCz0L3QsNC70YMg0LcgPHNpZ25hbC5oPiDQsNCx0L4g0L3QvtC80LXRgNC+0LxcbiIKKyIgICAg0L3QvtC80LXRgNC+0Lwg0YHQuNCz0L3QsNC70YMuINCd0LDQt9Cy0Lgg0YHQuNCz0L3QsNC70ZbQsiDQvdC10YfRg9GC0LvQuNCy0ZYg0LTQviDRgNC10LPRltGB0YLRgNGDINC70ZbRgtC10YAsINC/0YDQtdGE0ZbQutGBICIKKyJTSUdcbiIKKyIgICAg0L3QtSDQvtCx0L7QsuKAmdGP0LfQutC+0LLQuNC5LiDQodC40LPQvdCw0Lsg0LzQvtC20L3QsCDQvdCw0LTRltGB0LvQsNGC0Lgg0L7QsdC+0LvQvtC90YbRliDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjlxuIgorIiAgICBcImtpbGwgLXNpZ25hbCAkJFwiLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0YPRgdC/0ZbRiNC90L4sINGP0LrRidC+INCy0LrQsNC30LDQvdGWINC/0YDQsNCy0LjQu9GM0L3RliDQv9Cw0YDQsNC80LXRgtGA0Lgg0YLQsCAiCisi0KHQmNCT0J3QkNCb0JguIgorCisjOiBidWlsdGlucy5jOjEzNjgKK21zZ2lkICIiCisiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCisiICAgIFxuIgorIiAgICBGb3IgZWFjaCBOQU1FLCBpbmRpY2F0ZSBob3cgaXQgd291bGQgYmUgaW50ZXJwcmV0ZWQgaWYgdXNlZCBhcyBhXG4iCisiICAgIGNvbW1hbmQgbmFtZS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWFcdGRpc3BsYXkgYWxsIGxvY2F0aW9ucyBjb250YWluaW5nIGFuIGV4ZWN1dGFibGUgbmFtZWQgTkFNRTtcbiIKKyIgICAgXHRpbmNsdWRlcyBhbGlhc2VzLCBidWlsdGlucywgYW5kIGZ1bmN0aW9ucywgaWYgYW5kIG9ubHkgaWZcbiIKKyIgICAgXHR0aGUgYC1wJyBvcHRpb24gaXMgbm90IGFsc28gdXNlZFxuIgorIiAgICAgIC1mXHRzdXBwcmVzcyBzaGVsbCBmdW5jdGlvbiBsb29rdXBcbiIKKyIgICAgICAtUFx0Zm9yY2UgYSBQQVRIIHNlYXJjaCBmb3IgZWFjaCBOQU1FLCBldmVuIGlmIGl0IGlzIGFuIGFsaWFzLFxuIgorIiAgICBcdGJ1aWx0aW4sIG9yIGZ1bmN0aW9uLCBhbmQgcmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZGlzayBmaWxlXG4iCisiICAgIFx0dGhhdCB3b3VsZCBiZSBleGVjdXRlZFxuIgorIiAgICAgIC1wXHRyZXR1cm5zIGVpdGhlciB0aGUgbmFtZSBvZiB0aGUgZGlzayBmaWxlIHRoYXQgd291bGQgYmUgZXhlY3V0ZWQsXG4iCisiICAgIFx0b3Igbm90aGluZyBpZiBgdHlwZSAtdCBOQU1FJyB3b3VsZCBub3QgcmV0dXJuIGBmaWxlJy5cbiIKKyIgICAgICAtdFx0b3V0cHV0IGEgc2luZ2xlIHdvcmQgd2hpY2ggaXMgb25lIG9mIGBhbGlhcycsIGBrZXl3b3JkJyxcbiIKKyIgICAgXHRgZnVuY3Rpb24nLCBgYnVpbHRpbicsIGBmaWxlJyBvciBgJywgaWYgTkFNRSBpcyBhbiBhbGlhcywgc2hlbGxcbiIKKyIgICAgXHRyZXNlcnZlZCB3b3JkLCBzaGVsbCBmdW5jdGlvbiwgc2hlbGwgYnVpbHRpbiwgZGlzayBmaWxlLCBvciBub3RcbiIKKyIgICAgXHRmb3VuZCwgcmVzcGVjdGl2ZWx5XG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgTkFNRVx0Q29tbWFuZCBuYW1lIHRvIGJlIGludGVycHJldGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyBpZiBhbGwgb2YgdGhlIE5BTUVzIGFyZSBmb3VuZDsgZmFpbHMgaWYgYW55IGFyZSBub3QgIgorImZvdW5kLiIKK21zZ3N0ciAiIgorItCf0L7QutCw0LfRg9GUINGC0LjQvyDQutC+0LzQsNC90LTQuC5cbiIKKyIgICAgXG4iCisiICAgINCU0LvRjyDQutC+0LbQvdC+0LPQviDQhtCc0JXQndCGINC/0L7QutCw0LfRg9GULCDRj9C6INCy0L7QvdC+INCx0YPQtNC1INGB0L/RgNC40LnQvdGP0YLQtSwg0LLQstC10LTQtdC90LUg0Y/QuiDQutC+0LzQsNC90LTQsC5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtYVx00J/QvtC60LDQt9Cw0YLQuCDRg9GB0ZYg0LzQvtC20LvQuNCy0ZYg0ZbQvdGC0LXRgNC/0YDQtdGC0LDRhtGW0Zcg0IbQnNCV0J3Qhjsg0Y/QutGJ0L4g0L3QtSDQstC60LDQt9Cw0L3QvlxuIgorIiAgICBcdNC/0LDRgNCw0LzQtdGC0YAgYC1wJywg0L7RhdC+0L/Qu9GO0ZQg0YLQsNC60L7QtiDQv9GB0LXQstC00L7QvdGW0LzQuCwg0LLQsdGD0LTQvtCy0LDQvdGWINC60L7QvNCw0L3QtNC4LCDRhNGD0L3QutGG0ZbRly5cbiIKKyIgICAgICAtZlx00J3QtSDRiNGD0LrQsNGC0Lgg0YHQtdGA0LXQtCDRhNGD0L3QutGG0ZbQuSDQvtCx0L7Qu9C+0L3QutC4LlxuIgorIiAgICAgIC1QXHTQktC40LLQvtC00LjRgtC4INC70LjRiNC1INC00LjRgdC60L7QstGWINC60L7QvNCw0L3QtNC4LCDQt9C90LDQudC00LXQvdGWINC30LAgUEFUSC5cbiIKKyIgICAgICAtcFx00JLQuNCy0LXRgdGC0Lgg0LvQuNGI0LUg0ZbQvOKAmdGPINGE0LDQudC70YMg0L3QsCDQtNC40YHQutGDLCDQsNCx0L4g0L3RltGH0L7Qs9C+LlxuIgorIiAgICAgIC10XHTQktC40LLQtdGB0YLQuCDQvtC00L3QtSDRgdC70L7QstC+LCDRidC+INCy0LrQsNC30YPRlCDRgtC40L8g4oCUIGBhbGlhcycsIGBrZXl3b3JkJyxcbiIKKyIgICAgXHRgZnVuY3Rpb24nLCBgYnVpbHRpbicsIGBmaWxlJyDRh9C4IGAnLCDRj9C60YnQviDQhtCc4oCZ0K8g0LLRltC00L/QvtCy0ZbQtNC90L4g0ZRcbiIKKyIgICAgXHTQv9GB0LXQstC00L7QvdGW0LzQvtC8LCDQt9Cw0YDQtdC30LXRgNCy0L7QstCw0L3QuNC8INGB0LvQvtCy0L7QvCDQvtCx0L7Qu9C+0L3QutC4LCDRhNGD0L3QutGG0ZbRlNGOINC+0LHQvtC70L7QvdC60LhcbiIKKyIgICAgXHTQstCx0YPQtNC+0LLQsNC90L7RjiDQutC+0LzQsNC90LTQvtGOINC+0LHQvtC70L7QvdC60LgsINGE0LDQudC70L7QvCDQvdCwINC00LjRgdC60YMg0YfQuCDQvdC1INC30L3QsNC50LTQtdC90LUuXG4iCisiICAgIFxuIgorIiAgICDQkNGA0LPRg9C80LXQvdGC0Lg6XG4iCisiICAgICAg0IbQnOKAmdCvXHTQhtC84oCZ0Y8g0LrQvtC80LDQvdC00Lgg0LTQu9GPINGW0L3RgtC10YDQv9GA0LXRgtCw0YbRltGXLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0YPRgdC/0ZbRiNC90L4sINGP0LrRidC+INCx0YPQtNC1INC30L3QsNC50LTQtdC90L4g0YPRgdGWINCG0JzQldCd0JA7INC90LXQstC00LDQu9C+LCAiCisi0Y/QutGJ0L5cbiIKKyIgICAg0YXQvtGHINC+0LTQvdC1INC3INC90LjRhSDQvdC1INCy0LTQsNGB0YLRjNGB0Y8g0LfQvdCw0LnRgtC4LiIKKworIzogYnVpbHRpbnMuYzoxMzk5Cittc2dpZCAiIgorIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCisiICAgIFxuIgorIiAgICBQcm92aWRlcyBjb250cm9sIG92ZXIgdGhlIHJlc291cmNlcyBhdmFpbGFibGUgdG8gdGhlIHNoZWxsIGFuZCAiCisicHJvY2Vzc2VzXG4iCisiICAgIGl0IGNyZWF0ZXMsIG9uIHN5c3RlbXMgdGhhdCBhbGxvdyBzdWNoIGNvbnRyb2wuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1TXHR1c2UgdGhlIGBzb2Z0JyByZXNvdXJjZSBsaW1pdFxuIgorIiAgICAgIC1IXHR1c2UgdGhlIGBoYXJkJyByZXNvdXJjZSBsaW1pdFxuIgorIiAgICAgIC1hXHRhbGwgY3VycmVudCBsaW1pdHMgYXJlIHJlcG9ydGVkXG4iCisiICAgICAgLWJcdHRoZSBzb2NrZXQgYnVmZmVyIHNpemVcbiIKKyIgICAgICAtY1x0dGhlIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgICAgICAtZFx0dGhlIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgICAgICAtZVx0dGhlIG1heGltdW0gc2NoZWR1bGluZyBwcmlvcml0eSAoYG5pY2UnKVxuIgorIiAgICAgIC1mXHR0aGUgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHNoZWxsIGFuZCBpdHMgY2hpbGRyZW5cbiIKKyIgICAgICAtaVx0dGhlIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAgICAgIC1sXHR0aGUgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAgICAgIC1tXHR0aGUgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAgICAgIC1uXHR0aGUgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlIGRlc2NyaXB0b3JzXG4iCisiICAgICAgLXBcdHRoZSBwaXBlIGJ1ZmZlciBzaXplXG4iCisiICAgICAgLXFcdHRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAgICAgIC1yXHR0aGUgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAgICAgIC1zXHR0aGUgbWF4aW11bSBzdGFjayBzaXplXG4iCisiICAgICAgLXRcdHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjcHUgdGltZSBpbiBzZWNvbmRzXG4iCisiICAgICAgLXVcdHRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAgICAgIC12XHR0aGUgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAgICAgIC14XHR0aGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAgICBcbiIKKyIgICAgSWYgTElNSVQgaXMgZ2l2ZW4sIGl0IGlzIHRoZSBuZXcgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCByZXNvdXJjZTsgdGhlXG4iCisiICAgIHNwZWNpYWwgTElNSVQgdmFsdWVzIGBzb2Z0JywgYGhhcmQnLCBhbmQgYHVubGltaXRlZCcgc3RhbmQgZm9yIHRoZVxuIgorIiAgICBjdXJyZW50IHNvZnQgbGltaXQsIHRoZSBjdXJyZW50IGhhcmQgbGltaXQsIGFuZCBubyBsaW1pdCwgcmVzcGVjdGl2ZWx5LlxuIgorIiAgICBPdGhlcndpc2UsIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UgaXMgcHJpbnRlZC4gIElmXG4iCisiICAgIG5vIG9wdGlvbiBpcyBnaXZlbiwgdGhlbiAtZiBpcyBhc3N1bWVkLlxuIgorIiAgICBcbiIKKyIgICAgVmFsdWVzIGFyZSBpbiAxMDI0LWJ5dGUgaW5jcmVtZW50cywgZXhjZXB0IGZvciAtdCwgd2hpY2ggaXMgaW4gc2Vjb25kcyxcbiIKKyIgICAgLXAsIHdoaWNoIGlzIGluIGluY3JlbWVudHMgb2YgNTEyIGJ5dGVzLCBhbmQgLXUsIHdoaWNoIGlzIGFuIHVuc2NhbGVkXG4iCisiICAgIG51bWJlciBvZiBwcm9jZXNzZXMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisi0JfQvNGW0L3RjtGUINC+0LHQvNC10LbQtdC90L3RjyDRgNC10YHRg9GA0YHRltCyINC+0LHQvtC70L7QvdC60LguXG4iCisiICAgIFxuIgorIiAgICDQlNC+0LfQstC+0LvRj9GUINC60LXRgNGD0LLQsNGC0Lgg0LTQvtGB0YLRg9C/0L3QuNC80Lgg0L7QsdC+0LvQvtC90YbRliDRgtCwINGB0YLQstC+0YDQtdC90LjQvCDQvdC10Y4g0L/RgNC+0YbQtdGB0LDQvCAiCisi0YDQtdGB0YPRgNGB0LDQvNC4LFxuIgorIiAgICDRj9C60YnQviDRhtC1INC/0ZbQtNGC0YDQuNC80YPRlNGC0YzRgdGPINGB0LjRgdGC0LXQvNC+0Y4uXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLVNcdNCS0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCBgc29mdCcg0L7QsdC80LXQttC10L3QvdGPLlxuIgorIiAgICAgIC1IXHTQktC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0LggYGhhcmQnINC+0LHQvNC10LbQtdC90L3Rjy5cbiIKKyIgICAgICAtYVx00J3QsNC00LDRgtC4INC30LLRltGCINC/0YDQviDQv9C+0YLQvtGH0L3RliDQvtCx0LzQtdC20LXQvdC90Y8uXG4iCisiICAgICAgLWJcdNCg0L7Qt9C80ZbRgCDQsdGD0YTQtdGA0LAg0YHQvtC60LXRgtGW0LIuXG4iCisiICAgICAgLWNcdNCc0LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0YTQsNC50LvRgyDQtNCw0LzQv9GDINC/0LDQvOKAmdGP0YLRli5cbiIKKyIgICAgICAtZFx00JzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDRgdC10LPQvNC10L3RgtGDINC00LDQvdC40YUg0L/RgNC+0YbQtdGB0YMuXG4iCisiICAgICAgLWVcdNCc0LDQutGB0LjQvNCw0LvRjNC90LjQuSDQv9GA0ZbQvtGA0LjRgtC10YIg0LLQuNC60L7QvdCw0L3QvdGPIChgbmljZScpLlxuIgorIiAgICAgIC1mXHTQnNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINGE0LDQudC70ZbQsiwg0LfQsNC/0LjRgdCw0L3QuNGFINC+0LHQvtC70L7QvdC60L7RjiDRgtCwINC90LDRidCw0LTQutCw0LzQuC5cbiIKKyIgICAgICAtaVx00JzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0YHQuNCz0L3QsNC70ZbQsiwg0YnQviDQvtGH0ZbQutGD0Y7RgtGMINC+0LHRgNC+0LHQutC4LlxuIgorIiAgICAgIC1sXHTQnNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGALCDRj9C60LjQuSDQv9GA0L7RhtC10YEg0LzQvtC20LUg0LfQsNCx0LvQvtC60YPQstCw0YLQuCDQsiDQv9Cw0LzigJnRj9GC0ZYuXG4iCisiICAgICAgLW1cdNCc0LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0YDQtdC30LjQtNC10L3RgtC90L7Qs9C+INC90LDQsdC+0YDRgy5cbiIKKyIgICAgICAtblx00JzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LLRltC00LrRgNC40YLQuNGFINGE0LDQudC70L7QstC40YUg0LTQtdGB0LrRgNC40L/RgtC+0YDRltCyLlxuIgorIiAgICAgIC1wXHTQoNC+0LfQvNGW0YAg0LHRg9GE0LXRgNCwINC60LDQvdCw0LvRgy5cbiIKKyIgICAgICAtcVx00JzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0YMg0YfQtdGA0LPQsNGFINC/0L7QstGW0LTQvtC80LvQtdC90YwgUE9TSVhcbiIKKyIgICAgXHQo0YMg0LHQsNC50YLQsNGFKS5cbiIKKyIgICAgICAtclx00JzQsNC60YHQuNC80LDQu9GM0L3QuNC5INC/0YDRltC+0YDQuNGC0LXRgiDQstC40LrQvtC90LDQvdC90Y8g0YMg0YDQtdCw0LvRjNC90L7QvNGDINGH0LDRgdGWLlxuIgorIiAgICAgIC1zXHTQnNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINGB0YLQtdC60YMuXG4iCisiICAgICAgLXRcdNCc0LDQutGB0LjQvNCw0LvRjNC90LjQuSDRh9Cw0YEg0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINC/0YDQvtGG0LXRgdC+0YDRgyAo0YMg0YHQtdC60YPQvdC00LDRhSkuXG4iCisiICAgICAgLXVcdNCc0LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINC/0YDQvtGG0LXRgdGW0LIg0LrQvtGA0LjRgdGC0YPQstCw0YfQsC5cbiIKKyIgICAgICAtdlx00KDQvtC30LzRltGAINCy0ZbRgNGC0YPQsNC70YzQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWLlxuIgorIiAgICAgIC14XHTQnNCw0LrRgdC40LzQsNC70YzQvdCwINC60ZbQu9GM0LrRltGB0YLRjCDQsdC70L7QutGD0LLQsNC90Ywg0YTQsNC50LvRltCyLlxuIgorIiAgICBcbiIKKyIgICAg0K/QutGJ0L4g0LLQutCw0LfQsNC90LUg0J7QkdCc0JXQltCV0J3QndCvLCDQstC+0L3QviDQstGB0YLQsNC90L7QstC70Y7RlNGC0YzRgdGPINGP0Log0L3QvtCy0LUg0LfQvdCw0YfQtdC90L3RjyDQvtCx0LzQtdC20LXQvdC90Y9cbiIKKyIgICAg0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINCy0LrQsNC30LDQvdC+0LPQviDRgNC10YHRg9GA0YHRgzsg0YHQv9C10YbRltCw0LvRjNC90ZYg0LfQvdCw0YfQtdC90L3RjyDQntCR0JzQldCW0JXQndCd0K8gYHNvZnQnLFxuIgorIiAgICBgaGFyZCcsINGC0LAgYHVubGltaXRlZCcg0L7Qt9C90LDRh9Cw0Y7RgtGMLCDQstGW0LTQv9C+0LLRltC00L3Qviwg0L/QvtGC0L7Rh9C90LUg0LzigJnRj9C60LUg0L7QsdC80LXQttC10L3QvdGPLFxuIgorIiAgICDQv9C+0YLQvtGH0L3QtSDQttC+0YDRgdGC0LrQtSDQvtCx0LzQtdC20LXQvdC90Y8g0YLQsCDQstGW0LTRgdGD0YLQvdGW0YHRgtGMINC+0LHQvNC10LbQtdC90YwuINCv0LrRidC+INCe0JHQnNCV0JbQldCd0J3QryDQvdC1XG4iCisiICAgINCy0LrQsNC30LDQvdC1LCDQstC40LLQvtC00LjRgtGM0YHRjyDQv9C+0YLQvtGH0L3QtSDQt9C90LDRh9C10L3QvdGPINCy0LrQsNC30LDQvdC+0LPQviDRgNC10YHRg9GA0YHRgy4g0K/QutGJ0L4g0L3QtSDQstC60LDQt9Cw0L3QvlxuIgorIiAgICDQttC+0LTQvdC+0LPQviDQv9Cw0YDQsNC80LXRgtGA0YMsINCx0LXRgNC10YLRjNGB0Y8gLWYuXG4iCisiICAgIFxuIgorIiAgICDQl9C90LDRh9C10L3QvdGPINC80L7QttGD0YLRjCDQt9C80ZbQvdGO0LLQsNGC0LjRgdGPINGW0Lcg0LrRgNC+0LrQvtC8INGDIDEwMjQg0LHQsNC50YLQuCwg0LfQsCDQstC40LrQu9GO0YfQtdC90L3Rj9C8ICAtdCxcbiIKKyIgICAg0YnQviDQstC60LDQt9GD0ZTRgtGM0YHRjyDQsiDRgdC10LrRg9C90LTQsNGFLCAtcCwg0Y/QutC1INC80LDRlCDQutGA0L7QuiA1MTIg0LHQsNC50YLRltCyINGC0LAgLXUsINGJ0L4g0ZRcbiIKKyIgICAg0LrRltC70YzQutGW0YHRgtGOINC/0YDQvtGG0LXRgdGW0LIg0LHQtdC3INC60YDQvtC60YMuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDQvdC10LLQtNCw0LvQviwg0Y/QutGJ0L4g0LLQutCw0LfQsNC90L4g0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INC/0LDRgNCw0LzQtdGC0YAg0YfQuFxuIgorIiAgICDRgtGA0LDQv9C40LvQsNGB0Y8g0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDQstC40LrQvtC90LDQvdC90Y8uIgorCisjOiBidWlsdGlucy5jOjE0NDQKK21zZ2lkICIiCisiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCisiICAgIFxuIgorIiAgICBTZXRzIHRoZSB1c2VyIGZpbGUtY3JlYXRpb24gbWFzayB0byBNT0RFLiAgSWYgTU9ERSBpcyBvbWl0dGVkLCBwcmludHNcbiIKKyIgICAgdGhlIGN1cnJlbnQgdmFsdWUgb2YgdGhlIG1hc2suXG4iCisiICAgIFxuIgorIiAgICBJZiBNT0RFIGJlZ2lucyB3aXRoIGEgZGlnaXQsIGl0IGlzIGludGVycHJldGVkIGFzIGFuIG9jdGFsIG51bWJlcjtcbiIKKyIgICAgb3RoZXJ3aXNlIGl0IGlzIGEgc3ltYm9saWMgbW9kZSBzdHJpbmcgbGlrZSB0aGF0IGFjY2VwdGVkIGJ5IGNobW9kKDEpLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtcFx0aWYgTU9ERSBpcyBvbWl0dGVkLCBvdXRwdXQgaW4gYSBmb3JtIHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dFxuIgorIiAgICAgIC1TXHRtYWtlcyB0aGUgb3V0cHV0IHN5bWJvbGljOyBvdGhlcndpc2UgYW4gb2N0YWwgbnVtYmVyIGlzIG91dHB1dFxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTU9ERSBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKK21zZ3N0ciAiIgorItCS0YHRgtCw0L3QvtCy0LvRjtGUINGH0Lgg0L/QvtC60LDQt9GD0ZQg0LzQsNGB0LrRgyDQtNC+0LfQstC+0LvRltCyINC00LvRjyDRhNCw0LnQu9GW0LIuXG4iCisiICAgIFxuIgorIiAgICDQktGB0YLQsNC90L7QstC70Y7RlCDQnNCQ0KHQmtCjINC00L7Qt9Cy0L7Qu9GW0LIg0LTQu9GPINGB0YLQstC+0YDQtdC90LjRhSDRhNCw0LnQu9GW0LIuINCv0LrRidC+INCc0JDQodCa0KMg0L3QtSDQstC60LDQt9Cw0L3QvixcbiIKKyIgICAg0LLQuNCy0L7QtNC40YLRjCDQv9C+0YLQvtGH0L3QtSDQt9C90LDRh9C10L3QvdGPINC80LDRgdC60LguXG4iCisiICAgIFxuIgorIiAgICDQr9C60YnQviDQnNCQ0KHQmtCQINC/0L7Rh9C40L3QsNGU0YLRjNGB0Y8g0Lcg0YbQuNGE0YDQuCwg0LLQvtC90LAg0LLQstCw0LbQsNGU0YLRjNGB0Y8g0LLRltGB0ZbQvNC60L7QstC40Lwg0YfQuNGB0LvQvtC8O1xuIgorIiAgICDRj9C60YnQviDQvdGWIOKAlCDQstC+0L3QsCDQvNCw0ZQg0LHRg9GC0Lgg0YDRj9C00LrQvtC8INGB0LjQvNCy0L7Qu9GM0L3QvtCz0L4g0YDQtdC20LjQvNGDLCDQv9C+0LTRltCx0L3QuNC8INC00L4g0YLQvtCz0L4sINGJ0L5cbiIKKyIgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8gY2htb2QoMSkuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLXBcdNCv0LrRidC+INCc0JDQodCa0KMg0L3QtSDQstC60LDQt9Cw0L3Qviwg0LLQuNCy0LXRgdGC0Lgg0ZfRlyDRgyDRhNC+0YDQvNGWLCDQv9GA0LjQtNCw0YLQvdGW0Lkg0LTQu9GPICIKKyLQstC40LrQvtC90LDQvdC90Y8uXG4iCisiICAgICAgLVNcdNCS0LjQstC+0LTQuNGC0Lgg0YMg0YHQuNC80LLQvtC70YzQvdC+0LzRgyDRgNC10LbQuNC80ZY7INGW0L3QsNC60YjQtSDQstC40LLQvtC00LjRgtGM0YHRjyDQstGW0YHRltC80LrQvtCy0LUg0YfQuNGB0LvQvi5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINGD0YHQv9GW0YjQvdC+LCDRj9C60YnQviDQstC60LDQt9Cw0L3QviDQv9GA0LDQstC40LvRjNC90YMg0JzQkNCh0JrQoyDRgtCwINC/0LDRgNCw0LzQtdGC0YDQuC4iCisKKyM6IGJ1aWx0aW5zLmM6MTQ2NAorbXNnaWQgIiIKKyJXYWl0IGZvciBqb2IgY29tcGxldGlvbiBhbmQgcmV0dXJuIGV4aXQgc3RhdHVzLlxuIgorIiAgICBcbiIKKyIgICAgV2FpdHMgZm9yIHRoZSBwcm9jZXNzIGlkZW50aWZpZWQgYnkgSUQsIHdoaWNoIG1heSBiZSBhIHByb2Nlc3MgSUQgb3IgYVxuIgorIiAgICBqb2Igc3BlY2lmaWNhdGlvbiwgYW5kIHJlcG9ydHMgaXRzIHRlcm1pbmF0aW9uIHN0YXR1cy4gIElmIElEIGlzIG5vdFxuIgorIiAgICBnaXZlbiwgd2FpdHMgZm9yIGFsbCBjdXJyZW50bHkgYWN0aXZlIGNoaWxkIHByb2Nlc3NlcywgYW5kIHRoZSByZXR1cm5cbiIKKyIgICAgc3RhdHVzIGlzIHplcm8uICBJZiBJRCBpcyBhIGEgam9iIHNwZWNpZmljYXRpb24sIHdhaXRzIGZvciBhbGwgIgorInByb2Nlc3Nlc1xuIgorIiAgICBpbiB0aGUgam9iJ3MgcGlwZWxpbmUuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIElEOyBmYWlscyBpZiBJRCBpcyBpbnZhbGlkIG9yIGFuIGludmFsaWQgb3B0aW9uICIKKyJpc1xuIgorIiAgICBnaXZlbi4iCittc2dzdHIgIiIKKyLQp9C10LrQsNGUINC30LDQstC10YDRiNC10L3QvdGPINCy0LjQutC+0L3QsNC90L3RjyDQt9Cw0LLQtNCw0L3QvdGPINGC0LAg0L/QvtCy0LXRgNGC0LDRlCDQudC+0LPQviDQutC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y8uXG4iCisiICAgIFxuIgorIiAgICDQntGH0ZbQutGD0ZQg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YDQvtCx0L7RgtC4INC/0YDQvtGG0LXRgdGDLCDQstC60LDQt9Cw0L3QvtCz0L4g0LfQsCDQhtCU0JXQndCi0JjQpNCG0JrQkNCi0J7QoNCe0JwsINGJ0L4g0LzQvtC20LVcbiIKKyIgICAg0LHRg9GC0Lgg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8INC/0YDQvtGG0LXRgdGDINGH0Lgg0LfQsNCy0LTQsNC90L3Rjywg0YLQsCDQv9C+0LLQtdGA0YLQsNGUINC50L7Qs9C+INC60L7QtCAiCisi0LfQsNCy0LXRgNGI0LXQvdC90Y8uXG4iCisiICAgINCv0LrRidC+INCG0JTQldCd0KLQmNCk0IbQmtCQ0KLQntCgINC90LUg0LLQutCw0LfQsNC90L4sINC+0YfRltC60YPRlCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDRg9GB0ZbRhSDQsNC60YLQuNCy0L3QuNGFINC00L7Rh9GW0YDQvdGW0YVcbiIKKyIgICAg0L/RgNC+0YbQtdGB0ZbQsiDRgtCwINC/0L7QstC10YDRgtCw0ZQg0LrQvtC0IDAuINCv0LrRidC+INCG0JTQldCd0KLQmNCk0IbQmtCQ0KLQntCgINGUINC30LDQstC00LDQvdC90Y/QvCwg0L7Rh9GW0LrRg9GUINC90LBcbiIKKyIgICAg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YPRgdGW0YUg0L/RgNC+0YbQtdGB0ZbQsiDRgyDQu9Cw0L3RhtGO0LbQutGDINC30LDQstC00LDQvdC90Y8uXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC/0L7QstC10YDRgtCw0ZQg0LrQvtC0INC30LDQstC10YDRiNC10L3QvdGPINCy0LrQsNC30LDQvdC+0LPQviDQt9Cw0LLQtNCw0L3QvdGPOyDQv9C+0LzQuNC70LrRgywg0Y/QutGJ0L4gIgorItCy0LrQsNC30LDQvdC+XG4iCisiICAgINC90LXQv9GA0LDQstC40LvRjNC90ZYg0L/QsNGA0LDQvNC10YLRgNC4INGH0Lgg0IbQlNCV0J3QotCY0KTQhtCa0JDQotCe0KAuIgorCisjOiBidWlsdGlucy5jOjE0ODIKK21zZ2lkICIiCisiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCisiICAgIFxuIgorIiAgICBXYWl0cyBmb3IgdGhlIHNwZWNpZmllZCBwcm9jZXNzIGFuZCByZXBvcnRzIGl0cyB0ZXJtaW5hdGlvbiBzdGF0dXMuICBJZlxuIgorIiAgICBQSUQgaXMgbm90IGdpdmVuLCBhbGwgY3VycmVudGx5IGFjdGl2ZSBjaGlsZCBwcm9jZXNzZXMgYXJlIHdhaXRlZCBmb3IsXG4iCisiICAgIGFuZCB0aGUgcmV0dXJuIGNvZGUgaXMgemVyby4gIFBJRCBtdXN0IGJlIGEgcHJvY2VzcyBJRC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgSUQ7IGZhaWxzIGlmIElEIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gIgorImlzXG4iCisiICAgIGdpdmVuLiIKK21zZ3N0ciAiIgorItCe0YfRltC60YPRlCDQvdCwINC30LDQstC10YDRiNC10L3QvdGPINGA0L7QsdC+0YLQuCDQv9GA0L7RhtC10YHRgyDRgtCwINC/0L7QstC10YDRgtCw0ZQg0LnQvtCz0L4g0LrQvtC0INC30LDQstC10YDRiNC10L3QvdGPLlxuIgorIiAgICBcbiIKKyIgICAg0J7Rh9GW0LrRg9GUINC/0L7QutC4INC30LDQstC10YDRiNC40YLRjNGB0Y8g0LLQutCw0LfQsNC90LjQuSDQv9GA0L7RhtC10YEg0YLQsCDQtNC+0L/QvtCy0ZbQtNCw0ZQg0L/RgNC+INC50L7Qs9C+ICIKKyLRg9GB0L/RltGI0L3RltGB0YLRjC5cbiIKKyIgICAg0K/QutGJ0L4g0IbQlNCV0J3QotCY0KTQhtCa0JDQotCe0KAt0J/QoNCe0KbQldCh0KMg0L3QtSDQstC60LDQt9Cw0L3QuNC5LCDQvtGH0ZbQutGD0ZQg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YPRgdGW0YUg0LTQvtGH0ZbRgNC90ZbRhVxuIgorIiAgICDQv9GA0L7RhtC10YHRltCyINC5INC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDQtyDQutC+0LTQvtC8IDAuINCG0JTQldCd0KLQmNCk0IbQmtCQ0KLQntCgINC80LDRlCDQsdGD0YLQuCAiCisi0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8XG4iCisiICAgINC/0YDQvtGG0LXRgdGDLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQv9C+0LLQtdGA0YLQsNGUINC60L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDQstC60LDQt9Cw0L3QvtCz0L4g0L/RgNC+0YbQtdGB0YM7INC/0L7QvNC40LvQutGDLCDRj9C60YnQviAiCisi0LLQutCw0LfQsNC90L5cbiIKKyIgICAg0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INCG0JTQldCd0KLQmNCk0IbQmtCQ0KLQntCgINGH0Lgg0L/QsNGA0LDQvNC10YLRgC4iCisKKyM6IGJ1aWx0aW5zLmM6MTQ5NworIywgZnV6enkKK21zZ2lkICIiCisiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGBmb3InIGxvb3AgZXhlY3V0ZXMgYSBzZXF1ZW5jZSBvZiBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYVxuIgorIiAgICBsaXN0IG9mIGl0ZW1zLiAgSWYgYGluIFdPUkRTIC4uLjsnIGlzIG5vdCBwcmVzZW50LCB0aGVuIGBpbiBcIiRAXCInIGlzXG4iCisiICAgIGFzc3VtZWQuICBGb3IgZWFjaCBlbGVtZW50IGluIFdPUkRTLCBOQU1FIGlzIHNldCB0byB0aGF0IGVsZW1lbnQsIGFuZFxuIgorIiAgICB0aGUgQ09NTUFORFMgYXJlIGV4ZWN1dGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorItCS0LjQutC+0L3Rg9GUINC60L7QvNCw0L3QtNC4LCDQv9GW0LTRgdGC0LDQstC70Y/RjtGH0Lgg0L/QviDRh9C10YDQt9GWINC10LvQtdC80LXQvdGC0Lgg0YHQv9C40YHQutGDLlxuIgorIiAgICBcbiIKKyIgICAg0KbQuNC60LsgYGZvcicg0LLQuNC60L7QvdGD0ZQg0L/QvtGB0LvRltC00L7QstC90ZbRgdGC0Ywg0LrQvtC80LDQvdC0INC00LvRjyDQutC+0LbQvdC+0LPQviDQtdC70LXQvNC10L3RgtGDINGB0L/QuNGB0LrRgy5cbiIKKyIgICAg0K/QutGJ0L4gYGluINCh0JvQntCS0JAgLi4uOycg0L3QtSDQstC60LDQt9Cw0L3Qviwg0YLQvtC00ZYg0LHQtdGA0LXRgtGM0YHRjyBgaW4gXCIkQFwiJy4g0IbQnOKAmdCvXG4iCisiICAgINC/0L7RgdC70ZbQtNC+0LLQvdC+INCy0YHRgtCw0L3QvtCy0LvRjtGU0YLRjNGB0Y8g0YMg0LrQvtC20L3QtSDQt9GWINCh0JvQhtCSINGC0LAg0LLQuNC60L7QvdGD0Y7RgtGM0YHRjyDQmtCe0JzQkNCd0JTQmC5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0L/QvtCy0LXRgNGC0LDRlCDQutC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0L7RgdGC0LDQvdC90YzQvtGXINCy0LjQutC+0L3QsNC90L7RlyDQutC+0LzQsNC90LTQuC4iCisKKyM6IGJ1aWx0aW5zLmM6MTUxMQorbXNnaWQgIiIKKyJBcml0aG1ldGljIGZvciBsb29wLlxuIgorIiAgICBcbiIKKyIgICAgRXF1aXZhbGVudCB0b1xuIgorIiAgICBcdCgoIEVYUDEgKSlcbiIKKyIgICAgXHR3aGlsZSAoKCBFWFAyICkpOyBkb1xuIgorIiAgICBcdFx0Q09NTUFORFNcbiIKKyIgICAgXHRcdCgoIEVYUDMgKSlcbiIKKyIgICAgXHRkb25lXG4iCisiICAgIEVYUDEsIEVYUDIsIGFuZCBFWFAzIGFyZSBhcml0aG1ldGljIGV4cHJlc3Npb25zLiAgSWYgYW55IGV4cHJlc3Npb24gaXNcbiIKKyIgICAgb21pdHRlZCwgaXQgYmVoYXZlcyBhcyBpZiBpdCBldmFsdWF0ZXMgdG8gMS5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKyLQkNGA0LjRhNC80LXRgtC40YfQvdC40Lkg0YbQuNC60LsuXG4iCisiICAgIFxuIgorIiAgICDQotC1INC2INGB0LDQvNC1LCDRidC+INC5XG4iCisiICAgIFx0KCgg0JLQmNCg0JDQlzEgKSlcbiIKKyIgICAgXHR3aGlsZSAoKCDQktCY0KDQkNCXMiApKTsgZG9cbiIKKyIgICAgXHRcdNCa0J7QnNCQ0J3QlNCYXG4iCisiICAgIFx0XHQoKCDQktCY0KDQkNCXMyApKVxuIgorIiAgICBcdGRvbmVcbiIKKyIgICAg0JLQmNCg0JDQl9CYINC80LDRjtGC0Ywg0LHRg9GC0Lgg0LDRgNC40YTQvNC10YLQuNGH0L3QuNC80Lgg0LLQuNGA0LDQt9Cw0LzQuC4g0K/QutGJ0L4g0LHRg9C00Ywt0Y/QutC40Lkg0Lcg0L3QuNGFINC90LVcbiIKKyIgICAg0LLQutCw0LfQsNC90LjQuSwg0YbQuNC60Lsg0L/QvtCy0L7QtNC40YLRjNGB0Y8sINGP0Log0L3RltCx0Lgg0LnQvtCz0L4g0YDQtdC30YPQu9GM0YLQsNGC0L7QvCDRlCAxLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQv9C+0LLQtdGA0YLQsNGUINC60L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDQvtGB0YLQsNC90L3RjNC+0Zcg0LLQuNC60L7QvdCw0L3QvtGXINC60L7QvNCw0L3QtNC4LiIKKworIzogYnVpbHRpbnMuYzoxNTI5Cittc2dpZCAiIgorIlNlbGVjdCB3b3JkcyBmcm9tIGEgbGlzdCBhbmQgZXhlY3V0ZSBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBXT1JEUyBhcmUgZXhwYW5kZWQsIGdlbmVyYXRpbmcgYSBsaXN0IG9mIHdvcmRzLiAgVGhlXG4iCisiICAgIHNldCBvZiBleHBhbmRlZCB3b3JkcyBpcyBwcmludGVkIG9uIHRoZSBzdGFuZGFyZCBlcnJvciwgZWFjaFxuIgorIiAgICBwcmVjZWRlZCBieSBhIG51bWJlci4gIElmIGBpbiBXT1JEUycgaXMgbm90IHByZXNlbnQsIGBpbiBcIiRAXCInXG4iCisiICAgIGlzIGFzc3VtZWQuICBUaGUgUFMzIHByb21wdCBpcyB0aGVuIGRpc3BsYXllZCBhbmQgYSBsaW5lIHJlYWRcbiIKKyIgICAgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQuICBJZiB0aGUgbGluZSBjb25zaXN0cyBvZiB0aGUgbnVtYmVyXG4iCisiICAgIGNvcnJlc3BvbmRpbmcgdG8gb25lIG9mIHRoZSBkaXNwbGF5ZWQgd29yZHMsIHRoZW4gTkFNRSBpcyBzZXRcbiIKKyIgICAgdG8gdGhhdCB3b3JkLiAgSWYgdGhlIGxpbmUgaXMgZW1wdHksIFdPUkRTIGFuZCB0aGUgcHJvbXB0IGFyZVxuIgorIiAgICByZWRpc3BsYXllZC4gIElmIEVPRiBpcyByZWFkLCB0aGUgY29tbWFuZCBjb21wbGV0ZXMuICBBbnkgb3RoZXJcbiIKKyIgICAgdmFsdWUgcmVhZCBjYXVzZXMgTkFNRSB0byBiZSBzZXQgdG8gbnVsbC4gIFRoZSBsaW5lIHJlYWQgaXMgc2F2ZWRcbiIKKyIgICAgaW4gdGhlIHZhcmlhYmxlIFJFUExZLiAgQ09NTUFORFMgYXJlIGV4ZWN1dGVkIGFmdGVyIGVhY2ggc2VsZWN0aW9uXG4iCisiICAgIHVudGlsIGEgYnJlYWsgY29tbWFuZCBpcyBleGVjdXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKyLQn9GA0L7Qv9C+0L3Rg9GUINCy0LjQsdGA0LDRgtC4INGB0LvQvtCy0L4g0YLQsCDQstC40LrQvtC90YPRlCDQstGW0LTQv9C+0LLRltC00L3RliDQutC+0LzQsNC90LTQuC5cbiIKKyIgICAgXG4iCisiICAgINCh0JvQntCS0JAg0YDQvtC30LPQvtGA0YLQsNGO0YLRjNGB0Y8sINGD0YLQstC+0YDRjtGO0YfQuCDRgdC/0LjRgdC+0Log0YHQu9GW0LIuINCe0YLRgNC40LzQsNC90LjQuSDRgdC/0LjRgdC+0Log0YHQu9GW0LJcbiIKKyIgICAg0LLQuNCy0L7QtNC40YLRjNGB0Y8g0L/RgNC+0L3Rg9C80LXRgNC+0LLQsNC90LjQvCDQtNC+INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstC40LLQvtC00YMg0L/QvtC80LjQu9C+0LouINCv0LrRidC+IGBpbiAiCisi0KHQm9Ce0JLQkCdcbiIKKyIgICAg0L3QtSDQstC60LDQt9Cw0L3Qviwg0LHQtdGA0LXRgtGM0YHRjyBgaW4gXCIkQFwiJy4g0KLQvtC00ZYg0LLQuNCy0L7QtNC40YLRjNGB0Y8g0LfQsNC/0YDQvtGI0LXQvdC90Y8gUFMzINGC0LAg0LfRllxuIgorIiAgICDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTRgyDQt9GH0LjRgtGD0ZTRgtGM0YHRjyDRgNGP0LTQvtC6LiDQr9C60YnQviDRhtC10Lkg0YDRj9C00L7QuiDRlCDRh9C40YHQu9C+0LwsINGJ0L4g0LLQutCw0LfRg9GUXG4iCisiICAgINC90L7QvNC10YAg0L7QtNC90L7Qs9C+INC30ZYg0YHQu9GW0LIsINCG0JzigJnQryDQstGB0YLQsNC90L7QstC70Y7RlNGC0YzRgdGPINGDINGG0LUg0YHQu9C+0LLQvi4g0K/QutGJ0L4g0YDRj9C00L7QuiAiCisi0L/QvtGA0L7QttC90ZbQuSxcbiIKKyIgICAg0KHQm9Ce0JLQkCDRgtCwINC30LDQv9GA0L7RiNC10L3QvdGPINCy0LjQstC+0LTRj9GC0YzRgdGPINC30L3QvtCyLiDQr9C60YnQviDQv9GA0L7Rh9C40YLQsNC90L4g0LrRltC90LXRhtGMINGE0LDQudC70YMsICIKKyLQutC+0LzQsNC90LTQsFxuIgorIiAgICDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8uINCv0LrRidC+INGA0Y/QtNC+0Log0LzRltGB0YLQuNGC0Ywg0YnQvtGB0Ywg0ZbQvdGI0LUsINCG0JzQldCd0IYg0L/RgNC40LfQvdCw0YfQsNGU0YLRjNGB0Y8gIgorItC/0L7RgNC+0LbQvdGW0LlcbiIKKyIgICAg0YDRj9C00L7Qui4g0J/RgNC+0YfQuNGC0LDQvdC40Lkg0YDRj9C00L7QuiDQt9Cx0LXRgNGW0LPQsNGU0YLRjNGB0Y8g0YMg0LfQvNGW0L3QvdGW0LkgUkVQTFkuINCf0ZbRgdC70Y8g0LrQvtC20L3QvtCz0L5cbiIKKyIgICAg0LfRh9C40YLRg9Cy0LDQvdC90Y8g0LLQuNC60L7QvdGD0Y7RgtGM0YHRjyDQmtCe0JzQkNCd0JTQmC4g0JrQvtC80LDQvdC00LAg0L/RgNC+0LTQvtCy0LbRg9GUINCy0LjQutC+0L3QsNC90L3RjyDQtNC+0LrQuCDQvdC1XG4iCisiICAgINCx0YPQtNC1INCy0LjQutC70LjQutCw0L3QviDQutC+0LzQsNC90LTRgyBicmVhay5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0L/QvtCy0LXRgNGC0LDRlCDQutC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0L7RgdGC0LDQvdC90YzQvtGXINCy0LjQutC+0L3QsNC90L7RlyDQutC+0LzQsNC90LTQuC4iCisKKyM6IGJ1aWx0aW5zLmM6MTU1MAorbXNnaWQgIiIKKyJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKKyIgICAgXG4iCisiICAgIEV4ZWN1dGUgUElQRUxJTkUgYW5kIHByaW50IGEgc3VtbWFyeSBvZiB0aGUgcmVhbCB0aW1lLCB1c2VyIENQVSB0aW1lLFxuIgorIiAgICBhbmQgc3lzdGVtIENQVSB0aW1lIHNwZW50IGV4ZWN1dGluZyBQSVBFTElORSB3aGVuIGl0IHRlcm1pbmF0ZXMuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1wXHRwcmludCB0aGUgdGltaW5nIHN1bW1hcnkgaW4gdGhlIHBvcnRhYmxlIFBvc2l4IGZvcm1hdFxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIHRoZSBUSU1FRk9STUFUIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIG91dHB1dCBmb3JtYXQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgorbXNnc3RyICIiCisi0JTQvtC/0L7QstGW0LTQsNGUINC/0YDQviDRh9Cw0YEg0LLQuNC60L7QvdCw0L3QvdGPINC70LDQvdGG0Y7QttC60LAg0LrQvtC80LDQvdC0LlxuIgorIiAgICBcbiIKKyIgICAg0JLQuNC60L7QvdGD0ZQg0JvQkNCd0KbQrtCW0J7QmiDRgtCwLCDQv9C+INC50L7Qs9C+INC30LDQstC10YDRiNC10L3QvdGWLCDQtNGA0YPQutGD0ZQg0LfQstGW0YIg0L/RgNC+INGH0LDRgSDQv9GA0L7RhtC10YHQvtGA0LAsXG4iCisiICAgINCy0LjRgtGA0LDRh9C10L3QuNC5INC60L7RgNC40YHRgtGD0LLQsNGH0LXQvCwg0YHQuNGB0YLQtdC80L7RjiDRgtCwINGB0YPQvNCw0YDQvdC+INC90LAg0LLQuNC60L7QvdCw0L3QvdGPINCb0JDQndCm0K7QltCa0JAuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLXBcdNCU0YDRg9C60YPRlCDQt9Cy0ZbRgiDRgyDRhNC+0YDQvNCw0YLRliwg0YnQviDQstGW0LTQv9C+0LLRltC00LDRlCDRgdGC0LDQvdC00LDRgNGC0YMgUE9TSVguXG4iCisiICAgIFxuIgorIiAgICDQp9Cw0YEg0LLQuNCy0L7QtNC40YLRjNGB0Y8g0YMg0YTQvtGA0LzQsNGC0ZYsINCy0LrQsNC30LDQvdC+0LzRgyDRgyDQt9C80ZbQvdC90ZbQuSBUSU1FRk9STUFULlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQv9C+0LLQtdGA0YLQsNGUINC60L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDQm9CQ0J3QptCu0JbQmtCQLdCa0J7QnNCQ0J3QlC4iCisKKyM6IGJ1aWx0aW5zLmM6MTU2NworIywgZnV6enkKK21zZ2lkICIiCisiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgorIiAgICBcbiIKKyIgICAgU2VsZWN0aXZlbHkgZXhlY3V0ZSBDT01NQU5EUyBiYXNlZCB1cG9uIFdPUkQgbWF0Y2hpbmcgUEFUVEVSTi4gIFRoZVxuIgorIiAgICBgfCcgaXMgdXNlZCB0byBzZXBhcmF0ZSBtdWx0aXBsZSBwYXR0ZXJucy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKyLQktC40LHRltGA0LrQvtCy0L4g0LLQuNC60L7QvdGD0ZQg0LrQvtC80LDQvdC00Lgg0LLRltC00L/QvtCy0ZbQtNC90L4g0LTQviDRiNCw0LHQu9C+0L3Rgy5cbiIKKyIgICAgXG4iCisiICAgINCS0LjQsdGW0YDQutC+0LLQviDQstC40LrQvtC90YPRlCDQmtCe0JzQkNCd0JTQmCwg0LIg0LfQsNC70LXQttC90L7RgdGC0ZYg0LLRltC0INCy0ZbQtNC/0L7QstGW0LTQvdC+0YHRgtGWINCh0JvQntCS0JAgIgorItCo0JDQkdCb0J7QndCjLlxuIgorIiAgICDQlNC10LrRltC70YzQutCwINGI0LDQsdC70L7QvdGW0LIg0LzQvtC20YPRgtGMINCx0YPRgtC4INCy0LrQsNC30LDQvdGWINGH0LXRgNC10LcgYHwnLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQv9C+0LLQtdGA0YLQsNGUINC60L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDQvtGB0YLQsNC90L3RjNC+0Zcg0LLQuNC60L7QvdCw0L3QvtGXINC60L7QvNCw0L3QtNC4LiIKKworIzogYnVpbHRpbnMuYzoxNTc5Cittc2dpZCAiIgorIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYGlmIENPTU1BTkRTJyBsaXN0IGlzIGV4ZWN1dGVkLiAgSWYgaXRzIGV4aXQgc3RhdHVzIGlzIHplcm8sIHRoZW4gIgorInRoZVxuIgorIiAgICBgdGhlbiBDT01NQU5EUycgbGlzdCBpcyBleGVjdXRlZC4gIE90aGVyd2lzZSwgZWFjaCBgZWxpZiBDT01NQU5EUycgbGlzdCAiCisiaXNcbiIKKyIgICAgZXhlY3V0ZWQgaW4gdHVybiwgYW5kIGlmIGl0cyBleGl0IHN0YXR1cyBpcyB6ZXJvLCB0aGUgY29ycmVzcG9uZGluZ1xuIgorIiAgICBgdGhlbiBDT01NQU5EUycgbGlzdCBpcyBleGVjdXRlZCBhbmQgdGhlIGlmIGNvbW1hbmQgY29tcGxldGVzLiAgIgorIk90aGVyd2lzZSxcbiIKKyIgICAgdGhlIGBlbHNlIENPTU1BTkRTJyBsaXN0IGlzIGV4ZWN1dGVkLCBpZiBwcmVzZW50LiAgVGhlIGV4aXQgc3RhdHVzIG9mICIKKyJ0aGVcbiIKKyIgICAgZW50aXJlIGNvbnN0cnVjdCBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCwgb3IgIgorInplcm9cbiIKKyIgICAgaWYgbm8gY29uZGl0aW9uIHRlc3RlZCB0cnVlLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorItCS0LjQutC+0L3Rg9GUINC60L7QvNCw0L3QtNC4INCy0ZbQtNC/0L7QstGW0LTQvdC+INC00L4g0YPQvNC+0LLQuC5cbiIKKyIgICAgXG4iCisiICAgINCa0J7QnNCQ0J3QlNCYINC3IGBpZiDQmtCe0JzQkNCd0JTQmCcg0LLQuNC60L7QvdGD0Y7RgtGM0YHRjywg0ZYg0Y/QutGJ0L4g0ZfRhSDQutC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0L3Rg9C70YzQvtCy0LjQuSxcbiIKKyIgICAg0LLQuNC60L7QvdGD0Y7RgtGM0YHRjyDQmtCe0JzQkNCd0JTQmCDQtyBgdGhlbiDQmtCe0JzQkNCd0JTQmCcuINCG0L3QsNC60YjQtSDQsiDRgdCy0L7RjiDRh9C10YDQs9GDINCy0LjQutC+0L3Rg9GO0YLRjNGB0Y9cbiIKKyIgICAg0LrQvtC80LDQvdC00Lgg0LcgYGVsaWYg0JrQntCc0JDQndCU0JgnLCDRliDRj9C60YnQviDRl9GFINC60L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDQvdGD0LvRjNC+0LLQuNC5LCAiCisi0LLQuNC60L7QvdGD0Y7RgtGM0YHRj1xuIgorIiAgICDQmtCe0JzQkNCd0JTQmCDQtyDQstGW0LTQv9C+0LLRltC00L3QvtCz0L4gYHRoZW4g0JrQntCc0JDQndCU0JgnLiDQhtC90LDQutGI0LUg0LLQuNC60L7QvdGD0Y7RgtGM0YHRjyDQmtCe0JzQkNCd0JTQmCDQt1xuIgorIiAgICBgZWxzZSDQmtCe0JzQkNCd0JTQmCcuINCR0LvQvtC60LggZWxpZiDRgtCwIGVsc2Ug0L3QtSDQvtCx0L7QsuKAmdGP0LfQutC+0LLRli5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0L/QvtCy0LXRgNGC0LDRlCDQutC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0L7RgdGC0LDQvdC90YzQvtGXINCy0LjQutC+0L3QsNC90L7RlyDQutC+0LzQsNC90LTQuCDQsNCx0L4g0L3Rg9C70YwsXG4iCisiICAgINGP0LrRidC+INC20L7QtNC90LAg0Lcg0L/QtdGA0LXQstGW0YDQtdC90LjRhSDRg9C80L7QsiDQvdC1INCx0YPQu9CwINGW0YHRgtC40L3QvdC+0Y4uIgorCisjOiBidWlsdGlucy5jOjE1OTYKK21zZ2lkICIiCisiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKKyIgICAgXG4iCisiICAgIEV4cGFuZCBhbmQgZXhlY3V0ZSBDT01NQU5EUyBhcyBsb25nIGFzIHRoZSBmaW5hbCBjb21tYW5kIGluIHRoZVxuIgorIiAgICBgd2hpbGUnIENPTU1BTkRTIGhhcyBhbiBleGl0IHN0YXR1cyBvZiB6ZXJvLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorItCm0LjQutC70ZbRh9C90L4g0LLQuNC60L7QvdGD0ZQg0LrQvtC80LDQvdC00Lgg0L/QvtC60Lgg0LLQuNC60L7QvdGD0ZTRgtGM0YHRjyDRg9C80L7QstCwLlxuIgorIiAgICBcbiIKKyIgICAg0JLQuNC60L7QvdGD0LLQsNGC0LjQvNC1INCa0J7QnNCQ0J3QlNCYLCDQv9C+0LrQuCDQvtGB0YLQsNC90L3RjyDQutC+0LzQsNC90LTQsCDQtyDQmtCe0JzQkNCd0JQg0YMgYHdoaWxlJ1xuIgorIiAgICDQvdC1INC30LDQstC10YDRiNC40YLRjNGB0Y8g0L3QtdCy0LTQsNC70L4uXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC/0L7QstC10YDRgtCw0ZQg0LrQvtC0INC30LDQstC10YDRiNC10L3QvdGPINC+0YHRgtCw0L3QvdGM0L7RlyDQstC40LrQvtC90LDQvdC+0Zcg0LrQvtC80LDQvdC00LguIgorCisjOiBidWlsdGlucy5jOjE2MDgKK21zZ2lkICIiCisiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBkb2VzIG5vdCBzdWNjZWVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhwYW5kIGFuZCBleGVjdXRlIENPTU1BTkRTIGFzIGxvbmcgYXMgdGhlIGZpbmFsIGNvbW1hbmQgaW4gdGhlXG4iCisiICAgIGB1bnRpbCcgQ09NTUFORFMgaGFzIGFuIGV4aXQgc3RhdHVzIHdoaWNoIGlzIG5vdCB6ZXJvLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorItCS0LjQutC+0L3Rg9GUINC60L7QvNCw0L3QtNC4INC00L7QutC4INGD0LzQvtCy0YMg0L3QtSDQsdGD0LTQtSDQstC40LrQvtC90LDQvdC+LlxuIgorIiAgICBcbiIKKyIgICAg0JLQuNC60L7QvdGD0LLQsNGC0LjQvNC1INCa0J7QnNCQ0J3QlNCYLCDQv9C+0LrQuCDQvtGB0YLQsNC90L3RjyDQutC+0LzQsNC90LTQsCDQtyDQmtCe0JzQkNCd0JQg0YMgYHVudGlsJ1xuIgorIiAgICDQvdC1INC30LDQstC10YDRiNC40YLRjNGB0Y8g0YPRgdC/0ZbRiNC90L4uXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC/0L7QstC10YDRgtCw0ZQg0LrQvtC0INC30LDQstC10YDRiNC10L3QvdGPINC+0YHRgtCw0L3QvdGM0L7RlyDQstC40LrQvtC90LDQvdC+0Zcg0LrQvtC80LDQvdC00LguIgorCisjIFdURj8gSG93IGNhbiBpdCByZXR1cm4gZXhpdCBjb2RlIG9mIF9hc3luY2hyb25vdXNfIHByb2Nlc3MuLi4KKyM6IGJ1aWx0aW5zLmM6MTYyMAorbXNnaWQgIiIKKyJDcmVhdGUgYSBjb3Byb2Nlc3MgbmFtZWQgTkFNRS5cbiIKKyIgICAgXG4iCisiICAgIEV4ZWN1dGUgQ09NTUFORCBhc3luY2hyb25vdXNseSwgd2l0aCB0aGUgc3RhbmRhcmQgb3V0cHV0IGFuZCBzdGFuZGFyZFxuIgorIiAgICBpbnB1dCBvZiB0aGUgY29tbWFuZCBjb25uZWN0ZWQgdmlhIGEgcGlwZSB0byBmaWxlIGRlc2NyaXB0b3JzIGFzc2lnbmVkXG4iCisiICAgIHRvIGluZGljZXMgMCBhbmQgMSBvZiBhbiBhcnJheSB2YXJpYWJsZSBOQU1FIGluIHRoZSBleGVjdXRpbmcgc2hlbGwuXG4iCisiICAgIFRoZSBkZWZhdWx0IE5BTUUgaXMgXCJDT1BST0NcIi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiBDT01NQU5ELiIKK21zZ3N0ciAiIgorItCh0YLQstC+0YDRjtGUINGB0L/RltCy0L/RgNC+0YbQtdGBINC3INGW0LzQtdC90LXQvCDQhtCc4oCZ0K8uXG4iCisiICAgIFxuIgorIiAgICDQn9C+0YfQuNC90LDRlCDQsNGB0LjQvdGF0YDQvtC90L3QtSDQstC40LrQvtC90LDQvdC90Y8g0JrQntCc0JDQndCU0JgsINC/0ZbQtOKAmdGU0LTQvdCw0LLRiNC4INGX0Zcg0YHRgtCw0L3QtNCw0YDRgtC90LjQuSDQstCy0ZbQtCAiCisi0YLQsFxuIgorIiAgICDQstC40LLRltC0INGH0LXRgNC10Lcg0LrQsNC90LDQu9C4INC00L4g0YTQsNC50LvQvtCy0LjRhSDQtNC10YHQutGA0LjQv9GC0L7RgNGW0LIsINGP0LrRliDQv9GA0LjRgdCy0L7RjtGO0YLRjNGB0Y8g0LXQu9C10LzQtdC90YLQsNC8ICIKKyIwXG4iCisiICAgINGC0LAgMSDQt9C80ZbQvdC90L7Rly3QvNCw0YHQuNCy0YMg0IbQnOKAmdCvLlxuIgorIiAgICDQodGC0LDQvdC00LDRgNGC0L3QtSDRltC84oCZ0Y8g0LfQvNGW0L3QvdC+0Zcg4oCUIFwiQ09QUk9DXCIuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC/0L7QstC10YDRgtCw0ZQg0LrQvtC0INC30LDQstC10YDRiNC10L3QvdGPINCa0J7QnNCQ0J3QlNCYLiIKKworIzogYnVpbHRpbnMuYzoxNjM0Cittc2dpZCAiIgorIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKKyIgICAgXG4iCisiICAgIENyZWF0ZSBhIHNoZWxsIGZ1bmN0aW9uIG5hbWVkIE5BTUUuICBXaGVuIGludm9rZWQgYXMgYSBzaW1wbGUgY29tbWFuZCxcbiIKKyIgICAgTkFNRSBydW5zIENPTU1BTkRzIGluIHRoZSBjYWxsaW5nIHNoZWxsJ3MgY29udGV4dC4gIFdoZW4gTkFNRSBpcyAiCisiaW52b2tlZCxcbiIKKyIgICAgdGhlIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbiBhcyAkMS4uLiRuLCBhbmQgdGhlIGZ1bmN0aW9uJ3NcbiIKKyIgICAgbmFtZSBpcyBpbiAkRlVOQ05BTUUuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKK21zZ3N0ciAiIgorItCe0L/QuNGB0YPRlCDRhNGD0L3QutGG0ZbRjiDQvtCx0L7Qu9C+0L3QutC4LlxuIgorIiAgICBcbiIKKyIgICAg0KHRgtCy0L7RgNGO0ZQg0YTRg9C90LrRhtGW0Y4g0L7QsdC+0LvQvtC90LrQuCDQtyDRltC80LXQvdC10Lwg0IbQnOKAmdCvLiDQpNGD0L3QutGG0ZbRjyDQt9Cw0L/Rg9GB0LrQsNGU0YLRjNGB0Y8g0Y/QuiAiCisi0LfQstC40YfQsNC50L3QsFxuIgorIiAgICDQutC+0LzQsNC90LTQsCDQtyDRltC80LXQvdC10Lwg0IbQnOKAmdCvINGC0LAg0L/QvtGB0LvRltC00L7QstC90L4g0LLQuNC60L7QvdGD0ZQg0JrQntCc0JDQndCU0JguINCQ0YDQs9GD0LzQtdC90YLQuCDQtNC+ICIKKyLQutC+0LzQsNC90LTQuFxuIgorIiAgICDQv9GA0LjQt9C90LDRh9Cw0Y7RgtGM0YHRjyDQvdCwINGH0LDRgSDQstC40LrQvtC90LDQvdC90Y8g0LfQvNGW0L3QvdC40LwgJDEuLi4kbiwg0LAg0L3QsNC30LLQsCDRhNGD0L3QutGG0ZbRlyDigJQgIgorItC30LzRltC90L3RltC5XG4iCisiICAgICRGVU5DTkFNRS5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC90LXQstC00LDQu9C+LCDRj9C60YnQviDQhtCc4oCZ0K8g0ZQg0L3QtdC30LzRltC90L3QuNC8LiIKKworIzogYnVpbHRpbnMuYzoxNjQ4Cittc2dpZCAiIgorIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKKyIgICAgXG4iCisiICAgIFJ1biBhIHNldCBvZiBjb21tYW5kcyBpbiBhIGdyb3VwLiAgVGhpcyBpcyBvbmUgd2F5IHRvIHJlZGlyZWN0IGFuXG4iCisiICAgIGVudGlyZSBzZXQgb2YgY29tbWFuZHMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisi0JPRgNGD0L/Rg9GUINC60L7QvNCw0L3QtNC4INCyINC+0LTQuNC9INCx0LvQvtC6LlxuIgorIiAgICBcbiIKKyIgICAg0JLQuNC60L7QvdGD0ZQg0LfQs9GA0YPQv9C+0LLQsNC90LjQuSDQvdCw0LHRltGAINC60L7QvNCw0L3QtC4g0KbQtSDQvtC00LjQvSDQtyDQvNC10YLQvtC00ZbQsiDQv9C10YDQtdC90LDQv9GA0LDQstC70LXQvdC90Y8gIgorItCy0LjQstC+0LTRg1xuIgorIiAgICDQs9GA0YPQv9C4INC60L7QvNCw0L3QtC5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC90YHRgtGA0YPQutGG0ZbRjyDQv9C+0LLQtdGA0YLQsNGUINC60L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDQvtGB0YLQsNC90L3RjNC+0Zcg0LLQuNC60L7QvdCw0L3QvtGXINC60L7QvNCw0L3QtNC4LiIKKworIzogYnVpbHRpbnMuYzoxNjYwCittc2dpZCAiIgorIlJlc3VtZSBqb2IgaW4gZm9yZWdyb3VuZC5cbiIKKyIgICAgXG4iCisiICAgIEVxdWl2YWxlbnQgdG8gdGhlIEpPQl9TUEVDIGFyZ3VtZW50IHRvIHRoZSBgZmcnIGNvbW1hbmQuICBSZXN1bWUgYVxuIgorIiAgICBzdG9wcGVkIG9yIGJhY2tncm91bmQgam9iLiAgSk9CX1NQRUMgY2FuIHNwZWNpZnkgZWl0aGVyIGEgam9iIG5hbWVcbiIKKyIgICAgb3IgYSBqb2IgbnVtYmVyLiAgRm9sbG93aW5nIEpPQl9TUEVDIHdpdGggYSBgJicgcGxhY2VzIHRoZSBqb2IgaW5cbiIKKyIgICAgdGhlIGJhY2tncm91bmQsIGFzIGlmIHRoZSBqb2Igc3BlY2lmaWNhdGlvbiBoYWQgYmVlbiBzdXBwbGllZCBhcyBhblxuIgorIiAgICBhcmd1bWVudCB0byBgYmcnLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgorbXNnc3RyICIiCisi0J/RgNC+0LTQvtCy0LbRg9GUINCy0LjQutC+0L3QsNC90L3RjyDQt9Cw0LLQtNCw0L3QvdGPINC90LAg0L/QtdGA0LXQtNC90YzQvtC80YMg0L/Qu9Cw0L3Rli5cbiIKKyIgICAgXG4iCisiICAgINCf0YDQvtC00L7QstC20YPRlCDQvdCwINC/0LXRgNC10LTQvdGM0L7QvNGDINC/0LvQsNC90ZYg0LLQuNC60L7QvdCw0L3QvdGPINC/0YDQuNC30YPQv9C40L3QtdC90L7Qs9C+INGH0Lgg0YTQvtC90L7QstC+0LPQvlxuIgorIiAgICDQt9Cw0LLQtNCw0L3QvdGPLCDRj9C6INGG0LUg0YDQvtCx0LjRgtGMINC60L7QvNCw0L3QtNCwIGBmZycuINCX0JDQktCU0JDQndCd0K8g0LzQvtC20LUg0LHRg9GC0Lgg0ZbQvNC10L3QtdC8INGH0LggIgorItC90L7QvNC10YDQvtC8XG4iCisiICAgINC30LDQstC00LDQvdC90Y8uINCv0LrRidC+INC/0ZbRgdC70Y8g0JfQkNCS0JTQkNCd0J3QryDQstC60LDQt9Cw0L3QviBgJicsINC30LDQstC00LDQvdC90Y8g0L/RgNC+0LTQvtCy0LbRg9GUINCy0LjQutC+0L3QsNC90L3RjyAiCisi0YNcbiIKKyIgICAg0YTQvtC90ZYsINGC0L7QsdGC0L4g0LrQvtC80LDQvdC00LAg0LzQsNGUINC10YTQtdC60YIg0LrQvtC80LDQvdC00LggYGJnJy5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0L/QvtCy0LXRgNGC0LDRlCDRgdGC0LDRgtGD0YEg0L/RgNC+0LTQvtCy0LbQtdC90L7Qs9C+INC30LDQstC00LDQvdC90Y8uIgorCisjOiBidWlsdGlucy5jOjE2NzUKK21zZ2lkICIiCisiRXZhbHVhdGUgYXJpdGhtZXRpYyBleHByZXNzaW9uLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIEVYUFJFU1NJT04gaXMgZXZhbHVhdGVkIGFjY29yZGluZyB0byB0aGUgcnVsZXMgZm9yIGFyaXRobWV0aWNcbiIKKyIgICAgZXZhbHVhdGlvbi4gIEVxdWl2YWxlbnQgdG8gXCJsZXQgRVhQUkVTU0lPTlwiLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgMSBpZiBFWFBSRVNTSU9OIGV2YWx1YXRlcyB0byAwOyByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKK21zZ3N0ciAiIgorItCe0LHRh9C40YHQu9GO0ZQg0LDRgNC40YTQvNC10YLQuNGH0L3QuNC5INCy0LjRgNCw0LcuXG4iCisiICAgIFxuIgorIiAgICDQntCx0YfQuNGB0LvRjtGUINCS0JjQoNCQ0Jcg0LLRltC00L/QvtCy0ZbQtNC90L4g0LTQviDQv9GA0LDQstC40Lsg0LDRgNC40YTQvNC10YLQuNGH0L3QvtCz0L4g0YDQvtC30LrRgNC40YLRgtGPLiDQotC1INC2INGB0LDQvNC1LFxuIgorIiAgICDRidC+INC5IFwibGV0INCS0JjQoNCQ0JdcIi5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINGD0YHQv9GW0YjQvdC+LCDRj9C60YnQviDRgNC10LfRg9C70YzRgtCw0YIg0L7QsdGH0LjRgdC70LXQvdC90Y8g0L3QtdC90YPQu9GM0L7QstC40LkuIgorCisjOiBidWlsdGlucy5jOjE2ODcKK21zZ2lkICIiCisiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgorIiAgICBcbiIKKyIgICAgUmV0dXJucyBhIHN0YXR1cyBvZiAwIG9yIDEgZGVwZW5kaW5nIG9uIHRoZSBldmFsdWF0aW9uIG9mIHRoZSAiCisiY29uZGl0aW9uYWxcbiIKKyIgICAgZXhwcmVzc2lvbiBFWFBSRVNTSU9OLiAgRXhwcmVzc2lvbnMgYXJlIGNvbXBvc2VkIG9mIHRoZSBzYW1lIHByaW1hcmllcyAiCisidXNlZFxuIgorIiAgICBieSB0aGUgYHRlc3QnIGJ1aWx0aW4sIGFuZCBtYXkgYmUgY29tYmluZWQgdXNpbmcgdGhlIGZvbGxvd2luZyAiCisib3BlcmF0b3JzOlxuIgorIiAgICBcbiIKKyIgICAgICAoIEVYUFJFU1NJT04gKVx0UmV0dXJucyB0aGUgdmFsdWUgb2YgRVhQUkVTU0lPTlxuIgorIiAgICAgICEgRVhQUkVTU0lPTlx0XHRUcnVlIGlmIEVYUFJFU1NJT04gaXMgZmFsc2U7IGVsc2UgZmFsc2VcbiIKKyIgICAgICBFWFBSMSAmJiBFWFBSMlx0VHJ1ZSBpZiBib3RoIEVYUFIxIGFuZCBFWFBSMiBhcmUgdHJ1ZTsgZWxzZSBmYWxzZVxuIgorIiAgICAgIEVYUFIxIHx8IEVYUFIyXHRUcnVlIGlmIGVpdGhlciBFWFBSMSBvciBFWFBSMiBpcyB0cnVlOyBlbHNlIGZhbHNlXG4iCisiICAgIFxuIgorIiAgICBXaGVuIHRoZSBgPT0nIGFuZCBgIT0nIG9wZXJhdG9ycyBhcmUgdXNlZCwgdGhlIHN0cmluZyB0byB0aGUgcmlnaHQgb2ZcbiIKKyIgICAgdGhlIG9wZXJhdG9yIGlzIHVzZWQgYXMgYSBwYXR0ZXJuIGFuZCBwYXR0ZXJuIG1hdGNoaW5nIGlzIHBlcmZvcm1lZC5cbiIKKyIgICAgV2hlbiB0aGUgYD1+JyBvcGVyYXRvciBpcyB1c2VkLCB0aGUgc3RyaW5nIHRvIHRoZSByaWdodCBvZiB0aGUgb3BlcmF0b3JcbiIKKyIgICAgaXMgbWF0Y2hlZCBhcyBhIHJlZ3VsYXIgZXhwcmVzc2lvbi5cbiIKKyIgICAgXG4iCisiICAgIFRoZSAmJiBhbmQgfHwgb3BlcmF0b3JzIGRvIG5vdCBldmFsdWF0ZSBFWFBSMiBpZiBFWFBSMSBpcyBzdWZmaWNpZW50IHRvXG4iCisiICAgIGRldGVybWluZSB0aGUgZXhwcmVzc2lvbidzIHZhbHVlLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIDAgb3IgMSBkZXBlbmRpbmcgb24gdmFsdWUgb2YgRVhQUkVTU0lPTi4iCittc2dzdHIgIiIKKyLQktC40LrQvtC90YPRlCDRg9C80L7QstC90YMg0LrQvtC80LDQvdC00YMuXG4iCisiICAgIFxuIgorIiAgICDQn9C+0LLQtdGA0YLQsNGUINGB0YLQsNGC0YPRgSAwINGH0LggMSwg0LIg0LfQsNC70LXQttC90L7RgdGC0ZYg0LLRltC0INGA0LXQt9GD0LvRjNGC0LDRgtGDINC+0LHRh9C40YHQu9C10L3QvdGPINGD0LzQvtCy0L3QvtCz0L5cbiIKKyIgICAg0JLQmNCg0JDQl9CjLiDQktC40YDQsNC30Lgg0YHQutC70LDQtNCw0Y7RgtGM0YHRjyDQtyDRgtC40YUg0YHQsNC80LjRhSDRgdC60LvQsNC00L7QstC40YUsINGJ0L4g0LLQuNC60L7RgNC40YHRgtC+0LLRg9GO0YLRjNGB0Y8g0YNcbiIKKyIgICAg0LLQsdGD0LTQvtCy0LDQvdGW0Lkg0LrQvtC80LDQvdC00ZYgYHRlc3QnLCDQsNC70LUg0LzQvtC20YPRgtGMINGC0LDQutC+0LYg0LrQvtC80LHRltC90YPQstCw0YLQuNGB0Y8g0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y46XG4iCisiICAgIFxuIgorIiAgICAgICgg0JLQmNCg0JDQlyApXHRcdNCf0L7QstC10YDRgtCw0ZQg0LfQvdCw0YfQtdC90L3RjyDQktCY0KDQkNCX0KMuXG4iCisiICAgICAgISDQktCY0KDQkNCXXHRcdNCG0YHRgtC40L3QvdC40LksINGP0LrRidC+INCS0JjQoNCQ0Jcg0YXQuNCx0L3QuNC5LlxuIgorIiAgICAgINCS0JjQoNCQ0JcxICYmINCS0JjQoNCQ0JcyXHTQhtGB0YLQuNC90L3QuNC5LCDRj9C60YnQviDQvtCx0LjQtNCy0LAg0JLQmNCg0JDQl9CYINGW0YHRgtC40L3QvdGWLlxuIgorIiAgICAgINCS0JjQoNCQ0JcxIHx8INCS0JjQoNCQ0JcyXHTQhtGB0YLQuNC90L3QuNC5LCDRj9C60YnQviDRhdC+0Ycg0L7QtNC40L0g0Lcg0JLQmNCg0JDQl9CG0JIg0ZbRgdGC0LjQvdC90LjQuS5cbiIKKyIgICAgXG4iCisiICAgINCv0LrRidC+INC30LDRgdGC0L7RgdC+0LLRg9GO0YLRjNGB0Y8g0L7Qv9C10YDQsNGC0L7RgNC4IGA9PScg0YLQsCBgIT0nLCDRgNGP0LTQvtC6INC3INC/0YDQsNCy0L7RlyDRgdGC0L7RgNC+0L3QuFxuIgorIiAgICDQstCy0LDQttCw0ZTRgtGM0YHRjyDRiNCw0LHQu9C+0L3QvtC8LCDQuSDQv9GA0L7QstC+0LTQuNGC0YzRgdGPINC/0LXRgNC10LLRltGA0LrQsCDQvdCwINCy0ZbQtNC/0L7QstGW0LTQvdGW0YHRgtGMINGG0YzQvtC80YNcbiIKKyIgICAg0YjQsNCx0LvQvtC90YMuINCf0YDQuCDQt9Cw0YHRgtC+0YHRg9Cy0LDQvdC90ZYgYD1+JyDRgNGP0LTQvtC6INC30LvRltCy0LAg0LLQstCw0LbQsNGU0YLRjNGB0Y8g0YDQtdCz0YPQu9GP0YDQvdC40LxcbiIKKyIgICAg0LLQuNGA0LDQt9C+0LwsINCy0ZbQtNC90L7RgdC90L4g0Y/QutC+0LPQviDQv9C10YDQtdCy0ZbRgNGP0ZTRgtGM0YHRjyDQv9GA0LDQstC40Lkg0YDRj9C00L7Qui5cbiIKKyIgICAgXG4iCisiICAgINCe0L/QtdGA0LDRgtC+0YDQuCAmJiDRgtCwIHx8INC90LUg0L7QsdGH0LjRgdC70Y7RjtGC0Ywg0JLQmNCg0JDQlzIsINGP0LrRidC+INCS0JjQoNCQ0JfQozEg0LTQvtGB0YLQsNGC0L3RjNC+INC00LvRj1xuIgorIiAgICDQstC40LfQvdCw0YfQtdC90L3RjyDRgNC10LfRg9C70YzRgtCw0YLRgy5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINGD0YHQv9GW0YjQvdC+LCDRj9C60YnQviDQktCY0KDQkNCXINGW0YHRgtC40L3QvdC40LkuIgorCisjOiBidWlsdGlucy5jOjE3MTMKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCisiICAgIFxuIgorIiAgICBCQVNIX1ZFUlNJT05cdFZlcnNpb24gaW5mb3JtYXRpb24gZm9yIHRoaXMgQmFzaC5cbiIKKyIgICAgQ0RQQVRIXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaFxuIgorIiAgICBcdFx0Zm9yIGRpcmVjdG9yaWVzIGdpdmVuIGFzIGFyZ3VtZW50cyB0byBgY2QnLlxuIgorIiAgICBHTE9CSUdOT1JFXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIGRlc2NyaWJpbmcgZmlsZW5hbWVzIHRvXG4iCisiICAgIFx0XHRiZSBpZ25vcmVkIGJ5IHBhdGhuYW1lIGV4cGFuc2lvbi5cbiIKKyIgICAgSElTVEZJTEVcdFRoZSBuYW1lIG9mIHRoZSBmaWxlIHdoZXJlIHlvdXIgY29tbWFuZCBoaXN0b3J5IGlzIHN0b3JlZC5cbiIKKyIgICAgSElTVEZJTEVTSVpFXHRUaGUgbWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhpcyBmaWxlIGNhbiBjb250YWluLlxuIgorIiAgICBISVNUU0laRVx0VGhlIG1heGltdW0gbnVtYmVyIG9mIGhpc3RvcnkgbGluZXMgdGhhdCBhIHJ1bm5pbmdcbiIKKyIgICAgXHRcdHNoZWxsIGNhbiBhY2Nlc3MuXG4iCisiICAgIEhPTUVcdFRoZSBjb21wbGV0ZSBwYXRobmFtZSB0byB5b3VyIGxvZ2luIGRpcmVjdG9yeS5cbiIKKyIgICAgSE9TVE5BTUVcdFRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IGhvc3QuXG4iCisiICAgIEhPU1RUWVBFXHRUaGUgdHlwZSBvZiBDUFUgdGhpcyB2ZXJzaW9uIG9mIEJhc2ggaXMgcnVubmluZyB1bmRlci5cbiIKKyIgICAgSUdOT1JFRU9GXHRDb250cm9scyB0aGUgYWN0aW9uIG9mIHRoZSBzaGVsbCBvbiByZWNlaXB0IG9mIGFuIEVPRlxuIgorIiAgICBcdFx0Y2hhcmFjdGVyIGFzIHRoZSBzb2xlIGlucHV0LiAgSWYgc2V0LCB0aGVuIHRoZSB2YWx1ZVxuIgorIiAgICBcdFx0b2YgaXQgaXMgdGhlIG51bWJlciBvZiBFT0YgY2hhcmFjdGVycyB0aGF0IGNhbiBiZSBzZWVuXG4iCisiICAgIFx0XHRpbiBhIHJvdyBvbiBhbiBlbXB0eSBsaW5lIGJlZm9yZSB0aGUgc2hlbGwgd2lsbCBleGl0XG4iCisiICAgIFx0XHQoZGVmYXVsdCAxMCkuICBXaGVuIHVuc2V0LCBFT0Ygc2lnbmlmaWVzIHRoZSBlbmQgb2YgaW5wdXQuXG4iCisiICAgIE1BQ0hUWVBFXHRBIHN0cmluZyBkZXNjcmliaW5nIHRoZSBjdXJyZW50IHN5c3RlbSBCYXNoIGlzIHJ1bm5pbmcgb24uXG4iCisiICAgIE1BSUxDSEVDS1x0SG93IG9mdGVuLCBpbiBzZWNvbmRzLCBCYXNoIGNoZWNrcyBmb3IgbmV3IG1haWwuXG4iCisiICAgIE1BSUxQQVRIXHRBIGNvbG9uLXNlcGFyYXRlZCBsaXN0IG9mIGZpbGVuYW1lcyB3aGljaCBCYXNoIGNoZWNrc1xuIgorIiAgICBcdFx0Zm9yIG5ldyBtYWlsLlxuIgorIiAgICBPU1RZUEVcdFRoZSB2ZXJzaW9uIG9mIFVuaXggdGhpcyB2ZXJzaW9uIG9mIEJhc2ggaXMgcnVubmluZyBvbi5cbiIKKyIgICAgUEFUSFx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggd2hlblxuIgorIiAgICBcdFx0bG9va2luZyBmb3IgY29tbWFuZHMuXG4iCisiICAgIFBST01QVF9DT01NQU5EXHRBIGNvbW1hbmQgdG8gYmUgZXhlY3V0ZWQgYmVmb3JlIHRoZSBwcmludGluZyBvZiBlYWNoXG4iCisiICAgIFx0XHRwcmltYXJ5IHByb21wdC5cbiIKKyIgICAgUFMxXHRcdFRoZSBwcmltYXJ5IHByb21wdCBzdHJpbmcuXG4iCisiICAgIFBTMlx0XHRUaGUgc2Vjb25kYXJ5IHByb21wdCBzdHJpbmcuXG4iCisiICAgIFBXRFx0XHRUaGUgZnVsbCBwYXRobmFtZSBvZiB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCisiICAgIFNIRUxMT1BUU1x0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBlbmFibGVkIHNoZWxsIG9wdGlvbnMuXG4iCisiICAgIFRFUk1cdFRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHRlcm1pbmFsIHR5cGUuXG4iCisiICAgIFRJTUVGT1JNQVRcdFRoZSBvdXRwdXQgZm9ybWF0IGZvciB0aW1pbmcgc3RhdGlzdGljcyBkaXNwbGF5ZWQgYnkgdGhlXG4iCisiICAgIFx0XHRgdGltZScgcmVzZXJ2ZWQgd29yZC5cbiIKKyIgICAgYXV0b19yZXN1bWVcdE5vbi1udWxsIG1lYW5zIGEgY29tbWFuZCB3b3JkIGFwcGVhcmluZyBvbiBhIGxpbmUgYnlcbiIKKyIgICAgXHRcdGl0c2VsZiBpcyBmaXJzdCBsb29rZWQgZm9yIGluIHRoZSBsaXN0IG9mIGN1cnJlbnRseVxuIgorIiAgICBcdFx0c3RvcHBlZCBqb2JzLiAgSWYgZm91bmQgdGhlcmUsIHRoYXQgam9iIGlzIGZvcmVncm91bmRlZC5cbiIKKyIgICAgXHRcdEEgdmFsdWUgb2YgYGV4YWN0JyBtZWFucyB0aGF0IHRoZSBjb21tYW5kIHdvcmQgbXVzdFxuIgorIiAgICBcdFx0ZXhhY3RseSBtYXRjaCBhIGNvbW1hbmQgaW4gdGhlIGxpc3Qgb2Ygc3RvcHBlZCBqb2JzLiAgQVxuIgorIiAgICBcdFx0dmFsdWUgb2YgYHN1YnN0cmluZycgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCB3b3JkIG11c3RcbiIKKyIgICAgXHRcdG1hdGNoIGEgc3Vic3RyaW5nIG9mIHRoZSBqb2IuICBBbnkgb3RoZXIgdmFsdWUgbWVhbnMgdGhhdFxuIgorIiAgICBcdFx0dGhlIGNvbW1hbmQgbXVzdCBiZSBhIHByZWZpeCBvZiBhIHN0b3BwZWQgam9iLlxuIgorIiAgICBoaXN0Y2hhcnNcdENoYXJhY3RlcnMgY29udHJvbGxpbmcgaGlzdG9yeSBleHBhbnNpb24gYW5kIHF1aWNrXG4iCisiICAgIFx0XHRzdWJzdGl0dXRpb24uICBUaGUgZmlyc3QgY2hhcmFjdGVyIGlzIHRoZSBoaXN0b3J5XG4iCisiICAgIFx0XHRzdWJzdGl0dXRpb24gY2hhcmFjdGVyLCB1c3VhbGx5IGAhJy4gIFRoZSBzZWNvbmQgaXNcbiIKKyIgICAgXHRcdHRoZSBgcXVpY2sgc3Vic3RpdHV0aW9uJyBjaGFyYWN0ZXIsIHVzdWFsbHkgYF4nLiAgVGhlXG4iCisiICAgIFx0XHR0aGlyZCBpcyB0aGUgYGhpc3RvcnkgY29tbWVudCcgY2hhcmFjdGVyLCB1c3VhbGx5IGAjJy5cbiIKKyIgICAgSElTVElHTk9SRVx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyB1c2VkIHRvIGRlY2lkZSB3aGljaFxuIgorIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCittc2dzdHIgIiIKKyLQktC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNC90ZYg0LfQvNGW0L3QvdGWINC+0LHQvtC70L7QvdC60LguXG4iCisiICAgIFxuIgorIiAgICBCQVNIX1ZFUlNJT05cdNCG0L3RhNC+0YDQvNCw0YbRltGPINC/0YDQviDQstC10YDRgdGW0Y4gQmFzaC5cbiIKKyIgICAgQ0RQQVRIXHTQoNC+0LfQtNGW0LvQtdC90LjQuSDQtNCy0L7QutGA0LDQv9C60L7RjiDRgdC/0LjRgdC+0Log0LTQuNGA0LXQutGC0L7RgNGW0LksINGDINGP0LrQuNGFINC+0LHQvtC70L7QvdC60LAg0LHRg9C00LVcbiIKKyIgICAgXHRcdNGI0YPQutCw0YLQuCDQtNC40YDQtdC60YLQvtGA0ZbRlywg0LLQutCw0LfQsNC90ZYg0LrQvtC80LDQvdC00ZYgYGNkJy5cbiIKKyIgICAgR0xPQklHTk9SRVx00KDQvtC30LTRltC70LXQvdC40Lkg0LTQstC+0LrRgNCw0L/QutC+0Y4g0YHQv9C40YHQvtC6INGI0LDQsdC70L7QvdGW0LIg0ZbQvNC10L0g0YTQsNC50LvRltCyLCDRj9C60ZYgIgorItCx0YPQtNGD0YLRjFxuIgorIiAgICBcdFx00ZbQs9C90L7RgNGD0LLQsNGC0LjRgdGPINC/0ZbQtCDRh9Cw0YEg0YDQvtC30LrRgNC40YLRgtGPINGI0LvRj9GF0ZbQsi5cbiIKKyIgICAgSElTVEZJTEVcdNCG0LzigJnRjyDRhNCw0LnQu9GDLCDQtNC1INC30LHQtdGA0ZbQs9Cw0ZTRgtGM0YHRjyDRltGB0YLQvtGA0ZbRjyDQutC+0LzQsNC90LQuXG4iCisiICAgIEhJU1RGSUxFU0laRVx00J3QsNC50LHRltC70YzRiNCwINC00L7Qt9Cy0L7Qu9C10L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LfQsNC/0LjRgdGW0LIg0YMg0YTQsNC50LvRliDRltGB0YLQvtGA0ZbRly5cbiIKKyIgICAgSElTVFNJWkVcdNCd0LDQudCx0ZbQu9GM0YjQsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LfQsNC/0LjRgdGW0LIsINGP0LrRliDQvNC+0LbQtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0LhcbiIKKyIgICAgXHRcdNC/0YDQsNGG0Y7RjtGH0LAg0L7QsdC+0LvQvtC90LrQsC5cbiIKKyIgICAgSE9NRVx00J/QvtCy0L3QuNC5INGI0LvRj9GFINC00L4g0LLQsNGI0L7RlyDQtNC+0LzRltCy0LrQuC5cbiIKKyIgICAgSE9TVE5BTUVcdNCG0LzigJnRjyDQv9C+0YLQvtGH0L3QvtGXINC80LDRiNC40L3QuC5cbiIKKyIgICAgSE9TVFRZUEVcdNCi0LjQvyDQv9GA0L7RhtC10YHQvtGA0LAsINC90LAg0Y/QutC+0LzRgyDQstC40LrQvtC90YPRlNGC0YzRgdGPINC+0LHQvtC70L7QvdC60LAuXG4iCisiICAgIElHTk9SRUVPRlx00JLQuNC30L3QsNGH0LDRlCDRgNC10LDQutGG0ZbRjiDQvtCx0L7Qu9C+0L3QutC4INC90LAg0YHQuNC80LLQvtC7INC60ZbQvdGG0Y8g0YTQsNC50LvRgyDQvdCwINCy0LLQvtC00ZYuXG4iCisiICAgIFx0XHTQr9C60YnQviDQt9C80ZbQvdC90LAg0LLQuNC30L3QsNGH0LXQvdCwLCDRl9GXINC30L3QsNGH0LXQvdC90Y8g0ZQg0LrRltC70YzQutGW0YHRgtGOINGC0LDQutC40YUg0YHQuNC80LLQvtC70ZbQsixcbiIKKyIgICAgXHRcdNGJ0L4g0LzQvtC20YPRgtGMINCx0YPRgtC4INC+0YLRgNC40LzQsNC90ZYg0L/RltC0INGA0Y/QtCDQuSDQsdGD0YLQuCDQv9GA0L7RltCz0L3QvtGA0L7QstCw0L3QuNC80LguINCX0LLQuNGH0LDQudC90LVcbiIKKyIgICAgXHRcdNC30L3QsNGH0LXQvdC90Y8g4oCUIDEwLiDQr9C60YnQviDQt9C80ZbQvdC90LAg0L3QtSDQstC40LfQvdCw0YfQtdC90LAsINGB0LjQvNCy0L7QuyDQutGW0L3RhtGPINGE0LDQudC70YNcbiIKKyIgICAgXHRcdNC+0LfQvdCw0YfQsNGC0LjQvNC1INC60ZbQvdC10YbRjCDQstCy0L7QtNGDLlxuIgorIiAgICBNQUNIVFlQRVx00KDRj9C00L7Quiwg0YnQviDQvtC/0LjRgdGD0ZQg0L/QvtGC0L7Rh9C90YMg0YHQuNGB0YLQtdC80YMsINC90LAg0Y/QutGW0Lkg0LLQuNC60L7QvdGD0ZTRgtGM0YHRjyBCYXNoLlxuIgorIiAgICBNQUlMQ0hFQ0tcdNCS0LjQt9C90LDRh9Cw0ZQg0YfQsNGB0YLQvtGC0YMg0L/QtdGA0LXQstGW0YDQutC4INC/0L7RiNGC0Lgg0L7QsdC+0LvQvtC90LrQvtGOLlxuIgorIiAgICBNQUlMUEFUSFx00KDQvtC30LTRltC70LXQvdC40Lkg0LTQstC+0LrRgNCw0L/QutC+0Y4g0YHQv9C40YHQvtC6INGE0LDQudC70ZbQsiwg0Y/QutGWINC+0LHQvtC70L7QvdC60LAg0LHRg9C00LVcbiIKKyIgICAgXHRcdNC/0LXRgNC10LLRltGA0Y/RgtC4INC90LAg0L3QsNGP0LLQvdGW0YHRgtGMINC90L7QstC+0Zcg0L/QvtGI0YLQuC5cbiIKKyIgICAgT1NUWVBFXHTQktCw0YDRltCw0L3RgiBVbml4LCDQvdCwINGP0LrQvtC80YMg0LLQuNC60L7QvdGD0ZTRgtGM0YHRjyDQvtCx0L7Qu9C+0L3QutCwLlxuIgorIiAgICBQQVRIXHTQoNC+0LfQtNGW0LvQtdC90LjQuSDQtNCy0L7QutGA0LDQv9C60L7RjiDRgdC/0LjRgdC+0Log0LTQuNGA0LXQutGC0L7RgNGW0LksINC00LUg0L7QsdC+0LvQvtC90LrQsCDRiNGD0LrQsNGC0LjQvNC1XG4iCisiICAgIFx0XHTQstC40LrQvtC90YPQstCw0L3RliDRhNCw0LnQu9C4INC60L7QvNCw0L3QtC5cbiIKKyIgICAgUFJPTVBUX0NPTU1BTkRcdNCa0L7QvNCw0L3QtNCwLCDRj9C60YMg0L7QsdC+0LvQvtC90LrQsCDQsdGD0LTQtSDQstC40LrQvtC90YPQstCw0YLQuCDQv9C10YDRiCDQvdGW0LYg0LLQuNCy0LXRgdGC0LhcbiIKKyIgICAgXHRcdNC+0YHQvdC+0LLQvdC1INC30LDQv9GA0L7RiNC10L3QvdGPINCy0LLQvtC00YMuXG4iCisiICAgIFBTMVx0XHTQoNGP0LTQvtC6INC+0YHQvdC+0LLQvdC+0LPQviDQt9Cw0L/RgNC+0YjQtdC90L3RjyDQstCy0L7QtNGDLlxuIgorIiAgICBQUzJcdFx00KDRj9C00L7QuiDQstGC0L7RgNC40L3QvdC+0LPQviDQt9Cw0L/RgNC+0YjQtdC90L3RjyDQstCy0L7QtNGDLlxuIgorIiAgICBQV0RcdFx00J/QvtCy0L3QuNC5INGI0LvRj9GFINC00L4g0L/QvtGC0L7Rh9C90L7RlyDQtNC40YDQtdC60YLQvtGA0ZbRly5cbiIKKyIgICAgU0hFTExPUFRTXHTQoNC+0LfQtNGW0LvQtdC90LjQuSDQtNCy0L7QutGA0LDQv9C60L7RjiDRgdC/0LjRgdC+0Log0YPQstGW0LzQutC90LXQvdC40YUg0L/QsNGA0LDQvNC10YLRgNGW0LIg0L7QsdC+0LvQvtC90LrQuC5cbiIKKyIgICAgVEVSTVx00KLQuNC/INC/0L7RgtC+0YfQvdC+0LPQviDRgtC10YDQvNGW0L3QsNC70YMuXG4iCisiICAgIFRJTUVGT1JNQVRcdNCk0L7RgNC80LDRgiDQstC40LLQvtC00YMg0YfQsNGB0YMg0LrQvtC80LDQvdC00L7RjiBgdGltZScuXG4iCisiICAgIGF1dG9fcmVzdW1lXHTQr9C60YnQviDQstGB0YLQsNC90L7QstC70LXQvdCwLCDQstCy0LXQtNC10L3RliDQutC+0LzQsNC90LTQuCwg0YnQviDRgdC60LvQsNC00LDRjtGC0YzRgdGPINC3XG4iCisiICAgIFx0XHTQvtC00L3QvtCz0L4g0YHQu9C+0LLQsCwg0YHQv9C+0YfQsNGC0LrRgyDQsdGD0LTRg9GC0Ywg0YjRg9C60LDRgtC40YHRjyDRgyDRgdC/0LjRgdC60YMg0L3QsNGA0LDQt9GWXG4iCisiICAgIFx0XHTQv9GA0LjQt9GD0L/QuNC90LXQvdC40YUg0LfQsNCy0LTQsNC90YwuINCv0LrRidC+INGC0LDQutC1INC30LDQstC00LDQvdC90Y8g0LHRg9C00LUg0LfQvdCw0LnQtNC10L3QtSwg0LnQvtCz0L4g0LHRg9C00LVcbiIKKyIgICAgXHRcdNC/0LXRgNC10LLQtdC00LXQvdC+INC90LAg0L/QtdGA0LXQtNC90ZbQuSDQv9C70LDQvS4g0JfQvdCw0YfQtdC90L3RjyDRhtGW0ZTRlyDQt9C80ZbQvdC90L7RlyBgZXhhY3QnINC+0LfQvdCw0YfQsNGULFxuIgorIiAgICBcdFx00YnQviDRgdC70L7QstC+INC80LDRlCDRgtC+0YfQvdC+INCy0ZbQtNC/0L7QstGW0LTQsNGC0Lgg0LrQvtC80LDQvdC00ZYg0YMg0YHQv9C40YHQutGDINC30LDQstC00LDQvdGMLiDQl9C90LDRh9C10L3QvdGPXG4iCisiICAgIFx0XHRgc3Vic3RyaW5nJyDQvtC30L3QsNGH0LDRlCwg0YnQviDRgdC70L7QstC+INC80LDRlCDQvNGW0YHRgtC40YLQuNGB0Y8g0YMg0LrQvtC80LDQvdC00ZYg0LfQsNCy0LTQsNC90L3Rjy5cbiIKKyIgICAgXHRcdNCR0YPQtNGMLdGP0LrQtSDRltC90YjQtSDQt9C90LDRh9C10L3QvdGPINC+0LfQvdCw0YfQsNGULCDRidC+INC60L7QvNCw0L3QtNCwINC30LDQstC00LDQvdC90Y8g0LzQsNGUXG4iCisiICAgIFx0XHTQv9C+0YfQuNC90LDRgtC40YHRjyDQtyDQstC60LDQt9Cw0L3QvtCz0L4g0YHQu9C+0LLQsC5cbiIKKyIgICAgaGlzdGNoYXJzXHTQodC40LzQstC+0LvQuCwg0YnQviDQstC40LrQvtGA0LjRgdGC0L7QstGD0Y7RgtGM0YHRjyDQtNC70Y8g0YDQvtC30LrRgNC40YLRgtGPINGW0YHRgtC+0YDRltGXINGC0LBcbiIKKyIgICAgXHRcdNGI0LLQuNC00LrQvtGXINC30LDQvNGW0L3QuC4g0J/QtdGA0YjQuNC5INGB0LjQvNCy0L7QuyDRlCDRgdC40LzQstC+0LvQvtC8INC/0ZbQtNGB0YLQsNCy0LvRj9C90L3RjyDRltGB0YLQvtGA0ZbRlyxcbiIKKyIgICAgXHRcdNC30LDQt9Cy0LjRh9Cw0Lkg0YbQtSBgIScuICDQlNGA0YPQs9C40Lkg4oCUINGB0LjQvNCy0L7QuyBg0YjQstC40LTQutC+0Zcg0LfQsNC80ZbQvdC4Jywg0LfQsNC30LjRh9Cw0LkgYF4nLlxuIgorIiAgICBcdFx00KLRgNC10YLRltC5IOKAlCDRgdC40LzQstC+0LsgYNC60L7QvNC10L3RgtCw0YDRjyDRltGB0YLQvtGA0ZbRlycsINC30LDQt9Cy0LjRh9Cw0Lkg0YbQtSBgIycuXG4iCisiICAgIEhJU1RJR05PUkVcdNCg0L7Qt9C00ZbQu9C10L3QuNC5INC00LLQvtC60YDQsNC/0LrQvtGOINGB0L/QuNGB0L7QuiDRiNCw0LHQu9C+0L3RltCyLCDRidC+INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRjtGC0YzRgdGPXG4iCisiICAgIFx0XHTQv9GA0Lgg0LLQuNC30L3QsNGH0LXQvdC90ZYsINGH0Lgg0LfQsdC10YDRltCz0LDRgtC4INC60L7QvNCw0L3QtNGDINGDINGB0L/QuNGB0LrRgyDRltGB0YLQvtGA0ZbRly5cbiIKKworIzogYnVpbHRpbnMuYzoxNzcwCittc2dpZCAiIgorIkFkZCBkaXJlY3RvcmllcyB0byBzdGFjay5cbiIKKyIgICAgXG4iCisiICAgIEFkZHMgYSBkaXJlY3RvcnkgdG8gdGhlIHRvcCBvZiB0aGUgZGlyZWN0b3J5IHN0YWNrLCBvciByb3RhdGVzXG4iCisiICAgIHRoZSBzdGFjaywgbWFraW5nIHRoZSBuZXcgdG9wIG9mIHRoZSBzdGFjayB0aGUgY3VycmVudCB3b3JraW5nXG4iCisiICAgIGRpcmVjdG9yeS4gIFdpdGggbm8gYXJndW1lbnRzLCBleGNoYW5nZXMgdGhlIHRvcCB0d28gZGlyZWN0b3JpZXMuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1uXHRTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3aGVuIGFkZGluZ1xuIgorIiAgICBcdGRpcmVjdG9yaWVzIHRvIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgK05cdFJvdGF0ZXMgdGhlIHN0YWNrIHNvIHRoYXQgdGhlIE50aCBkaXJlY3RvcnkgKGNvdW50aW5nXG4iCisiICAgIFx0ZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGhcbiIKKyIgICAgXHR6ZXJvKSBpcyBhdCB0aGUgdG9wLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0Um90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmdcbiIKKyIgICAgXHRmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGhcbiIKKyIgICAgXHR6ZXJvKSBpcyBhdCB0aGUgdG9wLlxuIgorIiAgICBcbiIKKyIgICAgICBkaXJcdEFkZHMgRElSIHRvIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYXQgdGhlIHRvcCwgbWFraW5nIGl0IHRoZVxuIgorIiAgICBcdG5ldyBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIGFyZ3VtZW50IGlzIHN1cHBsaWVkIG9yIHRoZSBkaXJlY3RvcnlcbiIKKyIgICAgY2hhbmdlIGZhaWxzLiIKK21zZ3N0ciAiIgorItCU0L7QtNCw0ZQg0LTQuNGA0LXQutGC0L7RgNGW0Zcg0LTQviDRgdC/0LjRgdC60YMg0LfQsdC10YDQtdC20LXQvdC40YUg0LTQuNGA0LXQutGC0L7RgNGW0LkuXG4iCisiICAgIFxuIgorIiAgICDQlNC+0LTQsNGUINC00LjRgNC10LrRgtC+0YDRltGOINC90LAg0LLQtdGA0YjQuNC90YMg0YHRgtC10LrRgyDQtNC40YDQtdC60YLQvtGA0ZbQuSwg0YfQuCDRhtC40LrQu9GW0YfQvdC+INC+0LHQtdGA0YLQsNGUXG4iCisiICAgINGB0YLQtdC6LCDQstGB0YLQsNC90L7QstC70Y7RjtGH0Lgg0L/QvtGC0L7Rh9C90YMg0YDQvtCx0L7Rh9GDINC00LjRgNC10LrRgtC+0YDRltGOINCy0ZbQtNC/0L7QstGW0LTQvdC+INC00L4g0LnQvtCz0L4g0L3QvtCy0L7Rl1xuIgorIiAgICDQstC10YDRiNC40L3QuC4g0JHQtdC3INCw0YDQs9GD0LzQtdC90YLRltCyINC80ZbQvdGP0ZQg0LzRltGB0YbRj9C80Lgg0LTQstGWINC90LDQudCy0LjRidC40YUg0LTQuNGA0LXQutGC0L7RgNGW0ZcuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLW5cdNCd0LUg0YDQvtCx0LjRgtC4INC30LLQuNGH0LDQudC90L7Qs9C+INC/0LXRgNC10YXQvtC00YMg0YMg0L3QvtCy0YMg0LTQuNGA0LXQutGC0L7RgNGW0Y4g0L/RgNC4INC00L7QtNCw0LLQsNC90L3RllxuIgorIiAgICBcdFx00LTQuNGA0LXQutGC0L7RgNGW0Lkg0LTQviDRgdGC0LXQutGDLCDQv9GA0L7QstC+0LTQuNGC0Lgg0L7Qv9C10YDQsNGG0ZbRlyDQu9C40YjQtSDQvdCw0LQg0YHRgtC10LrQvtC8LlxuIgorIiAgICBcbiIKKyIgICAg0JDRgNCz0YPQvNC10L3RgtC4OlxuIgorIiAgICAgICtOXHTQptC40LrQu9GW0YfQvdC+INC+0LHQtdGA0YLQsNGUINGB0YLQtdC6INGC0LDQuiwg0YnQvtCxIE4t0L3QsCDQtNC40YDQtdC60YLQvtGA0ZbRjywg0YDQsNGF0YPRjtGH0LhcbiIKKyIgICAgXHRcdNC30LvRltCy0LAgKNC/0L7Rh9C40L3QsNGO0YfQuCDQtyDQvdGD0LvRjykg0YMg0YHQv9C40YHQutGDLCDRidC+INCy0LjQstC+0LTQuNGC0YzRgdGPINC60L7QvNCw0L3QtNC+0Y4gYGRpcnMnXG4iCisiICAgIFx0XHTQvtC/0LjQvdC40LvQsNGB0Y8g0L3QsCDQstC10YDRiNC40L3RliDRgdGC0LXQutGDLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx00KbQuNC60LvRltGH0L3QviDQvtCx0LXRgNGC0LDRlCDRgdGC0LXQuiDRgtCw0LosINGJ0L7QsSBOLdC90LAg0LTQuNGA0LXQutGC0L7RgNGW0Y8sINGA0LDRhdGD0Y7Rh9C4XG4iCisiICAgIFx0XHTQtyDQutGW0L3RhtGPICjQv9C+0YfQuNC90LDRjtGH0Lgg0Lcg0L3Rg9C70Y8pINGDINGB0L/QuNGB0LrRgywg0YnQviDQstC40LLQvtC00LjRgtGM0YHRjyDQutC+0LzQsNC90LTQvtGOIGBkaXJzJ1xuIgorIiAgICBcdFx00L7Qv9C40L3QuNC70LDRgdGPINC90LAg0LLQtdGA0YjQuNC90ZYg0YHRgtC10LrRgy5cbiIKKyIgICAgXG4iCisiICAgICAg0JTQmNCg0JXQmtCi0J7QoNCG0K9cdNCU0L7QtNCw0ZQg0JTQmNCg0JXQmtCi0J7QoNCG0K4g0L3QsCDQstC10YDRiNC40L3RgyDRgdGC0LXQutGDLCDQuSDRgNC+0LHQuNGC0Ywg0ZfRlyDQv9C+0YLQvtGH0L3QvtGOXG4iCisiICAgIFx0XHRcdNGA0L7QsdC+0YfQvtGOINC00LjRgNC10LrRgtC+0YDRltGU0Y4uXG4iCisiICAgIFxuIgorIiAgICDQktCx0YPQtNC+0LLQsNC90LAg0LrQvtC80LDQvdC00LAgYGRpcnMnINC/0L7QutCw0LfRg9GUINGB0YLQtdC6INC00LjRgNC10LrRgtC+0YDRltC5LlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0L3QtdCy0LTQsNC70L4sINGP0LrRidC+INCy0LrQsNC30LDQvdC40Lkg0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0YfQuFxuIgorIiAgICDRj9C60YnQviDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LfQvNGW0L3QuNGC0Lgg0L/QvtGC0L7Rh9C90YMg0LTQuNGA0LXQutGC0L7RgNGW0Y4uIgorCisjOiBidWlsdGlucy5jOjE4MDQKK21zZ2lkICIiCisiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCisiICAgIFxuIgorIiAgICBSZW1vdmVzIGVudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiAgV2l0aCBubyBhcmd1bWVudHMsIHJlbW92ZXNcbiIKKyIgICAgdGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUgc3RhY2ssIGFuZCBjaGFuZ2VzIHRvIHRoZSBuZXcgdG9wIGRpcmVjdG9yeS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gcmVtb3ZpbmdcbiIKKyIgICAgXHRkaXJlY3RvcmllcyBmcm9tIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgK05cdFJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0XG4iCisiICAgIFx0c2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgKzAnXG4iCisiICAgIFx0cmVtb3ZlcyB0aGUgZmlyc3QgZGlyZWN0b3J5LCBgcG9wZCArMScgdGhlIHNlY29uZC5cbiIKKyIgICAgXG4iCisiICAgICAgLU5cdFJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdFxuIgorIiAgICBcdHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aCB6ZXJvLiAgRm9yIGV4YW1wbGU6IGBwb3BkIC0wJ1xuIgorIiAgICBcdHJlbW92ZXMgdGhlIGxhc3QgZGlyZWN0b3J5LCBgcG9wZCAtMScgdGhlIG5leHQgdG8gbGFzdC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBgZGlycycgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBzdXBwbGllZCBvciB0aGUgZGlyZWN0b3J5XG4iCisiICAgIGNoYW5nZSBmYWlscy4iCittc2dzdHIgIiIKKyLQktC40LvRg9GH0LDRlCDQtNC40YDQtdC60YLQvtGA0ZbRlyDQt9GWINGB0L/QuNGB0LrRgyDQt9Cx0LXRgNC10LbQtdC90LjRhSDQtNC40YDQtdC60YLQvtGA0ZbQuS5cbiIKKyIgICAgXG4iCisiICAgINCS0LjQu9GD0YfQsNGUINC00LjRgNC10LrRgtC+0YDRltGXINC30ZYg0YHRgtC10LrRgyDQt9Cx0LXRgNC10LbQtdC90LjRhSDQtNC40YDQtdC60YLQvtGA0ZbQuS4g0K/QutGJ0L4g0LDRgNCz0YPQvNC10L3RgtC4INC90LVcbiIKKyIgICAg0LLQutCw0LfQsNC90ZYsINCy0LjQu9GD0YfQsNGUINCy0LXRgNGF0L3RjiDQtNC40YDQtdC60YLQvtGA0ZbRjiDRgdGC0LXQutGDINC5INC30LzRltC90Y7RlCDQv9C+0YLQvtGH0L3RgyDQtNC40YDQtdC60YLQvtGA0ZbRjlxuIgorIiAgICDQstGW0LTQv9C+0LLRltC00L3QviDQtNC+INC90L7QstC+0Zcg0LLQtdGA0YjQuNC90Lgg0YHRgtC10LrRgy5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtblx00J3QtSDRgNC+0LHQuNGC0Lgg0LfQstC40YfQsNC50L3QvtCz0L4g0L/QtdGA0LXRhdC+0LTRgyDQtNC+INC90L7QstC+0Zcg0LTQuNGA0LXQutGC0L7RgNGW0Zcg0L/RgNC4INCy0LjQu9GD0YfQtdC90L3RllxuIgorIiAgICBcdFx00LTQuNGA0LXQutGC0L7RgNGW0Lkg0LfRliDRgdGC0LXQutGDLCDQv9GA0L7QstC+0LTQuNGC0Lgg0L7Qv9C10YDQsNGG0ZbRlyDQu9C40YjQtSDQvdCw0LQg0YHRgtC10LrQvtC8LlxuIgorIiAgICBcbiIKKyIgICAg0JDRgNCz0YPQvNC10L3RgtC4OlxuIgorIiAgICAgICtOXHTQktC40LvRg9GH0LDRlCBOLdC90YMg0LfQu9GW0LLQsCDQtNC40YDQtdC60YLQvtGA0ZbRjiDRgyDRgdC/0LjRgdC60YMsINGJ0L4g0L/QvtC60LDQt9GD0ZTRgtGM0YHRjyDQutC+0LzQsNC90LTQvtGOXG4iCisiICAgIFx0XHRgZGlycycgKNGA0LDRhdGD0L3QvtC6INC/0L7Rh9C40L3QsNGU0YLRjNGB0Y8g0Lcg0L3Rg9C70Y8pLiDQndCw0L/RgNC40LrQu9Cw0LQ6IGBwb3BkICswJyDQstC40LvRg9GH0LDRlFxuIgorIiAgICBcdFx00L/QtdGA0YjRgyDQtNC40YDQtdC60YLQvtGA0ZbRjiwgYHBvcGQgKzEnINC00YDRg9Cz0YMuXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHTQktC40LvRg9GH0LDRlCBOLdC90YMg0Lcg0LrRltC90YbRjyDQtNC40YDQtdC60YLQvtGA0ZbRjiDRgyDRgdC/0LjRgdC60YMsINGJ0L4g0L/QvtC60LDQt9GD0ZTRgtGM0YHRj1xuIgorIiAgICBcdFx00LrQvtC80LDQvdC00L7RjiBgZGlycycgKNGA0LDRhdGD0L3QvtC6INC/0L7Rh9C40L3QsNGU0YLRjNGB0Y8g0Lcg0L3Rg9C70Y8pLiDQndCw0L/RgNC40LrQu9Cw0LQ6IGBwb3BkIC0wJ1xuIgorIiAgICBcdFx00LLQuNC70YPRh9Cw0ZQg0L7RgdGC0LDQvdC90Y4g0LTQuNGA0LXQutGC0L7RgNGW0Y4sIGBwb3BkIC0xJyDQv9C10YDQtdC00L7RgdGC0LDQvdC90Y4uXG4iCisiICAgIFxuIgorIiAgICDQktCx0YPQtNC+0LLQsNC90LAg0LrQvtC80LDQvdC00LAgYGRpcnMnINC/0L7QutCw0LfRg9GUINGB0L/QuNGB0L7QuiDQt9Cx0LXRgNC10LbQtdC90LjRhSDQtNC40YDQtdC60YLQvtGA0ZbQuS5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC90LXQstC00LDQu9C+LCDRj9C60YnQviDQstC60LDQt9Cw0L3QviDQvdC10LLRltGA0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0YfQuCDRj9C60YnQvlxuIgorIiAgICDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LfQvNGW0L3QuNGC0Lgg0L/QvtGC0L7Rh9C90YMg0LTQuNGA0LXQutGC0L7RgNGW0Y4uIgorCisjOiBidWlsdGlucy5jOjE4MzQKK21zZ2lkICIiCisiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCisiICAgIFxuIgorIiAgICBEaXNwbGF5IHRoZSBsaXN0IG9mIGN1cnJlbnRseSByZW1lbWJlcmVkIGRpcmVjdG9yaWVzLiAgRGlyZWN0b3JpZXNcbiIKKyIgICAgZmluZCB0aGVpciB3YXkgb250byB0aGUgbGlzdCB3aXRoIHRoZSBgcHVzaGQnIGNvbW1hbmQ7IHlvdSBjYW4gZ2V0XG4iCisiICAgIGJhY2sgdXAgdGhyb3VnaCB0aGUgbGlzdCB3aXRoIHRoZSBgcG9wZCcgY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWNcdGNsZWFyIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbGVtZW50c1xuIgorIiAgICAgIC1sXHRkbyBub3QgcHJpbnQgdGlsZGUtcHJlZml4ZWQgdmVyc2lvbnMgb2YgZGlyZWN0b3JpZXMgcmVsYXRpdmVcbiIKKyIgICAgXHR0byB5b3VyIGhvbWUgZGlyZWN0b3J5XG4iCisiICAgICAgLXBcdHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmVcbiIKKyIgICAgICAtdlx0cHJpbnQgdGhlIGRpcmVjdG9yeSBzdGFjayB3aXRoIG9uZSBlbnRyeSBwZXIgbGluZSBwcmVmaXhlZFxuIgorIiAgICBcdHdpdGggaXRzIHBvc2l0aW9uIGluIHRoZSBzdGFja1xuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgICtOXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3Qgc2hvd24gIgorImJ5XG4iCisiICAgIFx0ZGlycyB3aGVuIGludm9rZWQgd2l0aG91dCBvcHRpb25zLCBzdGFydGluZyB3aXRoIHplcm8uXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHREaXNwbGF5cyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duICIKKyJieVxuIgorIiAgICBcdGRpcnMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorItCf0L7QutCw0LfRg9GUINGB0L/QuNGB0L7QuiDQt9Cx0LXRgNC10LbQtdC90LjRhSDQtNC40YDQtdC60YLQvtGA0ZbQuS5cbiIKKyIgICAgXG4iCisiICAgINCf0L7QutCw0LfRg9GUINGB0L/QuNGB0L7QuiDQt9Cx0LXRgNC10LbQtdC90LjRhSDQtNC40YDQtdC60YLQvtGA0ZbQuS4g0JTQuNGA0LXQutGC0L7RgNGW0Zcg0LTQvtC00LDRjtGC0YzRgdGPINC00L4g0YbRjNC+0LPQviAiCisi0YHQv9C40YHQutGDXG4iCisiICAgINC60L7QvNCw0L3QtNC+0Y4gYHB1c2hkJzsg0LLQuCDQvNC+0LbQtdGC0LUg0L/QvtCy0LXRgNC90YPRgtC40YHRjyDQvdCw0LfQsNC0INC/0L4g0YbRjNC+0LzRgyDRgdC/0LjRgdC60YMg0LfQsCAiCisi0LTQvtC/0L7QvNC+0LPQvtGOXG4iCisiICAgINC60L7QvNCw0L3QtNC4IGBwb3BkJy5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtY1x00J7Rh9C40YHRgtC40YLQuCDRgdC/0LjRgdC+0Log0LTQuNGA0LXQutGC0L7RgNGW0LksINCy0LjQu9GD0YfQuNCy0YjQuCDRg9GB0ZYg0LnQvtCz0L4g0LXQu9C10LzQtdC90YLQuC5cbiIKKyIgICAgICAtbFx00J3QtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0LggfiDQv9GA0Lgg0LLQuNCy0L7QtNGWINC00LjRgNC10LrRgtC+0YDRltC5LCDRidC+INC30L3QsNGF0L7QtNGP0YLRjNGB0Y9cbiIKKyIgICAgXHRcdNGD0YHQtdGA0LXQtNC40L3RliDQstCw0YjQvtGXINC00L7QvNGW0LLQutC4LlxuIgorIiAgICAgIC1wXHTQktC40LLQvtC00LjRgtC4INC00LjRgNC10LrRgtC+0YDRltGXINC/0L4g0L7QtNC90ZbQuSDQvdCwINGA0Y/QtNC+0LouXG4iCisiICAgICAgLXZcdNCS0LjQstC+0LTQuNGC0Lgg0LTQuNGA0LXQutGC0L7RgNGW0Zcg0L/QviDQvtC00L3RltC5INC90LAg0YDRj9C00L7QuiDRltC3INCy0LrQsNC30LDQvdC90Y/QvCDQv9C+0LfQuNGG0ZbRlyDRg1xuIgorIiAgICBcdFx00YHQv9C40YHQutGDLlxuIgorIiAgICBcbiIKKyIgICAg0JDRgNCz0YPQvNC10L3RgtC4OlxuIgorIiAgICAgICtOXHTQn9C+0LrQsNC30YPRlCBOLdC90YMg0LfQu9GW0LLQsCDQtNC40YDQtdC60YLQvtGA0ZbRjiDRgyDRgdC/0LjRgdC60YMsINGJ0L4g0LLQuNCy0L7QtNC40YLRjNGB0Y8g0LrQvtC80LDQvdC00L7RjlxuIgorIiAgICBcdFx0ZGlycyDQsdC10Lcg0LDRgNCz0YPQvNC10L3RgtGW0LIsINGA0LDRhdGD0L3QvtC6INC/0L7Rh9C40L3QsNGU0YLRjNGB0Y8g0Lcg0L3Rg9C70Y8uXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHTQn9C+0LrQsNC30YPRlCBOLdC90YMg0Lcg0LrRltC90YbRjyDQtNC40YDQtdC60YLQvtGA0ZbRjiDRgyDRgdC/0LjRgdC60YMsINGJ0L4g0LLQuNCy0L7QtNC40YLRjNGB0Y9cbiIKKyIgICAgXHRcdNC60L7QvNCw0L3QtNC+0Y4gZGlycyDQsdC10Lcg0LDRgNCz0YPQvNC10L3RgtGW0LIsINGA0LDRhdGD0L3QvtC6INC/0L7Rh9C40L3QsNGU0YLRjNGB0Y8g0Lcg0L3Rg9C70Y8uICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDQvdC10LLQtNCw0LvQviwg0Y/QutGJ0L4g0LLQutCw0LfQsNC90L4g0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INC/0LDRgNCw0LzQtdGC0YAg0YfQuCAiCisi0Y/QutGJ0L5cbiIKKyIgICAg0YLRgNCw0L/QuNGC0YzRgdGPINC/0L7QvNC40LvQutCwLiIKKworIzogYnVpbHRpbnMuYzoxODYzCittc2dpZCAiIgorIlNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucy5cbiIKKyIgICAgXG4iCisiICAgIENoYW5nZSB0aGUgc2V0dGluZyBvZiBlYWNoIHNoZWxsIG9wdGlvbiBPUFROQU1FLiAgV2l0aG91dCBhbnkgb3B0aW9uXG4iCisiICAgIGFyZ3VtZW50cywgbGlzdCBhbGwgc2hlbGwgb3B0aW9ucyB3aXRoIGFuIGluZGljYXRpb24gb2Ygd2hldGhlciBvciBub3QgIgorImVhY2hcbiIKKyIgICAgaXMgc2V0LlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtb1x0cmVzdHJpY3QgT1BUTkFNRXMgdG8gdGhvc2UgZGVmaW5lZCBmb3IgdXNlIHdpdGggYHNldCAtbydcbiIKKyIgICAgICAtcFx0cHJpbnQgZWFjaCBzaGVsbCBvcHRpb24gd2l0aCBhbiBpbmRpY2F0aW9uIG9mIGl0cyBzdGF0dXNcbiIKKyIgICAgICAtcVx0c3VwcHJlc3Mgb3V0cHV0XG4iCisiICAgICAgLXNcdGVuYWJsZSAoc2V0KSBlYWNoIE9QVE5BTUVcbiIKKyIgICAgICAtdVx0ZGlzYWJsZSAodW5zZXQpIGVhY2ggT1BUTkFNRVxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyBpZiBPUFROQU1FIGlzIGVuYWJsZWQ7IGZhaWxzIGlmIGFuIGludmFsaWQgb3B0aW9uIGlzXG4iCisiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgorbXNnc3RyICIiCisi0JLRgdGC0LDQvdC+0LLQu9GO0ZQg0YLQsCDRgdC60LjQtNCw0ZQg0L/QsNGA0LDQvNC10YLRgNC4INC+0LHQvtC70L7QvdC60LguXG4iCisiICAgIFxuIgorIiAgICDQl9C80ZbQvdGO0ZQg0LfQvdCw0YfQtdC90L3RjyDQn9CQ0KDQkNCc0JXQotCg0IbQki4g0K/QutGJ0L4g0J/QkNCg0JDQnNCV0KLQoNCYwqDQvdC1INCy0LrQsNC30LDQvdGWLCDQstC40LLQvtC00LjRgtGMINGB0L/QuNGB0L7QulxuIgorIiAgICDRg9GB0ZbRhSDQv9Cw0YDQsNC80LXRgtGA0ZbQsiDQvtCx0L7Qu9C+0L3QutC4LCDQstC60LDQt9GD0Y7Rh9C4LCDRh9C4INC/0LDRgNCw0LzQtdGC0YAg0LLQstGW0LzQutC90LXQvdC40LksINGH0Lgg0L3Rli5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgICAtb1x00J/RgNC40LnQvNCw0YLQuCDQu9C40YjQtSDQn9CQ0KDQkNCc0JXQotCg0JgsINC3INGP0LrQuNC80Lgg0L/RgNCw0YbRjtGUIGBzZXQgLW8nLlxuIgorIiAgICAgIC1wXHTQktC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0L/QsNGA0LDQvNC10YLRgNGW0LIg0L7QsdC+0LvQvtC90LrQuCDRgtCwINGX0YUg0L/QvtGC0L7Rh9C90LjQuSDRgdGC0LDQvS5cbiIKKyIgICAgICAtcVx00J3QtSDQstC40LLQvtC00LjRgtC4INC90ZbRh9C+0LPQvi5cbiIKKyIgICAgICAtc1x00JLQstGW0LzQutC90YPRgtC4ICjQstGB0YLQsNC90L7QstC40YLQuCkg0LrQvtC20LXQvSDQtyDQn9CQ0KDQkNCc0JXQotCg0IbQki5cbiIKKyIgICAgICAtdVx00JLQuNC80LrQvdGD0YLQuCAo0YHQutC40L3Rg9GC0LgpINC60L7QttC10L0g0Lcg0J/QkNCg0JDQnNCV0KLQoNCG0JIuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDRg9GB0L/RltGI0L3Qviwg0Y/QutGJ0L4g0J/QkNCg0JDQnNCV0KLQoCDQstCy0ZbQvNC60L3QtdC90L47INC90LXQstC00LDQu9C+LCDRj9C60YnQvlxuIgorIiAgICDQstC60LDQt9Cw0L3QviDQvdC10L/RgNCw0LLQuNC70YzQvdGWINC/0LDRgNCw0LzQtdGC0YDQuCDRh9C4INCf0JDQoNCQ0JzQldCi0KAg0LLQuNC80LrQvdC10L3Qvi4iCisKKyM6IGJ1aWx0aW5zLmM6MTg4NAorIywgZnV6enkKK21zZ2lkICIiCisiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC12IHZhclx0YXNzaWduIHRoZSBvdXRwdXQgdG8gc2hlbGwgdmFyaWFibGUgVkFSIHJhdGhlciB0aGFuXG4iCisiICAgIFx0XHRkaXNwbGF5IGl0IG9uIHRoZSBzdGFuZGFyZCBvdXRwdXRcbiIKKyIgICAgXG4iCisiICAgIEZPUk1BVCBpcyBhIGNoYXJhY3RlciBzdHJpbmcgd2hpY2ggY29udGFpbnMgdGhyZWUgdHlwZXMgb2Ygb2JqZWN0czogIgorInBsYWluXG4iCisiICAgIGNoYXJhY3RlcnMsIHdoaWNoIGFyZSBzaW1wbHkgY29waWVkIHRvIHN0YW5kYXJkIG91dHB1dDsgY2hhcmFjdGVyICIKKyJlc2NhcGVcbiIKKyIgICAgc2VxdWVuY2VzLCB3aGljaCBhcmUgY29udmVydGVkIGFuZCBjb3BpZWQgdG8gdGhlIHN0YW5kYXJkIG91dHB1dDsgYW5kXG4iCisiICAgIGZvcm1hdCBzcGVjaWZpY2F0aW9ucywgZWFjaCBvZiB3aGljaCBjYXVzZXMgcHJpbnRpbmcgb2YgdGhlIG5leHQgIgorInN1Y2Nlc3NpdmVcbiIKKyIgICAgYXJndW1lbnQuXG4iCisiICAgIFxuIgorIiAgICBJbiBhZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQgZm9ybWF0IHNwZWNpZmljYXRpb25zIGRlc2NyaWJlZCBpbiBwcmludGYiCisiKDEpXG4iCisiICAgIGFuZCBwcmludGYoMyksIHByaW50ZiBpbnRlcnByZXRzOlxuIgorIiAgICBcbiIKKyIgICAgICAlYlx0ZXhwYW5kIGJhY2tzbGFzaCBlc2NhcGUgc2VxdWVuY2VzIGluIHRoZSBjb3JyZXNwb25kaW5nIGFyZ3VtZW50XG4iCisiICAgICAgJXFcdHF1b3RlIHRoZSBhcmd1bWVudCBpbiBhIHdheSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgc2hlbGwgaW5wdXRcbiIKKyIgICAgICAlKGZtdClUIG91dHB1dCB0aGUgZGF0ZS10aW1lIHN0cmluZyByZXN1bHRpbmcgZnJvbSB1c2luZyBGTVQgYXMgYSAiCisiZm9ybWF0XG4iCisiICAgICAgICAgICAgc3RyaW5nIGZvciBzdHJmdGltZSgzKVxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSB3cml0ZSBvciAiCisiYXNzaWdubWVudFxuIgorIiAgICBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisi0KTQvtGA0LzQsNGC0YPRlCDRgtCwINCy0LjQstC+0LTQuNGC0Ywg0LDRgNCz0YPQvNC10L3RgtC4INCy0ZbQtNC/0L7QstGW0LTQvdC+INC00L4g0YjQsNCx0LvQvtC90YMuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLXYg0LfQvNGW0L3QvdCwXHTQn9GA0LjQt9C90LDRh9C40YLQuCDRgNC10LfRg9C70YzRgtCw0YIg0LfQvNGW0L3QvdGW0Lkg0L7QsdC+0LvQvtC90LrQuCwg0LfQsNC80ZbRgdGC0Ywg0YLQvtCz0L4sINGJ0L7QsVxuIgorIiAgICBcdFx00LLQuNCy0LXRgdGC0Lgg0LnQvtCz0L4g0YMg0YHRgtCw0L3QtNCw0YDRgtC90LjQuSDQstC40LLRltC0LlxuIgorIiAgICBcbiIKKyIgICAg0KjQkNCR0JvQntCdINGB0LrQu9Cw0LTQsNGU0YLRjNGB0Y8g0Lcg0YHQuNC80LLQvtC70ZbQsiwg0Y/QutGWINC80L7QttGD0YLRjCDQsdGD0YLQuCDRgtGA0YzQvtGFINGC0LjQv9GW0LI6XG4iCisiICAgINC30LLQuNGH0LDQudC90ZYg0YHQuNC80LLQvtC70LgsINGP0LrRliDQv9GA0L7RgdGC0L4g0LrQvtC/0ZbRjtGO0YLRjNGB0Y8g0YMg0LLQuNCy0ZbQtDsg0YHQv9C10YbRltCw0LvRjNC90ZZcbiIKKyIgICAg0L/QvtGB0LvRltC00L7QstC90L7RgdGC0ZYsINGP0LrRliDRltC90YLQtdGA0L/RgNC10YLRg9GO0YLRjNGB0Y8g0YLQsCDRgtC+0LTRliDQutC+0L/RltGO0Y7RgtGM0YHRjyDRgyDQstC40LLRltC0OyDRgtCwXG4iCisiICAgINCy0LrQsNC30ZbQstC60Lgg0YTQvtGA0LzQsNGC0YPQstCw0L3QvdGPINC30LDQvNGW0YHRgtGMINC60L7QttC90L7RlyDQtyDRj9C60LjRhSDQv9GW0LTRgdGC0LDQstC70Y/RlNGC0YzRgdGPINCy0ZbQtNC/0L7QstGW0LTQvdC40LlcbiIKKyIgICAg0LDRgNCz0YPQvNC10L3Rgi5cbiIKKyIgICAgXG4iCisiICAgINCe0LrRgNGW0Lwg0YHRgtCw0L3QtNCw0YDRgtC90LjRhSDQstC60LDQt9GW0LLQvtC6INGE0L7RgNC80LDRgtGD0LLQsNC90L3Rjywg0L7Qv9C40YHQsNC90LjRhSDRgyBwcmludGYoMSkg0YLQsFxuIgorIiAgICBwcmludGYoMyksIHByaW50ZiDRgtCw0LrQvtC2INGA0L7Qt9GD0LzRltGUOlxuIgorIiAgICBcbiIKKyIgICAgICAlYlx00IbQvdGC0LXRgNC/0YDQtdGC0YPQstCw0YLQuCDRgdC/0LXRhtGW0LDQu9GM0L3RliDQv9C+0YHQu9GW0LTQvtCy0L3QvtGB0YLRliAo0YnQviDQv9C+0YfQuNC90LDRjtGC0YzRgdGPINC30ZZcbiIKKyIgICAgXHRcdNC30LLQvtGA0L7RgtC90YzQvtGXINC/0L7RhdC40LvQvtGXINGA0LjRgdC60LgpINGDINCy0ZbQtNC/0L7QstGW0LTQvdC+0LzRgyDQsNGA0LPRg9C80LXQvdGC0ZYuXG4iCisiICAgICAgJXFcdNCS0LfRj9GC0Lgg0LDRgNCz0YPQvNC10L3RgiDQsiDQu9Cw0L/QutC4INGC0LDQuiwg0YnQvtCxINC50L7Qs9C+INC80L7QttC90LAg0LHRg9C70L4g0LLQuNC60L7RgNC40YHRgtCw0YLQuCDRj9C6XG4iCisiICAgIFx0XHTQstCy0ZbQtCDQvtCx0L7Qu9C+0L3QutC4XG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDQvdC10LLQtNCw0LvQviDQu9C40YjQtSDRj9C60YnQviDQstC60LDQt9Cw0L3QviDQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0L/QsNGA0LDQvNC10YLRgCAiCisi0LDQsdC+XG4iCisiICAgINGP0LrRidC+INGC0YDQsNC/0LjRgtGM0YHRjyDQv9C+0LzQuNC70LrQsCDQt9Cw0L/QuNGB0YMg0YfQuCDQv9GA0LjRgdCy0L7RlNC90L3Rjy4iCisKKyM6IGJ1aWx0aW5zLmM6MTkxMworIywgZnV6enkKK21zZ2lkICIiCisiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCisiICAgIFxuIgorIiAgICBGb3IgZWFjaCBOQU1FLCBzcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZC4gIElmIG5vICIKKyJvcHRpb25zXG4iCisiICAgIGFyZSBzdXBwbGllZCwgZXhpc3RpbmcgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBhcmUgcHJpbnRlZCBpbiBhIHdheSAiCisidGhhdFxuIgorIiAgICBhbGxvd3MgdGhlbSB0byBiZSByZXVzZWQgYXMgaW5wdXQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCisiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKKyIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgorIiAgICBcbiIKKyIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgorIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS4gIFRoZSAtRCBvcHRpb24gdGFrZXNcbiIKKyIgICAgcHJlY2VkZW5jZSBvdmVyIC1FLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorItCS0LrQsNC30YPRlCwg0Y/QuiDQsdGD0LTQtSDQt9Cw0LLQtdGA0YjRg9Cy0LDRgtC4INCw0YDQs9GD0LzQtdC90YLQuCByZWFkbGluZS5cbiIKKyIgICAgXG4iCisiICAgINCS0LjQt9C90LDRh9Cw0ZQg0Y/QuiDQt9Cw0LLQtdGA0YjRg9Cy0LDRgtC4INCw0YDQs9GD0LzQtdC90YLQuCDQtNC70Y8g0IbQnNCV0J0uINCv0LrRidC+INC/0LDRgNCw0LzQtdGC0YDQuCDQvdC1INCy0LrQsNC30LDQvdGWLFxuIgorIiAgICDQsdGD0LTRg9GC0Ywg0LLQuNCy0LXQtNC10L3RliDRltGB0L3Rg9GO0YfRliDQstC60LDQt9GW0LLQutC4INC30LDQstC10YDRiNC10L3QvdGPINCw0YDQs9GD0LzQtdC90YLRltCyINGDINGE0L7RgNC80ZYsXG4iCisiICAgINC/0YDQuNC00LDRgtC90ZbQuSDQtNC70Y8g0L/QvtC00LDQu9GM0YjQvtCz0L4g0LLQuNC60L7QvdCw0L3QvdGPLlxuIgorIiAgICBcbiIKKyIgICAg0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAgICAgIC1wXHTQktC40LLQtdGB0YLQuCDQstC60LDQt9GW0LLQutC4INC30LDQstC10YDRiNC10L3QvdGPINGDINGE0L7RgNC80ZYsINC/0YDQuNC00LDRgtC90ZbQuSDQtNC+INCy0LjQutC+0L3QsNC90L3Rjy5cbiIKKyIgICAgICAtclx00JLQuNC70YPRh9C40YLQuCDQstC60LDQt9GW0LLQutC4INC30LDQstC10YDRiNC10L3QvdGPINCw0YDQs9GD0LzQtdC90YLRltCyINC00LvRjyDQhtCc0JXQnSAo0LDQsdC+LCDRj9C60YnQvlxuIgorIiAgICBcdFx00IbQnNCV0J3QkCDQvdC1INCy0LrQsNC30LDQvdGWLCDRg9GB0ZYg0LLQutCw0LfRltCy0LrQuCDQt9Cw0LLQtdGA0YjQtdC90L3RjykuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LvQuCDRgNC+0LHQuNGC0YzRgdGPINGB0L/RgNC+0LHQsCDQt9Cw0LLQtdGA0YjQtdC90L3Rjywg0LTRltGXINCy0LjQutC+0L3Rg9GO0YLRjNGB0Y8g0YMg0L/QvtGA0Y/QtNC60YMsINCyINGP0LrQvtC80YNcbiIKKyIgICAg0LLQutCw0LfQsNC90ZYg0L3QsNCy0LXQtNC10L3RliDQstC40YnQtSDQv9Cw0YDQsNC80LXRgtGA0Lgg0YMg0LLQtdGA0YXQvdGM0L7QvNGDINGA0LXQs9GW0YHRgtGA0ZYuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDRg9GB0L/RltGI0L3Qviwg0Y/QutGJ0L4g0LLQutCw0LfQsNC90L4g0L/RgNCw0LLQuNC70YzQvdGWINC/0LDRgNCw0LzQtdGC0YDQuCDRgtCwINC90LVcbiIKKyIgICAg0YLRgNCw0L/QuNGC0YzRgdGPINC/0L7QvNC40LvQutC4INC/0ZbQtCDRh9Cw0YEg0LLQuNC60L7QvdCw0L3QvdGPLiIKKworIzogYnVpbHRpbnMuYzoxOTQxCisjLCBmdXp6eQorbXNnaWQgIiIKKyJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKKyIgICAgXG4iCisiICAgIEludGVuZGVkIHRvIGJlIHVzZWQgZnJvbSB3aXRoaW4gYSBzaGVsbCBmdW5jdGlvbiBnZW5lcmF0aW5nIHBvc3NpYmxlXG4iCisiICAgIGNvbXBsZXRpb25zLiAgSWYgdGhlIG9wdGlvbmFsIFdPUkQgYXJndW1lbnQgaXMgc3VwcGxpZWQsIG1hdGNoZXMgIgorImFnYWluc3RcbiIKKyIgICAgV09SRCBhcmUgZ2VuZXJhdGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorItCS0LjQstC+0LTQuNGC0Ywg0LzQvtC20LvQuNCy0ZYg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YMg0LfQsNC70LXQttC90L7RgdGC0ZYg0LLRltC0INC/0LDRgNCw0LzQtdGC0YDRltCyLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0L/RgNC40LfQvdCw0YfQtdC90LAg0LTQu9GPINCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQt9GB0LXRgNC10LTQuNC90Lgg0YTRg9C90LrRhtGW0Zcg0LTQu9GPINCz0LXQvdC10YDQsNGG0ZbRl1xuIgorIiAgICDQvNC+0LbQu9C40LLQuNGFINC30LDQstC10YDRiNC10L3RjC4g0K/QutGJ0L4g0LLQutCw0LfQsNC90L4g0L3QtdC+0LHQvtCy4oCZ0Y/Qt9C60L7QstC40Lkg0LDRgNCz0YPQvNC10L3RgiDQodCb0J7QktCeLFxuIgorIiAgICDQs9C10L3QtdGA0YPRjtGC0YzRgdGPINC30LDQstC10YDRiNC10L3QvdGPLCDRidC+INCy0ZbQtNC/0L7QstGW0LTQsNGO0YLRjCDRhtGM0L7QvNGDINGB0LvQvtCy0YMuXG4iCisiICAgIFxuIgorIiAgICDQmtC+0LQg0LfQsNCy0LXRgNGI0LXQvdC90Y86XG4iCisiICAgINCa0L7QvNCw0L3QtNCwINC30LDQstC10YDRiNGD0ZTRgtGM0YHRjyDRg9GB0L/RltGI0L3Qviwg0Y/QutGJ0L4g0LLQutCw0LfQsNC90L4g0L/RgNCw0LLQuNC70YzQvdGWINC/0LDRgNCw0LzQtdGC0YDQuCDRliDQvdC1XG4iCisiICAgINGC0YDQsNC/0LjRgtGM0YHRjyDQv9C+0LzQuNC70LrQuCDQv9GW0LQg0YfQsNGBINCy0LjQutC+0L3QsNC90L3Rjy4iCisKKyM6IGJ1aWx0aW5zLmM6MTk1NgorIywgZnV6enkKK21zZ2lkICIiCisiTW9kaWZ5IG9yIGRpc3BsYXkgY29tcGxldGlvbiBvcHRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgTW9kaWZ5IHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSwgb3IsIGlmIG5vIE5BTUVzIGFyZSAiCisic3VwcGxpZWQsXG4iCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCisicHJpbnRcbiIKKyIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgorInNwZWNpZmljYXRpb24uXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICBcdC1vIG9wdGlvblx0U2V0IGNvbXBsZXRpb24gb3B0aW9uIE9QVElPTiBmb3IgZWFjaCBOQU1FXG4iCisiICAgIFx0LURcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImRlZmF1bHRcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKKyIgICAgXHQtRVx0XHRDaGFuZ2Ugb3B0aW9ucyBmb3IgdGhlIFwiZW1wdHlcIiBjb21tYW5kIGNvbXBsZXRpb25cbiIKKyIgICAgXG4iCisiICAgIFVzaW5nIGArbycgaW5zdGVhZCBvZiBgLW8nIHR1cm5zIG9mZiB0aGUgc3BlY2lmaWVkIG9wdGlvbi5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgXG4iCisiICAgIEVhY2ggTkFNRSByZWZlcnMgdG8gYSBjb21tYW5kIGZvciB3aGljaCBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBtdXN0XG4iCisiICAgIGhhdmUgcHJldmlvdXNseSBiZWVuIGRlZmluZWQgdXNpbmcgdGhlIGBjb21wbGV0ZScgYnVpbHRpbi4gIElmIG5vIE5BTUVzXG4iCisiICAgIGFyZSBzdXBwbGllZCwgY29tcG9wdCBtdXN0IGJlIGNhbGxlZCBieSBhIGZ1bmN0aW9uIGN1cnJlbnRseSBnZW5lcmF0aW5nXG4iCisiICAgIGNvbXBsZXRpb25zLCBhbmQgdGhlIG9wdGlvbnMgZm9yIHRoYXQgY3VycmVudGx5LWV4ZWN1dGluZyBjb21wbGV0aW9uXG4iCisiICAgIGdlbmVyYXRvciBhcmUgbW9kaWZpZWQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBOQU1FIGRvZXMgbm90XG4iCisiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCittc2dzdHIgIiIKKyLQl9C80ZbQvdGO0ZQg0YfQuCDQv9C+0LrQsNC30YPRlCDQv9Cw0YDQsNC80LXRgtGA0Lgg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0LDRgNCz0YPQvNC10L3RgtGW0LIuXG4iCisiICAgIFxuIgorIiAgICDQl9C80ZbQvdGO0ZQg0L/QsNGA0LDQvNC10YLRgNC4INC30LDQstC10YDRiNC10L3QvdGPINCw0YDQs9GD0LzQtdC90YLRltCyINC00LvRjyDQhtCc0JXQnSAo0Y/QutGJ0L4g0IbQnNCV0J3QkCDQvdC1INCy0LrQsNC30LDQvdGWLFxuIgorIiAgICDQtNC70Y8g0LfQsNCy0LXRgNGI0LXQvdC90Y8sINGJ0L4g0L3QsNGA0LDQt9GWINC/0YDQvtCy0L7QtNC40YLRjNGB0Y8pLiDQr9C60YnQviDQn9CQ0KDQkNCc0JXQotCg0Jgg0L3QtSDQstC60LDQt9Cw0L3RlixcbiIKKyIgICAg0LLQuNCy0L7QtNC40YLRjCDQv9Cw0YDQsNC80LXRgtGA0Lgg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0LTQu9GPINC60L7QttC90L7Qs9C+INC3INCG0JzQldCdICjRh9C4INC30LDQstC10YDRiNC10L3QvdGPLCDRidC+XG4iCisiICAgINC90LDRgNCw0LfRliDQv9GA0L7QstC+0LTQuNGC0YzRgdGPKS5cbiIKKyIgICAgXG4iCisiICAgINCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgICAgXHQtbyDQv9Cw0YDQsNC80LXRgtGAXHTQo9Cy0ZbQvNC60L3Rg9GC0Lgg0L/QsNGA0LDQvNC10YLRgCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDQtNC70Y8g0LLRgdGW0YUg0IbQnNCV0J0uXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lgg0LzQvtC20L3QsCDQstC40LzQuNC60LDRgtC4LCDQstC40LrQvtGA0LjRgdGC0L7QstGD0Y7Rh9C4IGArbycg0LfQsNC80ZbRgdGC0YwgYC1vJy5cbiIKKyIgICAgXG4iCisiICAgINCQ0YDQs9GD0LzQtdC90YLQuDpcbiIKKyIgICAgXG4iCisiICAgINCa0L7QttC90LUg0Lcg0IbQnNCV0J0g0LLRltC00L/QvtCy0ZbQtNCw0ZQg0LrQvtC80LDQvdC00ZYsINC00LvRjyDRj9C60L7RlyDQv9C+0L/QtdGA0LXQtNC90YzQviDQvNCw0ZQg0LHRg9GC0Lgg0LLQutCw0LfQsNC90L4sXG4iCisiICAgINGP0Log0LfQsNCy0LXRgNGI0YPQstCw0YLQuCDRl9GXINCw0YDQs9GD0LzQtdC90YLQuCDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiDQstCx0YPQtNC+0LLQsNC90L7RlyDQutC+0LzQsNC90LTQuCBgY29tcGxldGUnLlxuIgorIiAgICDQr9C60YnQviDQhtCc0JXQndCQINC90LUg0LLQutCw0LfQsNC90ZYsIGNvbXBvcHQg0LzQsNGUINCy0LjQutC+0L3Rg9Cy0LDRgtC40YHRjyDRg9GB0LXRgNC10LTQuNC90ZYg0YTRg9C90LrRhtGW0ZcsINGJ0L5cbiIKKyIgICAg0LPQtdC90LXRgNGD0ZQg0YHQv9C40YHQvtC6INC30LDQstC10YDRiNC10L3RjCwg0YLQvtC00ZYg0LfQvNGW0L3RjtGO0YLRjNGB0Y8g0L/QsNGA0LDQvNC10YLRgNGWINCy0LrQsNC30ZbQstC60Lgg0LfQsNCy0LXRgNGI0LXQvdGMLFxuIgorIiAgICDRidC+INCy0ZbQtNC/0L7QstGW0LTQsNGUINGG0ZbQuSDRhNGD0L3QutGG0ZbRly5cbiIKKyIgICAgXG4iCisiICAgINCa0L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjzpcbiIKKyIgICAg0JrQvtC80LDQvdC00LAg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINGD0YHQv9GW0YjQvdC+LCDRj9C60YnQviDQstC60LDQt9Cw0L3QviDQv9GA0LDQstC40LvRjNC90ZYg0L/QsNGA0LDQvNC10YLRgNC4INGC0LBcbiIKKyIgICAg0LLQutCw0LfRltCy0LrQuCDQt9Cw0LLQtdGA0YjQtdC90Ywg0LTQu9GPINCG0JzQldCdINGW0YHQvdGD0Y7RgtGMLiIKKworIzogYnVpbHRpbnMuYzoxOTg2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKKyIgICAgXG4iCisiICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSAiCisiQVJSQVksIG9yXG4iCisiICAgIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgIgorIk1BUEZJTEVcbiIKKyIgICAgaXMgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1uIGNvdW50XHRDb3B5IGF0IG1vc3QgQ09VTlQgbGluZXMuICBJZiBDT1VOVCBpcyAwLCBhbGwgbGluZXMgYXJlICIKKyJjb3BpZWQuXG4iCisiICAgICAgLU8gb3JpZ2luXHRCZWdpbiBhc3NpZ25pbmcgdG8gQVJSQVkgYXQgaW5kZXggT1JJR0lOLiAgVGhlIGRlZmF1bHQgIgorImluZGV4IGlzIDAuXG4iCisiICAgICAgLXMgY291bnQgXHREaXNjYXJkIHRoZSBmaXJzdCBDT1VOVCBsaW5lcyByZWFkLlxuIgorIiAgICAgIC10XHRcdFJlbW92ZSBhIHRyYWlsaW5nIG5ld2xpbmUgZnJvbSBlYWNoIGxpbmUgcmVhZC5cbiIKKyIgICAgICAtdSBmZFx0XHRSZWFkIGxpbmVzIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGluc3RlYWQgb2YgdGhlIHN0YW5kYXJkICIKKyJpbnB1dC5cbiIKKyIgICAgICAtQyBjYWxsYmFja1x0RXZhbHVhdGUgQ0FMTEJBQ0sgZWFjaCB0aW1lIFFVQU5UVU0gbGluZXMgYXJlIHJlYWQuXG4iCisiICAgICAgLWMgcXVhbnR1bVx0U3BlY2lmeSB0aGUgbnVtYmVyIG9mIGxpbmVzIHJlYWQgYmV0d2VlbiBlYWNoIGNhbGwgdG8gIgorIkNBTExCQUNLLlxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgIEFSUkFZXHRcdEFycmF5IHZhcmlhYmxlIG5hbWUgdG8gdXNlIGZvciBmaWxlIGRhdGEuXG4iCisiICAgIFxuIgorIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCisiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCisiICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudFxuIgorIiAgICBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiIKKyIgICAgXG4iCisiICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZICIKKyJiZWZvcmVcbiIKKyIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKK21zZ3N0ciAiIgorItCn0LjRgtCw0ZQg0YDRj9C00LrQuCDQt9GWINGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNGDINC5INC30LDQvdC+0YHQuNGC0Ywg0ZfRhSDQtNC+INC80LDRgdC40LLRgy5cbiIKKyIgICAgXG4iCisiICAgINCn0LjRgtCw0ZQg0YDRj9C00LrQuCDQt9GWINGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstCy0L7QtNGDINGH0Lgg0Lcg0KTQkNCZ0JvQntCS0J7Qk9CeLdCU0JXQodCa0KDQmNCf0KLQntCg0KMsINGP0LrRidC+ICIKKyLQstC60LDQt9Cw0L3QvlxuIgorIiAgICDQv9Cw0YDQsNC80LXRgtGAIC11LCDQuSDQstGB0YLQsNCy0LvRj9GUINGX0YUg0LTQviDQstC60LDQt9Cw0L3QvtGXINC30LzRltC90L3QvtGXLdC80LDRgdC40LLRgy4g0K/QutGJ0L4g0L3QsNC30LLRgyAiCisi0LfQvNGW0L3QvdC+0ZdcbiIKKyIgICAg0L3QtSDQstC60LDQt9Cw0L3Qviwg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8g0LfQvNGW0L3QvdCwIE1BUEZJTEUuXG4iCisiICAgIFxuIgorIiAgICDQn9Cw0YDQsNC80LXRgtGA0Lg6XG4iCisiICAgICAgLW4g0LrRltC70YzQutGW0YHRgtGMXHTQn9GA0L7Rh9C40YLQsNGC0Lgg0LLQutCw0LfQsNC90YMg0LrRltC70YzQutGW0YHRgtGMINGA0Y/QtNC60ZbQsi4g0J3Rg9C70Ywg0L7Qt9C90LDRh9Cw0ZRcbiIKKyIgICAgXHRcdFx00LLRltC00YHRg9GC0L3RltGB0YLRjCDQvtCx0LzQtdC20LXQvdC90Y8uXG4iCisiICAgICAgLU8g0L/QvtGH0LDRgtC+0LpcdNCf0L7Rh9Cw0YLQuCDQstGB0YLQsNCy0LvRj9GC0Lgg0LTQviDQvNCw0YHQuNCy0YMsINC/0L7Rh9C40L3QsNGO0YfQuCDQtyDQstC60LDQt9Cw0L3QvtCz0L5cbiIKKyIgICAgXHRcdFx00LXQu9C10LzQtdC90YLRgyDQvNCw0YHQuNCy0YMuINCX0LDQt9Cy0LjRh9Cw0Lkg0LLRltC00LvRltC6INC/0L7Rh9C40L3QsNGU0YLRjNGB0Y8g0Lcg0L3Rg9C70Y8uXG4iCisiICAgICAgLXMg0LrRltC70YzQutGW0YHRgtGMXHTQn9GA0L7Qv9GD0YHRgtC40YLQuCDQstC60LDQt9Cw0L3RgyDQutGW0LvRjNC60ZbRgdGC0Ywg0YDRj9C00LrRltCyINC90LAg0L/QvtGH0LDRgtC60YNcbiIKKyIgICAgXHRcdFx00YTQsNC50LvRgy5cbiIKKyIgICAgICAtdFx0XHTQn9GA0LjQsdC40YDQsNGC0Lgg0YHQuNC80LLQvtC7INC/0LXRgNC10LLQvtC00YMg0YDRj9C00LrRgyDQsiDQutGW0L3RhtGWINC/0YDQvtGH0LjRgtCw0L3QuNGFXG4iCisiICAgIFx0XHRcdNC3INGE0LDQudC70YMg0YDRj9C00LrRltCyLlxuIgorIiAgICAgIC11INC00LXRgdC60YDQuNC/0YLQvtGAXHTQp9C40YLQsNGC0Lgg0YDRj9C00LrQuCDQtyDQstC60LDQt9Cw0L3QvtCz0L4g0LTQtdGB0LrRgNC40L/RgtC+0YDQsCDQt9Cw0LzRltGB0YLRjFxuIgorIiAgICBcdFx0XHTRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC+0LTRg1xuIgorIiAgICAgIC1DINC+0LHRgNC+0LHQvdC40LpcdNCS0LjQutC+0L3Rg9Cy0LDRgtC4INCy0LrQsNC30LDQvdC40Lkg0L7QsdGA0L7QsdC90LjQuiDQv9GW0YHQu9GPINC/0YDQvtGH0LjRgtCw0L3QvdGPINGA0Y/QtNC60YMuXG4iCisiICAgICAgLWMg0LrRgNC+0LpcdFx00JLQuNC60LvQuNC60LDRgtC4INC+0LHRgNC+0LHQvdC40Log0LvQuNGI0LUg0L/RltGB0LvRjyDRgtC+0LPQviwg0Y/QuiDQsdGD0LTQtSDQv9GA0L7Rh9C40YLQsNC90L5cbiIKKyIgICAgXHRcdFx00LLQutCw0LfQsNC90YMg0LrRltC70YzQutGW0YHRgtGMINGA0Y/QtNC60ZbQsi5cbiIKKyIgICAgXG4iCisiICAgINCQ0YDQs9GD0LzQtdC90YLQuDpcbiIKKyIgICAgICDQnNCQ0KHQmNCSXHRcdNCd0LDQt9Cy0LAg0LfQvNGW0L3QvdC+0Zct0LzQsNGB0LjQstGDINC00LvRjyDQt9Cx0LXRgNC10LbQtdC90L3RjyDQtNCw0L3QuNGFINC3INGE0LDQudC70YMuXG4iCisiICAgIFxuIgorIiAgICDQr9C60YnQviDQstC60LDQt9Cw0L3QviDQu9C40YjQtSAtQywg0LHQtdC3IC1jLCDQvtCx0YDQvtCx0L3QuNC6INCy0LjQutC70LjQutCw0YLQuNC80LXRgtGM0YHRjyDRltC3INC60YDQvtC60L7QvCA1MDAwLlxuIgorIiAgICDQntCx0YDQvtCx0L3QuNC6INCy0LjQutC70LjQutCw0ZTRgtGM0YHRjyDRltC3INC/0LDRgNCw0LzQtdGC0YDQvtC8LCDRidC+INCy0LrQsNC30YPRlCDQvdCw0YHRgtGD0L/QvdC40Lkg0LXQu9C10LzQtdC90YIgIgorItC80LDRgdC40LLRgyxcbiIKKyIgICAg0Y/QutC+0LzRgyDQsdGD0LTQtSDQv9GA0LjQt9C90LDRh9C10L3QviDQt9C90LDRh9C10L3QvdGPLlxuIgorIiAgICBcbiIKKyIgICAg0K/QutGJ0L4g0L/QvtGH0LDRgtC60L7QstC40Lkg0LXQu9C10LzQtdC90YIg0L3QtSDQstC60LDQt9Cw0L3QviwgbWFwZmlsZSDRgdC/0YPRgdGC0L7RiNC40YLRjCDQnNCQ0KHQmNCSINC/0LXRgNGIINC90ZbQtlxuIgorIiAgICDQv9C+0YfQuNC90LDRgtC4INC/0YDQuNGB0LLQvtGU0L3QvdGPLlxuIgorIiAgICBcbiIKKyIgICAg0JrQvtC0INC30LDQstC10YDRiNC10L3QvdGPOlxuIgorIiAgICDQmtC+0LzQsNC90LTQsCDQt9Cw0LLQtdGA0YjRg9GU0YLRjNGB0Y8g0L3QtdCy0LTQsNC70L4g0LvQuNGI0LUg0Y/QutGJ0L4g0LLQutCw0LfQsNC90L4g0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INC/0LDRgNCw0LzQtdGC0YAgIgorItCw0LHQvlxuIgorIiAgICDRj9C60YnQviDQnNCQ0KHQmNCSINGUINC90LXQt9C80ZbQvdC90LjQvC4iCisKKyM6IGJ1aWx0aW5zLmM6MjAyMAorbXNnaWQgIiIKKyJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiICAgIFxuIgorIiAgICBBIHN5bm9ueW0gZm9yIGBtYXBmaWxlJy4iCittc2dzdHIgIiIKKyLQp9C40YLQsNGUINGA0Y/QtNC60Lgg0Lcg0YTQsNC50LvRgyDQtNC+INC80LDRgdC40LLRgy5cbiIKKyIgICAgXG4iCisiICAgINCh0LjQvdC+0L3RltC8INC00L4gYG1hcGZpbGUnLiIKKworI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICIiCisjfiAieHJlYWxsb2M6INC90LUg0LLQtNCw0ZTRgtGM0YHRjyDQt9C80ZbQvdC40YLQuCDRgNC+0LfQvNGW0YAg0LLQuNC00ZbQu9C10L3QvtCz0L4g0LHQu9C+0LrRgyDQtNC+ICVsdSDQsdCw0LnRgtGW0LIgIgorI34gIijQstC40LTRltC70LXQvdC+ICVsdSDQsdCw0LnRgtGW0LIpIgorCisjfiBtc2dpZCAieHJlYWxsb2M6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCisjfiBtc2dzdHIgInhyZWFsbG9jOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LLQuNC00ZbQu9C40YLQuCAlbHUg0LHQsNC50YLRltCyIgorCisjfiBtc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnc3RyICIiCisjfiAieHJlYWxsb2M6ICVzOiVkOiDQvdC1INCy0LTQsNGU0YLRjNGB0Y8g0LfQvNGW0L3QuNGC0Lgg0YDQvtC30LzRltGAINCy0LjQtNGW0LvQtdC90L7Qs9C+INCx0LvQvtC60YMg0LTQviAlbHUgIgorI34gItCx0LDQudGC0ZbQsiAo0LLQuNC00ZbQu9C10L3QviAlbHUg0LHQsNC50YLRltCyKSIKZGlmZiAtLWdpdCBhL3BvL3ZpLmdtbyBiL3BvL3ZpLmdtbwppbmRleCBlYjAyZDAwLi4zMmI5ODkwIDEwMDY0NAotLS0gYS9wby92aS5nbW8KKysrIGIvcG8vdmkuZ21vCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3BvL3ZpLnBvIGIvcG8vdmkucG8KaW5kZXggYmViNTlkOC4uMmY0NDg0ZSAxMDA2NDQKLS0tIGEvcG8vdmkucG8KKysrIGIvcG8vdmkucG8KQEAgLTEsMTQgKzEsMTQgQEAKICMgVmlldG5hbWVzZSB0cmFuc2xhdGlvbiBmb3IgQkFTSCAoQm91cm5lIEFnYWluIFNIZWxsKS4KLSMgQ29weXJpZ2h0IMKpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCDCqSAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgotIyBDbHl0aWUgU2lkZGFsbCA8Y2x5dGllQHJpdmVybGFuZC5uZXQuYXU+LCAyMDA4LTIwMDkuCisjIENseXRpZSBTaWRkYWxsIDxjbHl0aWVAcml2ZXJsYW5kLm5ldC5hdT4sIDIwMDgsIDIwMDksIDIwMTAuCiAjCiBtc2dpZCAiIgogbXNnc3RyICIiCi0iUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoIDQuMFxuIgorIlByb2plY3QtSWQtVmVyc2lvbjogYmFzaCA0LjFcbiIKICJSZXBvcnQtTXNnaWQtQnVncy1UbzogXG4iCi0iUE9ULUNyZWF0aW9uLURhdGU6IDIwMDktMTItMzAgMDg6MjUtMDUwMFxuIgotIlBPLVJldmlzaW9uLURhdGU6IDIwMDktMDktMTkgMjE6MTcrMDkzMFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDExLTAxLTI4IDIyOjA5LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEwLTAyLTExIDE5OjQyKzA5MzBcbiIKICJMYXN0LVRyYW5zbGF0b3I6IENseXRpZSBTaWRkYWxsIDxjbHl0aWVAcml2ZXJsYW5kLm5ldC5hdT5cbiIKICJMYW5ndWFnZS1UZWFtOiBWaWV0bmFtZXNlIDx2aS1WTkBnb29nbGVncm91cHMuY29tPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC0yMSw3ICsyMSw3IEBACiBtc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKIG1zZ3N0ciAic2FpIG3huqNuZyBpbiB0aOG6pXAiCiAKLSM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyM6IGFycmF5ZnVuYy5jOjMxMyBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGluZGV4ZWQgdG8gYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgY2h1eeG7g24gxJHhu5VpIG3huqNuZyB0aGVvIHPhu5EgbcWpIHNhbmcgbeG6o25nIGvhur90IGjhu6NwIgpAQCAtNDEsMzUgKzQxLDM1IEBACiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiVzOiAlczogcGjhuqNpIHPhu60gZOG7pW5nIGNo4buvIHRo4bqlcCBraGkgZ8OhbiBt4bqjbmcga+G6v3QgaOG7o3AiCiAKLSM6IGJhc2hoaXN0LmM6MzgzCisjOiBiYXNoaGlzdC5jOjM4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNyZWF0ZTogJXMiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgdOG6oW8gJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzQ1NworIzogYmFzaGxpbmUuYzozNDk4CiBtc2dpZCAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDogY2Fubm90IGZpbmQga2V5bWFwIGZvciBjb21tYW5kIgogbXNnc3RyICJiYXNoX2V4ZWN1dGVfdW5peF9jb21tYW5kOiBraMO0bmcgdMOsbSB0aOG6pXkgc8ahIMSR4buTIHBow61tIGNobyBjw6J1IGzhu4duaCIKIAotIzogYmFzaGxpbmUuYzozNTQzCisjOiBiYXNobGluZS5jOjM1ODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKIG1zZ3N0ciAiIgogIiVzOiBrw70gdOG7sSBraMOhYyBraG/huqNuZyB0cuG6r25nIMSR4bqndSB0acOqbiBraMO0bmcgcGjhuqNpIGzDoCBk4bqldSBz4buVIGNow6lvIG5nxrDhu6NjIMKrIC8gwrsiCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAidGhp4bq/dSDCqyAlYyDCuyDEkcOzbmcgdHJvbmcgJXMiCiAKLSM6IGJhc2hsaW5lLmM6MzYwNgorIzogYmFzaGxpbmUuYzozNjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBtaXNzaW5nIGNvbG9uIHNlcGFyYXRvciIKIG1zZ3N0ciAiJXM6IHRoaeG6v3UgZOG6pXUgaGFpIGNo4bqlbSDEkeG7i25oIGdp4bubaSIKIAogIzogYnVpbHRpbnMvYWxpYXMuZGVmOjEzMgotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgImAlcyc6IGludmFsaWQgYWxpYXMgbmFtZSIKLW1zZ3N0ciAiwqsgJXMgwrs6IHTDqm4gc8ahIMSR4buTIHBow61tIGtow7RuZyBo4bujcCBs4buHIgorbXNnc3RyICLCqyAlcyDCuzogc2FpIMSR4bq3dCB0w6puIGLDrSBkYW5oIgogCiAjOiBidWlsdGlucy9iaW5kLmRlZjoxMjAgYnVpbHRpbnMvYmluZC5kZWY6MTIzCiBtc2dpZCAibGluZSBlZGl0aW5nIG5vdCBlbmFibGVkIgpAQCAtMTI3LDI2ICsxMjcsMTEgQEAKICJcbiIKICIgICAgS2jDtG5nIGPDsyBCVEjhu7BDIHRow6wgdHLDoCBs4bqhaSAiCiAKLSM6IGJ1aWx0aW5zL2NhbGxlci5kZWY6MTM1Ci1tc2dpZCAiIgotIi4gIFdpdGggRVhQUiwgcmV0dXJuc1xuIgotIiAgICAiCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzYKLW1zZ2lkICIiCi0iOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCi0iICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKLSIgICAgXG4iCi0iICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSB0aGVcbiIKLSIgICAgY3VycmVudCBvbmU7IHRoZSB0b3AgZnJhbWUgaXMgZnJhbWUgMC4iCi1tc2dzdHIgIiIKLQotIzogYnVpbHRpbnMvY2QuZGVmOjIxNQorIzogYnVpbHRpbnMvY2QuZGVmOjIzNQogbXNnaWQgIkhPTUUgbm90IHNldCIKIG1zZ3N0ciAiQ2jGsGEgxJHhurd0IGJp4bq/biBtw7RpIHRyxrDhu51uZyBIT01FIChuaMOgKSIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgogbXNnc3RyICJDaMawYSDEkeG6t3QgYmnhur9uIG3DtGkgdHLGsOG7nW5nIE9MRFBXRCAobeG6rXQga2jhuql1IGPFqSkiCiAKQEAgLTE2NSwxMSArMTUwLDExIEBACiBtc2dpZCAiJXM6IHVzYWdlOiAiCiBtc2dzdHIgIiVzOiBz4butIGThu6VuZzoiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODI3CisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgzMgogbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAicXXDoSBuaGnhu4F1IMSR4buRaSBz4buRIgogCi0jOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo0OTkgc2hlbGwuYzo3ODIKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjUwMCBzaGVsbC5jOjc4MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgogbXNnc3RyICIlczogdMO5eSBjaOG7jW4gY+G6p24gdGhp4bq/dCBt4buZdCDEkeG7kWkgc+G7kSIKQEAgLTIwNyw3ICsxOTIsNyBAQAogbXNnaWQgImludmFsaWQgaGV4IG51bWJlciIKIG1zZ3N0ciAic+G7kSB0aOG6rXAgbOG7pWMga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTI1NgorIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMzYyCiBtc2dpZCAiaW52YWxpZCBudW1iZXIiCiBtc2dzdHIgInPhu5Ega2jDtG5nIGjhu6NwIGzhu4ciCiAKQEAgLTMxNiwyNSArMzAxLDI1IEBACiBtc2dpZCAibm90IGN1cnJlbnRseSBleGVjdXRpbmcgY29tcGxldGlvbiBmdW5jdGlvbiIKIG1zZ3N0ciAiaGnhu4duIHRo4budaSBraMO0bmcgdGjhu7FjIHRoaSBjaOG7qWMgbsSDbmcgxJFp4buBbiBu4buRdCIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjQKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgImNo4buJIGPDsyB0aOG7gyDEkcaw4bujYyBkw7luZyB0cm9uZyBt4buZdCBow6BtIgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjAKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM2NgogbXNnaWQgImNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGTDuW5nIMKrIC1mIMK7IMSR4buDIHThuqFvIGjDoG0iCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3MiBleGVjdXRlX2NtZC5jOjQ5MzcKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjM3OCBleGVjdXRlX2NtZC5jOjUxMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlYWRvbmx5IGZ1bmN0aW9uIgogbXNnc3RyICIlczogaMOgbSBjaOG7iSDEkeG7jWMiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ2OAorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZGVzdHJveSBhcnJheSB2YXJpYWJsZXMgaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgcGjDoSBo4buneSBiaeG6v24gbeG6o25nIGLhurFuZyBjw6FjaCBuw6B5IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NzUKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgYXNzb2NpYXRpdmUgdG8gaW5kZXhlZCBhcnJheSIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBjaHV54buDbiDEkeG7lWkgbeG6o25nIGvhur90IGjhu6NwIHNhbmcgbeG6o25nIHRoZW8gc+G7kSBtxakiCkBAIC0zNjMsMjkgKzM0OCwyOSBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyB4b8OhOiAlcyIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzQgYnVpbHRpbnMvaGFzaC5kZWY6MTY5IGV4ZWN1dGVfY21kLmM6NDc5NAotIzogc2hlbGwuYzoxNDUyCisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNSBidWlsdGlucy9oYXNoLmRlZjoxNzEgZXhlY3V0ZV9jbWQuYzo0OTYxCisjOiBzaGVsbC5jOjE0NTcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICIlczogbMOgIHRoxrAgbeG7pWMiCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM5CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0MAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGEgcmVndWxhciBmaWxlIgogbXNnc3RyICIlczoga2jDtG5nIHBo4bqjaSBsw6AgdOG6rXAgdGluIGNodeG6qW4iCiAKLSM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ3CisjOiBidWlsdGlucy9ldmFsZmlsZS5jOjE0OAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlsZSBpcyB0b28gbGFyZ2UiCiBtc2dzdHIgIiVzOiB04bqtcCB0aW4gcXXDoSBs4bubbiIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODUgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDMgZXhlY3V0ZV9jbWQuYzo0ODY0Ci0jOiBzaGVsbC5jOjE0NjIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTgyIGJ1aWx0aW5zL2V2YWxmaWxlLmM6MjAwIGV4ZWN1dGVfY21kLmM6NTAzMgorIzogc2hlbGwuYzoxNDY3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZXhlY3V0ZSBiaW5hcnkgZmlsZSIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duIHThuq1wIHRpbiBuaOG7iyBwaMOibiIKIAotIzogYnVpbHRpbnMvZXhlYy5kZWY6MjEyCisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgogbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHRo4buxYyBoaeG7h246ICVzIgpAQCAtNDEzLDExICszOTgsMTEgQEAKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgbOG7h25oIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzQ5CisjOiBidWlsdGlucy9mYy5kZWY6MzEyIGJ1aWx0aW5zL2ZjLmRlZjozNTkKIG1zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIsSR4bq3YyB04bqjIGzhu4tjaCBz4butIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzcwCisjOiBidWlsdGlucy9mYy5kZWY6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIlczoga2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIHThuqFtIHRo4budaTogJXMiCkBAIC00NTAsNyArNDM1LDcgQEAKIG1zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgogbXNnc3RyICIlczogYuG6o25nIGvDvSBoaeG7h3UgbOG7mW4geOG7mW4gY8OybiBy4buXbmdcbiIKIAotIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ0CisjOiBidWlsdGlucy9oYXNoLmRlZjoyNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiaGl0c1x0Y29tbWFuZFxuIgogbXNnc3RyICJn4buNaSBuaOG7m1x0bOG7h25oXG4iCkBAIC01MTgsNzYgKzUwMyw4NiBAQAogbXNnaWQgIm5vIG90aGVyIG9wdGlvbnMgYWxsb3dlZCB3aXRoIGAteCciCiBtc2dzdHIgImtow7RuZyBjaG8gcGjDqXAgZMO5bmcgdMO5eSBjaOG7jW4gdGjDqm0gduG7m2kgwqsgLXggwrsiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAorIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiVzOiDEkeG7kWkgc+G7kSBwaOG6o2kgbMOgIG3DoyBz4buRIGPhu6dhIHRp4bq/biB0csOsbmggKFBJRCkgaG/hurdjIGPDtG5nIHZp4buHYyIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjEKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICJM4buXaSBraMO0bmcgcsO1IgogCi0jOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1MDEgZXhwci5jOjUxNgorIzogYnVpbHRpbnMvbGV0LmRlZjo5NSBidWlsdGlucy9sZXQuZGVmOjEyMCBleHByLmM6NTUyIGV4cHIuYzo1NjcKIG1zZ2lkICJleHByZXNzaW9uIGV4cGVjdGVkIgogbXNnc3RyICLEkeG7o2kgYmnhu4N1IHRo4bupYyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjE3MgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbm90IGFuIGluZGV4ZWQgYXJyYXkiCi1tc2dzdHIgIiVzOiBraMO0bmcgcGjhuqNpIGJp4bq/biBt4bqjbmciCittc2dzdHIgIiVzOiBraMO0bmcgcGjhuqNpIGJp4bq/biBwaOG7pSBs4bulYyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjQ5IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU2IGJ1aWx0aW5zL3JlYWQuZGVmOjI3OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3Igc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiJXM6IHNhaSB4w6FjIMSR4buLbmggYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4iCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NyBidWlsdGlucy9yZWFkLmRlZjoyODYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NCBidWlsdGlucy9yZWFkLmRlZjoyODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQ6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yOiAlcyIKIG1zZ3N0ciAiJWQ6IGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIGtow7RuZyBo4bujcCBs4buHOiAlcyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY2IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwNAorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjczIGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMxMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBsaW5lIGNvdW50IgogbXNnc3RyICIlczogc2FpIMSR4bq/bSBkw7JuZyIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjc3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyODQKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlczogZ+G7kWMgbeG6o25nIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyOTQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgogbXNnc3RyICIlczogbMaw4bujbmcgZ+G7jWkgbmfGsOG7o2Mga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMyNgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzMzCiBtc2dpZCAiZW1wdHkgYXJyYXkgdmFyaWFibGUgbmFtZSIKIG1zZ3N0ciAiJXM6IHTDqm4gYmnhur9uIG3huqNuZyB24bqrbiB0cuG7kW5nIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNDcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM1NAogbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCiBtc2dzdHIgImPhuqduIHRoaeG6v3QgaOG7lyB0cuG7oyBiaeG6v24gbeG6o25nIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjM3NAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICLCqyAlcyDCuzogdGhp4bq/dSBrw70gdOG7sSDEkeG7i25oIGThuqFuZyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiBzYWkgeMOhYyDEkeG7i25oIHF1w6EgaOG6oW4iCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKIG1zZ3N0ciAiwqsgJWMgwrs6IGvDvSB04buxIMSR4buLbmggZOG6oW5nIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjU3OAorIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo2NjIKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FybmluZzogJXM6ICVzIgogbXNnc3RyICJj4bqjbmggYsOhbyA6ICVzOiAlcyIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo3NTcKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODQwCiBtc2dpZCAibWlzc2luZyBoZXggZGlnaXQgZm9yIFxceCIKIG1zZ3N0ciAidGhp4bq/dSBjaOG7ryBz4buRIHRo4bqtcCBwaMOibiBjaG8gXFx4IgogCisjOiBidWlsdGlucy9wcmludGYuZGVmOjg1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWlzc2luZyB1bmljb2RlIGRpZ2l0IGZvciBcXCVjIgorbXNnc3RyICJ0aGnhur91IGNo4buvIHPhu5EgdGjhuq1wIHBow6JuIGNobyBcXHgiCisKICM6IGJ1aWx0aW5zL3B1c2hkLmRlZjoxOTUKIG1zZ2lkICJubyBvdGhlciBkaXJlY3RvcnkiCiBtc2dzdHIgImtow7RuZyBjw7MgdGjGsCBt4bulYyBraMOhYyIKQEAgLTc1MCwyMSArNzQ1LDIxIEBACiBtc2dzdHIgIiIKICJjaOG7iSBjw7MgdGjhu4MgwqsgcmV0dXJuIMK7ICh0cuG7nyB24buBKSB04burIG3hu5l0IGjDoG0gaG/hurdjIHbEg24gbOG7h25oIMSRxrDhu6NjIGfhu41pIHThu6sgbmd14buTbiIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo3NjgKKyM6IGJ1aWx0aW5zL3NldC5kZWY6NzcxCiBtc2dpZCAiY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBo4buneSDEkeG6t3QgxJHhu5NuZyB0aOG7nWkgbeG7mXQgaMOgbSBWw4AgbeG7mXQgYmnhur9uIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgwNQorIzogYnVpbHRpbnMvc2V0LmRlZjo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBo4buneSDEkeG6t3QiCiAKLSM6IGJ1aWx0aW5zL3NldC5kZWY6ODEyCisjOiBidWlsdGlucy9zZXQuZGVmOjgxNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IHVuc2V0OiByZWFkb25seSAlcyIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBo4buneSDEkeG6t3Q6ICVzIGNo4buJIMSR4buNYyIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MjMKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCiBtc2dzdHIgIiVzOiBraMO0bmcgcGjhuqNpIGJp4bq/biBt4bqjbmciCkBAIC03NzgsMjAgKzc3MywyMCBAQAogbXNnaWQgInNoaWZ0IGNvdW50IgogbXNnc3RyICLEkeG6v20gZOG7nWkiCiAKLSM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjAKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKIG1zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu5NuZyB0aOG7nWkgxJHhurd0IHbDoCBo4buneSDEkeG6t3QgY8OhYyB0w7l5IGNo4buNbiB0csOsbmggYmFvIgogCi0jOiBidWlsdGlucy9zaG9wdC5kZWY6MzI1CisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgogbXNnc3RyICIlczogdMOqbiB0w7l5IGNo4buNbiB0csOsbmggYmFvIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjEyOAorIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKIG1zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKIG1zZ3N0ciAiY+G6p24gdGhp4bq/dCDEkeG7kWkgc+G7kSB0w6puIHThuq1wIHRpbiIKIAotIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTMKKyM6IGJ1aWx0aW5zL3NvdXJjZS5kZWY6MTU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0w6xtIHRo4bqleSB04bqtcCB0aW4iCkBAIC04MzQsMjYgKzgyOSwyNiBAQAogbXNnaWQgIiVzIGlzIGhhc2hlZCAoJXMpXG4iCiBtc2dzdHIgIiVzIGPDsyBrw70gaGnhu4d1IGzhu5luIHjhu5luICglcylcbiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzIKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbWl0IGFyZ3VtZW50IgogbXNnc3RyICIlczogxJHhu5FpIHPhu5EgZ2nhu5tpIGjhuqFuIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBidWlsdGlucy91bGltaXQuZGVmOjM5OAorIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYCVjJzogYmFkIGNvbW1hbmQiCiBtc2dzdHIgIsKrICVjIMK7OiBjw6J1IGzhu4duaCBzYWkiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDI3CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQzMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGdldCBsaW1pdDogJXMiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgbOG6pXkgZ2nhu5tpIGjhuqFuOiAlcyIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTMKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDU3CiBtc2dpZCAibGltaXQiCiBtc2dzdHIgImdp4bubaSBo4bqhbiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NjUgYnVpbHRpbnMvdWxpbWl0LmRlZjo3NjUKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBz4butYSDEkeG7lWkgZ2nhu5tpIGjhuqFuOiAlcyIKQEAgLTkwOSwxMDUgKzkwNCwxMTAgQEAKIAogIzogZXZhbC5jOjE4MQogIywgYy1mb3JtYXQKLW1zZ2lkICIHdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgorbXNnaWQgIlxhdGltZWQgb3V0IHdhaXRpbmcgZm9yIGlucHV0OiBhdXRvLWxvZ291dFxuIgogbXNnc3RyICJcdHF1w6EgaOG6oW4gdHJvbmcga2hpIMSR4bujaSBk4buvIGxp4buHdSBuaOG6rXAgbsOqbiB04buxIMSR4buZbmcgxJHEg25nIHh14bqldFxuIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ5NworIzogZXhlY3V0ZV9jbWQuYzo1MDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHJlZGlyZWN0IHN0YW5kYXJkIGlucHV0IGZyb20gL2Rldi9udWxsOiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGNodXnhu4NuIGjGsOG7m25nIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4gdOG7qyDCqyAvZGV2L251bGwgwrs6ICVzIgogCi0jOiBleGVjdXRlX2NtZC5jOjExNjIKKyM6IGV4ZWN1dGVfY21kLmM6MTE2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIsSQ4buKTkggROG6oE5HIFRI4bucSSBHSUFOOiDCqyAlYyDCuzoga8O9IHThu7EgxJHhu4tuaCBk4bqhbmcga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjA3NQorIzogZXhlY3V0ZV9jbWQuYzoyMTIxCiBtc2dpZCAicGlwZSBlcnJvciIKIG1zZ3N0ciAibOG7l2kg4buRbmcgZOG6q24iCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDQ4MQorIzogZXhlY3V0ZV9jbWQuYzo0NjQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3Qgc3BlY2lmeSBgLycgaW4gY29tbWFuZCBuYW1lcyIKIG1zZ3N0ciAiJXM6IGLhu4sgaOG6oW4gY2jhur86IGtow7RuZyB0aOG7gyBnaGkgcsO1IGThuqV1IHPhu5UgY2jDqW8gwqsgLyDCuyB0cm9uZyB0w6puIGPDonUgbOG7h25oIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ1NzIKKyM6IGV4ZWN1dGVfY21kLmM6NDczNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCiBtc2dzdHIgIiVzOiBraMO0bmcgdMOsbSB0aOG6pXkgbOG7h25oIgogCi0jOiBleGVjdXRlX2NtZC5jOjQ4MjcKKyM6IGV4ZWN1dGVfY21kLmM6NDk1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIgorbXNnc3RyICIlcyBsw6AgJXNcbiIKKworIzogZXhlY3V0ZV9jbWQuYzo0OTk1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgogbXNnc3RyICIlczogJXM6IGLhu5kgdGjDtG5nIGThu4tjaCBzYWkiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDk3NgorIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBuaMOibiDEkcO0aSBmZCAlZCB04bubaSBmZCAlZCIKIAotIzogZXhwci5jOjI0MQorIzogZXhwci5jOjI1NgogbXNnaWQgImV4cHJlc3Npb24gcmVjdXJzaW9uIGxldmVsIGV4Y2VlZGVkIgogbXNnc3RyICJ2xrDhu6N0IHF1w6EgZ2nhu5tpIGjhuqFuIG3hu6ljIMSR4buZIMSR4buHIHF1eSBj4bunYSBiaeG7g3UgdGjhu6ljIgogCi0jOiBleHByLmM6MjY1CisjOiBleHByLmM6MjgwCiBtc2dpZCAicmVjdXJzaW9uIHN0YWNrIHVuZGVyZmxvdyIKIG1zZ3N0ciAidHLDoW4gbmfGsOG7o2MgxJHhu5FuZyDEkeG7hyBxdXkiCiAKLSM6IGV4cHIuYzozNzkKKyM6IGV4cHIuYzo0MjIKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiIKIG1zZ3N0ciAibOG7l2kgY8O6IHBow6FwIHRyb25nIGJp4buDdSB0aOG7qWMiCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgInRo4butIGfDoW4gY2hvIMSR4buTIGtow7RuZyBwaOG6o2kgYmnhur9uIgogCi0jOiBleHByLmM6NDQwIGV4cHIuYzo0NDUgZXhwci5jOjc1NgorIzogZXhwci5jOjQ4NiBleHByLmM6NDkxIGV4cHIuYzo4MDcKIG1zZ2lkICJkaXZpc2lvbiBieSAwIgogbXNnc3RyICJjaGlhIGNobyBraMO0bmciCiAKLSM6IGV4cHIuYzo0NzEKKyM6IGV4cHIuYzo1MTcKIG1zZ2lkICJidWc6IGJhZCBleHBhc3NpZ24gdG9rZW4iCiBtc2dzdHIgImzhu5dpIChidWcpOiBoaeG7h3UgYsOgaSDhuqVuIMSR4buLbmggYmnhu4N1IHRo4bupYyBzYWkiCiAKLSM6IGV4cHIuYzo1MTMKKyM6IGV4cHIuYzo1NjQKIG1zZ2lkICJgOicgZXhwZWN0ZWQgZm9yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgIsSR4bujaSBk4bqldSBoYWkgY2jhuqVtIMKrIDogwrsgY2hvIGJp4buDdSB0aOG7qWMgxJFp4buBdSBraeG7h24iCiAKLSM6IGV4cHIuYzo3ODEKKyM6IGV4cHIuYzo4MzIKIG1zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKIG1zZ3N0ciAic+G7kSBtxakgbmjhu48gaMahbiAwIgogCi0jOiBleHByLmM6ODI2CisjOiBleHByLmM6ODg3CiBtc2dpZCAiaWRlbnRpZmllciBleHBlY3RlZCBhZnRlciBwcmUtaW5jcmVtZW50IG9yIHByZS1kZWNyZW1lbnQiCiBtc2dzdHIgIsSR4bujaSDEkeG7kyBuaOG6rW4gZGnhu4duIMSR4bqxbmcgc2F1IHTEg25nL2dp4bqjbSBk4bqnbiBz4bq1biIKIAotIzogZXhwci5jOjg1NAorIzogZXhwci5jOjkxMAogbXNnaWQgIm1pc3NpbmcgYCknIgogbXNnc3RyICJ0aGnhur91IGThuqV1IG5nb+G6t2MgxJHDs25nIMKrICkgwrsiCiAKLSM6IGV4cHIuYzo4OTcgZXhwci5jOjExNzYKKyM6IGV4cHIuYzo5NTkgZXhwci5jOjEyODIKIG1zZ2lkICJzeW50YXggZXJyb3I6IG9wZXJhbmQgZXhwZWN0ZWQiCiBtc2dzdHIgImzhu5dpIGPDuiBwaMOhcDogxJHhu6NpIHRvw6FuIGjhuqFuZyIKIAotIzogZXhwci5jOjExNzgKKyM6IGV4cHIuYzoxMjg0CiBtc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCiBtc2dzdHIgImzhu5dpIGPDuiBwaMOhcDogdG/DoW4gdOG7rSBz4buRIGjhu41jIGtow7RuZyBo4bujcCBs4buHIgogCi0jOiBleHByLmM6MTIwMgorIzogZXhwci5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiJXMlcyVzOiAlcyAoaGnhu4d1IGLDoGkgbOG7l2kgbMOgIMKrICVzIMK7KSIKIAotIzogZXhwci5jOjEyNjAKKyM6IGV4cHIuYzoxMzY2CiBtc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCiBtc2dzdHIgImPGoSBz4buRIChz4buRIGjhu41jKSBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogZXhwci5jOjEyODAKKyM6IGV4cHIuYzoxMzg2CiBtc2dpZCAidmFsdWUgdG9vIGdyZWF0IGZvciBiYXNlIgogbXNnc3RyICJjxqEgc+G7kSBjw7MgZ2nDoSB0cuG7iyBxdcOhIGzhu5tuIgogCi0jOiBleHByLmM6MTMyOQorIzogZXhwci5jOjE0MzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKIG1zZ3N0ciAiJXM6IGzhu5dpIGJp4buDdSB0aOG7qWNcbiIKQEAgLTEwMTYsMTY1ICsxMDE2LDE2NSBAQAogbXNnaWQgImdldGN3ZDogY2Fubm90IGFjY2VzcyBwYXJlbnQgZGlyZWN0b3JpZXMiCiBtc2dzdHIgImdldGN3ZDoga2jDtG5nIHRo4buDIHRydXkgY+G6rXAgdGjGsCBt4bulYyBj4bqlcCB0csOqbiIKIAotIzogaW5wdXQuYzo5NCBzdWJzdC5jOjQ4NTcKKyM6IGlucHV0LmM6OTQgc3Vic3QuYzo1MDgyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZXNldCBub2RlbGF5IG1vZGUgZm9yIGZkICVkIgogbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhurd0IGzhuqFpIGNo4bq/IMSR4buZIG5vZGVsYXkgKGtow7RuZyBob8OjbikgY2hvIGZkICVkIgogCi0jOiBpbnB1dC5jOjI1OAorIzogaW5wdXQuYzoyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIGPhuqVwIHBow6F0IGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIG3hu5sgY2hvIGThu68gbGnhu4d1IG5o4bqtcCBiYXNoIHThu6sgZmQgJWQiCiAKLSM6IGlucHV0LmM6MjY2CisjOiBpbnB1dC5jOjI2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgogbXNnc3RyICJzYXZlX2Jhc2hfaW5wdXQ6IMSRw6MgY8OzIGLhu5kgxJHhu4dtIGNobyBmZCBt4bubaSAlZCIKIAogIyBOZ2jEqWEgY2jhu68gPwotIzogam9icy5jOjQ2NgorIzogam9icy5jOjQ2OAogbXNnaWQgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCiBtc2dzdHIgInN0YXJ0X3BpcGVsaW5lOiBwZ3JwIHBpcGUiCiAKLSM6IGpvYnMuYzo4ODcKKyM6IGpvYnMuYzo4ODkKICMsIGMtZm9ybWF0CiBtc2dpZCAiZm9ya2VkIHBpZCAlZCBhcHBlYXJzIGluIHJ1bm5pbmcgam9iICVkIgogbXNnc3RyICJ0aeG6v24gdHLDrG5oIGNvbiDEkcOjIHThuqFvIChQSUQgJWQpIHh14bqldCBoaeG7h24gdHJvbmcgY8O0bmcgdmnhu4djIMSRYW5nIGNo4bqheSAlZCIKIAotIzogam9icy5jOjEwMDUKKyM6IGpvYnMuYzoxMDA3CiAjLCBjLWZvcm1hdAogbXNnaWQgImRlbGV0aW5nIHN0b3BwZWQgam9iICVkIHdpdGggcHJvY2VzcyBncm91cCAlbGQiCiBtc2dzdHIgIsSRYW5nIHhvw6EgY8O0bmcgdmnhu4djIGLhu4sgZOG7q25nIGNo4bqheSAlZCB24bubaSBuaMOzbSB0aeG6v24gdHLDrG5oICVsZCIKIAotIzogam9icy5jOjExMTAKKyM6IGpvYnMuYzoxMTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgImFkZF9wcm9jZXNzOiBwcm9jZXNzICU1bGQgKCVzKSBpbiB0aGVfcGlwZWxpbmUiCiBtc2dzdHIgImFkZF9wcm9jZXNzOiB0aeG6v24gdHLDrG5oICU1bGQgKCVzKSB0cm9uZyB0aGVfcGlwZWxpbmUiCiAKLSM6IGpvYnMuYzoxMTEzCisjOiBqb2JzLmM6MTExNQogIywgYy1mb3JtYXQKIG1zZ2lkICJhZGRfcHJvY2VzczogcGlkICU1bGQgKCVzKSBtYXJrZWQgYXMgc3RpbGwgYWxpdmUiCiBtc2dzdHIgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIMSRxrDhu6NjIMSRw6FuaCBk4bqldSB24bqrbiBob+G6oXQgxJHhu5luZyIKIAotIzogam9icy5jOjE0MDEKKyM6IGpvYnMuYzoxNDMwCiAjLCBjLWZvcm1hdAogbXNnaWQgImRlc2NyaWJlX3BpZDogJWxkOiBubyBzdWNoIHBpZCIKIG1zZ3N0ciAiZGVzY3JpYmVfcGlkOiAlbGQ6IGtow7RuZyBjw7MgUElEIChtw6Mgc+G7kSB0aeG6v24gdHLDrG5oKSBuaMawIHbhuq15IgogCi0jOiBqb2JzLmM6MTQxNgorIzogam9icy5jOjE0NDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2lnbmFsICVkIgogbXNnc3RyICJUw61uIGhp4buHdSAlZCIKIAotIzogam9icy5jOjE0MzAgam9icy5jOjE0NTUKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0CiBtc2dpZCAiRG9uZSIKIG1zZ3N0ciAiSG/DoG4gdOG6pXQiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICJC4buLIGThu6tuZyIKIAotIzogam9icy5jOjE0MzkKKyM6IGpvYnMuYzoxNDY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlN0b3BwZWQoJXMpIgogbXNnc3RyICJC4buLIGThu6tuZyglcykiCiAKLSM6IGpvYnMuYzoxNDQzCisjOiBqb2JzLmM6MTQ3MgogbXNnaWQgIlJ1bm5pbmciCiBtc2dzdHIgIsSQYW5nIGNo4bqheSIKIAotIzogam9icy5jOjE0NTcKKyM6IGpvYnMuYzoxNDg2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkRvbmUoJWQpIgogbXNnc3RyICJIb8OgbiB04bqldCglZCkiCiAKLSM6IGpvYnMuYzoxNDU5CisjOiBqb2JzLmM6MTQ4OAogIywgYy1mb3JtYXQKIG1zZ2lkICJFeGl0ICVkIgogbXNnc3RyICJUaG/DoXQgJWQiCiAKLSM6IGpvYnMuYzoxNDYyCisjOiBqb2JzLmM6MTQ5MQogbXNnaWQgIlVua25vd24gc3RhdHVzIgogbXNnc3RyICJLaMO0bmcgcsO1IHRy4bqhbmcgdGjDoWkiCiAKLSM6IGpvYnMuYzoxNTQ5CisjOiBqb2JzLmM6MTU3OAogIywgYy1mb3JtYXQKIG1zZ2lkICIoY29yZSBkdW1wZWQpICIKIG1zZ3N0ciAiKGzDtWkgYuG7iyDEkeG7lSkiCiAKLSM6IGpvYnMuYzoxNTY4CisjOiBqb2JzLmM6MTU5NwogIywgYy1mb3JtYXQKIG1zZ2lkICIgICh3ZDogJXMpIgogbXNnc3RyICIgICh3ZDogJXMpIgogCi0jOiBqb2JzLmM6MTc3NgorIzogam9icy5jOjE4MDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2hpbGQgc2V0cGdpZCAoJWxkIHRvICVsZCkiCiBtc2dzdHIgInNldHBnaWQgdGnhur9uIHRyw6xuaCBjb24gKCVsZCB0aMOgbmggJWxkKSIKIAotIzogam9icy5jOjIxMDQgbm9qb2JzLmM6NTg1CisjOiBqb2JzLmM6MjEzMyBub2pvYnMuYzo1ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgogbXNnc3RyICJ3YWl0OiBwaWQgJWxkIGtow7RuZyBwaOG6o2kgbMOgIHRp4bq/biB0csOsbmggY29uIGPhu6dhIHRyw6xuaCBiYW8gbsOgeSIKIAotIzogam9icy5jOjIzMzEKKyM6IGpvYnMuYzoyMzYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCiBtc2dzdHIgIndhaXRfZm9yOiBLaMO0bmcgY8OzIG3hu6VjIGdoaSB24buBIHRp4bq/biB0csOsbmggJWxkIgogCi0jOiBqb2JzLmM6MjYwNworIzogam9icy5jOjI2MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAid2FpdF9mb3Jfam9iOiBjw7RuZyB2aeG7h2MgJWQgYuG7iyBk4burbmcgY2jhuqF5IgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIG1zZ3N0ciAiJXM6IGPDtG5nIHZp4buHYyBi4buLIGNo4bqlbSBk4bupdCIKIAotIzogam9icy5jOjI4MzgKKyM6IGpvYnMuYzoyODY4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBqb2IgJWQgYWxyZWFkeSBpbiBiYWNrZ3JvdW5kIgogbXNnc3RyICIlczogY8O0bmcgdmnhu4djICVkIMSRw6MgY2jhuqF5IHRyb25nIG7hu4FuIgogCi0jOiBqb2JzLmM6MzA1OQorIzogam9icy5jOjMwODkKIG1zZ2lkICJ3YWl0Y2hsZDogdHVybmluZyBvbiBXTk9IQU5HIHRvIGF2b2lkIGluZGVmaW5pdGUgYmxvY2siCi1tc2dzdHIgIiIKK21zZ3N0ciAid2FpdGNobGQ6IMSRYW5nIGLhuq10IFdOT0hBTkcgxJHhu4MgdHLDoW5oIGLhu4sgY2jhurduIHbDtCBo4bqhbiIKIAotIzogam9icy5jOjM1MDgKKyM6IGpvYnMuYzozNTM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBsaW5lICVkOiAiCiBtc2dzdHIgIiVzOiBkw7JuZyAlZDoiCiAKLSM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAorIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIgKGzDtWkgYuG7iyDEkeG7lSkiCiAKLSM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CisjOiBqb2JzLmM6MzU2NCBqb2JzLmM6MzU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiKHdkIGLDonkgZ2nhu506ICVzKVxuIgogCi0jOiBqb2JzLmM6MzU3OQorIzogam9icy5jOjM2MDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBi4buLIGzhu5dpIgogCi0jOiBqb2JzLmM6MzYzOQorIzogam9icy5jOjM2NjkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGvhu7cgbHXhuq10IGTDsm5nIgogCiAjIE5naMSpYSBjaOG7ryA6IGThu6tuZyBk4buLY2gKLSM6IGpvYnMuYzozNjQ5CisjOiBqb2JzLmM6MzY3OQogbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiBtc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCiAKLSM6IGpvYnMuYzozNjc3CisjOiBqb2JzLmM6MzcwNwogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIHByb2Nlc3MgZ3JvdXAgKCVkKSIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIMSR4bq3dCBuaMOzbSB0aeG6v24gdHLDrG5oIGN14buRaSBjw7luZyAoJWQpIgogCi0jOiBqb2JzLmM6MzY4MgorIzogam9icy5jOjM3MTIKIG1zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgogbXNnc3RyICJraMO0bmcgY8OzIMSRaeG7gXUga2hp4buDbiBjw7RuZyB2aeG7h2MgdHJvbmcgdHLDrG5oIGJhbyBuw6B5IgogCkBAIC0xMjcxLDIyICsxMjcxLDIyIEBACiAjOiBsb2NhbGUuYzoxOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCi1tc2dzdHIgIiIKK21zZ3N0ciAic2V0bG9jYWxlOiBMQ19BTEw6IGtow7RuZyB0aOG7gyBjaHV54buDbiDEkeG7lWkgbWnhu4FuIMSR4buLYSBwaMawxqFuZyAoJXMpIgogCiAjOiBsb2NhbGUuYzoxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiBMQ19BTEw6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgotbXNnc3RyICIiCittc2dzdHIgInNldGxvY2FsZTogTENfQUxMOiBraMO0bmcgdGjhu4MgY2h1eeG7g24gxJHhu5VpIG1p4buBbiDEkeG7i2EgcGjGsMahbmcgKCVzKTogJXMiCiAKICM6IGxvY2FsZS5jOjI0NwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcykiCi1tc2dzdHIgInhyZWFsbG9jOiAlczolZDoga2jDtG5nIHRo4buDIGPhuqVwIHBow6F0ICVsdSBieXRlIgorbXNnc3RyICJzZXRsb2NhbGU6ICVzOiBraMO0bmcgdGjhu4MgY2h1eeG7g24gxJHhu5VpIG1p4buBbiDEkeG7i2EgcGjGsMahbmcgKCVzKSIKIAogIzogbG9jYWxlLmM6MjQ5Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAic2V0bG9jYWxlOiAlczogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCi1tc2dzdHIgInhyZWFsbG9jOiAlczolZDoga2jDtG5nIHRo4buDIGPhuqVwIHBow6F0ICVsdSBieXRlIgorbXNnc3RyICJzZXRsb2NhbGU6ICVzOiBraMO0bmcgdGjhu4MgY2h1eeG7g24gxJHhu5VpIG1p4buBbiDEkeG7i2EgcGjGsMahbmcgKCVzKTogJXMiCiAKICM6IG1haWxjaGVjay5jOjQzMwogbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCkBAIC0xMzMwLDk5ICsxMzMwLDk5IEBACiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb246IGNo4buJIGThuqtuIGNodXnhu4NuIGjGsOG7m25nIMKrICVkIMK7IOG7nyBuZ2/huqFpIHBo4bqhbSB2aSIKIAotIzogcGFyc2UueTozMTMzIHBhcnNlLnk6MzM2OQorIzogcGFyc2UueTozMTczIHBhcnNlLnk6MzQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgJWMnIgogbXNnc3RyICJn4bq3cCBr4bq/dCB0aMO6YyB04bqtcCB0aW4gYuG6pXQgdGjGsOG7nW5nIHRyb25nIGtoaSB0w6xtIMKrICVjIMK7IHTGsMahbmcg4bupbmciCiAKLSM6IHBhcnNlLnk6Mzk1MQorIzogcGFyc2UueTo0MDI1CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgYF1dJyIKIG1zZ3N0ciAiZ+G6t3Aga+G6v3QgdGjDumMgdOG6rXAgdGluIGLhuqV0IHRoxrDhu51uZyB0cm9uZyBraGkgdMOsbSDCqyBdXSDCuyIKIAotIzogcGFyc2UueTozOTU2CisjOiBwYXJzZS55OjQwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgY8O6IHBow6FwIHRyb25nIGJp4buDdSB0aOG7qWMgxJFp4buBdSBraeG7h246IGhp4buHdSBiw6BpIGLhuqV0IHRoxrDhu51uZyDCqyAlcyDCuyIKIAotIzogcGFyc2UueTozOTYwCisjOiBwYXJzZS55OjQwMzQKIG1zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgY8O6IHBow6FwIHRyb25nIGJp4buDdSB0aOG7qWMgxJFp4buBdSBraeG7h24iCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICJn4bq3cCBoaeG7h3UgYsOgaSBi4bqldCB0aMaw4budbmcgwqsgJXMgwrssIGPDsm4gbW9uZyDEkeG7o2kgZOG6pXUgbmdv4bq3YyDEkcOzbmcgwqsgKSDCuyIKIAotIzogcGFyc2UueTo0MDQyCisjOiBwYXJzZS55OjQxMTYKIG1zZ2lkICJleHBlY3RlZCBgKSciCiBtc2dzdHIgIsSR4bujaSBk4bqldSDEkcOzbmcgbmdv4bq3YyDCqyApIMK7IgogCi0jOiBwYXJzZS55OjQwNzAKKyM6IHBhcnNlLnk6NDE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIsSR4buRaSBz4buRIGLhuqV0IHRoxrDhu51uZyDCqyAlcyDCuyB04bubaSB0b8OhbiB04butIG5ndXnDqm4gcGjDom4gxJFp4buBdSBraeG7h24iCiAKLSM6IHBhcnNlLnk6NDA3NAorIzogcGFyc2UueTo0MTQ4CiBtc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAixJHhu5FpIHPhu5EgYuG6pXQgdGjGsOG7nW5nIHThu5tpIHRvw6FuIHThu60gbmd1ecOqbiBwaMOibiDEkWnhu4F1IGtp4buHbiIKIAotIzogcGFyc2UueTo0MTIwCisjOiBwYXJzZS55OjQxOTQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgImhp4buHdSBiw6BpIGLhuqV0IHRoxrDhu51uZyDCqyAlcyDCuyBjw7JuIMSR4bujaSB0b8OhbiB04butIG5o4buLIHBow6JuIMSRaeG7gXUga2nhu4duIgogCi0jOiBwYXJzZS55OjQxMjQKKyM6IHBhcnNlLnk6NDE5OAogbXNnaWQgImNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAixJHhu6NpIHRvw6FuIHThu60gbmjhu4sgcGjDom4gxJFp4buBdSBraeG7h24iCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIsSR4buRaSBz4buRIGLhuqV0IHRoxrDhu51uZyDCqyAlcyDCuyB04bubaSB0b8OhbiB04butIG5o4buLIHBow6JuIMSRaeG7gXUga2nhu4duIgogCi0jOiBwYXJzZS55OjQxNTAKKyM6IHBhcnNlLnk6NDIyNAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgogbXNnc3RyICLEkeG7kWkgc+G7kSBi4bqldCB0aMaw4budbmcgdOG7m2kgdG/DoW4gdOG7rSBuaOG7iyBwaMOibiDEkWnhu4F1IGtp4buHbiIKIAotIzogcGFyc2UueTo0MTYxCisjOiBwYXJzZS55OjQyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJWMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImfhurdwIGhp4buHdSBiw6BpIGLhuqV0IHRoxrDhu51uZyDCqyAlYyDCuyB0cm9uZyBjw6J1IGzhu4duaCDEkWnhu4F1IGtp4buHbiIKIAotIzogcGFyc2UueTo0MTY0CisjOiBwYXJzZS55OjQyMzgKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgImfhurdwIGhp4buHdSBiw6BpIGLhuqV0IHRoxrDhu51uZyDCqyAlcyDCuyB0cm9uZyBjw6J1IGzhu4duaCDEkWnhu4F1IGtp4buHbiIKIAotIzogcGFyc2UueTo0MTY4CisjOiBwYXJzZS55OjQyNDIKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCB0b2tlbiAlZCBpbiBjb25kaXRpb25hbCBjb21tYW5kIgogbXNnc3RyICJn4bq3cCBoaeG7h3UgYsOgaSBi4bqldCB0aMaw4budbmcgwqsgJWQgwrsgdHJvbmcgY8OidSBs4buHbmggxJFp4buBdSBraeG7h24iCiAKLSM6IHBhcnNlLnk6NTQ1OQorIzogcGFyc2UueTo1NTY2CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgY8O6IHBow6FwIOG7nyBn4bqnbiBoaeG7h3UgYsOgaSBi4bqldCB0aMaw4budbmcgwqsgJXMgwrsiCiAKLSM6IHBhcnNlLnk6NTQ3NworIzogcGFyc2UueTo1NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgImfhurdwIGzhu5dpIGPDuiBwaMOhcCBn4bqnbiDCqyAlcyDCuyIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgImzhu5dpIGPDuiBwaMOhcDoga+G6v3QgdGjDumMgdOG6rXAgdGluIGLhuqV0IHRoxrDhu51uZyIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgImzhu5dpIGPDuiBwaMOhcCIKIAotIzogcGFyc2UueTo1NTQ5CisjOiBwYXJzZS55OjU2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIkTDuW5nIMKrICVzIMK7IMSR4buDIHLhu51pIHRyw6xuaCBiYW8uXG4iCiAKLSM6IHBhcnNlLnk6NTcxMQorIzogcGFyc2UueTo1ODE4CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCknIgogbXNnc3RyICIiCiAiZ+G6t3Aga+G6v3QgdGjDumMgdOG6rXAgdGluIGLhuqV0IHRoxrDhu51uZyB0cm9uZyBraGkgdMOsbSBk4bqldSBuZ2/hurdjIMSRw7NuZyDCqyApIMK7IHTGsMahbmcg4bupbmciCkBAIC0xNDMyLDc4ICsxNDMyLDc5IEBACiBtc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCiBtc2dzdHIgImNvbXBsZXRpb246IGtow7RuZyB0w6xtIHRo4bqleSBow6BtIMKrICVzIMK7IgogCi0jOiBwY29tcGxpYi5jOjE3OQorIzogcGNvbXBsaWIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIG1zZ3N0ciAicHJvZ2NvbXBfaW5zZXJ0OiAlczogTlVMTCBDT01QU1BFQyIKIAotIzogcHJpbnRfY21kLmM6MjkwCisjOiBwcmludF9jbWQuYzoyOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAicHJpbnRfY29tbWFuZDogYmFkIGNvbm5lY3RvciBgJWQnIgogbXNnc3RyICJwcmludF9jb21tYW5kOiBi4buZIGvhur90IG7hu5FpIHNhaSDCqyAlZCDCuyIKIAotIzogcHJpbnRfY21kLmM6MzYzCi0jLCBmdXp6eSwgYy1mb3JtYXQKLW1zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCi1tc2dzdHIgIiVkOiBi4buZIG3DtCB04bqjIHThuq1wIHRpbiBraMO0bmcgaOG7o3AgbOG7hzogJXMiCi0KICM6IHByaW50X2NtZC5jOjM2OAotbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgotbXNnc3RyICIiCisjLCBjLWZvcm1hdAorbXNnaWQgInh0cmFjZV9zZXQ6ICVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAieHRyYWNlX3NldDogJWQ6IHNhaSDEkeG6t3QgYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4iCiAKLSM6IHByaW50X2NtZC5jOjM3MgorIzogcHJpbnRfY21kLmM6MzczCittc2dpZCAieHRyYWNlX3NldDogTlVMTCBmaWxlIHBvaW50ZXIiCittc2dzdHIgInh0cmFjZV9zZXQ6IGNvbiB0cuG7jyB04bqtcCB0aW4gTlVMTCAodsO0IGdpw6EgdHLhu4spIgorCisjIE5naMSpYSBjaOG7ryA/CisjOiBwcmludF9jbWQuYzozNzcKICMsIGMtZm9ybWF0CiBtc2dpZCAieHRyYWNlIGZkICglZCkgIT0gZmlsZW5vIHh0cmFjZSBmcCAoJWQpIgotbXNnc3RyICIiCittc2dzdHIgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKIAotIzogcHJpbnRfY21kLmM6MTQ2MQorIzogcHJpbnRfY21kLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgImNwcmludGY6IMKrICVjIMK7OiBrw70gdOG7sSDEkeG7i25oIGThuqFuZyBraMO0bmcgaOG7o3AgbOG7hyIKIAotIzogcmVkaXIuYzoxMTAKKyM6IHJlZGlyLmM6MTIyCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4g4bufIG5nb+G6oWkgcGjhuqFtIHZpIgogCi0jOiByZWRpci5jOjE2NgorIzogcmVkaXIuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiJXM6IGzhu51pIGNodXnhu4NuIGjGsOG7m25nIG3GoSBo4buTIgogCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBnaGkgxJHDqCBsw6puIHThuq1wIHRpbiDEkcOjIGPDsyIKIAotIzogcmVkaXIuYzoxNzUKKyM6IHJlZGlyLmM6MTg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgogbXNnc3RyICIlczogYuG7iyBo4bqhbiBjaOG6vzoga2jDtG5nIHRo4buDIGNodXnhu4NuIGjGsOG7m25nIGvhur90IHh14bqldCIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIHThuq1wIHRpbiB04bqhbSB0aOG7nWkgY2hvIHTDoGkgbGnhu4d1IG7DoHk6ICVzIgogCi0jOiByZWRpci5jOjE4NAotIywgZnV6enksIGMtZm9ybWF0CisjOiByZWRpci5jOjE5NgorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBmZCB0byB2YXJpYWJsZSIKLW1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBnw6FuIGRhbmggc8OhY2ggY2hvIGLhu5kgcGjhuq1uIGPhu6dhIG3huqNuZyIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBnw6FuIGNobyBiaeG6v24gYuG7mSBiw7QgdOG6oyB04bqtcCB0aW4iCiAKLSM6IHJlZGlyLmM6NTQ0CisjOiByZWRpci5jOjU0OAogbXNnaWQgIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBub3Qgc3VwcG9ydGVkIHdpdGhvdXQgbmV0d29ya2luZyIKIG1zZ3N0ciAiIgogIi9kZXYvKHRjcHx1ZHApL2hvc3QvcG9ydCBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyBraGkga2jDtG5nIGPDsyBjaOG7qWMgbsSDbmcgY2jhuqF5IG3huqFuZyIKIAotIzogcmVkaXIuYzoxMTAxCisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKIG1zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kgY2h1eeG7g24gaMaw4bubbmcgbsOqbiBraMO0bmcgdGjhu4MgbmjDom4gxJHDtGkgZmQiCiAKLSM6IHNoZWxsLmM6MzMyCisjOiBzaGVsbC5jOjMzMwogbXNnaWQgImNvdWxkIG5vdCBmaW5kIC90bXAsIHBsZWFzZSBjcmVhdGUhIgogbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgwqsgL3RtcCDCuywgaMOjeSB04bqhby4iCiAKLSM6IHNoZWxsLmM6MzM2CisjOiBzaGVsbC5jOjMzNwogbXNnaWQgIi90bXAgbXVzdCBiZSBhIHZhbGlkIGRpcmVjdG9yeSBuYW1lIgogbXNnc3RyICLCqyAvdG1wIMK7IHBo4bqjaSBsw6AgdMOqbiB0aMawIG3hu6VjIGjhu6NwIGzhu4ciCiAKQEAgLTE1MTIsMTYgKzE1MTMsMTYgQEAKIG1zZ2lkICIlYyVjOiBpbnZhbGlkIG9wdGlvbiIKIG1zZ3N0ciAiJWMlYzogdMO5eSBjaOG7jW4ga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IHNoZWxsLmM6MTY1MQorIzogc2hlbGwuYzoxNjUyCiBtc2dpZCAiSSBoYXZlIG5vIG5hbWUhIgogbXNnc3RyICJLaMO0bmcgY8OzIHTDqm4uIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgImJhc2ggY+G7p2EgR05VLCBwaGnDqm4gYuG6o24gJXMtKCVzKVxuIgogCi0jOiBzaGVsbC5jOjE3OTQKKyM6IHNoZWxsLmM6MTc5NgogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKQEAgLTE1MzAsNDMgKzE1MzEsNDMgQEAKICJT4butIGThu6VuZzpcdCVzIFt0w7l5IGNo4buNbiBHTlUgZMOgaV0gW3TDuXkgY2jhu41uXSAuLi5cbiIKICJcdCVzIFt0w7l5IGNo4buNbiBHTlUgZMOgaV0gW3TDuXkgY2jhu41uXSB04bqtcC10aW4tdsSDbi1s4buHbmggLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc5NgorIzogc2hlbGwuYzoxNzk4CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gR05VIGTDoGk6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMAorIzogc2hlbGwuYzoxODAyCiBtc2dpZCAiU2hlbGwgb3B0aW9uczpcbiIKIG1zZ3N0ciAiVMO5eSBjaOG7jW4gdHLDrG5oIGJhbyA6XG4iCiAKLSM6IHNoZWxsLmM6MTgwMQorIzogc2hlbGwuYzoxODAzCiBtc2dpZCAiXHQtaXJzRCBvciAtYyBjb21tYW5kIG9yIC1PIHNob3B0X29wdGlvblx0XHQoaW52b2NhdGlvbiBvbmx5KVxuIgogbXNnc3RyICJcdC1pcnNEIGhv4bq3YyAtYyBs4buHbmggb3IgLU8gc2hvcHRfb3B0aW9uXHRcdChjaOG7iSBjdeG7mWMgZ+G7jWkpXG4iCiAKLSM6IHNoZWxsLmM6MTgxNgorIzogc2hlbGwuYzoxODE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIlx0LSVzIG9yIC1vIG9wdGlvblxuIgogbXNnc3RyICJcdC0lcyBob+G6t2MgLW8gdMO5eSBjaOG7jW5cbiIKIAotIzogc2hlbGwuYzoxODIyCisjOiBzaGVsbC5jOjE4MjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgXCJoZWxwIHNldFwiJyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGVsbCBvcHRpb25zLlxuIgogbXNnc3RyICIiCiAiR8O1IGPDonUgbOG7h25oIHRy4bujIGdpw7pwIMKrICVzIC1jIFwiaGVscCBzZXRcIiDCuyDEkeG7gyB4ZW0gdGjDqm0gdGjDtG5nIHRpbiB24buBIGPDoWMgdMO5eSAiCiAiY2jhu41uIHRyw6xuaCBiYW8uXG4iCiAKLSM6IHNoZWxsLmM6MTgyMworIzogc2hlbGwuYzoxODI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIGhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHNoZWxsIGJ1aWx0aW4gY29tbWFuZHMuXG4iCiBtc2dzdHIgIiIKICJHw7UgY8OidSBs4buHbmggdHLhu6MgZ2nDunAgwqsgJXMgLWMgaGVscCDCuyDEkeG7gyB4ZW0gdGjDqm0gdGjDtG5nIHRpbiB24buBIGPDoWMgY8OidSBs4buHbmggIgogInRyw6xuaCBiYW8gZOG7sW5nIHPhurVuLlxuIgogCi0jOiBzaGVsbC5jOjE4MjQKKyM6IHNoZWxsLmM6MTgyNgogIywgYy1mb3JtYXQKIG1zZ2lkICJVc2UgdGhlIGBiYXNoYnVnJyBjb21tYW5kIHRvIHJlcG9ydCBidWdzLlxuIgogbXNnc3RyICJEw7luZyBs4buHbmggwqsgYmFzaGJ1ZyDCuyDEkeG7gyB0aMO0bmcgYsOhbyBs4buXaS5cbiIKIAotIzogc2lnLmM6NjI2CisjOiBzaWcuYzo2MzgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2lncHJvY21hc2s6ICVkOiBpbnZhbGlkIG9wZXJhdGlvbiIKIG1zZ3N0ciAic2lncHJvY21hc2s6ICVkOiB0aGFvIHTDoWMga2jDtG5nIGjhu6NwIGzhu4ciCkBAIC0xNzQwLDgzICsxNzQxLDg1IEBACiBtc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgogbXNnc3RyICJLaMO0bmcgcsO1IHTDrW4gaGnhu4d1ICMlZCIKIAotIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTQ1NAorIzogc3Vic3QuYzoxMzMzIHN1YnN0LmM6MTUwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIGAlcycgaW4gJXMiCiBtc2dzdHIgInNhaSB0aGF5IHRo4bq/OiBraMO0bmcgY8OzIMKrICVzIMK7IMSRw7NuZyB0cm9uZyAlcyIKIAotIzogc3Vic3QuYzoyNzM1CisjOiBzdWJzdC5jOjI3OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gbGlzdCB0byBhcnJheSBtZW1iZXIiCiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgZ8OhbiBkYW5oIHPDoWNoIGNobyBi4buZIHBo4bqtbiBj4bunYSBt4bqjbmciCiAKLSM6IHN1YnN0LmM6NDc1NCBzdWJzdC5jOjQ3NzAKKyM6IHN1YnN0LmM6NDk3OSBzdWJzdC5jOjQ5OTUKIG1zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIOG7kW5nIGThuqtuIMSR4buDIHRoYXkgdGjhur8gdGnhur9uIHRyw6xuaCIKIAotIzogc3Vic3QuYzo0ODAyCisjOiBzdWJzdC5jOjUwMjcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB0aeG6v24gdHLDrG5oIGNvbiDEkeG7gyB0aGF5IHRo4bq/IHRp4bq/biB0csOsbmgiCiAKLSM6IHN1YnN0LmM6NDg0NworIzogc3Vic3QuYzo1MDcyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHJlYWRpbmciCiBtc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIOG7kW5nIGThuqtuIMSR4bq3dCB0w6puICVzIMSR4buDIMSR4buNYyIKIAotIzogc3Vic3QuYzo0ODQ5CisjOiBzdWJzdC5jOjUwNzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3Igd3JpdGluZyIKIG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58g4buRbmcgZOG6q24gxJHhurd0IHTDqm4gJXMgxJHhu4MgZ2hpIgogCi0jOiBzdWJzdC5jOjQ4NjcKKyM6IHN1YnN0LmM6NTA5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCiBtc2dzdHIgImtow7RuZyB0aOG7gyBuaMOibiDEkcO0aSDhu5FuZyBk4bqrbiDEkeG6t3QgdMOqbiAlcyB0aMOgbmggZmQgJWQiCiAKLSM6IHN1YnN0LmM6NTA2MworIzogc3Vic3QuYzo1Mjg0CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyDhu5FuZyBk4bqrbiDEkeG7gyB0aGF5IHRo4bq/IGzhu4duaCIKIAotIzogc3Vic3QuYzo1MDk3CisjOiBzdWJzdC5jOjUzMjIKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCiBtc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyB0aeG6v24gdHLDrG5oIGNvbiDEkeG7gyB0aGF5IHRo4bq/IGzhu4duaCIKIAotIzogc3Vic3QuYzo1MTE0CisjOiBzdWJzdC5jOjUzMzkKIG1zZ2lkICJjb21tYW5kX3N1YnN0aXR1dGU6IGNhbm5vdCBkdXBsaWNhdGUgcGlwZSBhcyBmZCAxIgogbXNnc3RyICJjb21tYW5kX3N1YnN0aXR1dGU6IGtow7RuZyB0aOG7gyBuaMOibiDEkcO0aSDhu5FuZyBk4bqrbiB0aMOgbmggZmQgMSIKIAotIzogc3Vic3QuYzo1NjE3CisjOiBzdWJzdC5jOjU4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCiBtc2dzdHIgIiVzOiB0aGFtIHPhu5EgdsO0IGdpw6EgdHLhu4sgaG/hurdjIGNoxrBhIMSRxrDhu6NjIMSR4bq3dCIKIAotIzogc3Vic3QuYzo1OTA3CisjOiBzdWJzdC5jOjYxMjUgc3Vic3QuYzo2MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiCiBtc2dzdHIgIiVzOiBiaeG7g3UgdGjhu6ljIGNodeG7l2kgcGjhu6UgPCAwIgogCi0jOiBzdWJzdC5jOjY5NjUKKyM6IHN1YnN0LmM6NzI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiJXM6IHNhaSB0aGF5IHRo4bq/IgogCi0jOiBzdWJzdC5jOjcwNDUKKyM6IHN1YnN0LmM6NzM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiQlczoga2jDtG5nIHRo4buDIGfDoW4gYuG6sW5nIGPDoWNoIG7DoHkiCiAKLSM6IHN1YnN0LmM6NzM3NAorIzogc3Vic3QuYzo3Njg0CiBtc2dpZCAiIgogImZ1dHVyZSB2ZXJzaW9ucyBvZiB0aGUgc2hlbGwgd2lsbCBmb3JjZSBldmFsdWF0aW9uIGFzIGFuIGFyaXRobWV0aWMgIgogInN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgorInBoacOqbiBi4bqjbiB0csOsbmggYmFvIG3hu5tpIHPhur0gw6lwIGJ14buZYyDGsOG7m2MgbMaw4bujbmcgZMaw4bubaSBk4bqhbmcgbeG7mXQgaMOgbSB0aGF5IHRo4bq/IHPhu5EgIgorImjhu41jIgogCi0jOiBzdWJzdC5jOjc4MzkKKyM6IHN1YnN0LmM6ODE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgogbXNnc3RyICJzYWkgdGhheSB0aOG6vzoga2jDtG5nIGPDsyDCqyBgIMK7IMSRw7NuZyB0cm9uZyAlcyIKIAotIzogc3Vic3QuYzo4NzIwCisjOiBzdWJzdC5jOjkwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICJraMO0bmcga2jhu5twOiAlcyIKQEAgLTE4MzksMzAgKzE4NDIsMzAgQEAKIG1zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgogbXNnc3RyICLEkeG7o2kgZOG6pXUgbmdv4bq3YyDEkcOzbmcgwqsgKSDCuywgY8OybiB0w6xtICVzIgogCi0jOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgorIzogdGVzdC5jOjI4MCB0ZXN0LmM6Njk4IHRlc3QuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIlczogxJHhu6NpIHRvw6FuIHThu60gbmd1ecOqbiBwaMOibiIKIAotIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzM2CisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKIG1zZ3N0ciAiJXM6IMSR4bujaSB0b8OhbiB04butIG5o4buLIHBow6JuIgogCi0jOiB0ZXN0LmM6ODExCisjOiB0ZXN0LmM6ODE2CiBtc2dpZCAibWlzc2luZyBgXSciCiBtc2dzdHIgInRoaeG6v3UgZOG6pXUgbmdv4bq3YyB24bulIMSRw7NuZyDCqyBdIMK7IgogCi0jOiB0cmFwLmM6MjAzCisjOiB0cmFwLmM6MjA3CiBtc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgogbXNnc3RyICJz4buRIHRo4bupIHThu7EgdMOtbiBoaeG7h3Uga2jDtG5nIGjhu6NwIGzhu4ciCiAKLSM6IHRyYXAuYzozMjcKKyM6IHRyYXAuYzozMzcKICMsIGMtZm9ybWF0CiBtc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKIG1zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IGdpw6EgdHLhu4sgc2FpIHRyb25nIGRhbmggc8OhY2ggdHJhcF9saXN0WyVkXTogJXAiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCkBAIC0xODcwLDcgKzE4NzMsNyBAQAogInJ1bl9wZW5kaW5nX3RyYXBzOiBi4buZIHjhu60gbMO9IHTDrW4gaGnhu4d1IGzDoCBTSUdfREZMLCDEkWFuZyBn4butaSBs4bqhaSAlZCAoJXMpIGNobyAiCiAibcOsbmgiCiAKLSM6IHRyYXAuYzozODAKKyM6IHRyYXAuYzozOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXI6IHTDrW4gaGnhu4d1IHNhaSAlZCIKQEAgLTE4ODAsNjMgKzE4ODMsNjQgQEAKIG1zZ2lkICJlcnJvciBpbXBvcnRpbmcgZnVuY3Rpb24gZGVmaW5pdGlvbiBmb3IgYCVzJyIKIG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG5o4bqtcCBs4budaSB4w6FjIMSR4buLbmggaMOgbSBjaG8gwqsgJXMgwrsiCiAKLSM6IHZhcmlhYmxlcy5jOjc0OAorIzogdmFyaWFibGVzLmM6NzU1CiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIGxldmVsICglZCkgdG9vIGhpZ2gsIHJlc2V0dGluZyB0byAxIgogbXNnc3RyICJj4bqlcCB0csOsbmggYmFvICglZCkgcXXDoSBjYW8gbsOqbiDEkeG6t3QgbOG6oWkgdGjDoG5oIDEiCiAKLSM6IHZhcmlhYmxlcy5jOjE5MTUKKyM6IHZhcmlhYmxlcy5jOjE5MzIKIG1zZ2lkICJtYWtlX2xvY2FsX3ZhcmlhYmxlOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIm1ha2VfbG9jYWxfdmFyaWFibGU6IGtow7RuZyBjw7Mgbmfhu68gY+G6o25oIGjDoG0g4bufIHBo4bqhbSB2aSBoaeG7h24gdGjhu51pIgogCi0jOiB2YXJpYWJsZXMuYzozMTU5CisjOiB2YXJpYWJsZXMuYzozMTgyCiBtc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICJhbGxfbG9jYWxfdmFyaWFibGVzOiBraMO0bmcgY8OzIG5n4buvIGPhuqNuaCBow6BtIOG7nyBwaOG6oW0gdmkgaGnhu4duIHRo4budaSIKIAotIzogdmFyaWFibGVzLmM6MzM3NgotIywgZnV6enksIGMtZm9ybWF0CisjOiB2YXJpYWJsZXMuYzozNDI3CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzIGhhcyBudWxsIGV4cG9ydHN0ciIKLW1zZ3N0ciAiJXM6IHRoYW0gc+G7kSB2w7QgZ2nDoSB0cuG7iyBob+G6t2MgY2jGsGEgxJHGsOG7o2MgxJHhurd0IgorbXNnc3RyICIlcyBjw7MgY2h14buXaSB4deG6pXQgKGV4cG9ydHN0cikgdsO0IGdpw6EgdHLhu4siCiAKLSM6IHZhcmlhYmxlcy5jOjMzODEgdmFyaWFibGVzLmM6MzM5MAorIzogdmFyaWFibGVzLmM6MzQzMiB2YXJpYWJsZXMuYzozNDQxCiAjLCBjLWZvcm1hdAogbXNnaWQgImludmFsaWQgY2hhcmFjdGVyICVkIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgInNhaSBrw70gdOG7sSAlZCB0cm9uZyBjaHXhu5dpIGV4cG9ydHN0ciBjaG8gJXMiCiAKLSM6IHZhcmlhYmxlcy5jOjMzOTYKKyM6IHZhcmlhYmxlcy5jOjM0NDcKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gYD0nIGluIGV4cG9ydHN0ciBmb3IgJXMiCiBtc2dzdHIgImtow7RuZyBjw7MgZOG6pXUgYuG6sW5nIMKrID0gwrsgdHJvbmcgY2h14buXaSBleHBvcnRzdHIgY2hvICVzIgogCi0jOiB2YXJpYWJsZXMuYzozODM1CisjOiB2YXJpYWJsZXMuYzozODkxCiBtc2dpZCAicG9wX3Zhcl9jb250ZXh0OiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSBmdW5jdGlvbiBjb250ZXh0IgogbXNnc3RyICIiCiAicG9wX3Zhcl9jb250ZXh0OiDEkeG6p3UgY+G7p2Egc2hlbGxfdmFyaWFibGVzIChjw6FjIGJp4bq/biB0csOsbmggYmFvKSBraMO0bmcgcGjhuqNpIGzDoCAiCiAibmfhu68gY+G6o25oIGjDoG0iCiAKLSM6IHZhcmlhYmxlcy5jOjM4NDgKKyM6IHZhcmlhYmxlcy5jOjM5MDQKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IG5vIGdsb2JhbF92YXJpYWJsZXMgY29udGV4dCIKIG1zZ3N0ciAiIgogInBvcF92YXJfY29udGV4dDoga2jDtG5nIGPDsyBuZ+G7ryBj4bqjbmggZ2xvYmFsX3ZhcmlhYmxlcyAoY8OhYyBiaeG6v24gdG/DoG4gY+G7pWMpIgogCi0jOiB2YXJpYWJsZXMuYzozOTIyCisjOiB2YXJpYWJsZXMuYzozOTc4CiBtc2dpZCAicG9wX3Njb3BlOiBoZWFkIG9mIHNoZWxsX3ZhcmlhYmxlcyBub3QgYSB0ZW1wb3JhcnkgZW52aXJvbm1lbnQgc2NvcGUiCiBtc2dzdHIgIiIKICJwb3Bfc2NvcGU6IMSR4bqndSBj4bunYSBzaGVsbF92YXJpYWJsZXMgKGPDoWMgYmnhur9uIHRyw6xuaCBiYW8pIGtow7RuZyBwaOG6o2kgbMOgIHBo4bqhbSAiCiAidmkgbcO0aSB0csaw4budbmcgdOG6oW0gdGjhu51pIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyM6IHZhcmlhYmxlcy5jOjQ3ODYKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgotbXNnc3RyICIlczoga2jDtG5nIHRo4buDIG3hu58gOiAlcyIKK21zZ3N0ciAiJXM6ICVzOiBraMO0bmcgdGjhu4MgbeG7nyBkxrDhu5tpIGThuqFuZyBU4bqsUF9USU4iCiAKLSM6IHZhcmlhYmxlcy5jOjQ2ODMKLSMsIGZ1enp5LCBjLWZvcm1hdAorIzogdmFyaWFibGVzLmM6NDc5MQorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKLW1zZ3N0ciAiJWQ6IGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIGtow7RuZyBo4bujcCBs4buHOiAlcyIKK21zZ3N0ciAiJXM6ICVzOiBzYWkgxJHhurd0IGdpw6EgdHLhu4sgY2hvIGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIHbhur90IgogCiAjOiB2ZXJzaW9uLmM6NDYKLW1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorIywgZnV6enkKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgogbXNnc3RyICJUw6FjIHF1eeG7gW4gwqkgbsSDbSAyMDA5IGPhu6dhIFThu5UgY2jhu6ljIFBo4bqnbiBt4buBbSBU4buxIGRvLiIKIAogIzogdmVyc2lvbi5jOjQ3CkBAIC0xOTYzLDM4ICsxOTY3LDM4IEBACiBtc2dzdHIgIktIw5RORyBC4bqiTyDEkOG6ok0gR8OMIEPhuqIsIHbhu5tpIMSRaeG7gXUga2nhu4duIMSRxrDhu6NjIHBow6FwIGx14bqtdCBjaG8gcGjDqXAuXG4iCiAKICM6IHZlcnNpb24yLmM6ODYKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuXG4iCi1tc2dzdHIgIlTDoWMgcXV54buBbiDCqSBuxINtIDIwMDkgY+G7p2EgVOG7lSBjaOG7qWMgUGjhuqduIG3hu4FtIFThu7EgZG8uIgorbXNnc3RyICJUw6FjIHF1eeG7gW4gwqkgbsSDbSAyMDA5IGPhu6dhIFThu5UgY2jhu6ljIFBo4bqnbiBt4buBbSBU4buxIGRvLlxuIgogCiAjOiB2ZXJzaW9uMi5jOjg3Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKICJodG1sPlxuIgogbXNnc3RyICIiCi0iR2nhuqV5IHBow6lwIEdQTHYzKzogR2nhuqV5IFBow6lwIEPDtG5nIEPhu5luZyBHTlUgcGhpw6puIGLhuqNuIDMgaGF5IHNhdSA8aHR0cDovL2dudS4iCisiR2nhuqV5IHBow6lwIEdQTHYyKzogR2nhuqV5IFBow6lwIEPDtG5nIEPhu5luZyBHTlUgcGhpw6puIGLhuqNuIDIgaGF5IHNhdSA8aHR0cDovL2dudS4iCiAib3JnL2xpY2Vuc2VzL2dwbC5odG1sPlxuIgogCiAjOiB4bWFsbG9jLmM6OTEKLSMsIGZ1enp5LCBjLWZvcm1hdAorIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2M6IGtow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCAlbHUgYnl0ZSAoJWx1IGJ5dGUgxJHDoyBj4bqlcCBwaMOhdCkiCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgJWx1IGJ5dGUgKCVsdSBieXRlIMSRxrDhu6NjIGPhuqVwIHBow6F0KSIKIAogIzogeG1hbGxvYy5jOjkzCi0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBhbGxvY2F0ZSAlbHUgYnl0ZXMiCi1tc2dzdHIgInhtYWxsb2M6IGtow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCAlbHUgYnl0ZSIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCAlbHUgYnl0ZSIKIAogIzogeG1hbGxvYy5jOjE2MwotIywgZnV6enksIGMtZm9ybWF0CisjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCi1tc2dzdHIgInhtYWxsb2M6ICVzOiVkOiBraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgJWx1IGJ5dGUgKCVsdSBieXRlIMSRw6MgY+G6pXAgcGjDoXQpIgorbXNnc3RyICIlczogJXM6JWQ6IGtow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCAlbHUgYnl0ZSAoJWx1IGJ5dGUgxJHGsOG7o2MgY+G6pXAgcGjDoXQpIgogCiAjOiB4bWFsbG9jLmM6MTY1Ci0jLCBmdXp6eSwgYy1mb3JtYXQKKyMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiVkOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotbXNnc3RyICJ4bWFsbG9jOiAlczolZDoga2jDtG5nIHRo4buDIGPhuqVwIHBow6F0ICVsdSBieXRlIgorbXNnc3RyICIlczogJXM6JWQ6IGtow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCAlbHUgYnl0ZSIKIAogIzogYnVpbHRpbnMuYzo0MwogbXNnaWQgImFsaWFzIFstcF0gW25hbWVbPXZhbHVlXSAuLi4gXSIKQEAgLTIwMzAsNyArMjAzNCw4IEBACiBtc2dzdHIgImNhbGxlciBbYl90aOG7qWNdIgogCiAjOiBidWlsdGlucy5jOjY0Ci1tc2dpZCAiY2QgWy1MfC1QXSBbZGlyXSIKKyMsIGZ1enp5Cittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCiBtc2dzdHIgImNkIFstTHwtUF0gW3Rt4bulY10iCiAKICM6IGJ1aWx0aW5zLmM6NjYKQEAgLTIwNTQsMTEgKzIwNTksMTMgQEAKIG1zZ3N0ciAiY29tbWFuZCBbLXBWdl0gY29tbWFuZCBbYXJnIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6NzYKLW1zZ2lkICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCisjLCBmdXp6eQorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCiBtc2dzdHIgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFt0w6puWz1nacOhX3Ry4buLXSAuLi5dIgogCiAjOiBidWlsdGlucy5jOjc4Ci1tc2dpZCAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKKyMsIGZ1enp5Cittc2dpZCAidHlwZXNldCBbLWFBZkZnaWxydHV4XSBbLXBdIG5hbWVbPXZhbHVlXSAuLi4iCiBtc2dzdHIgInR5cGVzZXQgWy1hQWZGaWxydHV4XSBbLXBdIHTDqm5bPWdpw6FfdHLhu4tdIC4uLiIKIAogIzogYnVpbHRpbnMuYzo4MApAQCAtMjExNyw5ICsyMTI0LDggQEAKIG1zZ3N0ciAiaGFzaCBbLWxyXSBbLXAgxJHGsOG7nW5nX2ThuqtuXSBbLWR0XSBbdMOqbiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjExNwotIywgZnV6enkKIG1zZ2lkICJoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dIgotbXNnc3RyICJoZWxwIFstZHNdIFtt4bqrdSAuLi5dIgorbXNnc3RyICJoZWxwIFstZG1zXSBbbeG6q3UgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMjEKIG1zZ2lkICIiCkBAIC0yMTU4LDEzICsyMTY0LDEyIEBACiBtc2dzdHIgImxldCDEkeG7kWlfc+G7kSBbxJHhu5FpX3Phu5EgLi4uXSIKIAogIzogYnVpbHRpbnMuYzoxMzYKLSMsIGZ1enp5CiBtc2dpZCAiIgogInJlYWQgWy1lcnNdIFstYSBhcnJheV0gWy1kIGRlbGltXSBbLWkgdGV4dF0gWy1uIG5jaGFyc10gWy1OIG5jaGFyc10gWy1wICIKICJwcm9tcHRdIFstdCB0aW1lb3V0XSBbLXUgZmRdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKLSJyZWFkIFstZXJzXSBbLWEgbeG6o25nXSBbLWQgZ2nhu5tpX2jhuqFuXSBbLWkgdsSDbl9i4bqjbl0gWy1uIHPhu5Ffa8O9X3Thu7FdIFstcCBuaOG6r2NdIFstdCAiCi0idGjhu51pX2jhuqFuXSBbLXUgZmRdIFt0w6puIC4uLl0iCisicmVhZCBbLWVyc10gWy1hIG3huqNuZ10gWy1kIGdp4bubaV9o4bqhbl0gWy1pIHbEg25fYuG6o25dIFstbiBz4buRX2vDvV904buxXSBbLU4gc+G7kV9rw71fdOG7sV0gIgorIlstcCBuaOG6r2NdIFstdCB0aOG7nWlfaOG6oW5dIFstdSBmZF0gW3TDqm4gLi4uXSIKIAogIyBuZ2jEqWEgY2jhu68KICM6IGJ1aWx0aW5zLmM6MTM4CkBAIC0yMTcyLDcgKzIxNzcsOCBAQAogbXNnc3RyICJyZXR1cm4gW25dIgogCiAjOiBidWlsdGlucy5jOjE0MAotbXNnaWQgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbYXJnIC4uLl0iCisjLCBmdXp6eQorbXNnaWQgInNldCBbLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFstLV0gW2FyZyAuLi5dIgogbXNnc3RyICJzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyB0w7l5X2No4buNbl0gW8SR4buRaV9z4buRIC4uLl0iCiAKICM6IGJ1aWx0aW5zLmM6MTQyCkBAIC0yMTg3LDcgKzIxOTMsOCBAQAogImV4cG9ydCAtcCIKIAogIzogYnVpbHRpbnMuYzoxNDYKLW1zZ2lkICJyZWFkb25seSBbLWFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCisjLCBmdXp6eQorbXNnaWQgInJlYWRvbmx5IFstYUFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCiBtc2dzdHIgIiIKICJyZWFkb25seSBbLWFmXSBbdMOqbls9Z2nDoV90cuG7i10gLi4uXVxuIgogIlx0aGF5XG4iCkBAIC0yMzMzLDE1ICsyMzQwLDE0IEBACiBtc2dzdHIgInByaW50ZiBbLXYgYmnhur9uXSDEkeG7i25oX2ThuqFuZyBbxJHhu5FpX3Phu5FdIgogCiAjOiBidWlsdGlucy5jOjIyOQotIywgZnV6enkKIG1zZ2lkICIiCiAiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyBvcHRpb25dIFstQSBhY3Rpb25dIFstRyBnbG9icGF0XSBbLSIKICJXIHdvcmRsaXN0XSAgWy1GIGZ1bmN0aW9uXSBbLUMgY29tbWFuZF0gWy1YIGZpbHRlcnBhdF0gWy1QIHByZWZpeF0gWy1TICIKICJzdWZmaXhdIFtuYW1lIC4uLl0iCiBtc2dzdHIgIiIKLSJjb21wbGV0ZSBbLWFiY2RlZmdqa3N1dl0gWy1wcl0gWy1vIHTDuXlfY2jhu41uXSBbLUEgaMOgbmhfxJHhu5luZ10gWy1HIG3huqt1X2dsb2JdIFstIgotIlcgZGFuaF9zw6FjaF904burXSAgWy1GIGjDoG1dIFstQyBs4buHbmhdIFstWCBt4bqrdV9s4buNY10gWy1QIHRp4buBbl904buRXSBbLVMgaOG6rXVfdOG7kV0gIgotIlt0w6puIC4uLl0iCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyB0w7l5X2No4buNbl0gWy1BIGjDoG5oX8SR4buZbmddIFstRyAiCisibeG6q3VfZ2xvYl0gWy1XIGRhbmhfc8OhY2hfdOG7q10gIFstRiBow6BtXSBbLUMgbOG7h25oXSBbLVggbeG6q3VfbOG7jWNdIFstUCB0aeG7gW5fdOG7kV0gWy0iCisiUyBo4bqtdV904buRXSBbdMOqbiAuLi5dIgogCiAjOiBidWlsdGlucy5jOjIzMwogbXNnaWQgIiIKQEAgLTIzNTIsOSArMjM1OCw4IEBACiAiZGFuaF9zw6FjaF904burXSAgWy1GIGjDoG1dIFstQyBs4buHbmhdIFstWCBt4bqrdV9s4buNY10gWy1QIHRp4buBbl904buRXSBbLVMgaOG6rXVfdOG7kV0gW3Thu6tdIgogCiAjOiBidWlsdGlucy5jOjIzNwotIywgZnV6enkKIG1zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCi1tc2dzdHIgImNvbXBvcHQgWy1vfCtvIHTDuXlfY2jhu41uXSBbdMOqbiAuLi5dIgorbXNnc3RyICJjb21wb3B0IFstb3wrbyB0w7l5X2No4buNbl0gWy1ERV0gW3TDqm4gLi4uXSIKIAogIzogYnVpbHRpbnMuYzoyNDAKIG1zZ2lkICIiCkBAIC0yNTg5LDYgKzI1OTQsNyBAQAogIlx0XHRCX1RI4buoQyBjxaluZyBo4bujcCBs4buHLiIKIAogIzogYnVpbHRpbnMuYzozODMKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkNoYW5nZSB0aGUgc2hlbGwgd29ya2luZyBkaXJlY3RvcnkuXG4iCiAiICAgIFxuIgpAQCAtMjYxNCwxMSArMjYyMCwxNSBAQAogIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCiAiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCiAiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgogIiAgICBcbiIKICIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCi0iICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQ7IG5vbi16ZXJvIG90aGVyd2lzZS4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIkNodXnhu4NuIMSR4buVaSB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGPhu6dhIHRyw6xuaCBiYW8uXG4iCiAiXG4iCkBAIC0yNjQ0LDcgKzI2NTQsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSAwIG7hur91IHRoxrAgbeG7pWMgxJHGsOG7o2MgY2h1eeG7g24gxJHhu5VpOyBraMO0bmcgdGjDrCBraMOhYyBz4buRIGtow7RuZy4iCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNjcyLDcgKzI2ODIsNyBAQAogIlx0XHRUcuG6oyBs4bqhaSAwIG7hur91IGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiBzYWlcbiIKICJcdFx0dsOgIG7hur91IMSR4buNYyDEkcaw4bujYyB0aMawIG3hu6VjIGhp4buHbiB0aOG7nWkuIgogCi0jOiBidWlsdGlucy5jOjQyOAorIzogYnVpbHRpbnMuYzo0MzEKIG1zZ2lkICIiCiAiTnVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI2ODgsNyArMjY5OCw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdEzDumMgbsOgbyBjxaluZyB0aMOgbmggY8O0bmcuIgogCi0jOiBidWlsdGlucy5jOjQzOQorIzogYnVpbHRpbnMuYzo0NDIKIG1zZ2lkICIiCiAiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCiAiICAgIFxuIgpAQCAtMjcwMCw3ICsyNzEwLDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0TMO6YyBuw6BvIGPFqW5nIHRow6BuaCBjw7RuZy4iCiAKLSM6IGJ1aWx0aW5zLmM6NDQ4CisjOiBidWlsdGlucy5jOjQ1MQogbXNnaWQgIiIKICJSZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNzEyLDcgKzI3MjIsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRMw7pjIG7DoG8gY8Wpbmcga2jDtG5nIHRow6BuaCBjw7RuZy4iCiAKLSM6IGJ1aWx0aW5zLmM6NDU3CisjOiBidWlsdGlucy5jOjQ2MAogbXNnaWQgIiIKICJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNzQ2LDcgKzI3NTYsOCBAQAogIlRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgdGhvw6F0IGPhu6dhIGPDonUgTOG7hk5ILCBob+G6t2MgYuG7iyBs4buXaSBu4bq/dSBraMO0bmcgdMOsbSB0aOG6pXkgY8OidSAiCiAiTOG7hk5ILiIKIAotIzogYnVpbHRpbnMuYzo0NzYKKyM6IGJ1aWx0aW5zLmM6NDc5CisjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI3NTcsNiArMjc2OCw4IEBACiAiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgogIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCiAiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCiAiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgogIiAgICBcbiIKICIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKQEAgLTI3NzYsNyArMjc4OSw3IEBACiAiICAgIFxuIgogIiAgICBXaGVuIHVzZWQgaW4gYSBmdW5jdGlvbiwgYGRlY2xhcmUnIG1ha2VzIE5BTUVzIGxvY2FsLCBhcyB3aXRoIHRoZSAiCiAiYGxvY2FsJ1xuIgotIiAgICBjb21tYW5kLlxuIgorIiAgICBjb21tYW5kLiAgVGhlIGAtZycgb3B0aW9uIHN1cHByZXNzZXMgdGhpcyBiZWhhdmlvci5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCkBAIC0yODE0LDcgKzI4MjcsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIHNhaSBob+G6t2MgZ+G6t3AgbOG7l2kuIgogCi0jOiBidWlsdGlucy5jOjUxMgorIzogYnVpbHRpbnMuYzo1MTcKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCkBAIC0yODI0LDcgKzI4MzcsNyBAQAogIlxuIgogIlx0UXXDoSBjxakuIFhlbSDCqyBoZWxwIGRlY2xhcmUgwrsuIgogCi0jOiBidWlsdGlucy5jOjUyMAorIzogYnVpbHRpbnMuYzo1MjUKIG1zZ2lkICIiCiAiRGVmaW5lIGxvY2FsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0yODUxLDcgKzI4NjQsNyBAQAogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiBzYWkgaGF5IGfhurdwIGzhu5dpLFxuIgogIlx0dsOgIG7hur91IHRyw6xuaCBiYW8gxJFhbmcgY2jhuqF5IGNo4bupYyBuxINuZy4iCiAKLSM6IGJ1aWx0aW5zLmM6NTM3CisjOiBidWlsdGlucy5jOjU0MgogbXNnaWQgIiIKICJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKICIgICAgXG4iCkBAIC0yOTA4LDcgKzI5MjEsNyBAQAogIlx0XHRcXHZcdGtob+G6o25nIHRhYiB0aGVvIGNoaeG7gXUgZOG7jWNcbiIKICJcdFx0XFxcXFx0Z+G6oWNoIGNow6lvIG5nxrDhu6NjIgogCi0jOiBidWlsdGlucy5jOjU3MQorIzogYnVpbHRpbnMuYzo1NzYKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjkzMCw3ICsyOTQzLDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyBn4bq3cCBs4buXaSBnaGkuIgogCi0jOiBidWlsdGlucy5jOjU4NgorIzogYnVpbHRpbnMuYzo1OTEKIG1zZ2lkICIiCiAiRW5hYmxlIGFuZCBkaXNhYmxlIHNoZWxsIGJ1aWx0aW5zLlxuIgogIiAgICBcbiIKQEAgLTI5ODIsNyArMjk5NSw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBUw4pOIGzDoCBt4buZdCBk4buxbmcgc+G6tW4gdHLDrG5oIGJhbywgdsOgIGtow7RuZyBn4bq3cCBs4buXaS4iCiAKLSM6IGJ1aWx0aW5zLmM6NjE0CisjOiBidWlsdGlucy5jOjYxOQogbXNnaWQgIiIKICJFeGVjdXRlIGFyZ3VtZW50cyBhcyBhIHNoZWxsIGNvbW1hbmQuXG4iCiAiICAgIFxuIgpAQCAtMzAwMyw3ICszMDE2LDcgQEAKICJcdFRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgdGhvw6F0IGPhu6dhIGPDonUgbOG7h25oLFxuIgogIlx0aGF5IHRow6BuaCBjw7RuZyBu4bq/dSBjw6J1IGzhu4duaCB2w7QgZ2nDoSB0cuG7iy4iCiAKLSM6IGJ1aWx0aW5zLmM6NjI2CisjOiBidWlsdGlucy5jOjYzMQogbXNnaWQgIiIKICJQYXJzZSBvcHRpb24gYXJndW1lbnRzLlxuIgogIiAgICBcbiIKQEAgLTMwODksNyArMzEwMiw3IEBACiAiXHRraMO0bmcgdGjDoG5oIGPDtG5nIG7hur91IGfhurdwIGvhur90IHRow7pjIGPDoWMgdMO5eSBjaOG7jW4sXG4iCiAiXHRob+G6t2MgbuG6v3UgZ+G6t3AgbOG7l2kuIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0zMTMwLDcgKzMxNDMsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3UgdMOsbSDEkcaw4bujYyBjw6J1IEzhu4ZOSCB2w6Aga2jDtG5nIGfhurdwIGzhu5dpIGNodXnhu4NuIGjGsOG7m25nLiIKIAotIzogYnVpbHRpbnMuYzo2ODkKKyM6IGJ1aWx0aW5zLmM6Njk0CiBtc2dpZCAiIgogIkV4aXQgdGhlIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTMxNDMsNyArMzE1Niw3IEBACiAiXHRLaMO0bmcgxJHGsGEgcmEgTiB0aMOsIHRy4bqhbmcgdGjDoWkgdGhvw6F0XG4iCiAiXHRsw6AgdHLhuqFuZyB0aMOhaSBj4bunYSBjw6J1IGzhu4duaCBjdeG7kWkgY8O5bmcgxJHGsOG7o2MgY2jhuqF5LiIKIAotIzogYnVpbHRpbnMuYzo2OTgKKyM6IGJ1aWx0aW5zLmM6NzAzCiBtc2dpZCAiIgogIkV4aXQgYSBsb2dpbiBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMTU2LDcgKzMxNjksNyBAQAogIlx0VGhvw6F0IGto4buPaSBt4buZdCB0csOsbmggYmFvIMSRxINuZyBuaOG6rXAsIHbhu5tpIHRy4bqhbmcgdGjDoWkgdGhvw6F0IE4uXG4iCiAiXHRUcuG6oyBs4bqhaSBs4buXaSBu4bq/dSBraMO0bmcgxJHGsOG7o2MgdGjhu7FjIHRoaSB0cm9uZyB0csOsbmggYmFvIMSRxINuZyBuaOG6rXAuIgogCi0jOiBidWlsdGlucy5jOjcwOAorIzogYnVpbHRpbnMuYzo3MTMKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBleGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zMjExLDcgKzMyMjQsNyBAQAogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIGhheSB0cuG6oW5nIHRow6FpIGPhu6dhIGPDonUgbOG7h25oIMSRxrDhu6NjIHRo4buxYyB0aGk7XG4iCiAiXHRcdGfhurdwIGzhu5dpIHRow6wga2jDoWMgc+G7kSBraMO0bmcuIgogCi0jOiBidWlsdGlucy5jOjczOAorIzogYnVpbHRpbnMuYzo3NDMKIG1zZ2lkICIiCiAiTW92ZSBqb2IgdG8gdGhlIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzIzMyw3ICszMjQ2LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgY+G7p2EgY8OidSBs4buHbmggxJHGsOG7o2MgbsOibmcgbMOqbiB0csaw4bubYztcbiIKICJcdGfhurdwIGzhu5dpIHRow6wga2jDtG5nIHRow6BuaCBjw7RuZy4iCiAKLSM6IGJ1aWx0aW5zLmM6NzUzCisjOiBidWlsdGlucy5jOjc1OAogbXNnaWQgIiIKICJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtMzI1Nyw3ICszMjcwLDcgQEAKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBjaOG7qWMgbsSDbmcgxJFp4buBdSBraGnhu4NuIGPDtG5nIHZp4buHYyDEkcaw4bujYyBi4bqtdFxuIgogIlx0dsOgIGtow7RuZyBn4bq3cCBs4buXaS4iCiAKLSM6IGJ1aWx0aW5zLmM6NzY3CisjOiBidWlsdGlucy5jOjc3MgogbXNnaWQgIiIKICJSZW1lbWJlciBvciBkaXNwbGF5IHByb2dyYW0gbG9jYXRpb25zLlxuIgogIiAgICBcbiIKQEAgLTMzMDEsNyArMzMxNCw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSB0w6xtIMSRxrDhu6NjIFTDik4gdsOgIGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiBzYWkuIgogCi0jOiBidWlsdGlucy5jOjc5MgorIzogYnVpbHRpbnMuYzo3OTcKIG1zZ2lkICIiCiAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBidWlsdGluIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTMzNDIsNyArMzM1NSw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSB0w6xtIMSRxrDhu6NjIE3huqpVIHbDoCBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpLiIKIAotIzogYnVpbHRpbnMuYzo4MTYKKyM6IGJ1aWx0aW5zLmM6ODIxCiBtc2dpZCAiIgogIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTM0MDksNyArMzQyMiw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgZ+G6t3AgdMO5eSBjaOG7jW4gc2FpIGhheSBn4bq3cCBs4buXaS4iCiAKLSM6IGJ1aWx0aW5zLmM6ODUyCisjOiBidWlsdGlucy5jOjg1NwogbXNnaWQgIiIKICJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgogIiAgICBcbiIKQEAgLTM0NTMsNyArMzQ2Niw3IEBACiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIGfhurdwIHTDuXkgY2jhu41uIHNhaSBoYXkgZ+G6t3AgbOG7l2kuXG4iCiAiXHTEkMawYSByYSDCqyAteCDCuyB0aMOsIHRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgdGhvw6F0IGPhu6dhIGPDonUgTOG7hk5ILiIKIAotIzogYnVpbHRpbnMuYzo4NzkKKyM6IGJ1aWx0aW5zLmM6ODg0CiBtc2dpZCAiIgogIlJlbW92ZSBqb2JzIGZyb20gY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zNDg1LDcgKzM0OTgsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIHNhaSBoYXkgSk9CU1BFQyBzYWkuIgogCi0jOiBidWlsdGlucy5jOjg5OAorIzogYnVpbHRpbnMuYzo5MDMKIG1zZ2lkICIiCiAiU2VuZCBhIHNpZ25hbCB0byBhIGpvYi5cbiIKICIgICAgXG4iCkBAIC0zNTI3LDcgKzM1NDAsOCBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIHNhaSBoYXkgZ+G6t3AgbOG7l2kuIgogCi0jOiBidWlsdGlucy5jOjkyMQorIzogYnVpbHRpbnMuYzo5MjYKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzU2OSw3ICszNTgzLDcgQEAKICIgICAgcnVsZXMgYWJvdmUuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4uIgorIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLiIKIG1zZ3N0ciAiIgogIsSQ4buLbmggZ2nDoSBiaeG7g3UgdGjhu6ljIHPhu5EgaOG7jWMuXG4iCiAiXG4iCkBAIC0zNjEyLDggKzM2MjYsNyBAQAogIlx0TuG6v3UgxJDhu5BJX1Phu5AgY3Xhu5FpIGPDuW5nIMSRxrDhu6NjIMSR4buLbmggZ2nDoSB0aMOgbmggMCB0aMOsIGxldCB0cuG6oyBs4bqhaSAxO1xuIgogIlx0a2jDtG5nIHRow6wgbGV0IHRy4bqjIGzhuqFpIDAuIgogCi0jOiBidWlsdGlucy5jOjk2NgotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6OTcxCiBtc2dpZCAiIgogIlJlYWQgYSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGFuZCBzcGxpdCBpdCBpbnRvIGZpZWxkcy5cbiIKICIgICAgXG4iCkBAIC0zNjcwLDE4ICszNjgzLDIxIEBACiAiXHR2w6AgdOG7qyBjw7JuIGzhuqFpIG7DoG8gxJHGsOG7o2MgZ8OhbiBjaG8gVMOKTiBjdeG7kWkgY8O5bmcuXG4iCiAiXHRDaOG7iSBuaOG7r25nIGvDvSB04buxIMSRxrDhu6NjIHTDrG0gdHJvbmcgJElGUyDEkcaw4bujYyBuaOG6rW4gcmEgbMOgIGvDvSB04buxIMSR4buLbmggZ2nhu5tpIHThu6suXG4iCiAiXG4iCi0iXHRLaMO0bmcgxJHGsGEgcmEgVMOKTiB0aMOsIGTDsm5nIMSRxrDhu6NjIMSR4buNYyBz4bq9IMSRxrDhu6NjIGdoaSBuaOG7myB2w6BvIGJp4bq/biBSRVBMWSAodHLhuqMgIgotImzhu51pKS5cbiIKKyJcdEtow7RuZyDEkcawYSByYSBUw4pOIHRow6wgZMOybmcgxJHGsOG7o2MgxJHhu41jIHPhur0gxJHGsOG7o2MgZ2hpIG5o4bubIHbDoG8gYmnhur9uIFJFUExZICjEkcOhcCAiCisi4bupbmcpLlxuIgogIlxuIgogIlx0VMO5eSBjaOG7jW46XG4iCi0iXHRcdC1hIE3huqJOR1x0Z8OhbiBjw6FjIHThu6sgxJHGsOG7o2MgxJHhu41jIGNobyBuaOG7r25nIHPhu5EgbcWpIHR14bqnbiB04buxXG4iCisiXHRcdC1hIG3huqNuZ1x0Z8OhbiBjw6FjIHThu6sgxJHGsOG7o2MgxJHhu41jIGNobyBuaOG7r25nIHPhu5EgbcWpIHR14bqnbiB04buxXG4iCiAiXHRcdFx0Y+G7p2EgYmnhur9uIG3huqNuZyBN4bqiTkcsIGLhuq90IMSR4bqndSB04burIHPhu5Ega2jDtG5nLlxuIgogIlx0XHQtZCDEkeG7i25oX2dp4bubaVx0dGnhur9wIHThu6VjIMSR4bq/biBraGkgxJHhu41jIGvDvSB04buxIMSR4bqndSB0acOqbiBj4bunYSBERUxJTSxcbiIKICJcdFx0XHRoxqFuIGzDoCBrw70gdOG7sSBkw7JuZyBt4bubaVxuIgogIlx0XHQtZVx0ZMO5bmcgUmVhZGxpbmUgxJHhu4MgbOG6pXkgZMOybmcgdHJvbmcgbeG7mXQgdHLDrG5oIGJhbyB0xrDGoW5nIHTDoWNcbiIKICJcdFx0LWkgY2h14buXaVx0ZMO5bmcgY2h14buXaSBuw6B5IG5oxrAgbMOgIHbEg24gYuG6o24gxJHhuqd1IHRpw6puIGNobyBSZWFkbGluZVxuIgotIlx0XHQtbiBz4buRX2t5X3Thu7FcdHRy4bufIHbhu4Egc2F1IGtoaSDEkeG7jWMgc+G7kSBjw6FjIGvDvSB04buxIG7DoHksXG4iCisiXHRcdC1uIHPhu5Ffa3lfdOG7sVx0dHLhuqMgbOG6oWkgc2F1IGtoaSDEkeG7jWMgc+G7kSBjw6FjIGvDvSB04buxIG7DoHksXG4iCiAiXHRcdFx0aMahbiBsw6AgxJHhu6NpIG3hu5l0IGvDvSB04buxIGTDsm5nIG3hu5tpXG4iCisiXHRcdC1OIHPhu5Ffa8O9X3Thu7FcdHRy4bqjIGzhuqFpIGNo4buJIHNhdSBraGkgxJHhu41jIGNow61uaCB4w6FjIHPhu5EgY8OhYyBrw70gdOG7sSBuw6B5LFxuIgorIlx0XHRu4bq/dSBraMO0bmcgZ+G6t3Aga+G6v3QgdGjDumMgdOG6rXAgdGluIChFT0YpIGhheSBxdcOhIGjhuqFuIMSR4buNYywgY8WpbmcgYuG7jyBxdWEgZOG6pXUgIgorInTDoWNoIG7DoG9cbiIKICJcdFx0LXAgbmjhuq9jXHR4deG6pXQgY2h14buXaSBOSOG6rkMgbcOgIGtow7RuZyBjw7Mga8O9IHThu7EgZMOybmcgbeG7m2kgdGhlbyBzYXUsXG4iCiAiXHRcdFx0dHLGsOG7m2Mga2hpIHRo4butIMSR4buNY1xuIgogIlx0XHQtclx0xJHhu6tuZyBjaG8gcGjDqXAgZ+G6oWNoIGNow6lvIG5nxrDhu6NjIHRob8OhdCBrw70gdOG7sVxuIgpAQCAtMzY5NywxMCArMzcxMywxMCBAQAogIlxuIgogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRNw6MgdHLhuqMgbOG6oWkgbMOgIHPhu5Ega2jDtG5nLCBu4bq/dSBraMO0bmcgZ+G6t3Aga+G6v3QgdGjDumMgdOG6rXAgdGluLFxuIgotIlx0a2jDtG5nIHF1w6EgdGjhu51pIGtoaSDEkeG7jWMsIHbDoCBraMO0bmcgxJHGsGEgcmEgYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4gc2FpXG4iCisiXHRoYXkgcXXDoSBo4bqhbiDEkeG7jWMsIGhheSDEkcawYSByYSBi4buZIG3DtCB04bqjIHThuq1wIHRpbiBzYWlcbiIKICJcdGzDoG0gxJHhu5FpIHPhu5EgdOG7m2kgwqsgLXUgwrsuIgogCi0jOiBidWlsdGlucy5jOjEwMDkKKyM6IGJ1aWx0aW5zLmM6MTAxNAogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTM3MjIsNyArMzczOCw4IEBACiAiXHRUcuG6oyBs4bqhaSBOLCBob+G6t2MgYuG7iyBs4buXaSBu4bq/dSB0csOsbmggYmFvIGtow7RuZyDEkWFuZyBjaOG6oXlcbiIKICJcdFx0beG7mXQgY2jhu6ljIG7Eg25nIGhheSB2xINuIGzhu4duaC4iCiAKLSM6IGJ1aWx0aW5zLmM6MTAyMgorIzogYnVpbHRpbnMuYzoxMDI3CisjLCBmdXp6eQogbXNnaWQgIiIKICJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgXG4iCkBAIC0zNzkxLDYgKzM4MDgsOSBAQAogIiAgICAgIC1QICBJZiBzZXQsIGRvIG5vdCBmb2xsb3cgc3ltYm9saWMgbGlua3Mgd2hlbiBleGVjdXRpbmcgY29tbWFuZHNcbiIKICIgICAgICAgICAgc3VjaCBhcyBjZCB3aGljaCBjaGFuZ2UgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgogIiAgICAgIC1UICBJZiBzZXQsIHRoZSBERUJVRyB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLS0gIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgorIiAgICAgICAgICBJZiB0aGVyZSBhcmUgbm8gcmVtYWluaW5nIGFyZ3VtZW50cywgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICAgICAgICBhcmUgdW5zZXQuXG4iCiAiICAgICAgLSAgIEFzc2lnbiBhbnkgcmVtYWluaW5nIGFyZ3VtZW50cyB0byB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICAgICAgICBUaGUgLXggYW5kIC12IG9wdGlvbnMgYXJlIHR1cm5lZCBvZmYuXG4iCiAiICAgIFxuIgpAQCAtMzg4NSw3ICszOTA1LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyBn4bq3cCB0w7l5IGNo4buNbiBzYWkuIgogCi0jOiBidWlsdGlucy5jOjExMDQKKyM6IGJ1aWx0aW5zLmM6MTExMgogbXNnaWQgIiIKICJVbnNldCB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMgb2Ygc2hlbGwgdmFyaWFibGVzIGFuZCBmdW5jdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMzkxOCw3ICszOTM4LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiBzYWksIHbDoCBUw4pOIGtow7RuZyBjaOG7iSDEkeG7jWMuIgogCi0jOiBidWlsdGlucy5jOjExMjQKKyM6IGJ1aWx0aW5zLmM6MTEzMgogbXNnaWQgIiIKICJTZXQgZXhwb3J0IGF0dHJpYnV0ZSBmb3Igc2hlbGwgdmFyaWFibGVzLlxuIgogIiAgICBcbiIKQEAgLTM5NTIsNyArMzk3Miw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpIGhheSBUw4pOIHNhaSwiCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MworIzogYnVpbHRpbnMuYzoxMTUxCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zOTg4LDcgKzQwMDgsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIHNhaSBoYXkgVMOKTiBzYWkuIgogCi0jOiBidWlsdGlucy5jOjExNjQKKyM6IGJ1aWx0aW5zLmM6MTE3MgogbXNnaWQgIiIKICJTaGlmdCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtNDAwNiw3ICs0MDI2LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IE4ga2jDtG5nIMOibSBoYXkgbOG7m24gaMahbiAkIy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKKyM6IGJ1aWx0aW5zLmM6MTE4NCBidWlsdGlucy5jOjExOTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC00MDMzLDcgKzQwNTMsNyBAQAogIlTDik5fVOG6rFBfVElOO1xuIgogIlx0a2jDtG5nIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgdGjhu4MgxJHhu41jIFTDik5fVOG6rFBfVElOLiIKIAotIzogYnVpbHRpbnMuYzoxMjA3CisjOiBidWlsdGlucy5jOjEyMTUKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtNDA1OCwxNCArNDA3OCwxOCBAQAogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGNo4bupYyBuxINuZyDEkWnhu4F1IGtoaeG7g24gY8O0bmcgdmnhu4djIMSRw6MgxJHGsOG7o2MgYuG6rXQsIHbDoCAiCiAia2jDtG5nIGfhurdwIGzhu5dpLiIKIAotIzogYnVpbHRpbnMuYzoxMjIzCisjOiBidWlsdGlucy5jOjEyMzEKKyMsIGZ1enp5CiBtc2dpZCAiIgogIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgogIiAgICBFeGl0cyB3aXRoIGEgc3RhdHVzIG9mIDAgKHRydWUpIG9yIDEgKGZhbHNlKSBkZXBlbmRpbmcgb25cbiIKICIgICAgdGhlIGV2YWx1YXRpb24gb2YgRVhQUi4gIEV4cHJlc3Npb25zIG1heSBiZSB1bmFyeSBvciBiaW5hcnkuICBVbmFyeVxuIgogIiAgICBleHByZXNzaW9ucyBhcmUgb2Z0ZW4gdXNlZCB0byBleGFtaW5lIHRoZSBzdGF0dXMgb2YgYSBmaWxlLiAgVGhlcmVcbiIKLSIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYXMgd2VsbCwgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMuXG4iCisiICAgIGFyZSBzdHJpbmcgb3BlcmF0b3JzIGFuZCBudW1lcmljIGNvbXBhcmlzb24gb3BlcmF0b3JzIGFzIHdlbGwuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYmVoYXZpb3Igb2YgdGVzdCBkZXBlbmRzIG9uIHRoZSBudW1iZXIgb2YgYXJndW1lbnRzLiAgUmVhZCB0aGVcbiIKKyIgICAgYmFzaCBtYW51YWwgcGFnZSBmb3IgdGhlIGNvbXBsZXRlIHNwZWNpZmljYXRpb24uXG4iCiAiICAgIFxuIgogIiAgICBGaWxlIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCkBAIC00MTE5LDYgKzQxNDMsNyBAQAogIiAgICBPdGhlciBvcGVyYXRvcnM6XG4iCiAiICAgIFxuIgogIiAgICAgIC1vIE9QVElPTiAgICAgIFRydWUgaWYgdGhlIHNoZWxsIG9wdGlvbiBPUFRJT04gaXMgZW5hYmxlZC5cbiIKKyIgICAgICAtdiBWQVJcdCBUcnVlIGlmIHRoZSBzaGVsbCB2YXJpYWJsZSBWQVIgaXMgc2V0XG4iCiAiICAgICAgISBFWFBSICAgICAgICAgVHJ1ZSBpZiBleHByIGlzIGZhbHNlLlxuIgogIiAgICAgIEVYUFIxIC1hIEVYUFIyIFRydWUgaWYgYm90aCBleHByMSBBTkQgZXhwcjIgYXJlIHRydWUuXG4iCiAiICAgICAgRVhQUjEgLW8gRVhQUjIgVHJ1ZSBpZiBlaXRoZXIgZXhwcjEgT1IgZXhwcjIgaXMgdHJ1ZS5cbiIKQEAgLTQyMTMsNyArNDIzOCw3IEBACiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3UgQl9USOG7qEMgxJHhu4tuaCBnacOhIHRow6BuaCDEkMO6bmc7XG4iCiAiXHRraMO0bmcgdGjDoG5oIGPDtG5nIG7hur91IEJfVEjhu6hDIMSR4buLbmggZ2nDoSB0aMOgbmggU2FpIGhheSDEkcawYSByYSDEkeG7kWkgc+G7kSBzYWkuIgogCi0jOiBidWlsdGlucy5jOjEyOTkKKyM6IGJ1aWx0aW5zLmM6MTMxMQogbXNnaWQgIiIKICJFdmFsdWF0ZSBjb25kaXRpb25hbCBleHByZXNzaW9uLlxuIgogIiAgICBcbiIKQEAgLTQyMjYsNyArNDI1MSw3IEBACiAiXHRuaMawbmcgxJHhu5FpIHPhu5EgY3Xhu5FpIGPDuW5nIHBo4bqjaSBsw6AgbeG7mXQgwqsgXSDCuyBuZ2jEqWEgY2jhu68sXG4iCiAiXHTEkeG7lSB0xrDGoW5nIOG7qW5nIHbhu5tpIMKrIFsgwrsgbeG7ny4iCiAKLSM6IGJ1aWx0aW5zLmM6MTMwOAorIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC00MjQ1LDcgKzQyNzAsOCBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRMw7pjIG7DoG8gY8WpbmcgdGjDoG5oIGPDtG5nLiIKIAotIzogYnVpbHRpbnMuYzoxMzIwCisjOiBidWlsdGlucy5jOjEzMzIKKyMsIGZ1enp5CiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTQyNjEsNyArNDI4NywxNSBAQAogIiAgICBcbiIKICIgICAgSWYgYSBTSUdOQUxfU1BFQyBpcyBFWElUICgwKSBBUkcgaXMgZXhlY3V0ZWQgb24gZXhpdCBmcm9tIHRoZSBzaGVsbC4gICIKICJJZlxuIgotIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLiAgIgorIklmXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgUkVUVVJOLCBBUkcgaXMgZXhlY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgIgorImFcbiIKKyIgICAgc2NyaXB0IHJ1biBieSB0aGUgLiBvciBzb3VyY2UgYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLiAgQSAiCisiU0lHTkFMX1NQRUNcbiIKKyIgICAgb2YgRVJSIG1lYW5zIHRvIGV4ZWN1dGUgQVJHIGVhY2ggdGltZSBhIGNvbW1hbmQncyBmYWlsdXJlIHdvdWxkIGNhdXNlICIKKyJ0aGVcbiIKKyIgICAgc2hlbGwgdG8gZXhpdCB3aGVuIHRoZSAtZSBvcHRpb24gaXMgZW5hYmxlZC5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQsIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzICIKICJhc3NvY2lhdGVkXG4iCkBAIC00MzE1LDcgKzQzNDksNyBAQAogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyDEkcawYSByYSDEkOG6tkNfVOG6ol9Uw41OX0hJ4buGVSBzYWlcbiIKICJcdGhheSB0w7l5IGNo4buNbiBzYWkuIgogCi0jOiBidWlsdGlucy5jOjEzNTIKKyM6IGJ1aWx0aW5zLmM6MTM2OAogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC00Mzc0LDcgKzQ0MDgsNyBAQAogIlx0VHLDoW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSB0w6xtIHRo4bqleSB04bqldCBj4bqjIGPDoWMgVMOKTjsga2jDtG5nIHRow6wgYuG7iyBs4buXaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTM4MworIzogYnVpbHRpbnMuYzoxMzk5CiBtc2dpZCAiIgogIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCiAiICAgIFxuIgpAQCAtNDQ2Miw3ICs0NDk2LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiBzYWkgaGF5IGfhurdwIGzhu5dpLiIKIAotIzogYnVpbHRpbnMuYzoxNDI4CisjOiBidWlsdGlucy5jOjE0NDQKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBzZXQgZmlsZSBtb2RlIG1hc2suXG4iCiAiICAgIFxuIgpAQCAtNDQ5Nyw3ICs0NTMxLDcgQEAKICJcdFRyw6FuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIGPDsyBDSOG6vl/EkOG7mCBzYWkgaGF5IHTDuXkgY2jhu41uIHNhaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ0OAorIzogYnVpbHRpbnMuYzoxNDY0CiBtc2dpZCAiIgogIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtNDUyNiw3ICs0NTYwLDcgQEAKICJcdFRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgY+G7p2EgSUQ7IGtow7RuZyB0aMOgbmggY8O0bmcgbuG6v3UgSUQgc2FpXG4iCiAiXHRcdGhv4bq3YyDEkcawYSByYSB0w7l5IGNo4buNbiBzYWkuIgogCi0jOiBidWlsdGlucy5jOjE0NjYKKyM6IGJ1aWx0aW5zLmM6MTQ4MgogbXNnaWQgIiIKICJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC00NTUzLDcgKzQ1ODcsNyBAQAogIlx0a2jDtG5nIHRow6BuaCBjw7RuZyBu4bq/dSBJRCBzYWksXG4iCiAiXHRob+G6t2MgbuG6v3UgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpLiIKIAotIzogYnVpbHRpbnMuYzoxNDgxCisjOiBidWlsdGlucy5jOjE0OTcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgogIiAgICBcbiIKQEAgLTQ1NzcsNyArNDYxMSw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgY+G7p2EgY8OidSBs4buHbmggY3Xhu5FpIGPDuW5nIMSRxrDhu6NjIGNo4bqheS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTQ5NQorIzogYnVpbHRpbnMuYzoxNTExCiBtc2dpZCAiIgogIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCiAiICAgIFxuIgpAQCAtNDYwNiw3ICs0NjQwLDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdHLhuqFuZyB0aMOhaSBj4bunYSBjw6J1IGzhu4duaCBjdeG7kWkgY8O5bmcgxJHGsOG7o2MgY2jhuqF5LiIKIAotIzogYnVpbHRpbnMuYzoxNTEzCisjOiBidWlsdGlucy5jOjE1MjkKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTQ2NDUsNyArNDY3OSw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgY+G7p2EgY8OidSBs4buHbmggY3Xhu5FpIGPDuW5nIMSRxrDhu6NjIGNo4bqheS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTUzNAorIzogYnVpbHRpbnMuYzoxNTUwCiBtc2dpZCAiIgogIlJlcG9ydCB0aW1lIGNvbnN1bWVkIGJ5IHBpcGVsaW5lJ3MgZXhlY3V0aW9uLlxuIgogIiAgICBcbiIKQEAgLTQ2NzYsNyArNDcxMCw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqhbmcgdGjDoWkgdHLhuqMgbGFpIGzDoCB0cuG6oW5nIHRow6FpIHRy4bqjIGzhuqFpIGPhu6dhIFBJUEVMSU5FLiIKIAotIzogYnVpbHRpbnMuYzoxNTUxCisjOiBidWlsdGlucy5jOjE1NjcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTQ2OTUsNyArNDcyOSw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRy4bqhbmcgdGjDoWkgY+G7p2EgY8OidSBs4buHbmggY3Xhu5FpIGPDuW5nIMSRxrDhu6NjIGNo4bqheS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTU2MworIzogYnVpbHRpbnMuYzoxNTc5CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCiAiICAgIFxuIgpAQCAtNDczMiw3ICs0NzY2LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdHLhuqFuZyB0aMOhaSBj4bunYSBjw6J1IGzhu4duaCBjdeG7kWkgY8O5bmcgxJHGsOG7o2MgY2jhuqF5LiIKIAotIzogYnVpbHRpbnMuYzoxNTgwCisjOiBidWlsdGlucy5jOjE1OTYKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBhcyBsb25nIGFzIGEgdGVzdCBzdWNjZWVkcy5cbiIKICIgICAgXG4iCkBAIC00NzUxLDcgKzQ3ODUsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0cuG6oW5nIHRow6FpIGPhu6dhIGPDonUgbOG7h25oIGN14buRaSBjw7luZyDEkcaw4bujYyBjaOG6oXkuIgogCi0jOiBidWlsdGlucy5jOjE1OTIKKyM6IGJ1aWx0aW5zLmM6MTYwOAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtNDc3MCw3ICs0ODA0LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdHLhuqFuZyB0aMOhaSBj4bunYSBjw6J1IGzhu4duaCBjdeG7kWkgY8O5bmcgxJHGsOG7o2MgY2jhuqF5LiIKIAotIzogYnVpbHRpbnMuYzoxNjA0CisjOiBidWlsdGlucy5jOjE2MjAKIG1zZ2lkICIiCiAiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCiAiICAgIFxuIgpAQCAtNDc5Myw3ICs0ODI3LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdHLhuqFuZyB0aMOhaSB0aG/DoXQgY+G7p2EgY8OidSBM4buGTkguIgogCi0jOiBidWlsdGlucy5jOjE2MTgKKyM6IGJ1aWx0aW5zLmM6MTYzNAogbXNnaWQgIiIKICJEZWZpbmUgc2hlbGwgZnVuY3Rpb24uXG4iCiAiICAgIFxuIgpAQCAtNDgxNyw3ICs0ODUxLDcgQEAKICJcdFRyw6FuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3UgVMOKTiBraMO0bmcgcGjhuqNpIGNo4buJIMSR4buNYy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTYzMgorIzogYnVpbHRpbnMuYzoxNjQ4CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC00ODM2LDcgKzQ4NzAsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0cuG6oW5nIHRow6FpIGPhu6dhIGPDonUgbOG7h25oIGN14buRaSBjw7luZyDEkcaw4bujYyBjaOG6oXkuIgogCi0jOiBidWlsdGlucy5jOjE2NDQKKyM6IGJ1aWx0aW5zLmM6MTY2MAogbXNnaWQgIiIKICJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCiAiICAgIFxuIgpAQCAtNDg2MSw3ICs0ODk1LDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdHLhuqFuZyB0aMOhaSBj4bunYSBjw7RuZyB2aeG7h2MgxJHDoyB0aeG6v3AgdOG7pWMgbOG6oWkuIgogCi0jOiBidWlsdGlucy5jOjE2NTkKKyM6IGJ1aWx0aW5zLmM6MTY3NQogbXNnaWQgIiIKICJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCiAiICAgIFxuIgpAQCAtNDg3OSw3ICs0OTEzLDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgMSBu4bq/dSBCSeG7glVfVEjhu6hDIHTDrW5oIGzDoCAwOyBraMO0bmcgdGjDrCB0cuG6oyBs4bqhaSAwLiIKIAotIzogYnVpbHRpbnMuYzoxNjcxCisjOiBidWlsdGlucy5jOjE2ODcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTQ5MjAsOCArNDk1NCw3IEBACiAiICAgIFx0Ql9USOG7qEMxIHx8IEJfVEjhu6hDMlxuIgogIlx0xJDDum5nIG7hur91IG3hu5l0IGPhu6dhIEJfVEjhu6hDMSB2w6AgQl9USOG7qEMyIGzDoCDEkcO6bmc7IGtow7RuZyB0aMOsIHNhaVxuIgogIiAgICBcbiIKLSJLaGkgZMO5bmcgdG/DoW4gdOG7qyDCqyA9PSDCuyB2w6AgwqsgIT0gwrssIGNodeG7l2kgYsOqbiBwaOG6o2kgdG/DoW4gdOG7rSDEkcaw4bujYyBkw7luZyBsw6BtICIKLSJt4bqrdSxcbiIKKyJLaGkgZMO5bmcgdG/DoW4gdOG7qyDCqyA9PSDCuyB2w6AgwqsgIT0gwrssIGNodeG7l2kgYsOqbiBwaOG6o2kgdG/DoW4gdOG7rSDEkcaw4bujYyBkw7luZyBsw6BtIG3huqt1LFxuIgogIlx0dsOgIHRo4buxYyBoaeG7h24gY2jhu6ljIG7Eg25nIGto4bubcCBt4bqrdS5cbiIKICJUb8OhbiB04butIMKrICYmIMK7IHbDoCDCqyB8fCDCuyBraMO0bmcgdMOtbmggQl9USOG7qEMyIG7hur91IEJfVEjhu6hDMSBsw6AgxJHhu6dcbiIKICJcdMSR4buDIHTDrW5oIGdpw6EgdHLhu4sgY+G7p2EgYmnhu4N1IHRo4bupYy5cbiIKQEAgLTQ5MjksNyArNDk2Miw3IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdDAgaGF5IDEgcGjhu6UgdGh14buZYyB2w6BvIGdpw6EgdHLhu4sgY+G7p2EgQknhu4JVX1RI4buoQy4iCiAKLSM6IGJ1aWx0aW5zLmM6MTY5NworIzogYnVpbHRpbnMuYzoxNzEzCiBtc2dpZCAiIgogIkNvbW1vbiBzaGVsbCB2YXJpYWJsZSBuYW1lcyBhbmQgdXNhZ2UuXG4iCiAiICAgIFxuIgpAQCAtNTAzNSw3ICs1MDY4LDcgQEAKICJcdMSRxrDhu6NjIMO5bmcgxJHhu4MgcXV54bq/dCDEkeG7i25oIG5o4buvbmcgY8OidSBs4buHbmggbsOgbyBuw6puIMSRxrDhu6NjIGzGsHVcbiIKICJcdHbDoG8gZGFuaCBzw6FjaCBs4buLY2ggc+G7rS5cbiIKIAotIzogYnVpbHRpbnMuYzoxNzU0CisjOiBidWlsdGlucy5jOjE3NzAKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTUwODksNyArNTEyMiw3IEBACiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIMSRxrBhIHJhIMSR4buRaSBz4buRIHNhaSxcbiIKICJcdGPFqW5nIGtow7RuZyBzYWkgY2h1eeG7g24gxJHhu5VpIHRoxrAgbeG7pWMuIgogCi0jOiBidWlsdGlucy5jOjE3ODgKKyM6IGJ1aWx0aW5zLmM6MTgwNAogbXNnaWQgIiIKICJSZW1vdmUgZGlyZWN0b3JpZXMgZnJvbSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC01MTQyLDcgKzUxNzUsNyBAQAogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyDEkcawYSByYSDEkeG7kWkgc+G7kSBzYWksXG4iCiAiXHRjxaluZyBraMO0bmcgc2FpIGNodXnhu4NuIMSR4buVaSB0aMawIG3hu6VjLiIKIAotIzogYnVpbHRpbnMuYzoxODE4CisjOiBidWlsdGlucy5jOjE4MzQKIG1zZ2lkICIiCiAiRGlzcGxheSBkaXJlY3Rvcnkgc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtNTE5OCw3ICs1MjMxLDcgQEAKICJcdFRy4bqhbmcgdGjDoWkgdGhvw6F0OlxuIgogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiBzYWkgaGF5IGfhurdwIGzhu5dpLiIKIAotIzogYnVpbHRpbnMuYzoxODQ3CisjOiBidWlsdGlucy5jOjE4NjMKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTUyMzUsNyArNTI2OCw4IEBACiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3UgVMOKTl9Uw5lZX0NI4buMTiDEkcaw4bujYyBi4bqtdDtcbiIKICJcdGtow7RuZyB0aMOgbmggY8O0bmcgbuG6v3UgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpIGhheSBUw4pOX1TDmVlfQ0jhu4xOIGLhu4sgdOG6r3QuIgogCi0jOiBidWlsdGlucy5jOjE4NjgKKyM6IGJ1aWx0aW5zLmM6MTg4NAorIywgZnV6enkKIG1zZ2lkICIiCiAiRm9ybWF0cyBhbmQgcHJpbnRzIEFSR1VNRU5UUyB1bmRlciBjb250cm9sIG9mIHRoZSBGT1JNQVQuXG4iCiAiICAgIFxuIgpAQCAtNTI1OCw2ICs1MjkyLDkgQEAKICIgICAgXG4iCiAiICAgICAgJWJcdGV4cGFuZCBiYWNrc2xhc2ggZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgY29ycmVzcG9uZGluZyBhcmd1bWVudFxuIgogIiAgICAgICVxXHRxdW90ZSB0aGUgYXJndW1lbnQgaW4gYSB3YXkgdGhhdCBjYW4gYmUgcmV1c2VkIGFzIHNoZWxsIGlucHV0XG4iCisiICAgICAgJShmbXQpVCBvdXRwdXQgdGhlIGRhdGUtdGltZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gdXNpbmcgRk1UIGFzIGEgIgorImZvcm1hdFxuIgorIiAgICAgICAgICAgIHN0cmluZyBmb3Igc3RyZnRpbWUoMylcbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgd3JpdGUgb3IgIgpAQCAtNTI4Niw4ICs1MzIzLDcgQEAKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpIGhheSBn4bq3cCBs4buXaSBraeG7g3UgZ2hpIGhheSAiCiAiZ8Ohbi4iCiAKLSM6IGJ1aWx0aW5zLmM6MTg5NQotIywgZnV6enkKKyM6IGJ1aWx0aW5zLmM6MTkxMwogbXNnaWQgIiIKICJTcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZCBieSBSZWFkbGluZS5cbiIKICIgICAgXG4iCkBAIC01MzI0LDYgKzUzNjAsMTAgQEAKICJcdFx0XHRjw7MgdGjhu4MgZMO5bmcgbOG6oWkgxJHGsOG7o2NcbiIKICJcdFx0LXJcdGfhu6EgYuG7jyBt4buZdCDEkeG6t2MgdOG6oyDEkWnhu4FuIG7hu5F0IGNobyBt4buXaSBUw4pOLFxuIgogIlx0XHRcdGhv4bq3YyBu4bq/dSBraMO0bmcgxJHGsGEgcmEgVMOKTiB0aMOsIGfhu6EgYuG7jyB04bqldCBj4bqjIGPDoWMgxJHhurdjIHThuqMgxJFp4buBbiBu4buRdFxuIgorIiAgICAgIC1EXHTDoXAgZOG7pW5nIGPDoWMgc+G7sSBob8OgbiB0aMOgbmggdsOgIGjDoG5oIMSR4buZbmcgbMOgbSBt4bq3YyDEkeG7i25oXG4iCisiXHRcdGNobyBjw6J1IGzhu4duaCBtw6Aga2jDtG5nIHjDoWMgxJHhu4tuaCBz4buxIGhvw6BuIHRow6BuaCByacOqbmdcbiIKKyIgICAgICAtRVx0w6FwIGThu6VuZyBjw6FjIHPhu7EgaG/DoG4gdGjDoG5oIHbDoCBow6BuaCDEkeG7mW5nIGNobyBjw6J1IGzhu4duaCDCqyB0cuG7kW5nIMK7XG4iCisiXHRcdChlbXB0eSkgLS0gdGjhu60gaG/DoG4gdGjDoG5oIHRyw6puIGTDsm5nIHRy4bqvbmdcbiIKICJcbiIKICJcdEtoaSBjaOG7qWMgbsSDbmcgxJFp4buBbiBu4buRdCDEkcaw4bujYyB0aOG7rSwgbmjhu69uZyBow6BuaCDEkeG7mW5nIMSRxrDhu6NjIGzDoG1cbiIKICJcdFx0dGhlbyB0aOG7qSB04buxIGPhu6dhIG5o4buvbmcgdMO5eSBjaOG7jW4gY2jhu68gaG9hIGLDqm4gdHLDqm4uXG4iCkBAIC01MzMxLDcgKzUzNzEsNyBAQAogIlx0VHLhuqFuZyB0aMOhaSB0aG/DoXQ6XG4iCiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIHNhaSBoYXkgZ+G6t3AgbOG7l2kuIgogCi0jOiBidWlsdGlucy5jOjE5MjMKKyM6IGJ1aWx0aW5zLmM6MTk0MQogbXNnaWQgIiIKICJEaXNwbGF5IHBvc3NpYmxlIGNvbXBsZXRpb25zIGRlcGVuZGluZyBvbiB0aGUgb3B0aW9ucy5cbiIKICIgICAgXG4iCkBAIC01MzUzLDE0ICs1MzkzLDE0IEBACiAiXHRUcuG6oW5nIHRow6FpIHRob8OhdDpcbiIKICJcdFRy4bqjIGzhuqFpIHRow6BuaCBjw7RuZyBu4bq/dSBraMO0bmcgxJHGsGEgcmEgdMO5eSBjaOG7jW4gc2FpIGhheSBn4bq3cCBs4buXaS4iCiAKLSM6IGJ1aWx0aW5zLmM6MTkzOAorIzogYnVpbHRpbnMuYzoxOTU2CiAjLCBmdXp6eQogbXNnaWQgIiIKICJNb2RpZnkgb3IgZGlzcGxheSBjb21wbGV0aW9uIG9wdGlvbnMuXG4iCiAiICAgIFxuIgogIiAgICBNb2RpZnkgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm8gTkFNRXMgYXJlICIKICJzdXBwbGllZCxcbiIKLSIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlZ2luIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW5tLCAiCisiICAgIHRoZSBjb21wbGV0aW9uIGN1cnJlbnRseSBiZWluZyBleGVjdXRlZC4gIElmIG5vIE9QVElPTnMgYXJlIGdpdmVuLCAiCiAicHJpbnRcbiIKICIgICAgdGhlIGNvbXBsZXRpb24gb3B0aW9ucyBmb3IgZWFjaCBOQU1FIG9yIHRoZSBjdXJyZW50IGNvbXBsZXRpb24gIgogInNwZWNpZmljYXRpb24uXG4iCkBAIC01MzkzLDYgKzU0MzMsOSBAQAogIlxuIgogIlx0VMO5eSBjaOG7jW5cIlxuIgogIlx0XHQtbyB0w7l5X2No4buNblx0xJHhurd0IHTDuXkgY2jhu41uIMSRaeG7gW4gbuG7kXQgbsOgeSDEkeG7kWkgduG7m2kgbeG7l2kgVMOKTlxuIgorIiAgIFx0LURcdFx0U+G7rWEgxJHhu5VpIGPDoWMgdHXhu7MgY2jhu41uIHbhu4Egc+G7sSDEkWnhu4FuIG7hu5F0IGPDonUgbOG7h25oIMKrIG3hurdjIMSR4buLbmggIgorIsK7IChkZWZhdWx0KVxuIgorIiAgICBcdC1FXHRcdFPhu61hIMSR4buVaSBjw6FjIHR14buzIGNo4buNbiB24buBIHPhu7EgxJFp4buBbiBu4buRdCBjw6J1IGzhu4duaCDCqyB0cuG7kW5nIMK7IChlbXB0eSlcbiIKICJcbiIKICJcdETDuW5nIMKrICtvIMK7IHRoYXkgY2hvIMKrIC1vIMK7IHRow6wgdOG6r3QgdMO5eSBjaOG7jW4gxJHGsGEgcmEuXG4iCiAiXG4iCkBAIC01NDA4LDcgKzU0NTEsNyBAQAogIlx0VHLhuqMgbOG6oWkgdGjDoG5oIGPDtG5nIG7hur91IGtow7RuZyDEkcawYSByYSB0w7l5IGNo4buNbiBzYWksXG4iCiAiXHR2w6AgVMOKTiBjw7MgbeG7mXQgxJHhurdjIHThuqMgxJFp4buBbiBu4buRdCDEkcaw4bujYyB4w6FjIMSR4buLbmguIgogCi0jOiBidWlsdGlucy5jOjE5NjgKKyM6IGJ1aWx0aW5zLmM6MTk4NgogIywgZnV6enkKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCkBAIC01NDM3LDcgKzU0ODAsOCBAQAogIiAgICBcbiIKICIgICAgSWYgLUMgaXMgc3VwcGxpZWQgd2l0aG91dCAtYywgdGhlIGRlZmF1bHQgcXVhbnR1bSBpcyA1MDAwLiAgV2hlblxuIgogIiAgICBDQUxMQkFDSyBpcyBldmFsdWF0ZWQsIGl0IGlzIHN1cHBsaWVkIHRoZSBpbmRleCBvZiB0aGUgbmV4dCBhcnJheVxuIgotIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFzIGFuIGFkZGl0aW9uYWwgYXJndW1lbnQuXG4iCisiICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudFxuIgorIiAgICBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZICIKICJiZWZvcmVcbiIKQEAgLTU0NDgsNyArNTQ5Miw3IEBACiAib3JcbiIKICIgICAgbm90IGFuIGluZGV4ZWQgYXJyYXkuIgogbXNnc3RyICIiCi0ixJDhu41jIGPDoWMgZMOybmcgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIHbDoG8gbeG7mXQgYmnhur9uIG3huqNuZy5cbiIKKyLEkOG7jWMgY8OhYyBkw7JuZyB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4gdsOgbyBt4buZdCBiaeG6v24gbeG6o25nIHBo4bulIGzhu6VjLlxuIgogIlxuIgogIlx0xJDhu41jIGPDoWMgZMOybmcgdOG7qyDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIHbDoG8gYmnhur9uIG3huqNuZyBN4bqiTkcsXG4iCiAiXHRob+G6t2MgdOG7qyBi4buZIG3DtCB04bqjIHThuq1wIHRpbiBGRCBu4bq/dSDEkcawYSByYSB0w7l5IGNo4buNbiDCqyAtdSDCuy5cbiIKQEAgLTU0NzgsNyArNTUyMiw3IEBACiAiXHRUcuG6oyBs4bqhaSB0aMOgbmggY8O0bmcgbuG6v3Uga2jDtG5nIMSRxrBhIHJhIHTDuXkgY2jhu41uIHNhaSB2w6AgTeG6ok5HIGtow7RuZyBwaOG6o2kgY2jhu4kgIgogIsSR4buNYy4iCiAKLSM6IGJ1aWx0aW5zLmM6MjAwMQorIzogYnVpbHRpbnMuYzoyMDIwCiBtc2dpZCAiIgogIlJlYWQgbGluZXMgZnJvbSBhIGZpbGUgaW50byBhbiBhcnJheSB2YXJpYWJsZS5cbiIKICIgICAgXG4iCkBAIC01NDg4LDEyICs1NTMyLDIzIEBACiAiXG4iCiAiXHTEkOG7k25nIG5naMSpYSB24bubaSDCqyBtYXBmaWxlIMK7LiIKIAotI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgotI34gbXNnc3RyICJ4cmVhbGxvYzoga2jDtG5nIHRo4buDIGPhuqVwIHBow6F0IGzhuqFpICVsdSBieXRlICglbHUgYnl0ZSDEkcOjIGPhuqVwIHBow6F0KSIKLQotI34gbXNnaWQgInhyZWFsbG9jOiBjYW5ub3QgYWxsb2NhdGUgJWx1IGJ5dGVzIgotI34gbXNnc3RyICJ4cmVhbGxvYzoga2jDtG5nIHRo4buDIGPhuqVwIHBow6F0ICVsdSBieXRlIgotCi0jfiBtc2dpZCAieHJlYWxsb2M6ICVzOiVkOiBjYW5ub3QgcmVhbGxvY2F0ZSAlbHUgYnl0ZXMgKCVsdSBieXRlcyBhbGxvY2F0ZWQpIgorI34gbXNnaWQgIiIKKyN+ICIuICBXaXRoIEVYUFIsIHJldHVybnNcbiIKKyN+ICIgICAgIgogI34gbXNnc3RyICIiCi0jfiAieHJlYWxsb2M6ICVzOiVkOiBraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgbOG6oWkgJWx1IGJ5dGUgKCVsdSBieXRlIMSRw6MgY+G6pXAgcGjDoXQpIgorI34gIi4gIEPFqW5nIGTDuW5nIEJUSOG7qEMgdGjDrCB0cuG6oyBs4bqhaVxuIgorI34gIiAgICAiCisKKyN+IG1zZ2lkICIiCisjfiAiOyB0aGlzIGV4dHJhIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIHRvXG4iCisjfiAiICAgIHByb3ZpZGUgYSBzdGFjayB0cmFjZS5cbiIKKyN+ICIgICAgXG4iCisjfiAiICAgIFRoZSB2YWx1ZSBvZiBFWFBSIGluZGljYXRlcyBob3cgbWFueSBjYWxsIGZyYW1lcyB0byBnbyBiYWNrIGJlZm9yZSAiCisjfiAidGhlXG4iCisjfiAiICAgIGN1cnJlbnQgb25lOyB0aGUgdG9wIGZyYW1lIGlzIGZyYW1lIDAuIgorI34gbXNnc3RyICIiCisjfiAiOyB0aMO0bmcgdGluIHRow6ptIG7DoHkgY8OzIHRo4buDIMSRxrDhu6NjIHPhu60gZOG7pW5nXG4iCisjfiAiXHTEkeG7gyBjdW5nIGPhuqVwIG3hu5l0IHbhur90IMSR4buRbmcgKHN0YWNrIHRyYWNlKS5cbiIKKyN+ICJcbiIKKyN+ICJcdEdpw6EgdHLhu4sgY+G7p2EgQlRI4buoQyBuZ+G7pSDDvSBiYW8gbmhpw6p1IGtodW5nIGfhu41pIGPhuqduIGzDuWkgbOG6oWlcbiIKKyN+ICJcdHTGsMahbmcgxJHhu5FpIHbhu5tpIGPDoWkgaGnhu4duIHRo4budaTsga2h1bmcgdHLDqm4gY8O5bmcgbMOgIGtodW5nIDAuIgpkaWZmIC0tZ2l0IGEvcG8vemhfQ04uZ21vIGIvcG8vemhfQ04uZ21vCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJjY2M0YjEKLS0tIC9kZXYvbnVsbAorKysgYi9wby96aF9DTi5nbW8KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvcG8vemhfQ04ucG8gYi9wby96aF9DTi5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjJjZTdjCi0tLSAvZGV2L251bGwKKysrIGIvcG8vemhfQ04ucG8KQEAgLTAsMCArMSw1MzE2IEBACisjIENoaW5lc2UgKFNpbXBsaWZpZWQpIHRyYW5zbGF0aW9uIGZvciBiYXNoIHBhY2thZ2UKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgYmFzaCBwYWNrYWdlLgorIyBYaW4gWWUgPGFseWV4LnllQGdtYWlsLmNvbT4sIDIwMTAKKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IGJhc2ggNC4xXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDExLTAxLTI4IDIyOjA5LTA1MDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEwLTA2LTI5IDEwOjE2KzA4MDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEFsZXggWWUgPGFseWV4LnllQGdtYWlsLmNvbT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBDaGluZXNlIChzaW1wbGlmaWVkKSA8aTE4bi16aEBnb29nbGVncm91cHMuY29tPlxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MTsgcGx1cmFsPTA7XG4iCisKKyM6IGFycmF5ZnVuYy5jOjUwCittc2dpZCAiYmFkIGFycmF5IHN1YnNjcmlwdCIKK21zZ3N0ciAi5Z2P55qE5pWw57uE5LiL5qCHIgorCisjOiBhcnJheWZ1bmMuYzozMTMgYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBpbmRleGVkIHRvIGFzc29jaWF0aXZlIGFycmF5IgorbXNnc3RyICIlczog5peg5rOV5bCG57Si5byV5pWw57uE6L2s5YyW5Li65YWz6IGU5pWw57uEIgorCisjOiBhcnJheWZ1bmMuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYXNzb2NpYXRpdmUgYXJyYXkga2V5IgorbXNnc3RyICIlczog5peg5pWI55qE5YWz6IGU5pWw57uE6ZSuIgorCisjOiBhcnJheWZ1bmMuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gdG8gbm9uLW51bWVyaWMgaW5kZXgiCittc2dzdHIgIiVzOiDml6Dms5XkuLrpnZ7mlbDlrZfnmoTntKLlvJXotYvlgLwiCisKKyM6IGFycmF5ZnVuYy5jOjUxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IG11c3QgdXNlIHN1YnNjcmlwdCB3aGVuIGFzc2lnbmluZyBhc3NvY2lhdGl2ZSBhcnJheSIKK21zZ3N0ciAiJXM6ICVzOiDkuLrlhbPogZTmlbDnu4TotYvlgLzml7blv4Xpobvkvb/nlKjkuIvmoIciCisKKyM6IGJhc2hoaXN0LmM6Mzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKK21zZ3N0ciAiJXM6IOaXoOazleWIm+W7ujogJXMiCisKKyM6IGJhc2hsaW5lLmM6MzQ5OAorbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKK21zZ3N0ciAiYmFzaF9leGVjdXRlX3VuaXhfY29tbWFuZDog5peg5rOV5Li65ZG95Luk5om+5Yiw6ZSu5pig5bCEIgorCisjOiBiYXNobGluZS5jOjM1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZpcnN0IG5vbi13aGl0ZXNwYWNlIGNoYXJhY3RlciBpcyBub3QgYFwiJyIKK21zZ3N0ciAiJXM6IOesrOS4gOS4qumdnuepuuWtl+espuS4jeaYryBgXCInIgorCisjOiBiYXNobGluZS5jOjM2MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gY2xvc2luZyBgJWMnIGluICVzIgorbXNnc3RyICIlMiRzIOS4reayoeaciemXreWQiOeahCBgJTEkYyciCisKKyM6IGJhc2hsaW5lLmM6MzY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCittc2dzdHIgIiVzOiDnvLrlsJHlhpLlj7fliIbpmpTnrKYiCisKKyM6IGJ1aWx0aW5zL2FsaWFzLmRlZjoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogaW52YWxpZCBhbGlhcyBuYW1lIgorbXNnc3RyICJgJXMnOiDml6DmlYjnmoTliKvlkI0iCisKKyM6IGJ1aWx0aW5zL2JpbmQuZGVmOjEyMCBidWlsdGlucy9iaW5kLmRlZjoxMjMKK21zZ2lkICJsaW5lIGVkaXRpbmcgbm90IGVuYWJsZWQiCittc2dzdHIgIuihjOe8lui+keacquWQr+eUqCIKKworIzogYnVpbHRpbnMvYmluZC5kZWY6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IGludmFsaWQga2V5bWFwIG5hbWUiCittc2dzdHIgImAlcyc6IOaXoOaViOeahOmUruaYoOWwhOWQjSIKKworIzogYnVpbHRpbnMvYmluZC5kZWY6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZDogJXMiCittc2dzdHIgIiVzOiDml6Dms5Xor7vlj5Y6ICVzIgorCisjOiBidWlsdGlucy9iaW5kLmRlZjoyNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogY2Fubm90IHVuYmluZCIKK21zZ3N0ciAiYCVzJzog5peg5rOV6Kej6Zmk57uR5a6aIgorCisjOiBidWlsdGlucy9iaW5kLmRlZjoyOTUgYnVpbHRpbnMvYmluZC5kZWY6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IHVua25vd24gZnVuY3Rpb24gbmFtZSIKK21zZ3N0ciAiYCVzJzog5pyq55+l5Ye95pWw5ZCNIgorCisjOiBidWlsdGlucy9iaW5kLmRlZjozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGJvdW5kIHRvIGFueSBrZXlzLlxuIgorbXNnc3RyICIlcyDmnKrkuI7ku7vkvZXplK7nu5HlrprjgIJcbiIKKworIzogYnVpbHRpbnMvYmluZC5kZWY6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhbiBiZSBpbnZva2VkIHZpYSAiCittc2dzdHIgIiVzIOWPr+S7peiiq+iwg+eUqO+8jOmAmui/hyIKKworIzogYnVpbHRpbnMvYnJlYWsuZGVmOjc3IGJ1aWx0aW5zL2JyZWFrLmRlZjoxMTcKK21zZ2lkICJsb29wIGNvdW50IgorbXNnc3RyICLlvqrnjq/orqHmlbAiCisKKyM6IGJ1aWx0aW5zL2JyZWFrLmRlZjoxMzcKK21zZ2lkICJvbmx5IG1lYW5pbmdmdWwgaW4gYSBgZm9yJywgYHdoaWxlJywgb3IgYHVudGlsJyBsb29wIgorbXNnc3RyICLku4XlnKhgZm9yJ++8jCBgd2hpbGUn77yMIOaIluiAhWB1bnRpbCcg5b6q546v5Lit5pyJ5oSP5LmJIgorCisjOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzMworbXNnaWQgIiIKKyJSZXR1cm5zIHRoZSBjb250ZXh0IG9mIHRoZSBjdXJyZW50IHN1YnJvdXRpbmUgY2FsbC5cbiIKKyIgICAgXG4iCisiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCittc2dzdHIgIiIKKyLov5Tlm57lvZPliY3lrZDkvovnqIvosIPnlKjnmoTkuIrkuIvmlodcbiIKKyIgICAgXG4iCisiICAgIOS4jeW4piBFWFBSIOaXtu+8jCDov5Tlm54iCisKKyM6IGJ1aWx0aW5zL2NkLmRlZjoyMzUKK21zZ2lkICJIT01FIG5vdCBzZXQiCittc2dzdHIgIkhPTUUg5pyq6K6+5a6aIgorCisjOiBidWlsdGlucy9jZC5kZWY6MjQ3Cittc2dpZCAiT0xEUFdEIG5vdCBzZXQiCittc2dzdHIgIk9MRFBXRCDmnKrorr7lrpoiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjEwMQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiAiCittc2dzdHIgIuesrCAlZCDooYw6IgorCisjOiBidWlsdGlucy9jb21tb24uYzoxMzkgZXJyb3IuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogIgorbXNnc3RyICLorablkYo6IgorCisjOiBidWlsdGlucy9jb21tb24uYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVzYWdlOiAiCittc2dzdHIgIiVzOiDnlKjms5U6IgorCisjOiBidWlsdGlucy9jb21tb24uYzoxNjYgdGVzdC5jOjgzMgorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAi5Y+C5pWw5aSq5aSaIgorCisjOiBidWlsdGlucy9jb21tb24uYzoxOTEgc2hlbGwuYzo1MDAgc2hlbGwuYzo3ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXM6IOmAiemhuemcgOimgeS4gOS4quWPguaVsCIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1lcmljIGFyZ3VtZW50IHJlcXVpcmVkIgorbXNnc3RyICIlczog6ZyA6KaB5pWw5a2X5Y+C5pWwIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IOacquaJvuWIsCIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjE0IHNoZWxsLmM6Nzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIG9wdGlvbiIKK21zZ3N0ciAiJXM6IOaXoOaViOmAiemhuSIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIG9wdGlvbiBuYW1lIgorbXNnc3RyICIlczog5peg5pWI55qE6YCJ6aG55ZCNIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyMjggZ2VuZXJhbC5jOjIzMSBnZW5lcmFsLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IG5vdCBhIHZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgImAlcyc6IOS4jeaYr+acieaViOeahOagh+ivhuespiIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjM4Cittc2dpZCAiaW52YWxpZCBvY3RhbCBudW1iZXIiCittc2dzdHIgIuaXoOaViOeahOWFq+i/m+WItuaVsCIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjQwCittc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgorbXNnc3RyICLml6DmlYjnmoTljYHlha3ov5vliLbmlbAiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI0MiBleHByLmM6MTM2MgorbXNnaWQgImludmFsaWQgbnVtYmVyIgorbXNnc3RyICLml6DmlYjmlbDlrZciCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBzaWduYWwgc3BlY2lmaWNhdGlvbiIKK21zZ3N0ciAiJXM6IOaXoOaViOeahOS/oeWPt+WjsOaYjiIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgImAlcyc6IG5vdCBhIHBpZCBvciB2YWxpZCBqb2Igc3BlYyIKK21zZ3N0ciAiYCVzJzog5LiN5piv5pyJ5pWI55qE6L+b56iL5Y+35oiW6ICF5Lu75Yqh5aOw5piOIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyNjQgZXJyb3IuYzo0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRvbmx5IHZhcmlhYmxlIgorbXNnc3RyICIlczog5Y+q6K+75Y+Y6YePIgorCisjOiBidWlsdGlucy9jb21tb24uYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG91dCBvZiByYW5nZSIKK21zZ3N0ciAiJXM6ICVzIOi2iueVjCIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjcyIGJ1aWx0aW5zL2NvbW1vbi5jOjI3NAorbXNnaWQgImFyZ3VtZW50IgorbXNnc3RyICLlj4LmlbAiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjI3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIiVzIOi2iueVjCIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBzdWNoIGpvYiIKK21zZ3N0ciAiJXM6IOaXoOatpOS7u+WKoSIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBqb2IgY29udHJvbCIKK21zZ3N0ciAiJXM6IOaXoOS7u+WKoeaOp+WItiIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MjkyCittc2dpZCAibm8gam9iIGNvbnRyb2wiCittc2dzdHIgIuaXoOS7u+WKoeaOp+WItiIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MzAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXN0cmljdGVkIgorbXNnc3RyICIlczog5Y+X6ZmQ55qEIgorCisjOiBidWlsdGlucy9jb21tb24uYzozMDQKK21zZ2lkICJyZXN0cmljdGVkIgorbXNnc3RyICLlj5fpmZDnmoQiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc2hlbGwgYnVpbHRpbiIKK21zZ3N0ciAiJXM6IOS4jeaYr3NoZWxs5YaF5bu6IgorCisjOiBidWlsdGlucy9jb21tb24uYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZXJyb3I6ICVzIgorbXNnc3RyICLlhpnplJnor686ICVzIgorCisjOiBidWlsdGlucy9jb21tb24uYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igc2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlcyIKK21zZ3N0ciAi6K6+5a6a57uI56uv5bGe5oCn5pe25Ye66ZSZOiAlcyIKKworIzogYnVpbHRpbnMvY29tbW9uLmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGdldHRpbmcgdGVybWluYWwgYXR0cmlidXRlczogJXMiCittc2dzdHIgIuiOt+WPlue7iOerr+WxnuaAp+aXtuWHuumUmTogJXMiCisKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgcmV0cmlldmluZyBjdXJyZW50IGRpcmVjdG9yeTogJXM6ICVzXG4iCittc2dzdHIgIiVzOiDojrflj5blvZPliY3nm67lvZXml7blh7rplJk6ICVzOiAlc1xuIgorCisjOiBidWlsdGlucy9jb21tb24uYzo2MjkgYnVpbHRpbnMvY29tbW9uLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgam9iIHNwZWMiCittc2dzdHIgIiVzOiDmqKHns4rnmoTku7vliqHlo7DmmI4iCisKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjoyNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgYWN0aW9uIG5hbWUiCittc2dzdHIgIiVzOiDml6DmlYjnmoTliqjkvZzlkI0iCisKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo0NDkgYnVpbHRpbnMvY29tcGxldGUuZGVmOjY0NAorIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczog5rKh5pyJ6KGl5a6M5aOw5piOIgorCisjOiBidWlsdGlucy9jb21wbGV0ZS5kZWY6Njk2Cittc2dpZCAid2FybmluZzogLUYgb3B0aW9uIG1heSBub3Qgd29yayBhcyB5b3UgZXhwZWN0IgorbXNnc3RyICLorablkYo6IC1GIOmAiemhueWPr+iDveS4jeWDj+aCqOmihOacn+eahOmCo+agt+W3peS9nCIKKworIzogYnVpbHRpbnMvY29tcGxldGUuZGVmOjY5OAorbXNnaWQgIndhcm5pbmc6IC1DIG9wdGlvbiBtYXkgbm90IHdvcmsgYXMgeW91IGV4cGVjdCIKK21zZ3N0ciAi6K2m5ZGKOiAtQyDpgInpobnlj6/og73kuI3lg4/mgqjpooTmnJ/nmoTpgqPmoLflt6XkvZwiCisKKyM6IGJ1aWx0aW5zL2NvbXBsZXRlLmRlZjo4MjYKK21zZ2lkICJub3QgY3VycmVudGx5IGV4ZWN1dGluZyBjb21wbGV0aW9uIGZ1bmN0aW9uIgorbXNnc3RyICLnm67liY3kuI3lnKjmiafooYzooaXlrozlip/og70iCisKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjEyNAorbXNnaWQgImNhbiBvbmx5IGJlIHVzZWQgaW4gYSBmdW5jdGlvbiIKK21zZ3N0ciAi5Y+q6IO95Zyo5Ye95pWw5Lit5L2/55SoIgorCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjYKK21zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCittc2dzdHIgIuaXoOazleeUqCBgLWYnIOeUn+aIkOWHveaVsCIKKworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCittc2dzdHIgIiVzOiDlj6ror7vlh73mlbAiCisKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgorbXNnc3RyICIlczog5peg5rOV5Lul6L+Z56eN5pa55byP5pGn5q+B5pWw57uE5Y+Y6YePIgorCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBjb252ZXJ0IGFzc29jaWF0aXZlIHRvIGluZGV4ZWQgYXJyYXkiCittc2dzdHIgIiVzOiDml6Dms5XlsIblhbPogZTmlbDnu4TovazljJbkuLrntKLlvJXmlbDnu4QiCisKKyM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6MTM3IGJ1aWx0aW5zL2VuYWJsZS5kZWY6MTQ1Cittc2dpZCAiZHluYW1pYyBsb2FkaW5nIG5vdCBhdmFpbGFibGUiCittc2dzdHIgIuWKqOaAgeWKoOi9veS4jeWPr+eUqCIKKworIzogYnVpbHRpbnMvZW5hYmxlLmRlZjozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2hhcmVkIG9iamVjdCAlczogJXMiCittc2dzdHIgIuaXoOazleaJk+W8gOWFseS6q+WvueixoSAlczogJXMiCisKKyM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6MzM1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kICVzIGluIHNoYXJlZCBvYmplY3QgJXM6ICVzIgorbXNnc3RyICLml6Dms5XlnKjlhbHkuqvlr7nosaEgJTIkcyDkuK3mib7liLAgJTEkczogJTMkcyIKKworIzogYnVpbHRpbnMvZW5hYmxlLmRlZjo0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBkeW5hbWljYWxseSBsb2FkZWQiCittc2dzdHIgIiVzOiDkuI3mmK/liqjmgIHliqDovb0iCisKKyM6IGJ1aWx0aW5zL2VuYWJsZS5kZWY6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKK21zZ3N0ciAiJXM6IOaXoOazleWIoOmZpDogJXMiCisKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiDmmK/kuIDkuKrnm67lvZUiCisKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCittc2dzdHIgIiVzOiDkuI3mmK/luLjop4Tmlofku7YiCisKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKK21zZ3N0ciAiJXM6IOaWh+S7tuWkquWkpyIKKworIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgorbXNnc3RyICIlczog5peg5rOV5omn6KGM5LqM6L+b5Yi25paH5Lu2IgorCisjOiBidWlsdGlucy9leGVjLmRlZjoxNTQgYnVpbHRpbnMvZXhlYy5kZWY6MTU2IGJ1aWx0aW5zL2V4ZWMuZGVmOjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGV4ZWN1dGU6ICVzIgorbXNnc3RyICIlczog5peg5rOV5omn6KGMOiAlcyIKKworIzogYnVpbHRpbnMvZXhpdC5kZWY6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9nb3V0XG4iCittc2dzdHIgIueZu+WHulxuIgorCisjOiBidWlsdGlucy9leGl0LmRlZjo4OAorbXNnaWQgIm5vdCBsb2dpbiBzaGVsbDogdXNlIGBleGl0JyIKK21zZ3N0ciAi5LiN5piv55m75b2Vc2hlbGw6IOS9v+eUqCBgZXhpdCciCisKKyM6IGJ1aWx0aW5zL2V4aXQuZGVmOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBhcmUgc3RvcHBlZCBqb2JzLlxuIgorbXNnc3RyICLmnInlgZzmraLnmoTku7vliqHjgIJcbiIKKworIzogYnVpbHRpbnMvZXhpdC5kZWY6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGFyZSBydW5uaW5nIGpvYnMuXG4iCittc2dzdHIgIuaciei/kOihjOS4reeahOS7u+WKoeOAglxuIgorCisjOiBidWlsdGlucy9mYy5kZWY6MjYyCittc2dpZCAibm8gY29tbWFuZCBmb3VuZCIKK21zZ3N0ciAi5pyq5om+5Yiw5ZG95LukIgorCisjOiBidWlsdGlucy9mYy5kZWY6MzEyIGJ1aWx0aW5zL2ZjLmRlZjozNTkKK21zZ2lkICJoaXN0b3J5IHNwZWNpZmljYXRpb24iCittc2dzdHIgIuWOhuWPsuWjsOaYjiIKKworIzogYnVpbHRpbnMvZmMuZGVmOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG9wZW4gdGVtcCBmaWxlOiAlcyIKK21zZ3N0ciAiJXM6IOaXoOazleaJk+W8gOS4tOaXtuaWh+S7tjogJXMiCisKKyM6IGJ1aWx0aW5zL2ZnX2JnLmRlZjoxNDkgYnVpbHRpbnMvam9icy5kZWY6MjgyCittc2dpZCAiY3VycmVudCIKK21zZ3N0ciAi5b2T5YmNIgorCisjOiBidWlsdGlucy9mZ19iZy5kZWY6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImpvYiAlZCBzdGFydGVkIHdpdGhvdXQgam9iIGNvbnRyb2wiCittc2dzdHIgIuS4jeW4puS7u+WKoeaOp+WItueahOaDheWGteS4i+WQr+WKqOS6huS7u+WKoSAlZCIKKworIzogYnVpbHRpbnMvZ2V0b3B0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgorbXNnc3RyICIlczog6Z2e5rOV6YCJ6aG5IC0tICVjXG4iCisKKyM6IGJ1aWx0aW5zL2dldG9wdC5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVjXG4iCittc2dzdHIgIiVzOiDpgInpobnpnIDopoHkuIDkuKrlj4LmlbAgLS0gJWNcbiIKKworIzogYnVpbHRpbnMvaGFzaC5kZWY6OTIKK21zZ2lkICJoYXNoaW5nIGRpc2FibGVkIgorbXNnc3RyICLlk4jluIzlt7LnpoHnlKgiCisKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgorbXNnc3RyICIlczog5ZOI5biM6KGo5Li656m6XG4iCisKKyM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJoaXRzXHRjb21tYW5kXG4iCittc2dzdHIgIuWRveS4rVx05ZG95LukXG4iCisKKyM6IGJ1aWx0aW5zL2hlbHAuZGVmOjEzMAorIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjb21tYW5kcyBtYXRjaGluZyBrZXl3b3JkIGAiCittc2dpZF9wbHVyYWwgIlNoZWxsIGNvbW1hbmRzIG1hdGNoaW5nIGtleXdvcmRzIGAiCittc2dzdHJbMF0gIlNoZWxs5ZG95Luk5Yy56YWN5YWz6ZSu5a2XYCIKKworIzogYnVpbHRpbnMvaGVscC5kZWY6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJubyBoZWxwIHRvcGljcyBtYXRjaCBgJXMnLiAgVHJ5IGBoZWxwIGhlbHAnIG9yIGBtYW4gLWsgJXMnIG9yIGBpbmZvICVzJy4iCittc2dzdHIgIiIKKyLmsqHmnInkuI4gYCVzJyDljLnphY3nmoTluK7liqnkuLvpopjjgILlsJ3or5UgYGhlbHAgaGVscCcg5oiW6ICFIGBtYW4gLWsgJXMnIOaIluiAhSBgaW5mbyAlIgorInMn44CCIgorCisjOiBidWlsdGlucy9oZWxwLmRlZjoxODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBvcGVuOiAlcyIKK21zZ3N0ciAiJXM6IOaXoOazleaJk+W8gDogJXMiCisKKyM6IGJ1aWx0aW5zL2hlbHAuZGVmOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlc2Ugc2hlbGwgY29tbWFuZHMgYXJlIGRlZmluZWQgaW50ZXJuYWxseS4gIFR5cGUgYGhlbHAnIHRvIHNlZSB0aGlzIGxpc3QuXG4iCisiVHlwZSBgaGVscCBuYW1lJyB0byBmaW5kIG91dCBtb3JlIGFib3V0IHRoZSBmdW5jdGlvbiBgbmFtZScuXG4iCisiVXNlIGBpbmZvIGJhc2gnIHRvIGZpbmQgb3V0IG1vcmUgYWJvdXQgdGhlIHNoZWxsIGluIGdlbmVyYWwuXG4iCisiVXNlIGBtYW4gLWsnIG9yIGBpbmZvJyB0byBmaW5kIG91dCBtb3JlIGFib3V0IGNvbW1hbmRzIG5vdCBpbiB0aGlzIGxpc3QuXG4iCisiXG4iCisiQSBzdGFyICgqKSBuZXh0IHRvIGEgbmFtZSBtZWFucyB0aGF0IHRoZSBjb21tYW5kIGlzIGRpc2FibGVkLlxuIgorIlxuIgorbXNnc3RyICIiCisi6L+Z5LqbIHNoZWxsIOWRveS7pOaYr+WGhemDqOWumuS5ieeahOOAguivt+i+k+WFpSBgaGVscCcg5Lul6I635Y+W5LiA5Liq5YiX6KGoLlxuIgorIui+k+WFpSBgaGVscCDlkI3np7AnIOS7peW+l+WIsOacieWFs+WHveaVsGDlkI3np7An55qE5pu05aSa5L+h5oGvLlxuIgorIuS9v+eUqCBgaW5mbyBiYXNoJyDmnaXojrflvpflhbPkuo4gc2hlbGwg55qE5pu05aSa5LiA6Iis5oCn5L+h5oGvXG4iCisi5L2/55SoIGBtYW4gLWsnIOaIliBgaW5mbycg5p2l6I635Y+W5LiN5Zyo5YiX6KGo5Lit55qE5ZG95Luk55qE5pu05aSa5L+h5oGvLlxuIgorIlxuIgorIuWQjeensOaXgei+ueeahOaYn+WPtyAoKikg5oSP5ZGz552A6K+l5ZG95Luk6KKr56aB55SoLlxuIgorIlxuIgorCisjOiBidWlsdGlucy9oaXN0b3J5LmRlZjoxNTQKK21zZ2lkICJjYW5ub3QgdXNlIG1vcmUgdGhhbiBvbmUgb2YgLWFucnciCittc2dzdHIgIuacgOWkmuWPquiDveS9v+eUqCAtYW5ydyDpgInpobnkuK3nmoTkuIDkuKoiCisKKyM6IGJ1aWx0aW5zL2hpc3RvcnkuZGVmOjE4NgorbXNnaWQgImhpc3RvcnkgcG9zaXRpb24iCittc2dzdHIgIuWOhuWPsuS9jee9riIKKworIzogYnVpbHRpbnMvaGlzdG9yeS5kZWY6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoaXN0b3J5IGV4cGFuc2lvbiBmYWlsZWQiCittc2dzdHIgIiVzOiDljoblj7LmianlsZXlpLHotKUiCisKKyM6IGJ1aWx0aW5zL2lubGliLmRlZjo3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5saWIgZmFpbGVkIgorbXNnc3RyICIlczogaW5saWIg5aSx6LSlIgorCisjOiBidWlsdGlucy9qb2JzLmRlZjoxMDkKK21zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgorbXNnc3RyICLlhbbku5bpgInpobnkuI3og73kuI4gYC14JyDlkIzml7bkvb/nlKgiCisKKyM6IGJ1aWx0aW5zL2tpbGwuZGVmOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXJndW1lbnRzIG11c3QgYmUgcHJvY2VzcyBvciBqb2IgSURzIgorbXNnc3RyICIlczog5Y+C5pWw5b+F6aG75piv6L+b56iL5oiW5Lu75YqhIElEIgorCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjEKK21zZ2lkICJVbmtub3duIGVycm9yIgorbXNnc3RyICLmnKrnn6XplJnor68iCisKKyM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjU1MiBleHByLmM6NTY3Cittc2dpZCAiZXhwcmVzc2lvbiBleHBlY3RlZCIKK21zZ3N0ciAi5pyf5b6F6KGo6L6+5byPIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgorbXNnc3RyICIlczog5LiN5piv5LiA5Liq57Si5byV5pWw57uEIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNTYgYnVpbHRpbnMvcmVhZC5kZWY6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvciBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczog5peg5pWI55qE5paH5Lu25o+P6L+w56ym5aOw5piOIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNjQgYnVpbHRpbnMvcmVhZC5kZWY6Mjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkOiBpbnZhbGlkIGZpbGUgZGVzY3JpcHRvcjogJXMiCittc2dzdHIgIiVkOiDml6DmlYjnmoTmlofku7bmj4/ov7DnrKY6ICVzIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzMgYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCittc2dzdHIgIiVzOiDml6DmlYjnmoTooYzmlbAiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBhcnJheSBvcmlnaW4iCittc2dzdHIgIiVzOiDml6DmlYjnmoTmlbDnu4Tln7rmlbAiCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjYWxsYmFjayBxdWFudHVtIgorbXNnc3RyICIlczog5peg5pWI55qE5Zue6LCD6YeP5a2QIgorCisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMzMKK21zZ2lkICJlbXB0eSBhcnJheSB2YXJpYWJsZSBuYW1lIgorbXNnc3RyICLnqbrmlbDnu4Tlj5jph4/lkI0iCisKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjM1NAorbXNnaWQgImFycmF5IHZhcmlhYmxlIHN1cHBvcnQgcmVxdWlyZWQiCittc2dzdHIgIumcgOimgeaVsOe7hOWPmOmHj+aUr+aMgSIKKworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVzJzogbWlzc2luZyBmb3JtYXQgY2hhcmFjdGVyIgorbXNnc3RyICJgJXMnOiDnvLrlsJHmoLzlvI/lrZfnrKYiCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiDml6DmlYjnmoTotoXml7blo7DmmI4iCisKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjM1CisjLCBjLWZvcm1hdAorbXNnaWQgImAlYyc6IGludmFsaWQgZm9ybWF0IGNoYXJhY3RlciIKK21zZ3N0ciAiYCVjJzog5peg5pWI5qC85byP5a2X56ymIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjY2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogJXMiCittc2dzdHIgIuitpuWRijogJXM6ICVzIgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjg0MAorbXNnaWQgIm1pc3NpbmcgaGV4IGRpZ2l0IGZvciBcXHgiCittc2dzdHIgIuS9v+eUqOS6hlxceOS9hue8uuWwkeWNgeWFrei/m+WItuaVsCIKKworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAi5L2/55So5LqGXFx45L2G57y65bCR5Y2B5YWt6L+b5Yi25pWwIgorCisjOiBidWlsdGlucy9wdXNoZC5kZWY6MTk1Cittc2dpZCAibm8gb3RoZXIgZGlyZWN0b3J5IgorbXNnc3RyICLml6Dlhbbku5bnm67lvZUiCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo0NjIKK21zZ2lkICI8bm8gY3VycmVudCBkaXJlY3Rvcnk+IgorbXNnc3RyICI85peg5b2T5YmN55uu5b2VPiIKKworIzogYnVpbHRpbnMvcHVzaGQuZGVmOjUwNgorbXNnaWQgImRpcmVjdG9yeSBzdGFjayBlbXB0eSIKK21zZ3N0ciAi55uu5b2V5qCI5Li656m6IgorCisjOiBidWlsdGlucy9wdXNoZC5kZWY6NTA4Cittc2dpZCAiZGlyZWN0b3J5IHN0YWNrIGluZGV4IgorbXNnc3RyICLnm67lvZXmoIjntKLlvJUiCisKKyM6IGJ1aWx0aW5zL3B1c2hkLmRlZjo2ODMKK21zZ2lkICIiCisiRGlzcGxheSB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4gIERpcmVjdG9yaWVzXG4iCisiICAgIGZpbmQgdGhlaXIgd2F5IG9udG8gdGhlIGxpc3Qgd2l0aCB0aGUgYHB1c2hkJyBjb21tYW5kOyB5b3UgY2FuIGdldFxuIgorIiAgICBiYWNrIHVwIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYHBvcGQnIGNvbW1hbmQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1jXHRjbGVhciB0aGUgZGlyZWN0b3J5IHN0YWNrIGJ5IGRlbGV0aW5nIGFsbCBvZiB0aGUgZWxlbWVudHNcbiIKKyIgICAgICAtbFx0ZG8gbm90IHByaW50IHRpbGRlLXByZWZpeGVkIHZlcnNpb25zIG9mIGRpcmVjdG9yaWVzIHJlbGF0aXZlXG4iCisiICAgIFx0dG8geW91ciBob21lIGRpcmVjdG9yeVxuIgorIiAgICAgIC1wXHRwcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lXG4iCisiICAgICAgLXZcdHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUgcHJlZml4ZWRcbiIKKyIgICAgXHR3aXRoIGl0cyBwb3NpdGlvbiBpbiB0aGUgc3RhY2tcbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICArTlx0RGlzcGxheXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duICIKKyJieVxuIgorIiAgICBcdGRpcnMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0RGlzcGxheXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG93biAiCisiYnlcbiIKKyJcdGRpcnMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLiIKK21zZ3N0ciAiIgorIuaYvuekuuW9k+WJjeiusOS9j+eahOebruW9leWIl+ihqC4gIOebruW9lVxuIgorIiAgICDpgJrov4cgYHB1c2hkJyDlkb3ku6TliqDlhaXov5nkuKrliJfooag7IOaCqOWPr+S7pVxuIgorIiAgICDkvb/nlKggYHBvcGQnIOWRveS7pOWvueWIl+ihqOi/m+ihjOmBjeWOhi5cbiIKKyIgICAgXG4iCisiICAgIOmAiemhuTpcbiIKKyIgICAgICAtY1x05Yig6Zmk5omA5pyJ5YWD57Sg5Lul5riF6Zmk55uu5b2V5qCIXG4iCisiICAgICAgLWxcdOS4jeaJk+WNsOS4juWutuebruW9leebuOWFs+eahOS7peazoua1quWPt1xuIgorIiAgICBcdOS4uuWJjee8gOeahOebruW9lVxuIgorIiAgICAgIC1wXHTmr4/ooYzkuIDkuKrmnaHnm67miZPljbDnm67lvZXmoIhcbiIKKyIgICAgICAtdlx05Lul5qCI5L2N572u5Li65YmN57yA77yM5q+P6KGM5LiA5Liq5p2h55uuXG4iCisiICAgIFx05omT5Y2w55uu5b2V5qCIXG4iCisiICAgIFxuIgorIiAgICDlj4LmlbA6XG4iCisiICAgICAgK05cdOS7pSBkaXJzIOS4jeW4pumAiemhuei+k+WHuueahOmhuuW6j+aYvuekuuWIl+ihqOS7juW3pui1t+esrE7kuKrmnaHnm67vvIxcbiIKKyIgICAgXHTku44gMCDlvIDlp4suXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHTku6UgZGlycyDkuI3luKbpgInpobnovpPlh7rnmoTpobrluo/mmL7npLrliJfooajku47lj7PotbfnrKxO5Liq6aG555uu77yMXG4iCisiXHTku44gMCDlvIDlp4suIgorCisjOiBidWlsdGlucy9wdXNoZC5kZWY6NzA1Cittc2dpZCAiIgorIkFkZHMgYSBkaXJlY3RvcnkgdG8gdGhlIHRvcCBvZiB0aGUgZGlyZWN0b3J5IHN0YWNrLCBvciByb3RhdGVzXG4iCisiICAgIHRoZSBzdGFjaywgbWFraW5nIHRoZSBuZXcgdG9wIG9mIHRoZSBzdGFjayB0aGUgY3VycmVudCB3b3JraW5nXG4iCisiICAgIGRpcmVjdG9yeS4gIFdpdGggbm8gYXJndW1lbnRzLCBleGNoYW5nZXMgdGhlIHRvcCB0d28gZGlyZWN0b3JpZXMuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1uXHRTdXBwcmVzc2VzIHRoZSBub3JtYWwgY2hhbmdlIG9mIGRpcmVjdG9yeSB3aGVuIGFkZGluZ1xuIgorIiAgICBcdGRpcmVjdG9yaWVzIHRvIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgK05cdFJvdGF0ZXMgdGhlIHN0YWNrIHNvIHRoYXQgdGhlIE50aCBkaXJlY3RvcnkgKGNvdW50aW5nXG4iCisiICAgIFx0ZnJvbSB0aGUgbGVmdCBvZiB0aGUgbGlzdCBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGhcbiIKKyIgICAgXHR6ZXJvKSBpcyBhdCB0aGUgdG9wLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0Um90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmdcbiIKKyIgICAgXHRmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGhcbiIKKyIgICAgXHR6ZXJvKSBpcyBhdCB0aGUgdG9wLlxuIgorIiAgICBcbiIKKyIgICAgICBkaXJcdEFkZHMgRElSIHRvIHRoZSBkaXJlY3Rvcnkgc3RhY2sgYXQgdGhlIHRvcCwgbWFraW5nIGl0IHRoZVxuIgorIiAgICBcdG5ldyBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suIgorbXNnc3RyICIiCisi5Zyo55uu5b2V5qCI6aG26YOo5Yqg5YWl5LiA5Liq55uu5b2V77yMIOaIluiAhei9rui9rFxuIgorIiAgICDnm67lvZXmoIgsIOaYr+W9k+WJjeW3peS9nOebruW9leaIkOS4uuaWsOeahOagiOmhtlxuIgorIiAgICDkuI3luKblj4LmlbDml7bvvIzkuqTmjaLmoIjpobbnmoTkuKTkuKrnm67lvZUuXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtblx05oqR5Yi25aKe5Yqg5qCI5Lit55uu5b2V5pe26YCa5bi455qE5pS55Y+Y55uu5b2V55qE5pON5L2c77yMXG4iCisiICAgIFx05LuO6ICM5Y+q5pyJ5qCI6KKr5pON5L2c44CCXG4iCisiICAgIFxuIgorIiAgICDlj4LmlbDvvJpcbiIKKyIgICAgICArTlx06L2u6L2s5qCI5L2/5b6X56ysTuS4quebruW9le+8iGBkaXJzJyDnmoRcbiIKKyIgICAgXHTovpPlh7rliJfooajkuK3lt6botbfvvIzku44w5byA5aeL77yJXG4iCisiICAgIFx05Y2H6Iez5qCI6aG244CCXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHTova7ovazmoIjkvb/lvpfnrKxO5Liq55uu5b2V77yIYGRpcnMnIOeahFxuIgorIiAgICBcdOi+k+WHuuWIl+ihqOS4reWPs+i1t++8jOS7jjDlvIDlp4vvvIlcbiIKKyIgICAgXHTljYfoh7PmoIjpobZcbiIKKyIgICAgXG4iCisiICAgICAgZGlyXHTmt7vliqDnm67lvZXoh7PmoIjpobbvvIzlubZcbiIKKyIgICAgXHTkvb/lhbbmiJDkuLrmlrDnmoTlvZPliY3lt6XkvZznm67lvZXjgIJcbiIKKyIgICAgXG4iCisiICAgIGBkaXJzJyDlhoXltYzlkb3ku6TmmL7npLrnm67lvZXmoIguIgorCisjOiBidWlsdGlucy9wdXNoZC5kZWY6NzMwCittc2dpZCAiIgorIlJlbW92ZXMgZW50cmllcyBmcm9tIHRoZSBkaXJlY3Rvcnkgc3RhY2suICBXaXRoIG5vIGFyZ3VtZW50cywgcmVtb3Zlc1xuIgorIiAgICB0aGUgdG9wIGRpcmVjdG9yeSBmcm9tIHRoZSBzdGFjaywgYW5kIGNoYW5nZXMgdG8gdGhlIG5ldyB0b3AgZGlyZWN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtblx0U3VwcHJlc3NlcyB0aGUgbm9ybWFsIGNoYW5nZSBvZiBkaXJlY3Rvcnkgd2hlbiByZW1vdmluZ1xuIgorIiAgICBcdGRpcmVjdG9yaWVzIGZyb20gdGhlIHN0YWNrLCBzbyBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICArTlx0UmVtb3ZlcyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIGxlZnQgb2YgdGhlIGxpc3RcbiIKKyIgICAgXHRzaG93biBieSBgZGlycycsIHN0YXJ0aW5nIHdpdGggemVyby4gIEZvciBleGFtcGxlOiBgcG9wZCArMCdcbiIKKyIgICAgXHRyZW1vdmVzIHRoZSBmaXJzdCBkaXJlY3RvcnksIGBwb3BkICsxJyB0aGUgc2Vjb25kLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0UmVtb3ZlcyB0aGUgTnRoIGVudHJ5IGNvdW50aW5nIGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0XG4iCisiICAgIFx0c2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgLTAnXG4iCisiICAgIFx0cmVtb3ZlcyB0aGUgbGFzdCBkaXJlY3RvcnksIGBwb3BkIC0xJyB0aGUgbmV4dCB0byBsYXN0LlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGBkaXJzJyBidWlsdGluIGRpc3BsYXlzIHRoZSBkaXJlY3Rvcnkgc3RhY2suIgorbXNnc3RyICIiCisi5LuO55uu5b2V5qCI5Lit5Yig6Zmk5p2h55uu44CC5LiN5bim5Y+C5pWw5pe277yM5Yig6ZmkXG4iCisiICAgIOagiOmhtuebruW9leW5tuaUueWPmOiHs+aWsOeahOagiOmhtuebruW9leOAglxuIgorIiAgICBcbiIKKyIgICAg6YCJ6aG577yaXG4iCisiICAgICAgLW5cdOaKkeWItuS7juagiOS4reWIoOmZpOebruW9leaXtumAmuW4uOeahOaUueWPmOebruW9leaTjeS9nO+8jFxuIgorIiAgICBcdOS7juiAjOWPquacieagiOiiq+aTjeS9nOOAglxuIgorIiAgICBcbiIKKyIgICAg5Y+C5pWw77yaXG4iCisiICAgICAgK05cdOS7jiBgZGlycycg6L6T5Ye655qE5YiX6KGo5Lit77yMXG4iCisiICAgIFx05Yig6Zmk5bem6LW356ysTuS4quadoeebru+8jOiuoeaVsOS7jjDlvIDlp4vjgILkvovlpoLvvJpgcG9wZCArMCdcbiIKKyIgICAgXHTliKDpmaTnrKzkuIDkuKrnm67lvZXvvIwgYHBvcGQgKzEnIOWIoOmZpOesrOS6jOS4quOAglxuIgorIiAgICBcbiIKKyIgICAgICAtTlx05LuOIGBkaXJzJyDovpPlh7rnmoTliJfooajkuK3vvIxcbiIKKyIgICAgXHTliKDpmaTlj7PotbfnrKxO5Liq5p2h55uu77yM6K6h5pWw5LuOMOW8gOWni++8jOS+i+Wmgu+8mmBwb3BkIC0wJ1xuIgorIiAgICBcdOWIoOmZpOacgOWQjuS4gOS4quadoeebru+8jCBgcG9wZCAtMScg5Yig6Zmk5YCS5pWw56ys5LqM5Liq44CCXG4iCisiICAgIFxuIgorIiAgICBgZGlycycg5YaF5bWM5Y+Y6YeP5pi+56S655uu5b2V5qCI44CCIgorCisjOiBidWlsdGlucy9yZWFkLmRlZjoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgdGltZW91dCBzcGVjaWZpY2F0aW9uIgorbXNnc3RyICIlczog5peg5pWI55qE6LaF5pe25aOw5piOIgorCisjOiBidWlsdGlucy9yZWFkLmRlZjo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvcjogJWQ6ICVzIgorbXNnc3RyICLor7vplJnor686ICVkOiAlcyIKKworIzogYnVpbHRpbnMvcmV0dXJuLmRlZjo3MworbXNnaWQgImNhbiBvbmx5IGByZXR1cm4nIGZyb20gYSBmdW5jdGlvbiBvciBzb3VyY2VkIHNjcmlwdCIKK21zZ3N0ciAi5Y+q6IO95LuO5Ye95pWw5oiW6ICF5rqQ6ISa5pysYOi/lOWbniciCisKKyM6IGJ1aWx0aW5zL3NldC5kZWY6NzcxCittc2dpZCAiY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUiCittc2dzdHIgIuaXoOazleWQjOaXtuWPjeiuvuWumuS4gOS4quWHveaVsOWSjOS4gOS4quWPmOmHjyIKKworIzogYnVpbHRpbnMvc2V0LmRlZjo4MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKK21zZ3N0ciAiJXM6IOaXoOazleWPjeiuvuWumiIKKworIzogYnVpbHRpbnMvc2V0LmRlZjo4MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgJXMiCittc2dzdHIgIiVzOiDml6Dms5Xlj43orr7lrpo6IOWPquivuyAlcyIKKworIzogYnVpbHRpbnMvc2V0LmRlZjo4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhbiBhcnJheSB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IOS4jeaYr+aVsOe7hOWPmOmHjyIKKworIzogYnVpbHRpbnMvc2V0YXR0ci5kZWY6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBmdW5jdGlvbiIKK21zZ3N0ciAiJXM6IOS4jeaYr+WHveaVsCIKKworIzogYnVpbHRpbnMvc2hpZnQuZGVmOjcxIGJ1aWx0aW5zL3NoaWZ0LmRlZjo3NworbXNnaWQgInNoaWZ0IGNvdW50IgorbXNnc3RyICLkvY3np7vorqHmlbAiCisKKyM6IGJ1aWx0aW5zL3Nob3B0LmRlZjoyNjQKK21zZ2lkICJjYW5ub3Qgc2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zIHNpbXVsdGFuZW91c2x5IgorbXNnc3RyICLml6Dms5XlkIzml7borr7lrprlkozlj43orr7lrpogc2hlbGwg6YCJ6aG5IgorCisjOiBidWlsdGlucy9zaG9wdC5kZWY6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNoZWxsIG9wdGlvbiBuYW1lIgorbXNnc3RyICIlczog5peg5pWI55qEIHNoZWxsIOmAiemhueWQjSIKKworIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKK21zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKK21zZ3N0ciAi6ZyA6KaB5paH5Lu25ZCN5Y+C5pWwIgorCisjOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmlsZSBub3QgZm91bmQiCittc2dzdHIgIiVzOiDmsqHmnInmib7liLDmlofku7YiCisKKyM6IGJ1aWx0aW5zL3N1c3BlbmQuZGVmOjEwMQorbXNnaWQgImNhbm5vdCBzdXNwZW5kIgorbXNnc3RyICLml6Dms5XmjILotbciCisKKyM6IGJ1aWx0aW5zL3N1c3BlbmQuZGVmOjExMQorbXNnaWQgImNhbm5vdCBzdXNwZW5kIGEgbG9naW4gc2hlbGwiCittc2dzdHIgIuaXoOazleaMgui1t+S4gOS4queZu+W9lXNoZWxsIgorCisjOiBidWlsdGlucy90eXBlLmRlZjoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxpYXNlZCB0byBgJXMnXG4iCittc2dzdHIgIiVzIOaYryBgJXMnIOeahOWIq+WQjVxuIgorCisjOiBidWlsdGlucy90eXBlLmRlZjoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBzaGVsbCBrZXl3b3JkXG4iCittc2dzdHIgIiVzIOaYryBzaGVsbCDlhbPplK7lrZdcbiIKKworIzogYnVpbHRpbnMvdHlwZS5kZWY6Mjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgZnVuY3Rpb25cbiIKK21zZ3N0ciAiJXMg5piv5Ye95pWwXG4iCisKKyM6IGJ1aWx0aW5zL3R5cGUuZGVmOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIHNoZWxsIGJ1aWx0aW5cbiIKK21zZ3N0ciAiJXMg5pivIHNoZWxsIOWGheW1jFxuIgorCisjOiBidWlsdGlucy90eXBlLmRlZjozMTcgYnVpbHRpbnMvdHlwZS5kZWY6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzICVzXG4iCittc2dzdHIgIiVzIOaYryAlc1xuIgorCisjOiBidWlsdGlucy90eXBlLmRlZjozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgaGFzaGVkICglcylcbiIKK21zZ3N0ciAiJXMg5bey6KKr5ZOI5biMICglcylcbiIKKworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgbGltaXQgYXJndW1lbnQiCittc2dzdHIgIiVzOiDml6DmlYjnmoQgbGltaXQg5Y+C5pWwIgorCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKK21zZ3N0ciAiYCVjJzog5Z2P55qE5ZG95LukIgorCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGdldCBsaW1pdDogJXMiCittc2dzdHIgIiVzOiDml6Dms5Xojrflj5YgbGltaXQg5YC8OiAlcyIKKworIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0NTcKK21zZ2lkICJsaW1pdCIKK21zZ3N0ciAibGltaXQiCisKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY5IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IGxpbWl0OiAlcyIKK21zZ3N0ciAiJXM6IOaXoOazleS/ruaUuSBsaW1pdCDlgLw6ICVzIgorCisjOiBidWlsdGlucy91bWFzay5kZWY6MTE4Cittc2dpZCAib2N0YWwgbnVtYmVyIgorbXNnc3RyICLlhavov5vliLbmlbAiCisKKyM6IGJ1aWx0aW5zL3VtYXNrLmRlZjoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIG9wZXJhdG9yIgorbXNnc3RyICJgJWMnOiDml6DmlYjnmoTnrKblj7fnirbmgIHov5DnrpfnrKYiCisKKyM6IGJ1aWx0aW5zL3VtYXNrLmRlZjoyODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYCVjJzogaW52YWxpZCBzeW1ib2xpYyBtb2RlIGNoYXJhY3RlciIKK21zZ3N0ciAiYCVjJzog5peg5pWI55qE56ym5Y+354q25oCB5a2X56ymIgorCisjOiBlcnJvci5jOjkwIGVycm9yLmM6MzIxIGVycm9yLmM6MzIzIGVycm9yLmM6MzI1Cittc2dpZCAiIGxpbmUgIgorbXNnc3RyICLooYwiCisKKyM6IGVycm9yLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgImxhc3QgY29tbWFuZDogJXNcbiIKK21zZ3N0ciAi5LiK5LiA5Liq5ZG95LukOiAlc1xuIgorCisjOiBlcnJvci5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJBYm9ydGluZy4uLiIKK21zZ3N0ciAi5pS+5byDLi4uIgorCisjOiBlcnJvci5jOjQwNgorbXNnaWQgInVua25vd24gY29tbWFuZCBlcnJvciIKK21zZ3N0ciAi5pyq55+l55qE5ZG95Luk6ZSZ6K+vIgorCisjOiBlcnJvci5jOjQwNworbXNnaWQgImJhZCBjb21tYW5kIHR5cGUiCittc2dzdHIgIuWdj+eahOWRveS7pOexu+WeiyIKKworIzogZXJyb3IuYzo0MDgKK21zZ2lkICJiYWQgY29ubmVjdG9yIgorbXNnc3RyICLlnY/nmoTmnaHku7bov57mjqXnrKYiCisKKyM6IGVycm9yLmM6NDA5Cittc2dpZCAiYmFkIGp1bXAiCittc2dzdHIgIuWdj+eahOi3s+i9rCIKKworIzogZXJyb3IuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYm91bmQgdmFyaWFibGUiCittc2dzdHIgIiVzOiDkuLrnu5Hlrprlj5jph48iCisKKyM6IGV2YWwuYzoxODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dzdHIgIlxhIOetieW+hei+k+WFpei2heaXtu+8muiHquWKqOeZu+WHulxuIgorCisjOiBleGVjdXRlX2NtZC5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVkaXJlY3Qgc3RhbmRhcmQgaW5wdXQgZnJvbSAvZGV2L251bGw6ICVzIgorbXNnc3RyICLml6Dms5Xku44gL2Rldi9udWxsIOmHjeWumuWQkeagh+WHhui+k+WFpTogJXMiCisKKyM6IGV4ZWN1dGVfY21kLmM6MTE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU1FRk9STUFUOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCittc2dzdHIgIuaXtumXtOagvOW8jzogYCVjJzog5peg5pWI55qE5qC85byP5a2X56ymIgorCisjOiBleGVjdXRlX2NtZC5jOjIxMjEKK21zZ2lkICJwaXBlIGVycm9yIgorbXNnc3RyICLnrqHpgZPplJnor68iCisKKyM6IGV4ZWN1dGVfY21kLmM6NDY0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVzdHJpY3RlZDogY2Fubm90IHNwZWNpZnkgYC8nIGluIGNvbW1hbmQgbmFtZXMiCittc2dzdHIgIiVzOiDlj5fpmZDnmoQ6IOaXoOazleWcqOWRveS7pOWQjeS4reS9v+eUqCBgLyciCisKKyM6IGV4ZWN1dGVfY21kLmM6NDczNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY29tbWFuZCBub3QgZm91bmQiCittc2dzdHIgIiVzOiDmnKrmib7liLDlkb3ku6QiCisKKyM6IGV4ZWN1dGVfY21kLmM6NDk1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIgorbXNnc3RyICIlcyDmmK8gJXNcbiIKKworIzogZXhlY3V0ZV9jbWQuYzo0OTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczogYmFkIGludGVycHJldGVyIgorbXNnc3RyICIlczogJXM6IOWdj+eahOino+mHiuWZqCIKKworIzogZXhlY3V0ZV9jbWQuYzo1MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgZmQgJWQgdG8gZmQgJWQiCittc2dzdHIgIuaXoOazleWkjeWItuaWh+S7tuaPj+i/sOespiAlZCDliLAg5paH5Lu25o+P6L+w56ymICVkIgorCisjOiBleHByLmM6MjU2Cittc2dpZCAiZXhwcmVzc2lvbiByZWN1cnNpb24gbGV2ZWwgZXhjZWVkZWQiCittc2dzdHIgIuihqOi+vuW8j+mAkuW9kuWxguasoei2iueVjCIKKworIzogZXhwci5jOjI4MAorbXNnaWQgInJlY3Vyc2lvbiBzdGFjayB1bmRlcmZsb3ciCittc2dzdHIgIumAkuW9kuagiOS4i+a6oiIKKworIzogZXhwci5jOjQyMgorbXNnaWQgInN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIgorbXNnc3RyICLooajovr7lvI/kuK3mnInor63ms5XplJnor68iCisKKyM6IGV4cHIuYzo0NjMKK21zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCittc2dzdHIgIuWwneivlee7memdnuWPmOmHj+i1i+WAvCIKKworIzogZXhwci5jOjQ4NiBleHByLmM6NDkxIGV4cHIuYzo4MDcKK21zZ2lkICJkaXZpc2lvbiBieSAwIgorbXNnc3RyICLpmaQwIgorCisjOiBleHByLmM6NTE3Cittc2dpZCAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuIgorbXNnc3RyICLplJnor6/vvJrlnY/nmoTooajovr7lvI/otYvlgLznrKblj7ciCisKKyM6IGV4cHIuYzo1NjQKK21zZ2lkICJgOicgZXhwZWN0ZWQgZm9yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCittc2dzdHIgIuadoeS7tuihqOi+vuW8j+acn+W+hSBgOiciCisKKyM6IGV4cHIuYzo4MzIKK21zZ2lkICJleHBvbmVudCBsZXNzIHRoYW4gMCIKK21zZ3N0ciAi5oyH5pWw5bCP5LqOMCIKKworIzogZXhwci5jOjg4NworbXNnaWQgImlkZW50aWZpZXIgZXhwZWN0ZWQgYWZ0ZXIgcHJlLWluY3JlbWVudCBvciBwcmUtZGVjcmVtZW50IgorbXNnc3RyICLpooTlop7nrKbmiJbpooTlh4/nrKblkI7lupTot5/mnInmoIfor4bnrKYiCisKKyM6IGV4cHIuYzo5MTAKK21zZ2lkICJtaXNzaW5nIGApJyIKK21zZ3N0ciAi57y65bCRIGApJyIKKworIzogZXhwci5jOjk1OSBleHByLmM6MTI4MgorbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKK21zZ3N0ciAi6K+t5rOV6ZSZ6K+vOiDmnJ/lvoXmk43kvZzmlbAiCisKKyM6IGV4cHIuYzoxMjg0Cittc2dpZCAic3ludGF4IGVycm9yOiBpbnZhbGlkIGFyaXRobWV0aWMgb3BlcmF0b3IiCittc2dzdHIgIuivreazlemUmeivrzog5peg5pWI55qE566X5pyv6L+Q566X56ymIgorCisjOiBleHByLmM6MTMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzJXM6ICVzIChlcnJvciB0b2tlbiBpcyBcIiVzXCIpIgorbXNnc3RyICIlcyVzJXM6ICVzIO+8iOmUmeivr+espuWPt+aYryBcIiVzXCLvvIkiCisKKyM6IGV4cHIuYzoxMzY2Cittc2dpZCAiaW52YWxpZCBhcml0aG1ldGljIGJhc2UiCittc2dzdHIgIuaXoOaViOeahOeul+aVsOi/m+WItiIKKworIzogZXhwci5jOjEzODYKK21zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCittc2dzdHIgIuaVsOWAvOWkquWkp+S4jeWPr+S4uueul+aVsOi/m+WItueahOWfuiIKKworIzogZXhwci5jOjE0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4cHJlc3Npb24gZXJyb3JcbiIKK21zZ3N0ciAiJXM6IOihqOi+vuW8j+mUmeivr1xuIgorCisjOiBnZW5lcmFsLmM6NjEKK21zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgorbXNnc3RyICJnZXRjd2Q6IOaXoOazleiuv+mXrueItuebruW9lSIKKworIzogaW5wdXQuYzo5NCBzdWJzdC5jOjUwODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlc2V0IG5vZGVsYXkgbW9kZSBmb3IgZmQgJWQiCittc2dzdHIgIuaXoOazleS4uuaWh+S7tuaPj+i/sOespiAlZCDph43nva5ub2RlbGF55qih5byPIgorCisjOiBpbnB1dC5jOjI2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWxsb2NhdGUgbmV3IGZpbGUgZGVzY3JpcHRvciBmb3IgYmFzaCBpbnB1dCBmcm9tIGZkICVkIgorbXNnc3RyICLml6Dms5Xku47mlofku7bmj4/ov7DnrKYgJWQg5Li6IGJhc2gg55qE6L6T5YWl6I635Y+W5LiA5Liq5paw55qE5paH5Lu25o+P6L+w56ymIgorCisjOiBpbnB1dC5jOjI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJzYXZlX2Jhc2hfaW5wdXQ6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyBmb3IgbmV3IGZkICVkIgorbXNnc3RyICJzYXZlX2Jhc2hfaW5wdXQ6IOW3sue7j+WtmOWcqOaWsOeahOaWh+S7tuaPj+i/sOespiAlZCDnmoTnvJPlhrLljLoiCisKKyM6IGpvYnMuYzo0NjgKK21zZ2lkICJzdGFydF9waXBlbGluZTogcGdycCBwaXBlIgorbXNnc3RyICJzdGFydF9waXBlbGluZTog6L+b56iL57uE566h6YGTIgorCisjOiBqb2JzLmM6ODg5CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKK21zZ3N0ciAi55Sf5oiQ55qE6L+b56iL5Y+3ICVkIOaYvuekuuS4uui/kOihjOS4reeahOS7u+WKoSAlZCIKKworIzogam9icy5jOjEwMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKK21zZ3N0ciAi5Yig6Zmk6L+b56iL57uEICUyJGxkIOS4reW3suWBnOatoueahOS7u+WKoSAlMSRkIgorCisjOiBqb2JzLmM6MTExMgorIywgYy1mb3JtYXQKK21zZ2lkICJhZGRfcHJvY2VzczogcHJvY2VzcyAlNWxkICglcykgaW4gdGhlX3BpcGVsaW5lIgorbXNnc3RyICJhZGRfcHJvY2Vzczog6L+b56iLICU1bGQoJXMpIOi/m+WFpSB0aGVfcGlwZWxpbmUiCisKKyM6IGpvYnMuYzoxMTE1CisjLCBjLWZvcm1hdAorbXNnaWQgImFkZF9wcm9jZXNzOiBwaWQgJTVsZCAoJXMpIG1hcmtlZCBhcyBzdGlsbCBhbGl2ZSIKK21zZ3N0ciAiYWRkX3Byb2Nlc3M6IOi/m+eoi+WPtyAlNWxkKCVzKSDmoIfms6jkuLrku43mtLvnnYAiCisKKyM6IGpvYnMuYzoxNDMwCisjLCBjLWZvcm1hdAorbXNnaWQgImRlc2NyaWJlX3BpZDogJWxkOiBubyBzdWNoIHBpZCIKK21zZ3N0ciAiZGVzY3JpYmVfcGlkOiAlbGQ6IOaXoOatpOi/m+eoi+WPtyIKKworIzogam9icy5jOjE0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2lnbmFsICVkIgorbXNnc3RyICLkv6Hlj7cgJWQiCisKKyM6IGpvYnMuYzoxNDU5IGpvYnMuYzoxNDg0Cittc2dpZCAiRG9uZSIKK21zZ3N0ciAi5a6M5oiQIgorCisjOiBqb2JzLmM6MTQ2NCBzaWdsaXN0LmM6MTIzCittc2dpZCAiU3RvcHBlZCIKK21zZ3N0ciAi5bey5YGc5q2iIgorCisjOiBqb2JzLmM6MTQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICJTdG9wcGVkKCVzKSIKK21zZ3N0ciAi5bey5YGc5q2iICglcykiCisKKyM6IGpvYnMuYzoxNDcyCittc2dpZCAiUnVubmluZyIKK21zZ3N0ciAi6L+Q6KGM5LitIgorCisjOiBqb2JzLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJEb25lKCVkKSIKK21zZ3N0ciAi5a6M5oiQICglZCkiCisKKyM6IGpvYnMuYzoxNDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4aXQgJWQiCittc2dzdHIgIumAgOWHuiAlZCIKKworIzogam9icy5jOjE0OTEKK21zZ2lkICJVbmtub3duIHN0YXR1cyIKK21zZ3N0ciAi5pyq55+l54q25oCBIgorCisjOiBqb2JzLmM6MTU3OAorIywgYy1mb3JtYXQKK21zZ2lkICIoY29yZSBkdW1wZWQpICIKK21zZ3N0ciAiKOWQkOaguCkiCisKKyM6IGpvYnMuYzoxNTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgKHdkOiAlcykiCittc2dzdHIgIijlt6XkvZznm67lvZXvvJolcykiCisKKyM6IGpvYnMuYzoxODA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgorbXNnc3RyICLlrZDov5vnqIsgc2V0cGdpZCAoJWxkIOWIsCAlbGQpIgorCisjOiBqb2JzLmM6MjEzMyBub2pvYnMuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdDogcGlkICVsZCBpcyBub3QgYSBjaGlsZCBvZiB0aGlzIHNoZWxsIgorbXNnc3RyICJ3YWl0OiDov5vnqIvlj7cgJWxkIOS4jeaYr+W9k+WJjSBzaGVsbCDnmoTlrZDov5vnqIsiCisKKyM6IGpvYnMuYzoyMzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIndhaXRfZm9yOiBObyByZWNvcmQgb2YgcHJvY2VzcyAlbGQiCittc2dzdHIgIndpYXRfZm9yOiDmsqHmnInov5vnqIsgJWxkIOeahOiusOW9lSIKKworIzogam9icy5jOjI2MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKK21zZ3N0ciAid2FpdF9mb3Jfam9iOiDku7vliqEgJWQg5bey5YGc5q2iIgorCisjOiBqb2JzLmM6Mjg1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogam9iIGhhcyB0ZXJtaW5hdGVkIgorbXNnc3RyICIlczog5Lu75Yqh5bey57uP57uI5q2iIgorCisjOiBqb2JzLmM6Mjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogam9iICVkIGFscmVhZHkgaW4gYmFja2dyb3VuZCIKK21zZ3N0ciAiJXM6IOS7u+WKoSAlZCDlt7LlnKjlkI7lj7AiCisKKyM6IGpvYnMuYzozMDg5Cittc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgorbXNnc3RyICJ3YWl0Y2hsZDog5omT5byAIFdOT0hBTkcg5Lul6YG/5YWN5peg6ZmQ6Zi75aGeIgorCisjOiBqb2JzLmM6MzUzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGluZSAlZDogIgorbXNnc3RyICIlczog6KGMICVkOiAiCisKKyM6IGpvYnMuYzozNTUyIG5vam9icy5jOjgxNAorIywgYy1mb3JtYXQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiKOWQkOaguCkiCisKKyM6IGpvYnMuYzozNTY0IGpvYnMuYzozNTc3CisjLCBjLWZvcm1hdAorbXNnaWQgIih3ZCBub3c6ICVzKVxuIgorbXNnc3RyICIo5b2T5YmN5bel5L2c55uu5b2V77yaJXMpXG4iCisKKyM6IGpvYnMuYzozNjA5Cittc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogZ2V0cGdycCBmYWlsZWQiCittc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGdldHBncnAg5aSx6LSlIgorCisjOiBqb2JzLmM6MzY2OQorbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDog6KGM6KeE5YiZIgorCisjOiBqb2JzLmM6MzY3OQorbXNnaWQgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCittc2dzdHIgImluaXRpYWxpemVfam9iX2NvbnRyb2w6IHNldHBnaWQiCisKKyM6IGpvYnMuYzozNzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgcHJvY2VzcyBncm91cCAoJWQpIgorbXNnc3RyICLml6Dms5Xorr7lrprnu4jnq6/ov5vnqIvnu4QgKCVkKSIKKworIzogam9icy5jOjM3MTIKK21zZ2lkICJubyBqb2IgY29udHJvbCBpbiB0aGlzIHNoZWxsIgorbXNnc3RyICLmraQgc2hlbGwg5Lit5peg5Lu75Yqh5o6n5Yi2IgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjI5NgorIywgYy1mb3JtYXQKK21zZ2lkICJtYWxsb2M6IGZhaWxlZCBhc3NlcnRpb246ICVzXG4iCittc2dzdHIgIm1hbGxvYzog5pat6KiA5aSx6LSlOiAlc1xuIgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXHJcbiIKKyJtYWxsb2M6ICVzOiVkOiBhc3NlcnRpb24gYm90Y2hlZFxyXG4iCittc2dzdHIgIiIKKyJcclxuIgorIm1hbGxvYzogJXM6JWQ6IOaWreiogOW3suS/ruihpVxyXG4iCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6MzEzCittc2dpZCAidW5rbm93biIKK21zZ3N0ciAi5pyq55+lIgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjc5NworbXNnaWQgIm1hbGxvYzogYmxvY2sgb24gZnJlZSBsaXN0IGNsb2JiZXJlZCIKK21zZ3N0ciAibWFsbG9jOiDnqbrpl7Lpk77ooajkuK3nmoTlnZfmjZ/lnY8iCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6ODc0Cittc2dpZCAiZnJlZTogY2FsbGVkIHdpdGggYWxyZWFkeSBmcmVlZCBibG9jayBhcmd1bWVudCIKK21zZ3N0ciAiZnJlZTog55So5bey57uP6YeK5pS+55qE5Z2X5L2c5Li65Y+C5pWw6KKr6LCD55SoIgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjg3NworbXNnaWQgImZyZWU6IGNhbGxlZCB3aXRoIHVuYWxsb2NhdGVkIGJsb2NrIGFyZ3VtZW50IgorbXNnc3RyICJmcmVlOiDnlKjmnKrliIbphY3nmoTlnZfkvZzkuLrlj4LmlbDooqvosIPnlKgiCisKKyM6IGxpYi9tYWxsb2MvbWFsbG9jLmM6ODk2Cittc2dpZCAiZnJlZTogdW5kZXJmbG93IGRldGVjdGVkOyBtaF9uYnl0ZXMgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJmcmVlOiDmo4DmtYvliLDkuIvmuqI7IG1oX25ieXRlc+i2iueVjCIKKworIzogbGliL21hbGxvYy9tYWxsb2MuYzo5MDIKK21zZ2lkICJmcmVlOiBzdGFydCBhbmQgZW5kIGNodW5rIHNpemVzIGRpZmZlciIKK21zZ3N0ciAiZnJlZTog6LW35aeL5ZKM57uI57uT5Z2X5aSn5bCP5LiN5LiA6Ie0IgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjEwMDEKK21zZ2lkICJyZWFsbG9jOiBjYWxsZWQgd2l0aCB1bmFsbG9jYXRlZCBibG9jayBhcmd1bWVudCIKK21zZ3N0ciAicmVhbGxvYzog55So5pyq5YiG6YWN55qE5Z2X5L2c5Li65Y+C5pWw6KKr6LCD55SoIgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjEwMTYKK21zZ2lkICJyZWFsbG9jOiB1bmRlcmZsb3cgZGV0ZWN0ZWQ7IG1oX25ieXRlcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgInJlYWxsb2M6IOajgOa1i+WIsOS4i+a6ojsgbWhfbmJ5dGVz6LaK55WMIgorCisjOiBsaWIvbWFsbG9jL21hbGxvYy5jOjEwMjIKK21zZ2lkICJyZWFsbG9jOiBzdGFydCBhbmQgZW5kIGNodW5rIHNpemVzIGRpZmZlciIKK21zZ3N0ciAicmVhbGxvYzog6LW35aeL5ZKM57uI57uT5Z2X5aSn5bCP5LiN5LiA6Ie0IgorCisjOiBsaWIvbWFsbG9jL3RhYmxlLmM6MTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZ2lzdGVyX2FsbG9jOiBhbGxvYyB0YWJsZSBpcyBmdWxsIHdpdGggRklORF9BTExPQz9cbiIKK21zZ3N0ciAicmVnaXN0ZXJfYWxsb2M6IOWIhumFjeihqOW3sue7j+WFhea7oeS6hiBGSU5EX0FMTE9DP1xuIgorCisjOiBsaWIvbWFsbG9jL3RhYmxlLmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlZ2lzdGVyX2FsbG9jOiAlcCBhbHJlYWR5IGluIHRhYmxlIGFzIGFsbG9jYXRlZD9cbiIKK21zZ3N0ciAicmVnaXN0ZXJfYWxsb2M6ICVwIOWcqOihqOS4reaYvuekuuS4uuW3suWIhumFjT9cbiIKKworIzogbGliL21hbGxvYy90YWJsZS5jOjIyMAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWdpc3Rlcl9mcmVlOiAlcCBhbHJlYWR5IGluIHRhYmxlIGFzIGZyZWU/XG4iCittc2dzdHIgInJlZ2lzdGVyX2ZyZWU6ICVwIOWcqOihqOS4reaYvuekuuS4uuW3sumHiuaUvj9cbiIKKworIzogbGliL3NoL2ZtdHVsb25nLmM6MTAxCittc2dpZCAiaW52YWxpZCBiYXNlIgorbXNnc3RyICLml6DmlYjnmoTln7oiCisKKyM6IGxpYi9zaC9uZXRvcGVuLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBob3N0IHVua25vd24iCittc2dzdHIgIiVzOiDmnKrnn6XkuLvmnLoiCisKKyM6IGxpYi9zaC9uZXRvcGVuLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIHNlcnZpY2UiCittc2dzdHIgIiVzOiDml6DmlYjnmoTmnI3liqEiCisKKyM6IGxpYi9zaC9uZXRvcGVuLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgbmV0d29yayBwYXRoIHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVzOiDlnY/nmoTnvZHnu5zot6/lvoTlo7DmmI4iCisKKyM6IGxpYi9zaC9uZXRvcGVuLmM6MzQ2Cittc2dpZCAibmV0d29yayBvcGVyYXRpb25zIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIuS4jeaUr+aMgee9kee7nOaTjeS9nCIKKworIzogbG9jYWxlLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogTENfQUxMOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJzZXRsb2NhbGU6IExDX0FMTDog5peg5rOV5pS55Y+Y5Yy65Z+f6YCJ6aG5ICglcykiCisKKyM6IGxvY2FsZS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6IExDX0FMTDogY2Fubm90IGNoYW5nZSBsb2NhbGUgKCVzKTogJXMiCittc2dzdHIgInNldGxvY2FsZTogTENfQUxMOiDml6Dms5XmlLnlj5jljLrln5/pgInpobkgKCVzKTogJXMiCisKKyM6IGxvY2FsZS5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJzZXRsb2NhbGU6ICVzOiBjYW5ub3QgY2hhbmdlIGxvY2FsZSAoJXMpIgorbXNnc3RyICJzZXRsb2NhbGU6ICVzOiDml6Dms5XmlLnlj5jljLrln5/pgInpobkgKCVzKSIKKworIzogbG9jYWxlLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgInNldGxvY2FsZTogJXM6IGNhbm5vdCBjaGFuZ2UgbG9jYWxlICglcyk6ICVzIgorbXNnc3RyICJzZXRsb2NhbGU6ICVzOiDml6Dms5XmlLnlj5jljLrln5/pgInpobkgKCVzKTogJXMiCisKKyM6IG1haWxjaGVjay5jOjQzMworbXNnaWQgIllvdSBoYXZlIG1haWwgaW4gJF8iCittc2dzdHIgIuaCqOWcqCAkXyDkuK3mnInpgq7ku7YiCisKKyM6IG1haWxjaGVjay5jOjQ1OAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsIGluICRfIgorbXNnc3RyICLmgqjlnKggJF8g5Lit5pyJ5paw6YKu5Lu2IgorCisjOiBtYWlsY2hlY2suYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG1haWwgaW4gJXMgaGFzIGJlZW4gcmVhZFxuIgorbXNnc3RyICIlcyDkuK3nmoTpgq7ku7blt7LooqvpmIXor7tcbiIKKworIzogbWFrZV9jbWQuYzozMjMKK21zZ2lkICJzeW50YXggZXJyb3I6IGFyaXRobWV0aWMgZXhwcmVzc2lvbiByZXF1aXJlZCIKK21zZ3N0ciAi6K+t5rOV6ZSZ6K+vOiDpnIDopoHnrpfmlbDooajovr7lvI8iCisKKyM6IG1ha2VfY21kLmM6MzI1Cittc2dpZCAic3ludGF4IGVycm9yOiBgOycgdW5leHBlY3RlZCIKK21zZ3N0ciAi6K+t5rOV6ZSZ6K+vOiDmnJ/lvoUgYDsnIgorCisjOiBtYWtlX2NtZC5jOjMyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzeW50YXggZXJyb3I6IGAoKCVzKSknIgorbXNnc3RyICLor63ms5XplJnor686IGAoKCVzKSknIgorCisjOiBtYWtlX2NtZC5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJtYWtlX2hlcmVfZG9jdW1lbnQ6IGJhZCBpbnN0cnVjdGlvbiB0eXBlICVkIgorbXNnc3RyICJtYWtlX2hlcmVfZG9jdW1lbnQ6IOWdj+eahOaMh+S7pOexu+WeiyAlZCIKKworIzogbWFrZV9jbWQuYzo2NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaGVyZS1kb2N1bWVudCBhdCBsaW5lICVkIGRlbGltaXRlZCBieSBlbmQtb2YtZmlsZSAod2FudGVkIGAlcycpIgorbXNnc3RyICLnq4vljbPmlofmoaPlnKjnrKwgJWQg6KGM6KKr5paH5Lu257uT5p2f56ym5YiG6ZqUICjpnIDopoEgYCVzJykiCisKKyM6IG1ha2VfY21kLmM6NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgIm1ha2VfcmVkaXJlY3Rpb246IHJlZGlyZWN0aW9uIGluc3RydWN0aW9uIGAlZCcgb3V0IG9mIHJhbmdlIgorbXNnc3RyICJtYWtlX3JlZGlyZWN0aW9uOiDph43lrprlkJHmjIfku6QgYCVkJyDotornlYwiCisKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKK21zZ3N0ciAi5a+75om+5Yy56YWN55qEIGAlYycg5piv6YGH5Yiw5LqG5pyq6aKE5pyf55qE5paH5Lu257uT5p2f56ymIgorCisjOiBwYXJzZS55OjQwMjUKK21zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBgXV0nIgorbXNnc3RyICLlr7vmib4gYF1dJyDmmK/pgYfliLDkuobmnKrpooTmnJ/nmoTmlofku7bnu5PmnZ/nrKYiCisKKyM6IHBhcnNlLnk6NDAzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbjogdW5leHBlY3RlZCB0b2tlbiBgJXMnIgorbXNnc3RyICLmnaHku7booajovr7lvI/kuK3mnInor63ms5XplJnor686IOacqumihOacn+eahOespuWPtyBgJXMnIgorCisjOiBwYXJzZS55OjQwMzQKK21zZ2lkICJzeW50YXggZXJyb3IgaW4gY29uZGl0aW9uYWwgZXhwcmVzc2lvbiIKK21zZ3N0ciAi5p2h5Lu26KGo6L6+5byP5Lit5pyJ6K+t5rOV6ZSZ6K+vIgorCisjOiBwYXJzZS55OjQxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0b2tlbiBgJXMnLCBleHBlY3RlZCBgKSciCittc2dzdHIgIuacqumihOacn+eahOespuWPtyBgJXMnIO+8jOacn+W+hSBgKSciCisKKyM6IHBhcnNlLnk6NDExNgorbXNnaWQgImV4cGVjdGVkIGApJyIKK21zZ3N0ciAi5pyf5b6FIGApJyIKKworIzogcGFyc2UueTo0MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCB1bmFyeSBvcGVyYXRvciIKK21zZ3N0ciAi5LiA5YWD5p2h5Lu26L+Q566X56ym5L2/55So5LqG5pyq6aKE5pyf55qE5Y+C5pWwIGAlcyciCisKKyM6IHBhcnNlLnk6NDE0OAorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCittc2dzdHIgIuS4gOWFg+adoeS7tui/kOeul+espuS9v+eUqOS6huacqumihOacn+eahOWPguaVsCIKKworIzogcGFyc2UueTo0MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgorbXNnc3RyICLmnKrpooTmnJ/nmoTnrKblj7cgYCVzJ++8jOacn+W+heS6jOWFg+adoeS7tui/kOeul+espiIKKworIzogcGFyc2UueTo0MTk4Cittc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgorbXNnc3RyICLmnJ/lvoXkuozlhYPmnaHku7bov5DnrpfnrKYiCisKKyM6IHBhcnNlLnk6NDIyMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIgorbXNnc3RyICLkuozlhYPmnaHku7bov5DnrpfnrKbkvb/nlKjkuobmnKrpooTmnJ/nmoTlj4LmlbAgYCVzJyIKKworIzogcGFyc2UueTo0MjI0Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudCB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCittc2dzdHIgIuS6jOWFg+adoeS7tui/kOeul+espuS9v+eUqOS6huacqumihOacn+eahOWPguaVsCIKKworIzogcGFyc2UueTo0MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVjJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgorbXNnc3RyICLmnaHku7blkb3ku6TkuK3mnInmnKrpooTmnJ/nmoTnrKblj7cgYCVjJyIKKworIzogcGFyc2UueTo0MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJyBpbiBjb25kaXRpb25hbCBjb21tYW5kIgorbXNnc3RyICLmnaHku7blkb3ku6TkuK3mnInmnKrpooTmnJ/nmoTnrKblj7cgYCVzJyIKKworIzogcGFyc2UueTo0MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gJWQgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKK21zZ3N0ciAi5p2h5Lu25ZG95Luk5Lit5pyJ5pyq6aKE5pyf55qE56ym5Y+3ICVkIgorCisjOiBwYXJzZS55OjU1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgorbXNnc3RyICLmnKrpooTmnJ/nmoTnrKblj7cgYCVzJyDpmYTov5HmnInor63ms5XplJnor68iCisKKyM6IHBhcnNlLnk6NTU4NAorIywgYy1mb3JtYXQKK21zZ2lkICJzeW50YXggZXJyb3IgbmVhciBgJXMnIgorbXNnc3RyICJgJXMnIOmZhOi/keacieivreazlemUmeivryIKKworIzogcGFyc2UueTo1NTk0Cittc2dpZCAic3ludGF4IGVycm9yOiB1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIgorbXNnc3RyICLor63ms5XplJnor686IOacqumihOacn+eahOaWh+S7tue7k+WwviIKKworIzogcGFyc2UueTo1NTk0Cittc2dpZCAic3ludGF4IGVycm9yIgorbXNnc3RyICLor63ms5XplJnor68iCisKKyM6IHBhcnNlLnk6NTY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgXCIlc1wiIHRvIGxlYXZlIHRoZSBzaGVsbC5cbiIKK21zZ3N0ciAi5L2/55SoIFwiJXNcIiDpgIDlh7ogc2hlbGwg44CCXG4iCisKKyM6IHBhcnNlLnk6NTgxOAorbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIG1hdGNoaW5nIGApJyIKK21zZ3N0ciAi5a+75om+5Yy56YWN55qEIGApJyDml7bpgYfliLDkuobmnKrpooTmnJ/nmoTmlofku7bnu5PmnZ/nrKYiCisKKyM6IHBjb21wbGV0ZS5jOjEwMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29tcGxldGlvbjogZnVuY3Rpb24gYCVzJyBub3QgZm91bmQiCittc2dzdHIgIuihpeWujDog5pyq5om+5Yiw5Ye95pWwIGAlcyciCisKKyM6IHBjb21wbGliLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgInByb2djb21wX2luc2VydDogJXM6IE5VTEwgQ09NUFNQRUMiCittc2dzdHIgInByb2djb21wX2luc2VydDogJXM6IOepuueahOihpeWujOWjsOaYjiIKKworIzogcHJpbnRfY21kLmM6Mjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKK21zZ3N0ciAicHJpbnRfY29tbWFuZDog5Z2P55qE5p2h5Lu26L+e5o6l56ymIGAlZCciCisKKyM6IHByaW50X2NtZC5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgInh0cmFjZV9zZXQ6ICVkOiDml6DmlYjnmoTmlofku7bmj4/ov7DnrKYiCisKKyM6IHByaW50X2NtZC5jOjM3MworbXNnaWQgInh0cmFjZV9zZXQ6IE5VTEwgZmlsZSBwb2ludGVyIgorbXNnc3RyICJ4dHJhY2Vfc2V0OiDnqbrnmoTmlofku7bmjIfpkogiCisKKyM6IHByaW50X2NtZC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCittc2dzdHIgInh0cmFjZSBmZCAoJWQpICE9IGZpbGVubyB4dHJhY2UgZnAgKCVkKSIKKworIzogcHJpbnRfY21kLmM6MTQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCittc2dzdHIgImNwcmludGY6IGAlYyc6IOaXoOaViOeahOagvOW8j+Wtl+espiIKKworIzogcmVkaXIuYzoxMjIKK21zZ2lkICJmaWxlIGRlc2NyaXB0b3Igb3V0IG9mIHJhbmdlIgorbXNnc3RyICLmlofku7bmj4/ov7DnrKbotoXlh7rojIPlm7QiCisKKyM6IHJlZGlyLmM6MTc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcmVkaXJlY3QiCittc2dzdHIgIiVzOiDmqKHns4rnmoTph43lrprlkJEiCisKKyM6IHJlZGlyLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGUiCittc2dzdHIgIiVzOiDml6Dms5Xopobnm5blt7LlrZjlnKjnmoTmlofku7YiCisKKyM6IHJlZGlyLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXN0cmljdGVkOiBjYW5ub3QgcmVkaXJlY3Qgb3V0cHV0IgorbXNnc3RyICIlczog5Y+X6ZmQ55qEOiDml6Dms5Xph43lrprlkJHovpPlh7oiCisKKyM6IHJlZGlyLmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKK21zZ3N0ciAi5peg5rOV5Li656uL5Y2z5paH5qGj5Yib5bu65Li05pe25paH5Lu2OiAlcyIKKworIzogcmVkaXIuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhc3NpZ24gZmQgdG8gdmFyaWFibGUiCittc2dzdHIgIiVzOiDml6Dms5XlsIbmlofku7bmj4/ov7DnrKbotYvlgLznu5nlj5jph48iCisKKyM6IHJlZGlyLmM6NTQ4Cittc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgorbXNnc3RyICLmsqHmnInnvZHnu5zml7bkuI3mlK/mjIEgL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IgorCisjOiByZWRpci5jOjgxOCByZWRpci5jOjkzMCByZWRpci5jOjk5MyByZWRpci5jOjExMzYKK21zZ2lkICJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIKK21zZ3N0ciAi6YeN5a6a5ZCR6ZSZ6K+vOiDml6Dms5XlpI3liLbmlofku7bmj4/ov7DnrKYiCisKKyM6IHNoZWxsLmM6MzMzCittc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCittc2dzdHIgIuaXoOazleaJvuWIsCAvdG1wIO+8jOivt+WIm+W7uiIKKworIzogc2hlbGwuYzozMzcKK21zZ2lkICIvdG1wIG11c3QgYmUgYSB2YWxpZCBkaXJlY3RvcnkgbmFtZSIKK21zZ3N0ciAiL3RtcCDlv4XpobvkuLrmnInmlYjnmoTnm67lvZXlkI0iCisKKyM6IHNoZWxsLmM6ODg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgorbXNnc3RyICIlYyVjOiDml6DmlYjnmoTpgInpobkiCisKKyM6IHNoZWxsLmM6MTY1MgorbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKK21zZ3N0ciAi5rKh5pyJ5ZCN5a2X77yBIgorCisjOiBzaGVsbC5jOjE3OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR05VIGJhc2gsIHZlcnNpb24gJXMtKCVzKVxuIgorbXNnc3RyICJHTlUgYmFzaO+8jOeJiOacrCAlcy0oJXMpXG4iCisKKyM6IHNoZWxsLmM6MTc5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6XHQlcyBbR05VIGxvbmcgb3B0aW9uXSBbb3B0aW9uXSAuLi5cbiIKKyJcdCVzIFtHTlUgbG9uZyBvcHRpb25dIFtvcHRpb25dIHNjcmlwdC1maWxlIC4uLlxuIgorbXNnc3RyICIiCisi55So5rOV77yaXHQlcyBbR05VIOmVv+mAiemhuV0gW+mAiemhuV0gLi4uXG4iCisiXHQlcyBbR05VIOmVv+mAiemhuV0gW+mAiemhuV0g6ISa5pys5paH5Lu2IC4uLlxuIgorCisjOiBzaGVsbC5jOjE3OTgKK21zZ2lkICJHTlUgbG9uZyBvcHRpb25zOlxuIgorbXNnc3RyICJHTlUg5bi46YCJ6aG5OlxuIgorCisjOiBzaGVsbC5jOjE4MDIKK21zZ2lkICJTaGVsbCBvcHRpb25zOlxuIgorbXNnc3RyICJTaGVsbCDpgInpobk6XG4iCisKKyM6IHNoZWxsLmM6MTgwMworbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKK21zZ3N0ciAiXHQtaXJzRCDmiJYgLWMg5ZG95LukIOaIliAtTyBzaG9wdOmAiemhuVx0XHQo5LuF6YCC5ZCI6LCD55SoKVxuIgorCisjOiBzaGVsbC5jOjE4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiXHQtJXMgb3IgLW8gb3B0aW9uXG4iCittc2dzdHIgIlx0LSVzIOaIliAtbyDpgInpoblcbiIKKworIzogc2hlbGwuYzoxODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKK21zZ3N0ciAi6K+36L6T5YWlYCVzIC1jIFwiaGVscCBzZXRcIicg5Lul6I635b6X5YWz5LqOIHNoZWxsIOmAiemhueeahOabtOWkmuS/oeaBr1xuIgorCisjOiBzaGVsbC5jOjE4MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKK21zZ3N0ciAi6K+36L6T5YWlIGAlcyAtYyBoZWxwJyDku6XojrflvpflhbPkuo4gc2hlbGwg5YaF5bWM5ZG95Luk55qE5pu05aSa5L+h5oGvLlxuIgorCisjOiBzaGVsbC5jOjE4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIHRoZSBgYmFzaGJ1ZycgY29tbWFuZCB0byByZXBvcnQgYnVncy5cbiIKK21zZ3N0ciAi6K+35L2/55SoYGJhc2hidWcnIOWRveS7pOadpeaKpeWRiumUmeivry5cbiIKKworIzogc2lnLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCittc2dzdHIgInNpZ3Byb2NtYXNrOiAlZDog5peg5pWI55qE5pON5L2cIgorCisjOiBzaWdsaXN0LmM6NDgKK21zZ2lkICJCb2d1cyBzaWduYWwiCittc2dzdHIgIuS8quS/oeWPtyIKKworIzogc2lnbGlzdC5jOjUxCittc2dpZCAiSGFuZ3VwIgorbXNnc3RyICLmjILmlq0iCisKKyM6IHNpZ2xpc3QuYzo1NQorbXNnaWQgIkludGVycnVwdCIKK21zZ3N0ciAi5Lit5patIgorCisjOiBzaWdsaXN0LmM6NTkKK21zZ2lkICJRdWl0IgorbXNnc3RyICLpgIDlh7oiCisKKyM6IHNpZ2xpc3QuYzo2MworbXNnaWQgIklsbGVnYWwgaW5zdHJ1Y3Rpb24iCittc2dzdHIgIumdnuazleeahOaMh+S7pCIKKworIzogc2lnbGlzdC5jOjY3Cittc2dpZCAiQlBUIHRyYWNlL3RyYXAiCittc2dzdHIgIuaWreeCuei/vei4qi/pmbfpmLEiCisKKyM6IHNpZ2xpc3QuYzo3NQorbXNnaWQgIkFCT1JUIGluc3RydWN0aW9uIgorbXNnc3RyICLmlL7lvIPmjIfku6QiCisKKyM6IHNpZ2xpc3QuYzo3OQorbXNnaWQgIkVNVCBpbnN0cnVjdGlvbiIKK21zZ3N0ciAi5qih5ouf5Zmo6Zm36Zix5oyH5LukIgorCisjOiBzaWdsaXN0LmM6ODMKK21zZ2lkICJGbG9hdGluZyBwb2ludCBleGNlcHRpb24iCittc2dzdHIgIua1rueCueaVsOW8guW4uCIKKworIzogc2lnbGlzdC5jOjg3Cittc2dpZCAiS2lsbGVkIgorbXNnc3RyICLlt7LmnYDmrbsiCisKKyM6IHNpZ2xpc3QuYzo5MQorbXNnaWQgIkJ1cyBlcnJvciIKK21zZ3N0ciAi5oC757q/6ZSZ6K+vIgorCisjOiBzaWdsaXN0LmM6OTUKK21zZ2lkICJTZWdtZW50YXRpb24gZmF1bHQiCittc2dzdHIgIuautemUmeivryIKKworIzogc2lnbGlzdC5jOjk5Cittc2dpZCAiQmFkIHN5c3RlbSBjYWxsIgorbXNnc3RyICLlnY/nmoTns7vnu5/osIPnlKgiCisKKyM6IHNpZ2xpc3QuYzoxMDMKK21zZ2lkICJCcm9rZW4gcGlwZSIKK21zZ3N0ciAi56C06KOC55qE566h6YGTIgorCisjOiBzaWdsaXN0LmM6MTA3Cittc2dpZCAiQWxhcm0gY2xvY2siCittc2dzdHIgIumXuemSnyIKKworIzogc2lnbGlzdC5jOjExMQorbXNnaWQgIlRlcm1pbmF0ZWQiCittc2dzdHIgIuW3sue7iOatoiIKKworIzogc2lnbGlzdC5jOjExNQorbXNnaWQgIlVyZ2VudCBJTyBjb25kaXRpb24iCittc2dzdHIgIue0p+aApei+k+WFpei+k+WHuuaDheW9oiIKKworIzogc2lnbGlzdC5jOjExOQorbXNnaWQgIlN0b3BwZWQgKHNpZ25hbCkiCittc2dzdHIgIuW3suWBnOatoijkv6Hlj7cpIgorCisjOiBzaWdsaXN0LmM6MTI3Cittc2dpZCAiQ29udGludWUiCittc2dzdHIgIue7p+e7rSIKKworIzogc2lnbGlzdC5jOjEzNQorbXNnaWQgIkNoaWxkIGRlYXRoIG9yIHN0b3AiCittc2dzdHIgIuWtkOi/m+eoi+W3suatu+aIluiAheWBnOatoiIKKworIzogc2lnbGlzdC5jOjEzOQorbXNnaWQgIlN0b3BwZWQgKHR0eSBpbnB1dCkiCittc2dzdHIgIuW3suWBnOatoiAodHR5IOi+k+WFpSkiCisKKyM6IHNpZ2xpc3QuYzoxNDMKK21zZ2lkICJTdG9wcGVkICh0dHkgb3V0cHV0KSIKK21zZ3N0ciAi5bey5YGc5q2iICh0dHkg6L6T5Ye6KSIKKworIzogc2lnbGlzdC5jOjE0NworbXNnaWQgIkkvTyByZWFkeSIKK21zZ3N0ciAi6L6T5YWl6L6T5Ye65YeG5aSH5a6M5q+VIgorCisjOiBzaWdsaXN0LmM6MTUxCittc2dpZCAiQ1BVIGxpbWl0IgorbXNnc3RyICJDUFUg6ZmQ5Yi2IgorCisjOiBzaWdsaXN0LmM6MTU1Cittc2dpZCAiRmlsZSBsaW1pdCIKK21zZ3N0ciAi5paH5Lu26ZmQ5Yi2IgorCisjOiBzaWdsaXN0LmM6MTU5Cittc2dpZCAiQWxhcm0gKHZpcnR1YWwpIgorbXNnc3RyICLmiqXoraYo6Jma5oufKSIKKworIzogc2lnbGlzdC5jOjE2MworbXNnaWQgIkFsYXJtIChwcm9maWxlKSIKK21zZ3N0ciAi5oql6K2mKOaAu+e7kykiCisKKyM6IHNpZ2xpc3QuYzoxNjcKK21zZ2lkICJXaW5kb3cgY2hhbmdlZCIKK21zZ3N0ciAi56qX5Y+j5pS55Y+YIgorCisjOiBzaWdsaXN0LmM6MTcxCittc2dpZCAiUmVjb3JkIGxvY2siCittc2dzdHIgIuiusOW9lemUgSIKKworIzogc2lnbGlzdC5jOjE3NQorbXNnaWQgIlVzZXIgc2lnbmFsIDEiCittc2dzdHIgIueUqOaIt+WumuS5ieS/oeWPtzEiCisKKyM6IHNpZ2xpc3QuYzoxNzkKK21zZ2lkICJVc2VyIHNpZ25hbCAyIgorbXNnc3RyICLnlKjmiLflrprkuYnkv6Hlj7cyIgorCisjOiBzaWdsaXN0LmM6MTgzCittc2dpZCAiSEZUIGlucHV0IGRhdGEgcGVuZGluZyIKK21zZ3N0ciAiSEZU6L6T5YWl5pWw5o2u5oyC6LW3IgorCisjOiBzaWdsaXN0LmM6MTg3Cittc2dpZCAicG93ZXIgZmFpbHVyZSBpbW1pbmVudCIKK21zZ3N0ciAi5Y2z5bCG5YGc55S1IgorCisjOiBzaWdsaXN0LmM6MTkxCittc2dpZCAic3lzdGVtIGNyYXNoIGltbWluZW50IgorbXNnc3RyICLns7vnu5/ljbPlsIbltKnmuoMiCisKKyM6IHNpZ2xpc3QuYzoxOTUKK21zZ2lkICJtaWdyYXRlIHByb2Nlc3MgdG8gYW5vdGhlciBDUFUiCittc2dzdHIgIui/geenu+i/m+eoi+iHs+WPpuS4gOS4qkNQVSIKKworIzogc2lnbGlzdC5jOjE5OQorbXNnaWQgInByb2dyYW1taW5nIGVycm9yIgorbXNnc3RyICLnqIvluo/plJnor68iCisKKyM6IHNpZ2xpc3QuYzoyMDMKK21zZ2lkICJIRlQgbW9uaXRvciBtb2RlIGdyYW50ZWQiCittc2dzdHIgIkhGVOaYvuekuuWZqOaooeW8j+aOiOS4jiIKKworIzogc2lnbGlzdC5jOjIwNworbXNnaWQgIkhGVCBtb25pdG9yIG1vZGUgcmV0cmFjdGVkIgorbXNnc3RyICJIRlTmmL7npLrlmajmqKHlvI/mkqTplIAiCisKKyM6IHNpZ2xpc3QuYzoyMTEKK21zZ2lkICJIRlQgc291bmQgc2VxdWVuY2UgaGFzIGNvbXBsZXRlZCIKK21zZ3N0ciAiSEZU5aOw6Z+z5bqP5YiX5bey5a6M5oiQIgorCisjOiBzaWdsaXN0LmM6MjE1Cittc2dpZCAiSW5mb3JtYXRpb24gcmVxdWVzdCIKK21zZ3N0ciAi54q25oCB6K+35rGCIgorCisjOiBzaWdsaXN0LmM6MjIzCittc2dpZCAiVW5rbm93biBTaWduYWwgIyIKK21zZ3N0ciAi5pyq55+l5L+h5Y+3ICMiCisKKyM6IHNpZ2xpc3QuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBTaWduYWwgIyVkIgorbXNnc3RyICLmnKrnn6Xkv6Hlj7cgIyVkIgorCisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNTAyCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKK21zZ3N0ciAi5Z2P55qE5pu/5o2iOuWcqCAlMiRzIOS4reayoeaciemXreWQiOeahCBgJTEkcyciCisKKyM6IHN1YnN0LmM6Mjc5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKK21zZ3N0ciAiJXM6IOaXoOazleWwhumTvuihqOi1i+WAvOe7meaVsOe7hOaIkOWRmCIKKworIzogc3Vic3QuYzo0OTc5IHN1YnN0LmM6NDk5NQorbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIHByb2Nlc3Mgc3Vic3RpdHV0aW9uIgorbXNnc3RyICLml6Dms5XkuLrov5vnqIvmm7/mjaLliJvlu7rnrqHpgZMiCisKKyM6IHN1YnN0LmM6NTAyNworbXNnaWQgImNhbm5vdCBtYWtlIGNoaWxkIGZvciBwcm9jZXNzIHN1YnN0aXR1dGlvbiIKK21zZ3N0ciAi5peg5rOV5Li66L+b56iL5pu/5o2i5Yib5bu65a2Q6L+b56iLIgorCisjOiBzdWJzdC5jOjUwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKK21zZ3N0ciAi5peg5rOV5omT5byA5ZG95ZCN566h6YGTICVzIOi/m+ihjOivu+WPliIKKworIzogc3Vic3QuYzo1MDc0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIG5hbWVkIHBpcGUgJXMgZm9yIHdyaXRpbmciCittc2dzdHIgIuaXoOazleaJk+W8gOWRveWQjeeuoemBkyAlcyDov5vooYzlhpnlhaUiCisKKyM6IHN1YnN0LmM6NTA5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZHVwbGljYXRlIG5hbWVkIHBpcGUgJXMgYXMgZmQgJWQiCittc2dzdHIgIuaXoOazleWwhuWRveWQjeeuoemBkyAlcyDkvZzkuLrmlofku7bmj4/ov7DnrKYgJWQg5aSN5Yi2IgorCisjOiBzdWJzdC5jOjUyODQKK21zZ2lkICJjYW5ub3QgbWFrZSBwaXBlIGZvciBjb21tYW5kIHN1YnN0aXR1dGlvbiIKK21zZ3N0ciAi5peg5rOV5Li65ZG95Luk5pu/5o2i5Yib5bu6566h6YGTIgorCisjOiBzdWJzdC5jOjUzMjIKK21zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgY29tbWFuZCBzdWJzdGl0dXRpb24iCittc2dzdHIgIuaXoOazleS4uuWRveS7pOabv+aNouWIm+W7uuWtkOi/m+eoiyIKKworIzogc3Vic3QuYzo1MzM5Cittc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKK21zZ3N0ciAiY29tbWFuZF9zdWJzdGl0dXRlOiDml6Dms5XlsIbnrqHpgZPlpI3liLbkuLrmlofku7bmj4/ov7DnrKYxIgorCisjOiBzdWJzdC5jOjU4NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcmFtZXRlciBudWxsIG9yIG5vdCBzZXQiCittc2dzdHIgIiVzOiDlj4LmlbDkuLrnqbrmiJbmnKrorr7nva4iCisKKyM6IHN1YnN0LmM6NjEyNSBzdWJzdC5jOjYxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKK21zZ3N0ciAiJXM6IOWtkOS4suihqOi+vuW8jyA8IDAiCisKKyM6IHN1YnN0LmM6NzI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKK21zZ3N0ciAiJXM6IOWdj+eahOabv+aNoiIKKworIzogc3Vic3QuYzo3MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiQlczogY2Fubm90IGFzc2lnbiBpbiB0aGlzIHdheSIKK21zZ3N0ciAiJCVzOiDml6Dms5Xov5nmoLfotYvlgLwiCisKKyM6IHN1YnN0LmM6NzY4NAorbXNnaWQgIiIKKyJmdXR1cmUgdmVyc2lvbnMgb2YgdGhlIHNoZWxsIHdpbGwgZm9yY2UgZXZhbHVhdGlvbiBhcyBhbiBhcml0aG1ldGljICIKKyJzdWJzdGl0dXRpb24iCittc2dzdHIgIuacquadpeeJiOacrOeahCBzaGVsbCDkvJrlvLrliLbkvLDlgLzkuLrnrpfmlbDmm7/mjaIiCisKKyM6IHN1YnN0LmM6ODE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3Vic3RpdHV0aW9uOiBubyBjbG9zaW5nIFwiYFwiIGluICVzIgorbXNnc3RyICLlnY/nmoTmm7/mjaI65ZyoICVzIOS4reayoeaciemXreWQiOeahCBcImBcIiIKKworIzogc3Vic3QuYzo5MDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1hdGNoOiAlcyIKK21zZ3N0ciAi5rKh5pyJ5Yy56YWNOiAlcyIKKworIzogdGVzdC5jOjE0NgorbXNnaWQgImFyZ3VtZW50IGV4cGVjdGVkIgorbXNnc3RyICLmnJ/lvoXlj4LmlbAiCisKKyM6IHRlc3QuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludGVnZXIgZXhwcmVzc2lvbiBleHBlY3RlZCIKK21zZ3N0ciAiJXM6IOacn+W+heaVtOaVsOihqOi+vuW8jyIKKworIzogdGVzdC5jOjI2MworbXNnaWQgImApJyBleHBlY3RlZCIKK21zZ3N0ciAi5pyf5b6FIGApJyIKKworIzogdGVzdC5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJgKScgZXhwZWN0ZWQsIGZvdW5kICVzIgorbXNnc3RyICLmnJ/lvoVgKScg77yMIOW+l+WIsCAlcyIKKworIzogdGVzdC5jOjI4MCB0ZXN0LmM6Njk4IHRlc3QuYzo3MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgorbXNnc3RyICIlczog5pyf5b6F5LiA5YWD6KGo6L6+5byPIgorCisjOiB0ZXN0LmM6NDQ5IHRlc3QuYzo3NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJpbmFyeSBvcGVyYXRvciBleHBlY3RlZCIKK21zZ3N0ciAiJXM6IOacn+W+heS6jOWFg+ihqOi+vuW8jyIKKworIzogdGVzdC5jOjgxNgorbXNnaWQgIm1pc3NpbmcgYF0nIgorbXNnc3RyICLnvLrlsJEgYF0nIgorCisjOiB0cmFwLmM6MjA3Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbnVtYmVyIgorbXNnc3RyICLml6DmlYjnmoTkv6Hlj7fnvJblj7ciCisKKyM6IHRyYXAuYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAicnVuX3BlbmRpbmdfdHJhcHM6IGJhZCB2YWx1ZSBpbiB0cmFwX2xpc3RbJWRdOiAlcCIKK21zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IHRyYXBfbGlzdFslZF0g5Lit55qE5Z2P5YC8OiAlcCIKKworIzogdHJhcC5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisicnVuX3BlbmRpbmdfdHJhcHM6IHNpZ25hbCBoYW5kbGVyIGlzIFNJR19ERkwsIHJlc2VuZGluZyAlZCAoJXMpIHRvIG15c2VsZiIKK21zZ3N0ciAicnVuX3BlbmRpbmdfdHJhcHM6IOS/oeWPt+WkhOeQhuWZqOaYryBTSUdfREZM77yMIOmHjeaWsOWPkemAgSAlZCAoJXMpIOe7meiHquW3sSIKKworIzogdHJhcC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJ0cmFwX2hhbmRsZXI6IGJhZCBzaWduYWwgJWQiCittc2dzdHIgInRyYXBfaGFuZGxlcjog5Z2P55qE5L+h5Y+3ICVkIgorCisjOiB2YXJpYWJsZXMuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCittc2dzdHIgImAlcycg5Ye95pWw5a6a5LmJ5a+85YWl6ZSZ6K+vIgorCisjOiB2YXJpYWJsZXMuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2hlbGwgbGV2ZWwgKCVkKSB0b28gaGlnaCwgcmVzZXR0aW5nIHRvIDEiCittc2dzdHIgInNoZWxsIOWxguasoSAoJWQpIOWkqumrmO+8jCDph43nva7kuLogMSIKKworIzogdmFyaWFibGVzLmM6MTkzMgorbXNnaWQgIm1ha2VfbG9jYWxfdmFyaWFibGU6IG5vIGZ1bmN0aW9uIGNvbnRleHQgYXQgY3VycmVudCBzY29wZSIKK21zZ3N0ciAibWFrZV9sb2NhbF92YXJpYWJsZTog5b2T5YmN5L2c55So5Z+f5Lit5rKh5pyJ5Ye95pWw5LiK5LiL5paHIgorCisjOiB2YXJpYWJsZXMuYzozMTgyCittc2dpZCAiYWxsX2xvY2FsX3ZhcmlhYmxlczogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgorbXNnc3RyICJhbGxfbG9jYWxfdmFyaWFibGVzOiDlvZPliY3kvZznlKjln5/kuK3msqHmnInlh73mlbDkuIrkuIvmlociCisKKyM6IHZhcmlhYmxlcy5jOjM0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG51bGwgZXhwb3J0c3RyIgorbXNnc3RyICIlcyDmnInnqbrnmoQgZXhwb3J0c3RyIgorCisjOiB2YXJpYWJsZXMuYzozNDMyIHZhcmlhYmxlcy5jOjM0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKK21zZ3N0ciAiJTIkcyDnmoQgZXhwb3J0c3RyIOS4reacieaXoOaViOeahOWtl+espiAlMSRkIgorCisjOiB2YXJpYWJsZXMuYzozNDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgorbXNnc3RyICIlcyDnmoQgZXhwb3J0c3RyIOS4reayoeaciSBgPSciCisKKyM6IHZhcmlhYmxlcy5jOjM4OTEKK21zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCittc2dzdHIgInBvcF92YXJfY29udGV4dDogc2hlbGxfdmFyaWFibGVzIOeahOWktOmDqOS4jeaYr+WHveaVsOS4iuS4i+aWhyIKKworIzogdmFyaWFibGVzLmM6MzkwNAorbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgorbXNnc3RyICJwb3BfdmFyX2NvbnRleHQ6IOayoeaciSBnbG9iYWxfdmFyaWFibGVzIOS4iuS4i+aWhyIKKworIzogdmFyaWFibGVzLmM6Mzk3OAorbXNnaWQgInBvcF9zY29wZTogaGVhZCBvZiBzaGVsbF92YXJpYWJsZXMgbm90IGEgdGVtcG9yYXJ5IGVudmlyb25tZW50IHNjb3BlIgorbXNnc3RyICJwb3Bfc2NvcGU6IHNoZWxsX3ZhcmlhYmxlcyDnmoTlpLTpg6jkuI3mmK/kuLTml7bnjq/looPkvZznlKjln58iCisKKyM6IHZhcmlhYmxlcy5jOjQ3ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzOiBjYW5ub3Qgb3BlbiBhcyBGSUxFIgorbXNnc3RyICIlczogJXM6IOaXoOazleS9nOS4uuaWh+S7tuaJk+W8gCIKKworIzogdmFyaWFibGVzLmM6NDc5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXM6IGludmFsaWQgdmFsdWUgZm9yIHRyYWNlIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiJXM6ICVzOiDov73ouKrmlofku7bmj4/ov7DnrKbnmoTlgLzml6DmlYgiCisKKyM6IHZlcnNpb24uYzo0NgorIywgZnV6enkKK21zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIgorbXNnc3RyICLoh6rnlLHova/ku7bln7rph5HkvJog54mI5p2D5omA5pyJIDIwMDkiCisKKyM6IHZlcnNpb24uYzo0NworbXNnaWQgIiIKKyJMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9uIDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC4iCisiaHRtbD5cbiIKK21zZ3N0ciAiIgorIuiuuOWPr+ivgSBHUEx2Mys6IEdOVSBHUEwg6K645Y+v6K+B54mI5pysM+aIluiAheabtOmrmCA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorCisjOiB2ZXJzaW9uLmM6ODYgdmVyc2lvbjIuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcyAoJXMpXG4iCittc2dzdHIgIkdOVSBiYXNo77yMIOeJiOacrCAlcyAoJXMpXG4iCisKKyM6IHZlcnNpb24uYzo5MSB2ZXJzaW9uMi5jOjg4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LlxuIgorbXNnc3RyICLov5nmmK/oh6rnlLHova/ku7bvvIzmgqjlj6/ku6Xoh6rnlLHlnLDmm7TmlLnlkozph43mlrDlj5HluIPjgIJcbiIKKworIzogdmVyc2lvbi5jOjkyIHZlcnNpb24yLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy5cbiIKK21zZ3N0ciAi5Zyo5rOV5b6L5YWB6K6455qE6IyD5Zu05YaF5rKh5pyJ5ouF5L+dLlxuIgorCisjOiB2ZXJzaW9uMi5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy5cbiIKK21zZ3N0ciAi6Ieq55Sx6L2v5Lu25Z+66YeR5LyaIOeJiOadg+aJgOaciSAyMDA5XG4iCisKKyM6IHZlcnNpb24yLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxpY2Vuc2UgR1BMdjIrOiBHTlUgR1BMIHZlcnNpb24gMiBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLiIKKyJodG1sPlxuIgorbXNnc3RyICIiCisi6K645Y+v6K+BIEdQTHYyKzogR05VIEdQTCDorrjlj6/or4HniYjmnKwy5oiW6ICF5pu06auYIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuIgorImh0bWw+XG4iCisKKyM6IHhtYWxsb2MuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dzdHIgIiVzOiDml6Dms5XliIbphY0gJWx1IOWtl+iKgiAoJWx1IOWtl+iKguW3suWIhumFjSkiCisKKyM6IHhtYWxsb2MuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ3N0ciAiJXM6IOaXoOazleWIhumFjSAlbHUg5a2X6IqCIgorCisjOiB4bWFsbG9jLmM6MTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyAoJWx1IGJ5dGVzIGFsbG9jYXRlZCkiCittc2dzdHIgIiVzOiAlczolZDog5peg5rOV5YiG6YWNICVsdSDlrZfoioIgKCVsdSDlrZfoioLlt7LliIbphY0pIgorCisjOiB4bWFsbG9jLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlczolZDogY2Fubm90IGFsbG9jYXRlICVsdSBieXRlcyIKK21zZ3N0ciAiJXM6ICVzOiVkOiDml6Dms5XliIbphY0gJWx1IOWtl+iKgiIKKworIzogYnVpbHRpbnMuYzo0MworbXNnaWQgImFsaWFzIFstcF0gW25hbWVbPXZhbHVlXSAuLi4gXSIKK21zZ3N0ciAiYWxpYXMgWy1wXSBb5ZCN56ewWz3lgLxdIC4uLiBdIgorCisjOiBidWlsdGlucy5jOjQ3Cittc2dpZCAidW5hbGlhcyBbLWFdIG5hbWUgW25hbWUgLi4uXSIKK21zZ3N0ciAidW5hbGlhcyBbLWFdIOWQjeensCBb5ZCN56ewIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6NTEKK21zZ2lkICIiCisiYmluZCBbLWxwdnNQVlNdIFstbSBrZXltYXBdIFstZiBmaWxlbmFtZV0gWy1xIG5hbWVdIFstdSBuYW1lXSBbLXIga2V5c2VxXSBbLSIKKyJ4IGtleXNlcTpzaGVsbC1jb21tYW5kXSBba2V5c2VxOnJlYWRsaW5lLWZ1bmN0aW9uIG9yIHJlYWRsaW5lLWNvbW1hbmRdIgorbXNnc3RyICIiCisiYmluZCBbLWxwdnNQVlNdIFstbSDplK7mmKDlsIRdIFstZiDmlofku7blkI1dIFstcSDlkI3np7BdIFstdSDlkI3np7BdIFstciDplK7luo/liJddIFsteCAiCisi6ZSu5bqP5YiXOnNoZWxs5ZG95LukXSBb6ZSu5bqP5YiXOuihjOivu+WPluWHveaVsCDmiJYg6KGM6K+75Y+W5ZG95LukXSIKKworIzogYnVpbHRpbnMuYzo1NAorbXNnaWQgImJyZWFrIFtuXSIKK21zZ3N0ciAiYnJlYWsgW25dIgorCisjOiBidWlsdGlucy5jOjU2Cittc2dpZCAiY29udGludWUgW25dIgorbXNnc3RyICJjb250aW51ZSBbbl0iCisKKyM6IGJ1aWx0aW5zLmM6NTgKK21zZ2lkICJidWlsdGluIFtzaGVsbC1idWlsdGluIFthcmcgLi4uXV0iCittc2dzdHIgImJ1aWx0aW4gW3NoZWxsIOWGheW1jCBb5Y+C5pWwIC4uLl1dIgorCisjOiBidWlsdGlucy5jOjYxCittc2dpZCAiY2FsbGVyIFtleHByXSIKK21zZ3N0ciAiY2FsbGVyIFvooajovr7lvI9dIgorCisjOiBidWlsdGlucy5jOjY0CisjLCBmdXp6eQorbXNnaWQgImNkIFstTHxbLVAgWy1lXV1dIFtkaXJdIgorbXNnc3RyICJjZCBbLUx8LVBdIFvnm67lvZVdIgorCisjOiBidWlsdGlucy5jOjY2Cittc2dpZCAicHdkIFstTFBdIgorbXNnc3RyICJwd2QgWy1MUF0iCisKKyM6IGJ1aWx0aW5zLmM6NjgKK21zZ2lkICI6IgorbXNnc3RyICI6IgorCisjOiBidWlsdGlucy5jOjcwCittc2dpZCAidHJ1ZSIKK21zZ3N0ciAi55yfIgorCisjOiBidWlsdGlucy5jOjcyCittc2dpZCAiZmFsc2UiCittc2dzdHIgIuS8qiIKKworIzogYnVpbHRpbnMuYzo3NAorbXNnaWQgImNvbW1hbmQgWy1wVnZdIGNvbW1hbmQgW2FyZyAuLi5dIgorbXNnc3RyICJjb21tYW5kIFstcFZ2XSDlkb3ku6QgW+WPguaVsCAuLi5dIgorCisjOiBidWlsdGlucy5jOjc2CisjLCBmdXp6eQorbXNnaWQgImRlY2xhcmUgWy1hQWZGZ2lscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCittc2dzdHIgImRlY2xhcmUgWy1hQWZGaWxydHV4XSBbLXBdIFvlkI3np7BbPeWAvF0gLi4uXSIKKworIzogYnVpbHRpbnMuYzo3OAorIywgZnV6enkKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKK21zZ3N0ciAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0g5ZCN56ewWz3lgLxdIC4uLiIKKworIzogYnVpbHRpbnMuYzo4MAorbXNnaWQgImxvY2FsIFtvcHRpb25dIG5hbWVbPXZhbHVlXSAuLi4iCittc2dzdHIgImxvY2FsIFtvcHRpb25dIOWQjeensFs95YC8XSAuLi4iCisKKyM6IGJ1aWx0aW5zLmM6ODMKK21zZ2lkICJlY2hvIFstbmVFXSBbYXJnIC4uLl0iCittc2dzdHIgImVjaG8gWy1uZUVdIFvlj4LmlbAgLi4uXSIKKworIzogYnVpbHRpbnMuYzo4NworbXNnaWQgImVjaG8gWy1uXSBbYXJnIC4uLl0iCittc2dzdHIgImVjaG8gWy1uXSBb5Y+C5pWwIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6OTAKK21zZ2lkICJlbmFibGUgWy1hXSBbLWRucHNdIFstZiBmaWxlbmFtZV0gW25hbWUgLi4uXSIKK21zZ3N0ciAiZW5hYmxlIFstYV0gWy1kbnBzXSBbLWYg5paH5Lu25ZCNXSBb5ZCN56ewIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6OTIKK21zZ2lkICJldmFsIFthcmcgLi4uXSIKK21zZ3N0ciAiZXZhbCBb5Y+C5pWwIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6OTQKK21zZ2lkICJnZXRvcHRzIG9wdHN0cmluZyBuYW1lIFthcmddIgorbXNnc3RyICJnZXRvcHRzIOmAiemhueWtl+espuS4siDlkI3np7AgW+WPguaVsF0iCisKKyM6IGJ1aWx0aW5zLmM6OTYKK21zZ2lkICJleGVjIFstY2xdIFstYSBuYW1lXSBbY29tbWFuZCBbYXJndW1lbnRzIC4uLl1dIFtyZWRpcmVjdGlvbiAuLi5dIgorbXNnc3RyICJleGVjIFstY2xdIFstYSDlkI3np7BdIFvlkb3ku6QgW+WPguaVsCAuLi5dXSBb6YeN5a6a5ZCRIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6OTgKK21zZ2lkICJleGl0IFtuXSIKK21zZ3N0ciAiZXhpdCBbbl0iCisKKyM6IGJ1aWx0aW5zLmM6MTAwCittc2dpZCAibG9nb3V0IFtuXSIKK21zZ3N0ciAibG9nb3V0IFtuXSIKKworIzogYnVpbHRpbnMuYzoxMDMKK21zZ2lkICJmYyBbLWUgZW5hbWVdIFstbG5yXSBbZmlyc3RdIFtsYXN0XSBvciBmYyAtcyBbcGF0PXJlcF0gW2NvbW1hbmRdIgorbXNnc3RyICJmYyBbLWUg57yW6L6R5Zmo5ZCNXSBbLWxucl0gW+i1t+Wni10gW+e7iOe7k10g5oiWIGZjIC1zIFvmqKHlvI895pu/5o2i5LiyXSBb5ZG95LukXSIKKworIzogYnVpbHRpbnMuYzoxMDcKK21zZ2lkICJmZyBbam9iX3NwZWNdIgorbXNnc3RyICJmZyBb5Lu75Yqh5aOw5piOXSIKKworIzogYnVpbHRpbnMuYzoxMTEKK21zZ2lkICJiZyBbam9iX3NwZWMgLi4uXSIKK21zZ3N0ciAiYmcgW+S7u+WKoeWjsOaYjiAuLi5dIgorCisjOiBidWlsdGlucy5jOjExNAorbXNnaWQgImhhc2ggWy1scl0gWy1wIHBhdGhuYW1lXSBbLWR0XSBbbmFtZSAuLi5dIgorbXNnc3RyICJoYXNoIFstbHJdIFstcCDot6/lvoTlkI1dIFstZHRdIFvlkI3np7AgLi4uXSIKKworIzogYnVpbHRpbnMuYzoxMTcKK21zZ2lkICJoZWxwIFstZG1zXSBbcGF0dGVybiAuLi5dIgorbXNnc3RyICJoZWxwIFstZG1zXSBb5qih5byPIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTIxCittc2dpZCAiIgorImhpc3RvcnkgWy1jXSBbLWQgb2Zmc2V0XSBbbl0gb3IgaGlzdG9yeSAtYW5ydyBbZmlsZW5hbWVdIG9yIGhpc3RvcnkgLXBzIGFyZyAiCisiW2FyZy4uLl0iCittc2dzdHIgIiIKKyJoaXN0b3J5IFstY10gWy1kIOWBj+enu+mHj10gW25dIOaIliBoaXN0b3J5IC1hbnJ3IFvmlofku7blkI1dIOaIliBoaXN0b3J5IC1wcyDlj4LmlbAgIgorIlvlj4LmlbAuLi5dIgorCisjOiBidWlsdGlucy5jOjEyNQorbXNnaWQgImpvYnMgWy1sbnByc10gW2pvYnNwZWMgLi4uXSBvciBqb2JzIC14IGNvbW1hbmQgW2FyZ3NdIgorbXNnc3RyICJqb2JzIFstbG5wcnNdIFvku7vliqHlo7DmmI4gLi4uXSDmiJYgam9icyAteCDlkb3ku6QgW+WPguaVsF0iCisKKyM6IGJ1aWx0aW5zLmM6MTI5Cittc2dpZCAiZGlzb3duIFstaF0gWy1hcl0gW2pvYnNwZWMgLi4uXSIKK21zZ3N0ciAiZGlzb3duIFstaF0gWy1hcl0gW+S7u+WKoeWjsOaYjiAuLi5dIgorCisjOiBidWlsdGlucy5jOjEzMgorbXNnaWQgIiIKKyJraWxsIFstcyBzaWdzcGVjIHwgLW4gc2lnbnVtIHwgLXNpZ3NwZWNdIHBpZCB8IGpvYnNwZWMgLi4uIG9yIGtpbGwgLWwgIgorIltzaWdzcGVjXSIKK21zZ3N0ciAiIgorImtpbGwgWy1zIOS/oeWPt+WjsOaYjiB8IC1uIOS/oeWPt+e8luWPtyB8IC3kv6Hlj7flo7DmmI5dIOi/m+eoi+WPtyB8IOS7u+WKoeWjsOaYjiAuLi4g5oiWIGtpbGwgLSIKKyJsIFvkv6Hlj7flo7DmmI5dIgorCisjOiBidWlsdGlucy5jOjEzNAorbXNnaWQgImxldCBhcmcgW2FyZyAuLi5dIgorbXNnc3RyICJsZXQg5Y+C5pWwIFvlj4LmlbAgLi4uXSIKKworIzogYnVpbHRpbnMuYzoxMzYKK21zZ2lkICIiCisicmVhZCBbLWVyc10gWy1hIGFycmF5XSBbLWQgZGVsaW1dIFstaSB0ZXh0XSBbLW4gbmNoYXJzXSBbLU4gbmNoYXJzXSBbLXAgIgorInByb21wdF0gWy10IHRpbWVvdXRdIFstdSBmZF0gW25hbWUgLi4uXSIKK21zZ3N0ciAiIgorInJlYWQgWy1lcnNdIFstYSDmlbDnu4RdIFstZCDliIbpmpTnrKZdIFstaSDnvJPlhrLljLrmloflrZddIFstbiDor7vlj5blrZfnrKbmlbBdIFstTiDor7vlj5blrZciCisi56ym5pWwXSBbLXAg5o+Q56S656ymXSBbLXQg6LaF5pe2XSBbLXUg5paH5Lu25o+P6L+w56ymXSBb5ZCN56ewIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTM4Cittc2dpZCAicmV0dXJuIFtuXSIKK21zZ3N0ciAicmV0dXJuIFtuXSIKKworIzogYnVpbHRpbnMuYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAic2V0IFstYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gWy0tXSBbYXJnIC4uLl0iCittc2dzdHIgInNldCBbLS1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIOmAiemhueWQjV0gW+WPguaVsCAuLi5dIgorCisjOiBidWlsdGlucy5jOjE0MgorbXNnaWQgInVuc2V0IFstZl0gWy12XSBbbmFtZSAuLi5dIgorbXNnc3RyICJ1bnNldCBbLWZdIFstdl0gW+WQjeensCAuLi5dIgorCisjOiBidWlsdGlucy5jOjE0NAorbXNnaWQgImV4cG9ydCBbLWZuXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgZXhwb3J0IC1wIgorbXNnc3RyICJleHBvcnQgWy1mbl0gW+WQjeensFs95YC8XSAuLi5dIOaIliBleHBvcnQgLXAiCisKKyM6IGJ1aWx0aW5zLmM6MTQ2CisjLCBmdXp6eQorbXNnaWQgInJlYWRvbmx5IFstYUFmXSBbbmFtZVs9dmFsdWVdIC4uLl0gb3IgcmVhZG9ubHkgLXAiCittc2dzdHIgInJlYWRvbmx5IFstYWZdIFvlkI3np7BbPeWAvF0gLi4uXSDmiJYgcmVhZG9ubHkgLXAiCisKKyM6IGJ1aWx0aW5zLmM6MTQ4Cittc2dpZCAic2hpZnQgW25dIgorbXNnc3RyICJzaGlmdCBbbl0iCisKKyM6IGJ1aWx0aW5zLmM6MTUwCittc2dpZCAic291cmNlIGZpbGVuYW1lIFthcmd1bWVudHNdIgorbXNnc3RyICJzb3VyY2Ug5paH5Lu25ZCNIFvlj4LmlbBdIgorCisjOiBidWlsdGlucy5jOjE1MgorbXNnaWQgIi4gZmlsZW5hbWUgW2FyZ3VtZW50c10iCittc2dzdHIgIi4g5paH5Lu25ZCNIFvlj4LmlbBdIgorCisjOiBidWlsdGlucy5jOjE1NQorbXNnaWQgInN1c3BlbmQgWy1mXSIKK21zZ3N0ciAic3VzcGVuZCBbLWZdIgorCisjOiBidWlsdGlucy5jOjE1OAorbXNnaWQgInRlc3QgW2V4cHJdIgorbXNnc3RyICJ0ZXN0IFvooajovr7lvI9dIgorCisjOiBidWlsdGlucy5jOjE2MAorbXNnaWQgIlsgYXJnLi4uIF0iCittc2dzdHIgIlsg5Y+C5pWwLi4uIF0iCisKKyM6IGJ1aWx0aW5zLmM6MTYyCittc2dpZCAidGltZXMiCittc2dzdHIgInRpbWVzIgorCisjOiBidWlsdGlucy5jOjE2NAorbXNnaWQgInRyYXAgWy1scF0gW1thcmddIHNpZ25hbF9zcGVjIC4uLl0iCittc2dzdHIgInRyYXAgWy1scF0gW1vlj4LmlbBdIOS/oeWPt+WjsOaYjiAuLi5dIgorCisjOiBidWlsdGlucy5jOjE2NgorbXNnaWQgInR5cGUgWy1hZnB0UF0gbmFtZSBbbmFtZSAuLi5dIgorbXNnc3RyICJ0eXBlIFstYWZwdFBdIOWQjeensCBb5ZCN56ewIC4uLl0iCisKKyM6IGJ1aWx0aW5zLmM6MTY5Cittc2dpZCAidWxpbWl0IFstU0hhY2RlZmlsbW5wcXJzdHV2eF0gW2xpbWl0XSIKK21zZ3N0ciAidWxpbWl0IFstU0hhY2RlZmlsbW5wcXJzdHV2eF0gW+mZkOWItl0iCisKKyM6IGJ1aWx0aW5zLmM6MTcyCittc2dpZCAidW1hc2sgWy1wXSBbLVNdIFttb2RlXSIKK21zZ3N0ciAidW1hc2sgWy1wXSBbLVNdIFvmqKHlvI9dIgorCisjOiBidWlsdGlucy5jOjE3NQorbXNnaWQgIndhaXQgW2lkXSIKK21zZ3N0ciAid2FpdCBb57yW5Y+3XSIKKworIzogYnVpbHRpbnMuYzoxNzkKK21zZ2lkICJ3YWl0IFtwaWRdIgorbXNnc3RyICJ3YWl0IFvov5vnqIvlj7ddIgorCisjOiBidWlsdGlucy5jOjE4MgorbXNnaWQgImZvciBOQU1FIFtpbiBXT1JEUyAuLi4gXSA7IGRvIENPTU1BTkRTOyBkb25lIgorbXNnc3RyICJmb3Ig5ZCN56ewIFtpbiDor43or60gLi4uIF0gOyBkbyDlkb3ku6Q7IGRvbmUiCisKKyM6IGJ1aWx0aW5zLmM6MTg0Cittc2dpZCAiZm9yICgoIGV4cDE7IGV4cDI7IGV4cDMgKSk7IGRvIENPTU1BTkRTOyBkb25lIgorbXNnc3RyICJmb3IgKCgg6KGo6L6+5byPMTsg6KGo6L6+5byPMjsg6KGo6L6+5byPMyApKTsgZG8g5ZG95LukOyBkb25lIgorCisjOiBidWlsdGlucy5jOjE4NgorbXNnaWQgInNlbGVjdCBOQU1FIFtpbiBXT1JEUyAuLi4gO10gZG8gQ09NTUFORFM7IGRvbmUiCittc2dzdHIgInNlbGVjdCBOQU1FIFtpbiDor43or60gLi4uIDtdIGRvIOWRveS7pDsgZG9uZSIKKworIzogYnVpbHRpbnMuYzoxODgKK21zZ2lkICJ0aW1lIFstcF0gcGlwZWxpbmUiCittc2dzdHIgInRpbWUgWy1wXSDnrqHpgZMiCisKKyM6IGJ1aWx0aW5zLmM6MTkwCittc2dpZCAiY2FzZSBXT1JEIGluIFtQQVRURVJOIFt8IFBBVFRFUk5dLi4uKSBDT01NQU5EUyA7O10uLi4gZXNhYyIKK21zZ3N0ciAiY2FzZSDor40gaW4gW+aooeW8jyBbfCDmqKHlvI9dLi4uKSDlkb3ku6QgOztdLi4uIGVzYWMiCisKKyM6IGJ1aWx0aW5zLmM6MTkyCittc2dpZCAiIgorImlmIENPTU1BTkRTOyB0aGVuIENPTU1BTkRTOyBbIGVsaWYgQ09NTUFORFM7IHRoZW4gQ09NTUFORFM7IF0uLi4gWyBlbHNlICIKKyJDT01NQU5EUzsgXSBmaSIKK21zZ3N0ciAiaWYg5ZG95LukOyB0aGVuIOWRveS7pDsgWyBlbGlmIOWRveS7pDsgdGhlbiDlkb3ku6Q7IF0uLi4gWyBlbHNlIOWRveS7pDsgXSBmaSIKKworIzogYnVpbHRpbnMuYzoxOTQKK21zZ2lkICJ3aGlsZSBDT01NQU5EUzsgZG8gQ09NTUFORFM7IGRvbmUiCittc2dzdHIgIndoaWxlIOWRveS7pDsgZG8g5ZG95LukOyBkb25lIgorCisjOiBidWlsdGlucy5jOjE5NgorbXNnaWQgInVudGlsIENPTU1BTkRTOyBkbyBDT01NQU5EUzsgZG9uZSIKK21zZ3N0ciAidW50aWwg5ZG95LukOyBkbyDlkb3ku6Q7IGRvbmUiCisKKyM6IGJ1aWx0aW5zLmM6MTk4Cittc2dpZCAiY29wcm9jIFtOQU1FXSBjb21tYW5kIFtyZWRpcmVjdGlvbnNdIgorbXNnc3RyICJjb3Byb2MgW+WQjeensF0g5ZG95LukIFvph43lrprlkJFdIgorCisjOiBidWlsdGlucy5jOjIwMAorbXNnaWQgImZ1bmN0aW9uIG5hbWUgeyBDT01NQU5EUyA7IH0gb3IgbmFtZSAoKSB7IENPTU1BTkRTIDsgfSIKK21zZ3N0ciAiZnVuY3Rpb24g5ZCN56ewIHsg5ZG95LukIDsgfSDmiJYgbmFtZSAoKSB7IOWRveS7pCA7IH0iCisKKyM6IGJ1aWx0aW5zLmM6MjAyCittc2dpZCAieyBDT01NQU5EUyA7IH0iCittc2dzdHIgInsg5ZG95LukIDsgfSIKKworIzogYnVpbHRpbnMuYzoyMDQKK21zZ2lkICJqb2Jfc3BlYyBbJl0iCittc2dzdHIgImpvYl9zcGVjIFsmXSIKKworIzogYnVpbHRpbnMuYzoyMDYKK21zZ2lkICIoKCBleHByZXNzaW9uICkpIgorbXNnc3RyICIoKCDooajovr7lvI8gKSkiCisKKyM6IGJ1aWx0aW5zLmM6MjA4Cittc2dpZCAiW1sgZXhwcmVzc2lvbiBdXSIKK21zZ3N0ciAiW1sg6KGo6L6+5byPIF1dIgorCisjOiBidWlsdGlucy5jOjIxMAorbXNnaWQgInZhcmlhYmxlcyAtIE5hbWVzIGFuZCBtZWFuaW5ncyBvZiBzb21lIHNoZWxsIHZhcmlhYmxlcyIKK21zZ3N0ciAidmFyaWFibGVzIC0g5LiA5LqbIHNoZWxsIOWPmOmHj+eahOWQjeensOWSjOWQq+S5iSIKKworIzogYnVpbHRpbnMuYzoyMTMKK21zZ2lkICJwdXNoZCBbLW5dIFsrTiB8IC1OIHwgZGlyXSIKK21zZ3N0ciAicHVzaGQgWy1uXSBbK04gfCAtTiB8IOebruW9lV0iCisKKyM6IGJ1aWx0aW5zLmM6MjE3Cittc2dpZCAicG9wZCBbLW5dIFsrTiB8IC1OXSIKK21zZ3N0ciAicG9wZCBbLW5dIFsrTiB8IC1OXSIKKworIzogYnVpbHRpbnMuYzoyMjEKK21zZ2lkICJkaXJzIFstY2xwdl0gWytOXSBbLU5dIgorbXNnc3RyICJkaXJzIFstY2xwdl0gWytOXSBbLU5dIgorCisjOiBidWlsdGlucy5jOjIyNAorbXNnaWQgInNob3B0IFstcHFzdV0gWy1vXSBbb3B0bmFtZSAuLi5dIgorbXNnc3RyICJzaG9wdCBbLXBxc3VdIFstb10gW+mAiemhueWQjSAuLi5dIgorCisjOiBidWlsdGlucy5jOjIyNgorbXNnaWQgInByaW50ZiBbLXYgdmFyXSBmb3JtYXQgW2FyZ3VtZW50c10iCittc2dzdHIgInByaW50ZiBbLXYgdmFyXSDmoLzlvI8gW+WPguaVsF0iCisKKyM6IGJ1aWx0aW5zLmM6MjI5Cittc2dpZCAiIgorImNvbXBsZXRlIFstYWJjZGVmZ2prc3V2XSBbLXByXSBbLURFXSBbLW8gb3B0aW9uXSBbLUEgYWN0aW9uXSBbLUcgZ2xvYnBhdF0gWy0iCisiVyB3b3JkbGlzdF0gIFstRiBmdW5jdGlvbl0gWy1DIGNvbW1hbmRdIFstWCBmaWx0ZXJwYXRdIFstUCBwcmVmaXhdIFstUyAiCisic3VmZml4XSBbbmFtZSAuLi5dIgorbXNnc3RyICIiCisiY29tcGxldGUgWy1hYmNkZWZnamtzdXZdIFstcHJdIFstREVdIFstbyDpgInpobldIFstQSDliqjkvZxdIFstRyDlhajlsYDmqKHlvI9dIFstVyDor40iCisi6K+t5YiX6KGoXSAgWy1GIOWHveaVsF0gWy1DIOWRveS7pF0gWy1YIOi/h+a7pOaooeW8j10gWy1QIOWJjee8gF0gWy1TIOWQjue8gF0gW+WQjeensCAuLi5dIgorCisjOiBidWlsdGlucy5jOjIzMworbXNnaWQgIiIKKyJjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8gb3B0aW9uXSAgWy1BIGFjdGlvbl0gWy1HIGdsb2JwYXRdIFstVyB3b3JkbGlzdF0gICIKKyJbLUYgZnVuY3Rpb25dIFstQyBjb21tYW5kXSBbLVggZmlsdGVycGF0XSBbLVAgcHJlZml4XSBbLVMgc3VmZml4XSBbd29yZF0iCittc2dzdHIgIiIKKyJjb21wZ2VuIFstYWJjZGVmZ2prc3V2XSBbLW8g6YCJ6aG5XSAgWy1BIOWKqOS9nF0gWy1HIOWFqOWxgOaooeW8j10gWy1XIOivjeivreWIl+ihqF0gIFstIgorIkYg5Ye95pWwXSBbLUMg5ZG95LukXSBbLVgg6L+H5ruk5qih5byPXSBbLVAg5YmN57yAXSBbLVMg5ZCO57yAXSBb6K+N6K+tXSIKKworIzogYnVpbHRpbnMuYzoyMzcKK21zZ2lkICJjb21wb3B0IFstb3wrbyBvcHRpb25dIFstREVdIFtuYW1lIC4uLl0iCittc2dzdHIgImNvbXBvcHQgWy1vfCtvIOmAiemhuV0gWy1ERV0gW+WQjeensCAuLi5dIgorCisjOiBidWlsdGlucy5jOjI0MAorbXNnaWQgIiIKKyJtYXBmaWxlIFstbiBjb3VudF0gWy1PIG9yaWdpbl0gWy1zIGNvdW50XSBbLXRdIFstdSBmZF0gWy1DIGNhbGxiYWNrXSBbLWMgIgorInF1YW50dW1dIFthcnJheV0iCittc2dzdHIgIiIKKyJtYXBmaWxlIFstbiDorqHmlbBdIFstTyDotbflp4vluo/lj7ddIFstcyDorqHmlbBdIFstdF0gWy11IGZkXSBbLUMg5Zue6LCDXSBbLWMg6YeP5a2QXSAiCisiW+aVsOe7hF0iCisKKyM6IGJ1aWx0aW5zLmM6MjQyCittc2dpZCAiIgorInJlYWRhcnJheSBbLW4gY291bnRdIFstTyBvcmlnaW5dIFstcyBjb3VudF0gWy10XSBbLXUgZmRdIFstQyBjYWxsYmFja10gWy1jICIKKyJxdWFudHVtXSBbYXJyYXldIgorbXNnc3RyICIiCisicmVhZGFycmF5IFstbiDorqHmlbBdIFstTyDotbflp4vluo/lj7ddIFstcyDorqHmlbBdIFstdF0gWy11IGZkXSBbLUMg5Zue6LCDXSBbLWMg6YeP5a2QXSAiCisiW+aVsOe7hF0iCisKKyM6IGJ1aWx0aW5zLmM6MjU0Cittc2dpZCAiIgorIkRlZmluZSBvciBkaXNwbGF5IGFsaWFzZXMuXG4iCisiICAgIFxuIgorIiAgICBXaXRob3V0IGFyZ3VtZW50cywgYGFsaWFzJyBwcmludHMgdGhlIGxpc3Qgb2YgYWxpYXNlcyBpbiB0aGUgcmV1c2FibGVcbiIKKyIgICAgZm9ybSBgYWxpYXMgTkFNRT1WQUxVRScgb24gc3RhbmRhcmQgb3V0cHV0LlxuIgorIiAgICBcbiIKKyIgICAgT3RoZXJ3aXNlLCBhbiBhbGlhcyBpcyBkZWZpbmVkIGZvciBlYWNoIE5BTUUgd2hvc2UgVkFMVUUgaXMgZ2l2ZW4uXG4iCisiICAgIEEgdHJhaWxpbmcgc3BhY2UgaW4gVkFMVUUgY2F1c2VzIHRoZSBuZXh0IHdvcmQgdG8gYmUgY2hlY2tlZCBmb3JcbiIKKyIgICAgYWxpYXMgc3Vic3RpdHV0aW9uIHdoZW4gdGhlIGFsaWFzIGlzIGV4cGFuZGVkLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtcFx0UHJpbnQgYWxsIGRlZmluZWQgYWxpYXNlcyBpbiBhIHJldXNhYmxlIGZvcm1hdFxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIGFsaWFzIHJldHVybnMgdHJ1ZSB1bmxlc3MgYSBOQU1FIGlzIHN1cHBsaWVkIGZvciB3aGljaCBubyBhbGlhcyBoYXMgIgorImJlZW5cbiIKKyIgICAgZGVmaW5lZC4iCittc2dzdHIgIiIKKyLlrprkuYnmiJbmmL7npLrliKvlkI3jgIJcbiIKKyIgICAgXG4iCisiICAgIOS4jeW4puWPguaVsOaXtu+8jCBgYWxpYXMnIOS7peWPr+mHjeeUqOeahOagvOW8j1xuIgorIiAgICBgYWxpYXMg5ZCN56ewPeWAvCflnKjmoIflh4bovpPlh7rorr7lpIfkuIrmiZPljbDliKvlkI3liJfooajjgIJcbiIKKyIgICAgXG4iCisiICAgIOWQpuWIme+8jOWvueS6juavj+S4que7meWumuWAvOeahOWQjeensOWumuS5ieS4gOS4quWIq+WQjeOAglxuIgorIiAgICDlgLzmnKvlsL7nmoTnqbrmoLzkvJrkvb/kuIvkuIDkuKror43ooqvmo4DmtYtcbiIKKyIgICAg5L2c5Li65Yir5ZCN5pu/5o2i5bGV5byA44CCXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtcFx05Lul5Y+v6YeN55So55qE5qC85byP5omT5Y2w5omA5pyJ55qE5bey5a6a5LmJ55qE5Yir5ZCNXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6Zmk6Z2e5LiA5Liq5rKh5pyJ5a6a5LmJ55qE5ZCN5a2X6KKr5L2c5Li65Y+C5pWw5o+Q5L6b77yM5ZCm5YiZIGFsaWFzIFxuIgorIiAgICDov5Tlm57lgLzkuLrnnJ/jgIIiCisKKyM6IGJ1aWx0aW5zLmM6Mjc2Cittc2dpZCAiIgorIlJlbW92ZSBlYWNoIE5BTUUgZnJvbSB0aGUgbGlzdCBvZiBkZWZpbmVkIGFsaWFzZXMuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1hXHRyZW1vdmUgYWxsIGFsaWFzIGRlZmluaXRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgUmV0dXJuIHN1Y2Nlc3MgdW5sZXNzIGEgTkFNRSBpcyBub3QgYW4gZXhpc3RpbmcgYWxpYXMuIgorbXNnc3RyICIiCisi5LuO5Yir5ZCN5a6a5LmJ5YiX6KGo5Lit5Yig6Zmk5q+P5LiA5Liq4oCc5ZCN5a2X4oCY44CCXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtYVx05Yig6Zmk5omA5pyJ55qE5Yir5ZCN5a6a5LmJLlxuIgorIiAgICBcbiIKKyIgICAg6L+U5Zue5oiQ5Yqf77yM6Zmk6Z2e4oCc5ZCN5a2X4oCc5LiN5piv5LiA5Liq5bey5a2Y5Zyo55qE5Yir5ZCN44CCIgorCisjOiBidWlsdGlucy5jOjI4OQorbXNnaWQgIiIKKyJTZXQgUmVhZGxpbmUga2V5IGJpbmRpbmdzIGFuZCB2YXJpYWJsZXMuXG4iCisiICAgIFxuIgorIiAgICBCaW5kIGEga2V5IHNlcXVlbmNlIHRvIGEgUmVhZGxpbmUgZnVuY3Rpb24gb3IgYSBtYWNybywgb3Igc2V0IGFcbiIKKyIgICAgUmVhZGxpbmUgdmFyaWFibGUuICBUaGUgbm9uLW9wdGlvbiBhcmd1bWVudCBzeW50YXggaXMgZXF1aXZhbGVudCB0b1xuIgorIiAgICB0aGF0IGZvdW5kIGluIH4vLmlucHV0cmMsIGJ1dCBtdXN0IGJlIHBhc3NlZCBhcyBhIHNpbmdsZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiwgYmluZCAnXCJcXEMteFxcQy1yXCI6IHJlLXJlYWQtaW5pdC1maWxlJy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW0gIGtleW1hcCAgICAgICAgIFVzZSBLRVlNQVAgYXMgdGhlIGtleW1hcCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoaXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgY29tbWFuZC4gIEFjY2VwdGFibGUga2V5bWFwIG5hbWVzIGFyZSBlbWFjcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgZW1hY3Mtc3RhbmRhcmQsIGVtYWNzLW1ldGEsIGVtYWNzLWN0bHgsIHZpLCB2aS0iCisibW92ZSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgdmktY29tbWFuZCwgYW5kIHZpLWluc2VydC5cbiIKKyIgICAgICAtbCAgICAgICAgICAgICAgICAgTGlzdCBuYW1lcyBvZiBmdW5jdGlvbnMuXG4iCisiICAgICAgLVAgICAgICAgICAgICAgICAgIExpc3QgZnVuY3Rpb24gbmFtZXMgYW5kIGJpbmRpbmdzLlxuIgorIiAgICAgIC1wICAgICAgICAgICAgICAgICBMaXN0IGZ1bmN0aW9ucyBhbmQgYmluZGluZ3MgaW4gYSBmb3JtIHRoYXQgY2FuIGJlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIHJldXNlZCBhcyBpbnB1dC5cbiIKKyIgICAgICAtUyAgICAgICAgICAgICAgICAgTGlzdCBrZXkgc2VxdWVuY2VzIHRoYXQgaW52b2tlIG1hY3JvcyBhbmQgdGhlaXIgIgorInZhbHVlc1xuIgorIiAgICAgIC1zICAgICAgICAgICAgICAgICBMaXN0IGtleSBzZXF1ZW5jZXMgdGhhdCBpbnZva2UgbWFjcm9zIGFuZCB0aGVpciAiCisidmFsdWVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGluIGEgZm9ybSB0aGF0IGNhbiBiZSByZXVzZWQgYXMgaW5wdXQuXG4iCisiICAgICAgLVYgICAgICAgICAgICAgICAgIExpc3QgdmFyaWFibGUgbmFtZXMgYW5kIHZhbHVlc1xuIgorIiAgICAgIC12ICAgICAgICAgICAgICAgICBMaXN0IHZhcmlhYmxlIG5hbWVzIGFuZCB2YWx1ZXMgaW4gYSBmb3JtIHRoYXQgY2FuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGJlIHJldXNlZCBhcyBpbnB1dC5cbiIKKyIgICAgICAtcSAgZnVuY3Rpb24tbmFtZSAgUXVlcnkgYWJvdXQgd2hpY2gga2V5cyBpbnZva2UgdGhlIG5hbWVkIGZ1bmN0aW9uLlxuIgorIiAgICAgIC11ICBmdW5jdGlvbi1uYW1lICBVbmJpbmQgYWxsIGtleXMgd2hpY2ggYXJlIGJvdW5kIHRvIHRoZSBuYW1lZCAiCisiZnVuY3Rpb24uXG4iCisiICAgICAgLXIgIGtleXNlcSAgICAgICAgIFJlbW92ZSB0aGUgYmluZGluZyBmb3IgS0VZU0VRLlxuIgorIiAgICAgIC1mICBmaWxlbmFtZSAgICAgICBSZWFkIGtleSBiaW5kaW5ncyBmcm9tIEZJTEVOQU1FLlxuIgorIiAgICAgIC14ICBrZXlzZXE6c2hlbGwtY29tbWFuZFx0Q2F1c2UgU0hFTEwtQ09NTUFORCB0byBiZSBleGVjdXRlZCB3aGVuXG4iCisiICAgIFx0XHRcdFx0S0VZU0VRIGlzIGVudGVyZWQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgYmluZCByZXR1cm5zIDAgdW5sZXNzIGFuIHVucmVjb2duaXplZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorIuiuvuWumuihjOivu+WPlumUrue7keWumuWSjOWPmOmHj+OAglxuIgorIiAgICBcbiIKKyIgICAg57uR5a6a5LiA5Liq6ZSu5bqP5YiX5Yiw5LiA5Liq6KGM6K+75Y+W5Ye95pWw5oiW6ICF5a6P77yM5oiW6ICF6K6+5a6a5LiA5LiqXG4iCisiICAgIOihjOivu+WPluWPmOmHj+OAgumdnumAiemhueWPguaVsOeahOivreazleWSjCB+Ly5pbnB1dHJjIOaWh+S7tuS4reeahOetiVxuIgorIiAgICDlkIzvvIzkvYbmmK/lv4XpobvkvZzkuLrkuIDkuKrlj4LmlbDooqvkvKDpgJLvvIxcbiIKKyIgICAg5L6L5aaC77yMYmluZCAnXCJcXEMteFxcQy1yXCI6IHJlLXJlYWQtaW5pdC1maWxlJy5cbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1tICDplK7mmKDlsIQgICAgICAgICDlnKjmraTlkb3ku6TmiafooYzov4fnqIvkuK3kvb/nlKjmjIflrprnmoTplK7mmKDlsITjgIJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg5Y+v5Lul6KKr5o6l5Y+X55qE6ZSu5pig5bCE5ZCN5a2X5pyJIGVtYWNz44CBXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGVtYWNzLXN0YW5kYXJk44CBZW1hY3MtbWV0YeOAgWVtYWNzLWN0bHjjgIF2aeOAgVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICB2aS1tb3Zl44CBdmktY29tbWFuZOOAgeWSjCB2aS1pbnNlcnTjgIJcbiIKKyIgICAgICAtbCAgICAgICAgICAgICAgICAg5YiX5Ye65Ye95pWw5ZCN56ew44CCXG4iCisiICAgICAgLVAgICAgICAgICAgICAgICAgIOWIl+WHuuWHveaVsOWQjeensOWSjOe7keWumuOAglxuIgorIiAgICAgIC1wICAgICAgICAgICAgICAgICDku6Xlj6/ku6Xph43mlrDnlKjkvZzovpPlhaXnmoTmoLzlvI/liJflh7rlh73mlbDlkI3np7DlkoxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg57uR5a6a44CCXG4iCisiICAgICAgLVMgICAgICAgICAgICAgICAgIOWIl+WHuuWPr+S7peWQr+WKqOWuj+eahOmUruW6j+WIl+S7peWPiuWug+S7rOeahOWAvFxuIgorIiAgICAgIC1zICAgICAgICAgICAgICAgICDku6Xlj6/ku6Xph43mlrDnlKjkvZzovpPlhaXnmoTmoLzlvI/liJflh7rlj6/ku6XlkK/liqjlro9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg55qE6ZSu5Lul5Y+K5a6D5Lus55qE5YC844CCXG4iCisiICAgICAgLVYgICAgICAgICAgICAgICAgIOWIl+WHuuWPmOmHj+WQjeaIkOWSjOWug+S7rOeahOWAvFxuIgorIiAgICAgIC12ICAgICAgICAgICAgICAgICDku6Xlj6/ku6Xph43mlrDnlKjkvZzovpPlhaXnmoTmoLzlvI/liJflh7rlj5jph4/nmoTlkI3np7BcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg5ZKM5a6D5Lus55qE5YC8XG4iCisiICAgICAgLXEgIOWHveaVsOWQjSAg5p+l6K+i5oyH5a6a55qE5Ye95pWw5Y+v5Lul55Sx5ZOq5Lqb6ZSu5ZCv5Yqo44CCXG4iCisiICAgICAgLXUgIOWHveaVsOWQjSAg5Y+N57uR5a6a5omA5pyJ57uR5a6a6Iez5oyH5a6a5Ye95pWw55qE6ZSu44CCXG4iCisiICAgICAgLXIgIOmUruW6j+WIlyAgICAgICAgIOWPlua2iOaMh+WumumUruW6j+WIl+eahOe7keWumuOAglxuIgorIiAgICAgIC1mICDmlofku7blkI0gICAgICAg5LuO5oyH5a6a5paH5Lu25Lit6K+75Y+W6ZSu57uR5a6a44CCXG4iCisiICAgICAgLXggIOmUruW6j+WIlzpzaGVsbOWRveS7pFx05b2T5oyH5a6a55qE6ZSu5bqP5YiX6KKr6L6T5YWl5pe277yM5omn6KGMXG4iCisiICAgIFx0XHRcdFx05oyH5a6a55qEc2hlbGzlkb3ku6RcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDpmaTpnZ7kvb/nlKjkuobml6Dms5XovqjorqTnmoTpgInpobnmiJbogIXplJnor6/lj5HnlJ/vvIzlkKbliJnov5Tlm54wLiIKKworIzogYnVpbHRpbnMuYzozMjYKK21zZ2lkICIiCisiRXhpdCBmb3IsIHdoaWxlLCBvciB1bnRpbCBsb29wcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgYSBGT1IsIFdISUxFIG9yIFVOVElMIGxvb3AuICBJZiBOIGlzIHNwZWNpZmllZCwgYnJlYWsgTiBlbmNsb3NpbmdcbiIKKyIgICAgbG9vcHMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgVGhlIGV4aXQgc3RhdHVzIGlzIDAgdW5sZXNzIE4gaXMgbm90IGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLiIKK21zZ3N0ciAiIgorIumAgOWHuiBmb3LjgIF3aGlsZeOAgeaIliB1bnRpbCDlvqrnjq9cbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuuS4gOS4qiBGT1LjgIFXSElMRSDmiJYgVU5USUwg5b6q546v44CC5aaC5p6c5oyH5a6a5LqGTu+8jOWImeaJk+egtE7ph41cbiIKKyIgICAg5b6q546vXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6YCA5Ye654q25oCB5Li6MOmZpOmdniBOIOS4jeWkp+S6juaIluetieS6jiAx44CCIgorCisjOiBidWlsdGlucy5jOjMzOAorbXNnaWQgIiIKKyJSZXN1bWUgZm9yLCB3aGlsZSwgb3IgdW50aWwgbG9vcHMuXG4iCisiICAgIFxuIgorIiAgICBSZXN1bWVzIHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB0aGUgZW5jbG9zaW5nIEZPUiwgV0hJTEUgb3IgVU5USUwgbG9vcC5cbiIKKyIgICAgSWYgTiBpcyBzcGVjaWZpZWQsIHJlc3VtZXMgdGhlIE50aCBlbmNsb3NpbmcgbG9vcC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBUaGUgZXhpdCBzdGF0dXMgaXMgMCB1bmxlc3MgTiBpcyBub3QgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIDEuIgorbXNnc3RyICIiCisi57un57utIGZvcuOAgXdoaWxl44CB5oiWIHVudGlsIOW+queOr+OAglxuIgorIiAgICBcbiIKKyIgICAg57un57ut5b2T5YmNIEZPUuOAgVdISUxFIOaIliBVTlRJTCDlvqrnjq/nmoTkuIvkuIDmraXjgIJcbiIKKyIgICAg5aaC5p6c5oyH5a6a5LqGIE7vvIwg5YiZ57un57ut5b2T5YmN55qE56ysIE4g6YeN5b6q546v44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6YCA5Ye654q25oCB5Li6IDAg6Zmk6Z2eIE4g5LiN5aSn5LqO5oiW562J5LqOMeOAgiIKKworIzogYnVpbHRpbnMuYzozNTAKK21zZ2lkICIiCisiRXhlY3V0ZSBzaGVsbCBidWlsdGlucy5cbiIKKyIgICAgXG4iCisiICAgIEV4ZWN1dGUgU0hFTEwtQlVJTFRJTiB3aXRoIGFyZ3VtZW50cyBBUkdzIHdpdGhvdXQgcGVyZm9ybWluZyBjb21tYW5kXG4iCisiICAgIGxvb2t1cC4gIFRoaXMgaXMgdXNlZnVsIHdoZW4geW91IHdpc2ggdG8gcmVpbXBsZW1lbnQgYSBzaGVsbCBidWlsdGluXG4iCisiICAgIGFzIGEgc2hlbGwgZnVuY3Rpb24sIGJ1dCBuZWVkIHRvIGV4ZWN1dGUgdGhlIGJ1aWx0aW4gd2l0aGluIHRoZSAiCisiZnVuY3Rpb24uXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgU0hFTEwtQlVJTFRJTiwgb3IgZmFsc2UgaWYgU0hFTEwtQlVJTFRJTiBpc1xuIgorIiAgICBub3QgYSBzaGVsbCBidWlsdGluLi4iCittc2dzdHIgIiIKKyLmiafooYwgc2hlbGwg5YaF5bWM44CCXG4iCisiICAgIFxuIgorIiAgICDluKblj4LmlbAgQVJHcyDmiafooYwgU0hFTEwtQlVJTFRJTiDlhoXltYzvvIzlubbkuJTkuI3lgZrlkb3ku6Tmn6Xor6JcbiIKKyIgICAg5Zyo5biM5pyb5LulIHNoZWxsIOWHveaVsOeahOW9ouW8j+adpemHjeaWsOWunueOsCBzaGVsbCDlhoXltYzvvIxcbiIKKyIgICAg5bm25LiU5biM5pyb5Zyo5Ye95pWw5LmL5YaF5omn6KGM6K+lIHNoZWxsIOWGheW1jOeahOaDheWGteS4i+acieeUqOWkhOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOS7pSBTSEVMTC1CVUlMVElOIOWGheW1jOeahOmAgOWHuueKtuaAgeS4uuWHhu+8jOaIluiAheWmguaenCBTSEVMTC1CVUlMVElO5LiN5piv5LiA5LiqICIKKyJzaGVsbCDlhoXltYzml7ZcbiIKKyIgICAg5Li65YGH44CCLiIKKworIzogYnVpbHRpbnMuYzozNjUKK21zZ2lkICIiCisiUmV0dXJuIHRoZSBjb250ZXh0IG9mIHRoZSBjdXJyZW50IHN1YnJvdXRpbmUgY2FsbC5cbiIKKyIgICAgXG4iCisiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyBcIiRsaW5lICRmaWxlbmFtZVwiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisiICAgIFwiJGxpbmUgJHN1YnJvdXRpbmUgJGZpbGVuYW1lXCI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKKyIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgorIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgMCB1bmxlc3MgdGhlIHNoZWxsIGlzIG5vdCBleGVjdXRpbmcgYSBzaGVsbCBmdW5jdGlvbiBvciBFWFBSXG4iCisiICAgIGlzIGludmFsaWQuIgorbXNnc3RyICIiCisi6L+U5Zue5b2T5YmN5a2Q6LCD55So55qE5LiK5LiL5paH44CCXG4iCisiICAgIFxuIgorIiAgICDkuI3luKbmnIkgRVhQUiDml7bvvIzov5Tlm54gXCIkbGluZSAkZmlsZW5hbWVcIuOAguW4puaciSBFWFBSIOaXtu+8jOi/lOWbnlxuIgorIiAgICBcIiRsaW5lICRzdWJyb3V0aW5lICRmaWxlbmFtZVwi77yb6L+Z5Liq6aKd5aSW55qE5L+h5oGv5Y+v5Lul6KKr55So5LqO5o+Q5L6bXG4iCisiICAgIOagiOi/vei4quOAglxuIgorIiAgICBcbiIKKyIgICAgRVhQUiDnmoTlgLwg5pi+56S65LqG5Yiw5b2T5YmN6LCD55So5bin6ZyA6KaB5Zue5Y675aSa5bCR5Liq6LCD55So5bin77yb6aG26YOo5binXG4iCisiICAgIOaYr+esrCAwIOW4p+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOmZpOmdniBzaGVsbCDkuI3lnKjmiafooYzkuIDkuKogc2hlbGwg5Ye95pWw5oiW6ICFIEVYUFIg5peg5pWI77yM5ZCm5YiZ6L+U5Zue57uTXG4iCisiICAgIOaenOS4ujDjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgIiIKKyJDaGFuZ2UgdGhlIHNoZWxsIHdvcmtpbmcgZGlyZWN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgQ2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSB0byBESVIuICBUaGUgZGVmYXVsdCBESVIgaXMgdGhlIHZhbHVlIG9mICIKKyJ0aGVcbiIKKyIgICAgSE9NRSBzaGVsbCB2YXJpYWJsZS5cbiIKKyIgICAgXG4iCisiICAgIFRoZSB2YXJpYWJsZSBDRFBBVEggZGVmaW5lcyB0aGUgc2VhcmNoIHBhdGggZm9yIHRoZSBkaXJlY3RvcnkgIgorImNvbnRhaW5pbmdcbiIKKyIgICAgRElSLiAgQWx0ZXJuYXRpdmUgZGlyZWN0b3J5IG5hbWVzIGluIENEUEFUSCBhcmUgc2VwYXJhdGVkIGJ5IGEgY29sb24gIgorIig6KS5cbiIKKyIgICAgQSBudWxsIGRpcmVjdG9yeSBuYW1lIGlzIHRoZSBzYW1lIGFzIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gIElmIERJUiAiCisiYmVnaW5zXG4iCisiICAgIHdpdGggYSBzbGFzaCAoLyksIHRoZW4gQ0RQQVRIIGlzIG5vdCB1c2VkLlxuIgorIiAgICBcbiIKKyIgICAgSWYgdGhlIGRpcmVjdG9yeSBpcyBub3QgZm91bmQsIGFuZCB0aGUgc2hlbGwgb3B0aW9uIGBjZGFibGVfdmFycycgaXMgIgorInNldCxcbiIKKyIgICAgdGhlIHdvcmQgaXMgYXNzdW1lZCB0byBiZSAgYSB2YXJpYWJsZSBuYW1lLiAgSWYgdGhhdCB2YXJpYWJsZSBoYXMgYSAiCisidmFsdWUsXG4iCisiICAgIGl0cyB2YWx1ZSBpcyB1c2VkIGZvciBESVIuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgICAgLUxcdGZvcmNlIHN5bWJvbGljIGxpbmtzIHRvIGJlIGZvbGxvd2VkXG4iCisiICAgICAgICAtUFx0dXNlIHRoZSBwaHlzaWNhbCBkaXJlY3Rvcnkgc3RydWN0dXJlIHdpdGhvdXQgZm9sbG93aW5nIHN5bWJvbGljXG4iCisiICAgIFx0bGlua3NcbiIKKyIgICAgICAgIC1lXHRpZiB0aGUgLVAgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbmQgdGhlIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiIKKyIgICAgXHRjYW5ub3QgYmUgZGV0ZXJtaW5lZCBzdWNjZXNzZnVsbHksIGV4aXQgd2l0aCBhIG5vbi16ZXJvIHN0YXR1c1xuIgorIiAgICBcbiIKKyIgICAgVGhlIGRlZmF1bHQgaXMgdG8gZm9sbG93IHN5bWJvbGljIGxpbmtzLCBhcyBpZiBgLUwnIHdlcmUgc3BlY2lmaWVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgMCBpZiB0aGUgZGlyZWN0b3J5IGlzIGNoYW5nZWQsIGFuZCBpZiAkUFdEIGlzIHNldCBzdWNjZXNzZnVsbHkgIgorIndoZW5cbiIKKyIgICAgLVAgaXMgdXNlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKK21zZ3N0ciAiIgorIuaUueWPmCBzaGVsbCDlt6XkvZznm67lvZXjgIJcbiIKKyIgICAgXG4iCisiICAgIOaUueWPmOW9k+WJjeebruW9leiHsyBESVIg55uu5b2V44CC6buY6K6k55qEIERJUiDnm67lvZXmmK8gc2hlbGwg5Y+Y6YePIEhPTUVcbiIKKyIgICAg55qE5YC844CCXG4iCisiICAgIFxuIgorIiAgICDlj5jph48gQ0RQQVRIIOWumuS5ieS6huWQq+aciSBESVIg55qE55uu5b2V55qE5pCc57Si6Lev5b6E44CCXG4iCisiICAgIENEUEFUSCDlj5jph4/kuK3kuI3lkIznmoTnm67lvZXlkI3np7DnlLHliIblj7coOinliIbpmpTjgIJcbiIKKyIgICAg5LiA5Liq56m655qE55uu5b2V5ZCN56ew5ZKM5b2T5YmN55uu5b2V5piv5LiA5qC355qE44CC5aaC5p6cIERJUiDlj5jph4/nlLFcbiIKKyIgICAg5pac5p2gICgvKSDmiZPlpLTvvIzliJkgQ0RQQVRIIOWPmOmHj+S4jeS8muiiq+S9v+eUqOOAglxuIgorIiAgICBcbiIKKyIgICAg5aaC5p6c6Lev5b6E5om+5LiN5Yiw77yM5bm25LiUIHNoZWxsIOmAiemhuWBjZGFibGVfdmFycycg6KKr6K6+5a6a77yMXG4iCisiICAgIOWImeWPguaVsOivjeiiq+WBh+WumuS4uuS4gOS4quWPmOmHj+WQjeOAguWmguaenOivpeWPmOmHj+acieWAvO+8jOWImeWug+eahOWAvFxuIgorIiAgICDooqvlvZPkvZwgRElSIOebruW9leOAglxuIgorIiAgICBcbiIKKyIgICAg6YCJ6aG577yaXG4iCisiICAgICAgICAtTFx05by65Yi26Lef6ZqP56ym5Y+36ZO+5o6l44CCXG4iCisiICAgICAgICAtUFx05L2/55So54mp55CG55uu5b2V57uT5p6E6ICM5LiN6Lef6ZqP56ym5Y+36ZO+5o6lXG4iCisiICAgIFxuIgorIiAgICBcbiIKKyIgICAg6buY6K6k5oOF5Ya15LiL6Lef6ZqP56ym5Y+36ZO+5o6l77yM5aaC5ZCM5oyH5a6aIGAtTCfjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDlpoLmnpznm67lvZXmlLnlj5jliJnov5Tlm54w77yM5ZCm5YiZ6Z2e6Zu244CCIgorCisjOiBidWlsdGlucy5jOjQxNAorbXNnaWQgIiIKKyJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLUxcdHByaW50IHRoZSB2YWx1ZSBvZiAkUFdEIGlmIGl0IG5hbWVzIHRoZSBjdXJyZW50IHdvcmtpbmdcbiIKKyIgICAgXHRkaXJlY3RvcnlcbiIKKyIgICAgICAtUFx0cHJpbnQgdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSwgd2l0aG91dCBhbnkgc3ltYm9saWMgbGlua3NcbiIKKyIgICAgXG4iCisiICAgIEJ5IGRlZmF1bHQsIGBwd2QnIGJlaGF2ZXMgYXMgaWYgYC1MJyB3ZXJlIHNwZWNpZmllZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIDAgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIHRoZSBjdXJyZW50IGRpcmVjdG9yeVxuIgorIiAgICBjYW5ub3QgYmUgcmVhZC4iCittc2dzdHIgIiIKKyLmiZPljbDlvZPliY3lt6XkvZznm67lvZXnmoTlkI3lrZfjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1MXHTmiZPljbAgJFBXRCDlj5jph4/nmoTlgLzvvIzlpoLmnpzlroPlkb3lkI3kuoblvZPliY3nmoRcbiIKKyIgICAgXHTlt6XkvZznm67lvZVcbiIKKyIgICAgICAtUFx05omT5Y2w5b2T5YmN55qE54mp55CG6Lev5b6E77yM5LiN5bim5pyJ5Lu75L2V55qE56ym5Y+36ZO+5o6lXG4iCisiICAgIFxuIgorIiAgICDpu5jorqTmg4XlhrXkuIvvvIxgcHdkJyDnmoTooYzkuLrlkozluKYgYC1MJyDpgInpobnkuIDoh7RcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDpmaTpnZ7kvb/nlKjkuobml6DmlYjpgInpobnmiJbogIXlvZPliY3nm67lvZXkuI3lj6/or7vvvIzlkKbliJlcbiIKKyIgICAg6L+U5Zue54q25oCB5Li6MOOAgiIKKworIzogYnVpbHRpbnMuYzo0MzEKK21zZ2lkICIiCisiTnVsbCBjb21tYW5kLlxuIgorIiAgICBcbiIKKyIgICAgTm8gZWZmZWN0OyB0aGUgY29tbWFuZCBkb2VzIG5vdGhpbmcuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKK21zZ3N0ciAiIgorIuepuueahOWRveS7pOOAglxuIgorIiAgICBcbiIKKyIgICAg5rKh5pyJ5pWI5p6c77ybIOatpOWRveS7pOS4jeWBmuS7u+S9leaTjeS9nOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOaAu+aYr+aIkOWKn+OAgiIKKworIzogYnVpbHRpbnMuYzo0NDIKK21zZ2lkICIiCisiUmV0dXJuIGEgc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKK21zZ3N0ciAiIgorIui/lOWbnuS4gOS4quaIkOWKn+e7k+aenOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOaAu+aYr+aIkOWKnyIKKworIzogYnVpbHRpbnMuYzo0NTEKK21zZ2lkICIiCisiUmV0dXJuIGFuIHVuc3VjY2Vzc2Z1bCByZXN1bHQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgQWx3YXlzIGZhaWxzLiIKK21zZ3N0ciAiIgorIui/lOWbnuS4gOS4quS4jeaIkOWKn+eahOe7k+aenOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOaAu+aYr+Wksei0peOAgiIKKworIzogYnVpbHRpbnMuYzo0NjAKK21zZ2lkICIiCisiRXhlY3V0ZSBhIHNpbXBsZSBjb21tYW5kIG9yIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgY29tbWFuZHMuXG4iCisiICAgIFxuIgorIiAgICBSdW5zIENPTU1BTkQgd2l0aCBBUkdTIHN1cHByZXNzaW5nICBzaGVsbCBmdW5jdGlvbiBsb29rdXAsIG9yIGRpc3BsYXlcbiIKKyIgICAgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNwZWNpZmllZCBDT01NQU5Ecy4gIENhbiBiZSB1c2VkIHRvIGludm9rZSAiCisiY29tbWFuZHNcbiIKKyIgICAgb24gZGlzayB3aGVuIGEgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBuYW1lIGV4aXN0cy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLXBcdHVzZSBhIGRlZmF1bHQgdmFsdWUgZm9yIFBBVEggdGhhdCBpcyBndWFyYW50ZWVkIHRvIGZpbmQgYWxsIG9mXG4iCisiICAgIFx0dGhlIHN0YW5kYXJkIHV0aWxpdGllc1xuIgorIiAgICAgIC12XHRwcmludCBhIGRlc2NyaXB0aW9uIG9mIENPTU1BTkQgc2ltaWxhciB0byB0aGUgYHR5cGUnIGJ1aWx0aW5cbiIKKyIgICAgICAtVlx0cHJpbnQgYSBtb3JlIHZlcmJvc2UgZGVzY3JpcHRpb24gb2YgZWFjaCBDT01NQU5EXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBleGl0IHN0YXR1cyBvZiBDT01NQU5ELCBvciBmYWlsdXJlIGlmIENPTU1BTkQgaXMgbm90IGZvdW5kLiIKK21zZ3N0ciAiIgorIuaJp+ihjOS4gOS4queugOWNleWRveS7pOaIluiAheaYvuekuuWRveS7pOeahOebuOWFs+S/oeaBr+OAglxuIgorIiAgICBcbiIKKyIgICAg5bimIEFSR1Mg5Y+C5pWw6L+Q6KGMIENPTU1BTkQg5ZG95Luk5LiU5oqR5Yi2IHNoZWxsIOWHveaVsOafpeivou+8jOaIluaYvuekulxuIgorIiAgICDmjIflrprnmoQgQ09NTUFORCDlkb3ku6TnmoTkv6Hmga/jgILlj6/ku6XlnKjlrZjlnKjnm7jlkIzlkI3np7DnmoTlh73mlbDlrprkuYnnmoRcbiIKKyIgICAg5oOF5Ya15LiL6KKr55So5LqO5ZCv5Yqo56OB55uY5LiK55qE5ZG95Luk44CCXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtcFx05L2/55SoIFBBVEgg5Y+Y6YeP55qE5LiA5Liq6buY6K6k5YC85Lul56Gu5L+d5omA5pyJ55qE5qCH5YeG5bel5YW3XG4iCisiICAgIFx06YO96IO96KKr5om+5Yiw44CCXG4iCisiICAgICAgLXZcdOaJk+WNsCBDT01NQU5EIOWRveS7pOeahOaPj+i/sO+8jOWSjCBgdHlwZScg5YaF5bWM55u45Ly8XG4iCisiICAgICAgLVZcdOaJk+WNsOavj+S4qiBDT01NQU5EIOWRveS7pOeahOivpue7huaPj+i/sFxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCBXG4iCisiICAgIOi/lOWbniBDT01NQU5EIOWRveS7pOeahOi/lOWbnueKtuaAge+8jOaIluiAheW9k+aJvuS4jeWIsCBDT01NQU5EIOWRveS7pOaXtuWksei0peOAgiIKKworIzogYnVpbHRpbnMuYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlNldCB2YXJpYWJsZSB2YWx1ZXMgYW5kIGF0dHJpYnV0ZXMuXG4iCisiICAgIFxuIgorIiAgICBEZWNsYXJlIHZhcmlhYmxlcyBhbmQgZ2l2ZSB0aGVtIGF0dHJpYnV0ZXMuICBJZiBubyBOQU1FcyBhcmUgZ2l2ZW4sXG4iCisiICAgIGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlcyBvZiBhbGwgdmFyaWFibGVzLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZlx0cmVzdHJpY3QgYWN0aW9uIG9yIGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgYW5kIGRlZmluaXRpb25zXG4iCisiICAgICAgLUZcdHJlc3RyaWN0IGRpc3BsYXkgdG8gZnVuY3Rpb24gbmFtZXMgb25seSAocGx1cyBsaW5lIG51bWJlciBhbmRcbiIKKyIgICAgXHRzb3VyY2UgZmlsZSB3aGVuIGRlYnVnZ2luZylcbiIKKyIgICAgICAtZ1x0Y3JlYXRlIGdsb2JhbCB2YXJpYWJsZXMgd2hlbiB1c2VkIGluIGEgc2hlbGwgZnVuY3Rpb247IG90aGVyd2lzZVxuIgorIiAgICBcdGlnbm9yZWRcbiIKKyIgICAgICAtcFx0ZGlzcGxheSB0aGUgYXR0cmlidXRlcyBhbmQgdmFsdWUgb2YgZWFjaCBOQU1FXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIHdoaWNoIHNldCBhdHRyaWJ1dGVzOlxuIgorIiAgICAgIC1hXHR0byBtYWtlIE5BTUVzIGluZGV4ZWQgYXJyYXlzIChpZiBzdXBwb3J0ZWQpXG4iCisiICAgICAgLUFcdHRvIG1ha2UgTkFNRXMgYXNzb2NpYXRpdmUgYXJyYXlzIChpZiBzdXBwb3J0ZWQpXG4iCisiICAgICAgLWlcdHRvIG1ha2UgTkFNRXMgaGF2ZSB0aGUgYGludGVnZXInIGF0dHJpYnV0ZVxuIgorIiAgICAgIC1sXHR0byBjb252ZXJ0IE5BTUVzIHRvIGxvd2VyIGNhc2Ugb24gYXNzaWdubWVudFxuIgorIiAgICAgIC1yXHR0byBtYWtlIE5BTUVzIHJlYWRvbmx5XG4iCisiICAgICAgLXRcdHRvIG1ha2UgTkFNRXMgaGF2ZSB0aGUgYHRyYWNlJyBhdHRyaWJ1dGVcbiIKKyIgICAgICAtdVx0dG8gY29udmVydCBOQU1FcyB0byB1cHBlciBjYXNlIG9uIGFzc2lnbm1lbnRcbiIKKyIgICAgICAteFx0dG8gbWFrZSBOQU1FcyBleHBvcnRcbiIKKyIgICAgXG4iCisiICAgIFVzaW5nIGArJyBpbnN0ZWFkIG9mIGAtJyB0dXJucyBvZmYgdGhlIGdpdmVuIGF0dHJpYnV0ZS5cbiIKKyIgICAgXG4iCisiICAgIFZhcmlhYmxlcyB3aXRoIHRoZSBpbnRlZ2VyIGF0dHJpYnV0ZSBoYXZlIGFyaXRobWV0aWMgZXZhbHVhdGlvbiAoc2VlXG4iCisiICAgIHRoZSBgbGV0JyBjb21tYW5kKSBwZXJmb3JtZWQgd2hlbiB0aGUgdmFyaWFibGUgaXMgYXNzaWduZWQgYSB2YWx1ZS5cbiIKKyIgICAgXG4iCisiICAgIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBgZGVjbGFyZScgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKKyJgbG9jYWwnXG4iCisiICAgIGNvbW1hbmQuICBUaGUgYC1nJyBvcHRpb24gc3VwcHJlc3NlcyB0aGlzIGJlaGF2aW9yLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorIuiuvuWumuWPmOmHj+WAvOWSjOWxnuaAp+OAglxuIgorIiAgICBcbiIKKyIgICAg5aOw5piO5Y+Y6YeP5bm25LiU6LWL5LqI5a6D5Lus5bGe5oCn44CC5aaC5p6c5rKh55So57uZ5a6a5ZCN56ew77yMXG4iCisiICAgIOWImeaYvuekuuaJgOacieWPmOmHj+eahOWxnuaAp+WSjOWAvOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCJ6aG577yaXG4iCisiICAgICAgLWZcdOmZkOWItuWKqOS9nOaIluaYvuekuuWHveaVsOWQjeensOWSjOWumuS5iVxuIgorIiAgICAgIC1GXHTpmZDliLbku4XmmL7npLrlh73mlbDlkI3np7DvvIjku6Xlj4rooYzlj7flkozosIPor5Xml7ZcbiIKKyIgICAgXHTmupDmlofku7blkI3vvIlcbiIKKyIgICAgICAtcFx05pi+56S65q+P5LiqIE5BTUUg5Y+Y6YeP55qE5bGe5oCn5ZKM5YC8XG4iCisiICAgIFxuIgorIiAgICDorr7lrprlsZ7mgKfnmoTpgInpobnvvJpcbiIKKyIgICAgICAtYVx05L2/IE5BTUUg5oiQ5Li65LiL5qCH5pWw57uE77yI5aaC5p6c5pSv5oyB77yJXG4iCisiICAgICAgLUFcdOS9vyBOQU1FIOaIkOS4uuWFs+iBlOaVsOe7hCDvvIjlpoLmnpzmlK/mjIHvvIlcbiIKKyIgICAgICAtaVx05L2/IE5BTUUg5bim5pyJIGBpbnRlZ2VyJyDvvIjmlbTmlbDvvInlsZ7mgKdcbiIKKyIgICAgICAtbFx05bCGIE5BTUUg5Zyo6LWL5YC85pe26L2s5Li65bCP5YaZXG4iCisiICAgICAgLXJcdOWwhiBOQU1FIOWPmOS4uuWPquivu1xuIgorIiAgICAgIC10XHTkvb8gTkFNRSDluKbmnIkgYHRyYWNlJyDvvIjov73ouKrvvInlsZ7mgKdcbiIKKyIgICAgICAtdVx05bCGIE5BTUUg5Zyo6LWL5YC85pe26L2s5Li65aSn5YaZXG4iCisiICAgICAgLXhcdOWwhiBOQU1FIOWvvOWHulxuIgorIiAgICBcbiIKKyIgICAg55SoIGArJyDku6Pmm78gYC0nIOS8muWFs+mXreaMh+WumumAiemhueOAglxuIgorIiAgICBcbiIKKyIgICAg5bim5pyJ5pW05pWw5bGe5oCn55qE5Y+Y6YeP5Zyo6LWL5YC85pe25bCG5L2/55So566X5pyv5Lyw5YC877yI6KeBXG4iCisiICAgIGBsZXQnIOWRveS7pO+8iVxuIgorIiAgICBcbiIKKyIgICAg5Zyo5Ye95pWw5Lit5L2/55So5pe277yMYGRlY2xhcmUnIOS9vyBOQU1FIOaIkOS4uuacrOWcsOWPmOmHj++8jOWSjCBgbG9jYWwnXG4iCisiICAgIOWRveS7pOS4gOiHtOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn+mZpOmdnuS9v+eUqOS6huaXoOaViOmAiemhueaIluiAheWPkeeUn+mUmeivr+OAgiIKKworIzogYnVpbHRpbnMuYzo1MTcKK21zZ2lkICIiCisiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKKyIgICAgXG4iCisiICAgIE9ic29sZXRlLiAgU2VlIGBoZWxwIGRlY2xhcmUnLiIKK21zZ3N0ciAiIgorIuiuvue9ruWPmOmHj+eahOWAvOWSjOWxnuaAp+OAglxuIgorIiAgICBcbiIKKyIgICAg5bqf5byD44CC5Y+C6KeBIGBoZWxwIGRlY2xhcmUn44CCIgorCisjOiBidWlsdGlucy5jOjUyNQorbXNnaWQgIiIKKyJEZWZpbmUgbG9jYWwgdmFyaWFibGVzLlxuIgorIiAgICBcbiIKKyIgICAgQ3JlYXRlIGEgbG9jYWwgdmFyaWFibGUgY2FsbGVkIE5BTUUsIGFuZCBnaXZlIGl0IFZBTFVFLiAgT1BUSU9OIGNhblxuIgorIiAgICBiZSBhbnkgb3B0aW9uIGFjY2VwdGVkIGJ5IGBkZWNsYXJlJy5cbiIKKyIgICAgXG4iCisiICAgIExvY2FsIHZhcmlhYmxlcyBjYW4gb25seSBiZSB1c2VkIHdpdGhpbiBhIGZ1bmN0aW9uOyB0aGV5IGFyZSB2aXNpYmxlXG4iCisiICAgIG9ubHkgdG8gdGhlIGZ1bmN0aW9uIHdoZXJlIHRoZXkgYXJlIGRlZmluZWQgYW5kIGl0cyBjaGlsZHJlbi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkLCBhbiBlcnJvciBvY2N1cnMsXG4iCisiICAgIG9yIHRoZSBzaGVsbCBpcyBub3QgZXhlY3V0aW5nIGEgZnVuY3Rpb24uIgorbXNnc3RyICIiCisi5a6a5LmJ5pys5Zyw5Y+Y6YeP44CCXG4iCisiICAgIFxuIgorIiAgICDliJvlu7rkuIDkuKrku6UgTkFNRSDkuLrlkI3np7DnmoTlj5jph4/vvIzlubbkuJTlsIYgVkFMVUUg6LWL5YC857uZ5a6D44CCXG4iCisiICAgIE9QVElPTiDpgInpobnlj6/ku6XmmK/ku7vkvZXog73ooqsgYGRlY2xhcmUnIOaOpeWPl+eahOmAiemhueOAglxuIgorIiAgICBcbiIKKyIgICAg5pys5Zyw5Y+Y6YeP5Y+q6IO95Zyo5Ye95pWw5YaF6YOo6KKr5L2/55So77yM5a6D5Lus5Y+q6IO95Zyo5a6a5LmJ5a6D5Lus55qE5Ye95pWw5YaFXG4iCisiICAgIOmDqOS7peWPiuWtkOWHveaVsOS4reWPr+ingeOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn+mZpOmdnuS9v+eUqOS6huaXoOaViOeahOmAiemhueOAgeWPkeeUn+S6humUmeivr+aIluiAhSBzaGVsbCDkuI3lnKhcbiIKKyIgICAg5omn6KGM5LiA5Liq5Ye95pWw44CCIgorCisjOiBidWlsdGlucy5jOjU0MgorbXNnaWQgIiIKKyJXcml0ZSBhcmd1bWVudHMgdG8gdGhlIHN0YW5kYXJkIG91dHB1dC5cbiIKKyIgICAgXG4iCisiICAgIERpc3BsYXkgdGhlIEFSR3Mgb24gdGhlIHN0YW5kYXJkIG91dHB1dCBmb2xsb3dlZCBieSBhIG5ld2xpbmUuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1uXHRkbyBub3QgYXBwZW5kIGEgbmV3bGluZVxuIgorIiAgICAgIC1lXHRlbmFibGUgaW50ZXJwcmV0YXRpb24gb2YgdGhlIGZvbGxvd2luZyBiYWNrc2xhc2ggZXNjYXBlc1xuIgorIiAgICAgIC1FXHRleHBsaWNpdGx5IHN1cHByZXNzIGludGVycHJldGF0aW9uIG9mIGJhY2tzbGFzaCBlc2NhcGVzXG4iCisiICAgIFxuIgorIiAgICBgZWNobycgaW50ZXJwcmV0cyB0aGUgZm9sbG93aW5nIGJhY2tzbGFzaC1lc2NhcGVkIGNoYXJhY3RlcnM6XG4iCisiICAgICAgXFxhXHRhbGVydCAoYmVsbClcbiIKKyIgICAgICBcXGJcdGJhY2tzcGFjZVxuIgorIiAgICAgIFxcY1x0c3VwcHJlc3MgZnVydGhlciBvdXRwdXRcbiIKKyIgICAgICBcXGVcdGVzY2FwZSBjaGFyYWN0ZXJcbiIKKyIgICAgICBcXGZcdGZvcm0gZmVlZFxuIgorIiAgICAgIFxcblx0bmV3IGxpbmVcbiIKKyIgICAgICBcXHJcdGNhcnJpYWdlIHJldHVyblxuIgorIiAgICAgIFxcdFx0aG9yaXpvbnRhbCB0YWJcbiIKKyIgICAgICBcXHZcdHZlcnRpY2FsIHRhYlxuIgorIiAgICAgIFxcXFxcdGJhY2tzbGFzaFxuIgorIiAgICAgIFxcMG5ublx0dGhlIGNoYXJhY3RlciB3aG9zZSBBU0NJSSBjb2RlIGlzIE5OTiAob2N0YWwpLiAgTk5OIGNhbiBiZVxuIgorIiAgICBcdDAgdG8gMyBvY3RhbCBkaWdpdHNcbiIKKyIgICAgICBcXHhISFx0dGhlIGVpZ2h0LWJpdCBjaGFyYWN0ZXIgd2hvc2UgdmFsdWUgaXMgSEggKGhleGFkZWNpbWFsKS4gIEhIXG4iCisiICAgIFx0Y2FuIGJlIG9uZSBvciB0d28gaGV4IGRpZ2l0c1xuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisi5bCG5Y+C5pWw5YaZ5Yiw5qCH5YeG6L6T5Ye644CCXG4iCisiICAgIFxuIgorIiAgICDlnKjmoIflh4bovpPlh7rkuIrmmL7npLogQVJHIOWPguaVsOWQjui3n+S4gOS4quaNouihjOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCJ6aG577yaXG4iCisiICAgICAgLW5cdOS4jeimgei/veWKoOaNouihjFxuIgorIiAgICAgIC1lXHTlkK/nlKjkuIvliJflj43mlpzmnaDovazkuYnnmoTop6Pph4pcbiIKKyIgICAgICAtRVx05pi+5byP5Zyw5oqR5Yi25a+55LqO5Y+N5pac5p2g6L2s5LmJ55qE6Kej6YeKXG4iCisiICAgIFxuIgorIiAgICBgZWNobycg5a+55LiL5YiX5Y+N5pac5p2g5a2X56ym6L+b6KGM6L2s5LmJ77yaXG4iCisiICAgICAgXFxhXHTorablkYrvvIjlk43pk4PvvIlcbiIKKyIgICAgICBcXGJcdOmAgOagvFxuIgorIiAgICAgIFxcY1x05oqR5Yi25pu05aSa55qE6L6T5Ye6XG4iCisiICAgICAgXFxlXHTovazkuYnlrZfnrKZcbiIKKyIgICAgICBcXGZcdOagvOW8j+aPkOS+m1xuIgorIiAgICAgIFxcblx05o2i6KGMXG4iCisiICAgICAgXFxyXHTlm57ovaZcbiIKKyIgICAgICBcXHRcdOaoquWQkeWItuihqOesplxuIgorIiAgICAgIFxcdlx057q15ZCR5Yi26KGo56ymXG4iCisiICAgICAgXFxcXFx05Y+N5pac5p2gXG4iCisiICAgICAgXFwwbm5uXHTku6UgTk5OIO+8iOWFq+i/m+WItu+8ieS4uiBBU0NJSSDnoIHnmoTlrZfnrKbjgIIgTk5OIOWPr+S7peaYr1xuIgorIiAgICBcdDDliLAz5Liq5YWr6L+b5Yi25pWw5a2XXG4iCisiICAgICAgXFx4SEhcdOS7pSBISCDvvIjljYHlha3ov5vliLbvvInkuLrlgLznmoTlhavmr5TnibnlrZfnrKbjgIJISOWPr+S7peaYr1xuIgorIiAgICBcdOS4gOS4quaIluS4pOS4quWNgeWFrei/m+WItuaVsOWtl1xuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn+mZpOmdnuacieWGmemUmeivr+WPkeeUn+OAgiIKKworIzogYnVpbHRpbnMuYzo1NzYKK21zZ2lkICIiCisiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCisiICAgIFxuIgorIiAgICBEaXNwbGF5IHRoZSBBUkdzIG9uIHRoZSBzdGFuZGFyZCBvdXRwdXQgZm9sbG93ZWQgYnkgYSBuZXdsaW5lLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtblx0ZG8gbm90IGFwcGVuZCBhIG5ld2xpbmVcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGEgd3JpdGUgZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorIuWGmeWPguaVsOiHs+agh+WHhui+k+WHuuiuvuWkh+OAglxuIgorIiAgICBcbiIKKyIgICAg5Zyo5qCH5YeG6L6T5Ye66K6+5aSH5LiK5pi+56S6IEFSR3Mg5Y+C5pWw5ZKM5LiA5Liq5o2i6KGM44CCXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtblx05LiN6ZmE5Yqg5o2i6KGMXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6Zmk6Z2e5YaZ6ZSZ6K+v5Y+R55Sf77yM5ZCm5YiZ6L+U5Zue5oiQ5Yqf44CCIgorCisjOiBidWlsdGlucy5jOjU5MQorbXNnaWQgIiIKKyJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCisiICAgIFxuIgorIiAgICBFbmFibGVzIGFuZCBkaXNhYmxlcyBidWlsdGluIHNoZWxsIGNvbW1hbmRzLiAgRGlzYWJsaW5nIGFsbG93cyB5b3UgdG9cbiIKKyIgICAgZXhlY3V0ZSBhIGRpc2sgY29tbWFuZCB3aGljaCBoYXMgdGhlIHNhbWUgbmFtZSBhcyBhIHNoZWxsIGJ1aWx0aW5cbiIKKyIgICAgd2l0aG91dCB1c2luZyBhIGZ1bGwgcGF0aG5hbWUuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1hXHRwcmludCBhIGxpc3Qgb2YgYnVpbHRpbnMgc2hvd2luZyB3aGV0aGVyIG9yIG5vdCBlYWNoIGlzIGVuYWJsZWRcbiIKKyIgICAgICAtblx0ZGlzYWJsZSBlYWNoIE5BTUUgb3IgZGlzcGxheSBhIGxpc3Qgb2YgZGlzYWJsZWQgYnVpbHRpbnNcbiIKKyIgICAgICAtcFx0cHJpbnQgdGhlIGxpc3Qgb2YgYnVpbHRpbnMgaW4gYSByZXVzYWJsZSBmb3JtYXRcbiIKKyIgICAgICAtc1x0cHJpbnQgb25seSB0aGUgbmFtZXMgb2YgUG9zaXggYHNwZWNpYWwnIGJ1aWx0aW5zXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zIGNvbnRyb2xsaW5nIGR5bmFtaWMgbG9hZGluZzpcbiIKKyIgICAgICAtZlx0TG9hZCBidWlsdGluIE5BTUUgZnJvbSBzaGFyZWQgb2JqZWN0IEZJTEVOQU1FXG4iCisiICAgICAgLWRcdFJlbW92ZSBhIGJ1aWx0aW4gbG9hZGVkIHdpdGggLWZcbiIKKyIgICAgXG4iCisiICAgIFdpdGhvdXQgb3B0aW9ucywgZWFjaCBOQU1FIGlzIGVuYWJsZWQuXG4iCisiICAgIFxuIgorIiAgICBUbyB1c2UgdGhlIGB0ZXN0JyBmb3VuZCBpbiAkUEFUSCBpbnN0ZWFkIG9mIHRoZSBzaGVsbCBidWlsdGluXG4iCisiICAgIHZlcnNpb24sIHR5cGUgYGVuYWJsZSAtbiB0ZXN0Jy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGEgc2hlbGwgYnVpbHRpbiBvciBhbiBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisi5ZCv55So5ZKM56aB55SoIHNoZWxsIOWGheW1jOOAglxuIgorIiAgICBcbiIKKyIgICAg5ZCv55So5ZKM56aB55SoIHNoZWxsIOeahOWGheW1jOWRveS7pOOAguemgeeUqOS9v+aCqOiDveWkn+aJp+ihjOS4gOS4quWSjOWGheW1jFxuIgorIiAgICDlkb3ku6TlkIzlkI3nmoTno4Hnm5jkuIrnmoTlkb3ku6TvvIzogIzml6Dpobvkvb/nlKjlrozmlbTnmoTot6/lvoTlkI3jgIJcbiIKKyIgICAgXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtYVx05omT5Y2w5LiA5Liq5YaF5bWM55qE5YiX6KGo77yM5bm25pi+56S65YW25Lit5q+P5LiA5Liq5piv5ZCm5ZCv55SoXG4iCisiICAgICAgLW5cdOemgeeUqOavj+S4gOS4qiBOQU1FIOWGheW1jOaIluiAheaYvuekuuS4gOS4quiiq+emgeeUqOeahOWGheW1jOeahOWIl+ihqFxuIgorIiAgICAgIC1wXHTku6Xlj6/ph43nlKjnmoTmoLzlvI/miZPljbDkuIDkuKrlhoXltYznmoTliJfooahcbiIKKyIgICAgICAtc1x05LuF5omT5Y2wUG9zaXggYHNwZWNpYWwnICDlhoXltYznmoTlkI3np7BcbiIKKyIgICAgXG4iCisiICAgIOaOp+WItuWKqOaAgeWKoOi9veeahOmAiemhue+8mlxuIgorIiAgICAgIC1mXHTku47lhbHkuqvlr7nosaEgRklMRU5BTUUg5paH5Lu25Lit5Yqg6L29IE5BTUUg5YaF5bWMXG4iCisiICAgICAgLWRcdOWIoOmZpOS7pSAtZiDpgInpobnliqDovb3nmoTlhoXltYxcbiIKKyIgICAgXG4iCisiICAgIOS4jeW4pumAiemhueaXtu+8jOavj+S4gOS4qiBOQU1FIOWGheW1jOmDveiiq+WQr+eUqOOAglxuIgorIiAgICBcbiIKKyIgICAg5aaC5p6c6KaB5L2/55SoICRQQVRIIOS4reaJvuWIsOeahCBgdGVzdCcg6ICM5LiN5pivIHNoZWxsIOWGheW1jOeahOeJiOacrO+8jFxuIgorIiAgICDovpPlhaUgYGVuYWJsZSAtbiB0ZXN0J+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOmZpOmdniBOQU1FIOS4jeaYr+S4gOS4qiBzaGVsbCDlhoXltYzmiJbogIXmnInplJnor6/lj5HnlJ/jgIIiCisKKyM6IGJ1aWx0aW5zLmM6NjE5Cittc2dpZCAiIgorIkV4ZWN1dGUgYXJndW1lbnRzIGFzIGEgc2hlbGwgY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIENvbWJpbmUgQVJHcyBpbnRvIGEgc2luZ2xlIHN0cmluZywgdXNlIHRoZSByZXN1bHQgYXMgaW5wdXQgdG8gdGhlICIKKyJzaGVsbCxcbiIKKyIgICAgYW5kIGV4ZWN1dGUgdGhlIHJlc3VsdGluZyBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIGNvbW1hbmQgb3Igc3VjY2VzcyBpZiBjb21tYW5kIGlzIG51bGwuIgorbXNnc3RyICIiCisi5bCG5Y+C5pWw5L2c5Li6IHNoZWxsIOWRveS7pOaJp+ihjOOAglxuIgorIiAgICBcbiIKKyIgICAg5bCGIEFSR3Mg5ZCI5oiQ5LiA5Liq5a2X56ym5Liy77yM55So57uT5p6c5L2c5Li6IHNoZWxsIOeahOi+k+WFpe+8jFxuIgorIiAgICDlubbkuJTmiafooYzlvpfliLDnmoTlkb3ku6TjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDku6Xlkb3ku6TnmoTnirbmgIHpgIDlh7rvvIzmiJbogIXlnKjlkb3ku6TkuLrnqbrnmoTmg4XlhrXkuIvov5Tlm57miJDlip/jgIIiCisKKyM6IGJ1aWx0aW5zLmM6NjMxCittc2dpZCAiIgorIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCisiICAgIFxuIgorIiAgICBHZXRvcHRzIGlzIHVzZWQgYnkgc2hlbGwgcHJvY2VkdXJlcyB0byBwYXJzZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgYXMgb3B0aW9ucy5cbiIKKyIgICAgXG4iCisiICAgIE9QVFNUUklORyBjb250YWlucyB0aGUgb3B0aW9uIGxldHRlcnMgdG8gYmUgcmVjb2duaXplZDsgaWYgYSBsZXR0ZXJcbiIKKyIgICAgaXMgZm9sbG93ZWQgYnkgYSBjb2xvbiwgdGhlIG9wdGlvbiBpcyBleHBlY3RlZCB0byBoYXZlIGFuIGFyZ3VtZW50LFxuIgorIiAgICB3aGljaCBzaG91bGQgYmUgc2VwYXJhdGVkIGZyb20gaXQgYnkgd2hpdGUgc3BhY2UuXG4iCisiICAgIFxuIgorIiAgICBFYWNoIHRpbWUgaXQgaXMgaW52b2tlZCwgZ2V0b3B0cyB3aWxsIHBsYWNlIHRoZSBuZXh0IG9wdGlvbiBpbiB0aGVcbiIKKyIgICAgc2hlbGwgdmFyaWFibGUgJG5hbWUsIGluaXRpYWxpemluZyBuYW1lIGlmIGl0IGRvZXMgbm90IGV4aXN0LCBhbmRcbiIKKyIgICAgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFyZ3VtZW50IHRvIGJlIHByb2Nlc3NlZCBpbnRvIHRoZSBzaGVsbFxuIgorIiAgICB2YXJpYWJsZSBPUFRJTkQuICBPUFRJTkQgaXMgaW5pdGlhbGl6ZWQgdG8gMSBlYWNoIHRpbWUgdGhlIHNoZWxsIG9yXG4iCisiICAgIGEgc2hlbGwgc2NyaXB0IGlzIGludm9rZWQuICBXaGVuIGFuIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCxcbiIKKyIgICAgZ2V0b3B0cyBwbGFjZXMgdGhhdCBhcmd1bWVudCBpbnRvIHRoZSBzaGVsbCB2YXJpYWJsZSBPUFRBUkcuXG4iCisiICAgIFxuIgorIiAgICBnZXRvcHRzIHJlcG9ydHMgZXJyb3JzIGluIG9uZSBvZiB0d28gd2F5cy4gIElmIHRoZSBmaXJzdCBjaGFyYWN0ZXJcbiIKKyIgICAgb2YgT1BUU1RSSU5HIGlzIGEgY29sb24sIGdldG9wdHMgdXNlcyBzaWxlbnQgZXJyb3IgcmVwb3J0aW5nLiAgSW5cbiIKKyIgICAgdGhpcyBtb2RlLCBubyBlcnJvciBtZXNzYWdlcyBhcmUgcHJpbnRlZC4gIElmIGFuIGludmFsaWQgb3B0aW9uIGlzXG4iCisiICAgIHNlZW4sIGdldG9wdHMgcGxhY2VzIHRoZSBvcHRpb24gY2hhcmFjdGVyIGZvdW5kIGludG8gT1BUQVJHLiAgSWYgYVxuIgorIiAgICByZXF1aXJlZCBhcmd1bWVudCBpcyBub3QgZm91bmQsIGdldG9wdHMgcGxhY2VzIGEgJzonIGludG8gTkFNRSBhbmRcbiIKKyIgICAgc2V0cyBPUFRBUkcgdG8gdGhlIG9wdGlvbiBjaGFyYWN0ZXIgZm91bmQuICBJZiBnZXRvcHRzIGlzIG5vdCBpblxuIgorIiAgICBzaWxlbnQgbW9kZSwgYW5kIGFuIGludmFsaWQgb3B0aW9uIGlzIHNlZW4sIGdldG9wdHMgcGxhY2VzICc/JyBpbnRvXG4iCisiICAgIE5BTUUgYW5kIHVuc2V0cyBPUFRBUkcuICBJZiBhIHJlcXVpcmVkIGFyZ3VtZW50IGlzIG5vdCBmb3VuZCwgYSAnPydcbiIKKyIgICAgaXMgcGxhY2VkIGluIE5BTUUsIE9QVEFSRyBpcyB1bnNldCwgYW5kIGEgZGlhZ25vc3RpYyBtZXNzYWdlIGlzXG4iCisiICAgIHByaW50ZWQuXG4iCisiICAgIFxuIgorIiAgICBJZiB0aGUgc2hlbGwgdmFyaWFibGUgT1BURVJSIGhhcyB0aGUgdmFsdWUgMCwgZ2V0b3B0cyBkaXNhYmxlcyB0aGVcbiIKKyIgICAgcHJpbnRpbmcgb2YgZXJyb3IgbWVzc2FnZXMsIGV2ZW4gaWYgdGhlIGZpcnN0IGNoYXJhY3RlciBvZlxuIgorIiAgICBPUFRTVFJJTkcgaXMgbm90IGEgY29sb24uICBPUFRFUlIgaGFzIHRoZSB2YWx1ZSAxIGJ5IGRlZmF1bHQuXG4iCisiICAgIFxuIgorIiAgICBHZXRvcHRzIG5vcm1hbGx5IHBhcnNlcyB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzICgkMCAtICQ5KSwgYnV0IGlmXG4iCisiICAgIG1vcmUgYXJndW1lbnRzIGFyZSBnaXZlbiwgdGhleSBhcmUgcGFyc2VkIGluc3RlYWQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIGlmIGFuIG9wdGlvbiBpcyBmb3VuZDsgZmFpbHMgaWYgdGhlIGVuZCBvZiBvcHRpb25zIGlzXG4iCisiICAgIGVuY291bnRlcmVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLop6PmnpDpgInpobnlj4LmlbDjgIJcbiIKKyIgICAgXG4iCisiICAgIEdldG9wdHMg6KKrIHNoZWxsIOi/h+eoi+eUqOS6juino+aekOWPr+WumuS9jeeahOWPguaVsOS9nOS4uumAiemhueOAglxuIgorIiAgICBcbiIKKyIgICAgXG4iCisiICAgIE9QVFNUUklORyDlrZfnrKbkuLLljIXlkKvlvoXor4bliKvnmoTpgInpobnlrZfmr43vvJvlpoLmnpzkuIDkuKrlrZfmr43lkI7pnaLot59cbiIKKyIgICAg552A5YiG5Y+377yM5YiZ6K+l6YCJ6aG55pyf5b6F5LiA5Liq5Y+C5pWw77yM6ICM6K+l5Y+C5pWw5bqU55So56m65qC85LiO6YCJ6aG55YiG5byA44CCXG4iCisiICAgIFxuIgorIiAgICBcbiIKKyIgICAg5q+P5qyh5ZCv5Yqo5pe277yMZ2V0b3B0cyDkvJrlsIbkuIvkuIDkuKrpgInpobnmlL7liLAgc2hlbGwg5Y+Y6YePICRuYW1lXG4iCisiICAgIOS4re+8jOWmguaenCBuYW1lIOWPmOmHj+S4jeWtmOWcqOWImeWFiOWwhuWFtuWIneWni+WMlu+8jOiAjOS4i+S4gOS4quW+heWkhFxuIgorIiAgICDnkIbnmoTlj4LmlbDluo/lj7fmlL7lhaUgc2hlbGwg5Y+Y6YePIE9QVElORCDkuK3jgIJPUFRJTkQg5Y+Y6YeP5Zyo5q+PXG4iCisiICAgIOasoSBzaGVsbCDmiJbogIUgc2hlbGwg6ISa5pys5ZCv5Yqo5pe26YO96KKr5Yid5aeL5YyW5Li6MeOAguW9k+S4gOS4qumAiemhueimgVxuIgorIiAgICDmsYLmnInkuIDkuKrlj4LmlbDml7bvvIxnZXRvcHRzIOWwhuWPguaVsOaUvuWFpSBzaGVsbCDlj5jph48gT1BUQVJHXG4iCisiICAgIOS4reOAglxuIgorIiAgICBcbiIKKyIgICAgZ2V0b3B0cyDmnInkuKTnp43miqXlkYrplJnor6/nmoTmlrnms5XjgILlpoLmnpwgT1BUU1RSSU5HIOWPmOmHj+eahOesrFxuIgorIiAgICDkuIDkuKrlrZfnrKbmmK/lhpLlj7fvvIxnZXRvcHRzIOS9v+eUqOayiem7mOmUmeivr+aKpeWRiuOAguWcqOi/meenjeaooeW8j1xuIgorIiAgICDkuIvvvIzkuI3kvJrmiZPljbDplJnor6/mtojmga/jgILlpoLmnpznnIvliLDkuobkuIDkuKrml6DmlYjnmoTpgInpobnvvIxcbiIKKyIgICAgZ2V0b3B0cyDlsIbmib7liLDnmoTpgInpobnlrZfnrKbmlL7oh7MgT1BUQVJHIOWPmOmHj+S4reOAguWmguaenOS4gOS4quW/hVxuIgorIiAgICDpobvnmoTpgInpobnmsqHmnInmib7liLDvvIxnZXRvcHRzIOaUvuS4gOS4qiAnOicg5YiwIE5BTUUg5Y+Y6YeP5Lit5bm25LiU6K6+XG4iCisiICAgIOe9riBPUFRBUkcg5Y+Y6YeP5Li65om+5Yiw55qE6YCJ6aG55a2X56ym44CC5aaC5p6cIGdldG9wdHMg5LiN5Zyo5rKJ6buY5qihXG4iCisiICAgIOW8j+S4re+8jOW5tuS4lOmBh+WIsOS6huS4gOS4quaXoOaViOeahOmAiemhue+8jGdldG9wdHMg5pS+572u5LiA5LiqICc/JyDliLAgTkFNRSBcbiIKKyIgICAg5Y+Y6YeP5Lit5bm25LiU5Y+N6K6+5a6aIE9QVEFSR+WPmOmHj+OAguWmguaenOW/hemhu+eahOmAiemhueayoeacieaJvuWIsO+8jFxuIgorIiAgICDkuIDkuKonPyfkvJrooqvmlL7lhaUgTkFNReWPmOmHj+S4re+8jE9QVEFSRyDlsIbooqvlj43orr7lrprvvIzlubbkuJTkvJpcbiIKKyIgICAg5omT5Y2w5LiA5Liq6K+K5pat5L+h5oGv44CCXG4iCisiICAgIFxuIgorIiAgICDlpoLmnpwgc2hlbGwg5Y+Y6YePIE9QVEVSUiDnmoTlgLzkuLow77yMZ2V0b3B0cyDnpoHnlKhcbiIKKyIgICAg6ZSZ6K+v5L+h5oGv55qE5omT5Y2w77yM5Y2z5L2/IE9QVFNUUklORyDlj5jph4/nmoTnrKzkuIDkuKrlrZfnrKbkuI3mmK/kuIBcbiIKKyIgICAg5Liq5YaS5Y+344CCT1BURVJSIOeahOm7mOiupOWAvOS4ujEuXG4iCisiICAgIFxuIgorIiAgICBHZXRvcHRzIOmAmuW4uOino+aekOWPr+WumuS9jeeahOWPguaVsO+8iCQwIC0gJDnvvInvvIzkuI3ov4flpoLmnpzmj5DkvpvkuoZcbiIKKyIgICAg5pu05aSa55qE5Y+C5pWw77yM5a6D5Lus5Y+N6ICM5Lya6KKr6Kej5p6Q44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg5aaC5p6c5LiA5Liq6YCJ6aG56KKr5om+5Yiw5YiZ6L+U5Zue5oiQ5Yqf77yb5aaC5p6c6YGH5Yiw5LqG6YCJ6aG555qE57uT5bC+5oiW6ICFXG4iCisiICAgIOaciemUmeivr+WPkeeUn+WImei/lOWbnuWksei0peOAgiIKKworIzogYnVpbHRpbnMuYzo2NzMKK21zZ2lkICIiCisiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIEV4ZWN1dGUgQ09NTUFORCwgcmVwbGFjaW5nIHRoaXMgc2hlbGwgd2l0aCB0aGUgc3BlY2lmaWVkIHByb2dyYW0uXG4iCisiICAgIEFSR1VNRU5UUyBiZWNvbWUgdGhlIGFyZ3VtZW50cyB0byBDT01NQU5ELiAgSWYgQ09NTUFORCBpcyBub3QgIgorInNwZWNpZmllZCxcbiIKKyIgICAgYW55IHJlZGlyZWN0aW9ucyB0YWtlIGVmZmVjdCBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWEgbmFtZVx0cGFzcyBOQU1FIGFzIHRoZSB6ZXJvdGggYXJndW1lbnQgdG8gQ09NTUFORFxuIgorIiAgICAgIC1jXHRcdGV4ZWN1dGUgQ09NTUFORCB3aXRoIGFuIGVtcHR5IGVudmlyb25tZW50XG4iCisiICAgICAgLWxcdFx0cGxhY2UgYSBkYXNoIGluIHRoZSB6ZXJvdGggYXJndW1lbnQgdG8gQ09NTUFORFxuIgorIiAgICBcbiIKKyIgICAgSWYgdGhlIGNvbW1hbmQgY2Fubm90IGJlIGV4ZWN1dGVkLCBhIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbCBleGl0cywgIgorInVubGVzc1xuIgorIiAgICB0aGUgc2hlbGwgb3B0aW9uIGBleGVjZmFpbCcgaXMgc2V0LlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgQ09NTUFORCBpcyBub3QgZm91bmQgb3IgYSByZWRpcmVjdGlvbiBlcnJvciAiCisib2NjdXJzLiIKK21zZ3N0ciAiIgorIuS9v+eUqOaMh+WumuWRveS7pOabv+aNoiBzaGVsbOOAglxuIgorIiAgICBcbiIKKyIgICAg5omn6KGMIENPTU1BTkQg5ZG95Luk77yM5Lul5oyH5a6a55qE56iL5bqP5pu/5o2i6L+Z5LiqIHNoZWxs44CCXG4iCisiICAgIEFSR1VNRU5UUyDlj4LmlbDmiJDkuLogQ09NTUFOROWRveS7pOeahOWPguaVsOOAguWmguaenFxuIgorIiAgICDmsqHmnInmjIflrppDT01NQU5EIOWRveS7pO+8jOWImeS7u+S9leeahOmHjeWumuWQkeWcqOW9k+WJjSBzaGVsbCDkuK3nlJ/mlYjjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1hIOWQjeensFx05L2c5Li656ysMOS4quWPguaVsOS8oOmAkue7mSBDT01NQU5EIOWRveS7pFxuIgorIiAgICAgIC1jXHRcdOWcqOS4gOS4quepuueOr+Wig+S4reaJp+ihjCBDT01NQU5EIOWRveS7pFxuIgorIiAgICAgIC1sXHRcdOWcqENPTU1BTkQg5ZG95Luk55qE56ysMOS4quWPguaVsOS4reWKoOS4gOS4quefree6v1xuIgorIiAgICBcbiIKKyIgICAg5aaC5p6c5ZG95Luk5LiN6IO96KKr5omn6KGM77yM5YiZ6YCA5Ye65LiA5Liq6Z2e5Lqk5LqS5byP55qEIHNoZWxs77yM6Zmk6Z2eXG4iCisiICAgc2hlbGwg6YCJ6aG5YGV4ZWNmYWlsJyDlt7Lnu4/orr7lrprjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57miJDlip/pmaTpnZ4gQ09NTUFORCDlkb3ku6TmsqHmnInmib7liLDmiJbogIXlh7rnjrDkuIDkuKrph43lrprlkJHplJnor6/jgIIiCisKKyM6IGJ1aWx0aW5zLmM6Njk0Cittc2dpZCAiIgorIkV4aXQgdGhlIHNoZWxsLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdHMgdGhlIHNoZWxsIHdpdGggYSBzdGF0dXMgb2YgTi4gIElmIE4gaXMgb21pdHRlZCwgdGhlIGV4aXQgc3RhdHVzXG4iCisiICAgIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKyLpgIDlh7pzaGVsbOOAglxuIgorIiAgICBcbiIKKyIgICAg5Lul54q25oCBIE4g6YCA5Ye6IHNoZWxs44CCICDlpoLmnpwgTiDooqvnnIHnlaXvvIzliJnpgIDlh7rnirbmgIFcbiIKKyIgICAg5Li65pyA5ZCO5LiA5Liq5omn6KGM55qE5ZG95Luk55qE6YCA5Ye654q25oCB44CCIgorCisjOiBidWlsdGlucy5jOjcwMworbXNnaWQgIiIKKyJFeGl0IGEgbG9naW4gc2hlbGwuXG4iCisiICAgIFxuIgorIiAgICBFeGl0cyBhIGxvZ2luIHNoZWxsIHdpdGggZXhpdCBzdGF0dXMgTi4gIFJldHVybnMgYW4gZXJyb3IgaWYgbm90ICIKKyJleGVjdXRlZFxuIgorIiAgICBpbiBhIGxvZ2luIHNoZWxsLiIKK21zZ3N0ciAiIgorIumAgOWHuuS4gOS4queZu+W9lSBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIOS7peeKtuaAgSBOIOmAgOWHuuS4gOS4queZu+W9lSBzaGVsbOOAguWmguaenOS4jeWcqOeZu+W9lSBzaGVsbCDkuK3miafooYzvvIzliJlcbiIKKyIgICAg6L+U5Zue5LiA5Liq6ZSZ6K+v44CCIgorCisjOiBidWlsdGlucy5jOjcxMworbXNnaWQgIiIKKyJEaXNwbGF5IG9yIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSBsaXN0LlxuIgorIiAgICBcbiIKKyIgICAgZmMgaXMgdXNlZCB0byBsaXN0IG9yIGVkaXQgYW5kIHJlLWV4ZWN1dGUgY29tbWFuZHMgZnJvbSB0aGUgaGlzdG9yeSAiCisibGlzdC5cbiIKKyIgICAgRklSU1QgYW5kIExBU1QgY2FuIGJlIG51bWJlcnMgc3BlY2lmeWluZyB0aGUgcmFuZ2UsIG9yIEZJUlNUIGNhbiBiZSBhXG4iCisiICAgIHN0cmluZywgd2hpY2ggbWVhbnMgdGhlIG1vc3QgcmVjZW50IGNvbW1hbmQgYmVnaW5uaW5nIHdpdGggdGhhdFxuIgorIiAgICBzdHJpbmcuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1lIEVOQU1FXHRzZWxlY3Qgd2hpY2ggZWRpdG9yIHRvIHVzZS4gIERlZmF1bHQgaXMgRkNFRElULCB0aGVuICIKKyJFRElUT1IsXG4iCisiICAgIFx0XHR0aGVuIHZpXG4iCisiICAgICAgLWwgXHRsaXN0IGxpbmVzIGluc3RlYWQgb2YgZWRpdGluZ1xuIgorIiAgICAgIC1uXHRvbWl0IGxpbmUgbnVtYmVycyB3aGVuIGxpc3RpbmdcbiIKKyIgICAgICAtclx0cmV2ZXJzZSB0aGUgb3JkZXIgb2YgdGhlIGxpbmVzIChuZXdlc3QgbGlzdGVkIGZpcnN0KVxuIgorIiAgICBcbiIKKyIgICAgV2l0aCB0aGUgYGZjIC1zIFtwYXQ9cmVwIC4uLl0gW2NvbW1hbmRdJyBmb3JtYXQsIENPTU1BTkQgaXNcbiIKKyIgICAgcmUtZXhlY3V0ZWQgYWZ0ZXIgdGhlIHN1YnN0aXR1dGlvbiBPTEQ9TkVXIGlzIHBlcmZvcm1lZC5cbiIKKyIgICAgXG4iCisiICAgIEEgdXNlZnVsIGFsaWFzIHRvIHVzZSB3aXRoIHRoaXMgaXMgcj0nZmMgLXMnLCBzbyB0aGF0IHR5cGluZyBgciBjYydcbiIKKyIgICAgcnVucyB0aGUgbGFzdCBjb21tYW5kIGJlZ2lubmluZyB3aXRoIGBjYycgYW5kIHR5cGluZyBgcicgcmUtZXhlY3V0ZXNcbiIKKyIgICAgdGhlIGxhc3QgY29tbWFuZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3Mgb3Igc3RhdHVzIG9mIGV4ZWN1dGVkIGNvbW1hbmQ7IG5vbi16ZXJvIGlmIGFuIGVycm9yICIKKyJvY2N1cnMuIgorbXNnc3RyICIiCisi5LuO5Y6G5Y+y5YiX6KGo5Lit5pi+56S65oiW6ICF5omn6KGM5ZG95Luk44CCXG4iCisiICAgIFxuIgorIiAgICBmYyDooqvnlKjkuo7ku47ljoblj7LliJfooajkuK3liJflh7rmiJbogIXph43mlrDnvJbovpHlubbmiafooYzlkb3ku6TjgIJcbiIKKyIgICAgRklSU1Qg5ZKMIExBU1Qg5Y+Y6YeP5Y+v5Lul5piv5pWw5a2X55So5LqO5oyH5a6a6IyD5Zu077yM5oiW6ICFIEZJUlNUIOWPr+S7peaYr1xuIgorIiAgICDlrZfnrKbkuLLvvIzmhI/lkbPnnYDku6Xov5nkuKrlrZfnrKbkuLLmiZPlpLTnmoTmnIDov5HnmoTkuIDkuKrlkb3ku6TjgIJcbiIKKyIgICAgXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtZSBFTkFNRVx06YCJ5oup5L2/55So5ZOq5Liq57yW6L6R5Zmo44CC6buY6K6k55qE5pivIEZDRURJVCwg54S25ZCO5pivIEVESVRPUu+8jFxuIgorIiAgICBcdFx054S25ZCO5pivIHZpXG4iCisiICAgICAgLWwgXHTliJflh7rooYzogIzkuI3nvJbovpFcbiIKKyIgICAgICAtblx05YiX5Li+5pe255yB55Wl6KGM5Y+3XG4iCisiICAgICAgLXJcdOWPjei9rOihjOeahOmhuuW6j++8iOacgOaWsOihjOWcqOWJje+8iVxuIgorIiAgICBcbiIKKyIgICAg55SoIGBmYyAtcyBb5qih5byPPeabv+aNoiAuLi5dIFvlkb3ku6RdJyDnmoTmoLzlvI/vvIxDT01NQU5EIOWRveS7pOS8muWcqCBPTEQ9TkVXXG4iCisiICAgIOabv+aNouS5i+WQjuiiq+mHjeaWsOaJp+ihjOOAglxuIgorIiAgICBcbiIKKyIgICAgcj0nZmMgLXMnIOaYr+S4gOS4quacieeUqOeahOWIq+WQje+8jOi/meagt+eahOivnei+k+WFpSBgciBjYyfkvJrmiafooYzmnIDlkI7kuIDkuKrku6UgYGNjJ1xuIgorIiAgICDlvIDlpLTnmoTlkb3ku6TvvIzovpPlhaUgYHIn5Lya6YeN5paw5omn6KGM5pyA5ZCO5LiA5Liq5ZG95Luk44CCXG4iCisiICAgIFxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOaIluiAheaJp+ihjOeahOWRveS7pOeahOeKtuaAge+8m+WmguaenOmUmeivr+WPkeeUn+WImei/lOWbnumdnumbtuOAgiIKKworIzogYnVpbHRpbnMuYzo3NDMKK21zZ2lkICIiCisiTW92ZSBqb2IgdG8gdGhlIGZvcmVncm91bmQuXG4iCisiICAgIFxuIgorIiAgICBQbGFjZSB0aGUgam9iIGlkZW50aWZpZWQgYnkgSk9CX1NQRUMgaW4gdGhlIGZvcmVncm91bmQsIG1ha2luZyBpdCB0aGVcbiIKKyIgICAgY3VycmVudCBqb2IuICBJZiBKT0JfU1BFQyBpcyBub3QgcHJlc2VudCwgdGhlIHNoZWxsJ3Mgbm90aW9uIG9mIHRoZVxuIgorIiAgICBjdXJyZW50IGpvYiBpcyB1c2VkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFN0YXR1cyBvZiBjb21tYW5kIHBsYWNlZCBpbiBmb3JlZ3JvdW5kLCBvciBmYWlsdXJlIGlmIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLlsIbku7vliqHnp7voh7PliY3lj7DjgIJcbiIKKyIgICAgXG4iCisiICAgIOWwhuS7pSBKT0JfU1BFQyDmoIfor4bnmoTku7vliqHmlL7oh7PliY3lj7DvvIzkvb/lhbbmiJDkuLpcbiIKKyIgICAg5b2T5YmN5Lu75Yqh44CC5aaC5p6cIEpPQl9TUEVDIOS4jeWtmOWcqO+8jHNoZWxsIOinguW/teS4reeahOW9k+WJjeS7u+WKoSBcbiIKKyIgICAg5bCG6KKr5L2/55So44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg5pS+6Iez5YmN5Y+w55qE5ZG95Luk54q25oCB77yM5oiW6ICF5b2T6ZSZ6K+v5Y+R55Sf5pe25Li65aSx6LSl44CCIgorCisjOiBidWlsdGlucy5jOjc1OAorbXNnaWQgIiIKKyJNb3ZlIGpvYnMgdG8gdGhlIGJhY2tncm91bmQuXG4iCisiICAgIFxuIgorIiAgICBQbGFjZSB0aGUgam9icyBpZGVudGlmaWVkIGJ5IGVhY2ggSk9CX1NQRUMgaW4gdGhlIGJhY2tncm91bmQsIGFzIGlmICIKKyJ0aGV5XG4iCisiICAgIGhhZCBiZWVuIHN0YXJ0ZWQgd2l0aCBgJicuICBJZiBKT0JfU1BFQyBpcyBub3QgcHJlc2VudCwgdGhlIHNoZWxsJ3MgIgorIm5vdGlvblxuIgorIiAgICBvZiB0aGUgY3VycmVudCBqb2IgaXMgdXNlZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLnp7vliqjku7vliqHoh7PlkI7lj7DjgIJcbiIKKyIgICAgXG4iCisiICAgIOWwhiBKT0JfU1BFQyDmoIfor4bnmoTku7vliqHmlL7oh7PlkI7lj7DvvIzlsLHlg4/lroPku6xcbiIKKyIgICAg5piv5bimIGAmJyDlkK/liqjnmoTkuIDmoLfjgILlpoLmnpwgSk9CX1NQRUMg5LiN5a2Y5Zyo77yMc2hlbGwg6KeC5b+15Lit55qEXG4iCisiICAgIOW9k+WJjeS7u+WKoeWwhuS8muiiq+S9v+eUqOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn+mZpOmdnuS7u+WKoeeuoeeQhuayoeacieWQr+eUqOaIluiAhemUmeivr+WPkeeUn+OAgiIKKworIzogYnVpbHRpbnMuYzo3NzIKK21zZ2lkICIiCisiUmVtZW1iZXIgb3IgZGlzcGxheSBwcm9ncmFtIGxvY2F0aW9ucy5cbiIKKyIgICAgXG4iCisiICAgIERldGVybWluZSBhbmQgcmVtZW1iZXIgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgZWFjaCBjb21tYW5kIE5BTUUuICBJZlxuIgorIiAgICBubyBhcmd1bWVudHMgYXJlIGdpdmVuLCBpbmZvcm1hdGlvbiBhYm91dCByZW1lbWJlcmVkIGNvbW1hbmRzIGlzICIKKyJkaXNwbGF5ZWQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1kXHRcdGZvcmdldCB0aGUgcmVtZW1iZXJlZCBsb2NhdGlvbiBvZiBlYWNoIE5BTUVcbiIKKyIgICAgICAtbFx0XHRkaXNwbGF5IGluIGEgZm9ybWF0IHRoYXQgbWF5IGJlIHJldXNlZCBhcyBpbnB1dFxuIgorIiAgICAgIC1wIHBhdGhuYW1lXHR1c2UgUEFUSE5BTUUgaXMgdGhlIGZ1bGwgcGF0aG5hbWUgb2YgTkFNRVxuIgorIiAgICAgIC1yXHRcdGZvcmdldCBhbGwgcmVtZW1iZXJlZCBsb2NhdGlvbnNcbiIKKyIgICAgICAtdFx0XHRwcmludCB0aGUgcmVtZW1iZXJlZCBsb2NhdGlvbiBvZiBlYWNoIE5BTUUsIHByZWNlZGluZ1xuIgorIiAgICBcdFx0ZWFjaCBsb2NhdGlvbiB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIE5BTUUgaWYgbXVsdGlwbGVcbiIKKyIgICAgXHRcdE5BTUVzIGFyZSBnaXZlblxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgTkFNRVx0XHRFYWNoIE5BTUUgaXMgc2VhcmNoZWQgZm9yIGluICRQQVRIIGFuZCBhZGRlZCB0byB0aGUgbGlzdFxuIgorIiAgICBcdFx0b2YgcmVtZW1iZXJlZCBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuLiIKK21zZ3N0ciAiIgorIuiusOS9j+aIluaYvuekuueoi+W6j+S9jee9ruOAglxuIgorIiAgICBcbiIKKyIgICAg56Gu5a6a5bm26K6w5L2P5q+P5LiA5Liq57uZ5a6aIE5BTUUg5ZCN56ew55qE5ZG95Luk55qE5a6M5pW06Lev5b6E44CC5aaC5p6cXG4iCisiICAgIOS4jeaPkOS+m+WPguaVsO+8jOWImeaYvuekuuW3sue7j+iusOS9j+eahOWRveS7pOeahOS/oeaBr+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCJ6aG577yaXG4iCisiICAgICAgLWRcdFx05b+Y6K6w5q+P5LiA5Liq5bey57uP6K6w5L2P55qE5ZG95Luk55qE5L2N572uXG4iCisiICAgICAgLWxcdFx05Lul5Y+v5L2c5Li66L6T5YWl6YeN55So55qE5qC85byP5pi+56S6XG4iCisiICAgICAgLXAgcGF0aG5hbWVcdOS9v+eUqCBwYXRobmFtZSDot6/lvoTkvZzkuLogTkFNRSDlkb3ku6TnmoTlhajot6/lvoRcbiIKKyIgICAgICAtclx0XHTlv5jorrDmiYDmnInorrDkvY/nmoTkvY3nva5cbiIKKyIgICAgICAtdFx0XHTmiZPljbDorrDkvY/nmoTmr4/kuIDkuKogTkFNRSDlkI3np7DnmoTkvY3nva7vvIzlpoLmnpzmjIflrprkuoblpJrkuKpcbiIKKyIgICAgXHRcdE5BTUUg5ZCN56ew77yM5YiZ5q+P5Liq5L2N572u5YmN6Z2i5Lya5Yqg5LiK55u45bqU55qEIE5BTUUg5ZCN56ewXG4iCisiICAgIFx0XHRcbiIKKyIgICAg5Y+C5pWw77yaXG4iCisiICAgICAgTkFNRVx0XHTmr4/kuKogTkFNRSDlkI3np7DkvJrlnKggJFBBVEgg6Lev5b6E5Y+Y6YeP5Lit6KKr5pCc57Si77yM5bm2XG4iCisiICAgIFx0XHTkuJTmt7vliqDliLDorrDkvY/nmoTlkb3ku6TnmoTliJfooajkuK3jgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57miJDlip/vvIzpmaTpnZ4gTkFNRSDlkb3ku6TmsqHmnInmib7liLDmiJbogIXkvb/nlKjkuobml6DmlYjnmoTpgInpobnjgIIiCisKKyM6IGJ1aWx0aW5zLmM6Nzk3Cittc2dpZCAiIgorIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIERpc3BsYXlzIGJyaWVmIHN1bW1hcmllcyBvZiBidWlsdGluIGNvbW1hbmRzLiAgSWYgUEFUVEVSTiBpc1xuIgorIiAgICBzcGVjaWZpZWQsIGdpdmVzIGRldGFpbGVkIGhlbHAgb24gYWxsIGNvbW1hbmRzIG1hdGNoaW5nIFBBVFRFUk4sXG4iCisiICAgIG90aGVyd2lzZSB0aGUgbGlzdCBvZiBoZWxwIHRvcGljcyBpcyBwcmludGVkLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZFx0b3V0cHV0IHNob3J0IGRlc2NyaXB0aW9uIGZvciBlYWNoIHRvcGljXG4iCisiICAgICAgLW1cdGRpc3BsYXkgdXNhZ2UgaW4gcHNldWRvLW1hbnBhZ2UgZm9ybWF0XG4iCisiICAgICAgLXNcdG91dHB1dCBvbmx5IGEgc2hvcnQgdXNhZ2Ugc3lub3BzaXMgZm9yIGVhY2ggdG9waWMgbWF0Y2hpbmdcbiIKKyIgICAgXHRQQVRURVJOXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgUEFUVEVSTlx0UGF0dGVybiBzcGVjaWZpeWluZyBhIGhlbHAgdG9waWNcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIFBBVFRFUk4gaXMgbm90IGZvdW5kIG9yIGFuIGludmFsaWQgb3B0aW9uIGlzICIKKyJnaXZlbi4iCittc2dzdHIgIiIKKyLmmL7npLrlhoXltYzlkb3ku6TnmoTnm7jlhbPkv6Hmga/jgIJcbiIKKyIgICAgXG4iCisiICAgIOaYvuekuuWGheW1jOWRveS7pOeahOeugOeVpeS/oeaBr+OAguWmguaenOaMh+WumuS6hiBQQVRURVJOIOaooeW8j++8jFxuIgorIiAgICDnu5nlh7rmiYDmnInljLnphY0gUEFUVEVSTiDmqKHlvI/nmoTlkb3ku6TnmoTor6bnu4bluK7liqnvvIzlkKbliJnmiZNcbiIKKyIgICAg5Y2w5LiA5Liq5biu5Yqp5Li76aKY5YiX6KGoXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtZFx06L6T5Ye65q+P5Liq5Li76aKY55qE566A55+t5o+P6L+wXG4iCisiICAgICAgLW1cdOS7peS8qiBtYW4g5omL5YaM55qE5qC85byP5pi+56S65L2/55So5pa55rOVXG4iCisiICAgICAgLXNcdOS4uuavj+S4gOS4quWMuemFjSBQQVRURVJOIOaooeW8j+eahOS4u+mimOS7heaYvuekuuS4gOS4queUqOazlVxuIgorIiAgICBcdOeugOS7i1xuIgorIiAgICBcbiIKKyIgICAg5Y+C5pWw77yaXG4iCisiICAgICAgUEFUVEVSTlx0UGF0dGVybiDmqKHlvI/mjIflrprkuIDkuKrluK7liqnkuLvpophcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57miJDlip/vvIzpmaTpnZ4gUEFUVEVSTiDmqKHlvI/msqHmnInmib7liLDmiJbogIXkvb/nlKjkuobml6DmlYjpgInpobnjgIIiCisKKyM6IGJ1aWx0aW5zLmM6ODIxCittc2dpZCAiIgorIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSB0aGUgaGlzdG9yeSBsaXN0LlxuIgorIiAgICBcbiIKKyIgICAgRGlzcGxheSB0aGUgaGlzdG9yeSBsaXN0IHdpdGggbGluZSBudW1iZXJzLCBwcmVmaXhpbmcgZWFjaCBtb2RpZmllZFxuIgorIiAgICBlbnRyeSB3aXRoIGEgYConLiAgQW4gYXJndW1lbnQgb2YgTiBsaXN0cyBvbmx5IHRoZSBsYXN0IE4gZW50cmllcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWNcdGNsZWFyIHRoZSBoaXN0b3J5IGxpc3QgYnkgZGVsZXRpbmcgYWxsIG9mIHRoZSBlbnRyaWVzXG4iCisiICAgICAgLWQgb2Zmc2V0XHRkZWxldGUgdGhlIGhpc3RvcnkgZW50cnkgYXQgb2Zmc2V0IE9GRlNFVC5cbiIKKyIgICAgXG4iCisiICAgICAgLWFcdGFwcGVuZCBoaXN0b3J5IGxpbmVzIGZyb20gdGhpcyBzZXNzaW9uIHRvIHRoZSBoaXN0b3J5IGZpbGVcbiIKKyIgICAgICAtblx0cmVhZCBhbGwgaGlzdG9yeSBsaW5lcyBub3QgYWxyZWFkeSByZWFkIGZyb20gdGhlIGhpc3RvcnkgZmlsZVxuIgorIiAgICAgIC1yXHRyZWFkIHRoZSBoaXN0b3J5IGZpbGUgYW5kIGFwcGVuZCB0aGUgY29udGVudHMgdG8gdGhlIGhpc3RvcnlcbiIKKyIgICAgXHRsaXN0XG4iCisiICAgICAgLXdcdHdyaXRlIHRoZSBjdXJyZW50IGhpc3RvcnkgdG8gdGhlIGhpc3RvcnkgZmlsZVxuIgorIiAgICBcdGFuZCBhcHBlbmQgdGhlbSB0byB0aGUgaGlzdG9yeSBsaXN0XG4iCisiICAgIFxuIgorIiAgICAgIC1wXHRwZXJmb3JtIGhpc3RvcnkgZXhwYW5zaW9uIG9uIGVhY2ggQVJHIGFuZCBkaXNwbGF5IHRoZSByZXN1bHRcbiIKKyIgICAgXHR3aXRob3V0IHN0b3JpbmcgaXQgaW4gdGhlIGhpc3RvcnkgbGlzdFxuIgorIiAgICAgIC1zXHRhcHBlbmQgdGhlIEFSR3MgdG8gdGhlIGhpc3RvcnkgbGlzdCBhcyBhIHNpbmdsZSBlbnRyeVxuIgorIiAgICBcbiIKKyIgICAgSWYgRklMRU5BTUUgaXMgZ2l2ZW4sIGl0IGlzIHVzZWQgYXMgdGhlIGhpc3RvcnkgZmlsZS4gIE90aGVyd2lzZSxcbiIKKyIgICAgaWYgJEhJU1RGSUxFIGhhcyBhIHZhbHVlLCB0aGF0IGlzIHVzZWQsIGVsc2Ugfi8uYmFzaF9oaXN0b3J5LlxuIgorIiAgICBcbiIKKyIgICAgSWYgdGhlICRISVNUVElNRUZPUk1BVCB2YXJpYWJsZSBpcyBzZXQgYW5kIG5vdCBudWxsLCBpdHMgdmFsdWUgaXMgdXNlZFxuIgorIiAgICBhcyBhIGZvcm1hdCBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpIHRvIHByaW50IHRoZSB0aW1lIHN0YW1wIGFzc29jaWF0ZWRcbiIKKyIgICAgd2l0aCBlYWNoIGRpc3BsYXllZCBoaXN0b3J5IGVudHJ5LiAgTm8gdGltZSBzdGFtcHMgYXJlIHByaW50ZWQgIgorIm90aGVyd2lzZS5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLmmL7npLrmiJbmk43nurXljoblj7LliJfooajjgIJcbiIKKyIgICAgXG4iCisiICAgIOW4puihjOWPt+aYvuekuuWOhuWPsuWIl+ihqO+8jOWwhuavj+S4quiiq+S/ruaUueeahOadoeebruWKoOS4iuWJjee8gCBgKifjgIJcbiIKKyIgICAg5Y+C5pWwIE4g5Lya5LuF5YiX5Ye65pyA5ZCO55qEIE4g5Liq5p2h55uu44CCXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtY1x05Yig6Zmk5omA5pyJ5p2h55uu5LuO6ICM5riF56m65Y6G5Y+y5YiX6KGo44CCXG4iCisiICAgICAgLWQg5YGP56e76YePXHTku47mjIflrprkvY3nva7liKDpmaTljoblj7LliJfooajjgIJcbiIKKyIgICAgXG4iCisiICAgICAgLWFcdOWwhuW9k+WJjee7mOeUu+eahOWOhuWPsuihjOi/veWKoOWIsOWOhuWPsuaWh+S7tuS4rVxuIgorIiAgICAgIC1uXHTku47ljoblj7Lmlofku7bkuK3or7vlj5bmiYDmnInmnKrooqvor7vlj5bnmoTooYxcbiIKKyIgICAgICAtclx06K+75Y+W5Y6G5Y+y5paH5Lu25bm25bCG5YaF5a656L+95Yqg5Yiw5Y6G5Y+y5YiX6KGo5LitXG4iCisiICAgIFx05LitXG4iCisiICAgICAgLXdcdOWwhuW9k+WJjeWOhuWPsuWGmeWFpeWIsOWOhuWPsuaWh+S7tuS4rVxuIgorIiAgICBcdOW5tui/veWKoOWIsOWOhuWPsuWIl+ihqOS4rVxuIgorIiAgICBcbiIKKyIgICAgICAtcFx05a+55q+P5LiA5LiqIEFSRyDlj4LmlbDlsZXlvIDljoblj7LlubbmmL7npLrnu5PmnpxcbiIKKyIgICAgXHTogIzkuI3lrZjlgqjliLDljoblj7LliJfooajkuK1cbiIKKyIgICAgICAtc1x05Lul5Y2V5p2h6K6w5b2V6L+95YqgIEFSRyDliLDljoblj7LliJfooajkuK1cbiIKKyIgICAgXG4iCisiICAgIOWmguaenOe7meWumuS6hiBGSUxFTkFNRSDmlofku7blkI3vvIzliJnlroPlsIbooqvkvZzkuLrljoblj7Lmlofku7bjgILlkKbliJlcbiIKKyIgICAg5aaC5p6cICRISVNURklMRSDlj5jph4/mnInlgLznmoTor53kvb/nlKjkuYvvvIzkuI3nhLbkvb/nlKggfi8uYmFzaF9oaXN0b3J5IOaWh+S7tuOAglxuIgorIiAgICBcbiIKKyIgICAg5aaC5p6cICRISVNUVElNRUZPUk1BVCDlj5jph4/ooqvorr7lrprlubbkuJTkuI3kuLrnqbrvvIzlroPnmoTlgLzkvJrooqvnlKjkuo5cbiIKKyIgICAgc3RyZnRpbWUoMykg55qE5qC85byP5a2X56ym5Liy5p2l5omT5Y2w5LiO5q+P5LiA5Liq5pi+56S655qE5Y6G5Y+y5p2h55uu5oOz5YWz6IGU55qE5pe2XG4iCisiICAgIOmXtOaIs++8jOWQpuWImeS4jeaJk+WNsOaXtumXtOaIs+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOmZpOmdnuS9v+eUqOS6huaXoOaViOeahOmAiemhueaIluiAheWPkeeUn+mUmeivr+OAgiIKKworIzogYnVpbHRpbnMuYzo4NTcKK21zZ2lkICIiCisiRGlzcGxheSBzdGF0dXMgb2Ygam9icy5cbiIKKyIgICAgXG4iCisiICAgIExpc3RzIHRoZSBhY3RpdmUgam9icy4gIEpPQlNQRUMgcmVzdHJpY3RzIG91dHB1dCB0byB0aGF0IGpvYi5cbiIKKyIgICAgV2l0aG91dCBvcHRpb25zLCB0aGUgc3RhdHVzIG9mIGFsbCBhY3RpdmUgam9icyBpcyBkaXNwbGF5ZWQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1sXHRsaXN0cyBwcm9jZXNzIElEcyBpbiBhZGRpdGlvbiB0byB0aGUgbm9ybWFsIGluZm9ybWF0aW9uXG4iCisiICAgICAgLW5cdGxpc3Qgb25seSBwcm9jZXNzZXMgdGhhdCBoYXZlIGNoYW5nZWQgc3RhdHVzIHNpbmNlIHRoZSBsYXN0XG4iCisiICAgIFx0bm90aWZpY2F0aW9uXG4iCisiICAgICAgLXBcdGxpc3RzIHByb2Nlc3MgSURzIG9ubHlcbiIKKyIgICAgICAtclx0cmVzdHJpY3Qgb3V0cHV0IHRvIHJ1bm5pbmcgam9ic1xuIgorIiAgICAgIC1zXHRyZXN0cmljdCBvdXRwdXQgdG8gc3RvcHBlZCBqb2JzXG4iCisiICAgIFxuIgorIiAgICBJZiAteCBpcyBzdXBwbGllZCwgQ09NTUFORCBpcyBydW4gYWZ0ZXIgYWxsIGpvYiBzcGVjaWZpY2F0aW9ucyB0aGF0XG4iCisiICAgIGFwcGVhciBpbiBBUkdTIGhhdmUgYmVlbiByZXBsYWNlZCB3aXRoIHRoZSBwcm9jZXNzIElEIG9mIHRoYXQgam9iJ3NcbiIKKyIgICAgcHJvY2VzcyBncm91cCBsZWFkZXIuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuXG4iCisiICAgIElmIC14IGlzIHVzZWQsIHJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgorbXNnc3RyICIiCisi5pi+56S65Lu75Yqh54q25oCB44CCXG4iCisiICAgIFxuIgorIiAgICDliJflh7rmtLvliqjnmoTku7vliqHjgIJKUEJTUEVDIOmZkOWItuS7hei+k+WHuuaMh+WumueahOS7u+WKoeOAglxuIgorIiAgICDkuI3luKbpgInpobnml7bvvIzmiYDmnInmtLvliqjku7vliqHnmoTnirbmgIHpg73kvJrmmL7npLrjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1sXHTlnKjmraPluLjkv6Hmga/ln7rnoYDkuIrliJflh7rov5vnqIvlj7dcbiIKKyIgICAgICAtblx05YiX5Ye65LiK5qyh6YCa5ZGK5LmL5ZCO5pS55Y+Y5LqG54q25oCB55qE6L+b56iLXG4iCisiICAgICAgLXBcdOS7heWIl+WHuui/m+eoi+WPt1xuIgorIiAgICAgIC1yXHTpmZDliLbku4XovpPlh7rov5DooYzkuK3nmoTku7vliqFcbiIKKyIgICAgICAtc1x06ZmQ5Yi25LuF6L6T5Ye65YGc5q2i55qE5Lu75YqhXG4iCisiICAgIFxuIgorIiAgICDlpoLmnpzkvb/nlKjkuoYgLXgg6YCJ6aG577yMQVJHIOWPguaVsOS4reeahOaJgOacieS7u+WKoeWjsOaYjuS8muiiq+abv+aNouS4uuivpeS7u+WKoVxuIgorIiAgICDnmoTov5vnqIvnu4TlpLTpoobnmoTov5vnqIvlj7fvvIznhLblkI7miafooYwgQ09NTUFORCDlkb3ku6TjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57miJDlip/vvIzpmaTpnZ7kvb/nlKjkuobml6DmlYjnmoTpgInpobnmiJbogIXmnInplJnor6/lj5HnlJ/jgIJcbiIKKyIgICAg5aaC5p6c5L2/55SoIC146YCJ6aG577yM5YiZ6L+U5ZueIENPTU1BTkQg5ZG95Luk55qE6YCA5Ye654q25oCB44CCIgorCisjOiBidWlsdGlucy5jOjg4NAorbXNnaWQgIiIKKyJSZW1vdmUgam9icyBmcm9tIGN1cnJlbnQgc2hlbGwuXG4iCisiICAgIFxuIgorIiAgICBSZW1vdmVzIGVhY2ggSk9CU1BFQyBhcmd1bWVudCBmcm9tIHRoZSB0YWJsZSBvZiBhY3RpdmUgam9icy4gIFdpdGhvdXRcbiIKKyIgICAgYW55IEpPQlNQRUNzLCB0aGUgc2hlbGwgdXNlcyBpdHMgbm90aW9uIG9mIHRoZSBjdXJyZW50IGpvYi5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWFcdHJlbW92ZSBhbGwgam9icyBpZiBKT0JTUEVDIGlzIG5vdCBzdXBwbGllZFxuIgorIiAgICAgIC1oXHRtYXJrIGVhY2ggSk9CU1BFQyBzbyB0aGF0IFNJR0hVUCBpcyBub3Qgc2VudCB0byB0aGUgam9iIGlmIHRoZVxuIgorIiAgICBcdHNoZWxsIHJlY2VpdmVzIGEgU0lHSFVQXG4iCisiICAgICAgLXJcdHJlbW92ZSBvbmx5IHJ1bm5pbmcgam9ic1xuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gb3IgSk9CU1BFQyBpcyBnaXZlbi4iCittc2dzdHIgIiIKKyLku47lvZPliY0gc2hlbGwg5Lit5Yig6Zmk5Lu75Yqh44CCXG4iCisiICAgIFxuIgorIiAgICDku47mtLvliqjku7vliqHooajkuK3liKDpmaTmr4/kuIDkuKogSk9CU1BFQyDlj4LmlbDjgILkuI3luKbku7vkvZVcbiIKKyIgICAgSk9CU1BFQyDlj4LmlbDml7bvvIxzaGVsbCDkvb/nlKjop4Llv7XkuK3nmoTlvZPliY3ku7vliqHjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1hXHTlpoLmnpzkuI3mj5DkvpsgSk9CU1BFQyDlj4LmlbDvvIzliJnliKDpmaTmiYDmnInku7vliqFcbiIKKyIgICAgICAtaFx05qCH6K+G5q+P5LiqIEpPQlNQRUMg5Lu75Yqh77yM5LuO6ICM5b2TIHNoZWxsIOaOpeaUtuWIsCBTSUdIVVBcbiIKKyIgICAgXHTkv6Hlj7fml7bkuI3lj5HpgIEgU0lHSFVQIOe7meaMh+WumuS7u+WKoVxuIgorIiAgICAgIC1yXHTku4XliKDpmaTov5DooYzkuK3nmoTku7vliqFcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57miJDlip/pmaTpnZ7kvb/nlKjkuobml6DmlYjnmoTpgInpobnmiJbogIUgSk9CU1BFQyDlo7DmmI7jgIIiCisKKyM6IGJ1aWx0aW5zLmM6OTAzCittc2dpZCAiIgorIlNlbmQgYSBzaWduYWwgdG8gYSBqb2IuXG4iCisiICAgIFxuIgorIiAgICBTZW5kIHRoZSBwcm9jZXNzZXMgaWRlbnRpZmllZCBieSBQSUQgb3IgSk9CU1BFQyB0aGUgc2lnbmFsIG5hbWVkIGJ5XG4iCisiICAgIFNJR1NQRUMgb3IgU0lHTlVNLiAgSWYgbmVpdGhlciBTSUdTUEVDIG5vciBTSUdOVU0gaXMgcHJlc2VudCwgdGhlblxuIgorIiAgICBTSUdURVJNIGlzIGFzc3VtZWQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1zIHNpZ1x0U0lHIGlzIGEgc2lnbmFsIG5hbWVcbiIKKyIgICAgICAtbiBzaWdcdFNJRyBpcyBhIHNpZ25hbCBudW1iZXJcbiIKKyIgICAgICAtbFx0bGlzdCB0aGUgc2lnbmFsIG5hbWVzOyBpZiBhcmd1bWVudHMgZm9sbG93IGAtbCcgdGhleSBhcmVcbiIKKyIgICAgXHRhc3N1bWVkIHRvIGJlIHNpZ25hbCBudW1iZXJzIGZvciB3aGljaCBuYW1lcyBzaG91bGQgYmUgbGlzdGVkXG4iCisiICAgIFxuIgorIiAgICBLaWxsIGlzIGEgc2hlbGwgYnVpbHRpbiBmb3IgdHdvIHJlYXNvbnM6IGl0IGFsbG93cyBqb2IgSURzIHRvIGJlIHVzZWRcbiIKKyIgICAgaW5zdGVhZCBvZiBwcm9jZXNzIElEcywgYW5kIGFsbG93cyBwcm9jZXNzZXMgdG8gYmUga2lsbGVkIGlmIHRoZSBsaW1pdFxuIgorIiAgICBvbiBwcm9jZXNzZXMgdGhhdCB5b3UgY2FuIGNyZWF0ZSBpcyByZWFjaGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorIuWQkeS4gOS4quS7u+WKoeWPkemAgeS4gOS4quS/oeWPt+OAglxuIgorIiAgICBcbiIKKyIgICAg5ZCR5LulIFBJRCDov5vnqIvlj7fmiJbogIUgSk9CU1BFQyDku7vliqHlo7DmmI7mjIflrprnmoTov5vnqIvlj5HpgIHkuIDkuKrku6VcbiIKKyIgICAgU0lHU1BFQyDkv6Hlj7flo7DmmI7miJYgU0lHTlVNIOS/oeWPt+e8luWPt+WRveWQjeeahOS/oeWPt+OAguWmguaenOayoeacieaMh+WumlxuIgorIiAgICBTSUdTUEVDIOaIliBTSUdOVU3vvIzpgqPkuYjlgYflrprlj5HpgIEgU0lHVEVSTSDkv6Hlj7fjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1zIHNpZ1x0U0lHIOaYr+S/oeWPt+WQjeensFxuIgorIiAgICAgIC1uIHNpZ1x0U0lHIOaYr+S/oeWPt+e8luWPt1xuIgorIiAgICAgIC1sXHTliJflh7rkv6Hlj7flkI3np7DvvJvlpoLmnpzlj4LmlbDlkI7ot58gYC1sJ+WImeiiq+WBh+iuvuS4uuS/oeWPt+e8luWPt++8jFxuIgorIiAgICBcdOiAjOebuOW6lOeahOS/oeWPt+WQjeensOS8muiiq+WIl+WHulxuIgorIiAgICBcbiIKKyIgICAgS2lsbCDmiJDkuLogc2hlbGwg5YaF5bWM5pyJ5Lik5Liq55CG55Sx77ya5a6D5YWB6K645L2/55So5Lu75Yqh57yW5Y+36ICM5LiN5piv6L+b56iL5Y+377yMXG4iCisiICAgIOW5tuS4lOWcqOWPr+S7peWIm+W7uueahOi/m+eoi+aVsOS4iumZkOi+vuWIsOaYr+WFgeiuuOi/m+eoi+iiq+adgOatu+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOmZpOmdnuS9v+eUqOS6huaXoOaViOeahOmAiemhueaIluiAheaciemUmeivr+WPkeeUn+OAgiIKKworIzogYnVpbHRpbnMuYzo5MjYKKyMsIGZ1enp5Cittc2dpZCAiIgorIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCisiICAgIFxuIgorIiAgICBFdmFsdWF0ZSBlYWNoIEFSRyBhcyBhbiBhcml0aG1ldGljIGV4cHJlc3Npb24uICBFdmFsdWF0aW9uIGlzIGRvbmUgaW5cbiIKKyIgICAgZml4ZWQtd2lkdGggaW50ZWdlcnMgd2l0aCBubyBjaGVjayBmb3Igb3ZlcmZsb3csIHRob3VnaCBkaXZpc2lvbiBieSAwXG4iCisiICAgIGlzIHRyYXBwZWQgYW5kIGZsYWdnZWQgYXMgYW4gZXJyb3IuICBUaGUgZm9sbG93aW5nIGxpc3Qgb2Ygb3BlcmF0b3JzIGlzXG4iCisiICAgIGdyb3VwZWQgaW50byBsZXZlbHMgb2YgZXF1YWwtcHJlY2VkZW5jZSBvcGVyYXRvcnMuICBUaGUgbGV2ZWxzIGFyZSAiCisibGlzdGVkXG4iCisiICAgIGluIG9yZGVyIG9mIGRlY3JlYXNpbmcgcHJlY2VkZW5jZS5cbiIKKyIgICAgXG4iCisiICAgIFx0aWQrKywgaWQtLVx0dmFyaWFibGUgcG9zdC1pbmNyZW1lbnQsIHBvc3QtZGVjcmVtZW50XG4iCisiICAgIFx0KytpZCwgLS1pZFx0dmFyaWFibGUgcHJlLWluY3JlbWVudCwgcHJlLWRlY3JlbWVudFxuIgorIiAgICBcdC0sICtcdFx0dW5hcnkgbWludXMsIHBsdXNcbiIKKyIgICAgXHQhLCB+XHRcdGxvZ2ljYWwgYW5kIGJpdHdpc2UgbmVnYXRpb25cbiIKKyIgICAgXHQqKlx0XHRleHBvbmVudGlhdGlvblxuIgorIiAgICBcdCosIC8sICVcdFx0bXVsdGlwbGljYXRpb24sIGRpdmlzaW9uLCByZW1haW5kZXJcbiIKKyIgICAgXHQrLCAtXHRcdGFkZGl0aW9uLCBzdWJ0cmFjdGlvblxuIgorIiAgICBcdDw8LCA+Plx0XHRsZWZ0IGFuZCByaWdodCBiaXR3aXNlIHNoaWZ0c1xuIgorIiAgICBcdDw9LCA+PSwgPCwgPlx0Y29tcGFyaXNvblxuIgorIiAgICBcdD09LCAhPVx0XHRlcXVhbGl0eSwgaW5lcXVhbGl0eVxuIgorIiAgICBcdCZcdFx0Yml0d2lzZSBBTkRcbiIKKyIgICAgXHReXHRcdGJpdHdpc2UgWE9SXG4iCisiICAgIFx0fFx0XHRiaXR3aXNlIE9SXG4iCisiICAgIFx0JiZcdFx0bG9naWNhbCBBTkRcbiIKKyIgICAgXHR8fFx0XHRsb2dpY2FsIE9SXG4iCisiICAgIFx0ZXhwciA/IGV4cHIgOiBleHByXG4iCisiICAgIFx0XHRcdGNvbmRpdGlvbmFsIG9wZXJhdG9yXG4iCisiICAgIFx0PSwgKj0sIC89LCAlPSxcbiIKKyIgICAgXHQrPSwgLT0sIDw8PSwgPj49LFxuIgorIiAgICBcdCY9LCBePSwgfD1cdGFzc2lnbm1lbnRcbiIKKyIgICAgXG4iCisiICAgIFNoZWxsIHZhcmlhYmxlcyBhcmUgYWxsb3dlZCBhcyBvcGVyYW5kcy4gIFRoZSBuYW1lIG9mIHRoZSB2YXJpYWJsZVxuIgorIiAgICBpcyByZXBsYWNlZCBieSBpdHMgdmFsdWUgKGNvZXJjZWQgdG8gYSBmaXhlZC13aWR0aCBpbnRlZ2VyKSB3aXRoaW5cbiIKKyIgICAgYW4gZXhwcmVzc2lvbi4gIFRoZSB2YXJpYWJsZSBuZWVkIG5vdCBoYXZlIGl0cyBpbnRlZ2VyIGF0dHJpYnV0ZVxuIgorIiAgICB0dXJuZWQgb24gdG8gYmUgdXNlZCBpbiBhbiBleHByZXNzaW9uLlxuIgorIiAgICBcbiIKKyIgICAgT3BlcmF0b3JzIGFyZSBldmFsdWF0ZWQgaW4gb3JkZXIgb2YgcHJlY2VkZW5jZS4gIFN1Yi1leHByZXNzaW9ucyBpblxuIgorIiAgICBwYXJlbnRoZXNlcyBhcmUgZXZhbHVhdGVkIGZpcnN0IGFuZCBtYXkgb3ZlcnJpZGUgdGhlIHByZWNlZGVuY2VcbiIKKyIgICAgcnVsZXMgYWJvdmUuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgSWYgdGhlIGxhc3QgQVJHIGV2YWx1YXRlcyB0byAwLCBsZXQgcmV0dXJucyAxOyBsZXQgcmV0dXJucyAwIG90aGVyd2lzZS4iCittc2dzdHIgIiIKKyLkvLDlgLznrpfmlbDooajovr7lvI/jgIJcbiIKKyIgICAgXG4iCisiICAgIOWwhuavj+S4qiBBUkcg5Y+C6LWb5L2c5Li6566X5pWw6KGo6L6+5byP5p2l5Lyw5YC844CC5Lyw5YC855qE6K6h566X5Lul562J5a6955qE5pW0XG4iCisiICAgIOaVsOWujOaIkO+8jOS4jeW4pua6ouWHuuajgOa1i++8jOS4jei/h+mZpCAwIOaYr+iiq+e9rumZt+mYseeahOW5tuS4lOS8muaKpeS4gOS4qumUmVxuIgorIiAgICDor6/jgILkuIvliJfmk43kvZznrKbooqvmjInnhafnm7jlkIznmoTnrpfmlbDkvJjlhYjnuqfnu4TlkIjjgILliJfooajnmoTpobrluo/mjInnhadcbiIKKyIgICAg5LyY5YWI57qn5LuO6auY6Iez5L2O44CCXG4iCisiICAgIFxuIgorIiAgICBcbiIKKyIgICAgXHRpZCsrLCBpZC0tXHTlj5jph4/lkI7nva7liqDvvIzlkI7nva7lh49cbiIKKyIgICAgXHQrK2lkLCAtLWlkXHTlj5jph4/liY3nva7liqDvvIzliY3nva7lh49cbiIKKyIgICAgXHQtLCArXHRcdOS4gOWFg+WHj+azle+8jOS4gOWFg+WKoOazlVxuIgorIiAgICBcdCEsIH5cdFx06YC76L6R5ZKM5q+U54m55Y+W5Y+NXG4iCisiICAgIFx0KipcdFx05oyH5pWwXG4iCisiICAgIFx0KiwgLywgJVx0XHTkuZjms5XvvIzpmaTms5XvvIzlj5bkvZnmlbBcbiIKKyIgICAgXHQrLCAtXHRcdOWinuWKoO+8jOWHj+WwkVxuIgorIiAgICBcdDw8LCA+Plx0XHTlkJHlt6blkozlkJHlj7Pmr5Tnibnnp7vkvY1cbiIKKyIgICAgXHQ8PSwgPj0sIDwsID5cdOavlOi+g1xuIgorIiAgICBcdD09LCAhPVx0XHTnrYnkuo7vvIzkuI3nrYnkuo5cbiIKKyIgICAgXHQmXHRcdOavlOeJueS4jlxuIgorIiAgICBcdF5cdFx05q+U54m55byC5oiWXG4iCisiICAgIFx0fFx0XHTmr5TnibnmiJZcbiIKKyIgICAgXHQmJlx0XHTpgLvovpHkuI5cbiIKKyIgICAgXHR8fFx0XHTpgLvovpHmiJZcbiIKKyIgICAgXHRleHByID8gZXhwciA6IGV4cHJcbiIKKyIgICAgXHRcdFx05p2h5Lu25pON5L2c56ymXG4iCisiICAgIFx0PSwgKj0sIC89LCAlPSxcbiIKKyIgICAgXHQrPSwgLT0sIDw8PSwgPj49LFxuIgorIiAgICBcdCY9LCBePSwgfD1cdOi1i+WAvFxuIgorIiAgICBcbiIKKyIgICAgU2hlbGwg5Y+Y6YeP5YWB6K645L2c5Li65pON5L2c5pWw44CC6KGo6L6+5byP5Lit55qE5Y+Y6YeP55qE5ZCN56ew5Lya6KKr5Y+W5LujXG4iCisiICAgIOS7peWAvO+8iOW8uuWItui9rOaNouS4uuetieWuveeahOaVtOaVsO+8ieOAguihqOi+vuW8j+S4reeahOWPmOmHj+S4jemcgOimgeaJk+W8gFxuIgorIiAgICDmlbTmlbDlsZ7mgKfjgIJcbiIKKyIgICAgXG4iCisiICAgIFxuIgorIiAgICDmk43kvZznrKbmjInnhafkvJjlhYjnuqfov5vooYzkvLDlgLzjgILmi6zlj7fkuK3nmoTlrZDooajovr7lvI/lsIbooqvlhYjkvLDlgLzvvIxcbiIKKyIgICAg5bm25pyJ5Y+v6IO96YeN6L295LiK6L+w55qE6KGo6L6+5byP6KeE5YiZ44CCXG4iCisiICAgIFxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOWmguaenOacgOWQjuS4gOS4qiBBUkcg5Y+C5pWw5Lyw5YC85Li6MO+8jOWImSBsZXQg6L+U5ZueMe+8myDlkKbliJkgbGV0IOi/lOWbnjDjgIIiCisKKyM6IGJ1aWx0aW5zLmM6OTcxCittc2dpZCAiIgorIlJlYWQgYSBsaW5lIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGFuZCBzcGxpdCBpdCBpbnRvIGZpZWxkcy5cbiIKKyIgICAgXG4iCisiICAgIFJlYWRzIGEgc2luZ2xlIGxpbmUgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQsIG9yIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEXG4iCisiICAgIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgbGluZSBpcyBzcGxpdCBpbnRvIGZpZWxkcyBhcyB3aXRoICIKKyJ3b3JkXG4iCisiICAgIHNwbGl0dGluZywgYW5kIHRoZSBmaXJzdCB3b3JkIGlzIGFzc2lnbmVkIHRvIHRoZSBmaXJzdCBOQU1FLCB0aGUgc2Vjb25kXG4iCisiICAgIHdvcmQgdG8gdGhlIHNlY29uZCBOQU1FLCBhbmQgc28gb24sIHdpdGggYW55IGxlZnRvdmVyIHdvcmRzIGFzc2lnbmVkIHRvXG4iCisiICAgIHRoZSBsYXN0IE5BTUUuICBPbmx5IHRoZSBjaGFyYWN0ZXJzIGZvdW5kIGluICRJRlMgYXJlIHJlY29nbml6ZWQgYXMgIgorIndvcmRcbiIKKyIgICAgZGVsaW1pdGVycy5cbiIKKyIgICAgXG4iCisiICAgIElmIG5vIE5BTUVzIGFyZSBzdXBwbGllZCwgdGhlIGxpbmUgcmVhZCBpcyBzdG9yZWQgaW4gdGhlIFJFUExZICIKKyJ2YXJpYWJsZS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWEgYXJyYXlcdGFzc2lnbiB0aGUgd29yZHMgcmVhZCB0byBzZXF1ZW50aWFsIGluZGljZXMgb2YgdGhlIGFycmF5XG4iCisiICAgIFx0XHR2YXJpYWJsZSBBUlJBWSwgc3RhcnRpbmcgYXQgemVyb1xuIgorIiAgICAgIC1kIGRlbGltXHRjb250aW51ZSB1bnRpbCB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIERFTElNIGlzIHJlYWQsIHJhdGhlclxuIgorIiAgICBcdFx0dGhhbiBuZXdsaW5lXG4iCisiICAgICAgLWVcdFx0dXNlIFJlYWRsaW5lIHRvIG9idGFpbiB0aGUgbGluZSBpbiBhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAgICAgIC1pIHRleHRcdFVzZSBURVhUIGFzIHRoZSBpbml0aWFsIHRleHQgZm9yIFJlYWRsaW5lXG4iCisiICAgICAgLW4gbmNoYXJzXHRyZXR1cm4gYWZ0ZXIgcmVhZGluZyBOQ0hBUlMgY2hhcmFjdGVycyByYXRoZXIgdGhhbiB3YWl0aW5nXG4iCisiICAgIFx0XHRmb3IgYSBuZXdsaW5lLCBidXQgaG9ub3IgYSBkZWxpbWl0ZXIgaWYgZmV3ZXIgdGhhbiBOQ0hBUlNcbiIKKyIgICAgXHRcdGNoYXJhY3RlcnMgYXJlIHJlYWQgYmVmb3JlIHRoZSBkZWxpbWl0ZXJcbiIKKyIgICAgICAtTiBuY2hhcnNcdHJldHVybiBvbmx5IGFmdGVyIHJlYWRpbmcgZXhhY3RseSBOQ0hBUlMgY2hhcmFjdGVycywgIgorInVubGVzc1xuIgorIiAgICBcdFx0RU9GIGlzIGVuY291bnRlcmVkIG9yIHJlYWQgdGltZXMgb3V0LCBpZ25vcmluZyBhbnkgZGVsaW1pdGVyXG4iCisiICAgICAgLXAgcHJvbXB0XHRvdXRwdXQgdGhlIHN0cmluZyBQUk9NUFQgd2l0aG91dCBhIHRyYWlsaW5nIG5ld2xpbmUgYmVmb3JlXG4iCisiICAgIFx0XHRhdHRlbXB0aW5nIHRvIHJlYWRcbiIKKyIgICAgICAtclx0XHRkbyBub3QgYWxsb3cgYmFja3NsYXNoZXMgdG8gZXNjYXBlIGFueSBjaGFyYWN0ZXJzXG4iCisiICAgICAgLXNcdFx0ZG8gbm90IGVjaG8gaW5wdXQgY29taW5nIGZyb20gYSB0ZXJtaW5hbFxuIgorIiAgICAgIC10IHRpbWVvdXRcdHRpbWUgb3V0IGFuZCByZXR1cm4gZmFpbHVyZSBpZiBhIGNvbXBsZXRlIGxpbmUgb2YgaW5wdXQgIgorImlzXG4iCisiICAgIFx0XHRub3QgcmVhZCB3aXRoaW50IFRJTUVPVVQgc2Vjb25kcy4gIFRoZSB2YWx1ZSBvZiB0aGUgVE1PVVRcbiIKKyIgICAgXHRcdHZhcmlhYmxlIGlzIHRoZSBkZWZhdWx0IHRpbWVvdXQuICBUSU1FT1VUIG1heSBiZSBhXG4iCisiICAgIFx0XHRmcmFjdGlvbmFsIG51bWJlci4gIElmIFRJTUVPVVQgaXMgMCwgcmVhZCByZXR1cm5zIHN1Y2Nlc3Mgb25seVxuIgorIiAgICBcdFx0aWYgaW5wdXQgaXMgYXZhaWxhYmxlIG9uIHRoZSBzcGVjaWZpZWQgZmlsZSBkZXNjcmlwdG9yLiAgVGhlXG4iCisiICAgIFx0XHRleGl0IHN0YXR1cyBpcyBncmVhdGVyIHRoYW4gMTI4IGlmIHRoZSB0aW1lb3V0IGlzIGV4Y2VlZGVkXG4iCisiICAgICAgLXUgZmRcdFx0cmVhZCBmcm9tIGZpbGUgZGVzY3JpcHRvciBGRCBpbnN0ZWFkIG9mIHRoZSBzdGFuZGFyZCBpbnB1dFxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFRoZSByZXR1cm4gY29kZSBpcyB6ZXJvLCB1bmxlc3MgZW5kLW9mLWZpbGUgaXMgZW5jb3VudGVyZWQsIHJlYWQgdGltZXMgIgorIm91dCxcbiIKKyIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKK21zZ3N0ciAiIgorIuS7juagh+WHhui+k+WFpeivu+WPluS4gOihjOW5tuWwhuWFtuWIhuS4uuS4jeWQjOeahOWfn+OAglxuIgorIiAgICBcbiIKKyIgICAg5LuO5qCH5YeG6L6T5YWl6K+75Y+W5Y2V54us55qE5LiA6KGM77yM5oiW6ICF5aaC5p6c5L2/55So5LqGIC11IOmAiemhue+8jOS7juaWh+S7tuaPj1xuIgorIiAgICDov7AgRkQg5Lit6K+75Y+W44CC6K+l6KGM6KKr5YiG5Ymy5oiQ5Z+f77yM5aaC5ZCM6K+N6K+t5YiG5Ymy5LiA5qC377yM5bm25LiUXG4iCisiICAgIOesrOS4gOS4quivjeiiq+i1i+WAvOe7meesrOS4gOS4qiBOQU1FIOWPmOmHj++8jOesrOS6jOS4quivjeiiq+i1i+WAvOe7meesrOS6jOS4qlxuIgorIiAgICBOQU1FIOWPmOmHj++8jOWmguatpOe7p+e7re+8jOebtOWIsOWJqeS4i+aJgOacieeahOivjeiiq+i1i+WAvOe7meacgOWQjuS4gOS4qlxuIgorIiAgICBOQU1FIOWPmOmHj+OAguWPquaciSAkSUZTIOWPmOmHj+S4reeahOWtl+espuiiq+iupOS9nOaYr+ivjeivreWIhumalOespuOAglxuIgorIiAgICBcbiIKKyIgICAg5aaC5p6c5rKh5pyJ5o+Q5L6bIE5BTUUg5Y+Y6YeP77yM5YiZ6K+75Y+W55qE6KGM6KKr5a2Y5pS+5ZyoIFJFUExZIOWPmOmHj+S4reOAglxuIgorIiAgICBcbiIKKyIgICAg6YCJ6aG577yaXG4iCisiICAgICAgLWEgYXJyYXlcdOWwhuivjeivrei1i+WAvOe7mSBBUlJBWSDmlbDnu4Tlj5jph4/nmoTluo/liJfkuIvmoIfmiJDlkZjvvIzku45cbiIKKyIgICAgXHRcdOmbtuW8gOWni+OAglxuIgorIiAgICAgIC1kIGRlbGltXHTmjIHnu63or7vlj5bnm7TliLDor7vlhaUgREVMSU0g5Y+Y6YeP5Lit55qE56ys5LiA5Liq5a2X56ym77yM6ICM5LiN5pivXG4iCisiICAgIFx0XHTmjaLooYznrKZcbiIKKyIgICAgICAtZVx0XHTlnKjkuIDkuKrkuqTkupLlvI8gc2hlbGwg5Lit5L2/55SoIHJlYWRsaW5lIOiOt+WPluihjFxuIgorIiAgICAgIC1pIHRleHRcdOS9v+eUqCBURVhUIOaWh+acrOS9nOS4uiByZWFkbGluZSDnmoTliJ3lp4vmloflrZdcbiIKKyIgICAgICAtbiBuY2hhcnNcdOivu+WPliBuY2hhcnMg5Liq5a2X56ym5LmL5ZCO6L+U5Zue77yM6ICM5LiN5piv562J5Yiw6K+75Y+WXG4iCisiICAgIFx0XHTmjaLooYznrKbvvIzkvYbmmK/liIbpmpTnrKbku43nhLbmnInmlYjvvIzlpoLmnpzpgYfliLDliIbpmpTnrKbkuYvliY3or7tcbiIKKyIgICAgXHRcdOWPluS6huS4jei2syBuY2hhcnMg5Liq5a2X56ymXG4iCisiICAgICAgLU4gbmNoYXJzXHTlnKjlh4bnoa7or7vlj5bkuoYgbmNoYXJzIOS4quWtl+espuS5i+WQjui/lOWbnu+8jOmZpOmdnumBh+WIsFxuIgorIiAgICBcdFx05LqG5paH5Lu257uT5p2f56ym5oiW6ICF6K+76LaF5pe277yM5Lu75L2V55qE5YiG6ZqU56ym6YO96KKr5b+955WlXG4iCisiICAgICAgLXAgcHJvbXB0XHTlnKjlsJ3or5Xor7vlj5bkuYvliY3ovpPlh7ogUFJPTVBUIOaPkOekuuespuW5tuS4lOS4jeW4plxuIgorIiAgICBcdFx05o2i6KGM56ymXG4iCisiICAgICAgLXJcdFx05LiN5YWB6K645Y+N5pac5p2g6L2s5LmJ5Lu75L2V5a2X56ymXG4iCisiICAgICAgLXNcdFx05LiN5pi+56S657uI56uv55qE5Lu75L2V6L6T5YWlXG4iCisiICAgICAgLXQgdGltZW91dFx05aaC5p6c5ZyoIFRJTUVPVVQg56eS5YaF5rKh5pyJ6K+75Y+W5LiA5Liq5a6M5pW055qE6KGM5YiZXG4iCisiICAgIFx0XHTotoXml7blubbkuJTov5Tlm57lpLHotKXjgIJUTU9VVCDlj5jph4/nmoTlgLzmmK/pu5jorqTnmoTotoXml7bml7bpl7TjgIJcbiIKKyIgICAgXHRcdFRJTUVPVVQg5Y+v5Lul5piv5bCP5pWw44CC5aaC5p6cIFRJTUVPVVQg5pivMO+8jOmCo+S5iOS7heW9k+WcqFxuIgorIiAgICBcdFx05oyH5a6a55qE5paH5Lu25o+P6L+w56ym5LiK6L6T5YWl5pyJ5pWI55qE5pe25YCZ77yMcmVhZCDmiY3ov5Tlm57miJDlip/jgIJcbiIKKyIgICAgXHRcdOWmguaenOi2hei/h+S6hui2heaXtuaXtumXtO+8jOWImei/lOWbnueKtuaAgeeggeWkp+S6jjEyOFxuIgorIiAgICAgIC11IGZkXHRcdOS7juaWh+S7tuaPj+i/sOespiBGRCDkuK3or7vlj5bvvIzogIzkuI3mmK/moIflh4bovpPlhaVcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57noIHkuLrpm7bvvIzpmaTpnZ7pgYfliLDkuobmlofku7bnu5PmnZ/nrKbvvIzor7votoXml7bvvIzmiJbogIXml6DmlYjnmoTmlodcbiIKKyIgICAg5Lu25o+P6L+w56ym5L2c5Li65Y+C5pWw5Lyg6YCS57uZ5LqGIC11IOmAiemhueOAgiIKKworIzogYnVpbHRpbnMuYzoxMDE0Cittc2dpZCAiIgorIlJldHVybiBmcm9tIGEgc2hlbGwgZnVuY3Rpb24uXG4iCisiICAgIFxuIgorIiAgICBDYXVzZXMgYSBmdW5jdGlvbiBvciBzb3VyY2VkIHNjcmlwdCB0byBleGl0IHdpdGggdGhlIHJldHVybiB2YWx1ZVxuIgorIiAgICBzcGVjaWZpZWQgYnkgTi4gIElmIE4gaXMgb21pdHRlZCwgdGhlIHJldHVybiBzdGF0dXMgaXMgdGhhdCBvZiB0aGVcbiIKKyIgICAgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIHdpdGhpbiB0aGUgZnVuY3Rpb24gb3Igc2NyaXB0LlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCittc2dzdHIgIiIKKyLku47kuIDkuKogc2hlbGwg5Ye95pWw6L+U5Zue44CCXG4iCisiICAgIFxuIgorIiAgICDkvb/kuIDkuKrlh73mlbDmiJbogIXooqvlvJXnlKjnmoTohJrmnKzku6XmjIflrprnmoTov5Tlm57lgLwgTiDpgIDlh7rjgIJcbiIKKyIgICAg5aaC5p6cIE4g6KKr55yB55Wl77yM5YiZ6L+U5Zue54q25oCB5bCx5pivXG4iCisiICAgIOWHveaVsOaIluiEmuacrOS4reeahOacgOWQjuS4gOS4quaJp+ihjOeahOWRveS7pOeahOeKtuaAgeOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbniBO77yM5oiW6ICF5aaC5p6cIHNoZWxsIOS4jeWcqOaJp+ihjOS4gOS4quWHveaVsOaIluW8leeUqOiEmuacrOaXtu+8jOWksei0peOAgiIKKworIzogYnVpbHRpbnMuYzoxMDI3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJTZXQgb3IgdW5zZXQgdmFsdWVzIG9mIHNoZWxsIG9wdGlvbnMgYW5kIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgXG4iCisiICAgIENoYW5nZSB0aGUgdmFsdWUgb2Ygc2hlbGwgYXR0cmlidXRlcyBhbmQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLCBvclxuIgorIiAgICBkaXNwbGF5IHRoZSBuYW1lcyBhbmQgdmFsdWVzIG9mIHNoZWxsIHZhcmlhYmxlcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWEgIE1hcmsgdmFyaWFibGVzIHdoaWNoIGFyZSBtb2RpZmllZCBvciBjcmVhdGVkIGZvciBleHBvcnQuXG4iCisiICAgICAgLWIgIE5vdGlmeSBvZiBqb2IgdGVybWluYXRpb24gaW1tZWRpYXRlbHkuXG4iCisiICAgICAgLWUgIEV4aXQgaW1tZWRpYXRlbHkgaWYgYSBjb21tYW5kIGV4aXRzIHdpdGggYSBub24temVybyBzdGF0dXMuXG4iCisiICAgICAgLWYgIERpc2FibGUgZmlsZSBuYW1lIGdlbmVyYXRpb24gKGdsb2JiaW5nKS5cbiIKKyIgICAgICAtaCAgUmVtZW1iZXIgdGhlIGxvY2F0aW9uIG9mIGNvbW1hbmRzIGFzIHRoZXkgYXJlIGxvb2tlZCB1cC5cbiIKKyIgICAgICAtayAgQWxsIGFzc2lnbm1lbnQgYXJndW1lbnRzIGFyZSBwbGFjZWQgaW4gdGhlIGVudmlyb25tZW50IGZvciBhXG4iCisiICAgICAgICAgIGNvbW1hbmQsIG5vdCBqdXN0IHRob3NlIHRoYXQgcHJlY2VkZSB0aGUgY29tbWFuZCBuYW1lLlxuIgorIiAgICAgIC1tICBKb2IgY29udHJvbCBpcyBlbmFibGVkLlxuIgorIiAgICAgIC1uICBSZWFkIGNvbW1hbmRzIGJ1dCBkbyBub3QgZXhlY3V0ZSB0aGVtLlxuIgorIiAgICAgIC1vIG9wdGlvbi1uYW1lXG4iCisiICAgICAgICAgIFNldCB0aGUgdmFyaWFibGUgY29ycmVzcG9uZGluZyB0byBvcHRpb24tbmFtZTpcbiIKKyIgICAgICAgICAgICAgIGFsbGV4cG9ydCAgICBzYW1lIGFzIC1hXG4iCisiICAgICAgICAgICAgICBicmFjZWV4cGFuZCAgc2FtZSBhcyAtQlxuIgorIiAgICAgICAgICAgICAgZW1hY3MgICAgICAgIHVzZSBhbiBlbWFjcy1zdHlsZSBsaW5lIGVkaXRpbmcgaW50ZXJmYWNlXG4iCisiICAgICAgICAgICAgICBlcnJleGl0ICAgICAgc2FtZSBhcyAtZVxuIgorIiAgICAgICAgICAgICAgZXJydHJhY2UgICAgIHNhbWUgYXMgLUVcbiIKKyIgICAgICAgICAgICAgIGZ1bmN0cmFjZSAgICBzYW1lIGFzIC1UXG4iCisiICAgICAgICAgICAgICBoYXNoYWxsICAgICAgc2FtZSBhcyAtaFxuIgorIiAgICAgICAgICAgICAgaGlzdGV4cGFuZCAgIHNhbWUgYXMgLUhcbiIKKyIgICAgICAgICAgICAgIGhpc3RvcnkgICAgICBlbmFibGUgY29tbWFuZCBoaXN0b3J5XG4iCisiICAgICAgICAgICAgICBpZ25vcmVlb2YgICAgdGhlIHNoZWxsIHdpbGwgbm90IGV4aXQgdXBvbiByZWFkaW5nIEVPRlxuIgorIiAgICAgICAgICAgICAgaW50ZXJhY3RpdmUtY29tbWVudHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxvdyBjb21tZW50cyB0byBhcHBlYXIgaW4gaW50ZXJhY3RpdmUgY29tbWFuZHNcbiIKKyIgICAgICAgICAgICAgIGtleXdvcmQgICAgICBzYW1lIGFzIC1rXG4iCisiICAgICAgICAgICAgICBtb25pdG9yICAgICAgc2FtZSBhcyAtbVxuIgorIiAgICAgICAgICAgICAgbm9jbG9iYmVyICAgIHNhbWUgYXMgLUNcbiIKKyIgICAgICAgICAgICAgIG5vZXhlYyAgICAgICBzYW1lIGFzIC1uXG4iCisiICAgICAgICAgICAgICBub2dsb2IgICAgICAgc2FtZSBhcyAtZlxuIgorIiAgICAgICAgICAgICAgbm9sb2cgICAgICAgIGN1cnJlbnRseSBhY2NlcHRlZCBidXQgaWdub3JlZFxuIgorIiAgICAgICAgICAgICAgbm90aWZ5ICAgICAgIHNhbWUgYXMgLWJcbiIKKyIgICAgICAgICAgICAgIG5vdW5zZXQgICAgICBzYW1lIGFzIC11XG4iCisiICAgICAgICAgICAgICBvbmVjbWQgICAgICAgc2FtZSBhcyAtdFxuIgorIiAgICAgICAgICAgICAgcGh5c2ljYWwgICAgIHNhbWUgYXMgLVBcbiIKKyIgICAgICAgICAgICAgIHBpcGVmYWlsICAgICB0aGUgcmV0dXJuIHZhbHVlIG9mIGEgcGlwZWxpbmUgaXMgdGhlIHN0YXR1cyBvZlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBsYXN0IGNvbW1hbmQgdG8gZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIHplcm8gaWYgbm8gY29tbWFuZCBleGl0ZWQgd2l0aCBhIG5vbi16ZXJvICIKKyJzdGF0dXNcbiIKKyIgICAgICAgICAgICAgIHBvc2l4ICAgICAgICBjaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGJhc2ggd2hlcmUgdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24gZGlmZmVycyBmcm9tIHRoZSBQb3NpeCBzdGFuZGFyZCB0b1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hdGNoIHRoZSBzdGFuZGFyZFxuIgorIiAgICAgICAgICAgICAgcHJpdmlsZWdlZCAgIHNhbWUgYXMgLXBcbiIKKyIgICAgICAgICAgICAgIHZlcmJvc2UgICAgICBzYW1lIGFzIC12XG4iCisiICAgICAgICAgICAgICB2aSAgICAgICAgICAgdXNlIGEgdmktc3R5bGUgbGluZSBlZGl0aW5nIGludGVyZmFjZVxuIgorIiAgICAgICAgICAgICAgeHRyYWNlICAgICAgIHNhbWUgYXMgLXhcbiIKKyIgICAgICAtcCAgVHVybmVkIG9uIHdoZW5ldmVyIHRoZSByZWFsIGFuZCBlZmZlY3RpdmUgdXNlciBpZHMgZG8gbm90IG1hdGNoLlxuIgorIiAgICAgICAgICBEaXNhYmxlcyBwcm9jZXNzaW5nIG9mIHRoZSAkRU5WIGZpbGUgYW5kIGltcG9ydGluZyBvZiBzaGVsbFxuIgorIiAgICAgICAgICBmdW5jdGlvbnMuICBUdXJuaW5nIHRoaXMgb3B0aW9uIG9mZiBjYXVzZXMgdGhlIGVmZmVjdGl2ZSB1aWQgYW5kXG4iCisiICAgICAgICAgIGdpZCB0byBiZSBzZXQgdG8gdGhlIHJlYWwgdWlkIGFuZCBnaWQuXG4iCisiICAgICAgLXQgIEV4aXQgYWZ0ZXIgcmVhZGluZyBhbmQgZXhlY3V0aW5nIG9uZSBjb21tYW5kLlxuIgorIiAgICAgIC11ICBUcmVhdCB1bnNldCB2YXJpYWJsZXMgYXMgYW4gZXJyb3Igd2hlbiBzdWJzdGl0dXRpbmcuXG4iCisiICAgICAgLXYgIFByaW50IHNoZWxsIGlucHV0IGxpbmVzIGFzIHRoZXkgYXJlIHJlYWQuXG4iCisiICAgICAgLXggIFByaW50IGNvbW1hbmRzIGFuZCB0aGVpciBhcmd1bWVudHMgYXMgdGhleSBhcmUgZXhlY3V0ZWQuXG4iCisiICAgICAgLUIgIHRoZSBzaGVsbCB3aWxsIHBlcmZvcm0gYnJhY2UgZXhwYW5zaW9uXG4iCisiICAgICAgLUMgIElmIHNldCwgZGlzYWxsb3cgZXhpc3RpbmcgcmVndWxhciBmaWxlcyB0byBiZSBvdmVyd3JpdHRlblxuIgorIiAgICAgICAgICBieSByZWRpcmVjdGlvbiBvZiBvdXRwdXQuXG4iCisiICAgICAgLUUgIElmIHNldCwgdGhlIEVSUiB0cmFwIGlzIGluaGVyaXRlZCBieSBzaGVsbCBmdW5jdGlvbnMuXG4iCisiICAgICAgLUggIEVuYWJsZSAhIHN0eWxlIGhpc3Rvcnkgc3Vic3RpdHV0aW9uLiAgVGhpcyBmbGFnIGlzIG9uXG4iCisiICAgICAgICAgIGJ5IGRlZmF1bHQgd2hlbiB0aGUgc2hlbGwgaXMgaW50ZXJhY3RpdmUuXG4iCisiICAgICAgLVAgIElmIHNldCwgZG8gbm90IGZvbGxvdyBzeW1ib2xpYyBsaW5rcyB3aGVuIGV4ZWN1dGluZyBjb21tYW5kc1xuIgorIiAgICAgICAgICBzdWNoIGFzIGNkIHdoaWNoIGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkuXG4iCisiICAgICAgLVQgIElmIHNldCwgdGhlIERFQlVHIHRyYXAgaXMgaW5oZXJpdGVkIGJ5IHNoZWxsIGZ1bmN0aW9ucy5cbiIKKyIgICAgICAtLSAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIElmIHRoZXJlIGFyZSBubyByZW1haW5pbmcgYXJndW1lbnRzLCB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzXG4iCisiICAgICAgICAgIGFyZSB1bnNldC5cbiIKKyIgICAgICAtICAgQXNzaWduIGFueSByZW1haW5pbmcgYXJndW1lbnRzIHRvIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCisiICAgICAgICAgIFRoZSAteCBhbmQgLXYgb3B0aW9ucyBhcmUgdHVybmVkIG9mZi5cbiIKKyIgICAgXG4iCisiICAgIFVzaW5nICsgcmF0aGVyIHRoYW4gLSBjYXVzZXMgdGhlc2UgZmxhZ3MgdG8gYmUgdHVybmVkIG9mZi4gIFRoZVxuIgorIiAgICBmbGFncyBjYW4gYWxzbyBiZSB1c2VkIHVwb24gaW52b2NhdGlvbiBvZiB0aGUgc2hlbGwuICBUaGUgY3VycmVudFxuIgorIiAgICBzZXQgb2YgZmxhZ3MgbWF5IGJlIGZvdW5kIGluICQtLiAgVGhlIHJlbWFpbmluZyBuIEFSR3MgYXJlIHBvc2l0aW9uYWxcbiIKKyIgICAgcGFyYW1ldGVycyBhbmQgYXJlIGFzc2lnbmVkLCBpbiBvcmRlciwgdG8gJDEsICQyLCAuLiAkbi4gIElmIG5vXG4iCisiICAgIEFSR3MgYXJlIGdpdmVuLCBhbGwgc2hlbGwgdmFyaWFibGVzIGFyZSBwcmludGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgorbXNnc3RyICIiCisi6K6+5a6a5oiW5Y+N6K6+5a6aIHNoZWxsIOmAiemhueWSjOS9jee9ruWPguaVsOeahOWAvOOAglxuIgorIiAgICBcbiIKKyIgICAg5pS55Y+YIHNoZWxsIOmAiemhueWSjOS9jee9ruWPguaVsOeahOWAvO+8jOaIluiAheaYvuekuiBzaGVsbCDlj5jph4/nmoRcbiIKKyIgICAg5ZCN56ew5ZKM5YC844CCXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtYSAg5qCH6K6w5L+u5pS555qE5oiW6ICF5Yib5bu655qE5Y+Y6YeP5Li65a+85Ye644CCXG4iCisiICAgICAgLWIgIOeri+WNs+mAmuWRiuS7u+WKoee7iOe7k+OAglxuIgorIiAgICAgIC1lICDlpoLmnpzkuIDkuKrlkb3ku6Tku6XpnZ7pm7bnirbmgIHpgIDlh7rvvIzliJnnq4vljbPpgIDlh7rjgIJcbiIKKyIgICAgICAtZiAg56aB55So5paH5Lu25ZCN55Sf5oiQ77yI5qih5byP5Yy56YWN77yJ44CCXG4iCisiICAgICAgLWggIOW9k+afpeivouWRveS7pOaXtuiusOS9j+Wug+S7rOeahOS9jee9rlxuIgorIiAgICAgIC1rICDmiYDmnInnmoTotYvlgLzlj4LmlbDooqvmlL7lnKjlkb3ku6TnmoTnjq/looPkuK3vvIzogIzkuI3ku4Xku4XmmK9cbiIKKyIgICAgICAgICAg5ZG95Luk5ZCN56ew5LmL5YmN55qE5Y+C5pWw44CCXG4iCisiICAgICAgLW0gIOWQr+eUqOS7u+WKoeaOp+WItuOAglxuIgorIiAgICAgIC1uICDor7vlj5blkb3ku6TkvYbkuI3miafooYxcbiIKKyIgICAgICAtbyDpgInpobnlkI1cbiIKKyIgICAgICAgICAg6K6+5a6a5LiO6YCJ6aG55ZCN5a+55bqU55qE5Y+Y6YeP77yaXG4iCisiICAgICAgICAgICAgICBhbGxleHBvcnQgICAg5LiOIC1hIOebuOWQjFxuIgorIiAgICAgICAgICAgICAgYnJhY2VleHBhbmQgIOS4jiAtQiDnm7jlkIxcbiIKKyIgICAgICAgICAgICAgIGVtYWNzICAgICAgIOS9v+eUqCBlbWFjcyDpo47moLznmoTooYznvJbovpHnlYzpnaJcbiIKKyIgICAgICAgICAgICAgIGVycmV4aXQgICAgICDkuI4gLWUg55u45ZCMXG4iCisiICAgICAgICAgICAgICBlcnJ0cmFjZSAgICAg5LiOIC1FIOebuOWQjFxuIgorIiAgICAgICAgICAgICAgZnVuY3RyYWNlICAgIOS4jiAtVCDnm7jlkIxcbiIKKyIgICAgICAgICAgICAgIGhhc2hhbGwgICAgICDkuI4gLWgg55u45ZCMXG4iCisiICAgICAgICAgICAgICBoaXN0ZXhwYW5kICAg5LiOIC1IIOebuOWQjFxuIgorIiAgICAgICAgICAgICAgaGlzdG9yeSAgICAgIOWQr+eUqOWRveS7pOWOhuWPslxuIgorIiAgICAgICAgICAgICAgaWdub3JlZW9mICAgIHNoZWxsIOivu+WPluaWh+S7tue7k+adn+espuaXtuS4jeS8mumAgOWHulxuIgorIiAgICAgICAgICAgICAgaW50ZXJhY3RpdmUtY29tbWVudHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDlhYHorrjlnKjkuqTkupLlvI/lkb3ku6TkuK3mmL7npLrms6jph4pcbiIKKyIgICAgICAgICAgICAgIGtleXdvcmQgICAgICDkuI4gLWsg55u45ZCMXG4iCisiICAgICAgICAgICAgICBtb25pdG9yICAgICAg5LiOIC1tIOebuOWQjFxuIgorIiAgICAgICAgICAgICAgbm9jbG9iYmVyICAgIOS4jiAtQyDnm7jlkIxcbiIKKyIgICAgICAgICAgICAgIG5vZXhlYyAgICAgICDkuI4gLW4g55u45ZCMXG4iCisiICAgICAgICAgICAgICBub2dsb2IgICAgICAg5LiOIC1mIOebuOWQjFxuIgorIiAgICAgICAgICAgICAgbm9sb2cgICAgICAgIOebruWJjeWPr+aOpeWPl+S9huaYr+iiq+W/veeVpVxuIgorIiAgICAgICAgICAgICAgbm90aWZ5ICAgICAgIOS4ji1iIOebuOWQjFxuIgorIiAgICAgICAgICAgICAgbm91bnNldCAgICAgIOS4jiAtdSDnm7jlkIxcbiIKKyIgICAgICAgICAgICAgIG9uZWNtZCAgICAgICDkuI4gLXQg55u45ZCMXG4iCisiICAgICAgICAgICAgICBwaHlzaWNhbCAgICAg5LiOIC1QIOebuOWQjFxuIgorIiAgICAgICAgICAgICAgcGlwZWZhaWwgICAgIOeuoemBk+eahOi/lOWAvOaYr+acgOWQjuS4gOS4qumdnumbtui/lOWbnuWAvOeahOWRveS7pOeahOi/lOWbnue7k+aenO+8jFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOaIluiAheW9k+aJgOacieWRveS7pOmDvei/lOWbnumbtuaYr+S5n+S4uumbtuOAglxuIgorIiAgICAgICAgICAgICAgcG9zaXggICAgICAgIOaUueWPmOm7mOiupOaXtuWSjCBQb3NpeCDmoIflh4bkuI3lkIznmoQgYmFzaCDooYzkuLpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDku6XljLnphY3moIflh4ZcbiIKKyIgICAgICAgICAgICAgIHByaXZpbGVnZWQgICDkuI4gLXAg55u45ZCMXG4iCisiICAgICAgICAgICAgICB2ZXJib3NlICAgICAg5LiOIC12IOebuOWQjFxuIgorIiAgICAgICAgICAgICAgdmkgICAgICAgICAgIOS9v+eUqCB2aSDpo47moLznmoTooYznvJbovpHnlYzpnaJcbiIKKyIgICAgICAgICAgICAgIHh0cmFjZSAgICAgICDkuI4gLXgg55u45ZCMXG4iCisiICAgICAgLXAgIOaXoOiuuuS9leaXtuW9k+ecn+WunueahOacieaViOeahOeUqOaIt+i6q+S7veS4jeWMuemFjeaXtuaJk+W8gOOAglxuIgorIiAgICAgICAgICDnpoHnlKjlr7kgJEVOViDmlofku7bnmoTlpITnkIbku6Xlj4rlr7zlhaUgc2hlbGwg5Ye95pWw44CCXG4iCisiICAgICAgICAgIOWFs+mXreatpOmAiemhueS8muWvvOiHtOacieaViOeahOeUqOaIt+e8luWPt+WSjOe7hOe8luWPt+iuvuWumlxuIgorIiAgICAgICAgICDkuLrnnJ/lrp7nmoTnlKjmiLfnvJblj7flkoznu4TnvJblj7dcbiIKKyIgICAgICAtdCAg6K+75Y+W5bm25omn6KGM5LiA5Liq5ZG95Luk5LmL5ZCO6YCA5Ye644CCXG4iCisiICAgICAgLXUgIOabv+aNouaXtuWwhuS4uuiuvuWumueahOWPmOmHj+W9k+S9nOmUmeivr+WvueW+heOAglxuIgorIiAgICAgIC12ICDor7vlj5Ygc2hlbGwg6L6T5YWl6KGM5pe25bCG5a6D5Lus5omT5Y2w44CCXG4iCisiICAgICAgLXggIOaJp+ihjOWRveS7pOaXtuaJk+WNsOWug+S7rOS7peWPiuWPguaVsOOAglxuIgorIiAgICAgIC1CICBzaGVsbCDlsIbmiafooYzoirHmi6zlj7fmianlsZXjgIJcbiIKKyIgICAgICAtQyAg6K6+5a6a5LmL5ZCO56aB5q2i5Lul6YeN5a6a5ZCR6L6T5Ye655qE5pa55byP6KaG55uW5bi4XG4iCisiICAgICAgICAgIOinhOaWh+S7tuOAglxuIgorIiAgICAgIC1FICDorr7lrprkuYvlkI4gRVJSIOmZt+mYseS8muiiqyBzaGVsbCDlh73mlbDnu6fmib/jgIJcbiIKKyIgICAgICAtSCAg5ZCv55SoICEg6aOO5qC855qE5Y6G5Y+y5pu/5o2i44CC5b2TIHNoZWxsIOaYr+S6pOS6kuW8j+eahFxuIgorIiAgICAgICAgICDml7blgJnov5nkuKrmoIfor4bkvY3pu5jorqTmiZPlvIDjgIJcbiIKKyIgICAgICAtUCAg6K6+5a6a5LmL5ZCO57G75Ly8IGNkIOeahOS8muaUueWPmOW9k+WJjeebruW9leeahOWRveS7pOS4jVxuIgorIiAgICAgICAgICDov73ouKrnrKblj7fpk77mjqXjgIJcbiIKKyIgICAgICAtVCAg6K6+5a6a5LmL5ZCOIERFQlVHIOmZt+mYseS8muiiqyBzaGVsbCDlh73mlbDnu6fmib/jgIJcbiIKKyIgICAgICAtICAg5Lu75L2V5Ymp5L2Z55qE5Y+C5pWw5Lya6KKr6LWL5YC857uZ5L2N572u5Y+C5pWw44CCXG4iCisiICAgICAgICAgIC14IOWSjCAtdiDpgInpobnlt7LlhbPpl63jgIJcbiIKKyIgICAgXG4iCisiICAgIOS9v+eUqCArIOiAjOS4jeaYryAtIOS8muS9v+agh+W/l+S9jeiiq+WFs+mXreOAguagh+W/l+S9jeS5n+WPr+S7peWcqFxuIgorIiAgICBzaGVsbCDooqvlkK/liqjml7bkvb/nlKjjgILlvZPliY3nmoTmoIflv5fkvY3orr7lrprlj6/ku6XlnKggJC0g5Y+YXG4iCisiICAgIOmHj+S4reaJvuWIsOOAguWJqeS9meeahCBBUkcg5Y+C5pWw5piv5L2N572u5Y+C5pWw5bm25LiU5piv5oyJ54WnXG4iCisiICAgICQxLCAkMiwgLi4gJG4g55qE6aG65bqP6KKr6LWL5YC855qE44CC5aaC5p6c5rKh5pyJ57uZ5a6aIEFSR1xuIgorIiAgICDlj4LmlbDvvIzliJnmiZPljbDmiYDmnInnmoQgc2hlbGwg5Y+Y6YeP44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6L+U5Zue5oiQ5Yqf6Zmk6Z2e5L2/55So5LqG5peg5pWI55qE5Y+C5pWw44CCIgorCisjOiBidWlsdGlucy5jOjExMTIKK21zZ2lkICIiCisiVW5zZXQgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzIG9mIHNoZWxsIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zLlxuIgorIiAgICBcbiIKKyIgICAgRm9yIGVhY2ggTkFNRSwgcmVtb3ZlIHRoZSBjb3JyZXNwb25kaW5nIHZhcmlhYmxlIG9yIGZ1bmN0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZlx0dHJlYXQgZWFjaCBOQU1FIGFzIGEgc2hlbGwgZnVuY3Rpb25cbiIKKyIgICAgICAtdlx0dHJlYXQgZWFjaCBOQU1FIGFzIGEgc2hlbGwgdmFyaWFibGVcbiIKKyIgICAgXG4iCisiICAgIFdpdGhvdXQgb3B0aW9ucywgdW5zZXQgZmlyc3QgdHJpZXMgdG8gdW5zZXQgYSB2YXJpYWJsZSwgYW5kIGlmIHRoYXQgIgorImZhaWxzLFxuIgorIiAgICB0cmllcyB0byB1bnNldCBhIGZ1bmN0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgU29tZSB2YXJpYWJsZXMgY2Fubm90IGJlIHVuc2V0OyBhbHNvIHNlZSBgcmVhZG9ubHknLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgYSBOQU1FIGlzIHJlYWQtb25seS4iCittc2dzdHIgIiIKKyLlj43orr7lrpogc2hlbGwg5Y+Y6YeP5ZKM5Ye95pWw55qE5YC85ZKM5bGe5oCn44CCXG4iCisiICAgIFxuIgorIiAgICDlr7nmr4/kuIDkuKogTkFNRSDlkI3np7DvvIzliKDpmaTlr7nlupTnmoTlj5jph4/miJblh73mlbDjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1mXHTlsIbmr4/kuKogTkFNRSDlkI3np7DlvZPkvZzlh73mlbDlr7nlvoVcbiIKKyIgICAgICAtdlx05bCG5q+P5LiqIE5BTUUg5ZCN56ew5b2T5L2c5Y+Y6YeP5a+55b6FXG4iCisiICAgIFxuIgorIiAgICDkuI3luKbpgInpobnml7bvvIx1bnNldCDpppblhYjlsJ3or5Xlj43orr7lrprkuIDkuKrlj5jph4/vvIzlpoLmnpxcbiIKKyIgICAg5aSx6LSl77yM5YaN5bCd6K+V5Y+N6K6+5a6a5LiA5Liq5Ye95pWw44CCXG4iCisiICAgIFxuIgorIiAgICDmn5Dkupvlj5jph4/kuI3lj6/ku6Xooqvlj43orr7lrprvvJvor7fmn6XnnIsgYHJlYWRvbmx5J+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOmZpOmdnuS9v+eUqOS6huaXoOaViOeahOmAiemhueaIluiAhSBOQU1FIOWQjeensOS4uuWPquivu+OAgiIKKworIzogYnVpbHRpbnMuYzoxMTMyCittc2dpZCAiIgorIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCisiICAgIFxuIgorIiAgICBNYXJrcyBlYWNoIE5BTUUgZm9yIGF1dG9tYXRpYyBleHBvcnQgdG8gdGhlIGVudmlyb25tZW50IG9mIHN1YnNlcXVlbnRseVxuIgorIiAgICBleGVjdXRlZCBjb21tYW5kcy4gIElmIFZBTFVFIGlzIHN1cHBsaWVkLCBhc3NpZ24gVkFMVUUgYmVmb3JlICIKKyJleHBvcnRpbmcuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1mXHRyZWZlciB0byBzaGVsbCBmdW5jdGlvbnNcbiIKKyIgICAgICAtblx0cmVtb3ZlIHRoZSBleHBvcnQgcHJvcGVydHkgZnJvbSBlYWNoIE5BTUVcbiIKKyIgICAgICAtcFx0ZGlzcGxheSBhIGxpc3Qgb2YgYWxsIGV4cG9ydGVkIHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zXG4iCisiICAgIFxuIgorIiAgICBBbiBhcmd1bWVudCBvZiBgLS0nIGRpc2FibGVzIGZ1cnRoZXIgb3B0aW9uIHByb2Nlc3NpbmcuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgorbXNnc3RyICIiCisi5Li6IHNoZWxsIOWPmOmHj+iuvuWumuWvvOWHuuWxnuaAp+OAglxuIgorIiAgICBcbiIKKyIgICAg5qCH6K6w5q+P5LiqIE5BTUUg5ZCN56ew5Li66Ieq5Yqo5a+85Ye65Yiw5ZCO57ut5ZG95Luk5omn6KGM55qE546v5aKD44CC5aaC5p6c5o+Q5L6b5LqGIFZBTFVFXG4iCisiICAgIOWImeWvvOWHuuWJjeWwhiBWQUxVRSDkvZzkuLrotYvlgLzjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1mXHTmjIcgc2hlbGwg5Ye95pWwXG4iCisiICAgICAgLW5cdOWIoOmZpOavj+S4qiBOQU1FIOWQjeensOeahOWvvOWHuuWxnuaAp1xuIgorIiAgICAgIC1wXHTmmL7npLrmiYDmnInlr7zlh7rnmoTlj5jph4/lkozlh73mlbDnmoTliJfooahcbiIKKyIgICAgXG4iCisiICAgIGAtLScg55qE5Y+C5pWw56aB55So6L+b5LiA5q2l55qE6YCJ6aG55aSE55CG44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6L+U5Zue5oiQ5Yqf77yM6Zmk6Z2e5L2/55So5LqG5peg5pWI55qE6YCJ6aG55oiW6ICFIE5BTUUg5ZCN56ew44CCIgorCisjOiBidWlsdGlucy5jOjExNTEKK21zZ2lkICIiCisiTWFyayBzaGVsbCB2YXJpYWJsZXMgYXMgdW5jaGFuZ2VhYmxlLlxuIgorIiAgICBcbiIKKyIgICAgTWFyayBlYWNoIE5BTUUgYXMgcmVhZC1vbmx5OyB0aGUgdmFsdWVzIG9mIHRoZXNlIE5BTUVzIG1heSBub3QgYmVcbiIKKyIgICAgY2hhbmdlZCBieSBzdWJzZXF1ZW50IGFzc2lnbm1lbnQuICBJZiBWQUxVRSBpcyBzdXBwbGllZCwgYXNzaWduIFZBTFVFXG4iCisiICAgIGJlZm9yZSBtYXJraW5nIGFzIHJlYWQtb25seS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWFcdHJlZmVyIHRvIGluZGV4ZWQgYXJyYXkgdmFyaWFibGVzXG4iCisiICAgICAgLUFcdHJlZmVyIHRvIGFzc29jaWF0aXZlIGFycmF5IHZhcmlhYmxlc1xuIgorIiAgICAgIC1mXHRyZWZlciB0byBzaGVsbCBmdW5jdGlvbnNcbiIKKyIgICAgICAtcFx0ZGlzcGxheSBhIGxpc3Qgb2YgYWxsIHJlYWRvbmx5IHZhcmlhYmxlcyBhbmQgZnVuY3Rpb25zXG4iCisiICAgIFxuIgorIiAgICBBbiBhcmd1bWVudCBvZiBgLS0nIGRpc2FibGVzIGZ1cnRoZXIgb3B0aW9uIHByb2Nlc3NpbmcuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgorbXNnc3RyICIiCisi5qCH6K6wIHNoZWxsIOWPmOmHj+S4uuS4jeWPr+aUueWPmOOAglxuIgorIiAgICBcbiIKKyIgICAg5qCH6K6w5q+P5LiA5LiqIE5BTUUg5ZCN56ew5Li65Y+q6K+777yb6L+Z5LqbIE5BTUUg5Y+Y6YeP55qE5YC85bCG5LiN5Y+v5Lul6KKr5ZCO57ut55qE6LWL5YC8XG4iCisiICAgIOaTjeS9nOaJgOaUueWPmOOAguWmguaenOaPkOS+m+S6hiBWQUxVRe+8jOWImeWcqOagh+iusOS4uuWPquivu+S5i+WJjeWwhiBWQUxVRSDlgLzotYvnu5nlj5jph4/jgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1hXHTmjIfkuIvmoIfmlbDnu4Tlj5jph49cbiIKKyIgICAgICAtQVx05oyH5YWz6IGU5pWw57uE5qCH6YePXG4iCisiICAgICAgLWZcdOaMhyBzaGVsbCDlh73mlbBcbiIKKyIgICAgICAtcFx05pi+56S65Y+q6K+75Y+Y6YeP5ZKM5Ye95pWw5YiX6KGoXG4iCisiICAgIFxuIgorIiAgICBgLS0nIOeahOWPguaVsOemgeeUqOi/m+S4gOatpeeahOmAiemhueWkhOeQhuOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOmZpOmdnuS9v+eUqOS6huaXoOaViOeahOmAiemhueaIluiAhSBOQU1FIOWQjeensOOAgiIKKworIzogYnVpbHRpbnMuYzoxMTcyCittc2dpZCAiIgorIlNoaWZ0IHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgXG4iCisiICAgIFJlbmFtZSB0aGUgcG9zaXRpb25hbCBwYXJhbWV0ZXJzICROKzEsJE4rMiAuLi4gdG8gJDEsJDIgLi4uICBJZiBOIGlzXG4iCisiICAgIG5vdCBnaXZlbiwgaXQgaXMgYXNzdW1lZCB0byBiZSAxLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgorbXNnc3RyICIiCisi56e75L2N5L2N572u5Y+C5pWw44CCXG4iCisiICAgIFxuIgorIiAgICDph43lkb3lkI3kvY3nva7lj4LmlbAgJE4rMeOAgSROKzIgLi4uIOWIsCAkMeOAgSQyIC4uLiAg5aaC5p6c5rKh5pyJ57uZ5a6aIE7vvIxcbiIKKyIgICAg5YiZ5YGH6K6+5Li6MS5cbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57miJDlip/vvIzpmaTpnZ4gTiDkuLrotJ/miJbogIXlpKfkuo4gJCPjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTE4NCBidWlsdGlucy5jOjExOTkKK21zZ2lkICIiCisiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKKyIgICAgXG4iCisiICAgIFJlYWQgYW5kIGV4ZWN1dGUgY29tbWFuZHMgZnJvbSBGSUxFTkFNRSBpbiB0aGUgY3VycmVudCBzaGVsbC4gIFRoZVxuIgorIiAgICBlbnRyaWVzIGluICRQQVRIIGFyZSB1c2VkIHRvIGZpbmQgdGhlIGRpcmVjdG9yeSBjb250YWluaW5nIEZJTEVOQU1FLlxuIgorIiAgICBJZiBhbnkgQVJHVU1FTlRTIGFyZSBzdXBwbGllZCwgdGhleSBiZWNvbWUgdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVyc1xuIgorIiAgICB3aGVuIEZJTEVOQU1FIGlzIGV4ZWN1dGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkIGluIEZJTEVOQU1FOyBmYWlscyBpZlxuIgorIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCittc2dzdHIgIiIKKyLlnKjlvZPliY0gc2hlbGwg5Lit5omn6KGM5LiA5Liq5paH5Lu25Lit55qE5ZG95Luk44CCXG4iCisiICAgIFxuIgorIiAgICDlnKjlvZPliY0gc2hlbGwg5Lit6K+75Y+W5bm25omn6KGMIEZJTEVOQU1FIOaWh+S7tuS4reeahOWRveS7pOOAgiRQQVRIIOWPmOmHj+S4reeahFxuIgorIiAgICDmnaHnm67ooqvnlKjkuo7lr7vmib7ljIXlkKsgRklMRU5BTUUg5paH5Lu255qE55uu5b2V44CC5aaC5p6c5o+Q5L6b5LqG5Lu75L2V55qEIEFSR1VNRU5UU1xuIgorIiAgICDlj4LmlbDvvIzliJnlroPku6zlsIbmiJDkuLogRklMRU5BTUUg5paH5Lu25omn6KGM5pe255qE5L2N572u5Y+C5pWw44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6L+U5ZueIEZJTEVOQU1FIOaWh+S7tuS4reacgOWQjuS4gOS4quWRveS7pOeahOeKtuaAge+8m+WmguaenCBGSUxFTkFNRSDmlofku7bkuI3lj6/or7vliJnlpLHotKXjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTIxNQorbXNnaWQgIiIKKyJTdXNwZW5kIHNoZWxsIGV4ZWN1dGlvbi5cbiIKKyIgICAgXG4iCisiICAgIFN1c3BlbmQgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHNoZWxsIHVudGlsIGl0IHJlY2VpdmVzIGEgU0lHQ09OVCBzaWduYWwuXG4iCisiICAgIFVubGVzcyBmb3JjZWQsIGxvZ2luIHNoZWxscyBjYW5ub3QgYmUgc3VzcGVuZGVkLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgICAtZlx0Zm9yY2UgdGhlIHN1c3BlbmQsIGV2ZW4gaWYgdGhlIHNoZWxsIGlzIGEgbG9naW4gc2hlbGxcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLmjILotbcgc2hlbGwg5omn6KGM44CCXG4iCisiICAgIFxuIgorIiAgICDmjILotbcgc2hlbGwg55qE5omn6KGM55u05Yiw5pS25YiwIFNJR0NPTlQg5L+h5Y+344CCXG4iCisiICAgIOeZu+W9lSBzaGVsbCDkuI3lj6/ku6XooqvmjILotbfvvIzpmaTpnZ7lvLrliLbmiafooYzjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1mXHTlvLrliLbmjILotbfvvIzljbPkvb/mmK/nmbvlvZUgc2hlbGzjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57miJDlip/vvIzpmaTpnZ7msqHmnInlkK/nlKjku7vliqHmjqfliLbmiJbogIXmnInplJnor6/lj5HnlJ/jgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTIzMQorIywgZnV6enkKK21zZ2lkICIiCisiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgorIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCisiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgorIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycyBhcyB3ZWxsLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGJlaGF2aW9yIG9mIHRlc3QgZGVwZW5kcyBvbiB0aGUgbnVtYmVyIG9mIGFyZ3VtZW50cy4gIFJlYWQgdGhlXG4iCisiICAgIGJhc2ggbWFudWFsIHBhZ2UgZm9yIHRoZSBjb21wbGV0ZSBzcGVjaWZpY2F0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgRmlsZSBvcGVyYXRvcnM6XG4iCisiICAgIFxuIgorIiAgICAgIC1hIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMuXG4iCisiICAgICAgLWIgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGJsb2NrIHNwZWNpYWwuXG4iCisiICAgICAgLWMgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGNoYXJhY3RlciBzcGVjaWFsLlxuIgorIiAgICAgIC1kIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBhIGRpcmVjdG9yeS5cbiIKKyIgICAgICAtZSBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgZXhpc3RzLlxuIgorIiAgICAgIC1mIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMgYW5kIGlzIGEgcmVndWxhciBmaWxlLlxuIgorIiAgICAgIC1nIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBpcyBzZXQtZ3JvdXAtaWQuXG4iCisiICAgICAgLWggRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgc3ltYm9saWMgbGluay5cbiIKKyIgICAgICAtTCBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBzeW1ib2xpYyBsaW5rLlxuIgorIiAgICAgIC1rIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBoYXMgaXRzIGBzdGlja3knIGJpdCBzZXQuXG4iCisiICAgICAgLXAgRklMRSAgICAgICAgVHJ1ZSBpZiBmaWxlIGlzIGEgbmFtZWQgcGlwZS5cbiIKKyIgICAgICAtciBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgcmVhZGFibGUgYnkgeW91LlxuIgorIiAgICAgIC1zIEZJTEUgICAgICAgIFRydWUgaWYgZmlsZSBleGlzdHMgYW5kIGlzIG5vdCBlbXB0eS5cbiIKKyIgICAgICAtUyBGSUxFICAgICAgICBUcnVlIGlmIGZpbGUgaXMgYSBzb2NrZXQuXG4iCisiICAgICAgLXQgRkQgICAgICAgICAgVHJ1ZSBpZiBGRCBpcyBvcGVuZWQgb24gYSB0ZXJtaW5hbC5cbiIKKyIgICAgICAtdSBGSUxFICAgICAgICBUcnVlIGlmIHRoZSBmaWxlIGlzIHNldC11c2VyLWlkLlxuIgorIiAgICAgIC13IEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgd3JpdGFibGUgYnkgeW91LlxuIgorIiAgICAgIC14IEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaXMgZXhlY3V0YWJsZSBieSB5b3UuXG4iCisiICAgICAgLU8gRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBlZmZlY3RpdmVseSBvd25lZCBieSB5b3UuXG4iCisiICAgICAgLUcgRklMRSAgICAgICAgVHJ1ZSBpZiB0aGUgZmlsZSBpcyBlZmZlY3RpdmVseSBvd25lZCBieSB5b3VyIGdyb3VwLlxuIgorIiAgICAgIC1OIEZJTEUgICAgICAgIFRydWUgaWYgdGhlIGZpbGUgaGFzIGJlZW4gbW9kaWZpZWQgc2luY2UgaXQgd2FzIGxhc3QgIgorInJlYWQuXG4iCisiICAgIFxuIgorIiAgICAgIEZJTEUxIC1udCBGSUxFMiAgVHJ1ZSBpZiBmaWxlMSBpcyBuZXdlciB0aGFuIGZpbGUyIChhY2NvcmRpbmcgdG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWNhdGlvbiBkYXRlKS5cbiIKKyIgICAgXG4iCisiICAgICAgRklMRTEgLW90IEZJTEUyICBUcnVlIGlmIGZpbGUxIGlzIG9sZGVyIHRoYW4gZmlsZTIuXG4iCisiICAgIFxuIgorIiAgICAgIEZJTEUxIC1lZiBGSUxFMiAgVHJ1ZSBpZiBmaWxlMSBpcyBhIGhhcmQgbGluayB0byBmaWxlMi5cbiIKKyIgICAgXG4iCisiICAgIFN0cmluZyBvcGVyYXRvcnM6XG4iCisiICAgIFxuIgorIiAgICAgIC16IFNUUklORyAgICAgIFRydWUgaWYgc3RyaW5nIGlzIGVtcHR5LlxuIgorIiAgICBcbiIKKyIgICAgICAtbiBTVFJJTkdcbiIKKyIgICAgICAgICBTVFJJTkcgICAgICBUcnVlIGlmIHN0cmluZyBpcyBub3QgZW1wdHkuXG4iCisiICAgIFxuIgorIiAgICAgIFNUUklORzEgPSBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgZXF1YWwuXG4iCisiICAgICAgU1RSSU5HMSAhPSBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiB0aGUgc3RyaW5ncyBhcmUgbm90IGVxdWFsLlxuIgorIiAgICAgIFNUUklORzEgPCBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAgVHJ1ZSBpZiBTVFJJTkcxIHNvcnRzIGJlZm9yZSBTVFJJTkcyICIKKyJsZXhpY29ncmFwaGljYWxseS5cbiIKKyIgICAgICBTVFJJTkcxID4gU1RSSU5HMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIFRydWUgaWYgU1RSSU5HMSBzb3J0cyBhZnRlciBTVFJJTkcyIGxleGljb2dyYXBoaWNhbGx5LlxuIgorIiAgICBcbiIKKyIgICAgT3RoZXIgb3BlcmF0b3JzOlxuIgorIiAgICBcbiIKKyIgICAgICAtbyBPUFRJT04gICAgICBUcnVlIGlmIHRoZSBzaGVsbCBvcHRpb24gT1BUSU9OIGlzIGVuYWJsZWQuXG4iCisiICAgICAgLXYgVkFSXHQgVHJ1ZSBpZiB0aGUgc2hlbGwgdmFyaWFibGUgVkFSIGlzIHNldFxuIgorIiAgICAgICEgRVhQUiAgICAgICAgIFRydWUgaWYgZXhwciBpcyBmYWxzZS5cbiIKKyIgICAgICBFWFBSMSAtYSBFWFBSMiBUcnVlIGlmIGJvdGggZXhwcjEgQU5EIGV4cHIyIGFyZSB0cnVlLlxuIgorIiAgICAgIEVYUFIxIC1vIEVYUFIyIFRydWUgaWYgZWl0aGVyIGV4cHIxIE9SIGV4cHIyIGlzIHRydWUuXG4iCisiICAgIFxuIgorIiAgICAgIGFyZzEgT1AgYXJnMiAgIEFyaXRobWV0aWMgdGVzdHMuICBPUCBpcyBvbmUgb2YgLWVxLCAtbmUsXG4iCisiICAgICAgICAgICAgICAgICAgICAgLWx0LCAtbGUsIC1ndCwgb3IgLWdlLlxuIgorIiAgICBcbiIKKyIgICAgQXJpdGhtZXRpYyBiaW5hcnkgb3BlcmF0b3JzIHJldHVybiB0cnVlIGlmIEFSRzEgaXMgZXF1YWwsIG5vdC1lcXVhbCxcbiIKKyIgICAgbGVzcy10aGFuLCBsZXNzLXRoYW4tb3ItZXF1YWwsIGdyZWF0ZXItdGhhbiwgb3IgZ3JlYXRlci10aGFuLW9yLWVxdWFsXG4iCisiICAgIHRoYW4gQVJHMi5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgaWYgRVhQUiBldmFsdWF0ZXMgdG8gdHJ1ZTsgZmFpbHMgaWYgRVhQUiBldmFsdWF0ZXMgdG9cbiIKKyIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCittc2dzdHIgIiIKKyLlr7nmnaHku7booajovr7lvI/ov5vooYzkvLDlgLzjgIJcbiIKKyIgICAgXG4iCisiICAgIOagueaNriBFWFBSIOihqOi+vuW8j+eahOS8sOWAvOS7peeKtuaAgTDvvIjnnJ/vvInmiJYx77yI5Lyq77yJ6YCA5Ye644CCXG4iCisiICAgIOihqOi+vuW8j+WPr+S7peaYr+S4gOWFg+aIluiAheS6jOWFg+eahOOAguS4gOWFg+ihqOi+vuW8j+mAmuW4uOeUqOS6juajgOa1i1xuIgorIiAgICDmlofku7bnirbmgIHjgILlkIzml7bov5jmnInlrZfnrKbkuLLmk43kvZznrKblkozmlbDlrZfmr5TovoPmk43kvZznrKbjgIJcbiIKKyIgICAgXG4iCisiICAgIOaWh+S7tuaTjeS9nOespu+8mlxuIgorIiAgICBcbiIKKyIgICAgICAtYSDmlofku7YgICAgICAgIOWmguaenOaWh+S7tuWtmOWcqOWImeS4uuecn+OAglxuIgorIiAgICAgIC1iIOaWh+S7tiAgICAgICAg5aaC5p6c5paH5Lu25Li65Z2X54m55q6K5paH5Lu25YiZ5Li655yf44CCXG4iCisiICAgICAgLWMg5paH5Lu2ICAgICAgICDlpoLmnpzmlofku7bkuLrlrZfnrKbnibnmrormlofku7bliJnkuLrnnJ/jgIJcbiIKKyIgICAgICAtZCDmlofku7YgICAgICAgIOWmguaenOaWh+S7tuS4uuebruW9leWImeS4uuecn+OAglxuIgorIiAgICAgIC1lIOaWh+S7tiAgICAgICAg5aaC5p6c5paH5Lu25a2Y5Zyo5YiZ5Li655yf44CCXG4iCisiICAgICAgLWYg5paH5Lu2ICAgICAgICDlpoLmnpzmlofku7blrZjlnKjkuJTkuLrluLjop4Tmlofku7bliJnkuLrnnJ/jgIJcbiIKKyIgICAgICAtZyDmlofku7YgICAgICAgIOWmguaenOaWh+S7tueahOe7hOWxnuaAp+iuvue9ruaJk+W8gOWImeS4uuecn+OAglxuIgorIiAgICAgIC1oIOaWh+S7tiAgICAgICAg5aaC5p6c5paH5Lu25Li656ym5Y+36ZO+5o6l5YiZ5Li655yf44CCXG4iCisiICAgICAgLUwg5paH5Lu2ICAgICAgICDlpoLmnpzmlofku7bkuLrnrKblj7fpk77mjqXliJnkuLrnnJ/jgIJcbiIKKyIgICAgICAtayDmlofku7YgICAgICAgIOWmguaenOaWh+S7tueahOeymOa7nuS9jeiuvuWumuWImeS4uuecn+OAglxuIgorIiAgICAgIC1wIOaWh+S7tiAgICAgICAg5aaC5p6c5paH5Lu25Li65ZG95ZCN566h6YGT5YiZ5Li655yf44CCXG4iCisiICAgICAgLXIg5paH5Lu2ICAgICAgICDlpoLmnpzmlofku7blr7nkuo7mgqjmmK/lj6/or7vnmoTliJnkuLrnnJ/jgIJcbiIKKyIgICAgICAtcyDmlofku7YgICAgICAgIOWmguaenOaWh+S7tuWtmOWcqOS4lOS4jeS4uuepuuWImeS4uuecn+OAglxuIgorIiAgICAgIC1TIOaWh+S7tiAgICAgICAg5aaC5p6c5paH5Lu25piv5aWX5o6l5a2X5YiZ5Li655yf44CCXG4iCisiICAgICAgLXQg5paH5Lu25o+P6L+w56ymICAgICAgICAgIOWmguaenOaWh+S7tuaPj+i/sOespuWcqOS4gOS4que7iOerr+S4iuaJk+W8gOWImeS4uuecn+OAglxuIgorIiAgICAgIC11IOaWh+S7tiAgICAgICAg5aaC5p6c5paH5Lu255qE55So5oi35pWw6KGM6K6+572u5omT5byA5YiZ5Li655yf44CCXG4iCisiICAgICAgLXcg5paH5Lu2ICAgICAgICDlpoLmnpzmlofku7blr7nmgqjmmK/lj6/lhpnnmoTliJnkuLrnnJ9cbiIKKyIgICAgICAteCDmlofku7YgICAgICAgIOWmguaenOaWh+S7tuWvueaCqOaYr+WPr+aJp+ihjOeahOWImeS4uuecn+OAglxuIgorIiAgICAgIC1PIOaWh+S7tiAgICAgICAg5aaC5p6c5paH5Lu25piv6KKr5oKo5omA5pyJ55qE5YiZ5Li655yf44CCXG4iCisiICAgICAgLUcg5paH5Lu2ICAgICAgICDlpoLmnpzmlofku7booqvmgqjnmoTnu4TmiYDmnInliJnkuLrnnJ/jgIJcbiIKKyIgICAgICAtTiDmlofku7YgICAgICAgIOWmguaenOaWh+S7tuS4iuasoeiiq+ivu+WPluS5i+WQjuS/ruaUuei/h+WImeS4uuecn+OAglxuIgorIiAgICBcbiIKKyIgICAgICBGSUxFMSAtbnQgRklMRTIgIOWmguaenCBmaWxlMSDmlofku7bmlrDkuo4gZmlsZTIg5paH5Lu25YiZ5Li655yf77yI5qC55o2uXG4iCisiICAgICAgICAgICAgICAgICAgICAgICDkv67mlLnml6XmnJ/vvInjgIJcbiIKKyIgICAgXG4iCisiICAgICAgRklMRTEgLW90IEZJTEUyICDlpoLmnpwgZmlsZTEg5paH5Lu25pen5LqOIGZpbGUyIOaWh+S7tuWImeS4uuecn+OAglxuIgorIiAgICBcbiIKKyIgICAgICBGSUxFMSAtZWYgRklMRTIgIOWmguaenCBmaWxlMSDmlofku7bmmK8gZmlsZTIg5paH5Lu255qE56Gs6ZO+5o6l5YiZ5Li655yf44CCXG4iCisiICAgIFxuIgorIiAgICDlrZfnrKbkuLLmk43kvZznrKZcbiIKKyIgICAgXG4iCisiICAgICAgLXog5a2X56ym5LiyICAgICAg5aaC5p6c5a2X56ym5Liy5Li656m65YiZ5Li655yf44CCXG4iCisiICAgIFxuIgorIiAgICAgIC1uIOWtl+espuS4slxuIgorIiAgICAgICAgIOWtl+espuS4siAgICAgIOWmguaenOWtl+espuS4suS4jeS4uuepuuWImeS4uuecn+OAglxuIgorIiAgICBcbiIKKyIgICAgICBTVFJJTkcxID0gU1RSSU5HMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIOWmguaenCBzdHJpbmcxIOWSjCBzdHJpbmcyIOWtl+espuS4suebuOWQjOWImeS4uuecn+OAglxuIgorIiAgICAgIFNUUklORzEgIT0gU1RSSU5HMlxuIgorIiAgICAgICAgICAgICAgICAgICAgIOWmguaenCBzdHJpbmcxIOWSjCBzdHJpbmcyIOWtl+espuS4suS4jeebuOWQjOWImeS4uuecn+OAglxuIgorIiAgICAgIFNUUklORzEgPCBTVFJJTkcyXG4iCisiICAgICAgICAgICAgICAgICAgICAg5aaC5p6c5oyJ5a2X5YW45o6S5bqPIHN0cmluZzEg5ZyoIHN0cmluZzIg5Liy5LmL5YmN5YiZ5Li655yf44CCXG4iCisiICAgICAgU1RSSU5HMSA+IFNUUklORzJcbiIKKyIgICAgICAgICAgICAgICAgICAgICDlpoLmnpzmjInlrZflhbjmjpLluo8gc3RyaW5nMSDlnKggc3RyaW5nMiDkuLLkuYvliY3liJnkuLrnnJ/jgIJcbiIKKyIgICAgXG4iCisiICAgIOWFtuS7luaTjeS9nOespu+8mlxuIgorIiAgICBcbiIKKyIgICAgICAtbyDpgInpobkgICAgICDlpoLmnpzmjIflrpogc2hlbGwg6YCJ6aG55ZCv55So5YiZ5Li655yf44CCXG4iCisiICAgICAgISBFWFBSICAgICAgICDlpoLmnpzooajovr7lvI8gZXhwciDkuLrlgYfliJnkuLrnnJ/jgIJcbiIKKyIgICAgICBFWFBSMSAtYSBFWFBSMiDlpoLmnpwgZXhwcjEg5ZKMIGV4cHIyIOmDveS4uuecn+WImeS4uuecn+OAglxuIgorIiAgICAgIEVYUFIxIC1vIEVYUFIyIOWmguaenCBleHByMSDlkowgZXhwcjIg5pyJ5LiA5Liq5Li655yf5YiZ5Li655yf44CCXG4iCisiICAgIFxuIgorIiAgICAgIGFyZzEgT1AgYXJnMiAgIOeul+aVsOa1i+ivleOAgk9Q5pON5L2c56ym5Y+v5Lul5pivIC1lceOAgS1uZeOAgVxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1sdOOAgS1sZeOAgS1ndOOAgeaIliAtZ2Ug5Lit55qE5LiA5Liq44CCXG4iCisiICAgIFxuIgorIiAgICDkuozlhYPnrpfmlbDmk43kvZzov5Tlm57nnJ/vvIzlpoLmnpwgQVJHMSDlj4LmlbDnrYnkuo7jgIHkuI3nrYnkuo7jgIFcbiIKKyIgICAg5bCP5LqO44CB5bCP5LqO562J5LqO44CB5aSn5LqO44CB5oiW6ICF5aSn5LqO562J5LqOIEFSRzIg5Y+C5pWw44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg5aaC5p6cIEVYUFIg6KGo6L6+5byP5Lyw5YC85Li655yf5YiZ6L+U5Zue5oiQ5Yqf77yb5aaC5p6cIEVYUFIg6KGo6L6+5byP5Lyw5YC8XG4iCisiICAgIOS4uuWBh+aIluiAheS9v+eUqOS6huaXoOaViOeahOWPguaVsOWImei/lOWbnuWksei0peOAgiIKKworIzogYnVpbHRpbnMuYzoxMzExCittc2dpZCAiIgorIkV2YWx1YXRlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4iCisiICAgIFxuIgorIiAgICBUaGlzIGlzIGEgc3lub255bSBmb3IgdGhlIFwidGVzdFwiIGJ1aWx0aW4sIGJ1dCB0aGUgbGFzdCBhcmd1bWVudCBtdXN0XG4iCisiICAgIGJlIGEgbGl0ZXJhbCBgXScsIHRvIG1hdGNoIHRoZSBvcGVuaW5nIGBbJy4iCittc2dzdHIgIiIKKyLkvLDlgLzmnaHku7booajovr7lvI/jgIJcbiIKKyIgICAgXG4iCisiICAgIOaYr+WGheW1jOWRveS7pCBcInRlc3RcIiDnmoTlkIzkuYnor43vvIzkvYbmmK/mnIDlkI7kuIDkuKrlj4LmlbDlv4XpobvmmK9cbiIKKyIgICAg5a2X56ymIGBdJ++8jOS7peWMuemFjei1t+Wni+eahCBgWyfjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTMyMAorbXNnaWQgIiIKKyJEaXNwbGF5IHByb2Nlc3MgdGltZXMuXG4iCisiICAgIFxuIgorIiAgICBQcmludHMgdGhlIGFjY3VtdWxhdGVkIHVzZXIgYW5kIHN5c3RlbSB0aW1lcyBmb3IgdGhlIHNoZWxsIGFuZCBhbGwgb2YgIgorIml0c1xuIgorIiAgICBjaGlsZCBwcm9jZXNzZXMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgQWx3YXlzIHN1Y2NlZWRzLiIKK21zZ3N0ciAiIgorIuaYvuekuui/m+eoi+aXtumXtFxuIgorIiAgICBcbiIKKyIgICAg5omT5Y2wIHNoZWxsIOWPiuWFtuaJgOacieWtkOi/m+eoi+eahOe0r+iuoeeUqOaIt+epuumXtOWSjFxuIgorIiAgICDns7vnu5/nqbrpl7TmiafooYzml7bpl7TjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAgVxuIgorIiAgICDmgLvmmK/miJDlip/jgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTMzMgorIywgZnV6enkKK21zZ2lkICIiCisiVHJhcCBzaWduYWxzIGFuZCBvdGhlciBldmVudHMuXG4iCisiICAgIFxuIgorIiAgICBEZWZpbmVzIGFuZCBhY3RpdmF0ZXMgaGFuZGxlcnMgdG8gYmUgcnVuIHdoZW4gdGhlIHNoZWxsIHJlY2VpdmVzICIKKyJzaWduYWxzXG4iCisiICAgIG9yIG90aGVyIGNvbmRpdGlvbnMuXG4iCisiICAgIFxuIgorIiAgICBBUkcgaXMgYSBjb21tYW5kIHRvIGJlIHJlYWQgYW5kIGV4ZWN1dGVkIHdoZW4gdGhlIHNoZWxsIHJlY2VpdmVzIHRoZVxuIgorIiAgICBzaWduYWwocykgU0lHTkFMX1NQRUMuICBJZiBBUkcgaXMgYWJzZW50IChhbmQgYSBzaW5nbGUgU0lHTkFMX1NQRUNcbiIKKyIgICAgaXMgc3VwcGxpZWQpIG9yIGAtJywgZWFjaCBzcGVjaWZpZWQgc2lnbmFsIGlzIHJlc2V0IHRvIGl0cyBvcmlnaW5hbFxuIgorIiAgICB2YWx1ZS4gIElmIEFSRyBpcyB0aGUgbnVsbCBzdHJpbmcgZWFjaCBTSUdOQUxfU1BFQyBpcyBpZ25vcmVkIGJ5IHRoZVxuIgorIiAgICBzaGVsbCBhbmQgYnkgdGhlIGNvbW1hbmRzIGl0IGludm9rZXMuXG4iCisiICAgIFxuIgorIiAgICBJZiBhIFNJR05BTF9TUEVDIGlzIEVYSVQgKDApIEFSRyBpcyBleGVjdXRlZCBvbiBleGl0IGZyb20gdGhlIHNoZWxsLiAgIgorIklmXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgREVCVUcsIEFSRyBpcyBleGVjdXRlZCBiZWZvcmUgZXZlcnkgc2ltcGxlIGNvbW1hbmQuICAiCisiSWZcbiIKKyIgICAgYSBTSUdOQUxfU1BFQyBpcyBSRVRVUk4sIEFSRyBpcyBleGVjdXRlZCBlYWNoIHRpbWUgYSBzaGVsbCBmdW5jdGlvbiBvciAiCisiYVxuIgorIiAgICBzY3JpcHQgcnVuIGJ5IHRoZSAuIG9yIHNvdXJjZSBidWlsdGlucyBmaW5pc2hlcyBleGVjdXRpbmcuICBBICIKKyJTSUdOQUxfU1BFQ1xuIgorIiAgICBvZiBFUlIgbWVhbnMgdG8gZXhlY3V0ZSBBUkcgZWFjaCB0aW1lIGEgY29tbWFuZCdzIGZhaWx1cmUgd291bGQgY2F1c2UgIgorInRoZVxuIgorIiAgICBzaGVsbCB0byBleGl0IHdoZW4gdGhlIC1lIG9wdGlvbiBpcyBlbmFibGVkLlxuIgorIiAgICBcbiIKKyIgICAgSWYgbm8gYXJndW1lbnRzIGFyZSBzdXBwbGllZCwgdHJhcCBwcmludHMgdGhlIGxpc3Qgb2YgY29tbWFuZHMgIgorImFzc29jaWF0ZWRcbiIKKyIgICAgd2l0aCBlYWNoIHNpZ25hbC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWxcdHByaW50IGEgbGlzdCBvZiBzaWduYWwgbmFtZXMgYW5kIHRoZWlyIGNvcnJlc3BvbmRpbmcgbnVtYmVyc1xuIgorIiAgICAgIC1wXHRkaXNwbGF5IHRoZSB0cmFwIGNvbW1hbmRzIGFzc29jaWF0ZWQgd2l0aCBlYWNoIFNJR05BTF9TUEVDXG4iCisiICAgIFxuIgorIiAgICBFYWNoIFNJR05BTF9TUEVDIGlzIGVpdGhlciBhIHNpZ25hbCBuYW1lIGluIDxzaWduYWwuaD4gb3IgYSBzaWduYWwgIgorIm51bWJlci5cbiIKKyIgICAgU2lnbmFsIG5hbWVzIGFyZSBjYXNlIGluc2Vuc2l0aXZlIGFuZCB0aGUgU0lHIHByZWZpeCBpcyBvcHRpb25hbC4gIEFcbiIKKyIgICAgc2lnbmFsIG1heSBiZSBzZW50IHRvIHRoZSBzaGVsbCB3aXRoIFwia2lsbCAtc2lnbmFsICQkXCIuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIFNJR1NQRUMgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyAiCisiZ2l2ZW4uIgorbXNnc3RyICIiCisi5a+55L+h5Y+35ZKM5YW25LuW5LqL5Lu26K6+6Zm36Zix44CCXG4iCisiICAgIFxuIgorIiAgICDlrprkuYnkuIDkuKrlpITnkIblmajvvIzlnKggc2hlbGwg5o6l5pS25Yiw5L+h5Y+35ZKM5YW25LuW5p2h5Lu25LiL5omn6KGM44CCXG4iCisiICAgIFxuIgorIiAgICBBUkcg5Y+C5pWw5piv5b2TIHNoZWxsIOaOpeaUtuWIsCBTSUdOQUxfU1BFQyDkv6Hlj7fml7bor7vlj5blkozmiafooYznmoTlkb3ku6TjgIJcbiIKKyIgICAg5aaC5p6c5rKh5pyJ5oyH5a6aIEFSRyDlj4LmlbDvvIjlubbkuJTlj6rnu5nlh7rkuIDkuKogU0lHTkFMX1NQRUMg5L+h5Y+377yJ5oiW6ICFXG4iCisiICAgIOaIluiAhSBBUkcg5Y+C5pWw5Li6IGAtJ++8jOavj+S4gOS4quaMh+WumueahOWPguaVsOS8muiiq+mHjee9ruS4uuWOn+Wni+WAvOOAguWmguaenCBBUkcg5Y+C5pWwXG4iCisiICAgIOaYr+S4gOS4quepuuS4su+8jOWImeavj+S4gOS4qiBTSUdOQUxfU1BFQyDkv6Hlj7fkvJrooqsgc2hlbGwg5ZKM5a6D5ZCv5Yqo55qE5ZG95Luk5b+955Wl44CCXG4iCisiICAgIFxuIgorIiAgICDlpoLmnpzkuIDkuKogU0lHTkFMX1NQRUMg5L+h5Y+35piv4oCc6YCA5Ye64oCdICgwKSDvvIzliJkgQVJHIOWRveS7pOS8muWcqCBzaGVsbCDpgIDlh7rml7booqtcbiIKKyIgICAg5omn6KGM44CC5aaC5p6c5LiA5LiqIFNJR05BTF9TUEVDIOS/oeWPt+aYr+KAnOiwg+ivleKAnO+8jOWImSBBUkflkb3ku6TkvJrlnKjmr4/kuIDkuKrnroDljZXlkb1cbiIKKyIgICAg5Luk5LmL5YmN5omn6KGM44CCXG4iCisiICAgIFxuIgorIiAgICDlpoLmnpzkuI3mj5Dkvpvlj4LmlbDvvIx0cmFwIOaJk+WNsOWIl+ihqOaYvuekuuavj+S4gOS4quS4juavj+S4gOS4quS/oeWPt+ebuOWFs+iBlOeahFxuIgorIiAgICDlkb3ku6TjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1sXHTmiZPljbDkuIDkuKrkv6Hlj7flkI3np7DlkozlroPku6zlr7nlupTnmoTnvJblj7fnmoTliJfooahcbiIKKyIgICAgICAtcFx05omT5Y2w5LiO5q+P5LiqIFNJR05BTF9TUEVDIOS/oeWPt+ebuOWFs+iBlOeahOmZt+mYseWRveS7pFxuIgorIiAgICBcbiIKKyIgICAg5q+P5LiA5LiqIFNJR05BTF9TUEVDIOS/oeWPt+WPr+S7peaYryA8c2lnbmFsLmg+IOS4reeahOS/oeWPt+WQjeensOaIluiAhVxuIgorIiAgICDkv6Hlj7fnvJblj7fjgILkv6Hlj7flkI3np7DlpKflsI/lhpnmlY/mhJ/kuJTlj6/ku6Xkvb/nlKggU0lHIOWJjee8gOOAguS/oeWPt+WPr+S7peeUqFxuIgorIiAgICBcImtpbGwgLXNpZ25hbCAkJFwiIOWPkemAgee7mSBzaGVsbOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOmZpOmdnuS9v+eUqOS6huaXoOaViOeahOmAiemhueaIluiAhSBTSUdTUEVD44CCIgorCisjOiBidWlsdGlucy5jOjEzNjgKK21zZ2lkICIiCisiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kIHR5cGUuXG4iCisiICAgIFxuIgorIiAgICBGb3IgZWFjaCBOQU1FLCBpbmRpY2F0ZSBob3cgaXQgd291bGQgYmUgaW50ZXJwcmV0ZWQgaWYgdXNlZCBhcyBhXG4iCisiICAgIGNvbW1hbmQgbmFtZS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLWFcdGRpc3BsYXkgYWxsIGxvY2F0aW9ucyBjb250YWluaW5nIGFuIGV4ZWN1dGFibGUgbmFtZWQgTkFNRTtcbiIKKyIgICAgXHRpbmNsdWRlcyBhbGlhc2VzLCBidWlsdGlucywgYW5kIGZ1bmN0aW9ucywgaWYgYW5kIG9ubHkgaWZcbiIKKyIgICAgXHR0aGUgYC1wJyBvcHRpb24gaXMgbm90IGFsc28gdXNlZFxuIgorIiAgICAgIC1mXHRzdXBwcmVzcyBzaGVsbCBmdW5jdGlvbiBsb29rdXBcbiIKKyIgICAgICAtUFx0Zm9yY2UgYSBQQVRIIHNlYXJjaCBmb3IgZWFjaCBOQU1FLCBldmVuIGlmIGl0IGlzIGFuIGFsaWFzLFxuIgorIiAgICBcdGJ1aWx0aW4sIG9yIGZ1bmN0aW9uLCBhbmQgcmV0dXJucyB0aGUgbmFtZSBvZiB0aGUgZGlzayBmaWxlXG4iCisiICAgIFx0dGhhdCB3b3VsZCBiZSBleGVjdXRlZFxuIgorIiAgICAgIC1wXHRyZXR1cm5zIGVpdGhlciB0aGUgbmFtZSBvZiB0aGUgZGlzayBmaWxlIHRoYXQgd291bGQgYmUgZXhlY3V0ZWQsXG4iCisiICAgIFx0b3Igbm90aGluZyBpZiBgdHlwZSAtdCBOQU1FJyB3b3VsZCBub3QgcmV0dXJuIGBmaWxlJy5cbiIKKyIgICAgICAtdFx0b3V0cHV0IGEgc2luZ2xlIHdvcmQgd2hpY2ggaXMgb25lIG9mIGBhbGlhcycsIGBrZXl3b3JkJyxcbiIKKyIgICAgXHRgZnVuY3Rpb24nLCBgYnVpbHRpbicsIGBmaWxlJyBvciBgJywgaWYgTkFNRSBpcyBhbiBhbGlhcywgc2hlbGxcbiIKKyIgICAgXHRyZXNlcnZlZCB3b3JkLCBzaGVsbCBmdW5jdGlvbiwgc2hlbGwgYnVpbHRpbiwgZGlzayBmaWxlLCBvciBub3RcbiIKKyIgICAgXHRmb3VuZCwgcmVzcGVjdGl2ZWx5XG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgTkFNRVx0Q29tbWFuZCBuYW1lIHRvIGJlIGludGVycHJldGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyBpZiBhbGwgb2YgdGhlIE5BTUVzIGFyZSBmb3VuZDsgZmFpbHMgaWYgYW55IGFyZSBub3QgIgorImZvdW5kLiIKK21zZ3N0ciAiIgorIuaYvuekuuWRveS7pOexu+Wei+eahOS/oeaBr+OAglxuIgorIiAgICBcbiIKKyIgICAg5a+55LqO5q+P5LiA5LiqIE5BTUUg5ZCN56ew77yM5oyH56S65aaC5p6c5L2c5Li65ZG95Luk5a6D5bCG5aaC5L2V6KKr6Kej6YeK44CCXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtYVx05pi+56S65omA5pyJ5YyF5ZCr5ZCN56ew5Li6IE5BTUUg55qE5Y+v5omn6KGM5paH5Lu255qE5L2N572u77ybXG4iCisiICAgIFx05YyF5ous5Yir5ZCN44CB5YaF5bWM5ZKM5Ye95pWw44CC5LuF5b2TIGAtcCcg6YCJ6aG55rKh5pyJ5L2/55So5pe2XG4iCisiICAgICAgLWZcdOaKkeWItiBzaGVsbCDlh73mlbDmn6Xor6JcbiIKKyIgICAgICAtUFx05Li65q+P5LiqIE5BTUUg5ZCN56ew5oOK6YaSIFBBVEgg6Lev5b6E5pCc57Si77yM5Y2z5L2/5a6D5piv5Yir5ZCN44CBXG4iCisiICAgIFx05YaF5bWM5oiW5Ye95pWw77yM5bm25LiU6L+U5Zue5bCG6KKr5omn6KGM55qE56OB55uY5LiK5paH5Lu255qE5ZCN56ew44CCXG4iCisiICAgICAgLXBcdOi/lOWbnuWwhuiiq+aJp+ihjOeahOejgeebmOS4iuaWh+S7tueahOWQjeensO+8jOaIluiAheW9kyBgdHlwZSAtdCBOQU1FJ1xuIgorIiAgICBcdOS4jei/lOWbniBgZmlsZScg5pe277yM5LiN6L+U5Zue5Lu75L2V5YC844CCXG4iCisiICAgICAgLXRcdOi/lOWbnuS4i+WIl+ivjeS4reeahOS7u+S9leS4gOS4qmBhbGlhcyfjgIFga2V5d29yZCfjgIFcbiIKKyIgICAgXHRgZnVuY3Rpb24n44CBYGJ1aWx0aW4n44CBYGZpbGUn5oiW6ICFYCfvvIzlpoLmnpwgTkFNRSDmmK/nm7jlupTnmoRcbiIKKyIgICAgXHTkuIDkuKrliKvlkI3jgIFzaGVsbCDkv53nlZnlrZfjgIFzaGVsbCDlh73mlbDjgIFzaGVsbCDlhoXltYzjgIFcbiIKKyIgICAgXHTno4Hnm5jmlofku7bmiJbmsqHmnInmib7liLDjgIJcbiIKKyIgICAgXG4iCisiICAgIOWPguaVsO+8mlxuIgorIiAgICAgIE5BTUVcdOWwhuimgeino+aekOeahOWRveS7pOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOWmguaenOaJgOacieeahCBOQU1FIOWRveS7pOmDveaJvuWIsOWImei/lOWbnuaIkOWKn++8m+S7u+S9leaJvuS4jeWIsOWImeWksei0peOAgiIKKworIzogYnVpbHRpbnMuYzoxMzk5Cittc2dpZCAiIgorIk1vZGlmeSBzaGVsbCByZXNvdXJjZSBsaW1pdHMuXG4iCisiICAgIFxuIgorIiAgICBQcm92aWRlcyBjb250cm9sIG92ZXIgdGhlIHJlc291cmNlcyBhdmFpbGFibGUgdG8gdGhlIHNoZWxsIGFuZCAiCisicHJvY2Vzc2VzXG4iCisiICAgIGl0IGNyZWF0ZXMsIG9uIHN5c3RlbXMgdGhhdCBhbGxvdyBzdWNoIGNvbnRyb2wuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1TXHR1c2UgdGhlIGBzb2Z0JyByZXNvdXJjZSBsaW1pdFxuIgorIiAgICAgIC1IXHR1c2UgdGhlIGBoYXJkJyByZXNvdXJjZSBsaW1pdFxuIgorIiAgICAgIC1hXHRhbGwgY3VycmVudCBsaW1pdHMgYXJlIHJlcG9ydGVkXG4iCisiICAgICAgLWJcdHRoZSBzb2NrZXQgYnVmZmVyIHNpemVcbiIKKyIgICAgICAtY1x0dGhlIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgICAgICAtZFx0dGhlIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgICAgICAtZVx0dGhlIG1heGltdW0gc2NoZWR1bGluZyBwcmlvcml0eSAoYG5pY2UnKVxuIgorIiAgICAgIC1mXHR0aGUgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHNoZWxsIGFuZCBpdHMgY2hpbGRyZW5cbiIKKyIgICAgICAtaVx0dGhlIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAgICAgIC1sXHR0aGUgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAgICAgIC1tXHR0aGUgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAgICAgIC1uXHR0aGUgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlIGRlc2NyaXB0b3JzXG4iCisiICAgICAgLXBcdHRoZSBwaXBlIGJ1ZmZlciBzaXplXG4iCisiICAgICAgLXFcdHRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAgICAgIC1yXHR0aGUgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAgICAgIC1zXHR0aGUgbWF4aW11bSBzdGFjayBzaXplXG4iCisiICAgICAgLXRcdHRoZSBtYXhpbXVtIGFtb3VudCBvZiBjcHUgdGltZSBpbiBzZWNvbmRzXG4iCisiICAgICAgLXVcdHRoZSBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAgICAgIC12XHR0aGUgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAgICAgIC14XHR0aGUgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAgICBcbiIKKyIgICAgSWYgTElNSVQgaXMgZ2l2ZW4sIGl0IGlzIHRoZSBuZXcgdmFsdWUgb2YgdGhlIHNwZWNpZmllZCByZXNvdXJjZTsgdGhlXG4iCisiICAgIHNwZWNpYWwgTElNSVQgdmFsdWVzIGBzb2Z0JywgYGhhcmQnLCBhbmQgYHVubGltaXRlZCcgc3RhbmQgZm9yIHRoZVxuIgorIiAgICBjdXJyZW50IHNvZnQgbGltaXQsIHRoZSBjdXJyZW50IGhhcmQgbGltaXQsIGFuZCBubyBsaW1pdCwgcmVzcGVjdGl2ZWx5LlxuIgorIiAgICBPdGhlcndpc2UsIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBzcGVjaWZpZWQgcmVzb3VyY2UgaXMgcHJpbnRlZC4gIElmXG4iCisiICAgIG5vIG9wdGlvbiBpcyBnaXZlbiwgdGhlbiAtZiBpcyBhc3N1bWVkLlxuIgorIiAgICBcbiIKKyIgICAgVmFsdWVzIGFyZSBpbiAxMDI0LWJ5dGUgaW5jcmVtZW50cywgZXhjZXB0IGZvciAtdCwgd2hpY2ggaXMgaW4gc2Vjb25kcyxcbiIKKyIgICAgLXAsIHdoaWNoIGlzIGluIGluY3JlbWVudHMgb2YgNTEyIGJ5dGVzLCBhbmQgLXUsIHdoaWNoIGlzIGFuIHVuc2NhbGVkXG4iCisiICAgIG51bWJlciBvZiBwcm9jZXNzZXMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgorbXNnc3RyICIiCisi5L+u5pS5IHNoZWxsIOi1hOa6kOmZkOWItuOAglxuIgorIiAgICBcbiIKKyIgICAg5Zyo5YWB6K645q2k57G75o6n5Yi255qE57O757uf5LiK77yM5o+Q5L6b5a+55LqOIHNoZWxsIOWPiuWFtuWIm+W7uueahOi/m+eoi+aJgOWPr+eUqOeahFxuIgorIiAgICDotYTmupDnmoTmjqfliLbjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1TXHTkvb/nlKggYHNvZnQn77yI6L2v77yJ6LWE5rqQ6ZmQ5Yi2XG4iCisiICAgICAgLUhcdOS9v+eUqCBgaGFyZCfvvIjnoazvvInotYTmupDpmZDliLZcbiIKKyIgICAgICAtYVx05omA5pyJ5b2T5YmN6ZmQ5Yi26YO96KKr5oql5ZGKXG4iCisiICAgICAgLWJcdOWll+aOpeWtl+e8k+WtmOWwuuWvuFxuIgorIiAgICAgIC1jXHTliJvlu7rnmoTmoLjmlofku7bnmoTmnIDlpKflsLrlr7hcbiIKKyIgICAgICAtZFx05LiA5Liq6L+b56iL55qE5pWw5o2u5Yy655qE5pyA5aSn5bC65a+4XG4iCisiICAgICAgLWVcdOacgOmrmOeahOiwg+W6puS8mOWFiOe6p++8iGBuaWNlJ++8iVxuIgorIiAgICAgIC1mXHTmnIkgc2hlbGwg5Y+K5YW25a2Q6L+b56iL5Y+v5Lul5YaZ55qE5pyA5aSn5paH5Lu25bC65a+4XG4iCisiICAgICAgLWlcdOacgOWkmueahOWPr+S7peaMgui1t+eahOS/oeWPt+aVsFxuIgorIiAgICAgIC1sXHTkuIDkuKrov5vnqIvlj6/ku6XplIHlrprnmoTmnIDlpKflhoXlrZjlsLrlr7hcbiIKKyIgICAgICAtbVx05pyA5aSn55qE5YaF5a2Y6L+b6am75bC65a+4XG4iCisiICAgICAgLW5cdOacgOWkmueahOaJk+W8gOeahOaWh+S7tuaPj+i/sOespuS4quaVsFxuIgorIiAgICAgIC1wXHTnrqHpgZPnvJPlhrLljLrlsLrlr7hcbiIKKyIgICAgICAtcVx0UE9TSVgg5L+h5oGv6Zif5YiX55qE5pyA5aSn5a2X6IqC5pWwXG4iCisiICAgICAgLXJcdOWunuaXtuiwg+W6pueahOacgOWkp+S8mOWFiOe6p1xuIgorIiAgICAgIC1zXHTmnIDlpKfmoIjlsLrlr7hcbiIKKyIgICAgICAtdFx05pyA5aSn55qEQ1BV5pe26Ze077yM5Lul56eS5Li65Y2V5L2NXG4iCisiICAgICAgLXVcdOacgOWkp+eUqOaIt+i/m+eoi+aVsFxuIgorIiAgICAgIC12XHTomZrmi5/lhoXlrZjlsLrlr7hcbiIKKyIgICAgICAteFx05pyA5aSn55qE6ZSB5pWw6YePXG4iCisiICAgIFxuIgorIiAgICDlpoLmnpzmj5DkvpvkuoYgTElNSVQg5Y+Y6YeP77yM5YiZ5a6D5Li65oyH5a6a6LWE5rqQ55qE5paw55qE5YC877yb54m55Yir55qEIExJTUlUIOWAvOS4ulxuIgorIiAgICBgc29mdCfjgIFgaGFyZCflkoxgdW5saW1pdGVkJ++8jOWIhuWIq+ihqOekuuW9k+WJjeeahOi9r+mZkOWItu+8jOehrOmZkOWItuWSjOaXoOmZkOWItuOAglxuIgorIiAgICDlkKbliJnmiZPljbDmjIflrprotYTmupDnmoTlvZPliY3pmZDliLblgLzvvIzkuI3luKbpgInpobnliJnlgYflrprkuLogLWZcbiIKKyIgICAgXG4iCisiICAgIOWPluWAvOmDveaYrzEwMjTlrZfoioLkuLrljZXkvY3vvIzpmaTkuoYgLXQg5Lul56eS5Li65Y2V5L2N77yMLXAg5LulNTEy5a2X6IqC5Li65Y2V5L2N77yMXG4iCisiICAgIC11IOS7peaXoOiMg+WbtOeahOi/m+eoi+aVsOmHj+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOmZpOmdnuS9v+eUqOS6huaXoOaViOeahOmAiemhueaIluiAhemUmeivr+WPkeeUn+OAgiIKKworIzogYnVpbHRpbnMuYzoxNDQ0Cittc2dpZCAiIgorIkRpc3BsYXkgb3Igc2V0IGZpbGUgbW9kZSBtYXNrLlxuIgorIiAgICBcbiIKKyIgICAgU2V0cyB0aGUgdXNlciBmaWxlLWNyZWF0aW9uIG1hc2sgdG8gTU9ERS4gIElmIE1PREUgaXMgb21pdHRlZCwgcHJpbnRzXG4iCisiICAgIHRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBtYXNrLlxuIgorIiAgICBcbiIKKyIgICAgSWYgTU9ERSBiZWdpbnMgd2l0aCBhIGRpZ2l0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBhbiBvY3RhbCBudW1iZXI7XG4iCisiICAgIG90aGVyd2lzZSBpdCBpcyBhIHN5bWJvbGljIG1vZGUgc3RyaW5nIGxpa2UgdGhhdCBhY2NlcHRlZCBieSBjaG1vZCgxKS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLXBcdGlmIE1PREUgaXMgb21pdHRlZCwgb3V0cHV0IGluIGEgZm9ybSB0aGF0IG1heSBiZSByZXVzZWQgYXMgaW5wdXRcbiIKKyIgICAgICAtU1x0bWFrZXMgdGhlIG91dHB1dCBzeW1ib2xpYzsgb3RoZXJ3aXNlIGFuIG9jdGFsIG51bWJlciBpcyBvdXRwdXRcbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCittc2dzdHIgIiIKKyLmmL7npLrmiJborr7lrprmlofku7bmqKHlvI/mjqnnoIHjgIJcbiIKKyIgICAgXG4iCisiICAgIOiuvuWumueUqOaIt+aWh+S7tuWIm+W7uuaOqeeggeS4uiBNT0RFIOaooeW8j+OAguWmguaenOecgeeVpeS6hiBNT0RF77yM5YiZXG4iCisiICAgIOaJk+WNsOW9k+WJjeaOqeeggeeahOWAvOOAglxuIgorIiAgICBcbiIKKyIgICAg5aaC5p6cTU9ERSDmqKHlvI/ku6XmlbDlrZflvIDlpLTvvIzliJnooqvlvZPkvZzlhavov5vliLbmlbDop6PmnpDvvJvlkKbliJnmmK/kuIDkuKpcbiIKKyIgICAgY2htb2QoMSkg5Y+v5o6l5pS255qE56ym5Y+35qih5byP5Liy44CCXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtcFx05aaC5p6c55yB55WlIE1ET0Ug5qih5byP77yM5Lul5Y+v6YeN55So5Li66L6T5YWl55qE5qC85byP6L6T5YWlXG4iCisiICAgICAgLVNcdOS7peespuWPt+W9ouW8j+i+k+WHuu+8jOWQpuWImeS7peWFq+i/m+WItuaVsOagvOW8j+i+k+WHulxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOmZpOmdnuS9v+eUqOS6huaXoOaViOeahCBNT0RFIOaooeW8j+aIluiAhemAiemhueOAgiIKKworIzogYnVpbHRpbnMuYzoxNDY0Cittc2dpZCAiIgorIldhaXQgZm9yIGpvYiBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCisiICAgIFxuIgorIiAgICBXYWl0cyBmb3IgdGhlIHByb2Nlc3MgaWRlbnRpZmllZCBieSBJRCwgd2hpY2ggbWF5IGJlIGEgcHJvY2VzcyBJRCBvciBhXG4iCisiICAgIGpvYiBzcGVjaWZpY2F0aW9uLCBhbmQgcmVwb3J0cyBpdHMgdGVybWluYXRpb24gc3RhdHVzLiAgSWYgSUQgaXMgbm90XG4iCisiICAgIGdpdmVuLCB3YWl0cyBmb3IgYWxsIGN1cnJlbnRseSBhY3RpdmUgY2hpbGQgcHJvY2Vzc2VzLCBhbmQgdGhlIHJldHVyblxuIgorIiAgICBzdGF0dXMgaXMgemVyby4gIElmIElEIGlzIGEgYSBqb2Igc3BlY2lmaWNhdGlvbiwgd2FpdHMgZm9yIGFsbCAiCisicHJvY2Vzc2VzXG4iCisiICAgIGluIHRoZSBqb2IncyBwaXBlbGluZS5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgSUQ7IGZhaWxzIGlmIElEIGlzIGludmFsaWQgb3IgYW4gaW52YWxpZCBvcHRpb24gIgorImlzXG4iCisiICAgIGdpdmVuLiIKK21zZ3N0ciAiIgorIuetieW+heS7u+WKoeWujOaIkOW5tui/lOWbnumAgOWHuueKtuaAgeOAglxuIgorIiAgICBcbiIKKyIgICAg562J5b6F5LulIElEIOe8luWPt+ivhuWIq+eahOi/m+eoi++8jOWFtuS4rUlEIOWPr+S7peaYr+i/m+eoi+e8luWPt+aIluiAheS7u+WKoeWjsOaYju+8jFxuIgorIiAgICDlubbmiqXlkYrlroPnmoTnu4jmraLnirbmgIHjgILlpoLmnpwgSUQg5rKh5pyJ57uZ5Ye677yM5YiZ562J5b6F5omA5pyJ55qE5b2T5YmN5rS76LeD5a2QXG4iCisiICAgIOi/m+eoi++8jOW5tuS4lOi/lOWbnueKtuaAgeS4uumbtuOAguWmguaenCBJRCDmmK/ku7vliqHlo7DmmI7vvIznrYnlvoXku7vliqHnrqHpgZPkuK3nmoRcbiIKKyIgICAg5omA5pyJ6L+b56iL44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6L+U5ZueIElEIOi/m+eoi+eahOeKtuaAge+8m+WmguaenOS9v+eUqOS6huaXoOaViOeahCBJRCDmiJbogIXpgInpobnliJnlpLHotKXjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTQ4MgorbXNnaWQgIiIKKyJXYWl0IGZvciBwcm9jZXNzIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKKyIgICAgXG4iCisiICAgIFdhaXRzIGZvciB0aGUgc3BlY2lmaWVkIHByb2Nlc3MgYW5kIHJlcG9ydHMgaXRzIHRlcm1pbmF0aW9uIHN0YXR1cy4gIElmXG4iCisiICAgIFBJRCBpcyBub3QgZ2l2ZW4sIGFsbCBjdXJyZW50bHkgYWN0aXZlIGNoaWxkIHByb2Nlc3NlcyBhcmUgd2FpdGVkIGZvcixcbiIKKyIgICAgYW5kIHRoZSByZXR1cm4gY29kZSBpcyB6ZXJvLiAgUElEIG11c3QgYmUgYSBwcm9jZXNzIElELlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiBJRDsgZmFpbHMgaWYgSUQgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiAiCisiaXNcbiIKKyIgICAgZ2l2ZW4uIgorbXNnc3RyICIiCisi562J5b6F6L+b56iL5a6M5oiQ5bm25LiU6L+U5Zue6YCA5Ye654q25oCB44CCXG4iCisiICAgIFxuIgorIiAgICDnrYnlvoXmjIflrprov5vnqIvlubbmiqXlkYrlroPnmoTnu4jmraLnirbmgIHjgILlpoLmnpxcbiIKKyIgICAg5rKh5pyJ5o+Q5L6bUElE77yM5YiZ5b2T5YmN5omA5pyJ55qE5rS76LeD5a2Q6L+b56iL6YO95Lya6KKr562J5b6F77yMXG4iCisiICAgIOW5tuS4lOi/lOWbnueggeS4uumbtuOAglBJROW/hemhu+S4uui/m+eoi+WPt+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnui/m+eoi0lE55qE54q25oCB77yb5aaC5p6cSUTmmK/ml6DmlYjnmoTov5vnqIvlj7fmiJbogIXmjIflrprkuobml6DmlYhcbiIKKyIgICAg55qE6YCJ6aG55YiZ5aSx6LSl44CCIgorCisjOiBidWlsdGlucy5jOjE0OTcKK21zZ2lkICIiCisiRXhlY3V0ZSBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYSBsaXN0LlxuIgorIiAgICBcbiIKKyIgICAgVGhlIGBmb3InIGxvb3AgZXhlY3V0ZXMgYSBzZXF1ZW5jZSBvZiBjb21tYW5kcyBmb3IgZWFjaCBtZW1iZXIgaW4gYVxuIgorIiAgICBsaXN0IG9mIGl0ZW1zLiAgSWYgYGluIFdPUkRTIC4uLjsnIGlzIG5vdCBwcmVzZW50LCB0aGVuIGBpbiBcIiRAXCInIGlzXG4iCisiICAgIGFzc3VtZWQuICBGb3IgZWFjaCBlbGVtZW50IGluIFdPUkRTLCBOQU1FIGlzIHNldCB0byB0aGF0IGVsZW1lbnQsIGFuZFxuIgorIiAgICB0aGUgQ09NTUFORFMgYXJlIGV4ZWN1dGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorIuS4uuWIl+ihqOS4reeahOavj+S4quaIkOWRmOaJp+ihjOWRveS7pOOAglxuIgorIiAgICBcbiIKKyIgICAgYGZvcicg5b6q546v5Li65YiX6KGo5Lit55qE5q+P5Liq5oiQ5ZGY5omn6KGM5LiA57O75YiX55qE5ZG95Luk44CC5aaC5p6c5rKh5pyJXG4iCisiICAgIGBpbiBXT1JEUyAuLi47J+WImeWBh+WumuS9v+eUqCBgaW4gXCIkQFwiJ+OAguWvueS6jiBXT1JEUyDkuK3nmoTmr49cbiIKKyIgICAgIOS4quWFg+e0oO+8jE5BTUUg6KKr6K6+5a6a5Li66K+l5YWD57Sg77yM5bm25LiU5omn6KGMIENPTU1BTkRTIOWRveS7pOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuacgOWQjuaJp+ihjOeahOWRveS7pOeahOeKtuaAgeOAgiIKKworIzogYnVpbHRpbnMuYzoxNTExCittc2dpZCAiIgorIkFyaXRobWV0aWMgZm9yIGxvb3AuXG4iCisiICAgIFxuIgorIiAgICBFcXVpdmFsZW50IHRvXG4iCisiICAgIFx0KCggRVhQMSApKVxuIgorIiAgICBcdHdoaWxlICgoIEVYUDIgKSk7IGRvXG4iCisiICAgIFx0XHRDT01NQU5EU1xuIgorIiAgICBcdFx0KCggRVhQMyApKVxuIgorIiAgICBcdGRvbmVcbiIKKyIgICAgRVhQMSwgRVhQMiwgYW5kIEVYUDMgYXJlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuICBJZiBhbnkgZXhwcmVzc2lvbiBpc1xuIgorIiAgICBvbWl0dGVkLCBpdCBiZWhhdmVzIGFzIGlmIGl0IGV2YWx1YXRlcyB0byAxLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorIueul+acryBmb3Ig5b6q546v44CCXG4iCisiICAgIFxuIgorIiAgICDnrYnku7fkuo5cbiIKKyIgICAgXHQoKCBFWFAxICkpXG4iCisiICAgIFx0d2hpbGUgKCggRVhQMiApKTsgZG9cbiIKKyIgICAgXHRcdENPTU1BTkRTXG4iCisiICAgIFx0XHQoKCBFWFAzICkpXG4iCisiICAgIFx0ZG9uZVxuIgorIiAgICBFWFAx44CBRVhQMiDlkowgRVhQM+mDveaYr+eul+acr+ihqOi+vuW8j+OAguWmguaenOecgeeVpeS7u+S9leihqOi+vuW8j++8jFxuIgorIiAgICDliJnnrYnlkIzkuo7kvb/nlKjkuobkvLDlgLzkuLox55qE6KGo6L6+5byP44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6L+U5Zue5pyA5ZCO5omn6KGM55qE5ZG95Luk55qE54q25oCB44CCIgorCisjOiBidWlsdGlucy5jOjE1MjkKK21zZ2lkICIiCisiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgorIiAgICBcbiIKKyIgICAgVGhlIFdPUkRTIGFyZSBleHBhbmRlZCwgZ2VuZXJhdGluZyBhIGxpc3Qgb2Ygd29yZHMuICBUaGVcbiIKKyIgICAgc2V0IG9mIGV4cGFuZGVkIHdvcmRzIGlzIHByaW50ZWQgb24gdGhlIHN0YW5kYXJkIGVycm9yLCBlYWNoXG4iCisiICAgIHByZWNlZGVkIGJ5IGEgbnVtYmVyLiAgSWYgYGluIFdPUkRTJyBpcyBub3QgcHJlc2VudCwgYGluIFwiJEBcIidcbiIKKyIgICAgaXMgYXNzdW1lZC4gIFRoZSBQUzMgcHJvbXB0IGlzIHRoZW4gZGlzcGxheWVkIGFuZCBhIGxpbmUgcmVhZFxuIgorIiAgICBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dC4gIElmIHRoZSBsaW5lIGNvbnNpc3RzIG9mIHRoZSBudW1iZXJcbiIKKyIgICAgY29ycmVzcG9uZGluZyB0byBvbmUgb2YgdGhlIGRpc3BsYXllZCB3b3JkcywgdGhlbiBOQU1FIGlzIHNldFxuIgorIiAgICB0byB0aGF0IHdvcmQuICBJZiB0aGUgbGluZSBpcyBlbXB0eSwgV09SRFMgYW5kIHRoZSBwcm9tcHQgYXJlXG4iCisiICAgIHJlZGlzcGxheWVkLiAgSWYgRU9GIGlzIHJlYWQsIHRoZSBjb21tYW5kIGNvbXBsZXRlcy4gIEFueSBvdGhlclxuIgorIiAgICB2YWx1ZSByZWFkIGNhdXNlcyBOQU1FIHRvIGJlIHNldCB0byBudWxsLiAgVGhlIGxpbmUgcmVhZCBpcyBzYXZlZFxuIgorIiAgICBpbiB0aGUgdmFyaWFibGUgUkVQTFkuICBDT01NQU5EUyBhcmUgZXhlY3V0ZWQgYWZ0ZXIgZWFjaCBzZWxlY3Rpb25cbiIKKyIgICAgdW50aWwgYSBicmVhayBjb21tYW5kIGlzIGV4ZWN1dGVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorIuS7juWIl+ihqOS4remAieWPluivjeW5tuS4lOaJp+ihjOWRveS7pOOAglxuIgorIiAgICBcbiIKKyIgICAgV09SRFMg5Y+Y6YeP6KKr5bGV5byA77yM55Sf5oiQ5LiA5Liq6K+N55qE5YiX6KGo44CC5bGV5byA55qE6K+N6ZuG5ZCI6KKr5omT5Y2wXG4iCisiICAgIOWcqOagh+WHhumUmeivr+i+k+WHuuiuvuWkh+S4iu+8jOavj+S4quS7peS4gOS4quaVsOWtl+WBmuWJjee8gOOAguWmguaenOayoeaciSBgaW4gV09SRFMnXG4iCisiICAgIOWImeWBh+WumuS9v+eUqGBpbiBcIiRAXCIn44CCUFMz5o+Q56S656ym5Lya6KKr5pi+56S65bm25LiU5LuO5qCH5YeG6L6T5YWl6K+75YWl5LiA6KGMXG4iCisiICAgIOWmguaenOivpeihjOeUseiiq+aYvuekuueahOivjeWvueW6lOeahOaVsOWtl+e7hOaIkO+8jOWImSBOQU1FIOWPmOmHj+iiq+iuvuWumuS4uuebuOW6lFxuIgorIiAgICDnmoTor43jgILlpoLmnpzooYzkuLrnqbrvvIzliJkgV09SRFMg5Y+Y6YeP5ZKM5o+Q56S656ym6KKr6YeN5paw5pi+56S644CC5aaC5p6c6K+75Y+W5LqGXG4iCisiICAgIOaWh+S7tue7k+adn+espu+8jOWImeWRveS7pOWujOaIkOOAguivu+WFpeS7u+S9leWFtuS7lueahOWAvOS8muWvvOiHtCBOQU1FIOWPmOmHj+iiq+iuvuWumlxuIgorIiAgICDkuLrnqbrjgILor7vlhaXnmoTooYzooqvlrZjmlL7lnKjlj5jph48gUkVQTFkg5Lit44CCQ09NTUFORFMg5ZG95Luk5Zyo5q+P5qyh6YCJ5oupXG4iCisiICAgIOS5i+WQjuaJp+ihjOebtOWIsOaJp+ihjOS4gOS4qiBicmVhayDlkb3ku6TjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57mnIDlkI7kuIDkuKrmiafooYznmoTlkb3ku6TnmoTnirbmgIHjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTU1MAorbXNnaWQgIiIKKyJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKKyIgICAgXG4iCisiICAgIEV4ZWN1dGUgUElQRUxJTkUgYW5kIHByaW50IGEgc3VtbWFyeSBvZiB0aGUgcmVhbCB0aW1lLCB1c2VyIENQVSB0aW1lLFxuIgorIiAgICBhbmQgc3lzdGVtIENQVSB0aW1lIHNwZW50IGV4ZWN1dGluZyBQSVBFTElORSB3aGVuIGl0IHRlcm1pbmF0ZXMuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1wXHRwcmludCB0aGUgdGltaW5nIHN1bW1hcnkgaW4gdGhlIHBvcnRhYmxlIFBvc2l4IGZvcm1hdFxuIgorIiAgICBcbiIKKyIgICAgVGhlIHZhbHVlIG9mIHRoZSBUSU1FRk9STUFUIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIG91dHB1dCBmb3JtYXQuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgVGhlIHJldHVybiBzdGF0dXMgaXMgdGhlIHJldHVybiBzdGF0dXMgb2YgUElQRUxJTkUuIgorbXNnc3RyICIiCisi5oql5ZGK566h6YGT5omn6KGM55qE5raI6ICX5pe26Ze044CCXG4iCisiICAgIFxuIgorIiAgICDmiafooYwgUElQRUxJTkUg5bm25LiU5omT5Y2wIFBJUEVMSU5FIOe7iOe7k+aXtuWunumZheaXtumXtOOAgeeUqOaItyBDUFUg5pe26Ze05ZKM57O757ufXG4iCisiICAgIENQVSDml7bpl7TnmoTmgLvnu5PjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1wXHTnlKjlj6/ov4Hnp7vnmoQgUE9TSVgg5qC85byP5omT5Y2w55So5pe25oC757uT44CCXG4iCisiICAgIFxuIgorIiAgICBUSU1FRk9STUFUIOWPmOmHj+eahOWAvOiiq+S9nOS4uui+k+WHuuagvOW8j+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnueKtuaAgeWNs1BJUEVMSU5FIOeahOi/lOWbnueKtuaAgeOAgiIKKworIzogYnVpbHRpbnMuYzoxNTY3Cittc2dpZCAiIgorIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gcGF0dGVybiBtYXRjaGluZy5cbiIKKyIgICAgXG4iCisiICAgIFNlbGVjdGl2ZWx5IGV4ZWN1dGUgQ09NTUFORFMgYmFzZWQgdXBvbiBXT1JEIG1hdGNoaW5nIFBBVFRFUk4uICBUaGVcbiIKKyIgICAgYHwnIGlzIHVzZWQgdG8gc2VwYXJhdGUgbXVsdGlwbGUgcGF0dGVybnMuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisi5Z+65LqO5qih5byP5Yy56YWN5p2l5omn6KGM5ZG95Luk44CCXG4iCisiICAgIFxuIgorIiAgICDln7rkuo4gUEFUVEVSTiDmqKHlvI/ljLnphY3nmoTor40gV09SRO+8jOaciemAieaLqeeahOaJp+ihjCBDT01NQU5EUyDlkb3ku6TjgIJcbiIKKyIgICAgYHwnIOeUqOS6juWIhumalOWkmuS4quaooeW8j+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuacgOWQjuS4gOS4quaJp+ihjOeahOWRveS7pOeahOeKtuaAgeOAgiIKKworIzogYnVpbHRpbnMuYzoxNTc5Cittc2dpZCAiIgorIkV4ZWN1dGUgY29tbWFuZHMgYmFzZWQgb24gY29uZGl0aW9uYWwuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYGlmIENPTU1BTkRTJyBsaXN0IGlzIGV4ZWN1dGVkLiAgSWYgaXRzIGV4aXQgc3RhdHVzIGlzIHplcm8sIHRoZW4gIgorInRoZVxuIgorIiAgICBgdGhlbiBDT01NQU5EUycgbGlzdCBpcyBleGVjdXRlZC4gIE90aGVyd2lzZSwgZWFjaCBgZWxpZiBDT01NQU5EUycgbGlzdCAiCisiaXNcbiIKKyIgICAgZXhlY3V0ZWQgaW4gdHVybiwgYW5kIGlmIGl0cyBleGl0IHN0YXR1cyBpcyB6ZXJvLCB0aGUgY29ycmVzcG9uZGluZ1xuIgorIiAgICBgdGhlbiBDT01NQU5EUycgbGlzdCBpcyBleGVjdXRlZCBhbmQgdGhlIGlmIGNvbW1hbmQgY29tcGxldGVzLiAgIgorIk90aGVyd2lzZSxcbiIKKyIgICAgdGhlIGBlbHNlIENPTU1BTkRTJyBsaXN0IGlzIGV4ZWN1dGVkLCBpZiBwcmVzZW50LiAgVGhlIGV4aXQgc3RhdHVzIG9mICIKKyJ0aGVcbiIKKyIgICAgZW50aXJlIGNvbnN0cnVjdCBpcyB0aGUgZXhpdCBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZCwgb3IgIgorInplcm9cbiIKKyIgICAgaWYgbm8gY29uZGl0aW9uIHRlc3RlZCB0cnVlLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKK21zZ3N0ciAiIgorIuagueaNruadoeS7tuaJp+ihjOWRveS7pOOAglxuIgorIiAgICBcbiIKKyIgICAgYGlmIENPTU1BTkRTJ+WIl+ihqOiiq+aJp+ihjOOAguWmguaenOmAgOWHuueKtuaAgeS4uumbtu+8jOWImeaJp+ihjGB0aGVuIENPTU1BTkRTJyBcbiIKKyIgICAg5YiX6KGo44CC5ZCm5YiZ5oyJ6aG65bqP5omn6KGM5q+P5LiqIGBlbGlmIENPTU1BTkRTJ+WIl+ihqO+8jOW5tuS4lOWmguaenOWug+eahOmAgOWHuueKtuaAgeS4ulxuIgorIiAgICDpm7bvvIzliJnmiafooYzlr7nlupTnmoQgYHRoZW4gQ09NTUFORFMnIOWIl+ihqOW5tuS4lCBpZiDlkb3ku6Tnu4jmraLjgILlkKbliJnlpoLmnpzlrZjlnKjnmoRcbiIKKyIgICAg5oOF5Ya15LiL77yM5omn6KGMIGBlbHNlIENPTU1BTkRTJ+WIl+ihqOOAguaVtOS4que7k+aehOeahOmAgOWHuueKtuaAgeaYr+acgOWQjuS4gOS4quaJp+ihjFxuIgorIiAgICDnmoTlkb3ku6TnmoTnirbmgIHvvIzmiJbogIXlpoLmnpzmsqHmnInmnaHku7bmtYvor5XkuLrnnJ/nmoTor53vvIzkuLrpm7bjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57mnIDlkI7kuIDkuKrmiafooYznmoTlkb3ku6TnmoTnirbmgIHjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTU5NgorbXNnaWQgIiIKKyJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgorIiAgICBcbiIKKyIgICAgRXhwYW5kIGFuZCBleGVjdXRlIENPTU1BTkRTIGFzIGxvbmcgYXMgdGhlIGZpbmFsIGNvbW1hbmQgaW4gdGhlXG4iCisiICAgIGB3aGlsZScgQ09NTUFORFMgaGFzIGFuIGV4aXQgc3RhdHVzIG9mIHplcm8uXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisi5Y+q6KaB5rWL6K+V5oiQ5Yqf5Y2z5omn6KGM5ZG95Luk44CCXG4iCisiICAgIFxuIgorIiAgICDlj6ropoHlnKggYHdoaWxlJyBDT01NQU5EUyDkuK3nmoTmnIDnu4jlkb3ku6Tov5Tlm57nu5PmnpzkuLow77yM5YiZXG4iCisiICAgIOWxleW8gOW5tuaJp+ihjCBDT01NQU5EUyDlkb3ku6TjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57mnIDlkI7kuIDkuKrmiafooYznmoTlkb3ku6TnmoTnirbmgIHjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTYwOAorbXNnaWQgIiIKKyJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCisiICAgIFxuIgorIiAgICBFeHBhbmQgYW5kIGV4ZWN1dGUgQ09NTUFORFMgYXMgbG9uZyBhcyB0aGUgZmluYWwgY29tbWFuZCBpbiB0aGVcbiIKKyIgICAgYHVudGlsJyBDT01NQU5EUyBoYXMgYW4gZXhpdCBzdGF0dXMgd2hpY2ggaXMgbm90IHplcm8uXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgorbXNnc3RyICIiCisi5b2T5rWL6K+V5LiN5ZCM6L+H5pe25omn6KGM5ZG95Luk44CCXG4iCisiICAgIFxuIgorIiAgICBgdW50aWwnIENPTU1BTkRTIOWRveS7pOeahOacgOe7iOWRveS7pOi/lOWbnueKtuaAgeS4jeS4uiAwIOaXtu+8jFxuIgorIiAgICDlsZXlvIDlubbmiafooYwgQ09NTUFORFMg5ZG95Luk44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6L+U5Zue5pyA5ZCO5LiA5Liq5omn6KGM55qE5ZG95Luk55qE54q25oCB44CCIgorCisjOiBidWlsdGlucy5jOjE2MjAKK21zZ2lkICIiCisiQ3JlYXRlIGEgY29wcm9jZXNzIG5hbWVkIE5BTUUuXG4iCisiICAgIFxuIgorIiAgICBFeGVjdXRlIENPTU1BTkQgYXN5bmNocm9ub3VzbHksIHdpdGggdGhlIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmRcbiIKKyIgICAgaW5wdXQgb2YgdGhlIGNvbW1hbmQgY29ubmVjdGVkIHZpYSBhIHBpcGUgdG8gZmlsZSBkZXNjcmlwdG9ycyBhc3NpZ25lZFxuIgorIiAgICB0byBpbmRpY2VzIDAgYW5kIDEgb2YgYW4gYXJyYXkgdmFyaWFibGUgTkFNRSBpbiB0aGUgZXhlY3V0aW5nIHNoZWxsLlxuIgorIiAgICBUaGUgZGVmYXVsdCBOQU1FIGlzIFwiQ09QUk9DXCIuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyB0aGUgZXhpdCBzdGF0dXMgb2YgQ09NTUFORC4iCittc2dzdHIgIiIKKyLliJvlu7rkuIDkuKrku6UgTkFNRSDkuLrlkI3nmoTlia/ov5vnqIvjgIJcbiIKKyIgICAgXG4iCisiICAgIOW8guatpeaJp+ihjCBDT01NQU5EUyDlkb3ku6TvvIzlnKjmiafooYwgc2hlbGwg5Lit55qE5pWw57uE5Y+Y6YePIE5BTUVcbiIKKyIgICAg55qEIDAg5Y+35ZKMIDEg5Y+35YWD57Sg5L2c5Li65paH5Lu25o+P6L+w56ym77yM5Lul5LiA5Liq566h6YGT6L+e5o6l5ZG95LukXG4iCisiICAgIOWIhuWIq+S9nOS4uuWRveS7pOeahOagh+WHhui+k+WHuuWSjOi+k+WFpeiuvuWkh+OAglxuIgorIiAgICDpu5jorqTnmoQgTkFNRSDmmK8gXCJDT1BST0NcIuOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbniBDT01NQU5EIOWRveS7pOeahOmAgOWHuueKtuaAgeOAgiIKKworIzogYnVpbHRpbnMuYzoxNjM0Cittc2dpZCAiIgorIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKKyIgICAgXG4iCisiICAgIENyZWF0ZSBhIHNoZWxsIGZ1bmN0aW9uIG5hbWVkIE5BTUUuICBXaGVuIGludm9rZWQgYXMgYSBzaW1wbGUgY29tbWFuZCxcbiIKKyIgICAgTkFNRSBydW5zIENPTU1BTkRzIGluIHRoZSBjYWxsaW5nIHNoZWxsJ3MgY29udGV4dC4gIFdoZW4gTkFNRSBpcyAiCisiaW52b2tlZCxcbiIKKyIgICAgdGhlIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbiBhcyAkMS4uLiRuLCBhbmQgdGhlIGZ1bmN0aW9uJ3NcbiIKKyIgICAgbmFtZSBpcyBpbiAkRlVOQ05BTUUuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIHJlYWRvbmx5LiIKK21zZ3N0ciAiIgorIuWumuS5iSBzaGVsbCDlh73mlbDjgIJcbiIKKyIgICAgXG4iCisiICAgIOWIm+W7uuS4gOS4quS7pSBOQU1FIOS4uuWQjeeahCBzaGVsbCDlh73mlbDjgILlvZPkvZzkuLrkuIDkuKrnroDljZXnmoTlkb3ku6TlkK/nlKjml7bvvIxcbiIKKyIgICAgTkFNRSDlh73mlbDmiafooYzosIPnlKggc2hlbGwg55qE5LiK5LiL5paH5Lit55qEIENPTU1BTkRzIOWRveS7pOOAguW9kyBOQU1FXG4iCisiICAgIOiiq+WQr+eUqOaXtu+8jOWPguaVsOS9nOS4uiAkMS4uLiRuIOiiq+S8oOmAkue7meWHveaVsO+8jOWHveaVsOeahOWQjeWtl+WCqOWtmOWcqOWPmOmHj1xuIgorIiAgICAkRlVOQ05BTUUg5Lit44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6L+U5Zue5oiQ5Yqf6Zmk6Z2eIE5BTUUg5Li65Y+q6K+744CCIgorCisjOiBidWlsdGlucy5jOjE2NDgKK21zZ2lkICIiCisiR3JvdXAgY29tbWFuZHMgYXMgYSB1bml0LlxuIgorIiAgICBcbiIKKyIgICAgUnVuIGEgc2V0IG9mIGNvbW1hbmRzIGluIGEgZ3JvdXAuICBUaGlzIGlzIG9uZSB3YXkgdG8gcmVkaXJlY3QgYW5cbiIKKyIgICAgZW50aXJlIHNldCBvZiBjb21tYW5kcy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCittc2dzdHIgIiIKKyLlsIblkb3ku6Tnu4TlkIjkuLrkuIDkuKrljZXlhYPjgIJcbiIKKyIgICAgXG4iCisiICAgIOi/kOihjOe7hOS4reeahOWRveS7pOmbhuWQiOOAgui/meaYr+WvueaVtOS4quWRveS7pOmbhuWQiFxuIgorIiAgICDlgZrph43lrprlkJHnmoTmlrnms5XkuYvkuIDjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57mnIDlkI7kuIDkuKrmiafooYznmoTlkb3ku6TnmoTnirbmgIHjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTY2MAorbXNnaWQgIiIKKyJSZXN1bWUgam9iIGluIGZvcmVncm91bmQuXG4iCisiICAgIFxuIgorIiAgICBFcXVpdmFsZW50IHRvIHRoZSBKT0JfU1BFQyBhcmd1bWVudCB0byB0aGUgYGZnJyBjb21tYW5kLiAgUmVzdW1lIGFcbiIKKyIgICAgc3RvcHBlZCBvciBiYWNrZ3JvdW5kIGpvYi4gIEpPQl9TUEVDIGNhbiBzcGVjaWZ5IGVpdGhlciBhIGpvYiBuYW1lXG4iCisiICAgIG9yIGEgam9iIG51bWJlci4gIEZvbGxvd2luZyBKT0JfU1BFQyB3aXRoIGEgYCYnIHBsYWNlcyB0aGUgam9iIGluXG4iCisiICAgIHRoZSBiYWNrZ3JvdW5kLCBhcyBpZiB0aGUgam9iIHNwZWNpZmljYXRpb24gaGFkIGJlZW4gc3VwcGxpZWQgYXMgYW5cbiIKKyIgICAgYXJndW1lbnQgdG8gYGJnJy5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIHJlc3VtZWQgam9iLiIKK21zZ3N0ciAiIgorIuWcqOWJjeWPsOe7p+e7reS7u+WKoVxuIgorIiAgICBcbiIKKyIgICAg5a+55LqOIEpPQl9TUEVDIOWPguaVsOadpeivtOWSjCBgZmcnIOWRveS7pOetieWQjOOAgue7p+e7reS4gOS4qlxuIgorIiAgICDlgZzmraLnmoTmiJbogIXlkI7lj7Dku7vliqHjgIJKT0JfU1BFQyDlj6/ku6XmjIflrprkuIDkuKrku7vliqFcbiIKKyIgICAg5ZCN5a2X5oiW5Lu75Yqh5Y+344CC5ZyoIEpPQl9TUEVDIOWQjuWKoOS4iuS4gOS4qiBgJicg5bCG5Lya5oqKXG4iCisiICAgIOS7u+WKoeaUvuiHs+WQjuWPsO+8jOWwseWDj+S7u+WKoeWjsOaYjuiiq+S9nOS4uiBgYmcnIOWRveS7pOeahOWPguaVsFxuIgorIiAgICDmiafooYzkuIDmoLfjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAgOWHuueKtuaAge+8mlxuIgorIiAgICDov5Tlm57ooqvnu6fnu63nmoTku7vliqHnmoTnirbmgIHjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTY3NQorbXNnaWQgIiIKKyJFdmFsdWF0ZSBhcml0aG1ldGljIGV4cHJlc3Npb24uXG4iCisiICAgIFxuIgorIiAgICBUaGUgRVhQUkVTU0lPTiBpcyBldmFsdWF0ZWQgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBmb3IgYXJpdGhtZXRpY1xuIgorIiAgICBldmFsdWF0aW9uLiAgRXF1aXZhbGVudCB0byBcImxldCBFWFBSRVNTSU9OXCIuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyAxIGlmIEVYUFJFU1NJT04gZXZhbHVhdGVzIHRvIDA7IHJldHVybnMgMCBvdGhlcndpc2UuIgorbXNnc3RyICIiCisi5Lyw5YC8566X5pyv6KGo6L6+5byP44CCXG4iCisiICAgIFxuIgorIiAgICDooajovr7lvI/mjInnhafnrpfmnK/ms5XliJnov5vooYzkvLDlgLzjgIJcbiIKKyIgICAg562J5Lu35LqOIFwibGV0IOihqOi+vuW8j1wiLlxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCBXG4iCisiICAgIOWmguaenOihqOi+vuW8j+S8sOWAvOS4ujDliJnov5Tlm54gMe+8m+WQpuWImei/lOWbnjDjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTY4NworbXNnaWQgIiIKKyJFeGVjdXRlIGNvbmRpdGlvbmFsIGNvbW1hbmQuXG4iCisiICAgIFxuIgorIiAgICBSZXR1cm5zIGEgc3RhdHVzIG9mIDAgb3IgMSBkZXBlbmRpbmcgb24gdGhlIGV2YWx1YXRpb24gb2YgdGhlICIKKyJjb25kaXRpb25hbFxuIgorIiAgICBleHByZXNzaW9uIEVYUFJFU1NJT04uICBFeHByZXNzaW9ucyBhcmUgY29tcG9zZWQgb2YgdGhlIHNhbWUgcHJpbWFyaWVzICIKKyJ1c2VkXG4iCisiICAgIGJ5IHRoZSBgdGVzdCcgYnVpbHRpbiwgYW5kIG1heSBiZSBjb21iaW5lZCB1c2luZyB0aGUgZm9sbG93aW5nICIKKyJvcGVyYXRvcnM6XG4iCisiICAgIFxuIgorIiAgICAgICggRVhQUkVTU0lPTiApXHRSZXR1cm5zIHRoZSB2YWx1ZSBvZiBFWFBSRVNTSU9OXG4iCisiICAgICAgISBFWFBSRVNTSU9OXHRcdFRydWUgaWYgRVhQUkVTU0lPTiBpcyBmYWxzZTsgZWxzZSBmYWxzZVxuIgorIiAgICAgIEVYUFIxICYmIEVYUFIyXHRUcnVlIGlmIGJvdGggRVhQUjEgYW5kIEVYUFIyIGFyZSB0cnVlOyBlbHNlIGZhbHNlXG4iCisiICAgICAgRVhQUjEgfHwgRVhQUjJcdFRydWUgaWYgZWl0aGVyIEVYUFIxIG9yIEVYUFIyIGlzIHRydWU7IGVsc2UgZmFsc2VcbiIKKyIgICAgXG4iCisiICAgIFdoZW4gdGhlIGA9PScgYW5kIGAhPScgb3BlcmF0b3JzIGFyZSB1c2VkLCB0aGUgc3RyaW5nIHRvIHRoZSByaWdodCBvZlxuIgorIiAgICB0aGUgb3BlcmF0b3IgaXMgdXNlZCBhcyBhIHBhdHRlcm4gYW5kIHBhdHRlcm4gbWF0Y2hpbmcgaXMgcGVyZm9ybWVkLlxuIgorIiAgICBXaGVuIHRoZSBgPX4nIG9wZXJhdG9yIGlzIHVzZWQsIHRoZSBzdHJpbmcgdG8gdGhlIHJpZ2h0IG9mIHRoZSBvcGVyYXRvclxuIgorIiAgICBpcyBtYXRjaGVkIGFzIGEgcmVndWxhciBleHByZXNzaW9uLlxuIgorIiAgICBcbiIKKyIgICAgVGhlICYmIGFuZCB8fCBvcGVyYXRvcnMgZG8gbm90IGV2YWx1YXRlIEVYUFIyIGlmIEVYUFIxIGlzIHN1ZmZpY2llbnQgdG9cbiIKKyIgICAgZGV0ZXJtaW5lIHRoZSBleHByZXNzaW9uJ3MgdmFsdWUuXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgMCBvciAxIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBFWFBSRVNTSU9OLiIKK21zZ3N0ciAiIgorIuaJp+ihjOadoeS7tuWRveS7pOOAglxuIgorIiAgICBcbiIKKyIgICAg5qC55o2u5p2h5Lu26KGo6L6+5byPIEVYUFJFU1NJT04g55qE5Lyw5YC86L+U5Zue54q25oCBMOaIljHjgILooajovr7lvI/mjInnhadcbiIKKyIgICAgYHRlc3QnIOWGheW1jOeahOebuOWQjOadoeS7tue7hOaIkO+8jOaIluiAheWPr+S7peacieS4i+WIl+aTjeS9nOespui/nuaOpeiAjOaIkO+8mlxuIgorIiAgICBcbiIKKyIgICAgICAoIEVYUFJFU1NJT04gKVx06L+U5ZueIEVYUFJFU1NJT04g6KGo6L6+5byP55qE5YC8XG4iCisiICAgICAgISBFWFBSRVNTSU9OXHRcdOWmguaenCBFWFBSRVNTSU9O6KGo6L6+5byP5Li65YGH5YiZ5Li655yf77yM5ZCm5YiZ5Li65YGHXG4iCisiICAgICAgRVhQUjEgJiYgRVhQUjJcdOWmguaenCBFWFBSMSDlkowgRVhQUjIg6KGo6L6+5byP5Z2H5Li655yf5YiZ5Li655yf77yM5ZCm5YiZ5Li65YGHXG4iCisiICAgICAgRVhQUjEgfHwgRVhQUjJcdOWmguaenCBFWFBSMSDlkowgRVhQUjIg6KGo6L6+5byP5Lit5pyJ5LiA5Liq5Li655yf5YiZ5Li655yf77yM5ZCm5YiZ5Li6IgorIuWBh1xuIgorIiAgICBcbiIKKyIgICAg5b2T5L2/55SoIGA9PScg5ZKMIGAhPScg5pON5L2c56ym5pe277yM5pON5L2c56ym5Y+z6L6555qE5a2X56ym5Liy6KKr55So5L2c5qih5byP5bm25LiU5omn6KGM5LiA5LiqXG4iCisiICAgIOWMuemFjeOAguW9k+S9v+eUqCBgPX4nIOaTjeS9nOespuaXtu+8jOaTjeS9nOespuWPs+i+ueeahOWtl+espuS4suiiq+W9k+S9nOato+WImeihqOi+vuW8j+adpei/m+ihjFxuIgorIiAgICDljLnphY3jgIJcbiIKKyIgICAgXG4iCisiICAgIOaTjeS9nOespiAmJiDlkowgfHwg5bCG5LiN5a+5IEVYUFIyIOihqOi+vuW8j+i/m+ihjOS8sOWAvO+8jOWmguaenCBFWFBSMSDooajovr7lvI/otrPlpJ/noa7lrppcbiIKKyIgICAg5pW05Liq6KGo6L6+5byP55qE5YC844CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg5qC55o2uIEVYUFJFU1NJT04g55qE5YC85Li6MOaIljHjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MTcxMworbXNnaWQgIiIKKyJDb21tb24gc2hlbGwgdmFyaWFibGUgbmFtZXMgYW5kIHVzYWdlLlxuIgorIiAgICBcbiIKKyIgICAgQkFTSF9WRVJTSU9OXHRWZXJzaW9uIGluZm9ybWF0aW9uIGZvciB0aGlzIEJhc2guXG4iCisiICAgIENEUEFUSFx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2hcbiIKKyIgICAgXHRcdGZvciBkaXJlY3RvcmllcyBnaXZlbiBhcyBhcmd1bWVudHMgdG8gYGNkJy5cbiIKKyIgICAgR0xPQklHTk9SRVx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyBkZXNjcmliaW5nIGZpbGVuYW1lcyB0b1xuIgorIiAgICBcdFx0YmUgaWdub3JlZCBieSBwYXRobmFtZSBleHBhbnNpb24uXG4iCisiICAgIEhJU1RGSUxFXHRUaGUgbmFtZSBvZiB0aGUgZmlsZSB3aGVyZSB5b3VyIGNvbW1hbmQgaGlzdG9yeSBpcyBzdG9yZWQuXG4iCisiICAgIEhJU1RGSUxFU0laRVx0VGhlIG1heGltdW0gbnVtYmVyIG9mIGxpbmVzIHRoaXMgZmlsZSBjYW4gY29udGFpbi5cbiIKKyIgICAgSElTVFNJWkVcdFRoZSBtYXhpbXVtIG51bWJlciBvZiBoaXN0b3J5IGxpbmVzIHRoYXQgYSBydW5uaW5nXG4iCisiICAgIFx0XHRzaGVsbCBjYW4gYWNjZXNzLlxuIgorIiAgICBIT01FXHRUaGUgY29tcGxldGUgcGF0aG5hbWUgdG8geW91ciBsb2dpbiBkaXJlY3RvcnkuXG4iCisiICAgIEhPU1ROQU1FXHRUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBob3N0LlxuIgorIiAgICBIT1NUVFlQRVx0VGhlIHR5cGUgb2YgQ1BVIHRoaXMgdmVyc2lvbiBvZiBCYXNoIGlzIHJ1bm5pbmcgdW5kZXIuXG4iCisiICAgIElHTk9SRUVPRlx0Q29udHJvbHMgdGhlIGFjdGlvbiBvZiB0aGUgc2hlbGwgb24gcmVjZWlwdCBvZiBhbiBFT0ZcbiIKKyIgICAgXHRcdGNoYXJhY3RlciBhcyB0aGUgc29sZSBpbnB1dC4gIElmIHNldCwgdGhlbiB0aGUgdmFsdWVcbiIKKyIgICAgXHRcdG9mIGl0IGlzIHRoZSBudW1iZXIgb2YgRU9GIGNoYXJhY3RlcnMgdGhhdCBjYW4gYmUgc2VlblxuIgorIiAgICBcdFx0aW4gYSByb3cgb24gYW4gZW1wdHkgbGluZSBiZWZvcmUgdGhlIHNoZWxsIHdpbGwgZXhpdFxuIgorIiAgICBcdFx0KGRlZmF1bHQgMTApLiAgV2hlbiB1bnNldCwgRU9GIHNpZ25pZmllcyB0aGUgZW5kIG9mIGlucHV0LlxuIgorIiAgICBNQUNIVFlQRVx0QSBzdHJpbmcgZGVzY3JpYmluZyB0aGUgY3VycmVudCBzeXN0ZW0gQmFzaCBpcyBydW5uaW5nIG9uLlxuIgorIiAgICBNQUlMQ0hFQ0tcdEhvdyBvZnRlbiwgaW4gc2Vjb25kcywgQmFzaCBjaGVja3MgZm9yIG5ldyBtYWlsLlxuIgorIiAgICBNQUlMUEFUSFx0QSBjb2xvbi1zZXBhcmF0ZWQgbGlzdCBvZiBmaWxlbmFtZXMgd2hpY2ggQmFzaCBjaGVja3NcbiIKKyIgICAgXHRcdGZvciBuZXcgbWFpbC5cbiIKKyIgICAgT1NUWVBFXHRUaGUgdmVyc2lvbiBvZiBVbml4IHRoaXMgdmVyc2lvbiBvZiBCYXNoIGlzIHJ1bm5pbmcgb24uXG4iCisiICAgIFBBVEhcdEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIHdoZW5cbiIKKyIgICAgXHRcdGxvb2tpbmcgZm9yIGNvbW1hbmRzLlxuIgorIiAgICBQUk9NUFRfQ09NTUFORFx0QSBjb21tYW5kIHRvIGJlIGV4ZWN1dGVkIGJlZm9yZSB0aGUgcHJpbnRpbmcgb2YgZWFjaFxuIgorIiAgICBcdFx0cHJpbWFyeSBwcm9tcHQuXG4iCisiICAgIFBTMVx0XHRUaGUgcHJpbWFyeSBwcm9tcHQgc3RyaW5nLlxuIgorIiAgICBQUzJcdFx0VGhlIHNlY29uZGFyeSBwcm9tcHQgc3RyaW5nLlxuIgorIiAgICBQV0RcdFx0VGhlIGZ1bGwgcGF0aG5hbWUgb2YgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LlxuIgorIiAgICBTSEVMTE9QVFNcdEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgZW5hYmxlZCBzaGVsbCBvcHRpb25zLlxuIgorIiAgICBURVJNXHRUaGUgbmFtZSBvZiB0aGUgY3VycmVudCB0ZXJtaW5hbCB0eXBlLlxuIgorIiAgICBUSU1FRk9STUFUXHRUaGUgb3V0cHV0IGZvcm1hdCBmb3IgdGltaW5nIHN0YXRpc3RpY3MgZGlzcGxheWVkIGJ5IHRoZVxuIgorIiAgICBcdFx0YHRpbWUnIHJlc2VydmVkIHdvcmQuXG4iCisiICAgIGF1dG9fcmVzdW1lXHROb24tbnVsbCBtZWFucyBhIGNvbW1hbmQgd29yZCBhcHBlYXJpbmcgb24gYSBsaW5lIGJ5XG4iCisiICAgIFx0XHRpdHNlbGYgaXMgZmlyc3QgbG9va2VkIGZvciBpbiB0aGUgbGlzdCBvZiBjdXJyZW50bHlcbiIKKyIgICAgXHRcdHN0b3BwZWQgam9icy4gIElmIGZvdW5kIHRoZXJlLCB0aGF0IGpvYiBpcyBmb3JlZ3JvdW5kZWQuXG4iCisiICAgIFx0XHRBIHZhbHVlIG9mIGBleGFjdCcgbWVhbnMgdGhhdCB0aGUgY29tbWFuZCB3b3JkIG11c3RcbiIKKyIgICAgXHRcdGV4YWN0bHkgbWF0Y2ggYSBjb21tYW5kIGluIHRoZSBsaXN0IG9mIHN0b3BwZWQgam9icy4gIEFcbiIKKyIgICAgXHRcdHZhbHVlIG9mIGBzdWJzdHJpbmcnIG1lYW5zIHRoYXQgdGhlIGNvbW1hbmQgd29yZCBtdXN0XG4iCisiICAgIFx0XHRtYXRjaCBhIHN1YnN0cmluZyBvZiB0aGUgam9iLiAgQW55IG90aGVyIHZhbHVlIG1lYW5zIHRoYXRcbiIKKyIgICAgXHRcdHRoZSBjb21tYW5kIG11c3QgYmUgYSBwcmVmaXggb2YgYSBzdG9wcGVkIGpvYi5cbiIKKyIgICAgaGlzdGNoYXJzXHRDaGFyYWN0ZXJzIGNvbnRyb2xsaW5nIGhpc3RvcnkgZXhwYW5zaW9uIGFuZCBxdWlja1xuIgorIiAgICBcdFx0c3Vic3RpdHV0aW9uLiAgVGhlIGZpcnN0IGNoYXJhY3RlciBpcyB0aGUgaGlzdG9yeVxuIgorIiAgICBcdFx0c3Vic3RpdHV0aW9uIGNoYXJhY3RlciwgdXN1YWxseSBgIScuICBUaGUgc2Vjb25kIGlzXG4iCisiICAgIFx0XHR0aGUgYHF1aWNrIHN1YnN0aXR1dGlvbicgY2hhcmFjdGVyLCB1c3VhbGx5IGBeJy4gIFRoZVxuIgorIiAgICBcdFx0dGhpcmQgaXMgdGhlIGBoaXN0b3J5IGNvbW1lbnQnIGNoYXJhY3RlciwgdXN1YWxseSBgIycuXG4iCisiICAgIEhJU1RJR05PUkVcdEEgY29sb24tc2VwYXJhdGVkIGxpc3Qgb2YgcGF0dGVybnMgdXNlZCB0byBkZWNpZGUgd2hpY2hcbiIKKyIgICAgXHRcdGNvbW1hbmRzIHNob3VsZCBiZSBzYXZlZCBvbiB0aGUgaGlzdG9yeSBsaXN0LlxuIgorbXNnc3RyICIiCisi5bi455SoIHNoZWxsIOWPmOmHj+WQjeensOWSjOS9v+eUqOOAglxuIgorIiAgICBcbiIKKyIgICAgQkFTSF9WRVJTSU9OXHTlvZPliY0gQmFzaCDnmoTniYjmnKzkv6Hmga/jgIJcbiIKKyIgICAgQ0RQQVRIXHTnlKjkuo4gYGNkJyDlkb3ku6Tlj4LmlbDmkJzntKLnmoTliIblj7fliIbpmpTnmoTnm67lvZXliJfooahcbiIKKyIgICAgR0xPQklHTk9SRVx06Lev5b6E5omp5bGV5pe25b+955Wl55qE5paH5Lu25ZCN5Yy56YWN5qih5byP5YiX6KGo77yMXG4iCisiICAgIFx0XHTku6XliIblj7fliIbpmpTjgIJcbiIKKyIgICAgSElTVEZJTEVcdOaCqOeahOWRveS7pOWOhuWPsuWtmOaUvueahOaWh+S7tuWQjeensOOAglxuIgorIiAgICBISVNURklMRVNJWkVcdOWOhuWPsuaWh+S7tuacgOWkmuWPr+S7peS/neWtmOeahOihjOaVsOOAglxuIgorIiAgICBISVNUU0laRVx05LiA5Liq6L+Q6KGM55qEIHNoZWxsIOacgOWkmuWPr+S7peiuv+mXrueahOWOhuWPsuWRveS7pOihjOaVsOOAglxuIgorIiAgICBIT01FXHTmgqjnmoTnmbvlvZXnm67lvZXnmoTlrozmlbTot6/lvoTjgIJcbiIKKyIgICAgSE9TVE5BTUVcdOW9k+WJjeS4u+acuueahOS4u+acuuWQjeOAglxuIgorIiAgICBIT1NUVFlQRVx05b2T5YmN54mI5pys55qEIEJBU0gg5Zyo5YW25LmL5LiK6L+Q6KGM55qEIENQVSDnsbvlnovjgIJcbiIKKyIgICAgSUdOT1JFRU9GXHTmjqfliLYgc2hlbGwg5pS25Yiw5paH5Lu257uT5p2f56ym5L2c5Li65Y2V5LiA6L6T5YWl5ZCO55qEXG4iCisiICAgIFx0XHTliqjkvZzjgILlpoLmnpzorr7lrprov5nkuKrlj5jph4/vvIzliJnlroPnmoTlgLzmmK8gc2hlbGwg6YCA5Ye65LmL5YmN5ZyoXG4iCisiICAgIFx0XHTkuIDkuKrnqbrooYzkuIrlj6/ku6Xov57nu63nnIvliLDnmoTmlofku7bnu5PmnZ/nrKbmlbDph4/vvIjpu5jorqTkuLoxMO+8ieOAglxuIgorIiAgICBcdFx05pyq6K6+5a6a5pe277yM5paH5Lu257uT5p2f56ym5qCH5b+X552A6L6T5YWl55qE57uT5p2f44CCXG4iCisiICAgIE1BQ0hUWVBFXHTmj4/ov7DlvZPliY3ov5DooYwgQmFzaCDnmoTns7vnu5/nmoTlrZfnrKbkuLLjgIJcbiIKKyIgICAgTUFJTENIRUNLXHRCYXNoIOajgOa1i+aWsOmCruS7tueahOmikeeOh++8jOS7peenkuS4uuWNleS9jeOAglxuIgorIiAgICBNQUlMUEFUSFx0QmFzaCDku47kuK3mo4DmtYvmlrDpgq7ku7bnmoTmlofku7bliJfooajvvIzku6XliIblj7fliIbpmpTjgIJcbiIKKyIgICAgT1NUWVBFXHTov5DooYwgQmFzaCDnmoQgVW5peCDniYjmnKzjgIJcbiIKKyIgICAgUEFUSFx05b2T5a+75om+5ZG95Luk5pe25pCc57Si55qE55uu5b2V5YiX6KGo77yM5Lul5YaS5Y+35YiG6ZqU44CCXG4iCisiICAgIFBST01QVF9DT01NQU5EXHTmiZPljbDmr4/kuIDkuKrkuLvmj5DnpLrnrKbkuYvliY3miafooYznmoTlkb1cbiIKKyIgICAgXHRcdOS7pOOAglxuIgorIiAgICBQUzFcdFx05Li75o+Q56S656ym5a2X56ym5Liy44CCXG4iCisiICAgIFBTMlx0XHTku47mj5DnpLrnrKblrZfnrKbkuLLjgIJcbiIKKyIgICAgUFdEXHRcdOW9k+WJjeebruW9leeahOWujOaVtOi3r+W+hOOAglxuIgorIiAgICBTSEVMTE9QVFNcdOW3suWQr+eUqOeahCBzaGVsbCDpgInpobnliJfooajvvIzku6XlhpLlj7fliIbpmpTjgIJcbiIKKyIgICAgVEVSTVx05b2T5YmN57uI56uv57G75Z6L55qE5ZCN56ew44CCXG4iCisiICAgIFRJTUVGT1JNQVRcdOS7peWFs+mUruWImSBgdGltZScg5pi+56S655qE5pe26Ze057uf6K6h5L+h5oGv55qE6L6T5Ye6XG4iCisiICAgIFx0XHTmoLzlvI/jgIJcbiIKKyIgICAgYXV0b19yZXN1bWVcdOmdnuepuuaXtu+8jOS4gOS4quWNleeLrOeahOWRveS7pOivjeS8mummluWFiOiiq+WcqOW9k+WJjVxuIgorIiAgICBcdFx05YGc5q2i55qE5Lu75Yqh5YiX6KGo5Lit5pCc57Si44CC5aaC5p6c5om+5Yiw5YiZ6K+l5Lu75Yqh6KKr572u5LqO5YmN5Y+w44CCXG4iCisiICAgIFx0XHTlpoLmnpzlgLzkuLogYGV4YWN0JyDliJnmhI/lkbPnnYDlkb3ku6Tor43lv4Xpobvnsr7noa7ljLnphY3lgZzmraLku7vliqFcbiIKKyIgICAgXHRcdOWIl+ihqOS4reeahOWRveS7pOOAguWmguaenOWAvOS4uiBgc3Vic3RyaW5nJyDliJnmhI/lkbPnnYDlkb3ku6Tor43lv4VcbiIKKyIgICAgXHRcdOmhu+WMuemFjeS7u+WKoeeahOS4gOS4quWtkOWtl+espuS4suOAguS7u+S9leWFtuS7lueahOWAvOaEj+WRs+edgOWRveS7pOivjVxuIgorIiAgICBcdFx05b+F6aG75piv5YGc5q2i5Lu75Yqh55qE5LiA5Liq5YmN57yA44CCXG4iCisiICAgIGhpc3RjaGFyc1x05o6n5Yi25Y6G5Y+y5bGV5byA5ZKM5b+r6YCf5pu/5o2i55qE5a2X56ym44CC56ys5LiA5Liq5a2X56ym5pivXG4iCisiICAgIFx0XHTljoblj7Lmm7/mjaLlrZfnrKbvvIzpgJrluLjmmK8gYCEn44CC56ys5LqM5Liq5a2X56ym5piv5b+r6YCf5pu/5o2i5a2X56ym77yMXG4iCisiICAgIFx0XHTpgJrluLjmmK8gYF4n44CC56ys5LiJ5Liq5piv5Y6G5Y+y5rOo6YeK5a2X56ym77yM6YCa5bi45pivIGAjJ+OAglxuIgorIiAgICBISVNUSUdOT1JFXHTnlKjkuo7lhrPlrprlk6rkupvlkb3ku6TooqvlrZjlhaXljoblj7Lmlofku7bnmoTmqKHlvI9cbiIKKyIgICAgXHRcdOWIl+ihqO+8jOS7peWGkuWPt+WIhumalOOAglxuIgorCisjOiBidWlsdGlucy5jOjE3NzAKK21zZ2lkICIiCisiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgorIiAgICBcbiIKKyIgICAgQWRkcyBhIGRpcmVjdG9yeSB0byB0aGUgdG9wIG9mIHRoZSBkaXJlY3Rvcnkgc3RhY2ssIG9yIHJvdGF0ZXNcbiIKKyIgICAgdGhlIHN0YWNrLCBtYWtpbmcgdGhlIG5ldyB0b3Agb2YgdGhlIHN0YWNrIHRoZSBjdXJyZW50IHdvcmtpbmdcbiIKKyIgICAgZGlyZWN0b3J5LiAgV2l0aCBubyBhcmd1bWVudHMsIGV4Y2hhbmdlcyB0aGUgdG9wIHR3byBkaXJlY3Rvcmllcy5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gYWRkaW5nXG4iCisiICAgIFx0ZGlyZWN0b3JpZXMgdG8gdGhlIHN0YWNrLCBzbyBvbmx5IHRoZSBzdGFjayBpcyBtYW5pcHVsYXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICArTlx0Um90YXRlcyB0aGUgc3RhY2sgc28gdGhhdCB0aGUgTnRoIGRpcmVjdG9yeSAoY291bnRpbmdcbiIKKyIgICAgXHRmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgorIiAgICBcdHplcm8pIGlzIGF0IHRoZSB0b3AuXG4iCisiICAgIFxuIgorIiAgICAgIC1OXHRSb3RhdGVzIHRoZSBzdGFjayBzbyB0aGF0IHRoZSBOdGggZGlyZWN0b3J5IChjb3VudGluZ1xuIgorIiAgICBcdGZyb20gdGhlIHJpZ2h0IG9mIHRoZSBsaXN0IHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aFxuIgorIiAgICBcdHplcm8pIGlzIGF0IHRoZSB0b3AuXG4iCisiICAgIFxuIgorIiAgICAgIGRpclx0QWRkcyBESVIgdG8gdGhlIGRpcmVjdG9yeSBzdGFjayBhdCB0aGUgdG9wLCBtYWtpbmcgaXQgdGhlXG4iCisiICAgIFx0bmV3IGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4iCisiICAgIFxuIgorIiAgICBUaGUgYGRpcnMnIGJ1aWx0aW4gZGlzcGxheXMgdGhlIGRpcmVjdG9yeSBzdGFjay5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgYXJndW1lbnQgaXMgc3VwcGxpZWQgb3IgdGhlIGRpcmVjdG9yeVxuIgorIiAgICBjaGFuZ2UgZmFpbHMuIgorbXNnc3RyICIiCisi5bCG55uu5b2V5re75Yqg5Yiw5qCI5Lit44CCXG4iCisiICAgIFxuIgorIiAgICDlsIbnm67lvZXmt7vliqDliLDnm67lvZXmoIjpobbvvIzmiJbnnYDml4vovazmoIjnm7TliLDlvZPliY3lt6XkvZznm67lvZXmiJDkuLpcbiIKKyIgICAg5paw55qE5qCI6aG244CC5LiN5bim5Y+C5pWw5pe277yM5Lqk5o2i5qCI6aG255qE5Lik5Liq55uu5b2V44CCXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtblx05oqR5Yi25re75Yqg55uu5b2V6Iez5qCI5pe26YCa5bi455qE5pS55Y+Y55uu5b2V5pON5L2c77yM5LuO6ICM5LuF5a+55qCIXG4iCisiICAgIFx06L+b6KGM5pON5L2c44CCXG4iCisiICAgIFxuIgorIiAgICDlj4LmlbDvvJpcbiIKKyIgICAgICArTlx05peL6L2s5qCI5LuO6ICM56ysIE4g5Liq55uu5b2V77yIYGRpcnMnIOaYvuekuueahOWIl+ihqOS4reW3pui1t++8jOS7jumbtuW8gOWni++8iVxuIgorIiAgICBcdOWwhuenu+WKqOWIsOagiOmhtuOAglxuIgorIiAgICBcbiIKKyIgICAgICAtTlx05peL6L2s5qCI5LuO6ICM56ysIE4g5Liq55uu5b2V77yIYGRpcnMnIOaYvuekuueahOWIl+ihqOS4reWPs+i1t++8jOS7jumbtuW8gOWni++8iVxuIgorIiAgICBcdOWwhuenu+WKqOWIsOagiOmhtuOAglxuIgorIiAgICBcbiIKKyIgICAgICBkaXJcdOWwhiBESVIg55uu5b2V5re75Yqg5Yiw5qCI6aG277yM5bm25LiU5L2/5YW25oiQ5Li65b2T5YmN5bel5L2c55uu5b2V44CCXG4iCisiICAgIFxuIgorIiAgICBgZGlycycg5YaF5bWM5pi+56S655uu5b2V5qCI44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6L+U5Zue5oiQ5Yqf77yM6Zmk6Z2e5L2/55So5LqG5peg5pWI55qE5Y+C5pWw5oiW6ICF55uu5b2V6L2s5o2i5aSx6LSl44CCIgorCisjOiBidWlsdGlucy5jOjE4MDQKK21zZ2lkICIiCisiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCisiICAgIFxuIgorIiAgICBSZW1vdmVzIGVudHJpZXMgZnJvbSB0aGUgZGlyZWN0b3J5IHN0YWNrLiAgV2l0aCBubyBhcmd1bWVudHMsIHJlbW92ZXNcbiIKKyIgICAgdGhlIHRvcCBkaXJlY3RvcnkgZnJvbSB0aGUgc3RhY2ssIGFuZCBjaGFuZ2VzIHRvIHRoZSBuZXcgdG9wIGRpcmVjdG9yeS5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLW5cdFN1cHByZXNzZXMgdGhlIG5vcm1hbCBjaGFuZ2Ugb2YgZGlyZWN0b3J5IHdoZW4gcmVtb3ZpbmdcbiIKKyIgICAgXHRkaXJlY3RvcmllcyBmcm9tIHRoZSBzdGFjaywgc28gb25seSB0aGUgc3RhY2sgaXMgbWFuaXB1bGF0ZWQuXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgICAgK05cdFJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0XG4iCisiICAgIFx0c2hvd24gYnkgYGRpcnMnLCBzdGFydGluZyB3aXRoIHplcm8uICBGb3IgZXhhbXBsZTogYHBvcGQgKzAnXG4iCisiICAgIFx0cmVtb3ZlcyB0aGUgZmlyc3QgZGlyZWN0b3J5LCBgcG9wZCArMScgdGhlIHNlY29uZC5cbiIKKyIgICAgXG4iCisiICAgICAgLU5cdFJlbW92ZXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdFxuIgorIiAgICBcdHNob3duIGJ5IGBkaXJzJywgc3RhcnRpbmcgd2l0aCB6ZXJvLiAgRm9yIGV4YW1wbGU6IGBwb3BkIC0wJ1xuIgorIiAgICBcdHJlbW92ZXMgdGhlIGxhc3QgZGlyZWN0b3J5LCBgcG9wZCAtMScgdGhlIG5leHQgdG8gbGFzdC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBgZGlycycgYnVpbHRpbiBkaXNwbGF5cyB0aGUgZGlyZWN0b3J5IHN0YWNrLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBzdXBwbGllZCBvciB0aGUgZGlyZWN0b3J5XG4iCisiICAgIGNoYW5nZSBmYWlscy4iCittc2dzdHIgIiIKKyLku47moIjkuK3liKDpmaTnm67lvZXjgIJcbiIKKyIgICAgXG4iCisiICAgIOS7juebruW9leagiOS4reWIoOmZpOadoeebruOAguS4jeW4puWPguaVsOaXtu+8jOWIoOmZpOagiOmhtuebruW9le+8jOW5tuaUueWPmOiHs+aWsOeahOagiFxuIgorIiAgICDpobbnm67lvZXjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1uXHTmipHliLbku47moIjkuK3liKDpmaTnm67lvZXml7bpgJrluLjnmoTnm67lvZXlj5jmjaLmk43kvZzvvIzku47ogIzku4Xlr7nmoIhcbiIKKyIgICAgXHTov5vooYzmk43kvZzjgIJcbiIKKyIgICAgXG4iCisiICAgIOWPguaVsO+8mlxuIgorIiAgICAgICtOXHTliKDpmaTnrKwgTiDkuKrnm67lvZXvvIhgZGlycycg5pi+56S655qE55uu5b2V5YiX6KGo5Lit5bem6LW377yM5LuO6Zu25byA5aeL77yJ44CCXG4iCisiICAgIFx05L6L5aaC77yaIGBwb3BkICswJyDliKDpmaTnrKzkuIDkuKrnm67lvZXvvIxwb3BkICsxJyDliKDpmaTnrKzkuozkuKrjgIJcbiIKKyIgICAgXG4iCisiICAgICAgLU5cdOWIoOmZpOesrCBOIOS4quebruW9le+8iGBkaXJzJyDmmL7npLrnmoTnm67lvZXliJfooajkuK3lj7PotbfvvIzku47pm7blvIDlp4vvvInjgIJcbiIKKyIgICAgXHTkvovlpoLvvJogYHBvcGQgLTAn5Yig6Zmk5pyA5ZCO5LiA5Liq55uu5b2V77yM77yMYHBvcGQgLTEnIOWIoOmZpOWAkuaVsOesrOS6jOS4quOAglxuIgorIiAgICBcbiIKKyIgICAgYGRpcnMnIOWGheW1jOaYvuekuuebruW9leagiOOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOmZpOmdnuS9v+eUqOS6huaXoOaViOeahOWPguaVsOaIluiAheebruW9leWPmOaNouWksei0peOAgiIKKworIzogYnVpbHRpbnMuYzoxODM0Cittc2dpZCAiIgorIkRpc3BsYXkgZGlyZWN0b3J5IHN0YWNrLlxuIgorIiAgICBcbiIKKyIgICAgRGlzcGxheSB0aGUgbGlzdCBvZiBjdXJyZW50bHkgcmVtZW1iZXJlZCBkaXJlY3Rvcmllcy4gIERpcmVjdG9yaWVzXG4iCisiICAgIGZpbmQgdGhlaXIgd2F5IG9udG8gdGhlIGxpc3Qgd2l0aCB0aGUgYHB1c2hkJyBjb21tYW5kOyB5b3UgY2FuIGdldFxuIgorIiAgICBiYWNrIHVwIHRocm91Z2ggdGhlIGxpc3Qgd2l0aCB0aGUgYHBvcGQnIGNvbW1hbmQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1jXHRjbGVhciB0aGUgZGlyZWN0b3J5IHN0YWNrIGJ5IGRlbGV0aW5nIGFsbCBvZiB0aGUgZWxlbWVudHNcbiIKKyIgICAgICAtbFx0ZG8gbm90IHByaW50IHRpbGRlLXByZWZpeGVkIHZlcnNpb25zIG9mIGRpcmVjdG9yaWVzIHJlbGF0aXZlXG4iCisiICAgIFx0dG8geW91ciBob21lIGRpcmVjdG9yeVxuIgorIiAgICAgIC1wXHRwcmludCB0aGUgZGlyZWN0b3J5IHN0YWNrIHdpdGggb25lIGVudHJ5IHBlciBsaW5lXG4iCisiICAgICAgLXZcdHByaW50IHRoZSBkaXJlY3Rvcnkgc3RhY2sgd2l0aCBvbmUgZW50cnkgcGVyIGxpbmUgcHJlZml4ZWRcbiIKKyIgICAgXHR3aXRoIGl0cyBwb3NpdGlvbiBpbiB0aGUgc3RhY2tcbiIKKyIgICAgXG4iCisiICAgIEFyZ3VtZW50czpcbiIKKyIgICAgICArTlx0RGlzcGxheXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSBsZWZ0IG9mIHRoZSBsaXN0IHNob3duICIKKyJieVxuIgorIiAgICBcdGRpcnMgd2hlbiBpbnZva2VkIHdpdGhvdXQgb3B0aW9ucywgc3RhcnRpbmcgd2l0aCB6ZXJvLlxuIgorIiAgICBcbiIKKyIgICAgICAtTlx0RGlzcGxheXMgdGhlIE50aCBlbnRyeSBjb3VudGluZyBmcm9tIHRoZSByaWdodCBvZiB0aGUgbGlzdCBzaG93biAiCisiYnlcbiIKKyIgICAgXHRkaXJzIHdoZW4gaW52b2tlZCB3aXRob3V0IG9wdGlvbnMsIHN0YXJ0aW5nIHdpdGggemVyby5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLmmL7npLrnm67lvZXmoIjjgIJcbiIKKyIgICAgXG4iCisiICAgIOaYvuekuuW9k+WJjeiusOS9j+eahOebruW9leWIl+ihqOOAgumAmui/hyBgcHVzaGQnIOWRveS7pOWPr+S7peWwhuebruW9leWtmOWFpeWIl+ihqFxuIgorIiAgICDkuK3vvJtgcG9wZCcg5ZG95Luk5Y+v55So5LqO6YGN5Y6G5YiX6KGo44CCXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtY1x05Yig6Zmk5omA5pyJ5YWD57Sg5Lul5riF56m655uu5b2V5qCIXG4iCisiICAgICAgLWxcdOS4jeaJk+WNsOS4juS4u+ebruW9leebuOWFs+eahOazoua1quWPt+WJjee8gOeahOebruW9lVxuIgorIiAgICAgIC1wXHTmr4/ooYzkuIDkuKrmnaHnm67miZPljbDnm67lvZXmoIhcbiIKKyIgICAgICAtdlx05q+P6KGM5LiA5Liq5p2h55uu77yM5Lul5qCI5Lit5L2N572u5Li65YmN57yA5omT5Y2w55uu5b2V5qCIXG4iCisiICAgIFxuIgorIiAgICDlj4LmlbDvvJpcbiIKKyIgICAgICArTlx05pi+56S6IGRpcnMg5LiN5bim6YCJ6aG55ZCv5Yqo5pe25pi+56S655qE55uu5b2V5YiX6KGo5bem6LW35Lit56ysXG4iCisiICAgIFx0TiDkuKrnm67lvZXvvIzku47pm7blvIDlp4vjgIJcbiIKKyIgICAgXG4iCisiICAgICAgLU5cdOaYvuekuiBkaXJzIOS4jeW4pumAiemhueWQr+WKqOaXtuaYvuekuueahOebruW9leWIl+ihqOWPs+i1t+S4reesrFxuIgorIiAgICBcdE4g5Liq55uu5b2V77yM5LuO6Zu25byA5aeL44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6L+U5Zue5oiQ5Yqf77yM6Zmk6Z2e5L2/55So5LqG5peg5pWI55qE6YCJ6aG55oiW6ICF5Y+R55Sf6ZSZ6K+v44CCIgorCisjOiBidWlsdGlucy5jOjE4NjMKK21zZ2lkICIiCisiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgorIiAgICBcbiIKKyIgICAgQ2hhbmdlIHRoZSBzZXR0aW5nIG9mIGVhY2ggc2hlbGwgb3B0aW9uIE9QVE5BTUUuICBXaXRob3V0IGFueSBvcHRpb25cbiIKKyIgICAgYXJndW1lbnRzLCBsaXN0IGFsbCBzaGVsbCBvcHRpb25zIHdpdGggYW4gaW5kaWNhdGlvbiBvZiB3aGV0aGVyIG9yIG5vdCAiCisiZWFjaFxuIgorIiAgICBpcyBzZXQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1vXHRyZXN0cmljdCBPUFROQU1FcyB0byB0aG9zZSBkZWZpbmVkIGZvciB1c2Ugd2l0aCBgc2V0IC1vJ1xuIgorIiAgICAgIC1wXHRwcmludCBlYWNoIHNoZWxsIG9wdGlvbiB3aXRoIGFuIGluZGljYXRpb24gb2YgaXRzIHN0YXR1c1xuIgorIiAgICAgIC1xXHRzdXBwcmVzcyBvdXRwdXRcbiIKKyIgICAgICAtc1x0ZW5hYmxlIChzZXQpIGVhY2ggT1BUTkFNRVxuIgorIiAgICAgIC11XHRkaXNhYmxlICh1bnNldCkgZWFjaCBPUFROQU1FXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIGlmIE9QVE5BTUUgaXMgZW5hYmxlZDsgZmFpbHMgaWYgYW4gaW52YWxpZCBvcHRpb24gaXNcbiIKKyIgICAgZ2l2ZW4gb3IgT1BUTkFNRSBpcyBkaXNhYmxlZC4iCittc2dzdHIgIiIKKyLorr7lrprlkozlj43orr7lrpogc2hlbGwg6YCJ6aG544CCXG4iCisiICAgIFxuIgorIiAgICDmlLnlj5jmr4/kuKogc2hlbGwg6YCJ6aG5IE9QVE5BTUXnmoTorr7lrprjgILkuI3luKblj4LmlbBcbiIKKyIgICAg5pe277yM5YiX5Ye65omA5pyJIHNoZWxsIOmAiemhueW5tuagh+azqOavj+S4gOS4qumAiemhueaYr+WQpuiiq1xuIgorIiAgICDorr7lrprjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1vXHTpmZDliLYgT1BUTkFNRSDkuLrlrprkuYnnlKjkuo5gc2V0IC1vJyDnmoTpgInpoblcbiIKKyIgICAgICAtcFx05omT5Y2w5q+P5LiqIHNoZWxsIOmAiemhueW5tuagh+azqOWug+eahOeKtuaAgeOAglxuIgorIiAgICAgIC1xXHTmipHliLbovpPlh7pcbiIKKyIgICAgICAtc1x05ZCv55So77yI6K6+5a6a77yJ5q+P5LiqIE9QVE5BTUUg6YCJ6aG5XG4iCisiICAgICAgLXVcdOemgeeUqO+8iOWPjeiuvuWumu+8ieavj+S4qiBPUFROQU1FIOmAiemhuVxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOWmguaenCBPUFROQU1FIOmAiemhueiiq+WQr+eUqOWImei/lOWbnuaIkOWKn++8m+WmguaenOaYr1xuIgorIiAgICDml6DmlYjnmoTpgInpobnmiJZPUFROQU1FIOiiq+emgeeUqOWImeWksei0peOAgiIKKworIzogYnVpbHRpbnMuYzoxODg0CisjLCBmdXp6eQorbXNnaWQgIiIKKyJGb3JtYXRzIGFuZCBwcmludHMgQVJHVU1FTlRTIHVuZGVyIGNvbnRyb2wgb2YgdGhlIEZPUk1BVC5cbiIKKyIgICAgXG4iCisiICAgIE9wdGlvbnM6XG4iCisiICAgICAgLXYgdmFyXHRhc3NpZ24gdGhlIG91dHB1dCB0byBzaGVsbCB2YXJpYWJsZSBWQVIgcmF0aGVyIHRoYW5cbiIKKyIgICAgXHRcdGRpc3BsYXkgaXQgb24gdGhlIHN0YW5kYXJkIG91dHB1dFxuIgorIiAgICBcbiIKKyIgICAgRk9STUFUIGlzIGEgY2hhcmFjdGVyIHN0cmluZyB3aGljaCBjb250YWlucyB0aHJlZSB0eXBlcyBvZiBvYmplY3RzOiAiCisicGxhaW5cbiIKKyIgICAgY2hhcmFjdGVycywgd2hpY2ggYXJlIHNpbXBseSBjb3BpZWQgdG8gc3RhbmRhcmQgb3V0cHV0OyBjaGFyYWN0ZXIgIgorImVzY2FwZVxuIgorIiAgICBzZXF1ZW5jZXMsIHdoaWNoIGFyZSBjb252ZXJ0ZWQgYW5kIGNvcGllZCB0byB0aGUgc3RhbmRhcmQgb3V0cHV0OyBhbmRcbiIKKyIgICAgZm9ybWF0IHNwZWNpZmljYXRpb25zLCBlYWNoIG9mIHdoaWNoIGNhdXNlcyBwcmludGluZyBvZiB0aGUgbmV4dCAiCisic3VjY2Vzc2l2ZVxuIgorIiAgICBhcmd1bWVudC5cbiIKKyIgICAgXG4iCisiICAgIEluIGFkZGl0aW9uIHRvIHRoZSBzdGFuZGFyZCBmb3JtYXQgc3BlY2lmaWNhdGlvbnMgZGVzY3JpYmVkIGluIHByaW50ZiIKKyIoMSlcbiIKKyIgICAgYW5kIHByaW50ZigzKSwgcHJpbnRmIGludGVycHJldHM6XG4iCisiICAgIFxuIgorIiAgICAgICViXHRleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYXJndW1lbnRcbiIKKyIgICAgICAlcVx0cXVvdGUgdGhlIGFyZ3VtZW50IGluIGEgd2F5IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dFxuIgorIiAgICAgICUoZm10KVQgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nIEZNVCBhcyBhICIKKyJmb3JtYXRcbiIKKyIgICAgICAgICAgICBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpXG4iCisiICAgIFxuIgorIiAgICBFeGl0IFN0YXR1czpcbiIKKyIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIHdyaXRlIG9yICIKKyJhc3NpZ25tZW50XG4iCisiICAgIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLlnKggRk9STUFUIOWPmOmHj+eahOaOp+WItuS4i+agvOW8j+WMluW5tuaJk+WNsCBBUkdVTUVOVFMg5Y+C5pWw44CCXG4iCisiICAgIFxuIgorIiAgICDpgInpobnvvJpcbiIKKyIgICAgICAtdiB2YXJcdOWwhui+k+WHuui1i+WAvOe7mSBzaGVsbCDlj5jph48gVkFSIOiAjOS4jeaYvuekuuWcqOagh+WHhui+k+WHuuS4ilxuIgorIiAgICBcbiIKKyIgICAgRk9STUFUIOWPmOmHj+aYr+WMheWQq+S4ieenjeWvueixoeeahOWtl+espuS4su+8mueugOWNleWcsOiiq+aLt+i0neWIsOagh+WHhui+k+WHuueahOaZrumAmuWtl+espu+8m1xuIgorIiAgICDooqvlj5jmjaLkuYvlkI7mi7fotJ3liLDmoIflh4bovpPlhaXnmoTovazkuYnlrZfnrKbvvJvku6Xlj4rmr4/kuKrpg73kvJrlvbHlk43liLDkuIvkuKrlj4LmlbDnmoTmiZPljbAiCisi55qEICAgIOagvOW8j+WMluWjsOaYjuOAglxuIgorIiAgICBcbiIKKyIgICAg5ZyoIHByaW50ZigxKeOAgXByaW50ZigzKSDkuK3mj4/ov7DnmoTmoIflh4bmjqfliLblo7DmmI7kuYvlpJbvvIxwcmludGbop6PmnpDvvJpcbiIKKyLjgIEgICAgXG4iCisiICAgICAgJWJcdOaJqeWxleWvueW6lOWPguaVsOS4reeahOWPjeaWnOadoOi9rOS5ieW6j+WIl1xuIgorIiAgICAgICVxXHTku6Xlj6/kvZzkuLogc2hlbGwg6L6T5YWl55qE5qC85byP5byV55So5Y+C5pWwXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6L+U5Zue5oiQ5Yqf77yM6Zmk6Z2e5L2/55So5LqG5peg5pWI55qE6YCJ6aG55oiW6ICF5YaZ5oiW6LWL5YC86ZSZ6K+v5Y+R55Sf44CCIgorCisjOiBidWlsdGlucy5jOjE5MTMKK21zZ2lkICIiCisiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCisiICAgIFxuIgorIiAgICBGb3IgZWFjaCBOQU1FLCBzcGVjaWZ5IGhvdyBhcmd1bWVudHMgYXJlIHRvIGJlIGNvbXBsZXRlZC4gIElmIG5vICIKKyJvcHRpb25zXG4iCisiICAgIGFyZSBzdXBwbGllZCwgZXhpc3RpbmcgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9ucyBhcmUgcHJpbnRlZCBpbiBhIHdheSAiCisidGhhdFxuIgorIiAgICBhbGxvd3MgdGhlbSB0byBiZSByZXVzZWQgYXMgaW5wdXQuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1wXHRwcmludCBleGlzdGluZyBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zIGluIGEgcmV1c2FibGUgZm9ybWF0XG4iCisiICAgICAgLXJcdHJlbW92ZSBhIGNvbXBsZXRpb24gc3BlY2lmaWNhdGlvbiBmb3IgZWFjaCBOQU1FLCBvciwgaWYgbm9cbiIKKyIgICAgXHROQU1FcyBhcmUgc3VwcGxpZWQsIGFsbCBjb21wbGV0aW9uIHNwZWNpZmljYXRpb25zXG4iCisiICAgICAgLURcdGFwcGx5IHRoZSBjb21wbGV0aW9ucyBhbmQgYWN0aW9ucyBhcyB0aGUgZGVmYXVsdCBmb3IgY29tbWFuZHNcbiIKKyIgICAgXHR3aXRob3V0IGFueSBzcGVjaWZpYyBjb21wbGV0aW9uIGRlZmluZWRcbiIKKyIgICAgICAtRVx0YXBwbHkgdGhlIGNvbXBsZXRpb25zIGFuZCBhY3Rpb25zIHRvIFwiZW1wdHlcIiBjb21tYW5kcyAtLVxuIgorIiAgICBcdGNvbXBsZXRpb24gYXR0ZW1wdGVkIG9uIGEgYmxhbmsgbGluZVxuIgorIiAgICBcbiIKKyIgICAgV2hlbiBjb21wbGV0aW9uIGlzIGF0dGVtcHRlZCwgdGhlIGFjdGlvbnMgYXJlIGFwcGxpZWQgaW4gdGhlIG9yZGVyIHRoZVxuIgorIiAgICB1cHBlcmNhc2UtbGV0dGVyIG9wdGlvbnMgYXJlIGxpc3RlZCBhYm92ZS4gIFRoZSAtRCBvcHRpb24gdGFrZXNcbiIKKyIgICAgcHJlY2VkZW5jZSBvdmVyIC1FLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKK21zZ3N0ciAiIgorIuWjsOaYjiByZWFkbGluZSDlpoLkvZXlrozmiJDor7vlj5blj4LmlbDjgIJcbiIKKyIgICAgXG4iCisiICAgIOWjsOaYjuWvueS6juavj+S4gOS4qiBOQU1FIOWQjeensOWmguS9leWujOaIkOivu+WPluWPguaVsOOAguWmguaenOS4jeW4pumAiemhue+8jFxuIgorIiAgICDnjrDmnInnmoTooaXlrozlo7DmmI7kvJrku6Xlj6/ku6Xph43nlKjkuLrovpPlhaXnmoTmoLzlvI/miZPljbDlh7rmnaXjgIJcbiIKKyIgICAgXG4iCisiICAgIOmAiemhue+8mlxuIgorIiAgICAgIC1wXHTku6Xlj6/ph43nlKjnmoTmoLzlvI/miZPljbDnjrDmnInnmoTooaXlrozlo7DmmI7jgIJcbiIKKyIgICAgICAtclx0cuWvueS6juavj+S4qiBOQU1FIOWQjeensOWIoOmZpOihpeWujOWjsOaYju+8jOaIluiAheWmguaenOayoeacieaPkOS+myBOQU1FXG4iCisiICAgIFx05ZCN56ew77yM5Yig6Zmk5omA5pyJ55qE6KGl5a6M5aOw5piO44CCXG4iCisiICAgICAgLURcdOWvueS6juayoeacieihpeWujOWjsOaYjuWumuS5ieeahOWRveS7pO+8jOiuvuWumum7mOiupOeahOihpeWujOWKqOS9nFxuIgorIiAgICAgIC1FXHTlr7nkuo4gXCJlbXB0eVwiIOWRveS7pOiuvuWumuihpeWujOWKqOS9nO+8jOKAlOKAlCDlr7nkuo7nqbrooYznmoTooaXlrozjgIJcbiIKKyIgICAgXG4iCisiICAgIOWwneivleihpeWujOaXtu+8jOaMieeFp+S4iui/sOWkp+WGmeWtl+avjemAiemhueeahOmhuuW6j+i/m+ihjOWKqOS9nOOAgi1EIOmAiemhueS8mOWFiFxuIgorIiAgICDnuqfpq5jkuo4gLUUg6YCJ6aG544CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6L+U5Zue5oiQ5Yqf77yM6Zmk6Z2e5L2/55So5LqG5peg5pWI55qE6YCJ6aG55oiW6ICF6ZSZ6K+v5Y+R55Sf44CCIgorCisjOiBidWlsdGlucy5jOjE5NDEKK21zZ2lkICIiCisiRGlzcGxheSBwb3NzaWJsZSBjb21wbGV0aW9ucyBkZXBlbmRpbmcgb24gdGhlIG9wdGlvbnMuXG4iCisiICAgIFxuIgorIiAgICBJbnRlbmRlZCB0byBiZSB1c2VkIGZyb20gd2l0aGluIGEgc2hlbGwgZnVuY3Rpb24gZ2VuZXJhdGluZyBwb3NzaWJsZVxuIgorIiAgICBjb21wbGV0aW9ucy4gIElmIHRoZSBvcHRpb25hbCBXT1JEIGFyZ3VtZW50IGlzIHN1cHBsaWVkLCBtYXRjaGVzICIKKyJhZ2FpbnN0XG4iCisiICAgIFdPUkQgYXJlIGdlbmVyYXRlZC5cbiIKKyIgICAgXG4iCisiICAgIEV4aXQgU3RhdHVzOlxuIgorIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCittc2dzdHIgIiIKKyLkvp3mja7pgInpobnmmL7npLrlj6/og73nmoTooaXlrozjgIJcbiIKKyIgICAgXG4iCisiICAgIOaEj+WbvuWcqOiDveS6p+eUn+WPr+iDveeahOihpeWujOeahCBzaGVsbCDlh73mlbDlhoXpg6jkvb/nlKjjgIJcbiIKKyIgICAg5aaC5p6c5o+Q5L6b5LqG5Y+v6YCJ55qEIFdPUkQg5Y+C5pWw77yM5YiZ5Lqn55Sf5oyJ54WnIFdPUkRcbiIKKyIgICAg6L+b6KGM55qE5Yy56YWN44CCXG4iCisiICAgIFxuIgorIiAgICDpgIDlh7rnirbmgIHvvJpcbiIKKyIgICAg6Zmk6Z2e5L2/55So5LqG5peg5pWI6YCJ6aG55oiW6ICF6ZSZ6K+v5Y+R55Sf77yM5ZCm5YiZ6L+U5Zue5oiQ5Yqf44CCIgorCisjOiBidWlsdGlucy5jOjE5NTYKKyMsIGZ1enp5Cittc2dpZCAiIgorIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKKyIgICAgXG4iCisiICAgIE1vZGlmeSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBubyBOQU1FcyBhcmUgIgorInN1cHBsaWVkLFxuIgorIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVpbmcgZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbiwgIgorInByaW50XG4iCisiICAgIHRoZSBjb21wbGV0aW9uIG9wdGlvbnMgZm9yIGVhY2ggTkFNRSBvciB0aGUgY3VycmVudCBjb21wbGV0aW9uICIKKyJzcGVjaWZpY2F0aW9uLlxuIgorIiAgICBcbiIKKyIgICAgT3B0aW9uczpcbiIKKyIgICAgXHQtbyBvcHRpb25cdFNldCBjb21wbGV0aW9uIG9wdGlvbiBPUFRJT04gZm9yIGVhY2ggTkFNRVxuIgorIiAgICBcdC1EXHRcdENoYW5nZSBvcHRpb25zIGZvciB0aGUgXCJkZWZhdWx0XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCisiICAgIFx0LUVcdFx0Q2hhbmdlIG9wdGlvbnMgZm9yIHRoZSBcImVtcHR5XCIgY29tbWFuZCBjb21wbGV0aW9uXG4iCisiICAgIFxuIgorIiAgICBVc2luZyBgK28nIGluc3RlYWQgb2YgYC1vJyB0dXJucyBvZmYgdGhlIHNwZWNpZmllZCBvcHRpb24uXG4iCisiICAgIFxuIgorIiAgICBBcmd1bWVudHM6XG4iCisiICAgIFxuIgorIiAgICBFYWNoIE5BTUUgcmVmZXJzIHRvIGEgY29tbWFuZCBmb3Igd2hpY2ggYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gbXVzdFxuIgorIiAgICBoYXZlIHByZXZpb3VzbHkgYmVlbiBkZWZpbmVkIHVzaW5nIHRoZSBgY29tcGxldGUnIGJ1aWx0aW4uICBJZiBubyBOQU1Fc1xuIgorIiAgICBhcmUgc3VwcGxpZWQsIGNvbXBvcHQgbXVzdCBiZSBjYWxsZWQgYnkgYSBmdW5jdGlvbiBjdXJyZW50bHkgZ2VuZXJhdGluZ1xuIgorIiAgICBjb21wbGV0aW9ucywgYW5kIHRoZSBvcHRpb25zIGZvciB0aGF0IGN1cnJlbnRseS1leGVjdXRpbmcgY29tcGxldGlvblxuIgorIiAgICBnZW5lcmF0b3IgYXJlIG1vZGlmaWVkLlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgTkFNRSBkb2VzIG5vdFxuIgorIiAgICBoYXZlIGEgY29tcGxldGlvbiBzcGVjaWZpY2F0aW9uIGRlZmluZWQuIgorbXNnc3RyICIiCisi5L+u5pS55oiW5pi+56S66KGl5a6M6YCJ6aG544CCXG4iCisiICAgIFxuIgorIiAgICDkv67mlLnmr4/kuKogTkFNRSDlkI3np7DnmoTooaXlrozpgInpobnvvIzmiJbogIXlpoLmnpzmsqHmnInmj5DkvpsgTkFNRSDlkI3np7DvvIxcbiIKKyIgICAg5omn6KGM5b2T5YmN55qE6KGl5a6M44CC5aaC5p6c5LiN5bim6YCJ6aG577yM5omT5Y2w5q+P5LiqIE5BTUUg5ZCN56ew55qE6KGl5a6M6YCJ6aG55oiWXG4iCisiICAgIOW9k+WJjeeahOihpeWujOWjsOaYjuOAglxuIgorIiAgICBcbiIKKyIgICAg6YCJ6aG577yaXG4iCisiICAgIFx0LW8gb3B0aW9uXHTkuLrmr4/kuKogTkFNRSDlkI3np7Dorr7lrprooaXlrozpgInpobkgb3B0aW9uXG4iCisiICAgIFx0LURcdFx05Li6IFwiZGVmYXVsdFwiIOWRveS7pOihpeWujOaUueWPmOmAiemhuVxuIgorIiAgICBcdC1FXHRcdOS4uiBcImVtcHR5XCIg5ZG95Luk6KGl5a6M5pS55Y+Y6YCJ6aG5XG4iCisiICAgIFxuIgorIiAgICDkvb/nlKggYCtvJyDogIzkuI3mmK8gYC1vJyDlj6/ku6XlhbPpl63mjIflrprnmoTpgInpobnjgIJcbiIKKyIgICAgXG4iCisiICAgIOWPguaVsO+8mlxuIgorIiAgICBcbiIKKyIgICAg5q+P5LiqIE5BTUUg5ZCN56ew6YO95a+55bqU5LiA5Liq5LmL5YmN5Lul6YCa6L+HIGBjb21wbGV0ZScg5YaF5bWM5a6a5LmJ5LqG6KGl5a6M5aOw5piO55qEXG4iCisiICAgIOWRveS7pOOAguWmguaenOS4jeaPkOS+myBOQU1FIOWQjeensO+8jOW9k+WJjeeUn+aIkOihpeWujOeahOWHveaVsOW/hemhu+iwg+eUqCBjb21wb3B077yMXG4iCisiICAgIOW5tuS4lOW9k+WJjeaJp+ihjOeahOihpeWujOeUn+aIkOWZqOmAiemhueS8muiiq+S/ruaUueOAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOmZpOmdnuS9v+eUqOS6huaXoOaViOeahOmAiemhueaIluiAhSBOQU1FIOWQjeensOayoeacieWumuS5ieihpeWujOWjsOaYjuOAgiIKKworIzogYnVpbHRpbnMuYzoxOTg2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJSZWFkIGxpbmVzIGZyb20gdGhlIHN0YW5kYXJkIGlucHV0IGludG8gYW4gaW5kZXhlZCBhcnJheSB2YXJpYWJsZS5cbiIKKyIgICAgXG4iCisiICAgIFJlYWQgbGluZXMgZnJvbSB0aGUgc3RhbmRhcmQgaW5wdXQgaW50byB0aGUgaW5kZXhlZCBhcnJheSB2YXJpYWJsZSAiCisiQVJSQVksIG9yXG4iCisiICAgIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGlmIHRoZSAtdSBvcHRpb24gaXMgc3VwcGxpZWQuICBUaGUgdmFyaWFibGUgIgorIk1BUEZJTEVcbiIKKyIgICAgaXMgdGhlIGRlZmF1bHQgQVJSQVkuXG4iCisiICAgIFxuIgorIiAgICBPcHRpb25zOlxuIgorIiAgICAgIC1uIGNvdW50XHRDb3B5IGF0IG1vc3QgQ09VTlQgbGluZXMuICBJZiBDT1VOVCBpcyAwLCBhbGwgbGluZXMgYXJlICIKKyJjb3BpZWQuXG4iCisiICAgICAgLU8gb3JpZ2luXHRCZWdpbiBhc3NpZ25pbmcgdG8gQVJSQVkgYXQgaW5kZXggT1JJR0lOLiAgVGhlIGRlZmF1bHQgIgorImluZGV4IGlzIDAuXG4iCisiICAgICAgLXMgY291bnQgXHREaXNjYXJkIHRoZSBmaXJzdCBDT1VOVCBsaW5lcyByZWFkLlxuIgorIiAgICAgIC10XHRcdFJlbW92ZSBhIHRyYWlsaW5nIG5ld2xpbmUgZnJvbSBlYWNoIGxpbmUgcmVhZC5cbiIKKyIgICAgICAtdSBmZFx0XHRSZWFkIGxpbmVzIGZyb20gZmlsZSBkZXNjcmlwdG9yIEZEIGluc3RlYWQgb2YgdGhlIHN0YW5kYXJkICIKKyJpbnB1dC5cbiIKKyIgICAgICAtQyBjYWxsYmFja1x0RXZhbHVhdGUgQ0FMTEJBQ0sgZWFjaCB0aW1lIFFVQU5UVU0gbGluZXMgYXJlIHJlYWQuXG4iCisiICAgICAgLWMgcXVhbnR1bVx0U3BlY2lmeSB0aGUgbnVtYmVyIG9mIGxpbmVzIHJlYWQgYmV0d2VlbiBlYWNoIGNhbGwgdG8gIgorIkNBTExCQUNLLlxuIgorIiAgICBcbiIKKyIgICAgQXJndW1lbnRzOlxuIgorIiAgICAgIEFSUkFZXHRcdEFycmF5IHZhcmlhYmxlIG5hbWUgdG8gdXNlIGZvciBmaWxlIGRhdGEuXG4iCisiICAgIFxuIgorIiAgICBJZiAtQyBpcyBzdXBwbGllZCB3aXRob3V0IC1jLCB0aGUgZGVmYXVsdCBxdWFudHVtIGlzIDUwMDAuICBXaGVuXG4iCisiICAgIENBTExCQUNLIGlzIGV2YWx1YXRlZCwgaXQgaXMgc3VwcGxpZWQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IGFycmF5XG4iCisiICAgIGVsZW1lbnQgdG8gYmUgYXNzaWduZWQgYW5kIHRoZSBsaW5lIHRvIGJlIGFzc2lnbmVkIHRvIHRoYXQgZWxlbWVudFxuIgorIiAgICBhcyBhZGRpdGlvbmFsIGFyZ3VtZW50cy5cbiIKKyIgICAgXG4iCisiICAgIElmIG5vdCBzdXBwbGllZCB3aXRoIGFuIGV4cGxpY2l0IG9yaWdpbiwgbWFwZmlsZSB3aWxsIGNsZWFyIEFSUkFZICIKKyJiZWZvcmVcbiIKKyIgICAgYXNzaWduaW5nIHRvIGl0LlxuIgorIiAgICBcbiIKKyIgICAgRXhpdCBTdGF0dXM6XG4iCisiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4gb3IgQVJSQVkgaXMgcmVhZG9ubHkgIgorIm9yXG4iCisiICAgIG5vdCBhbiBpbmRleGVkIGFycmF5LiIKK21zZ3N0ciAiIgorIuS7juagh+WHhui+k+WFpeivu+WPluihjOWIsOS4i+ihqOaVsOe7hOWPmOmHj+S4reOAglxuIgorIiAgICBcbiIKKyIgICAg5LuO5qCH5YeG6L6T5YWl6K+75Y+W6KGM5Yiw5LiL6KGo5pWw57uE5Y+Y6YePIEFSUkFZIOS4re+8jOaIluiAheWmguaenOS9v+eUqOS6hiAtdSDpgInpobnvvIxcbiIKKyIgICAg5LuO5paH5Lu25o+P6L+w56ymIEZEIOS4reivu+WPluOAgk1BUEZJTEUg5Y+Y6YeP5piv6buY6K6k55qEIEFSUkFZIOWPmOmHj+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCJ6aG577yaXG4iCisiICAgICAgLW4gY291bnRcdOacgOWkmuaLt+i0nSBDT1VOVCDooYzvvIzlpoLmnpwgQ09VTlQg5Li6MO+8jOWImeaLt+i0neaJgOacieihjOOAglxuIgorIiAgICAgIC1PIG9yaWdpblx05LuO5LiL6KGoIE9SSUdJTiDlvIDlp4sg6LWL5YC857uZIEFSUkFZIOWPmOmHj+OAgum7mOiupOS4i+ihqOaYrzAuXG4iCisiICAgICAgLXMgY291bnQgXHTkuKLlvIPmnIDlhYjor7vlj5bnmoQgQ09VTlQg6KGM44CCXG4iCisiICAgICAgLXRcdFx05LuO6K+75Y+W55qE5q+P6KGM5pyr5bC+5Yig6Zmk5LiA5Liq5o2i6KGM56ym44CCXG4iCisiICAgICAgLXUgZmRcdFx05LuO5paH5Lu25o+P6L+w56ymIEZEIOS4reivu+WPluihjOiAjOS4jeaYr+agh+WHhui+k+WFpeOAglxuIgorIiAgICAgIC1DIGNhbGxiYWNrXHTmr4/mrKEgUVVBTlRVTSDooYzor7vlj5bkuYvlkI7lr7kgQ0FMTEJBQ0sg5Zue6LCD6L+b6KGM5Lyw5YC844CCXG4iCisiICAgICAgLWMgcXVhbnR1bVx05a6a5LmJ5q+P5qyh6LCD55SoIENBTExCQUNLIOWbnuiwg+S5i+mXtOivu+WPlueahOihjOaVsOOAglxuIgorIiAgICBcbiIKKyIgICAg5Y+C5pWw77yaXG4iCisiICAgICAgQVJSQVlcdFx05a2Y5YKo5pWw5o2u5L2/55So55qE5pWw57uE5Y+Y6YePXG4iCisiICAgIFxuIgorIiAgICDlpoLmnpzkvb/nlKjkuoYtQ+iAjOayoeaciS1j77yM6buY6K6k55qE6YeP5a2Q5pivNTAwMOOAguW9k+WvuSBDQUxMQkFDSyDkvLDlgLzml7bvvIxcbiIKKyIgICAg5LiL5LiA5Liq5bCG6KKr6LWL5YC855qE5pWw57uE5YWD57Sg55qE5LiL5qCH5L2c5Li66aKd5aSW5Y+C5pWw6KKr5Lyg6YCS44CCXG4iCisiICAgIFxuIgorIiAgICDlpoLmnpzmsqHmnInmmL7lvI/mjIflrprotbflp4vkuIvmoIfvvIxtYXBmaWxl5bCG5Zyo6LWL5YC85YmN5riF56m6IEFSUkFZIOWPmOmHj+OAglxuIgorIiAgICBcbiIKKyIgICAg6YCA5Ye654q25oCB77yaXG4iCisiICAgIOi/lOWbnuaIkOWKn++8jOmZpOmdnuS9v+eUqOS6huaXoOaViOeahOmAiemhue+8jOaIluiAhSBBUlJBWSDlj5jph4/mmK/lj6ror7vmiJbogIXkuI3mmK/kuIvmoIfmlbDnu4TjgIIiCisKKyM6IGJ1aWx0aW5zLmM6MjAyMAorbXNnaWQgIiIKKyJSZWFkIGxpbmVzIGZyb20gYSBmaWxlIGludG8gYW4gYXJyYXkgdmFyaWFibGUuXG4iCisiICAgIFxuIgorIiAgICBBIHN5bm9ueW0gZm9yIGBtYXBmaWxlJy4iCittc2dzdHIgIiIKKyLku47kuIDkuKrmlofku7bkuK3or7vlj5booYzliLDmlbDnu4Tlj5jph4/kuK1cbiIKKyIgICAgXG4iCisiICAgIOS4gOS4qiBgbWFwZmlsZSfnmoTlkIzkuYnor43jgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCisjfiAiICAgICIKKyN+IG1zZ3N0ciAiIgorI34gIi4gIOW4puaciSBFWFBSIOaXtu+8jCDov5Tlm55cbiIKKyN+ICIgICAgIgorCisjfiBtc2dpZCAiIgorI34gIjsgdGhpcyBleHRyYSBpbmZvcm1hdGlvbiBjYW4gYmUgdXNlZCB0b1xuIgorI34gIiAgICBwcm92aWRlIGEgc3RhY2sgdHJhY2UuXG4iCisjfiAiICAgIFxuIgorI34gIiAgICBUaGUgdmFsdWUgb2YgRVhQUiBpbmRpY2F0ZXMgaG93IG1hbnkgY2FsbCBmcmFtZXMgdG8gZ28gYmFjayBiZWZvcmUgIgorI34gInRoZVxuIgorI34gIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKKyN+IG1zZ3N0ciAiIgorI34gIjsg6L+Z5Liq6aKd5aSW5L+h5oGv5Y+v6KKr55So5LqOXG4iCisjfiAiICAgIOaPkOS+m+agiOi/vei4qi5cbiIKKyN+ICIgICAgXG4iCisjfiAiICAgIEVYUFIg55qE5YC85pi+56S65LqG5Zue5Yiw5b2T5YmN6LCD55So5bin5LmL5YmNXG4iCisjfiAiICAgIOeahOiwg+eUqOW4p+S5puebrjsg5qCI6aG25bin5piv56ysMOW4py4iCmRpZmYgLS1naXQgYS9wby96aF9UVy5nbW8gYi9wby96aF9UVy5nbW8KaW5kZXggYzNjYTY3NS4uYjk2NWQ1ZiAxMDA2NDQKLS0tIGEvcG8vemhfVFcuZ21vCisrKyBiL3BvL3poX1RXLmdtbwpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS9wby96aF9UVy5wbyBiL3BvL3poX1RXLnBvCmluZGV4IDdhNWQzMmIuLjM4ZGU4NDQgMTAwNjQ0Ci0tLSBhL3BvL3poX1RXLnBvCisrKyBiL3BvL3poX1RXLnBvCkBAIC03LDcgKzcsNyBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiBiYXNoLTMuMlxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwOS0xMi0zMCAwODoyNS0wNTAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTEtMDEtMjggMjI6MDktMDUwMFxuIgogIlBPLVJldmlzaW9uLURhdGU6IDIwMDgtMDgtMjAgMjA6MTIrMDgwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogWmktWW91IERhaSAgPGlvcHBvb3N0ZXJAZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IENoaW5lc2UgKHRyYWRpdGlvbmFsKSAgPHpoLWwxMG5AbGludXgub3JnLnR3PlxuIgpAQCAtMjAsNyArMjAsNyBAQAogbXNnaWQgImJhZCBhcnJheSBzdWJzY3JpcHQiCiBtc2dzdHIgIiIKIAotIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4MQorIzogYXJyYXlmdW5jLmM6MzEzIGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ4NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGNvbnZlcnQgaW5kZXhlZCB0byBhc3NvY2lhdGl2ZSBhcnJheSIKIG1zZ3N0ciAiIgpAQCAtNDAsMjYgKzQwLDI2IEBACiBtc2dpZCAiJXM6ICVzOiBtdXN0IHVzZSBzdWJzY3JpcHQgd2hlbiBhc3NpZ25pbmcgYXNzb2NpYXRpdmUgYXJyYXkiCiBtc2dzdHIgIiIKIAotIzogYmFzaGhpc3QuYzozODMKKyM6IGJhc2hoaXN0LmM6Mzg3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY3JlYXRlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM0NTcKKyM6IGJhc2hsaW5lLmM6MzQ5OAogbXNnaWQgImJhc2hfZXhlY3V0ZV91bml4X2NvbW1hbmQ6IGNhbm5vdCBmaW5kIGtleW1hcCBmb3IgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM1NDMKKyM6IGJhc2hsaW5lLmM6MzU4NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogZmlyc3Qgbm9uLXdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIG5vdCBgXCInIgogbXNnc3RyICIiCiAKLSM6IGJhc2hsaW5lLmM6MzU3MgorIzogYmFzaGxpbmUuYzozNjEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGNsb3NpbmcgYCVjJyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBiYXNobGluZS5jOjM2MDYKKyM6IGJhc2hsaW5lLmM6MzY0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogbWlzc2luZyBjb2xvbiBzZXBhcmF0b3IiCiBtc2dzdHIgIiIKQEAgLTExOCwyNiArMTE4LDExIEBACiAiICAgIFdpdGhvdXQgRVhQUiwgcmV0dXJucyAiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvY2FsbGVyLmRlZjoxMzUKLW1zZ2lkICIiCi0iLiAgV2l0aCBFWFBSLCByZXR1cm5zXG4iCi0iICAgICIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jYWxsZXIuZGVmOjEzNgotbXNnaWQgIiIKLSI7IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gY2FuIGJlIHVzZWQgdG9cbiIKLSIgICAgcHJvdmlkZSBhIHN0YWNrIHRyYWNlLlxuIgotIiAgICBcbiIKLSIgICAgVGhlIHZhbHVlIG9mIEVYUFIgaW5kaWNhdGVzIGhvdyBtYW55IGNhbGwgZnJhbWVzIHRvIGdvIGJhY2sgYmVmb3JlIHRoZVxuIgotIiAgICBjdXJyZW50IG9uZTsgdGhlIHRvcCBmcmFtZSBpcyBmcmFtZSAwLiIKLW1zZ3N0ciAiIgotCi0jOiBidWlsdGlucy9jZC5kZWY6MjE1CisjOiBidWlsdGlucy9jZC5kZWY6MjM1CiBtc2dpZCAiSE9NRSBub3Qgc2V0IgogbXNnc3RyICJIT01FIOaykuacieioree9riIKIAotIzogYnVpbHRpbnMvY2QuZGVmOjIyNworIzogYnVpbHRpbnMvY2QuZGVmOjI0NwogbXNnaWQgIk9MRFBXRCBub3Qgc2V0IgogbXNnc3RyICJPTERQV0Qg5rKS5pyJ6Kit572uIgogCkBAIC0xNTYsMTEgKzE0MSwxMSBAQAogbXNnaWQgIiVzOiB1c2FnZTogIgogbXNnc3RyICIlc++8muitpuWRiu+8miIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MTY2IHRlc3QuYzo4MjcKKyM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE2NiB0ZXN0LmM6ODMyCiBtc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgogbXNnc3RyICLlpKrlpJrlvJXmlbgiCiAKLSM6IGJ1aWx0aW5zL2NvbW1vbi5jOjE5MSBzaGVsbC5jOjQ5OSBzaGVsbC5jOjc4MgorIzogYnVpbHRpbnMvY29tbW9uLmM6MTkxIHNoZWxsLmM6NTAwIHNoZWxsLmM6NzgyCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiCiBtc2dzdHIgIiVz77ya6YG46aCF6ZyA6KaB5LiA5YCL5byV5pW4IgpAQCAtMjAwLDcgKzE4NSw3IEBACiBtc2dpZCAiaW52YWxpZCBoZXggbnVtYmVyIgogbXNnc3RyICIlc++8mueEoeaViOeahOiZn+eivCIKIAotIzogYnVpbHRpbnMvY29tbW9uLmM6MjQyIGV4cHIuYzoxMjU2CisjOiBidWlsdGlucy9jb21tb24uYzoyNDIgZXhwci5jOjEzNjIKIG1zZ2lkICJpbnZhbGlkIG51bWJlciIKIG1zZ3N0ciAiIgogCkBAIC0zMDksMjUgKzI5NCwyNSBAQAogbXNnaWQgIm5vdCBjdXJyZW50bHkgZXhlY3V0aW5nIGNvbXBsZXRpb24gZnVuY3Rpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MTIyCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjoxMjQKIG1zZ2lkICJjYW4gb25seSBiZSB1c2VkIGluIGEgZnVuY3Rpb24iCiBtc2dzdHIgIuWPquiDveeUqOWcqOS4gOWAi+WHveaVuCIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzYwCisjOiBidWlsdGlucy9kZWNsYXJlLmRlZjozNjYKIG1zZ2lkICJjYW5ub3QgdXNlIGAtZicgdG8gbWFrZSBmdW5jdGlvbnMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6MzcyIGV4ZWN1dGVfY21kLmM6NDkzNworIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6Mzc4IGV4ZWN1dGVfY21kLmM6NTEwNQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcmVhZG9ubHkgZnVuY3Rpb24iCiBtc2dzdHIgIiVz77ya5Y+q6K6A5Ye95pW4IgogCi0jOiBidWlsdGlucy9kZWNsYXJlLmRlZjo0NjgKKyM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NAogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGRlc3Ryb3kgYXJyYXkgdmFyaWFibGVzIGluIHRoaXMgd2F5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2RlY2xhcmUuZGVmOjQ3NQorIzogYnVpbHRpbnMvZGVjbGFyZS5kZWY6NDgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgY29udmVydCBhc3NvY2lhdGl2ZSB0byBpbmRleGVkIGFycmF5IgogbXNnc3RyICIiCkBAIC0zNTYsMjkgKzM0MSwyOSBAQAogbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlOiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjEzNCBidWlsdGlucy9oYXNoLmRlZjoxNjkgZXhlY3V0ZV9jbWQuYzo0Nzk0Ci0jOiBzaGVsbC5jOjE0NTIKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTM1IGJ1aWx0aW5zL2hhc2guZGVmOjE3MSBleGVjdXRlX2NtZC5jOjQ5NjEKKyM6IHNoZWxsLmM6MTQ1NwogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaXMgYSBkaXJlY3RvcnkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxMzkKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYSByZWd1bGFyIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxNDcKKyM6IGJ1aWx0aW5zL2V2YWxmaWxlLmM6MTQ4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBmaWxlIGlzIHRvbyBsYXJnZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9ldmFsZmlsZS5jOjE4NSBidWlsdGlucy9ldmFsZmlsZS5jOjIwMyBleGVjdXRlX2NtZC5jOjQ4NjQKLSM6IHNoZWxsLmM6MTQ2MgorIzogYnVpbHRpbnMvZXZhbGZpbGUuYzoxODIgYnVpbHRpbnMvZXZhbGZpbGUuYzoyMDAgZXhlY3V0ZV9jbWQuYzo1MDMyCisjOiBzaGVsbC5jOjE0NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2V4ZWMuZGVmOjIxMgorIzogYnVpbHRpbnMvZXhlYy5kZWY6MTU0IGJ1aWx0aW5zL2V4ZWMuZGVmOjE1NiBidWlsdGlucy9leGVjLmRlZjoyMjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBleGVjdXRlOiAlcyIKIG1zZ3N0ciAiIgpAQCAtNDA2LDExICszOTEsMTEgQEAKIG1zZ2lkICJubyBjb21tYW5kIGZvdW5kIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2ZjLmRlZjozNDkKKyM6IGJ1aWx0aW5zL2ZjLmRlZjozMTIgYnVpbHRpbnMvZmMuZGVmOjM1OQogbXNnaWQgImhpc3Rvcnkgc3BlY2lmaWNhdGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9mYy5kZWY6MzcwCisjOiBidWlsdGlucy9mYy5kZWY6MzgwCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiB0ZW1wIGZpbGU6ICVzIgogbXNnc3RyICIiCkBAIC00NDMsNyArNDI4LDcgQEAKIG1zZ2lkICIlczogaGFzaCB0YWJsZSBlbXB0eVxuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2hhc2guZGVmOjI0NAorIzogYnVpbHRpbnMvaGFzaC5kZWY6MjQ1CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJoaXRzXHRjb21tYW5kXG4iCiBtc2dzdHIgIuacgOW+jOeahOWRveS7pO+8miAlc1xuIgpAQCAtNDk5LDc2ICs0ODQsODYgQEAKIG1zZ2lkICJubyBvdGhlciBvcHRpb25zIGFsbG93ZWQgd2l0aCBgLXgnIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2tpbGwuZGVmOjIwMAorIzogYnVpbHRpbnMva2lsbC5kZWY6MTk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBhcmd1bWVudHMgbXVzdCBiZSBwcm9jZXNzIG9yIGpvYiBJRHMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMva2lsbC5kZWY6MjYzCisjOiBidWlsdGlucy9raWxsLmRlZjoyNjEKIG1zZ2lkICJVbmtub3duIGVycm9yIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL2xldC5kZWY6OTUgYnVpbHRpbnMvbGV0LmRlZjoxMjAgZXhwci5jOjUwMSBleHByLmM6NTE2CisjOiBidWlsdGlucy9sZXQuZGVmOjk1IGJ1aWx0aW5zL2xldC5kZWY6MTIwIGV4cHIuYzo1NTIgZXhwci5jOjU2NwogbXNnaWQgImV4cHJlc3Npb24gZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MTY1CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjoxNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IG5vdCBhbiBpbmRleGVkIGFycmF5IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI0OSBidWlsdGlucy9yZWFkLmRlZjoyNzkKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI1NiBidWlsdGlucy9yZWFkLmRlZjoyNzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgZmlsZSBkZXNjcmlwdG9yIHNwZWNpZmljYXRpb24iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjU3IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgorIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MjY0IGJ1aWx0aW5zL3JlYWQuZGVmOjI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3I6ICVzIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI2NiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDQKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI3MyBidWlsdGlucy9tYXBmaWxlLmRlZjozMTEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbmUgY291bnQiCiBtc2dzdHIgIiVz77ya54Sh5pWI6YG46aCFIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjoyNzcKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjI4NAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGludmFsaWQgYXJyYXkgb3JpZ2luIgogbXNnc3RyICIlc++8mueEoeaViOmBuOmghSIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6Mjk0CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMDEKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGNhbGxiYWNrIHF1YW50dW0iCiBtc2dzdHIgIiVz77ya54Sh5pWI55qE5Yqf6IO95ZCN56ixIgogCi0jOiBidWlsdGlucy9tYXBmaWxlLmRlZjozMjYKKyM6IGJ1aWx0aW5zL21hcGZpbGUuZGVmOjMzMwogbXNnaWQgImVtcHR5IGFycmF5IHZhcmlhYmxlIG5hbWUiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvbWFwZmlsZS5kZWY6MzQ3CisjOiBidWlsdGlucy9tYXBmaWxlLmRlZjozNTQKIG1zZ2lkICJhcnJheSB2YXJpYWJsZSBzdXBwb3J0IHJlcXVpcmVkIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6Mzc0CisjOiBidWlsdGlucy9wcmludGYuZGVmOjM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJgJXMnOiBtaXNzaW5nIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NTEKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJgJWMnOiBpbnZhbGlkIHRpbWUgZm9ybWF0IHNwZWNpZmljYXRpb24iCittc2dzdHIgIiVz77ya54Sh5pWI55qE5L+h6Jmf6KaP5qC8IgorCisjOiBidWlsdGlucy9wcmludGYuZGVmOjYzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo1NzgKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6NjYyCiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICJ3YXJuaW5nOiAlczogJXMiCiBtc2dzdHIgIiVz77ya6K2m5ZGK77yaIgogCi0jOiBidWlsdGlucy9wcmludGYuZGVmOjc1NworIzogYnVpbHRpbnMvcHJpbnRmLmRlZjo4NDAKIG1zZ2lkICJtaXNzaW5nIGhleCBkaWdpdCBmb3IgXFx4IgogbXNnc3RyICIiCiAKKyM6IGJ1aWx0aW5zL3ByaW50Zi5kZWY6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NpbmcgdW5pY29kZSBkaWdpdCBmb3IgXFwlYyIKK21zZ3N0ciAiIgorCiAjOiBidWlsdGlucy9wdXNoZC5kZWY6MTk1CiBtc2dpZCAibm8gb3RoZXIgZGlyZWN0b3J5IgogbXNnc3RyICIiCkBAIC02NjksMjEgKzY2NCwyMSBAQAogbXNnaWQgImNhbiBvbmx5IGByZXR1cm4nIGZyb20gYSBmdW5jdGlvbiBvciBzb3VyY2VkIHNjcmlwdCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjc2OAorIzogYnVpbHRpbnMvc2V0LmRlZjo3NzEKIG1zZ2lkICJjYW5ub3Qgc2ltdWx0YW5lb3VzbHkgdW5zZXQgYSBmdW5jdGlvbiBhbmQgYSB2YXJpYWJsZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgwNQorIzogYnVpbHRpbnMvc2V0LmRlZjo4MDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zZXQuZGVmOjgxMgorIzogYnVpbHRpbnMvc2V0LmRlZjo4MTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCB1bnNldDogcmVhZG9ubHkgJXMiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc2V0LmRlZjo4MjMKKyM6IGJ1aWx0aW5zL3NldC5kZWY6ODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBub3QgYW4gYXJyYXkgdmFyaWFibGUiCiBtc2dzdHIgIiIKQEAgLTY5NywyMCArNjkyLDIwIEBACiBtc2dpZCAic2hpZnQgY291bnQiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2MAorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjI2NAogbXNnaWQgImNhbm5vdCBzZXQgYW5kIHVuc2V0IHNoZWxsIG9wdGlvbnMgc2ltdWx0YW5lb3VzbHkiCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyNQorIzogYnVpbHRpbnMvc2hvcHQuZGVmOjMyOQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogaW52YWxpZCBzaGVsbCBvcHRpb24gbmFtZSIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjEyOAorIzogYnVpbHRpbnMvc291cmNlLmRlZjoxMzAKIG1zZ2lkICJmaWxlbmFtZSBhcmd1bWVudCByZXF1aXJlZCIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy9zb3VyY2UuZGVmOjE1MworIzogYnVpbHRpbnMvc291cmNlLmRlZjoxNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGZpbGUgbm90IGZvdW5kIgogbXNnc3RyICIiCkBAIC03NTMsMjYgKzc0OCwyNiBAQAogbXNnaWQgIiVzIGlzIGhhc2hlZCAoJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjozNzIKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzc2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBpbnZhbGlkIGxpbWl0IGFyZ3VtZW50IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6Mzk4CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQwMgogIywgYy1mb3JtYXQKIG1zZ2lkICJgJWMnOiBiYWQgY29tbWFuZCIKIG1zZ3N0ciAiYCVjJ++8muWjnueahOWRveS7pCIKIAotIzogYnVpbHRpbnMvdWxpbWl0LmRlZjo0MjcKKyM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgZ2V0IGxpbWl0OiAlcyIKIG1zZ3N0ciAiJXPvvJrkuI3og73lvpfliLAgbGltaXTvvJogJXMiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDUzCisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ1NwogbXNnaWQgImxpbWl0IgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NDY1IGJ1aWx0aW5zL3VsaW1pdC5kZWY6NzY1CisjOiBidWlsdGlucy91bGltaXQuZGVmOjQ2OSBidWlsdGlucy91bGltaXQuZGVmOjc2OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IG1vZGlmeSBsaW1pdDogJXMiCiBtc2dzdHIgIiVz77ya5LiN6IO95L+u5pS5IGxpbWl077yaICVzIgpAQCAtODI4LDEwNiArODIzLDExMSBAQAogCiAjOiBldmFsLmM6MTgxCiAjLCBjLWZvcm1hdAotbXNnaWQgIgd0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCittc2dpZCAiXGF0aW1lZCBvdXQgd2FpdGluZyBmb3IgaW5wdXQ6IGF1dG8tbG9nb3V0XG4iCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTcKKyM6IGV4ZWN1dGVfY21kLmM6NTA0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCByZWRpcmVjdCBzdGFuZGFyZCBpbnB1dCBmcm9tIC9kZXYvbnVsbDogJXMiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzoxMTYyCisjOiBleGVjdXRlX2NtZC5jOjExNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVElNRUZPUk1BVDogYCVjJzogaW52YWxpZCBmb3JtYXQgY2hhcmFjdGVyIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6MjA3NQorIzogZXhlY3V0ZV9jbWQuYzoyMTIxCiAjLCBmdXp6eQogbXNnaWQgInBpcGUgZXJyb3IiCiBtc2dzdHIgIuWvq+WFpemMr+iqpO+8miAlcyIKIAotIzogZXhlY3V0ZV9jbWQuYzo0NDgxCisjOiBleGVjdXRlX2NtZC5jOjQ2NDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCBzcGVjaWZ5IGAvJyBpbiBjb21tYW5kIG5hbWVzIgogbXNnc3RyICIiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDU3MgorIzogZXhlY3V0ZV9jbWQuYzo0NzM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiJXPvvJrlkb3ku6Tmib7kuI3liLAiCiAKLSM6IGV4ZWN1dGVfY21kLmM6NDgyNworIzogZXhlY3V0ZV9jbWQuYzo0OTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBleGVjdXRlX2NtZC5jOjQ5OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6ICVzOiBiYWQgaW50ZXJwcmV0ZXIiCiBtc2dzdHIgIiIKIAotIzogZXhlY3V0ZV9jbWQuYzo0OTc2CisjOiBleGVjdXRlX2NtZC5jOjUxNDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGR1cGxpY2F0ZSBmZCAlZCB0byBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MjQxCisjOiBleHByLmM6MjU2CiBtc2dpZCAiZXhwcmVzc2lvbiByZWN1cnNpb24gbGV2ZWwgZXhjZWVkZWQiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjI2NQorIzogZXhwci5jOjI4MAogbXNnaWQgInJlY3Vyc2lvbiBzdGFjayB1bmRlcmZsb3ciCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjM3OQorIzogZXhwci5jOjQyMgogbXNnaWQgInN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIgogbXNnc3RyICLooajpgZToqp7ms5XpjK/oqqQiCiAKLSM6IGV4cHIuYzo0MTkKKyM6IGV4cHIuYzo0NjMKIG1zZ2lkICJhdHRlbXB0ZWQgYXNzaWdubWVudCB0byBub24tdmFyaWFibGUiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjQ0MCBleHByLmM6NDQ1IGV4cHIuYzo3NTYKKyM6IGV4cHIuYzo0ODYgZXhwci5jOjQ5MSBleHByLmM6ODA3CiBtc2dpZCAiZGl2aXNpb24gYnkgMCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6NDcxCisjOiBleHByLmM6NTE3CiBtc2dpZCAiYnVnOiBiYWQgZXhwYXNzaWduIHRva2VuIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzo1MTMKKyM6IGV4cHIuYzo1NjQKIG1zZ2lkICJgOicgZXhwZWN0ZWQgZm9yIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24iCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjc4MQorIzogZXhwci5jOjgzMgogbXNnaWQgImV4cG9uZW50IGxlc3MgdGhhbiAwIgogbXNnc3RyICIiCiAKLSM6IGV4cHIuYzo4MjYKKyM6IGV4cHIuYzo4ODcKIG1zZ2lkICJpZGVudGlmaWVyIGV4cGVjdGVkIGFmdGVyIHByZS1pbmNyZW1lbnQgb3IgcHJlLWRlY3JlbWVudCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6ODU0CisjOiBleHByLmM6OTEwCiBtc2dpZCAibWlzc2luZyBgKSciCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjg5NyBleHByLmM6MTE3NgorIzogZXhwci5jOjk1OSBleHByLmM6MTI4MgogbXNnaWQgInN5bnRheCBlcnJvcjogb3BlcmFuZCBleHBlY3RlZCIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTE3OAorIzogZXhwci5jOjEyODQKIG1zZ2lkICJzeW50YXggZXJyb3I6IGludmFsaWQgYXJpdGhtZXRpYyBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTIwMgorIzogZXhwci5jOjEzMDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMlcyVzOiAlcyAoZXJyb3IgdG9rZW4gaXMgXCIlc1wiKSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI2MAorIzogZXhwci5jOjEzNjYKIG1zZ2lkICJpbnZhbGlkIGFyaXRobWV0aWMgYmFzZSIKIG1zZ3N0ciAiIgogCi0jOiBleHByLmM6MTI4MAorIzogZXhwci5jOjEzODYKIG1zZ2lkICJ2YWx1ZSB0b28gZ3JlYXQgZm9yIGJhc2UiCiBtc2dzdHIgIiIKIAotIzogZXhwci5jOjEzMjkKKyM6IGV4cHIuYzoxNDM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBleHByZXNzaW9uIGVycm9yXG4iCiBtc2dzdHIgIiIKQEAgLTkzNiwxNjMgKzkzNiwxNjMgQEAKIG1zZ2lkICJnZXRjd2Q6IGNhbm5vdCBhY2Nlc3MgcGFyZW50IGRpcmVjdG9yaWVzIgogbXNnc3RyICIiCiAKLSM6IGlucHV0LmM6OTQgc3Vic3QuYzo0ODU3CisjOiBpbnB1dC5jOjk0IHN1YnN0LmM6NTA4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3QgcmVzZXQgbm9kZWxheSBtb2RlIGZvciBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBpbnB1dC5jOjI1OAorIzogaW5wdXQuYzoyNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IGFsbG9jYXRlIG5ldyBmaWxlIGRlc2NyaXB0b3IgZm9yIGJhc2ggaW5wdXQgZnJvbSBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBpbnB1dC5jOjI2NgorIzogaW5wdXQuYzoyNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAic2F2ZV9iYXNoX2lucHV0OiBidWZmZXIgYWxyZWFkeSBleGlzdHMgZm9yIG5ldyBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6NDY2CisjOiBqb2JzLmM6NDY4CiBtc2dpZCAic3RhcnRfcGlwZWxpbmU6IHBncnAgcGlwZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6ODg3CisjOiBqb2JzLmM6ODg5CiAjLCBjLWZvcm1hdAogbXNnaWQgImZvcmtlZCBwaWQgJWQgYXBwZWFycyBpbiBydW5uaW5nIGpvYiAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTAwNQorIzogam9icy5jOjEwMDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiZGVsZXRpbmcgc3RvcHBlZCBqb2IgJWQgd2l0aCBwcm9jZXNzIGdyb3VwICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTExMAorIzogam9icy5jOjExMTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHByb2Nlc3MgJTVsZCAoJXMpIGluIHRoZV9waXBlbGluZSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTExMworIzogam9icy5jOjExMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiYWRkX3Byb2Nlc3M6IHBpZCAlNWxkICglcykgbWFya2VkIGFzIHN0aWxsIGFsaXZlIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDAxCisjOiBqb2JzLmM6MTQzMAogIywgYy1mb3JtYXQKIG1zZ2lkICJkZXNjcmliZV9waWQ6ICVsZDogbm8gc3VjaCBwaWQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE0MTYKKyM6IGpvYnMuYzoxNDQ1CiAjLCBjLWZvcm1hdAogbXNnaWQgIlNpZ25hbCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQzMCBqb2JzLmM6MTQ1NQorIzogam9icy5jOjE0NTkgam9icy5jOjE0ODQKIG1zZ2lkICJEb25lIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDM1IHNpZ2xpc3QuYzoxMjMKKyM6IGpvYnMuYzoxNDY0IHNpZ2xpc3QuYzoxMjMKIG1zZ2lkICJTdG9wcGVkIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDM5CisjOiBqb2JzLmM6MTQ2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJTdG9wcGVkKCVzKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ0MworIzogam9icy5jOjE0NzIKIG1zZ2lkICJSdW5uaW5nIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoxNDU3CisjOiBqb2JzLmM6MTQ4NgogIywgYy1mb3JtYXQKIG1zZ2lkICJEb25lKCVkKSIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ1OQorIzogam9icy5jOjE0ODgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXhpdCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTQ2MgorIzogam9icy5jOjE0OTEKIG1zZ2lkICJVbmtub3duIHN0YXR1cyIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MTU0OQorIzogam9icy5jOjE1NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiKGNvcmUgZHVtcGVkKSAiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE1NjgKKyM6IGpvYnMuYzoxNTk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAgKHdkOiAlcykiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjE3NzYKKyM6IGpvYnMuYzoxODA1CiAjLCBjLWZvcm1hdAogbXNnaWQgImNoaWxkIHNldHBnaWQgKCVsZCB0byAlbGQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzoyMTA0IG5vam9icy5jOjU4NQorIzogam9icy5jOjIxMzMgbm9qb2JzLmM6NTg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIndhaXQ6IHBpZCAlbGQgaXMgbm90IGEgY2hpbGQgb2YgdGhpcyBzaGVsbCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjMzMQorIzogam9icy5jOjIzNjAKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3I6IE5vIHJlY29yZCBvZiBwcm9jZXNzICVsZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjYwNworIzogam9icy5jOjI2MzcKICMsIGMtZm9ybWF0CiBtc2dpZCAid2FpdF9mb3Jfam9iOiBqb2IgJWQgaXMgc3RvcHBlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjgyOQorIzogam9icy5jOjI4NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiBoYXMgdGVybWluYXRlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MjgzOAorIzogam9icy5jOjI4NjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGpvYiAlZCBhbHJlYWR5IGluIGJhY2tncm91bmQiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjMwNTkKKyM6IGpvYnMuYzozMDg5CiBtc2dpZCAid2FpdGNobGQ6IHR1cm5pbmcgb24gV05PSEFORyB0byBhdm9pZCBpbmRlZmluaXRlIGJsb2NrIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTA4CisjOiBqb2JzLmM6MzUzOAogIywgZnV6enksIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGxpbmUgJWQ6ICIKIG1zZ3N0ciAiJXPvvJrorablkYrvvJoiCiAKLSM6IGpvYnMuYzozNTIyIG5vam9icy5jOjgxNAorIzogam9icy5jOjM1NTIgbm9qb2JzLmM6ODE0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiAoY29yZSBkdW1wZWQpIgogbXNnc3RyICIiCiAKLSM6IGpvYnMuYzozNTM0IGpvYnMuYzozNTQ3CisjOiBqb2JzLmM6MzU2NCBqb2JzLmM6MzU3NwogIywgYy1mb3JtYXQKIG1zZ2lkICIod2Qgbm93OiAlcylcbiIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzU3OQorIzogam9icy5jOjM2MDkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBnZXRwZ3JwIGZhaWxlZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzYzOQorIzogam9icy5jOjM2NjkKIG1zZ2lkICJpbml0aWFsaXplX2pvYl9jb250cm9sOiBsaW5lIGRpc2NpcGxpbmUiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2NDkKKyM6IGpvYnMuYzozNjc5CiBtc2dpZCAiaW5pdGlhbGl6ZV9qb2JfY29udHJvbDogc2V0cGdpZCIKIG1zZ3N0ciAiIgogCi0jOiBqb2JzLmM6MzY3NworIzogam9icy5jOjM3MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBwcm9jZXNzIGdyb3VwICglZCkiCiBtc2dzdHIgIiIKIAotIzogam9icy5jOjM2ODIKKyM6IGpvYnMuYzozNzEyCiBtc2dpZCAibm8gam9iIGNvbnRyb2wgaW4gdGhpcyBzaGVsbCIKIG1zZ3N0ciAiIgogCkBAIC0xMjQ0LDk5ICsxMjQ0LDk5IEBACiBtc2dpZCAibWFrZV9yZWRpcmVjdGlvbjogcmVkaXJlY3Rpb24gaW5zdHJ1Y3Rpb24gYCVkJyBvdXQgb2YgcmFuZ2UiCiBtc2dzdHIgIm1ha2VfcmVkaXJlY3Rpb27vvJrph43mlrDlsI7lkJHmjIfnpLogYCVkJyDotoXlh7rnr4TlnI0iCiAKLSM6IHBhcnNlLnk6MzEzMyBwYXJzZS55OjMzNjkKKyM6IHBhcnNlLnk6MzE3MyBwYXJzZS55OjM0NDQKICMsIGMtZm9ybWF0CiBtc2dpZCAidW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYCVjJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5NTEKKyM6IHBhcnNlLnk6NDAyNQogbXNnaWQgInVuZXhwZWN0ZWQgRU9GIHdoaWxlIGxvb2tpbmcgZm9yIGBdXSciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTozOTU2CisjOiBwYXJzZS55OjQwMzAKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIGluIGNvbmRpdGlvbmFsIGV4cHJlc3Npb246IHVuZXhwZWN0ZWQgdG9rZW4gYCVzJyIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjM5NjAKKyM6IHBhcnNlLnk6NDAzNAogbXNnaWQgInN5bnRheCBlcnJvciBpbiBjb25kaXRpb25hbCBleHByZXNzaW9uIgogbXNnc3RyICLoqp7ms5XpjK/oqqTvvIzlnKjmnInmop3ku7bnmoTooajpgZQiCiAKLSM6IHBhcnNlLnk6NDAzOAorIzogcGFyc2UueTo0MTEyCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgZXhwZWN0ZWQgYCknIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDA0MgorIzogcGFyc2UueTo0MTE2CiBtc2dpZCAiZXhwZWN0ZWQgYCknIgogbXNnc3RyICLpoJDmnJ8gYCknIgogCi0jOiBwYXJzZS55OjQwNzAKKyM6IHBhcnNlLnk6NDE0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IGAlcycgdG8gY29uZGl0aW9uYWwgdW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MDc0CisjOiBwYXJzZS55OjQxNDgKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIHVuYXJ5IG9wZXJhdG9yIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDEyMAorIzogcGFyc2UueTo0MTk0CiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgdG9rZW4gYCVzJywgY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDEyNAorIzogcGFyc2UueTo0MTk4CiBtc2dpZCAiY29uZGl0aW9uYWwgYmluYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NDE0NgorIzogcGFyc2UueTo0MjIwCiAjLCBjLWZvcm1hdAogbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnQgYCVzJyB0byBjb25kaXRpb25hbCBiaW5hcnkgb3BlcmF0b3IiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo0MTUwCisjOiBwYXJzZS55OjQyMjQKIG1zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50IHRvIGNvbmRpdGlvbmFsIGJpbmFyeSBvcGVyYXRvciIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNjEKKyM6IHBhcnNlLnk6NDIzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlYycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNjQKKyM6IHBhcnNlLnk6NDIzOAogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuIGAlcycgaW4gY29uZGl0aW9uYWwgY29tbWFuZCIKIG1zZ3N0ciAiIgogCi0jOiBwYXJzZS55OjQxNjgKKyM6IHBhcnNlLnk6NDI0MgogIywgYy1mb3JtYXQKIG1zZ2lkICJ1bmV4cGVjdGVkIHRva2VuICVkIGluIGNvbmRpdGlvbmFsIGNvbW1hbmQiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo1NDU5CisjOiBwYXJzZS55OjU1NjYKICMsIGMtZm9ybWF0CiBtc2dpZCAic3ludGF4IGVycm9yIG5lYXIgdW5leHBlY3RlZCB0b2tlbiBgJXMnIgogbXNnc3RyICIiCiAKLSM6IHBhcnNlLnk6NTQ3NworIzogcGFyc2UueTo1NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgInN5bnRheCBlcnJvciBuZWFyIGAlcyciCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo1NDg3CisjOiBwYXJzZS55OjU1OTQKIG1zZ2lkICJzeW50YXggZXJyb3IiCiBtc2dzdHIgIuiqnuazlemMr+iqpCIKIAotIzogcGFyc2UueTo1NTQ5CisjOiBwYXJzZS55OjU2NTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiVXNlIFwiJXNcIiB0byBsZWF2ZSB0aGUgc2hlbGwuXG4iCiBtc2dzdHIgIiIKIAotIzogcGFyc2UueTo1NzExCisjOiBwYXJzZS55OjU4MTgKIG1zZ2lkICJ1bmV4cGVjdGVkIEVPRiB3aGlsZSBsb29raW5nIGZvciBtYXRjaGluZyBgKSciCiBtc2dzdHIgIiIKIApAQCAtMTM0NSw3NyArMTM0NSw3NyBAQAogbXNnaWQgImNvbXBsZXRpb246IGZ1bmN0aW9uIGAlcycgbm90IGZvdW5kIgogbXNnc3RyICIiCiAKLSM6IHBjb21wbGliLmM6MTc5CisjOiBwY29tcGxpYi5jOjE4MgogIywgYy1mb3JtYXQKIG1zZ2lkICJwcm9nY29tcF9pbnNlcnQ6ICVzOiBOVUxMIENPTVBTUEVDIgogbXNnc3RyICIiCiAKLSM6IHByaW50X2NtZC5jOjI5MAorIzogcHJpbnRfY21kLmM6Mjk2CiAjLCBjLWZvcm1hdAogbXNnaWQgInByaW50X2NvbW1hbmQ6IGJhZCBjb25uZWN0b3IgYCVkJyIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzozNjMKKyM6IHByaW50X2NtZC5jOjM2OAogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2Vfc2V0OiAlZDogaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MzY4CisjOiBwcmludF9jbWQuYzozNzMKIG1zZ2lkICJ4dHJhY2Vfc2V0OiBOVUxMIGZpbGUgcG9pbnRlciIKIG1zZ3N0ciAiIgogCi0jOiBwcmludF9jbWQuYzozNzIKKyM6IHByaW50X2NtZC5jOjM3NwogIywgYy1mb3JtYXQKIG1zZ2lkICJ4dHJhY2UgZmQgKCVkKSAhPSBmaWxlbm8geHRyYWNlIGZwICglZCkiCiBtc2dzdHIgIiIKIAotIzogcHJpbnRfY21kLmM6MTQ2MQorIzogcHJpbnRfY21kLmM6MTQ3OAogIywgYy1mb3JtYXQKIG1zZ2lkICJjcHJpbnRmOiBgJWMnOiBpbnZhbGlkIGZvcm1hdCBjaGFyYWN0ZXIiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxMTAKKyM6IHJlZGlyLmM6MTIyCiBtc2dpZCAiZmlsZSBkZXNjcmlwdG9yIG91dCBvZiByYW5nZSIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE2NgorIzogcmVkaXIuYzoxNzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGFtYmlndW91cyByZWRpcmVjdCIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE3MAorIzogcmVkaXIuYzoxODIKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IGNhbm5vdCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE3NQorIzogcmVkaXIuYzoxODcKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQiCiBtc2dzdHIgIiIKIAotIzogcmVkaXIuYzoxODAKKyM6IHJlZGlyLmM6MTkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBjcmVhdGUgdGVtcCBmaWxlIGZvciBoZXJlLWRvY3VtZW50OiAlcyIKIG1zZ3N0ciAiIgogCi0jOiByZWRpci5jOjE4NAorIzogcmVkaXIuYzoxOTYKICMsIGZ1enp5LCBjLWZvcm1hdAogbXNnaWQgIiVzOiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlIgogbXNnc3RyICIlc++8muWPquiugOiuiuaVuCIKIAotIzogcmVkaXIuYzo1NDQKKyM6IHJlZGlyLmM6NTQ4CiBtc2dpZCAiL2Rldi8odGNwfHVkcCkvaG9zdC9wb3J0IG5vdCBzdXBwb3J0ZWQgd2l0aG91dCBuZXR3b3JraW5nIgogbXNnc3RyICIiCiAKLSM6IHJlZGlyLmM6MTEwMQorIzogcmVkaXIuYzo4MTggcmVkaXIuYzo5MzAgcmVkaXIuYzo5OTMgcmVkaXIuYzoxMTM2CiBtc2dpZCAicmVkaXJlY3Rpb24gZXJyb3I6IGNhbm5vdCBkdXBsaWNhdGUgZmQiCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzozMzIKKyM6IHNoZWxsLmM6MzMzCiBtc2dpZCAiY291bGQgbm90IGZpbmQgL3RtcCwgcGxlYXNlIGNyZWF0ZSEiCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzozMzYKKyM6IHNoZWxsLmM6MzM3CiBtc2dpZCAiL3RtcCBtdXN0IGJlIGEgdmFsaWQgZGlyZWN0b3J5IG5hbWUiCiBtc2dzdHIgIiIKIApAQCAtMTQyNCwxNiArMTQyNCwxNiBAQAogbXNnaWQgIiVjJWM6IGludmFsaWQgb3B0aW9uIgogbXNnc3RyICIlYyVj77ya54Sh5pWI6YG46aCFIgogCi0jOiBzaGVsbC5jOjE2NTEKKyM6IHNoZWxsLmM6MTY1MgogbXNnaWQgIkkgaGF2ZSBubyBuYW1lISIKIG1zZ3N0ciAi5oiR5rKS5pyJ5ZCN5a2X77yBIgogCi0jOiBzaGVsbC5jOjE3OTMKKyM6IHNoZWxsLmM6MTc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJHTlUgYmFzaCwgdmVyc2lvbiAlcy0oJXMpXG4iCiBtc2dzdHIgIiIKIAotIzogc2hlbGwuYzoxNzk0CisjOiBzaGVsbC5jOjE3OTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlVzYWdlOlx0JXMgW0dOVSBsb25nIG9wdGlvbl0gW29wdGlvbl0gLi4uXG4iCkBAIC0xNDQyLDM5ICsxNDQyLDM5IEBACiAi55So5rOV77yaXHQlcyBbR05VIOmVt+mBuOmghV0gW+mBuOmghV0gLi4uXG4iCiAiXHQlcyBbR05VIOmVt+mBuOmghV0gW+mBuOmghV0gc2NyaXB0LWZpbGUgLi4uXG4iCiAKLSM6IHNoZWxsLmM6MTc5NgorIzogc2hlbGwuYzoxNzk4CiBtc2dpZCAiR05VIGxvbmcgb3B0aW9uczpcbiIKIG1zZ3N0ciAiR05VIOmVt+mBuOmghe+8mlxuIgogCi0jOiBzaGVsbC5jOjE4MDAKKyM6IHNoZWxsLmM6MTgwMgogbXNnaWQgIlNoZWxsIG9wdGlvbnM6XG4iCiBtc2dzdHIgIlNoZWxsIOmBuOmghe+8mlxuIgogCi0jOiBzaGVsbC5jOjE4MDEKKyM6IHNoZWxsLmM6MTgwMwogbXNnaWQgIlx0LWlyc0Qgb3IgLWMgY29tbWFuZCBvciAtTyBzaG9wdF9vcHRpb25cdFx0KGludm9jYXRpb24gb25seSlcbiIKIG1zZ3N0ciAiXHQtaXJzRCDmiJYgLWMg5ZG95Luk5oiWIC1PIHNob3B0X29wdGlvblx0XHQo5Y+q5pyJ5byV55SoKVxuIgogCi0jOiBzaGVsbC5jOjE4MTYKKyM6IHNoZWxsLmM6MTgxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJcdC0lcyBvciAtbyBvcHRpb25cbiIKIG1zZ3N0ciAiXHQtJXMgb3IgLW8g6YG46aCFXG4iCiAKLSM6IHNoZWxsLmM6MTgyMgorIzogc2hlbGwuYzoxODI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIlR5cGUgYCVzIC1jIFwiaGVscCBzZXRcIicgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgb3B0aW9ucy5cbiIKIG1zZ3N0ciAi6Ly45YWlIGAlcyAtYyBcImhlbHAgc2V0XCInIOabtOWkmuioiuaBr+mXnOaWvCBzaGVsbCDpgbjpoIXjgIJcbiIKIAotIzogc2hlbGwuYzoxODIzCisjOiBzaGVsbC5jOjE4MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVHlwZSBgJXMgLWMgaGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgc2hlbGwgYnVpbHRpbiBjb21tYW5kcy5cbiIKIG1zZ3N0ciAi6Ly45YWlIGAlcyAtYyBoZWxwJyDmm7TlpJroqIrmga/pl5zmlrzlhaflu7ogc2hlbGwg5ZG95Luk44CCXG4iCiAKLSM6IHNoZWxsLmM6MTgyNAorIzogc2hlbGwuYzoxODI2CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzZSB0aGUgYGJhc2hidWcnIGNvbW1hbmQgdG8gcmVwb3J0IGJ1Z3MuXG4iCiBtc2dzdHIgIuS9v+eUqCBgYmFzaGJ1Zycg5ZG95Luk5aCx5ZGK6Iet6J+y44CCXG4iCiAKLSM6IHNpZy5jOjYyNgorIzogc2lnLmM6NjM4CiAjLCBjLWZvcm1hdAogbXNnaWQgInNpZ3Byb2NtYXNrOiAlZDogaW52YWxpZCBvcGVyYXRpb24iCiBtc2dzdHIgInNpZ3Byb2NtYXNr77yaICVk77ya54Sh5pWI5pON5L2cIgpAQCAtMTY1MCw4MyArMTY1MCw4MyBAQAogbXNnaWQgIlVua25vd24gU2lnbmFsICMlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNDU0CisjOiBzdWJzdC5jOjEzMzMgc3Vic3QuYzoxNTAyCiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgYCVzJyBpbiAlcyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjI3MzUKKyM6IHN1YnN0LmM6Mjc5NQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogY2Fubm90IGFzc2lnbiBsaXN0IHRvIGFycmF5IG1lbWJlciIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ3NTQgc3Vic3QuYzo0NzcwCisjOiBzdWJzdC5jOjQ5Nzkgc3Vic3QuYzo0OTk1CiBtc2dpZCAiY2Fubm90IG1ha2UgcGlwZSBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0ODAyCisjOiBzdWJzdC5jOjUwMjcKIG1zZ2lkICJjYW5ub3QgbWFrZSBjaGlsZCBmb3IgcHJvY2VzcyBzdWJzdGl0dXRpb24iCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo0ODQ3CisjOiBzdWJzdC5jOjUwNzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2Fubm90IG9wZW4gbmFtZWQgcGlwZSAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjQ4NDkKKyM6IHN1YnN0LmM6NTA3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJjYW5ub3Qgb3BlbiBuYW1lZCBwaXBlICVzIGZvciB3cml0aW5nIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NDg2NworIzogc3Vic3QuYzo1MDkyCiAjLCBjLWZvcm1hdAogbXNnaWQgImNhbm5vdCBkdXBsaWNhdGUgbmFtZWQgcGlwZSAlcyBhcyBmZCAlZCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjUwNjMKKyM6IHN1YnN0LmM6NTI4NAogbXNnaWQgImNhbm5vdCBtYWtlIHBpcGUgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTA5NworIzogc3Vic3QuYzo1MzIyCiBtc2dpZCAiY2Fubm90IG1ha2UgY2hpbGQgZm9yIGNvbW1hbmQgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NTExNAorIzogc3Vic3QuYzo1MzM5CiBtc2dpZCAiY29tbWFuZF9zdWJzdGl0dXRlOiBjYW5ub3QgZHVwbGljYXRlIHBpcGUgYXMgZmQgMSIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjU2MTcKKyM6IHN1YnN0LmM6NTg1OQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogcGFyYW1ldGVyIG51bGwgb3Igbm90IHNldCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjU5MDcKKyM6IHN1YnN0LmM6NjEyNSBzdWJzdC5jOjYxNDAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjY5NjUKKyM6IHN1YnN0LmM6NzI3MQogIywgYy1mb3JtYXQKIG1zZ2lkICIlczogYmFkIHN1YnN0aXR1dGlvbiIKIG1zZ3N0ciAiIgogCi0jOiBzdWJzdC5jOjcwNDUKKyM6IHN1YnN0LmM6NzM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICIkJXM6IGNhbm5vdCBhc3NpZ24gaW4gdGhpcyB3YXkiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo3Mzc0CisjOiBzdWJzdC5jOjc2ODQKIG1zZ2lkICIiCiAiZnV0dXJlIHZlcnNpb25zIG9mIHRoZSBzaGVsbCB3aWxsIGZvcmNlIGV2YWx1YXRpb24gYXMgYW4gYXJpdGhtZXRpYyAiCiAic3Vic3RpdHV0aW9uIgogbXNnc3RyICIiCiAKLSM6IHN1YnN0LmM6NzgzOQorIzogc3Vic3QuYzo4MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImJhZCBzdWJzdGl0dXRpb246IG5vIGNsb3NpbmcgXCJgXCIgaW4gJXMiCiBtc2dzdHIgIiIKIAotIzogc3Vic3QuYzo4NzIwCisjOiBzdWJzdC5jOjkwMzYKICMsIGMtZm9ybWF0CiBtc2dpZCAibm8gbWF0Y2g6ICVzIgogbXNnc3RyICIiCkBAIC0xNzQ5LDM2ICsxNzQ5LDM2IEBACiBtc2dpZCAiYCknIGV4cGVjdGVkLCBmb3VuZCAlcyIKIG1zZ3N0ciAiIgogCi0jOiB0ZXN0LmM6MjgwIHRlc3QuYzo2OTMgdGVzdC5jOjY5NgorIzogdGVzdC5jOjI4MCB0ZXN0LmM6Njk4IHRlc3QuYzo3MDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXM6IHVuYXJ5IG9wZXJhdG9yIGV4cGVjdGVkIgogbXNnc3RyICIiCiAKLSM6IHRlc3QuYzo0NDkgdGVzdC5jOjczNgorIzogdGVzdC5jOjQ0OSB0ZXN0LmM6NzQxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiBiaW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQiCiBtc2dzdHIgIiIKIAotIzogdGVzdC5jOjgxMQorIzogdGVzdC5jOjgxNgogbXNnaWQgIm1pc3NpbmcgYF0nIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzoyMDMKKyM6IHRyYXAuYzoyMDcKIG1zZ2lkICJpbnZhbGlkIHNpZ25hbCBudW1iZXIiCiBtc2dzdHIgIueEoeaViOS/oeiZn+aVuCIKIAotIzogdHJhcC5jOjMyNworIzogdHJhcC5jOjMzNwogIywgYy1mb3JtYXQKIG1zZ2lkICJydW5fcGVuZGluZ190cmFwczogYmFkIHZhbHVlIGluIHRyYXBfbGlzdFslZF06ICVwIgogbXNnc3RyICIiCiAKLSM6IHRyYXAuYzozMzEKKyM6IHRyYXAuYzozNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogInJ1bl9wZW5kaW5nX3RyYXBzOiBzaWduYWwgaGFuZGxlciBpcyBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiBtc2dzdHIgInJ1bl9wZW5kaW5nX3RyYXBz77yaIOS/oeiZn+iZleeQhuaYryBTSUdfREZMLCByZXNlbmRpbmcgJWQgKCVzKSB0byBteXNlbGYiCiAKLSM6IHRyYXAuYzozODAKKyM6IHRyYXAuYzozOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAidHJhcF9oYW5kbGVyOiBiYWQgc2lnbmFsICVkIgogbXNnc3RyICJ0cmFwX2hhbmRsZXLvvJrlo57nmoTkv6HomZ8gJWQiCkBAIC0xNzg4LDU4ICsxNzg4LDU4IEBACiBtc2dpZCAiZXJyb3IgaW1wb3J0aW5nIGZ1bmN0aW9uIGRlZmluaXRpb24gZm9yIGAlcyciCiBtc2dzdHIgIumMr+iqpO+8jOi8uOWFpeeahOWHveaVuOWumue+qeeCuiBgJXMnIgogCi0jOiB2YXJpYWJsZXMuYzo3NDgKKyM6IHZhcmlhYmxlcy5jOjc1NQogIywgYy1mb3JtYXQKIG1zZ2lkICJzaGVsbCBsZXZlbCAoJWQpIHRvbyBoaWdoLCByZXNldHRpbmcgdG8gMSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzoxOTE1CisjOiB2YXJpYWJsZXMuYzoxOTMyCiBtc2dpZCAibWFrZV9sb2NhbF92YXJpYWJsZTogbm8gZnVuY3Rpb24gY29udGV4dCBhdCBjdXJyZW50IHNjb3BlIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjMxNTkKKyM6IHZhcmlhYmxlcy5jOjMxODIKIG1zZ2lkICJhbGxfbG9jYWxfdmFyaWFibGVzOiBubyBmdW5jdGlvbiBjb250ZXh0IGF0IGN1cnJlbnQgc2NvcGUiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM3NgorIzogdmFyaWFibGVzLmM6MzQyNwogIywgYy1mb3JtYXQKIG1zZ2lkICIlcyBoYXMgbnVsbCBleHBvcnRzdHIiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6MzM4MSB2YXJpYWJsZXMuYzozMzkwCisjOiB2YXJpYWJsZXMuYzozNDMyIHZhcmlhYmxlcy5jOjM0NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiaW52YWxpZCBjaGFyYWN0ZXIgJWQgaW4gZXhwb3J0c3RyIGZvciAlcyIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzozMzk2CisjOiB2YXJpYWJsZXMuYzozNDQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vIGA9JyBpbiBleHBvcnRzdHIgZm9yICVzIgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM4MzUKKyM6IHZhcmlhYmxlcy5jOjM4OTEKIG1zZ2lkICJwb3BfdmFyX2NvbnRleHQ6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIGZ1bmN0aW9uIGNvbnRleHQiCiBtc2dzdHIgIiIKIAotIzogdmFyaWFibGVzLmM6Mzg0OAorIzogdmFyaWFibGVzLmM6MzkwNAogbXNnaWQgInBvcF92YXJfY29udGV4dDogbm8gZ2xvYmFsX3ZhcmlhYmxlcyBjb250ZXh0IgogbXNnc3RyICIiCiAKLSM6IHZhcmlhYmxlcy5jOjM5MjIKKyM6IHZhcmlhYmxlcy5jOjM5NzgKIG1zZ2lkICJwb3Bfc2NvcGU6IGhlYWQgb2Ygc2hlbGxfdmFyaWFibGVzIG5vdCBhIHRlbXBvcmFyeSBlbnZpcm9ubWVudCBzY29wZSIKIG1zZ3N0ciAiIgogCi0jOiB2YXJpYWJsZXMuYzo0Njc4CisjOiB2YXJpYWJsZXMuYzo0Nzg2CiAjLCBmdXp6eSwgYy1mb3JtYXQKIG1zZ2lkICIlczogJXM6IGNhbm5vdCBvcGVuIGFzIEZJTEUiCiBtc2dzdHIgIiVz77ya5LiN6IO96K6A5Y+W77yaICVzIgogCi0jOiB2YXJpYWJsZXMuYzo0NjgzCisjOiB2YXJpYWJsZXMuYzo0NzkxCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzOiAlczogaW52YWxpZCB2YWx1ZSBmb3IgdHJhY2UgZmlsZSBkZXNjcmlwdG9yIgogbXNnc3RyICIiCiAKICM6IHZlcnNpb24uYzo0NgotbXNnaWQgIkNvcHlyaWdodCAoQykgMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iCittc2dpZCAiQ29weXJpZ2h0IChDKSAyMDExIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIKIG1zZ3N0ciAiIgogCiAjOiB2ZXJzaW9uLmM6NDcKQEAgLTE5MjYsNyArMTkyNiw3IEBACiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo2NAotbXNnaWQgImNkIFstTHwtUF0gW2Rpcl0iCittc2dpZCAiY2QgWy1MfFstUCBbLWVdXV0gW2Rpcl0iCiBtc2dzdHIgIiIKIAogIzogYnVpbHRpbnMuYzo2NgpAQCAtMTk1MCwxMSArMTk1MCwxMSBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6NzYKLW1zZ2lkICJkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0iCittc2dpZCAiZGVjbGFyZSBbLWFBZkZnaWxydHV4XSBbLXBdIFtuYW1lWz12YWx1ZV0gLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjc4Ci1tc2dpZCAidHlwZXNldCBbLWFBZkZpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKK21zZ2lkICJ0eXBlc2V0IFstYUFmRmdpbHJ0dXhdIFstcF0gbmFtZVs9dmFsdWVdIC4uLiIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjgwCkBAIC0yMDQ4LDcgKzIwNDgsNyBAQAogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTQwCi1tc2dpZCAic2V0IFstLWFiZWZoa21ucHR1dnhCQ0hQXSBbLW8gb3B0aW9uLW5hbWVdIFthcmcgLi4uXSIKK21zZ2lkICJzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXSIKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0MgpAQCAtMjA2MCw3ICsyMDYwLDcgQEAKIG1zZ3N0ciAiIgogCiAjOiBidWlsdGlucy5jOjE0NgotbXNnaWQgInJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcCIKK21zZ2lkICJyZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wIgogbXNnc3RyICIiCiAKICM6IGJ1aWx0aW5zLmM6MTQ4CkBAIC0yMzgxLDE0ICsyMzgxLDE4IEBACiAiICAgICAgICAtTFx0Zm9yY2Ugc3ltYm9saWMgbGlua3MgdG8gYmUgZm9sbG93ZWRcbiIKICIgICAgICAgIC1QXHR1c2UgdGhlIHBoeXNpY2FsIGRpcmVjdG9yeSBzdHJ1Y3R1cmUgd2l0aG91dCBmb2xsb3dpbmcgc3ltYm9saWNcbiIKICIgICAgXHRsaW5rc1xuIgorIiAgICAgICAgLWVcdGlmIHRoZSAtUCBvcHRpb24gaXMgc3VwcGxpZWQsIGFuZCB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeVxuIgorIiAgICBcdGNhbm5vdCBiZSBkZXRlcm1pbmVkIHN1Y2Nlc3NmdWxseSwgZXhpdCB3aXRoIGEgbm9uLXplcm8gc3RhdHVzXG4iCiAiICAgIFxuIgogIiAgICBUaGUgZGVmYXVsdCBpcyB0byBmb2xsb3cgc3ltYm9saWMgbGlua3MsIGFzIGlmIGAtTCcgd2VyZSBzcGVjaWZpZWQuXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKLSIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZDsgbm9uLXplcm8gb3RoZXJ3aXNlLiIKKyIgICAgUmV0dXJucyAwIGlmIHRoZSBkaXJlY3RvcnkgaXMgY2hhbmdlZCwgYW5kIGlmICRQV0QgaXMgc2V0IHN1Y2Nlc3NmdWxseSAiCisid2hlblxuIgorIiAgICAtUCBpcyB1c2VkOyBub24temVybyBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDExCisjOiBidWlsdGlucy5jOjQxNAogbXNnaWQgIiIKICJQcmludCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeS5cbiIKICIgICAgXG4iCkBAIC0yNDA0LDcgKzI0MDgsNyBAQAogIiAgICBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo0MjgKKyM6IGJ1aWx0aW5zLmM6NDMxCiBtc2dpZCAiIgogIk51bGwgY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNDE0LDcgKzI0MTgsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDM5CisjOiBidWlsdGlucy5jOjQ0MgogbXNnaWQgIiIKICJSZXR1cm4gYSBzdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNDIyLDcgKzI0MjYsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDQ4CisjOiBidWlsdGlucy5jOjQ1MQogbXNnaWQgIiIKICJSZXR1cm4gYW4gdW5zdWNjZXNzZnVsIHJlc3VsdC5cbiIKICIgICAgXG4iCkBAIC0yNDMwLDcgKzI0MzQsNyBAQAogIiAgICBBbHdheXMgZmFpbHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDU3CisjOiBidWlsdGlucy5jOjQ2MAogbXNnaWQgIiIKICJFeGVjdXRlIGEgc2ltcGxlIGNvbW1hbmQgb3IgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNDQ5LDcgKzI0NTMsNyBAQAogIiAgICBSZXR1cm5zIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQsIG9yIGZhaWx1cmUgaWYgQ09NTUFORCBpcyBub3QgZm91bmQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NDc2CisjOiBidWlsdGlucy5jOjQ3OQogbXNnaWQgIiIKICJTZXQgdmFyaWFibGUgdmFsdWVzIGFuZCBhdHRyaWJ1dGVzLlxuIgogIiAgICBcbiIKQEAgLTI0NjAsNiArMjQ2NCw4IEBACiAiICAgICAgLWZcdHJlc3RyaWN0IGFjdGlvbiBvciBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIGFuZCBkZWZpbml0aW9uc1xuIgogIiAgICAgIC1GXHRyZXN0cmljdCBkaXNwbGF5IHRvIGZ1bmN0aW9uIG5hbWVzIG9ubHkgKHBsdXMgbGluZSBudW1iZXIgYW5kXG4iCiAiICAgIFx0c291cmNlIGZpbGUgd2hlbiBkZWJ1Z2dpbmcpXG4iCisiICAgICAgLWdcdGNyZWF0ZSBnbG9iYWwgdmFyaWFibGVzIHdoZW4gdXNlZCBpbiBhIHNoZWxsIGZ1bmN0aW9uOyBvdGhlcndpc2VcbiIKKyIgICAgXHRpZ25vcmVkXG4iCiAiICAgICAgLXBcdGRpc3BsYXkgdGhlIGF0dHJpYnV0ZXMgYW5kIHZhbHVlIG9mIGVhY2ggTkFNRVxuIgogIiAgICBcbiIKICIgICAgT3B0aW9ucyB3aGljaCBzZXQgYXR0cmlidXRlczpcbiIKQEAgLTI0NzksMjAgKzI0ODUsMjAgQEAKICIgICAgXG4iCiAiICAgIFdoZW4gdXNlZCBpbiBhIGZ1bmN0aW9uLCBgZGVjbGFyZScgbWFrZXMgTkFNRXMgbG9jYWwsIGFzIHdpdGggdGhlICIKICJgbG9jYWwnXG4iCi0iICAgIGNvbW1hbmQuXG4iCisiICAgIGNvbW1hbmQuICBUaGUgYC1nJyBvcHRpb24gc3VwcHJlc3NlcyB0aGlzIGJlaGF2aW9yLlxuIgogIiAgICBcbiIKICIgICAgRXhpdCBTdGF0dXM6XG4iCiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUxMgorIzogYnVpbHRpbnMuYzo1MTcKIG1zZ2lkICIiCiAiU2V0IHZhcmlhYmxlIHZhbHVlcyBhbmQgYXR0cmlidXRlcy5cbiIKICIgICAgXG4iCiAiICAgIE9ic29sZXRlLiAgU2VlIGBoZWxwIGRlY2xhcmUnLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUyMAorIzogYnVpbHRpbnMuYzo1MjUKIG1zZ2lkICIiCiAiRGVmaW5lIGxvY2FsIHZhcmlhYmxlcy5cbiIKICIgICAgXG4iCkBAIC0yNTA3LDcgKzI1MTMsNyBAQAogIiAgICBvciB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjUzNworIzogYnVpbHRpbnMuYzo1NDIKIG1zZ2lkICIiCiAiV3JpdGUgYXJndW1lbnRzIHRvIHRoZSBzdGFuZGFyZCBvdXRwdXQuXG4iCiAiICAgIFxuIgpAQCAtMjUzOCw3ICsyNTQ0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhIHdyaXRlIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo1NzEKKyM6IGJ1aWx0aW5zLmM6NTc2CiBtc2dpZCAiIgogIldyaXRlIGFyZ3VtZW50cyB0byB0aGUgc3RhbmRhcmQgb3V0cHV0LlxuIgogIiAgICBcbiIKQEAgLTI1NTEsNyArMjU1Nyw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYSB3cml0ZSBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6NTg2CisjOiBidWlsdGlucy5jOjU5MQogbXNnaWQgIiIKICJFbmFibGUgYW5kIGRpc2FibGUgc2hlbGwgYnVpbHRpbnMuXG4iCiAiICAgIFxuIgpAQCAtMjU3OCw3ICsyNTg0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBhIHNoZWxsIGJ1aWx0aW4gb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjYxNAorIzogYnVpbHRpbnMuYzo2MTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBhcmd1bWVudHMgYXMgYSBzaGVsbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTI1OTAsNyArMjU5Niw3IEBACiAiICAgIFJldHVybnMgZXhpdCBzdGF0dXMgb2YgY29tbWFuZCBvciBzdWNjZXNzIGlmIGNvbW1hbmQgaXMgbnVsbC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2MjYKKyM6IGJ1aWx0aW5zLmM6NjMxCiBtc2dpZCAiIgogIlBhcnNlIG9wdGlvbiBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgpAQCAtMjYzMSw3ICsyNjM3LDcgQEAKICIgICAgZW5jb3VudGVyZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjY2OAorIzogYnVpbHRpbnMuYzo2NzMKIG1zZ2lkICIiCiAiUmVwbGFjZSB0aGUgc2hlbGwgd2l0aCB0aGUgZ2l2ZW4gY29tbWFuZC5cbiIKICIgICAgXG4iCkBAIC0yNjU0LDcgKzI2NjAsNyBAQAogIm9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2ODkKKyM6IGJ1aWx0aW5zLmM6Njk0CiBtc2dpZCAiIgogIkV4aXQgdGhlIHNoZWxsLlxuIgogIiAgICBcbiIKQEAgLTI2NjIsNyArMjY2OCw3IEBACiAiICAgIGlzIHRoYXQgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo2OTgKKyM6IGJ1aWx0aW5zLmM6NzAzCiBtc2dpZCAiIgogIkV4aXQgYSBsb2dpbiBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0yNjcxLDcgKzI2NzcsNyBAQAogIiAgICBpbiBhIGxvZ2luIHNoZWxsLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjcwOAorIzogYnVpbHRpbnMuYzo3MTMKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBleGVjdXRlIGNvbW1hbmRzIGZyb20gdGhlIGhpc3RvcnkgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0yNzAxLDcgKzI3MDcsNyBAQAogIm9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3MzgKKyM6IGJ1aWx0aW5zLmM6NzQzCiBtc2dpZCAiIgogIk1vdmUgam9iIHRvIHRoZSBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTI3MTMsNyArMjcxOSw3IEBACiAiICAgIFN0YXR1cyBvZiBjb21tYW5kIHBsYWNlZCBpbiBmb3JlZ3JvdW5kLCBvciBmYWlsdXJlIGlmIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3NTMKKyM6IGJ1aWx0aW5zLmM6NzU4CiBtc2dpZCAiIgogIk1vdmUgam9icyB0byB0aGUgYmFja2dyb3VuZC5cbiIKICIgICAgXG4iCkBAIC0yNzI3LDcgKzI3MzMsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3NjcKKyM6IGJ1aWx0aW5zLmM6NzcyCiBtc2dpZCAiIgogIlJlbWVtYmVyIG9yIGRpc3BsYXkgcHJvZ3JhbSBsb2NhdGlvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjc1MSw3ICsyNzU3LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBOQU1FIGlzIG5vdCBmb3VuZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo3OTIKKyM6IGJ1aWx0aW5zLmM6Nzk3CiBtc2dpZCAiIgogIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgYnVpbHRpbiBjb21tYW5kcy5cbiIKICIgICAgXG4iCkBAIC0yNzczLDcgKzI3NzksNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjgxNgorIzogYnVpbHRpbnMuYzo4MjEKIG1zZ2lkICIiCiAiRGlzcGxheSBvciBtYW5pcHVsYXRlIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiAiICAgIFxuIgpAQCAtMjgwNyw3ICsyODEzLDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODUyCisjOiBidWlsdGlucy5jOjg1NwogbXNnaWQgIiIKICJEaXNwbGF5IHN0YXR1cyBvZiBqb2JzLlxuIgogIiAgICBcbiIKQEAgLTI4MzEsNyArMjgzNyw3IEBACiAiICAgIElmIC14IGlzIHVzZWQsIHJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6ODc5CisjOiBidWlsdGlucy5jOjg4NAogbXNnaWQgIiIKICJSZW1vdmUgam9icyBmcm9tIGN1cnJlbnQgc2hlbGwuXG4iCiAiICAgIFxuIgpAQCAtMjg0OCw3ICsyODU0LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBvciBKT0JTUEVDIGlzIGdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjg5OAorIzogYnVpbHRpbnMuYzo5MDMKIG1zZ2lkICIiCiAiU2VuZCBhIHNpZ25hbCB0byBhIGpvYi5cbiIKICIgICAgXG4iCkBAIC0yODcwLDcgKzI4NzYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzo5MjEKKyM6IGJ1aWx0aW5zLmM6OTI2CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMuXG4iCiAiICAgIFxuIgpAQCAtMjkxMiwxMCArMjkxOCwxMCBAQAogIiAgICBydWxlcyBhYm92ZS5cbiIKICIgICAgXG4iCiAiICAgIEV4aXQgU3RhdHVzOlxuIgotIiAgICBJZiB0aGUgbGFzdCBBUkcgZXZhbHVhdGVzIHRvIDAsIGxldCByZXR1cm5zIDE7IGxldCByZXR1cm5zIDAgb3RoZXJ3aXNlLi4iCisiICAgIElmIHRoZSBsYXN0IEFSRyBldmFsdWF0ZXMgdG8gMCwgbGV0IHJldHVybnMgMTsgbGV0IHJldHVybnMgMCBvdGhlcndpc2UuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6OTY2CisjOiBidWlsdGlucy5jOjk3MQogbXNnaWQgIiIKICJSZWFkIGEgbGluZSBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBhbmQgc3BsaXQgaXQgaW50byBmaWVsZHMuXG4iCiAiICAgIFxuIgpAQCAtMjk2Myw3ICsyOTY5LDcgQEAKICIgICAgb3IgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgaXMgc3VwcGxpZWQgYXMgdGhlIGFyZ3VtZW50IHRvIC11LiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEwMDkKKyM6IGJ1aWx0aW5zLmM6MTAxNAogbXNnaWQgIiIKICJSZXR1cm4gZnJvbSBhIHNoZWxsIGZ1bmN0aW9uLlxuIgogIiAgICBcbiIKQEAgLTI5NzUsNyArMjk4MSw3IEBACiAiICAgIFJldHVybnMgTiwgb3IgZmFpbHVyZSBpZiB0aGUgc2hlbGwgaXMgbm90IGV4ZWN1dGluZyBhIGZ1bmN0aW9uIG9yIHNjcmlwdC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMDIyCisjOiBidWlsdGlucy5jOjEwMjcKIG1zZ2lkICIiCiAiU2V0IG9yIHVuc2V0IHZhbHVlcyBvZiBzaGVsbCBvcHRpb25zIGFuZCBwb3NpdGlvbmFsIHBhcmFtZXRlcnMuXG4iCiAiICAgIFxuIgpAQCAtMzA0NCw2ICszMDUwLDkgQEAKICIgICAgICAtUCAgSWYgc2V0LCBkbyBub3QgZm9sbG93IHN5bWJvbGljIGxpbmtzIHdoZW4gZXhlY3V0aW5nIGNvbW1hbmRzXG4iCiAiICAgICAgICAgIHN1Y2ggYXMgY2Qgd2hpY2ggY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeS5cbiIKICIgICAgICAtVCAgSWYgc2V0LCB0aGUgREVCVUcgdHJhcCBpcyBpbmhlcml0ZWQgYnkgc2hlbGwgZnVuY3Rpb25zLlxuIgorIiAgICAgIC0tICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKKyIgICAgICAgICAgSWYgdGhlcmUgYXJlIG5vIHJlbWFpbmluZyBhcmd1bWVudHMsIHRoZSBwb3NpdGlvbmFsIHBhcmFtZXRlcnNcbiIKKyIgICAgICAgICAgYXJlIHVuc2V0LlxuIgogIiAgICAgIC0gICBBc3NpZ24gYW55IHJlbWFpbmluZyBhcmd1bWVudHMgdG8gdGhlIHBvc2l0aW9uYWwgcGFyYW1ldGVycy5cbiIKICIgICAgICAgICAgVGhlIC14IGFuZCAtdiBvcHRpb25zIGFyZSB0dXJuZWQgb2ZmLlxuIgogIiAgICBcbiIKQEAgLTMwNTcsNyArMzA2Niw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEwNAorIzogYnVpbHRpbnMuYzoxMTEyCiBtc2dpZCAiIgogIlVuc2V0IHZhbHVlcyBhbmQgYXR0cmlidXRlcyBvZiBzaGVsbCB2YXJpYWJsZXMgYW5kIGZ1bmN0aW9ucy5cbiIKICIgICAgXG4iCkBAIC0zMDc3LDcgKzMwODYsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIGEgTkFNRSBpcyByZWFkLW9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTEyNAorIzogYnVpbHRpbnMuYzoxMTMyCiBtc2dpZCAiIgogIlNldCBleHBvcnQgYXR0cmlidXRlIGZvciBzaGVsbCB2YXJpYWJsZXMuXG4iCiAiICAgIFxuIgpAQCAtMzA5Niw3ICszMTA1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBOQU1FIGlzIGludmFsaWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE0MworIzogYnVpbHRpbnMuYzoxMTUxCiBtc2dpZCAiIgogIk1hcmsgc2hlbGwgdmFyaWFibGVzIGFzIHVuY2hhbmdlYWJsZS5cbiIKICIgICAgXG4iCkBAIC0zMTE2LDcgKzMxMjUsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIGdpdmVuIG9yIE5BTUUgaXMgaW52YWxpZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMTY0CisjOiBidWlsdGlucy5jOjExNzIKIG1zZ2lkICIiCiAiU2hpZnQgcG9zaXRpb25hbCBwYXJhbWV0ZXJzLlxuIgogIiAgICBcbiIKQEAgLTMxMjcsNyArMzEzNiw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgTiBpcyBuZWdhdGl2ZSBvciBncmVhdGVyIHRoYW4gJCMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTE3NiBidWlsdGlucy5jOjExOTEKKyM6IGJ1aWx0aW5zLmM6MTE4NCBidWlsdGlucy5jOjExOTkKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBmcm9tIGEgZmlsZSBpbiB0aGUgY3VycmVudCBzaGVsbC5cbiIKICIgICAgXG4iCkBAIC0zMTQxLDcgKzMxNTAsNyBAQAogIiAgICBGSUxFTkFNRSBjYW5ub3QgYmUgcmVhZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjA3CisjOiBidWlsdGlucy5jOjEyMTUKIG1zZ2lkICIiCiAiU3VzcGVuZCBzaGVsbCBleGVjdXRpb24uXG4iCiAiICAgIFxuIgpAQCAtMzE1NSwxNCArMzE2NCwxNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGpvYiBjb250cm9sIGlzIG5vdCBlbmFibGVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjIzCisjOiBidWlsdGlucy5jOjEyMzEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCiAiICAgIEV4aXRzIHdpdGggYSBzdGF0dXMgb2YgMCAodHJ1ZSkgb3IgMSAoZmFsc2UpIGRlcGVuZGluZyBvblxuIgogIiAgICB0aGUgZXZhbHVhdGlvbiBvZiBFWFBSLiAgRXhwcmVzc2lvbnMgbWF5IGJlIHVuYXJ5IG9yIGJpbmFyeS4gIFVuYXJ5XG4iCiAiICAgIGV4cHJlc3Npb25zIGFyZSBvZnRlbiB1c2VkIHRvIGV4YW1pbmUgdGhlIHN0YXR1cyBvZiBhIGZpbGUuICBUaGVyZVxuIgotIiAgICBhcmUgc3RyaW5nIG9wZXJhdG9ycyBhcyB3ZWxsLCBhbmQgbnVtZXJpYyBjb21wYXJpc29uIG9wZXJhdG9ycy5cbiIKKyIgICAgYXJlIHN0cmluZyBvcGVyYXRvcnMgYW5kIG51bWVyaWMgY29tcGFyaXNvbiBvcGVyYXRvcnMgYXMgd2VsbC5cbiIKKyIgICAgXG4iCisiICAgIFRoZSBiZWhhdmlvciBvZiB0ZXN0IGRlcGVuZHMgb24gdGhlIG51bWJlciBvZiBhcmd1bWVudHMuICBSZWFkIHRoZVxuIgorIiAgICBiYXNoIG1hbnVhbCBwYWdlIGZvciB0aGUgY29tcGxldGUgc3BlY2lmaWNhdGlvbi5cbiIKICIgICAgXG4iCiAiICAgIEZpbGUgb3BlcmF0b3JzOlxuIgogIiAgICBcbiIKQEAgLTMyMTYsNiArMzIyOCw3IEBACiAiICAgIE90aGVyIG9wZXJhdG9yczpcbiIKICIgICAgXG4iCiAiICAgICAgLW8gT1BUSU9OICAgICAgVHJ1ZSBpZiB0aGUgc2hlbGwgb3B0aW9uIE9QVElPTiBpcyBlbmFibGVkLlxuIgorIiAgICAgIC12IFZBUlx0IFRydWUgaWYgdGhlIHNoZWxsIHZhcmlhYmxlIFZBUiBpcyBzZXRcbiIKICIgICAgICAhIEVYUFIgICAgICAgICBUcnVlIGlmIGV4cHIgaXMgZmFsc2UuXG4iCiAiICAgICAgRVhQUjEgLWEgRVhQUjIgVHJ1ZSBpZiBib3RoIGV4cHIxIEFORCBleHByMiBhcmUgdHJ1ZS5cbiIKICIgICAgICBFWFBSMSAtbyBFWFBSMiBUcnVlIGlmIGVpdGhlciBleHByMSBPUiBleHByMiBpcyB0cnVlLlxuIgpAQCAtMzIzMiw3ICszMjQ1LDcgQEAKICIgICAgZmFsc2Ugb3IgYW4gaW52YWxpZCBhcmd1bWVudCBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxMjk5CisjOiBidWlsdGlucy5jOjEzMTEKIG1zZ2lkICIiCiAiRXZhbHVhdGUgY29uZGl0aW9uYWwgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zMjQwLDcgKzMyNTMsNyBAQAogIiAgICBiZSBhIGxpdGVyYWwgYF0nLCB0byBtYXRjaCB0aGUgb3BlbmluZyBgWycuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMwOAorIzogYnVpbHRpbnMuYzoxMzIwCiBtc2dpZCAiIgogIkRpc3BsYXkgcHJvY2VzcyB0aW1lcy5cbiIKICIgICAgXG4iCkBAIC0zMjUyLDcgKzMyNjUsNyBAQAogIiAgICBBbHdheXMgc3VjY2VlZHMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTMyMAorIzogYnVpbHRpbnMuYzoxMzMyCiBtc2dpZCAiIgogIlRyYXAgc2lnbmFscyBhbmQgb3RoZXIgZXZlbnRzLlxuIgogIiAgICBcbiIKQEAgLTMyNjgsNyArMzI4MSwxNSBAQAogIiAgICBcbiIKICIgICAgSWYgYSBTSUdOQUxfU1BFQyBpcyBFWElUICgwKSBBUkcgaXMgZXhlY3V0ZWQgb24gZXhpdCBmcm9tIHRoZSBzaGVsbC4gICIKICJJZlxuIgotIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLlxuIgorIiAgICBhIFNJR05BTF9TUEVDIGlzIERFQlVHLCBBUkcgaXMgZXhlY3V0ZWQgYmVmb3JlIGV2ZXJ5IHNpbXBsZSBjb21tYW5kLiAgIgorIklmXG4iCisiICAgIGEgU0lHTkFMX1NQRUMgaXMgUkVUVVJOLCBBUkcgaXMgZXhlY3V0ZWQgZWFjaCB0aW1lIGEgc2hlbGwgZnVuY3Rpb24gb3IgIgorImFcbiIKKyIgICAgc2NyaXB0IHJ1biBieSB0aGUgLiBvciBzb3VyY2UgYnVpbHRpbnMgZmluaXNoZXMgZXhlY3V0aW5nLiAgQSAiCisiU0lHTkFMX1NQRUNcbiIKKyIgICAgb2YgRVJSIG1lYW5zIHRvIGV4ZWN1dGUgQVJHIGVhY2ggdGltZSBhIGNvbW1hbmQncyBmYWlsdXJlIHdvdWxkIGNhdXNlICIKKyJ0aGVcbiIKKyIgICAgc2hlbGwgdG8gZXhpdCB3aGVuIHRoZSAtZSBvcHRpb24gaXMgZW5hYmxlZC5cbiIKICIgICAgXG4iCiAiICAgIElmIG5vIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQsIHRyYXAgcHJpbnRzIHRoZSBsaXN0IG9mIGNvbW1hbmRzICIKICJhc3NvY2lhdGVkXG4iCkBAIC0zMjg4LDcgKzMzMDksNyBAQAogImdpdmVuLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzNTIKKyM6IGJ1aWx0aW5zLmM6MTM2OAogbXNnaWQgIiIKICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGNvbW1hbmQgdHlwZS5cbiIKICIgICAgXG4iCkBAIC0zMzE4LDcgKzMzMzksNyBAQAogImZvdW5kLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjEzODMKKyM6IGJ1aWx0aW5zLmM6MTM5OQogbXNnaWQgIiIKICJNb2RpZnkgc2hlbGwgcmVzb3VyY2UgbGltaXRzLlxuIgogIiAgICBcbiIKQEAgLTMzNjIsNyArMzM4Myw3IEBACiAiICAgIFJldHVybnMgc3VjY2VzcyB1bmxlc3MgYW4gaW52YWxpZCBvcHRpb24gaXMgc3VwcGxpZWQgb3IgYW4gZXJyb3Igb2NjdXJzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE0MjgKKyM6IGJ1aWx0aW5zLmM6MTQ0NAogbXNnaWQgIiIKICJEaXNwbGF5IG9yIHNldCBmaWxlIG1vZGUgbWFzay5cbiIKICIgICAgXG4iCkBAIC0zMzgwLDcgKzM0MDEsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE1PREUgaXMgaW52YWxpZCBvciBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDQ4CisjOiBidWlsdGlucy5jOjE0NjQKIG1zZ2lkICIiCiAiV2FpdCBmb3Igam9iIGNvbXBsZXRpb24gYW5kIHJldHVybiBleGl0IHN0YXR1cy5cbiIKICIgICAgXG4iCkBAIC0zMzk3LDcgKzM0MTgsNyBAQAogIiAgICBnaXZlbi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDY2CisjOiBidWlsdGlucy5jOjE0ODIKIG1zZ2lkICIiCiAiV2FpdCBmb3IgcHJvY2VzcyBjb21wbGV0aW9uIGFuZCByZXR1cm4gZXhpdCBzdGF0dXMuXG4iCiAiICAgIFxuIgpAQCAtMzQxMSw3ICszNDMyLDcgQEAKICIgICAgZ2l2ZW4uIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTQ4MQorIzogYnVpbHRpbnMuYzoxNDk3CiBtc2dpZCAiIgogIkV4ZWN1dGUgY29tbWFuZHMgZm9yIGVhY2ggbWVtYmVyIGluIGEgbGlzdC5cbiIKICIgICAgXG4iCkBAIC0zNDI0LDcgKzM0NDUsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNDk1CisjOiBidWlsdGlucy5jOjE1MTEKIG1zZ2lkICIiCiAiQXJpdGhtZXRpYyBmb3IgbG9vcC5cbiIKICIgICAgXG4iCkBAIC0zNDQxLDcgKzM0NjIsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTEzCisjOiBidWlsdGlucy5jOjE1MjkKIG1zZ2lkICIiCiAiU2VsZWN0IHdvcmRzIGZyb20gYSBsaXN0IGFuZCBleGVjdXRlIGNvbW1hbmRzLlxuIgogIiAgICBcbiIKQEAgLTM0NjEsNyArMzQ4Miw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1MzQKKyM6IGJ1aWx0aW5zLmM6MTU1MAogbXNnaWQgIiIKICJSZXBvcnQgdGltZSBjb25zdW1lZCBieSBwaXBlbGluZSdzIGV4ZWN1dGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNDc3LDcgKzM0OTgsNyBAQAogIiAgICBUaGUgcmV0dXJuIHN0YXR1cyBpcyB0aGUgcmV0dXJuIHN0YXR1cyBvZiBQSVBFTElORS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNTUxCisjOiBidWlsdGlucy5jOjE1NjcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb21tYW5kcyBiYXNlZCBvbiBwYXR0ZXJuIG1hdGNoaW5nLlxuIgogIiAgICBcbiIKQEAgLTM0ODgsNyArMzUwOSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1NjMKKyM6IGJ1aWx0aW5zLmM6MTU3OQogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGJhc2VkIG9uIGNvbmRpdGlvbmFsLlxuIgogIiAgICBcbiIKQEAgLTM1MDksNyArMzUzMCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1ODAKKyM6IGJ1aWx0aW5zLmM6MTU5NgogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IHN1Y2NlZWRzLlxuIgogIiAgICBcbiIKQEAgLTM1MjAsNyArMzU0MSw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgbGFzdCBjb21tYW5kIGV4ZWN1dGVkLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE1OTIKKyM6IGJ1aWx0aW5zLmM6MTYwOAogbXNnaWQgIiIKICJFeGVjdXRlIGNvbW1hbmRzIGFzIGxvbmcgYXMgYSB0ZXN0IGRvZXMgbm90IHN1Y2NlZWQuXG4iCiAiICAgIFxuIgpAQCAtMzUzMSw3ICszNTUyLDcgQEAKICIgICAgUmV0dXJucyB0aGUgc3RhdHVzIG9mIHRoZSBsYXN0IGNvbW1hbmQgZXhlY3V0ZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYwNAorIzogYnVpbHRpbnMuYzoxNjIwCiBtc2dpZCAiIgogIkNyZWF0ZSBhIGNvcHJvY2VzcyBuYW1lZCBOQU1FLlxuIgogIiAgICBcbiIKQEAgLTM1NDQsNyArMzU2NSw3IEBACiAiICAgIFJldHVybnMgdGhlIGV4aXQgc3RhdHVzIG9mIENPTU1BTkQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYxOAorIzogYnVpbHRpbnMuYzoxNjM0CiBtc2dpZCAiIgogIkRlZmluZSBzaGVsbCBmdW5jdGlvbi5cbiIKICIgICAgXG4iCkBAIC0zNTU4LDcgKzM1NzksNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIE5BTUUgaXMgcmVhZG9ubHkuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTYzMgorIzogYnVpbHRpbnMuYzoxNjQ4CiBtc2dpZCAiIgogIkdyb3VwIGNvbW1hbmRzIGFzIGEgdW5pdC5cbiIKICIgICAgXG4iCkBAIC0zNTY5LDcgKzM1OTAsNyBAQAogIiAgICBSZXR1cm5zIHRoZSBzdGF0dXMgb2YgdGhlIGxhc3QgY29tbWFuZCBleGVjdXRlZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjQ0CisjOiBidWlsdGlucy5jOjE2NjAKIG1zZ2lkICIiCiAiUmVzdW1lIGpvYiBpbiBmb3JlZ3JvdW5kLlxuIgogIiAgICBcbiIKQEAgLTM1ODMsNyArMzYwNCw3IEBACiAiICAgIFJldHVybnMgdGhlIHN0YXR1cyBvZiB0aGUgcmVzdW1lZCBqb2IuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTY1OQorIzogYnVpbHRpbnMuYzoxNjc1CiBtc2dpZCAiIgogIkV2YWx1YXRlIGFyaXRobWV0aWMgZXhwcmVzc2lvbi5cbiIKICIgICAgXG4iCkBAIC0zNTk0LDcgKzM2MTUsNyBAQAogIiAgICBSZXR1cm5zIDEgaWYgRVhQUkVTU0lPTiBldmFsdWF0ZXMgdG8gMDsgcmV0dXJucyAwIG90aGVyd2lzZS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjcxCisjOiBidWlsdGlucy5jOjE2ODcKIG1zZ2lkICIiCiAiRXhlY3V0ZSBjb25kaXRpb25hbCBjb21tYW5kLlxuIgogIiAgICBcbiIKQEAgLTM2MjIsNyArMzY0Myw3IEBACiAiICAgIDAgb3IgMSBkZXBlbmRpbmcgb24gdmFsdWUgb2YgRVhQUkVTU0lPTi4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNjk3CisjOiBidWlsdGlucy5jOjE3MTMKIG1zZ2lkICIiCiAiQ29tbW9uIHNoZWxsIHZhcmlhYmxlIG5hbWVzIGFuZCB1c2FnZS5cbiIKICIgICAgXG4iCkBAIC0zNjc2LDcgKzM2OTcsNyBAQAogIiAgICBcdFx0Y29tbWFuZHMgc2hvdWxkIGJlIHNhdmVkIG9uIHRoZSBoaXN0b3J5IGxpc3QuXG4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzU0CisjOiBidWlsdGlucy5jOjE3NzAKIG1zZ2lkICIiCiAiQWRkIGRpcmVjdG9yaWVzIHRvIHN0YWNrLlxuIgogIiAgICBcbiIKQEAgLTM3MDcsNyArMzcyOCw3IEBACiAiICAgIGNoYW5nZSBmYWlscy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxNzg4CisjOiBidWlsdGlucy5jOjE4MDQKIG1zZ2lkICIiCiAiUmVtb3ZlIGRpcmVjdG9yaWVzIGZyb20gc3RhY2suXG4iCiAiICAgIFxuIgpAQCAtMzczNCw3ICszNzU1LDcgQEAKICIgICAgY2hhbmdlIGZhaWxzLiIKIG1zZ3N0ciAiIgogCi0jOiBidWlsdGlucy5jOjE4MTgKKyM6IGJ1aWx0aW5zLmM6MTgzNAogbXNnaWQgIiIKICJEaXNwbGF5IGRpcmVjdG9yeSBzdGFjay5cbiIKICIgICAgXG4iCkBAIC0zNzYzLDcgKzM3ODQsNyBAQAogIiAgICBSZXR1cm5zIHN1Y2Nlc3MgdW5sZXNzIGFuIGludmFsaWQgb3B0aW9uIGlzIHN1cHBsaWVkIG9yIGFuIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODQ3CisjOiBidWlsdGlucy5jOjE4NjMKIG1zZ2lkICIiCiAiU2V0IGFuZCB1bnNldCBzaGVsbCBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM3ODQsNyArMzgwNSw3IEBACiAiICAgIGdpdmVuIG9yIE9QVE5BTUUgaXMgZGlzYWJsZWQuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTg2OAorIzogYnVpbHRpbnMuYzoxODg0CiBtc2dpZCAiIgogIkZvcm1hdHMgYW5kIHByaW50cyBBUkdVTUVOVFMgdW5kZXIgY29udHJvbCBvZiB0aGUgRk9STUFULlxuIgogIiAgICBcbiIKQEAgLTM4MDcsNiArMzgyOCw5IEBACiAiICAgIFxuIgogIiAgICAgICViXHRleHBhbmQgYmFja3NsYXNoIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGhlIGNvcnJlc3BvbmRpbmcgYXJndW1lbnRcbiIKICIgICAgICAlcVx0cXVvdGUgdGhlIGFyZ3VtZW50IGluIGEgd2F5IHRoYXQgY2FuIGJlIHJldXNlZCBhcyBzaGVsbCBpbnB1dFxuIgorIiAgICAgICUoZm10KVQgb3V0cHV0IHRoZSBkYXRlLXRpbWUgc3RyaW5nIHJlc3VsdGluZyBmcm9tIHVzaW5nIEZNVCBhcyBhICIKKyJmb3JtYXRcbiIKKyIgICAgICAgICAgICBzdHJpbmcgZm9yIHN0cmZ0aW1lKDMpXG4iCiAiICAgIFxuIgogIiAgICBFeGl0IFN0YXR1czpcbiIKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBnaXZlbiBvciBhIHdyaXRlIG9yICIKQEAgLTM4MTQsNyArMzgzOCw3IEBACiAiICAgIGVycm9yIG9jY3Vycy4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxODk1CisjOiBidWlsdGlucy5jOjE5MTMKIG1zZ2lkICIiCiAiU3BlY2lmeSBob3cgYXJndW1lbnRzIGFyZSB0byBiZSBjb21wbGV0ZWQgYnkgUmVhZGxpbmUuXG4iCiAiICAgIFxuIgpAQCAtMzg0MSw3ICszODY1LDcgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkyMworIzogYnVpbHRpbnMuYzoxOTQxCiBtc2dpZCAiIgogIkRpc3BsYXkgcG9zc2libGUgY29tcGxldGlvbnMgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zLlxuIgogIiAgICBcbiIKQEAgLTM4NTQsMTMgKzM4NzgsMTMgQEAKICIgICAgUmV0dXJucyBzdWNjZXNzIHVubGVzcyBhbiBpbnZhbGlkIG9wdGlvbiBpcyBzdXBwbGllZCBvciBhbiBlcnJvciBvY2N1cnMuIgogbXNnc3RyICIiCiAKLSM6IGJ1aWx0aW5zLmM6MTkzOAorIzogYnVpbHRpbnMuYzoxOTU2CiBtc2dpZCAiIgogIk1vZGlmeSBvciBkaXNwbGF5IGNvbXBsZXRpb24gb3B0aW9ucy5cbiIKICIgICAgXG4iCiAiICAgIE1vZGlmeSB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUsIG9yLCBpZiBubyBOQU1FcyBhcmUgIgogInN1cHBsaWVkLFxuIgotIiAgICB0aGUgY29tcGxldGlvbiBjdXJyZW50bHkgYmVnaW4gZXhlY3V0ZWQuICBJZiBubyBPUFRJT05zIGFyZSBnaXZlbm0sICIKKyIgICAgdGhlIGNvbXBsZXRpb24gY3VycmVudGx5IGJlaW5nIGV4ZWN1dGVkLiAgSWYgbm8gT1BUSU9OcyBhcmUgZ2l2ZW4sICIKICJwcmludFxuIgogIiAgICB0aGUgY29tcGxldGlvbiBvcHRpb25zIGZvciBlYWNoIE5BTUUgb3IgdGhlIGN1cnJlbnQgY29tcGxldGlvbiAiCiAic3BlY2lmaWNhdGlvbi5cbiIKQEAgLTM4ODUsNyArMzkwOSw3IEBACiAiICAgIGhhdmUgYSBjb21wbGV0aW9uIHNwZWNpZmljYXRpb24gZGVmaW5lZC4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoxOTY4CisjOiBidWlsdGlucy5jOjE5ODYKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIHRoZSBzdGFuZGFyZCBpbnB1dCBpbnRvIGFuIGluZGV4ZWQgYXJyYXkgdmFyaWFibGUuXG4iCiAiICAgIFxuIgpAQCAtMzkxMyw3ICszOTM3LDggQEAKICIgICAgXG4iCiAiICAgIElmIC1DIGlzIHN1cHBsaWVkIHdpdGhvdXQgLWMsIHRoZSBkZWZhdWx0IHF1YW50dW0gaXMgNTAwMC4gIFdoZW5cbiIKICIgICAgQ0FMTEJBQ0sgaXMgZXZhbHVhdGVkLCBpdCBpcyBzdXBwbGllZCB0aGUgaW5kZXggb2YgdGhlIG5leHQgYXJyYXlcbiIKLSIgICAgZWxlbWVudCB0byBiZSBhc3NpZ25lZCBhcyBhbiBhZGRpdGlvbmFsIGFyZ3VtZW50LlxuIgorIiAgICBlbGVtZW50IHRvIGJlIGFzc2lnbmVkIGFuZCB0aGUgbGluZSB0byBiZSBhc3NpZ25lZCB0byB0aGF0IGVsZW1lbnRcbiIKKyIgICAgYXMgYWRkaXRpb25hbCBhcmd1bWVudHMuXG4iCiAiICAgIFxuIgogIiAgICBJZiBub3Qgc3VwcGxpZWQgd2l0aCBhbiBleHBsaWNpdCBvcmlnaW4sIG1hcGZpbGUgd2lsbCBjbGVhciBBUlJBWSAiCiAiYmVmb3JlXG4iCkBAIC0zOTI1LDcgKzM5NTAsNyBAQAogIiAgICBub3QgYW4gaW5kZXhlZCBhcnJheS4iCiBtc2dzdHIgIiIKIAotIzogYnVpbHRpbnMuYzoyMDAxCisjOiBidWlsdGlucy5jOjIwMjAKIG1zZ2lkICIiCiAiUmVhZCBsaW5lcyBmcm9tIGEgZmlsZSBpbnRvIGFuIGFycmF5IHZhcmlhYmxlLlxuIgogIiAgICBcbiIKZGlmZiAtLWdpdCBhL3ByaW50X2NtZC5jIGIvcHJpbnRfY21kLmMKaW5kZXggYjhmYjBhMi4uMGQ2NDZlYyAxMDA2NDQKLS0tIGEvcHJpbnRfY21kLmMKKysrIGIvcHJpbnRfY21kLmMKQEAgLTEsNiArMSw2IEBACiAvKiBwcmludF9jb21tYW5kIC0tIEEgd2F5IHRvIG1ha2UgcmVhZGFibGUgY29tbWFuZHMgZnJvbSBhIGNvbW1hbmQgdHJlZS4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTg5LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5ODktMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTE2MSw3ICsxNjEsNyBAQAogbWFrZV9jb21tYW5kX3N0cmluZ19pbnRlcm5hbCAoY29tbWFuZCkKICAgICAgQ09NTUFORCAqY29tbWFuZDsKIHsKLSAgY2hhciBzWzNdLCAqb3A7CisgIGNoYXIgc1szXTsKIAogICBpZiAoY29tbWFuZCA9PSAwKQogICAgIGNwcmludGYgKCIiKTsKQEAgLTI5OSw4ICsyOTksNyBAQAogCSAgICB9CiAKIAkgIG1ha2VfY29tbWFuZF9zdHJpbmdfaW50ZXJuYWwgKGNvbW1hbmQtPnZhbHVlLkNvbm5lY3Rpb24tPnNlY29uZCk7Ci0JICBpZiAoZGVmZXJyZWRfaGVyZWRvY3MpCi0JICAgIHByaW50X2RlZmVycmVkX2hlcmVkb2NzICgiIik7CisJICBQUklOVF9ERUZFUlJFRF9IRVJFRE9DUyAoIiIpOwogCSAgcHJpbnRpbmdfY29ubmVjdGlvbi0tOwkgIAkgIAogCSAgYnJlYWs7CiAKQEAgLTYyOCw2ICs2MjcsNyBAQAogICBuZXdsaW5lICgiZG9cbiIpOwogICBpbmRlbnRhdGlvbiArPSBpbmRlbnRhdGlvbl9hbW91bnQ7CiAgIG1ha2VfY29tbWFuZF9zdHJpbmdfaW50ZXJuYWwgKHNlbGVjdF9jb21tYW5kLT5hY3Rpb24pOworICBQUklOVF9ERUZFUlJFRF9IRVJFRE9DUyAoIiIpOwogICBzZW1pY29sb24gKCk7CiAgIGluZGVudGF0aW9uIC09IGluZGVudGF0aW9uX2Ftb3VudDsKICAgbmV3bGluZSAoImRvbmUiKTsKQEAgLTcxMSw2ICs3MTEsNyBAQAogICAgICAgaW5kZW50YXRpb24gKz0gaW5kZW50YXRpb25fYW1vdW50OwogICAgICAgbWFrZV9jb21tYW5kX3N0cmluZ19pbnRlcm5hbCAoY2xhdXNlcy0+YWN0aW9uKTsKICAgICAgIGluZGVudGF0aW9uIC09IGluZGVudGF0aW9uX2Ftb3VudDsKKyAgICAgIFBSSU5UX0RFRkVSUkVEX0hFUkVET0NTICgiIik7CiAgICAgICBpZiAoY2xhdXNlcy0+ZmxhZ3MgJiBDQVNFUEFUX0ZBTExUSFJPVUdIKQogCW5ld2xpbmUgKCI7JiIpOwogICAgICAgZWxzZSBpZiAoY2xhdXNlcy0+ZmxhZ3MgJiBDQVNFUEFUX1RFU1RORVhUKQpAQCAtNzQ0LDEwICs3NDUsMTIgQEAKICAgY3ByaW50ZiAoIiVzICIsIHdoaWNoKTsKICAgc2tpcF90aGlzX2luZGVudCsrOwogICBtYWtlX2NvbW1hbmRfc3RyaW5nX2ludGVybmFsICh3aGlsZV9jb21tYW5kLT50ZXN0KTsKKyAgUFJJTlRfREVGRVJSRURfSEVSRURPQ1MgKCIiKTsKICAgc2VtaWNvbG9uICgpOwogICBjcHJpbnRmICgiIGRvXG4iKTsJLyogd2FzIG5ld2xpbmUgKCJkb1xuIik7ICovCiAgIGluZGVudGF0aW9uICs9IGluZGVudGF0aW9uX2Ftb3VudDsKICAgbWFrZV9jb21tYW5kX3N0cmluZ19pbnRlcm5hbCAod2hpbGVfY29tbWFuZC0+YWN0aW9uKTsKKyAgUFJJTlRfREVGRVJSRURfSEVSRURPQ1MgKCIiKTsKICAgaW5kZW50YXRpb24gLT0gaW5kZW50YXRpb25fYW1vdW50OwogICBzZW1pY29sb24gKCk7CiAgIG5ld2xpbmUgKCJkb25lIik7CkBAIC03NjQsNiArNzY3LDcgQEAKICAgY3ByaW50ZiAoIiB0aGVuXG4iKTsKICAgaW5kZW50YXRpb24gKz0gaW5kZW50YXRpb25fYW1vdW50OwogICBtYWtlX2NvbW1hbmRfc3RyaW5nX2ludGVybmFsIChpZl9jb21tYW5kLT50cnVlX2Nhc2UpOworICBQUklOVF9ERUZFUlJFRF9IRVJFRE9DUyAoIiIpOwogICBpbmRlbnRhdGlvbiAtPSBpbmRlbnRhdGlvbl9hbW91bnQ7CiAKICAgaWYgKGlmX2NvbW1hbmQtPmZhbHNlX2Nhc2UpCkBAIC03NzIsNiArNzc2LDcgQEAKICAgICAgIG5ld2xpbmUgKCJlbHNlXG4iKTsKICAgICAgIGluZGVudGF0aW9uICs9IGluZGVudGF0aW9uX2Ftb3VudDsKICAgICAgIG1ha2VfY29tbWFuZF9zdHJpbmdfaW50ZXJuYWwgKGlmX2NvbW1hbmQtPmZhbHNlX2Nhc2UpOworICAgICAgUFJJTlRfREVGRVJSRURfSEVSRURPQ1MgKCIiKTsKICAgICAgIGluZGVudGF0aW9uIC09IGluZGVudGF0aW9uX2Ftb3VudDsKICAgICB9CiAgIHNlbWljb2xvbiAoKTsKQEAgLTk1MSw3ICs5NTYsNyBAQAogICAgICAgY3ByaW50ZiAoIiAiKTsKICAgICAgIHByaW50X2hlcmVkb2NfaGVhZGVyIChoZHRhaWwpOwogICAgIH0KLSAgaWYgKGNzdHJpbmdbMF0gIT0gJzsnIHx8IGNzdHJpbmdbMV0pCisgIGlmIChjc3RyaW5nWzBdICYmIChjc3RyaW5nWzBdICE9ICc7JyB8fCBjc3RyaW5nWzFdKSkKICAgICBjcHJpbnRmICgiJXMiLCBjc3RyaW5nKTsgCiAgIGlmIChkZWZlcnJlZF9oZXJlZG9jcykKICAgICBjcHJpbnRmICgiXG4iKTsKQEAgLTEwNjAsMTAgKzEwNjUsOSBAQAogcHJpbnRfcmVkaXJlY3Rpb24gKHJlZGlyZWN0KQogICAgICBSRURJUkVDVCAqcmVkaXJlY3Q7CiB7Ci0gIGludCBraWxsX2xlYWRpbmcsIHJlZGlyZWN0b3IsIHJlZGlyX2ZkOworICBpbnQgcmVkaXJlY3RvciwgcmVkaXJfZmQ7CiAgIFdPUkRfREVTQyAqcmVkaXJlY3RlZSwgKnJlZGlyX3dvcmQ7CiAKLSAga2lsbF9sZWFkaW5nID0gMDsKICAgcmVkaXJlY3RlZSA9IHJlZGlyZWN0LT5yZWRpcmVjdGVlLmZpbGVuYW1lOwogICByZWRpcl9mZCA9IHJlZGlyZWN0LT5yZWRpcmVjdGVlLmRlc3Q7CiAKQEAgLTExMjgsNiArMTEzMiwxMCBAQAogCWNwcmludGYgKCJ7JXN9IiwgcmVkaXJfd29yZC0+d29yZCk7CiAgICAgICBlbHNlIGlmIChyZWRpcmVjdG9yICE9IDApCiAJY3ByaW50ZiAoIiVkIiwgcmVkaXJlY3Rvcik7CisjaWYgMAorICAgICAgLyogRG9uJ3QgbmVlZCB0byBjaGVjayB3aGV0aGVyIG9yIG5vdCB0byByZXF1b3RlLCBzaW5jZSBvcmlnaW5hbCBxdW90ZXMKKyAgICAgICAgIGFyZSBzdGlsbCBpbnRhY3QuICBUaGUgb25seSB0aGluZyB0aGF0IGhhcyBoYXBwZW5lZCBpcyB0aGF0ICQnLi4uJworICAgICAgICAgaGFzIGJlZW4gcmVwbGFjZWQgd2l0aCAnZXhwYW5kZWQgLi4uJy4gKi8KICAgICAgIGlmIChhbnNpY19zaG91bGRxdW90ZSAocmVkaXJlY3QtPnJlZGlyZWN0ZWUuZmlsZW5hbWUtPndvcmQpKQogCXsKIAkgIGNoYXIgKng7CkBAIC0xMTM2LDYgKzExNDQsNyBAQAogCSAgZnJlZSAoeCk7CiAJfQogICAgICAgZWxzZQorI2VuZGlmCiAJY3ByaW50ZiAoIjw8PCAlcyIsIHJlZGlyZWN0LT5yZWRpcmVjdGVlLmZpbGVuYW1lLT53b3JkKTsKICAgICAgIGJyZWFrOwogCmRpZmYgLS1naXQgYS9yZWRpci5jIGIvcmVkaXIuYwppbmRleCBjN2E2OWY3Li45MjFiZThjIDEwMDY0NAotLS0gYS9yZWRpci5jCisrKyBiL3JlZGlyLmMKQEAgLTYyLDEzICs2MiwxNCBAQAogaW50IGV4cGFuZGluZ19yZWRpcjsKIAogZXh0ZXJuIGludCBwb3NpeGx5X2NvcnJlY3Q7CitleHRlcm4gaW50IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlOwogZXh0ZXJuIFJFRElSRUNUICpyZWRpcmVjdGlvbl91bmRvX2xpc3Q7CiBleHRlcm4gUkVESVJFQ1QgKmV4ZWNfcmVkaXJlY3Rpb25fdW5kb19saXN0OwogCiAvKiBTdGF0aWMgZnVuY3Rpb25zIGRlZmluZWQgYW5kIHVzZWQgaW4gdGhpcyBmaWxlLiAqLwotc3RhdGljIHZvaWQgYWRkX3VuZG9fY2xvc2VfcmVkaXJlY3QgX19QKChpbnQpKTsKIHN0YXRpYyB2b2lkIGFkZF9leGVjX3JlZGlyZWN0IF9fUCgoUkVESVJFQ1QgKikpOwogc3RhdGljIGludCBhZGRfdW5kb19yZWRpcmVjdCBfX1AoKGludCwgZW51bSByX2luc3RydWN0aW9uLCBpbnQpKTsKK3N0YXRpYyBpbnQgYWRkX3VuZG9fY2xvc2VfcmVkaXJlY3QgX19QKChpbnQpKTsKIHN0YXRpYyBpbnQgZXhwYW5kYWJsZV9yZWRpcmVjdGlvbl9maWxlbmFtZSBfX1AoKFJFRElSRUNUICopKTsKIHN0YXRpYyBpbnQgc3RkaW5fcmVkaXJlY3Rpb24gX19QKChlbnVtIHJfaW5zdHJ1Y3Rpb24sIGludCkpOwogc3RhdGljIGludCB1bmRvYWJsZWZkIF9fUCgoaW50KSk7CkBAIC05Myw2ICs5NCwxNyBAQAogICAgVXNlZCB0byBwcmludCBhIHJlYXNvbmFibGUgZXJyb3IgbWVzc2FnZS4gKi8KIHN0YXRpYyBpbnQgaGVyZWRvY19lcnJubzsKIAorI2RlZmluZSBSRURJUkVDVElPTl9FUlJPUihyLCBlLCBmZCkgXAorZG8geyBcCisgIGlmICgocikgPCAwKSBcCisgICAgeyBcCisgICAgICBpZiAoZmQgPj0gMCkgXAorCWNsb3NlIChmZCk7IFwKKyAgICAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gRVhFQ1VUSU9OX0ZBSUxVUkU7XAorICAgICAgcmV0dXJuICgoZSkgPT0gMCA/IEVJTlZBTCA6IChlKSk7XAorICAgIH0gXAorfSB3aGlsZSAoMCkKKwogdm9pZAogcmVkaXJlY3Rpb25fZXJyb3IgKHRlbXAsIGVycm9yKQogICAgICBSRURJUkVDVCAqdGVtcDsKQEAgLTQzNyw3ICs0NDksNyBAQAogICAvKiBJbiBhbiBhdHRlbXB0IHRvIGF2b2lkIHJhY2VzLCB3ZSBjbG9zZSB0aGUgZmlyc3QgZmQgb25seSBhZnRlciBvcGVuaW5nCiAgICAgIHRoZSBzZWNvbmQuICovCiAgIC8qIE1ha2UgdGhlIGRvY3VtZW50IHJlYWxseSB0ZW1wb3JhcnkuICBBbHNvIG1ha2UgaXQgdGhlIGlucHV0LiAqLwotICBmZDIgPSBvcGVuIChmaWxlbmFtZSwgT19SRE9OTFksIDA2MDApOworICBmZDIgPSBvcGVuIChmaWxlbmFtZSwgT19SRE9OTFl8T19CSU5BUlksIDA2MDApOwogCiAgIGlmIChmZDIgPCAwKQogICAgIHsKQEAgLTQ1MywxNCArNDY1LDYgQEAKICAgaWYgKHVubGluayAoZmlsZW5hbWUpIDwgMCkKICAgICB7CiAgICAgICByID0gZXJybm87Ci0jaWYgZGVmaW5lZCAoX19DWUdXSU5fXykKLSAgICAgIC8qIFVuZGVyIEN5Z1dpbiAxLjEuMCwgdGhlIHVubGluayB3aWxsIGZhaWwgaWYgdGhlIGZpbGUgaXMKLQkgb3Blbi4gVGhpcyBoYWNrIHdpbGwgYWxsb3cgdGhlIHByZXZpb3VzIGFjdGlvbiBvZiBzaWxlbnRseQotCSBpZ25vcmluZyB0aGUgZXJyb3IsIGJ1dCB3aWxsIHN0aWxsIGxlYXZlIHRoZSBmaWxlIHRoZXJlLiBUaGlzCi0JIG5lZWRzIHNvbWUga2luZCBvZiBtYWdpYy4gKi8KLSAgICAgIGlmIChyID09IEVBQ0NFUykKLQlyZXR1cm4gKGZkMik7Ci0jZW5kaWYgLyogX19DWUdXSU5fXyAqLwogICAgICAgY2xvc2UgKGZkMik7CiAgICAgICBmcmVlIChmaWxlbmFtZSk7CiAgICAgICBlcnJubyA9IHI7CkBAIC04MDcsMTUgKzgxMSwyNCBAQAogICAgICAgaWYgKGZsYWdzICYgUlhfQUNUSVZFKQogCXsKIAkgIGlmIChyZWRpcmVjdC0+cmZsYWdzICYgUkVESVJfVkFSQVNTSUdOKQotCSAgICByZWRpcmVjdG9yID0gZmNudGwgKGZkLCBGX0RVUEZELCBTSEVMTF9GRF9CQVNFKTsJCS8qIFhYWCB0cnkgdGhpcyBmb3Igbm93ICovCisJICAgIHsKKwkgICAgICByZWRpcmVjdG9yID0gZmNudGwgKGZkLCBGX0RVUEZELCBTSEVMTF9GRF9CQVNFKTsJCS8qIFhYWCB0cnkgdGhpcyBmb3Igbm93ICovCisJICAgICAgciA9IGVycm5vOworCSAgICAgIGlmIChyZWRpcmVjdG9yIDwgMCkKKwkJc3lzX2Vycm9yIChfKCJyZWRpcmVjdGlvbiBlcnJvcjogY2Fubm90IGR1cGxpY2F0ZSBmZCIpKTsKKwkgICAgICBSRURJUkVDVElPTl9FUlJPUiAocmVkaXJlY3RvciwgciwgZmQpOworCSAgICB9CiAKIAkgIGlmIChmbGFncyAmIFJYX1VORE9BQkxFKQogCSAgICB7CiAJICAgICAgLyogT25seSBzZXR1cCB0byB1bmRvIGl0IGlmIHRoZSB0aGluZyB0byB1bmRvIGlzIGFjdGl2ZS4gKi8KIAkgICAgICBpZiAoKGZkICE9IHJlZGlyZWN0b3IpICYmIChmY250bCAocmVkaXJlY3RvciwgRl9HRVRGRCwgMCkgIT0gLTEpKQotCQlhZGRfdW5kb19yZWRpcmVjdCAocmVkaXJlY3RvciwgcmksIC0xKTsKKwkJciA9IGFkZF91bmRvX3JlZGlyZWN0IChyZWRpcmVjdG9yLCByaSwgLTEpOwogCSAgICAgIGVsc2UKLQkJYWRkX3VuZG9fY2xvc2VfcmVkaXJlY3QgKHJlZGlyZWN0b3IpOworCQlyID0gYWRkX3VuZG9fY2xvc2VfcmVkaXJlY3QgKHJlZGlyZWN0b3IpOworCSAgICAgIGlmIChyIDwgMCAmJiAocmVkaXJlY3QtPnJmbGFncyAmIFJFRElSX1ZBUkFTU0lHTikpCisJCWNsb3NlIChyZWRpcmVjdG9yKTsKKwkgICAgICBSRURJUkVDVElPTl9FUlJPUiAociwgZXJybm8sIGZkKTsKIAkgICAgfQogCiAjaWYgZGVmaW5lZCAoQlVGRkVSRURfSU5QVVQpCkBAIC05MTAsNyArOTIzLDEzIEBACiAJICAgIH0KIAogCSAgaWYgKHJlZGlyZWN0LT5yZmxhZ3MgJiBSRURJUl9WQVJBU1NJR04pCi0JICAgIHJlZGlyZWN0b3IgPSBmY250bCAoZmQsIEZfRFVQRkQsIFNIRUxMX0ZEX0JBU0UpOwkJLyogWFhYIHRyeSB0aGlzIGZvciBub3cgKi8KKwkgICAgeworCSAgICAgIHJlZGlyZWN0b3IgPSBmY250bCAoZmQsIEZfRFVQRkQsIFNIRUxMX0ZEX0JBU0UpOwkJLyogWFhYIHRyeSB0aGlzIGZvciBub3cgKi8KKwkgICAgICByID0gZXJybm87CisJICAgICAgaWYgKHJlZGlyZWN0b3IgPCAwKQorCQlzeXNfZXJyb3IgKF8oInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIikpOworCSAgICAgIFJFRElSRUNUSU9OX0VSUk9SIChyZWRpcmVjdG9yLCByLCBmZCk7CisJICAgIH0KIAogCSAgaWYgKGZsYWdzICYgUlhfQUNUSVZFKQogCSAgICB7CkBAIC05MTgsOSArOTM3LDEyIEBACiAJICAgICAgICB7CiAJCSAgLyogT25seSBzZXR1cCB0byB1bmRvIGl0IGlmIHRoZSB0aGluZyB0byB1bmRvIGlzIGFjdGl2ZS4gKi8KIAkJICBpZiAoKGZkICE9IHJlZGlyZWN0b3IpICYmIChmY250bCAocmVkaXJlY3RvciwgRl9HRVRGRCwgMCkgIT0gLTEpKQotCQkgICAgYWRkX3VuZG9fcmVkaXJlY3QgKHJlZGlyZWN0b3IsIHJpLCAtMSk7CisJCSAgICByID0gYWRkX3VuZG9fcmVkaXJlY3QgKHJlZGlyZWN0b3IsIHJpLCAtMSk7CiAJCSAgZWxzZQotCQkgICAgYWRkX3VuZG9fY2xvc2VfcmVkaXJlY3QgKHJlZGlyZWN0b3IpOworCQkgICAgciA9IGFkZF91bmRvX2Nsb3NlX3JlZGlyZWN0IChyZWRpcmVjdG9yKTsKKwkJICBpZiAociA8IDAgJiYgKHJlZGlyZWN0LT5yZmxhZ3MgJiBSRURJUl9WQVJBU1NJR04pKQorCQkgICAgY2xvc2UgKHJlZGlyZWN0b3IpOworCQkgIFJFRElSRUNUSU9OX0VSUk9SIChyLCBlcnJubywgZmQpOwogCSAgICAgICAgfQogCiAjaWYgZGVmaW5lZCAoQlVGRkVSRURfSU5QVVQpCkBAIC05NjQsNyArOTg2LDEzIEBACiAgICAgY2FzZSByX21vdmVfaW5wdXQ6CiAgICAgY2FzZSByX21vdmVfb3V0cHV0OgogICAgICAgaWYgKChmbGFncyAmIFJYX0FDVElWRSkgJiYgKHJlZGlyZWN0LT5yZmxhZ3MgJiBSRURJUl9WQVJBU1NJR04pKQotCXJlZGlyZWN0b3IgPSBmY250bCAocmVkaXJfZmQsIEZfRFVQRkQsIFNIRUxMX0ZEX0JBU0UpOwkJLyogWFhYIHRyeSB0aGlzIGZvciBub3cgKi8KKyAgICAgICAgeworCSAgcmVkaXJlY3RvciA9IGZjbnRsIChyZWRpcl9mZCwgRl9EVVBGRCwgU0hFTExfRkRfQkFTRSk7CQkvKiBYWFggdHJ5IHRoaXMgZm9yIG5vdyAqLworCSAgciA9IGVycm5vOworCSAgaWYgKHJlZGlyZWN0b3IgPCAwKQorCSAgICBzeXNfZXJyb3IgKF8oInJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkIikpOworCSAgUkVESVJFQ1RJT05fRVJST1IgKHJlZGlyZWN0b3IsIHIsIC0xKTsKKyAgICAgICAgfQogCiAgICAgICBpZiAoKGZsYWdzICYgUlhfQUNUSVZFKSAmJiAocmVkaXJfZmQgIT0gcmVkaXJlY3RvcikpCiAJewpAQCAtOTcyLDkgKzEwMDAsMTIgQEAKIAkgICAgewogCSAgICAgIC8qIE9ubHkgc2V0dXAgdG8gdW5kbyBpdCBpZiB0aGUgdGhpbmcgdG8gdW5kbyBpcyBhY3RpdmUuICovCiAJICAgICAgaWYgKGZjbnRsIChyZWRpcmVjdG9yLCBGX0dFVEZELCAwKSAhPSAtMSkKLQkJYWRkX3VuZG9fcmVkaXJlY3QgKHJlZGlyZWN0b3IsIHJpLCByZWRpcl9mZCk7CisJCXIgPSBhZGRfdW5kb19yZWRpcmVjdCAocmVkaXJlY3RvciwgcmksIHJlZGlyX2ZkKTsKIAkgICAgICBlbHNlCi0JCWFkZF91bmRvX2Nsb3NlX3JlZGlyZWN0IChyZWRpcmVjdG9yKTsKKwkJciA9IGFkZF91bmRvX2Nsb3NlX3JlZGlyZWN0IChyZWRpcmVjdG9yKTsKKwkgICAgICBpZiAociA8IDAgJiYgKHJlZGlyZWN0LT5yZmxhZ3MgJiBSRURJUl9WQVJBU1NJR04pKQorCQljbG9zZSAocmVkaXJlY3Rvcik7CisJICAgICAgUkVESVJFQ1RJT05fRVJST1IgKHIsIGVycm5vLCAtMSk7CiAJICAgIH0KICNpZiBkZWZpbmVkIChCVUZGRVJFRF9JTlBVVCkKIAkgIGNoZWNrX2Jhc2hfaW5wdXQgKHJlZGlyZWN0b3IpOwpAQCAtMTA0Niw4ICsxMDc3LDEyIEBACiAJCXJldHVybiBBTUJJR1VPVVNfUkVESVJFQ1Q7CiAJICAgIH0KIAorCSAgciA9IDA7CiAJICBpZiAoKGZsYWdzICYgUlhfVU5ET0FCTEUpICYmIChmY250bCAocmVkaXJlY3RvciwgRl9HRVRGRCwgMCkgIT0gLTEpKQotCSAgICBhZGRfdW5kb19yZWRpcmVjdCAocmVkaXJlY3RvciwgcmksIC0xKTsKKwkgICAgeworCSAgICAgIHIgPSBhZGRfdW5kb19yZWRpcmVjdCAocmVkaXJlY3RvciwgcmksIC0xKTsKKwkgICAgICBSRURJUkVDVElPTl9FUlJPUiAociwgZXJybm8sIHJlZGlyZWN0b3IpOworCSAgICB9CiAKICNpZiBkZWZpbmVkIChDT1BST0NFU1NfU1VQUE9SVCkKIAkgIGNvcHJvY19mZGNoayAocmVkaXJlY3Rvcik7CkBAIC0xMDgxLDcgKzExMTYsNyBAQAogICAgc2luY2Ugd2UncmUgZ29pbmcgdG8gdXNlIGl0IGxhdGVyIChlLmcuLCBtYWtlIHN1cmUgd2UgZG9uJ3Qgc2F2ZSBmZCAwCiAgICB0byBmZCAxMCBpZiB3ZSBoYXZlIGEgcmVkaXJlY3Rpb24gbGlrZSAwPCYxMCkuICBJZiB0aGUgdmFsdWUgb2YgZmRiYXNlCiAgICBwdXRzIHRoZSBwcm9jZXNzIG92ZXIgaXRzIGZkIGxpbWl0LCBjYXVzaW5nIGZjbnRsIHRvIGZhaWwsIHdlIHRyeQotICAgYWdhaW4gd2l0aCBTSEVMTF9GRF9CQVNFLiAqLworICAgYWdhaW4gd2l0aCBTSEVMTF9GRF9CQVNFLiAgUmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZXJyb3IuICovCiBzdGF0aWMgaW50CiBhZGRfdW5kb19yZWRpcmVjdCAoZmQsIHJpLCBmZGJhc2UpCiAgICAgIGludCBmZDsKQEAgLTExMzIsNyArMTE2Nyw3IEBACiAgICAgIGFib3ZlIFNIRUxMX0ZEX0JBU0UsIGFkZCBhIHJlZGlyZWN0aW9uIHRvIGJlIHVuZG9uZSBpZiB0aGUgZXhlYyBidWlsdGluCiAgICAgIGNhdXNlcyByZWRpcmVjdGlvbnMgdG8gYmUgZGlzY2FyZGVkLiAgVGhlcmUgbmVlZHMgdG8gYmUgYSBkaWZmZXJlbmNlCiAgICAgIGJldHdlZW4gZmRzIHRoYXQgYXJlIHVzZWQgdG8gc2F2ZSBvdGhlciBmZHMgYW5kIHRoZW4gYXJlIHRoZSB0YXJnZXQgb2YKLSAgICAgdXNlciByZWRpcmN0aW9ucyBhbmQgZmRzIHRoYXQgYXJlIGp1c3QgdGhlIHRhcmdldCBvZiB1c2VyIHJlZGlyZWN0aW9ucy4KKyAgICAgdXNlciByZWRpcmVjdGlvbnMgYW5kIGZkcyB0aGF0IGFyZSBqdXN0IHRoZSB0YXJnZXQgb2YgdXNlciByZWRpcmVjdGlvbnMuCiAgICAgIFdlIHVzZSB0aGUgY2xvc2Utb24tZXhlYyBmbGFnIHRvIHRlbGwgdGhlIGRpZmZlcmVuY2U7IGZkcyA+IFNIRUxMX0ZEX0JBU0UKICAgICAgdGhhdCBoYXZlIHRoZSBjbG9zZS1vbi1leGVjIGZsYWcgc2V0IGFyZSBhc3N1bWVkIHRvIGJlIGZkcyB1c2VkIGludGVybmFsbHkKICAgICAgdG8gc2F2ZSBvdGhlcnMuICovCkBAIC0xMTYzLDggKzExOTgsOCBAQAogfQogCiAvKiBTZXQgdXAgdG8gY2xvc2UgRkQgd2hlbiB3ZSBhcmUgZmluaXNoZWQgd2l0aCB0aGUgY3VycmVudCBjb21tYW5kCi0gICBhbmQgaXRzIHJlZGlyZWN0aW9ucy4gKi8KLXN0YXRpYyB2b2lkCisgICBhbmQgaXRzIHJlZGlyZWN0aW9ucy4gIFJldHVybiAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGVycm9yLiAqLworc3RhdGljIGludAogYWRkX3VuZG9fY2xvc2VfcmVkaXJlY3QgKGZkKQogICAgICBpbnQgZmQ7CiB7CkBAIC0xMTc3LDYgKzEyMTIsOCBAQAogICBjbG9zZXItPmZsYWdzIHw9IFJYX0lOVEVSTkFMOwogICBjbG9zZXItPm5leHQgPSByZWRpcmVjdGlvbl91bmRvX2xpc3Q7CiAgIHJlZGlyZWN0aW9uX3VuZG9fbGlzdCA9IGNsb3NlcjsKKworICByZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQKZGlmZiAtLWdpdCBhL3NoZWxsLmMgYi9zaGVsbC5jCmluZGV4IDhkYWRiMGIuLjllNzRmM2IgMTAwNjQ0Ci0tLSBhL3NoZWxsLmMKKysrIGIvc2hlbGwuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIHNoZWxsLmMgLS0gR05VJ3MgaWRlYSBvZiB0aGUgUE9TSVggc2hlbGwgc3BlY2lmaWNhdGlvbi4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5ODctMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTIyNiw3ICsyMjYsNiBAQAogaW50IHBvc2l4bHlfY29ycmVjdCA9IDA7CS8qIE5vbi16ZXJvIG1lYW5zIHBvc2l4LjIgc3VwZXJzZXQuICovCiAjZW5kaWYKIAotCiAvKiBTb21lIGxvbmctd2luZGVkIGFyZ3VtZW50IG5hbWVzLiAgVGhlc2UgYXJlIG9idmlvdXNseSBuZXcuICovCiAjZGVmaW5lIEludCAxCiAjZGVmaW5lIENoYXJwIDIKQEAgLTI3MSw2ICsyNzAsOCBAQAogY2hhciAqKnN1YnNoZWxsX2FyZ3Y7CiBjaGFyICoqc3Vic2hlbGxfZW52cDsKIAorY2hhciAqZXhlY19hcmd2MDsKKwogI2lmIGRlZmluZWQgKEJVRkZFUkVEX0lOUFVUKQogLyogVGhlIGZpbGUgZGVzY3JpcHRvciBmcm9tIHdoaWNoIHRoZSBzaGVsbCBpcyByZWFkaW5nIGlucHV0LiAqLwogaW50IGRlZmF1bHRfYnVmZmVyZWRfaW5wdXQgPSAtMTsKQEAgLTUyNSwyMSArNTI2LDIwIEBACiAgIGVsc2UKICAgICBpbml0X25vbmludGVyYWN0aXZlICgpOwogCi0jZGVmaW5lIENMT1NFX0ZEU19BVF9MT0dJTgotI2lmIGRlZmluZWQgKENMT1NFX0ZEU19BVF9MT0dJTikKICAgLyoKICAgICogU29tZSBzeXN0ZW1zIGhhdmUgdGhlIGJhZCBoYWJpdCBvZiBzdGFydGluZyBsb2dpbiBzaGVsbHMgd2l0aCBsb3RzIG9mIG9wZW4KICAgICogZmlsZSBkZXNjcmlwdG9ycy4gIEZvciBpbnN0YW5jZSwgbW9zdCBzeXN0ZW1zIHRoYXQgaGF2ZSBwaWNrZWQgdXAgdGhlCiAgICAqIHByZS00LjAgU3VuIFlQIGNvZGUgbGVhdmUgYSBmaWxlIGRlc2NyaXB0b3Igb3BlbiBlYWNoIHRpbWUgeW91IGNhbGwgb25lCiAgICAqIG9mIHRoZSBnZXRwdyogZnVuY3Rpb25zLCBhbmQgaXQncyBzZXQgdG8gYmUgb3BlbiBhY3Jvc3MgZXhlY3MuICBUaGF0Ci0gICAqIG1lYW5zIG9uZSBmb3IgbG9naW4sIG9uZSBmb3IgeHRlcm0sIG9uZSBmb3Igc2hlbGx0b29sLCBldGMuCisgICAqIG1lYW5zIG9uZSBmb3IgbG9naW4sIG9uZSBmb3IgeHRlcm0sIG9uZSBmb3Igc2hlbGx0b29sLCBldGMuICBUaGVyZSBhcmUKKyAgICogYWxzbyBzeXN0ZW1zIHRoYXQgb3BlbiBwZXJzaXN0ZW50IEZEcyB0byBvdGhlciBhZ2VudHMgb3IgZmlsZXMgYXMgcGFydAorICAgKiBvZiBwcm9jZXNzIHN0YXJ0dXA7IHRoZXNlIG5lZWQgdG8gYmUgc2V0IHRvIGJlIGNsb3NlLW9uLWV4ZWMuCiAgICAqLwogICBpZiAobG9naW5fc2hlbGwgJiYgaW50ZXJhY3RpdmVfc2hlbGwpCiAgICAgewogICAgICAgZm9yIChpID0gMzsgaSA8IDIwOyBpKyspCi0JY2xvc2UgKGkpOworCVNFVF9DTE9TRV9PTl9FWEVDIChpKTsKICAgICB9Ci0jZW5kaWYgLyogQ0xPU0VfRkRTX0FUX0xPR0lOICovCiAKICAgLyogSWYgd2UncmUgaW4gYSBzdHJpY3QgUG9zaXguMiBtb2RlLCB0dXJuIG9uIGludGVyYWN0aXZlIGNvbW1lbnRzLAogICAgICBhbGlhcyBleHBhbnNpb24gaW4gbm9uLWludGVyYWN0aXZlIHNoZWxscywgYW5kIG90aGVyIFBvc2l4LjIgdGhpbmdzLiAqLwpAQCAtMTQxNSw3ICsxNDE1LDEyIEBACiAgICAgfQogCiAgIGZyZWUgKGRvbGxhcl92YXJzWzBdKTsKLSAgZG9sbGFyX3ZhcnNbMF0gPSBzYXZlc3RyaW5nIChzY3JpcHRfbmFtZSk7CisgIGRvbGxhcl92YXJzWzBdID0gZXhlY19hcmd2MCA/IHNhdmVzdHJpbmcgKGV4ZWNfYXJndjApIDogc2F2ZXN0cmluZyAoc2NyaXB0X25hbWUpOworICBpZiAoZXhlY19hcmd2MCkKKyAgICB7CisgICAgICBmcmVlIChleGVjX2FyZ3YwKTsKKyAgICAgIGV4ZWNfYXJndjAgPSAoY2hhciAqKU5VTEw7CisgICAgfQogCiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKICAgR0VUX0FSUkFZX0ZST01fVkFSICgiRlVOQ05BTUUiLCBmdW5jbmFtZV92LCBmdW5jbmFtZV9hKTsKQEAgLTE0NzEsMTAgKzE0NzYsNiBAQAogICAgICBub3QgbWF0Y2ggd2l0aCBvdXJzLiAqLwogICBmZCA9IG1vdmVfdG9faGlnaF9mZCAoZmQsIDEsIC0xKTsKIAotI2lmIGRlZmluZWQgKF9fQ1lHV0lOX18pICYmIGRlZmluZWQgKE9fVEVYVCkKLSAgc2V0bW9kZSAoZmQsIE9fVEVYVCk7Ci0jZW5kaWYKLQogI2lmIGRlZmluZWQgKEJVRkZFUkVEX0lOUFVUKQogICBkZWZhdWx0X2J1ZmZlcmVkX2lucHV0ID0gZmQ7CiAgIFNFVF9DTE9TRV9PTl9FWEVDIChkZWZhdWx0X2J1ZmZlcmVkX2lucHV0KTsKQEAgLTE3MTksOCArMTcyMCw5IEBACiAgIGluaXRpYWxpemVfZmxhZ3MgKCk7CiAKICAgLyogSW5pdGlhbGl6ZSB0aGUgc2hlbGwgb3B0aW9ucy4gIERvbid0IGltcG9ydCB0aGUgc2hlbGwgb3B0aW9ucwotICAgICBmcm9tIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSAkU0hFTExPUFRTIGlmIHdlIGFyZSBydW5uaW5nIGluCi0gICAgIHByaXZpbGVnZWQgb3IgcmVzdHJpY3RlZCBtb2RlIG9yIGlmIHRoZSBzaGVsbCBpcyBydW5uaW5nIHNldHVpZC4gKi8KKyAgICAgZnJvbSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzICRTSEVMTE9QVFMgb3IgJEJBU0hPUFRTIGlmIHdlIGFyZQorICAgICBydW5uaW5nIGluIHByaXZpbGVnZWQgb3IgcmVzdHJpY3RlZCBtb2RlIG9yIGlmIHRoZSBzaGVsbCBpcyBydW5uaW5nCisgICAgIHNldHVpZC4gKi8KICNpZiBkZWZpbmVkIChSRVNUUklDVEVEX1NIRUxMKQogICBpbml0aWFsaXplX3NoZWxsX29wdGlvbnMgKHByaXZpbGVnZWRfbW9kZXx8cmVzdHJpY3RlZHx8cnVubmluZ19zZXR1aWQpOwogICBpbml0aWFsaXplX2Jhc2hvcHRzIChwcml2aWxlZ2VkX21vZGV8fHJlc3RyaWN0ZWR8fHJ1bm5pbmdfc2V0dWlkKTsKZGlmZiAtLWdpdCBhL3NoZWxsLmggYi9zaGVsbC5oCmluZGV4IDVlYjBjYWEuLjkyNjg1ZTEgMTAwNjQ0Ci0tLSBhL3NoZWxsLmgKKysrIGIvc2hlbGwuaApAQCAtNTUsNiArNTUsOCBAQAogLyogVXNhZ2UgbWVzc2FnZXMgYnkgYnVpbHRpbnMgcmVzdWx0IGluIGEgcmV0dXJuIHN0YXR1cyBvZiAyLiAqLwogI2RlZmluZSBFWF9CQURVU0FHRQkyCiAKKyNkZWZpbmUgRVhfTUlTQ0VSUk9SCTIKKwogLyogU3BlY2lhbCBleGl0IHN0YXR1c2VzIHVzZWQgYnkgdGhlIHNoZWxsLCBpbnRlcm5hbGx5IGFuZCBleHRlcm5hbGx5LiAqLwogI2RlZmluZSBFWF9SRVRSWUZBSUwJMTI0CiAjZGVmaW5lIEVYX1dFWFBDT01TVUIJMTI1CkBAIC0xNDIsNiArMTQ0LDggQEAKICAgLyogTm90aGluZyByaWdodCBub3cgZm9yIG11bHRpYnl0ZSBzdGF0ZSwgYnV0IG1pZ2h0IHdhbnQgc29tZXRoaW5nIGxhdGVyLiAqLwogI2VuZGlmCiAKKyAgY2hhciAqKnByb21wdF9zdHJpbmdfcG9pbnRlcjsKKwogICAvKiBoaXN0b3J5IHN0YXRlIGFmZmVjdGluZyBvciBtb2RpZmllZCBieSB0aGUgcGFyc2VyICovCiAgIGludCBjdXJyZW50X2NvbW1hbmRfbGluZV9jb3VudDsKICNpZiBkZWZpbmVkIChISVNUT1JZKQpkaWZmIC0tZ2l0IGEvc2lnLmMgYi9zaWcuYwppbmRleCBiZTk2NzZmLi42YmQxMzE5IDEwMDY0NAotLS0gYS9zaWcuYworKysgYi9zaWcuYwpAQCAtMSw2ICsxLDYgQEAKIC8qIHNpZy5jIC0gaW50ZXJmYWNlIGZvciBzaGVsbCBzaWduYWwgaGFuZGxlcnMgYW5kIHNpZ25hbCBpbml0aWFsaXphdGlvbi4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTk0LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5OTQtMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTU1LDEwICs1NSwxNSBAQAogZXh0ZXJuIGludCBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZTsKIGV4dGVybiBpbnQgbGFzdF9jb21tYW5kX2V4aXRfc2lnbmFsOwogZXh0ZXJuIGludCByZXR1cm5fY2F0Y2hfZmxhZzsKLWV4dGVybiBpbnQgbG9vcF9sZXZlbCwgY29udGludWluZywgYnJlYWtpbmc7CitleHRlcm4gaW50IGxvb3BfbGV2ZWwsIGNvbnRpbnVpbmcsIGJyZWFraW5nLCBmdW5jbmVzdDsKIGV4dGVybiBpbnQgZXhlY3V0aW5nX2xpc3Q7CiBleHRlcm4gaW50IGNvbXN1Yl9pZ25vcmVfcmV0dXJuOwogZXh0ZXJuIGludCBwYXJzZV9hbmRfZXhlY3V0ZV9sZXZlbCwgc2hlbGxfaW5pdGlhbGl6ZWQ7CisjaWYgZGVmaW5lZCAoSElTVE9SWSkKK2V4dGVybiBpbnQgaGlzdG9yeV9saW5lc190aGlzX3Nlc3Npb247CisjZW5kaWYKKworZXh0ZXJuIHZvaWQgaW5pdGlhbGl6ZV9zaWdsaXN0ICgpOwogCiAvKiBOb24temVybyBhZnRlciBTSUdJTlQuICovCiB2b2xhdGlsZSBpbnQgaW50ZXJydXB0X3N0YXRlID0gMDsKQEAgLTIxNCw3ICsyMTksOCBAQAogCiAvKiBJbml0aWFsaXplIHNpZ25hbHMgdGhhdCB3aWxsIHRlcm1pbmF0ZSB0aGUgc2hlbGwgdG8gZG8gc29tZQogICAgdW53aW5kIHByb3RlY3Rpb24uICBGb3Igbm9uLWludGVyYWN0aXZlIHNoZWxscywgd2Ugb25seSBjYWxsCi0gICB0aGlzIHdoZW4gYSB0cmFwIGlzIGRlZmluZWQgZm9yIEVYSVQgKDApLiAqLworICAgdGhpcyB3aGVuIGEgdHJhcCBpcyBkZWZpbmVkIGZvciBFWElUICgwKSBvciB3aGVuIHRyYXAgaXMgcnVuCisgICB0byBkaXNwbGF5IHNpZ25hbCBkaXNwb3NpdGlvbnMuICovCiB2b2lkCiBpbml0aWFsaXplX3Rlcm1pbmF0aW5nX3NpZ25hbHMgKCkKIHsKQEAgLTI0OCw3ICsyNTQsOCBAQAogICAgICAgWFNBRkxBR1MoaSkgPSBvYWN0LnNhX2ZsYWdzOwogICAgICAgLyogRG9uJ3QgZG8gYW55dGhpbmcgd2l0aCBzaWduYWxzIHRoYXQgYXJlIGlnbm9yZWQgYXQgc2hlbGwgZW50cnkKIAkgaWYgdGhlIHNoZWxsIGlzIG5vdCBpbnRlcmFjdGl2ZS4gKi8KLSAgICAgIGlmICghaW50ZXJhY3RpdmVfc2hlbGwgJiYgWEhBTkRMRVIgKGkpID09IFNJR19JR04pCisgICAgICAvKiBYWFggLSBzaG91bGQgd2UgZG8gdGhpcyBmb3IgaW50ZXJhY3RpdmUgc2hlbGxzLCB0b28/ICovCisgICAgICBpZiAoaW50ZXJhY3RpdmVfc2hlbGwgPT0gMCAmJiBYSEFORExFUiAoaSkgPT0gU0lHX0lHTikKIAl7CiAJICBzaWdhY3Rpb24gKFhTSUcgKGkpLCAmb2FjdCwgJmFjdCk7CiAJICBzZXRfc2lnbmFsX2lnbm9yZWQgKFhTSUcgKGkpKTsKQEAgLTI3MSw3ICsyNzgsOCBAQAogICAgICAgWFNBRkxBR1MoaSkgPSAwOwogICAgICAgLyogRG9uJ3QgZG8gYW55dGhpbmcgd2l0aCBzaWduYWxzIHRoYXQgYXJlIGlnbm9yZWQgYXQgc2hlbGwgZW50cnkKIAkgaWYgdGhlIHNoZWxsIGlzIG5vdCBpbnRlcmFjdGl2ZS4gKi8KLSAgICAgIGlmICghaW50ZXJhY3RpdmVfc2hlbGwgJiYgWEhBTkRMRVIgKGkpID09IFNJR19JR04pCisgICAgICAvKiBYWFggLSBzaG91bGQgd2UgZG8gdGhpcyBmb3IgaW50ZXJhY3RpdmUgc2hlbGxzLCB0b28/ICovCisgICAgICBpZiAoaW50ZXJhY3RpdmVfc2hlbGwgPT0gMCAmJiBYSEFORExFUiAoaSkgPT0gU0lHX0lHTikKIAl7CiAJICBzaWduYWwgKFhTSUcgKGkpLCBTSUdfSUdOKTsKIAkgIHNldF9zaWduYWxfaWdub3JlZCAoWFNJRyAoaSkpOwpAQCAtMzY3LDcgKzM3NSw3IEBACiAjZW5kaWYgLyogUFJPQ0VTU19TVUJTVElUVVRJT04gKi8KIAogICBydW5fdW53aW5kX3Byb3RlY3RzICgpOwotICBsb29wX2xldmVsID0gY29udGludWluZyA9IGJyZWFraW5nID0gMDsKKyAgbG9vcF9sZXZlbCA9IGNvbnRpbnVpbmcgPSBicmVha2luZyA9IGZ1bmNuZXN0ID0gMDsKICAgZXhlY3V0aW5nX2xpc3QgPSBjb21zdWJfaWdub3JlX3JldHVybiA9IHJldHVybl9jYXRjaF9mbGFnID0gMDsKIH0KIApAQCAtNDE4LDcgKzQyNiw3IEBACiAjZW5kaWYgLyogUFJPQ0VTU19TVUJTVElUVVRJT04gKi8KIAogICBydW5fdW53aW5kX3Byb3RlY3RzICgpOwotICBsb29wX2xldmVsID0gY29udGludWluZyA9IGJyZWFraW5nID0gMDsKKyAgbG9vcF9sZXZlbCA9IGNvbnRpbnVpbmcgPSBicmVha2luZyA9IGZ1bmNuZXN0ID0gMDsKICAgZXhlY3V0aW5nX2xpc3QgPSBjb21zdWJfaWdub3JlX3JldHVybiA9IHJldHVybl9jYXRjaF9mbGFnID0gMDsKIAogICBpZiAoaW50ZXJhY3RpdmUgJiYgcHJpbnRfbmV3bGluZSkKQEAgLTQ5NSw2ICs1MDMsMTAgQEAKICAgLyogWFhYIC0gc2hvdWxkIHRoaXMgYWxzbyB0cmlnZ2VyIHdoZW4gaW50ZXJydXB0X2ltbWVkaWF0ZWx5IGlzIHNldD8gKi8KICAgaWYgKHRlcm1pbmF0ZV9pbW1lZGlhdGVseSkKICAgICB7CisjaWYgZGVmaW5lZCAoSElTVE9SWSkKKyAgICAgIC8qIFhYWCAtIHdpbGwgaW5oaWJpdCBoaXN0b3J5IGZpbGUgYmVpbmcgd3JpdHRlbiAqLworICAgICAgaGlzdG9yeV9saW5lc190aGlzX3Nlc3Npb24gPSAwOworI2VuZGlmCiAgICAgICB0ZXJtaW5hdGVfaW1tZWRpYXRlbHkgPSAwOwogICAgICAgdGVybXNpZ19oYW5kbGVyIChzaWcpOwogICAgIH0KQEAgLTUzNiw3ICs1NDgsNyBAQAogI2VuZGlmIC8qIFBST0NFU1NfU1VCU1RJVFVUSU9OICovCiAKICAgLyogUmVzZXQgZXhlY3V0aW9uIGNvbnRleHQgKi8KLSAgbG9vcF9sZXZlbCA9IGNvbnRpbnVpbmcgPSBicmVha2luZyA9IDA7CisgIGxvb3BfbGV2ZWwgPSBjb250aW51aW5nID0gYnJlYWtpbmcgPSBmdW5jbmVzdCA9IDA7CiAgIGV4ZWN1dGluZ19saXN0ID0gY29tc3ViX2lnbm9yZV9yZXR1cm4gPSByZXR1cm5fY2F0Y2hfZmxhZyA9IDA7CiAKICAgcnVuX2V4aXRfdHJhcCAoKTsKQEAgLTY1MCwxNSArNjYyLDEzIEBACiAKICAgYWN0LnNhX2hhbmRsZXIgPSBoYW5kbGVyOwogICBhY3Quc2FfZmxhZ3MgPSAwOwotI2lmIDAKLSAgaWYgKHNpZyA9PSBTSUdBTFJNKQotICAgIGFjdC5zYV9mbGFncyB8PSBTQV9JTlRFUlJVUFQ7CS8qIFhYWCAqLwotICBlbHNlCi0gICAgYWN0LnNhX2ZsYWdzIHw9IFNBX1JFU1RBUlQ7CQkvKiBYWFggKi8KLSNlbHNlCisKKyAgLyogWFhYIC0gYmFzaC00LjIgKi8KKyAgLyogV2UgZG9uJ3Qgd2FudCBhIGNoaWxkIGRlYXRoIHRvIGludGVycnVwdCBpbnRlcnJ1cHRpYmxlIHN5c3RlbSBjYWxscywgZXZlbgorICAgICBpZiB3ZSB0YWtlIHRoZSB0aW1lIHRvIHJlYXAgY2hpbGRyZW4gKi8KICAgaWYgKHNpZyA9PSBTSUdDSExEKQotICAgIGFjdC5zYV9mbGFncyB8PSBTQV9SRVNUQVJUOwotI2VuZGlmCisgICAgYWN0LnNhX2ZsYWdzIHw9IFNBX1JFU1RBUlQ7CQkvKiBYWFggKi8KKwogICBzaWdlbXB0eXNldCAoJmFjdC5zYV9tYXNrKTsKICAgc2lnZW1wdHlzZXQgKCZvYWN0LnNhX21hc2spOwogICBzaWdhY3Rpb24gKHNpZywgJmFjdCwgJm9hY3QpOwpkaWZmIC0tZ2l0IGEvc3Vic3QuYyBiL3N1YnN0LmMKaW5kZXggODFhMzI1Ni4uMGU4M2U1NiAxMDA2NDQKLS0tIGEvc3Vic3QuYworKysgYi9zdWJzdC5jCkBAIC00LDcgKzQsNyBAQAogLyogYGBIYXZlIGEgbGl0dGxlIGZhaXRoLCB0aGVyZSdzIG1hZ2ljIGluIHRoZSBuaWdodC4gIFlvdSBhaW4ndCBhCiAgICAgIGJlYXV0eSwgYnV0LCBoZXksIHlvdSdyZSBhbHJpZ2h0LicnICovCiAKLS8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAKICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBCYXNoLCB0aGUgQm91cm5lIEFnYWluIFNIZWxsLgogCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiYmFzaGludGwuaCIKIAogI2luY2x1ZGUgInNoZWxsLmgiCisjaW5jbHVkZSAicGFyc2VyLmgiCiAjaW5jbHVkZSAiZmxhZ3MuaCIKICNpbmNsdWRlICJqb2JzLmgiCiAjaW5jbHVkZSAiZXhlY3V0ZV9jbWQuaCIKQEAgLTUxLDYgKzUyLDcgQEAKICNpbmNsdWRlICJtYWlsY2hlY2suaCIKIAogI2luY2x1ZGUgInNobWJ1dGlsLmgiCisjaW5jbHVkZSAidHlwZW1heC5oIgogCiAjaW5jbHVkZSAiYnVpbHRpbnMvZ2V0b3B0LmgiCiAjaW5jbHVkZSAiYnVpbHRpbnMvY29tbW9uLmgiCkBAIC0xMDcsNyArMTA5LDcgQEAKIC8qIEV2YWx1YXRlcyB0byAxIGlmIEMgaXMgb25lIG9mIHRoZSBzaGVsbCdzIHNwZWNpYWwgcGFyYW1ldGVycyBmb3Igd2hpY2ggYW4KICAgIGluZGlyZWN0IHZhcmlhYmxlIHJlZmVyZW5jZSBtYXkgYmUgbWFkZS4gKi8KICNkZWZpbmUgVkFMSURfSU5ESVJfUEFSQU0oYykgXAotICAoKGMpID09ICcjJyB8fCAoYykgPT0gJz8nIHx8IChjKSA9PSAnQCcgfHwgKGMpID09ICcqJykKKyAgKChwb3NpeGx5X2NvcnJlY3QgPT0gMCAmJiAoYykgPT0gJyMnKSB8fCAocG9zaXhseV9jb3JyZWN0ID09IDAgJiYgKGMpID09ICc/JykgfHwgKGMpID09ICdAJyB8fCAoYykgPT0gJyonKQogCiAvKiBFdmFsdWF0ZXMgdG8gMSBpZiBDIGlzIG9uZSBvZiB0aGUgT1AgY2hhcmFjdGVycyB0aGF0IGZvbGxvd3MgdGhlIHBhcmFtZXRlcgogICAgaW4gJHtwYXJhbWV0ZXJbOl1PUHdvcmR9LiAqLwpAQCAtMjQ0LDEwICsyNDYsOCBAQAogI2VuZGlmCiBzdGF0aWMgY2hhciAqcmVtb3ZlX3BhdHRlcm4gX19QKChjaGFyICosIGNoYXIgKiwgaW50KSk7CiAKLXN0YXRpYyBpbnQgbWF0Y2hfcGF0dGVybl9jaGFyIF9fUCgoY2hhciAqLCBjaGFyICopKTsKIHN0YXRpYyBpbnQgbWF0Y2hfdXBhdHRlcm4gX19QKChjaGFyICosIGNoYXIgKiwgaW50LCBjaGFyICoqLCBjaGFyICoqKSk7CiAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKLXN0YXRpYyBpbnQgbWF0Y2hfcGF0dGVybl93Y2hhciBfX1AoKHdjaGFyX3QgKiwgd2NoYXJfdCAqKSk7CiBzdGF0aWMgaW50IG1hdGNoX3dwYXR0ZXJuIF9fUCgod2NoYXJfdCAqLCBjaGFyICoqLCBzaXplX3QsIHdjaGFyX3QgKiwgaW50LCBjaGFyICoqLCBjaGFyICoqKSk7CiAjZW5kaWYKIHN0YXRpYyBpbnQgbWF0Y2hfcGF0dGVybiBfX1AoKGNoYXIgKiwgY2hhciAqLCBpbnQsIGNoYXIgKiosIGNoYXIgKiopKTsKQEAgLTI1OSw3ICsyNTksNyBAQAogI2lmZGVmIEFSUkFZX1ZBUlMKIHN0YXRpYyBjaGFyICphcnJheV9yZW1vdmVfcGF0dGVybiBfX1AoKFNIRUxMX1ZBUiAqLCBjaGFyICosIGludCwgY2hhciAqLCBpbnQpKTsKICNlbmRpZgotc3RhdGljIGNoYXIgKnBhcmFtZXRlcl9icmFjZV9yZW1vdmVfcGF0dGVybiBfX1AoKGNoYXIgKiwgY2hhciAqLCBjaGFyICosIGludCwgaW50KSk7CitzdGF0aWMgY2hhciAqcGFyYW1ldGVyX2JyYWNlX3JlbW92ZV9wYXR0ZXJuIF9fUCgoY2hhciAqLCBjaGFyICosIGludCwgY2hhciAqLCBpbnQsIGludCwgaW50KSk7CiAKIHN0YXRpYyBjaGFyICpwcm9jZXNzX3N1YnN0aXR1dGUgX19QKChjaGFyICosIGludCkpOwogCkBAIC0yNzMsNyArMjczLDcgQEAKIHN0YXRpYyBpbnQgY2hrX2F0c3RhciBfX1AoKGNoYXIgKiwgaW50LCBpbnQgKiwgaW50ICopKTsKIHN0YXRpYyBpbnQgY2hrX2FyaXRoc3ViIF9fUCgoY29uc3QgY2hhciAqLCBpbnQpKTsKIAotc3RhdGljIFdPUkRfREVTQyAqcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF93b3JkIF9fUCgoY2hhciAqLCBpbnQsIGludCwgaW50KSk7CitzdGF0aWMgV09SRF9ERVNDICpwYXJhbWV0ZXJfYnJhY2VfZXhwYW5kX3dvcmQgX19QKChjaGFyICosIGludCwgaW50LCBpbnQsIGFycmF5aW5kX3QgKikpOwogc3RhdGljIFdPUkRfREVTQyAqcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF9pbmRpciBfX1AoKGNoYXIgKiwgaW50LCBpbnQsIGludCAqLCBpbnQgKikpOwogc3RhdGljIFdPUkRfREVTQyAqcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF9yaHMgX19QKChjaGFyICosIGNoYXIgKiwgaW50LCBpbnQsIGludCAqLCBpbnQgKikpOwogc3RhdGljIHZvaWQgcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF9lcnJvciBfX1AoKGNoYXIgKiwgY2hhciAqKSk7CkBAIC0yODMsMTYgKzI4MywxOCBAQAogCiBzdGF0aWMgY2hhciAqc2tpcGFyaXRoIF9fUCgoY2hhciAqLCBpbnQpKTsKIHN0YXRpYyBpbnQgdmVyaWZ5X3N1YnN0cmluZ192YWx1ZXMgX19QKChTSEVMTF9WQVIgKiwgY2hhciAqLCBjaGFyICosIGludCwgaW50bWF4X3QgKiwgaW50bWF4X3QgKikpOwotc3RhdGljIGludCBnZXRfdmFyX2FuZF90eXBlIF9fUCgoY2hhciAqLCBjaGFyICosIGludCwgU0hFTExfVkFSICoqLCBjaGFyICoqKSk7CitzdGF0aWMgaW50IGdldF92YXJfYW5kX3R5cGUgX19QKChjaGFyICosIGNoYXIgKiwgYXJyYXlpbmRfdCwgaW50LCBpbnQsIFNIRUxMX1ZBUiAqKiwgY2hhciAqKikpOwogc3RhdGljIGNoYXIgKm1iX3N1YnN0cmluZyBfX1AoKGNoYXIgKiwgaW50LCBpbnQpKTsKLXN0YXRpYyBjaGFyICpwYXJhbWV0ZXJfYnJhY2Vfc3Vic3RyaW5nIF9fUCgoY2hhciAqLCBjaGFyICosIGNoYXIgKiwgaW50KSk7CitzdGF0aWMgY2hhciAqcGFyYW1ldGVyX2JyYWNlX3N1YnN0cmluZyBfX1AoKGNoYXIgKiwgY2hhciAqLCBpbnQsIGNoYXIgKiwgaW50LCBpbnQpKTsKKworc3RhdGljIGludCBzaG91bGRleHBfcmVwbGFjZW1lbnQgX19QKChjaGFyICopKTsKIAogc3RhdGljIGNoYXIgKnBvc19wYXJhbXNfcGF0X3N1YnN0IF9fUCgoY2hhciAqLCBjaGFyICosIGNoYXIgKiwgaW50KSk7CiAKLXN0YXRpYyBjaGFyICpwYXJhbWV0ZXJfYnJhY2VfcGF0c3ViIF9fUCgoY2hhciAqLCBjaGFyICosIGNoYXIgKiwgaW50KSk7CitzdGF0aWMgY2hhciAqcGFyYW1ldGVyX2JyYWNlX3BhdHN1YiBfX1AoKGNoYXIgKiwgY2hhciAqLCBpbnQsIGNoYXIgKiwgaW50LCBpbnQpKTsKIAogc3RhdGljIGNoYXIgKnBvc19wYXJhbXNfY2FzZW1vZCBfX1AoKGNoYXIgKiwgY2hhciAqLCBpbnQsIGludCkpOwotc3RhdGljIGNoYXIgKnBhcmFtZXRlcl9icmFjZV9jYXNlbW9kIF9fUCgoY2hhciAqLCBjaGFyICosIGludCwgY2hhciAqLCBpbnQpKTsKK3N0YXRpYyBjaGFyICpwYXJhbWV0ZXJfYnJhY2VfY2FzZW1vZCBfX1AoKGNoYXIgKiwgY2hhciAqLCBpbnQsIGludCwgY2hhciAqLCBpbnQsIGludCkpOwogCiBzdGF0aWMgV09SRF9ERVNDICpwYXJhbWV0ZXJfYnJhY2VfZXhwYW5kIF9fUCgoY2hhciAqLCBpbnQgKiwgaW50LCBpbnQsIGludCAqLCBpbnQgKikpOwogc3RhdGljIFdPUkRfREVTQyAqcGFyYW1fZXhwYW5kIF9fUCgoY2hhciAqLCBpbnQgKiwgaW50LCBpbnQgKiwgaW50ICosIGludCAqLCBpbnQgKiwgaW50KSk7CkBAIC02MDgsNyArNjEwLDYgQEAKIAl7CiAJY2FzZSAnXFwnOgogCSAgc2luZGV4Kys7Ci0KIAkgIGlmIChzdHJpbmdbc2luZGV4XSkKIAkgICAgQURWQU5DRV9DSEFSIChzdHJpbmcsIHNsZW4sIHNpbmRleCk7CiAJICBicmVhazsKQEAgLTc4NSw2ICs3ODYsNyBAQAogICAgICAgLyogUHJvY2VzcyBhIGNoYXJhY3RlciB0aGF0IHdhcyBxdW90ZWQgYnkgYSBiYWNrc2xhc2guICovCiAgICAgICBpZiAocGFzc19uZXh0KQogCXsKKwkgIC8qIFhYWCAtIHRha2UgYW5vdGhlciBsb29rIGF0IHRoaXMgaW4gbGlnaHQgb2YgSW50ZXJwIDIyMSAqLwogCSAgLyogUG9zaXguMiBzZXo6CiAKIAkgICAgIGBgVGhlIGJhY2tzbGFzaCBzaGFsbCByZXRhaW4gaXRzIHNwZWNpYWwgbWVhbmluZyBhcyBhbiBlc2NhcGUKQEAgLTg1OCw3ICs4NjAsNyBAQAogCSAgaWYgKHN0cmluZ1tpICsgMV0gPT0gTFBBUkVOKQogCSAgICByZXQgPSBleHRyYWN0X2NvbW1hbmRfc3Vic3QgKHN0cmluZywgJnNpLCAwKTsKIAkgIGVsc2UKLQkgICAgcmV0ID0gZXh0cmFjdF9kb2xsYXJfYnJhY2Vfc3RyaW5nIChzdHJpbmcsICZzaSwgMSwgMCk7CisJICAgIHJldCA9IGV4dHJhY3RfZG9sbGFyX2JyYWNlX3N0cmluZyAoc3RyaW5nLCAmc2ksIFFfRE9VQkxFX1FVT1RFUywgMCk7CiAKIAkgIHRlbXBbaisrXSA9ICckJzsKIAkgIHRlbXBbaisrXSA9IHN0cmluZ1tpICsgMV07CkBAIC05NjAsNyArOTYyLDcgQEAKIAkgIGlmIChzdHJpbmdbaSArIDFdID09IExQQVJFTikKIAkgICAgcmV0ID0gZXh0cmFjdF9jb21tYW5kX3N1YnN0IChzdHJpbmcsICZzaSwgU1hfTk9BTExPQyk7CiAJICBlbHNlCi0JICAgIHJldCA9IGV4dHJhY3RfZG9sbGFyX2JyYWNlX3N0cmluZyAoc3RyaW5nLCAmc2ksIDEsIFNYX05PQUxMT0MpOworCSAgICByZXQgPSBleHRyYWN0X2RvbGxhcl9icmFjZV9zdHJpbmcgKHN0cmluZywgJnNpLCBRX0RPVUJMRV9RVU9URVMsIFNYX05PQUxMT0MpOwogCiAJICBpID0gc2kgKyAxOwogCSAgY29udGludWU7CkBAIC0xMjY0LDE3ICsxMjY2LDE1IEBACiAJICBjb250aW51ZTsKIAl9CiAKLSNpZiAwCi0gICAgICAvKiBQcm9jZXNzIGEgbmVzdGVkIGNvbW1hbmQgc3Vic3RpdHV0aW9uLCBidXQgb25seSBpZiB3ZSdyZSBwYXJzaW5nIGEKLQkgY29tbWFuZCBzdWJzdGl0dXRpb24uICBYWFggLSBmb3IgYmFzaC00LjIgKi8KKyAgICAgIC8qIFByb2Nlc3MgYSBuZXN0ZWQgY29tbWFuZCBzdWJzdGl0dXRpb24sIGJ1dCBvbmx5IGlmIHdlJ3JlIHBhcnNpbmcgYW4KKwkgYXJpdGhtZXRpYyBzdWJzdGl0dXRpb24uICovCiAgICAgICBpZiAoKGZsYWdzICYgU1hfQ09NTUFORCkgJiYgc3RyaW5nW2ldID09ICckJyAmJiBzdHJpbmdbaSsxXSA9PSBMUEFSRU4pCiAgICAgICAgIHsKICAgICAgICAgICBzaSA9IGkgKyAyOwotICAgICAgICAgIHQgPSBleHRyYWN0X2NvbW1hbmRfc3Vic3QgKHN0cmluZywgJnNpLCBmbGFncyk7CisgICAgICAgICAgdCA9IGV4dHJhY3RfY29tbWFuZF9zdWJzdCAoc3RyaW5nLCAmc2ksIGZsYWdzfFNYX05PQUxMT0MpOwogICAgICAgICAgIGkgPSBzaSArIDE7CiAgICAgICAgICAgY29udGludWU7CiAgICAgICAgIH0KLSNlbmRpZgogCiAgICAgICAvKiBQcm9jZXNzIGEgbmVzdGVkIE9QRU5FUi4gKi8KICAgICAgIGlmIChTVFJFUU4gKHN0cmluZyArIGksIG9wZW5lciwgbGVuX29wZW5lcikpCkBAIC0xMzcwLDcgKzEzNzAsNyBAQAogewogICByZWdpc3RlciBpbnQgaSwgYzsKICAgc2l6ZV90IHNsZW47Ci0gIGludCBwYXNzX2NoYXJhY3RlciwgbmVzdGluZ19sZXZlbCwgc2k7CisgIGludCBwYXNzX2NoYXJhY3RlciwgbmVzdGluZ19sZXZlbCwgc2ksIGRvbGJyYWNlX3N0YXRlOwogICBjaGFyICpyZXN1bHQsICp0OwogICBERUNMQVJFX01CU1RBVEU7CiAKQEAgLTEzNzgsNiArMTM3OCwxMiBAQAogICBuZXN0aW5nX2xldmVsID0gMTsKICAgc2xlbiA9IHN0cmxlbiAoc3RyaW5nICsgKnNpbmRleCkgKyAqc2luZGV4OwogCisgIC8qIFRoZSBoYW5kbGluZyBvZiBkb2xicmFjZV9zdGF0ZSBuZWVkcyB0byBhZ3JlZSB3aXRoIHRoZSBjb2RlIGluIHBhcnNlLnk6CisgICAgIHBhcnNlX21hdGNoZWRfcGFpcigpICovCisgIGRvbGJyYWNlX3N0YXRlID0gMDsKKyAgaWYgKHF1b3RlZCAmIChRX0hFUkVfRE9DVU1FTlR8UV9ET1VCTEVfUVVPVEVTKSkKKyAgICBkb2xicmFjZV9zdGF0ZSA9IChmbGFncyAmIFNYX1BPU0lYRVhQKSA/IERPTEJSQUNFX1FVT1RFIDogRE9MQlJBQ0VfUEFSQU07CisKICAgaSA9ICpzaW5kZXg7CiAgIHdoaWxlIChjID0gc3RyaW5nW2ldKQogICAgIHsKQEAgLTE0MzIsNiArMTQzOCw3IEBACiAJICBjb250aW51ZTsKIAl9CiAKKyNpZiAwCiAgICAgICAvKiBQYXNzIHRoZSBjb250ZW50cyBvZiBzaW5nbGUtcXVvdGVkIGFuZCBkb3VibGUtcXVvdGVkIHN0cmluZ3MKIAkgdGhyb3VnaCB2ZXJiYXRpbS4gKi8KICAgICAgIGlmIChjID09ICdcJycgfHwgYyA9PSAnIicpCkBAIC0xNDQyLDkgKzE0NDksNTAgQEAKIAkgIC8qIHNraXBfWFhYX3F1b3RlZCBsZWF2ZXMgaW5kZXggb25lIHBhc3QgY2xvc2UgcXVvdGUgKi8KIAkgIGNvbnRpbnVlOwogCX0KKyNlbHNlCS8qIFhYWCAtIGJhc2gtNC4yICovCisgICAgICAvKiBQYXNzIHRoZSBjb250ZW50cyBvZiBkb3VibGUtcXVvdGVkIHN0cmluZ3MgdGhyb3VnaCB2ZXJiYXRpbS4gKi8KKyAgICAgIGlmIChjID09ICciJykKKwl7CisJICBzaSA9IGkgKyAxOworCSAgaSA9IHNraXBfZG91YmxlX3F1b3RlZCAoc3RyaW5nLCBzbGVuLCBzaSk7CisJICAvKiBza2lwX1hYWF9xdW90ZWQgbGVhdmVzIGluZGV4IG9uZSBwYXN0IGNsb3NlIHF1b3RlICovCisJICBjb250aW51ZTsKKwl9CisKKyAgICAgIGlmIChjID09ICdcJycpCisJeworLyppdHJhY2UoImV4dHJhY3RfZG9sbGFyX2JyYWNlX3N0cmluZzogYyA9PSBzaW5nbGUgcXVvdGUgZmxhZ3MgPSAlZCBxdW90ZWQgPSAlZCBkb2xicmFjZV9zdGF0ZSA9ICVkIiwgZmxhZ3MsIHF1b3RlZCwgZG9sYnJhY2Vfc3RhdGUpOyovCisJICBpZiAocG9zaXhseV9jb3JyZWN0ICYmIHNoZWxsX2NvbXBhdGliaWxpdHlfbGV2ZWwgPiA0MSAmJiBkb2xicmFjZV9zdGF0ZSAhPSBET0xCUkFDRV9RVU9URSAmJiAocXVvdGVkICYgKFFfSEVSRV9ET0NVTUVOVHxRX0RPVUJMRV9RVU9URVMpKSkKKwkgICAgQURWQU5DRV9DSEFSIChzdHJpbmcsIHNsZW4sIGkpOworCSAgZWxzZQorCSAgICB7CisJICAgICAgc2kgPSBpICsgMTsKKwkgICAgICBpID0gc2tpcF9zaW5nbGVfcXVvdGVkIChzdHJpbmcsIHNsZW4sIHNpKTsKKwkgICAgfQorCisgICAgICAgICAgY29udGludWU7CisJfQorI2VuZGlmCiAKICAgICAgIC8qIG1vdmUgcGFzdCB0aGlzIGNoYXJhY3Rlciwgd2hpY2ggd2FzIG5vdCBzcGVjaWFsLiAqLwogICAgICAgQURWQU5DRV9DSEFSIChzdHJpbmcsIHNsZW4sIGkpOworCisgICAgICAvKiBUaGlzIGxvZ2ljIG11c3QgYWdyZWUgd2l0aCBwYXJzZS55OnBhcnNlX21hdGNoZWRfcGFpciwgc2luY2UgdGhleQorCSBzaGFyZSB0aGUgc2FtZSBkZWZpbmVzLiAqLworICAgICAgaWYgKGRvbGJyYWNlX3N0YXRlID09IERPTEJSQUNFX1BBUkFNICYmIGMgPT0gJyUnICYmIChpIC0gKnNpbmRleCkgPiAxKQorCWRvbGJyYWNlX3N0YXRlID0gRE9MQlJBQ0VfUVVPVEU7CisgICAgICBlbHNlIGlmIChkb2xicmFjZV9zdGF0ZSA9PSBET0xCUkFDRV9QQVJBTSAmJiBjID09ICcjJyAmJiAoaSAtICpzaW5kZXgpID4gMSkKKyAgICAgICAgZG9sYnJhY2Vfc3RhdGUgPSBET0xCUkFDRV9RVU9URTsKKyAgICAgIGVsc2UgaWYgKGRvbGJyYWNlX3N0YXRlID09IERPTEJSQUNFX1BBUkFNICYmIGMgPT0gJy8nICYmIChpIC0gKnNpbmRleCkgPiAxKQorICAgICAgICBkb2xicmFjZV9zdGF0ZSA9IERPTEJSQUNFX1FVT1RFOworICAgICAgZWxzZSBpZiAoZG9sYnJhY2Vfc3RhdGUgPT0gRE9MQlJBQ0VfUEFSQU0gJiYgYyA9PSAnXicgJiYgKGkgLSAqc2luZGV4KSA+IDEpCisgICAgICAgIGRvbGJyYWNlX3N0YXRlID0gRE9MQlJBQ0VfUVVPVEU7CisgICAgICBlbHNlIGlmIChkb2xicmFjZV9zdGF0ZSA9PSBET0xCUkFDRV9QQVJBTSAmJiBjID09ICcsJyAmJiAoaSAtICpzaW5kZXgpID4gMSkKKyAgICAgICAgZG9sYnJhY2Vfc3RhdGUgPSBET0xCUkFDRV9RVU9URTsKKyAgICAgIGVsc2UgaWYgKGRvbGJyYWNlX3N0YXRlID09IERPTEJSQUNFX1BBUkFNICYmIHN0cmNociAoIiMlXix+Oi09PysvIiwgYykgIT0gMCkKKwlkb2xicmFjZV9zdGF0ZSA9IERPTEJSQUNFX09QOworICAgICAgZWxzZSBpZiAoZG9sYnJhY2Vfc3RhdGUgPT0gRE9MQlJBQ0VfT1AgJiYgc3RyY2hyICgiIyVeLH46LT0/Ky8iLCBjKSA9PSAwKQorCWRvbGJyYWNlX3N0YXRlID0gRE9MQlJBQ0VfV09SRDsKICAgICB9CiAKICAgaWYgKGMgPT0gMCAmJiBuZXN0aW5nX2xldmVsKQpAQCAtMTY0NSw3ICsxNjkzLDcgQEAKIHsKICAgaW50IGksIHBhc3NfbmV4dCwgYmFja3EsIHNpLCBjLCBpbnZlcnQsIHNraXBxdW90ZSwgc2tpcGNtZDsKICAgc2l6ZV90IHNsZW47Ci0gIGNoYXIgKnRlbXA7CisgIGNoYXIgKnRlbXAsIG9wZW5bM107CiAgIERFQ0xBUkVfTUJTVEFURTsKIAogICBzbGVuID0gc3RybGVuIChzdHJpbmcgKyBzdGFydCkgKyBzdGFydDsKQEAgLTE3MjgsNiArMTc3NiwyNSBAQAogCSAgY29udGludWU7CiAJfQogI2VuZGlmIC8qIFBST0NFU1NfU1VCU1RJVFVUSU9OICovCisjaWYgZGVmaW5lZCAoRVhURU5ERURfR0xPQikKKyAgICAgIGVsc2UgaWYgKChmbGFncyAmIFNEX0VYVEdMT0IpICYmIGV4dGVuZGVkX2dsb2IgJiYgc3RyaW5nW2krMV0gPT0gTFBBUkVOICYmIG1lbWJlciAoYywgIj8qKyFAIikpCisJeworCSAgc2kgPSBpICsgMjsKKwkgIGlmIChzdHJpbmdbc2ldID09ICdcMCcpCisJICAgIENRX1JFVFVSTihzaSk7CisKKwkgIG9wZW5bMF0gPSBjOworCSAgb3BlblsxXSA9IExQQVJFTjsKKwkgIG9wZW5bMl0gPSAnXDAnOworCSAgdGVtcCA9IGV4dHJhY3RfZGVsaW1pdGVkX3N0cmluZyAoc3RyaW5nLCAmc2ksIG9wZW4sICIoIiwgIikiLCBTWF9OT0FMTE9DKTsgLyogKSAqLworCisJICBpID0gc2k7CisJICBpZiAoc3RyaW5nW2ldID09ICdcMCcpCS8qIGRvbid0IGluY3JlbWVudCBpIHBhc3QgRU9TIGluIGxvb3AgKi8KKwkgICAgYnJlYWs7CisJICBpKys7CisJICBjb250aW51ZTsKKwl9CisjZW5kaWYKICAgICAgIGVsc2UgaWYgKChza2lwcXVvdGUgfHwgaW52ZXJ0KSAmJiAobWVtYmVyIChjLCBkZWxpbXMpID09IDApKQogCWJyZWFrOwogICAgICAgZWxzZQpAQCAtMjIzMCwxMSArMjI5Nyw3IEBACiAKICAgLyogWFhYIC0tIHdoeSBjYWxsIHF1b3RlX2xpc3QgaWYgaWZzID09IDA/ICB3ZSBjYW4gZ2V0IGF3YXkgd2l0aG91dCBkb2luZwogICAgICBpdCBub3cgdGhhdCBxdW90ZV9lc2NhcGVzIHF1b3RlcyBzcGFjZXMgKi8KLSNpZiAwCi0gIHRsaXN0ID0gKChxdW90ZWQgJiAoUV9IRVJFX0RPQ1VNRU5UfFFfRE9VQkxFX1FVT1RFUykpIHx8IChpZnMgJiYgKmlmcyA9PSAwKSkKLSNlbHNlCiAgIHRsaXN0ID0gKHF1b3RlZCAmIChRX0hFUkVfRE9DVU1FTlR8UV9ET1VCTEVfUVVPVEVTfFFfUEFUUVVPVEUpKQotI2VuZGlmCiAJCT8gcXVvdGVfbGlzdCAobGlzdCkKIAkJOiBsaXN0X3F1b3RlX2VzY2FwZXMgKGxpc3QpOwogCkBAIC0yNjYxLDggKzI3MjQsOCBAQAogICAgICBjb25zdCBXT1JEX0RFU0MgKndvcmQ7CiAgICAgIGludCBleHBhbmQ7CiB7Ci0gIGludCBvZmZzZXQsIHRsZW4sIGFwcGVuZG9wLCBhc3NpZ25fbGlzdCwgYWZsYWdzLCByZXR2YWw7Ci0gIGNoYXIgKm5hbWUsICp2YWx1ZTsKKyAgaW50IG9mZnNldCwgYXBwZW5kb3AsIGFzc2lnbl9saXN0LCBhZmxhZ3MsIHJldHZhbDsKKyAgY2hhciAqbmFtZSwgKnZhbHVlLCAqdGVtcDsKICAgU0hFTExfVkFSICplbnRyeTsKICNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQogICBjaGFyICp0OwpAQCAtMjY4MSw4ICsyNzQ0LDYgQEAKIAogICBpZiAobmFtZVtvZmZzZXRdID09ICc9JykKICAgICB7Ci0gICAgICBjaGFyICp0ZW1wOwotCiAgICAgICBpZiAobmFtZVtvZmZzZXQgLSAxXSA9PSAnKycpCiAJewogCSAgYXBwZW5kb3AgPSAxOwpAQCAtMjY5MSw3ICsyNzUyLDYgQEAKIAogICAgICAgbmFtZVtvZmZzZXRdID0gMDsJCS8qIG1pZ2h0IG5lZWQgdGhpcyBzZXQgbGF0ZXIgKi8KICAgICAgIHRlbXAgPSBuYW1lICsgb2Zmc2V0ICsgMTsKLSAgICAgIHRsZW4gPSBTVFJMRU4gKHRlbXApOwogCiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKICAgICAgIGlmIChleHBhbmQgJiYgKHdvcmQtPmZsYWdzICYgV19DT01QQVNTSUdOKSkKQEAgLTI3OTIsOCArMjg1Miw5IEBACiB9CiAKIGludAotZG9fd29yZF9hc3NpZ25tZW50ICh3b3JkKQorZG9fd29yZF9hc3NpZ25tZW50ICh3b3JkLCBmbGFncykKICAgICAgV09SRF9ERVNDICp3b3JkOworICAgICBpbnQgZmxhZ3M7CiB7CiAgIHJldHVybiBkb19hc3NpZ25tZW50X2ludGVybmFsICh3b3JkLCAxKTsKIH0KQEAgLTM3MjAsNiArMzc4MSw3IEBACiAjZGVmaW5lIFJQX0xPTkdfUklHSFQJMwogI2RlZmluZSBSUF9TSE9SVF9SSUdIVAk0CiAKKy8qIFJldHVybnMgaXRzIGZpcnN0IGFyZ3VtZW50IGlmIG5vdGhpbmcgbWF0Y2hlZDsgbmV3IG1lbW9yeSBvdGhlcndpc2UgKi8KIHN0YXRpYyBjaGFyICoKIHJlbW92ZV91cGF0dGVybiAocGFyYW0sIHBhdHRlcm4sIG9wKQogICAgICBjaGFyICpwYXJhbSwgKnBhdHRlcm47CkBAIC0zNzg4LDEwICszODUwLDExIEBACiAJYnJlYWs7CiAgICAgfQogCi0gIHJldHVybiAoc2F2ZXN0cmluZyAocGFyYW0pKTsJLyogbm8gbWF0Y2gsIHJldHVybiBvcmlnaW5hbCBzdHJpbmcgKi8KKyAgcmV0dXJuIChwYXJhbSk7CS8qIG5vIG1hdGNoLCByZXR1cm4gb3JpZ2luYWwgc3RyaW5nICovCiB9CiAKICNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQorLyogUmV0dXJucyBpdHMgZmlyc3QgYXJndW1lbnQgaWYgbm90aGluZyBtYXRjaGVkOyBuZXcgbWVtb3J5IG90aGVyd2lzZSAqLwogc3RhdGljIHdjaGFyX3QgKgogcmVtb3ZlX3dwYXR0ZXJuICh3cGFyYW0sIHdzdHJsZW4sIHdwYXR0ZXJuLCBvcCkKICAgICAgd2NoYXJfdCAqd3BhcmFtOwpAQCAtMzg1Nyw3ICszOTIwLDcgQEAKIAlicmVhazsKICAgICB9CiAKLSAgcmV0dXJuICh3Y3NkdXAgKHdwYXJhbSkpOwkvKiBubyBtYXRjaCwgcmV0dXJuIG9yaWdpbmFsIHN0cmluZyAqLworICByZXR1cm4gKHdwYXJhbSk7CS8qIG5vIG1hdGNoLCByZXR1cm4gb3JpZ2luYWwgc3RyaW5nICovCiB9CiAjZW5kaWYgLyogSEFORExFX01VTFRJQllURSAqLwogCkBAIC0zODY2LDYgKzM5MjksOCBAQAogICAgICBjaGFyICpwYXJhbSwgKnBhdHRlcm47CiAgICAgIGludCBvcDsKIHsKKyAgY2hhciAqeHJldDsKKwogICBpZiAocGFyYW0gPT0gTlVMTCkKICAgICByZXR1cm4gKHBhcmFtKTsKICAgaWYgKCpwYXJhbSA9PSAnXDAnIHx8IHBhdHRlcm4gPT0gTlVMTCB8fCAqcGF0dGVybiA9PSAnXDAnKQkvKiBtaW5vciBvcHRpbWl6YXRpb24gKi8KQEAgLTM4NzgsMTggKzM5NDMsMjkgQEAKICAgICAgIHNpemVfdCBuOwogICAgICAgd2NoYXJfdCAqd3BhcmFtLCAqd3BhdHRlcm47CiAgICAgICBtYnN0YXRlX3QgcHM7Ci0gICAgICBjaGFyICp4cmV0OwogCiAgICAgICBuID0geGR1cG1ic3Rvd2NzICgmd3BhdHRlcm4sIE5VTEwsIHBhdHRlcm4pOwogICAgICAgaWYgKG4gPT0gKHNpemVfdCktMSkKLQlyZXR1cm4gKHJlbW92ZV91cGF0dGVybiAocGFyYW0sIHBhdHRlcm4sIG9wKSk7CisJeworCSAgeHJldCA9IHJlbW92ZV91cGF0dGVybiAocGFyYW0sIHBhdHRlcm4sIG9wKTsKKwkgIHJldHVybiAoKHhyZXQgPT0gcGFyYW0pID8gc2F2ZXN0cmluZyAocGFyYW0pIDogeHJldCk7CisJfQogICAgICAgbiA9IHhkdXBtYnN0b3djcyAoJndwYXJhbSwgTlVMTCwgcGFyYW0pOwogICAgICAgaWYgKG4gPT0gKHNpemVfdCktMSkKIAl7CiAJICBmcmVlICh3cGF0dGVybik7Ci0JICByZXR1cm4gKHJlbW92ZV91cGF0dGVybiAocGFyYW0sIHBhdHRlcm4sIG9wKSk7CisJICB4cmV0ID0gcmVtb3ZlX3VwYXR0ZXJuIChwYXJhbSwgcGF0dGVybiwgb3ApOworCSAgcmV0dXJuICgoeHJldCA9PSBwYXJhbSkgPyBzYXZlc3RyaW5nIChwYXJhbSkgOiB4cmV0KTsKIAl9CiAgICAgICBvcmV0ID0gcmV0ID0gcmVtb3ZlX3dwYXR0ZXJuICh3cGFyYW0sIG4sIHdwYXR0ZXJuLCBvcCk7CisgICAgICAvKiBEb24ndCBib3RoZXIgdG8gY29udmVydCB3cGFyYW0gYmFjayB0byBtdWx0aWJ5dGUgc3RyaW5nIGlmIG5vdGhpbmcKKwkgbWF0Y2hlZDsganVzdCByZXR1cm4gY29weSBvZiBvcmlnaW5hbCBzdHJpbmcgKi8KKyAgICAgIGlmIChyZXQgPT0gd3BhcmFtKQorICAgICAgICB7CisgICAgICAgICAgZnJlZSAod3BhcmFtKTsKKyAgICAgICAgICBmcmVlICh3cGF0dGVybik7CisgICAgICAgICAgcmV0dXJuIChzYXZlc3RyaW5nIChwYXJhbSkpOworICAgICAgICB9CiAKICAgICAgIGZyZWUgKHdwYXJhbSk7CiAgICAgICBmcmVlICh3cGF0dGVybik7CkBAIC0zOTA0LDM2ICszOTgwLDkgQEAKICAgICB9CiAgIGVsc2UKICNlbmRpZgotICAgIHJldHVybiAocmVtb3ZlX3VwYXR0ZXJuIChwYXJhbSwgcGF0dGVybiwgb3ApKTsKLX0KLQotLyogUmV0dXJuIDEgb2YgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBTVFJJTkcgY291bGQgbWF0Y2ggdGhlIGZpcnN0Ci0gICBjaGFyYWN0ZXIgb2YgcGF0dGVybiBQQVQuICBVc2VkIHRvIGF2b2lkIG4yIGNhbGxzIHRvIHN0cm1hdGNoKCkuICovCi1zdGF0aWMgaW50Ci1tYXRjaF9wYXR0ZXJuX2NoYXIgKHBhdCwgc3RyaW5nKQotICAgICBjaGFyICpwYXQsICpzdHJpbmc7Ci17Ci0gIGNoYXIgYzsKLQotICBpZiAoKnN0cmluZyA9PSAwKQotICAgIHJldHVybiAoMCk7Ci0KLSAgc3dpdGNoIChjID0gKnBhdCsrKQogICAgIHsKLSAgICBkZWZhdWx0OgotICAgICAgcmV0dXJuICgqc3RyaW5nID09IGMpOwotICAgIGNhc2UgJ1xcJzoKLSAgICAgIHJldHVybiAoKnN0cmluZyA9PSAqcGF0KTsKLSAgICBjYXNlICc/JzoKLSAgICAgIHJldHVybiAoKnBhdCA9PSBMUEFSRU4gPyAxIDogKCpzdHJpbmcgIT0gJ1wwJykpOwotICAgIGNhc2UgJyonOgotICAgICAgcmV0dXJuICgxKTsKLSAgICBjYXNlICcrJzoKLSAgICBjYXNlICchJzoKLSAgICBjYXNlICdAJzoKLSAgICAgIHJldHVybiAoKnBhdCA9PSBMUEFSRU4gPyAxIDogKCpzdHJpbmcgPT0gYykpOwotICAgIGNhc2UgJ1snOgotICAgICAgcmV0dXJuICgqc3RyaW5nICE9ICdcMCcpOworICAgICAgeHJldCA9IHJlbW92ZV91cGF0dGVybiAocGFyYW0sIHBhdHRlcm4sIG9wKTsKKyAgICAgIHJldHVybiAoKHhyZXQgPT0gcGFyYW0pID8gc2F2ZXN0cmluZyAocGFyYW0pIDogeHJldCk7CiAgICAgfQogfQogCkBAIC0zOTQ5LDkgKzM5OTgsMTAgQEAKICAgICAgaW50IG10eXBlOwogICAgICBjaGFyICoqc3AsICoqZXA7CiB7Ci0gIGludCBjLCBsZW47CisgIGludCBjLCBsZW4sIG1sZW47CiAgIHJlZ2lzdGVyIGNoYXIgKnAsICpwMSwgKm5wYXQ7CiAgIGNoYXIgKmVuZDsKKyAgaW50IG4xOwogCiAgIC8qIElmIHRoZSBwYXR0ZXJuIGRvZXNuJ3QgbWF0Y2ggYW55d2hlcmUgaW4gdGhlIHN0cmluZywgZ28gYWhlYWQgYW5kCiAgICAgIHNob3J0LWNpcmN1aXQgcmlnaHQgYXdheS4gIEEgbWlub3Igb3B0aW1pemF0aW9uLCBzYXZlcyBhIGJ1bmNoIG9mCkBAIC0zOTg1LDYgKzQwMzUsOCBAQAogICBsZW4gPSBTVFJMRU4gKHN0cmluZyk7CiAgIGVuZCA9IHN0cmluZyArIGxlbjsKIAorICBtbGVuID0gdW1hdGNobGVuIChwYXQsIGxlbik7CisKICAgc3dpdGNoIChtdHlwZSkKICAgICB7CiAgICAgY2FzZSBNQVRDSF9BTlk6CkBAIC0zOTkyLDcgKzQwNDQsMjIgQEAKIAl7CiAJICBpZiAobWF0Y2hfcGF0dGVybl9jaGFyIChwYXQsIHApKQogCSAgICB7CisjaWYgMAogCSAgICAgIGZvciAocDEgPSBlbmQ7IHAxID49IHA7IHAxLS0pCisjZWxzZQorCSAgICAgIHAxID0gKG1sZW4gPT0gLTEpID8gZW5kIDogcCArIG1sZW47CisJICAgICAgLyogcDEgLSBwID0gbGVuZ3RoIG9mIHBvcnRpb24gb2Ygc3RyaW5nIHRvIGJlIGNvbnNpZGVyZWQKKwkgICAgICAgICBwID0gY3VycmVudCBwb3NpdGlvbiBpbiBzdHJpbmcKKwkgICAgICAgICBtbGVuID0gbnVtYmVyIG9mIGNoYXJhY3RlcnMgY29uc3VtZWQgYnkgbWF0Y2ggKC0xIGZvciBlbnRpcmUgc3RyaW5nKQorCSAgICAgICAgIGVuZCA9IGVuZCBvZiBzdHJpbmcKKwkgICAgICAgICB3ZSB3YW50IHRvIGJyZWFrIGltbWVkaWF0ZWx5IGlmIHRoZSBwb3RlbnRpYWwgbWF0Y2ggbGVuCisJICAgICAgICAgaXMgZ3JlYXRlciB0aGFuIHRoZSBudW1iZXIgb2YgY2hhcmFjdGVycyByZW1haW5pbmcgaW4gdGhlCisJICAgICAgICAgc3RyaW5nCisJICAgICAgKi8KKwkgICAgICBpZiAocDEgPiBlbmQpCisJCWJyZWFrOworCSAgICAgIGZvciAoIDsgcDEgPj0gcDsgcDEtLSkKKyNlbmRpZgogCQl7CiAJCSAgYyA9ICpwMTsgKnAxID0gJ1wwJzsKIAkJICBpZiAoc3RybWF0Y2ggKHBhdCwgcCwgRk5NQVRDSF9FWFRGTEFHKSA9PSAwKQpAQCAtNDAwMyw2ICs0MDcwLDExIEBACiAJCSAgICAgIHJldHVybiAxOwogCQkgICAgfQogCQkgICpwMSA9IGM7CisjaWYgMQorCQkgIC8qIElmIE1MRU4gIT0gLTEsIHdlIGhhdmUgYSBmaXhlZCBsZW5ndGggcGF0dGVybi4gKi8KKwkJICBpZiAobWxlbiAhPSAtMSkKKwkJICAgIGJyZWFrOworI2VuZGlmCiAJCX0KIAkgICAgfQogCX0KQEAgLTQwMTMsNyArNDA4NSwxMSBAQAogICAgICAgaWYgKG1hdGNoX3BhdHRlcm5fY2hhciAocGF0LCBzdHJpbmcpID09IDApCiAJcmV0dXJuICgwKTsKIAorI2lmIDAKICAgICAgIGZvciAocCA9IGVuZDsgcCA+PSBzdHJpbmc7IHAtLSkKKyNlbHNlCisgICAgICBmb3IgKHAgPSAobWxlbiA9PSAtMSkgPyBlbmQgOiBzdHJpbmcgKyBtbGVuOyBwID49IHN0cmluZzsgcC0tKQorI2VuZGlmCiAJewogCSAgYyA9ICpwOyAqcCA9ICdcMCc7CiAJICBpZiAoc3RybWF0Y2ggKHBhdCwgc3RyaW5nLCBGTk1BVENIX0VYVEZMQUcpID09IDApCkBAIC00MDI0LDEyICs0MTAwLDIxIEBACiAJICAgICAgcmV0dXJuIDE7CiAJICAgIH0KIAkgICpwID0gYzsKKyNpZiAxCisJICAvKiBJZiBNTEVOICE9IC0xLCB3ZSBoYXZlIGEgZml4ZWQgbGVuZ3RoIHBhdHRlcm4uICovCisJICBpZiAobWxlbiAhPSAtMSkKKwkgICAgYnJlYWs7CisjZW5kaWYKIAl9CiAKICAgICAgIHJldHVybiAoMCk7CiAKICAgICBjYXNlIE1BVENIX0VORDoKKyNpZiAwCiAgICAgICBmb3IgKHAgPSBzdHJpbmc7IHAgPD0gZW5kOyBwKyspCisjZWxzZQorICAgICAgZm9yIChwID0gZW5kIC0gKChtbGVuID09IC0xKSA/IGxlbiA6IG1sZW4pOyBwIDw9IGVuZDsgcCsrKQorI2VuZGlmCiAJewogCSAgaWYgKHN0cm1hdGNoIChwYXQsIHAsIEZOTUFUQ0hfRVhURkxBRykgPT0gMCkKIAkgICAgewpAQCAtNDAzNyw3ICs0MTIyLDExIEBACiAJICAgICAgKmVwID0gZW5kOwogCSAgICAgIHJldHVybiAxOwogCSAgICB9Ci0KKyNpZiAxCisJICAvKiBJZiBNTEVOICE9IC0xLCB3ZSBoYXZlIGEgZml4ZWQgbGVuZ3RoIHBhdHRlcm4uICovCisJICBpZiAobWxlbiAhPSAtMSkKKwkgICAgYnJlYWs7CisjZW5kaWYKIAl9CiAKICAgICAgIHJldHVybiAoMCk7CkBAIC00MDQ3LDM2ICs0MTM2LDYgQEAKIH0KIAogI2lmIGRlZmluZWQgKEhBTkRMRV9NVUxUSUJZVEUpCi0vKiBSZXR1cm4gMSBvZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIFdTVFJJTkcgY291bGQgbWF0Y2ggdGhlIGZpcnN0Ci0gICBjaGFyYWN0ZXIgb2YgcGF0dGVybiBXUEFULiAgV2lkZSBjaGFyYWN0ZXIgdmVyc2lvbi4gKi8KLXN0YXRpYyBpbnQKLW1hdGNoX3BhdHRlcm5fd2NoYXIgKHdwYXQsIHdzdHJpbmcpCi0gICAgIHdjaGFyX3QgKndwYXQsICp3c3RyaW5nOwotewotICB3Y2hhcl90IHdjOwotCi0gIGlmICgqd3N0cmluZyA9PSAwKQotICAgIHJldHVybiAoMCk7Ci0KLSAgc3dpdGNoICh3YyA9ICp3cGF0KyspCi0gICAgewotICAgIGRlZmF1bHQ6Ci0gICAgICByZXR1cm4gKCp3c3RyaW5nID09IHdjKTsKLSAgICBjYXNlIEwnXFwnOgotICAgICAgcmV0dXJuICgqd3N0cmluZyA9PSAqd3BhdCk7Ci0gICAgY2FzZSBMJz8nOgotICAgICAgcmV0dXJuICgqd3BhdCA9PSBMUEFSRU4gPyAxIDogKCp3c3RyaW5nICE9IEwnXDAnKSk7Ci0gICAgY2FzZSBMJyonOgotICAgICAgcmV0dXJuICgxKTsKLSAgICBjYXNlIEwnKyc6Ci0gICAgY2FzZSBMJyEnOgotICAgIGNhc2UgTCdAJzoKLSAgICAgIHJldHVybiAoKndwYXQgPT0gTFBBUkVOID8gMSA6ICgqd3N0cmluZyA9PSB3YykpOwotICAgIGNhc2UgTCdbJzoKLSAgICAgIHJldHVybiAoKndzdHJpbmcgIT0gTCdcMCcpOwotICAgIH0KLX0KLQogLyogTWF0Y2ggV1BBVCBhbnl3aGVyZSBpbiBXU1RSSU5HIGFuZCByZXR1cm4gdGhlIG1hdGNoIGJvdW5kYXJpZXMuCiAgICBUaGlzIHJldHVybnMgMSBpbiBjYXNlIG9mIGEgc3VjY2Vzc2Z1bCBtYXRjaCwgMCBvdGhlcndpc2UuICBXaWRlCiAgICBjaGFyYWN0ZXIgdmVyc2lvbi4gKi8KQEAgLTQwOTAsMTEgKzQxNDksMTQgQEAKICAgICAgY2hhciAqKnNwLCAqKmVwOwogewogICB3Y2hhcl90IHdjLCAqd3AsICpud3BhdCwgKndwMTsKLSAgaW50IGxlbjsKLSNpZiAwCi0gIHNpemVfdCBuLCBuMTsJLyogQXBwbGUncyBnY2Mgc2VlbXMgdG8gbWlzY29tcGlsZSB0aGlzIGJhZGx5ICovCi0jZWxzZQotICBpbnQgbiwgbjE7CisgIHNpemVfdCBsZW47CisgIGludCBtbGVuOworICBpbnQgbiwgbjEsIG4yLCBzaW1wbGU7CisKKyAgc2ltcGxlID0gKHdwYXRbMF0gIT0gTCdcXCcgJiYgd3BhdFswXSAhPSBMJyonICYmIHdwYXRbMF0gIT0gTCc/JyAmJiB3cGF0WzBdICE9IEwnWycpOworI2lmIGRlZmluZWQgKEVYVEVOREVEX0dMT0IpCisgIGlmIChleHRlbmRlZF9nbG9iKQorICAgIHNpbXBsZSB8PSAod3BhdFsxXSAhPSBMJygnIHx8ICh3cGF0WzBdICE9IEwnKicgJiYgd3BhdFswXSAhPSBMJz8nICYmIHdwYXRbMF0gIT0gTCcrJyAmJiB3cGF0WzBdICE9IEwnIScgJiYgd3BhdFswXSAhPSBMJ0AnKSk7IC8qKSovCiAjZW5kaWYKIAogICAvKiBJZiB0aGUgcGF0dGVybiBkb2Vzbid0IG1hdGNoIGFueXdoZXJlIGluIHRoZSBzdHJpbmcsIGdvIGFoZWFkIGFuZApAQCAtNDEwMyw4ICs0MTY1LDYgQEAKICAgICAgY2hhcmFjdGVycykgaWYgdGhlIG1hdGNoIGlzIHVuc3VjY2Vzc2Z1bC4gIFRvIHByZXNlcnZlIHRoZSBzZW1hbnRpY3MKICAgICAgb2YgdGhlIHN1YnN0cmluZyBtYXRjaGVzIGJlbG93LCB3ZSBtYWtlIHN1cmUgdGhhdCB0aGUgcGF0dGVybiBoYXMKICAgICAgYConIGFzIGZpcnN0IGFuZCBsYXN0IGNoYXJhY3RlciwgbWFraW5nIGEgbmV3IHBhdHRlcm4gaWYgbmVjZXNzYXJ5LiAqLwotICAvKiBYWFggLSBjaGVjayB0aGlzIGxhdGVyIGlmIEkgZXZlciBpbXBsZW1lbnQgYCoqJyB3aXRoIHNwZWNpYWwgbWVhbmluZywKLSAgICAgc2luY2UgdGhpcyB3aWxsIHBvdGVudGlhbGx5IHJlc3VsdCBpbiBgKionIGF0IHRoZSBiZWdpbm5pbmcgb3IgZW5kICovCiAgIGxlbiA9IHdjc2xlbiAod3BhdCk7CiAgIGlmICh3cGF0WzBdICE9IEwnKicgfHwgKHdwYXRbMF0gPT0gTCcqJyAmJiB3cGF0WzFdID09IFdMUEFSRU4gJiYgZXh0ZW5kZWRfZ2xvYikgfHwgd3BhdFtsZW4gLSAxXSAhPSBMJyonKQogICAgIHsKQEAgLTQxMjYsMTQgKzQxODYsMzAgQEAKICAgaWYgKGxlbiA9PSBGTk1fTk9NQVRDSCkKICAgICByZXR1cm4gKDApOwogCisgIG1sZW4gPSB3bWF0Y2hsZW4gKHdwYXQsIHdzdHJsZW4pOworCisvKiBpdHJhY2UoIndtYXRjaGxlbiAoJWxzKSAtPiAlZCIsIHdwYXQsIG1sZW4pOyAqLwogICBzd2l0Y2ggKG10eXBlKQogICAgIHsKICAgICBjYXNlIE1BVENIX0FOWToKICAgICAgIGZvciAobiA9IDA7IG4gPD0gd3N0cmxlbjsgbisrKQogCXsKLQkgIGlmIChtYXRjaF9wYXR0ZXJuX3djaGFyICh3cGF0LCB3c3RyaW5nICsgbikpCisjaWYgMQorCSAgbjIgPSBzaW1wbGUgPyAoKndwYXQgPT0gd3N0cmluZ1tuXSkgOiBtYXRjaF9wYXR0ZXJuX3djaGFyICh3cGF0LCB3c3RyaW5nICsgbik7CisjZWxzZQorCSAgbjIgPSBtYXRjaF9wYXR0ZXJuX3djaGFyICh3cGF0LCB3c3RyaW5nICsgbik7CisjZW5kaWYKKwkgIGlmIChuMikKIAkgICAgeworI2lmIDAKIAkgICAgICBmb3IgKG4xID0gd3N0cmxlbjsgbjEgPj0gbjsgbjEtLSkKKyNlbHNlCisJICAgICAgbjEgPSAobWxlbiA9PSAtMSkgPyB3c3RybGVuIDogbiArIG1sZW47CisJICAgICAgaWYgKG4xID4gd3N0cmxlbikKKwkgICAgICAgIGJyZWFrOworCisJICAgICAgZm9yICggOyBuMSA+PSBuOyBuMS0tKQorI2VuZGlmCiAJCXsKIAkJICB3YyA9IHdzdHJpbmdbbjFdOyB3c3RyaW5nW24xXSA9IEwnXDAnOwogCQkgIGlmICh3Y3NtYXRjaCAod3BhdCwgd3N0cmluZyArIG4sIEZOTUFUQ0hfRVhURkxBRykgPT0gMCkKQEAgLTQxNDQsNiArNDIyMCwxMSBAQAogCQkgICAgICByZXR1cm4gMTsKIAkJICAgIH0KIAkJICB3c3RyaW5nW24xXSA9IHdjOworI2lmIDEKKwkJICAvKiBJZiBNTEVOICE9IC0xLCB3ZSBoYXZlIGEgZml4ZWQgbGVuZ3RoIHBhdHRlcm4uICovCisJCSAgaWYgKG1sZW4gIT0gLTEpCisJCSAgICBicmVhazsKKyNlbmRpZgogCQl9CiAJICAgIH0KIAl9CkBAIC00MTU0LDcgKzQyMzUsMTEgQEAKICAgICAgIGlmIChtYXRjaF9wYXR0ZXJuX3djaGFyICh3cGF0LCB3c3RyaW5nKSA9PSAwKQogCXJldHVybiAoMCk7CiAKKyNpZiAwCiAgICAgICBmb3IgKG4gPSB3c3RybGVuOyBuID49IDA7IG4tLSkKKyNlbHNlCisgICAgICBmb3IgKG4gPSAobWxlbiA9PSAtMSkgPyB3c3RybGVuIDogbWxlbjsgbiA+PSAwOyBuLS0pCisjZW5kaWYKIAl7CiAJICB3YyA9IHdzdHJpbmdbbl07IHdzdHJpbmdbbl0gPSBMJ1wwJzsKIAkgIGlmICh3Y3NtYXRjaCAod3BhdCwgd3N0cmluZywgRk5NQVRDSF9FWFRGTEFHKSA9PSAwKQpAQCAtNDE2NSwxMiArNDI1MCwyMSBAQAogCSAgICAgIHJldHVybiAxOwogCSAgICB9CiAJICB3c3RyaW5nW25dID0gd2M7CisjaWYgMQorCSAgLyogSWYgTUxFTiAhPSAtMSwgd2UgaGF2ZSBhIGZpeGVkIGxlbmd0aCBwYXR0ZXJuLiAqLworCSAgaWYgKG1sZW4gIT0gLTEpCisJICAgIGJyZWFrOworI2VuZGlmCiAJfQogCiAgICAgICByZXR1cm4gKDApOwogCiAgICAgY2FzZSBNQVRDSF9FTkQ6CisjaWYgMAogICAgICAgZm9yIChuID0gMDsgbiA8PSB3c3RybGVuOyBuKyspCisjZWxzZQorICAgICAgZm9yIChuID0gd3N0cmxlbiAtICgobWxlbiA9PSAtMSkgPyB3c3RybGVuIDogbWxlbik7IG4gPD0gd3N0cmxlbjsgbisrKQorI2VuZGlmCiAJewogCSAgaWYgKHdjc21hdGNoICh3cGF0LCB3c3RyaW5nICsgbiwgRk5NQVRDSF9FWFRGTEFHKSA9PSAwKQogCSAgICB7CkBAIC00MTc4LDYgKzQyNzIsMTEgQEAKIAkgICAgICAqZXAgPSBpbmRpY2VzW3dzdHJsZW5dOwogCSAgICAgIHJldHVybiAxOwogCSAgICB9CisjaWYgMQorCSAgLyogSWYgTUxFTiAhPSAtMSwgd2UgaGF2ZSBhIGZpeGVkIGxlbmd0aCBwYXR0ZXJuLiAqLworCSAgaWYgKG1sZW4gIT0gLTEpCisJICAgIGJyZWFrOworI2VuZGlmCiAJfQogCiAgICAgICByZXR1cm4gKDApOwpAQCAtNDE5OCw2ICs0Mjk3LDcgQEAKICAgc2l6ZV90IG47CiAgIHdjaGFyX3QgKndzdHJpbmcsICp3cGF0OwogICBjaGFyICoqaW5kaWNlczsKKyAgc2l6ZV90IHNsZW4sIHBsZW4sIG1zbGVuLCBtcGxlbjsKICNlbmRpZgogCiAgIGlmIChzdHJpbmcgPT0gMCB8fCAqc3RyaW5nID09IDAgfHwgcGF0ID09IDAgfHwgKnBhdCA9PSAwKQpAQCAtNDIwNiw2ICs0MzA2LDE3IEBACiAjaWYgZGVmaW5lZCAoSEFORExFX01VTFRJQllURSkKICAgaWYgKE1CX0NVUl9NQVggPiAxKQogICAgIHsKKyNpZiAwCisgICAgICBzbGVuID0gU1RSTEVOIChzdHJpbmcpOworICAgICAgbXNsZW4gPSBNQlNMRU4gKHN0cmluZyk7CisgICAgICBwbGVuID0gU1RSTEVOIChwYXQpOworICAgICAgbXBsZW4gPSBNQlNMRU4gKHBhdCk7CisgICAgICBpZiAoc2xlbiA9PSBtc2xlbiAmJiBwbGVuID09IG1wbGVuKQorI2Vsc2UKKyAgICAgIGlmIChtYnNtYmNoYXIgKHN0cmluZykgPT0gMCAmJiBtYnNtYmNoYXIgKHBhdCkgPT0gMCkKKyNlbmRpZgorICAgICAgICByZXR1cm4gKG1hdGNoX3VwYXR0ZXJuIChzdHJpbmcsIHBhdCwgbXR5cGUsIHNwLCBlcCkpOworCiAgICAgICBuID0geGR1cG1ic3Rvd2NzICgmd3BhdCwgTlVMTCwgcGF0KTsKICAgICAgIGlmIChuID09IChzaXplX3QpLTEpCiAJcmV0dXJuIChtYXRjaF91cGF0dGVybiAoc3RyaW5nLCBwYXQsIG10eXBlLCBzcCwgZXApKTsKQEAgLTQzODEsOSArNDQ5MiwxMSBAQAogI2VuZGlmIC8qIEFSUkFZX1ZBUlMgKi8KIAogc3RhdGljIGNoYXIgKgotcGFyYW1ldGVyX2JyYWNlX3JlbW92ZV9wYXR0ZXJuICh2YXJuYW1lLCB2YWx1ZSwgcGF0c3RyLCBydHlwZSwgcXVvdGVkKQotICAgICBjaGFyICp2YXJuYW1lLCAqdmFsdWUsICpwYXRzdHI7Ci0gICAgIGludCBydHlwZSwgcXVvdGVkOworcGFyYW1ldGVyX2JyYWNlX3JlbW92ZV9wYXR0ZXJuICh2YXJuYW1lLCB2YWx1ZSwgaW5kLCBwYXRzdHIsIHJ0eXBlLCBxdW90ZWQsIGZsYWdzKQorICAgICBjaGFyICp2YXJuYW1lLCAqdmFsdWU7CisgICAgIGludCBpbmQ7CisgICAgIGNoYXIgKnBhdHN0cjsKKyAgICAgaW50IHJ0eXBlLCBxdW90ZWQsIGZsYWdzOwogewogICBpbnQgdnR5cGUsIHBhdHNwZWMsIHN0YXJzdWI7CiAgIGNoYXIgKnRlbXAxLCAqdmFsLCAqcGF0dGVybjsKQEAgLTQzOTQsNyArNDUwNyw3IEBACiAKICAgdGhpc19jb21tYW5kX25hbWUgPSB2YXJuYW1lOwogCi0gIHZ0eXBlID0gZ2V0X3Zhcl9hbmRfdHlwZSAodmFybmFtZSwgdmFsdWUsIHF1b3RlZCwgJnYsICZ2YWwpOworICB2dHlwZSA9IGdldF92YXJfYW5kX3R5cGUgKHZhcm5hbWUsIHZhbHVlLCBpbmQsIHF1b3RlZCwgZmxhZ3MsICZ2LCAmdmFsKTsKICAgaWYgKHZ0eXBlID09IC0xKQogICAgIHJldHVybiAoKGNoYXIgKilOVUxMKTsKIApAQCAtNDU0OCw2ICs0NjYxLDE1IEBACiBzdGF0aWMgaW50IG5maWZvOwogc3RhdGljIGludCBmaWZvX2xpc3Rfc2l6ZTsKIAorY2hhciAqCitjb3B5X2ZpZm9fbGlzdCAoc2l6ZXApCisgICAgIGludCAqc2l6ZXA7Cit7CisgIGlmIChzaXplcCkKKyAgICAqc2l6ZXAgPSAwOworICByZXR1cm4gKGNoYXIgKilOVUxMOworfQorCiBzdGF0aWMgdm9pZAogYWRkX2ZpZm9fbGlzdCAocGF0aG5hbWUpCiAgICAgIGNoYXIgKnBhdGhuYW1lOwpAQCAtNDU2NCw2ICs0Njg2LDE5IEBACiB9CiAKIHZvaWQKK3VubGlua19maWZvIChpKQorICAgICBpbnQgaTsKK3sKKyAgaWYgKChmaWZvX2xpc3RbaV0ucHJvYyA9PSAtMSkgfHwgKGtpbGwoZmlmb19saXN0W2ldLnByb2MsIDApID09IC0xKSkKKyAgICB7CisgICAgICB1bmxpbmsgKGZpZm9fbGlzdFtpXS5maWxlKTsKKyAgICAgIGZyZWUgKGZpZm9fbGlzdFtpXS5maWxlKTsKKyAgICAgIGZpZm9fbGlzdFtpXS5maWxlID0gKGNoYXIgKilOVUxMOworICAgICAgZmlmb19saXN0W2ldLnByb2MgPSAtMTsKKyAgICB9Cit9CisKK3ZvaWQKIHVubGlua19maWZvX2xpc3QgKCkKIHsKICAgaW50IHNhdmVkLCBpLCBqOwpAQCAtNDYwMCwxMiArNDczNSw0NCBAQAogICAgIG5maWZvID0gMDsKIH0KIAorLyogVGFrZSBMSVNULCB3aGljaCBpcyBhIGJpdG1hcCBkZW5vdGluZyBhY3RpdmUgRklGT3MgaW4gZmlmb19saXN0CisgICBmcm9tIHNvbWUgcG9pbnQgaW4gdGhlIHBhc3QsIGFuZCBjbG9zZSBhbGwgb3BlbiBGSUZPcyBpbiBmaWZvX2xpc3QKKyAgIHRoYXQgYXJlIG5vdCBtYXJrZWQgYXMgYWN0aXZlIGluIExJU1QuICBJZiBMSVNUIGlzIE5VTEwsIGNsb3NlCisgICBldmVyeXRoaW5nIGluIGZpZm9fbGlzdC4gTFNJWkUgaXMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiBMSVNULCBpbgorICAgY2FzZSBpdCdzIGxhcmdlciB0aGFuIGZpZm9fbGlzdF9zaXplIChzaXplIG9mIGZpZm9fbGlzdCkuICovCit2b2lkCitjbG9zZV9uZXdfZmlmb3MgKGxpc3QsIGxzaXplKQorICAgICBjaGFyICpsaXN0OworICAgICBpbnQgbHNpemU7Cit7CisgIGludCBpOworCisgIGlmIChsaXN0ID09IDApCisgICAgeworICAgICAgdW5saW5rX2ZpZm9fbGlzdCAoKTsKKyAgICAgIHJldHVybjsKKyAgICB9CisKKyAgZm9yIChpID0gMDsgaSA8IGxzaXplOyBpKyspCisgICAgaWYgKGxpc3RbaV0gPT0gMCAmJiBpIDwgZmlmb19saXN0X3NpemUgJiYgZmlmb19saXN0W2ldLnByb2MgIT0gLTEpCisgICAgICB1bmxpbmtfZmlmbyAoaSk7CisKKyAgZm9yIChpID0gbHNpemU7IGkgPCBmaWZvX2xpc3Rfc2l6ZTsgaSsrKQorICAgIHVubGlua19maWZvIChpKTsgIAorfQorCiBpbnQKIGZpZm9zX3BlbmRpbmcgKCkKIHsKICAgcmV0dXJuIG5maWZvOwogfQogCitpbnQKK251bV9maWZvcyAoKQoreworICByZXR1cm4gbmZpZm87Cit9CisKIHN0YXRpYyBjaGFyICoKIG1ha2VfbmFtZWRfcGlwZSAoKQogewpAQCAtNDYzMiwxMSArNDc5OSwzMCBAQAogc3RhdGljIGludCBuZmRzOwogc3RhdGljIGludCB0b3RmZHM7CS8qIFRoZSBoaWdoZXN0IHBvc3NpYmxlIG51bWJlciBvZiBvcGVuIGZpbGVzLiAqLwogCitjaGFyICoKK2NvcHlfZmlmb19saXN0IChzaXplcCkKKyAgICAgaW50ICpzaXplcDsKK3sKKyAgY2hhciAqcmV0OworCisgIGlmIChuZmRzID09IDAgfHwgdG90ZmRzID09IDApCisgICAgeworICAgICAgaWYgKHNpemVwKQorCSpzaXplcCA9IDA7CisgICAgICByZXR1cm4gKGNoYXIgKilOVUxMOworICAgIH0KKworICBpZiAoc2l6ZXApCisgICAgKnNpemVwID0gdG90ZmRzOworICByZXQgPSAoY2hhciAqKXhtYWxsb2MgKHRvdGZkcyk7CisgIHJldHVybiAobWVtY3B5IChyZXQsIGRldl9mZF9saXN0LCB0b3RmZHMpKTsKK30KKwogc3RhdGljIHZvaWQKIGFkZF9maWZvX2xpc3QgKGZkKQogICAgICBpbnQgZmQ7CiB7Ci0gIGlmICghZGV2X2ZkX2xpc3QgfHwgZmQgPj0gdG90ZmRzKQorICBpZiAoZGV2X2ZkX2xpc3QgPT0gMCB8fCBmZCA+PSB0b3RmZHMpCiAgICAgewogICAgICAgaW50IG9mZHM7CiAKQEAgLTQ2NjEsNiArNDg0NywyNCBAQAogICByZXR1cm4gMDsJLyogdXNlZCBmb3IgY2xlYW51cDsgbm90IG5lZWRlZCB3aXRoIC9kZXYvZmQgKi8KIH0KIAoraW50CitudW1fZmlmb3MgKCkKK3sKKyAgcmV0dXJuIG5mZHM7Cit9CisKK3ZvaWQKK3VubGlua19maWZvIChmZCkKKyAgICAgaW50IGZkOworeworICBpZiAoZGV2X2ZkX2xpc3RbZmRdKQorICAgIHsKKyAgICAgIGNsb3NlIChmZCk7CisgICAgICBkZXZfZmRfbGlzdFtmZF0gPSAwOworICAgICAgbmZkcy0tOworICAgIH0KK30KKwogdm9pZAogdW5saW5rX2ZpZm9fbGlzdCAoKQogewpAQCAtNDY3MCwxNiArNDg3NCwzNyBAQAogICAgIHJldHVybjsKIAogICBmb3IgKGkgPSAwOyBuZmRzICYmIGkgPCB0b3RmZHM7IGkrKykKLSAgICBpZiAoZGV2X2ZkX2xpc3RbaV0pCi0gICAgICB7Ci0JY2xvc2UgKGkpOwotCWRldl9mZF9saXN0W2ldID0gMDsKLQluZmRzLS07Ci0gICAgICB9CisgICAgdW5saW5rX2ZpZm8gKGkpOwogCiAgIG5mZHMgPSAwOwogfQogCisvKiBUYWtlIExJU1QsIHdoaWNoIGlzIGEgc25hcHNob3QgY29weSBvZiBkZXZfZmRfbGlzdCBmcm9tIHNvbWUgcG9pbnQgaW4KKyAgIHRoZSBwYXN0LCBhbmQgY2xvc2UgYWxsIG9wZW4gZmRzIGluIGRldl9mZF9saXN0IHRoYXQgYXJlIG5vdCBtYXJrZWQKKyAgIGFzIG9wZW4gaW4gTElTVC4gIElmIExJU1QgaXMgTlVMTCwgY2xvc2UgZXZlcnl0aGluZyBpbiBkZXZfZmRfbGlzdC4KKyAgIExTSVpFIGlzIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gTElTVCwgaW4gY2FzZSBpdCdzIGxhcmdlciB0aGFuCisgICB0b3RmZHMgKHNpemUgb2YgZGV2X2ZkX2xpc3QpLiAqLwordm9pZAorY2xvc2VfbmV3X2ZpZm9zIChsaXN0LCBsc2l6ZSkKKyAgICAgY2hhciAqbGlzdDsKKyAgICAgaW50IGxzaXplOworeworICBpbnQgaTsKKworICBpZiAobGlzdCA9PSAwKQorICAgIHsKKyAgICAgIHVubGlua19maWZvX2xpc3QgKCk7CisgICAgICByZXR1cm47CisgICAgfQorCisgIGZvciAoaSA9IDA7IGkgPCBsc2l6ZTsgaSsrKQorICAgIGlmIChsaXN0W2ldID09IDAgJiYgaSA8IHRvdGZkcyAmJiBkZXZfZmRfbGlzdFtpXSkKKyAgICAgIHVubGlua19maWZvIChpKTsKKworICBmb3IgKGkgPSBsc2l6ZTsgaSA8IHRvdGZkczsgaSsrKQorICAgIHVubGlua19maWZvIChpKTsgIAorfQorCiAjaWYgZGVmaW5lZCAoTk9UREVGKQogcHJpbnRfZGV2X2ZkX2xpc3QgKCkKIHsKQEAgLTQ3ODUsNyArNTAxMCw3IEBACiAgICAgICByZXNldF90ZXJtaW5hdGluZ19zaWduYWxzICgpOwkvKiBYWFggKi8KICAgICAgIGZyZWVfcHVzaGVkX3N0cmluZ19pbnB1dCAoKTsKICAgICAgIC8qIENhbmNlbCB0cmFwcywgaW4gdHJhcC5jLiAqLwotICAgICAgcmVzdG9yZV9vcmlnaW5hbF9zaWduYWxzICgpOworICAgICAgcmVzdG9yZV9vcmlnaW5hbF9zaWduYWxzICgpOwkvKiBYWFggLSB3aGF0IGFib3V0IHNwZWNpYWwgYnVpbHRpbnM/IGJhc2gtNC4yICovCiAgICAgICBzZXR1cF9hc3luY19zaWduYWxzICgpOwogICAgICAgc3Vic2hlbGxfZW52aXJvbm1lbnQgfD0gU1VCU0hFTExfQ09NU1VCfFNVQlNIRUxMX1BST0NTVUI7CiAgICAgfQpAQCAtNDkyMSwxMCArNTE0Niw2IEBACiAgIGZvciAoc2tpcF9jdGxlc2MgPSBza2lwX2N0bG51bCA9IDAsIHMgPSBpZnNfdmFsdWU7IHMgJiYgKnM7IHMrKykKICAgICBza2lwX2N0bGVzYyB8PSAqcyA9PSBDVExFU0MsIHNraXBfY3RsbnVsIHw9ICpzID09IENUTE5VTDsKIAotI2lmZGVmIF9fQ1lHV0lOX18KLSAgc2V0bW9kZSAoZmQsIE9fVEVYVCk7CQkvKiB3ZSBkb24ndCB3YW50IENSL0xGLCB3ZSB3YW50IFVuaXgtc3R5bGUgKi8KLSNlbmRpZgotCiAgIC8qIFJlYWQgdGhlIG91dHB1dCBvZiB0aGUgY29tbWFuZCB0aHJvdWdoIHRoZSBwaXBlLiAgVGhpcyBtYXkgbmVlZCB0byBiZQogICAgICBjaGFuZ2VkIHRvIHVuZGVyc3RhbmQgbXVsdGlieXRlIGNoYXJhY3RlcnMgaW4gdGhlIGZ1dHVyZS4gKi8KICAgd2hpbGUgKDEpCkBAIC01MDc4LDkgKzUyOTksMTMgQEAKICAgbGFzdF9hc3luY2hyb25vdXNfcGlkID0gb2xkX2FzeW5jX3BpZDsKIAogICBpZiAocGlkID09IDApCi0gICAgLyogUmVzZXQgdGhlIHNpZ25hbCBoYW5kbGVycyBpbiB0aGUgY2hpbGQsIGJ1dCBkb24ndCBmcmVlIHRoZQotICAgICAgIHRyYXAgc3RyaW5ncy4gKi8KLSAgICByZXNldF9zaWduYWxfaGFuZGxlcnMgKCk7CisgICAgeworICAgICAgLyogUmVzZXQgdGhlIHNpZ25hbCBoYW5kbGVycyBpbiB0aGUgY2hpbGQsIGJ1dCBkb24ndCBmcmVlIHRoZQorCSB0cmFwIHN0cmluZ3MuICBTZXQgYSBmbGFnIG5vdGluZyB0aGF0IHdlIGhhdmUgdG8gZnJlZSB0aGUKKwkgdHJhcCBzdHJpbmdzIGlmIHdlIHJ1biB0cmFwIHRvIGNoYW5nZSBhIHNpZ25hbCBkaXNwb3NpdGlvbi4gKi8KKyAgICAgIHJlc2V0X3NpZ25hbF9oYW5kbGVycyAoKTsKKyAgICAgIHN1YnNoZWxsX2Vudmlyb25tZW50IHw9IFNVQlNIRUxMX1JFU0VUVFJBUDsKKyAgICB9CiAKICNpZiBkZWZpbmVkIChKT0JfQ09OVFJPTCkKICAgLyogWFhYIERPIFRISVMgT05MWSBJTiBQQVJFTlQgPyBYWFggKi8KQEAgLTUxMzEsNiArNTM1NiwxMyBAQAogCSAgKGZpbGRlc1swXSAhPSBmaWxlbm8gKHN0ZGVycikpKQogCWNsb3NlIChmaWxkZXNbMF0pOwogCisjaWZkZWYgX19DWUdXSU5fXworICAgICAgLyogTGV0IHN0ZGlvIGtub3cgdGhlIGZkIG1heSBoYXZlIGNoYW5nZWQgZnJvbSB0ZXh0IHRvIGJpbmFyeSBtb2RlLCBhbmQKKwkgbWFrZSBzdXJlIHRvIHByZXNlcnZlIHN0ZG91dCBsaW5lIGJ1ZmZlcmluZy4gKi8KKyAgICAgIGZyZW9wZW4gKE5VTEwsICJ3Iiwgc3Rkb3V0KTsKKyAgICAgIHNoX3NldGxpbmVidWYgKHN0ZG91dCk7CisjZW5kaWYgLyogX19DWUdXSU5fXyAqLworCiAgICAgICAvKiBUaGUgY3VycmVudGx5IGV4ZWN1dGluZyBzaGVsbCBpcyBub3QgaW50ZXJhY3RpdmUuICovCiAgICAgICBpbnRlcmFjdGl2ZSA9IDA7CiAKQEAgLTUyMTAsMTEgKzU0NDIsNyBAQAogCSBwaXBsaW5lLCBzbyB3aGF0IHdlIGFyZSBjb25jZXJuZWQgYWJvdXQgaXMgd2hldGhlciBvciBub3QgdGhhdAogCSBwaXBlbGluZSB3YXMgc3RhcnRlZCBpbiB0aGUgYmFja2dyb3VuZC4gIEEgcGlwZWxpbmUgc3RhcnRlZCBpbgogCSB0aGUgYmFja2dyb3VuZCBzaG91bGQgbmV2ZXIgZ2V0IHRoZSB0dHkgYmFjayBoZXJlLiAqLwotI2lmIDAKLSAgICAgIGlmIChpbnRlcmFjdGl2ZSAmJiBwaXBlbGluZV9wZ3JwICE9IChwaWRfdCkwICYmIHBpcGVsaW5lX3BncnAgIT0gbGFzdF9hc3luY2hyb25vdXNfcGlkKQotI2Vsc2UKICAgICAgIGlmIChpbnRlcmFjdGl2ZSAmJiBwaXBlbGluZV9wZ3JwICE9IChwaWRfdCkwICYmIChzdWJzaGVsbF9lbnZpcm9ubWVudCAmIFNVQlNIRUxMX0FTWU5DKSA9PSAwKQotI2VuZGlmCiAJZ2l2ZV90ZXJtaW5hbF90byAocGlwZWxpbmVfcGdycCwgMCk7CiAjZW5kaWYgLyogSk9CX0NPTlRST0wgKi8KIApAQCAtNTI0Myw2ICs1NDcxLDcgQEAKICAgY2hhciAqYWtleTsKICAgY2hhciAqdCwgYzsKICAgQVJSQVkgKmFycmF5OworICBIQVNIX1RBQkxFICpoOwogICBTSEVMTF9WQVIgKnZhcjsKIAogICB2YXIgPSBhcnJheV92YXJpYWJsZV9wYXJ0IChzLCAmdCwgJmxlbik7CkBAIC01MjY2LDE1ICs1NDk1LDE2IEBACiAgICAgIHZbKl0uICBSZXR1cm4gMCBmb3IgZXZlcnl0aGluZyBlbHNlLiAqLwogCiAgIGFycmF5ID0gYXJyYXlfcCAodmFyKSA/IGFycmF5X2NlbGwgKHZhcikgOiAoQVJSQVkgKilOVUxMOworICBoID0gYXNzb2NfcCAodmFyKSA/IGFzc29jX2NlbGwgKHZhcikgOiAoSEFTSF9UQUJMRSAqKU5VTEw7CiAKICAgaWYgKEFMTF9FTEVNRU5UX1NVQiAodFswXSkgJiYgdFsxXSA9PSAnXScpCiAgICAgewogICAgICAgaWYgKGFzc29jX3AgKHZhcikpCi0JcmV0dXJuIChhc3NvY19udW1fZWxlbWVudHMgKGFzc29jX2NlbGwgKHZhcikpKTsKKwlyZXR1cm4gKGggPyBhc3NvY19udW1fZWxlbWVudHMgKGgpIDogMCk7CiAgICAgICBlbHNlIGlmIChhcnJheV9wICh2YXIpKQotCXJldHVybiAoYXJyYXlfbnVtX2VsZW1lbnRzIChhcnJheSkpOworCXJldHVybiAoYXJyYXkgPyBhcnJheV9udW1fZWxlbWVudHMgKGFycmF5KSA6IDApOwogICAgICAgZWxzZQotCXJldHVybiAxOworCXJldHVybiAodmFyX2lzc2V0ICh2YXIpID8gMSA6IDApOwogICAgIH0KIAogICBpZiAoYXNzb2NfcCAodmFyKSkKQEAgLTUzOTIsMjAgKzU2MjIsMjUgQEAKICAgIHRoZSBzaGVsbCwgZS5nLiwgIkAiLCAiJCIsICIqIiwgZXRjLiAgUVVPVEVELCBpZiBub24temVybywgbWVhbnMgdGhhdAogICAgTkFNRSB3YXMgZm91bmQgaW5zaWRlIG9mIGEgZG91YmxlLXF1b3RlZCBleHByZXNzaW9uLiAqLwogc3RhdGljIFdPUkRfREVTQyAqCi1wYXJhbWV0ZXJfYnJhY2VfZXhwYW5kX3dvcmQgKG5hbWUsIHZhcl9pc19zcGVjaWFsLCBxdW90ZWQsIHBmbGFncykKK3BhcmFtZXRlcl9icmFjZV9leHBhbmRfd29yZCAobmFtZSwgdmFyX2lzX3NwZWNpYWwsIHF1b3RlZCwgcGZsYWdzLCBpbmRwKQogICAgICBjaGFyICpuYW1lOwogICAgICBpbnQgdmFyX2lzX3NwZWNpYWwsIHF1b3RlZCwgcGZsYWdzOworICAgICBhcnJheWluZF90ICppbmRwOwogewogICBXT1JEX0RFU0MgKnJldDsKICAgY2hhciAqdGVtcCwgKnR0OwogICBpbnRtYXhfdCBhcmdfaW5kZXg7CiAgIFNIRUxMX1ZBUiAqdmFyOwogICBpbnQgYXR5cGUsIHJmbGFnczsKKyAgYXJyYXlpbmRfdCBpbmQ7CiAKICAgcmV0ID0gMDsKICAgdGVtcCA9IDA7CiAgIHJmbGFncyA9IDA7CiAKKyAgaWYgKGluZHApCisgICAgKmluZHAgPSBJTlRNQVhfTUlOOworCiAgIC8qIEhhbmRsZSBtdWx0aXBsZSBkaWdpdCBhcmd1bWVudHMsIGFzIGluICR7MTF9LiAqLyAgCiAgIGlmIChsZWdhbF9udW1iZXIgKG5hbWUsICZhcmdfaW5kZXgpKQogICAgIHsKQEAgLTU0MzIsMTEgKzU2NjcsMTYgQEAKICNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQogICBlbHNlIGlmICh2YWxpZF9hcnJheV9yZWZlcmVuY2UgKG5hbWUpKQogICAgIHsKLSAgICAgIHRlbXAgPSBhcnJheV92YWx1ZSAobmFtZSwgcXVvdGVkLCAmYXR5cGUpOworICAgICAgdGVtcCA9IGFycmF5X3ZhbHVlIChuYW1lLCBxdW90ZWQsIDAsICZhdHlwZSwgJmluZCk7CiAgICAgICBpZiAoYXR5cGUgPT0gMCAmJiB0ZW1wKQotIAl0ZW1wID0gKCp0ZW1wICYmIChxdW90ZWQgJiAoUV9ET1VCTEVfUVVPVEVTfFFfSEVSRV9ET0NVTUVOVCkpKQotIAkJICA/IHF1b3RlX3N0cmluZyAodGVtcCkKLSAJCSAgOiBxdW90ZV9lc2NhcGVzICh0ZW1wKTsKKwl7CisJICB0ZW1wID0gKCp0ZW1wICYmIChxdW90ZWQgJiAoUV9ET1VCTEVfUVVPVEVTfFFfSEVSRV9ET0NVTUVOVCkpKQorCQkgICAgPyBxdW90ZV9zdHJpbmcgKHRlbXApCisJCSAgICA6IHF1b3RlX2VzY2FwZXMgKHRlbXApOworCSAgcmZsYWdzIHw9IFdfQVJSQVlJTkQ7CisJICBpZiAoaW5kcCkKKwkgICAgKmluZHAgPSBpbmQ7CisJfSAJCSAgCiAgICAgICBlbHNlIGlmIChhdHlwZSA9PSAxICYmIHRlbXAgJiYgUVVPVEVEX05VTEwgKHRlbXApICYmIChxdW90ZWQgJiAoUV9ET1VCTEVfUVVPVEVTfFFfSEVSRV9ET0NVTUVOVCkpKQogCXJmbGFncyB8PSBXX0hBU1FVT1RFRE5VTEw7CiAgICAgfQpAQCAtNTQ4Nyw3ICs1NzI3LDcgQEAKICAgY2hhciAqdGVtcCwgKnQ7CiAgIFdPUkRfREVTQyAqdzsKIAotICB3ID0gcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF93b3JkIChuYW1lLCB2YXJfaXNfc3BlY2lhbCwgcXVvdGVkLCBQRl9JR05VTkJPVU5EKTsKKyAgdyA9IHBhcmFtZXRlcl9icmFjZV9leHBhbmRfd29yZCAobmFtZSwgdmFyX2lzX3NwZWNpYWwsIHF1b3RlZCwgUEZfSUdOVU5CT1VORCwgMCk7CiAgIHQgPSB3LT53b3JkOwogICAvKiBIYXZlIHRvIGRlcXVvdGUgaGVyZSBpZiBuZWNlc3NhcnkgKi8KICAgaWYgKHQpCkBAIC01NTA0LDcgKzU3NDQsNyBAQAogICBpZiAodCA9PSAwKQogICAgIHJldHVybiAoV09SRF9ERVNDICopTlVMTDsKIAotICB3ID0gcGFyYW1ldGVyX2JyYWNlX2V4cGFuZF93b3JkICh0LCBTUEVDSUFMX1ZBUih0LCAwKSwgcXVvdGVkLCAwKTsKKyAgdyA9IHBhcmFtZXRlcl9icmFjZV9leHBhbmRfd29yZCAodCwgU1BFQ0lBTF9WQVIodCwgMCksIHF1b3RlZCwgMCwgMCk7CiAgIGZyZWUgKHQpOwogCiAgIHJldHVybiB3OwpAQCAtNTU4OCw5ICs1ODI4LDExIEBACiAgIGVsc2UKICNlbmRpZiAvKiBBUlJBWV9WQVJTICovCiAgIGJpbmRfdmFyaWFibGUgKG5hbWUsIHQxLCAwKTsKLSAgZnJlZSAodDEpOwogCi0gIHctPndvcmQgPSB0ZW1wOworICAvKiBGcm9tIFBvc2l4IGdyb3VwIGRpc2N1c3Npb24gRmViLU1hcmNoIDIwMTAuICBJc3N1ZSA3IDAwMDAyMjEgKi8KKyAgZnJlZSAodGVtcCk7CisKKyAgdy0+d29yZCA9IHQxOwogICByZXR1cm4gdzsKIH0KIApAQCAtNTYzNywzNCArNTg3OSw2IEBACiAJICBsZWdhbF9pZGVudGlmaWVyIChuYW1lICsgMSkpOwkJCQkvKiAkeyNQUzF9ICovCiB9CiAKLSNpZiBkZWZpbmVkIChIQU5ETEVfTVVMVElCWVRFKQotc2l6ZV90Ci1tYnN0cmxlbiAocykKLSAgICAgY29uc3QgY2hhciAqczsKLXsKLSAgc2l6ZV90IGNsZW4sIG5jOwotICBtYnN0YXRlX3QgbWJzLCBtYnNiYWs7Ci0KLSAgbmMgPSAwOwotICBtZW1zZXQgKCZtYnMsIDAsIHNpemVvZiAobWJzKSk7Ci0gIG1ic2JhayA9IG1iczsKLSAgd2hpbGUgKChjbGVuID0gbWJybGVuKHMsIE1CX0NVUl9NQVgsICZtYnMpKSAhPSAwKQotICAgIHsKLSAgICAgIGlmIChNQl9JTlZBTElEQ0goY2xlbikpCi0gICAgICAgIHsKLQkgIGNsZW4gPSAxOwkvKiBhc3N1bWUgc2luZ2xlIGJ5dGUgKi8KLQkgIG1icyA9IG1ic2JhazsKLSAgICAgICAgfQotCi0gICAgICBzICs9IGNsZW47Ci0gICAgICBuYysrOwotICAgICAgbWJzYmFrID0gbWJzOwotICAgIH0KLSAgcmV0dXJuIG5jOwotfQotI2VuZGlmCi0gICAgICAKLQogLyogSGFuZGxlIHRoZSBwYXJhbWV0ZXIgYnJhY2UgZXhwYW5zaW9uIHRoYXQgcmVxdWlyZXMgdXMgdG8gcmV0dXJuIHRoZQogICAgbGVuZ3RoIG9mIGEgcGFyYW1ldGVyLiAqLwogc3RhdGljIGludG1heF90CkBAIC01Njk4LDcgKzU5MTIsNyBAQAogCSAgYnJlYWs7CiAJY2FzZSAnISc6CiAJICBpZiAobGFzdF9hc3luY2hyb25vdXNfcGlkID09IE5PX1BJRCkKLQkgICAgdCA9IChjaGFyICopTlVMTDsKKwkgICAgdCA9IChjaGFyICopTlVMTDsJLyogWFhYIC0gZXJyb3IgaWYgc2V0IC11IHNldD8gKi8KIAkgIGVsc2UKIAkgICAgdCA9IGl0b3MgKGxhc3RfYXN5bmNocm9ub3VzX3BpZCk7CiAJICBicmVhazsKQEAgLTU3MjAsNiArNTkzNCw4IEBACiAgICAgICBpZiAobGVnYWxfbnVtYmVyIChuYW1lICsgMSwgJmFyZ19pbmRleCkpCQkvKiAkeyMxfSAqLwogCXsKIAkgIHQgPSBnZXRfZG9sbGFyX3Zhcl92YWx1ZSAoYXJnX2luZGV4KTsKKwkgIGlmICh0ID09IDAgJiYgdW5ib3VuZF92YXJzX2lzX2Vycm9yKQorCSAgICByZXR1cm4gSU5UTUFYX01JTjsKIAkgIG51bWJlciA9IE1CX1NUUkxFTiAodCk7CiAJICBGUkVFICh0KTsKIAl9CkBAIC01NzMwLDYgKzU5NDYsOCBAQAogCSAgICB0ID0gYXNzb2NfcmVmZXJlbmNlIChhc3NvY19jZWxsICh2YXIpLCAiMCIpOwogCSAgZWxzZQogCSAgICB0ID0gYXJyYXlfcmVmZXJlbmNlIChhcnJheV9jZWxsICh2YXIpLCAwKTsKKwkgIGlmICh0ID09IDAgJiYgdW5ib3VuZF92YXJzX2lzX2Vycm9yKQorCSAgICByZXR1cm4gSU5UTUFYX01JTjsKIAkgIG51bWJlciA9IE1CX1NUUkxFTiAodCk7CiAJfQogI2VuZGlmCkBAIC01NzQzLDcgKzU5NjEsNyBAQAogCSAgaWYgKGxpc3QpCiAJICAgIGRpc3Bvc2Vfd29yZHMgKGxpc3QpOwogCi0JICBudW1iZXIgPSBNQl9TVFJMRU4gKHQpOworCSAgbnVtYmVyID0gdCA/IE1CX1NUUkxFTiAodCkgOiAwOwogCSAgRlJFRSAodCk7CiAJfQogICAgIH0KQEAgLTU5MDIsNyArNjEyMCw3IEBACiAgICAgICBmcmVlICh0ZW1wMSk7CiAgICAgICBpZiAoZXhwb2sgPT0gMCkKIAlyZXR1cm4gKDApOwotICAgICAgaWYgKCplMnAgPCAwKQorICAgICAgaWYgKCh2dHlwZSA9PSBWVF9BUlJBWVZBUiB8fCB2dHlwZSA9PSBWVF9QT1NQQVJNUykgJiYgKmUycCA8IDApCiAJewogCSAgaW50ZXJuYWxfZXJyb3IgKF8oIiVzOiBzdWJzdHJpbmcgZXhwcmVzc2lvbiA8IDAiKSwgdCk7CiAJICByZXR1cm4gKDApOwpAQCAtNTkxNCw3ICs2MTMyLDE3IEBACiAgICAgICBpZiAodnR5cGUgIT0gVlRfQVJSQVlWQVIpCiAjZW5kaWYKIAl7Ci0JICAqZTJwICs9ICplMXA7CQkvKiB3YW50IEUyIGNoYXJzIHN0YXJ0aW5nIGF0IEUxICovCisJICBpZiAoKmUycCA8IDApCisJICAgIHsKKwkgICAgICAqZTJwICs9IGxlbjsKKwkgICAgICBpZiAoKmUycCA8IDAgfHwgKmUycCA8ICplMXApCisJCXsKKwkJICBpbnRlcm5hbF9lcnJvciAoXygiJXM6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMCIpLCB0KTsKKwkJICByZXR1cm4gKDApOworCQl9CisJICAgIH0KKwkgIGVsc2UKKwkgICAgKmUycCArPSAqZTFwOwkJLyogd2FudCBFMiBjaGFycyBzdGFydGluZyBhdCBFMSAqLwogCSAgaWYgKCplMnAgPiBsZW4pCiAJICAgICplMnAgPSBsZW47CiAJfQpAQCAtNTkyOCwxMyArNjE1NiwxOCBAQAogLyogUmV0dXJuIHRoZSB0eXBlIG9mIHZhcmlhYmxlIHNwZWNpZmllZCBieSBWQVJOQU1FIChzaW1wbGUgdmFyaWFibGUsCiAgICBwb3NpdGlvbmFsIHBhcmFtLCBvciBhcnJheSB2YXJpYWJsZSkuICBBbHNvIHJldHVybiB0aGUgdmFsdWUgc3BlY2lmaWVkCiAgICBieSBWQVJOQU1FICh2YWx1ZSBvZiBhIHZhcmlhYmxlIG9yIGEgcmVmZXJlbmNlIHRvIGFuIGFycmF5IGVsZW1lbnQpLgorICAgUVVPVEVEIGlzIHRoZSBzdGFuZGFyZCBkZXNjcmlwdGlvbiBvZiBxdW90aW5nIHN0YXRlLCB1c2luZyBRXyogZGVmaW5lcy4KKyAgIEZMQUdTIGlzIGN1cnJlbnRseSBhIHNldCBvZiBmbGFncyB0byBwYXNzIHRvIGFycmF5X3ZhbHVlLiAgSWYgSU5EIGlzCisgICBub24tbnVsbCBhbmQgbm90IElOVE1BWF9NSU4sIGFuZCBGTEFHUyBpbmNsdWRlcyBBVl9VU0VJTkQsIElORCBpcworICAgcGFzc2VkIHRvIGFycmF5X3ZhbHVlIHNvIHRoZSBhcnJheSBpbmRleCBpcyBub3QgY29tcHV0ZWQgYWdhaW4uCiAgICBJZiB0aGlzIHJldHVybnMgVlRfVkFSSUFCTEUsIHRoZSBjYWxsZXIgYXNzdW1lcyB0aGF0IENUTEVTQyBhbmQgQ1RMTlVMCiAgICBjaGFyYWN0ZXJzIGluIHRoZSB2YWx1ZSBhcmUgcXVvdGVkIHdpdGggQ1RMRVNDIGFuZCB0YWtlcyBhcHByb3ByaWF0ZQogICAgc3RlcHMuICBGb3IgY29udmVuaWVuY2UsICpWQUxQIGlzIHNldCB0byB0aGUgZGVxdW90ZWQgVkFMVUUuICovCiBzdGF0aWMgaW50Ci1nZXRfdmFyX2FuZF90eXBlICh2YXJuYW1lLCB2YWx1ZSwgcXVvdGVkLCB2YXJwLCB2YWxwKQorZ2V0X3Zhcl9hbmRfdHlwZSAodmFybmFtZSwgdmFsdWUsIGluZCwgcXVvdGVkLCBmbGFncywgdmFycCwgdmFscCkKICAgICAgY2hhciAqdmFybmFtZSwgKnZhbHVlOwotICAgICBpbnQgcXVvdGVkOworICAgICBhcnJheWluZF90IGluZDsKKyAgICAgaW50IHF1b3RlZCwgZmxhZ3M7CiAgICAgIFNIRUxMX1ZBUiAqKnZhcnA7CiAgICAgIGNoYXIgKip2YWxwOwogewpAQCAtNTk0Myw2ICs2MTc2LDcgQEAKICNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQogICBTSEVMTF9WQVIgKnY7CiAjZW5kaWYKKyAgYXJyYXlpbmRfdCBsaW5kOwogCiAgIC8qIFRoaXMgc2V0cyB2dHlwZSB0byBWVF9WQVJJQUJMRSBvciBWVF9QT1NQQVJNUyAqLwogICB2dHlwZSA9ICh2YXJuYW1lWzBdID09ICdAJyB8fCB2YXJuYW1lWzBdID09ICcqJykgJiYgdmFybmFtZVsxXSA9PSAnXDAnOwpAQCAtNTk1NCw2ICs2MTg4LDkgQEAKICAgaWYgKHZhbGlkX2FycmF5X3JlZmVyZW5jZSAodmFybmFtZSkpCiAgICAgewogICAgICAgdiA9IGFycmF5X3ZhcmlhYmxlX3BhcnQgKHZhcm5hbWUsICZ0ZW1wLCAoaW50ICopMCk7CisgICAgICAvKiBJZiB3ZSB3YW50IHRvIHNpZ25hbCBhcnJheV92YWx1ZSB0byB1c2UgYW4gYWxyZWFkeS1jb21wdXRlZCBpbmRleCwKKwkgc2V0IExJTkQgdG8gdGhhdCBpbmRleCAqLworICAgICAgbGluZCA9IChpbmQgIT0gSU5UTUFYX01JTiAmJiAoZmxhZ3MgJiBBVl9VU0VJTkQpKSA/IGluZCA6IDA7CiAgICAgICBpZiAodiAmJiAoYXJyYXlfcCAodikgfHwgYXNzb2NfcCAodikpKQogCXsgLyogWyAqLwogCSAgaWYgKEFMTF9FTEVNRU5UX1NVQiAodGVtcFswXSkgJiYgdGVtcFsxXSA9PSAnXScpCkBAIC01OTY3LDcgKzYyMDQsNyBAQAogCSAgZWxzZQogCSAgICB7CiAJICAgICAgdnR5cGUgPSBWVF9BUlJBWU1FTUJFUjsKLQkgICAgICAqdmFscCA9IGFycmF5X3ZhbHVlICh2YXJuYW1lLCAxLCAoaW50ICopTlVMTCk7CisJICAgICAgKnZhbHAgPSBhcnJheV92YWx1ZSAodmFybmFtZSwgUV9ET1VCTEVfUVVPVEVTLCBmbGFncywgKGludCAqKU5VTEwsICZsaW5kKTsKIAkgICAgfQogCSAgKnZhcnAgPSB2OwogCX0KQEAgLTU5ODQsNyArNjIyMSw3IEBACiAJewogCSAgdnR5cGUgPSBWVF9BUlJBWU1FTUJFUjsKIAkgICp2YXJwID0gdjsKLQkgICp2YWxwID0gYXJyYXlfdmFsdWUgKHZhcm5hbWUsIDEsIChpbnQgKilOVUxMKTsKKwkgICp2YWxwID0gYXJyYXlfdmFsdWUgKHZhcm5hbWUsIFFfRE9VQkxFX1FVT1RFUywgZmxhZ3MsIChpbnQgKilOVUxMLCAmbGluZCk7CiAJfQogICAgIH0KICAgZWxzZSBpZiAoKHYgPSBmaW5kX3ZhcmlhYmxlICh2YXJuYW1lKSkgJiYgKGludmlzaWJsZV9wICh2KSA9PSAwKSAmJiAoYXNzb2NfcCAodikgfHwgYXJyYXlfcCAodikpKQpAQCAtNjA1MSw5ICs2Mjg4LDExIEBACiAgICBWQVJOQU1FLiAgSWYgVkFSTkFNRSBpcyBhbiBhcnJheSB2YXJpYWJsZSwgdXNlIHRoZSBhcnJheSBlbGVtZW50cy4gKi8KIAogc3RhdGljIGNoYXIgKgotcGFyYW1ldGVyX2JyYWNlX3N1YnN0cmluZyAodmFybmFtZSwgdmFsdWUsIHN1YnN0ciwgcXVvdGVkKQotICAgICBjaGFyICp2YXJuYW1lLCAqdmFsdWUsICpzdWJzdHI7Ci0gICAgIGludCBxdW90ZWQ7CitwYXJhbWV0ZXJfYnJhY2Vfc3Vic3RyaW5nICh2YXJuYW1lLCB2YWx1ZSwgaW5kLCBzdWJzdHIsIHF1b3RlZCwgZmxhZ3MpCisgICAgIGNoYXIgKnZhcm5hbWUsICp2YWx1ZTsKKyAgICAgaW50IGluZDsKKyAgICAgY2hhciAqc3Vic3RyOworICAgICBpbnQgcXVvdGVkLCBmbGFnczsKIHsKICAgaW50bWF4X3QgZTEsIGUyOwogICBpbnQgdnR5cGUsIHIsIHN0YXJzdWI7CkBAIC02MDY2LDcgKzYzMDUsNyBAQAogICBvbmFtZSA9IHRoaXNfY29tbWFuZF9uYW1lOwogICB0aGlzX2NvbW1hbmRfbmFtZSA9IHZhcm5hbWU7CiAKLSAgdnR5cGUgPSBnZXRfdmFyX2FuZF90eXBlICh2YXJuYW1lLCB2YWx1ZSwgcXVvdGVkLCAmdiwgJnZhbCk7CisgIHZ0eXBlID0gZ2V0X3Zhcl9hbmRfdHlwZSAodmFybmFtZSwgdmFsdWUsIGluZCwgcXVvdGVkLCBmbGFncywgJnYsICZ2YWwpOwogICBpZiAodnR5cGUgPT0gLTEpCiAgICAgewogICAgICAgdGhpc19jb21tYW5kX25hbWUgPSBvbmFtZTsKQEAgLTYxMzgsMjYgKzYzNzcsNTIgQEAKIC8qCQkJCQkJCQkqLwogLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCiAKK3N0YXRpYyBpbnQKK3Nob3VsZGV4cF9yZXBsYWNlbWVudCAocykKKyAgICAgY2hhciAqczsKK3sKKyAgcmVnaXN0ZXIgY2hhciAqcDsKKworICBmb3IgKHAgPSBzOyBwICYmICpwOyBwKyspCisgICAgeworICAgICAgaWYgKCpwID09ICdcXCcpCisJcCsrOworICAgICAgZWxzZSBpZiAoKnAgPT0gJyYnKQorCXJldHVybiAxOworICAgIH0KKyAgcmV0dXJuIDA7Cit9CisKIGNoYXIgKgogcGF0X3N1YnN0IChzdHJpbmcsIHBhdCwgcmVwLCBtZmxhZ3MpCiAgICAgIGNoYXIgKnN0cmluZywgKnBhdCwgKnJlcDsKICAgICAgaW50IG1mbGFnczsKIHsKLSAgY2hhciAqcmV0LCAqcywgKmUsICpzdHI7Ci0gIGludCByc2l6ZSwgcnB0ciwgbCwgcmVwbGVuLCBtdHlwZTsKKyAgY2hhciAqcmV0LCAqcywgKmUsICpzdHIsICpyc3RyLCAqbXN0cjsKKyAgaW50IHJzaXplLCBycHRyLCBsLCByZXBsZW4sIG10eXBlLCByeHBhbmQsIHJzbGVuLCBtbGVuOworCisgIGlmIChzdHJpbmcgID09IDApCisgICAgcmV0dXJuIChzYXZlc3RyaW5nICgiIikpOwogCiAgIG10eXBlID0gbWZsYWdzICYgTUFUQ0hfVFlQRU1BU0s7CiAKKyNpZiAwCS8qIGJhc2gtNC4yID8gKi8KKyAgcnhwYW5kID0gKHJlcCAmJiAqcmVwKSA/IHNob3VsZGV4cF9yZXBsYWNlbWVudCAocmVwKSA6IDA7CisjZWxzZQorICByeHBhbmQgPSAwOworI2VuZGlmCisKICAgLyogU3BlY2lhbCBjYXNlczoKICAgICogCTEuICBBIG51bGwgcGF0dGVybiB3aXRoIG10eXBlID09IE1BVENIX0JFRyBtZWFucyB0byBwcmVmaXggU1RSSU5HCiAgICAqCSAgICB3aXRoIFJFUCBhbmQgcmV0dXJuIHRoZSByZXN1bHQuCiAgICAqCTIuICBBIG51bGwgcGF0dGVybiB3aXRoIG10eXBlID09IE1BVENIX0VORCBtZWFucyB0byBhcHBlbmQgUkVQIHRvCiAgICAqCSAgICBTVFJJTkcgYW5kIHJldHVybiB0aGUgcmVzdWx0LgorICAgKiBUaGVzZSBkb24ndCB1bmRlcnN0YW5kIG9yIHByb2Nlc3MgYCYnIGluIHRoZSByZXBsYWNlbWVudCBzdHJpbmcuCiAgICAqLwogICBpZiAoKHBhdCA9PSAwIHx8ICpwYXQgPT0gMCkgJiYgKG10eXBlID09IE1BVENIX0JFRyB8fCBtdHlwZSA9PSBNQVRDSF9FTkQpKQogICAgIHsKICAgICAgIHJlcGxlbiA9IFNUUkxFTiAocmVwKTsKLSAgICAgIGwgPSBzdHJsZW4gKHN0cmluZyk7CisgICAgICBsID0gU1RSTEVOIChzdHJpbmcpOwogICAgICAgcmV0ID0gKGNoYXIgKil4bWFsbG9jIChyZXBsZW4gKyBsICsgMik7CiAgICAgICBpZiAocmVwbGVuID09IDApCiAJc3RyY3B5IChyZXQsIHN0cmluZyk7CkBAIC02MTgyLDcgKzY0NDcsMjUgQEAKICAgICAgIGlmIChtYXRjaF9wYXR0ZXJuIChzdHIsIHBhdCwgbXR5cGUsICZzLCAmZSkgPT0gMCkKIAlicmVhazsKICAgICAgIGwgPSBzIC0gc3RyOwotICAgICAgUkVTSVpFX01BTExPQ0VEX0JVRkZFUiAocmV0LCBycHRyLCAobCArIHJlcGxlbiksIHJzaXplLCA2NCk7CisKKyAgICAgIGlmIChyeHBhbmQpCisgICAgICAgIHsKKyAgICAgICAgICBpbnQgeDsKKyAgICAgICAgICBtbGVuID0gZSAtIHM7CisgICAgICAgICAgbXN0ciA9IHhtYWxsb2MgKG1sZW4gKyAxKTsKKwkgIGZvciAoeCA9IDA7IHggPCBtbGVuOyB4KyspCisJICAgIG1zdHJbeF0gPSBzW3hdOworICAgICAgICAgIG1zdHJbbWxlbl0gPSAnXDAnOworICAgICAgICAgIHJzdHIgPSBzdHJjcmVwbGFjZSAocmVwLCAnJicsIG1zdHIsIDApOworICAgICAgICAgIHJzbGVuID0gc3RybGVuIChyc3RyKTsKKyAgICAgICAgfQorICAgICAgZWxzZQorICAgICAgICB7CisgICAgICAgICAgcnN0ciA9IHJlcDsKKyAgICAgICAgICByc2xlbiA9IHJlcGxlbjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgIFJFU0laRV9NQUxMT0NFRF9CVUZGRVIgKHJldCwgcnB0ciwgKGwgKyByc2xlbiksIHJzaXplLCA2NCk7CiAKICAgICAgIC8qIE9LLCBub3cgY29weSB0aGUgbGVhZGluZyB1bm1hdGNoZWQgcG9ydGlvbiBvZiB0aGUgc3RyaW5nIChmcm9tCiAJIHN0ciB0byBzKSB0byByZXQgc3RhcnRpbmcgYXQgcnB0ciAodGhlIGN1cnJlbnQgb2Zmc2V0KS4gIFRoZW4gY29weQpAQCAtNjE5NSwxMSArNjQ3OCwxNCBAQAogCX0KICAgICAgIGlmIChyZXBsZW4pCiAJewotCSAgc3RybmNweSAocmV0ICsgcnB0ciwgcmVwLCByZXBsZW4pOwotCSAgcnB0ciArPSByZXBsZW47CisJICBzdHJuY3B5IChyZXQgKyBycHRyLCByc3RyLCByc2xlbik7CisJICBycHRyICs9IHJzbGVuOwogCX0KICAgICAgIHN0ciA9IGU7CQkvKiBlID09IGVuZCBvZiBtYXRjaCAqLwogCisgICAgICBpZiAocnN0ciAhPSByZXApCisJZnJlZSAocnN0cik7CisKICAgICAgIGlmICgoKG1mbGFncyAmIE1BVENIX0dMT0JSRVApID09IDApIHx8IG10eXBlICE9IE1BVENIX0FOWSkKIAlicmVhazsKIApAQCAtNjIxNCw3ICs2NTAwLDcgQEAKICAgICB9CiAKICAgLyogTm93IGNvcHkgdGhlIHVubWF0Y2hlZCBwb3J0aW9uIG9mIHRoZSBpbnB1dCBzdHJpbmcgKi8KLSAgaWYgKCpzdHIpCisgIGlmIChzdHIgJiYgKnN0cikKICAgICB7CiAgICAgICBSRVNJWkVfTUFMTE9DRURfQlVGRkVSIChyZXQsIHJwdHIsIFNUUkxFTihzdHIpICsgMSwgcnNpemUsIDY0KTsKICAgICAgIHN0cmNweSAocmV0ICsgcnB0ciwgc3RyKTsKQEAgLTYyNzUsOSArNjU2MSwxMSBAQAogICAgYW5kIHRoZSBzdHJpbmcgdG8gc3Vic3RpdHV0ZS4gIFFVT1RFRCBpcyBhIGZsYWdzIHdvcmQgY29udGFpbmluZwogICAgdGhlIHR5cGUgb2YgcXVvdGluZyBjdXJyZW50bHkgaW4gZWZmZWN0LiAqLwogc3RhdGljIGNoYXIgKgotcGFyYW1ldGVyX2JyYWNlX3BhdHN1YiAodmFybmFtZSwgdmFsdWUsIHBhdHN1YiwgcXVvdGVkKQotICAgICBjaGFyICp2YXJuYW1lLCAqdmFsdWUsICpwYXRzdWI7Ci0gICAgIGludCBxdW90ZWQ7CitwYXJhbWV0ZXJfYnJhY2VfcGF0c3ViICh2YXJuYW1lLCB2YWx1ZSwgaW5kLCBwYXRzdWIsIHF1b3RlZCwgZmxhZ3MpCisgICAgIGNoYXIgKnZhcm5hbWUsICp2YWx1ZTsKKyAgICAgaW50IGluZDsKKyAgICAgY2hhciAqcGF0c3ViOworICAgICBpbnQgcXVvdGVkLCBmbGFnczsKIHsKICAgaW50IHZ0eXBlLCBtZmxhZ3MsIHN0YXJzdWIsIGRlbGltOwogICBjaGFyICp2YWwsICp0ZW1wLCAqcGF0LCAqcmVwLCAqcCwgKmxwYXRzdWIsICp0dDsKQEAgLTYyODgsNyArNjU3Niw3IEBACiAKICAgdGhpc19jb21tYW5kX25hbWUgPSB2YXJuYW1lOwogCi0gIHZ0eXBlID0gZ2V0X3Zhcl9hbmRfdHlwZSAodmFybmFtZSwgdmFsdWUsIHF1b3RlZCwgJnYsICZ2YWwpOworICB2dHlwZSA9IGdldF92YXJfYW5kX3R5cGUgKHZhcm5hbWUsIHZhbHVlLCBpbmQsIHF1b3RlZCwgZmxhZ3MsICZ2LCAmdmFsKTsKICAgaWYgKHZ0eXBlID09IC0xKQogICAgIHJldHVybiAoKGNoYXIgKilOVUxMKTsKIApAQCAtNjQ2MywxMSArNjc1MSwxMSBAQAogICAgdG8gcGVyZm9ybS4gIFFVT1RFRCBpcyBhIGZsYWdzIHdvcmQgY29udGFpbmluZyB0aGUgdHlwZSBvZiBxdW90aW5nCiAgICBjdXJyZW50bHkgaW4gZWZmZWN0LiAqLwogc3RhdGljIGNoYXIgKgotcGFyYW1ldGVyX2JyYWNlX2Nhc2Vtb2QgKHZhcm5hbWUsIHZhbHVlLCBtb2RzcGVjLCBwYXRzcGVjLCBxdW90ZWQpCitwYXJhbWV0ZXJfYnJhY2VfY2FzZW1vZCAodmFybmFtZSwgdmFsdWUsIGluZCwgbW9kc3BlYywgcGF0c3BlYywgcXVvdGVkLCBmbGFncykKICAgICAgY2hhciAqdmFybmFtZSwgKnZhbHVlOwotICAgICBpbnQgbW9kc3BlYzsKKyAgICAgaW50IGluZCwgbW9kc3BlYzsKICAgICAgY2hhciAqcGF0c3BlYzsKLSAgICAgaW50IHF1b3RlZDsKKyAgICAgaW50IHF1b3RlZCwgZmxhZ3M7CiB7CiAgIGludCB2dHlwZSwgc3RhcnN1YiwgbW9kb3AsIG1mbGFncywgeDsKICAgY2hhciAqdmFsLCAqdGVtcCwgKnBhdCwgKnAsICpscGF0LCAqdHQ7CkBAIC02NDc4LDcgKzY3NjYsNyBAQAogCiAgIHRoaXNfY29tbWFuZF9uYW1lID0gdmFybmFtZTsKIAotICB2dHlwZSA9IGdldF92YXJfYW5kX3R5cGUgKHZhcm5hbWUsIHZhbHVlLCBxdW90ZWQsICZ2LCAmdmFsKTsKKyAgdnR5cGUgPSBnZXRfdmFyX2FuZF90eXBlICh2YXJuYW1lLCB2YWx1ZSwgaW5kLCBxdW90ZWQsIGZsYWdzLCAmdiwgJnZhbCk7CiAgIGlmICh2dHlwZSA9PSAtMSkKICAgICByZXR1cm4gKChjaGFyICopTlVMTCk7CiAKQEAgLTY2MjksNiArNjkxNyw3IEBACiAgIFdPUkRfREVTQyAqdGRlc2MsICpyZXQ7CiAgIGludCB0X2luZGV4LCBzaW5kZXgsIGMsIHRmbGFnLCBtb2RzcGVjOwogICBpbnRtYXhfdCBudW1iZXI7CisgIGFycmF5aW5kX3QgaW5kOwogCiAgIHRlbXAgPSB0ZW1wMSA9IHZhbHVlID0gKGNoYXIgKilOVUxMOwogICB2YXJfaXNfc2V0ID0gdmFyX2lzX251bGwgPSB2YXJfaXNfc3BlY2lhbCA9IGNoZWNrX251bGxuZXNzID0gMDsKQEAgLTY2NTUsMTggKzY5NDQsMTMgQEAKICAgcmV0ID0gMDsKICAgdGZsYWcgPSAwOwogCisgIGluZCA9IElOVE1BWF9NSU47CisKICAgLyogSWYgdGhlIG5hbWUgcmVhbGx5IGNvbnNpc3RzIG9mIGEgc3BlY2lhbCB2YXJpYWJsZSwgdGhlbiBtYWtlIHN1cmUKICAgICAgdGhhdCB3ZSBoYXZlIHRoZSBlbnRpcmUgbmFtZS4gIFdlIGRvbid0IGFsbG93IGluZGlyZWN0IHJlZmVyZW5jZXMKICAgICAgdG8gc3BlY2lhbCB2YXJpYWJsZXMgZXhjZXB0IGAjJywgYD8nLCBgQCcgYW5kIGAqJy4gKi8KLSAgaWYgKChzaW5kZXggPT0gdF9pbmRleCAmJgotCShzdHJpbmdbdF9pbmRleF0gPT0gJy0nIHx8Ci0JIHN0cmluZ1t0X2luZGV4XSA9PSAnPycgfHwKLQkgc3RyaW5nW3RfaW5kZXhdID09ICcjJykpIHx8Ci0gICAgICAoc2luZGV4ID09IHRfaW5kZXggLSAxICYmIHN0cmluZ1tzaW5kZXhdID09ICchJyAmJgotCShzdHJpbmdbdF9pbmRleF0gPT0gJyMnIHx8Ci0JIHN0cmluZ1t0X2luZGV4XSA9PSAnPycgfHwKLQkgc3RyaW5nW3RfaW5kZXhdID09ICdAJyB8fAotCSBzdHJpbmdbdF9pbmRleF0gPT0gJyonKSkpCisgIGlmICgoc2luZGV4ID09IHRfaW5kZXggJiYgVkFMSURfU1BFQ0lBTF9MRU5HVEhfUEFSQU0gKHN0cmluZ1t0X2luZGV4XSkpIHx8CisgICAgICAoc2luZGV4ID09IHRfaW5kZXggLSAxICYmIHN0cmluZ1tzaW5kZXhdID09ICchJyAmJiBWQUxJRF9JTkRJUl9QQVJBTSAoc3RyaW5nW3RfaW5kZXhdKSkpCiAgICAgewogICAgICAgdF9pbmRleCsrOwogICAgICAgZnJlZSAobmFtZSk7CkBAIC02NzYxLDYgKzcwNDUsMTMgQEAKIAl9CiAKICAgICAgIG51bWJlciA9IHBhcmFtZXRlcl9icmFjZV9leHBhbmRfbGVuZ3RoIChuYW1lKTsKKyAgICAgIGlmIChudW1iZXIgPT0gSU5UTUFYX01JTiAmJiB1bmJvdW5kX3ZhcnNfaXNfZXJyb3IpCisJeworCSAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBFWEVDVVRJT05fRkFJTFVSRTsKKwkgIGVycl91bmJvdW5kdmFyIChuYW1lKzEpOworCSAgZnJlZSAobmFtZSk7CisJICByZXR1cm4gKGludGVyYWN0aXZlX3NoZWxsID8gJmV4cGFuZF93ZGVzY19lcnJvciA6ICZleHBhbmRfd2Rlc2NfZmF0YWwpOworCX0KICAgICAgIGZyZWUgKG5hbWUpOwogCiAgICAgICAqaW5kZXhwID0gc2luZGV4OwpAQCAtNjg2MSw3ICs3MTUyLDcgQEAKICAgaWYgKHdhbnRfaW5kaXIpCiAgICAgdGRlc2MgPSBwYXJhbWV0ZXJfYnJhY2VfZXhwYW5kX2luZGlyIChuYW1lICsgMSwgdmFyX2lzX3NwZWNpYWwsIHF1b3RlZCwgcXVvdGVkX2RvbGxhcl9hdHAsIGNvbnRhaW5zX2RvbGxhcl9hdCk7CiAgIGVsc2UKLSAgICB0ZGVzYyA9IHBhcmFtZXRlcl9icmFjZV9leHBhbmRfd29yZCAobmFtZSwgdmFyX2lzX3NwZWNpYWwsIHF1b3RlZCwgUEZfSUdOVU5CT1VORHwocGZsYWdzJlBGX05PU1BMSVQyKSk7CisgICAgdGRlc2MgPSBwYXJhbWV0ZXJfYnJhY2VfZXhwYW5kX3dvcmQgKG5hbWUsIHZhcl9pc19zcGVjaWFsLCBxdW90ZWQsIFBGX0lHTlVOQk9VTkR8KHBmbGFncyZQRl9OT1NQTElUMiksICZpbmQpOwogCiAgIGlmICh0ZGVzYykKICAgICB7CkBAIC02ODg1LDcgKzcxNzYsNyBAQAogICAgIHsKICAgICAgIC8qIEV4dHJhY3QgdGhlIGNvbnRlbnRzIG9mIHRoZSAkeyAuLi4gfSBleHBhbnNpb24KIAkgYWNjb3JkaW5nIHRvIHRoZSBQb3NpeC4yIHJ1bGVzLiAqLwotICAgICAgdmFsdWUgPSBleHRyYWN0X2RvbGxhcl9icmFjZV9zdHJpbmcgKHN0cmluZywgJnNpbmRleCwgcXVvdGVkLCAwKTsKKyAgICAgIHZhbHVlID0gZXh0cmFjdF9kb2xsYXJfYnJhY2Vfc3RyaW5nIChzdHJpbmcsICZzaW5kZXgsIHF1b3RlZCwgKGMgPT0gJyUnIHx8IGMgPT0gJyMnKSA/IFNYX1BPU0lYRVhQIDogMCk7CiAgICAgICBpZiAoc3RyaW5nW3NpbmRleF0gPT0gUkJSQUNFKQogCXNpbmRleCsrOwogICAgICAgZWxzZQpAQCAtNjg5NiwxMCArNzE4NywyNSBAQAogCiAgICppbmRleHAgPSBzaW5kZXg7CiAKKyAgLyogQWxsIHRoZSBjYXNlcyB3aGVyZSBhbiBleHBhbnNpb24gY2FuIHBvc3NpYmx5IGdlbmVyYXRlIGFuIHVuYm91bmQKKyAgICAgdmFyaWFibGUgZXJyb3IuICovCisgIGlmICh3YW50X3N1YnN0cmluZyB8fCB3YW50X3BhdHN1YiB8fCB3YW50X2Nhc2Vtb2QgfHwgYyA9PSAnIycgfHwgYyA9PSAnJScgfHwgYyA9PSBSQlJBQ0UpCisgICAgeworICAgICAgaWYgKHZhcl9pc19zZXQgPT0gMCAmJiB1bmJvdW5kX3ZhcnNfaXNfZXJyb3IgJiYgKChuYW1lWzBdICE9ICdAJyAmJiBuYW1lWzBdICE9ICcqJykgfHwgbmFtZVsxXSkpCisJeworCSAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBFWEVDVVRJT05fRkFJTFVSRTsKKwkgIGVycl91bmJvdW5kdmFyIChuYW1lKTsKKwkgIEZSRUUgKHZhbHVlKTsKKwkgIEZSRUUgKHRlbXApOworCSAgZnJlZSAobmFtZSk7CisJICByZXR1cm4gKGludGVyYWN0aXZlX3NoZWxsID8gJmV4cGFuZF93ZGVzY19lcnJvciA6ICZleHBhbmRfd2Rlc2NfZmF0YWwpOworCX0KKyAgICB9CisgICAgCiAgIC8qIElmIHRoaXMgaXMgYSBzdWJzdHJpbmcgc3BlYywgcHJvY2VzcyBpdCBhbmQgYWRkIHRoZSByZXN1bHQuICovCiAgIGlmICh3YW50X3N1YnN0cmluZykKICAgICB7Ci0gICAgICB0ZW1wMSA9IHBhcmFtZXRlcl9icmFjZV9zdWJzdHJpbmcgKG5hbWUsIHRlbXAsIHZhbHVlLCBxdW90ZWQpOworICAgICAgdGVtcDEgPSBwYXJhbWV0ZXJfYnJhY2Vfc3Vic3RyaW5nIChuYW1lLCB0ZW1wLCBpbmQsIHZhbHVlLCBxdW90ZWQsICh0ZmxhZyAmIFdfQVJSQVlJTkQpID8gQVZfVVNFSU5EIDogMCk7CiAgICAgICBGUkVFIChuYW1lKTsKICAgICAgIEZSRUUgKHZhbHVlKTsKICAgICAgIEZSRUUgKHRlbXApOwpAQCAtNjkxNyw3ICs3MjIzLDcgQEAKICAgICB9CiAgIGVsc2UgaWYgKHdhbnRfcGF0c3ViKQogICAgIHsKLSAgICAgIHRlbXAxID0gcGFyYW1ldGVyX2JyYWNlX3BhdHN1YiAobmFtZSwgdGVtcCwgdmFsdWUsIHF1b3RlZCk7CisgICAgICB0ZW1wMSA9IHBhcmFtZXRlcl9icmFjZV9wYXRzdWIgKG5hbWUsIHRlbXAsIGluZCwgdmFsdWUsIHF1b3RlZCwgKHRmbGFnICYgV19BUlJBWUlORCkgPyBBVl9VU0VJTkQgOiAwKTsKICAgICAgIEZSRUUgKG5hbWUpOwogICAgICAgRlJFRSAodmFsdWUpOwogICAgICAgRlJFRSAodGVtcCk7CkBAIC02OTM4LDcgKzcyNDQsNyBAQAogI2lmIGRlZmluZWQgKENBU0VNT0RfRVhQQU5TSU9OUykKICAgZWxzZSBpZiAod2FudF9jYXNlbW9kKQogICAgIHsKLSAgICAgIHRlbXAxID0gcGFyYW1ldGVyX2JyYWNlX2Nhc2Vtb2QgKG5hbWUsIHRlbXAsIG1vZHNwZWMsIHZhbHVlLCBxdW90ZWQpOworICAgICAgdGVtcDEgPSBwYXJhbWV0ZXJfYnJhY2VfY2FzZW1vZCAobmFtZSwgdGVtcCwgaW5kLCBtb2RzcGVjLCB2YWx1ZSwgcXVvdGVkLCAodGZsYWcgJiBXX0FSUkFZSU5EKSA/IEFWX1VTRUlORCA6IDApOwogICAgICAgRlJFRSAobmFtZSk7CiAgICAgICBGUkVFICh2YWx1ZSk7CiAgICAgICBGUkVFICh0ZW1wKTsKQEAgLTY5NjksMTUgKzcyNzUsNiBAQAogICAgICAgcmV0dXJuICZleHBhbmRfd2Rlc2NfZXJyb3I7CiAKICAgICBjYXNlIFJCUkFDRToKLSAgICAgIGlmICh2YXJfaXNfc2V0ID09IDAgJiYgdW5ib3VuZF92YXJzX2lzX2Vycm9yICYmICgobmFtZVswXSAhPSAnQCcgJiYgbmFtZVswXSAhPSAnKicpIHx8IG5hbWVbMV0pKQotCXsKLQkgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gRVhFQ1VUSU9OX0ZBSUxVUkU7Ci0JICBlcnJfdW5ib3VuZHZhciAobmFtZSk7Ci0JICBGUkVFICh2YWx1ZSk7Ci0JICBGUkVFICh0ZW1wKTsKLQkgIGZyZWUgKG5hbWUpOwotCSAgcmV0dXJuIChpbnRlcmFjdGl2ZV9zaGVsbCA/ICZleHBhbmRfd2Rlc2NfZXJyb3IgOiAmZXhwYW5kX3dkZXNjX2ZhdGFsKTsKLQl9CiAgICAgICBicmVhazsKIAogICAgIGNhc2UgJyMnOgkvKiAke3BhcmFtI1sjXXBhdHRlcm59ICovCkBAIC02OTg3LDkgKzcyODQsMTAgQEAKIAkgIEZSRUUgKHZhbHVlKTsKIAkgIGJyZWFrOwogCX0KLSAgICAgIHRlbXAxID0gcGFyYW1ldGVyX2JyYWNlX3JlbW92ZV9wYXR0ZXJuIChuYW1lLCB0ZW1wLCB2YWx1ZSwgYywgcXVvdGVkKTsKKyAgICAgIHRlbXAxID0gcGFyYW1ldGVyX2JyYWNlX3JlbW92ZV9wYXR0ZXJuIChuYW1lLCB0ZW1wLCBpbmQsIHZhbHVlLCBjLCBxdW90ZWQsICh0ZmxhZyAmIFdfQVJSQVlJTkQpID8gQVZfVVNFSU5EIDogMCk7CiAgICAgICBmcmVlICh0ZW1wKTsKICAgICAgIGZyZWUgKHZhbHVlKTsKKyAgICAgIGZyZWUgKG5hbWUpOwogCiAgICAgICByZXQgPSBhbGxvY193b3JkX2Rlc2MgKCk7CiAgICAgICByZXQtPndvcmQgPSB0ZW1wMTsKQEAgLTcwMDUsNyArNzMwMyw2IEBACiAJewogCSAgLyogSWYgdGhlIG9wZXJhdG9yIGlzIGArJywgd2UgZG9uJ3Qgd2FudCB0aGUgdmFsdWUgb2YgdGhlIG5hbWVkCiAJICAgICB2YXJpYWJsZSBmb3IgYW55dGhpbmcsIGp1c3QgdGhlIHZhbHVlIG9mIHRoZSByaWdodCBoYW5kIHNpZGUuICovCi0KIAkgIGlmIChjID09ICcrJykKIAkgICAgewogCSAgICAgIC8qIFhYWCAtLSBpZiB3ZSdyZSBkb3VibGUtcXVvdGVkIGFuZCB0aGUgbmFtZWQgdmFyaWFibGUgaXMgIiRAIiwKQEAgLTcwMTksNiArNzMxNiwxMSBAQAogCSAgICAgIEZSRUUgKHRlbXApOwogCSAgICAgIGlmICh2YWx1ZSkKIAkJeworCQkgIC8qIEZyb20gUG9zaXggZGlzY3Vzc2lvbiBvbiBhdXN0aW4tZ3JvdXAgbGlzdC4gIElzc3VlIDIyMQorCQkgICAgIHJlcXVpcmVzIHRoYXQgYmFja3NsYXNoZXMgZXNjYXBpbmcgYH0nIGluc2lkZQorCQkgICAgIGRvdWJsZS1xdW90ZWQgJHsuLi59IGJlIHJlbW92ZWQuICovCisJCSAgaWYgKHF1b3RlZCAmIChRX0hFUkVfRE9DVU1FTlR8UV9ET1VCTEVfUVVPVEVTKSkKKwkJICAgIHF1b3RlZCB8PSBRX0RPTEJSQUNFOwogCQkgIHJldCA9IHBhcmFtZXRlcl9icmFjZV9leHBhbmRfcmhzIChuYW1lLCB2YWx1ZSwgYywKIAkJCQkJCSAgICBxdW90ZWQsCiAJCQkJCQkgICAgcXVvdGVkX2RvbGxhcl9hdHAsCkBAIC03MDYyLDYgKzczNjQsMTEgQEAKIAkgICAgICBpZiAoY29udGFpbnNfZG9sbGFyX2F0KQogCQkqY29udGFpbnNfZG9sbGFyX2F0ID0gMDsKIAorCSAgICAgIC8qIEZyb20gUG9zaXggZGlzY3Vzc2lvbiBvbiBhdXN0aW4tZ3JvdXAgbGlzdC4gIElzc3VlIDIyMSByZXF1aXJlcworCQkgdGhhdCBiYWNrc2xhc2hlcyBlc2NhcGluZyBgfScgaW5zaWRlIGRvdWJsZS1xdW90ZWQgJHsuLi59IGJlCisJCSByZW1vdmVkLiAqLworCSAgICAgIGlmIChxdW90ZWQgJiAoUV9IRVJFX0RPQ1VNRU5UfFFfRE9VQkxFX1FVT1RFUykpCisJCXF1b3RlZCB8PSBRX0RPTEJSQUNFOwogCSAgICAgIHJldCA9IHBhcmFtZXRlcl9icmFjZV9leHBhbmRfcmhzIChuYW1lLCB2YWx1ZSwgYywgcXVvdGVkLAogCQkJCQkJcXVvdGVkX2RvbGxhcl9hdHAsCiAJCQkJCQljb250YWluc19kb2xsYXJfYXQpOwpAQCAtNzIyNSwxMSArNzUzMiwxNCBAQAogCSAgICAgaXMgdW5zZXQsIHRoZSBwYXJhbWV0ZXJzIGFyZSBzZXBhcmF0ZWQgYnkgJyAnOyBpZiAkSUZTIGlzCiAJICAgICBudWxsLCB0aGUgcGFyYW1ldGVycyBhcmUgY29uY2F0ZW5hdGVkLiAqLwogCSAgdGVtcCA9IChxdW90ZWQgJiAoUV9ET1VCTEVfUVVPVEVTfFFfUEFUUVVPVEUpKSA/IHN0cmluZ19saXN0X2RvbGxhcl9zdGFyIChsaXN0KSA6IHN0cmluZ19saXN0IChsaXN0KTsKLQkgIHRlbXAxID0gcXVvdGVfc3RyaW5nICh0ZW1wKTsKLQkgIGlmICgqdGVtcCA9PSAwKQotCSAgICB0ZmxhZyB8PSBXX0hBU1FVT1RFRE5VTEw7Ci0JICBmcmVlICh0ZW1wKTsKLQkgIHRlbXAgPSB0ZW1wMTsKKwkgIGlmICh0ZW1wKQorCSAgICB7CisJICAgICAgdGVtcDEgPSBxdW90ZV9zdHJpbmcgKHRlbXApOworCSAgICAgIGlmICgqdGVtcCA9PSAwKQorCQl0ZmxhZyB8PSBXX0hBU1FVT1RFRE5VTEw7CisJICAgICAgZnJlZSAodGVtcCk7CisJICAgICAgdGVtcCA9IHRlbXAxOworCSAgICB9CiAJfQogICAgICAgZWxzZQogCXsKQEAgLTc4NzgsNyArODE4OCwxMyBAQAogCSAgZWxzZQogCSAgICB0ZmxhZyA9IDA7CiAKLQkgIGlmICgocXVvdGVkICYgKFFfSEVSRV9ET0NVTUVOVHxRX0RPVUJMRV9RVU9URVMpKSAmJiAoKHNoX3N5bnRheHRhYltjXSAmIHRmbGFnKSA9PSAwKSkKKwkgIC8qIEZyb20gUG9zaXggZGlzY3Vzc2lvbiBvbiBhdXN0aW4tZ3JvdXAgbGlzdDogIEJhY2tzbGFzaCBlc2NhcGluZworCSAgICAgYSB9IGluICR7Li4ufSBpcyByZW1vdmVkLiAgSXNzdWUgMDAwMDIyMSAqLworCSAgaWYgKChxdW90ZWQgJiBRX0RPTEJSQUNFKSAmJiBjID09IFJCUkFDRSkKKwkgICAgeworCSAgICAgIFNDT1BZX0NIQVJfSSAodHdvY2hhcnMsIENUTEVTQywgYywgc3RyaW5nLCBzaW5kZXgsIHN0cmluZ19zaXplKTsKKwkgICAgfQorCSAgZWxzZSBpZiAoKHF1b3RlZCAmIChRX0hFUkVfRE9DVU1FTlR8UV9ET1VCTEVfUVVPVEVTKSkgJiYgKChzaF9zeW50YXh0YWJbY10gJiB0ZmxhZykgPT0gMCkpCiAJICAgIHsKIAkgICAgICBTQ09QWV9DSEFSX0kgKHR3b2NoYXJzLCAnXFwnLCBjLCBzdHJpbmcsIHNpbmRleCwgc3RyaW5nX3NpemUpOwogCSAgICB9CkBAIC03OTk3LDcgKzgzMTMsNyBAQAogCSAgICAgIGlmIChsaXN0LT5uZXh0KQogCQl7CiAjaWYgMAotCQkgIGlmIChxdW90ZWRfZG9sbGFyX2F0ICYmIHdvcmQtPmZsYWdzICYgV19OT1NQTElUMikKKwkJICBpZiAocXVvdGVkX2RvbGxhcl9hdCAmJiAod29yZC0+ZmxhZ3MgJiBXX05PU1BMSVQyKSkKIAkJICAgIHRlbXAgPSBzdHJpbmdfbGlzdF9pbnRlcm5hbCAocXVvdGVfbGlzdCAobGlzdCksICIgIik7CiAJCSAgZWxzZQogI2VuZGlmCkBAIC04MDM3LDcgKzgzNTMsNyBAQAogCiAJICAvKiBXZSBkbyBub3Qgd2FudCB0byBhZGQgcXVvdGVkIG51bGxzIHRvIHN0cmluZ3MgdGhhdCBhcmUgb25seQogCSAgICAgcGFydGlhbGx5IHF1b3RlZDsgd2UgY2FuIHRocm93IHRoZW0gYXdheS4gKi8KLQkgIGlmICh0ZW1wID09IDAgJiYgcXVvdGVkX3N0YXRlID09IFBBUlRJQUxMWV9RVU9URUQpCisJICBpZiAodGVtcCA9PSAwICYmIHF1b3RlZF9zdGF0ZSA9PSBQQVJUSUFMTFlfUVVPVEVEICYmICh3b3JkLT5mbGFncyAmIChXX05PU1BMSVR8V19OT1NQTElUMikpKQogCSAgICBjb250aW51ZTsKIAogCWFkZF9xdW90ZWRfc3RyaW5nOgpAQCAtODg3NSw3ICs5MTkxLDcgQEAKIAkgIGlmICh0bGlzdC0+d29yZC0+ZmxhZ3MgJiBXX0FTU0lHTkFTU09DKQogCSAgICBtYWtlX2ludGVybmFsX2RlY2xhcmUgKHRsaXN0LT53b3JkLT53b3JkLCAiLUEiKTsKIAotCSAgdCA9IGRvX3dvcmRfYXNzaWdubWVudCAodGxpc3QtPndvcmQpOworCSAgdCA9IGRvX3dvcmRfYXNzaWdubWVudCAodGxpc3QtPndvcmQsIDApOwogCSAgaWYgKHQgPT0gMCkKIAkgICAgewogCSAgICAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gRVhFQ1VUSU9OX0ZBSUxVUkU7CkBAIC04OTc1LDcgKzkyOTEsNyBAQAogCSAgICAgIGZvciAodGVtcF9saXN0ID0gc3Vic3RfYXNzaWduX3Zhcmxpc3Q7IHRlbXBfbGlzdDsgdGVtcF9saXN0ID0gdGVtcF9saXN0LT5uZXh0KQogCQl7CiAJCSAgdGhpc19jb21tYW5kX25hbWUgPSAoY2hhciAqKU5VTEw7CS8qIG5vIGFyaXRobWV0aWMgZXJyb3JzICovCi0JCSAgdGludCA9IGRvX3dvcmRfYXNzaWdubWVudCAodGVtcF9saXN0LT53b3JkKTsKKwkJICB0aW50ID0gZG9fd29yZF9hc3NpZ25tZW50ICh0ZW1wX2xpc3QtPndvcmQsIDApOwogCQkgIC8qIFZhcmlhYmxlIGFzc2lnbm1lbnQgZXJyb3JzIGluIG5vbi1pbnRlcmFjdGl2ZSBzaGVsbHMKIAkJICAgICBydW5uaW5nIGluIFBvc2l4LjIgbW9kZSBjYXVzZSB0aGUgc2hlbGwgdG8gZXhpdC4gKi8KIAkJICBpZiAodGludCA9PSAwKQpAQCAtOTAyNCw2ICs5MzQwLDcgQEAKICAgaWYgKChlZmxhZ3MgJiBXRVhQX1ZBUkFTU0lHTikgJiYgc3Vic3RfYXNzaWduX3Zhcmxpc3QpCiAgICAgewogICAgICAgc2hfd2Fzc2lnbl9mdW5jX3QgKmFzc2lnbl9mdW5jOworICAgICAgaW50IGlzX3NwZWNpYWxfYnVpbHRpbiwgaXNfYnVpbHRpbl9vcl9mdW5jOwogCiAgICAgICAvKiBJZiB0aGUgcmVtYWluZGVyIG9mIHRoZSB3b3JkcyBleHBhbmQgdG8gbm90aGluZywgUG9zaXguMiByZXF1aXJlcwogCSB0aGF0IHRoZSB2YXJpYWJsZSBhbmQgZW52aXJvbm1lbnQgYXNzaWdubWVudHMgYWZmZWN0IHRoZSBzaGVsbCdzCkBAIC05MDMxLDExICs5MzQ4LDE2IEBACiAgICAgICBhc3NpZ25fZnVuYyA9IG5ld19saXN0ID8gYXNzaWduX2luX2VudiA6IGRvX3dvcmRfYXNzaWdubWVudDsKICAgICAgIHRlbXBlbnZfYXNzaWduX2Vycm9yID0gMDsKIAorICAgICAgaXNfYnVpbHRpbl9vcl9mdW5jID0gKG5ld19saXN0ICYmIG5ld19saXN0LT53b3JkICYmIChmaW5kX3NoZWxsX2J1aWx0aW4gKG5ld19saXN0LT53b3JkLT53b3JkKSB8fCBmaW5kX2Z1bmN0aW9uIChuZXdfbGlzdC0+d29yZC0+d29yZCkpKTsKKyAgICAgIC8qIFBvc2l4IHNheXMgdGhhdCBzcGVjaWFsIGJ1aWx0aW5zIGV4aXQgaWYgYSB2YXJpYWJsZSBhc3NpZ25tZW50IGVycm9yCisJIG9jY3VycyBpbiBhbiBhc3NpZ25tZW50IHByZWNlZGluZyBpdC4gKi8KKyAgICAgIGlzX3NwZWNpYWxfYnVpbHRpbiA9IChwb3NpeGx5X2NvcnJlY3QgJiYgbmV3X2xpc3QgJiYgbmV3X2xpc3QtPndvcmQgJiYgZmluZF9zcGVjaWFsX2J1aWx0aW4gKG5ld19saXN0LT53b3JkLT53b3JkKSk7CisgICAgICAKICAgICAgIGZvciAodGVtcF9saXN0ID0gc3Vic3RfYXNzaWduX3Zhcmxpc3Q7IHRlbXBfbGlzdDsgdGVtcF9saXN0ID0gdGVtcF9saXN0LT5uZXh0KQogCXsKIAkgIHRoaXNfY29tbWFuZF9uYW1lID0gKGNoYXIgKilOVUxMOwogCSAgYXNzaWduaW5nX2luX2Vudmlyb25tZW50ID0gKGFzc2lnbl9mdW5jID09IGFzc2lnbl9pbl9lbnYpOwotCSAgdGludCA9ICgqYXNzaWduX2Z1bmMpICh0ZW1wX2xpc3QtPndvcmQpOworCSAgdGludCA9ICgqYXNzaWduX2Z1bmMpICh0ZW1wX2xpc3QtPndvcmQsIGlzX2J1aWx0aW5fb3JfZnVuYyk7CiAJICBhc3NpZ25pbmdfaW5fZW52aXJvbm1lbnQgPSAwOwogCSAgLyogVmFyaWFibGUgYXNzaWdubWVudCBlcnJvcnMgaW4gbm9uLWludGVyYWN0aXZlIHNoZWxscyBydW5uaW5nCiAJICAgICBpbiBQb3NpeC4yIG1vZGUgY2F1c2UgdGhlIHNoZWxsIHRvIGV4aXQuICovCkBAIC05MDQ0LDcgKzkzNjYsNyBAQAogCSAgICAgIGlmIChhc3NpZ25fZnVuYyA9PSBkb193b3JkX2Fzc2lnbm1lbnQpCiAJCXsKIAkJICBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IEVYRUNVVElPTl9GQUlMVVJFOwotCQkgIGlmIChpbnRlcmFjdGl2ZV9zaGVsbCA9PSAwICYmIHBvc2l4bHlfY29ycmVjdCkKKwkJICBpZiAoaW50ZXJhY3RpdmVfc2hlbGwgPT0gMCAmJiBwb3NpeGx5X2NvcnJlY3QgJiYgaXNfc3BlY2lhbF9idWlsdGluKQogCQkgICAgZXhwX2p1bXBfdG9fdG9wX2xldmVsIChGT1JDRV9FT0YpOwogCQkgIGVsc2UKIAkJICAgIGV4cF9qdW1wX3RvX3RvcF9sZXZlbCAoRElTQ0FSRCk7CmRpZmYgLS1naXQgYS9zdWJzdC5oIGIvc3Vic3QuaAppbmRleCA3NjI4OTM5Li5hZTM4OGZkIDEwMDY0NAotLS0gYS9zdWJzdC5oCisrKyBiL3N1YnN0LmgKQEAgLTEsNiArMSw2IEBACiAvKiBzdWJzdC5oIC0tIE5hbWVzIG9mIGV4dGVybmFsbHkgdmlzaWJsZSBmdW5jdGlvbnMgaW4gc3Vic3QuYy4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTkzLTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5OTMtMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTMwLDcgKzMwLDggQEAKICAgIGRlY2lkZSB3aGV0aGVyIHRvIHJldGFpbiB0aGUgYmFja3NsYXNoLiAgUV9LRUVQX0JBQ0tTTEFTSCBtZWFucwogICAgdG8gdW5jb25kaXRpb25hbGx5IHJldGFpbiB0aGUgYmFja3NsYXNoLiAgUV9QQVRRVU9URSBtZWFucyB0aGF0IHdlJ3JlCiAgICBleHBhbmRpbmcgYSBwYXR0ZXJuICR7dmFyJSNbIyVdcGF0dGVybn0gaW4gYW4gZXhwYW5zaW9uIHN1cnJvdW5kZWQKLSAgIGJ5IGRvdWJsZSBxdW90ZXMuICovCisgICBieSBkb3VibGUgcXVvdGVzLiBRX0RPTEJSQUNFIG1lYW5zIHdlIGFyZSBleHBhbmRpbmcgYSAkey4uLn0gd29yZCwgc28KKyAgIGJhY2tzbGFzaGVzIHNob3VsZCBhbHNvIGVzY2FwZSB7IGFuZCB9IGFuZCBiZSByZW1vdmVkLiAqLwogI2RlZmluZSBRX0RPVUJMRV9RVU9URVMgIDB4MDEKICNkZWZpbmUgUV9IRVJFX0RPQ1VNRU5UICAweDAyCiAjZGVmaW5lIFFfS0VFUF9CQUNLU0xBU0ggMHgwNApAQCAtMzgsNiArMzksNyBAQAogI2RlZmluZSBRX1FVT1RFRAkgMHgxMAogI2RlZmluZSBRX0FEREVEUVVPVEVTCSAweDIwCiAjZGVmaW5lIFFfUVVPVEVETlVMTAkgMHg0MAorI2RlZmluZSBRX0RPTEJSQUNFCSAweDgwCiAKIC8qIEZsYWcgdmFsdWVzIGNvbnRyb2xsaW5nIGhvdyBhc3NpZ25tZW50IHN0YXRlbWVudHMgYXJlIHRyZWF0ZWQuICovCiAjZGVmaW5lIEFTU19BUFBFTkQJMHgwMQpAQCAtNDUsMTQgKzQ3LDE1IEBACiAjZGVmaW5lIEFTU19NS0FTU09DCTB4MDQKIAogLyogRmxhZ3MgZm9yIHRoZSBzdHJpbmcgZXh0cmFjdGlvbiBmdW5jdGlvbnMuICovCi0jZGVmaW5lIFNYX05PQUxMT0MJMHgwMQkvKiBqdXN0IHNraXA7IGRvbid0IHJldHVybiBzdWJzdHJpbmcgKi8KLSNkZWZpbmUgU1hfVkFSTkFNRQkweDAyCS8qIHZhcmlhYmxlIG5hbWU7IGZvciBzdHJpbmdfZXh0cmFjdCAoKSAqLwotI2RlZmluZSBTWF9SRVFNQVRDSAkweDA0CS8qIGNsb3NpbmcvbWF0Y2hpbmcgZGVsaW1pdGVyIHJlcXVpcmVkICovCi0jZGVmaW5lIFNYX0NPTU1BTkQJMHgwOAkvKiBleHRyYWN0aW5nIGEgc2hlbGwgc2NyaXB0L2NvbW1hbmQgKi8KLSNkZWZpbmUgU1hfTk9DVExFU0MJMHgxMAkvKiBkb24ndCBob25vciBDVExFU0MgcXVvdGluZyAqLwotI2RlZmluZSBTWF9OT0VTQ0NUTE5VTAkweDIwCS8qIGRvbid0IGxldCBDVExFU0MgcXVvdGUgQ1RMTlVMICovCi0jZGVmaW5lIFNYX05PTE9OR0pNUAkweDQwCS8qIGRvbid0IGxvbmdqbXAgb24gZmF0YWwgZXJyb3IgKi8KLSNkZWZpbmUgU1hfQVJJVEhTVUIJMHg4MAkvKiBleHRyYWN0aW5nICQoKCAuLi4gKSkgKGN1cnJlbnRseSB1bnVzZWQpICovCisjZGVmaW5lIFNYX05PQUxMT0MJMHgwMDAxCS8qIGp1c3Qgc2tpcDsgZG9uJ3QgcmV0dXJuIHN1YnN0cmluZyAqLworI2RlZmluZSBTWF9WQVJOQU1FCTB4MDAwMgkvKiB2YXJpYWJsZSBuYW1lOyBmb3Igc3RyaW5nX2V4dHJhY3QgKCkgKi8KKyNkZWZpbmUgU1hfUkVRTUFUQ0gJMHgwMDA0CS8qIGNsb3NpbmcvbWF0Y2hpbmcgZGVsaW1pdGVyIHJlcXVpcmVkICovCisjZGVmaW5lIFNYX0NPTU1BTkQJMHgwMDA4CS8qIGV4dHJhY3RpbmcgYSBzaGVsbCBzY3JpcHQvY29tbWFuZCAqLworI2RlZmluZSBTWF9OT0NUTEVTQwkweDAwMTAJLyogZG9uJ3QgaG9ub3IgQ1RMRVNDIHF1b3RpbmcgKi8KKyNkZWZpbmUgU1hfTk9FU0NDVExOVUwJMHgwMDIwCS8qIGRvbid0IGxldCBDVExFU0MgcXVvdGUgQ1RMTlVMICovCisjZGVmaW5lIFNYX05PTE9OR0pNUAkweDAwNDAJLyogZG9uJ3QgbG9uZ2ptcCBvbiBmYXRhbCBlcnJvciAqLworI2RlZmluZSBTWF9BUklUSFNVQgkweDAwODAJLyogZXh0cmFjdGluZyAkKCggLi4uICkpIChjdXJyZW50bHkgdW51c2VkKSAqLworI2RlZmluZSBTWF9QT1NJWEVYUAkweDAxMDAJLyogZXh0cmFjdGluZyBuZXcgUG9zaXggcGF0dGVybiByZW1vdmFsIGV4cGFuc2lvbnMgaW4gZXh0cmFjdF9kb2xsYXJfYnJhY2Vfc3RyaW5nICovCiAKIC8qIFJlbW92ZSBiYWNrc2xhc2hlcyB3aGljaCBhcmUgcXVvdGluZyBiYWNrcXVvdGVzIGZyb20gU1RSSU5HLiAgTW9kaWZpZXMKICAgIFNUUklORywgYW5kIHJldHVybnMgYSBwb2ludGVyIHRvIGl0LiAqLwpAQCAtMTIxLDcgKzEyNCw3IEBACiAgICBzcGxpdHRpbmcgb24gdGhlIHJlc3VsdCBvZiBleHBhbnNpb24uICovCiBleHRlcm4gaW50IGRvX2Fzc2lnbm1lbnQgX19QKChjaGFyICopKTsKIGV4dGVybiBpbnQgZG9fYXNzaWdubWVudF9ub19leHBhbmQgX19QKChjaGFyICopKTsKLWV4dGVybiBpbnQgZG9fd29yZF9hc3NpZ25tZW50IF9fUCgoV09SRF9ERVNDICopKTsKK2V4dGVybiBpbnQgZG9fd29yZF9hc3NpZ25tZW50IF9fUCgoV09SRF9ERVNDICosIGludCkpOwogCiAvKiBBcHBlbmQgU09VUkNFIHRvIFRBUkdFVCBhdCBJTkRFWC4gIFNJWkUgaXMgdGhlIGN1cnJlbnQgYW1vdW50CiAgICBvZiBzcGFjZSBhbGxvY2F0ZWQgdG8gVEFSR0VULiAgU09VUkNFIGNhbiBiZSBOVUxMLCBpbiB3aGljaApAQCAtMjUxLDcgKzI1NCwxMyBAQAogZXh0ZXJuIGNoYXIgKnBhdF9zdWJzdCBfX1AoKGNoYXIgKiwgY2hhciAqLCBjaGFyICosIGludCkpOwogCiBleHRlcm4gaW50IGZpZm9zX3BlbmRpbmcgX19QKCh2b2lkKSk7CitleHRlcm4gaW50IG51bV9maWZvcyBfX1AoKHZvaWQpKTsKIGV4dGVybiB2b2lkIHVubGlua19maWZvX2xpc3QgX19QKCh2b2lkKSk7CitleHRlcm4gdm9pZCB1bmxpbmtfZmlmbyBfX1AoKGludCkpOworCitleHRlcm4gY2hhciAqY29weV9maWZvX2xpc3QgX19QKChpbnQgKikpOworZXh0ZXJuIHZvaWQgdW5saW5rX25ld19maWZvcyBfX1AoKGNoYXIgKiwgaW50KSk7CitleHRlcm4gdm9pZCBjbG9zZV9uZXdfZmlmb3MgX19QKChjaGFyICosIGludCkpOwogCiBleHRlcm4gV09SRF9MSVNUICpsaXN0X3N0cmluZ193aXRoX3F1b3RlcyBfX1AoKGNoYXIgKikpOwogCkBAIC0yNjksNiArMjc4LDcgQEAKICNkZWZpbmUgU0RfSU5WRVJUCTB4MDIJLyogbG9vayBmb3IgY2hhcnMgTk9UIGluIHBhc3NlZCBzZXQgKi8KICNkZWZpbmUgU0RfTk9RVU9URURFTElNCTB4MDQJLyogZG9uJ3QgbGV0IHNpbmdsZSBvciBkb3VibGUgcXVvdGVzIGFjdCBhcyBkZWxpbWl0ZXJzICovCiAjZGVmaW5lIFNEX05PU0tJUENNRAkweDA4CS8qIGRvbid0IHNraXAgb3ZlciAkKCwgPCgsIG9yID4oIGNvbW1hbmQvcHJvY2VzcyBzdWJzdGl0dXRpb24gKi8KKyNkZWZpbmUgU0RfRVhUR0xPQgkweDEwCS8qIHNraXAgb3ZlciBleHRlbmRlZCBnbG9iYmluZyBwYXR0ZXJucyBpZiBhcHByb3ByaWF0ZSAqLwogCiBleHRlcm4gaW50IHNraXBfdG9fZGVsaW0gX19QKChjaGFyICosIGludCwgY2hhciAqLCBpbnQpKTsKIApkaWZmIC0tZ2l0IGEvc3VwcG9ydC9zaWduYW1lcy5jIGIvc3VwcG9ydC9zaWduYW1lcy5jCmluZGV4IDEzNzgyNmYuLmFiYmNkMWUgMTAwNjQ0Ci0tLSBhL3N1cHBvcnQvc2lnbmFtZXMuYworKysgYi9zdXBwb3J0L3NpZ25hbWVzLmMKQEAgLTE5MiwyNiArMTkyLDM0IEBACiAjZW5kaWYKIAogLyogU3VuT1M1ICovCi0jaWYgZGVmaW5lZCAoU0lHTFdQKQkvKiBzcGVjaWFsIHNpZ25hbCB1c2VkIGJ5IHRocmVhZCBsaWJyYXJ5ICovCisjaWYgZGVmaW5lZCAoU0lHTFdQKQkvKiBTb2xhcmlzOiBzcGVjaWFsIHNpZ25hbCB1c2VkIGJ5IHRocmVhZCBsaWJyYXJ5ICovCiAgIHNpZ25hbF9uYW1lc1tTSUdMV1BdID0gIlNJR0xXUCI7CiAjZW5kaWYKIAotI2lmIGRlZmluZWQgKFNJR0ZSRUVaRSkJLyogc3BlY2lhbCBzaWduYWwgdXNlZCBieSBDUFIgKi8KKyNpZiBkZWZpbmVkIChTSUdGUkVFWkUpCS8qIFNvbGFyaXM6IHNwZWNpYWwgc2lnbmFsIHVzZWQgYnkgQ1BSICovCiAgIHNpZ25hbF9uYW1lc1tTSUdGUkVFWkVdID0gIlNJR0ZSRUVaRSI7CiAjZW5kaWYKIAotI2lmIGRlZmluZWQgKFNJR1RIQVcpCS8qIHNwZWNpYWwgc2lnbmFsIHVzZWQgYnkgQ1BSICovCisjaWYgZGVmaW5lZCAoU0lHVEhBVykJLyogU29sYXJpczogc3BlY2lhbCBzaWduYWwgdXNlZCBieSBDUFIgKi8KICAgc2lnbmFsX25hbWVzW1NJR1RIQVddID0gIlNJR1RIQVciOwogI2VuZGlmCiAKLSNpZiBkZWZpbmVkIChTSUdDQU5DRUwpCS8qIHRocmVhZCBjYW5jZWxsYXRpb24gc2lnbmFsIHVzZWQgYnkgbGlidGhyZWFkICovCisjaWYgZGVmaW5lZCAoU0lHQ0FOQ0VMKQkvKiBTb2xhcmlzOiB0aHJlYWQgY2FuY2VsbGF0aW9uIHNpZ25hbCB1c2VkIGJ5IGxpYnRocmVhZCAqLwogICBzaWduYWxfbmFtZXNbU0lHQ0FOQ0VMXSA9ICJTSUdDQU5DRUwiOwogI2VuZGlmCiAKLSNpZiBkZWZpbmVkIChTSUdYUkVTKQkvKiByZXNvdXJjZSBjb250cm9sIGV4Y2VlZGVkICovCisjaWYgZGVmaW5lZCAoU0lHWFJFUykJLyogU29sYXJpczogcmVzb3VyY2UgY29udHJvbCBleGNlZWRlZCAqLwogICBzaWduYWxfbmFtZXNbU0lHWFJFU10gPSAiU0lHWFJFUyI7CiAjZW5kaWYKIAorI2lmIGRlZmluZWQgKFNJR0pWTTEpCS8qIFNvbGFyaXM6IEphdmEgVmlydHVhbCBNYWNoaW5lIDEgKi8KKyAgc2lnbmFsX25hbWVzW1NJR0pWTTFdID0gIlNJR0pWTTEiOworI2VuZGlmCisKKyNpZiBkZWZpbmVkIChTSUdKVk0yKQkvKiBTb2xhcmlzOiBKYXZhIFZpcnR1YWwgTWFjaGluZSAyICovCisgIHNpZ25hbF9uYW1lc1tTSUdKVk0yXSA9ICJTSUdKVk0yIjsKKyNlbmRpZgorCiAvKiBIUC1VWCAqLwogI2lmIGRlZmluZWQgKFNJR0RJTCkJLyogRElMIHNpZ25hbCAoPykgKi8KICAgc2lnbmFsX25hbWVzW1NJR0RJTF0gPSAiU0lHRElMIjsKZGlmZiAtLWdpdCBhL3Rlc3QuYyBiL3Rlc3QuYwppbmRleCAxODA5NDBjLi5lMGNjMTlkIDEwMDY0NAotLS0gYS90ZXN0LmMKKysrIGIvdGVzdC5jCkBAIC0yLDcgKzIsNyBAQAogCiAvKiBNb2RpZmllZCB0byBydW4gd2l0aCB0aGUgR05VIHNoZWxsIEFwciAyNSwgMTk4OCBieSBiZm94LiAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDE5ODctMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtNDk4LDYgKzQ5OCw3IEBACiB7CiAgIGludG1heF90IHI7CiAgIHN0cnVjdCBzdGF0IHN0YXRfYnVmOworICBTSEVMTF9WQVIgKnY7CiAgICAgIAogICBzd2l0Y2ggKG9wWzFdKQogICAgIHsKQEAgLTU5OSw2ICs2MDAsMTAgQEAKIAogICAgIGNhc2UgJ28nOgkJCS8qIFRydWUgaWYgb3B0aW9uIGBhcmcnIGlzIHNldC4gKi8KICAgICAgIHJldHVybiAobWludXNfb19vcHRpb25fdmFsdWUgKGFyZykgPT0gMSk7CisKKyAgICBjYXNlICd2JzoKKyAgICAgIHYgPSBmaW5kX3ZhcmlhYmxlIChhcmcpOworICAgICAgcmV0dXJuICh2ICYmIHZhcl9pc3NldCAodikgPyBUUlVFIDogRkFMU0UpOwogICAgIH0KIAogICAvKiBXZSBjYW4ndCBhY3R1YWxseSBnZXQgaGVyZSwgYnV0IHRoaXMgc2h1dHMgdXAgZ2NjLiAqLwpAQCAtNjcyLDcgKzY3Nyw3IEBACiAgICAgY2FzZSAnYSc6IGNhc2UgJ2InOiBjYXNlICdjJzogY2FzZSAnZCc6IGNhc2UgJ2UnOgogICAgIGNhc2UgJ2YnOiBjYXNlICdnJzogY2FzZSAnaCc6IGNhc2UgJ2snOiBjYXNlICduJzoKICAgICBjYXNlICdvJzogY2FzZSAncCc6IGNhc2UgJ3InOiBjYXNlICdzJzogY2FzZSAndCc6Ci0gICAgY2FzZSAndSc6IGNhc2UgJ3cnOiBjYXNlICd4JzogY2FzZSAneic6CisgICAgY2FzZSAndSc6IGNhc2UgJ3YnOiBjYXNlICd3JzogY2FzZSAneCc6IGNhc2UgJ3onOgogICAgIGNhc2UgJ0cnOiBjYXNlICdMJzogY2FzZSAnTyc6IGNhc2UgJ1MnOiBjYXNlICdOJzoKICAgICAgIHJldHVybiAoMSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvdGVzdHMvYWxpYXMxLnN1YiBiL3Rlc3RzL2FsaWFzMS5zdWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQwMzAzMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2FsaWFzMS5zdWIKQEAgLTAsMCArMSwyMCBAQAorc2hvcHQgLXMgZXhwYW5kX2FsaWFzZXMKKworYWxpYXMgZm9vPWVjaG8KKworPCAvZGV2L251bGwgZm9vIGJhcgorCis8IC9kZXYvbnVsbCB4PXZhbHVlCitlY2hvICR4CisKKzwgL2Rldi9udWxsIHg9bmV3dmFsdWUgZm9vIGJhcgorZWNobyAkeAorCisjIHByb2JsZW0gcmVwb3J0ZWQgYnkgVmluY2VudCBMZWZldnJlCithbGlhcyBhPSJlY2hvIE9LID4mMiIKK2EKKz4gL2Rldi9udWxsIGEKKworJHtUSElTX1NIfSAtYyAnc2hvcHQgLXMgZXhwYW5kX2FsaWFzZXM7IGFsaWFzIGE9ImVjaG8gT0sgPiYyIgorIGEKKyA+IC9kZXYvbnVsbCBhJwpkaWZmIC0tZ2l0IGEvdGVzdHMvYXJpdGgucmlnaHQgYi90ZXN0cy9hcml0aC5yaWdodAppbmRleCA1MWQ3NDBlLi45NGU1ZjYxIDEwMDY0NAotLS0gYS90ZXN0cy9hcml0aC5yaWdodAorKysgYi90ZXN0cy9hcml0aC5yaWdodApAQCAtMTkxLDE0ICsxOTEsMjggQEAKIC03CiA3CiA3CisxCisxCis0Cis1CistMworMgorNAorNTAwMAorNTAwMAorMQorMAorMAorMQorMjE0NzQ4MzY0OQogOCAxMgotLi9hcml0aC50ZXN0czogbGluZSAyNzQ6ICgoOiB4PTkgeT00MSA6IHN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIChlcnJvciB0b2tlbiBpcyAieT00MSAiKQotLi9hcml0aC50ZXN0czogbGluZSAyNzg6IGEgYjogc3ludGF4IGVycm9yIGluIGV4cHJlc3Npb24gKGVycm9yIHRva2VuIGlzICJiIikKLS4vYXJpdGgudGVzdHM6IGxpbmUgMjc5OiAoKDogYSBiOiBzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiAoZXJyb3IgdG9rZW4gaXMgImIiKQorLi9hcml0aC50ZXN0czogbGluZSAyNzk6ICgoOiB4PTkgeT00MSA6IHN5bnRheCBlcnJvciBpbiBleHByZXNzaW9uIChlcnJvciB0b2tlbiBpcyAieT00MSAiKQorLi9hcml0aC50ZXN0czogbGluZSAyODM6IGEgYjogc3ludGF4IGVycm9yIGluIGV4cHJlc3Npb24gKGVycm9yIHRva2VuIGlzICJiIikKKy4vYXJpdGgudGVzdHM6IGxpbmUgMjg0OiAoKDogYSBiOiBzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiAoZXJyb3IgdG9rZW4gaXMgImIiKQogNDIKIDQyCiA0MgogNDIKIDQyCiA0MgotLi9hcml0aC50ZXN0czogbGluZSAyOTA6IGJbY11kOiBzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiAoZXJyb3IgdG9rZW4gaXMgImQiKQorLi9hcml0aC50ZXN0czogbGluZSAyOTU6IGJbY11kOiBzeW50YXggZXJyb3IgaW4gZXhwcmVzc2lvbiAoZXJyb3IgdG9rZW4gaXMgImQiKQpkaWZmIC0tZ2l0IGEvdGVzdHMvYXJpdGgudGVzdHMgYi90ZXN0cy9hcml0aC50ZXN0cwppbmRleCA5ZTgyYmIxLi44NmMyNGE0IDEwMDY0NAotLS0gYS90ZXN0cy9hcml0aC50ZXN0cworKysgYi90ZXN0cy9hcml0aC50ZXN0cwpAQCAtMjYyLDYgKzI2MiwxMSBAQAogCiAke1RISVNfU0h9IC4vYXJpdGgxLnN1YgogJHtUSElTX1NIfSAuL2FyaXRoMi5zdWIKKyR7VEhJU19TSH0gLi9hcml0aDMuc3ViCiske1RISVNfU0h9IC4vYXJpdGg0LnN1YgorCisjIG1ha2Ugc3VyZSBhcml0aG1ldGljIGV4cGFuc2lvbiBoYW5kbGVzIGludHMgPiAyKiozMSAtIDEgdXNpbmcgaW50bWF4X3QKK2VjaG8gJCgoIDIxNDc0ODM2NDUgKyA0ICkpCiAKIHg9NAogeT03CmRpZmYgLS1naXQgYS90ZXN0cy9hcml0aDMuc3ViIGIvdGVzdHMvYXJpdGgzLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTEwYzczCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvYXJpdGgzLnN1YgpAQCAtMCwwICsxLDQ1IEBACitSQU5ET009NDIKKygoIGRpY2VbUkFORE9NJTYrMSArIFJBTkRPTSU2KzFdKysgKSkKK2VjaG8gJHtkaWNlWzVdfQorCisoKCArK2RpY2VbUkFORE9NJTYrMSArIFJBTkRPTSU2KzFdICkpCitlY2hvICR7ZGljZVs2XX0KKwordj00CitESU5EPTIwCisKKygoIGRpY2VbRElORCU2ICsgMV09diApKQorZWNobyAke2RpY2VbM119CisKK1JBTkRPTT00MgorCisoKCBkaWNlW1JBTkRPTSU2KzEgKyBSQU5ET00lNisxXSs9diApKQorZWNobyAke2RpY2VbNV19CisKKygoIGRpY2VbUkFORE9NJTYrMSArIFJBTkRPTSU2KzFdLT12ICkpCitlY2hvICR7ZGljZVs2XX0KKworKCggZGljZVtSQU5ET00lNisxICsgUkFORE9NJTYrMV0rPTIgKSkKK2VjaG8gJHtkaWNlWzExXX0KKworKCggZGljZVtSQU5ET00lNisxICsgUkFORE9NJTYrMV0qPTIgKSkKK2VjaG8gJHtkaWNlWzExXX0KKwordW5zZXQgZGljZTEgZGljZTIKK1JBTkRPTT00MgorCitmb3IgaSBpbiB7MS4uNTAwMH07IGRvICgoZGljZTFbJFJBTkRPTSU2KzEgKyAkUkFORE9NJTYrMV0rKykpOyBkb25lOwordW5zZXQgdDsgZm9yIGkgaW4gJHtkaWNlMVtAXX07IGRvICgodCs9aSkpOyBkb25lOyBlY2hvICR0CisKK2Zvbz0iJHtkaWNlMVtAXX0iCisKK1JBTkRPTT00MgorCitmb3IgaSBpbiB7MS4uNTAwMH07IGRvICgoZGljZTJbUkFORE9NJTYrMSArIFJBTkRPTSU2KzFdKyspKTsgZG9uZTsKK3Vuc2V0IHQ7IGZvciBpIGluICR7ZGljZTJbQF19OyBkbyAoKHQrPWkpKTsgZG9uZTsgZWNobyAkdAorCitiYXI9IiR7ZGljZTJbQF19IgorCitpZiBbICIkZm9vIiAhPSAiJGJhciIgXTsgdGhlbgorCWVjaG8gInJhbmRvbSBzZXF1ZW5jZXMgZGlmZmVyIgorZmkKZGlmZiAtLWdpdCBhL3Rlc3RzL2FyaXRoNC5zdWIgYi90ZXN0cy9hcml0aDQuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3NGRlZmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9hcml0aDQuc3ViCkBAIC0wLDAgKzEsMTAgQEAKK3g9JCgoICEhMSApKQorZWNobyAkeAorCit4PSQoKCAtISsxICkpCitlY2hvICR4CisKK3g9JCgoICstLSshITAgKSkKK2VjaG8gJHgKKworZWNobyAkKCggISErLSstfjAgKSkKZGlmZiAtLWdpdCBhL3Rlc3RzL2FycmF5LnJpZ2h0IGIvdGVzdHMvYXJyYXkucmlnaHQKaW5kZXggZmRjMDc5My4uOTRjNjRhNyAxMDA2NDQKLS0tIGEvdGVzdHMvYXJyYXkucmlnaHQKKysrIGIvdGVzdHMvYXJyYXkucmlnaHQKQEAgLTMxMiwzICszMTIsMzIgQEAKIGFyZ3ZbMV0gPSA8fj4KIGFyZ3ZbMl0gPSA8Xj8+CiBhcmd2WzNdID0gPIA+CitNb25kYXkgVHVlc2RheSBXZWRuZXNkYXkgVGh1cnNkYXkgRnJpZGF5IFNhdHVyZGF5IFN1bmRheQorTW9uZGF5CitNb25kYXkKK1R1ZXNkYXkKK01vbmRheQorTW9uZGF5CitUdWVzZGF5CitNb25kYXkKK1R1ZXNkYXkKK1dlZG5lc2RheQorTW9uZGF5CitUdWVzZGF5CitXZWRuZXNkYXkKK21vbmRheSwgbW9uZGF5LCB0dWVzZGF5Cit3ZWRuZXNkYXksIHdlZG5lc2RheSwgdGh1cnNkYXkKK21vbmRheSwgbW9uZGF5LCB0dWVzZGF5CitXZWRuZXNkYXksIFdlZG5lc2RheSwgVGh1cnNkYXkKK25kYXkKK2VzZGF5CitkbmVzZGF5CituZGF5Citlc2RheQorZG5lc2RheQorb25kYXkKK3Vlc2RheQorZWRuZXNkYXkKK29uZGF5Cit1ZXNkYXkKK2VkbmVzZGF5CmRpZmYgLS1naXQgYS90ZXN0cy9hcnJheS50ZXN0cyBiL3Rlc3RzL2FycmF5LnRlc3RzCmluZGV4IDQzNWFjMTUuLjNiNjk5NmQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2FycmF5LnRlc3RzCisrKyBiL3Rlc3RzL2FycmF5LnRlc3RzCkBAIC0zODYsMyArMzg2LDUgQEAKICR7VEhJU19TSH0gLi9hcnJheTguc3ViCiAKICR7VEhJU19TSH0gLi9hcnJheTkuc3ViCisKKyR7VEhJU19TSH0gLi9hcnJheTEwLnN1YgpkaWZmIC0tZ2l0IGEvdGVzdHMvYXJyYXkxMC5zdWIgYi90ZXN0cy9hcnJheTEwLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDVhOTRjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvYXJyYXkxMC5zdWIKQEAgLTAsMCArMSw1MiBAQAorZGF5cz0oe01vbixUdWVzLFdlZG5lcyxUaHVycyxGcmksU2F0dXIsU3VufWRheSkKK2VjaG8gJHtkYXlzW0BdfQorCit0eXBlc2V0IC1pIGNvdW50CisKK2NvdW50PTAKK2VjaG8gJHtkYXlzWyR7Y291bnR9XX0KK2VjaG8gJHtkYXlzWyQoKGNvdW50KyspKV19CitlY2hvICR7ZGF5c1skKChjb3VudCsrKSldfQorCitjb3VudD0wCitlY2hvICR7ZGF5c1tjb3VudF19CitlY2hvICR7ZGF5c1tjb3VudCsrXX0KK2VjaG8gJHtkYXlzW2NvdW50KytdfQorCitjb3VudD0wCitlY2hvICR7ZGF5c1skKChjb3VudCsrKSldL2Zvby9iYXJ9CitlY2hvICR7ZGF5c1skKChjb3VudCsrKSldL2Zvby9iYXJ9CitlY2hvICR7ZGF5c1skKChjb3VudCsrKSldL2Zvby9iYXJ9CisKK2NvdW50PTAKK2VjaG8gJHtkYXlzW2NvdW50KytdL2Zvby9iYXJ9CitlY2hvICR7ZGF5c1tjb3VudCsrXS9mb28vYmFyfQorZWNobyAke2RheXNbY291bnQrK10vZm9vL2Jhcn0KKworY291bnQ9MAorZWNobyAiJHtkYXlzWyR7Y291bnR9XSwsfSwgJHtkYXlzWyQoKGNvdW50KyspKV0sLH0sICR7ZGF5c1skKChjb3VudCsrKSldLCx9IgorZWNobyAiJHtkYXlzWyR7Y291bnR9XSwsfSwgJHtkYXlzWyQoKGNvdW50KyspKV0sLH0sICR7ZGF5c1skKChjb3VudCsrKSldLCx9IgorCitjb3VudD0wCitlY2hvICIke2RheXNbJHtjb3VudH1dLCx9LCAke2RheXNbJCgoY291bnQrKykpXSwsfSwgJHtkYXlzWyQoKGNvdW50KyspKV0sLH0iCitlY2hvICIke2RheXNbJHtjb3VudH1dL2Zvby9iYXJ9LCAke2RheXNbJCgoY291bnQrKykpXS9mb28vYmFyfSwgJHtkYXlzWyQoKGNvdW50KyspKV0vZm9vL2Jhcn0iCisKK2NvdW50PTAKK2VjaG8gJHtkYXlzWyQoKGNvdW50KyspKV06Mn0KK2VjaG8gJHtkYXlzWyQoKGNvdW50KyspKV06Mn0KK2VjaG8gJHtkYXlzWyQoKGNvdW50KyspKV06Mn0KKworY291bnQ9MAorZWNobyAke2RheXNbY291bnQrK106Mn0KK2VjaG8gJHtkYXlzW2NvdW50KytdOjJ9CitlY2hvICR7ZGF5c1tjb3VudCsrXToyfQorCitjb3VudD0wCitlY2hvICR7ZGF5c1skKChjb3VudCsrKSldIz99CitlY2hvICR7ZGF5c1skKChjb3VudCsrKSldIz99CitlY2hvICR7ZGF5c1skKChjb3VudCsrKSldIz99CisKK2NvdW50PTAKK2VjaG8gJHtkYXlzW2NvdW50KytdIz99CitlY2hvICR7ZGF5c1tjb3VudCsrXSM/fQorZWNobyAke2RheXNbY291bnQrK10jP30KZGlmZiAtLWdpdCBhL3Rlc3RzL2Fzc29jNS5zdWIgYi90ZXN0cy9hc3NvYzUuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwMGYzZDMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9hc3NvYzUuc3ViCkBAIC0wLDAgKzEsMjcgQEAKK2RlY2xhcmUgLUEgbXlhcnJheQorCisjIHRoaXMgbmVlZHMgZml4ZXMgdG8gc2tpcHN1YnNjcmlwdAorbXlhcnJheVsiYV1hIl09ImFiYyIKKworZWNobyAke215YXJyYXlbImFdYSJdfQorCitteWFycmF5WyQoZWNobyBdKV09ZGVmCisKK2VjaG8gJHtteWFycmF5WyddJ119CitlY2hvICR7bXlhcnJheVtcXV19CisKK2RlY2xhcmUgbXlhcnJheVsiZm9vW2JhciJdPWJsZWgKK215YXJyYXlbImZvbyJdPWJsZWgKKworZWNobyAiJHtteWFycmF5W0BdfSIKKworYmFyPSdhXT10ZXN0MTsjYScKK215YXJyYXlbJGJhcl09MTIzCisKK3NldCB8IGdyZXAgXm15YXJyYXk9CitlY2hvICR7bXlhcnJheVthXX0KKworZWNobyAiJHtteWFycmF5WydhXT10ZXN0MTsjYSddfSIKK215YXJyYXlbJ2FdPXRlc3QyOyNhJ109ImRlZiIKKworc2V0IHwgZ3JlcCBebXlhcnJheT0KZGlmZiAtLWdpdCBhL3Rlc3RzL2Fzc29jNi5zdWIgYi90ZXN0cy9hc3NvYzYuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0MTEyZWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9hc3NvYzYuc3ViCkBAIC0wLDAgKzEsMTQ2IEBACitkZWNsYXJlIC1BIGZvbworCitmb289KFtiYXJcImJpZV09ZG9sbCkKKworZWNobyAkeyFmb29bQF19CitlY2hvICR7Zm9vW0BdfQorCitkZWNsYXJlIC1wIGZvbworCit1bnNldCBmb28KK2RlY2xhcmUgLUEgZm9vPShbImJhclwiYmllIl09ImRvbGwiKQorCitlY2hvICR7IWZvb1tAXX0KK2VjaG8gJHtmb29bQF19CisKK2RlY2xhcmUgLXAgZm9vCisKK3Vuc2V0IGZvbworZGVjbGFyZSAtQSBmb28KKworZm9vPShbImJhclwiYmllIl09ImRvbGwiKQorCitlY2hvICR7IWZvb1tAXX0KK2VjaG8gJHtmb29bQF19CisKK2RlY2xhcmUgLXAgZm9vCisKK3Vuc2V0IGZvbworZGVjbGFyZSAtQSBmb28KKworZm9vWyJiYXJcImJpZSJdPSJkb2xsIgorCitlY2hvICR7IWZvb1tAXX0KK2VjaG8gJHtmb29bQF19CisKK2RlY2xhcmUgLXAgZm9vCisKK3Vuc2V0IGZvbworZGVjbGFyZSAtQSBmb28KKworZm9vW2JhclwiYmllXT0iZG9sbCIKKworZWNobyAkeyFmb29bQF19CitlY2hvICR7Zm9vW0BdfQorCitkZWNsYXJlIC1wIGZvbworCit1bnNldCBmb28KK2RlY2xhcmUgLUEgZm9vCisKK2Zvbz0oW2JhclwnYmllXT1kb2xsKQorCitlY2hvICR7IWZvb1tAXX0KK2VjaG8gJHtmb29bQF19CisKK2RlY2xhcmUgLXAgZm9vCisKK3Vuc2V0IGZvbworZGVjbGFyZSAtQSBmb289KFsiYmFyJ2JpZSJdPSJkb2xsIikKKworZWNobyAkeyFmb29bQF19CitlY2hvICR7Zm9vW0BdfQorCitkZWNsYXJlIC1wIGZvbworCit1bnNldCBmb28KK2RlY2xhcmUgLUEgZm9vCisKK2Zvbz0oWyJiYXInYmllIl09ImRvbGwiKQorCitlY2hvICR7IWZvb1tAXX0KK2VjaG8gJHtmb29bQF19CisKK2RlY2xhcmUgLXAgZm9vCisKK3Vuc2V0IGZvbworZGVjbGFyZSAtQSBmb28KKworZm9vWyJiYXInYmllIl09ImRvbGwiCisKK2VjaG8gJHshZm9vW0BdfQorZWNobyAke2Zvb1tAXX0KKworZGVjbGFyZSAtcCBmb28KKwordW5zZXQgZm9vCitkZWNsYXJlIC1BIGZvbworCitmb29bYmFyXCdiaWVdPSJkb2xsIgorCitlY2hvICR7IWZvb1tAXX0KK2VjaG8gJHtmb29bQF19CisKK2RlY2xhcmUgLXAgZm9vCisKK3Vuc2V0IGZvbworZGVjbGFyZSAtQSBmb28KKworZm9vPShbYmFyXCRiaWVdPWRvbGwpCisKK2VjaG8gJHshZm9vW0BdfQorZWNobyAke2Zvb1tAXX0KKworZGVjbGFyZSAtcCBmb28KKwordW5zZXQgZm9vCitkZWNsYXJlIC1BIGZvbz0oWyJiYXJbYmllIl09ImRvbGwiKQorCitlY2hvICR7IWZvb1tAXX0KK2VjaG8gJHtmb29bQF19CisKK2RlY2xhcmUgLXAgZm9vCisKK3Vuc2V0IGZvbworZGVjbGFyZSAtQSBmb28KKworZm9vPShbImJhclxgYmllIl09ImRvbGwiKQorCitlY2hvICR7IWZvb1tAXX0KK2VjaG8gJHtmb29bQF19CisKK2RlY2xhcmUgLXAgZm9vCisKK3Vuc2V0IGZvbworZGVjbGFyZSAtQSBmb28KKworIyB0aGlzIGRvZXNuJ3Qgd29yayByaWdodCB3aXRob3V0IHRoZSBiYWNrc2xhc2gKK2Zvb1siYmFyXF1iaWUiXT0iZG9sbCIKKworZWNobyAkeyFmb29bQF19CitlY2hvICR7Zm9vW0BdfQorCitkZWNsYXJlIC1wIGZvbworCit1bnNldCBmb28KK2RlY2xhcmUgLUEgZm9vCisKK2Zvb1tiYXJcJHtmb299YmllXT0iZG9sbCIKKworZWNobyAkeyFmb29bQF19CitlY2hvICR7Zm9vW0BdfQorCitkZWNsYXJlIC1wIGZvbworCit1bnNldCBmb28KK2RlY2xhcmUgLUEgZm9vCmRpZmYgLS1naXQgYS90ZXN0cy9icmFjZXMucmlnaHQgYi90ZXN0cy9icmFjZXMucmlnaHQKaW5kZXggYTAyYmZjNi4uNDAxNzU0NiAxMDA2NDQKLS0tIGEvdGVzdHMvYnJhY2VzLnJpZ2h0CisrKyBiL3Rlc3RzL2JyYWNlcy5yaWdodApAQCAtNTcsNiArNTcsNyBAQAogYSBiIGMgZCBlIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcyB0IHUgdiB3IHggeSB6CiBhIGMgZSBnIGkgayBtIG8gcSBzIHUgdyB5CiB6IHggdiB0IHIgcCBuIGwgaiBoIGYgZCBiCisyMTQ3NDgzNjQ1IDIxNDc0ODM2NDYgMjE0NzQ4MzY0NyAyMTQ3NDgzNjQ4IDIxNDc0ODM2NDkKIDEwIDggNiA0IDIgMAogMTAgOCA2IDQgMiAwCiAtNTAgLTQ1IC00MCAtMzUgLTMwIC0yNSAtMjAgLTE1IC0xMCAtNSAwCmRpZmYgLS1naXQgYS90ZXN0cy9icmFjZXMudGVzdHMgYi90ZXN0cy9icmFjZXMudGVzdHMKaW5kZXggYzJiMTUzZS4uYTgwY2Y0NSAxMDA2NDQKLS0tIGEvdGVzdHMvYnJhY2VzLnRlc3RzCisrKyBiL3Rlc3RzL2JyYWNlcy50ZXN0cwpAQCAtOTQsNiArOTQsOSBAQAogZWNobyB7YS4uei4uMn0KIGVjaG8ge3ouLmEuLi0yfQogCisjIG1ha2Ugc3VyZSBicmFjZSBleHBhbnNpb24gaGFuZGxlcyBpbnRzID4gMioqMzEgLSAxIHVzaW5nIGludG1heF90CitlY2hvIHsyMTQ3NDgzNjQ1Li4yMTQ3NDgzNjQ5fQorCiAjIHVud2FudGVkIHplcm8tcGFkZGluZyAtLSBmaXhlZCBwb3N0LWJhc2gtNC4wCiBlY2hvIHsxMC4uMC4uMn0KIGVjaG8gezEwLi4wLi4tMn0KZGlmZiAtLWdpdCBhL3Rlc3RzL2J1aWx0aW5zLnJpZ2h0IGIvdGVzdHMvYnVpbHRpbnMucmlnaHQKaW5kZXggMzBlMTBjYS4uMzhmMTk2YSAxMDA2NDQKLS0tIGEvdGVzdHMvYnVpbHRpbnMucmlnaHQKKysrIGIvdGVzdHMvYnVpbHRpbnMucmlnaHQKQEAgLTEzOCw0ICsxMzgsNyBAQAogCiAKIGIKLS4vYnVpbHRpbnMudGVzdHM6IGxpbmUgMjUxOiBleGl0OiBzdGF0dXM6IG51bWVyaWMgYXJndW1lbnQgcmVxdWlyZWQKK2JlZm9yZTogZiA9IDQKK2luc2lkZQorYWZ0ZXI6IGYgPSA4IGJhciA9IDQKKy4vYnVpbHRpbnMudGVzdHM6IGxpbmUgMjU0OiBleGl0OiBzdGF0dXM6IG51bWVyaWMgYXJndW1lbnQgcmVxdWlyZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2J1aWx0aW5zLnRlc3RzIGIvdGVzdHMvYnVpbHRpbnMudGVzdHMKaW5kZXggNmQyMGFlOS4uN2NlMzc4ZSAxMDA2NDQKLS0tIGEvdGVzdHMvYnVpbHRpbnMudGVzdHMKKysrIGIvdGVzdHMvYnVpbHRpbnMudGVzdHMKQEAgLTI0Nyw2ICsyNDcsOSBAQAogIyB0ZXN0IGJlaGF2aW9yIG9mIHNob3B0IHhwZ19lY2hvCiAke1RISVNfU0h9IC4vYnVpbHRpbnMyLnN1YgogCisjIHRlc3QgYmVoYXZpb3Igb2YgZGVjbGFyZSAtZworJHtUSElTX1NIfSAuL2J1aWx0aW5zMy5zdWIKKwogIyB0aGlzIG11c3QgYmUgbGFzdCAtLSBpdCBpcyBhIGZhdGFsIGVycm9yCiBleGl0IHN0YXR1cwogCmRpZmYgLS1naXQgYS90ZXN0cy9idWlsdGluczMuc3ViIGIvdGVzdHMvYnVpbHRpbnMzLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTk2YzU2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvYnVpbHRpbnMzLnN1YgpAQCAtMCwwICsxLDE0IEBACisjIGRlY2xhcmUgLWcgYWRkZWQgaW4gYmFzaC00LjIKK2Y9NAorCitmb28oKQoreworCWRlY2xhcmUgLWcgZj04CisJZGVjbGFyZSAtZyBiYXI9NAorCisJZWNobyBpbnNpZGUKK30KKworZWNobyBiZWZvcmU6IGYgPSAkZgorZm9vCitlY2hvIGFmdGVyOiBmID0gJGYgYmFyID0gJGJhcgpkaWZmIC0tZ2l0IGEvdGVzdHMvY29tc3ViLWVvZjQuc3ViIGIvdGVzdHMvY29tc3ViLWVvZjQuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3MGVkZTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9jb21zdWItZW9mNC5zdWIKQEAgLTAsMCArMSw0IEBACitlPSQoY2F0IDw8RU9GCitjb250ZW50cworRU9GKQorZWNobyAkZQpkaWZmIC0tZ2l0IGEvdGVzdHMvY29tc3ViLWVvZjUuc3ViIGIvdGVzdHMvY29tc3ViLWVvZjUuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkYTkxMDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9jb21zdWItZW9mNS5zdWIKQEAgLTAsMCArMSw5IEBACitlY2hvICQoCitjYXQgPDxcKQoraGkKKykpCisKK2VjaG8gJCgKK2NhdCA8PFxFT0YKK2hpCitFT0YpCmRpZmYgLS1naXQgYS90ZXN0cy9jb21zdWItcG9zaXgucmlnaHQgYi90ZXN0cy9jb21zdWItcG9zaXgucmlnaHQKaW5kZXggYTI0ZjI1Zi4uYWIwNGM1MiAxMDA2NDQKLS0tIGEvdGVzdHMvY29tc3ViLXBvc2l4LnJpZ2h0CisrKyBiL3Rlc3RzL2NvbXN1Yi1wb3NpeC5yaWdodApAQCAtNTUsMyArNTUsMTkgQEAKIC4vY29tc3ViLXBvc2l4MS5zdWI6IGNvbW1hbmQgc3Vic3RpdHV0aW9uOiBsaW5lIDI6IHN5bnRheCBlcnJvciBuZWFyIHVuZXhwZWN0ZWQgdG9rZW4gYCknCiAuL2NvbXN1Yi1wb3NpeDEuc3ViOiBjb21tYW5kIHN1YnN0aXR1dGlvbjogbGluZSAyOiBgIGlmIHg7IHRoZW4gZWNobyBmb28gKScKIGFmdGVyCitzd2FwMzJfcG9zaXggaXMgYSBmdW5jdGlvbgorc3dhcDMyX3Bvc2l4ICgpIAoreyAKKyAgICBsb2NhbCBmdW5jbmFtZT1zd2FwMzJfcG9zaXg7CisgICAgbG9jYWwgYXJnOworICAgIGZvciBhcmcgaW4gIiRAIjsKKyAgICBkbworICAgICAgICBlY2hvICQoKAorICAgICAgICAgICAgICAgICAgICAgICAgKCRhcmcgJiA0Mjc4MTkwMDgwKSA+PiAyNCB8CisgICAgICAgICAgICAgICAgICAgICAgICAoJGFyZyAmIDE2NzExNjgwKSA+PiA4IHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgkYXJnICYgNjUyODApIDw8IDggfAorICAgICAgICAgICAgICAgICAgICAgICAgKCRhcmcgJiAyNTUpIDw8IDI0CisgICAgICAgICAgICAgICAgKSk7CisgICAgZG9uZQorfQoreWVzCmRpZmYgLS1naXQgYS90ZXN0cy9jb21zdWItcG9zaXgudGVzdHMgYi90ZXN0cy9jb21zdWItcG9zaXgudGVzdHMKaW5kZXggZDQ1Y2JmMi4uYmNmZWVkZSAxMDA2NDQKLS0tIGEvdGVzdHMvY29tc3ViLXBvc2l4LnRlc3RzCisrKyBiL3Rlc3RzL2NvbXN1Yi1wb3NpeC50ZXN0cwpAQCAtMTk4LDkgKzE5OCwyMSBAQAogCiAke1RISVNfU0h9IC4vY29tc3ViLXBvc2l4MS5zdWIKIAorJHtUSElTX1NIfSAuL2NvbXN1Yi1wb3NpeDIuc3ViCisKKyR7VEhJU19TSH0gLi9jb21zdWItcG9zaXgzLnN1YgorCiAjIHByb2R1Y2VkIGEgcGFyc2UgZXJyb3IgdGhyb3VnaCBiYXNoLTQuMC1iZXRhMgogOiAkKGVjaG8gZm9vKSIKICIKKyMgcHJvZHVjZWQgYSBwYXJzZSBlcnJvciB0aHJvdWdoIGJhc2gtNC4xCit1bnNldCB4Cit4PSQoCitlY2hvIHllcworIyBhIGNvbW1lbnQgd2l0aCAiICcgXAorKQorZWNobyAkeAordW5zZXQgeAogCiAjIGZpeGVkIGFmdGVyIGJhc2gtNC4wIHJlbGVhc2VkCiA6ICQoY2FzZSBhIGluIGEpIGVjaG8gOzsgIyBjb21tZW50CmRpZmYgLS1naXQgYS90ZXN0cy9jb21zdWItcG9zaXgyLnN1YiBiL3Rlc3RzL2NvbXN1Yi1wb3NpeDIuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzODc0NWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9jb21zdWItcG9zaXgyLnN1YgpAQCAtMCwwICsxLDE2IEBACisjIHByb2JsZW0gd2l0aCBiYXNoLTQueCB2ZXJzaW9ucyBiZWZvcmUgYmFzaC00LjIuICByZXF1aXJlZCBwb3NpeCBpbnRlcnAKK3N3YXAzMl9wb3NpeCgpCit7CisgICAgICAgIGxvY2FsIGZ1bmNuYW1lPXN3YXAzMl9wb3NpeAorICAgICAgICBsb2NhbCBhcmcKKyAgICAgICAgZm9yIGFyZyBpbiAiJEAiOyBkbworICAgICAgICAgICAgICAgIGVjaG8gJCgoCisgICAgICAgICAgICAgICAgICAgICAgICAoJGFyZyAmIDQyNzgxOTAwODApID4+IDI0IHwKKyAgICAgICAgICAgICAgICAgICAgICAgICgkYXJnICYgMTY3MTE2ODApID4+IDggfAorICAgICAgICAgICAgICAgICAgICAgICAgKCRhcmcgJiA2NTI4MCkgPDwgOCB8CisgICAgICAgICAgICAgICAgICAgICAgICAoJGFyZyAmIDI1NSkgPDwgMjQKKyAgICAgICAgICAgICAgICApKQorICAgICAgICBkb25lCit9CisKK3R5cGUgc3dhcDMyX3Bvc2l4CmRpZmYgLS1naXQgYS90ZXN0cy9jb21zdWItcG9zaXgzLnN1YiBiL3Rlc3RzL2NvbXN1Yi1wb3NpeDMuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhMGUzOWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9jb21zdWItcG9zaXgzLnN1YgpAQCAtMCwwICsxLDIyIEBACisjIHBhcnNpbmcgZXJyb3JzIGJlZm9yZSBiYXNoLTQuMgorCithPSQoL2Jpbi9jYXQgPDwgRU9GIHwgd2MgLWwKK2EKK2IKK2MKK0VPRgorKQorCithPSQoY2F0IDw8IEVPRiB8IHdjIC1sCithCitiCitjCitFT0YKKykKKworYT0kKC9iaW4vY2F0IDw8IEVPRgorYQorYgorYworRU9GCispCmRpZmYgLS1naXQgYS90ZXN0cy9jb21zdWIxLnN1YiBiL3Rlc3RzL2NvbXN1YjEuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2NTY1ZTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9jb21zdWIxLnN1YgpAQCAtMCwwICsxLDQ4IEBACis6ICQoZWNobyBcOykKKworOiAkKGNhc2UgYSBpbiBhKSBlY2hvIDs7IyBjb21tZW50Citlc2FjKQorCis6ICQoY2FzZSBhIGluIGEpIGVjaG8gOzsgIyBjb21tZW50Citlc2FjKQorCis6ICQoOiBcOyMgbm90IGEgY29tbWVudCApCisKKzogJCg6IFwgIyBub3QgYSBjb21tZW50KQorCitlY2hvICQoY2FzZSBhIGluIGEpIGVjaG8gXCNlc2FjIDs7Citlc2FjKQorCis6ICQoY2FzZSBhIGluIGEpIDogOyNlc2FjIDs7Citlc2FjKQorCis6ICQoY2FzZSBhIGluIGEpIDogOyNlc2FjIGNvbW1lbnQgKQorZXNhYykKKworOiAkKGNhc2UgYSBpbiBhKSA6IDsKK2VzYWMpCisKK2VjaG8gJCgjY29tbWVudCApCitlY2hvIGEpCisKK2VjaG8gJChjYXNlIGEgaW4gKGEpIGVjaG8gb2sgMTs7ICMgY29tbWVudAorZXNhYykKKworZWNobyAkKGNhc2UgYSBpbiAoYSkgZWNobyBvayAyOzsgIyBjb21tZW50CisoYikgZWNobyBtb287OworZXNhYykKKworZWNobyAkKGNhc2UgYSBpbiAoYSkgZWNobyBvayAzICMgY29tbWVudAorOzsKK2VzYWMpCisKK2VjaG8gJChjYXNlIGEgaW4gYSkgZWNobyBvayA0OzsgIyBjb21tZW50Citlc2FjKQorCitlY2hvICQoY2FzZSBhIGluIGEpIGVjaG8gb2sgNTs7ICMgY29tbWVudAorYikgZWNobyBtb287OworZXNhYykKKworZWNobyAkKGNhc2UgYSBpbiAoYSkgZWNobyBvayA2ICMgY29tbWVudAorOzsKK2VzYWMpCmRpZmYgLS1naXQgYS90ZXN0cy9kYmctc3VwcG9ydDMuc3ViIGIvdGVzdHMvZGJnLXN1cHBvcnQzLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzUyYzY1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZGJnLXN1cHBvcnQzLnN1YgpAQCAtMCwwICsxLDM5IEBACitzaG9wdCAtcyBleHRkZWJ1ZworCitjYWxsc3RhY2soKXsKKyBkZWVwPSR7I0JBU0hfQVJHVlsqXX0KKyBlY2hvICJkZWVwICRkZWVwIgorIGk9MAorIGZvciBmZiBpbiAke0JBU0hfQVJHVltAXX0KKyBkbworICBlY2hvICIkaSAkZmYiCisgIGk9JCgoJGkrMSkpCisgZG9uZQorfQorCitmMygpCit7CisJZWNobyAkRlVOQ05BTUU6IGNhbGxpbmcgY2FsbHN0YWNrCisJY2FsbHN0YWNrCisJZWNobyBGVU5DTkFNRSBzdGFjazogJHtGVU5DTkFNRVtAXX0KKwljYWxsZXIgMAorCWVjaG8gJEZVTkNOQU1FOiByZXR1cm5pbmcKK30KKworZjIoKQoreworCWVjaG8gJEZVTkNOQU1FOiBjYWxsaW5nIGYzCisJZjMgMyB6CisJZWNobyAkRlVOQ05BTUU6IHJldHVybiBmcm9tIGYzCit9CisKK2YxKCkKK3sKKwllY2hvICRGVU5DTkFNRTogY2FsbGluZyBmMgorCWYyIDIgeQorCWVjaG8gJEZVTkNOQU1FOiByZXR1cm4gZnJvbSBmMgorfQorCitlY2hvIG1haW46IGNhbGxpbmcgZjEKK2YxIDEgeAorZWNobyBtYWluOiBmMSByZXR1cm5zCmRpZmYgLS1naXQgYS90ZXN0cy9kb2xsYXItYXQzLnN1YiBiL3Rlc3RzL2RvbGxhci1hdDMuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2YTY1YzEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9kb2xsYXItYXQzLnN1YgpAQCAtMCwwICsxLDkgQEAKK3NldCAtdQorCitlY2hvICR7I0B9CitlY2hvICR7QDotYmFyfQorCitlY2hvICRACitlY2hvIGFmdGVyIDEKK2VjaG8gJHtAfQorZWNobyBhZnRlciAyCmRpZmYgLS1naXQgYS90ZXN0cy9kb2xsYXItc3RhcjQuc3ViIGIvdGVzdHMvZG9sbGFyLXN0YXI0LnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjU1MWYyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZG9sbGFyLXN0YXI0LnN1YgpAQCAtMCwwICsxLDkgQEAKK3NldCAtdQorCitlY2hvICR7Iyp9CitlY2hvICR7KjotYmFyfQorCitlY2hvICQqCitlY2hvIGFmdGVyIDEKK2VjaG8gJHsqfQorZWNobyBhZnRlciAyCmRpZmYgLS1naXQgYS90ZXN0cy9kb2xsYXItc3RhcjUuc3ViIGIvdGVzdHMvZG9sbGFyLXN0YXI1LnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDQ4YmYzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZG9sbGFyLXN0YXI1LnN1YgpAQCAtMCwwICsxLDE2IEBACitzZXQgLS0gYSBiCitJRlM9CisKK2VjaG8gJCoKK2VjaG8gIiQqIgorCithPWFiY2QKK2VjaG8gIiR7YSMkKn0iCisKK2Nhc2UgYWIgaW4KKyQqKQllY2hvIG9rIDE7OworZXNhYworCitjYXNlICQqIGluCithYikJZWNobyBvayAyIDs7Citlc2FjCmRpZmYgLS1naXQgYS90ZXN0cy9lcnJvcnMucmlnaHQgYi90ZXN0cy9lcnJvcnMucmlnaHQKaW5kZXggYWU3YmYyOS4uN2RkODBjNCAxMDA2NDQKLS0tIGEvdGVzdHMvZXJyb3JzLnJpZ2h0CisrKyBiL3Rlc3RzL2Vycm9ycy5yaWdodApAQCAtMTUsNyArMTUsNyBAQAogLi9lcnJvcnMudGVzdHM6IGxpbmUgNTI6IHVuc2V0OiBgL2Jpbi9zaCc6IG5vdCBhIHZhbGlkIGlkZW50aWZpZXIKIC4vZXJyb3JzLnRlc3RzOiBsaW5lIDU1OiB1bnNldDogY2Fubm90IHNpbXVsdGFuZW91c2x5IHVuc2V0IGEgZnVuY3Rpb24gYW5kIGEgdmFyaWFibGUKIC4vZXJyb3JzLnRlc3RzOiBsaW5lIDU4OiBkZWNsYXJlOiAtejogaW52YWxpZCBvcHRpb24KLWRlY2xhcmU6IHVzYWdlOiBkZWNsYXJlIFstYUFmRmlscnR1eF0gWy1wXSBbbmFtZVs9dmFsdWVdIC4uLl0KK2RlY2xhcmU6IHVzYWdlOiBkZWNsYXJlIFstYUFmRmdpbHJ0dXhdIFstcF0gW25hbWVbPXZhbHVlXSAuLi5dCiAuL2Vycm9ycy50ZXN0czogbGluZSA2MDogZGVjbGFyZTogYC16Jzogbm90IGEgdmFsaWQgaWRlbnRpZmllcgogLi9lcnJvcnMudGVzdHM6IGxpbmUgNjE6IGRlY2xhcmU6IGAvYmluL3NoJzogbm90IGEgdmFsaWQgaWRlbnRpZmllcgogLi9lcnJvcnMudGVzdHM6IGxpbmUgNjU6IGRlY2xhcmU6IGNhbm5vdCB1c2UgYC1mJyB0byBtYWtlIGZ1bmN0aW9ucwpAQCAtNjksNyArNjksNyBAQAogLi9lcnJvcnMudGVzdHM6IGxpbmUgMTg0OiAuOiAtaTogaW52YWxpZCBvcHRpb24KIC46IHVzYWdlOiAuIGZpbGVuYW1lIFthcmd1bWVudHNdCiAuL2Vycm9ycy50ZXN0czogbGluZSAxODc6IHNldDogLXE6IGludmFsaWQgb3B0aW9uCi1zZXQ6IHVzYWdlOiBzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dCitzZXQ6IHVzYWdlOiBzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXQogLi9lcnJvcnMudGVzdHM6IGxpbmUgMTkwOiBlbmFibGU6IHNoOiBub3QgYSBzaGVsbCBidWlsdGluCiAuL2Vycm9ycy50ZXN0czogbGluZSAxOTA6IGVuYWJsZTogYmFzaDogbm90IGEgc2hlbGwgYnVpbHRpbgogLi9lcnJvcnMudGVzdHM6IGxpbmUgMTkzOiBzaG9wdDogY2Fubm90IHNldCBhbmQgdW5zZXQgc2hlbGwgb3B0aW9ucyBzaW11bHRhbmVvdXNseQpAQCAtNzcsNyArNzcsNyBAQAogLi9lcnJvcnMudGVzdHM6IGxpbmUgMTk5OiByZWFkOiBgL2Jpbi9zaCc6IG5vdCBhIHZhbGlkIGlkZW50aWZpZXIKIC4vZXJyb3JzLnRlc3RzOiBsaW5lIDIwMjogVkFSOiByZWFkb25seSB2YXJpYWJsZQogLi9lcnJvcnMudGVzdHM6IGxpbmUgMjA1OiByZWFkb25seTogLXg6IGludmFsaWQgb3B0aW9uCi1yZWFkb25seTogdXNhZ2U6IHJlYWRvbmx5IFstYWZdIFtuYW1lWz12YWx1ZV0gLi4uXSBvciByZWFkb25seSAtcAorcmVhZG9ubHk6IHVzYWdlOiByZWFkb25seSBbLWFBZl0gW25hbWVbPXZhbHVlXSAuLi5dIG9yIHJlYWRvbmx5IC1wCiAuL2Vycm9ycy50ZXN0czogbGluZSAyMDg6IGV2YWw6IC1pOiBpbnZhbGlkIG9wdGlvbgogZXZhbDogdXNhZ2U6IGV2YWwgW2FyZyAuLi5dCiAuL2Vycm9ycy50ZXN0czogbGluZSAyMDk6IGNvbW1hbmQ6IC1pOiBpbnZhbGlkIG9wdGlvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhlYy5yaWdodCBiL3Rlc3RzL2V4ZWMucmlnaHQKaW5kZXggODZhMDk5Yy4uYzUxYTI1MyAxMDA2NDQKLS0tIGEvdGVzdHMvZXhlYy5yaWdodAorKysgYi90ZXN0cy9leGVjLnJpZ2h0CkBAIC0xMCw3ICsxMCw3IEBACiAxMjcKIC9iaW4vc2g6IC9iaW4vc2g6IGNhbm5vdCBleGVjdXRlIGJpbmFyeSBmaWxlCiAxMjYKLS4vZXhlY3NjcmlwdDogbGluZSAzOTogLzogaXMgYSBkaXJlY3RvcnkKKy4vZXhlY3NjcmlwdDogbGluZSAzOTogLzogSXMgYSBkaXJlY3RvcnkKIDEyNgogLzogLzogaXMgYSBkaXJlY3RvcnkKIDEyNgpAQCAtMjAsOCArMjAsNyBAQAogMAogdGhpcyBpcyBiYXNoZW52CiAuL2V4ZWMzLnN1YjogbGluZSAzOiAvdG1wL2Jhc2gtbm90dGhlcmU6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLS4vZXhlYzMuc3ViOiBsaW5lIDM6IGV4ZWM6IC90bXAvYmFzaC1ub3R0aGVyZTogY2Fubm90IGV4ZWN1dGU6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKLTEyNgorMTI3CiAuL2V4ZWNzY3JpcHQ6IGxpbmUgNzA6IG5vdHRoZXJlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CiAxMjcKIC4vZXhlY3NjcmlwdDogbGluZSA3Mzogbm90dGhlcmU6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKQEAgLTUyLDQgKzUxLDEyIEBACiAxCiB0ZXN0YgogZXhwYW5kX2FsaWFzZXMgCW9uCisxCisxCisxCisxCiswCiswCiswCiswCiBhZnRlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhlYzkuc3ViIGIvdGVzdHMvZXhlYzkuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZDIwYjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leGVjOS5zdWIKQEAgLTAsMCArMSwyMCBAQAorIyBtYWtlIHN1cmUgY29tbWFuZHMgYmVmb3JlIHRoZSBsYXN0IG9uZSBpbiB0aGUgcGlwZWxpbmUgY2FuJ3QgY2hhbmdlICQ/CitmYWxzZQorZmFsc2UgfCBlY2hvICQ/CitmYWxzZQorKGZhbHNlKSB8IGVjaG8gJD8KKworZmFsc2UKK3RydWUgfCBlY2hvICQ/CitmYWxzZQorKHRydWUpIHwgZWNobyAkPworCit0cnVlCitmYWxzZSB8IGVjaG8gJD8KK3RydWUKKyhmYWxzZSkgfCBlY2hvICQ/CisKK3RydWUKK3RydWUgfCBlY2hvICQ/Cit0cnVlCisodHJ1ZSkgfCBlY2hvICQ/CmRpZmYgLS1naXQgYS90ZXN0cy9leGVjc2NyaXB0IGIvdGVzdHMvZXhlY3NjcmlwdAppbmRleCAzNjI5YzU3Li5mMWRiNTI3IDEwMDY0NAotLS0gYS90ZXN0cy9leGVjc2NyaXB0CisrKyBiL3Rlc3RzL2V4ZWNzY3JpcHQKQEAgLTEwOSw2ICsxMDksMTggQEAKIAogJHtUSElTX1NIfSAtaSAuL2V4ZWM4LnN1YgogCiske1RISVNfU0h9IC4vZXhlYzkuc3ViCisKIHRydWUgfCBgZWNobyB0cnVlYCAmCiAKIGVjaG8gYWZ0ZXIKKworIyBQcm9ibGVtIHdpdGggYmFzaCBhdCBsZWFzdCBiYWNrIHRvIHZlcnNpb24gMy4wCiske1RISVNfU0h9IC1jICdWQVI9MDsgVkFSPTEgY29tbWFuZCBleGVjOyBleGl0ICR7VkFSfScKKworIyBwcm9ibGVtIHdpdGggYmFzaCB0aHJvdWdoIGJhc2gtNC4xCisoCisgICAgICAgIGV4ZWMgL3Zhci9lbXB0eS9ub3N1Y2gKKyAgICAgICAgZWNobyBiYWQKKykgMj4vZGV2L251bGwKK1sgJD8gPSAxMjcgXSB8fCBlY2hvIEZBSUw6IGJhZCBleGl0IHN0YXR1cyAkPyBhdCAkTElORU5PCmRpZmYgLS1naXQgYS90ZXN0cy9leHAucmlnaHQgYi90ZXN0cy9leHAucmlnaHQKaW5kZXggZDQ2YTJhMS4uOTU5ZGVkMiAxMDA2NDQKLS0tIGEvdGVzdHMvZXhwLnJpZ2h0CisrKyBiL3Rlc3RzL2V4cC5yaWdodApAQCAtMTY2LDMgKzE2Niw3IEBACiB5ZXMKIGEKIGEKKyB2YWwKK3ZhbAorIHZhbAorbm8gYXJnIHBhc3NlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwLnRlc3RzIGIvdGVzdHMvZXhwLnRlc3RzCmluZGV4IDFmNGEzNWIuLmM5N2I0OGMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2V4cC50ZXN0cworKysgYi90ZXN0cy9leHAudGVzdHMKQEAgLTM4NCwzICszODQsNSBAQAogJHtUSElTX1NIfSAuL2V4cDIuc3ViCiAKICR7VEhJU19TSH0gLi9leHAzLnN1YgorCiske1RISVNfU0h9IC4vZXhwNC5zdWIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cDMuc3ViIGIvdGVzdHMvZXhwMy5zdWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEyZDU3OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cDMuc3ViCkBAIC0wLDAgKzEsNyBAQAorSUZTPToKKworY2FzZSBBIGluIChbWzpncmFwaDpdXSkgZWNobyBncmFwaDs7ICopIGVjaG8gbm9uLWdyYXBoOzsgZXNhYworW1sgQSA9PSBbWzpncmFwaDpdXSBdXSAmJiBlY2hvIHllcyB8fCBlY2hvIG5vCisKK0lGUz0ifiI7IHJlYWQgYSBiIDw8PCBhfnE7IGVjaG8gJGEKK0lGUz0nOic7IHJlYWQgYSBiIDw8PCBhOnE7IGVjaG8gJGEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cDQuc3ViIGIvdGVzdHMvZXhwNC5zdWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDAyMmNlYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cDQuc3ViCkBAIC0wLDAgKzEsMTAgQEAKK2Y9IiB2YWwiIGU9CitlY2hvICIkZSIkZgorZWNobyAkZSRmCitlY2hvICIkZSIiJGYiCisKK2lmIFtbICIkMSJ4ID09IHggXV0gOyB0aGVuCisgICBlY2hvICJubyBhcmcgcGFzc2VkIgorICAgZXhpdCAxCitmaQorZWNobyAiJDEieCB8IGNhdCAtdgpkaWZmIC0tZ2l0IGEvdGVzdHMvZnVuYy5yaWdodCBiL3Rlc3RzL2Z1bmMucmlnaHQKaW5kZXggZGE4YjQ1Yy4uNzBiZjEyMyAxMDA2NDQKLS0tIGEvdGVzdHMvZnVuYy5yaWdodAorKysgYi90ZXN0cy9mdW5jLnJpZ2h0CkBAIC0xNTMsNCArMTUzLDE3IEBACiAyIDQwCiBleHBlY3QgNSAyMAogNSAyMAorLi9mdW5jNC5zdWI6IGxpbmUgMTA6IGZvbzogbWF4aW11bSBmdW5jdGlvbiBuZXN0aW5nIGxldmVsIGV4Y2VlZGVkICgxMDApCisxCithZnRlcjogZiA9IDEwMAorLi9mdW5jNC5zdWI6IGxpbmUgMTA6IGZvbzogbWF4aW11bSBmdW5jdGlvbiBuZXN0aW5nIGxldmVsIGV4Y2VlZGVkICgxMDApCisxCithZnRlcjogZiA9IDEwMAorNworYWZ0ZXIgRlVOQ05FU1QgcmVzZXQ6IGYgPSAyMDEKKzcKK2FmdGVyIEZVTkNORVNUIHVuc2V0OiBmID0gMjAxCisuL2Z1bmM0LnN1YjogbGluZSAxMDogZm9vOiBtYXhpbXVtIGZ1bmN0aW9uIG5lc3RpbmcgbGV2ZWwgZXhjZWVkZWQgKDIwKQorMQorYWZ0ZXIgRlVOQ05FU1QgYXNzaWduOiBmID0gMzgKIDUKZGlmZiAtLWdpdCBhL3Rlc3RzL2Z1bmMudGVzdHMgYi90ZXN0cy9mdW5jLnRlc3RzCmluZGV4IDIzZGZmNDQuLjg3MDFjMmEgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2Z1bmMudGVzdHMKKysrIGIvdGVzdHMvZnVuYy50ZXN0cwpAQCAtMTU3LDYgKzE1Nyw5IEBACiAjIHRlc3QgZm9yIHNvbWUgcG9zaXgtc3BlY2lmaWMgZnVuY3Rpb24gYmVoYXZpb3IKICR7VEhJU19TSH0gLi9mdW5jMy5zdWIKIAorIyBGVU5DTkVTVCB0ZXN0aW5nCiske1RISVNfU0h9IC4vZnVuYzQuc3ViCisKIHVuc2V0IC1mIG15ZnVuY3Rpb24KIG15ZnVuY3Rpb24oKSB7CiAgICAgZWNobyAiYmFkIHNoZWxsIGZ1bmN0aW9uIHJlZGlyZWN0aW9uIgpkaWZmIC0tZ2l0IGEvdGVzdHMvZnVuYzQuc3ViIGIvdGVzdHMvZnVuYzQuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljOWMxYjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9mdW5jNC5zdWIKQEAgLTAsMCArMSwzOSBAQAorIyB0ZXN0IEZVTkNORVNUIGZ1bmN0aW9uYWxpdHkgLS0gYmFzaC00LjIKK0ZVTkNORVNUPTEwMAorCitmb28oKQoreworCSgoIGYrKyApKQorCWlmICgoIGYgPiAyMDAgKSk7IHRoZW4KKwkJcmV0dXJuIDcKKwlmaQorCWZvbworfQorCitmPTAKK2ZvbworZWNobyAkPworZWNobyBhZnRlcjogZiA9ICRmCisKK2Y9MAorZm9vCitlY2hvICQ/CitlY2hvIGFmdGVyOiBmID0gJGYKKworZj0wCitGVU5DTkVTVD0wCitmb28KK2VjaG8gJD8KK2VjaG8gYWZ0ZXIgRlVOQ05FU1QgcmVzZXQ6IGYgPSAkZgorCitmPTAKK3Vuc2V0IEZVTkNORVNUCitmb28KK2VjaG8gJD8KK2VjaG8gYWZ0ZXIgRlVOQ05FU1QgdW5zZXQ6IGYgPSAkZgorCitGVU5DTkVTVD0yMAorZj0kKCggRlVOQ05FU1QgLSAyICkpCitmb28KK2VjaG8gJD8KK2VjaG8gYWZ0ZXIgRlVOQ05FU1QgYXNzaWduOiBmID0gJGYKZGlmZiAtLWdpdCBhL3Rlc3RzL2dsb2IudGVzdHMgYi90ZXN0cy9nbG9iLnRlc3RzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMjk4OGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9nbG9iLnRlc3RzCkBAIC0wLDAgKzEsMzg4IEBACitleHBvcnQgTENfQ09MTEFURT1DCisjCisjIHRlc3QgdGhlIHNoZWxsIGdsb2JiaW5nCisjCitleHBlY3QoKQoreworCWVjaG8gZXhwZWN0ICIkQCIKK30KKworIyBGaXJzdCwgYSB0ZXN0IHRoYXQgYmFzaC0yLjAxLjEgZmFpbHMKKyR7VEhJU19TSH0gLi9nbG9iMS5zdWIKKworTVlESVI9JFBXRAkjIHNhdmUgd2hlcmUgd2UgYXJlCisKK1RFU1RESVI9L3RtcC9nbG9iLXRlc3QKK21rZGlyICRURVNURElSCitidWlsdGluIGNkICRURVNURElSIHx8IHsgZWNobyAkMDogY2Fubm90IGNkIHRvICRURVNURElSID4mMiA7IGV4aXQgMTsgfQorcm0gLXJmICoKKwordG91Y2ggYSBiIGMgZCBhYmMgYWJkIGFiZSBiYiBiY2QgY2EgY2IgZGQgZGUgQmV3YXJlCitta2RpciBiZGlyCisKKyMgc2VlIGlmIGByZWd1bGFyJyBnbG9iYmluZyB3b3JrcyByaWdodAorZXhwZWN0ICc8YT4gPGFiYz4gPGFiZD4gPGFiZT4gPFgqPicKK3JlY2hvIGEqIFgqCisKK2V4cGVjdCAnPGE+IDxhYmM+IDxhYmQ+IDxhYmU+JworcmVjaG8gXGEqCisKKyMgc2VlIGlmIG51bGwgZ2xvYiBleHBhbnNpb24gd29ya3MKK3Nob3B0IC1zIG51bGxnbG9iCisKK2V4cGVjdCAnPGE+IDxhYmM+IDxhYmQ+IDxhYmU+JworcmVjaG8gYSogWCoKKworc2hvcHQgLXUgbnVsbGdsb2IKKworIyBzZWUgaWYgdGhlIGZhaWxnbG9iIG9wdGlvbiB3b3JrcworCitta2RpciB0bXAKK3RvdWNoIHRtcC9sMSB0bXAvbDIgdG1wL2wzCitidWlsdGluIGVjaG8gdG1wL2xbMTJdIHRtcC8qNCB0bXAvKjMKK3Nob3B0IC1zIGZhaWxnbG9iCitidWlsdGluIGVjaG8gdG1wL2xbMTJdIHRtcC8qNCB0bXAvKjMKK3JtIC1yIHRtcAorc2hvcHQgLXUgZmFpbGdsb2IKKworIyBzZWUgaWYgdGhlIGNvZGUgdGhhdCBleHBhbmRzIGRpcmVjdG9yaWVzIG9ubHkgd29ya3MKK2V4cGVjdCAnPGJkaXIvPicKK3JlY2hvIGIqLworCisjIFRlc3QgcXVvdGVkIGFuZCB1bnF1b3RlZCBnbG9iYmluZyBjaGFyYWN0ZXJzCitleHBlY3QgJzwqPicKK3JlY2hvIFwqCisKK2V4cGVjdCAnPGEqPicKK3JlY2hvICdhKicKKworZXhwZWN0ICc8YSo+JworcmVjaG8gYVwqCisKK2V4cGVjdCAnPGM+IDxjYT4gPGNiPiA8YSo+IDwqcSo+JworcmVjaG8gYyogYVwqICpxKgorCitleHBlY3QgJzwqKj4nCityZWNobyAiKiIqCisKK2V4cGVjdCAnPCoqPicKK3JlY2hvIFwqKgorCitleHBlY3QgJzxcLlwuLyovPicKK3JlY2hvICJcLlwuLyovIgorCitleHBlY3QgJzxzL1wuLiovLz4nCityZWNobyAncy9cLi4qLy8nCisKKyMgUGF0dGVybiBmcm9tIExhcnJ5IFdhbGwncyBDb25maWd1cmUgdGhhdCBjYXVzZWQgYmFzaCB0byBibG93IHVwCitleHBlY3QgJzwvXnJvb3Q6L3tzL15bXjpdKjpbXjpdKjpcKFteOl0qXCkuKiQvXDEvPicKK3JlY2hvICIvXnJvb3Q6L3tzL15bXjpdKjpbXjpdKjpcKFteOl0qXCkuKiInJCciL1wxLyIKKworIyBNYWtlIHN1cmUgY2hhcmFjdGVyIGNsYXNzZXMgd29yayBwcm9wZXJseQorCitleHBlY3QgJzxhYmM+IDxhYmQ+IDxhYmU+IDxiYj4gPGNiPicKK3JlY2hvIFthLWNdYioKKworZXhwZWN0ICc8YWJkPiA8YWJlPiA8YmI+IDxiY2Q+IDxiZGlyPiA8Y2E+IDxjYj4gPGRkPiA8ZGU+JworcmVjaG8gW2EteV0qW15jXQorCitleHBlY3QgJzxhYmQ+IDxhYmU+JworcmVjaG8gYSpbXmNdCisKK3RvdWNoIGEtYiBhWGIKK2V4cGVjdCAnPGEtYj4gPGFYYj4nCityZWNobyBhW1gtXWIKKwordG91Y2ggLnggLnkKK2V4cGVjdCAnPEJld2FyZT4gPGQ+IDxkZD4gPGRlPicKK3JlY2hvIFteYS1jXSoKKworIyBNYWtlIHN1cmUgdGhhdCBmaWxlbmFtZXMgd2l0aCBlbWJlZGRlZCBnbG9iYmluZyBjaGFyYWN0ZXJzIGFyZSBoYW5kbGVkCisjIHByb3Blcmx5Citta2RpciBhXCpiCis+IGFcKmIvb29vCisKK2V4cGVjdCAnPGEqYi9vb28+JworcmVjaG8gYVwqYi8qCisKK2V4cGVjdCAnPGEqYi9vb28+JworcmVjaG8gYVwqPy8qCisKK2V4cGVjdCAnPG5vIG1hdGNoPicKK2NtZD0nZWNobyAhNycKK2Nhc2UgIiRjbWQiIGluCisqXFwhKikgZWNobyBtYXRjaCA7OworKikgZWNobyBubyBtYXRjaCA7OworZXNhYworCitleHBlY3QgJzxub3QgdGhlcmU+JworZmlsZT0nci4qJworY2FzZSAkZmlsZSBpbgorKi5cKikgZWNobyBub3QgdGhlcmUgOzsKKyopIGVjaG8gdGhlcmUgOzsKK2VzYWMKKworIyBleGFtcGxlcyBmcm9tIHRoZSBQb3NpeC4yIHNwZWMgKGQxMS4yLCBwLiAyNDMpCitleHBlY3QgJzxhYmM+JworcmVjaG8gYVtiXWMKKworZXhwZWN0ICc8YWJjPicKK3JlY2hvIGFbImIiXWMKKworZXhwZWN0ICc8YWJjPicKK3JlY2hvIGFbXGJdYworCitleHBlY3QgJzxhYmM+JworcmVjaG8gYT9jCisKK2V4cGVjdCAnPG1hdGNoIDE+JworY2FzZSBhYmMgaW4KK2EiYiJjKQllY2hvICdtYXRjaCAxJyA7OworKikJZWNobyAnQkFEIG1hdGNoIDEnIDs7Citlc2FjCisKK2V4cGVjdCAnPG1hdGNoIDI+JworY2FzZSBhYmMgaW4KK2EqYykJZWNobyAnbWF0Y2ggMicgOzsKKyopCWVjaG8gJ0JBRCBtYXRjaCAyJyA7OworZXNhYworCitleHBlY3QgJzxvayAxPicKK2Nhc2UgYWJjIGluCisiYT9jIikJZWNobyAnYmFkIDEnIDs7CisqKQllY2hvICdvayAxJyA7OworZXNhYworCitleHBlY3QgJzxvayAyPicKK2Nhc2UgYWJjIGluCithXCpjKQllY2hvICdiYWQgMicgOzsKKyopCWVjaG8gJ29rIDInIDs7Citlc2FjCisKK2V4cGVjdCAnPG9rIDM+JworY2FzZSBhYmMgaW4KK2FcW2JdYykJZWNobyAnYmFkIDMnIDs7CisqKQllY2hvICdvayAzJyA7OworZXNhYworCitleHBlY3QgJzxvayA0PicKK2Nhc2UgIiRub3N1Y2h2YXIiIGluCisiIikgCWVjaG8gJ29rIDQnIDs7CisqKQllY2hvICdiYWQgNCcgOzsKK2VzYWMKKworIyBUaGlzIGlzIHZlcnkgb2RkLCBidXQgc2ggYW5kIGtzaCBzZWVtIHRvIGFncmVlCitleHBlY3QgJzxvayA1PicKK2Nhc2UgYWJjIGluCithWyJcYiJdYykgZWNobyAnb2sgNScgOzsKKyopCWVjaG8gJ2JhZCA1JyA7OworZXNhYworCitta2RpciBtYW4KK21rZGlyIG1hbi9tYW4xCit0b3VjaCBtYW4vbWFuMS9iYXNoLjEKK2V4cGVjdCAnPG1hbi9tYW4xL2Jhc2guMT4nCityZWNobyAqL21hbiovYmFzaC4qCitleHBlY3QgJzxtYW4vbWFuMS9iYXNoLjE+JworcmVjaG8gJChlY2hvICovbWFuKi9iYXNoLiopCitleHBlY3QgJzxtYW4vbWFuMS9iYXNoLjE+JworcmVjaG8gIiQoZWNobyAqL21hbiovYmFzaC4qKSIKKworIyB0ZXN0cyB3aXRoIG11bHRpcGxlIGAqJ3MKK2Nhc2UgYWJjIGluCithKioqYykJZWNobyBvayAxOzsKK2VzYWMKKworY2FzZSBhYmMgaW4KK2EqKioqKj9jKQllY2hvIG9rIDI7OworZXNhYworCitjYXNlIGFiYyBpbgorPyoqKioqPz8pCWVjaG8gb2sgMzs7Citlc2FjCisKK2Nhc2UgYWJjIGluCisqKioqKj8/KQllY2hvIG9rIDQ7OworZXNhYworCitjYXNlIGFiYyBpbgorKioqKio/P2MpCWVjaG8gb2sgNTs7Citlc2FjCisKK2Nhc2UgYWJjIGluCis/KioqKio/YykJZWNobyBvayA2OzsKK2VzYWMKKworY2FzZSBhYmMgaW4KKz8qKio/KioqKmMpCWVjaG8gb2sgNzs7Citlc2FjCisKK2Nhc2UgYWJjIGluCis/KioqPyoqKio/KQllY2hvIG9rIDg7OworZXNhYworCitjYXNlIGFiYyBpbgorPyoqKj8qKioqKQllY2hvIG9rIDk7OworZXNhYworCitjYXNlIGFiYyBpbgorKioqKioqKmMpCWVjaG8gb2sgMTA7OworZXNhYworCitjYXNlIGFiYyBpbgorKioqKioqKj8pCWVjaG8gb2sgMTE7OworZXNhYworCitjYXNlIGFiY2RlY2RoamsgaW4KK2EqY2QqKj8qKj8/aykJZWNobyBvayAyMDs7Citlc2FjCisKK2Nhc2UgYWJjZGVjZGhqayBpbgorYSoqPyoqY2QqKj8qKj8/aykJZWNobyBvayAyMTs7Citlc2FjCisKK2Nhc2UgYWJjZGVjZGhqayBpbgorYSoqPyoqY2QqKj8qKj8/ayoqKikJZWNobyBvayAyMjs7Citlc2FjCisKK2Nhc2UgYWJjZGVjZGhqayBpbgorYSoqPyoqY2QqKj8qKj8/KioqaykJZWNobyBvayAyMzs7Citlc2FjCisKK2Nhc2UgYWJjZGVjZGhqayBpbgorYSoqPyoqY2QqKj8qKj8/KioqayoqKQllY2hvIG9rIDI0OzsKK2VzYWMKKworY2FzZSBhYmNkZWNkaGprIGluCithKioqKmMqKj8qKj8/KioqKiopCWVjaG8gb2sgMjU7OworZXNhYworCitjYXNlICctJyBpbgorWy1hYmNdKQllY2hvIG9rIDI2IDs7Citlc2FjCisKK2Nhc2UgJy0nIGluCitbYWJjLV0pIGVjaG8gb2sgMjcgOzsKK2VzYWMKKworY2FzZSAnXCcgaW4KK1xcKQllY2hvIG9rIDI4IDs7Citlc2FjCisKK2Nhc2UgJ1wnIGluCitbXFxdKQllY2hvIG9rIDI5IDs7Citlc2FjCisKK2Nhc2UgJ1wnIGluCisnXCcpCWVjaG8gb2sgMzAgOzsKK2VzYWMKKworY2FzZSAnWycgaW4KK1tbXSkJZWNobyBvayAzMSA7OworZXNhYworCisjIGEgYFsnIHdpdGhvdXQgYSBjbG9zaW5nIGBdJyBpcyBqdXN0IGFub3RoZXIgY2hhcmFjdGVyIHRvIG1hdGNoLCBpbiB0aGUKKyMgYmFzaCBpbXBsZW1lbnRhdGlvbgorY2FzZSAnWycgaW4KK1spCWVjaG8gb2sgMzIgOzsKK2VzYWMKKworY2FzZSAnW2FiYycgaW4KK1sqKQllY2hvICdvayAzMyc7OworZXNhYworCisjIGEgcmlnaHQgYnJhY2tldCBzaGFsbCBsb3NlIGl0cyBzcGVjaWFsIG1lYW5pbmcgYW5kIHJlcHJlc2VudCBpdHNlbGYgaW4KKyMgYSBicmFja2V0IGV4cHJlc3Npb24gaWYgaXQgb2NjdXJzIGZpcnN0IGluIHRoZSBsaXN0LiAgLS0gUE9TSVguMiAyLjguMy4yCitjYXNlICddJyBpbgorW11dKQllY2hvIG9rIDM0IDs7Citlc2FjCisKK2Nhc2UgJy0nIGluCitbXS1dKQllY2hvIG9rIDM1IDs7Citlc2FjCisKKyMgYSBiYWNrc2xhc2ggc2hvdWxkIGp1c3QgZXNjYXBlIHRoZSBuZXh0IGNoYXJhY3RlciBpbiB0aGlzIGNvbnRleHQKK2Nhc2UgcCBpbgorW2EtXHpdKQllY2hvIG9rIDM2IDs7Citlc2FjCisKKyMgdGhpcyB3YXMgYSBidWcgaW4gYWxsIHZlcnNpb25zIHVwIHRvIGJhc2gtMi4wNC1yZWxlYXNlCitjYXNlICIvdG1wIiBpbgorWy9cXF0qKSBlY2hvIG9rIDM3IDs7Citlc2FjCisKKyMgbm9uZSBvZiB0aGVzZSBzaG91bGQgb3V0cHV0IGFueXRoaW5nCisKK2Nhc2UgYWJjIGluCis/PyoqKioqKioqKio/KioqKj8pCWVjaG8gYmFkIDE7OworZXNhYworCitjYXNlIGFiYyBpbgorPz8qKioqKioqKioqPyoqKipjKQllY2hvIGJhZCAyOzsKK2VzYWMKKworY2FzZSBhYmMgaW4KKz8qKioqKioqKioqKipjKioqKj8qKioqKQllY2hvIGJhZCAzOzsKK2VzYWMKKworY2FzZSBhYmMgaW4KKypjKj8qKikJZWNobyBiYWQgNDs7Citlc2FjCisKK2Nhc2UgYWJjIGluCithKioqKipjKj8qKikJZWNobyBiYWQgNTs7Citlc2FjCisKK2Nhc2UgYWJjIGluCithKioqKioqKio/Pz8qKioqKioqKQllY2hvIGJhZCA2OzsKK2VzYWMKKworY2FzZSAnYScgaW4KK1tdKQllY2hvIGJhZCA3IDs7Citlc2FjCisKK2Nhc2UgJ1snIGluCitbYWJjKQllY2hvIGJhZCA4OzsKK2VzYWMKKworIyBsZXQncyBzdGFydCB0ZXN0aW5nIHRoZSBjYXNlLWluc2Vuc2l0aXZlIGdsb2JiaW5nIGNvZGUKK3JlY2hvIGIqCisKK3Nob3B0IC1zIG5vY2FzZWdsb2IKK3JlY2hvIGIqCisKK3JlY2hvIFtiXSoKK3Nob3B0IC11IG5vY2FzZWdsb2IKKworIyBtYWtlIHN1cmUgc2V0IC1mIHdvcmtzIHJpZ2h0CitzZXQgLWYKK3JlY2hvICoKK3NldCArZgorCisjIHRlc3Qgb3V0IHRoZSBHTE9CSUdOT1JFIGNvZGUKK0dMT0JJR05PUkU9Jy4qOipjOiplOj8nCityZWNobyAqCisKK0dMT0JJR05PUkU9Jy4qOipiOipkOj8nCityZWNobyAqCisKKyMgc2VlIGlmIEdMT0JJR05PUkUgY2FuIHN1YnN0aXR1dGUgZm9yIGBzZXQgLWYnCitHTE9CSUdOT1JFPScuKjoqJworcmVjaG8gKgorCit1bnNldCBHTE9CSUdOT1JFCitleHBlY3QgJzxtYW4vbWFuMS9iYXNoLjE+JworcmVjaG8gKi9tYW4qL2Jhc2guKgorCisjIG1ha2Ugc3VyZSBudWxsIHZhbHVlcyBmb3IgR0xPQklHTk9SRSBoYXZlIG5vIGVmZmVjdAorR0xPQklHTk9SRT0KK2V4cGVjdCAnPG1hbi9tYW4xL2Jhc2guMT4nCityZWNobyAqL21hbiovYmFzaC4qCisKKyMgdGhpcyBpcyBmb3IgdGhlIGJlbmVmaXQgb2YgcHVyZSBjb3ZlcmFnZSwgc28gaXQgd3JpdGVzIHRoZSBwY3YgZmlsZQorIyBpbiB0aGUgcmlnaHQgcGxhY2UsIGFuZCBmb3IgZ3Byb2YKK2J1aWx0aW4gY2QgJE1ZRElSCisKK3JtIC1yZiAkVEVTVERJUgorCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2dsb2JzdGFyLnJpZ2h0IGIvdGVzdHMvZ2xvYnN0YXIucmlnaHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjc1ZDgwYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2dsb2JzdGFyLnJpZ2h0CkBAIC0wLDAgKzEsMTU1IEBACitsaWIvZ2xvYi9nbG9iLm8KK2xpYi9nbG9iL3NtYXRjaC5vCitsaWIvZ2xvYi9zdHJtYXRjaC5vCitsaWIvcmVhZGxpbmUvYmluZC5vCitsaWIvcmVhZGxpbmUvY2FsbGJhY2subworbGliL3JlYWRsaW5lL2NvbXBhdC5vCitsaWIvcmVhZGxpbmUvY29tcGxldGUubworbGliL3JlYWRsaW5lL2Rpc3BsYXkubworbGliL3NoL2Nhc2Vtb2QubworbGliL3NoL2Nsa3Rjay5vCitsaWIvc2gvY2xvY2subworbGliL3NoL2VhY2Nlc3MubworbGliL3NoL2ZkcHJpbnRmLm8KK2xpYi9zaC9mbXR1bGxvbmcubworbGliL3NoL2ZtdHVsb25nLm8KK2xpYi9zaC9mbXR1bWF4Lm8KK2xpYi9zaC9mcHVyZ2UubworbGliL3NoL2dldGVudi5vCitsaWIvc2gvaW5wdXRfYXZhaWwubworbGliL3NoL2l0b3MubworCitsaWIvOgorZ2xvYgorcmVhZGxpbmUKK3NoCisKK2xpYi9nbG9iOgorZ2xvYi5vCitzbWF0Y2gubworc3RybWF0Y2gubworCitsaWIvcmVhZGxpbmU6CitiaW5kLm8KK2NhbGxiYWNrLm8KK2NvbXBhdC5vCitjb21wbGV0ZS5vCitkaXNwbGF5Lm8KKworbGliL3NoOgorY2FzZW1vZC5vCitjbGt0Y2subworY2xvY2subworZWFjY2Vzcy5vCitmZHByaW50Zi5vCitmbXR1bGxvbmcubworZm10dWxvbmcubworZm10dW1heC5vCitmcHVyZ2UubworZ2V0ZW52Lm8KK2lucHV0X2F2YWlsLm8KK2l0b3MubworbGliL2dsb2IvZ2xvYi5vCitsaWIvZ2xvYi9zbWF0Y2gubworbGliL2dsb2Ivc3RybWF0Y2gubworbGliL3JlYWRsaW5lL2JpbmQubworbGliL3JlYWRsaW5lL2NhbGxiYWNrLm8KK2xpYi9yZWFkbGluZS9jb21wYXQubworbGliL3JlYWRsaW5lL2NvbXBsZXRlLm8KK2xpYi9yZWFkbGluZS9kaXNwbGF5Lm8KK2xpYi9zaC9jYXNlbW9kLm8KK2xpYi9zaC9jbGt0Y2subworbGliL3NoL2Nsb2NrLm8KK2xpYi9zaC9lYWNjZXNzLm8KK2xpYi9zaC9mZHByaW50Zi5vCitsaWIvc2gvZm10dWxsb25nLm8KK2xpYi9zaC9mbXR1bG9uZy5vCitsaWIvc2gvZm10dW1heC5vCitsaWIvc2gvZnB1cmdlLm8KK2xpYi9zaC9nZXRlbnYubworbGliL3NoL2lucHV0X2F2YWlsLm8KK2xpYi9zaC9pdG9zLm8KK2FsaWFzLm8gYnVpbHRpbnMvaGlzdG9yeS5vIGJ1aWx0aW5zL2pvYnMubyBidWlsdGlucy9raWxsLm8gYnVpbHRpbnMvbGV0Lm8gYnVpbHRpbnMvbWFwZmlsZS5vIGxpYi9nbG9iL2dsb2IubyBsaWIvZ2xvYi9zbWF0Y2gubyBsaWIvZ2xvYi9zdHJtYXRjaC5vIGxpYi9yZWFkbGluZS9iaW5kLm8gbGliL3JlYWRsaW5lL2NhbGxiYWNrLm8gbGliL3JlYWRsaW5lL2NvbXBhdC5vIGxpYi9yZWFkbGluZS9jb21wbGV0ZS5vIGxpYi9yZWFkbGluZS9kaXNwbGF5Lm8gbGliL3NoL2Nhc2Vtb2QubyBsaWIvc2gvY2xrdGNrLm8gbGliL3NoL2Nsb2NrLm8gbGliL3NoL2VhY2Nlc3MubyBsaWIvc2gvZmRwcmludGYubyBsaWIvc2gvZm10dWxsb25nLm8gbGliL3NoL2ZtdHVsb25nLm8gbGliL3NoL2ZtdHVtYXgubyBsaWIvc2gvZnB1cmdlLm8gbGliL3NoL2dldGVudi5vIGxpYi9zaC9pbnB1dF9hdmFpbC5vIGxpYi9zaC9pdG9zLm8gcGNvbXBsaWIubyBwcmludF9jbWQubyByZWRpci5vIHNoZWxsLm8gc2lnLm8gc3RyaW5nbGliLm8gc3Vic3QubyBzeW50YXgubyB0ZXN0Lm8gdHJhcC5vIHVud2luZF9wcm90Lm8gdmFyaWFibGVzLm8gdmVyc2lvbi5vIHhtYWxsb2MubyB5LnRhYi5vCithbGlhcy5vCitidWlsdGlucy9oaXN0b3J5Lm8KK2J1aWx0aW5zL2pvYnMubworYnVpbHRpbnMva2lsbC5vCitidWlsdGlucy9sZXQubworYnVpbHRpbnMvbWFwZmlsZS5vCitsaWIvZ2xvYi9nbG9iLm8KK2xpYi9nbG9iL3NtYXRjaC5vCitsaWIvZ2xvYi9zdHJtYXRjaC5vCitsaWIvcmVhZGxpbmUvYmluZC5vCitsaWIvcmVhZGxpbmUvY2FsbGJhY2subworbGliL3JlYWRsaW5lL2NvbXBhdC5vCitsaWIvcmVhZGxpbmUvY29tcGxldGUubworbGliL3JlYWRsaW5lL2Rpc3BsYXkubworbGliL3NoL2Nhc2Vtb2QubworbGliL3NoL2Nsa3Rjay5vCitsaWIvc2gvY2xvY2subworbGliL3NoL2VhY2Nlc3MubworbGliL3NoL2ZkcHJpbnRmLm8KK2xpYi9zaC9mbXR1bGxvbmcubworbGliL3NoL2ZtdHVsb25nLm8KK2xpYi9zaC9mbXR1bWF4Lm8KK2xpYi9zaC9mcHVyZ2UubworbGliL3NoL2dldGVudi5vCitsaWIvc2gvaW5wdXRfYXZhaWwubworbGliL3NoL2l0b3MubworcGNvbXBsaWIubworcHJpbnRfY21kLm8KK3JlZGlyLm8KK3NoZWxsLm8KK3NpZy5vCitzdHJpbmdsaWIubworc3Vic3Qubworc3ludGF4Lm8KK3Rlc3QubwordHJhcC5vCit1bndpbmRfcHJvdC5vCit2YXJpYWJsZXMubwordmVyc2lvbi5vCit4bWFsbG9jLm8KK3kudGFiLm8KKworYnVpbHRpbnM6CitoaXN0b3J5Lm8KK2pvYnMubwora2lsbC5vCitsZXQubworbWFwZmlsZS5vCisKK2xpYjoKK2dsb2IKK3JlYWRsaW5lCitzaAorCitsaWIvZ2xvYjoKK2dsb2Iubworc21hdGNoLm8KK3N0cm1hdGNoLm8KKworbGliL3JlYWRsaW5lOgorYmluZC5vCitjYWxsYmFjay5vCitjb21wYXQubworY29tcGxldGUubworZGlzcGxheS5vCisKK2xpYi9zaDoKK2Nhc2Vtb2QubworY2xrdGNrLm8KK2Nsb2NrLm8KK2VhY2Nlc3MubworZmRwcmludGYubworZm10dWxsb25nLm8KK2ZtdHVsb25nLm8KK2ZtdHVtYXgubworZnB1cmdlLm8KK2dldGVudi5vCitpbnB1dF9hdmFpbC5vCitpdG9zLm8KK2FsaWFzLm8gYnVpbHRpbnMgYnVpbHRpbnMvaGlzdG9yeS5vIGJ1aWx0aW5zL2pvYnMubyBidWlsdGlucy9raWxsLm8gYnVpbHRpbnMvbGV0Lm8gYnVpbHRpbnMvbWFwZmlsZS5vIGxpYiBsaWIvZ2xvYiBsaWIvZ2xvYi9nbG9iLm8gbGliL2dsb2Ivc21hdGNoLm8gbGliL2dsb2Ivc3RybWF0Y2gubyBsaWIvcmVhZGxpbmUgbGliL3JlYWRsaW5lL2JpbmQubyBsaWIvcmVhZGxpbmUvY2FsbGJhY2subyBsaWIvcmVhZGxpbmUvY29tcGF0Lm8gbGliL3JlYWRsaW5lL2NvbXBsZXRlLm8gbGliL3JlYWRsaW5lL2Rpc3BsYXkubyBsaWIvc2ggbGliL3NoL2Nhc2Vtb2QubyBsaWIvc2gvY2xrdGNrLm8gbGliL3NoL2Nsb2NrLm8gbGliL3NoL2VhY2Nlc3MubyBsaWIvc2gvZmRwcmludGYubyBsaWIvc2gvZm10dWxsb25nLm8gbGliL3NoL2ZtdHVsb25nLm8gbGliL3NoL2ZtdHVtYXgubyBsaWIvc2gvZnB1cmdlLm8gbGliL3NoL2dldGVudi5vIGxpYi9zaC9pbnB1dF9hdmFpbC5vIGxpYi9zaC9pdG9zLm8gcGNvbXBsaWIubyBwcmludF9jbWQubyByZWRpci5vIHNoZWxsLm8gc2lnLm8gc3RyaW5nbGliLm8gc3Vic3QubyBzeW50YXgubyB0ZXN0Lm8gdHJhcC5vIHVud2luZF9wcm90Lm8gdmFyaWFibGVzLm8gdmVyc2lvbi5vIHhtYWxsb2MubyB5LnRhYi5vCitiYXIvZm9vIGZvbworYmFyL2Zvby8gZm9vLworYmFyL2Zvby9lIGJhci9mb28vZiBmb28vYSBmb28vYgpkaWZmIC0tZ2l0IGEvdGVzdHMvZ2xvYnN0YXIudGVzdHMgYi90ZXN0cy9nbG9ic3Rhci50ZXN0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjFmOWQyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZ2xvYnN0YXIudGVzdHMKQEAgLTAsMCArMSw0MSBAQAorOiAke1RNUERJUjo9L3Zhci90bXB9CitkaXI9JFBXRAorCitzaG9wdCAtcyBnbG9ic3RhcgorCitleHBvcnQgTEFORz1DIExDX0FMTD1DIExDX0NPTExBVEU9QworCitHRElSPSRUTVBESVIvZ2xvYnN0YXItJCQKKworbWtkaXIgJEdESVIgfHwgZXhpdCAxCitjZCAkR0RJUiB8fCBleGl0IDEKKworbWtkaXIgbGliIGJ1aWx0aW5zCitta2RpciBsaWIvZ2xvYiBsaWIvcmVhZGxpbmUgbGliL3NoCisKK3RvdWNoIGJ1aWx0aW5zL2hpc3RvcnkubyBidWlsdGlucy9qb2JzLm8gYnVpbHRpbnMva2lsbC5vIGJ1aWx0aW5zL2xldC5vIGJ1aWx0aW5zL21hcGZpbGUubwordG91Y2ggbGliL2dsb2IvZ2xvYi5vIGxpYi9nbG9iL3NtYXRjaC5vIGxpYi9nbG9iL3N0cm1hdGNoLm8KK3RvdWNoIGxpYi9yZWFkbGluZS9iaW5kLm8gbGliL3JlYWRsaW5lL2NhbGxiYWNrLm8gbGliL3JlYWRsaW5lL2NvbXBhdC5vIGxpYi9yZWFkbGluZS9jb21wbGV0ZS5vIGxpYi9yZWFkbGluZS9kaXNwbGF5Lm8KKwordG91Y2ggbGliL3NoL2Nhc2Vtb2QubyBsaWIvc2gvY2xrdGNrLm8gbGliL3NoL2Nsb2NrLm8gbGliL3NoL2VhY2Nlc3MubwordG91Y2ggbGliL3NoL2ZkcHJpbnRmLm8gbGliL3NoL2ZtdHVsbG9uZy5vIGxpYi9zaC9mbXR1bG9uZy5vIGxpYi9zaC9mbXR1bWF4Lm8KK3RvdWNoIGxpYi9zaC9mcHVyZ2UubyBsaWIvc2gvZ2V0ZW52Lm8gbGliL3NoL2lucHV0X2F2YWlsLm8gbGliL3NoL2l0b3MubworCit0b3VjaCBhbGlhcy5vCit0b3VjaCBwY29tcGxpYi5vIHByaW50X2NtZC5vIHJlZGlyLm8gc2hlbGwubyBzaWcubyBzdHJpbmdsaWIubyBzdWJzdC5vIHN5bnRheC5vCit0b3VjaCB0ZXN0Lm8gdHJhcC5vIHVud2luZF9wcm90Lm8gdmFyaWFibGVzLm8gdmVyc2lvbi5vIHhtYWxsb2MubyB5LnRhYi5vCisKK2xzIGxpYi8qKgorCitscyBsaWIvKiovKi5vCisKK2VjaG8gKiovKi5vCisKK2xzICoqCisKK2VjaG8gKioKKworY2QgJGRpcgorcm0gLXJmICRHRElSCisKKyR7VEhJU19TSH0gLi9nbG9ic3RhcjEuc3ViCmRpZmYgLS1naXQgYS90ZXN0cy9nbG9ic3RhcjEuc3ViIGIvdGVzdHMvZ2xvYnN0YXIxLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjllMzZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZ2xvYnN0YXIxLnN1YgpAQCAtMCwwICsxLDIxIEBACitzaG9wdCAtcyBnbG9ic3Rhcgord2Rpcj0kUFdECisKKzogJHtUTVBESVI6PS92YXIvdG1wfQorRElSPSRUTVBESVIvZ2xvYnN0YXItJCQKK21rZGlyIC1wICRESVIKK2NkICRESVIgfHwgeworCWVjaG8gIiRESVI6IGNhbm5vdCBjZCIgPiYyCisJZXhpdCAxCit9Citta2RpciAtcCBmb28ve2EsYn0gYmFyL3tjLGQsZm9vL3tlLGZ9fSBiYXove2csaH0KKworCitlY2hvICoqL2ZvbyoKKworZWNobyAqKi9mb28qLworCitlY2hvICoqL2ZvbyovKgorCitjZCAkd2Rpcgorcm0gLXJmICRESVIKZGlmZiAtLWdpdCBhL3Rlc3RzL2hpc3RleHAudGVzdHMgYi90ZXN0cy9oaXN0ZXhwLnRlc3RzCmluZGV4IDcyMTIwOGMuLmRjY2JmZTAgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2hpc3RleHAudGVzdHMKKysrIGIvdGVzdHMvaGlzdGV4cC50ZXN0cwpAQCAtMTIwLDUgKzEyMCw1IEBACiBlY2hvICR7IXZhcjJ9CiAKICMgQmFzaC0yLjAxWy4xXSBmYWlscyB0aGlzIHRlc3QgLS0gaXQgYXR0ZW1wdHMgaGlzdG9yeSBleHBhbnNpb24gYWZ0ZXIgdGhlCi0jIGhpc3RvcnlfZXhwYW5zaW9uX2NoYXIKKyMgaGlzdG9yeV9jb21tZW50X2NoYXIKIGVjaG8gb2sgMyAjICExMjAwCmRpZmYgLS1naXQgYS90ZXN0cy9oaXN0b3J5LnJpZ2h0IGIvdGVzdHMvaGlzdG9yeS5yaWdodAppbmRleCBjYjU4Zjk4Li4zYmFjNzFhIDEwMDY0NAotLS0gYS90ZXN0cy9oaXN0b3J5LnJpZ2h0CisrKyBiL3Rlc3RzL2hpc3RvcnkucmlnaHQKQEAgLTE0MCw3ICsxNDAsNyBAQAogb25lCiB0d28KIHRocmVlCi00LjEKKzQuMgogZWNobyAke0JBU0hfVkVSU0lPTiVcLip9Ci00LjEKKzQuMgogCSBlY2hvICR7QkFTSF9WRVJTSU9OJVwuKn0KZGlmZiAtLWdpdCBhL3Rlc3RzL2hpc3RvcnkyLnN1YiBiL3Rlc3RzL2hpc3RvcnkyLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYThlNzhjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvaGlzdG9yeTIuc3ViCkBAIC0wLDAgKzEsMTAgQEAKK3NldCAtbyBoaXN0b3J5CitISVNUU0laRT0yNTYKK0hJU1RGSUxFPS9kZXYvbnVsbAorCisjIHRoZXNlIHR3byBsaW5lcyBzaG91bGQgYmUgdGhlIHNhbWUKK2VjaG8gJHtCQVNIX1ZFUlNJT04lXC4qfQorZWNobyAkKGZjIC1ubCAtMSkKKworZWNobyAke0JBU0hfVkVSU0lPTiVcLip9CitmYyAtbmwgLTEKZGlmZiAtLWdpdCBhL3Rlc3RzL2ludGwucmlnaHQgYi90ZXN0cy9pbnRsLnJpZ2h0CmluZGV4IDQ0OWQ1YjAuLjUyYzY1ZTQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ludGwucmlnaHQKKysrIGIvdGVzdHMvaW50bC5yaWdodApAQCAtNiw4ICs2LDE0IEBACiBvayAxCiBvayAyCiBhw6liCi0wMDAwMDAwICAgMTQxIDMwMyAyNTEgMTQyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiswMDAwMDAwIDE0MSAzMDMgMjUxIDE0MgogMDAwMDAwNAogLdCw0LHQstCz0LTQtdC20LfQuNC60LvQvNC90L7QvyAtIDE2CiAt0LDQsdCy0LPQtNC10LbQt9C40LrQu9C80L3QvtC/LSAxNQogLdCw0LHQstCz0LQtIDUKKzEsMDAwMAorMS4wMDAwCisxLjAwMDAKKzEuMDAwMAorMS4wMDAwCisxLDAwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2ludGwudGVzdHMgYi90ZXN0cy9pbnRsLnRlc3RzCmluZGV4IGNkOTE5ZGYuLjM3NTE4ZGIgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ludGwudGVzdHMKKysrIGIvdGVzdHMvaW50bC50ZXN0cwpAQCAtMzUsNyArMzUsMTEgQEAKIHNldCBhIGIKIAogcHJpbnRmICclc1xuJyAiJCoiCi1wcmludGYgJyVzJyAiJCoiIHwgb2QgLWIKKyMgc3F1ZWV6ZSBvdXQgYmxhbmtzIHRvIGF2b2lkIHdoaXRlIHNwYWNlIGRpZmZlcmVuY2VzIGluIG9kIGltcGxlbWVudGF0aW9ucworcHJpbnRmICclcycgIiQqIiB8IG9kIC1iIHwgKCBJRlM9JCcgXHRcbicgOyAgd2hpbGUgcmVhZCBsaW5lOyBkbyBlY2hvICRsaW5lOyBkb25lOyApCiAKICMgZGlzcGxheSBkaWZmZXJlbmNlcyBtYWtlIHRoaXMgcHJvYmxlbWF0aWMKICR7VEhJU19TSH0gLi9pbnRsMS5zdWIKKworIyB0aGlzIHRlc3RzIGJvdGggaW50ZXJuYXRpb25hbCBoYW5kbGluZyBpbiBwcmludGYgYW5kIHRlbXBvcmFyeSBlbnZpcm9ubWVudHMKKyR7VEhJU19TSH0gLi9pbnRsMi5zdWIKZGlmZiAtLWdpdCBhL3Rlc3RzL2ludGwyLnN1YiBiL3Rlc3RzL2ludGwyLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDk2MWJjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvaW50bDIuc3ViCkBAIC0wLDAgKzEsMTEgQEAKK3Vuc2V0IExDX0FMTCBMQ19OVU1FUklDCitleHBvcnQgTEFORz1kZV9ERS5VVEYtOAorcHJpbnRmICclLjRmXG4nIDEKKworTEFORz1DIHByaW50ZiAnJS40ZlxuJyAxCitMQU5HPUMgL3Vzci9iaW4vcHJpbnRmICclLjRmXG4nIDEKKworZW52IExBTkc9QyBwcmludGYgJyUuNGZcbicgMQorKExBTkc9QzsgcHJpbnRmICclLjRmXG4nIDEpCisKK3ByaW50ZiAnJS40ZlxuJyAxCmRpZmYgLS1naXQgYS90ZXN0cy9sYXN0cGlwZS5yaWdodCBiL3Rlc3RzL2xhc3RwaXBlLnJpZ2h0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzZmUwODkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9sYXN0cGlwZS5yaWdodApAQCAtMCwwICsxLDEwIEBACithZnRlciAxOiBmb28gPSBhIGIgYworYWZ0ZXIgMjogdG90ID0gNgorYWZ0ZXI6IDcKK2xhc3QgPSBjCisxIC0tIDE0MiAxCiswIC0tIDAgMSAwCisxIC0tIDAgMCAxCisxIC0tIDAgMCAxCisxIC0tIDAgMSAwCitsYXN0cGlwZTEuc3ViIHJldHVybnMgMTQKZGlmZiAtLWdpdCBhL3Rlc3RzL2xhc3RwaXBlLnRlc3RzIGIvdGVzdHMvbGFzdHBpcGUudGVzdHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNmYTIxNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2xhc3RwaXBlLnRlc3RzCkBAIC0wLDAgKzEsNTggQEAKK2JpbmZhbHNlKCkKK3sKKwkkYmluZmFsc2UgfHwgcmV0dXJuIDEJIyBub3JtYWxpemUgcmV0dXJuIHZhbHVlCit9CisKK2lmIFsgLXggL3Vzci9iaW4vdHJ1ZSBdOyB0aGVuCisJYmludHJ1ZT0vdXNyL2Jpbi90cnVlCitlbGlmIFsgLXggL2Jpbi90cnVlIF07IHRoZW4KKwliaW50cnVlPS9iaW4vdHJ1ZQorZWxzZQorCWJpbnRydWU9dHJ1ZQorZmkKK2lmIFsgLXggL3Vzci9iaW4vZmFsc2UgXTsgdGhlbgorCWJpbmZhbHNlPS91c3IvYmluL2ZhbHNlCitlbGlmIFsgLXggL2Jpbi9mYWxzZSBdOyB0aGVuCisJYmluZmFsc2U9L2Jpbi9mYWxzZQorZWxzZQorCWJpbmZhbHNlPXRydWUKK2ZpCisKK3Nob3B0IC1zIGxhc3RwaXBlCisKK3Vuc2V0IGZvbyBiYXIKK2VjaG8gYSBiIGMgfCByZWFkIGZvbworZWNobyBhZnRlciAxOiBmb28gPSAkZm9vCisKK3Vuc2V0IHRvdAorZGVjbGFyZSAtaSB0b3QKK3ByaW50ZiAiJWRcbiIgMSAyIDMgfCB3aGlsZSByZWFkIGZvbzsgZG8gdG90Kz0kZm9vOyBkb25lCitlY2hvIGFmdGVyIDI6IHRvdCA9ICR0b3QKKwordW5zZXQgYmFyCitlY2hvIGcgaCBpIHwgYmFyPTcKK2VjaG8gYWZ0ZXI6ICRiYXIKKwordW5zZXQgZm9vIGxhc3QKK3ByaW50ZiAiJXNcbiIgYSBiIGMgfCB3aGlsZSByZWFkIGZvbzsgZG8gbGFzdD0kZm9vOyBkb25lCitlY2hvIGxhc3QgPSAkbGFzdAorCitleGl0IDE0MiB8IGZhbHNlCitlY2hvICQ/IC0tICR7UElQRVNUQVRVU1tAXX0KKwordHJ1ZSB8IGZhbHNlIHwgJGJpbnRydWUKK2VjaG8gJD8gLS0gJHtQSVBFU1RBVFVTW0BdfQorCit0cnVlIHwgJGJpbnRydWUgfCBmYWxzZQorZWNobyAkPyAtLSAke1BJUEVTVEFUVVNbQF19CisKK3NldCAtbyBwaXBlZmFpbAordHJ1ZSB8ICRiaW50cnVlIHwgZmFsc2UKK2VjaG8gJD8gLS0gJHtQSVBFU1RBVFVTW0BdfQorCit0cnVlIHwgYmluZmFsc2UgfCB0cnVlCitlY2hvICQ/IC0tICR7UElQRVNUQVRVU1tAXX0KK3NldCArbyBwaXBlZmFpbAorCiske1RISVNfU0h9IC4vbGFzdHBpcGUxLnN1YgorZWNobyBsYXN0cGlwZTEuc3ViIHJldHVybnMgJD8KZGlmZiAtLWdpdCBhL3Rlc3RzL2xhc3RwaXBlMS5zdWIgYi90ZXN0cy9sYXN0cGlwZTEuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzNzExZTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9sYXN0cGlwZTEuc3ViCkBAIC0wLDAgKzEsNSBAQAorIyB3aXRoIGxhc3RwaXBlIHNldCwgZXhpdCBhdCB0aGUgZW5kIG9mIGEgcGlwZWxpbmUgZXhpdHMKKyMgdGhlIGNhbGxpbmcgc2hlbGwKK3Nob3B0IC1zIGxhc3RwaXBlCitleGl0IDE0MiB8IGV4aXQgMTQKK2VjaG8gYWZ0ZXI6ICQ/CmRpZmYgLS1naXQgYS90ZXN0cy9tYXBmaWxlLnJpZ2h0IGIvdGVzdHMvbWFwZmlsZS5yaWdodAppbmRleCAxZTczZWIxLi45ZmQ0YmI1IDEwMDY0NAotLS0gYS90ZXN0cy9tYXBmaWxlLnJpZ2h0CisrKyBiL3Rlc3RzL21hcGZpbGUucmlnaHQKQEAgLTMxLDI4ICszMSw0OSBAQAogW2VdIGFiY2RlZmdoaWprbG1uT3AKIFtmXSBhYmNkZWZnaGlqa2xtbm9QCiBhCi0wCi0xCi0yCi0zCi00Ci01Ci02Ci03Ci04Ci05Ci0xMAotMTEKLTEyCi0xMwotMTQKLTE1Ci0xNgotMgotNQotOAotMTEKLTE0CiswIFswXSBBYmNkZWZnaGlqa2xtbm9wCisKKzEgWzFdIGFCY2RlZmdoaWprbG1ub3AKKworMiBbMl0gYWJDZGVmZ2hpamtsbW5vcAorCiszIFszXSBhYmNEZWZnaGlqa2xtbm9wCisKKzQgWzRdIGFiY2RFZmdoaWprbG1ub3AKKworNSBbNV0gYWJjZGVGZ2hpamtsbW5vcAorCis2IFs2XSBhYmNkZWZHaGlqa2xtbm9wCisKKzcgWzddIGFiY2RlZmdIaWprbG1ub3AKKworOCBbOF0gYWJjZGVmZ2hJamtsbW5vcAorCis5IFs5XSBhYmNkZWZnaGlKa2xtbm9wCisKKzEwIFthXSBhYmNkZWZnaGlqS2xtbm9wCisKKzExIFtiXSBhYmNkZWZnaGlqa0xtbm9wCisKKzEyIFtjXSBhYmNkZWZnaGlqa2xNbm9wCisKKzEzIFtkXSBhYmNkZWZnaGlqa2xtTm9wCisKKzE0IFtlXSBhYmNkZWZnaGlqa2xtbk9wCisKKzE1IFtmXSBhYmNkZWZnaGlqa2xtbm9QCisKKzE2IGEKKzIgWzJdIGFiQ2RlZmdoaWprbG1ub3AKKworNSBbNV0gYWJjZGVGZ2hpamtsbW5vcAorCis4IFs4XSBhYmNkZWZnaElqa2xtbm9wCisKKzExIFtiXSBhYmNkZWZnaGlqa0xtbm9wCisKKzE0IFtlXSBhYmNkZWZnaGlqa2xtbk9wCisKIFswXSBBYmNkZWZnaGlqa2xtbm9wCiBbMV0gYUJjZGVmZ2hpamtsbW5vcAogWzJdIGFiQ2RlZmdoaWprbG1ub3AKQEAgLTEzMSw4ICsxNTIsMTMgQEAKIFsyOF0gYWFhCiBbMjldIGFhYQogMSAyIDMgNCA1Ci1mb28gMAotZm9vIDEKLWZvbyAyCi1mb28gMwotZm9vIDQKK2ZvbyAwIDEKKworZm9vIDEgMgorCitmb28gMiAzCisKK2ZvbyAzIDQKKworZm9vIDQgNQorCmRpZmYgLS1naXQgYS90ZXN0cy9uZXctZXhwLnJpZ2h0IGIvdGVzdHMvbmV3LWV4cC5yaWdodAppbmRleCBjODZjNTQ2Li5hYzAwNThmIDEwMDY0NAotLS0gYS90ZXN0cy9uZXctZXhwLnJpZ2h0CisrKyBiL3Rlc3RzL25ldy1leHAucmlnaHQKQEAgLTIzMyw3ICsyMzMsNyBAQAogYXJndlsxXSA9IDxvbmV0d28+CiBhcmd2WzFdID0gPHR3bz4KIGFyZ3ZbMV0gPSA8b25lb25ldHdvPgotLi9uZXctZXhwLnRlc3RzOiBsaW5lIDQyMTogLTI6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMAorYXJndlsxXSA9IDxhPgogYXJndlsxXSA9IDxkZWZnaGk+CiBhcmd2WzFdID0gPGVmZ2hpPgogYXJndlsxXSA9IDxlKmRvY3JpbmU+CkBAIC0zOTUsMTMgKzM5NSwxMyBAQAogYXJndls3XSA9IDx4PgogYXJndls4XSA9IDx5PgogYXJndls5XSA9IDx6PgotLi9uZXctZXhwLnRlc3RzOiBsaW5lIDQ4MDogJDk6IHVuYm91bmQgdmFyaWFibGUKLS4vbmV3LWV4cC50ZXN0czogbGluZSA0ODE6IDk6IHVuYm91bmQgdmFyaWFibGUKLS4vbmV3LWV4cC50ZXN0czogbGluZSA0ODI6IFVOU0VUOiB1bmJvdW5kIHZhcmlhYmxlCi0uL25ldy1leHAudGVzdHM6IGxpbmUgNDgzOiBVTlNFVDogdW5ib3VuZCB2YXJpYWJsZQorLi9uZXctZXhwLnRlc3RzOiBsaW5lIDQ4MjogJDk6IHVuYm91bmQgdmFyaWFibGUKKy4vbmV3LWV4cC50ZXN0czogbGluZSA0ODM6IDk6IHVuYm91bmQgdmFyaWFibGUKIC4vbmV3LWV4cC50ZXN0czogbGluZSA0ODQ6IFVOU0VUOiB1bmJvdW5kIHZhcmlhYmxlCiAuL25ldy1leHAudGVzdHM6IGxpbmUgNDg1OiBVTlNFVDogdW5ib3VuZCB2YXJpYWJsZQogLi9uZXctZXhwLnRlc3RzOiBsaW5lIDQ4NjogVU5TRVQ6IHVuYm91bmQgdmFyaWFibGUKKy4vbmV3LWV4cC50ZXN0czogbGluZSA0ODc6IFVOU0VUOiB1bmJvdW5kIHZhcmlhYmxlCisuL25ldy1leHAudGVzdHM6IGxpbmUgNDg4OiBVTlNFVDogdW5ib3VuZCB2YXJpYWJsZQogYXJndlsxXSA9IDw1PgogYXJndlsxXSA9IDwjPgogYXJndlsxXSA9IDwjPgpAQCAtNDMwLDcgKzQzMCw3IEBACiBDYXNlMDYtLS0xLS0tQSBCIEM6Oi0tLQogQ2FzZTA3LS0tMy0tLUE6QjpDLS0tCiBDYXNlMDgtLS0zLS0tQTpCOkMtLS0KLS4vbmV3LWV4cC50ZXN0czogbGluZSA1MDY6ICR7JCgoJCMtMSkpfTogYmFkIHN1YnN0aXR1dGlvbgorLi9uZXctZXhwLnRlc3RzOiBsaW5lIDUwODogJHskKCgkIy0xKSl9OiBiYWQgc3Vic3RpdHV0aW9uCiBhcmd2WzFdID0gPGE+CiBhcmd2WzJdID0gPGI+CiBhcmd2WzNdID0gPGM+CkBAIC00NDcsNyArNDQ3LDcgQEAKIGFyZ3ZbMV0gPSA8YT4KIGFyZ3ZbMl0gPSA8Yj4KIGFyZ3ZbMV0gPSA8PgotLi9uZXctZXhwLnRlc3RzOiBsaW5lIDUyNTogJCgoJCMgLSAyKSk6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMAorLi9uZXctZXhwLnRlc3RzOiBsaW5lIDUyNzogJCgoJCMgLSAyKSk6IHN1YnN0cmluZyBleHByZXNzaW9uIDwgMAogYXJndlsxXSA9IDxiaW4+CiBhcmd2WzJdID0gPGJpbj4KIGFyZ3ZbM10gPSA8dWNiPgpAQCAtNTM3LDYgKzUzNywyOCBAQAogeyAKICAgICBlY2hvIDwgPChjYXQgeDEpCiB9CitzdGFydDtpbmcwO2luZzE7aW5nMjtpbmczO2luZzQ7aW5nNTtpbmc2O2luZzc7aW5nODtpbmc5O2luZzEwO2luZzExO2luZzEyO2luZzEzO2luZzE0O2luZzE1O2luZzE2O2luZzE3O2luZzE4O2luZzE5O2luZzIwO2luZzIxO2luZzIyO2luZzIzO2luZzI0O2luZzI1O2luZzI2O2luZzI3O2luZzI4O2luZzI5O2luZzMwO2luZzMxO2luZzMyO2luZzMzO2luZzM0O2luZzM1O2luZzM2O2luZzM3O2luZzM4O2luZzM5O2luZzQwO2luZzQxO2luZzQyO2luZzQzO2luZzQ0O2luZzQ1O2luZzQ2O2luZzQ3O2luZzQ4O2luZzQ5O2luZzUwO2luZzUxO2luZzUyO2luZzUzO2luZzU0O2luZzU1O2luZzU2O2luZzU3O2luZzU4O2luZzU5O2luZzYwO2luZzYxO2luZzYyO2luZzYzO2luZzY0O2luZzY1O2luZzY2O2luZzY3O2luZzY4O2luZzY5O2luZzcwO2luZzcxO2luZzcyO2luZzczO2luZzc0O2luZzc1O2luZzc2O2luZzc3O2luZzc4O2luZzc5O2luZzgwO2luZzgxO2luZzgyO2luZzgzO2luZzg0O2luZzg1O2luZzg2O2luZzg3O2luZzg4O2luZzg5O2luZzkwO2luZzkxO2luZzkyO2luZzkzO2luZzk0O2luZzk1O2luZzk2O2luZzk3O2luZzk4O2luZzk5O2luZzEwMDtpbmcxMDE7aW5nMTAyO2luZzEwMztpbmcxMDQ7aW5nMTA1O2luZzEwNjtpbmcxMDc7aW5nMTA4O2luZzEwOTtpbmcxMTA7aW5nMTExO2luZzExMjtpbmcxMTM7aW5nMTE0O2luZzExNTtpbmcxMTY7aW5nMTE3O2luZzExODtpbmcxMTk7aW5nMTIwO2luZzEyMTtpbmcxMjI7aW5nMTIzO2luZzEyNDtpbmcxMjU7aW5nMTI2O2luZzEyNztpbmcxMjg7aW5nMTI5O2luZzEzMDtpbmcxMzE7aW5nMTMyO2luZzEzMztpbmcxMzQ7aW5nMTM1O2luZzEzNjtpbmcxMzc7aW5nMTM4O2luZzEzOTtpbmcxNDA7aW5nMTQxO2luZzE0MjtpbmcxNDM7aW5nMTQ0O2luZzE0NTtpbmcxNDY7aW5nMTQ3O2luZzE0ODtpbmcxNDk7aW5nMTUwO2luZzE1MTtpbmcxNTI7aW5nMTUzO2luZzE1NDtpbmcxNTU7aW5nMTU2O2luZzE1NztpbmcxNTg7aW5nMTU5O2luZzE2MDtpbmcxNjE7aW5nMTYyO2luZzE2MztpbmcxNjQ7aW5nMTY1O2luZzE2NjtpbmcxNjc7aW5nMTY4O2luZzE2OTtpbmcxNzA7aW5nMTcxO2luZzE3MjtpbmcxNzM7aW5nMTc0O2luZzE3NTtpbmcxNzY7aW5nMTc3O2luZzE3ODtpbmcxNzk7aW5nMTgwO2luZzE4MTtpbmcxODI7aW5nMTgzO2luZzE4NDtpbmcxODU7aW5nMTg2O2luZzE4NztpbmcxODg7aW5nMTg5O2luZzE5MDtpbmcxOTE7aW5nMTkyO2luZzE5MztpbmcxOTQ7aW5nMTk1O2luZzE5NjtpbmcxOTc7aW5nMTk4O2luZzE5OTtpbmcyMDA7aW5nMjAxO2luZzIwMjtpbmcyMDM7aW5nMjA0O2luZzIwNTtpbmcyMDY7aW5nMjA3O2luZzIwODtpbmcyMDk7aW5nMjEwO2luZzIxMTtpbmcyMTI7aW5nMjEzO2luZzIxNDtpbmcyMTU7aW5nMjE2O2luZzIxNztpbmcyMTg7aW5nMjE5O2luZzIyMDtpbmcyMjE7aW5nMjIyO2luZzIyMztpbmcyMjQ7aW5nMjI1O2luZzIyNjtpbmcyMjc7aW5nMjI4O2luZzIyOTtpbmcyMzA7aW5nMjMxO2luZzIzMjtpbmcyMzM7aW5nMjM0O2luZzIzNTtpbmcyMzY7aW5nMjM3O2luZzIzODtpbmcyMzk7aW5nMjQwO2luZzI0MTtpbmcyNDI7aW5nMjQzO2luZzI0NDtpbmcyNDU7aW5nMjQ2O2luZzI0NztpbmcyNDg7aW5nMjQ5O2luZzI1MDtpbmcyNTE7aW5nMjUyO2luZzI1MztpbmcyNTQ7aW5nMjU1O2luZzI1NjtpbmcyNTc7aW5nMjU4O2luZzI1OTtpbmcyNjA7aW5nMjYxO2luZzI2MjtpbmcyNjM7aW5nMjY0O2luZzI2NTtpbmcyNjY7aW5nMjY3O2luZzI2ODtpbmcyNjk7aW5nMjcwO2luZzI3MTtpbmcyNzI7aW5nMjczO2luZzI3NDtpbmcyNzU7aW5nMjc2O2luZzI3NztpbmcyNzg7aW5nMjc5O2luZzI4MDtpbmcyODE7aW5nMjgyO2luZzI4MztpbmcyODQ7aW5nMjg1O2luZzI4NjtpbmcyODc7aW5nMjg4O2luZzI4OTtpbmcyOTA7aW5nMjkxO2luZzI5MjtpbmcyOTM7aW5nMjk0O2luZzI5NTtpbmcyOTY7aW5nMjk3O2luZzI5ODtpbmcyOTk7aW5nMzAwO2luZzMwMTtpbmczMDI7aW5nMzAzO2luZzMwNDtpbmczMDU7aW5nMzA2O2luZzMwNztpbmczMDg7aW5nMzA5O2luZzMxMDtpbmczMTE7aW5nMzEyO2luZzMxMztpbmczMTQ7aW5nMzE1O2luZzMxNjtpbmczMTc7aW5nMzE4O2luZzMxOTtpbmczMjA7aW5nMzIxO2luZzMyMjtpbmczMjM7aW5nMzI0O2luZzMyNTtpbmczMjY7aW5nMzI3O2luZzMyODtpbmczMjk7aW5nMzMwO2luZzMzMTtpbmczMzI7aW5nMzMzO2luZzMzNDtpbmczMzU7aW5nMzM2O2luZzMzNztpbmczMzg7aW5nMzM5O2luZzM0MDtpbmczNDE7aW5nMzQyO2luZzM0MztpbmczNDQ7aW5nMzQ1O2luZzM0NjtpbmczNDc7aW5nMzQ4O2luZzM0OTtpbmczNTA7aW5nMzUxO2luZzM1MjtpbmczNTM7aW5nMzU0O2luZzM1NTtpbmczNTY7aW5nMzU3O2luZzM1ODtpbmczNTk7aW5nMzYwO2luZzM2MTtpbmczNjI7aW5nMzYzO2luZzM2NDtpbmczNjU7aW5nMzY2O2luZzM2NztpbmczNjg7aW5nMzY5O2luZzM3MDtpbmczNzE7aW5nMzcyO2luZzM3MztpbmczNzQ7aW5nMzc1O2luZzM3NjtpbmczNzc7aW5nMzc4O2luZzM3OTtpbmczODA7aW5nMzgxO2luZzM4MjtpbmczODM7aW5nMzg0O2luZzM4NTtpbmczODY7aW5nMzg3O2luZzM4ODtpbmczODk7aW5nMzkwO2luZzM5MTtpbmczOTI7aW5nMzkzO2luZzM5NDtpbmczOTU7aW5nMzk2O2luZzM5NztpbmczOTg7aW5nMzk5O2luZzQwMDtpbmc0MDE7aW5nNDAyO2luZzQwMztpbmc0MDQ7aW5nNDA1O2luZzQwNjtpbmc0MDc7aW5nNDA4O2luZzQwOTtpbmc0MTA7aW5nNDExO2luZzQxMjtpbmc0MTM7aW5nNDE0O2luZzQxNTtpbmc0MTY7aW5nNDE3O2luZzQxODtpbmc0MTk7aW5nNDIwO2luZzQyMTtpbmc0MjI7aW5nNDIzO2luZzQyNDtpbmc0MjU7aW5nNDI2O2luZzQyNztpbmc0Mjg7aW5nNDI5O2luZzQzMDtpbmc0MzE7aW5nNDMyO2luZzQzMztpbmc0MzQ7aW5nNDM1O2luZzQzNjtpbmc0Mzc7aW5nNDM4O2luZzQzOTtpbmc0NDA7aW5nNDQxO2luZzQ0Mjtpbmc0NDM7aW5nNDQ0O2luZzQ0NTtpbmc0NDY7aW5nNDQ3O2luZzQ0ODtpbmc0NDk7aW5nNDUwO2luZzQ1MTtpbmc0NTI7aW5nNDUzO2luZzQ1NDtpbmc0NTU7aW5nNDU2O2luZzQ1Nztpbmc0NTg7aW5nNDU5O2luZzQ2MDtpbmc0NjE7aW5nNDYyO2luZzQ2Mztpbmc0NjQ7aW5nNDY1O2luZzQ2Njtpbmc0Njc7aW5nNDY4O2luZzQ2OTtpbmc0NzA7aW5nNDcxO2luZzQ3Mjtpbmc0NzM7aW5nNDc0O2luZzQ3NTtpbmc0NzY7aW5nNDc3O2luZzQ3ODtpbmc0Nzk7aW5nNDgwO2luZzQ4MTtpbmc0ODI7aW5nNDgzO2luZzQ4NDtpbmc0ODU7aW5nNDg2O2luZzQ4Nztpbmc0ODg7aW5nNDg5O2luZzQ5MDtpbmc0OTE7aW5nNDkyO2luZzQ5Mztpbmc0OTQ7aW5nNDk1O2luZzQ5Njtpbmc0OTc7aW5nNDk4O2luZzQ5OTtpbmc1MDA7aW5nNTAxO2luZzUwMjtpbmc1MDM7aW5nNTA0O2luZzUwNTtpbmc1MDY7aW5nNTA3O2luZzUwODtpbmc1MDk7aW5nNTEwO2luZzUxMTtpbmc1MTI7aW5nNTEzO2luZzUxNDtpbmc1MTU7aW5nNTE2O2luZzUxNztpbmc1MTg7aW5nNTE5O2luZzUyMDtpbmc1MjE7aW5nNTIyO2luZzUyMztpbmc1MjQ7aW5nNTI1O2luZzUyNjtpbmc1Mjc7aW5nNTI4O2luZzUyOTtpbmc1MzA7aW5nNTMxO2luZzUzMjtpbmc1MzM7aW5nNTM0O2luZzUzNTtpbmc1MzY7aW5nNTM3O2luZzUzODtpbmc1Mzk7aW5nNTQwO2luZzU0MTtpbmc1NDI7aW5nNTQzO2luZzU0NDtpbmc1NDU7aW5nNTQ2O2luZzU0Nztpbmc1NDg7aW5nNTQ5O2luZzU1MDtpbmc1NTE7aW5nNTUyO2luZzU1Mztpbmc1NTQ7aW5nNTU1O2luZzU1Njtpbmc1NTc7aW5nNTU4O2luZzU1OTtpbmc1NjA7aW5nNTYxO2luZzU2Mjtpbmc1NjM7aW5nNTY0O2luZzU2NTtpbmc1NjY7aW5nNTY3O2luZzU2ODtpbmc1Njk7aW5nNTcwO2luZzU3MTtpbmc1NzI7aW5nNTczO2luZzU3NDtpbmc1NzU7aW5nNTc2O2luZzU3Nztpbmc1Nzg7aW5nNTc5O2luZzU4MDtpbmc1ODE7aW5nNTgyO2luZzU4Mztpbmc1ODQ7aW5nNTg1O2luZzU4Njtpbmc1ODc7aW5nNTg4O2luZzU4OTtpbmc1OTA7aW5nNTkxO2luZzU5Mjtpbmc1OTM7aW5nNTk0O2luZzU5NTtpbmc1OTY7aW5nNTk3O2luZzU5ODtpbmc1OTk7aW5nNjAwO2luZzYwMTtpbmc2MDI7aW5nNjAzO2luZzYwNDtpbmc2MDU7aW5nNjA2O2luZzYwNztpbmc2MDg7aW5nNjA5O2luZzYxMDtpbmc2MTE7aW5nNjEyO2luZzYxMztpbmc2MTQ7aW5nNjE1O2luZzYxNjtpbmc2MTc7aW5nNjE4O2luZzYxOTtpbmc2MjA7aW5nNjIxO2luZzYyMjtpbmc2MjM7aW5nNjI0O2luZzYyNTtpbmc2MjY7aW5nNjI3O2luZzYyODtpbmc2Mjk7aW5nNjMwO2luZzYzMTtpbmc2MzI7aW5nNjMzO2luZzYzNDtpbmc2MzU7aW5nNjM2O2luZzYzNztpbmc2Mzg7aW5nNjM5O2luZzY0MDtpbmc2NDE7aW5nNjQyO2luZzY0Mztpbmc2NDQ7aW5nNjQ1O2luZzY0Njtpbmc2NDc7aW5nNjQ4O2luZzY0OTtpbmc2NTA7aW5nNjUxO2luZzY1Mjtpbmc2NTM7aW5nNjU0O2luZzY1NTtpbmc2NTY7aW5nNjU3O2luZzY1ODtpbmc2NTk7aW5nNjYwO2luZzY2MTtpbmc2NjI7aW5nNjYzO2luZzY2NDtpbmc2NjU7aW5nNjY2O2luZzY2Nztpbmc2Njg7aW5nNjY5O2luZzY3MDtpbmc2NzE7aW5nNjcyO2luZzY3Mztpbmc2NzQ7aW5nNjc1O2luZzY3Njtpbmc2Nzc7aW5nNjc4O2luZzY3OTtpbmc2ODA7aW5nNjgxO2luZzY4Mjtpbmc2ODM7aW5nNjg0O2luZzY4NTtpbmc2ODY7aW5nNjg3O2luZzY4ODtpbmc2ODk7aW5nNjkwO2luZzY5MTtpbmc2OTI7aW5nNjkzO2luZzY5NDtpbmc2OTU7aW5nNjk2O2luZzY5Nztpbmc2OTg7aW5nNjk5O2luZzcwMDtpbmc3MDE7aW5nNzAyO2luZzcwMztpbmc3MDQ7aW5nNzA1O2luZzcwNjtpbmc3MDc7aW5nNzA4O2luZzcwOTtpbmc3MTA7aW5nNzExO2luZzcxMjtpbmc3MTM7aW5nNzE0O2luZzcxNTtpbmc3MTY7aW5nNzE3O2luZzcxODtpbmc3MTk7aW5nNzIwO2luZzcyMTtpbmc3MjI7aW5nNzIzO2luZzcyNDtpbmc3MjU7aW5nNzI2O2luZzcyNztpbmc3Mjg7aW5nNzI5O2luZzczMDtpbmc3MzE7aW5nNzMyO2luZzczMztpbmc3MzQ7aW5nNzM1O2luZzczNjtpbmc3Mzc7aW5nNzM4O2luZzczOTtpbmc3NDA7aW5nNzQxO2luZzc0Mjtpbmc3NDM7aW5nNzQ0O2luZzc0NTtpbmc3NDY7aW5nNzQ3O2luZzc0ODtpbmc3NDk7aW5nNzUwO2luZzc1MTtpbmc3NTI7aW5nNzUzO2luZzc1NDtpbmc3NTU7aW5nNzU2O2luZzc1Nztpbmc3NTg7aW5nNzU5O2luZzc2MDtpbmc3NjE7aW5nNzYyO2luZzc2Mztpbmc3NjQ7aW5nNzY1O2luZzc2Njtpbmc3Njc7aW5nNzY4O2luZzc2OTtpbmc3NzA7aW5nNzcxO2luZzc3Mjtpbmc3NzM7aW5nNzc0O2luZzc3NTtpbmc3NzY7aW5nNzc3O2luZzc3ODtpbmc3Nzk7aW5nNzgwO2luZzc4MTtpbmc3ODI7aW5nNzgzO2luZzc4NDtpbmc3ODU7aW5nNzg2O2luZzc4Nztpbmc3ODg7aW5nNzg5O2luZzc5MDtpbmc3OTE7aW5nNzkyO2luZzc5Mztpbmc3OTQ7aW5nNzk1O2luZzc5Njtpbmc3OTc7aW5nNzk4O2luZzc5OTtpbmc4MDA7aW5nODAxO2luZzgwMjtpbmc4MDM7aW5nODA0O2luZzgwNTtpbmc4MDY7aW5nODA3O2luZzgwODtpbmc4MDk7aW5nODEwO2luZzgxMTtpbmc4MTI7aW5nODEzO2luZzgxNDtpbmc4MTU7aW5nODE2O2luZzgxNztpbmc4MTg7aW5nODE5O2luZzgyMDtpbmc4MjE7aW5nODIyO2luZzgyMztpbmc4MjQ7aW5nODI1O2luZzgyNjtpbmc4Mjc7aW5nODI4O2luZzgyOTtpbmc4MzA7aW5nODMxO2luZzgzMjtpbmc4MzM7aW5nODM0O2luZzgzNTtpbmc4MzY7aW5nODM3O2luZzgzODtpbmc4Mzk7aW5nODQwO2luZzg0MTtpbmc4NDI7aW5nODQzO2luZzg0NDtpbmc4NDU7aW5nODQ2O2luZzg0Nztpbmc4NDg7aW5nODQ5O2luZzg1MDtpbmc4NTE7aW5nODUyO2luZzg1Mztpbmc4NTQ7aW5nODU1O2luZzg1Njtpbmc4NTc7aW5nODU4O2luZzg1OTtpbmc4NjA7aW5nODYxO2luZzg2Mjtpbmc4NjM7aW5nODY0O2luZzg2NTtpbmc4NjY7aW5nODY3O2luZzg2ODtpbmc4Njk7aW5nODcwO2luZzg3MTtpbmc4NzI7aW5nODczO2luZzg3NDtpbmc4NzU7aW5nODc2O2luZzg3Nztpbmc4Nzg7aW5nODc5O2luZzg4MDtpbmc4ODE7aW5nODgyO2luZzg4Mztpbmc4ODQ7aW5nODg1O2luZzg4Njtpbmc4ODc7aW5nODg4O2luZzg4OTtpbmc4OTA7aW5nODkxO2luZzg5Mjtpbmc4OTM7aW5nODk0O2luZzg5NTtpbmc4OTY7aW5nODk3O2luZzg5ODtpbmc4OTk7aW5nOTAwO2luZzkwMTtpbmc5MDI7aW5nOTAzO2luZzkwNDtpbmc5MDU7aW5nOTA2O2luZzkwNztpbmc5MDg7aW5nOTA5O2luZzkxMDtpbmc5MTE7aW5nOTEyO2luZzkxMztpbmc5MTQ7aW5nOTE1O2luZzkxNjtpbmc5MTc7aW5nOTE4O2luZzkxOTtpbmc5MjA7aW5nOTIxO2luZzkyMjtpbmc5MjM7aW5nOTI0O2luZzkyNTtpbmc5MjY7aW5nOTI3O2luZzkyODtpbmc5Mjk7aW5nOTMwO2luZzkzMTtpbmc5MzI7aW5nOTMzO2luZzkzNDtpbmc5MzU7aW5nOTM2O2luZzkzNztpbmc5Mzg7aW5nOTM5O2luZzk0MDtpbmc5NDE7aW5nOTQyO2luZzk0Mztpbmc5NDQ7aW5nOTQ1O2luZzk0Njtpbmc5NDc7aW5nOTQ4O2luZzk0OTtpbmc5NTA7aW5nOTUxO2luZzk1Mjtpbmc5NTM7aW5nOTU0O2luZzk1NTtpbmc5NTY7aW5nOTU3O2luZzk1ODtpbmc5NTk7aW5nOTYwO2luZzk2MTtpbmc5NjI7aW5nOTYzO2luZzk2NDtpbmc5NjU7aW5nOTY2O2luZzk2Nztpbmc5Njg7aW5nOTY5O2luZzk3MDtpbmc5NzE7aW5nOTcyO2luZzk3Mztpbmc5NzQ7aW5nOTc1O2luZzk3Njtpbmc5Nzc7aW5nOTc4O2luZzk3OTtpbmc5ODA7aW5nOTgxO2luZzk4Mjtpbmc5ODM7aW5nOTg0O2luZzk4NTtpbmc5ODY7aW5nOTg3O2luZzk4ODtpbmc5ODk7aW5nOTkwO2luZzk5MTtpbmc5OTI7aW5nOTkzO2luZzk5NDtpbmc5OTU7aW5nOTk2O2luZzk5Nztpbmc5OTg7aW5nOTk5Cis7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Cis7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7CitzdGFydDtzdHJpbmcwO3N0cmluZzE7c3RyaW5nMjtzdHJpbmczO3N0cmluZzQ7c3RyaW5nNTtzdHJpbmc2O3N0cmluZzc7c3RyaW5nODtzdHJpbmc5O3N0cmluZzEwO3N0cmluZzExO3N0cmluZzEyO3N0cmluZzEzO3N0cmluZzE0O3N0cmluZzE1O3N0cmluZzE2O3N0cmluZzE3O3N0cmluZzE4O3N0cmluZzE5O3N0cmluZzIwO3N0cmluZzIxO3N0cmluZzIyO3N0cmluZzIzO3N0cmluZzI0O3N0cmluZzI1O3N0cmluZzI2O3N0cmluZzI3O3N0cmluZzI4O3N0cmluZzI5O3N0cmluZzMwO3N0cmluZzMxO3N0cmluZzMyO3N0cmluZzMzO3N0cmluZzM0O3N0cmluZzM1O3N0cmluZzM2O3N0cmluZzM3O3N0cmluZzM4O3N0cmluZzM5O3N0cmluZzQwO3N0cmluZzQxO3N0cmluZzQyO3N0cmluZzQzO3N0cmluZzQ0O3N0cmluZzQ1O3N0cmluZzQ2O3N0cmluZzQ3O3N0cmluZzQ4O3N0cmluZzQ5O3N0cmluZzUwO3N0cmluZzUxO3N0cmluZzUyO3N0cmluZzUzO3N0cmluZzU0O3N0cmluZzU1O3N0cmluZzU2O3N0cmluZzU3O3N0cmluZzU4O3N0cmluZzU5O3N0cmluZzYwO3N0cmluZzYxO3N0cmluZzYyO3N0cmluZzYzO3N0cmluZzY0O3N0cmluZzY1O3N0cmluZzY2O3N0cmluZzY3O3N0cmluZzY4O3N0cmluZzY5O3N0cmluZzcwO3N0cmluZzcxO3N0cmluZzcyO3N0cmluZzczO3N0cmluZzc0O3N0cmluZzc1O3N0cmluZzc2O3N0cmluZzc3O3N0cmluZzc4O3N0cmluZzc5O3N0cmluZzgwO3N0cmluZzgxO3N0cmluZzgyO3N0cmluZzgzO3N0cmluZzg0O3N0cmluZzg1O3N0cmluZzg2O3N0cmluZzg3O3N0cmluZzg4O3N0cmluZzg5O3N0cmluZzkwO3N0cmluZzkxO3N0cmluZzkyO3N0cmluZzkzO3N0cmluZzk0O3N0cmluZzk1O3N0cmluZzk2O3N0cmluZzk3O3N0cmluZzk4O3N0cmluZzk5O3N0cmluZzEwMDtzdHJpbmcxMDE7c3RyaW5nMTAyO3N0cmluZzEwMztzdHJpbmcxMDQ7c3RyaW5nMTA1O3N0cmluZzEwNjtzdHJpbmcxMDc7c3RyaW5nMTA4O3N0cmluZzEwOTtzdHJpbmcxMTA7c3RyaW5nMTExO3N0cmluZzExMjtzdHJpbmcxMTM7c3RyaW5nMTE0O3N0cmluZzExNTtzdHJpbmcxMTY7c3RyaW5nMTE3O3N0cmluZzExODtzdHJpbmcxMTk7c3RyaW5nMTIwO3N0cmluZzEyMTtzdHJpbmcxMjI7c3RyaW5nMTIzO3N0cmluZzEyNDtzdHJpbmcxMjU7c3RyaW5nMTI2O3N0cmluZzEyNztzdHJpbmcxMjg7c3RyaW5nMTI5O3N0cmluZzEzMDtzdHJpbmcxMzE7c3RyaW5nMTMyO3N0cmluZzEzMztzdHJpbmcxMzQ7c3RyaW5nMTM1O3N0cmluZzEzNjtzdHJpbmcxMzc7c3RyaW5nMTM4O3N0cmluZzEzOTtzdHJpbmcxNDA7c3RyaW5nMTQxO3N0cmluZzE0MjtzdHJpbmcxNDM7c3RyaW5nMTQ0O3N0cmluZzE0NTtzdHJpbmcxNDY7c3RyaW5nMTQ3O3N0cmluZzE0ODtzdHJpbmcxNDk7c3RyaW5nMTUwO3N0cmluZzE1MTtzdHJpbmcxNTI7c3RyaW5nMTUzO3N0cmluZzE1NDtzdHJpbmcxNTU7c3RyaW5nMTU2O3N0cmluZzE1NztzdHJpbmcxNTg7c3RyaW5nMTU5O3N0cmluZzE2MDtzdHJpbmcxNjE7c3RyaW5nMTYyO3N0cmluZzE2MztzdHJpbmcxNjQ7c3RyaW5nMTY1O3N0cmluZzE2NjtzdHJpbmcxNjc7c3RyaW5nMTY4O3N0cmluZzE2OTtzdHJpbmcxNzA7c3RyaW5nMTcxO3N0cmluZzE3MjtzdHJpbmcxNzM7c3RyaW5nMTc0O3N0cmluZzE3NTtzdHJpbmcxNzY7c3RyaW5nMTc3O3N0cmluZzE3ODtzdHJpbmcxNzk7c3RyaW5nMTgwO3N0cmluZzE4MTtzdHJpbmcxODI7c3RyaW5nMTgzO3N0cmluZzE4NDtzdHJpbmcxODU7c3RyaW5nMTg2O3N0cmluZzE4NztzdHJpbmcxODg7c3RyaW5nMTg5O3N0cmluZzE5MDtzdHJpbmcxOTE7c3RyaW5nMTkyO3N0cmluZzE5MztzdHJpbmcxOTQ7c3RyaW5nMTk1O3N0cmluZzE5NjtzdHJpbmcxOTc7c3RyaW5nMTk4O3N0cmluZzE5OTtzdHJpbmcyMDA7c3RyaW5nMjAxO3N0cmluZzIwMjtzdHJpbmcyMDM7c3RyaW5nMjA0O3N0cmluZzIwNTtzdHJpbmcyMDY7c3RyaW5nMjA3O3N0cmluZzIwODtzdHJpbmcyMDk7c3RyaW5nMjEwO3N0cmluZzIxMTtzdHJpbmcyMTI7c3RyaW5nMjEzO3N0cmluZzIxNDtzdHJpbmcyMTU7c3RyaW5nMjE2O3N0cmluZzIxNztzdHJpbmcyMTg7c3RyaW5nMjE5O3N0cmluZzIyMDtzdHJpbmcyMjE7c3RyaW5nMjIyO3N0cmluZzIyMztzdHJpbmcyMjQ7c3RyaW5nMjI1O3N0cmluZzIyNjtzdHJpbmcyMjc7c3RyaW5nMjI4O3N0cmluZzIyOTtzdHJpbmcyMzA7c3RyaW5nMjMxO3N0cmluZzIzMjtzdHJpbmcyMzM7c3RyaW5nMjM0O3N0cmluZzIzNTtzdHJpbmcyMzY7c3RyaW5nMjM3O3N0cmluZzIzODtzdHJpbmcyMzk7c3RyaW5nMjQwO3N0cmluZzI0MTtzdHJpbmcyNDI7c3RyaW5nMjQzO3N0cmluZzI0NDtzdHJpbmcyNDU7c3RyaW5nMjQ2O3N0cmluZzI0NztzdHJpbmcyNDg7c3RyaW5nMjQ5O3N0cmluZzI1MDtzdHJpbmcyNTE7c3RyaW5nMjUyO3N0cmluZzI1MztzdHJpbmcyNTQ7c3RyaW5nMjU1O3N0cmluZzI1NjtzdHJpbmcyNTc7c3RyaW5nMjU4O3N0cmluZzI1OTtzdHJpbmcyNjA7c3RyaW5nMjYxO3N0cmluZzI2MjtzdHJpbmcyNjM7c3RyaW5nMjY0O3N0cmluZzI2NTtzdHJpbmcyNjY7c3RyaW5nMjY3O3N0cmluZzI2ODtzdHJpbmcyNjk7c3RyaW5nMjcwO3N0cmluZzI3MTtzdHJpbmcyNzI7c3RyaW5nMjczO3N0cmluZzI3NDtzdHJpbmcyNzU7c3RyaW5nMjc2O3N0cmluZzI3NztzdHJpbmcyNzg7c3RyaW5nMjc5O3N0cmluZzI4MDtzdHJpbmcyODE7c3RyaW5nMjgyO3N0cmluZzI4MztzdHJpbmcyODQ7c3RyaW5nMjg1O3N0cmluZzI4NjtzdHJpbmcyODc7c3RyaW5nMjg4O3N0cmluZzI4OTtzdHJpbmcyOTA7c3RyaW5nMjkxO3N0cmluZzI5MjtzdHJpbmcyOTM7c3RyaW5nMjk0O3N0cmluZzI5NTtzdHJpbmcyOTY7c3RyaW5nMjk3O3N0cmluZzI5ODtzdHJpbmcyOTk7c3RyaW5nMzAwO3N0cmluZzMwMTtzdHJpbmczMDI7c3RyaW5nMzAzO3N0cmluZzMwNDtzdHJpbmczMDU7c3RyaW5nMzA2O3N0cmluZzMwNztzdHJpbmczMDg7c3RyaW5nMzA5O3N0cmluZzMxMDtzdHJpbmczMTE7c3RyaW5nMzEyO3N0cmluZzMxMztzdHJpbmczMTQ7c3RyaW5nMzE1O3N0cmluZzMxNjtzdHJpbmczMTc7c3RyaW5nMzE4O3N0cmluZzMxOTtzdHJpbmczMjA7c3RyaW5nMzIxO3N0cmluZzMyMjtzdHJpbmczMjM7c3RyaW5nMzI0O3N0cmluZzMyNTtzdHJpbmczMjY7c3RyaW5nMzI3O3N0cmluZzMyODtzdHJpbmczMjk7c3RyaW5nMzMwO3N0cmluZzMzMTtzdHJpbmczMzI7c3RyaW5nMzMzO3N0cmluZzMzNDtzdHJpbmczMzU7c3RyaW5nMzM2O3N0cmluZzMzNztzdHJpbmczMzg7c3RyaW5nMzM5O3N0cmluZzM0MDtzdHJpbmczNDE7c3RyaW5nMzQyO3N0cmluZzM0MztzdHJpbmczNDQ7c3RyaW5nMzQ1O3N0cmluZzM0NjtzdHJpbmczNDc7c3RyaW5nMzQ4O3N0cmluZzM0OTtzdHJpbmczNTA7c3RyaW5nMzUxO3N0cmluZzM1MjtzdHJpbmczNTM7c3RyaW5nMzU0O3N0cmluZzM1NTtzdHJpbmczNTY7c3RyaW5nMzU3O3N0cmluZzM1ODtzdHJpbmczNTk7c3RyaW5nMzYwO3N0cmluZzM2MTtzdHJpbmczNjI7c3RyaW5nMzYzO3N0cmluZzM2NDtzdHJpbmczNjU7c3RyaW5nMzY2O3N0cmluZzM2NztzdHJpbmczNjg7c3RyaW5nMzY5O3N0cmluZzM3MDtzdHJpbmczNzE7c3RyaW5nMzcyO3N0cmluZzM3MztzdHJpbmczNzQ7c3RyaW5nMzc1O3N0cmluZzM3NjtzdHJpbmczNzc7c3RyaW5nMzc4O3N0cmluZzM3OTtzdHJpbmczODA7c3RyaW5nMzgxO3N0cmluZzM4MjtzdHJpbmczODM7c3RyaW5nMzg0O3N0cmluZzM4NTtzdHJpbmczODY7c3RyaW5nMzg3O3N0cmluZzM4ODtzdHJpbmczODk7c3RyaW5nMzkwO3N0cmluZzM5MTtzdHJpbmczOTI7c3RyaW5nMzkzO3N0cmluZzM5NDtzdHJpbmczOTU7c3RyaW5nMzk2O3N0cmluZzM5NztzdHJpbmczOTg7c3RyaW5nMzk5O3N0cmluZzQwMDtzdHJpbmc0MDE7c3RyaW5nNDAyO3N0cmluZzQwMztzdHJpbmc0MDQ7c3RyaW5nNDA1O3N0cmluZzQwNjtzdHJpbmc0MDc7c3RyaW5nNDA4O3N0cmluZzQwOTtzdHJpbmc0MTA7c3RyaW5nNDExO3N0cmluZzQxMjtzdHJpbmc0MTM7c3RyaW5nNDE0O3N0cmluZzQxNTtzdHJpbmc0MTY7c3RyaW5nNDE3O3N0cmluZzQxODtzdHJpbmc0MTk7c3RyaW5nNDIwO3N0cmluZzQyMTtzdHJpbmc0MjI7c3RyaW5nNDIzO3N0cmluZzQyNDtzdHJpbmc0MjU7c3RyaW5nNDI2O3N0cmluZzQyNztzdHJpbmc0Mjg7c3RyaW5nNDI5O3N0cmluZzQzMDtzdHJpbmc0MzE7c3RyaW5nNDMyO3N0cmluZzQzMztzdHJpbmc0MzQ7c3RyaW5nNDM1O3N0cmluZzQzNjtzdHJpbmc0Mzc7c3RyaW5nNDM4O3N0cmluZzQzOTtzdHJpbmc0NDA7c3RyaW5nNDQxO3N0cmluZzQ0MjtzdHJpbmc0NDM7c3RyaW5nNDQ0O3N0cmluZzQ0NTtzdHJpbmc0NDY7c3RyaW5nNDQ3O3N0cmluZzQ0ODtzdHJpbmc0NDk7c3RyaW5nNDUwO3N0cmluZzQ1MTtzdHJpbmc0NTI7c3RyaW5nNDUzO3N0cmluZzQ1NDtzdHJpbmc0NTU7c3RyaW5nNDU2O3N0cmluZzQ1NztzdHJpbmc0NTg7c3RyaW5nNDU5O3N0cmluZzQ2MDtzdHJpbmc0NjE7c3RyaW5nNDYyO3N0cmluZzQ2MztzdHJpbmc0NjQ7c3RyaW5nNDY1O3N0cmluZzQ2NjtzdHJpbmc0Njc7c3RyaW5nNDY4O3N0cmluZzQ2OTtzdHJpbmc0NzA7c3RyaW5nNDcxO3N0cmluZzQ3MjtzdHJpbmc0NzM7c3RyaW5nNDc0O3N0cmluZzQ3NTtzdHJpbmc0NzY7c3RyaW5nNDc3O3N0cmluZzQ3ODtzdHJpbmc0Nzk7c3RyaW5nNDgwO3N0cmluZzQ4MTtzdHJpbmc0ODI7c3RyaW5nNDgzO3N0cmluZzQ4NDtzdHJpbmc0ODU7c3RyaW5nNDg2O3N0cmluZzQ4NztzdHJpbmc0ODg7c3RyaW5nNDg5O3N0cmluZzQ5MDtzdHJpbmc0OTE7c3RyaW5nNDkyO3N0cmluZzQ5MztzdHJpbmc0OTQ7c3RyaW5nNDk1O3N0cmluZzQ5NjtzdHJpbmc0OTc7c3RyaW5nNDk4O3N0cmluZzQ5OTtzdHJpbmc1MDA7c3RyaW5nNTAxO3N0cmluZzUwMjtzdHJpbmc1MDM7c3RyaW5nNTA0O3N0cmluZzUwNTtzdHJpbmc1MDY7c3RyaW5nNTA3O3N0cmluZzUwODtzdHJpbmc1MDk7c3RyaW5nNTEwO3N0cmluZzUxMTtzdHJpbmc1MTI7c3RyaW5nNTEzO3N0cmluZzUxNDtzdHJpbmc1MTU7c3RyaW5nNTE2O3N0cmluZzUxNztzdHJpbmc1MTg7c3RyaW5nNTE5O3N0cmluZzUyMDtzdHJpbmc1MjE7c3RyaW5nNTIyO3N0cmluZzUyMztzdHJpbmc1MjQ7c3RyaW5nNTI1O3N0cmluZzUyNjtzdHJpbmc1Mjc7c3RyaW5nNTI4O3N0cmluZzUyOTtzdHJpbmc1MzA7c3RyaW5nNTMxO3N0cmluZzUzMjtzdHJpbmc1MzM7c3RyaW5nNTM0O3N0cmluZzUzNTtzdHJpbmc1MzY7c3RyaW5nNTM3O3N0cmluZzUzODtzdHJpbmc1Mzk7c3RyaW5nNTQwO3N0cmluZzU0MTtzdHJpbmc1NDI7c3RyaW5nNTQzO3N0cmluZzU0NDtzdHJpbmc1NDU7c3RyaW5nNTQ2O3N0cmluZzU0NztzdHJpbmc1NDg7c3RyaW5nNTQ5O3N0cmluZzU1MDtzdHJpbmc1NTE7c3RyaW5nNTUyO3N0cmluZzU1MztzdHJpbmc1NTQ7c3RyaW5nNTU1O3N0cmluZzU1NjtzdHJpbmc1NTc7c3RyaW5nNTU4O3N0cmluZzU1OTtzdHJpbmc1NjA7c3RyaW5nNTYxO3N0cmluZzU2MjtzdHJpbmc1NjM7c3RyaW5nNTY0O3N0cmluZzU2NTtzdHJpbmc1NjY7c3RyaW5nNTY3O3N0cmluZzU2ODtzdHJpbmc1Njk7c3RyaW5nNTcwO3N0cmluZzU3MTtzdHJpbmc1NzI7c3RyaW5nNTczO3N0cmluZzU3NDtzdHJpbmc1NzU7c3RyaW5nNTc2O3N0cmluZzU3NztzdHJpbmc1Nzg7c3RyaW5nNTc5O3N0cmluZzU4MDtzdHJpbmc1ODE7c3RyaW5nNTgyO3N0cmluZzU4MztzdHJpbmc1ODQ7c3RyaW5nNTg1O3N0cmluZzU4NjtzdHJpbmc1ODc7c3RyaW5nNTg4O3N0cmluZzU4OTtzdHJpbmc1OTA7c3RyaW5nNTkxO3N0cmluZzU5MjtzdHJpbmc1OTM7c3RyaW5nNTk0O3N0cmluZzU5NTtzdHJpbmc1OTY7c3RyaW5nNTk3O3N0cmluZzU5ODtzdHJpbmc1OTk7c3RyaW5nNjAwO3N0cmluZzYwMTtzdHJpbmc2MDI7c3RyaW5nNjAzO3N0cmluZzYwNDtzdHJpbmc2MDU7c3RyaW5nNjA2O3N0cmluZzYwNztzdHJpbmc2MDg7c3RyaW5nNjA5O3N0cmluZzYxMDtzdHJpbmc2MTE7c3RyaW5nNjEyO3N0cmluZzYxMztzdHJpbmc2MTQ7c3RyaW5nNjE1O3N0cmluZzYxNjtzdHJpbmc2MTc7c3RyaW5nNjE4O3N0cmluZzYxOTtzdHJpbmc2MjA7c3RyaW5nNjIxO3N0cmluZzYyMjtzdHJpbmc2MjM7c3RyaW5nNjI0O3N0cmluZzYyNTtzdHJpbmc2MjY7c3RyaW5nNjI3O3N0cmluZzYyODtzdHJpbmc2Mjk7c3RyaW5nNjMwO3N0cmluZzYzMTtzdHJpbmc2MzI7c3RyaW5nNjMzO3N0cmluZzYzNDtzdHJpbmc2MzU7c3RyaW5nNjM2O3N0cmluZzYzNztzdHJpbmc2Mzg7c3RyaW5nNjM5O3N0cmluZzY0MDtzdHJpbmc2NDE7c3RyaW5nNjQyO3N0cmluZzY0MztzdHJpbmc2NDQ7c3RyaW5nNjQ1O3N0cmluZzY0NjtzdHJpbmc2NDc7c3RyaW5nNjQ4O3N0cmluZzY0OTtzdHJpbmc2NTA7c3RyaW5nNjUxO3N0cmluZzY1MjtzdHJpbmc2NTM7c3RyaW5nNjU0O3N0cmluZzY1NTtzdHJpbmc2NTY7c3RyaW5nNjU3O3N0cmluZzY1ODtzdHJpbmc2NTk7c3RyaW5nNjYwO3N0cmluZzY2MTtzdHJpbmc2NjI7c3RyaW5nNjYzO3N0cmluZzY2NDtzdHJpbmc2NjU7c3RyaW5nNjY2O3N0cmluZzY2NztzdHJpbmc2Njg7c3RyaW5nNjY5O3N0cmluZzY3MDtzdHJpbmc2NzE7c3RyaW5nNjcyO3N0cmluZzY3MztzdHJpbmc2NzQ7c3RyaW5nNjc1O3N0cmluZzY3NjtzdHJpbmc2Nzc7c3RyaW5nNjc4O3N0cmluZzY3OTtzdHJpbmc2ODA7c3RyaW5nNjgxO3N0cmluZzY4MjtzdHJpbmc2ODM7c3RyaW5nNjg0O3N0cmluZzY4NTtzdHJpbmc2ODY7c3RyaW5nNjg3O3N0cmluZzY4ODtzdHJpbmc2ODk7c3RyaW5nNjkwO3N0cmluZzY5MTtzdHJpbmc2OTI7c3RyaW5nNjkzO3N0cmluZzY5NDtzdHJpbmc2OTU7c3RyaW5nNjk2O3N0cmluZzY5NztzdHJpbmc2OTg7c3RyaW5nNjk5O3N0cmluZzcwMDtzdHJpbmc3MDE7c3RyaW5nNzAyO3N0cmluZzcwMztzdHJpbmc3MDQ7c3RyaW5nNzA1O3N0cmluZzcwNjtzdHJpbmc3MDc7c3RyaW5nNzA4O3N0cmluZzcwOTtzdHJpbmc3MTA7c3RyaW5nNzExO3N0cmluZzcxMjtzdHJpbmc3MTM7c3RyaW5nNzE0O3N0cmluZzcxNTtzdHJpbmc3MTY7c3RyaW5nNzE3O3N0cmluZzcxODtzdHJpbmc3MTk7c3RyaW5nNzIwO3N0cmluZzcyMTtzdHJpbmc3MjI7c3RyaW5nNzIzO3N0cmluZzcyNDtzdHJpbmc3MjU7c3RyaW5nNzI2O3N0cmluZzcyNztzdHJpbmc3Mjg7c3RyaW5nNzI5O3N0cmluZzczMDtzdHJpbmc3MzE7c3RyaW5nNzMyO3N0cmluZzczMztzdHJpbmc3MzQ7c3RyaW5nNzM1O3N0cmluZzczNjtzdHJpbmc3Mzc7c3RyaW5nNzM4O3N0cmluZzczOTtzdHJpbmc3NDA7c3RyaW5nNzQxO3N0cmluZzc0MjtzdHJpbmc3NDM7c3RyaW5nNzQ0O3N0cmluZzc0NTtzdHJpbmc3NDY7c3RyaW5nNzQ3O3N0cmluZzc0ODtzdHJpbmc3NDk7c3RyaW5nNzUwO3N0cmluZzc1MTtzdHJpbmc3NTI7c3RyaW5nNzUzO3N0cmluZzc1NDtzdHJpbmc3NTU7c3RyaW5nNzU2O3N0cmluZzc1NztzdHJpbmc3NTg7c3RyaW5nNzU5O3N0cmluZzc2MDtzdHJpbmc3NjE7c3RyaW5nNzYyO3N0cmluZzc2MztzdHJpbmc3NjQ7c3RyaW5nNzY1O3N0cmluZzc2NjtzdHJpbmc3Njc7c3RyaW5nNzY4O3N0cmluZzc2OTtzdHJpbmc3NzA7c3RyaW5nNzcxO3N0cmluZzc3MjtzdHJpbmc3NzM7c3RyaW5nNzc0O3N0cmluZzc3NTtzdHJpbmc3NzY7c3RyaW5nNzc3O3N0cmluZzc3ODtzdHJpbmc3Nzk7c3RyaW5nNzgwO3N0cmluZzc4MTtzdHJpbmc3ODI7c3RyaW5nNzgzO3N0cmluZzc4NDtzdHJpbmc3ODU7c3RyaW5nNzg2O3N0cmluZzc4NztzdHJpbmc3ODg7c3RyaW5nNzg5O3N0cmluZzc5MDtzdHJpbmc3OTE7c3RyaW5nNzkyO3N0cmluZzc5MztzdHJpbmc3OTQ7c3RyaW5nNzk1O3N0cmluZzc5NjtzdHJpbmc3OTc7c3RyaW5nNzk4O3N0cmluZzc5OTtzdHJpbmc4MDA7c3RyaW5nODAxO3N0cmluZzgwMjtzdHJpbmc4MDM7c3RyaW5nODA0O3N0cmluZzgwNTtzdHJpbmc4MDY7c3RyaW5nODA3O3N0cmluZzgwODtzdHJpbmc4MDk7c3RyaW5nODEwO3N0cmluZzgxMTtzdHJpbmc4MTI7c3RyaW5nODEzO3N0cmluZzgxNDtzdHJpbmc4MTU7c3RyaW5nODE2O3N0cmluZzgxNztzdHJpbmc4MTg7c3RyaW5nODE5O3N0cmluZzgyMDtzdHJpbmc4MjE7c3RyaW5nODIyO3N0cmluZzgyMztzdHJpbmc4MjQ7c3RyaW5nODI1O3N0cmluZzgyNjtzdHJpbmc4Mjc7c3RyaW5nODI4O3N0cmluZzgyOTtzdHJpbmc4MzA7c3RyaW5nODMxO3N0cmluZzgzMjtzdHJpbmc4MzM7c3RyaW5nODM0O3N0cmluZzgzNTtzdHJpbmc4MzY7c3RyaW5nODM3O3N0cmluZzgzODtzdHJpbmc4Mzk7c3RyaW5nODQwO3N0cmluZzg0MTtzdHJpbmc4NDI7c3RyaW5nODQzO3N0cmluZzg0NDtzdHJpbmc4NDU7c3RyaW5nODQ2O3N0cmluZzg0NztzdHJpbmc4NDg7c3RyaW5nODQ5O3N0cmluZzg1MDtzdHJpbmc4NTE7c3RyaW5nODUyO3N0cmluZzg1MztzdHJpbmc4NTQ7c3RyaW5nODU1O3N0cmluZzg1NjtzdHJpbmc4NTc7c3RyaW5nODU4O3N0cmluZzg1OTtzdHJpbmc4NjA7c3RyaW5nODYxO3N0cmluZzg2MjtzdHJpbmc4NjM7c3RyaW5nODY0O3N0cmluZzg2NTtzdHJpbmc4NjY7c3RyaW5nODY3O3N0cmluZzg2ODtzdHJpbmc4Njk7c3RyaW5nODcwO3N0cmluZzg3MTtzdHJpbmc4NzI7c3RyaW5nODczO3N0cmluZzg3NDtzdHJpbmc4NzU7c3RyaW5nODc2O3N0cmluZzg3NztzdHJpbmc4Nzg7c3RyaW5nODc5O3N0cmluZzg4MDtzdHJpbmc4ODE7c3RyaW5nODgyO3N0cmluZzg4MztzdHJpbmc4ODQ7c3RyaW5nODg1O3N0cmluZzg4NjtzdHJpbmc4ODc7c3RyaW5nODg4O3N0cmluZzg4OTtzdHJpbmc4OTA7c3RyaW5nODkxO3N0cmluZzg5MjtzdHJpbmc4OTM7c3RyaW5nODk0O3N0cmluZzg5NTtzdHJpbmc4OTY7c3RyaW5nODk3O3N0cmluZzg5ODtzdHJpbmc4OTk7c3RyaW5nOTAwO3N0cmluZzkwMTtzdHJpbmc5MDI7c3RyaW5nOTAzO3N0cmluZzkwNDtzdHJpbmc5MDU7c3RyaW5nOTA2O3N0cmluZzkwNztzdHJpbmc5MDg7c3RyaW5nOTA5O3N0cmluZzkxMDtzdHJpbmc5MTE7c3RyaW5nOTEyO3N0cmluZzkxMztzdHJpbmc5MTQ7c3RyaW5nOTE1O3N0cmluZzkxNjtzdHJpbmc5MTc7c3RyaW5nOTE4O3N0cmluZzkxOTtzdHJpbmc5MjA7c3RyaW5nOTIxO3N0cmluZzkyMjtzdHJpbmc5MjM7c3RyaW5nOTI0O3N0cmluZzkyNTtzdHJpbmc5MjY7c3RyaW5nOTI3O3N0cmluZzkyODtzdHJpbmc5Mjk7c3RyaW5nOTMwO3N0cmluZzkzMTtzdHJpbmc5MzI7c3RyaW5nOTMzO3N0cmluZzkzNDtzdHJpbmc5MzU7c3RyaW5nOTM2O3N0cmluZzkzNztzdHJpbmc5Mzg7c3RyaW5nOTM5O3N0cmluZzk0MDtzdHJpbmc5NDE7c3RyaW5nOTQyO3N0cmluZzk0MztzdHJpbmc5NDQ7c3RyaW5nOTQ1O3N0cmluZzk0NjtzdHJpbmc5NDc7c3RyaW5nOTQ4O3N0cmluZzk0OTtzdHJpbmc5NTA7c3RyaW5nOTUxO3N0cmluZzk1MjtzdHJpbmc5NTM7c3RyaW5nOTU0O3N0cmluZzk1NTtzdHJpbmc5NTY7c3RyaW5nOTU3O3N0cmluZzk1ODtzdHJpbmc5NTk7c3RyaW5nOTYwO3N0cmluZzk2MTtzdHJpbmc5NjI7c3RyaW5nOTYzO3N0cmluZzk2NDtzdHJpbmc5NjU7c3RyaW5nOTY2O3N0cmluZzk2NztzdHJpbmc5Njg7c3RyaW5nOTY5O3N0cmluZzk3MDtzdHJpbmc5NzE7c3RyaW5nOTcyO3N0cmluZzk3MztzdHJpbmc5NzQ7c3RyaW5nOTc1O3N0cmluZzk3NjtzdHJpbmc5Nzc7c3RyaW5nOTc4O3N0cmluZzk3OTtzdHJpbmc5ODA7c3RyaW5nOTgxO3N0cmluZzk4MjtzdHJpbmc5ODM7c3RyaW5nOTg0O3N0cmluZzk4NTtzdHJpbmc5ODY7c3RyaW5nOTg3O3N0cmluZzk4ODtzdHJpbmc5ODk7c3RyaW5nOTkwO3N0cmluZzk5MTtzdHJpbmc5OTI7c3RyaW5nOTkzO3N0cmluZzk5NDtzdHJpbmc5OTU7c3RyaW5nOTk2O3N0cmluZzk5NztzdHJpbmc5OTg7c3RyaW5nOTk5CitzdGFydDtpbmcwO2luZzE7aW5nMjtpbmczO2luZzQ7aW5nNTtpbmc2O2luZzc7aW5nODtpbmc5O2luZzEwO2luZzExO2luZzEyO2luZzEzO2luZzE0O2luZzE1O2luZzE2O2luZzE3O2luZzE4O2luZzE5O2luZzIwO2luZzIxO2luZzIyO2luZzIzO2luZzI0O2luZzI1O2luZzI2O2luZzI3O2luZzI4O2luZzI5O2luZzMwO2luZzMxO2luZzMyO2luZzMzO2luZzM0O2luZzM1O2luZzM2O2luZzM3O2luZzM4O2luZzM5O2luZzQwO2luZzQxO2luZzQyO2luZzQzO2luZzQ0O2luZzQ1O2luZzQ2O2luZzQ3O2luZzQ4O2luZzQ5O2luZzUwO2luZzUxO2luZzUyO2luZzUzO2luZzU0O2luZzU1O2luZzU2O2luZzU3O2luZzU4O2luZzU5O2luZzYwO2luZzYxO2luZzYyO2luZzYzO2luZzY0O2luZzY1O2luZzY2O2luZzY3O2luZzY4O2luZzY5O2luZzcwO2luZzcxO2luZzcyO2luZzczO2luZzc0O2luZzc1O2luZzc2O2luZzc3O2luZzc4O2luZzc5O2luZzgwO2luZzgxO2luZzgyO2luZzgzO2luZzg0O2luZzg1O2luZzg2O2luZzg3O2luZzg4O2luZzg5O2luZzkwO2luZzkxO2luZzkyO2luZzkzO2luZzk0O2luZzk1O2luZzk2O2luZzk3O2luZzk4O2luZzk5O2luZzEwMDtpbmcxMDE7aW5nMTAyO2luZzEwMztpbmcxMDQ7aW5nMTA1O2luZzEwNjtpbmcxMDc7aW5nMTA4O2luZzEwOTtpbmcxMTA7aW5nMTExO2luZzExMjtpbmcxMTM7aW5nMTE0O2luZzExNTtpbmcxMTY7aW5nMTE3O2luZzExODtpbmcxMTk7aW5nMTIwO2luZzEyMTtpbmcxMjI7aW5nMTIzO2luZzEyNDtpbmcxMjU7aW5nMTI2O2luZzEyNztpbmcxMjg7aW5nMTI5O2luZzEzMDtpbmcxMzE7aW5nMTMyO2luZzEzMztpbmcxMzQ7aW5nMTM1O2luZzEzNjtpbmcxMzc7aW5nMTM4O2luZzEzOTtpbmcxNDA7aW5nMTQxO2luZzE0MjtpbmcxNDM7aW5nMTQ0O2luZzE0NTtpbmcxNDY7aW5nMTQ3O2luZzE0ODtpbmcxNDk7aW5nMTUwO2luZzE1MTtpbmcxNTI7aW5nMTUzO2luZzE1NDtpbmcxNTU7aW5nMTU2O2luZzE1NztpbmcxNTg7aW5nMTU5O2luZzE2MDtpbmcxNjE7aW5nMTYyO2luZzE2MztpbmcxNjQ7aW5nMTY1O2luZzE2NjtpbmcxNjc7aW5nMTY4O2luZzE2OTtpbmcxNzA7aW5nMTcxO2luZzE3MjtpbmcxNzM7aW5nMTc0O2luZzE3NTtpbmcxNzY7aW5nMTc3O2luZzE3ODtpbmcxNzk7aW5nMTgwO2luZzE4MTtpbmcxODI7aW5nMTgzO2luZzE4NDtpbmcxODU7aW5nMTg2O2luZzE4NztpbmcxODg7aW5nMTg5O2luZzE5MDtpbmcxOTE7aW5nMTkyO2luZzE5MztpbmcxOTQ7aW5nMTk1O2luZzE5NjtpbmcxOTc7aW5nMTk4O2luZzE5OTtpbmcyMDA7aW5nMjAxO2luZzIwMjtpbmcyMDM7aW5nMjA0O2luZzIwNTtpbmcyMDY7aW5nMjA3O2luZzIwODtpbmcyMDk7aW5nMjEwO2luZzIxMTtpbmcyMTI7aW5nMjEzO2luZzIxNDtpbmcyMTU7aW5nMjE2O2luZzIxNztpbmcyMTg7aW5nMjE5O2luZzIyMDtpbmcyMjE7aW5nMjIyO2luZzIyMztpbmcyMjQ7aW5nMjI1O2luZzIyNjtpbmcyMjc7aW5nMjI4O2luZzIyOTtpbmcyMzA7aW5nMjMxO2luZzIzMjtpbmcyMzM7aW5nMjM0O2luZzIzNTtpbmcyMzY7aW5nMjM3O2luZzIzODtpbmcyMzk7aW5nMjQwO2luZzI0MTtpbmcyNDI7aW5nMjQzO2luZzI0NDtpbmcyNDU7aW5nMjQ2O2luZzI0NztpbmcyNDg7aW5nMjQ5O2luZzI1MDtpbmcyNTE7aW5nMjUyO2luZzI1MztpbmcyNTQ7aW5nMjU1O2luZzI1NjtpbmcyNTc7aW5nMjU4O2luZzI1OTtpbmcyNjA7aW5nMjYxO2luZzI2MjtpbmcyNjM7aW5nMjY0O2luZzI2NTtpbmcyNjY7aW5nMjY3O2luZzI2ODtpbmcyNjk7aW5nMjcwO2luZzI3MTtpbmcyNzI7aW5nMjczO2luZzI3NDtpbmcyNzU7aW5nMjc2O2luZzI3NztpbmcyNzg7aW5nMjc5O2luZzI4MDtpbmcyODE7aW5nMjgyO2luZzI4MztpbmcyODQ7aW5nMjg1O2luZzI4NjtpbmcyODc7aW5nMjg4O2luZzI4OTtpbmcyOTA7aW5nMjkxO2luZzI5MjtpbmcyOTM7aW5nMjk0O2luZzI5NTtpbmcyOTY7aW5nMjk3O2luZzI5ODtpbmcyOTk7aW5nMzAwO2luZzMwMTtpbmczMDI7aW5nMzAzO2luZzMwNDtpbmczMDU7aW5nMzA2O2luZzMwNztpbmczMDg7aW5nMzA5O2luZzMxMDtpbmczMTE7aW5nMzEyO2luZzMxMztpbmczMTQ7aW5nMzE1O2luZzMxNjtpbmczMTc7aW5nMzE4O2luZzMxOTtpbmczMjA7aW5nMzIxO2luZzMyMjtpbmczMjM7aW5nMzI0O2luZzMyNTtpbmczMjY7aW5nMzI3O2luZzMyODtpbmczMjk7aW5nMzMwO2luZzMzMTtpbmczMzI7aW5nMzMzO2luZzMzNDtpbmczMzU7aW5nMzM2O2luZzMzNztpbmczMzg7aW5nMzM5O2luZzM0MDtpbmczNDE7aW5nMzQyO2luZzM0MztpbmczNDQ7aW5nMzQ1O2luZzM0NjtpbmczNDc7aW5nMzQ4O2luZzM0OTtpbmczNTA7aW5nMzUxO2luZzM1MjtpbmczNTM7aW5nMzU0O2luZzM1NTtpbmczNTY7aW5nMzU3O2luZzM1ODtpbmczNTk7aW5nMzYwO2luZzM2MTtpbmczNjI7aW5nMzYzO2luZzM2NDtpbmczNjU7aW5nMzY2O2luZzM2NztpbmczNjg7aW5nMzY5O2luZzM3MDtpbmczNzE7aW5nMzcyO2luZzM3MztpbmczNzQ7aW5nMzc1O2luZzM3NjtpbmczNzc7aW5nMzc4O2luZzM3OTtpbmczODA7aW5nMzgxO2luZzM4MjtpbmczODM7aW5nMzg0O2luZzM4NTtpbmczODY7aW5nMzg3O2luZzM4ODtpbmczODk7aW5nMzkwO2luZzM5MTtpbmczOTI7aW5nMzkzO2luZzM5NDtpbmczOTU7aW5nMzk2O2luZzM5NztpbmczOTg7aW5nMzk5O2luZzQwMDtpbmc0MDE7aW5nNDAyO2luZzQwMztpbmc0MDQ7aW5nNDA1O2luZzQwNjtpbmc0MDc7aW5nNDA4O2luZzQwOTtpbmc0MTA7aW5nNDExO2luZzQxMjtpbmc0MTM7aW5nNDE0O2luZzQxNTtpbmc0MTY7aW5nNDE3O2luZzQxODtpbmc0MTk7aW5nNDIwO2luZzQyMTtpbmc0MjI7aW5nNDIzO2luZzQyNDtpbmc0MjU7aW5nNDI2O2luZzQyNztpbmc0Mjg7aW5nNDI5O2luZzQzMDtpbmc0MzE7aW5nNDMyO2luZzQzMztpbmc0MzQ7aW5nNDM1O2luZzQzNjtpbmc0Mzc7aW5nNDM4O2luZzQzOTtpbmc0NDA7aW5nNDQxO2luZzQ0Mjtpbmc0NDM7aW5nNDQ0O2luZzQ0NTtpbmc0NDY7aW5nNDQ3O2luZzQ0ODtpbmc0NDk7aW5nNDUwO2luZzQ1MTtpbmc0NTI7aW5nNDUzO2luZzQ1NDtpbmc0NTU7aW5nNDU2O2luZzQ1Nztpbmc0NTg7aW5nNDU5O2luZzQ2MDtpbmc0NjE7aW5nNDYyO2luZzQ2Mztpbmc0NjQ7aW5nNDY1O2luZzQ2Njtpbmc0Njc7aW5nNDY4O2luZzQ2OTtpbmc0NzA7aW5nNDcxO2luZzQ3Mjtpbmc0NzM7aW5nNDc0O2luZzQ3NTtpbmc0NzY7aW5nNDc3O2luZzQ3ODtpbmc0Nzk7aW5nNDgwO2luZzQ4MTtpbmc0ODI7aW5nNDgzO2luZzQ4NDtpbmc0ODU7aW5nNDg2O2luZzQ4Nztpbmc0ODg7aW5nNDg5O2luZzQ5MDtpbmc0OTE7aW5nNDkyO2luZzQ5Mztpbmc0OTQ7aW5nNDk1O2luZzQ5Njtpbmc0OTc7aW5nNDk4O2luZzQ5OTtpbmc1MDA7aW5nNTAxO2luZzUwMjtpbmc1MDM7aW5nNTA0O2luZzUwNTtpbmc1MDY7aW5nNTA3O2luZzUwODtpbmc1MDk7aW5nNTEwO2luZzUxMTtpbmc1MTI7aW5nNTEzO2luZzUxNDtpbmc1MTU7aW5nNTE2O2luZzUxNztpbmc1MTg7aW5nNTE5O2luZzUyMDtpbmc1MjE7aW5nNTIyO2luZzUyMztpbmc1MjQ7aW5nNTI1O2luZzUyNjtpbmc1Mjc7aW5nNTI4O2luZzUyOTtpbmc1MzA7aW5nNTMxO2luZzUzMjtpbmc1MzM7aW5nNTM0O2luZzUzNTtpbmc1MzY7aW5nNTM3O2luZzUzODtpbmc1Mzk7aW5nNTQwO2luZzU0MTtpbmc1NDI7aW5nNTQzO2luZzU0NDtpbmc1NDU7aW5nNTQ2O2luZzU0Nztpbmc1NDg7aW5nNTQ5O2luZzU1MDtpbmc1NTE7aW5nNTUyO2luZzU1Mztpbmc1NTQ7aW5nNTU1O2luZzU1Njtpbmc1NTc7aW5nNTU4O2luZzU1OTtpbmc1NjA7aW5nNTYxO2luZzU2Mjtpbmc1NjM7aW5nNTY0O2luZzU2NTtpbmc1NjY7aW5nNTY3O2luZzU2ODtpbmc1Njk7aW5nNTcwO2luZzU3MTtpbmc1NzI7aW5nNTczO2luZzU3NDtpbmc1NzU7aW5nNTc2O2luZzU3Nztpbmc1Nzg7aW5nNTc5O2luZzU4MDtpbmc1ODE7aW5nNTgyO2luZzU4Mztpbmc1ODQ7aW5nNTg1O2luZzU4Njtpbmc1ODc7aW5nNTg4O2luZzU4OTtpbmc1OTA7aW5nNTkxO2luZzU5Mjtpbmc1OTM7aW5nNTk0O2luZzU5NTtpbmc1OTY7aW5nNTk3O2luZzU5ODtpbmc1OTk7aW5nNjAwO2luZzYwMTtpbmc2MDI7aW5nNjAzO2luZzYwNDtpbmc2MDU7aW5nNjA2O2luZzYwNztpbmc2MDg7aW5nNjA5O2luZzYxMDtpbmc2MTE7aW5nNjEyO2luZzYxMztpbmc2MTQ7aW5nNjE1O2luZzYxNjtpbmc2MTc7aW5nNjE4O2luZzYxOTtpbmc2MjA7aW5nNjIxO2luZzYyMjtpbmc2MjM7aW5nNjI0O2luZzYyNTtpbmc2MjY7aW5nNjI3O2luZzYyODtpbmc2Mjk7aW5nNjMwO2luZzYzMTtpbmc2MzI7aW5nNjMzO2luZzYzNDtpbmc2MzU7aW5nNjM2O2luZzYzNztpbmc2Mzg7aW5nNjM5O2luZzY0MDtpbmc2NDE7aW5nNjQyO2luZzY0Mztpbmc2NDQ7aW5nNjQ1O2luZzY0Njtpbmc2NDc7aW5nNjQ4O2luZzY0OTtpbmc2NTA7aW5nNjUxO2luZzY1Mjtpbmc2NTM7aW5nNjU0O2luZzY1NTtpbmc2NTY7aW5nNjU3O2luZzY1ODtpbmc2NTk7aW5nNjYwO2luZzY2MTtpbmc2NjI7aW5nNjYzO2luZzY2NDtpbmc2NjU7aW5nNjY2O2luZzY2Nztpbmc2Njg7aW5nNjY5O2luZzY3MDtpbmc2NzE7aW5nNjcyO2luZzY3Mztpbmc2NzQ7aW5nNjc1O2luZzY3Njtpbmc2Nzc7aW5nNjc4O2luZzY3OTtpbmc2ODA7aW5nNjgxO2luZzY4Mjtpbmc2ODM7aW5nNjg0O2luZzY4NTtpbmc2ODY7aW5nNjg3O2luZzY4ODtpbmc2ODk7aW5nNjkwO2luZzY5MTtpbmc2OTI7aW5nNjkzO2luZzY5NDtpbmc2OTU7aW5nNjk2O2luZzY5Nztpbmc2OTg7aW5nNjk5O2luZzcwMDtpbmc3MDE7aW5nNzAyO2luZzcwMztpbmc3MDQ7aW5nNzA1O2luZzcwNjtpbmc3MDc7aW5nNzA4O2luZzcwOTtpbmc3MTA7aW5nNzExO2luZzcxMjtpbmc3MTM7aW5nNzE0O2luZzcxNTtpbmc3MTY7aW5nNzE3O2luZzcxODtpbmc3MTk7aW5nNzIwO2luZzcyMTtpbmc3MjI7aW5nNzIzO2luZzcyNDtpbmc3MjU7aW5nNzI2O2luZzcyNztpbmc3Mjg7aW5nNzI5O2luZzczMDtpbmc3MzE7aW5nNzMyO2luZzczMztpbmc3MzQ7aW5nNzM1O2luZzczNjtpbmc3Mzc7aW5nNzM4O2luZzczOTtpbmc3NDA7aW5nNzQxO2luZzc0Mjtpbmc3NDM7aW5nNzQ0O2luZzc0NTtpbmc3NDY7aW5nNzQ3O2luZzc0ODtpbmc3NDk7aW5nNzUwO2luZzc1MTtpbmc3NTI7aW5nNzUzO2luZzc1NDtpbmc3NTU7aW5nNzU2O2luZzc1Nztpbmc3NTg7aW5nNzU5O2luZzc2MDtpbmc3NjE7aW5nNzYyO2luZzc2Mztpbmc3NjQ7aW5nNzY1O2luZzc2Njtpbmc3Njc7aW5nNzY4O2luZzc2OTtpbmc3NzA7aW5nNzcxO2luZzc3Mjtpbmc3NzM7aW5nNzc0O2luZzc3NTtpbmc3NzY7aW5nNzc3O2luZzc3ODtpbmc3Nzk7aW5nNzgwO2luZzc4MTtpbmc3ODI7aW5nNzgzO2luZzc4NDtpbmc3ODU7aW5nNzg2O2luZzc4Nztpbmc3ODg7aW5nNzg5O2luZzc5MDtpbmc3OTE7aW5nNzkyO2luZzc5Mztpbmc3OTQ7aW5nNzk1O2luZzc5Njtpbmc3OTc7aW5nNzk4O2luZzc5OTtpbmc4MDA7aW5nODAxO2luZzgwMjtpbmc4MDM7aW5nODA0O2luZzgwNTtpbmc4MDY7aW5nODA3O2luZzgwODtpbmc4MDk7aW5nODEwO2luZzgxMTtpbmc4MTI7aW5nODEzO2luZzgxNDtpbmc4MTU7aW5nODE2O2luZzgxNztpbmc4MTg7aW5nODE5O2luZzgyMDtpbmc4MjE7aW5nODIyO2luZzgyMztpbmc4MjQ7aW5nODI1O2luZzgyNjtpbmc4Mjc7aW5nODI4O2luZzgyOTtpbmc4MzA7aW5nODMxO2luZzgzMjtpbmc4MzM7aW5nODM0O2luZzgzNTtpbmc4MzY7aW5nODM3O2luZzgzODtpbmc4Mzk7aW5nODQwO2luZzg0MTtpbmc4NDI7aW5nODQzO2luZzg0NDtpbmc4NDU7aW5nODQ2O2luZzg0Nztpbmc4NDg7aW5nODQ5O2luZzg1MDtpbmc4NTE7aW5nODUyO2luZzg1Mztpbmc4NTQ7aW5nODU1O2luZzg1Njtpbmc4NTc7aW5nODU4O2luZzg1OTtpbmc4NjA7aW5nODYxO2luZzg2Mjtpbmc4NjM7aW5nODY0O2luZzg2NTtpbmc4NjY7aW5nODY3O2luZzg2ODtpbmc4Njk7aW5nODcwO2luZzg3MTtpbmc4NzI7aW5nODczO2luZzg3NDtpbmc4NzU7aW5nODc2O2luZzg3Nztpbmc4Nzg7aW5nODc5O2luZzg4MDtpbmc4ODE7aW5nODgyO2luZzg4Mztpbmc4ODQ7aW5nODg1O2luZzg4Njtpbmc4ODc7aW5nODg4O2luZzg4OTtpbmc4OTA7aW5nODkxO2luZzg5Mjtpbmc4OTM7aW5nODk0O2luZzg5NTtpbmc4OTY7aW5nODk3O2luZzg5ODtpbmc4OTk7aW5nOTAwO2luZzkwMTtpbmc5MDI7aW5nOTAzO2luZzkwNDtpbmc5MDU7aW5nOTA2O2luZzkwNztpbmc5MDg7aW5nOTA5O2luZzkxMDtpbmc5MTE7aW5nOTEyO2luZzkxMztpbmc5MTQ7aW5nOTE1O2luZzkxNjtpbmc5MTc7aW5nOTE4O2luZzkxOTtpbmc5MjA7aW5nOTIxO2luZzkyMjtpbmc5MjM7aW5nOTI0O2luZzkyNTtpbmc5MjY7aW5nOTI3O2luZzkyODtpbmc5Mjk7aW5nOTMwO2luZzkzMTtpbmc5MzI7aW5nOTMzO2luZzkzNDtpbmc5MzU7aW5nOTM2O2luZzkzNztpbmc5Mzg7aW5nOTM5O2luZzk0MDtpbmc5NDE7aW5nOTQyO2luZzk0Mztpbmc5NDQ7aW5nOTQ1O2luZzk0Njtpbmc5NDc7aW5nOTQ4O2luZzk0OTtpbmc5NTA7aW5nOTUxO2luZzk1Mjtpbmc5NTM7aW5nOTU0O2luZzk1NTtpbmc5NTY7aW5nOTU3O2luZzk1ODtpbmc5NTk7aW5nOTYwO2luZzk2MTtpbmc5NjI7aW5nOTYzO2luZzk2NDtpbmc5NjU7aW5nOTY2O2luZzk2Nztpbmc5Njg7aW5nOTY5O2luZzk3MDtpbmc5NzE7aW5nOTcyO2luZzk3Mztpbmc5NzQ7aW5nOTc1O2luZzk3Njtpbmc5Nzc7aW5nOTc4O2luZzk3OTtpbmc5ODA7aW5nOTgxO2luZzk4Mjtpbmc5ODM7aW5nOTg0O2luZzk4NTtpbmc5ODY7aW5nOTg3O2luZzk4ODtpbmc5ODk7aW5nOTkwO2luZzk5MTtpbmc5OTI7aW5nOTkzO2luZzk5NDtpbmc5OTU7aW5nOTk2O2luZzk5Nztpbmc5OTg7aW5nOTk5CitzdGFydDtzdHJpbmcwO3N0cmluZzE7c3RyaW5nMjtzdHJpbmczO3N0cmluZzQ7c3RyaW5nNTtzdHJpbmc2O3N0cmluZzc7c3RyaW5nODtzdHJpbmc5O3N0cmluZzEwO3N0cmluZzExO3N0cmluZzEyO3N0cmluZzEzO3N0cmluZzE0O3N0cmluZzE1O3N0cmluZzE2O3N0cmluZzE3O3N0cmluZzE4O3N0cmluZzE5O3N0cmluZzIwO3N0cmluZzIxO3N0cmluZzIyO3N0cmluZzIzO3N0cmluZzI0O3N0cmluZzI1O3N0cmluZzI2O3N0cmluZzI3O3N0cmluZzI4O3N0cmluZzI5O3N0cmluZzMwO3N0cmluZzMxO3N0cmluZzMyO3N0cmluZzMzO3N0cmluZzM0O3N0cmluZzM1O3N0cmluZzM2O3N0cmluZzM3O3N0cmluZzM4O3N0cmluZzM5O3N0cmluZzQwO3N0cmluZzQxO3N0cmluZzQyO3N0cmluZzQzO3N0cmluZzQ0O3N0cmluZzQ1O3N0cmluZzQ2O3N0cmluZzQ3O3N0cmluZzQ4O3N0cmluZzQ5O3N0cmluZzUwO3N0cmluZzUxO3N0cmluZzUyO3N0cmluZzUzO3N0cmluZzU0O3N0cmluZzU1O3N0cmluZzU2O3N0cmluZzU3O3N0cmluZzU4O3N0cmluZzU5O3N0cmluZzYwO3N0cmluZzYxO3N0cmluZzYyO3N0cmluZzYzO3N0cmluZzY0O3N0cmluZzY1O3N0cmluZzY2O3N0cmluZzY3O3N0cmluZzY4O3N0cmluZzY5O3N0cmluZzcwO3N0cmluZzcxO3N0cmluZzcyO3N0cmluZzczO3N0cmluZzc0O3N0cmluZzc1O3N0cmluZzc2O3N0cmluZzc3O3N0cmluZzc4O3N0cmluZzc5O3N0cmluZzgwO3N0cmluZzgxO3N0cmluZzgyO3N0cmluZzgzO3N0cmluZzg0O3N0cmluZzg1O3N0cmluZzg2O3N0cmluZzg3O3N0cmluZzg4O3N0cmluZzg5O3N0cmluZzkwO3N0cmluZzkxO3N0cmluZzkyO3N0cmluZzkzO3N0cmluZzk0O3N0cmluZzk1O3N0cmluZzk2O3N0cmluZzk3O3N0cmluZzk4O3N0cmluZzk5O3N0cmluZzEwMDtzdHJpbmcxMDE7c3RyaW5nMTAyO3N0cmluZzEwMztzdHJpbmcxMDQ7c3RyaW5nMTA1O3N0cmluZzEwNjtzdHJpbmcxMDc7c3RyaW5nMTA4O3N0cmluZzEwOTtzdHJpbmcxMTA7c3RyaW5nMTExO3N0cmluZzExMjtzdHJpbmcxMTM7c3RyaW5nMTE0O3N0cmluZzExNTtzdHJpbmcxMTY7c3RyaW5nMTE3O3N0cmluZzExODtzdHJpbmcxMTk7c3RyaW5nMTIwO3N0cmluZzEyMTtzdHJpbmcxMjI7c3RyaW5nMTIzO3N0cmluZzEyNDtzdHJpbmcxMjU7c3RyaW5nMTI2O3N0cmluZzEyNztzdHJpbmcxMjg7c3RyaW5nMTI5O3N0cmluZzEzMDtzdHJpbmcxMzE7c3RyaW5nMTMyO3N0cmluZzEzMztzdHJpbmcxMzQ7c3RyaW5nMTM1O3N0cmluZzEzNjtzdHJpbmcxMzc7c3RyaW5nMTM4O3N0cmluZzEzOTtzdHJpbmcxNDA7c3RyaW5nMTQxO3N0cmluZzE0MjtzdHJpbmcxNDM7c3RyaW5nMTQ0O3N0cmluZzE0NTtzdHJpbmcxNDY7c3RyaW5nMTQ3O3N0cmluZzE0ODtzdHJpbmcxNDk7c3RyaW5nMTUwO3N0cmluZzE1MTtzdHJpbmcxNTI7c3RyaW5nMTUzO3N0cmluZzE1NDtzdHJpbmcxNTU7c3RyaW5nMTU2O3N0cmluZzE1NztzdHJpbmcxNTg7c3RyaW5nMTU5O3N0cmluZzE2MDtzdHJpbmcxNjE7c3RyaW5nMTYyO3N0cmluZzE2MztzdHJpbmcxNjQ7c3RyaW5nMTY1O3N0cmluZzE2NjtzdHJpbmcxNjc7c3RyaW5nMTY4O3N0cmluZzE2OTtzdHJpbmcxNzA7c3RyaW5nMTcxO3N0cmluZzE3MjtzdHJpbmcxNzM7c3RyaW5nMTc0O3N0cmluZzE3NTtzdHJpbmcxNzY7c3RyaW5nMTc3O3N0cmluZzE3ODtzdHJpbmcxNzk7c3RyaW5nMTgwO3N0cmluZzE4MTtzdHJpbmcxODI7c3RyaW5nMTgzO3N0cmluZzE4NDtzdHJpbmcxODU7c3RyaW5nMTg2O3N0cmluZzE4NztzdHJpbmcxODg7c3RyaW5nMTg5O3N0cmluZzE5MDtzdHJpbmcxOTE7c3RyaW5nMTkyO3N0cmluZzE5MztzdHJpbmcxOTQ7c3RyaW5nMTk1O3N0cmluZzE5NjtzdHJpbmcxOTc7c3RyaW5nMTk4O3N0cmluZzE5OTtzdHJpbmcyMDA7c3RyaW5nMjAxO3N0cmluZzIwMjtzdHJpbmcyMDM7c3RyaW5nMjA0O3N0cmluZzIwNTtzdHJpbmcyMDY7c3RyaW5nMjA3O3N0cmluZzIwODtzdHJpbmcyMDk7c3RyaW5nMjEwO3N0cmluZzIxMTtzdHJpbmcyMTI7c3RyaW5nMjEzO3N0cmluZzIxNDtzdHJpbmcyMTU7c3RyaW5nMjE2O3N0cmluZzIxNztzdHJpbmcyMTg7c3RyaW5nMjE5O3N0cmluZzIyMDtzdHJpbmcyMjE7c3RyaW5nMjIyO3N0cmluZzIyMztzdHJpbmcyMjQ7c3RyaW5nMjI1O3N0cmluZzIyNjtzdHJpbmcyMjc7c3RyaW5nMjI4O3N0cmluZzIyOTtzdHJpbmcyMzA7c3RyaW5nMjMxO3N0cmluZzIzMjtzdHJpbmcyMzM7c3RyaW5nMjM0O3N0cmluZzIzNTtzdHJpbmcyMzY7c3RyaW5nMjM3O3N0cmluZzIzODtzdHJpbmcyMzk7c3RyaW5nMjQwO3N0cmluZzI0MTtzdHJpbmcyNDI7c3RyaW5nMjQzO3N0cmluZzI0NDtzdHJpbmcyNDU7c3RyaW5nMjQ2O3N0cmluZzI0NztzdHJpbmcyNDg7c3RyaW5nMjQ5O3N0cmluZzI1MDtzdHJpbmcyNTE7c3RyaW5nMjUyO3N0cmluZzI1MztzdHJpbmcyNTQ7c3RyaW5nMjU1O3N0cmluZzI1NjtzdHJpbmcyNTc7c3RyaW5nMjU4O3N0cmluZzI1OTtzdHJpbmcyNjA7c3RyaW5nMjYxO3N0cmluZzI2MjtzdHJpbmcyNjM7c3RyaW5nMjY0O3N0cmluZzI2NTtzdHJpbmcyNjY7c3RyaW5nMjY3O3N0cmluZzI2ODtzdHJpbmcyNjk7c3RyaW5nMjcwO3N0cmluZzI3MTtzdHJpbmcyNzI7c3RyaW5nMjczO3N0cmluZzI3NDtzdHJpbmcyNzU7c3RyaW5nMjc2O3N0cmluZzI3NztzdHJpbmcyNzg7c3RyaW5nMjc5O3N0cmluZzI4MDtzdHJpbmcyODE7c3RyaW5nMjgyO3N0cmluZzI4MztzdHJpbmcyODQ7c3RyaW5nMjg1O3N0cmluZzI4NjtzdHJpbmcyODc7c3RyaW5nMjg4O3N0cmluZzI4OTtzdHJpbmcyOTA7c3RyaW5nMjkxO3N0cmluZzI5MjtzdHJpbmcyOTM7c3RyaW5nMjk0O3N0cmluZzI5NTtzdHJpbmcyOTY7c3RyaW5nMjk3O3N0cmluZzI5ODtzdHJpbmcyOTk7c3RyaW5nMzAwO3N0cmluZzMwMTtzdHJpbmczMDI7c3RyaW5nMzAzO3N0cmluZzMwNDtzdHJpbmczMDU7c3RyaW5nMzA2O3N0cmluZzMwNztzdHJpbmczMDg7c3RyaW5nMzA5O3N0cmluZzMxMDtzdHJpbmczMTE7c3RyaW5nMzEyO3N0cmluZzMxMztzdHJpbmczMTQ7c3RyaW5nMzE1O3N0cmluZzMxNjtzdHJpbmczMTc7c3RyaW5nMzE4O3N0cmluZzMxOTtzdHJpbmczMjA7c3RyaW5nMzIxO3N0cmluZzMyMjtzdHJpbmczMjM7c3RyaW5nMzI0O3N0cmluZzMyNTtzdHJpbmczMjY7c3RyaW5nMzI3O3N0cmluZzMyODtzdHJpbmczMjk7c3RyaW5nMzMwO3N0cmluZzMzMTtzdHJpbmczMzI7c3RyaW5nMzMzO3N0cmluZzMzNDtzdHJpbmczMzU7c3RyaW5nMzM2O3N0cmluZzMzNztzdHJpbmczMzg7c3RyaW5nMzM5O3N0cmluZzM0MDtzdHJpbmczNDE7c3RyaW5nMzQyO3N0cmluZzM0MztzdHJpbmczNDQ7c3RyaW5nMzQ1O3N0cmluZzM0NjtzdHJpbmczNDc7c3RyaW5nMzQ4O3N0cmluZzM0OTtzdHJpbmczNTA7c3RyaW5nMzUxO3N0cmluZzM1MjtzdHJpbmczNTM7c3RyaW5nMzU0O3N0cmluZzM1NTtzdHJpbmczNTY7c3RyaW5nMzU3O3N0cmluZzM1ODtzdHJpbmczNTk7c3RyaW5nMzYwO3N0cmluZzM2MTtzdHJpbmczNjI7c3RyaW5nMzYzO3N0cmluZzM2NDtzdHJpbmczNjU7c3RyaW5nMzY2O3N0cmluZzM2NztzdHJpbmczNjg7c3RyaW5nMzY5O3N0cmluZzM3MDtzdHJpbmczNzE7c3RyaW5nMzcyO3N0cmluZzM3MztzdHJpbmczNzQ7c3RyaW5nMzc1O3N0cmluZzM3NjtzdHJpbmczNzc7c3RyaW5nMzc4O3N0cmluZzM3OTtzdHJpbmczODA7c3RyaW5nMzgxO3N0cmluZzM4MjtzdHJpbmczODM7c3RyaW5nMzg0O3N0cmluZzM4NTtzdHJpbmczODY7c3RyaW5nMzg3O3N0cmluZzM4ODtzdHJpbmczODk7c3RyaW5nMzkwO3N0cmluZzM5MTtzdHJpbmczOTI7c3RyaW5nMzkzO3N0cmluZzM5NDtzdHJpbmczOTU7c3RyaW5nMzk2O3N0cmluZzM5NztzdHJpbmczOTg7c3RyaW5nMzk5O3N0cmluZzQwMDtzdHJpbmc0MDE7c3RyaW5nNDAyO3N0cmluZzQwMztzdHJpbmc0MDQ7c3RyaW5nNDA1O3N0cmluZzQwNjtzdHJpbmc0MDc7c3RyaW5nNDA4O3N0cmluZzQwOTtzdHJpbmc0MTA7c3RyaW5nNDExO3N0cmluZzQxMjtzdHJpbmc0MTM7c3RyaW5nNDE0O3N0cmluZzQxNTtzdHJpbmc0MTY7c3RyaW5nNDE3O3N0cmluZzQxODtzdHJpbmc0MTk7c3RyaW5nNDIwO3N0cmluZzQyMTtzdHJpbmc0MjI7c3RyaW5nNDIzO3N0cmluZzQyNDtzdHJpbmc0MjU7c3RyaW5nNDI2O3N0cmluZzQyNztzdHJpbmc0Mjg7c3RyaW5nNDI5O3N0cmluZzQzMDtzdHJpbmc0MzE7c3RyaW5nNDMyO3N0cmluZzQzMztzdHJpbmc0MzQ7c3RyaW5nNDM1O3N0cmluZzQzNjtzdHJpbmc0Mzc7c3RyaW5nNDM4O3N0cmluZzQzOTtzdHJpbmc0NDA7c3RyaW5nNDQxO3N0cmluZzQ0MjtzdHJpbmc0NDM7c3RyaW5nNDQ0O3N0cmluZzQ0NTtzdHJpbmc0NDY7c3RyaW5nNDQ3O3N0cmluZzQ0ODtzdHJpbmc0NDk7c3RyaW5nNDUwO3N0cmluZzQ1MTtzdHJpbmc0NTI7c3RyaW5nNDUzO3N0cmluZzQ1NDtzdHJpbmc0NTU7c3RyaW5nNDU2O3N0cmluZzQ1NztzdHJpbmc0NTg7c3RyaW5nNDU5O3N0cmluZzQ2MDtzdHJpbmc0NjE7c3RyaW5nNDYyO3N0cmluZzQ2MztzdHJpbmc0NjQ7c3RyaW5nNDY1O3N0cmluZzQ2NjtzdHJpbmc0Njc7c3RyaW5nNDY4O3N0cmluZzQ2OTtzdHJpbmc0NzA7c3RyaW5nNDcxO3N0cmluZzQ3MjtzdHJpbmc0NzM7c3RyaW5nNDc0O3N0cmluZzQ3NTtzdHJpbmc0NzY7c3RyaW5nNDc3O3N0cmluZzQ3ODtzdHJpbmc0Nzk7c3RyaW5nNDgwO3N0cmluZzQ4MTtzdHJpbmc0ODI7c3RyaW5nNDgzO3N0cmluZzQ4NDtzdHJpbmc0ODU7c3RyaW5nNDg2O3N0cmluZzQ4NztzdHJpbmc0ODg7c3RyaW5nNDg5O3N0cmluZzQ5MDtzdHJpbmc0OTE7c3RyaW5nNDkyO3N0cmluZzQ5MztzdHJpbmc0OTQ7c3RyaW5nNDk1O3N0cmluZzQ5NjtzdHJpbmc0OTc7c3RyaW5nNDk4O3N0cmluZzQ5OTtzdHJpbmc1MDA7c3RyaW5nNTAxO3N0cmluZzUwMjtzdHJpbmc1MDM7c3RyaW5nNTA0O3N0cmluZzUwNTtzdHJpbmc1MDY7c3RyaW5nNTA3O3N0cmluZzUwODtzdHJpbmc1MDk7c3RyaW5nNTEwO3N0cmluZzUxMTtzdHJpbmc1MTI7c3RyaW5nNTEzO3N0cmluZzUxNDtzdHJpbmc1MTU7c3RyaW5nNTE2O3N0cmluZzUxNztzdHJpbmc1MTg7c3RyaW5nNTE5O3N0cmluZzUyMDtzdHJpbmc1MjE7c3RyaW5nNTIyO3N0cmluZzUyMztzdHJpbmc1MjQ7c3RyaW5nNTI1O3N0cmluZzUyNjtzdHJpbmc1Mjc7c3RyaW5nNTI4O3N0cmluZzUyOTtzdHJpbmc1MzA7c3RyaW5nNTMxO3N0cmluZzUzMjtzdHJpbmc1MzM7c3RyaW5nNTM0O3N0cmluZzUzNTtzdHJpbmc1MzY7c3RyaW5nNTM3O3N0cmluZzUzODtzdHJpbmc1Mzk7c3RyaW5nNTQwO3N0cmluZzU0MTtzdHJpbmc1NDI7c3RyaW5nNTQzO3N0cmluZzU0NDtzdHJpbmc1NDU7c3RyaW5nNTQ2O3N0cmluZzU0NztzdHJpbmc1NDg7c3RyaW5nNTQ5O3N0cmluZzU1MDtzdHJpbmc1NTE7c3RyaW5nNTUyO3N0cmluZzU1MztzdHJpbmc1NTQ7c3RyaW5nNTU1O3N0cmluZzU1NjtzdHJpbmc1NTc7c3RyaW5nNTU4O3N0cmluZzU1OTtzdHJpbmc1NjA7c3RyaW5nNTYxO3N0cmluZzU2MjtzdHJpbmc1NjM7c3RyaW5nNTY0O3N0cmluZzU2NTtzdHJpbmc1NjY7c3RyaW5nNTY3O3N0cmluZzU2ODtzdHJpbmc1Njk7c3RyaW5nNTcwO3N0cmluZzU3MTtzdHJpbmc1NzI7c3RyaW5nNTczO3N0cmluZzU3NDtzdHJpbmc1NzU7c3RyaW5nNTc2O3N0cmluZzU3NztzdHJpbmc1Nzg7c3RyaW5nNTc5O3N0cmluZzU4MDtzdHJpbmc1ODE7c3RyaW5nNTgyO3N0cmluZzU4MztzdHJpbmc1ODQ7c3RyaW5nNTg1O3N0cmluZzU4NjtzdHJpbmc1ODc7c3RyaW5nNTg4O3N0cmluZzU4OTtzdHJpbmc1OTA7c3RyaW5nNTkxO3N0cmluZzU5MjtzdHJpbmc1OTM7c3RyaW5nNTk0O3N0cmluZzU5NTtzdHJpbmc1OTY7c3RyaW5nNTk3O3N0cmluZzU5ODtzdHJpbmc1OTk7c3RyaW5nNjAwO3N0cmluZzYwMTtzdHJpbmc2MDI7c3RyaW5nNjAzO3N0cmluZzYwNDtzdHJpbmc2MDU7c3RyaW5nNjA2O3N0cmluZzYwNztzdHJpbmc2MDg7c3RyaW5nNjA5O3N0cmluZzYxMDtzdHJpbmc2MTE7c3RyaW5nNjEyO3N0cmluZzYxMztzdHJpbmc2MTQ7c3RyaW5nNjE1O3N0cmluZzYxNjtzdHJpbmc2MTc7c3RyaW5nNjE4O3N0cmluZzYxOTtzdHJpbmc2MjA7c3RyaW5nNjIxO3N0cmluZzYyMjtzdHJpbmc2MjM7c3RyaW5nNjI0O3N0cmluZzYyNTtzdHJpbmc2MjY7c3RyaW5nNjI3O3N0cmluZzYyODtzdHJpbmc2Mjk7c3RyaW5nNjMwO3N0cmluZzYzMTtzdHJpbmc2MzI7c3RyaW5nNjMzO3N0cmluZzYzNDtzdHJpbmc2MzU7c3RyaW5nNjM2O3N0cmluZzYzNztzdHJpbmc2Mzg7c3RyaW5nNjM5O3N0cmluZzY0MDtzdHJpbmc2NDE7c3RyaW5nNjQyO3N0cmluZzY0MztzdHJpbmc2NDQ7c3RyaW5nNjQ1O3N0cmluZzY0NjtzdHJpbmc2NDc7c3RyaW5nNjQ4O3N0cmluZzY0OTtzdHJpbmc2NTA7c3RyaW5nNjUxO3N0cmluZzY1MjtzdHJpbmc2NTM7c3RyaW5nNjU0O3N0cmluZzY1NTtzdHJpbmc2NTY7c3RyaW5nNjU3O3N0cmluZzY1ODtzdHJpbmc2NTk7c3RyaW5nNjYwO3N0cmluZzY2MTtzdHJpbmc2NjI7c3RyaW5nNjYzO3N0cmluZzY2NDtzdHJpbmc2NjU7c3RyaW5nNjY2O3N0cmluZzY2NztzdHJpbmc2Njg7c3RyaW5nNjY5O3N0cmluZzY3MDtzdHJpbmc2NzE7c3RyaW5nNjcyO3N0cmluZzY3MztzdHJpbmc2NzQ7c3RyaW5nNjc1O3N0cmluZzY3NjtzdHJpbmc2Nzc7c3RyaW5nNjc4O3N0cmluZzY3OTtzdHJpbmc2ODA7c3RyaW5nNjgxO3N0cmluZzY4MjtzdHJpbmc2ODM7c3RyaW5nNjg0O3N0cmluZzY4NTtzdHJpbmc2ODY7c3RyaW5nNjg3O3N0cmluZzY4ODtzdHJpbmc2ODk7c3RyaW5nNjkwO3N0cmluZzY5MTtzdHJpbmc2OTI7c3RyaW5nNjkzO3N0cmluZzY5NDtzdHJpbmc2OTU7c3RyaW5nNjk2O3N0cmluZzY5NztzdHJpbmc2OTg7c3RyaW5nNjk5O3N0cmluZzcwMDtzdHJpbmc3MDE7c3RyaW5nNzAyO3N0cmluZzcwMztzdHJpbmc3MDQ7c3RyaW5nNzA1O3N0cmluZzcwNjtzdHJpbmc3MDc7c3RyaW5nNzA4O3N0cmluZzcwOTtzdHJpbmc3MTA7c3RyaW5nNzExO3N0cmluZzcxMjtzdHJpbmc3MTM7c3RyaW5nNzE0O3N0cmluZzcxNTtzdHJpbmc3MTY7c3RyaW5nNzE3O3N0cmluZzcxODtzdHJpbmc3MTk7c3RyaW5nNzIwO3N0cmluZzcyMTtzdHJpbmc3MjI7c3RyaW5nNzIzO3N0cmluZzcyNDtzdHJpbmc3MjU7c3RyaW5nNzI2O3N0cmluZzcyNztzdHJpbmc3Mjg7c3RyaW5nNzI5O3N0cmluZzczMDtzdHJpbmc3MzE7c3RyaW5nNzMyO3N0cmluZzczMztzdHJpbmc3MzQ7c3RyaW5nNzM1O3N0cmluZzczNjtzdHJpbmc3Mzc7c3RyaW5nNzM4O3N0cmluZzczOTtzdHJpbmc3NDA7c3RyaW5nNzQxO3N0cmluZzc0MjtzdHJpbmc3NDM7c3RyaW5nNzQ0O3N0cmluZzc0NTtzdHJpbmc3NDY7c3RyaW5nNzQ3O3N0cmluZzc0ODtzdHJpbmc3NDk7c3RyaW5nNzUwO3N0cmluZzc1MTtzdHJpbmc3NTI7c3RyaW5nNzUzO3N0cmluZzc1NDtzdHJpbmc3NTU7c3RyaW5nNzU2O3N0cmluZzc1NztzdHJpbmc3NTg7c3RyaW5nNzU5O3N0cmluZzc2MDtzdHJpbmc3NjE7c3RyaW5nNzYyO3N0cmluZzc2MztzdHJpbmc3NjQ7c3RyaW5nNzY1O3N0cmluZzc2NjtzdHJpbmc3Njc7c3RyaW5nNzY4O3N0cmluZzc2OTtzdHJpbmc3NzA7c3RyaW5nNzcxO3N0cmluZzc3MjtzdHJpbmc3NzM7c3RyaW5nNzc0O3N0cmluZzc3NTtzdHJpbmc3NzY7c3RyaW5nNzc3O3N0cmluZzc3ODtzdHJpbmc3Nzk7c3RyaW5nNzgwO3N0cmluZzc4MTtzdHJpbmc3ODI7c3RyaW5nNzgzO3N0cmluZzc4NDtzdHJpbmc3ODU7c3RyaW5nNzg2O3N0cmluZzc4NztzdHJpbmc3ODg7c3RyaW5nNzg5O3N0cmluZzc5MDtzdHJpbmc3OTE7c3RyaW5nNzkyO3N0cmluZzc5MztzdHJpbmc3OTQ7c3RyaW5nNzk1O3N0cmluZzc5NjtzdHJpbmc3OTc7c3RyaW5nNzk4O3N0cmluZzc5OTtzdHJpbmc4MDA7c3RyaW5nODAxO3N0cmluZzgwMjtzdHJpbmc4MDM7c3RyaW5nODA0O3N0cmluZzgwNTtzdHJpbmc4MDY7c3RyaW5nODA3O3N0cmluZzgwODtzdHJpbmc4MDk7c3RyaW5nODEwO3N0cmluZzgxMTtzdHJpbmc4MTI7c3RyaW5nODEzO3N0cmluZzgxNDtzdHJpbmc4MTU7c3RyaW5nODE2O3N0cmluZzgxNztzdHJpbmc4MTg7c3RyaW5nODE5O3N0cmluZzgyMDtzdHJpbmc4MjE7c3RyaW5nODIyO3N0cmluZzgyMztzdHJpbmc4MjQ7c3RyaW5nODI1O3N0cmluZzgyNjtzdHJpbmc4Mjc7c3RyaW5nODI4O3N0cmluZzgyOTtzdHJpbmc4MzA7c3RyaW5nODMxO3N0cmluZzgzMjtzdHJpbmc4MzM7c3RyaW5nODM0O3N0cmluZzgzNTtzdHJpbmc4MzY7c3RyaW5nODM3O3N0cmluZzgzODtzdHJpbmc4Mzk7c3RyaW5nODQwO3N0cmluZzg0MTtzdHJpbmc4NDI7c3RyaW5nODQzO3N0cmluZzg0NDtzdHJpbmc4NDU7c3RyaW5nODQ2O3N0cmluZzg0NztzdHJpbmc4NDg7c3RyaW5nODQ5O3N0cmluZzg1MDtzdHJpbmc4NTE7c3RyaW5nODUyO3N0cmluZzg1MztzdHJpbmc4NTQ7c3RyaW5nODU1O3N0cmluZzg1NjtzdHJpbmc4NTc7c3RyaW5nODU4O3N0cmluZzg1OTtzdHJpbmc4NjA7c3RyaW5nODYxO3N0cmluZzg2MjtzdHJpbmc4NjM7c3RyaW5nODY0O3N0cmluZzg2NTtzdHJpbmc4NjY7c3RyaW5nODY3O3N0cmluZzg2ODtzdHJpbmc4Njk7c3RyaW5nODcwO3N0cmluZzg3MTtzdHJpbmc4NzI7c3RyaW5nODczO3N0cmluZzg3NDtzdHJpbmc4NzU7c3RyaW5nODc2O3N0cmluZzg3NztzdHJpbmc4Nzg7c3RyaW5nODc5O3N0cmluZzg4MDtzdHJpbmc4ODE7c3RyaW5nODgyO3N0cmluZzg4MztzdHJpbmc4ODQ7c3RyaW5nODg1O3N0cmluZzg4NjtzdHJpbmc4ODc7c3RyaW5nODg4O3N0cmluZzg4OTtzdHJpbmc4OTA7c3RyaW5nODkxO3N0cmluZzg5MjtzdHJpbmc4OTM7c3RyaW5nODk0O3N0cmluZzg5NTtzdHJpbmc4OTY7c3RyaW5nODk3O3N0cmluZzg5ODtzdHJpbmc4OTk7c3RyaW5nOTAwO3N0cmluZzkwMTtzdHJpbmc5MDI7c3RyaW5nOTAzO3N0cmluZzkwNDtzdHJpbmc5MDU7c3RyaW5nOTA2O3N0cmluZzkwNztzdHJpbmc5MDg7c3RyaW5nOTA5O3N0cmluZzkxMDtzdHJpbmc5MTE7c3RyaW5nOTEyO3N0cmluZzkxMztzdHJpbmc5MTQ7c3RyaW5nOTE1O3N0cmluZzkxNjtzdHJpbmc5MTc7c3RyaW5nOTE4O3N0cmluZzkxOTtzdHJpbmc5MjA7c3RyaW5nOTIxO3N0cmluZzkyMjtzdHJpbmc5MjM7c3RyaW5nOTI0O3N0cmluZzkyNTtzdHJpbmc5MjY7c3RyaW5nOTI3O3N0cmluZzkyODtzdHJpbmc5Mjk7c3RyaW5nOTMwO3N0cmluZzkzMTtzdHJpbmc5MzI7c3RyaW5nOTMzO3N0cmluZzkzNDtzdHJpbmc5MzU7c3RyaW5nOTM2O3N0cmluZzkzNztzdHJpbmc5Mzg7c3RyaW5nOTM5O3N0cmluZzk0MDtzdHJpbmc5NDE7c3RyaW5nOTQyO3N0cmluZzk0MztzdHJpbmc5NDQ7c3RyaW5nOTQ1O3N0cmluZzk0NjtzdHJpbmc5NDc7c3RyaW5nOTQ4O3N0cmluZzk0OTtzdHJpbmc5NTA7c3RyaW5nOTUxO3N0cmluZzk1MjtzdHJpbmc5NTM7c3RyaW5nOTU0O3N0cmluZzk1NTtzdHJpbmc5NTY7c3RyaW5nOTU3O3N0cmluZzk1ODtzdHJpbmc5NTk7c3RyaW5nOTYwO3N0cmluZzk2MTtzdHJpbmc5NjI7c3RyaW5nOTYzO3N0cmluZzk2NDtzdHJpbmc5NjU7c3RyaW5nOTY2O3N0cmluZzk2NztzdHJpbmc5Njg7c3RyaW5nOTY5O3N0cmluZzk3MDtzdHJpbmc5NzE7c3RyaW5nOTcyO3N0cmluZzk3MztzdHJpbmc5NzQ7c3RyaW5nOTc1O3N0cmluZzk3NjtzdHJpbmc5Nzc7c3RyaW5nOTc4O3N0cmluZzk3OTtzdHJpbmc5ODA7c3RyaW5nOTgxO3N0cmluZzk4MjtzdHJpbmc5ODM7c3RyaW5nOTg0O3N0cmluZzk4NTtzdHJpbmc5ODY7c3RyaW5nOTg3O3N0cmluZzk4ODtzdHJpbmc5ODk7c3RyaW5nOTkwO3N0cmluZzk5MTtzdHJpbmc5OTI7c3RyaW5nOTkzO3N0cmluZzk5NDtzdHJpbmc5OTU7c3RyaW5nOTk2O3N0cmluZzk5NztzdHJpbmc5OTg7c3RyaW5nOTk5CitzdGFydDtzdHJpbmcwO3N0cmluZzE7c3RyaW5nMjtzdHJpbmczO3N0cmluZzQ7c3RyaW5nNTtzdHJpbmc2O3N0cmluZzc7c3RyaW5nODtzdHJpbmc5O3N0cmluZzEwO3N0cmluZzExO3N0cmluZzEyO3N0cmluZzEzO3N0cmluZzE0O3N0cmluZzE1O3N0cmluZzE2O3N0cmluZzE3O3N0cmluZzE4O3N0cmluZzE5O3N0cmluZzIwO3N0cmluZzIxO3N0cmluZzIyO3N0cmluZzIzO3N0cmluZzI0O3N0cmluZzI1O3N0cmluZzI2O3N0cmluZzI3O3N0cmluZzI4O3N0cmluZzI5O3N0cmluZzMwO3N0cmluZzMxO3N0cmluZzMyO3N0cmluZzMzO3N0cmluZzM0O3N0cmluZzM1O3N0cmluZzM2O3N0cmluZzM3O3N0cmluZzM4O3N0cmluZzM5O3N0cmluZzQwO3N0cmluZzQxO3N0cmluZzQyO3N0cmluZzQzO3N0cmluZzQ0O3N0cmluZzQ1O3N0cmluZzQ2O3N0cmluZzQ3O3N0cmluZzQ4O3N0cmluZzQ5O3N0cmluZzUwO3N0cmluZzUxO3N0cmluZzUyO3N0cmluZzUzO3N0cmluZzU0O3N0cmluZzU1O3N0cmluZzU2O3N0cmluZzU3O3N0cmluZzU4O3N0cmluZzU5O3N0cmluZzYwO3N0cmluZzYxO3N0cmluZzYyO3N0cmluZzYzO3N0cmluZzY0O3N0cmluZzY1O3N0cmluZzY2O3N0cmluZzY3O3N0cmluZzY4O3N0cmluZzY5O3N0cmluZzcwO3N0cmluZzcxO3N0cmluZzcyO3N0cmluZzczO3N0cmluZzc0O3N0cmluZzc1O3N0cmluZzc2O3N0cmluZzc3O3N0cmluZzc4O3N0cmluZzc5O3N0cmluZzgwO3N0cmluZzgxO3N0cmluZzgyO3N0cmluZzgzO3N0cmluZzg0O3N0cmluZzg1O3N0cmluZzg2O3N0cmluZzg3O3N0cmluZzg4O3N0cmluZzg5O3N0cmluZzkwO3N0cmluZzkxO3N0cmluZzkyO3N0cmluZzkzO3N0cmluZzk0O3N0cmluZzk1O3N0cmluZzk2O3N0cmluZzk3O3N0cmluZzk4O3N0cmluZzk5O3N0cmluZzEwMDtzdHJpbmcxMDE7c3RyaW5nMTAyO3N0cmluZzEwMztzdHJpbmcxMDQ7c3RyaW5nMTA1O3N0cmluZzEwNjtzdHJpbmcxMDc7c3RyaW5nMTA4O3N0cmluZzEwOTtzdHJpbmcxMTA7c3RyaW5nMTExO3N0cmluZzExMjtzdHJpbmcxMTM7c3RyaW5nMTE0O3N0cmluZzExNTtzdHJpbmcxMTY7c3RyaW5nMTE3O3N0cmluZzExODtzdHJpbmcxMTk7c3RyaW5nMTIwO3N0cmluZzEyMTtzdHJpbmcxMjI7c3RyaW5nMTIzO3N0cmluZzEyNDtzdHJpbmcxMjU7c3RyaW5nMTI2O3N0cmluZzEyNztzdHJpbmcxMjg7c3RyaW5nMTI5O3N0cmluZzEzMDtzdHJpbmcxMzE7c3RyaW5nMTMyO3N0cmluZzEzMztzdHJpbmcxMzQ7c3RyaW5nMTM1O3N0cmluZzEzNjtzdHJpbmcxMzc7c3RyaW5nMTM4O3N0cmluZzEzOTtzdHJpbmcxNDA7c3RyaW5nMTQxO3N0cmluZzE0MjtzdHJpbmcxNDM7c3RyaW5nMTQ0O3N0cmluZzE0NTtzdHJpbmcxNDY7c3RyaW5nMTQ3O3N0cmluZzE0ODtzdHJpbmcxNDk7c3RyaW5nMTUwO3N0cmluZzE1MTtzdHJpbmcxNTI7c3RyaW5nMTUzO3N0cmluZzE1NDtzdHJpbmcxNTU7c3RyaW5nMTU2O3N0cmluZzE1NztzdHJpbmcxNTg7c3RyaW5nMTU5O3N0cmluZzE2MDtzdHJpbmcxNjE7c3RyaW5nMTYyO3N0cmluZzE2MztzdHJpbmcxNjQ7c3RyaW5nMTY1O3N0cmluZzE2NjtzdHJpbmcxNjc7c3RyaW5nMTY4O3N0cmluZzE2OTtzdHJpbmcxNzA7c3RyaW5nMTcxO3N0cmluZzE3MjtzdHJpbmcxNzM7c3RyaW5nMTc0O3N0cmluZzE3NTtzdHJpbmcxNzY7c3RyaW5nMTc3O3N0cmluZzE3ODtzdHJpbmcxNzk7c3RyaW5nMTgwO3N0cmluZzE4MTtzdHJpbmcxODI7c3RyaW5nMTgzO3N0cmluZzE4NDtzdHJpbmcxODU7c3RyaW5nMTg2O3N0cmluZzE4NztzdHJpbmcxODg7c3RyaW5nMTg5O3N0cmluZzE5MDtzdHJpbmcxOTE7c3RyaW5nMTkyO3N0cmluZzE5MztzdHJpbmcxOTQ7c3RyaW5nMTk1O3N0cmluZzE5NjtzdHJpbmcxOTc7c3RyaW5nMTk4O3N0cmluZzE5OTtzdHJpbmcyMDA7c3RyaW5nMjAxO3N0cmluZzIwMjtzdHJpbmcyMDM7c3RyaW5nMjA0O3N0cmluZzIwNTtzdHJpbmcyMDY7c3RyaW5nMjA3O3N0cmluZzIwODtzdHJpbmcyMDk7c3RyaW5nMjEwO3N0cmluZzIxMTtzdHJpbmcyMTI7c3RyaW5nMjEzO3N0cmluZzIxNDtzdHJpbmcyMTU7c3RyaW5nMjE2O3N0cmluZzIxNztzdHJpbmcyMTg7c3RyaW5nMjE5O3N0cmluZzIyMDtzdHJpbmcyMjE7c3RyaW5nMjIyO3N0cmluZzIyMztzdHJpbmcyMjQ7c3RyaW5nMjI1O3N0cmluZzIyNjtzdHJpbmcyMjc7c3RyaW5nMjI4O3N0cmluZzIyOTtzdHJpbmcyMzA7c3RyaW5nMjMxO3N0cmluZzIzMjtzdHJpbmcyMzM7c3RyaW5nMjM0O3N0cmluZzIzNTtzdHJpbmcyMzY7c3RyaW5nMjM3O3N0cmluZzIzODtzdHJpbmcyMzk7c3RyaW5nMjQwO3N0cmluZzI0MTtzdHJpbmcyNDI7c3RyaW5nMjQzO3N0cmluZzI0NDtzdHJpbmcyNDU7c3RyaW5nMjQ2O3N0cmluZzI0NztzdHJpbmcyNDg7c3RyaW5nMjQ5O3N0cmluZzI1MDtzdHJpbmcyNTE7c3RyaW5nMjUyO3N0cmluZzI1MztzdHJpbmcyNTQ7c3RyaW5nMjU1O3N0cmluZzI1NjtzdHJpbmcyNTc7c3RyaW5nMjU4O3N0cmluZzI1OTtzdHJpbmcyNjA7c3RyaW5nMjYxO3N0cmluZzI2MjtzdHJpbmcyNjM7c3RyaW5nMjY0O3N0cmluZzI2NTtzdHJpbmcyNjY7c3RyaW5nMjY3O3N0cmluZzI2ODtzdHJpbmcyNjk7c3RyaW5nMjcwO3N0cmluZzI3MTtzdHJpbmcyNzI7c3RyaW5nMjczO3N0cmluZzI3NDtzdHJpbmcyNzU7c3RyaW5nMjc2O3N0cmluZzI3NztzdHJpbmcyNzg7c3RyaW5nMjc5O3N0cmluZzI4MDtzdHJpbmcyODE7c3RyaW5nMjgyO3N0cmluZzI4MztzdHJpbmcyODQ7c3RyaW5nMjg1O3N0cmluZzI4NjtzdHJpbmcyODc7c3RyaW5nMjg4O3N0cmluZzI4OTtzdHJpbmcyOTA7c3RyaW5nMjkxO3N0cmluZzI5MjtzdHJpbmcyOTM7c3RyaW5nMjk0O3N0cmluZzI5NTtzdHJpbmcyOTY7c3RyaW5nMjk3O3N0cmluZzI5ODtzdHJpbmcyOTk7c3RyaW5nMzAwO3N0cmluZzMwMTtzdHJpbmczMDI7c3RyaW5nMzAzO3N0cmluZzMwNDtzdHJpbmczMDU7c3RyaW5nMzA2O3N0cmluZzMwNztzdHJpbmczMDg7c3RyaW5nMzA5O3N0cmluZzMxMDtzdHJpbmczMTE7c3RyaW5nMzEyO3N0cmluZzMxMztzdHJpbmczMTQ7c3RyaW5nMzE1O3N0cmluZzMxNjtzdHJpbmczMTc7c3RyaW5nMzE4O3N0cmluZzMxOTtzdHJpbmczMjA7c3RyaW5nMzIxO3N0cmluZzMyMjtzdHJpbmczMjM7c3RyaW5nMzI0O3N0cmluZzMyNTtzdHJpbmczMjY7c3RyaW5nMzI3O3N0cmluZzMyODtzdHJpbmczMjk7c3RyaW5nMzMwO3N0cmluZzMzMTtzdHJpbmczMzI7c3RyaW5nMzMzO3N0cmluZzMzNDtzdHJpbmczMzU7c3RyaW5nMzM2O3N0cmluZzMzNztzdHJpbmczMzg7c3RyaW5nMzM5O3N0cmluZzM0MDtzdHJpbmczNDE7c3RyaW5nMzQyO3N0cmluZzM0MztzdHJpbmczNDQ7c3RyaW5nMzQ1O3N0cmluZzM0NjtzdHJpbmczNDc7c3RyaW5nMzQ4O3N0cmluZzM0OTtzdHJpbmczNTA7c3RyaW5nMzUxO3N0cmluZzM1MjtzdHJpbmczNTM7c3RyaW5nMzU0O3N0cmluZzM1NTtzdHJpbmczNTY7c3RyaW5nMzU3O3N0cmluZzM1ODtzdHJpbmczNTk7c3RyaW5nMzYwO3N0cmluZzM2MTtzdHJpbmczNjI7c3RyaW5nMzYzO3N0cmluZzM2NDtzdHJpbmczNjU7c3RyaW5nMzY2O3N0cmluZzM2NztzdHJpbmczNjg7c3RyaW5nMzY5O3N0cmluZzM3MDtzdHJpbmczNzE7c3RyaW5nMzcyO3N0cmluZzM3MztzdHJpbmczNzQ7c3RyaW5nMzc1O3N0cmluZzM3NjtzdHJpbmczNzc7c3RyaW5nMzc4O3N0cmluZzM3OTtzdHJpbmczODA7c3RyaW5nMzgxO3N0cmluZzM4MjtzdHJpbmczODM7c3RyaW5nMzg0O3N0cmluZzM4NTtzdHJpbmczODY7c3RyaW5nMzg3O3N0cmluZzM4ODtzdHJpbmczODk7c3RyaW5nMzkwO3N0cmluZzM5MTtzdHJpbmczOTI7c3RyaW5nMzkzO3N0cmluZzM5NDtzdHJpbmczOTU7c3RyaW5nMzk2O3N0cmluZzM5NztzdHJpbmczOTg7c3RyaW5nMzk5O3N0cmluZzQwMDtzdHJpbmc0MDE7c3RyaW5nNDAyO3N0cmluZzQwMztzdHJpbmc0MDQ7c3RyaW5nNDA1O3N0cmluZzQwNjtzdHJpbmc0MDc7c3RyaW5nNDA4O3N0cmluZzQwOTtzdHJpbmc0MTA7c3RyaW5nNDExO3N0cmluZzQxMjtzdHJpbmc0MTM7c3RyaW5nNDE0O3N0cmluZzQxNTtzdHJpbmc0MTY7c3RyaW5nNDE3O3N0cmluZzQxODtzdHJpbmc0MTk7c3RyaW5nNDIwO3N0cmluZzQyMTtzdHJpbmc0MjI7c3RyaW5nNDIzO3N0cmluZzQyNDtzdHJpbmc0MjU7c3RyaW5nNDI2O3N0cmluZzQyNztzdHJpbmc0Mjg7c3RyaW5nNDI5O3N0cmluZzQzMDtzdHJpbmc0MzE7c3RyaW5nNDMyO3N0cmluZzQzMztzdHJpbmc0MzQ7c3RyaW5nNDM1O3N0cmluZzQzNjtzdHJpbmc0Mzc7c3RyaW5nNDM4O3N0cmluZzQzOTtzdHJpbmc0NDA7c3RyaW5nNDQxO3N0cmluZzQ0MjtzdHJpbmc0NDM7c3RyaW5nNDQ0O3N0cmluZzQ0NTtzdHJpbmc0NDY7c3RyaW5nNDQ3O3N0cmluZzQ0ODtzdHJpbmc0NDk7c3RyaW5nNDUwO3N0cmluZzQ1MTtzdHJpbmc0NTI7c3RyaW5nNDUzO3N0cmluZzQ1NDtzdHJpbmc0NTU7c3RyaW5nNDU2O3N0cmluZzQ1NztzdHJpbmc0NTg7c3RyaW5nNDU5O3N0cmluZzQ2MDtzdHJpbmc0NjE7c3RyaW5nNDYyO3N0cmluZzQ2MztzdHJpbmc0NjQ7c3RyaW5nNDY1O3N0cmluZzQ2NjtzdHJpbmc0Njc7c3RyaW5nNDY4O3N0cmluZzQ2OTtzdHJpbmc0NzA7c3RyaW5nNDcxO3N0cmluZzQ3MjtzdHJpbmc0NzM7c3RyaW5nNDc0O3N0cmluZzQ3NTtzdHJpbmc0NzY7c3RyaW5nNDc3O3N0cmluZzQ3ODtzdHJpbmc0Nzk7c3RyaW5nNDgwO3N0cmluZzQ4MTtzdHJpbmc0ODI7c3RyaW5nNDgzO3N0cmluZzQ4NDtzdHJpbmc0ODU7c3RyaW5nNDg2O3N0cmluZzQ4NztzdHJpbmc0ODg7c3RyaW5nNDg5O3N0cmluZzQ5MDtzdHJpbmc0OTE7c3RyaW5nNDkyO3N0cmluZzQ5MztzdHJpbmc0OTQ7c3RyaW5nNDk1O3N0cmluZzQ5NjtzdHJpbmc0OTc7c3RyaW5nNDk4O3N0cmluZzQ5OTtzdHJpbmc1MDA7c3RyaW5nNTAxO3N0cmluZzUwMjtzdHJpbmc1MDM7c3RyaW5nNTA0O3N0cmluZzUwNTtzdHJpbmc1MDY7c3RyaW5nNTA3O3N0cmluZzUwODtzdHJpbmc1MDk7c3RyaW5nNTEwO3N0cmluZzUxMTtzdHJpbmc1MTI7c3RyaW5nNTEzO3N0cmluZzUxNDtzdHJpbmc1MTU7c3RyaW5nNTE2O3N0cmluZzUxNztzdHJpbmc1MTg7c3RyaW5nNTE5O3N0cmluZzUyMDtzdHJpbmc1MjE7c3RyaW5nNTIyO3N0cmluZzUyMztzdHJpbmc1MjQ7c3RyaW5nNTI1O3N0cmluZzUyNjtzdHJpbmc1Mjc7c3RyaW5nNTI4O3N0cmluZzUyOTtzdHJpbmc1MzA7c3RyaW5nNTMxO3N0cmluZzUzMjtzdHJpbmc1MzM7c3RyaW5nNTM0O3N0cmluZzUzNTtzdHJpbmc1MzY7c3RyaW5nNTM3O3N0cmluZzUzODtzdHJpbmc1Mzk7c3RyaW5nNTQwO3N0cmluZzU0MTtzdHJpbmc1NDI7c3RyaW5nNTQzO3N0cmluZzU0NDtzdHJpbmc1NDU7c3RyaW5nNTQ2O3N0cmluZzU0NztzdHJpbmc1NDg7c3RyaW5nNTQ5O3N0cmluZzU1MDtzdHJpbmc1NTE7c3RyaW5nNTUyO3N0cmluZzU1MztzdHJpbmc1NTQ7c3RyaW5nNTU1O3N0cmluZzU1NjtzdHJpbmc1NTc7c3RyaW5nNTU4O3N0cmluZzU1OTtzdHJpbmc1NjA7c3RyaW5nNTYxO3N0cmluZzU2MjtzdHJpbmc1NjM7c3RyaW5nNTY0O3N0cmluZzU2NTtzdHJpbmc1NjY7c3RyaW5nNTY3O3N0cmluZzU2ODtzdHJpbmc1Njk7c3RyaW5nNTcwO3N0cmluZzU3MTtzdHJpbmc1NzI7c3RyaW5nNTczO3N0cmluZzU3NDtzdHJpbmc1NzU7c3RyaW5nNTc2O3N0cmluZzU3NztzdHJpbmc1Nzg7c3RyaW5nNTc5O3N0cmluZzU4MDtzdHJpbmc1ODE7c3RyaW5nNTgyO3N0cmluZzU4MztzdHJpbmc1ODQ7c3RyaW5nNTg1O3N0cmluZzU4NjtzdHJpbmc1ODc7c3RyaW5nNTg4O3N0cmluZzU4OTtzdHJpbmc1OTA7c3RyaW5nNTkxO3N0cmluZzU5MjtzdHJpbmc1OTM7c3RyaW5nNTk0O3N0cmluZzU5NTtzdHJpbmc1OTY7c3RyaW5nNTk3O3N0cmluZzU5ODtzdHJpbmc1OTk7c3RyaW5nNjAwO3N0cmluZzYwMTtzdHJpbmc2MDI7c3RyaW5nNjAzO3N0cmluZzYwNDtzdHJpbmc2MDU7c3RyaW5nNjA2O3N0cmluZzYwNztzdHJpbmc2MDg7c3RyaW5nNjA5O3N0cmluZzYxMDtzdHJpbmc2MTE7c3RyaW5nNjEyO3N0cmluZzYxMztzdHJpbmc2MTQ7c3RyaW5nNjE1O3N0cmluZzYxNjtzdHJpbmc2MTc7c3RyaW5nNjE4O3N0cmluZzYxOTtzdHJpbmc2MjA7c3RyaW5nNjIxO3N0cmluZzYyMjtzdHJpbmc2MjM7c3RyaW5nNjI0O3N0cmluZzYyNTtzdHJpbmc2MjY7c3RyaW5nNjI3O3N0cmluZzYyODtzdHJpbmc2Mjk7c3RyaW5nNjMwO3N0cmluZzYzMTtzdHJpbmc2MzI7c3RyaW5nNjMzO3N0cmluZzYzNDtzdHJpbmc2MzU7c3RyaW5nNjM2O3N0cmluZzYzNztzdHJpbmc2Mzg7c3RyaW5nNjM5O3N0cmluZzY0MDtzdHJpbmc2NDE7c3RyaW5nNjQyO3N0cmluZzY0MztzdHJpbmc2NDQ7c3RyaW5nNjQ1O3N0cmluZzY0NjtzdHJpbmc2NDc7c3RyaW5nNjQ4O3N0cmluZzY0OTtzdHJpbmc2NTA7c3RyaW5nNjUxO3N0cmluZzY1MjtzdHJpbmc2NTM7c3RyaW5nNjU0O3N0cmluZzY1NTtzdHJpbmc2NTY7c3RyaW5nNjU3O3N0cmluZzY1ODtzdHJpbmc2NTk7c3RyaW5nNjYwO3N0cmluZzY2MTtzdHJpbmc2NjI7c3RyaW5nNjYzO3N0cmluZzY2NDtzdHJpbmc2NjU7c3RyaW5nNjY2O3N0cmluZzY2NztzdHJpbmc2Njg7c3RyaW5nNjY5O3N0cmluZzY3MDtzdHJpbmc2NzE7c3RyaW5nNjcyO3N0cmluZzY3MztzdHJpbmc2NzQ7c3RyaW5nNjc1O3N0cmluZzY3NjtzdHJpbmc2Nzc7c3RyaW5nNjc4O3N0cmluZzY3OTtzdHJpbmc2ODA7c3RyaW5nNjgxO3N0cmluZzY4MjtzdHJpbmc2ODM7c3RyaW5nNjg0O3N0cmluZzY4NTtzdHJpbmc2ODY7c3RyaW5nNjg3O3N0cmluZzY4ODtzdHJpbmc2ODk7c3RyaW5nNjkwO3N0cmluZzY5MTtzdHJpbmc2OTI7c3RyaW5nNjkzO3N0cmluZzY5NDtzdHJpbmc2OTU7c3RyaW5nNjk2O3N0cmluZzY5NztzdHJpbmc2OTg7c3RyaW5nNjk5O3N0cmluZzcwMDtzdHJpbmc3MDE7c3RyaW5nNzAyO3N0cmluZzcwMztzdHJpbmc3MDQ7c3RyaW5nNzA1O3N0cmluZzcwNjtzdHJpbmc3MDc7c3RyaW5nNzA4O3N0cmluZzcwOTtzdHJpbmc3MTA7c3RyaW5nNzExO3N0cmluZzcxMjtzdHJpbmc3MTM7c3RyaW5nNzE0O3N0cmluZzcxNTtzdHJpbmc3MTY7c3RyaW5nNzE3O3N0cmluZzcxODtzdHJpbmc3MTk7c3RyaW5nNzIwO3N0cmluZzcyMTtzdHJpbmc3MjI7c3RyaW5nNzIzO3N0cmluZzcyNDtzdHJpbmc3MjU7c3RyaW5nNzI2O3N0cmluZzcyNztzdHJpbmc3Mjg7c3RyaW5nNzI5O3N0cmluZzczMDtzdHJpbmc3MzE7c3RyaW5nNzMyO3N0cmluZzczMztzdHJpbmc3MzQ7c3RyaW5nNzM1O3N0cmluZzczNjtzdHJpbmc3Mzc7c3RyaW5nNzM4O3N0cmluZzczOTtzdHJpbmc3NDA7c3RyaW5nNzQxO3N0cmluZzc0MjtzdHJpbmc3NDM7c3RyaW5nNzQ0O3N0cmluZzc0NTtzdHJpbmc3NDY7c3RyaW5nNzQ3O3N0cmluZzc0ODtzdHJpbmc3NDk7c3RyaW5nNzUwO3N0cmluZzc1MTtzdHJpbmc3NTI7c3RyaW5nNzUzO3N0cmluZzc1NDtzdHJpbmc3NTU7c3RyaW5nNzU2O3N0cmluZzc1NztzdHJpbmc3NTg7c3RyaW5nNzU5O3N0cmluZzc2MDtzdHJpbmc3NjE7c3RyaW5nNzYyO3N0cmluZzc2MztzdHJpbmc3NjQ7c3RyaW5nNzY1O3N0cmluZzc2NjtzdHJpbmc3Njc7c3RyaW5nNzY4O3N0cmluZzc2OTtzdHJpbmc3NzA7c3RyaW5nNzcxO3N0cmluZzc3MjtzdHJpbmc3NzM7c3RyaW5nNzc0O3N0cmluZzc3NTtzdHJpbmc3NzY7c3RyaW5nNzc3O3N0cmluZzc3ODtzdHJpbmc3Nzk7c3RyaW5nNzgwO3N0cmluZzc4MTtzdHJpbmc3ODI7c3RyaW5nNzgzO3N0cmluZzc4NDtzdHJpbmc3ODU7c3RyaW5nNzg2O3N0cmluZzc4NztzdHJpbmc3ODg7c3RyaW5nNzg5O3N0cmluZzc5MDtzdHJpbmc3OTE7c3RyaW5nNzkyO3N0cmluZzc5MztzdHJpbmc3OTQ7c3RyaW5nNzk1O3N0cmluZzc5NjtzdHJpbmc3OTc7c3RyaW5nNzk4O3N0cmluZzc5OTtzdHJpbmc4MDA7c3RyaW5nODAxO3N0cmluZzgwMjtzdHJpbmc4MDM7c3RyaW5nODA0O3N0cmluZzgwNTtzdHJpbmc4MDY7c3RyaW5nODA3O3N0cmluZzgwODtzdHJpbmc4MDk7c3RyaW5nODEwO3N0cmluZzgxMTtzdHJpbmc4MTI7c3RyaW5nODEzO3N0cmluZzgxNDtzdHJpbmc4MTU7c3RyaW5nODE2O3N0cmluZzgxNztzdHJpbmc4MTg7c3RyaW5nODE5O3N0cmluZzgyMDtzdHJpbmc4MjE7c3RyaW5nODIyO3N0cmluZzgyMztzdHJpbmc4MjQ7c3RyaW5nODI1O3N0cmluZzgyNjtzdHJpbmc4Mjc7c3RyaW5nODI4O3N0cmluZzgyOTtzdHJpbmc4MzA7c3RyaW5nODMxO3N0cmluZzgzMjtzdHJpbmc4MzM7c3RyaW5nODM0O3N0cmluZzgzNTtzdHJpbmc4MzY7c3RyaW5nODM3O3N0cmluZzgzODtzdHJpbmc4Mzk7c3RyaW5nODQwO3N0cmluZzg0MTtzdHJpbmc4NDI7c3RyaW5nODQzO3N0cmluZzg0NDtzdHJpbmc4NDU7c3RyaW5nODQ2O3N0cmluZzg0NztzdHJpbmc4NDg7c3RyaW5nODQ5O3N0cmluZzg1MDtzdHJpbmc4NTE7c3RyaW5nODUyO3N0cmluZzg1MztzdHJpbmc4NTQ7c3RyaW5nODU1O3N0cmluZzg1NjtzdHJpbmc4NTc7c3RyaW5nODU4O3N0cmluZzg1OTtzdHJpbmc4NjA7c3RyaW5nODYxO3N0cmluZzg2MjtzdHJpbmc4NjM7c3RyaW5nODY0O3N0cmluZzg2NTtzdHJpbmc4NjY7c3RyaW5nODY3O3N0cmluZzg2ODtzdHJpbmc4Njk7c3RyaW5nODcwO3N0cmluZzg3MTtzdHJpbmc4NzI7c3RyaW5nODczO3N0cmluZzg3NDtzdHJpbmc4NzU7c3RyaW5nODc2O3N0cmluZzg3NztzdHJpbmc4Nzg7c3RyaW5nODc5O3N0cmluZzg4MDtzdHJpbmc4ODE7c3RyaW5nODgyO3N0cmluZzg4MztzdHJpbmc4ODQ7c3RyaW5nODg1O3N0cmluZzg4NjtzdHJpbmc4ODc7c3RyaW5nODg4O3N0cmluZzg4OTtzdHJpbmc4OTA7c3RyaW5nODkxO3N0cmluZzg5MjtzdHJpbmc4OTM7c3RyaW5nODk0O3N0cmluZzg5NTtzdHJpbmc4OTY7c3RyaW5nODk3O3N0cmluZzg5ODtzdHJpbmc4OTk7c3RyaW5nOTAwO3N0cmluZzkwMTtzdHJpbmc5MDI7c3RyaW5nOTAzO3N0cmluZzkwNDtzdHJpbmc5MDU7c3RyaW5nOTA2O3N0cmluZzkwNztzdHJpbmc5MDg7c3RyaW5nOTA5O3N0cmluZzkxMDtzdHJpbmc5MTE7c3RyaW5nOTEyO3N0cmluZzkxMztzdHJpbmc5MTQ7c3RyaW5nOTE1O3N0cmluZzkxNjtzdHJpbmc5MTc7c3RyaW5nOTE4O3N0cmluZzkxOTtzdHJpbmc5MjA7c3RyaW5nOTIxO3N0cmluZzkyMjtzdHJpbmc5MjM7c3RyaW5nOTI0O3N0cmluZzkyNTtzdHJpbmc5MjY7c3RyaW5nOTI3O3N0cmluZzkyODtzdHJpbmc5Mjk7c3RyaW5nOTMwO3N0cmluZzkzMTtzdHJpbmc5MzI7c3RyaW5nOTMzO3N0cmluZzkzNDtzdHJpbmc5MzU7c3RyaW5nOTM2O3N0cmluZzkzNztzdHJpbmc5Mzg7c3RyaW5nOTM5O3N0cmluZzk0MDtzdHJpbmc5NDE7c3RyaW5nOTQyO3N0cmluZzk0MztzdHJpbmc5NDQ7c3RyaW5nOTQ1O3N0cmluZzk0NjtzdHJpbmc5NDc7c3RyaW5nOTQ4O3N0cmluZzk0OTtzdHJpbmc5NTA7c3RyaW5nOTUxO3N0cmluZzk1MjtzdHJpbmc5NTM7c3RyaW5nOTU0O3N0cmluZzk1NTtzdHJpbmc5NTY7c3RyaW5nOTU3O3N0cmluZzk1ODtzdHJpbmc5NTk7c3RyaW5nOTYwO3N0cmluZzk2MTtzdHJpbmc5NjI7c3RyaW5nOTYzO3N0cmluZzk2NDtzdHJpbmc5NjU7c3RyaW5nOTY2O3N0cmluZzk2NztzdHJpbmc5Njg7c3RyaW5nOTY5O3N0cmluZzk3MDtzdHJpbmc5NzE7c3RyaW5nOTcyO3N0cmluZzk3MztzdHJpbmc5NzQ7c3RyaW5nOTc1O3N0cmluZzk3NjtzdHJpbmc5Nzc7c3RyaW5nOTc4O3N0cmluZzk3OTtzdHJpbmc5ODA7c3RyaW5nOTgxO3N0cmluZzk4MjtzdHJpbmc5ODM7c3RyaW5nOTg0O3N0cmluZzk4NTtzdHJpbmc5ODY7c3RyaW5nOTg3O3N0cmluZzk4ODtzdHJpbmc5ODk7c3RyaW5nOTkwO3N0cmluZzk5MTtzdHJpbmc5OTI7c3RyaW5nOTkzO3N0cmluZzk5NDtzdHJpbmc5OTU7c3RyaW5nOTk2O3N0cmluZzk5NztzdHJpbmc5OTg7c3RyaW5nOTk5Citpbmc5OTkKKzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKK2FydDtzdHJpbmcwO3N0cmluZzE7c3RyaW5nMjtzdHJpbmczO3N0cmluZzQ7c3RyaW5nNTtzdHJpbmc2O3N0cmluZzc7c3RyaW5nODtzdHJpbmc5O3N0cmluZzEwO3N0cmluZzExO3N0cmluZzEyO3N0cmluZzEzO3N0cmluZzE0O3N0cmluZzE1O3N0cmluZzE2O3N0cmluZzE3O3N0cmluZzE4O3N0cmluZzE5O3N0cmluZzIwO3N0cmluZzIxO3N0cmluZzIyO3N0cmluZzIzO3N0cmluZzI0O3N0cmluZzI1O3N0cmluZzI2O3N0cmluZzI3O3N0cmluZzI4O3N0cmluZzI5O3N0cmluZzMwO3N0cmluZzMxO3N0cmluZzMyO3N0cmluZzMzO3N0cmluZzM0O3N0cmluZzM1O3N0cmluZzM2O3N0cmluZzM3O3N0cmluZzM4O3N0cmluZzM5O3N0cmluZzQwO3N0cmluZzQxO3N0cmluZzQyO3N0cmluZzQzO3N0cmluZzQ0O3N0cmluZzQ1O3N0cmluZzQ2O3N0cmluZzQ3O3N0cmluZzQ4O3N0cmluZzQ5O3N0cmluZzUwO3N0cmluZzUxO3N0cmluZzUyO3N0cmluZzUzO3N0cmluZzU0O3N0cmluZzU1O3N0cmluZzU2O3N0cmluZzU3O3N0cmluZzU4O3N0cmluZzU5O3N0cmluZzYwO3N0cmluZzYxO3N0cmluZzYyO3N0cmluZzYzO3N0cmluZzY0O3N0cmluZzY1O3N0cmluZzY2O3N0cmluZzY3O3N0cmluZzY4O3N0cmluZzY5O3N0cmluZzcwO3N0cmluZzcxO3N0cmluZzcyO3N0cmluZzczO3N0cmluZzc0O3N0cmluZzc1O3N0cmluZzc2O3N0cmluZzc3O3N0cmluZzc4O3N0cmluZzc5O3N0cmluZzgwO3N0cmluZzgxO3N0cmluZzgyO3N0cmluZzgzO3N0cmluZzg0O3N0cmluZzg1O3N0cmluZzg2O3N0cmluZzg3O3N0cmluZzg4O3N0cmluZzg5O3N0cmluZzkwO3N0cmluZzkxO3N0cmluZzkyO3N0cmluZzkzO3N0cmluZzk0O3N0cmluZzk1O3N0cmluZzk2O3N0cmluZzk3O3N0cmluZzk4O3N0cmluZzk5O3N0cmluZzEwMDtzdHJpbmcxMDE7c3RyaW5nMTAyO3N0cmluZzEwMztzdHJpbmcxMDQ7c3RyaW5nMTA1O3N0cmluZzEwNjtzdHJpbmcxMDc7c3RyaW5nMTA4O3N0cmluZzEwOTtzdHJpbmcxMTA7c3RyaW5nMTExO3N0cmluZzExMjtzdHJpbmcxMTM7c3RyaW5nMTE0O3N0cmluZzExNTtzdHJpbmcxMTY7c3RyaW5nMTE3O3N0cmluZzExODtzdHJpbmcxMTk7c3RyaW5nMTIwO3N0cmluZzEyMTtzdHJpbmcxMjI7c3RyaW5nMTIzO3N0cmluZzEyNDtzdHJpbmcxMjU7c3RyaW5nMTI2O3N0cmluZzEyNztzdHJpbmcxMjg7c3RyaW5nMTI5O3N0cmluZzEzMDtzdHJpbmcxMzE7c3RyaW5nMTMyO3N0cmluZzEzMztzdHJpbmcxMzQ7c3RyaW5nMTM1O3N0cmluZzEzNjtzdHJpbmcxMzc7c3RyaW5nMTM4O3N0cmluZzEzOTtzdHJpbmcxNDA7c3RyaW5nMTQxO3N0cmluZzE0MjtzdHJpbmcxNDM7c3RyaW5nMTQ0O3N0cmluZzE0NTtzdHJpbmcxNDY7c3RyaW5nMTQ3O3N0cmluZzE0ODtzdHJpbmcxNDk7c3RyaW5nMTUwO3N0cmluZzE1MTtzdHJpbmcxNTI7c3RyaW5nMTUzO3N0cmluZzE1NDtzdHJpbmcxNTU7c3RyaW5nMTU2O3N0cmluZzE1NztzdHJpbmcxNTg7c3RyaW5nMTU5O3N0cmluZzE2MDtzdHJpbmcxNjE7c3RyaW5nMTYyO3N0cmluZzE2MztzdHJpbmcxNjQ7c3RyaW5nMTY1O3N0cmluZzE2NjtzdHJpbmcxNjc7c3RyaW5nMTY4O3N0cmluZzE2OTtzdHJpbmcxNzA7c3RyaW5nMTcxO3N0cmluZzE3MjtzdHJpbmcxNzM7c3RyaW5nMTc0O3N0cmluZzE3NTtzdHJpbmcxNzY7c3RyaW5nMTc3O3N0cmluZzE3ODtzdHJpbmcxNzk7c3RyaW5nMTgwO3N0cmluZzE4MTtzdHJpbmcxODI7c3RyaW5nMTgzO3N0cmluZzE4NDtzdHJpbmcxODU7c3RyaW5nMTg2O3N0cmluZzE4NztzdHJpbmcxODg7c3RyaW5nMTg5O3N0cmluZzE5MDtzdHJpbmcxOTE7c3RyaW5nMTkyO3N0cmluZzE5MztzdHJpbmcxOTQ7c3RyaW5nMTk1O3N0cmluZzE5NjtzdHJpbmcxOTc7c3RyaW5nMTk4O3N0cmluZzE5OTtzdHJpbmcyMDA7c3RyaW5nMjAxO3N0cmluZzIwMjtzdHJpbmcyMDM7c3RyaW5nMjA0O3N0cmluZzIwNTtzdHJpbmcyMDY7c3RyaW5nMjA3O3N0cmluZzIwODtzdHJpbmcyMDk7c3RyaW5nMjEwO3N0cmluZzIxMTtzdHJpbmcyMTI7c3RyaW5nMjEzO3N0cmluZzIxNDtzdHJpbmcyMTU7c3RyaW5nMjE2O3N0cmluZzIxNztzdHJpbmcyMTg7c3RyaW5nMjE5O3N0cmluZzIyMDtzdHJpbmcyMjE7c3RyaW5nMjIyO3N0cmluZzIyMztzdHJpbmcyMjQ7c3RyaW5nMjI1O3N0cmluZzIyNjtzdHJpbmcyMjc7c3RyaW5nMjI4O3N0cmluZzIyOTtzdHJpbmcyMzA7c3RyaW5nMjMxO3N0cmluZzIzMjtzdHJpbmcyMzM7c3RyaW5nMjM0O3N0cmluZzIzNTtzdHJpbmcyMzY7c3RyaW5nMjM3O3N0cmluZzIzODtzdHJpbmcyMzk7c3RyaW5nMjQwO3N0cmluZzI0MTtzdHJpbmcyNDI7c3RyaW5nMjQzO3N0cmluZzI0NDtzdHJpbmcyNDU7c3RyaW5nMjQ2O3N0cmluZzI0NztzdHJpbmcyNDg7c3RyaW5nMjQ5O3N0cmluZzI1MDtzdHJpbmcyNTE7c3RyaW5nMjUyO3N0cmluZzI1MztzdHJpbmcyNTQ7c3RyaW5nMjU1O3N0cmluZzI1NjtzdHJpbmcyNTc7c3RyaW5nMjU4O3N0cmluZzI1OTtzdHJpbmcyNjA7c3RyaW5nMjYxO3N0cmluZzI2MjtzdHJpbmcyNjM7c3RyaW5nMjY0O3N0cmluZzI2NTtzdHJpbmcyNjY7c3RyaW5nMjY3O3N0cmluZzI2ODtzdHJpbmcyNjk7c3RyaW5nMjcwO3N0cmluZzI3MTtzdHJpbmcyNzI7c3RyaW5nMjczO3N0cmluZzI3NDtzdHJpbmcyNzU7c3RyaW5nMjc2O3N0cmluZzI3NztzdHJpbmcyNzg7c3RyaW5nMjc5O3N0cmluZzI4MDtzdHJpbmcyODE7c3RyaW5nMjgyO3N0cmluZzI4MztzdHJpbmcyODQ7c3RyaW5nMjg1O3N0cmluZzI4NjtzdHJpbmcyODc7c3RyaW5nMjg4O3N0cmluZzI4OTtzdHJpbmcyOTA7c3RyaW5nMjkxO3N0cmluZzI5MjtzdHJpbmcyOTM7c3RyaW5nMjk0O3N0cmluZzI5NTtzdHJpbmcyOTY7c3RyaW5nMjk3O3N0cmluZzI5ODtzdHJpbmcyOTk7c3RyaW5nMzAwO3N0cmluZzMwMTtzdHJpbmczMDI7c3RyaW5nMzAzO3N0cmluZzMwNDtzdHJpbmczMDU7c3RyaW5nMzA2O3N0cmluZzMwNztzdHJpbmczMDg7c3RyaW5nMzA5O3N0cmluZzMxMDtzdHJpbmczMTE7c3RyaW5nMzEyO3N0cmluZzMxMztzdHJpbmczMTQ7c3RyaW5nMzE1O3N0cmluZzMxNjtzdHJpbmczMTc7c3RyaW5nMzE4O3N0cmluZzMxOTtzdHJpbmczMjA7c3RyaW5nMzIxO3N0cmluZzMyMjtzdHJpbmczMjM7c3RyaW5nMzI0O3N0cmluZzMyNTtzdHJpbmczMjY7c3RyaW5nMzI3O3N0cmluZzMyODtzdHJpbmczMjk7c3RyaW5nMzMwO3N0cmluZzMzMTtzdHJpbmczMzI7c3RyaW5nMzMzO3N0cmluZzMzNDtzdHJpbmczMzU7c3RyaW5nMzM2O3N0cmluZzMzNztzdHJpbmczMzg7c3RyaW5nMzM5O3N0cmluZzM0MDtzdHJpbmczNDE7c3RyaW5nMzQyO3N0cmluZzM0MztzdHJpbmczNDQ7c3RyaW5nMzQ1O3N0cmluZzM0NjtzdHJpbmczNDc7c3RyaW5nMzQ4O3N0cmluZzM0OTtzdHJpbmczNTA7c3RyaW5nMzUxO3N0cmluZzM1MjtzdHJpbmczNTM7c3RyaW5nMzU0O3N0cmluZzM1NTtzdHJpbmczNTY7c3RyaW5nMzU3O3N0cmluZzM1ODtzdHJpbmczNTk7c3RyaW5nMzYwO3N0cmluZzM2MTtzdHJpbmczNjI7c3RyaW5nMzYzO3N0cmluZzM2NDtzdHJpbmczNjU7c3RyaW5nMzY2O3N0cmluZzM2NztzdHJpbmczNjg7c3RyaW5nMzY5O3N0cmluZzM3MDtzdHJpbmczNzE7c3RyaW5nMzcyO3N0cmluZzM3MztzdHJpbmczNzQ7c3RyaW5nMzc1O3N0cmluZzM3NjtzdHJpbmczNzc7c3RyaW5nMzc4O3N0cmluZzM3OTtzdHJpbmczODA7c3RyaW5nMzgxO3N0cmluZzM4MjtzdHJpbmczODM7c3RyaW5nMzg0O3N0cmluZzM4NTtzdHJpbmczODY7c3RyaW5nMzg3O3N0cmluZzM4ODtzdHJpbmczODk7c3RyaW5nMzkwO3N0cmluZzM5MTtzdHJpbmczOTI7c3RyaW5nMzkzO3N0cmluZzM5NDtzdHJpbmczOTU7c3RyaW5nMzk2O3N0cmluZzM5NztzdHJpbmczOTg7c3RyaW5nMzk5O3N0cmluZzQwMDtzdHJpbmc0MDE7c3RyaW5nNDAyO3N0cmluZzQwMztzdHJpbmc0MDQ7c3RyaW5nNDA1O3N0cmluZzQwNjtzdHJpbmc0MDc7c3RyaW5nNDA4O3N0cmluZzQwOTtzdHJpbmc0MTA7c3RyaW5nNDExO3N0cmluZzQxMjtzdHJpbmc0MTM7c3RyaW5nNDE0O3N0cmluZzQxNTtzdHJpbmc0MTY7c3RyaW5nNDE3O3N0cmluZzQxODtzdHJpbmc0MTk7c3RyaW5nNDIwO3N0cmluZzQyMTtzdHJpbmc0MjI7c3RyaW5nNDIzO3N0cmluZzQyNDtzdHJpbmc0MjU7c3RyaW5nNDI2O3N0cmluZzQyNztzdHJpbmc0Mjg7c3RyaW5nNDI5O3N0cmluZzQzMDtzdHJpbmc0MzE7c3RyaW5nNDMyO3N0cmluZzQzMztzdHJpbmc0MzQ7c3RyaW5nNDM1O3N0cmluZzQzNjtzdHJpbmc0Mzc7c3RyaW5nNDM4O3N0cmluZzQzOTtzdHJpbmc0NDA7c3RyaW5nNDQxO3N0cmluZzQ0MjtzdHJpbmc0NDM7c3RyaW5nNDQ0O3N0cmluZzQ0NTtzdHJpbmc0NDY7c3RyaW5nNDQ3O3N0cmluZzQ0ODtzdHJpbmc0NDk7c3RyaW5nNDUwO3N0cmluZzQ1MTtzdHJpbmc0NTI7c3RyaW5nNDUzO3N0cmluZzQ1NDtzdHJpbmc0NTU7c3RyaW5nNDU2O3N0cmluZzQ1NztzdHJpbmc0NTg7c3RyaW5nNDU5O3N0cmluZzQ2MDtzdHJpbmc0NjE7c3RyaW5nNDYyO3N0cmluZzQ2MztzdHJpbmc0NjQ7c3RyaW5nNDY1O3N0cmluZzQ2NjtzdHJpbmc0Njc7c3RyaW5nNDY4O3N0cmluZzQ2OTtzdHJpbmc0NzA7c3RyaW5nNDcxO3N0cmluZzQ3MjtzdHJpbmc0NzM7c3RyaW5nNDc0O3N0cmluZzQ3NTtzdHJpbmc0NzY7c3RyaW5nNDc3O3N0cmluZzQ3ODtzdHJpbmc0Nzk7c3RyaW5nNDgwO3N0cmluZzQ4MTtzdHJpbmc0ODI7c3RyaW5nNDgzO3N0cmluZzQ4NDtzdHJpbmc0ODU7c3RyaW5nNDg2O3N0cmluZzQ4NztzdHJpbmc0ODg7c3RyaW5nNDg5O3N0cmluZzQ5MDtzdHJpbmc0OTE7c3RyaW5nNDkyO3N0cmluZzQ5MztzdHJpbmc0OTQ7c3RyaW5nNDk1O3N0cmluZzQ5NjtzdHJpbmc0OTc7c3RyaW5nNDk4O3N0cmluZzQ5OTtzdHJpbmc1MDA7c3RyaW5nNTAxO3N0cmluZzUwMjtzdHJpbmc1MDM7c3RyaW5nNTA0O3N0cmluZzUwNTtzdHJpbmc1MDY7c3RyaW5nNTA3O3N0cmluZzUwODtzdHJpbmc1MDk7c3RyaW5nNTEwO3N0cmluZzUxMTtzdHJpbmc1MTI7c3RyaW5nNTEzO3N0cmluZzUxNDtzdHJpbmc1MTU7c3RyaW5nNTE2O3N0cmluZzUxNztzdHJpbmc1MTg7c3RyaW5nNTE5O3N0cmluZzUyMDtzdHJpbmc1MjE7c3RyaW5nNTIyO3N0cmluZzUyMztzdHJpbmc1MjQ7c3RyaW5nNTI1O3N0cmluZzUyNjtzdHJpbmc1Mjc7c3RyaW5nNTI4O3N0cmluZzUyOTtzdHJpbmc1MzA7c3RyaW5nNTMxO3N0cmluZzUzMjtzdHJpbmc1MzM7c3RyaW5nNTM0O3N0cmluZzUzNTtzdHJpbmc1MzY7c3RyaW5nNTM3O3N0cmluZzUzODtzdHJpbmc1Mzk7c3RyaW5nNTQwO3N0cmluZzU0MTtzdHJpbmc1NDI7c3RyaW5nNTQzO3N0cmluZzU0NDtzdHJpbmc1NDU7c3RyaW5nNTQ2O3N0cmluZzU0NztzdHJpbmc1NDg7c3RyaW5nNTQ5O3N0cmluZzU1MDtzdHJpbmc1NTE7c3RyaW5nNTUyO3N0cmluZzU1MztzdHJpbmc1NTQ7c3RyaW5nNTU1O3N0cmluZzU1NjtzdHJpbmc1NTc7c3RyaW5nNTU4O3N0cmluZzU1OTtzdHJpbmc1NjA7c3RyaW5nNTYxO3N0cmluZzU2MjtzdHJpbmc1NjM7c3RyaW5nNTY0O3N0cmluZzU2NTtzdHJpbmc1NjY7c3RyaW5nNTY3O3N0cmluZzU2ODtzdHJpbmc1Njk7c3RyaW5nNTcwO3N0cmluZzU3MTtzdHJpbmc1NzI7c3RyaW5nNTczO3N0cmluZzU3NDtzdHJpbmc1NzU7c3RyaW5nNTc2O3N0cmluZzU3NztzdHJpbmc1Nzg7c3RyaW5nNTc5O3N0cmluZzU4MDtzdHJpbmc1ODE7c3RyaW5nNTgyO3N0cmluZzU4MztzdHJpbmc1ODQ7c3RyaW5nNTg1O3N0cmluZzU4NjtzdHJpbmc1ODc7c3RyaW5nNTg4O3N0cmluZzU4OTtzdHJpbmc1OTA7c3RyaW5nNTkxO3N0cmluZzU5MjtzdHJpbmc1OTM7c3RyaW5nNTk0O3N0cmluZzU5NTtzdHJpbmc1OTY7c3RyaW5nNTk3O3N0cmluZzU5ODtzdHJpbmc1OTk7c3RyaW5nNjAwO3N0cmluZzYwMTtzdHJpbmc2MDI7c3RyaW5nNjAzO3N0cmluZzYwNDtzdHJpbmc2MDU7c3RyaW5nNjA2O3N0cmluZzYwNztzdHJpbmc2MDg7c3RyaW5nNjA5O3N0cmluZzYxMDtzdHJpbmc2MTE7c3RyaW5nNjEyO3N0cmluZzYxMztzdHJpbmc2MTQ7c3RyaW5nNjE1O3N0cmluZzYxNjtzdHJpbmc2MTc7c3RyaW5nNjE4O3N0cmluZzYxOTtzdHJpbmc2MjA7c3RyaW5nNjIxO3N0cmluZzYyMjtzdHJpbmc2MjM7c3RyaW5nNjI0O3N0cmluZzYyNTtzdHJpbmc2MjY7c3RyaW5nNjI3O3N0cmluZzYyODtzdHJpbmc2Mjk7c3RyaW5nNjMwO3N0cmluZzYzMTtzdHJpbmc2MzI7c3RyaW5nNjMzO3N0cmluZzYzNDtzdHJpbmc2MzU7c3RyaW5nNjM2O3N0cmluZzYzNztzdHJpbmc2Mzg7c3RyaW5nNjM5O3N0cmluZzY0MDtzdHJpbmc2NDE7c3RyaW5nNjQyO3N0cmluZzY0MztzdHJpbmc2NDQ7c3RyaW5nNjQ1O3N0cmluZzY0NjtzdHJpbmc2NDc7c3RyaW5nNjQ4O3N0cmluZzY0OTtzdHJpbmc2NTA7c3RyaW5nNjUxO3N0cmluZzY1MjtzdHJpbmc2NTM7c3RyaW5nNjU0O3N0cmluZzY1NTtzdHJpbmc2NTY7c3RyaW5nNjU3O3N0cmluZzY1ODtzdHJpbmc2NTk7c3RyaW5nNjYwO3N0cmluZzY2MTtzdHJpbmc2NjI7c3RyaW5nNjYzO3N0cmluZzY2NDtzdHJpbmc2NjU7c3RyaW5nNjY2O3N0cmluZzY2NztzdHJpbmc2Njg7c3RyaW5nNjY5O3N0cmluZzY3MDtzdHJpbmc2NzE7c3RyaW5nNjcyO3N0cmluZzY3MztzdHJpbmc2NzQ7c3RyaW5nNjc1O3N0cmluZzY3NjtzdHJpbmc2Nzc7c3RyaW5nNjc4O3N0cmluZzY3OTtzdHJpbmc2ODA7c3RyaW5nNjgxO3N0cmluZzY4MjtzdHJpbmc2ODM7c3RyaW5nNjg0O3N0cmluZzY4NTtzdHJpbmc2ODY7c3RyaW5nNjg3O3N0cmluZzY4ODtzdHJpbmc2ODk7c3RyaW5nNjkwO3N0cmluZzY5MTtzdHJpbmc2OTI7c3RyaW5nNjkzO3N0cmluZzY5NDtzdHJpbmc2OTU7c3RyaW5nNjk2O3N0cmluZzY5NztzdHJpbmc2OTg7c3RyaW5nNjk5O3N0cmluZzcwMDtzdHJpbmc3MDE7c3RyaW5nNzAyO3N0cmluZzcwMztzdHJpbmc3MDQ7c3RyaW5nNzA1O3N0cmluZzcwNjtzdHJpbmc3MDc7c3RyaW5nNzA4O3N0cmluZzcwOTtzdHJpbmc3MTA7c3RyaW5nNzExO3N0cmluZzcxMjtzdHJpbmc3MTM7c3RyaW5nNzE0O3N0cmluZzcxNTtzdHJpbmc3MTY7c3RyaW5nNzE3O3N0cmluZzcxODtzdHJpbmc3MTk7c3RyaW5nNzIwO3N0cmluZzcyMTtzdHJpbmc3MjI7c3RyaW5nNzIzO3N0cmluZzcyNDtzdHJpbmc3MjU7c3RyaW5nNzI2O3N0cmluZzcyNztzdHJpbmc3Mjg7c3RyaW5nNzI5O3N0cmluZzczMDtzdHJpbmc3MzE7c3RyaW5nNzMyO3N0cmluZzczMztzdHJpbmc3MzQ7c3RyaW5nNzM1O3N0cmluZzczNjtzdHJpbmc3Mzc7c3RyaW5nNzM4O3N0cmluZzczOTtzdHJpbmc3NDA7c3RyaW5nNzQxO3N0cmluZzc0MjtzdHJpbmc3NDM7c3RyaW5nNzQ0O3N0cmluZzc0NTtzdHJpbmc3NDY7c3RyaW5nNzQ3O3N0cmluZzc0ODtzdHJpbmc3NDk7c3RyaW5nNzUwO3N0cmluZzc1MTtzdHJpbmc3NTI7c3RyaW5nNzUzO3N0cmluZzc1NDtzdHJpbmc3NTU7c3RyaW5nNzU2O3N0cmluZzc1NztzdHJpbmc3NTg7c3RyaW5nNzU5O3N0cmluZzc2MDtzdHJpbmc3NjE7c3RyaW5nNzYyO3N0cmluZzc2MztzdHJpbmc3NjQ7c3RyaW5nNzY1O3N0cmluZzc2NjtzdHJpbmc3Njc7c3RyaW5nNzY4O3N0cmluZzc2OTtzdHJpbmc3NzA7c3RyaW5nNzcxO3N0cmluZzc3MjtzdHJpbmc3NzM7c3RyaW5nNzc0O3N0cmluZzc3NTtzdHJpbmc3NzY7c3RyaW5nNzc3O3N0cmluZzc3ODtzdHJpbmc3Nzk7c3RyaW5nNzgwO3N0cmluZzc4MTtzdHJpbmc3ODI7c3RyaW5nNzgzO3N0cmluZzc4NDtzdHJpbmc3ODU7c3RyaW5nNzg2O3N0cmluZzc4NztzdHJpbmc3ODg7c3RyaW5nNzg5O3N0cmluZzc5MDtzdHJpbmc3OTE7c3RyaW5nNzkyO3N0cmluZzc5MztzdHJpbmc3OTQ7c3RyaW5nNzk1O3N0cmluZzc5NjtzdHJpbmc3OTc7c3RyaW5nNzk4O3N0cmluZzc5OTtzdHJpbmc4MDA7c3RyaW5nODAxO3N0cmluZzgwMjtzdHJpbmc4MDM7c3RyaW5nODA0O3N0cmluZzgwNTtzdHJpbmc4MDY7c3RyaW5nODA3O3N0cmluZzgwODtzdHJpbmc4MDk7c3RyaW5nODEwO3N0cmluZzgxMTtzdHJpbmc4MTI7c3RyaW5nODEzO3N0cmluZzgxNDtzdHJpbmc4MTU7c3RyaW5nODE2O3N0cmluZzgxNztzdHJpbmc4MTg7c3RyaW5nODE5O3N0cmluZzgyMDtzdHJpbmc4MjE7c3RyaW5nODIyO3N0cmluZzgyMztzdHJpbmc4MjQ7c3RyaW5nODI1O3N0cmluZzgyNjtzdHJpbmc4Mjc7c3RyaW5nODI4O3N0cmluZzgyOTtzdHJpbmc4MzA7c3RyaW5nODMxO3N0cmluZzgzMjtzdHJpbmc4MzM7c3RyaW5nODM0O3N0cmluZzgzNTtzdHJpbmc4MzY7c3RyaW5nODM3O3N0cmluZzgzODtzdHJpbmc4Mzk7c3RyaW5nODQwO3N0cmluZzg0MTtzdHJpbmc4NDI7c3RyaW5nODQzO3N0cmluZzg0NDtzdHJpbmc4NDU7c3RyaW5nODQ2O3N0cmluZzg0NztzdHJpbmc4NDg7c3RyaW5nODQ5O3N0cmluZzg1MDtzdHJpbmc4NTE7c3RyaW5nODUyO3N0cmluZzg1MztzdHJpbmc4NTQ7c3RyaW5nODU1O3N0cmluZzg1NjtzdHJpbmc4NTc7c3RyaW5nODU4O3N0cmluZzg1OTtzdHJpbmc4NjA7c3RyaW5nODYxO3N0cmluZzg2MjtzdHJpbmc4NjM7c3RyaW5nODY0O3N0cmluZzg2NTtzdHJpbmc4NjY7c3RyaW5nODY3O3N0cmluZzg2ODtzdHJpbmc4Njk7c3RyaW5nODcwO3N0cmluZzg3MTtzdHJpbmc4NzI7c3RyaW5nODczO3N0cmluZzg3NDtzdHJpbmc4NzU7c3RyaW5nODc2O3N0cmluZzg3NztzdHJpbmc4Nzg7c3RyaW5nODc5O3N0cmluZzg4MDtzdHJpbmc4ODE7c3RyaW5nODgyO3N0cmluZzg4MztzdHJpbmc4ODQ7c3RyaW5nODg1O3N0cmluZzg4NjtzdHJpbmc4ODc7c3RyaW5nODg4O3N0cmluZzg4OTtzdHJpbmc4OTA7c3RyaW5nODkxO3N0cmluZzg5MjtzdHJpbmc4OTM7c3RyaW5nODk0O3N0cmluZzg5NTtzdHJpbmc4OTY7c3RyaW5nODk3O3N0cmluZzg5ODtzdHJpbmc4OTk7c3RyaW5nOTAwO3N0cmluZzkwMTtzdHJpbmc5MDI7c3RyaW5nOTAzO3N0cmluZzkwNDtzdHJpbmc5MDU7c3RyaW5nOTA2O3N0cmluZzkwNztzdHJpbmc5MDg7c3RyaW5nOTA5O3N0cmluZzkxMDtzdHJpbmc5MTE7c3RyaW5nOTEyO3N0cmluZzkxMztzdHJpbmc5MTQ7c3RyaW5nOTE1O3N0cmluZzkxNjtzdHJpbmc5MTc7c3RyaW5nOTE4O3N0cmluZzkxOTtzdHJpbmc5MjA7c3RyaW5nOTIxO3N0cmluZzkyMjtzdHJpbmc5MjM7c3RyaW5nOTI0O3N0cmluZzkyNTtzdHJpbmc5MjY7c3RyaW5nOTI3O3N0cmluZzkyODtzdHJpbmc5Mjk7c3RyaW5nOTMwO3N0cmluZzkzMTtzdHJpbmc5MzI7c3RyaW5nOTMzO3N0cmluZzkzNDtzdHJpbmc5MzU7c3RyaW5nOTM2O3N0cmluZzkzNztzdHJpbmc5Mzg7c3RyaW5nOTM5O3N0cmluZzk0MDtzdHJpbmc5NDE7c3RyaW5nOTQyO3N0cmluZzk0MztzdHJpbmc5NDQ7c3RyaW5nOTQ1O3N0cmluZzk0NjtzdHJpbmc5NDc7c3RyaW5nOTQ4O3N0cmluZzk0OTtzdHJpbmc5NTA7c3RyaW5nOTUxO3N0cmluZzk1MjtzdHJpbmc5NTM7c3RyaW5nOTU0O3N0cmluZzk1NTtzdHJpbmc5NTY7c3RyaW5nOTU3O3N0cmluZzk1ODtzdHJpbmc5NTk7c3RyaW5nOTYwO3N0cmluZzk2MTtzdHJpbmc5NjI7c3RyaW5nOTYzO3N0cmluZzk2NDtzdHJpbmc5NjU7c3RyaW5nOTY2O3N0cmluZzk2NztzdHJpbmc5Njg7c3RyaW5nOTY5O3N0cmluZzk3MDtzdHJpbmc5NzE7c3RyaW5nOTcyO3N0cmluZzk3MztzdHJpbmc5NzQ7c3RyaW5nOTc1O3N0cmluZzk3NjtzdHJpbmc5Nzc7c3RyaW5nOTc4O3N0cmluZzk3OTtzdHJpbmc5ODA7c3RyaW5nOTgxO3N0cmluZzk4MjtzdHJpbmc5ODM7c3RyaW5nOTg0O3N0cmluZzk4NTtzdHJpbmc5ODY7c3RyaW5nOTg3O3N0cmluZzk4ODtzdHJpbmc5ODk7c3RyaW5nOTkwO3N0cmluZzk5MTtzdHJpbmc5OTI7c3RyaW5nOTkzO3N0cmluZzk5NDtzdHJpbmc5OTU7c3RyaW5nOTk2O3N0cmluZzk5NztzdHJpbmc5OTg7c3RyaW5nOTk5CitzdGFydDtzdHJpbmcwO3N0cmluZzE7c3RyaW5nMjtzdHJpbmczO3N0cmluZzQ7c3RyaW5nNTtzdHJpbmc2O3N0cmluZzc7c3RyaW5nODtzdHJpbmc5O3N0cmluZzEwO3N0cmluZzExO3N0cmluZzEyO3N0cmluZzEzO3N0cmluZzE0O3N0cmluZzE1O3N0cmluZzE2O3N0cmluZzE3O3N0cmluZzE4O3N0cmluZzE5O3N0cmluZzIwO3N0cmluZzIxO3N0cmluZzIyO3N0cmluZzIzO3N0cmluZzI0O3N0cmluZzI1O3N0cmluZzI2O3N0cmluZzI3O3N0cmluZzI4O3N0cmluZzI5O3N0cmluZzMwO3N0cmluZzMxO3N0cmluZzMyO3N0cmluZzMzO3N0cmluZzM0O3N0cmluZzM1O3N0cmluZzM2O3N0cmluZzM3O3N0cmluZzM4O3N0cmluZzM5O3N0cmluZzQwO3N0cmluZzQxO3N0cmluZzQyO3N0cmluZzQzO3N0cmluZzQ0O3N0cmluZzQ1O3N0cmluZzQ2O3N0cmluZzQ3O3N0cmluZzQ4O3N0cmluZzQ5O3N0cmluZzUwO3N0cmluZzUxO3N0cmluZzUyO3N0cmluZzUzO3N0cmluZzU0O3N0cmluZzU1O3N0cmluZzU2O3N0cmluZzU3O3N0cmluZzU4O3N0cmluZzU5O3N0cmluZzYwO3N0cmluZzYxO3N0cmluZzYyO3N0cmluZzYzO3N0cmluZzY0O3N0cmluZzY1O3N0cmluZzY2O3N0cmluZzY3O3N0cmluZzY4O3N0cmluZzY5O3N0cmluZzcwO3N0cmluZzcxO3N0cmluZzcyO3N0cmluZzczO3N0cmluZzc0O3N0cmluZzc1O3N0cmluZzc2O3N0cmluZzc3O3N0cmluZzc4O3N0cmluZzc5O3N0cmluZzgwO3N0cmluZzgxO3N0cmluZzgyO3N0cmluZzgzO3N0cmluZzg0O3N0cmluZzg1O3N0cmluZzg2O3N0cmluZzg3O3N0cmluZzg4O3N0cmluZzg5O3N0cmluZzkwO3N0cmluZzkxO3N0cmluZzkyO3N0cmluZzkzO3N0cmluZzk0O3N0cmluZzk1O3N0cmluZzk2O3N0cmluZzk3O3N0cmluZzk4O3N0cmluZzk5O3N0cmluZzEwMDtzdHJpbmcxMDE7c3RyaW5nMTAyO3N0cmluZzEwMztzdHJpbmcxMDQ7c3RyaW5nMTA1O3N0cmluZzEwNjtzdHJpbmcxMDc7c3RyaW5nMTA4O3N0cmluZzEwOTtzdHJpbmcxMTA7c3RyaW5nMTExO3N0cmluZzExMjtzdHJpbmcxMTM7c3RyaW5nMTE0O3N0cmluZzExNTtzdHJpbmcxMTY7c3RyaW5nMTE3O3N0cmluZzExODtzdHJpbmcxMTk7c3RyaW5nMTIwO3N0cmluZzEyMTtzdHJpbmcxMjI7c3RyaW5nMTIzO3N0cmluZzEyNDtzdHJpbmcxMjU7c3RyaW5nMTI2O3N0cmluZzEyNztzdHJpbmcxMjg7c3RyaW5nMTI5O3N0cmluZzEzMDtzdHJpbmcxMzE7c3RyaW5nMTMyO3N0cmluZzEzMztzdHJpbmcxMzQ7c3RyaW5nMTM1O3N0cmluZzEzNjtzdHJpbmcxMzc7c3RyaW5nMTM4O3N0cmluZzEzOTtzdHJpbmcxNDA7c3RyaW5nMTQxO3N0cmluZzE0MjtzdHJpbmcxNDM7c3RyaW5nMTQ0O3N0cmluZzE0NTtzdHJpbmcxNDY7c3RyaW5nMTQ3O3N0cmluZzE0ODtzdHJpbmcxNDk7c3RyaW5nMTUwO3N0cmluZzE1MTtzdHJpbmcxNTI7c3RyaW5nMTUzO3N0cmluZzE1NDtzdHJpbmcxNTU7c3RyaW5nMTU2O3N0cmluZzE1NztzdHJpbmcxNTg7c3RyaW5nMTU5O3N0cmluZzE2MDtzdHJpbmcxNjE7c3RyaW5nMTYyO3N0cmluZzE2MztzdHJpbmcxNjQ7c3RyaW5nMTY1O3N0cmluZzE2NjtzdHJpbmcxNjc7c3RyaW5nMTY4O3N0cmluZzE2OTtzdHJpbmcxNzA7c3RyaW5nMTcxO3N0cmluZzE3MjtzdHJpbmcxNzM7c3RyaW5nMTc0O3N0cmluZzE3NTtzdHJpbmcxNzY7c3RyaW5nMTc3O3N0cmluZzE3ODtzdHJpbmcxNzk7c3RyaW5nMTgwO3N0cmluZzE4MTtzdHJpbmcxODI7c3RyaW5nMTgzO3N0cmluZzE4NDtzdHJpbmcxODU7c3RyaW5nMTg2O3N0cmluZzE4NztzdHJpbmcxODg7c3RyaW5nMTg5O3N0cmluZzE5MDtzdHJpbmcxOTE7c3RyaW5nMTkyO3N0cmluZzE5MztzdHJpbmcxOTQ7c3RyaW5nMTk1O3N0cmluZzE5NjtzdHJpbmcxOTc7c3RyaW5nMTk4O3N0cmluZzE5OTtzdHJpbmcyMDA7c3RyaW5nMjAxO3N0cmluZzIwMjtzdHJpbmcyMDM7c3RyaW5nMjA0O3N0cmluZzIwNTtzdHJpbmcyMDY7c3RyaW5nMjA3O3N0cmluZzIwODtzdHJpbmcyMDk7c3RyaW5nMjEwO3N0cmluZzIxMTtzdHJpbmcyMTI7c3RyaW5nMjEzO3N0cmluZzIxNDtzdHJpbmcyMTU7c3RyaW5nMjE2O3N0cmluZzIxNztzdHJpbmcyMTg7c3RyaW5nMjE5O3N0cmluZzIyMDtzdHJpbmcyMjE7c3RyaW5nMjIyO3N0cmluZzIyMztzdHJpbmcyMjQ7c3RyaW5nMjI1O3N0cmluZzIyNjtzdHJpbmcyMjc7c3RyaW5nMjI4O3N0cmluZzIyOTtzdHJpbmcyMzA7c3RyaW5nMjMxO3N0cmluZzIzMjtzdHJpbmcyMzM7c3RyaW5nMjM0O3N0cmluZzIzNTtzdHJpbmcyMzY7c3RyaW5nMjM3O3N0cmluZzIzODtzdHJpbmcyMzk7c3RyaW5nMjQwO3N0cmluZzI0MTtzdHJpbmcyNDI7c3RyaW5nMjQzO3N0cmluZzI0NDtzdHJpbmcyNDU7c3RyaW5nMjQ2O3N0cmluZzI0NztzdHJpbmcyNDg7c3RyaW5nMjQ5O3N0cmluZzI1MDtzdHJpbmcyNTE7c3RyaW5nMjUyO3N0cmluZzI1MztzdHJpbmcyNTQ7c3RyaW5nMjU1O3N0cmluZzI1NjtzdHJpbmcyNTc7c3RyaW5nMjU4O3N0cmluZzI1OTtzdHJpbmcyNjA7c3RyaW5nMjYxO3N0cmluZzI2MjtzdHJpbmcyNjM7c3RyaW5nMjY0O3N0cmluZzI2NTtzdHJpbmcyNjY7c3RyaW5nMjY3O3N0cmluZzI2ODtzdHJpbmcyNjk7c3RyaW5nMjcwO3N0cmluZzI3MTtzdHJpbmcyNzI7c3RyaW5nMjczO3N0cmluZzI3NDtzdHJpbmcyNzU7c3RyaW5nMjc2O3N0cmluZzI3NztzdHJpbmcyNzg7c3RyaW5nMjc5O3N0cmluZzI4MDtzdHJpbmcyODE7c3RyaW5nMjgyO3N0cmluZzI4MztzdHJpbmcyODQ7c3RyaW5nMjg1O3N0cmluZzI4NjtzdHJpbmcyODc7c3RyaW5nMjg4O3N0cmluZzI4OTtzdHJpbmcyOTA7c3RyaW5nMjkxO3N0cmluZzI5MjtzdHJpbmcyOTM7c3RyaW5nMjk0O3N0cmluZzI5NTtzdHJpbmcyOTY7c3RyaW5nMjk3O3N0cmluZzI5ODtzdHJpbmcyOTk7c3RyaW5nMzAwO3N0cmluZzMwMTtzdHJpbmczMDI7c3RyaW5nMzAzO3N0cmluZzMwNDtzdHJpbmczMDU7c3RyaW5nMzA2O3N0cmluZzMwNztzdHJpbmczMDg7c3RyaW5nMzA5O3N0cmluZzMxMDtzdHJpbmczMTE7c3RyaW5nMzEyO3N0cmluZzMxMztzdHJpbmczMTQ7c3RyaW5nMzE1O3N0cmluZzMxNjtzdHJpbmczMTc7c3RyaW5nMzE4O3N0cmluZzMxOTtzdHJpbmczMjA7c3RyaW5nMzIxO3N0cmluZzMyMjtzdHJpbmczMjM7c3RyaW5nMzI0O3N0cmluZzMyNTtzdHJpbmczMjY7c3RyaW5nMzI3O3N0cmluZzMyODtzdHJpbmczMjk7c3RyaW5nMzMwO3N0cmluZzMzMTtzdHJpbmczMzI7c3RyaW5nMzMzO3N0cmluZzMzNDtzdHJpbmczMzU7c3RyaW5nMzM2O3N0cmluZzMzNztzdHJpbmczMzg7c3RyaW5nMzM5O3N0cmluZzM0MDtzdHJpbmczNDE7c3RyaW5nMzQyO3N0cmluZzM0MztzdHJpbmczNDQ7c3RyaW5nMzQ1O3N0cmluZzM0NjtzdHJpbmczNDc7c3RyaW5nMzQ4O3N0cmluZzM0OTtzdHJpbmczNTA7c3RyaW5nMzUxO3N0cmluZzM1MjtzdHJpbmczNTM7c3RyaW5nMzU0O3N0cmluZzM1NTtzdHJpbmczNTY7c3RyaW5nMzU3O3N0cmluZzM1ODtzdHJpbmczNTk7c3RyaW5nMzYwO3N0cmluZzM2MTtzdHJpbmczNjI7c3RyaW5nMzYzO3N0cmluZzM2NDtzdHJpbmczNjU7c3RyaW5nMzY2O3N0cmluZzM2NztzdHJpbmczNjg7c3RyaW5nMzY5O3N0cmluZzM3MDtzdHJpbmczNzE7c3RyaW5nMzcyO3N0cmluZzM3MztzdHJpbmczNzQ7c3RyaW5nMzc1O3N0cmluZzM3NjtzdHJpbmczNzc7c3RyaW5nMzc4O3N0cmluZzM3OTtzdHJpbmczODA7c3RyaW5nMzgxO3N0cmluZzM4MjtzdHJpbmczODM7c3RyaW5nMzg0O3N0cmluZzM4NTtzdHJpbmczODY7c3RyaW5nMzg3O3N0cmluZzM4ODtzdHJpbmczODk7c3RyaW5nMzkwO3N0cmluZzM5MTtzdHJpbmczOTI7c3RyaW5nMzkzO3N0cmluZzM5NDtzdHJpbmczOTU7c3RyaW5nMzk2O3N0cmluZzM5NztzdHJpbmczOTg7c3RyaW5nMzk5O3N0cmluZzQwMDtzdHJpbmc0MDE7c3RyaW5nNDAyO3N0cmluZzQwMztzdHJpbmc0MDQ7c3RyaW5nNDA1O3N0cmluZzQwNjtzdHJpbmc0MDc7c3RyaW5nNDA4O3N0cmluZzQwOTtzdHJpbmc0MTA7c3RyaW5nNDExO3N0cmluZzQxMjtzdHJpbmc0MTM7c3RyaW5nNDE0O3N0cmluZzQxNTtzdHJpbmc0MTY7c3RyaW5nNDE3O3N0cmluZzQxODtzdHJpbmc0MTk7c3RyaW5nNDIwO3N0cmluZzQyMTtzdHJpbmc0MjI7c3RyaW5nNDIzO3N0cmluZzQyNDtzdHJpbmc0MjU7c3RyaW5nNDI2O3N0cmluZzQyNztzdHJpbmc0Mjg7c3RyaW5nNDI5O3N0cmluZzQzMDtzdHJpbmc0MzE7c3RyaW5nNDMyO3N0cmluZzQzMztzdHJpbmc0MzQ7c3RyaW5nNDM1O3N0cmluZzQzNjtzdHJpbmc0Mzc7c3RyaW5nNDM4O3N0cmluZzQzOTtzdHJpbmc0NDA7c3RyaW5nNDQxO3N0cmluZzQ0MjtzdHJpbmc0NDM7c3RyaW5nNDQ0O3N0cmluZzQ0NTtzdHJpbmc0NDY7c3RyaW5nNDQ3O3N0cmluZzQ0ODtzdHJpbmc0NDk7c3RyaW5nNDUwO3N0cmluZzQ1MTtzdHJpbmc0NTI7c3RyaW5nNDUzO3N0cmluZzQ1NDtzdHJpbmc0NTU7c3RyaW5nNDU2O3N0cmluZzQ1NztzdHJpbmc0NTg7c3RyaW5nNDU5O3N0cmluZzQ2MDtzdHJpbmc0NjE7c3RyaW5nNDYyO3N0cmluZzQ2MztzdHJpbmc0NjQ7c3RyaW5nNDY1O3N0cmluZzQ2NjtzdHJpbmc0Njc7c3RyaW5nNDY4O3N0cmluZzQ2OTtzdHJpbmc0NzA7c3RyaW5nNDcxO3N0cmluZzQ3MjtzdHJpbmc0NzM7c3RyaW5nNDc0O3N0cmluZzQ3NTtzdHJpbmc0NzY7c3RyaW5nNDc3O3N0cmluZzQ3ODtzdHJpbmc0Nzk7c3RyaW5nNDgwO3N0cmluZzQ4MTtzdHJpbmc0ODI7c3RyaW5nNDgzO3N0cmluZzQ4NDtzdHJpbmc0ODU7c3RyaW5nNDg2O3N0cmluZzQ4NztzdHJpbmc0ODg7c3RyaW5nNDg5O3N0cmluZzQ5MDtzdHJpbmc0OTE7c3RyaW5nNDkyO3N0cmluZzQ5MztzdHJpbmc0OTQ7c3RyaW5nNDk1O3N0cmluZzQ5NjtzdHJpbmc0OTc7c3RyaW5nNDk4O3N0cmluZzQ5OTtzdHJpbmc1MDA7c3RyaW5nNTAxO3N0cmluZzUwMjtzdHJpbmc1MDM7c3RyaW5nNTA0O3N0cmluZzUwNTtzdHJpbmc1MDY7c3RyaW5nNTA3O3N0cmluZzUwODtzdHJpbmc1MDk7c3RyaW5nNTEwO3N0cmluZzUxMTtzdHJpbmc1MTI7c3RyaW5nNTEzO3N0cmluZzUxNDtzdHJpbmc1MTU7c3RyaW5nNTE2O3N0cmluZzUxNztzdHJpbmc1MTg7c3RyaW5nNTE5O3N0cmluZzUyMDtzdHJpbmc1MjE7c3RyaW5nNTIyO3N0cmluZzUyMztzdHJpbmc1MjQ7c3RyaW5nNTI1O3N0cmluZzUyNjtzdHJpbmc1Mjc7c3RyaW5nNTI4O3N0cmluZzUyOTtzdHJpbmc1MzA7c3RyaW5nNTMxO3N0cmluZzUzMjtzdHJpbmc1MzM7c3RyaW5nNTM0O3N0cmluZzUzNTtzdHJpbmc1MzY7c3RyaW5nNTM3O3N0cmluZzUzODtzdHJpbmc1Mzk7c3RyaW5nNTQwO3N0cmluZzU0MTtzdHJpbmc1NDI7c3RyaW5nNTQzO3N0cmluZzU0NDtzdHJpbmc1NDU7c3RyaW5nNTQ2O3N0cmluZzU0NztzdHJpbmc1NDg7c3RyaW5nNTQ5O3N0cmluZzU1MDtzdHJpbmc1NTE7c3RyaW5nNTUyO3N0cmluZzU1MztzdHJpbmc1NTQ7c3RyaW5nNTU1O3N0cmluZzU1NjtzdHJpbmc1NTc7c3RyaW5nNTU4O3N0cmluZzU1OTtzdHJpbmc1NjA7c3RyaW5nNTYxO3N0cmluZzU2MjtzdHJpbmc1NjM7c3RyaW5nNTY0O3N0cmluZzU2NTtzdHJpbmc1NjY7c3RyaW5nNTY3O3N0cmluZzU2ODtzdHJpbmc1Njk7c3RyaW5nNTcwO3N0cmluZzU3MTtzdHJpbmc1NzI7c3RyaW5nNTczO3N0cmluZzU3NDtzdHJpbmc1NzU7c3RyaW5nNTc2O3N0cmluZzU3NztzdHJpbmc1Nzg7c3RyaW5nNTc5O3N0cmluZzU4MDtzdHJpbmc1ODE7c3RyaW5nNTgyO3N0cmluZzU4MztzdHJpbmc1ODQ7c3RyaW5nNTg1O3N0cmluZzU4NjtzdHJpbmc1ODc7c3RyaW5nNTg4O3N0cmluZzU4OTtzdHJpbmc1OTA7c3RyaW5nNTkxO3N0cmluZzU5MjtzdHJpbmc1OTM7c3RyaW5nNTk0O3N0cmluZzU5NTtzdHJpbmc1OTY7c3RyaW5nNTk3O3N0cmluZzU5ODtzdHJpbmc1OTk7c3RyaW5nNjAwO3N0cmluZzYwMTtzdHJpbmc2MDI7c3RyaW5nNjAzO3N0cmluZzYwNDtzdHJpbmc2MDU7c3RyaW5nNjA2O3N0cmluZzYwNztzdHJpbmc2MDg7c3RyaW5nNjA5O3N0cmluZzYxMDtzdHJpbmc2MTE7c3RyaW5nNjEyO3N0cmluZzYxMztzdHJpbmc2MTQ7c3RyaW5nNjE1O3N0cmluZzYxNjtzdHJpbmc2MTc7c3RyaW5nNjE4O3N0cmluZzYxOTtzdHJpbmc2MjA7c3RyaW5nNjIxO3N0cmluZzYyMjtzdHJpbmc2MjM7c3RyaW5nNjI0O3N0cmluZzYyNTtzdHJpbmc2MjY7c3RyaW5nNjI3O3N0cmluZzYyODtzdHJpbmc2Mjk7c3RyaW5nNjMwO3N0cmluZzYzMTtzdHJpbmc2MzI7c3RyaW5nNjMzO3N0cmluZzYzNDtzdHJpbmc2MzU7c3RyaW5nNjM2O3N0cmluZzYzNztzdHJpbmc2Mzg7c3RyaW5nNjM5O3N0cmluZzY0MDtzdHJpbmc2NDE7c3RyaW5nNjQyO3N0cmluZzY0MztzdHJpbmc2NDQ7c3RyaW5nNjQ1O3N0cmluZzY0NjtzdHJpbmc2NDc7c3RyaW5nNjQ4O3N0cmluZzY0OTtzdHJpbmc2NTA7c3RyaW5nNjUxO3N0cmluZzY1MjtzdHJpbmc2NTM7c3RyaW5nNjU0O3N0cmluZzY1NTtzdHJpbmc2NTY7c3RyaW5nNjU3O3N0cmluZzY1ODtzdHJpbmc2NTk7c3RyaW5nNjYwO3N0cmluZzY2MTtzdHJpbmc2NjI7c3RyaW5nNjYzO3N0cmluZzY2NDtzdHJpbmc2NjU7c3RyaW5nNjY2O3N0cmluZzY2NztzdHJpbmc2Njg7c3RyaW5nNjY5O3N0cmluZzY3MDtzdHJpbmc2NzE7c3RyaW5nNjcyO3N0cmluZzY3MztzdHJpbmc2NzQ7c3RyaW5nNjc1O3N0cmluZzY3NjtzdHJpbmc2Nzc7c3RyaW5nNjc4O3N0cmluZzY3OTtzdHJpbmc2ODA7c3RyaW5nNjgxO3N0cmluZzY4MjtzdHJpbmc2ODM7c3RyaW5nNjg0O3N0cmluZzY4NTtzdHJpbmc2ODY7c3RyaW5nNjg3O3N0cmluZzY4ODtzdHJpbmc2ODk7c3RyaW5nNjkwO3N0cmluZzY5MTtzdHJpbmc2OTI7c3RyaW5nNjkzO3N0cmluZzY5NDtzdHJpbmc2OTU7c3RyaW5nNjk2O3N0cmluZzY5NztzdHJpbmc2OTg7c3RyaW5nNjk5O3N0cmluZzcwMDtzdHJpbmc3MDE7c3RyaW5nNzAyO3N0cmluZzcwMztzdHJpbmc3MDQ7c3RyaW5nNzA1O3N0cmluZzcwNjtzdHJpbmc3MDc7c3RyaW5nNzA4O3N0cmluZzcwOTtzdHJpbmc3MTA7c3RyaW5nNzExO3N0cmluZzcxMjtzdHJpbmc3MTM7c3RyaW5nNzE0O3N0cmluZzcxNTtzdHJpbmc3MTY7c3RyaW5nNzE3O3N0cmluZzcxODtzdHJpbmc3MTk7c3RyaW5nNzIwO3N0cmluZzcyMTtzdHJpbmc3MjI7c3RyaW5nNzIzO3N0cmluZzcyNDtzdHJpbmc3MjU7c3RyaW5nNzI2O3N0cmluZzcyNztzdHJpbmc3Mjg7c3RyaW5nNzI5O3N0cmluZzczMDtzdHJpbmc3MzE7c3RyaW5nNzMyO3N0cmluZzczMztzdHJpbmc3MzQ7c3RyaW5nNzM1O3N0cmluZzczNjtzdHJpbmc3Mzc7c3RyaW5nNzM4O3N0cmluZzczOTtzdHJpbmc3NDA7c3RyaW5nNzQxO3N0cmluZzc0MjtzdHJpbmc3NDM7c3RyaW5nNzQ0O3N0cmluZzc0NTtzdHJpbmc3NDY7c3RyaW5nNzQ3O3N0cmluZzc0ODtzdHJpbmc3NDk7c3RyaW5nNzUwO3N0cmluZzc1MTtzdHJpbmc3NTI7c3RyaW5nNzUzO3N0cmluZzc1NDtzdHJpbmc3NTU7c3RyaW5nNzU2O3N0cmluZzc1NztzdHJpbmc3NTg7c3RyaW5nNzU5O3N0cmluZzc2MDtzdHJpbmc3NjE7c3RyaW5nNzYyO3N0cmluZzc2MztzdHJpbmc3NjQ7c3RyaW5nNzY1O3N0cmluZzc2NjtzdHJpbmc3Njc7c3RyaW5nNzY4O3N0cmluZzc2OTtzdHJpbmc3NzA7c3RyaW5nNzcxO3N0cmluZzc3MjtzdHJpbmc3NzM7c3RyaW5nNzc0O3N0cmluZzc3NTtzdHJpbmc3NzY7c3RyaW5nNzc3O3N0cmluZzc3ODtzdHJpbmc3Nzk7c3RyaW5nNzgwO3N0cmluZzc4MTtzdHJpbmc3ODI7c3RyaW5nNzgzO3N0cmluZzc4NDtzdHJpbmc3ODU7c3RyaW5nNzg2O3N0cmluZzc4NztzdHJpbmc3ODg7c3RyaW5nNzg5O3N0cmluZzc5MDtzdHJpbmc3OTE7c3RyaW5nNzkyO3N0cmluZzc5MztzdHJpbmc3OTQ7c3RyaW5nNzk1O3N0cmluZzc5NjtzdHJpbmc3OTc7c3RyaW5nNzk4O3N0cmluZzc5OTtzdHJpbmc4MDA7c3RyaW5nODAxO3N0cmluZzgwMjtzdHJpbmc4MDM7c3RyaW5nODA0O3N0cmluZzgwNTtzdHJpbmc4MDY7c3RyaW5nODA3O3N0cmluZzgwODtzdHJpbmc4MDk7c3RyaW5nODEwO3N0cmluZzgxMTtzdHJpbmc4MTI7c3RyaW5nODEzO3N0cmluZzgxNDtzdHJpbmc4MTU7c3RyaW5nODE2O3N0cmluZzgxNztzdHJpbmc4MTg7c3RyaW5nODE5O3N0cmluZzgyMDtzdHJpbmc4MjE7c3RyaW5nODIyO3N0cmluZzgyMztzdHJpbmc4MjQ7c3RyaW5nODI1O3N0cmluZzgyNjtzdHJpbmc4Mjc7c3RyaW5nODI4O3N0cmluZzgyOTtzdHJpbmc4MzA7c3RyaW5nODMxO3N0cmluZzgzMjtzdHJpbmc4MzM7c3RyaW5nODM0O3N0cmluZzgzNTtzdHJpbmc4MzY7c3RyaW5nODM3O3N0cmluZzgzODtzdHJpbmc4Mzk7c3RyaW5nODQwO3N0cmluZzg0MTtzdHJpbmc4NDI7c3RyaW5nODQzO3N0cmluZzg0NDtzdHJpbmc4NDU7c3RyaW5nODQ2O3N0cmluZzg0NztzdHJpbmc4NDg7c3RyaW5nODQ5O3N0cmluZzg1MDtzdHJpbmc4NTE7c3RyaW5nODUyO3N0cmluZzg1MztzdHJpbmc4NTQ7c3RyaW5nODU1O3N0cmluZzg1NjtzdHJpbmc4NTc7c3RyaW5nODU4O3N0cmluZzg1OTtzdHJpbmc4NjA7c3RyaW5nODYxO3N0cmluZzg2MjtzdHJpbmc4NjM7c3RyaW5nODY0O3N0cmluZzg2NTtzdHJpbmc4NjY7c3RyaW5nODY3O3N0cmluZzg2ODtzdHJpbmc4Njk7c3RyaW5nODcwO3N0cmluZzg3MTtzdHJpbmc4NzI7c3RyaW5nODczO3N0cmluZzg3NDtzdHJpbmc4NzU7c3RyaW5nODc2O3N0cmluZzg3NztzdHJpbmc4Nzg7c3RyaW5nODc5O3N0cmluZzg4MDtzdHJpbmc4ODE7c3RyaW5nODgyO3N0cmluZzg4MztzdHJpbmc4ODQ7c3RyaW5nODg1O3N0cmluZzg4NjtzdHJpbmc4ODc7c3RyaW5nODg4O3N0cmluZzg4OTtzdHJpbmc4OTA7c3RyaW5nODkxO3N0cmluZzg5MjtzdHJpbmc4OTM7c3RyaW5nODk0O3N0cmluZzg5NTtzdHJpbmc4OTY7c3RyaW5nODk3O3N0cmluZzg5ODtzdHJpbmc4OTk7c3RyaW5nOTAwO3N0cmluZzkwMTtzdHJpbmc5MDI7c3RyaW5nOTAzO3N0cmluZzkwNDtzdHJpbmc5MDU7c3RyaW5nOTA2O3N0cmluZzkwNztzdHJpbmc5MDg7c3RyaW5nOTA5O3N0cmluZzkxMDtzdHJpbmc5MTE7c3RyaW5nOTEyO3N0cmluZzkxMztzdHJpbmc5MTQ7c3RyaW5nOTE1O3N0cmluZzkxNjtzdHJpbmc5MTc7c3RyaW5nOTE4O3N0cmluZzkxOTtzdHJpbmc5MjA7c3RyaW5nOTIxO3N0cmluZzkyMjtzdHJpbmc5MjM7c3RyaW5nOTI0O3N0cmluZzkyNTtzdHJpbmc5MjY7c3RyaW5nOTI3O3N0cmluZzkyODtzdHJpbmc5Mjk7c3RyaW5nOTMwO3N0cmluZzkzMTtzdHJpbmc5MzI7c3RyaW5nOTMzO3N0cmluZzkzNDtzdHJpbmc5MzU7c3RyaW5nOTM2O3N0cmluZzkzNztzdHJpbmc5Mzg7c3RyaW5nOTM5O3N0cmluZzk0MDtzdHJpbmc5NDE7c3RyaW5nOTQyO3N0cmluZzk0MztzdHJpbmc5NDQ7c3RyaW5nOTQ1O3N0cmluZzk0NjtzdHJpbmc5NDc7c3RyaW5nOTQ4O3N0cmluZzk0OTtzdHJpbmc5NTA7c3RyaW5nOTUxO3N0cmluZzk1MjtzdHJpbmc5NTM7c3RyaW5nOTU0O3N0cmluZzk1NTtzdHJpbmc5NTY7c3RyaW5nOTU3O3N0cmluZzk1ODtzdHJpbmc5NTk7c3RyaW5nOTYwO3N0cmluZzk2MTtzdHJpbmc5NjI7c3RyaW5nOTYzO3N0cmluZzk2NDtzdHJpbmc5NjU7c3RyaW5nOTY2O3N0cmluZzk2NztzdHJpbmc5Njg7c3RyaW5nOTY5O3N0cmluZzk3MDtzdHJpbmc5NzE7c3RyaW5nOTcyO3N0cmluZzk3MztzdHJpbmc5NzQ7c3RyaW5nOTc1O3N0cmluZzk3NjtzdHJpbmc5Nzc7c3RyaW5nOTc4O3N0cmluZzk3OTtzdHJpbmc5ODA7c3RyaW5nOTgxO3N0cmluZzk4MjtzdHJpbmc5ODM7c3RyaW5nOTg0O3N0cmluZzk4NTtzdHJpbmc5ODY7c3RyaW5nOTg3O3N0cmluZzk4ODtzdHJpbmc5ODk7c3RyaW5nOTkwO3N0cmluZzk5MTtzdHJpbmc5OTI7c3RyaW5nOTkzO3N0cmluZzk5NDtzdHJpbmc5OTU7c3RyaW5nOTk2O3N0cmluZzk5NztzdHJpbmc5OTg7c3RyaW5nOQorc3RhcnQ7aW5nMDtpbmcxO2luZzI7aW5nMztpbmc0O2luZzU7aW5nNjtpbmc3O2luZzg7aW5nOTtpbmcxMDtpbmcxMTtpbmcxMjtpbmcxMztpbmcxNDtpbmcxNTtpbmcxNjtpbmcxNztpbmcxODtpbmcxOTtpbmcyMDtpbmcyMTtpbmcyMjtpbmcyMztpbmcyNDtpbmcyNTtpbmcyNjtpbmcyNztpbmcyODtpbmcyOTtpbmczMDtpbmczMTtpbmczMjtpbmczMztpbmczNDtpbmczNTtpbmczNjtpbmczNztpbmczODtpbmczOTtpbmc0MDtpbmc0MTtpbmc0Mjtpbmc0Mztpbmc0NDtpbmc0NTtpbmc0Njtpbmc0Nztpbmc0ODtpbmc0OTtpbmc1MDtpbmc1MTtpbmc1Mjtpbmc1Mztpbmc1NDtpbmc1NTtpbmc1Njtpbmc1Nztpbmc1ODtpbmc1OTtpbmc2MDtpbmc2MTtpbmc2Mjtpbmc2Mztpbmc2NDtpbmc2NTtpbmc2Njtpbmc2Nztpbmc2ODtpbmc2OTtpbmc3MDtpbmc3MTtpbmc3Mjtpbmc3Mztpbmc3NDtpbmc3NTtpbmc3Njtpbmc3Nztpbmc3ODtpbmc3OTtpbmc4MDtpbmc4MTtpbmc4Mjtpbmc4Mztpbmc4NDtpbmc4NTtpbmc4Njtpbmc4Nztpbmc4ODtpbmc4OTtpbmc5MDtpbmc5MTtpbmc5Mjtpbmc5Mztpbmc5NDtpbmc5NTtpbmc5Njtpbmc5Nztpbmc5ODtpbmc5OTtpbmcxMDA7aW5nMTAxO2luZzEwMjtpbmcxMDM7aW5nMTA0O2luZzEwNTtpbmcxMDY7aW5nMTA3O2luZzEwODtpbmcxMDk7aW5nMTEwO2luZzExMTtpbmcxMTI7aW5nMTEzO2luZzExNDtpbmcxMTU7aW5nMTE2O2luZzExNztpbmcxMTg7aW5nMTE5O2luZzEyMDtpbmcxMjE7aW5nMTIyO2luZzEyMztpbmcxMjQ7aW5nMTI1O2luZzEyNjtpbmcxMjc7aW5nMTI4O2luZzEyOTtpbmcxMzA7aW5nMTMxO2luZzEzMjtpbmcxMzM7aW5nMTM0O2luZzEzNTtpbmcxMzY7aW5nMTM3O2luZzEzODtpbmcxMzk7aW5nMTQwO2luZzE0MTtpbmcxNDI7aW5nMTQzO2luZzE0NDtpbmcxNDU7aW5nMTQ2O2luZzE0NztpbmcxNDg7aW5nMTQ5O2luZzE1MDtpbmcxNTE7aW5nMTUyO2luZzE1MztpbmcxNTQ7aW5nMTU1O2luZzE1NjtpbmcxNTc7aW5nMTU4O2luZzE1OTtpbmcxNjA7aW5nMTYxO2luZzE2MjtpbmcxNjM7aW5nMTY0O2luZzE2NTtpbmcxNjY7aW5nMTY3O2luZzE2ODtpbmcxNjk7aW5nMTcwO2luZzE3MTtpbmcxNzI7aW5nMTczO2luZzE3NDtpbmcxNzU7aW5nMTc2O2luZzE3NztpbmcxNzg7aW5nMTc5O2luZzE4MDtpbmcxODE7aW5nMTgyO2luZzE4MztpbmcxODQ7aW5nMTg1O2luZzE4NjtpbmcxODc7aW5nMTg4O2luZzE4OTtpbmcxOTA7aW5nMTkxO2luZzE5MjtpbmcxOTM7aW5nMTk0O2luZzE5NTtpbmcxOTY7aW5nMTk3O2luZzE5ODtpbmcxOTk7aW5nMjAwO2luZzIwMTtpbmcyMDI7aW5nMjAzO2luZzIwNDtpbmcyMDU7aW5nMjA2O2luZzIwNztpbmcyMDg7aW5nMjA5O2luZzIxMDtpbmcyMTE7aW5nMjEyO2luZzIxMztpbmcyMTQ7aW5nMjE1O2luZzIxNjtpbmcyMTc7aW5nMjE4O2luZzIxOTtpbmcyMjA7aW5nMjIxO2luZzIyMjtpbmcyMjM7aW5nMjI0O2luZzIyNTtpbmcyMjY7aW5nMjI3O2luZzIyODtpbmcyMjk7aW5nMjMwO2luZzIzMTtpbmcyMzI7aW5nMjMzO2luZzIzNDtpbmcyMzU7aW5nMjM2O2luZzIzNztpbmcyMzg7aW5nMjM5O2luZzI0MDtpbmcyNDE7aW5nMjQyO2luZzI0MztpbmcyNDQ7aW5nMjQ1O2luZzI0NjtpbmcyNDc7aW5nMjQ4O2luZzI0OTtpbmcyNTA7aW5nMjUxO2luZzI1MjtpbmcyNTM7aW5nMjU0O2luZzI1NTtpbmcyNTY7aW5nMjU3O2luZzI1ODtpbmcyNTk7aW5nMjYwO2luZzI2MTtpbmcyNjI7aW5nMjYzO2luZzI2NDtpbmcyNjU7aW5nMjY2O2luZzI2NztpbmcyNjg7aW5nMjY5O2luZzI3MDtpbmcyNzE7aW5nMjcyO2luZzI3MztpbmcyNzQ7aW5nMjc1O2luZzI3NjtpbmcyNzc7aW5nMjc4O2luZzI3OTtpbmcyODA7aW5nMjgxO2luZzI4MjtpbmcyODM7aW5nMjg0O2luZzI4NTtpbmcyODY7aW5nMjg3O2luZzI4ODtpbmcyODk7aW5nMjkwO2luZzI5MTtpbmcyOTI7aW5nMjkzO2luZzI5NDtpbmcyOTU7aW5nMjk2O2luZzI5NztpbmcyOTg7aW5nMjk5O2luZzMwMDtpbmczMDE7aW5nMzAyO2luZzMwMztpbmczMDQ7aW5nMzA1O2luZzMwNjtpbmczMDc7aW5nMzA4O2luZzMwOTtpbmczMTA7aW5nMzExO2luZzMxMjtpbmczMTM7aW5nMzE0O2luZzMxNTtpbmczMTY7aW5nMzE3O2luZzMxODtpbmczMTk7aW5nMzIwO2luZzMyMTtpbmczMjI7aW5nMzIzO2luZzMyNDtpbmczMjU7aW5nMzI2O2luZzMyNztpbmczMjg7aW5nMzI5O2luZzMzMDtpbmczMzE7aW5nMzMyO2luZzMzMztpbmczMzQ7aW5nMzM1O2luZzMzNjtpbmczMzc7aW5nMzM4O2luZzMzOTtpbmczNDA7aW5nMzQxO2luZzM0MjtpbmczNDM7aW5nMzQ0O2luZzM0NTtpbmczNDY7aW5nMzQ3O2luZzM0ODtpbmczNDk7aW5nMzUwO2luZzM1MTtpbmczNTI7aW5nMzUzO2luZzM1NDtpbmczNTU7aW5nMzU2O2luZzM1NztpbmczNTg7aW5nMzU5O2luZzM2MDtpbmczNjE7aW5nMzYyO2luZzM2MztpbmczNjQ7aW5nMzY1O2luZzM2NjtpbmczNjc7aW5nMzY4O2luZzM2OTtpbmczNzA7aW5nMzcxO2luZzM3MjtpbmczNzM7aW5nMzc0O2luZzM3NTtpbmczNzY7aW5nMzc3O2luZzM3ODtpbmczNzk7aW5nMzgwO2luZzM4MTtpbmczODI7aW5nMzgzO2luZzM4NDtpbmczODU7aW5nMzg2O2luZzM4NztpbmczODg7aW5nMzg5O2luZzM5MDtpbmczOTE7aW5nMzkyO2luZzM5MztpbmczOTQ7aW5nMzk1O2luZzM5NjtpbmczOTc7aW5nMzk4O2luZzM5OTtpbmc0MDA7aW5nNDAxO2luZzQwMjtpbmc0MDM7aW5nNDA0O2luZzQwNTtpbmc0MDY7aW5nNDA3O2luZzQwODtpbmc0MDk7aW5nNDEwO2luZzQxMTtpbmc0MTI7aW5nNDEzO2luZzQxNDtpbmc0MTU7aW5nNDE2O2luZzQxNztpbmc0MTg7aW5nNDE5O2luZzQyMDtpbmc0MjE7aW5nNDIyO2luZzQyMztpbmc0MjQ7aW5nNDI1O2luZzQyNjtpbmc0Mjc7aW5nNDI4O2luZzQyOTtpbmc0MzA7aW5nNDMxO2luZzQzMjtpbmc0MzM7aW5nNDM0O2luZzQzNTtpbmc0MzY7aW5nNDM3O2luZzQzODtpbmc0Mzk7aW5nNDQwO2luZzQ0MTtpbmc0NDI7aW5nNDQzO2luZzQ0NDtpbmc0NDU7aW5nNDQ2O2luZzQ0Nztpbmc0NDg7aW5nNDQ5O2luZzQ1MDtpbmc0NTE7aW5nNDUyO2luZzQ1Mztpbmc0NTQ7aW5nNDU1O2luZzQ1Njtpbmc0NTc7aW5nNDU4O2luZzQ1OTtpbmc0NjA7aW5nNDYxO2luZzQ2Mjtpbmc0NjM7aW5nNDY0O2luZzQ2NTtpbmc0NjY7aW5nNDY3O2luZzQ2ODtpbmc0Njk7aW5nNDcwO2luZzQ3MTtpbmc0NzI7aW5nNDczO2luZzQ3NDtpbmc0NzU7aW5nNDc2O2luZzQ3Nztpbmc0Nzg7aW5nNDc5O2luZzQ4MDtpbmc0ODE7aW5nNDgyO2luZzQ4Mztpbmc0ODQ7aW5nNDg1O2luZzQ4Njtpbmc0ODc7aW5nNDg4O2luZzQ4OTtpbmc0OTA7aW5nNDkxO2luZzQ5Mjtpbmc0OTM7aW5nNDk0O2luZzQ5NTtpbmc0OTY7aW5nNDk3O2luZzQ5ODtpbmc0OTk7aW5nNTAwO2luZzUwMTtpbmc1MDI7aW5nNTAzO2luZzUwNDtpbmc1MDU7aW5nNTA2O2luZzUwNztpbmc1MDg7aW5nNTA5O2luZzUxMDtpbmc1MTE7aW5nNTEyO2luZzUxMztpbmc1MTQ7aW5nNTE1O2luZzUxNjtpbmc1MTc7aW5nNTE4O2luZzUxOTtpbmc1MjA7aW5nNTIxO2luZzUyMjtpbmc1MjM7aW5nNTI0O2luZzUyNTtpbmc1MjY7aW5nNTI3O2luZzUyODtpbmc1Mjk7aW5nNTMwO2luZzUzMTtpbmc1MzI7aW5nNTMzO2luZzUzNDtpbmc1MzU7aW5nNTM2O2luZzUzNztpbmc1Mzg7aW5nNTM5O2luZzU0MDtpbmc1NDE7aW5nNTQyO2luZzU0Mztpbmc1NDQ7aW5nNTQ1O2luZzU0Njtpbmc1NDc7aW5nNTQ4O2luZzU0OTtpbmc1NTA7aW5nNTUxO2luZzU1Mjtpbmc1NTM7aW5nNTU0O2luZzU1NTtpbmc1NTY7aW5nNTU3O2luZzU1ODtpbmc1NTk7aW5nNTYwO2luZzU2MTtpbmc1NjI7aW5nNTYzO2luZzU2NDtpbmc1NjU7aW5nNTY2O2luZzU2Nztpbmc1Njg7aW5nNTY5O2luZzU3MDtpbmc1NzE7aW5nNTcyO2luZzU3Mztpbmc1NzQ7aW5nNTc1O2luZzU3Njtpbmc1Nzc7aW5nNTc4O2luZzU3OTtpbmc1ODA7aW5nNTgxO2luZzU4Mjtpbmc1ODM7aW5nNTg0O2luZzU4NTtpbmc1ODY7aW5nNTg3O2luZzU4ODtpbmc1ODk7aW5nNTkwO2luZzU5MTtpbmc1OTI7aW5nNTkzO2luZzU5NDtpbmc1OTU7aW5nNTk2O2luZzU5Nztpbmc1OTg7aW5nNTk5O2luZzYwMDtpbmc2MDE7aW5nNjAyO2luZzYwMztpbmc2MDQ7aW5nNjA1O2luZzYwNjtpbmc2MDc7aW5nNjA4O2luZzYwOTtpbmc2MTA7aW5nNjExO2luZzYxMjtpbmc2MTM7aW5nNjE0O2luZzYxNTtpbmc2MTY7aW5nNjE3O2luZzYxODtpbmc2MTk7aW5nNjIwO2luZzYyMTtpbmc2MjI7aW5nNjIzO2luZzYyNDtpbmc2MjU7aW5nNjI2O2luZzYyNztpbmc2Mjg7aW5nNjI5O2luZzYzMDtpbmc2MzE7aW5nNjMyO2luZzYzMztpbmc2MzQ7aW5nNjM1O2luZzYzNjtpbmc2Mzc7aW5nNjM4O2luZzYzOTtpbmc2NDA7aW5nNjQxO2luZzY0Mjtpbmc2NDM7aW5nNjQ0O2luZzY0NTtpbmc2NDY7aW5nNjQ3O2luZzY0ODtpbmc2NDk7aW5nNjUwO2luZzY1MTtpbmc2NTI7aW5nNjUzO2luZzY1NDtpbmc2NTU7aW5nNjU2O2luZzY1Nztpbmc2NTg7aW5nNjU5O2luZzY2MDtpbmc2NjE7aW5nNjYyO2luZzY2Mztpbmc2NjQ7aW5nNjY1O2luZzY2Njtpbmc2Njc7aW5nNjY4O2luZzY2OTtpbmc2NzA7aW5nNjcxO2luZzY3Mjtpbmc2NzM7aW5nNjc0O2luZzY3NTtpbmc2NzY7aW5nNjc3O2luZzY3ODtpbmc2Nzk7aW5nNjgwO2luZzY4MTtpbmc2ODI7aW5nNjgzO2luZzY4NDtpbmc2ODU7aW5nNjg2O2luZzY4Nztpbmc2ODg7aW5nNjg5O2luZzY5MDtpbmc2OTE7aW5nNjkyO2luZzY5Mztpbmc2OTQ7aW5nNjk1O2luZzY5Njtpbmc2OTc7aW5nNjk4O2luZzY5OTtpbmc3MDA7aW5nNzAxO2luZzcwMjtpbmc3MDM7aW5nNzA0O2luZzcwNTtpbmc3MDY7aW5nNzA3O2luZzcwODtpbmc3MDk7aW5nNzEwO2luZzcxMTtpbmc3MTI7aW5nNzEzO2luZzcxNDtpbmc3MTU7aW5nNzE2O2luZzcxNztpbmc3MTg7aW5nNzE5O2luZzcyMDtpbmc3MjE7aW5nNzIyO2luZzcyMztpbmc3MjQ7aW5nNzI1O2luZzcyNjtpbmc3Mjc7aW5nNzI4O2luZzcyOTtpbmc3MzA7aW5nNzMxO2luZzczMjtpbmc3MzM7aW5nNzM0O2luZzczNTtpbmc3MzY7aW5nNzM3O2luZzczODtpbmc3Mzk7aW5nNzQwO2luZzc0MTtpbmc3NDI7aW5nNzQzO2luZzc0NDtpbmc3NDU7aW5nNzQ2O2luZzc0Nztpbmc3NDg7aW5nNzQ5O2luZzc1MDtpbmc3NTE7aW5nNzUyO2luZzc1Mztpbmc3NTQ7aW5nNzU1O2luZzc1Njtpbmc3NTc7aW5nNzU4O2luZzc1OTtpbmc3NjA7aW5nNzYxO2luZzc2Mjtpbmc3NjM7aW5nNzY0O2luZzc2NTtpbmc3NjY7aW5nNzY3O2luZzc2ODtpbmc3Njk7aW5nNzcwO2luZzc3MTtpbmc3NzI7aW5nNzczO2luZzc3NDtpbmc3NzU7aW5nNzc2O2luZzc3Nztpbmc3Nzg7aW5nNzc5O2luZzc4MDtpbmc3ODE7aW5nNzgyO2luZzc4Mztpbmc3ODQ7aW5nNzg1O2luZzc4Njtpbmc3ODc7aW5nNzg4O2luZzc4OTtpbmc3OTA7aW5nNzkxO2luZzc5Mjtpbmc3OTM7aW5nNzk0O2luZzc5NTtpbmc3OTY7aW5nNzk3O2luZzc5ODtpbmc3OTk7aW5nODAwO2luZzgwMTtpbmc4MDI7aW5nODAzO2luZzgwNDtpbmc4MDU7aW5nODA2O2luZzgwNztpbmc4MDg7aW5nODA5O2luZzgxMDtpbmc4MTE7aW5nODEyO2luZzgxMztpbmc4MTQ7aW5nODE1O2luZzgxNjtpbmc4MTc7aW5nODE4O2luZzgxOTtpbmc4MjA7aW5nODIxO2luZzgyMjtpbmc4MjM7aW5nODI0O2luZzgyNTtpbmc4MjY7aW5nODI3O2luZzgyODtpbmc4Mjk7aW5nODMwO2luZzgzMTtpbmc4MzI7aW5nODMzO2luZzgzNDtpbmc4MzU7aW5nODM2O2luZzgzNztpbmc4Mzg7aW5nODM5O2luZzg0MDtpbmc4NDE7aW5nODQyO2luZzg0Mztpbmc4NDQ7aW5nODQ1O2luZzg0Njtpbmc4NDc7aW5nODQ4O2luZzg0OTtpbmc4NTA7aW5nODUxO2luZzg1Mjtpbmc4NTM7aW5nODU0O2luZzg1NTtpbmc4NTY7aW5nODU3O2luZzg1ODtpbmc4NTk7aW5nODYwO2luZzg2MTtpbmc4NjI7aW5nODYzO2luZzg2NDtpbmc4NjU7aW5nODY2O2luZzg2Nztpbmc4Njg7aW5nODY5O2luZzg3MDtpbmc4NzE7aW5nODcyO2luZzg3Mztpbmc4NzQ7aW5nODc1O2luZzg3Njtpbmc4Nzc7aW5nODc4O2luZzg3OTtpbmc4ODA7aW5nODgxO2luZzg4Mjtpbmc4ODM7aW5nODg0O2luZzg4NTtpbmc4ODY7aW5nODg3O2luZzg4ODtpbmc4ODk7aW5nODkwO2luZzg5MTtpbmc4OTI7aW5nODkzO2luZzg5NDtpbmc4OTU7aW5nODk2O2luZzg5Nztpbmc4OTg7aW5nODk5O2luZzkwMDtpbmc5MDE7aW5nOTAyO2luZzkwMztpbmc5MDQ7aW5nOTA1O2luZzkwNjtpbmc5MDc7aW5nOTA4O2luZzkwOTtpbmc5MTA7aW5nOTExO2luZzkxMjtpbmc5MTM7aW5nOTE0O2luZzkxNTtpbmc5MTY7aW5nOTE3O2luZzkxODtpbmc5MTk7aW5nOTIwO2luZzkyMTtpbmc5MjI7aW5nOTIzO2luZzkyNDtpbmc5MjU7aW5nOTI2O2luZzkyNztpbmc5Mjg7aW5nOTI5O2luZzkzMDtpbmc5MzE7aW5nOTMyO2luZzkzMztpbmc5MzQ7aW5nOTM1O2luZzkzNjtpbmc5Mzc7aW5nOTM4O2luZzkzOTtpbmc5NDA7aW5nOTQxO2luZzk0Mjtpbmc5NDM7aW5nOTQ0O2luZzk0NTtpbmc5NDY7aW5nOTQ3O2luZzk0ODtpbmc5NDk7aW5nOTUwO2luZzk1MTtpbmc5NTI7aW5nOTUzO2luZzk1NDtpbmc5NTU7aW5nOTU2O2luZzk1Nztpbmc5NTg7aW5nOTU5O2luZzk2MDtpbmc5NjE7aW5nOTYyO2luZzk2Mztpbmc5NjQ7aW5nOTY1O2luZzk2Njtpbmc5Njc7aW5nOTY4O2luZzk2OTtpbmc5NzA7aW5nOTcxO2luZzk3Mjtpbmc5NzM7aW5nOTc0O2luZzk3NTtpbmc5NzY7aW5nOTc3O2luZzk3ODtpbmc5Nzk7aW5nOTgwO2luZzk4MTtpbmc5ODI7aW5nOTgzO2luZzk4NDtpbmc5ODU7aW5nOTg2O2luZzk4Nztpbmc5ODg7aW5nOTg5O2luZzk5MDtpbmc5OTE7aW5nOTkyO2luZzk5Mztpbmc5OTQ7aW5nOTk1O2luZzk5Njtpbmc5OTc7aW5nOTk4O2luZzk5OQorOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OworOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Oworc3RhcnQ7c3RyaW5nMDtzdHJpbmcxO3N0cmluZzI7c3RyaW5nMztzdHJpbmc0O3N0cmluZzU7c3RyaW5nNjtzdHJpbmc3O3N0cmluZzg7c3RyaW5nOTtzdHJpbmcxMDtzdHJpbmcxMTtzdHJpbmcxMjtzdHJpbmcxMztzdHJpbmcxNDtzdHJpbmcxNTtzdHJpbmcxNjtzdHJpbmcxNztzdHJpbmcxODtzdHJpbmcxOTtzdHJpbmcyMDtzdHJpbmcyMTtzdHJpbmcyMjtzdHJpbmcyMztzdHJpbmcyNDtzdHJpbmcyNTtzdHJpbmcyNjtzdHJpbmcyNztzdHJpbmcyODtzdHJpbmcyOTtzdHJpbmczMDtzdHJpbmczMTtzdHJpbmczMjtzdHJpbmczMztzdHJpbmczNDtzdHJpbmczNTtzdHJpbmczNjtzdHJpbmczNztzdHJpbmczODtzdHJpbmczOTtzdHJpbmc0MDtzdHJpbmc0MTtzdHJpbmc0MjtzdHJpbmc0MztzdHJpbmc0NDtzdHJpbmc0NTtzdHJpbmc0NjtzdHJpbmc0NztzdHJpbmc0ODtzdHJpbmc0OTtzdHJpbmc1MDtzdHJpbmc1MTtzdHJpbmc1MjtzdHJpbmc1MztzdHJpbmc1NDtzdHJpbmc1NTtzdHJpbmc1NjtzdHJpbmc1NztzdHJpbmc1ODtzdHJpbmc1OTtzdHJpbmc2MDtzdHJpbmc2MTtzdHJpbmc2MjtzdHJpbmc2MztzdHJpbmc2NDtzdHJpbmc2NTtzdHJpbmc2NjtzdHJpbmc2NztzdHJpbmc2ODtzdHJpbmc2OTtzdHJpbmc3MDtzdHJpbmc3MTtzdHJpbmc3MjtzdHJpbmc3MztzdHJpbmc3NDtzdHJpbmc3NTtzdHJpbmc3NjtzdHJpbmc3NztzdHJpbmc3ODtzdHJpbmc3OTtzdHJpbmc4MDtzdHJpbmc4MTtzdHJpbmc4MjtzdHJpbmc4MztzdHJpbmc4NDtzdHJpbmc4NTtzdHJpbmc4NjtzdHJpbmc4NztzdHJpbmc4ODtzdHJpbmc4OTtzdHJpbmc5MDtzdHJpbmc5MTtzdHJpbmc5MjtzdHJpbmc5MztzdHJpbmc5NDtzdHJpbmc5NTtzdHJpbmc5NjtzdHJpbmc5NztzdHJpbmc5ODtzdHJpbmc5OTtzdHJpbmcxMDA7c3RyaW5nMTAxO3N0cmluZzEwMjtzdHJpbmcxMDM7c3RyaW5nMTA0O3N0cmluZzEwNTtzdHJpbmcxMDY7c3RyaW5nMTA3O3N0cmluZzEwODtzdHJpbmcxMDk7c3RyaW5nMTEwO3N0cmluZzExMTtzdHJpbmcxMTI7c3RyaW5nMTEzO3N0cmluZzExNDtzdHJpbmcxMTU7c3RyaW5nMTE2O3N0cmluZzExNztzdHJpbmcxMTg7c3RyaW5nMTE5O3N0cmluZzEyMDtzdHJpbmcxMjE7c3RyaW5nMTIyO3N0cmluZzEyMztzdHJpbmcxMjQ7c3RyaW5nMTI1O3N0cmluZzEyNjtzdHJpbmcxMjc7c3RyaW5nMTI4O3N0cmluZzEyOTtzdHJpbmcxMzA7c3RyaW5nMTMxO3N0cmluZzEzMjtzdHJpbmcxMzM7c3RyaW5nMTM0O3N0cmluZzEzNTtzdHJpbmcxMzY7c3RyaW5nMTM3O3N0cmluZzEzODtzdHJpbmcxMzk7c3RyaW5nMTQwO3N0cmluZzE0MTtzdHJpbmcxNDI7c3RyaW5nMTQzO3N0cmluZzE0NDtzdHJpbmcxNDU7c3RyaW5nMTQ2O3N0cmluZzE0NztzdHJpbmcxNDg7c3RyaW5nMTQ5O3N0cmluZzE1MDtzdHJpbmcxNTE7c3RyaW5nMTUyO3N0cmluZzE1MztzdHJpbmcxNTQ7c3RyaW5nMTU1O3N0cmluZzE1NjtzdHJpbmcxNTc7c3RyaW5nMTU4O3N0cmluZzE1OTtzdHJpbmcxNjA7c3RyaW5nMTYxO3N0cmluZzE2MjtzdHJpbmcxNjM7c3RyaW5nMTY0O3N0cmluZzE2NTtzdHJpbmcxNjY7c3RyaW5nMTY3O3N0cmluZzE2ODtzdHJpbmcxNjk7c3RyaW5nMTcwO3N0cmluZzE3MTtzdHJpbmcxNzI7c3RyaW5nMTczO3N0cmluZzE3NDtzdHJpbmcxNzU7c3RyaW5nMTc2O3N0cmluZzE3NztzdHJpbmcxNzg7c3RyaW5nMTc5O3N0cmluZzE4MDtzdHJpbmcxODE7c3RyaW5nMTgyO3N0cmluZzE4MztzdHJpbmcxODQ7c3RyaW5nMTg1O3N0cmluZzE4NjtzdHJpbmcxODc7c3RyaW5nMTg4O3N0cmluZzE4OTtzdHJpbmcxOTA7c3RyaW5nMTkxO3N0cmluZzE5MjtzdHJpbmcxOTM7c3RyaW5nMTk0O3N0cmluZzE5NTtzdHJpbmcxOTY7c3RyaW5nMTk3O3N0cmluZzE5ODtzdHJpbmcxOTk7c3RyaW5nMjAwO3N0cmluZzIwMTtzdHJpbmcyMDI7c3RyaW5nMjAzO3N0cmluZzIwNDtzdHJpbmcyMDU7c3RyaW5nMjA2O3N0cmluZzIwNztzdHJpbmcyMDg7c3RyaW5nMjA5O3N0cmluZzIxMDtzdHJpbmcyMTE7c3RyaW5nMjEyO3N0cmluZzIxMztzdHJpbmcyMTQ7c3RyaW5nMjE1O3N0cmluZzIxNjtzdHJpbmcyMTc7c3RyaW5nMjE4O3N0cmluZzIxOTtzdHJpbmcyMjA7c3RyaW5nMjIxO3N0cmluZzIyMjtzdHJpbmcyMjM7c3RyaW5nMjI0O3N0cmluZzIyNTtzdHJpbmcyMjY7c3RyaW5nMjI3O3N0cmluZzIyODtzdHJpbmcyMjk7c3RyaW5nMjMwO3N0cmluZzIzMTtzdHJpbmcyMzI7c3RyaW5nMjMzO3N0cmluZzIzNDtzdHJpbmcyMzU7c3RyaW5nMjM2O3N0cmluZzIzNztzdHJpbmcyMzg7c3RyaW5nMjM5O3N0cmluZzI0MDtzdHJpbmcyNDE7c3RyaW5nMjQyO3N0cmluZzI0MztzdHJpbmcyNDQ7c3RyaW5nMjQ1O3N0cmluZzI0NjtzdHJpbmcyNDc7c3RyaW5nMjQ4O3N0cmluZzI0OTtzdHJpbmcyNTA7c3RyaW5nMjUxO3N0cmluZzI1MjtzdHJpbmcyNTM7c3RyaW5nMjU0O3N0cmluZzI1NTtzdHJpbmcyNTY7c3RyaW5nMjU3O3N0cmluZzI1ODtzdHJpbmcyNTk7c3RyaW5nMjYwO3N0cmluZzI2MTtzdHJpbmcyNjI7c3RyaW5nMjYzO3N0cmluZzI2NDtzdHJpbmcyNjU7c3RyaW5nMjY2O3N0cmluZzI2NztzdHJpbmcyNjg7c3RyaW5nMjY5O3N0cmluZzI3MDtzdHJpbmcyNzE7c3RyaW5nMjcyO3N0cmluZzI3MztzdHJpbmcyNzQ7c3RyaW5nMjc1O3N0cmluZzI3NjtzdHJpbmcyNzc7c3RyaW5nMjc4O3N0cmluZzI3OTtzdHJpbmcyODA7c3RyaW5nMjgxO3N0cmluZzI4MjtzdHJpbmcyODM7c3RyaW5nMjg0O3N0cmluZzI4NTtzdHJpbmcyODY7c3RyaW5nMjg3O3N0cmluZzI4ODtzdHJpbmcyODk7c3RyaW5nMjkwO3N0cmluZzI5MTtzdHJpbmcyOTI7c3RyaW5nMjkzO3N0cmluZzI5NDtzdHJpbmcyOTU7c3RyaW5nMjk2O3N0cmluZzI5NztzdHJpbmcyOTg7c3RyaW5nMjk5O3N0cmluZzMwMDtzdHJpbmczMDE7c3RyaW5nMzAyO3N0cmluZzMwMztzdHJpbmczMDQ7c3RyaW5nMzA1O3N0cmluZzMwNjtzdHJpbmczMDc7c3RyaW5nMzA4O3N0cmluZzMwOTtzdHJpbmczMTA7c3RyaW5nMzExO3N0cmluZzMxMjtzdHJpbmczMTM7c3RyaW5nMzE0O3N0cmluZzMxNTtzdHJpbmczMTY7c3RyaW5nMzE3O3N0cmluZzMxODtzdHJpbmczMTk7c3RyaW5nMzIwO3N0cmluZzMyMTtzdHJpbmczMjI7c3RyaW5nMzIzO3N0cmluZzMyNDtzdHJpbmczMjU7c3RyaW5nMzI2O3N0cmluZzMyNztzdHJpbmczMjg7c3RyaW5nMzI5O3N0cmluZzMzMDtzdHJpbmczMzE7c3RyaW5nMzMyO3N0cmluZzMzMztzdHJpbmczMzQ7c3RyaW5nMzM1O3N0cmluZzMzNjtzdHJpbmczMzc7c3RyaW5nMzM4O3N0cmluZzMzOTtzdHJpbmczNDA7c3RyaW5nMzQxO3N0cmluZzM0MjtzdHJpbmczNDM7c3RyaW5nMzQ0O3N0cmluZzM0NTtzdHJpbmczNDY7c3RyaW5nMzQ3O3N0cmluZzM0ODtzdHJpbmczNDk7c3RyaW5nMzUwO3N0cmluZzM1MTtzdHJpbmczNTI7c3RyaW5nMzUzO3N0cmluZzM1NDtzdHJpbmczNTU7c3RyaW5nMzU2O3N0cmluZzM1NztzdHJpbmczNTg7c3RyaW5nMzU5O3N0cmluZzM2MDtzdHJpbmczNjE7c3RyaW5nMzYyO3N0cmluZzM2MztzdHJpbmczNjQ7c3RyaW5nMzY1O3N0cmluZzM2NjtzdHJpbmczNjc7c3RyaW5nMzY4O3N0cmluZzM2OTtzdHJpbmczNzA7c3RyaW5nMzcxO3N0cmluZzM3MjtzdHJpbmczNzM7c3RyaW5nMzc0O3N0cmluZzM3NTtzdHJpbmczNzY7c3RyaW5nMzc3O3N0cmluZzM3ODtzdHJpbmczNzk7c3RyaW5nMzgwO3N0cmluZzM4MTtzdHJpbmczODI7c3RyaW5nMzgzO3N0cmluZzM4NDtzdHJpbmczODU7c3RyaW5nMzg2O3N0cmluZzM4NztzdHJpbmczODg7c3RyaW5nMzg5O3N0cmluZzM5MDtzdHJpbmczOTE7c3RyaW5nMzkyO3N0cmluZzM5MztzdHJpbmczOTQ7c3RyaW5nMzk1O3N0cmluZzM5NjtzdHJpbmczOTc7c3RyaW5nMzk4O3N0cmluZzM5OTtzdHJpbmc0MDA7c3RyaW5nNDAxO3N0cmluZzQwMjtzdHJpbmc0MDM7c3RyaW5nNDA0O3N0cmluZzQwNTtzdHJpbmc0MDY7c3RyaW5nNDA3O3N0cmluZzQwODtzdHJpbmc0MDk7c3RyaW5nNDEwO3N0cmluZzQxMTtzdHJpbmc0MTI7c3RyaW5nNDEzO3N0cmluZzQxNDtzdHJpbmc0MTU7c3RyaW5nNDE2O3N0cmluZzQxNztzdHJpbmc0MTg7c3RyaW5nNDE5O3N0cmluZzQyMDtzdHJpbmc0MjE7c3RyaW5nNDIyO3N0cmluZzQyMztzdHJpbmc0MjQ7c3RyaW5nNDI1O3N0cmluZzQyNjtzdHJpbmc0Mjc7c3RyaW5nNDI4O3N0cmluZzQyOTtzdHJpbmc0MzA7c3RyaW5nNDMxO3N0cmluZzQzMjtzdHJpbmc0MzM7c3RyaW5nNDM0O3N0cmluZzQzNTtzdHJpbmc0MzY7c3RyaW5nNDM3O3N0cmluZzQzODtzdHJpbmc0Mzk7c3RyaW5nNDQwO3N0cmluZzQ0MTtzdHJpbmc0NDI7c3RyaW5nNDQzO3N0cmluZzQ0NDtzdHJpbmc0NDU7c3RyaW5nNDQ2O3N0cmluZzQ0NztzdHJpbmc0NDg7c3RyaW5nNDQ5O3N0cmluZzQ1MDtzdHJpbmc0NTE7c3RyaW5nNDUyO3N0cmluZzQ1MztzdHJpbmc0NTQ7c3RyaW5nNDU1O3N0cmluZzQ1NjtzdHJpbmc0NTc7c3RyaW5nNDU4O3N0cmluZzQ1OTtzdHJpbmc0NjA7c3RyaW5nNDYxO3N0cmluZzQ2MjtzdHJpbmc0NjM7c3RyaW5nNDY0O3N0cmluZzQ2NTtzdHJpbmc0NjY7c3RyaW5nNDY3O3N0cmluZzQ2ODtzdHJpbmc0Njk7c3RyaW5nNDcwO3N0cmluZzQ3MTtzdHJpbmc0NzI7c3RyaW5nNDczO3N0cmluZzQ3NDtzdHJpbmc0NzU7c3RyaW5nNDc2O3N0cmluZzQ3NztzdHJpbmc0Nzg7c3RyaW5nNDc5O3N0cmluZzQ4MDtzdHJpbmc0ODE7c3RyaW5nNDgyO3N0cmluZzQ4MztzdHJpbmc0ODQ7c3RyaW5nNDg1O3N0cmluZzQ4NjtzdHJpbmc0ODc7c3RyaW5nNDg4O3N0cmluZzQ4OTtzdHJpbmc0OTA7c3RyaW5nNDkxO3N0cmluZzQ5MjtzdHJpbmc0OTM7c3RyaW5nNDk0O3N0cmluZzQ5NTtzdHJpbmc0OTY7c3RyaW5nNDk3O3N0cmluZzQ5ODtzdHJpbmc0OTk7c3RyaW5nNTAwO3N0cmluZzUwMTtzdHJpbmc1MDI7c3RyaW5nNTAzO3N0cmluZzUwNDtzdHJpbmc1MDU7c3RyaW5nNTA2O3N0cmluZzUwNztzdHJpbmc1MDg7c3RyaW5nNTA5O3N0cmluZzUxMDtzdHJpbmc1MTE7c3RyaW5nNTEyO3N0cmluZzUxMztzdHJpbmc1MTQ7c3RyaW5nNTE1O3N0cmluZzUxNjtzdHJpbmc1MTc7c3RyaW5nNTE4O3N0cmluZzUxOTtzdHJpbmc1MjA7c3RyaW5nNTIxO3N0cmluZzUyMjtzdHJpbmc1MjM7c3RyaW5nNTI0O3N0cmluZzUyNTtzdHJpbmc1MjY7c3RyaW5nNTI3O3N0cmluZzUyODtzdHJpbmc1Mjk7c3RyaW5nNTMwO3N0cmluZzUzMTtzdHJpbmc1MzI7c3RyaW5nNTMzO3N0cmluZzUzNDtzdHJpbmc1MzU7c3RyaW5nNTM2O3N0cmluZzUzNztzdHJpbmc1Mzg7c3RyaW5nNTM5O3N0cmluZzU0MDtzdHJpbmc1NDE7c3RyaW5nNTQyO3N0cmluZzU0MztzdHJpbmc1NDQ7c3RyaW5nNTQ1O3N0cmluZzU0NjtzdHJpbmc1NDc7c3RyaW5nNTQ4O3N0cmluZzU0OTtzdHJpbmc1NTA7c3RyaW5nNTUxO3N0cmluZzU1MjtzdHJpbmc1NTM7c3RyaW5nNTU0O3N0cmluZzU1NTtzdHJpbmc1NTY7c3RyaW5nNTU3O3N0cmluZzU1ODtzdHJpbmc1NTk7c3RyaW5nNTYwO3N0cmluZzU2MTtzdHJpbmc1NjI7c3RyaW5nNTYzO3N0cmluZzU2NDtzdHJpbmc1NjU7c3RyaW5nNTY2O3N0cmluZzU2NztzdHJpbmc1Njg7c3RyaW5nNTY5O3N0cmluZzU3MDtzdHJpbmc1NzE7c3RyaW5nNTcyO3N0cmluZzU3MztzdHJpbmc1NzQ7c3RyaW5nNTc1O3N0cmluZzU3NjtzdHJpbmc1Nzc7c3RyaW5nNTc4O3N0cmluZzU3OTtzdHJpbmc1ODA7c3RyaW5nNTgxO3N0cmluZzU4MjtzdHJpbmc1ODM7c3RyaW5nNTg0O3N0cmluZzU4NTtzdHJpbmc1ODY7c3RyaW5nNTg3O3N0cmluZzU4ODtzdHJpbmc1ODk7c3RyaW5nNTkwO3N0cmluZzU5MTtzdHJpbmc1OTI7c3RyaW5nNTkzO3N0cmluZzU5NDtzdHJpbmc1OTU7c3RyaW5nNTk2O3N0cmluZzU5NztzdHJpbmc1OTg7c3RyaW5nNTk5O3N0cmluZzYwMDtzdHJpbmc2MDE7c3RyaW5nNjAyO3N0cmluZzYwMztzdHJpbmc2MDQ7c3RyaW5nNjA1O3N0cmluZzYwNjtzdHJpbmc2MDc7c3RyaW5nNjA4O3N0cmluZzYwOTtzdHJpbmc2MTA7c3RyaW5nNjExO3N0cmluZzYxMjtzdHJpbmc2MTM7c3RyaW5nNjE0O3N0cmluZzYxNTtzdHJpbmc2MTY7c3RyaW5nNjE3O3N0cmluZzYxODtzdHJpbmc2MTk7c3RyaW5nNjIwO3N0cmluZzYyMTtzdHJpbmc2MjI7c3RyaW5nNjIzO3N0cmluZzYyNDtzdHJpbmc2MjU7c3RyaW5nNjI2O3N0cmluZzYyNztzdHJpbmc2Mjg7c3RyaW5nNjI5O3N0cmluZzYzMDtzdHJpbmc2MzE7c3RyaW5nNjMyO3N0cmluZzYzMztzdHJpbmc2MzQ7c3RyaW5nNjM1O3N0cmluZzYzNjtzdHJpbmc2Mzc7c3RyaW5nNjM4O3N0cmluZzYzOTtzdHJpbmc2NDA7c3RyaW5nNjQxO3N0cmluZzY0MjtzdHJpbmc2NDM7c3RyaW5nNjQ0O3N0cmluZzY0NTtzdHJpbmc2NDY7c3RyaW5nNjQ3O3N0cmluZzY0ODtzdHJpbmc2NDk7c3RyaW5nNjUwO3N0cmluZzY1MTtzdHJpbmc2NTI7c3RyaW5nNjUzO3N0cmluZzY1NDtzdHJpbmc2NTU7c3RyaW5nNjU2O3N0cmluZzY1NztzdHJpbmc2NTg7c3RyaW5nNjU5O3N0cmluZzY2MDtzdHJpbmc2NjE7c3RyaW5nNjYyO3N0cmluZzY2MztzdHJpbmc2NjQ7c3RyaW5nNjY1O3N0cmluZzY2NjtzdHJpbmc2Njc7c3RyaW5nNjY4O3N0cmluZzY2OTtzdHJpbmc2NzA7c3RyaW5nNjcxO3N0cmluZzY3MjtzdHJpbmc2NzM7c3RyaW5nNjc0O3N0cmluZzY3NTtzdHJpbmc2NzY7c3RyaW5nNjc3O3N0cmluZzY3ODtzdHJpbmc2Nzk7c3RyaW5nNjgwO3N0cmluZzY4MTtzdHJpbmc2ODI7c3RyaW5nNjgzO3N0cmluZzY4NDtzdHJpbmc2ODU7c3RyaW5nNjg2O3N0cmluZzY4NztzdHJpbmc2ODg7c3RyaW5nNjg5O3N0cmluZzY5MDtzdHJpbmc2OTE7c3RyaW5nNjkyO3N0cmluZzY5MztzdHJpbmc2OTQ7c3RyaW5nNjk1O3N0cmluZzY5NjtzdHJpbmc2OTc7c3RyaW5nNjk4O3N0cmluZzY5OTtzdHJpbmc3MDA7c3RyaW5nNzAxO3N0cmluZzcwMjtzdHJpbmc3MDM7c3RyaW5nNzA0O3N0cmluZzcwNTtzdHJpbmc3MDY7c3RyaW5nNzA3O3N0cmluZzcwODtzdHJpbmc3MDk7c3RyaW5nNzEwO3N0cmluZzcxMTtzdHJpbmc3MTI7c3RyaW5nNzEzO3N0cmluZzcxNDtzdHJpbmc3MTU7c3RyaW5nNzE2O3N0cmluZzcxNztzdHJpbmc3MTg7c3RyaW5nNzE5O3N0cmluZzcyMDtzdHJpbmc3MjE7c3RyaW5nNzIyO3N0cmluZzcyMztzdHJpbmc3MjQ7c3RyaW5nNzI1O3N0cmluZzcyNjtzdHJpbmc3Mjc7c3RyaW5nNzI4O3N0cmluZzcyOTtzdHJpbmc3MzA7c3RyaW5nNzMxO3N0cmluZzczMjtzdHJpbmc3MzM7c3RyaW5nNzM0O3N0cmluZzczNTtzdHJpbmc3MzY7c3RyaW5nNzM3O3N0cmluZzczODtzdHJpbmc3Mzk7c3RyaW5nNzQwO3N0cmluZzc0MTtzdHJpbmc3NDI7c3RyaW5nNzQzO3N0cmluZzc0NDtzdHJpbmc3NDU7c3RyaW5nNzQ2O3N0cmluZzc0NztzdHJpbmc3NDg7c3RyaW5nNzQ5O3N0cmluZzc1MDtzdHJpbmc3NTE7c3RyaW5nNzUyO3N0cmluZzc1MztzdHJpbmc3NTQ7c3RyaW5nNzU1O3N0cmluZzc1NjtzdHJpbmc3NTc7c3RyaW5nNzU4O3N0cmluZzc1OTtzdHJpbmc3NjA7c3RyaW5nNzYxO3N0cmluZzc2MjtzdHJpbmc3NjM7c3RyaW5nNzY0O3N0cmluZzc2NTtzdHJpbmc3NjY7c3RyaW5nNzY3O3N0cmluZzc2ODtzdHJpbmc3Njk7c3RyaW5nNzcwO3N0cmluZzc3MTtzdHJpbmc3NzI7c3RyaW5nNzczO3N0cmluZzc3NDtzdHJpbmc3NzU7c3RyaW5nNzc2O3N0cmluZzc3NztzdHJpbmc3Nzg7c3RyaW5nNzc5O3N0cmluZzc4MDtzdHJpbmc3ODE7c3RyaW5nNzgyO3N0cmluZzc4MztzdHJpbmc3ODQ7c3RyaW5nNzg1O3N0cmluZzc4NjtzdHJpbmc3ODc7c3RyaW5nNzg4O3N0cmluZzc4OTtzdHJpbmc3OTA7c3RyaW5nNzkxO3N0cmluZzc5MjtzdHJpbmc3OTM7c3RyaW5nNzk0O3N0cmluZzc5NTtzdHJpbmc3OTY7c3RyaW5nNzk3O3N0cmluZzc5ODtzdHJpbmc3OTk7c3RyaW5nODAwO3N0cmluZzgwMTtzdHJpbmc4MDI7c3RyaW5nODAzO3N0cmluZzgwNDtzdHJpbmc4MDU7c3RyaW5nODA2O3N0cmluZzgwNztzdHJpbmc4MDg7c3RyaW5nODA5O3N0cmluZzgxMDtzdHJpbmc4MTE7c3RyaW5nODEyO3N0cmluZzgxMztzdHJpbmc4MTQ7c3RyaW5nODE1O3N0cmluZzgxNjtzdHJpbmc4MTc7c3RyaW5nODE4O3N0cmluZzgxOTtzdHJpbmc4MjA7c3RyaW5nODIxO3N0cmluZzgyMjtzdHJpbmc4MjM7c3RyaW5nODI0O3N0cmluZzgyNTtzdHJpbmc4MjY7c3RyaW5nODI3O3N0cmluZzgyODtzdHJpbmc4Mjk7c3RyaW5nODMwO3N0cmluZzgzMTtzdHJpbmc4MzI7c3RyaW5nODMzO3N0cmluZzgzNDtzdHJpbmc4MzU7c3RyaW5nODM2O3N0cmluZzgzNztzdHJpbmc4Mzg7c3RyaW5nODM5O3N0cmluZzg0MDtzdHJpbmc4NDE7c3RyaW5nODQyO3N0cmluZzg0MztzdHJpbmc4NDQ7c3RyaW5nODQ1O3N0cmluZzg0NjtzdHJpbmc4NDc7c3RyaW5nODQ4O3N0cmluZzg0OTtzdHJpbmc4NTA7c3RyaW5nODUxO3N0cmluZzg1MjtzdHJpbmc4NTM7c3RyaW5nODU0O3N0cmluZzg1NTtzdHJpbmc4NTY7c3RyaW5nODU3O3N0cmluZzg1ODtzdHJpbmc4NTk7c3RyaW5nODYwO3N0cmluZzg2MTtzdHJpbmc4NjI7c3RyaW5nODYzO3N0cmluZzg2NDtzdHJpbmc4NjU7c3RyaW5nODY2O3N0cmluZzg2NztzdHJpbmc4Njg7c3RyaW5nODY5O3N0cmluZzg3MDtzdHJpbmc4NzE7c3RyaW5nODcyO3N0cmluZzg3MztzdHJpbmc4NzQ7c3RyaW5nODc1O3N0cmluZzg3NjtzdHJpbmc4Nzc7c3RyaW5nODc4O3N0cmluZzg3OTtzdHJpbmc4ODA7c3RyaW5nODgxO3N0cmluZzg4MjtzdHJpbmc4ODM7c3RyaW5nODg0O3N0cmluZzg4NTtzdHJpbmc4ODY7c3RyaW5nODg3O3N0cmluZzg4ODtzdHJpbmc4ODk7c3RyaW5nODkwO3N0cmluZzg5MTtzdHJpbmc4OTI7c3RyaW5nODkzO3N0cmluZzg5NDtzdHJpbmc4OTU7c3RyaW5nODk2O3N0cmluZzg5NztzdHJpbmc4OTg7c3RyaW5nODk5O3N0cmluZzkwMDtzdHJpbmc5MDE7c3RyaW5nOTAyO3N0cmluZzkwMztzdHJpbmc5MDQ7c3RyaW5nOTA1O3N0cmluZzkwNjtzdHJpbmc5MDc7c3RyaW5nOTA4O3N0cmluZzkwOTtzdHJpbmc5MTA7c3RyaW5nOTExO3N0cmluZzkxMjtzdHJpbmc5MTM7c3RyaW5nOTE0O3N0cmluZzkxNTtzdHJpbmc5MTY7c3RyaW5nOTE3O3N0cmluZzkxODtzdHJpbmc5MTk7c3RyaW5nOTIwO3N0cmluZzkyMTtzdHJpbmc5MjI7c3RyaW5nOTIzO3N0cmluZzkyNDtzdHJpbmc5MjU7c3RyaW5nOTI2O3N0cmluZzkyNztzdHJpbmc5Mjg7c3RyaW5nOTI5O3N0cmluZzkzMDtzdHJpbmc5MzE7c3RyaW5nOTMyO3N0cmluZzkzMztzdHJpbmc5MzQ7c3RyaW5nOTM1O3N0cmluZzkzNjtzdHJpbmc5Mzc7c3RyaW5nOTM4O3N0cmluZzkzOTtzdHJpbmc5NDA7c3RyaW5nOTQxO3N0cmluZzk0MjtzdHJpbmc5NDM7c3RyaW5nOTQ0O3N0cmluZzk0NTtzdHJpbmc5NDY7c3RyaW5nOTQ3O3N0cmluZzk0ODtzdHJpbmc5NDk7c3RyaW5nOTUwO3N0cmluZzk1MTtzdHJpbmc5NTI7c3RyaW5nOTUzO3N0cmluZzk1NDtzdHJpbmc5NTU7c3RyaW5nOTU2O3N0cmluZzk1NztzdHJpbmc5NTg7c3RyaW5nOTU5O3N0cmluZzk2MDtzdHJpbmc5NjE7c3RyaW5nOTYyO3N0cmluZzk2MztzdHJpbmc5NjQ7c3RyaW5nOTY1O3N0cmluZzk2NjtzdHJpbmc5Njc7c3RyaW5nOTY4O3N0cmluZzk2OTtzdHJpbmc5NzA7c3RyaW5nOTcxO3N0cmluZzk3MjtzdHJpbmc5NzM7c3RyaW5nOTc0O3N0cmluZzk3NTtzdHJpbmc5NzY7c3RyaW5nOTc3O3N0cmluZzk3ODtzdHJpbmc5Nzk7c3RyaW5nOTgwO3N0cmluZzk4MTtzdHJpbmc5ODI7c3RyaW5nOTgzO3N0cmluZzk4NDtzdHJpbmc5ODU7c3RyaW5nOTg2O3N0cmluZzk4NztzdHJpbmc5ODg7c3RyaW5nOTg5O3N0cmluZzk5MDtzdHJpbmc5OTE7c3RyaW5nOTkyO3N0cmluZzk5MztzdHJpbmc5OTQ7c3RyaW5nOTk1O3N0cmluZzk5NjtzdHJpbmc5OTc7c3RyaW5nOTk4O3N0cmluZzk5OQorc3RhcnQ7aW5nMDtpbmcxO2luZzI7aW5nMztpbmc0O2luZzU7aW5nNjtpbmc3O2luZzg7aW5nOTtpbmcxMDtpbmcxMTtpbmcxMjtpbmcxMztpbmcxNDtpbmcxNTtpbmcxNjtpbmcxNztpbmcxODtpbmcxOTtpbmcyMDtpbmcyMTtpbmcyMjtpbmcyMztpbmcyNDtpbmcyNTtpbmcyNjtpbmcyNztpbmcyODtpbmcyOTtpbmczMDtpbmczMTtpbmczMjtpbmczMztpbmczNDtpbmczNTtpbmczNjtpbmczNztpbmczODtpbmczOTtpbmc0MDtpbmc0MTtpbmc0Mjtpbmc0Mztpbmc0NDtpbmc0NTtpbmc0Njtpbmc0Nztpbmc0ODtpbmc0OTtpbmc1MDtpbmc1MTtpbmc1Mjtpbmc1Mztpbmc1NDtpbmc1NTtpbmc1Njtpbmc1Nztpbmc1ODtpbmc1OTtpbmc2MDtpbmc2MTtpbmc2Mjtpbmc2Mztpbmc2NDtpbmc2NTtpbmc2Njtpbmc2Nztpbmc2ODtpbmc2OTtpbmc3MDtpbmc3MTtpbmc3Mjtpbmc3Mztpbmc3NDtpbmc3NTtpbmc3Njtpbmc3Nztpbmc3ODtpbmc3OTtpbmc4MDtpbmc4MTtpbmc4Mjtpbmc4Mztpbmc4NDtpbmc4NTtpbmc4Njtpbmc4Nztpbmc4ODtpbmc4OTtpbmc5MDtpbmc5MTtpbmc5Mjtpbmc5Mztpbmc5NDtpbmc5NTtpbmc5Njtpbmc5Nztpbmc5ODtpbmc5OTtpbmcxMDA7aW5nMTAxO2luZzEwMjtpbmcxMDM7aW5nMTA0O2luZzEwNTtpbmcxMDY7aW5nMTA3O2luZzEwODtpbmcxMDk7aW5nMTEwO2luZzExMTtpbmcxMTI7aW5nMTEzO2luZzExNDtpbmcxMTU7aW5nMTE2O2luZzExNztpbmcxMTg7aW5nMTE5O2luZzEyMDtpbmcxMjE7aW5nMTIyO2luZzEyMztpbmcxMjQ7aW5nMTI1O2luZzEyNjtpbmcxMjc7aW5nMTI4O2luZzEyOTtpbmcxMzA7aW5nMTMxO2luZzEzMjtpbmcxMzM7aW5nMTM0O2luZzEzNTtpbmcxMzY7aW5nMTM3O2luZzEzODtpbmcxMzk7aW5nMTQwO2luZzE0MTtpbmcxNDI7aW5nMTQzO2luZzE0NDtpbmcxNDU7aW5nMTQ2O2luZzE0NztpbmcxNDg7aW5nMTQ5O2luZzE1MDtpbmcxNTE7aW5nMTUyO2luZzE1MztpbmcxNTQ7aW5nMTU1O2luZzE1NjtpbmcxNTc7aW5nMTU4O2luZzE1OTtpbmcxNjA7aW5nMTYxO2luZzE2MjtpbmcxNjM7aW5nMTY0O2luZzE2NTtpbmcxNjY7aW5nMTY3O2luZzE2ODtpbmcxNjk7aW5nMTcwO2luZzE3MTtpbmcxNzI7aW5nMTczO2luZzE3NDtpbmcxNzU7aW5nMTc2O2luZzE3NztpbmcxNzg7aW5nMTc5O2luZzE4MDtpbmcxODE7aW5nMTgyO2luZzE4MztpbmcxODQ7aW5nMTg1O2luZzE4NjtpbmcxODc7aW5nMTg4O2luZzE4OTtpbmcxOTA7aW5nMTkxO2luZzE5MjtpbmcxOTM7aW5nMTk0O2luZzE5NTtpbmcxOTY7aW5nMTk3O2luZzE5ODtpbmcxOTk7aW5nMjAwO2luZzIwMTtpbmcyMDI7aW5nMjAzO2luZzIwNDtpbmcyMDU7aW5nMjA2O2luZzIwNztpbmcyMDg7aW5nMjA5O2luZzIxMDtpbmcyMTE7aW5nMjEyO2luZzIxMztpbmcyMTQ7aW5nMjE1O2luZzIxNjtpbmcyMTc7aW5nMjE4O2luZzIxOTtpbmcyMjA7aW5nMjIxO2luZzIyMjtpbmcyMjM7aW5nMjI0O2luZzIyNTtpbmcyMjY7aW5nMjI3O2luZzIyODtpbmcyMjk7aW5nMjMwO2luZzIzMTtpbmcyMzI7aW5nMjMzO2luZzIzNDtpbmcyMzU7aW5nMjM2O2luZzIzNztpbmcyMzg7aW5nMjM5O2luZzI0MDtpbmcyNDE7aW5nMjQyO2luZzI0MztpbmcyNDQ7aW5nMjQ1O2luZzI0NjtpbmcyNDc7aW5nMjQ4O2luZzI0OTtpbmcyNTA7aW5nMjUxO2luZzI1MjtpbmcyNTM7aW5nMjU0O2luZzI1NTtpbmcyNTY7aW5nMjU3O2luZzI1ODtpbmcyNTk7aW5nMjYwO2luZzI2MTtpbmcyNjI7aW5nMjYzO2luZzI2NDtpbmcyNjU7aW5nMjY2O2luZzI2NztpbmcyNjg7aW5nMjY5O2luZzI3MDtpbmcyNzE7aW5nMjcyO2luZzI3MztpbmcyNzQ7aW5nMjc1O2luZzI3NjtpbmcyNzc7aW5nMjc4O2luZzI3OTtpbmcyODA7aW5nMjgxO2luZzI4MjtpbmcyODM7aW5nMjg0O2luZzI4NTtpbmcyODY7aW5nMjg3O2luZzI4ODtpbmcyODk7aW5nMjkwO2luZzI5MTtpbmcyOTI7aW5nMjkzO2luZzI5NDtpbmcyOTU7aW5nMjk2O2luZzI5NztpbmcyOTg7aW5nMjk5O2luZzMwMDtpbmczMDE7aW5nMzAyO2luZzMwMztpbmczMDQ7aW5nMzA1O2luZzMwNjtpbmczMDc7aW5nMzA4O2luZzMwOTtpbmczMTA7aW5nMzExO2luZzMxMjtpbmczMTM7aW5nMzE0O2luZzMxNTtpbmczMTY7aW5nMzE3O2luZzMxODtpbmczMTk7aW5nMzIwO2luZzMyMTtpbmczMjI7aW5nMzIzO2luZzMyNDtpbmczMjU7aW5nMzI2O2luZzMyNztpbmczMjg7aW5nMzI5O2luZzMzMDtpbmczMzE7aW5nMzMyO2luZzMzMztpbmczMzQ7aW5nMzM1O2luZzMzNjtpbmczMzc7aW5nMzM4O2luZzMzOTtpbmczNDA7aW5nMzQxO2luZzM0MjtpbmczNDM7aW5nMzQ0O2luZzM0NTtpbmczNDY7aW5nMzQ3O2luZzM0ODtpbmczNDk7aW5nMzUwO2luZzM1MTtpbmczNTI7aW5nMzUzO2luZzM1NDtpbmczNTU7aW5nMzU2O2luZzM1NztpbmczNTg7aW5nMzU5O2luZzM2MDtpbmczNjE7aW5nMzYyO2luZzM2MztpbmczNjQ7aW5nMzY1O2luZzM2NjtpbmczNjc7aW5nMzY4O2luZzM2OTtpbmczNzA7aW5nMzcxO2luZzM3MjtpbmczNzM7aW5nMzc0O2luZzM3NTtpbmczNzY7aW5nMzc3O2luZzM3ODtpbmczNzk7aW5nMzgwO2luZzM4MTtpbmczODI7aW5nMzgzO2luZzM4NDtpbmczODU7aW5nMzg2O2luZzM4NztpbmczODg7aW5nMzg5O2luZzM5MDtpbmczOTE7aW5nMzkyO2luZzM5MztpbmczOTQ7aW5nMzk1O2luZzM5NjtpbmczOTc7aW5nMzk4O2luZzM5OTtpbmc0MDA7aW5nNDAxO2luZzQwMjtpbmc0MDM7aW5nNDA0O2luZzQwNTtpbmc0MDY7aW5nNDA3O2luZzQwODtpbmc0MDk7aW5nNDEwO2luZzQxMTtpbmc0MTI7aW5nNDEzO2luZzQxNDtpbmc0MTU7aW5nNDE2O2luZzQxNztpbmc0MTg7aW5nNDE5O2luZzQyMDtpbmc0MjE7aW5nNDIyO2luZzQyMztpbmc0MjQ7aW5nNDI1O2luZzQyNjtpbmc0Mjc7aW5nNDI4O2luZzQyOTtpbmc0MzA7aW5nNDMxO2luZzQzMjtpbmc0MzM7aW5nNDM0O2luZzQzNTtpbmc0MzY7aW5nNDM3O2luZzQzODtpbmc0Mzk7aW5nNDQwO2luZzQ0MTtpbmc0NDI7aW5nNDQzO2luZzQ0NDtpbmc0NDU7aW5nNDQ2O2luZzQ0Nztpbmc0NDg7aW5nNDQ5O2luZzQ1MDtpbmc0NTE7aW5nNDUyO2luZzQ1Mztpbmc0NTQ7aW5nNDU1O2luZzQ1Njtpbmc0NTc7aW5nNDU4O2luZzQ1OTtpbmc0NjA7aW5nNDYxO2luZzQ2Mjtpbmc0NjM7aW5nNDY0O2luZzQ2NTtpbmc0NjY7aW5nNDY3O2luZzQ2ODtpbmc0Njk7aW5nNDcwO2luZzQ3MTtpbmc0NzI7aW5nNDczO2luZzQ3NDtpbmc0NzU7aW5nNDc2O2luZzQ3Nztpbmc0Nzg7aW5nNDc5O2luZzQ4MDtpbmc0ODE7aW5nNDgyO2luZzQ4Mztpbmc0ODQ7aW5nNDg1O2luZzQ4Njtpbmc0ODc7aW5nNDg4O2luZzQ4OTtpbmc0OTA7aW5nNDkxO2luZzQ5Mjtpbmc0OTM7aW5nNDk0O2luZzQ5NTtpbmc0OTY7aW5nNDk3O2luZzQ5ODtpbmc0OTk7aW5nNTAwO2luZzUwMTtpbmc1MDI7aW5nNTAzO2luZzUwNDtpbmc1MDU7aW5nNTA2O2luZzUwNztpbmc1MDg7aW5nNTA5O2luZzUxMDtpbmc1MTE7aW5nNTEyO2luZzUxMztpbmc1MTQ7aW5nNTE1O2luZzUxNjtpbmc1MTc7aW5nNTE4O2luZzUxOTtpbmc1MjA7aW5nNTIxO2luZzUyMjtpbmc1MjM7aW5nNTI0O2luZzUyNTtpbmc1MjY7aW5nNTI3O2luZzUyODtpbmc1Mjk7aW5nNTMwO2luZzUzMTtpbmc1MzI7aW5nNTMzO2luZzUzNDtpbmc1MzU7aW5nNTM2O2luZzUzNztpbmc1Mzg7aW5nNTM5O2luZzU0MDtpbmc1NDE7aW5nNTQyO2luZzU0Mztpbmc1NDQ7aW5nNTQ1O2luZzU0Njtpbmc1NDc7aW5nNTQ4O2luZzU0OTtpbmc1NTA7aW5nNTUxO2luZzU1Mjtpbmc1NTM7aW5nNTU0O2luZzU1NTtpbmc1NTY7aW5nNTU3O2luZzU1ODtpbmc1NTk7aW5nNTYwO2luZzU2MTtpbmc1NjI7aW5nNTYzO2luZzU2NDtpbmc1NjU7aW5nNTY2O2luZzU2Nztpbmc1Njg7aW5nNTY5O2luZzU3MDtpbmc1NzE7aW5nNTcyO2luZzU3Mztpbmc1NzQ7aW5nNTc1O2luZzU3Njtpbmc1Nzc7aW5nNTc4O2luZzU3OTtpbmc1ODA7aW5nNTgxO2luZzU4Mjtpbmc1ODM7aW5nNTg0O2luZzU4NTtpbmc1ODY7aW5nNTg3O2luZzU4ODtpbmc1ODk7aW5nNTkwO2luZzU5MTtpbmc1OTI7aW5nNTkzO2luZzU5NDtpbmc1OTU7aW5nNTk2O2luZzU5Nztpbmc1OTg7aW5nNTk5O2luZzYwMDtpbmc2MDE7aW5nNjAyO2luZzYwMztpbmc2MDQ7aW5nNjA1O2luZzYwNjtpbmc2MDc7aW5nNjA4O2luZzYwOTtpbmc2MTA7aW5nNjExO2luZzYxMjtpbmc2MTM7aW5nNjE0O2luZzYxNTtpbmc2MTY7aW5nNjE3O2luZzYxODtpbmc2MTk7aW5nNjIwO2luZzYyMTtpbmc2MjI7aW5nNjIzO2luZzYyNDtpbmc2MjU7aW5nNjI2O2luZzYyNztpbmc2Mjg7aW5nNjI5O2luZzYzMDtpbmc2MzE7aW5nNjMyO2luZzYzMztpbmc2MzQ7aW5nNjM1O2luZzYzNjtpbmc2Mzc7aW5nNjM4O2luZzYzOTtpbmc2NDA7aW5nNjQxO2luZzY0Mjtpbmc2NDM7aW5nNjQ0O2luZzY0NTtpbmc2NDY7aW5nNjQ3O2luZzY0ODtpbmc2NDk7aW5nNjUwO2luZzY1MTtpbmc2NTI7aW5nNjUzO2luZzY1NDtpbmc2NTU7aW5nNjU2O2luZzY1Nztpbmc2NTg7aW5nNjU5O2luZzY2MDtpbmc2NjE7aW5nNjYyO2luZzY2Mztpbmc2NjQ7aW5nNjY1O2luZzY2Njtpbmc2Njc7aW5nNjY4O2luZzY2OTtpbmc2NzA7aW5nNjcxO2luZzY3Mjtpbmc2NzM7aW5nNjc0O2luZzY3NTtpbmc2NzY7aW5nNjc3O2luZzY3ODtpbmc2Nzk7aW5nNjgwO2luZzY4MTtpbmc2ODI7aW5nNjgzO2luZzY4NDtpbmc2ODU7aW5nNjg2O2luZzY4Nztpbmc2ODg7aW5nNjg5O2luZzY5MDtpbmc2OTE7aW5nNjkyO2luZzY5Mztpbmc2OTQ7aW5nNjk1O2luZzY5Njtpbmc2OTc7aW5nNjk4O2luZzY5OTtpbmc3MDA7aW5nNzAxO2luZzcwMjtpbmc3MDM7aW5nNzA0O2luZzcwNTtpbmc3MDY7aW5nNzA3O2luZzcwODtpbmc3MDk7aW5nNzEwO2luZzcxMTtpbmc3MTI7aW5nNzEzO2luZzcxNDtpbmc3MTU7aW5nNzE2O2luZzcxNztpbmc3MTg7aW5nNzE5O2luZzcyMDtpbmc3MjE7aW5nNzIyO2luZzcyMztpbmc3MjQ7aW5nNzI1O2luZzcyNjtpbmc3Mjc7aW5nNzI4O2luZzcyOTtpbmc3MzA7aW5nNzMxO2luZzczMjtpbmc3MzM7aW5nNzM0O2luZzczNTtpbmc3MzY7aW5nNzM3O2luZzczODtpbmc3Mzk7aW5nNzQwO2luZzc0MTtpbmc3NDI7aW5nNzQzO2luZzc0NDtpbmc3NDU7aW5nNzQ2O2luZzc0Nztpbmc3NDg7aW5nNzQ5O2luZzc1MDtpbmc3NTE7aW5nNzUyO2luZzc1Mztpbmc3NTQ7aW5nNzU1O2luZzc1Njtpbmc3NTc7aW5nNzU4O2luZzc1OTtpbmc3NjA7aW5nNzYxO2luZzc2Mjtpbmc3NjM7aW5nNzY0O2luZzc2NTtpbmc3NjY7aW5nNzY3O2luZzc2ODtpbmc3Njk7aW5nNzcwO2luZzc3MTtpbmc3NzI7aW5nNzczO2luZzc3NDtpbmc3NzU7aW5nNzc2O2luZzc3Nztpbmc3Nzg7aW5nNzc5O2luZzc4MDtpbmc3ODE7aW5nNzgyO2luZzc4Mztpbmc3ODQ7aW5nNzg1O2luZzc4Njtpbmc3ODc7aW5nNzg4O2luZzc4OTtpbmc3OTA7aW5nNzkxO2luZzc5Mjtpbmc3OTM7aW5nNzk0O2luZzc5NTtpbmc3OTY7aW5nNzk3O2luZzc5ODtpbmc3OTk7aW5nODAwO2luZzgwMTtpbmc4MDI7aW5nODAzO2luZzgwNDtpbmc4MDU7aW5nODA2O2luZzgwNztpbmc4MDg7aW5nODA5O2luZzgxMDtpbmc4MTE7aW5nODEyO2luZzgxMztpbmc4MTQ7aW5nODE1O2luZzgxNjtpbmc4MTc7aW5nODE4O2luZzgxOTtpbmc4MjA7aW5nODIxO2luZzgyMjtpbmc4MjM7aW5nODI0O2luZzgyNTtpbmc4MjY7aW5nODI3O2luZzgyODtpbmc4Mjk7aW5nODMwO2luZzgzMTtpbmc4MzI7aW5nODMzO2luZzgzNDtpbmc4MzU7aW5nODM2O2luZzgzNztpbmc4Mzg7aW5nODM5O2luZzg0MDtpbmc4NDE7aW5nODQyO2luZzg0Mztpbmc4NDQ7aW5nODQ1O2luZzg0Njtpbmc4NDc7aW5nODQ4O2luZzg0OTtpbmc4NTA7aW5nODUxO2luZzg1Mjtpbmc4NTM7aW5nODU0O2luZzg1NTtpbmc4NTY7aW5nODU3O2luZzg1ODtpbmc4NTk7aW5nODYwO2luZzg2MTtpbmc4NjI7aW5nODYzO2luZzg2NDtpbmc4NjU7aW5nODY2O2luZzg2Nztpbmc4Njg7aW5nODY5O2luZzg3MDtpbmc4NzE7aW5nODcyO2luZzg3Mztpbmc4NzQ7aW5nODc1O2luZzg3Njtpbmc4Nzc7aW5nODc4O2luZzg3OTtpbmc4ODA7aW5nODgxO2luZzg4Mjtpbmc4ODM7aW5nODg0O2luZzg4NTtpbmc4ODY7aW5nODg3O2luZzg4ODtpbmc4ODk7aW5nODkwO2luZzg5MTtpbmc4OTI7aW5nODkzO2luZzg5NDtpbmc4OTU7aW5nODk2O2luZzg5Nztpbmc4OTg7aW5nODk5O2luZzkwMDtpbmc5MDE7aW5nOTAyO2luZzkwMztpbmc5MDQ7aW5nOTA1O2luZzkwNjtpbmc5MDc7aW5nOTA4O2luZzkwOTtpbmc5MTA7aW5nOTExO2luZzkxMjtpbmc5MTM7aW5nOTE0O2luZzkxNTtpbmc5MTY7aW5nOTE3O2luZzkxODtpbmc5MTk7aW5nOTIwO2luZzkyMTtpbmc5MjI7aW5nOTIzO2luZzkyNDtpbmc5MjU7aW5nOTI2O2luZzkyNztpbmc5Mjg7aW5nOTI5O2luZzkzMDtpbmc5MzE7aW5nOTMyO2luZzkzMztpbmc5MzQ7aW5nOTM1O2luZzkzNjtpbmc5Mzc7aW5nOTM4O2luZzkzOTtpbmc5NDA7aW5nOTQxO2luZzk0Mjtpbmc5NDM7aW5nOTQ0O2luZzk0NTtpbmc5NDY7aW5nOTQ3O2luZzk0ODtpbmc5NDk7aW5nOTUwO2luZzk1MTtpbmc5NTI7aW5nOTUzO2luZzk1NDtpbmc5NTU7aW5nOTU2O2luZzk1Nztpbmc5NTg7aW5nOTU5O2luZzk2MDtpbmc5NjE7aW5nOTYyO2luZzk2Mztpbmc5NjQ7aW5nOTY1O2luZzk2Njtpbmc5Njc7aW5nOTY4O2luZzk2OTtpbmc5NzA7aW5nOTcxO2luZzk3Mjtpbmc5NzM7aW5nOTc0O2luZzk3NTtpbmc5NzY7aW5nOTc3O2luZzk3ODtpbmc5Nzk7aW5nOTgwO2luZzk4MTtpbmc5ODI7aW5nOTgzO2luZzk4NDtpbmc5ODU7aW5nOTg2O2luZzk4Nztpbmc5ODg7aW5nOTg5O2luZzk5MDtpbmc5OTE7aW5nOTkyO2luZzk5Mztpbmc5OTQ7aW5nOTk1O2luZzk5Njtpbmc5OTc7aW5nOTk4O2luZzk5OQorc3RhcnQ7c3RyaW5nMDtzdHJpbmcxO3N0cmluZzI7c3RyaW5nMztzdHJpbmc0O3N0cmluZzU7c3RyaW5nNjtzdHJpbmc3O3N0cmluZzg7c3RyaW5nOTtzdHJpbmcxMDtzdHJpbmcxMTtzdHJpbmcxMjtzdHJpbmcxMztzdHJpbmcxNDtzdHJpbmcxNTtzdHJpbmcxNjtzdHJpbmcxNztzdHJpbmcxODtzdHJpbmcxOTtzdHJpbmcyMDtzdHJpbmcyMTtzdHJpbmcyMjtzdHJpbmcyMztzdHJpbmcyNDtzdHJpbmcyNTtzdHJpbmcyNjtzdHJpbmcyNztzdHJpbmcyODtzdHJpbmcyOTtzdHJpbmczMDtzdHJpbmczMTtzdHJpbmczMjtzdHJpbmczMztzdHJpbmczNDtzdHJpbmczNTtzdHJpbmczNjtzdHJpbmczNztzdHJpbmczODtzdHJpbmczOTtzdHJpbmc0MDtzdHJpbmc0MTtzdHJpbmc0MjtzdHJpbmc0MztzdHJpbmc0NDtzdHJpbmc0NTtzdHJpbmc0NjtzdHJpbmc0NztzdHJpbmc0ODtzdHJpbmc0OTtzdHJpbmc1MDtzdHJpbmc1MTtzdHJpbmc1MjtzdHJpbmc1MztzdHJpbmc1NDtzdHJpbmc1NTtzdHJpbmc1NjtzdHJpbmc1NztzdHJpbmc1ODtzdHJpbmc1OTtzdHJpbmc2MDtzdHJpbmc2MTtzdHJpbmc2MjtzdHJpbmc2MztzdHJpbmc2NDtzdHJpbmc2NTtzdHJpbmc2NjtzdHJpbmc2NztzdHJpbmc2ODtzdHJpbmc2OTtzdHJpbmc3MDtzdHJpbmc3MTtzdHJpbmc3MjtzdHJpbmc3MztzdHJpbmc3NDtzdHJpbmc3NTtzdHJpbmc3NjtzdHJpbmc3NztzdHJpbmc3ODtzdHJpbmc3OTtzdHJpbmc4MDtzdHJpbmc4MTtzdHJpbmc4MjtzdHJpbmc4MztzdHJpbmc4NDtzdHJpbmc4NTtzdHJpbmc4NjtzdHJpbmc4NztzdHJpbmc4ODtzdHJpbmc4OTtzdHJpbmc5MDtzdHJpbmc5MTtzdHJpbmc5MjtzdHJpbmc5MztzdHJpbmc5NDtzdHJpbmc5NTtzdHJpbmc5NjtzdHJpbmc5NztzdHJpbmc5ODtzdHJpbmc5OTtzdHJpbmcxMDA7c3RyaW5nMTAxO3N0cmluZzEwMjtzdHJpbmcxMDM7c3RyaW5nMTA0O3N0cmluZzEwNTtzdHJpbmcxMDY7c3RyaW5nMTA3O3N0cmluZzEwODtzdHJpbmcxMDk7c3RyaW5nMTEwO3N0cmluZzExMTtzdHJpbmcxMTI7c3RyaW5nMTEzO3N0cmluZzExNDtzdHJpbmcxMTU7c3RyaW5nMTE2O3N0cmluZzExNztzdHJpbmcxMTg7c3RyaW5nMTE5O3N0cmluZzEyMDtzdHJpbmcxMjE7c3RyaW5nMTIyO3N0cmluZzEyMztzdHJpbmcxMjQ7c3RyaW5nMTI1O3N0cmluZzEyNjtzdHJpbmcxMjc7c3RyaW5nMTI4O3N0cmluZzEyOTtzdHJpbmcxMzA7c3RyaW5nMTMxO3N0cmluZzEzMjtzdHJpbmcxMzM7c3RyaW5nMTM0O3N0cmluZzEzNTtzdHJpbmcxMzY7c3RyaW5nMTM3O3N0cmluZzEzODtzdHJpbmcxMzk7c3RyaW5nMTQwO3N0cmluZzE0MTtzdHJpbmcxNDI7c3RyaW5nMTQzO3N0cmluZzE0NDtzdHJpbmcxNDU7c3RyaW5nMTQ2O3N0cmluZzE0NztzdHJpbmcxNDg7c3RyaW5nMTQ5O3N0cmluZzE1MDtzdHJpbmcxNTE7c3RyaW5nMTUyO3N0cmluZzE1MztzdHJpbmcxNTQ7c3RyaW5nMTU1O3N0cmluZzE1NjtzdHJpbmcxNTc7c3RyaW5nMTU4O3N0cmluZzE1OTtzdHJpbmcxNjA7c3RyaW5nMTYxO3N0cmluZzE2MjtzdHJpbmcxNjM7c3RyaW5nMTY0O3N0cmluZzE2NTtzdHJpbmcxNjY7c3RyaW5nMTY3O3N0cmluZzE2ODtzdHJpbmcxNjk7c3RyaW5nMTcwO3N0cmluZzE3MTtzdHJpbmcxNzI7c3RyaW5nMTczO3N0cmluZzE3NDtzdHJpbmcxNzU7c3RyaW5nMTc2O3N0cmluZzE3NztzdHJpbmcxNzg7c3RyaW5nMTc5O3N0cmluZzE4MDtzdHJpbmcxODE7c3RyaW5nMTgyO3N0cmluZzE4MztzdHJpbmcxODQ7c3RyaW5nMTg1O3N0cmluZzE4NjtzdHJpbmcxODc7c3RyaW5nMTg4O3N0cmluZzE4OTtzdHJpbmcxOTA7c3RyaW5nMTkxO3N0cmluZzE5MjtzdHJpbmcxOTM7c3RyaW5nMTk0O3N0cmluZzE5NTtzdHJpbmcxOTY7c3RyaW5nMTk3O3N0cmluZzE5ODtzdHJpbmcxOTk7c3RyaW5nMjAwO3N0cmluZzIwMTtzdHJpbmcyMDI7c3RyaW5nMjAzO3N0cmluZzIwNDtzdHJpbmcyMDU7c3RyaW5nMjA2O3N0cmluZzIwNztzdHJpbmcyMDg7c3RyaW5nMjA5O3N0cmluZzIxMDtzdHJpbmcyMTE7c3RyaW5nMjEyO3N0cmluZzIxMztzdHJpbmcyMTQ7c3RyaW5nMjE1O3N0cmluZzIxNjtzdHJpbmcyMTc7c3RyaW5nMjE4O3N0cmluZzIxOTtzdHJpbmcyMjA7c3RyaW5nMjIxO3N0cmluZzIyMjtzdHJpbmcyMjM7c3RyaW5nMjI0O3N0cmluZzIyNTtzdHJpbmcyMjY7c3RyaW5nMjI3O3N0cmluZzIyODtzdHJpbmcyMjk7c3RyaW5nMjMwO3N0cmluZzIzMTtzdHJpbmcyMzI7c3RyaW5nMjMzO3N0cmluZzIzNDtzdHJpbmcyMzU7c3RyaW5nMjM2O3N0cmluZzIzNztzdHJpbmcyMzg7c3RyaW5nMjM5O3N0cmluZzI0MDtzdHJpbmcyNDE7c3RyaW5nMjQyO3N0cmluZzI0MztzdHJpbmcyNDQ7c3RyaW5nMjQ1O3N0cmluZzI0NjtzdHJpbmcyNDc7c3RyaW5nMjQ4O3N0cmluZzI0OTtzdHJpbmcyNTA7c3RyaW5nMjUxO3N0cmluZzI1MjtzdHJpbmcyNTM7c3RyaW5nMjU0O3N0cmluZzI1NTtzdHJpbmcyNTY7c3RyaW5nMjU3O3N0cmluZzI1ODtzdHJpbmcyNTk7c3RyaW5nMjYwO3N0cmluZzI2MTtzdHJpbmcyNjI7c3RyaW5nMjYzO3N0cmluZzI2NDtzdHJpbmcyNjU7c3RyaW5nMjY2O3N0cmluZzI2NztzdHJpbmcyNjg7c3RyaW5nMjY5O3N0cmluZzI3MDtzdHJpbmcyNzE7c3RyaW5nMjcyO3N0cmluZzI3MztzdHJpbmcyNzQ7c3RyaW5nMjc1O3N0cmluZzI3NjtzdHJpbmcyNzc7c3RyaW5nMjc4O3N0cmluZzI3OTtzdHJpbmcyODA7c3RyaW5nMjgxO3N0cmluZzI4MjtzdHJpbmcyODM7c3RyaW5nMjg0O3N0cmluZzI4NTtzdHJpbmcyODY7c3RyaW5nMjg3O3N0cmluZzI4ODtzdHJpbmcyODk7c3RyaW5nMjkwO3N0cmluZzI5MTtzdHJpbmcyOTI7c3RyaW5nMjkzO3N0cmluZzI5NDtzdHJpbmcyOTU7c3RyaW5nMjk2O3N0cmluZzI5NztzdHJpbmcyOTg7c3RyaW5nMjk5O3N0cmluZzMwMDtzdHJpbmczMDE7c3RyaW5nMzAyO3N0cmluZzMwMztzdHJpbmczMDQ7c3RyaW5nMzA1O3N0cmluZzMwNjtzdHJpbmczMDc7c3RyaW5nMzA4O3N0cmluZzMwOTtzdHJpbmczMTA7c3RyaW5nMzExO3N0cmluZzMxMjtzdHJpbmczMTM7c3RyaW5nMzE0O3N0cmluZzMxNTtzdHJpbmczMTY7c3RyaW5nMzE3O3N0cmluZzMxODtzdHJpbmczMTk7c3RyaW5nMzIwO3N0cmluZzMyMTtzdHJpbmczMjI7c3RyaW5nMzIzO3N0cmluZzMyNDtzdHJpbmczMjU7c3RyaW5nMzI2O3N0cmluZzMyNztzdHJpbmczMjg7c3RyaW5nMzI5O3N0cmluZzMzMDtzdHJpbmczMzE7c3RyaW5nMzMyO3N0cmluZzMzMztzdHJpbmczMzQ7c3RyaW5nMzM1O3N0cmluZzMzNjtzdHJpbmczMzc7c3RyaW5nMzM4O3N0cmluZzMzOTtzdHJpbmczNDA7c3RyaW5nMzQxO3N0cmluZzM0MjtzdHJpbmczNDM7c3RyaW5nMzQ0O3N0cmluZzM0NTtzdHJpbmczNDY7c3RyaW5nMzQ3O3N0cmluZzM0ODtzdHJpbmczNDk7c3RyaW5nMzUwO3N0cmluZzM1MTtzdHJpbmczNTI7c3RyaW5nMzUzO3N0cmluZzM1NDtzdHJpbmczNTU7c3RyaW5nMzU2O3N0cmluZzM1NztzdHJpbmczNTg7c3RyaW5nMzU5O3N0cmluZzM2MDtzdHJpbmczNjE7c3RyaW5nMzYyO3N0cmluZzM2MztzdHJpbmczNjQ7c3RyaW5nMzY1O3N0cmluZzM2NjtzdHJpbmczNjc7c3RyaW5nMzY4O3N0cmluZzM2OTtzdHJpbmczNzA7c3RyaW5nMzcxO3N0cmluZzM3MjtzdHJpbmczNzM7c3RyaW5nMzc0O3N0cmluZzM3NTtzdHJpbmczNzY7c3RyaW5nMzc3O3N0cmluZzM3ODtzdHJpbmczNzk7c3RyaW5nMzgwO3N0cmluZzM4MTtzdHJpbmczODI7c3RyaW5nMzgzO3N0cmluZzM4NDtzdHJpbmczODU7c3RyaW5nMzg2O3N0cmluZzM4NztzdHJpbmczODg7c3RyaW5nMzg5O3N0cmluZzM5MDtzdHJpbmczOTE7c3RyaW5nMzkyO3N0cmluZzM5MztzdHJpbmczOTQ7c3RyaW5nMzk1O3N0cmluZzM5NjtzdHJpbmczOTc7c3RyaW5nMzk4O3N0cmluZzM5OTtzdHJpbmc0MDA7c3RyaW5nNDAxO3N0cmluZzQwMjtzdHJpbmc0MDM7c3RyaW5nNDA0O3N0cmluZzQwNTtzdHJpbmc0MDY7c3RyaW5nNDA3O3N0cmluZzQwODtzdHJpbmc0MDk7c3RyaW5nNDEwO3N0cmluZzQxMTtzdHJpbmc0MTI7c3RyaW5nNDEzO3N0cmluZzQxNDtzdHJpbmc0MTU7c3RyaW5nNDE2O3N0cmluZzQxNztzdHJpbmc0MTg7c3RyaW5nNDE5O3N0cmluZzQyMDtzdHJpbmc0MjE7c3RyaW5nNDIyO3N0cmluZzQyMztzdHJpbmc0MjQ7c3RyaW5nNDI1O3N0cmluZzQyNjtzdHJpbmc0Mjc7c3RyaW5nNDI4O3N0cmluZzQyOTtzdHJpbmc0MzA7c3RyaW5nNDMxO3N0cmluZzQzMjtzdHJpbmc0MzM7c3RyaW5nNDM0O3N0cmluZzQzNTtzdHJpbmc0MzY7c3RyaW5nNDM3O3N0cmluZzQzODtzdHJpbmc0Mzk7c3RyaW5nNDQwO3N0cmluZzQ0MTtzdHJpbmc0NDI7c3RyaW5nNDQzO3N0cmluZzQ0NDtzdHJpbmc0NDU7c3RyaW5nNDQ2O3N0cmluZzQ0NztzdHJpbmc0NDg7c3RyaW5nNDQ5O3N0cmluZzQ1MDtzdHJpbmc0NTE7c3RyaW5nNDUyO3N0cmluZzQ1MztzdHJpbmc0NTQ7c3RyaW5nNDU1O3N0cmluZzQ1NjtzdHJpbmc0NTc7c3RyaW5nNDU4O3N0cmluZzQ1OTtzdHJpbmc0NjA7c3RyaW5nNDYxO3N0cmluZzQ2MjtzdHJpbmc0NjM7c3RyaW5nNDY0O3N0cmluZzQ2NTtzdHJpbmc0NjY7c3RyaW5nNDY3O3N0cmluZzQ2ODtzdHJpbmc0Njk7c3RyaW5nNDcwO3N0cmluZzQ3MTtzdHJpbmc0NzI7c3RyaW5nNDczO3N0cmluZzQ3NDtzdHJpbmc0NzU7c3RyaW5nNDc2O3N0cmluZzQ3NztzdHJpbmc0Nzg7c3RyaW5nNDc5O3N0cmluZzQ4MDtzdHJpbmc0ODE7c3RyaW5nNDgyO3N0cmluZzQ4MztzdHJpbmc0ODQ7c3RyaW5nNDg1O3N0cmluZzQ4NjtzdHJpbmc0ODc7c3RyaW5nNDg4O3N0cmluZzQ4OTtzdHJpbmc0OTA7c3RyaW5nNDkxO3N0cmluZzQ5MjtzdHJpbmc0OTM7c3RyaW5nNDk0O3N0cmluZzQ5NTtzdHJpbmc0OTY7c3RyaW5nNDk3O3N0cmluZzQ5ODtzdHJpbmc0OTk7c3RyaW5nNTAwO3N0cmluZzUwMTtzdHJpbmc1MDI7c3RyaW5nNTAzO3N0cmluZzUwNDtzdHJpbmc1MDU7c3RyaW5nNTA2O3N0cmluZzUwNztzdHJpbmc1MDg7c3RyaW5nNTA5O3N0cmluZzUxMDtzdHJpbmc1MTE7c3RyaW5nNTEyO3N0cmluZzUxMztzdHJpbmc1MTQ7c3RyaW5nNTE1O3N0cmluZzUxNjtzdHJpbmc1MTc7c3RyaW5nNTE4O3N0cmluZzUxOTtzdHJpbmc1MjA7c3RyaW5nNTIxO3N0cmluZzUyMjtzdHJpbmc1MjM7c3RyaW5nNTI0O3N0cmluZzUyNTtzdHJpbmc1MjY7c3RyaW5nNTI3O3N0cmluZzUyODtzdHJpbmc1Mjk7c3RyaW5nNTMwO3N0cmluZzUzMTtzdHJpbmc1MzI7c3RyaW5nNTMzO3N0cmluZzUzNDtzdHJpbmc1MzU7c3RyaW5nNTM2O3N0cmluZzUzNztzdHJpbmc1Mzg7c3RyaW5nNTM5O3N0cmluZzU0MDtzdHJpbmc1NDE7c3RyaW5nNTQyO3N0cmluZzU0MztzdHJpbmc1NDQ7c3RyaW5nNTQ1O3N0cmluZzU0NjtzdHJpbmc1NDc7c3RyaW5nNTQ4O3N0cmluZzU0OTtzdHJpbmc1NTA7c3RyaW5nNTUxO3N0cmluZzU1MjtzdHJpbmc1NTM7c3RyaW5nNTU0O3N0cmluZzU1NTtzdHJpbmc1NTY7c3RyaW5nNTU3O3N0cmluZzU1ODtzdHJpbmc1NTk7c3RyaW5nNTYwO3N0cmluZzU2MTtzdHJpbmc1NjI7c3RyaW5nNTYzO3N0cmluZzU2NDtzdHJpbmc1NjU7c3RyaW5nNTY2O3N0cmluZzU2NztzdHJpbmc1Njg7c3RyaW5nNTY5O3N0cmluZzU3MDtzdHJpbmc1NzE7c3RyaW5nNTcyO3N0cmluZzU3MztzdHJpbmc1NzQ7c3RyaW5nNTc1O3N0cmluZzU3NjtzdHJpbmc1Nzc7c3RyaW5nNTc4O3N0cmluZzU3OTtzdHJpbmc1ODA7c3RyaW5nNTgxO3N0cmluZzU4MjtzdHJpbmc1ODM7c3RyaW5nNTg0O3N0cmluZzU4NTtzdHJpbmc1ODY7c3RyaW5nNTg3O3N0cmluZzU4ODtzdHJpbmc1ODk7c3RyaW5nNTkwO3N0cmluZzU5MTtzdHJpbmc1OTI7c3RyaW5nNTkzO3N0cmluZzU5NDtzdHJpbmc1OTU7c3RyaW5nNTk2O3N0cmluZzU5NztzdHJpbmc1OTg7c3RyaW5nNTk5O3N0cmluZzYwMDtzdHJpbmc2MDE7c3RyaW5nNjAyO3N0cmluZzYwMztzdHJpbmc2MDQ7c3RyaW5nNjA1O3N0cmluZzYwNjtzdHJpbmc2MDc7c3RyaW5nNjA4O3N0cmluZzYwOTtzdHJpbmc2MTA7c3RyaW5nNjExO3N0cmluZzYxMjtzdHJpbmc2MTM7c3RyaW5nNjE0O3N0cmluZzYxNTtzdHJpbmc2MTY7c3RyaW5nNjE3O3N0cmluZzYxODtzdHJpbmc2MTk7c3RyaW5nNjIwO3N0cmluZzYyMTtzdHJpbmc2MjI7c3RyaW5nNjIzO3N0cmluZzYyNDtzdHJpbmc2MjU7c3RyaW5nNjI2O3N0cmluZzYyNztzdHJpbmc2Mjg7c3RyaW5nNjI5O3N0cmluZzYzMDtzdHJpbmc2MzE7c3RyaW5nNjMyO3N0cmluZzYzMztzdHJpbmc2MzQ7c3RyaW5nNjM1O3N0cmluZzYzNjtzdHJpbmc2Mzc7c3RyaW5nNjM4O3N0cmluZzYzOTtzdHJpbmc2NDA7c3RyaW5nNjQxO3N0cmluZzY0MjtzdHJpbmc2NDM7c3RyaW5nNjQ0O3N0cmluZzY0NTtzdHJpbmc2NDY7c3RyaW5nNjQ3O3N0cmluZzY0ODtzdHJpbmc2NDk7c3RyaW5nNjUwO3N0cmluZzY1MTtzdHJpbmc2NTI7c3RyaW5nNjUzO3N0cmluZzY1NDtzdHJpbmc2NTU7c3RyaW5nNjU2O3N0cmluZzY1NztzdHJpbmc2NTg7c3RyaW5nNjU5O3N0cmluZzY2MDtzdHJpbmc2NjE7c3RyaW5nNjYyO3N0cmluZzY2MztzdHJpbmc2NjQ7c3RyaW5nNjY1O3N0cmluZzY2NjtzdHJpbmc2Njc7c3RyaW5nNjY4O3N0cmluZzY2OTtzdHJpbmc2NzA7c3RyaW5nNjcxO3N0cmluZzY3MjtzdHJpbmc2NzM7c3RyaW5nNjc0O3N0cmluZzY3NTtzdHJpbmc2NzY7c3RyaW5nNjc3O3N0cmluZzY3ODtzdHJpbmc2Nzk7c3RyaW5nNjgwO3N0cmluZzY4MTtzdHJpbmc2ODI7c3RyaW5nNjgzO3N0cmluZzY4NDtzdHJpbmc2ODU7c3RyaW5nNjg2O3N0cmluZzY4NztzdHJpbmc2ODg7c3RyaW5nNjg5O3N0cmluZzY5MDtzdHJpbmc2OTE7c3RyaW5nNjkyO3N0cmluZzY5MztzdHJpbmc2OTQ7c3RyaW5nNjk1O3N0cmluZzY5NjtzdHJpbmc2OTc7c3RyaW5nNjk4O3N0cmluZzY5OTtzdHJpbmc3MDA7c3RyaW5nNzAxO3N0cmluZzcwMjtzdHJpbmc3MDM7c3RyaW5nNzA0O3N0cmluZzcwNTtzdHJpbmc3MDY7c3RyaW5nNzA3O3N0cmluZzcwODtzdHJpbmc3MDk7c3RyaW5nNzEwO3N0cmluZzcxMTtzdHJpbmc3MTI7c3RyaW5nNzEzO3N0cmluZzcxNDtzdHJpbmc3MTU7c3RyaW5nNzE2O3N0cmluZzcxNztzdHJpbmc3MTg7c3RyaW5nNzE5O3N0cmluZzcyMDtzdHJpbmc3MjE7c3RyaW5nNzIyO3N0cmluZzcyMztzdHJpbmc3MjQ7c3RyaW5nNzI1O3N0cmluZzcyNjtzdHJpbmc3Mjc7c3RyaW5nNzI4O3N0cmluZzcyOTtzdHJpbmc3MzA7c3RyaW5nNzMxO3N0cmluZzczMjtzdHJpbmc3MzM7c3RyaW5nNzM0O3N0cmluZzczNTtzdHJpbmc3MzY7c3RyaW5nNzM3O3N0cmluZzczODtzdHJpbmc3Mzk7c3RyaW5nNzQwO3N0cmluZzc0MTtzdHJpbmc3NDI7c3RyaW5nNzQzO3N0cmluZzc0NDtzdHJpbmc3NDU7c3RyaW5nNzQ2O3N0cmluZzc0NztzdHJpbmc3NDg7c3RyaW5nNzQ5O3N0cmluZzc1MDtzdHJpbmc3NTE7c3RyaW5nNzUyO3N0cmluZzc1MztzdHJpbmc3NTQ7c3RyaW5nNzU1O3N0cmluZzc1NjtzdHJpbmc3NTc7c3RyaW5nNzU4O3N0cmluZzc1OTtzdHJpbmc3NjA7c3RyaW5nNzYxO3N0cmluZzc2MjtzdHJpbmc3NjM7c3RyaW5nNzY0O3N0cmluZzc2NTtzdHJpbmc3NjY7c3RyaW5nNzY3O3N0cmluZzc2ODtzdHJpbmc3Njk7c3RyaW5nNzcwO3N0cmluZzc3MTtzdHJpbmc3NzI7c3RyaW5nNzczO3N0cmluZzc3NDtzdHJpbmc3NzU7c3RyaW5nNzc2O3N0cmluZzc3NztzdHJpbmc3Nzg7c3RyaW5nNzc5O3N0cmluZzc4MDtzdHJpbmc3ODE7c3RyaW5nNzgyO3N0cmluZzc4MztzdHJpbmc3ODQ7c3RyaW5nNzg1O3N0cmluZzc4NjtzdHJpbmc3ODc7c3RyaW5nNzg4O3N0cmluZzc4OTtzdHJpbmc3OTA7c3RyaW5nNzkxO3N0cmluZzc5MjtzdHJpbmc3OTM7c3RyaW5nNzk0O3N0cmluZzc5NTtzdHJpbmc3OTY7c3RyaW5nNzk3O3N0cmluZzc5ODtzdHJpbmc3OTk7c3RyaW5nODAwO3N0cmluZzgwMTtzdHJpbmc4MDI7c3RyaW5nODAzO3N0cmluZzgwNDtzdHJpbmc4MDU7c3RyaW5nODA2O3N0cmluZzgwNztzdHJpbmc4MDg7c3RyaW5nODA5O3N0cmluZzgxMDtzdHJpbmc4MTE7c3RyaW5nODEyO3N0cmluZzgxMztzdHJpbmc4MTQ7c3RyaW5nODE1O3N0cmluZzgxNjtzdHJpbmc4MTc7c3RyaW5nODE4O3N0cmluZzgxOTtzdHJpbmc4MjA7c3RyaW5nODIxO3N0cmluZzgyMjtzdHJpbmc4MjM7c3RyaW5nODI0O3N0cmluZzgyNTtzdHJpbmc4MjY7c3RyaW5nODI3O3N0cmluZzgyODtzdHJpbmc4Mjk7c3RyaW5nODMwO3N0cmluZzgzMTtzdHJpbmc4MzI7c3RyaW5nODMzO3N0cmluZzgzNDtzdHJpbmc4MzU7c3RyaW5nODM2O3N0cmluZzgzNztzdHJpbmc4Mzg7c3RyaW5nODM5O3N0cmluZzg0MDtzdHJpbmc4NDE7c3RyaW5nODQyO3N0cmluZzg0MztzdHJpbmc4NDQ7c3RyaW5nODQ1O3N0cmluZzg0NjtzdHJpbmc4NDc7c3RyaW5nODQ4O3N0cmluZzg0OTtzdHJpbmc4NTA7c3RyaW5nODUxO3N0cmluZzg1MjtzdHJpbmc4NTM7c3RyaW5nODU0O3N0cmluZzg1NTtzdHJpbmc4NTY7c3RyaW5nODU3O3N0cmluZzg1ODtzdHJpbmc4NTk7c3RyaW5nODYwO3N0cmluZzg2MTtzdHJpbmc4NjI7c3RyaW5nODYzO3N0cmluZzg2NDtzdHJpbmc4NjU7c3RyaW5nODY2O3N0cmluZzg2NztzdHJpbmc4Njg7c3RyaW5nODY5O3N0cmluZzg3MDtzdHJpbmc4NzE7c3RyaW5nODcyO3N0cmluZzg3MztzdHJpbmc4NzQ7c3RyaW5nODc1O3N0cmluZzg3NjtzdHJpbmc4Nzc7c3RyaW5nODc4O3N0cmluZzg3OTtzdHJpbmc4ODA7c3RyaW5nODgxO3N0cmluZzg4MjtzdHJpbmc4ODM7c3RyaW5nODg0O3N0cmluZzg4NTtzdHJpbmc4ODY7c3RyaW5nODg3O3N0cmluZzg4ODtzdHJpbmc4ODk7c3RyaW5nODkwO3N0cmluZzg5MTtzdHJpbmc4OTI7c3RyaW5nODkzO3N0cmluZzg5NDtzdHJpbmc4OTU7c3RyaW5nODk2O3N0cmluZzg5NztzdHJpbmc4OTg7c3RyaW5nODk5O3N0cmluZzkwMDtzdHJpbmc5MDE7c3RyaW5nOTAyO3N0cmluZzkwMztzdHJpbmc5MDQ7c3RyaW5nOTA1O3N0cmluZzkwNjtzdHJpbmc5MDc7c3RyaW5nOTA4O3N0cmluZzkwOTtzdHJpbmc5MTA7c3RyaW5nOTExO3N0cmluZzkxMjtzdHJpbmc5MTM7c3RyaW5nOTE0O3N0cmluZzkxNTtzdHJpbmc5MTY7c3RyaW5nOTE3O3N0cmluZzkxODtzdHJpbmc5MTk7c3RyaW5nOTIwO3N0cmluZzkyMTtzdHJpbmc5MjI7c3RyaW5nOTIzO3N0cmluZzkyNDtzdHJpbmc5MjU7c3RyaW5nOTI2O3N0cmluZzkyNztzdHJpbmc5Mjg7c3RyaW5nOTI5O3N0cmluZzkzMDtzdHJpbmc5MzE7c3RyaW5nOTMyO3N0cmluZzkzMztzdHJpbmc5MzQ7c3RyaW5nOTM1O3N0cmluZzkzNjtzdHJpbmc5Mzc7c3RyaW5nOTM4O3N0cmluZzkzOTtzdHJpbmc5NDA7c3RyaW5nOTQxO3N0cmluZzk0MjtzdHJpbmc5NDM7c3RyaW5nOTQ0O3N0cmluZzk0NTtzdHJpbmc5NDY7c3RyaW5nOTQ3O3N0cmluZzk0ODtzdHJpbmc5NDk7c3RyaW5nOTUwO3N0cmluZzk1MTtzdHJpbmc5NTI7c3RyaW5nOTUzO3N0cmluZzk1NDtzdHJpbmc5NTU7c3RyaW5nOTU2O3N0cmluZzk1NztzdHJpbmc5NTg7c3RyaW5nOTU5O3N0cmluZzk2MDtzdHJpbmc5NjE7c3RyaW5nOTYyO3N0cmluZzk2MztzdHJpbmc5NjQ7c3RyaW5nOTY1O3N0cmluZzk2NjtzdHJpbmc5Njc7c3RyaW5nOTY4O3N0cmluZzk2OTtzdHJpbmc5NzA7c3RyaW5nOTcxO3N0cmluZzk3MjtzdHJpbmc5NzM7c3RyaW5nOTc0O3N0cmluZzk3NTtzdHJpbmc5NzY7c3RyaW5nOTc3O3N0cmluZzk3ODtzdHJpbmc5Nzk7c3RyaW5nOTgwO3N0cmluZzk4MTtzdHJpbmc5ODI7c3RyaW5nOTgzO3N0cmluZzk4NDtzdHJpbmc5ODU7c3RyaW5nOTg2O3N0cmluZzk4NztzdHJpbmc5ODg7c3RyaW5nOTg5O3N0cmluZzk5MDtzdHJpbmc5OTE7c3RyaW5nOTkyO3N0cmluZzk5MztzdHJpbmc5OTQ7c3RyaW5nOTk1O3N0cmluZzk5NjtzdHJpbmc5OTc7c3RyaW5nOTk4O3N0cmluZzk5OQorc3RhcnQ7c3RyaW5nMDtzdHJpbmcxO3N0cmluZzI7c3RyaW5nMztzdHJpbmc0O3N0cmluZzU7c3RyaW5nNjtzdHJpbmc3O3N0cmluZzg7c3RyaW5nOTtzdHJpbmcxMDtzdHJpbmcxMTtzdHJpbmcxMjtzdHJpbmcxMztzdHJpbmcxNDtzdHJpbmcxNTtzdHJpbmcxNjtzdHJpbmcxNztzdHJpbmcxODtzdHJpbmcxOTtzdHJpbmcyMDtzdHJpbmcyMTtzdHJpbmcyMjtzdHJpbmcyMztzdHJpbmcyNDtzdHJpbmcyNTtzdHJpbmcyNjtzdHJpbmcyNztzdHJpbmcyODtzdHJpbmcyOTtzdHJpbmczMDtzdHJpbmczMTtzdHJpbmczMjtzdHJpbmczMztzdHJpbmczNDtzdHJpbmczNTtzdHJpbmczNjtzdHJpbmczNztzdHJpbmczODtzdHJpbmczOTtzdHJpbmc0MDtzdHJpbmc0MTtzdHJpbmc0MjtzdHJpbmc0MztzdHJpbmc0NDtzdHJpbmc0NTtzdHJpbmc0NjtzdHJpbmc0NztzdHJpbmc0ODtzdHJpbmc0OTtzdHJpbmc1MDtzdHJpbmc1MTtzdHJpbmc1MjtzdHJpbmc1MztzdHJpbmc1NDtzdHJpbmc1NTtzdHJpbmc1NjtzdHJpbmc1NztzdHJpbmc1ODtzdHJpbmc1OTtzdHJpbmc2MDtzdHJpbmc2MTtzdHJpbmc2MjtzdHJpbmc2MztzdHJpbmc2NDtzdHJpbmc2NTtzdHJpbmc2NjtzdHJpbmc2NztzdHJpbmc2ODtzdHJpbmc2OTtzdHJpbmc3MDtzdHJpbmc3MTtzdHJpbmc3MjtzdHJpbmc3MztzdHJpbmc3NDtzdHJpbmc3NTtzdHJpbmc3NjtzdHJpbmc3NztzdHJpbmc3ODtzdHJpbmc3OTtzdHJpbmc4MDtzdHJpbmc4MTtzdHJpbmc4MjtzdHJpbmc4MztzdHJpbmc4NDtzdHJpbmc4NTtzdHJpbmc4NjtzdHJpbmc4NztzdHJpbmc4ODtzdHJpbmc4OTtzdHJpbmc5MDtzdHJpbmc5MTtzdHJpbmc5MjtzdHJpbmc5MztzdHJpbmc5NDtzdHJpbmc5NTtzdHJpbmc5NjtzdHJpbmc5NztzdHJpbmc5ODtzdHJpbmc5OTtzdHJpbmcxMDA7c3RyaW5nMTAxO3N0cmluZzEwMjtzdHJpbmcxMDM7c3RyaW5nMTA0O3N0cmluZzEwNTtzdHJpbmcxMDY7c3RyaW5nMTA3O3N0cmluZzEwODtzdHJpbmcxMDk7c3RyaW5nMTEwO3N0cmluZzExMTtzdHJpbmcxMTI7c3RyaW5nMTEzO3N0cmluZzExNDtzdHJpbmcxMTU7c3RyaW5nMTE2O3N0cmluZzExNztzdHJpbmcxMTg7c3RyaW5nMTE5O3N0cmluZzEyMDtzdHJpbmcxMjE7c3RyaW5nMTIyO3N0cmluZzEyMztzdHJpbmcxMjQ7c3RyaW5nMTI1O3N0cmluZzEyNjtzdHJpbmcxMjc7c3RyaW5nMTI4O3N0cmluZzEyOTtzdHJpbmcxMzA7c3RyaW5nMTMxO3N0cmluZzEzMjtzdHJpbmcxMzM7c3RyaW5nMTM0O3N0cmluZzEzNTtzdHJpbmcxMzY7c3RyaW5nMTM3O3N0cmluZzEzODtzdHJpbmcxMzk7c3RyaW5nMTQwO3N0cmluZzE0MTtzdHJpbmcxNDI7c3RyaW5nMTQzO3N0cmluZzE0NDtzdHJpbmcxNDU7c3RyaW5nMTQ2O3N0cmluZzE0NztzdHJpbmcxNDg7c3RyaW5nMTQ5O3N0cmluZzE1MDtzdHJpbmcxNTE7c3RyaW5nMTUyO3N0cmluZzE1MztzdHJpbmcxNTQ7c3RyaW5nMTU1O3N0cmluZzE1NjtzdHJpbmcxNTc7c3RyaW5nMTU4O3N0cmluZzE1OTtzdHJpbmcxNjA7c3RyaW5nMTYxO3N0cmluZzE2MjtzdHJpbmcxNjM7c3RyaW5nMTY0O3N0cmluZzE2NTtzdHJpbmcxNjY7c3RyaW5nMTY3O3N0cmluZzE2ODtzdHJpbmcxNjk7c3RyaW5nMTcwO3N0cmluZzE3MTtzdHJpbmcxNzI7c3RyaW5nMTczO3N0cmluZzE3NDtzdHJpbmcxNzU7c3RyaW5nMTc2O3N0cmluZzE3NztzdHJpbmcxNzg7c3RyaW5nMTc5O3N0cmluZzE4MDtzdHJpbmcxODE7c3RyaW5nMTgyO3N0cmluZzE4MztzdHJpbmcxODQ7c3RyaW5nMTg1O3N0cmluZzE4NjtzdHJpbmcxODc7c3RyaW5nMTg4O3N0cmluZzE4OTtzdHJpbmcxOTA7c3RyaW5nMTkxO3N0cmluZzE5MjtzdHJpbmcxOTM7c3RyaW5nMTk0O3N0cmluZzE5NTtzdHJpbmcxOTY7c3RyaW5nMTk3O3N0cmluZzE5ODtzdHJpbmcxOTk7c3RyaW5nMjAwO3N0cmluZzIwMTtzdHJpbmcyMDI7c3RyaW5nMjAzO3N0cmluZzIwNDtzdHJpbmcyMDU7c3RyaW5nMjA2O3N0cmluZzIwNztzdHJpbmcyMDg7c3RyaW5nMjA5O3N0cmluZzIxMDtzdHJpbmcyMTE7c3RyaW5nMjEyO3N0cmluZzIxMztzdHJpbmcyMTQ7c3RyaW5nMjE1O3N0cmluZzIxNjtzdHJpbmcyMTc7c3RyaW5nMjE4O3N0cmluZzIxOTtzdHJpbmcyMjA7c3RyaW5nMjIxO3N0cmluZzIyMjtzdHJpbmcyMjM7c3RyaW5nMjI0O3N0cmluZzIyNTtzdHJpbmcyMjY7c3RyaW5nMjI3O3N0cmluZzIyODtzdHJpbmcyMjk7c3RyaW5nMjMwO3N0cmluZzIzMTtzdHJpbmcyMzI7c3RyaW5nMjMzO3N0cmluZzIzNDtzdHJpbmcyMzU7c3RyaW5nMjM2O3N0cmluZzIzNztzdHJpbmcyMzg7c3RyaW5nMjM5O3N0cmluZzI0MDtzdHJpbmcyNDE7c3RyaW5nMjQyO3N0cmluZzI0MztzdHJpbmcyNDQ7c3RyaW5nMjQ1O3N0cmluZzI0NjtzdHJpbmcyNDc7c3RyaW5nMjQ4O3N0cmluZzI0OTtzdHJpbmcyNTA7c3RyaW5nMjUxO3N0cmluZzI1MjtzdHJpbmcyNTM7c3RyaW5nMjU0O3N0cmluZzI1NTtzdHJpbmcyNTY7c3RyaW5nMjU3O3N0cmluZzI1ODtzdHJpbmcyNTk7c3RyaW5nMjYwO3N0cmluZzI2MTtzdHJpbmcyNjI7c3RyaW5nMjYzO3N0cmluZzI2NDtzdHJpbmcyNjU7c3RyaW5nMjY2O3N0cmluZzI2NztzdHJpbmcyNjg7c3RyaW5nMjY5O3N0cmluZzI3MDtzdHJpbmcyNzE7c3RyaW5nMjcyO3N0cmluZzI3MztzdHJpbmcyNzQ7c3RyaW5nMjc1O3N0cmluZzI3NjtzdHJpbmcyNzc7c3RyaW5nMjc4O3N0cmluZzI3OTtzdHJpbmcyODA7c3RyaW5nMjgxO3N0cmluZzI4MjtzdHJpbmcyODM7c3RyaW5nMjg0O3N0cmluZzI4NTtzdHJpbmcyODY7c3RyaW5nMjg3O3N0cmluZzI4ODtzdHJpbmcyODk7c3RyaW5nMjkwO3N0cmluZzI5MTtzdHJpbmcyOTI7c3RyaW5nMjkzO3N0cmluZzI5NDtzdHJpbmcyOTU7c3RyaW5nMjk2O3N0cmluZzI5NztzdHJpbmcyOTg7c3RyaW5nMjk5O3N0cmluZzMwMDtzdHJpbmczMDE7c3RyaW5nMzAyO3N0cmluZzMwMztzdHJpbmczMDQ7c3RyaW5nMzA1O3N0cmluZzMwNjtzdHJpbmczMDc7c3RyaW5nMzA4O3N0cmluZzMwOTtzdHJpbmczMTA7c3RyaW5nMzExO3N0cmluZzMxMjtzdHJpbmczMTM7c3RyaW5nMzE0O3N0cmluZzMxNTtzdHJpbmczMTY7c3RyaW5nMzE3O3N0cmluZzMxODtzdHJpbmczMTk7c3RyaW5nMzIwO3N0cmluZzMyMTtzdHJpbmczMjI7c3RyaW5nMzIzO3N0cmluZzMyNDtzdHJpbmczMjU7c3RyaW5nMzI2O3N0cmluZzMyNztzdHJpbmczMjg7c3RyaW5nMzI5O3N0cmluZzMzMDtzdHJpbmczMzE7c3RyaW5nMzMyO3N0cmluZzMzMztzdHJpbmczMzQ7c3RyaW5nMzM1O3N0cmluZzMzNjtzdHJpbmczMzc7c3RyaW5nMzM4O3N0cmluZzMzOTtzdHJpbmczNDA7c3RyaW5nMzQxO3N0cmluZzM0MjtzdHJpbmczNDM7c3RyaW5nMzQ0O3N0cmluZzM0NTtzdHJpbmczNDY7c3RyaW5nMzQ3O3N0cmluZzM0ODtzdHJpbmczNDk7c3RyaW5nMzUwO3N0cmluZzM1MTtzdHJpbmczNTI7c3RyaW5nMzUzO3N0cmluZzM1NDtzdHJpbmczNTU7c3RyaW5nMzU2O3N0cmluZzM1NztzdHJpbmczNTg7c3RyaW5nMzU5O3N0cmluZzM2MDtzdHJpbmczNjE7c3RyaW5nMzYyO3N0cmluZzM2MztzdHJpbmczNjQ7c3RyaW5nMzY1O3N0cmluZzM2NjtzdHJpbmczNjc7c3RyaW5nMzY4O3N0cmluZzM2OTtzdHJpbmczNzA7c3RyaW5nMzcxO3N0cmluZzM3MjtzdHJpbmczNzM7c3RyaW5nMzc0O3N0cmluZzM3NTtzdHJpbmczNzY7c3RyaW5nMzc3O3N0cmluZzM3ODtzdHJpbmczNzk7c3RyaW5nMzgwO3N0cmluZzM4MTtzdHJpbmczODI7c3RyaW5nMzgzO3N0cmluZzM4NDtzdHJpbmczODU7c3RyaW5nMzg2O3N0cmluZzM4NztzdHJpbmczODg7c3RyaW5nMzg5O3N0cmluZzM5MDtzdHJpbmczOTE7c3RyaW5nMzkyO3N0cmluZzM5MztzdHJpbmczOTQ7c3RyaW5nMzk1O3N0cmluZzM5NjtzdHJpbmczOTc7c3RyaW5nMzk4O3N0cmluZzM5OTtzdHJpbmc0MDA7c3RyaW5nNDAxO3N0cmluZzQwMjtzdHJpbmc0MDM7c3RyaW5nNDA0O3N0cmluZzQwNTtzdHJpbmc0MDY7c3RyaW5nNDA3O3N0cmluZzQwODtzdHJpbmc0MDk7c3RyaW5nNDEwO3N0cmluZzQxMTtzdHJpbmc0MTI7c3RyaW5nNDEzO3N0cmluZzQxNDtzdHJpbmc0MTU7c3RyaW5nNDE2O3N0cmluZzQxNztzdHJpbmc0MTg7c3RyaW5nNDE5O3N0cmluZzQyMDtzdHJpbmc0MjE7c3RyaW5nNDIyO3N0cmluZzQyMztzdHJpbmc0MjQ7c3RyaW5nNDI1O3N0cmluZzQyNjtzdHJpbmc0Mjc7c3RyaW5nNDI4O3N0cmluZzQyOTtzdHJpbmc0MzA7c3RyaW5nNDMxO3N0cmluZzQzMjtzdHJpbmc0MzM7c3RyaW5nNDM0O3N0cmluZzQzNTtzdHJpbmc0MzY7c3RyaW5nNDM3O3N0cmluZzQzODtzdHJpbmc0Mzk7c3RyaW5nNDQwO3N0cmluZzQ0MTtzdHJpbmc0NDI7c3RyaW5nNDQzO3N0cmluZzQ0NDtzdHJpbmc0NDU7c3RyaW5nNDQ2O3N0cmluZzQ0NztzdHJpbmc0NDg7c3RyaW5nNDQ5O3N0cmluZzQ1MDtzdHJpbmc0NTE7c3RyaW5nNDUyO3N0cmluZzQ1MztzdHJpbmc0NTQ7c3RyaW5nNDU1O3N0cmluZzQ1NjtzdHJpbmc0NTc7c3RyaW5nNDU4O3N0cmluZzQ1OTtzdHJpbmc0NjA7c3RyaW5nNDYxO3N0cmluZzQ2MjtzdHJpbmc0NjM7c3RyaW5nNDY0O3N0cmluZzQ2NTtzdHJpbmc0NjY7c3RyaW5nNDY3O3N0cmluZzQ2ODtzdHJpbmc0Njk7c3RyaW5nNDcwO3N0cmluZzQ3MTtzdHJpbmc0NzI7c3RyaW5nNDczO3N0cmluZzQ3NDtzdHJpbmc0NzU7c3RyaW5nNDc2O3N0cmluZzQ3NztzdHJpbmc0Nzg7c3RyaW5nNDc5O3N0cmluZzQ4MDtzdHJpbmc0ODE7c3RyaW5nNDgyO3N0cmluZzQ4MztzdHJpbmc0ODQ7c3RyaW5nNDg1O3N0cmluZzQ4NjtzdHJpbmc0ODc7c3RyaW5nNDg4O3N0cmluZzQ4OTtzdHJpbmc0OTA7c3RyaW5nNDkxO3N0cmluZzQ5MjtzdHJpbmc0OTM7c3RyaW5nNDk0O3N0cmluZzQ5NTtzdHJpbmc0OTY7c3RyaW5nNDk3O3N0cmluZzQ5ODtzdHJpbmc0OTk7c3RyaW5nNTAwO3N0cmluZzUwMTtzdHJpbmc1MDI7c3RyaW5nNTAzO3N0cmluZzUwNDtzdHJpbmc1MDU7c3RyaW5nNTA2O3N0cmluZzUwNztzdHJpbmc1MDg7c3RyaW5nNTA5O3N0cmluZzUxMDtzdHJpbmc1MTE7c3RyaW5nNTEyO3N0cmluZzUxMztzdHJpbmc1MTQ7c3RyaW5nNTE1O3N0cmluZzUxNjtzdHJpbmc1MTc7c3RyaW5nNTE4O3N0cmluZzUxOTtzdHJpbmc1MjA7c3RyaW5nNTIxO3N0cmluZzUyMjtzdHJpbmc1MjM7c3RyaW5nNTI0O3N0cmluZzUyNTtzdHJpbmc1MjY7c3RyaW5nNTI3O3N0cmluZzUyODtzdHJpbmc1Mjk7c3RyaW5nNTMwO3N0cmluZzUzMTtzdHJpbmc1MzI7c3RyaW5nNTMzO3N0cmluZzUzNDtzdHJpbmc1MzU7c3RyaW5nNTM2O3N0cmluZzUzNztzdHJpbmc1Mzg7c3RyaW5nNTM5O3N0cmluZzU0MDtzdHJpbmc1NDE7c3RyaW5nNTQyO3N0cmluZzU0MztzdHJpbmc1NDQ7c3RyaW5nNTQ1O3N0cmluZzU0NjtzdHJpbmc1NDc7c3RyaW5nNTQ4O3N0cmluZzU0OTtzdHJpbmc1NTA7c3RyaW5nNTUxO3N0cmluZzU1MjtzdHJpbmc1NTM7c3RyaW5nNTU0O3N0cmluZzU1NTtzdHJpbmc1NTY7c3RyaW5nNTU3O3N0cmluZzU1ODtzdHJpbmc1NTk7c3RyaW5nNTYwO3N0cmluZzU2MTtzdHJpbmc1NjI7c3RyaW5nNTYzO3N0cmluZzU2NDtzdHJpbmc1NjU7c3RyaW5nNTY2O3N0cmluZzU2NztzdHJpbmc1Njg7c3RyaW5nNTY5O3N0cmluZzU3MDtzdHJpbmc1NzE7c3RyaW5nNTcyO3N0cmluZzU3MztzdHJpbmc1NzQ7c3RyaW5nNTc1O3N0cmluZzU3NjtzdHJpbmc1Nzc7c3RyaW5nNTc4O3N0cmluZzU3OTtzdHJpbmc1ODA7c3RyaW5nNTgxO3N0cmluZzU4MjtzdHJpbmc1ODM7c3RyaW5nNTg0O3N0cmluZzU4NTtzdHJpbmc1ODY7c3RyaW5nNTg3O3N0cmluZzU4ODtzdHJpbmc1ODk7c3RyaW5nNTkwO3N0cmluZzU5MTtzdHJpbmc1OTI7c3RyaW5nNTkzO3N0cmluZzU5NDtzdHJpbmc1OTU7c3RyaW5nNTk2O3N0cmluZzU5NztzdHJpbmc1OTg7c3RyaW5nNTk5O3N0cmluZzYwMDtzdHJpbmc2MDE7c3RyaW5nNjAyO3N0cmluZzYwMztzdHJpbmc2MDQ7c3RyaW5nNjA1O3N0cmluZzYwNjtzdHJpbmc2MDc7c3RyaW5nNjA4O3N0cmluZzYwOTtzdHJpbmc2MTA7c3RyaW5nNjExO3N0cmluZzYxMjtzdHJpbmc2MTM7c3RyaW5nNjE0O3N0cmluZzYxNTtzdHJpbmc2MTY7c3RyaW5nNjE3O3N0cmluZzYxODtzdHJpbmc2MTk7c3RyaW5nNjIwO3N0cmluZzYyMTtzdHJpbmc2MjI7c3RyaW5nNjIzO3N0cmluZzYyNDtzdHJpbmc2MjU7c3RyaW5nNjI2O3N0cmluZzYyNztzdHJpbmc2Mjg7c3RyaW5nNjI5O3N0cmluZzYzMDtzdHJpbmc2MzE7c3RyaW5nNjMyO3N0cmluZzYzMztzdHJpbmc2MzQ7c3RyaW5nNjM1O3N0cmluZzYzNjtzdHJpbmc2Mzc7c3RyaW5nNjM4O3N0cmluZzYzOTtzdHJpbmc2NDA7c3RyaW5nNjQxO3N0cmluZzY0MjtzdHJpbmc2NDM7c3RyaW5nNjQ0O3N0cmluZzY0NTtzdHJpbmc2NDY7c3RyaW5nNjQ3O3N0cmluZzY0ODtzdHJpbmc2NDk7c3RyaW5nNjUwO3N0cmluZzY1MTtzdHJpbmc2NTI7c3RyaW5nNjUzO3N0cmluZzY1NDtzdHJpbmc2NTU7c3RyaW5nNjU2O3N0cmluZzY1NztzdHJpbmc2NTg7c3RyaW5nNjU5O3N0cmluZzY2MDtzdHJpbmc2NjE7c3RyaW5nNjYyO3N0cmluZzY2MztzdHJpbmc2NjQ7c3RyaW5nNjY1O3N0cmluZzY2NjtzdHJpbmc2Njc7c3RyaW5nNjY4O3N0cmluZzY2OTtzdHJpbmc2NzA7c3RyaW5nNjcxO3N0cmluZzY3MjtzdHJpbmc2NzM7c3RyaW5nNjc0O3N0cmluZzY3NTtzdHJpbmc2NzY7c3RyaW5nNjc3O3N0cmluZzY3ODtzdHJpbmc2Nzk7c3RyaW5nNjgwO3N0cmluZzY4MTtzdHJpbmc2ODI7c3RyaW5nNjgzO3N0cmluZzY4NDtzdHJpbmc2ODU7c3RyaW5nNjg2O3N0cmluZzY4NztzdHJpbmc2ODg7c3RyaW5nNjg5O3N0cmluZzY5MDtzdHJpbmc2OTE7c3RyaW5nNjkyO3N0cmluZzY5MztzdHJpbmc2OTQ7c3RyaW5nNjk1O3N0cmluZzY5NjtzdHJpbmc2OTc7c3RyaW5nNjk4O3N0cmluZzY5OTtzdHJpbmc3MDA7c3RyaW5nNzAxO3N0cmluZzcwMjtzdHJpbmc3MDM7c3RyaW5nNzA0O3N0cmluZzcwNTtzdHJpbmc3MDY7c3RyaW5nNzA3O3N0cmluZzcwODtzdHJpbmc3MDk7c3RyaW5nNzEwO3N0cmluZzcxMTtzdHJpbmc3MTI7c3RyaW5nNzEzO3N0cmluZzcxNDtzdHJpbmc3MTU7c3RyaW5nNzE2O3N0cmluZzcxNztzdHJpbmc3MTg7c3RyaW5nNzE5O3N0cmluZzcyMDtzdHJpbmc3MjE7c3RyaW5nNzIyO3N0cmluZzcyMztzdHJpbmc3MjQ7c3RyaW5nNzI1O3N0cmluZzcyNjtzdHJpbmc3Mjc7c3RyaW5nNzI4O3N0cmluZzcyOTtzdHJpbmc3MzA7c3RyaW5nNzMxO3N0cmluZzczMjtzdHJpbmc3MzM7c3RyaW5nNzM0O3N0cmluZzczNTtzdHJpbmc3MzY7c3RyaW5nNzM3O3N0cmluZzczODtzdHJpbmc3Mzk7c3RyaW5nNzQwO3N0cmluZzc0MTtzdHJpbmc3NDI7c3RyaW5nNzQzO3N0cmluZzc0NDtzdHJpbmc3NDU7c3RyaW5nNzQ2O3N0cmluZzc0NztzdHJpbmc3NDg7c3RyaW5nNzQ5O3N0cmluZzc1MDtzdHJpbmc3NTE7c3RyaW5nNzUyO3N0cmluZzc1MztzdHJpbmc3NTQ7c3RyaW5nNzU1O3N0cmluZzc1NjtzdHJpbmc3NTc7c3RyaW5nNzU4O3N0cmluZzc1OTtzdHJpbmc3NjA7c3RyaW5nNzYxO3N0cmluZzc2MjtzdHJpbmc3NjM7c3RyaW5nNzY0O3N0cmluZzc2NTtzdHJpbmc3NjY7c3RyaW5nNzY3O3N0cmluZzc2ODtzdHJpbmc3Njk7c3RyaW5nNzcwO3N0cmluZzc3MTtzdHJpbmc3NzI7c3RyaW5nNzczO3N0cmluZzc3NDtzdHJpbmc3NzU7c3RyaW5nNzc2O3N0cmluZzc3NztzdHJpbmc3Nzg7c3RyaW5nNzc5O3N0cmluZzc4MDtzdHJpbmc3ODE7c3RyaW5nNzgyO3N0cmluZzc4MztzdHJpbmc3ODQ7c3RyaW5nNzg1O3N0cmluZzc4NjtzdHJpbmc3ODc7c3RyaW5nNzg4O3N0cmluZzc4OTtzdHJpbmc3OTA7c3RyaW5nNzkxO3N0cmluZzc5MjtzdHJpbmc3OTM7c3RyaW5nNzk0O3N0cmluZzc5NTtzdHJpbmc3OTY7c3RyaW5nNzk3O3N0cmluZzc5ODtzdHJpbmc3OTk7c3RyaW5nODAwO3N0cmluZzgwMTtzdHJpbmc4MDI7c3RyaW5nODAzO3N0cmluZzgwNDtzdHJpbmc4MDU7c3RyaW5nODA2O3N0cmluZzgwNztzdHJpbmc4MDg7c3RyaW5nODA5O3N0cmluZzgxMDtzdHJpbmc4MTE7c3RyaW5nODEyO3N0cmluZzgxMztzdHJpbmc4MTQ7c3RyaW5nODE1O3N0cmluZzgxNjtzdHJpbmc4MTc7c3RyaW5nODE4O3N0cmluZzgxOTtzdHJpbmc4MjA7c3RyaW5nODIxO3N0cmluZzgyMjtzdHJpbmc4MjM7c3RyaW5nODI0O3N0cmluZzgyNTtzdHJpbmc4MjY7c3RyaW5nODI3O3N0cmluZzgyODtzdHJpbmc4Mjk7c3RyaW5nODMwO3N0cmluZzgzMTtzdHJpbmc4MzI7c3RyaW5nODMzO3N0cmluZzgzNDtzdHJpbmc4MzU7c3RyaW5nODM2O3N0cmluZzgzNztzdHJpbmc4Mzg7c3RyaW5nODM5O3N0cmluZzg0MDtzdHJpbmc4NDE7c3RyaW5nODQyO3N0cmluZzg0MztzdHJpbmc4NDQ7c3RyaW5nODQ1O3N0cmluZzg0NjtzdHJpbmc4NDc7c3RyaW5nODQ4O3N0cmluZzg0OTtzdHJpbmc4NTA7c3RyaW5nODUxO3N0cmluZzg1MjtzdHJpbmc4NTM7c3RyaW5nODU0O3N0cmluZzg1NTtzdHJpbmc4NTY7c3RyaW5nODU3O3N0cmluZzg1ODtzdHJpbmc4NTk7c3RyaW5nODYwO3N0cmluZzg2MTtzdHJpbmc4NjI7c3RyaW5nODYzO3N0cmluZzg2NDtzdHJpbmc4NjU7c3RyaW5nODY2O3N0cmluZzg2NztzdHJpbmc4Njg7c3RyaW5nODY5O3N0cmluZzg3MDtzdHJpbmc4NzE7c3RyaW5nODcyO3N0cmluZzg3MztzdHJpbmc4NzQ7c3RyaW5nODc1O3N0cmluZzg3NjtzdHJpbmc4Nzc7c3RyaW5nODc4O3N0cmluZzg3OTtzdHJpbmc4ODA7c3RyaW5nODgxO3N0cmluZzg4MjtzdHJpbmc4ODM7c3RyaW5nODg0O3N0cmluZzg4NTtzdHJpbmc4ODY7c3RyaW5nODg3O3N0cmluZzg4ODtzdHJpbmc4ODk7c3RyaW5nODkwO3N0cmluZzg5MTtzdHJpbmc4OTI7c3RyaW5nODkzO3N0cmluZzg5NDtzdHJpbmc4OTU7c3RyaW5nODk2O3N0cmluZzg5NztzdHJpbmc4OTg7c3RyaW5nODk5O3N0cmluZzkwMDtzdHJpbmc5MDE7c3RyaW5nOTAyO3N0cmluZzkwMztzdHJpbmc5MDQ7c3RyaW5nOTA1O3N0cmluZzkwNjtzdHJpbmc5MDc7c3RyaW5nOTA4O3N0cmluZzkwOTtzdHJpbmc5MTA7c3RyaW5nOTExO3N0cmluZzkxMjtzdHJpbmc5MTM7c3RyaW5nOTE0O3N0cmluZzkxNTtzdHJpbmc5MTY7c3RyaW5nOTE3O3N0cmluZzkxODtzdHJpbmc5MTk7c3RyaW5nOTIwO3N0cmluZzkyMTtzdHJpbmc5MjI7c3RyaW5nOTIzO3N0cmluZzkyNDtzdHJpbmc5MjU7c3RyaW5nOTI2O3N0cmluZzkyNztzdHJpbmc5Mjg7c3RyaW5nOTI5O3N0cmluZzkzMDtzdHJpbmc5MzE7c3RyaW5nOTMyO3N0cmluZzkzMztzdHJpbmc5MzQ7c3RyaW5nOTM1O3N0cmluZzkzNjtzdHJpbmc5Mzc7c3RyaW5nOTM4O3N0cmluZzkzOTtzdHJpbmc5NDA7c3RyaW5nOTQxO3N0cmluZzk0MjtzdHJpbmc5NDM7c3RyaW5nOTQ0O3N0cmluZzk0NTtzdHJpbmc5NDY7c3RyaW5nOTQ3O3N0cmluZzk0ODtzdHJpbmc5NDk7c3RyaW5nOTUwO3N0cmluZzk1MTtzdHJpbmc5NTI7c3RyaW5nOTUzO3N0cmluZzk1NDtzdHJpbmc5NTU7c3RyaW5nOTU2O3N0cmluZzk1NztzdHJpbmc5NTg7c3RyaW5nOTU5O3N0cmluZzk2MDtzdHJpbmc5NjE7c3RyaW5nOTYyO3N0cmluZzk2MztzdHJpbmc5NjQ7c3RyaW5nOTY1O3N0cmluZzk2NjtzdHJpbmc5Njc7c3RyaW5nOTY4O3N0cmluZzk2OTtzdHJpbmc5NzA7c3RyaW5nOTcxO3N0cmluZzk3MjtzdHJpbmc5NzM7c3RyaW5nOTc0O3N0cmluZzk3NTtzdHJpbmc5NzY7c3RyaW5nOTc3O3N0cmluZzk3ODtzdHJpbmc5Nzk7c3RyaW5nOTgwO3N0cmluZzk4MTtzdHJpbmc5ODI7c3RyaW5nOTgzO3N0cmluZzk4NDtzdHJpbmc5ODU7c3RyaW5nOTg2O3N0cmluZzk4NztzdHJpbmc5ODg7c3RyaW5nOTg5O3N0cmluZzk5MDtzdHJpbmc5OTE7c3RyaW5nOTkyO3N0cmluZzk5MztzdHJpbmc5OTQ7c3RyaW5nOTk1O3N0cmluZzk5NjtzdHJpbmc5OTc7c3RyaW5nOTk4O3N0cmluZzk5OQoraW5nOTk5Cis7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7CithcnQ7c3RyaW5nMDtzdHJpbmcxO3N0cmluZzI7c3RyaW5nMztzdHJpbmc0O3N0cmluZzU7c3RyaW5nNjtzdHJpbmc3O3N0cmluZzg7c3RyaW5nOTtzdHJpbmcxMDtzdHJpbmcxMTtzdHJpbmcxMjtzdHJpbmcxMztzdHJpbmcxNDtzdHJpbmcxNTtzdHJpbmcxNjtzdHJpbmcxNztzdHJpbmcxODtzdHJpbmcxOTtzdHJpbmcyMDtzdHJpbmcyMTtzdHJpbmcyMjtzdHJpbmcyMztzdHJpbmcyNDtzdHJpbmcyNTtzdHJpbmcyNjtzdHJpbmcyNztzdHJpbmcyODtzdHJpbmcyOTtzdHJpbmczMDtzdHJpbmczMTtzdHJpbmczMjtzdHJpbmczMztzdHJpbmczNDtzdHJpbmczNTtzdHJpbmczNjtzdHJpbmczNztzdHJpbmczODtzdHJpbmczOTtzdHJpbmc0MDtzdHJpbmc0MTtzdHJpbmc0MjtzdHJpbmc0MztzdHJpbmc0NDtzdHJpbmc0NTtzdHJpbmc0NjtzdHJpbmc0NztzdHJpbmc0ODtzdHJpbmc0OTtzdHJpbmc1MDtzdHJpbmc1MTtzdHJpbmc1MjtzdHJpbmc1MztzdHJpbmc1NDtzdHJpbmc1NTtzdHJpbmc1NjtzdHJpbmc1NztzdHJpbmc1ODtzdHJpbmc1OTtzdHJpbmc2MDtzdHJpbmc2MTtzdHJpbmc2MjtzdHJpbmc2MztzdHJpbmc2NDtzdHJpbmc2NTtzdHJpbmc2NjtzdHJpbmc2NztzdHJpbmc2ODtzdHJpbmc2OTtzdHJpbmc3MDtzdHJpbmc3MTtzdHJpbmc3MjtzdHJpbmc3MztzdHJpbmc3NDtzdHJpbmc3NTtzdHJpbmc3NjtzdHJpbmc3NztzdHJpbmc3ODtzdHJpbmc3OTtzdHJpbmc4MDtzdHJpbmc4MTtzdHJpbmc4MjtzdHJpbmc4MztzdHJpbmc4NDtzdHJpbmc4NTtzdHJpbmc4NjtzdHJpbmc4NztzdHJpbmc4ODtzdHJpbmc4OTtzdHJpbmc5MDtzdHJpbmc5MTtzdHJpbmc5MjtzdHJpbmc5MztzdHJpbmc5NDtzdHJpbmc5NTtzdHJpbmc5NjtzdHJpbmc5NztzdHJpbmc5ODtzdHJpbmc5OTtzdHJpbmcxMDA7c3RyaW5nMTAxO3N0cmluZzEwMjtzdHJpbmcxMDM7c3RyaW5nMTA0O3N0cmluZzEwNTtzdHJpbmcxMDY7c3RyaW5nMTA3O3N0cmluZzEwODtzdHJpbmcxMDk7c3RyaW5nMTEwO3N0cmluZzExMTtzdHJpbmcxMTI7c3RyaW5nMTEzO3N0cmluZzExNDtzdHJpbmcxMTU7c3RyaW5nMTE2O3N0cmluZzExNztzdHJpbmcxMTg7c3RyaW5nMTE5O3N0cmluZzEyMDtzdHJpbmcxMjE7c3RyaW5nMTIyO3N0cmluZzEyMztzdHJpbmcxMjQ7c3RyaW5nMTI1O3N0cmluZzEyNjtzdHJpbmcxMjc7c3RyaW5nMTI4O3N0cmluZzEyOTtzdHJpbmcxMzA7c3RyaW5nMTMxO3N0cmluZzEzMjtzdHJpbmcxMzM7c3RyaW5nMTM0O3N0cmluZzEzNTtzdHJpbmcxMzY7c3RyaW5nMTM3O3N0cmluZzEzODtzdHJpbmcxMzk7c3RyaW5nMTQwO3N0cmluZzE0MTtzdHJpbmcxNDI7c3RyaW5nMTQzO3N0cmluZzE0NDtzdHJpbmcxNDU7c3RyaW5nMTQ2O3N0cmluZzE0NztzdHJpbmcxNDg7c3RyaW5nMTQ5O3N0cmluZzE1MDtzdHJpbmcxNTE7c3RyaW5nMTUyO3N0cmluZzE1MztzdHJpbmcxNTQ7c3RyaW5nMTU1O3N0cmluZzE1NjtzdHJpbmcxNTc7c3RyaW5nMTU4O3N0cmluZzE1OTtzdHJpbmcxNjA7c3RyaW5nMTYxO3N0cmluZzE2MjtzdHJpbmcxNjM7c3RyaW5nMTY0O3N0cmluZzE2NTtzdHJpbmcxNjY7c3RyaW5nMTY3O3N0cmluZzE2ODtzdHJpbmcxNjk7c3RyaW5nMTcwO3N0cmluZzE3MTtzdHJpbmcxNzI7c3RyaW5nMTczO3N0cmluZzE3NDtzdHJpbmcxNzU7c3RyaW5nMTc2O3N0cmluZzE3NztzdHJpbmcxNzg7c3RyaW5nMTc5O3N0cmluZzE4MDtzdHJpbmcxODE7c3RyaW5nMTgyO3N0cmluZzE4MztzdHJpbmcxODQ7c3RyaW5nMTg1O3N0cmluZzE4NjtzdHJpbmcxODc7c3RyaW5nMTg4O3N0cmluZzE4OTtzdHJpbmcxOTA7c3RyaW5nMTkxO3N0cmluZzE5MjtzdHJpbmcxOTM7c3RyaW5nMTk0O3N0cmluZzE5NTtzdHJpbmcxOTY7c3RyaW5nMTk3O3N0cmluZzE5ODtzdHJpbmcxOTk7c3RyaW5nMjAwO3N0cmluZzIwMTtzdHJpbmcyMDI7c3RyaW5nMjAzO3N0cmluZzIwNDtzdHJpbmcyMDU7c3RyaW5nMjA2O3N0cmluZzIwNztzdHJpbmcyMDg7c3RyaW5nMjA5O3N0cmluZzIxMDtzdHJpbmcyMTE7c3RyaW5nMjEyO3N0cmluZzIxMztzdHJpbmcyMTQ7c3RyaW5nMjE1O3N0cmluZzIxNjtzdHJpbmcyMTc7c3RyaW5nMjE4O3N0cmluZzIxOTtzdHJpbmcyMjA7c3RyaW5nMjIxO3N0cmluZzIyMjtzdHJpbmcyMjM7c3RyaW5nMjI0O3N0cmluZzIyNTtzdHJpbmcyMjY7c3RyaW5nMjI3O3N0cmluZzIyODtzdHJpbmcyMjk7c3RyaW5nMjMwO3N0cmluZzIzMTtzdHJpbmcyMzI7c3RyaW5nMjMzO3N0cmluZzIzNDtzdHJpbmcyMzU7c3RyaW5nMjM2O3N0cmluZzIzNztzdHJpbmcyMzg7c3RyaW5nMjM5O3N0cmluZzI0MDtzdHJpbmcyNDE7c3RyaW5nMjQyO3N0cmluZzI0MztzdHJpbmcyNDQ7c3RyaW5nMjQ1O3N0cmluZzI0NjtzdHJpbmcyNDc7c3RyaW5nMjQ4O3N0cmluZzI0OTtzdHJpbmcyNTA7c3RyaW5nMjUxO3N0cmluZzI1MjtzdHJpbmcyNTM7c3RyaW5nMjU0O3N0cmluZzI1NTtzdHJpbmcyNTY7c3RyaW5nMjU3O3N0cmluZzI1ODtzdHJpbmcyNTk7c3RyaW5nMjYwO3N0cmluZzI2MTtzdHJpbmcyNjI7c3RyaW5nMjYzO3N0cmluZzI2NDtzdHJpbmcyNjU7c3RyaW5nMjY2O3N0cmluZzI2NztzdHJpbmcyNjg7c3RyaW5nMjY5O3N0cmluZzI3MDtzdHJpbmcyNzE7c3RyaW5nMjcyO3N0cmluZzI3MztzdHJpbmcyNzQ7c3RyaW5nMjc1O3N0cmluZzI3NjtzdHJpbmcyNzc7c3RyaW5nMjc4O3N0cmluZzI3OTtzdHJpbmcyODA7c3RyaW5nMjgxO3N0cmluZzI4MjtzdHJpbmcyODM7c3RyaW5nMjg0O3N0cmluZzI4NTtzdHJpbmcyODY7c3RyaW5nMjg3O3N0cmluZzI4ODtzdHJpbmcyODk7c3RyaW5nMjkwO3N0cmluZzI5MTtzdHJpbmcyOTI7c3RyaW5nMjkzO3N0cmluZzI5NDtzdHJpbmcyOTU7c3RyaW5nMjk2O3N0cmluZzI5NztzdHJpbmcyOTg7c3RyaW5nMjk5O3N0cmluZzMwMDtzdHJpbmczMDE7c3RyaW5nMzAyO3N0cmluZzMwMztzdHJpbmczMDQ7c3RyaW5nMzA1O3N0cmluZzMwNjtzdHJpbmczMDc7c3RyaW5nMzA4O3N0cmluZzMwOTtzdHJpbmczMTA7c3RyaW5nMzExO3N0cmluZzMxMjtzdHJpbmczMTM7c3RyaW5nMzE0O3N0cmluZzMxNTtzdHJpbmczMTY7c3RyaW5nMzE3O3N0cmluZzMxODtzdHJpbmczMTk7c3RyaW5nMzIwO3N0cmluZzMyMTtzdHJpbmczMjI7c3RyaW5nMzIzO3N0cmluZzMyNDtzdHJpbmczMjU7c3RyaW5nMzI2O3N0cmluZzMyNztzdHJpbmczMjg7c3RyaW5nMzI5O3N0cmluZzMzMDtzdHJpbmczMzE7c3RyaW5nMzMyO3N0cmluZzMzMztzdHJpbmczMzQ7c3RyaW5nMzM1O3N0cmluZzMzNjtzdHJpbmczMzc7c3RyaW5nMzM4O3N0cmluZzMzOTtzdHJpbmczNDA7c3RyaW5nMzQxO3N0cmluZzM0MjtzdHJpbmczNDM7c3RyaW5nMzQ0O3N0cmluZzM0NTtzdHJpbmczNDY7c3RyaW5nMzQ3O3N0cmluZzM0ODtzdHJpbmczNDk7c3RyaW5nMzUwO3N0cmluZzM1MTtzdHJpbmczNTI7c3RyaW5nMzUzO3N0cmluZzM1NDtzdHJpbmczNTU7c3RyaW5nMzU2O3N0cmluZzM1NztzdHJpbmczNTg7c3RyaW5nMzU5O3N0cmluZzM2MDtzdHJpbmczNjE7c3RyaW5nMzYyO3N0cmluZzM2MztzdHJpbmczNjQ7c3RyaW5nMzY1O3N0cmluZzM2NjtzdHJpbmczNjc7c3RyaW5nMzY4O3N0cmluZzM2OTtzdHJpbmczNzA7c3RyaW5nMzcxO3N0cmluZzM3MjtzdHJpbmczNzM7c3RyaW5nMzc0O3N0cmluZzM3NTtzdHJpbmczNzY7c3RyaW5nMzc3O3N0cmluZzM3ODtzdHJpbmczNzk7c3RyaW5nMzgwO3N0cmluZzM4MTtzdHJpbmczODI7c3RyaW5nMzgzO3N0cmluZzM4NDtzdHJpbmczODU7c3RyaW5nMzg2O3N0cmluZzM4NztzdHJpbmczODg7c3RyaW5nMzg5O3N0cmluZzM5MDtzdHJpbmczOTE7c3RyaW5nMzkyO3N0cmluZzM5MztzdHJpbmczOTQ7c3RyaW5nMzk1O3N0cmluZzM5NjtzdHJpbmczOTc7c3RyaW5nMzk4O3N0cmluZzM5OTtzdHJpbmc0MDA7c3RyaW5nNDAxO3N0cmluZzQwMjtzdHJpbmc0MDM7c3RyaW5nNDA0O3N0cmluZzQwNTtzdHJpbmc0MDY7c3RyaW5nNDA3O3N0cmluZzQwODtzdHJpbmc0MDk7c3RyaW5nNDEwO3N0cmluZzQxMTtzdHJpbmc0MTI7c3RyaW5nNDEzO3N0cmluZzQxNDtzdHJpbmc0MTU7c3RyaW5nNDE2O3N0cmluZzQxNztzdHJpbmc0MTg7c3RyaW5nNDE5O3N0cmluZzQyMDtzdHJpbmc0MjE7c3RyaW5nNDIyO3N0cmluZzQyMztzdHJpbmc0MjQ7c3RyaW5nNDI1O3N0cmluZzQyNjtzdHJpbmc0Mjc7c3RyaW5nNDI4O3N0cmluZzQyOTtzdHJpbmc0MzA7c3RyaW5nNDMxO3N0cmluZzQzMjtzdHJpbmc0MzM7c3RyaW5nNDM0O3N0cmluZzQzNTtzdHJpbmc0MzY7c3RyaW5nNDM3O3N0cmluZzQzODtzdHJpbmc0Mzk7c3RyaW5nNDQwO3N0cmluZzQ0MTtzdHJpbmc0NDI7c3RyaW5nNDQzO3N0cmluZzQ0NDtzdHJpbmc0NDU7c3RyaW5nNDQ2O3N0cmluZzQ0NztzdHJpbmc0NDg7c3RyaW5nNDQ5O3N0cmluZzQ1MDtzdHJpbmc0NTE7c3RyaW5nNDUyO3N0cmluZzQ1MztzdHJpbmc0NTQ7c3RyaW5nNDU1O3N0cmluZzQ1NjtzdHJpbmc0NTc7c3RyaW5nNDU4O3N0cmluZzQ1OTtzdHJpbmc0NjA7c3RyaW5nNDYxO3N0cmluZzQ2MjtzdHJpbmc0NjM7c3RyaW5nNDY0O3N0cmluZzQ2NTtzdHJpbmc0NjY7c3RyaW5nNDY3O3N0cmluZzQ2ODtzdHJpbmc0Njk7c3RyaW5nNDcwO3N0cmluZzQ3MTtzdHJpbmc0NzI7c3RyaW5nNDczO3N0cmluZzQ3NDtzdHJpbmc0NzU7c3RyaW5nNDc2O3N0cmluZzQ3NztzdHJpbmc0Nzg7c3RyaW5nNDc5O3N0cmluZzQ4MDtzdHJpbmc0ODE7c3RyaW5nNDgyO3N0cmluZzQ4MztzdHJpbmc0ODQ7c3RyaW5nNDg1O3N0cmluZzQ4NjtzdHJpbmc0ODc7c3RyaW5nNDg4O3N0cmluZzQ4OTtzdHJpbmc0OTA7c3RyaW5nNDkxO3N0cmluZzQ5MjtzdHJpbmc0OTM7c3RyaW5nNDk0O3N0cmluZzQ5NTtzdHJpbmc0OTY7c3RyaW5nNDk3O3N0cmluZzQ5ODtzdHJpbmc0OTk7c3RyaW5nNTAwO3N0cmluZzUwMTtzdHJpbmc1MDI7c3RyaW5nNTAzO3N0cmluZzUwNDtzdHJpbmc1MDU7c3RyaW5nNTA2O3N0cmluZzUwNztzdHJpbmc1MDg7c3RyaW5nNTA5O3N0cmluZzUxMDtzdHJpbmc1MTE7c3RyaW5nNTEyO3N0cmluZzUxMztzdHJpbmc1MTQ7c3RyaW5nNTE1O3N0cmluZzUxNjtzdHJpbmc1MTc7c3RyaW5nNTE4O3N0cmluZzUxOTtzdHJpbmc1MjA7c3RyaW5nNTIxO3N0cmluZzUyMjtzdHJpbmc1MjM7c3RyaW5nNTI0O3N0cmluZzUyNTtzdHJpbmc1MjY7c3RyaW5nNTI3O3N0cmluZzUyODtzdHJpbmc1Mjk7c3RyaW5nNTMwO3N0cmluZzUzMTtzdHJpbmc1MzI7c3RyaW5nNTMzO3N0cmluZzUzNDtzdHJpbmc1MzU7c3RyaW5nNTM2O3N0cmluZzUzNztzdHJpbmc1Mzg7c3RyaW5nNTM5O3N0cmluZzU0MDtzdHJpbmc1NDE7c3RyaW5nNTQyO3N0cmluZzU0MztzdHJpbmc1NDQ7c3RyaW5nNTQ1O3N0cmluZzU0NjtzdHJpbmc1NDc7c3RyaW5nNTQ4O3N0cmluZzU0OTtzdHJpbmc1NTA7c3RyaW5nNTUxO3N0cmluZzU1MjtzdHJpbmc1NTM7c3RyaW5nNTU0O3N0cmluZzU1NTtzdHJpbmc1NTY7c3RyaW5nNTU3O3N0cmluZzU1ODtzdHJpbmc1NTk7c3RyaW5nNTYwO3N0cmluZzU2MTtzdHJpbmc1NjI7c3RyaW5nNTYzO3N0cmluZzU2NDtzdHJpbmc1NjU7c3RyaW5nNTY2O3N0cmluZzU2NztzdHJpbmc1Njg7c3RyaW5nNTY5O3N0cmluZzU3MDtzdHJpbmc1NzE7c3RyaW5nNTcyO3N0cmluZzU3MztzdHJpbmc1NzQ7c3RyaW5nNTc1O3N0cmluZzU3NjtzdHJpbmc1Nzc7c3RyaW5nNTc4O3N0cmluZzU3OTtzdHJpbmc1ODA7c3RyaW5nNTgxO3N0cmluZzU4MjtzdHJpbmc1ODM7c3RyaW5nNTg0O3N0cmluZzU4NTtzdHJpbmc1ODY7c3RyaW5nNTg3O3N0cmluZzU4ODtzdHJpbmc1ODk7c3RyaW5nNTkwO3N0cmluZzU5MTtzdHJpbmc1OTI7c3RyaW5nNTkzO3N0cmluZzU5NDtzdHJpbmc1OTU7c3RyaW5nNTk2O3N0cmluZzU5NztzdHJpbmc1OTg7c3RyaW5nNTk5O3N0cmluZzYwMDtzdHJpbmc2MDE7c3RyaW5nNjAyO3N0cmluZzYwMztzdHJpbmc2MDQ7c3RyaW5nNjA1O3N0cmluZzYwNjtzdHJpbmc2MDc7c3RyaW5nNjA4O3N0cmluZzYwOTtzdHJpbmc2MTA7c3RyaW5nNjExO3N0cmluZzYxMjtzdHJpbmc2MTM7c3RyaW5nNjE0O3N0cmluZzYxNTtzdHJpbmc2MTY7c3RyaW5nNjE3O3N0cmluZzYxODtzdHJpbmc2MTk7c3RyaW5nNjIwO3N0cmluZzYyMTtzdHJpbmc2MjI7c3RyaW5nNjIzO3N0cmluZzYyNDtzdHJpbmc2MjU7c3RyaW5nNjI2O3N0cmluZzYyNztzdHJpbmc2Mjg7c3RyaW5nNjI5O3N0cmluZzYzMDtzdHJpbmc2MzE7c3RyaW5nNjMyO3N0cmluZzYzMztzdHJpbmc2MzQ7c3RyaW5nNjM1O3N0cmluZzYzNjtzdHJpbmc2Mzc7c3RyaW5nNjM4O3N0cmluZzYzOTtzdHJpbmc2NDA7c3RyaW5nNjQxO3N0cmluZzY0MjtzdHJpbmc2NDM7c3RyaW5nNjQ0O3N0cmluZzY0NTtzdHJpbmc2NDY7c3RyaW5nNjQ3O3N0cmluZzY0ODtzdHJpbmc2NDk7c3RyaW5nNjUwO3N0cmluZzY1MTtzdHJpbmc2NTI7c3RyaW5nNjUzO3N0cmluZzY1NDtzdHJpbmc2NTU7c3RyaW5nNjU2O3N0cmluZzY1NztzdHJpbmc2NTg7c3RyaW5nNjU5O3N0cmluZzY2MDtzdHJpbmc2NjE7c3RyaW5nNjYyO3N0cmluZzY2MztzdHJpbmc2NjQ7c3RyaW5nNjY1O3N0cmluZzY2NjtzdHJpbmc2Njc7c3RyaW5nNjY4O3N0cmluZzY2OTtzdHJpbmc2NzA7c3RyaW5nNjcxO3N0cmluZzY3MjtzdHJpbmc2NzM7c3RyaW5nNjc0O3N0cmluZzY3NTtzdHJpbmc2NzY7c3RyaW5nNjc3O3N0cmluZzY3ODtzdHJpbmc2Nzk7c3RyaW5nNjgwO3N0cmluZzY4MTtzdHJpbmc2ODI7c3RyaW5nNjgzO3N0cmluZzY4NDtzdHJpbmc2ODU7c3RyaW5nNjg2O3N0cmluZzY4NztzdHJpbmc2ODg7c3RyaW5nNjg5O3N0cmluZzY5MDtzdHJpbmc2OTE7c3RyaW5nNjkyO3N0cmluZzY5MztzdHJpbmc2OTQ7c3RyaW5nNjk1O3N0cmluZzY5NjtzdHJpbmc2OTc7c3RyaW5nNjk4O3N0cmluZzY5OTtzdHJpbmc3MDA7c3RyaW5nNzAxO3N0cmluZzcwMjtzdHJpbmc3MDM7c3RyaW5nNzA0O3N0cmluZzcwNTtzdHJpbmc3MDY7c3RyaW5nNzA3O3N0cmluZzcwODtzdHJpbmc3MDk7c3RyaW5nNzEwO3N0cmluZzcxMTtzdHJpbmc3MTI7c3RyaW5nNzEzO3N0cmluZzcxNDtzdHJpbmc3MTU7c3RyaW5nNzE2O3N0cmluZzcxNztzdHJpbmc3MTg7c3RyaW5nNzE5O3N0cmluZzcyMDtzdHJpbmc3MjE7c3RyaW5nNzIyO3N0cmluZzcyMztzdHJpbmc3MjQ7c3RyaW5nNzI1O3N0cmluZzcyNjtzdHJpbmc3Mjc7c3RyaW5nNzI4O3N0cmluZzcyOTtzdHJpbmc3MzA7c3RyaW5nNzMxO3N0cmluZzczMjtzdHJpbmc3MzM7c3RyaW5nNzM0O3N0cmluZzczNTtzdHJpbmc3MzY7c3RyaW5nNzM3O3N0cmluZzczODtzdHJpbmc3Mzk7c3RyaW5nNzQwO3N0cmluZzc0MTtzdHJpbmc3NDI7c3RyaW5nNzQzO3N0cmluZzc0NDtzdHJpbmc3NDU7c3RyaW5nNzQ2O3N0cmluZzc0NztzdHJpbmc3NDg7c3RyaW5nNzQ5O3N0cmluZzc1MDtzdHJpbmc3NTE7c3RyaW5nNzUyO3N0cmluZzc1MztzdHJpbmc3NTQ7c3RyaW5nNzU1O3N0cmluZzc1NjtzdHJpbmc3NTc7c3RyaW5nNzU4O3N0cmluZzc1OTtzdHJpbmc3NjA7c3RyaW5nNzYxO3N0cmluZzc2MjtzdHJpbmc3NjM7c3RyaW5nNzY0O3N0cmluZzc2NTtzdHJpbmc3NjY7c3RyaW5nNzY3O3N0cmluZzc2ODtzdHJpbmc3Njk7c3RyaW5nNzcwO3N0cmluZzc3MTtzdHJpbmc3NzI7c3RyaW5nNzczO3N0cmluZzc3NDtzdHJpbmc3NzU7c3RyaW5nNzc2O3N0cmluZzc3NztzdHJpbmc3Nzg7c3RyaW5nNzc5O3N0cmluZzc4MDtzdHJpbmc3ODE7c3RyaW5nNzgyO3N0cmluZzc4MztzdHJpbmc3ODQ7c3RyaW5nNzg1O3N0cmluZzc4NjtzdHJpbmc3ODc7c3RyaW5nNzg4O3N0cmluZzc4OTtzdHJpbmc3OTA7c3RyaW5nNzkxO3N0cmluZzc5MjtzdHJpbmc3OTM7c3RyaW5nNzk0O3N0cmluZzc5NTtzdHJpbmc3OTY7c3RyaW5nNzk3O3N0cmluZzc5ODtzdHJpbmc3OTk7c3RyaW5nODAwO3N0cmluZzgwMTtzdHJpbmc4MDI7c3RyaW5nODAzO3N0cmluZzgwNDtzdHJpbmc4MDU7c3RyaW5nODA2O3N0cmluZzgwNztzdHJpbmc4MDg7c3RyaW5nODA5O3N0cmluZzgxMDtzdHJpbmc4MTE7c3RyaW5nODEyO3N0cmluZzgxMztzdHJpbmc4MTQ7c3RyaW5nODE1O3N0cmluZzgxNjtzdHJpbmc4MTc7c3RyaW5nODE4O3N0cmluZzgxOTtzdHJpbmc4MjA7c3RyaW5nODIxO3N0cmluZzgyMjtzdHJpbmc4MjM7c3RyaW5nODI0O3N0cmluZzgyNTtzdHJpbmc4MjY7c3RyaW5nODI3O3N0cmluZzgyODtzdHJpbmc4Mjk7c3RyaW5nODMwO3N0cmluZzgzMTtzdHJpbmc4MzI7c3RyaW5nODMzO3N0cmluZzgzNDtzdHJpbmc4MzU7c3RyaW5nODM2O3N0cmluZzgzNztzdHJpbmc4Mzg7c3RyaW5nODM5O3N0cmluZzg0MDtzdHJpbmc4NDE7c3RyaW5nODQyO3N0cmluZzg0MztzdHJpbmc4NDQ7c3RyaW5nODQ1O3N0cmluZzg0NjtzdHJpbmc4NDc7c3RyaW5nODQ4O3N0cmluZzg0OTtzdHJpbmc4NTA7c3RyaW5nODUxO3N0cmluZzg1MjtzdHJpbmc4NTM7c3RyaW5nODU0O3N0cmluZzg1NTtzdHJpbmc4NTY7c3RyaW5nODU3O3N0cmluZzg1ODtzdHJpbmc4NTk7c3RyaW5nODYwO3N0cmluZzg2MTtzdHJpbmc4NjI7c3RyaW5nODYzO3N0cmluZzg2NDtzdHJpbmc4NjU7c3RyaW5nODY2O3N0cmluZzg2NztzdHJpbmc4Njg7c3RyaW5nODY5O3N0cmluZzg3MDtzdHJpbmc4NzE7c3RyaW5nODcyO3N0cmluZzg3MztzdHJpbmc4NzQ7c3RyaW5nODc1O3N0cmluZzg3NjtzdHJpbmc4Nzc7c3RyaW5nODc4O3N0cmluZzg3OTtzdHJpbmc4ODA7c3RyaW5nODgxO3N0cmluZzg4MjtzdHJpbmc4ODM7c3RyaW5nODg0O3N0cmluZzg4NTtzdHJpbmc4ODY7c3RyaW5nODg3O3N0cmluZzg4ODtzdHJpbmc4ODk7c3RyaW5nODkwO3N0cmluZzg5MTtzdHJpbmc4OTI7c3RyaW5nODkzO3N0cmluZzg5NDtzdHJpbmc4OTU7c3RyaW5nODk2O3N0cmluZzg5NztzdHJpbmc4OTg7c3RyaW5nODk5O3N0cmluZzkwMDtzdHJpbmc5MDE7c3RyaW5nOTAyO3N0cmluZzkwMztzdHJpbmc5MDQ7c3RyaW5nOTA1O3N0cmluZzkwNjtzdHJpbmc5MDc7c3RyaW5nOTA4O3N0cmluZzkwOTtzdHJpbmc5MTA7c3RyaW5nOTExO3N0cmluZzkxMjtzdHJpbmc5MTM7c3RyaW5nOTE0O3N0cmluZzkxNTtzdHJpbmc5MTY7c3RyaW5nOTE3O3N0cmluZzkxODtzdHJpbmc5MTk7c3RyaW5nOTIwO3N0cmluZzkyMTtzdHJpbmc5MjI7c3RyaW5nOTIzO3N0cmluZzkyNDtzdHJpbmc5MjU7c3RyaW5nOTI2O3N0cmluZzkyNztzdHJpbmc5Mjg7c3RyaW5nOTI5O3N0cmluZzkzMDtzdHJpbmc5MzE7c3RyaW5nOTMyO3N0cmluZzkzMztzdHJpbmc5MzQ7c3RyaW5nOTM1O3N0cmluZzkzNjtzdHJpbmc5Mzc7c3RyaW5nOTM4O3N0cmluZzkzOTtzdHJpbmc5NDA7c3RyaW5nOTQxO3N0cmluZzk0MjtzdHJpbmc5NDM7c3RyaW5nOTQ0O3N0cmluZzk0NTtzdHJpbmc5NDY7c3RyaW5nOTQ3O3N0cmluZzk0ODtzdHJpbmc5NDk7c3RyaW5nOTUwO3N0cmluZzk1MTtzdHJpbmc5NTI7c3RyaW5nOTUzO3N0cmluZzk1NDtzdHJpbmc5NTU7c3RyaW5nOTU2O3N0cmluZzk1NztzdHJpbmc5NTg7c3RyaW5nOTU5O3N0cmluZzk2MDtzdHJpbmc5NjE7c3RyaW5nOTYyO3N0cmluZzk2MztzdHJpbmc5NjQ7c3RyaW5nOTY1O3N0cmluZzk2NjtzdHJpbmc5Njc7c3RyaW5nOTY4O3N0cmluZzk2OTtzdHJpbmc5NzA7c3RyaW5nOTcxO3N0cmluZzk3MjtzdHJpbmc5NzM7c3RyaW5nOTc0O3N0cmluZzk3NTtzdHJpbmc5NzY7c3RyaW5nOTc3O3N0cmluZzk3ODtzdHJpbmc5Nzk7c3RyaW5nOTgwO3N0cmluZzk4MTtzdHJpbmc5ODI7c3RyaW5nOTgzO3N0cmluZzk4NDtzdHJpbmc5ODU7c3RyaW5nOTg2O3N0cmluZzk4NztzdHJpbmc5ODg7c3RyaW5nOTg5O3N0cmluZzk5MDtzdHJpbmc5OTE7c3RyaW5nOTkyO3N0cmluZzk5MztzdHJpbmc5OTQ7c3RyaW5nOTk1O3N0cmluZzk5NjtzdHJpbmc5OTc7c3RyaW5nOTk4O3N0cmluZzk5OQorc3RhcnQ7c3RyaW5nMDtzdHJpbmcxO3N0cmluZzI7c3RyaW5nMztzdHJpbmc0O3N0cmluZzU7c3RyaW5nNjtzdHJpbmc3O3N0cmluZzg7c3RyaW5nOTtzdHJpbmcxMDtzdHJpbmcxMTtzdHJpbmcxMjtzdHJpbmcxMztzdHJpbmcxNDtzdHJpbmcxNTtzdHJpbmcxNjtzdHJpbmcxNztzdHJpbmcxODtzdHJpbmcxOTtzdHJpbmcyMDtzdHJpbmcyMTtzdHJpbmcyMjtzdHJpbmcyMztzdHJpbmcyNDtzdHJpbmcyNTtzdHJpbmcyNjtzdHJpbmcyNztzdHJpbmcyODtzdHJpbmcyOTtzdHJpbmczMDtzdHJpbmczMTtzdHJpbmczMjtzdHJpbmczMztzdHJpbmczNDtzdHJpbmczNTtzdHJpbmczNjtzdHJpbmczNztzdHJpbmczODtzdHJpbmczOTtzdHJpbmc0MDtzdHJpbmc0MTtzdHJpbmc0MjtzdHJpbmc0MztzdHJpbmc0NDtzdHJpbmc0NTtzdHJpbmc0NjtzdHJpbmc0NztzdHJpbmc0ODtzdHJpbmc0OTtzdHJpbmc1MDtzdHJpbmc1MTtzdHJpbmc1MjtzdHJpbmc1MztzdHJpbmc1NDtzdHJpbmc1NTtzdHJpbmc1NjtzdHJpbmc1NztzdHJpbmc1ODtzdHJpbmc1OTtzdHJpbmc2MDtzdHJpbmc2MTtzdHJpbmc2MjtzdHJpbmc2MztzdHJpbmc2NDtzdHJpbmc2NTtzdHJpbmc2NjtzdHJpbmc2NztzdHJpbmc2ODtzdHJpbmc2OTtzdHJpbmc3MDtzdHJpbmc3MTtzdHJpbmc3MjtzdHJpbmc3MztzdHJpbmc3NDtzdHJpbmc3NTtzdHJpbmc3NjtzdHJpbmc3NztzdHJpbmc3ODtzdHJpbmc3OTtzdHJpbmc4MDtzdHJpbmc4MTtzdHJpbmc4MjtzdHJpbmc4MztzdHJpbmc4NDtzdHJpbmc4NTtzdHJpbmc4NjtzdHJpbmc4NztzdHJpbmc4ODtzdHJpbmc4OTtzdHJpbmc5MDtzdHJpbmc5MTtzdHJpbmc5MjtzdHJpbmc5MztzdHJpbmc5NDtzdHJpbmc5NTtzdHJpbmc5NjtzdHJpbmc5NztzdHJpbmc5ODtzdHJpbmc5OTtzdHJpbmcxMDA7c3RyaW5nMTAxO3N0cmluZzEwMjtzdHJpbmcxMDM7c3RyaW5nMTA0O3N0cmluZzEwNTtzdHJpbmcxMDY7c3RyaW5nMTA3O3N0cmluZzEwODtzdHJpbmcxMDk7c3RyaW5nMTEwO3N0cmluZzExMTtzdHJpbmcxMTI7c3RyaW5nMTEzO3N0cmluZzExNDtzdHJpbmcxMTU7c3RyaW5nMTE2O3N0cmluZzExNztzdHJpbmcxMTg7c3RyaW5nMTE5O3N0cmluZzEyMDtzdHJpbmcxMjE7c3RyaW5nMTIyO3N0cmluZzEyMztzdHJpbmcxMjQ7c3RyaW5nMTI1O3N0cmluZzEyNjtzdHJpbmcxMjc7c3RyaW5nMTI4O3N0cmluZzEyOTtzdHJpbmcxMzA7c3RyaW5nMTMxO3N0cmluZzEzMjtzdHJpbmcxMzM7c3RyaW5nMTM0O3N0cmluZzEzNTtzdHJpbmcxMzY7c3RyaW5nMTM3O3N0cmluZzEzODtzdHJpbmcxMzk7c3RyaW5nMTQwO3N0cmluZzE0MTtzdHJpbmcxNDI7c3RyaW5nMTQzO3N0cmluZzE0NDtzdHJpbmcxNDU7c3RyaW5nMTQ2O3N0cmluZzE0NztzdHJpbmcxNDg7c3RyaW5nMTQ5O3N0cmluZzE1MDtzdHJpbmcxNTE7c3RyaW5nMTUyO3N0cmluZzE1MztzdHJpbmcxNTQ7c3RyaW5nMTU1O3N0cmluZzE1NjtzdHJpbmcxNTc7c3RyaW5nMTU4O3N0cmluZzE1OTtzdHJpbmcxNjA7c3RyaW5nMTYxO3N0cmluZzE2MjtzdHJpbmcxNjM7c3RyaW5nMTY0O3N0cmluZzE2NTtzdHJpbmcxNjY7c3RyaW5nMTY3O3N0cmluZzE2ODtzdHJpbmcxNjk7c3RyaW5nMTcwO3N0cmluZzE3MTtzdHJpbmcxNzI7c3RyaW5nMTczO3N0cmluZzE3NDtzdHJpbmcxNzU7c3RyaW5nMTc2O3N0cmluZzE3NztzdHJpbmcxNzg7c3RyaW5nMTc5O3N0cmluZzE4MDtzdHJpbmcxODE7c3RyaW5nMTgyO3N0cmluZzE4MztzdHJpbmcxODQ7c3RyaW5nMTg1O3N0cmluZzE4NjtzdHJpbmcxODc7c3RyaW5nMTg4O3N0cmluZzE4OTtzdHJpbmcxOTA7c3RyaW5nMTkxO3N0cmluZzE5MjtzdHJpbmcxOTM7c3RyaW5nMTk0O3N0cmluZzE5NTtzdHJpbmcxOTY7c3RyaW5nMTk3O3N0cmluZzE5ODtzdHJpbmcxOTk7c3RyaW5nMjAwO3N0cmluZzIwMTtzdHJpbmcyMDI7c3RyaW5nMjAzO3N0cmluZzIwNDtzdHJpbmcyMDU7c3RyaW5nMjA2O3N0cmluZzIwNztzdHJpbmcyMDg7c3RyaW5nMjA5O3N0cmluZzIxMDtzdHJpbmcyMTE7c3RyaW5nMjEyO3N0cmluZzIxMztzdHJpbmcyMTQ7c3RyaW5nMjE1O3N0cmluZzIxNjtzdHJpbmcyMTc7c3RyaW5nMjE4O3N0cmluZzIxOTtzdHJpbmcyMjA7c3RyaW5nMjIxO3N0cmluZzIyMjtzdHJpbmcyMjM7c3RyaW5nMjI0O3N0cmluZzIyNTtzdHJpbmcyMjY7c3RyaW5nMjI3O3N0cmluZzIyODtzdHJpbmcyMjk7c3RyaW5nMjMwO3N0cmluZzIzMTtzdHJpbmcyMzI7c3RyaW5nMjMzO3N0cmluZzIzNDtzdHJpbmcyMzU7c3RyaW5nMjM2O3N0cmluZzIzNztzdHJpbmcyMzg7c3RyaW5nMjM5O3N0cmluZzI0MDtzdHJpbmcyNDE7c3RyaW5nMjQyO3N0cmluZzI0MztzdHJpbmcyNDQ7c3RyaW5nMjQ1O3N0cmluZzI0NjtzdHJpbmcyNDc7c3RyaW5nMjQ4O3N0cmluZzI0OTtzdHJpbmcyNTA7c3RyaW5nMjUxO3N0cmluZzI1MjtzdHJpbmcyNTM7c3RyaW5nMjU0O3N0cmluZzI1NTtzdHJpbmcyNTY7c3RyaW5nMjU3O3N0cmluZzI1ODtzdHJpbmcyNTk7c3RyaW5nMjYwO3N0cmluZzI2MTtzdHJpbmcyNjI7c3RyaW5nMjYzO3N0cmluZzI2NDtzdHJpbmcyNjU7c3RyaW5nMjY2O3N0cmluZzI2NztzdHJpbmcyNjg7c3RyaW5nMjY5O3N0cmluZzI3MDtzdHJpbmcyNzE7c3RyaW5nMjcyO3N0cmluZzI3MztzdHJpbmcyNzQ7c3RyaW5nMjc1O3N0cmluZzI3NjtzdHJpbmcyNzc7c3RyaW5nMjc4O3N0cmluZzI3OTtzdHJpbmcyODA7c3RyaW5nMjgxO3N0cmluZzI4MjtzdHJpbmcyODM7c3RyaW5nMjg0O3N0cmluZzI4NTtzdHJpbmcyODY7c3RyaW5nMjg3O3N0cmluZzI4ODtzdHJpbmcyODk7c3RyaW5nMjkwO3N0cmluZzI5MTtzdHJpbmcyOTI7c3RyaW5nMjkzO3N0cmluZzI5NDtzdHJpbmcyOTU7c3RyaW5nMjk2O3N0cmluZzI5NztzdHJpbmcyOTg7c3RyaW5nMjk5O3N0cmluZzMwMDtzdHJpbmczMDE7c3RyaW5nMzAyO3N0cmluZzMwMztzdHJpbmczMDQ7c3RyaW5nMzA1O3N0cmluZzMwNjtzdHJpbmczMDc7c3RyaW5nMzA4O3N0cmluZzMwOTtzdHJpbmczMTA7c3RyaW5nMzExO3N0cmluZzMxMjtzdHJpbmczMTM7c3RyaW5nMzE0O3N0cmluZzMxNTtzdHJpbmczMTY7c3RyaW5nMzE3O3N0cmluZzMxODtzdHJpbmczMTk7c3RyaW5nMzIwO3N0cmluZzMyMTtzdHJpbmczMjI7c3RyaW5nMzIzO3N0cmluZzMyNDtzdHJpbmczMjU7c3RyaW5nMzI2O3N0cmluZzMyNztzdHJpbmczMjg7c3RyaW5nMzI5O3N0cmluZzMzMDtzdHJpbmczMzE7c3RyaW5nMzMyO3N0cmluZzMzMztzdHJpbmczMzQ7c3RyaW5nMzM1O3N0cmluZzMzNjtzdHJpbmczMzc7c3RyaW5nMzM4O3N0cmluZzMzOTtzdHJpbmczNDA7c3RyaW5nMzQxO3N0cmluZzM0MjtzdHJpbmczNDM7c3RyaW5nMzQ0O3N0cmluZzM0NTtzdHJpbmczNDY7c3RyaW5nMzQ3O3N0cmluZzM0ODtzdHJpbmczNDk7c3RyaW5nMzUwO3N0cmluZzM1MTtzdHJpbmczNTI7c3RyaW5nMzUzO3N0cmluZzM1NDtzdHJpbmczNTU7c3RyaW5nMzU2O3N0cmluZzM1NztzdHJpbmczNTg7c3RyaW5nMzU5O3N0cmluZzM2MDtzdHJpbmczNjE7c3RyaW5nMzYyO3N0cmluZzM2MztzdHJpbmczNjQ7c3RyaW5nMzY1O3N0cmluZzM2NjtzdHJpbmczNjc7c3RyaW5nMzY4O3N0cmluZzM2OTtzdHJpbmczNzA7c3RyaW5nMzcxO3N0cmluZzM3MjtzdHJpbmczNzM7c3RyaW5nMzc0O3N0cmluZzM3NTtzdHJpbmczNzY7c3RyaW5nMzc3O3N0cmluZzM3ODtzdHJpbmczNzk7c3RyaW5nMzgwO3N0cmluZzM4MTtzdHJpbmczODI7c3RyaW5nMzgzO3N0cmluZzM4NDtzdHJpbmczODU7c3RyaW5nMzg2O3N0cmluZzM4NztzdHJpbmczODg7c3RyaW5nMzg5O3N0cmluZzM5MDtzdHJpbmczOTE7c3RyaW5nMzkyO3N0cmluZzM5MztzdHJpbmczOTQ7c3RyaW5nMzk1O3N0cmluZzM5NjtzdHJpbmczOTc7c3RyaW5nMzk4O3N0cmluZzM5OTtzdHJpbmc0MDA7c3RyaW5nNDAxO3N0cmluZzQwMjtzdHJpbmc0MDM7c3RyaW5nNDA0O3N0cmluZzQwNTtzdHJpbmc0MDY7c3RyaW5nNDA3O3N0cmluZzQwODtzdHJpbmc0MDk7c3RyaW5nNDEwO3N0cmluZzQxMTtzdHJpbmc0MTI7c3RyaW5nNDEzO3N0cmluZzQxNDtzdHJpbmc0MTU7c3RyaW5nNDE2O3N0cmluZzQxNztzdHJpbmc0MTg7c3RyaW5nNDE5O3N0cmluZzQyMDtzdHJpbmc0MjE7c3RyaW5nNDIyO3N0cmluZzQyMztzdHJpbmc0MjQ7c3RyaW5nNDI1O3N0cmluZzQyNjtzdHJpbmc0Mjc7c3RyaW5nNDI4O3N0cmluZzQyOTtzdHJpbmc0MzA7c3RyaW5nNDMxO3N0cmluZzQzMjtzdHJpbmc0MzM7c3RyaW5nNDM0O3N0cmluZzQzNTtzdHJpbmc0MzY7c3RyaW5nNDM3O3N0cmluZzQzODtzdHJpbmc0Mzk7c3RyaW5nNDQwO3N0cmluZzQ0MTtzdHJpbmc0NDI7c3RyaW5nNDQzO3N0cmluZzQ0NDtzdHJpbmc0NDU7c3RyaW5nNDQ2O3N0cmluZzQ0NztzdHJpbmc0NDg7c3RyaW5nNDQ5O3N0cmluZzQ1MDtzdHJpbmc0NTE7c3RyaW5nNDUyO3N0cmluZzQ1MztzdHJpbmc0NTQ7c3RyaW5nNDU1O3N0cmluZzQ1NjtzdHJpbmc0NTc7c3RyaW5nNDU4O3N0cmluZzQ1OTtzdHJpbmc0NjA7c3RyaW5nNDYxO3N0cmluZzQ2MjtzdHJpbmc0NjM7c3RyaW5nNDY0O3N0cmluZzQ2NTtzdHJpbmc0NjY7c3RyaW5nNDY3O3N0cmluZzQ2ODtzdHJpbmc0Njk7c3RyaW5nNDcwO3N0cmluZzQ3MTtzdHJpbmc0NzI7c3RyaW5nNDczO3N0cmluZzQ3NDtzdHJpbmc0NzU7c3RyaW5nNDc2O3N0cmluZzQ3NztzdHJpbmc0Nzg7c3RyaW5nNDc5O3N0cmluZzQ4MDtzdHJpbmc0ODE7c3RyaW5nNDgyO3N0cmluZzQ4MztzdHJpbmc0ODQ7c3RyaW5nNDg1O3N0cmluZzQ4NjtzdHJpbmc0ODc7c3RyaW5nNDg4O3N0cmluZzQ4OTtzdHJpbmc0OTA7c3RyaW5nNDkxO3N0cmluZzQ5MjtzdHJpbmc0OTM7c3RyaW5nNDk0O3N0cmluZzQ5NTtzdHJpbmc0OTY7c3RyaW5nNDk3O3N0cmluZzQ5ODtzdHJpbmc0OTk7c3RyaW5nNTAwO3N0cmluZzUwMTtzdHJpbmc1MDI7c3RyaW5nNTAzO3N0cmluZzUwNDtzdHJpbmc1MDU7c3RyaW5nNTA2O3N0cmluZzUwNztzdHJpbmc1MDg7c3RyaW5nNTA5O3N0cmluZzUxMDtzdHJpbmc1MTE7c3RyaW5nNTEyO3N0cmluZzUxMztzdHJpbmc1MTQ7c3RyaW5nNTE1O3N0cmluZzUxNjtzdHJpbmc1MTc7c3RyaW5nNTE4O3N0cmluZzUxOTtzdHJpbmc1MjA7c3RyaW5nNTIxO3N0cmluZzUyMjtzdHJpbmc1MjM7c3RyaW5nNTI0O3N0cmluZzUyNTtzdHJpbmc1MjY7c3RyaW5nNTI3O3N0cmluZzUyODtzdHJpbmc1Mjk7c3RyaW5nNTMwO3N0cmluZzUzMTtzdHJpbmc1MzI7c3RyaW5nNTMzO3N0cmluZzUzNDtzdHJpbmc1MzU7c3RyaW5nNTM2O3N0cmluZzUzNztzdHJpbmc1Mzg7c3RyaW5nNTM5O3N0cmluZzU0MDtzdHJpbmc1NDE7c3RyaW5nNTQyO3N0cmluZzU0MztzdHJpbmc1NDQ7c3RyaW5nNTQ1O3N0cmluZzU0NjtzdHJpbmc1NDc7c3RyaW5nNTQ4O3N0cmluZzU0OTtzdHJpbmc1NTA7c3RyaW5nNTUxO3N0cmluZzU1MjtzdHJpbmc1NTM7c3RyaW5nNTU0O3N0cmluZzU1NTtzdHJpbmc1NTY7c3RyaW5nNTU3O3N0cmluZzU1ODtzdHJpbmc1NTk7c3RyaW5nNTYwO3N0cmluZzU2MTtzdHJpbmc1NjI7c3RyaW5nNTYzO3N0cmluZzU2NDtzdHJpbmc1NjU7c3RyaW5nNTY2O3N0cmluZzU2NztzdHJpbmc1Njg7c3RyaW5nNTY5O3N0cmluZzU3MDtzdHJpbmc1NzE7c3RyaW5nNTcyO3N0cmluZzU3MztzdHJpbmc1NzQ7c3RyaW5nNTc1O3N0cmluZzU3NjtzdHJpbmc1Nzc7c3RyaW5nNTc4O3N0cmluZzU3OTtzdHJpbmc1ODA7c3RyaW5nNTgxO3N0cmluZzU4MjtzdHJpbmc1ODM7c3RyaW5nNTg0O3N0cmluZzU4NTtzdHJpbmc1ODY7c3RyaW5nNTg3O3N0cmluZzU4ODtzdHJpbmc1ODk7c3RyaW5nNTkwO3N0cmluZzU5MTtzdHJpbmc1OTI7c3RyaW5nNTkzO3N0cmluZzU5NDtzdHJpbmc1OTU7c3RyaW5nNTk2O3N0cmluZzU5NztzdHJpbmc1OTg7c3RyaW5nNTk5O3N0cmluZzYwMDtzdHJpbmc2MDE7c3RyaW5nNjAyO3N0cmluZzYwMztzdHJpbmc2MDQ7c3RyaW5nNjA1O3N0cmluZzYwNjtzdHJpbmc2MDc7c3RyaW5nNjA4O3N0cmluZzYwOTtzdHJpbmc2MTA7c3RyaW5nNjExO3N0cmluZzYxMjtzdHJpbmc2MTM7c3RyaW5nNjE0O3N0cmluZzYxNTtzdHJpbmc2MTY7c3RyaW5nNjE3O3N0cmluZzYxODtzdHJpbmc2MTk7c3RyaW5nNjIwO3N0cmluZzYyMTtzdHJpbmc2MjI7c3RyaW5nNjIzO3N0cmluZzYyNDtzdHJpbmc2MjU7c3RyaW5nNjI2O3N0cmluZzYyNztzdHJpbmc2Mjg7c3RyaW5nNjI5O3N0cmluZzYzMDtzdHJpbmc2MzE7c3RyaW5nNjMyO3N0cmluZzYzMztzdHJpbmc2MzQ7c3RyaW5nNjM1O3N0cmluZzYzNjtzdHJpbmc2Mzc7c3RyaW5nNjM4O3N0cmluZzYzOTtzdHJpbmc2NDA7c3RyaW5nNjQxO3N0cmluZzY0MjtzdHJpbmc2NDM7c3RyaW5nNjQ0O3N0cmluZzY0NTtzdHJpbmc2NDY7c3RyaW5nNjQ3O3N0cmluZzY0ODtzdHJpbmc2NDk7c3RyaW5nNjUwO3N0cmluZzY1MTtzdHJpbmc2NTI7c3RyaW5nNjUzO3N0cmluZzY1NDtzdHJpbmc2NTU7c3RyaW5nNjU2O3N0cmluZzY1NztzdHJpbmc2NTg7c3RyaW5nNjU5O3N0cmluZzY2MDtzdHJpbmc2NjE7c3RyaW5nNjYyO3N0cmluZzY2MztzdHJpbmc2NjQ7c3RyaW5nNjY1O3N0cmluZzY2NjtzdHJpbmc2Njc7c3RyaW5nNjY4O3N0cmluZzY2OTtzdHJpbmc2NzA7c3RyaW5nNjcxO3N0cmluZzY3MjtzdHJpbmc2NzM7c3RyaW5nNjc0O3N0cmluZzY3NTtzdHJpbmc2NzY7c3RyaW5nNjc3O3N0cmluZzY3ODtzdHJpbmc2Nzk7c3RyaW5nNjgwO3N0cmluZzY4MTtzdHJpbmc2ODI7c3RyaW5nNjgzO3N0cmluZzY4NDtzdHJpbmc2ODU7c3RyaW5nNjg2O3N0cmluZzY4NztzdHJpbmc2ODg7c3RyaW5nNjg5O3N0cmluZzY5MDtzdHJpbmc2OTE7c3RyaW5nNjkyO3N0cmluZzY5MztzdHJpbmc2OTQ7c3RyaW5nNjk1O3N0cmluZzY5NjtzdHJpbmc2OTc7c3RyaW5nNjk4O3N0cmluZzY5OTtzdHJpbmc3MDA7c3RyaW5nNzAxO3N0cmluZzcwMjtzdHJpbmc3MDM7c3RyaW5nNzA0O3N0cmluZzcwNTtzdHJpbmc3MDY7c3RyaW5nNzA3O3N0cmluZzcwODtzdHJpbmc3MDk7c3RyaW5nNzEwO3N0cmluZzcxMTtzdHJpbmc3MTI7c3RyaW5nNzEzO3N0cmluZzcxNDtzdHJpbmc3MTU7c3RyaW5nNzE2O3N0cmluZzcxNztzdHJpbmc3MTg7c3RyaW5nNzE5O3N0cmluZzcyMDtzdHJpbmc3MjE7c3RyaW5nNzIyO3N0cmluZzcyMztzdHJpbmc3MjQ7c3RyaW5nNzI1O3N0cmluZzcyNjtzdHJpbmc3Mjc7c3RyaW5nNzI4O3N0cmluZzcyOTtzdHJpbmc3MzA7c3RyaW5nNzMxO3N0cmluZzczMjtzdHJpbmc3MzM7c3RyaW5nNzM0O3N0cmluZzczNTtzdHJpbmc3MzY7c3RyaW5nNzM3O3N0cmluZzczODtzdHJpbmc3Mzk7c3RyaW5nNzQwO3N0cmluZzc0MTtzdHJpbmc3NDI7c3RyaW5nNzQzO3N0cmluZzc0NDtzdHJpbmc3NDU7c3RyaW5nNzQ2O3N0cmluZzc0NztzdHJpbmc3NDg7c3RyaW5nNzQ5O3N0cmluZzc1MDtzdHJpbmc3NTE7c3RyaW5nNzUyO3N0cmluZzc1MztzdHJpbmc3NTQ7c3RyaW5nNzU1O3N0cmluZzc1NjtzdHJpbmc3NTc7c3RyaW5nNzU4O3N0cmluZzc1OTtzdHJpbmc3NjA7c3RyaW5nNzYxO3N0cmluZzc2MjtzdHJpbmc3NjM7c3RyaW5nNzY0O3N0cmluZzc2NTtzdHJpbmc3NjY7c3RyaW5nNzY3O3N0cmluZzc2ODtzdHJpbmc3Njk7c3RyaW5nNzcwO3N0cmluZzc3MTtzdHJpbmc3NzI7c3RyaW5nNzczO3N0cmluZzc3NDtzdHJpbmc3NzU7c3RyaW5nNzc2O3N0cmluZzc3NztzdHJpbmc3Nzg7c3RyaW5nNzc5O3N0cmluZzc4MDtzdHJpbmc3ODE7c3RyaW5nNzgyO3N0cmluZzc4MztzdHJpbmc3ODQ7c3RyaW5nNzg1O3N0cmluZzc4NjtzdHJpbmc3ODc7c3RyaW5nNzg4O3N0cmluZzc4OTtzdHJpbmc3OTA7c3RyaW5nNzkxO3N0cmluZzc5MjtzdHJpbmc3OTM7c3RyaW5nNzk0O3N0cmluZzc5NTtzdHJpbmc3OTY7c3RyaW5nNzk3O3N0cmluZzc5ODtzdHJpbmc3OTk7c3RyaW5nODAwO3N0cmluZzgwMTtzdHJpbmc4MDI7c3RyaW5nODAzO3N0cmluZzgwNDtzdHJpbmc4MDU7c3RyaW5nODA2O3N0cmluZzgwNztzdHJpbmc4MDg7c3RyaW5nODA5O3N0cmluZzgxMDtzdHJpbmc4MTE7c3RyaW5nODEyO3N0cmluZzgxMztzdHJpbmc4MTQ7c3RyaW5nODE1O3N0cmluZzgxNjtzdHJpbmc4MTc7c3RyaW5nODE4O3N0cmluZzgxOTtzdHJpbmc4MjA7c3RyaW5nODIxO3N0cmluZzgyMjtzdHJpbmc4MjM7c3RyaW5nODI0O3N0cmluZzgyNTtzdHJpbmc4MjY7c3RyaW5nODI3O3N0cmluZzgyODtzdHJpbmc4Mjk7c3RyaW5nODMwO3N0cmluZzgzMTtzdHJpbmc4MzI7c3RyaW5nODMzO3N0cmluZzgzNDtzdHJpbmc4MzU7c3RyaW5nODM2O3N0cmluZzgzNztzdHJpbmc4Mzg7c3RyaW5nODM5O3N0cmluZzg0MDtzdHJpbmc4NDE7c3RyaW5nODQyO3N0cmluZzg0MztzdHJpbmc4NDQ7c3RyaW5nODQ1O3N0cmluZzg0NjtzdHJpbmc4NDc7c3RyaW5nODQ4O3N0cmluZzg0OTtzdHJpbmc4NTA7c3RyaW5nODUxO3N0cmluZzg1MjtzdHJpbmc4NTM7c3RyaW5nODU0O3N0cmluZzg1NTtzdHJpbmc4NTY7c3RyaW5nODU3O3N0cmluZzg1ODtzdHJpbmc4NTk7c3RyaW5nODYwO3N0cmluZzg2MTtzdHJpbmc4NjI7c3RyaW5nODYzO3N0cmluZzg2NDtzdHJpbmc4NjU7c3RyaW5nODY2O3N0cmluZzg2NztzdHJpbmc4Njg7c3RyaW5nODY5O3N0cmluZzg3MDtzdHJpbmc4NzE7c3RyaW5nODcyO3N0cmluZzg3MztzdHJpbmc4NzQ7c3RyaW5nODc1O3N0cmluZzg3NjtzdHJpbmc4Nzc7c3RyaW5nODc4O3N0cmluZzg3OTtzdHJpbmc4ODA7c3RyaW5nODgxO3N0cmluZzg4MjtzdHJpbmc4ODM7c3RyaW5nODg0O3N0cmluZzg4NTtzdHJpbmc4ODY7c3RyaW5nODg3O3N0cmluZzg4ODtzdHJpbmc4ODk7c3RyaW5nODkwO3N0cmluZzg5MTtzdHJpbmc4OTI7c3RyaW5nODkzO3N0cmluZzg5NDtzdHJpbmc4OTU7c3RyaW5nODk2O3N0cmluZzg5NztzdHJpbmc4OTg7c3RyaW5nODk5O3N0cmluZzkwMDtzdHJpbmc5MDE7c3RyaW5nOTAyO3N0cmluZzkwMztzdHJpbmc5MDQ7c3RyaW5nOTA1O3N0cmluZzkwNjtzdHJpbmc5MDc7c3RyaW5nOTA4O3N0cmluZzkwOTtzdHJpbmc5MTA7c3RyaW5nOTExO3N0cmluZzkxMjtzdHJpbmc5MTM7c3RyaW5nOTE0O3N0cmluZzkxNTtzdHJpbmc5MTY7c3RyaW5nOTE3O3N0cmluZzkxODtzdHJpbmc5MTk7c3RyaW5nOTIwO3N0cmluZzkyMTtzdHJpbmc5MjI7c3RyaW5nOTIzO3N0cmluZzkyNDtzdHJpbmc5MjU7c3RyaW5nOTI2O3N0cmluZzkyNztzdHJpbmc5Mjg7c3RyaW5nOTI5O3N0cmluZzkzMDtzdHJpbmc5MzE7c3RyaW5nOTMyO3N0cmluZzkzMztzdHJpbmc5MzQ7c3RyaW5nOTM1O3N0cmluZzkzNjtzdHJpbmc5Mzc7c3RyaW5nOTM4O3N0cmluZzkzOTtzdHJpbmc5NDA7c3RyaW5nOTQxO3N0cmluZzk0MjtzdHJpbmc5NDM7c3RyaW5nOTQ0O3N0cmluZzk0NTtzdHJpbmc5NDY7c3RyaW5nOTQ3O3N0cmluZzk0ODtzdHJpbmc5NDk7c3RyaW5nOTUwO3N0cmluZzk1MTtzdHJpbmc5NTI7c3RyaW5nOTUzO3N0cmluZzk1NDtzdHJpbmc5NTU7c3RyaW5nOTU2O3N0cmluZzk1NztzdHJpbmc5NTg7c3RyaW5nOTU5O3N0cmluZzk2MDtzdHJpbmc5NjE7c3RyaW5nOTYyO3N0cmluZzk2MztzdHJpbmc5NjQ7c3RyaW5nOTY1O3N0cmluZzk2NjtzdHJpbmc5Njc7c3RyaW5nOTY4O3N0cmluZzk2OTtzdHJpbmc5NzA7c3RyaW5nOTcxO3N0cmluZzk3MjtzdHJpbmc5NzM7c3RyaW5nOTc0O3N0cmluZzk3NTtzdHJpbmc5NzY7c3RyaW5nOTc3O3N0cmluZzk3ODtzdHJpbmc5Nzk7c3RyaW5nOTgwO3N0cmluZzk4MTtzdHJpbmc5ODI7c3RyaW5nOTgzO3N0cmluZzk4NDtzdHJpbmc5ODU7c3RyaW5nOTg2O3N0cmluZzk4NztzdHJpbmc5ODg7c3RyaW5nOTg5O3N0cmluZzk5MDtzdHJpbmc5OTE7c3RyaW5nOTkyO3N0cmluZzk5MztzdHJpbmc5OTQ7c3RyaW5nOTk1O3N0cmluZzk5NjtzdHJpbmc5OTc7c3RyaW5nOTk4O3N0cmluZzkKIGFyZ3ZbMV0gPSA8Lz4KIGFyZ3ZbMV0gPSA8Lz4KLS4vbmV3LWV4cC50ZXN0czogbGluZSA1NzY6IEFCWEQ6IHBhcmFtZXRlciB1bnNldAorLi9uZXctZXhwLnRlc3RzOiBsaW5lIDU4MDogQUJYRDogcGFyYW1ldGVyIHVuc2V0CmRpZmYgLS1naXQgYS90ZXN0cy9uZXctZXhwLnRlc3RzIGIvdGVzdHMvbmV3LWV4cC50ZXN0cwppbmRleCA4YzQzYjY2Li4yODE3MDQxIDEwMDY0NAotLS0gYS90ZXN0cy9uZXctZXhwLnRlc3RzCisrKyBiL3Rlc3RzL25ldy1leHAudGVzdHMKQEAgLTQxNyw4ICs0MTcsMTAgQEAKIGM9JHt2YXI6NH0KIGV4cGVjdCBub3RoaW5nCiByZWNobyAkYwotZXhwZWN0ICc8Li9uZXctZXhwLnRlc3RzOiAtMjogc3Vic3RyaW5nIGV4cHJlc3Npb24gPCAwPicKKyMgYXMgb2YgYmFzaC00LjIsIG5lZ2F0aXZlIExFTkdUSCBtZWFucyBvZmZzZXQgZnJvbSB0aGUgZW5kCiBjPSR7dmFyOjA6LTJ9CitleHBlY3QgJzxhPicKK3JlY2hvICRjCiAKIHZhcj1hYmNkZWZnaGkKIGM9JHt2YXI6MzoxMn0KQEAgLTU2NSw2ICs1NjcsOCBAQAogCiAke1RISVNfU0h9IC4vbmV3LWV4cDcuc3ViCiAKKyR7VEhJU19TSH0gLi9uZXctZXhwOC5zdWIKKwogIyBwcm9ibGVtcyB3aXRoIHN0cmF5IENUTE5VTCBpbiBiYXNoLTQuMC1hbHBoYQogdW5zZXQgYQogYT0vYQpkaWZmIC0tZ2l0IGEvdGVzdHMvbmV3LWV4cDguc3ViIGIvdGVzdHMvbmV3LWV4cDguc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjYWU2YWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9uZXctZXhwOC5zdWIKQEAgLTAsMCArMSw5NSBAQAorcGF0MT0nc3RyJworcGF0Mj0nW147XScKK3BhdDM9J1tbOmFsbnVtOl1fXScKK3BhdDQ9J1tbOmFsbnVtOl1dW1tmdV1iJworcGF0NT0nP3RyJworcGF0Nj0nP3RyXCcKK3BhdDc9J1tbOmFsbnVtOl1dXycKK3BhdDg9Jyp0cicKKworZGVjbGFyZSB6PSJzdGFydCIKK2RlY2xhcmUgTlVNPTEwMDAKKworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgY3JlYXRlIGEgbG9uZyBzdHJpbmcgd2l0aCAnOycKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitmb3IgKChpPTA7IGk8JE5VTTsgaSsrKSk7IGRvCisgICAgej0iJHo7c3RyaW5nJGkiCitkb25lCisKKyN6PSIkejtzdHJpbmc7Zm9vIgorCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGRlbGV0ZSBldmVyeXRoaW5nIGV4Y2VwdCAnOycKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyB0cnkgZGlmZmVyZW50IHBhdHRlcm5zIGhlcmUKK3g9IiR7ei8vJHBhdDF9IgorZWNobyAkeAoreD0iJHt6Ly8kcGF0Mn0iCitlY2hvICR4Cit4PSIke3ovLyRwYXQzfSIKK2VjaG8gJHgKK3g9IiR7ei8vJHBhdDR9IgorZWNobyAkeAoreD0iJHt6Ly8kcGF0NX0iCitlY2hvICR4Cit4PSIke3ovLyRwYXQ2fSIKK2VjaG8gJHgKK3g9IiR7ei8vJHBhdDd9IgorZWNobyAkeAoreD0iJHt6Ly8kcGF0OH0iCitlY2hvICR4CisKKworZGVjbGFyZSB6PSJzdGFydCIKK2RlY2xhcmUgTlVNPTEwMDAKKworIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgY3JlYXRlIGEgbG9uZyBzdHJpbmcgd2l0aCAnOycKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitmb3IgKChpPTA7IGk8JE5VTTsgaSsrKSk7IGRvCisgICAgej0iJHo7c3RyaW5nJGkiCitkb25lCisKKyN6PSIkejtzdHJpbmc7Zm9vIgorCisjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIGRlbGV0ZSBldmVyeXRoaW5nIGV4Y2VwdCAnOycKKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIyB0cnkgZGlmZmVyZW50IHBhdHRlcm5zIGhlcmUKK3g9IiR7ei8vW147XX0iCitlY2hvICR4Cit4PSIke3ovI1teO11bXjtdfSIKK2VjaG8gJHgKK3g9IiR7ei8lW147XVteO119IgorZWNobyAkeAorCitleHBvcnQgTEFORz1DIExDX0FMTD1DIExDX0NUWVBFPUMKKworIyB0cnkgZGlmZmVyZW50IHBhdHRlcm5zIGhlcmUKK3g9IiR7ei8vJHBhdDF9IgorZWNobyAkeAoreD0iJHt6Ly8kcGF0Mn0iCitlY2hvICR4Cit4PSIke3ovLyRwYXQzfSIKK2VjaG8gJHgKK3g9IiR7ei8vJHBhdDR9IgorZWNobyAkeAoreD0iJHt6Ly8kcGF0NX0iCitlY2hvICR4Cit4PSIke3ovLyRwYXQ2fSIKK2VjaG8gJHgKK3g9IiR7ei8vJHBhdDd9IgorZWNobyAkeAoreD0iJHt6Ly8kcGF0OH0iCitlY2hvICR4CisKKyMgdHJ5IGRpZmZlcmVudCBwYXR0ZXJucyBoZXJlCit4PSIke3ovL1teO119IgorZWNobyAkeAoreD0iJHt6LyNbXjtdW147XX0iCitlY2hvICR4Cit4PSIke3ovJVteO11bXjtdfSIKK2VjaG8gJHgKZGlmZiAtLWdpdCBhL3Rlc3RzL25xdW90ZTEuc3ViIGIvdGVzdHMvbnF1b3RlMS5zdWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjNiYzBkYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL25xdW90ZTEuc3ViCkBAIC0wLDAgKzEsNiBAQAorc2V0IC1vIGhpc3RvcnkKK3NldCAtSAorCitlY2hvICQnaGVsbG9cJyB3b3JsZCcKK2VjaG8gJCdoZWxsbyB3b3JsZCEnCitlY2hvICQnaGVsbG9cJyB3b3JsZCEnCmRpZmYgLS1naXQgYS90ZXN0cy9wb3NpeGV4cC5yaWdodCBiL3Rlc3RzL3Bvc2l4ZXhwLnJpZ2h0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiYTY1NTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9wb3NpeGV4cC5yaWdodApAQCAtMCwwICsxLDQxIEBACithCitiCithIGIKK2FyZ3ZbMV0gPSA8YT4KK2FyZ3ZbMl0gPSA8Yj4KK2FyZ3ZbM10gPSA8eD4KK2FyZ3ZbNF0gPSA8YT4KK2FyZ3ZbNV0gPSA8Yj4KK2FyZ3ZbMV0gPSA8YVwgYj4KK2FyZ3ZbMl0gPSA8eD4KK2FyZ3ZbM10gPSA8YVwgYj4KK2FyZ3ZbMV0gPSA8Zm9vICdiYXInIGJhej4KK2FyZ3ZbMV0gPSA8YSBiICBjIGQ+Cithcmd2WzFdID0gPGEgYiAgYyBkPgorYXJndlsxXSA9IDxmb28gYXh7e3t9YiBjIGR7fSBiYXI+Cithcmd2WzJdID0gPH0+Cithcmd2WzNdID0gPGJhej4KK2FyZ3ZbMV0gPSA8J2Zvbyc+Cithcmd2WzFdID0gPCdmb28nPgorYXJndlsxXSA9IDwkYT4KK2FyZ3ZbMV0gPSA8J2Zvbyc+Cithcmd2WzFdID0gPGZvbypiYXI+Cithcmd2WzFdID0gPGZvbypiYXI+Cithcmd2WzFdID0gPGZvbypiYXInfT4KK2FyZ3ZbMV0gPSA8eCc+Cis8Lj4gPHg+IDwuPiA8PiA8Lj4gPHg+IDwuPiAKKzx4PiA8Lj4gPHc+IDwuPiA8eD4gPC4+IDx3PiA8Lj4gCis8eD4gPC4+IDx3PiA8Lj4gPHg+IDwuPiA8dz4gPC4+IAorPHg+IDwuPiA8dz4gPC4+IDx4PiA8Lj4gPHc+IDwuPiAKKzwuPiA8dz4gPC4+IDw+IDwuPiA8dz4gPC4+IAorPC4+IDx3PiA8Lj4gPD4gPC4+IDx3PiA8Lj4gCis8eD4gPC4+IDx4PiA8Lj4gPHg+IDwuPiA8eD4gPC4+IAorPHg+IDwuPiA8dz4gPC4+IDx4PiA8Lj4gPHc+IDwuPiAKKzx4PiA8Lj4gPHc+IDwuPiA8eD4gPC4+IDx3PiA8Lj4gCis8eD4gPC4+IDx3PiA8Lj4gPHg+IDwuPiA8dz4gPC4+IAorYXJndlsxXSA9IDwnYmFyPgorYXJndlsxXSA9IDxmb28gJ2JhciBiYXo+Cithcmd2WzFdID0gPH16PgorYXJndlsxXSA9IDwnJ3p9PgorLi9wb3NpeGV4cC50ZXN0czogbGluZSA3NzogdW5leHBlY3RlZCBFT0Ygd2hpbGUgbG9va2luZyBmb3IgbWF0Y2hpbmcgYH0nCisuL3Bvc2l4ZXhwLnRlc3RzOiBsaW5lIDc4OiBzeW50YXggZXJyb3I6IHVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL3Bvc2l4ZXhwLnRlc3RzIGIvdGVzdHMvcG9zaXhleHAudGVzdHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBiZTFjNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3Bvc2l4ZXhwLnRlc3RzCkBAIC0wLDAgKzEsNzcgQEAKK3Vuc2V0IGEKK3ByaW50ZiAiJXNcbiIgJHthOj1hXCBifQorZWNobyAiJGEiCisKK3Vuc2V0IHYKK3JlY2hvICR7dj1hXCBifSB4ICR7dj1jXCBkfQorCit1bnNldCB2CityZWNobyAiJHt2PWFcIGJ9IiB4ICIke3Y9Y1wgZH0iCisKK3Vuc2V0IGEgdgorCityZWNobyAiZm9vICR7SUZTKydiYXInfSBiYXoiCityZWNobyAiYSAke0lGUytiICBjfSBkIgorCityZWNobyAiYSAke0lGUysiYiAgYyJ9IGQiCisKK3U9eAorcmVjaG8gImZvbyAke0lGUythJHV7e3tcfWJ9IGMgJHtJRlMrZHt9fSBiYXIiICR7SUZTLWV7fX0gYmF6CisKK2E9Zm9vCityZWNobyAiJHtJRlMrJyRhJ30iCityZWNobyAiJHtJRlMrIickYScifSIKKworcmVjaG8gJHtJRlMrJyRhJ30KK3JlY2hvICR7SUZTKyInJGEnIn0KKwordW5zZXQgYSB1Cit4PSdmb28qYmFyJworCityZWNobyAiJHt4IyMifSJ9IgorcmVjaG8gIiR7eCMjJ30nfSIKK3JlY2hvICIke3gjIyd9IgorCityZWNobyAiJHt4Oi0nfSd9IgorCitmb289IngnYSd5IgorcmVjaG8gIiR7Zm9vJSonYScqfSIKK3Vuc2V0IHgKKwordW5zZXQgdQordj13CitwcmludGYgJzwlcz4gJyAke3UreH0gLiAke3YreH0gLiAiJHt1K3h9IiAuICIke3YreH0iIC47IGVjaG8KK3ByaW50ZiAnPCVzPiAnICR7dS14fSAuICR7di14fSAuICIke3UteH0iIC4gIiR7di14fSIgLjsgZWNobworcHJpbnRmICc8JXM+ICcgJHt1PXh9IC4gJHt2PXh9IC4gIiR7dT14fSIgLiAiJHt2PXh9IiAuOyBlY2hvCitwcmludGYgJzwlcz4gJyAke3U/eH0gLiAke3Y/eH0gLiAiJHt1P3h9IiAuICIke3Y/eH0iIC47IGVjaG8KK3ByaW50ZiAnPCVzPiAnICR7dSN4fSAuICR7diN4fSAuICIke3UjeH0iIC4gIiR7diN4fSIgLjsgZWNobworcHJpbnRmICc8JXM+ICcgJHt1JXh9IC4gJHt2JXh9IC4gIiR7dSV4fSIgLiAiJHt2JXh9IiAuOyBlY2hvCitwcmludGYgJzwlcz4gJyAke3U6K3h9IC4gJHt2Oit4fSAuICIke3U6K3h9IiAuICIke3Y6K3h9IiAuOyBlY2hvCitwcmludGYgJzwlcz4gJyAke3U6LXh9IC4gJHt2Oi14fSAuICIke3U6LXh9IiAuICIke3Y6LXh9IiAuOyBlY2hvCitwcmludGYgJzwlcz4gJyAke3U6PXh9IC4gJHt2Oj14fSAuICIke3U6PXh9IiAuICIke3Y6PXh9IiAuOyBlY2hvCitwcmludGYgJzwlcz4gJyAke3U6P3h9IC4gJHt2Oj94fSAuICIke3U6P3h9IiAuICIke3Y6P3h9IiAuOyBlY2hvCisjIHRoZXNlIGFyZSBpbnZhbGlkIHN1YnN0aXR1dGlvbiBvcGVyYXRvcnMKKyNwcmludGYgJzwlcz4gJyAke3U6I3h9IC4gJHt2OiN4fSAuICIke3U6I3h9IiAuICIke3Y6I3h9IiAuOyBlY2hvCisjcHJpbnRmICc8JXM+ICcgJHt1OiV4fSAuICR7djoleH0gLiAiJHt1OiV4fSIgLiAiJHt2OiV4fSIgLjsgZWNobworCit1bnNldCBmb28KK3NldCAtbyBwb3NpeAorCityZWNobyAiJHtJRlMrJ2Jhcn0iCityZWNobyAiZm9vICR7SUZTKydiYXJ9IGJheiIKKworcmVjaG8gJHtJRlMrJ30nen0KK3JlY2hvICIke0lGUysnfSd6fSIKKworOiAke1RNUERJUjo9L3Zhci90bXB9CitybSAtZiAkVE1QRElSL3NoCitjcCAke1RISVNfU0h9ICRUTVBESVIvc2gKK1RISVNfU0g9JFRNUERJUi9zaCAke1RISVNfU0h9IC4vcG9zaXhleHAxLnN1YiB8fCBlY2hvICJzaCBwb3NpeGV4cDEuc3ViOiB0ZXN0ICQ/IGZhaWxlZCIKKyR7VEhJU19TSH0gLi9wb3NpeGV4cDEuc3ViIHx8IGVjaG8gImJhc2ggcG9zaXhleHAxLnN1YjogdGVzdCAkPyBmYWlsZWQiCisKK1RISVNfU0g9JFRNUERJUi9zaCAke1RISVNfU0h9IC4vcG9zaXhleHAyLnN1YiB8fCBlY2hvICJzaCBwb3NpeGV4cDIuc3ViOiB0ZXN0ICQ/IGZhaWxlZCIKK3JtIC1mICRUTVBESVIvc2gKKworIyB0aGlzIHdpbGwgYmUgYW4gZXJyb3IKK2Zvbz1iYXIKK2VjaG8gIiR7Zm9vOi0iYX0iCmRpZmYgLS1naXQgYS90ZXN0cy9wb3NpeGV4cDEuc3ViIGIvdGVzdHMvcG9zaXhleHAxLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTBiMjlkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcG9zaXhleHAxLnN1YgpAQCAtMCwwICsxLDMwIEBACisjICRGcmVlQlNEOiBzcmMvdG9vbHMvcmVncmVzc2lvbi9iaW4vc2gvZXhwYW5zaW9uL3NldC11MS4wLHYgMS4yIDIwMTAvMTAvMTIgMTg6MjA6Mzggb2JyaWVuIEV4cCAkCisKKyR7VEhJU19TSH0gLXVjICd1bnNldCBmb287IGVjaG8gJHtmb299JyAyPi9kZXYvbnVsbCAmJiBleGl0IDEKKyR7VEhJU19TSH0gLXVjICd1bnNldCBmb287IGVjaG8gJGZvbycgMj4vZGV2L251bGwgJiYgZXhpdCAxCiske1RISVNfU0h9IC11YyAnZm9vPTsgZWNobyAkZm9vJyA+L2Rldi9udWxsIHx8IGV4aXQgMgorJHtUSElTX1NIfSAtdWMgJ2Zvbz0xOyBlY2hvICRmb28nID4vZGV2L251bGwgfHwgZXhpdCAzCisjIC0vKy89IGFyZSB1bmFmZmVjdGVkIGJ5IHNldCAtdQorJHtUSElTX1NIfSAtdWMgJ3Vuc2V0IGZvbzsgZWNobyAke2Zvby19JyA+L2Rldi9udWxsIHx8IGV4aXQgNAorJHtUSElTX1NIfSAtdWMgJ3Vuc2V0IGZvbzsgZWNobyAke2Zvbyt9JyA+L2Rldi9udWxsIHx8IGV4aXQgNQorJHtUSElTX1NIfSAtdWMgJ3Vuc2V0IGZvbzsgZWNobyAke2Zvbz19JyA+L2Rldi9udWxsIHx8IGV4aXQgNgorIyBsZW5ndGgvdHJpbW1pbmcgYXJlIGFmZmVjdGVkCiske1RISVNfU0h9IC11YyAndW5zZXQgZm9vOyBlY2hvICR7I2Zvb30nIDI+L2Rldi9udWxsICYmIGV4aXQgNworJHtUSElTX1NIfSAtdWMgJ2Zvbz07IGVjaG8gJHsjZm9vfScgPi9kZXYvbnVsbCB8fCBleGl0IDgKKyR7VEhJU19TSH0gLXVjICd1bnNldCBmb287IGVjaG8gJHtmb28jP30nIDI+L2Rldi9udWxsICYmIGV4aXQgOQorJHtUSElTX1NIfSAtdWMgJ2Zvbz0xOyBlY2hvICR7Zm9vIz99JyA+L2Rldi9udWxsIHx8IGV4aXQgMTAKKyR7VEhJU19TSH0gLXVjICd1bnNldCBmb287IGVjaG8gJHtmb28jIz99JyAyPi9kZXYvbnVsbCAmJiBleGl0IDExCiske1RISVNfU0h9IC11YyAnZm9vPTE7IGVjaG8gJHtmb28jIz99JyA+L2Rldi9udWxsIHx8IGV4aXQgMTIKKyR7VEhJU19TSH0gLXVjICd1bnNldCBmb287IGVjaG8gJHtmb28lP30nIDI+L2Rldi9udWxsICYmIGV4aXQgMTMKKyR7VEhJU19TSH0gLXVjICdmb289MTsgZWNobyAke2ZvbyU/fScgPi9kZXYvbnVsbCB8fCBleGl0IDE0Ciske1RISVNfU0h9IC11YyAndW5zZXQgZm9vOyBlY2hvICR7Zm9vJSU/fScgMj4vZGV2L251bGwgJiYgZXhpdCAxNQorJHtUSElTX1NIfSAtdWMgJ2Zvbz0xOyBlY2hvICR7Zm9vJSU/fScgPi9kZXYvbnVsbCB8fCBleGl0IDE2CisKKyR7VEhJU19TSH0gLXVjICdlY2hvICQhJyAyPi9kZXYvbnVsbCAmJiBleGl0IDE3Ciske1RISVNfU0h9IC11YyAnOiYgZWNobyAkIScgPi9kZXYvbnVsbCB8fCBleGl0IDE4Ciske1RISVNfU0h9IC11YyAnZWNobyAkIycgPi9kZXYvbnVsbCB8fCBleGl0IDE5Ciske1RISVNfU0h9IC11YyAnZWNobyAkMScgMj4vZGV2L251bGwgJiYgZXhpdCAyMAorJHtUSElTX1NIfSAtdWMgJ2VjaG8gJDEnICR7VEhJU19TSH0geG5vdHRoZXJlID4vZGV2L251bGwgfHwgZXhpdCAyMQorJHtUSElTX1NIfSAtdWMgJ2VjaG8gJDInICR7VEhJU19TSH0geG5vdHRoZXJlIDI+L2Rldi9udWxsICYmIGV4aXQgMjIKKyR7VEhJU19TSH0gLXVjICdlY2hvICQyJyAke1RISVNfU0h9IHhub3R0aGVyZSB5bm90dGhlcmUgPi9kZXYvbnVsbCB8fCBleGl0IDIzCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3Bvc2l4ZXhwMi5yaWdodCBiL3Rlc3RzL3Bvc2l4ZXhwMi5yaWdodApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGQzOTAxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcG9zaXhleHAyLnJpZ2h0CkBAIC0wLDAgKzEsNDAgQEAKKzEgfXoKKzIgJyd6fQorMyBmb28gJ2JhciBiYXoKKzQgZm9vIGIgICBjIGJhegorNSBmb28gYiAgIGMgYmF6Cis2IH16Cis3IH16Cis4ICIien0KKzkgIn0iegorMTAgZm9vIGJhcn0gYmF6CisxMSAnJ3p9CisxMiB9egorMTMgfXoKKzE0IH16CisxNSA8Zm9vIGFieHsge3t7fWIgYyBke30gYmFyPiA8fT4gPGJhej4gLgorMTYgaGkgdGhlcmUKKzE3IGhpIHRoZXJlCisxOCBoaSB0aGVyZQorMTkgaGkgdGhlcmUKKzIwIGhpIHRoZXJlCisyMSBoaSB0aGVyZQorMjIgaGkgdGhlcmUKKzIzIGhpIHRoZXJlCisyNCAndmFsdWUnCisyNSAndmFsdWUnCisyNiAka2V5CisyNyAndmFsdWUnCisyOCAneCB+IHgnJ3h9Inh9IiAjCisyOSA8Zm9vPiA8YWJ4eyB7ez4gPHt9Yj4gPGM+IDxke30+IDxiYXI+IDx9PiA8YmF6PiAuCiszMCA8Zm9vPiA8YlwKK2FyPiA8YmF6PiAuCiszMiA8Zm9vPiA8YmFyPiA8YmF6PiAuCiszMyA8Zm9vICdiYXInIGJhej4gLgorMzQgPGZvbyBiYXIgYmF6PiAuCiszNSA8YT4gPGI+IDx4PiA8YT4gPGI+IC4KKzM2IDxhXCBiPiA8eD4gPGFcIGI+IC4KKzM3IDxhIGI+IDx4PiA8YyBkPiAuCiszOCB4YXkgLyB4J2EneSAuCiszOSB4JyAvIHgnIC4KKzQwIDwgYiBjPiAuCmRpZmYgLS1naXQgYS90ZXN0cy9wb3NpeGV4cDIuc3ViIGIvdGVzdHMvcG9zaXhleHAyLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDhkMDg4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcG9zaXhleHAyLnN1YgpAQCAtMCwwICsxLDIxIEBACisKK3g9YVwgYgorWyAiJHgiID0gIiR7eD99IiBdIHx8IGV4aXQgMQorc2V0IC0tICR7eD99Cit7IFsgIiQjIiA9IDIgXSAmJiBbICIkMSIgPSBhIF0gJiYgWyAiJDIiID0gYiBdOyB9IHx8IGV4aXQgMQordW5zZXQgeAorKGVjaG8gJHt4P2FiY2RlZmd9KSAyPiYxIHwgZ3JlcCBhYmNkZWZnID4vZGV2L251bGwgfHwgZXhpdCAxCiske1RISVNfU0h9IC1jICd1bnNldCBmb287IGVjaG8gJHtmb28/fScgMj4vZGV2L251bGwgJiYgZXhpdCAyCiske1RISVNfU0h9IC1jICdmb289OyBlY2hvICR7Zm9vOj99JyAyPi9kZXYvbnVsbCAmJiBleGl0IDMKKyR7VEhJU19TSH0gLWMgJ2Zvbz07IGVjaG8gJHtmb28/fScgPi9kZXYvbnVsbCB8fCBleGl0IDQKKyR7VEhJU19TSH0gLWMgJ2Zvbz0xOyBlY2hvICR7Zm9vOj99JyA+L2Rldi9udWxsIHx8IGV4aXQgNQorJHtUSElTX1NIfSAtYyAnZWNobyAkeyE/fScgMj4vZGV2L251bGwgJiYgZXhpdCA2Ciske1RISVNfU0h9IC1jICc6JiBlY2hvICR7IT99JyA+L2Rldi9udWxsIHx8IGV4aXQgNworJHtUSElTX1NIfSAtYyAnZWNobyAkeyM/fScgPi9kZXYvbnVsbCB8fCBleGl0IDgKKyR7VEhJU19TSH0gLWMgJ2VjaG8gJHsqP30nIDI+L2Rldi9udWxsICYmIGV4aXQgOQorJHtUSElTX1NIfSAtYyAnZWNobyAkeyo/fScgJHtUSElTX1NIfSB4ID4vZGV2L251bGwgfHwgZXhpdCAxMAorJHtUSElTX1NIfSAtYyAnZWNobyAkezE/fScgMj4vZGV2L251bGwgJiYgZXhpdCAxMQorJHtUSElTX1NIfSAtYyAnZWNobyAkezE/fScgJHtUSElTX1NIfSB4ID4vZGV2L251bGwgfHwgZXhpdCAxMgorJHtUSElTX1NIfSAtYyAnZWNobyAkezI/fScgJHtUSElTX1NIfSB4IDI+L2Rldi9udWxsICYmIGV4aXQgMTMKKyR7VEhJU19TSH0gLWMgJ2VjaG8gJHsyP30nICR7VEhJU19TSH0geCB5ID4vZGV2L251bGwgfHwgZXhpdCAxNAorZXhpdCAwCmRpZmYgLS1naXQgYS90ZXN0cy9wb3NpeGV4cDIudGVzdHMgYi90ZXN0cy9wb3NpeGV4cDIudGVzdHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdkZDc2NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3Bvc2l4ZXhwMi50ZXN0cwpAQCAtMCwwICsxLDQ3IEBACisjIEZyb20gbWtzaAorCitzZXQgLW8gcG9zaXgKKworKGVjaG8gMSAke0lGUysnfSd6fSkgMj4mLSB8fCBlY2hvIGZhaWxlZCBpbiAxCisoZWNobyAyICIke0lGUysnfSd6fSIpIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMgorKGVjaG8gMyAiZm9vICR7SUZTKydiYXJ9IGJheiIpIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMworKGVjaG8gLW4gJzQgJzsgcHJpbnRmICclc1xuJyAiZm9vICR7SUZTKyJiICAgYyJ9IGJheiIpIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gNAorKGVjaG8gLW4gJzUgJzsgcHJpbnRmICclc1xuJyAiZm9vICR7SUZTK2IgICBjfSBiYXoiKSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDUKKyhlY2hvIDYgJHtJRlMrIn0ien0pIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gNgorKGVjaG8gNyAiJHtJRlMrIn0ien0iKSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDcKKyhlY2hvIDggIiR7SUZTK1wifVwien0iKSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDgKKyhlY2hvIDkgIiR7SUZTK1wiXH1cInp9IikgMj4mLSB8fCBlY2hvIGZhaWxlZCBpbiA5CisoZWNobyAxMCBmb28gJHtJRlMrJ2Jhcn0gYmF6J30pIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMTAKKyhlY2hvIDExICIkKGVjaG8gIiR7SUZTKyd9J3p9IikiKSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDExCisoZWNobyAxMiAiJChlY2hvICR7SUZTKyd9J3p9KSIpIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMTIKKyhlY2hvIDEzICR7SUZTK1x9en0pIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMTMKKyhlY2hvIDE0ICIke0lGUytcfXp9IikgMj4mLSB8fCBlY2hvIGZhaWxlZCBpbiAxNAordT14OyAoZWNobyAtbiAnMTUgJzsgcHJpbnRmICc8JXM+ICcgImZvbyAke0lGUythImIkdXsgeyJ7e1x9Yn0gYyAke0lGUytke319IGJhciIgJHtJRlMtZXt9fSBiYXo7IGVjaG8gLikgMj4mLSB8fCBlY2hvIGZhaWxlZCBpbiAxNQorbD10OyAoZWNobyAxNiAke0lGUytoYGVjaG8gLW4gaSAke0lGUyskbH1oYGVyZX0pIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMTYKK2w9dDsgKGVjaG8gMTcgJHtJRlMraCQoZWNobyAtbiBpICR7SUZTKyRsfWgpZXJlfSkgMj4mLSB8fCBlY2hvIGZhaWxlZCBpbiAxNworbD10OyAoZWNobyAxOCAiJHtJRlMraGBlY2hvIC1uIGkgJHtJRlMrJGx9aGBlcmV9IikgMj4mLSB8fCBlY2hvIGZhaWxlZCBpbiAxOAorbD10OyAoZWNobyAxOSAiJHtJRlMraCQoZWNobyAtbiBpICR7SUZTKyRsfWgpZXJlfSIpIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMTkKK2w9dDsgKGVjaG8gMjAgJHtJRlMraGBlY2hvIC1uIGkgIiR7SUZTKyRsfSJoYGVyZX0pIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMjAKK2w9dDsgKGVjaG8gMjEgJHtJRlMraCQoZWNobyAtbiBpICIke0lGUyskbH0iaCllcmV9KSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDIxCitsPXQ7IChlY2hvIDIyICIke0lGUytoYGVjaG8gLW4gaSAiJHtJRlMrJGx9ImhgZXJlfSIpIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMjIKK2w9dDsgKGVjaG8gMjMgIiR7SUZTK2gkKGVjaG8gLW4gaSAiJHtJRlMrJGx9ImgpZXJlfSIpIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMjMKK2tleT12YWx1ZTsgKGVjaG8gLW4gJzI0ICc7IHByaW50ZiAnJXNcbicgIiR7SUZTKycka2V5J30iKSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDI0CitrZXk9dmFsdWU7IChlY2hvIC1uICcyNSAnOyBwcmludGYgJyVzXG4nICIke0lGUysiJyRrZXknIn0iKSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDI1CSMga3NoOTM6IOKAnCcka2V5J+KAnQora2V5PXZhbHVlOyAoZWNobyAtbiAnMjYgJzsgcHJpbnRmICclc1xuJyAke0lGUysnJGtleSd9KSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDI2CitrZXk9dmFsdWU7IChlY2hvIC1uICcyNyAnOyBwcmludGYgJyVzXG4nICR7SUZTKyInJGtleScifSkgMj4mLSB8fCBlY2hvIGZhaWxlZCBpbiAyNworKGVjaG8gLW4gJzI4ICc7IHByaW50ZiAnJXNcbicgIiR7SUZTKyInInggfiB4J30neCInfSJ4fSIgIycpIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMjgKK3U9eDsgKGVjaG8gLW4gJzI5ICc7IHByaW50ZiAnPCVzPiAnIGZvbyAke0lGUythImIkdXsgeyJ7IHtcfWJ9IGMgJHtJRlMrZHt9fSBiYXIgJHtJRlMtZXt9fSBiYXo7IGVjaG8gLikgMj4mLSB8fCBlY2hvIGZhaWxlZCBpbiAyOQorKGVjaG8gLW4gJzMwICc7IHByaW50ZiAnPCVzPiAnICR7SUZTK2ZvbyAnYlwKK2FyJyBiYXp9OyBlY2hvIC4pIDI+Ji0gfHwgKGVjaG8gZmFpbGVkIGluIDMwOyBlY2hvIGZhaWxlZCBpbiAzMSkKKyhlY2hvIC1uICczMiAnOyBwcmludGYgJzwlcz4gJyAke0lGUytmb28gImJcCithciIgYmF6fTsgZWNobyAuKSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDMyCisoZWNobyAtbiAnMzMgJzsgcHJpbnRmICc8JXM+ICcgIiR7SUZTK2ZvbyAnYlwKK2FyJyBiYXp9IjsgZWNobyAuKSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDMzCisoZWNobyAtbiAnMzQgJzsgcHJpbnRmICc8JXM+ICcgIiR7SUZTK2ZvbyAiYlwKK2FyIiBiYXp9IjsgZWNobyAuKSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDM0CisoZWNobyAtbiAnMzUgJzsgcHJpbnRmICc8JXM+ICcgJHt2PWFcIGJ9IHggJHt2PWNcIGR9OyBlY2hvIC4pIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMzUKKyhlY2hvIC1uICczNiAnOyBwcmludGYgJzwlcz4gJyAiJHt2PWFcIGJ9IiB4ICIke3Y9Y1wgZH0iOyBlY2hvIC4pIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMzYKKyhlY2hvIC1uICczNyAnOyBwcmludGYgJzwlcz4gJyAke3YtYVwgYn0geCAke3YtY1wgZH07IGVjaG8gLikgMj4mLSB8fCBlY2hvIGZhaWxlZCBpbiAzNworKGVjaG8gMzggJHtJRlMreCdhJ3l9IC8gIiR7SUZTK3gnYSd5fSIgLikgMj4mLSB8fCBlY2hvIGZhaWxlZCBpbiAzOAorZm9vPSJ4J2EneSI7IChlY2hvIDM5ICR7Zm9vJSonYScqfSAvICIke2ZvbyUqJ2EnKn0iIC4pIDI+Ji0gfHwgZWNobyBmYWlsZWQgaW4gMzkKK2Zvbz0iYSBiIGMiOyAoZWNobyAtbiAnNDAgJzsgcHJpbnRmICc8JXM+ICcgIiR7Zm9vI2F9IjsgZWNobyAuKSAyPiYtIHx8IGVjaG8gZmFpbGVkIGluIDQwCmRpZmYgLS1naXQgYS90ZXN0cy9wb3NpeHBpcGUucmlnaHQgYi90ZXN0cy9wb3NpeHBpcGUucmlnaHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY2YzljYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3Bvc2l4cGlwZS5yaWdodApAQCAtMCwwICsxLDQxIEBACisxCiswCithCityZWFsIDAuMDAKK3VzZXIgMC4wMAorc3lzIDAuMDAKKzEKK2EKK3JlYWwgMC4wMAordXNlciAwLjAwCitzeXMgMC4wMAorMQordGZ1bmMgaXMgYSBmdW5jdGlvbgordGZ1bmMgKCkgCit7IAorICAgIHRpbWUgCit9CisxCiswCisxCithCityZWFsIDAuMDAKK3VzZXIgMC4wMAorc3lzIDAuMDAKKzAKK2EKK3JlYWwgMC4wMAordXNlciAwLjAwCitzeXMgMC4wMAorMAorYQorcmVhbCAwLjAwCit1c2VyIDAuMDAKK3N5cyAwLjAwCiswCisxCiswCithCityZWFsIDAuMDAKK3VzZXIgMC4wMAorc3lzIDAuMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3Bvc2l4cGlwZS50ZXN0cyBiL3Rlc3RzL3Bvc2l4cGlwZS50ZXN0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmYwNDdhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcG9zaXhwaXBlLnRlc3RzCkBAIC0wLDAgKzEsNDMgQEAKKyMgVGVzdCB0aW1lZCBhbmQgbmVnYXRlZCBwaXBlbGluZXMgaW4gYmFzaC00LjIgYW5kIGxhdGVyCitleHBvcnQgVElNRUZPUk1BVD0kJ3JlYWwgJTJSXG51c2VyICUyVVxuc3lzICUyUycKKworIQorZWNobyAkPworCishICEKK2VjaG8gJD8KKwordGltZSAhIGVjaG8gYQorZWNobyAkPworCishIHRpbWUgZWNobyBhCitlY2hvICQ/CisKK3RmdW5jKCkKK3sKKwl0aW1lCit9CisKK3R5cGUgdGZ1bmMKKworISB0cnVlCitlY2hvICQ/CishICEgdHJ1ZQorZWNobyAkPworISAhICEgdHJ1ZQorZWNobyAkPworCit0aW1lIHRpbWUgZWNobyBhCitlY2hvICQ/CisKK3RpbWUgdGltZSAtcCBlY2hvIGEKK2VjaG8gJD8KK3RpbWUgLXAgdGltZSBlY2hvIGEKK2VjaG8gJD8KKworIQorZWNobyAkPworISAhCitlY2hvICQ/CisKK3RpbWUgLXAgLS0gZWNobyBhCmRpZmYgLS1naXQgYS90ZXN0cy9wcmludGYucmlnaHQgYi90ZXN0cy9wcmludGYucmlnaHQKaW5kZXggYTZiYjA0ZC4uMDY1ZDJmNyAxMDA2NDQKLS0tIGEvdGVzdHMvcHJpbnRmLnJpZ2h0CisrKyBiL3Rlc3RzL3ByaW50Zi5yaWdodApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9wcmludGYudGVzdHMgYi90ZXN0cy9wcmludGYudGVzdHMKaW5kZXggM2RkNTI0OC4uOTY0NGNjMiAxMDA2NDQKLS0tIGEvdGVzdHMvcHJpbnRmLnRlc3RzCisrKyBiL3Rlc3RzL3ByaW50Zi50ZXN0cwpAQCAtMzA4LDQgKzMwOCw5IEBACiBlY2hvICJ4JChwcmludGYgIiViIiBAKGh1Z28pKXgiCiBwcmludGYgLXYgdmFyICIlYiIgQChodWdvKTsgZWNobyAieCR7dmFyfXgiCiAKKyMgdGVzdHMgdmFyaWFibGUgYXNzaWdubWVudCB3aXRoIC12Ciske1RISVNfU0h9IC4vcHJpbnRmMS5zdWIKKwogJHtUSElTX1NIfSAuL3ByaW50ZjIuc3ViCisKKyR7VEhJU19TSH0gLi9wcmludGYzLnN1YgpkaWZmIC0tZ2l0IGEvdGVzdHMvcHJpbnRmMS5zdWIgYi90ZXN0cy9wcmludGYxLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjYxMmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcHJpbnRmMS5zdWIKQEAgLTAsMCArMSwzMzUgQEAKK0xDX0FMTD1DCitMQ19OVU1FUklDPUMKKwordW5zZXQgdnYKKworIyB0aGlzIHNob3VsZCBleHBhbmQgZXNjYXBlIHNlcXVlbmNlcyBpbiB0aGUgZm9ybWF0IHN0cmluZywgbm90aGluZyBlbHNlCitwcmludGYgLXYgdnYgIlx0b25lXG4iCitwcmludGYgIiVzIiAgIiR2diIKKworIyB0aGlzIHNob3VsZCBub3QgY3V0IG9mZiBvdXRwdXQgYWZ0ZXIgdGhlIFxjCitwcmludGYgLXYgdnYgIm9uZVxjdHdvXG4iCitwcmludGYgIiVzIiAgIiR2diIKKworIyBhbmQgdW5yZWNvZ25pemVkIGJhY2tzbGFzaCBlc2NhcGVzIHNob3VsZCBoYXZlIHRoZSBiYWNrc2xhc2ggcHJlc2VydmVyZAorcHJpbnRmIC12IHZ2ICI0XC4yXG4iCitwcmludGYgIiVzIiAgIiR2diIKKworcHJpbnRmIC12IHZ2ICJubyBuZXdsaW5lICIgOyBwcmludGYgIiVzIiAiJHZ2IiA7IHByaW50ZiAtdiB2diAibm93IG5ld2xpbmVcbiIKK3ByaW50ZiAiJXMiICAiJHZ2IgorCisjICUlIC0+ICUKK3ByaW50ZiAtdiB2diAiJSVcbiIKK3ByaW50ZiAiJXMiICAiJHZ2IgorCisjIHRoaXMgd2FzIGEgYnVnIGNhdXNlZCBieSBwcmUtcHJvY2Vzc2luZyB0aGUgc3RyaW5nIGZvciBiYWNrc2xhc2ggZXNjYXBlcworIyBiZWZvcmUgZG9pbmcgdGhlIGAlJyBmb3JtYXQgcHJvY2Vzc2luZyAtLSBhbGwgdmVyc2lvbnMgYmVmb3JlIGJhc2gtMi4wNAorcHJpbnRmIC12IHZ2ICJcMDQ1IgorcHJpbnRmICIlcyIgICIkdnYiCitlY2hvCitwcmludGYgLXYgdnYgIlwwNDVkXG4iCitwcmludGYgIiVzIiAgIiR2diIKKworIyBzaW1wbGUgY2hhcmFjdGVyIG91dHB1dAorcHJpbnRmIC12IHZ2ICIlY1xuIiBBQkNECitwcmludGYgIiVzIiAgIiR2diIKKworIyB0ZXN0IHNpbXBsZSBzdHJpbmcgb3V0cHV0CitwcmludGYgLXYgdnYgIiVzXG4iIHVucXVvdGVkCitwcmludGYgIiVzIiAgIiR2diIKKworIyB0ZXN0IHF1b3RlZCBzdHJpbmcgb3V0cHV0CitwcmludGYgLXYgdnYgIiVzICVxXG4iIHVucXVvdGVkIHF1b3RlZAorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiVzJTEwcVxuIiB1bnF1b3RlZCBxdW90ZWQKK3ByaW50ZiAiJXMiICAiJHZ2IgorCitwcmludGYgLXYgdnYgIiVxXG4iICd0aGlzJnRoYXQnCitwcmludGYgIiVzIiAgIiR2diIKKworIyBtYWtlIHN1cmUgdGhlIGZvcm1hdCBzdHJpbmcgaXMgcmV1c2VkIHRvIHVzZSB1cCBhcmd1bWVudHMKK3ByaW50ZiAtdiB2diAiJWQgIiAxIDIgMyA0IDUKK3ByaW50ZiAiJXMiICAiJHZ2IgorZWNobworCisjIG1ha2Ugc3VyZSB0aGF0IGV4dHJhIGZvcm1hdCBjaGFyYWN0ZXJzIGdldCBudWxsIGFyZ3VtZW50cworcHJpbnRmIC12IHZ2ICIlcyAlZCAlZCAlZFxuIiBvbmVzdHJpbmcKK3ByaW50ZiAiJXMiICAiJHZ2IgorCitwcmludGYgLXYgdnYgIiVzICVkICV1ICU0LjJmXG4iIG9uZXN0cmluZworcHJpbnRmICIlcyIgICIkdnYiCisKK3ByaW50ZiAtdiB2diAtLSAiLS0lcyAlcy0tXG4iIDQuMiAnJworcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgLS0gIi0tJXMgJXMtLVxuIiA0LjIKK3ByaW50ZiAiJXMiICAiJHZ2IgorCisjIHRlc3QgJWIgZXNjYXBlcworCisjIDggaXMgYSBub24tb2N0YWwgZGlnaXQsIHNvIHRoZSBgODEnIHNob3VsZCBiZSBvdXRwdXQKKyNwcmludGYgLXYgdnYgLS0gIi0tJWItLVxuIiAnXG5cMDgxJworI3ByaW50ZiAiJXMiICAiJHZ2IgorCitwcmludGYgLXYgdnYgLS0gIi0tJWItLVxuIiAnXHRcMDEwMScKK3ByaW50ZiAiJXMiICAiJHZ2IgorcHJpbnRmIC12IHZ2IC0tICItLSViLS1cbiIgJ1x0XDEwMScKK3ByaW50ZiAiJXMiICAiJHZ2IgorCisjIHRoZXNlIHNob3VsZCBhbGwgZGlzcGxheSBgQTcnCitwcmludGYgLXYgdnYgIiViXG4iICdcMDEwMTcnCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiJWJcbiIgJ1wxMDE3JworcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiViXG4iICdceDQxNycKK3ByaW50ZiAiJXMiICAiJHZ2IgorCitwcmludGYgLXYgdnYgLS0gIi0tJWItLVxuIiAnXCJhYmNkXCInCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAtLSAiLS0lYi0tXG4iICJcJ2FiY2RcJyIKK3ByaW50ZiAiJXMiICAiJHZ2IgorCitwcmludGYgLXYgdnYgLS0gIi0tJWItLVxuIiAnYVxceCcKK3ByaW50ZiAiJXMiICAiJHZ2IgorCitwcmludGYgLXYgdnYgLS0gIi0tJWItLVxuIiAnXHgnCitwcmludGYgIiVzIiAgIiR2diIKKworWjE9JChwcmludGYgLS0gIiViXG4iICdcYVxiXGVcZlxyXHYnKQorWjI9JCdcYVxiXGVcZlxyXHYnCisKK2lmIFsgIiRaMSIgIT0gIiRaMiIgXTsgdGhlbgorCXByaW50ZiAiJXMiICAid2hvb3BzOiBwcmludGYgLXYgdnYgJWIgYW5kICQnJyBkaWZmZXIiID4mMgorZmkKK3Vuc2V0IFoxIFoyCisKK3ByaW50ZiAtdiB2diAtLSAiLS0lYi0tXG4iICcnCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAtLSAiLS0lYi0tXG4iCitwcmludGYgIiVzIiAgIiR2diIKKworIyB0aGUgc3R1ZmYgZm9sbG93aW5nIHRoZSBcYyBzaG91bGQgYmUgaWdub3JlZCwgYXMgd2VsbCBhcyB0aGUgcmVzdAorIyBvZiB0aGUgZm9ybWF0IHN0cmluZworcHJpbnRmIC12IHZ2IC0tICItLSViLS1cbiIgJzQuMlxjNS40XG4nCitwcmludGYgIiVzIiAgIiR2diIKK2VjaG8KKworIyB1bnJlY29nbml6ZWQgZXNjYXBlIHNlcXVlbmNlcyBzaG91bGQgYnkgZGlzcGxheWVkIHVuY2hhbmdlZAorcHJpbnRmIC12IHZ2IC0tICItLSViLS1cbiIgJzRcLjInCitwcmludGYgIiVzIiAgIiR2diIKKworIyBhIGJhcmUgXCBzaG91bGQgbm90IGJlIHByb2Nlc3NlZCBhcyBhbiBlc2NhcGUgc2VxdWVuY2UKK3ByaW50ZiAtdiB2diAtLSAiLS0lYi0tXG4iICdcJworcHJpbnRmICIlcyIgICIkdnYiCisKKyMgbWFrZSBzdXJlIGV4dHJhIGFyZ3VtZW50cyBhcmUgaWdub3JlZCBpZiB0aGUgZm9ybWF0IHN0cmluZyBkb2Vzbid0CisjIGFjdHVhbGx5IHVzZSB0aGVtCitwcmludGYgLXYgdnYgIlxuIiA0LjQgQlNECitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiICIgNC40IEJTRAorcHJpbnRmICIlcyIgICIkdnYiCitlY2hvCisKKyMgbWFrZSBzdXJlIHRoYXQgYSBmaWVsZHdpZHRoIGFuZCBwcmVjaXNpb24gb2YgYConIGFyZSBoYW5kbGVkIHJpZ2h0CitwcmludGYgLXYgdnYgIiUxMC44c1xuIiA0LjRCU0QKK3ByaW50ZiAiJXMiICAiJHZ2IgorcHJpbnRmIC12IHZ2ICIlKi4qc1xuIiAxMCA4IDQuNEJTRAorcHJpbnRmICIlcyIgICIkdnYiCisKK3ByaW50ZiAtdiB2diAiJTEwLjhxXG4iIDQuNEJTRAorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiUqLipxXG4iIDEwIDggNC40QlNECitwcmludGYgIiVzIiAgIiR2diIKKworcHJpbnRmIC12IHZ2ICIlNmJcbiIgNC40QlNECitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiJSpiXG4iIDYgNC40QlNECitwcmludGYgIiVzIiAgIiR2diIKKworIyB3ZSBoYW5kbGUgdGhpcyBjcmFwIHdpdGggaG9tZW1hZGUgY29kZSBpbiBwcmludGYgLXYgdnYuZGVmCitwcmludGYgLXYgdnYgIiUxMGJcbiIgNC40QlNECitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAtLSAiLS0lLTEwYi0tXG4iIDQuNEJTRAorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiU0LjJiXG4iIDQuNEJTRAorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiUuM2JcbiIgNC40QlNECitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAtLSAiLS0lLThiLS1cbiIgNC40QlNECitwcmludGYgIiVzIiAgIiR2diIKKworIyB0ZXN0IG51bWVyaWMgY29udmVyc2lvbnMgLS0gdGhlc2UgZm91ciBsaW5lcyBzaG91bGQgcHJpbnRmICIlcyIgIGlkZW50aWNhbGx5CitwcmludGYgLXYgdnYgIiVkICV1ICVpIDAlbyAweCV4IDB4JVhcbiIgMjU1IDI1NSAyNTUgMjU1IDI1NSAyNTUKK3ByaW50ZiAiJXMiICAiJHZ2IgorcHJpbnRmIC12IHZ2ICIlZCAldSAlaSAlI28gJSN4ICUjWFxuIiAyNTUgMjU1IDI1NSAyNTUgMjU1IDI1NQorcHJpbnRmICIlcyIgICIkdnYiCisKK3ByaW50ZiAtdiB2diAiJWxkICVsdSAlbGkgMCVvIDB4JXggMHglWFxuIiAyNTUgMjU1IDI1NSAyNTUgMjU1IDI1NQorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiVsZCAlbHUgJWxpICUjbyAlI3ggJSNYXG4iIDI1NSAyNTUgMjU1IDI1NSAyNTUgMjU1CitwcmludGYgIiVzIiAgIiR2diIKKworcHJpbnRmIC12IHZ2ICIlMTBkXG4iIDQyCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiJTEwZFxuIiAtNDIKK3ByaW50ZiAiJXMiICAiJHZ2IgorCitwcmludGYgLXYgdnYgIiUqZFxuIiAxMCA0MgorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiUqZFxuIiAxMCAtNDIKK3ByaW50ZiAiJXMiICAiJHZ2IgorCisjIHRlc3Qgc29tZSBzaW1wbGUgZmxvYXRpbmcgcG9pbnQgZm9ybWF0cworcHJpbnRmIC12IHZ2ICIlNC4yZlxuIiA0LjIKK3ByaW50ZiAiJXMiICAiJHZ2IgorcHJpbnRmIC12IHZ2ICIlIzQuMmZcbiIgNC4yCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiJSM0LjFmXG4iIDQuMgorcHJpbnRmICIlcyIgICIkdnYiCisKK3ByaW50ZiAtdiB2diAiJSouKmZcbiIgNCAyIDQuMgorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiUjKi4qZlxuIiA0IDIgNC4yCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiJSMqLipmXG4iIDQgMSA0LjIKK3ByaW50ZiAiJXMiICAiJHZ2IgorCitwcmludGYgLXYgdnYgIiVFXG4iIDQuMgorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiVlXG4iIDQuMgorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiU2LjFFXG4iIDQuMgorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiU2LjFlXG4iIDQuMgorcHJpbnRmICIlcyIgICIkdnYiCisKK3ByaW50ZiAtdiB2diAiJUdcbiIgNC4yCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiJWdcbiIgNC4yCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiJTYuMkdcbiIgNC4yCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiJTYuMmdcbiIgNC4yCitwcmludGYgIiVzIiAgIiR2diIKKworIyB0ZXN0IHNvbWUgb2YgdGhlIG1vcmUgZXNvdGVyaWMgZmVhdHVyZXMgb2YgUE9TSVguMSBwcmludGYgLXYgdnYKK3ByaW50ZiAtdiB2diAiJWRcbiIgIidzdHJpbmcnIgorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiVkXG4iICcic3RyaW5nIicKK3ByaW50ZiAiJXMiICAiJHZ2IgorCitwcmludGYgLXYgdnYgIiUjb1xuIiAiJ3N0cmluZyciCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiJSNvXG4iICcic3RyaW5nIicKK3ByaW50ZiAiJXMiICAiJHZ2IgorCitwcmludGYgLXYgdnYgIiUjeFxuIiAiJ3N0cmluZyciCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiJSNYXG4iICcic3RyaW5nIicKK3ByaW50ZiAiJXMiICAiJHZ2IgorCitwcmludGYgLXYgdnYgIiU2LjJmXG4iICInc3RyaW5nJyIKK3ByaW50ZiAiJXMiICAiJHZ2IgorcHJpbnRmIC12IHZ2ICIlNi4yZlxuIiAnInN0cmluZyInCitwcmludGYgIiVzIiAgIiR2diIKKworIyBvdXRwdXQgZnJvbSB0aGVzZSB0d28gbGluZXMgaGFkIGJldHRlciBiZSB0aGUgc2FtZQorcHJpbnRmIC12IHZ2IC0tICItLSU2LjRzLS1cbiIgYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoKK3ByaW50ZiAiJXMiICAiJHZ2IgorcHJpbnRmIC12IHZ2IC0tICItLSU2LjRiLS1cbiIgYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXoKK3ByaW50ZiAiJXMiICAiJHZ2IgorCisjIGFuZCB0aGVzZSB0d28gYWxzbworcHJpbnRmIC12IHZ2IC0tICItLSUxMi4xMHMtLVxuIiBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5egorcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgLS0gIi0tJTEyLjEwYi0tXG4iIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6CitwcmludGYgIiVzIiAgIiR2diIKKworIyB0ZXN0cyBmb3IgdHJhbnNsYXRpbmcgXCcgdG8gJyBhbmQgXFwgdG8gXAorIyBwcmludGYgLXYgdnYgdHJhbnNsYXRlcyBcJyB0byAnIGluIHRoZSBmb3JtYXQgc3RyaW5nLi4uCitwcmludGYgLXYgdnYgIlwnYWJjZFwnXG4iCitwcmludGYgIiVzIiAgIiR2diIKKworIyBidXQgbm90IHdoZW4gdGhlICViIGZvcm1hdCBzcGVjaWZpY2F0aW9uIGlzIHVzZWQKK3ByaW50ZiAtdiB2diAiJWJcbiIgXFxcJ2FiY2RcXFwnCitwcmludGYgIiVzIiAgIiR2diIKKworIyBidXQgYm90aCB0cmFuc2xhdGUgXFwgdG8gXAorcHJpbnRmIC12IHZ2ICdcXGFiY2RcXFxuJworcHJpbnRmICIlcyIgICIkdnYiCitwcmludGYgLXYgdnYgIiViXG4iICdcXGFiY2RcXCcKK3ByaW50ZiAiJXMiICAiJHZ2IgorCisjIHRoaXMgd2FzIHJlcG9ydGVkIGFzIGEgYnVnIGluIGJhc2gtMi4wMworIyB0aGVzZSB0aHJlZSBsaW5lcyBzaG91bGQgYWxsIHByaW50ZiAiJXMiICBgMjYnCitwcmludGYgLXYgdnYgIiVkXG4iIDB4MWEKK3ByaW50ZiAiJXMiICAiJHZ2IgorcHJpbnRmIC12IHZ2ICIlZFxuIiAwMzIKK3ByaW50ZiAiJXMiICAiJHZ2IgorcHJpbnRmIC12IHZ2ICIlZFxuIiAyNgorcHJpbnRmICIlcyIgICIkdnYiCisKKyMgZXJyb3IgbWVzc2FnZXMKKworIyB0aGlzIHNob3VsZCBiZSBhbiBvdmVyZmxvdywgYnV0IGVycm9yIG1lc3NhZ2VzIHZhcnkgYmV0d2VlbiBzeXN0ZW1zCisjIHByaW50ZiAtdiB2diAiJWx1XG4iIDQyOTQ5NjcyOTYKKworIyAuLi5idXQgd2UgY2Fubm90IHVzZSB0aGlzIGJlY2F1c2Ugc29tZSBzeXN0ZW1zIChTdW5PUzQsIGZvciBleGFtcGxlKSwKKyMgaGFwcGlseSBpZ25vcmUgb3ZlcmZsb3cgY29uZGl0aW9ucyBpbiBzdHJ0b2woMykKKyNwcmludGYgLXYgdnYgIiVsZFxuIiA0Mjk0OTY3Mjk2CisKK3ByaW50ZiAtdiB2diAiJTEwIgorcHJpbnRmIC12IHZ2ICJhYiVNY2RcbiIKKworIyB0aGlzIGNhdXNlZCBhbiBpbmZpbml0ZSBsb29wIGluIG9sZGVyIHZlcnNpb25zIG9mIHByaW50ZiAtdiB2dgorcHJpbnRmIC12IHZ2ICIleSIgMAorCisjIHRoZXNlIHNob3VsZCBwcmludCBhIHdhcm5pbmcgYW5kIGAwJywgYWNjb3JkaW5nIHRvIFBPU0lYLjIKK3ByaW50ZiAtdiB2diAiJWRcbiIgR05VCitwcmludGYgIiVzIiAgIiR2diIKK3ByaW50ZiAtdiB2diAiJW9cbiIgR05VCitwcmludGYgIiVzIiAgIiR2diIKKworIyBmYWlsdXJlcyBpbiBhbGwgYmFzaCB2ZXJzaW9ucyB0aHJvdWdoIGJhc2gtMi4wNQorcHJpbnRmIC12IHZ2ICIlLjBzIiBmb28KK3ByaW50ZiAiJXMiICAiJHZ2IgorcHJpbnRmIC12IHZ2ICIlLipzIiAwIGZvbworcHJpbnRmICIlcyIgICIkdnYiCisKK3ByaW50ZiAtdiB2diAnJS4wYi0lLjBzXG4nIGZvbyBiYXIKK3ByaW50ZiAiJXMiICAiJHZ2IgorcHJpbnRmIC12IHZ2ICcoJSpiKSglKnMpXG4nIC00IGZvbyAtNCBiYXIKK3ByaW50ZiAiJXMiICAiJHZ2IgorCitmb3JtYXQ9JyUnYHByaW50ZiAnJTAxMDAzODRkJyAwYCdkXG4nIAorcHJpbnRmIC12IHZ2ICRmb3JtYXQgMAorcHJpbnRmICIlcyIgICIkdnYiCisKKyMgZmFpbHVyZXMgaW4gYWxsIGJhc2ggdmVyc2lvbnMgdGhyb3VnaCBiYXNoLTMuMCAtIHVuZGVyY291bnRlZCBjaGFyYWN0ZXJzCit1bnNldCB2dgorcHJpbnRmIC12IHZ2ICIgICVzICVzICVzICBcbiVuIiBhYiBjZCBlZiB2dnYKK3ByaW50ZiAiJXMiICIkdnYiCitlY2hvICR2dnYKKworIyB0aGlzIGRvZXNuJ3Qgd29yayB3aXRoIHByaW50ZiAtdiB2digzKSBvbiBhbGwgc3lzdGVtcworI3ByaW50ZiAtdiB2diAiJSdzXG4iIGZvbworCisjIHRlc3QgY2FzZXMgZnJvbSBhbiBhdXN0aW4tZ3JvdXAgbGlzdCBkaXNjdXNzaW9uCisjIHByaW50cyBeRyBhcyBhbiBleHRlbnNpb24KK3ByaW50ZiAtdiB2diAnJWJcbicgJ1w3JworcHJpbnRmICIlcyIgICIkdnYiCisKKyMgcHJpbnRzIF5HCitwcmludGYgLXYgdnYgJyViXG4nICdcMDAwNycKK3ByaW50ZiAiJXMiICAiJHZ2IgorCisjIHByaW50cyBOVUwgdGhlbiA3CisjcHJpbnRmIC12IHZ2ICdcMDAwN1xuJworI3ByaW50ZiAiJXMiICAiJHZ2IgorCisjIHByaW50cyBubyBtb3JlIHRoYW4gdHdvIGhleCBkaWdpdHMKK3ByaW50ZiAtdiB2diAnXHgwN2VcbicKK3ByaW50ZiAiJXMiICAiJHZ2IgorCisjIGFkZGl0aW9uYWwgYmFja3NsYXNoIGVzY2FwZXMKK3ByaW50ZiAtdiB2diAnXCJcP1xuJworcHJpbnRmICIlcyIgICIkdnYiCmRpZmYgLS1naXQgYS90ZXN0cy9wcmludGYyLnN1YiBiL3Rlc3RzL3ByaW50ZjIuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjZmYzMGQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9wcmludGYyLnN1YgpAQCAtMCwwICsxLDYgQEAKK2V4cG9ydCBMQU5HPWVuX1VTLlVURi04CisKK2Nhc2UgJChwcmludGYgJWRcXG4gXCfDgCkgaW4KKzE5MikJZXhpdCAwOzsKKyopCWVjaG8gInByaW50ZjIuc3ViOiBtdWx0aWJ5dGUgY2hhcmFjdGVyIGNvbnZlcnNpb24gZmFpbGVkIiA+JjIgOyBleGl0IDIgOzsKK2VzYWMKZGlmZiAtLWdpdCBhL3Rlc3RzL3ByaW50ZjMuc3ViIGIvdGVzdHMvcHJpbnRmMy5zdWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVhMjcwNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3ByaW50ZjMuc3ViCkBAIC0wLDAgKzEsNTMgQEAKK0xDX0FMTD1DCitMQU5HPUMKKworU0hFTExTVEFSVD0kKGRhdGUgKyVzKQorU0VDUz0xMjc1MjUwMTU1CitleHBvcnQgVFo9RVNUNUVEVAorCitwcmludGYgIiUoKVRcbiIgJFNFQ1MKK3ByaW50ZiAiJShhYmRlKVpcbiIgLTEKKworcHJpbnRmICIlKCVlLSViLSVZICVUKVRcbiIgJFNFQ1MKKworcHJpbnRmIC12IHYxICIlKCVlLSViLSVZICVUKVRcbiIgJChkYXRlICslcykKK3ByaW50ZiAtdiB2MiAiJSglZS0lYi0lWSAlVClUXG4iIC0xCisKK2Nhc2UgJHYxIGluCiskdjIpCTs7CisqKQllY2hvICJjdXJyZW50IHRpbWUgYW5kIC0xIHBvc3NpYmxlIG1pc21hdGNofCR2MXwkdjJ8IiA+JjIgOzsKK2VzYWMKK3Vuc2V0IHYxIHYyCisKK3YxPSQoZGF0ZSArJXMpCitwcmludGYgLXYgdjIgIiUoJXMpVCIgLTEKKworY2FzZSAkdjEgaW4KKyR2MikJOzsKKyopCWVjaG8gImN1cnJlbnQgdGltZSBtaXNtYXRjaDokdjF8JHYyfCIgPiYyIDs7Citlc2FjCit1bnNldCB2MSB2MgorCitwcmludGYgIiUoJXggJVgpVFxuIiAkKCggJFNFQ1MgLSAzNjAwICkpCisKK3ByaW50ZiAtdiB2MSAiJSglRiAlcilUXG4iICRTSEVMTFNUQVJUCitwcmludGYgLXYgdjIgIiUoJUYgJXIpVFxuIiAtMgorCitjYXNlICR2MSBpbgorJHYyKQk7OworKikJZWNobyAic2hlbGwgc3RhcnQgdGltZSBhbmQgLTIgcG9zc2libGUgbWlzbWF0Y2h8JHYxfCR2MnwiID4mMiA7OworZXNhYwordW5zZXQgdjEgdjIKKworcHJpbnRmICJjdXJyZW50IHRpbWU6ICUoJUYgJXIpVFxuIiAkU0VDUworCitwcmludGYgImVwb2NoIHRpbWU6ICUoJUYgJXIgJXopVFxuIiAwCitwcmludGYgInJhbmRvbSB0aW1lOiAlKCVGICVyICV6KVRcbiIgICRTRUNTCisKK3ByaW50ZiAibG9jYWwgdGltZTogJSglYSAlYiAlZSAlSDolTTolUyAlWiAlWSlUXG4iICRTRUNTCisKKyMgdGVzdCBmaWVsZHdpZHRoLCBqdXN0aWZpY2F0aW9uLCBwcmVjaXNpb24KK3ByaW50ZiAiJS00MC41MCglYSAlYiAlZSAlSDolTTolUyAlWiAlWSlUIGRhdGUtc3R5bGUgdGltZVxuIiAkU0VDUworCisjIHRlc3QgZmllbGR3aWR0aCwganVzdGlmaWNhdGlvbiwgcHJlY2lzaW9uLCBlbWJlZGRlZCBwYXJlbnMKK3ByaW50ZiAiJS00MC41MCgleCAoZm9vKSAlWClUIGRhdGUtc3R5bGUgdGltZVxuIiAkU0VDUwpkaWZmIC0tZ2l0IGEvdGVzdHMvcmVhZC5yaWdodCBiL3Rlc3RzL3JlYWQucmlnaHQKaW5kZXggYjQ2MzgyNS4uZDk2MzJhOCAxMDA2NDQKLS0tIGEvdGVzdHMvcmVhZC5yaWdodAorKysgYi90ZXN0cy9yZWFkLnJpZ2h0CkBAIC01OSw3ICs1OSw3IEBACiBhcmd2WzJdID0gPD4KIGFyZ3ZbM10gPSA8PgogRk9PCi0gICAgICAgMCAgICAgICAwICAgICAgIDAKKzAgMCAwCiAwCiAwCiAxCmRpZmYgLS1naXQgYS90ZXN0cy9yZWFkNS5zdWIgYi90ZXN0cy9yZWFkNS5zdWIKaW5kZXggNThiOTkyZC4uZTM1Njc0ZSAxMDA2NDQKLS0tIGEvdGVzdHMvcmVhZDUuc3ViCisrKyBiL3Rlc3RzL3JlYWQ1LnN1YgpAQCAtMzIsNSArMzIsNCBAQAogZmkKIAogZWNobyAtbiAke0FbMF19IHwgY2F0IC12ZXQKLWVjaG8gLW4gJHtBWzBdfSB8IHdjCi0KK2VjaG8gLW4gJHtBWzBdfSB8IHdjIHwgKCBJRlM9JCcgXHRcbicgOyAgd2hpbGUgcmVhZCBsaW5lOyBkbyBlY2hvICRsaW5lOyBkb25lOyApCmRpZmYgLS1naXQgYS90ZXN0cy9yc2gucmlnaHQgYi90ZXN0cy9yc2gucmlnaHQKaW5kZXggMDRjNjk3MS4uMDIyYjJjYSAxMDA2NDQKLS0tIGEvdGVzdHMvcnNoLnJpZ2h0CisrKyBiL3Rlc3RzL3JzaC5yaWdodApAQCAtNyw3ICs3LDcgQEAKIC4vcnNoLnRlc3RzOiBsaW5lIDIxOiAvdG1wL3Jlc3RyaWN0ZWQ6IHJlc3RyaWN0ZWQ6IGNhbm5vdCByZWRpcmVjdCBvdXRwdXQKIC4vcnNoLnRlc3RzOiBsaW5lIDI2OiBjb21tYW5kOiAtcDogcmVzdHJpY3RlZAogLi9yc2gudGVzdHM6IGxpbmUgMjg6IHNldDogK3I6IGludmFsaWQgb3B0aW9uCi1zZXQ6IHVzYWdlOiBzZXQgWy0tYWJlZmhrbW5wdHV2eEJDSFBdIFstbyBvcHRpb24tbmFtZV0gW2FyZyAuLi5dCitzZXQ6IHVzYWdlOiBzZXQgWy1hYmVmaGttbnB0dXZ4QkNIUF0gWy1vIG9wdGlvbi1uYW1lXSBbLS1dIFthcmcgLi4uXQogLi9yc2gudGVzdHM6IGxpbmUgMjk6IHNldDogcmVzdHJpY3RlZDogaW52YWxpZCBvcHRpb24gbmFtZQogLi9yc2gudGVzdHM6IGxpbmUgMzE6IGV4ZWM6IHJlc3RyaWN0ZWQKIC4vcnNoLnRlc3RzOiBhZnRlciBleGVjCmRpZmYgLS1naXQgYS90ZXN0cy9ydW4tZ2xvYnN0YXIgYi90ZXN0cy9ydW4tZ2xvYnN0YXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDEyY2NlOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1nbG9ic3RhcgpAQCAtMCwwICsxLDQgQEAKK1BBVEg9JFBBVEg6YHB3ZGAKK2V4cG9ydCBQQVRICiske1RISVNfU0h9IC4vZ2xvYnN0YXIudGVzdHMgID4gL3RtcC94eCAyPiYxCitkaWZmIC90bXAveHggZ2xvYnN0YXIucmlnaHQgJiYgcm0gLWYgL3RtcC94eApkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLWxhc3RwaXBlIGIvdGVzdHMvcnVuLWxhc3RwaXBlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyYWMwMzAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9ydW4tbGFzdHBpcGUKQEAgLTAsMCArMSwyIEBACiske1RISVNfU0h9IC4vbGFzdHBpcGUudGVzdHMgPiAvdG1wL3h4IDI+JjEKK2RpZmYgL3RtcC94eCBsYXN0cGlwZS5yaWdodCAmJiBybSAtZiAvdG1wL3h4CmRpZmYgLS1naXQgYS90ZXN0cy9ydW4tbWluaW1hbCBiL3Rlc3RzL3J1bi1taW5pbWFsCmluZGV4IDAwNTRjZGEuLmRlOTgzNDQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3J1bi1taW5pbWFsCisrKyBiL3Rlc3RzL3J1bi1taW5pbWFsCkBAIC0yNyw3ICsyNyw3IEBACiAJKi5vcmlnfCp+KSA7OwogCXJ1bi1kb2xsYXJzfHJ1bi1leGVjc2NyaXB0fHJ1bi1mdW5jfHJ1bi1nZXRvcHRzfHJ1bi1oZXJlZG9jKSBlY2hvICR4IDsgc2ggJHggOzsKIAlydW4taWZzLXRlc3RzfHJ1bi1pbnB1dC10ZXN0fHJ1bi1pbnZlcnR8cnVuLW1vcmUtZXhwfHJ1bi1ucXVvdGUpIGVjaG8gJHggOyBzaCAkeCA7OwotCXJ1bi1pZnMtcG9zaXh8cnVuLXBvc2l4MnxydW4tcG9zaXhwYXQpIGVjaG8gJHggOyBzaCAkeCA7OworCXJ1bi1pZnMtcG9zaXh8cnVuLXBvc2l4MnxydW4tcG9zaXhwYXR8cnVuLXBvc2l4cGlwZSkgZWNobyAkeCA7IHNoICR4IDs7CiAJcnVuLXByZWNlZGVuY2V8cnVuLXF1b3RlfHJ1bi1yZWFkfHJ1bi1yaHMtZXhwfHJ1bi1zdHJpcHxydW4tdGlsZGUpIGVjaG8gJHggOyBzaCAkeCA7OwogCSopCTs7CiAJZXNhYwpkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLXBvc2l4ZXhwIGIvdGVzdHMvcnVuLXBvc2l4ZXhwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1YTFjM2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9ydW4tcG9zaXhleHAKQEAgLTAsMCArMSwyIEBACiske1RISVNfU0h9IC4vcG9zaXhleHAudGVzdHMgPiAvdG1wL3h4IDI+JjEKK2RpZmYgL3RtcC94eCBwb3NpeGV4cC5yaWdodCAmJiBybSAtZiAvdG1wL3h4CmRpZmYgLS1naXQgYS90ZXN0cy9ydW4tcG9zaXhleHAyIGIvdGVzdHMvcnVuLXBvc2l4ZXhwMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YTI4OTBmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvcnVuLXBvc2l4ZXhwMgpAQCAtMCwwICsxLDIgQEAKKyR7VEhJU19TSH0gLi9wb3NpeGV4cDIudGVzdHMgPiAvdG1wL3h4IDI+JjEKK2RpZmYgL3RtcC94eCBwb3NpeGV4cDIucmlnaHQgJiYgcm0gLWYgL3RtcC94eApkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLXBvc2l4cGlwZSBiL3Rlc3RzL3J1bi1wb3NpeHBpcGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU3NDUzNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3J1bi1wb3NpeHBpcGUKQEAgLTAsMCArMSwyIEBACiske1RISVNfU0h9IC4vcG9zaXhwaXBlLnRlc3RzID4gL3RtcC94eCAyPiYxCitkaWZmIC90bXAveHggcG9zaXhwaXBlLnJpZ2h0ICYmIHJtIC1mIC90bXAveHgKZGlmZiAtLWdpdCBhL3Rlc3RzL3J1bi12cmVkaXIgYi90ZXN0cy9ydW4tdnJlZGlyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhOTYzNzcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9ydW4tdnJlZGlyCkBAIC0wLDAgKzEsMiBAQAorJHtUSElTX1NIfSAuL3ZyZWRpci50ZXN0cyA+IC90bXAveHggMj4mMQorZGlmZiAvdG1wL3h4IHZyZWRpci5yaWdodCAmJiBybSAtZiAvdG1wL3h4CmRpZmYgLS1naXQgYS90ZXN0cy9zZXQteDEuc3ViIGIvdGVzdHMvc2V0LXgxLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmFhMjE2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvc2V0LXgxLnN1YgpAQCAtMCwwICsxLDI1IEBACis6ICR7VE1QRElSOj0vdmFyL3RtcH0KK1RSQUNFRklMRT0kVE1QRElSL2Jhc2gtdHJhY2UtJCQKK3RyYXAgJ3JtIC1mICRUUkFDRUZJTEUnIDAgMSAyIDMgNiAxNQorCitleGVjIDQ+JFRSQUNFRklMRQorQkFTSF9YVFJBQ0VGRD00CisKK3NldCAteAorCitlY2hvIDEKK2VjaG8gMgorZWNobyAzCitlY2hvIDQKKwordW5zZXQgQkFTSF9YVFJBQ0VGRAorCitmb3IgZiBpbiBhIGIgYyBkIGU7IGRvIGVjaG8gJGYgOyBkb25lCisKK3NldCAreAorCitlY2hvIFRSQUNFRklMRToKK2NhdCAkVFJBQ0VGSUxFCitlY2hvID09PT09CisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdGVzdHMvc2hvcHQucmlnaHQgYi90ZXN0cy9zaG9wdC5yaWdodAppbmRleCA3YmFjYzBlLi40MDgwNTAzIDEwMDY0NAotLS0gYS90ZXN0cy9zaG9wdC5yaWdodAorKysgYi90ZXN0cy9zaG9wdC5yaWdodApAQCAtMTEsNiArMTEsNyBAQAogc2hvcHQgLXUgY29tcGF0MzEKIHNob3B0IC11IGNvbXBhdDMyCiBzaG9wdCAtdSBjb21wYXQ0MAorc2hvcHQgLXUgY29tcGF0NDEKIHNob3B0IC11IGRpcnNwZWxsCiBzaG9wdCAtdSBkb3RnbG9iCiBzaG9wdCAtdSBleGVjZmFpbApAQCAtMjgsNiArMjksNyBAQAogc2hvcHQgLXMgaG9zdGNvbXBsZXRlCiBzaG9wdCAtdSBodXBvbmV4aXQKIHNob3B0IC1zIGludGVyYWN0aXZlX2NvbW1lbnRzCitzaG9wdCAtdSBsYXN0cGlwZQogc2hvcHQgLXUgbGl0aGlzdAogc2hvcHQgLXUgbG9naW5fc2hlbGwKIHNob3B0IC11IG1haWx3YXJuCkBAIC02NSw2ICs2Nyw3IEBACiBzaG9wdCAtdSBjb21wYXQzMQogc2hvcHQgLXUgY29tcGF0MzIKIHNob3B0IC11IGNvbXBhdDQwCitzaG9wdCAtdSBjb21wYXQ0MQogc2hvcHQgLXUgZGlyc3BlbGwKIHNob3B0IC11IGRvdGdsb2IKIHNob3B0IC11IGV4ZWNmYWlsCkBAIC03Nyw2ICs4MCw3IEBACiBzaG9wdCAtdSBoaXN0cmVlZGl0CiBzaG9wdCAtdSBoaXN0dmVyaWZ5CiBzaG9wdCAtdSBodXBvbmV4aXQKK3Nob3B0IC11IGxhc3RwaXBlCiBzaG9wdCAtdSBsaXRoaXN0CiBzaG9wdCAtdSBsb2dpbl9zaGVsbAogc2hvcHQgLXUgbWFpbHdhcm4KQEAgLTk2LDYgKzEwMCw3IEBACiBjb21wYXQzMSAgICAgICAJb2ZmCiBjb21wYXQzMiAgICAgICAJb2ZmCiBjb21wYXQ0MCAgICAgICAJb2ZmCitjb21wYXQ0MSAgICAgICAJb2ZmCiBkaXJzcGVsbCAgICAgICAJb2ZmCiBkb3RnbG9iICAgICAgICAJb2ZmCiBleGVjZmFpbCAgICAgICAJb2ZmCkBAIC0xMDgsNiArMTEzLDcgQEAKIGhpc3RyZWVkaXQgICAgIAlvZmYKIGhpc3R2ZXJpZnkgICAgIAlvZmYKIGh1cG9uZXhpdCAgICAgIAlvZmYKK2xhc3RwaXBlICAgICAgIAlvZmYKIGxpdGhpc3QgICAgICAgIAlvZmYKIGxvZ2luX3NoZWxsICAgIAlvZmYKIG1haWx3YXJuICAgICAgIAlvZmYKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QucmlnaHQgYi90ZXN0cy90ZXN0LnJpZ2h0CmluZGV4IGM1ZDdjOTAuLjdmY2Q5OTYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3QucmlnaHQKKysrIGIvdGVzdHMvdGVzdC5yaWdodApAQCAtMTgwLDYgKzE4MCwxMiBAQAogMQogdCAhIC1vIGFsbGV4cG9ydAogMAordCAtdiB1bnNldAorMQordCAtdiBzZXQKKzAKK3QgLXYgc2V0CiswCiB0IHh4IC1hIHl5CiAwCiB0IHh4IC1vICIiCkBAIC0yNjYsNyArMjcyLDcgQEAKIDIKIC4vdGVzdC50ZXN0czogbGluZSAxMzogdGVzdDogdG9vIG1hbnkgYXJndW1lbnRzCiAyCi0uL3Rlc3QudGVzdHM6IGxpbmUgNDA2OiBbOiBtaXNzaW5nIGBdJworLi90ZXN0LnRlc3RzOiBsaW5lIDQxODogWzogbWlzc2luZyBgXScKIDIKIC4vdGVzdC50ZXN0czogbGluZSAxMzogdGVzdDogKDogdW5hcnkgb3BlcmF0b3IgZXhwZWN0ZWQKIDIKZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3QudGVzdHMgYi90ZXN0cy90ZXN0LnRlc3RzCmluZGV4IDQ3YWQ5YmIuLjQ3ZWVmMzUgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3Rlc3QudGVzdHMKKysrIGIvdGVzdHMvdGVzdC50ZXN0cwpAQCAtMjg2LDEyICsyODYsMjQgQEAKIGVjaG8gJ3QgLW4gYWJjZCAtYSAteiBhYWEnCiB0IC1uIGFiY2QgLWEgLXogYWFhCiAKKyMgdGVzdCBzZXQgb3IgdW5zZXQgc2hlbGwgb3B0aW9ucwogc2V0ICtvIGFsbGV4cG9ydAogZWNobyAndCAtbyBhbGxleHBvcnQnCiB0IC1vIGFsbGV4cG9ydAogZWNobyAndCAhIC1vIGFsbGV4cG9ydCcKIHQgISAtbyBhbGxleHBvcnQKIAorI3Rlc3Qgc2V0IG9yIHVuc2V0IHNoZWxsIHZhcmlhYmxlcwordW5zZXQgdW5zZXQKK2VjaG8gJ3QgLXYgdW5zZXQnCit0IC12IHVuc2V0CitzZXQ9CitlY2hvICd0IC12IHNldCcKK3QgLXYgc2V0CitzZXQ9c2V0CitlY2hvICd0IC12IHNldCcKK3QgLXYgc2V0CisKIGVjaG8gJ3QgeHggLWEgeXknCiB0IHh4IC1hIHl5CiBlY2hvICd0IHh4IC1vICIiJwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHJhcC5yaWdodCBiL3Rlc3RzL3RyYXAucmlnaHQKaW5kZXggYzg0MTdhYy4uZDE4NzlhNCAxMDA2NDQKLS0tIGEvdGVzdHMvdHJhcC5yaWdodAorKysgYi90ZXN0cy90cmFwLnJpZ2h0CkBAIC01Myw2ICs1Myw3IEBACiB0cmFwIC0tICdlY2hvIGFib3J0aW5nJyBTSUdBQlJUCiB0cmFwIC0tICdlY2hvIGFib3J0aW5nJyBTSUdURVJNCiAwCit0cmFwIC0tICcnIFNJR1VTUjIKIEVSUlRSQVAKIEVSUlRSQVAKIEVSUlRSQVAKZGlmZiAtLWdpdCBhL3Rlc3RzL3RyYXAudGVzdHMgYi90ZXN0cy90cmFwLnRlc3RzCmluZGV4IGRlZDFkNzAuLmU5ZTEwY2MgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3RyYXAudGVzdHMKKysrIGIvdGVzdHMvdHJhcC50ZXN0cwpAQCAtOTAsNCArOTAsMyBAQAogCiB0cmFwIC0gU0lHQ0hMRAogd2FpdAotCmRpZmYgLS1naXQgYS90ZXN0cy90cmFwMy5zdWIgYi90ZXN0cy90cmFwMy5zdWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGRmNDQ1NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RyYXAzLnN1YgpAQCAtMCwwICsxLDkgQEAKK1BTND0nK1skTElORU5PXSAnCit0cmFwICdlY2hvIHRyYXA6ICRMSU5FTk8nIEVSUgorCitzZXQgLXgKKworZWNobyAxCitlY2hvIDIKK2VjaG8gMyB8IGNhdCB8IGZhbHNlCitlY2hvIDQKZGlmZiAtLWdpdCBhL3Rlc3RzL3R5cGUucmlnaHQgYi90ZXN0cy90eXBlLnJpZ2h0CmluZGV4IGE2MjgyMzEuLjZkYmNlNjQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3R5cGUucmlnaHQKKysrIGIvdGVzdHMvdHlwZS5yaWdodApAQCAtODAsMyArODAsMTkgQEAKIAogYmFyCiBxdXgKK2ZvbyBpcyBhIGZ1bmN0aW9uCitmb28gKCkgCit7IAorICAgIHJtIC1mIGEgYiBjOworICAgIGZvciBmIGluIGEgYiBjOworICAgIGRvCisgICAgICAgIGNhdCAgPj4gJHtmfSA8PC1FT0YKK2ZpbGUKK0VPRgorCisgICAgZG9uZQorICAgIGdyZXAgLiBhIGIgYworfQorYTpmaWxlCitiOmZpbGUKK2M6ZmlsZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHlwZS50ZXN0cyBiL3Rlc3RzL3R5cGUudGVzdHMKaW5kZXggNmNhYTI0My4uMmRmNGVmZCAxMDA2NDQKLS0tIGEvdGVzdHMvdHlwZS50ZXN0cworKysgYi90ZXN0cy90eXBlLnRlc3RzCkBAIC05MSwzICs5MSw1IEBACiAke1RISVNfU0h9IHR5cGUxLnN1YgogCiAke1RISVNfU0h9IHR5cGUyLnN1YgorCiske1RISVNfU0h9IHR5cGUzLnN1YgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHlwZTIuc3ViIGIvdGVzdHMvdHlwZTIuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmODVlYWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90eXBlMi5zdWIKQEAgLTAsMCArMSwxNiBAQAorZm9vKCkKK3sKKwllY2hvCisJY2F0IDw8RU5ECitiYXIKK0VORAorCWNhdCA8PEVPRgorcXV4CitFT0YKK30KKwordHlwZSBmb28KK2ZvbworCitldmFsICIkKHR5cGUgZm9vIHwgc2VkIDFkKSIKK2ZvbwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHlwZTMuc3ViIGIvdGVzdHMvdHlwZTMuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MGFmZWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90eXBlMy5zdWIKQEAgLTAsMCArMSwxOCBAQAorY2QgJHtUTVBESVI6LS90bXB9CisKK2ZvbygpIHsKKwlybSAtZiBhIGIgYworCWZvciBmIGluIGEgYiBjOyBkbworCQljYXQgPDwtRU9GID4+ICR7Zn0KKwkJZmlsZQorCQlFT0YKKwlkb25lCisJZ3JlcCAuIGEgYiBjCit9CisKK3R5cGUgZm9vCisKK2V2YWwgIiQodHlwZSBmb28gfCBzZWQgMWQpIgorZm9vCisKK3JtIC1mIGEgYiBjCmRpZmYgLS1naXQgYS90ZXN0cy92cmVkaXIucmlnaHQgYi90ZXN0cy92cmVkaXIucmlnaHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg1YTEwZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3ZyZWRpci5yaWdodApAQCAtMCwwICsxLDk0IEBACisxMAorZm9vIDEKK2ZvbyAyCitmb28gMworYmFyIGlzIGEgZnVuY3Rpb24KK2JhciAoKSAKK3sgCisgICAgZXhlYyB7dn0+ICRUTVBGSUxFOworICAgIGVjaG8gJHYKK30KKy4vdnJlZGlyLnRlc3RzOiBsaW5lIDY6IHY6IHJlYWRvbmx5IHZhcmlhYmxlCisuL3ZyZWRpci50ZXN0czogbGluZSA2OiB2OiBjYW5ub3QgYXNzaWduIGZkIHRvIHZhcmlhYmxlCis0MgorLi92cmVkaXIudGVzdHM6IGxpbmUgMjU6ICR2OiBCYWQgZmlsZSBkZXNjcmlwdG9yCisuL3ZyZWRpci50ZXN0czogbGluZSAyNjogJHY6IEJhZCBmaWxlIGRlc2NyaXB0b3IKKy4vdnJlZGlyLnRlc3RzOiBsaW5lIDI3OiAkdjogQmFkIGZpbGUgZGVzY3JpcHRvcgorYmFyIGlzIGEgZnVuY3Rpb24KK2JhciAoKSAKK3sgCisgICAgZXhlYyB7dn0+ICRUTVBGSUxFOworICAgIGVjaG8gJHYKK30KKzExCitsaW5lIDEKK2xpbmUgMgorbGluZSAzCitiYXIgaXMgYSBmdW5jdGlvbgorYmFyICgpIAoreyAKKyAgICBleGVjICB7dn08PEVPRgorbGluZSAxCitsaW5lIDIKK2xpbmUgMworRU9GCisKKyAgICBlY2hvICR2Cit9CisxMQorZm9vIDEKK2ZvbyAyCitmb28gMworMTEKKy9iaW4vYmFzaAorL2Jpbi9jc2gKKy9iaW4va3NoCisvYmluL3NoCisvYmluL3Rjc2gKKy9iaW4venNoCitvY2xvc2V2IGlzIGEgZnVuY3Rpb24KK29jbG9zZXYgKCkgCit7IAorICAgIGV4ZWMge3Z9PiYtCit9CitpY2xvc2V2IGlzIGEgZnVuY3Rpb24KK2ljbG9zZXYgKCkgCit7IAorICAgIGV4ZWMge3Z9PiYtCit9CisvYmluL2Jhc2gKKy9iaW4vY3NoCisvYmluL2tzaAorL2Jpbi9zaAorL2Jpbi90Y3NoCisvYmluL3pzaAorLi92cmVkaXIzLnN1YjogbGluZSA0OiB2OiBhbWJpZ3VvdXMgcmVkaXJlY3QKK2FmdGVyCisxMSAxMgorYQorYQorc3dpenpsZSBpcyBhIGZ1bmN0aW9uCitzd2l6emxlICgpIAoreyAKKyAgICBmZDA9MDsKKyAgICBmZDE9MTsKKyAgICBleGVjIHtzdGRpbn08JiRmZDA7CisgICAgZXhlYyB7c3Rkb3V0fT4mJGZkMQorfQorMTMgMTEKK2EKK2EKK3N3aXp6bGUgaXMgYSBmdW5jdGlvbgorc3dpenpsZSAoKSAKK3sgCisgICAgZXhlYyB7ZmQwfTwmMDsKKyAgICBleGVjIHtmZDF9PiYxOworICAgIGV4ZWMge3N0ZGlufTwmJGZkMC07CisgICAgZXhlYyB7c3Rkb3V0fT4mJGZkMS0KK30KK29rIDEKKy4vdnJlZGlyNi5zdWI6IHJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkOiBJbnZhbGlkIGFyZ3VtZW50CisuL3ZyZWRpcjYuc3ViOiBsaW5lIDEwOiAvZGV2L251bGw6IEludmFsaWQgYXJndW1lbnQKKy4vdnJlZGlyNi5zdWI6IHJlZGlyZWN0aW9uIGVycm9yOiBjYW5ub3QgZHVwbGljYXRlIGZkOiBJbnZhbGlkIGFyZ3VtZW50CisuL3ZyZWRpcjYuc3ViOiBsaW5lIDEzOiB2OiBJbnZhbGlkIGFyZ3VtZW50Cit1bnNldApkaWZmIC0tZ2l0IGEvdGVzdHMvdnJlZGlyLnRlc3RzIGIvdGVzdHMvdnJlZGlyLnRlc3RzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxNThmZTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy92cmVkaXIudGVzdHMKQEAgLTAsMCArMSw0NiBAQAorOiAke1RNUERJUjo9L3Zhci90bXB9CitUTVBGSUxFPSRUTVBESVIvZm9vCisKK2JhcigpCit7CitleGVjIHt2fT4kVE1QRklMRQorZWNobyAkdgorfQorCitiYXIKKworZWNobyBmb28gMSA+JiR2CitlY2hvIGZvbyAyID4mJHYKK2VjaG8gZm9vIDMgPiYkdgorCitjYXQgJFRNUEZJTEUKK3JtIC1mICRUTVBGSUxFCisKK3R5cGUgYmFyCitleGVjIHt2fT4mLQorCityZWFkb25seSB2PTQyCitiYXIKKworZWNobyBmb28gMSA+JiR2CitlY2hvIGZvbyAyID4mJHYKK2VjaG8gZm9vIDMgPiYkdgorCitjYXQgJFRNUEZJTEUKK3JtIC1mICRUTVBGSUxFCisKK3R5cGUgYmFyCisKKyR7VEhJU19TSH0gLi92cmVkaXIxLnN1YgorCiske1RISVNfU0h9IC4vdnJlZGlyMi5zdWIKKworJHtUSElTX1NIfSAuL3ZyZWRpcjMuc3ViCisKKyR7VEhJU19TSH0gLi92cmVkaXI0LnN1YgorCiske1RISVNfU0h9IC4vdnJlZGlyNS5zdWIKKworJHtUSElTX1NIfSAuL3ZyZWRpcjYuc3ViCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdGVzdHMvdnJlZGlyMS5zdWIgYi90ZXN0cy92cmVkaXIxLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDM3MzRjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdnJlZGlyMS5zdWIKQEAgLTAsMCArMSwxNyBAQAorYmFyKCkKK3sKK2V4ZWMge3Z9PDxFT0YKK2xpbmUgMQorbGluZSAyCitsaW5lIDMKK0VPRgorZWNobyAkdgorfQorCitiYXIKKworY2F0IDwmJHYKKwordHlwZSBiYXIKKworZXhpdCAwCmRpZmYgLS1naXQgYS90ZXN0cy92cmVkaXIyLnN1YiBiL3Rlc3RzL3ZyZWRpcjIuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxYTM4MGQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy92cmVkaXIyLnN1YgpAQCAtMCwwICsxLDUyIEBACis6ICR7VE1QRElSOj0vdmFyL3RtcH0KK1NIRUxMU0ZJTEU9JFRNUERJUi9zaGVsbHMtJCQKKworY2F0ID4gJFRNUERJUi9zaGVsbHMtJCQgPDxFT0YKKy9iaW4vYmFzaAorL2Jpbi9jc2gKKy9iaW4va3NoCisvYmluL3NoCisvYmluL3Rjc2gKKy9iaW4venNoCitFT0YKKworb2Nsb3NldigpCit7CitleGVjIHt2fT4mLQorfQorCitpY2xvc2V2KCkKK3sKK2V4ZWMge3Z9PCYtCit9CisKK2V4ZWMge3Z9PiYxCitlY2hvICR2CisKK2VjaG8gZm9vIDEgPiYkdgorZWNobyBmb28gMiA+JiR2CitlY2hvIGZvbyAzID4mJHYKKworb2Nsb3NldgorCitleGVjIHt2fTwkU0hFTExTRklMRQorZWNobyAkdgorCit3aGlsZSByZWFkIGxpbmUgPCYkdgorZG8KKwllY2hvICRsaW5lCitkb25lCisKK2ljbG9zZXYKKwordHlwZSBvY2xvc2V2Cit0eXBlIGljbG9zZXYKKword2hpbGUgcmVhZCAtciAtdSAke2ZkfQorZG8KKwllY2hvICRSRVBMWQorZG9uZSB7ZmR9PCRTSEVMTFNGSUxFCisKK3JtIC1mICRTSEVMTFNGSUxFCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdGVzdHMvdnJlZGlyMy5zdWIgYi90ZXN0cy92cmVkaXIzLnN1YgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNThkZWQyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdnJlZGlyMy5zdWIKQEAgLTAsMCArMSw4IEBACisjIFJpZ2h0IG5vdywgdGhlIHt2YXJuYW1lfSBtZWNoYW5pc20gZG9lcyBub3QgaG9ub3Igc2V0IC11IGZvciBjb21wYXRpYmlsaXR5Cit1bnNldCB2CitzZXQgLXUKK2V4ZWMge3Z9PiYtCisKK2VjaG8gYWZ0ZXIKKworZXhpdCAwCmRpZmYgLS1naXQgYS90ZXN0cy92cmVkaXI0LnN1YiBiL3Rlc3RzL3ZyZWRpcjQuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxY2VmMDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy92cmVkaXI0LnN1YgpAQCAtMCwwICsxLDIyIEBACitzd2l6emxlKCkKK3sKK2ZkMD0wCitmZDE9MQorCitleGVjIHtzdGRpbn08JiRmZDAKK2V4ZWMge3N0ZG91dH0+JiRmZDEKK30KKworc3dpenpsZQorZWNobyAkc3RkaW4gJHN0ZG91dAorCityZWFkIGxpbmUgPCYkc3RkaW4gPDxFT0YKK2EKK0VPRgorCitlY2hvICRsaW5lCitlY2hvICRsaW5lID4mJHN0ZG91dAorCit0eXBlIHN3aXp6bGUKKworZXhpdCAwCmRpZmYgLS1naXQgYS90ZXN0cy92cmVkaXI1LnN1YiBiL3Rlc3RzL3ZyZWRpcjUuc3ViCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNTMxZTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy92cmVkaXI1LnN1YgpAQCAtMCwwICsxLDIzIEBACitzd2l6emxlKCkKK3sKK2V4ZWMge2ZkMH08JjAKK2V4ZWMge2ZkMX0+JjEKKworZXhlYyB7c3RkaW59PCYkZmQwLQorZXhlYyB7c3Rkb3V0fT4mJGZkMS0KK30KKworc3dpenpsZQorCitlY2hvICRzdGRpbiAkc3Rkb3V0CisKK3JlYWQgbGluZSA8JiRzdGRpbiA8PEVPRgorYQorRU9GCisKK2VjaG8gJGxpbmUKK2VjaG8gJGxpbmUgPiYkc3Rkb3V0CisKK3R5cGUgc3dpenpsZQorCitleGl0IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3ZyZWRpcjYuc3ViIGIvdGVzdHMvdnJlZGlyNi5zdWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI0Yjk2YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3ZyZWRpcjYuc3ViCkBAIC0wLDAgKzEsMTQgQEAKK3Vuc2V0IHYKK2V4ZWMge3Z9PC9kZXYvbnVsbAorCitpZiAoKCB2ID49IDEwICkpOyB0aGVuIGVjaG8gb2sgMTsgZWxzZSBlY2hvIGJhZCAxOyBmaQorCitleGVjIHt2fTwmLQorCit1bGltaXQgLW4gNgorCitleGVjIDwvZGV2L251bGwKKwordW5zZXQgdgorZXhlYyB7dn08L2Rldi9udWxsCitlY2hvICR7di11bnNldH0KZGlmZiAtLWdpdCBhL3RyYXAuYyBiL3RyYXAuYwppbmRleCAyN2E4YWNhLi44NjY2NWU3IDEwMDY0NAotLS0gYS90cmFwLmMKKysrIGIvdHJhcC5jCkBAIC0xLDcgKzEsNyBAQAogLyogdHJhcC5jIC0tIE5vdCB0aGUgdHJhcCBjb21tYW5kLCBidXQgdXNlZnVsIGZ1bmN0aW9ucyBmb3IgbWFuaXB1bGF0aW5nCiAgICB0aG9zZSBvYmplY3RzLiAgVGhlIHRyYXAgY29tbWFuZCBpcyBpbiBidWlsdGlucy90cmFwLmRlZi4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5ODctMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTExMyw5ICsxMTMsNiBAQAogLyogVGhlICh0cmFwcGVkKSBzaWduYWwgcmVjZWl2ZWQgd2hpbGUgZXhlY3V0aW5nIGluIHRoZSBgd2FpdCcgYnVpbHRpbiAqLwogaW50IHdhaXRfc2lnbmFsX3JlY2VpdmVkOwogCi0vKiBBIHZhbHVlIHdoaWNoIGNhbiBuZXZlciBiZSB0aGUgdGFyZ2V0IG9mIGEgdHJhcCBoYW5kbGVyLiAqLwotI2RlZmluZSBJTVBPU1NJQkxFX1RSQVBfSEFORExFUiAoU2lnSGFuZGxlciAqKWluaXRpYWxpemVfdHJhcHMKLQogI2RlZmluZSBHRVRPUklHU0lHKHNpZykgXAogICBkbyB7IFwKICAgICBvcmlnaW5hbF9zaWduYWxzW3NpZ10gPSAoU2lnSGFuZGxlciAqKXNldF9zaWduYWxfaGFuZGxlciAoc2lnLCBTSUdfREZMKTsgXApAQCAtMTI0LDYgKzEyMSwxMyBAQAogICAgICAgc2lnbW9kZXNbc2lnXSB8PSBTSUdfSEFSRF9JR05PUkU7IFwKICAgfSB3aGlsZSAoMCkKIAorI2RlZmluZSBTRVRPUklHU0lHKHNpZyxoYW5kbGVyKSBcCisgIGRvIHsgXAorICAgIG9yaWdpbmFsX3NpZ25hbHNbc2lnXSA9IGhhbmRsZXI7IFwKKyAgICBpZiAob3JpZ2luYWxfc2lnbmFsc1tzaWddID09IFNJR19JR04pIFwKKyAgICAgIHNpZ21vZGVzW3NpZ10gfD0gU0lHX0hBUkRfSUdOT1JFOyBcCisgIH0gd2hpbGUgKDApCisKICNkZWZpbmUgR0VUX09SSUdJTkFMX1NJR05BTChzaWcpIFwKICAgaWYgKHNpZyAmJiBzaWcgPCBOU0lHICYmIG9yaWdpbmFsX3NpZ25hbHNbc2lnXSA9PSBJTVBPU1NJQkxFX1RSQVBfSEFORExFUikgXAogICAgIEdFVE9SSUdTSUcoc2lnKQpAQCAtMTQzLDcgKzE0Nyw3IEBACiAgICAgewogICAgICAgcGVuZGluZ190cmFwc1tpXSA9IDA7CiAgICAgICB0cmFwX2xpc3RbaV0gPSAoY2hhciAqKURFRkFVTFRfU0lHOwotICAgICAgc2lnbW9kZXNbaV0gPSBTSUdfSU5IRVJJVEVEOworICAgICAgc2lnbW9kZXNbaV0gPSBTSUdfSU5IRVJJVEVEOwkvKiBYWFggLSBvbmx5IHNldCwgbm90IHVzZWQgKi8KICAgICAgIG9yaWdpbmFsX3NpZ25hbHNbaV0gPSBJTVBPU1NJQkxFX1RSQVBfSEFORExFUjsKICAgICB9CiAKQEAgLTI2NSw2ICsyNjksOSBAQAogICByZWdpc3RlciBpbnQgc2lnOwogICBpbnQgb2xkX2V4aXRfdmFsdWUsICp0b2tlbl9zdGF0ZTsKICAgV09SRF9MSVNUICpzYXZlX3N1YnN0X3Zhcmxpc3Q7CisjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKKyAgQVJSQVkgKnBzOworI2VuZGlmCiAKICAgaWYgKGNhdGNoX2ZsYWcgPT0gMCkJCS8qIHNpbXBsZSBvcHRpbWl6YXRpb24gKi8KICAgICByZXR1cm47CkBAIC0yNzMsNiArMjgwLDkgQEAKIAogICAvKiBQcmVzZXJ2ZSAkPyB3aGVuIHJ1bm5pbmcgdHJhcC4gKi8KICAgb2xkX2V4aXRfdmFsdWUgPSBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZTsKKyNpZiBkZWZpbmVkIChBUlJBWV9WQVJTKQorICBwcyA9IHNhdmVfcGlwZXN0YXR1c19hcnJheSAoKTsKKyNlbmRpZgogCiAgIGZvciAoc2lnID0gMTsgc2lnIDwgTlNJRzsgc2lnKyspCiAgICAgewpAQCAtMzU3LDYgKzM2Nyw5IEBACiAJfQogICAgIH0KIAorI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCisgIHJlc3RvcmVfcGlwZXN0YXR1c19hcnJheSAocHMpOworI2VuZGlmCiAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gb2xkX2V4aXRfdmFsdWU7CiB9CiAKQEAgLTU5NCw2ICs2MDcsMjQgQEAKICAgICBHRVRPUklHU0lHIChzaWcpOwogfQogCit2b2lkCitnZXRfYWxsX29yaWdpbmFsX3NpZ25hbHMgKCkKK3sKKyAgcmVnaXN0ZXIgaW50IGk7CisKKyAgZm9yIChpID0gMTsgaSA8IE5TSUc7IGkrKykKKyAgICBHRVRfT1JJR0lOQUxfU0lHTkFMIChpKTsKK30KKwordm9pZAorc2V0X29yaWdpbmFsX3NpZ25hbCAoc2lnLCBoYW5kbGVyKQorICAgICBpbnQgc2lnOworICAgICBTaWdIYW5kbGVyICpoYW5kbGVyOworeworICBpZiAoc2lnID4gMCAmJiBzaWcgPCBOU0lHICYmIG9yaWdpbmFsX3NpZ25hbHNbc2lnXSA9PSAoU2lnSGFuZGxlciAqKUlNUE9TU0lCTEVfVFJBUF9IQU5ETEVSKQorICAgIFNFVE9SSUdTSUcgKHNpZywgaGFuZGxlcik7Cit9CisKIC8qIFJlc3RvcmUgdGhlIGRlZmF1bHQgYWN0aW9uIGZvciBTSUc7IGkuZS4sIHRoZSBhY3Rpb24gdGhlIHNoZWxsCiAgICB3b3VsZCBoYXZlIHRha2VuIGJlZm9yZSB5b3UgdXNlZCB0aGUgdHJhcCBjb21tYW5kLiAgVGhpcyBpcyBjYWxsZWQKICAgIGZyb20gdHJhcF9idWlsdGluICgpLCB3aGljaCB0YWtlcyBjYXJlIHRvIHJlc3RvcmUgdGhlIGhhbmRsZXJzIGZvcgpAQCAtNjc0LDggKzcwNSwxNCBAQAogewogICBjaGFyICp0cmFwX2NvbW1hbmQ7CiAgIGludCBjb2RlLCBmdW5jdGlvbl9jb2RlLCByZXR2YWw7CisjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKKyAgQVJSQVkgKnBzOworI2VuZGlmCiAKICAgdHJhcF9zYXZlZF9leGl0X3ZhbHVlID0gbGFzdF9jb21tYW5kX2V4aXRfdmFsdWU7CisjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKKyAgcHMgPSBzYXZlX3BpcGVzdGF0dXNfYXJyYXkgKCk7CisjZW5kaWYKICAgZnVuY3Rpb25fY29kZSA9IDA7CiAKICAgLyogUnVuIHRoZSB0cmFwIG9ubHkgaWYgc2lnbmFsIDAgaXMgdHJhcHBlZCBhbmQgbm90IGlnbm9yZWQsIGFuZCB3ZSBhcmUgbm90CkBAIC03MTUsNiArNzUyLDkgQEAKICAgICAgIHJldHVybiByZXR2YWw7CiAgICAgfQogCisjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKKyAgcmVzdG9yZV9waXBlc3RhdHVzX2FycmF5IChwcyk7CisjZW5kaWYKICAgcmV0dXJuICh0cmFwX3NhdmVkX2V4aXRfdmFsdWUpOwogfQogCkBAIC03MzcsNiArNzc3LDkgQEAKICAgaW50IHNhdmVfcmV0dXJuX2NhdGNoX2ZsYWcsIGZ1bmN0aW9uX2NvZGUsIGZsYWdzOwogICBwcm9jZW52X3Qgc2F2ZV9yZXR1cm5fY2F0Y2g7CiAgIFdPUkRfTElTVCAqc2F2ZV9zdWJzdF92YXJsaXN0OworI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCisgIEFSUkFZICpwczsKKyNlbmRpZgogCiAgIHRyYXBfZXhpdF92YWx1ZSA9IGZ1bmN0aW9uX2NvZGUgPSAwOwogICAvKiBSdW4gdGhlIHRyYXAgb25seSBpZiBTSUcgaXMgdHJhcHBlZCBhbmQgbm90IGlnbm9yZWQsIGFuZCB3ZSBhcmUgbm90CkBAIC03NTIsNiArNzk1LDkgQEAKIAogICAgICAgcnVubmluZ190cmFwID0gc2lnICsgMTsKICAgICAgIHRyYXBfc2F2ZWRfZXhpdF92YWx1ZSA9IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlOworI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCisgICAgICBwcyA9IHNhdmVfcGlwZXN0YXR1c19hcnJheSAoKTsKKyNlbmRpZgogCiAgICAgICB0b2tlbl9zdGF0ZSA9IHNhdmVfdG9rZW5fc3RhdGUgKCk7CiAgICAgICBzYXZlX3N1YnN0X3Zhcmxpc3QgPSBzdWJzdF9hc3NpZ25fdmFybGlzdDsKQEAgLTc3OCw2ICs4MjQsOSBAQAogCiAgICAgICB0cmFwX2V4aXRfdmFsdWUgPSBsYXN0X2NvbW1hbmRfZXhpdF92YWx1ZTsKICAgICAgIGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlID0gdHJhcF9zYXZlZF9leGl0X3ZhbHVlOworI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCisgICAgICByZXN0b3JlX3BpcGVzdGF0dXNfYXJyYXkgKHBzKTsKKyNlbmRpZgogICAgICAgcnVubmluZ190cmFwID0gMDsKIAogICAgICAgc2lnbW9kZXNbc2lnXSAmPSB+U0lHX0lOUFJPR1JFU1M7CkBAIC04ODgsNyArOTM3LDYgQEAKICAgX3J1bl90cmFwX2ludGVybmFsIChTSUdJTlQsICJpbnRlcnJ1cHQgdHJhcCIpOwogfQogCi0jaWZkZWYgSU5DTFVERV9VTlVTRUQKIC8qIEZyZWUgYWxsIHRoZSBhbGxvY2F0ZWQgc3RyaW5ncyBpbiB0aGUgbGlzdCBvZiB0cmFwcyBhbmQgcmVzZXQgdGhlIHRyYXAKICAgIHZhbHVlcyB0byB0aGUgZGVmYXVsdC4gIEludGVuZGVkIHRvIGJlIGNhbGxlZCBmcm9tIHN1YnNoZWxscyB0aGF0IHdhbnQKICAgIHRvIGNvbXBsZXRlIHdvcmsgZG9uZSBieSByZXNldF9zaWduYWxfaGFuZGxlcnMgdXBvbiBleGVjdXRpb24gb2YgYQpAQCAtOTEyLDkgKzk2MCw5IEBACiAgIGNoYW5nZV9zaWduYWwgKHNpZywgKGNoYXIgKilERUZBVUxUX1NJRyk7CiAgIHNpZ21vZGVzW3NpZ10gJj0gflNJR19UUkFQUEVEOwogfQotI2VuZGlmCiAKLS8qIFJlc2V0IHRoZSBoYW5kbGVyIGZvciBTSUcgdG8gdGhlIG9yaWdpbmFsIHZhbHVlLiAqLworLyogUmVzZXQgdGhlIGhhbmRsZXIgZm9yIFNJRyB0byB0aGUgb3JpZ2luYWwgdmFsdWUgYnV0IGxlYXZlIHRoZSB0cmFwIHN0cmluZworICAgaW4gcGxhY2UuICovCiBzdGF0aWMgdm9pZAogcmVzZXRfc2lnbmFsIChzaWcpCiAgICAgIGludCBzaWc7CkBAIC05NzksNyArMTAyNyw4IEBACiB9CiAKIC8qIFJlc2V0IHRyYXBwZWQgc2lnbmFscyB0byB0aGVpciBvcmlnaW5hbCB2YWx1ZXMsIGJ1dCBkb24ndCBmcmVlIHRoZQotICAgdHJhcCBzdHJpbmdzLiAgQ2FsbGVkIGJ5IHRoZSBjb21tYW5kIHN1YnN0aXR1dGlvbiBjb2RlLiAqLworICAgdHJhcCBzdHJpbmdzLiAgQ2FsbGVkIGJ5IHRoZSBjb21tYW5kIHN1YnN0aXR1dGlvbiBjb2RlIGFuZCBvdGhlciBwbGFjZXMKKyAgIHRoYXQgY3JlYXRlIGEgInN1YnNoZWxsIGVudmlyb25tZW50Ii4gKi8KIHZvaWQKIHJlc2V0X3NpZ25hbF9oYW5kbGVycyAoKQogewpAQCAtMTA0OSw2ICsxMDk4LDEzIEBACiAgIHJldHVybiAoc2lnbW9kZXNbc2lnXSAmIFNJR19JR05PUkVEKTsKIH0KIAoraW50CitzaWduYWxfaXNfaGFyZF9pZ25vcmVkIChzaWcpCisgICAgIGludCBzaWc7Cit7CisgIHJldHVybiAoc2lnbW9kZXNbc2lnXSAmIFNJR19IQVJEX0lHTk9SRSk7Cit9CisKIHZvaWQKIHNldF9zaWduYWxfaWdub3JlZCAoc2lnKQogICAgICBpbnQgc2lnOwpkaWZmIC0tZ2l0IGEvdHJhcC5oIGIvdHJhcC5oCmluZGV4IGMzNGI3ZWIuLjg1OTFlZTIgMTAwNjQ0Ci0tLSBhL3RyYXAuaAorKysgYi90cmFwLmgKQEAgLTEsNiArMSw2IEBACiAvKiB0cmFwLmggLS0gZGF0YSBzdHJ1Y3R1cmVzIHVzZWQgaW4gdGhlIHRyYXAgbWVjaGFuaXNtLiAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDE5OTMtMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMTk5My0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtNDksNiArNDksOSBAQAogI2RlZmluZSBEU0lHX1NJR1BSRUZJWAkweDAxCQkvKiBkb24ndCBhbGxsb3cgYFNJRycgUFJFRklYICovCiAjZGVmaW5lIERTSUdfTk9DQVNFCTB4MDIJCS8qIGNhc2UtaW5zZW5zaXRpdmUgY29tcGFyaXNvbiAqLwogCisvKiBBIHZhbHVlIHdoaWNoIGNhbiBuZXZlciBiZSB0aGUgdGFyZ2V0IG9mIGEgdHJhcCBoYW5kbGVyLiAqLworI2RlZmluZSBJTVBPU1NJQkxFX1RSQVBfSEFORExFUiAoU2lnSGFuZGxlciAqKWluaXRpYWxpemVfdHJhcHMKKwogI2RlZmluZSBzaWduYWxfb2JqZWN0X3AoeCxmKSAoZGVjb2RlX3NpZ25hbCAoeCxmKSAhPSBOT19TSUcpCiAKICNkZWZpbmUgVFJBUF9TVFJJTkcocykgXApAQCAtODUsMTQgKzg4LDE3IEBACiBleHRlcm4gdm9pZCByZXNldF9zaWduYWxfaGFuZGxlcnMgX19QKCh2b2lkKSk7CiBleHRlcm4gdm9pZCByZXN0b3JlX29yaWdpbmFsX3NpZ25hbHMgX19QKCh2b2lkKSk7CiAKK2V4dGVybiB2b2lkIGdldF9hbGxfb3JpZ2luYWxfc2lnbmFscyBfX1AoKHZvaWQpKTsKKwogZXh0ZXJuIGNoYXIgKnNpZ25hbF9uYW1lIF9fUCgoaW50KSk7CiAKIGV4dGVybiBpbnQgZGVjb2RlX3NpZ25hbCBfX1AoKGNoYXIgKiwgaW50KSk7CiBleHRlcm4gdm9pZCBydW5faW50ZXJydXB0X3RyYXAgX19QKCh2b2lkKSk7CiBleHRlcm4gaW50IG1heWJlX2NhbGxfdHJhcF9oYW5kbGVyIF9fUCgoaW50KSk7CitleHRlcm4gaW50IHNpZ25hbF9pc19zcGVjaWFsIF9fUCgoaW50KSk7CiBleHRlcm4gaW50IHNpZ25hbF9pc190cmFwcGVkIF9fUCgoaW50KSk7CiBleHRlcm4gaW50IHNpZ25hbF9pc19pZ25vcmVkIF9fUCgoaW50KSk7Ci1leHRlcm4gaW50IHNpZ25hbF9pc19zcGVjaWFsIF9fUCgoaW50KSk7CitleHRlcm4gaW50IHNpZ25hbF9pc19oYXJkX2lnbm9yZWQgX19QKChpbnQpKTsKIGV4dGVybiB2b2lkIHNldF9zaWduYWxfaWdub3JlZCBfX1AoKGludCkpOwogZXh0ZXJuIGludCBzaWduYWxfaW5fcHJvZ3Jlc3MgX19QKChpbnQpKTsKIApkaWZmIC0tZ2l0IGEvdW53aW5kX3Byb3QuYyBiL3Vud2luZF9wcm90LmMKaW5kZXggOWUxNTBhNi4uYTQ3N2MwMyAxMDA2NDQKLS0tIGEvdW53aW5kX3Byb3QuYworKysgYi91bndpbmRfcHJvdC5jCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAidW53aW5kX3Byb3QuaCIKICNpbmNsdWRlICJxdWl0LmgiCiAjaW5jbHVkZSAic2lnLmgiCisjaW5jbHVkZSAiZXJyb3IuaCIJLyogZm9yIGludGVybmFsX3dhcm5pbmcgKi8KIAogLyogU3RydWN0dXJlIGRlc2NyaWJpbmcgYSBzYXZlZCB2YXJpYWJsZSBhbmQgdGhlIHZhbHVlIHRvIHJlc3RvcmUgaXQgdG8uICAqLwogdHlwZWRlZiBzdHJ1Y3QgewpAQCAtMjQwLDE4ICsyNDEsMjQgQEAKICAgICAgY2hhciAqdGFnLCAqaWdub3JlOwogewogICBVTldJTkRfRUxUICplbHQ7CisgIGludCBmb3VuZDsKIAorICBmb3VuZCA9IDA7CiAgIHdoaWxlIChlbHQgPSB1bndpbmRfcHJvdGVjdF9saXN0KQogICAgIHsKICAgICAgIHVud2luZF9wcm90ZWN0X2xpc3QgPSB1bndpbmRfcHJvdGVjdF9saXN0LT5oZWFkLm5leHQ7CiAgICAgICBpZiAoZWx0LT5oZWFkLmNsZWFudXAgPT0gMCAmJiAoU1RSRVEgKGVsdC0+YXJnLnYsIHRhZykpKQogCXsKIAkgIHV3cGZyZWUgKGVsdCk7CisJICBmb3VuZCA9IDE7CiAJICBicmVhazsKIAl9CiAgICAgICBlbHNlCiAJdXdwZnJlZSAoZWx0KTsKICAgICB9CisKKyAgaWYgKGZvdW5kID09IDApCisgICAgaW50ZXJuYWxfd2FybmluZyAoInVud2luZF9mcmFtZV9kaXNjYXJkOiAlczogZnJhbWUgbm90IGZvdW5kIiwgdGFnKTsKIH0KIAogLyogUmVzdG9yZSB0aGUgdmFsdWUgb2YgYSB2YXJpYWJsZSwgYmFzZWQgb24gdGhlIGNvbnRlbnRzIG9mIFNWLgpAQCAtMjY5LDE3ICsyNzYsMjAgQEAKICAgICAgY2hhciAqdGFnLCAqaWdub3JlOwogewogICBVTldJTkRfRUxUICplbHQ7CisgIGludCBmb3VuZDsKIAorICBmb3VuZCA9IDA7CiAgIHdoaWxlIChlbHQgPSB1bndpbmRfcHJvdGVjdF9saXN0KQogICAgIHsKICAgICAgIHVud2luZF9wcm90ZWN0X2xpc3QgPSBlbHQtPmhlYWQubmV4dDsKIAogICAgICAgLyogSWYgdGFnLCB0aGVuIGNvbXBhcmUuICovCi0gICAgICBpZiAoIWVsdC0+aGVhZC5jbGVhbnVwKQorICAgICAgaWYgKGVsdC0+aGVhZC5jbGVhbnVwID09IDApCiAJewogCSAgaWYgKHRhZyAmJiBTVFJFUSAoZWx0LT5hcmcudiwgdGFnKSkKIAkgICAgewogCSAgICAgIHV3cGZyZWUgKGVsdCk7CisJICAgICAgZm91bmQgPSAxOwogCSAgICAgIGJyZWFrOwogCSAgICB9CiAJfQpAQCAtMjkzLDYgKzMwMyw4IEBACiAKICAgICAgIHV3cGZyZWUgKGVsdCk7CiAgICAgfQorICBpZiAodGFnICYmIGZvdW5kID09IDApCisgICAgaW50ZXJuYWxfd2FybmluZyAoInVud2luZF9mcmFtZV9ydW46ICVzOiBmcmFtZSBub3QgZm91bmQiLCB0YWcpOwogfQogCiBzdGF0aWMgdm9pZApAQCAtMzI0LDMgKzMzNiwyMiBAQAogewogICB3aXRob3V0X2ludGVycnVwdHMgKHVud2luZF9wcm90ZWN0X21lbV9pbnRlcm5hbCwgdmFyLCAoY2hhciAqKSAmc2l6ZSk7CiB9CisKKyNpZiBkZWZpbmVkIChERUJVRykKKyNpbmNsdWRlIDxzdGRpby5oPgorCit2b2lkCitwcmludF91bndpbmRfcHJvdGVjdF90YWdzICgpCit7CisgIFVOV0lORF9FTFQgKmVsdDsKKworICBlbHQgPSB1bndpbmRfcHJvdGVjdF9saXN0OworICB3aGlsZSAoZWx0KQorICAgIHsKKyAgICAgIHVud2luZF9wcm90ZWN0X2xpc3QgPSB1bndpbmRfcHJvdGVjdF9saXN0LT5oZWFkLm5leHQ7CisgICAgICBpZiAoZWx0LT5oZWFkLmNsZWFudXAgPT0gMCkKKyAgICAgICAgZnByaW50ZihzdGRlcnIsICJ0YWc6ICVzXG4iLCBlbHQtPmFyZy52KTsKKyAgICAgIGVsdCA9IHVud2luZF9wcm90ZWN0X2xpc3Q7CisgICAgfQorfQorI2VuZGlmCmRpZmYgLS1naXQgYS92YXJpYWJsZXMuYyBiL3ZhcmlhYmxlcy5jCmluZGV4IGViZTQwMTMuLjNjMjBjM2MgMTAwNjQ0Ci0tLSBhL3ZhcmlhYmxlcy5jCisrKyBiL3ZhcmlhYmxlcy5jCkBAIC0xLDYgKzEsNiBAQAogLyogdmFyaWFibGVzLmMgLS0gRnVuY3Rpb25zIGZvciBoYWNraW5nIHNoZWxsIHZhcmlhYmxlcy4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTg3LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5ODctMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTgzLDcgKzgzLDcgQEAKIAogLyogVmFyaWFibGVzIHVzZWQgaGVyZSBhbmQgZGVmaW5lZCBpbiBvdGhlciBmaWxlcy4gKi8KIGV4dGVybiBpbnQgcG9zaXhseV9jb3JyZWN0OwotZXh0ZXJuIGludCBsaW5lX251bWJlcjsKK2V4dGVybiBpbnQgbGluZV9udW1iZXIsIGxpbmVfbnVtYmVyX2Jhc2U7CiBleHRlcm4gaW50IHN1YnNoZWxsX2Vudmlyb25tZW50LCBpbmRpcmVjdGlvbl9sZXZlbCwgc3Vic2hlbGxfbGV2ZWw7CiBleHRlcm4gaW50IGJ1aWxkX3ZlcnNpb24sIHBhdGNoX2xldmVsOwogZXh0ZXJuIGludCBleHBhbmRpbmdfcmVkaXI7CkBAIC05OSw2ICs5OSw3IEBACiBleHRlcm4gdGltZV90IHNoZWxsX3N0YXJ0X3RpbWU7CiBleHRlcm4gaW50IGFzc2lnbmluZ19pbl9lbnZpcm9ubWVudDsKIGV4dGVybiBpbnQgZXhlY3V0aW5nX2J1aWx0aW47CitleHRlcm4gaW50IGZ1bmNuZXN0X21heDsKIAogI2lmIGRlZmluZWQgKFJFQURMSU5FKQogZXh0ZXJuIGludCBub19saW5lX2VkaXRpbmc7CkBAIC0xNTgsNyArMTU5LDYgQEAKIAogI2lmIGRlZmluZWQgKFJFQURMSU5FKQogc3RhdGljIGludCB3aW5zaXplX2Fzc2lnbm1lbnQ7CQkvKiBjdXJyZW50bHkgYXNzaWduaW5nIHRvIExJTkVTIG9yIENPTFVNTlMgKi8KLXN0YXRpYyBpbnQgd2luc2l6ZV9hc3NpZ25lZDsJCS8qIGFzc2lnbmVkIHRvIExJTkVTIG9yIENPTFVNTlMgKi8KICNlbmRpZgogCiAvKiBTb21lIGZvcndhcmQgZGVjbGFyYXRpb25zLiAqLwpAQCAtMzg3LDExICszODcsMTQgQEAKICNlbmRpZgogCXsKIAkgIHRlbXBfdmFyID0gYmluZF92YXJpYWJsZSAobmFtZSwgc3RyaW5nLCAwKTsKLQkgIGlmIChsZWdhbF9pZGVudGlmaWVyIChuYW1lKSkKLQkgICAgVlNFVEFUVFIgKHRlbXBfdmFyLCAoYXR0X2V4cG9ydGVkIHwgYXR0X2ltcG9ydGVkKSk7Ci0JICBlbHNlCi0JICAgIFZTRVRBVFRSICh0ZW1wX3ZhciwgKGF0dF9leHBvcnRlZCB8IGF0dF9pbXBvcnRlZCB8IGF0dF9pbnZpc2libGUpKTsKLQkgIGFycmF5X25lZWRzX21ha2luZyA9IDE7CisJICBpZiAodGVtcF92YXIpCisJICAgIHsKKwkgICAgICBpZiAobGVnYWxfaWRlbnRpZmllciAobmFtZSkpCisJCVZTRVRBVFRSICh0ZW1wX3ZhciwgKGF0dF9leHBvcnRlZCB8IGF0dF9pbXBvcnRlZCkpOworCSAgICAgIGVsc2UKKwkJVlNFVEFUVFIgKHRlbXBfdmFyLCAoYXR0X2V4cG9ydGVkIHwgYXR0X2ltcG9ydGVkIHwgYXR0X2ludmlzaWJsZSkpOworCSAgICAgIGFycmF5X25lZWRzX21ha2luZyA9IDE7CisJICAgIH0KIAl9CiAKICAgICAgIG5hbWVbY2hhcl9pbmRleF0gPSAnPSc7CkBAIC01ODgsNiArNTkxLDEwIEBACiAgIC8qIEdldCB0aGUgdXNlcidzIHJlYWwgYW5kIGVmZmVjdGl2ZSB1c2VyIGlkcy4gKi8KICAgdWlkc2V0ICgpOwogCisgIHRlbXBfdmFyID0gZmluZF92YXJpYWJsZSAoIkJBU0hfWFRSQUNFRkQiKTsKKyAgaWYgKHRlbXBfdmFyICYmIGltcG9ydGVkX3AgKHRlbXBfdmFyKSkKKyAgICBzdl94dHJhY2VmZCAodGVtcF92YXItPm5hbWUpOworCiAgIC8qIEluaXRpYWxpemUgdGhlIGR5bmFtaWMgdmFyaWFibGVzLCBhbmQgc2VlZCB0aGVpciB2YWx1ZXMuICovCiAgIGluaXRpYWxpemVfZHluYW1pY192YXJpYWJsZXMgKCk7CiB9CkBAIC0xMjI4LDE3ICsxMjM1LDE0IEBACiBzdGF0aWMgaW50CiBicmFuZCAoKQogewotI2lmIDAKLSAgcnNlZWQgPSByc2VlZCAqIDExMDM1MTUyNDUgKyAxMjM0NTsKLSAgcmV0dXJuICgodW5zaWduZWQgaW50KSgocnNlZWQgPj4gMTYpICYgMzI3NjcpKTsJLyogd2FzICUgMzI3NjggKi8KLSNlbHNlCiAgIC8qIEZyb20gIlJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yczogZ29vZCBvbmVzIGFyZSBoYXJkIHRvIGZpbmQiLAogICAgICBQYXJrIGFuZCBNaWxsZXIsIENvbW11bmljYXRpb25zIG9mIHRoZSBBQ00sIHZvbC4gMzEsIG5vLiAxMCwKICAgICAgT2N0b2JlciAxOTg4LCBwLiAxMTk1LiBmaWx0ZXJlZCB0aHJvdWdoIEZyZWVCU0QgKi8KICAgbG9uZyBoLCBsOwogCisgIC8qIENhbid0IHNlZWQgd2l0aCAwLiAqLwogICBpZiAocnNlZWQgPT0gMCkKLSAgICBzZWVkcmFuZCAoKTsKKyAgICByc2VlZCA9IDEyMzQ1OTg3NjsKICAgaCA9IHJzZWVkIC8gMTI3NzczOwogICBsID0gcnNlZWQgJSAxMjc3NzM7CiAgIHJzZWVkID0gMTY4MDcgKiBsIC0gMjgzNiAqIGg7CkBAIC0xMjQ3LDcgKzEyNTEsNiBAQAogICAgIHJzZWVkICs9IDB4N2ZmZmZmZmY7CiAjZW5kaWYKICAgcmV0dXJuICgodW5zaWduZWQgaW50KShyc2VlZCAmIDMyNzY3KSk7CS8qIHdhcyAlIDMyNzY4ICovCi0jZW5kaWYKIH0KIAogLyogU2V0IHRoZSByYW5kb20gbnVtYmVyIGdlbmVyYXRvciBzZWVkIHRvIFNFRUQuICovCkBAIC0xMzI5LDcgKzEzMzIsNyBAQAogCiAgIGlmICh2YWx1ZSA9PSAwIHx8ICp2YWx1ZSA9PSAnXDAnIHx8IGxlZ2FsX251bWJlciAodmFsdWUsICZuZXdfdmFsdWUpID09IDApCiAgICAgbmV3X3ZhbHVlID0gMDsKLSAgbGluZV9udW1iZXIgPSBuZXdfdmFsdWU7CisgIGxpbmVfbnVtYmVyID0gbGluZV9udW1iZXJfYmFzZSA9IG5ld192YWx1ZTsKICAgcmV0dXJuIHZhcjsKIH0KIApAQCAtMTc5MSw2ICsxNzk0LDIwIEBACiAgIHJldHVybiAodmFyLT5keW5hbWljX3ZhbHVlID8gKCoodmFyLT5keW5hbWljX3ZhbHVlKSkgKHZhcikgOiB2YXIpOwogfQogCitTSEVMTF9WQVIgKgorZmluZF9nbG9iYWxfdmFyaWFibGUgKG5hbWUpCisgICAgIGNvbnN0IGNoYXIgKm5hbWU7Cit7CisgIFNIRUxMX1ZBUiAqdmFyOworCisgIHZhciA9IHZhcl9sb29rdXAgKG5hbWUsIGdsb2JhbF92YXJpYWJsZXMpOworCisgIGlmICh2YXIgPT0gMCkKKyAgICByZXR1cm4gKChTSEVMTF9WQVIgKilOVUxMKTsKKworICByZXR1cm4gKHZhci0+ZHluYW1pY192YWx1ZSA/ICgqKHZhci0+ZHluYW1pY192YWx1ZSkpICh2YXIpIDogdmFyKTsKK30KKwogLyogTG9vayB1cCB0aGUgdmFyaWFibGUgZW50cnkgbmFtZWQgTkFNRS4gIFJldHVybnMgdGhlIGVudHJ5IG9yIE5VTEwuICovCiBTSEVMTF9WQVIgKgogZmluZF92YXJpYWJsZSAobmFtZSkKQEAgLTIzNzEsNyArMjM4OCw3IEBACiAjZW5kaWYKICAgICB2ID0gYmluZF92YXJpYWJsZSAobGhzLCByaHMsIDApOwogCi0gIGlmIChpc2ludCkKKyAgaWYgKHYgJiYgaXNpbnQpCiAgICAgVlNFVEFUVFIgKHYsIGF0dF9pbnRlZ2VyKTsKIAogICByZXR1cm4gKHYpOwpAQCAtMjQ3MCw4ICsyNDg3LDkgQEAKICAgIHJlc3BvbnNpYmxlIGZvciBtb3ZpbmcgdGhlIG1haW4gdGVtcG9yYXJ5IGVudiB0byBvbmUgb2YgdGhlIG90aGVyCiAgICB0ZW1wb3JhcnkgZW52aXJvbm1lbnRzLiAgVGhlIGV4cGFuc2lvbiBjb2RlIGluIHN1YnN0LmMgY2FsbHMgdGhpcy4gKi8KIGludAotYXNzaWduX2luX2VudiAod29yZCkKK2Fzc2lnbl9pbl9lbnYgKHdvcmQsIGZsYWdzKQogICAgICBXT1JEX0RFU0MgKndvcmQ7CisgICAgIGludCBmbGFnczsKIHsKICAgaW50IG9mZnNldDsKICAgY2hhciAqbmFtZSwgKnRlbXAsICp2YWx1ZTsKQEAgLTI1MjksOCArMjU0NywxMyBAQAogCiAgIGFycmF5X25lZWRzX21ha2luZyA9IDE7CiAKKyNpZiAwCiAgIGlmIChpZnNuYW1lIChuYW1lKSkKICAgICBzZXRpZnMgKHZhcik7CitlbHNlCisjZW5kaWYKKyAgaWYgKGZsYWdzKQorICAgIHN0dXBpZGx5X2hhY2tfc3BlY2lhbF92YXJpYWJsZXMgKG5hbWUpOwogCiAgIGlmIChlY2hvX2NvbW1hbmRfYXRfZXhlY3V0ZSkKICAgICAvKiBUaGUgS29ybiBzaGVsbCBwcmludHMgdGhlIGArICcgaW4gZnJvbnQgb2YgYXNzaWdubWVudCBzdGF0ZW1lbnRzLApAQCAtMjgyMCw3ICsyODQzLDcgQEAKICAgICAgIGlmICghZW50cnkpIFwKIAl7IFwKIAkgIGVudHJ5ID0gYmluZF92YXJpYWJsZSAobmFtZSwgIiIsIDApOyBcCi0JICBpZiAoIW5vX2ludmlzaWJsZV92YXJzKSBlbnRyeS0+YXR0cmlidXRlcyB8PSBhdHRfaW52aXNpYmxlOyBcCisJICBpZiAoIW5vX2ludmlzaWJsZV92YXJzICYmIGVudHJ5KSBlbnRyeS0+YXR0cmlidXRlcyB8PSBhdHRfaW52aXNpYmxlOyBcCiAJfSBcCiAgICAgfSBcCiAgIHdoaWxlICgwKQpAQCAtMzI1MCw2ICszMjczLDkgQEAKICAgcmV0dXJuICh0ZW1wb3JhcnlfZW52ID8gaGFzaF9sb29rdXAgKG5hbWUsIHRlbXBvcmFyeV9lbnYpIDogKFNIRUxMX1ZBUiAqKU5VTEwpOwogfQogCitjaGFyICoqdGVtcHZhcl9saXN0OworaW50IHR2bGlzdF9pbmQ7CisKIC8qIFB1c2ggdGhlIHZhcmlhYmxlIGRlc2NyaWJlZCBieSAoU0hFTExfVkFSICopREFUQSBkb3duIHRvIHRoZSBuZXh0CiAgICB2YXJpYWJsZSBjb250ZXh0IGZyb20gdGhlIHRlbXBvcmFyeSBlbnZpcm9ubWVudC4gKi8KIHN0YXRpYyB2b2lkCkBAIC0zMjg1LDYgKzMzMTEsOSBAQAogICAgIH0KICAgdi0+YXR0cmlidXRlcyB8PSB2YXItPmF0dHJpYnV0ZXM7CiAKKyAgaWYgKGZpbmRfc3BlY2lhbF92YXIgKHZhci0+bmFtZSkgPj0gMCkKKyAgICB0ZW1wdmFyX2xpc3RbdHZsaXN0X2luZCsrXSA9IHNhdmVzdHJpbmcgKHZhci0+bmFtZSk7CisKICAgZGlzcG9zZV92YXJpYWJsZSAodmFyKTsKIH0KIApAQCAtMzI5OCwyNCArMzMyNyw0NiBAQAogICBpZiAodGVtcHZhcl9wICh2YXIpICYmICh2YXItPmF0dHJpYnV0ZXMgJiBhdHRfcHJvcGFnYXRlKSkKICAgICBwdXNoX3RlbXBfdmFyIChkYXRhKTsKICAgZWxzZQotICAgIGRpc3Bvc2VfdmFyaWFibGUgKHZhcik7CisgICAgeworICAgICAgaWYgKGZpbmRfc3BlY2lhbF92YXIgKHZhci0+bmFtZSkgPj0gMCkKKwl0ZW1wdmFyX2xpc3RbdHZsaXN0X2luZCsrXSA9IHNhdmVzdHJpbmcgKHZhci0+bmFtZSk7CisgICAgICBkaXNwb3NlX3ZhcmlhYmxlICh2YXIpOworICAgIH0KIH0KIAogLyogRnJlZSB0aGUgc3RvcmFnZSB1c2VkIGluIHRoZSBoYXNoIHRhYmxlIGZvciB0ZW1wb3JhcnkKICAgIGVudmlyb25tZW50IHZhcmlhYmxlcy4gIFBVU0hGIGlzIGEgZnVuY3Rpb24gdG8gYmUgY2FsbGVkCiAgICB0byBmcmVlIGVhY2ggaGFzaCB0YWJsZSBlbnRyeS4gIEl0IHRha2VzIGNhcmUgb2YgcHVzaGluZyB2YXJpYWJsZXMKLSAgIHRvIHByZXZpb3VzIHNjb3BlcyBpZiBhcHByb3ByaWF0ZS4gKi8KKyAgIHRvIHByZXZpb3VzIHNjb3BlcyBpZiBhcHByb3ByaWF0ZS4gIFBVU0hGIHN0b3JlcyBuYW1lcyBvZiB2YXJpYWJsZXMKKyAgIHRoYXQgcmVxdWlyZSBzcGVjaWFsIGhhbmRsaW5nIChlLmcuLCBJRlMpIG9uIHRlbXB2YXJfbGlzdCwgc28gdGhpcworICAgZnVuY3Rpb24gY2FuIGNhbGwgc3R1cGlkbHlfaGFja19zcGVjaWFsX3ZhcmlhYmxlcyBvbiBhbGwgdGhlCisgICB2YXJpYWJsZXMgaW4gdGhlIGxpc3Qgd2hlbiB0aGUgdGVtcG9yYXJ5IGhhc2ggdGFibGUgaXMgZGVzdHJveWVkLiAqLwogc3RhdGljIHZvaWQKIGRpc3Bvc2VfdGVtcG9yYXJ5X2VudiAocHVzaGYpCiAgICAgIHNoX2ZyZWVfZnVuY190ICpwdXNoZjsKIHsKKyAgaW50IGk7CisKKyAgdGVtcHZhcl9saXN0ID0gc3RydmVjX2NyZWF0ZSAoSEFTSF9FTlRSSUVTICh0ZW1wb3JhcnlfZW52KSArIDEpOworICB0ZW1wdmFyX2xpc3RbdHZsaXN0X2luZCA9IDBdID0gMDsKKyAgICAKICAgaGFzaF9mbHVzaCAodGVtcG9yYXJ5X2VudiwgcHVzaGYpOwogICBoYXNoX2Rpc3Bvc2UgKHRlbXBvcmFyeV9lbnYpOwogICB0ZW1wb3JhcnlfZW52ID0gKEhBU0hfVEFCTEUgKilOVUxMOwogCisgIHRlbXB2YXJfbGlzdFt0dmxpc3RfaW5kXSA9IDA7CisKICAgYXJyYXlfbmVlZHNfbWFraW5nID0gMTsKIAotICBzdl9pZnMgKCJJRlMiKTsJCS8qIFhYWCBoZXJlIGZvciBub3cgKi8KKyNpZiAwCisgIHN2X2lmcyAoIklGUyIpOwkJLyogWFhYIGhlcmUgZm9yIG5vdyAtLSBjaGVjayBzZXRpZnMgaW4gYXNzaWduX2luX2VudiAqLyAgCisjZW5kaWYKKyAgZm9yIChpID0gMDsgaSA8IHR2bGlzdF9pbmQ7IGkrKykKKyAgICBzdHVwaWRseV9oYWNrX3NwZWNpYWxfdmFyaWFibGVzICh0ZW1wdmFyX2xpc3RbaV0pOworCisgIHN0cnZlY19kaXNwb3NlICh0ZW1wdmFyX2xpc3QpOworICB0ZW1wdmFyX2xpc3QgPSAwOworICB0dmxpc3RfaW5kID0gMDsKIH0KIAogdm9pZApAQCAtNDEwOSw2ICs0MTYwLDggQEAKICAgeyAiQ09NUF9XT1JEQlJFQUtTIiwgc3ZfY29tcF93b3JkYnJlYWtzIH0sCiAjZW5kaWYKIAorICB7ICJGVU5DTkVTVCIsIHN2X2Z1bmNuZXN0IH0sCisKICAgeyAiR0xPQklHTk9SRSIsIHN2X2dsb2JpZ25vcmUgfSwKIAogI2lmIGRlZmluZWQgKEhJU1RPUlkpCkBAIC00MjgwLDYgKzQzMzMsMjIgQEAKICAgICB9CiB9CiAKK3ZvaWQKK3N2X2Z1bmNuZXN0IChuYW1lKQorICAgICBjaGFyICpuYW1lOworeworICBTSEVMTF9WQVIgKnY7CisgIGludG1heF90IG51bTsKKworICB2ID0gZmluZF92YXJpYWJsZSAobmFtZSk7CisgIGlmICh2ID09IDApCisgICAgZnVuY25lc3RfbWF4ID0gMDsKKyAgZWxzZSBpZiAobGVnYWxfbnVtYmVyICh2YWx1ZV9jZWxsICh2KSwgJm51bSkgPT0gMCkKKyAgICBmdW5jbmVzdF9tYXggPSAwOworICBlbHNlCisgICAgZnVuY25lc3RfbWF4ID0gbnVtOworfQorCiAvKiBXaGF0IHRvIGRvIHdoZW4gR0xPQklHTk9SRSBjaGFuZ2VzLiAqLwogdm9pZAogc3ZfZ2xvYmlnbm9yZSAobmFtZSkKQEAgLTQzNDcsNyArNDQxNiw3IEBACiAgICAgewogICAgICAgaWYgKGxlZ2FsX251bWJlciAodmFsdWVfY2VsbCAodiksICZ4ZCkgPT0gMCkKIAlyZXR1cm47Ci0gICAgICB3aW5zaXplX2Fzc2lnbm1lbnQgPSB3aW5zaXplX2Fzc2lnbmVkID0gMTsKKyAgICAgIHdpbnNpemVfYXNzaWdubWVudCA9IDE7CiAgICAgICBkID0geGQ7CQkJLyogdHJ1bmNhdGUgKi8KICAgICAgIGlmIChuYW1lWzBdID09ICdMJykJLyogTElORVMgKi8KIAlybF9zZXRfc2NyZWVuX3NpemUgKGQsIC0xKTsKQEAgLTQ2NDAsNiArNDcwOSw0MCBAQAogCX0KICAgICB9CiB9CisKK0FSUkFZICoKK3NhdmVfcGlwZXN0YXR1c19hcnJheSAoKQoreworICBTSEVMTF9WQVIgKnY7CisgIEFSUkFZICphLCAqYTI7CisKKyAgdiA9IGZpbmRfdmFyaWFibGUgKCJQSVBFU1RBVFVTIik7CisgIGlmICh2ID09IDAgfHwgYXJyYXlfcCAodikgPT0gMCB8fCBhcnJheV9jZWxsICh2KSA9PSAwKQorICAgIHJldHVybiAoKEFSUkFZICopTlVMTCk7CisgICAgCisgIGEgPSBhcnJheV9jZWxsICh2KTsKKyAgYTIgPSBhcnJheV9jb3B5IChhcnJheV9jZWxsICh2KSk7CisKKyAgcmV0dXJuIGEyOworfQorCit2b2lkCityZXN0b3JlX3BpcGVzdGF0dXNfYXJyYXkgKGEpCisgICAgIEFSUkFZICphOworeworICBTSEVMTF9WQVIgKnY7CisgIEFSUkFZICphMjsKKworICB2ID0gZmluZF92YXJpYWJsZSAoIlBJUEVTVEFUVVMiKTsKKyAgLyogWFhYIC0gc2hvdWxkIHdlIHN0aWxsIGFzc2lnbiBldmVuIGlmIGV4aXN0aW5nIHZhbHVlIGlzIE5VTEw/ICovCisgIGlmICh2ID09IDAgfHwgYXJyYXlfcCAodikgPT0gMCB8fCBhcnJheV9jZWxsICh2KSA9PSAwKQorICAgIHJldHVybjsKKworICBhMiA9IGFycmF5X2NlbGwgKHYpOworICB2YXJfc2V0YXJyYXkgKHYsIGEpOyAKKworICBhcnJheV9kaXNwb3NlIChhMik7Cit9CiAjZW5kaWYKIAogdm9pZApkaWZmIC0tZ2l0IGEvdmFyaWFibGVzLmggYi92YXJpYWJsZXMuaAppbmRleCBlYzFiZmRjLi43MDQxY2E5IDEwMDY0NAotLS0gYS92YXJpYWJsZXMuaAorKysgYi92YXJpYWJsZXMuaApAQCAtMSw2ICsxLDYgQEAKIC8qIHZhcmlhYmxlcy5oIC0tIGRhdGEgc3RydWN0dXJlcyBmb3Igc2hlbGwgdmFyaWFibGVzLiAqLwogCi0vKiBDb3B5cmlnaHQgKEMpIDE5ODctMjAwOSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKy8qIENvcHlyaWdodCAoQykgMTk4Ny0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiBHTlUgQmFzaCwgdGhlIEJvdXJuZSBBZ2FpbiBTSGVsbC4KIApAQCAtMjM1LDYgKzIzNSw3IEBACiBleHRlcm4gU0hFTExfVkFSICpmaW5kX3ZhcmlhYmxlIF9fUCgoY29uc3QgY2hhciAqKSk7CiBleHRlcm4gU0hFTExfVkFSICpmaW5kX3ZhcmlhYmxlX2ludGVybmFsIF9fUCgoY29uc3QgY2hhciAqLCBpbnQpKTsKIGV4dGVybiBTSEVMTF9WQVIgKmZpbmRfdGVtcGVudl92YXJpYWJsZSBfX1AoKGNvbnN0IGNoYXIgKikpOworZXh0ZXJuIFNIRUxMX1ZBUiAqZmluZF9nbG9iYWxfdmFyaWFibGUgX19QKChjb25zdCBjaGFyICopKTsKIGV4dGVybiBTSEVMTF9WQVIgKmNvcHlfdmFyaWFibGUgX19QKChTSEVMTF9WQVIgKikpOwogZXh0ZXJuIFNIRUxMX1ZBUiAqbWFrZV9sb2NhbF92YXJpYWJsZSBfX1AoKGNvbnN0IGNoYXIgKikpOwogZXh0ZXJuIFNIRUxMX1ZBUiAqYmluZF92YXJpYWJsZSBfX1AoKGNvbnN0IGNoYXIgKiwgY2hhciAqLCBpbnQpKTsKQEAgLTI2OSw3ICsyNzAsNyBAQAogZXh0ZXJuIFNIRUxMX1ZBUiAqYmluZF9pbnRfdmFyaWFibGUgX19QKChjaGFyICosIGNoYXIgKikpOwogZXh0ZXJuIFNIRUxMX1ZBUiAqYmluZF92YXJfdG9faW50IF9fUCgoY2hhciAqLCBpbnRtYXhfdCkpOwogCi1leHRlcm4gaW50IGFzc2lnbl9pbl9lbnYgX19QKChXT1JEX0RFU0MgKikpOworZXh0ZXJuIGludCBhc3NpZ25faW5fZW52IF9fUCgoV09SRF9ERVNDICosIGludCkpOwogCiBleHRlcm4gaW50IHVuYmluZF92YXJpYWJsZSBfX1AoKGNvbnN0IGNoYXIgKikpOwogZXh0ZXJuIGludCB1bmJpbmRfZnVuYyBfX1AoKGNvbnN0IGNoYXIgKikpOwpAQCAtMzMxLDYgKzMzMiw4IEBACiBleHRlcm4gU0hFTExfVkFSICptYWtlX2xvY2FsX2Fzc29jX3ZhcmlhYmxlIF9fUCgoY2hhciAqKSk7CiAKIGV4dGVybiB2b2lkIHNldF9waXBlc3RhdHVzX2FycmF5IF9fUCgoaW50ICosIGludCkpOworZXh0ZXJuIEFSUkFZICpzYXZlX3BpcGVzdGF0dXNfYXJyYXkgX19QKCh2b2lkKSk7CitleHRlcm4gdm9pZCByZXN0b3JlX3BpcGVzdGF0dXNfYXJyYXkgX19QKChBUlJBWSAqKSk7CiAjZW5kaWYKIAogZXh0ZXJuIHZvaWQgc2V0X3BpcGVzdGF0dXNfZnJvbV9leGl0IF9fUCgoaW50KSk7CkBAIC0zNTAsNiArMzUzLDcgQEAKIGV4dGVybiB2b2lkIHN2X2lmcyBfX1AoKGNoYXIgKikpOwogZXh0ZXJuIHZvaWQgc3ZfcGF0aCBfX1AoKGNoYXIgKikpOwogZXh0ZXJuIHZvaWQgc3ZfbWFpbCBfX1AoKGNoYXIgKikpOworZXh0ZXJuIHZvaWQgc3ZfZnVuY25lc3QgX19QKChjaGFyICopKTsKIGV4dGVybiB2b2lkIHN2X2dsb2JpZ25vcmUgX19QKChjaGFyICopKTsKIGV4dGVybiB2b2lkIHN2X2lnbm9yZWVvZiBfX1AoKGNoYXIgKikpOwogZXh0ZXJuIHZvaWQgc3Zfc3RyaWN0X3Bvc2l4IF9fUCgoY2hhciAqKSk7CmRpZmYgLS1naXQgYS92ZXJzaW9uLmMgYi92ZXJzaW9uLmMKaW5kZXggYjk3ZmEwNi4uNjcyNGUyOSAxMDA2NDQKLS0tIGEvdmVyc2lvbi5jCisrKyBiL3ZlcnNpb24uYwpAQCAtMSw2ICsxLDYgQEAKIC8qIHZlcnNpb24uYyAtLSBkaXN0cmlidXRpb24gYW5kIHZlcnNpb24gbnVtYmVycy4gKi8KIAotLyogQ29weXJpZ2h0IChDKSAxOTg5LTIwMDkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisvKiBDb3B5cmlnaHQgKEMpIDE5ODktMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KIAogICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEJhc2gsIHRoZSBCb3VybmUgQWdhaW4gU0hlbGwuCiAKQEAgLTQzLDcgKzQzLDcgQEAKICNlbmRpZgogY29uc3QgY2hhciAqIGNvbnN0IHNjY3NfdmVyc2lvbiA9IFNDQ1NWRVJTSU9OOwogCi1jb25zdCBjaGFyICogY29uc3QgYmFzaF9jb3B5cmlnaHQgPSBOXygiQ29weXJpZ2h0IChDKSAyMDA5IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiIpOworY29uc3QgY2hhciAqIGNvbnN0IGJhc2hfY29weXJpZ2h0ID0gTl8oIkNvcHlyaWdodCAoQykgMjAxMSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4iKTsKIGNvbnN0IGNoYXIgKiBjb25zdCBiYXNoX2xpY2Vuc2UgPSBOXygiTGljZW5zZSBHUEx2Mys6IEdOVSBHUEwgdmVyc2lvbiAzIG9yIGxhdGVyIDxodHRwOi8vZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbD5cbiIpOwogCiAvKiBJZiA9PSAzMSwgc2hlbGwgY29tcGF0aWJsZSB3aXRoIGJhc2gtMy4xLCA9PSAzMiB3aXRoIGJhc2gtMy4yLCBhbmQgc28gb24gKi8KZGlmZiAtLWdpdCBhL3kudGFiLmMgYi95LnRhYi5jCmluZGV4IDlhMWY0ZGEuLmQ4MjgwZmMgMTAwNjQ0Ci0tLSBhL3kudGFiLmMKKysrIGIveS50YWIuYwpAQCAtODgsMzAgKzg4LDMxIEBACiAgICAgIEJBTkcgPSAyNzcsCiAgICAgIFRJTUUgPSAyNzgsCiAgICAgIFRJTUVPUFQgPSAyNzksCi0gICAgIFdPUkQgPSAyODAsCi0gICAgIEFTU0lHTk1FTlRfV09SRCA9IDI4MSwKLSAgICAgUkVESVJfV09SRCA9IDI4MiwKLSAgICAgTlVNQkVSID0gMjgzLAotICAgICBBUklUSF9DTUQgPSAyODQsCi0gICAgIEFSSVRIX0ZPUl9FWFBSUyA9IDI4NSwKLSAgICAgQ09ORF9DTUQgPSAyODYsCi0gICAgIEFORF9BTkQgPSAyODcsCi0gICAgIE9SX09SID0gMjg4LAotICAgICBHUkVBVEVSX0dSRUFURVIgPSAyODksCi0gICAgIExFU1NfTEVTUyA9IDI5MCwKLSAgICAgTEVTU19BTkQgPSAyOTEsCi0gICAgIExFU1NfTEVTU19MRVNTID0gMjkyLAotICAgICBHUkVBVEVSX0FORCA9IDI5MywKLSAgICAgU0VNSV9TRU1JID0gMjk0LAotICAgICBTRU1JX0FORCA9IDI5NSwKLSAgICAgU0VNSV9TRU1JX0FORCA9IDI5NiwKLSAgICAgTEVTU19MRVNTX01JTlVTID0gMjk3LAotICAgICBBTkRfR1JFQVRFUiA9IDI5OCwKLSAgICAgQU5EX0dSRUFURVJfR1JFQVRFUiA9IDI5OSwKLSAgICAgTEVTU19HUkVBVEVSID0gMzAwLAotICAgICBHUkVBVEVSX0JBUiA9IDMwMSwKLSAgICAgQkFSX0FORCA9IDMwMiwKLSAgICAgeWFjY19FT0YgPSAzMDMKKyAgICAgVElNRUlHTiA9IDI4MCwKKyAgICAgV09SRCA9IDI4MSwKKyAgICAgQVNTSUdOTUVOVF9XT1JEID0gMjgyLAorICAgICBSRURJUl9XT1JEID0gMjgzLAorICAgICBOVU1CRVIgPSAyODQsCisgICAgIEFSSVRIX0NNRCA9IDI4NSwKKyAgICAgQVJJVEhfRk9SX0VYUFJTID0gMjg2LAorICAgICBDT05EX0NNRCA9IDI4NywKKyAgICAgQU5EX0FORCA9IDI4OCwKKyAgICAgT1JfT1IgPSAyODksCisgICAgIEdSRUFURVJfR1JFQVRFUiA9IDI5MCwKKyAgICAgTEVTU19MRVNTID0gMjkxLAorICAgICBMRVNTX0FORCA9IDI5MiwKKyAgICAgTEVTU19MRVNTX0xFU1MgPSAyOTMsCisgICAgIEdSRUFURVJfQU5EID0gMjk0LAorICAgICBTRU1JX1NFTUkgPSAyOTUsCisgICAgIFNFTUlfQU5EID0gMjk2LAorICAgICBTRU1JX1NFTUlfQU5EID0gMjk3LAorICAgICBMRVNTX0xFU1NfTUlOVVMgPSAyOTgsCisgICAgIEFORF9HUkVBVEVSID0gMjk5LAorICAgICBBTkRfR1JFQVRFUl9HUkVBVEVSID0gMzAwLAorICAgICBMRVNTX0dSRUFURVIgPSAzMDEsCisgICAgIEdSRUFURVJfQkFSID0gMzAyLAorICAgICBCQVJfQU5EID0gMzAzLAorICAgICB5YWNjX0VPRiA9IDMwNAogICAgfTsKICNlbmRpZgogLyogVG9rZW5zLiAgKi8KQEAgLTEzNywzMCArMTM4LDMxIEBACiAjZGVmaW5lIEJBTkcgMjc3CiAjZGVmaW5lIFRJTUUgMjc4CiAjZGVmaW5lIFRJTUVPUFQgMjc5Ci0jZGVmaW5lIFdPUkQgMjgwCi0jZGVmaW5lIEFTU0lHTk1FTlRfV09SRCAyODEKLSNkZWZpbmUgUkVESVJfV09SRCAyODIKLSNkZWZpbmUgTlVNQkVSIDI4MwotI2RlZmluZSBBUklUSF9DTUQgMjg0Ci0jZGVmaW5lIEFSSVRIX0ZPUl9FWFBSUyAyODUKLSNkZWZpbmUgQ09ORF9DTUQgMjg2Ci0jZGVmaW5lIEFORF9BTkQgMjg3Ci0jZGVmaW5lIE9SX09SIDI4OAotI2RlZmluZSBHUkVBVEVSX0dSRUFURVIgMjg5Ci0jZGVmaW5lIExFU1NfTEVTUyAyOTAKLSNkZWZpbmUgTEVTU19BTkQgMjkxCi0jZGVmaW5lIExFU1NfTEVTU19MRVNTIDI5MgotI2RlZmluZSBHUkVBVEVSX0FORCAyOTMKLSNkZWZpbmUgU0VNSV9TRU1JIDI5NAotI2RlZmluZSBTRU1JX0FORCAyOTUKLSNkZWZpbmUgU0VNSV9TRU1JX0FORCAyOTYKLSNkZWZpbmUgTEVTU19MRVNTX01JTlVTIDI5NwotI2RlZmluZSBBTkRfR1JFQVRFUiAyOTgKLSNkZWZpbmUgQU5EX0dSRUFURVJfR1JFQVRFUiAyOTkKLSNkZWZpbmUgTEVTU19HUkVBVEVSIDMwMAotI2RlZmluZSBHUkVBVEVSX0JBUiAzMDEKLSNkZWZpbmUgQkFSX0FORCAzMDIKLSNkZWZpbmUgeWFjY19FT0YgMzAzCisjZGVmaW5lIFRJTUVJR04gMjgwCisjZGVmaW5lIFdPUkQgMjgxCisjZGVmaW5lIEFTU0lHTk1FTlRfV09SRCAyODIKKyNkZWZpbmUgUkVESVJfV09SRCAyODMKKyNkZWZpbmUgTlVNQkVSIDI4NAorI2RlZmluZSBBUklUSF9DTUQgMjg1CisjZGVmaW5lIEFSSVRIX0ZPUl9FWFBSUyAyODYKKyNkZWZpbmUgQ09ORF9DTUQgMjg3CisjZGVmaW5lIEFORF9BTkQgMjg4CisjZGVmaW5lIE9SX09SIDI4OQorI2RlZmluZSBHUkVBVEVSX0dSRUFURVIgMjkwCisjZGVmaW5lIExFU1NfTEVTUyAyOTEKKyNkZWZpbmUgTEVTU19BTkQgMjkyCisjZGVmaW5lIExFU1NfTEVTU19MRVNTIDI5MworI2RlZmluZSBHUkVBVEVSX0FORCAyOTQKKyNkZWZpbmUgU0VNSV9TRU1JIDI5NQorI2RlZmluZSBTRU1JX0FORCAyOTYKKyNkZWZpbmUgU0VNSV9TRU1JX0FORCAyOTcKKyNkZWZpbmUgTEVTU19MRVNTX01JTlVTIDI5OAorI2RlZmluZSBBTkRfR1JFQVRFUiAyOTkKKyNkZWZpbmUgQU5EX0dSRUFURVJfR1JFQVRFUiAzMDAKKyNkZWZpbmUgTEVTU19HUkVBVEVSIDMwMQorI2RlZmluZSBHUkVBVEVSX0JBUiAzMDIKKyNkZWZpbmUgQkFSX0FORCAzMDMKKyNkZWZpbmUgeWFjY19FT0YgMzA0CiAKIAogCkBAIC0zOTksNiArNDAxLDkgQEAKIC8qIFRoZSBudW1iZXIgb2YgbGluZXMgcmVhZCBmcm9tIGlucHV0IHdoaWxlIGNyZWF0aW5nIHRoZSBjdXJyZW50IGNvbW1hbmQuICovCiBpbnQgY3VycmVudF9jb21tYW5kX2xpbmVfY291bnQ7CiAKKy8qIFRoZSBudW1iZXIgb2YgbGluZXMgaW4gYSBjb21tYW5kIHNhdmVkIHdoaWxlIHdlIHJ1biBwYXJzZV9hbmRfZXhlY3V0ZSAqLworaW50IHNhdmVkX2NvbW1hbmRfbGluZV9jb3VudDsKKwogLyogVGhlIHRva2VuIHRoYXQgY3VycmVudGx5IGRlbm90ZXMgdGhlIGVuZCBvZiBwYXJzZS4gKi8KIGludCBzaGVsbF9lb2ZfdG9rZW47CiAKQEAgLTQ4Niw3ICs0OTEsNyBAQAogCiAjaWYgISBkZWZpbmVkIFlZU1RZUEUgJiYgISBkZWZpbmVkIFlZU1RZUEVfSVNfREVDTEFSRUQKIHR5cGVkZWYgdW5pb24gWVlTVFlQRQotI2xpbmUgMzIwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDMyMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiB7CiAgIFdPUkRfREVTQyAqd29yZDsJCS8qIHRoZSB3b3JkIHRoYXQgd2UgcmVhZC4gKi8KICAgaW50IG51bWJlcjsJCQkvKiB0aGUgbnVtYmVyIHRoYXQgd2UgcmVhZC4gKi8KQEAgLTQ5Nyw3ICs1MDIsNyBAQAogICBQQVRURVJOX0xJU1QgKnBhdHRlcm47CiB9CiAvKiBMaW5lIDE4NyBvZiB5YWNjLmMuICAqLwotI2xpbmUgNTAxICJ5LnRhYi5jIgorI2xpbmUgNTA2ICJ5LnRhYi5jIgogCVlZU1RZUEU7CiAjIGRlZmluZSB5eXN0eXBlIFlZU1RZUEUgLyogb2Jzb2xlc2NlbnQ7IHdpbGwgYmUgd2l0aGRyYXduICovCiAjIGRlZmluZSBZWVNUWVBFX0lTX0RFQ0xBUkVEIDEKQEAgLTUxMCw3ICs1MTUsNyBAQAogCiAKIC8qIExpbmUgMjE2IG9mIHlhY2MuYy4gICovCi0jbGluZSA1MTQgInkudGFiLmMiCisjbGluZSA1MTkgInkudGFiLmMiCiAKICNpZmRlZiBzaG9ydAogIyB1bmRlZiBzaG9ydApAQCAtNzIzLDIyICs3MjgsMjIgQEAKICNlbmRpZgogCiAvKiBZWUZJTkFMIC0tIFN0YXRlIG51bWJlciBvZiB0aGUgdGVybWluYXRpb24gc3RhdGUuICAqLwotI2RlZmluZSBZWUZJTkFMICAxMTMKKyNkZWZpbmUgWVlGSU5BTCAgMTE2CiAvKiBZWUxBU1QgLS0gTGFzdCBpbmRleCBpbiBZWVRBQkxFLiAgKi8KLSNkZWZpbmUgWVlMQVNUICAgNzYwCisjZGVmaW5lIFlZTEFTVCAgIDY1OQogCiAvKiBZWU5UT0tFTlMgLS0gTnVtYmVyIG9mIHRlcm1pbmFscy4gICovCi0jZGVmaW5lIFlZTlRPS0VOUyAgNjAKKyNkZWZpbmUgWVlOVE9LRU5TICA2MQogLyogWVlOTlRTIC0tIE51bWJlciBvZiBub250ZXJtaW5hbHMuICAqLwogI2RlZmluZSBZWU5OVFMgIDM4CiAvKiBZWU5SVUxFUyAtLSBOdW1iZXIgb2YgcnVsZXMuICAqLwogI2RlZmluZSBZWU5SVUxFUyAgMTY3CiAvKiBZWU5SVUxFUyAtLSBOdW1iZXIgb2Ygc3RhdGVzLiAgKi8KLSNkZWZpbmUgWVlOU1RBVEVTICAzNDQKKyNkZWZpbmUgWVlOU1RBVEVTICAzNDIKIAogLyogWVlUUkFOU0xBVEUoWVlMRVgpIC0tIEJpc29uIHN5bWJvbCBudW1iZXIgY29ycmVzcG9uZGluZyB0byBZWUxFWC4gICovCiAjZGVmaW5lIFlZVU5ERUZUT0sgIDIKLSNkZWZpbmUgWVlNQVhVVE9LICAgMzAzCisjZGVmaW5lIFlZTUFYVVRPSyAgIDMwNAogCiAjZGVmaW5lIFlZVFJBTlNMQVRFKFlZWCkJCQkJCQlcCiAgICgodW5zaWduZWQgaW50KSAoWVlYKSA8PSBZWU1BWFVUT0sgPyB5eXRyYW5zbGF0ZVtZWVhdIDogWVlVTkRFRlRPSykKQEAgLTc0NywxOCArNzUyLDE4IEBACiBzdGF0aWMgY29uc3QgeXl0eXBlX3VpbnQ4IHl5dHJhbnNsYXRlW10gPQogewogICAgICAgIDAsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCi0gICAgICA1MCwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKKyAgICAgIDUxLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAogICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCi0gICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgIDQ4LCAgICAgMiwKLSAgICAgIDU4LCAgICA1OSwgICAgIDIsICAgICAyLCAgICAgMiwgICAgNTUsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAotICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgNDksCi0gICAgICA1NCwgICAgIDIsICAgIDUzLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKKyAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgNDksICAgICAyLAorICAgICAgNTksICAgIDYwLCAgICAgMiwgICAgIDIsICAgICAyLCAgICA1NiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCisgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICA1MCwKKyAgICAgIDU1LCAgICAgMiwgICAgNTQsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAogICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCiAgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKICAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAogICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCiAgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKLSAgICAgICAyLCAgICAgMiwgICAgIDIsICAgIDU2LCAgICA1MiwgICAgNTcsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAorICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgNTcsICAgIDUzLCAgICA1OCwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCiAgICAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwKICAgICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLAogICAgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsICAgICAyLCAgICAgMiwgICAgIDIsCkBAIC03NzYsNyArNzgxLDcgQEAKICAgICAgIDE1LCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgMjMsICAgIDI0LAogICAgICAgMjUsICAgIDI2LCAgICAyNywgICAgMjgsICAgIDI5LCAgICAzMCwgICAgMzEsICAgIDMyLCAgICAzMywgICAgMzQsCiAgICAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwKLSAgICAgIDQ1LCAgICA0NiwgICAgNDcsICAgIDUxCisgICAgICA0NSwgICAgNDYsICAgIDQ3LCAgICA0OCwgICAgNTIKIH07CiAKICNpZiBZWURFQlVHCkBAIC04MDAsMTAzICs4MDUsMTAzIEBACiAgICAgIDU1OCwgICA1NjEsICAgNTYzLCAgIDU2NiwgICA1NzAsICAgNTc0LCAgIDU3OCwgICA1ODMsICAgNTg4LCAgIDU5MywKICAgICAgNTk4LCAgIDYwMywgICA2MDUsICAgNjA3LCAgIDYwOSwgICA2MTEsICAgNjEzLCAgIDYxNSwgICA2MTYsICAgNjE5LAogICAgICA2MjEsICAgNjI0LCAgIDYyNywgICA2MzIsICAgNjM3LCAgIDY0MSwgICA2NDUsICAgNjQ3LCAgIDY0OSwgICA2NTIsCi0gICAgIDY1NSwgICA2NTksICAgNjYzLCAgIDY2NiwgICA2NzEsICAgNjc2LCAgIDY3OCwgICA2ODAKKyAgICAgNjU1LCAgIDY1OCwgICA2NjEsICAgNjY2LCAgIDY3MSwgICA2NzMsICAgNjc1LCAgIDY3OAogfTsKIAogLyogWVlSSFMgLS0gQSBgLTEnLXNlcGFyYXRlZCBsaXN0IG9mIHRoZSBydWxlcycgUkhTLiAgKi8KIHN0YXRpYyBjb25zdCB5eXR5cGVfaW50OCB5eXJoc1tdID0KIHsKLSAgICAgIDYxLCAgICAgMCwgICAgLTEsICAgIDkzLCAgICA5MCwgICAgLTEsICAgIDUwLCAgICAtMSwgICAgIDEsICAgIDUwLAotICAgICAgLTEsICAgIDUxLCAgICAtMSwgICAgMjUsICAgIC0xLCAgICA2MiwgICAgMjUsICAgIC0xLCAgICA1MywgICAgMjUsCi0gICAgICAtMSwgICAgNTQsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDUzLCAgICAyNSwgICAgLTEsICAgIDI4LCAgICA1NCwKLSAgICAgIDI1LCAgICAtMSwgICAgMjcsICAgIDUzLCAgICAyNSwgICAgLTEsICAgIDI3LCAgICA1NCwgICAgMjUsICAgIC0xLAotICAgICAgMzQsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDM0LCAgICAyNSwgICAgLTEsICAgIDI3LCAgICAzNCwgICAgMjUsCi0gICAgICAtMSwgICAgNDYsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDQ2LCAgICAyNSwgICAgLTEsICAgIDI3LCAgICA0NiwKLSAgICAgIDI1LCAgICAtMSwgICAgNDUsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDQ1LCAgICAyNSwgICAgLTEsICAgIDI3LAotICAgICAgNDUsICAgIDI1LCAgICAtMSwgICAgMzUsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDM1LCAgICAyNSwgICAgLTEsCi0gICAgICAyNywgICAgMzUsICAgIDI1LCAgICAtMSwgICAgNDIsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDQyLCAgICAyNSwKLSAgICAgIC0xLCAgICAyNywgICAgNDIsICAgIDI1LCAgICAtMSwgICAgMzcsICAgIDI1LCAgICAtMSwgICAgMjgsICAgIDM3LAotICAgICAgMjUsICAgIC0xLCAgICAyNywgICAgMzcsICAgIDI1LCAgICAtMSwgICAgMzYsICAgIDI4LCAgICAtMSwgICAgMjgsCi0gICAgICAzNiwgICAgMjgsICAgIC0xLCAgICAyNywgICAgMzYsICAgIDI4LCAgICAtMSwgICAgMzgsICAgIDI4LCAgICAtMSwKLSAgICAgIDI4LCAgICAzOCwgICAgMjgsICAgIC0xLCAgICAyNywgICAgMzgsICAgIDI4LCAgICAtMSwgICAgMzYsICAgIDI1LAotICAgICAgLTEsICAgIDI4LCAgICAzNiwgICAgMjUsICAgIC0xLCAgICAyNywgICAgMzYsICAgIDI1LCAgICAtMSwgICAgMzgsCi0gICAgICAyNSwgICAgLTEsICAgIDI4LCAgICAzOCwgICAgMjUsICAgIC0xLCAgICAyNywgICAgMzgsICAgIDI1LCAgICAtMSwKLSAgICAgIDM4LCAgICA1NSwgICAgLTEsICAgIDI4LCAgICAzOCwgICAgNTUsICAgIC0xLCAgICAyNywgICAgMzgsICAgIDU1LAotICAgICAgLTEsICAgIDM2LCAgICA1NSwgICAgLTEsICAgIDI4LCAgICAzNiwgICAgNTUsICAgIC0xLCAgICAyNywgICAgMzYsCi0gICAgICA1NSwgICAgLTEsICAgIDQzLCAgICAyNSwgICAgLTEsICAgIDQ0LCAgICAyNSwgICAgLTEsICAgIDI1LCAgICAtMSwKLSAgICAgIDI2LCAgICAtMSwgICAgNjMsICAgIC0xLCAgICA2MywgICAgLTEsICAgIDY1LCAgICA2MywgICAgLTEsICAgIDY0LAotICAgICAgLTEsICAgIDY2LCAgICA2NCwgICAgLTEsICAgIDY2LCAgICAtMSwgICAgNjgsICAgIC0xLCAgICA2OCwgICAgNjUsCi0gICAgICAtMSwgICAgNzMsICAgIC0xLCAgICA3NiwgICAgLTEsICAgIDY5LCAgICAtMSwgICAgNzIsICAgIC0xLCAgICAxMiwKLSAgICAgIDg3LCAgICAxNCwgICAgODcsICAgIDE1LCAgICAtMSwgICAgMTMsICAgIDg3LCAgICAxNCwgICAgODcsICAgIDE1LAotICAgICAgLTEsICAgIDcxLCAgICAtMSwgICAgNzcsICAgIC0xLCAgICA3NSwgICAgLTEsICAgIDc4LCAgICAtMSwgICAgNzksCi0gICAgICAtMSwgICAgODAsICAgIC0xLCAgICA3MCwgICAgLTEsICAgIDEwLCAgICAyNSwgICAgOTIsICAgIDE0LCAgICA4NywKLSAgICAgIDE1LCAgICAtMSwgICAgMTAsICAgIDI1LCAgICA5MiwgICAgNTYsICAgIDg3LCAgICA1NywgICAgLTEsICAgIDEwLAotICAgICAgMjUsICAgIDQ5LCAgICA5MiwgICAgMTQsICAgIDg3LCAgICAxNSwgICAgLTEsICAgIDEwLCAgICAyNSwgICAgNDksCi0gICAgICA5MiwgICAgNTYsICAgIDg3LCAgICA1NywgICAgLTEsICAgIDEwLCAgICAyNSwgICAgOTIsICAgIDIxLCAgICA2MiwKLSAgICAgIDkxLCAgICA5MiwgICAgMTQsICAgIDg3LCAgICAxNSwgICAgLTEsICAgIDEwLCAgICAyNSwgICAgOTIsICAgIDIxLAotICAgICAgNjIsICAgIDkxLCAgICA5MiwgICAgNTYsICAgIDg3LCAgICA1NywgICAgLTEsICAgIDEwLCAgICAyNSwgICAgOTIsCi0gICAgICAyMSwgICAgOTEsICAgIDkyLCAgICAxNCwgICAgODcsICAgIDE1LCAgICAtMSwgICAgMTAsICAgIDI1LCAgICA5MiwKLSAgICAgIDIxLCAgICA5MSwgICAgOTIsICAgIDU2LCAgICA4NywgICAgNTcsICAgIC0xLCAgICAxMCwgICAgMzAsICAgIDkxLAotICAgICAgOTIsICAgIDE0LCAgICA4NywgICAgMTUsICAgIC0xLCAgICAxMCwgICAgMzAsICAgIDkxLCAgICA5MiwgICAgNTYsCi0gICAgICA4NywgICAgNTcsICAgIC0xLCAgICAxMCwgICAgMzAsICAgIDE0LCAgICA4NywgICAgMTUsICAgIC0xLCAgICAxMCwKLSAgICAgIDMwLCAgICA1NiwgICAgODcsICAgIDU3LCAgICAtMSwgICAgMTEsICAgIDI1LCAgICA5MiwgICAgMTQsICAgIDg2LAotICAgICAgMTUsICAgIC0xLCAgICAxMSwgICAgMjUsICAgIDkyLCAgICA1NiwgICAgODYsICAgIDU3LCAgICAtMSwgICAgMTEsCi0gICAgICAyNSwgICAgNDksICAgIDkyLCAgICAxNCwgICAgODYsICAgIDE1LCAgICAtMSwgICAgMTEsICAgIDI1LCAgICA0OSwKLSAgICAgIDkyLCAgICA1NiwgICAgODYsICAgIDU3LCAgICAtMSwgICAgMTEsICAgIDI1LCAgICA5MiwgICAgMjEsICAgIDYyLAotICAgICAgOTEsICAgIDkyLCAgICAxNCwgICAgODYsICAgIDE1LCAgICAtMSwgICAgMTEsICAgIDI1LCAgICA5MiwgICAgMjEsCi0gICAgICA2MiwgICAgOTEsICAgIDkyLCAgICA1NiwgICAgODYsICAgIDU3LCAgICAtMSwgICAgIDgsICAgIDI1LCAgICA5MiwKLSAgICAgIDIxLCAgICA5MiwgICAgIDksICAgIC0xLCAgICAgOCwgICAgMjUsICAgIDkyLCAgICAyMSwgICAgODQsICAgIDkyLAotICAgICAgIDksICAgIC0xLCAgICAgOCwgICAgMjUsICAgIDkyLCAgICAyMSwgICAgODIsICAgICA5LCAgICAtMSwgICAgMjUsCi0gICAgICA1OCwgICAgNTksICAgIDkyLCAgICA3NCwgICAgLTEsICAgIDE2LCAgICAyNSwgICAgNTgsICAgIDU5LCAgICA5MiwKLSAgICAgIDc0LCAgICAtMSwgICAgMTYsICAgIDI1LCAgICA5MiwgICAgNzQsICAgIC0xLCAgICA2OCwgICAgLTEsICAgIDY4LAotICAgICAgNjUsICAgIC0xLCAgICA1OCwgICAgODcsICAgIDU5LCAgICAtMSwgICAgMTcsICAgIDY4LCAgICAtMSwgICAgMTcsCi0gICAgICA2OCwgICAgNjUsICAgIC0xLCAgICAxNywgICAgMjUsICAgIDY4LCAgICAtMSwgICAgMTcsICAgIDI1LCAgICA2OCwKLSAgICAgIDY1LCAgICAtMSwgICAgMTcsICAgIDY2LCAgICAtMSwgICAgIDMsICAgIDg3LCAgICAgNCwgICAgODcsICAgICA3LAotICAgICAgLTEsICAgICAzLCAgICA4NywgICAgIDQsICAgIDg3LCAgICAgNSwgICAgODcsICAgICA3LCAgICAtMSwgICAgIDMsCi0gICAgICA4NywgICAgIDQsICAgIDg3LCAgICA4MSwgICAgIDcsICAgIC0xLCAgICA1NiwgICAgODcsICAgIDU3LCAgICAtMSwKLSAgICAgIDI5LCAgICAtMSwgICAgMTgsICAgIDMxLCAgICAxOSwgICAgLTEsICAgICA2LCAgICA4NywgICAgIDQsICAgIDg3LAotICAgICAgLTEsICAgICA2LCAgICA4NywgICAgIDQsICAgIDg3LCAgICAgNSwgICAgODcsICAgIC0xLCAgICAgNiwgICAgODcsCi0gICAgICAgNCwgICAgODcsICAgIDgxLCAgICAtMSwgICAgODMsICAgIC0xLCAgICA4NCwgICAgODMsICAgIC0xLCAgICA5MiwKLSAgICAgIDg1LCAgICA1OSwgICAgODcsICAgIC0xLCAgICA5MiwgICAgODUsICAgIDU5LCAgICA5MiwgICAgLTEsICAgIDkyLAotICAgICAgNTgsICAgIDg1LCAgICA1OSwgICAgODcsICAgIC0xLCAgICA5MiwgICAgNTgsICAgIDg1LCAgICA1OSwgICAgOTIsCi0gICAgICAtMSwgICAgODMsICAgIDM5LCAgICAtMSwgICAgODQsICAgIDgzLCAgICAzOSwgICAgLTEsICAgIDgzLCAgICA0MCwKLSAgICAgIC0xLCAgICA4NCwgICAgODMsICAgIDQwLCAgICAtMSwgICAgODMsICAgIDQxLCAgICAtMSwgICAgODQsICAgIDgzLAotICAgICAgNDEsICAgIC0xLCAgICAyNSwgICAgLTEsICAgIDg1LCAgICA1MiwgICAgMjUsICAgIC0xLCAgICA5MiwgICAgODgsCi0gICAgICAtMSwgICAgODYsICAgIC0xLCAgICA5MiwgICAgODksICAgIC0xLCAgICA4OSwgICAgNTAsICAgIDkyLCAgICAtMSwKLSAgICAgIDg5LCAgICA0OCwgICAgOTIsICAgIC0xLCAgICA4OSwgICAgNDksICAgIDkyLCAgICAtMSwgICAgODksICAgIDMyLAotICAgICAgOTIsICAgIDg5LCAgICAtMSwgICAgODksICAgIDMzLCAgICA5MiwgICAgODksICAgIC0xLCAgICA4OSwgICAgNDgsCi0gICAgICA5MiwgICAgODksICAgIC0xLCAgICA4OSwgICAgNDksICAgIDkyLCAgICA4OSwgICAgLTEsICAgIDg5LCAgICA1MCwKLSAgICAgIDkyLCAgICA4OSwgICAgLTEsICAgIDk1LCAgICAtMSwgICAgNTAsICAgIC0xLCAgICA1MSwgICAgLTEsICAgIDUwLAotICAgICAgLTEsICAgIDQ5LCAgICAtMSwgICAgNTEsICAgIC0xLCAgICAtMSwgICAgOTIsICAgIDUwLCAgICAtMSwgICAgOTQsCi0gICAgICAtMSwgICAgOTQsICAgIDQ4LCAgICAtMSwgICAgOTQsICAgIDQ5LCAgICAtMSwgICAgOTQsICAgIDMyLCAgICA5MiwKLSAgICAgIDk0LCAgICAtMSwgICAgOTQsICAgIDMzLCAgICA5MiwgICAgOTQsICAgIC0xLCAgICA5NCwgICAgNDgsICAgIDk0LAotICAgICAgLTEsICAgIDk0LCAgICA0OSwgICAgOTQsICAgIC0xLCAgICA5NSwgICAgLTEsICAgIDk2LCAgICAtMSwgICAgMjIsCi0gICAgICA5NiwgICAgLTEsICAgIDk3LCAgICA5NiwgICAgLTEsICAgIDk3LCAgICAyMiwgICAgOTYsICAgIC0xLCAgICAyMiwKLSAgICAgIDk3LCAgICA5NiwgICAgLTEsICAgIDk3LCAgICA5MSwgICAgLTEsICAgIDk2LCAgICA1MiwgICAgOTIsICAgIDk2LAotICAgICAgLTEsICAgIDk2LCAgICA0NywgICAgOTIsICAgIDk2LCAgICAtMSwgICAgNjcsICAgIC0xLCAgICAyMywgICAgLTEsCi0gICAgICAyMywgICAgMjQsICAgIC0xCisgICAgICA2MiwgICAgIDAsICAgIC0xLCAgICA5NCwgICAgOTEsICAgIC0xLCAgICA1MSwgICAgLTEsICAgICAxLCAgICA1MSwKKyAgICAgIC0xLCAgICA1MiwgICAgLTEsICAgIDI2LCAgICAtMSwgICAgNjMsICAgIDI2LCAgICAtMSwgICAgNTQsICAgIDI2LAorICAgICAgLTEsICAgIDU1LCAgICAyNiwgICAgLTEsICAgIDI5LCAgICA1NCwgICAgMjYsICAgIC0xLCAgICAyOSwgICAgNTUsCisgICAgICAyNiwgICAgLTEsICAgIDI4LCAgICA1NCwgICAgMjYsICAgIC0xLCAgICAyOCwgICAgNTUsICAgIDI2LCAgICAtMSwKKyAgICAgIDM1LCAgICAyNiwgICAgLTEsICAgIDI5LCAgICAzNSwgICAgMjYsICAgIC0xLCAgICAyOCwgICAgMzUsICAgIDI2LAorICAgICAgLTEsICAgIDQ3LCAgICAyNiwgICAgLTEsICAgIDI5LCAgICA0NywgICAgMjYsICAgIC0xLCAgICAyOCwgICAgNDcsCisgICAgICAyNiwgICAgLTEsICAgIDQ2LCAgICAyNiwgICAgLTEsICAgIDI5LCAgICA0NiwgICAgMjYsICAgIC0xLCAgICAyOCwKKyAgICAgIDQ2LCAgICAyNiwgICAgLTEsICAgIDM2LCAgICAyNiwgICAgLTEsICAgIDI5LCAgICAzNiwgICAgMjYsICAgIC0xLAorICAgICAgMjgsICAgIDM2LCAgICAyNiwgICAgLTEsICAgIDQzLCAgICAyNiwgICAgLTEsICAgIDI5LCAgICA0MywgICAgMjYsCisgICAgICAtMSwgICAgMjgsICAgIDQzLCAgICAyNiwgICAgLTEsICAgIDM4LCAgICAyNiwgICAgLTEsICAgIDI5LCAgICAzOCwKKyAgICAgIDI2LCAgICAtMSwgICAgMjgsICAgIDM4LCAgICAyNiwgICAgLTEsICAgIDM3LCAgICAyOSwgICAgLTEsICAgIDI5LAorICAgICAgMzcsICAgIDI5LCAgICAtMSwgICAgMjgsICAgIDM3LCAgICAyOSwgICAgLTEsICAgIDM5LCAgICAyOSwgICAgLTEsCisgICAgICAyOSwgICAgMzksICAgIDI5LCAgICAtMSwgICAgMjgsICAgIDM5LCAgICAyOSwgICAgLTEsICAgIDM3LCAgICAyNiwKKyAgICAgIC0xLCAgICAyOSwgICAgMzcsICAgIDI2LCAgICAtMSwgICAgMjgsICAgIDM3LCAgICAyNiwgICAgLTEsICAgIDM5LAorICAgICAgMjYsICAgIC0xLCAgICAyOSwgICAgMzksICAgIDI2LCAgICAtMSwgICAgMjgsICAgIDM5LCAgICAyNiwgICAgLTEsCisgICAgICAzOSwgICAgNTYsICAgIC0xLCAgICAyOSwgICAgMzksICAgIDU2LCAgICAtMSwgICAgMjgsICAgIDM5LCAgICA1NiwKKyAgICAgIC0xLCAgICAzNywgICAgNTYsICAgIC0xLCAgICAyOSwgICAgMzcsICAgIDU2LCAgICAtMSwgICAgMjgsICAgIDM3LAorICAgICAgNTYsICAgIC0xLCAgICA0NCwgICAgMjYsICAgIC0xLCAgICA0NSwgICAgMjYsICAgIC0xLCAgICAyNiwgICAgLTEsCisgICAgICAyNywgICAgLTEsICAgIDY0LCAgICAtMSwgICAgNjQsICAgIC0xLCAgICA2NiwgICAgNjQsICAgIC0xLCAgICA2NSwKKyAgICAgIC0xLCAgICA2NywgICAgNjUsICAgIC0xLCAgICA2NywgICAgLTEsICAgIDY5LCAgICAtMSwgICAgNjksICAgIDY2LAorICAgICAgLTEsICAgIDc0LCAgICAtMSwgICAgNzcsICAgIC0xLCAgICA3MCwgICAgLTEsICAgIDczLCAgICAtMSwgICAgMTIsCisgICAgICA4OCwgICAgMTQsICAgIDg4LCAgICAxNSwgICAgLTEsICAgIDEzLCAgICA4OCwgICAgMTQsICAgIDg4LCAgICAxNSwKKyAgICAgIC0xLCAgICA3MiwgICAgLTEsICAgIDc4LCAgICAtMSwgICAgNzYsICAgIC0xLCAgICA3OSwgICAgLTEsICAgIDgwLAorICAgICAgLTEsICAgIDgxLCAgICAtMSwgICAgNzEsICAgIC0xLCAgICAxMCwgICAgMjYsICAgIDkzLCAgICAxNCwgICAgODgsCisgICAgICAxNSwgICAgLTEsICAgIDEwLCAgICAyNiwgICAgOTMsICAgIDU3LCAgICA4OCwgICAgNTgsICAgIC0xLCAgICAxMCwKKyAgICAgIDI2LCAgICA1MCwgICAgOTMsICAgIDE0LCAgICA4OCwgICAgMTUsICAgIC0xLCAgICAxMCwgICAgMjYsICAgIDUwLAorICAgICAgOTMsICAgIDU3LCAgICA4OCwgICAgNTgsICAgIC0xLCAgICAxMCwgICAgMjYsICAgIDkzLCAgICAyMSwgICAgNjMsCisgICAgICA5MiwgICAgOTMsICAgIDE0LCAgICA4OCwgICAgMTUsICAgIC0xLCAgICAxMCwgICAgMjYsICAgIDkzLCAgICAyMSwKKyAgICAgIDYzLCAgICA5MiwgICAgOTMsICAgIDU3LCAgICA4OCwgICAgNTgsICAgIC0xLCAgICAxMCwgICAgMjYsICAgIDkzLAorICAgICAgMjEsICAgIDkyLCAgICA5MywgICAgMTQsICAgIDg4LCAgICAxNSwgICAgLTEsICAgIDEwLCAgICAyNiwgICAgOTMsCisgICAgICAyMSwgICAgOTIsICAgIDkzLCAgICA1NywgICAgODgsICAgIDU4LCAgICAtMSwgICAgMTAsICAgIDMxLCAgICA5MiwKKyAgICAgIDkzLCAgICAxNCwgICAgODgsICAgIDE1LCAgICAtMSwgICAgMTAsICAgIDMxLCAgICA5MiwgICAgOTMsICAgIDU3LAorICAgICAgODgsICAgIDU4LCAgICAtMSwgICAgMTAsICAgIDMxLCAgICAxNCwgICAgODgsICAgIDE1LCAgICAtMSwgICAgMTAsCisgICAgICAzMSwgICAgNTcsICAgIDg4LCAgICA1OCwgICAgLTEsICAgIDExLCAgICAyNiwgICAgOTMsICAgIDE0LCAgICA4NywKKyAgICAgIDE1LCAgICAtMSwgICAgMTEsICAgIDI2LCAgICA5MywgICAgNTcsICAgIDg3LCAgICA1OCwgICAgLTEsICAgIDExLAorICAgICAgMjYsICAgIDUwLCAgICA5MywgICAgMTQsICAgIDg3LCAgICAxNSwgICAgLTEsICAgIDExLCAgICAyNiwgICAgNTAsCisgICAgICA5MywgICAgNTcsICAgIDg3LCAgICA1OCwgICAgLTEsICAgIDExLCAgICAyNiwgICAgOTMsICAgIDIxLCAgICA2MywKKyAgICAgIDkyLCAgICA5MywgICAgMTQsICAgIDg3LCAgICAxNSwgICAgLTEsICAgIDExLCAgICAyNiwgICAgOTMsICAgIDIxLAorICAgICAgNjMsICAgIDkyLCAgICA5MywgICAgNTcsICAgIDg3LCAgICA1OCwgICAgLTEsICAgICA4LCAgICAyNiwgICAgOTMsCisgICAgICAyMSwgICAgOTMsICAgICA5LCAgICAtMSwgICAgIDgsICAgIDI2LCAgICA5MywgICAgMjEsICAgIDg1LCAgICA5MywKKyAgICAgICA5LCAgICAtMSwgICAgIDgsICAgIDI2LCAgICA5MywgICAgMjEsICAgIDgzLCAgICAgOSwgICAgLTEsICAgIDI2LAorICAgICAgNTksICAgIDYwLCAgICA5MywgICAgNzUsICAgIC0xLCAgICAxNiwgICAgMjYsICAgIDU5LCAgICA2MCwgICAgOTMsCisgICAgICA3NSwgICAgLTEsICAgIDE2LCAgICAyNiwgICAgOTMsICAgIDc1LCAgICAtMSwgICAgNjksICAgIC0xLCAgICA2OSwKKyAgICAgIDY2LCAgICAtMSwgICAgNTksICAgIDg4LCAgICA2MCwgICAgLTEsICAgIDE3LCAgICA2OSwgICAgLTEsICAgIDE3LAorICAgICAgNjksICAgIDY2LCAgICAtMSwgICAgMTcsICAgIDI2LCAgICA2OSwgICAgLTEsICAgIDE3LCAgICAyNiwgICAgNjksCisgICAgICA2NiwgICAgLTEsICAgIDE3LCAgICA2NywgICAgLTEsICAgICAzLCAgICA4OCwgICAgIDQsICAgIDg4LCAgICAgNywKKyAgICAgIC0xLCAgICAgMywgICAgODgsICAgICA0LCAgICA4OCwgICAgIDUsICAgIDg4LCAgICAgNywgICAgLTEsICAgICAzLAorICAgICAgODgsICAgICA0LCAgICA4OCwgICAgODIsICAgICA3LCAgICAtMSwgICAgNTcsICAgIDg4LCAgICA1OCwgICAgLTEsCisgICAgICAzMCwgICAgLTEsICAgIDE4LCAgICAzMiwgICAgMTksICAgIC0xLCAgICAgNiwgICAgODgsICAgICA0LCAgICA4OCwKKyAgICAgIC0xLCAgICAgNiwgICAgODgsICAgICA0LCAgICA4OCwgICAgIDUsICAgIDg4LCAgICAtMSwgICAgIDYsICAgIDg4LAorICAgICAgIDQsICAgIDg4LCAgICA4MiwgICAgLTEsICAgIDg0LCAgICAtMSwgICAgODUsICAgIDg0LCAgICAtMSwgICAgOTMsCisgICAgICA4NiwgICAgNjAsICAgIDg4LCAgICAtMSwgICAgOTMsICAgIDg2LCAgICA2MCwgICAgOTMsICAgIC0xLCAgICA5MywKKyAgICAgIDU5LCAgICA4NiwgICAgNjAsICAgIDg4LCAgICAtMSwgICAgOTMsICAgIDU5LCAgICA4NiwgICAgNjAsICAgIDkzLAorICAgICAgLTEsICAgIDg0LCAgICA0MCwgICAgLTEsICAgIDg1LCAgICA4NCwgICAgNDAsICAgIC0xLCAgICA4NCwgICAgNDEsCisgICAgICAtMSwgICAgODUsICAgIDg0LCAgICA0MSwgICAgLTEsICAgIDg0LCAgICA0MiwgICAgLTEsICAgIDg1LCAgICA4NCwKKyAgICAgIDQyLCAgICAtMSwgICAgMjYsICAgIC0xLCAgICA4NiwgICAgNTMsICAgIDI2LCAgICAtMSwgICAgOTMsICAgIDg5LAorICAgICAgLTEsICAgIDg3LCAgICAtMSwgICAgOTMsICAgIDkwLCAgICAtMSwgICAgOTAsICAgIDUxLCAgICA5MywgICAgLTEsCisgICAgICA5MCwgICAgNDksICAgIDkzLCAgICAtMSwgICAgOTAsICAgIDUwLCAgICA5MywgICAgLTEsICAgIDkwLCAgICAzMywKKyAgICAgIDkzLCAgICA5MCwgICAgLTEsICAgIDkwLCAgICAzNCwgICAgOTMsICAgIDkwLCAgICAtMSwgICAgOTAsICAgIDQ5LAorICAgICAgOTMsICAgIDkwLCAgICAtMSwgICAgOTAsICAgIDUwLCAgICA5MywgICAgOTAsICAgIC0xLCAgICA5MCwgICAgNTEsCisgICAgICA5MywgICAgOTAsICAgIC0xLCAgICA5NiwgICAgLTEsICAgIDUxLCAgICAtMSwgICAgNTIsICAgIC0xLCAgICA1MSwKKyAgICAgIC0xLCAgICA1MCwgICAgLTEsICAgIDUyLCAgICAtMSwgICAgLTEsICAgIDkzLCAgICA1MSwgICAgLTEsICAgIDk1LAorICAgICAgLTEsICAgIDk1LCAgICA0OSwgICAgLTEsICAgIDk1LCAgICA1MCwgICAgLTEsICAgIDk1LCAgICAzMywgICAgOTMsCisgICAgICA5NSwgICAgLTEsICAgIDk1LCAgICAzNCwgICAgOTMsICAgIDk1LCAgICAtMSwgICAgOTUsICAgIDQ5LCAgICA5NSwKKyAgICAgIC0xLCAgICA5NSwgICAgNTAsICAgIDk1LCAgICAtMSwgICAgOTYsICAgIC0xLCAgICA5NywgICAgLTEsICAgIDIyLAorICAgICAgOTYsICAgIC0xLCAgICA5OCwgICAgOTYsICAgIC0xLCAgICA5OCwgICAgOTIsICAgIC0xLCAgICAyMiwgICAgOTIsCisgICAgICAtMSwgICAgOTcsICAgIDUzLCAgICA5MywgICAgOTcsICAgIC0xLCAgICA5NywgICAgNDgsICAgIDkzLCAgICA5NywKKyAgICAgIC0xLCAgICA2OCwgICAgLTEsICAgIDIzLCAgICAtMSwgICAgMjMsICAgIDI0LCAgICAtMSwgICAgMjMsICAgIDI0LAorICAgICAgMjUsICAgIC0xCiB9OwogCiAvKiBZWVJMSU5FW1lZTl0gLS0gc291cmNlIGxpbmUgd2hlcmUgcnVsZSBudW1iZXIgWVlOIHdhcyBkZWZpbmVkLiAgKi8KIHN0YXRpYyBjb25zdCB5eXR5cGVfdWludDE2IHl5cmxpbmVbXSA9CiB7Ci0gICAgICAgMCwgICAzNzMsICAgMzczLCAgIDM4NCwgICAzOTMsICAgNDA4LCAgIDQxOCwgICA0MjAsICAgNDI0LCAgIDQzMCwKLSAgICAgNDM2LCAgIDQ0MiwgICA0NDgsICAgNDU0LCAgIDQ2MCwgICA0NjYsICAgNDcyLCAgIDQ3OCwgICA0ODQsICAgNDkwLAotICAgICA0OTYsICAgNTAyLCAgIDUwOCwgICA1MTQsICAgNTIxLCAgIDUyOCwgICA1MzUsICAgNTQyLCAgIDU0OSwgICA1NTYsCi0gICAgIDU2MiwgICA1NjgsICAgNTc0LCAgIDU4MCwgICA1ODYsICAgNTkyLCAgIDU5OCwgICA2MDQsICAgNjEwLCAgIDYxNiwKLSAgICAgNjIyLCAgIDYyOCwgICA2MzQsICAgNjQwLCAgIDY0NiwgICA2NTIsICAgNjU4LCAgIDY2NCwgICA2NzAsICAgNjc2LAotICAgICA2ODIsICAgNjg4LCAgIDY5NiwgICA2OTgsICAgNzAwLCAgIDcwNCwgICA3MDgsICAgNzE5LCAgIDcyMSwgICA3MjUsCi0gICAgIDcyNywgICA3MjksICAgNzQ1LCAgIDc0NywgICA3NTEsICAgNzUzLCAgIDc1NSwgICA3NTcsICAgNzU5LCAgIDc2MSwKLSAgICAgNzYzLCAgIDc2NSwgICA3NjcsICAgNzY5LCAgIDc3MSwgICA3NzUsICAgNzgwLCAgIDc4NSwgICA3OTAsICAgNzk1LAotICAgICA4MDAsICAgODA1LCAgIDgxMCwgICA4MTcsICAgODIyLCAgIDgyNywgICA4MzIsICAgODM5LCAgIDg0NCwgICA4NDksCi0gICAgIDg1NCwgICA4NTksICAgODY0LCAgIDg3MSwgICA4NzYsICAgODgxLCAgIDg4OCwgICA4OTEsICAgODk0LCAgIDg5OCwKLSAgICAgOTAwLCAgIDkzMSwgICA5MzgsICAgOTQzLCAgIDk2MCwgICA5NjUsICAgOTgyLCAgIDk4OSwgICA5OTEsICAgOTkzLAotICAgICA5OTgsICAxMDAyLCAgMTAwNiwgIDEwMTAsICAxMDEyLCAgMTAxNCwgIDEwMTgsICAxMDE5LCAgMTAyMywgIDEwMjUsCi0gICAgMTAyNywgIDEwMjksICAxMDMzLCAgMTAzNSwgIDEwMzcsICAxMDM5LCAgMTA0MSwgIDEwNDMsICAxMDQ3LCAgMTA0OSwKLSAgICAxMDU4LCAgMTA2NiwgIDEwNjcsICAxMDczLCAgMTA3NCwgIDEwODEsICAxMDg1LCAgMTA4NywgIDEwODksICAxMDk2LAotICAgIDEwOTgsICAxMTAwLCAgMTEwNCwgIDExMDUsICAxMTA4LCAgMTExMCwgIDExMTIsICAxMTE2LCAgMTExNywgIDExMjYsCi0gICAgMTEzOSwgIDExNTUsICAxMTcwLCAgMTE3MiwgIDExNzQsICAxMTgxLCAgMTE4NCwgIDExODgsICAxMTkwLCAgMTE5NiwKLSAgICAxMjAyLCAgMTIwOCwgIDEyMTQsICAxMjM0LCAgMTIzNiwgIDEyNTksICAxMjYzLCAgMTI2NQorICAgICAgIDAsICAgMzc2LCAgIDM3NiwgICAzODcsICAgMzk2LCAgIDQxMSwgICA0MjEsICAgNDIzLCAgIDQyNywgICA0MzMsCisgICAgIDQzOSwgICA0NDUsICAgNDUxLCAgIDQ1NywgICA0NjMsICAgNDY5LCAgIDQ3NSwgICA0ODEsICAgNDg3LCAgIDQ5MywKKyAgICAgNDk5LCAgIDUwNSwgICA1MTEsICAgNTE3LCAgIDUyNCwgICA1MzEsICAgNTM4LCAgIDU0NSwgICA1NTIsICAgNTU5LAorICAgICA1NjUsICAgNTcxLCAgIDU3NywgICA1ODMsICAgNTg5LCAgIDU5NSwgICA2MDEsICAgNjA3LCAgIDYxMywgICA2MTksCisgICAgIDYyNSwgICA2MzEsICAgNjM3LCAgIDY0MywgICA2NDksICAgNjU1LCAgIDY2MSwgICA2NjcsICAgNjczLCAgIDY3OSwKKyAgICAgNjg1LCAgIDY5MSwgICA2OTksICAgNzAxLCAgIDcwMywgICA3MDcsICAgNzExLCAgIDcyMiwgICA3MjQsICAgNzI4LAorICAgICA3MzAsICAgNzMyLCAgIDc0OCwgICA3NTAsICAgNzU0LCAgIDc1NiwgICA3NTgsICAgNzYwLCAgIDc2MiwgICA3NjQsCisgICAgIDc2NiwgICA3NjgsICAgNzcwLCAgIDc3MiwgICA3NzQsICAgNzc4LCAgIDc4MywgICA3ODgsICAgNzkzLCAgIDc5OCwKKyAgICAgODAzLCAgIDgwOCwgICA4MTMsICAgODIwLCAgIDgyNSwgICA4MzAsICAgODM1LCAgIDg0MiwgICA4NDcsICAgODUyLAorICAgICA4NTcsICAgODYyLCAgIDg2NywgICA4NzQsICAgODc5LCAgIDg4NCwgICA4OTEsICAgODk0LCAgIDg5NywgICA5MDEsCisgICAgIDkwMywgICA5MzQsICAgOTQxLCAgIDk0NiwgICA5NjMsICAgOTY4LCAgIDk4NSwgICA5OTIsICAgOTk0LCAgIDk5NiwKKyAgICAxMDAxLCAgMTAwNSwgIDEwMDksICAxMDEzLCAgMTAxNSwgIDEwMTcsICAxMDIxLCAgMTAyMiwgIDEwMjYsICAxMDI4LAorICAgIDEwMzAsICAxMDMyLCAgMTAzNiwgIDEwMzgsICAxMDQwLCAgMTA0MiwgIDEwNDQsICAxMDQ2LCAgMTA1MCwgIDEwNTIsCisgICAgMTA2MSwgIDEwNjksICAxMDcwLCAgMTA3NiwgIDEwNzcsICAxMDg0LCAgMTA4OCwgIDEwOTAsICAxMDkyLCAgMTA5OSwKKyAgICAxMTAxLCAgMTEwMywgIDExMDcsICAxMTA4LCAgMTExMSwgIDExMTMsICAxMTE1LCAgMTExOSwgIDExMjAsICAxMTI5LAorICAgIDExNDIsICAxMTU4LCAgMTE3MywgIDExNzUsICAxMTc3LCAgMTE4NCwgIDExODcsICAxMTkxLCAgMTE5MywgIDExOTksCisgICAgMTIwNSwgIDEyMjIsICAxMjQyLCAgMTI0NCwgIDEyNjcsICAxMjcxLCAgMTI3MywgIDEyNzUKIH07CiAjZW5kaWYKIApAQCAtOTA4LDIyICs5MTMsMjMgQEAKICAgIiRlbmQiLCAiZXJyb3IiLCAiJHVuZGVmaW5lZCIsICJJRiIsICJUSEVOIiwgIkVMU0UiLCAiRUxJRiIsICJGSSIsCiAgICJDQVNFIiwgIkVTQUMiLCAiRk9SIiwgIlNFTEVDVCIsICJXSElMRSIsICJVTlRJTCIsICJETyIsICJET05FIiwKICAgIkZVTkNUSU9OIiwgIkNPUFJPQyIsICJDT05EX1NUQVJUIiwgIkNPTkRfRU5EIiwgIkNPTkRfRVJST1IiLCAiSU4iLAotICAiQkFORyIsICJUSU1FIiwgIlRJTUVPUFQiLCAiV09SRCIsICJBU1NJR05NRU5UX1dPUkQiLCAiUkVESVJfV09SRCIsCi0gICJOVU1CRVIiLCAiQVJJVEhfQ01EIiwgIkFSSVRIX0ZPUl9FWFBSUyIsICJDT05EX0NNRCIsICJBTkRfQU5EIiwgIk9SX09SIiwKLSAgIkdSRUFURVJfR1JFQVRFUiIsICJMRVNTX0xFU1MiLCAiTEVTU19BTkQiLCAiTEVTU19MRVNTX0xFU1MiLAotICAiR1JFQVRFUl9BTkQiLCAiU0VNSV9TRU1JIiwgIlNFTUlfQU5EIiwgIlNFTUlfU0VNSV9BTkQiLAotICAiTEVTU19MRVNTX01JTlVTIiwgIkFORF9HUkVBVEVSIiwgIkFORF9HUkVBVEVSX0dSRUFURVIiLCAiTEVTU19HUkVBVEVSIiwKLSAgIkdSRUFURVJfQkFSIiwgIkJBUl9BTkQiLCAiJyYnIiwgIic7JyIsICInXFxuJyIsICJ5YWNjX0VPRiIsICInfCciLAotICAiJz4nIiwgIic8JyIsICInLSciLCAiJ3snIiwgIid9JyIsICInKCciLCAiJyknIiwgIiRhY2NlcHQiLCAiaW5wdXR1bml0IiwKLSAgIndvcmRfbGlzdCIsICJyZWRpcmVjdGlvbiIsICJzaW1wbGVfY29tbWFuZF9lbGVtZW50IiwgInJlZGlyZWN0aW9uX2xpc3QiLAotICAic2ltcGxlX2NvbW1hbmQiLCAiY29tbWFuZCIsICJzaGVsbF9jb21tYW5kIiwgImZvcl9jb21tYW5kIiwKLSAgImFyaXRoX2Zvcl9jb21tYW5kIiwgInNlbGVjdF9jb21tYW5kIiwgImNhc2VfY29tbWFuZCIsICJmdW5jdGlvbl9kZWYiLAotICAiZnVuY3Rpb25fYm9keSIsICJzdWJzaGVsbCIsICJjb3Byb2MiLCAiaWZfY29tbWFuZCIsICJncm91cF9jb21tYW5kIiwKLSAgImFyaXRoX2NvbW1hbmQiLCAiY29uZF9jb21tYW5kIiwgImVsaWZfY2xhdXNlIiwgImNhc2VfY2xhdXNlIiwKLSAgInBhdHRlcm5fbGlzdCIsICJjYXNlX2NsYXVzZV9zZXF1ZW5jZSIsICJwYXR0ZXJuIiwgImxpc3QiLAotICAiY29tcG91bmRfbGlzdCIsICJsaXN0MCIsICJsaXN0MSIsICJzaW1wbGVfbGlzdF90ZXJtaW5hdG9yIiwKLSAgImxpc3RfdGVybWluYXRvciIsICJuZXdsaW5lX2xpc3QiLCAic2ltcGxlX2xpc3QiLCAic2ltcGxlX2xpc3QxIiwKLSAgInBpcGVsaW5lX2NvbW1hbmQiLCAicGlwZWxpbmUiLCAidGltZXNwZWMiLCAwCisgICJCQU5HIiwgIlRJTUUiLCAiVElNRU9QVCIsICJUSU1FSUdOIiwgIldPUkQiLCAiQVNTSUdOTUVOVF9XT1JEIiwKKyAgIlJFRElSX1dPUkQiLCAiTlVNQkVSIiwgIkFSSVRIX0NNRCIsICJBUklUSF9GT1JfRVhQUlMiLCAiQ09ORF9DTUQiLAorICAiQU5EX0FORCIsICJPUl9PUiIsICJHUkVBVEVSX0dSRUFURVIiLCAiTEVTU19MRVNTIiwgIkxFU1NfQU5EIiwKKyAgIkxFU1NfTEVTU19MRVNTIiwgIkdSRUFURVJfQU5EIiwgIlNFTUlfU0VNSSIsICJTRU1JX0FORCIsCisgICJTRU1JX1NFTUlfQU5EIiwgIkxFU1NfTEVTU19NSU5VUyIsICJBTkRfR1JFQVRFUiIsICJBTkRfR1JFQVRFUl9HUkVBVEVSIiwKKyAgIkxFU1NfR1JFQVRFUiIsICJHUkVBVEVSX0JBUiIsICJCQVJfQU5EIiwgIicmJyIsICInOyciLCAiJ1xcbiciLAorICAieWFjY19FT0YiLCAiJ3wnIiwgIic+JyIsICInPCciLCAiJy0nIiwgIid7JyIsICInfSciLCAiJygnIiwgIicpJyIsCisgICIkYWNjZXB0IiwgImlucHV0dW5pdCIsICJ3b3JkX2xpc3QiLCAicmVkaXJlY3Rpb24iLAorICAic2ltcGxlX2NvbW1hbmRfZWxlbWVudCIsICJyZWRpcmVjdGlvbl9saXN0IiwgInNpbXBsZV9jb21tYW5kIiwKKyAgImNvbW1hbmQiLCAic2hlbGxfY29tbWFuZCIsICJmb3JfY29tbWFuZCIsICJhcml0aF9mb3JfY29tbWFuZCIsCisgICJzZWxlY3RfY29tbWFuZCIsICJjYXNlX2NvbW1hbmQiLCAiZnVuY3Rpb25fZGVmIiwgImZ1bmN0aW9uX2JvZHkiLAorICAic3Vic2hlbGwiLCAiY29wcm9jIiwgImlmX2NvbW1hbmQiLCAiZ3JvdXBfY29tbWFuZCIsICJhcml0aF9jb21tYW5kIiwKKyAgImNvbmRfY29tbWFuZCIsICJlbGlmX2NsYXVzZSIsICJjYXNlX2NsYXVzZSIsICJwYXR0ZXJuX2xpc3QiLAorICAiY2FzZV9jbGF1c2Vfc2VxdWVuY2UiLCAicGF0dGVybiIsICJsaXN0IiwgImNvbXBvdW5kX2xpc3QiLCAibGlzdDAiLAorICAibGlzdDEiLCAic2ltcGxlX2xpc3RfdGVybWluYXRvciIsICJsaXN0X3Rlcm1pbmF0b3IiLCAibmV3bGluZV9saXN0IiwKKyAgInNpbXBsZV9saXN0IiwgInNpbXBsZV9saXN0MSIsICJwaXBlbGluZV9jb21tYW5kIiwgInBpcGVsaW5lIiwKKyAgInRpbWVzcGVjIiwgMAogfTsKICNlbmRpZgogCkBAIC05MzYsMzEgKzk0MiwzMiBAQAogICAgICAyNjUsICAgMjY2LCAgIDI2NywgICAyNjgsICAgMjY5LCAgIDI3MCwgICAyNzEsICAgMjcyLCAgIDI3MywgICAyNzQsCiAgICAgIDI3NSwgICAyNzYsICAgMjc3LCAgIDI3OCwgICAyNzksICAgMjgwLCAgIDI4MSwgICAyODIsICAgMjgzLCAgIDI4NCwKICAgICAgMjg1LCAgIDI4NiwgICAyODcsICAgMjg4LCAgIDI4OSwgICAyOTAsICAgMjkxLCAgIDI5MiwgICAyOTMsICAgMjk0LAotICAgICAyOTUsICAgMjk2LCAgIDI5NywgICAyOTgsICAgMjk5LCAgIDMwMCwgICAzMDEsICAgMzAyLCAgICAzOCwgICAgNTksCi0gICAgICAxMCwgICAzMDMsICAgMTI0LCAgICA2MiwgICAgNjAsICAgIDQ1LCAgIDEyMywgICAxMjUsICAgIDQwLCAgICA0MQorICAgICAyOTUsICAgMjk2LCAgIDI5NywgICAyOTgsICAgMjk5LCAgIDMwMCwgICAzMDEsICAgMzAyLCAgIDMwMywgICAgMzgsCisgICAgICA1OSwgICAgMTAsICAgMzA0LCAgIDEyNCwgICAgNjIsICAgIDYwLCAgICA0NSwgICAxMjMsICAgMTI1LCAgICA0MCwKKyAgICAgIDQxCiB9OwogIyBlbmRpZgogCiAvKiBZWVIxW1lZTl0gLS0gU3ltYm9sIG51bWJlciBvZiBzeW1ib2wgdGhhdCBydWxlIFlZTiBkZXJpdmVzLiAgKi8KIHN0YXRpYyBjb25zdCB5eXR5cGVfdWludDggeXlyMVtdID0KIHsKLSAgICAgICAwLCAgICA2MCwgICAgNjEsICAgIDYxLCAgICA2MSwgICAgNjEsICAgIDYyLCAgICA2MiwgICAgNjMsICAgIDYzLAotICAgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsCi0gICAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywKLSAgICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLAotICAgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsICAgIDYzLCAgICA2MywgICAgNjMsCi0gICAgICA2MywgICAgNjMsICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY1LCAgICA2NSwgICAgNjYsICAgIDY2LCAgICA2NywKLSAgICAgIDY3LCAgICA2NywgICAgNjcsICAgIDY3LCAgICA2OCwgICAgNjgsICAgIDY4LCAgICA2OCwgICAgNjgsICAgIDY4LAotICAgICAgNjgsICAgIDY4LCAgICA2OCwgICAgNjgsICAgIDY4LCAgICA2OSwgICAgNjksICAgIDY5LCAgICA2OSwgICAgNjksCi0gICAgICA2OSwgICAgNjksICAgIDY5LCAgICA3MCwgICAgNzAsICAgIDcwLCAgICA3MCwgICAgNzEsICAgIDcxLCAgICA3MSwKLSAgICAgIDcxLCAgICA3MSwgICAgNzEsICAgIDcyLCAgICA3MiwgICAgNzIsICAgIDczLCAgICA3MywgICAgNzMsICAgIDc0LAotICAgICAgNzQsICAgIDc1LCAgICA3NiwgICAgNzYsICAgIDc2LCAgICA3NiwgICAgNzYsICAgIDc3LCAgICA3NywgICAgNzcsCi0gICAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwgICAgODEsICAgIDgxLCAgICA4MiwgICAgODIsICAgIDgzLCAgICA4MywKLSAgICAgIDgzLCAgICA4MywgICAgODQsICAgIDg0LCAgICA4NCwgICAgODQsICAgIDg0LCAgICA4NCwgICAgODUsICAgIDg1LAotICAgICAgODYsICAgIDg3LCAgICA4NywgICAgODgsICAgIDg4LCAgICA4OCwgICAgODksICAgIDg5LCAgICA4OSwgICAgODksCi0gICAgICA4OSwgICAgODksICAgIDkwLCAgICA5MCwgICAgOTEsICAgIDkxLCAgICA5MSwgICAgOTIsICAgIDkyLCAgICA5MywKLSAgICAgIDkzLCAgICA5MywgICAgOTQsICAgIDk0LCAgICA5NCwgICAgOTQsICAgIDk0LCAgICA5NSwgICAgOTUsICAgIDk1LAotICAgICAgOTUsICAgIDk1LCAgICA5NSwgICAgOTYsICAgIDk2LCAgICA5NiwgICAgOTcsICAgIDk3CisgICAgICAgMCwgICAgNjEsICAgIDYyLCAgICA2MiwgICAgNjIsICAgIDYyLCAgICA2MywgICAgNjMsICAgIDY0LCAgICA2NCwKKyAgICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY0LAorICAgICAgNjQsICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY0LCAgICA2NCwgICAgNjQsCisgICAgICA2NCwgICAgNjQsICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY0LCAgICA2NCwKKyAgICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY0LCAgICA2NCwgICAgNjQsICAgIDY0LAorICAgICAgNjQsICAgIDY0LCAgICA2NSwgICAgNjUsICAgIDY1LCAgICA2NiwgICAgNjYsICAgIDY3LCAgICA2NywgICAgNjgsCisgICAgICA2OCwgICAgNjgsICAgIDY4LCAgICA2OCwgICAgNjksICAgIDY5LCAgICA2OSwgICAgNjksICAgIDY5LCAgICA2OSwKKyAgICAgIDY5LCAgICA2OSwgICAgNjksICAgIDY5LCAgICA2OSwgICAgNzAsICAgIDcwLCAgICA3MCwgICAgNzAsICAgIDcwLAorICAgICAgNzAsICAgIDcwLCAgICA3MCwgICAgNzEsICAgIDcxLCAgICA3MSwgICAgNzEsICAgIDcyLCAgICA3MiwgICAgNzIsCisgICAgICA3MiwgICAgNzIsICAgIDcyLCAgICA3MywgICAgNzMsICAgIDczLCAgICA3NCwgICAgNzQsICAgIDc0LCAgICA3NSwKKyAgICAgIDc1LCAgICA3NiwgICAgNzcsICAgIDc3LCAgICA3NywgICAgNzcsICAgIDc3LCAgICA3OCwgICAgNzgsICAgIDc4LAorICAgICAgNzksICAgIDgwLCAgICA4MSwgICAgODIsICAgIDgyLCAgICA4MiwgICAgODMsICAgIDgzLCAgICA4NCwgICAgODQsCisgICAgICA4NCwgICAgODQsICAgIDg1LCAgICA4NSwgICAgODUsICAgIDg1LCAgICA4NSwgICAgODUsICAgIDg2LCAgICA4NiwKKyAgICAgIDg3LCAgICA4OCwgICAgODgsICAgIDg5LCAgICA4OSwgICAgODksICAgIDkwLCAgICA5MCwgICAgOTAsICAgIDkwLAorICAgICAgOTAsICAgIDkwLCAgICA5MSwgICAgOTEsICAgIDkyLCAgICA5MiwgICAgOTIsICAgIDkzLCAgICA5MywgICAgOTQsCisgICAgICA5NCwgICAgOTQsICAgIDk1LCAgICA5NSwgICAgOTUsICAgIDk1LCAgICA5NSwgICAgOTYsICAgIDk2LCAgICA5NiwKKyAgICAgIDk2LCAgICA5NiwgICAgOTcsICAgIDk3LCAgICA5NywgICAgOTgsICAgIDk4LCAgICA5OAogfTsKIAogLyogWVlSMltZWU5dIC0tIE51bWJlciBvZiBzeW1ib2xzIGNvbXBvc2luZyByaWdodCBoYW5kIHNpZGUgb2YgcnVsZSBZWU4uICAqLwpAQCAtOTgyLDcgKzk4OSw3IEBACiAgICAgICAgMiwgICAgIDEsICAgICAyLCAgICAgMywgICAgIDMsICAgICAzLCAgICAgNCwgICAgIDQsICAgICA0LCAgICAgNCwKICAgICAgICA0LCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMSwgICAgIDEsICAgICAxLCAgICAgMCwgICAgIDIsICAgICAxLAogICAgICAgIDIsICAgICAyLCAgICAgNCwgICAgIDQsICAgICAzLCAgICAgMywgICAgIDEsICAgICAxLCAgICAgMiwgICAgIDIsCi0gICAgICAgMywgICAgIDMsICAgICAyLCAgICAgNCwgICAgIDQsICAgICAxLCAgICAgMSwgICAgIDIKKyAgICAgICAyLCAgICAgMiwgICAgIDQsICAgICA0LCAgICAgMSwgICAgIDEsICAgICAyLCAgICAgMwogfTsKIAogLyogWVlERUZBQ1RbU1RBVEUtTkFNRV0gLS0gRGVmYXVsdCBydWxlIHRvIHJlZHVjZSB3aXRoIGluIHN0YXRlCkBAIC05OTEsMTAwICs5OTgsMTAwIEBACiBzdGF0aWMgY29uc3QgeXl0eXBlX3VpbnQ4IHl5ZGVmYWN0W10gPQogewogICAgICAgIDAsICAgICAwLCAgIDE0NywgICAgIDAsICAgICAwLCAgICAgMCwgICAxNDcsICAgMTQ3LCAgICAgMCwgICAgIDAsCi0gICAgICAgMCwgICAgIDAsICAgMTY2LCAgICA1MiwgICAgNTMsICAgICAwLCAgICAgMCwgICAxMTEsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAxNjUsICAgIDUyLCAgICA1MywgICAgIDAsICAgICAwLCAgIDExMSwgICAgIDAsICAgICAwLAogICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMywgICAgIDUsCi0gICAgICAgMCwgICAgIDAsICAgMTQ3LCAgIDE0NywgICAgIDAsICAgIDU0LCAgICA1NywgICAgNTksICAgMTY1LCAgICA2MCwKKyAgICAgICAwLCAgICAgMCwgICAxNDcsICAgMTQ3LCAgICAgMCwgICAgNTQsICAgIDU3LCAgICA1OSwgICAxNjQsICAgIDYwLAogICAgICAgNjQsICAgIDc0LCAgICA2OCwgICAgNjUsICAgIDYyLCAgICA3MCwgICAgNjMsICAgIDY5LCAgICA3MSwgICAgNzIsCiAgICAgICA3MywgICAgIDAsICAgMTQ5LCAgIDE1NiwgICAxNTcsICAgICAwLCAgICAgNCwgICAxMzEsICAgICAwLCAgICAgMCwKICAgICAgMTQ3LCAgIDE0NywgICAgIDAsICAgMTQ3LCAgICAgMCwgICAgIDAsICAgMTQ3LCAgICA1MiwgICAxMDYsICAgMTAyLAotICAgICAgIDAsICAgMTU4LCAgICAgMCwgICAxNjcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAxNDUsICAgMTQ0LCAgIDE0NiwgICAxNjEsICAgMTU4LCAgIDE2NiwgICAgIDAsICAgICAwLCAgICAgMCwKICAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAotICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxNCwgICAgMjMsICAgIDM4LCAgICAzMiwgICAgNDcsCi0gICAgICAyOSwgICAgNDEsICAgIDM1LCAgICA0NCwgICAgMjYsICAgIDUwLCAgICA1MSwgICAgMjAsICAgIDE3LCAgICAgOCwKLSAgICAgICA5LCAgICAgMCwgICAgIDAsICAgICAxLCAgICA1MiwgICAgNTgsICAgIDU1LCAgICA2MSwgICAxNDIsICAgMTQzLAotICAgICAgIDIsICAgMTQ3LCAgIDE0NywgICAxNTAsICAgMTUxLCAgIDE0NywgICAxNDcsICAgICAwLCAgIDE0NSwgICAxNDQsCi0gICAgIDE0NiwgICAxNjIsICAgMTU5LCAgIDE0NywgICAxNDgsICAgMTMwLCAgIDEzMiwgICAxNDEsICAgICAwLCAgIDE0NywKLSAgICAgICAwLCAgIDE0NywgICAxNDcsICAgMTQ3LCAgIDE0NywgICAgIDAsICAgMTQ3LCAgIDE0NywgICAgIDAsICAgICAwLAotICAgICAxMDQsICAgMTAzLCAgIDExMiwgICAxNjEsICAgMTQ3LCAgICAxNiwgICAgMjUsICAgIDQwLCAgICAzNCwgICAgNDksCi0gICAgICAzMSwgICAgNDMsICAgIDM3LCAgICA0NiwgICAgMjgsICAgIDIyLCAgICAxOSwgICAgMTIsICAgIDEzLCAgICAxNSwKLSAgICAgIDI0LCAgICAzOSwgICAgMzMsICAgIDQ4LCAgICAzMCwgICAgNDIsICAgIDM2LCAgICA0NSwgICAgMjcsICAgIDIxLAotICAgICAgMTgsICAgIDEwLCAgICAxMSwgICAxMTAsICAgMTAxLCAgICA1NiwgICAgIDAsICAgICAwLCAgIDE1NCwgICAxNTUsCi0gICAgICAgMCwgICAgIDAsICAgMTYwLCAgICAgMCwgICAxNDcsICAgMTQ3LCAgIDE0NywgICAxNDcsICAgMTQ3LCAgIDE0NywKLSAgICAgICAwLCAgIDE0NywgICAgIDAsICAgMTQ3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAxNDcsICAgICAwLAotICAgICAxNDcsICAgICAwLCAgICAgMCwgICAxNDcsICAgIDk5LCAgICA5OCwgICAxMDUsICAgICAwLCAgIDE1MiwgICAxNTMsCi0gICAgICAgMCwgICAgIDAsICAgMTY0LCAgIDE2MywgICAxNDcsICAgMTQ3LCAgIDEwNywgICAgIDAsICAgICAwLCAgICAgMCwKLSAgICAgMTM0LCAgIDEzNSwgICAxMzMsICAgICAwLCAgIDExNiwgICAxNDcsICAgICAwLCAgIDE0NywgICAxNDcsICAgICAwLAotICAgICAgIDYsICAgICAwLCAgIDE0NywgICAgIDAsICAgIDg1LCAgICA4NiwgICAxNDcsICAgMTQ3LCAgIDE0NywgICAxNDcsCi0gICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNjYsICAgIDY3LCAgICAgMCwgICAxMDAsICAgIDk2LCAgICAgMCwKLSAgICAgICAwLCAgIDEwOSwgICAxMzYsICAgMTM3LCAgIDEzOCwgICAxMzksICAgMTQwLCAgICA5NSwgICAxMjIsICAgMTI0LAotICAgICAxMjYsICAgMTE3LCAgICAgMCwgICAgOTMsICAgMTI4LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgNzUsCi0gICAgICAgNywgICAxNDcsICAgICAwLCAgICA3NiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDg3LCAgICAgMCwKLSAgICAgMTQ3LCAgICA4OCwgICAgOTcsICAgMTA4LCAgIDE0NywgICAxNDcsICAgMTQ3LCAgIDE0NywgICAxMjMsICAgMTI1LAotICAgICAxMjcsICAgIDk0LCAgICAgMCwgICAgIDAsICAgMTQ3LCAgICA3NywgICAgNzgsICAgICAwLCAgIDE0NywgICAxNDcsCi0gICAgICA4MywgICAgODQsICAgIDg5LCAgICA5MCwgICAgIDAsICAgMTEzLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDE0NywKLSAgICAgMTI5LCAgIDExOCwgICAxMTksICAgMTQ3LCAgIDE0NywgICAgIDAsICAgICAwLCAgIDE0NywgICAxNDcsICAgMTQ3LAotICAgICAxMTUsICAgMTIwLCAgIDEyMSwgICAgIDAsICAgICAwLCAgICA4MSwgICAgODIsICAgICAwLCAgICAgMCwgICAxMTQsCi0gICAgICA3OSwgICAgODAsICAgIDkxLCAgICA5MgorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxNCwgICAgMjMsCisgICAgICAzOCwgICAgMzIsICAgIDQ3LCAgICAyOSwgICAgNDEsICAgIDM1LCAgICA0NCwgICAgMjYsICAgIDUwLCAgICA1MSwKKyAgICAgIDIwLCAgICAxNywgICAgIDgsICAgICA5LCAgICAgMCwgICAgIDAsICAgICAxLCAgICA1MiwgICAgNTgsICAgIDU1LAorICAgICAgNjEsICAgMTQyLCAgIDE0MywgICAgIDIsICAgMTQ3LCAgIDE0NywgICAxNTAsICAgMTUxLCAgIDE0NywgICAxNDcsCisgICAgIDE2MCwgICAxNTksICAgMTQ3LCAgIDE0OCwgICAxMzAsICAgMTMyLCAgIDE0MSwgICAgIDAsICAgMTQ3LCAgICAgMCwKKyAgICAgMTQ3LCAgIDE0NywgICAxNDcsICAgMTQ3LCAgICAgMCwgICAxNDcsICAgMTQ3LCAgICAgMCwgICAgIDAsICAgMTA0LAorICAgICAxMDMsICAgMTEyLCAgIDE2NywgICAxNDcsICAgIDE2LCAgICAyNSwgICAgNDAsICAgIDM0LCAgICA0OSwgICAgMzEsCisgICAgICA0MywgICAgMzcsICAgIDQ2LCAgICAyOCwgICAgMjIsICAgIDE5LCAgICAxMiwgICAgMTMsICAgIDE1LCAgICAyNCwKKyAgICAgIDM5LCAgICAzMywgICAgNDgsICAgIDMwLCAgICA0MiwgICAgMzYsICAgIDQ1LCAgICAyNywgICAgMjEsICAgIDE4LAorICAgICAgMTAsICAgIDExLCAgIDExMCwgICAxMDEsICAgIDU2LCAgICAgMCwgICAgIDAsICAgMTU0LCAgIDE1NSwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgMTQ3LCAgIDE0NywgICAxNDcsICAgMTQ3LCAgIDE0NywgICAxNDcsICAgICAwLCAgIDE0NywKKyAgICAgICAwLCAgIDE0NywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTQ3LCAgICAgMCwgICAxNDcsICAgICAwLAorICAgICAgIDAsICAgMTQ3LCAgICA5OSwgICAgOTgsICAgMTA1LCAgICAgMCwgICAxNTIsICAgMTUzLCAgICAgMCwgICAgIDAsCisgICAgIDE2MywgICAxNjIsICAgMTQ3LCAgIDE0NywgICAxMDcsICAgICAwLCAgICAgMCwgICAgIDAsICAgMTM0LCAgIDEzNSwKKyAgICAgMTMzLCAgICAgMCwgICAxMTYsICAgMTQ3LCAgICAgMCwgICAxNDcsICAgMTQ3LCAgICAgMCwgICAgIDYsICAgICAwLAorICAgICAxNDcsICAgICAwLCAgICA4NSwgICAgODYsICAgMTQ3LCAgIDE0NywgICAxNDcsICAgMTQ3LCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgIDAsICAgIDY2LCAgICA2NywgICAgIDAsICAgMTAwLCAgICA5NiwgICAgIDAsICAgICAwLCAgIDEwOSwKKyAgICAgMTM2LCAgIDEzNywgICAxMzgsICAgMTM5LCAgIDE0MCwgICAgOTUsICAgMTIyLCAgIDEyNCwgICAxMjYsICAgMTE3LAorICAgICAgIDAsICAgIDkzLCAgIDEyOCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDc1LCAgICAgNywgICAxNDcsCisgICAgICAgMCwgICAgNzYsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA4NywgICAgIDAsICAgMTQ3LCAgICA4OCwKKyAgICAgIDk3LCAgIDEwOCwgICAxNDcsICAgMTQ3LCAgIDE0NywgICAxNDcsICAgMTIzLCAgIDEyNSwgICAxMjcsICAgIDk0LAorICAgICAgIDAsICAgICAwLCAgIDE0NywgICAgNzcsICAgIDc4LCAgICAgMCwgICAxNDcsICAgMTQ3LCAgICA4MywgICAgODQsCisgICAgICA4OSwgICAgOTAsICAgICAwLCAgIDExMywgICAgIDAsICAgICAwLCAgICAgMCwgICAxNDcsICAgMTI5LCAgIDExOCwKKyAgICAgMTE5LCAgIDE0NywgICAxNDcsICAgICAwLCAgICAgMCwgICAxNDcsICAgMTQ3LCAgIDE0NywgICAxMTUsICAgMTIwLAorICAgICAxMjEsICAgICAwLCAgICAgMCwgICAgODEsICAgIDgyLCAgICAgMCwgICAgIDAsICAgMTE0LCAgICA3OSwgICAgODAsCisgICAgICA5MSwgICAgOTIKIH07CiAKIC8qIFlZREVGR09UT1tOVEVSTS1OVU1dLiAgKi8KIHN0YXRpYyBjb25zdCB5eXR5cGVfaW50MTYgeXlkZWZnb3RvW10gPQogewotICAgICAgLTEsICAgIDM0LCAgIDI0MSwgICAgMzUsICAgIDM2LCAgIDExNywgICAgMzcsICAgIDM4LCAgICAzOSwgICAgNDAsCi0gICAgICA0MSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAyMTUsICAgIDQ1LCAgICA0NiwgICAgNDcsICAgIDQ4LCAgICA0OSwKLSAgICAgIDUwLCAgIDIyNywgICAyMzMsICAgMjM0LCAgIDIzNSwgICAyNzYsICAgIDU3LCAgICA1OCwgICAxMzUsICAgMTM2LAotICAgICAxMjAsICAgMTMxLCAgICA1OSwgICAgNTEsICAgMTg4LCAgIDEzNywgICAgNTQsICAgIDU1CisgICAgICAtMSwgICAgMzQsICAgMjM5LCAgICAzNSwgICAgMzYsICAgMTIwLCAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MCwKKyAgICAgIDQxLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgIDIxMywgICAgNDUsICAgIDQ2LCAgICA0NywgICAgNDgsICAgIDQ5LAorICAgICAgNTAsICAgMjI1LCAgIDIzMSwgICAyMzIsICAgMjMzLCAgIDI3NCwgICAgNTcsICAgIDU4LCAgIDEzNCwgICAxMzUsCisgICAgIDEyMywgICAgNzQsICAgIDU5LCAgICA1MSwgICAxODcsICAgMTM2LCAgICA1NCwgICAgNTUKIH07CiAKIC8qIFlZUEFDVFtTVEFURS1OVU1dIC0tIEluZGV4IGluIFlZVEFCTEUgb2YgdGhlIHBvcnRpb24gZGVzY3JpYmluZwogICAgU1RBVEUtTlVNLiAgKi8KLSNkZWZpbmUgWVlQQUNUX05JTkYgLTIxMgorI2RlZmluZSBZWVBBQ1RfTklORiAtMjA4CiBzdGF0aWMgY29uc3QgeXl0eXBlX2ludDE2IHl5cGFjdFtdID0KIHsKLSAgICAgMzE4LCAgIC00MCwgIC0yMTIsICAgIDExLCAgICAxMCwgICAgMzIsICAtMjEyLCAgLTIxMiwgICAgMzQsICAgNjYxLAotICAgICAgMzksICAgNTE0LCAgICA1MiwgICAgMjEsICAtMjEyLCAgIDI1NSwgICA3MDYsICAtMjEyLCAgICA2NSwgICAgNzksCi0gICAgICA0NywgICAgOTgsICAgIDU1LCAgIDEzMywgICAxMzQsICAgMTM5LCAgIDE1MSwgICAxNTIsICAtMjEyLCAgLTIxMiwKLSAgICAgMTU2LCAgIDE1NywgIC0yMTIsICAtMjEyLCAgIDE0MiwgIC0yMTIsICAtMjEyLCAgIDIzMiwgIC0yMTIsICAgNjkzLAotICAgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsCi0gICAgLTIxMiwgICAgNDksICAgMjEzLCAgLTIxMiwgICAtMjgsICAgMzY3LCAgLTIxMiwgIC0yMTIsICAgMTUwLCAgIDQxNiwKLSAgICAtMjEyLCAgIDEzNSwgICAgLTMsICAgMTM3LCAgIDE4NCwgICAxOTQsICAgMTU4LCAgICAzMSwgICAyMzIsICAgNjkzLAotICAgICAxOTEsICAgLTI4LCAgIDYxMiwgIC0yMTIsICAgMTY2LCAgIDE5OSwgICAyMDIsICAgIDY5LCAgIDIwOSwgICAxMjgsCi0gICAgIDIxMCwgICAyMTQsICAgMjE4LCAgIDIxOSwgICAyMjUsICAgMjI3LCAgIDI0NywgICAxNjUsICAgMjQ4LCAgIDE4MSwKLSAgICAgMjU2LCAgIDI1NywgICAyNTgsICAgMjU5LCAgIDI2MiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLAotICAgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsCi0gICAgLTIxMiwgICAyMzcsICAgMjM2LCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgICA2OTMsICAtMjEyLCAgLTIxMiwKLSAgICAtMjEyLCAgLTIxMiwgIC0yMTIsICAgNDY1LCAgIDQ2NSwgIC0yMTIsICAtMjEyLCAgIDYxMiwgIC0yMTIsICAtMjEyLAotICAgIC0yMTIsICAtMjEyLCAgIC0yOCwgIC0yMTIsICAtMjEyLCAgLTIxMiwgICAyMDUsICAtMjEyLCAgIC0xMywgIC0yMTIsCi0gICAgIDExNiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAgMTE3LCAgLTIxMiwgIC0yMTIsICAgMjQwLCAgICA1MywKLSAgICAgNjkzLCAgIDY5MywgIC0yMTIsICAgLTI4LCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLAotICAgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsCi0gICAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwKLSAgICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAgNDE2LCAgIDQxNiwgICAgNzUsICAgIDc1LAotICAgICA1NjMsICAgNTYzLCAgIC0yOCwgICAgMTUsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsCi0gICAgICA3MiwgIC0yMTIsICAgMTIwLCAgLTIxMiwgICAyODEsICAgMjQ5LCAgIDEwNSwgICAxMTgsICAtMjEyLCAgIDI3OSwKLSAgICAtMjEyLCAgIDI5MCwgICAyOTIsICAtMjEyLCAgIDY5MywgIC0yMTIsICAgNjkzLCAgICA1MywgIC0yMTIsICAtMjEyLAotICAgICA0NjUsICAgNDY1LCAgIC0yOCwgICAtMjgsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAgMzAzLCAgIDQxNiwgICA0MTYsCi0gICAgIDQxNiwgICA0MTYsICAgNDE2LCAgIDMwMiwgICAxNzQsICAtMjEyLCAgICAgMCwgIC0yMTIsICAtMjEyLCAgIDI5NywKLSAgICAtMjEyLCAgIDE3OSwgIC0yMTIsICAgMjYzLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLAotICAgICAyOTksICAgNDE2LCAgIDE3OSwgICAyNjUsICAtMjEyLCAgLTIxMiwgICAgNTMsICAgNjkzLCAgLTIxMiwgICAzMDgsCi0gICAgIDMxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgICAgODAsICAgIDgwLCAgICA4MCwgIC0yMTIsICAtMjEyLCAgLTIxMiwKLSAgICAtMjEyLCAgIDIyNCwgICAgNDMsICAtMjEyLCAgLTIxMiwgICAzMDAsICAgIDMzLCAgIDMwOSwgICAyNzAsICAtMjEyLAotICAgIC0yMTIsICAtMjEyLCAgIDEyOSwgIC0yMTIsICAgMzE3LCAgIDI3NiwgICAzMjIsICAgMjgyLCAgLTIxMiwgICAyMDUsCi0gICAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwKLSAgICAtMjEyLCAgLTIxMiwgICAgNDYsICAgMzEzLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgIDE0OSwgIC0yMTIsICAtMjEyLAotICAgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAgMTYxLCAgIDExNSwgICA0MTYsICAgNDE2LCAgIDQxNiwgIC0yMTIsCi0gICAgLTIxMiwgIC0yMTIsICAgNDE2LCAgLTIxMiwgIC0yMTIsICAgMzI3LCAgIDI5MSwgIC0yMTIsICAtMjEyLCAgLTIxMiwKLSAgICAtMjEyLCAgLTIxMiwgICA0MTYsICAgMzM0LCAgIDI5MywgIC0yMTIsICAtMjEyLCAgIDMzNiwgICAzMDEsICAtMjEyLAotICAgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTIKKyAgICAgMjk2LCAgIC0zNSwgIC0yMDgsICAgIC0yLCAgICAzOCwgICAgMTAsICAtMjA4LCAgLTIwOCwgICAgMjQsICAgNTQ2LAorICAgICAgMzEsICAgMzQ2LCAgICA1MSwgICAgNDcsICAtMjA4LCAgIDU5MSwgICA2MDQsICAtMjA4LCAgICA1NiwgICAgNzEsCisgICAgIC0xOCwgICAxMTIsICAgMTMwLCAgIDExNSwgICAxMjgsICAgMTM2LCAgIDE0MywgICAxNTQsICAtMjA4LCAgLTIwOCwKKyAgICAgMTU3LCAgIDE3MCwgIC0yMDgsICAtMjA4LCAgIDExMSwgIC0yMDgsICAtMjA4LCAgIDIyOSwgIC0yMDgsICAgNTc4LAorICAgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsCisgICAgLTIwOCwgICAtMTIsICAgIC0zLCAgLTIwOCwgICAgNDgsICAgMzQ2LCAgLTIwOCwgIC0yMDgsICAgMjA4LCAgIDM5NiwKKyAgICAtMjA4LCAgICA3MywgICAgMTUsICAgMTYzLCAgIDE5MCwgICAyMDEsICAgMTYwLCAgIDEwNywgICAyMjksICAgNTc4LAorICAgICAyMDQsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgICAxOTUsICAgMTY1LCAgIDIwMiwgICAyMTUsCisgICAgIDE1MiwgICAyMTYsICAgMTUzLCAgIDIyMiwgICAyMjcsICAgMjM2LCAgIDIzNywgICAyNDQsICAgMjQ1LCAgIDI1MywKKyAgICAgMTU4LCAgIDI1NCwgICAxNzEsICAgMjU1LCAgIDI1NiwgICAyNTksICAgMjYxLCAgIDI2MiwgIC0yMDgsICAtMjA4LAorICAgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsCisgICAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgICAyMzEsICAgMjMwLCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwKKyAgICAgNTc4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAgNDQ2LCAgIDQ0NiwgIC0yMDgsICAtMjA4LAorICAgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgIDIxMCwgIC0yMDgsICAgICA0LCAgLTIwOCwgICAgNjUsCisgICAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgICAgNzAsICAtMjA4LCAgLTIwOCwgICAyMzIsICAgIDQxLCAgIDU3OCwKKyAgICAgNTc4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LAorICAgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsCisgICAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwKKyAgICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgICAzOTYsICAgMzk2LCAgICAyMywgICAgMjMsICAgNDk2LAorICAgICA0OTYsICAgIDk3LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgICA4NSwgIC0yMDgsCisgICAgIDE4NSwgIC0yMDgsICAgMjc2LCAgIDIzNSwgICAxMDAsICAgMTEwLCAgLTIwOCwgICAyNjgsICAtMjA4LCAgIDI4MCwKKyAgICAgMjgzLCAgLTIwOCwgICA1NzgsICAtMjA4LCAgIDU3OCwgICAgNDEsICAtMjA4LCAgLTIwOCwgICA0NDYsICAgNDQ2LAorICAgICAgNDgsICAgIDQ4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgIDI5NSwgICAzOTYsICAgMzk2LCAgIDM5NiwgICAzOTYsCisgICAgIDM5NiwgICAyOTQsICAgMTYxLCAgLTIwOCwgICAgMTksICAtMjA4LCAgLTIwOCwgICAyOTAsICAtMjA4LCAgIDIwMCwKKyAgICAtMjA4LCAgIDI1MiwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgICAzMDIsICAgMzk2LAorICAgICAyMDAsICAgMjY5LCAgLTIwOCwgIC0yMDgsICAgIDQxLCAgIDU3OCwgIC0yMDgsICAgMzEzLCAgIDMyNCwgIC0yMDgsCisgICAgLTIwOCwgIC0yMDgsICAgIDU1LCAgICA1NSwgICAgNTUsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgIDE5MiwKKyAgICAgIDM0LCAgLTIwOCwgIC0yMDgsICAgMzAzLCAgIC0xOSwgICAzMTUsICAgMjc4LCAgLTIwOCwgIC0yMDgsICAtMjA4LAorICAgICAxMTQsICAtMjA4LCAgIDMyMiwgICAyODYsICAgMzIzLCAgIDI4NywgIC0yMDgsICAgMjEwLCAgLTIwOCwgIC0yMDgsCisgICAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwKKyAgICAgICA4LCAgIDMyMCwgIC0yMDgsICAtMjA4LCAgLTIwOCwgICAxMTcsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LAorICAgIC0yMDgsICAtMjA4LCAgIDExOSwgICAxNjcsICAgMzk2LCAgIDM5NiwgICAzOTYsICAtMjA4LCAgLTIwOCwgIC0yMDgsCisgICAgIDM5NiwgIC0yMDgsICAtMjA4LCAgIDMzNywgICAzMDcsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwOCwKKyAgICAgMzk2LCAgIDM0NSwgICAzMDgsICAtMjA4LCAgLTIwOCwgICAzNTIsICAgMzEyLCAgLTIwOCwgIC0yMDgsICAtMjA4LAorICAgIC0yMDgsICAtMjA4CiB9OwogCiAvKiBZWVBHT1RPW05URVJNLU5VTV0uICAqLwogc3RhdGljIGNvbnN0IHl5dHlwZV9pbnQxNiB5eXBnb3RvW10gPQogewotICAgIC0yMTIsICAtMjEyLCAgIDE0OCwgICAtMzYsICAgICAxLCAgIC02MiwgICAzNTAsICAtMjEyLCAgICAtNSwgIC0yMTIsCi0gICAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwgIC0yMTEsICAtMjEyLCAgLTIxMiwgIC0yMTIsICAtMjEyLCAgLTIxMiwKLSAgICAtMjEyLCAgICA1MCwgIC0yMTIsICAgMTMxLCAgLTIxMiwgICAgOTIsICAtMTk0LCAgICAtNiwgIC0yMTIsICAtMjAwLAotICAgIC0yMTIsICAgLTQ1LCAgIC00OCwgIC0yMTIsICAgICA1LCAgICAgMiwgICAgMTIsICAgMzYyCisgICAgLTIwOCwgIC0yMDgsICAgMTY0LCAgIC0zNywgICAtMzEsICAgLTYyLCAgIDM2OCwgIC0yMDgsICAgIC01LCAgLTIwOCwKKyAgICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LCAgLTIwNiwgIC0yMDgsICAtMjA4LCAgLTIwOCwgIC0yMDgsICAtMjA4LAorICAgIC0yMDgsICAgIDY2LCAgLTIwOCwgICAxNDUsICAtMjA4LCAgICA4OCwgIC0xNzMsICAgIC02LCAgLTIwOCwgIC0yMDcsCisgICAgLTIwOCwgICAtNDUsICAgLTQ4LCAgLTIwOCwgICAgIDUsICAgICAzLCAgICAxNywgIC0yMDgKIH07CiAKIC8qIFlZVEFCTEVbWVlQQUNUW1NUQVRFLU5VTV1dLiAgV2hhdCB0byBkbyBpbiBzdGF0ZSBTVEFURS1OVU0uICBJZgpAQCAtMTA5NCwxNjQgKzExMDEsMTQyIEBACiAjZGVmaW5lIFlZVEFCTEVfTklORiAtMQogc3RhdGljIGNvbnN0IHl5dHlwZV91aW50MTYgeXl0YWJsZVtdID0KIHsKLSAgICAgIDY0LCAgICA2NSwgICAgNTMsICAgMTE2LCAgICA2OSwgICAgNTIsICAgMjU4LCAgIDE1MSwgICAxOTksICAgMjczLAotICAgICAgNTYsICAgMTQxLCAgIDEzOCwgICAxNDAsICAgMjUwLCAgIDE0NSwgICAyNTMsICAgMTQzLCAgIDE0OSwgICAxMjUsCi0gICAgIDIyNCwgICAyMjUsICAgMjI2LCAgICA3MSwgICAxMjYsICAgMjc0LCAgIDExMSwgICAxMTIsICAgMjYyLCAgIDI2MywKLSAgICAgMjY0LCAgIDI2NSwgICAyNjYsICAgMTE2LCAgICAgMiwgICAgNjEsICAgIDYwLCAgIDEzNCwgICAxMTUsICAgICAzLAotICAgICAgNjIsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgIDI5MiwgICAxMjgsICAgMTI5LCAgIDEzMCwgICAgMTAsCi0gICAgIDEzNCwgICAyODksICAgMzAxLCAgIDE0MiwgICAyODYsICAgMjg3LCAgICAgMiwgICAgNjMsICAgMjc1LCAgICA2NiwKLSAgICAgIDE3LCAgICAgMywgICAxNTAsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgIDEzMiwgICAyNzQsICAgMTE1LAotICAgICAgNzAsICAgIDEwLCAgICA5NywgICAxODYsICAgMTg3LCAgICA5OCwgICAgNzMsICAgMTkwLCAgIDE5MSwgICAgNzQsCi0gICAgIDEwMSwgICAxODUsICAgIDE3LCAgIDEwMiwgICAxNTMsICAgMzAzLCAgIDIzNywgICAgMzIsICAgMjE2LCAgICAzMywKLSAgICAgIDk1LCAgIDIwMCwgICAzMDQsICAgMTM0LCAgIDE1NywgICAyMDYsICAgMjA3LCAgIDE1OCwgICAzMDMsICAgMTE4LAotICAgICAxMTksICAgMjc1LCAgICA5OSwgICAxMzQsICAgIDk2LCAgIDMxOSwgICAyMTcsICAgMTIxLCAgIDEyMiwgICAgMzIsCi0gICAgIDEwMywgICAgMzMsICAgMTk0LCAgIDE5NSwgICAxMTYsICAgMTg1LCAgIDI2NCwgICAyNjUsICAgMjY2LCAgIDI0NiwKLSAgICAgMzI5LCAgIDIyNSwgICAxMzQsICAgMTAwLCAgIDE1OSwgICAgNTMsICAgIDUzLCAgIDE5MywgICAyMzgsICAgMTg5LAotICAgICAyMDEsICAgMjA4LCAgIDI0OCwgICAzMzcsICAgMzM4LCAgIDIwNCwgICAyMDUsICAgMjAyLCAgIDIwOSwgICAxOTIsCi0gICAgIDIxMSwgICAyMTIsICAgMTEzLCAgIDMwOCwgICAyMTQsICAgMjQwLCAgIDIyOCwgICAyMjksICAgMjMwLCAgIDIzMSwKLSAgICAgMjMyLCAgIDIzNiwgICAyNTcsICAgMTYxLCAgIDEzMywgICAxMzQsICAgMTYyLCAgIDI0MiwgICAxMDQsICAgMTA1LAotICAgICAyNTEsICAgMjQ3LCAgIDI1MSwgICAzMjMsICAgMTA2LCAgIDI1NiwgICAxMzQsICAgMTM0LCAgIDEzNCwgICAxMjgsCi0gICAgIDEyOSwgICAxMzAsICAgMjAzLCAgIDIxMCwgICAyNDksICAgMzI3LCAgIDEwNywgICAxMDgsICAgMTE2LCAgIDEzNCwKLSAgICAgMTg1LCAgIDEwOSwgICAxMTAsICAgMTYzLCAgIDEzOSwgICAzMDksICAgMTQ0LCAgIDI3MiwgICAgNTMsICAgIDUzLAotICAgICAxNzEsICAgMjE4LCAgIDIxOSwgICAxNzIsICAgMjgyLCAgIDIzOSwgICAyODEsICAgMjQzLCAgIDE0NiwgICAxMzQsCi0gICAgIDI1MSwgICAyNTEsICAgMjIyLCAgIDIyMywgICAyODAsICAgMzI0LCAgIDE3NSwgICAyOTAsICAgMTQ3LCAgIDE3NiwKLSAgICAgMTUyLCAgIDEzNCwgICAyMTQsICAgMjY4LCAgIDI2OSwgICAyNzAsICAgMTQ4LCAgIDMyOCwgICAyNTksICAgMjYwLAotICAgICAxNzMsICAgMTg1LCAgICA1MywgICAgNTMsICAgMTU1LCAgIDE1NCwgICAxODksICAgMTU2LCAgIDEyOCwgICAxMjksCi0gICAgIDEzMCwgICAyNzcsICAgMjc4LCAgIDMwNywgICAxNjAsICAgMTY0LCAgIDE3NywgICAxOTQsICAgMTk1LCAgIDE2NSwKLSAgICAgMjg0LCAgIDI4NSwgICAzMTQsICAgMTY2LCAgIDE2NywgICAxMjEsICAgMTIyLCAgIDMxNiwgICAzMTcsICAgMzE4LAotICAgICAxNjgsICAgMjE0LCAgIDE2OSwgICAxOTYsICAgMTk3LCAgIDE5OCwgICAzMjIsICAgMTE0LCAgICAxNCwgICAgMTUsCi0gICAgICAxNiwgICAxMjMsICAgMTI0LCAgIDI5OCwgICAyOTksICAgMzAwLCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwKLSAgICAgIDIyLCAgIDMzMiwgICAxNzAsICAgMTc0LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgMjcsICAgMjUxLAotICAgICAyNTEsICAgMTc4LCAgIDE3OSwgICAxODAsICAgMTgxLCAgICAzMCwgICAgMzEsICAgMTgyLCAgIDMxNSwgICAgNzUsCi0gICAgICA3NiwgICAgNzcsICAgIDc4LCAgICA3OSwgICAxODMsICAgMTg0LCAgIDI0NCwgICAgODAsICAgMzIxLCAgIDIxMywKLSAgICAgIDgxLCAgICA4MiwgICAzMjUsICAgMzI2LCAgIDI0MCwgICAyNTQsICAgMjQ1LCAgIDI1NSwgICAgODMsICAgIDg0LAotICAgICAyNjEsICAgMjY3LCAgIDI3OSwgICAzMzEsICAgMjg4LCAgIDI5MywgICAyOTQsICAgMzMzLCAgIDMzNCwgICAgIDEsCi0gICAgIDI4MywgICAgIDIsICAgMjkxLCAgIDMzOSwgICAzMDUsICAgMjc0LCAgICAgMywgICAzMDYsICAgICA0LCAgICAgNSwKLSAgICAgICA2LCAgICAgNywgICAzMTAsICAgMzExLCAgICAgOCwgICAgIDksICAgIDEwLCAgIDMxMiwgICAzMjAsICAgMzEzLAotICAgICAgMTEsICAgIDEyLCAgIDMzNSwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgIDMzNiwgICAzNDAsCi0gICAgIDM0MSwgICAzNDIsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAyNTIsICAgMzQzLCAgICA2OCwKLSAgICAgIDIzLCAgICAyNCwgICAgMjUsICAgIDI2LCAgICAyNywgICAzMzAsICAgMjcxLCAgIDMwMiwgICAgMjgsICAgIDI5LAotICAgICAgIDIsICAgIDMwLCAgICAzMSwgICAgNzIsICAgIDMyLCAgICAgMywgICAgMzMsICAgICA0LCAgICAgNSwgICAgIDYsCi0gICAgICAgNywgICAgIDAsICAgICAwLCAgICAgOCwgICAgIDksICAgIDEwLCAgICAgMCwgICAgIDAsICAgICAwLCAgIDEyNywKLSAgICAgICAwLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgNjQsICAgIDY1LCAgIDExOSwgICAgNTMsICAgIDY5LCAgICA1MiwgICAxMTgsICAgMTUwLCAgIDEwMCwgICAyNTYsCisgICAgIDEzMCwgICAxMDEsICAgMTM3LCAgIDEzOSwgICAgNzUsICAgMTQ0LCAgICA1NiwgICAxNDIsICAgMTQ4LCAgIDI2MCwKKyAgICAgMjYxLCAgIDI2MiwgICAyNjMsICAgMjY0LCAgICA2MCwgICAxOTcsICAgMTE0LCAgIDExNSwgICAyNzEsICAgMTQwLAorICAgICAxMjQsICAgMTI1LCAgIDExOSwgICAyNDgsICAgMzAxLCAgIDI1MSwgICAgNjMsICAgMTE4LCAgIDEwMiwgICAxMjEsCisgICAgIDEyMiwgICAzMDIsICAgMjg3LCAgIDI5OSwgICAgIDIsICAgMjcyLCAgIDEyNiwgICAxMjcsICAgMjkwLCAgICAgMywKKyAgICAgIDY2LCAgICAgNCwgICAgIDUsICAgICA2LCAgICAgNywgICAxMzMsICAgMTI0LCAgIDEyNSwgICAxMzEsICAgIDEwLAorICAgICAyNzIsICAgMzAxLCAgIDE0OSwgICAgNzAsICAgIDYxLCAgICA3MSwgICAgNzIsICAgIDczLCAgIDMxNywgICAgNjIsCisgICAgIDEzMywgICAgMTcsICAgMTQxLCAgIDI4NCwgICAyODUsICAgIDc2LCAgIDE4NSwgICAxODYsICAgMjczLCAgIDE5OSwKKyAgICAgMTg5LCAgIDE5MCwgICAgOTgsICAgMTg0LCAgIDIwNiwgICAxMzMsICAgMjAwLCAgIDIxNCwgICAxOTIsICAgMTkzLAorICAgICAxOTgsICAgMjA3LCAgIDEzMywgICAyNzMsICAgMjA0LCAgIDIwNSwgICAxMjgsICAgIDk5LCAgICAzMiwgICAyMzUsCisgICAgICAzMywgICAxMjksICAgMjIyLCAgIDIyMywgICAyMjQsICAgMjE1LCAgICA3NywgICAyNjIsICAgMjYzLCAgIDI2NCwKKyAgICAgICAyLCAgIDExNiwgICAxMTksICAgMTg0LCAgIDI0NCwgICAgIDMsICAgMTMzLCAgICAgNCwgICAgIDUsICAgICA2LAorICAgICAgIDcsICAgMTMzLCAgIDIwMSwgICAxMzgsICAgMjQ2LCAgICAxMCwgICAxOTEsICAgMjA4LCAgIDMwNiwgICAgNTMsCisgICAgICA1MywgICAzMjEsICAgMTg4LCAgIDMyNSwgICAyMDIsICAgMjAzLCAgIDEzMywgICAgMTcsICAgMTAzLCAgIDIwOSwKKyAgICAgMjEwLCAgIDEwNywgICAyMzYsICAgMjEyLCAgIDIyNiwgICAyMjcsICAgMjI4LCAgIDIyOSwgICAyMzAsICAgMjM0LAorICAgICAyNTUsICAgMTMzLCAgIDMzNSwgICAzMzYsICAgMTA4LCAgIDI0MCwgICAxMDQsICAgMjQ1LCAgIDI0OSwgICAxMDUsCisgICAgIDI0OSwgICAxMzMsICAgMTA5LCAgIDI1NCwgICAgMzIsICAgMTMzLCAgICAzMywgICAyNDcsICAgMTMzLCAgIDExMCwKKyAgICAgMTMzLCAgIDMwNywgICAzMjcsICAgMjIzLCAgIDMyMiwgICAxMTksICAgMzI2LCAgIDE4NCwgICAxNTYsICAgMTYwLAorICAgICAxMTEsICAgMTU3LCAgIDE2MSwgICAxMTIsICAgMTcwLCAgIDI3MCwgICAxMDYsICAgMTcxLCAgICA1MywgICAgNTMsCisgICAgIDIxNiwgICAyMTcsICAgMjgwLCAgIDIzNywgICAyNzksICAgMjQxLCAgIDExMywgICAxNzQsICAgMjQ5LCAgIDI0OSwKKyAgICAgMTc1LCAgIDI2NiwgICAyNjcsICAgMjY4LCAgIDE0NSwgICAyODgsICAgMjIwLCAgIDIyMSwgICAxNTgsICAgMTYyLAorICAgICAyMTIsICAgMjM4LCAgIDEzMiwgICAxNDMsICAgMTcyLCAgIDE0NiwgICAyNTcsICAgMjU4LCAgIDE4NCwgICAxNDcsCisgICAgIDE1MiwgICAgNTMsICAgIDUzLCAgIDE1MSwgICAxODgsICAgMTUzLCAgIDI3OCwgICAxNzYsICAgMTU0LCAgIDI3NSwKKyAgICAgMjc2LCAgIDMwNSwgICAyOTYsICAgMjk3LCAgIDI5OCwgICAgNzEsICAgIDcyLCAgICA3MywgICAyODIsICAgMjgzLAorICAgICAzMTIsICAgMTU1LCAgIDE1OSwgICAxOTIsICAgMTkzLCAgIDMxNCwgICAzMTUsICAgMzE2LCAgIDE2MywgICAyMTIsCisgICAgICA3MSwgICAgNzIsICAgIDczLCAgIDE2NCwgICAzMjAsICAgMTE3LCAgICAxNCwgICAgMTUsICAgIDE2LCAgIDE5NCwKKyAgICAgMTk1LCAgIDE5NiwgICAxNjUsICAgMTY2LCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgMzMwLAorICAgICAxNjcsICAgMTY4LCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgMjcsICAgMjQ5LCAgIDI0OSwgICAxNjksCisgICAgIDE3MywgICAxNzcsICAgMTc4LCAgICAzMCwgICAgMzEsICAgMTc5LCAgIDMxMywgICAxODAsICAgMTgxLCAgIDE4MiwKKyAgICAgMTgzLCAgIDI0MiwgICAyMTEsICAgMjQzLCAgIDIzOCwgICAyNTIsICAgMzE5LCAgICAgMSwgICAyNTMsICAgICAyLAorICAgICAzMjMsICAgMzI0LCAgIDI1OSwgICAyNjUsICAgICAzLCAgIDI3NywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsCisgICAgIDI4MSwgICAzMjksICAgICA4LCAgICAgOSwgICAgMTAsICAgMzMxLCAgIDMzMiwgICAyODYsICAgIDExLCAgICAxMiwKKyAgICAgMjkxLCAgIDMzNywgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgIDI4OSwgICAyOTIsICAgMjcyLAorICAgICAzMDMsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAzMDQsICAgMzA4LCAgIDMxMCwgICAgMjMsCisgICAgICAyNCwgICAgMjUsICAgIDI2LCAgICAyNywgICAzMDksICAgMzExLCAgIDMxOCwgICAgMjgsICAgIDI5LCAgICAgMiwKKyAgICAgIDMwLCAgICAzMSwgICAzMzMsICAgIDMyLCAgICAgMywgICAgMzMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LAorICAgICAzMzgsICAgMzAwLCAgICAgOCwgICAgIDksICAgIDEwLCAgIDMzNCwgICAzMzksICAgMzQwLCAgICAxMSwgICAgMTIsCisgICAgIDM0MSwgICAyNTAsICAgIDEzLCAgICAxNCwgICAgMTUsICAgIDE2LCAgICAxNywgICAgNjgsICAgMjY5LCAgIDMyOCwKICAgICAgICAwLCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIzLAotICAgICAgMjQsICAgIDI1LCAgICAyNiwgICAgMjcsICAgICAwLCAgICAgMCwgICAxMjgsICAgMTI5LCAgIDEzMCwgICAgIDIsCisgICAgICAyNCwgICAgMjUsICAgIDI2LCAgICAyNywgICAgIDAsICAgICAwLCAgICA3MSwgICAgNzIsICAgIDczLCAgICAgMiwKICAgICAgIDMwLCAgICAzMSwgICAgIDAsICAgIDMyLCAgICAgMywgICAgMzMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LAogICAgICAgIDAsICAgICAwLCAgICAgOCwgICAgIDksICAgIDEwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMSwgICAgMTIsCi0gICAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKLSAgICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjMsICAgIDI0LAotICAgICAgMjUsICAgIDI2LCAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwgICAxMzQsICAgICAwLCAgICAgMiwgICAgMzAsCi0gICAgICAzMSwgICAgIDAsICAgIDMyLCAgICAgMywgICAgMzMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwKLSAgICAgICAwLCAgICAgOCwgICAgIDksICAgIDEwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMSwgICAgMTIsICAgICAwLAotICAgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTgsCi0gICAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjMsICAgIDI0LCAgICAyNSwKLSAgICAgIDI2LCAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMiwgICAgMzAsICAgIDMxLAotICAgICAgIDAsICAgIDMyLCAgICAgMywgICAgMzMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwgICAgIDAsCi0gICAgICAgOCwgICAgIDksICAgIDEwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTIsICAgICAwLCAgICAxMywKLSAgICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTgsICAgIDE5LAotICAgICAgMjAsICAgIDIxLCAgICAyMiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsCi0gICAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMiwgICAgMzAsICAgIDMxLCAgICAgMCwKLSAgICAgIDMyLCAgICAgMywgICAgMzMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwgICAgIDAsICAgICA4LAotICAgICAgIDksICAgIDEwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMywgICAgMTQsCi0gICAgICAxNSwgICAgMTYsICAgIDE3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTgsICAgIDE5LCAgICAyMCwKLSAgICAgIDIxLCAgICAyMiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgIDI3LAotICAgICAgIDAsICAgICAwLCAgICAgMCwgICAxMzQsICAgICAwLCAgICAgMiwgICAgMzAsICAgIDMxLCAgICAgMCwgICAgMzIsCi0gICAgICAgMywgICAgMzMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwgICAgIDAsICAgICA4LCAgICAgOSwKLSAgICAgIDEwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LAotICAgICAgMTYsICAgIDE3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsCi0gICAgICAyMiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgIDI3LCAgICAgMCwKLSAgICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMiwgICAgMzAsICAgIDMxLCAgICAgMCwgICAgMzIsICAgICAzLAotICAgICAgMzMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsCi0gICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICA2NywgICAgMTQsICAgIDE1LCAgICAxNiwKLSAgICAgIDE3LCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLAotICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgIDI3LCAgICAgMCwgICAgIDAsCi0gICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMzAsICAgIDMxLCAgICAgMCwgICAgMzIsICAgICAwLCAgICAzMywKLSAgICAgIDE1LCAgICAxNiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxOCwgICAgMTksICAgIDIwLAotICAgICAgMjEsICAgIDIyLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMywgICAgMjQsICAgIDI1LCAgICAyNiwgICAgMjcsCi0gICAgICA4NSwgICAgODYsICAgIDg3LCAgICA4OCwgICAgODksICAgICAwLCAgICAzMCwgICAgMzEsICAgIDkwLCAgICAgMCwKLSAgICAgICAwLCAgICA5MSwgICAgOTIsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDkzLAotICAgICAgOTQKKyAgICAgICAwLCAgICAgMCwgICAgMTMsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjMsCisgICAgICAyNCwgICAgMjUsICAgIDI2LCAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwgICAxMzMsICAgICAwLCAgICAgMiwKKyAgICAgIDMwLCAgICAzMSwgICAgIDAsICAgIDMyLCAgICAgMywgICAgMzMsICAgICA0LCAgICAgNSwgICAgIDYsICAgICA3LAorICAgICAgIDAsICAgICAwLCAgICAgOCwgICAgIDksICAgIDEwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAxMSwgICAgMTIsCisgICAgICAgMCwgICAgIDAsICAgIDEzLCAgICAxNCwgICAgMTUsICAgIDE2LCAgICAxNywgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAxOCwgICAgMTksICAgIDIwLCAgICAyMSwgICAgMjIsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDIzLAorICAgICAgMjQsICAgIDI1LCAgICAyNiwgICAgMjcsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDIsCisgICAgICAzMCwgICAgMzEsICAgICAwLCAgICAzMiwgICAgIDMsICAgIDMzLCAgICAgNCwgICAgIDUsICAgICA2LCAgICAgNywKKyAgICAgICAwLCAgICAgMCwgICAgIDgsICAgICA5LCAgICAxMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAxMywgICAgMTQsICAgIDE1LCAgICAxNiwgICAgMTcsICAgICAwLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAyMywKKyAgICAgIDI0LCAgICAyNSwgICAgMjYsICAgIDI3LCAgICAgMCwgICAgIDAsICAgICAwLCAgIDEzMywgICAgIDAsICAgICAyLAorICAgICAgMzAsICAgIDMxLCAgICAgMCwgICAgMzIsICAgICAzLCAgICAzMywgICAgIDQsICAgICA1LCAgICAgNiwgICAgIDcsCisgICAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgICAwLCAgICAgMCwgICAgNjcsICAgIDE0LCAgICAxNSwgICAgMTYsICAgIDE3LCAgICAgMCwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgIDE4LCAgICAxOSwgICAgMjAsICAgIDIxLCAgICAyMiwgICAgIDAsICAgICAwLCAgICAgMCwgICAgMjMsCisgICAgICAyNCwgICAgMjUsICAgIDI2LCAgICAyNywgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwKKyAgICAgIDMwLCAgICAzMSwgICAgIDAsICAgIDMyLCAgICAgMCwgICAgMzMsICAgIDE1LCAgICAxNiwgICAgIDAsICAgICAwLAorICAgICAgIDAsICAgICAwLCAgICAgMCwgICAgMTgsICAgIDE5LCAgICAyMCwgICAgMjEsICAgIDIyLCAgICAgMCwgICAgIDAsCisgICAgICAgMCwgICAgMjMsICAgIDI0LCAgICAyNSwgICAgMjYsICAgIDI3LCAgICA3OCwgICAgNzksICAgIDgwLCAgICA4MSwKKyAgICAgIDgyLCAgICAgMCwgICAgMzAsICAgIDMxLCAgICA4MywgICAgIDAsICAgICAwLCAgICA4NCwgICAgODUsICAgIDg4LAorICAgICAgODksICAgIDkwLCAgICA5MSwgICAgOTIsICAgICAwLCAgICA4NiwgICAgODcsICAgIDkzLCAgICAgMCwgICAgIDAsCisgICAgICA5NCwgICAgOTUsICAgICAwLCAgICAgMCwgICAgIDAsICAgICAwLCAgICAgMCwgICAgIDAsICAgIDk2LCAgICA5NwogfTsKIAogc3RhdGljIGNvbnN0IHl5dHlwZV9pbnQxNiB5eWNoZWNrW10gPQogewotICAgICAgIDYsICAgICA3LCAgICAgMCwgICAgMzksICAgICA5LCAgICAgMCwgICAyMTcsICAgIDY5LCAgICAyMSwgICAgIDksCi0gICAgICA1MCwgICAgMTQsICAgIDYwLCAgICA2MSwgICAyMDgsICAgIDYzLCAgIDIxMCwgICAgNjIsICAgIDY2LCAgICA0NywKLSAgICAgICA1LCAgICAgNiwgICAgIDcsICAgIDExLCAgICA1MiwgICAgMjUsICAgIDMyLCAgICAzMywgICAyMjgsICAgMjI5LAotICAgICAyMzAsICAgMjMxLCAgIDIzMiwgICAgNjksICAgICAzLCAgICAyNSwgICAgMjUsICAgIDUwLCAgICAzNywgICAgIDgsCi0gICAgICAzMCwgICAgMTAsICAgIDExLCAgICAxMiwgICAgMTMsICAgMjU2LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICAxOCwKLSAgICAgIDUwLCAgIDI1MSwgICAgIDksICAgIDU2LCAgIDI0OCwgICAyNDksICAgICAzLCAgICAyNSwgICAgNTgsICAgIDI1LAotICAgICAgMjksICAgICA4LCAgICA2NywgICAgMTAsICAgIDExLCAgICAxMiwgICAgMTMsICAgIDU1LCAgICAyNSwgICAgNjgsCi0gICAgICAzMSwgICAgMTgsICAgIDI1LCAgIDEyMSwgICAxMjIsICAgIDI4LCAgICAyNCwgICAxMjUsICAgMTI2LCAgICA1OCwKLSAgICAgIDI1LCAgIDExNywgICAgMjksICAgIDI4LCAgICA3MiwgICAgNTIsICAgIDE0LCAgICA1NiwgICAxNTAsICAgIDU4LAotICAgICAgMjUsICAgMTM5LCAgICA1OSwgICAgNTAsICAgIDI1LCAgIDE0MywgICAxNDQsICAgIDI4LCAgICA1MiwgICAgNTAsCi0gICAgICA1MSwgICAgNTgsICAgIDU1LCAgICA1MCwgICAgMjUsICAgIDU5LCAgIDE1NCwgICAgMzIsICAgIDMzLCAgICA1NiwKLSAgICAgIDU1LCAgICA1OCwgICAgMzIsICAgIDMzLCAgIDE1MCwgICAxNTEsICAgMzE2LCAgIDMxNywgICAzMTgsICAgIDE0LAotICAgICAgIDUsICAgICA2LCAgICA1MCwgICAgMjUsICAgIDU1LCAgIDEyMywgICAxMjQsICAgMTMzLCAgICA1NiwgICAxMjQsCi0gICAgICAxNCwgICAgMTQsICAgIDE0LCAgIDMyNywgICAzMjgsICAgMTQxLCAgIDE0MiwgICAgMjEsICAgIDIxLCAgIDEyNywKLSAgICAgMTQ2LCAgIDE0NywgICAgIDAsICAgIDE0LCAgIDE0OSwgICAgMjUsICAgMTk0LCAgIDE5NSwgICAxOTYsICAgMTk3LAotICAgICAxOTgsICAgMTk5LCAgIDIxNCwgICAgMjUsICAgICA0LCAgICA1MCwgICAgMjgsICAgMjAyLCAgICAyNSwgICAgMjUsCi0gICAgIDIwOCwgICAgNTYsICAgMjEwLCAgICAxNCwgICAgMjUsICAgMjEzLCAgICA1MCwgICAgNTAsICAgIDUwLCAgICA0OSwKLSAgICAgIDUwLCAgICA1MSwgICAgNTYsICAgIDU2LCAgICA1NiwgICAgMTQsICAgIDI1LCAgICAyNSwgICAyMTQsICAgIDUwLAotICAgICAyMTYsICAgIDI1LCAgICAyNSwgICAgNTUsICAgIDQ5LCAgICA1NiwgICAgNDksICAgMjM1LCAgIDE4NiwgICAxODcsCi0gICAgICAyNSwgICAxODYsICAgMTg3LCAgICAyOCwgICAyNDIsICAgMjAxLCAgIDI0MSwgICAyMDMsICAgIDE0LCAgICA1MCwKLSAgICAgMjQ4LCAgIDI0OSwgICAxOTAsICAgMTkxLCAgICAyNSwgICAgNTYsICAgIDI1LCAgIDI1MiwgICAgMTQsICAgIDI4LAotICAgICAgMTksICAgIDUwLCAgIDIxNywgICAgMzksICAgIDQwLCAgICA0MSwgICAgNTgsICAgIDU2LCAgIDIyNCwgICAyMjUsCi0gICAgICA1NSwgICAyNTcsICAgMjIwLCAgIDIyMSwgICAgMjUsICAgIDU5LCAgIDIyMSwgICAgMjUsICAgIDQ5LCAgICA1MCwKLSAgICAgIDUxLCAgIDIzNywgICAyMzgsICAgMjgxLCAgICAyNSwgICAgMjUsICAgIDU1LCAgICAzMiwgICAgMzMsICAgIDI1LAotICAgICAyNDYsICAgMjQ3LCAgIDI5MCwgICAgMjUsICAgIDI1LCAgICAzMiwgICAgMzMsICAgMjk1LCAgIDI5NiwgICAyOTcsCi0gICAgICAyNSwgICAyNTYsICAgIDI1LCAgICA0OCwgICAgNDksICAgIDUwLCAgIDMwNCwgICAgMjUsICAgIDI2LCAgICAyNywKLSAgICAgIDI4LCAgICA0OCwgICAgNDksICAgIDM5LCAgICA0MCwgICAgNDEsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LAotICAgICAgMzgsICAgMzE5LCAgICAyNSwgICAgMjUsICAgIDQyLCAgICA0MywgICAgNDQsICAgIDQ1LCAgICA0NiwgICAzMjcsCi0gICAgIDMyOCwgICAgMjUsICAgIDI1LCAgICAyNSwgICAgMjUsICAgIDUzLCAgICA1NCwgICAgMjUsICAgMjk0LCAgICAzNCwKLSAgICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICA1NywgICAgNTksICAgIDE1LCAgICA0MiwgICAzMDQsICAgIDU5LAotICAgICAgNDUsICAgIDQ2LCAgIDMwOCwgICAzMDksICAgIDI1LCAgICAxNSwgICAgNTcsICAgIDE1LCAgICA1MywgICAgNTQsCi0gICAgICAgNywgICAgIDksICAgIDE1LCAgIDMxOSwgICAgMTUsICAgICA3LCAgICAgNCwgICAzMjMsICAgMzI0LCAgICAgMSwKLSAgICAgIDU3LCAgICAgMywgICAgNTcsICAgMzI5LCAgICAxNSwgICAgMjUsICAgICA4LCAgICA1NywgICAgMTAsICAgIDExLAotICAgICAgMTIsICAgIDEzLCAgICAxNSwgICAgNTcsICAgIDE2LCAgICAxNywgICAgMTgsICAgIDE1LCAgICAyNSwgICAgNTcsCi0gICAgICAyMiwgICAgMjMsICAgIDE1LCAgICAyNSwgICAgMjYsICAgIDI3LCAgICAyOCwgICAgMjksICAgIDU3LCAgICAxNSwKLSAgICAgIDU3LCAgICAxNSwgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgIDIwOSwgICAgNTcsICAgICA5LAotICAgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ2LCAgIDMxNSwgICAyMzUsICAgMjc1LCAgICA1MCwgICAgNTEsCi0gICAgICAgMywgICAgNTMsICAgIDU0LCAgICAxMSwgICAgNTYsICAgICA4LCAgICA1OCwgICAgMTAsICAgIDExLCAgICAxMiwKLSAgICAgIDEzLCAgICAtMSwgICAgLTEsICAgIDE2LCAgICAxNywgICAgMTgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDIyLAotICAgICAgLTEsICAgIC0xLCAgICAyNSwgICAgMjYsICAgIDI3LCAgICAyOCwgICAgMjksICAgIC0xLCAgICAtMSwgICAgLTEsCi0gICAgICAtMSwgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0MiwKLSAgICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ2LCAgICAtMSwgICAgLTEsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgICAzLAotICAgICAgNTMsICAgIDU0LCAgICAtMSwgICAgNTYsICAgICA4LCAgICA1OCwgICAgMTAsICAgIDExLCAgICAxMiwgICAgMTMsCisgICAgICAgNiwgICAgIDcsICAgIDM5LCAgICAgMCwgICAgIDksICAgICAwLCAgICAzNywgICAgNjksICAgIDI2LCAgIDIxNSwKKyAgICAgIDU1LCAgICAyOSwgICAgNjAsICAgIDYxLCAgICAxMSwgICAgNjMsICAgIDUxLCAgICA2MiwgICAgNjYsICAgMjI2LAorICAgICAyMjcsICAgMjI4LCAgIDIyOSwgICAyMzAsICAgIDI2LCAgICAyMSwgICAgMzIsICAgIDMzLCAgICAgOSwgICAgMTQsCisgICAgICAzMywgICAgMzQsICAgIDY5LCAgIDIwNiwgICAgNTMsICAgMjA4LCAgICAyNiwgICAgNjgsICAgIDU2LCAgICA1MSwKKyAgICAgIDUyLCAgICA2MCwgICAyNDksICAgICA5LCAgICAgMywgICAgMjYsICAgIDQ5LCAgICA1MCwgICAyNTQsICAgICA4LAorICAgICAgMjYsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICA1MSwgICAgMzMsICAgIDM0LCAgICA1NSwgICAgMTgsCisgICAgICAyNiwgICAgNTMsICAgIDY3LCAgICAzMiwgICAgMjYsICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDYwLCAgICAzMSwKKyAgICAgIDUxLCAgICAzMCwgICAgNTcsICAgMjQ2LCAgIDI0NywgICAgMjQsICAgMTI0LCAgIDEyNSwgICAgNTksICAgIDE0LAorICAgICAxMjgsICAgMTI5LCAgICAyNiwgICAxMjAsICAgIDE0LCAgICA1MSwgICAgMjEsICAgMTQ5LCAgICAzMywgICAgMzQsCisgICAgIDEzOCwgICAgMjEsICAgIDUxLCAgICA1OSwgICAxNDIsICAgMTQzLCAgICA0OCwgICAgMjYsICAgIDU3LCAgICAxNCwKKyAgICAgIDU5LCAgICA1MywgICAgIDUsICAgICA2LCAgICAgNywgICAxNTMsICAgIDU5LCAgIDMxNCwgICAzMTUsICAgMzE2LAorICAgICAgIDMsICAgICAwLCAgIDE0OSwgICAxNTAsICAgIDE0LCAgICAgOCwgICAgNTEsICAgIDEwLCAgICAxMSwgICAgMTIsCisgICAgICAxMywgICAgNTEsICAgIDU3LCAgICA1MCwgICAgMTQsICAgIDE4LCAgIDEzMiwgICAgNTcsICAgIDE0LCAgIDEyNiwKKyAgICAgMTI3LCAgICAxNCwgICAxMjcsICAgIDE0LCAgIDE0MCwgICAxNDEsICAgIDUxLCAgICAzMCwgICAgMjYsICAgMTQ1LAorICAgICAxNDYsICAgIDI2LCAgICA1NywgICAxNDgsICAgMTkyLCAgIDE5MywgICAxOTQsICAgMTk1LCAgIDE5NiwgICAxOTcsCisgICAgIDIxMiwgICAgNTEsICAgMzI1LCAgIDMyNiwgICAgMjYsICAgMjAwLCAgICAyNiwgICAgNTcsICAgMjA2LCAgICAyOSwKKyAgICAgMjA4LCAgICA1MSwgICAgMjYsICAgMjExLCAgICA1NywgICAgNTEsICAgIDU5LCAgICA1NywgICAgNTEsICAgIDI2LAorICAgICAgNTEsICAgIDU3LCAgICAgNSwgICAgIDYsICAgIDU3LCAgIDIxMiwgICAgNTcsICAgMjE0LCAgICAyNiwgICAgMjYsCisgICAgICAyNiwgICAgMjksICAgIDI5LCAgICAyNiwgICAgMjYsICAgMjMzLCAgICA1NiwgICAgMjksICAgMTg1LCAgIDE4NiwKKyAgICAgMTg1LCAgIDE4NiwgICAyNDAsICAgMTk5LCAgIDIzOSwgICAyMDEsICAgIDI2LCAgICAyNiwgICAyNDYsICAgMjQ3LAorICAgICAgMjksICAgIDQwLCAgICA0MSwgICAgNDIsICAgIDE0LCAgIDI1MCwgICAxODksICAgMTkwLCAgICA1NiwgICAgNTYsCisgICAgIDIxNSwgICAgMjYsICAgICA0LCAgICA1MCwgICAgNTYsICAgIDE0LCAgIDIyMiwgICAyMjMsICAgMjU1LCAgICA1OSwKKyAgICAgIDI1LCAgIDIxOCwgICAyMTksICAgIDE5LCAgIDIxOSwgICAgNjAsICAgIDI2LCAgICA1NiwgICAgMjYsICAgMjM1LAorICAgICAyMzYsICAgMjc5LCAgICA0MCwgICAgNDEsICAgIDQyLCAgICA1MCwgICAgNTEsICAgIDUyLCAgIDI0NCwgICAyNDUsCisgICAgIDI4OCwgICAgMjYsICAgIDI2LCAgICAzMywgICAgMzQsICAgMjkzLCAgIDI5NCwgICAyOTUsICAgIDI2LCAgIDI1NCwKKyAgICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDI2LCAgIDMwMiwgICAgMjYsICAgIDI3LCAgICAyOCwgICAgMjksICAgIDQ5LAorICAgICAgNTAsICAgIDUxLCAgICAyNiwgICAgMjYsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAzMTcsCisgICAgICAyNiwgICAgMjYsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ2LCAgICA0NywgICAzMjUsICAgMzI2LCAgICAyNiwKKyAgICAgIDI2LCAgICAyNiwgICAgMjYsICAgIDU0LCAgICA1NSwgICAgMjYsICAgMjkyLCAgICAyNiwgICAgMjYsICAgIDU4LAorICAgICAgNjAsICAgIDE1LCAgICA2MCwgICAgNTgsICAgIDI2LCAgICAxNSwgICAzMDIsICAgICAxLCAgICAxNSwgICAgIDMsCisgICAgIDMwNiwgICAzMDcsICAgICA3LCAgICAgOSwgICAgIDgsICAgIDE1LCAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywKKyAgICAgIDU4LCAgIDMxNywgICAgMTYsICAgIDE3LCAgICAxOCwgICAzMjEsICAgMzIyLCAgICAxNSwgICAgMjIsICAgIDIzLAorICAgICAgIDcsICAgMzI3LCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAyOSwgICAgMzAsICAgIDU4LCAgICAgNCwgICAgMjYsCisgICAgICAxNSwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICA1OCwgICAgMTUsICAgIDE1LCAgICA0MywKKyAgICAgIDQ0LCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICA1OCwgICAgNTgsICAgIDI2LCAgICA1MSwgICAgNTIsICAgICAzLAorICAgICAgNTQsICAgIDU1LCAgICAxNSwgICAgNTcsICAgICA4LCAgICA1OSwgICAgMTAsICAgIDExLCAgICAxMiwgICAgMTMsCisgICAgICAxNSwgICAyNzMsICAgIDE2LCAgICAxNywgICAgMTgsICAgIDU4LCAgICA1OCwgICAgMTUsICAgIDIyLCAgICAyMywKKyAgICAgIDU4LCAgIDIwNywgICAgMjYsICAgIDI3LCAgICAyOCwgICAgMjksICAgIDMwLCAgICAgOSwgICAyMzMsICAgMzEzLAorICAgICAgLTEsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDMsCisgICAgICA0NCwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgLTEsICAgIC0xLCAgICA1MCwgICAgNTEsICAgIDUyLCAgICAgMywKKyAgICAgIDU0LCAgICA1NSwgICAgLTEsICAgIDU3LCAgICAgOCwgICAgNTksICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLAogICAgICAgLTEsICAgIC0xLCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyMiwgICAgMjMsCi0gICAgICAtMSwgICAgMjUsICAgIDI2LCAgICAyNywgICAgMjgsICAgIDI5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKLSAgICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDIsICAgIDQzLAotICAgICAgNDQsICAgIDQ1LCAgICA0NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNTAsICAgIC0xLCAgICAgMywgICAgNTMsCi0gICAgICA1NCwgICAgLTEsICAgIDU2LCAgICAgOCwgICAgNTgsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAtMSwKLSAgICAgIC0xLCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyMiwgICAgMjMsICAgIC0xLAotICAgICAgMjUsICAgIDI2LCAgICAyNywgICAgMjgsICAgIDI5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzQsCi0gICAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDIsICAgIDQzLCAgICA0NCwKLSAgICAgIDQ1LCAgICA0NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMywgICAgNTMsICAgIDU0LAotICAgICAgLTEsICAgIDU2LCAgICAgOCwgICAgNTgsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAtMSwgICAgLTEsCi0gICAgICAxNiwgICAgMTcsICAgIDE4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMjMsICAgIC0xLCAgICAyNSwKLSAgICAgIDI2LCAgICAyNywgICAgMjgsICAgIDI5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzQsICAgIDM1LAotICAgICAgMzYsICAgIDM3LCAgICAzOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsCi0gICAgICA0NiwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMywgICAgNTMsICAgIDU0LCAgICAtMSwKLSAgICAgIDU2LCAgICAgOCwgICAgNTgsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAtMSwgICAgLTEsICAgIDE2LAotICAgICAgMTcsICAgIDE4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyNSwgICAgMjYsCi0gICAgICAyNywgICAgMjgsICAgIDI5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzQsICAgIDM1LCAgICAzNiwKLSAgICAgIDM3LCAgICAzOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ2LAotICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNTAsICAgIC0xLCAgICAgMywgICAgNTMsICAgIDU0LCAgICAtMSwgICAgNTYsCi0gICAgICAgOCwgICAgNTgsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAtMSwgICAgLTEsICAgIDE2LCAgICAxNywKLSAgICAgIDE4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyNSwgICAgMjYsICAgIDI3LAotICAgICAgMjgsICAgIDI5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsCi0gICAgICAzOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ2LCAgICAtMSwKLSAgICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAgMywgICAgNTMsICAgIDU0LCAgICAtMSwgICAgNTYsICAgICA4LAotICAgICAgNTgsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTgsCi0gICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyNSwgICAgMjYsICAgIDI3LCAgICAyOCwKLSAgICAgIDI5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LAotICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDIsICAgIDQzLCAgICA0NCwgICAgNDUsICAgIDQ2LCAgICAtMSwgICAgLTEsCi0gICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNTMsICAgIDU0LCAgICAtMSwgICAgNTYsICAgIC0xLCAgICA1OCwKLSAgICAgIDI3LCAgICAyOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAzNCwgICAgMzUsICAgIDM2LAotICAgICAgMzcsICAgIDM4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0MiwgICAgNDMsICAgIDQ0LCAgICA0NSwgICAgNDYsCi0gICAgICAzNCwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIC0xLCAgICA1MywgICAgNTQsICAgIDQyLCAgICAtMSwKLSAgICAgIC0xLCAgICA0NSwgICAgNDYsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDUzLAotICAgICAgNTQKKyAgICAgIC0xLCAgICAtMSwgICAgMjYsICAgIDI3LCAgICAyOCwgICAgMjksICAgIDMwLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDMsCisgICAgICA0NCwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNTEsICAgIC0xLCAgICAgMywKKyAgICAgIDU0LCAgICA1NSwgICAgLTEsICAgIDU3LCAgICAgOCwgICAgNTksICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLAorICAgICAgLTEsICAgIC0xLCAgICAxNiwgICAgMTcsICAgIDE4LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAyMiwgICAgMjMsCisgICAgICAtMSwgICAgLTEsICAgIDI2LCAgICAyNywgICAgMjgsICAgIDI5LCAgICAzMCwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDQzLAorICAgICAgNDQsICAgIDQ1LCAgICA0NiwgICAgNDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgIDMsCisgICAgICA1NCwgICAgNTUsICAgIC0xLCAgICA1NywgICAgIDgsICAgIDU5LCAgICAxMCwgICAgMTEsICAgIDEyLCAgICAxMywKKyAgICAgIC0xLCAgICAtMSwgICAgMTYsICAgIDE3LCAgICAxOCwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAyNiwgICAgMjcsICAgIDI4LCAgICAyOSwgICAgMzAsICAgIC0xLCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA0MywKKyAgICAgIDQ0LCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAtMSwgICAgLTEsICAgIC0xLCAgICA1MSwgICAgLTEsICAgICAzLAorICAgICAgNTQsICAgIDU1LCAgICAtMSwgICAgNTcsICAgICA4LCAgICA1OSwgICAgMTAsICAgIDExLCAgICAxMiwgICAgMTMsCisgICAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMTgsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIC0xLCAgICAtMSwgICAgMjYsICAgIDI3LCAgICAyOCwgICAgMjksICAgIDMwLCAgICAtMSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LCAgICAzOSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgNDMsCisgICAgICA0NCwgICAgNDUsICAgIDQ2LCAgICA0NywgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwKKyAgICAgIDU0LCAgICA1NSwgICAgLTEsICAgIDU3LCAgICAtMSwgICAgNTksICAgIDI4LCAgICAyOSwgICAgLTEsICAgIC0xLAorICAgICAgLTEsICAgIC0xLCAgICAtMSwgICAgMzUsICAgIDM2LCAgICAzNywgICAgMzgsICAgIDM5LCAgICAtMSwgICAgLTEsCisgICAgICAtMSwgICAgNDMsICAgIDQ0LCAgICA0NSwgICAgNDYsICAgIDQ3LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwKKyAgICAgIDM5LCAgICAtMSwgICAgNTQsICAgIDU1LCAgICA0MywgICAgLTEsICAgIC0xLCAgICA0NiwgICAgNDcsICAgIDM1LAorICAgICAgMzYsICAgIDM3LCAgICAzOCwgICAgMzksICAgIC0xLCAgICA1NCwgICAgNTUsICAgIDQzLCAgICAtMSwgICAgLTEsCisgICAgICA0NiwgICAgNDcsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIC0xLCAgICAtMSwgICAgLTEsICAgIDU0LCAgICA1NQogfTsKIAogLyogWVlTVE9TW1NUQVRFLU5VTV0gLS0gVGhlIChpbnRlcm5hbCBudW1iZXIgb2YgdGhlKSBhY2Nlc3NpbmcKQEAgLTEyNTksNDAgKzEyNDQsNDAgQEAKIHN0YXRpYyBjb25zdCB5eXR5cGVfdWludDggeXlzdG9zW10gPQogewogICAgICAgIDAsICAgICAxLCAgICAgMywgICAgIDgsICAgIDEwLCAgICAxMSwgICAgMTIsICAgIDEzLCAgICAxNiwgICAgMTcsCi0gICAgICAxOCwgICAgMjIsICAgIDIzLCAgICAyNSwgICAgMjYsICAgIDI3LCAgICAyOCwgICAgMjksICAgIDM0LCAgICAzNSwKLSAgICAgIDM2LCAgICAzNywgICAgMzgsICAgIDQyLCAgICA0MywgICAgNDQsICAgIDQ1LCAgICA0NiwgICAgNTAsICAgIDUxLAotICAgICAgNTMsICAgIDU0LCAgICA1NiwgICAgNTgsICAgIDYxLCAgICA2MywgICAgNjQsICAgIDY2LCAgICA2NywgICAgNjgsCi0gICAgICA2OSwgICAgNzAsICAgIDcxLCAgICA3MiwgICAgNzMsICAgIDc1LCAgICA3NiwgICAgNzcsICAgIDc4LCAgICA3OSwKLSAgICAgIDgwLCAgICA5MywgICAgOTQsICAgIDk1LCAgICA5NiwgICAgOTcsICAgIDUwLCAgICA4NiwgICAgODcsICAgIDkyLAotICAgICAgMjUsICAgIDI1LCAgICAzMCwgICAgMjUsICAgIDg3LCAgICA4NywgICAgMjUsICAgIDI1LCAgICA2NiwgICAgNjgsCi0gICAgICAzMSwgICAgOTYsICAgIDk3LCAgICAyNCwgICAgNTgsICAgIDM0LCAgICAzNSwgICAgMzYsICAgIDM3LCAgICAzOCwKLSAgICAgIDQyLCAgICA0NSwgICAgNDYsICAgIDUzLCAgICA1NCwgICAgMzQsICAgIDM1LCAgICAzNiwgICAgMzcsICAgIDM4LAotICAgICAgNDIsICAgIDQ1LCAgICA0NiwgICAgNTMsICAgIDU0LCAgICAyNSwgICAgMjUsICAgIDI1LCAgICAyOCwgICAgNTUsCi0gICAgICAyNSwgICAgMjUsICAgIDI4LCAgICA1NSwgICAgMjUsICAgIDI1LCAgICAyNSwgICAgMjUsICAgIDI1LCAgICAyNSwKLSAgICAgIDI1LCAgICA4NywgICAgODcsICAgICAwLCAgICAyNSwgICAgNjQsICAgIDYzLCAgICA2NSwgICAgNTAsICAgIDUxLAotICAgICAgOTAsICAgIDMyLCAgICAzMywgICAgNDgsICAgIDQ5LCAgICA0NywgICAgNTIsICAgIDIyLCAgICA0OSwgICAgNTAsCi0gICAgICA1MSwgICAgOTEsICAgIDk2LCAgICAgNCwgICAgNTAsICAgIDg4LCAgICA4OSwgICAgOTUsICAgIDkyLCAgICA0OSwKLSAgICAgIDkyLCAgICAxNCwgICAgNTYsICAgIDkxLCAgICA0OSwgICAgOTIsICAgIDE0LCAgICAxNCwgICAgNTgsICAgIDkyLAotICAgICAgNjgsICAgIDY1LCAgICAxOSwgICAgOTYsICAgIDU5LCAgICAyNSwgICAgMjUsICAgIDI1LCAgICAyOCwgICAgNTUsCi0gICAgICAyNSwgICAgMjUsICAgIDI4LCAgICA1NSwgICAgMjUsICAgIDI1LCAgICAyNSwgICAgMjUsICAgIDI1LCAgICAyNSwKLSAgICAgIDI1LCAgICAyNSwgICAgMjgsICAgIDU1LCAgICAyNSwgICAgMjUsICAgIDI4LCAgICA1NSwgICAgMjUsICAgIDI1LAotICAgICAgMjUsICAgIDI1LCAgICAyNSwgICAgNTcsICAgIDU5LCAgICA2MywgICAgOTIsICAgIDkyLCAgICA5NCwgICAgOTQsCi0gICAgICA5MiwgICAgOTIsICAgIDk2LCAgICA4NywgICAgMzIsICAgIDMzLCAgICA0OCwgICAgNDksICAgIDUwLCAgICAyMSwKLSAgICAgIDkyLCAgICAxNCwgICAgMjEsICAgIDU2LCAgICA4NywgICAgODcsICAgIDkyLCAgICA5MiwgICAgMTQsICAgIDIxLAotICAgICAgNTYsICAgIDg3LCAgICA4NywgICAgNTksICAgIDY4LCAgICA3NCwgICAgNjUsICAgIDkyLCAgICA5NCwgICAgOTQsCi0gICAgICA0OCwgICAgNDksICAgIDk2LCAgICA5NiwgICAgIDUsICAgICA2LCAgICAgNywgICAgODEsICAgIDkyLCAgICA5MiwKLSAgICAgIDkyLCAgICA5MiwgICAgOTIsICAgIDgyLCAgICA4MywgICAgODQsICAgIDkyLCAgICAxNCwgICAgNTYsICAgIDg3LAotICAgICAgMjUsICAgIDYyLCAgICA5MSwgICAgODcsICAgIDE1LCAgICA1NywgICAgMTQsICAgIDU2LCAgICAxNCwgICAgNTYsCi0gICAgICA4NiwgICAgOTIsICAgIDYyLCAgICA4NiwgICAgMTUsICAgIDE1LCAgICA5MiwgICAgNjUsICAgIDc0LCAgICA4NywKLSAgICAgIDg3LCAgICAgNywgICAgODksICAgIDg5LCAgICA4OSwgICAgODksICAgIDg5LCAgICAgOSwgICAgMzksICAgIDQwLAotICAgICAgNDEsICAgIDgzLCAgICA5MiwgICAgIDksICAgIDI1LCAgICA1OCwgICAgODUsICAgIDg3LCAgICA4NywgICAgMTUsCi0gICAgICAyNSwgICAgOTEsICAgIDkyLCAgICA1NywgICAgODcsICAgIDg3LCAgICA4NiwgICAgODYsICAgIDE1LCAgICA4OSwKLSAgICAgIDkxLCAgICA1NywgICAgNzQsICAgICA3LCAgICAgNCwgICAgNDgsICAgIDQ5LCAgICA1MCwgICAgMzksICAgIDQwLAotICAgICAgNDEsICAgICA5LCAgICA4NSwgICAgNTIsICAgIDU5LCAgICAxNSwgICAgNTcsICAgIDkyLCAgICAxNCwgICAgNTYsCi0gICAgICAxNSwgICAgNTcsICAgIDE1LCAgICA1NywgICAgOTIsICAgIDg3LCAgICA5MiwgICAgOTIsICAgIDkyLCAgICA1OSwKLSAgICAgIDI1LCAgICA4NywgICAgOTIsICAgIDE0LCAgICA1NiwgICAgODcsICAgIDg3LCAgICAxNCwgICAgNTYsICAgICA1LAotICAgICAgODEsICAgIDg3LCAgICA5MiwgICAgODcsICAgIDg3LCAgICAxNSwgICAgNTcsICAgIDg2LCAgICA4NiwgICAgODcsCi0gICAgICAxNSwgICAgNTcsICAgIDE1LCAgICA1NworICAgICAgMTgsICAgIDIyLCAgICAyMywgICAgMjYsICAgIDI3LCAgICAyOCwgICAgMjksICAgIDMwLCAgICAzNSwgICAgMzYsCisgICAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MywgICAgNDQsICAgIDQ1LCAgICA0NiwgICAgNDcsICAgIDUxLCAgICA1MiwKKyAgICAgIDU0LCAgICA1NSwgICAgNTcsICAgIDU5LCAgICA2MiwgICAgNjQsICAgIDY1LCAgICA2NywgICAgNjgsICAgIDY5LAorICAgICAgNzAsICAgIDcxLCAgICA3MiwgICAgNzMsICAgIDc0LCAgICA3NiwgICAgNzcsICAgIDc4LCAgICA3OSwgICAgODAsCisgICAgICA4MSwgICAgOTQsICAgIDk1LCAgICA5NiwgICAgOTcsICAgIDk4LCAgICA1MSwgICAgODcsICAgIDg4LCAgICA5MywKKyAgICAgIDI2LCAgICAyNiwgICAgMzEsICAgIDI2LCAgICA4OCwgICAgODgsICAgIDI2LCAgICAyNiwgICAgNjcsICAgIDY5LAorICAgICAgMzIsICAgIDUwLCAgICA1MSwgICAgNTIsICAgIDkyLCAgICA5NiwgICAgMjQsICAgIDU5LCAgICAzNSwgICAgMzYsCisgICAgICAzNywgICAgMzgsICAgIDM5LCAgICA0MywgICAgNDYsICAgIDQ3LCAgICA1NCwgICAgNTUsICAgIDM1LCAgICAzNiwKKyAgICAgIDM3LCAgICAzOCwgICAgMzksICAgIDQzLCAgICA0NiwgICAgNDcsICAgIDU0LCAgICA1NSwgICAgMjYsICAgIDI2LAorICAgICAgMjYsICAgIDI5LCAgICA1NiwgICAgMjYsICAgIDI2LCAgICAyOSwgICAgNTYsICAgIDI2LCAgICAyNiwgICAgMjYsCisgICAgICAyNiwgICAgMjYsICAgIDI2LCAgICAyNiwgICAgODgsICAgIDg4LCAgICAgMCwgICAgMjYsICAgIDY1LCAgICA2NCwKKyAgICAgIDY2LCAgICA1MSwgICAgNTIsICAgIDkxLCAgICAzMywgICAgMzQsICAgIDQ5LCAgICA1MCwgICAgNDgsICAgIDUzLAorICAgICAgOTIsICAgIDk2LCAgICAgNCwgICAgNTEsICAgIDg5LCAgICA5MCwgICAgOTYsICAgIDkzLCAgICA1MCwgICAgOTMsCisgICAgICAxNCwgICAgNTcsICAgIDkyLCAgICA1MCwgICAgOTMsICAgIDE0LCAgICAxNCwgICAgNTksICAgIDkzLCAgICA2OSwKKyAgICAgIDY2LCAgICAxOSwgICAgMjUsICAgIDYwLCAgICAyNiwgICAgMjYsICAgIDI2LCAgICAyOSwgICAgNTYsICAgIDI2LAorICAgICAgMjYsICAgIDI5LCAgICA1NiwgICAgMjYsICAgIDI2LCAgICAyNiwgICAgMjYsICAgIDI2LCAgICAyNiwgICAgMjYsCisgICAgICAyNiwgICAgMjksICAgIDU2LCAgICAyNiwgICAgMjYsICAgIDI5LCAgICA1NiwgICAgMjYsICAgIDI2LCAgICAyNiwKKyAgICAgIDI2LCAgICAyNiwgICAgNTgsICAgIDYwLCAgICA2NCwgICAgOTMsICAgIDkzLCAgICA5NSwgICAgOTUsICAgIDkzLAorICAgICAgOTMsICAgIDg4LCAgICAzMywgICAgMzQsICAgIDQ5LCAgICA1MCwgICAgNTEsICAgIDIxLCAgICA5MywgICAgMTQsCisgICAgICAyMSwgICAgNTcsICAgIDg4LCAgICA4OCwgICAgOTMsICAgIDkzLCAgICAxNCwgICAgMjEsICAgIDU3LCAgICA4OCwKKyAgICAgIDg4LCAgICA2MCwgICAgNjksICAgIDc1LCAgICA2NiwgICAgOTMsICAgIDk1LCAgICA5NSwgICAgNDksICAgIDUwLAorICAgICAgOTcsICAgIDk3LCAgICAgNSwgICAgIDYsICAgICA3LCAgICA4MiwgICAgOTMsICAgIDkzLCAgICA5MywgICAgOTMsCisgICAgICA5MywgICAgODMsICAgIDg0LCAgICA4NSwgICAgOTMsICAgIDE0LCAgICA1NywgICAgODgsICAgIDI2LCAgICA2MywKKyAgICAgIDkyLCAgICA4OCwgICAgMTUsICAgIDU4LCAgICAxNCwgICAgNTcsICAgIDE0LCAgICA1NywgICAgODcsICAgIDkzLAorICAgICAgNjMsICAgIDg3LCAgICAxNSwgICAgMTUsICAgIDkzLCAgICA2NiwgICAgNzUsICAgIDg4LCAgICA4OCwgICAgIDcsCisgICAgICA5MCwgICAgOTAsICAgIDkwLCAgICA5MCwgICAgOTAsICAgICA5LCAgICA0MCwgICAgNDEsICAgIDQyLCAgICA4NCwKKyAgICAgIDkzLCAgICAgOSwgICAgMjYsICAgIDU5LCAgICA4NiwgICAgODgsICAgIDg4LCAgICAxNSwgICAgMjYsICAgIDkyLAorICAgICAgOTMsICAgIDU4LCAgICA4OCwgICAgODgsICAgIDg3LCAgICA4NywgICAgMTUsICAgIDkwLCAgICA5MiwgICAgNTgsCisgICAgICA3NSwgICAgIDcsICAgICA0LCAgICA0OSwgICAgNTAsICAgIDUxLCAgICA0MCwgICAgNDEsICAgIDQyLCAgICAgOSwKKyAgICAgIDg2LCAgICA1MywgICAgNjAsICAgIDE1LCAgICA1OCwgICAgOTMsICAgIDE0LCAgICA1NywgICAgMTUsICAgIDU4LAorICAgICAgMTUsICAgIDU4LCAgICA5MywgICAgODgsICAgIDkzLCAgICA5MywgICAgOTMsICAgIDYwLCAgICAyNiwgICAgODgsCisgICAgICA5MywgICAgMTQsICAgIDU3LCAgICA4OCwgICAgODgsICAgIDE0LCAgICA1NywgICAgIDUsICAgIDgyLCAgICA4OCwKKyAgICAgIDkzLCAgICA4OCwgICAgODgsICAgIDE1LCAgICA1OCwgICAgODcsICAgIDg3LCAgICA4OCwgICAgMTUsICAgIDU4LAorICAgICAgMTUsICAgIDU4CiB9OwogCiAjZGVmaW5lIHl5ZXJyb2sJCSh5eWVycnN0YXR1cyA9IDApCkBAIC0yMTA3LDcgKzIwOTIsNyBAQAogICBzd2l0Y2ggKHl5bikKICAgICB7CiAgICAgICAgIGNhc2UgMjoKLSNsaW5lIDM3NCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAzNzcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgLyogQ2FzZSBvZiByZWd1bGFyIGNvbW1hbmQuICBEaXNjYXJkIHRoZSBlcnJvcgogCQkJICAgICBzYWZldHkgbmV0LGFuZCByZXR1cm4gdGhlIGNvbW1hbmQganVzdCBwYXJzZWQuICovCkBAIC0yMTIxLDcgKzIxMDYsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMzoKLSNsaW5lIDM4NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAzODggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgLyogQ2FzZSBvZiByZWd1bGFyIGNvbW1hbmQsIGJ1dCBub3QgYSB2ZXJ5CiAJCQkgICAgIGludGVyZXN0aW5nIG9uZS4gIFJldHVybiBhIE5VTEwgY29tbWFuZC4gKi8KQEAgLTIxMzMsNyArMjExOCw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA0OgotI2xpbmUgMzk0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDM5NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAvKiBFcnJvciBkdXJpbmcgcGFyc2luZy4gIFJldHVybiBOVUxMIGNvbW1hbmQuICovCiAJCQkgIGdsb2JhbF9jb21tYW5kID0gKENPTU1BTkQgKilOVUxMOwpAQCAtMjE1MSw3ICsyMTM2LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDU6Ci0jbGluZSA0MDkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDEyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIC8qIENhc2Ugb2YgRU9GIHNlZW4gYnkgaXRzZWxmLiAgRG8gaWdub3JlZW9mIG9yCiAJCQkgICAgIG5vdC4gKi8KQEAgLTIxNjIsMTcgKzIxNDcsMTcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDY6Ci0jbGluZSA0MTkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDIyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC53b3JkX2xpc3QpID0gbWFrZV93b3JkX2xpc3QgKCh5eXZzcFsoMSkgLSAoMSldLndvcmQpLCAoV09SRF9MSVNUICopTlVMTCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDc6Ci0jbGluZSA0MjEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDI0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC53b3JkX2xpc3QpID0gbWFrZV93b3JkX2xpc3QgKCh5eXZzcFsoMikgLSAoMildLndvcmQpLCAoeXl2c3BbKDEpIC0gKDIpXS53b3JkX2xpc3QpKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgODoKLSNsaW5lIDQyNSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA0MjggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmRlc3QgPSAxOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMikgLSAoMildLndvcmQpOwpAQCAtMjE4MSw3ICsyMTY2LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDk6Ci0jbGluZSA0MzEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDM0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5kZXN0ID0gMDsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDIpIC0gKDIpXS53b3JkKTsKQEAgLTIxOTAsNyArMjE3NSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAxMDoKLSNsaW5lIDQzNyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA0NDAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmRlc3QgPSAoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOwpAQCAtMjE5OSw3ICsyMTg0LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDExOgotI2xpbmUgNDQzICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDQ0NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7CkBAIC0yMjA4LDcgKzIxOTMsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMTI6Ci0jbGluZSA0NDkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDUyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICh5eXZzcFsoMSkgLSAoMyldLndvcmQpOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOwpAQCAtMjIxNyw3ICsyMjAyLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDEzOgotI2xpbmUgNDU1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDQ1OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKQEAgLTIyMjYsNyArMjIxMSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAxNDoKLSNsaW5lIDQ2MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA0NjQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmRlc3QgPSAxOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMikgLSAoMildLndvcmQpOwpAQCAtMjIzNSw3ICsyMjIwLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDE1OgotI2xpbmUgNDY3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDQ3MCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7CkBAIC0yMjQ0LDcgKzIyMjksNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMTY6Ci0jbGluZSA0NzMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDc2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICh5eXZzcFsoMSkgLSAoMyldLndvcmQpOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOwpAQCAtMjI1Myw3ICsyMjM4LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDE3OgotI2xpbmUgNDc5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDQ4MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZGVzdCA9IDE7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7CkBAIC0yMjYyLDcgKzIyNDcsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMTg6Ci0jbGluZSA0ODUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNDg4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5kZXN0ID0gKHl5dnNwWygxKSAtICgzKV0ubnVtYmVyKTsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKQEAgLTIyNzEsNyArMjI1Niw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAxOToKLSNsaW5lIDQ5MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA0OTQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmZpbGVuYW1lID0gKHl5dnNwWygxKSAtICgzKV0ud29yZCk7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7CkBAIC0yMjgwLDcgKzIyNjUsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMjA6Ci0jbGluZSA0OTcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNTAwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5kZXN0ID0gMDsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDIpIC0gKDIpXS53b3JkKTsKQEAgLTIyODksNyArMjI3NCw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAyMToKLSNsaW5lIDUwMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1MDYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmRlc3QgPSAoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOwpAQCAtMjI5OCw3ICsyMjgzLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDIyOgotI2xpbmUgNTA5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDUxMiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKQEAgLTIzMDcsNyArMjI5Miw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAyMzoKLSNsaW5lIDUxNSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1MTggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmRlc3QgPSAwOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMikgLSAoMildLndvcmQpOwpAQCAtMjMxNyw3ICsyMzAyLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDI0OgotI2xpbmUgNTIyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDUyNSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7CkBAIC0yMzI3LDcgKzIzMTIsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMjU6Ci0jbGluZSA1MjkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNTMyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICh5eXZzcFsoMSkgLSAoMyldLndvcmQpOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOwpAQCAtMjMzNyw3ICsyMzIyLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDI2OgotI2xpbmUgNTM2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDUzOSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZGVzdCA9IDA7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7CkBAIC0yMzQ3LDcgKzIzMzIsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMjc6Ci0jbGluZSA1NDMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNTQ2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5kZXN0ID0gKHl5dnNwWygxKSAtICgzKV0ubnVtYmVyKTsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKQEAgLTIzNTcsNyArMjM0Miw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAyODoKLSNsaW5lIDU1MCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1NTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmZpbGVuYW1lID0gKHl5dnNwWygxKSAtICgzKV0ud29yZCk7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7CkBAIC0yMzY3LDcgKzIzNTIsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMjk6Ci0jbGluZSA1NTcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNTYwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5kZXN0ID0gMDsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDIpIC0gKDIpXS53b3JkKTsKQEAgLTIzNzYsNyArMjM2MSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAzMDoKLSNsaW5lIDU2MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1NjYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmRlc3QgPSAoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOwpAQCAtMjM4NSw3ICsyMzcwLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDMxOgotI2xpbmUgNTY5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDU3MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKQEAgLTIzOTQsNyArMjM3OSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAzMjoKLSNsaW5lIDU3NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1NzggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmRlc3QgPSAwOwogCQkJICByZWRpci5kZXN0ID0gKHl5dnNwWygyKSAtICgyKV0ubnVtYmVyKTsKQEAgLTI0MDMsNyArMjM4OCw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAzMzoKLSNsaW5lIDU4MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1ODQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmRlc3QgPSAoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpOwogCQkJICByZWRpci5kZXN0ID0gKHl5dnNwWygzKSAtICgzKV0ubnVtYmVyKTsKQEAgLTI0MTIsNyArMjM5Nyw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAzNDoKLSNsaW5lIDU4NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA1OTAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmZpbGVuYW1lID0gKHl5dnNwWygxKSAtICgzKV0ud29yZCk7CiAJCQkgIHJlZGlyLmRlc3QgPSAoeXl2c3BbKDMpIC0gKDMpXS5udW1iZXIpOwpAQCAtMjQyMSw3ICsyNDA2LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDM1OgotI2xpbmUgNTkzICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDU5NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZGVzdCA9IDE7CiAJCQkgIHJlZGlyLmRlc3QgPSAoeXl2c3BbKDIpIC0gKDIpXS5udW1iZXIpOwpAQCAtMjQzMCw3ICsyNDE1LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDM2OgotI2xpbmUgNTk5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDYwMiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CiAJCQkgIHJlZGlyLmRlc3QgPSAoeXl2c3BbKDMpIC0gKDMpXS5udW1iZXIpOwpAQCAtMjQzOSw3ICsyNDI0LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDM3OgotI2xpbmUgNjA1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDYwOCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKIAkJCSAgcmVkaXIuZGVzdCA9ICh5eXZzcFsoMykgLSAoMyldLm51bWJlcik7CkBAIC0yNDQ4LDcgKzI0MzMsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMzg6Ci0jbGluZSA2MTEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNjE0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5kZXN0ID0gMDsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDIpIC0gKDIpXS53b3JkKTsKQEAgLTI0NTcsNyArMjQ0Miw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAzOToKLSNsaW5lIDYxNyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA2MjAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmRlc3QgPSAoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOwpAQCAtMjQ2Niw3ICsyNDUxLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDQwOgotI2xpbmUgNjIzICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDYyNiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKIAkJCSAgcmVkaXIuZmlsZW5hbWUgPSAoeXl2c3BbKDMpIC0gKDMpXS53b3JkKTsKQEAgLTI0NzUsNyArMjQ2MCw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA0MToKLSNsaW5lIDYyOSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA2MzIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmRlc3QgPSAxOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMikgLSAoMildLndvcmQpOwpAQCAtMjQ4NCw3ICsyNDY5LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDQyOgotI2xpbmUgNjM1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDYzOCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygzKSAtICgzKV0ud29yZCk7CkBAIC0yNDkzLDcgKzI0NzgsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgNDM6Ci0jbGluZSA2NDEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNjQ0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICh5eXZzcFsoMSkgLSAoMyldLndvcmQpOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMykgLSAoMyldLndvcmQpOwpAQCAtMjUwMiw3ICsyNDg3LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDQ0OgotI2xpbmUgNjQ3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDY1MCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZGVzdCA9IDE7CiAJCQkgIHJlZGlyLmRlc3QgPSAwOwpAQCAtMjUxMSw3ICsyNDk2LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDQ1OgotI2xpbmUgNjUzICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDY1NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZGVzdCA9ICh5eXZzcFsoMSkgLSAoMyldLm51bWJlcik7CiAJCQkgIHJlZGlyLmRlc3QgPSAwOwpAQCAtMjUyMCw3ICsyNTA1LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDQ2OgotI2xpbmUgNjU5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDY2MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZmlsZW5hbWUgPSAoeXl2c3BbKDEpIC0gKDMpXS53b3JkKTsKIAkJCSAgcmVkaXIuZGVzdCA9IDA7CkBAIC0yNTI5LDcgKzI1MTQsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgNDc6Ci0jbGluZSA2NjUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNjY4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5kZXN0ID0gMDsKIAkJCSAgcmVkaXIuZGVzdCA9IDA7CkBAIC0yNTM4LDcgKzI1MjMsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgNDg6Ci0jbGluZSA2NzEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNjc0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5kZXN0ID0gKHl5dnNwWygxKSAtICgzKV0ubnVtYmVyKTsKIAkJCSAgcmVkaXIuZGVzdCA9IDA7CkBAIC0yNTQ3LDcgKzI1MzIsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgNDk6Ci0jbGluZSA2NzcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNjgwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIHNvdXJjZS5maWxlbmFtZSA9ICh5eXZzcFsoMSkgLSAoMyldLndvcmQpOwogCQkJICByZWRpci5kZXN0ID0gMDsKQEAgLTI1NTYsNyArMjU0MSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA1MDoKLSNsaW5lIDY4MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA2ODYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgc291cmNlLmRlc3QgPSAxOwogCQkJICByZWRpci5maWxlbmFtZSA9ICh5eXZzcFsoMikgLSAoMildLndvcmQpOwpAQCAtMjU2NSw3ICsyNTUwLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDUxOgotI2xpbmUgNjg5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDY5MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBzb3VyY2UuZGVzdCA9IDE7CiAJCQkgIHJlZGlyLmZpbGVuYW1lID0gKHl5dnNwWygyKSAtICgyKV0ud29yZCk7CkBAIC0yNTc0LDI5ICsyNTU5LDI5IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA1MjoKLSNsaW5lIDY5NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA3MDAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmVsZW1lbnQpLndvcmQgPSAoeXl2c3BbKDEpIC0gKDEpXS53b3JkKTsgKHl5dmFsLmVsZW1lbnQpLnJlZGlyZWN0ID0gMDsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgNTM6Ci0jbGluZSA2OTkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNzAyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5lbGVtZW50KS53b3JkID0gKHl5dnNwWygxKSAtICgxKV0ud29yZCk7ICh5eXZhbC5lbGVtZW50KS5yZWRpcmVjdCA9IDA7IH0KICAgICBicmVhazsKIAogICBjYXNlIDU0OgotI2xpbmUgNzAxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDcwNCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuZWxlbWVudCkucmVkaXJlY3QgPSAoeXl2c3BbKDEpIC0gKDEpXS5yZWRpcmVjdCk7ICh5eXZhbC5lbGVtZW50KS53b3JkID0gMDsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgNTU6Ci0jbGluZSA3MDUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNzA4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5yZWRpcmVjdCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5yZWRpcmVjdCk7CiAJCQl9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA1NjoKLSNsaW5lIDcwOSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA3MTIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgcmVnaXN0ZXIgUkVESVJFQ1QgKnQ7CiAKQEAgLTI2MDgsMjcgKzI1OTMsMjcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDU3OgotI2xpbmUgNzIwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDcyMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX3NpbXBsZV9jb21tYW5kICgoeXl2c3BbKDEpIC0gKDEpXS5lbGVtZW50KSwgKENPTU1BTkQgKilOVUxMKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgNTg6Ci0jbGluZSA3MjIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNzI1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2Vfc2ltcGxlX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoMildLmVsZW1lbnQpLCAoeXl2c3BbKDEpIC0gKDIpXS5jb21tYW5kKSk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDU5OgotI2xpbmUgNzI2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDcyOSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBjbGVhbl9zaW1wbGVfY29tbWFuZCAoKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCkpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA2MDoKLSNsaW5lIDcyOCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA3MzEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDYxOgotI2xpbmUgNzMwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDczMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBDT01NQU5EICp0YzsKIApAQCAtMjY0Nyw3MiArMjYzMiw3MiBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgNjI6Ci0jbGluZSA3NDYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNzQ5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA2MzoKLSNsaW5lIDc0OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA3NTEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDY0OgotI2xpbmUgNzUyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDc1NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgNjU6Ci0jbGluZSA3NTQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNzU3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA2NjoKLSNsaW5lIDc1NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA3NTkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV93aGlsZV9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDUpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg1KV0uY29tbWFuZCkpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA2NzoKLSNsaW5lIDc1OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA3NjEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV91bnRpbF9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDUpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg1KV0uY29tbWFuZCkpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA2ODoKLSNsaW5lIDc2MCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA3NjMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDY5OgotI2xpbmUgNzYyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDc2NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgNzA6Ci0jbGluZSA3NjQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNzY3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA3MToKLSNsaW5lIDc2NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA3NjkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDcyOgotI2xpbmUgNzY4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDc3MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgNzM6Ci0jbGluZSA3NzAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNzczICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSA3NDoKLSNsaW5lIDc3MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA3NzUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDc1OgotI2xpbmUgNzc2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDc3OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Zvcl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDYpXS53b3JkKSwgYWRkX3N0cmluZ190b19saXN0ICgiXCIkQFwiIiwgKFdPUkRfTElTVCAqKU5VTEwpLCAoeXl2c3BbKDUpIC0gKDYpXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKIAkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKQEAgLTI3MjAsNyArMjcwNSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA3NjoKLSNsaW5lIDc4MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA3ODQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICg2KV0ud29yZCksIGFkZF9zdHJpbmdfdG9fbGlzdCAoIlwiJEBcIiIsIChXT1JEX0xJU1QgKilOVUxMKSwgKHl5dnNwWyg1KSAtICg2KV0uY29tbWFuZCksIHdvcmRfbGluZW5vW3dvcmRfdG9wXSk7CiAJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CkBAIC0yNzI4LDcgKzI3MTMsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgNzc6Ci0jbGluZSA3ODYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgNzg5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNyldLndvcmQpLCBhZGRfc3RyaW5nX3RvX2xpc3QgKCJcIiRAXCIiLCAoV09SRF9MSVNUICopTlVMTCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwogCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwpAQCAtMjczNiw3ICsyNzIxLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDc4OgotI2xpbmUgNzkxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDc5NCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Zvcl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDcpXS53b3JkKSwgYWRkX3N0cmluZ190b19saXN0ICgiXCIkQFwiIiwgKFdPUkRfTElTVCAqKU5VTEwpLCAoeXl2c3BbKDYpIC0gKDcpXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKIAkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKQEAgLTI3NDQsNyArMjcyOSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA3OToKLSNsaW5lIDc5NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA3OTkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICgxMCldLndvcmQpLCBSRVZFUlNFX0xJU1QgKCh5eXZzcFsoNSkgLSAoMTApXS53b3JkX2xpc3QpLCBXT1JEX0xJU1QgKiksICh5eXZzcFsoOSkgLSAoMTApXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKIAkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKQEAgLTI3NTIsNyArMjczNyw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA4MDoKLSNsaW5lIDgwMSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA4MDQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICgxMCldLndvcmQpLCBSRVZFUlNFX0xJU1QgKCh5eXZzcFsoNSkgLSAoMTApXS53b3JkX2xpc3QpLCBXT1JEX0xJU1QgKiksICh5eXZzcFsoOSkgLSAoMTApXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKIAkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKQEAgLTI3NjAsNyArMjc0NSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA4MToKLSNsaW5lIDgwNiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA4MDkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICg5KV0ud29yZCksIChXT1JEX0xJU1QgKilOVUxMLCAoeXl2c3BbKDgpIC0gKDkpXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKIAkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKQEAgLTI3NjgsNyArMjc1Myw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA4MjoKLSNsaW5lIDgxMSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA4MTQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICg5KV0ud29yZCksIChXT1JEX0xJU1QgKilOVUxMLCAoeXl2c3BbKDgpIC0gKDkpXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKIAkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKQEAgLTI3NzYsNyArMjc2MSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA4MzoKLSNsaW5lIDgxOCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA4MjEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfYXJpdGhfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNyldLndvcmRfbGlzdCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpLCBhcml0aF9mb3JfbGluZW5vKTsKIAkJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CkBAIC0yNzg0LDcgKzI3NjksNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgODQ6Ci0jbGluZSA4MjMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgODI2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2FyaXRoX2Zvcl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDcpXS53b3JkX2xpc3QpLCAoeXl2c3BbKDYpIC0gKDcpXS5jb21tYW5kKSwgYXJpdGhfZm9yX2xpbmVubyk7CiAJCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwpAQCAtMjc5Miw3ICsyNzc3LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDg1OgotI2xpbmUgODI4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDgzMSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9hcml0aF9mb3JfY29tbWFuZCAoKHl5dnNwWygyKSAtICg1KV0ud29yZF9saXN0KSwgKHl5dnNwWyg0KSAtICg1KV0uY29tbWFuZCksIGFyaXRoX2Zvcl9saW5lbm8pOwogCQkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKQEAgLTI4MDAsNyArMjc4NSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA4NjoKLSNsaW5lIDgzMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA4MzYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfYXJpdGhfZm9yX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNSldLndvcmRfbGlzdCksICh5eXZzcFsoNCkgLSAoNSldLmNvbW1hbmQpLCBhcml0aF9mb3JfbGluZW5vKTsKIAkJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CkBAIC0yODA4LDcgKzI3OTMsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgODc6Ci0jbGluZSA4NDAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgODQzICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2Vfc2VsZWN0X2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNildLndvcmQpLCBhZGRfc3RyaW5nX3RvX2xpc3QgKCJcIiRAXCIiLCAoV09SRF9MSVNUICopTlVMTCksICh5eXZzcFsoNSkgLSAoNildLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwogCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwpAQCAtMjgxNiw3ICsyODAxLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDg4OgotI2xpbmUgODQ1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDg0OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX3NlbGVjdF9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDYpXS53b3JkKSwgYWRkX3N0cmluZ190b19saXN0ICgiXCIkQFwiIiwgKFdPUkRfTElTVCAqKU5VTEwpLCAoeXl2c3BbKDUpIC0gKDYpXS5jb21tYW5kKSwgd29yZF9saW5lbm9bd29yZF90b3BdKTsKIAkJCSAgaWYgKHdvcmRfdG9wID4gMCkgd29yZF90b3AtLTsKQEAgLTI4MjQsNyArMjgwOSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSA4OToKLSNsaW5lIDg1MCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA4NTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9zZWxlY3RfY29tbWFuZCAoKHl5dnNwWygyKSAtICg3KV0ud29yZCksIGFkZF9zdHJpbmdfdG9fbGlzdCAoIlwiJEBcIiIsIChXT1JEX0xJU1QgKilOVUxMKSwgKHl5dnNwWyg2KSAtICg3KV0uY29tbWFuZCksIHdvcmRfbGluZW5vW3dvcmRfdG9wXSk7CiAJCQkgIGlmICh3b3JkX3RvcCA+IDApIHdvcmRfdG9wLS07CkBAIC0yODMyLDcgKzI4MTcsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgOTA6Ci0jbGluZSA4NTUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgODU4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2Vfc2VsZWN0X2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNyldLndvcmQpLCBhZGRfc3RyaW5nX3RvX2xpc3QgKCJcIiRAXCIiLCAoV09SRF9MSVNUICopTlVMTCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwogCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwpAQCAtMjg0MCw3ICsyODI1LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDkxOgotI2xpbmUgODYwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDg2MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX3NlbGVjdF9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDEwKV0ud29yZCksIFJFVkVSU0VfTElTVCAoKHl5dnNwWyg1KSAtICgxMCldLndvcmRfbGlzdCksIFdPUkRfTElTVCAqKSwgKHl5dnNwWyg5KSAtICgxMCldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwogCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwpAQCAtMjg0OCw3ICsyODMzLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDkyOgotI2xpbmUgODY1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDg2OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX3NlbGVjdF9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDEwKV0ud29yZCksIFJFVkVSU0VfTElTVCAoKHl5dnNwWyg1KSAtICgxMCldLndvcmRfbGlzdCksIFdPUkRfTElTVCAqKSwgKHl5dnNwWyg5KSAtICgxMCldLmNvbW1hbmQpLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwogCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwpAQCAtMjg1Niw3ICsyODQxLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDkzOgotI2xpbmUgODcyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDg3NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Nhc2VfY29tbWFuZCAoKHl5dnNwWygyKSAtICg2KV0ud29yZCksIChQQVRURVJOX0xJU1QgKilOVUxMLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwogCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwpAQCAtMjg2NCw3ICsyODQ5LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDk0OgotI2xpbmUgODc3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDg4MCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Nhc2VfY29tbWFuZCAoKHl5dnNwWygyKSAtICg3KV0ud29yZCksICh5eXZzcFsoNSkgLSAoNyldLnBhdHRlcm4pLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwogCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwpAQCAtMjg3Miw3ICsyODU3LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDk1OgotI2xpbmUgODgyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDg4NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2Nhc2VfY29tbWFuZCAoKHl5dnNwWygyKSAtICg2KV0ud29yZCksICh5eXZzcFsoNSkgLSAoNildLnBhdHRlcm4pLCB3b3JkX2xpbmVub1t3b3JkX3RvcF0pOwogCQkJICBpZiAod29yZF90b3AgPiAwKSB3b3JkX3RvcC0tOwpAQCAtMjg4MCwyNyArMjg2NSwyNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgOTY6Ci0jbGluZSA4ODkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgODkyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZnVuY3Rpb25fZGVmICgoeXl2c3BbKDEpIC0gKDUpXS53b3JkKSwgKHl5dnNwWyg1KSAtICg1KV0uY29tbWFuZCksIGZ1bmN0aW9uX2RzdGFydCwgZnVuY3Rpb25fYnN0YXJ0KTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgOTc6Ci0jbGluZSA4OTIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgODk1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZnVuY3Rpb25fZGVmICgoeXl2c3BbKDIpIC0gKDYpXS53b3JkKSwgKHl5dnNwWyg2KSAtICg2KV0uY29tbWFuZCksIGZ1bmN0aW9uX2RzdGFydCwgZnVuY3Rpb25fYnN0YXJ0KTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgOTg6Ci0jbGluZSA4OTUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgODk4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfZnVuY3Rpb25fZGVmICgoeXl2c3BbKDIpIC0gKDQpXS53b3JkKSwgKHl5dnNwWyg0KSAtICg0KV0uY29tbWFuZCksIGZ1bmN0aW9uX2RzdGFydCwgZnVuY3Rpb25fYnN0YXJ0KTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgOTk6Ci0jbGluZSA4OTkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgOTAyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxMDA6Ci0jbGluZSA5MDEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgOTA0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIENPTU1BTkQgKnRjOwogCkBAIC0yOTMyLDcgKzI5MTcsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMTAxOgotI2xpbmUgOTMyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDkzNSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX3N1YnNoZWxsX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoMyldLmNvbW1hbmQpKTsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpLT5mbGFncyB8PSBDTURfV0FOVF9TVUJTSEVMTDsKQEAgLTI5NDAsNyArMjkyNSw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAxMDI6Ci0jbGluZSA5MzkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgOTQyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfY29wcm9jX2NvbW1hbmQgKCJDT1BST0MiLCAoeXl2c3BbKDIpIC0gKDIpXS5jb21tYW5kKSk7CiAJCQkgICh5eXZhbC5jb21tYW5kKS0+ZmxhZ3MgfD0gQ01EX1dBTlRfU1VCU0hFTEx8Q01EX0NPUFJPQ19TVUJTSEVMTDsKQEAgLTI5NDgsNyArMjkzMyw3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAxMDM6Ci0jbGluZSA5NDQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgOTQ3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIENPTU1BTkQgKnRjOwogCkBAIC0yOTY4LDcgKzI5NTMsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMTA0OgotI2xpbmUgOTYxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDk2NCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2NvcHJvY19jb21tYW5kICgoeXl2c3BbKDIpIC0gKDMpXS53b3JkKS0+d29yZCwgKHl5dnNwWygzKSAtICgzKV0uY29tbWFuZCkpOwogCQkJICAoeXl2YWwuY29tbWFuZCktPmZsYWdzIHw9IENNRF9XQU5UX1NVQlNIRUxMfENNRF9DT1BST0NfU1VCU0hFTEw7CkBAIC0yOTc2LDcgKzI5NjEsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMTA1OgotI2xpbmUgOTY2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDk2OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBDT01NQU5EICp0YzsKIApAQCAtMjk5Niw3ICsyOTgxLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDEwNjoKLSNsaW5lIDk4MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA5ODYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9jb3Byb2NfY29tbWFuZCAoIkNPUFJPQyIsIGNsZWFuX3NpbXBsZV9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDIpXS5jb21tYW5kKSkpOwogCQkJICAoeXl2YWwuY29tbWFuZCktPmZsYWdzIHw9IENNRF9XQU5UX1NVQlNIRUxMfENNRF9DT1BST0NfU1VCU0hFTEw7CkBAIC0zMDA0LDExNyArMjk4OSwxMTcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDEwNzoKLSNsaW5lIDk5MCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA5OTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9pZl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDUpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg1KV0uY29tbWFuZCksIChDT01NQU5EICopTlVMTCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDEwODoKLSNsaW5lIDk5MiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSA5OTUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9pZl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDcpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg3KV0uY29tbWFuZCksICh5eXZzcFsoNikgLSAoNyldLmNvbW1hbmQpKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTA5OgotI2xpbmUgOTk0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDk5NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2lmX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoNildLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDYpXS5jb21tYW5kKSwgKHl5dnNwWyg1KSAtICg2KV0uY29tbWFuZCkpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxMTA6Ci0jbGluZSA5OTkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTAwMiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX2dyb3VwX2NvbW1hbmQgKCh5eXZzcFsoMikgLSAoMyldLmNvbW1hbmQpKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTExOgotI2xpbmUgMTAwMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMDA2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfYXJpdGhfY29tbWFuZCAoKHl5dnNwWygxKSAtICgxKV0ud29yZF9saXN0KSk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDExMjoKLSNsaW5lIDEwMDcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTAxMCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDIpIC0gKDMpXS5jb21tYW5kKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTEzOgotI2xpbmUgMTAxMSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMDE0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfaWZfY29tbWFuZCAoKHl5dnNwWygyKSAtICg0KV0uY29tbWFuZCksICh5eXZzcFsoNCkgLSAoNCldLmNvbW1hbmQpLCAoQ09NTUFORCAqKU5VTEwpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxMTQ6Ci0jbGluZSAxMDEzICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDEwMTYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gbWFrZV9pZl9jb21tYW5kICgoeXl2c3BbKDIpIC0gKDYpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg2KV0uY29tbWFuZCksICh5eXZzcFsoNikgLSAoNildLmNvbW1hbmQpKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTE1OgotI2xpbmUgMTAxNSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMDE4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9IG1ha2VfaWZfY29tbWFuZCAoKHl5dnNwWygyKSAtICg1KV0uY29tbWFuZCksICh5eXZzcFsoNCkgLSAoNSldLmNvbW1hbmQpLCAoeXl2c3BbKDUpIC0gKDUpXS5jb21tYW5kKSk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDExNzoKLSNsaW5lIDEwMjAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTAyMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2c3BbKDIpIC0gKDIpXS5wYXR0ZXJuKS0+bmV4dCA9ICh5eXZzcFsoMSkgLSAoMildLnBhdHRlcm4pOyAoeXl2YWwucGF0dGVybikgPSAoeXl2c3BbKDIpIC0gKDIpXS5wYXR0ZXJuKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTE4OgotI2xpbmUgMTAyNCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMDI3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5wYXR0ZXJuKSA9IG1ha2VfcGF0dGVybl9saXN0ICgoeXl2c3BbKDIpIC0gKDQpXS53b3JkX2xpc3QpLCAoeXl2c3BbKDQpIC0gKDQpXS5jb21tYW5kKSk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDExOToKLSNsaW5lIDEwMjYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTAyOSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwucGF0dGVybikgPSBtYWtlX3BhdHRlcm5fbGlzdCAoKHl5dnNwWygyKSAtICg0KV0ud29yZF9saXN0KSwgKENPTU1BTkQgKilOVUxMKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTIwOgotI2xpbmUgMTAyOCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMDMxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5wYXR0ZXJuKSA9IG1ha2VfcGF0dGVybl9saXN0ICgoeXl2c3BbKDMpIC0gKDUpXS53b3JkX2xpc3QpLCAoeXl2c3BbKDUpIC0gKDUpXS5jb21tYW5kKSk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDEyMToKLSNsaW5lIDEwMzAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTAzMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwucGF0dGVybikgPSBtYWtlX3BhdHRlcm5fbGlzdCAoKHl5dnNwWygzKSAtICg1KV0ud29yZF9saXN0KSwgKENPTU1BTkQgKilOVUxMKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTIyOgotI2xpbmUgMTAzNCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMDM3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5wYXR0ZXJuKSA9ICh5eXZzcFsoMSkgLSAoMildLnBhdHRlcm4pOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxMjM6Ci0jbGluZSAxMDM2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDEwMzkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dnNwWygyKSAtICgzKV0ucGF0dGVybiktPm5leHQgPSAoeXl2c3BbKDEpIC0gKDMpXS5wYXR0ZXJuKTsgKHl5dmFsLnBhdHRlcm4pID0gKHl5dnNwWygyKSAtICgzKV0ucGF0dGVybik7IH0KICAgICBicmVhazsKIAogICBjYXNlIDEyNDoKLSNsaW5lIDEwMzggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTA0MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2c3BbKDEpIC0gKDIpXS5wYXR0ZXJuKS0+ZmxhZ3MgfD0gQ0FTRVBBVF9GQUxMVEhST1VHSDsgKHl5dmFsLnBhdHRlcm4pID0gKHl5dnNwWygxKSAtICgyKV0ucGF0dGVybik7IH0KICAgICBicmVhazsKIAogICBjYXNlIDEyNToKLSNsaW5lIDEwNDAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTA0MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2c3BbKDIpIC0gKDMpXS5wYXR0ZXJuKS0+ZmxhZ3MgfD0gQ0FTRVBBVF9GQUxMVEhST1VHSDsgKHl5dnNwWygyKSAtICgzKV0ucGF0dGVybiktPm5leHQgPSAoeXl2c3BbKDEpIC0gKDMpXS5wYXR0ZXJuKTsgKHl5dmFsLnBhdHRlcm4pID0gKHl5dnNwWygyKSAtICgzKV0ucGF0dGVybik7IH0KICAgICBicmVhazsKIAogICBjYXNlIDEyNjoKLSNsaW5lIDEwNDIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTA0NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2c3BbKDEpIC0gKDIpXS5wYXR0ZXJuKS0+ZmxhZ3MgfD0gQ0FTRVBBVF9URVNUTkVYVDsgKHl5dmFsLnBhdHRlcm4pID0gKHl5dnNwWygxKSAtICgyKV0ucGF0dGVybik7IH0KICAgICBicmVhazsKIAogICBjYXNlIDEyNzoKLSNsaW5lIDEwNDQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTA0NyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2c3BbKDIpIC0gKDMpXS5wYXR0ZXJuKS0+ZmxhZ3MgfD0gQ0FTRVBBVF9URVNUTkVYVDsgKHl5dnNwWygyKSAtICgzKV0ucGF0dGVybiktPm5leHQgPSAoeXl2c3BbKDEpIC0gKDMpXS5wYXR0ZXJuKTsgKHl5dmFsLnBhdHRlcm4pID0gKHl5dnNwWygyKSAtICgzKV0ucGF0dGVybik7IH0KICAgICBicmVhazsKIAogICBjYXNlIDEyODoKLSNsaW5lIDEwNDggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTA1MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwud29yZF9saXN0KSA9IG1ha2Vfd29yZF9saXN0ICgoeXl2c3BbKDEpIC0gKDEpXS53b3JkKSwgKFdPUkRfTElTVCAqKU5VTEwpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxMjk6Ci0jbGluZSAxMDUwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDEwNTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLndvcmRfbGlzdCkgPSBtYWtlX3dvcmRfbGlzdCAoKHl5dnNwWygzKSAtICgzKV0ud29yZCksICh5eXZzcFsoMSkgLSAoMyldLndvcmRfbGlzdCkpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxMzA6Ci0jbGluZSAxMDU5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDEwNjIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygyKSAtICgyKV0uY29tbWFuZCk7CiAJCQkgIGlmIChuZWVkX2hlcmVfZG9jKQpAQCAtMzEyMywxNCArMzEwOCwxNCBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMTMyOgotI2xpbmUgMTA2OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMDcxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMikgLSAoMildLmNvbW1hbmQpOwogCQkJfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTM0OgotI2xpbmUgMTA3NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMDc4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgIGlmICgoeXl2c3BbKDEpIC0gKDMpXS5jb21tYW5kKS0+dHlwZSA9PSBjbV9jb25uZWN0aW9uKQogCQkJICAgICh5eXZhbC5jb21tYW5kKSA9IGNvbm5lY3RfYXN5bmNfbGlzdCAoKHl5dnNwWygxKSAtICgzKV0uY29tbWFuZCksIChDT01NQU5EICopTlVMTCwgJyYnKTsKQEAgLTMxNDAsMTcgKzMxMjUsMTcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDEzNjoKLSNsaW5lIDEwODYgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTA4OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBjb21tYW5kX2Nvbm5lY3QgKCh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDQpXS5jb21tYW5kKSwgQU5EX0FORCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDEzNzoKLSNsaW5lIDEwODggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTA5MSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBjb21tYW5kX2Nvbm5lY3QgKCh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDQpXS5jb21tYW5kKSwgT1JfT1IpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxMzg6Ci0jbGluZSAxMDkwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDEwOTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgaWYgKCh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLT50eXBlID09IGNtX2Nvbm5lY3Rpb24pCiAJCQkgICAgKHl5dmFsLmNvbW1hbmQpID0gY29ubmVjdF9hc3luY19saXN0ICgoeXl2c3BbKDEpIC0gKDQpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg0KV0uY29tbWFuZCksICcmJyk7CkBAIC0zMTYwLDM3ICszMTQ1LDM3IEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAxMzk6Ci0jbGluZSAxMDk3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDExMDAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gY29tbWFuZF9jb25uZWN0ICgoeXl2c3BbKDEpIC0gKDQpXS5jb21tYW5kKSwgKHl5dnNwWyg0KSAtICg0KV0uY29tbWFuZCksICc7Jyk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDE0MDoKLSNsaW5lIDEwOTkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTEwMiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBjb21tYW5kX2Nvbm5lY3QgKCh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDQpXS5jb21tYW5kKSwgJzsnKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTQxOgotI2xpbmUgMTEwMSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMTA0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxNDQ6Ci0jbGluZSAxMTA5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDExMTIgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLm51bWJlcikgPSAnXG4nOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxNDU6Ci0jbGluZSAxMTExICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDExMTQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLm51bWJlcikgPSAnOyc7IH0KICAgICBicmVhazsKIAogICBjYXNlIDE0NjoKLSNsaW5lIDExMTMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTExNiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwubnVtYmVyKSA9IHlhY2NfRU9GOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxNDk6Ci0jbGluZSAxMTI3ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDExMzAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgKHl5dmFsLmNvbW1hbmQpID0gKHl5dnNwWygxKSAtICgxKV0uY29tbWFuZCk7CiAJCQkgIGlmIChuZWVkX2hlcmVfZG9jKQpAQCAtMzIwNiw3ICszMTkxLDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDE1MDoKLSNsaW5lIDExNDAgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTE0MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBpZiAoKHl5dnNwWygxKSAtICgyKV0uY29tbWFuZCktPnR5cGUgPT0gY21fY29ubmVjdGlvbikKIAkJCSAgICAoeXl2YWwuY29tbWFuZCkgPSBjb25uZWN0X2FzeW5jX2xpc3QgKCh5eXZzcFsoMSkgLSAoMildLmNvbW1hbmQpLCAoQ09NTUFORCAqKU5VTEwsICcmJyk7CkBAIC0zMjI1LDcgKzMyMTAsNyBAQAogICAgIGJyZWFrOwogCiAgIGNhc2UgMTUxOgotI2xpbmUgMTE1NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMTU5ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7CiAJCQkgICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMildLmNvbW1hbmQpOwogCQkJICBpZiAobmVlZF9oZXJlX2RvYykKQEAgLTMyNDEsMTcgKzMyMjYsMTcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDE1MjoKLSNsaW5lIDExNzEgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTE3NCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBjb21tYW5kX2Nvbm5lY3QgKCh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDQpXS5jb21tYW5kKSwgQU5EX0FORCk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDE1MzoKLSNsaW5lIDExNzMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTE3NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBjb21tYW5kX2Nvbm5lY3QgKCh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDQpXS5jb21tYW5kKSwgT1JfT1IpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxNTQ6Ci0jbGluZSAxMTc1ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDExNzggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgaWYgKCh5eXZzcFsoMSkgLSAoMyldLmNvbW1hbmQpLT50eXBlID09IGNtX2Nvbm5lY3Rpb24pCiAJCQkgICAgKHl5dmFsLmNvbW1hbmQpID0gY29ubmVjdF9hc3luY19saXN0ICgoeXl2c3BbKDEpIC0gKDMpXS5jb21tYW5kKSwgKHl5dnNwWygzKSAtICgzKV0uY29tbWFuZCksICcmJyk7CkBAIC0zMjYxLDMxICszMjQ2LDMxIEBACiAgICAgYnJlYWs7CiAKICAgY2FzZSAxNTU6Ci0jbGluZSAxMTgyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDExODUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsgKHl5dmFsLmNvbW1hbmQpID0gY29tbWFuZF9jb25uZWN0ICgoeXl2c3BbKDEpIC0gKDMpXS5jb21tYW5kKSwgKHl5dnNwWygzKSAtICgzKV0uY29tbWFuZCksICc7Jyk7IH0KICAgICBicmVhazsKIAogICBjYXNlIDE1NjoKLSNsaW5lIDExODUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTE4OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDEpIC0gKDEpXS5jb21tYW5kKTsgfQogICAgIGJyZWFrOwogCiAgIGNhc2UgMTU3OgotI2xpbmUgMTE4OSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMTkyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKICAgY2FzZSAxNTg6Ci0jbGluZSAxMTkxICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDExOTQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgogICAgIHsKIAkJCSAgaWYgKCh5eXZzcFsoMikgLSAoMildLmNvbW1hbmQpKQotCQkJICAgICh5eXZzcFsoMikgLSAoMildLmNvbW1hbmQpLT5mbGFncyB8PSBDTURfSU5WRVJUX1JFVFVSTjsKKwkJCSAgICAoeXl2c3BbKDIpIC0gKDIpXS5jb21tYW5kKS0+ZmxhZ3MgXj0gQ01EX0lOVkVSVF9SRVRVUk47CS8qIHRvZ2dsZSAqLwogCQkJICAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDIpIC0gKDIpXS5jb21tYW5kKTsKIAkJCX0KICAgICBicmVhazsKIAogICBjYXNlIDE1OToKLSNsaW5lIDExOTcgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTIwMCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBpZiAoKHl5dnNwWygyKSAtICgyKV0uY29tbWFuZCkpCiAJCQkgICAgKHl5dnNwWygyKSAtICgyKV0uY29tbWFuZCktPmZsYWdzIHw9ICh5eXZzcFsoMSkgLSAoMildLm51bWJlcik7CkBAIC0zMjk0LDI1ICszMjc5LDcgQEAKICAgICBicmVhazsKIAogICBjYXNlIDE2MDoKLSNsaW5lIDEyMDMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgotICAgIHsKLQkJCSAgaWYgKCh5eXZzcFsoMykgLSAoMyldLmNvbW1hbmQpKQotCQkJICAgICh5eXZzcFsoMykgLSAoMyldLmNvbW1hbmQpLT5mbGFncyB8PSAoeXl2c3BbKDEpIC0gKDMpXS5udW1iZXIpfENNRF9JTlZFUlRfUkVUVVJOOwotCQkJICAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDMpIC0gKDMpXS5jb21tYW5kKTsKLQkJCX0KLSAgICBicmVhazsKLQotICBjYXNlIDE2MToKLSNsaW5lIDEyMDkgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgotICAgIHsKLQkJCSAgaWYgKCh5eXZzcFsoMykgLSAoMyldLmNvbW1hbmQpKQotCQkJICAgICh5eXZzcFsoMykgLSAoMyldLmNvbW1hbmQpLT5mbGFncyB8PSAoeXl2c3BbKDIpIC0gKDMpXS5udW1iZXIpfENNRF9JTlZFUlRfUkVUVVJOOwotCQkJICAoeXl2YWwuY29tbWFuZCkgPSAoeXl2c3BbKDMpIC0gKDMpXS5jb21tYW5kKTsKLQkJCX0KLSAgICBicmVhazsKLQotICBjYXNlIDE2MjoKLSNsaW5lIDEyMTUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTIwNiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICBFTEVNRU5UIHg7CiAKQEAgLTMzMzEsMTMgKzMyOTgsMzQgQEAKIAkJCX0KICAgICBicmVhazsKIAotICBjYXNlIDE2MzoKLSNsaW5lIDEyMzUgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICBjYXNlIDE2MToKKyNsaW5lIDEyMjMgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsKKwkJCSAgRUxFTUVOVCB4OworCisJCQkgIC8qIFRoaXMgaXMganVzdCBhcyB1bmNsZWFuLiAgUG9zaXggc2F5cyB0aGF0IGAhJworCQkJICAgICBieSBpdHNlbGYgc2hvdWxkIGJlIGVxdWl2YWxlbnQgdG8gYGZhbHNlJy4KKwkJCSAgICAgV2UgY2hlYXQgYW5kIHB1c2ggYQorCQkJICAgICBuZXdsaW5lIGJhY2sgaWYgdGhlIGxpc3RfdGVybWluYXRvciB3YXMgYSBuZXdsaW5lCisJCQkgICAgIHRvIGF2b2lkIHRoZSBkb3VibGUtbmV3bGluZSBwcm9ibGVtIChvbmUgdG8KKwkJCSAgICAgdGVybWluYXRlIHRoaXMsIG9uZSB0byB0ZXJtaW5hdGUgdGhlIGNvbW1hbmQpICovCisJCQkgIHgud29yZCA9IDA7CisJCQkgIHgucmVkaXJlY3QgPSAwOworCQkJICAoeXl2YWwuY29tbWFuZCkgPSBtYWtlX3NpbXBsZV9jb21tYW5kICh4LCAoQ09NTUFORCAqKU5VTEwpOworCQkJICAoeXl2YWwuY29tbWFuZCktPmZsYWdzIHw9IENNRF9JTlZFUlRfUkVUVVJOOworCQkJICAvKiBYWFggLSBsZXQncyBjaGVhdCBhbmQgcHVzaCBhIG5ld2xpbmUgYmFjayAqLworCQkJICBpZiAoKHl5dnNwWygyKSAtICgyKV0ubnVtYmVyKSA9PSAnXG4nKQorCQkJICAgIHRva2VuX3RvX3JlYWQgPSAnXG4nOworCQkJfQorICAgIGJyZWFrOworCisgIGNhc2UgMTYyOgorI2xpbmUgMTI0MyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgeyAoeXl2YWwuY29tbWFuZCkgPSBjb21tYW5kX2Nvbm5lY3QgKCh5eXZzcFsoMSkgLSAoNCldLmNvbW1hbmQpLCAoeXl2c3BbKDQpIC0gKDQpXS5jb21tYW5kKSwgJ3wnKTsgfQogICAgIGJyZWFrOwogCi0gIGNhc2UgMTY0OgotI2xpbmUgMTIzNyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisgIGNhc2UgMTYzOgorI2xpbmUgMTI0NSAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAgICAgewogCQkJICAvKiBNYWtlIGNtZDEgfCYgY21kMiBlcXVpdmFsZW50IHRvIGNtZDEgMj4mMSB8IGNtZDIgKi8KIAkJCSAgQ09NTUFORCAqdGM7CkBAIC0zMzYyLDI0ICszMzUwLDI5IEBACiAJCQl9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxNjU6Ci0jbGluZSAxMjYwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxNjQ6CisjbGluZSAxMjY4ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5jb21tYW5kKSA9ICh5eXZzcFsoMSkgLSAoMSldLmNvbW1hbmQpOyB9CiAgICAgYnJlYWs7CiAKLSAgY2FzZSAxNjY6Ci0jbGluZSAxMjY0ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyAgY2FzZSAxNjU6CisjbGluZSAxMjcyICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5udW1iZXIpID0gQ01EX1RJTUVfUElQRUxJTkU7IH0KICAgICBicmVhazsKIAorICBjYXNlIDE2NjoKKyNsaW5lIDEyNzQgIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorICAgIHsgKHl5dmFsLm51bWJlcikgPSBDTURfVElNRV9QSVBFTElORXxDTURfVElNRV9QT1NJWDsgfQorICAgIGJyZWFrOworCiAgIGNhc2UgMTY3OgotI2xpbmUgMTI2NiAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCisjbGluZSAxMjc2ICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKICAgICB7ICh5eXZhbC5udW1iZXIpID0gQ01EX1RJTUVfUElQRUxJTkV8Q01EX1RJTUVfUE9TSVg7IH0KICAgICBicmVhazsKIAogCiAvKiBMaW5lIDEyNjcgb2YgeWFjYy5jLiAgKi8KLSNsaW5lIDMzODMgInkudGFiLmMiCisjbGluZSAzMzc2ICJ5LnRhYi5jIgogICAgICAgZGVmYXVsdDogYnJlYWs7CiAgICAgfQogICBZWV9TWU1CT0xfUFJJTlQgKCItPiAkJCA9IiwgeXlyMVt5eW5dLCAmeXl2YWwsICZ5eWxvYyk7CkBAIC0zNTkzLDcgKzM1ODYsNyBAQAogfQogCiAKLSNsaW5lIDEyNjggIi9Vc2Vycy9jaGV0L3NyYy9iYXNoL3NyYy9wYXJzZS55IgorI2xpbmUgMTI3OCAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiAKIAogLyogSW5pdGlhbCBzaXplIHRvIGFsbG9jYXRlIGZvciB0b2tlbnMsIGFuZCB0aGUKQEAgLTM3NTEsMTEgKzM3NDQsMTEgQEAKIAlnaXZlX3Rlcm1pbmFsX3RvIChzaGVsbF9wZ3JwLCAwKTsKICNlbmRpZiAvKiBKT0JfQ09OVFJPTCAqLwogCi0gICAgICBvbGRfc2lnaW50ID0gKFNpZ0hhbmRsZXIgKilOVUxMOworICAgICAgb2xkX3NpZ2ludCA9IChTaWdIYW5kbGVyICopSU1QT1NTSUJMRV9UUkFQX0hBTkRMRVI7CiAgICAgICBpZiAoc2lnbmFsX2lzX2lnbm9yZWQgKFNJR0lOVCkgPT0gMCkKIAl7Ci0JICBvbGRfc2lnaW50ID0gKFNpZ0hhbmRsZXIgKilzZXRfc2lnbmFsX2hhbmRsZXIgKFNJR0lOVCwgc2lnaW50X3NpZ2hhbmRsZXIpOwogCSAgaW50ZXJydXB0X2ltbWVkaWF0ZWx5Kys7CisJICBvbGRfc2lnaW50ID0gKFNpZ0hhbmRsZXIgKilzZXRfc2lnbmFsX2hhbmRsZXIgKFNJR0lOVCwgc2lnaW50X3NpZ2hhbmRsZXIpOwogCX0KICAgICAgIHRlcm1pbmF0ZV9pbW1lZGlhdGVseSA9IDE7CiAKQEAgLTM3NjMsMTAgKzM3NTYsMTEgQEAKICAgICAgIAkJCQkJICBjdXJyZW50X3JlYWRsaW5lX3Byb21wdCA6ICIiKTsKIAogICAgICAgdGVybWluYXRlX2ltbWVkaWF0ZWx5ID0gMDsKLSAgICAgIGlmIChzaWduYWxfaXNfaWdub3JlZCAoU0lHSU5UKSA9PSAwICYmIG9sZF9zaWdpbnQpCisgICAgICBpZiAoc2lnbmFsX2lzX2lnbm9yZWQgKFNJR0lOVCkgPT0gMCkKIAl7CiAJICBpbnRlcnJ1cHRfaW1tZWRpYXRlbHktLTsKLQkgIHNldF9zaWduYWxfaGFuZGxlciAoU0lHSU5ULCBvbGRfc2lnaW50KTsKKwkgIGlmIChvbGRfc2lnaW50ICE9IElNUE9TU0lCTEVfVFJBUF9IQU5ETEVSKQorCSAgICBzZXRfc2lnbmFsX2hhbmRsZXIgKFNJR0lOVCwgb2xkX3NpZ2ludCk7CiAJfQogCiAjaWYgMApAQCAtMzk2NSw2ICszOTU5LDkgQEAKIC8qIFRoZSBnbG9iYWxseSBrbm93biBsaW5lIG51bWJlci4gKi8KIGludCBsaW5lX251bWJlciA9IDA7CiAKKy8qIFRoZSBsaW5lIG51bWJlciBvZmZzZXQgc2V0IGJ5IGFzc2lnbmluZyB0byBMSU5FTk8uICBOb3QgY3VycmVudGx5IHVzZWQuICovCitpbnQgbGluZV9udW1iZXJfYmFzZSA9IDA7CisKICNpZiBkZWZpbmVkIChDT05EX0NPTU1BTkQpCiBzdGF0aWMgaW50IGNvbmRfbGluZW5vOwogc3RhdGljIGludCBjb25kX3Rva2VuOwpAQCAtNDI4Niw2ICs0MjgzLDcgQEAKIAl9CiAgICAgICBlbHNlIGlmIChjID09ICdcXCcgJiYgcmVtb3ZlX3F1b3RlZF9uZXdsaW5lKQogCXsKKwkgIFFVSVQ7CiAJICBwZWVrYyA9IHl5X2dldGMgKCk7CiAJICBpZiAocGVla2MgPT0gJ1xuJykKIAkgICAgewpAQCAtNDM4Nyw2ICs0Mzg1LDcgQEAKIC8qIG90aGVyIHRva2VucyB0aGF0IGNhbiBiZSByZXR1cm5lZCBieSByZWFkX3Rva2VuKCkgKi8KIFNUUklOR19JTlRfQUxJU1Qgb3RoZXJfdG9rZW5fYWxpc3RbXSA9IHsKICAgLyogTXVsdGlwbGUtY2hhcmFjdGVyIHRva2VucyB3aXRoIHNwZWNpYWwgdmFsdWVzICovCisgIHsgIi0tIiwgVElNRUlHTiB9LAogICB7ICItcCIsIFRJTUVPUFQgfSwKICAgeyAiJiYiLCBBTkRfQU5EIH0sCiAgIHsgInx8IiwgT1JfT1IgfSwKQEAgLTQ2MDcsNyArNDYwNiw3IEBACiAJICAgICAgc2hlbGxfaW5wdXRfbGluZSA9IGV4cGFuc2lvbnM7CiAJICAgICAgc2hlbGxfaW5wdXRfbGluZV9sZW4gPSBzaGVsbF9pbnB1dF9saW5lID8KIAkJCQkJc3RybGVuIChzaGVsbF9pbnB1dF9saW5lKSA6IDA7Ci0JICAgICAgaWYgKCFzaGVsbF9pbnB1dF9saW5lX2xlbikKKwkgICAgICBpZiAoc2hlbGxfaW5wdXRfbGluZV9sZW4gPT0gMCkKIAkJY3VycmVudF9jb21tYW5kX2xpbmVfY291bnQtLTsKIAogCSAgICAgIC8qIFdlIGhhdmUgdG8gZm9yY2UgdGhlIHhyZWFsbG9jIGJlbG93IGJlY2F1c2Ugd2UgZG9uJ3Qga25vdwpAQCAtNDYzMiw3ICs0NjMxLDcgQEAKIAkgIGVsc2UKIAkgICAgewogCSAgICAgIGNoYXIgKmhkY3M7Ci0JICAgICAgaGRjcyA9IGhpc3RvcnlfZGVsaW1pdGluZ19jaGFycyAoKTsKKwkgICAgICBoZGNzID0gaGlzdG9yeV9kZWxpbWl0aW5nX2NoYXJzIChzaGVsbF9pbnB1dF9saW5lKTsKIAkgICAgICBpZiAoaGRjcyAmJiBoZGNzWzBdID09ICc7JykKIAkJbWF5YmVfYWRkX2hpc3RvcnkgKHNoZWxsX2lucHV0X2xpbmUpOwogCSAgICB9CkBAIC00NjcyLDYgKzQ2NzEsNyBAQAogCX0KICAgICB9CiAKK25leHRfYWxpYXNfY2hhcjoKICAgdWMgPSBzaGVsbF9pbnB1dF9saW5lW3NoZWxsX2lucHV0X2xpbmVfaW5kZXhdOwogCiAgIGlmICh1YykKQEAgLTQ2ODQsNyArNDY4NCw3IEBACiAgICAgIERvIGl0IHRyYW5zcGFyZW50bHk7IGp1c3QgcmV0dXJuIHRoZSBuZXh0IGNoYXJhY3RlciBvZiB0aGUgc3RyaW5nIHBvcHBlZAogICAgICB0by4gKi8KIHBvcF9hbGlhczoKLSAgaWYgKCF1YyAmJiAocHVzaGVkX3N0cmluZ19saXN0ICE9IChTVFJJTkdfU0FWRVIgKilOVUxMKSkKKyAgaWYgKHVjID09IDAgJiYgKHB1c2hlZF9zdHJpbmdfbGlzdCAhPSAoU1RSSU5HX1NBVkVSICopTlVMTCkpCiAgICAgewogICAgICAgcG9wX3N0cmluZyAoKTsKICAgICAgIHVjID0gc2hlbGxfaW5wdXRfbGluZVtzaGVsbF9pbnB1dF9saW5lX2luZGV4XTsKQEAgLTQ2OTgsMjEgKzQ2OTgsMjggQEAKIAlpZiAoU0hPVUxEX1BST01QVCAoKSkKIAkgIHByb21wdF9hZ2FpbiAoKTsKIAlsaW5lX251bWJlcisrOwotCS8qIFhYWCAtIHdoYXQgZG8gd2UgZG8gaGVyZSBpZiB3ZSdyZSBleHBhbmRpbmcgYW4gYWxpYXMgd2hvc2UgZGVmaW5pdGlvbgotCSAgIGVuZHMgd2l0aCBhIG5ld2xpbmU/ICBSZWNhbGwgdGhhdCB3ZSBpbmhpYml0IHRoZSBhcHBlbmRpbmcgb2YgYQotCSAgIHNwYWNlIGluIG1rX2FsZXhwYW5zaW9uKCkgaWYgbmV3bGluZSBpcyB0aGUgbGFzdCBjaGFyYWN0ZXIuICovCi0jaWYgMAkvKiBYWFggLSBiYXNoLTQuMiAoam9uYXRoYW5AY2xhZ2dldHQub3JnKSAqLworCS8qIFdoYXQgZG8gd2UgZG8gaGVyZSBpZiB3ZSdyZSBleHBhbmRpbmcgYW4gYWxpYXMgd2hvc2UgZGVmaW5pdGlvbgorCSAgIGluY2x1ZGVzIGFuIGVzY2FwZWQgbmV3bGluZT8gIElmIHRoYXQncyB0aGUgbGFzdCBjaGFyYWN0ZXIgaW4gdGhlCisJICAgYWxpYXMgZXhwYW5zaW9uLCB3ZSBqdXN0IHBvcCB0aGUgcHVzaGVkIHN0cmluZyBsaXN0IChyZWNhbGwgdGhhdAorCSAgIHdlIGluaGliaXQgdGhlIGFwcGVuZGluZyBvZiBhIHNwYWNlIGluIG1rX2FsZXhwYW5zaW9uKCkgaWYgbmV3bGluZQorCSAgIGlzIHRoZSBsYXN0IGNoYXJhY3RlcikuICBJZiBpdCdzIG5vdCB0aGUgbGFzdCBjaGFyYWN0ZXIsIHdlIG5lZWQKKwkgICB0byBjb25zdW1lIHRoZSBxdW90ZWQgbmV3bGluZSBhbmQgbW92ZSB0byB0aGUgbmV4dCBjaGFyYWN0ZXIgaW4KKwkgICB0aGUgZXhwYW5zaW9uLiAqLwogCWlmIChleHBhbmRpbmdfYWxpYXMgKCkgJiYgc2hlbGxfaW5wdXRfbGluZVtzaGVsbF9pbnB1dF9saW5lX2luZGV4KzFdID09ICdcMCcpCiAJICB7CiAJICAgIHVjID0gMDsKIAkgICAgZ290byBwb3BfYWxpYXM7CiAJICB9Ci0jZW5kaWYKLQkgIAotCWdvdG8gcmVzdGFydF9yZWFkOworCWVsc2UgaWYgKGV4cGFuZGluZ19hbGlhcyAoKSAmJiBzaGVsbF9pbnB1dF9saW5lW3NoZWxsX2lucHV0X2xpbmVfaW5kZXgrMV0gIT0gJ1wwJykKKwkgIHsKKwkgICAgc2hlbGxfaW5wdXRfbGluZV9pbmRleCsrOwkvKiBza2lwIG5ld2xpbmUgKi8KKwkgICAgZ290byBuZXh0X2FsaWFzX2NoYXI7CS8qIGFuZCBnZXQgbmV4dCBjaGFyYWN0ZXIgKi8KKwkgIH0KKwllbHNlCSAgICAKKwkgIGdvdG8gcmVzdGFydF9yZWFkOwogICAgIH0KIAotICBpZiAoIXVjICYmIHNoZWxsX2lucHV0X2xpbmVfdGVybWluYXRvciA9PSBFT0YpCisgIGlmICh1YyA9PSAwICYmIHNoZWxsX2lucHV0X2xpbmVfdGVybWluYXRvciA9PSBFT0YpCiAgICAgcmV0dXJuICgoc2hlbGxfaW5wdXRfbGluZV9pbmRleCAhPSAwKSA/ICdcbicgOiBFT0YpOwogCiAgIHJldHVybiAodWMpOwpAQCAtNDkxOSwxMSArNDkyNiw5IEBACiAgIGwgPSBzdHJsZW4gKHMpOwogICByID0geG1hbGxvYyAobCArIDIpOwogICBzdHJjcHkgKHIsIHMpOwotI2lmIDAJCS8qIFhYWCAtIGJhc2gtNC4yICovCi0gIGlmIChyW2wgLTFdICE9ICcgJyAmJiByW2wgLTFdICE9ICdcbicpCi0jZWxzZQotICBpZiAocltsIC0xXSAhPSAnICcpCi0jZW5kaWYKKyAgLyogSWYgdGhlIGxhc3QgY2hhcmFjdGVyIGluIHRoZSBhbGlhcyBpcyBhIG5ld2xpbmUsIGRvbid0IGFkZCBhIHRyYWlsaW5nCisgICAgIHNwYWNlIHRvIHRoZSBleHBhbnNpb24uICBXb3JrcyB3aXRoIHNoZWxsX2dldGMgYWJvdmUuICovCisgIGlmIChyW2wgLSAxXSAhPSAnICcgJiYgcltsIC0gMV0gIT0gJ1xuJykKICAgICByW2wrK10gPSAnICc7CiAgIHJbbF0gPSAnXDAnOwogICByZXR1cm4gcjsKQEAgLTQ5NjgsNiArNDk3MywyMCBAQAogdGltZV9jb21tYW5kX2FjY2VwdGFibGUgKCkKIHsKICNpZiBkZWZpbmVkIChDT01NQU5EX1RJTUlORykKKyAgaW50IGk7CisKKyAgaWYgKHBvc2l4bHlfY29ycmVjdCAmJiBzaGVsbF9jb21wYXRpYmlsaXR5X2xldmVsID4gNDEpCisgICAgeworICAgICAgLyogUXVpY2sgY2hlY2sgb2YgdGhlIHJlc3Qgb2YgdGhlIGxpbmUgdG8gZmluZCB0aGUgbmV4dCB0b2tlbi4gIElmIGl0CisJIGJlZ2lucyB3aXRoIGEgYC0nLCBQb3NpeCBzYXlzIHRvIG5vdCByZXR1cm4gYHRpbWUnIGFzIHRoZSB0b2tlbi4KKwkgVGhpcyB3YXMgaW50ZXJwIDI2Ny4gKi8KKyAgICAgIGkgPSBzaGVsbF9pbnB1dF9saW5lX2luZGV4OworICAgICAgd2hpbGUgKGkgPCBzaGVsbF9pbnB1dF9saW5lX2xlbiAmJiAoc2hlbGxfaW5wdXRfbGluZVtpXSA9PSAnICcgfHwgc2hlbGxfaW5wdXRfbGluZVtpXSA9PSAnXHQnKSkKKyAgICAgICAgaSsrOworICAgICAgaWYgKHNoZWxsX2lucHV0X2xpbmVbaV0gPT0gJy0nKQorCXJldHVybiAwOworICAgIH0KKwogICBzd2l0Y2ggKGxhc3RfcmVhZF90b2tlbikKICAgICB7CiAgICAgY2FzZSAwOgpAQCAtNDk4MSw2ICs1MDAwLDEwIEBACiAgICAgY2FzZSBFTFNFOgogICAgIGNhc2UgJ3snOgkJLyogfSAqLwogICAgIGNhc2UgJygnOgkJLyogKSAqLworICAgIGNhc2UgQkFORzoJCS8qICEgdGltZSBwaXBlbGluZSAqLworICAgIGNhc2UgVElNRToJCS8qIHRpbWUgdGltZSBwaXBlbGluZSAqLworICAgIGNhc2UgVElNRU9QVDoJLyogdGltZSAtcCB0aW1lIHBpcGVsaW5lICovCisgICAgY2FzZSBUSU1FSUdOOgkvKiB0aW1lIC1wIC0tIC4uLiAqLwogICAgICAgcmV0dXJuIDE7CiAgICAgZGVmYXVsdDoKICAgICAgIHJldHVybiAwOwpAQCAtNTAwNyw2ICs1MDMwLDcgQEAKIAlgfScgaXMgcmVjb2duaXplZCBpZiB0aGVyZSBpcyBhbiB1bmNsb3NlZCBgeycgcHJlc2VudC4KIAogCWAtcCcgaXMgcmV0dXJuZWQgYXMgVElNRU9QVCBpZiB0aGUgbGFzdCByZWFkIHRva2VuIHdhcyBUSU1FLgorCWAtLScgaXMgcmV0dXJuZWQgYXMgVElNRUlHTiBpZiB0aGUgbGFzdCByZWFkIHRva2VuIHdhcyBUSU1FT1BULgogCiAJJ11dJyBpcyByZXR1cm5lZCBhcyBDT05EX0VORCBpZiB0aGUgcGFyc2VyIGlzIGN1cnJlbnRseSBwYXJzaW5nCiAJYSBjb25kaXRpb25hbCBleHByZXNzaW9uICgocGFyc2VyX3N0YXRlICYgUFNUX0NPTkRFWFBSKSAhPSAwKQpAQCAtNTA5MiwxMyArNTExNiw5IEBACiAgIC8qIEhhbmRsZSAtcCBhZnRlciBgdGltZScuICovCiAgIGlmIChsYXN0X3JlYWRfdG9rZW4gPT0gVElNRSAmJiB0b2tzdHJbMF0gPT0gJy0nICYmIHRva3N0clsxXSA9PSAncCcgJiYgIXRva3N0clsyXSkKICAgICByZXR1cm4gKFRJTUVPUFQpOwotI2VuZGlmCi0KLSNpZiAwCi0jaWYgZGVmaW5lZCAoQ09NTUFORF9USU1JTkcpCi0gIGlmIChTVFJFUSAodG9rZW4sICJ0aW1lIikgJiYgKChwYXJzZXJfc3RhdGUgJiBQU1RfQ0FTRVBBVCkgPT0gMCkgJiYgdGltZV9jb21tYW5kX2FjY2VwdGFibGUgKCkpCi0gICAgcmV0dXJuIChUSU1FKTsKLSNlbmRpZiAvKiBDT01NQU5EX1RJTUlORyAqLworICAvKiBIYW5kbGUgLS0gYWZ0ZXIgYHRpbWUgLXAnLiAqLworICBpZiAobGFzdF9yZWFkX3Rva2VuID09IFRJTUVPUFQgJiYgdG9rc3RyWzBdID09ICctJyAmJiB0b2tzdHJbMV0gPT0gJy0nICYmICF0b2tzdHJbMl0pCisgICAgcmV0dXJuIChUSU1FSUdOKTsKICNlbmRpZgogCiAjaWYgZGVmaW5lZCAoQ09ORF9DT01NQU5EKSAvKiBbWyAqLwpAQCAtNTM4MywxMiArNTQwMywxMyBAQAogICogcmVwcm9tcHRpbmcgdGhlIHVzZXIsIGlmIG5lY2Vzc2FyeSwgYWZ0ZXIgcmVhZGluZyBhIG5ld2xpbmUsIGFuZCByZXR1cm5pbmcKICAqIGNvcnJlY3QgZXJyb3IgdmFsdWVzIGlmIGl0IHJlYWRzIEVPRi4KICAqLwotI2RlZmluZSBQX0ZJUlNUQ0xPU0UJMHgwMQotI2RlZmluZSBQX0FMTE9XRVNDCTB4MDIKLSNkZWZpbmUgUF9EUVVPVEUJMHgwNAotI2RlZmluZSBQX0NPTU1BTkQJMHgwOAkvKiBwYXJzaW5nIGEgY29tbWFuZCwgc28gbG9vayBmb3IgY29tbWVudHMgKi8KLSNkZWZpbmUgUF9CQUNLUVVPVEUJMHgxMAkvKiBwYXJzaW5nIGEgYmFja3F1b3RlZCBjb21tYW5kIHN1YnN0aXR1dGlvbiAqLwotI2RlZmluZSBQX0FSUkFZU1VCCTB4MjAJLyogcGFyc2luZyBhIFsuLi5dIGFycmF5IHN1YnNjcmlwdCBmb3IgYXNzaWdubWVudCAqLworI2RlZmluZSBQX0ZJUlNUQ0xPU0UJMHgwMDAxCisjZGVmaW5lIFBfQUxMT1dFU0MJMHgwMDAyCisjZGVmaW5lIFBfRFFVT1RFCTB4MDAwNAorI2RlZmluZSBQX0NPTU1BTkQJMHgwMDA4CS8qIHBhcnNpbmcgYSBjb21tYW5kLCBzbyBsb29rIGZvciBjb21tZW50cyAqLworI2RlZmluZSBQX0JBQ0tRVU9URQkweDAwMTAJLyogcGFyc2luZyBhIGJhY2txdW90ZWQgY29tbWFuZCBzdWJzdGl0dXRpb24gKi8KKyNkZWZpbmUgUF9BUlJBWVNVQgkweDAwMjAJLyogcGFyc2luZyBhIFsuLi5dIGFycmF5IHN1YnNjcmlwdCBmb3IgYXNzaWdubWVudCAqLworI2RlZmluZSBQX0RPTEJSQUNFCTB4MDA0MAkvKiBwYXJzaW5nIGEgJHsuLi59IGNvbnN0cnVjdCAqLwogCiAvKiBMZXhpY2FsIHN0YXRlIHdoaWxlIHBhcnNpbmcgYSBncm91cGluZyBjb25zdHJ1Y3Qgb3IgJCguLi4pLiAqLwogI2RlZmluZSBMRVhfV0FTRE9MCTB4MDAxCkBAIC01NDM2LDYgKzU0NTcsOSBAQAogICBpbnQgbmVzdGxlbiwgdHRyYW5zbGVuLCBzdGFydF9saW5lbm87CiAgIGNoYXIgKnJldCwgKm5lc3RyZXQsICp0dHJhbnM7CiAgIGludCByZXRpbmQsIHJldHNpemUsIHJmbGFnczsKKyAgaW50IGRvbGJyYWNlX3N0YXRlOworCisgIGRvbGJyYWNlX3N0YXRlID0gKGZsYWdzICYgUF9ET0xCUkFDRSkgPyBET0xCUkFDRV9QQVJBTSA6IDA7CiAKIC8qaXRyYWNlKCJwYXJzZV9tYXRjaGVkX3BhaXJbJWRdOiBvcGVuID0gJWMgY2xvc2UgPSAlYyBmbGFncyA9ICVkIiwgbGluZV9udW1iZXIsIG9wZW4sIGNsb3NlLCBmbGFncyk7Ki8KICAgY291bnQgPSAxOwpAQCAtNTQ1Myw3ICs1NDc3LDcgQEAKICAgc3RhcnRfbGluZW5vID0gbGluZV9udW1iZXI7CiAgIHdoaWxlIChjb3VudCkKICAgICB7Ci0gICAgICBjaCA9IHNoZWxsX2dldGMgKHFjICE9ICdcJycgJiYgKHRmbGFncyAmIExFWF9QQVNTTkVYVCkgPT0gMCk7CisgICAgICBjaCA9IHNoZWxsX2dldGMgKHFjICE9ICdcJycgJiYgKHRmbGFncyAmIChMRVhfUEFTU05FWFQpKSA9PSAwKTsKIAogICAgICAgaWYgKGNoID09IEVPRikKIAl7CkBAIC01NTQ2LDE0ICs1NTcwLDQyIEBACiAgICAgICBpZiBNQlRFU1QoY2ggPT0gJ1xcJykJCQkvKiBiYWNrc2xhc2hlcyAqLwogCXRmbGFncyB8PSBMRVhfUEFTU05FWFQ7CiAKLSNpZiAwCisgICAgICAvKiBCYXNlZCBvbiB3aGljaCBkb2xzdGF0ZSBpcyBjdXJyZW50bHkgaW4gKHBhcmFtLCBvcCwgb3Igd29yZCksCisJIGRlY2lkZSB3aGF0IHRoZSBvcCBpcy4gIFdlJ3JlIHJlYWxseSBvbmx5IGNvbmNlcm5lZCBpZiBpdCdzICUgb3IKKwkgIywgc28gd2UgY2FuIHR1cm4gb24gYSBmbGFnIHRoYXQgc2F5cyB3aGV0aGVyIG9yIG5vdCB3ZSBzaG91bGQKKwkgdHJlYXQgc2luZ2xlIHF1b3RlcyBhcyBzcGVjaWFsIHdoZW4gaW5zaWRlIGEgZG91YmxlLXF1b3RlZAorCSAkey4uLn0uIFRoaXMgbG9naWMgbXVzdCBhZ3JlZSB3aXRoIHN1YnN0LmM6ZXh0cmFjdF9kb2xsYXJfYnJhY2Vfc3RyaW5nCisJIHNpbmNlIHRoZXkgc2hhcmUgdGhlIHNhbWUgZGVmaW5lcy4gKi8KKyAgICAgIGlmIChmbGFncyAmIFBfRE9MQlJBQ0UpCisgICAgICAgIHsKKyAgICAgICAgICAvKiAke3BhcmFtJVslXXdvcmR9ICovCisJICBpZiBNQlRFU1QoZG9sYnJhY2Vfc3RhdGUgPT0gRE9MQlJBQ0VfUEFSQU0gJiYgY2ggPT0gJyUnICYmIHJldGluZCA+IDEpCisJICAgIGRvbGJyYWNlX3N0YXRlID0gRE9MQlJBQ0VfUVVPVEU7CisgICAgICAgICAgLyogJHtwYXJhbSNbI113b3JkfSAqLworCSAgZWxzZSBpZiBNQlRFU1QoZG9sYnJhY2Vfc3RhdGUgPT0gRE9MQlJBQ0VfUEFSQU0gJiYgY2ggPT0gJyMnICYmIHJldGluZCA+IDEpCisJICAgIGRvbGJyYWNlX3N0YXRlID0gRE9MQlJBQ0VfUVVPVEU7CisgICAgICAgICAgLyogJHtwYXJhbS9bL11wYXQvcmVwfSAqLworCSAgZWxzZSBpZiBNQlRFU1QoZG9sYnJhY2Vfc3RhdGUgPT0gRE9MQlJBQ0VfUEFSQU0gJiYgY2ggPT0gJy8nICYmIHJldGluZCA+IDEpCisJICAgIGRvbGJyYWNlX3N0YXRlID0gRE9MQlJBQ0VfUVVPVEU7CisgICAgICAgICAgLyogJHtwYXJhbV5bXl1wYXR9ICovCisJICBlbHNlIGlmIE1CVEVTVChkb2xicmFjZV9zdGF0ZSA9PSBET0xCUkFDRV9QQVJBTSAmJiBjaCA9PSAnXicgJiYgcmV0aW5kID4gMSkKKwkgICAgZG9sYnJhY2Vfc3RhdGUgPSBET0xCUkFDRV9RVU9URTsKKyAgICAgICAgICAvKiAke3BhcmFtLFssXXBhdH0gKi8KKwkgIGVsc2UgaWYgTUJURVNUKGRvbGJyYWNlX3N0YXRlID09IERPTEJSQUNFX1BBUkFNICYmIGNoID09ICcsJyAmJiByZXRpbmQgPiAxKQorCSAgICBkb2xicmFjZV9zdGF0ZSA9IERPTEJSQUNFX1FVT1RFOworCSAgZWxzZSBpZiBNQlRFU1QoZG9sYnJhY2Vfc3RhdGUgPT0gRE9MQlJBQ0VfUEFSQU0gJiYgc3RyY2hyICgiIyVeLH46LT0/Ky8iLCBjaCkgIT0gMCkKKwkgICAgZG9sYnJhY2Vfc3RhdGUgPSBET0xCUkFDRV9PUDsKKwkgIGVsc2UgaWYgTUJURVNUKGRvbGJyYWNlX3N0YXRlID09IERPTEJSQUNFX09QICYmIHN0cmNociAoIiMlXix+Oi09PysvIiwgY2gpID09IDApCisJICAgIGRvbGJyYWNlX3N0YXRlID0gRE9MQlJBQ0VfV09SRDsKKyAgICAgICAgfQorCiAgICAgICAvKiBUaGUgYmlnIGhhbW1lci4gIFNpbmdsZSBxdW90ZXMgYXJlbid0IHNwZWNpYWwgaW4gZG91YmxlIHF1b3Rlcy4gIFRoZQotICAgICAgICAgcHJvYmxlbSBpcyB0aGF0IFBvc2l4IHNheXMgdGhlIHNpbmdsZSBxdW90ZXMgYXJlIHNlbWktc3BlY2lhbDoKKyAgICAgICAgIHByb2JsZW0gaXMgdGhhdCBQb3NpeCB1c2VkIHRvIHNheSB0aGUgc2luZ2xlIHF1b3RlcyBhcmUgc2VtaS1zcGVjaWFsOgogICAgICAgICAgd2l0aGluIGEgZG91YmxlLXF1b3RlZCAkey4uLn0gY29uc3RydWN0ICJhbiBldmVuIG51bWJlciBvZgogICAgICAgICAgdW5lc2NhcGVkIGRvdWJsZS1xdW90ZXMgb3Igc2luZ2xlLXF1b3RlcywgaWYgYW55LCBzaGFsbCBvY2N1ci4iICovCi0gICAgICBpZiBNQlRFU1Qob3BlbiA9PSAneycgJiYgKGZsYWdzICYgUF9EUVVPVEUpICYmIGNoID09ICdcJycpCS8qIH0gKi8KKyAgICAgIC8qIFRoaXMgd2FzIGNoYW5nZWQgaW4gQXVzdGluIEdyb3VwIEludGVycCAyMjEgKi8KKyAgICAgIGlmIE1CVEVTVChwb3NpeGx5X2NvcnJlY3QgJiYgc2hlbGxfY29tcGF0aWJpbGl0eV9sZXZlbCA+IDQxICYmIGRvbGJyYWNlX3N0YXRlICE9IERPTEJSQUNFX1FVT1RFICYmIChmbGFncyAmIFBfRFFVT1RFKSAmJiAoZmxhZ3MgJiBQX0RPTEJSQUNFKSAmJiBjaCA9PSAnXCcnKQogCWNvbnRpbnVlOwotI2VuZGlmCiAKICAgICAgIC8qIENvdWxkIGFsc28gY2hlY2sgb3BlbiA9PSAnYCcgaWYgd2Ugd2FudCB0byBwYXJzZSBncm91cGluZyBjb25zdHJ1Y3RzCiAJIGluc2lkZSBvbGQtc3R5bGUgY29tbWFuZCBzdWJzdGl0dXRpb24uICovCkBAIC01NjI4LDcgKzU2ODAsNyBAQAogCSAgaWYgKGNoID09ICcoJykJCS8qICkgKi8KIAkgICAgbmVzdHJldCA9IHBhcnNlX2NvbXN1YiAoMCwgJygnLCAnKScsICZuZXN0bGVuLCAocmZsYWdzfFBfQ09NTUFORCkgJiB+UF9EUVVPVEUpOwogCSAgZWxzZSBpZiAoY2ggPT0gJ3snKQkJLyogfSAqLwotCSAgICBuZXN0cmV0ID0gcGFyc2VfbWF0Y2hlZF9wYWlyICgwLCAneycsICd9JywgJm5lc3RsZW4sIFBfRklSU1RDTE9TRXxyZmxhZ3MpOworCSAgICBuZXN0cmV0ID0gcGFyc2VfbWF0Y2hlZF9wYWlyICgwLCAneycsICd9JywgJm5lc3RsZW4sIFBfRklSU1RDTE9TRXxQX0RPTEJSQUNFfHJmbGFncyk7CiAJICBlbHNlIGlmIChjaCA9PSAnWycpCQkvKiBdICovCiAJICAgIG5lc3RyZXQgPSBwYXJzZV9tYXRjaGVkX3BhaXIgKDAsICdbJywgJ10nLCAmbmVzdGxlbiwgcmZsYWdzKTsKIApAQCAtNTY2Myw2ICs1NzE1LDEzIEBACiAgIGNoYXIgKnJldCwgKm5lc3RyZXQsICp0dHJhbnMsICpoZXJlZGVsaW07CiAgIGludCByZXRpbmQsIHJldHNpemUsIHJmbGFncywgaGRsZW47CiAKKyAgLyogUG9zaXggaW50ZXJwIDIxNyBzYXlzIGFyaXRobWV0aWMgZXhwcmVzc2lvbnMgaGF2ZSBwcmVjZWRlbmNlLCBzbworICAgICBhc3N1bWUgJCgoIGludHJvZHVjZXMgYXJpdGhtZXRpYyBleHBhbnNpb24gYW5kIHBhcnNlIGFjY29yZGluZ2x5LiAqLworICBwZWVrYyA9IHNoZWxsX2dldGMgKDApOworICBzaGVsbF91bmdldGMgKHBlZWtjKTsKKyAgaWYgKHBlZWtjID09ICcoJykKKyAgICByZXR1cm4gKHBhcnNlX21hdGNoZWRfcGFpciAocWMsIG9wZW4sIGNsb3NlLCBsZW5wLCAwKSk7CisKIC8qaXRyYWNlKCJwYXJzZV9jb21zdWI6IHFjID0gYCVjJyBvcGVuID0gJWMgY2xvc2UgPSAlYyIsIHFjLCBvcGVuLCBjbG9zZSk7Ki8KICAgY291bnQgPSAxOwogICB0ZmxhZ3MgPSBMRVhfUkVTV0RPSzsKQEAgLTU2ODcsNyArNTc0Niw3IEBACiAgIHdoaWxlIChjb3VudCkKICAgICB7CiBjb21zdWJfcmVhZGNoYXI6Ci0gICAgICBjaCA9IHNoZWxsX2dldGMgKHFjICE9ICdcJycgJiYgKHRmbGFncyAmIExFWF9QQVNTTkVYVCkgPT0gMCk7CisgICAgICBjaCA9IHNoZWxsX2dldGMgKHFjICE9ICdcJycgJiYgKHRmbGFncyAmIChMRVhfSU5DT01NRU5UfExFWF9QQVNTTkVYVCkpID09IDApOwogCiAgICAgICBpZiAoY2ggPT0gRU9GKQogCXsKQEAgLTU4MTEsNyArNTg3MCw3IEBACiAJfQogCiAgICAgICAvKiBTa2lwIHdoaXRlc3BhY2UgKi8KLSAgICAgIGlmIE1CVEVTVChzaGVsbGJsYW5rIChjaCkgJiYgbGV4X3J3bGVuID09IDApCisgICAgICBpZiBNQlRFU1Qoc2hlbGxibGFuayAoY2gpICYmICh0ZmxhZ3MgJiBMRVhfSEVSRURFTElNKSA9PSAwICYmIGxleF9yd2xlbiA9PSAwKQogICAgICAgICB7CiAJICAvKiBBZGQgdGhpcyBjaGFyYWN0ZXIuICovCiAJICBSRVNJWkVfTUFMTE9DRURfQlVGRkVSIChyZXQsIHJldGluZCwgMSwgcmV0c2l6ZSwgNjQpOwpAQCAtNjA2Myw3ICs2MTIyLDcgQEAKIAkgIGlmIChjaCA9PSAnKCcpCQkvKiApICovCiAJICAgIG5lc3RyZXQgPSBwYXJzZV9jb21zdWIgKDAsICcoJywgJyknLCAmbmVzdGxlbiwgKHJmbGFnc3xQX0NPTU1BTkQpICYgflBfRFFVT1RFKTsKIAkgIGVsc2UgaWYgKGNoID09ICd7JykJCS8qIH0gKi8KLQkgICAgbmVzdHJldCA9IHBhcnNlX21hdGNoZWRfcGFpciAoMCwgJ3snLCAnfScsICZuZXN0bGVuLCBQX0ZJUlNUQ0xPU0V8cmZsYWdzKTsKKwkgICAgbmVzdHJldCA9IHBhcnNlX21hdGNoZWRfcGFpciAoMCwgJ3snLCAnfScsICZuZXN0bGVuLCBQX0ZJUlNUQ0xPU0V8UF9ET0xCUkFDRXxyZmxhZ3MpOwogCSAgZWxzZSBpZiAoY2ggPT0gJ1snKQkJLyogXSAqLwogCSAgICBuZXN0cmV0ID0gcGFyc2VfbWF0Y2hlZF9wYWlyICgwLCAnWycsICddJywgJm5lc3RsZW4sIHJmbGFncyk7CiAKQEAgLTYwODYsOCArNjE0NSw3IEBACiAgIHJldHVybiByZXQ7CiB9CiAKLS8qIFhYWCAtIHRoaXMgbmVlZHMgdG8gaGFuZGxlIGZ1bmN0aW9uYWxpdHkgbGlrZSBzdWJzdC5jOm5vX2xvbmdqbXBfb25fZmF0YWxfZXJyb3I7Ci0gICBtYXliZSBleHRyYWN0X2NvbW1hbmRfc3Vic3Qgc2hvdWxkIGhhbmRsZSBpdC4gKi8KKy8qIFJlY3Vyc2l2ZWx5IGNhbGwgdGhlIHBhcnNlciB0byBwYXJzZSBhICQoLi4uKSBjb21tYW5kIHN1YnN0aXR1dGlvbi4gKi8KIGNoYXIgKgogeHBhcnNlX2RvbHBhcmVuIChiYXNlLCBzdHJpbmcsIGluZHAsIGZsYWdzKQogICAgICBjaGFyICpiYXNlOwpAQCAtNjcxMSw3ICs2NzY5LDcgQEAKIAkJKChwZWVrX2NoYXIgPT0gJ3snIHx8IHBlZWtfY2hhciA9PSAnWycpICYmIGNoYXJhY3RlciA9PSAnJCcpKQkvKiApIF0gfSAqLwogCSAgICB7CiAJICAgICAgaWYgKHBlZWtfY2hhciA9PSAneycpCQkvKiB9ICovCi0JCXR0b2sgPSBwYXJzZV9tYXRjaGVkX3BhaXIgKGNkLCAneycsICd9JywgJnR0b2tsZW4sIFBfRklSU1RDTE9TRSk7CisJCXR0b2sgPSBwYXJzZV9tYXRjaGVkX3BhaXIgKGNkLCAneycsICd9JywgJnR0b2tsZW4sIFBfRklSU1RDTE9TRXxQX0RPTEJSQUNFKTsKIAkgICAgICBlbHNlIGlmIChwZWVrX2NoYXIgPT0gJygnKQkJLyogKSAqLwogCQl7CiAJCSAgLyogWFhYIC0gcHVzaCBhbmQgcG9wIHRoZSBgKCcgYXMgYSBkZWxpbWl0ZXIgZm9yIHVzZSBieQpAQCAtNzA0Niw2ICs3MTA0LDcgQEAKICAgICBjYXNlIFRIRU46CiAgICAgY2FzZSBUSU1FOgogICAgIGNhc2UgVElNRU9QVDoKKyAgICBjYXNlIFRJTUVJR046CiAgICAgY2FzZSBDT1BST0M6CiAgICAgY2FzZSBVTlRJTDoKICAgICBjYXNlIFdISUxFOgpAQCAtNzA1Niw2ICs3MTE1LDggQEAKICAgICAgIGlmIChsYXN0X3JlYWRfdG9rZW4gPT0gV09SRCAmJiB0b2tlbl9iZWZvcmVfdGhhdCA9PSBDT1BST0MpCiAJcmV0dXJuIDE7CiAjZW5kaWYKKyAgICAgIGlmIChsYXN0X3JlYWRfdG9rZW4gPT0gV09SRCAmJiB0b2tlbl9iZWZvcmVfdGhhdCA9PSBGVU5DVElPTikKKwlyZXR1cm4gMTsKICAgICAgIHJldHVybiAwOwogICAgIH0KIH0KQEAgLTcxMTYsMjAgKzcxNzcsMzUgQEAKIC8qIElmIHdlIGFyZSBub3Qgd2l0aGluIGEgZGVsaW1pdGVkIGV4cHJlc3Npb24sIHRyeSB0byBiZSBzbWFydAogICAgYWJvdXQgd2hpY2ggc2VwYXJhdG9ycyBjYW4gYmUgc2VtaS1jb2xvbnMgYW5kIHdoaWNoIG11c3QgYmUKICAgIG5ld2xpbmVzLiAgUmV0dXJucyB0aGUgc3RyaW5nIHRoYXQgc2hvdWxkIGJlIGFkZGVkIGludG8gdGhlCi0gICBoaXN0b3J5IGVudHJ5LiAqLworICAgaGlzdG9yeSBlbnRyeS4gIExJTkUgaXMgdGhlIGxpbmUgd2UncmUgYWJvdXQgdG8gYWRkOyBpdCBoZWxwcworICAgbWFrZSBzb21lIG1vcmUgaW50ZWxsaWdlbnQgZGVjaXNpb25zIGluIGNlcnRhaW4gY2FzZXMuICovCiBjaGFyICoKLWhpc3RvcnlfZGVsaW1pdGluZ19jaGFycyAoKQoraGlzdG9yeV9kZWxpbWl0aW5nX2NoYXJzIChsaW5lKQorICAgICBjb25zdCBjaGFyICpsaW5lOwogeworICBzdGF0aWMgaW50IGxhc3Rfd2FzX2hlcmVkb2MgPSAwOwkvKiB3YXMgdGhlIGxhc3QgZW50cnkgdGhlIHN0YXJ0IG9mIGEgaGVyZSBkb2N1bWVudD8gKi8KICAgcmVnaXN0ZXIgaW50IGk7CiAKKyAgaWYgKChwYXJzZXJfc3RhdGUgJiBQU1RfSEVSRURPQykgPT0gMCkKKyAgICBsYXN0X3dhc19oZXJlZG9jID0gMDsKKwogICBpZiAoZHN0YWNrLmRlbGltaXRlcl9kZXB0aCAhPSAwKQogICAgIHJldHVybiAoIlxuIik7CiAKICAgLyogV2UgbG9vayBmb3IgY3VycmVudF9jb21tYW5kX2xpbmVfY291bnQgPT0gMiBiZWNhdXNlIHdlIGFyZSBsb29raW5nIHRvCiAgICAgIGFkZCB0aGUgZmlyc3QgbGluZSBvZiB0aGUgYm9keSBvZiB0aGUgaGVyZSBkb2N1bWVudCAodGhlIHNlY29uZCBsaW5lCi0gICAgIG9mIHRoZSBjb21tYW5kKS4gKi8KKyAgICAgb2YgdGhlIGNvbW1hbmQpLiAgV2UgYWxzbyBrZWVwIExBU1RfV0FTX0hFUkVET0MgYXMgYSBwcml2YXRlIHNlbnRpbmVsCisgICAgIHZhcmlhYmxlIHRvIG5vdGUgd2hlbiB3ZSB0aGluayB3ZSBhZGRlZCB0aGUgZmlyc3QgbGluZSBvZiBhIGhlcmUgZG9jCisgICAgICh0aGUgb25lIHdpdGggYSAiPDwiIHNvbWV3aGVyZSBpbiBpdCkgKi8KICAgaWYgKHBhcnNlcl9zdGF0ZSAmIFBTVF9IRVJFRE9DKQotICAgIHJldHVybiAoY3VycmVudF9jb21tYW5kX2xpbmVfY291bnQgPT0gMiA/ICJcbiIgOiAiIik7CisgICAgeworICAgICAgaWYgKGxhc3Rfd2FzX2hlcmVkb2MpCisJeworCSAgbGFzdF93YXNfaGVyZWRvYyA9IDA7CisJICByZXR1cm4gIlxuIjsKKwl9CisgICAgICByZXR1cm4gKGN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50ID09IDIgPyAiXG4iIDogIiIpOworICAgIH0KIAogICAvKiBGaXJzdCwgaGFuZGxlIHNvbWUgc3BlY2lhbCBjYXNlcy4gKi8KICAgLyooKi8KQEAgLTcxNTIsNiArNzIyOCwxNSBAQAogICBlbHNlIGlmICh0b2tlbl9iZWZvcmVfdGhhdCA9PSBXT1JEICYmIHR3b190b2tlbnNfYWdvID09IEZVTkNUSU9OKQogICAgIHJldHVybiAiICI7CQkvKiBmdW5jdGlvbiBkZWYgdXNpbmcgYGZ1bmN0aW9uIG5hbWUnIHdpdGhvdXQgYCgpJyAqLwogCisgIC8qIElmIHdlJ3JlIG5vdCBpbiBhIGhlcmUgZG9jdW1lbnQsIGJ1dCB3ZSB0aGluayB3ZSdyZSBhYm91dCB0byBwYXJzZSBvbmUsCisgICAgIGFuZCB3ZSB3b3VsZCBvdGhlcndpc2UgcmV0dXJuIGEgYDsnLCByZXR1cm4gYSBuZXdsaW5lIHRvIGRlbGltaXQgdGhlCisgICAgIGxpbmUgd2l0aCB0aGUgaGVyZS1kb2MgZGVsaW1pdGVyICovCisgIGVsc2UgaWYgKChwYXJzZXJfc3RhdGUgJiBQU1RfSEVSRURPQykgPT0gMCAmJiBjdXJyZW50X2NvbW1hbmRfbGluZV9jb3VudCA+IDEgJiYgbGFzdF9yZWFkX3Rva2VuID09ICdcbicgJiYgc3Ryc3RyIChsaW5lLCAiPDwiKSkKKyAgICB7CisgICAgICBsYXN0X3dhc19oZXJlZG9jID0gMTsKKyAgICAgIHJldHVybiAiXG4iOworICAgIH0KKwogICBlbHNlIGlmICh0b2tlbl9iZWZvcmVfdGhhdCA9PSBXT1JEICYmIHR3b190b2tlbnNfYWdvID09IEZPUikKICAgICB7CiAgICAgICAvKiBUcmlja3kuICBgZm9yIGlcbmluIC4uLicgc2hvdWxkIG5vdCBoYXZlIGEgc2VtaWNvbG9uLCBidXQKQEAgLTc0ODEsNyArNzU2Niw3IEBACiAJCSAgICAgIHsKIAkJCXQgPSBzdHJyY2hyICh0X3N0cmluZywgJy8nKTsKIAkJCWlmICh0KQotCQkJICBtZW1tb3ZlICh0X3N0cmluZywgdCArIDEsIHN0cmxlbiAodCkpOworCQkJICBtZW1tb3ZlICh0X3N0cmluZywgdCArIDEsIHN0cmxlbiAodCkpOwkvKiBzdHJsZW4odCkgdG8gY29weSBOVUxMICovCiAJCSAgICAgIH0KIAkJICB9CiAjdW5kZWYgUk9PVF9QQVRICkBAIC03NzY4LDcgKzc4NTMsNyBAQAogcmVwb3J0X3N5bnRheF9lcnJvciAobWVzc2FnZSkKICAgICAgY2hhciAqbWVzc2FnZTsKIHsKLSAgY2hhciAqbXNnOworICBjaGFyICptc2csICpwOwogCiAgIGlmIChtZXNzYWdlKQogICAgIHsKQEAgLTc3ODQsNiArNzg2OSwxMiBAQAogICAgICBwYXJzZXIncyBjb21wbGFpbmluZyBhYm91dCBieSBsb29raW5nIGF0IGN1cnJlbnRfdG9rZW4uICovCiAgIGlmIChjdXJyZW50X3Rva2VuICE9IDAgJiYgRU9GX1JlYWNoZWQgPT0gMCAmJiAobXNnID0gZXJyb3JfdG9rZW5fZnJvbV90b2tlbiAoY3VycmVudF90b2tlbikpKQogICAgIHsKKyAgICAgIGlmIChhbnNpY19zaG91bGRxdW90ZSAobXNnKSkKKwl7CisJICBwID0gYW5zaWNfcXVvdGUgKG1zZywgMCwgTlVMTCk7CisJICBmcmVlIChtc2cpOworCSAgbXNnID0gcDsKKwl9CiAgICAgICBwYXJzZXJfZXJyb3IgKGxpbmVfbnVtYmVyLCBfKCJzeW50YXggZXJyb3IgbmVhciB1bmV4cGVjdGVkIHRva2VuIGAlcyciKSwgbXNnKTsKICAgICAgIGZyZWUgKG1zZyk7CiAKQEAgLTgwOTMsMTAgKzgxODQsNiBAQAogc2F2ZV9wYXJzZXJfc3RhdGUgKHBzKQogICAgICBzaF9wYXJzZXJfc3RhdGVfdCAqcHM7CiB7Ci0jaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKLSAgU0hFTExfVkFSICp2OwotI2VuZGlmCi0KICAgaWYgKHBzID09IDApCiAgICAgcHMgPSAoc2hfcGFyc2VyX3N0YXRlX3QgKil4bWFsbG9jIChzaXplb2YgKHNoX3BhcnNlcl9zdGF0ZV90KSk7CiAgIGlmIChwcyA9PSAwKQpAQCAtODEwOCw2ICs4MTk1LDggQEAKICAgcHMtPmlucHV0X2xpbmVfdGVybWluYXRvciA9IHNoZWxsX2lucHV0X2xpbmVfdGVybWluYXRvcjsKICAgcHMtPmVvZl9lbmNvdW50ZXJlZCA9IGVvZl9lbmNvdW50ZXJlZDsKIAorICBwcy0+cHJvbXB0X3N0cmluZ19wb2ludGVyID0gcHJvbXB0X3N0cmluZ19wb2ludGVyOworCiAgIHBzLT5jdXJyZW50X2NvbW1hbmRfbGluZV9jb3VudCA9IGN1cnJlbnRfY29tbWFuZF9saW5lX2NvdW50OwogCiAjaWYgZGVmaW5lZCAoSElTVE9SWSkKQEAgLTgxMTksMTEgKzgyMDgsNyBAQAogCiAgIHBzLT5sYXN0X2NvbW1hbmRfZXhpdF92YWx1ZSA9IGxhc3RfY29tbWFuZF9leGl0X3ZhbHVlOwogI2lmIGRlZmluZWQgKEFSUkFZX1ZBUlMpCi0gIHYgPSBmaW5kX3ZhcmlhYmxlICgiUElQRVNUQVRVUyIpOwotICBpZiAodiAmJiBhcnJheV9wICh2KSAmJiBhcnJheV9jZWxsICh2KSkKLSAgICBwcy0+cGlwZXN0YXR1cyA9IGFycmF5X2NvcHkgKGFycmF5X2NlbGwgKHYpKTsKLSAgZWxzZQotICAgIHBzLT5waXBlc3RhdHVzID0gKEFSUkFZICopTlVMTDsKKyAgcHMtPnBpcGVzdGF0dXMgPSBzYXZlX3BpcGVzdGF0dXNfYXJyYXkgKCk7CiAjZW5kaWYKICAgICAKICAgcHMtPmxhc3Rfc2hlbGxfYnVpbHRpbiA9IGxhc3Rfc2hlbGxfYnVpbHRpbjsKQEAgLTgxMzksMTAgKzgyMjQsNiBAQAogcmVzdG9yZV9wYXJzZXJfc3RhdGUgKHBzKQogICAgICBzaF9wYXJzZXJfc3RhdGVfdCAqcHM7CiB7Ci0jaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKLSAgU0hFTExfVkFSICp2OwotI2VuZGlmCi0KICAgaWYgKHBzID09IDApCiAgICAgcmV0dXJuOwogCkBAIC04MTU2LDYgKzgyMzcsOCBAQAogICBzaGVsbF9pbnB1dF9saW5lX3Rlcm1pbmF0b3IgPSBwcy0+aW5wdXRfbGluZV90ZXJtaW5hdG9yOwogICBlb2ZfZW5jb3VudGVyZWQgPSBwcy0+ZW9mX2VuY291bnRlcmVkOwogCisgIHByb21wdF9zdHJpbmdfcG9pbnRlciA9IHBzLT5wcm9tcHRfc3RyaW5nX3BvaW50ZXI7CisKICAgY3VycmVudF9jb21tYW5kX2xpbmVfY291bnQgPSBwcy0+Y3VycmVudF9jb21tYW5kX2xpbmVfY291bnQ7CiAKICNpZiBkZWZpbmVkIChISVNUT1JZKQpAQCAtODE2NywxMiArODI1MCw3IEBACiAKICAgbGFzdF9jb21tYW5kX2V4aXRfdmFsdWUgPSBwcy0+bGFzdF9jb21tYW5kX2V4aXRfdmFsdWU7CiAjaWYgZGVmaW5lZCAoQVJSQVlfVkFSUykKLSAgdiA9IGZpbmRfdmFyaWFibGUgKCJQSVBFU1RBVFVTIik7Ci0gIGlmICh2ICYmIGFycmF5X3AgKHYpICYmIGFycmF5X2NlbGwgKHYpKQotICAgIHsKLSAgICAgIGFycmF5X2Rpc3Bvc2UgKGFycmF5X2NlbGwgKHYpKTsKLSAgICAgIHZhcl9zZXRhcnJheSAodiwgcHMtPnBpcGVzdGF0dXMpOwotICAgIH0KKyAgcmVzdG9yZV9waXBlc3RhdHVzX2FycmF5IChwcy0+cGlwZXN0YXR1cyk7CiAjZW5kaWYKIAogICBsYXN0X3NoZWxsX2J1aWx0aW4gPSBwcy0+bGFzdF9zaGVsbF9idWlsdGluOwpAQCAtODI0MywzICs4MzIxLDQgQEAKICAgICB9CiB9CiAjZW5kaWYgLyogSEFORExFX01VTFRJQllURSAqLworCmRpZmYgLS1naXQgYS95LnRhYi5oIGIveS50YWIuaAppbmRleCAxM2U4NTUwLi4wZGUzODUzIDEwMDY0NAotLS0gYS95LnRhYi5oCisrKyBiL3kudGFiLmgKQEAgLTYxLDMwICs2MSwzMSBAQAogICAgICBCQU5HID0gMjc3LAogICAgICBUSU1FID0gMjc4LAogICAgICBUSU1FT1BUID0gMjc5LAotICAgICBXT1JEID0gMjgwLAotICAgICBBU1NJR05NRU5UX1dPUkQgPSAyODEsCi0gICAgIFJFRElSX1dPUkQgPSAyODIsCi0gICAgIE5VTUJFUiA9IDI4MywKLSAgICAgQVJJVEhfQ01EID0gMjg0LAotICAgICBBUklUSF9GT1JfRVhQUlMgPSAyODUsCi0gICAgIENPTkRfQ01EID0gMjg2LAotICAgICBBTkRfQU5EID0gMjg3LAotICAgICBPUl9PUiA9IDI4OCwKLSAgICAgR1JFQVRFUl9HUkVBVEVSID0gMjg5LAotICAgICBMRVNTX0xFU1MgPSAyOTAsCi0gICAgIExFU1NfQU5EID0gMjkxLAotICAgICBMRVNTX0xFU1NfTEVTUyA9IDI5MiwKLSAgICAgR1JFQVRFUl9BTkQgPSAyOTMsCi0gICAgIFNFTUlfU0VNSSA9IDI5NCwKLSAgICAgU0VNSV9BTkQgPSAyOTUsCi0gICAgIFNFTUlfU0VNSV9BTkQgPSAyOTYsCi0gICAgIExFU1NfTEVTU19NSU5VUyA9IDI5NywKLSAgICAgQU5EX0dSRUFURVIgPSAyOTgsCi0gICAgIEFORF9HUkVBVEVSX0dSRUFURVIgPSAyOTksCi0gICAgIExFU1NfR1JFQVRFUiA9IDMwMCwKLSAgICAgR1JFQVRFUl9CQVIgPSAzMDEsCi0gICAgIEJBUl9BTkQgPSAzMDIsCi0gICAgIHlhY2NfRU9GID0gMzAzCisgICAgIFRJTUVJR04gPSAyODAsCisgICAgIFdPUkQgPSAyODEsCisgICAgIEFTU0lHTk1FTlRfV09SRCA9IDI4MiwKKyAgICAgUkVESVJfV09SRCA9IDI4MywKKyAgICAgTlVNQkVSID0gMjg0LAorICAgICBBUklUSF9DTUQgPSAyODUsCisgICAgIEFSSVRIX0ZPUl9FWFBSUyA9IDI4NiwKKyAgICAgQ09ORF9DTUQgPSAyODcsCisgICAgIEFORF9BTkQgPSAyODgsCisgICAgIE9SX09SID0gMjg5LAorICAgICBHUkVBVEVSX0dSRUFURVIgPSAyOTAsCisgICAgIExFU1NfTEVTUyA9IDI5MSwKKyAgICAgTEVTU19BTkQgPSAyOTIsCisgICAgIExFU1NfTEVTU19MRVNTID0gMjkzLAorICAgICBHUkVBVEVSX0FORCA9IDI5NCwKKyAgICAgU0VNSV9TRU1JID0gMjk1LAorICAgICBTRU1JX0FORCA9IDI5NiwKKyAgICAgU0VNSV9TRU1JX0FORCA9IDI5NywKKyAgICAgTEVTU19MRVNTX01JTlVTID0gMjk4LAorICAgICBBTkRfR1JFQVRFUiA9IDI5OSwKKyAgICAgQU5EX0dSRUFURVJfR1JFQVRFUiA9IDMwMCwKKyAgICAgTEVTU19HUkVBVEVSID0gMzAxLAorICAgICBHUkVBVEVSX0JBUiA9IDMwMiwKKyAgICAgQkFSX0FORCA9IDMwMywKKyAgICAgeWFjY19FT0YgPSAzMDQKICAgIH07CiAjZW5kaWYKIC8qIFRva2Vucy4gICovCkBAIC0xMTAsMzcgKzExMSwzOCBAQAogI2RlZmluZSBCQU5HIDI3NwogI2RlZmluZSBUSU1FIDI3OAogI2RlZmluZSBUSU1FT1BUIDI3OQotI2RlZmluZSBXT1JEIDI4MAotI2RlZmluZSBBU1NJR05NRU5UX1dPUkQgMjgxCi0jZGVmaW5lIFJFRElSX1dPUkQgMjgyCi0jZGVmaW5lIE5VTUJFUiAyODMKLSNkZWZpbmUgQVJJVEhfQ01EIDI4NAotI2RlZmluZSBBUklUSF9GT1JfRVhQUlMgMjg1Ci0jZGVmaW5lIENPTkRfQ01EIDI4NgotI2RlZmluZSBBTkRfQU5EIDI4NwotI2RlZmluZSBPUl9PUiAyODgKLSNkZWZpbmUgR1JFQVRFUl9HUkVBVEVSIDI4OQotI2RlZmluZSBMRVNTX0xFU1MgMjkwCi0jZGVmaW5lIExFU1NfQU5EIDI5MQotI2RlZmluZSBMRVNTX0xFU1NfTEVTUyAyOTIKLSNkZWZpbmUgR1JFQVRFUl9BTkQgMjkzCi0jZGVmaW5lIFNFTUlfU0VNSSAyOTQKLSNkZWZpbmUgU0VNSV9BTkQgMjk1Ci0jZGVmaW5lIFNFTUlfU0VNSV9BTkQgMjk2Ci0jZGVmaW5lIExFU1NfTEVTU19NSU5VUyAyOTcKLSNkZWZpbmUgQU5EX0dSRUFURVIgMjk4Ci0jZGVmaW5lIEFORF9HUkVBVEVSX0dSRUFURVIgMjk5Ci0jZGVmaW5lIExFU1NfR1JFQVRFUiAzMDAKLSNkZWZpbmUgR1JFQVRFUl9CQVIgMzAxCi0jZGVmaW5lIEJBUl9BTkQgMzAyCi0jZGVmaW5lIHlhY2NfRU9GIDMwMworI2RlZmluZSBUSU1FSUdOIDI4MAorI2RlZmluZSBXT1JEIDI4MQorI2RlZmluZSBBU1NJR05NRU5UX1dPUkQgMjgyCisjZGVmaW5lIFJFRElSX1dPUkQgMjgzCisjZGVmaW5lIE5VTUJFUiAyODQKKyNkZWZpbmUgQVJJVEhfQ01EIDI4NQorI2RlZmluZSBBUklUSF9GT1JfRVhQUlMgMjg2CisjZGVmaW5lIENPTkRfQ01EIDI4NworI2RlZmluZSBBTkRfQU5EIDI4OAorI2RlZmluZSBPUl9PUiAyODkKKyNkZWZpbmUgR1JFQVRFUl9HUkVBVEVSIDI5MAorI2RlZmluZSBMRVNTX0xFU1MgMjkxCisjZGVmaW5lIExFU1NfQU5EIDI5MgorI2RlZmluZSBMRVNTX0xFU1NfTEVTUyAyOTMKKyNkZWZpbmUgR1JFQVRFUl9BTkQgMjk0CisjZGVmaW5lIFNFTUlfU0VNSSAyOTUKKyNkZWZpbmUgU0VNSV9BTkQgMjk2CisjZGVmaW5lIFNFTUlfU0VNSV9BTkQgMjk3CisjZGVmaW5lIExFU1NfTEVTU19NSU5VUyAyOTgKKyNkZWZpbmUgQU5EX0dSRUFURVIgMjk5CisjZGVmaW5lIEFORF9HUkVBVEVSX0dSRUFURVIgMzAwCisjZGVmaW5lIExFU1NfR1JFQVRFUiAzMDEKKyNkZWZpbmUgR1JFQVRFUl9CQVIgMzAyCisjZGVmaW5lIEJBUl9BTkQgMzAzCisjZGVmaW5lIHlhY2NfRU9GIDMwNAogCiAKIAogCiAjaWYgISBkZWZpbmVkIFlZU1RZUEUgJiYgISBkZWZpbmVkIFlZU1RZUEVfSVNfREVDTEFSRUQKIHR5cGVkZWYgdW5pb24gWVlTVFlQRQotI2xpbmUgMzIwICIvVXNlcnMvY2hldC9zcmMvYmFzaC9zcmMvcGFyc2UueSIKKyNsaW5lIDMyMyAiL1VzZXJzL2NoZXQvc3JjL2Jhc2gvc3JjL3BhcnNlLnkiCiB7CiAgIFdPUkRfREVTQyAqd29yZDsJCS8qIHRoZSB3b3JkIHRoYXQgd2UgcmVhZC4gKi8KICAgaW50IG51bWJlcjsJCQkvKiB0aGUgbnVtYmVyIHRoYXQgd2UgcmVhZC4gKi8KQEAgLTE1MSw3ICsxNTMsNyBAQAogICBQQVRURVJOX0xJU1QgKnBhdHRlcm47CiB9CiAvKiBMaW5lIDE0ODkgb2YgeWFjYy5jLiAgKi8KLSNsaW5lIDE1NSAieS50YWIuaCIKKyNsaW5lIDE1NyAieS50YWIuaCIKIAlZWVNUWVBFOwogIyBkZWZpbmUgeXlzdHlwZSBZWVNUWVBFIC8qIG9ic29sZXNjZW50OyB3aWxsIGJlIHdpdGhkcmF3biAqLwogIyBkZWZpbmUgWVlTVFlQRV9JU19ERUNMQVJFRCAxCg==